diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aclocal.m4 ./bfd/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aclocal.m4	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/aclocal.m4	2018-07-10 02:06:11.000000000 +0000
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -12,33 +11,31 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
-[m4_warning([this file was generated for autoconf 2.64.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.15'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.6], [],
+m4_if([$1], [1.15.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -54,24 +51,22 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.6])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -90,7 +85,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCON
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -108,30 +103,26 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCON
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -150,16 +141,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 12
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -169,7 +158,7 @@ fi])])
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -182,12 +171,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMAND
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -195,8 +185,8 @@ AC_CACHE_CHECK([dependency style of $dep
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -236,16 +226,16 @@ AC_CACHE_CHECK([dependency style of $dep
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -254,8 +244,8 @@ AC_CACHE_CHECK([dependency style of $dep
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -263,7 +253,7 @@ AC_CACHE_CHECK([dependency style of $dep
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -311,7 +301,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -321,9 +311,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}d
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
@@ -338,20 +332,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 5
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 [{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -364,7 +356,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -376,21 +368,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
+    test -z "$am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`AS_DIRNAME(["$file"])`
@@ -408,7 +398,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
+# is enabled.  FIXME.  This creates each '.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -418,18 +408,21 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS]
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 16
-
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
 # -----------------------------------------------
@@ -442,7 +435,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS]
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -471,33 +464,42 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -506,34 +508,82 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR
 			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES(CC)],
-		  [define([AC_PROG_CC],
-			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES([CC])],
+		  [m4_define([AC_PROG_CC],
+			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES(CXX)],
-		  [define([AC_PROG_CXX],
-			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES([CXX])],
+		  [m4_define([AC_PROG_CXX],
+			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES(OBJC)],
-		  [define([AC_PROG_OBJC],
-			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+		  [_AM_DEPENDENCIES([OBJC])],
+		  [m4_define([AC_PROG_OBJC],
+			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+		  [_AM_DEPENDENCIES([OBJCXX])],
+		  [m4_define([AC_PROG_OBJCXX],
+			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
 ])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
-
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
@@ -555,21 +605,18 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -577,25 +624,22 @@ if test x"${install_sh}" != xset; then
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
 
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -606,10 +650,11 @@ AC_DEFUN([AM_MAINTAINER_MODE],
 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -617,18 +662,14 @@ AC_MSG_CHECKING([whether to enable maint
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
-
 # AM_MAKE_INCLUDE()
 # -----------------
 # Check to see how make treats includes.
@@ -646,7 +687,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -673,15 +714,12 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
 AC_DEFUN([AM_MISSING_PROG],
@@ -689,11 +727,10 @@ AC_DEFUN([AM_MISSING_PROG],
 $1=${$1-"${am_missing_run}$2"}
 AC_SUBST($1)])
 
-
 # AM_MISSING_HAS_RUN
 # ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
@@ -706,54 +743,22 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
 AC_DEFUN([_AM_MANGLE_OPTION],
@@ -763,7 +768,7 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 # --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
 
 # _AM_SET_OPTIONS(OPTIONS)
 # ------------------------
@@ -777,24 +782,82 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -805,32 +868,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$[2]" = conftest.file
    )
 then
@@ -840,46 +911,118 @@ else
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+  [--enable-silent-rules],
+  [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+  [--disable-silent-rules],
+  [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using '$V' instead of '$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -893,18 +1036,16 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -914,76 +1055,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
 # Substitute a variable $(am__untar) that extract such
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
+#
 AC_DEFUN([_AM_PROG_TAR],
 [# Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
-     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+
+# We'll loop over all known methods to create a tar archive until one works.
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
 
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
 
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  [m4_case([$1],
+    [ustar],
+     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+      if test $am_uid -le $am_max_uid; then
+         AC_MSG_RESULT([yes])
+      else
+         AC_MSG_RESULT([no])
+         _am_tools=none
+      fi
+      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+      if test $am_gid -le $am_max_gid; then
+         AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no])
+        _am_tools=none
+      fi],
+
+  [pax],
+    [],
+
+  [m4_fatal([Unknown tar format])])
+
+  AC_MSG_CHECKING([how to create a $1 tar archive])
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        AM_RUN_LOG([$_am_tar --version]) && break
+      done
+      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x $1 -w "$$tardir"'
+      am__tar_='pax -L -x $1 -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+      am__untar='cpio -i -H $1 -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
+
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_$1}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      AM_RUN_LOG([$am__untar <conftest.tar])
+      AM_RUN_LOG([cat conftest.dir/file])
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
   rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
 
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
 AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aix386-core.c ./bfd/aix386-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aix386-core.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/aix386-core.c	2018-07-10 02:06:11.000000000 +0000
@@ -246,12 +246,24 @@ const bfd_target core_aix386_vec =
   NO_GET, NO_GETS, NO_PUT,
   NO_GET, NO_GETS, NO_PUT,	/* hdrs */
 
-  {_bfd_dummy_target, _bfd_dummy_target,
-   _bfd_dummy_target, aix386_core_file_p},
-  {bfd_false, bfd_false,	/* bfd_create_object */
-   bfd_false, bfd_false},
-  {bfd_false, bfd_false,	/* bfd_write_contents */
-   bfd_false, bfd_false},
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+    aix386_core_file_p
+  },
+  {				/* bfd_create_object */
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error
+  },
 
   BFD_JUMP_TABLE_GENERIC (_bfd_generic),
   BFD_JUMP_TABLE_COPY (_bfd_generic),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout0.c ./bfd/aout0.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout0.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/aout0.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,38 +0,0 @@
-/* BFD backend for SunOS style a.out with flags set to 0
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGETNAME "a.out-zero-big"
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (aout0_be_,OP)
-
-#include "sysdep.h"
-#include "bfd.h"
-
-#define MY_exec_hdr_flags 0
-
-#define MACHTYPE_OK(mtype) \
-  ((mtype) == M_UNKNOWN || (mtype) == M_68010 || (mtype) == M_68020)
-
-/* Include the usual a.out support.  */
-#include "aoutf1.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout-adobe.c ./bfd/aout-adobe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout-adobe.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/aout-adobe.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,523 +0,0 @@
-/* BFD back-end for a.out.adobe binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.  Based on bout.c.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "aout/adobe.h"
-#include "aout/stab_gnu.h"
-#include "libaout.h"		/* BFD a.out internal data structures.  */
-
-/* Forward decl.  */
-extern const bfd_target aout_adobe_vec;
-
-/* Swaps the information in an executable header taken from a raw byte
-   stream memory image, into the internal exec_header structure.  */
-
-static void
-aout_adobe_swap_exec_header_in (bfd *abfd,
-				struct external_exec *bytes,
-				struct internal_exec *execp)
-{
-  /* Now fill in fields in the execp, from the bytes in the raw data.  */
-  execp->a_info   = H_GET_32 (abfd, bytes->e_info);
-  execp->a_text   = GET_WORD (abfd, bytes->e_text);
-  execp->a_data   = GET_WORD (abfd, bytes->e_data);
-  execp->a_bss    = GET_WORD (abfd, bytes->e_bss);
-  execp->a_syms   = GET_WORD (abfd, bytes->e_syms);
-  execp->a_entry  = GET_WORD (abfd, bytes->e_entry);
-  execp->a_trsize = GET_WORD (abfd, bytes->e_trsize);
-  execp->a_drsize = GET_WORD (abfd, bytes->e_drsize);
-}
-
-/* Swaps the information in an internal exec header structure into the
-   supplied buffer ready for writing to disk.  */
-
-static void
-aout_adobe_swap_exec_header_out (bfd *abfd,
-				 struct internal_exec *execp,
-				 struct external_exec *bytes)
-{
-  /* Now fill in fields in the raw data, from the fields in the exec
-     struct.  */
-  H_PUT_32 (abfd, execp->a_info  , bytes->e_info);
-  PUT_WORD (abfd, execp->a_text  , bytes->e_text);
-  PUT_WORD (abfd, execp->a_data  , bytes->e_data);
-  PUT_WORD (abfd, execp->a_bss   , bytes->e_bss);
-  PUT_WORD (abfd, execp->a_syms  , bytes->e_syms);
-  PUT_WORD (abfd, execp->a_entry , bytes->e_entry);
-  PUT_WORD (abfd, execp->a_trsize, bytes->e_trsize);
-  PUT_WORD (abfd, execp->a_drsize, bytes->e_drsize);
-}
-
-/* Finish up the opening of a b.out file for reading.  Fill in all the
-   fields that are not handled by common code.  */
-
-static const bfd_target *
-aout_adobe_callback (bfd *abfd)
-{
-  struct internal_exec *execp = exec_hdr (abfd);
-  asection *sect;
-  struct external_segdesc ext[1];
-  char *section_name;
-  char try_again[30];	/* Name and number.  */
-  char *newname;
-  int trynum;
-  flagword flags;
-
-  /* Architecture and machine type -- unknown in this format.  */
-  bfd_set_arch_mach (abfd, bfd_arch_unknown, 0L);
-
-  /* The positions of the string table and symbol table.  */
-  obj_str_filepos (abfd) = N_STROFF (execp);
-  obj_sym_filepos (abfd) = N_SYMOFF (execp);
-
-  /* Suck up the section information from the file, one section at a time.  */
-  for (;;)
-    {
-      bfd_size_type amt = sizeof (*ext);
-      if (bfd_bread ( ext, amt, abfd) != amt)
-	{
-	  if (bfd_get_error () != bfd_error_system_call)
-	    bfd_set_error (bfd_error_wrong_format);
-
-	  return NULL;
-	}
-      switch (ext->e_type[0])
-	{
-	case N_TEXT:
-	  section_name = ".text";
-	  flags = SEC_CODE | SEC_LOAD | SEC_ALLOC | SEC_HAS_CONTENTS;
-	  break;
-
-	case N_DATA:
-	  section_name = ".data";
-	  flags = SEC_DATA | SEC_LOAD | SEC_ALLOC | SEC_HAS_CONTENTS;
-	  break;
-
-	case N_BSS:
-	  section_name = ".bss";
-	  flags = SEC_DATA | SEC_HAS_CONTENTS;
-	  break;
-
-	case 0:
-	  goto no_more_sections;
-
-	default:
-	  _bfd_error_handler
-	    /* xgettext:c-format */
-	    (_("%B: Unknown section type in a.out.adobe file: %x\n"),
-	     abfd, ext->e_type[0]);
-	  goto no_more_sections;
-	}
-
-      /* First one is called ".text" or whatever; subsequent ones are
-	 ".text1", ".text2", ...  */
-      bfd_set_error (bfd_error_no_error);
-      sect = bfd_make_section_with_flags (abfd, section_name, flags);
-      trynum = 0;
-
-      while (!sect)
-	{
-	  if (bfd_get_error () != bfd_error_no_error)
-	    /* Some other error -- slide into the sunset.  */
-	    return NULL;
-	  sprintf (try_again, "%s%d", section_name, ++trynum);
-	  sect = bfd_make_section_with_flags (abfd, try_again, flags);
-	}
-
-      /* Fix the name, if it is a sprintf'd name.  */
-      if (sect->name == try_again)
-	{
-	  amt = strlen (sect->name);
-	  newname = bfd_zalloc (abfd, amt);
-	  if (newname == NULL)
-	    return NULL;
-	  strcpy (newname, sect->name);
-	  sect->name = newname;
-	}
-
-      /* Assumed big-endian.  */
-      sect->size = ((ext->e_size[0] << 8)
-		    | ext->e_size[1] << 8
-		    | ext->e_size[2]);
-      sect->vma = H_GET_32 (abfd, ext->e_virtbase);
-      sect->filepos = H_GET_32 (abfd, ext->e_filebase);
-      /* FIXME XXX alignment?  */
-
-      /* Set relocation information for first section of each type.  */
-      if (trynum == 0)
-	switch (ext->e_type[0])
-	  {
-	  case N_TEXT:
-	    sect->rel_filepos = N_TRELOFF (execp);
-	    sect->reloc_count = execp->a_trsize;
-	    break;
-
-	  case N_DATA:
-	    sect->rel_filepos = N_DRELOFF (execp);
-	    sect->reloc_count = execp->a_drsize;
-	    break;
-
-	  default:
-	    break;
-	  }
-    }
- no_more_sections:
-
-  adata (abfd).reloc_entry_size = sizeof (struct reloc_std_external);
-  adata (abfd).symbol_entry_size = sizeof (struct external_nlist);
-  adata (abfd).page_size = 1; /* Not applicable.  */
-  adata (abfd).segment_size = 1; /* Not applicable.  */
-  adata (abfd).exec_bytes_size = EXEC_BYTES_SIZE;
-
-  return abfd->xvec;
-}
-
-static const bfd_target *
-aout_adobe_object_p (bfd *abfd)
-{
-  struct internal_exec anexec;
-  struct external_exec exec_bytes;
-  char *targ;
-  bfd_size_type amt = EXEC_BYTES_SIZE;
-
-  if (bfd_bread (& exec_bytes, amt, abfd) != amt)
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-	bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  anexec.a_info = H_GET_32 (abfd, exec_bytes.e_info);
-
-  /* Normally we just compare for the magic number.
-     However, a bunch of Adobe tools aren't fixed up yet; they generate
-     files using ZMAGIC(!).
-     If the environment variable GNUTARGET is set to "a.out.adobe", we will
-     take just about any a.out file as an Adobe a.out file.  FIXME!  */
-
-  if (N_BADMAG (&anexec))
-    {
-      targ = getenv ("GNUTARGET");
-      if (targ && !strcmp (targ, aout_adobe_vec.name))
-	/* Just continue anyway, if specifically set to this format.  */
-	;
-      else
-	{
-	  bfd_set_error (bfd_error_wrong_format);
-	  return NULL;
-	}
-    }
-
-  aout_adobe_swap_exec_header_in (abfd, &exec_bytes, &anexec);
-  return aout_32_some_aout_object_p (abfd, &anexec, aout_adobe_callback);
-}
-
-struct bout_data_struct
-{
-  struct aoutdata a;
-  struct internal_exec e;
-};
-
-static bfd_boolean
-aout_adobe_mkobject (bfd *abfd)
-{
-  struct bout_data_struct *rawptr;
-  bfd_size_type amt = sizeof (struct bout_data_struct);
-
-  rawptr = bfd_zalloc (abfd, amt);
-  if (rawptr == NULL)
-    return FALSE;
-
-  abfd->tdata.bout_data = rawptr;
-  exec_hdr (abfd) = &rawptr->e;
-
-  adata (abfd).reloc_entry_size = sizeof (struct reloc_std_external);
-  adata (abfd).symbol_entry_size = sizeof (struct external_nlist);
-  adata (abfd).page_size = 1; /* Not applicable.  */
-  adata (abfd).segment_size = 1; /* Not applicable.  */
-  adata (abfd).exec_bytes_size = EXEC_BYTES_SIZE;
-
-  return TRUE;
-}
-
-static void
-aout_adobe_write_section (bfd *abfd ATTRIBUTE_UNUSED,
-			  sec_ptr sect ATTRIBUTE_UNUSED)
-{
-  /* FIXME XXX.  */
-}
-
-static bfd_boolean
-aout_adobe_write_object_contents (bfd *abfd)
-{
-  struct external_exec swapped_hdr;
-  static struct external_segdesc sentinel[1];	/* Initialized to zero.  */
-  asection *sect;
-  bfd_size_type amt;
-
-  exec_hdr (abfd)->a_info = ZMAGIC;
-
-  /* Calculate text size as total of text sections, etc.  */
-  exec_hdr (abfd)->a_text = 0;
-  exec_hdr (abfd)->a_data = 0;
-  exec_hdr (abfd)->a_bss  = 0;
-  exec_hdr (abfd)->a_trsize = 0;
-  exec_hdr (abfd)->a_drsize = 0;
-
-  for (sect = abfd->sections; sect; sect = sect->next)
-    {
-      if (sect->flags & SEC_CODE)
-	{
-	  exec_hdr (abfd)->a_text += sect->size;
-	  exec_hdr (abfd)->a_trsize += sect->reloc_count *
-	    sizeof (struct reloc_std_external);
-	}
-      else if (sect->flags & SEC_DATA)
-	{
-	  exec_hdr (abfd)->a_data += sect->size;
-	  exec_hdr (abfd)->a_drsize += sect->reloc_count *
-	    sizeof (struct reloc_std_external);
-	}
-      else if (sect->flags & SEC_ALLOC && !(sect->flags & SEC_LOAD))
-	exec_hdr (abfd)->a_bss += sect->size;
-    }
-
-  exec_hdr (abfd)->a_syms = bfd_get_symcount (abfd)
-    * sizeof (struct external_nlist);
-  exec_hdr (abfd)->a_entry = bfd_get_start_address (abfd);
-
-  aout_adobe_swap_exec_header_out (abfd, exec_hdr (abfd), &swapped_hdr);
-
-  amt = EXEC_BYTES_SIZE;
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0
-      || bfd_bwrite (& swapped_hdr, amt, abfd) != amt)
-    return FALSE;
-
-  /* Now write out the section information.  Text first, data next, rest
-     afterward.  */
-  for (sect = abfd->sections; sect; sect = sect->next)
-    if (sect->flags & SEC_CODE)
-      aout_adobe_write_section (abfd, sect);
-
-  for (sect = abfd->sections; sect; sect = sect->next)
-    if (sect->flags & SEC_DATA)
-      aout_adobe_write_section (abfd, sect);
-
-  for (sect = abfd->sections; sect; sect = sect->next)
-    if (!(sect->flags & (SEC_CODE | SEC_DATA)))
-      aout_adobe_write_section (abfd, sect);
-
-  /* Write final `sentinel` section header (with type of 0).  */
-  amt = sizeof (*sentinel);
-  if (bfd_bwrite (sentinel, amt, abfd) != amt)
-    return FALSE;
-
-  /* Now write out reloc info, followed by syms and strings.  */
-  if (bfd_get_symcount (abfd) != 0)
-    {
-      if (bfd_seek (abfd, (file_ptr) (N_SYMOFF (exec_hdr (abfd))), SEEK_SET)
-	  != 0)
-	return FALSE;
-
-      if (! aout_32_write_syms (abfd))
-	return FALSE;
-
-      if (bfd_seek (abfd, (file_ptr) (N_TRELOFF (exec_hdr (abfd))), SEEK_SET)
-	  != 0)
-	return FALSE;
-
-      for (sect = abfd->sections; sect; sect = sect->next)
-	if (sect->flags & SEC_CODE)
-	  if (!aout_32_squirt_out_relocs (abfd, sect))
-	    return FALSE;
-
-      if (bfd_seek (abfd, (file_ptr) (N_DRELOFF (exec_hdr (abfd))), SEEK_SET)
-	  != 0)
-	return FALSE;
-
-      for (sect = abfd->sections; sect; sect = sect->next)
-	if (sect->flags & SEC_DATA)
-	  if (!aout_32_squirt_out_relocs (abfd, sect))
-	    return FALSE;
-    }
-
-  return TRUE;
-}
-
-static bfd_boolean
-aout_adobe_set_section_contents (bfd *abfd,
-				 asection *section,
-				 const void * location,
-				 file_ptr offset,
-				 bfd_size_type count)
-{
-  file_ptr section_start;
-  sec_ptr sect;
-
-  /* Set by bfd.c handler.  */
-  if (! abfd->output_has_begun)
-    {
-      /* Assign file offsets to sections.  Text sections are first, and
-	 are contiguous.  Then data sections.  Everything else at the end.  */
-      section_start = N_TXTOFF (0);
-
-      for (sect = abfd->sections; sect; sect = sect->next)
-	{
-	  if (sect->flags & SEC_CODE)
-	    {
-	      sect->filepos = section_start;
-	      /* FIXME:  Round to alignment.  */
-	      section_start += sect->size;
-	    }
-	}
-
-      for (sect = abfd->sections; sect; sect = sect->next)
-	{
-	  if (sect->flags & SEC_DATA)
-	    {
-	      sect->filepos = section_start;
-	      /* FIXME:  Round to alignment.  */
-	      section_start += sect->size;
-	    }
-	}
-
-      for (sect = abfd->sections; sect; sect = sect->next)
-	{
-	  if (sect->flags & SEC_HAS_CONTENTS &&
-	      !(sect->flags & (SEC_CODE | SEC_DATA)))
-	    {
-	      sect->filepos = section_start;
-	      /* FIXME:  Round to alignment.  */
-	      section_start += sect->size;
-	    }
-	}
-    }
-
-  /* Regardless, once we know what we're doing, we might as well get
-     going.  */
-  if (bfd_seek (abfd, section->filepos + offset, SEEK_SET) != 0)
-    return FALSE;
-
-  if (count == 0)
-    return TRUE;
-
-  return bfd_bwrite (location, count, abfd) == count;
-}
-
-static bfd_boolean
-aout_adobe_set_arch_mach (bfd *abfd,
-			  enum bfd_architecture arch,
-			  unsigned long machine)
-{
-  if (! bfd_default_set_arch_mach (abfd, arch, machine))
-    return FALSE;
-
-  if (arch == bfd_arch_unknown
-      || arch == bfd_arch_m68k)
-    return TRUE;
-
-  return FALSE;
-}
-
-static int
-aout_adobe_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
-			   struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  return sizeof (struct internal_exec);
-}
-
-/* Build the transfer vector for Adobe A.Out files.  */
-
-#define aout_32_find_line			    _bfd_nosymbols_find_line
-#define aout_32_get_symbol_version_string	    _bfd_nosymbols_get_symbol_version_string
-#define aout_32_bfd_make_debug_symbol		    _bfd_nosymbols_bfd_make_debug_symbol
-#define aout_32_bfd_reloc_type_lookup		    _bfd_norelocs_bfd_reloc_type_lookup
-#define aout_32_bfd_reloc_name_lookup		    _bfd_norelocs_bfd_reloc_name_lookup
-#define aout_32_close_and_cleanup		    aout_32_bfd_free_cached_info
-#define	aout_32_set_arch_mach			    aout_adobe_set_arch_mach
-#define	aout_32_set_section_contents		    aout_adobe_set_section_contents
-#define	aout_32_sizeof_headers			    aout_adobe_sizeof_headers
-#define aout_32_bfd_get_relocated_section_contents  bfd_generic_get_relocated_section_contents
-#define aout_32_get_section_contents_in_window	    _bfd_generic_get_section_contents_in_window
-#define aout_32_bfd_relax_section		    bfd_generic_relax_section
-#define aout_32_bfd_gc_sections			    bfd_generic_gc_sections
-#define aout_32_bfd_lookup_section_flags	    bfd_generic_lookup_section_flags
-#define aout_32_bfd_merge_sections		    bfd_generic_merge_sections
-#define aout_32_bfd_is_group_section		    bfd_generic_is_group_section
-#define aout_32_bfd_discard_group		    bfd_generic_discard_group
-#define aout_32_section_already_linked		    _bfd_generic_section_already_linked
-#define aout_32_bfd_define_common_symbol	    bfd_generic_define_common_symbol
-#define aout_32_bfd_define_start_stop		    bfd_generic_define_start_stop
-#define aout_32_bfd_link_hash_table_create	    _bfd_generic_link_hash_table_create
-#define aout_32_bfd_link_add_symbols		    _bfd_generic_link_add_symbols
-#define aout_32_bfd_link_just_syms		    _bfd_generic_link_just_syms
-#define aout_32_bfd_copy_link_hash_symbol_type \
-  _bfd_generic_copy_link_hash_symbol_type
-#define aout_32_bfd_final_link			    _bfd_generic_final_link
-#define aout_32_bfd_link_split_section		    _bfd_generic_link_split_section
-#define aout_32_bfd_link_check_relocs		    _bfd_generic_link_check_relocs
-#define aout_32_set_reloc			    _bfd_generic_set_reloc
-
-const bfd_target aout_adobe_vec =
-{
-  "a.out.adobe",		/* Name.  */
-  bfd_target_aout_flavour,
-  BFD_ENDIAN_BIG,		/* Data byte order is unknown (big assumed).  */
-  BFD_ENDIAN_BIG,		/* Header byte order is big.  */
-  (HAS_RELOC | EXEC_P |		/* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT ),
-  /* section flags */
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_DATA | SEC_RELOC),
-  '_',				/* Symbol leading char.  */
-  ' ',				/* AR_pad_char.  */
-  16,				/* AR_max_namelen.  */
-  0,				/* match priority.  */
-
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* Data.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* Headers.  */
-
-  {_bfd_dummy_target, aout_adobe_object_p,	/* bfd_check_format.  */
-   bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, aout_adobe_mkobject,		/* bfd_set_format.  */
-   _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, aout_adobe_write_object_contents,/* bfd_write_contents.  */
-   _bfd_write_archive_contents, bfd_false},
-
-  BFD_JUMP_TABLE_GENERIC (aout_32),
-  BFD_JUMP_TABLE_COPY (_bfd_generic),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-  BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd),
-  BFD_JUMP_TABLE_SYMBOLS (aout_32),
-  BFD_JUMP_TABLE_RELOCS (aout_32),
-  BFD_JUMP_TABLE_WRITE (aout_32),
-  BFD_JUMP_TABLE_LINK (aout_32),
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  NULL,
-
-  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.1.0.20180703/bfd/aout-arm.c ./bfd/aout-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout-arm.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/aout-arm.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,548 +0,0 @@
-/* BFD back-end for raw ARM a.out binaries.
-   Copyright (C) 1994-2018 Free Software Foundation, Inc.
-   Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-
-/* Avoid multiple definitions from aoutx if supporting standard a.out
-   as well as our own.  */
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define NAME(x,y) CONCAT3 (aoutarm,_32_,y)
-
-#define N_TXTADDR(x)						\
-  ((N_MAGIC (x) == NMAGIC)					\
-   ? (bfd_vma) 0x8000						\
-   : ((N_MAGIC (x) != ZMAGIC)					\
-      ? (bfd_vma) 0						\
-      : ((N_SHARED_LIB (x))					\
-	 ? ((x)->a_entry & ~(bfd_vma) (TARGET_PAGE_SIZE - 1))	\
-	 : (bfd_vma) TEXT_START_ADDR)))
-
-#define TEXT_START_ADDR 0x8000
-#define TARGET_PAGE_SIZE 0x8000
-#define SEGMENT_SIZE TARGET_PAGE_SIZE
-#define DEFAULT_ARCH bfd_arch_arm
-
-#define MY(OP) CONCAT2 (arm_aout_,OP)
-#define N_BADMAG(x) ((((x)->a_info & ~007200) != ZMAGIC) && \
-		     (((x)->a_info & ~006000) != OMAGIC) && \
-		     ((x)->a_info != NMAGIC))
-#define N_MAGIC(x) ((x)->a_info & ~07200)
-
-#define MY_bfd_reloc_type_lookup arm_aout_bfd_reloc_type_lookup
-#define MY_bfd_reloc_name_lookup arm_aout_bfd_reloc_name_lookup
-
-#include "libaout.h"
-#include "aout/aout64.h"
-
-
-static bfd_reloc_status_type
-  MY (fix_pcrel_26) (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-static bfd_reloc_status_type
-  MY (fix_pcrel_26_done) (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-
-reloc_howto_type MY (howto_table)[] =
-{
-  /* Type rs size bsz pcrel bitpos ovrf sf name part_inpl
-     readmask setmask pcdone.  */
-  HOWTO (0, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, 0, "8", TRUE,
-	 0x000000ff, 0x000000ff, FALSE),
-  HOWTO (1, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, 0, "16", TRUE,
-	 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (2, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, 0, "32", TRUE,
-	 0xffffffff, 0xffffffff, FALSE),
-  HOWTO (3, 2, 2, 26, TRUE, 0, complain_overflow_signed, MY (fix_pcrel_26),
-	 "ARM26", TRUE, 0x00ffffff, 0x00ffffff, TRUE),
-  HOWTO (4, 0, 0, 8, TRUE, 0, complain_overflow_signed, 0, "DISP8", TRUE,
-	 0x000000ff, 0x000000ff, TRUE),
-  HOWTO (5, 0, 1, 16, TRUE, 0, complain_overflow_signed, 0, "DISP16", TRUE,
-	 0x0000ffff, 0x0000ffff, TRUE),
-  HOWTO (6, 0, 2, 32, TRUE, 0, complain_overflow_signed, 0, "DISP32", TRUE,
-	 0xffffffff, 0xffffffff, TRUE),
-  HOWTO (7, 2, 2, 26, FALSE, 0, complain_overflow_signed,
-	 MY (fix_pcrel_26_done), "ARM26D", TRUE, 0x0, 0x0,
-	 FALSE),
-  EMPTY_HOWTO (-1),
-  HOWTO (9, 0, -1, 16, FALSE, 0, complain_overflow_bitfield, 0, "NEG16", TRUE,
-	 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (10, 0, -2, 32, FALSE, 0, complain_overflow_bitfield, 0, "NEG32", TRUE,
-	 0xffffffff, 0xffffffff, FALSE)
-};
-
-#define RELOC_ARM_BITS_NEG_BIG      ((unsigned int) 0x08)
-#define RELOC_ARM_BITS_NEG_LITTLE   ((unsigned int) 0x10)
-
-static reloc_howto_type *
-MY (reloc_howto) (bfd *abfd,
-		  struct reloc_std_external *rel,
-		  int *r_index,
-		  int *r_extern,
-		  int *r_pcrel)
-{
-  unsigned int r_length;
-  unsigned int r_pcrel_done;
-  unsigned int r_neg;
-  int howto_index;
-
-  *r_pcrel = 0;
-  if (bfd_header_big_endian (abfd))
-    {
-      *r_index     =  ((rel->r_index[0] << 16)
-		       | (rel->r_index[1] << 8)
-		       | rel->r_index[2]);
-      *r_extern    = (0 != (rel->r_type[0] & RELOC_STD_BITS_EXTERN_BIG));
-      r_pcrel_done = (0 != (rel->r_type[0] & RELOC_STD_BITS_PCREL_BIG));
-      r_neg	   = (0 != (rel->r_type[0] & RELOC_ARM_BITS_NEG_BIG));
-      r_length     = ((rel->r_type[0] & RELOC_STD_BITS_LENGTH_BIG)
-		      >> RELOC_STD_BITS_LENGTH_SH_BIG);
-    }
-  else
-    {
-      *r_index     = ((rel->r_index[2] << 16)
-		      | (rel->r_index[1] << 8)
-		      | rel->r_index[0]);
-      *r_extern    = (0 != (rel->r_type[0] & RELOC_STD_BITS_EXTERN_LITTLE));
-      r_pcrel_done = (0 != (rel->r_type[0] & RELOC_STD_BITS_PCREL_LITTLE));
-      r_neg	   = (0 != (rel->r_type[0] & RELOC_ARM_BITS_NEG_LITTLE));
-      r_length     = ((rel->r_type[0] & RELOC_STD_BITS_LENGTH_LITTLE)
-		      >> RELOC_STD_BITS_LENGTH_SH_LITTLE);
-    }
-  howto_index = r_length + 4 * r_pcrel_done + 8 * r_neg;
-  if (howto_index == 3)
-    *r_pcrel = 1;
-
-  return MY (howto_table) + howto_index;
-}
-
-#define MY_reloc_howto(BFD, REL, IN, EX, PC) \
-	MY (reloc_howto) (BFD, REL, &IN, &EX, &PC)
-
-static void
-MY (put_reloc) (bfd *abfd,
-		int r_extern,
-		int r_index,
-		bfd_vma value,
-		reloc_howto_type *howto,
-		struct reloc_std_external *reloc)
-{
-  unsigned int r_length;
-  int r_pcrel;
-  int r_neg;
-
-  PUT_WORD (abfd, value, reloc->r_address);
-  /* Size as a power of two.  */
-  r_length = howto->size;
-
-  /* Special case for branch relocations.  */
-  if (howto->type == 3 || howto->type == 7)
-    r_length = 3;
-
-  r_pcrel  = howto->type & 4;	/* PC Relative done?  */
-  r_neg = howto->type & 8;	/* Negative relocation.  */
-
-  if (bfd_header_big_endian (abfd))
-    {
-      reloc->r_index[0] = r_index >> 16;
-      reloc->r_index[1] = r_index >> 8;
-      reloc->r_index[2] = r_index;
-      reloc->r_type[0] =
-	((r_extern ?     RELOC_STD_BITS_EXTERN_BIG : 0)
-	 | (r_pcrel ?    RELOC_STD_BITS_PCREL_BIG : 0)
-	 | (r_neg ?	 RELOC_ARM_BITS_NEG_BIG : 0)
-	 | (r_length <<  RELOC_STD_BITS_LENGTH_SH_BIG));
-    }
-  else
-    {
-      reloc->r_index[2] = r_index >> 16;
-      reloc->r_index[1] = r_index >> 8;
-      reloc->r_index[0] = r_index;
-      reloc->r_type[0] =
-	((r_extern ?     RELOC_STD_BITS_EXTERN_LITTLE : 0)
-	 | (r_pcrel ?    RELOC_STD_BITS_PCREL_LITTLE : 0)
-	 | (r_neg ?	 RELOC_ARM_BITS_NEG_LITTLE : 0)
-	 | (r_length <<  RELOC_STD_BITS_LENGTH_SH_LITTLE));
-    }
-}
-
-#define MY_put_reloc(BFD, EXT, IDX, VAL, HOWTO, RELOC) \
-  MY (put_reloc) (BFD, EXT, IDX, VAL, HOWTO, RELOC)
-
-static void
-MY (relocatable_reloc) (reloc_howto_type *howto,
-			bfd *abfd,
-			struct reloc_std_external *reloc,
-			bfd_vma *amount,
-			bfd_vma r_addr)
-{
-  if (howto->type == 3)
-    {
-      if (reloc->r_type[0]
-	  & (bfd_header_big_endian (abfd)
-	     ? RELOC_STD_BITS_EXTERN_BIG : RELOC_STD_BITS_EXTERN_LITTLE))
-	/* The reloc is still external, so don't modify anything.  */
-	*amount = 0;
-      else
-	{
-	  *amount -= r_addr;
-	  /* Change the r_pcrel value -- on the ARM, this bit is set once the
-	     relocation is done.  */
-	  if (bfd_header_big_endian (abfd))
-	    reloc->r_type[0] |= RELOC_STD_BITS_PCREL_BIG;
-	  else
-	    reloc->r_type[0] |= RELOC_STD_BITS_PCREL_LITTLE;
-	}
-    }
-  else if (howto->type == 7)
-    *amount = 0;
-}
-
-#define MY_relocatable_reloc(HOW, BFD, REL, AMOUNT, ADDR) \
-  MY (relocatable_reloc) (HOW, BFD, REL, &(AMOUNT), ADDR)
-
-static bfd_reloc_status_type
-MY (fix_pcrel_26_done) (bfd *abfd ATTRIBUTE_UNUSED,
-			arelent *reloc_entry ATTRIBUTE_UNUSED,
-			asymbol *symbol ATTRIBUTE_UNUSED,
-			void * data ATTRIBUTE_UNUSED,
-			asection *input_section ATTRIBUTE_UNUSED,
-			bfd *output_bfd ATTRIBUTE_UNUSED,
-			char **error_message ATTRIBUTE_UNUSED)
-{
-  /* This is dead simple at present.  */
-  return bfd_reloc_ok;
-}
-
-static bfd_reloc_status_type
-MY (fix_pcrel_26) (bfd *abfd,
-		   arelent *reloc_entry,
-		   asymbol *symbol,
-		   void * data,
-		   asection *input_section,
-		   bfd *output_bfd,
-		   char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma relocation;
-  bfd_size_type addr = reloc_entry->address;
-  bfd_vma target = bfd_get_32 (abfd, (bfd_byte *) data + addr);
-  bfd_reloc_status_type flag = bfd_reloc_ok;
-
-  /* If this is an undefined symbol, return error.  */
-  if (bfd_is_und_section (symbol->section)
-      && (symbol->flags & BSF_WEAK) == 0)
-    return output_bfd ? bfd_reloc_ok : bfd_reloc_undefined;
-
-  /* If the sections are different, and we are doing a partial relocation,
-     just ignore it for now.  */
-  if (symbol->section->name != input_section->name
-      && output_bfd != NULL)
-    return bfd_reloc_ok;
-
-  relocation = (target & 0x00ffffff) << 2;
-  relocation = (relocation ^ 0x02000000) - 0x02000000; /* Sign extend.  */
-  relocation += symbol->value;
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-  relocation -= input_section->output_section->vma;
-  relocation -= input_section->output_offset;
-  relocation -= addr;
-  if (relocation & 3)
-    return bfd_reloc_overflow;
-
-  /* Check for overflow.  */
-  if (relocation & 0x02000000)
-    {
-      if ((relocation & ~ (bfd_vma) 0x03ffffff) != ~ (bfd_vma) 0x03ffffff)
-	flag = bfd_reloc_overflow;
-    }
-  else if (relocation & ~ (bfd_vma) 0x03ffffff)
-    flag = bfd_reloc_overflow;
-
-  target &= ~ (bfd_vma) 0x00ffffff;
-  target |= (relocation >> 2) & 0x00ffffff;
-  bfd_put_32 (abfd, target, (bfd_byte *) data + addr);
-
-  /* Now the ARM magic... Change the reloc type so that it is marked as done.
-     Strictly this is only necessary if we are doing a partial relocation.  */
-  reloc_entry->howto = &MY (howto_table)[7];
-
-  return flag;
-}
-
-static reloc_howto_type *
-MY (bfd_reloc_type_lookup) (bfd *abfd,
-			    bfd_reloc_code_real_type code)
-{
-#define ASTD(i,j)       case i: return & MY (howto_table)[j]
-
-  if (code == BFD_RELOC_CTOR)
-    switch (bfd_arch_bits_per_address (abfd))
-      {
-      case 32:
-	code = BFD_RELOC_32;
-	break;
-      default:
-	return NULL;
-      }
-
-  switch (code)
-    {
-      ASTD (BFD_RELOC_16, 1);
-      ASTD (BFD_RELOC_32, 2);
-      ASTD (BFD_RELOC_ARM_PCREL_BRANCH, 3);
-      ASTD (BFD_RELOC_8_PCREL, 4);
-      ASTD (BFD_RELOC_16_PCREL, 5);
-      ASTD (BFD_RELOC_32_PCREL, 6);
-    default:
-      return NULL;
-    }
-}
-
-static reloc_howto_type *
-MY (bfd_reloc_name_lookup) (bfd *abfd ATTRIBUTE_UNUSED,
-			    const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0;
-       i < sizeof (MY (howto_table)) / sizeof (MY (howto_table)[0]);
-       i++)
-    if (MY (howto_table)[i].name != NULL
-	&& strcasecmp (MY (howto_table)[i].name, r_name) == 0)
-      return &MY (howto_table)[i];
-
-  return NULL;
-}
-
-#define MY_swap_std_reloc_in     MY (swap_std_reloc_in)
-#define MY_swap_std_reloc_out    MY (swap_std_reloc_out)
-#define MY_get_section_contents  _bfd_generic_get_section_contents
-
-void MY_swap_std_reloc_in (bfd *, struct reloc_std_external *, arelent *, asymbol **, bfd_size_type);
-void MY_swap_std_reloc_out (bfd *, arelent *, struct reloc_std_external *);
-
-#include "aoutx.h"
-
-void
-MY_swap_std_reloc_in (bfd *abfd,
-		      struct reloc_std_external *bytes,
-		      arelent *cache_ptr,
-		      asymbol **symbols,
-		      bfd_size_type symcount ATTRIBUTE_UNUSED)
-{
-  int r_index;
-  int r_extern;
-  int r_pcrel;
-  struct aoutdata *su = &(abfd->tdata.aout_data->a);
-
-  cache_ptr->address = H_GET_32 (abfd, bytes->r_address);
-
-  cache_ptr->howto = MY_reloc_howto (abfd, bytes, r_index, r_extern, r_pcrel);
-
-  MOVE_ADDRESS (0);
-}
-
-void
-MY_swap_std_reloc_out (bfd *abfd,
-		       arelent *g,
-		       struct reloc_std_external *natptr)
-{
-  int r_index;
-  asymbol *sym = *(g->sym_ptr_ptr);
-  int r_extern;
-  int r_length;
-  int r_pcrel;
-  int r_neg = 0;	/* Negative relocs use the BASEREL bit.  */
-  asection *output_section = sym->section->output_section;
-
-  PUT_WORD (abfd, g->address, natptr->r_address);
-
-  r_length = g->howto->size ;   /* Size as a power of two.  */
-  if (r_length < 0)
-    {
-      r_length = -r_length;
-      r_neg = 1;
-    }
-
-  r_pcrel  = (int) g->howto->pc_relative; /* Relative to PC?  */
-
-  /* For RISC iX, in pc-relative relocs the r_pcrel bit means that the
-     relocation has been done already (Only for the 26-bit one I think).  */
-  if (g->howto->type == 3)
-    {
-      r_length = 3;
-      r_pcrel = 0;
-    }
-  else if (g->howto->type == 7)
-    {
-      r_length = 3;
-      r_pcrel = 1;
-    }
-
-  /* Name was clobbered by aout_write_syms to be symbol index.  */
-
-  /* If this relocation is relative to a symbol then set the
-     r_index to the symbols index, and the r_extern bit.
-
-     Absolute symbols can come in in two ways, either as an offset
-     from the abs section, or as a symbol which has an abs value.
-     check for that here.  */
-
-  if (bfd_is_com_section (output_section)
-      || bfd_is_abs_section (output_section)
-      || bfd_is_und_section (output_section))
-    {
-      if (bfd_abs_section_ptr->symbol == sym)
-	{
-	  /* Whoops, looked like an abs symbol, but is really an offset
-	     from the abs section.  */
-	  r_index = 0;
-	  r_extern = 0;
-	}
-      else
-	{
-	  /* Fill in symbol.  */
-	  r_extern = 1;
-	  r_index = (*(g->sym_ptr_ptr))->KEEPIT;
-	}
-    }
-  else
-    {
-      /* Just an ordinary section.  */
-      r_extern = 0;
-      r_index  = output_section->target_index;
-    }
-
-  /* Now the fun stuff.  */
-  if (bfd_header_big_endian (abfd))
-    {
-      natptr->r_index[0] = r_index >> 16;
-      natptr->r_index[1] = r_index >> 8;
-      natptr->r_index[2] = r_index;
-      natptr->r_type[0] =
-	(  (r_extern ?   RELOC_STD_BITS_EXTERN_BIG: 0)
-	 | (r_pcrel  ?   RELOC_STD_BITS_PCREL_BIG: 0)
-	 | (r_neg    ?   RELOC_ARM_BITS_NEG_BIG: 0)
-	 | (r_length <<  RELOC_STD_BITS_LENGTH_SH_BIG));
-    }
-  else
-    {
-      natptr->r_index[2] = r_index >> 16;
-      natptr->r_index[1] = r_index >> 8;
-      natptr->r_index[0] = r_index;
-      natptr->r_type[0] =
-	(  (r_extern ?   RELOC_STD_BITS_EXTERN_LITTLE: 0)
-	 | (r_pcrel  ?   RELOC_STD_BITS_PCREL_LITTLE: 0)
-	 | (r_neg    ?   RELOC_ARM_BITS_NEG_LITTLE: 0)
-	 | (r_length <<  RELOC_STD_BITS_LENGTH_SH_LITTLE));
-    }
-}
-
-#define MY_BFD_TARGET
-
-#include "aout-target.h"
-
-extern const bfd_target arm_aout_be_vec;
-
-const bfd_target arm_aout_le_vec =
-{
-  "a.out-arm-little",		/* Name.  */
-  bfd_target_aout_flavour,
-  BFD_ENDIAN_LITTLE,		/* Target byte order (little).  */
-  BFD_ENDIAN_LITTLE,		/* Target headers byte order (little).  */
-  (HAS_RELOC | EXEC_P |		/* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
-  MY_symbol_leading_char,
-  AR_PAD_CHAR,			/* AR_pad_char.  */
-  15,				/* AR_max_namelen.  */
-  0,				/* match priority.  */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-  bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-  bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* Data.  */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-  bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-  bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* Headers.  */
-  {_bfd_dummy_target, MY_object_p,		/* bfd_check_format.  */
-   bfd_generic_archive_p, MY_core_file_p},
-  {bfd_false, MY_mkobject,			/* bfd_set_format.  */
-   _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, MY_write_object_contents,		/* bfd_write_contents.  */
-   _bfd_write_archive_contents, bfd_false},
-
-  BFD_JUMP_TABLE_GENERIC (MY),
-  BFD_JUMP_TABLE_COPY (MY),
-  BFD_JUMP_TABLE_CORE (MY),
-  BFD_JUMP_TABLE_ARCHIVE (MY),
-  BFD_JUMP_TABLE_SYMBOLS (MY),
-  BFD_JUMP_TABLE_RELOCS (MY),
-  BFD_JUMP_TABLE_WRITE (MY),
-  BFD_JUMP_TABLE_LINK (MY),
-  BFD_JUMP_TABLE_DYNAMIC (MY),
-
-  & arm_aout_be_vec,
-
-  (void *) MY_backend_data,
-};
-
-const bfd_target arm_aout_be_vec =
-{
-  "a.out-arm-big",		/* Name.  */
-  bfd_target_aout_flavour,
-  BFD_ENDIAN_BIG,		/* Target byte order (big).  */
-  BFD_ENDIAN_BIG,		/* Target headers byte order (big).  */
-  (HAS_RELOC | EXEC_P |		/* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
-  MY_symbol_leading_char,
-  AR_PAD_CHAR,			/* AR_pad_char.  */
-  15,				/* AR_max_namelen.  */
-  0,				/* match priority.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* Data.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* Headers.  */
-  {_bfd_dummy_target, MY_object_p,		/* bfd_check_format.  */
-   bfd_generic_archive_p, MY_core_file_p},
-  {bfd_false, MY_mkobject,			/* bfd_set_format.  */
-   _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, MY_write_object_contents,		/* bfd_write_contents.  */
-   _bfd_write_archive_contents, bfd_false},
-
-  BFD_JUMP_TABLE_GENERIC (MY),
-  BFD_JUMP_TABLE_COPY (MY),
-  BFD_JUMP_TABLE_CORE (MY),
-  BFD_JUMP_TABLE_ARCHIVE (MY),
-  BFD_JUMP_TABLE_SYMBOLS (MY),
-  BFD_JUMP_TABLE_RELOCS (MY),
-  BFD_JUMP_TABLE_WRITE (MY),
-  BFD_JUMP_TABLE_LINK (MY),
-  BFD_JUMP_TABLE_DYNAMIC (MY),
-
-  & arm_aout_le_vec,
-
-  (void *) MY_backend_data,
-};
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout-cris.c ./bfd/aout-cris.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout-cris.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/aout-cris.c	2018-07-10 02:06:11.000000000 +0000
@@ -197,7 +197,7 @@ MY (swap_ext_reloc_out) (bfd *abfd,
   if (r_type > 2)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: Invalid relocation type exported: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type exported: %#x"),
 			  abfd, r_type);
 
       bfd_set_error (bfd_error_wrong_format);
@@ -241,7 +241,7 @@ MY (swap_ext_reloc_in) (bfd *abfd,
   if (r_type > 2)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: Invalid relocation type imported: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type imported: %#x"),
 			  abfd, r_type);
 
       bfd_set_error (bfd_error_wrong_format);
@@ -253,7 +253,7 @@ MY (swap_ext_reloc_in) (bfd *abfd,
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: Bad relocation record imported: %d"), abfd, r_index);
+	(_("%pB: bad relocation record imported: %d"), abfd, r_index);
 
       bfd_set_error (bfd_error_wrong_format);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aoutf1.h ./bfd/aoutf1.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aoutf1.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/aoutf1.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,793 +0,0 @@
-/* A.out "format 1" file handling code for BFD.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-#include "aout/sun4.h"
-#include "libaout.h"		/* BFD a.out internal data structures.  */
-
-#include "aout/aout64.h"
-#include "aout/stab_gnu.h"
-#include "aout/ar.h"
-
-/* This is needed to reject a NewsOS file, e.g. in
-   gdb/testsuite/gdb.t10/crossload.exp. <kingdon@cygnus.com>
-   I needed to add M_UNKNOWN to recognize a 68000 object, so this will
-   probably no longer reject a NewsOS object.  <ian@cygnus.com>.  */
-#ifndef MACHTYPE_OK
-#define MACHTYPE_OK(mtype) \
-  (((mtype) == M_SPARC && bfd_lookup_arch (bfd_arch_sparc, 0) != NULL) \
-   || (((mtype) == M_UNKNOWN || (mtype) == M_68010 || (mtype) == M_68020) \
-       && bfd_lookup_arch (bfd_arch_m68k, 0) != NULL))
-#endif
-
-/* The file @code{aoutf1.h} contains the code for BFD's
-   a.out back end.  Control over the generated back end is given by these
-   two preprocessor names:
-   @table @code
-   @item ARCH_SIZE
-   This value should be either 32 or 64, depending upon the size of an
-   int in the target format. It changes the sizes of the structs which
-   perform the memory/disk mapping of structures.
-
-   The 64 bit backend may only be used if the host compiler supports 64
-   ints (eg long long with gcc), by defining the name @code{BFD_HOST_64_BIT} in @code{bfd.h}.
-   With this name defined, @emph{all} bfd operations are performed with 64bit
-   arithmetic, not just those to a 64bit target.
-
-   @item TARGETNAME
-   The name put into the target vector.
-   @item
-   @end table.  */
-
-#if ARCH_SIZE == 64
-#define sunos_set_arch_mach sunos_64_set_arch_mach
-#define sunos_write_object_contents aout_64_sunos4_write_object_contents
-#else
-#define sunos_set_arch_mach sunos_32_set_arch_mach
-#define sunos_write_object_contents aout_32_sunos4_write_object_contents
-#endif
-
-/* Merge backend data into the output file.
-   This is necessary on sparclet-aout where we want the resultant machine
-   number to be M_SPARCLET if any input file is M_SPARCLET.  */
-
-#define MY_bfd_merge_private_bfd_data sunos_merge_private_bfd_data
-
-static bfd_boolean
-sunos_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
-{
-  bfd *obfd = info->output_bfd;
-  if (bfd_get_flavour (ibfd) != bfd_target_aout_flavour
-      || bfd_get_flavour (obfd) != bfd_target_aout_flavour)
-    return TRUE;
-
-  if (bfd_get_arch (obfd) == bfd_arch_sparc)
-    {
-      if (bfd_get_mach (obfd) < bfd_get_mach (ibfd))
-	bfd_set_arch_mach (obfd, bfd_arch_sparc, bfd_get_mach (ibfd));
-    }
-
-  return TRUE;
-}
-
-/* This is either sunos_32_set_arch_mach or sunos_64_set_arch_mach,
-   depending upon ARCH_SIZE.  */
-
-static void
-sunos_set_arch_mach (bfd *abfd, enum machine_type machtype)
-{
-  /* Determine the architecture and machine type of the object file.  */
-  enum bfd_architecture arch;
-  unsigned long machine;
-
-  switch (machtype)
-    {
-    case M_UNKNOWN:
-      /* Some Sun3s make magic numbers without cpu types in them, so
-	 we'll default to the 68000.  */
-      arch = bfd_arch_m68k;
-      machine = bfd_mach_m68000;
-      break;
-
-    case M_68010:
-    case M_HP200:
-      arch = bfd_arch_m68k;
-      machine = bfd_mach_m68010;
-      break;
-
-    case M_68020:
-    case M_HP300:
-      arch = bfd_arch_m68k;
-      machine = bfd_mach_m68020;
-      break;
-
-    case M_SPARC:
-      arch = bfd_arch_sparc;
-      machine = 0;
-      break;
-
-    case M_SPARCLET:
-      arch = bfd_arch_sparc;
-      machine = bfd_mach_sparc_sparclet;
-      break;
-
-    case M_SPARCLITE_LE:
-      arch = bfd_arch_sparc;
-      machine = bfd_mach_sparc_sparclite_le;
-      break;
-
-    case M_386:
-    case M_386_DYNIX:
-      arch = bfd_arch_i386;
-      machine = 0;
-      break;
-
-    case M_HPUX:
-      arch = bfd_arch_m68k;
-      machine = 0;
-      break;
-
-    default:
-      arch = bfd_arch_obscure;
-      machine = 0;
-      break;
-    }
-  bfd_set_arch_mach (abfd, arch, machine);
-}
-
-#define SET_ARCH_MACH(ABFD, EXECP) \
-  NAME(sunos,set_arch_mach) (ABFD, N_MACHTYPE (EXECP)); \
-  choose_reloc_size(ABFD);
-
-/* Determine the size of a relocation entry, based on the architecture.  */
-
-static void
-choose_reloc_size (bfd *abfd)
-{
-  switch (bfd_get_arch (abfd))
-    {
-    case bfd_arch_sparc:
-      obj_reloc_entry_size (abfd) = RELOC_EXT_SIZE;
-      break;
-    default:
-      obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
-      break;
-    }
-}
-
-/* Write an object file in SunOS format.  Section contents have
-   already been written.  We write the file header, symbols, and
-   relocation.  The real name of this function is either
-   aout_64_sunos4_write_object_contents or
-   aout_32_sunos4_write_object_contents, depending upon ARCH_SIZE.  */
-
-static bfd_boolean
-sunos_write_object_contents (bfd *abfd)
-{
-  struct external_exec exec_bytes;
-  struct internal_exec *execp = exec_hdr (abfd);
-
-  /* Magic number, maestro, please!  */
-  switch (bfd_get_arch (abfd))
-    {
-    case bfd_arch_m68k:
-      switch (bfd_get_mach (abfd))
-	{
-	case bfd_mach_m68000:
-	  N_SET_MACHTYPE (execp, M_UNKNOWN);
-	  break;
-	case bfd_mach_m68010:
-	  N_SET_MACHTYPE (execp, M_68010);
-	  break;
-	default:
-	case bfd_mach_m68020:
-	  N_SET_MACHTYPE (execp, M_68020);
-	  break;
-	}
-      break;
-    case bfd_arch_sparc:
-      switch (bfd_get_mach (abfd))
-	{
-	case bfd_mach_sparc_sparclet:
-	  N_SET_MACHTYPE (execp, M_SPARCLET);
-	  break;
-	case bfd_mach_sparc_sparclite_le:
-	  N_SET_MACHTYPE (execp, M_SPARCLITE_LE);
-	  break;
-	default:
-	  N_SET_MACHTYPE (execp, M_SPARC);
-	  break;
-	}
-      break;
-    case bfd_arch_i386:
-      N_SET_MACHTYPE (execp, M_386);
-      break;
-    default:
-      N_SET_MACHTYPE (execp, M_UNKNOWN);
-    }
-
-  choose_reloc_size (abfd);
-
-  N_SET_FLAGS (execp, aout_backend_info (abfd)->exec_hdr_flags);
-
-  N_SET_DYNAMIC (execp, (long)(bfd_get_file_flags (abfd) & DYNAMIC));
-
-  WRITE_HEADERS (abfd, execp);
-
-  return TRUE;
-}
-
-/* Core files.  */
-
-#define CORE_MAGIC   0x080456
-#define CORE_NAMELEN 16
-
-/* The core structure is taken from the Sun documentation.
-  Unfortunately, they don't document the FPA structure, or at least I
-  can't find it easily.  Fortunately the core header contains its own
-  length.  So this shouldn't cause problems, except for c_ucode, which
-  so far we don't use but is easy to find with a little arithmetic.  */
-
-/* But the reg structure can be gotten from the SPARC processor handbook.
-  This really should be in a GNU include file though so that gdb can use
-  the same info.  */
-struct regs
-{
-  int r_psr;
-  int r_pc;
-  int r_npc;
-  int r_y;
-  int r_g1;
-  int r_g2;
-  int r_g3;
-  int r_g4;
-  int r_g5;
-  int r_g6;
-  int r_g7;
-  int r_o0;
-  int r_o1;
-  int r_o2;
-  int r_o3;
-  int r_o4;
-  int r_o5;
-  int r_o6;
-  int r_o7;
-};
-
-/* Taken from Sun documentation: */
-
-/* FIXME:  It's worse than we expect.  This struct contains TWO substructs
-  neither of whose size we know, WITH STUFF IN BETWEEN THEM!  We can't
-  even portably access the stuff in between!  */
-
-struct external_sparc_core
-{
-  int c_magic;				/* Corefile magic number.  */
-  int c_len;				/* Sizeof (struct core).  */
-#define	SPARC_CORE_LEN	432
-  struct regs c_regs;			/* General purpose registers -- MACHDEP SIZE.  */
-  struct external_exec c_aouthdr;	/* A.out header.  */
-  int c_signo;				/* Killing signal, if any.  */
-  int c_tsize;				/* Text size (bytes).  */
-  int c_dsize;				/* Data size (bytes).  */
-  int c_ssize;				/* Stack size (bytes).  */
-  char c_cmdname[CORE_NAMELEN + 1];	/* Command name.  */
-  double fp_stuff[1];			/* External FPU state (size unknown by us).  */
-  /* The type "double" is critical here, for alignment.
-     SunOS declares a struct here, but the struct's
-     alignment is double since it contains doubles.  */
-  int c_ucode;				/* Exception no. from u_code.  */
-  /* This member is not accessible by name since
-     we don't portably know the size of fp_stuff.  */
-};
-
-/* Core files generated by the BCP (the part of Solaris which allows
-   it to run SunOS4 a.out files).  */
-struct external_solaris_bcp_core
-{
-  int c_magic;				/* Corefile magic number.  */
-  int c_len;				/* Sizeof (struct core).  */
-#define	SOLARIS_BCP_CORE_LEN	456
-  struct regs c_regs;			/* General purpose registers -- MACHDEP SIZE.  */
-  int c_exdata_vp;			/* Exdata structure.  */
-  int c_exdata_tsize;
-  int c_exdata_dsize;
-  int c_exdata_bsize;
-  int c_exdata_lsize;
-  int c_exdata_nshlibs;
-  short c_exdata_mach;
-  short c_exdata_mag;
-  int c_exdata_toffset;
-  int c_exdata_doffset;
-  int c_exdata_loffset;
-  int c_exdata_txtorg;
-  int c_exdata_datorg;
-  int c_exdata_entloc;
-  int c_signo;				/* Killing signal, if any.  */
-  int c_tsize;				/* Text size (bytes).  */
-  int c_dsize;				/* Data size (bytes).  */
-  int c_ssize;				/* Stack size (bytes).  */
-  char c_cmdname[CORE_NAMELEN + 1];	/* Command name.  */
-  double fp_stuff[1];			/* External FPU state (size unknown by us).  */
-  /* The type "double" is critical here, for alignment.
-     SunOS declares a struct here, but the struct's
-     alignment is double since it contains doubles.  */
-  int c_ucode;				/* Exception no. from u_code.  */
-  /* This member is not accessible by name since
-     we don't portably know the size of fp_stuff.  */
-};
-
-struct external_sun3_core
-{
-  int c_magic;				/* Corefile magic number.  */
-  int c_len;				/* Sizeof (struct core).  */
-#define	SUN3_CORE_LEN	826		/* As of SunOS 4.1.1.  */
-  int c_regs[18];			/* General purpose registers -- MACHDEP SIZE.  */
-  struct external_exec c_aouthdr;	/* A.out header.  */
-  int c_signo;				/* Killing signal, if any.  */
-  int c_tsize;				/* Text size (bytes).  */
-  int c_dsize;				/* Data size (bytes).  */
-  int c_ssize;				/* Stack size (bytes).  */
-  char c_cmdname[CORE_NAMELEN + 1];	/* Command name.  */
-  double fp_stuff[1];			/* External FPU state (size unknown by us).  */
-  /* The type "double" is critical here, for alignment.
-     SunOS declares a struct here, but the struct's
-     alignment is double since it contains doubles.  */
-  int c_ucode;				/* Exception no. from u_code.  */
-  /* This member is not accessible by name since
-     we don't portably know the size of fp_stuff.  */
-};
-
-struct internal_sunos_core
-{
-  int c_magic;				/* Corefile magic number.  */
-  int c_len;				/* Sizeof (struct core).  */
-  long c_regs_pos;			/* File offset of General purpose registers.  */
-  int c_regs_size;			/* Size of General purpose registers.  */
-  struct internal_exec c_aouthdr;	/* A.out header.  */
-  int c_signo;				/* Killing signal, if any.  */
-  int c_tsize;				/* Text size (bytes).  */
-  int c_dsize;				/* Data size (bytes).  */
-  bfd_vma c_data_addr;			/* Data start (address).  */
-  int c_ssize;				/* Stack size (bytes).  */
-  bfd_vma c_stacktop;			/* Stack top (address).  */
-  char c_cmdname[CORE_NAMELEN + 1];	/* Command name.  */
-  long fp_stuff_pos;			/* File offset of external FPU state (regs).  */
-  int fp_stuff_size;			/* Size of it.  */
-  int c_ucode;				/* Exception no. from u_code.  */
-};
-
-/* Byte-swap in the Sun-3 core structure.  */
-
-static void
-swapcore_sun3 (bfd *abfd, char *ext, struct internal_sunos_core *intcore)
-{
-  struct external_sun3_core *extcore = (struct external_sun3_core *) ext;
-
-  intcore->c_magic = H_GET_32 (abfd, &extcore->c_magic);
-  intcore->c_len = H_GET_32 (abfd, &extcore->c_len);
-  intcore->c_regs_pos = offsetof (struct external_sun3_core, c_regs);
-  intcore->c_regs_size = sizeof (extcore->c_regs);
-#if ARCH_SIZE == 64
-  aout_64_swap_exec_header_in
-#else
-  aout_32_swap_exec_header_in
-#endif
-    (abfd, &extcore->c_aouthdr, &intcore->c_aouthdr);
-  intcore->c_signo = H_GET_32 (abfd, &extcore->c_signo);
-  intcore->c_tsize = H_GET_32 (abfd, &extcore->c_tsize);
-  intcore->c_dsize = H_GET_32 (abfd, &extcore->c_dsize);
-  intcore->c_data_addr = N_DATADDR (&intcore->c_aouthdr);
-  intcore->c_ssize = H_GET_32 (abfd, &extcore->c_ssize);
-  memcpy (intcore->c_cmdname, extcore->c_cmdname, sizeof (intcore->c_cmdname));
-  intcore->fp_stuff_pos = offsetof (struct external_sun3_core, fp_stuff);
-  /* FP stuff takes up whole rest of struct, except c_ucode.  */
-  intcore->fp_stuff_size = intcore->c_len - (sizeof extcore->c_ucode) -
-    offsetof (struct external_sun3_core, fp_stuff);
-  /* Ucode is the last thing in the struct -- just before the end.  */
-  intcore->c_ucode = H_GET_32 (abfd,
-			       (intcore->c_len
-				- sizeof (extcore->c_ucode)
-				+ (unsigned char *) extcore));
-  intcore->c_stacktop = 0x0E000000;	/* By experimentation.  */
-}
-
-/* Byte-swap in the Sparc core structure.  */
-
-static void
-swapcore_sparc (bfd *abfd, char *ext, struct internal_sunos_core *intcore)
-{
-  struct external_sparc_core *extcore = (struct external_sparc_core *) ext;
-
-  intcore->c_magic = H_GET_32 (abfd, &extcore->c_magic);
-  intcore->c_len = H_GET_32 (abfd, &extcore->c_len);
-  intcore->c_regs_pos = offsetof (struct external_sparc_core, c_regs);
-  intcore->c_regs_size = sizeof (extcore->c_regs);
-#if ARCH_SIZE == 64
-  aout_64_swap_exec_header_in
-#else
-  aout_32_swap_exec_header_in
-#endif
-    (abfd, &extcore->c_aouthdr, &intcore->c_aouthdr);
-  intcore->c_signo = H_GET_32 (abfd, &extcore->c_signo);
-  intcore->c_tsize = H_GET_32 (abfd, &extcore->c_tsize);
-  intcore->c_dsize = H_GET_32 (abfd, &extcore->c_dsize);
-  intcore->c_data_addr = N_DATADDR (&intcore->c_aouthdr);
-  intcore->c_ssize = H_GET_32 (abfd, &extcore->c_ssize);
-  memcpy (intcore->c_cmdname, extcore->c_cmdname, sizeof (intcore->c_cmdname));
-  intcore->fp_stuff_pos = offsetof (struct external_sparc_core, fp_stuff);
-  /* FP stuff takes up whole rest of struct, except c_ucode.  */
-  intcore->fp_stuff_size = intcore->c_len - (sizeof extcore->c_ucode) -
-    offsetof (struct external_sparc_core, fp_stuff);
-  /* Ucode is the last thing in the struct -- just before the end.  */
-  intcore->c_ucode = H_GET_32 (abfd,
-			       (intcore->c_len
-				- sizeof (extcore->c_ucode)
-				+ (unsigned char *) extcore));
-
-  /* Supposedly the user stack grows downward from the bottom of kernel memory.
-     Presuming that this remains true, this definition will work.  */
-  /* Now sun has provided us with another challenge.  The value is different
-     for sparc2 and sparc10 (both running SunOS 4.1.3).  We pick one or
-     the other based on the current value of the stack pointer.  This
-     loses (a) if the stack pointer has been clobbered, or (b) if the stack
-     is larger than 128 megabytes.
-
-     It's times like these you're glad they're switching to ELF.
-
-     Note that using include files or nlist on /vmunix would be wrong,
-     because we want the value for this core file, no matter what kind of
-     machine we were compiled on or are running on.  */
-#define SPARC_USRSTACK_SPARC2 ((bfd_vma)0xf8000000)
-#define SPARC_USRSTACK_SPARC10 ((bfd_vma)0xf0000000)
-  {
-    bfd_vma sp = H_GET_32 (abfd, &extcore->c_regs.r_o6);
-    if (sp < SPARC_USRSTACK_SPARC10)
-      intcore->c_stacktop = SPARC_USRSTACK_SPARC10;
-    else
-      intcore->c_stacktop = SPARC_USRSTACK_SPARC2;
-  }
-}
-
-/* Byte-swap in the Solaris BCP core structure.  */
-
-static void
-swapcore_solaris_bcp (bfd *abfd, char *ext, struct internal_sunos_core *intcore)
-{
-  struct external_solaris_bcp_core *extcore =
-    (struct external_solaris_bcp_core *) ext;
-
-  intcore->c_magic = H_GET_32 (abfd, &extcore->c_magic);
-  intcore->c_len = H_GET_32 (abfd, &extcore->c_len);
-  intcore->c_regs_pos = offsetof (struct external_solaris_bcp_core, c_regs);
-  intcore->c_regs_size = sizeof (extcore->c_regs);
-
-  /* The Solaris BCP exdata structure does not contain an a_syms field,
-     so we are unable to synthesize an internal exec header.
-     Luckily we are able to figure out the start address of the data section,
-     which is the only thing needed from the internal exec header,
-     from the exdata structure.
-
-     As of Solaris 2.3, BCP core files for statically linked executables
-     are buggy. The exdata structure is not properly filled in, and
-     the data section is written from address zero instead of the data
-     start address.  */
-  memset ((void *) &intcore->c_aouthdr, 0, sizeof (struct internal_exec));
-  intcore->c_data_addr = H_GET_32 (abfd, &extcore->c_exdata_datorg);
-  intcore->c_signo = H_GET_32 (abfd, &extcore->c_signo);
-  intcore->c_tsize = H_GET_32 (abfd, &extcore->c_tsize);
-  intcore->c_dsize = H_GET_32 (abfd, &extcore->c_dsize);
-  intcore->c_ssize = H_GET_32 (abfd, &extcore->c_ssize);
-  memcpy (intcore->c_cmdname, extcore->c_cmdname, sizeof (intcore->c_cmdname));
-  intcore->fp_stuff_pos =
-    offsetof (struct external_solaris_bcp_core, fp_stuff);
-  /* FP stuff takes up whole rest of struct, except c_ucode.  */
-  intcore->fp_stuff_size = intcore->c_len - (sizeof extcore->c_ucode) -
-    offsetof (struct external_solaris_bcp_core, fp_stuff);
-  /* Ucode is the last thing in the struct -- just before the end */
-  intcore->c_ucode = H_GET_32 (abfd,
-			       (intcore->c_len
-				- sizeof (extcore->c_ucode)
-				+ (unsigned char *) extcore));
-
-  /* Supposedly the user stack grows downward from the bottom of kernel memory.
-     Presuming that this remains true, this definition will work.  */
-  /* Now sun has provided us with another challenge.  The value is different
-     for sparc2 and sparc10 (both running SunOS 4.1.3).  We pick one or
-     the other based on the current value of the stack pointer.  This
-     loses (a) if the stack pointer has been clobbered, or (b) if the stack
-     is larger than 128 megabytes.
-
-     It's times like these you're glad they're switching to ELF.
-
-     Note that using include files or nlist on /vmunix would be wrong,
-     because we want the value for this core file, no matter what kind of
-     machine we were compiled on or are running on.  */
-#define SPARC_USRSTACK_SPARC2 ((bfd_vma)0xf8000000)
-#define SPARC_USRSTACK_SPARC10 ((bfd_vma)0xf0000000)
-  {
-    bfd_vma sp = H_GET_32 (abfd, &extcore->c_regs.r_o6);
-    if (sp < SPARC_USRSTACK_SPARC10)
-      intcore->c_stacktop = SPARC_USRSTACK_SPARC10;
-    else
-      intcore->c_stacktop = SPARC_USRSTACK_SPARC2;
-  }
-}
-
-/* Need this cast because ptr is really void *.  */
-#define core_hdr(bfd)      ((bfd)->tdata.sun_core_data)
-#define core_datasec(bfd)  (core_hdr (bfd)->data_section)
-#define core_stacksec(bfd) (core_hdr (bfd)->stack_section)
-#define core_regsec(bfd)   (core_hdr (bfd)->reg_section)
-#define core_reg2sec(bfd)  (core_hdr (bfd)->reg2_section)
-
-/* These are stored in the bfd's tdata.  */
-struct sun_core_struct
-{
-  struct internal_sunos_core *hdr;	/* Core file header.  */
-  asection *data_section;
-  asection *stack_section;
-  asection *reg_section;
-  asection *reg2_section;
-};
-
-static const bfd_target *
-sunos4_core_file_p (bfd *abfd)
-{
-  unsigned char longbuf[4];	/* Raw bytes of various header fields.  */
-  bfd_size_type core_size, amt;
-  unsigned long core_mag;
-  struct internal_sunos_core *core;
-  char *extcore;
-  struct mergem
-    {
-      struct sun_core_struct suncoredata;
-      struct internal_sunos_core internal_sunos_core;
-      char external_core[1];
-    } *mergem;
-  flagword flags;
-
-  if (bfd_bread ((void *) longbuf, (bfd_size_type) sizeof (longbuf), abfd)
-      != sizeof (longbuf))
-    return NULL;
-  core_mag = H_GET_32 (abfd, longbuf);
-
-  if (core_mag != CORE_MAGIC)
-    return NULL;
-
-  /* SunOS core headers can vary in length; second word is size; */
-  if (bfd_bread ((void *) longbuf, (bfd_size_type) sizeof (longbuf), abfd)
-      != sizeof (longbuf))
-    return NULL;
-  core_size = H_GET_32 (abfd, longbuf);
-  /* Sanity check.  */
-  if (core_size > 20000)
-    return NULL;
-
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
-    return NULL;
-
-  amt = core_size + sizeof (struct mergem);
-  mergem = bfd_zalloc (abfd, amt);
-  if (mergem == NULL)
-    return NULL;
-
-  extcore = mergem->external_core;
-
-  if ((bfd_bread ((void *) extcore, core_size, abfd)) != core_size)
-    {
-    loser:
-      bfd_release (abfd, (char *) mergem);
-      abfd->tdata.any = NULL;
-      bfd_section_list_clear (abfd);
-      return NULL;
-    }
-
-  /* Validate that it's a core file we know how to handle, due to sun
-     botching the positioning of registers and other fields in a machine
-     dependent way.  */
-  core = &mergem->internal_sunos_core;
-  switch (core_size)
-    {
-    case SPARC_CORE_LEN:
-      swapcore_sparc (abfd, extcore, core);
-      break;
-    case SUN3_CORE_LEN:
-      swapcore_sun3 (abfd, extcore, core);
-      break;
-    case SOLARIS_BCP_CORE_LEN:
-      swapcore_solaris_bcp (abfd, extcore, core);
-      break;
-    default:
-      bfd_set_error (bfd_error_system_call);	/* FIXME.  */
-      goto loser;
-    }
-
-  abfd->tdata.sun_core_data = &mergem->suncoredata;
-  abfd->tdata.sun_core_data->hdr = core;
-
-  /* Create the sections.  */
-  flags = SEC_ALLOC + SEC_LOAD + SEC_HAS_CONTENTS;
-  core_stacksec (abfd) = bfd_make_section_anyway_with_flags (abfd, ".stack",
-							     flags);
-  if (core_stacksec (abfd) == NULL)
-    /* bfd_release frees everything allocated after it's arg.  */
-    goto loser;
-
-  flags = SEC_ALLOC + SEC_LOAD + SEC_HAS_CONTENTS;
-  core_datasec (abfd) = bfd_make_section_anyway_with_flags (abfd, ".data",
-							    flags);
-  if (core_datasec (abfd) == NULL)
-    goto loser;
-
-  flags = SEC_HAS_CONTENTS;
-  core_regsec (abfd) = bfd_make_section_anyway_with_flags (abfd, ".reg",
-							   flags);
-  if (core_regsec (abfd) == NULL)
-    goto loser;
-
-  flags = SEC_HAS_CONTENTS;
-  core_reg2sec (abfd) = bfd_make_section_anyway_with_flags (abfd, ".reg2",
-							    flags);
-  if (core_reg2sec (abfd) == NULL)
-    goto loser;
-
-  core_stacksec (abfd)->size = core->c_ssize;
-  core_datasec (abfd)->size = core->c_dsize;
-  core_regsec (abfd)->size = core->c_regs_size;
-  core_reg2sec (abfd)->size = core->fp_stuff_size;
-
-  core_stacksec (abfd)->vma = (core->c_stacktop - core->c_ssize);
-  core_datasec (abfd)->vma = core->c_data_addr;
-  core_regsec (abfd)->vma = 0;
-  core_reg2sec (abfd)->vma = 0;
-
-  core_stacksec (abfd)->filepos = core->c_len + core->c_dsize;
-  core_datasec (abfd)->filepos = core->c_len;
-  /* We'll access the regs afresh in the core file, like any section:  */
-  core_regsec (abfd)->filepos = (file_ptr) core->c_regs_pos;
-  core_reg2sec (abfd)->filepos = (file_ptr) core->fp_stuff_pos;
-
-  /* Align to word at least.  */
-  core_stacksec (abfd)->alignment_power = 2;
-  core_datasec (abfd)->alignment_power = 2;
-  core_regsec (abfd)->alignment_power = 2;
-  core_reg2sec (abfd)->alignment_power = 2;
-
-  return abfd->xvec;
-}
-
-static char *
-sunos4_core_file_failing_command (bfd *abfd)
-{
-  return core_hdr (abfd)->hdr->c_cmdname;
-}
-
-static int
-sunos4_core_file_failing_signal (bfd *abfd)
-{
-  return core_hdr (abfd)->hdr->c_signo;
-}
-
-static bfd_boolean
-sunos4_core_file_matches_executable_p (bfd *core_bfd, bfd *exec_bfd)
-{
-  if (core_bfd->xvec != exec_bfd->xvec)
-    {
-      bfd_set_error (bfd_error_system_call);
-      return FALSE;
-    }
-
-  /* Solaris core files do not include an aouthdr.  */
-  if ((core_hdr (core_bfd)->hdr)->c_len == SOLARIS_BCP_CORE_LEN)
-    return TRUE;
-
-  return memcmp ((char *) &((core_hdr (core_bfd)->hdr)->c_aouthdr),
-		 (char *) exec_hdr (exec_bfd),
-		 sizeof (struct internal_exec)) == 0;
-}
-
-#define MY_set_sizes sunos4_set_sizes
-
-static bfd_boolean
-sunos4_set_sizes (bfd *abfd)
-{
-  switch (bfd_get_arch (abfd))
-    {
-    default:
-      return FALSE;
-    case bfd_arch_sparc:
-      adata (abfd).page_size = 0x2000;
-      adata (abfd).segment_size = 0x2000;
-      adata (abfd).exec_bytes_size = EXEC_BYTES_SIZE;
-      return TRUE;
-    case bfd_arch_m68k:
-      adata (abfd).page_size = 0x2000;
-      adata (abfd).segment_size = 0x20000;
-      adata (abfd).exec_bytes_size = EXEC_BYTES_SIZE;
-      return TRUE;
-    }
-}
-
-/* We default to setting the toolversion field to 1, as is required by
-   SunOS.  */
-#ifndef MY_exec_hdr_flags
-#define MY_exec_hdr_flags 1
-#endif
-
-#ifndef MY_entry_is_text_address
-#define MY_entry_is_text_address 0
-#endif
-#ifndef MY_add_dynamic_symbols
-#define MY_add_dynamic_symbols 0
-#endif
-#ifndef MY_add_one_symbol
-#define MY_add_one_symbol 0
-#endif
-#ifndef MY_link_dynamic_object
-#define MY_link_dynamic_object 0
-#endif
-#ifndef MY_write_dynamic_symbol
-#define MY_write_dynamic_symbol 0
-#endif
-#ifndef MY_check_dynamic_reloc
-#define MY_check_dynamic_reloc 0
-#endif
-#ifndef MY_finish_dynamic_link
-#define MY_finish_dynamic_link 0
-#endif
-
-static const struct aout_backend_data sunos4_aout_backend =
-{
-  0,				/* Zmagic files are not contiguous.  */
-  1,				/* Text includes header.  */
-  MY_entry_is_text_address,
-  MY_exec_hdr_flags,
-  0,				/* Default text vma.  */
-  sunos4_set_sizes,
-  0,				/* Header is counted in zmagic text.  */
-  MY_add_dynamic_symbols,
-  MY_add_one_symbol,
-  MY_link_dynamic_object,
-  MY_write_dynamic_symbol,
-  MY_check_dynamic_reloc,
-  MY_finish_dynamic_link
-};
-
-#define	MY_core_file_failing_command	sunos4_core_file_failing_command
-#define	MY_core_file_failing_signal	sunos4_core_file_failing_signal
-#define	MY_core_file_matches_executable_p sunos4_core_file_matches_executable_p
-
-#define MY_bfd_debug_info_start		bfd_void
-#define MY_bfd_debug_info_end		bfd_void
-#define MY_bfd_debug_info_accumulate	(void (*) (bfd *, struct bfd_section *)) bfd_void
-#define MY_core_file_p			sunos4_core_file_p
-#define MY_write_object_contents	NAME(aout, sunos4_write_object_contents)
-#define MY_backend_data			& sunos4_aout_backend
-
-#ifndef TARGET_IS_LITTLE_ENDIAN_P
-#define TARGET_IS_BIG_ENDIAN_P
-#endif
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout-sparcle.c ./bfd/aout-sparcle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout-sparcle.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/aout-sparcle.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,37 +0,0 @@
-/* BFD backend for sparc little-endian aout binaries.
-   Copyright (C) 1996-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-#define TARGETNAME "a.out-sparc-little"
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (sparc_aout_le_,OP)
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "bfdlink.h"
-#include "libaout.h"
-
-#define MACHTYPE_OK(mtype) ((mtype) == M_SPARC || (mtype) == M_SPARCLET)
-
-/* Include the usual a.out support.  */
-#define TARGET_IS_LITTLE_ENDIAN_P
-#include "aoutf1.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout-target.h ./bfd/aout-target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout-target.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/aout-target.h	2018-07-10 02:06:11.000000000 +0000
@@ -407,14 +407,13 @@ MY_bfd_final_link (bfd *abfd, struct bfd
 #endif
 
 #ifndef MY_bfd_debug_info_start
-#define MY_bfd_debug_info_start		bfd_void
+#define MY_bfd_debug_info_start		_bfd_void_bfd
 #endif
 #ifndef MY_bfd_debug_info_end
-#define MY_bfd_debug_info_end		bfd_void
+#define MY_bfd_debug_info_end		_bfd_void_bfd
 #endif
 #ifndef MY_bfd_debug_info_accumulate
-#define MY_bfd_debug_info_accumulate	\
-		(void (*) (bfd *, struct bfd_section *)) bfd_void
+#define MY_bfd_debug_info_accumulate	_bfd_void_bfd_asection
 #endif
 
 #ifndef MY_core_file_failing_command
@@ -513,6 +512,9 @@ MY_bfd_final_link (bfd *abfd, struct bfd
 #ifndef MY_bfd_define_common_symbol
 #define MY_bfd_define_common_symbol bfd_generic_define_common_symbol
 #endif
+#ifndef MY_bfd_link_hide_symbol
+#define MY_bfd_link_hide_symbol _bfd_generic_link_hide_symbol
+#endif
 #ifndef MY_bfd_define_start_stop
 #define MY_bfd_define_start_stop bfd_generic_define_start_stop
 #endif
@@ -581,7 +583,7 @@ MY_bfd_final_link (bfd *abfd, struct bfd
 #endif
 
 #ifndef MY_bfd_is_target_special_symbol
-#define MY_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define MY_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
 #endif
 
 #ifndef MY_bfd_free_cached_info
@@ -669,12 +671,24 @@ const bfd_target MY (vec) =
      bfd_getl32, bfd_getl_signed_32, bfd_putl32,
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Headers.  */
 #endif
-    {_bfd_dummy_target, MY_object_p,		/* bfd_check_format.  */
-       bfd_generic_archive_p, MY_core_file_p},
-    {bfd_false, MY_mkobject,			/* bfd_set_format.  */
-       _bfd_generic_mkarchive, bfd_false},
-    {bfd_false, MY_write_object_contents,	/* bfd_write_contents.  */
-       _bfd_write_archive_contents, bfd_false},
+    {				/* bfd_check_format.  */
+      _bfd_dummy_target,
+      MY_object_p,
+      bfd_generic_archive_p,
+      MY_core_file_p
+    },
+    {				/* bfd_set_format.  */
+      _bfd_bool_bfd_false_error,
+      MY_mkobject,
+      _bfd_generic_mkarchive,
+      _bfd_bool_bfd_false_error
+    },
+    {				/* bfd_write_contents.  */
+      _bfd_bool_bfd_false_error,
+      MY_write_object_contents,
+      _bfd_write_archive_contents,
+      _bfd_bool_bfd_false_error
+    },
 
      BFD_JUMP_TABLE_GENERIC (MY),
      BFD_JUMP_TABLE_COPY (MY),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout-tic30.c ./bfd/aout-tic30.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aout-tic30.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/aout-tic30.c	2018-07-10 02:06:11.000000000 +0000
@@ -862,14 +862,13 @@ tic30_aout_set_arch_mach (bfd *abfd,
 #endif
 
 #ifndef MY_bfd_debug_info_start
-#define MY_bfd_debug_info_start		bfd_void
+#define MY_bfd_debug_info_start		_bfd_void_bfd
 #endif
 #ifndef MY_bfd_debug_info_end
-#define MY_bfd_debug_info_end		bfd_void
+#define MY_bfd_debug_info_end		_bfd_void_bfd
 #endif
 #ifndef MY_bfd_debug_info_accumulate
-#define MY_bfd_debug_info_accumulate	\
-		(void (*) (bfd*, struct bfd_section *)) bfd_void
+#define MY_bfd_debug_info_accumulate	_bfd_void_bfd_asection
 #endif
 
 #ifndef MY_core_file_failing_command
@@ -968,6 +967,9 @@ tic30_aout_set_arch_mach (bfd *abfd,
 #ifndef MY_bfd_define_common_symbol
 #define MY_bfd_define_common_symbol bfd_generic_define_common_symbol
 #endif
+#ifndef MY_bfd_link_hide_symbol
+#define MY_bfd_link_hide_symbol _bfd_generic_link_hide_symbol
+#endif
 #ifndef MY_bfd_define_start_stop
 #define MY_bfd_define_start_stop bfd_generic_define_start_stop
 #endif
@@ -1036,8 +1038,7 @@ tic30_aout_set_arch_mach (bfd *abfd,
 #endif
 
 #ifndef MY_bfd_is_target_special_symbol
-#define MY_bfd_is_target_special_symbol  \
-  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define MY_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
 #endif
 
 #ifndef MY_bfd_free_cached_info
@@ -1099,12 +1100,24 @@ const bfd_target tic30_aout_vec =
   bfd_getb64, bfd_getb_signed_64, bfd_putb64,
   bfd_getb32, bfd_getb_signed_32, bfd_putb32,
   bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* Headers.  */
-  {_bfd_dummy_target, MY_object_p,		/* bfd_check_format.  */
-   bfd_generic_archive_p, MY_core_file_p},
-  {bfd_false, MY_mkobject,			/* bfd_set_format.  */
-   _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, MY_write_object_contents,		/* bfd_write_contents.  */
-   _bfd_write_archive_contents, bfd_false},
+  {				/* bfd_check_format.  */
+    _bfd_dummy_target,
+    MY_object_p,
+    bfd_generic_archive_p,
+    MY_core_file_p
+  },
+  {				/* bfd_set_format.  */
+    _bfd_bool_bfd_false_error,
+    MY_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents.  */
+    _bfd_bool_bfd_false_error,
+    MY_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
 
   BFD_JUMP_TABLE_GENERIC (MY),
   BFD_JUMP_TABLE_COPY (MY),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aoutx.h ./bfd/aoutx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/aoutx.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/aoutx.h	2018-07-10 02:06:11.000000000 +0000
@@ -33,14 +33,13 @@ DESCRIPTION
 	The support is split into a basic support file @file{aoutx.h}
 	and other files which derive functions from the base. One
 	derivation file is @file{aoutf1.h} (for a.out flavour 1), and
-	adds to the basic a.out functions support for sun3, sun4, 386
-	and 29k a.out files, to create a target jump vector for a
-	specific target.
+	adds to the basic a.out functions support for sun3, sun4, and
+	386 a.out files, to create a target jump vector for a specific
+	target.
 
 	This information is further split out into more specific files
 	for each machine, including @file{sunos.c} for sun3 and sun4,
-	@file{newsos3.c} for the Sony NEWS, and @file{demo64.c} for a
-	demonstration of a 64 bit a.out format.
+	and @file{demo64.c} for a demonstration of a 64 bit a.out format.
 
 	The base file @file{aoutx.h} defines general mechanisms for
 	reading and writing records to and from disk and various
@@ -136,10 +135,9 @@ DESCRIPTION
 	The file @file{aoutx.h} provides for both the @emph{standard}
 	and @emph{extended} forms of a.out relocation records.
 
-	The standard records contain only an
-	address, a symbol index, and a type field. The extended records
-	(used on 29ks and sparcs) also have a full integer for an
-	addend.  */
+	The standard records contain only an address, a symbol index,
+	and a type field.  The extended records also have a full
+	integer for an addend.  */
 
 #ifndef CTOR_TABLE_RELOC_HOWTO
 #define CTOR_TABLE_RELOC_IDX 2
@@ -469,10 +467,7 @@ NAME (aout, some_aout_object_p) (bfd *ab
   oldrawptr = abfd->tdata.aout_data;
   abfd->tdata.aout_data = rawptr;
 
-  /* Copy the contents of the old tdata struct.
-     In particular, we want the subformat, since for hpux it was set in
-     hp300hpux.c:swap_exec_header_in and will be used in
-     hp300hpux.c:callback.  */
+  /* Copy the contents of the old tdata struct.  */
   if (oldrawptr != NULL)
     *abfd->tdata.aout_data = *oldrawptr;
 
@@ -753,17 +748,6 @@ NAME (aout, machine_type) (enum bfd_arch
 	arch_flags = M_SPARCLET;
       break;
 
-    case bfd_arch_m68k:
-      switch (machine)
-	{
-	case 0:		      arch_flags = M_68010; break;
-	case bfd_mach_m68000: arch_flags = M_UNKNOWN; *unknown = FALSE; break;
-	case bfd_mach_m68010: arch_flags = M_68010; break;
-	case bfd_mach_m68020: arch_flags = M_68020; break;
-	default:	      arch_flags = M_UNKNOWN; break;
-	}
-      break;
-
     case bfd_arch_i386:
       if (machine == 0
 	  || machine == bfd_mach_i386_i386
@@ -842,10 +826,6 @@ NAME (aout, machine_type) (enum bfd_arch
 	arch_flags = M_CRIS;
       break;
 
-    case bfd_arch_m88k:
-      *unknown = FALSE;
-      break;
-
     default:
       arch_flags = M_UNKNOWN;
     }
@@ -1281,7 +1261,7 @@ NAME (aout, set_section_contents) (bfd *
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	   (_("%B: can not represent section `%A' in a.out object file format"),
+	   (_("%pB: can not represent section `%pA' in a.out object file format"),
 	     abfd, section);
 	  bfd_set_error (bfd_error_nonrepresentable_section);
 	  return FALSE;
@@ -1363,7 +1343,7 @@ aout_get_external_symbols (bfd *abfd)
 #ifdef USE_MMAP
       if (stringsize >= BYTES_IN_WORD)
 	{
-	  if (! bfd_get_file_window (abfd, obj_str_filepos (abfd), stringsize,
+	  if (! bfd_get_file_window (abfd, obj_str_filepos (abfd), stringsize + 1,
 				     &obj_aout_string_window (abfd), TRUE))
 	    return FALSE;
 	  strings = (char *) obj_aout_string_window (abfd).data;
@@ -1371,7 +1351,7 @@ aout_get_external_symbols (bfd *abfd)
       else
 #endif
 	{
-	  strings = (char *) bfd_malloc (stringsize);
+	  strings = (char *) bfd_malloc (stringsize + 1);
 	  if (strings == NULL)
 	    return FALSE;
 
@@ -1390,7 +1370,8 @@ aout_get_external_symbols (bfd *abfd)
       /* Ensure that a zero index yields an empty string.  */
       strings[0] = '\0';
 
-      strings[stringsize - 1] = 0;
+      /* Ensure that the string buffer is NUL terminated.  */
+      strings[stringsize] = 0;
 
       obj_aout_external_strings (abfd) = strings;
       obj_aout_external_string_size (abfd) = stringsize;
@@ -1597,7 +1578,7 @@ translate_to_native_sym_flags (bfd *abfd
 	 file.  */
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: can not represent section for symbol `%s' in a.out "
+	(_("%pB: can not represent section for symbol `%s' in a.out "
 	   "object file format"),
 	 abfd,
 	 cache_ptr->name != NULL ? cache_ptr->name : _("*unknown*"));
@@ -1633,7 +1614,7 @@ translate_to_native_sym_flags (bfd *abfd
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	   (_("%B: can not represent section `%A' in a.out object file format"),
+	   (_("%pB: can not represent section `%pA' in a.out object file format"),
 	     abfd, sec);
 	  bfd_set_error (bfd_error_nonrepresentable_section);
 	  return FALSE;
@@ -1734,7 +1715,13 @@ NAME (aout, translate_symbol_table) (bfd
       else if (x < strsize)
 	in->symbol.name = str + x;
       else
-	return FALSE;
+	{
+	  _bfd_error_handler
+	    (_("%pB: invalid string offset %" PRIu64 " >= %" PRIu64),
+	     abfd, (uint64_t) x, (uint64_t) strsize);
+	  bfd_set_error (bfd_error_bad_value);
+	  return FALSE;
+	}
 
       in->symbol.value = GET_SWORD (abfd,  ext->e_value);
       in->desc = H_GET_16 (abfd, ext->e_desc);
@@ -2283,10 +2270,12 @@ NAME (aout, swap_std_reloc_in) (bfd *abf
   if (r_baserel)
     r_extern = 1;
 
-  if (r_extern && r_index > symcount)
+  if (r_extern && r_index >= symcount)
     {
       /* We could arrange to return an error, but it might be useful
-	 to see the file even if it is bad.  */
+	 to see the file even if it is bad.  FIXME: Of course this
+	 means that objdump -r *doesn't* see the actual reloc, and
+	 objcopy silently writes a different reloc.  */
       r_extern = 0;
       r_index = N_ABS;
     }
@@ -2420,7 +2409,7 @@ NAME (aout, squirt_out_relocs) (bfd *abf
 	    {
 	      bfd_set_error (bfd_error_invalid_operation);
 	      _bfd_error_handler (_("\
-%B: attempt to write out unknown reloc type"), abfd);
+%pB: attempt to write out unknown reloc type"), abfd);
 	      return FALSE;
 	    }
 	  MY_swap_ext_reloc_out (abfd, *generic,
@@ -2438,7 +2427,7 @@ NAME (aout, squirt_out_relocs) (bfd *abf
 	    {
 	      bfd_set_error (bfd_error_invalid_operation);
 	      _bfd_error_handler (_("\
-%B: attempt to write out unknown reloc type"), abfd);
+%pB: attempt to write out unknown reloc type"), abfd);
 	      return FALSE;
 	    }
 	  MY_swap_std_reloc_out (abfd, *generic,
@@ -2735,7 +2724,10 @@ NAME (aout, find_nearest_line) (bfd *abf
 		  const char *symname;
 
 		  symname = q->symbol.name;
-		  if (strcmp (symname + strlen (symname) - 2, ".o") == 0)
+
+		  if (symname != NULL
+		      && strlen (symname) > 2
+		      && strcmp (symname + strlen (symname) - 2, ".o") == 0)
 		    {
 		      if (q->symbol.value > low_line_vma)
 			{
@@ -2800,8 +2792,8 @@ NAME (aout, find_nearest_line) (bfd *abf
 	    case N_FUN:
 	      {
 		/* We'll keep this if it is nearer than the one we have already.  */
-		if (q->symbol.value >= low_func_vma &&
-		    q->symbol.value <= offset)
+		if (q->symbol.value >= low_func_vma
+		    && q->symbol.value <= offset)
 		  {
 		    low_func_vma = q->symbol.value;
 		    func = (asymbol *)q;
@@ -3366,13 +3358,14 @@ aout_link_check_ar_symbols (bfd *abfd,
 
 	      switch (info->common_skip_ar_symbols)
 		{
+		case bfd_link_common_skip_none:
+		  break;
 		case bfd_link_common_skip_text:
 		  skip = (type == (N_TEXT | N_EXT));
 		  break;
 		case bfd_link_common_skip_data:
 		  skip = (type == (N_DATA | N_EXT));
 		  break;
-		default:
 		case bfd_link_common_skip_all:
 		  skip = 1;
 		  break;
@@ -4088,8 +4081,8 @@ aout_link_input_section_std (struct aout
 
       if (howto == NULL)
 	{
-	  (*flaginfo->info->callbacks->einfo)
-	    (_("%P: %B: unexpected relocation type\n"), input_bfd);
+	  _bfd_error_handler (_("%pB: unsupported relocation type"),
+			      input_bfd);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -4409,8 +4402,8 @@ aout_link_input_section_ext (struct aout
 
       if (r_type >= TABLE_SIZE (howto_table_ext))
 	{
-	  (*flaginfo->info->callbacks->einfo)
-	    (_("%P: %B: unexpected relocation type\n"), input_bfd);
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      input_bfd, r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -5436,7 +5429,7 @@ NAME (aout, final_link) (bfd *abfd,
 		 by the reloc size.  */
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocatable link from %s to %s not supported"),
+		(_("%pB: relocatable link from %s to %s not supported"),
 		 abfd, sub->xvec->name, abfd->xvec->name);
 	      bfd_set_error (bfd_error_invalid_operation);
 	      goto error_return;
@@ -5494,8 +5487,7 @@ NAME (aout, final_link) (bfd *abfd,
      FIXME: At this point we do not know how much space the symbol
      table will require.  This will not work for any (nonstandard)
      a.out target that needs to know the symbol table size before it
-     can compute the relocation file positions.  This may or may not
-     be the case for the hp300hpux target, for example.  */
+     can compute the relocation file positions.  */
   (*callback) (abfd, &aout_info.treloff, &aout_info.dreloff,
 	       &aout_info.symoff);
   obj_textsec (abfd)->rel_filepos = aout_info.treloff;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/archive.c ./bfd/archive.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/archive.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/archive.c	2018-07-10 02:06:11.000000000 +0000
@@ -754,6 +754,13 @@ _bfd_generic_get_elt_at_index (bfd *abfd
   return _bfd_get_elt_at_filepos (abfd, entry->file_offset);
 }
 
+bfd *
+_bfd_noarchive_get_elt_at_index (bfd *abfd,
+				 symindex sym_index ATTRIBUTE_UNUSED)
+{
+  return (bfd *) _bfd_ptr_bfd_null_error (abfd);
+}
+
 /*
 FUNCTION
 	bfd_openr_next_archived_file
@@ -816,6 +823,13 @@ bfd_generic_openr_next_archived_file (bf
   return _bfd_get_elt_at_filepos (archive, filestart);
 }
 
+bfd *
+_bfd_noarchive_openr_next_archived_file (bfd *archive,
+					 bfd *last_file ATTRIBUTE_UNUSED)
+{
+  return (bfd *) _bfd_ptr_bfd_null_error (archive);
+}
+
 const bfd_target *
 bfd_generic_archive_p (bfd *abfd)
 {
@@ -833,12 +847,9 @@ bfd_generic_archive_p (bfd *abfd)
   bfd_is_thin_archive (abfd) = (strncmp (armag, ARMAGT, SARMAG) == 0);
 
   if (strncmp (armag, ARMAG, SARMAG) != 0
-      && strncmp (armag, ARMAGB, SARMAG) != 0
       && ! bfd_is_thin_archive (abfd))
     {
       bfd_set_error (bfd_error_wrong_format);
-      if (abfd->format == bfd_archive)
-	abfd->format = bfd_unknown;
       return NULL;
     }
 
@@ -1028,21 +1039,6 @@ do_slurp_coff_armap (bfd *abfd)
   nsymz = bfd_getb32 (int_buf);
   stringsize = parsed_size - (4 * nsymz) - 4;
 
-  /* ... except that some archive formats are broken, and it may be our
-     fault - the i960 little endian coff sometimes has big and sometimes
-     little, because our tools changed.  Here's a horrible hack to clean
-     up the crap.  */
-
-  if (stringsize > 0xfffff
-      && bfd_get_arch (abfd) == bfd_arch_i960
-      && bfd_get_flavour (abfd) == bfd_target_coff_flavour)
-    {
-      /* This looks dangerous, let's do it the other way around.  */
-      nsymz = bfd_getl32 (int_buf);
-      stringsize = parsed_size - (4 * nsymz) - 4;
-      swap = bfd_getl32;
-    }
-
   /* The coff armap must be read sequentially.  So we construct a
      bsd-style one in core all at once, for simplicity.  */
 
@@ -1184,115 +1180,6 @@ bfd_slurp_armap (bfd *abfd)
   return TRUE;
 }
 
-/* Returns FALSE on error, TRUE otherwise.  */
-/* Flavor 2 of a bsd armap, similar to bfd_slurp_bsd_armap except the
-   header is in a slightly different order and the map name is '/'.
-   This flavour is used by hp300hpux.  */
-
-#define HPUX_SYMDEF_COUNT_SIZE 2
-
-bfd_boolean
-bfd_slurp_bsd_armap_f2 (bfd *abfd)
-{
-  struct areltdata *mapdata;
-  char nextname[17];
-  unsigned int counter;
-  bfd_byte *raw_armap, *rbase;
-  struct artdata *ardata = bfd_ardata (abfd);
-  char *stringbase;
-  unsigned int stringsize;
-  unsigned int left;
-  bfd_size_type amt;
-  carsym *set;
-  int i = bfd_bread (nextname, 16, abfd);
-
-  if (i == 0)
-    return TRUE;
-  if (i != 16)
-    return FALSE;
-
-  /* The archive has at least 16 bytes in it.  */
-  if (bfd_seek (abfd, (file_ptr) -16, SEEK_CUR) != 0)
-    return FALSE;
-
-  if (CONST_STRNEQ (nextname, "__.SYMDEF       ")
-      || CONST_STRNEQ (nextname, "__.SYMDEF/      ")) /* Old Linux archives.  */
-    return do_slurp_bsd_armap (abfd);
-
-  if (! CONST_STRNEQ (nextname, "/               "))
-    {
-      bfd_has_map (abfd) = FALSE;
-      return TRUE;
-    }
-
-  mapdata = (struct areltdata *) _bfd_read_ar_hdr (abfd);
-  if (mapdata == NULL)
-    return FALSE;
-
-  if (mapdata->parsed_size < HPUX_SYMDEF_COUNT_SIZE + BSD_STRING_COUNT_SIZE)
-    {
-      free (mapdata);
-    wrong_format:
-      bfd_set_error (bfd_error_wrong_format);
-    byebye:
-      return FALSE;
-    }
-  left = mapdata->parsed_size - HPUX_SYMDEF_COUNT_SIZE - BSD_STRING_COUNT_SIZE;
-
-  amt = mapdata->parsed_size;
-  free (mapdata);
-
-  raw_armap = (bfd_byte *) bfd_zalloc (abfd, amt);
-  if (raw_armap == NULL)
-    goto byebye;
-
-  if (bfd_bread (raw_armap, amt, abfd) != amt)
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-	bfd_set_error (bfd_error_malformed_archive);
-      goto byebye;
-    }
-
-  ardata->symdef_count = H_GET_16 (abfd, raw_armap);
-
-  ardata->cache = 0;
-
-  stringsize = H_GET_32 (abfd, raw_armap + HPUX_SYMDEF_COUNT_SIZE);
-  if (stringsize > left)
-    goto wrong_format;
-  left -= stringsize;
-
-  /* Skip sym count and string sz.  */
-  stringbase = ((char *) raw_armap
-		+ HPUX_SYMDEF_COUNT_SIZE
-		+ BSD_STRING_COUNT_SIZE);
-  rbase = (bfd_byte *) stringbase + stringsize;
-  amt = ardata->symdef_count * BSD_SYMDEF_SIZE;
-  if (amt > left)
-    goto wrong_format;
-
-  ardata->symdefs = (struct carsym *) bfd_alloc (abfd, amt);
-  if (!ardata->symdefs)
-    return FALSE;
-
-  for (counter = 0, set = ardata->symdefs;
-       counter < ardata->symdef_count;
-       counter++, set++, rbase += BSD_SYMDEF_SIZE)
-    {
-      set->name = H_GET_32 (abfd, rbase) + stringbase;
-      set->file_offset = H_GET_32 (abfd, rbase + BSD_SYMDEF_OFFSET_SIZE);
-    }
-
-  ardata->first_file_filepos = bfd_tell (abfd);
-  /* Pad to an even boundary if you have to.  */
-  ardata->first_file_filepos += (ardata->first_file_filepos) % 2;
-  /* FIXME, we should provide some way to free raw_ardata when
-     we are done using the strings from it.  For now, it seems
-     to be allocated on an objalloc anyway...  */
-  bfd_has_map (abfd) = TRUE;
-  return TRUE;
-}
-
 /** Extended name table.
 
   Normally archives support only 14-character filenames.
@@ -1586,6 +1473,15 @@ _bfd_archive_coff_construct_extended_nam
   return _bfd_construct_extended_name_table (abfd, TRUE, tabloc, tablen);
 }
 
+bfd_boolean
+_bfd_noarchive_construct_extended_name_table (bfd *abfd ATTRIBUTE_UNUSED,
+					      char **tabloc ATTRIBUTE_UNUSED,
+					      bfd_size_type *len ATTRIBUTE_UNUSED,
+					      const char **name ATTRIBUTE_UNUSED)
+{
+  return TRUE;
+}
+
 /* Follows archive_head and produces an extended name table if
    necessary.  Returns (in tabloc) a pointer to an extended name
    table, and in tablen the length of the table.  If it makes an entry
@@ -1884,6 +1780,12 @@ _bfd_bsd44_write_ar_hdr (bfd *archive, b
     }
   return TRUE;
 }
+
+bfd_boolean
+_bfd_noarchive_write_ar_hdr (bfd *archive, bfd *abfd ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (archive);
+}
 
 /* A couple of functions for creating ar_hdrs.  */
 
@@ -2154,6 +2056,13 @@ bfd_gnu_truncate_arname (bfd *abfd, cons
   if (length < 16)
     (hdr->ar_name)[length] = ar_padchar (abfd);
 }
+
+void
+_bfd_noarchive_truncate_arname (bfd *abfd ATTRIBUTE_UNUSED,
+				const char *pathname ATTRIBUTE_UNUSED,
+				char *arhdr ATTRIBUTE_UNUSED)
+{
+}
 
 /* The BFD is open for write and has its format set to bfd_archive.  */
 
@@ -2302,7 +2211,7 @@ _bfd_write_archive_contents (bfd *arch)
 	  if (bfd_update_armap_timestamp (arch))
 	    break;
 	  _bfd_error_handler
-	    (_("Warning: writing archive was slow: rewriting timestamp\n"));
+	    (_("warning: writing archive was slow: rewriting timestamp"));
 	}
       while (++tries < 6);
     }
@@ -2418,7 +2327,7 @@ _bfd_compute_and_write_armap (bfd *arch,
 				     + (syms[src_count]->name[2] == '_'),
 				     "__gnu_lto_slim") == 0)
 			_bfd_error_handler
-			  (_("%B: plugin needed to handle lto object"),
+			  (_("%pB: plugin needed to handle lto object"),
 			   current);
 		      namelen = strlen (syms[src_count]->name);
 		      amt = sizeof (char *);
@@ -2834,6 +2743,17 @@ _bfd_coff_write_armap (bfd *arch,
   return TRUE;
 }
 
+bfd_boolean
+_bfd_noarchive_write_armap
+    (bfd *arch ATTRIBUTE_UNUSED,
+     unsigned int elength ATTRIBUTE_UNUSED,
+     struct orl *map ATTRIBUTE_UNUSED,
+     unsigned int orl_count ATTRIBUTE_UNUSED,
+     int stridx ATTRIBUTE_UNUSED)
+{
+  return TRUE;
+}
+
 static int
 archive_close_worker (void **slot, void *inf ATTRIBUTE_UNUSED)
 {
@@ -2843,6 +2763,30 @@ archive_close_worker (void **slot, void 
   return 1;
 }
 
+void
+_bfd_unlink_from_archive_parent (bfd *abfd)
+{
+  if (arch_eltdata (abfd) != NULL)
+    {
+      struct areltdata *ared = arch_eltdata (abfd);
+      htab_t htab = (htab_t) ared->parent_cache;
+
+      if (htab)
+	{
+	  struct ar_cache ent;
+	  void **slot;
+
+	  ent.ptr = ared->key;
+	  slot = htab_find_slot (htab, &ent, NO_INSERT);
+	  if (slot != NULL)
+	    {
+	      BFD_ASSERT (((struct ar_cache *) *slot)->arbfd == abfd);
+	      htab_clear_slot (htab, slot);
+	    }
+	}
+    }
+}
+
 bfd_boolean
 _bfd_archive_close_and_cleanup (bfd *abfd)
 {
@@ -2867,25 +2811,9 @@ _bfd_archive_close_and_cleanup (bfd *abf
 	  bfd_ardata (abfd)->cache = NULL;
 	}
     }
-  if (arch_eltdata (abfd) != NULL)
-    {
-      struct areltdata *ared = arch_eltdata (abfd);
-      htab_t htab = (htab_t) ared->parent_cache;
 
-      if (htab)
-	{
-	  struct ar_cache ent;
-	  void **slot;
+  _bfd_unlink_from_archive_parent (abfd);
 
-	  ent.ptr = ared->key;
-	  slot = htab_find_slot (htab, &ent, NO_INSERT);
-	  if (slot != NULL)
-	    {
-	      BFD_ASSERT (((struct ar_cache *) *slot)->arbfd == abfd);
-	      htab_clear_slot (htab, slot);
-	    }
-	}
-    }
   if (abfd->is_linker_output)
     (*abfd->link.hash->hash_table_free) (abfd);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/archures.c ./bfd/archures.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/archures.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/archures.c	2018-07-10 02:06:11.000000000 +0000
@@ -63,8 +63,7 @@ DESCRIPTION
 	Another field indicates which processor within
 	the family is in use.  The machine gives a number which
 	distinguishes different versions of the architecture,
-	containing, for example, 2 and 3 for Intel i960 KA and i960 KB,
-	and 68020 and 68030 for Motorola 68020 and 68030.
+	containing, for example, 68020 for Motorola 68020.
 
 .enum bfd_architecture
 .{
@@ -103,23 +102,6 @@ DESCRIPTION
 .#define bfd_mach_mcf_isa_c_nodiv_mac	30
 .#define bfd_mach_mcf_isa_c_nodiv_emac	31
 .  bfd_arch_vax,       {* DEC Vax.  *}
-.  bfd_arch_i960,      {* Intel 960.  *}
-.    {* The order of the following is important.
-.	lower number indicates a machine type that
-.	only accepts a subset of the instructions
-.	available to machines with higher numbers.
-.	The exception is the "ca", which is
-.	incompatible with all other machines except
-.	"core".  *}
-.
-.#define bfd_mach_i960_core	1
-.#define bfd_mach_i960_ka_sa	2
-.#define bfd_mach_i960_kb_sb	3
-.#define bfd_mach_i960_mc	4
-.#define bfd_mach_i960_xa	5
-.#define bfd_mach_i960_ca	6
-.#define bfd_mach_i960_jx	7
-.#define bfd_mach_i960_hx	8
 .
 .  bfd_arch_or1k,      {* OpenRISC 1000.  *}
 .#define bfd_mach_or1k		1
@@ -235,13 +217,8 @@ DESCRIPTION
 .#define bfd_mach_iamcu			(1 << 8)
 .#define bfd_mach_i386_iamcu		(bfd_mach_i386_i386 | bfd_mach_iamcu)
 .#define bfd_mach_i386_iamcu_intel_syntax (bfd_mach_i386_iamcu | bfd_mach_i386_intel_syntax)
-.  bfd_arch_we32k,     {* AT&T WE32xxx.  *}
-.  bfd_arch_tahoe,     {* CCI/Harris Tahoe.  *}
-.  bfd_arch_i860,      {* Intel 860.  *}
-.  bfd_arch_i370,      {* IBM 360/370 Mainframes.  *}
 .  bfd_arch_romp,      {* IBM ROMP PC/RT.  *}
 .  bfd_arch_convex,    {* Convex.  *}
-.  bfd_arch_m88k,      {* Motorola 88xxx.  *}
 .  bfd_arch_m98k,      {* Motorola 98xxx.  *}
 .  bfd_arch_pyramid,   {* Pyramid Technology.  *}
 .  bfd_arch_h8300,     {* Renesas H8/300 (formerly Hitachi H8/300).  *}
@@ -304,10 +281,11 @@ DESCRIPTION
 .#define bfd_mach_m6812s	2
 .  bfd_arch_m9s12x,    {* Freescale S12X.  *}
 .  bfd_arch_m9s12xg,   {* Freescale XGATE.  *}
+.  bfd_arch_s12z,    {* Freescale S12Z.  *}
+.#define bfd_mach_s12z_default 0
 .  bfd_arch_z8k,       {* Zilog Z8000.  *}
 .#define bfd_mach_z8001		1
 .#define bfd_mach_z8002		2
-.  bfd_arch_h8500,     {* Renesas H8/500 (formerly Hitachi H8/500).  *}
 .  bfd_arch_sh,	       {* Renesas / SuperH SH (formerly Hitachi SH).  *}
 .#define bfd_mach_sh				1
 .#define bfd_mach_sh2				0x20
@@ -329,7 +307,6 @@ DESCRIPTION
 .#define bfd_mach_sh4a				0x4a
 .#define bfd_mach_sh4a_nofpu			0x4b
 .#define bfd_mach_sh4al_dsp			0x4d
-.#define bfd_mach_sh5				0x50
 .  bfd_arch_alpha,     {* Dec Alpha.  *}
 .#define bfd_mach_alpha_ev4	0x10
 .#define bfd_mach_alpha_ev5	0x20
@@ -349,6 +326,19 @@ DESCRIPTION
 .#define bfd_mach_arm_ep9312	11
 .#define bfd_mach_arm_iWMMXt	12
 .#define bfd_mach_arm_iWMMXt2	13
+.#define bfd_mach_arm_5TEJ      14
+.#define bfd_mach_arm_6         15
+.#define bfd_mach_arm_6KZ       16
+.#define bfd_mach_arm_6T2       17
+.#define bfd_mach_arm_6K        18
+.#define bfd_mach_arm_7         19
+.#define bfd_mach_arm_6M        20
+.#define bfd_mach_arm_6SM       21
+.#define bfd_mach_arm_7EM       22
+.#define bfd_mach_arm_8         23
+.#define bfd_mach_arm_8R        24
+.#define bfd_mach_arm_8M_BASE   25
+.#define bfd_mach_arm_8M_MAIN   26
 .  bfd_arch_nds32,     {* Andes NDS32.  *}
 .#define bfd_mach_n1		1
 .#define bfd_mach_n1h		2
@@ -356,7 +346,6 @@ DESCRIPTION
 .#define bfd_mach_n1h_v3	4
 .#define bfd_mach_n1h_v3m	5
 .  bfd_arch_ns32k,     {* National Semiconductors ns32000.  *}
-.  bfd_arch_w65,       {* WDC 65816.  *}
 .  bfd_arch_tic30,     {* Texas Instruments TMS320C30.  *}
 .  bfd_arch_tic4x,     {* Texas Instruments TMS320C3X/4X.  *}
 .#define bfd_mach_tic3x		30
@@ -537,6 +526,9 @@ DESCRIPTION
 .#define bfd_mach_wasm32	1
 .  bfd_arch_pru,       {* PRU.  *}
 .#define bfd_mach_pru		0
+.  bfd_arch_nfp,       {* Netronome Flow Processor *}
+.#define bfd_mach_nfp3200	0x3200
+.#define bfd_mach_nfp6000	0x6000
 .  bfd_arch_last
 .  };
 */
@@ -598,13 +590,9 @@ extern const bfd_arch_info_type bfd_epip
 extern const bfd_arch_info_type bfd_fr30_arch;
 extern const bfd_arch_info_type bfd_frv_arch;
 extern const bfd_arch_info_type bfd_h8300_arch;
-extern const bfd_arch_info_type bfd_h8500_arch;
 extern const bfd_arch_info_type bfd_hppa_arch;
-extern const bfd_arch_info_type bfd_i370_arch;
 extern const bfd_arch_info_type bfd_i386_arch;
 extern const bfd_arch_info_type bfd_iamcu_arch;
-extern const bfd_arch_info_type bfd_i860_arch;
-extern const bfd_arch_info_type bfd_i960_arch;
 extern const bfd_arch_info_type bfd_ia64_arch;
 extern const bfd_arch_info_type bfd_ip2k_arch;
 extern const bfd_arch_info_type bfd_iq2000_arch;
@@ -617,8 +605,8 @@ extern const bfd_arch_info_type bfd_m68h
 extern const bfd_arch_info_type bfd_m68hc12_arch;
 extern const bfd_arch_info_type bfd_m9s12x_arch;
 extern const bfd_arch_info_type bfd_m9s12xg_arch;
+extern const bfd_arch_info_type bfd_s12z_arch;
 extern const bfd_arch_info_type bfd_m68k_arch;
-extern const bfd_arch_info_type bfd_m88k_arch;
 extern const bfd_arch_info_type bfd_mcore_arch;
 extern const bfd_arch_info_type bfd_mep_arch;
 extern const bfd_arch_info_type bfd_metag_arch;
@@ -632,6 +620,7 @@ extern const bfd_arch_info_type bfd_ft32
 extern const bfd_arch_info_type bfd_msp430_arch;
 extern const bfd_arch_info_type bfd_mt_arch;
 extern const bfd_arch_info_type bfd_nds32_arch;
+extern const bfd_arch_info_type bfd_nfp_arch;
 extern const bfd_arch_info_type bfd_nios2_arch;
 extern const bfd_arch_info_type bfd_ns32k_arch;
 extern const bfd_arch_info_type bfd_or1k_arch;
@@ -662,8 +651,6 @@ extern const bfd_arch_info_type bfd_v850
 extern const bfd_arch_info_type bfd_vax_arch;
 extern const bfd_arch_info_type bfd_visium_arch;
 extern const bfd_arch_info_type bfd_wasm32_arch;
-extern const bfd_arch_info_type bfd_w65_arch;
-extern const bfd_arch_info_type bfd_we32k_arch;
 extern const bfd_arch_info_type bfd_xstormy16_arch;
 extern const bfd_arch_info_type bfd_xtensa_arch;
 extern const bfd_arch_info_type bfd_xc16x_arch;
@@ -693,13 +680,9 @@ static const bfd_arch_info_type * const 
     &bfd_fr30_arch,
     &bfd_frv_arch,
     &bfd_h8300_arch,
-    &bfd_h8500_arch,
     &bfd_hppa_arch,
-    &bfd_i370_arch,
     &bfd_i386_arch,
     &bfd_iamcu_arch,
-    &bfd_i860_arch,
-    &bfd_i960_arch,
     &bfd_ia64_arch,
     &bfd_ip2k_arch,
     &bfd_iq2000_arch,
@@ -712,8 +695,8 @@ static const bfd_arch_info_type * const 
     &bfd_m68hc12_arch,
     &bfd_m9s12x_arch,
     &bfd_m9s12xg_arch,
+    &bfd_s12z_arch,
     &bfd_m68k_arch,
-    &bfd_m88k_arch,
     &bfd_mcore_arch,
     &bfd_mep_arch,
     &bfd_metag_arch,
@@ -727,6 +710,7 @@ static const bfd_arch_info_type * const 
     &bfd_msp430_arch,
     &bfd_mt_arch,
     &bfd_nds32_arch,
+    &bfd_nfp_arch,
     &bfd_nios2_arch,
     &bfd_ns32k_arch,
     &bfd_or1k_arch,
@@ -753,9 +737,7 @@ static const bfd_arch_info_type * const 
     &bfd_v850_rh850_arch,
     &bfd_vax_arch,
     &bfd_visium_arch,
-    &bfd_w65_arch,
     &bfd_wasm32_arch,
-    &bfd_we32k_arch,
     &bfd_xstormy16_arch,
     &bfd_xtensa_arch,
     &bfd_xc16x_arch,
@@ -1192,19 +1174,6 @@ bfd_default_scan (const bfd_arch_info_ty
 
   switch (number)
     {
-      /* FIXME: These are needed to parse IEEE objects.  */
-      /* The following seven case's are here only for compatibility with
-	 older binutils (at least IEEE objects from binutils 2.9.1 require
-	 them).  */
-    case bfd_mach_m68000:
-    case bfd_mach_m68010:
-    case bfd_mach_m68020:
-    case bfd_mach_m68030:
-    case bfd_mach_m68040:
-    case bfd_mach_m68060:
-    case bfd_mach_cpu32:
-      arch = bfd_arch_m68k;
-      break;
     case 68000:
       arch = bfd_arch_m68k;
       number = bfd_mach_m68000;
@@ -1254,10 +1223,6 @@ bfd_default_scan (const bfd_arch_info_ty
       number = bfd_mach_mcf_isa_aplus_emac;
       break;
 
-    case 32000:
-      arch = bfd_arch_we32k;
-      break;
-
     case 3000:
       arch = bfd_arch_mips;
       number = bfd_mach_mips3000;
@@ -1452,3 +1417,11 @@ bfd_arch_default_fill (bfd_size_type cou
     memset (fill, 0, count);
   return fill;
 }
+
+bfd_boolean
+_bfd_nowrite_set_arch_mach (bfd *abfd,
+			    enum bfd_architecture arch ATTRIBUTE_UNUSED,
+			    unsigned long mach ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/armnetbsd.c ./bfd/armnetbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/armnetbsd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/armnetbsd.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,39 +0,0 @@
-/* BFD back-end for NetBSD/ARM a.out-ish binaries.
-   Copyright (C) 1999-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define	BYTES_IN_WORD		4
-#undef TARGET_IS_BIG_ENDIAN_P
-
-#define	TARGET_PAGE_SIZE	4096
-#define	SEGMENT_SIZE		TARGET_PAGE_SIZE
-
-#define	DEFAULT_ARCH		bfd_arch_arm
-#define	DEFAULT_MID		M_ARM6_NETBSD
-/*#define MACHTYPE_OK(mtype) ((mtype) == M_ARM6_NETBSD)*/
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP)			CONCAT2 (arm_aout_nbsd_, OP)
-
-/* This needs to start with a.out so GDB knows it is an a.out variant.  */
-#define TARGETNAME		"a.out-arm-netbsd"
-
-#include "netbsd.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/bfd.c ./bfd/bfd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/bfd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/bfd.c	2018-07-10 02:06:11.000000000 +0000
@@ -74,8 +74,9 @@ CODE_FRAGMENT
 .     least-recently-used list of BFDs.  *}
 .  struct bfd *lru_prev, *lru_next;
 .
-.  {* When a file is closed by the caching routines, BFD retains
-.     state information on the file here...  *}
+.  {* Track current file position (or current buffer offset for
+.     in-memory BFDs).  When a file is closed by the caching routines,
+.     BFD retains state information on the file here.  *}
 .  ufile_ptr where;
 .
 .  {* File modified time, if mtime_set is TRUE.  *}
@@ -304,21 +305,15 @@ CODE_FRAGMENT
 .    {
 .      struct aout_data_struct *aout_data;
 .      struct artdata *aout_ar_data;
-.      struct _oasys_data *oasys_obj_data;
-.      struct _oasys_ar_data *oasys_ar_data;
 .      struct coff_tdata *coff_obj_data;
 .      struct pe_tdata *pe_obj_data;
 .      struct xcoff_tdata *xcoff_obj_data;
 .      struct ecoff_tdata *ecoff_obj_data;
-.      struct ieee_data_struct *ieee_data;
-.      struct ieee_ar_data_struct *ieee_ar_data;
 .      struct srec_data_struct *srec_data;
 .      struct verilog_data_struct *verilog_data;
 .      struct ihex_data_struct *ihex_data;
 .      struct tekhex_data_struct *tekhex_data;
 .      struct elf_obj_tdata *elf_obj_data;
-.      struct nlm_obj_tdata *nlm_obj_data;
-.      struct bout_data_struct *bout_data;
 .      struct mmo_data_struct *mmo_data;
 .      struct sun_core_struct *sun_core_data;
 .      struct sco5_core_struct *sco5_core_data;
@@ -451,28 +446,28 @@ static bfd_error_type input_error = bfd_
 
 const char *const bfd_errmsgs[] =
 {
-  N_("No error"),
-  N_("System call error"),
-  N_("Invalid bfd target"),
-  N_("File in wrong format"),
-  N_("Archive object file in wrong format"),
-  N_("Invalid operation"),
-  N_("Memory exhausted"),
-  N_("No symbols"),
-  N_("Archive has no index; run ranlib to add one"),
-  N_("No more archived files"),
-  N_("Malformed archive"),
+  N_("no error"),
+  N_("system call error"),
+  N_("invalid bfd target"),
+  N_("file in wrong format"),
+  N_("archive object file in wrong format"),
+  N_("invalid operation"),
+  N_("memory exhausted"),
+  N_("no symbols"),
+  N_("archive has no index; run ranlib to add one"),
+  N_("no more archived files"),
+  N_("malformed archive"),
   N_("DSO missing from command line"),
-  N_("File format not recognized"),
-  N_("File format is ambiguous"),
-  N_("Section has no contents"),
-  N_("Nonrepresentable section on output"),
-  N_("Symbol needs debug section which does not exist"),
-  N_("Bad value"),
-  N_("File truncated"),
-  N_("File too big"),
-  N_("Error reading %s: %s"),
-  N_("#<Invalid error code>")
+  N_("file format not recognized"),
+  N_("file format is ambiguous"),
+  N_("section has no contents"),
+  N_("nonrepresentable section on output"),
+  N_("symbol needs debug section which does not exist"),
+  N_("bad value"),
+  N_("file truncated"),
+  N_("file too big"),
+  N_("error reading %s: %s"),
+  N_("#<invalid error code>")
 };
 
 /*
@@ -649,10 +644,7 @@ union _bfd_doprnt_args
 };
 
 /* This macro and _bfd_doprnt taken from libiberty _doprnt.c, tidied a
-   little and extended to handle '%A', '%B' and positional parameters.
-   'L' as a modifer for integer formats is used for bfd_vma and
-   bfd_size_type args, which vary in size depending on BFD
-   configuration.  */
+   little and extended to handle '%pA', '%pB' and positional parameters.  */
 
 #define PRINT_TYPE(TYPE, FIELD) \
   do								\
@@ -800,21 +792,6 @@ _bfd_doprnt (FILE *stream, const char *f
 		  PRINT_TYPE (int, i);
 		else
 		  {
-		    /* L modifier for bfd_vma or bfd_size_type may be
-		       either long long or long.  */
-		    if (ptr[-2] == 'L')
-		      {
-			sptr[-2] = 'l';
-			if (BFD_ARCH_SIZE < 64 || BFD_HOST_64BIT_LONG)
-			  wide_width = 1;
-			else
-			  {
-			    sptr[-1] = 'l';
-			    *sptr++ = ptr[-1];
-			    *sptr = '\0';
-			  }
-		      }
-
 		    switch (wide_width)
 		      {
 		      case 0:
@@ -866,53 +843,55 @@ _bfd_doprnt (FILE *stream, const char *f
 	      PRINT_TYPE (char *, p);
 	      break;
 	    case 'p':
-	      PRINT_TYPE (void *, p);
-	      break;
-	    case 'A':
-	      {
-		asection *sec;
-		bfd *abfd;
-		const char *group = NULL;
-		struct coff_comdat_info *ci;
-
-		sec = (asection *) args[arg_no].p;
-		if (sec == NULL)
-		  /* Invoking %A with a null section pointer is an
-		     internal error.  */
-		  abort ();
-		abfd = sec->owner;
-		if (abfd != NULL
-		    && bfd_get_flavour (abfd) == bfd_target_elf_flavour
-		    && elf_next_in_group (sec) != NULL
-		    && (sec->flags & SEC_GROUP) == 0)
-		  group = elf_group_name (sec);
-		else if (abfd != NULL
-			 && bfd_get_flavour (abfd) == bfd_target_coff_flavour
-			 && (ci = bfd_coff_get_comdat_section (sec->owner,
-							       sec)) != NULL)
-		  group = ci->name;
-		if (group != NULL)
-		  result = fprintf (stream, "%s[%s]", sec->name, group);
-		else
-		  result = fprintf (stream, "%s", sec->name);
-	      }
-	      break;
-	    case 'B':
-	      {
-		bfd *abfd;
+	      if (*ptr == 'A')
+		{
+		  asection *sec;
+		  bfd *abfd;
+		  const char *group = NULL;
+		  struct coff_comdat_info *ci;
 
-		abfd = (bfd *) args[arg_no].p;
-		if (abfd == NULL)
-		  /* Invoking %B with a null bfd pointer is an
-		     internal error.  */
-		  abort ();
-		else if (abfd->my_archive
-			 && !bfd_is_thin_archive (abfd->my_archive))
-		  result = fprintf (stream, "%s(%s)",
-				    abfd->my_archive->filename, abfd->filename);
-		else
-		  result = fprintf (stream, "%s", abfd->filename);
-	      }
+		  ptr++;
+		  sec = (asection *) args[arg_no].p;
+		  if (sec == NULL)
+		    /* Invoking %pA with a null section pointer is an
+		       internal error.  */
+		    abort ();
+		  abfd = sec->owner;
+		  if (abfd != NULL
+		      && bfd_get_flavour (abfd) == bfd_target_elf_flavour
+		      && elf_next_in_group (sec) != NULL
+		      && (sec->flags & SEC_GROUP) == 0)
+		    group = elf_group_name (sec);
+		  else if (abfd != NULL
+			   && bfd_get_flavour (abfd) == bfd_target_coff_flavour
+			   && (ci = bfd_coff_get_comdat_section (sec->owner,
+								 sec)) != NULL)
+		    group = ci->name;
+		  if (group != NULL)
+		    result = fprintf (stream, "%s[%s]", sec->name, group);
+		  else
+		    result = fprintf (stream, "%s", sec->name);
+		}
+	      else if (*ptr == 'B')
+		{
+		  bfd *abfd;
+
+		  ptr++;
+		  abfd = (bfd *) args[arg_no].p;
+		  if (abfd == NULL)
+		    /* Invoking %pB with a null bfd pointer is an
+		       internal error.  */
+		    abort ();
+		  else if (abfd->my_archive
+			   && !bfd_is_thin_archive (abfd->my_archive))
+		    result = fprintf (stream, "%s(%s)",
+				      abfd->my_archive->filename,
+				      abfd->filename);
+		  else
+		    result = fprintf (stream, "%s", abfd->filename);
+		}
+	      else
+		PRINT_TYPE (void *, p);
 	      break;
 	    default:
 	      abort();
@@ -1049,12 +1028,6 @@ _bfd_doprnt_scan (const char *format, un
 		  arg_type = Int;
 		else
 		  {
-		    if (ptr[-2] == 'L')
-		      {
-			if (BFD_ARCH_SIZE < 64 || BFD_HOST_64BIT_LONG)
-			  wide_width = 1;
-		      }
-
 		    switch (wide_width)
 		      {
 		      case 0:
@@ -1094,9 +1067,11 @@ _bfd_doprnt_scan (const char *format, un
 	      }
 	      break;
 	    case 's':
+	      arg_type = Ptr;
+	      break;
 	    case 'p':
-	    case 'A':
-	    case 'B':
+	      if (*ptr == 'A' || *ptr == 'B')
+		ptr++;
 	      arg_type = Ptr;
 	      break;
 	    default:
@@ -1113,14 +1088,6 @@ _bfd_doprnt_scan (const char *format, un
   return arg_count;
 }
 
-/* This is the default routine to handle BFD error messages.
-   Like fprintf (stderr, ...), but also handles some extra format specifiers.
-
-   %A section name from section.  For group components, prints group name too.
-   %B file name from bfd.  For archive components, prints archive too.
-
-   Beware: Only supports a maximum of 9 format arguments.  */
-
 static void
 error_handler_internal (const char *fmt, va_list ap)
 {
@@ -1182,6 +1149,26 @@ error_handler_internal (const char *fmt,
 
 static bfd_error_handler_type _bfd_error_internal = error_handler_internal;
 
+/*
+FUNCTION
+	_bfd_error_handler
+
+SYNOPSIS
+	void _bfd_error_handler (const char *fmt, ...) ATTRIBUTE_PRINTF_1;
+
+DESCRIPTION
+	This is the default routine to handle BFD error messages.
+	Like fprintf (stderr, ...), but also handles some extra format
+	specifiers.
+
+	%pA section name from section.  For group components, prints
+	group name too.
+	%pB file name from bfd.  For archive components, prints
+	archive too.
+
+	Beware: Only supports a maximum of 9 format arguments.
+*/
+
 void
 _bfd_error_handler (const char *fmt, ...)
 {
@@ -2158,7 +2145,7 @@ FUNCTION
 	bfd_emul_get_commonpagesize
 
 SYNOPSIS
-	bfd_vma bfd_emul_get_commonpagesize (const char *);
+	bfd_vma bfd_emul_get_commonpagesize (const char *, bfd_boolean);
 
 DESCRIPTION
 	Returns the common page size, in bytes, as determined by
@@ -2169,15 +2156,22 @@ RETURNS
 */
 
 bfd_vma
-bfd_emul_get_commonpagesize (const char *emul)
+bfd_emul_get_commonpagesize (const char *emul, bfd_boolean relro)
 {
   const bfd_target *target;
 
   target = bfd_find_target (emul, NULL);
   if (target != NULL
       && target->flavour == bfd_target_elf_flavour)
-    return xvec_get_elf_backend_data (target)->commonpagesize;
+    {
+      const struct elf_backend_data *bed;
 
+      bed = xvec_get_elf_backend_data (target);
+      if (relro)
+	return bed->relropagesize;
+      else
+	return bed->commonpagesize;
+    }
   return 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.1.0.20180703/bfd/bfd-in2.h ./bfd/bfd-in2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/bfd-in2.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/bfd-in2.h	2018-07-10 02:06:11.000000000 +0000
@@ -41,6 +41,7 @@ extern "C" {
 
 #include "ansidecl.h"
 #include "symcat.h"
+#include "diagnostics.h"
 #include <stdarg.h>
 #include <sys/stat.h>
 
@@ -98,6 +99,24 @@ typedef BFD_HOST_64_BIT bfd_int64_t;
 typedef BFD_HOST_U_64_BIT bfd_uint64_t;
 #endif
 
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if BFD_HOST_64BIT_LONG
+#  define BFD_PRI64 "l"
+# elif defined (__MSVCRT__)
+#  define BFD_PRI64 "I64"
+# else
+#  define BFD_PRI64 "ll"
+# endif
+# undef PRId64
+# define PRId64 BFD_PRI64 "d"
+# undef PRIu64
+# define PRIu64 BFD_PRI64 "u"
+# undef PRIx64
+# define PRIx64 BFD_PRI64 "x"
+#endif
+
 #if BFD_ARCH_SIZE >= 64
 #define BFD64
 #endif
@@ -570,6 +589,8 @@ void bfd_putb64 (bfd_uint64_t, void *);
 void bfd_putl64 (bfd_uint64_t, void *);
 void bfd_putb32 (bfd_vma, void *);
 void bfd_putl32 (bfd_vma, void *);
+void bfd_putb24 (bfd_vma, void *);
+void bfd_putl24 (bfd_vma, void *);
 void bfd_putb16 (bfd_vma, void *);
 void bfd_putl16 (bfd_vma, void *);
 
@@ -597,8 +618,6 @@ extern bfd_boolean _bfd_handle_already_l
 
 /* Externally visible ECOFF routines.  */
 
-extern bfd_vma bfd_ecoff_get_gp_value
-  (bfd * abfd);
 extern bfd_boolean bfd_ecoff_set_gp_value
   (bfd *abfd, bfd_vma gp_value);
 extern bfd_boolean bfd_ecoff_set_regmasks
@@ -767,8 +786,6 @@ extern bfd_boolean bfd_sunos_size_dynami
 
 extern bfd_boolean bfd_i386linux_size_dynamic_sections
   (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_m68klinux_size_dynamic_sections
-  (bfd *, struct bfd_link_info *);
 extern bfd_boolean bfd_sparclinux_size_dynamic_sections
   (bfd *, struct bfd_link_info *);
 
@@ -837,9 +854,6 @@ union internal_auxent;
 extern bfd_boolean bfd_coff_set_symbol_class
   (bfd *, struct bfd_symbol *, unsigned int);
 
-extern bfd_boolean bfd_m68k_coff_create_embedded_relocs
-  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
-
 /* ARM VFP11 erratum workaround support.  */
 typedef enum
 {
@@ -1324,13 +1338,10 @@ typedef struct bfd_section
   /* The section contains thread local data.  */
 #define SEC_THREAD_LOCAL                0x400
 
-  /* The section has GOT references.  This flag is only for the
-     linker, and is currently only used by the elf32-hppa back end.
-     It will be set if global offset table references were detected
-     in this section, which indicate to the linker that the section
-     contains PIC code, and must be handled specially when doing a
-     static link.  */
-#define SEC_HAS_GOT_REF                 0x800
+  /* The section's size is fixed.  Generic linker code will not
+     recalculate it and it is up to whoever has set this flag to
+     get the size right.  */
+#define SEC_FIXED_SIZE                  0x800
 
   /* The section contains common symbols (symbols may be defined
      multiple times, the value of a symbol is the amount of
@@ -1884,8 +1895,6 @@ asection *bfd_make_section_with_flags
 
 asection *bfd_make_section (bfd *, const char *name);
 
-int bfd_get_next_section_id (void);
-
 bfd_boolean bfd_set_section_flags
    (bfd *abfd, asection *sec, flagword flags);
 
@@ -1964,23 +1973,6 @@ enum bfd_architecture
 #define bfd_mach_mcf_isa_c_nodiv_mac   30
 #define bfd_mach_mcf_isa_c_nodiv_emac  31
   bfd_arch_vax,       /* DEC Vax.  */
-  bfd_arch_i960,      /* Intel 960.  */
-    /* The order of the following is important.
-       lower number indicates a machine type that
-       only accepts a subset of the instructions
-       available to machines with higher numbers.
-       The exception is the "ca", which is
-       incompatible with all other machines except
-       "core".  */
-
-#define bfd_mach_i960_core     1
-#define bfd_mach_i960_ka_sa    2
-#define bfd_mach_i960_kb_sb    3
-#define bfd_mach_i960_mc       4
-#define bfd_mach_i960_xa       5
-#define bfd_mach_i960_ca       6
-#define bfd_mach_i960_jx       7
-#define bfd_mach_i960_hx       8
 
   bfd_arch_or1k,      /* OpenRISC 1000.  */
 #define bfd_mach_or1k          1
@@ -2096,13 +2088,8 @@ enum bfd_architecture
 #define bfd_mach_iamcu                 (1 << 8)
 #define bfd_mach_i386_iamcu            (bfd_mach_i386_i386 | bfd_mach_iamcu)
 #define bfd_mach_i386_iamcu_intel_syntax (bfd_mach_i386_iamcu | bfd_mach_i386_intel_syntax)
-  bfd_arch_we32k,     /* AT&T WE32xxx.  */
-  bfd_arch_tahoe,     /* CCI/Harris Tahoe.  */
-  bfd_arch_i860,      /* Intel 860.  */
-  bfd_arch_i370,      /* IBM 360/370 Mainframes.  */
   bfd_arch_romp,      /* IBM ROMP PC/RT.  */
   bfd_arch_convex,    /* Convex.  */
-  bfd_arch_m88k,      /* Motorola 88xxx.  */
   bfd_arch_m98k,      /* Motorola 98xxx.  */
   bfd_arch_pyramid,   /* Pyramid Technology.  */
   bfd_arch_h8300,     /* Renesas H8/300 (formerly Hitachi H8/300).  */
@@ -2165,10 +2152,11 @@ enum bfd_architecture
 #define bfd_mach_m6812s        2
   bfd_arch_m9s12x,    /* Freescale S12X.  */
   bfd_arch_m9s12xg,   /* Freescale XGATE.  */
+  bfd_arch_s12z,    /* Freescale S12Z.  */
+#define bfd_mach_s12z_default 0
   bfd_arch_z8k,       /* Zilog Z8000.  */
 #define bfd_mach_z8001         1
 #define bfd_mach_z8002         2
-  bfd_arch_h8500,     /* Renesas H8/500 (formerly Hitachi H8/500).  */
   bfd_arch_sh,        /* Renesas / SuperH SH (formerly Hitachi SH).  */
 #define bfd_mach_sh                            1
 #define bfd_mach_sh2                           0x20
@@ -2190,7 +2178,6 @@ enum bfd_architecture
 #define bfd_mach_sh4a                          0x4a
 #define bfd_mach_sh4a_nofpu                    0x4b
 #define bfd_mach_sh4al_dsp                     0x4d
-#define bfd_mach_sh5                           0x50
   bfd_arch_alpha,     /* Dec Alpha.  */
 #define bfd_mach_alpha_ev4     0x10
 #define bfd_mach_alpha_ev5     0x20
@@ -2210,6 +2197,19 @@ enum bfd_architecture
 #define bfd_mach_arm_ep9312    11
 #define bfd_mach_arm_iWMMXt    12
 #define bfd_mach_arm_iWMMXt2   13
+#define bfd_mach_arm_5TEJ      14
+#define bfd_mach_arm_6         15
+#define bfd_mach_arm_6KZ       16
+#define bfd_mach_arm_6T2       17
+#define bfd_mach_arm_6K        18
+#define bfd_mach_arm_7         19
+#define bfd_mach_arm_6M        20
+#define bfd_mach_arm_6SM       21
+#define bfd_mach_arm_7EM       22
+#define bfd_mach_arm_8         23
+#define bfd_mach_arm_8R        24
+#define bfd_mach_arm_8M_BASE   25
+#define bfd_mach_arm_8M_MAIN   26
   bfd_arch_nds32,     /* Andes NDS32.  */
 #define bfd_mach_n1            1
 #define bfd_mach_n1h           2
@@ -2217,7 +2217,6 @@ enum bfd_architecture
 #define bfd_mach_n1h_v3        4
 #define bfd_mach_n1h_v3m       5
   bfd_arch_ns32k,     /* National Semiconductors ns32000.  */
-  bfd_arch_w65,       /* WDC 65816.  */
   bfd_arch_tic30,     /* Texas Instruments TMS320C30.  */
   bfd_arch_tic4x,     /* Texas Instruments TMS320C3X/4X.  */
 #define bfd_mach_tic3x         30
@@ -2398,6 +2397,9 @@ enum bfd_architecture
 #define bfd_mach_wasm32        1
   bfd_arch_pru,       /* PRU.  */
 #define bfd_mach_pru           0
+  bfd_arch_nfp,       /* Netronome Flow Processor */
+#define bfd_mach_nfp3200       0x3200
+#define bfd_mach_nfp6000       0x6000
   bfd_arch_last
   };
 
@@ -2491,10 +2493,9 @@ typedef enum bfd_reloc_status
   /* The symbol to relocate against was undefined.  */
   bfd_reloc_undefined,
 
-  /* The relocation was performed, but may not be ok - presently
-     generated only when linking i960 coff files with i960 b.out
-     symbols.  If this type is returned, the error_message argument
-     to bfd_perform_relocation will be set.  */
+  /* The relocation was performed, but may not be ok.  If this type is
+     returned, the error_message argument to bfd_perform_relocation
+     will be set.  */
   bfd_reloc_dangerous
  }
  bfd_reloc_status_type;
@@ -2574,8 +2575,7 @@ struct reloc_howto_struct
 
   /* If this field is non null, then the supplied function is
      called rather than the normal function.  This allows really
-     strange relocation methods to be accommodated (e.g., i960 callj
-     instructions).  */
+     strange relocation methods to be accommodated.  */
   bfd_reloc_status_type (*special_function)
     (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
      bfd *, char **);
@@ -2619,7 +2619,7 @@ struct reloc_howto_struct
      slot of the instruction, so that a PC relative relocation can
      be made just by adding in an ordinary offset (e.g., sun3 a.out).
      Some formats leave the displacement part of an instruction
-     empty (e.g., m88k bcs); this flag signals the fact.  */
+     empty (e.g., ELF); this flag signals the fact.  */
   bfd_boolean pcrel_offset;
 };
 
@@ -2700,9 +2700,7 @@ enum bfd_reloc_code_real {
 
 /* PC-relative relocations.  Sometimes these are relative to the address
 of the relocation itself; sometimes they are relative to the start of
-the section containing the relocation.  It depends on the specific target.
-
-The 24-bit relocation is used in some Intel 960 configurations.  */
+the section containing the relocation.  It depends on the specific target.  */
   BFD_RELOC_64_PCREL,
   BFD_RELOC_32_PCREL,
   BFD_RELOC_24_PCREL,
@@ -2794,9 +2792,6 @@ decided relatively late.  */
   BFD_RELOC_GPREL16,
   BFD_RELOC_GPREL32,
 
-/* Reloc types used for i960/b.out.  */
-  BFD_RELOC_I960_CALLJ,
-
 /* SPARC ELF relocations.  There is probably some overlap with other
 relocation types already defined.  */
   BFD_RELOC_NONE,
@@ -3550,6 +3545,15 @@ pc-relative or some form of GOT-indirect
   BFD_RELOC_ARM_THUMB_MOVW_PCREL,
   BFD_RELOC_ARM_THUMB_MOVT_PCREL,
 
+/* ARM FDPIC specific relocations.  */
+  BFD_RELOC_ARM_GOTFUNCDESC,
+  BFD_RELOC_ARM_GOTOFFFUNCDESC,
+  BFD_RELOC_ARM_FUNCDESC,
+  BFD_RELOC_ARM_FUNCDESC_VALUE,
+  BFD_RELOC_ARM_TLS_GD32_FDPIC,
+  BFD_RELOC_ARM_TLS_LDM32_FDPIC,
+  BFD_RELOC_ARM_TLS_IE32_FDPIC,
+
 /* Relocations for setting up GOTs and PLTs for shared libraries.  */
   BFD_RELOC_ARM_JUMP_SLOT,
   BFD_RELOC_ARM_GLOB_DAT,
@@ -5267,6 +5271,11 @@ This is the 8 bit high part of an absolu
 a matching LO8XG part.  */
   BFD_RELOC_M68HC12_HI8XG,
 
+/* Freescale S12Z reloc.
+This is a 15 bit relative address.  If the most significant bits are all zero
+then it may be truncated to 8 bits.  */
+  BFD_RELOC_S12Z_15_PCREL,
+
 /* NS CR16C Relocations.  */
   BFD_RELOC_16C_NUM08,
   BFD_RELOC_16C_NUM08_C,
@@ -5420,40 +5429,6 @@ a matching LO8XG part.  */
   BFD_RELOC_CRIS_DTPMOD,
   BFD_RELOC_CRIS_32_IE,
 
-/* Intel i860 Relocations.  */
-  BFD_RELOC_860_COPY,
-  BFD_RELOC_860_GLOB_DAT,
-  BFD_RELOC_860_JUMP_SLOT,
-  BFD_RELOC_860_RELATIVE,
-  BFD_RELOC_860_PC26,
-  BFD_RELOC_860_PLT26,
-  BFD_RELOC_860_PC16,
-  BFD_RELOC_860_LOW0,
-  BFD_RELOC_860_SPLIT0,
-  BFD_RELOC_860_LOW1,
-  BFD_RELOC_860_SPLIT1,
-  BFD_RELOC_860_LOW2,
-  BFD_RELOC_860_SPLIT2,
-  BFD_RELOC_860_LOW3,
-  BFD_RELOC_860_LOGOT0,
-  BFD_RELOC_860_SPGOT0,
-  BFD_RELOC_860_LOGOT1,
-  BFD_RELOC_860_SPGOT1,
-  BFD_RELOC_860_LOGOTOFF0,
-  BFD_RELOC_860_SPGOTOFF0,
-  BFD_RELOC_860_LOGOTOFF1,
-  BFD_RELOC_860_SPGOTOFF1,
-  BFD_RELOC_860_LOGOTOFF2,
-  BFD_RELOC_860_LOGOTOFF3,
-  BFD_RELOC_860_LOPC,
-  BFD_RELOC_860_HIGHADJ,
-  BFD_RELOC_860_HAGOT,
-  BFD_RELOC_860_HAGOTOFF,
-  BFD_RELOC_860_HAPC,
-  BFD_RELOC_860_HIGH,
-  BFD_RELOC_860_HIGOT,
-  BFD_RELOC_860_HIGOTOFF,
-
 /* OpenRISC 1000 Relocations.  */
   BFD_RELOC_OR1K_REL_26,
   BFD_RELOC_OR1K_GOTPC_HI16,
@@ -5793,6 +5768,9 @@ the linker could optimize the movq to a 
 /* Same as BFD_RELOC_32_PCREL but with an implicit -4 addend.  */
   BFD_RELOC_MACH_O_X86_64_PCREL32_4,
 
+/* Used when referencing a TLV entry.  */
+  BFD_RELOC_MACH_O_X86_64_TLV,
+
 /* Addend for PAGE or PAGEOFF.  */
   BFD_RELOC_MACH_O_ARM64_ADDEND,
 
@@ -5889,6 +5867,16 @@ to two words (uses imm instruction).  */
 to two words (uses imm instruction).  */
   BFD_RELOC_MICROBLAZE_64_TLSTPREL,
 
+/* This is a 64 bit reloc that stores the 32 bit pc relative
+value in two words (with an imm instruction).  The relocation is
+PC-relative offset from start of TEXT.  */
+  BFD_RELOC_MICROBLAZE_64_TEXTPCREL,
+
+/* This is a 64 bit reloc that stores the 32 bit offset
+value in two words (with an imm instruction).  The relocation is
+relative offset from start of TEXT.  */
+  BFD_RELOC_MICROBLAZE_64_TEXTREL,
+
 /* AArch64 pseudo relocation code to mark the start of the AArch64
 relocation enumerators.  N.B. the order of the enumerators is
 important as several tables in the AArch64 bfd backend are indexed
@@ -5957,6 +5945,36 @@ of a signed value.  Changes instruction 
 value's sign.  */
   BFD_RELOC_AARCH64_MOVW_G2_S,
 
+/* AArch64 MOV[NZ] instruction with most significant bits 0 to 15
+of a signed value.  Changes instruction to MOVZ or MOVN depending on the
+value's sign.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G0,
+
+/* AArch64 MOV[NZ] instruction with most significant bits 0 to 15
+of a signed value.  Changes instruction to MOVZ or MOVN depending on the
+value's sign.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
+
+/* AArch64 MOVK instruction with most significant bits 16 to 31
+of a signed value.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G1,
+
+/* AArch64 MOVK instruction with most significant bits 16 to 31
+of a signed value.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
+
+/* AArch64 MOVK instruction with most significant bits 32 to 47
+of a signed value.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G2,
+
+/* AArch64 MOVK instruction with most significant bits 32 to 47
+of a signed value.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
+
+/* AArch64 MOVK instruction with most significant bits 47 to 63
+of a signed value.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G3,
+
 /* AArch64 Load Literal instruction, holding a 19 bit pc-relative word
 offset.  The lowest two bits must be zero and are not stored in the
 instruction, giving a 21 bit signed byte offset.  */
@@ -6184,6 +6202,34 @@ instructions.  */
 /* AArch64 TLS LOCAL EXEC relocation.  */
   BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC,
 
+/* bit[11:1] of byte offset to module TLS base address, encoded in ldst
+instructions.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
+
+/* Similar as BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, but no overflow check.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
+
+/* bit[11:2] of byte offset to module TLS base address, encoded in ldst
+instructions.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
+
+/* Similar as BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, but no overflow check.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
+
+/* bit[11:3] of byte offset to module TLS base address, encoded in ldst
+instructions.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
+
+/* Similar as BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, but no overflow check.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
+
+/* bit[11:0] of byte offset to module TLS base address, encoded in ldst
+instructions.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
+
+/* Similar as BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, but no overflow check.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC,
+
 /* AArch64 TLS DESC relocation.  */
   BFD_RELOC_AARCH64_TLSDESC_LD_PREL19,
 
@@ -6267,6 +6313,14 @@ any object files.  */
 /* Similar as BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12, but no overflow check.  */
   BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC,
 
+/* AArch64 pseudo relocation code for TLS local exec mode.  It's to be
+used internally by the AArch64 assembler and not (currently) written to
+any object files.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12,
+
+/* Similar as BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12, but no overflow check.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC,
+
 /* AArch64 pseudo relocation code to be used internally by the AArch64
 assembler and not (currently) written to any object files.  */
   BFD_RELOC_AARCH64_LD_GOT_LO12_NC,
@@ -6751,8 +6805,9 @@ struct bfd
      least-recently-used list of BFDs.  */
   struct bfd *lru_prev, *lru_next;
 
-  /* When a file is closed by the caching routines, BFD retains
-     state information on the file here...  */
+  /* Track current file position (or current buffer offset for
+     in-memory BFDs).  When a file is closed by the caching routines,
+     BFD retains state information on the file here.  */
   ufile_ptr where;
 
   /* File modified time, if mtime_set is TRUE.  */
@@ -6981,21 +7036,15 @@ struct bfd
     {
       struct aout_data_struct *aout_data;
       struct artdata *aout_ar_data;
-      struct _oasys_data *oasys_obj_data;
-      struct _oasys_ar_data *oasys_ar_data;
       struct coff_tdata *coff_obj_data;
       struct pe_tdata *pe_obj_data;
       struct xcoff_tdata *xcoff_obj_data;
       struct ecoff_tdata *ecoff_obj_data;
-      struct ieee_data_struct *ieee_data;
-      struct ieee_ar_data_struct *ieee_ar_data;
       struct srec_data_struct *srec_data;
       struct verilog_data_struct *verilog_data;
       struct ihex_data_struct *ihex_data;
       struct tekhex_data_struct *tekhex_data;
       struct elf_obj_tdata *elf_obj_data;
-      struct nlm_obj_tdata *nlm_obj_data;
-      struct bout_data_struct *bout_data;
       struct mmo_data_struct *mmo_data;
       struct sun_core_struct *sun_core_data;
       struct sco5_core_struct *sco5_core_data;
@@ -7080,6 +7129,8 @@ void bfd_perror (const char *message);
 
 typedef void (*bfd_error_handler_type) (const char *, va_list);
 
+void _bfd_error_handler (const char *fmt, ...) ATTRIBUTE_PRINTF_1;
+
 bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type);
 
 void bfd_set_error_program_name (const char *);
@@ -7230,7 +7281,7 @@ bfd_vma bfd_emul_get_maxpagesize (const 
 
 void bfd_emul_set_maxpagesize (const char *, bfd_vma);
 
-bfd_vma bfd_emul_get_commonpagesize (const char *);
+bfd_vma bfd_emul_get_commonpagesize (const char *, bfd_boolean);
 
 void bfd_emul_set_commonpagesize (const char *, bfd_vma);
 
@@ -7304,9 +7355,6 @@ enum bfd_flavour
   bfd_target_ecoff_flavour,
   bfd_target_xcoff_flavour,
   bfd_target_elf_flavour,
-  bfd_target_ieee_flavour,
-  bfd_target_nlm_flavour,
-  bfd_target_oasys_flavour,
   bfd_target_tekhex_flavour,
   bfd_target_srec_flavour,
   bfd_target_verilog_flavour,
@@ -7619,6 +7667,7 @@ typedef struct bfd_target
   NAME##_bfd_discard_group, \
   NAME##_section_already_linked, \
   NAME##_bfd_define_common_symbol, \
+  NAME##_bfd_link_hide_symbol, \
   NAME##_bfd_define_start_stop
 
   int         (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
@@ -7685,6 +7734,10 @@ typedef struct bfd_target
   bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
                                             struct bfd_link_hash_entry *);
 
+  /* Hide a symbol.  */
+  void (*_bfd_link_hide_symbol) (bfd *, struct bfd_link_info *,
+                                 struct bfd_link_hash_entry *);
+
   /* Define a __start, __stop, .startof. or .sizeof. symbol.  */
   struct bfd_link_hash_entry *
               (*_bfd_define_start_stop) (struct bfd_link_info *, const char *,
@@ -7768,6 +7821,13 @@ bfd_boolean bfd_generic_define_common_sy
 #define bfd_define_common_symbol(output_bfd, info, h) \
        BFD_SEND (output_bfd, _bfd_define_common_symbol, (output_bfd, info, h))
 
+void _bfd_generic_link_hide_symbol
+   (bfd *output_bfd, struct bfd_link_info *info,
+    struct bfd_link_hash_entry *h);
+
+#define bfd_link_hide_symbol(output_bfd, info, h) \
+       BFD_SEND (output_bfd, _bfd_link_hide_symbol, (output_bfd, info, h))
+
 struct bfd_link_hash_entry *bfd_generic_define_start_stop
    (struct bfd_link_info *info,
     const char *symbol, asection *sec);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/bfd-in.h ./bfd/bfd-in.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/bfd-in.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/bfd-in.h	2018-07-10 02:06:11.000000000 +0000
@@ -34,6 +34,7 @@ extern "C" {
 
 #include "ansidecl.h"
 #include "symcat.h"
+#include "diagnostics.h"
 #include <stdarg.h>
 #include <sys/stat.h>
 
@@ -91,6 +92,24 @@ typedef BFD_HOST_64_BIT bfd_int64_t;
 typedef BFD_HOST_U_64_BIT bfd_uint64_t;
 #endif
 
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if BFD_HOST_64BIT_LONG
+#  define BFD_PRI64 "l"
+# elif defined (__MSVCRT__)
+#  define BFD_PRI64 "I64"
+# else
+#  define BFD_PRI64 "ll"
+# endif
+# undef PRId64
+# define PRId64 BFD_PRI64 "d"
+# undef PRIu64
+# define PRIu64 BFD_PRI64 "u"
+# undef PRIx64
+# define PRIx64 BFD_PRI64 "x"
+#endif
+
 #if BFD_ARCH_SIZE >= 64
 #define BFD64
 #endif
@@ -563,6 +582,8 @@ void bfd_putb64 (bfd_uint64_t, void *);
 void bfd_putl64 (bfd_uint64_t, void *);
 void bfd_putb32 (bfd_vma, void *);
 void bfd_putl32 (bfd_vma, void *);
+void bfd_putb24 (bfd_vma, void *);
+void bfd_putl24 (bfd_vma, void *);
 void bfd_putb16 (bfd_vma, void *);
 void bfd_putl16 (bfd_vma, void *);
 
@@ -590,8 +611,6 @@ extern bfd_boolean _bfd_handle_already_l
 
 /* Externally visible ECOFF routines.  */
 
-extern bfd_vma bfd_ecoff_get_gp_value
-  (bfd * abfd);
 extern bfd_boolean bfd_ecoff_set_gp_value
   (bfd *abfd, bfd_vma gp_value);
 extern bfd_boolean bfd_ecoff_set_regmasks
@@ -760,8 +779,6 @@ extern bfd_boolean bfd_sunos_size_dynami
 
 extern bfd_boolean bfd_i386linux_size_dynamic_sections
   (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_m68klinux_size_dynamic_sections
-  (bfd *, struct bfd_link_info *);
 extern bfd_boolean bfd_sparclinux_size_dynamic_sections
   (bfd *, struct bfd_link_info *);
 
@@ -830,9 +847,6 @@ union internal_auxent;
 extern bfd_boolean bfd_coff_set_symbol_class
   (bfd *, struct bfd_symbol *, unsigned int);
 
-extern bfd_boolean bfd_m68k_coff_create_embedded_relocs
-  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
-
 /* ARM VFP11 erratum workaround support.  */
 typedef enum
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/bfdio.c ./bfd/bfdio.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/bfdio.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/bfdio.c	2018-07-10 02:06:11.000000000 +0000
@@ -176,27 +176,40 @@ DESCRIPTION
 bfd_size_type
 bfd_bread (void *ptr, bfd_size_type size, bfd *abfd)
 {
-  size_t nread;
+  file_ptr nread;
+  bfd *element_bfd = abfd;
+  ufile_ptr offset = 0;
+
+  while (abfd->my_archive != NULL
+	 && !bfd_is_thin_archive (abfd->my_archive))
+    {
+      offset += abfd->origin;
+      abfd = abfd->my_archive;
+    }
 
   /* If this is an archive element, don't read past the end of
      this element.  */
-  if (abfd->arelt_data != NULL)
+  if (element_bfd->arelt_data != NULL)
     {
-      bfd_size_type maxbytes = arelt_size (abfd);
+      bfd_size_type maxbytes = arelt_size (element_bfd);
 
-      if (abfd->where + size > maxbytes)
+      if (abfd->where < offset || abfd->where - offset >= maxbytes)
 	{
-	  if (abfd->where >= maxbytes)
-	    return 0;
-	  size = maxbytes - abfd->where;
+	  bfd_set_error (bfd_error_invalid_operation);
+	  return -1;
 	}
+      if (abfd->where - offset + size > maxbytes)
+	size = maxbytes - (abfd->where - offset);
     }
 
-  if (abfd->iovec)
-    nread = abfd->iovec->bread (abfd, ptr, size);
-  else
-    nread = 0;
-  if (nread != (size_t) -1)
+  if (abfd->iovec == NULL)
+    {
+      bfd_set_error (bfd_error_invalid_operation);
+      return -1;
+    }
+
+  nread = abfd->iovec->bread (abfd, ptr, size);
+  if (nread != -1)
     abfd->where += nread;
 
   return nread;
@@ -205,16 +218,22 @@ bfd_bread (void *ptr, bfd_size_type size
 bfd_size_type
 bfd_bwrite (const void *ptr, bfd_size_type size, bfd *abfd)
 {
-  size_t nwrote;
+  file_ptr nwrote;
 
-  if (abfd->iovec)
-    nwrote = abfd->iovec->bwrite (abfd, ptr, size);
-  else
-    nwrote = 0;
+  while (abfd->my_archive != NULL
+	 && !bfd_is_thin_archive (abfd->my_archive))
+    abfd = abfd->my_archive;
+
+  if (abfd->iovec == NULL)
+    {
+      bfd_set_error (bfd_error_invalid_operation);
+      return -1;
+    }
 
-  if (nwrote != (size_t) -1)
+  nwrote = abfd->iovec->bwrite (abfd, ptr, size);
+  if (nwrote != -1)
     abfd->where += nwrote;
-  if (nwrote != size)
+  if ((bfd_size_type) nwrote != size)
     {
 #ifdef ENOSPC
       errno = ENOSPC;
@@ -227,33 +246,35 @@ bfd_bwrite (const void *ptr, bfd_size_ty
 file_ptr
 bfd_tell (bfd *abfd)
 {
+  ufile_ptr offset = 0;
   file_ptr ptr;
 
-  if (abfd->iovec)
+  while (abfd->my_archive != NULL
+	 && !bfd_is_thin_archive (abfd->my_archive))
     {
-      bfd *parent_bfd = abfd;
-      ptr = abfd->iovec->btell (abfd);
-
-      while (parent_bfd->my_archive != NULL
-	     && !bfd_is_thin_archive (parent_bfd->my_archive))
-	{
-	  ptr -= parent_bfd->origin;
-	  parent_bfd = parent_bfd->my_archive;
-	}
+      offset += abfd->origin;
+      abfd = abfd->my_archive;
     }
-  else
-    ptr = 0;
 
+  if (abfd->iovec == NULL)
+    return 0;
+
+  ptr = abfd->iovec->btell (abfd);
   abfd->where = ptr;
-  return ptr;
+  return ptr - offset;
 }
 
 int
 bfd_flush (bfd *abfd)
 {
-  if (abfd->iovec)
-    return abfd->iovec->bflush (abfd);
-  return 0;
+  while (abfd->my_archive != NULL
+	 && !bfd_is_thin_archive (abfd->my_archive))
+    abfd = abfd->my_archive;
+
+  if (abfd->iovec == NULL)
+    return 0;
+
+  return abfd->iovec->bflush (abfd);
 }
 
 /* Returns 0 for success, negative value for failure (in which case
@@ -263,11 +284,17 @@ bfd_stat (bfd *abfd, struct stat *statbu
 {
   int result;
 
-  if (abfd->iovec)
-    result = abfd->iovec->bstat (abfd, statbuf);
-  else
-    result = -1;
+  while (abfd->my_archive != NULL
+	 && !bfd_is_thin_archive (abfd->my_archive))
+    abfd = abfd->my_archive;
 
+  if (abfd->iovec == NULL)
+    {
+      bfd_set_error (bfd_error_invalid_operation);
+      return -1;
+    }
+
+  result = abfd->iovec->bstat (abfd, statbuf);
   if (result < 0)
     bfd_set_error (bfd_error_system_call);
   return result;
@@ -280,79 +307,52 @@ int
 bfd_seek (bfd *abfd, file_ptr position, int direction)
 {
   int result;
-  file_ptr file_position;
-  /* For the time being, a BFD may not seek to it's end.  The problem
-     is that we don't easily have a way to recognize the end of an
-     element in an archive.  */
-
-  BFD_ASSERT (direction == SEEK_SET || direction == SEEK_CUR);
+  ufile_ptr offset = 0;
 
-  if (direction == SEEK_CUR && position == 0)
-    return 0;
-
-  if (abfd->my_archive == NULL || bfd_is_thin_archive (abfd->my_archive))
+  while (abfd->my_archive != NULL
+	 && !bfd_is_thin_archive (abfd->my_archive))
     {
-      if (direction == SEEK_SET && (bfd_vma) position == abfd->where)
-	return 0;
+      offset += abfd->origin;
+      abfd = abfd->my_archive;
     }
-  else
-    {
-      /* We need something smarter to optimize access to archives.
-	 Currently, anything inside an archive is read via the file
-	 handle for the archive.  Which means that a bfd_seek on one
-	 component affects the `current position' in the archive, as
-	 well as in any other component.
-
-	 It might be sufficient to put a spike through the cache
-	 abstraction, and look to the archive for the file position,
-	 but I think we should try for something cleaner.
 
-	 In the meantime, no optimization for archives.  */
+  if (abfd->iovec == NULL)
+    {
+      bfd_set_error (bfd_error_invalid_operation);
+      return -1;
     }
 
-  file_position = position;
-  if (direction == SEEK_SET)
-    {
-      bfd *parent_bfd = abfd;
+  /* For the time being, a BFD may not seek to it's end.  The problem
+     is that we don't easily have a way to recognize the end of an
+     element in an archive.  */
+  BFD_ASSERT (direction == SEEK_SET || direction == SEEK_CUR);
 
-      while (parent_bfd->my_archive != NULL
-	     && !bfd_is_thin_archive (parent_bfd->my_archive))
-	{
-	  file_position += parent_bfd->origin;
-	  parent_bfd = parent_bfd->my_archive;
-	}
-    }
+  if (direction != SEEK_CUR)
+    position += offset;
 
-  if (abfd->iovec)
-    result = abfd->iovec->bseek (abfd, file_position, direction);
-  else
-    result = -1;
+  if ((direction == SEEK_CUR && position == 0)
+      || (direction == SEEK_SET && (ufile_ptr) position == abfd->where))
+    return 0;
 
+  result = abfd->iovec->bseek (abfd, position, direction);
   if (result != 0)
     {
-      int hold_errno = errno;
-
-      /* Force redetermination of `where' field.  */
-      bfd_tell (abfd);
-
       /* An EINVAL error probably means that the file offset was
 	 absurd.  */
-      if (hold_errno == EINVAL)
+      if (errno == EINVAL)
 	bfd_set_error (bfd_error_file_truncated);
       else
-	{
-	  bfd_set_error (bfd_error_system_call);
-	  errno = hold_errno;
-	}
+	bfd_set_error (bfd_error_system_call);
     }
   else
     {
       /* Adjust `where' field.  */
-      if (direction == SEEK_SET)
-	abfd->where = position;
-      else
+      if (direction == SEEK_CUR)
 	abfd->where += position;
+      else
+	abfd->where = position;
     }
+
   return result;
 }
 
@@ -377,10 +377,7 @@ bfd_get_mtime (bfd *abfd)
   if (abfd->mtime_set)
     return abfd->mtime;
 
-  if (abfd->iovec == NULL)
-    return 0;
-
-  if (abfd->iovec->bstat (abfd, &buf) != 0)
+  if (bfd_stat (abfd, &buf) != 0)
     return 0;
 
   abfd->mtime = buf.st_mtime;		/* Save value in case anyone wants it */
@@ -425,10 +422,7 @@ bfd_get_size (bfd *abfd)
 {
   struct stat buf;
 
-  if (abfd->iovec == NULL)
-    return 0;
-
-  if (abfd->iovec->bstat (abfd, &buf) != 0)
+  if (bfd_stat (abfd, &buf) != 0)
     return 0;
 
   return buf.st_size;
@@ -479,10 +473,18 @@ bfd_mmap (bfd *abfd, void *addr, bfd_siz
 	  int prot, int flags, file_ptr offset,
 	  void **map_addr, bfd_size_type *map_len)
 {
-  void *ret = (void *)-1;
+  while (abfd->my_archive != NULL
+	 && !bfd_is_thin_archive (abfd->my_archive))
+    {
+      offset += abfd->origin;
+      abfd = abfd->my_archive;
+    }
 
   if (abfd->iovec == NULL)
-    return ret;
+    {
+      bfd_set_error (bfd_error_invalid_operation);
+      return (void *) -1;
+    }
 
   return abfd->iovec->bmmap (abfd, addr, len, prot, flags, offset,
 			     map_addr, map_len);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/binary.c ./bfd/binary.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/binary.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/binary.c	2018-07-10 02:06:11.000000000 +0000
@@ -211,7 +211,7 @@ binary_get_symbol_info (bfd *ignore_abfd
 #define binary_bfd_make_debug_symbol	   _bfd_nosymbols_bfd_make_debug_symbol
 #define binary_read_minisymbols		   _bfd_generic_read_minisymbols
 #define binary_minisymbol_to_symbol	   _bfd_generic_minisymbol_to_symbol
-#define binary_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define binary_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
 
 /* Set the architecture of a binary file.  */
 #define binary_set_arch_mach _bfd_generic_set_arch_mach
@@ -273,7 +273,7 @@ binary_set_section_contents (bfd *abfd,
 	  if (s->filepos < 0)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("warning: writing section `%A' at huge (ie negative) "
+	      (_("warning: writing section `%pA' at huge (ie negative) "
 		 "file offset"),
 	       s);
 	}
@@ -310,6 +310,7 @@ binary_sizeof_headers (bfd *abfd ATTRIBU
 #define binary_bfd_discard_group		   bfd_generic_discard_group
 #define binary_section_already_linked		  _bfd_generic_section_already_linked
 #define binary_bfd_define_common_symbol		   bfd_generic_define_common_symbol
+#define binary_bfd_link_hide_symbol		   _bfd_generic_link_hide_symbol
 #define binary_bfd_define_start_stop		   bfd_generic_define_start_stop
 #define binary_bfd_link_hash_table_create	  _bfd_generic_link_hash_table_create
 #define binary_bfd_link_just_syms		  _bfd_generic_link_just_syms
@@ -346,16 +347,16 @@ const bfd_target binary_vec =
     _bfd_dummy_target,
   },
   {				/* bfd_set_format */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     binary_mkobject,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents */
-    bfd_false,
-    bfd_true,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_true,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (binary),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/bout.c ./bfd/bout.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/bout.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/bout.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,1483 +0,0 @@
-/* BFD back-end for Intel 960 b.out binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "bfdlink.h"
-#include "genlink.h"
-#include "bout.h"
-#include "libiberty.h"
-
-#include "aout/stab_gnu.h"
-#include "libaout.h"		/* BFD a.out internal data structures.  */
-
-#define ABS32CODE 0
-#define ABS32CODE_SHRUNK 1
-#define PCREL24 2
-#define CALLJ 3
-#define ABS32 4
-#define PCREL13 5
-#define ABS32_MAYBE_RELAXABLE 1
-#define ABS32_WAS_RELAXABLE 2
-
-#define ALIGNER 10
-#define ALIGNDONE 11
-
-static reloc_howto_type howto_reloc_callj =
-  HOWTO (CALLJ, 0, 2, 24, TRUE, 0, complain_overflow_signed, 0,"callj", TRUE, 0x00ffffff, 0x00ffffff,FALSE);
-static  reloc_howto_type howto_reloc_abs32 =
-  HOWTO (ABS32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,0,"abs32", TRUE, 0xffffffff,0xffffffff,FALSE);
-static reloc_howto_type howto_reloc_pcrel24 =
-  HOWTO (PCREL24, 0, 2, 24, TRUE, 0, complain_overflow_signed,0,"pcrel24", TRUE, 0x00ffffff,0x00ffffff,FALSE);
-static reloc_howto_type howto_reloc_pcrel13 =
-  HOWTO (PCREL13, 0, 2, 13, TRUE, 0, complain_overflow_signed,0,"pcrel13", TRUE, 0x00001fff,0x00001fff,FALSE);
-static reloc_howto_type howto_reloc_abs32codeshrunk =
-  HOWTO (ABS32CODE_SHRUNK, 0, 2, 24, TRUE, 0, complain_overflow_signed, 0,"callx->callj", TRUE, 0x00ffffff, 0x00ffffff,FALSE);
-static  reloc_howto_type howto_reloc_abs32code =
-  HOWTO (ABS32CODE, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,0,"callx", TRUE, 0xffffffff,0xffffffff,FALSE);
-
-static reloc_howto_type howto_align_table[] =
-{
-  HOWTO (ALIGNER, 0, 0x1, 0, FALSE, 0, complain_overflow_dont, 0, "align16", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNER, 0, 0x3, 0, FALSE, 0, complain_overflow_dont, 0, "align32", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNER, 0, 0x7, 0, FALSE, 0, complain_overflow_dont, 0, "align64", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNER, 0, 0xf, 0, FALSE, 0, complain_overflow_dont, 0, "align128", FALSE, 0, 0, FALSE),
-};
-
-static reloc_howto_type howto_done_align_table[] =
-{
-  HOWTO (ALIGNDONE, 0x1, 0x1, 0, FALSE, 0, complain_overflow_dont, 0, "donealign16", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNDONE, 0x3, 0x3, 0, FALSE, 0, complain_overflow_dont, 0, "donealign32", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNDONE, 0x7, 0x7, 0, FALSE, 0, complain_overflow_dont, 0, "donealign64", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNDONE, 0xf, 0xf, 0, FALSE, 0, complain_overflow_dont, 0, "donealign128", FALSE, 0, 0, FALSE),
-};
-
-/* Swaps the information in an executable header taken from a raw byte
-   stream memory image, into the internal exec_header structure.  */
-
-static void
-bout_swap_exec_header_in (bfd *abfd,
-			  struct external_exec *bytes,
-			  struct internal_exec *execp)
-{
-  /* Now fill in fields in the execp, from the bytes in the raw data.  */
-  execp->a_info      = H_GET_32 (abfd, bytes->e_info);
-  execp->a_text      = GET_WORD (abfd, bytes->e_text);
-  execp->a_data      = GET_WORD (abfd, bytes->e_data);
-  execp->a_bss       = GET_WORD (abfd, bytes->e_bss);
-  execp->a_syms      = GET_WORD (abfd, bytes->e_syms);
-  execp->a_entry     = GET_WORD (abfd, bytes->e_entry);
-  execp->a_trsize    = GET_WORD (abfd, bytes->e_trsize);
-  execp->a_drsize    = GET_WORD (abfd, bytes->e_drsize);
-  execp->a_tload     = GET_WORD (abfd, bytes->e_tload);
-  execp->a_dload     = GET_WORD (abfd, bytes->e_dload);
-  execp->a_talign    = bytes->e_talign[0];
-  execp->a_dalign    = bytes->e_dalign[0];
-  execp->a_balign    = bytes->e_balign[0];
-  execp->a_relaxable = bytes->e_relaxable[0];
-}
-
-/* Swaps the information in an internal exec header structure into the
-   supplied buffer ready for writing to disk.  */
-
-static void
-bout_swap_exec_header_out (bfd *abfd,
-			   struct internal_exec *execp,
-			   struct external_exec *bytes)
-{
-  /* Now fill in fields in the raw data, from the fields in the exec struct.  */
-  H_PUT_32 (abfd, execp->a_info  , bytes->e_info);
-  PUT_WORD (abfd, execp->a_text  , bytes->e_text);
-  PUT_WORD (abfd, execp->a_data  , bytes->e_data);
-  PUT_WORD (abfd, execp->a_bss   , bytes->e_bss);
-  PUT_WORD (abfd, execp->a_syms  , bytes->e_syms);
-  PUT_WORD (abfd, execp->a_entry , bytes->e_entry);
-  PUT_WORD (abfd, execp->a_trsize, bytes->e_trsize);
-  PUT_WORD (abfd, execp->a_drsize, bytes->e_drsize);
-  PUT_WORD (abfd, execp->a_tload , bytes->e_tload);
-  PUT_WORD (abfd, execp->a_dload , bytes->e_dload);
-  bytes->e_talign[0]    = execp->a_talign;
-  bytes->e_dalign[0]    = execp->a_dalign;
-  bytes->e_balign[0]    = execp->a_balign;
-  bytes->e_relaxable[0] = execp->a_relaxable;
-}
-
-/* Finish up the opening of a b.out file for reading.  Fill in all the
-   fields that are not handled by common code.  */
-
-static const bfd_target *
-b_out_callback (bfd *abfd)
-{
-  struct internal_exec *execp = exec_hdr (abfd);
-  unsigned long bss_start;
-
-  /* Architecture and machine type.  */
-  bfd_set_arch_mach (abfd,
-		     bfd_arch_i960,     /* B.out only used on i960.  */
-		     bfd_mach_i960_core /* Default.  */
-		     );
-
-  /* The positions of the string table and symbol table.  */
-  obj_str_filepos (abfd) = N_STROFF (execp);
-  obj_sym_filepos (abfd) = N_SYMOFF (execp);
-
-  /* The alignments of the sections.  */
-  obj_textsec (abfd)->alignment_power = execp->a_talign;
-  obj_datasec (abfd)->alignment_power = execp->a_dalign;
-  obj_bsssec  (abfd)->alignment_power = execp->a_balign;
-
-  /* The starting addresses of the sections.  */
-  obj_textsec (abfd)->vma = execp->a_tload;
-  obj_datasec (abfd)->vma = execp->a_dload;
-
-  obj_textsec (abfd)->lma = obj_textsec (abfd)->vma;
-  obj_datasec (abfd)->lma = obj_datasec (abfd)->vma;
-
-  /* And reload the sizes, since the aout module zaps them.  */
-  obj_textsec (abfd)->size = execp->a_text;
-
-  bss_start = execp->a_dload + execp->a_data; /* BSS = end of data section.  */
-  obj_bsssec (abfd)->vma = align_power (bss_start, execp->a_balign);
-
-  obj_bsssec (abfd)->lma = obj_bsssec (abfd)->vma;
-
-  /* The file positions of the sections.  */
-  obj_textsec (abfd)->filepos = N_TXTOFF (execp);
-  obj_datasec (abfd)->filepos = N_DATOFF (execp);
-
-  /* The file positions of the relocation info.  */
-  obj_textsec (abfd)->rel_filepos = N_TROFF (execp);
-  obj_datasec (abfd)->rel_filepos =  N_DROFF (execp);
-
-  adata (abfd).page_size = 1;	/* Not applicable.  */
-  adata (abfd).segment_size = 1; /* Not applicable.  */
-  adata (abfd).exec_bytes_size = EXEC_BYTES_SIZE;
-
-  if (execp->a_relaxable)
-   abfd->flags |= BFD_IS_RELAXABLE;
-  return abfd->xvec;
-}
-
-static const bfd_target *
-b_out_object_p (bfd *abfd)
-{
-  struct internal_exec anexec;
-  struct external_exec exec_bytes;
-  bfd_size_type amt = EXEC_BYTES_SIZE;
-
-  if (bfd_bread ((void *) &exec_bytes, amt, abfd) != amt)
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-	bfd_set_error (bfd_error_wrong_format);
-      return 0;
-    }
-
-  anexec.a_info = H_GET_32 (abfd, exec_bytes.e_info);
-
-  if (N_BADMAG (&anexec))
-    {
-      bfd_set_error (bfd_error_wrong_format);
-      return 0;
-    }
-
-  bout_swap_exec_header_in (abfd, &exec_bytes, &anexec);
-  return aout_32_some_aout_object_p (abfd, &anexec, b_out_callback);
-}
-
-struct bout_data_struct
-  {
-    struct aoutdata a;
-    struct internal_exec e;
-  };
-
-static bfd_boolean
-b_out_mkobject (bfd *abfd)
-{
-  struct bout_data_struct *rawptr;
-  bfd_size_type amt = sizeof (struct bout_data_struct);
-
-  rawptr = bfd_zalloc (abfd, amt);
-  if (rawptr == NULL)
-    return FALSE;
-
-  abfd->tdata.bout_data = rawptr;
-  exec_hdr (abfd) = &rawptr->e;
-
-  obj_textsec (abfd) = NULL;
-  obj_datasec (abfd) = NULL;
-  obj_bsssec (abfd)  = NULL;
-
-  return TRUE;
-}
-
-static int
-b_out_symbol_cmp (const void * a_ptr, const void * b_ptr)
-{
-  struct aout_symbol ** a = (struct aout_symbol **) a_ptr;
-  struct aout_symbol ** b = (struct aout_symbol **) b_ptr;
-  asection *sec;
-  bfd_vma av, bv;
-
-  /* Primary key is address.  */
-  sec = bfd_get_section (&(*a)->symbol);
-  av = sec->output_section->vma + sec->output_offset + (*a)->symbol.value;
-  sec = bfd_get_section (&(*b)->symbol);
-  bv = sec->output_section->vma + sec->output_offset + (*b)->symbol.value;
-
-  if (av < bv)
-    return -1;
-  if (av > bv)
-    return 1;
-
-  /* Secondary key puts CALLNAME syms last and BALNAME syms first,
-     so that they have the best chance of being contiguous.  */
-  if (IS_BALNAME ((*a)->other) || IS_CALLNAME ((*b)->other))
-    return -1;
-  if (IS_CALLNAME ((*a)->other) || IS_BALNAME ((*b)->other))
-    return 1;
-
-  return 0;
-}
-
-static bfd_boolean
-b_out_squirt_out_relocs (bfd *abfd, asection *section)
-{
-  arelent **generic;
-  int r_extern = 0;
-  int r_idx;
-  int incode_mask;
-  int len_1;
-  unsigned int count = section->reloc_count;
-  struct relocation_info *native, *natptr;
-  bfd_size_type natsize;
-  int extern_mask, pcrel_mask, len_2, callj_mask;
-
-  if (count == 0)
-    return TRUE;
-
-  generic = section->orelocation;
-  natsize = (bfd_size_type) count * sizeof (struct relocation_info);
-  native = bfd_malloc (natsize);
-  if (!native && natsize != 0)
-    return FALSE;
-
-  if (bfd_header_big_endian (abfd))
-    {
-      /* Big-endian bit field allocation order.  */
-      pcrel_mask  = 0x80;
-      extern_mask = 0x10;
-      len_2       = 0x40;
-      len_1       = 0x20;
-      callj_mask  = 0x02;
-      incode_mask = 0x08;
-    }
-  else
-    {
-      /* Little-endian bit field allocation order.  */
-      pcrel_mask  = 0x01;
-      extern_mask = 0x08;
-      len_2       = 0x04;
-      len_1       = 0x02;
-      callj_mask  = 0x40;
-      incode_mask = 0x10;
-    }
-
-  for (natptr = native; count > 0; --count, ++natptr, ++generic)
-    {
-      arelent *g = *generic;
-      unsigned char *raw = (unsigned char *) natptr;
-      asymbol *sym = *(g->sym_ptr_ptr);
-      asection *output_section = sym->section->output_section;
-
-      H_PUT_32 (abfd, g->address, raw);
-      /* Find a type in the output format which matches the input howto -
-	 at the moment we assume input format == output format FIXME!!  */
-      r_idx = 0;
-      /* FIXME:  Need callj stuff here, and to check the howto entries to
-	 be sure they are real for this architecture.  */
-      if (g->howto== &howto_reloc_callj)
-	raw[7] = callj_mask + pcrel_mask + len_2;
-      else if (g->howto == &howto_reloc_pcrel24)
-	raw[7] = pcrel_mask + len_2;
-      else if (g->howto == &howto_reloc_pcrel13)
-	raw[7] = pcrel_mask + len_1;
-      else if (g->howto == &howto_reloc_abs32code)
-	raw[7] = len_2 + incode_mask;
-      else if (g->howto >= howto_align_table
-	       && g->howto <= (howto_align_table + ARRAY_SIZE (howto_align_table) - 1))
-	{
-	  /* symnum == -2; extern_mask not set, pcrel_mask set.  */
-	  r_idx = -2;
-	  r_extern = 0;
-	  raw[7] = (pcrel_mask
-		    | ((g->howto - howto_align_table) << 1));
-	}
-      else
-	raw[7] = len_2;
-
-      if (r_idx != 0)
-	/* Already mucked with r_extern, r_idx.  */;
-      else if (bfd_is_com_section (output_section)
-	       || bfd_is_abs_section (output_section)
-	       || bfd_is_und_section (output_section))
-	{
-	  if (bfd_abs_section_ptr->symbol == sym)
-	    {
-	      /* Whoops, looked like an abs symbol, but is really an offset
-		 from the abs section.  */
-	      r_idx = 0;
-	      r_extern = 0;
-	    }
-	  else
-	    {
-	      /* Fill in symbol.  */
-	      r_extern = 1;
-	      r_idx = (*g->sym_ptr_ptr)->udata.i;
-	    }
-	}
-      else
-	{
-	  /* Just an ordinary section.  */
-	  r_extern = 0;
-	  r_idx  = output_section->target_index;
-	}
-
-      if (bfd_header_big_endian (abfd))
-	{
-	  raw[4] = (unsigned char) (r_idx >> 16);
-	  raw[5] = (unsigned char) (r_idx >>  8);
-	  raw[6] = (unsigned char) (r_idx      );
-	}
-      else
-	{
-	  raw[6] = (unsigned char) (r_idx >> 16);
-	  raw[5] = (unsigned char) (r_idx>>   8);
-	  raw[4] = (unsigned char) (r_idx      );
-	}
-
-      if (r_extern)
-	raw[7] |= extern_mask;
-    }
-
-  if (bfd_bwrite ((void *) native, natsize, abfd) != natsize)
-    {
-      free (native);
-      return FALSE;
-    }
-
-  free (native);
-
-  return TRUE;
-}
-
-static bfd_boolean
-b_out_write_object_contents (bfd *abfd)
-{
-  struct external_exec swapped_hdr;
-  bfd_size_type amt;
-
-  if (! aout_32_make_sections (abfd))
-    return FALSE;
-
-  exec_hdr (abfd)->a_info = BMAGIC;
-
-  exec_hdr (abfd)->a_text = obj_textsec (abfd)->size;
-  exec_hdr (abfd)->a_data = obj_datasec (abfd)->size;
-  exec_hdr (abfd)->a_bss = obj_bsssec (abfd)->size;
-  exec_hdr (abfd)->a_syms = bfd_get_symcount (abfd) * 12;
-  exec_hdr (abfd)->a_entry = bfd_get_start_address (abfd);
-  exec_hdr (abfd)->a_trsize = (obj_textsec (abfd)->reloc_count) * 8;
-  exec_hdr (abfd)->a_drsize = (obj_datasec (abfd)->reloc_count) * 8;
-
-  exec_hdr (abfd)->a_talign = obj_textsec (abfd)->alignment_power;
-  exec_hdr (abfd)->a_dalign = obj_datasec (abfd)->alignment_power;
-  exec_hdr (abfd)->a_balign = obj_bsssec (abfd)->alignment_power;
-
-  exec_hdr (abfd)->a_tload = obj_textsec (abfd)->vma;
-  exec_hdr (abfd)->a_dload = obj_datasec (abfd)->vma;
-
-  bout_swap_exec_header_out (abfd, exec_hdr (abfd), &swapped_hdr);
-
-  amt = EXEC_BYTES_SIZE;
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0
-      || bfd_bwrite ((void *) &swapped_hdr, amt, abfd) != amt)
-    return FALSE;
-
-  /* Now write out reloc info, followed by syms and strings */
-  if (bfd_get_symcount (abfd) != 0)
-    {
-      /* Make sure {CALL,BAL}NAME symbols remain adjacent on output
-	 by sorting.  This is complicated by the fact that stabs are
-	 also ordered.  Solve this by shifting all stabs to the end
-	 in order, then sorting the rest.  */
-
-      asymbol **outsyms, **p, **q;
-
-      outsyms = bfd_get_outsymbols (abfd);
-      p = outsyms + bfd_get_symcount (abfd);
-
-      for (q = p--; p >= outsyms; p--)
-	{
-	  if ((*p)->flags & BSF_DEBUGGING)
-	    {
-	      asymbol *t = *--q;
-	      *q = *p;
-	      *p = t;
-	    }
-	}
-
-      if (q > outsyms)
-	qsort (outsyms, (size_t) (q - outsyms), sizeof (asymbol*),
-	       b_out_symbol_cmp);
-
-      /* Back to your regularly scheduled program.  */
-      if (bfd_seek (abfd, (file_ptr) (N_SYMOFF (exec_hdr (abfd))), SEEK_SET)
-	  != 0)
-	return FALSE;
-
-      if (! aout_32_write_syms (abfd))
-	return FALSE;
-
-      if (bfd_seek (abfd, (file_ptr) (N_TROFF (exec_hdr (abfd))), SEEK_SET)
-	  != 0)
-	return FALSE;
-
-      if (!b_out_squirt_out_relocs (abfd, obj_textsec (abfd)))
-	return FALSE;
-      if (bfd_seek (abfd, (file_ptr) (N_DROFF (exec_hdr (abfd))), SEEK_SET)
-	  != 0)
-	return FALSE;
-
-      if (!b_out_squirt_out_relocs (abfd, obj_datasec (abfd)))
-	return FALSE;
-    }
-  return TRUE;
-}
-
-/* Some reloc hackery.  */
-
-#define CALLS	  0x66003800	/* Template for 'calls' instruction	*/
-#define BAL	  0x0b000000	/* Template for 'bal' instruction	*/
-#define BAL_MASK  0x00ffffff
-#define BALX	  0x85f00000	/* Template for 'balx' instruction	*/
-#define BALX_MASK 0x0007ffff
-#define CALL      0x09000000
-#define PCREL13_MASK 0x1fff
-
-#define output_addr(sec) ((sec)->output_offset+(sec)->output_section->vma)
-
-static bfd_vma
-get_value (arelent *reloc,
-	   struct bfd_link_info *link_info,
-	   asection *input_section)
-{
-  bfd_vma value;
-  asymbol *symbol = *(reloc->sym_ptr_ptr);
-
-  /* A symbol holds a pointer to a section, and an offset from the
-     base of the section.  To relocate, we find where the section will
-     live in the output and add that in.  */
-  if (bfd_is_und_section (symbol->section))
-    {
-      struct bfd_link_hash_entry *h;
-
-      /* The symbol is undefined in this BFD.  Look it up in the
-	 global linker hash table.  FIXME: This should be changed when
-	 we convert b.out to use a specific final_link function and
-	 change the interface to bfd_relax_section to not require the
-	 generic symbols.  */
-      h = bfd_wrapped_link_hash_lookup (input_section->owner, link_info,
-					bfd_asymbol_name (symbol),
-					FALSE, FALSE, TRUE);
-      if (h != (struct bfd_link_hash_entry *) NULL
-	  && (h->type == bfd_link_hash_defined
-	      || h->type == bfd_link_hash_defweak))
-	value = h->u.def.value + output_addr (h->u.def.section);
-      else if (h != (struct bfd_link_hash_entry *) NULL
-	       && h->type == bfd_link_hash_common)
-	value = h->u.c.size;
-      else
-	{
-	  (*link_info->callbacks->undefined_symbol)
-	    (link_info, bfd_asymbol_name (symbol),
-	     input_section->owner, input_section, reloc->address, TRUE);
-	  value = 0;
-	}
-    }
-  else
-    value = symbol->value + output_addr (symbol->section);
-
-  /* Add the value contained in the relocation.  */
-  value += reloc->addend;
-
-  return value;
-}
-
-/* Magic to turn callx into calljx.  */
-
-static bfd_reloc_status_type
-calljx_callback (bfd *abfd,
-		 struct bfd_link_info *link_info,
-		 arelent *reloc_entry,
-		 void * src,
-		 void * dst,
-		 asection *input_section)
-{
-  int word = bfd_get_32 (abfd, src);
-  asymbol *symbol_in = *(reloc_entry->sym_ptr_ptr);
-  aout_symbol_type *symbol = aout_symbol (symbol_in);
-  bfd_vma value;
-
-  value = get_value (reloc_entry, link_info, input_section);
-
-  if (IS_CALLNAME (symbol->other))
-    {
-      aout_symbol_type *balsym = symbol+1;
-      int inst = bfd_get_32 (abfd, (bfd_byte *) src-4);
-
-      /* The next symbol should be an N_BALNAME.  */
-      BFD_ASSERT (IS_BALNAME (balsym->other));
-      inst &= BALX_MASK;
-      inst |= BALX;
-      bfd_put_32 (abfd, (bfd_vma) inst, (bfd_byte *) dst-4);
-      symbol = balsym;
-      value = (symbol->symbol.value
-	       + output_addr (symbol->symbol.section));
-    }
-
-  word += value + reloc_entry->addend;
-
-  bfd_put_32 (abfd, (bfd_vma) word, dst);
-  return bfd_reloc_ok;
-}
-
-/* Magic to turn call into callj.  */
-
-static bfd_reloc_status_type
-callj_callback (bfd *abfd,
-		struct bfd_link_info *link_info,
-		arelent *reloc_entry,
-		void * data,
-		unsigned int srcidx,
-		unsigned int dstidx,
-		asection *input_section,
-		bfd_boolean shrinking)
-{
-  int word = bfd_get_32 (abfd, (bfd_byte *) data + srcidx);
-  asymbol *symbol_in = *(reloc_entry->sym_ptr_ptr);
-  aout_symbol_type *symbol = aout_symbol (symbol_in);
-  bfd_vma value;
-
-  value = get_value (reloc_entry, link_info, input_section);
-
-  if (IS_OTHER (symbol->other))
-    /* Call to a system procedure - replace code with system
-       procedure number.  */
-    word = CALLS | (symbol->other - 1);
-
-  else if (IS_CALLNAME (symbol->other))
-    {
-      aout_symbol_type *balsym = symbol+1;
-
-      /* The next symbol should be an N_BALNAME.  */
-      BFD_ASSERT (IS_BALNAME (balsym->other));
-
-      /* We are calling a leaf, so replace the call instruction with a
-	 bal.  */
-      word = BAL | ((word
-		     + output_addr (balsym->symbol.section)
-		     + balsym->symbol.value + reloc_entry->addend
-		     - dstidx
-		     - output_addr (input_section))
-		    & BAL_MASK);
-    }
-  else if ((symbol->symbol.flags & BSF_SECTION_SYM) != 0)
-    {
-      /* A callj against a symbol in the same section is a fully
-	 resolved relative call.  We don't need to do anything here.
-	 If the symbol is not in the same section, I'm not sure what
-	 to do; fortunately, this case will probably never arise.  */
-      BFD_ASSERT (! shrinking);
-      BFD_ASSERT (symbol->symbol.section == input_section);
-    }
-  else
-    word = CALL | (((word & BAL_MASK)
-		    + value
-		    + reloc_entry->addend
-		    - (shrinking ? dstidx : 0)
-		    - output_addr (input_section))
-		   & BAL_MASK);
-
-  bfd_put_32 (abfd, (bfd_vma) word, (bfd_byte *) data + dstidx);
-  return bfd_reloc_ok;
-}
-
-static reloc_howto_type *
-b_out_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			     bfd_reloc_code_real_type code)
-{
-  switch (code)
-    {
-    default:
-      return 0;
-    case BFD_RELOC_I960_CALLJ:
-      return &howto_reloc_callj;
-    case BFD_RELOC_32:
-    case BFD_RELOC_CTOR:
-      return &howto_reloc_abs32;
-    case BFD_RELOC_24_PCREL:
-      return &howto_reloc_pcrel24;
-    }
-}
-
-static reloc_howto_type *
-b_out_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			     const char *r_name)
-{
-  if (strcasecmp (howto_reloc_callj.name, r_name) == 0)
-    return &howto_reloc_callj;
-  if (strcasecmp (howto_reloc_abs32.name, r_name) == 0)
-    return &howto_reloc_abs32;
-  if (strcasecmp (howto_reloc_pcrel24.name, r_name) == 0)
-    return &howto_reloc_pcrel24;
-
-  return NULL;
-}
-
-/* Allocate enough room for all the reloc entries, plus pointers to them all.  */
-
-static bfd_boolean
-b_out_slurp_reloc_table (bfd *abfd, sec_ptr asect, asymbol **symbols)
-{
-  struct relocation_info *rptr;
-  unsigned int counter;
-  arelent *cache_ptr;
-  int extern_mask, pcrel_mask, callj_mask, length_shift;
-  int incode_mask;
-  int size_mask;
-  bfd_vma prev_addr = 0;
-  unsigned int count;
-  bfd_size_type reloc_size, amt;
-  struct relocation_info *relocs;
-  arelent *reloc_cache;
-
-  if (asect->relocation)
-    return TRUE;
-
-  if (!aout_32_slurp_symbol_table (abfd))
-    return FALSE;
-
-  if (asect == obj_datasec (abfd))
-    reloc_size = exec_hdr (abfd)->a_drsize;
-  else if (asect == obj_textsec (abfd))
-    reloc_size = exec_hdr (abfd)->a_trsize;
-  else if (asect == obj_bsssec (abfd))
-    reloc_size = 0;
-  else
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return FALSE;
-    }
-
-  if (bfd_seek (abfd, asect->rel_filepos, SEEK_SET) != 0)
-    return FALSE;
-  count = reloc_size / sizeof (struct relocation_info);
-
-  relocs = bfd_malloc (reloc_size);
-  if (!relocs && reloc_size != 0)
-    return FALSE;
-
-  amt = ((bfd_size_type) count + 1) * sizeof (arelent);
-  reloc_cache = bfd_malloc (amt);
-  if (!reloc_cache)
-    {
-      if (relocs != NULL)
-	free (relocs);
-      return FALSE;
-    }
-
-  if (bfd_bread ((void *) relocs, reloc_size, abfd) != reloc_size)
-    {
-      free (reloc_cache);
-      if (relocs != NULL)
-	free (relocs);
-      return FALSE;
-    }
-
-  if (bfd_header_big_endian (abfd))
-    {
-      /* Big-endian bit field allocation order.  */
-      pcrel_mask  = 0x80;
-      extern_mask = 0x10;
-      incode_mask = 0x08;
-      callj_mask  = 0x02;
-      size_mask =   0x20;
-      length_shift = 5;
-    }
-  else
-    {
-      /* Little-endian bit field allocation order.  */
-      pcrel_mask  = 0x01;
-      extern_mask = 0x08;
-      incode_mask = 0x10;
-      callj_mask  = 0x40;
-      size_mask   = 0x02;
-      length_shift = 1;
-    }
-
-  for (rptr = relocs, cache_ptr = reloc_cache, counter = 0;
-       counter < count;
-       counter++, rptr++, cache_ptr++)
-  {
-    unsigned char *raw = (unsigned char *)rptr;
-    unsigned int symnum;
-
-    cache_ptr->address = H_GET_32 (abfd, raw + 0);
-    cache_ptr->howto = 0;
-
-    if (bfd_header_big_endian (abfd))
-      symnum = (raw[4] << 16) | (raw[5] << 8) | raw[6];
-    else
-      symnum = (raw[6] << 16) | (raw[5] << 8) | raw[4];
-
-    if (raw[7] & extern_mask)
-      {
-	/* If this is set then the r_index is an index into the symbol table;
-	   if the bit is not set then r_index contains a section map.
-	   We either fill in the sym entry with a pointer to the symbol,
-	   or point to the correct section.  */
-      cache_ptr->sym_ptr_ptr = symbols + symnum;
-      cache_ptr->addend = 0;
-      }
-    else
-      {
-	/* In a.out symbols are relative to the beginning of the
-	   file rather than sections ?
-	   (look in translate_from_native_sym_flags)
-	   The reloc entry addend has added to it the offset into the
-	   file of the data, so subtract the base to make the reloc
-	   section relative.  */
-	int s;
-
-	/* Sign-extend symnum from 24 bits to whatever host uses.  */
-	s = symnum;
-	if (s & (1 << 23))
-	  s |= (~0U) << 24;
-
-	cache_ptr->sym_ptr_ptr = (asymbol **)NULL;
-	switch (s)
-	  {
-	  case N_TEXT:
-	  case N_TEXT | N_EXT:
-	    cache_ptr->sym_ptr_ptr = obj_textsec (abfd)->symbol_ptr_ptr;
-	    cache_ptr->addend = - obj_textsec (abfd)->vma;
-	    break;
-	  case N_DATA:
-	  case N_DATA | N_EXT:
-	    cache_ptr->sym_ptr_ptr = obj_datasec (abfd)->symbol_ptr_ptr;
-	    cache_ptr->addend = - obj_datasec (abfd)->vma;
-	    break;
-	  case N_BSS:
-	  case N_BSS | N_EXT:
-	    cache_ptr->sym_ptr_ptr = obj_bsssec (abfd)->symbol_ptr_ptr;
-	    cache_ptr->addend =  - obj_bsssec (abfd)->vma;
-	    break;
-	  case N_ABS:
-	  case N_ABS | N_EXT:
-	    cache_ptr->sym_ptr_ptr = obj_bsssec (abfd)->symbol_ptr_ptr;
-	    cache_ptr->addend = 0;
-	    break;
-	  case -2: /* .align */
-	    if (raw[7] & pcrel_mask)
-	      {
-		cache_ptr->howto = &howto_align_table[(raw[7] >> length_shift) & 3];
-		cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-	      }
-	    else
-	      {
-		/* .org? */
-		abort ();
-	      }
-	    cache_ptr->addend = 0;
-	    break;
-	  default:
-	    BFD_ASSERT (FALSE);
-	    break;
-	  }
-      }
-
-    /* The i960 only has a few relocation types:
-       abs 32-bit and pcrel 24bit.   except for callj's!  */
-    if (cache_ptr->howto != 0)
-      ;
-    else if (raw[7] & callj_mask)
-      {
-	cache_ptr->howto = &howto_reloc_callj;
-      }
-    else if ( raw[7] & pcrel_mask)
-      {
-	if (raw[7] & size_mask)
-	  cache_ptr->howto = &howto_reloc_pcrel13;
-	else
-	  cache_ptr->howto = &howto_reloc_pcrel24;
-      }
-    else
-      {
-	if (raw[7] & incode_mask)
-	  cache_ptr->howto = &howto_reloc_abs32code;
-	else
-	  cache_ptr->howto = &howto_reloc_abs32;
-      }
-
-    if (cache_ptr->address < prev_addr)
-      {
-	/* Ouch! this reloc is out of order, insert into the right place.  */
-	arelent tmp;
-	arelent *cursor = cache_ptr-1;
-	bfd_vma stop = cache_ptr->address;
-
-	tmp  = *cache_ptr;
-	while (cursor->address > stop && cursor >= reloc_cache)
-	  {
-	    cursor[1] = cursor[0];
-	    cursor--;
-	  }
-
-	cursor[1] = tmp;
-      }
-    else
-      prev_addr = cache_ptr->address;
-  }
-
-  if (relocs != NULL)
-    free (relocs);
-  asect->relocation = reloc_cache;
-  asect->reloc_count = count;
-
-  return TRUE;
-}
-
-/* This is stupid.  This function should be a boolean predicate.  */
-
-static long
-b_out_canonicalize_reloc (bfd *abfd,
-			  sec_ptr section,
-			  arelent **relptr,
-			  asymbol **symbols)
-{
-  arelent *tblptr;
-  unsigned int count;
-
-  if ((section->flags & SEC_CONSTRUCTOR) != 0)
-    {
-      arelent_chain *chain = section->constructor_chain;
-
-      for (count = 0; count < section->reloc_count; count++)
-	{
-	  *relptr++ = &chain->relent;
-	  chain = chain->next;
-	}
-    }
-  else
-    {
-      if (section->relocation == NULL
-	  && ! b_out_slurp_reloc_table (abfd, section, symbols))
-	return -1;
-
-      tblptr = section->relocation;
-      for (count = 0; count++ < section->reloc_count;)
-	*relptr++ = tblptr++;
-    }
-
-  *relptr = NULL;
-
-  return section->reloc_count;
-}
-
-static long
-b_out_get_reloc_upper_bound (bfd *abfd, sec_ptr asect)
-{
-  if (bfd_get_format (abfd) != bfd_object)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return -1;
-    }
-
-  if (asect->flags & SEC_CONSTRUCTOR)
-    return sizeof (arelent *) * (asect->reloc_count + 1);
-
-  if (asect == obj_datasec (abfd))
-    return (sizeof (arelent *) *
-	    ((exec_hdr (abfd)->a_drsize / sizeof (struct relocation_info))
-	     + 1));
-
-  if (asect == obj_textsec (abfd))
-    return (sizeof (arelent *) *
-	    ((exec_hdr (abfd)->a_trsize / sizeof (struct relocation_info))
-	     + 1));
-
-  if (asect == obj_bsssec (abfd))
-    return 0;
-
-  bfd_set_error (bfd_error_invalid_operation);
-  return -1;
-}
-
-
-static bfd_boolean
-b_out_set_section_contents (bfd *abfd,
-			    asection *section,
-			    const void * location,
-			    file_ptr offset,
-			    bfd_size_type count)
-{
-  if (! abfd->output_has_begun)
-    {
-      /* Set by bfd.c handler.  */
-      if (! aout_32_make_sections (abfd))
-	return FALSE;
-
-      obj_textsec (abfd)->filepos = sizeof (struct external_exec);
-      obj_datasec (abfd)->filepos = obj_textsec (abfd)->filepos
-	+  obj_textsec (abfd)->size;
-    }
-
-  /* Regardless, once we know what we're doing, we might as well get going.  */
-  if (bfd_seek (abfd, section->filepos + offset, SEEK_SET) != 0)
-    return FALSE;
-
-  if (count == 0)
-    return TRUE;
-
-  return bfd_bwrite ((void *) location, count, abfd) == count;
-}
-
-static bfd_boolean
-b_out_set_arch_mach (bfd *abfd,
-		     enum bfd_architecture arch,
-		     unsigned long machine)
-{
-  bfd_default_set_arch_mach (abfd, arch, machine);
-
-  if (arch == bfd_arch_unknown)	/* Unknown machine arch is OK.  */
-    return TRUE;
-
-  if (arch == bfd_arch_i960)	/* i960 default is OK.  */
-    switch (machine)
-      {
-      case bfd_mach_i960_core:
-      case bfd_mach_i960_kb_sb:
-      case bfd_mach_i960_mc:
-      case bfd_mach_i960_xa:
-      case bfd_mach_i960_ca:
-      case bfd_mach_i960_ka_sa:
-      case bfd_mach_i960_jx:
-      case bfd_mach_i960_hx:
-      case 0:
-	return TRUE;
-      default:
-	return FALSE;
-      }
-
-  return FALSE;
-}
-
-static int
-b_out_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
-		      struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  return sizeof (struct external_exec);
-}
-
-static void
-perform_slip (bfd *abfd,
-	      unsigned int slip,
-	      asection *input_section,
-	      bfd_vma value)
-{
-  asymbol **s;
-
-  s = _bfd_generic_link_get_symbols (abfd);
-  BFD_ASSERT (s != (asymbol **) NULL);
-
-  /* Find all symbols past this point, and make them know
-     what's happened.  */
-  while (*s)
-    {
-      asymbol *p = *s;
-
-      if (p->section == input_section)
-	{
-	  /* This was pointing into this section, so mangle it.  */
-	  if (p->value > value)
-	    {
-	      p->value -=slip;
-
-	      if (p->udata.p != NULL)
-		{
-		  struct generic_link_hash_entry *h;
-
-		  h = (struct generic_link_hash_entry *) p->udata.p;
-		  BFD_ASSERT (h->root.type == bfd_link_hash_defined);
-		  h->root.u.def.value -= slip;
-		  BFD_ASSERT (h->root.u.def.value == p->value);
-		}
-	    }
-	}
-      s++;
-    }
-}
-
-/* This routine works out if the thing we want to get to can be
-   reached with a 24bit offset instead of a 32 bit one.
-   If it can, then it changes the amode.  */
-
-static int
-abs32code (bfd *abfd,
-	   asection *input_section,
-	   arelent *r,
-	   unsigned int shrink,
-	   struct bfd_link_info *link_info)
-{
-  bfd_vma value = get_value (r, link_info, input_section);
-  bfd_vma dot = output_addr (input_section) + r->address;
-  bfd_vma gap;
-
-  /* See if the address we're looking at within 2^23 bytes of where
-     we are, if so then we can use a small branch rather than the
-     jump we were going to.  */
-  gap = value - (dot - shrink);
-
-  if ((long)(-1UL << 23) < (long)gap && (long)gap < 1L << 23)
-    {
-      /* Change the reloc type from 32bitcode possible 24, to 24bit
-	 possible 32.  */
-      r->howto = &howto_reloc_abs32codeshrunk;
-      /* The place to relc moves back by four bytes.  */
-      r->address -=4;
-
-      /* This will be four bytes smaller in the long run.  */
-      shrink += 4 ;
-      perform_slip (abfd, 4, input_section, r->address-shrink + 4);
-    }
-
-  return shrink;
-}
-
-static int
-aligncode (bfd *abfd,
-	   asection *input_section,
-	   arelent *r,
-	   unsigned int shrink)
-{
-  bfd_vma dot = output_addr (input_section) + r->address;
-  bfd_vma old_end;
-  bfd_vma new_end;
-  unsigned int shrink_delta;
-  int size = r->howto->size;
-
-  /* Reduce the size of the alignment so that it's still aligned but
-     smaller  - the current size is already the same size as or bigger
-     than the alignment required.  */
-
-  /* Calculate the first byte following the padding before we optimize.  */
-  old_end = ((dot + size ) & ~size) + size+1;
-  /* Work out where the new end will be - remember that we're smaller
-     than we used to be.  */
-  new_end = ((dot - shrink + size) & ~size);
-
-  shrink_delta = (old_end - new_end) - shrink;
-
-  if (shrink_delta)
-    {
-      /* Change the reloc so that it knows how far to align to.  */
-      r->howto = howto_done_align_table + (r->howto - howto_align_table);
-
-      /* Encode the stuff into the addend - for future use we need to
-	 know how big the reloc used to be.  */
-      r->addend = old_end - dot + r->address;
-
-      /* This will be N bytes smaller in the long run, adjust all the symbols.  */
-      perform_slip (abfd, shrink_delta, input_section, r->address - shrink);
-      shrink += shrink_delta;
-    }
-
-  return shrink;
-}
-
-static bfd_boolean
-b_out_bfd_relax_section (bfd *abfd,
-			 asection *i,
-			 struct bfd_link_info *link_info,
-			 bfd_boolean *again)
-{
-  /* Get enough memory to hold the stuff.  */
-  bfd *input_bfd = i->owner;
-  asection *input_section = i;
-  unsigned int shrink = 0 ;
-  arelent **reloc_vector = NULL;
-  long reloc_size = bfd_get_reloc_upper_bound (input_bfd, input_section);
-
-  if (bfd_link_relocatable (link_info))
-    (*link_info->callbacks->einfo)
-      (_("%P%F: --relax and -r may not be used together\n"));
-
-  if (reloc_size < 0)
-    return FALSE;
-
-  /* We only run this relaxation once.  It might work to run it
-     multiple times, but it hasn't been tested.  */
-  *again = FALSE;
-
-  if (reloc_size)
-    {
-      long reloc_count;
-
-      reloc_vector = bfd_malloc ((bfd_size_type) reloc_size);
-      if (reloc_vector == NULL && reloc_size != 0)
-	goto error_return;
-
-      /* Get the relocs and think about them.  */
-      reloc_count =
-	bfd_canonicalize_reloc (input_bfd, input_section, reloc_vector,
-				_bfd_generic_link_get_symbols (input_bfd));
-      if (reloc_count < 0)
-	goto error_return;
-      if (reloc_count > 0)
-	{
-	  arelent **parent;
-
-	  for (parent = reloc_vector; *parent; parent++)
-	    {
-	      arelent *r = *parent;
-
-	      switch (r->howto->type)
-		{
-		case ALIGNER:
-		  /* An alignment reloc.  */
-		  shrink = aligncode (abfd, input_section, r, shrink);
-		  break;
-		case ABS32CODE:
-		  /* A 32bit reloc in an addressing mode.  */
-		  shrink = abs32code (input_bfd, input_section, r, shrink,
-				      link_info);
-		  break;
-		case ABS32CODE_SHRUNK:
-		  shrink += 4;
-		  break;
-		}
-	    }
-	}
-    }
-  input_section->size -= shrink;
-
-  if (reloc_vector != NULL)
-    free (reloc_vector);
-  return TRUE;
- error_return:
-  if (reloc_vector != NULL)
-    free (reloc_vector);
-  return FALSE;
-}
-
-static bfd_byte *
-b_out_bfd_get_relocated_section_contents (bfd *output_bfd,
-					  struct bfd_link_info *link_info,
-					  struct bfd_link_order *link_order,
-					  bfd_byte *data,
-					  bfd_boolean relocatable,
-					  asymbol **symbols)
-{
-  /* Get enough memory to hold the stuff.  */
-  bfd *input_bfd = link_order->u.indirect.section->owner;
-  asection *input_section = link_order->u.indirect.section;
-  long reloc_size = bfd_get_reloc_upper_bound (input_bfd, input_section);
-  arelent **reloc_vector = NULL;
-  long reloc_count;
-
-  if (reloc_size < 0)
-    goto error_return;
-
-  /* If producing relocatable output, don't bother to relax.  */
-  if (relocatable)
-    return bfd_generic_get_relocated_section_contents (output_bfd, link_info,
-						       link_order,
-						       data, relocatable,
-						       symbols);
-
-  reloc_vector = bfd_malloc ((bfd_size_type) reloc_size);
-  if (reloc_vector == NULL && reloc_size != 0)
-    goto error_return;
-
-  /* Read in the section.  */
-  BFD_ASSERT (bfd_get_section_contents (input_bfd,
-					input_section,
-					data,
-					(bfd_vma) 0,
-					input_section->size));
-
-  reloc_count = bfd_canonicalize_reloc (input_bfd,
-					input_section,
-					reloc_vector,
-					symbols);
-  if (reloc_count < 0)
-    goto error_return;
-  if (reloc_count > 0)
-    {
-      arelent **parent = reloc_vector;
-      arelent *reloc ;
-      unsigned int dst_address = 0;
-      unsigned int src_address = 0;
-      unsigned int run;
-      unsigned int idx;
-
-      /* Find how long a run we can do.  */
-      while (dst_address < link_order->size)
-	{
-	  reloc = *parent;
-	  if (reloc)
-	    {
-	      /* Note that the relaxing didn't tie up the addresses in the
-		 relocation, so we use the original address to work out the
-		 run of non-relocated data.  */
-	      BFD_ASSERT (reloc->address >= src_address);
-	      run = reloc->address - src_address;
-	      parent++;
-	    }
-	  else
-	    run = link_order->size - dst_address;
-
-	  /* Copy the bytes.  */
-	  for (idx = 0; idx < run; idx++)
-	    data[dst_address++] = data[src_address++];
-
-	  /* Now do the relocation.  */
-	  if (reloc)
-	    {
-	      switch (reloc->howto->type)
-		{
-		case ABS32CODE:
-		  calljx_callback (input_bfd, link_info, reloc,
-				   src_address + data, dst_address + data,
-				   input_section);
-		  src_address += 4;
-		  dst_address += 4;
-		  break;
-		case ABS32:
-		  bfd_put_32 (input_bfd,
-			      (bfd_get_32 (input_bfd, data + src_address)
-			       + get_value (reloc, link_info, input_section)),
-			      data + dst_address);
-		  src_address += 4;
-		  dst_address += 4;
-		  break;
-		case CALLJ:
-		  callj_callback (input_bfd, link_info, reloc, data,
-				  src_address, dst_address, input_section,
-				  FALSE);
-		  src_address += 4;
-		  dst_address += 4;
-		  break;
-		case ALIGNDONE:
-		  BFD_ASSERT (reloc->addend >= src_address);
-		  BFD_ASSERT ((bfd_vma) reloc->addend
-			      <= input_section->size);
-		  src_address = reloc->addend;
-		  dst_address = ((dst_address + reloc->howto->size)
-				 & ~reloc->howto->size);
-		  break;
-		case ABS32CODE_SHRUNK:
-		  /* This used to be a callx, but we've found out that a
-		     callj will reach, so do the right thing.  */
-		  callj_callback (input_bfd, link_info, reloc, data,
-				  src_address + 4, dst_address, input_section,
-				  TRUE);
-		  dst_address += 4;
-		  src_address += 8;
-		  break;
-		case PCREL24:
-		  {
-		    long int word = bfd_get_32 (input_bfd,
-						data + src_address);
-		    bfd_vma value;
-
-		    value = get_value (reloc, link_info, input_section);
-		    word = ((word & ~BAL_MASK)
-			    | (((word & BAL_MASK)
-				+ value
-				- output_addr (input_section)
-				+ reloc->addend)
-			       & BAL_MASK));
-
-		    bfd_put_32 (input_bfd, (bfd_vma) word, data + dst_address);
-		    dst_address += 4;
-		    src_address += 4;
-
-		  }
-		  break;
-		case PCREL13:
-		  {
-		    long int word = bfd_get_32 (input_bfd,
-						data + src_address);
-		    bfd_vma value;
-
-		    value = get_value (reloc, link_info, input_section);
-		    word = ((word & ~PCREL13_MASK)
-			    | (((word & PCREL13_MASK)
-				+ value
-				+ reloc->addend
-				- output_addr (input_section))
-			       & PCREL13_MASK));
-
-		    bfd_put_32 (input_bfd, (bfd_vma) word, data + dst_address);
-		    dst_address += 4;
-		    src_address += 4;
-		  }
-		  break;
-
-		default:
-		  abort ();
-		}
-	    }
-	}
-    }
-  if (reloc_vector != NULL)
-    free (reloc_vector);
-  return data;
- error_return:
-  if (reloc_vector != NULL)
-    free (reloc_vector);
-  return NULL;
-}
-
-
-/* Build the transfer vectors for Big and Little-Endian B.OUT files.  */
-
-#define aout_32_find_line		       _bfd_nosymbols_find_line
-#define aout_32_get_symbol_version_string      _bfd_nosymbols_get_symbol_version_string
-#define aout_32_bfd_make_debug_symbol	       _bfd_nosymbols_bfd_make_debug_symbol
-#define aout_32_close_and_cleanup	       aout_32_bfd_free_cached_info
-#define b_out_bfd_link_hash_table_create       _bfd_generic_link_hash_table_create
-#define b_out_bfd_link_add_symbols	       _bfd_generic_link_add_symbols
-#define b_out_bfd_link_just_syms	       _bfd_generic_link_just_syms
-#define b_out_bfd_copy_link_hash_symbol_type \
-  _bfd_generic_copy_link_hash_symbol_type
-#define b_out_bfd_final_link		       _bfd_generic_final_link
-#define b_out_bfd_link_split_section	       _bfd_generic_link_split_section
-#define b_out_bfd_gc_sections		       bfd_generic_gc_sections
-#define b_out_bfd_lookup_section_flags	       bfd_generic_lookup_section_flags
-#define b_out_bfd_merge_sections	       bfd_generic_merge_sections
-#define b_out_bfd_is_group_section	       bfd_generic_is_group_section
-#define b_out_bfd_discard_group		       bfd_generic_discard_group
-#define b_out_section_already_linked	       _bfd_generic_section_already_linked
-#define b_out_bfd_define_common_symbol	       bfd_generic_define_common_symbol
-#define b_out_bfd_define_start_stop	       bfd_generic_define_start_stop
-#define aout_32_get_section_contents_in_window _bfd_generic_get_section_contents_in_window
-#define b_out_bfd_link_check_relocs	       _bfd_generic_link_check_relocs
-#define b_out_set_reloc			       _bfd_generic_set_reloc
-
-extern const bfd_target bout_le_vec;
-
-const bfd_target bout_be_vec =
-{
-  "b.out.big",			/* Name.  */
-  bfd_target_aout_flavour,
-  BFD_ENDIAN_LITTLE,		/* Data byte order.  */
-  BFD_ENDIAN_BIG,		/* Header byte order.  */
-  (HAS_RELOC | EXEC_P |		/* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | BFD_IS_RELAXABLE ),
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
-  '_',				/* Symbol leading char.  */
-  ' ',				/* AR_pad_char.  */
-  16,				/* AR_max_namelen.  */
-  0,				/* match priority.  */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Data.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-     bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* Headers.  */
- {_bfd_dummy_target, b_out_object_p, /* bfd_check_format.  */
-   bfd_generic_archive_p, _bfd_dummy_target},
- {bfd_false, b_out_mkobject,	/* bfd_set_format.  */
-   _bfd_generic_mkarchive, bfd_false},
- {bfd_false, b_out_write_object_contents, /* bfd_write_contents.  */
-   _bfd_write_archive_contents, bfd_false},
-
-     BFD_JUMP_TABLE_GENERIC (aout_32),
-     BFD_JUMP_TABLE_COPY (_bfd_generic),
-     BFD_JUMP_TABLE_CORE (_bfd_nocore),
-     BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd),
-     BFD_JUMP_TABLE_SYMBOLS (aout_32),
-     BFD_JUMP_TABLE_RELOCS (b_out),
-     BFD_JUMP_TABLE_WRITE (b_out),
-     BFD_JUMP_TABLE_LINK (b_out),
-     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  & bout_le_vec,
-
-  NULL
-};
-
-const bfd_target bout_le_vec =
-{
-  "b.out.little",		/* Name.  */
-  bfd_target_aout_flavour,
-  BFD_ENDIAN_LITTLE,		/* Data byte order.  */
-  BFD_ENDIAN_LITTLE,		/* Header byte order.  */
-  (HAS_RELOC | EXEC_P |		/* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | BFD_IS_RELAXABLE ),
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
-  '_',				/* Symbol leading char.  */
-  ' ',				/* AR_pad_char.  */
-  16,				/* AR_max_namelen.  */
-  0,				/* match priority.  */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-    bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Data.  */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Headers.  */
-
-  {_bfd_dummy_target, b_out_object_p, /* bfd_check_format.  */
-     bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, b_out_mkobject,	/* bfd_set_format.  */
-     _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, b_out_write_object_contents, /* bfd_write_contents.  */
-     _bfd_write_archive_contents, bfd_false},
-
-     BFD_JUMP_TABLE_GENERIC (aout_32),
-     BFD_JUMP_TABLE_COPY (_bfd_generic),
-     BFD_JUMP_TABLE_CORE (_bfd_nocore),
-     BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd),
-     BFD_JUMP_TABLE_SYMBOLS (aout_32),
-     BFD_JUMP_TABLE_RELOCS (b_out),
-     BFD_JUMP_TABLE_WRITE (b_out),
-     BFD_JUMP_TABLE_LINK (b_out),
-     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  & bout_be_vec,
-
-  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.1.0.20180703/bfd/cache.c ./bfd/cache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cache.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cache.c	2018-07-10 02:06:11.000000000 +0000
@@ -237,13 +237,12 @@ close_one (void)
 static FILE *
 bfd_cache_lookup_worker (bfd *abfd, enum cache_flag flag)
 {
-  bfd *orig_bfd = abfd;
   if ((abfd->flags & BFD_IN_MEMORY) != 0)
     abort ();
 
-  while (abfd->my_archive != NULL
-	 && !bfd_is_thin_archive (abfd->my_archive))
-    abfd = abfd->my_archive;
+  if (abfd->my_archive != NULL
+      && !bfd_is_thin_archive (abfd->my_archive))
+    abort ();
 
   if (abfd->iostream != NULL)
     {
@@ -270,8 +269,8 @@ bfd_cache_lookup_worker (bfd *abfd, enum
     return (FILE *) abfd->iostream;
 
   /* xgettext:c-format */
-  _bfd_error_handler (_("reopening %B: %s\n"),
-		      orig_bfd, bfd_errmsg (bfd_get_error ()));
+  _bfd_error_handler (_("reopening %pB: %s\n"),
+		      abfd, bfd_errmsg (bfd_get_error ()));
   return NULL;
 }
 
@@ -301,25 +300,9 @@ cache_bseek (struct bfd *abfd, file_ptr 
    first octet in the file, NOT the beginning of the archive header.  */
 
 static file_ptr
-cache_bread_1 (struct bfd *abfd, void *buf, file_ptr nbytes)
+cache_bread_1 (FILE *f, void *buf, file_ptr nbytes)
 {
-  FILE *f;
   file_ptr nread;
-  /* FIXME - this looks like an optimization, but it's really to cover
-     up for a feature of some OSs (not solaris - sigh) that
-     ld/pe-dll.c takes advantage of (apparently) when it creates BFDs
-     internally and tries to link against them.  BFD seems to be smart
-     enough to realize there are no symbol records in the "file" that
-     doesn't exist but attempts to read them anyway.  On Solaris,
-     attempting to read zero bytes from a NULL file results in a core
-     dump, but on other platforms it just returns zero bytes read.
-     This makes it to something reasonable. - DJ */
-  if (nbytes == 0)
-    return 0;
-
-  f = bfd_cache_lookup (abfd, CACHE_NORMAL);
-  if (f == NULL)
-    return 0;
 
 #if defined (__VAX) && defined (VMS)
   /* Apparently fread on Vax VMS does not keep the record length
@@ -355,6 +338,11 @@ static file_ptr
 cache_bread (struct bfd *abfd, void *buf, file_ptr nbytes)
 {
   file_ptr nread = 0;
+  FILE *f;
+
+  f = bfd_cache_lookup (abfd, CACHE_NORMAL);
+  if (f == NULL)
+    return -1;
 
   /* Some filesystems are unable to handle reads that are too large
      (for instance, NetApp shares with oplocks turned off).  To avoid
@@ -368,7 +356,7 @@ cache_bread (struct bfd *abfd, void *buf
       if (chunk_size > max_chunk_size)
 	chunk_size = max_chunk_size;
 
-      chunk_nread = cache_bread_1 (abfd, (char *) buf + nread, chunk_size);
+      chunk_nread = cache_bread_1 (f, (char *) buf + nread, chunk_size);
 
       /* Update the nread count.
 
@@ -389,14 +377,14 @@ cache_bread (struct bfd *abfd, void *buf
 }
 
 static file_ptr
-cache_bwrite (struct bfd *abfd, const void *where, file_ptr nbytes)
+cache_bwrite (struct bfd *abfd, const void *from, file_ptr nbytes)
 {
   file_ptr nwrite;
   FILE *f = bfd_cache_lookup (abfd, CACHE_NORMAL);
 
   if (f == NULL)
     return 0;
-  nwrite = fwrite (where, 1, nbytes, f);
+  nwrite = fwrite (from, 1, nbytes, f);
   if (nwrite < nbytes && ferror (f))
     {
       bfd_set_error (bfd_error_system_call);
@@ -468,11 +456,6 @@ cache_bmmap (struct bfd *abfd ATTRIBUTE_
       if (pagesize_m1 == 0)
 	pagesize_m1 = getpagesize () - 1;
 
-      /* Handle archive members.  */
-      if (abfd->my_archive != NULL
-	  && !bfd_is_thin_archive (abfd->my_archive))
-	offset += abfd->origin;
-
       /* Align.  */
       pg_offset = offset & ~pagesize_m1;
       pg_len = (len + (offset - pg_offset) + pagesize_m1) & ~pagesize_m1;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cf-sparclynx.c ./bfd/cf-sparclynx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cf-sparclynx.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cf-sparclynx.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,29 +0,0 @@
-/* BFD back-end for Sparc COFF LynxOS files.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGET_SYM	sparc_coff_lynx_vec
-#define TARGET_NAME	"coff-sparc-lynx"
-
-#define LYNXOS
-
-#define COFF_LONG_FILENAMES
-
-#include "coff-sparc.c"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/ChangeLog ./bfd/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/ChangeLog	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/ChangeLog	2018-07-10 02:06:11.000000000 +0000
@@ -1,7 +1,3282 @@
-2018-01-05  Joel Brobecker  <brobecker@adacore.com>
+2018-07-04  Joel Brobecker  <brobecker@adacore.com>
 
 	* development.sh (development): Set to false.
 
+2018-07-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* Makefile.am (bfdinclude_HEADERS): Add $(INCDIR)/diagnostics.h.
+	* Makefile.in: Regenerated.
+
+2018-07-03  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (bfd_elf_final_link): Remove zero size .gnu.attributes
+	sections.
+
+2018-07-03  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (ATTR_TYPE_FLAG_ERROR, ATTR_TYPE_HAS_ERROR): Define.
+	* elf-attrs.c (is_default_attr): Handle ATTR_TYPE_HAS_ERROR.
+	* elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Use
+	ATTR_TYPE_FLAG_INT_VAL.  Set ATTR_TYPE_HAS_ERROR on finding
+	incompatible attribute.
+	(ppc_elf_merge_obj_attributes): Likewise.  Return
+	_bfd_elf_merge_object_attributes result.
+	* elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Return
+	_bfd_elf_merge_object_attributes result.
+
+2018-07-03  Alan Modra  <amodra@gmail.com>
+
+	PR 17550
+	* elflink.c (_bfd_elf_fix_symbol_flags): Hide dynamic symbols
+	in discarded sections.
+
+2018-07-02  Maciej W. Rozycki  <macro@mips.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Set
+	`mark' for symbols created from `mips_elf_dynsym_rtproc_names'
+	list.
+
+2018-07-02  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf64-mips.c (micromips_elf64_howto_table_rel): Add
+	R_MICROMIPS_HI0_LO16, R_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_LDM,
+	R_MICROMIPS_TLS_DTPREL_HI16, R_MICROMIPS_TLS_DTPREL_LO16,
+	R_MICROMIPS_TLS_GOTTPREL, R_MICROMIPS_TLS_TPREL_HI16,
+	R_MICROMIPS_TLS_TPREL_LO16, R_MICROMIPS_GPREL7_S2 and
+	R_MICROMIPS_PC23_S2 relocation entries.
+	(micromips_elf64_howto_table_rela): Likewise.
+	(micromips_reloc_map): Likewise.
+	* elfn32-mips.c (elf_micromips_howto_table_rel): Likewise.
+	(elf_micromips_howto_table_rela): Likewise.
+	(micromips_reloc_map): Likewise.
+
+2018-07-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/23324
+	* elf64-x86-64.c (elf_x86_64_relocate_section): Clear the
+	R_X86_64_converted_reloc_bit bit.
+
+2018-07-02  Jeff Muizelaar  <jrmuizel@gmail.com>
+	    Tom Tromey  <tom@tromey.com>
+
+	PR 13157
+	PR 21787
+	* mach-o.c (bfd_mach_o_fat_close_and_cleanup): New function.
+	(bfd_mach_o_close_and_cleanup): Redefine.
+	* archive.c (_bfd_unlink_from_archive_parent): New function,
+	extracted from..
+	(_bfd_archive_close_and_cleanup): ..here.
+	(bfd_generic_archive_p): Do not clear archive's format.
+	* libbfd-in.h (_bfd_unlink_from_archive_parent): Declare.
+	* libbfd.h: Regenerate.
+
+2018-07-02  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* archures.c (bfd_mach_arm_5TEJ, bfd_mach_arm_6, bfd_mach_arm_6KZ,
+	bfd_mach_arm_6T2, bfd_mach_arm_6K, bfd_mach_arm_7, bfd_mach_arm_6M,
+	bfd_mach_arm_6SM, bfd_mach_arm_7EM, bfd_mach_arm_8, bfd_mach_arm_8R,
+	bfd_mach_arm_8M_BASE, bfd_mach_arm_8M_MAIN): Define.
+	* bfd-in2.h: Regenerate.
+	* cpu-arm.c (arch_info_struct): Add entries for above new
+	bfd_mach_arm values.
+	* elf32-arm.c (bfd_arm_get_mach_from_attributes): Add Tag_CPU_arch to
+	bfd_mach_arm mapping logic for pre Armv4 and Armv5TEJ and later
+	architectures.  Force assert failure for any new Tag_CPU_arch value.
+
+2018-07-02  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* doc/bfdint.texi: Use command-line consistently when used in a
+	compount word.
+	* doc/bfdsumm.texi: Likewise.
+
+2018-06-29  Maciej W. Rozycki  <macro@mips.com>
+
+	* elfxx-mips.c (allocate_dynrelocs): Remove extraneous symbol
+	visibility check made for undefined weak symbols.
+
+2018-06-26  Nick Clifton  <nickc@redhat.com>
+
+	* po/uk.po: Updated Ukranian translation.
+
+2018-06-25  Nick Clifton  <nickc@redhat.com>
+
+	* elfnn-aarch64.c (_bfd_aarch64_erratum_835769_stub_name): Check
+	for malloc returning NULL.
+	(_bfd_aarch64_erratum_843419_fixup): Check for
+	_bfd_aarch64_erratum_835769_stub_name returning NULL.
+
+2018-06-24  Nick Clifton  <nickc@redhat.com>
+
+	* po/bfd.pot: Regenerate.
+
+2018-06-24  Nick Clifton  <nickc@redhat.com>
+
+	* version.m4: Update version string to 2.31.51.
+	* configure: Regenerate.
+
+2018-06-24  Nick Clifton  <nickc@redhat.com>
+
+	2.31 branch created.
+
+2018-06-21  Maciej W. Rozycki  <macro@mips.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_compact_eh_encoding)
+	(_bfd_mips_elf_cant_unwind_opcode): Correct formatting.
+
+2018-06-21  Maciej W. Rozycki  <macro@mips.com>
+
+	* elfxx-mips.c (_bfd_mips_post_process_headers): Keep
+	EI_ABIVERSION setting together.
+
+2018-06-21  Maciej W. Rozycki  <macro@mips.com>
+
+	* elfxx-mips.c (MIPS_LIBC_ABI_DEFAULT, MIPS_LIBC_ABI_MIPS_PLT)
+	(MIPS_LIBC_ABI_UNIQUE, MIPS_LIBC_ABI_MIPS_O32_FP64)
+	(MIPS_LIBC_ABI_MAX): New enumeration constants.
+	(_bfd_mips_post_process_headers): Use them in place of magic
+	numbers.
+
+2018-06-21  Jim Wilson  <jimw@sifive.com>
+
+	* elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Update comment.
+	Use SYMBOL_REFERENCES_LOCAL.  Add asserts for h->got.offset.
+
+2018-06-21  Alan Modra  <amodra@gmail.com>
+
+	* doc/Makefile.am (AUTOMAKE_OPTIONS): Add "foreign".
+	* doc/Makefile.in: Regenerate.
+
+2018-06-20  Renlin Li  <renlin.li@arm.com>
+
+	* elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use PG_OFFSET
+	to resolve BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
+
+2018-06-20  Nick Clifton  <nickc@redhat.com>
+
+	PR 23316
+	* opncls.c (get_build_id): Check for a negative or excessive data
+	size in the build-id note.
+
+2018-06-20  Nick Clifton  <nickc@redhat.com>
+
+	PR 23299
+	* mach-o.c (cputype): New function.
+	(cpusubtype): New function.
+	(bfd_mach_o_bfd_print_private_data): New function.  Dispalys the
+	values in the MACH-O file header.
+	(bfd_mach_o_bfd_copy_private_header_data): Copy the cputype and
+	cpusubtype fields from the input bfd's mach-o header to the output
+	bfd.
+	* mach-o-target.c (bfd_mach_o_bfd_print_private_bfd_data):
+	Redefine to bfd_mach_o_bfd_print_private_data.
+	* mach-o.h (bfd_mach_o_bfd_print_private_bfd_data): Prototype.
+
+2018-06-19  Maciej W. Rozycki  <macro@mips.com>
+
+	PR ld/22966
+	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Verify the
+	`.got.plt' entry referred is in range.
+	(mips_finish_exec_plt): Correct the range check for `.got.plt'
+	start.  Replace the assertion used for that with a proper error
+	message.
+
+2018-06-19  Maciej W. Rozycki  <macro@mips.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Fix
+	formatting.
+
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* Makefile.am (AUTOMAKE_OPTIONS): Remove 1.11.
+	(INCLUDES): Rename to ...
+	(AM_CPPFLAGS): ... this.
+	* configure.ac: Remove AC_PREREQ.
+	* doc/Makefile.am (AUTOMAKE_OPTIONS): Remove 1.9, cygnus, add
+	info-in-builddir no-texinfo.tex.
+	(info_TEXINFOS): Rename bfd.texinfo to bfd.texi.
+	* doc/bfd.texinfo: Rename to ...
+	* doc/bfd.texi: ... this.
+	* Makefile.in: Re-generate.
+	* aclocal.m4: Re-generate.
+	* config.in: Re-generate.
+	* configure: Re-generate.
+	* doc/Makefile.in: Re-generate.
+
+2018-06-18  Mephi  <mephi42@gmail.com>
+
+	PR 23297
+	* mach-o-x86-64.c (x86_64_howto_table): Add entry for
+	BFD_RELOC_MACH_O_X86_64_RELOC_TLV.
+	(bfd_mach_o_x86_64_canonicalize_one_reloc): Handle the new reloc.
+	(bfd_mach_o_x86_64_swap_reloc_out): Likewise.
+	* reloc.c (BFD_RELOC_MACH_O_X86_64_TV): New entry.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2018-06-14  Faraz Shahbazker  <Faraz.Shahbazker@mips.com>
+
+	* elfxx-mips.c (print_mips_ases): Add GINV extension.
+
+2018-06-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/23267
+	* elf.c (_bfd_elf_get_symbol_version_string): Check if the first
+	symbol version is base version.
+
+2018-06-14  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct elf_link_hash_table): Add "dynamic_relocs".
+	* elflink.c (_bfd_elf_init_2_index_sections): Comment fix.
+	(_bfd_elf_add_dynamic_entry): Set "dynamic_relocs".
+	(_bfd_elf_link_renumber_dynsyms): Exclude all section symbols when
+	"dynamic_relocs" is not set.
+	* elfxx-mips.c (count_section_dynsyms): Likewise.
+
+2018-06-14  Alan Modra  <amodra@gmail.com>
+
+	PR 23282
+	* bfdio.c (bfd_seek): Optimize away seeks to current position.
+
+2018-06-13  Scott Egerton  <scott.egerton@imgtec.com>
+	    Faraz Shahbazker  <Faraz.Shahbazker@mips.com>
+
+	* elfxx-mips.c (print_mips_ases): Add CRC.
+
+2018-06-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/23161
+	* elfxx-x86.c (elf_x86_hide_linker_defined): New function.
+	(_bfd_x86_elf_link_check_relocs): Use it to hide hidden
+	__bss_start, _end and _edata in shared libraries.
+
+2018-06-07  Alan Modra  <amodra@gmail.com>
+
+	* elf32-tic6x.c (elf32_tic6x_check_relocs): Reference
+	__c6xabi_DSBT_BASE explicitly for R_C6000_SBR_* relocs.
+
+2018-06-05  Alan Modra  <amodra@gmail.com>
+
+	* bfd.c (struct bfd): Update comment on "where" usage.
+	* bfdio.c (bfd_bwrite, bfd_stat): Use and update "iovec",
+	"iostream", and "where" from containing archive file.  Return
+	error on NULL iovec.
+	(bfd_bread): Similarly, and return error attempted out of
+	bounds archive element access.
+	(bfd_tell, bfd_flush): Use and update "iovec", "iostream", and
+	"where" from containing archive file.
+	(bfd_seek): Likewise.  Return error on NULL iovec.  Don't
+	attempt to optimize away seeks.  Don't paper over errors by
+	calling bfd_tell.
+	(bfd_get_mtime): Call bfd_stat rather than iovec->bstat.
+	(bfd_get_size): Likewise.
+	(bfd_mmap): Operate on and use iovec of containing archive
+	file.  Return error on NULL iovec.
+	* cache.c (bfd_cache_lookup_worker): Abort if working on
+	archive element bfd.
+	(cache_bread_1): Delete bfd parameter, add FILE* parameter.
+	Don't ignore zero byte reads.
+	(cache_bread): Look up FILE* in cache here.  Error on NULL
+	lookup.
+	(cache_bwrite): Rename "where" to "from".
+	(cache_bmmap): Don't handle archive elements.
+	* coffcode.h (coff_slurp_line_table): Exit early on zero
+	lineno count.
+	* bfd-in2.h: Regenerate.
+
+2018-06-05  Alan Modra  <amodra@gmail.com>
+
+	PR 23254
+	* plugin.c (bfd_plugin_open_input): Allow for possibility of
+	nested archives.  Open file again for plugin.
+	(try_claim): Don't save and restore file position.  Close file
+	if not claimed.
+	* sysdep.h (O_BINARY): Define.
+
+2018-06-04  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* elf32-xtensa.c (xtensa_read_table_entries): Make global.
+	(compute_fill_extra_space): Drop declaration. Rename function to
+	xtensa_compute_fill_extra_space.
+	(compute_ebb_actions, remove_dead_literal): Update references to
+	compute_fill_extra_space.
+
+2018-06-04  Volodymyr Arbatov  <arbatov@cadence.com>
+
+	* elf32-xtensa.c (elf32xtensa_separate_props): New global
+	variable.
+	(xtensa_add_names): New function.
+	(xtensa_property_section_name): Add new parameter
+	separate_sections, use it to choose property section name.
+	(xtensa_get_separate_property_section): New function.
+	(xtensa_get_property_section): Invoke
+	xtensa_get_separate_property_section to get individual property
+	section if it exists, common property section otherwise.
+	(xtensa_make_property_section): Pass elf32xtensa_separate_props
+	to xtensa_property_section_name.
+
+2018-06-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/23146
+	* bfd-in.h: Include "diagnostics.h".
+	* bfd-in2.h: Regenerated.
+	* elf32-arm.c (elf32_arm_nabi_write_core_note): Use
+	DIAGNOSTIC_PUSH, DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION and
+	DIAGNOSTIC_POP to silence GCC 8.1 warnings with
+	-Wstringop-truncation.
+	* elf32-ppc.c (ppc_elf_write_core_note): Likewse.
+	* elf32-s390.c (elf_s390_write_core_note): Likewse.
+	* elf64-ppc.c (ppc64_elf_write_core_note): Likewse.
+	* elf64-s390.c (elf_s390_write_core_note): Likewse.
+	* elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewse.
+
+2018-06-03  Jim Wilson  <jimw@sifive.com>
+
+	PR ld/23244
+	* elfnn-riscv.c (riscv_elf_relocate_section) <R_RISCV_CALL>: Check
+	for and handle an undefined weak with no PLT.
+
+	PR ld/22756
+	* elfnn-riscv.c (riscv_relax_delete_bytes): Add versioned_hidden check
+	to code that ignores duplicate symbols.
+
+2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* version.m4: Bump version to 2.30.52
+	* configure: Regenerated.
+
+2018-06-01  Alan Modra  <amodra@gmail.com>
+
+	* bfd.c (_bfd_error_handler): Arrange for this function to be
+	declared in bfd-in2.h.
+	* libbfd-in.h (_bfd_error_handler): Don't declare.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Regenerate.
+
+2018-05-30  Amaan Cheval <amaan.cheval@gmail.com>
+
+	* config.bfd (x86_64-*-*): Add pei-x86-64 target to x86_64-*-rtems*
+	This is needed to generate UEFI application image files from ELFs.
+
+2018-05-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_lazy_plt): Add plt_tlsdesc_entry,
+	plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
+	plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
+	plt_tlsdesc_got2_insn_end for TLSDESC entry.
+	(elf_i386_lazy_ibt_plt): Likewise.
+	(elf_i386_nacl_plt): Likewise.
+	* elf64-x86-64.c (tlsdesc_plt_entry): Moved and renamed to ...
+	(elf_x86_64_tlsdesc_plt_entry): This.
+	(elf_x86_64_lazy_plt): Add plt_tlsdesc_entry,
+	plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
+	plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
+	plt_tlsdesc_got2_insn_end for TLSDESC entry.
+	(elf_x86_64_lazy_bnd_plt): Likewise.
+	(elf_x86_64_lazy_ibt_plt): Likewise.
+	(elf_x32_lazy_ibt_plt): Likewise.
+	(elf_x86_64_nacl_plt): Likewise.
+	(elf_x86_64_finish_dynamic_sections): Use plt_tlsdesc_entry,
+	plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
+	plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
+	plt_tlsdesc_got2_insn_end to update TLSDESC entry.
+	* elfxx-x86.h (elf_x86_lazy_plt_layout): Update comments.
+	Add plt_tlsdesc_entry, plt_tlsdesc_entry_size,
+	plt_tlsdesc_got1_offset, plt_tlsdesc_got2_offset,
+	plt_tlsdesc_got1_insn_end and plt_tlsdesc_got2_insn_end.
+	(elf_x86_non_lazy_plt_layout): Update comments.
+	(elf_x86_plt_layout): Likewise.
+
+2018-05-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/23238
+	* elf-s390-common.c (elf_s390_add_symbol_hook): Removed.
+	* elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
+	(elf_backend_add_symbol_hook): Likewise.
+	* elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
+	(elf_backend_add_symbol_hook): Likewise.
+	* elf32-s390.c (elf_backend_add_symbol_hook): Likewise.
+	* elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
+	(elf_backend_add_symbol_hook): Likewise.
+	* elf64-s390.c (elf_backend_add_symbol_hook): Likewise.
+	* elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
+	* elfxx-aarch64.h (_bfd_aarch64_elf_add_symbol_hook): Likewise.
+	(elf_backend_add_symbol_hook): Likewise.
+	* elf32-arm.c (elf32_arm_add_symbol_hook): Remove STT_GNU_IFUNC
+	handling.
+	* elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
+	* elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
+	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
+	* elflink.c (elf_link_add_object_symbols): Set
+	elf_gnu_symbol_ifunc for STT_GNU_IFUNC symbols.
+
+2018-05-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/23194
+	* elf-bfd.h (_bfd_elf_link_hide_sym_by_version): New.
+	* elflink.c (_bfd_elf_link_hide_versioned_symbol): New function.
+	Extracted from _bfd_elf_link_assign_sym_version.
+	(_bfd_elf_link_hide_sym_by_version): New function.
+	(_bfd_elf_link_assign_sym_version): Use
+	_bfd_elf_link_hide_versioned_symbol.
+	* elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Call
+	_bfd_elf_link_hide_sym_by_version instead of
+	bfd_hide_sym_by_version.  Don't check unversioned symbol.
+
+2018-05-25  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.in: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-05-25  Alan Modra  <amodra@gmail.com>
+
+	* configure.ac (bfd_cv_hidden): Run test with -Werror in CFLAGS.
+	* configure: Regenerate.
+
+2018-05-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-ppc.c (ppc64_elf_write_core_note): Add ATTRIBUTE_NONSTRING
+	to data.
+
+2018-05-22  Alan Modra  <amodra@gmail.com>
+
+	PR 23207
+	* elf32-hppa.c (hppa_get_stub_entry): Return NULL when link_sec
+	is NULL.
+	(elf32_hppa_size_stubs): Only create stubs for load, alloc, code
+	sections.
+	(final_link_relocate): Revert last change.
+
+2018-05-22  Alan Modra  <amodra@gmail.com>
+
+	PR 23207
+	* elf32-hppa.c (final_link_relocate): Don't look for plt call
+	stubs in non-alloc sections.
+
+2018-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/23201
+	* aout-target.h (MY_bfd_link_hide_symbol): New.
+	* aout-tic30.c (MY_bfd_link_hide_symbol): Likewise.
+	* binary.c (binary_bfd_link_hide_symbol): Likewise.
+	* coff-alpha.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
+	* coff-mips.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
+	* coff-rs6000.c (_bfd_xcoff_bfd_link_hide_symbol): Likewise.
+	* coffcode.h (coff_bfd_link_hide_symbol): Likewise.
+	* elf-bfd.h (_bfd_elf_link_hide_symbol): Likewise.
+	* elfxx-target.h (bfd_elfNN_bfd_link_hide_symbol): Likewise.
+	* i386msdos.c (msdos_bfd_link_hide_symbol): Likewise.
+	* ihex.c (ihex_bfd_link_hide_symbol): Likewise.
+	* libbfd-in.h (_bfd_nolink_bfd_link_hide_symbol): Likewise.
+	* linker.c (_bfd_generic_link_hide_symbol): Likewise.
+	(bfd_link_hide_symbol): Likewise.
+	* mach-o-target.c (bfd_mach_o_bfd_link_hide_symbol): Likewise.
+	* mmo.c (mmo_bfd_link_hide_symbol): Likewise.
+	* pef.c (bfd_pef_bfd_link_hide_symbol): Likewise.
+	* plugin.c (bfd_plugin_bfd_link_hide_symbol): Likewise.
+	* ppcboot.c (ppcboot_bfd_link_hide_symbol): Likewise.
+	* som.c (som_bfd_link_hide_symbol): Likewise.
+	* srec.c (srec_bfd_link_hide_symbol): Likewise.
+	* tekhex.c (tekhex_bfd_link_hide_symbol): Likewise.
+	* vms-alpha.c (vms_bfd_link_hide_symbol): Likewise.
+	(alpha_vms_bfd_link_hide_symbol): Likewise.
+	* xsym.c (bfd_sym_bfd_link_hide_symbol): Likewise.
+	* coff64-rs6000.c (rs6000_xcoff64_vec): Add
+	_bfd_generic_link_hide_symbol.
+	(rs6000_xcoff64_aix_vec): Likewise.
+	* elflink.c (bfd_elf_record_link_assignment): Don't make forced
+	local symbol dynamic.
+	(_bfd_elf_link_hide_symbol): New function.
+	* elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
+	check root.ldscript_def.
+	* targets.c (bfd_target): Add _bfd_link_hide_symbol.
+	(BFD_JUMP_TABLE_LINK): Add NAME##_bfd_link_hide_symbol.
+	* bfd-in2.h: Regenerated.
+	* libbfd.h: Likewise.
+
+2018-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/23199
+	* elf.c (setup_group): Mark section in a section group with
+	SHF_GROUP.
+
+2018-05-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/23194
+	* elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
+	set eh->local_ref to 1 if a symbol is versioned and there is a
+	version script.
+
+2018-05-18  Kito Cheng  <kito.cheng@gmail.com>
+
+	* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Handle
+	EF_RISCV_RVE.
+
+2018-05-18  Jim Wilson  <jimw@sifive.com>
+
+	* elfnn-riscv.c (allocate_dynrelocs): Discard dynamic relocations if
+	UNDEFWEAK_NO_DYNAMIC_RELOC is true.
+	(riscv_elf_relocate_section): Don't generate dynamic relocation if
+	UNDEFWEAK_NO_DYNAMIC_RELOC is true.
+	(riscv_elf_finish_dynamic_symbol): Likewise.
+
+2018-05-18  John Darrington  <john@darrington.wattle.id.au>
+
+	* Makefile.am: Add s12z files.
+	* Makefile.in: Regenerate.
+	* archures.c: Add bfd_s12z_arch.
+	* bfd-in.h: Add exports of bfd_putb24 and bfd_putl24.
+	* bfd-in2.h: Regenerate.
+	* config.bfd: Add s12z target.
+	* configure.ac: Add s12z target.
+	* configure: Regenerate.
+	* cpu-s12z.c: New file.
+	* elf32-s12z.c: New file.
+	* libbfd.c (bfd_putb24): New function.
+	(bfd_putl24): New function.
+	* libbfd.h: Regenerate.
+	* reloc.c: Add s12z relocations.
+	(bfd_get_reloc_size): Handle size 5 relocs.
+	* targets.c: Add s12z_elf32_vec.
+
+2018-05-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/23189
+	* elf32-i386.c (elf_i386_relocate_section): Handle R_386_GOT32X
+	like R_386_GOT32.
+	* elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
+	set eh->local_ref to 1 for linker defined symbols.
+
+2018-05-18  Alan Modra  <amodra@gmail.com>
+
+	PR 23199
+	* elf.c (setup_group): Formatting.  Check that SHT_GROUP entries
+	don't point at other SHT_GROUP sections.  Set shdr corresponding
+	to invalid entry, to NULL rather than section 0.  Identify
+	SHT_GROUP section index when reporting an error.  Cope with NULL
+	shdr pointer.
+
+2018-05-18  Alan Modra  <amodra@gmail.com>
+
+	* libbfd-in.h (ATTRIBUTE_HIDDEN): Define and use throughout.
+	* configure.ac (HAVE_HIDDEN): Check compiler support for hidden
+	visibility.
+	* libbfd.h: Regenerate.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
+2018-05-18  Alan Modra  <amodra@gmail.com>
+
+	* libbfd-in.h: Add include guard.
+	* libcoff-in.h: Likewise.
+	* doc/Makefile.am (libbfd.h, libcoff.h): Append another #endif.
+	* doc/Makefile.in: Regenerate.
+	* libbfd.h: Regenerate.
+	* libcoff.h: Regenerate.
+
+2018-05-16  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf32-nds32.c (nds32_convert_32_to_16): Preset `insn_type'.
+
+2018-05-16  Alan Modra  <amodra@gmail.com>
+
+	PR 22458
+	* format.c (struct bfd_preserve): Add section_id.
+	(bfd_preserve_save, bfd_preserve_restore): Save and restore
+	_bfd_section_id.
+	(bfd_reinit): Set _bfd_section_id.
+	(bfd_check_format_matches): Put all matches of any priority into
+	matching_vector.  Save initial section id and start each attempted
+	match at that section id.
+	* libbfd-in.h (_bfd_section_id): Declare.
+	* section.c (_bfd_section_id): Rename from section_id and make
+	global.  Adjust uses.
+	(bfd_get_next_section_id): Delete.
+	* elf64-ppc.c (ppc64_elf_setup_section_lists): Replace use of
+	bfd_get_section_id with _bfd_section_id.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Regenerate.
+
+2018-05-15  Christophe Guillon  <christophe.guillon@st.com>
+
+	* coffcode.h (coff_bigobj_swap_aux_in): Make sure that all fields
+	of the aux structure are initialised.
+
+2018-05-15  Francois H. Theron  <francois.theron@netronome.com>
+
+	* targets.c: Wrap nfp_elf64_vec in BFD64 ifdef.
+
+2018-05-15  Nick Clifton  <nickc@redhat.com>
+
+	* po/pt.po: New Portuguese translation.
+	* configure.ac (ALL_LINGUAS): Add pt.
+	* configure: Regenerate.
+
+2018-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/23169
+	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue
+	an error on IFUNC pointer defined in PDE.
+	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Call
+	_bfd_x86_elf_link_fixup_ifunc_symbol.
+	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
+	* elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New
+	function.
+	* elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New.
+
+2018-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/23162
+	* elfxx-x86.c (elf_x86_linker_defined): New function.
+	(_bfd_x86_elf_link_check_relocs): Use it to mark __bss_start,
+	_end and _edata locally defined within executables.
+
+2018-05-12  Alan Modra  <amodra@gmail.com>
+
+	PR 20659
+	* elf.c (rewrite_elf_program_header): Use segment_mark only for
+	PT_LOAD headers.  Delete first_matching_lma and first_suggested_lma.
+	Instead make matching_lma and suggested_lma pointers to the
+	sections.  Align section vma and lma calculated from segment.
+	Don't clear includes_phdrs or includes_filehdr based on p_paddr
+	test.  Try to handle alignment padding before first section by
+	adjusting new segment lma down.  Adjust PT_PHDR map p_paddr.
+
+2018-05-09  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+	* elf32-pru.c (pru_elf32_do_ldi32_relocate): Make LDI32 relocation
+	conformant to TI ABI.
+	(pru_elf32_relax_section): Likewise.
+	(pru_elf_relax_delete_bytes): Fix offsets for new LDI32 code.
+	* elf32-pru.c (pru_elf32_do_ldi32_relocate): Ignore addend.
+	(pru_elf32_pmem_relocate): Trap - should not get here.
+	(pru_elf32_relocate_section): Add support for REL relocations.
+	(elf_info_to_howto_rel): Enable REL.
+	(elf_backend_may_use_rel_p): Likewise.
+	(elf_backend_may_use_rela_p): Likewise.
+	(elf_backend_default_use_rela_p): Likewise.
+
+2018-05-09  Alan Modra  <amodra@gmail.com>
+
+	PR 23148
+	* peXXigen.c (pe_print_edata): Correct minimum size.
+
+2018-05-09  Alan Modra  <amodra@gmail.com>
+
+	PR 23147
+	* peXXigen.c (pe_print_idata): Bound check hint_addr.
+
+2018-05-08  Nick Clifton  <nickc@redhat.com>
+
+	PR 22809
+	* elf.c (bfd_elf_get_str_section): Check for an excessively large
+	string section.
+	* elf-attrs.c (_bfd_elf_parse_attributes): Issue an error if the
+	attribute section is larger than the size of the file.
+
+2018-05-07  Alan Modra  <amodra@gmail.com>
+
+	* cofflink.c (_bfd_coff_link_input_bfd): Use memcmp rather than
+	strncmp when checking for ".bf" special symbol.
+	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Make pe_required_section_flags
+	section name a char array, remove sentinal known_sections entry,
+	and adjust loop over known_sections to suit.  Use memcmp rather
+	than strncmp.
+
+2018-05-04  Alan Modra  <amodra@gmail.com>
+
+	* elf-linux-core.h (struct elf_external_linux_prpsinfo32_ugid32),
+	(struct elf_external_linux_prpsinfo32_ugid16),
+	(struct elf_external_linux_prpsinfo64_ugid32),
+	(struct elf_external_linux_prpsinfo64_ugid16): Add ATTRIBUTE_NONSTRING
+	to pr_fname and pr_psargs fields.  Remove GCC diagnostic pragmas.
+	Move comment to..
+	* elf.c (elfcore_write_prpsinfo): ..here.  Indent nested preprocessor
+	directives.
+	* elf32-arm.c (elf32_arm_nabi_write_core_note): Add ATTRIBUTE_NONSTRING
+	to data.
+	* elf32-ppc.c (ppc_elf_write_core_note): Likewise.
+	* elf32-s390.c (elf_s390_write_core_note): Likewise.
+	* elf64-s390.c (elf_s390_write_core_note): Likewise.
+	* elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
+	* elf64-x86-64.c (elf_x86_64_write_core_note): Add GCC diagnostic
+	pragmas.
+	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Use strnlen to avoid
+	false positive gcc-8 warning.
+	* cofflink.c (_bfd_coff_link_input_bfd): Likewise.
+
+2018-05-04  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
+
+	* elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Fix the order
+	of arguments when warning about different long double types.
+
+2018-05-03  Simon Atanasyan  <simon@atanasyan.com>
+
+	* elf32-mips.c: (elf32_mips_fixup_symbol): New function.
+	(elf_backend_fixup_symbol): New macro.
+	* elfxx-mips.c: (mips_elf_output_extsym): Discard _gp_disp
+	handling.
+	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
+
+2018-04-30  Francois H. Theron <francois.theron@netronome.com>
+
+	* Makefile.am: Added NFP files to build.
+	* archures.c: Added bfd_arch_nfp
+	* config.bfd: Added NFP support.
+	* configure.ac: Added NFP support.
+	* cpu-nfp.c: New, for NFP support.
+	* elf-bfd.h: Added elf_section_info()
+	* elf64-nfp.c: New, for NFP support.
+	* po/SRC-POTFILES.in: Added NFP source files.
+	* targets.c: Added nfp_elf64_vec
+	* bfd-in2.h: Regenerate.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+
+2018-04-27  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2018-04-27  Alan Modra  <amodra@gmail.com>
+
+	PR 23123
+	PR 22374
+	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't drop plt
+	relocs for ifuncs.
+	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Comment fixes.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't consider
+	ifunc and non-ifunc symbols duplicates.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* elf32-arm.c (elf32_arm_fdpic_thumb_plt_entry): New.
+	(elf32_arm_plt_needs_thumb_stub_p): Handle thumb-only case.
+	(elf32_arm_populate_plt_entry): Likewise.
+	(elf32_arm_output_plt_map_1): Likewise.
+	(elf32_arm_output_arch_local_syms): Likewise.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* elf32-arm.c (elf32_arm_finish_dynamic_symbol): Handle
+	_GLOBAL_OFFSET_TABLE_ in FDPIC mode.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* elf32-arm.c (bfd_elf32_arm_set_target_params): Handle FDPIC case
+	for R_ARM_TARGET2.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* elf32-arm.c (DEFAULT_STACK_SIZE): New.
+	(elf32_arm_always_size_sections): Create stack segment.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* bfd-in2.h (BFD_RELOC_ARM_TLS_GD32_FDPIC)
+	(BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC): New
+	relocations.
+	* elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_TLS_GD32_FDPIC,
+	R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC relocations.
+	(elf32_arm_reloc_map): Add R_ARM_TLS_GD32_FDPIC,
+	R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC.
+	(struct elf32_arm_link_hash_table): Update comment.
+	(elf32_arm_final_link_relocate): Handle TLS FDPIC relocations.
+	(IS_ARM_TLS_RELOC): Likewise.
+	(elf32_arm_check_relocs): Likewise.
+	(allocate_dynrelocs_for_symbol): Likewise.
+	(elf32_arm_size_dynamic_sections): Update comment.
+	* reloc.c: Add BFD_RELOC_ARM_TLS_GD32_FDPIC,
+	BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* elf32-arm.c (elf32_arm_fdpic_plt_entry): New.
+	(elf32_arm_create_dynamic_sections): Handle FDPIC.
+	(elf32_arm_allocate_plt_entry): Likewise.
+	(elf32_arm_populate_plt_entry): Likewise.
+	(elf32_arm_output_plt_map_1): Likewise.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* elf32-arm.c (struct fdpic_local): New.
+	(elf_arm_obj_tdata): Add local_fdpic_cnts field.
+	(elf32_arm_local_fdpic_cnts): New.
+	(struct fdpic_global): New.
+	(elf32_arm_link_hash_entry): Add fdpic_cnts field.
+	(elf32_arm_link_hash_table): Add srofixup field.
+	(arm_elf_add_rofixup): New.
+	(arm_elf_fill_funcdesc): New.
+	(elf32_arm_link_hash_newfunc): Handle fdpic_cnts.
+	(elf32_arm_allocate_local_sym_info): Likewise.
+	(create_got_section): Create .rofixup section.
+	(elf32_arm_copy_indirect_symbol): Handle fdpic_cnts.
+	(bfd_elf32_arm_set_target_params): Handle FDPIC.
+	(elf32_arm_final_link_relocate): Likewise.
+	(elf32_arm_check_relocs): Likewise.
+	(allocate_dynrelocs_for_symbol): Likewise.
+	(elf32_arm_size_dynamic_sections): Likewise.
+	(elf32_arm_finish_dynamic_sections): Likewise.
+	(elf32_arm_output_arch_local_syms): Likewise.
+	(elf32_arm_fdpic_omit_section_dynsym): New.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* bfd-in2.c (BFD_RELOC_ARM_GOTFUNCDESC)
+	(BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC)
+	(BFD_RELOC_ARM_FUNCDESC_VALUE): New.
+	* elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_GOTFUNCDESC,
+	R_ARM_GOTOFFFUNCDESC, R_ARM_FUNCDESC, R_ARM_FUNCDESC_VALUE.
+	(elf32_arm_howto_from_type): Take new members of
+	elf32_arm_howto_table_2 into account.
+	(elf32_arm_reloc_map): Add BFD_RELOC_ARM_GOTFUNCDESC,
+	BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
+	BFD_RELOC_ARM_FUNCDESC_VALUE.
+	* reloc.c: Add BFD_RELOC_ARM_GOTFUNCDESC,
+	BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
+	BFD_RELOC_ARM_FUNCDESC_VALUE.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* elf32-arm.c (elf32_arm_print_private_bfd_data): Support
+	EF_ARM_PIC and ELFOSABI_ARM_FDPIC.
+	(elf32_arm_post_process_headers): Support ELFOSABI_ARM_FDPIC.
+	(ELF_OSABI): Define to ELFOSABI_ARM_FDPIC.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* config.bfd (arm*-*-linux-*): Add arm_elf32_fdpic_be_vec and
+	arm_elf32_fdpic_le_vec to targ_selvecs. Accept
+	arm*-*-uclinuxfdpiceabi.
+	* configure.ac: Add support for arm_elf32_fdpic_be_vec and
+	arm_elf32_fdpic_le_vec.
+	* configure: Regenerate.
+	* elf32-arm.c (struct elf32_arm_link_hash_table): Add fdpic_p.
+	(elf32_arm_link_hash_table_create): Initialize fdpic_p.
+	(TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM)
+	(TARGET_BIG_NAME, elf_match_priority): Define for FDPIC targets.
+	(elf32_arm_fdpic_link_hash_table_create): New.
+	* targets.c (_bfd_target_vector): Add arm_elf32_fdpic_be_vec and
+	arm_elf32_fdpic_le_vec.
+
+2018-04-25  Alan Modra  <amodra@gmail.com>
+
+	* elf-linux-core.h: Disable gcc-8 string truncation warning.
+	* elf.c (elfcore_write_prpsinfo): Likewise.
+
+2018-04-25  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove arm-aout and arm-coff support.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* targets.c: Likewise.
+	* aout-arm.c: Delete.
+	* armnetbsd.c: Delete.
+	* riscix.c: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-24  Nick Clifton  <nickc@redhat.com>
+
+	PR 23113
+	* elf.c (ignore_section_sym): Check for the output_section pointer
+	being NULL before dereferencing it.
+
+	PR 23110
+	* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Check for
+	a negative PE_DEBUG_DATA size before iterating over the debug data.
+
+2018-04-23  Alan Modra  <amodra@gmail.com>
+
+	* elf-linux-core.h: Revert last change.
+	* elf.c: Likewise.
+
+2018-04-23  Nick Clifton  <nickc@redhat.com>
+
+	PR 23056
+	* aoutx.h (aout_get_external_symbols): Allocate an extra byte at
+	the end of the string table, and zero it.
+
+2018-04-23  Alan Modra  <amodra@gmail.com>
+
+	* elf-linux-core.h (swap_linux_prpsinfo32_ugid32_out): Disable
+	gcc-8 string truncation warning.
+	(swap_linux_prpsinfo32_ugid16_out): Likewise.
+	(swap_linux_prpsinfo64_ugid32_out): Likewise.
+	(swap_linux_prpsinfo64_ugid16_out): Likewise.
+	* elf.c (elfcore_write_prpsinfo): Likewise.
+
+2018-04-23  Nick Clifton  <nickc@redhat.com>
+
+	PR 23056
+	* aoutx.h (aout_get_external_symbols): Allocate an extra byte at
+	the end of the string table, and zero it.
+
+2018-04-20  Alan Modra  <amodra@gmail.com>
+
+	PR 22978
+	* elf32-hppa.c (got_relocs_needed): Add extra param to special
+	case both dtprel and tprel relocs.
+	(allocate_dynrelocs): Adjust conditions for got relocs.
+	(elf32_hppa_relocate_section): Likewise for local sym got relocs.
+	Emit dynamic relocs on TLS GOT entries for shared libraries,
+	not when pic.  Omit dynamic reloc on dtprel entry when local,
+	and on tprel entry when local and executable.
+
+2018-04-19  Alan Modra  <amodra@gmail.com>
+
+	PR 22537
+	* elf32-hppa.c (elf32_hppa_size_stubs): Init "destination" to -1.
+	(hppa_type_of_stub): Don't return a long branch stub for
+	symbols other than those defined statically.
+
+2018-04-19  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Revert 2018-04-18 coff-mips changes.
+	* config.bfd: Add back mips_ecoff_le_vec and mips_ecoff_be_vec
+	to selvecs for mips targets change 2018-04-18.
+	* configure.ac: Reinstate mips_ecoff_le_vec, mips_ecoff_be_vec
+	and  mips_ecoff_bele_vec.
+	* targets.c: Likewise.
+	* coff-mips.c: Resurrect.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-18  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove mips aout and coff support.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* targets.c: Likewise.
+	* coff-mips.c: Delete
+	* mipsbsd.c: Delete
+	* pe-mips.c: Delete
+	* pei-mips.c: Delete
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf32_bed): Define before including
+	"elf32-target.h".
+	* elf64-x86-64.c (elf64_bed): Define before including
+	"elf64-target.h".
+	(elf32_bed): Define before including "elf32-target.h".
+
+2018-04-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/23055
+	* elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Use a
+	normal input file with compatible relocation.
+
+2018-04-18  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove support for assorted i386 aout and coff targets.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* doc/bfdint.texi: Likewise.
+	* targets.c: Likewise.
+	* freebsd.h: Delete.
+	* i386dynix.c: Delete.
+	* i386freebsd.c: Delete.
+	* i386linux.c: Delete.
+	* i386mach3.c: Delete.
+	* i386netbsd.c: Delete.
+	* i386os9k.c: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-17 Andrew Sadek  <andrew.sadek.se@gmail.com>
+
+	Microblaze Target: PIC data text relative
+
+	* bfd/reloc.c (2 new BFD relocations):
+	BFD_RELOC_MICROBLAZE_64_TEXTPCREL &
+	BFD_RELOC_MICROBLAZE_64_TEXTPCREL
+	* bfd/bfd-in2.h: Regenerate
+	* bfd/libbfd.h: Regenerate
+	* bfd/elf32-microblaze.c (Handle new relocs): define 'HOWTO' of 3
+	new relocs and handle them in both relocate and relax functions.
+	(microblaze_elf_reloc_type_lookup): add mapping between for new
+	bfd relocs.
+	(microblaze_elf_relocate_section): Handle new relocs in case of
+	elf relocation.
+	(microblaze_elf_relax_section): Handle new relocs for elf relaxation.
+
+2018-04-17  Nick Clifton  <nickc@redhat.com>
+
+	PR 23055
+	* aoutx.h (find_nearest_line): Check that the symbol name exists
+	and is long enough, before attempting to see if it is for a .o
+	file.
+	* hash.c (bfd_hash_hash): Add an assertion that the string is not
+	NULL.
+	* linker.c (bfd_link_hash_lookup): Fail if the table or string are
+	NULL.
+	(_bfd_generic_link_add_archive_symbols): Fail if an archive entry
+	has no name.
+
+	PR 23065
+	* dwarf2.c (concat_filename): Check for a NULL table pointer.
+
+2018-04-16  Nick Clifton  <nickc@redhat.com>
+
+	PR 23061
+	* coffgen.c (coff_pointerize_aux): Check for an out of range
+	fixup.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove arm-epoc-pe support.
+	* coff-arm.c: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* targets.c: Likewise.
+	* epoc-pe-arm.c: Delete.
+	* epoc-pei-arm.c: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove sparc-aout and sparc-coff support.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* targets.c: Likewise.
+	* aout-sparcle.c: Delete.
+	* aoutf1.h: Delete.
+	* cf-sparclynx.c: Delete.
+	* coff-sparc.c: Delete.
+	* demo64.c: Delete.
+	* sparclinux.c: Delete.
+	* sparclynx.c: Delete.
+	* sparcnetbsd.c: Delete.
+	* sunos.c: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove m68k-aout and m68k-coff support.
+	* aoutf1.h: Likewise.
+	* aoutx.h: Likewise.
+	* archive.c: Likewise.
+	* bfd-in.h: Likewise.
+	* bfd.c: Likewise.
+	* coffcode.h: Likewise.
+	* coffswap.h: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* configure.host: Likewise.
+	* doc/bfd.texinfo: Likewise.
+	* doc/bfdint.texi: Likewise.
+	* freebsd.h: Likewise.
+	* gen-aout.c: Likewise.
+	* hpux-core.c: Likewise.
+	* libaout.h: Likewise.
+	* libbfd-in.h: Likewise.
+	* pdp11.c: Likewise.
+	* peicode.h: Likewise.
+	* riscix.c: Likewise.
+	* targets.c: Likewise.
+	* aout0.c: Delete.
+	* coff-apollo.c: Delete.
+	* coff-aux.c: Delete.
+	* coff-m68k.c: Delete.
+	* coff-svm68k.c: Delete.
+	* coff-u68k.c: Delete.
+	* hosts/delta68.h: Delete.
+	* hosts/hp300bsd.h: Delete.
+	* hosts/m68kaux.h: Delete.
+	* hosts/news.h: Delete.
+	* hp300bsd.c: Delete.
+	* hp300hpux.c: Delete.
+	* liboasys.h: Delete.
+	* m68k4knetbsd.c: Delete.
+	* m68klinux.c: Delete.
+	* m68knetbsd.c: Delete.
+	* oasys.c: Delete.
+	* versados.c: Delete.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* libbfd.h: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove sh5 and sh64 support.
+	* archures.c: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* cpu-sh.c: Likewise.
+	* elf32-sh-relocs.h: Likewise.
+	* elf32-sh.c: Likewise.
+	* targets.c: Likewise.
+	* elf32-sh64-com.c: Delete.
+	* elf32-sh64.c: Delete.
+	* elf32-sh64.h: Delete.
+	* elf64-sh64.c: Delete.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove sh-symbianelf support.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* targets.c: Likewise.
+	* elf32-sh-symbian.c: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove vax-bsd and vax-ultrix support.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* targets.c: Likewise.
+	* vaxbsd.c: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove w65 support.
+	* archures.c: Likewise.
+	* coffcode.h: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* targets.c: Likewise.
+	* coff-w65.c: Delete.
+	* cpu-w65.c: Delete.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove we32k support.
+	* archures.c: Likewise.
+	* coffcode.h: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* targets.c: Likewise.
+	* coff-we32k.c: Delete.
+	* cpu-we32k.c: Delete.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove m88k support.
+	* aoutx.h: Likewise.
+	* archures.c: Likewise.
+	* coffcode.h: Likewise.
+	* coffswap.h: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* cpu-ns32k.c: Likewise.
+	* elf32-nds32.c: Likewise.
+	* mach-o.c: Likewise.
+	* netbsd-core.c: Likewise.
+	* reloc.c: Likewise.
+	* targets.c: Likewise.
+	* coff-m88k.c: Delete.
+	* cpu-m88k.c: Delete.
+	* elf32-m88k.c: Delete.
+	* hosts/m88kmach3.h: Delete.
+	* m88kmach3.c: Delete.
+	* m88kopenbsd.c: Delete.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove i370 support.
+	* archures.c: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* targets.c: Likewise.
+	* cpu-i370.c: Delete.
+	* elf32-i370.c: Delete.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove h8500 support.
+	* archures.c: Likewise.
+	* coffcode.h: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* targets.c: Likewise.
+	* coff-h8500.c: Delete.
+	* cpu-h8500.c: Delete.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove h8300-coff support.
+	* coffcode.h: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* reloc16.c: Likewise.
+	* targets.c: Likewise.
+	* coff-h8300.c: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove IEEE 695 support.
+	* archures.c: Likewise.
+	* bfd.c: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* doc/bfd.texinfo: Likewise.
+	* doc/bfdint.texi: Likewise.
+	* doc/bfdsumm.texi: Likewise.
+	* section.c: Likewise.
+	* targets.c: Likewise.
+	* ieee.c: Delete.
+	* libieee.h: Delete.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* config.bfd: Remove tandem support.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove newsos3 support.
+	* aoutx.h: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* targets.c: Likewise.
+	* newsos3.c: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove netware support.
+	* bfd-in.h: Likewise.
+	* bfd.c: Likewise.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* doc/bfdint.texi: Likewise.
+	* ecoff.c: Likewise.
+	* targets.c: Likewise.
+	* libnlm.h: Delete.
+	* nlm-target.h: Delete.
+	* nlm.c: Delete.
+	* nlm32-alpha.c: Delete.
+	* nlm32-i386.c: Delete.
+	* nlm32-ppc.c: Delete.
+	* nlm32-sparc.c: Delete.
+	* nlm32.c: Delete.
+	* nlm64.c: Delete.
+	* nlmcode.h: Delete.
+	* nlmswap.h: Delete.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* archures.c: Remove tahoe support.
+	* config.bfd: Likewise.
+	* configure.ac: Likewise.
+	* hosts/tahoe.h: Delete.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+
+2018-04-14  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct elf_backend_data): Add relropagesize.
+	* elfxx-target.h (ELF_RELROPAGESIZE): Provide default and
+	sanity test.
+	(elfNN_bed): Init relropagesize.
+	* bfd.c (bfd_emul_get_commonpagesize): Add boolean param to
+	select relropagesize.
+	* elf32-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
+	(ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
+	(ELF_MINPAGESIZE): Don't define.
+	* elf64-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
+	(ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
+	* bfd-in2.h: Regenerate.
+
+2018-04-14  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Don't depend
+	on __QNXTARGET__ define.
+
+2018-04-14  Alan Modra  <amodra@gmail.com>
+
+	* config.bfd: Add powerpc-*-lynxos* and powerpc-*-windiss*
+	to obsolete list.
+
+2018-04-11  Alan Modra  <amodra@gmail.com>
+
+	* aout-adobe.c: Delete.
+	* bout.c: Delete.
+	* coff-i860.c: Delete.
+	* coff-i960.c: Delete.
+	* cpu-i860.c: Delete.
+	* cpu-i960.c: Delete.
+	* elf32-i860.c: Delete.
+	* elf32-i960.c: Delete.
+	* hosts/i860mach3.h: Delete.
+	* Makefile.am: Remove i860, i960, bout, and adobe support.
+	* archures.c: Remove i860 and i960 support.
+	* coffcode.h: Likewise.
+	* reloc.c: Likewise.
+	* aoutx.h: Comment updates.
+	* archive.c: Remove BOUT and i960 support.
+	* bfd.c: Remove BOUT support.
+	* coffswap.h: Remove i960 support.
+	* config.bfd: Remove i860, i960 and adobe targets.
+	* configure.ac: Remove adode, bout, i860, i960, icoff targets.
+	* targets.c: Likewise.
+	* ieee.c: Remove i960 support.
+	* mach-o.c: Remove i860 support.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* libbfd.h: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2018-04-09  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf64-mips.c (mips_elf64_write_rel): Handle a NULL BFD pointer
+	in the BFD symbol referred by the relocation.
+	(mips_elf64_write_rela): Likewise.
+
+2018-04-09  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf64-mips.c (mips_elf64_slurp_one_reloc_table): Issue an
+	error for out-of-range `r_sym' values.
+
+2018-04-09  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (struct _ppc64_elf_section_data): Add has_pltcall field.
+	(struct ppc_link_hash_table): Add can_convert_all_inline_plt.
+	(ppc64_elf_check_relocs): Set has_pltcall.
+	(ppc64_elf_adjust_dynamic_symbol): Discard some PLT entries.
+	(ppc64_elf_inline_plt): New function.
+	(ppc64_elf_size_dynamic_sections): Discard some PLT entries for locals.
+	* elf64-ppc.h (ppc64_elf_inline_plt): Declare.
+	* elf32-ppc.c (has_pltcall): Define.
+	(struct ppc_elf_link_hash_table): Add can_convert_all_inline_plt.
+	(ppc_elf_check_relocs): Set has_pltcall.
+	(ppc_elf_inline_plt): New function.
+	(ppc_elf_adjust_dynamic_symbol): Discard some PLT entries.
+	(ppc_elf_size_dynamic_sections): Likewise.
+	* elf32-ppc.h (ppc_elf_inline_plt): Declare.
+
+2018-04-09  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_howto_raw): Add PLTSEQ and PLTCALL howtos.
+	(is_plt_seq_reloc): New function.
+	(ppc_elf_check_relocs): Handle PLTSEQ and PLTCALL relocs.
+	(ppc_elf_tls_optimize): Handle inline plt call sequence.
+	(ppc_elf_relax_section): Handle PLTCALL reloc.
+	(ppc_elf_relocate_section): Nop out inline plt call sequence when
+	resolving locally.
+	* elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_PLTSEQ and
+	R_PPC64_PLTCALL entries.  Comment R_PPC64_TOCSAVE.
+	(has_tls_get_addr_call): Correct comment.
+	(is_branch_reloc): Add PLTCALL.
+	(is_plt_seq_reloc): New function.
+	(ppc64_elf_check_relocs): Handle PLT16_LO_DS reloc.  Set
+	has_tls_reloc for R_PPC64_TLSGD and R_PPC64_TLSLD.  Create plt
+	entry for R_PPC64_PLTCALL.
+	(ppc64_elf_tls_optimize): Handle inline plt call sequence.
+	(ppc_type_of_stub): Handle PLTCALL reloc.
+	(toc_adjusting_stub_needed): Likewise.
+	(ppc64_elf_relocate_section): Set "can_plt_call" for PLTCALL
+	reloc insn.  Nop out inline plt call sequence when resolving
+	locally.  Handle __tls_get_addr inline plt call optimization.
+
+2018-04-09  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (LOCAL_PLT_ENTRY_SIZE): Define.
+	(struct ppc_stub_hash_entry): Add symtype field.
+	(PLT_KEEP): Define.
+	(struct ppc_link_hash_table): Add pltlocal and relpltlocal.
+	(create_linkage_sections): Create pltlocal and relpltlocal.
+	(ppc64_elf_check_relocs): Allow PLT relocs on local symbols.
+	Set PLT_KEEP.
+	(ppc64_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
+	(allocate_dynrelocs): Allocate pltlocal and relpltlocal.
+	(ppc64_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
+	Keep PLT entries for inline calls against locals.
+	(ppc_build_one_stub): Use pltlocal as appropriate.
+	(ppc_size_one_stub): Likewise.
+	(ppc64_elf_size_stubs): Set symtype.
+	(build_global_entry_stubs_and_plt): Init pltlocal and write
+	relpltlocal for globals.
+	(write_plt_relocs_for_local_syms): Likewise for local syms.
+	(ppc64_elf_relocate_section): Support PLT for local syms.
+	* elf32-ppc.c (PLT_KEEP): Define.
+	(struct ppc_elf_link_hash_table): Add pltlocal and relpltlocal.
+	(ppc_elf_create_glink): Create pltlocal and relpltlocal.
+	(ppc_elf_check_relocs): Allow PLT relocs on local symbols.
+	Set PLT_KEEP.  Adjust update_local_sym_info call.
+	(ppc_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
+	(allocate_dynrelocs): Allocate pltlocal and relpltlocal.
+	(ppc_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
+	(ppc_elf_relocate_section): Support PLT16 relocs for local syms.
+	(write_global_sym_plt): Init pltlocal and write relpltlocal.
+	(ppc_finish_symbols): Likewise for locals.
+
+2018-04-09  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc_build_one_stub): Move output of PLT relocs
+	for local symbols to..
+	(write_plt_relocs_for_local_syms): ..here.  New function.
+	(ppc64_elf_finish_dynamic_symbol): Move output of PLT relocs for
+	global symbols to..
+	(build_global_entry_stubs_and_plt): ..here.  Rename from
+	build_global_entry_stubs.
+	(ppc64_elf_build_stubs): Always call build_global_entry_stubs_and_plt.
+	Call write_plt_relocs_for_local_syms.
+	* elf32-ppc.c (get_sym_h): New function.
+	(ppc_elf_relax_section): Use get_sym_h.
+	(ppc_elf_relocate_section): Move output of PLT relocs and glink
+	stubs for local symbols to..
+	(ppc_finish_symbols): ..here.  New function.
+	(ppc_elf_finish_dynamic_symbol): Move output of PLT relocs for
+	global syms to..
+	(write_global_sym_plt): ..here.  New function.
+	* elf32-ppc.h (ppc_elf_modify_segment_map): Delete attribute.
+	(ppc_finish_symbols): Declare.
+
+2018-04-09  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_check_relocs): Handle PLT16 relocs.
+	(ppc_elf_relocate_section): Likewise.
+	* elf64-ppc.c (ppc64_elf_check_relocs): Handle PLT16_LO_DS.
+	(ppc64_elf_relocate_section): Likewise.  Correct PLT16
+	resolution to plt entry relative to toc pointer.
+
+2018-04-09  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
+	TLS_TPRELGD, TLS_EXPLICIT):  Renumber.  Test TLS_TLS throughout
+	file when other TLS flags are tested in a mask.
+	(TLS_MARK, NON_GOT): Define.
+	(PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
+	(update_local_sym_info): Don't create got entry when NON_GOT.
+	(ppc64_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
+	Set TLS_MARK.
+	(get_tls_mask): Do toc lookup if tls_mask is just TLS_MARK.
+	(ppc64_elf_relocate_section): Likewise.
+	(ppc64_elf_tls_optimize): Don't attempt to optimize indirect
+	__tls_get_addr calls lacking a marker reloc.
+	* elf32-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
+	TLS_TPRELGD): Renumber.  Update comment.
+	(TLS_MARK, NON_GOT): Define.
+	(PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
+	(update_local_sym_info): Don't create got entry when NON_GOT.
+	(ppc_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
+	Set TLS_MARK.
+	(ppc_elf_tls_optimize): Don't attempt to optimize indirect
+	__tls_get_addr calls lacking a marker reloc.
+
+2018-04-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_info_to_howto): Don't mask out
+	R_X86_64_converted_reloc_bit.
+
+2018-04-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR gas/22318
+	* configure: Regenerated.
+
+2018-04-05  Alan Modra  <amodra@gmail.com>
+
+	* elf-hppa.h (elf_hppa_info_to_howto): Init howto to NULL.
+	(elf_hppa_info_to_howto_rel): Likewise.
+
+2018-04-04  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf-hppa.h (elf_hppa_info_to_howto): Also return
+	unsuccessfully for unimplemented relocations.
+	(elf_hppa_info_to_howto_rel): Likewise.
+
+2018-04-04  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf32-i860.c (lookup_howto): Add `abfd' parameter.  Set the
+	`bfd_error_bad_value' error and call `_bfd_error_handler' on a
+	howto lookup failure.
+	(elf32_i860_reloc_type_lookup): Adjust `lookup_howto' call
+	accordingly.
+	(elf32_i860_info_to_howto_rela): Likewise.
+	(elf32_i860_relocate_splitn): Likewise.
+	(elf32_i860_relocate_pc16): Likewise.
+	(elf32_i860_relocate_pc26): Likewise.
+	(elf32_i860_relocate_section): Likewise.
+
+2018-04-04  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf32-visium.c (visium_info_to_howto_rela): Correct the range
+	check for `visium_elf_howto_table' table access.
+
+2018-04-04  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf32-iq2000.c (iq2000_info_to_howto_rela): Correct the range
+	check for `iq2000_elf_howto_table' table access.
+
+2018-04-04  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf32-frv.c (frv_info_to_howto_rela): Correct the range check
+	for `elf32_frv_howto_table' table access.
+
+2018-04-04  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf32-mips.c (mips_elf32_rtype_to_howto): Also return
+	unsuccessfully for placeholder howtos.
+	* elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
+	* elfn32-mips.c (mips_elf_n32_rtype_to_howto): Likewise.
+
+2018-03-29  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf32-mips.c (mips_info_to_howto_rel): Remove the calls to
+	`_bfd_error_handler' and to set the `bfd_error_bad_value' error.
+
+2018-03-28  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf-hppa.h (elf_hppa_info_to_howto_rel): Remove
+	ATTRIBUTE_UNUSED from `abfd'.
+
+2018-03-28  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf-hppa.h (elf_hppa_info_to_howto_rel): Correct
+	`_bfd_error_handler' call formatting.
+
+2018-03-28  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf32-mips.c (mips_info_to_howto_rel): Call
+	`mips_elf32_rtype_to_howto' directly rather than via
+	`->elf_backend_mips_rtype_to_howto'.
+
+2018-03-28  Renlin Li  <renlin.li@arm.com>
+
+	PR ld/22970
+	* elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Add cases for
+	BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
+	BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
+	BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
+	BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
+	BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
+	(elfNN_aarch64_final_link_relocate): Support new relocations.
+	* elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Support new
+	relocations.
+	(_bfd_aarch64_elf_resolve_relocation): Support new relocations.
+
+2018-03-28  Renlin Li  <renlin.li@arm.com>
+
+	PR ld/22970
+	* reloc.c: Add BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12
+	BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
+	BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
+	BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
+	BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
+	BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
+	BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
+	* elfnn-aarch64.c (elfNN_aarch64_howto_table): Add table entry for
+	TLSLE_LDST16_TPREL_LO12,
+	TLSLE_LDST16_TPREL_LO12_NC,
+	TLSLE_LDST32_TPREL_LO12,
+	TLSLE_LDST32_TPREL_LO12_NC,
+	TLSLE_LDST64_TPREL_LO12,
+	TLSLE_LDST64_TPREL_LO12_NC,
+	TLSLE_LDST8_TPREL_LO12,
+	TLSLE_LDST8_TPREL_LO12_NC.
+	* bfd-in2.h: Regenerated.
+	* libbfd.h: Regenerated.
+
+2018-03-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ld/22972
+	* elfxx-sparc.c (struct _bfd_sparc_elf_link_hash_entry): Add new flag
+	has_old_style_got_reloc.
+	(_bfd_sparc_elf_check_relocs) <GOT relocations>: Set it for old-style
+	relocations.  Fix a couple of long lines.
+	(_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: Do not generate
+	a R_SPARC_NONE for the GOT slot if the symbol is also subject to old-style
+	GOT relocations.
+
+2018-03-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/23000
+	* elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Add
+	ENDBR64 to the TLSDESC PLT entry.
+
+2018-03-21  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Trim uninteresting
+	symbols.  Use size_t counts.  Delete redundant opd test.
+
+2018-03-21  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_tls_optimize): Delete locsyms.
+
+2018-03-21  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (struct ppc_elf_link_hash_entry): Make tls_mask
+	field unsigned.
+	(update_local_sym_info): Likewise for local_got_tls_masks.
+	(ppc_elf_tls_optimize): Likewise for lgot_masks.
+
+2018-03-21  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc_size_one_stub): Fix comment typo.
+	(ppc64_elf_layout_multitoc): Allocate relocs for tprel as we
+	do in size_dynamic_sections.
+
+2018-03-21  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Don't access rel[1]
+	without first checking array bounds.
+	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+
+2018-03-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/22983
+	* elflink.c (bfd_elf_link_mark_dynamic_symbol): Set
+	non_ir_ref_dynamic if a symbol is made dynamic by --dynamic-list.
+
+2018-03-19  Nick Clifton  <nickc@redhat.com>
+
+	* po/es.po: Updated Spanish translation.
+
+2018-03-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* elf32-xtensa.c (xlate_map_entry): Change types of address
+	fields from 'unsigned' to 'bfd_vma'.
+	(xlate_offset_with_removed_text): Use struct xlate_map_entry as
+	the key argument to bsearch. Allow offsets past the end of a
+	section, use the last map entry for translation of such offsets.
+
+2018-03-15  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
+
+	* elf32-nds32.c (nds32_elf_ex9_build_hash_table): Removed.
+	Not support the target feature.
+	(nds32_elf_ex9_itb_base): Likewise.
+	(nds32_elf_ex9_import_table): Likewise.
+	(nds32_elf_ex9_finish): Likewise.
+	(nds32_elf_ex9_reloc_jmp): Likewise.
+	(nds32_elf_get_insn_with_reg): Likewise.
+	(nds32_get_local_syms): Likewise.
+	(nds32_elf_ex9_replace_instruction): Likewise.
+	(nds32_elf_ifc_calc): Likewise.
+	(nds32_elf_ifc_finish): Likewise.
+	(nds32_elf_ifc_replace): Likewise.
+	(nds32_elf_ifc_reloc): Likewise.
+
+2018-03-14  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (sfpr_define): Adjust for stub_sec size having
+	sfpr size added before defining alias symbols.
+	(ppc64_elf_build_stubs): Add stub section padding before
+	copying sfpr contents and defining save/restore alias symbols.
+
+2018-03-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/20882
+	* elflink.c (elf_gc_mark_debug_section): Also check the local
+	debug definition section.
+
+2018-03-13  Nick Clifton  <nickc@redhat.com>
+
+	PR 22113
+	* pei-x86_64.c (pex64_get_unwind_info): Change to a boolean
+	function.  Add an end address parameter.  Check access of the data
+	pointer to make sure that they do not extend beyond the end
+	address.  Return FALSE if any check fails.  Add the end address
+	pointer to the ui structure.
+	(pex64_xdata_print_uwd_codes): Check accesses of the raw unwind
+	codes to make sure that they do not extend beyond the end address
+	pointer.  Print an error message and return immediately if any
+	check fails.
+
+2018-03-09  Nick Clifton  <nickc@redhat.com>
+
+	* elf64-s390.c (elf_s390_relocate_section): Move check for
+	relocations against non-allocated sections to before the code that
+	handles ifunc relocations.
+	* elf32-s390.c (elf_s390_relocate_section): Likewise.
+	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Treat
+	relocs against IFUNC symbols in non-allocated sections as relocs
+	against FUNC symbols.
+	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
+
+2018-03-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/22929
+	* elf32-i386.c (elf_i386_relocate_section): Treat relocation
+	against IFUNC symbol in SHT_NOTE section without SHF_ALLOC as
+	relocation against FUNC symbol.
+	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
+
+2018-03-07  Renlin Li  <renlin.li@arm.com>
+
+	PR ld/20402
+	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Check absolute
+	symbol, and don't emit relocation in specific case.
+
+2018-03-07  Alan Modra  <amodra@gmail.com>
+
+	* elf64-mips.c (mips_elf64_rtype_to_howto): Return NULL on error.
+	(mips_elf64_slurp_one_reloc_table): Pass on error.
+
+2018-03-03  James Cowgill  <james.cowgill@mips.com>
+	    Maciej W. Rozycki  <macro@mips.com>
+
+	PR ld/21900
+	* elfxx-mips.c (mips_elf_calculate_relocation): Only return
+	after calling `undefined_symbol' hook if this is an error
+	condition.  Assume the value of 0 for the symbol requested
+	otherwise.
+
+2018-03-02  Jim Wilson  <jimw@sifive.com>
+
+	PR 22903
+	* elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Add 8 bytes for branch
+	and nop instead of 4.
+	(elfNN_arch64_build_stubs): Add nop after branch.  Increase size by
+	8 instead of 4.
+
+2018-03-01  Jim Wilson  <jimw@sifive.com>
+
+	PR 22756
+	* elfnn-riscv.c (riscv_relax_delete_bytes): When adjust st_size, use
+	else if instead of if.
+
+2018-03-01  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ft32.c (ft32_info_to_howto_rela): Correct range test.
+
+2018-02-28  Alan Modra  <amodra@gmail.com>
+
+	PR 22887
+	* aoutx.h (swap_std_reloc_in): Correct r_index bound check.
+
+2018-02-28  Nick Clifton  <nickc@redhat.com>
+
+	PR 22895
+	PR 22893
+	* dwarf2.c (read_n_bytes): Replace size parameter with dwarf_block
+	pointer.  Drop unused abfd parameter.  Check the size of the block
+	before initialising the data field.  Return the end pointer if the
+	size is invalid.
+	(read_attribute_value): Adjust invocations of read_n_bytes.
+
+	PR 22894
+	* dwarf1.c (parse_die): Check the length of form blocks before
+	advancing the data pointer.
+
+2018-02-28  Alan Modra  <amodra@gmail.com>
+
+	PR 22887
+	* aoutx.h (translate_symbol_table): Print an error message and set
+	bfd_error on finding an invalid name string offset.
+
+2018-02-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config.in: Regenerated.
+	* configure: Likewise.
+	* configure.ac: Add --enable-separate-code.
+	(DEFAULT_LD_Z_SEPARATE_CODE): New AC_DEFINE_UNQUOTED.  Default
+	to 1 for Linux/x86 targets,
+	* elf64-x86-64.c (ELF_MAXPAGESIZE): Set to 0x1000 if
+	DEFAULT_LD_Z_SEPARATE_CODE is 1.
+
+2018-02-27  Nick Clifton  <nickc@redhat.com>
+
+	* aout-cris.c (swap_ext_reloc_out): Standadize error/warning
+	message.
+	* elf-hppa.h (elf_hppa_info_to_howto_rel): Likewise.
+	* elf32-i386.c (elf_i386_reloc_type_lookup): Likewise.
+	* elf32-xtensa.c (elf_xtensa_reloc_type_lookup): Likewise.
+	* elf64-ppc.c (ppc64_elf_reloc_type_lookup): Likewise.
+	* elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
+	* elf64-sh64.c (sh_elf64_info_to_howto): Likewise.
+	* elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
+	* elfxx-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Likewise.
+	* elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
+
+	PR 22875
+	* elf-bfd.h (struct elf_backend_data): Change the return type of
+	the elf_info_to_howto and elf_info_to_howto_rel function pointers
+	to bfd_boolean.
+	* elfcode.h (elf_slurp_reloc_table_from_section): Check the return
+	value from the info_to_howto function and fail if that function
+	failed.
+	* elf32-h8300.c (elf32_h8_relocate_section): Check return value
+	from the info_to_howto function.
+	(elf32_h8_relax_section): Likewise.
+	* elf32-lm32.c (lm32_elf_relocate_section): Likewise.
+	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
+	* elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
+	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
+	* elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
+	* elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
+	* elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Likewise.
+	* elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
+	* elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
+	* elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
+	(riscv_elf_relocate_section): Likewise.
+	* elf-hppa.h (elf_hppa_info_to_howto): Change return type to
+	bfd_boolean.  Issue an error message, set an error value and
+	return FALSE if the reloc is not recognized.
+	(elf_hppa_info_to_howto_rel): Likewise.
+	* elf-m10200.c (mn10200_info_to_howto): Likewise.
+	* elf-m10300.c (mn10300_info_to_howto): Likewise.
+	* elf.c (_bfd_elf_no_info_to_howto): Likewise.
+	* elf32-arc.c (arc_info_to_howto_rel): Likewise.
+	* elf32-arm.c (elf32_arm_info_to_howto): Likewise.
+	* elf32-avr.c (avr_info_to_howto_rela): Likewise.
+	* elf32-bfin.c (bfin_info_to_howto): Likewise.
+	* elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
+	* elf32-cr16c.c (elf_cr16c_info_to_howto): Likewise.
+	* elf32-cris.c (elf_cr16c_info_to_howto_rel)
+	(cris_info_to_howto_rela): Likewise.
+	* elf32-crx.c (elf_crx_info_to_howto): Likewise.
+	* elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
+	* elf32-d30v.c (d30v_info_to_howto_rel, d30v_info_to_howto_rela):
+	Likewise.
+	* elf32-dlx.c (dlx_rtype_to_howto, elf32_dlx_info_to_howto)
+	(elf32_dlx_info_to_howto_rel): Likewise.
+	* elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
+	* elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
+	* elf32-frv.c (frv_info_to_howto_rela)
+	(frvfdpic_info_to_howto_rel): Likewise.
+	* elf32-ft32.c (ft32_info_to_howto_rela): Likewise.
+	* elf32-gen.c (elf_generic_info_to_howto)
+	(elf_generic_info_to_howto_rel): Likewise.
+	* elf32-h8300.c (elf32_h8_info_to_howto)
+	(elf32_h8_info_to_howto_rel): Likewise.
+	* elf32-i370.c (i370_elf_info_to_howto): Likewise.
+	* elf32-i386.c (elf_i386_reloc_type_lookup)
+	(elf_i386_rtype_to_howto, elf_i386_info_to_howto_rel): Likewise.
+	* elf32-i860.c (lookup_howto, elf32_i860_info_to_howto_rela):
+	Likewise.
+	* elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
+	* elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
+	* elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
+	* elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
+	* elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
+	* elf32-m32r.c (m32r_info_to_howto_rel, m32r_info_to_howto):
+	Likewise.
+	* elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
+	* elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
+	* elf32-m68k.c (rtype_to_howto): Likewise.
+	* elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
+	* elf32-mep.c (mep_info_to_howto_rela): Likewise.
+	* elf32-metag.c (metag_info_to_howto_rela): Likewise.
+	* elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
+	* elf32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
+	Likewise.
+	* elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
+	* elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
+	* elf32-mt.c (mt_info_to_howto_rela): Likewise.
+	* elf32-nds32.c (nds32_info_to_howto_rel, nds32_info_to_howto):
+	Likewise.
+	* elf32-nios2.c (nios2_elf32_info_to_howto): Likewise.
+	* elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
+	* elf32-pj.c (pj_elf_info_to_howto): Likewise.
+	* elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
+	* elf32-pru.c (pru_elf32_info_to_howto): Likewise.
+	* elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
+	* elf32-rx.c (rx_info_to_howto_rela): Likewise.
+	* elf32-s390.c (elf_s390_info_to_howto): Likewise.
+	* elf32-score.c (s3_bfd_score_info_to_howto)
+	(_bfd_score_info_to_howto): Likewise.
+	* elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
+	* elf32-sh.c (sh_elf_info_to_howto): Likewise.
+	* elf32-spu.c (spu_elf_info_to_howto): Likewise.
+	* elf32-tic6x.c (elf32_tic6x_info_to_howto)
+	(elf32_tic6x_info_to_howto_rel): Likewise.
+	* elf32-tilepro.c (tilepro_info_to_howto_rela): Likewise.
+	* elf32-v850.c (v850_elf_info_to_howto_rel)
+	(v850_elf_info_to_howto_rela, v800_elf_info_to_howto): Likewise.
+	* elf32-vax.c (rtype_to_howto): Likewise.
+	* elf32-visium.c (visium_info_to_howto_rela): Likewise.
+	* elf32-wasm32.c (elf32_wasm32_rtype_to_howto)
+	(elf32_wasm32_info_to_howto_rela): Likewise.
+	* elf32-xc16x.c (elf32_xc16x_info_to_howto): Likewise.
+	* elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
+	* elf32-xstormy16.c (xstormy16_info_to_howto_rela): Likewise.
+	* elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
+	* elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
+	* elf64-gen.c (elf_generic_info_to_howto)
+	(elf_generic_info_to_howto_rel): Likewise.
+	* elf64-ia64-vms.c (elf64_ia64_info_to_howto): Likewise.
+	* elf64-mips.c (mips_elf64_info_to_howto_rela): Likewise.
+	* elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
+	* elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
+	* elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
+	* elf64-sh64.c (elf_s390_info_to_howto, sh_elf64_info_to_howto):
+	Likewise.
+	* elf64-x86-64.c (elf_x86_64_info_to_howto): Likewise.
+	* elfn32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
+	Likewise.
+	* elfnn-aarch64.c (elfNN_aarch64_info_to_howto): Likewise.
+	* elfnn-ia64.c (elfNN_ia64_info_to_howto): Likewise.
+	* elfnn-riscv.c (riscv_info_to_howto_rela): Likewise.
+	* elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
+	* elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Likewise.
+	* elfxx-tilegx.c (tilegx_info_to_howto_rela): Likewise.
+	* elf32-score.h (s7_bfd_score_info_to_howto): Update prototype.
+	* elfxx-sparc.h (_bfd_sparc_elf_info_to_howto): Update prototype.
+	* elfxx-tilegx.h (tilegx_info_to_howto_rela): Update prototype.
+	* elfxx-target.h (elf_info_to_howto, elf_info_to_howto_rel):
+	Default to NULL.
+
+2018-02-26  Jim Wilson  <jimw@sifive.com>
+	    Stephan Schreiber <info@fs-driver.org>
+
+	PR 15904
+	* elfnn-ia64.c (elfNN_ia64_relax_section): After ia64_elf_relax_brl
+	call, set changed_contents and changed_relocs.  Likewise after
+	successful ia64_elf_relax_br call.
+
+2018-02-26  Alan Modra  <amodra@gmail.com>
+
+	* elf.c (assign_file_positions_except_relocs): Don't segfault
+	when actual number of phdrs is less than allocated.  Delete
+	outdated comment.  Formatting.
+
+2018-02-26  Alan Modra  <amodra@gmail.com>
+
+	* elf-m10300.c, * elf-s390-common.c, * elf32-arc.c, * elf32-cris.c,
+	* elf32-dlx.c, * elf32-frv.c, * elf32-i370.c, * elf32-lm32.c,
+	* elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
+	* elf32-microblaze.c, * elf32-msp430.c, * elf32-nds32.c,
+	* elf32-nios2.c, * elf32-or1k.c, * elf32-rl78.c, * elf32-rx.c,
+	* elf32-score.c, * elf32-score7.c, * elf32-sh-symbian.c,
+	* elf32-sh.c, * elf32-spu.c, * elf32-v850.c, * elf32-xtensa.c,
+	* elf64-alpha.c, * elf64-ia64-vms.c, * elf64-mmix.c,
+	* elf64-sh64.c, * elf64-sparc.c, * elfnn-ia64.c, * elfxx-tilegx.c,
+	* mmo.c, * osf-core.c, * srec.c, * vms-alpha.c: Standardize
+	error/warning messages.
+
+2018-02-26  Alan Modra  <amodra@gmail.com>
+
+	* archive.c, * bfd.c, * linker.c, * reloc.c, * stabs.c,
+	* syms.c: Standardize error/warning messages.
+
+2018-02-26  Alan Modra  <amodra@gmail.com>
+
+	* aout-adobe.c, * aout-cris.c, * i386linux.c, * m68klinux.c,
+	* sparclinux.c, * coff-alpha.c, * coff-arm.c, * coff-mcore.c,
+	* coffcode.h, * coffgen.c, * cofflink.c, * ecoff.c, * pe-mips.c,
+	* peXXigen.c, * peicode.h: Standardize error/warning messages.
+
+2018-02-26  Alan Modra  <amodra@gmail.com>
+
+	* elf32-arm.c, * elfnn-aarch64.c: Standardize error/warning messages.
+
+2018-02-26  Alan Modra  <amodra@gmail.com>
+
+	* elfxx-mips.c: Standardize error/warning messages.
+
+2018-02-26  Alan Modra  <amodra@gmail.com>
+
+	* dwarf2.c, * elf-attrs.c, * elf-eh-frame.c, * elf.c, * elf32-gen.c,
+	* elflink.c: Standardize error/warning messages.  Replace use of
+	linker callback einfo with _bfd_error_handler when possible.
+
+2018-02-26  Alan Modra  <amodra@gmail.com>
+
+	* aoutx.h, * coff-alpha.c, * coff-i860.c, * coff-m68k.c,
+	* coff-mcore.c, * coff-ppc.c, * coff-rs6000.c, * coff-sh.c,
+	* coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c, * coff-w65.c,
+	* elf-bfd.h, * elf-m10300.c, * elf.c, * elf32-avr.c, * elf32-bfin.c,
+	* elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
+	* elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
+	* elf32-fr30.c, * elf32-frv.c, * elf32-i370.c, * elf32-i386.c,
+	* elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
+	* elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
+	* elf32-m68k.c, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c,
+	* elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
+	* elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-or1k.c,
+	* elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-rx.c,
+	* elf32-s390.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
+	* elf32-v850.c, * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c,
+	* elf32-xgate.c, * elf32-xtensa.c, * elf64-alpha.c,
+	* elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
+	* elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
+	* elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
+	* elfnn-riscv.c, * elfxx-mips.c, * elfxx-riscv.c, * elfxx-riscv.h,
+	* elfxx-sparc.c, * elfxx-sparc.h, * reloc.c: Standardize
+	unrecognized/unsupported reloc message.
+
+2018-02-26  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c: Standardize error/warning messages.  Use
+	_bfd_error_handler rather than einfo when einfo features not used.
+	* elf64-ppc.c: Likewise.
+
+2018-02-23  Alan Modra  <amodra@gmail.com>
+
+	PR 22881
+	* elf.c (assign_file_positions_for_non_load_sections): Remove RELRO
+	segment if no matching LOAD segment.
+
+2018-02-23  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
+
+	* elf32-nds32.h: Define mask for ict_model.
+
+2018-02-20  Jason Duerstock  <jason.duerstock@gmail.com>
+
+	* elfnn-ia64.c (elf_backend_can_gc_sections): Enable.
+
+2018-02-19  Maciej W. Rozycki  <macro@mips.com>
+
+	Revert
+	2018-01-12  Vlad Ivanov  <vlad@ivanov.email>
+
+	* elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
+	.reginfo section has wrong size.
+
+2018-02-19  Maciej W. Rozycki  <macro@mips.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_always_size_sections): Set
+	SEC_FIXED_SIZE and SEC_HAS_CONTENTS flags for `.reginfo' and
+	`.MIPS.abiflags' sections.
+	(_bfd_mips_elf_final_link): Avoid reading beyond `.reginfo'
+	section's end.
+
+2018-02-19  Maciej W. Rozycki  <macro@mips.com>
+
+	* section.c (SEC_FIXED_SIZE): New macro.
+	* bfd-in2.h: Regenerate.
+
+2018-02-19  Maciej W. Rozycki  <macro@mips.com>
+
+	* section.c (SEC_HAS_GOT_REF): Remove macro.
+	* bfd-in2.h: Regenerate.
+
+2018-02-19  Alan Modra  <amodra@gmail.com>
+
+	* elf-attrs.c (_bfd_elf_parse_attributes): Correct _bfd_error_handler
+	arguments.
+	* elfxx-mips.c (_bfd_mips_elf_final_link): Likewise.
+	* elfnn-riscv.c (_bfd_riscv_relax_align): Likewise.
+	(_bfd_riscv_relax_pc): Likewise and fix typos.
+	* libbfd-in.h (_bfd_error_handler): Add attribute printf.
+	* libbfd.h: Regenerate.
+
+2018-02-19  Alan Modra  <amodra@gmail.com>
+
+	* dwarf2.c (read_section): Don't use 'll' format modifier.
+	(find_abstract_instance): Likewise.
+	* elfcore.h (elf_core_file_p): Likewise.
+
+2018-02-19  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Include inttypes.h or if not available define
+	PRId64, PRIu64 and PRIx64.
+	* bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Remove support for L
+	modifier to print bfd_vma.
+	* coff-arm.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
+	* coff-sh.c, * coff-tic80.c, * coffcode.h, * coffgen.c, * cofflink.c,
+	* compress.c, * dwarf2.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
+	* elf32-arm.c, * elf32-bfin.c, * elf32-cris.c, * elf32-hppa.c,
+	* elf32-i386.c, * elf32-ip2k.c, * elf32-lm32.c, * elf32-m32r.c,
+	* elf32-m68k.c, * elf32-metag.c, * elf32-nds32.c, * elf32-nios2.c,
+	* elf32-ppc.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
+	* elf32-score7.c, * elf32-sh.c, * elf32-sh64.c, * elf32-spu.c,
+	* elf32-tic6x.c, * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c,
+	* elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
+	* elf64-mmix.c, * elf64-s390.c, * elf64-sh64.c, * elf64-x86-64.c,
+	* elfcode.h, * elfcore.h, * elflink.c, * elfnn-aarch64.c,
+	* elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c, * elfxx-sparc.c,
+	* elfxx-tilegx.c, * ieee.c, * ihex.c, * mach-o.c, * merge.c, * mmo.c,
+	* peXXigen.c, * xcofflink.c: Replace use of Lx modifier with PRIx64,
+	and cast input to uint64_t, and similarly for Ld and Lu.
+	* bfd-in2.h: Regenerate.
+
+2018-02-19  Alan Modra  <amodra@gmail.com>
+
+	* elf32-arm.c, * elf32-hppa.c, * elf32-lm32.c, * elf32-m32r.c,
+	* elf32-metag.c, * elf32-nds32.c, * elf32-or1k.c, * elf32-ppc.c,
+	* elf32-s390.c, * elf32-sh.c, * elf32-tic6x.c, * elf32-tilepro.c,
+	* elf64-ppc.c, * elf64-s390.c, * elflink.c, * elfnn-aarch64.c,
+	* elfnn-riscv.c, * elfxx-sparc.c, * elfxx-tilegx.c, * elfxx-x86.c,
+	* reloc.c: Replace use of %R and %T in format strings passed to
+	einfo and friends by %pR and %pT.
+
+2018-02-19  Alan Modra  <amodra@gmail.com>
+
+	* bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Handle %pA and %pB in place
+	of %A and %B.
+	* aout-adobe.c: Update all messages using %A and %B.
+	* aout-cris.c: Likewise.
+	* aoutx.h: Likewise.
+	* archive.c: Likewise.
+	* binary.c: Likewise.
+	* cache.c: Likewise.
+	* coff-alpha.c: Likewise.
+	* coff-arm.c: Likewise.
+	* coff-i860.c: Likewise.
+	* coff-mcore.c: Likewise.
+	* coff-ppc.c: Likewise.
+	* coff-rs6000.c: Likewise.
+	* coff-sh.c: Likewise.
+	* coff-tic4x.c: Likewise.
+	* coff-tic54x.c: Likewise.
+	* coff-tic80.c: Likewise.
+	* coff64-rs6000.c: Likewise.
+	* coffcode.h: Likewise.
+	* coffgen.c: Likewise.
+	* cofflink.c: Likewise.
+	* coffswap.h: Likewise.
+	* compress.c: Likewise.
+	* cpu-arm.c: Likewise.
+	* ecoff.c: Likewise.
+	* elf-attrs.c: Likewise.
+	* elf-eh-frame.c: Likewise.
+	* elf-ifunc.c: Likewise.
+	* elf-m10300.c: Likewise.
+	* elf-properties.c: Likewise.
+	* elf-s390-common.c: Likewise.
+	* elf.c: Likewise.
+	* elf32-arc.c: Likewise.
+	* elf32-arm.c: Likewise.
+	* elf32-avr.c: Likewise.
+	* elf32-bfin.c: Likewise.
+	* elf32-cr16.c: Likewise.
+	* elf32-cr16c.c: Likewise.
+	* elf32-cris.c: Likewise.
+	* elf32-crx.c: Likewise.
+	* elf32-d10v.c: Likewise.
+	* elf32-d30v.c: Likewise.
+	* elf32-epiphany.c: Likewise.
+	* elf32-fr30.c: Likewise.
+	* elf32-frv.c: Likewise.
+	* elf32-gen.c: Likewise.
+	* elf32-hppa.c: Likewise.
+	* elf32-i370.c: Likewise.
+	* elf32-i386.c: Likewise.
+	* elf32-i960.c: Likewise.
+	* elf32-ip2k.c: Likewise.
+	* elf32-iq2000.c: Likewise.
+	* elf32-lm32.c: Likewise.
+	* elf32-m32c.c: Likewise.
+	* elf32-m32r.c: Likewise.
+	* elf32-m68hc11.c: Likewise.
+	* elf32-m68hc12.c: Likewise.
+	* elf32-m68hc1x.c: Likewise.
+	* elf32-m68k.c: Likewise.
+	* elf32-mcore.c: Likewise.
+	* elf32-mep.c: Likewise.
+	* elf32-metag.c: Likewise.
+	* elf32-microblaze.c: Likewise.
+	* elf32-moxie.c: Likewise.
+	* elf32-msp430.c: Likewise.
+	* elf32-mt.c: Likewise.
+	* elf32-nds32.c: Likewise.
+	* elf32-nios2.c: Likewise.
+	* elf32-or1k.c: Likewise.
+	* elf32-pj.c: Likewise.
+	* elf32-ppc.c: Likewise.
+	* elf32-rl78.c: Likewise.
+	* elf32-rx.c: Likewise.
+	* elf32-s390.c: Likewise.
+	* elf32-score.c: Likewise.
+	* elf32-score7.c: Likewise.
+	* elf32-sh-symbian.c: Likewise.
+	* elf32-sh.c: Likewise.
+	* elf32-sh64.c: Likewise.
+	* elf32-sparc.c: Likewise.
+	* elf32-spu.c: Likewise.
+	* elf32-tic6x.c: Likewise.
+	* elf32-tilepro.c: Likewise.
+	* elf32-v850.c: Likewise.
+	* elf32-vax.c: Likewise.
+	* elf32-visium.c: Likewise.
+	* elf32-wasm32.c: Likewise.
+	* elf32-xgate.c: Likewise.
+	* elf32-xtensa.c: Likewise.
+	* elf64-alpha.c: Likewise.
+	* elf64-gen.c: Likewise.
+	* elf64-hppa.c: Likewise.
+	* elf64-ia64-vms.c: Likewise.
+	* elf64-mmix.c: Likewise.
+	* elf64-ppc.c: Likewise.
+	* elf64-s390.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* elf64-sparc.c: Likewise.
+	* elf64-x86-64.c: Likewise.
+	* elfcode.h: Likewise.
+	* elfcore.h: Likewise.
+	* elflink.c: Likewise.
+	* elfnn-aarch64.c: Likewise.
+	* elfnn-ia64.c: Likewise.
+	* elfnn-riscv.c: Likewise.
+	* elfxx-mips.c: Likewise.
+	* elfxx-sparc.c: Likewise.
+	* elfxx-tilegx.c: Likewise.
+	* elfxx-x86.c: Likewise.
+	* hpux-core.c: Likewise.
+	* ieee.c: Likewise.
+	* ihex.c: Likewise.
+	* libbfd.c: Likewise.
+	* linker.c: Likewise.
+	* mach-o.c: Likewise.
+	* merge.c: Likewise.
+	* mmo.c: Likewise.
+	* oasys.c: Likewise.
+	* pdp11.c: Likewise.
+	* pe-mips.c: Likewise.
+	* peXXigen.c: Likewise.
+	* peicode.h: Likewise.
+	* reloc.c: Likewise.
+	* rs6000-core.c: Likewise.
+	* srec.c: Likewise.
+	* stabs.c: Likewise.
+	* vms-alpha.c: Likewise.
+	* xcofflink.c: Likewise.
+
+2018-02-19  Alan Modra  <amodra@gmail.com>
+
+	PR 22845
+	* elf.c (IS_TBSS): Define.
+	(_bfd_elf_map_sections_to_segments): Use IS_TBSS.
+	(assign_file_positions_for_non_load_sections): Revert last change.
+	Properly calculate load segment limits to compare against relro limits.
+
+2018-02-17  Alan Modra  <amodra@gmail.com>
+
+	PR 22845
+	* elf.c (assign_file_positions_for_non_load_sections): Ignore
+	degenerate zero size PT_LOAD segments when finding one overlapping
+	the PT_GNU_RELRO segment.
+
+2018-02-16  Alan Modra  <amodra@gmail.com>
+
+	* libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
+	(_bfd_bool_bfd_true): Rename from bfd_true.
+	(_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr.
+	(_bfd_int_bfd_0): Rename from bfd_0.
+	(_bfd_uint_bfd_0): Rename from bfd_0u.
+	(_bfd_long_bfd_0): Rename from bfd_0l.
+	(_bfd_long_bfd_n1_error): Rename from _bfd_n1.
+	(_bfd_void_bfd): Rename from bfd_void.
+	(_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false),
+	(_bfd_bool_bfd_link_false_error),
+	(_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true),
+	(_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true),
+	(_bfd_bool_bfd_asection_bfd_asection_true),
+	(_bfd_bool_bfd_asymbol_bfd_asymbol_true),
+	(_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions.
+	* archive.c (_bfd_noarchive_get_elt_at_index),
+	(_bfd_noarchive_openr_next_archived_file),
+	(_bfd_noarchive_construct_extended_name_table),
+	(_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname),
+	(_bfd_noarchive_write_armap): New functions.
+	* archures.c (_bfd_nowrite_set_arch_mach): New function.
+	* coff-alpha.c (alpha_ecoff_swap_coff_aux_in),
+	(alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in),
+	(alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out),
+	(alpha_ecoff_swap_coff_lineno_out),
+	(alpha_ecoff_swap_coff_reloc_out): New functions.
+	* coff-mips.c (mips_ecoff_swap_coff_aux_in),
+	(mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in),
+	(mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out),
+	(mips_ecoff_swap_coff_lineno_out),
+	(mips_ecoff_swap_coff_reloc_out): New functions.
+	* coffcode.h (coff_set_alignment_hook): Replace define with
+	new function.
+	(symname_in_debug_hook): Likewise.
+	* ecoff.c (_bfd_ecoff_set_alignment_hook): New function.
+	* elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0.
+	* elf.c (assign_file_positions_except_relocs): Test
+	elf_backend_allow_non_load_phdr for NULL.
+	* elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from
+	_bfd_elf_link_omit_section_dynsym.  Update uses.
+	(_bfd_elf_omit_section_dynsym_all): New function.
+	* elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete.
+	(_bfd_elf_omit_section_dynsym_default): Declare.
+	(_bfd_elf_omit_section_dynsym_all): Declare.
+	* linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section),
+	(_bfd_nolink_bfd_get_relocated_section_contents),
+	(_bfd_nolink_bfd_lookup_section_flags),
+	(_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group),
+	(_bfd_nolink_bfd_link_hash_table_create),
+	(_bfd_nolink_bfd_link_just_syms),
+	(_bfd_nolink_bfd_copy_link_hash_symbol_type),
+	(_bfd_nolink_bfd_link_split_section),
+	(_bfd_nolink_section_already_linked),
+	(_bfd_nolink_bfd_define_common_symbol),
+	(_bfd_nolink_bfd_define_start_stop): New functions.
+	* reloc.c (_bfd_norelocs_bfd_reloc_type_lookup),
+	(_bfd_norelocs_bfd_reloc_name_lookup),
+	(_bfd_nodynamic_canonicalize_dynamic_reloc): New functions.
+	* section.c (_bfd_nowrite_set_section_contents): New function.
+	* syms.c (_bfd_nosymbols_canonicalize_symtab),
+	(_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info),
+	(_bfd_nosymbols_get_symbol_version_string),
+	(_bfd_nosymbols_bfd_is_local_label_name),
+	(_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line),
+	(_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info),
+	(_bfd_nosymbols_bfd_make_debug_symbol),
+	( _bfd_nosymbols_read_minisymbols),
+	( _bfd_nosymbols_minisymbol_to_symbol),
+	(_bfd_nodynamic_get_synthetic_symtab): New functions.
+	* libbfd-in.h: Declare new functions.  Update existing defines,
+	removing casts.
+	* aix386-core.c: Update to use new hooks.  Formatting.
+	* aout-adobe.c: Likewise.
+	* aout-arm.c: Likewise.
+	* aout-target.h: Likewise.
+	* aout-tic30.c: Likewise.
+	* aoutf1.h: Likewise.
+	* binary.c: Likewise.
+	* bout.c: Likewise.
+	* cisco-core.c: Likewise.
+	* coff-alpha.c: Likewise.
+	* coff-i386.c: Likewise.
+	* coff-i860.c: Likewise.
+	* coff-i960.c: Likewise.
+	* coff-ia64.c: Likewise.
+	* coff-mips.c: Likewise.
+	* coff-ppc.c: Likewise.
+	* coff-rs6000.c: Likewise.
+	* coff-sh.c: Likewise.
+	* coff-tic30.c: Likewise.
+	* coff-tic54x.c: Likewise.
+	* coff-x86_64.c: Likewise.
+	* coff64-rs6000.c: Likewise.
+	* coffcode.h: Likewise.
+	* elf-m10300.c: Likewise.
+	* elf32-cr16.c: Likewise.
+	* elf32-lm32.c: Likewise.
+	* elf32-m32r.c: Likewise.
+	* elf32-metag.c: Likewise.
+	* elf32-score.c: Likewise.
+	* elf32-score7.c: Likewise.
+	* elf32-tilepro.c: Likewise.
+	* elf32-xstormy16.c: Likewise.
+	* elf32-xtensa.c: Likewise.
+	* elf64-alpha.c: Likewise.
+	* elf64-hppa.c: Likewise.
+	* elf64-ia64-vms.c: Likewise.
+	* elf64-mmix.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* elfnn-ia64.c: Likewise.
+	* elfxx-sparc.c: Likewise.
+	* elfxx-target.h: Likewise.
+	* elfxx-tilegx.c: Likewise.
+	* elfxx-x86.h: Likewise.
+	* hp300hpux.c: Likewise.
+	* hppabsd-core.c: Likewise.
+	* hpux-core.c: Likewise.
+	* i386msdos.c: Likewise.
+	* i386os9k.c: Likewise.
+	* ieee.c: Likewise.
+	* ihex.c: Likewise.
+	* irix-core.c: Likewise.
+	* libaout.h: Likewise.
+	* libecoff.h: Likewise.
+	* mach-o-target.c: Likewise.
+	* mach-o.c: Likewise.
+	* mipsbsd.c: Likewise.
+	* mmo.c: Likewise.
+	* netbsd-core.c: Likewise.
+	* nlm-target.h: Likewise.
+	* oasys.c: Likewise.
+	* osf-core.c: Likewise.
+	* pdp11.c: Likewise.
+	* pe-mips.c: Likewise.
+	* pe-x86_64.c: Likewise.
+	* pef.c: Likewise.
+	* plugin.c: Likewise.
+	* ppcboot.c: Likewise.
+	* ptrace-core.c: Likewise.
+	* sco5-core.c: Likewise.
+	* som.c: Likewise.
+	* sparclynx.c: Likewise.
+	* srec.c: Likewise.
+	* tekhex.c: Likewise.
+	* trad-core.c: Likewise.
+	* verilog.c: Likewise.
+	* versados.c: Likewise.
+	* vms-alpha.c: Likewise.
+	* vms-lib.c: Likewise.
+	* wasm-module.c: Likewise.
+	* xsym.c: Likewise.
+	* libbfd.h: Regenerate.
+
+2018-02-15  Jim Wilson  <jimw@sifive.com>
+
+	* elfnn-riscv.c (_bfd_riscv_relax_section): Ifdef out check to ignore
+	symbols whose section address is zero.
+
+	* elfnn-riscv.c (riscv_elf_relocate_section): Use bfd_reloc_dangerous
+	when pcrel_lo reloc has an addend.  Use reloc_dangerous callback for
+	bfd_reloc_dangerous.  Use einfo instead of warning callback for errors.
+	Add %X%P to error messages.
+
+2018-02-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ld/22832
+	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
+	Pass FALSE instead of TRUE as 'create' argument to bfd_link_hash_lookup
+	and assert that the result of the call is not NULL.
+
+2018-02-14  Nick Clifton  <nickc@redhat.com>
+
+	PR 22823
+	Revert previous delta.  Add extra casts to avoid compile time
+	warnings instead.
+	* libbfd-in.h (_bfd_generic_bfd_copy_private_bfd_data): Add extra
+	cast to avoid warning from gcc v8 compiler.
+	(_bfd_generic_bfd_merge_private_bfd_data): Likewise.
+	(_bfd_generic_bfd_set_private_flags): Likewise.
+	(_bfd_generic_bfd_copy_private_section_data): Likewise.
+	(_bfd_generic_bfd_copy_private_symbol_data): Likewise.
+	(_bfd_generic_bfd_copy_private_header_data): Likewise.
+	(_bfd_generic_bfd_print_private_bfd_data): Likewise.
+	(_bfd_noarchive_construct_extended_name_table): Likewise.
+	(_bfd_noarchive_truncate_arname): Likewise.
+	(_bfd_noarchive_write_ar_hdr): Likewise.
+	(_bfd_noarchive_get_elt_at_index): Likewise.
+	(_bfd_nosymbols_canonicalize_symtab): Likewise.
+	(_bfd_nosymbols_print_symbol): Likewise.
+	(_bfd_nosymbols_get_symbol_info): Likewise.
+	(_bfd_nosymbols_get_symbol_version_string): Likewise.
+	(_bfd_nosymbols_bfd_is_local_label_name): Likewise.
+	(_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
+	(_bfd_nosymbols_get_lineno): Likewise.
+	(_bfd_nosymbols_find_nearest_line): Likewise.
+	(_bfd_nosymbols_find_line): Likewise.
+	(_bfd_nosymbols_find_inliner_info): Likewise.
+	(_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
+	(_bfd_nosymbols_read_minisymbols): Likewise.
+	(_bfd_nosymbols_minisymbol_to_symbol): Likewise.
+	(_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
+	(_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
+	(_bfd_nowrite_set_arch_mach): Likewise.
+	(_bfd_nowrite_set_section_contents): Likewise.
+	(_bfd_nolink_sizeof_headers): Likewise.
+	(_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
+	(_bfd_nolink_bfd_relax_section): Likewise.
+	(_bfd_nolink_bfd_gc_sections): Likewise.
+	(_bfd_nolink_bfd_lookup_section_flags): Likewise.
+	(_bfd_nolink_bfd_merge_sections): Likewise.
+	(_bfd_nolink_bfd_is_group_section): Likewise.
+	(_bfd_nolink_bfd_discard_group): Likewise.
+	(_bfd_nolink_bfd_link_hash_table_create): Likewise.
+	(_bfd_nolink_bfd_link_add_symbols): Likewise.
+	(_bfd_nolink_bfd_link_just_syms): Likewise.
+	(_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
+	(_bfd_nolink_bfd_final_link): Likewise.
+	(_bfd_nolink_bfd_link_split_section): Likewise.
+	(_bfd_nolink_section_already_linked): Likewise.
+	(_bfd_nolink_bfd_define_common_symbol): Likewise.
+	(_bfd_nolink_bfd_define_start_stop): Likewise.
+	(_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
+	(_bfd_nodynamic_get_synthetic_symtab): Likewise.
+	(_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
+	(_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
+	* libbfd.c (bfd_false_any): Delete.
+	(bfd_true_any, bfd_nullvoidptr_any, bfd_0_any): Delete.
+	(bfd_0u_any, bfd_0l_any, _bfd_n1_any, bfd_void_any): Delete.
+	* libbfd.h (extern): Regenerate
+	* aout-target.h (MY_bfd_is_target_special_symbol): Add extra
+	cast to avoid warning from gcc v8 compiler.
+	* aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
+	* binary.c (binary_get_symbol_info): Likewise.
+	* coff-alpha.c (alpha_ecoff_backend_data): Likewise.
+	* coff-mips.c (mips_ecoff_backend_data): Likewise.
+	* coffcode.h (coff_set_alignment_hook): Likewise.
+	(symname_in_debug_hook): Likewise.
+	(bfd_coff_backend_data bigobj_swap_table): Likewise.
+	* elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
+	* elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
+	* elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
+	(bfd_elfNN_bfd_make_debug_symbol): Likewise.
+	(bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
+	(bfd_elfNN_bfd_set_private_flags): Likewise.
+	(bfd_elfNN_bfd_is_target_special_symbol): Likewise.
+	(elf_backend_init_index_section): Likewise.
+	(elf_backend_allow_non_load_phdr): Likewise.
+	* elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
+	* i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
+	* ieee.c (ieee_construct_extended_name_table): Likewise.
+	(ieee_write_armap): Likewise.
+	(ieee_write_ar_hdr): Likewise.
+	(ieee_bfd_is_target_special_symbol): Likewise.
+	* ihex.c (ihex_canonicalize_symtab): Likewise.
+	(ihex_bfd_is_target_special_symbol): Likewise.
+	* libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
+	* libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
+	(_bfd_ecoff_set_alignment_hook): Likewise.
+	* mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
+	* mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
+	* nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
+	* oasys.c (oasys_construct_extended_name_table): Likewise.
+	(oasys_write_armap): Likewise.
+	(oasys_write_ar_hdr): Likewise.
+	(oasys_bfd_is_target_special_symbol): Likewise.
+	* pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
+	* plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
+	* ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
+	* som.c (som_bfd_is_target_special_symbol): Likewise.
+	* srec.c (srec_bfd_is_target_special_symbol): Likewise.
+	* tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
+	* verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
+	* versados.c (versados_bfd_is_target_special_symbol): Likewise.
+	(versados_bfd_reloc_name_lookup): Likewise.
+	* vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
+	(vms_bfd_define_start_stop): Likewise.
+	(alpha_vms_bfd_is_target_special_symbol): Likewise.
+	* wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
+	* xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
+
+2018-02-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/22842
+	* elf32-i386.c (elf_i386_check_relocs): Pass FALSE for non
+	PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
+	* elf64-x86-64.c (elf_x86_64_check_relocs): Create PLT for
+	R_X86_64_PC32 reloc against dynamic function in data section.
+	Pass TRUE for PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
+	(elf_x86_64_relocate_section): Use PLT for R_X86_64_PC32 reloc
+	against dynamic function in data section.
+	* elfxx-x86.c (elf_x86_allocate_dynrelocs): Use PLT in PIE as
+	function address only if pcrel_plt is true.
+	(_bfd_x86_elf_link_hash_table_create): Set pcrel_plt.
+	* elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): Add PCREL_PLT for
+	PC-relative PLT.  If PLT is PC-relative, don't generate dynamic
+	PC-relative relocation against a function definition in data
+	secton in PIE.  Remove the obsolete comments.
+	(elf_x86_link_hash_table): Add pcrel_plt.
+
+2018-02-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll,
+	instead of bfd_link_pic, for building shared library.
+
+2018-02-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR gas/22791
+	* elf64-x86-64.c (is_32bit_relative_branch): Removed.
+	(elf_x86_64_relocate_section): Check PIC relocations in PIE.
+	Remove is_32bit_relative_branch usage.  Disallow PC32 reloc
+	against protected function in shared object.
+
+2018-02-13  Sergei Trofimovich  <slyfox@inbox.ru>
+
+	PR 22828
+	* po/ru.po: Fix typo in Russian translation.
+
+2018-02-13  Maciej W. Rozycki  <macro@mips.com>
+
+	* wasm-module.c (wasm_scan_name_function_section): Rename
+	`index' local variable to `idx'.
+
+2018-02-13  Nick Clifton  <nickc@redhat.com>
+
+	PR 22823
+	Fix compile time warnings generated by gcc version 8.
+	* libbfd-in.h: Remove extraneous text from prototypes.
+	Add prototypes for bfd_false_any, bfd_true_any,
+	bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any,
+	bfd_n1_any, bfd_void_any.
+	(_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy
+	function.
+	(_bfd_generic_bfd_merge_private_bfd_data): Likewise.
+	(_bfd_generic_bfd_set_private_flags): Likewise.
+	(_bfd_generic_bfd_copy_private_section_data): Likewise.
+	(_bfd_generic_bfd_copy_private_symbol_data): Likewise.
+	(_bfd_generic_bfd_copy_private_header_data): Likewise.
+	(_bfd_generic_bfd_print_private_bfd_data): Likewise.
+	(_bfd_noarchive_construct_extended_name_table): Likewise.
+	(_bfd_noarchive_truncate_arname): Likewise.
+	(_bfd_noarchive_write_ar_hdr): Likewise.
+	(_bfd_noarchive_get_elt_at_index): Likewise.
+	(_bfd_nosymbols_canonicalize_symtab): Likewise.
+	(_bfd_nosymbols_print_symbol): Likewise.
+	(_bfd_nosymbols_get_symbol_info): Likewise.
+	(_bfd_nosymbols_get_symbol_version_string): Likewise.
+	(_bfd_nosymbols_bfd_is_local_label_name): Likewise.
+	(_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
+	(_bfd_nosymbols_get_lineno): Likewise.
+	(_bfd_nosymbols_find_nearest_line): Likewise.
+	(_bfd_nosymbols_find_line): Likewise.
+	(_bfd_nosymbols_find_inliner_info): Likewise.
+	(_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
+	(_bfd_nosymbols_read_minisymbols): Likewise.
+	(_bfd_nosymbols_minisymbol_to_symbol): Likewise.
+	(_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
+	(_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
+	(_bfd_nowrite_set_arch_mach): Likewise.
+	(_bfd_nowrite_set_section_contents): Likewise.
+	(_bfd_nolink_sizeof_headers): Likewise.
+	(_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
+	(_bfd_nolink_bfd_relax_section): Likewise.
+	(_bfd_nolink_bfd_gc_sections): Likewise.
+	(_bfd_nolink_bfd_lookup_section_flags): Likewise.
+	(_bfd_nolink_bfd_merge_sections): Likewise.
+	(_bfd_nolink_bfd_is_group_section): Likewise.
+	(_bfd_nolink_bfd_discard_group): Likewise.
+	(_bfd_nolink_bfd_link_hash_table_create): Likewise.
+	(_bfd_nolink_bfd_link_add_symbols): Likewise.
+	(_bfd_nolink_bfd_link_just_syms): Likewise.
+	(_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
+	(_bfd_nolink_bfd_final_link): Likewise.
+	(_bfd_nolink_bfd_link_split_section): Likewise.
+	(_bfd_nolink_section_already_linked): Likewise.
+	(_bfd_nolink_bfd_define_common_symbol): Likewise.
+	(_bfd_nolink_bfd_define_start_stop): Likewise.
+	(_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
+	(_bfd_nodynamic_get_synthetic_symtab): Likewise.
+	(_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
+	(_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
+	* libbfd.c (bfd_false_any): New function.  Like bfd_false but
+	accepts one or more arguments.
+	(bfd_true_any): Likewise.
+	(bfd_nullvoidptr_any): Likewise.
+	(bfd_0_any): Likewise.
+	(bfd_0u_any): Likewise.
+	(bfd_0l_any): Likewise.
+	(_bfd_n1_any): Likewise.
+	(bfd_void_any): Likewise.
+	* libbfd.h (extern): Regenerate
+	* aout-target.h (MY_bfd_is_target_special_symbol): Use vararg
+	based dummy function.
+	* aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
+	* binary.c (binary_get_symbol_info): Likewise.
+	* coff-alpha.c (alpha_ecoff_backend_data): Likewise.
+	* coff-mips.c (mips_ecoff_backend_data): Likewise.
+	* coffcode.h (coff_set_alignment_hook): Likewise.
+	(symname_in_debug_hook): Likewise.
+	(bfd_coff_backend_data bigobj_swap_table): Likewise.
+	* elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
+	* elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
+	* elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
+	* elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
+	(bfd_elfNN_bfd_make_debug_symbol): Likewise.
+	(bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
+	(bfd_elfNN_bfd_set_private_flags): Likewise.
+	(bfd_elfNN_bfd_is_target_special_symbol): Likewise.
+	(elf_backend_init_index_section): Likewise.
+	(elf_backend_allow_non_load_phdr): Likewise.
+	* elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
+	* i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
+	* ieee.c (ieee_construct_extended_name_table): Likewise.
+	(ieee_write_armap): Likewise.
+	(ieee_write_ar_hdr): Likewise.
+	(ieee_bfd_is_target_special_symbol): Likewise.
+	* ihex.c (ihex_canonicalize_symtab): Likewise.
+	(ihex_bfd_is_target_special_symbol): Likewise.
+	* libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
+	* libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
+	(_bfd_ecoff_set_alignment_hook): Likewise.
+	* mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
+	* mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
+	* nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
+	* oasys.c (oasys_construct_extended_name_table): Likewise.
+	(oasys_write_armap): Likewise.
+	(oasys_write_ar_hdr): Likewise.
+	(oasys_bfd_is_target_special_symbol): Likewise.
+	* pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
+	* plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
+	* ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
+	* som.c (som_bfd_is_target_special_symbol): Likewise.
+	* srec.c (srec_bfd_is_target_special_symbol): Likewise.
+	* tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
+	* verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
+	* versados.c (versados_bfd_is_target_special_symbol): Likewise.
+	(versados_bfd_reloc_name_lookup): Likewise.
+	* vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
+	(vms_bfd_define_start_stop): Likewise.
+	(alpha_vms_bfd_is_target_special_symbol): Likewise.
+	* wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
+	* xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
+	* elf32-arc.c (get_replace_function): Assign replacement function
+	to func pointer.
+	* elf32-i370.c (i370_noop): Update prototype.
+
+2018-02-13  Alan Modra  <amodra@gmail.com>
+
+	PR 22836
+	* elf.c (_bfd_elf_fixup_group_sections): Account for removed
+	relocation sections.  If size reduces to just the flag word,
+	remove that too and mark with SEC_EXCLUDE.
+	* elflink.c (bfd_elf_final_link): Strip empty group sections.
+
+2018-02-13  Alan Modra  <amodra@gmail.com>
+
+	PR 22829
+	* elf.c (assign_file_positions_for_non_load_sections): Rewrite
+	PT_GNU_RELRO setup.
+
+2018-02-12  Zebediah Figura  <z.figura12@gmail.com>
+
+	* i386msdos.c (msdos_mkobject); New function.
+	(msdos_object_p): New function.
+	(i386_msdos_vec): Use msdos_object_p as the check_format
+	function.
+	* peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
+	NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
+	IMAGE_NT_SIGNATURE.
+	* peXXigen.c: Likewise.
+	* coff-ia64.c: Likewise.
+
+2018-02-12  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant
+	assignment.
+	* elf32-arc.c (elf_arc_relocate_section): Likewise.
+
+2018-02-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions.
+	(sparc_elf_append_rela): Assert that there is enough room in section.
+	(_bfd_sparc_elf_copy_indirect_symbol): Fix formatting.
+	(_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak.
+	(allocate_dynrelocs): Remove outdated comments and reorder conditions.
+	For a symbol subject to a GOT relocation, reserve a slot in the
+	relocation section if the symbol isn't dynamic and we are in PIC mode.
+	(_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation
+	is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation.
+	<R_SPARC_GOTDATA_OP_HIX22>: Adjust comments.
+	<R_SPARC_PC10>: Reorder conditions.  Remove always-false assertion.
+	(_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into
+	resolved_to_zero.  Do not generate a dynamic GOT relocation for an
+	undefined weak symbol with non-default visibility.  Remove superfluous
+	'else' and fix formatting.
+
+2018-02-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle
+	is_solaris.
+	(i386_elf32_sol2_vec): Don't declare.
+	(elf_i386_link_setup_gnu_properties): Also handle is_solaris.
+	Don't set need_global_offset_table.
+	(elf_i386_solaris_arch_bed): New.
+	(elf_backend_arch_data): Set to elf_i386_solaris_arch_bed for
+	Solaris.
+	* elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Check
+	target_os != is_nacl instead of target_os == is_normal.
+	(x86_64_elf64_sol2_vec): Don't declare.
+	(elf_x86_64_link_setup_gnu_properties): Check target_os !=
+	is_nacl instead of target_os == is_normal.  Don't set
+	need_global_offset_table.
+	(elf_x86_64_solaris_arch_bed): New.
+	(elf_backend_arch_data): Set to elf_x86_64_solaris_arch_bed for
+	Solaris.
+	* elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep
+	_GLOBAL_OFFSET_TABLE_ for Solaris.
+	(_bfd_x86_elf_link_setup_gnu_properties): Don't copy
+	need_global_offset_table.
+	* elfxx-x86.h (elf_x86_target_os): Add is_solaris.
+	(elf_x86_link_hash_table): Remove need_global_offset_table.
+	(elf_x86_init_table): Likewise.
+
+2018-02-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
+	Remove prototype.
+	(i386_elf32_sol2_vec): Declared.
+	(elf_i386_link_setup_gnu_properties): Set
+	need_global_offset_table with info->output_bfd->xvec.
+	* elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
+	Remove prototype.
+	(x86_64_elf64_sol2_vec): Declared.
+	(elf_x86_64_link_setup_gnu_properties): Set
+	need_global_offset_table with info->output_bfd->xvec.
+
+2018-02-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
+	New prototype.
+	(elf_i386_link_setup_gnu_properties): Set need_global_offset_table
+	for Solaris.
+	* elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
+	New prototype.
+	(elf_x86_64_link_setup_gnu_properties): Set
+	need_global_offset_table for Solaris.
+	* elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep the
+	unused _GLOBAL_OFFSET_TABLE_ for Solaris.
+	(_bfd_x86_elf_link_setup_gnu_properties): Copy
+	need_global_offset_table.
+	* elfxx-x86.h (elf_x86_link_hash_table): Add
+	need_global_offset_table.
+	(elf_x86_init_table): Likewise.
+
+2018-02-08  Jim Wilson  <jimw@sifive.com>
+
+	* elfnn-riscv.c (riscv_elf_relocate_section): Add comment for previous
+	change.
+
+2018-02-08  Nick Clifton  <nickc@redhat.com>
+
+	PR 22788
+	* elf.c (elf_parse_notes): Reject notes with excessuively large
+	alignments.
+
+2018-02-07  Alan Modra  <amodra@gmail.com>
+
+	Revert 2018-01-17  Alan Modra  <amodra@gmail.com>
+	* elf32-ppc.c: Remove speculation barrier support.
+	* elf32-ppc.h: Likewise.
+	* elf64-ppc.c: Likewise.
+	* elf64-ppc.h: Likewise.
+
+2018-02-06  Jim Wilson  <jimw@sifive.com>
+
+	* elfnn-riscv.c (riscv_elf_relocate_section): Return TRUE if used
+	callback to report an error.
+
+2018-02-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ld/22263
+	* elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic
+	into call to !bfd_link_executable and tidy up.
+	(_bfd_sparc_elf_check_relocs): Fix formatting and tidy up.
+	<R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to
+	!bfd_link_executable.
+	<R_SPARC_TLS_IE_HI22>: Likewise.
+	<GOT relocations>: Remove useless code, tidy and merge related blocks.
+	<R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to
+	!bfd_link_executable.
+	<R_SPARC_WPLT30>: Tidy up.
+	(_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to
+	!bfd_link_executable.
+	(allocate_dynrelocs): Likewise.
+	(_bfd_sparc_elf_relocate_section): Fix formatting and tidy up.
+	<R_SPARC_TLS_GD_HI22>: Merge into...
+	<R_SPARC_TLS_GD_LO10>: ...this.  Adjust 4th argument in call to
+	sparc_elf_tls_transition and remove redundant code.
+	<R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to
+	!bfd_link_executable.
+	<R_SPARC_TLS_LDO_HIX22>: Likewise.
+	<R_SPARC_TLS_LE_HIX22>: Likewise.  Tidy up.
+	<R_SPARC_TLS_LDM_CALL>: Likewise.
+	<R_SPARC_TLS_GD_CALL>: Likewise.  Tidy up.
+	<R_SPARC_TLS_GD_ADD>: Likewise.
+	<R_SPARC_TLS_LDM_ADD>: Likewise.
+	<R_SPARC_TLS_LDO_ADD>: Likewise.
+	<R_SPARC_TLS_IE_LD>: Likewise.
+
+2018-02-06  MiloÅ¡ StojanoviÄ‡  <milos.stojanovic@rt-rk.com>
+
+	PR 22789
+	* elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf
+	functions failed to find the function name, try the generic elf
+	find function instead.
+
+2018-02-06  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* coff-rs6000.c (xcoff_write_archive_contents_old): Use
+	'memcpy' instead of 'strncpy' when writing the magic number.
+
+2018-02-06  Nick Clifton  <nickc@redhat.com>
+
+	PR 22794
+	* opncls.c (bfd_get_debug_link_info_1): Check the size of the
+	section before attempting to read it in.
+	(bfd_get_alt_debug_link_info): Likewise.
+
+2018-02-06  Paul Carroll  <pcarroll@codesourcery.com>
+
+	* bfd/dwarf2.c (find_abstract_name): Modified to return file and
+	line information in addition to name, if they can be found.
+
+2018-02-05  Renlin Li  <renlin.li@arm.com>
+
+	PR ld/22764
+	* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
+	R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
+	check for writeable section as well.
+
+2018-02-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/22782
+	* elf32-i386.c (elf_i386_check_relocs): Set got_referenced if
+	_GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve
+	undefined weak symbol to 0.
+	* elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced
+	if _GLOBAL_OFFSET_TABLE_ is referenced.
+	* elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check
+	got_referenced instead of ref_regular_nonweak.  Remove the
+	unused _GLOBAL_OFFSET_TABLE_ from symbol table.
+	* elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced.
+
+2018-02-05  Maciej W. Rozycki  <macro@mips.com>
+
+	* elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
+	initialize `hi_reloc'.
+
+2018-02-05  Maciej W. Rozycki  <macro@mips.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_section_processing): For
+	SHT_MIPS_REGINFO sections don't assert the correct size and
+	report an error instead.
+
+2018-02-05  Maciej W. Rozycki  <macro@mips.com>
+
+	* elf.c (_bfd_elf_write_object_contents): Propagate a failure
+	status from `->elf_backend_section_processing'.
+
+2018-02-02  Jim Wilson  <jimw@sifive.com>
+
+	PR ld/22756
+	* elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info.
+	If link_info->wrap_hash, check for a duplicate symbol and ignore.
+	(_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le):
+	Pass new argument to riscv_relax_delete_bytes.
+	(_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise.  Remove
+	ATTRIBUTE_UNUSED from link_info parameter.
+
+2018-02-02  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
+	emitted for toc sequence optimization.  Set and use "howto" later.
+
+2018-02-01  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
+	arithmetic on NULL pointer.
+	* elflink.c (_bfd_elf_archive_symbol_lookup,
+	elf_link_add_archive_symbols): Likewise.
+
+2018-01-31  Michael Matz  <matz@suse.de>
+
+	* elflink.c (bfd_elf_define_start_stop): Fix check of
+	def_dynamic.
+
+2018-01-31  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/21964
+	* elflink.c (bfd_elf_define_start_stop): Check if __start and
+	__stop symbols are referenced by shared objects.
+
+2018-01-30  Alan Modra  <amodra@gmail.com>
+
+	PR 22758
+	* elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
+	segment when demand paged with lma on the same page.  Test this
+	before load/non-load, executable/non-executable,
+	writable/non-writable tests and simplify.  Delete bogus relro
+	condition in writable/non-writable test.  Delete outdated
+	comment.  Formatting.
+
+2018-01-30  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (bfd_elf_define_start_stop): Make __start and __stop
+	symbols dynamic.
+
+2018-01-29  Alan Modra  <amodra@gmail.com>
+
+	PR 22741
+	* coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
+	range before converting to a symbol table pointer.
+
+2018-01-27  Nick Clifton  <nickc@redhat.com>
+
+	* po/ru.po: Updated Russian translation.
+
+2018-01-26  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (bfd_elf_define_start_stop): Override symbols when
+	they are defined dynamically.
+
+2018-01-26  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
+	.branch_lt changes size.
+
+2018-01-25  Alan Modra  <amodra@gmail.com>
+
+	PR 22746
+	* elfcode.h (elf_object_p): Avoid integer overflow.
+
+2018-01-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ld/22727
+	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
+	Do a mere lookup of the __tls_get_addr symbol instead of adding it.
+
+	Revert
+	2017-10-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/22263
+	* elfxx-sparc.c (sparc_elf_tls_transition): Replace
+	bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
+	bfd_link_executable for TLS check.
+	(_bfd_sparc_elf_check_relocs): Likewise.
+	(allocate_dynrelocs): Likewise.
+	(_bfd_sparc_elf_relocate_section): Likewise.
+
+2018-01-24  Renlin Li  <renlin.li@arm.com>
+
+	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
+	BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
+	BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
+	BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
+	BFD_RELOC_AARCH64_MOVW_PREL_G3.
+	* elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
+	(_bfd_aarch64_elf_resolve_relocation): Likewise.
+
+2018-01-24  Renlin Li  <renlin.li@arm.com>
+
+	* reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
+	BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
+	BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
+	BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
+	* elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
+	BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
+	BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
+	BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
+	BFD_RELOC_AARCH64_MOVW_PREL_G3.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2018-01-23  Maciej W. Rozycki  <macro@mips.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
+	`mips_elf32_section_processing' comment reference.
+
+2018-01-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/22721
+	* elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
+	versioned __tls_get_addr symbol.
+
+2018-01-19  Nick Clifton  <nickc@redhat.com>
+
+	* po/fr.po: Updated French translation.
+
+2018-01-18  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
+	* elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
+	(ppc64_elf_build_stubs): Likewise.
+
+2018-01-17  Nick Clifton  <nickc@redhat.com>
+
+	* po/ru.po: Updated Russian translation.
+	* po/uk/po: Updated Ukranian translation.
+
+2018-01-17  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
+
+2018-01-17  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
+	(CRSETEQ, BEQCTRM): Define.
+	(is_nonpic_glink_stub): Don't check bctr.
+	(ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
+	(ppc_elf_relax_section): Size speculation barrier.
+	(output_bctr): New function.
+	(write_glink_stub): Use output_bctr.
+	(ppc_elf_relocate_section): Use output_bctr for long branch stub.
+	(ppc_elf_finish_dynamic_symbol): Likewise.
+	(ppc_elf_finish_dynamic_sections): Use output_bctr.
+	* elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
+	* elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
+	(GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
+	(size_global_entry_stubs): Handle speculation barrier sizing.
+	(plt_stub_size): Likewise.
+	(output_bctr): New function.
+	(build_plt_stub, build_tls_get_addr_stub): Output speculation
+	barrier.
+	(ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
+	(ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
+	(build_global_entry_stubs): Output speculation barrier.
+	(ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
+	* elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
+
+2018-01-17  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
+	__tls_get_addr_opt, and alignment sizing.
+	(TLS_GET_ADDR_GLINK_SIZE): Delete.
+	(is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
+	(ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
+	or 8 insns.
+	(ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
+	(allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
+	(ppc_elf_size_dynamic_sections): Likewise.  Size branch table
+	by PLT reloc count.
+	(write_glink_stub): Handle __tls_get_addr_opt stub.
+	Pad out to size given by GLINK_ENTRY_SIZE.
+	(ppc_elf_relocate_section): Adjust write_glink_stub call.
+	(ppc_elf_finish_dynamic_symbol): Likewise.
+	(ppc_elf_finish_dynamic_sections): Write PLTresolve without using
+	insn array since so many need rewriting.
+	* elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
+	* elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
+	GLINK_CALL_STUB_SIZE.  Add htab param and evaluate to size without
+	nops.  Adjust all uses.
+	(ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
+	in glink_vma calculation.
+	(struct ppc_link_hash_table): Add global_entry section pointer.
+	(create_linkage_sections): Create separate section for global
+	entry stubs.
+	(PPC_LO, PPC_HI, PPC_HA): Move earlier.
+	(size_global_entry_stubs): Handle sizing for aligned stubs.
+	(ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
+	and don't stash end of glink branch table in rawsize.
+	(ppc_build_one_stub): Rewrite stub size calculations.
+	(build_global_entry_stubs): Use new section.
+	(ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
+	Build lazy link stubs out to end of section.  Build global entry
+	stubs in new section.
+
+2018-01-15  Nick Clifton  <nickc@redhat.com>
+
+	* po/uk.po: Updated Ukranian translation.
+
+2018-01-13  Nick Clifton  <nickc@redhat.com>
+
+	* po/bfd.pot: Regenerated.
+
+2018-01-13  Nick Clifton  <nickc@redhat.com>
+
+	* version.m4: Bump version to 2.30.51
+	* configure: Regenerate.
+
+2018-01-13  Nick Clifton  <nickc@redhat.com>
+
+	2.30 branch created.
+
+2018-01-12  Jens Widell  <jl@opera.com>
+
+	* elf.c (setup_group): Optimize search for group by remembering
+	last found group and restarting search at that index.
+	* elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
+
+2018-01-12  Gunther Nikl  <gnikl@users.sourceforge.net>
+
+	* aoutx.h (aout_link_check_ar_symbols): Remove default and handle
+	bfd_link_common_skip_none in switch.
+
+2018-01-12  Alan Modra  <amodra@gmail.com>
+
+	PR ld/22649
+	* elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
+	references on forced local symbols.
+
+2018-01-12  Vlad Ivanov  <vlad@ivanov.email>
+
+	* elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
+	.reginfo section has wrong size.
+
+2018-01-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/22393
+	* elf.c (_bfd_elf_map_sections_to_segments): When generating
+	separate code and read-only data LOAD segments, create a new
+	LOAD segment if the previous section contains text and the
+	current section doesn't or vice versa.  Don't put a writable
+	section in a read-only segment if there is a RELRO segment.
+
+2018-01-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/22649
+	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
+	references on forced local symbols.
+
+2018-01-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/22677
+	* elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
+	INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
+
+2018-01-09  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
+
+	PR 22662
+	* elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
+
 2018-01-03  John Baldwin  <jhb@FreeBSD.org>
 
 	* elf.c (elfcore_grok_freebsd_note): Handle
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cisco-core.c ./bfd/cisco-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cisco-core.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cisco-core.c	2018-07-10 02:06:11.000000000 +0000
@@ -317,102 +317,110 @@ extern const bfd_target core_cisco_le_ve
 
 const bfd_target core_cisco_be_vec =
 {
-    "cisco-ios-core-big",
-    bfd_target_unknown_flavour,
-    BFD_ENDIAN_BIG,		/* target byte order */
-    BFD_ENDIAN_BIG,		/* target headers byte order */
-    (HAS_RELOC | EXEC_P |	/* object flags */
-     HAS_LINENO | HAS_DEBUG |
-     HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
-    (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-    0,				/* symbol prefix */
-    ' ',			/* ar_pad_char */
-    16,				/* ar_max_namelen */
-    0,				/* match priority.  */
-    bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-    bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-    bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* data */
-    bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-    bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-    bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
-
-    {				/* bfd_check_format */
-     _bfd_dummy_target,		/* unknown format */
-     _bfd_dummy_target,		/* object file */
-     _bfd_dummy_target,		/* archive */
-     cisco_core_file_p	/* a core file */
-    },
-    {				/* bfd_set_format */
-     bfd_false, bfd_false,
-     bfd_false, bfd_false
-    },
-    {				/* bfd_write_contents */
-     bfd_false, bfd_false,
-     bfd_false, bfd_false
-    },
-
-       BFD_JUMP_TABLE_GENERIC (_bfd_generic),
-       BFD_JUMP_TABLE_COPY (_bfd_generic),
-       BFD_JUMP_TABLE_CORE (cisco),
-       BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
-       BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols),
-       BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
-       BFD_JUMP_TABLE_WRITE (_bfd_generic),
-       BFD_JUMP_TABLE_LINK (_bfd_nolink),
-       BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+  "cisco-ios-core-big",
+  bfd_target_unknown_flavour,
+  BFD_ENDIAN_BIG,		/* target byte order */
+  BFD_ENDIAN_BIG,		/* target headers byte order */
+  (HAS_RELOC | EXEC_P		/* object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
+  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
+  0,				/* symbol prefix */
+  ' ',				/* ar_pad_char */
+  16,				/* ar_max_namelen */
+  0,				/* match priority.  */
+  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
+  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
+  bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* data */
+  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
+  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
+  bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
+
+  {				/* bfd_check_format */
+    _bfd_dummy_target,			/* unknown format */
+    _bfd_dummy_target,			/* object file */
+    _bfd_dummy_target,			/* archive */
+    cisco_core_file_p			/* a core file */
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error
+  },
+
+  BFD_JUMP_TABLE_GENERIC (_bfd_generic),
+  BFD_JUMP_TABLE_COPY (_bfd_generic),
+  BFD_JUMP_TABLE_CORE (cisco),
+  BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
+  BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols),
+  BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
+  BFD_JUMP_TABLE_WRITE (_bfd_generic),
+  BFD_JUMP_TABLE_LINK (_bfd_nolink),
+  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
-    & core_cisco_le_vec,
+  &core_cisco_le_vec,
 
-    NULL	/* backend_data */
+  NULL				/* backend_data */
 };
 
 const bfd_target core_cisco_le_vec =
 {
-    "cisco-ios-core-little",
-    bfd_target_unknown_flavour,
-    BFD_ENDIAN_LITTLE,		/* target byte order */
-    BFD_ENDIAN_LITTLE,		/* target headers byte order */
-    (HAS_RELOC | EXEC_P |	/* object flags */
-     HAS_LINENO | HAS_DEBUG |
-     HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
-    (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-    0,							   /* symbol prefix */
-    ' ',						   /* ar_pad_char */
-    16,							   /* ar_max_namelen */
-    0,				/* match_priority */
-    bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-    bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-    bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* data */
-    bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-    bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-    bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
-
-    {				/* bfd_check_format */
-     _bfd_dummy_target,		/* unknown format */
-     _bfd_dummy_target,		/* object file */
-     _bfd_dummy_target,		/* archive */
-     cisco_core_file_p	/* a core file */
-    },
-    {				/* bfd_set_format */
-     bfd_false, bfd_false,
-     bfd_false, bfd_false
-    },
-    {				/* bfd_write_contents */
-     bfd_false, bfd_false,
-     bfd_false, bfd_false
-    },
-
-       BFD_JUMP_TABLE_GENERIC (_bfd_generic),
-       BFD_JUMP_TABLE_COPY (_bfd_generic),
-       BFD_JUMP_TABLE_CORE (cisco),
-       BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
-       BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols),
-       BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
-       BFD_JUMP_TABLE_WRITE (_bfd_generic),
-       BFD_JUMP_TABLE_LINK (_bfd_nolink),
-       BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+  "cisco-ios-core-little",
+  bfd_target_unknown_flavour,
+  BFD_ENDIAN_LITTLE,		/* target byte order */
+  BFD_ENDIAN_LITTLE,		/* target headers byte order */
+  (HAS_RELOC | EXEC_P		/* object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
+  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
+  0,				/* symbol prefix */
+  ' ',				/* ar_pad_char */
+  16,				/* ar_max_namelen */
+  0,				/* match_priority */
+  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
+  bfd_getl32, bfd_getl_signed_32, bfd_putl32,
+  bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* data */
+  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
+  bfd_getl32, bfd_getl_signed_32, bfd_putl32,
+  bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
+
+  {				/* bfd_check_format */
+    _bfd_dummy_target,			/* unknown format */
+    _bfd_dummy_target,			/* object file */
+    _bfd_dummy_target,			/* archive */
+    cisco_core_file_p			/* a core file */
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error
+  },
+
+  BFD_JUMP_TABLE_GENERIC (_bfd_generic),
+  BFD_JUMP_TABLE_COPY (_bfd_generic),
+  BFD_JUMP_TABLE_CORE (cisco),
+  BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
+  BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols),
+  BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
+  BFD_JUMP_TABLE_WRITE (_bfd_generic),
+  BFD_JUMP_TABLE_LINK (_bfd_nolink),
+  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
-    &core_cisco_be_vec,
+  &core_cisco_be_vec,
 
-    NULL			/* backend_data */
+  NULL				/* backend_data */
 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff64-rs6000.c ./bfd/coff64-rs6000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff64-rs6000.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff64-rs6000.c	2018-07-10 02:06:11.000000000 +0000
@@ -2147,7 +2147,7 @@ xcoff64_create_csect_from_smclas (bfd *a
     {
       _bfd_error_handler
 	/* xgettext: c-format */
-	(_("%B: symbol `%s' has unrecognized smclas %d"),
+	(_("%pB: symbol `%s' has unrecognized smclas %d"),
 	 abfd, symbol_name, aux->x_csect.x_smclas);
       bfd_set_error (bfd_error_bad_value);
     }
@@ -2694,22 +2694,22 @@ const bfd_target rs6000_xcoff64_vec =
     },
 
     { /* bfd_set_format */
-      bfd_false,
+      _bfd_bool_bfd_false_error,
       coff_mkobject,
       _bfd_generic_mkarchive,
-      bfd_false
+      _bfd_bool_bfd_false_error
     },
 
     {/* bfd_write_contents */
-      bfd_false,
+      _bfd_bool_bfd_false_error,
       xcoff64_write_object_contents,
       _bfd_xcoff_write_archive_contents,
-      bfd_false
+      _bfd_bool_bfd_false_error
     },
 
     /* Generic */
     _bfd_archive_close_and_cleanup,
-    bfd_true,
+    _bfd_bool_bfd_true,
     coff_new_section_hook,
     _bfd_generic_get_section_contents,
     _bfd_generic_get_section_contents_in_window,
@@ -2738,7 +2738,7 @@ const bfd_target rs6000_xcoff64_vec =
     xcoff64_openr_next_archived_file,
     _bfd_generic_get_elt_at_index,
     _bfd_xcoff_stat_arch_elt,
-    bfd_true,
+    _bfd_bool_bfd_true,
 
     /* Symbols */
     coff_get_symtab_upper_bound,
@@ -2786,6 +2786,7 @@ const bfd_target rs6000_xcoff64_vec =
     bfd_generic_discard_group,
     _bfd_generic_section_already_linked,
     _bfd_xcoff_define_common_symbol,
+    _bfd_generic_link_hide_symbol,
     bfd_generic_define_start_stop,
 
     /* Dynamic */
@@ -2955,22 +2956,22 @@ const bfd_target rs6000_xcoff64_aix_vec 
     },
 
     { /* bfd_set_format */
-      bfd_false,
+      _bfd_bool_bfd_false_error,
       coff_mkobject,
       _bfd_generic_mkarchive,
-      bfd_false
+      _bfd_bool_bfd_false_error
     },
 
     {/* bfd_write_contents */
-      bfd_false,
+      _bfd_bool_bfd_false_error,
       xcoff64_write_object_contents,
       _bfd_xcoff_write_archive_contents,
-      bfd_false
+      _bfd_bool_bfd_false_error
     },
 
     /* Generic */
     _bfd_archive_close_and_cleanup,
-    bfd_true,
+    _bfd_bool_bfd_true,
     coff_new_section_hook,
     _bfd_generic_get_section_contents,
     _bfd_generic_get_section_contents_in_window,
@@ -2999,7 +3000,7 @@ const bfd_target rs6000_xcoff64_aix_vec 
     xcoff64_openr_next_archived_file,
     _bfd_generic_get_elt_at_index,
     _bfd_xcoff_stat_arch_elt,
-    bfd_true,
+    _bfd_bool_bfd_true,
 
     /* Symbols */
     coff_get_symtab_upper_bound,
@@ -3047,6 +3048,7 @@ const bfd_target rs6000_xcoff64_aix_vec 
     bfd_generic_discard_group,
     _bfd_generic_section_already_linked,
     _bfd_xcoff_define_common_symbol,
+    _bfd_generic_link_hide_symbol,
     bfd_generic_define_start_stop,
 
     /* Dynamic */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-alpha.c ./bfd/coff-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-alpha.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-alpha.c	2018-07-10 02:06:11.000000000 +0000
@@ -447,8 +447,8 @@ alpha_ecoff_bad_format_hook (bfd *abfd A
 
   if (ALPHA_ECOFF_COMPRESSEDMAG (*internal_f))
     _bfd_error_handler
-      (_("%B: Cannot handle compressed Alpha binaries.\n"
-	 "   Use compiler flags, or objZ, to generate uncompressed binaries."),
+      (_("%pB: cannot handle compressed Alpha binaries; "
+	 "use compiler flags, or objZ, to generate uncompressed binaries"),
        abfd);
 
   return FALSE;
@@ -598,9 +598,8 @@ alpha_adjust_reloc_in (bfd *abfd,
   if (intern->r_type > ALPHA_R_GPVALUE)
     {
       /* xgettext:c-format */
-      _bfd_error_handler
-	(_("%B: unknown/unsupported relocation type %d"),
-	 abfd, intern->r_type);
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, intern->r_type);
       bfd_set_error (bfd_error_bad_value);
       rptr->addend = 0;
       rptr->howto  = NULL;
@@ -1499,24 +1498,21 @@ alpha_relocate_section (bfd *output_bfd,
       switch (r_type)
 	{
 	case ALPHA_R_GPRELHIGH:
-	  _bfd_error_handler
-	    (_("%B: unsupported relocation: ALPHA_R_GPRELHIGH"),
-	     input_bfd);
+	  _bfd_error_handler (_("%pB: %s unsupported"),
+			      input_bfd, "ALPHA_R_GPRELHIGH");
 	  bfd_set_error (bfd_error_bad_value);
 	  continue;
 
 	case ALPHA_R_GPRELLOW:
-	  _bfd_error_handler
-	    (_("%B: unsupported relocation: ALPHA_R_GPRELLOW"),
-	     input_bfd);
+	  _bfd_error_handler (_("%pB: %s unsupported"),
+			      input_bfd, "ALPHA_R_GPRELLOW");
 	  bfd_set_error (bfd_error_bad_value);
 	  continue;
 
 	default:
-	  _bfd_error_handler
-	    /* xgettext:c-format */
-	    (_("%B: unknown relocation type %d"),
-	     input_bfd, (int) r_type);
+	  /* xgettext:c-format */
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      input_bfd, (int) r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  continue;
 
@@ -2218,6 +2214,67 @@ alpha_ecoff_get_elt_at_index (bfd *abfd,
   entry = bfd_ardata (abfd)->symdefs + sym_index;
   return alpha_ecoff_get_elt_at_filepos (abfd, entry->file_offset);
 }
+
+static void
+alpha_ecoff_swap_coff_aux_in (bfd *abfd ATTRIBUTE_UNUSED,
+			      void *ext1 ATTRIBUTE_UNUSED,
+			      int type ATTRIBUTE_UNUSED,
+			      int in_class ATTRIBUTE_UNUSED,
+			      int indx ATTRIBUTE_UNUSED,
+			      int numaux ATTRIBUTE_UNUSED,
+			      void *in1 ATTRIBUTE_UNUSED)
+{
+}
+
+static void
+alpha_ecoff_swap_coff_sym_in (bfd *abfd ATTRIBUTE_UNUSED,
+			      void *ext1 ATTRIBUTE_UNUSED,
+			      void *in1 ATTRIBUTE_UNUSED)
+{
+}
+
+static void
+alpha_ecoff_swap_coff_lineno_in (bfd *abfd ATTRIBUTE_UNUSED,
+				 void *ext1 ATTRIBUTE_UNUSED,
+				 void *in1 ATTRIBUTE_UNUSED)
+{
+}
+
+static unsigned int
+alpha_ecoff_swap_coff_aux_out (bfd *abfd ATTRIBUTE_UNUSED,
+			       void *inp ATTRIBUTE_UNUSED,
+			       int type ATTRIBUTE_UNUSED,
+			       int in_class ATTRIBUTE_UNUSED,
+			       int indx ATTRIBUTE_UNUSED,
+			       int numaux ATTRIBUTE_UNUSED,
+			       void *extp ATTRIBUTE_UNUSED)
+{
+  return 0;
+}
+
+static unsigned int
+alpha_ecoff_swap_coff_sym_out (bfd *abfd ATTRIBUTE_UNUSED,
+			       void *inp ATTRIBUTE_UNUSED,
+			       void *extp ATTRIBUTE_UNUSED)
+{
+  return 0;
+}
+
+static unsigned int
+alpha_ecoff_swap_coff_lineno_out (bfd *abfd ATTRIBUTE_UNUSED,
+				  void *inp ATTRIBUTE_UNUSED,
+				  void *extp ATTRIBUTE_UNUSED)
+{
+  return 0;
+}
+
+static unsigned int
+alpha_ecoff_swap_coff_reloc_out (bfd *abfd ATTRIBUTE_UNUSED,
+				 void *inp ATTRIBUTE_UNUSED,
+				 void *extp ATTRIBUTE_UNUSED)
+{
+  return 0;
+}
 
 /* This is the ECOFF backend structure.  The backend field of the
    target vector points to this.  */
@@ -2226,13 +2283,10 @@ static const struct ecoff_backend_data a
 {
   /* COFF backend structure.  */
   {
-    (void (*) (bfd *,void *,int,int,int,int,void *)) bfd_void, /* aux_in */
-    (void (*) (bfd *,void *,void *)) bfd_void, /* sym_in */
-    (void (*) (bfd *,void *,void *)) bfd_void, /* lineno_in */
-    (unsigned (*) (bfd *,void *,int,int,int,int,void *)) bfd_void,/*aux_out*/
-    (unsigned (*) (bfd *,void *,void *)) bfd_void, /* sym_out */
-    (unsigned (*) (bfd *,void *,void *)) bfd_void, /* lineno_out */
-    (unsigned (*) (bfd *,void *,void *)) bfd_void, /* reloc_out */
+    alpha_ecoff_swap_coff_aux_in, alpha_ecoff_swap_coff_sym_in,
+    alpha_ecoff_swap_coff_lineno_in, alpha_ecoff_swap_coff_aux_out,
+    alpha_ecoff_swap_coff_sym_out, alpha_ecoff_swap_coff_lineno_out,
+    alpha_ecoff_swap_coff_reloc_out,
     alpha_ecoff_swap_filehdr_out, alpha_ecoff_swap_aouthdr_out,
     alpha_ecoff_swap_scnhdr_out,
     FILHSZ, AOUTSZ, SCNHSZ, 0, 0, 0, 0, FILNMLEN, TRUE,
@@ -2340,6 +2394,7 @@ static const struct ecoff_backend_data a
 #define _bfd_ecoff_section_already_linked \
   _bfd_coff_section_already_linked
 #define _bfd_ecoff_bfd_define_common_symbol bfd_generic_define_common_symbol
+#define _bfd_ecoff_bfd_link_hide_symbol _bfd_generic_link_hide_symbol
 #define _bfd_ecoff_bfd_define_start_stop    bfd_generic_define_start_stop
 #define _bfd_ecoff_bfd_link_check_relocs    _bfd_generic_link_check_relocs
 
@@ -2353,9 +2408,9 @@ const bfd_target alpha_ecoff_le_vec =
   BFD_ENDIAN_LITTLE,		/* data byte order is little */
   BFD_ENDIAN_LITTLE,		/* header byte order is little */
 
-  (HAS_RELOC | EXEC_P |		/* object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
+  (HAS_RELOC | EXEC_P		/* object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
 
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
   0,				/* leading underscore */
@@ -2369,24 +2424,36 @@ const bfd_target alpha_ecoff_le_vec =
      bfd_getl32, bfd_getl_signed_32, bfd_putl32,
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
-  {_bfd_dummy_target, alpha_ecoff_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, _bfd_ecoff_mkobject,  /* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, _bfd_ecoff_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
-
-     BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
-     BFD_JUMP_TABLE_COPY (_bfd_ecoff),
-     BFD_JUMP_TABLE_CORE (_bfd_nocore),
-     BFD_JUMP_TABLE_ARCHIVE (alpha_ecoff),
-     BFD_JUMP_TABLE_SYMBOLS (_bfd_ecoff),
-     BFD_JUMP_TABLE_RELOCS (_bfd_ecoff),
-     BFD_JUMP_TABLE_WRITE (_bfd_ecoff),
-     BFD_JUMP_TABLE_LINK (_bfd_ecoff),
-     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    alpha_ecoff_object_p,
+    bfd_generic_archive_p,
+    _bfd_dummy_target
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    _bfd_ecoff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    _bfd_ecoff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
+
+  BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
+  BFD_JUMP_TABLE_COPY (_bfd_ecoff),
+  BFD_JUMP_TABLE_CORE (_bfd_nocore),
+  BFD_JUMP_TABLE_ARCHIVE (alpha_ecoff),
+  BFD_JUMP_TABLE_SYMBOLS (_bfd_ecoff),
+  BFD_JUMP_TABLE_RELOCS (_bfd_ecoff),
+  BFD_JUMP_TABLE_WRITE (_bfd_ecoff),
+  BFD_JUMP_TABLE_LINK (_bfd_ecoff),
+  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
   NULL,
 
-  & alpha_ecoff_backend_data
+  &alpha_ecoff_backend_data
 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-apollo.c ./bfd/coff-apollo.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-apollo.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-apollo.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,120 +0,0 @@
-/* BFD back-end for Apollo 68000 COFF binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   By Troy Rollo (troy@cbme.unsw.edu.au)
-   Based on m68k standard COFF version Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "coff/apollo.h"
-#include "coff/internal.h"
-#include "libcoff.h"
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3)
-
-#ifdef ONLY_DECLARE_RELOCS
-extern reloc_howto_type apollocoff_howto_table[];
-#else
-reloc_howto_type apollocoff_howto_table[] =
-  {
-    HOWTO (R_RELBYTE,	       0,  0,	8,  FALSE, 0, complain_overflow_bitfield, 0, "8",	TRUE, 0x000000ff,0x000000ff, FALSE),
-    HOWTO (R_RELWORD,	       0,  1,	16, FALSE, 0, complain_overflow_bitfield, 0, "16",	TRUE, 0x0000ffff,0x0000ffff, FALSE),
-    HOWTO (R_RELLONG,	       0,  2,	32, FALSE, 0, complain_overflow_bitfield, 0, "32",	TRUE, 0xffffffff,0xffffffff, FALSE),
-    HOWTO (R_PCRBYTE,	       0,  0,	8,  TRUE,  0, complain_overflow_signed,	  0, "DISP8",	TRUE, 0x000000ff,0x000000ff, FALSE),
-    HOWTO (R_PCRWORD,	       0,  1,	16, TRUE,  0, complain_overflow_signed,	  0, "DISP16",	TRUE, 0x0000ffff,0x0000ffff, FALSE),
-    HOWTO (R_PCRLONG,	       0,  2,	32, TRUE,  0, complain_overflow_signed,	  0, "DISP32",	TRUE, 0xffffffff,0xffffffff, FALSE),
-    HOWTO (R_RELLONG_NEG,      0,  -2,	32, FALSE, 0, complain_overflow_bitfield, 0, "-32",	TRUE, 0xffffffff,0xffffffff, FALSE),
-  };
-#endif /* not ONLY_DECLARE_RELOCS */
-
-#ifndef BADMAG
-#define BADMAG(x) M68KBADMAG(x)
-#endif
-#define APOLLO_M68 1		/* Customize coffcode.h */
-
-/* Turn a howto into a reloc number.  */
-
-extern void apollo_rtype2howto (arelent *, int);
-extern int  apollo_howto2rtype (reloc_howto_type *);
-#ifndef ONLY_DECLARE_RELOCS
-
-void
-apollo_rtype2howto (arelent *internal, int relocentry)
-{
-  switch (relocentry)
-    {
-    case R_RELBYTE:	internal->howto = apollocoff_howto_table + 0; break;
-    case R_RELWORD:	internal->howto = apollocoff_howto_table + 1; break;
-    case R_RELLONG:	internal->howto = apollocoff_howto_table + 2; break;
-    case R_PCRBYTE:	internal->howto = apollocoff_howto_table + 3; break;
-    case R_PCRWORD:	internal->howto = apollocoff_howto_table + 4; break;
-    case R_PCRLONG:	internal->howto = apollocoff_howto_table + 5; break;
-    case R_RELLONG_NEG:	internal->howto = apollocoff_howto_table + 6; break;
-    }
-}
-
-int
-apollo_howto2rtype (reloc_howto_type *internal)
-{
-  if (internal->pc_relative)
-    {
-      switch (internal->bitsize)
-	{
-	case 32: return R_PCRLONG;
-	case 16: return R_PCRWORD;
-	case 8: return R_PCRBYTE;
-	}
-    }
-  else
-    {
-      switch (internal->bitsize)
-	{
-	case 32: return R_RELLONG;
-	case 16: return R_RELWORD;
-	case 8: return R_RELBYTE;
-	}
-    }
-  return R_RELLONG;
-}
-#endif /* not ONLY_DECLARE_RELOCS */
-
-#define RTYPE2HOWTO(internal, relocentry) \
-  apollo_rtype2howto (internal, (relocentry)->r_type)
-
-#define SELECT_RELOC(external, internal) \
-  external.r_type = apollo_howto2rtype (internal);
-
-#define bfd_pe_print_pdata	NULL
-
-#include "coffcode.h"
-
-#ifndef TARGET_SYM
-#define TARGET_SYM m68k_coff_apollo_vec
-#endif
-
-#ifndef TARGET_NAME
-#define TARGET_NAME "apollo-m68k"
-#endif
-
-#ifdef NAMES_HAVE_UNDERSCORE
-CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, 0, 0, '_', NULL, COFF_SWAP_TABLE)
-#else
-CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, 0, 0, 0, NULL, COFF_SWAP_TABLE)
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-arm.c ./bfd/coff-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-arm.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-arm.c	2018-07-10 02:06:11.000000000 +0000
@@ -1034,7 +1034,7 @@ find_thumb_glue (struct bfd_link_info *i
 
   if (myh == NULL)
     /* xgettext:c-format */
-    _bfd_error_handler (_("%B: unable to find THUMB glue '%s' for `%s'"),
+    _bfd_error_handler (_("%pB: unable to find THUMB glue '%s' for `%s'"),
 			input_bfd, tmp_name, name);
 
   free (tmp_name);
@@ -1063,7 +1063,7 @@ find_arm_glue (struct bfd_link_info *inf
 
   if (myh == NULL)
     /* xgettext:c-format */
-    _bfd_error_handler (_("%B: unable to find ARM glue '%s' for `%s'"),
+    _bfd_error_handler (_("%pB: unable to find ARM glue '%s' for `%s'"),
 			input_bfd, tmp_name, name);
 
   free (tmp_name);
@@ -1274,9 +1274,8 @@ coff_arm_relocate_section (bfd *output_b
 	    continue;
 	  /* FIXME - it is not clear which targets need this next test
 	     and which do not.  It is known that it is needed for the
-	     VxWorks and EPOC-PE targets, but it is also known that it
-	     was suppressed for other ARM targets.  This ought to be
-	     sorted out one day.  */
+	     VxWorks targets but it is also known that it was suppressed
+	     for other ARM targets.  This ought to be sorted out one day.  */
 #ifdef ARM_COFF_BUGFIX
 	  /* We must not ignore the symbol value.  If the symbol is
 	     within the same section, the relocation should have already
@@ -1365,8 +1364,8 @@ coff_arm_relocate_section (bfd *output_b
 			      && ! INTERWORK_FLAG (h_sec->owner))
 			    _bfd_error_handler
 			      /* xgettext:c-format */
-			      (_("%B(%s): warning: interworking not enabled.\n"
-				 "  first occurrence: %B: arm call to thumb"),
+			      (_("%pB(%s): warning: interworking not enabled; "
+				 "first occurrence: %pB: arm call to thumb"),
 			       h_sec->owner, name, input_bfd);
 
 			  --my_offset;
@@ -1455,9 +1454,10 @@ coff_arm_relocate_section (bfd *output_b
 			      && ! globals->support_old_code)
 			    _bfd_error_handler
 			      /* xgettext:c-format */
-			      (_("%B(%s): warning: interworking not enabled.\n"
-				 "  first occurrence: %B: thumb call to arm\n"
-				 "  consider relinking with --support-old-code enabled"),
+			      (_("%pB(%s): warning: interworking not enabled; "
+				 "first occurrence: %pB: thumb call to arm; "
+				 "consider relinking with --support-old-code "
+				 "enabled"),
 			       h_sec->owner, name, input_bfd);
 
 			  -- my_offset;
@@ -1748,8 +1748,8 @@ coff_arm_relocate_section (bfd *output_b
 	case bfd_reloc_outofrange:
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: bad reloc address %#Lx in section `%A'"),
-	     input_bfd, rel->r_vaddr, input_section);
+	    (_("%pB: bad reloc address %#" PRIx64 " in section `%pA'"),
+	     input_bfd, (uint64_t) rel->r_vaddr, input_section);
 	  return FALSE;
 	case bfd_reloc_overflow:
 	  {
@@ -2073,7 +2073,7 @@ bfd_arm_process_before_allocation (bfd *
 	  if (symndx >= obj_conv_table_size (abfd))
 	    {
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B: illegal symbol index in reloc: %ld"),
+	      _bfd_error_handler (_("%pB: illegal symbol index in reloc: %ld"),
 				  abfd, symndx);
 	      continue;
 	    }
@@ -2205,7 +2205,7 @@ coff_arm_merge_private_bfd_data (bfd * i
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"),
+		(_("error: %pB is compiled for APCS-%d, whereas %pB is compiled for APCS-%d"),
 		 ibfd, APCS_26_FLAG (ibfd) ? 26 : 32,
 		 obfd, APCS_26_FLAG (obfd) ? 26 : 32
 		 );
@@ -2219,12 +2219,12 @@ coff_arm_merge_private_bfd_data (bfd * i
 	      if (APCS_FLOAT_FLAG (ibfd))
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-error: %B passes floats in float registers, whereas %B passes them in integer registers"),
+error: %pB passes floats in float registers, whereas %pB passes them in integer registers"),
 				    ibfd, obfd);
 	      else
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-error: %B passes floats in integer registers, whereas %B passes them in float registers"),
+error: %pB passes floats in integer registers, whereas %pB passes them in float registers"),
 				    ibfd, obfd);
 
 	      bfd_set_error (bfd_error_wrong_format);
@@ -2236,12 +2236,12 @@ error: %B passes floats in integer regis
 	      if (PIC_FLAG (ibfd))
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-error: %B is compiled as position independent code, whereas target %B is absolute position"),
+error: %pB is compiled as position independent code, whereas target %pB is absolute position"),
 				    ibfd, obfd);
 	      else
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-error: %B is compiled as absolute position code, whereas target %B is position independent"),
+error: %pB is compiled as absolute position code, whereas target %pB is position independent"),
 				    ibfd, obfd);
 
 	      bfd_set_error (bfd_error_wrong_format);
@@ -2268,12 +2268,12 @@ error: %B is compiled as absolute positi
 	      if (INTERWORK_FLAG (ibfd))
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-Warning: %B supports interworking, whereas %B does not"),
+warning: %pB supports interworking, whereas %pB does not"),
 				    ibfd, obfd);
 	      else
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-Warning: %B does not support interworking, whereas %B does"),
+warning: %pB does not support interworking, whereas %pB does"),
 				    ibfd, obfd);
 	    }
 	}
@@ -2363,10 +2363,10 @@ _bfd_coff_arm_set_private_flags (bfd * a
   if (INTERWORK_SET (abfd) && (INTERWORK_FLAG (abfd) != flag))
     {
       if (flag)
-	_bfd_error_handler (_("Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"),
+	_bfd_error_handler (_("warning: not setting interworking flag of %pB since it has already been specified as non-interworking"),
 			    abfd);
       else
-	_bfd_error_handler (_("Warning: Clearing the interworking flag of %B due to outside request"),
+	_bfd_error_handler (_("warning: clearing the interworking flag of %pB due to outside request"),
 			    abfd);
       flag = 0;
     }
@@ -2424,7 +2424,7 @@ coff_arm_copy_private_bfd_data (bfd * sr
 		{
 		  /* xgettext:c-format */
 		  _bfd_error_handler (_("\
-Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"),
+warning: clearing the interworking flag of %pB because non-interworking code in %pB has been linked with it"),
 				      dest, src);
 		}
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-aux.c ./bfd/coff-aux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-aux.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-aux.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,145 +0,0 @@
-/* BFD back-end for Apple M68K COFF A/UX 3.x files.
-   Copyright (C) 1996-2018 Free Software Foundation, Inc.
-   Written by Richard Henderson <rth@tamu.edu>.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGET_SYM	m68k_coff_aux_vec
-#define TARGET_NAME	"coff-m68k-aux"
-
-#ifndef TARG_AUX
-#define TARG_AUX
-#endif
-
-#define COFF_LONG_FILENAMES
-
-/* 4k pages */
-#define COFF_PAGE_SIZE 0x1000
-
-/* On AUX, a STYP_NOLOAD|STYP_BSS section is part of a shared library.  */
-#define BSS_NOLOAD_IS_SHARED_LIBRARY
-
-#define STATIC_RELOCS
-
-#define COFF_COMMON_ADDEND
-
-#include "sysdep.h"
-#include "bfd.h"
-
-#define coff_link_add_one_symbol coff_m68k_aux_link_add_one_symbol
-static bfd_boolean
-coff_m68k_aux_link_add_one_symbol
-  (struct bfd_link_info *, bfd *, const char *, flagword, asection *,
-   bfd_vma, const char *, bfd_boolean, bfd_boolean,
-   struct bfd_link_hash_entry **);
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata	NULL
-#endif
-
-#include "coff/aux-coff.h"  /* override coff/internal.h and coff/m68k.h */
-#include "coff-m68k.c"
-
-/* We need non-absolute symbols to override absolute symbols.  This
-   mirrors Apple's "solution" to let a static library symbol override
-   a shared library symbol.  On the whole not a good thing, given how
-   shared libraries work here, but can work if you are careful with
-   what you include in the shared object.  */
-
-static bfd_boolean
-coff_m68k_aux_link_add_one_symbol (struct bfd_link_info *info,
-				   bfd *abfd,
-				   const char *name,
-				   flagword flags,
-				   asection *section,
-				   bfd_vma value,
-				   const char *string,
-				   bfd_boolean copy,
-				   bfd_boolean collect,
-				   struct bfd_link_hash_entry **hashp)
-{
-  struct bfd_link_hash_entry *h, *inh, *t;
-
-  if ((flags & (BSF_WARNING | BSF_CONSTRUCTOR | BSF_WEAK)) == 0
-      && !bfd_is_und_section (section)
-      && !bfd_is_com_section (section))
-    {
-      /* The new symbol is a definition or an indirect definition */
-
-      /* This bit copied from linker.c */
-      if (hashp != NULL && *hashp != NULL)
-	h = *hashp;
-      else
-	{
-	  h = bfd_link_hash_lookup (info->hash, name, TRUE, copy, FALSE);
-	  if (h == NULL)
-	    {
-	      if (hashp != NULL)
-		*hashp = NULL;
-	      return FALSE;
-	    }
-	}
-
-      if (hashp != (struct bfd_link_hash_entry **) NULL)
-	*hashp = h;
-      /* end duplication from linker.c */
-
-      t = h;
-      inh = NULL;
-      if (h->type == bfd_link_hash_indirect)
-	{
-	  inh = h->u.i.link;
-	  t = inh;
-	}
-
-      if (t->type == bfd_link_hash_defined)
-	{
-	  asection *msec = t->u.def.section;
-	  bfd_boolean special = FALSE;
-
-	  if (bfd_is_abs_section (msec) && !bfd_is_abs_section (section))
-	    {
-	      t->u.def.section = section;
-	      t->u.def.value = value;
-	      special = TRUE;
-	    }
-	  else if (bfd_is_abs_section (section) && !bfd_is_abs_section (msec))
-	    special = TRUE;
-
-	  if (special)
-	    {
-	      if (info->notice_all
-		  || (info->notice_hash != NULL
-		      && bfd_hash_lookup (info->notice_hash, name,
-					  FALSE, FALSE) != NULL))
-		{
-		  if (!(*info->callbacks->notice) (info, h, inh,
-						   abfd, section, value, flags))
-		    return FALSE;
-		}
-
-	      return TRUE;
-	    }
-	}
-    }
-
-  /* If we didn't exit early, finish processing in the generic routine */
-  return _bfd_generic_link_add_one_symbol (info, abfd, name, flags, section,
-					   value, string, copy, collect,
-					   hashp);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coffcode.h ./bfd/coffcode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coffcode.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coffcode.h	2018-07-10 02:06:11.000000000 +0000
@@ -32,19 +32,14 @@ SECTION
 
 	Coff in all its varieties is implemented with a few common
 	files and a number of implementation specific files. For
-	example, The 88k bcs coff format is implemented in the file
-	@file{coff-m88k.c}. This file @code{#include}s
-	@file{coff/m88k.h} which defines the external structure of the
-	coff format for the 88k, and @file{coff/internal.h} which
-	defines the internal structure. @file{coff-m88k.c} also
-	defines the relocations used by the 88k format
+	example, the i386 coff format is implemented in the file
+	@file{coff-i386.c}.  This file @code{#include}s
+	@file{coff/i386.h} which defines the external structure of the
+	coff format for the i386, and @file{coff/internal.h} which
+	defines the internal structure. @file{coff-i386.c} also
+	defines the relocations used by the i386 coff format
 	@xref{Relocations}.
 
-	The Intel i960 processor version of coff is implemented in
-	@file{coff-i960.c}. This file has the same structure as
-	@file{coff-m88k.c}, except that it includes @file{coff/i960.h}
-	rather than @file{coff-m88k.h}.
-
 SUBSECTION
 	Porting to a new version of coff
 
@@ -97,15 +92,6 @@ SUBSUBSECTION
 	Some of the Coff targets then also have additional routines in
 	the target source file itself.
 
-	For example, @file{coff-i960.c} includes
-	@file{coff/internal.h} and @file{coff/i960.h}.  It then
-	defines a few constants, such as @code{I960}, and includes
-	@file{coffcode.h}.  Since the i960 has complex relocation
-	types, @file{coff-i960.c} also includes some code to
-	manipulate the i960 relocs.  This code is not in
-	@file{coffcode.h} because it would not be used by any other
-	target.
-
 SUBSUBSECTION
 	Coff long section names
 
@@ -965,7 +951,7 @@ handle_COMDAT (bfd * abfd,
 	  /* PR 17512 file: 078-11867-0.004  */
 	  if (symname == NULL)
 	    {
-	      _bfd_error_handler (_("%B: unable to load COMDAT section name"),
+	      _bfd_error_handler (_("%pB: unable to load COMDAT section name"),
 				  abfd);
 	      break;
 	    }
@@ -1000,7 +986,7 @@ handle_COMDAT (bfd * abfd,
 		  {
 		    /* Malformed input files can trigger this test.
 		       cf PR 21781.  */
-		    _bfd_error_handler (_("%B: error: unexpected symbol '%s' in COMDAT section"),
+		    _bfd_error_handler (_("%pB: error: unexpected symbol '%s' in COMDAT section"),
 					abfd, symname);
 		    goto breakloop;
 		  }
@@ -1012,7 +998,7 @@ handle_COMDAT (bfd * abfd,
 
 		if (isym.n_sclass == C_STAT && strcmp (name, symname) != 0)
 		  /* xgettext:c-format */
-		  _bfd_error_handler (_("%B: warning: COMDAT symbol '%s'"
+		  _bfd_error_handler (_("%pB: warning: COMDAT symbol '%s'"
 					" does not match section name '%s'"),
 				      abfd, symname, name);
 
@@ -1022,7 +1008,7 @@ handle_COMDAT (bfd * abfd,
 		if (esym + bfd_coff_symesz (abfd) >= esymend)
 		  {
 		    /* xgettext:c-format */
-		    _bfd_error_handler (_("%B: warning: No symbol for"
+		    _bfd_error_handler (_("%pB: warning: no symbol for"
 					  " section '%s' found"),
 					abfd, symname);
 		    break;
@@ -1248,9 +1234,9 @@ styp_to_sec_flags (bfd *abfd,
 	     variable as this will allow some .sys files generate by
 	     other toolchains to be processed.  See bugzilla issue 196.  */
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: Warning: Ignoring section flag"
-				" IMAGE_SCN_MEM_NOT_PAGED in section %s"),
-			      abfd, name);
+	  _bfd_error_handler (_("%pB: warning: ignoring section flag"
+				" %s in section %s"),
+			      abfd, "IMAGE_SCN_MEM_NOT_PAGED", name);
 	  break;
 	case IMAGE_SCN_MEM_EXECUTE:
 	  sec_flags |= SEC_CODE;
@@ -1317,7 +1303,7 @@ styp_to_sec_flags (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B (%s): Section flag %s (%#lx) ignored"),
+	    (_("%pB (%s): section flag %s (%#lx) ignored"),
 	     abfd, name, unhandled, flag);
 	  result = FALSE;
 	}
@@ -1664,19 +1650,6 @@ coff_bad_format_hook (bfd * abfd ATTRIBU
   if (BADMAG (*internal_f))
     return FALSE;
 
-  /* If the optional header is NULL or not the correct size then
-     quit; the only difference I can see between m88k dgux headers (MC88DMAGIC)
-     and Intel 960 readwrite headers (I960WRMAGIC) is that the
-     optional header is of a different size.
-
-     But the mips keeps extra stuff in it's opthdr, so dont check
-     when doing that.  */
-
-#if defined(M88) || defined(I960)
-  if (internal_f->f_opthdr != 0 && bfd_coff_aoutsz (abfd) != internal_f->f_opthdr)
-    return FALSE;
-#endif
-
   return TRUE;
 }
 
@@ -1848,12 +1821,6 @@ coff_set_alignment_hook (bfd * abfd ATTR
   struct internal_scnhdr *hdr = (struct internal_scnhdr *) scnhdr;
   unsigned int i;
 
-#ifdef I960
-  /* Extract ALIGN from 2**ALIGN stored in section header.  */
-  for (i = 0; i < 32; i++)
-    if ((1 << i) >= hdr->s_align)
-      break;
-#endif
 #ifdef COFF_DECODE_ALIGNMENT
   i = COFF_DECODE_ALIGNMENT(hdr->s_flags);
 #endif
@@ -1947,7 +1914,7 @@ coff_set_alignment_hook (bfd * abfd ATTR
     }
   else if (hdr->s_nreloc == 0xffff)
     _bfd_error_handler
-      (_("%B: warning: claims to have 0xffff relocs, without overflow"),
+      (_("%pB: warning: claims to have 0xffff relocs, without overflow"),
        abfd);
 }
 #undef ALIGN_SET
@@ -1985,8 +1952,12 @@ coff_set_alignment_hook (bfd *abfd, asec
 
 #else /* ! RS6000COFF_C */
 
-#define coff_set_alignment_hook \
-  ((void (*) (bfd *, asection *, void *)) bfd_void)
+static void
+coff_set_alignment_hook (bfd *abfd ATTRIBUTE_UNUSED,
+			 asection *section ATTRIBUTE_UNUSED,
+			 void *scnhdr ATTRIBUTE_UNUSED)
+{
+}
 
 #endif /* ! RS6000COFF_C */
 #endif /* ! COFF_WITH_PE */
@@ -2132,7 +2103,7 @@ coff_set_arch_mach_hook (bfd *abfd, void
     case I386MAGIC:
     case I386PTXMAGIC:
     case I386AIXMAGIC:		/* Danbury PS/2 AIX C Compiler.  */
-    case LYNXCOFFMAGIC:		/* Shadows the m68k Lynx number below, sigh.  */
+    case LYNXCOFFMAGIC:
       arch = bfd_arch_i386;
       break;
 #endif
@@ -2174,30 +2145,6 @@ coff_set_arch_mach_hook (bfd *abfd, void
 	}
       break;
 #endif
-#ifdef MC68MAGIC
-    case MC68MAGIC:
-    case M68MAGIC:
-#ifdef MC68KBCSMAGIC
-    case MC68KBCSMAGIC:
-#endif
-#ifdef APOLLOM68KMAGIC
-    case APOLLOM68KMAGIC:
-#endif
-#ifdef LYNXCOFFMAGIC
-    case LYNXCOFFMAGIC:
-#endif
-      arch = bfd_arch_m68k;
-      machine = bfd_mach_m68020;
-      break;
-#endif
-#ifdef MC88MAGIC
-    case MC88MAGIC:
-    case MC88DMAGIC:
-    case MC88OMAGIC:
-      arch = bfd_arch_m88k;
-      machine = 88100;
-      break;
-#endif
 #ifdef Z80MAGIC
     case Z80MAGIC:
       arch = bfd_arch_z80;
@@ -2231,47 +2178,6 @@ coff_set_arch_mach_hook (bfd *abfd, void
 	}
       break;
 #endif
-#ifdef I860
-    case I860MAGIC:
-      arch = bfd_arch_i860;
-      break;
-#endif
-#ifdef I960
-#ifdef I960ROMAGIC
-    case I960ROMAGIC:
-    case I960RWMAGIC:
-      arch = bfd_arch_i960;
-      switch (F_I960TYPE & internal_f->f_flags)
-	{
-	default:
-	case F_I960CORE:
-	  machine = bfd_mach_i960_core;
-	  break;
-	case F_I960KB:
-	  machine = bfd_mach_i960_kb_sb;
-	  break;
-	case F_I960MC:
-	  machine = bfd_mach_i960_mc;
-	  break;
-	case F_I960XA:
-	  machine = bfd_mach_i960_xa;
-	  break;
-	case F_I960CA:
-	  machine = bfd_mach_i960_ca;
-	  break;
-	case F_I960KA:
-	  machine = bfd_mach_i960_ka_sa;
-	  break;
-	case F_I960JX:
-	  machine = bfd_mach_i960_jx;
-	  break;
-	case F_I960HX:
-	  machine = bfd_mach_i960_hx;
-	  break;
-	}
-      break;
-#endif
-#endif
 
 #ifdef RS6000COFF_C
 #ifdef XCOFF64
@@ -2349,57 +2255,6 @@ coff_set_arch_mach_hook (bfd *abfd, void
       break;
 #endif
 
-#ifdef WE32KMAGIC
-    case WE32KMAGIC:
-      arch = bfd_arch_we32k;
-      break;
-#endif
-
-#ifdef H8300MAGIC
-    case H8300MAGIC:
-      arch = bfd_arch_h8300;
-      machine = bfd_mach_h8300;
-      /* !! FIXME this probably isn't the right place for this.  */
-      abfd->flags |= BFD_IS_RELAXABLE;
-      break;
-#endif
-
-#ifdef H8300HMAGIC
-    case H8300HMAGIC:
-      arch = bfd_arch_h8300;
-      machine = bfd_mach_h8300h;
-      /* !! FIXME this probably isn't the right place for this.  */
-      abfd->flags |= BFD_IS_RELAXABLE;
-      break;
-#endif
-
-#ifdef H8300SMAGIC
-    case H8300SMAGIC:
-      arch = bfd_arch_h8300;
-      machine = bfd_mach_h8300s;
-      /* !! FIXME this probably isn't the right place for this.  */
-      abfd->flags |= BFD_IS_RELAXABLE;
-      break;
-#endif
-
-#ifdef H8300HNMAGIC
-    case H8300HNMAGIC:
-      arch = bfd_arch_h8300;
-      machine = bfd_mach_h8300hn;
-      /* !! FIXME this probably isn't the right place for this.  */
-      abfd->flags |= BFD_IS_RELAXABLE;
-      break;
-#endif
-
-#ifdef H8300SNMAGIC
-    case H8300SNMAGIC:
-      arch = bfd_arch_h8300;
-      machine = bfd_mach_h8300sn;
-      /* !! FIXME this probably isn't the right place for this.  */
-      abfd->flags |= BFD_IS_RELAXABLE;
-      break;
-#endif
-
 #ifdef SH_ARCH_MAGIC_BIG
     case SH_ARCH_MAGIC_BIG:
     case SH_ARCH_MAGIC_LITTLE:
@@ -2416,12 +2271,6 @@ coff_set_arch_mach_hook (bfd *abfd, void
       break;
 #endif
 
-#ifdef H8500MAGIC
-    case H8500MAGIC:
-      arch = bfd_arch_h8500;
-      break;
-#endif
-
 #ifdef SPARCMAGIC
     case SPARCMAGIC:
 #ifdef LYNXCOFFMAGIC
@@ -2463,7 +2312,7 @@ coff_set_arch_mach_hook (bfd *abfd, void
 	default:
 	  arch = bfd_arch_obscure;
 	  _bfd_error_handler
-	    (_("Unrecognized TI COFF target id '0x%x'"),
+	    (_("unrecognized TI COFF target id '0x%x'"),
 	     internal_f->f_target_id);
 	  break;
 	}
@@ -2482,12 +2331,6 @@ coff_set_arch_mach_hook (bfd *abfd, void
       break;
 #endif
 
-#ifdef W65MAGIC
-    case W65MAGIC:
-      arch = bfd_arch_w65;
-      break;
-#endif
-
     default:			/* Unreadable input file type.  */
       arch = bfd_arch_obscure;
       break;
@@ -2497,20 +2340,16 @@ coff_set_arch_mach_hook (bfd *abfd, void
   return TRUE;
 }
 
-#ifdef SYMNAME_IN_DEBUG
-
 static bfd_boolean
-symname_in_debug_hook (bfd * abfd ATTRIBUTE_UNUSED, struct internal_syment *sym)
+symname_in_debug_hook (bfd *abfd ATTRIBUTE_UNUSED,
+		       struct internal_syment *sym ATTRIBUTE_UNUSED)
 {
+#ifdef SYMNAME_IN_DEBUG
   return SYMNAME_IN_DEBUG (sym) != 0;
-}
-
 #else
-
-#define symname_in_debug_hook \
-  (bfd_boolean (*) (bfd *, struct internal_syment *)) bfd_false
-
+  return FALSE;
 #endif
+}
 
 #ifdef RS6000COFF_C
 
@@ -2552,31 +2391,7 @@ coff_pointerize_aux_hook (bfd *abfd ATTR
 }
 
 #else
-#ifdef I960
-
-/* We don't want to pointerize bal entries.  */
-
-static bfd_boolean
-coff_pointerize_aux_hook (bfd *abfd ATTRIBUTE_UNUSED,
-			  combined_entry_type *table_base ATTRIBUTE_UNUSED,
-			  combined_entry_type *symbol,
-			  unsigned int indaux,
-			  combined_entry_type *aux ATTRIBUTE_UNUSED)
-{
-  /* Return TRUE if we don't want to pointerize this aux entry, which
-     is the case for the lastfirst aux entry for a C_LEAFPROC symbol.  */
-  return (indaux == 1
-	  && symbol->is_sym
-	  && (symbol->u.syment.n_sclass == C_LEAFPROC
-	      || symbol->u.syment.n_sclass == C_LEAFSTAT
-	      || symbol->u.syment.n_sclass == C_LEAFEXT));
-}
-
-#else /* ! I960 */
-
 #define coff_pointerize_aux_hook 0
-
-#endif /* ! I960 */
 #endif /* ! RS6000COFF_C */
 
 /* Print an aux entry.  This returns TRUE if it has printed it.  */
@@ -2781,7 +2596,7 @@ coff_write_relocs (bfd * abfd, int first
 		      {
 			bfd_set_error (bfd_error_bad_value);
 			/* xgettext:c-format */
-			_bfd_error_handler (_("%B: reloc against a non-existent"
+			_bfd_error_handler (_("%pB: reloc against a non-existent"
 					      " symbol index: %ld"),
 					    abfd, n.r_symndx);
 			return FALSE;
@@ -2856,32 +2671,6 @@ coff_set_flags (bfd * abfd,
       return TRUE;
 #endif
 
-#ifdef I960ROMAGIC
-    case bfd_arch_i960:
-
-      {
-	unsigned flags;
-
-	*magicp = I960ROMAGIC;
-
-	switch (bfd_get_mach (abfd))
-	  {
-	  case bfd_mach_i960_core:  flags = F_I960CORE; break;
-	  case bfd_mach_i960_kb_sb: flags = F_I960KB;	break;
-	  case bfd_mach_i960_mc:    flags = F_I960MC;	break;
-	  case bfd_mach_i960_xa:    flags = F_I960XA;	break;
-	  case bfd_mach_i960_ca:    flags = F_I960CA;	break;
-	  case bfd_mach_i960_ka_sa: flags = F_I960KA;	break;
-	  case bfd_mach_i960_jx:    flags = F_I960JX;	break;
-	  case bfd_mach_i960_hx:    flags = F_I960HX;	break;
-	  default:		    return FALSE;
-	  }
-	*flagsp = flags;
-	return TRUE;
-      }
-      break;
-#endif
-
 #ifdef TIC30MAGIC
     case bfd_arch_tic30:
       *magicp = TIC30MAGIC;
@@ -2981,57 +2770,12 @@ coff_set_flags (bfd * abfd,
       return TRUE;
 #endif
 
-#ifdef I860MAGIC
-    case bfd_arch_i860:
-      *magicp = I860MAGIC;
-      return TRUE;
-#endif
-
 #ifdef IA64MAGIC
     case bfd_arch_ia64:
       *magicp = IA64MAGIC;
       return TRUE;
 #endif
 
-#ifdef MC68MAGIC
-    case bfd_arch_m68k:
-#ifdef APOLLOM68KMAGIC
-      *magicp = APOLLO_COFF_VERSION_NUMBER;
-#else
-      /* NAMES_HAVE_UNDERSCORE may be defined by coff-u68k.c.  */
-#ifdef NAMES_HAVE_UNDERSCORE
-      *magicp = MC68KBCSMAGIC;
-#else
-      *magicp = MC68MAGIC;
-#endif
-#endif
-#ifdef LYNXOS
-      /* Just overwrite the usual value if we're doing Lynx.  */
-      *magicp = LYNXCOFFMAGIC;
-#endif
-      return TRUE;
-#endif
-
-#ifdef MC88MAGIC
-    case bfd_arch_m88k:
-      *magicp = MC88OMAGIC;
-      return TRUE;
-#endif
-
-#ifdef H8300MAGIC
-    case bfd_arch_h8300:
-      switch (bfd_get_mach (abfd))
-	{
-	case bfd_mach_h8300:   *magicp = H8300MAGIC;   return TRUE;
-	case bfd_mach_h8300h:  *magicp = H8300HMAGIC;  return TRUE;
-	case bfd_mach_h8300s:  *magicp = H8300SMAGIC;  return TRUE;
-	case bfd_mach_h8300hn: *magicp = H8300HNMAGIC; return TRUE;
-	case bfd_mach_h8300sn: *magicp = H8300SNMAGIC; return TRUE;
-	default: break;
-	}
-      break;
-#endif
-
 #ifdef SH_ARCH_MAGIC_BIG
     case bfd_arch_sh:
 #ifdef COFF_IMAGE_WITH_PE
@@ -3061,19 +2805,6 @@ coff_set_flags (bfd * abfd,
       return TRUE;
 #endif
 
-#ifdef H8500MAGIC
-    case bfd_arch_h8500:
-      *magicp = H8500MAGIC;
-      return TRUE;
-      break;
-#endif
-
-#ifdef WE32KMAGIC
-    case bfd_arch_we32k:
-      *magicp = WE32KMAGIC;
-      return TRUE;
-#endif
-
 #ifdef RS6000COFF_C
     case bfd_arch_rs6000:
 #ifndef PPCMAGIC
@@ -3090,12 +2821,6 @@ coff_set_flags (bfd * abfd,
       return TRUE;
 #endif
 
-#ifdef W65MAGIC
-    case bfd_arch_w65:
-      *magicp = W65MAGIC;
-      return TRUE;
-#endif
-
     default:			/* Unknown architecture.  */
       /* Fall through to "return FALSE" below, to avoid
 	 "statement never reached" errors on the one below.  */
@@ -3146,9 +2871,7 @@ sort_by_secaddr (const void * arg1, cons
 
 /* Calculate the file position for each section.  */
 
-#ifndef I960
 #define ALIGN_SECTIONS_IN_FILE
-#endif
 #if defined(TIC80COFF) || defined(TICOFF)
 #undef ALIGN_SECTIONS_IN_FILE
 #endif
@@ -3184,7 +2907,7 @@ coff_compute_section_file_positions (bfd
 	  bfd_set_error (bfd_error_file_too_big);
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: page size is too large (0x%x)"), abfd, page_size);
+	    (_("%pB: page size is too large (0x%x)"), abfd, page_size);
 	  return FALSE;
 	}
     }
@@ -3344,7 +3067,7 @@ coff_compute_section_file_positions (bfd
       bfd_set_error (bfd_error_file_too_big);
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: too many sections (%d)"), abfd, target_index);
+	(_("%pB: too many sections (%d)"), abfd, target_index);
       return FALSE;
     }
 
@@ -3389,9 +3112,7 @@ coff_compute_section_file_positions (bfd
 #endif
 
       /* Align the sections in the file to the same boundary on
-	 which they are aligned in virtual memory.  I960 doesn't
-	 do this (FIXME) so we can stay in sync with Intel.  960
-	 doesn't yet page from files...  */
+	 which they are aligned in virtual memory.  */
 #ifdef ALIGN_SECTIONS_IN_FILE
       if ((abfd->flags & EXEC_P) != 0)
 	{
@@ -3765,7 +3486,7 @@ coff_write_object_contents (bfd * abfd)
 		  bfd_set_error (bfd_error_file_too_big);
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: section %A: string table overflow at offset %ld"),
+		    (_("%pB: section %pA: string table overflow at offset %ld"),
 		    abfd, current, (unsigned long) string_size);
 		  return FALSE;
 		}
@@ -3855,11 +3576,6 @@ coff_write_object_contents (bfd * abfd)
       else if (!strcmp (current->name, _BSS))
 	bss_sec = current;
 
-#ifdef I960
-      section.s_align = (current->alignment_power
-			 ? 1 << current->alignment_power
-			 : 0);
-#endif
 #ifdef COFF_ENCODE_ALIGNMENT
       COFF_ENCODE_ALIGNMENT(section, current->alignment_power);
       if ((unsigned int)COFF_DECODE_ALIGNMENT(section.s_flags)
@@ -3870,7 +3586,7 @@ coff_write_object_contents (bfd * abfd)
 
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B:%s section %s: alignment 2**%u not representable"),
+	    (_("%pB:%s section %s: alignment 2**%u not representable"),
 	    abfd, warn ? " warning:" : "", current->name,
 	    current->alignment_power);
 	  if (!warn)
@@ -4118,41 +3834,6 @@ coff_write_object_contents (bfd * abfd)
     internal_a.magic = TIC80_ARCH_MAGIC;
 #define __A_MAGIC_SET__
 #endif /* TIC80 */
-#ifdef I860
-    /* FIXME: What are the a.out magic numbers for the i860?  */
-    internal_a.magic = 0;
-#define __A_MAGIC_SET__
-#endif /* I860 */
-#ifdef I960
-    internal_a.magic = (magic == I960ROMAGIC ? NMAGIC : OMAGIC);
-#define __A_MAGIC_SET__
-#endif /* I960 */
-#if M88
-#define __A_MAGIC_SET__
-    internal_a.magic = PAGEMAGICBCS;
-#endif /* M88 */
-
-#if APOLLO_M68
-#define __A_MAGIC_SET__
-    internal_a.magic = APOLLO_COFF_VERSION_NUMBER;
-#endif
-
-#if defined(M68) || defined(WE32K) || defined(M68K)
-#define __A_MAGIC_SET__
-#if defined(LYNXOS)
-    internal_a.magic = LYNXCOFFMAGIC;
-#else
-#if defined(TARG_AUX)
-    internal_a.magic = (abfd->flags & D_PAGED ? PAGEMAGICPEXECPAGED :
-			abfd->flags & WP_TEXT ? PAGEMAGICPEXECSWAPPED :
-			PAGEMAGICEXECSWAPPED);
-#else
-#if defined (PAGEMAGICPEXECPAGED)
-    internal_a.magic = PAGEMAGICPEXECPAGED;
-#endif
-#endif /* TARG_AUX */
-#endif /* LYNXOS */
-#endif /* M68 || WE32K || M68K */
 
 #if defined(ARM)
 #define __A_MAGIC_SET__
@@ -4584,12 +4265,15 @@ coff_slurp_line_table (bfd *abfd, asecti
   bfd_boolean have_func;
   bfd_boolean ret = TRUE;
 
+  if (asect->lineno_count == 0)
+    return TRUE;
+
   BFD_ASSERT (asect->lineno == NULL);
 
   if (asect->lineno_count > asect->size)
     {
       _bfd_error_handler
-	(_("%B: warning: line number count (%#lx) exceeds section size (%#lx)"),
+	(_("%pB: warning: line number count (%#lx) exceeds section size (%#lx)"),
 	 abfd, (unsigned long) asect->lineno_count, (unsigned long) asect->size);
       return FALSE;
     }
@@ -4604,7 +4288,7 @@ coff_slurp_line_table (bfd *abfd, asecti
   if (native_lineno == NULL)
     {
       _bfd_error_handler
-	(_("%B: warning: line number table read failed"), abfd);
+	(_("%pB: warning: line number table read failed"), abfd);
       bfd_release (abfd, lineno_cache);
       return FALSE;
     }
@@ -4638,7 +4322,7 @@ coff_slurp_line_table (bfd *abfd, asecti
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: warning: illegal symbol index 0x%lx in line number entry %d"),
+		(_("%pB: warning: illegal symbol index 0x%lx in line number entry %d"),
 		 abfd, symndx, counter);
 	      cache_ptr->line_number = -1;
 	      ret = FALSE;
@@ -4652,7 +4336,7 @@ coff_slurp_line_table (bfd *abfd, asecti
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: warning: illegal symbol index 0x%lx in line number entry %d"),
+		(_("%pB: warning: illegal symbol index 0x%lx in line number entry %d"),
 		 abfd, symndx, counter);
 	      cache_ptr->line_number = -1;
 	      ret = FALSE;
@@ -4666,7 +4350,7 @@ coff_slurp_line_table (bfd *abfd, asecti
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: warning: illegal symbol in line number entry %d"),
+		(_("%pB: warning: illegal symbol in line number entry %d"),
 		 abfd, counter);
 	      cache_ptr->line_number = -1;
 	      ret = FALSE;
@@ -4679,7 +4363,7 @@ coff_slurp_line_table (bfd *abfd, asecti
 	  if (sym->lineno != NULL)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: warning: duplicate line number information for `%s'"),
+	      (_("%pB: warning: duplicate line number information for `%s'"),
 	       abfd, bfd_asymbol_name (&sym->symbol));
 
 	  sym->lineno = cache_ptr;
@@ -4820,11 +4504,6 @@ coff_slurp_symbol_table (bfd * abfd)
 
 	  switch (src->u.syment.n_sclass)
 	    {
-#ifdef I960
-	    case C_LEAFEXT:
-	      /* Fall through to next case.  */
-#endif
-
 	    case C_EXT:
 	    case C_WEAKEXT:
 #if defined ARM
@@ -4918,9 +4597,6 @@ coff_slurp_symbol_table (bfd * abfd)
 	      break;
 
 	    case C_STAT:	 /* Static.  */
-#ifdef I960
-	    case C_LEAFSTAT:	 /* Static leaf procedure.  */
-#endif
 #if defined ARM
 	    case C_THUMBSTAT:    /* Thumb static.  */
 	    case C_THUMBLABEL:   /* Thumb label.  */
@@ -4958,11 +4634,6 @@ coff_slurp_symbol_table (bfd * abfd)
 	    case C_REGPARM:	/* Register parameter.  */
 	    case C_REG:		/* register variable.  */
 	      /* C_AUTOARG conflicts with TI COFF C_UEXT.  */
-#if !defined (TIC80COFF) && !defined (TICOFF)
-#ifdef C_AUTOARG
-	    case C_AUTOARG:	/* 960-specific storage class.  */
-#endif
-#endif
 	    case C_TPDEF:	/* Type definition.  */
 	    case C_ARG:
 	    case C_AUTO:	/* Automatic variable.  */
@@ -5100,7 +4771,7 @@ coff_slurp_symbol_table (bfd * abfd)
 	    default:
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: Unrecognized storage class %d for %s symbol `%s'"),
+		(_("%pB: unrecognized storage class %d for %s symbol `%s'"),
 		 abfd, src->u.syment.n_sclass,
 		 dst->symbol.section->name, dst->symbol.name);
 	      ret = FALSE;
@@ -5158,9 +4829,6 @@ coff_classify_symbol (bfd *abfd,
     {
     case C_EXT:
     case C_WEAKEXT:
-#ifdef I960
-    case C_LEAFEXT:
-#endif
 #ifdef ARM
     case C_THUMBEXT:
     case C_THUMBEXTFUNC:
@@ -5233,7 +4901,7 @@ coff_classify_symbol (bfd *abfd,
 
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("warning: %B: local symbol `%s' has no section"),
+	(_("warning: %pB: local symbol `%s' has no section"),
 	 abfd, _bfd_coff_internal_syment_name (abfd, syment, buf));
     }
 
@@ -5262,9 +4930,8 @@ SUBSUBSECTION
 
 	o The reloc index is turned into a pointer to a howto
 	structure, in a back end specific way. For instance, the 386
-	and 960 use the @code{r_type} to directly produce an index
-	into a howto table vector; the 88k subtracts a number from the
-	@code{r_type} field and creates an addend field.
+	uses the @code{r_type} to directly produce an index
+	into a howto table vector.
 */
 
 #ifndef CALC_ADDEND
@@ -5340,7 +5007,7 @@ coff_slurp_reloc_table (bfd * abfd, sec_
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: warning: illegal symbol index %ld in relocs"),
+		(_("%pB: warning: illegal symbol index %ld in relocs"),
 		 abfd, dst.r_symndx);
 	      cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
 	      ptr = NULL;
@@ -5380,8 +5047,8 @@ coff_slurp_reloc_table (bfd * abfd, sec_
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: illegal relocation type %d at address %#Lx"),
-	     abfd, dst.r_type, dst.r_vaddr);
+	    (_("%pB: illegal relocation type %d at address %#" PRIx64),
+	     abfd, dst.r_type, (uint64_t) dst.r_vaddr);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -5864,6 +5531,9 @@ coff_bigobj_swap_aux_in (bfd *abfd,
   AUXENT_BIGOBJ *ext = (AUXENT_BIGOBJ *) ext1;
   union internal_auxent *in = (union internal_auxent *) in1;
 
+  /* Make sure that all fields in the aux structure are
+     initialised.  */
+  memset (in, 0, sizeof * in);
   switch (in_class)
     {
     case C_FILE:
@@ -6024,7 +5694,7 @@ static bfd_coff_backend_data bigobj_swap
 #endif
 
 #ifndef coff_bfd_is_target_special_symbol
-#define coff_bfd_is_target_special_symbol   ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define coff_bfd_is_target_special_symbol   _bfd_bool_bfd_asymbol_false
 #endif
 
 #ifndef coff_read_minisymbols
@@ -6082,6 +5752,10 @@ static bfd_coff_backend_data bigobj_swap
 #define coff_bfd_define_common_symbol	    bfd_generic_define_common_symbol
 #endif
 
+#ifndef coff_bfd_link_hide_symbol
+#define coff_bfd_link_hide_symbol	    _bfd_generic_link_hide_symbol
+#endif
+
 #ifndef coff_bfd_define_start_stop
 #define coff_bfd_define_start_stop	    bfd_generic_define_start_stop
 #endif
@@ -6113,14 +5787,24 @@ const bfd_target VAR =							\
   bfd_getb32, bfd_getb_signed_32, bfd_putb32,				\
   bfd_getb16, bfd_getb_signed_16, bfd_putb16,				\
 									\
-	/* bfd_check_format.  */					\
-  { _bfd_dummy_target, coff_object_p, bfd_generic_archive_p,		\
-    _bfd_dummy_target },						\
-	/* bfd_set_format.  */						\
-  { bfd_false, coff_mkobject, _bfd_generic_mkarchive, bfd_false },	\
-	/* bfd_write_contents.  */					\
-  { bfd_false, coff_write_object_contents, _bfd_write_archive_contents,	\
-    bfd_false },							\
+  {				/* bfd_check_format.  */		\
+    _bfd_dummy_target,							\
+    coff_object_p,							\
+    bfd_generic_archive_p,						\
+    _bfd_dummy_target							\
+  },									\
+  {				/* bfd_set_format.  */			\
+    _bfd_bool_bfd_false_error,						\
+    coff_mkobject,							\
+    _bfd_generic_mkarchive,						\
+    _bfd_bool_bfd_false_error						\
+  },									\
+  {				/* bfd_write_contents.  */		\
+    _bfd_bool_bfd_false_error,						\
+    coff_write_object_contents,						\
+    _bfd_write_archive_contents,					\
+    _bfd_bool_bfd_false_error						\
+  },									\
 									\
   BFD_JUMP_TABLE_GENERIC (coff),					\
   BFD_JUMP_TABLE_COPY (coff),						\
@@ -6164,14 +5848,24 @@ const bfd_target VAR =							\
   bfd_getb32, bfd_getb_signed_32, bfd_putb32,				\
   bfd_getb16, bfd_getb_signed_16, bfd_putb16,				\
 									\
-	/* bfd_check_format.  */					\
-  { _bfd_dummy_target, coff_object_p, bfd_generic_archive_p,		\
-    _bfd_dummy_target },						\
-	/* bfd_set_format.  */						\
-  { bfd_false, coff_mkobject, _bfd_generic_mkarchive, bfd_false },	\
-	/* bfd_write_contents.  */					\
-  { bfd_false, coff_write_object_contents, _bfd_write_archive_contents,	\
-    bfd_false },							\
+  {				/* bfd_check_format.  */		\
+    _bfd_dummy_target,							\
+    coff_object_p,							\
+    bfd_generic_archive_p,						\
+    _bfd_dummy_target							\
+  },									\
+  {				/* bfd_set_format.  */			\
+    _bfd_bool_bfd_false_error,						\
+    coff_mkobject,							\
+    _bfd_generic_mkarchive,						\
+    _bfd_bool_bfd_false_error						\
+  },									\
+  {				/* bfd_write_contents.  */		\
+    _bfd_bool_bfd_false_error,						\
+    coff_write_object_contents,						\
+    _bfd_write_archive_contents,					\
+    _bfd_bool_bfd_false_error						\
+  },									\
 									\
   BFD_JUMP_TABLE_GENERIC (coff),					\
   BFD_JUMP_TABLE_COPY (coff),						\
@@ -6213,14 +5907,25 @@ const bfd_target VAR =							\
   bfd_getl64, bfd_getl_signed_64, bfd_putl64,				\
   bfd_getl32, bfd_getl_signed_32, bfd_putl32,				\
   bfd_getl16, bfd_getl_signed_16, bfd_putl16,				\
-	/* bfd_check_format.  */					\
-  { _bfd_dummy_target, coff_object_p, bfd_generic_archive_p,		\
-    _bfd_dummy_target },						\
-       /* bfd_set_format.  */						\
-  { bfd_false, coff_mkobject, _bfd_generic_mkarchive, bfd_false },	\
-	/* bfd_write_contents.  */					\
-  { bfd_false, coff_write_object_contents, _bfd_write_archive_contents,	\
-    bfd_false },							\
+									\
+  {				/* bfd_check_format.  */		\
+    _bfd_dummy_target,							\
+    coff_object_p,							\
+    bfd_generic_archive_p,						\
+    _bfd_dummy_target							\
+  },									\
+  {				/* bfd_set_format.  */			\
+    _bfd_bool_bfd_false_error,						\
+    coff_mkobject,							\
+    _bfd_generic_mkarchive,						\
+    _bfd_bool_bfd_false_error						\
+  },									\
+  {				/* bfd_write_contents.  */		\
+    _bfd_bool_bfd_false_error,						\
+    coff_write_object_contents,						\
+    _bfd_write_archive_contents,					\
+    _bfd_bool_bfd_false_error						\
+  },									\
 									\
   BFD_JUMP_TABLE_GENERIC (coff),					\
   BFD_JUMP_TABLE_COPY (coff),						\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coffgen.c ./bfd/coffgen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coffgen.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coffgen.c	2018-07-10 02:06:11.000000000 +0000
@@ -175,7 +175,7 @@ make_a_section_from_file (bfd *abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: unable to initialize compress status for section %s"),
+		(_("%pB: unable to initialize compress status for section %s"),
 		 abfd, name);
 	      return FALSE;
 	    }
@@ -199,7 +199,7 @@ make_a_section_from_file (bfd *abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: unable to initialize decompress status for section %s"),
+		(_("%pB: unable to initialize decompress status for section %s"),
 		 abfd, name);
 	      return FALSE;
 	    }
@@ -835,7 +835,7 @@ coff_mangle_symbols (bfd *bfd_ptr)
 	  for (i = 0; i < s->u.syment.n_numaux; i++)
 	    {
 	      combined_entry_type *a = s + i + 1;
-
+	      
 	      BFD_ASSERT (! a->is_sym);
 	      if (a->fix_tag)
 		{
@@ -1547,7 +1547,9 @@ coff_pointerize_aux (bfd *abfd,
 
   if ((ISFCN (type) || ISTAG (n_sclass) || n_sclass == C_BLOCK
        || n_sclass == C_FCN)
-      && auxent->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.l > 0)
+      && auxent->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.l > 0
+      && auxent->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.l
+      < (long) obj_raw_syment_count (abfd))
     {
       auxent->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.p =
 	table_base + auxent->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.l;
@@ -1555,7 +1557,8 @@ coff_pointerize_aux (bfd *abfd,
     }
   /* A negative tagndx is meaningless, but the SCO 3.2v4 cc can
      generate one, so we must be careful to ignore it.  */
-  if (auxent->u.auxent.x_sym.x_tagndx.l > 0)
+  if ((unsigned long) auxent->u.auxent.x_sym.x_tagndx.l
+      < obj_raw_syment_count (abfd))
     {
       auxent->u.auxent.x_sym.x_tagndx.p =
 	table_base + auxent->u.auxent.x_sym.x_tagndx.l;
@@ -1646,8 +1649,8 @@ _bfd_coff_get_external_symbols (bfd *abf
 	  && size > bfd_get_file_size (abfd)))
 
     {
-      _bfd_error_handler (_("%B: corrupt symbol count: %#Lx"),
-			  abfd, obj_raw_syment_count (abfd));
+      _bfd_error_handler (_("%pB: corrupt symbol count: %#" PRIx64 ""),
+			  abfd, (uint64_t) obj_raw_syment_count (abfd));
       return FALSE;
     }
 
@@ -1655,8 +1658,10 @@ _bfd_coff_get_external_symbols (bfd *abf
   if (syms == NULL)
     {
       /* PR 21013: Provide an error message when the alloc fails.  */
-      _bfd_error_handler (_("%B: not enough memory to allocate space for %#Lx symbols of size %#Lx"),
-			  abfd, obj_raw_syment_count (abfd), symesz);
+      _bfd_error_handler (_("%pB: not enough memory to allocate space "
+			    "for %#" PRIx64 " symbols of size %#" PRIx64),
+			  abfd, (uint64_t) obj_raw_syment_count (abfd),
+			  (uint64_t) symesz);
       return FALSE;
     }
 
@@ -1722,7 +1727,7 @@ _bfd_coff_read_string_table (bfd *abfd)
     {
       _bfd_error_handler
 	/* xgettext: c-format */
-	(_("%B: bad string table size %Lu"), abfd, strsize);
+	(_("%pB: bad string table size %" PRIu64), abfd, (uint64_t) strsize);
       bfd_set_error (bfd_error_bad_value);
       return NULL;
     }
@@ -3021,7 +3026,7 @@ coff_gc_sweep (bfd *abfd ATTRIBUTE_UNUSE
 
 	  if (info->print_gc_sections && o->size != 0)
 	    /* xgettext: c-format */
-	    _bfd_error_handler (_("Removing unused section '%A' in file '%B'"),
+	    _bfd_error_handler (_("removing unused section '%pA' in file '%pB'"),
 				o, sub);
 
 #if 0
@@ -3098,7 +3103,7 @@ bfd_coff_gc_sections (bfd *abfd ATTRIBUT
   if (!bed->can_gc_sections
       || !is_coff_hash_table (info->hash))
     {
-      _bfd_error_handler(_("Warning: gc-sections option ignored"));
+      _bfd_error_handler(_("warning: gc-sections option ignored"));
       return TRUE;
     }
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-h8300.c ./bfd/coff-h8300.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-h8300.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-h8300.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,1387 +0,0 @@
-/* BFD back-end for Renesas H8/300 COFF binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Steve Chamberlain, <sac@cygnus.com>.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "bfdlink.h"
-#include "genlink.h"
-#include "coff/h8300.h"
-#include "coff/internal.h"
-#include "libcoff.h"
-#include "libiberty.h"
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (1)
-
-/* We derive a hash table from the basic BFD hash table to
-   hold entries in the function vector.  Aside from the
-   info stored by the basic hash table, we need the offset
-   of a particular entry within the hash table as well as
-   the offset where we'll add the next entry.  */
-
-struct funcvec_hash_entry
-  {
-    /* The basic hash table entry.  */
-    struct bfd_hash_entry root;
-
-    /* The offset within the vectors section where
-       this entry lives.  */
-    bfd_vma offset;
-  };
-
-struct funcvec_hash_table
-  {
-    /* The basic hash table.  */
-    struct bfd_hash_table root;
-
-    bfd *abfd;
-
-    /* Offset at which we'll add the next entry.  */
-    unsigned int offset;
-  };
-
-
-/* To lookup a value in the function vector hash table.  */
-#define funcvec_hash_lookup(table, string, create, copy) \
-  ((struct funcvec_hash_entry *) \
-   bfd_hash_lookup (&(table)->root, (string), (create), (copy)))
-
-/* The derived h8300 COFF linker table.  Note it's derived from
-   the generic linker hash table, not the COFF backend linker hash
-   table!  We use this to attach additional data structures we
-   need while linking on the h8300.  */
-struct h8300_coff_link_hash_table {
-  /* The main hash table.  */
-  struct generic_link_hash_table root;
-
-  /* Section for the vectors table.  This gets attached to a
-     random input bfd, we keep it here for easy access.  */
-  asection *vectors_sec;
-
-  /* Hash table of the functions we need to enter into the function
-     vector.  */
-  struct funcvec_hash_table *funcvec_hash_table;
-};
-
-static struct bfd_link_hash_table *h8300_coff_link_hash_table_create (bfd *);
-
-/* Get the H8/300 COFF linker hash table from a link_info structure.  */
-
-#define h8300_coff_hash_table(p) \
-  ((struct h8300_coff_link_hash_table *) ((coff_hash_table (p))))
-
-/* Initialize fields within a funcvec hash table entry.  Called whenever
-   a new entry is added to the funcvec hash table.  */
-
-static struct bfd_hash_entry *
-funcvec_hash_newfunc (struct bfd_hash_entry *entry,
-		      struct bfd_hash_table *gen_table,
-		      const char *string)
-{
-  struct funcvec_hash_entry *ret;
-  struct funcvec_hash_table *table;
-
-  ret = (struct funcvec_hash_entry *) entry;
-  table = (struct funcvec_hash_table *) gen_table;
-
-  /* Allocate the structure if it has not already been allocated by a
-     subclass.  */
-  if (ret == NULL)
-    ret = ((struct funcvec_hash_entry *)
-	   bfd_hash_allocate (gen_table,
-			      sizeof (struct funcvec_hash_entry)));
-  if (ret == NULL)
-    return NULL;
-
-  /* Call the allocation method of the superclass.  */
-  ret = ((struct funcvec_hash_entry *)
-	 bfd_hash_newfunc ((struct bfd_hash_entry *) ret, gen_table, string));
-
-  if (ret == NULL)
-    return NULL;
-
-  /* Note where this entry will reside in the function vector table.  */
-  ret->offset = table->offset;
-
-  /* Bump the offset at which we store entries in the function
-     vector.  We'd like to bump up the size of the vectors section,
-     but it's not easily available here.  */
- switch (bfd_get_mach (table->abfd))
-   {
-   case bfd_mach_h8300:
-   case bfd_mach_h8300hn:
-   case bfd_mach_h8300sn:
-     table->offset += 2;
-     break;
-   case bfd_mach_h8300h:
-   case bfd_mach_h8300s:
-     table->offset += 4;
-     break;
-   default:
-     return NULL;
-   }
-
-  /* Everything went OK.  */
-  return (struct bfd_hash_entry *) ret;
-}
-
-/* Initialize the function vector hash table.  */
-
-static bfd_boolean
-funcvec_hash_table_init (struct funcvec_hash_table *table,
-			 bfd *abfd,
-			 struct bfd_hash_entry *(*newfunc)
-			   (struct bfd_hash_entry *,
-			    struct bfd_hash_table *,
-			    const char *),
-			 unsigned int entsize)
-{
-  /* Initialize our local fields, then call the generic initialization
-     routine.  */
-  table->offset = 0;
-  table->abfd = abfd;
-  return (bfd_hash_table_init (&table->root, newfunc, entsize));
-}
-
-/* Create the derived linker hash table.  We use a derived hash table
-   basically to hold "static" information during an H8/300 coff link
-   without using static variables.  */
-
-static struct bfd_link_hash_table *
-h8300_coff_link_hash_table_create (bfd *abfd)
-{
-  struct h8300_coff_link_hash_table *ret;
-  bfd_size_type amt = sizeof (struct h8300_coff_link_hash_table);
-
-  ret = (struct h8300_coff_link_hash_table *) bfd_zmalloc (amt);
-  if (ret == NULL)
-    return NULL;
-  if (!_bfd_link_hash_table_init (&ret->root.root, abfd,
-				  _bfd_generic_link_hash_newfunc,
-				  sizeof (struct generic_link_hash_entry)))
-    {
-      free (ret);
-      return NULL;
-    }
-
-  return &ret->root.root;
-}
-
-/* Special handling for H8/300 relocs.
-   We only come here for pcrel stuff and return normally if not an -r link.
-   When doing -r, we can't do any arithmetic for the pcrel stuff, because
-   the code in reloc.c assumes that we can manipulate the targets of
-   the pcrel branches.  This isn't so, since the H8/300 can do relaxing,
-   which means that the gap after the instruction may not be enough to
-   contain the offset required for the branch, so we have to use only
-   the addend until the final link.  */
-
-static bfd_reloc_status_type
-special (bfd *      abfd ATTRIBUTE_UNUSED,
-	 arelent *  reloc_entry ATTRIBUTE_UNUSED,
-	 asymbol *  symbol ATTRIBUTE_UNUSED,
-	 void *     data ATTRIBUTE_UNUSED,
-	 asection * input_section ATTRIBUTE_UNUSED,
-	 bfd *      output_bfd,
-	 char **    error_message ATTRIBUTE_UNUSED)
-{
-  if (output_bfd == (bfd *) NULL)
-    return bfd_reloc_continue;
-
-  /* Adjust the reloc address to that in the output section.  */
-  reloc_entry->address += input_section->output_offset;
-  return bfd_reloc_ok;
-}
-
-static reloc_howto_type howto_table[] =
-{
-  HOWTO (R_RELBYTE, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, special, "8", FALSE, 0x000000ff, 0x000000ff, FALSE),
-  HOWTO (R_RELWORD, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, special, "16", FALSE, 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (R_RELLONG, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, special, "32", FALSE, 0xffffffff, 0xffffffff, FALSE),
-  HOWTO (R_PCRBYTE, 0, 0, 8, TRUE, 0, complain_overflow_signed, special, "DISP8", FALSE, 0x000000ff, 0x000000ff, TRUE),
-  HOWTO (R_PCRWORD, 0, 1, 16, TRUE, 0, complain_overflow_signed, special, "DISP16", FALSE, 0x0000ffff, 0x0000ffff, TRUE),
-  HOWTO (R_PCRLONG, 0, 2, 32, TRUE, 0, complain_overflow_signed, special, "DISP32", FALSE, 0xffffffff, 0xffffffff, TRUE),
-  HOWTO (R_MOV16B1, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, special, "relaxable mov.b:16", FALSE, 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (R_MOV16B2, 0, 1, 8, FALSE, 0, complain_overflow_bitfield, special, "relaxed mov.b:16", FALSE, 0x000000ff, 0x000000ff, FALSE),
-  HOWTO (R_JMP1, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, special, "16/pcrel", FALSE, 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (R_JMP2, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, special, "pcrecl/16", FALSE, 0x000000ff, 0x000000ff, FALSE),
-  HOWTO (R_JMPL1, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, special, "24/pcrell", FALSE, 0x00ffffff, 0x00ffffff, FALSE),
-  HOWTO (R_JMPL2, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, special, "pc8/24", FALSE, 0x000000ff, 0x000000ff, FALSE),
-  HOWTO (R_MOV24B1, 0, 1, 32, FALSE, 0, complain_overflow_bitfield, special, "relaxable mov.b:24", FALSE, 0xffffffff, 0xffffffff, FALSE),
-  HOWTO (R_MOV24B2, 0, 1, 8, FALSE, 0, complain_overflow_bitfield, special, "relaxed mov.b:24", FALSE, 0x0000ffff, 0x0000ffff, FALSE),
-
-  /* An indirect reference to a function.  This causes the function's address
-     to be added to the function vector in lo-mem and puts the address of
-     the function vector's entry in the jsr instruction.  */
-  HOWTO (R_MEM_INDIRECT, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, special, "8/indirect", FALSE, 0x000000ff, 0x000000ff, FALSE),
-
-  /* Internal reloc for relaxing.  This is created when a 16-bit pc-relative
-     branch is turned into an 8-bit pc-relative branch.  */
-  HOWTO (R_PCRWORD_B, 0, 0, 8, TRUE, 0, complain_overflow_bitfield, special, "relaxed bCC:16", FALSE, 0x000000ff, 0x000000ff, FALSE),
-
-  HOWTO (R_MOVL1, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,special, "32/24 relaxable move", FALSE, 0xffffffff, 0xffffffff, FALSE),
-
-  HOWTO (R_MOVL2, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, special, "32/24 relaxed move", FALSE, 0x0000ffff, 0x0000ffff, FALSE),
-
-  HOWTO (R_BCC_INV, 0, 0, 8, TRUE, 0, complain_overflow_signed, special, "DISP8 inverted", FALSE, 0x000000ff, 0x000000ff, TRUE),
-
-  HOWTO (R_JMP_DEL, 0, 0, 8, TRUE, 0, complain_overflow_signed, special, "Deleted jump", FALSE, 0x000000ff, 0x000000ff, TRUE),
-};
-
-/* Turn a howto into a reloc number.  */
-
-#define SELECT_RELOC(x,howto) \
-  { x.r_type = select_reloc (howto); }
-
-#define BADMAG(x) (H8300BADMAG (x) && H8300HBADMAG (x) && H8300SBADMAG (x) \
-				   && H8300HNBADMAG(x) && H8300SNBADMAG(x))
-#define H8300 1			/* Customize coffcode.h  */
-#define __A_MAGIC_SET__
-
-/* Code to swap in the reloc.  */
-#define SWAP_IN_RELOC_OFFSET	H_GET_32
-#define SWAP_OUT_RELOC_OFFSET	H_PUT_32
-#define SWAP_OUT_RELOC_EXTRA(abfd, src, dst) \
-  dst->r_stuff[0] = 'S'; \
-  dst->r_stuff[1] = 'C';
-
-static int
-select_reloc (reloc_howto_type *howto)
-{
-  return howto->type;
-}
-
-/* Code to turn a r_type into a howto ptr, uses the above howto table.  */
-
-static void
-rtype2howto (arelent *internal, struct internal_reloc *dst)
-{
-  switch (dst->r_type)
-    {
-    case R_RELBYTE:
-      internal->howto = howto_table + 0;
-      break;
-    case R_RELWORD:
-      internal->howto = howto_table + 1;
-      break;
-    case R_RELLONG:
-      internal->howto = howto_table + 2;
-      break;
-    case R_PCRBYTE:
-      internal->howto = howto_table + 3;
-      break;
-    case R_PCRWORD:
-      internal->howto = howto_table + 4;
-      break;
-    case R_PCRLONG:
-      internal->howto = howto_table + 5;
-      break;
-    case R_MOV16B1:
-      internal->howto = howto_table + 6;
-      break;
-    case R_MOV16B2:
-      internal->howto = howto_table + 7;
-      break;
-    case R_JMP1:
-      internal->howto = howto_table + 8;
-      break;
-    case R_JMP2:
-      internal->howto = howto_table + 9;
-      break;
-    case R_JMPL1:
-      internal->howto = howto_table + 10;
-      break;
-    case R_JMPL2:
-      internal->howto = howto_table + 11;
-      break;
-    case R_MOV24B1:
-      internal->howto = howto_table + 12;
-      break;
-    case R_MOV24B2:
-      internal->howto = howto_table + 13;
-      break;
-    case R_MEM_INDIRECT:
-      internal->howto = howto_table + 14;
-      break;
-    case R_PCRWORD_B:
-      internal->howto = howto_table + 15;
-      break;
-    case R_MOVL1:
-      internal->howto = howto_table + 16;
-      break;
-    case R_MOVL2:
-      internal->howto = howto_table + 17;
-      break;
-    case R_BCC_INV:
-      internal->howto = howto_table + 18;
-      break;
-    case R_JMP_DEL:
-      internal->howto = howto_table + 19;
-      break;
-    default:
-      internal->howto = NULL;
-      break;
-    }
-}
-
-#define RTYPE2HOWTO(internal, relocentry) rtype2howto (internal, relocentry)
-
-/* Perform any necessary magic to the addend in a reloc entry.  */
-
-#define CALC_ADDEND(abfd, symbol, ext_reloc, cache_ptr) \
- cache_ptr->addend = ext_reloc.r_offset;
-
-#define RELOC_PROCESSING(relent,reloc,symbols,abfd,section) \
- reloc_processing (relent, reloc, symbols, abfd, section)
-
-static void
-reloc_processing (arelent *relent, struct internal_reloc *reloc,
-		  asymbol **symbols, bfd *abfd, asection *section)
-{
-  relent->address = reloc->r_vaddr;
-  rtype2howto (relent, reloc);
-
-  if (((int) reloc->r_symndx) > 0)
-    relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx];
-  else
-    relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-
-  relent->addend = reloc->r_offset;
-  relent->address -= section->vma;
-}
-
-static bfd_boolean
-h8300_symbol_address_p (bfd *abfd, asection *input_section, bfd_vma address)
-{
-  asymbol **s;
-
-  s = _bfd_generic_link_get_symbols (abfd);
-  BFD_ASSERT (s != (asymbol **) NULL);
-
-  /* Search all the symbols for one in INPUT_SECTION with
-     address ADDRESS.  */
-  while (*s)
-    {
-      asymbol *p = *s;
-
-      if (p->section == input_section
-	  && (input_section->output_section->vma
-	      + input_section->output_offset
-	      + p->value) == address)
-	return TRUE;
-      s++;
-    }
-  return FALSE;
-}
-
-/* If RELOC represents a relaxable instruction/reloc, change it into
-   the relaxed reloc, notify the linker that symbol addresses
-   have changed (bfd_perform_slip) and return how much the current
-   section has shrunk by.
-
-   FIXME: Much of this code has knowledge of the ordering of entries
-   in the howto table.  This needs to be fixed.  */
-
-static int
-h8300_reloc16_estimate (bfd *abfd, asection *input_section, arelent *reloc,
-			unsigned int shrink, struct bfd_link_info *link_info)
-{
-  bfd_vma value;
-  bfd_vma dot;
-  bfd_vma gap;
-  static asection *last_input_section = NULL;
-  static arelent *last_reloc = NULL;
-
-  /* The address of the thing to be relocated will have moved back by
-     the size of the shrink - but we don't change reloc->address here,
-     since we need it to know where the relocation lives in the source
-     uncooked section.  */
-  bfd_vma address = reloc->address - shrink;
-
-  if (input_section != last_input_section)
-    last_reloc = NULL;
-
-  /* Only examine the relocs which might be relaxable.  */
-  switch (reloc->howto->type)
-    {
-      /* This is the 16-/24-bit absolute branch which could become an
-	 8-bit pc-relative branch.  */
-    case R_JMP1:
-    case R_JMPL1:
-      /* Get the address of the target of this branch.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      /* Get the address of the next instruction (not the reloc).  */
-      dot = (input_section->output_section->vma
-	     + input_section->output_offset + address);
-
-      /* Adjust for R_JMP1 vs R_JMPL1.  */
-      dot += (reloc->howto->type == R_JMP1 ? 1 : 2);
-
-      /* Compute the distance from this insn to the branch target.  */
-      gap = value - dot;
-
-      /* If the distance is within -128..+128 inclusive, then we can relax
-	 this jump.  +128 is valid since the target will move two bytes
-	 closer if we do relax this branch.  */
-      if ((int) gap >= -128 && (int) gap <= 128)
-	{
-	  bfd_byte code;
-
-	  if (!bfd_get_section_contents (abfd, input_section, & code,
-					 reloc->address, 1))
-	    break;
-	  code = bfd_get_8 (abfd, & code);
-
-	  /* It's possible we may be able to eliminate this branch entirely;
-	     if the previous instruction is a branch around this instruction,
-	     and there's no label at this instruction, then we can reverse
-	     the condition on the previous branch and eliminate this jump.
-
-	       original:			new:
-		 bCC lab1			bCC' lab2
-		 jmp lab2
-		lab1:				lab1:
-
-	     This saves 4 bytes instead of two, and should be relatively
-	     common.
-
-	     Only perform this optimisation for jumps (code 0x5a) not
-	     subroutine calls, as otherwise it could transform:
-
-			     mov.w   r0,r0
-			     beq     .L1
-			     jsr     @_bar
-		      .L1:   rts
-		      _bar:  rts
-	     into:
-			     mov.w   r0,r0
-			     bne     _bar
-			     rts
-		      _bar:  rts
-
-	     which changes the call (jsr) into a branch (bne).  */
-	  if (code == 0x5a
-	      && gap <= 126
-	      && last_reloc
-	      && last_reloc->howto->type == R_PCRBYTE)
-	    {
-	      bfd_vma last_value;
-	      last_value = bfd_coff_reloc16_get_value (last_reloc, link_info,
-						       input_section) + 1;
-
-	      if (last_value == dot + 2
-		  && last_reloc->address + 1 == reloc->address
-		  && !h8300_symbol_address_p (abfd, input_section, dot - 2))
-		{
-		  reloc->howto = howto_table + 19;
-		  last_reloc->howto = howto_table + 18;
-		  last_reloc->sym_ptr_ptr = reloc->sym_ptr_ptr;
-		  last_reloc->addend = reloc->addend;
-		  shrink += 4;
-		  bfd_perform_slip (abfd, 4, input_section, address);
-		  break;
-		}
-	    }
-
-	  /* Change the reloc type.  */
-	  reloc->howto = reloc->howto + 1;
-
-	  /* This shrinks this section by two bytes.  */
-	  shrink += 2;
-	  bfd_perform_slip (abfd, 2, input_section, address);
-	}
-      break;
-
-    /* This is the 16-bit pc-relative branch which could become an 8-bit
-       pc-relative branch.  */
-    case R_PCRWORD:
-      /* Get the address of the target of this branch, add one to the value
-	 because the addend field in PCrel jumps is off by -1.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section) + 1;
-
-      /* Get the address of the next instruction if we were to relax.  */
-      dot = input_section->output_section->vma +
-	input_section->output_offset + address;
-
-      /* Compute the distance from this insn to the branch target.  */
-      gap = value - dot;
-
-      /* If the distance is within -128..+128 inclusive, then we can relax
-	 this jump.  +128 is valid since the target will move two bytes
-	 closer if we do relax this branch.  */
-      if ((int) gap >= -128 && (int) gap <= 128)
-	{
-	  /* Change the reloc type.  */
-	  reloc->howto = howto_table + 15;
-
-	  /* This shrinks this section by two bytes.  */
-	  shrink += 2;
-	  bfd_perform_slip (abfd, 2, input_section, address);
-	}
-      break;
-
-    /* This is a 16-bit absolute address in a mov.b insn, which can
-       become an 8-bit absolute address if it's in the right range.  */
-    case R_MOV16B1:
-      /* Get the address of the data referenced by this mov.b insn.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-      value = bfd_h8300_pad_address (abfd, value);
-
-      /* If the address is in the top 256 bytes of the address space
-	 then we can relax this instruction.  */
-      if (value >= 0xffffff00u)
-	{
-	  /* Change the reloc type.  */
-	  reloc->howto = reloc->howto + 1;
-
-	  /* This shrinks this section by two bytes.  */
-	  shrink += 2;
-	  bfd_perform_slip (abfd, 2, input_section, address);
-	}
-      break;
-
-    /* Similarly for a 24-bit absolute address in a mov.b.  Note that
-       if we can't relax this into an 8-bit absolute, we'll fall through
-       and try to relax it into a 16-bit absolute.  */
-    case R_MOV24B1:
-      /* Get the address of the data referenced by this mov.b insn.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-      value = bfd_h8300_pad_address (abfd, value);
-
-      if (value >= 0xffffff00u)
-	{
-	  /* Change the reloc type.  */
-	  reloc->howto = reloc->howto + 1;
-
-	  /* This shrinks this section by four bytes.  */
-	  shrink += 4;
-	  bfd_perform_slip (abfd, 4, input_section, address);
-
-	  /* Done with this reloc.  */
-	  break;
-	}
-      /* Fall through.  */
-
-    /* This is a 24-/32-bit absolute address in a mov insn, which can
-       become an 16-bit absolute address if it's in the right range.  */
-    case R_MOVL1:
-      /* Get the address of the data referenced by this mov insn.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-      value = bfd_h8300_pad_address (abfd, value);
-
-      /* If the address is a sign-extended 16-bit value then we can
-	 relax this instruction.  */
-      if (value <= 0x7fff || value >= 0xffff8000u)
-	{
-	  /* Change the reloc type.  */
-	  reloc->howto = howto_table + 17;
-
-	  /* This shrinks this section by two bytes.  */
-	  shrink += 2;
-	  bfd_perform_slip (abfd, 2, input_section, address);
-	}
-      break;
-
-      /* No other reloc types represent relaxing opportunities.  */
-    default:
-      break;
-    }
-
-  last_reloc = reloc;
-  last_input_section = input_section;
-  return shrink;
-}
-
-/* Handle relocations for the H8/300, including relocs for relaxed
-   instructions.
-
-   FIXME: Not all relocations check for overflow!  */
-
-static void
-h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
-			   struct bfd_link_order *link_order, arelent *reloc,
-			   bfd_byte *data, unsigned int *src_ptr,
-			   unsigned int *dst_ptr)
-{
-  unsigned int src_address = *src_ptr;
-  unsigned int dst_address = *dst_ptr;
-  asection *input_section = link_order->u.indirect.section;
-  bfd_vma value;
-  bfd_vma dot;
-  int gap, tmp;
-  unsigned char temp_code;
-
-  switch (reloc->howto->type)
-    {
-    /* Generic 8-bit pc-relative relocation.  */
-    case R_PCRBYTE:
-      /* Get the address of the target of this branch.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      dot = (input_section->output_offset
-	     + dst_address
-	     + link_order->u.indirect.section->output_section->vma);
-
-      gap = value - dot;
-
-      /* Sanity check.  */
-      if (gap < -128 || gap > 126)
-	(*link_info->callbacks->reloc_overflow)
-	  (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
-	   reloc->howto->name, reloc->addend, input_section->owner,
-	   input_section, reloc->address);
-
-      /* Everything looks OK.  Apply the relocation and update the
-	 src/dst address appropriately.  */
-      bfd_put_8 (abfd, gap, data + dst_address);
-      dst_address++;
-      src_address++;
-
-      /* All done.  */
-      break;
-
-    /* Generic 16-bit pc-relative relocation.  */
-    case R_PCRWORD:
-      /* Get the address of the target of this branch.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      /* Get the address of the instruction (not the reloc).  */
-      dot = (input_section->output_offset
-	     + dst_address
-	     + link_order->u.indirect.section->output_section->vma + 1);
-
-      gap = value - dot;
-
-      /* Sanity check.  */
-      if (gap > 32766 || gap < -32768)
-	(*link_info->callbacks->reloc_overflow)
-	  (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
-	   reloc->howto->name, reloc->addend, input_section->owner,
-	   input_section, reloc->address);
-
-      /* Everything looks OK.  Apply the relocation and update the
-	 src/dst address appropriately.  */
-      bfd_put_16 (abfd, (bfd_vma) gap, data + dst_address);
-      dst_address += 2;
-      src_address += 2;
-
-      /* All done.  */
-      break;
-
-    /* Generic 8-bit absolute relocation.  */
-    case R_RELBYTE:
-      /* Get the address of the object referenced by this insn.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      bfd_put_8 (abfd, value & 0xff, data + dst_address);
-      dst_address += 1;
-      src_address += 1;
-
-      /* All done.  */
-      break;
-
-    /* Various simple 16-bit absolute relocations.  */
-    case R_MOV16B1:
-    case R_JMP1:
-    case R_RELWORD:
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-      bfd_put_16 (abfd, value, data + dst_address);
-      dst_address += 2;
-      src_address += 2;
-      break;
-
-    /* Various simple 24-/32-bit absolute relocations.  */
-    case R_MOV24B1:
-    case R_MOVL1:
-    case R_RELLONG:
-      /* Get the address of the target of this branch.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-      bfd_put_32 (abfd, value, data + dst_address);
-      dst_address += 4;
-      src_address += 4;
-      break;
-
-    /* Another 24-/32-bit absolute relocation.  */
-    case R_JMPL1:
-      /* Get the address of the target of this branch.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      value = ((value & 0x00ffffff)
-	       | (bfd_get_32 (abfd, data + src_address) & 0xff000000));
-      bfd_put_32 (abfd, value, data + dst_address);
-      dst_address += 4;
-      src_address += 4;
-      break;
-
-      /* This is a 24-/32-bit absolute address in one of the following
-	 instructions:
-
-	   "band", "bclr", "biand", "bild", "bior", "bist", "bixor",
-	   "bld", "bnot", "bor", "bset", "bst", "btst", "bxor", "ldc.w",
-	   "stc.w" and "mov.[bwl]"
-
-	 We may relax this into an 16-bit absolute address if it's in
-	 the right range.  */
-    case R_MOVL2:
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-      value = bfd_h8300_pad_address (abfd, value);
-
-      /* Sanity check.  */
-      if (value <= 0x7fff || value >= 0xffff8000u)
-	{
-	  /* Insert the 16-bit value into the proper location.  */
-	  bfd_put_16 (abfd, value, data + dst_address);
-
-	  /* Fix the opcode.  For all the instructions that belong to
-	     this relaxation, we simply need to turn off bit 0x20 in
-	     the previous byte.  */
-	  data[dst_address - 1] &= ~0x20;
-	  dst_address += 2;
-	  src_address += 4;
-	}
-      else
-	(*link_info->callbacks->reloc_overflow)
-	  (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
-	   reloc->howto->name, reloc->addend, input_section->owner,
-	   input_section, reloc->address);
-      break;
-
-    /* A 16-bit absolute branch that is now an 8-bit pc-relative branch.  */
-    case R_JMP2:
-      /* Get the address of the target of this branch.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      /* Get the address of the next instruction.  */
-      dot = (input_section->output_offset
-	     + dst_address
-	     + link_order->u.indirect.section->output_section->vma + 1);
-
-      gap = value - dot;
-
-      /* Sanity check.  */
-      if (gap < -128 || gap > 126)
-	(*link_info->callbacks->reloc_overflow)
-	  (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
-	   reloc->howto->name, reloc->addend, input_section->owner,
-	   input_section, reloc->address);
-
-      /* Now fix the instruction itself.  */
-      switch (data[dst_address - 1])
-	{
-	case 0x5e:
-	  /* jsr -> bsr */
-	  bfd_put_8 (abfd, 0x55, data + dst_address - 1);
-	  break;
-	case 0x5a:
-	  /* jmp -> bra */
-	  bfd_put_8 (abfd, 0x40, data + dst_address - 1);
-	  break;
-
-	default:
-	  abort ();
-	}
-
-      /* Write out the 8-bit value.  */
-      bfd_put_8 (abfd, gap, data + dst_address);
-
-      dst_address += 1;
-      src_address += 3;
-
-      break;
-
-    /* A 16-bit pc-relative branch that is now an 8-bit pc-relative branch.  */
-    case R_PCRWORD_B:
-      /* Get the address of the target of this branch.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      /* Get the address of the instruction (not the reloc).  */
-      dot = (input_section->output_offset
-	     + dst_address
-	     + link_order->u.indirect.section->output_section->vma - 1);
-
-      gap = value - dot;
-
-      /* Sanity check.  */
-      if (gap < -128 || gap > 126)
-	(*link_info->callbacks->reloc_overflow)
-	  (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
-	   reloc->howto->name, reloc->addend, input_section->owner,
-	   input_section, reloc->address);
-
-      /* Now fix the instruction.  */
-      switch (data[dst_address - 2])
-	{
-	case 0x58:
-	  /* bCC:16 -> bCC:8 */
-	  /* Get the second byte of the original insn, which contains
-	     the condition code.  */
-	  tmp = data[dst_address - 1];
-
-	  /* Compute the fisrt byte of the relaxed instruction.  The
-	     original sequence 0x58 0xX0 is relaxed to 0x4X, where X
-	     represents the condition code.  */
-	  tmp &= 0xf0;
-	  tmp >>= 4;
-	  tmp |= 0x40;
-
-	  /* Write it.  */
-	  bfd_put_8 (abfd, tmp, data + dst_address - 2);
-	  break;
-
-	case 0x5c:
-	  /* bsr:16 -> bsr:8 */
-	  bfd_put_8 (abfd, 0x55, data + dst_address - 2);
-	  break;
-
-	default:
-	  abort ();
-	}
-
-      /* Output the target.  */
-      bfd_put_8 (abfd, gap, data + dst_address - 1);
-
-      /* We don't advance dst_address -- the 8-bit reloc is applied at
-	 dst_address - 1, so the next insn should begin at dst_address.  */
-      src_address += 2;
-
-      break;
-
-    /* Similarly for a 24-bit absolute that is now 8 bits.  */
-    case R_JMPL2:
-      /* Get the address of the target of this branch.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      /* Get the address of the instruction (not the reloc).  */
-      dot = (input_section->output_offset
-	     + dst_address
-	     + link_order->u.indirect.section->output_section->vma + 2);
-
-      gap = value - dot;
-
-      /* Fix the instruction.  */
-      switch (data[src_address])
-	{
-	case 0x5e:
-	  /* jsr -> bsr */
-	  bfd_put_8 (abfd, 0x55, data + dst_address);
-	  break;
-	case 0x5a:
-	  /* jmp ->bra */
-	  bfd_put_8 (abfd, 0x40, data + dst_address);
-	  break;
-	default:
-	  abort ();
-	}
-
-      bfd_put_8 (abfd, gap, data + dst_address + 1);
-      dst_address += 2;
-      src_address += 4;
-
-      break;
-
-      /* This is a 16-bit absolute address in one of the following
-	 instructions:
-
-	   "band", "bclr", "biand", "bild", "bior", "bist", "bixor",
-	   "bld", "bnot", "bor", "bset", "bst", "btst", "bxor", and
-	   "mov.b"
-
-	 We may relax this into an 8-bit absolute address if it's in
-	 the right range.  */
-    case R_MOV16B2:
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      /* All instructions with R_H8_DIR16B2 start with 0x6a.  */
-      if (data[dst_address - 2] != 0x6a)
-	abort ();
-
-      temp_code = data[src_address - 1];
-
-      /* If this is a mov.b instruction, clear the lower nibble, which
-	 contains the source/destination register number.  */
-      if ((temp_code & 0x10) != 0x10)
-	temp_code &= 0xf0;
-
-      /* Fix up the opcode.  */
-      switch (temp_code)
-	{
-	case 0x00:
-	  /* This is mov.b @aa:16,Rd.  */
-	  data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x20;
-	  break;
-	case 0x80:
-	  /* This is mov.b Rs,@aa:16.  */
-	  data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x30;
-	  break;
-	case 0x18:
-	  /* This is a bit-maniputation instruction that stores one
-	     bit into memory, one of "bclr", "bist", "bnot", "bset",
-	     and "bst".  */
-	  data[dst_address - 2] = 0x7f;
-	  break;
-	case 0x10:
-	  /* This is a bit-maniputation instruction that loads one bit
-	     from memory, one of "band", "biand", "bild", "bior",
-	     "bixor", "bld", "bor", "btst", and "bxor".  */
-	  data[dst_address - 2] = 0x7e;
-	  break;
-	default:
-	  abort ();
-	}
-
-      bfd_put_8 (abfd, value & 0xff, data + dst_address - 1);
-      src_address += 2;
-      break;
-
-      /* This is a 24-bit absolute address in one of the following
-	 instructions:
-
-	   "band", "bclr", "biand", "bild", "bior", "bist", "bixor",
-	   "bld", "bnot", "bor", "bset", "bst", "btst", "bxor", and
-	   "mov.b"
-
-	 We may relax this into an 8-bit absolute address if it's in
-	 the right range.  */
-    case R_MOV24B2:
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      /* All instructions with R_MOV24B2 start with 0x6a.  */
-      if (data[dst_address - 2] != 0x6a)
-	abort ();
-
-      temp_code = data[src_address - 1];
-
-      /* If this is a mov.b instruction, clear the lower nibble, which
-	 contains the source/destination register number.  */
-      if ((temp_code & 0x30) != 0x30)
-	temp_code &= 0xf0;
-
-      /* Fix up the opcode.  */
-      switch (temp_code)
-	{
-	case 0x20:
-	  /* This is mov.b @aa:24/32,Rd.  */
-	  data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x20;
-	  break;
-	case 0xa0:
-	  /* This is mov.b Rs,@aa:24/32.  */
-	  data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x30;
-	  break;
-	case 0x38:
-	  /* This is a bit-maniputation instruction that stores one
-	     bit into memory, one of "bclr", "bist", "bnot", "bset",
-	     and "bst".  */
-	  data[dst_address - 2] = 0x7f;
-	  break;
-	case 0x30:
-	  /* This is a bit-maniputation instruction that loads one bit
-	     from memory, one of "band", "biand", "bild", "bior",
-	     "bixor", "bld", "bor", "btst", and "bxor".  */
-	  data[dst_address - 2] = 0x7e;
-	  break;
-	default:
-	  abort ();
-	}
-
-      bfd_put_8 (abfd, value & 0xff, data + dst_address - 1);
-      src_address += 4;
-      break;
-
-    case R_BCC_INV:
-      /* Get the address of the target of this branch.  */
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      dot = (input_section->output_offset
-	     + dst_address
-	     + link_order->u.indirect.section->output_section->vma) + 1;
-
-      gap = value - dot;
-
-      /* Sanity check.  */
-      if (gap < -128 || gap > 126)
-	(*link_info->callbacks->reloc_overflow)
-	  (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
-	   reloc->howto->name, reloc->addend, input_section->owner,
-	   input_section, reloc->address);
-
-      /* Everything looks OK.  Fix the condition in the instruction, apply
-	 the relocation, and update the src/dst address appropriately.  */
-
-      bfd_put_8 (abfd, bfd_get_8 (abfd, data + dst_address - 1) ^ 1,
-		 data + dst_address - 1);
-      bfd_put_8 (abfd, gap, data + dst_address);
-      dst_address++;
-      src_address++;
-
-      /* All done.  */
-      break;
-
-    case R_JMP_DEL:
-      src_address += 4;
-      break;
-
-    /* An 8-bit memory indirect instruction (jmp/jsr).
-
-       There's several things that need to be done to handle
-       this relocation.
-
-       If this is a reloc against the absolute symbol, then
-       we should handle it just R_RELBYTE.  Likewise if it's
-       for a symbol with a value ge 0 and le 0xff.
-
-       Otherwise it's a jump/call through the function vector,
-       and the linker is expected to set up the function vector
-       and put the right value into the jump/call instruction.  */
-    case R_MEM_INDIRECT:
-      {
-	/* We need to find the symbol so we can determine it's
-	   address in the function vector table.  */
-	asymbol *symbol;
-	const char *name;
-	struct funcvec_hash_table *ftab;
-	struct funcvec_hash_entry *h;
-	struct h8300_coff_link_hash_table *htab;
-	asection *vectors_sec;
-
-	if (link_info->output_bfd->xvec != abfd->xvec)
-	  {
-	    _bfd_error_handler
-	      (_("cannot handle R_MEM_INDIRECT reloc when using %s output"),
-	       link_info->output_bfd->xvec->name);
-
-	    /* What else can we do?  This function doesn't allow return
-	       of an error, and we don't want to call abort as that
-	       indicates an internal error.  */
-#ifndef EXIT_FAILURE
-#define EXIT_FAILURE 1
-#endif
-	    xexit (EXIT_FAILURE);
-	  }
-	htab = h8300_coff_hash_table (link_info);
-	vectors_sec = htab->vectors_sec;
-
-	/* First see if this is a reloc against the absolute symbol
-	   or against a symbol with a nonnegative value <= 0xff.  */
-	symbol = *(reloc->sym_ptr_ptr);
-	value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-	if (symbol == bfd_abs_section_ptr->symbol
-	    || value <= 0xff)
-	  {
-	    /* This should be handled in a manner very similar to
-	       R_RELBYTES.   If the value is in range, then just slam
-	       the value into the right location.  Else trigger a
-	       reloc overflow callback.  */
-	    if (value <= 0xff)
-	      {
-		bfd_put_8 (abfd, value, data + dst_address);
-		dst_address += 1;
-		src_address += 1;
-	      }
-	    else
-	      (*link_info->callbacks->reloc_overflow)
-		(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
-		 reloc->howto->name, reloc->addend, input_section->owner,
-		 input_section, reloc->address);
-	    break;
-	  }
-
-	/* This is a jump/call through a function vector, and we're
-	   expected to create the function vector ourselves.
-
-	   First look up this symbol in the linker hash table -- we need
-	   the derived linker symbol which holds this symbol's index
-	   in the function vector.  */
-	name = symbol->name;
-	if (symbol->flags & BSF_LOCAL)
-	  {
-	    char *new_name = bfd_malloc ((bfd_size_type) strlen (name) + 10);
-
-	    if (new_name == NULL)
-	      abort ();
-
-	    sprintf (new_name, "%s_%08x", name, symbol->section->id);
-	    name = new_name;
-	  }
-
-	ftab = htab->funcvec_hash_table;
-	h = funcvec_hash_lookup (ftab, name, FALSE, FALSE);
-
-	/* This shouldn't ever happen.  If it does that means we've got
-	   data corruption of some kind.  Aborting seems like a reasonable
-	   thing to do here.  */
-	if (h == NULL || vectors_sec == NULL)
-	  abort ();
-
-	/* Place the address of the function vector entry into the
-	   reloc's address.  */
-	bfd_put_8 (abfd,
-		   vectors_sec->output_offset + h->offset,
-		   data + dst_address);
-
-	dst_address++;
-	src_address++;
-
-	/* Now create an entry in the function vector itself.  */
-	switch (bfd_get_mach (input_section->owner))
-	  {
-	  case bfd_mach_h8300:
-	  case bfd_mach_h8300hn:
-	  case bfd_mach_h8300sn:
-	    bfd_put_16 (abfd,
-			bfd_coff_reloc16_get_value (reloc,
-						    link_info,
-						    input_section),
-			vectors_sec->contents + h->offset);
-	    break;
-	  case bfd_mach_h8300h:
-	  case bfd_mach_h8300s:
-	    bfd_put_32 (abfd,
-			bfd_coff_reloc16_get_value (reloc,
-						    link_info,
-						    input_section),
-			vectors_sec->contents + h->offset);
-	    break;
-	  default:
-	    abort ();
-	  }
-
-	/* Gross.  We've already written the contents of the vector section
-	   before we get here...  So we write it again with the new data.  */
-	bfd_set_section_contents (vectors_sec->output_section->owner,
-				  vectors_sec->output_section,
-				  vectors_sec->contents,
-				  (file_ptr) vectors_sec->output_offset,
-				  vectors_sec->size);
-	break;
-      }
-
-    default:
-      abort ();
-      break;
-
-    }
-
-  *src_ptr = src_address;
-  *dst_ptr = dst_address;
-}
-
-/* Routine for the h8300 linker.
-
-   This routine is necessary to handle the special R_MEM_INDIRECT
-   relocs on the h8300.  It's responsible for generating a vectors
-   section and attaching it to an input bfd as well as sizing
-   the vectors section.  It also creates our vectors hash table.
-
-   It uses the generic linker routines to actually add the symbols.
-   from this BFD to the bfd linker hash table.  It may add a few
-   selected static symbols to the bfd linker hash table.  */
-
-static bfd_boolean
-h8300_bfd_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
-{
-  asection *sec;
-  struct funcvec_hash_table *funcvec_hash_table;
-  bfd_size_type amt;
-  struct h8300_coff_link_hash_table *htab;
-
-  /* Add the symbols using the generic code.  */
-  _bfd_generic_link_add_symbols (abfd, info);
-
-  if (info->output_bfd->xvec != abfd->xvec)
-    return TRUE;
-
-  htab = h8300_coff_hash_table (info);
-
-  /* If we haven't created a vectors section, do so now.  */
-  if (!htab->vectors_sec)
-    {
-      flagword flags;
-
-      /* Make sure the appropriate flags are set, including SEC_IN_MEMORY.  */
-      flags = (SEC_ALLOC | SEC_LOAD
-	       | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_READONLY);
-      htab->vectors_sec = bfd_make_section_with_flags (abfd, ".vectors",
-						       flags);
-
-      /* If the section wasn't created, or we couldn't set the flags,
-	 quit quickly now, rather than dying a painful death later.  */
-      if (!htab->vectors_sec)
-	return FALSE;
-
-      /* Also create the vector hash table.  */
-      amt = sizeof (struct funcvec_hash_table);
-      funcvec_hash_table = (struct funcvec_hash_table *) bfd_alloc (abfd, amt);
-
-      if (!funcvec_hash_table)
-	return FALSE;
-
-      /* And initialize the funcvec hash table.  */
-      if (!funcvec_hash_table_init (funcvec_hash_table, abfd,
-				    funcvec_hash_newfunc,
-				    sizeof (struct funcvec_hash_entry)))
-	{
-	  bfd_release (abfd, funcvec_hash_table);
-	  return FALSE;
-	}
-
-      /* Store away a pointer to the funcvec hash table.  */
-      htab->funcvec_hash_table = funcvec_hash_table;
-    }
-
-  /* Load up the function vector hash table.  */
-  funcvec_hash_table = htab->funcvec_hash_table;
-
-  /* Now scan the relocs for all the sections in this bfd; create
-     additional space in the .vectors section as needed.  */
-  for (sec = abfd->sections; sec; sec = sec->next)
-    {
-      long reloc_size, reloc_count, i;
-      asymbol **symbols;
-      arelent **relocs;
-
-      /* Suck in the relocs, symbols & canonicalize them.  */
-      reloc_size = bfd_get_reloc_upper_bound (abfd, sec);
-      if (reloc_size <= 0)
-	continue;
-
-      relocs = (arelent **) bfd_malloc ((bfd_size_type) reloc_size);
-      if (!relocs)
-	return FALSE;
-
-      /* The symbols should have been read in by _bfd_generic link_add_symbols
-	 call abovec, so we can cheat and use the pointer to them that was
-	 saved in the above call.  */
-      symbols = _bfd_generic_link_get_symbols(abfd);
-      reloc_count = bfd_canonicalize_reloc (abfd, sec, relocs, symbols);
-      if (reloc_count <= 0)
-	{
-	  free (relocs);
-	  continue;
-	}
-
-      /* Now walk through all the relocations in this section.  */
-      for (i = 0; i < reloc_count; i++)
-	{
-	  arelent *reloc = relocs[i];
-	  asymbol *symbol = *(reloc->sym_ptr_ptr);
-	  const char *name;
-
-	  /* We've got an indirect reloc.  See if we need to add it
-	     to the function vector table.   At this point, we have
-	     to add a new entry for each unique symbol referenced
-	     by an R_MEM_INDIRECT relocation except for a reloc
-	     against the absolute section symbol.  */
-	  if (reloc->howto->type == R_MEM_INDIRECT
-	      && symbol != bfd_abs_section_ptr->symbol)
-
-	    {
-	      struct funcvec_hash_table *ftab;
-	      struct funcvec_hash_entry *h;
-
-	      name = symbol->name;
-	      if (symbol->flags & BSF_LOCAL)
-		{
-		  char *new_name;
-
-		  new_name = bfd_malloc ((bfd_size_type) strlen (name) + 10);
-		  if (new_name == NULL)
-		    abort ();
-
-		  sprintf (new_name, "%s_%08x", name, symbol->section->id);
-		  name = new_name;
-		}
-
-	      /* Look this symbol up in the function vector hash table.  */
-	      ftab = htab->funcvec_hash_table;
-	      h = funcvec_hash_lookup (ftab, name, FALSE, FALSE);
-
-	      /* If this symbol isn't already in the hash table, add
-		 it and bump up the size of the hash table.  */
-	      if (h == NULL)
-		{
-		  h = funcvec_hash_lookup (ftab, name, TRUE, TRUE);
-		  if (h == NULL)
-		    {
-		      free (relocs);
-		      return FALSE;
-		    }
-
-		  /* Bump the size of the vectors section.  Each vector
-		     takes 2 bytes on the h8300 and 4 bytes on the h8300h.  */
-		  switch (bfd_get_mach (abfd))
-		    {
-		    case bfd_mach_h8300:
-		    case bfd_mach_h8300hn:
-		    case bfd_mach_h8300sn:
-		      htab->vectors_sec->size += 2;
-		      break;
-		    case bfd_mach_h8300h:
-		    case bfd_mach_h8300s:
-		      htab->vectors_sec->size += 4;
-		      break;
-		    default:
-		      abort ();
-		    }
-		}
-	    }
-	}
-
-      /* We're done with the relocations, release them.  */
-      free (relocs);
-    }
-
-  /* Now actually allocate some space for the function vector.  It's
-     wasteful to do this more than once, but this is easier.  */
-  sec = htab->vectors_sec;
-  if (sec->size != 0)
-    {
-      /* Free the old contents.  */
-      if (sec->contents)
-	free (sec->contents);
-
-      /* Allocate new contents.  */
-      sec->contents = bfd_malloc (sec->size);
-    }
-
-  return TRUE;
-}
-
-#define coff_reloc16_extra_cases h8300_reloc16_extra_cases
-#define coff_reloc16_estimate h8300_reloc16_estimate
-#define coff_bfd_link_add_symbols h8300_bfd_link_add_symbols
-#define coff_bfd_link_hash_table_create h8300_coff_link_hash_table_create
-
-#define COFF_LONG_FILENAMES
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata	NULL
-#endif
-
-#include "coffcode.h"
-
-#undef coff_bfd_get_relocated_section_contents
-#undef coff_bfd_relax_section
-#define coff_bfd_get_relocated_section_contents \
-  bfd_coff_reloc16_get_relocated_section_contents
-#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
-
-CREATE_BIG_COFF_TARGET_VEC (h8300_coff_vec, "coff-h8300", BFD_IS_RELAXABLE, 0, '_', NULL, COFF_SWAP_TABLE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-h8500.c ./bfd/coff-h8500.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-h8500.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-h8500.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,298 +0,0 @@
-/* BFD back-end for Renesas H8/500 COFF binaries.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-   Contributed by Cygnus Support.
-   Written by Steve Chamberlain, <sac@cygnus.com>.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "bfdlink.h"
-#include "coff/h8500.h"
-#include "coff/internal.h"
-#include "libcoff.h"
-
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (1)
-
-static reloc_howto_type r_imm8 =
-HOWTO (R_H8500_IMM8, 0, 1, 8, FALSE, 0,
-       complain_overflow_bitfield, 0, "r_imm8", TRUE, 0x000000ff, 0x000000ff, FALSE);
-
-static reloc_howto_type r_imm16 =
-HOWTO (R_H8500_IMM16, 0, 1, 16, FALSE, 0,
-       complain_overflow_bitfield, 0, "r_imm16", TRUE, 0x0000ffff, 0x0000ffff, FALSE);
-
-static reloc_howto_type r_imm24 =
-HOWTO (R_H8500_IMM24, 0, 1, 24, FALSE, 0,
-       complain_overflow_bitfield, 0, "r_imm24", TRUE, 0x00ffffff, 0x00ffffff, FALSE);
-
-static reloc_howto_type r_imm32 =
-HOWTO (R_H8500_IMM32, 0, 1, 32, FALSE, 0,
-       complain_overflow_bitfield, 0, "r_imm32", TRUE, 0xffffffff, 0xffffffff, FALSE);
-
-static reloc_howto_type r_high8 =
-HOWTO (R_H8500_HIGH8, 0, 1, 8, FALSE, 0,
-       complain_overflow_dont, 0, "r_high8", TRUE, 0x000000ff, 0x000000ff, FALSE);
-
-static reloc_howto_type r_low16 =
-HOWTO (R_H8500_LOW16, 0, 1, 16, FALSE, 0,
-       complain_overflow_dont, 0, "r_low16", TRUE, 0x0000ffff, 0x0000ffff, FALSE);
-
-static reloc_howto_type r_pcrel8 =
-HOWTO (R_H8500_PCREL8, 0, 1, 8, TRUE, 0, complain_overflow_signed, 0, "r_pcrel8", TRUE, 0, 0, TRUE);
-
-static reloc_howto_type r_pcrel16 =
-HOWTO (R_H8500_PCREL16, 0, 1, 16, TRUE, 0, complain_overflow_signed, 0, "r_pcrel16", TRUE, 0, 0, TRUE);
-
-static reloc_howto_type r_high16 =
-HOWTO (R_H8500_HIGH16, 0, 1, 8, FALSE, 0,
-       complain_overflow_dont, 0, "r_high16", TRUE, 0x000ffff, 0x0000ffff, FALSE);
-
-/* Turn a howto into a reloc number.  */
-
-static int
-coff_h8500_select_reloc (reloc_howto_type *howto)
-{
-  return howto->type;
-}
-
-#define SELECT_RELOC(x,howto) x.r_type = coff_h8500_select_reloc(howto)
-
-#define BADMAG(x) H8500BADMAG(x)
-#define H8500 1			/* Customize coffcode.h */
-
-#define __A_MAGIC_SET__
-
-/* Code to swap in the reloc.  */
-#define SWAP_IN_RELOC_OFFSET	H_GET_32
-#define SWAP_OUT_RELOC_OFFSET	H_PUT_32
-#define SWAP_OUT_RELOC_EXTRA(abfd, src, dst) \
-  dst->r_stuff[0] = 'S'; \
-  dst->r_stuff[1] = 'C';
-
-/* Code to turn a r_type into a howto ptr, uses the above howto table.  */
-
-static void
-rtype2howto (arelent * internal, struct internal_reloc *dst)
-{
-  switch (dst->r_type)
-    {
-    default:
-      internal->howto = NULL;
-      break;
-    case R_H8500_IMM8:
-      internal->howto = &r_imm8;
-      break;
-    case R_H8500_IMM16:
-      internal->howto = &r_imm16;
-      break;
-    case R_H8500_IMM24:
-      internal->howto = &r_imm24;
-      break;
-    case R_H8500_IMM32:
-      internal->howto = &r_imm32;
-      break;
-    case R_H8500_PCREL8:
-      internal->howto = &r_pcrel8;
-      break;
-    case R_H8500_PCREL16:
-      internal->howto = &r_pcrel16;
-      break;
-    case R_H8500_HIGH8:
-      internal->howto = &r_high8;
-      break;
-    case R_H8500_HIGH16:
-      internal->howto = &r_high16;
-      break;
-    case R_H8500_LOW16:
-      internal->howto = &r_low16;
-      break;
-    }
-}
-
-#define RTYPE2HOWTO(internal, relocentry) rtype2howto(internal,relocentry)
-
-/* Perform any necessary magic to the addend in a reloc entry.  */
-
-#define CALC_ADDEND(abfd, symbol, ext_reloc, cache_ptr) \
- cache_ptr->addend =  ext_reloc.r_offset;
-
-#define RELOC_PROCESSING(relent,reloc,symbols,abfd,section) \
- reloc_processing(relent, reloc, symbols, abfd, section)
-
-static void
-reloc_processing (arelent * relent,
-		  struct internal_reloc *reloc,
-		  asymbol ** symbols,
-		  bfd * abfd,
-		  asection * section)
-{
-  relent->address = reloc->r_vaddr;
-  rtype2howto (relent, reloc);
-
-  if (reloc->r_symndx > 0)
-    relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx];
-  else
-    relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-
-  relent->addend = reloc->r_offset;
-  relent->address -= section->vma;
-}
-
-static void
-extra_case (bfd *in_abfd,
-	    struct bfd_link_info *link_info,
-	    struct bfd_link_order *link_order,
-	    arelent *reloc,
-	    bfd_byte *data,
-	    unsigned int *src_ptr,
-	    unsigned int *dst_ptr)
-{
-  bfd_byte *d = data+*dst_ptr;
-  asection *input_section = link_order->u.indirect.section;
-
-  switch (reloc->howto->type)
-    {
-    case R_H8500_IMM8:
-      bfd_put_8 (in_abfd,
-		 bfd_coff_reloc16_get_value (reloc, link_info, input_section),
-		 d);
-      (*dst_ptr) += 1;
-      (*src_ptr) += 1;
-      break;
-
-    case R_H8500_HIGH8:
-      bfd_put_8 (in_abfd,
-		 (bfd_coff_reloc16_get_value (reloc, link_info, input_section)
-		  >> 16),
-		 d);
-      (*dst_ptr) += 1;
-      (*src_ptr) += 1;
-      break;
-
-    case R_H8500_IMM16:
-      bfd_put_16 (in_abfd,
-		  bfd_coff_reloc16_get_value (reloc, link_info, input_section),
-		  d);
-      (*dst_ptr) += 2;
-      (*src_ptr) += 2;
-      break;
-
-    case R_H8500_LOW16:
-      bfd_put_16 (in_abfd,
-		  bfd_coff_reloc16_get_value (reloc, link_info, input_section),
-		  d);
-
-      (*dst_ptr) += 2;
-      (*src_ptr) += 2;
-      break;
-
-    case R_H8500_HIGH16:
-      bfd_put_16 (in_abfd,
-		  (bfd_coff_reloc16_get_value (reloc, link_info, input_section)
-		   >> 16),
-		  d);
-
-      (*dst_ptr) += 2;
-      (*src_ptr) += 2;
-      break;
-
-    case R_H8500_IMM24:
-      {
-	int v = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-	int o = bfd_get_32 (in_abfd, data+ *dst_ptr -1);
-	v = (v & 0x00ffffff) | (o & 0xff00000);
-	bfd_put_32 (in_abfd, (bfd_vma) v, data  + *dst_ptr -1);
-	(*dst_ptr) += 3;
-	(*src_ptr) += 3;
-      }
-      break;
-    case R_H8500_IMM32:
-      {
-	int v = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-	bfd_put_32 (in_abfd, (bfd_vma) v, data  + *dst_ptr);
-	(*dst_ptr) += 4;
-	(*src_ptr) += 4;
-      }
-      break;
-
-    case R_H8500_PCREL8:
-      {
-	bfd_vma dst = bfd_coff_reloc16_get_value (reloc, link_info,
-						  input_section);
-	bfd_vma dot = (*dst_ptr
-		       + input_section->output_offset
-		       + input_section->output_section->vma);
-	int gap = dst - dot - 1; /* -1 since were in the odd byte of the
-				    word and the pc's been incremented.  */
-
-	if (gap > 128 || gap < -128)
-	  (*link_info->callbacks->reloc_overflow)
-	    (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
-	     reloc->howto->name, reloc->addend, input_section->owner,
-	     input_section, reloc->address);
-
-	bfd_put_8 (in_abfd, gap, data + *dst_ptr);
-	(*dst_ptr)++;
-	(*src_ptr)++;
-	break;
-      }
-    case R_H8500_PCREL16:
-      {
-	bfd_vma dst = bfd_coff_reloc16_get_value (reloc, link_info,
-						  input_section);
-	bfd_vma dot = (*dst_ptr
-		       + input_section->output_offset
-		       + input_section->output_section->vma);
-	int gap = dst - dot - 1; /* -1 since were in the odd byte of the
-				    word and the pc's been incremented.  */
-
-	if (gap > 32767 || gap < -32768)
-	  (*link_info->callbacks->reloc_overflow)
-	    (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
-	     reloc->howto->name, reloc->addend, input_section->owner,
-	     input_section, reloc->address);
-
-	bfd_put_16 (in_abfd, (bfd_vma) gap, data + *dst_ptr);
-	(*dst_ptr) += 2;
-	(*src_ptr) += 2;
-	break;
-      }
-
-    default:
-      abort ();
-    }
-}
-
-#define coff_reloc16_extra_cases extra_case
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata	NULL
-#endif
-
-#include "coffcode.h"
-
-#undef  coff_bfd_get_relocated_section_contents
-#undef coff_bfd_relax_section
-#define coff_bfd_get_relocated_section_contents \
-  bfd_coff_reloc16_get_relocated_section_contents
-#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
-
-CREATE_BIG_COFF_TARGET_VEC (h8500_coff_vec, "coff-h8500", 0, 0, '_', NULL, COFF_SWAP_TABLE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-i386.c ./bfd/coff-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-i386.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-i386.c	2018-07-10 02:06:11.000000000 +0000
@@ -661,27 +661,44 @@ const bfd_target
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
 /* Note that we allow an object file to be treated as a core file as well.  */
-    /* bfd_check_format */
+    
 #ifdef COFF_CHECK_FORMAT
-    {_bfd_dummy_target, COFF_CHECK_FORMAT,
-       bfd_generic_archive_p, COFF_CHECK_FORMAT},
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    COFF_CHECK_FORMAT,
+    bfd_generic_archive_p,
+    COFF_CHECK_FORMAT
+  },
 #else
-    {_bfd_dummy_target, coff_object_p, bfd_generic_archive_p, coff_object_p},
+  {
+    _bfd_dummy_target,
+    coff_object_p,
+    bfd_generic_archive_p,
+    coff_object_p
+  },
 #endif
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-       bfd_false},
-    {bfd_false, coff_write_object_contents, /* bfd_write_contents */
-       _bfd_write_archive_contents, bfd_false},
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    coff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    coff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
 
-     BFD_JUMP_TABLE_GENERIC (coff),
-     BFD_JUMP_TABLE_COPY (coff),
-     BFD_JUMP_TABLE_CORE (_bfd_nocore),
-     BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
-     BFD_JUMP_TABLE_SYMBOLS (coff),
-     BFD_JUMP_TABLE_RELOCS (coff),
-     BFD_JUMP_TABLE_WRITE (coff),
-     BFD_JUMP_TABLE_LINK (coff),
-     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+  BFD_JUMP_TABLE_GENERIC (coff),
+  BFD_JUMP_TABLE_COPY (coff),
+  BFD_JUMP_TABLE_CORE (_bfd_nocore),
+  BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
+  BFD_JUMP_TABLE_SYMBOLS (coff),
+  BFD_JUMP_TABLE_RELOCS (coff),
+  BFD_JUMP_TABLE_WRITE (coff),
+  BFD_JUMP_TABLE_LINK (coff),
+  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
   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.1.0.20180703/bfd/coff-i860.c ./bfd/coff-i860.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-i860.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-i860.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,718 +0,0 @@
-/* BFD back-end for Intel i860 COFF files.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Created mostly by substituting "860" for "386" in coff-i386.c
-   Harry Dolan <dolan@ssd.intel.com>, October 1995
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-#include "coff/i860.h"
-
-#include "coff/internal.h"
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata	NULL
-#endif
-
-#include "libcoff.h"
-
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2)
-/* The page size is a guess based on ELF.  */
-
-#define COFF_PAGE_SIZE 0x1000
-
-/* For some reason when using i860 COFF the value stored in the .text
-   section for a reference to a common symbol is the value itself plus
-   any desired offset.  Ian Taylor, Cygnus Support.  */
-
-/* If we are producing relocatable output, we need to do some
-   adjustments to the object file that are not done by the
-   bfd_perform_relocation function.  This function is called by every
-   reloc type to make any required adjustments.  */
-
-static bfd_reloc_status_type
-coff_i860_reloc (bfd *abfd,
-		 arelent *reloc_entry,
-		 asymbol *symbol,
-		 void *data,
-		 asection *input_section ATTRIBUTE_UNUSED,
-		 bfd *output_bfd,
-		 char **error_message ATTRIBUTE_UNUSED)
-{
-  symvalue diff;
-
-  if (output_bfd == (bfd *) NULL)
-    return bfd_reloc_continue;
-
-  if (bfd_is_com_section (symbol->section))
-    {
-      /* We are relocating a common symbol.  The current value in the
-	 object file is ORIG + OFFSET, where ORIG is the value of the
-	 common symbol as seen by the object file when it was compiled
-	 (this may be zero if the symbol was undefined) and OFFSET is
-	 the offset into the common symbol (normally zero, but may be
-	 non-zero when referring to a field in a common structure).
-	 ORIG is the negative of reloc_entry->addend, which is set by
-	 the CALC_ADDEND macro below.  We want to replace the value in
-	 the object file with NEW + OFFSET, where NEW is the value of
-	 the common symbol which we are going to put in the final
-	 object file.  NEW is symbol->value.  */
-      diff = symbol->value + reloc_entry->addend;
-    }
-  else
-    {
-      /* For some reason bfd_perform_relocation always effectively
-	 ignores the addend for a COFF target when producing
-	 relocatable output.  This seems to be always wrong for 860
-	 COFF, so we handle the addend here instead.  */
-      diff = reloc_entry->addend;
-    }
-
-#define DOIT(x) \
-  x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask))
-
-    if (diff != 0)
-      {
-	reloc_howto_type *howto = reloc_entry->howto;
-	unsigned char *addr = (unsigned char *) data + reloc_entry->address;
-
-	if (! bfd_reloc_offset_in_range (howto, abfd, input_section,
-					 reloc_entry->address
-					 * bfd_octets_per_byte (abfd)))
-	  return bfd_reloc_outofrange;
-
-	switch (howto->size)
-	  {
-	  case 0:
-	    {
-	      char x = bfd_get_8 (abfd, addr);
-	      DOIT (x);
-	      bfd_put_8 (abfd, x, addr);
-	    }
-	    break;
-
-	  case 1:
-	    {
-	      short x = bfd_get_16 (abfd, addr);
-	      DOIT (x);
-	      bfd_put_16 (abfd, (bfd_vma) x, addr);
-	    }
-	    break;
-
-	  case 2:
-	    {
-	      long x = bfd_get_32 (abfd, addr);
-	      DOIT (x);
-	      bfd_put_32 (abfd, (bfd_vma) x, addr);
-	    }
-	    break;
-
-	  default:
-	    abort ();
-	  }
-      }
-
-  /* Now let bfd_perform_relocation finish everything up.  */
-  return bfd_reloc_continue;
-}
-
-/* This is just a temporary measure until we teach bfd to generate
-   these relocations.  */
-
-static bfd_reloc_status_type
-coff_i860_reloc_nyi (bfd *abfd ATTRIBUTE_UNUSED,
-		     arelent *reloc_entry,
-		     asymbol *symbol ATTRIBUTE_UNUSED,
-		     void *data ATTRIBUTE_UNUSED,
-		     asection *input_section ATTRIBUTE_UNUSED,
-		     bfd *output_bfd ATTRIBUTE_UNUSED,
-		     char **error_message ATTRIBUTE_UNUSED)
-{
-  reloc_howto_type *howto = reloc_entry->howto;
-  _bfd_error_handler (_("relocation `%s' not yet implemented"), howto->name);
-  return bfd_reloc_notsupported;
-}
-
-#ifndef PCRELOFFSET
-#define PCRELOFFSET FALSE
-#endif
-
-static reloc_howto_type howto_table[] =
-{
-  EMPTY_HOWTO (0),
-  EMPTY_HOWTO (1),
-  EMPTY_HOWTO (2),
-  EMPTY_HOWTO (3),
-  EMPTY_HOWTO (4),
-  EMPTY_HOWTO (5),
-  HOWTO (R_DIR32,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "dir32",		/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 TRUE),		       /* pcrel_offset */
-  /* {7}, */
-  HOWTO (R_IMAGEBASE,		 /* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "rva32",		   /* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  EMPTY_HOWTO (010),
-  EMPTY_HOWTO (011),
-  EMPTY_HOWTO (012),
-  EMPTY_HOWTO (013),
-  EMPTY_HOWTO (014),
-  EMPTY_HOWTO (015),
-  EMPTY_HOWTO (016),
-  HOWTO (R_RELBYTE,		/* type */
-	 0,			/* rightshift */
-	 0,			/* size (0 = byte, 1 = short, 2 = long) */
-	 8,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "8",			/* name */
-	 TRUE,			/* partial_inplace */
-	 0x000000ff,		/* src_mask */
-	 0x000000ff,		/* dst_mask */
-	 PCRELOFFSET),		/* pcrel_offset */
-  HOWTO (R_RELWORD,		/* type */
-	 0,			/* rightshift */
-	 1,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "16",			/* name */
-	 TRUE,			/* partial_inplace */
-	 0x0000ffff,		/* src_mask */
-	 0x0000ffff,		/* dst_mask */
-	 PCRELOFFSET),		/* pcrel_offset */
-  HOWTO (R_RELLONG,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "32",			/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 PCRELOFFSET),		/* pcrel_offset */
-  HOWTO (R_PCRBYTE,		/* type */
-	 0,			/* rightshift */
-	 0,			/* size (0 = byte, 1 = short, 2 = long) */
-	 8,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "DISP8",		/* name */
-	 TRUE,			/* partial_inplace */
-	 0x000000ff,		/* src_mask */
-	 0x000000ff,		/* dst_mask */
-	 PCRELOFFSET),		/* pcrel_offset */
-  HOWTO (R_PCRWORD,		/* type */
-	 0,			/* rightshift */
-	 1,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "DISP16",		/* name */
-	 TRUE,			/* partial_inplace */
-	 0x0000ffff,		/* src_mask */
-	 0x0000ffff,		/* dst_mask */
-	 PCRELOFFSET),		/* pcrel_offset */
-  HOWTO (R_PCRLONG,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "DISP32",		/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 PCRELOFFSET),		/* pcrel_offset */
-  EMPTY_HOWTO (0x15),
-  EMPTY_HOWTO (0x16),
-  EMPTY_HOWTO (0x17),
-  EMPTY_HOWTO (0x18),
-  EMPTY_HOWTO (0x19),
-  EMPTY_HOWTO (0x1a),
-  EMPTY_HOWTO (0x1b),
-  HOWTO (COFF860_R_PAIR,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 coff_i860_reloc_nyi,	/* special_function */
-	 "PAIR",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xffff,		/* src_mask */
-	 0xffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  EMPTY_HOWTO (0x1d),
-  HOWTO (COFF860_R_HIGH,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "HIGH",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xffff,		/* src_mask */
-	 0xffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  HOWTO (COFF860_R_LOW0,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "LOW0",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xffff,		/* src_mask */
-	 0xffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  HOWTO (COFF860_R_LOW1,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "LOW1",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xfffe,		/* src_mask */
-	 0xfffe,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  HOWTO (COFF860_R_LOW2,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "LOW2",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xfffc,		/* src_mask */
-	 0xfffc,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  HOWTO (COFF860_R_LOW3,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "LOW3",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xfff8,		/* src_mask */
-	 0xfff8,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  HOWTO (COFF860_R_LOW4,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 coff_i860_reloc,	/* special_function */
-	 "LOW4",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xfff0,		/* src_mask */
-	 0xfff0,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  HOWTO (COFF860_R_SPLIT0,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 coff_i860_reloc_nyi,	/* special_function */
-	 "SPLIT0",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0x1f07ff,		/* src_mask */
-	 0x1f07ff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  HOWTO (COFF860_R_SPLIT1,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 coff_i860_reloc_nyi,	/* special_function */
-	 "SPLIT1",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0x1f07fe,		/* src_mask */
-	 0x1f07fe,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  HOWTO (COFF860_R_SPLIT2,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 coff_i860_reloc_nyi,	/* special_function */
-	 "SPLIT2",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0x1f07fc,		/* src_mask */
-	 0x1f07fc,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  HOWTO (COFF860_R_HIGHADJ,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 coff_i860_reloc_nyi,	/* special_function */
-	 "HIGHADJ",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xffff,		/* src_mask */
-	 0xffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-  HOWTO (COFF860_R_BRADDR,	/* type */
-	 2,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 26,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 coff_i860_reloc_nyi,	/* special_function */
-	 "BRADDR",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0x3ffffff,		/* src_mask */
-	 0x3ffffff,		/* dst_mask */
-	 TRUE)			/* pcrel_offset */
-};
-
-/* Turn a howto into a reloc number.  */
-
-#define SELECT_RELOC(x,howto) { x.r_type = howto->type; }
-#define BADMAG(x) I860BADMAG(x)
-#define I860 1			/* Customize coffcode.h */
-
-#define RTYPE2HOWTO(cache_ptr, dst)					\
-  ((cache_ptr)->howto =							\
-   ((dst)->r_type < sizeof (howto_table) / sizeof (howto_table[0])	\
-    ? howto_table + (dst)->r_type					\
-    : NULL))
-
-/* For 860 COFF a STYP_NOLOAD | STYP_BSS section is part of a shared
-   library.  On some other COFF targets STYP_BSS is normally
-   STYP_NOLOAD.  */
-#define BSS_NOLOAD_IS_SHARED_LIBRARY
-
-/* Compute the addend of a reloc.  If the reloc is to a common symbol,
-   the object file contains the value of the common symbol.  By the
-   time this is called, the linker may be using a different symbol
-   from a different object file with a different value.  Therefore, we
-   hack wildly to locate the original symbol from this file so that we
-   can make the correct adjustment.  This macro sets coffsym to the
-   symbol from the original file, and uses it to set the addend value
-   correctly.  If this is not a common symbol, the usual addend
-   calculation is done, except that an additional tweak is needed for
-   PC relative relocs.
-   FIXME: This macro refers to symbols and asect; these are from the
-   calling function, not the macro arguments.  */
-
-/* PR 17512: file: 0a38fb7c
-   Set an addend value, even if it is not going to be used.  A tool
-   like coffdump might be used to print out the contents of the reloc.  */
-#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr) (cache_ptr)->addend = 0
-
-/* We use the special COFF backend linker.  */
-#define coff_relocate_section _bfd_coff_generic_relocate_section
-
-static reloc_howto_type *
-coff_i860_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
-			  asection *sec,
-			  struct internal_reloc *rel,
-			  struct coff_link_hash_entry *h,
-			  struct internal_syment *sym,
-			  bfd_vma *addendp)
-{
-
-  reloc_howto_type *howto;
-
-  if (rel->r_type > sizeof (howto_table) / sizeof (howto_table[0]))
-    {
-      bfd_set_error (bfd_error_bad_value);
-      return NULL;
-    }
-
-  howto = howto_table + rel->r_type;
-
-  if (howto->pc_relative)
-    *addendp += sec->vma;
-
-  if (sym != NULL && sym->n_scnum == 0 && sym->n_value != 0)
-    {
-      /* This is a common symbol.  The section contents include the
-	 size (sym->n_value) as an addend.  The relocate_section
-	 function will be adding in the final value of the symbol.  We
-	 need to subtract out the current size in order to get the
-	 correct result.  */
-
-      BFD_ASSERT (h != NULL);
-
-      /* I think we *do* want to bypass this.  If we don't, I have seen some data
-	 parameters get the wrong relocation address.  If I link two versions
-	 with and without this section bypassed and then do a binary comparison,
-	 the addresses which are different can be looked up in the map.  The
-	 case in which this section has been bypassed has addresses which correspond
-	 to values I can find in the map.  */
-      *addendp -= sym->n_value;
-    }
-
-  /* If the output symbol is common (in which case this must be a
-     relocatable link), we need to add in the final size of the
-     common symbol.  */
-  if (h != NULL && h->root.type == bfd_link_hash_common)
-    *addendp += h->root.u.c.size;
-
-  return howto;
-}
-
-static reloc_howto_type *
-coff_i860_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			     bfd_reloc_code_real_type code)
-{
-  switch (code)
-    {
-    case BFD_RELOC_32:
-      return howto_table + R_DIR32;
-    case BFD_RELOC_860_PC26:
-      return howto_table + COFF860_R_BRADDR;
-    case BFD_RELOC_860_PC16:
-      /* ??? How to handle PC16 for COFF?  SPLIT0 is close for now.  */
-      return howto_table + COFF860_R_SPLIT0;
-    case BFD_RELOC_860_LOW0:
-      return howto_table + COFF860_R_LOW0;
-    case BFD_RELOC_860_SPLIT0:
-      return howto_table + COFF860_R_SPLIT0;
-    case BFD_RELOC_860_LOW1:
-      return howto_table + COFF860_R_LOW1;
-    case BFD_RELOC_860_SPLIT1:
-      return howto_table + COFF860_R_SPLIT1;
-    case BFD_RELOC_860_LOW2:
-      return howto_table + COFF860_R_LOW2;
-    case BFD_RELOC_860_SPLIT2:
-      return howto_table + COFF860_R_SPLIT2;
-    case BFD_RELOC_860_LOW3:
-      return howto_table + COFF860_R_LOW3;
-    case BFD_RELOC_860_HIGHADJ:
-      return howto_table + COFF860_R_HIGHADJ;
-    case BFD_RELOC_860_HIGH:
-      return howto_table + COFF860_R_HIGH;
-    default:
-      BFD_FAIL ();
-      return 0;
-    }
-}
-
-static reloc_howto_type *
-coff_i860_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			     const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0; i < sizeof (howto_table) / sizeof (howto_table[0]); i++)
-    if (howto_table[i].name != NULL
-	&& strcasecmp (howto_table[i].name, r_name) == 0)
-      return &howto_table[i];
-
-  return NULL;
-}
-
-/* This is called from coff_slurp_reloc_table for each relocation
-   entry.  This special handling is due to the `PAIR' relocation
-   which has a different meaning for the `r_symndx' field.  */
-
-static void
-i860_reloc_processing (arelent *cache_ptr, struct internal_reloc *dst,
-		       asymbol **symbols, bfd *abfd, asection *asect)
-{
-  if (dst->r_type == COFF860_R_PAIR)
-    {
-      /* Handle the PAIR relocation specially.  */
-      cache_ptr->howto = howto_table + dst->r_type;
-      cache_ptr->address = dst->r_vaddr;
-      cache_ptr->addend = dst->r_symndx;
-      cache_ptr->sym_ptr_ptr= bfd_abs_section_ptr->symbol_ptr_ptr;
-    }
-  else
-    {
-      /* For every other relocation, do exactly what coff_slurp_reloc_table
-	 would do (which this code is taken directly from).  */
-      asymbol *ptr = NULL;
-      cache_ptr->address = dst->r_vaddr;
-
-      if (dst->r_symndx != -1)
-	{
-	  if (dst->r_symndx < 0 || dst->r_symndx >= obj_conv_table_size (abfd))
-	    {
-	      _bfd_error_handler
-		/* xgettext: c-format */
-		(_("%B: warning: illegal symbol index %ld in relocs"),
-		 abfd, dst->r_symndx);
-	      cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-	      ptr = NULL;
-	    }
-	  else
-	    {
-	      cache_ptr->sym_ptr_ptr = (symbols
-					+ obj_convert (abfd)[dst->r_symndx]);
-	      ptr = *(cache_ptr->sym_ptr_ptr);
-	    }
-	}
-      else
-	{
-	  cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-	  ptr = NULL;
-	}
-
-      /* The symbols definitions that we have read in have been
-	 relocated as if their sections started at 0. But the offsets
-	 refering to the symbols in the raw data have not been
-	 modified, so we have to have a negative addend to compensate.
-
-	 Note that symbols which used to be common must be left alone.  */
-
-      /* Calculate any reloc addend by looking at the symbol.  */
-      CALC_ADDEND (abfd, ptr, (*dst), cache_ptr);
-      (void) ptr;
-
-      cache_ptr->address -= asect->vma;
-
-      /* Fill in the cache_ptr->howto field from dst->r_type.  */
-      RTYPE2HOWTO (cache_ptr, dst);
-    }
-}
-
-#define coff_rtype_to_howto		coff_i860_rtype_to_howto
-#define coff_bfd_reloc_type_lookup	coff_i860_reloc_type_lookup
-#define coff_bfd_reloc_name_lookup coff_i860_reloc_name_lookup
-
-#define RELOC_PROCESSING(relent, reloc, symbols, abfd, section) \
-  i860_reloc_processing (relent, reloc, symbols, abfd, section)
-
-#include "coffcode.h"
-
-static const bfd_target *
-i3coff_object_p(bfd *a)
-{
-  return coff_object_p (a);
-}
-
-const bfd_target
-#ifdef TARGET_SYM
-  TARGET_SYM =
-#else
-  i860_coff_vec =
-#endif
-{
-#ifdef TARGET_NAME
-  TARGET_NAME,
-#else
-  "coff-i860",			/* name */
-#endif
-  bfd_target_coff_flavour,
-  BFD_ENDIAN_LITTLE,		/* data byte order is little */
-  BFD_ENDIAN_LITTLE,		/* header byte order is little */
-
-  (HAS_RELOC | EXEC_P |		/* object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
-
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-  '_',				/* leading underscore */
-  '/',				/* ar_pad_char */
-  15,				/* ar_max_namelen */
-  0,				/* match priority.  */
-
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* data */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
-
-/* Note that we allow an object file to be treated as a core file as well.  */
-    {_bfd_dummy_target, i3coff_object_p, /* bfd_check_format */
-       bfd_generic_archive_p, i3coff_object_p},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-       bfd_false},
-    {bfd_false, coff_write_object_contents, /* bfd_write_contents */
-       _bfd_write_archive_contents, bfd_false},
-
-     BFD_JUMP_TABLE_GENERIC (coff),
-     BFD_JUMP_TABLE_COPY (coff),
-     BFD_JUMP_TABLE_CORE (_bfd_nocore),
-     BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
-     BFD_JUMP_TABLE_SYMBOLS (coff),
-     BFD_JUMP_TABLE_RELOCS (coff),
-     BFD_JUMP_TABLE_WRITE (coff),
-     BFD_JUMP_TABLE_LINK (coff),
-     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  NULL,
-
-  COFF_SWAP_TABLE
-};
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-i960.c ./bfd/coff-i960.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-i960.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-i960.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,654 +0,0 @@
-/* BFD back-end for Intel 960 COFF files.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define I960 1
-#define BADMAG(x) I960BADMAG(x)
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "coff/i960.h"
-#include "coff/internal.h"
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata	NULL
-#endif
-
-#include "libcoff.h"		/* To allow easier abstraction-breaking.  */
-
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3)
-#define COFF_ALIGN_IN_SECTION_HEADER 1
-
-#define GET_SCNHDR_ALIGN H_GET_32
-#define PUT_SCNHDR_ALIGN H_PUT_32
-
-/* The i960 does not support an MMU, so COFF_PAGE_SIZE can be
-   arbitrarily small.  */
-#define COFF_PAGE_SIZE 1
-
-#define COFF_LONG_FILENAMES
-
-/* This set of local label names is taken from gas.  */
-
-static bfd_boolean
-coff_i960_is_local_label_name (bfd *abfd ATTRIBUTE_UNUSED, const char *name)
-{
-  return (name[0] == 'L'
-	  || (name[0] == '.'
-	      && (name[1] == 'C'
-		  || name[1] == 'I'
-		  || name[1] == '.')));
-}
-
-/* This is just like the usual CALC_ADDEND, but it includes the
-   section VMA for PC relative relocs.  */
-#ifndef CALC_ADDEND
-#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr)		\
-  {								\
-    coff_symbol_type *coffsym = (coff_symbol_type *) NULL;	\
-    if (ptr && bfd_asymbol_bfd (ptr) != abfd)			\
-      coffsym = (obj_symbols (abfd)				\
-		 + (cache_ptr->sym_ptr_ptr - symbols));		\
-    else if (ptr)						\
-      coffsym = coff_symbol_from (ptr);				\
-    if (coffsym != (coff_symbol_type *) NULL			\
-	&& coffsym->native->u.syment.n_scnum == 0)		\
-      cache_ptr->addend = 0;					\
-    else if (ptr && bfd_asymbol_bfd (ptr) == abfd		\
-	     && ptr->section != (asection *) NULL)		\
-      cache_ptr->addend = - (ptr->section->vma + ptr->value);	\
-    else							\
-      cache_ptr->addend = 0;					\
-    if (ptr && (reloc.r_type == 25 || reloc.r_type == 27))	\
-      cache_ptr->addend += asect->vma;				\
-  }
-#endif
-
-#define CALLS	 0x66003800	/* Template for 'calls' instruction	*/
-#define BAL	 0x0b000000	/* Template for 'bal' instruction	*/
-#define BAL_MASK 0x00ffffff
-
-static bfd_reloc_status_type
-optcall_callback (bfd *abfd,
-		  arelent *reloc_entry,
-		  asymbol *symbol_in,
-		  void * data,
-		  asection *input_section,
-		  bfd *ignore_bfd ATTRIBUTE_UNUSED,
-		  char **error_message)
-{
-  /* This item has already been relocated correctly, but we may be
-   * able to patch in yet better code - done by digging out the
-   * correct info on this symbol */
-  bfd_reloc_status_type result;
-  coff_symbol_type *cs = coffsymbol(symbol_in);
-
-  /* Don't do anything with symbols which aren't tied up yet,
-     except move the reloc.  */
-  if (bfd_is_und_section (cs->symbol.section)) {
-    reloc_entry->address += input_section->output_offset;
-    return bfd_reloc_ok;
-  }
-
-  /* So the target symbol has to be of coff type, and the symbol
-     has to have the correct native information within it */
-  if ((bfd_asymbol_flavour(&cs->symbol) != bfd_target_coff_flavour)
-      || (cs->native == (combined_entry_type *)NULL))
-    {
-      /* This is interesting, consider the case where we're outputting coff
-	 from a mix n match input, linking from coff to a symbol defined in a
-	 bout file will cause this match to be true. Should I complain?  This
-	 will only work if the bout symbol is non leaf.  */
-      *error_message =
-	(char *) _("uncertain calling convention for non-COFF symbol");
-      result = bfd_reloc_dangerous;
-    }
-  else
-    {
-    switch (cs->native->u.syment.n_sclass)
-      {
-      case C_LEAFSTAT:
-      case C_LEAFEXT:
-	/* This is a call to a leaf procedure, replace instruction with a bal
-	   to the correct location.  */
-	{
-	  union internal_auxent *aux = &((cs->native+2)->u.auxent);
-	  int word = bfd_get_32 (abfd, (bfd_byte *)data + reloc_entry->address);
-	  int olf = (aux->x_bal.x_balntry - cs->native->u.syment.n_value);
-	  BFD_ASSERT(cs->native->u.syment.n_numaux==2);
-
-	  /* We replace the original call instruction with a bal to
-	     the bal entry point - the offset of which is described in
-	     the 2nd auxent of the original symbol. We keep the native
-	     sym and auxents untouched, so the delta between the two
-	     is the offset of the bal entry point.  */
-	  word = ((word +  olf)  & BAL_MASK) | BAL;
-	  bfd_put_32 (abfd, (bfd_vma) word,
-		      (bfd_byte *) data + reloc_entry->address);
-	}
-	result = bfd_reloc_ok;
-	break;
-      case C_SCALL:
-	/* This is a call to a system call, replace with a calls to # */
-	BFD_ASSERT(0);
-	result = bfd_reloc_ok;
-	break;
-      default:
-	result = bfd_reloc_ok;
-	break;
-      }
-  }
-  return result;
-}
-
-/* i960 COFF is used by VxWorks 5.1.  However, VxWorks 5.1 does not
-   appear to correctly handle a reloc against a symbol defined in the
-   same object file.  It appears to simply discard such relocs, rather
-   than adding their values into the object file.  We handle this here
-   by converting all relocs against defined symbols into relocs
-   against the section symbol, when generating a relocatable output
-   file.
-
-   Note that this function is only called if we are not using the COFF
-   specific backend linker.  It only does something when doing a
-   relocatable link, which will almost certainly fail when not
-   generating COFF i960 output, so this function is actually no longer
-   useful.  It was used before this target was converted to use the
-   COFF specific backend linker.  */
-
-static bfd_reloc_status_type
-coff_i960_relocate (bfd *abfd,
-		    arelent *reloc_entry,
-		    asymbol *symbol,
-		    void * data ATTRIBUTE_UNUSED,
-		    asection *input_section ATTRIBUTE_UNUSED,
-		    bfd *output_bfd,
-		    char **error_message ATTRIBUTE_UNUSED)
-{
-  asection *osec;
-
-  if (output_bfd == NULL)
-    {
-      /* Not generating relocatable output file.  */
-      return bfd_reloc_continue;
-    }
-
-  if (bfd_is_und_section (bfd_get_section (symbol)))
-    {
-      /* Symbol is not defined, so no need to worry about it.  */
-      return bfd_reloc_continue;
-    }
-
-  if (bfd_is_com_section (bfd_get_section (symbol)))
-    {
-      /* I don't really know what the right action is for a common
-	 symbol.  */
-      return bfd_reloc_continue;
-    }
-
-  /* Convert the reloc to use the section symbol.  FIXME: This method
-     is ridiculous.  */
-  osec = bfd_get_section (symbol)->output_section;
-  if (coff_section_data (output_bfd, osec) != NULL
-      && coff_section_data (output_bfd, osec)->tdata != NULL)
-    reloc_entry->sym_ptr_ptr =
-      (asymbol **) coff_section_data (output_bfd, osec)->tdata;
-  else
-    {
-      const char *sec_name;
-      asymbol **syms, **sym_end;
-
-      sec_name = bfd_get_section_name (output_bfd, osec);
-      syms = bfd_get_outsymbols (output_bfd);
-      sym_end = syms + bfd_get_symcount (output_bfd);
-      for (; syms < sym_end; syms++)
-	{
-	  if (bfd_asymbol_name (*syms) != NULL
-	      && (*syms)->value == 0
-	      && strcmp ((*syms)->section->output_section->name,
-			 sec_name) == 0)
-	    break;
-	}
-
-      if (syms >= sym_end)
-	abort ();
-
-      reloc_entry->sym_ptr_ptr = syms;
-
-      if (coff_section_data (output_bfd, osec) == NULL)
-	{
-	  bfd_size_type amt = sizeof (struct coff_section_tdata);
-	  osec->used_by_bfd = bfd_zalloc (abfd, amt);
-	  if (osec->used_by_bfd == NULL)
-	    return bfd_reloc_overflow;
-	}
-      coff_section_data (output_bfd, osec)->tdata = syms;
-    }
-
-  /* Let bfd_perform_relocation do its thing, which will include
-     stuffing the symbol addend into the object file.  */
-  return bfd_reloc_continue;
-}
-
-static reloc_howto_type howto_rellong =
-  HOWTO ((unsigned int) R_RELLONG, 0, 2, 32,FALSE, 0,
-	 complain_overflow_bitfield, coff_i960_relocate,"rellong", TRUE,
-	 0xffffffff, 0xffffffff, 0);
-static reloc_howto_type howto_iprmed =
-  HOWTO (R_IPRMED, 0, 2, 24,TRUE,0, complain_overflow_signed,
-	 coff_i960_relocate, "iprmed ", TRUE, 0x00ffffff, 0x00ffffff, 0);
-static reloc_howto_type howto_optcall =
-  HOWTO (R_OPTCALL, 0,2,24,TRUE,0, complain_overflow_signed,
-	 optcall_callback, "optcall", TRUE, 0x00ffffff, 0x00ffffff, 0);
-
-static reloc_howto_type *
-coff_i960_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			     bfd_reloc_code_real_type code)
-{
-  switch (code)
-    {
-    default:
-      return 0;
-    case BFD_RELOC_I960_CALLJ:
-      return &howto_optcall;
-    case BFD_RELOC_32:
-    case BFD_RELOC_CTOR:
-      return &howto_rellong;
-    case BFD_RELOC_24_PCREL:
-      return &howto_iprmed;
-    }
-}
-
-static reloc_howto_type *
-coff_i960_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			     const char *r_name)
-{
-  if (strcasecmp (howto_optcall.name, r_name) == 0)
-    return &howto_optcall;
-  if (strcasecmp (howto_rellong.name, r_name) == 0)
-    return &howto_rellong;
-  if (strcasecmp (howto_iprmed.name, r_name) == 0)
-    return &howto_iprmed;
-
-  return NULL;
-}
-
-/* The real code is in coffcode.h */
-
-#define RTYPE2HOWTO(cache_ptr, dst) \
-{							\
-   reloc_howto_type *howto_ptr;				\
-   switch ((dst)->r_type) {				\
-     case 17: howto_ptr = &howto_rellong; break;	\
-     case 25: howto_ptr = &howto_iprmed; break;		\
-     case 27: howto_ptr = &howto_optcall; break;	\
-     default: howto_ptr = 0; break;			\
-     }							\
-   (cache_ptr)->howto = howto_ptr;			\
- }
-
-/* i960 COFF is used by VxWorks 5.1.  However, VxWorks 5.1 does not
-   appear to correctly handle a reloc against a symbol defined in the
-   same object file.  It appears to simply discard such relocs, rather
-   than adding their values into the object file.  We handle this by
-   converting all relocs against global symbols into relocs against
-   internal symbols at the start of the section.  This routine is
-   called at the start of the linking process, and it creates the
-   necessary symbols.  */
-
-static bfd_boolean
-coff_i960_start_final_link (bfd *abfd, struct bfd_link_info *info)
-{
-  bfd_size_type symesz = bfd_coff_symesz (abfd);
-  asection *o;
-  bfd_byte *esym;
-
-  if (! bfd_link_relocatable (info))
-    return TRUE;
-
-  esym = (bfd_byte *) bfd_malloc (symesz);
-  if (esym == NULL)
-    return FALSE;
-
-  if (bfd_seek (abfd, obj_sym_filepos (abfd), SEEK_SET) != 0)
-    return FALSE;
-
-  for (o = abfd->sections; o != NULL; o = o->next)
-    {
-      struct internal_syment isym;
-
-      strncpy (isym._n._n_name, o->name, SYMNMLEN);
-      isym.n_value = 0;
-      isym.n_scnum = o->target_index;
-      isym.n_type = T_NULL;
-      isym.n_sclass = C_STAT;
-      isym.n_numaux = 0;
-
-      bfd_coff_swap_sym_out (abfd, &isym, esym);
-
-      if (bfd_bwrite (esym, symesz, abfd) != symesz)
-	{
-	  free (esym);
-	  return FALSE;
-	}
-
-      obj_raw_syment_count (abfd) += 1;
-    }
-
-  free (esym);
-
-  return TRUE;
-}
-
-/* The reloc processing routine for the optimized COFF linker.  */
-
-static bfd_boolean
-coff_i960_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
-			    struct bfd_link_info *info,
-			    bfd *input_bfd,
-			    asection *input_section,
-			    bfd_byte *contents,
-			    struct internal_reloc *relocs,
-			    struct internal_syment *syms,
-			    asection **sections)
-{
-  struct internal_reloc *rel;
-  struct internal_reloc *relend;
-
-  rel = relocs;
-  relend = rel + input_section->reloc_count;
-  for (; rel < relend; rel++)
-    {
-      long symndx;
-      struct coff_link_hash_entry *h;
-      struct internal_syment *sym;
-      bfd_vma addend;
-      bfd_vma val;
-      reloc_howto_type *howto;
-      bfd_reloc_status_type rstat = bfd_reloc_ok;
-      bfd_boolean done;
-
-      symndx = rel->r_symndx;
-
-      if (symndx == -1)
-	{
-	  h = NULL;
-	  sym = NULL;
-	}
-      else
-	{
-	  h = obj_coff_sym_hashes (input_bfd)[symndx];
-	  sym = syms + symndx;
-	}
-
-      if (sym != NULL && sym->n_scnum != 0)
-	addend = - sym->n_value;
-      else
-	addend = 0;
-
-      switch (rel->r_type)
-	{
-	case 17: howto = &howto_rellong; break;
-	case 25: howto = &howto_iprmed; break;
-	case 27: howto = &howto_optcall; break;
-	default:
-	  bfd_set_error (bfd_error_bad_value);
-	  return FALSE;
-	}
-
-      val = 0;
-
-      if (h == NULL)
-	{
-	  asection *sec;
-
-	  if (symndx == -1)
-	    {
-	      sec = bfd_abs_section_ptr;
-	      val = 0;
-	    }
-	  else
-	    {
-	      sec = sections[symndx];
-	      val = (sec->output_section->vma
-		     + sec->output_offset
-		     + sym->n_value
-		     - sec->vma);
-	    }
-	}
-      else
-	{
-	  if (h->root.type == bfd_link_hash_defined
-	      || h->root.type == bfd_link_hash_defweak)
-	    {
-	      asection *sec;
-
-	      sec = h->root.u.def.section;
-	      val = (h->root.u.def.value
-		     + sec->output_section->vma
-		     + sec->output_offset);
-	    }
-	  else if (! bfd_link_relocatable (info))
-	    (*info->callbacks->undefined_symbol)
-	      (info, h->root.root.string, input_bfd, input_section,
-	       rel->r_vaddr - input_section->vma, TRUE);
-	}
-
-      done = FALSE;
-
-      if (howto->type == R_OPTCALL && ! bfd_link_relocatable (info) && symndx != -1)
-	{
-	  int class_val;
-
-	  if (h != NULL)
-	    class_val = h->symbol_class;
-	  else
-	    class_val = sym->n_sclass;
-
-	  switch (class_val)
-	    {
-	    case C_NULL:
-	      /* This symbol is apparently not from a COFF input file.
-		 We warn, and then assume that it is not a leaf
-		 function.  */
-	      (*info->callbacks->reloc_dangerous)
-		(info,
-		 _("uncertain calling convention for non-COFF symbol"),
-		 input_bfd, input_section,
-		 rel->r_vaddr - input_section->vma);
-	      break;
-	    case C_LEAFSTAT:
-	    case C_LEAFEXT:
-	      /* This is a call to a leaf procedure; use the bal
-		 instruction.  */
-	      {
-		long olf;
-		unsigned long word;
-
-		if (h != NULL)
-		  {
-		    BFD_ASSERT (h->numaux == 2);
-		    olf = h->aux[1].x_bal.x_balntry;
-		  }
-		else
-		  {
-		    bfd_byte *esyms;
-		    union internal_auxent aux;
-
-		    BFD_ASSERT (sym->n_numaux == 2);
-		    esyms = (bfd_byte *) obj_coff_external_syms (input_bfd);
-		    esyms += (symndx + 2) * bfd_coff_symesz (input_bfd);
-		    bfd_coff_swap_aux_in (input_bfd, esyms, sym->n_type,
-					  sym->n_sclass, 1, sym->n_numaux,
-					  &aux);
-		    olf = aux.x_bal.x_balntry;
-		  }
-
-		word = bfd_get_32 (input_bfd,
-				   (contents
-				    + (rel->r_vaddr - input_section->vma)));
-		word = ((word + olf - val) & BAL_MASK) | BAL;
-		bfd_put_32 (input_bfd,
-			    (bfd_vma) word,
-			    contents + (rel->r_vaddr - input_section->vma));
-		done = TRUE;
-	      }
-	      break;
-	    case C_SCALL:
-	      BFD_ASSERT (0);
-	      break;
-	    }
-	}
-
-      if (! done)
-	{
-	  if (howto->pc_relative)
-	    addend += input_section->vma;
-	  rstat = _bfd_final_link_relocate (howto, input_bfd, input_section,
-					    contents,
-					    rel->r_vaddr - input_section->vma,
-					    val, addend);
-	}
-
-      switch (rstat)
-	{
-	default:
-	  abort ();
-	case bfd_reloc_ok:
-	  break;
-	case bfd_reloc_overflow:
-	  {
-	    const char *name;
-	    char buf[SYMNMLEN + 1];
-
-	    if (symndx == -1)
-	      name = "*ABS*";
-	    else if (h != NULL)
-	      name = NULL;
-	    else
-	      {
-		name = _bfd_coff_internal_syment_name (input_bfd, sym, buf);
-		if (name == NULL)
-		  return FALSE;
-	      }
-
-	    (*info->callbacks->reloc_overflow)
-	      (info, (h ? &h->root : NULL), name, howto->name,
-	       (bfd_vma) 0, input_bfd, input_section,
-	       rel->r_vaddr - input_section->vma);
-	  }
-	}
-    }
-
-  return TRUE;
-}
-
-/* Adjust the symbol index of any reloc against a global symbol to
-   instead be a reloc against the internal symbol we created specially
-   for the section.  */
-
-static bfd_boolean
-coff_i960_adjust_symndx (bfd *obfd ATTRIBUTE_UNUSED,
-			 struct bfd_link_info *info ATTRIBUTE_UNUSED,
-			 bfd *ibfd,
-			 asection *sec ATTRIBUTE_UNUSED,
-			 struct internal_reloc *irel,
-			 bfd_boolean *adjustedp)
-{
-  struct coff_link_hash_entry *h;
-
-  *adjustedp = FALSE;
-
-  h = obj_coff_sym_hashes (ibfd)[irel->r_symndx];
-  if (h == NULL
-      || (h->root.type != bfd_link_hash_defined
-	  && h->root.type != bfd_link_hash_defweak))
-    return TRUE;
-
-  irel->r_symndx = h->root.u.def.section->output_section->target_index - 1;
-  *adjustedp = TRUE;
-
-  return TRUE;
-}
-
-#define coff_bfd_is_local_label_name coff_i960_is_local_label_name
-
-#define coff_start_final_link coff_i960_start_final_link
-
-#define coff_relocate_section coff_i960_relocate_section
-
-#define coff_adjust_symndx coff_i960_adjust_symndx
-
-#define coff_bfd_reloc_type_lookup coff_i960_reloc_type_lookup
-#define coff_bfd_reloc_name_lookup coff_i960_reloc_name_lookup
-
-#include "coffcode.h"
-
-extern const bfd_target icoff_be_vec;
-
-CREATE_LITTLE_COFF_TARGET_VEC (icoff_le_vec, "coff-Intel-little", 0, 0, '_', & icoff_be_vec, COFF_SWAP_TABLE)
-
-const bfd_target icoff_be_vec =
-{
-  "coff-Intel-big",		/* name */
-  bfd_target_coff_flavour,
-  BFD_ENDIAN_LITTLE,		/* data byte order is little */
-  BFD_ENDIAN_BIG,		/* header byte order is big */
-
-  (HAS_RELOC | EXEC_P |		/* object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT),
-
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-  '_',				/* leading underscore */
-  '/',				/* ar_pad_char */
-  15,				/* ar_max_namelen */
-  0,				/* match priority.  */
-
-bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* data */
-bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-     bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
-
-  {_bfd_dummy_target, coff_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, coff_mkobject,	/* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
-
-     BFD_JUMP_TABLE_GENERIC (coff),
-     BFD_JUMP_TABLE_COPY (coff),
-     BFD_JUMP_TABLE_CORE (_bfd_nocore),
-     BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
-     BFD_JUMP_TABLE_SYMBOLS (coff),
-     BFD_JUMP_TABLE_RELOCS (coff),
-     BFD_JUMP_TABLE_WRITE (coff),
-     BFD_JUMP_TABLE_LINK (coff),
-     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  & icoff_le_vec,
-
-  COFF_SWAP_TABLE
-};
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-ia64.c ./bfd/coff-ia64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-ia64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-ia64.c	2018-07-10 02:06:11.000000000 +0000
@@ -72,7 +72,7 @@ ia64coff_object_p (bfd *abfd)
 {
 #ifdef COFF_IMAGE_WITH_PE
   {
-    struct external_PEI_DOS_hdr dos_hdr;
+    struct external_DOS_hdr dos_hdr;
     struct external_PEI_IMAGE_hdr image_hdr;
     file_ptr offset;
 
@@ -87,7 +87,7 @@ ia64coff_object_p (bfd *abfd)
 
     /* There are really two magic numbers involved; the magic number
        that says this is a NT executable (PEI) and the magic number
-       that determines the architecture.  The former is DOSMAGIC,
+       that determines the architecture.  The former is IMAGE_DOS_SIGNATURE,
        stored in the e_magic field.  The latter is stored in the
        f_magic field.  If the NT magic number isn't valid, the
        architecture magic number could be mimicked by some other
@@ -95,7 +95,7 @@ ia64coff_object_p (bfd *abfd)
        this routine can only be called correctly for a PEI file, check
        the e_magic number here, and, if it doesn't match, clobber the
        f_magic number so that we don't get a false match.  */
-    if (H_GET_16 (abfd, dos_hdr.e_magic) != DOSMAGIC)
+    if (H_GET_16 (abfd, dos_hdr.e_magic) != IMAGE_DOS_SIGNATURE)
       {
 	bfd_set_error (bfd_error_wrong_format);
 	return NULL;
@@ -149,9 +149,9 @@ const bfd_target
   BFD_ENDIAN_LITTLE,		/* data byte order is little */
   BFD_ENDIAN_LITTLE,		/* header byte order is little */
 
-  (HAS_RELOC | EXEC_P |		/* object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
+  (HAS_RELOC | EXEC_P		/* object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
 
 #ifndef COFF_WITH_PE
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC /* section flags */
@@ -179,22 +179,34 @@ const bfd_target
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
 /* Note that we allow an object file to be treated as a core file as well.  */
-    {_bfd_dummy_target, ia64coff_object_p, /* bfd_check_format */
-       bfd_generic_archive_p, ia64coff_object_p},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-       bfd_false},
-    {bfd_false, coff_write_object_contents, /* bfd_write_contents */
-       _bfd_write_archive_contents, bfd_false},
-
-     BFD_JUMP_TABLE_GENERIC (coff),
-     BFD_JUMP_TABLE_COPY (coff),
-     BFD_JUMP_TABLE_CORE (_bfd_nocore),
-     BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
-     BFD_JUMP_TABLE_SYMBOLS (coff),
-     BFD_JUMP_TABLE_RELOCS (coff),
-     BFD_JUMP_TABLE_WRITE (coff),
-     BFD_JUMP_TABLE_LINK (coff),
-     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    ia64coff_object_p,
+    bfd_generic_archive_p,
+    ia64coff_object_p
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    coff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    coff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
+
+  BFD_JUMP_TABLE_GENERIC (coff),
+  BFD_JUMP_TABLE_COPY (coff),
+  BFD_JUMP_TABLE_CORE (_bfd_nocore),
+  BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
+  BFD_JUMP_TABLE_SYMBOLS (coff),
+  BFD_JUMP_TABLE_RELOCS (coff),
+  BFD_JUMP_TABLE_WRITE (coff),
+  BFD_JUMP_TABLE_LINK (coff),
+  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
   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.1.0.20180703/bfd/cofflink.c ./bfd/cofflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cofflink.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cofflink.c	2018-07-10 02:06:11.000000000 +0000
@@ -349,7 +349,7 @@ coff_link_add_symbols (bfd *abfd,
 		      && (*sym_hash)->root.type != bfd_link_hash_undefined
 		      && (*sym_hash)->root.type != bfd_link_hash_undefweak)
 		    _bfd_error_handler
-		      (_("Warning: symbol `%s' is both section and non-section"),
+		      (_("warning: symbol `%s' is both section and non-section"),
 		       name);
 
 		  addit = FALSE;
@@ -451,8 +451,8 @@ coff_link_add_symbols (bfd *abfd,
 				   || BTYPE (sym.n_type) == T_NULL)))
 			_bfd_error_handler
 			  /* xgettext: c-format */
-			  (_("Warning: type of symbol `%s' changed"
-			     " from %d to %d in %B"),
+			  (_("warning: type of symbol `%s' changed"
+			     " from %d to %d in %pB"),
 			   name, (*sym_hash)->type, sym.n_type, abfd);
 
 		      /* We don't want to change from a meaningful
@@ -1839,7 +1839,7 @@ _bfd_coff_link_input_bfd (struct coff_fi
 
 	    case C_FCN:
 	      if (obj_pe (input_bfd)
-		  && strcmp (isym.n_name, ".bf") != 0
+		  && memcmp (isym.n_name, ".bf", sizeof ".bf") != 0
 		  && isym.n_scnum > 0)
 		{
 		  /* For PE, .lf and .ef get their value left alone,
@@ -2370,7 +2370,7 @@ _bfd_coff_link_input_bfd (struct coff_fi
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: relocs in section `%A', but it has no contents"),
+		(_("%pB: relocs in section `%pA', but it has no contents"),
 		 input_bfd, o);
 	      bfd_set_error (bfd_error_no_contents);
 	      return FALSE;
@@ -2433,8 +2433,8 @@ _bfd_coff_link_input_bfd (struct coff_fi
 	      if (ps->flags & SEC_EXCLUDE)
 		(*flaginfo->info->callbacks->einfo)
 		  /* xgettext: c-format */
-		  (_("%X`%s' referenced in section `%A' of %B: "
-		     "defined in discarded section `%A' of %B\n"),
+		  (_("%X`%s' referenced in section `%pA' of %pB: "
+		     "defined in discarded section `%pA' of %pB\n"),
 		   h->root.root.string, o, input_bfd, ps, ps->owner);
 	    }
 
@@ -2731,7 +2731,7 @@ _bfd_coff_write_global_sym (struct bfd_h
 		      || bfd_link_relocatable (flaginfo->info)))
 		_bfd_error_handler
 		  /* xgettext: c-format */
-		  (_("%B: %A: reloc overflow: %#x > 0xffff"),
+		  (_("%pB: %pA: reloc overflow: %#x > 0xffff"),
 		   output_bfd, sec, sec->reloc_count);
 
 	      if (sec->lineno_count > 0xffff
@@ -2739,7 +2739,7 @@ _bfd_coff_write_global_sym (struct bfd_h
 		      || bfd_link_relocatable (flaginfo->info)))
 		_bfd_error_handler
 		  /* xgettext: c-format */
-		  (_("%B: warning: %A: line number overflow: %#x > 0xffff"),
+		  (_("%pB: warning: %pA: line number overflow: %#x > 0xffff"),
 		   output_bfd, sec, sec->lineno_count);
 
 	      auxp->x_scn.x_nreloc = sec->reloc_count;
@@ -2962,7 +2962,7 @@ _bfd_coff_generic_relocate_section (bfd 
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: illegal symbol index %ld in relocs"), input_bfd, symndx);
+	    (_("%pB: illegal symbol index %ld in relocs"), input_bfd, symndx);
 	  return FALSE;
 	}
       else
@@ -3124,8 +3124,8 @@ _bfd_coff_generic_relocate_section (bfd 
 	case bfd_reloc_outofrange:
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: bad reloc address %#Lx in section `%A'"),
-	     input_bfd, rel->r_vaddr, input_section);
+	    (_("%pB: bad reloc address %#" PRIx64 " in section `%pA'"),
+	     input_bfd, (uint64_t) rel->r_vaddr, input_section);
 	  return FALSE;
 	case bfd_reloc_overflow:
 	  {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-m68k.c ./bfd/coff-m68k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-m68k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-m68k.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,548 +0,0 @@
-/* BFD back-end for Motorola 68000 COFF binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "coff/m68k.h"
-#include "coff/internal.h"
-#include "libcoff.h"
-
-/* This source file is compiled multiple times for various m68k COFF
-   variants.  The following macros control its behaviour:
-
-   TARGET_SYM
-     The C name of the BFD target vector.  The default is m68k_coff_vec.
-   TARGET_NAME
-     The user visible target name.  The default is "coff-m68k".
-   NAMES_HAVE_UNDERSCORE
-     Whether symbol names have an underscore.
-   ONLY_DECLARE_RELOCS
-     Only declare the relocation howto array.  Don't actually compile
-     it.  The actual array will be picked up in another version of the
-     file.
-   STATIC_RELOCS
-     Make the relocation howto array, and associated functions, static.
-   COFF_COMMON_ADDEND
-     If this is defined, then, for a relocation against a common
-     symbol, the object file holds the value (the size) of the common
-     symbol.  If this is not defined, then, for a relocation against a
-     common symbol, the object file holds zero.  */
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2)
-
-#ifndef COFF_PAGE_SIZE
-/* The page size is a guess based on ELF.  */
-#define COFF_PAGE_SIZE 0x2000
-#endif
-
-#ifndef COFF_COMMON_ADDEND
-#define RELOC_SPECIAL_FN 0
-#else
-static bfd_reloc_status_type m68kcoff_common_addend_special_fn
-  (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-
-#define RELOC_SPECIAL_FN m68kcoff_common_addend_special_fn
-#endif
-
-static bfd_boolean m68k_coff_is_local_label_name (bfd *, const char *);
-
-/* On the delta, a symbol starting with L% is local.  We won't see
-   such a symbol on other platforms, so it should be safe to always
-   consider it local here.  */
-
-static bfd_boolean
-m68k_coff_is_local_label_name (bfd *abfd, const char *name)
-{
-  if (name[0] == 'L' && name[1] == '%')
-    return TRUE;
-
-  return _bfd_coff_is_local_label_name (abfd, name);
-}
-
-#ifndef STATIC_RELOCS
-/* Clean up namespace.  */
-#define m68kcoff_howto_table	_bfd_m68kcoff_howto_table
-#define m68k_rtype2howto	_bfd_m68kcoff_rtype2howto
-#define m68k_howto2rtype	_bfd_m68kcoff_howto2rtype
-#define m68k_reloc_type_lookup	_bfd_m68kcoff_reloc_type_lookup
-#define m68k_reloc_name_lookup _bfd_m68kcoff_reloc_name_lookup
-#endif
-
-#ifdef ONLY_DECLARE_RELOCS
-extern reloc_howto_type m68kcoff_howto_table[];
-#else
-#ifdef STATIC_RELOCS
-static
-#endif
-reloc_howto_type m68kcoff_howto_table[] =
-  {
-    HOWTO (R_RELBYTE,	       0,  0,	8,  FALSE, 0, complain_overflow_bitfield, RELOC_SPECIAL_FN, "8",	TRUE, 0x000000ff,0x000000ff, FALSE),
-    HOWTO (R_RELWORD,	       0,  1,	16, FALSE, 0, complain_overflow_bitfield, RELOC_SPECIAL_FN, "16",	TRUE, 0x0000ffff,0x0000ffff, FALSE),
-    HOWTO (R_RELLONG,	       0,  2,	32, FALSE, 0, complain_overflow_bitfield, RELOC_SPECIAL_FN, "32",	TRUE, 0xffffffff,0xffffffff, FALSE),
-    HOWTO (R_PCRBYTE,	       0,  0,	8,  TRUE,  0, complain_overflow_signed,	  RELOC_SPECIAL_FN, "DISP8",	TRUE, 0x000000ff,0x000000ff, FALSE),
-    HOWTO (R_PCRWORD,	       0,  1,	16, TRUE,  0, complain_overflow_signed,	  RELOC_SPECIAL_FN, "DISP16",	TRUE, 0x0000ffff,0x0000ffff, FALSE),
-    HOWTO (R_PCRLONG,	       0,  2,	32, TRUE,  0, complain_overflow_signed,	  RELOC_SPECIAL_FN, "DISP32",	TRUE, 0xffffffff,0xffffffff, FALSE),
-    HOWTO (R_RELLONG_NEG,      0, -2,	32, FALSE, 0, complain_overflow_bitfield, RELOC_SPECIAL_FN, "-32",	TRUE, 0xffffffff,0xffffffff, FALSE),
-  };
-#endif /* not ONLY_DECLARE_RELOCS */
-
-#ifndef BADMAG
-#define BADMAG(x) M68KBADMAG(x)
-#endif
-#define M68 1		/* Customize coffcode.h */
-
-/* Turn a howto into a reloc number */
-
-#ifdef ONLY_DECLARE_RELOCS
-extern void m68k_rtype2howto (arelent *internal, int relocentry);
-extern int m68k_howto2rtype (reloc_howto_type *);
-extern reloc_howto_type * m68k_reloc_type_lookup
-  (bfd *, bfd_reloc_code_real_type);
-extern reloc_howto_type * m68k_reloc_name_lookup (bfd *, const char *);
-#else
-
-#ifdef STATIC_RELOCS
-#define STAT_REL static
-#else
-#define STAT_REL
-#endif
-
-STAT_REL void m68k_rtype2howto (arelent *, int);
-STAT_REL int  m68k_howto2rtype (reloc_howto_type *);
-STAT_REL reloc_howto_type * m68k_reloc_type_lookup (bfd *, bfd_reloc_code_real_type);
-STAT_REL reloc_howto_type * m68k_reloc_name_lookup (bfd *, const char *);
-
-STAT_REL void
-m68k_rtype2howto (arelent *internal, int relocentry)
-{
-  switch (relocentry)
-    {
-    case R_RELBYTE:	internal->howto = m68kcoff_howto_table + 0; break;
-    case R_RELWORD:	internal->howto = m68kcoff_howto_table + 1; break;
-    case R_RELLONG:	internal->howto = m68kcoff_howto_table + 2; break;
-    case R_PCRBYTE:	internal->howto = m68kcoff_howto_table + 3; break;
-    case R_PCRWORD:	internal->howto = m68kcoff_howto_table + 4; break;
-    case R_PCRLONG:	internal->howto = m68kcoff_howto_table + 5; break;
-    case R_RELLONG_NEG:	internal->howto = m68kcoff_howto_table + 6; break;
-    default:		internal->howto = NULL; break;
-    }
-}
-
-STAT_REL int
-m68k_howto2rtype (reloc_howto_type * internal)
-{
-  if (internal->pc_relative)
-    {
-      switch (internal->bitsize)
-	{
-	case 32: return R_PCRLONG;
-	case 16: return R_PCRWORD;
-	case 8: return R_PCRBYTE;
-	}
-    }
-  else
-    {
-      switch (internal->bitsize)
-	{
-	case 32: return R_RELLONG;
-	case 16: return R_RELWORD;
-	case 8: return R_RELBYTE;
-	}
-    }
-  return R_RELLONG;
-}
-
-STAT_REL reloc_howto_type *
-m68k_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			bfd_reloc_code_real_type code)
-{
-  switch (code)
-    {
-    default:			return NULL;
-    case BFD_RELOC_8:		return m68kcoff_howto_table + 0;
-    case BFD_RELOC_16:		return m68kcoff_howto_table + 1;
-    case BFD_RELOC_CTOR:
-    case BFD_RELOC_32:		return m68kcoff_howto_table + 2;
-    case BFD_RELOC_8_PCREL:	return m68kcoff_howto_table + 3;
-    case BFD_RELOC_16_PCREL:	return m68kcoff_howto_table + 4;
-    case BFD_RELOC_32_PCREL:	return m68kcoff_howto_table + 5;
-      /* FIXME: There doesn't seem to be a code for R_RELLONG_NEG.  */
-    }
-  /*NOTREACHED*/
-}
-
-STAT_REL reloc_howto_type *
-m68k_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0;
-       i < sizeof (m68kcoff_howto_table) / sizeof (m68kcoff_howto_table[0]);
-       i++)
-    if (m68kcoff_howto_table[i].name != NULL
-	&& strcasecmp (m68kcoff_howto_table[i].name, r_name) == 0)
-      return &m68kcoff_howto_table[i];
-
-  return NULL;
-}
-
-#endif /* not ONLY_DECLARE_RELOCS */
-
-#define RTYPE2HOWTO(internal, relocentry) \
-  m68k_rtype2howto(internal, (relocentry)->r_type)
-
-#define SELECT_RELOC(external, internal) \
-  external.r_type = m68k_howto2rtype (internal)
-
-#define coff_bfd_reloc_type_lookup m68k_reloc_type_lookup
-#define coff_bfd_reloc_name_lookup m68k_reloc_name_lookup
-
-#ifndef COFF_COMMON_ADDEND
-#ifndef coff_rtype_to_howto
-
-#define coff_rtype_to_howto m68kcoff_rtype_to_howto
-
-static reloc_howto_type *
-m68kcoff_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
-			 asection *sec,
-			 struct internal_reloc *rel,
-			 struct coff_link_hash_entry *h ATTRIBUTE_UNUSED,
-			 struct internal_syment *sym ATTRIBUTE_UNUSED,
-			 bfd_vma *addendp)
-{
-  arelent relent;
-  reloc_howto_type *howto;
-
-  relent.howto = NULL;
-  RTYPE2HOWTO (&relent, rel);
-
-  howto = relent.howto;
-
-  if (howto != NULL && howto->pc_relative)
-    *addendp += sec->vma;
-
-  return howto;
-}
-
-#endif /* ! defined (coff_rtype_to_howto) */
-#endif /* ! defined (COFF_COMMON_ADDEND) */
-
-#ifdef COFF_COMMON_ADDEND
-
-/* If COFF_COMMON_ADDEND is defined, then when using m68k COFF the
-   value stored in the .text section for a reference to a common
-   symbol is the value itself plus any desired offset.  (taken from
-   work done by Ian Taylor, Cygnus Support, for I386 COFF).  */
-
-/* If we are producing relocatable output, we need to do some
-   adjustments to the object file that are not done by the
-   bfd_perform_relocation function.  This function is called by every
-   reloc type to make any required adjustments.  */
-
-static bfd_reloc_status_type
-m68kcoff_common_addend_special_fn (bfd *abfd,
-				   arelent *reloc_entry,
-				   asymbol *symbol,
-				   void * data,
-				   asection *input_section ATTRIBUTE_UNUSED,
-				   bfd *output_bfd,
-				   char **error_message ATTRIBUTE_UNUSED)
-{
-  symvalue diff;
-
-  if (output_bfd == (bfd *) NULL)
-    return bfd_reloc_continue;
-
-  if (bfd_is_com_section (symbol->section))
-    {
-      /* We are relocating a common symbol.  The current value in the
-	 object file is ORIG + OFFSET, where ORIG is the value of the
-	 common symbol as seen by the object file when it was compiled
-	 (this may be zero if the symbol was undefined) and OFFSET is
-	 the offset into the common symbol (normally zero, but may be
-	 non-zero when referring to a field in a common structure).
-	 ORIG is the negative of reloc_entry->addend, which is set by
-	 the CALC_ADDEND macro below.  We want to replace the value in
-	 the object file with NEW + OFFSET, where NEW is the value of
-	 the common symbol which we are going to put in the final
-	 object file.  NEW is symbol->value.  */
-      diff = symbol->value + reloc_entry->addend;
-    }
-  else
-    {
-      /* For some reason bfd_perform_relocation always effectively
-	 ignores the addend for a COFF target when producing
-	 relocatable output.  This seems to be always wrong for 386
-	 COFF, so we handle the addend here instead.  */
-      diff = reloc_entry->addend;
-    }
-
-#define DOIT(x) \
-  x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask))
-
-  if (diff != 0)
-    {
-      reloc_howto_type *howto = reloc_entry->howto;
-      unsigned char *addr = (unsigned char *) data + reloc_entry->address;
-
-      if (! bfd_reloc_offset_in_range (howto, abfd, input_section,
-				       reloc_entry->address
-				       * bfd_octets_per_byte (abfd)))
-	return bfd_reloc_outofrange;
-
-      switch (howto->size)
-	{
-	case 0:
-	  {
-	    char x = bfd_get_8 (abfd, addr);
-	    DOIT (x);
-	    bfd_put_8 (abfd, x, addr);
-	  }
-	  break;
-
-	case 1:
-	  {
-	    short x = bfd_get_16 (abfd, addr);
-	    DOIT (x);
-	    bfd_put_16 (abfd, (bfd_vma) x, addr);
-	  }
-	  break;
-
-	case 2:
-	  {
-	    long x = bfd_get_32 (abfd, addr);
-	    DOIT (x);
-	    bfd_put_32 (abfd, (bfd_vma) x, addr);
-	  }
-	  break;
-
-	default:
-	  abort ();
-	}
-    }
-
-  /* Now let bfd_perform_relocation finish everything up.  */
-  return bfd_reloc_continue;
-}
-
-/* Compute the addend of a reloc.  If the reloc is to a common symbol,
-   the object file contains the value of the common symbol.  By the
-   time this is called, the linker may be using a different symbol
-   from a different object file with a different value.  Therefore, we
-   hack wildly to locate the original symbol from this file so that we
-   can make the correct adjustment.  This macro sets coffsym to the
-   symbol from the original file, and uses it to set the addend value
-   correctly.  If this is not a common symbol, the usual addend
-   calculation is done, except that an additional tweak is needed for
-   PC relative relocs.
-   FIXME: This macro refers to symbols and asect; these are from the
-   calling function, not the macro arguments.  */
-
-#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr)		\
-  {								\
-    coff_symbol_type *coffsym = (coff_symbol_type *) NULL;	\
-    if (ptr && bfd_asymbol_bfd (ptr) != abfd)			\
-      coffsym = (obj_symbols (abfd)				\
-		 + (cache_ptr->sym_ptr_ptr - symbols));		\
-    else if (ptr)						\
-      coffsym = coff_symbol_from (ptr);				\
-    if (coffsym != (coff_symbol_type *) NULL			\
-	&& coffsym->native->u.syment.n_scnum == 0)		\
-      cache_ptr->addend = - coffsym->native->u.syment.n_value;	\
-    else if (ptr && bfd_asymbol_bfd (ptr) == abfd		\
-	     && ptr->section != (asection *) NULL)		\
-      cache_ptr->addend = - (ptr->section->vma + ptr->value);	\
-    else							\
-      cache_ptr->addend = 0;					\
-    if (ptr && (reloc.r_type == R_PCRBYTE			\
-		|| reloc.r_type == R_PCRWORD			\
-		|| reloc.r_type == R_PCRLONG))			\
-      cache_ptr->addend += asect->vma;				\
-  }
-
-#ifndef coff_rtype_to_howto
-
-/* coff-m68k.c uses the special COFF backend linker.  We need to
-   adjust common symbols.  */
-
-static reloc_howto_type *
-m68kcoff_common_addend_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
-				       asection *sec,
-				       struct internal_reloc *rel,
-				       struct coff_link_hash_entry *h,
-				       struct internal_syment *sym,
-				       bfd_vma *addendp)
-{
-  arelent relent;
-  reloc_howto_type *howto;
-
-  relent.howto = NULL;
-  RTYPE2HOWTO (&relent, rel);
-
-  howto = relent.howto;
-
-  if (howto->pc_relative)
-    *addendp += sec->vma;
-
-  if (sym != NULL && sym->n_scnum == 0 && sym->n_value != 0)
-    {
-      /* This is a common symbol.  The section contents include the
-	 size (sym->n_value) as an addend.  The relocate_section
-	 function will be adding in the final value of the symbol.  We
-	 need to subtract out the current size in order to get the
-	 correct result.  */
-      BFD_ASSERT (h != NULL);
-      *addendp -= sym->n_value;
-    }
-
-  /* If the output symbol is common (in which case this must be a
-     relocatable link), we need to add in the final size of the
-     common symbol.  */
-  if (h != NULL && h->root.type == bfd_link_hash_common)
-    *addendp += h->root.u.c.size;
-
-  return howto;
-}
-
-#define coff_rtype_to_howto m68kcoff_common_addend_rtype_to_howto
-
-#endif /* ! defined (coff_rtype_to_howto) */
-
-#endif /* COFF_COMMON_ADDEND */
-
-#if !defined ONLY_DECLARE_RELOCS && ! defined STATIC_RELOCS
-/* Given a .data section and a .emreloc in-memory section, store
-   relocation information into the .emreloc section which can be
-   used at runtime to relocate the section.  This is called by the
-   linker when the --embedded-relocs switch is used.  This is called
-   after the add_symbols entry point has been called for all the
-   objects, and before the final_link entry point is called.  */
-
-bfd_boolean
-bfd_m68k_coff_create_embedded_relocs (bfd *abfd,
-				      struct bfd_link_info *info,
-				      asection *datasec,
-				      asection *relsec,
-				      char **errmsg)
-{
-  char *extsyms;
-  bfd_size_type symesz;
-  struct internal_reloc *irel, *irelend;
-  bfd_byte *p;
-  bfd_size_type amt;
-
-  BFD_ASSERT (! bfd_link_relocatable (info));
-
-  *errmsg = NULL;
-
-  if (datasec->reloc_count == 0)
-    return TRUE;
-
-  extsyms = obj_coff_external_syms (abfd);
-  symesz = bfd_coff_symesz (abfd);
-
-  irel = _bfd_coff_read_internal_relocs (abfd, datasec, TRUE, NULL, FALSE,
-					 NULL);
-  irelend = irel + datasec->reloc_count;
-
-  amt = (bfd_size_type) datasec->reloc_count * 12;
-  relsec->contents = (bfd_byte *) bfd_alloc (abfd, amt);
-  if (relsec->contents == NULL)
-    return FALSE;
-
-  p = relsec->contents;
-
-  for (; irel < irelend; irel++, p += 12)
-    {
-      asection *targetsec;
-
-      /* We are going to write a four byte longword into the runtime
-       reloc section.  The longword will be the address in the data
-       section which must be relocated.  It is followed by the name
-       of the target section NUL-padded or truncated to 8
-       characters.  */
-
-      /* We can only relocate absolute longword relocs at run time.  */
-      if (irel->r_type != R_RELLONG)
-	{
-	  *errmsg = _("unsupported reloc type");
-	  bfd_set_error (bfd_error_bad_value);
-	  return FALSE;
-	}
-
-      if (irel->r_symndx == -1)
-	targetsec = bfd_abs_section_ptr;
-      else
-	{
-	  struct coff_link_hash_entry *h;
-
-	  h = obj_coff_sym_hashes (abfd)[irel->r_symndx];
-	  if (h == NULL)
-	    {
-	      struct internal_syment isym;
-
-	      bfd_coff_swap_sym_in (abfd, extsyms + symesz * irel->r_symndx,
-				    &isym);
-	      targetsec = coff_section_from_bfd_index (abfd, isym.n_scnum);
-	    }
-	  else if (h->root.type == bfd_link_hash_defined
-		   || h->root.type == bfd_link_hash_defweak)
-	    targetsec = h->root.u.def.section;
-	  else
-	    targetsec = NULL;
-	}
-
-      bfd_put_32 (abfd,
-		  (irel->r_vaddr - datasec->vma + datasec->output_offset), p);
-      memset (p + 4, 0, 8);
-      if (targetsec != NULL)
-	strncpy ((char *) p + 4, targetsec->output_section->name, 8);
-    }
-
-  return TRUE;
-}
-#endif /* neither ONLY_DECLARE_RELOCS not STATIC_RELOCS  */
-
-#define coff_bfd_is_local_label_name m68k_coff_is_local_label_name
-
-#define coff_relocate_section _bfd_coff_generic_relocate_section
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata	NULL
-#endif
-
-#include "coffcode.h"
-
-#ifndef TARGET_SYM
-#define TARGET_SYM m68k_coff_vec
-#endif
-
-#ifndef TARGET_NAME
-#define TARGET_NAME "coff-m68k"
-#endif
-
-#ifdef NAMES_HAVE_UNDERSCORE
-CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, D_PAGED, 0, '_', NULL, COFF_SWAP_TABLE)
-#else
-CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, D_PAGED, 0, 0, NULL, COFF_SWAP_TABLE)
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-m88k.c ./bfd/coff-m88k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-m88k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-m88k.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,291 +0,0 @@
-/* BFD back-end for Motorola 88000 COFF "Binary Compatibility Standard" files.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define M88 1		/* Customize various include files */
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "coff/m88k.h"
-#include "coff/internal.h"
-#include "libcoff.h"
-
-static bfd_reloc_status_type m88k_special_reloc
-  (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3)
-
-#define GET_SCNHDR_NRELOC H_GET_32
-#define GET_SCNHDR_NLNNO  H_GET_32
-
-/* On coff-m88k, local labels start with '@'.  */
-
-#define coff_bfd_is_local_label_name m88k_is_local_label_name
-
-static bfd_boolean
-m88k_is_local_label_name (bfd *abfd ATTRIBUTE_UNUSED, const char *name)
-{
-  return name[0] == '@';
-}
-
-static bfd_reloc_status_type
-m88k_special_reloc (bfd *abfd,
-		    arelent *reloc_entry,
-		    asymbol *symbol,
-		    void * data,
-		    asection *input_section,
-		    bfd *output_bfd,
-		    char **error_message ATTRIBUTE_UNUSED)
-{
-  reloc_howto_type *howto = reloc_entry->howto;
-
-  switch (howto->type)
-    {
-    case R_HVRT16:
-    case R_LVRT16:
-      if (output_bfd != (bfd *) NULL)
-	{
-	  /* This is a partial relocation, and we want to apply the
-	     relocation to the reloc entry rather than the raw data.
-	     Modify the reloc inplace to reflect what we now know.  */
-
-	  reloc_entry->address += input_section->output_offset;
-	}
-      else
-	{
-	  bfd_vma output_base = 0;
-	  bfd_vma addr = reloc_entry->address;
-	  bfd_vma x;
-	  asection *reloc_target_output_section;
-	  long relocation = 0;
-
-	  if (! bfd_reloc_offset_in_range (howto, abfd, input_section,
-					   reloc_entry->address
-					   * bfd_octets_per_byte (abfd)))
-	    return bfd_reloc_outofrange;
-
-	  x = bfd_get_16 (abfd, (bfd_byte *) data + addr);
-
-	  /* Work out which section the relocation is targeted at and the
-	     initial relocation command value.  */
-
-	  /* Get symbol value.  (Common symbols are special.)  */
-	  if (bfd_is_com_section (symbol->section))
-	    relocation = 0;
-	  else
-	    relocation = symbol->value;
-
-	  reloc_target_output_section = symbol->section->output_section;
-
-	  /* Convert input-section-relative symbol value to absolute.  */
-	  if (output_bfd)
-	    output_base = 0;
-	  else
-	    output_base = reloc_target_output_section->vma;
-
-	  relocation += output_base + symbol->section->output_offset;
-
-	  /* Add in supplied addend.  */
-	  relocation += ((reloc_entry->addend << howto->bitsize) + x);
-
-	  reloc_entry->addend = 0;
-
-	  relocation >>= (bfd_vma) howto->rightshift;
-
-	  /* Shift everything up to where it's going to be used */
-
-	  relocation <<= (bfd_vma) howto->bitpos;
-
-	  if (relocation)
-	    bfd_put_16 (abfd, (bfd_vma) relocation,
-			(unsigned char *) data + addr);
-	}
-
-      /* If we are not producing relocatable output, return an error if
-	 the symbol is not defined.  */
-      if (bfd_is_und_section (symbol->section) && output_bfd == (bfd *) NULL)
-	return bfd_reloc_undefined;
-
-      return bfd_reloc_ok;
-
-    default:
-      if (output_bfd != (bfd *) NULL)
-	{
-	  /* This is a partial relocation, and we want to apply the
-	     relocation to the reloc entry rather than the raw data.
-	     Modify the reloc inplace to reflect what we now know.  */
-
-	  reloc_entry->address += input_section->output_offset;
-	  return bfd_reloc_ok;
-	}
-      break;
-    }
-
-  if (output_bfd == (bfd *) NULL)
-    return bfd_reloc_continue;
-
-  return bfd_reloc_ok;
-}
-
-static reloc_howto_type howto_table[] =
-{
-  HOWTO (R_PCR16L,			/* type */
-	 02,				/* rightshift */
-	 1,				/* size (0 = byte, 1 = short, 2 = long) */
-	 16,				/* bitsize */
-	 TRUE,				/* pc_relative */
-	 0,				/* bitpos */
-	 complain_overflow_signed,	/* complain_on_overflow */
-	 m88k_special_reloc,		/* special_function */
-	 "PCR16L",			/* name */
-	 FALSE,				/* partial_inplace */
-	 0x0000ffff,			/* src_mask */
-	 0x0000ffff,			/* dst_mask */
-	 TRUE),				/* pcrel_offset */
-
-  HOWTO (R_PCR26L,			/* type */
-	 02,				/* rightshift */
-	 2,				/* size (0 = byte, 1 = short, 2 = long) */
-	 26,				/* bitsize */
-	 TRUE,				/* pc_relative */
-	 0,				/* bitpos */
-	 complain_overflow_signed,	/* complain_on_overflow */
-	 m88k_special_reloc,		/* special_function */
-	 "PCR26L",			/* name */
-	 FALSE,				/* partial_inplace */
-	 0x03ffffff,			/* src_mask */
-	 0x03ffffff,			/* dst_mask */
-	 TRUE),				/* pcrel_offset */
-
-  HOWTO (R_VRT16,			/* type */
-	 00,				/* rightshift */
-	 1,				/* size (0 = byte, 1 = short, 2 = long) */
-	 16,				/* bitsize */
-	 FALSE,				/* pc_relative */
-	 0,				/* bitpos */
-	 complain_overflow_bitfield,	/* complain_on_overflow */
-	 m88k_special_reloc,		/* special_function */
-	 "VRT16",			/* name */
-	 FALSE,				/* partial_inplace */
-	 0x0000ffff,			/* src_mask */
-	 0x0000ffff,			/* dst_mask */
-	 TRUE),				/* pcrel_offset */
-
-  HOWTO (R_HVRT16,			/* type */
-	 16,				/* rightshift */
-	 1,				/* size (0 = byte, 1 = short, 2 = long) */
-	 16,				/* bitsize */
-	 FALSE,				/* pc_relative */
-	 0,				/* bitpos */
-	 complain_overflow_dont,	/* complain_on_overflow */
-	 m88k_special_reloc,		/* special_function */
-	 "HVRT16",			/* name */
-	 FALSE,				/* partial_inplace */
-	 0x0000ffff,			/* src_mask */
-	 0x0000ffff,			/* dst_mask */
-	 TRUE),				/* pcrel_offset */
-
-  HOWTO (R_LVRT16,			/* type */
-	 00,				/* rightshift */
-	 1,				/* size (0 = byte, 1 = short, 2 = long) */
-	 16,				/* bitsize */
-	 FALSE,				/* pc_relative */
-	 0,				/* bitpos */
-	 complain_overflow_dont,	/* complain_on_overflow */
-	 m88k_special_reloc,		/* special_function */
-	 "LVRT16",			/* name */
-	 FALSE,				/* partial_inplace */
-	 0x0000ffff,			/* src_mask */
-	 0x0000ffff,			/* dst_mask */
-	 TRUE),				/* pcrel_offset */
-
-  HOWTO (R_VRT32,			/* type */
-	 00,				/* rightshift */
-	 2,				/* size (0 = byte, 1 = short, 2 = long) */
-	 32,				/* bitsize */
-	 FALSE,				/* pc_relative */
-	 0,				/* bitpos */
-	 complain_overflow_bitfield,	/* complain_on_overflow */
-	 m88k_special_reloc,		/* special_function */
-	 "VRT32",			/* name */
-	 FALSE,				/* partial_inplace */
-	 0xffffffff,			/* src_mask */
-	 0xffffffff,			/* dst_mask */
-	 TRUE),				/* pcrel_offset */
-};
-
-/* Code to turn an external r_type into a pointer to an entry in the
-   above howto table.  */
-static void
-rtype2howto (arelent *cache_ptr, struct internal_reloc *dst)
-{
-  if (dst->r_type >= R_PCR16L && dst->r_type <= R_VRT32)
-    {
-      cache_ptr->howto = howto_table + dst->r_type - R_PCR16L;
-    }
-  else
-    {
-      BFD_ASSERT (0);
-    }
-}
-
-#define RTYPE2HOWTO(cache_ptr, dst) rtype2howto (cache_ptr, dst)
-
-/* Code to swap in the reloc offset */
-#define SWAP_IN_RELOC_OFFSET  H_GET_16
-#define SWAP_OUT_RELOC_OFFSET H_PUT_16
-
-#define RELOC_PROCESSING(relent,reloc,symbols,abfd,section)	\
-  reloc_processing(relent, reloc, symbols, abfd, section)
-
-static void
-reloc_processing (arelent *relent,
-		  struct internal_reloc *reloc,
-		  asymbol **symbols,
-		  bfd *abfd,
-		  asection *section)
-{
-  relent->address = reloc->r_vaddr;
-  rtype2howto (relent, reloc);
-
-  if (((int) reloc->r_symndx) > 0)
-    {
-      relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx];
-    }
-  else
-    {
-      relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-    }
-
-  relent->addend = reloc->r_offset;
-  relent->address -= section->vma;
-}
-
-#define BADMAG(x) MC88BADMAG(x)
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata	NULL
-#endif
-
-#include "coffcode.h"
-
-#undef coff_write_armap
-
-CREATE_BIG_COFF_TARGET_VEC (m88k_coff_bcs_vec, "coff-m88kbcs", 0, 0, '_', NULL, COFF_SWAP_TABLE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-mcore.c ./bfd/coff-mcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-mcore.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-mcore.c	2018-07-10 02:06:11.000000000 +0000
@@ -242,7 +242,7 @@ mcore_coff_unsupported_reloc (bfd * abfd
   BFD_ASSERT (reloc_entry->howto != (reloc_howto_type *)0);
 
   /* xgettext: c-format */
-  _bfd_error_handler (_("%B: Relocation %s (%d) is not currently supported.\n"),
+  _bfd_error_handler (_("%pB: Relocation %s (%d) is not currently supported.\n"),
 		      abfd,
 		      reloc_entry->howto->name,
 		      reloc_entry->howto->type);
@@ -368,7 +368,7 @@ coff_mcore_relocate_section (bfd * outpu
     {
       _bfd_error_handler
 	/* xgettext: c-format */
-	(_("%B: compiled for a %s system and target is %s.\n"),
+	(_("%pB: compiled for a %s system and target is %s.\n"),
 	 input_bfd,
 	 bfd_big_endian (input_bfd) ? _("big endian") : _("little endian"),
 	 bfd_big_endian (output_bfd) ? _("big endian") : _("little endian"));
@@ -470,7 +470,7 @@ coff_mcore_relocate_section (bfd * outpu
 	{
 	default:
 	  /* xgettext: c-format */
-	  _bfd_error_handler (_("%B: unsupported relocation type 0x%02x"),
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			      input_bfd, r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -478,10 +478,11 @@ coff_mcore_relocate_section (bfd * outpu
 	case IMAGE_REL_MCORE_ABSOLUTE:
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("Warning: unsupported reloc %s <file %B, section %A>\n"
-	       "sym %ld (%s), r_vaddr %Ld (%#Lx)"),
+	    (_("warning: unsupported reloc %s <file %pB, section %pA>\n"
+	       "sym %ld (%s), r_vaddr %" PRId64 " (%#" PRIx64 ")"),
 	     howto->name, input_bfd, input_section,
-	     rel->r_symndx, my_name, rel->r_vaddr, rel->r_vaddr);
+	     rel->r_symndx, my_name, (int64_t) rel->r_vaddr,
+	     (uint64_t) rel->r_vaddr);
 	  break;
 
 	case IMAGE_REL_MCORE_PCREL_IMM8BY4:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-mips.c ./bfd/coff-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-mips.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-mips.c	2018-07-10 02:06:11.000000000 +0000
@@ -1236,6 +1236,67 @@ mips_relocate_section (bfd *output_bfd,
 
   return TRUE;
 }
+
+static void
+mips_ecoff_swap_coff_aux_in (bfd *abfd ATTRIBUTE_UNUSED,
+			     void *ext1 ATTRIBUTE_UNUSED,
+			     int type ATTRIBUTE_UNUSED,
+			     int in_class ATTRIBUTE_UNUSED,
+			     int indx ATTRIBUTE_UNUSED,
+			     int numaux ATTRIBUTE_UNUSED,
+			     void *in1 ATTRIBUTE_UNUSED)
+{
+}
+
+static void
+mips_ecoff_swap_coff_sym_in (bfd *abfd ATTRIBUTE_UNUSED,
+			     void *ext1 ATTRIBUTE_UNUSED,
+			     void *in1 ATTRIBUTE_UNUSED)
+{
+}
+
+static void
+mips_ecoff_swap_coff_lineno_in (bfd *abfd ATTRIBUTE_UNUSED,
+				void *ext1 ATTRIBUTE_UNUSED,
+				void *in1 ATTRIBUTE_UNUSED)
+{
+}
+
+static unsigned int
+mips_ecoff_swap_coff_aux_out (bfd *abfd ATTRIBUTE_UNUSED,
+			      void *inp ATTRIBUTE_UNUSED,
+			      int type ATTRIBUTE_UNUSED,
+			      int in_class ATTRIBUTE_UNUSED,
+			      int indx ATTRIBUTE_UNUSED,
+			      int numaux ATTRIBUTE_UNUSED,
+			      void *extp ATTRIBUTE_UNUSED)
+{
+  return 0;
+}
+
+static unsigned int
+mips_ecoff_swap_coff_sym_out (bfd *abfd ATTRIBUTE_UNUSED,
+			      void *inp ATTRIBUTE_UNUSED,
+			      void *extp ATTRIBUTE_UNUSED)
+{
+  return 0;
+}
+
+static unsigned int
+mips_ecoff_swap_coff_lineno_out (bfd *abfd ATTRIBUTE_UNUSED,
+				 void *inp ATTRIBUTE_UNUSED,
+				 void *extp ATTRIBUTE_UNUSED)
+{
+  return 0;
+}
+
+static unsigned int
+mips_ecoff_swap_coff_reloc_out (bfd *abfd ATTRIBUTE_UNUSED,
+				void *inp ATTRIBUTE_UNUSED,
+				void *extp ATTRIBUTE_UNUSED)
+{
+  return 0;
+}
 
 /* This is the ECOFF backend structure.  The backend field of the
    target vector points to this.  */
@@ -1244,13 +1305,10 @@ static const struct ecoff_backend_data m
 {
   /* COFF backend structure.  */
   {
-    (void (*) (bfd *,void *,int,int,int,int,void *)) bfd_void, /* aux_in */
-    (void (*) (bfd *,void *,void *)) bfd_void, /* sym_in */
-    (void (*) (bfd *,void *,void *)) bfd_void, /* lineno_in */
-    (unsigned (*) (bfd *,void *,int,int,int,int,void *)) bfd_void,/*aux_out*/
-    (unsigned (*) (bfd *,void *,void *)) bfd_void, /* sym_out */
-    (unsigned (*) (bfd *,void *,void *)) bfd_void, /* lineno_out */
-    (unsigned (*) (bfd *,void *,void *)) bfd_void, /* reloc_out */
+    mips_ecoff_swap_coff_aux_in, mips_ecoff_swap_coff_sym_in,
+    mips_ecoff_swap_coff_lineno_in, mips_ecoff_swap_coff_aux_out,
+    mips_ecoff_swap_coff_sym_out, mips_ecoff_swap_coff_lineno_out,
+    mips_ecoff_swap_coff_reloc_out,
     mips_ecoff_swap_filehdr_out, mips_ecoff_swap_aouthdr_out,
     mips_ecoff_swap_scnhdr_out,
     FILHSZ, AOUTSZ, SCNHSZ, 0, 0, 0, 0, FILNMLEN, TRUE,
@@ -1362,6 +1420,7 @@ static const struct ecoff_backend_data m
 #define _bfd_ecoff_section_already_linked \
   _bfd_coff_section_already_linked
 #define _bfd_ecoff_bfd_define_common_symbol bfd_generic_define_common_symbol
+#define _bfd_ecoff_bfd_link_hide_symbol _bfd_generic_link_hide_symbol
 #define _bfd_ecoff_bfd_define_start_stop bfd_generic_define_start_stop
 #define _bfd_ecoff_set_reloc _bfd_generic_set_reloc
 
@@ -1374,9 +1433,9 @@ const bfd_target mips_ecoff_le_vec =
   BFD_ENDIAN_LITTLE,		/* data byte order is little */
   BFD_ENDIAN_LITTLE,		/* header byte order is little */
 
-  (HAS_RELOC | EXEC_P |		/* object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
+  (HAS_RELOC | EXEC_P		/* object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
 
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
   0,				/* leading underscore */
@@ -1390,26 +1449,38 @@ const bfd_target mips_ecoff_le_vec =
      bfd_getl32, bfd_getl_signed_32, bfd_putl32,
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
-  {_bfd_dummy_target, coff_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, _bfd_ecoff_mkobject,  /* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, _bfd_ecoff_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
-
-     BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
-     BFD_JUMP_TABLE_COPY (_bfd_ecoff),
-     BFD_JUMP_TABLE_CORE (_bfd_nocore),
-     BFD_JUMP_TABLE_ARCHIVE (_bfd_ecoff),
-     BFD_JUMP_TABLE_SYMBOLS (_bfd_ecoff),
-     BFD_JUMP_TABLE_RELOCS (_bfd_ecoff),
-     BFD_JUMP_TABLE_WRITE (_bfd_ecoff),
-     BFD_JUMP_TABLE_LINK (_bfd_ecoff),
-     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    coff_object_p,
+    bfd_generic_archive_p,
+    _bfd_dummy_target
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    _bfd_ecoff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    _bfd_ecoff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
 
-  & mips_ecoff_be_vec,
+  BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
+  BFD_JUMP_TABLE_COPY (_bfd_ecoff),
+  BFD_JUMP_TABLE_CORE (_bfd_nocore),
+  BFD_JUMP_TABLE_ARCHIVE (_bfd_ecoff),
+  BFD_JUMP_TABLE_SYMBOLS (_bfd_ecoff),
+  BFD_JUMP_TABLE_RELOCS (_bfd_ecoff),
+  BFD_JUMP_TABLE_WRITE (_bfd_ecoff),
+  BFD_JUMP_TABLE_LINK (_bfd_ecoff),
+  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
-  & mips_ecoff_backend_data
+  &mips_ecoff_be_vec,
+
+  &mips_ecoff_backend_data
 };
 
 const bfd_target mips_ecoff_be_vec =
@@ -1419,9 +1490,9 @@ const bfd_target mips_ecoff_be_vec =
   BFD_ENDIAN_BIG,		/* data byte order is big */
   BFD_ENDIAN_BIG,		/* header byte order is big */
 
-  (HAS_RELOC | EXEC_P |		/* object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
+  (HAS_RELOC | EXEC_P		/* object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
 
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
   0,				/* leading underscore */
@@ -1434,26 +1505,39 @@ const bfd_target mips_ecoff_be_vec =
   bfd_getb64, bfd_getb_signed_64, bfd_putb64,
      bfd_getb32, bfd_getb_signed_32, bfd_putb32,
      bfd_getb16, bfd_getb_signed_16, bfd_putb16,
- {_bfd_dummy_target, coff_object_p, /* bfd_check_format */
-    bfd_generic_archive_p, _bfd_dummy_target},
- {bfd_false, _bfd_ecoff_mkobject, /* bfd_set_format */
-    _bfd_generic_mkarchive, bfd_false},
- {bfd_false, _bfd_ecoff_write_object_contents, /* bfd_write_contents */
-    _bfd_write_archive_contents, bfd_false},
-
-     BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
-     BFD_JUMP_TABLE_COPY (_bfd_ecoff),
-     BFD_JUMP_TABLE_CORE (_bfd_nocore),
-     BFD_JUMP_TABLE_ARCHIVE (_bfd_ecoff),
-     BFD_JUMP_TABLE_SYMBOLS (_bfd_ecoff),
-     BFD_JUMP_TABLE_RELOCS (_bfd_ecoff),
-     BFD_JUMP_TABLE_WRITE (_bfd_ecoff),
-     BFD_JUMP_TABLE_LINK (_bfd_ecoff),
-     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
-  & mips_ecoff_le_vec,
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    coff_object_p,
+    bfd_generic_archive_p,
+    _bfd_dummy_target
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    _bfd_ecoff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    _bfd_ecoff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
+
+  BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
+  BFD_JUMP_TABLE_COPY (_bfd_ecoff),
+  BFD_JUMP_TABLE_CORE (_bfd_nocore),
+  BFD_JUMP_TABLE_ARCHIVE (_bfd_ecoff),
+  BFD_JUMP_TABLE_SYMBOLS (_bfd_ecoff),
+  BFD_JUMP_TABLE_RELOCS (_bfd_ecoff),
+  BFD_JUMP_TABLE_WRITE (_bfd_ecoff),
+  BFD_JUMP_TABLE_LINK (_bfd_ecoff),
+  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+
+  &mips_ecoff_le_vec,
 
-  & mips_ecoff_backend_data
+  &mips_ecoff_backend_data
 };
 
 const bfd_target mips_ecoff_bele_vec =
@@ -1463,9 +1547,9 @@ const bfd_target mips_ecoff_bele_vec =
   BFD_ENDIAN_LITTLE,		/* data byte order is little */
   BFD_ENDIAN_BIG,		/* header byte order is big */
 
-  (HAS_RELOC | EXEC_P |		/* object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
+  (HAS_RELOC | EXEC_P		/* object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
 
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
   0,				/* leading underscore */
@@ -1479,24 +1563,36 @@ const bfd_target mips_ecoff_bele_vec =
      bfd_getb32, bfd_getb_signed_32, bfd_putb32,
      bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
 
-  {_bfd_dummy_target, coff_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, _bfd_ecoff_mkobject,  /* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, _bfd_ecoff_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
-
-     BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
-     BFD_JUMP_TABLE_COPY (_bfd_ecoff),
-     BFD_JUMP_TABLE_CORE (_bfd_nocore),
-     BFD_JUMP_TABLE_ARCHIVE (_bfd_ecoff),
-     BFD_JUMP_TABLE_SYMBOLS (_bfd_ecoff),
-     BFD_JUMP_TABLE_RELOCS (_bfd_ecoff),
-     BFD_JUMP_TABLE_WRITE (_bfd_ecoff),
-     BFD_JUMP_TABLE_LINK (_bfd_ecoff),
-     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    coff_object_p,
+    bfd_generic_archive_p,
+    _bfd_dummy_target
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    _bfd_ecoff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    _bfd_ecoff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
+
+  BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
+  BFD_JUMP_TABLE_COPY (_bfd_ecoff),
+  BFD_JUMP_TABLE_CORE (_bfd_nocore),
+  BFD_JUMP_TABLE_ARCHIVE (_bfd_ecoff),
+  BFD_JUMP_TABLE_SYMBOLS (_bfd_ecoff),
+  BFD_JUMP_TABLE_RELOCS (_bfd_ecoff),
+  BFD_JUMP_TABLE_WRITE (_bfd_ecoff),
+  BFD_JUMP_TABLE_LINK (_bfd_ecoff),
+  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
   NULL,
 
-  & mips_ecoff_backend_data
+  &mips_ecoff_backend_data
 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-ppc.c ./bfd/coff-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-ppc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-ppc.c	2018-07-10 02:06:11.000000000 +0000
@@ -1038,9 +1038,9 @@ coff_ppc_relocate_section (bfd *output_b
       switch (r_type)
 	{
 	default:
-	  _bfd_error_handler
-	    /* xgettext: c-format */
-	    (_("%B: unsupported relocation type 0x%02x"), input_bfd, r_type);
+	  /* xgettext: c-format */
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      input_bfd, r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	case IMAGE_REL_PPC_TOCREL16:
@@ -1131,9 +1131,9 @@ coff_ppc_relocate_section (bfd *output_b
 		      {
 			_bfd_error_handler
 			  /* xgettext: c-format */
-			  (_("%B: Relocation for %s of %#Lx exceeds "
+			  (_("%pB: Relocation for %s of %#" PRIx64 " exceeds "
 			     "Toc size limit"),
-			   input_bfd, name, our_toc_offset);
+			   input_bfd, name, (uint64_t) our_toc_offset);
 			bfd_set_error (bfd_error_bad_value);
 			return FALSE;
 		      }
@@ -1185,8 +1185,8 @@ coff_ppc_relocate_section (bfd *output_b
 	      {
 		_bfd_error_handler
 		  /* xgettext: c-format */
-		  (_("%B: Relocation exceeds allocated TOC (%#Lx)"),
-		   input_bfd, toc_section->size);
+		  (_("%pB: Relocation exceeds allocated TOC (%#" PRIx64 ")"),
+		   input_bfd, (uint64_t) toc_section->size);
 		bfd_set_error (bfd_error_bad_value);
 		return FALSE;
 	      }
@@ -1240,10 +1240,11 @@ coff_ppc_relocate_section (bfd *output_b
 
 	    _bfd_error_handler
 	      /* xgettext: c-format */
-	      (_("Warning: unsupported reloc %s <file %B, section %A>\n"
-		 "sym %ld (%s), r_vaddr %Ld (%#Lx)"),
+	      (_("warning: unsupported reloc %s <file %pB, section %pA>\n"
+		 "sym %ld (%s), r_vaddr %" PRId64 " (%#" PRIx64 ")"),
 	       howto->name, input_bfd, input_section,
-	       rel->r_symndx, my_name, rel->r_vaddr, rel->r_vaddr);
+	       rel->r_symndx, my_name,
+	       (int64_t) rel->r_vaddr, (uint64_t) rel->r_vaddr);
 	  }
 	  break;
 	case IMAGE_REL_PPC_IMGLUE:
@@ -1258,7 +1259,7 @@ coff_ppc_relocate_section (bfd *output_b
 
 	    _bfd_error_handler
 	      /* xgettext: c-format */
-	      (_("%B: Out of order IMGLUE reloc for %s"), input_bfd, my_name);
+	      (_("%pB: Out of order IMGLUE reloc for %s"), input_bfd, my_name);
 	    bfd_set_error (bfd_error_bad_value);
 	    return FALSE;
 	  }
@@ -2480,9 +2481,9 @@ const bfd_target TARGET_LITTLE_SYM =
   BFD_ENDIAN_LITTLE,		/* data byte order is little */
   BFD_ENDIAN_LITTLE,		/* header byte order is little */
 
-  (HAS_RELOC | EXEC_P |		/* FIXME: object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
+  (HAS_RELOC | EXEC_P		/* FIXME: object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
 
 #ifndef COFF_WITH_PE
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_READONLY
@@ -2505,12 +2506,24 @@ const bfd_target TARGET_LITTLE_SYM =
   bfd_getl32, bfd_getl_signed_32, bfd_putl32,
   bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
-  {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, /* _bfd_dummy_target */ coff_object_p },
-  {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-     bfd_false},
-  {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    coff_object_p,
+    bfd_generic_archive_p,
+    coff_object_p
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    coff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    coff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff),
   BFD_JUMP_TABLE_COPY (coff),
@@ -2524,7 +2537,7 @@ const bfd_target TARGET_LITTLE_SYM =
 
   /* Alternative_target.  */
 #ifdef TARGET_BIG_SYM
-  & TARGET_BIG_SYM,
+  &TARGET_BIG_SYM,
 #else
   NULL,
 #endif
@@ -2541,9 +2554,9 @@ const bfd_target TARGET_BIG_SYM =
   BFD_ENDIAN_BIG,		/* data byte order is big */
   BFD_ENDIAN_BIG,		/* header byte order is big */
 
-  (HAS_RELOC | EXEC_P |		/* FIXME: object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
+  (HAS_RELOC | EXEC_P		/* FIXME: object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
 
 #ifndef COFF_WITH_PE
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_READONLY
@@ -2566,12 +2579,24 @@ const bfd_target TARGET_BIG_SYM =
   bfd_getb32, bfd_getb_signed_32, bfd_putb32,
   bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
 
-  {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, /* _bfd_dummy_target */ coff_object_p },
-  {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-     bfd_false},
-  {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    coff_object_p,
+    bfd_generic_archive_p,
+    coff_object_p
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    coff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    coff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff),
   BFD_JUMP_TABLE_COPY (coff),
@@ -2585,7 +2610,7 @@ const bfd_target TARGET_BIG_SYM =
 
   /* Alternative_target.  */
 #ifdef TARGET_LITTLE_SYM
-  & TARGET_LITTLE_SYM,
+  &TARGET_LITTLE_SYM,
 #else
   NULL,
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-rs6000.c ./bfd/coff-rs6000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-rs6000.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-rs6000.c	2018-07-10 02:06:11.000000000 +0000
@@ -2090,7 +2090,7 @@ xcoff_write_archive_contents_old (bfd *a
   char decbuf[XCOFFARMAG_ELEMENT_SIZE + 1];
 
   memset (&fhdr, 0, sizeof fhdr);
-  (void) strncpy (fhdr.magic, XCOFFARMAG, SXCOFFARMAG);
+  (void) memcpy (fhdr.magic, XCOFFARMAG, SXCOFFARMAG);
   sprintf (fhdr.firstmemoff, "%d", SIZEOF_AR_FILE_HDR);
   sprintf (fhdr.freeoff, "%d", 0);
 
@@ -2770,7 +2770,7 @@ xcoff_reloc_type_fail (bfd *input_bfd,
 {
   _bfd_error_handler
     /* xgettext: c-format */
-    (_("%B: unsupported relocation type 0x%02x"),
+    (_("%pB: unsupported relocation type %#x"),
      input_bfd, (unsigned int) rel->r_type);
   bfd_set_error (bfd_error_bad_value);
   return FALSE;
@@ -2856,8 +2856,8 @@ xcoff_reloc_type_toc (bfd *input_bfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry"),
-	     input_bfd, rel->r_vaddr, h->root.root.string);
+	    (_("%pB: TOC reloc at %#" PRIx64 " to symbol `%s' with no TOC entry"),
+	     input_bfd, (uint64_t) rel->r_vaddr, h->root.root.string);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -3602,7 +3602,7 @@ xcoff_create_csect_from_smclas (bfd *abf
     {
       _bfd_error_handler
 	/* xgettext: c-format */
-	(_("%B: symbol `%s' has unrecognized smclas %d"),
+	(_("%pB: symbol `%s' has unrecognized smclas %d"),
 	 abfd, symbol_name, aux->x_csect.x_smclas);
       bfd_set_error (bfd_error_bad_value);
     }
@@ -3970,7 +3970,7 @@ const struct xcoff_dwsect_name xcoff_dws
 
 /* For generic entry points.  */
 #define _bfd_xcoff_close_and_cleanup _bfd_archive_close_and_cleanup
-#define _bfd_xcoff_bfd_free_cached_info bfd_true
+#define _bfd_xcoff_bfd_free_cached_info _bfd_bool_bfd_true
 #define _bfd_xcoff_new_section_hook coff_new_section_hook
 #define _bfd_xcoff_get_section_contents _bfd_generic_get_section_contents
 #define _bfd_xcoff_get_section_contents_in_window \
@@ -4001,7 +4001,7 @@ const struct xcoff_dwsect_name xcoff_dws
 #define _bfd_xcoff_write_ar_hdr _bfd_generic_write_ar_hdr
 #define _bfd_xcoff_get_elt_at_index _bfd_generic_get_elt_at_index
 #define _bfd_xcoff_generic_stat_arch_elt _bfd_xcoff_stat_arch_elt
-#define _bfd_xcoff_update_armap_timestamp bfd_true
+#define _bfd_xcoff_update_armap_timestamp _bfd_bool_bfd_true
 
 /* For symbols entry points.  */
 #define _bfd_xcoff_get_symtab_upper_bound coff_get_symtab_upper_bound
@@ -4045,6 +4045,7 @@ const struct xcoff_dwsect_name xcoff_dws
 #define _bfd_xcoff_bfd_discard_group bfd_generic_discard_group
 #define _bfd_xcoff_section_already_linked _bfd_generic_section_already_linked
 #define _bfd_xcoff_bfd_define_common_symbol _bfd_xcoff_define_common_symbol
+#define _bfd_xcoff_bfd_link_hide_symbol _bfd_generic_link_hide_symbol
 #define _bfd_xcoff_bfd_define_start_stop    bfd_generic_define_start_stop
 #define _bfd_xcoff_bfd_link_check_relocs    _bfd_generic_link_check_relocs
 
@@ -4195,17 +4196,17 @@ const bfd_target rs6000_xcoff_vec =
     },
 
     { /* bfd_set_format */
-      bfd_false,
+      _bfd_bool_bfd_false_error,
       coff_mkobject,
       _bfd_generic_mkarchive,
-      bfd_false
+      _bfd_bool_bfd_false_error
     },
 
     {/* bfd_write_contents */
-      bfd_false,
+      _bfd_bool_bfd_false_error,
       coff_write_object_contents,
       _bfd_xcoff_write_archive_contents,
-      bfd_false
+      _bfd_bool_bfd_false_error
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_xcoff),
@@ -4376,17 +4377,17 @@ const bfd_target powerpc_xcoff_vec =
     },
 
     { /* bfd_set_format */
-      bfd_false,
+      _bfd_bool_bfd_false_error,
       coff_mkobject,
       _bfd_generic_mkarchive,
-      bfd_false
+      _bfd_bool_bfd_false_error
     },
 
     {/* bfd_write_contents */
-      bfd_false,
+      _bfd_bool_bfd_false_error,
       coff_write_object_contents,
       _bfd_xcoff_write_archive_contents,
-      bfd_false
+      _bfd_bool_bfd_false_error
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_xcoff),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-sh.c ./bfd/coff-sh.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-sh.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-sh.c	2018-07-10 02:06:11.000000000 +0000
@@ -492,7 +492,7 @@ static const struct shcoff_reloc_map sh_
 #define coff_bfd_reloc_name_lookup sh_coff_reloc_name_lookup
 
 static reloc_howto_type *
-sh_coff_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+sh_coff_reloc_type_lookup (bfd *abfd,
 			   bfd_reloc_code_real_type code)
 {
   unsigned int i;
@@ -501,7 +501,8 @@ sh_coff_reloc_type_lookup (bfd * abfd AT
     if (sh_reloc_map[i].bfd_reloc_val == code)
       return &sh_coff_howtos[(int) sh_reloc_map[i].shcoff_reloc_val];
 
-  _bfd_error_handler (_("SH Error: unknown reloc type %d"), code);
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+		      abfd, (unsigned int) code);
   return NULL;
 }
 
@@ -775,8 +776,9 @@ sh_relax_section (bfd *abfd,
       if (laddr >= sec->size)
 	{
 	  /* xgettext: c-format */
-	  _bfd_error_handler (_("%B: %#Lx: warning: bad R_SH_USES offset"),
-			      abfd, irel->r_vaddr);
+	  _bfd_error_handler
+	    (_("%pB: %#" PRIx64 ": warning: bad R_SH_USES offset"),
+	     abfd, (uint64_t) irel->r_vaddr);
 	  continue;
 	}
       insn = bfd_get_16 (abfd, contents + laddr);
@@ -786,8 +788,8 @@ sh_relax_section (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x"),
-	     abfd, irel->r_vaddr, insn);
+	    (_("%pB: %#" PRIx64 ": warning: R_SH_USES points to unrecognized insn %#x"),
+	     abfd, (uint64_t) irel->r_vaddr, insn);
 	  continue;
 	}
 
@@ -804,8 +806,8 @@ sh_relax_section (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: %#Lx: warning: bad R_SH_USES load offset"),
-	     abfd, irel->r_vaddr);
+	    (_("%pB: %#" PRIx64 ": warning: bad R_SH_USES load offset"),
+	     abfd, (uint64_t) irel->r_vaddr);
 	  continue;
 	}
 
@@ -829,8 +831,8 @@ sh_relax_section (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: %#Lx: warning: could not find expected reloc"),
-	     abfd, paddr);
+	    (_("%pB: %#" PRIx64 ": warning: could not find expected reloc"),
+	     abfd, (uint64_t) paddr);
 	  continue;
 	}
 
@@ -846,8 +848,8 @@ sh_relax_section (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: %#Lx: warning: symbol in unexpected section"),
-	     abfd, paddr);
+	    (_("%pB: %#" PRIx64 ": warning: symbol in unexpected section"),
+	     abfd, (uint64_t) paddr);
 	  continue;
 	}
 
@@ -972,8 +974,8 @@ sh_relax_section (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: %#Lx: warning: could not find expected COUNT reloc"),
-	     abfd, paddr);
+	    (_("%pB: %#" PRIx64 ": warning: could not find expected COUNT reloc"),
+	     abfd, (uint64_t) paddr);
 	  continue;
 	}
 
@@ -982,8 +984,8 @@ sh_relax_section (bfd *abfd,
       if (irelcount->r_offset == 0)
 	{
 	  /* xgettext: c-format */
-	  _bfd_error_handler (_("%B: %#Lx: warning: bad count"),
-			      abfd, paddr);
+	  _bfd_error_handler (_("%pB: %#" PRIx64 ": warning: bad count"),
+			      abfd, (uint64_t) paddr);
 	  continue;
 	}
 
@@ -1354,8 +1356,8 @@ sh_relax_delete_bytes (bfd *abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: %#Lx: fatal: reloc overflow while relaxing"),
-		 abfd, irel->r_vaddr);
+		(_("%pB: %#" PRIx64 ": fatal: reloc overflow while relaxing"),
+		 abfd, (uint64_t) irel->r_vaddr);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -1449,7 +1451,7 @@ sh_relax_delete_bytes (bfd *abfd,
       || obj_raw_syments (abfd) != NULL)
     {
       _bfd_error_handler
-	(_("%B: fatal: generic symbols retrieved before relaxing"), abfd);
+	(_("%pB: fatal: generic symbols retrieved before relaxing"), abfd);
       bfd_set_error (bfd_error_invalid_operation);
       return FALSE;
     }
@@ -2642,8 +2644,8 @@ sh_swap_insns (bfd *      abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: %#Lx: fatal: reloc overflow while relaxing"),
-		 abfd, irel->r_vaddr);
+		(_("%pB: %#" PRIx64 ": fatal: reloc overflow while relaxing"),
+		 abfd, (uint64_t) irel->r_vaddr);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -2780,7 +2782,7 @@ sh_relocate_section (bfd *output_bfd ATT
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: illegal symbol index %ld in relocs"),
+		(_("%pB: illegal symbol index %ld in relocs"),
 		 input_bfd, symndx);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
@@ -3130,9 +3132,9 @@ const bfd_target sh_coff_small_vec =
   BFD_ENDIAN_BIG,		/* data byte order is big */
   BFD_ENDIAN_BIG,		/* header byte order is big */
 
-  (HAS_RELOC | EXEC_P |		/* object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | BFD_IS_RELAXABLE),
+  (HAS_RELOC | EXEC_P		/* object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | BFD_IS_RELAXABLE),
 
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC),
   '_',				/* leading symbol underscore */
@@ -3146,12 +3148,24 @@ const bfd_target sh_coff_small_vec =
   bfd_getb32, bfd_getb_signed_32, bfd_putb32,
   bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
 
-  {_bfd_dummy_target, coff_small_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-     bfd_false},
-  {bfd_false, coff_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    coff_small_object_p,
+    bfd_generic_archive_p,
+    _bfd_dummy_target
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    coff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    coff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff_small),
   BFD_JUMP_TABLE_COPY (coff),
@@ -3163,9 +3177,9 @@ const bfd_target sh_coff_small_vec =
   BFD_JUMP_TABLE_LINK (coff),
   BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
-  & sh_coff_small_le_vec,
+  &sh_coff_small_le_vec,
 
-  & bfd_coff_small_swap_table
+  &bfd_coff_small_swap_table
 };
 
 const bfd_target sh_coff_small_le_vec =
@@ -3175,9 +3189,9 @@ const bfd_target sh_coff_small_le_vec =
   BFD_ENDIAN_LITTLE,		/* data byte order is little */
   BFD_ENDIAN_LITTLE,		/* header byte order is little endian too*/
 
-  (HAS_RELOC | EXEC_P |		/* object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | BFD_IS_RELAXABLE),
+  (HAS_RELOC | EXEC_P		/* object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | BFD_IS_RELAXABLE),
 
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC),
   '_',				/* leading symbol underscore */
@@ -3191,12 +3205,24 @@ const bfd_target sh_coff_small_le_vec =
   bfd_getl32, bfd_getl_signed_32, bfd_putl32,
   bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
-  {_bfd_dummy_target, coff_small_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-     bfd_false},
-  {bfd_false, coff_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    coff_small_object_p,
+    bfd_generic_archive_p,
+    _bfd_dummy_target
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    coff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    coff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff_small),
   BFD_JUMP_TABLE_COPY (coff),
@@ -3208,8 +3234,8 @@ const bfd_target sh_coff_small_le_vec =
   BFD_JUMP_TABLE_LINK (coff),
   BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
-  & sh_coff_small_vec,
+  &sh_coff_small_vec,
 
-  & bfd_coff_small_swap_table
+  &bfd_coff_small_swap_table
 };
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-sparc.c ./bfd/coff-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-sparc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-sparc.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,208 +0,0 @@
-/* BFD back-end for Sparc COFF files.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "coff/sparc.h"
-#include "coff/internal.h"
-#include "libcoff.h"
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3)
-
-#define BADMAG(x) ((x).f_magic != SPARCMAGIC && (x).f_magic != LYNXCOFFMAGIC)
-
-/* The page size is a guess based on ELF.  */
-#define COFF_PAGE_SIZE 0x10000
-
-enum reloc_type
-  {
-    R_SPARC_NONE = 0,
-    R_SPARC_8,		R_SPARC_16,		R_SPARC_32,
-    R_SPARC_DISP8,	R_SPARC_DISP16,		R_SPARC_DISP32,
-    R_SPARC_WDISP30,	R_SPARC_WDISP22,
-    R_SPARC_HI22,	R_SPARC_22,
-    R_SPARC_13,		R_SPARC_LO10,
-    R_SPARC_GOT10,	R_SPARC_GOT13,		R_SPARC_GOT22,
-    R_SPARC_PC10,	R_SPARC_PC22,
-    R_SPARC_WPLT30,
-    R_SPARC_COPY,
-    R_SPARC_GLOB_DAT,	R_SPARC_JMP_SLOT,
-    R_SPARC_RELATIVE,
-    R_SPARC_UA32,
-    R_SPARC_max
-  };
-
-/* This is stolen pretty directly from elf.c.  */
-
-static bfd_reloc_status_type
-bfd_coff_generic_reloc (bfd *abfd ATTRIBUTE_UNUSED,
-			arelent *reloc_entry,
-			asymbol *symbol,
-			void * data ATTRIBUTE_UNUSED,
-			asection *input_section,
-			bfd *output_bfd,
-			char **error_message ATTRIBUTE_UNUSED)
-{
-  if (output_bfd != (bfd *) NULL
-      && (symbol->flags & BSF_SECTION_SYM) == 0)
-    {
-      reloc_entry->address += input_section->output_offset;
-      return bfd_reloc_ok;
-    }
-
-  return bfd_reloc_continue;
-}
-
-static reloc_howto_type coff_sparc_howto_table[] =
-{
-  HOWTO(R_SPARC_NONE,    0,3, 0,FALSE,0,complain_overflow_dont,    bfd_coff_generic_reloc,"R_SPARC_NONE",    FALSE,0,0x00000000,TRUE),
-  HOWTO(R_SPARC_8,       0,0, 8,FALSE,0,complain_overflow_bitfield,bfd_coff_generic_reloc,"R_SPARC_8",       FALSE,0,0x000000ff,TRUE),
-  HOWTO(R_SPARC_16,      0,1,16,FALSE,0,complain_overflow_bitfield,bfd_coff_generic_reloc,"R_SPARC_16",      FALSE,0,0x0000ffff,TRUE),
-  HOWTO(R_SPARC_32,      0,2,32,FALSE,0,complain_overflow_bitfield,bfd_coff_generic_reloc,"R_SPARC_32",      FALSE,0,0xffffffff,TRUE),
-  HOWTO(R_SPARC_DISP8,   0,0, 8,TRUE, 0,complain_overflow_signed,  bfd_coff_generic_reloc,"R_SPARC_DISP8",   FALSE,0,0x000000ff,TRUE),
-  HOWTO(R_SPARC_DISP16,  0,1,16,TRUE, 0,complain_overflow_signed,  bfd_coff_generic_reloc,"R_SPARC_DISP16",  FALSE,0,0x0000ffff,TRUE),
-  HOWTO(R_SPARC_DISP32,  0,2,32,TRUE, 0,complain_overflow_signed,  bfd_coff_generic_reloc,"R_SPARC_DISP32",  FALSE,0,0x00ffffff,TRUE),
-  HOWTO(R_SPARC_WDISP30, 2,2,30,TRUE, 0,complain_overflow_signed,  bfd_coff_generic_reloc,"R_SPARC_WDISP30", FALSE,0,0x3fffffff,TRUE),
-  HOWTO(R_SPARC_WDISP22, 2,2,22,TRUE, 0,complain_overflow_signed,  bfd_coff_generic_reloc,"R_SPARC_WDISP22", FALSE,0,0x003fffff,TRUE),
-  HOWTO(R_SPARC_HI22,   10,2,22,FALSE,0,complain_overflow_dont,    bfd_coff_generic_reloc,"R_SPARC_HI22",    FALSE,0,0x003fffff,TRUE),
-  HOWTO(R_SPARC_22,      0,2,22,FALSE,0,complain_overflow_bitfield,bfd_coff_generic_reloc,"R_SPARC_22",      FALSE,0,0x003fffff,TRUE),
-  HOWTO(R_SPARC_13,      0,2,13,FALSE,0,complain_overflow_bitfield,bfd_coff_generic_reloc,"R_SPARC_13",      FALSE,0,0x00001fff,TRUE),
-  HOWTO(R_SPARC_LO10,    0,2,10,FALSE,0,complain_overflow_dont,    bfd_coff_generic_reloc,"R_SPARC_LO10",    FALSE,0,0x000003ff,TRUE),
-  HOWTO(R_SPARC_GOT10,   0,2,10,FALSE,0,complain_overflow_bitfield,bfd_coff_generic_reloc,"R_SPARC_GOT10",   FALSE,0,0x000003ff,TRUE),
-  HOWTO(R_SPARC_GOT13,   0,2,13,FALSE,0,complain_overflow_bitfield,bfd_coff_generic_reloc,"R_SPARC_GOT13",   FALSE,0,0x00001fff,TRUE),
-  HOWTO(R_SPARC_GOT22,  10,2,22,FALSE,0,complain_overflow_bitfield,bfd_coff_generic_reloc,"R_SPARC_GOT22",   FALSE,0,0x003fffff,TRUE),
-  HOWTO(R_SPARC_PC10,    0,2,10,FALSE,0,complain_overflow_bitfield,bfd_coff_generic_reloc,"R_SPARC_PC10",    FALSE,0,0x000003ff,TRUE),
-  HOWTO(R_SPARC_PC22,    0,2,22,FALSE,0,complain_overflow_bitfield,bfd_coff_generic_reloc,"R_SPARC_PC22",    FALSE,0,0x003fffff,TRUE),
-  HOWTO(R_SPARC_WPLT30,  0,0,00,FALSE,0,complain_overflow_dont,    bfd_coff_generic_reloc,"R_SPARC_WPLT30",  FALSE,0,0x00000000,TRUE),
-  HOWTO(R_SPARC_COPY,    0,0,00,FALSE,0,complain_overflow_dont,    bfd_coff_generic_reloc,"R_SPARC_COPY",    FALSE,0,0x00000000,TRUE),
-  HOWTO(R_SPARC_GLOB_DAT,0,0,00,FALSE,0,complain_overflow_dont,    bfd_coff_generic_reloc,"R_SPARC_GLOB_DAT",FALSE,0,0x00000000,TRUE),
-  HOWTO(R_SPARC_JMP_SLOT,0,0,00,FALSE,0,complain_overflow_dont,    bfd_coff_generic_reloc,"R_SPARC_JMP_SLOT",FALSE,0,0x00000000,TRUE),
-  HOWTO(R_SPARC_RELATIVE,0,0,00,FALSE,0,complain_overflow_dont,    bfd_coff_generic_reloc,"R_SPARC_RELATIVE",FALSE,0,0x00000000,TRUE),
-  HOWTO(R_SPARC_UA32,    0,0,00,FALSE,0,complain_overflow_dont,    bfd_coff_generic_reloc,"R_SPARC_UA32",    FALSE,0,0x00000000,TRUE),
-};
-
-struct coff_reloc_map
-{
-  bfd_reloc_code_real_type bfd_reloc_val;
-  unsigned char coff_reloc_val;
-};
-
-static const struct coff_reloc_map sparc_reloc_map[] =
-{
-  { BFD_RELOC_NONE, R_SPARC_NONE, },
-  { BFD_RELOC_16, R_SPARC_16, },
-  { BFD_RELOC_8, R_SPARC_8 },
-  { BFD_RELOC_8_PCREL, R_SPARC_DISP8 },
-  { BFD_RELOC_CTOR, R_SPARC_32 }, /* @@ Assumes 32 bits.  */
-  { BFD_RELOC_32, R_SPARC_32 },
-  { BFD_RELOC_32_PCREL, R_SPARC_DISP32 },
-  { BFD_RELOC_HI22, R_SPARC_HI22 },
-  { BFD_RELOC_LO10, R_SPARC_LO10, },
-  { BFD_RELOC_32_PCREL_S2, R_SPARC_WDISP30 },
-  { BFD_RELOC_SPARC22, R_SPARC_22 },
-  { BFD_RELOC_SPARC13, R_SPARC_13 },
-  { BFD_RELOC_SPARC_GOT10, R_SPARC_GOT10 },
-  { BFD_RELOC_SPARC_GOT13, R_SPARC_GOT13 },
-  { BFD_RELOC_SPARC_GOT22, R_SPARC_GOT22 },
-  { BFD_RELOC_SPARC_PC10, R_SPARC_PC10 },
-  { BFD_RELOC_SPARC_PC22, R_SPARC_PC22 },
-  { BFD_RELOC_SPARC_WPLT30, R_SPARC_WPLT30 },
-  { BFD_RELOC_SPARC_COPY, R_SPARC_COPY },
-  { BFD_RELOC_SPARC_GLOB_DAT, R_SPARC_GLOB_DAT },
-  { BFD_RELOC_SPARC_JMP_SLOT, R_SPARC_JMP_SLOT },
-  { BFD_RELOC_SPARC_RELATIVE, R_SPARC_RELATIVE },
-  { BFD_RELOC_SPARC_WDISP22, R_SPARC_WDISP22 },
-  /*  { BFD_RELOC_SPARC_UA32, R_SPARC_UA32 }, not used?? */
-};
-
-static reloc_howto_type *
-coff_sparc_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			      bfd_reloc_code_real_type code)
-{
-  unsigned int i;
-  for (i = 0; i < sizeof (sparc_reloc_map) / sizeof (struct coff_reloc_map); i++)
-    {
-      if (sparc_reloc_map[i].bfd_reloc_val == code)
-	return &coff_sparc_howto_table[(int) sparc_reloc_map[i].coff_reloc_val];
-    }
-  return 0;
-}
-#define coff_bfd_reloc_type_lookup	coff_sparc_reloc_type_lookup
-
-static reloc_howto_type *
-coff_sparc_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			      const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0;
-       i < (sizeof (coff_sparc_howto_table)
-	    / sizeof (coff_sparc_howto_table[0]));
-       i++)
-    if (coff_sparc_howto_table[i].name != NULL
-	&& strcasecmp (coff_sparc_howto_table[i].name, r_name) == 0)
-      return &coff_sparc_howto_table[i];
-
-  return NULL;
-}
-#define coff_bfd_reloc_name_lookup coff_sparc_reloc_name_lookup
-
-static void
-rtype2howto (arelent *cache_ptr, struct internal_reloc *dst)
-{
-  BFD_ASSERT (dst->r_type < (unsigned int) R_SPARC_max);
-  cache_ptr->howto = &coff_sparc_howto_table[dst->r_type];
-}
-
-#define RTYPE2HOWTO(internal, relocentry) rtype2howto(internal,relocentry)
-
-#define SWAP_IN_RELOC_OFFSET	H_GET_32
-#define SWAP_OUT_RELOC_OFFSET	H_PUT_32
-#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr) \
-  cache_ptr->addend = reloc.r_offset;
-
-/* Clear the r_spare field in relocs.  */
-#define SWAP_OUT_RELOC_EXTRA(abfd,src,dst) \
-  do { \
-       dst->r_spare[0] = 0; \
-       dst->r_spare[1] = 0; \
-     } while (0)
-
-#define __A_MAGIC_SET__
-
-/* Enable Sparc-specific hacks in coffcode.h.  */
-
-#define COFF_SPARC
-
-#define bfd_pe_print_pdata	NULL
-
-#include "coffcode.h"
-
-#ifndef TARGET_SYM
-#define TARGET_SYM sparc_coff_vec
-#endif
-
-#ifndef TARGET_NAME
-#define TARGET_NAME "coff-sparc"
-#endif
-
-CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, D_PAGED, 0, '_', NULL, COFF_SWAP_TABLE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-svm68k.c ./bfd/coff-svm68k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-svm68k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-svm68k.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,27 +0,0 @@
-/* BFD back-end for Motorola sysv68
-   Copyright (C) 1997-2018 Free Software Foundation, Inc.
-   Written by Philippe De Muyter <phdm@info.ucl.ac.be>.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGET_SYM	m68k_coff_sysv_vec
-#define TARGET_NAME	"coff-m68k-sysv"
-#define STATIC_RELOCS
-#define COFF_COMMON_ADDEND
-
-#include "coff-m68k.c"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coffswap.h ./bfd/coffswap.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coffswap.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coffswap.h	2018-07-10 02:06:11.000000000 +0000
@@ -618,17 +618,6 @@ coff_swap_aouthdr_in (bfd * abfd, void *
   aouthdr_int->data_start =
     GET_AOUTHDR_DATA_START (abfd, aouthdr_ext->data_start);
 
-#ifdef I960
-  aouthdr_int->tagentries = H_GET_32 (abfd, aouthdr_ext->tagentries);
-#endif
-
-#ifdef APOLLO_M68
-  H_PUT_32 (abfd, aouthdr_int->o_inlib, aouthdr_ext->o_inlib);
-  H_PUT_32 (abfd, aouthdr_int->o_sri, aouthdr_ext->o_sri);
-  H_PUT_32 (abfd, aouthdr_int->vid[0], aouthdr_ext->vid);
-  H_PUT_32 (abfd, aouthdr_int->vid[1], aouthdr_ext->vid + 4);
-#endif
-
 #ifdef RS6000COFF_C
 #ifdef XCOFF64
   aouthdr_int->o_toc = H_GET_64 (abfd, aouthdr_ext->o_toc);
@@ -689,10 +678,6 @@ coff_swap_aouthdr_out (bfd * abfd, void 
   PUT_AOUTHDR_DATA_START (abfd, aouthdr_in->data_start,
 			  aouthdr_out->data_start);
 
-#ifdef I960
-  H_PUT_32 (abfd, aouthdr_in->tagentries, aouthdr_out->tagentries);
-#endif
-
 #ifdef RS6000COFF_C
 #ifdef XCOFF64
   H_PUT_64 (abfd, aouthdr_in->o_toc, aouthdr_out->o_toc);
@@ -767,9 +752,6 @@ coff_swap_scnhdr_in (bfd * abfd, void * 
   scnhdr_int->s_flags = GET_SCNHDR_FLAGS (abfd, scnhdr_ext->s_flags);
   scnhdr_int->s_nreloc = GET_SCNHDR_NRELOC (abfd, scnhdr_ext->s_nreloc);
   scnhdr_int->s_nlnno = GET_SCNHDR_NLNNO (abfd, scnhdr_ext->s_nlnno);
-#ifdef I960
-  scnhdr_int->s_align = GET_SCNHDR_ALIGN (abfd, scnhdr_ext->s_align);
-#endif
 #ifdef COFF_ADJUST_SCNHDR_IN_POST
   COFF_ADJUST_SCNHDR_IN_POST (abfd, ext, in);
 #endif
@@ -794,10 +776,6 @@ coff_swap_scnhdr_out (bfd * abfd, void *
   PUT_SCNHDR_RELPTR (abfd, scnhdr_int->s_relptr, scnhdr_ext->s_relptr);
   PUT_SCNHDR_LNNOPTR (abfd, scnhdr_int->s_lnnoptr, scnhdr_ext->s_lnnoptr);
   PUT_SCNHDR_FLAGS (abfd, scnhdr_int->s_flags, scnhdr_ext->s_flags);
-#if defined(M88)
-  H_PUT_32 (abfd, scnhdr_int->s_nlnno, scnhdr_ext->s_nlnno);
-  H_PUT_32 (abfd, scnhdr_int->s_nreloc, scnhdr_ext->s_nreloc);
-#else
   if (scnhdr_int->s_nlnno <= MAX_SCNHDR_NLNNO)
     PUT_SCNHDR_NLNNO (abfd, scnhdr_int->s_nlnno, scnhdr_ext->s_nlnno);
   else
@@ -808,7 +786,7 @@ coff_swap_scnhdr_out (bfd * abfd, void *
       buf[sizeof (scnhdr_int->s_name)] = '\0';
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: warning: %s: line number overflow: 0x%lx > 0xffff"),
+	(_("%pB: warning: %s: line number overflow: 0x%lx > 0xffff"),
 	 abfd, buf, scnhdr_int->s_nlnno);
       PUT_SCNHDR_NLNNO (abfd, 0xffff, scnhdr_ext->s_nlnno);
     }
@@ -822,17 +800,13 @@ coff_swap_scnhdr_out (bfd * abfd, void *
       memcpy (buf, scnhdr_int->s_name, sizeof (scnhdr_int->s_name));
       buf[sizeof (scnhdr_int->s_name)] = '\0';
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: %s: reloc overflow: 0x%lx > 0xffff"),
+      _bfd_error_handler (_("%pB: %s: reloc overflow: 0x%lx > 0xffff"),
 			  abfd, buf, scnhdr_int->s_nreloc);
       bfd_set_error (bfd_error_file_truncated);
       PUT_SCNHDR_NRELOC (abfd, 0xffff, scnhdr_ext->s_nreloc);
       ret = 0;
     }
-#endif
 
-#ifdef I960
-  PUT_SCNHDR_ALIGN (abfd, scnhdr_int->s_align, scnhdr_ext->s_align);
-#endif
 #ifdef COFF_ADJUST_SCNHDR_OUT_POST
   COFF_ADJUST_SCNHDR_OUT_POST (abfd, in, out);
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-tic30.c ./bfd/coff-tic30.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-tic30.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-tic30.c	2018-07-10 02:06:11.000000000 +0000
@@ -183,9 +183,9 @@ const bfd_target tic30_coff_vec =
   BFD_ENDIAN_BIG,		/* data byte order is big */
   BFD_ENDIAN_LITTLE,		/* header byte order is little */
 
-  (HAS_RELOC | EXEC_P |		/* object flags */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT),
+  (HAS_RELOC | EXEC_P		/* object flags */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT),
 
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
   '_',				/* leading symbol underscore */
@@ -199,12 +199,24 @@ const bfd_target tic30_coff_vec =
   bfd_getl32, bfd_getl_signed_32, bfd_putl32,
   bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* hdrs */
 
-  {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-   bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-   bfd_false},
-  {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-   _bfd_write_archive_contents, bfd_false},
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    coff_object_p,
+    bfd_generic_archive_p,
+    _bfd_dummy_target
+  },
+  {				/* bfd_set_format */
+    _bfd_bool_bfd_false_error,
+    coff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents */
+    _bfd_bool_bfd_false_error,
+    coff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff),
   BFD_JUMP_TABLE_COPY (coff),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-tic4x.c ./bfd/coff-tic4x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-tic4x.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-tic4x.c	2018-07-10 02:06:11.000000000 +0000
@@ -165,7 +165,8 @@ tic4x_coff_reloc_name_lookup (bfd *abfd 
    Called after some initial checking by the tic4x_rtype_to_howto fn
    below.  */
 static void
-tic4x_lookup_howto (arelent *internal,
+tic4x_lookup_howto (bfd *abfd,
+		    arelent *internal,
 		    struct internal_reloc *dst)
 {
   unsigned int i;
@@ -180,13 +181,13 @@ tic4x_lookup_howto (arelent *internal,
 	}
     }
 
-  _bfd_error_handler (_("Unrecognized reloc type 0x%x"),
-		      (unsigned int) dst->r_type);
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+		      abfd, (unsigned int) dst->r_type);
   abort();
 }
 
 static reloc_howto_type *
-coff_tic4x_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
+coff_tic4x_rtype_to_howto (bfd *abfd,
 			   asection *sec,
 			   struct internal_reloc *rel,
 			   struct coff_link_hash_entry *h ATTRIBUTE_UNUSED,
@@ -201,7 +202,7 @@ coff_tic4x_rtype_to_howto (bfd *abfd ATT
        in the output section.  */
     *addendp = (sec->output_section->vma + sec->output_offset) - sec->vma;
 
-  tic4x_lookup_howto (&genrel, rel);
+  tic4x_lookup_howto (abfd, &genrel, rel);
 
   return genrel.howto;
 }
@@ -224,7 +225,7 @@ tic4x_reloc_processing (arelent *relent,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: warning: illegal symbol index %ld in relocs"),
+	    (_("%pB: warning: illegal symbol index %ld in relocs"),
 	     abfd, reloc->r_symndx);
 	  relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
 	  ptr = NULL;
@@ -256,7 +257,7 @@ tic4x_reloc_processing (arelent *relent,
   /* !!     relent->section = (asection *) NULL;  */
 
   /* Fill in the relent->howto field from reloc->r_type.  */
-  tic4x_lookup_howto (relent, reloc);
+  tic4x_lookup_howto (abfd, relent, reloc);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-tic54x.c ./bfd/coff-tic54x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-tic54x.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-tic54x.c	2018-07-10 02:06:11.000000000 +0000
@@ -260,7 +260,8 @@ tic54x_coff_reloc_name_lookup (bfd *abfd
    Called after some initial checking by the tic54x_rtype_to_howto fn below.  */
 
 static void
-tic54x_lookup_howto (arelent *internal,
+tic54x_lookup_howto (bfd *abfd,
+		     arelent *internal,
 		     struct internal_reloc *dst)
 {
   unsigned i;
@@ -275,8 +276,8 @@ tic54x_lookup_howto (arelent *internal,
 	}
     }
 
-  _bfd_error_handler (_("Unrecognized reloc type 0x%x"),
-		      (unsigned int) dst->r_type);
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+		      abfd, (unsigned int) dst->r_type);
   abort ();
 }
 
@@ -286,7 +287,7 @@ tic54x_lookup_howto (arelent *internal,
 #define coff_rtype_to_howto coff_tic54x_rtype_to_howto
 
 static reloc_howto_type *
-coff_tic54x_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
+coff_tic54x_rtype_to_howto (bfd *abfd,
 			    asection *sec,
 			    struct internal_reloc *rel,
 			    struct coff_link_hash_entry *h ATTRIBUTE_UNUSED,
@@ -303,7 +304,7 @@ coff_tic54x_rtype_to_howto (bfd *abfd AT
       *addendp = (sec->output_section->vma + sec->output_offset) - sec->vma;
     }
 
-  tic54x_lookup_howto (&genrel, rel);
+  tic54x_lookup_howto (abfd, &genrel, rel);
 
   return genrel.howto;
 }
@@ -362,7 +363,7 @@ tic54x_reloc_processing (arelent *relent
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: warning: illegal symbol index %ld in relocs"),
+	    (_("%pB: warning: illegal symbol index %ld in relocs"),
 	     abfd, reloc->r_symndx);
 	  relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
 	  ptr = NULL;
@@ -394,24 +395,24 @@ tic54x_reloc_processing (arelent *relent
   /* !!     relent->section = (asection *) NULL;*/
 
   /* Fill in the relent->howto field from reloc->r_type.  */
-  tic54x_lookup_howto (relent, reloc);
+  tic54x_lookup_howto (abfd, relent, reloc);
 }
 
 /* TI COFF v0, DOS tools (little-endian headers).  */
 const bfd_target tic54x_coff0_vec =
   {
-    "coff0-c54x",			/* name */
+    "coff0-c54x",		/* name */
     bfd_target_coff_flavour,
     BFD_ENDIAN_LITTLE,		/* data byte order is little */
     BFD_ENDIAN_LITTLE,		/* header byte order is little (DOS tools) */
 
-    (HAS_RELOC | EXEC_P |		/* object flags */
-     HAS_LINENO | HAS_DEBUG |
-     HAS_SYMS | HAS_LOCALS | WP_TEXT ),
+    (HAS_RELOC | EXEC_P		/* object flags */
+     | HAS_LINENO | HAS_DEBUG
+     | HAS_SYMS | HAS_LOCALS | WP_TEXT ),
 
     (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-    '_',				/* leading symbol underscore */
-    '/',				/* ar_pad_char */
+    '_',			/* leading symbol underscore */
+    '/',			/* ar_pad_char */
     15,				/* ar_max_namelen */
     0,				/* match priority.  */
     bfd_getl64, bfd_getl_signed_64, bfd_putl64,
@@ -421,12 +422,24 @@ const bfd_target tic54x_coff0_vec =
     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
     bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {				/* bfd_check_format */
+      _bfd_dummy_target,
+      coff_object_p,
+      bfd_generic_archive_p,
+      _bfd_dummy_target
+    },
+    {				/* bfd_set_format */
+      _bfd_bool_bfd_false_error,
+      coff_mkobject,
+      _bfd_generic_mkarchive,
+      _bfd_bool_bfd_false_error
+    },
+    {				/* bfd_write_contents */
+      _bfd_bool_bfd_false_error,
+      coff_write_object_contents,
+      _bfd_write_archive_contents,
+      _bfd_bool_bfd_false_error
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
@@ -439,24 +452,24 @@ const bfd_target tic54x_coff0_vec =
     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
     NULL,
 
-    & ticoff0_swap_table
+    &ticoff0_swap_table
   };
 
 /* TI COFF v0, SPARC tools (big-endian headers).  */
 const bfd_target tic54x_coff0_beh_vec =
   {
-    "coff0-beh-c54x",			/* name */
+    "coff0-beh-c54x",		/* name */
     bfd_target_coff_flavour,
     BFD_ENDIAN_LITTLE,		/* data byte order is little */
     BFD_ENDIAN_BIG,		/* header byte order is big */
 
-    (HAS_RELOC | EXEC_P |		/* object flags */
-     HAS_LINENO | HAS_DEBUG |
-     HAS_SYMS | HAS_LOCALS | WP_TEXT ),
+    (HAS_RELOC | EXEC_P		/* object flags */
+     | HAS_LINENO | HAS_DEBUG
+     | HAS_SYMS | HAS_LOCALS | WP_TEXT ),
 
     (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-    '_',				/* leading symbol underscore */
-    '/',				/* ar_pad_char */
+    '_',			/* leading symbol underscore */
+    '/',			/* ar_pad_char */
     15,				/* ar_max_namelen */
     0,				/* match priority.  */
     bfd_getl64, bfd_getl_signed_64, bfd_putl64,
@@ -466,12 +479,24 @@ const bfd_target tic54x_coff0_beh_vec =
     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
     bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {				/* bfd_check_format */
+      _bfd_dummy_target,
+      coff_object_p,
+      bfd_generic_archive_p,
+      _bfd_dummy_target
+    },
+    {				/* bfd_set_format */
+      _bfd_bool_bfd_false_error,
+      coff_mkobject,
+      _bfd_generic_mkarchive,
+      _bfd_bool_bfd_false_error
+    },
+    {				/* bfd_write_contents */
+      _bfd_bool_bfd_false_error,
+      coff_write_object_contents,
+      _bfd_write_archive_contents,
+      _bfd_bool_bfd_false_error
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
@@ -483,26 +508,26 @@ const bfd_target tic54x_coff0_beh_vec =
     BFD_JUMP_TABLE_LINK (coff),
     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
-    & tic54x_coff0_vec,
+    &tic54x_coff0_vec,
 
-    & ticoff0_swap_table
+    &ticoff0_swap_table
   };
 
 /* TI COFF v1, DOS tools (little-endian headers).  */
 const bfd_target tic54x_coff1_vec =
   {
-    "coff1-c54x",			/* name */
+    "coff1-c54x",		/* name */
     bfd_target_coff_flavour,
     BFD_ENDIAN_LITTLE,		/* data byte order is little */
     BFD_ENDIAN_LITTLE,		/* header byte order is little (DOS tools) */
 
-    (HAS_RELOC | EXEC_P |		/* object flags */
-     HAS_LINENO | HAS_DEBUG |
-     HAS_SYMS | HAS_LOCALS | WP_TEXT ),
+    (HAS_RELOC | EXEC_P		/* object flags */
+     | HAS_LINENO | HAS_DEBUG
+     | HAS_SYMS | HAS_LOCALS | WP_TEXT ),
 
     (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-    '_',				/* leading symbol underscore */
-    '/',				/* ar_pad_char */
+    '_',			/* leading symbol underscore */
+    '/',			/* ar_pad_char */
     15,				/* ar_max_namelen */
     0,				/* match priority.  */
     bfd_getl64, bfd_getl_signed_64, bfd_putl64,
@@ -512,12 +537,24 @@ const bfd_target tic54x_coff1_vec =
     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
     bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {				/* bfd_check_format */
+      _bfd_dummy_target,
+      coff_object_p,
+      bfd_generic_archive_p,
+      _bfd_dummy_target
+    },
+    {				/* bfd_set_format */
+      _bfd_bool_bfd_false_error,
+      coff_mkobject,
+      _bfd_generic_mkarchive,
+      _bfd_bool_bfd_false_error
+    },
+    {				/* bfd_write_contents */
+      _bfd_bool_bfd_false_error,
+      coff_write_object_contents,
+      _bfd_write_archive_contents,
+      _bfd_bool_bfd_false_error
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
@@ -529,26 +566,26 @@ const bfd_target tic54x_coff1_vec =
     BFD_JUMP_TABLE_LINK (coff),
     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
-    & tic54x_coff0_beh_vec,
+    &tic54x_coff0_beh_vec,
 
-    & ticoff1_swap_table
+    &ticoff1_swap_table
 };
 
 /* TI COFF v1, SPARC tools (big-endian headers).  */
 const bfd_target tic54x_coff1_beh_vec =
   {
-    "coff1-beh-c54x",			/* name */
+    "coff1-beh-c54x",		/* name */
     bfd_target_coff_flavour,
     BFD_ENDIAN_LITTLE,		/* data byte order is little */
     BFD_ENDIAN_BIG,		/* header byte order is big */
 
-    (HAS_RELOC | EXEC_P |		/* object flags */
-     HAS_LINENO | HAS_DEBUG |
-     HAS_SYMS | HAS_LOCALS | WP_TEXT ),
+    (HAS_RELOC | EXEC_P		/* object flags */
+     | HAS_LINENO | HAS_DEBUG
+     | HAS_SYMS | HAS_LOCALS | WP_TEXT ),
 
     (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-    '_',				/* leading symbol underscore */
-    '/',				/* ar_pad_char */
+    '_',			/* leading symbol underscore */
+    '/',			/* ar_pad_char */
     15,				/* ar_max_namelen */
     0,				/* match priority.  */
     bfd_getl64, bfd_getl_signed_64, bfd_putl64,
@@ -558,12 +595,24 @@ const bfd_target tic54x_coff1_beh_vec =
     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
     bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {				/* bfd_check_format */
+      _bfd_dummy_target,
+      coff_object_p,
+      bfd_generic_archive_p,
+      _bfd_dummy_target
+    },
+    {				/* bfd_set_format */
+      _bfd_bool_bfd_false_error,
+      coff_mkobject,
+      _bfd_generic_mkarchive,
+      _bfd_bool_bfd_false_error
+    },
+    {				/* bfd_write_contents */
+      _bfd_bool_bfd_false_error,
+      coff_write_object_contents,
+      _bfd_write_archive_contents,
+      _bfd_bool_bfd_false_error
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
@@ -575,26 +624,26 @@ const bfd_target tic54x_coff1_beh_vec =
     BFD_JUMP_TABLE_LINK (coff),
     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
-    & tic54x_coff1_vec,
+    &tic54x_coff1_vec,
 
-    & ticoff1_swap_table
+    &ticoff1_swap_table
   };
 
 /* TI COFF v2, TI DOS tools output (little-endian headers).  */
 const bfd_target tic54x_coff2_vec =
   {
-    "coff2-c54x",			/* name */
+    "coff2-c54x",		/* name */
     bfd_target_coff_flavour,
     BFD_ENDIAN_LITTLE,		/* data byte order is little */
     BFD_ENDIAN_LITTLE,		/* header byte order is little (DOS tools) */
 
-    (HAS_RELOC | EXEC_P |		/* object flags */
-     HAS_LINENO | HAS_DEBUG |
-     HAS_SYMS | HAS_LOCALS | WP_TEXT ),
+    (HAS_RELOC | EXEC_P		/* object flags */
+     | HAS_LINENO | HAS_DEBUG
+     | HAS_SYMS | HAS_LOCALS | WP_TEXT ),
 
     (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-    '_',				/* leading symbol underscore */
-    '/',				/* ar_pad_char */
+    '_',			/* leading symbol underscore */
+    '/',			/* ar_pad_char */
     15,				/* ar_max_namelen */
     0,				/* match priority.  */
     bfd_getl64, bfd_getl_signed_64, bfd_putl64,
@@ -604,12 +653,24 @@ const bfd_target tic54x_coff2_vec =
     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
     bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {				/* bfd_check_format */
+      _bfd_dummy_target,
+      coff_object_p,
+      bfd_generic_archive_p,
+      _bfd_dummy_target
+    },
+    {				/* bfd_set_format */
+      _bfd_bool_bfd_false_error,
+      coff_mkobject,
+      _bfd_generic_mkarchive,
+      _bfd_bool_bfd_false_error
+    },
+    {				/* bfd_write_contents */
+      _bfd_bool_bfd_false_error,
+      coff_write_object_contents,
+      _bfd_write_archive_contents,
+      _bfd_bool_bfd_false_error
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
@@ -621,7 +682,7 @@ const bfd_target tic54x_coff2_vec =
     BFD_JUMP_TABLE_LINK (coff),
     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
-    & tic54x_coff1_beh_vec,
+    &tic54x_coff1_beh_vec,
 
     COFF_SWAP_TABLE
   };
@@ -629,18 +690,18 @@ const bfd_target tic54x_coff2_vec =
 /* TI COFF v2, TI SPARC tools output (big-endian headers).  */
 const bfd_target tic54x_coff2_beh_vec =
   {
-    "coff2-beh-c54x",			/* name */
+    "coff2-beh-c54x",		/* name */
     bfd_target_coff_flavour,
     BFD_ENDIAN_LITTLE,		/* data byte order is little */
     BFD_ENDIAN_BIG,		/* header byte order is big */
 
-    (HAS_RELOC | EXEC_P |		/* object flags */
-     HAS_LINENO | HAS_DEBUG |
-     HAS_SYMS | HAS_LOCALS | WP_TEXT ),
+    (HAS_RELOC | EXEC_P		/* object flags */
+     | HAS_LINENO | HAS_DEBUG
+     | HAS_SYMS | HAS_LOCALS | WP_TEXT ),
 
     (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-    '_',				/* leading symbol underscore */
-    '/',				/* ar_pad_char */
+    '_',			/* leading symbol underscore */
+    '/',			/* ar_pad_char */
     15,				/* ar_max_namelen */
     0,				/* match priority.  */
     bfd_getl64, bfd_getl_signed_64, bfd_putl64,
@@ -650,12 +711,24 @@ const bfd_target tic54x_coff2_beh_vec =
     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
     bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {				/* bfd_check_format */
+      _bfd_dummy_target,
+      coff_object_p,
+      bfd_generic_archive_p,
+      _bfd_dummy_target
+    },
+    {				/* bfd_set_format */
+      _bfd_bool_bfd_false_error,
+      coff_mkobject,
+      _bfd_generic_mkarchive,
+      _bfd_bool_bfd_false_error
+    },
+    {				/* bfd_write_contents */
+      _bfd_bool_bfd_false_error,
+      coff_write_object_contents,
+      _bfd_write_archive_contents,
+      _bfd_bool_bfd_false_error
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
@@ -667,7 +740,7 @@ const bfd_target tic54x_coff2_beh_vec =
     BFD_JUMP_TABLE_LINK (coff),
     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
-    & tic54x_coff2_vec,
+    &tic54x_coff2_vec,
 
     COFF_SWAP_TABLE
   };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-tic80.c ./bfd/coff-tic80.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-tic80.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-tic80.c	2018-07-10 02:06:11.000000000 +0000
@@ -438,7 +438,7 @@ rtype2howto (arelent *cache_ptr, struct 
 	}
     }
 
-  _bfd_error_handler (_("Unrecognized reloc type 0x%x"),
+  _bfd_error_handler (_("unsupported relocation type %#x"),
 		      (unsigned int) dst->r_type);
   cache_ptr->howto = tic80_howto_table + 0;
 }
@@ -669,8 +669,8 @@ coff_tic80_relocate_section (bfd *output
 	case bfd_reloc_outofrange:
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: bad reloc address %#Lx in section `%A'"),
-	     input_bfd, rel->r_vaddr, input_section);
+	    (_("%pB: bad reloc address %#" PRIx64 " in section `%pA'"),
+	     input_bfd, (uint64_t) rel->r_vaddr, input_section);
 	  return FALSE;
 	case bfd_reloc_overflow:
 	  {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-u68k.c ./bfd/coff-u68k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-u68k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-u68k.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,36 +0,0 @@
-/* BFD back-end for Motorola 68000 COFF binaries having underscore with name.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGET_SYM	m68k_coff_un_vec
-#define TARGET_NAME	"coff-m68k-un"
-
-#define NAMES_HAVE_UNDERSCORE
-
-/* define this to not have multiple copy of m68k_rtype2howto
-   in the executable file */
-#define ONLY_DECLARE_RELOCS
-
-/* This magic number indicates that the names have underscores.
-   Other 68k magic numbers indicate that the names do not have
-   underscores.  */
-#define BADMAG(x) ((x).f_magic != MC68KBCSMAGIC)
-
-#include "coff-m68k.c"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-w65.c ./bfd/coff-w65.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-w65.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-w65.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,375 +0,0 @@
-/* BFD back-end for WDC 65816 COFF binaries.
-   Copyright (C) 1995-2018 Free Software Foundation, Inc.
-   Written by Steve Chamberlain, <sac@cygnus.com>.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "bfdlink.h"
-#include "coff/w65.h"
-#include "coff/internal.h"
-#include "libcoff.h"
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (1)
-static reloc_howto_type howto_table[] =
-{
-  HOWTO (R_W65_ABS8,    0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, "abs8", TRUE, 0x000000ff, 0x000000ff, FALSE),
-  HOWTO (R_W65_ABS16,   1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, "abs16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (R_W65_ABS24,   0,  2, 32, FALSE, 0, complain_overflow_bitfield, 0, "abs24", TRUE, 0x00ffffff, 0x00ffffff, FALSE),
-  HOWTO (R_W65_ABS8S8,  0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, ">abs8", TRUE, 0x000000ff, 0x000000ff, FALSE),
-  HOWTO (R_W65_ABS8S16, 0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, "^abs8", TRUE, 0x000000ff, 0x000000ff, FALSE),
-  HOWTO (R_W65_ABS16S8, 1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, ">abs16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (R_W65_ABS16S16,1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, "^abs16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (R_W65_PCR8,    0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, "pcrel8", TRUE, 0x000000ff, 0x000000ff, TRUE),
-  HOWTO (R_W65_PCR16,   1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, "pcrel16", TRUE, 0x0000ffff, 0x0000ffff, TRUE),
-  HOWTO (R_W65_DP,      0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, "dp", TRUE, 0x000000ff, 0x000000ff, FALSE),
-};
-
-#define NUM_HOWTOS (sizeof (howto_table) / sizeof (howto_table[0]))
-
-/* Turn a howto into a reloc number.  */
-
-#define SELECT_RELOC(x,howto) \
-  { x.r_type = select_reloc(howto); }
-
-#define BADMAG(x) (W65BADMAG(x))
-#define W65 1			/* Customize coffcode.h */
-#define __A_MAGIC_SET__
-
-/* Code to swap in the reloc */
-#define SWAP_IN_RELOC_OFFSET	H_GET_32
-#define SWAP_OUT_RELOC_OFFSET	H_PUT_32
-#define SWAP_OUT_RELOC_EXTRA(abfd, src, dst) \
-  dst->r_stuff[0] = 'S'; \
-  dst->r_stuff[1] = 'C';
-
-static int
-select_reloc (reloc_howto_type *howto)
-{
-  return howto->type;
-}
-
-/* Code to turn a r_type into a howto ptr, uses the above howto table.  */
-
-static void
-rtype2howto (arelent *internal,
-	     struct internal_reloc *dst)
-{
-  if (dst->r_type > 0 && dst->r_type <= NUM_HOWTOS)
-    internal->howto = howto_table + dst->r_type - 1;
-  else
-    internal->howto = NULL;
-}
-
-#define RTYPE2HOWTO(internal, relocentry) rtype2howto(internal,relocentry)
-
-/* Perform any necessary magic to the addend in a reloc entry.  */
-
-#define CALC_ADDEND(abfd, symbol, ext_reloc, cache_ptr) \
- cache_ptr->addend =  ext_reloc.r_offset;
-
-#define RELOC_PROCESSING(relent,reloc,symbols,abfd,section) \
- reloc_processing(relent, reloc, symbols, abfd, section)
-
-static void
-reloc_processing (arelent * relent,
-		  struct internal_reloc *reloc,
-		  asymbol ** symbols,
-		  bfd * abfd,
-		  asection * section)
-{
-  relent->address = reloc->r_vaddr;
-  rtype2howto (relent, reloc);
-
-  if (((int) reloc->r_symndx) > 0)
-    relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx];
-  else
-    relent->sym_ptr_ptr = (asymbol **) bfd_abs_section_ptr->symbol_ptr_ptr;
-
-  relent->addend = reloc->r_offset;
-
-  relent->address -= section->vma;
-  /*  relent->section = 0;*/
-}
-
-static int
-w65_reloc16_estimate (bfd *abfd,
-		      asection *input_section,
-		      arelent *reloc,
-		      unsigned int shrink,
-		      struct bfd_link_info *link_info)
-{
-  bfd_vma value;
-  bfd_vma dot;
-  bfd_vma gap;
-
-  /* The address of the thing to be relocated will have moved back by
-     the size of the shrink  - but we don't change reloc->address here,
-     since we need it to know where the relocation lives in the source
-     uncooked section.  */
-
-  /*  reloc->address -= shrink;   conceptual */
-
-  bfd_vma address = reloc->address - shrink;
-
-  switch (reloc->howto->type)
-    {
-    case R_MOV16B2:
-    case R_JMP2:
-      shrink+=2;
-      break;
-
-      /* Thing is a move one byte.  */
-    case R_MOV16B1:
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      if (value >= 0xff00)
-	{
-	  /* Change the reloc type from 16bit, possible 8 to 8bit
-	     possible 16.  */
-	  reloc->howto = reloc->howto + 1;
-	  /* The place to relc moves back by one.  */
-	  /* This will be two bytes smaller in the long run.  */
-	  shrink += 2;
-	  bfd_perform_slip (abfd, 2, input_section, address);
-	}
-
-      break;
-      /* This is the 24 bit branch which could become an 8 bitter,
-	 the relocation points to the first byte of the insn, not the
-	 actual data.  */
-
-    case R_JMPL1:
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      dot = input_section->output_section->vma +
-	input_section->output_offset + address;
-
-      /* See if the address we're looking at within 127 bytes of where
-	 we are, if so then we can use a small branch rather than the
-	 jump we were going to.  */
-      gap = value - dot;
-
-      if (-120 < (long) gap && (long) gap < 120)
-	{
-	  /* Change the reloc type from 24bit, possible 8 to 8bit
-	     possible 32.  */
-	  reloc->howto = reloc->howto + 1;
-	  /* This will be two bytes smaller in the long run.  */
-	  shrink += 2;
-	  bfd_perform_slip (abfd, 2, input_section, address);
-	}
-      break;
-
-    case R_JMP1:
-      value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
-
-      dot = input_section->output_section->vma +
-	input_section->output_offset + address;
-
-      /* See if the address we're looking at within 127 bytes of where
-	 we are, if so then we can use a small branch rather than the
-	 jump we were going to.  */
-      gap = value - (dot - shrink);
-
-      if (-120 < (long) gap && (long) gap < 120)
-	{
-	  /* Change the reloc type from 16bit, possible 8 to 8bit
-	     possible 16.  */
-	  reloc->howto = reloc->howto + 1;
-	  /* The place to relc moves back by one.  */
-
-	  /* This will be two bytes smaller in the long run.  */
-	  shrink += 2;
-	  bfd_perform_slip (abfd, 2, input_section, address);
-	}
-      break;
-    }
-
-  return shrink;
-}
-
-/* First phase of a relaxing link.  */
-
-/* Reloc types
-   large		small
-   R_MOV16B1		R_MOV16B2	mov.b with 16bit or 8 bit address
-   R_JMP1		R_JMP2		jmp or pcrel branch
-   R_JMPL1		R_JMPL_B8	24jmp or pcrel branch
-   R_MOV24B1		R_MOV24B2	24 or 8 bit reloc for mov.b  */
-
-static void
-w65_reloc16_extra_cases (bfd *abfd,
-			 struct bfd_link_info *link_info,
-			 struct bfd_link_order *link_order,
-			 arelent *reloc,
-			 bfd_byte *data,
-			 unsigned int *src_ptr,
-			 unsigned int *dst_ptr)
-{
-  unsigned int src_address = *src_ptr;
-  unsigned int dst_address = *dst_ptr;
-  asection *input_section = link_order->u.indirect.section;
-
-  switch (reloc->howto->type)
-    {
-    case R_W65_ABS8:
-    case R_W65_DP:
-      {
-	unsigned int gap = bfd_coff_reloc16_get_value (reloc, link_info,
-						       input_section);
-	bfd_put_8 (abfd, gap, data + dst_address);
-	dst_address += 1;
-	src_address += 1;
-      }
-      break;
-
-    case R_W65_ABS8S8:
-      {
-	unsigned int gap = bfd_coff_reloc16_get_value (reloc, link_info,
-						       input_section);
-	gap >>= 8;
-	bfd_put_8 (abfd, gap, data + dst_address);
-	dst_address += 1;
-	src_address += 1;
-      }
-      break;
-
-    case R_W65_ABS8S16:
-      {
-	unsigned int gap = bfd_coff_reloc16_get_value (reloc, link_info,
-						       input_section);
-	gap >>= 16;
-	bfd_put_8 (abfd, gap, data + dst_address);
-	dst_address += 1;
-	src_address += 1;
-      }
-      break;
-
-    case R_W65_ABS16:
-      {
-	unsigned int gap = bfd_coff_reloc16_get_value (reloc, link_info,
-						       input_section);
-
-	bfd_put_16 (abfd, (bfd_vma) gap, data + dst_address);
-	dst_address += 2;
-	src_address += 2;
-      }
-      break;
-    case R_W65_ABS16S8:
-      {
-	unsigned int gap = bfd_coff_reloc16_get_value (reloc, link_info,
-						       input_section);
-	gap >>= 8;
-	bfd_put_16 (abfd, (bfd_vma) gap, data + dst_address);
-	dst_address += 2;
-	src_address += 2;
-      }
-      break;
-    case R_W65_ABS16S16:
-      {
-	unsigned int gap = bfd_coff_reloc16_get_value (reloc, link_info,
-						       input_section);
-	gap >>= 16;
-	bfd_put_16 (abfd, (bfd_vma) gap, data + dst_address);
-	dst_address += 2;
-	src_address += 2;
-      }
-      break;
-
-    case R_W65_ABS24:
-      {
-	unsigned int gap = bfd_coff_reloc16_get_value (reloc, link_info,
-						       input_section);
-	bfd_put_16 (abfd, (bfd_vma) gap, data + dst_address);
-	bfd_put_8 (abfd, gap >> 16, data+dst_address + 2);
-	dst_address += 3;
-	src_address += 3;
-      }
-      break;
-
-    case R_W65_PCR8:
-      {
-	int gap = bfd_coff_reloc16_get_value (reloc, link_info,
-					      input_section);
-	bfd_vma dot = (dst_address
-		       + input_section->output_offset
-		       + input_section->output_section->vma);
-
-	gap -= dot + 1;
-	if (gap < -128 || gap > 127)
-	  (*link_info->callbacks->reloc_overflow)
-	    (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
-	     reloc->howto->name, reloc->addend, input_section->owner,
-	     input_section, reloc->address);
-
-	bfd_put_8 (abfd, gap, data + dst_address);
-	dst_address += 1;
-	src_address += 1;
-      }
-      break;
-
-    case R_W65_PCR16:
-      {
-	bfd_vma gap = bfd_coff_reloc16_get_value (reloc, link_info,
-						  input_section);
-	bfd_vma dot = (dst_address
-		       + input_section->output_offset
-		       + input_section->output_section->vma);
-
-	/* This wraps within the page, so ignore the relativeness, look at the
-	   high part.  */
-	if ((gap & 0xf0000) != (dot & 0xf0000))
-	  (*link_info->callbacks->reloc_overflow)
-	    (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
-	     reloc->howto->name, reloc->addend, input_section->owner,
-	     input_section, reloc->address);
-
-	gap -= dot + 2;
-	bfd_put_16 (abfd, gap, data + dst_address);
-	dst_address += 2;
-	src_address += 2;
-      }
-      break;
-    default:
-      printf (_("ignoring reloc %s\n"), reloc->howto->name);
-      break;
-
-    }
-  *src_ptr = src_address;
-  *dst_ptr = dst_address;
-}
-
-#define coff_reloc16_extra_cases w65_reloc16_extra_cases
-#define coff_reloc16_estimate w65_reloc16_estimate
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata	NULL
-#endif
-
-#include "coffcode.h"
-
-#undef coff_bfd_get_relocated_section_contents
-#undef coff_bfd_relax_section
-#define coff_bfd_get_relocated_section_contents \
-  bfd_coff_reloc16_get_relocated_section_contents
-#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
-
-CREATE_LITTLE_COFF_TARGET_VEC (w65_coff_vec, "coff-w65", BFD_IS_RELAXABLE, 0, '_', NULL, COFF_SWAP_TABLE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-we32k.c ./bfd/coff-we32k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-we32k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-we32k.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,78 +0,0 @@
-/* BFD back-end for we32k COFF files.
-   Copyright (C) 1992-2018 Free Software Foundation, Inc.
-   Contributed by Brendan Kehoe (brendan@cs.widener.edu).
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "coff/we32k.h"
-#include "coff/internal.h"
-#include "libcoff.h"
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3)
-
-static reloc_howto_type howto_table[] =
-{
-    EMPTY_HOWTO (0),
-    EMPTY_HOWTO (1),
-    EMPTY_HOWTO (2),
-    EMPTY_HOWTO (3),
-    EMPTY_HOWTO (4),
-    EMPTY_HOWTO (5),
-  HOWTO(R_DIR32,	       0,  2,	32, FALSE, 0,complain_overflow_bitfield, 0, "dir32",	TRUE, 0xffffffff,0xffffffff, FALSE),
-    EMPTY_HOWTO (7),
-    EMPTY_HOWTO (010),
-    EMPTY_HOWTO (011),
-    EMPTY_HOWTO (012),
-    EMPTY_HOWTO (013),
-    EMPTY_HOWTO (014),
-    EMPTY_HOWTO (015),
-    EMPTY_HOWTO (016),
-  HOWTO(R_RELBYTE,	       0,  0,	8,  FALSE, 0, complain_overflow_bitfield, 0, "8",	TRUE, 0x000000ff,0x000000ff, FALSE),
-  HOWTO(R_RELWORD,	       0,  1,	16, FALSE, 0, complain_overflow_bitfield, 0, "16",	TRUE, 0x0000ffff,0x0000ffff, FALSE),
-  HOWTO(R_RELLONG,	       0,  2,	32, FALSE, 0, complain_overflow_bitfield, 0, "32",	TRUE, 0xffffffff,0xffffffff, FALSE),
-  HOWTO(R_PCRBYTE,	       0,  0,	8,  TRUE,  0, complain_overflow_signed, 0, "DISP8",    TRUE, 0x000000ff,0x000000ff, FALSE),
-  HOWTO(R_PCRWORD,	       0,  1,	16, TRUE,  0, complain_overflow_signed, 0, "DISP16",   TRUE, 0x0000ffff,0x0000ffff, FALSE),
-  HOWTO(R_PCRLONG,	       0,  2,	32, TRUE,  0, complain_overflow_signed, 0, "DISP32",   TRUE, 0xffffffff,0xffffffff, FALSE),
-};
-
-#define NUM_HOWTOS (sizeof (howto_table) / sizeof (howto_table[0]))
-
-/* Turn a howto into a reloc  nunmber */
-
-#define SELECT_RELOC(x,howto) { x.r_type = howto->type; }
-#define BADMAG(x) WE32KBADMAG(x)
-#define WE32K	1
-
-#define RTYPE2HOWTO(cache_ptr, dst)				\
-  ((cache_ptr)->howto =						\
-   ((dst)->r_type < NUM_HOWTOS					\
-    ? howto_table + (dst)->r_type				\
-    : NULL))
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata	NULL
-#endif
-
-#include "coffcode.h"
-
-#define coff_write_armap bsd_write_armap
-
-CREATE_BIG_COFF_TARGET_VEC (we32k_coff_vec, "coff-we32k", 0, 0, 0, NULL, COFF_SWAP_TABLE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-x86_64.c ./bfd/coff-x86_64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/coff-x86_64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/coff-x86_64.c	2018-07-10 02:06:11.000000000 +0000
@@ -761,9 +761,9 @@ const bfd_target
   BFD_ENDIAN_LITTLE,		/* Data byte order is little.  */
   BFD_ENDIAN_LITTLE,		/* Header byte order is little.  */
 
-  (HAS_RELOC | EXEC_P |		/* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS),
+  (HAS_RELOC | EXEC_P		/* Object flags.  */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS),
 
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC /* Section flags.  */
 #if defined(COFF_WITH_PE)
@@ -788,12 +788,24 @@ const bfd_target
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Hdrs.  */
 
   /* Note that we allow an object file to be treated as a core file as well.  */
-  { _bfd_dummy_target, amd64coff_object_p, /* BFD_check_format.  */
-    bfd_generic_archive_p, amd64coff_object_p },
-  { bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format.  */
-    bfd_false },
-  { bfd_false, coff_write_object_contents, /* bfd_write_contents.  */
-   _bfd_write_archive_contents, bfd_false },
+  {				/* bfd_check_format.  */
+    _bfd_dummy_target,
+    amd64coff_object_p,
+    bfd_generic_archive_p,
+    amd64coff_object_p 
+  },
+  {				/* bfd_set_format.  */
+    _bfd_bool_bfd_false_error,
+    coff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error 
+  },
+  {				/* bfd_write_contents.  */
+    _bfd_bool_bfd_false_error,
+    coff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error 
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff),
   BFD_JUMP_TABLE_COPY (coff),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/compress.c ./bfd/compress.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/compress.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/compress.c	2018-07-10 02:06:11.000000000 +0000
@@ -252,8 +252,8 @@ bfd_get_full_section_contents (bfd *abfd
 	      if (bfd_get_error () == bfd_error_no_memory)
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("error: %B(%A) is too large (%#Lx bytes)"),
-		  abfd, sec, sz);
+		  (_("error: %pB(%pA) is too large (%#" PRIx64 " bytes)"),
+		  abfd, sec, (uint64_t) sz);
 	      return FALSE;
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/config.bfd ./bfd/config.bfd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/config.bfd	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/config.bfd	2018-07-10 02:06:11.000000000 +0000
@@ -53,99 +53,102 @@ case $targ in
     echo "*** Use or1k-*-elf or or1k-*-linux as the target instead" >&2
     exit 1
     ;;
- i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu | \
+ powerpc-*-lynxos* | powerpc-*-windiss* | \
+ null)
+    if test "x$enable_obsolete" != xyes; then
+      echo "*** Configuration $targ is obsolete." >&2
+      echo "*** Specify --enable-obsolete to build it anyway." >&2
+      echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2
+      echo "*** unless a maintainer comes forward." >&2
+      exit 1
+    fi;;
+esac
+
+case $targ in
+ *-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu | \
  mips*-*-irix5* | mips*-*-irix6*)
     # Not obsolete
     ;;
+ *-adobe-* | \
+ *-go32-rtems* | \
+ *-sony-* | \
+ *-tandem-* | \
+ *-*-ieee* | \
  *-*-netware* | \
- arm-epoc-pe* | \
+ *-*-rtemsaout* | \
+ *-*-rtemscoff* | \
+ a29k-* | \
  arm*-*-aout | \
- arm*-*-coff | \
+ arm-*-coff | \
+ arm-*-netbsd* | \
+ arm-*-openbsd* | \
+ arm-*-oabi | \
+ arm-*-riscix* | \
+ arm-epoc-pe* | \
  h8300*-*-coff | \
  h8500*-*-coff | \
- i[3-7]86-*-sco3.2v5*coff | \
- i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \
- i[3-7]86-*-sco3.2v5* | \
- i[3-7]86-*-dgux* | i[3-7]86-*-sysv5* | \
+ hppa*-*-rtems* | \
+ i[3-7]86-*-unixware* | \
+ i[3-7]86-*-dgux* | \
  i[3-7]86-*-chorus* | \
- i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \
+ i[3-7]86-*-sysv* | \
+ i[3-7]86-*-isc* | \
+ i[3-7]86-*-sco* | \
+ i[3-7]86-*-coff | \
  i[3-7]86-*-aix* | \
  i[3-7]86-sequent-bsd* | \
- i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
- i[3-7]86-*-freebsd[12] | \
+ i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12] | \
  i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
  i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3] | \
- i[3-7]86-*-netware* | \
  i[3-7]86-*-linux*aout* | \
  i[3-7]86-*-mach* | i[3-7]86-*-osf1mk* | \
  i[3-7]86-*-os9k | \
  i[3-7]86-none-* | \
  i[3-7]86-*-aout* | i[3-7]86*-*-vsta* | \
+ i370-* | \
  i860-*-* | \
  i960-*-* | \
- m68*-motorola-sysv* | m68*-hp-bsd* | m68*-*-aout* | \
- m68*-*-coff* | m68*-*-sysv* | \
+ m68*-*-*bsd* | \
+ m68*-*-aout* | \
+ m68*-*-coff* | \
  m68*-*-hpux* | \
  m68*-*-linux*aout* | \
- m68*-hp*-netbsd* | \
- m68*-*-netbsdaout* | \
- m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \
- m68*-*-bsd* | m68*-*-vsta* | \
- m68*-ericsson-* | \
+ m68*-*-lynxos* | \
+ m68*-*-os68k* | \
  m68*-*-psos* | \
+ m68*-*-sunos* | \
+ m68*-*-sysv* | \
+ m68*-*-vsta* | \
+ m68*-*-vxworks* | \
+ m68*-apollo-* | \
+ m68*-apple-aux* | \
+ m68*-bull-sysv* | \
+ m68*-ericsson-* | \
+ m68*-motorola-sysv* | \
+ m68*-netx-* | \
  m88*-*-* | \
- mips*-big-* | \
- mips*-dec-* | mips*el-*-ecoff* | \
+ maxq-*-coff | \
+ mips*-*-bsd* | \
  mips*-*-ecoff* | \
- mips*-sgi-* | mips*-*-bsd* | \
  mips*-*-lnews* | \
- mips*-*-sysv* | mips*-*-riscos* | \
- sh*-*-symbianelf* | \
- sparclet-*-aout* | \
- sparc86x-*-aout* | \
+ mips*-*-mach3* | \
+ mips*-*-pe* | \
+ mips*-*-riscos* | \
+ mips*-*-sysv* | \
+ mips*-big-* | \
+ mips*-dec-* | \
+ mips*-sgi-* | \
+ mips*el-*-rtems* | \
+ sh*-*-symbianelf* | sh5*-*-* | sh64*-*-* | \
+ sparc*-*-*aout* | \
  sparc*-*-chorus* | \
- sparc-*-linux*aout* | \
- sparc-*-netbsdaout* | \
- sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1] | \
- sparc-*-netware* | \
- sparc64-*-aout* | \
  sparc*-*-coff* | \
+ sparc-*-lynxos* | \
+ sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1] | \
  tahoe-*-* | \
- vax-*-bsd* | vax-*-ultrix* | \
- we32k-*-* | \
+ vax-*-bsd* | vax-*-ultrix* | vax-*-vms* | \
  w65-*-* | \
- *-*-ieee* | \
- *-adobe-* | \
- *-sony-* | \
- *-tandem-* | \
- i370-* | \
- sh5*-*-* | sh64*-*-* | \
- null)
-    if test "x$enable_obsolete" != xyes; then
-      echo "*** Configuration $targ is obsolete." >&2
-      echo "*** Specify --enable-obsolete to build it anyway." >&2
-      echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2
-      echo "*** unless a maintainer comes forward." >&2
-      exit 1
-    fi;;
-esac
-
-case $targ in
- *-go32-rtems* | \
- *-*-rtemsaout* | \
- *-*-rtemscoff* | \
- a29k-* | \
- arm-*-oabi | \
- hppa*-*-rtems* | \
- i960-*-rtems* | \
- m68*-*-lynxos* | \
- m68*-apollo-* | \
- m68*-apple-aux* | \
- m68*-bull-sysv* | \
- maxq-*-coff | \
- mips*el-*-rtems* | \
- sparc-*-lynxos* | \
- vax-*-vms* | \
+ we32k-*-* | \
  null)
     echo "*** Configuration $targ is obsolete." >&2
     echo "*** Support has been REMOVED." >&2
@@ -171,16 +174,16 @@ dlx*)		 targ_archs=bfd_dlx_arch ;;
 fido*)		 targ_archs=bfd_m68k_arch ;;
 hppa*)		 targ_archs=bfd_hppa_arch ;;
 i[3-7]86)	 targ_archs=bfd_i386_arch ;;
-i370)		 targ_archs=bfd_i370_arch ;;
 ia16)		 targ_archs=bfd_i386_arch ;;
 lm32)	         targ_archs=bfd_lm32_arch ;;
 m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
 m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
 m68*)		 targ_archs=bfd_m68k_arch ;;
-m88*)		 targ_archs=bfd_m88k_arch ;;
+s12z*)         targ_archs=bfd_s12z_arch ;;
 microblaze*)	 targ_archs=bfd_microblaze_arch ;;
 mips*)		 targ_archs=bfd_mips_arch ;;
 nds32*)		 targ_archs=bfd_nds32_arch ;;
+nfp)		 targ_archs=bfd_nfp_arch ;;
 nios2*)          targ_archs=bfd_nios2_arch ;;
 or1k*|or1knd*)	 targ_archs=bfd_or1k_arch ;;
 pdp11*)		 targ_archs=bfd_pdp11_arch ;;
@@ -211,26 +214,8 @@ esac
 #  Make sure that the left side always has two dashes.  Otherwise you
 #  can get spurious matches.  Even for unambiguous cases, do this as a
 #  convention, else the table becomes a real mess to understand and maintain.
-#
-#  Keep obsolete entries above the START comment, to keep them out of
-#  targmatch.h.
 
 case "${targ}" in
-  mips*-dec-bsd*)
-    echo "This target is obsolete and has been removed."
-    exit 1
-    ;;
-
-  mips*-*-mach3*)
-    echo "This target is obsolete and has been removed."
-    exit 1
-    ;;
-
-  mips*-*-pe*)
-    echo "This target is obsolete and has been removed."
-    exit 1
-    ;;
-
   plugin)
     targ_defvec=plugin_vec
     targ_selvecs="plugin_vec"
@@ -294,11 +279,6 @@ case "${targ}" in
     targ_selvecs=alpha_ecoff_le_vec
     want64=true
     ;;
-  alpha*-*-netware*)
-    targ_defvec=alpha_ecoff_le_vec
-    targ_selvecs=alpha_nlm32_vec
-    want64=true
-    ;;
   alpha*-*-linux*ecoff*)
     targ_defvec=alpha_ecoff_le_vec
     targ_selvecs=alpha_elf64_vec
@@ -333,15 +313,6 @@ case "${targ}" in
     targ_selvecs=alpha_vms_lib_txt_vec
     want64=true
     ;;
-  sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
-    targ_defvec=sparc_elf64_fbsd_vec
-    targ_selvecs="sparc_elf64_vec sparc_elf32_vec sparc_aout_sunos_be_vec"
-    ;;
-  sparc64-*-netbsd* | sparc64-*-openbsd*)
-    targ_defvec=sparc_elf64_vec
-    targ_selvecs="sparc_elf32_vec sparc_aout_sunos_be_vec"
-    want64=true
-    ;;
 #endif /* BFD64 */
 
   am33_2.0-*-linux*)
@@ -381,31 +352,17 @@ case "${targ}" in
     ;;
   armeb-*-netbsdelf*)
     targ_defvec=arm_elf32_be_vec
-    targ_selvecs="arm_elf32_le_vec arm_aout_nbsd_vec"
+    targ_selvecs="arm_elf32_le_vec"
     ;;
   arm-*-netbsdelf*)
     targ_defvec=arm_elf32_le_vec
-    targ_selvecs="arm_elf32_be_vec arm_aout_nbsd_vec"
-    ;;
-  arm-*-netbsd* | arm-*-openbsd*)
-    targ_defvec=arm_aout_nbsd_vec
-    targ_selvecs="arm_elf32_le_vec arm_elf32_be_vec"
-    targ_underscore=yes
+    targ_selvecs="arm_elf32_be_vec"
     ;;
   arm-*-nto* | nto*arm*)
     targ_defvec=arm_elf32_le_vec
     targ_selvecs=arm_elf32_be_vec
     targ_cflags=-D__QNXTARGET__
     ;;
-  arm-*-riscix*)
-    targ_defvec=arm_aout_riscix_vec
-    ;;
-  arm-epoc-pe*)
-    targ_defvec=arm_pe_epoc_le_vec
-    targ_selvecs="arm_pe_epoc_le_vec arm_pe_epoc_be_vec arm_pei_epoc_le_vec arm_pei_epoc_be_vec"
-    targ_underscore=no
-    targ_cflags=-DARM_COFF_BUGFIX
-    ;;
   arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
     targ_defvec=arm_pe_wince_le_vec
     targ_selvecs="arm_pe_wince_le_vec arm_pe_wince_be_vec arm_pei_wince_le_vec arm_pei_wince_be_vec"
@@ -417,19 +374,6 @@ case "${targ}" in
     targ_selvecs="arm_pe_le_vec arm_pe_be_vec arm_pei_le_vec arm_pei_be_vec"
     targ_underscore=yes
     ;;
-  arm-*-aout | armel-*-aout)
-    targ_defvec=arm_aout_le_vec
-    targ_selvecs=arm_aout_be_vec
-    ;;
-  armeb-*-aout)
-    targ_defvec=arm_aout_be_vec
-    targ_selvecs=arm_aout_le_vec
-    ;;
-  arm-*-coff)
-    targ_defvec=arm_coff_le_vec
-    targ_selvecs=arm_coff_be_vec
-    targ_underscore=yes
-    ;;
   arm-*-phoenix*)
     targ_defvec=arm_elf32_le_vec
     targ_selvecs=arm_elf32_be_vec
@@ -444,9 +388,9 @@ case "${targ}" in
     ;;
   arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
   arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
-  arm*-*-eabi* | arm-*-rtems*)
+  arm*-*-eabi* | arm-*-rtems* | arm*-*-uclinuxfdpiceabi)
     targ_defvec=arm_elf32_le_vec
-    targ_selvecs=arm_elf32_be_vec
+    targ_selvecs="arm_elf32_fdpic_le_vec arm_elf32_be_vec arm_elf32_fdpic_be_vec"
     ;;
   arm*-*-vxworks | arm*-*-windiss)
     targ_defvec=arm_elf32_vxworks_le_vec
@@ -503,7 +447,7 @@ case "${targ}" in
 #ifdef BFD64
   cris-*-* | crisv32-*-*)
     targ_defvec=cris_aout_vec
-    targ_selvecs="cris_elf32_us_vec cris_elf32_vec ieee_vec"
+    targ_selvecs="cris_elf32_us_vec cris_elf32_vec"
     case "${targ}" in
 	*-*-linux*) ;;
 	*) targ_underscore=yes ;;
@@ -537,7 +481,6 @@ case "${targ}" in
 
   fido-*-elf* )
     targ_defvec=m68k_elf32_vec
-    targ_selvecs="m68k_coff_vec ieee_vec"
     ;;
 
   fr30-*-elf)
@@ -572,16 +515,6 @@ case "${targ}" in
     targ_defvec=h8300_elf32_linux_vec
     ;;
 
-  h8300*-*-*)
-    targ_defvec=h8300_coff_vec
-    targ_underscore=yes
-    ;;
-
-  h8500-*-*)
-    targ_defvec=h8500_coff_vec
-    targ_underscore=yes
-    ;;
-
 #ifdef BFD64
   hppa*64*-*-linux-*)
     targ_defvec=hppa_elf64_linux_vec
@@ -621,18 +554,7 @@ case "${targ}" in
     targ_selvecs=hppa_elf32_vec
     ;;
 
-  i370-*-*)
-    targ_defvec=i370_elf32_vec
-    targ_selvecs="i370_elf32_vec"
-    ;;
-
-  i[3-7]86-*-sco3.2v5*coff)
-    targ_defvec=i386_coff_vec
-    targ_selvecs=i386_elf32_vec
-    ;;
-  i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \
-  i[3-7]86-*-elf* | i[3-7]86-*-sco3.2v5* | \
-  i[3-7]86-*-dgux* | i[3-7]86-*-sysv5* | i[3-7]86-*-rtems*)
+  i[3-7]86-*-elf* | i[3-7]86-*-rtems*)
     targ_defvec=i386_elf32_vec
     targ_selvecs="iamcu_elf32_vec i386_coff_vec"
     ;;
@@ -661,10 +583,6 @@ case "${targ}" in
     targ_defvec=i386_elf32_vec
     targ_selvecs=iamcu_elf32_vec
     ;;
-  i[3-7]86-*-chorus*)
-    targ_defvec=i386_elf32_vec
-    targ_selvecs=iamcu_elf32_vec
-    ;;
   i[3-7]86-*-dicos*)
     targ_defvec=i386_elf32_vec
     targ_selvecs=iamcu_elf32_vec
@@ -674,20 +592,12 @@ case "${targ}" in
     targ_defvec=i386_coff_go32_vec
     targ_selvecs="i386_coff_go32stubbed_vec i386_aout_vec"
     ;;
-  i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \
-  i[3-7]86-*-aix*)
-    targ_defvec=i386_coff_vec
-    ;;
   i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
     targ_defvec=i386_mach_o_vec
     targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
     targ64_selvecs=x86_64_mach_o_vec
     targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
     ;;
-  i[3-7]86-sequent-bsd*)
-    targ_defvec=i386_aout_dynix_vec
-    targ_underscore=yes
-    ;;
   i[3-7]86-*-bsd*)
     targ_defvec=i386_aout_bsd_vec
     targ_underscore=yes
@@ -697,12 +607,6 @@ case "${targ}" in
     targ_selvecs=iamcu_elf32_vec
     targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
     ;;
-  i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
-  i[3-7]86-*-freebsd[12])
-    targ_defvec=i386_aout_fbsd_vec
-    targ_selvecs=i386_aout_bsd_vec
-    targ_underscore=yes
-    ;;
   i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
     targ_defvec=i386_elf32_fbsd_vec
     targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_pei_vec i386_coff_vec"
@@ -715,35 +619,20 @@ case "${targ}" in
     ;;
   i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
     targ_defvec=i386_elf32_vec
-    targ_selvecs="i386_aout_nbsd_vec iamcu_elf32_vec"
+    targ_selvecs="iamcu_elf32_vec"
     targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
     ;;
   i[3-7]86-*-netbsdpe*)
     targ_defvec=i386_pe_vec
     targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
     ;;
-  i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
-  i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3])
-    targ_defvec=i386_aout_nbsd_vec
-    targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_aout_bsd_vec"
-    targ_underscore=yes
-    ;;
   i[3-7]86-*-openbsd*)
     targ_defvec=i386_elf32_vec
-    targ_selvecs="iamcu_elf32_vec i386_aout_nbsd_vec"
-    ;;
-  i[3-7]86-*-netware*)
-    targ_defvec=i386_elf32_vec
-    targ_selvecs="iamcu_elf32_vec i386_nlm32_vec i386_coff_vec i386_aout_vec"
-    ;;
-  i[3-7]86-*-linux*aout*)
-    targ_defvec=i386_aout_linux_vec
-    targ_selvecs="i386_elf32_vec iamcu_elf32_vec"
-    targ_underscore=yes
+    targ_selvecs="iamcu_elf32_vec"
     ;;
   i[3-7]86-*-linux-*)
     targ_defvec=i386_elf32_vec
-    targ_selvecs="iamcu_elf32_vec i386_aout_linux_vec i386_pei_vec"
+    targ_selvecs="iamcu_elf32_vec i386_pei_vec"
     targ64_selvecs="x86_64_elf64_vec x86_64_elf32_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
     ;;
   i[3-7]86-*-nacl*)
@@ -776,6 +665,10 @@ case "${targ}" in
   x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia)
     targ_defvec=x86_64_elf64_vec
     targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec"
+    case "${targ}" in
+      x86_64-*-rtems*)
+    targ_selvecs="${targ_selvecs} x86_64_pei_vec"
+    esac
     want64=true
     ;;
   x86_64-*-dragonfly*)
@@ -790,12 +683,12 @@ case "${targ}" in
     ;;
   x86_64-*-netbsd* | x86_64-*-openbsd*)
     targ_defvec=x86_64_elf64_vec
-    targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_aout_nbsd_vec i386_coff_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
+    targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
     want64=true
     ;;
   x86_64-*-linux-*)
     targ_defvec=x86_64_elf64_vec
-    targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_aout_linux_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
+    targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
     want64=true
     ;;
   x86_64-*-nacl*)
@@ -828,14 +721,6 @@ case "${targ}" in
     targ_defvec=i386_elf32_vec
     targ_selvecs=iamcu_elf32_vec
     ;;
-  i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*)
-    targ_defvec=i386_aout_mach3_vec
-    targ_cflags=-DSTAT_FOR_EXEC
-    targ_underscore=yes
-    ;;
-  i[3-7]86-*-os9k)
-    targ_defvec=i386_aout_os9k_vec
-    ;;
   i[3-7]86-*-msdos*)
     targ_defvec=i386_aout_vec
     targ_selvecs=i386_msdos_vec
@@ -867,12 +752,6 @@ case "${targ}" in
     targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
     targ_underscore=yes
     ;;
-  i[3-7]86-none-*)
-    targ_defvec=i386_coff_vec
-    ;;
-  i[3-7]86-*-aout* | i[3-7]86*-*-vsta*)
-    targ_defvec=i386_aout_vec
-    ;;
   i[3-7]86-*-vxworks*)
     targ_defvec=i386_elf32_vxworks_vec
     targ_underscore=yes
@@ -882,37 +761,6 @@ case "${targ}" in
     targ_selfvecs="iamcu_elf32_vec i386chaos_vec"
     ;;
 
-  i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
-    targ_defvec=i860_coff_vec
-    ;;
-  i860-stardent-sysv4* | i860-stardent-elf*)
-    targ_defvec=i860_elf32_le_vec
-    targ_selvecs="i860_elf32_vec i860_elf32_le_vec"
-    ;;
-  i860-*-sysv4* | i860-*-elf*)
-    targ_defvec=i860_elf32_vec
-    ;;
-
-  i960-*-vxworks4* | i960-*-vxworks5.0)
-    targ_defvec=bout_le_vec
-    targ_selvecs="bout_be_vec icoff_le_vec icoff_be_vec ieee_vec"
-    targ_underscore=yes
-    ;;
-  i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*)
-    targ_defvec=icoff_le_vec
-    targ_selvecs="icoff_be_vec bout_le_vec bout_be_vec ieee_vec"
-    targ_underscore=yes
-    ;;
-  i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*)
-    targ_defvec=bout_le_vec
-    targ_selvecs="bout_be_vec icoff_le_vec icoff_be_vec ieee_vec"
-    targ_underscore=yes
-    ;;
-  i960-*-elf*)
-    targ_defvec=i960_elf32_vec
-    targ_selvecs="icoff_le_vec icoff_be_vec"
-    ;;
-
   ia16-*-elf)
     targ_defvec=i386_elf32_vec
     targ_selvecs="i386_msdos_vec i386_aout_vec"
@@ -967,103 +815,13 @@ case "${targ}" in
     targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec"
     ;;
 
-  m68*-motorola-sysv*)
-    targ_defvec=m68k_coff_sysv_vec
-    ;;
-  m68*-hp-bsd*)
-    targ_defvec=m68k_aout_hp300bsd_vec
-    targ_underscore=yes
-    ;;
-  m68*-*-aout*)
-    targ_defvec=aout0_be_vec
-    # We include core_cisco_be_vec here, rather than making a separate cisco
-    # configuration, so that cisco-core.c gets routinely tested at
-    # least for compilation.
-    targ_selvecs="core_cisco_be_vec ieee_vec"
-    targ_underscore=yes
-    ;;
-  m68*-*-elf* | m68*-*-sysv4* | m68*-*-rtems* | m68*-*-uclinux*)
-    targ_defvec=m68k_elf32_vec
-    targ_selvecs="m68k_coff_vec ieee_vec"
-    ;;
-  m68*-*-coff* | m68*-*-sysv*)
-    targ_defvec=m68k_coff_vec
-    targ_selvecs="m68k_coff_vec m68k_versados_vec ieee_vec"
-    ;;
-  m68*-*-hpux*)
-    targ_defvec=m68k_aout_hp300hpux_vec
-    targ_underscore=yes
-    ;;
-  m68*-*-linux*aout*)
-    targ_defvec=m68k_aout_linux_vec
-    targ_selvecs=m68k_elf32_vec
-    targ_underscore=yes
-    ;;
-  m68*-*-linux-*)
-    targ_defvec=m68k_elf32_vec
-    targ_selvecs=m68k_aout_linux_vec
-    ;;
-  m68*-*-gnu*)
-    targ_defvec=m68k_elf32_vec
-    # targ_selvecs=m68kmach3_vec
-    # targ_cflags=-DSTAT_FOR_EXEC
-    ;;
-  m68*-hp*-netbsd*)
-    targ_defvec=m68k_aout_4knbsd_vec
-    targ_selvecs="m68k_aout_nbsd_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec"
-    targ_underscore=yes
-    ;;
-  m68*-*-netbsdelf*)
+  m68*-*-*)
     targ_defvec=m68k_elf32_vec
-    targ_selvecs="m68k_aout_nbsd_vec m68k_aout_4knbsd_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec"
-    ;;
-  m68*-*-netbsdaout* | m68*-*-netbsd*)
-    targ_defvec=m68k_aout_nbsd_vec
-    targ_selvecs="m68k_aout_4knbsd_vec m68k_elf32_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec"
-    targ_underscore=yes
-    ;;
-  m68*-*-openbsd*)
-    targ_defvec=m68k_aout_nbsd_vec
-    targ_selvecs="m68k_aout_4knbsd_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec"
-    targ_underscore=yes
-    ;;
-  m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \
-  m68*-*-bsd* | m68*-*-vsta*)
-    targ_defvec=sparc_aout_sunos_be_vec
-    targ_underscore=yes
-    ;;
-  m68*-ericsson-*)
-    targ_defvec=sparc_aout_sunos_be_vec
-    targ_selvecs="m68k_coff_vec m68k_versados_vec tekhex_vec"
-    targ_underscore=yes
-    ;;
-  m68*-cbm-*)
-    targ_defvec=m68k_elf32_vec
-    targ_selvecs=m68k_coff_vec
-    ;;
-  m68*-*-psos*)
-    targ_defvec=m68k_elf32_vec
-    targ_selvecs=ieee_vec
-    targ_underscore=yes
     ;;
 
-  m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*)
-    targ_defvec=m88k_elf32_vec
-    targ_selvecs=m88k_coff_bcs_vec
-    ;;
-  m88*-*-mach3*)
-    targ_defvec=m88k_aout_mach3_vec
-    targ_cflags=-DSTAT_FOR_EXEC
+  s12z-*-*)
+    targ_defvec=s12z_elf32_vec
     ;;
-  m88*-*-openbsd*)
-   targ_defvec=m88k_aout_obsd_vec
-   targ_underscore=yes
-   ;;
-  m88*-*-*)
-    targ_defvec=m88k_coff_bcs_vec
-    targ_underscore=yes
-    ;;
-
   mcore-*-elf)
     targ_defvec=mcore_elf32_be_vec
     targ_selvecs="mcore_elf32_be_vec mcore_elf32_le_vec"
@@ -1093,10 +851,6 @@ case "${targ}" in
     targ_selvecs=microblaze_elf32_le_vec
     ;;
 
-  mips*-big-*)
-    targ_defvec=mips_ecoff_be_vec
-    targ_selvecs=mips_ecoff_le_vec
-    ;;
 #ifdef BFD64
   mips*el-*-netbsd*)
     targ_defvec=mips_elf32_trad_le_vec
@@ -1106,16 +860,6 @@ case "${targ}" in
     targ_defvec=mips_elf32_trad_be_vec
     targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
     ;;
-#endif
-  mips*-dec-* | mips*el-*-ecoff*)
-    targ_defvec=mips_ecoff_le_vec
-    targ_selvecs=mips_ecoff_be_vec
-    ;;
-  mips*-*-ecoff*)
-    targ_defvec=mips_ecoff_be_vec
-    targ_selvecs=mips_ecoff_le_vec
-    ;;
-#ifdef BFD64
   mips*-*-irix6*)
     targ_defvec=mips_elf32_n_be_vec
     targ_selvecs="mips_elf32_n_le_vec mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
@@ -1132,26 +876,6 @@ case "${targ}" in
     targ_defvec=mips_elf32_be_vec
     targ_selvecs="mips_elf32_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
     ;;
-#endif
-  mips*-sgi-* | mips*-*-bsd*)
-    targ_defvec=mips_ecoff_be_vec
-    targ_selvecs=mips_ecoff_le_vec
-    ;;
-  mips*-*-lnews*)
-    targ_defvec=mips_ecoff_bele_vec
-    targ_selvecs="mips_ecoff_le_vec mips_ecoff_be_vec"
-    ;;
-#ifdef BFD64
-  mips*-*-sysv4*)
-    targ_defvec=mips_elf32_trad_be_vec
-    targ_selvecs="mips_elf32_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
-    ;;
-#endif
-  mips*-*-sysv* | mips*-*-riscos*)
-    targ_defvec=mips_ecoff_be_vec
-    targ_selvecs=mips_ecoff_le_vec
-    ;;
-#ifdef BFD64
   mips*el-*-vxworks*)
     targ_defvec=mips_elf32_vxworks_le_vec
     targ_selvecs="mips_elf32_le_vec mips_elf32_vxworks_be_vec mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
@@ -1277,6 +1001,12 @@ case "${targ}" in
     targ_selvecs=nds32_elf32_le_vec
     ;;
 
+#ifdef BFD64
+  nfp-*-*)
+    targ_defvec=nfp_elf64_vec
+    ;;
+#endif
+
   ns32k-pc532-mach* | ns32k-pc532-ux*)
     targ_defvec=ns32k_aout_pc532mach_vec
     targ_underscore=yes
@@ -1415,10 +1145,6 @@ case "${targ}" in
     targ_selvecs="rs6000_xcoff_vec"
     targ_cflags=-DSMALL_ARCHIVE
     ;;
-  powerpc-*-netware*)
-    targ_defvec=powerpc_elf32_vec
-    targ_selvecs="powerpc_nlm32_vec rs6000_xcoff_vec"
-    ;;
   powerpc-*-nto*)
     targ_defvec=powerpc_elf32_vec
     targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec"
@@ -1491,35 +1217,6 @@ case "${targ}" in
     targ_defvec=score_elf32_be_vec
     targ_selvecs=score_elf32_le_vec
     ;;
-
-  sh64l*-*-elf*)
-    targ_defvec=sh64_elf32_le_vec
-    targ_selvecs="sh64_elf32_vec sh64_elf64_le_vec sh64_elf64_vec sh_elf32_le_vec sh_elf32_vec"
-    targ_underscore=yes
-    want64=true
-    ;;
-  sh64-*-elf*)
-    targ_defvec=sh64_elf32_vec
-    targ_selvecs="sh64_elf32_le_vec sh64_elf64_vec sh64_elf64_le_vec sh_elf32_vec sh_elf32_le_vec"
-    targ_underscore=yes
-    want64=true
-    ;;
-  sh64eb-*-linux*)
-    targ_defvec=sh64_elf32_linux_be_vec
-    targ_selvecs="sh64_elf32_linux_vec sh64_elf64_linux_be_vec sh64_elf64_linux_vec sh_elf32_linux_be_vec sh_elf32_linux_vec"
-    want64=true
-    ;;
-  sh64-*-linux*)
-    targ_defvec=sh64_elf32_linux_vec
-    targ_selvecs="sh64_elf32_linux_be_vec sh64_elf64_linux_vec sh64_elf64_linux_be_vec sh_elf32_linux_vec sh_elf32_linux_be_vec"
-    want64=true
-    ;;
-  sh-*-linux*)
-    targ_defvec=sh_elf32_linux_be_vec
-    targ_selvecs="sh_elf32_linux_vec sh64_elf32_linux_vec sh64_elf32_linux_be_vec sh64_elf64_linux_vec sh64_elf64_linux_be_vec"
-    targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec"
-    want64=true
-    ;;
 #endif /* BFD64 */
 
   sh*eb-*-linux*)
@@ -1536,73 +1233,28 @@ case "${targ}" in
   sh-*-uclinux* | sh[12]-*-uclinux*)
     targ_defvec=sh_elf32_vec
     targ_selvecs="sh_elf32_le_vec sh_elf32_linux_be_vec sh_elf32_linux_vec sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec"
-#ifdef BFD64
-    targ_selvecs="${targ_selvecs} sh64_elf32_linux_vec sh64_elf32_linux_be_vec sh64_elf64_linux_vec sh64_elf64_linux_be_vec"
-#endif
-    ;;
-
-#ifdef BFD64
-  sh5le-*-netbsd*)
-    targ_defvec=sh64_elf32_nbsd_le_vec
-    targ_selvecs="sh64_elf32_nbsd_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec"
-    want64=true
-    ;;
-  sh5-*-netbsd*)
-    targ_defvec=sh64_elf32_nbsd_vec
-    targ_selvecs="sh64_elf32_nbsd_le_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec"
-    want64=true
-    ;;
-
-  sh64le-*-netbsd*)
-    targ_defvec=sh64_elf64_nbsd_le_vec
-    targ_selvecs="sh64_elf64_nbsd_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec"
-    want64=true
-    ;;
-  sh64-*-netbsd*)
-    targ_defvec=sh64_elf64_nbsd_vec
-    targ_selvecs="sh64_elf64_nbsd_le_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec"
-    want64=true
     ;;
 
   sh*l*-*-netbsdelf*)
     targ_defvec=sh_elf32_nbsd_le_vec
-    targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec"
-    want64=true
-    ;;
-  sh-*-netbsdelf*)
-    targ_defvec=sh_elf32_nbsd_vec
-    targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec"
-    want64=true
+    targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec"
     ;;
-#endif
-
   sh*-*-netbsdelf*)
     targ_defvec=sh_elf32_nbsd_vec
     targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec"
     ;;
-  sh*-*-symbianelf*)
-    targ_defvec=sh_elf32_symbian_le_vec
-    targ_selvecs="sh_coff_le_vec sh_coff_small_le_vec"
-    targ_underscore=yes
-    ;;
 
-#ifdef BFD64
   shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*)
     targ_defvec=sh_elf32_le_vec
-    targ_selvecs="sh_elf32_vec sh_coff_le_vec sh_coff_vec sh_coff_small_le_vec sh_coff_small_vec sh64_elf32_vec sh64_elf32_le_vec sh64_elf64_vec sh64_elf64_le_vec"
+    targ_selvecs="sh_elf32_vec sh_coff_le_vec sh_coff_vec sh_coff_small_le_vec sh_coff_small_vec"
     targ_underscore=yes
-    want64=true
     ;;
-#endif
 
-#ifdef BFD64
   sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*)
     targ_defvec=sh_elf32_vec
-    targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec sh64_elf32_vec sh64_elf32_le_vec sh64_elf64_vec sh64_elf64_le_vec"
+    targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec"
     targ_underscore=yes
-    want64=true
     ;;
-#endif
 
   sh-*-nto*)
     targ_defvec=sh_elf32_vec
@@ -1633,100 +1285,35 @@ case "${targ}" in
     targ_underscore=yes
     ;;
 
-  sparclet-*-aout*)
-    targ_defvec=sparc_aout_sunos_be_vec
-    targ_selvecs=sparc_aout_le_vec
-    targ_underscore=yes
-    ;;
-  sparc86x-*-aout*)
-    targ_defvec=sparc_aout_sunos_be_vec
-    targ_underscore=yes
-    ;;
-  sparclite-*-elf* | sparc86x-*-elf*)
-    targ_defvec=sparc_elf32_vec
-    ;;
-  sparc*-*-chorus*)
-    targ_defvec=sparc_elf32_vec
-    ;;
-  sparc-*-linux*aout*)
-    targ_defvec=sparc_aout_linux_vec
-    targ_selvecs="sparc_elf32_vec sparc_aout_sunos_be_vec"
-    targ_underscore=yes
-    ;;
-  sparc-*-linux-* | sparcv*-*-linux-*)
-    targ_defvec=sparc_elf32_vec
-    targ_selvecs="sparc_aout_linux_vec sparc_elf64_vec sparc_aout_sunos_be_vec"
-    ;;
-  sparc-*-netbsdelf*)
-    targ_defvec=sparc_elf32_vec
-    targ_selvecs=sparc_aout_nbsd_vec
-    ;;
-  sparc-*-netbsdaout* | sparc-*-netbsd*)
-    targ_defvec=sparc_aout_nbsd_vec
-    targ_selvecs=sparc_elf32_vec
-    targ_underscore=yes
-    ;;
-  sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1])
-    targ_defvec=sparc_aout_nbsd_vec
-    targ_underscore=yes
-    ;;
-  sparc-*-openbsd*)
-    targ_defvec=sparc_elf32_vec
-    targ_selvecs=sparc_aout_nbsd_vec
-    ;;
-  sparc-*-elf*)
-    targ_defvec=sparc_elf32_vec
-    targ_selvecs=sparc_aout_sunos_be_vec
-    ;;
   sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
     targ_defvec=sparc_elf32_sol2_vec
-    targ_selvecs=sparc_aout_sunos_be_vec
     ;;
 #ifdef BFD64
   sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
     targ_defvec=sparc_elf32_sol2_vec
-    targ_selvecs="sparc_elf64_sol2_vec sparc_aout_sunos_be_vec"
-    want64=true
-    ;;
-#endif
-  sparc-*-sysv4*)
-    targ_defvec=sparc_elf32_vec
-    ;;
-  sparc-*-vxworks*)
-    targ_defvec=sparc_elf32_vxworks_vec
-    targ_selvecs="sparc_elf32_vec sparc_aout_sunos_be_vec"
-    ;;
-  sparc-*-netware*)
-    targ_defvec=sparc_elf32_vec
-    targ_selvecs="sparc_nlm32_vec sparc_aout_sunos_be_vec"
-    ;;
-#ifdef BFD64
-  sparc64-*-aout*)
-    targ_defvec=sparc_aout_sunos_be_vec
-    targ_underscore=yes
+    targ_selvecs="sparc_elf64_sol2_vec"
     want64=true
     ;;
-  sparc64*-*-linux-*)
-    targ_defvec=sparc_elf64_vec
-    targ_selvecs="sparc_elf32_vec sparc_aout_linux_vec sparc_aout_sunos_be_vec"
-    want64=true
+  sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
+    targ_defvec=sparc_elf64_fbsd_vec
+    targ_selvecs="sparc_elf64_vec sparc_elf32_vec"
     ;;
-  sparc64-*-elf* | sparc64-*-rtems* )
+  sparc64*-*-*)
     targ_defvec=sparc_elf64_vec
-    targ_selvecs=sparc_elf32_vec
+    targ_selvecs="sparc_elf32_vec"
     want64=true
     ;;
-#endif /* BFD64 */
-  sparc*-*-coff*)
-    targ_defvec=sparc_coff_vec
-    ;;
-  sparc-*-rtems*)
+#endif
+  sparc-*-linux-* | sparcv*-*-linux-*)
     targ_defvec=sparc_elf32_vec
-    targ_selvecs="sparc_aout_sunos_be_vec sparc_coff_vec"
+    targ_selvecs="sparc_elf64_vec"
+    ;;
+  sparc-*-vxworks*)
+    targ_defvec=sparc_elf32_vxworks_vec
+    targ_selvecs="sparc_elf32_vec"
     ;;
   sparc*-*-*)
-    targ_defvec=sparc_aout_sunos_be_vec
-    targ_underscore=yes
+    targ_defvec=sparc_elf32_vec
     ;;
 
   spu-*-elf)
@@ -1734,13 +1321,6 @@ case "${targ}" in
     want64=true
     ;;
 
-#if HAVE_aout_vec
-  tahoe-*-*)
-    targ_defvec=aout_vec
-    targ_underscore=yes
-    ;;
-#endif
-
   tic6x-*-elf)
     targ_defvec=tic6x_elf32_c6000_le_vec
     targ_selvecs="tic6x_elf32_c6000_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec"
@@ -1792,11 +1372,6 @@ case "${targ}" in
     targ_underscore=yes
     ;;
 
-  vax-*-bsd* | vax-*-ultrix*)
-    targ_defvec=vax_aout_bsd_vec
-    targ_underscore=yes
-    ;;
-
   vax-*-openbsd*)
     targ_defvec=vax_aout_nbsd_vec
     targ_underscore=yes
@@ -1815,14 +1390,6 @@ case "${targ}" in
     targ_selvecs="wasm_vec"
     ;;
 
-  we32k-*-*)
-    targ_defvec=we32k_coff_vec
-    ;;
-
-  w65-*-*)
-    targ_defvec=w65_coff_vec
-    ;;
-
   xgate-*-*)
     targ_defvec=xgate_elf32_vec
     targ_selvecs="xgate_elf32_vec"
@@ -1850,24 +1417,6 @@ case "${targ}" in
     targ_underscore=yes
     ;;
 
-  *-*-ieee*)
-    targ_defvec=ieee_vec
-    ;;
-
-  *-adobe-*)
-    targ_defvec=aout_adobe_vec
-    targ_underscore=yes
-    ;;
-
-  *-sony-*)
-    targ_defvec=m68k_aout_newsos3_vec
-    targ_underscore=yes
-    ;;
-
-  *-tandem-*)
-    targ_defvec=m68k_coff_vec
-    targ_selvecs=ieee_vec
-    ;;
 # END OF targmatch.h
   *)
     echo 1>&2 "*** BFD does not support target ${targ}."
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/config.in ./bfd/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/config.in	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/config.in	2018-07-10 02:06:11.000000000 +0000
@@ -10,6 +10,10 @@
 /* Name of host specific core header file to include in elf.c. */
 #undef CORE_HEADER
 
+/* Define to 1 if you want to enable -z separate-code in ELF linker by
+   default. */
+#undef DEFAULT_LD_Z_SEPARATE_CODE
+
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
 #undef ENABLE_NLS
@@ -130,6 +134,9 @@
 /* Define to 1 if you have the `getuid' function. */
 #undef HAVE_GETUID
 
+/* Define if your compiler supports hidden visibility. */
+#undef HAVE_HIDDEN
+
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
@@ -252,6 +259,9 @@
    */
 #undef HAVE_SYS_NDIR_H
 
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
 /* Define to 1 if you have the <sys/procfs.h> header file. */
 #undef HAVE_SYS_PROCFS_H
 
@@ -383,6 +393,11 @@
 /* Version number of package */
 #undef VERSION
 
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/configure ./bfd/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/configure	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/configure	2018-07-10 02:06:11.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for bfd 2.29.51.
+# Generated by GNU Autoconf 2.69 for bfd 2.31.51.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -556,8 +587,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='bfd'
 PACKAGE_TARNAME='bfd'
-PACKAGE_VERSION='2.29.51'
-PACKAGE_STRING='bfd 2.29.51'
+PACKAGE_VERSION='2.31.51'
+PACKAGE_STRING='bfd 2.31.51'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -598,6 +629,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
+ac_header_list=
 ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
@@ -686,6 +718,10 @@ GREP
 CPP
 RANLIB
 AR
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
@@ -780,6 +816,7 @@ ac_subst_files=''
 ac_user_opts='
 enable_option_checking
 enable_dependency_tracking
+enable_silent_rules
 enable_shared
 enable_static
 with_pic
@@ -793,6 +830,7 @@ enable_targets
 enable_64_bit_archive
 with_mmap
 enable_secureplt
+enable_separate_code
 enable_leading_mingw64_underscores
 with_separate_debug_dir
 with_pkgversion
@@ -875,8 +913,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -921,7 +960,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -947,7 +986,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1151,7 +1190,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1167,7 +1206,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1197,8 +1236,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1206,7 +1245,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1216,7 +1255,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1224,13 +1263,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1253,7 +1292,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1267,8 +1306,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1283,9 +1320,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1324,11 +1361,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1354,7 +1391,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bfd 2.29.51 to adapt to many kinds of systems.
+\`configure' configures bfd 2.31.51 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1368,7 +1405,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1425,7 +1462,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bfd 2.29.51:";;
+     short | recursive ) echo "Configuration of bfd 2.31.51:";;
    esac
   cat <<\_ACEOF
 
@@ -1433,8 +1470,12 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
   --enable-shared[=PKGS]  build shared libraries [default=no]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -1446,12 +1487,14 @@ Optional Features:
   --enable-targets        alternative target configurations
   --enable-64-bit-archive force 64-bit archives
   --enable-secureplt      Default to creating read-only plt entries
+  --enable-separate-code  enable -z separate-code in ELF linker by default
   --enable-leading-mingw64-underscores
                           Enable leading underscores on 64 bit mingw targets
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-install-libbfd controls installation of libbfd and related headers
   --disable-nls           do not use Native Language Support
 
@@ -1464,7 +1507,7 @@ Optional Packages:
   --with-mmap             try using mmap for BFD input files if available
   --with-separate-debug-dir=DIR
                           Look for global separate debug info in DIR
-                          [default=LIBDIR/debug]
+                          [[default=LIBDIR/debug]]
   --with-pkgversion=PKG   Use PKG in the version string in place of "GNU
                           Binutils"
   --with-bugurl=URL       Direct users to URL to report a bug
@@ -1476,7 +1519,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1546,10 +1589,10 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-bfd configure 2.29.51
-generated by GNU Autoconf 2.64
+bfd configure 2.31.51
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1593,8 +1636,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1625,7 +1668,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1639,8 +1682,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1665,7 +1708,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1676,8 +1719,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1689,10 +1732,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1728,7 +1771,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1755,7 +1798,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1764,7 +1807,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1805,8 +1848,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1819,7 +1862,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1837,7 +1880,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1849,7 +1892,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1904,7 +1947,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1917,7 +1960,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1958,7 +2001,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 
@@ -1979,7 +2022,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1995,7 +2039,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2021,7 +2066,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2037,7 +2083,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2071,7 +2118,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2135,14 +2183,15 @@ rm -f core *.core core.conftest.* gmon.o
 rm -f conftest.val
 
   fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_compute_int
 
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
 ac_fn_c_check_decl ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
@@ -2150,7 +2199,7 @@ ac_fn_c_check_decl ()
   as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
 $as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2181,15 +2230,15 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_decl
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bfd $as_me 2.29.51, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+It was created by bfd $as_me 2.31.51, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2299,11 +2348,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2337,11 +2384,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2354,11 +2399,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2372,11 +2415,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2431,7 +2472,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2442,18 +2488,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2467,6 +2517,9 @@ else
   >$cache_file
 fi
 
+as_fn_append ac_header_list " stdlib.h"
+as_fn_append ac_header_list " unistd.h"
+as_fn_append ac_header_list " sys/param.h"
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
@@ -2522,7 +2575,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2542,16 +2595,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -2565,27 +2624,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -2603,14 +2662,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2618,7 +2677,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -2636,14 +2695,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2651,7 +2710,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -2673,6 +2732,9 @@ test -n "$target_alias" &&
   test "$program_prefix$program_suffix$program_transform_name" = \
     NONENONEs,x,x, &&
   program_prefix=${target_alias}-
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2683,7 +2745,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2695,7 +2757,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2723,7 +2785,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2735,7 +2797,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2776,7 +2838,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2788,7 +2850,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2816,7 +2878,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2829,7 +2891,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2875,7 +2937,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2887,7 +2949,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2919,7 +2981,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2931,7 +2993,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2973,8 +3035,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -2995,8 +3057,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -3013,12 +3075,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -3080,62 +3142,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -3165,19 +3193,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3217,8 +3304,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -3228,7 +3315,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3265,7 +3352,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3343,7 +3430,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -3352,8 +3439,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3438,10 +3524,69 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS con
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
 $as_echo_n "checking for library containing strerror... " >&6; }
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -3475,11 +3620,11 @@ for ac_lib in '' cposix; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_strerror+set}" = set; then :
+  if ${ac_cv_search_strerror+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
 
 else
   ac_cv_search_strerror=no
@@ -3496,7 +3641,7 @@ if test "$ac_res" != no; then :
 fi
 
 
-am__api_version='1.11'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -3515,7 +3660,7 @@ am__api_version='1.11'
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3535,7 +3680,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -3593,56 +3738,71 @@ test -z "$INSTALL_DATA" && INSTALL_DATA=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
 '
 case `pwd` in
   *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+	&& test "$*" != "X conftest.file $srcdir/configure"; then
 
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$2" = conftest.file
    )
 then
    # Ok.
    :
 else
-   as_fn_error "newly created file is older than distributed files!
+   as_fn_error $? "newly created file is older than distributed files!
 Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
 test "$program_prefix" != NONE &&
   program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
@@ -3653,9 +3813,6 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
@@ -3665,15 +3822,15 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3682,17 +3839,17 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -3704,7 +3861,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3732,7 +3889,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -3744,7 +3901,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3785,7 +3942,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
 if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then :
+  if ${ac_cv_path_mkdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3795,7 +3952,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_prog in mkdir gmkdir; do
 	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
 	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
 	     'mkdir (GNU coreutils) '* | \
 	     'mkdir (coreutils) '* | \
@@ -3810,6 +3967,7 @@ IFS=$as_save_IFS
 
 fi
 
+  test -d ./--version && rmdir ./--version
   if test "${ac_cv_path_mkdir+set}" = set; then
     MKDIR_P="$ac_cv_path_mkdir -p"
   else
@@ -3817,26 +3975,19 @@ fi
     # value for MKDIR_P within a source directory, because that will
     # break other packages using the cache if that directory is
     # removed, or if the value is a relative name.
-    test -d ./--version && rmdir ./--version
     MKDIR_P="$ac_install_sh -d"
   fi
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
 $as_echo "$MKDIR_P" >&6; }
 
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -3848,7 +3999,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3876,7 +4027,7 @@ done
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -3884,7 +4035,7 @@ SHELL = /bin/sh
 all:
 	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -3931,7 +4082,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -3975,13 +4126,52 @@ else
 fi
 
 
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
 if test "`cd $srcdir && pwd`" != "`pwd`"; then
   # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
   # is not polluted with repeated "-I."
   am__isrc=' -I$(srcdir)'
   # test to see if srcdir already configured
   if test -f $srcdir/config.status; then
-    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
   fi
 fi
 
@@ -3997,7 +4187,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='bfd'
- VERSION='2.29.51'
+ VERSION='2.31.51'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4025,30 +4215,41 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_ru
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
 
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar  pax cpio none'
+
 am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
 
+
 depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -4083,16 +4284,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -4101,8 +4302,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -4110,7 +4311,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -4165,13 +4366,55 @@ fi
 
 
 
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
+
 
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -4183,7 +4426,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4211,7 +4454,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -4223,7 +4466,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4263,7 +4506,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -4275,7 +4518,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4303,7 +4546,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -4315,7 +4558,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4393,7 +4636,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4405,7 +4648,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4433,7 +4676,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4445,7 +4688,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4486,7 +4729,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4498,7 +4741,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4526,7 +4769,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4539,7 +4782,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4585,7 +4828,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4597,7 +4840,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4629,7 +4872,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4641,7 +4884,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4683,8 +4926,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4705,15 +4948,15 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4750,7 +4993,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4828,7 +5071,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4837,8 +5080,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4928,6 +5170,65 @@ ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
 $as_echo_n "checking how to run the C preprocessor... " >&6; }
 # On Suns, sometimes $CPP names a directory.
@@ -4935,7 +5236,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -4965,7 +5266,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -4981,11 +5282,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5024,7 +5325,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5040,18 +5341,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5063,7 +5364,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5077,7 +5378,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5112,7 +5413,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5126,7 +5427,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5143,7 +5444,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5178,7 +5479,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5193,7 +5494,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5310,8 +5611,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5323,7 +5623,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5345,14 +5645,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5481,7 +5781,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5501,7 +5801,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5536,7 +5836,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5563,7 +5863,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5580,7 +5880,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5615,7 +5915,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5694,7 +5994,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5731,10 +6031,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5761,7 +6061,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -5824,7 +6124,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -5836,7 +6136,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5868,7 +6168,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -5880,7 +6180,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5940,7 +6240,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -5975,7 +6275,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6172,7 +6472,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6208,7 +6508,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6220,7 +6520,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6248,7 +6548,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6260,7 +6560,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6307,7 +6607,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6528,7 +6828,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6540,7 +6840,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6568,7 +6868,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6580,7 +6880,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6633,7 +6933,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6645,7 +6945,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6673,7 +6973,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6685,7 +6985,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6732,7 +7032,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6744,7 +7044,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6772,7 +7072,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -6784,7 +7084,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6901,7 +7201,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7285,7 +7585,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7361,7 +7661,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7373,7 +7673,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7401,7 +7701,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7413,7 +7713,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7453,7 +7753,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7465,7 +7765,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7493,7 +7793,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7505,7 +7805,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7545,7 +7845,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7557,7 +7857,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7585,7 +7885,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7597,7 +7897,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7637,7 +7937,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7649,7 +7949,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7677,7 +7977,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7689,7 +7989,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7729,7 +8029,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -7741,7 +8041,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7769,7 +8069,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -7781,7 +8081,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7844,7 +8144,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -7873,7 +8173,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -7905,7 +8205,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -7972,7 +8272,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8128,7 +8428,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -8206,7 +8506,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -8272,7 +8572,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -8414,7 +8714,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -8767,7 +9067,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -8826,7 +9126,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -8869,7 +9169,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -8924,7 +9224,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -9740,7 +10040,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -10112,7 +10412,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -10750,7 +11050,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -11170,7 +11470,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11204,7 +11504,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -11218,12 +11518,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11257,16 +11557,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11300,12 +11600,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11339,12 +11639,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11378,7 +11678,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -11419,7 +11719,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -11428,7 +11728,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11431 "configure"
+#line 11731 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11525,7 +11825,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -11534,7 +11834,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11537 "configure"
+#line 11837 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11788,7 +12088,7 @@ CC="$lt_save_CC"
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -11801,7 +12101,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -11817,7 +12117,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -11826,9 +12126,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -11841,11 +12141,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -11858,25 +12158,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -11907,7 +12207,7 @@ if test "$enable_largefile" != no; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
 $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+if ${ac_cv_sys_largefile_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_sys_largefile_CC=no
@@ -11958,7 +12258,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+if ${ac_cv_sys_file_offset_bits+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -12027,7 +12327,7 @@ rm -rf conftest*
   if test $ac_cv_sys_file_offset_bits = unknown; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
+if ${ac_cv_sys_large_files+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -12094,6 +12394,8 @@ _ACEOF
 esac
 rm -rf conftest*
   fi
+
+
 fi
 
 
@@ -12116,7 +12418,7 @@ if test "${enable_64_bit_bfd+set}" = set
   enableval=$enable_64_bit_bfd; case "${enableval}" in
   yes)  want64=true  ;;
   no)   want64=false ;;
-  *)    as_fn_error "bad value ${enableval} for 64-bit-bfd option" "$LINENO" 5 ;;
+  *)    as_fn_error $? "bad value ${enableval} for 64-bit-bfd option" "$LINENO" 5 ;;
 esac
 else
   want64=false
@@ -12125,7 +12427,7 @@ fi
 # Check whether --enable-targets was given.
 if test "${enable_targets+set}" = set; then :
   enableval=$enable_targets; case "${enableval}" in
-  yes | "") as_fn_error "enable-targets option must specify target names or 'all'" "$LINENO" 5
+  yes | "") as_fn_error $? "enable-targets option must specify target names or 'all'" "$LINENO" 5
             ;;
   no)       enable_targets= ;;
   *)        enable_targets=$enableval ;;
@@ -12137,7 +12439,7 @@ if test "${enable_64_bit_archive+set}" =
   enableval=$enable_64_bit_archive; case "${enableval}" in
   yes)  want_64_bit_archive=true  ;;
   no)   want_64_bit_archive=false ;;
-  *)    as_fn_error "bad value ${enableval} for 64-bit-archive option" "$LINENO" 5 ;;
+  *)    as_fn_error $? "bad value ${enableval} for 64-bit-archive option" "$LINENO" 5 ;;
 esac
 else
   want_64_bit_archive=unset
@@ -12149,7 +12451,7 @@ if test "${with_mmap+set}" = set; then :
   withval=$with_mmap; case "${withval}" in
   yes)  want_mmap=true ;;
   no)   want_mmap=false ;;
-  *)    as_fn_error "bad value ${withval} for BFD with-mmap option" "$LINENO" 5 ;;
+  *)    as_fn_error $? "bad value ${withval} for BFD with-mmap option" "$LINENO" 5 ;;
 esac
 else
   want_mmap=false
@@ -12160,7 +12462,7 @@ if test "${enable_secureplt+set}" = set;
   enableval=$enable_secureplt; case "${enableval}" in
   yes)  use_secureplt=true  ;;
   no)   use_secureplt=false ;;
-  *)    as_fn_error "bad value ${enableval} for secureplt option" "$LINENO" 5 ;;
+  *)    as_fn_error $? "bad value ${enableval} for secureplt option" "$LINENO" 5 ;;
 esac
 else
   use_secureplt=true
@@ -12171,6 +12473,33 @@ if test $use_secureplt = true; then
 
 fi
 
+# Decide if -z separate-code should be enabled in ELF linker by default.
+ac_default_ld_z_separate_code=unset
+# Check whether --enable-separate-code was given.
+if test "${enable_separate_code+set}" = set; then :
+  enableval=$enable_separate_code; case "${enableval}" in
+  yes) ac_default_ld_z_separate_code=1 ;;
+  no) ac_default_ld_z_separate_code=0 ;;
+esac
+fi
+
+# Enable -z separate-code by default for Linux/x86.
+case "${target}" in
+i3-786-*-linux-* | x86_64-*-linux-*)
+  if test ${ac_default_ld_z_separate_code} = unset; then
+    ac_default_ld_z_separate_code=1
+  fi
+  ;;
+esac
+if test "${ac_default_ld_z_separate_code}" = unset; then
+  ac_default_ld_z_separate_code=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define DEFAULT_LD_Z_SEPARATE_CODE $ac_default_ld_z_separate_code
+_ACEOF
+
+
 # Check whether --enable-leading-mingw64-underscores was given.
 if test "${enable_leading_mingw64_underscores+set}" = set; then :
   enableval=$enable_leading_mingw64_underscores;
@@ -12196,7 +12525,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -12212,7 +12541,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -12326,7 +12655,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -12397,7 +12726,7 @@ ac_config_headers="$ac_config_headers co
 
 
 if test -z "$target" ; then
-    as_fn_error "Unrecognized target system type; please check config.sub." "$LINENO" 5
+    as_fn_error $? "Unrecognized target system type; please check config.sub." "$LINENO" 5
 fi
 
 
@@ -12495,7 +12824,7 @@ bfd_default_target_size=32
 
 # host stuff:
 
-ALL_LINGUAS="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN"
+ALL_LINGUAS="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN pt"
 # If we haven't got the data from the intl directory,
 # assume NLS is disabled.
 USE_NLS=no
@@ -12629,7 +12958,7 @@ rm -f conf$$.file
 set dummy msgfmt; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGFMT+set}" = set; then :
+if ${ac_cv_path_MSGFMT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case "$MSGFMT" in
@@ -12669,7 +12998,7 @@ fi
 set dummy gmsgfmt; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GMSGFMT+set}" = set; then :
+if ${ac_cv_path_GMSGFMT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $GMSGFMT in
@@ -12683,7 +13012,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12740,7 +13069,7 @@ rm -f conf$$.file
 set dummy xgettext; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XGETTEXT+set}" = set; then :
+if ${ac_cv_path_XGETTEXT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case "$XGETTEXT" in
@@ -12811,7 +13140,7 @@ rm -f conf$$.file
 set dummy msgmerge; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGMERGE+set}" = set; then :
+if ${ac_cv_path_MSGMERGE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case "$MSGMERGE" in
@@ -12891,7 +13220,7 @@ BFD_HOSTPTR_T="unsigned long"
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double" >&5
 $as_echo_n "checking for long double... " >&6; }
-if test "${ac_cv_type_long_double+set}" = set; then :
+if ${ac_cv_type_long_double+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$GCC" = yes; then
@@ -12907,7 +13236,8 @@ main ()
 {
 static int test_array [1 - 2 * !(/* On Ultrix 4.3 cc, long double is 4 and double is 8.  */
 	      sizeof (double) <= sizeof (long double))];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -12930,7 +13260,7 @@ fi
   fi
 
 ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
-if test "x$ac_cv_type_long_long" = x""yes; then :
+if test "x$ac_cv_type_long_long" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_LONG_LONG 1
@@ -12942,7 +13272,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
 $as_echo_n "checking size of long long... " >&6; }
-if test "${ac_cv_sizeof_long_long+set}" = set; then :
+if ${ac_cv_sizeof_long_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"; then :
@@ -12951,9 +13281,8 @@ else
   if test "$ac_cv_type_long_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long_long=0
    fi
@@ -12978,7 +13307,7 @@ fi
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
 $as_echo_n "checking size of void *... " >&6; }
-if test "${ac_cv_sizeof_void_p+set}" = set; then :
+if ${ac_cv_sizeof_void_p+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p"        "$ac_includes_default"; then :
@@ -12987,9 +13316,8 @@ else
   if test "$ac_cv_type_void_p" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (void *)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (void *)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_void_p=0
    fi
@@ -13012,7 +13340,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
 $as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
@@ -13021,9 +13349,8 @@ else
   if test "$ac_cv_type_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long=0
    fi
@@ -13086,7 +13413,7 @@ if test "x$cross_compiling" = "xno"; the
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for build system executable suffix" >&5
 $as_echo_n "checking for build system executable suffix... " >&6; }
-if test "${bfd_cv_build_exeext+set}" = set; then :
+if ${bfd_cv_build_exeext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f conftest*
@@ -13113,8 +13440,7 @@ for ac_header in alloca.h stddef.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -13127,8 +13453,7 @@ for ac_header in fcntl.h sys/file.h sys/
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -13153,7 +13478,7 @@ for i in stdint.h $inttype_headers; do
   ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uintmax_t" = x""yes; then :
+if test "x$ac_cv_type_uintmax_t" = xyes; then :
   acx_cv_header_stdint=$i
 else
   continue
@@ -13162,7 +13487,7 @@ fi
   ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uintptr_t" = x""yes; then :
+if test "x$ac_cv_type_uintptr_t" = xyes; then :
 
 else
   acx_cv_header_stdint_kind="(mostly complete)"
@@ -13171,7 +13496,7 @@ fi
   ac_fn_c_check_type "$LINENO" "int_least32_t" "ac_cv_type_int_least32_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_int_least32_t" = x""yes; then :
+if test "x$ac_cv_type_int_least32_t" = xyes; then :
 
 else
   acx_cv_header_stdint_kind="(mostly complete)"
@@ -13180,7 +13505,7 @@ fi
   ac_fn_c_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_int_fast32_t" = x""yes; then :
+if test "x$ac_cv_type_int_fast32_t" = xyes; then :
 
 else
   acx_cv_header_stdint_kind="(mostly complete)"
@@ -13189,7 +13514,7 @@ fi
   ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uint64_t" = x""yes; then :
+if test "x$ac_cv_type_uint64_t" = xyes; then :
 
 else
   acx_cv_header_stdint_kind="(lacks uint64_t)"
@@ -13207,7 +13532,7 @@ if test "$acx_cv_header_stdint" = stddef
     ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uint32_t" = x""yes; then :
+if test "x$ac_cv_type_uint32_t" = xyes; then :
   acx_cv_header_stdint=$i
 else
   continue
@@ -13216,14 +13541,14 @@ fi
     ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uint64_t" = x""yes; then :
+if test "x$ac_cv_type_uint64_t" = xyes; then :
 
 fi
 
     ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uintptr_t" = x""yes; then :
+if test "x$ac_cv_type_uintptr_t" = xyes; then :
 
 fi
 
@@ -13239,7 +13564,7 @@ if test "$acx_cv_header_stdint" = stddef
     ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_u_int32_t" = x""yes; then :
+if test "x$ac_cv_type_u_int32_t" = xyes; then :
   acx_cv_header_stdint=$i
 else
   continue
@@ -13248,7 +13573,7 @@ fi
     ac_fn_c_check_type "$LINENO" "u_int64_t" "ac_cv_type_u_int64_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_u_int64_t" = x""yes; then :
+if test "x$ac_cv_type_u_int64_t" = xyes; then :
 
 fi
 
@@ -13308,7 +13633,7 @@ case "$acx_cv_header_stdint:$ac_cv_type_
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
 $as_echo_n "checking size of void *... " >&6; }
-if test "${ac_cv_sizeof_void_p+set}" = set; then :
+if ${ac_cv_sizeof_void_p+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p"        "$ac_includes_default"; then :
@@ -13317,9 +13642,8 @@ else
   if test "$ac_cv_type_void_p" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (void *)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (void *)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_void_p=0
    fi
@@ -13346,7 +13670,7 @@ case "$acx_cv_header_stdint:$ac_cv_type_
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
 $as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
@@ -13355,9 +13679,8 @@ else
   if test "$ac_cv_type_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long=0
    fi
@@ -13384,7 +13707,7 @@ if test $acx_cv_header_stdint = stddef.h
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
 $as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then :
+if ${ac_cv_sizeof_int+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
@@ -13393,9 +13716,8 @@ else
   if test "$ac_cv_type_int" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (int)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_int=0
    fi
@@ -13418,7 +13740,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
 $as_echo_n "checking size of short... " >&6; }
-if test "${ac_cv_sizeof_short+set}" = set; then :
+if ${ac_cv_sizeof_short+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short"        "$ac_includes_default"; then :
@@ -13427,9 +13749,8 @@ else
   if test "$ac_cv_type_short" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (short)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (short)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_short=0
    fi
@@ -13452,7 +13773,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5
 $as_echo_n "checking size of char... " >&6; }
-if test "${ac_cv_sizeof_char+set}" = set; then :
+if ${ac_cv_sizeof_char+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char"        "$ac_includes_default"; then :
@@ -13461,9 +13782,8 @@ else
   if test "$ac_cv_type_char" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (char)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (char)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_char=0
    fi
@@ -13485,7 +13805,7 @@ _ACEOF
 $as_echo_n "checking for type equivalent to int8_t... " >&6; }
   case "$ac_cv_sizeof_char" in
     1) acx_cv_type_int8_t=char ;;
-    *) as_fn_error "no 8-bit type, please report a bug" "$LINENO" 5
+    *) as_fn_error $? "no 8-bit type, please report a bug" "$LINENO" 5
   esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int8_t" >&5
 $as_echo "$acx_cv_type_int8_t" >&6; }
@@ -13495,7 +13815,7 @@ _ACEOF
   case "$ac_cv_sizeof_int:$ac_cv_sizeof_short" in
     2:*) acx_cv_type_int16_t=int ;;
     *:2) acx_cv_type_int16_t=short ;;
-    *) as_fn_error "no 16-bit type, please report a bug" "$LINENO" 5
+    *) as_fn_error $? "no 16-bit type, please report a bug" "$LINENO" 5
   esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int16_t" >&5
 $as_echo "$acx_cv_type_int16_t" >&6; }
@@ -13505,7 +13825,7 @@ _ACEOF
   case "$ac_cv_sizeof_int:$ac_cv_sizeof_long" in
     4:*) acx_cv_type_int32_t=int ;;
     *:4) acx_cv_type_int32_t=long ;;
-    *) as_fn_error "no 32-bit type, please report a bug" "$LINENO" 5
+    *) as_fn_error $? "no 32-bit type, please report a bug" "$LINENO" 5
   esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int32_t" >&5
 $as_echo "$acx_cv_type_int32_t" >&6; }
@@ -13532,7 +13852,7 @@ if test "$ac_cv_type_uintptr_t" != yes; 
     2) acx_cv_type_intptr_t=int16_t ;;
     4) acx_cv_type_intptr_t=int32_t ;;
     8) acx_cv_type_intptr_t=int64_t ;;
-    *) as_fn_error "no equivalent for intptr_t, please report a bug" "$LINENO" 5
+    *) as_fn_error $? "no equivalent for intptr_t, please report a bug" "$LINENO" 5
   esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_intptr_t" >&5
 $as_echo "$acx_cv_type_intptr_t" >&6; }
@@ -13545,7 +13865,7 @@ ac_config_commands="$ac_config_commands 
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if test "${ac_cv_header_time+set}" = set; then :
+if ${ac_cv_header_time+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13583,7 +13903,7 @@ for ac_hdr in dirent.h sys/ndir.h sys/di
   as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_ac_Header+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13610,8 +13930,7 @@ fi
 eval ac_res=\$$as_ac_Header
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
 _ACEOF
@@ -13624,7 +13943,7 @@ done
 if test $ac_header_dirent = dirent.h; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
 $as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -13658,11 +13977,11 @@ for ac_lib in '' dir; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_opendir+set}" = set; then :
+  if ${ac_cv_search_opendir+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
 
 else
   ac_cv_search_opendir=no
@@ -13681,7 +14000,7 @@ fi
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
 $as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -13715,11 +14034,11 @@ for ac_lib in '' x; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_opendir+set}" = set; then :
+  if ${ac_cv_search_opendir+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
 
 else
   ac_cv_search_opendir=no
@@ -13740,7 +14059,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether string.h and strings.h may both be included" >&5
 $as_echo_n "checking whether string.h and strings.h may both be included... " >&6; }
-if test "${gcc_cv_header_string+set}" = set; then :
+if ${gcc_cv_header_string+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13774,8 +14093,7 @@ for ac_func in fcntl getpagesize setitim
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13787,8 +14105,7 @@ for ac_func in strtoull getrlimit
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13798,7 +14115,7 @@ done
 
 
 ac_fn_c_check_decl "$LINENO" "basename" "ac_cv_have_decl_basename" "$ac_includes_default"
-if test "x$ac_cv_have_decl_basename" = x""yes; then :
+if test "x$ac_cv_have_decl_basename" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13809,7 +14126,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "ftello" "ac_cv_have_decl_ftello" "$ac_includes_default"
-if test "x$ac_cv_have_decl_ftello" = x""yes; then :
+if test "x$ac_cv_have_decl_ftello" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13820,7 +14137,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "ftello64" "ac_cv_have_decl_ftello64" "$ac_includes_default"
-if test "x$ac_cv_have_decl_ftello64" = x""yes; then :
+if test "x$ac_cv_have_decl_ftello64" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13831,7 +14148,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "fseeko" "ac_cv_have_decl_fseeko" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fseeko" = x""yes; then :
+if test "x$ac_cv_have_decl_fseeko" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13842,7 +14159,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "fseeko64" "ac_cv_have_decl_fseeko64" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fseeko64" = x""yes; then :
+if test "x$ac_cv_have_decl_fseeko64" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13862,7 +14179,7 @@ case "${host}" in
 esac
 
 ac_fn_c_check_decl "$LINENO" "ffs" "ac_cv_have_decl_ffs" "$ac_includes_default"
-if test "x$ac_cv_have_decl_ffs" = x""yes; then :
+if test "x$ac_cv_have_decl_ffs" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13873,7 +14190,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "free" "ac_cv_have_decl_free" "$ac_includes_default"
-if test "x$ac_cv_have_decl_free" = x""yes; then :
+if test "x$ac_cv_have_decl_free" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13884,7 +14201,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getenv" = x""yes; then :
+if test "x$ac_cv_have_decl_getenv" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13895,7 +14212,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "malloc" "ac_cv_have_decl_malloc" "$ac_includes_default"
-if test "x$ac_cv_have_decl_malloc" = x""yes; then :
+if test "x$ac_cv_have_decl_malloc" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13906,7 +14223,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "realloc" "ac_cv_have_decl_realloc" "$ac_includes_default"
-if test "x$ac_cv_have_decl_realloc" = x""yes; then :
+if test "x$ac_cv_have_decl_realloc" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13917,7 +14234,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "stpcpy" "ac_cv_have_decl_stpcpy" "$ac_includes_default"
-if test "x$ac_cv_have_decl_stpcpy" = x""yes; then :
+if test "x$ac_cv_have_decl_stpcpy" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13928,7 +14245,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "strstr" "ac_cv_have_decl_strstr" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strstr" = x""yes; then :
+if test "x$ac_cv_have_decl_strstr" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13939,7 +14256,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_asprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_asprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13950,7 +14267,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vasprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vasprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13961,7 +14278,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_snprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_snprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13972,7 +14289,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vsnprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vsnprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13983,7 +14300,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strnlen" = x""yes; then :
+if test "x$ac_cv_have_decl_strnlen" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -14014,10 +14331,46 @@ fi
 
 
 
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -Werror"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler support for hidden visibility" >&5
+$as_echo_n "checking compiler support for hidden visibility... " >&6; }
+if ${bfd_cv_hidden+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+const char hw[] __attribute__ ((__visibility__ ("hidden"))) = "Hello, World\n";
+extern void print (const char *) __attribute__ ((__visibility__ ("hidden")));
+int
+main ()
+{
+print (hw);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  bfd_cv_hidden=yes
+else
+  bfd_cv_hidden=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_hidden" >&5
+$as_echo "$bfd_cv_hidden" >&6; }
+CFLAGS="$save_CFLAGS"
+if test $bfd_cv_hidden = yes; then
+
+$as_echo "#define HAVE_HIDDEN 1" >>confdefs.h
+
+fi
+
 # Check if linker supports --as-needed and --no-as-needed options
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker --as-needed support" >&5
 $as_echo_n "checking linker --as-needed support... " >&6; }
-if test "${bfd_cv_ld_as_needed+set}" = set; then :
+if ${bfd_cv_ld_as_needed+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   bfd_cv_ld_as_needed=no
@@ -14037,7 +14390,7 @@ case $host in
 *-ncr-sysv4.3*)
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _mwvalidcheckl in -lmw" >&5
 $as_echo_n "checking for _mwvalidcheckl in -lmw... " >&6; }
-if test "${ac_cv_lib_mw__mwvalidcheckl+set}" = set; then :
+if ${ac_cv_lib_mw__mwvalidcheckl+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -14071,13 +14424,13 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mw__mwvalidcheckl" >&5
 $as_echo "$ac_cv_lib_mw__mwvalidcheckl" >&6; }
-if test "x$ac_cv_lib_mw__mwvalidcheckl" = x""yes; then :
+if test "x$ac_cv_lib_mw__mwvalidcheckl" = xyes; then :
   LIBM="-lmw"
 fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
 $as_echo_n "checking for cos in -lm... " >&6; }
-if test "${ac_cv_lib_m_cos+set}" = set; then :
+if ${ac_cv_lib_m_cos+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -14111,7 +14464,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
 $as_echo "$ac_cv_lib_m_cos" >&6; }
-if test "x$ac_cv_lib_m_cos" = x""yes; then :
+if test "x$ac_cv_lib_m_cos" = xyes; then :
   LIBM="$LIBM -lm"
 fi
 
@@ -14119,7 +14472,7 @@ fi
 *)
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
 $as_echo_n "checking for cos in -lm... " >&6; }
-if test "${ac_cv_lib_m_cos+set}" = set; then :
+if ${ac_cv_lib_m_cos+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -14153,7 +14506,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
 $as_echo "$ac_cv_lib_m_cos" >&6; }
-if test "x$ac_cv_lib_m_cos" = x""yes; then :
+if test "x$ac_cv_lib_m_cos" = xyes; then :
   LIBM="-lm"
 fi
 
@@ -14308,24 +14661,18 @@ do
     alpha_ecoff_le_vec)		 tb="$tb coff-alpha.lo ecoff.lo $ecoff"; target_size=64 ;;
     alpha_elf64_vec)		 tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
     alpha_elf64_fbsd_vec)	 tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
-    alpha_nlm32_vec)		 tb="$tb nlm32-alpha.lo nlm32.lo nlm.lo"; target_size=64 ;;
     alpha_vms_vec)		 tb="$tb vms-alpha.lo vms-misc.lo vms-lib.lo"; target_size=64 ;;
     alpha_vms_lib_txt_vec)	 tb="$tb vms-lib.lo vms-misc.lo" ;;
     am33_elf32_linux_vec)	 tb="$tb elf32-am33lin.lo elf32.lo $elf" ;;
     aout0_be_vec)		 tb="$tb aout0.lo aout32.lo" ;;
     aout64_vec)			 tb="$tb demo64.lo aout64.lo"; target_size=64 ;;
     aout_vec)			 tb="$tb host-aout.lo aout32.lo" ;;
-    aout_adobe_vec)		 tb="$tb aout-adobe.lo aout32.lo" ;;
     arc_elf32_be_vec)		 tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     arc_elf32_le_vec)		 tb="$tb elf32-arc.lo elf32.lo $elf" ;;
-    arm_aout_be_vec)		 tb="$tb aout-arm.lo aout32.lo" ;;
-    arm_aout_le_vec)		 tb="$tb aout-arm.lo aout32.lo" ;;
-    arm_aout_nbsd_vec)		 tb="$tb armnetbsd.lo aout32.lo" ;;
-    arm_aout_riscix_vec)	 tb="$tb aout32.lo riscix.lo" ;;
-    arm_coff_be_vec)		 tb="$tb coff-arm.lo $coff" ;;
-    arm_coff_le_vec)		 tb="$tb coff-arm.lo $coff" ;;
     arm_elf32_be_vec)		 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_le_vec)		 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_elf32_fdpic_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_elf32_fdpic_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_nacl_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_nacl_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_symbian_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
@@ -14334,22 +14681,16 @@ do
     arm_elf32_vxworks_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_pe_be_vec)		 tb="$tb pe-arm.lo peigen.lo $coff" ;;
     arm_pe_le_vec)		 tb="$tb pe-arm.lo peigen.lo $coff" ;;
-    arm_pe_epoc_be_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;;
-    arm_pe_epoc_le_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;;
     arm_pe_wince_be_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;;
     arm_pe_wince_le_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;;
     arm_pei_be_vec)		 tb="$tb pei-arm.lo peigen.lo $coff" ;;
     arm_pei_le_vec)		 tb="$tb pei-arm.lo peigen.lo $coff" ;;
-    arm_pei_epoc_be_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;;
-    arm_pei_epoc_le_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;;
     arm_pei_wince_be_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;;
     arm_pei_wince_le_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;;
     arm_mach_o_vec)		 tb="$tb mach-o-arm.lo" ;;
     avr_elf32_vec)		 tb="$tb elf32-avr.lo elf32.lo $elf" ;;
     bfin_elf32_vec)		 tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
     bfin_elf32_fdpic_vec)	 tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
-    bout_be_vec)		 tb="$tb bout.lo aout32.lo" ;;
-    bout_le_vec)		 tb="$tb bout.lo aout32.lo" ;;
     cr16_elf32_vec)		 tb="$tb elf32-cr16.lo elf32.lo $elf" ;;
     cr16c_elf32_vec)		 tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
     cris_aout_vec)		 tb="$tb aout-cris.lo" ;;
@@ -14367,26 +14708,17 @@ do
     fr30_elf32_vec)		 tb="$tb elf32-fr30.lo elf32.lo $elf" ;;
     frv_elf32_vec)		 tb="$tb elf32-frv.lo elf32.lo $elf" ;;
     frv_elf32_fdpic_vec)	 tb="$tb elf32-frv.lo elf32.lo $elf" ;;
-    h8300_coff_vec)		 tb="$tb coff-h8300.lo reloc16.lo $coffgen" ;;
     h8300_elf32_vec)		 tb="$tb elf32-h8300.lo elf32.lo $elf" ;;
     h8300_elf32_linux_vec)	 tb="$tb elf32-h8300.lo elf32.lo $elf" ;;
-    h8500_coff_vec)		 tb="$tb coff-h8500.lo reloc16.lo $coffgen" ;;
     hppa_elf32_vec)		 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     hppa_elf32_linux_vec)	 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     hppa_elf32_nbsd_vec)	 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     hppa_elf64_vec)		 tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;;
     hppa_elf64_linux_vec)	 tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;;
     hppa_som_vec)		 tb="$tb som.lo" ;;
-    i370_elf32_vec)		 tb="$tb elf32-i370.lo elf32.lo $elf" ;;
     i386_aout_vec)		 tb="$tb i386aout.lo aout32.lo" ;;
     i386_aout_bsd_vec)		 tb="$tb i386bsd.lo aout32.lo" ;;
-    i386_aout_dynix_vec)	 tb="$tb i386dynix.lo aout32.lo" ;;
-    i386_aout_fbsd_vec)		 tb="$tb i386freebsd.lo aout32.lo" ;;
-    i386_aout_linux_vec)	 tb="$tb i386linux.lo aout32.lo" ;;
     i386_aout_lynx_vec)		 tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;;
-    i386_aout_mach3_vec)	 tb="$tb i386mach3.lo aout32.lo" ;;
-    i386_aout_nbsd_vec)		 tb="$tb i386netbsd.lo aout32.lo" ;;
-    i386_aout_os9k_vec)		 tb="$tb i386os9k.lo aout32.lo" ;;
     i386_coff_vec)		 tb="$tb coff-i386.lo $coff" ;;
     i386_coff_go32_vec)		 tb="$tb coff-go32.lo $coff" ;;
     i386_coff_go32stubbed_vec)	 tb="$tb coff-stgo32.lo $coff" ;;
@@ -14398,14 +14730,9 @@ do
     i386_elf32_vxworks_vec)	 tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
     i386_mach_o_vec)		 tb="$tb mach-o-i386.lo" ;;
     i386_msdos_vec)		 tb="$tb i386msdos.lo" ;;
-    i386_nlm32_vec)		 tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;;
     i386_pe_vec)		 tb="$tb pe-i386.lo peigen.lo $coff" ;;
     i386_pei_vec)		 tb="$tb pei-i386.lo peigen.lo $coff" ;;
     iamcu_elf32_vec)		 tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
-    i860_coff_vec)		 tb="$tb coff-i860.lo $coff" ;;
-    i860_elf32_vec)		 tb="$tb elf32-i860.lo elf32.lo $elf" ;;
-    i860_elf32_le_vec)		 tb="$tb elf32-i860.lo elf32.lo $elf" ;;
-    i960_elf32_vec)		 tb="$tb elf32-i960.lo elf32.lo $elf" ;;
     ia64_elf32_be_vec)		 tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf32_hpux_be_vec)	 tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf64_be_vec)		 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
@@ -14413,9 +14740,6 @@ do
     ia64_elf64_hpux_be_vec)	 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
     ia64_elf64_vms_vec)		 tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;;
     ia64_pei_vec)		 tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;;
-    icoff_be_vec)		 tb="$tb coff-i960.lo $coff" ;;
-    icoff_le_vec)		 tb="$tb coff-i960.lo $coff" ;;
-    ieee_vec)			 tb="$tb ieee.lo" ;;
     ip2k_elf32_vec)		 tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
     iq2000_elf32_vec)		 tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
     k1om_elf64_vec)		 tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
@@ -14431,23 +14755,8 @@ do
     m32r_elf32_linux_le_vec)	 tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
     m68hc11_elf32_vec)		 tb="$tb elf32-m68hc11.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
     m68hc12_elf32_vec)		 tb="$tb elf32-m68hc12.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
-    m68k_aout_4knbsd_vec)	 tb="$tb m68k4knetbsd.lo aout32.lo" ;;
-    m68k_aout_hp300bsd_vec)	 tb="$tb hp300bsd.lo aout32.lo" ;;
-    m68k_aout_hp300hpux_vec)	 tb="$tb hp300hpux.lo aout32.lo" ;;
-    m68k_aout_linux_vec)	 tb="$tb m68klinux.lo aout32.lo" ;;
-    m68k_aout_nbsd_vec)		 tb="$tb m68knetbsd.lo aout32.lo" ;;
-    m68k_aout_newsos3_vec)	 tb="$tb newsos3.lo aout32.lo" ;;
-    m68k_coff_vec)		 tb="$tb coff-m68k.lo $coff" ;;
-    m68k_coff_apollo_vec)	 tb="$tb coff-apollo.lo $coffgen" ;;
-    m68k_coff_aux_vec)		 tb="$tb coff-aux.lo coff-m68k.lo $coff" ;;
-    m68k_coff_sysv_vec)		 tb="$tb coff-svm68k.lo $coff" ;;
-    m68k_coff_un_vec)		 tb="$tb coff-u68k.lo coff-m68k.lo $coff" ;;
     m68k_elf32_vec)		 tb="$tb elf32-m68k.lo elf32.lo $elf" ;;
-    m68k_versados_vec)		 tb="$tb versados.lo" ;;
-    m88k_aout_mach3_vec)	 tb="$tb m88kmach3.lo aout32.lo" ;;
-    m88k_aout_obsd_vec)		 tb="$tb m88kopenbsd.lo aout32.lo" ;;
-    m88k_coff_bcs_vec)		 tb="$tb coff-m88k.lo $coffgen" ;;
-    m88k_elf32_vec)		 tb="$tb elf32-m88k.lo elf32.lo $elf" ;;
+    s12z_elf32_vec)		 tb="$tb elf32-s12z.lo elf32.lo $elf" ;;
     mach_o_be_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
     mach_o_le_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
     mach_o_fat_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
@@ -14485,8 +14794,6 @@ do
     mips_elf64_trad_le_vec)	 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
     mips_elf64_tradfbsd_be_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
     mips_elf64_tradfbsd_le_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
-    mips_pe_le_vec)		 tb="$tb pe-mips.lo peigen.lo $coff" ;;
-    mips_pei_le_vec)		 tb="$tb pei-mips.lo peigen.lo $coff" ;;
     mmix_elf64_vec)		 tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;;
     mmix_mmo_vec)			 tb="$tb mmo.lo" target_size=64 ;;
     mn10200_elf32_vec)		 tb="$tb elf-m10200.lo elf32.lo $elf" ;;
@@ -14500,6 +14807,7 @@ do
     nds32_elf32_le_vec)		 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
     nds32_elf32_linux_be_vec)	 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
     nds32_elf32_linux_le_vec)	 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
+    nfp_elf64_vec)		 tb="$tb elf64-nfp.lo elf64.lo $elf" ;;
     nios2_elf32_be_vec)		 tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
     nios2_elf32_le_vec)		 tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
     ns32k_aout_pc532mach_vec)	 tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
@@ -14519,7 +14827,6 @@ do
     powerpc_elf64_vec)		 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf"; target_size=64 ;;
     powerpc_elf64_le_vec)	 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
     powerpc_elf64_fbsd_vec)	 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
-    powerpc_nlm32_vec)		 tb="$tb nlm32-ppc.lo nlm32.lo nlm.lo" ;;
     powerpc_pe_vec)		 tb="$tb pe-ppc.lo peigen.lo $coff" ;;
     powerpc_pe_le_vec)		 tb="$tb pe-ppc.lo peigen.lo $coff" ;;
     powerpc_pei_vec)		 tb="$tb pei-ppc.lo peigen.lo $coff" ;;
@@ -14539,18 +14846,6 @@ do
     s390_elf64_vec)		 tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
     score_elf32_be_vec)		 tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
     score_elf32_le_vec)		 tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
-    sh64_elf32_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
-    sh64_elf32_le_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
-    sh64_elf32_linux_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
-    sh64_elf32_linux_be_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
-    sh64_elf32_nbsd_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;;
-    sh64_elf32_nbsd_le_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;;
-    sh64_elf64_vec)		 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_le_vec)		 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_linux_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_linux_be_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_nbsd_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_nbsd_le_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
     sh_coff_vec)		 tb="$tb coff-sh.lo $coff" ;;
     sh_coff_le_vec)		 tb="$tb coff-sh.lo $coff" ;;
     sh_coff_small_vec)		 tb="$tb coff-sh.lo $coff" ;;
@@ -14563,25 +14858,16 @@ do
     sh_elf32_linux_be_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
     sh_elf32_nbsd_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
     sh_elf32_nbsd_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
-    sh_elf32_symbian_le_vec)	 tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
     sh_elf32_vxworks_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
     sh_elf32_vxworks_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
     sh_pe_le_vec)		 tb="$tb pe-sh.lo coff-sh.lo peigen.lo $coff" ;;
     sh_pei_le_vec)		 tb="$tb pei-sh.lo coff-sh.lo peigen.lo $coff" ;;
-    sparc_aout_le_vec)		 tb="$tb aout-sparcle.lo aout32.lo" ;;
-    sparc_aout_linux_vec)	 tb="$tb sparclinux.lo aout32.lo" ;;
-    sparc_aout_lynx_vec)	 tb="$tb sparclynx.lo lynx-core.lo aout32.lo" ;;
-    sparc_aout_nbsd_vec)	 tb="$tb sparcnetbsd.lo aout32.lo" ;;
-    sparc_aout_sunos_be_vec)	 tb="$tb sunos.lo aout32.lo" ;;
-    sparc_coff_vec)		 tb="$tb coff-sparc.lo $coffgen" ;;
-    sparc_coff_lynx_vec)	 tb="$tb cf-sparclynx.lo lynx-core.lo $coffgen" ;;
     sparc_elf32_vec)		 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
     sparc_elf32_sol2_vec)	 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
     sparc_elf32_vxworks_vec)	 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
     sparc_elf64_vec)		 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
     sparc_elf64_fbsd_vec)	 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
     sparc_elf64_sol2_vec)	 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
-    sparc_nlm32_vec)		 tb="$tb nlm32-sparc.lo nlm32.lo nlm.lo" ;;
     spu_elf32_vec)		 tb="$tb elf32-spu.lo elf32.lo $elf" ;;
     sym_vec)			 tb="$tb xsym.lo" ;;
     tic30_aout_vec)		 tb="$tb aout-tic30.lo" ;;
@@ -14613,15 +14899,12 @@ do
     v800_elf32_vec)		 tb="$tb elf32-v850.lo elf32.lo $elf" ;;
     v850_elf32_vec)		 tb="$tb elf32-v850.lo elf32.lo $elf" ;;
     vax_aout_1knbsd_vec)	 tb="$tb vax1knetbsd.lo aout32.lo" ;;
-    vax_aout_bsd_vec)		 tb="$tb vaxbsd.lo aout32.lo" ;;
     vax_aout_nbsd_vec)		 tb="$tb vaxnetbsd.lo aout32.lo" ;;
     vax_elf32_vec)		 tb="$tb elf32-vax.lo elf32.lo $elf" ;;
     ft32_elf32_vec)		 tb="$tb elf32-ft32.lo elf32.lo $elf" ;;
     visium_elf32_vec)		 tb="$tb elf32-visium.lo elf32.lo $elf" ;;
-    w65_coff_vec)		 tb="$tb coff-w65.lo reloc16.lo $coffgen" ;;
     wasm_vec)                    tb="$tb wasm-module.lo" ;;
     wasm32_elf32_vec)            tb="$tb elf32-wasm32.lo elf32.lo $elf" ;;
-    we32k_coff_vec)		 tb="$tb coff-we32k.lo $coffgen" ;;
     x86_64_coff_vec)		 tb="$tb coff-x86_64.lo $coff"; target_size=64 ;;
     x86_64_elf32_vec)		 tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
     x86_64_elf32_nacl_vec)	 tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
@@ -14650,7 +14933,7 @@ do
     core_cisco_le_vec)		 tb="$tb cisco-core.lo" ;;
 
     "")				 ;;
-    *) as_fn_error "*** unknown target vector $vec" "$LINENO" 5 ;;
+    *) as_fn_error $? "*** unknown target vector $vec" "$LINENO" 5 ;;
     esac
 
     if test ${target_size} = 64; then
@@ -14748,7 +15031,7 @@ fi
 rm -f conftest*
 
        if test $bad_64bit_gcc = yes ; then
-	 as_fn_error "A newer version of gcc is needed for the requested 64-bit BFD configuration" "$LINENO" 5
+	 as_fn_error $? "A newer version of gcc is needed for the requested 64-bit BFD configuration" "$LINENO" 5
        fi
     fi
     ;;
@@ -14808,11 +15091,6 @@ if test "${target}" = "${host}"; then
 	COREFILE=netbsd-core.lo
 	;;
 
-  i370-*-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/i370linux.h"'
-	;;
-
   i[3-7]86-sequent-bsd*)
 	COREFILE=trad-core.lo
 	TRAD_HEADER='"hosts/symmetry.h"'
@@ -14861,67 +15139,17 @@ if test "${target}" = "${host}"; then
 	;;
   i[3-7]86-*-isc*)	COREFILE=trad-core.lo ;;
   i[3-7]86-*-aix*)	COREFILE=aix386-core.lo ;;
-  i860-*-mach3* | i860-*-osf1*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/i860mach3.h"'
-	;;
   mips-*-netbsd* | mips*-*-openbsd*)
 	COREFILE=netbsd-core.lo
 	;;
-  mips-dec-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/decstation.h"'
-	;;
   mips-sgi-irix4*)	COREFILE=irix-core.lo ;;
   mips-sgi-irix5*)	COREFILE=irix-core.lo ;;
   mips-sgi-irix6*)	COREFILE=irix-core.lo ;;
-  mips-*-sysv4*)	;;
-  mips-*-sysv* | mips-*-riscos*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/riscos.h"'
-	;;
-  mips-sony-bsd*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/news-mips.h"'
-	;;
-  m68*-bull*-sysv*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/dpx2.h"'
-	;;
-  m68*-hp-hpux*)	COREFILE=hpux-core.lo ;;
-  m68*-hp-bsd*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/hp300bsd.h"'
-	;;
   m68*-*-linux-*)
 	COREFILE=trad-core.lo
 	TRAD_HEADER='"hosts/m68klinux.h"'
 	;;
-  m68*-motorola-sysv*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/delta68.h"'
-	;;
-  m68*-sony-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/news.h"'
-	;;
-  m68*-*-netbsd* | m68*-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  m68*-apple-aux*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/m68kaux.h"'
-	;;
-  m88*-*-sysv4*)
-	;;
-  m88*-motorola-sysv*)
-	COREFILE=ptrace-core.lo
-	;;
-  m88*-*-mach3*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/m88kmach3.h"'
-	;;
-  m88*-*-openbsd*)
+  m68*-*-netbsd*)
 	COREFILE=netbsd-core.lo
 	;;
   ns32k-pc532-mach)
@@ -14985,10 +15213,6 @@ rm -f core conftest.err conftest.$ac_obj
   sparc-*-netbsd* | sparc*-*-openbsd*)
 	COREFILE=netbsd-core.lo
 	;;
-  tahoe-*-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/tahoe.h"'
-	;;
   vax-*-netbsd* | vax-*-openbsd*)
 	COREFILE=netbsd-core.lo
 	;;
@@ -15035,7 +15259,7 @@ rm -f core conftest.err conftest.$ac_obj
   for ac_header in sys/procfs.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "sys/procfs.h" "ac_cv_header_sys_procfs_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_procfs_h" = x""yes; then :
+if test "x$ac_cv_header_sys_procfs_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SYS_PROCFS_H 1
 _ACEOF
@@ -15047,7 +15271,7 @@ done
   if test "$ac_cv_header_sys_procfs_h" = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus_t in sys/procfs.h" >&5
 $as_echo_n "checking for prstatus_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_prstatus_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_prstatus_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15084,7 +15308,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus32_t in sys/procfs.h" >&5
 $as_echo_n "checking for prstatus32_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_prstatus32_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_prstatus32_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15121,7 +15345,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus_t.pr_who in sys/procfs.h" >&5
 $as_echo_n "checking for prstatus_t.pr_who in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15158,7 +15382,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prstatus32_t.pr_who in sys/procfs.h" >&5
 $as_echo_n "checking for prstatus32_t.pr_who in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15195,7 +15419,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pstatus_t in sys/procfs.h" >&5
 $as_echo_n "checking for pstatus_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_pstatus_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_pstatus_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15232,7 +15456,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pxstatus_t in sys/procfs.h" >&5
 $as_echo_n "checking for pxstatus_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_pxstatus_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_pxstatus_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15269,7 +15493,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pstatus32_t in sys/procfs.h" >&5
 $as_echo_n "checking for pstatus32_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_pstatus32_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_pstatus32_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15306,7 +15530,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo_t in sys/procfs.h" >&5
 $as_echo_n "checking for prpsinfo_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_prpsinfo_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_prpsinfo_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15343,7 +15567,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo_t.pr_pid in sys/procfs.h" >&5
 $as_echo_n "checking for prpsinfo_t.pr_pid in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_member_prpsinfo_t_pr_pid+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_member_prpsinfo_t_pr_pid+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15380,7 +15604,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo32_t in sys/procfs.h" >&5
 $as_echo_n "checking for prpsinfo32_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_prpsinfo32_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_prpsinfo32_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15417,7 +15641,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prpsinfo32_t.pr_pid in sys/procfs.h" >&5
 $as_echo_n "checking for prpsinfo32_t.pr_pid in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_member_prpsinfo32_t_pr_pid+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_member_prpsinfo32_t_pr_pid+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15454,7 +15678,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo_t in sys/procfs.h" >&5
 $as_echo_n "checking for psinfo_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_psinfo_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_psinfo_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15491,7 +15715,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo_t.pr_pid in sys/procfs.h" >&5
 $as_echo_n "checking for psinfo_t.pr_pid in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_member_psinfo_t_pr_pid+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_member_psinfo_t_pr_pid+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15528,7 +15752,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo32_t in sys/procfs.h" >&5
 $as_echo_n "checking for psinfo32_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_psinfo32_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_psinfo32_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15565,7 +15789,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psinfo32_t.pr_pid in sys/procfs.h" >&5
 $as_echo_n "checking for psinfo32_t.pr_pid in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_member_psinfo32_t_pr_pid+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_member_psinfo32_t_pr_pid+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15602,7 +15826,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t in sys/procfs.h" >&5
 $as_echo_n "checking for lwpstatus_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_lwpstatus_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_lwpstatus_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15639,7 +15863,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpxstatus_t in sys/procfs.h" >&5
 $as_echo_n "checking for lwpxstatus_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_lwpxstatus_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_lwpxstatus_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15676,7 +15900,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5
 $as_echo_n "checking for lwpstatus_t.pr_context in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15713,7 +15937,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5
 $as_echo_n "checking for lwpstatus_t.pr_reg in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15750,7 +15974,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpstatus_t.pr_fpreg in sys/procfs.h" >&5
 $as_echo_n "checking for lwpstatus_t.pr_fpreg in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_fpreg+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_fpreg+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15787,7 +16011,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for win32_pstatus_t in sys/procfs.h" >&5
 $as_echo_n "checking for win32_pstatus_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_win32_pstatus_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_win32_pstatus_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15858,8 +16082,7 @@ for ac_func in ftello ftello64 fseeko fs
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -15874,7 +16097,7 @@ if test x"$ac_cv_func_ftello" = xyes -a 
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
 $as_echo_n "checking size of off_t... " >&6; }
-if test "${ac_cv_sizeof_off_t+set}" = set; then :
+if ${ac_cv_sizeof_off_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t"        "$ac_includes_default"; then :
@@ -15883,9 +16106,8 @@ else
   if test "$ac_cv_type_off_t" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (off_t)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (off_t)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_off_t=0
    fi
@@ -15917,12 +16139,15 @@ fi
 
 
 
-for ac_header in stdlib.h unistd.h
+
+
+
+  for ac_header in $ac_header_list
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -15931,10 +16156,17 @@ fi
 
 done
 
+
+
+
+
+
+
+
 for ac_func in getpagesize
 do :
   ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
-if test "x$ac_cv_func_getpagesize" = x""yes; then :
+if test "x$ac_cv_func_getpagesize" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_GETPAGESIZE 1
 _ACEOF
@@ -15944,7 +16176,7 @@ done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5
 $as_echo_n "checking for working mmap... " >&6; }
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then :
+if ${ac_cv_func_mmap_fixed_mapped+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -15987,11 +16219,6 @@ char *malloc ();
 
 /* This mess was copied from the GNU getpagesize.h.  */
 #ifndef HAVE_GETPAGESIZE
-/* Assume that all systems that can run configure have sys/param.h.  */
-# ifndef HAVE_SYS_PARAM_H
-#  define HAVE_SYS_PARAM_H 1
-# endif
-
 # ifdef _SC_PAGESIZE
 #  define getpagesize() sysconf(_SC_PAGESIZE)
 # else /* no _SC_PAGESIZE */
@@ -16026,8 +16253,9 @@ int
 main ()
 {
   char *data, *data2, *data3;
+  const char *cdata2;
   int i, pagesize;
-  int fd;
+  int fd, fd2;
 
   pagesize = getpagesize ();
 
@@ -16040,27 +16268,41 @@ main ()
   umask (0);
   fd = creat ("conftest.mmap", 0600);
   if (fd < 0)
-    return 1;
+    return 2;
   if (write (fd, data, pagesize) != pagesize)
-    return 1;
+    return 3;
   close (fd);
 
+  /* Next, check that the tail of a page is zero-filled.  File must have
+     non-zero length, otherwise we risk SIGBUS for entire page.  */
+  fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
+  if (fd2 < 0)
+    return 4;
+  cdata2 = "";
+  if (write (fd2, cdata2, 1) != 1)
+    return 5;
+  data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
+  if (data2 == MAP_FAILED)
+    return 6;
+  for (i = 0; i < pagesize; ++i)
+    if (*(data2 + i))
+      return 7;
+  close (fd2);
+  if (munmap (data2, pagesize))
+    return 8;
+
   /* Next, try to mmap the file at a fixed address which already has
      something else allocated at it.  If we can, also make sure that
      we see the same garbage.  */
   fd = open ("conftest.mmap", O_RDWR);
   if (fd < 0)
-    return 1;
-  data2 = (char *) malloc (2 * pagesize);
-  if (!data2)
-    return 1;
-  data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1);
+    return 9;
   if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
 		     MAP_PRIVATE | MAP_FIXED, fd, 0L))
-    return 1;
+    return 10;
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data2 + i))
-      return 1;
+      return 11;
 
   /* Finally, make sure that changes to the mapped area do not
      percolate back to the file as seen by read().  (This is a bug on
@@ -16069,12 +16311,12 @@ main ()
     *(data2 + i) = *(data2 + i) + 1;
   data3 = (char *) malloc (pagesize);
   if (!data3)
-    return 1;
+    return 12;
   if (read (fd, data3, pagesize) != pagesize)
-    return 1;
+    return 13;
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data3 + i))
-      return 1;
+      return 14;
   close (fd);
   return 0;
 }
@@ -16096,14 +16338,13 @@ if test $ac_cv_func_mmap_fixed_mapped = 
 $as_echo "#define HAVE_MMAP 1" >>confdefs.h
 
 fi
-rm -f conftest.mmap
+rm -f conftest.mmap conftest.txt
 
 for ac_func in madvise mprotect
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -16193,10 +16434,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -16212,6 +16464,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -16226,12 +16479,20 @@ LIBOBJS=$ac_libobjs
 LTLIBOBJS=$ac_ltlibobjs
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error "conditional \"AMDEP\" was never defined.
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
  if test -n "$EXEEXT"; then
@@ -16243,23 +16504,23 @@ else
 fi
 
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GENINSRC_NEVER_TRUE}" && test -z "${GENINSRC_NEVER_FALSE}"; then
-  as_fn_error "conditional \"GENINSRC_NEVER\" was never defined.
+  as_fn_error $? "conditional \"GENINSRC_NEVER\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${INSTALL_LIBBFD_TRUE}" && test -z "${INSTALL_LIBBFD_FALSE}"; then
-  as_fn_error "conditional \"INSTALL_LIBBFD\" was never defined.
+  as_fn_error $? "conditional \"INSTALL_LIBBFD\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -16360,6 +16621,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -16405,19 +16667,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -16555,16 +16817,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -16613,7 +16875,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -16624,28 +16886,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -16666,8 +16916,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by bfd $as_me 2.29.51, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+This file was extended by bfd $as_me 2.31.51, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -16707,6 +16957,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -16729,12 +16980,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-bfd config.status 2.29.51
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+bfd config.status 2.31.51
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -16752,11 +17004,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -16770,12 +17027,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -16788,7 +17048,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -16797,7 +17057,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -16817,7 +17077,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -17148,7 +17408,7 @@ do
     "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in:po/Make-in" ;;
     "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -17171,9 +17431,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -17181,12 +17442,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -17203,12 +17465,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -17217,18 +17479,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -17236,7 +17498,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -17250,7 +17512,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -17264,7 +17526,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -17284,7 +17546,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -17316,21 +17578,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -17342,7 +17612,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -17354,11 +17624,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -17443,7 +17713,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -17456,7 +17726,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -17475,7 +17745,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -17484,7 +17754,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -17510,8 +17780,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -17647,23 +17917,24 @@ s&@INSTALL@&$ac_INSTALL&;t t
 s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -17672,21 +17943,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
 # Compute "$ac_file"'s index in $config_headers.
 _am_arg="$ac_file"
@@ -17732,7 +18003,7 @@ echo "timestamp for $_am_arg" >`$as_dirn
 
   case $ac_file$ac_mode in
     "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -17745,7 +18016,7 @@ echo "timestamp for $_am_arg" >`$as_dirn
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -17779,21 +18050,19 @@ echo "timestamp for $_am_arg" >`$as_dirn
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
+    test -z "$am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`$as_dirname -- "$file" ||
@@ -18966,7 +19235,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -18987,7 +19256,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/configure.ac ./bfd/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/configure.ac	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/configure.ac	2018-07-10 02:06:11.000000000 +0000
@@ -17,7 +17,6 @@ dnl along with this program; see the fil
 dnl <http://www.gnu.org/licenses/>.
 dnl
 
-AC_PREREQ(2.59)
 m4_include([version.m4])
 AC_INIT([bfd], BFD_VERSION)
 AC_CONFIG_SRCDIR([libbfd.c])
@@ -97,6 +96,30 @@ if test $use_secureplt = true; then
     [Define if we should default to creating read-only plt entries])
 fi
 
+# Decide if -z separate-code should be enabled in ELF linker by default.
+ac_default_ld_z_separate_code=unset
+AC_ARG_ENABLE(separate-code,
+	      AS_HELP_STRING([--enable-separate-code],
+	      [enable -z separate-code in ELF linker by default]),
+[case "${enableval}" in
+  yes) ac_default_ld_z_separate_code=1 ;;
+  no) ac_default_ld_z_separate_code=0 ;;
+esac])
+# Enable -z separate-code by default for Linux/x86.
+case "${target}" in
+i[3-7]86-*-linux-* | x86_64-*-linux-*)
+  if test ${ac_default_ld_z_separate_code} = unset; then
+    ac_default_ld_z_separate_code=1
+  fi
+  ;;
+esac
+if test "${ac_default_ld_z_separate_code}" = unset; then
+  ac_default_ld_z_separate_code=0
+fi
+AC_DEFINE_UNQUOTED(DEFAULT_LD_Z_SEPARATE_CODE,
+  $ac_default_ld_z_separate_code,
+  [Define to 1 if you want to enable -z separate-code in ELF linker by default.])
+
 AC_ARG_ENABLE(leading-mingw64-underscores,
   AS_HELP_STRING([--enable-leading-mingw64-underscores],
                  [Enable leading underscores on 64 bit mingw targets]),
@@ -143,7 +166,7 @@ bfd_default_target_size=32
 
 # host stuff:
 
-ALL_LINGUAS="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN"
+ALL_LINGUAS="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN pt"
 ZW_GNU_GETTEXT_SISTER_DIR
 AM_PO_SUBDIRS
 
@@ -232,6 +255,20 @@ AC_CHECK_DECLS(strnlen)
 # This is used only by compress.c.
 AM_ZLIB
 
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -Werror"
+AC_CACHE_CHECK([compiler support for hidden visibility], bfd_cv_hidden,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+const char hw[] __attribute__ ((__visibility__ ("hidden"))) = "Hello, World\n";
+extern void print (const char *) __attribute__ ((__visibility__ ("hidden")));]],
+	[[print (hw);]])],
+  [bfd_cv_hidden=yes], [bfd_cv_hidden=no])])
+CFLAGS="$save_CFLAGS"
+if test $bfd_cv_hidden = yes; then
+  AC_DEFINE(HAVE_HIDDEN, 1,
+	    [Define if your compiler supports hidden visibility.])
+fi
+
 # Check if linker supports --as-needed and --no-as-needed options
 AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
 	[bfd_cv_ld_as_needed=no
@@ -390,24 +427,18 @@ do
     alpha_ecoff_le_vec)		 tb="$tb coff-alpha.lo ecoff.lo $ecoff"; target_size=64 ;;
     alpha_elf64_vec)		 tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
     alpha_elf64_fbsd_vec)	 tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
-    alpha_nlm32_vec)		 tb="$tb nlm32-alpha.lo nlm32.lo nlm.lo"; target_size=64 ;;
     alpha_vms_vec)		 tb="$tb vms-alpha.lo vms-misc.lo vms-lib.lo"; target_size=64 ;;
     alpha_vms_lib_txt_vec)	 tb="$tb vms-lib.lo vms-misc.lo" ;;
     am33_elf32_linux_vec)	 tb="$tb elf32-am33lin.lo elf32.lo $elf" ;;
     aout0_be_vec)		 tb="$tb aout0.lo aout32.lo" ;;
     aout64_vec)			 tb="$tb demo64.lo aout64.lo"; target_size=64 ;;
     aout_vec)			 tb="$tb host-aout.lo aout32.lo" ;;
-    aout_adobe_vec)		 tb="$tb aout-adobe.lo aout32.lo" ;;
     arc_elf32_be_vec)		 tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     arc_elf32_le_vec)		 tb="$tb elf32-arc.lo elf32.lo $elf" ;;
-    arm_aout_be_vec)		 tb="$tb aout-arm.lo aout32.lo" ;;
-    arm_aout_le_vec)		 tb="$tb aout-arm.lo aout32.lo" ;;
-    arm_aout_nbsd_vec)		 tb="$tb armnetbsd.lo aout32.lo" ;;
-    arm_aout_riscix_vec)	 tb="$tb aout32.lo riscix.lo" ;;
-    arm_coff_be_vec)		 tb="$tb coff-arm.lo $coff" ;;
-    arm_coff_le_vec)		 tb="$tb coff-arm.lo $coff" ;;
     arm_elf32_be_vec)		 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_le_vec)		 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_elf32_fdpic_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_elf32_fdpic_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_nacl_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_nacl_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_symbian_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
@@ -416,22 +447,16 @@ do
     arm_elf32_vxworks_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_pe_be_vec)		 tb="$tb pe-arm.lo peigen.lo $coff" ;;
     arm_pe_le_vec)		 tb="$tb pe-arm.lo peigen.lo $coff" ;;
-    arm_pe_epoc_be_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;;
-    arm_pe_epoc_le_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;;
     arm_pe_wince_be_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;;
     arm_pe_wince_le_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;;
     arm_pei_be_vec)		 tb="$tb pei-arm.lo peigen.lo $coff" ;;
     arm_pei_le_vec)		 tb="$tb pei-arm.lo peigen.lo $coff" ;;
-    arm_pei_epoc_be_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;;
-    arm_pei_epoc_le_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;;
     arm_pei_wince_be_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;;
     arm_pei_wince_le_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;;
     arm_mach_o_vec)		 tb="$tb mach-o-arm.lo" ;;
     avr_elf32_vec)		 tb="$tb elf32-avr.lo elf32.lo $elf" ;;
     bfin_elf32_vec)		 tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
     bfin_elf32_fdpic_vec)	 tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
-    bout_be_vec)		 tb="$tb bout.lo aout32.lo" ;;
-    bout_le_vec)		 tb="$tb bout.lo aout32.lo" ;;
     cr16_elf32_vec)		 tb="$tb elf32-cr16.lo elf32.lo $elf" ;;
     cr16c_elf32_vec)		 tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
     cris_aout_vec)		 tb="$tb aout-cris.lo" ;;
@@ -449,26 +474,17 @@ do
     fr30_elf32_vec)		 tb="$tb elf32-fr30.lo elf32.lo $elf" ;;
     frv_elf32_vec)		 tb="$tb elf32-frv.lo elf32.lo $elf" ;;
     frv_elf32_fdpic_vec)	 tb="$tb elf32-frv.lo elf32.lo $elf" ;;
-    h8300_coff_vec)		 tb="$tb coff-h8300.lo reloc16.lo $coffgen" ;;
     h8300_elf32_vec)		 tb="$tb elf32-h8300.lo elf32.lo $elf" ;;
     h8300_elf32_linux_vec)	 tb="$tb elf32-h8300.lo elf32.lo $elf" ;;
-    h8500_coff_vec)		 tb="$tb coff-h8500.lo reloc16.lo $coffgen" ;;
     hppa_elf32_vec)		 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     hppa_elf32_linux_vec)	 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     hppa_elf32_nbsd_vec)	 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     hppa_elf64_vec)		 tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;;
     hppa_elf64_linux_vec)	 tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;;
     hppa_som_vec)		 tb="$tb som.lo" ;;
-    i370_elf32_vec)		 tb="$tb elf32-i370.lo elf32.lo $elf" ;;
     i386_aout_vec)		 tb="$tb i386aout.lo aout32.lo" ;;
     i386_aout_bsd_vec)		 tb="$tb i386bsd.lo aout32.lo" ;;
-    i386_aout_dynix_vec)	 tb="$tb i386dynix.lo aout32.lo" ;;
-    i386_aout_fbsd_vec)		 tb="$tb i386freebsd.lo aout32.lo" ;;
-    i386_aout_linux_vec)	 tb="$tb i386linux.lo aout32.lo" ;;
     i386_aout_lynx_vec)		 tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;;
-    i386_aout_mach3_vec)	 tb="$tb i386mach3.lo aout32.lo" ;;
-    i386_aout_nbsd_vec)		 tb="$tb i386netbsd.lo aout32.lo" ;;
-    i386_aout_os9k_vec)		 tb="$tb i386os9k.lo aout32.lo" ;;
     i386_coff_vec)		 tb="$tb coff-i386.lo $coff" ;;
     i386_coff_go32_vec)		 tb="$tb coff-go32.lo $coff" ;;
     i386_coff_go32stubbed_vec)	 tb="$tb coff-stgo32.lo $coff" ;;
@@ -480,14 +496,9 @@ do
     i386_elf32_vxworks_vec)	 tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
     i386_mach_o_vec)		 tb="$tb mach-o-i386.lo" ;;
     i386_msdos_vec)		 tb="$tb i386msdos.lo" ;;
-    i386_nlm32_vec)		 tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;;
     i386_pe_vec)		 tb="$tb pe-i386.lo peigen.lo $coff" ;;
     i386_pei_vec)		 tb="$tb pei-i386.lo peigen.lo $coff" ;;
     iamcu_elf32_vec)		 tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
-    i860_coff_vec)		 tb="$tb coff-i860.lo $coff" ;;
-    i860_elf32_vec)		 tb="$tb elf32-i860.lo elf32.lo $elf" ;;
-    i860_elf32_le_vec)		 tb="$tb elf32-i860.lo elf32.lo $elf" ;;
-    i960_elf32_vec)		 tb="$tb elf32-i960.lo elf32.lo $elf" ;;
     ia64_elf32_be_vec)		 tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf32_hpux_be_vec)	 tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf64_be_vec)		 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
@@ -495,9 +506,6 @@ do
     ia64_elf64_hpux_be_vec)	 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
     ia64_elf64_vms_vec)		 tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;;
     ia64_pei_vec)		 tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;;
-    icoff_be_vec)		 tb="$tb coff-i960.lo $coff" ;;
-    icoff_le_vec)		 tb="$tb coff-i960.lo $coff" ;;
-    ieee_vec)			 tb="$tb ieee.lo" ;;
     ip2k_elf32_vec)		 tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
     iq2000_elf32_vec)		 tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
     k1om_elf64_vec)		 tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
@@ -513,23 +521,8 @@ do
     m32r_elf32_linux_le_vec)	 tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
     m68hc11_elf32_vec)		 tb="$tb elf32-m68hc11.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
     m68hc12_elf32_vec)		 tb="$tb elf32-m68hc12.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
-    m68k_aout_4knbsd_vec)	 tb="$tb m68k4knetbsd.lo aout32.lo" ;;
-    m68k_aout_hp300bsd_vec)	 tb="$tb hp300bsd.lo aout32.lo" ;;
-    m68k_aout_hp300hpux_vec)	 tb="$tb hp300hpux.lo aout32.lo" ;;
-    m68k_aout_linux_vec)	 tb="$tb m68klinux.lo aout32.lo" ;;
-    m68k_aout_nbsd_vec)		 tb="$tb m68knetbsd.lo aout32.lo" ;;
-    m68k_aout_newsos3_vec)	 tb="$tb newsos3.lo aout32.lo" ;;
-    m68k_coff_vec)		 tb="$tb coff-m68k.lo $coff" ;;
-    m68k_coff_apollo_vec)	 tb="$tb coff-apollo.lo $coffgen" ;;
-    m68k_coff_aux_vec)		 tb="$tb coff-aux.lo coff-m68k.lo $coff" ;;
-    m68k_coff_sysv_vec)		 tb="$tb coff-svm68k.lo $coff" ;;
-    m68k_coff_un_vec)		 tb="$tb coff-u68k.lo coff-m68k.lo $coff" ;;
     m68k_elf32_vec)		 tb="$tb elf32-m68k.lo elf32.lo $elf" ;;
-    m68k_versados_vec)		 tb="$tb versados.lo" ;;
-    m88k_aout_mach3_vec)	 tb="$tb m88kmach3.lo aout32.lo" ;;
-    m88k_aout_obsd_vec)		 tb="$tb m88kopenbsd.lo aout32.lo" ;;
-    m88k_coff_bcs_vec)		 tb="$tb coff-m88k.lo $coffgen" ;;
-    m88k_elf32_vec)		 tb="$tb elf32-m88k.lo elf32.lo $elf" ;;
+    s12z_elf32_vec)		 tb="$tb elf32-s12z.lo elf32.lo $elf" ;;
     mach_o_be_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
     mach_o_le_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
     mach_o_fat_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
@@ -567,8 +560,6 @@ do
     mips_elf64_trad_le_vec)	 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
     mips_elf64_tradfbsd_be_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
     mips_elf64_tradfbsd_le_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
-    mips_pe_le_vec)		 tb="$tb pe-mips.lo peigen.lo $coff" ;;
-    mips_pei_le_vec)		 tb="$tb pei-mips.lo peigen.lo $coff" ;;
     mmix_elf64_vec)		 tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;;
     mmix_mmo_vec)			 tb="$tb mmo.lo" target_size=64 ;;
     mn10200_elf32_vec)		 tb="$tb elf-m10200.lo elf32.lo $elf" ;;
@@ -582,6 +573,7 @@ do
     nds32_elf32_le_vec)		 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
     nds32_elf32_linux_be_vec)	 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
     nds32_elf32_linux_le_vec)	 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
+    nfp_elf64_vec)		 tb="$tb elf64-nfp.lo elf64.lo $elf" ;;
     nios2_elf32_be_vec)		 tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
     nios2_elf32_le_vec)		 tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
     ns32k_aout_pc532mach_vec)	 tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
@@ -601,7 +593,6 @@ do
     powerpc_elf64_vec)		 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf"; target_size=64 ;;
     powerpc_elf64_le_vec)	 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
     powerpc_elf64_fbsd_vec)	 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
-    powerpc_nlm32_vec)		 tb="$tb nlm32-ppc.lo nlm32.lo nlm.lo" ;;
     powerpc_pe_vec)		 tb="$tb pe-ppc.lo peigen.lo $coff" ;;
     powerpc_pe_le_vec)		 tb="$tb pe-ppc.lo peigen.lo $coff" ;;
     powerpc_pei_vec)		 tb="$tb pei-ppc.lo peigen.lo $coff" ;;
@@ -621,18 +612,6 @@ do
     s390_elf64_vec)		 tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
     score_elf32_be_vec)		 tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
     score_elf32_le_vec)		 tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
-    sh64_elf32_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
-    sh64_elf32_le_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
-    sh64_elf32_linux_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
-    sh64_elf32_linux_be_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
-    sh64_elf32_nbsd_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;;
-    sh64_elf32_nbsd_le_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;;
-    sh64_elf64_vec)		 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_le_vec)		 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_linux_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_linux_be_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_nbsd_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_nbsd_le_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
     sh_coff_vec)		 tb="$tb coff-sh.lo $coff" ;;
     sh_coff_le_vec)		 tb="$tb coff-sh.lo $coff" ;;
     sh_coff_small_vec)		 tb="$tb coff-sh.lo $coff" ;;
@@ -645,25 +624,16 @@ do
     sh_elf32_linux_be_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
     sh_elf32_nbsd_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
     sh_elf32_nbsd_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
-    sh_elf32_symbian_le_vec)	 tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
     sh_elf32_vxworks_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
     sh_elf32_vxworks_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
     sh_pe_le_vec)		 tb="$tb pe-sh.lo coff-sh.lo peigen.lo $coff" ;;
     sh_pei_le_vec)		 tb="$tb pei-sh.lo coff-sh.lo peigen.lo $coff" ;;
-    sparc_aout_le_vec)		 tb="$tb aout-sparcle.lo aout32.lo" ;;
-    sparc_aout_linux_vec)	 tb="$tb sparclinux.lo aout32.lo" ;;
-    sparc_aout_lynx_vec)	 tb="$tb sparclynx.lo lynx-core.lo aout32.lo" ;;
-    sparc_aout_nbsd_vec)	 tb="$tb sparcnetbsd.lo aout32.lo" ;;
-    sparc_aout_sunos_be_vec)	 tb="$tb sunos.lo aout32.lo" ;;
-    sparc_coff_vec)		 tb="$tb coff-sparc.lo $coffgen" ;;
-    sparc_coff_lynx_vec)	 tb="$tb cf-sparclynx.lo lynx-core.lo $coffgen" ;;
     sparc_elf32_vec)		 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
     sparc_elf32_sol2_vec)	 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
     sparc_elf32_vxworks_vec)	 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
     sparc_elf64_vec)		 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
     sparc_elf64_fbsd_vec)	 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
     sparc_elf64_sol2_vec)	 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
-    sparc_nlm32_vec)		 tb="$tb nlm32-sparc.lo nlm32.lo nlm.lo" ;;
     spu_elf32_vec)		 tb="$tb elf32-spu.lo elf32.lo $elf" ;;
     sym_vec)			 tb="$tb xsym.lo" ;;
     tic30_aout_vec)		 tb="$tb aout-tic30.lo" ;;
@@ -695,15 +665,12 @@ do
     v800_elf32_vec)		 tb="$tb elf32-v850.lo elf32.lo $elf" ;;
     v850_elf32_vec)		 tb="$tb elf32-v850.lo elf32.lo $elf" ;;
     vax_aout_1knbsd_vec)	 tb="$tb vax1knetbsd.lo aout32.lo" ;;
-    vax_aout_bsd_vec)		 tb="$tb vaxbsd.lo aout32.lo" ;;
     vax_aout_nbsd_vec)		 tb="$tb vaxnetbsd.lo aout32.lo" ;;
     vax_elf32_vec)		 tb="$tb elf32-vax.lo elf32.lo $elf" ;;
     ft32_elf32_vec)		 tb="$tb elf32-ft32.lo elf32.lo $elf" ;;
     visium_elf32_vec)		 tb="$tb elf32-visium.lo elf32.lo $elf" ;;
-    w65_coff_vec)		 tb="$tb coff-w65.lo reloc16.lo $coffgen" ;;
     wasm_vec)                    tb="$tb wasm-module.lo" ;;
     wasm32_elf32_vec)            tb="$tb elf32-wasm32.lo elf32.lo $elf" ;;
-    we32k_coff_vec)		 tb="$tb coff-we32k.lo $coffgen" ;;
     x86_64_coff_vec)		 tb="$tb coff-x86_64.lo $coff"; target_size=64 ;;
     x86_64_elf32_vec)		 tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
     x86_64_elf32_nacl_vec)	 tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
@@ -875,11 +842,6 @@ if test "${target}" = "${host}"; then
 	COREFILE=netbsd-core.lo
 	;;
 
-  i370-*-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/i370linux.h"'
-	;;
-
 changequote(,)dnl
   i[3-7]86-sequent-bsd*)
 changequote([,])dnl
@@ -952,67 +914,17 @@ changequote(,)dnl
   i[3-7]86-*-isc*)	COREFILE=trad-core.lo ;;
   i[3-7]86-*-aix*)	COREFILE=aix386-core.lo ;;
 changequote([,])dnl
-  i860-*-mach3* | i860-*-osf1*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/i860mach3.h"'
-	;;
   mips-*-netbsd* | mips*-*-openbsd*)
 	COREFILE=netbsd-core.lo
 	;;
-  mips-dec-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/decstation.h"'
-	;;
   mips-sgi-irix4*)	COREFILE=irix-core.lo ;;
   mips-sgi-irix5*)	COREFILE=irix-core.lo ;;
   mips-sgi-irix6*)	COREFILE=irix-core.lo ;;
-  mips-*-sysv4*)	;;
-  mips-*-sysv* | mips-*-riscos*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/riscos.h"'
-	;;
-  mips-sony-bsd*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/news-mips.h"'
-	;;
-  m68*-bull*-sysv*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/dpx2.h"'
-	;;
-  m68*-hp-hpux*)	COREFILE=hpux-core.lo ;;
-  m68*-hp-bsd*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/hp300bsd.h"'
-	;;
   m68*-*-linux-*)
 	COREFILE=trad-core.lo
 	TRAD_HEADER='"hosts/m68klinux.h"'
 	;;
-  m68*-motorola-sysv*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/delta68.h"'
-	;;
-  m68*-sony-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/news.h"'
-	;;
-  m68*-*-netbsd* | m68*-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  m68*-apple-aux*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/m68kaux.h"'
-	;;
-  m88*-*-sysv4*)
-	;;
-  m88*-motorola-sysv*)
-	COREFILE=ptrace-core.lo
-	;;
-  m88*-*-mach3*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/m88kmach3.h"'
-	;;
-  m88*-*-openbsd*)
+  m68*-*-netbsd*)
 	COREFILE=netbsd-core.lo
 	;;
   ns32k-pc532-mach)
@@ -1060,10 +972,6 @@ changequote([,])dnl
   sparc-*-netbsd* | sparc*-*-openbsd*)
 	COREFILE=netbsd-core.lo
 	;;
-  tahoe-*-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/tahoe.h"'
-	;;
   vax-*-netbsd* | vax-*-openbsd*)
 	COREFILE=netbsd-core.lo
 	;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/configure.host ./bfd/configure.host
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/configure.host	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/configure.host	2018-07-10 02:06:11.000000000 +0000
@@ -72,8 +72,6 @@ mips*-*-sysv4*)		;;
 mips*-*-sysv*)		HDEFINES="-G 4" ;;
 mips*-*-riscos*)	HDEFINES="-G 4" ;;
 
-m68*-hp-hpux*)		HDEFINES=-DHOST_HP300HPUX ;;
-
 # Some Solaris systems (osol0906 at least) have a libc that doesn't recognise
 # the "MS-ANSI" code page name, so we define an override for CP_ACP (sets the
 # default code page used by windres/windmc when not specified by a commandline
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-arm.c ./bfd/cpu-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-arm.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cpu-arm.c	2018-07-10 02:06:11.000000000 +0000
@@ -129,20 +129,33 @@ scan (const struct bfd_arch_info *info, 
 
 static const bfd_arch_info_type arch_info_struct[] =
 {
-  N (bfd_mach_arm_2,       "armv2",   FALSE, & arch_info_struct[1]),
-  N (bfd_mach_arm_2a,      "armv2a",  FALSE, & arch_info_struct[2]),
-  N (bfd_mach_arm_3,       "armv3",   FALSE, & arch_info_struct[3]),
-  N (bfd_mach_arm_3M,      "armv3m",  FALSE, & arch_info_struct[4]),
-  N (bfd_mach_arm_4,       "armv4",   FALSE, & arch_info_struct[5]),
-  N (bfd_mach_arm_4T,      "armv4t",  FALSE, & arch_info_struct[6]),
-  N (bfd_mach_arm_5,       "armv5",   FALSE, & arch_info_struct[7]),
-  N (bfd_mach_arm_5T,      "armv5t",  FALSE, & arch_info_struct[8]),
-  N (bfd_mach_arm_5TE,     "armv5te", FALSE, & arch_info_struct[9]),
-  N (bfd_mach_arm_XScale,  "xscale",  FALSE, & arch_info_struct[10]),
-  N (bfd_mach_arm_ep9312,  "ep9312",  FALSE, & arch_info_struct[11]),
-  N (bfd_mach_arm_iWMMXt,  "iwmmxt",  FALSE, & arch_info_struct[12]),
-  N (bfd_mach_arm_iWMMXt2, "iwmmxt2", FALSE, & arch_info_struct[13]),
-  N (bfd_mach_arm_unknown, "arm_any", FALSE, NULL)
+  N (bfd_mach_arm_2,         "armv2",          FALSE, & arch_info_struct[1]),
+  N (bfd_mach_arm_2a,        "armv2a",         FALSE, & arch_info_struct[2]),
+  N (bfd_mach_arm_3,         "armv3",          FALSE, & arch_info_struct[3]),
+  N (bfd_mach_arm_3M,        "armv3m",         FALSE, & arch_info_struct[4]),
+  N (bfd_mach_arm_4,         "armv4",          FALSE, & arch_info_struct[5]),
+  N (bfd_mach_arm_4T,        "armv4t",         FALSE, & arch_info_struct[6]),
+  N (bfd_mach_arm_5,         "armv5",          FALSE, & arch_info_struct[7]),
+  N (bfd_mach_arm_5T,        "armv5t",         FALSE, & arch_info_struct[8]),
+  N (bfd_mach_arm_5TE,       "armv5te",        FALSE, & arch_info_struct[9]),
+  N (bfd_mach_arm_XScale,    "xscale",         FALSE, & arch_info_struct[10]),
+  N (bfd_mach_arm_ep9312,    "ep9312",         FALSE, & arch_info_struct[11]),
+  N (bfd_mach_arm_iWMMXt,    "iwmmxt",         FALSE, & arch_info_struct[12]),
+  N (bfd_mach_arm_iWMMXt2,   "iwmmxt2",        FALSE, & arch_info_struct[13]),
+  N (bfd_mach_arm_5TEJ,      "armv5tej",       FALSE, & arch_info_struct[14]),
+  N (bfd_mach_arm_6,         "armv6",          FALSE, & arch_info_struct[15]),
+  N (bfd_mach_arm_6KZ,       "armv6kz",        FALSE, & arch_info_struct[16]),
+  N (bfd_mach_arm_6T2,       "armv6t2",        FALSE, & arch_info_struct[17]),
+  N (bfd_mach_arm_6K,        "armv6k",         FALSE, & arch_info_struct[18]),
+  N (bfd_mach_arm_7,         "armv7",          FALSE, & arch_info_struct[19]),
+  N (bfd_mach_arm_6M,        "armv6-m",        FALSE, & arch_info_struct[20]),
+  N (bfd_mach_arm_6SM,       "armv6s-m",       FALSE, & arch_info_struct[21]),
+  N (bfd_mach_arm_7EM,       "armv7e-m",       FALSE, & arch_info_struct[22]),
+  N (bfd_mach_arm_8,         "armv8-a",        FALSE, & arch_info_struct[23]),
+  N (bfd_mach_arm_8R,        "armv8-r",        FALSE, & arch_info_struct[24]),
+  N (bfd_mach_arm_8M_BASE,   "armv8-m.base",   FALSE, & arch_info_struct[25]),
+  N (bfd_mach_arm_8M_MAIN,   "armv8-m.main",   FALSE, & arch_info_struct[26]),
+  N (bfd_mach_arm_unknown,   "arm_any",        FALSE, NULL)
 };
 
 const bfd_arch_info_type bfd_arm_arch =
@@ -190,7 +203,7 @@ bfd_arm_merge_machines (bfd *ibfd, bfd *
     {
       /* xgettext: c-format */
       _bfd_error_handler (_("\
-error: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
+error: %pB is compiled for the EP9312, whereas %pB is compiled for XScale"),
 			  ibfd, obfd);
       bfd_set_error (bfd_error_wrong_format);
       return FALSE;
@@ -202,7 +215,7 @@ error: %B is compiled for the EP9312, wh
     {
       /* xgettext: c-format */
       _bfd_error_handler (_("\
-error: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
+error: %pB is compiled for the EP9312, whereas %pB is compiled for XScale"),
 			  obfd, ibfd);
       bfd_set_error (bfd_error_wrong_format);
       return FALSE;
@@ -335,7 +348,7 @@ bfd_arm_update_notes (bfd *abfd, const c
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("warning: unable to update contents of %s section in %B"),
+	    (_("warning: unable to update contents of %s section in %pB"),
 	     note_section, abfd);
 	  goto FAIL;
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-h8500.c ./bfd/cpu-h8500.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-h8500.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cpu-h8500.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,59 +0,0 @@
-/* BFD library support routines for the H8/500 architecture.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-   Hacked by Steve Chamberlain of Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-static bfd_boolean scan_mach
-  (const struct bfd_arch_info *, const char *);
-
-static bfd_boolean
-scan_mach (const struct bfd_arch_info *info ATTRIBUTE_UNUSED,
-	   const char *string)
-{
-  if (strcmp (string,"h8/500") == 0)
-    return TRUE;
-  if (strcmp (string,"H8/500") == 0)
-    return TRUE;
-  if (strcmp (string,"h8500") == 0)
-    return TRUE;
-  if (strcmp (string,"H8500") == 0)
-    return TRUE;
-  return FALSE;
-}
-
-const bfd_arch_info_type bfd_h8500_arch =
-{
-  16,				/* 16 bits in a word */
-  24,				/* 24 bits in an address */
-  8,				/* 8 bits in a byte */
-  bfd_arch_h8500,
-  0,				/* only 1 machine */
-  "h8500",			/* arch_name  */
-  "h8500",			/* printable name */
-  1,
-  TRUE,				/* the default machine */
-  bfd_default_compatible,
-  scan_mach,
-  bfd_arch_default_fill,
-  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.1.0.20180703/bfd/cpu-i370.c ./bfd/cpu-i370.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-i370.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cpu-i370.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,77 +0,0 @@
-/* BFD i370 CPU definition
-   Copyright (C) 1994-2018 Free Software Foundation, Inc.
-   Contributed by Ian Lance Taylor, Cygnus Support.
-   Hacked by Linas Vepstas <linas@linas.org> in 1998, 1999
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-static const bfd_arch_info_type arch_info_struct[] =
-{
-  /* Hack alert: old old machines are really 16 and 24 bit arch ...  */
-  {
-    32,		/* 32 bits in a word.  */
-    32,		/* 32 bits in an address.  */
-    8,		/* 8 bits in a byte.  */
-    bfd_arch_i370,
-    360,	/* For the 360.  */
-    "i370",
-    "i370:360",
-    3,
-    FALSE,	/* Not the default.  */
-    bfd_default_compatible,
-    bfd_default_scan,
-    bfd_arch_default_fill,
-    &arch_info_struct[1]
-  },
-  {
-    32,		/* 32 bits in a word.  */
-    32,		/* 32 bits in an address.  */
-    8,		/* 8 bits in a byte.  */
-    bfd_arch_i370,
-    370,	/* For the 370.  */
-    "i370",
-    "i370:370",
-    3,
-    FALSE,	/* Not the default.  */
-    bfd_default_compatible,
-    bfd_default_scan,
-    bfd_arch_default_fill,
-    0
-  },
-};
-
-const bfd_arch_info_type bfd_i370_arch =
-{
-  32,		/* 32 bits in a word.  */
-  32,		/* 32 bits in an address.  */
-  8,		/* 8 bits in a byte.  */
-  bfd_arch_i370,
-  0,		/* For the 360/370 common architecture.  */
-  "i370",
-  "i370:common",
-  3,
-  TRUE,		/* The default.  */
-  bfd_default_compatible,
-  bfd_default_scan,
-  bfd_arch_default_fill,
-  & arch_info_struct[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.1.0.20180703/bfd/cpu-i860.c ./bfd/cpu-i860.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-i860.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cpu-i860.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,42 +0,0 @@
-/* BFD support for the Intel 860 architecture.
-   Copyright (C) 1992-2018 Free Software Foundation, Inc.
-   Created mostly by substituting "860" for "386" in cpu-i386.c
-   Harry Dolan <dolan@ssd.intel.com>, October 1995
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-const bfd_arch_info_type bfd_i860_arch =
-  {
-    32,				/* 32 bits in a word */
-    32,				/* 32 bits in an address */
-    8,				/* 8 bits in a byte */
-    bfd_arch_i860,		/* Architecture */
-    0,				/* Only one machine */
-    "i860",			/* Architecture name */
-    "i860",			/* Printable name */
-    3,				/* Section alignment exponent */
-    TRUE,			/* Is this the default architecture? */
-    bfd_default_compatible,
-    bfd_default_scan,
-    bfd_arch_default_fill,
-    0,				/* Next in list */
-  };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-i960.c ./bfd/cpu-i960.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-i960.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cpu-i960.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,172 +0,0 @@
-/* BFD library support routines for the i960 architecture.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Hacked by Steve Chamberlain of Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-/* This routine is provided a string, and tries to work out if it
-   could possibly refer to the i960 machine pointed at in the
-   info_struct pointer */
-
-static bfd_boolean
-scan_960_mach (const bfd_arch_info_type *ap,
-	       const char *string)
-{
-  unsigned long machine;
-  int fail_because_not_80960 = FALSE;
-
-  /* Look for the string i960 at the front of the string.  */
-  if (strncasecmp ("i960", string, 4) == 0)
-    {
-      string += 4;
-
-      /* i960 on it's own means core to us.  */
-      if (* string == 0)
-	return ap->mach == bfd_mach_i960_core;
-
-      /* "i960:*" is valid, anything else is not.  */
-      if (* string != ':')
-	return FALSE;
-
-      string ++;
-    }
-  /* In some bfds the cpu-id is written as "80960KA", "80960KB",
-     "80960CA" or "80960MC".  */
-  else if (CONST_STRNEQ (string, "80960"))
-    {
-      string += 5;
-
-      /* Set this to TRUE here.  If a correct matching postfix
-	 is detected below it will be reset to FALSE.  */
-      fail_because_not_80960 = TRUE;
-    }
-  /* No match, can't be us.  */
-  else
-    return FALSE;
-
-  if (* string == '\0')
-    return FALSE;
-
-  if (string[0] == 'c' && string[1] == 'o' && string[2] == 'r' &&
-      string[3] == 'e' && string[4] == '\0')
-    machine = bfd_mach_i960_core;
-  else if (strcasecmp (string, "ka_sa") == 0)
-    machine = bfd_mach_i960_ka_sa;
-  else if (strcasecmp (string, "kb_sb") == 0)
-    machine = bfd_mach_i960_kb_sb;
-  else if (string[1] == '\0' || string[2] != '\0') /* rest are 2-char.  */
-    return FALSE;
-  else if (string[0] == 'k' && string[1] == 'b')
-    { machine = bfd_mach_i960_kb_sb; fail_because_not_80960 = FALSE; }
-  else if (string[0] == 's' && string[1] == 'b')
-    machine = bfd_mach_i960_kb_sb;
-  else if (string[0] == 'm' && string[1] == 'c')
-    { machine = bfd_mach_i960_mc; fail_because_not_80960 = FALSE; }
-  else if (string[0] == 'x' && string[1] == 'a')
-    machine = bfd_mach_i960_xa;
-  else if (string[0] == 'c' && string[1] == 'a')
-    { machine = bfd_mach_i960_ca; fail_because_not_80960 = FALSE; }
-  else if (string[0] == 'k' && string[1] == 'a')
-    { machine = bfd_mach_i960_ka_sa; fail_because_not_80960 = FALSE; }
-  else if (string[0] == 's' && string[1] == 'a')
-    machine = bfd_mach_i960_ka_sa;
-  else if (string[0] == 'j' && string[1] == 'x')
-    machine = bfd_mach_i960_jx;
-  else if (string[0] == 'h' && string[1] == 'x')
-    machine = bfd_mach_i960_hx;
-  else
-    return FALSE;
-
-  if (fail_because_not_80960)
-    return FALSE;
-
-  if (machine == ap->mach)
-    return TRUE;
-
-  return FALSE;
-}
-
-/* This routine is provided two arch_infos and works out the i960
-   machine which would be compatible with both and returns a pointer
-   to its info structure */
-
-static const bfd_arch_info_type *
-compatible (const bfd_arch_info_type *a,
-	    const bfd_arch_info_type *b)
-{
-
-  /* The i960 has distinct subspecies which may not interbreed:
-	CORE CA
-	CORE KA KB MC XA
-	CORE HX JX
-     Any architecture on the same line is compatible, the one on
-     the right is the least restrictive.
-
-     We represent this information in an array, each machine to a side */
-
-#define ERROR	0
-#define CORE	bfd_mach_i960_core  /*1*/
-#define KA	bfd_mach_i960_ka_sa /*2*/
-#define KB	bfd_mach_i960_kb_sb /*3*/
-#define MC	bfd_mach_i960_mc    /*4*/
-#define XA	bfd_mach_i960_xa    /*5*/
-#define CA	bfd_mach_i960_ca    /*6*/
-#define JX	bfd_mach_i960_jx    /*7*/
-#define HX	bfd_mach_i960_hx    /*8*/
-#define MAX_ARCH ((int)HX)
-
-  static const unsigned long matrix[MAX_ARCH+1][MAX_ARCH+1] =
-    {
-      { ERROR,	CORE,	KA,	KB,	MC,	XA,	CA,	JX,	HX },
-      { CORE,	CORE,	KA,	KB,	MC,	XA,	CA,	JX,	HX },
-      { KA,	KA,	KA,	KB,	MC,	XA,	ERROR,	ERROR,	ERROR},
-      { KB,	KB,	KB,	KB,	MC,	XA,	ERROR,	ERROR,	ERROR},
-      { MC,	MC,	MC,	MC,	MC,	XA,	ERROR,	ERROR,	ERROR},
-      { XA,	XA,	XA,	XA,	XA,	XA,	ERROR,	ERROR,	ERROR},
-      { CA,	CA,	ERROR,	ERROR,	ERROR,	ERROR,	CA,	ERROR,	ERROR},
-      { JX,	JX,	ERROR,	ERROR,	ERROR,	ERROR,	ERROR,  JX,	HX },
-      { HX,	HX,	ERROR,	ERROR,	ERROR,	ERROR,	ERROR,	HX,	HX },
-    };
-
-  if (a->arch != b->arch || matrix[a->mach][b->mach] == ERROR)
-    return NULL;
-
-  return (a->mach  ==  matrix[a->mach][b->mach]) ?  a : b;
-}
-
-#define N(a,b,d,n) \
-{ 32, 32, 8,bfd_arch_i960,a,"i960",b,3,d,compatible,scan_960_mach, \
-  bfd_arch_default_fill, n,}
-
-static const bfd_arch_info_type arch_info_struct[] =
-{
-  N(bfd_mach_i960_ka_sa,"i960:ka_sa",FALSE, &arch_info_struct[1]),
-  N(bfd_mach_i960_kb_sb,"i960:kb_sb",FALSE, &arch_info_struct[2]),
-  N(bfd_mach_i960_mc,   "i960:mc",   FALSE, &arch_info_struct[3]),
-  N(bfd_mach_i960_xa,   "i960:xa",   FALSE, &arch_info_struct[4]),
-  N(bfd_mach_i960_ca,   "i960:ca",   FALSE, &arch_info_struct[5]),
-  N(bfd_mach_i960_jx,   "i960:jx",   FALSE, &arch_info_struct[6]),
-  N(bfd_mach_i960_hx,	"i960:hx",   FALSE, 0),
-};
-
-const bfd_arch_info_type bfd_i960_arch =
-  N(bfd_mach_i960_core, "i960:core", TRUE, &arch_info_struct[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.1.0.20180703/bfd/cpu-m88k.c ./bfd/cpu-m88k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-m88k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cpu-m88k.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,41 +0,0 @@
-/* bfd back-end for m88k support
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Steve Chamberlain of Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-const bfd_arch_info_type bfd_m88k_arch =
-  {
-    32,	/* 32 bits in a word */
-    32,	/* 32 bits in an address */
-    8,	/* 8 bits in a byte */
-    bfd_arch_m88k,
-    88100,	/* only 1 machine */
-    "m88k",
-    "m88k:88100",
-    3,
-    TRUE, /* the one and only */
-    bfd_default_compatible,
-    bfd_default_scan,
-    bfd_arch_default_fill,
-    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.1.0.20180703/bfd/cpu-nfp.c ./bfd/cpu-nfp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-nfp.c	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/cpu-nfp.c	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1,62 @@
+/* BFD library support routines for the NFP.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   Contributed by Francois H. Theron <francois.theron@netronome.com>
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#include "sysdep.h"
+#include "bfd.h"
+#include "libbfd.h"
+
+static const bfd_arch_info_type *
+bfd_nfp_compatible (const bfd_arch_info_type * a,
+		    const bfd_arch_info_type * b)
+{
+  if (a->arch != b->arch)
+    return NULL;
+
+  if (a->mach != b->mach)
+    return NULL;
+
+  return a;
+}
+
+#define N(machine, print, default, next)			\
+{								\
+  32,								\
+  64,								\
+  8,								\
+  bfd_arch_nfp,							\
+  machine,							\
+  "nfp",							\
+  print,							\
+  3,								\
+  default,							\
+  bfd_nfp_compatible,						\
+  bfd_default_scan,						\
+  bfd_arch_default_fill,					\
+  next								\
+}
+
+static const bfd_arch_info_type arch_info_struct[] =
+{
+  N (bfd_mach_nfp3200, "NFP-32xx", FALSE, NULL)
+};
+
+const bfd_arch_info_type bfd_nfp_arch =
+  N (bfd_mach_nfp6000, "NFP-6xxx", TRUE, &arch_info_struct[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.1.0.20180703/bfd/cpu-ns32k.c ./bfd/cpu-ns32k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-ns32k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cpu-ns32k.c	2018-07-10 02:06:11.000000000 +0000
@@ -220,8 +220,8 @@ do_ns32k_reloc (bfd *      abfd,
 	 the addend to be the negative of the position of the location
 	 within the section; for example, i386-aout does this.  For
 	 i386-aout, pcrel_offset is FALSE.  Some other targets do not
-	 include the position of the location; for example, m88kbcs,
-	 or ELF.  For those targets, pcrel_offset is TRUE.
+	 include the position of the location; for example, ELF.
+	 For those targets, pcrel_offset is TRUE.
 
 	 If we are producing relocatable output, then we must ensure
 	 that this reloc will be correctly computed when the final
@@ -793,12 +793,7 @@ _bfd_ns32k_final_link_relocate (reloc_ho
 
   /* If the relocation is PC relative, we want to set RELOCATION to
      the distance between the symbol (currently in RELOCATION) and the
-     location we are relocating.  Some targets (e.g., i386-aout)
-     arrange for the contents of the section to be the negative of the
-     offset of the location within the section; for such targets
-     pcrel_offset is FALSE.  Other targets (e.g., m88kbcs or ELF)
-     simply leave the contents of the section as zero; for such
-     targets pcrel_offset is TRUE.  If pcrel_offset is FALSE we do not
+     location we are relocating.  If pcrel_offset is FALSE we do not
      need to subtract out the offset of the location within the
      section (which is just ADDRESS).  */
   if (howto->pc_relative)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-s12z.c ./bfd/cpu-s12z.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-s12z.c	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/cpu-s12z.c	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1,41 @@
+/* BFD support for the Freescale 9S12Z processor
+   Copyright (C) 2008-2018 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#include "sysdep.h"
+#include "bfd.h"
+#include "libbfd.h"
+
+const bfd_arch_info_type bfd_s12z_arch =
+{
+    16,	/* 16 bits in a word.  */
+    24,	/* 24 bits in an address.  */
+    8,	/* 8 bits in a byte.  */
+    bfd_arch_s12z,
+    0,
+    "s12z",
+    "s12z",
+    4, /* Section alignment power.  */
+    TRUE,
+    bfd_default_compatible,
+    bfd_default_scan,
+    bfd_arch_default_fill,
+    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.1.0.20180703/bfd/cpu-sh.c ./bfd/cpu-sh.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-sh.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cpu-sh.c	2018-07-10 02:06:11.000000000 +0000
@@ -43,8 +43,7 @@
 #define SH2A_NOFPU_OR_SH4_NOMMU_NOFPU_NEXT arch_info_struct + 16
 #define SH2A_NOFPU_OR_SH3_NOMMU_NEXT	   arch_info_struct + 17
 #define SH2A_OR_SH4_NEXT		   arch_info_struct + 18
-#define SH2A_OR_SH3E_NEXT		   arch_info_struct + 19
-#define SH64_NEXT			   NULL
+#define SH2A_OR_SH3E_NEXT		   NULL
 
 static const bfd_arch_info_type arch_info_struct[] =
 {
@@ -333,21 +332,6 @@ static const bfd_arch_info_type arch_inf
     bfd_arch_default_fill,
     SH2A_OR_SH3E_NEXT
   },
-  {
-    64,				/* 64 bits in a word.  */
-    64,				/* 64 bits in an address.  */
-    8,				/* 8 bits in a byte.  */
-    bfd_arch_sh,
-    bfd_mach_sh5,
-    "sh",			/* Architecture name.   */
-    "sh5",			/* Machine name.  */
-    1,
-    FALSE,			/* Not the default.  */
-    bfd_default_compatible,
-    bfd_default_scan,
-    bfd_arch_default_fill,
-    SH64_NEXT
-  },
 };
 
 const bfd_arch_info_type bfd_sh_arch =
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-w65.c ./bfd/cpu-w65.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-w65.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cpu-w65.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,52 +0,0 @@
-/* BFD library support routines for the WDC 65816 architecture.
-   Copyright (C) 1995-2018 Free Software Foundation, Inc.
-   Hacked by Steve Chamberlain of Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-static bfd_boolean
-scan_mach (const struct bfd_arch_info *info ATTRIBUTE_UNUSED,
-	   const char *string)
-{
-  if (strcmp(string,"w65") == 0)
-    return TRUE;
-  if (strcmp(string,"w65816") == 0)
-    return TRUE;
-  return FALSE;
-}
-
-const bfd_arch_info_type bfd_w65_arch =
-{
-  16,				/* 16 bits in a word */
-  24,				/* 24 bits in an address */
-  8,				/* 8 bits in a byte */
-  bfd_arch_w65,
-  0,				/* only 1 machine */
-  "w65",			/* arch_name  */
-  "w65",			/* printable name */
-  1,
-  TRUE,				/* the default machine */
-  bfd_default_compatible,
-  scan_mach,
-  bfd_arch_default_fill,
-  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.1.0.20180703/bfd/cpu-we32k.c ./bfd/cpu-we32k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/cpu-we32k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/cpu-we32k.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,41 +0,0 @@
-/* bfd back-end for we32k support
-   Copyright (C) 1992-2018 Free Software Foundation, Inc.
-   Contributed by Brendan Kehoe (brendan@cs.widener.edu).
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-const bfd_arch_info_type bfd_we32k_arch =
-  {
-    32,	/* 32 bits in a word */
-    32,	/* 32 bits in an address */
-    8,	/* 8 bits in a byte */
-    bfd_arch_we32k,
-    32000,	/* only 1 machine */
-    "we32k",
-    "we32k:32000",
-    3,
-    TRUE, /* the one and only */
-    bfd_default_compatible,
-    bfd_default_scan ,
-    bfd_arch_default_fill,
-    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.1.0.20180703/bfd/demo64.c ./bfd/demo64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/demo64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/demo64.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,30 +0,0 @@
-/* BFD backend for demonstration 64-bit a.out binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define ARCH_SIZE 64
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (aout64_,OP)
-
-#define TARGETNAME  "demo64"
-#include "aoutf1.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/aoutx.texi ./bfd/doc/aoutx.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/aoutx.texi	2018-07-03 02:08:23.000000000 +0000
+++ ./bfd/doc/aoutx.texi	2018-07-10 02:08:10.000000000 +0000
@@ -10,14 +10,13 @@ information.
 The support is split into a basic support file @file{aoutx.h}
 and other files which derive functions from the base. One
 derivation file is @file{aoutf1.h} (for a.out flavour 1), and
-adds to the basic a.out functions support for sun3, sun4, 386
-and 29k a.out files, to create a target jump vector for a
-specific target.
+adds to the basic a.out functions support for sun3, sun4, and
+386 a.out files, to create a target jump vector for a specific
+target.
 
 This information is further split out into more specific files
 for each machine, including @file{sunos.c} for sun3 and sun4,
-@file{newsos3.c} for the Sony NEWS, and @file{demo64.c} for a
-demonstration of a 64 bit a.out format.
+and @file{demo64.c} for a demonstration of a 64 bit a.out format.
 
 The base file @file{aoutx.h} defines general mechanisms for
 reading and writing records to and from disk and various
@@ -102,10 +101,9 @@ configuration is selected.
 The file @file{aoutx.h} provides for both the @emph{standard}
 and @emph{extended} forms of a.out relocation records.
 
-The standard records contain only an
-address, a symbol index, and a type field. The extended records
-(used on 29ks and sparcs) also have a full integer for an
-addend.
+The standard records contain only an address, a symbol index,
+and a type field.  The extended records also have a full
+integer for an addend.
 
 @subsection Internal entry points
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/archures.texi ./bfd/doc/archures.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/archures.texi	2018-07-03 02:08:23.000000000 +0000
+++ ./bfd/doc/archures.texi	2018-07-10 02:08:10.000000000 +0000
@@ -30,8 +30,7 @@ global sense---i.e., what processor fami
 Another field indicates which processor within
 the family is in use.  The machine gives a number which
 distinguishes different versions of the architecture,
-containing, for example, 2 and 3 for Intel i960 KA and i960 KB,
-and 68020 and 68030 for Motorola 68020 and 68030.
+containing, for example, 68020 for Motorola 68020.
 @example
 enum bfd_architecture
 @{
@@ -70,23 +69,6 @@ enum bfd_architecture
 #define bfd_mach_mcf_isa_c_nodiv_mac   30
 #define bfd_mach_mcf_isa_c_nodiv_emac  31
   bfd_arch_vax,       /* DEC Vax.  */
-  bfd_arch_i960,      /* Intel 960.  */
-    /* The order of the following is important.
-       lower number indicates a machine type that
-       only accepts a subset of the instructions
-       available to machines with higher numbers.
-       The exception is the "ca", which is
-       incompatible with all other machines except
-       "core".  */
-
-#define bfd_mach_i960_core     1
-#define bfd_mach_i960_ka_sa    2
-#define bfd_mach_i960_kb_sb    3
-#define bfd_mach_i960_mc       4
-#define bfd_mach_i960_xa       5
-#define bfd_mach_i960_ca       6
-#define bfd_mach_i960_jx       7
-#define bfd_mach_i960_hx       8
 
   bfd_arch_or1k,      /* OpenRISC 1000.  */
 #define bfd_mach_or1k          1
@@ -202,13 +184,8 @@ enum bfd_architecture
 #define bfd_mach_iamcu                 (1 << 8)
 #define bfd_mach_i386_iamcu            (bfd_mach_i386_i386 | bfd_mach_iamcu)
 #define bfd_mach_i386_iamcu_intel_syntax (bfd_mach_i386_iamcu | bfd_mach_i386_intel_syntax)
-  bfd_arch_we32k,     /* AT&T WE32xxx.  */
-  bfd_arch_tahoe,     /* CCI/Harris Tahoe.  */
-  bfd_arch_i860,      /* Intel 860.  */
-  bfd_arch_i370,      /* IBM 360/370 Mainframes.  */
   bfd_arch_romp,      /* IBM ROMP PC/RT.  */
   bfd_arch_convex,    /* Convex.  */
-  bfd_arch_m88k,      /* Motorola 88xxx.  */
   bfd_arch_m98k,      /* Motorola 98xxx.  */
   bfd_arch_pyramid,   /* Pyramid Technology.  */
   bfd_arch_h8300,     /* Renesas H8/300 (formerly Hitachi H8/300).  */
@@ -271,10 +248,11 @@ enum bfd_architecture
 #define bfd_mach_m6812s        2
   bfd_arch_m9s12x,    /* Freescale S12X.  */
   bfd_arch_m9s12xg,   /* Freescale XGATE.  */
+  bfd_arch_s12z,    /* Freescale S12Z.  */
+#define bfd_mach_s12z_default 0
   bfd_arch_z8k,       /* Zilog Z8000.  */
 #define bfd_mach_z8001         1
 #define bfd_mach_z8002         2
-  bfd_arch_h8500,     /* Renesas H8/500 (formerly Hitachi H8/500).  */
   bfd_arch_sh,        /* Renesas / SuperH SH (formerly Hitachi SH).  */
 #define bfd_mach_sh                            1
 #define bfd_mach_sh2                           0x20
@@ -296,7 +274,6 @@ enum bfd_architecture
 #define bfd_mach_sh4a                          0x4a
 #define bfd_mach_sh4a_nofpu                    0x4b
 #define bfd_mach_sh4al_dsp                     0x4d
-#define bfd_mach_sh5                           0x50
   bfd_arch_alpha,     /* Dec Alpha.  */
 #define bfd_mach_alpha_ev4     0x10
 #define bfd_mach_alpha_ev5     0x20
@@ -316,6 +293,19 @@ enum bfd_architecture
 #define bfd_mach_arm_ep9312    11
 #define bfd_mach_arm_iWMMXt    12
 #define bfd_mach_arm_iWMMXt2   13
+#define bfd_mach_arm_5TEJ      14
+#define bfd_mach_arm_6         15
+#define bfd_mach_arm_6KZ       16
+#define bfd_mach_arm_6T2       17
+#define bfd_mach_arm_6K        18
+#define bfd_mach_arm_7         19
+#define bfd_mach_arm_6M        20
+#define bfd_mach_arm_6SM       21
+#define bfd_mach_arm_7EM       22
+#define bfd_mach_arm_8         23
+#define bfd_mach_arm_8R        24
+#define bfd_mach_arm_8M_BASE   25
+#define bfd_mach_arm_8M_MAIN   26
   bfd_arch_nds32,     /* Andes NDS32.  */
 #define bfd_mach_n1            1
 #define bfd_mach_n1h           2
@@ -323,7 +313,6 @@ enum bfd_architecture
 #define bfd_mach_n1h_v3        4
 #define bfd_mach_n1h_v3m       5
   bfd_arch_ns32k,     /* National Semiconductors ns32000.  */
-  bfd_arch_w65,       /* WDC 65816.  */
   bfd_arch_tic30,     /* Texas Instruments TMS320C30.  */
   bfd_arch_tic4x,     /* Texas Instruments TMS320C3X/4X.  */
 #define bfd_mach_tic3x         30
@@ -504,6 +493,9 @@ enum bfd_architecture
 #define bfd_mach_wasm32        1
   bfd_arch_pru,       /* PRU.  */
 #define bfd_mach_pru           0
+  bfd_arch_nfp,       /* Netronome Flow Processor */
+#define bfd_mach_nfp3200       0x3200
+#define bfd_mach_nfp6000       0x6000
   bfd_arch_last
   @};
 @end example
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfd.info ./bfd/doc/bfd.info
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfd.info	2018-07-03 02:08:30.000000000 +0000
+++ ./bfd/doc/bfd.info	2018-07-10 02:08:18.000000000 +0000
@@ -1,4 +1,4 @@
-This is bfd.info, produced by makeinfo version 6.3 from bfd.texinfo.
+This is bfd.info, produced by makeinfo version 6.3 from bfd.texi.
 
 This file documents the BFD library.
 
@@ -254,13 +254,13 @@ _symbols_
      symbol information is not worth retaining; in 'a.out', type
      information is stored in the symbol table as long symbol names.
      This information would be useless to most COFF debuggers; the
-     linker has command line switches to allow users to throw it away.
+     linker has command-line switches to allow users to throw it away.
 
      There is one word of type information within the symbol, so if the
      format supports symbol type information within symbols (for
-     example, COFF, IEEE, Oasys) and the type is simple enough to fit
-     within one word (nearly everything but aggregates), the information
-     will be preserved.
+     example, COFF, Oasys) and the type is simple enough to fit within
+     one word (nearly everything but aggregates), the information will
+     be preserved.
 
 _relocation level_
      Each canonical BFD relocation record contains a pointer to the
@@ -286,8 +286,7 @@ _line numbers_
      allows finding out the address of the function whose line number is
      being described.  The rest of the list is made up of pairs: offsets
      into the section and line numbers.  Any format which can simply
-     derive this information can pass it successfully between formats
-     (COFF, IEEE and Oasys).
+     derive this information can pass it successfully between formats.
 
 
 File: bfd.info,  Node: BFD front end,  Next: BFD back ends,  Prev: Overview,  Up: Top
@@ -368,8 +367,9 @@ major data about the file and pointers t
           least-recently-used list of BFDs.  */
        struct bfd *lru_prev, *lru_next;
 
-       /* When a file is closed by the caching routines, BFD retains
-          state information on the file here...  */
+       /* Track current file position (or current buffer offset for
+          in-memory BFDs).  When a file is closed by the caching routines,
+          BFD retains state information on the file here.  */
        ufile_ptr where;
 
        /* File modified time, if mtime_set is TRUE.  */
@@ -598,21 +598,15 @@ major data about the file and pointers t
          {
            struct aout_data_struct *aout_data;
            struct artdata *aout_ar_data;
-           struct _oasys_data *oasys_obj_data;
-           struct _oasys_ar_data *oasys_ar_data;
            struct coff_tdata *coff_obj_data;
            struct pe_tdata *pe_obj_data;
            struct xcoff_tdata *xcoff_obj_data;
            struct ecoff_tdata *ecoff_obj_data;
-           struct ieee_data_struct *ieee_data;
-           struct ieee_ar_data_struct *ieee_ar_data;
            struct srec_data_struct *srec_data;
            struct verilog_data_struct *verilog_data;
            struct ihex_data_struct *ihex_data;
            struct tekhex_data_struct *tekhex_data;
            struct elf_obj_tdata *elf_obj_data;
-           struct nlm_obj_tdata *nlm_obj_data;
-           struct bout_data_struct *bout_data;
            struct mmo_data_struct *mmo_data;
            struct sun_core_struct *sun_core_data;
            struct sco5_core_struct *sco5_core_data;
@@ -770,7 +764,22 @@ the program.
      typedef void (*bfd_error_handler_type) (const char *, va_list);
 
 
-2.2.2.1 'bfd_set_error_handler'
+2.2.2.1 '_bfd_error_handler'
+............................
+
+*Synopsis*
+     void _bfd_error_handler (const char *fmt, ...) ATTRIBUTE_PRINTF_1;
+   *Description*
+This is the default routine to handle BFD error messages.  Like fprintf
+(stderr, ...), but also handles some extra format specifiers.
+
+   %pA section name from section.  For group components, prints group
+name too.  %pB file name from bfd.  For archive components, prints
+archive too.
+
+   Beware: Only supports a maximum of 9 format arguments.
+
+2.2.2.2 'bfd_set_error_handler'
 ...............................
 
 *Synopsis*
@@ -778,7 +787,7 @@ the program.
    *Description*
 Set the BFD error handler function.  Returns the previous function.
 
-2.2.2.2 'bfd_set_error_program_name'
+2.2.2.3 'bfd_set_error_program_name'
 ....................................
 
 *Synopsis*
@@ -1137,7 +1146,7 @@ other formats.
 ......................................
 
 *Synopsis*
-     bfd_vma bfd_emul_get_commonpagesize (const char *);
+     bfd_vma bfd_emul_get_commonpagesize (const char *, bfd_boolean);
    *Description*
 Returns the common page size, in bytes, as determined by emulation.
 
@@ -1413,9 +1422,7 @@ information about common storage.
 is created.  Some targets may leave the data in place until a
 'bfd_get_section_contents' call is made.  Other back ends may read in
 all the data at once.  For example, an S-record file has to be read once
-to determine the size of the data.  An IEEE-695 file doesn't contain raw
-data in sections, but data and relocation expressions intermixed, so the
-data area has to be parsed to get out the data and relocations.
+to determine the size of the data.
 
 
 File: bfd.info,  Node: Section Output,  Next: typedef asection,  Prev: Section Input,  Up: Sections
@@ -1557,13 +1564,10 @@ Here is the section structure:
        /* The section contains thread local data.  */
      #define SEC_THREAD_LOCAL                0x400
 
-       /* The section has GOT references.  This flag is only for the
-          linker, and is currently only used by the elf32-hppa back end.
-          It will be set if global offset table references were detected
-          in this section, which indicate to the linker that the section
-          contains PIC code, and must be handled specially when doing a
-          static link.  */
-     #define SEC_HAS_GOT_REF                 0x800
+       /* The section's size is fixed.  Generic linker code will not
+          recalculate it and it is up to whoever has set this flag to
+          get the size right.  */
+     #define SEC_FIXED_SIZE                  0x800
 
        /* The section contains common symbols (symbols may be defined
           multiple times, the value of a symbol is the amount of
@@ -2244,15 +2248,7 @@ bfd_set_error ()) without changing the s
 a section named NAME.  If there is an error, return 'NULL' and set
 'bfd_error'.
 
-2.6.5.12 'bfd_get_next_section_id'
-..................................
-
-*Synopsis*
-     int bfd_get_next_section_id (void);
-   *Description*
-Returns the id that the next section created will have.
-
-2.6.5.13 'bfd_set_section_flags'
+2.6.5.12 'bfd_set_section_flags'
 ................................
 
 *Synopsis*
@@ -2267,7 +2263,7 @@ returns are:
      of the attributes requested.  For example, a .bss section in
      'a.out' may not have the 'SEC_HAS_CONTENTS' field set.
 
-2.6.5.14 'bfd_rename_section'
+2.6.5.13 'bfd_rename_section'
 .............................
 
 *Synopsis*
@@ -2276,7 +2272,7 @@ returns are:
    *Description*
 Rename section SEC in ABFD to NEWNAME.
 
-2.6.5.15 'bfd_map_over_sections'
+2.6.5.14 'bfd_map_over_sections'
 ................................
 
 *Synopsis*
@@ -2297,7 +2293,7 @@ alternative would be to use a loop:
                for (p = abfd->sections; p != NULL; p = p->next)
                   func (abfd, p, ...)
 
-2.6.5.16 'bfd_sections_find_if'
+2.6.5.15 'bfd_sections_find_if'
 ...............................
 
 *Synopsis*
@@ -2314,7 +2310,7 @@ by
 
    It returns the first section for which OPERATION returns true.
 
-2.6.5.17 'bfd_set_section_size'
+2.6.5.16 'bfd_set_section_size'
 ...............................
 
 *Synopsis*
@@ -2329,7 +2325,7 @@ returned, else 'FALSE'.
    * 'bfd_error_invalid_operation' - Writing has started to the BFD, so
      setting the size is invalid.
 
-2.6.5.18 'bfd_set_section_contents'
+2.6.5.17 'bfd_set_section_contents'
 ...................................
 
 *Synopsis*
@@ -2350,7 +2346,7 @@ are:
    This routine is front end to the back end function
 '_bfd_set_section_contents'.
 
-2.6.5.19 'bfd_get_section_contents'
+2.6.5.18 'bfd_get_section_contents'
 ...................................
 
 *Synopsis*
@@ -2367,7 +2363,7 @@ are requested or if the section does not
 flag set, then the LOCATION is filled with zeroes.  If no errors occur,
 'TRUE' is returned, else 'FALSE'.
 
-2.6.5.20 'bfd_malloc_and_get_section'
+2.6.5.19 'bfd_malloc_and_get_section'
 .....................................
 
 *Synopsis*
@@ -2377,7 +2373,7 @@ flag set, then the LOCATION is filled wi
 Read all data from SECTION in BFD ABFD into a buffer, *BUF, malloc'd by
 this function.
 
-2.6.5.21 'bfd_copy_private_section_data'
+2.6.5.20 'bfd_copy_private_section_data'
 ........................................
 
 *Synopsis*
@@ -2394,7 +2390,7 @@ error.  Possible error returns are:
             BFD_SEND (obfd, _bfd_copy_private_section_data, \
                       (ibfd, isection, obfd, osection))
 
-2.6.5.22 'bfd_generic_is_group_section'
+2.6.5.21 'bfd_generic_is_group_section'
 .......................................
 
 *Synopsis*
@@ -2402,7 +2398,7 @@ error.  Possible error returns are:
    *Description*
 Returns TRUE if SEC is a member of a group.
 
-2.6.5.23 'bfd_generic_discard_group'
+2.6.5.22 'bfd_generic_discard_group'
 ....................................
 
 *Synopsis*
@@ -3111,10 +3107,9 @@ This is the structure of a relocation en
        /* The symbol to relocate against was undefined.  */
        bfd_reloc_undefined,
 
-       /* The relocation was performed, but may not be ok - presently
-          generated only when linking i960 coff files with i960 b.out
-          symbols.  If this type is returned, the error_message argument
-          to bfd_perform_relocation will be set.  */
+       /* The relocation was performed, but may not be ok.  If this type is
+          returned, the error_message argument to bfd_perform_relocation
+          will be set.  */
        bfd_reloc_dangerous
       }
       bfd_reloc_status_type;
@@ -3320,8 +3315,7 @@ that libbfd needs to know to tie up a ba
 
        /* If this field is non null, then the supplied function is
           called rather than the normal function.  This allows really
-          strange relocation methods to be accommodated (e.g., i960 callj
-          instructions).  */
+          strange relocation methods to be accommodated.  */
        bfd_reloc_status_type (*special_function)
          (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
           bfd *, char **);
@@ -3365,7 +3359,7 @@ that libbfd needs to know to tie up a ba
           slot of the instruction, so that a PC relative relocation can
           be made just by adding in an ordinary offset (e.g., sun3 a.out).
           Some formats leave the displacement part of an instruction
-          empty (e.g., m88k bcs); this flag signals the fact.  */
+          empty (e.g., ELF); this flag signals the fact.  */
        bfd_boolean pcrel_offset;
      };
 
@@ -3548,8 +3542,6 @@ attributes.
      address of the relocation itself; sometimes they are relative to
      the start of the section containing the relocation.  It depends on
      the specific target.
-
-     The 24-bit relocation is used in some Intel 960 configurations.
  -- : BFD_RELOC_32_SECREL
      Section relative relocations.  Some targets need this for DWARF2.
  -- : BFD_RELOC_32_GOT_PCREL
@@ -3625,8 +3617,6 @@ attributes.
      displacements off that register.  These relocation types are
      handled specially, because the value the register will have is
      decided relatively late.
- -- : BFD_RELOC_I960_CALLJ
-     Reloc types used for i960/b.out.
  -- : BFD_RELOC_NONE
  -- : BFD_RELOC_SPARC_WDISP22
  -- : BFD_RELOC_SPARC22
@@ -4297,6 +4287,14 @@ attributes.
  -- : BFD_RELOC_ARM_THUMB_MOVW_PCREL
  -- : BFD_RELOC_ARM_THUMB_MOVT_PCREL
      Low and High halfword relocations for MOVW and MOVT instructions.
+ -- : BFD_RELOC_ARM_GOTFUNCDESC
+ -- : BFD_RELOC_ARM_GOTOFFFUNCDESC
+ -- : BFD_RELOC_ARM_FUNCDESC
+ -- : BFD_RELOC_ARM_FUNCDESC_VALUE
+ -- : BFD_RELOC_ARM_TLS_GD32_FDPIC
+ -- : BFD_RELOC_ARM_TLS_LDM32_FDPIC
+ -- : BFD_RELOC_ARM_TLS_IE32_FDPIC
+     ARM FDPIC specific relocations.
  -- : BFD_RELOC_ARM_JUMP_SLOT
  -- : BFD_RELOC_ARM_GLOB_DAT
  -- : BFD_RELOC_ARM_GOT32
@@ -5700,6 +5698,10 @@ attributes.
  -- : BFD_RELOC_M68HC12_HI8XG
      Motorola 68HC12/XGATE reloc.  This is the 8 bit high part of an
      absolute address and immediately follows a matching LO8XG part.
+ -- : BFD_RELOC_S12Z_15_PCREL
+     Freescale S12Z reloc.  This is a 15 bit relative address.  If the
+     most significant bits are all zero then it may be truncated to 8
+     bits.
  -- : BFD_RELOC_16C_NUM08
  -- : BFD_RELOC_16C_NUM08_C
  -- : BFD_RELOC_16C_NUM16
@@ -5841,39 +5843,6 @@ attributes.
  -- : BFD_RELOC_CRIS_DTPMOD
  -- : BFD_RELOC_CRIS_32_IE
      Relocs used in TLS code for CRIS.
- -- : BFD_RELOC_860_COPY
- -- : BFD_RELOC_860_GLOB_DAT
- -- : BFD_RELOC_860_JUMP_SLOT
- -- : BFD_RELOC_860_RELATIVE
- -- : BFD_RELOC_860_PC26
- -- : BFD_RELOC_860_PLT26
- -- : BFD_RELOC_860_PC16
- -- : BFD_RELOC_860_LOW0
- -- : BFD_RELOC_860_SPLIT0
- -- : BFD_RELOC_860_LOW1
- -- : BFD_RELOC_860_SPLIT1
- -- : BFD_RELOC_860_LOW2
- -- : BFD_RELOC_860_SPLIT2
- -- : BFD_RELOC_860_LOW3
- -- : BFD_RELOC_860_LOGOT0
- -- : BFD_RELOC_860_SPGOT0
- -- : BFD_RELOC_860_LOGOT1
- -- : BFD_RELOC_860_SPGOT1
- -- : BFD_RELOC_860_LOGOTOFF0
- -- : BFD_RELOC_860_SPGOTOFF0
- -- : BFD_RELOC_860_LOGOTOFF1
- -- : BFD_RELOC_860_SPGOTOFF1
- -- : BFD_RELOC_860_LOGOTOFF2
- -- : BFD_RELOC_860_LOGOTOFF3
- -- : BFD_RELOC_860_LOPC
- -- : BFD_RELOC_860_HIGHADJ
- -- : BFD_RELOC_860_HAGOT
- -- : BFD_RELOC_860_HAGOTOFF
- -- : BFD_RELOC_860_HAPC
- -- : BFD_RELOC_860_HIGH
- -- : BFD_RELOC_860_HIGOT
- -- : BFD_RELOC_860_HIGOTOFF
-     Intel i860 Relocations.
  -- : BFD_RELOC_OR1K_REL_26
  -- : BFD_RELOC_OR1K_GOTPC_HI16
  -- : BFD_RELOC_OR1K_GOTPC_LO16
@@ -6164,6 +6133,8 @@ attributes.
      Same as BFD_RELOC_32_PCREL but with an implicit -2 addend.
  -- : BFD_RELOC_MACH_O_X86_64_PCREL32_4
      Same as BFD_RELOC_32_PCREL but with an implicit -4 addend.
+ -- : BFD_RELOC_MACH_O_X86_64_TLV
+     Used when referencing a TLV entry.
  -- : BFD_RELOC_MACH_O_ARM64_ADDEND
      Addend for PAGE or PAGEOFF.
  -- : BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21
@@ -6235,6 +6206,14 @@ attributes.
  -- : BFD_RELOC_MICROBLAZE_64_TLSTPREL
      This is a 64 bit reloc that stores 32-bit thread pointer relative
      offset to two words (uses imm instruction).
+ -- : BFD_RELOC_MICROBLAZE_64_TEXTPCREL
+     This is a 64 bit reloc that stores the 32 bit pc relative value in
+     two words (with an imm instruction).  The relocation is PC-relative
+     offset from start of TEXT.
+ -- : BFD_RELOC_MICROBLAZE_64_TEXTREL
+     This is a 64 bit reloc that stores the 32 bit offset value in two
+     words (with an imm instruction).  The relocation is relative offset
+     from start of TEXT.
  -- : BFD_RELOC_AARCH64_RELOC_START
      AArch64 pseudo relocation code to mark the start of the AArch64
      relocation enumerators.  N.B. the order of the enumerators is
@@ -6288,6 +6267,29 @@ attributes.
      AArch64 MOV[NZ] instruction with most significant bits 32 to 47 of
      a signed value.  Changes instruction to MOVZ or MOVN depending on
      the value's sign.
+ -- : BFD_RELOC_AARCH64_MOVW_PREL_G0
+     AArch64 MOV[NZ] instruction with most significant bits 0 to 15 of a
+     signed value.  Changes instruction to MOVZ or MOVN depending on the
+     value's sign.
+ -- : BFD_RELOC_AARCH64_MOVW_PREL_G0_NC
+     AArch64 MOV[NZ] instruction with most significant bits 0 to 15 of a
+     signed value.  Changes instruction to MOVZ or MOVN depending on the
+     value's sign.
+ -- : BFD_RELOC_AARCH64_MOVW_PREL_G1
+     AArch64 MOVK instruction with most significant bits 16 to 31 of a
+     signed value.
+ -- : BFD_RELOC_AARCH64_MOVW_PREL_G1_NC
+     AArch64 MOVK instruction with most significant bits 16 to 31 of a
+     signed value.
+ -- : BFD_RELOC_AARCH64_MOVW_PREL_G2
+     AArch64 MOVK instruction with most significant bits 32 to 47 of a
+     signed value.
+ -- : BFD_RELOC_AARCH64_MOVW_PREL_G2_NC
+     AArch64 MOVK instruction with most significant bits 32 to 47 of a
+     signed value.
+ -- : BFD_RELOC_AARCH64_MOVW_PREL_G3
+     AArch64 MOVK instruction with most significant bits 47 to 63 of a
+     signed value.
  -- : BFD_RELOC_AARCH64_LD_LO19_PCREL
      AArch64 Load Literal instruction, holding a 19 bit pc-relative word
      offset.  The lowest two bits must be zero and are not stored in the
@@ -6469,6 +6471,30 @@ attributes.
      AArch64 TLS LOCAL EXEC relocation.
  -- : BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC
      AArch64 TLS LOCAL EXEC relocation.
+ -- : BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12
+     bit[11:1] of byte offset to module TLS base address, encoded in
+     ldst instructions.
+ -- : BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC
+     Similar as BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, but no
+     overflow check.
+ -- : BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12
+     bit[11:2] of byte offset to module TLS base address, encoded in
+     ldst instructions.
+ -- : BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC
+     Similar as BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, but no
+     overflow check.
+ -- : BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12
+     bit[11:3] of byte offset to module TLS base address, encoded in
+     ldst instructions.
+ -- : BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC
+     Similar as BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, but no
+     overflow check.
+ -- : BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12
+     bit[11:0] of byte offset to module TLS base address, encoded in
+     ldst instructions.
+ -- : BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC
+     Similar as BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, but no
+     overflow check.
  -- : BFD_RELOC_AARCH64_TLSDESC_LD_PREL19
      AArch64 TLS DESC relocation.
  -- : BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21
@@ -6529,6 +6555,13 @@ attributes.
  -- : BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC
      Similar as BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12, but no
      overflow check.
+ -- : BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12
+     AArch64 pseudo relocation code for TLS local exec mode.  It's to be
+     used internally by the AArch64 assembler and not (currently)
+     written to any object files.
+ -- : BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC
+     Similar as BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12, but no overflow
+     check.
  -- : BFD_RELOC_AARCH64_LD_GOT_LO12_NC
      AArch64 pseudo relocation code to be used internally by the AArch64
      assembler and not (currently) written to any object files.
@@ -7053,9 +7086,6 @@ both!
        bfd_target_ecoff_flavour,
        bfd_target_xcoff_flavour,
        bfd_target_elf_flavour,
-       bfd_target_ieee_flavour,
-       bfd_target_nlm_flavour,
-       bfd_target_oasys_flavour,
        bfd_target_tekhex_flavour,
        bfd_target_srec_flavour,
        bfd_target_verilog_flavour,
@@ -7370,6 +7400,7 @@ BFD_JUMP_TABLE macros.
        NAME##_bfd_discard_group, \
        NAME##_section_already_linked, \
        NAME##_bfd_define_common_symbol, \
+       NAME##_bfd_link_hide_symbol, \
        NAME##_bfd_define_start_stop
 
        int         (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
@@ -7436,6 +7467,10 @@ BFD_JUMP_TABLE macros.
        bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
                                                  struct bfd_link_hash_entry *);
 
+       /* Hide a symbol.  */
+       void (*_bfd_link_hide_symbol) (bfd *, struct bfd_link_info *,
+                                      struct bfd_link_hash_entry *);
+
        /* Define a __start, __stop, .startof. or .sizeof. symbol.  */
        struct bfd_link_hash_entry *
                    (*_bfd_define_start_stop) (struct bfd_link_info *, const char *,
@@ -7594,8 +7629,7 @@ This enum gives the object file's CPU ar
 sense--i.e., what processor family does it belong to?  Another field
 indicates which processor within the family is in use.  The machine
 gives a number which distinguishes different versions of the
-architecture, containing, for example, 2 and 3 for Intel i960 KA and
-i960 KB, and 68020 and 68030 for Motorola 68020 and 68030.
+architecture, containing, for example, 68020 for Motorola 68020.
      enum bfd_architecture
      {
        bfd_arch_unknown,   /* File arch not known.  */
@@ -7633,23 +7667,6 @@ i960 KB, and 68020 and 68030 for Motorol
      #define bfd_mach_mcf_isa_c_nodiv_mac   30
      #define bfd_mach_mcf_isa_c_nodiv_emac  31
        bfd_arch_vax,       /* DEC Vax.  */
-       bfd_arch_i960,      /* Intel 960.  */
-         /* The order of the following is important.
-            lower number indicates a machine type that
-            only accepts a subset of the instructions
-            available to machines with higher numbers.
-            The exception is the "ca", which is
-            incompatible with all other machines except
-            "core".  */
-
-     #define bfd_mach_i960_core     1
-     #define bfd_mach_i960_ka_sa    2
-     #define bfd_mach_i960_kb_sb    3
-     #define bfd_mach_i960_mc       4
-     #define bfd_mach_i960_xa       5
-     #define bfd_mach_i960_ca       6
-     #define bfd_mach_i960_jx       7
-     #define bfd_mach_i960_hx       8
 
        bfd_arch_or1k,      /* OpenRISC 1000.  */
      #define bfd_mach_or1k          1
@@ -7765,13 +7782,8 @@ i960 KB, and 68020 and 68030 for Motorol
      #define bfd_mach_iamcu                 (1 << 8)
      #define bfd_mach_i386_iamcu            (bfd_mach_i386_i386 | bfd_mach_iamcu)
      #define bfd_mach_i386_iamcu_intel_syntax (bfd_mach_i386_iamcu | bfd_mach_i386_intel_syntax)
-       bfd_arch_we32k,     /* AT&T WE32xxx.  */
-       bfd_arch_tahoe,     /* CCI/Harris Tahoe.  */
-       bfd_arch_i860,      /* Intel 860.  */
-       bfd_arch_i370,      /* IBM 360/370 Mainframes.  */
        bfd_arch_romp,      /* IBM ROMP PC/RT.  */
        bfd_arch_convex,    /* Convex.  */
-       bfd_arch_m88k,      /* Motorola 88xxx.  */
        bfd_arch_m98k,      /* Motorola 98xxx.  */
        bfd_arch_pyramid,   /* Pyramid Technology.  */
        bfd_arch_h8300,     /* Renesas H8/300 (formerly Hitachi H8/300).  */
@@ -7834,10 +7846,11 @@ i960 KB, and 68020 and 68030 for Motorol
      #define bfd_mach_m6812s        2
        bfd_arch_m9s12x,    /* Freescale S12X.  */
        bfd_arch_m9s12xg,   /* Freescale XGATE.  */
+       bfd_arch_s12z,    /* Freescale S12Z.  */
+     #define bfd_mach_s12z_default 0
        bfd_arch_z8k,       /* Zilog Z8000.  */
      #define bfd_mach_z8001         1
      #define bfd_mach_z8002         2
-       bfd_arch_h8500,     /* Renesas H8/500 (formerly Hitachi H8/500).  */
        bfd_arch_sh,        /* Renesas / SuperH SH (formerly Hitachi SH).  */
      #define bfd_mach_sh                            1
      #define bfd_mach_sh2                           0x20
@@ -7859,7 +7872,6 @@ i960 KB, and 68020 and 68030 for Motorol
      #define bfd_mach_sh4a                          0x4a
      #define bfd_mach_sh4a_nofpu                    0x4b
      #define bfd_mach_sh4al_dsp                     0x4d
-     #define bfd_mach_sh5                           0x50
        bfd_arch_alpha,     /* Dec Alpha.  */
      #define bfd_mach_alpha_ev4     0x10
      #define bfd_mach_alpha_ev5     0x20
@@ -7879,6 +7891,19 @@ i960 KB, and 68020 and 68030 for Motorol
      #define bfd_mach_arm_ep9312    11
      #define bfd_mach_arm_iWMMXt    12
      #define bfd_mach_arm_iWMMXt2   13
+     #define bfd_mach_arm_5TEJ      14
+     #define bfd_mach_arm_6         15
+     #define bfd_mach_arm_6KZ       16
+     #define bfd_mach_arm_6T2       17
+     #define bfd_mach_arm_6K        18
+     #define bfd_mach_arm_7         19
+     #define bfd_mach_arm_6M        20
+     #define bfd_mach_arm_6SM       21
+     #define bfd_mach_arm_7EM       22
+     #define bfd_mach_arm_8         23
+     #define bfd_mach_arm_8R        24
+     #define bfd_mach_arm_8M_BASE   25
+     #define bfd_mach_arm_8M_MAIN   26
        bfd_arch_nds32,     /* Andes NDS32.  */
      #define bfd_mach_n1            1
      #define bfd_mach_n1h           2
@@ -7886,7 +7911,6 @@ i960 KB, and 68020 and 68030 for Motorol
      #define bfd_mach_n1h_v3        4
      #define bfd_mach_n1h_v3m       5
        bfd_arch_ns32k,     /* National Semiconductors ns32000.  */
-       bfd_arch_w65,       /* WDC 65816.  */
        bfd_arch_tic30,     /* Texas Instruments TMS320C30.  */
        bfd_arch_tic4x,     /* Texas Instruments TMS320C3X/4X.  */
      #define bfd_mach_tic3x         30
@@ -8067,6 +8091,9 @@ i960 KB, and 68020 and 68030 for Motorol
      #define bfd_mach_wasm32        1
        bfd_arch_pru,       /* PRU.  */
      #define bfd_mach_pru           0
+       bfd_arch_nfp,       /* Netronome Flow Processor */
+     #define bfd_mach_nfp3200       0x3200
+     #define bfd_mach_nfp6000       0x6000
        bfd_arch_last
        };
 
@@ -9444,7 +9471,21 @@ and FALSE on failure.
             BFD_SEND (output_bfd, _bfd_define_common_symbol, (output_bfd, info, h))
 
 
-2.17.3.7 'bfd_generic_define_start_stop'
+2.17.3.7 '_bfd_generic_link_hide_symbol'
+........................................
+
+*Synopsis*
+     void _bfd_generic_link_hide_symbol
+        (bfd *output_bfd, struct bfd_link_info *info,
+         struct bfd_link_hash_entry *h);
+   *Description*
+Hide symbol H.  This is an internal function.  It should not be called
+from outside the BFD library.
+     #define bfd_link_hide_symbol(output_bfd, info, h) \
+            BFD_SEND (output_bfd, _bfd_link_hide_symbol, (output_bfd, info, h))
+
+
+2.17.3.8 'bfd_generic_define_start_stop'
 ........................................
 
 *Synopsis*
@@ -9458,7 +9499,7 @@ symbol or NULL if no such undefined symb
             BFD_SEND (output_bfd, _bfd_define_start_stop, (info, symbol, sec))
 
 
-2.17.3.8 'bfd_find_version_for_sym'
+2.17.3.9 'bfd_find_version_for_sym'
 ...................................
 
 *Synopsis*
@@ -9470,8 +9511,8 @@ Search an elf version script tree for sy
 / don't-export status for a given symbol.  Return non-NULL on success
 and NULL on failure; also sets the output 'hide' boolean parameter.
 
-2.17.3.9 'bfd_hide_sym_by_version'
-..................................
+2.17.3.10 'bfd_hide_sym_by_version'
+...................................
 
 *Synopsis*
      bfd_boolean bfd_hide_sym_by_version
@@ -9480,7 +9521,7 @@ and NULL on failure; also sets the outpu
 Search an elf version script tree for symbol versioning info for a given
 symbol.  Return TRUE if the symbol is hidden.
 
-2.17.3.10 'bfd_link_check_relocs'
+2.17.3.11 'bfd_link_check_relocs'
 .................................
 
 *Synopsis*
@@ -9491,7 +9532,7 @@ Checks the relocs in ABFD for validity. 
 Return TRUE if everything is OK, FALSE otherwise.  This is the external
 entry point to this code.
 
-2.17.3.11 '_bfd_generic_link_check_relocs'
+2.17.3.12 '_bfd_generic_link_check_relocs'
 ..........................................
 
 *Synopsis*
@@ -9502,7 +9543,7 @@ Stub function for targets that do not im
 TRUE. This is an internal function.  It should not be called from
 outside the BFD library.
 
-2.17.3.12 'bfd_merge_private_bfd_data'
+2.17.3.13 'bfd_merge_private_bfd_data'
 ......................................
 
 *Synopsis*
@@ -9519,7 +9560,7 @@ error returns are:
             BFD_SEND ((info)->output_bfd, _bfd_merge_private_bfd_data, \
                       (ibfd, info))
 
-2.17.3.13 '_bfd_generic_verify_endian_match'
+2.17.3.14 '_bfd_generic_verify_endian_match'
 ............................................
 
 *Synopsis*
@@ -9815,12 +9856,12 @@ shape of the relocation information.
    The support is split into a basic support file 'aoutx.h' and other
 files which derive functions from the base.  One derivation file is
 'aoutf1.h' (for a.out flavour 1), and adds to the basic a.out functions
-support for sun3, sun4, 386 and 29k a.out files, to create a target jump
+support for sun3, sun4, and 386 a.out files, to create a target jump
 vector for a specific target.
 
    This information is further split out into more specific files for
-each machine, including 'sunos.c' for sun3 and sun4, 'newsos3.c' for the
-Sony NEWS, and 'demo64.c' for a demonstration of a 64 bit a.out format.
+each machine, including 'sunos.c' for sun3 and sun4, and 'demo64.c' for
+a demonstration of a 64 bit a.out format.
 
    The base file 'aoutx.h' defines general mechanisms for reading and
 writing records to and from disk and various other methods which BFD
@@ -9890,8 +9931,8 @@ The file 'aoutx.h' provides for both the
 of a.out relocation records.
 
    The standard records contain only an address, a symbol index, and a
-type field.  The extended records (used on 29ks and sparcs) also have a
-full integer for an addend.
+type field.  The extended records also have a full integer for an
+addend.
 
 3.2.2 Internal entry points
 ---------------------------
@@ -9998,16 +10039,12 @@ differences between formats are the size
 structures on disk, and the occasional extra field.
 
    Coff in all its varieties is implemented with a few common files and
-a number of implementation specific files.  For example, The 88k bcs
-coff format is implemented in the file 'coff-m88k.c'.  This file
-'#include's 'coff/m88k.h' which defines the external structure of the
-coff format for the 88k, and 'coff/internal.h' which defines the
-internal structure.  'coff-m88k.c' also defines the relocations used by
-the 88k format *Note Relocations::.
-
-   The Intel i960 processor version of coff is implemented in
-'coff-i960.c'.  This file has the same structure as 'coff-m88k.c',
-except that it includes 'coff/i960.h' rather than 'coff-m88k.h'.
+a number of implementation specific files.  For example, the i386 coff
+format is implemented in the file 'coff-i386.c'.  This file '#include's
+'coff/i386.h' which defines the external structure of the coff format
+for the i386, and 'coff/internal.h' which defines the internal
+structure.  'coff-i386.c' also defines the relocations used by the i386
+coff format *Note Relocations::.
 
 3.3.1 Porting to a new version of coff
 --------------------------------------
@@ -10056,13 +10093,6 @@ that are needed, and then include 'coffc
    Some of the Coff targets then also have additional routines in the
 target source file itself.
 
-   For example, 'coff-i960.c' includes 'coff/internal.h' and
-'coff/i960.h'.  It then defines a few constants, such as 'I960', and
-includes 'coffcode.h'.  Since the i960 has complex relocation types,
-'coff-i960.c' also includes some code to manipulate the i960 relocs.
-This code is not in 'coffcode.h' because it would not be used by any
-other target.
-
 3.3.2.2 Coff long section names
 ...............................
 
@@ -10653,10 +10683,8 @@ Coff relocations are easily transformed 
      canonicalization hasn't been done.
 
    * The reloc index is turned into a pointer to a howto structure, in a
-     back end specific way.  For instance, the 386 and 960 use the
-     'r_type' to directly produce an index into a howto table vector;
-     the 88k subtracts a number from the 'r_type' field and creates an
-     addend field.
+     back end specific way.  For instance, the 386 uses the 'r_type' to
+     directly produce an index into a howto table vector.
 
 
 File: bfd.info,  Node: elf,  Next: mmo,  Prev: coff,  Up: BFD back ends
@@ -11507,6 +11535,7 @@ BFD Index
 [index]
 * Menu:
 
+* _bfd_error_handler:                    Error reporting.    (line  111)
 * _bfd_final_link_relocate:              Relocating the section contents.
                                                              (line   22)
 * _bfd_generic_link_add_archive_symbols: Adding symbols from an archive.
@@ -11514,12 +11543,14 @@ BFD Index
 * _bfd_generic_link_add_one_symbol:      Adding symbols from an object file.
                                                              (line   19)
 * _bfd_generic_link_check_relocs:        Writing the symbol table.
-                                                             (line  130)
+                                                             (line  144)
+* _bfd_generic_link_hide_symbol:         Writing the symbol table.
+                                                             (line   83)
 * _bfd_generic_make_empty_symbol:        symbol handling functions.
                                                              (line   96)
-* _bfd_generic_set_reloc:                howto manager.      (line 3348)
+* _bfd_generic_set_reloc:                howto manager.      (line 3387)
 * _bfd_generic_verify_endian_match:      Writing the symbol table.
-                                                             (line  158)
+                                                             (line  172)
 * _bfd_link_add_symbols in target vector: Adding Symbols to the Hash Table.
                                                              (line    6)
 * _bfd_link_final_link in target vector: Performing the Final Link.
@@ -11528,7 +11559,7 @@ BFD Index
                                                              (line    6)
 * _bfd_relocate_contents:                Relocating the section contents.
                                                              (line   22)
-* _bfd_unrecognized_reloc:               howto manager.      (line 3360)
+* _bfd_unrecognized_reloc:               howto manager.      (line 3399)
 * aout_SIZE_machine_type:                aout.               (line  145)
 * aout_SIZE_mkobject:                    aout.               (line  137)
 * aout_SIZE_new_section_hook:            aout.               (line  175)
@@ -11536,7 +11567,7 @@ BFD Index
 * aout_SIZE_some_aout_object_p:          aout.               (line  123)
 * aout_SIZE_swap_exec_header_in:         aout.               (line   99)
 * aout_SIZE_swap_exec_header_out:        aout.               (line  111)
-* arelent_chain:                         typedef arelent.    (line  341)
+* arelent_chain:                         typedef arelent.    (line  339)
 * BFD:                                   Overview.           (line    6)
 * BFD canonical format:                  Canonical format.   (line   11)
 * bfd_alloc:                             Opening and Closing.
@@ -11544,32 +11575,32 @@ BFD Index
 * bfd_alloc2:                            Opening and Closing.
                                                              (line  248)
 * bfd_alt_mach_code:                     Miscellaneous.      (line  288)
-* bfd_arch_bits_per_address:             Architectures.      (line  639)
-* bfd_arch_bits_per_byte:                Architectures.      (line  631)
-* bfd_arch_default_fill:                 Architectures.      (line  720)
-* bfd_arch_get_compatible:               Architectures.      (line  574)
-* bfd_arch_list:                         Architectures.      (line  565)
-* bfd_arch_mach_octets_per_byte:         Architectures.      (line  708)
-* BFD_ARELOC_BFIN_ADD:                   howto manager.      (line 1096)
-* BFD_ARELOC_BFIN_ADDR:                  howto manager.      (line 1130)
-* BFD_ARELOC_BFIN_AND:                   howto manager.      (line 1110)
-* BFD_ARELOC_BFIN_COMP:                  howto manager.      (line 1124)
-* BFD_ARELOC_BFIN_CONST:                 howto manager.      (line 1094)
-* BFD_ARELOC_BFIN_DIV:                   howto manager.      (line 1102)
-* BFD_ARELOC_BFIN_HWPAGE:                howto manager.      (line 1128)
-* BFD_ARELOC_BFIN_LAND:                  howto manager.      (line 1116)
-* BFD_ARELOC_BFIN_LEN:                   howto manager.      (line 1120)
-* BFD_ARELOC_BFIN_LOR:                   howto manager.      (line 1118)
-* BFD_ARELOC_BFIN_LSHIFT:                howto manager.      (line 1106)
-* BFD_ARELOC_BFIN_MOD:                   howto manager.      (line 1104)
-* BFD_ARELOC_BFIN_MULT:                  howto manager.      (line 1100)
-* BFD_ARELOC_BFIN_NEG:                   howto manager.      (line 1122)
-* BFD_ARELOC_BFIN_OR:                    howto manager.      (line 1112)
-* BFD_ARELOC_BFIN_PAGE:                  howto manager.      (line 1126)
-* BFD_ARELOC_BFIN_PUSH:                  howto manager.      (line 1092)
-* BFD_ARELOC_BFIN_RSHIFT:                howto manager.      (line 1108)
-* BFD_ARELOC_BFIN_SUB:                   howto manager.      (line 1098)
-* BFD_ARELOC_BFIN_XOR:                   howto manager.      (line 1114)
+* bfd_arch_bits_per_address:             Architectures.      (line  631)
+* bfd_arch_bits_per_byte:                Architectures.      (line  623)
+* bfd_arch_default_fill:                 Architectures.      (line  712)
+* bfd_arch_get_compatible:               Architectures.      (line  566)
+* bfd_arch_list:                         Architectures.      (line  557)
+* bfd_arch_mach_octets_per_byte:         Architectures.      (line  700)
+* BFD_ARELOC_BFIN_ADD:                   howto manager.      (line 1100)
+* BFD_ARELOC_BFIN_ADDR:                  howto manager.      (line 1134)
+* BFD_ARELOC_BFIN_AND:                   howto manager.      (line 1114)
+* BFD_ARELOC_BFIN_COMP:                  howto manager.      (line 1128)
+* BFD_ARELOC_BFIN_CONST:                 howto manager.      (line 1098)
+* BFD_ARELOC_BFIN_DIV:                   howto manager.      (line 1106)
+* BFD_ARELOC_BFIN_HWPAGE:                howto manager.      (line 1132)
+* BFD_ARELOC_BFIN_LAND:                  howto manager.      (line 1120)
+* BFD_ARELOC_BFIN_LEN:                   howto manager.      (line 1124)
+* BFD_ARELOC_BFIN_LOR:                   howto manager.      (line 1122)
+* BFD_ARELOC_BFIN_LSHIFT:                howto manager.      (line 1110)
+* BFD_ARELOC_BFIN_MOD:                   howto manager.      (line 1108)
+* BFD_ARELOC_BFIN_MULT:                  howto manager.      (line 1104)
+* BFD_ARELOC_BFIN_NEG:                   howto manager.      (line 1126)
+* BFD_ARELOC_BFIN_OR:                    howto manager.      (line 1116)
+* BFD_ARELOC_BFIN_PAGE:                  howto manager.      (line 1130)
+* BFD_ARELOC_BFIN_PUSH:                  howto manager.      (line 1096)
+* BFD_ARELOC_BFIN_RSHIFT:                howto manager.      (line 1112)
+* BFD_ARELOC_BFIN_SUB:                   howto manager.      (line 1102)
+* BFD_ARELOC_BFIN_XOR:                   howto manager.      (line 1118)
 * bfd_cache_close:                       File Caching.       (line   25)
 * bfd_cache_close_all:                   File Caching.       (line   38)
 * bfd_cache_init:                        File Caching.       (line   17)
@@ -11581,17 +11612,17 @@ BFD Index
 * bfd_check_compression_header:          Miscellaneous.      (line  360)
 * bfd_check_format:                      Formats.            (line   20)
 * bfd_check_format_matches:              Formats.            (line   51)
-* bfd_check_overflow:                    typedef arelent.    (line  354)
+* bfd_check_overflow:                    typedef arelent.    (line  352)
 * bfd_close:                             Opening and Closing.
                                                              (line  161)
 * bfd_close_all_done:                    Opening and Closing.
                                                              (line  179)
-* bfd_coff_backend_data:                 coff.               (line  307)
+* bfd_coff_backend_data:                 coff.               (line  296)
 * bfd_convert_section_contents:          Miscellaneous.      (line  396)
 * bfd_convert_section_size:              Miscellaneous.      (line  386)
 * bfd_copy_private_bfd_data:             Miscellaneous.      (line  159)
 * bfd_copy_private_header_data:          Miscellaneous.      (line  142)
-* bfd_copy_private_section_data:         section prototypes. (line  287)
+* bfd_copy_private_section_data:         section prototypes. (line  279)
 * bfd_copy_private_symbol_data:          symbol handling functions.
                                                              (line  145)
 * bfd_core_file_failing_command:         Core Files.         (line   11)
@@ -11603,11 +11634,11 @@ BFD Index
                                                              (line  431)
 * bfd_decode_symclass:                   symbol handling functions.
                                                              (line  116)
-* bfd_default_arch_struct:               Architectures.      (line  586)
-* bfd_default_compatible:                Architectures.      (line  648)
-* bfd_default_reloc_type_lookup:         howto manager.      (line 3272)
-* bfd_default_scan:                      Architectures.      (line  657)
-* bfd_default_set_arch_mach:             Architectures.      (line  604)
+* bfd_default_arch_struct:               Architectures.      (line  578)
+* bfd_default_compatible:                Architectures.      (line  640)
+* bfd_default_reloc_type_lookup:         howto manager.      (line 3311)
+* bfd_default_scan:                      Architectures.      (line  649)
+* bfd_default_set_arch_mach:             Architectures.      (line  596)
 * bfd_demangle:                          Miscellaneous.      (line  339)
 * bfd_emul_get_commonpagesize:           Miscellaneous.      (line  319)
 * bfd_emul_get_maxpagesize:              Miscellaneous.      (line  299)
@@ -11618,10 +11649,10 @@ BFD Index
                                                              (line   56)
 * bfd_fill_in_gnu_debuglink_section:     Opening and Closing.
                                                              (line  445)
-* bfd_find_target:                       bfd_target.         (line  493)
+* bfd_find_target:                       bfd_target.         (line  495)
 * bfd_find_version_for_sym:              Writing the symbol table.
-                                                             (line   97)
-* bfd_flavour_name:                      bfd_target.         (line  556)
+                                                             (line  111)
+* bfd_flavour_name:                      bfd_target.         (line  558)
 * bfd_follow_build_id_debuglink:         Opening and Closing.
                                                              (line  505)
 * bfd_follow_gnu_debugaltlink:           Opening and Closing.
@@ -11634,18 +11665,18 @@ BFD Index
 * bfd_generic_define_common_symbol:      Writing the symbol table.
                                                              (line   69)
 * bfd_generic_define_start_stop:         Writing the symbol table.
-                                                             (line   83)
-* bfd_generic_discard_group:             section prototypes. (line  312)
-* bfd_generic_gc_sections:               howto manager.      (line 3303)
-* bfd_generic_get_relocated_section_contents: howto manager. (line 3333)
-* bfd_generic_is_group_section:          section prototypes. (line  304)
-* bfd_generic_lookup_section_flags:      howto manager.      (line 3313)
-* bfd_generic_merge_sections:            howto manager.      (line 3323)
-* bfd_generic_relax_section:             howto manager.      (line 3290)
+                                                             (line   97)
+* bfd_generic_discard_group:             section prototypes. (line  304)
+* bfd_generic_gc_sections:               howto manager.      (line 3342)
+* bfd_generic_get_relocated_section_contents: howto manager. (line 3372)
+* bfd_generic_is_group_section:          section prototypes. (line  296)
+* bfd_generic_lookup_section_flags:      howto manager.      (line 3352)
+* bfd_generic_merge_sections:            howto manager.      (line 3362)
+* bfd_generic_relax_section:             howto manager.      (line 3329)
 * bfd_get_alt_debug_link_info:           Opening and Closing.
                                                              (line  329)
-* bfd_get_arch:                          Architectures.      (line  615)
-* bfd_get_arch_info:                     Architectures.      (line  667)
+* bfd_get_arch:                          Architectures.      (line  607)
+* bfd_get_arch_info:                     Architectures.      (line  659)
 * bfd_get_arch_size:                     Miscellaneous.      (line   63)
 * bfd_get_compression_header_size:       Miscellaneous.      (line  375)
 * bfd_get_debug_link_info:               Opening and Closing.
@@ -11656,23 +11687,22 @@ BFD Index
 * bfd_get_file_size:                     Miscellaneous.      (line  485)
 * bfd_get_gp_size:                       Miscellaneous.      (line  106)
 * bfd_get_linker_section:                section prototypes. (line   37)
-* bfd_get_mach:                          Architectures.      (line  623)
+* bfd_get_mach:                          Architectures.      (line  615)
 * bfd_get_mtime:                         Miscellaneous.      (line  448)
 * bfd_get_next_mapent:                   Archives.           (line   57)
 * bfd_get_next_section_by_name:          section prototypes. (line   25)
-* bfd_get_next_section_id:               section prototypes. (line  154)
-* bfd_get_reloc_code_name:               howto manager.      (line 3281)
-* bfd_get_reloc_size:                    typedef arelent.    (line  332)
+* bfd_get_reloc_code_name:               howto manager.      (line 3320)
+* bfd_get_reloc_size:                    typedef arelent.    (line  330)
 * bfd_get_reloc_upper_bound:             Miscellaneous.      (line    8)
 * bfd_get_section_by_name:               section prototypes. (line   16)
 * bfd_get_section_by_name_if:            section prototypes. (line   46)
-* bfd_get_section_contents:              section prototypes. (line  260)
+* bfd_get_section_contents:              section prototypes. (line  252)
 * bfd_get_sign_extend_vma:               Miscellaneous.      (line   78)
 * bfd_get_size:                          Miscellaneous.      (line  457)
 * bfd_get_size <1>:                      Internal.           (line   24)
 * bfd_get_symtab_upper_bound:            symbol handling functions.
                                                              (line    5)
-* bfd_get_target_info:                   bfd_target.         (line  509)
+* bfd_get_target_info:                   bfd_target.         (line  511)
 * bfd_get_unique_section_name:           section prototypes. (line   65)
 * bfd_hash_allocate:                     Creating and Freeing a Hash Table.
                                                              (line   17)
@@ -11691,10 +11721,10 @@ BFD Index
 * bfd_hash_traverse:                     Traversing a Hash Table.
                                                              (line    6)
 * bfd_hide_sym_by_version:               Writing the symbol table.
-                                                             (line  109)
+                                                             (line  123)
 * bfd_h_put_size:                        Internal.           (line   97)
 * bfd_init:                              Initialization.     (line   10)
-* bfd_install_relocation:                typedef arelent.    (line  408)
+* bfd_install_relocation:                typedef arelent.    (line  406)
 * bfd_is_local_label:                    symbol handling functions.
                                                              (line   17)
 * bfd_is_local_label_name:               symbol handling functions.
@@ -11703,13 +11733,13 @@ BFD Index
                                                              (line   39)
 * bfd_is_undefined_symclass:             symbol handling functions.
                                                              (line  125)
-* bfd_iterate_over_targets:              bfd_target.         (line  544)
+* bfd_iterate_over_targets:              bfd_target.         (line  546)
 * bfd_link_check_relocs:                 Writing the symbol table.
-                                                             (line  119)
+                                                             (line  133)
 * bfd_link_split_section:                Writing the symbol table.
                                                              (line   43)
 * bfd_log2:                              Internal.           (line  166)
-* bfd_lookup_arch:                       Architectures.      (line  675)
+* bfd_lookup_arch:                       Architectures.      (line  667)
 * bfd_make_debug_symbol:                 symbol handling functions.
                                                              (line  106)
 * bfd_make_empty_symbol:                 symbol handling functions.
@@ -11723,12 +11753,12 @@ BFD Index
 * bfd_make_section_with_flags:           section prototypes. (line  131)
 * bfd_make_writable:                     Opening and Closing.
                                                              (line  211)
-* bfd_malloc_and_get_section:            section prototypes. (line  277)
-* bfd_map_over_sections:                 section prototypes. (line  186)
+* bfd_malloc_and_get_section:            section prototypes. (line  269)
+* bfd_map_over_sections:                 section prototypes. (line  178)
 * bfd_merge_private_bfd_data:            Writing the symbol table.
-                                                             (line  141)
+                                                             (line  155)
 * bfd_mmap:                              Miscellaneous.      (line  494)
-* bfd_octets_per_byte:                   Architectures.      (line  698)
+* bfd_octets_per_byte:                   Architectures.      (line  690)
 * bfd_openr:                             Opening and Closing.
                                                              (line   37)
 * bfd_openr_iovec:                       Opening and Closing.
@@ -11739,2301 +11769,2300 @@ BFD Index
 * bfd_openw:                             Opening and Closing.
                                                              (line  146)
 * bfd_open_file:                         File Caching.       (line   51)
-* bfd_perform_relocation:                typedef arelent.    (line  383)
+* bfd_perform_relocation:                typedef arelent.    (line  381)
 * bfd_perror:                            Error reporting.    (line   87)
-* bfd_printable_arch_mach:               Architectures.      (line  686)
-* bfd_printable_name:                    Architectures.      (line  546)
+* bfd_printable_arch_mach:               Architectures.      (line  678)
+* bfd_printable_name:                    Architectures.      (line  538)
 * bfd_print_symbol_vandf:                symbol handling functions.
                                                              (line   73)
 * bfd_put_size:                          Internal.           (line   21)
 * BFD_RELOC_12_PCREL:                    howto manager.      (line   37)
 * BFD_RELOC_14:                          howto manager.      (line   30)
 * BFD_RELOC_16:                          howto manager.      (line   29)
-* BFD_RELOC_16C_ABS20:                   howto manager.      (line 2221)
-* BFD_RELOC_16C_ABS20_C:                 howto manager.      (line 2222)
-* BFD_RELOC_16C_ABS24:                   howto manager.      (line 2223)
-* BFD_RELOC_16C_ABS24_C:                 howto manager.      (line 2224)
-* BFD_RELOC_16C_DISP04:                  howto manager.      (line 2201)
-* BFD_RELOC_16C_DISP04_C:                howto manager.      (line 2202)
-* BFD_RELOC_16C_DISP08:                  howto manager.      (line 2203)
-* BFD_RELOC_16C_DISP08_C:                howto manager.      (line 2204)
-* BFD_RELOC_16C_DISP16:                  howto manager.      (line 2205)
-* BFD_RELOC_16C_DISP16_C:                howto manager.      (line 2206)
-* BFD_RELOC_16C_DISP24:                  howto manager.      (line 2207)
-* BFD_RELOC_16C_DISP24a:                 howto manager.      (line 2209)
-* BFD_RELOC_16C_DISP24a_C:               howto manager.      (line 2210)
-* BFD_RELOC_16C_DISP24_C:                howto manager.      (line 2208)
-* BFD_RELOC_16C_IMM04:                   howto manager.      (line 2225)
-* BFD_RELOC_16C_IMM04_C:                 howto manager.      (line 2226)
-* BFD_RELOC_16C_IMM16:                   howto manager.      (line 2227)
-* BFD_RELOC_16C_IMM16_C:                 howto manager.      (line 2228)
-* BFD_RELOC_16C_IMM20:                   howto manager.      (line 2229)
-* BFD_RELOC_16C_IMM20_C:                 howto manager.      (line 2230)
-* BFD_RELOC_16C_IMM24:                   howto manager.      (line 2231)
-* BFD_RELOC_16C_IMM24_C:                 howto manager.      (line 2232)
-* BFD_RELOC_16C_IMM32:                   howto manager.      (line 2233)
-* BFD_RELOC_16C_IMM32_C:                 howto manager.      (line 2234)
-* BFD_RELOC_16C_NUM08:                   howto manager.      (line 2195)
-* BFD_RELOC_16C_NUM08_C:                 howto manager.      (line 2196)
-* BFD_RELOC_16C_NUM16:                   howto manager.      (line 2197)
-* BFD_RELOC_16C_NUM16_C:                 howto manager.      (line 2198)
-* BFD_RELOC_16C_NUM32:                   howto manager.      (line 2199)
-* BFD_RELOC_16C_NUM32_C:                 howto manager.      (line 2200)
-* BFD_RELOC_16C_REG04:                   howto manager.      (line 2211)
-* BFD_RELOC_16C_REG04a:                  howto manager.      (line 2213)
-* BFD_RELOC_16C_REG04a_C:                howto manager.      (line 2214)
-* BFD_RELOC_16C_REG04_C:                 howto manager.      (line 2212)
-* BFD_RELOC_16C_REG14:                   howto manager.      (line 2215)
-* BFD_RELOC_16C_REG14_C:                 howto manager.      (line 2216)
-* BFD_RELOC_16C_REG16:                   howto manager.      (line 2217)
-* BFD_RELOC_16C_REG16_C:                 howto manager.      (line 2218)
-* BFD_RELOC_16C_REG20:                   howto manager.      (line 2219)
-* BFD_RELOC_16C_REG20_C:                 howto manager.      (line 2220)
-* BFD_RELOC_16_BASEREL:                  howto manager.      (line   92)
-* BFD_RELOC_16_GOTOFF:                   howto manager.      (line   51)
-* BFD_RELOC_16_GOT_PCREL:                howto manager.      (line   48)
+* BFD_RELOC_16C_ABS20:                   howto manager.      (line 2229)
+* BFD_RELOC_16C_ABS20_C:                 howto manager.      (line 2230)
+* BFD_RELOC_16C_ABS24:                   howto manager.      (line 2231)
+* BFD_RELOC_16C_ABS24_C:                 howto manager.      (line 2232)
+* BFD_RELOC_16C_DISP04:                  howto manager.      (line 2209)
+* BFD_RELOC_16C_DISP04_C:                howto manager.      (line 2210)
+* BFD_RELOC_16C_DISP08:                  howto manager.      (line 2211)
+* BFD_RELOC_16C_DISP08_C:                howto manager.      (line 2212)
+* BFD_RELOC_16C_DISP16:                  howto manager.      (line 2213)
+* BFD_RELOC_16C_DISP16_C:                howto manager.      (line 2214)
+* BFD_RELOC_16C_DISP24:                  howto manager.      (line 2215)
+* BFD_RELOC_16C_DISP24a:                 howto manager.      (line 2217)
+* BFD_RELOC_16C_DISP24a_C:               howto manager.      (line 2218)
+* BFD_RELOC_16C_DISP24_C:                howto manager.      (line 2216)
+* BFD_RELOC_16C_IMM04:                   howto manager.      (line 2233)
+* BFD_RELOC_16C_IMM04_C:                 howto manager.      (line 2234)
+* BFD_RELOC_16C_IMM16:                   howto manager.      (line 2235)
+* BFD_RELOC_16C_IMM16_C:                 howto manager.      (line 2236)
+* BFD_RELOC_16C_IMM20:                   howto manager.      (line 2237)
+* BFD_RELOC_16C_IMM20_C:                 howto manager.      (line 2238)
+* BFD_RELOC_16C_IMM24:                   howto manager.      (line 2239)
+* BFD_RELOC_16C_IMM24_C:                 howto manager.      (line 2240)
+* BFD_RELOC_16C_IMM32:                   howto manager.      (line 2241)
+* BFD_RELOC_16C_IMM32_C:                 howto manager.      (line 2242)
+* BFD_RELOC_16C_NUM08:                   howto manager.      (line 2203)
+* BFD_RELOC_16C_NUM08_C:                 howto manager.      (line 2204)
+* BFD_RELOC_16C_NUM16:                   howto manager.      (line 2205)
+* BFD_RELOC_16C_NUM16_C:                 howto manager.      (line 2206)
+* BFD_RELOC_16C_NUM32:                   howto manager.      (line 2207)
+* BFD_RELOC_16C_NUM32_C:                 howto manager.      (line 2208)
+* BFD_RELOC_16C_REG04:                   howto manager.      (line 2219)
+* BFD_RELOC_16C_REG04a:                  howto manager.      (line 2221)
+* BFD_RELOC_16C_REG04a_C:                howto manager.      (line 2222)
+* BFD_RELOC_16C_REG04_C:                 howto manager.      (line 2220)
+* BFD_RELOC_16C_REG14:                   howto manager.      (line 2223)
+* BFD_RELOC_16C_REG14_C:                 howto manager.      (line 2224)
+* BFD_RELOC_16C_REG16:                   howto manager.      (line 2225)
+* BFD_RELOC_16C_REG16_C:                 howto manager.      (line 2226)
+* BFD_RELOC_16C_REG20:                   howto manager.      (line 2227)
+* BFD_RELOC_16C_REG20_C:                 howto manager.      (line 2228)
+* BFD_RELOC_16_BASEREL:                  howto manager.      (line   90)
+* BFD_RELOC_16_GOTOFF:                   howto manager.      (line   49)
+* BFD_RELOC_16_GOT_PCREL:                howto manager.      (line   46)
 * BFD_RELOC_16_PCREL:                    howto manager.      (line   36)
-* BFD_RELOC_16_PCREL_S2:                 howto manager.      (line  102)
-* BFD_RELOC_16_PLTOFF:                   howto manager.      (line   63)
-* BFD_RELOC_16_PLT_PCREL:                howto manager.      (line   59)
-* BFD_RELOC_23_PCREL_S2:                 howto manager.      (line  103)
+* BFD_RELOC_16_PCREL_S2:                 howto manager.      (line  100)
+* BFD_RELOC_16_PLTOFF:                   howto manager.      (line   61)
+* BFD_RELOC_16_PLT_PCREL:                howto manager.      (line   57)
+* BFD_RELOC_23_PCREL_S2:                 howto manager.      (line  101)
 * BFD_RELOC_24:                          howto manager.      (line   28)
 * BFD_RELOC_24_PCREL:                    howto manager.      (line   35)
-* BFD_RELOC_24_PLT_PCREL:                howto manager.      (line   58)
+* BFD_RELOC_24_PLT_PCREL:                howto manager.      (line   56)
 * BFD_RELOC_26:                          howto manager.      (line   27)
 * BFD_RELOC_32:                          howto manager.      (line   26)
-* BFD_RELOC_32_BASEREL:                  howto manager.      (line   91)
-* BFD_RELOC_32_GOTOFF:                   howto manager.      (line   50)
-* BFD_RELOC_32_GOT_PCREL:                howto manager.      (line   47)
+* BFD_RELOC_32_BASEREL:                  howto manager.      (line   89)
+* BFD_RELOC_32_GOTOFF:                   howto manager.      (line   48)
+* BFD_RELOC_32_GOT_PCREL:                howto manager.      (line   45)
 * BFD_RELOC_32_PCREL:                    howto manager.      (line   34)
-* BFD_RELOC_32_PCREL_S2:                 howto manager.      (line  101)
-* BFD_RELOC_32_PLTOFF:                   howto manager.      (line   62)
-* BFD_RELOC_32_PLT_PCREL:                howto manager.      (line   57)
-* BFD_RELOC_32_SECREL:                   howto manager.      (line   45)
-* BFD_RELOC_386_COPY:                    howto manager.      (line  527)
-* BFD_RELOC_386_GLOB_DAT:                howto manager.      (line  528)
-* BFD_RELOC_386_GOT32:                   howto manager.      (line  525)
-* BFD_RELOC_386_GOT32X:                  howto manager.      (line  549)
-* BFD_RELOC_386_GOTOFF:                  howto manager.      (line  531)
-* BFD_RELOC_386_GOTPC:                   howto manager.      (line  532)
-* BFD_RELOC_386_IRELATIVE:               howto manager.      (line  548)
-* BFD_RELOC_386_JUMP_SLOT:               howto manager.      (line  529)
-* BFD_RELOC_386_PLT32:                   howto manager.      (line  526)
-* BFD_RELOC_386_RELATIVE:                howto manager.      (line  530)
-* BFD_RELOC_386_TLS_DESC:                howto manager.      (line  547)
-* BFD_RELOC_386_TLS_DESC_CALL:           howto manager.      (line  546)
-* BFD_RELOC_386_TLS_DTPMOD32:            howto manager.      (line  542)
-* BFD_RELOC_386_TLS_DTPOFF32:            howto manager.      (line  543)
-* BFD_RELOC_386_TLS_GD:                  howto manager.      (line  537)
-* BFD_RELOC_386_TLS_GOTDESC:             howto manager.      (line  545)
-* BFD_RELOC_386_TLS_GOTIE:               howto manager.      (line  535)
-* BFD_RELOC_386_TLS_IE:                  howto manager.      (line  534)
-* BFD_RELOC_386_TLS_IE_32:               howto manager.      (line  540)
-* BFD_RELOC_386_TLS_LDM:                 howto manager.      (line  538)
-* BFD_RELOC_386_TLS_LDO_32:              howto manager.      (line  539)
-* BFD_RELOC_386_TLS_LE:                  howto manager.      (line  536)
-* BFD_RELOC_386_TLS_LE_32:               howto manager.      (line  541)
-* BFD_RELOC_386_TLS_TPOFF:               howto manager.      (line  533)
-* BFD_RELOC_386_TLS_TPOFF32:             howto manager.      (line  544)
-* BFD_RELOC_390_12:                      howto manager.      (line 1885)
-* BFD_RELOC_390_20:                      howto manager.      (line 1966)
-* BFD_RELOC_390_COPY:                    howto manager.      (line 1891)
-* BFD_RELOC_390_GLOB_DAT:                howto manager.      (line 1893)
-* BFD_RELOC_390_GOT12:                   howto manager.      (line 1887)
-* BFD_RELOC_390_GOT16:                   howto manager.      (line 1901)
-* BFD_RELOC_390_GOT20:                   howto manager.      (line 1967)
-* BFD_RELOC_390_GOT64:                   howto manager.      (line 1921)
-* BFD_RELOC_390_GOTENT:                  howto manager.      (line 1925)
-* BFD_RELOC_390_GOTOFF64:                howto manager.      (line 1927)
-* BFD_RELOC_390_GOTPC:                   howto manager.      (line 1899)
-* BFD_RELOC_390_GOTPCDBL:                howto manager.      (line 1919)
-* BFD_RELOC_390_GOTPLT12:                howto manager.      (line 1929)
-* BFD_RELOC_390_GOTPLT16:                howto manager.      (line 1931)
-* BFD_RELOC_390_GOTPLT20:                howto manager.      (line 1968)
-* BFD_RELOC_390_GOTPLT32:                howto manager.      (line 1933)
-* BFD_RELOC_390_GOTPLT64:                howto manager.      (line 1935)
-* BFD_RELOC_390_GOTPLTENT:               howto manager.      (line 1937)
-* BFD_RELOC_390_IRELATIVE:               howto manager.      (line 1971)
-* BFD_RELOC_390_JMP_SLOT:                howto manager.      (line 1895)
-* BFD_RELOC_390_PC12DBL:                 howto manager.      (line 1903)
-* BFD_RELOC_390_PC16DBL:                 howto manager.      (line 1907)
-* BFD_RELOC_390_PC24DBL:                 howto manager.      (line 1911)
-* BFD_RELOC_390_PC32DBL:                 howto manager.      (line 1915)
-* BFD_RELOC_390_PLT12DBL:                howto manager.      (line 1905)
-* BFD_RELOC_390_PLT16DBL:                howto manager.      (line 1909)
-* BFD_RELOC_390_PLT24DBL:                howto manager.      (line 1913)
-* BFD_RELOC_390_PLT32:                   howto manager.      (line 1889)
-* BFD_RELOC_390_PLT32DBL:                howto manager.      (line 1917)
-* BFD_RELOC_390_PLT64:                   howto manager.      (line 1923)
-* BFD_RELOC_390_PLTOFF16:                howto manager.      (line 1939)
-* BFD_RELOC_390_PLTOFF32:                howto manager.      (line 1941)
-* BFD_RELOC_390_PLTOFF64:                howto manager.      (line 1943)
-* BFD_RELOC_390_RELATIVE:                howto manager.      (line 1897)
-* BFD_RELOC_390_TLS_DTPMOD:              howto manager.      (line 1962)
-* BFD_RELOC_390_TLS_DTPOFF:              howto manager.      (line 1963)
-* BFD_RELOC_390_TLS_GD32:                howto manager.      (line 1948)
-* BFD_RELOC_390_TLS_GD64:                howto manager.      (line 1949)
-* BFD_RELOC_390_TLS_GDCALL:              howto manager.      (line 1946)
-* BFD_RELOC_390_TLS_GOTIE12:             howto manager.      (line 1950)
-* BFD_RELOC_390_TLS_GOTIE20:             howto manager.      (line 1969)
-* BFD_RELOC_390_TLS_GOTIE32:             howto manager.      (line 1951)
-* BFD_RELOC_390_TLS_GOTIE64:             howto manager.      (line 1952)
-* BFD_RELOC_390_TLS_IE32:                howto manager.      (line 1955)
-* BFD_RELOC_390_TLS_IE64:                howto manager.      (line 1956)
-* BFD_RELOC_390_TLS_IEENT:               howto manager.      (line 1957)
-* BFD_RELOC_390_TLS_LDCALL:              howto manager.      (line 1947)
-* BFD_RELOC_390_TLS_LDM32:               howto manager.      (line 1953)
-* BFD_RELOC_390_TLS_LDM64:               howto manager.      (line 1954)
-* BFD_RELOC_390_TLS_LDO32:               howto manager.      (line 1960)
-* BFD_RELOC_390_TLS_LDO64:               howto manager.      (line 1961)
-* BFD_RELOC_390_TLS_LE32:                howto manager.      (line 1958)
-* BFD_RELOC_390_TLS_LE64:                howto manager.      (line 1959)
-* BFD_RELOC_390_TLS_LOAD:                howto manager.      (line 1945)
-* BFD_RELOC_390_TLS_TPOFF:               howto manager.      (line 1964)
+* BFD_RELOC_32_PCREL_S2:                 howto manager.      (line   99)
+* BFD_RELOC_32_PLTOFF:                   howto manager.      (line   60)
+* BFD_RELOC_32_PLT_PCREL:                howto manager.      (line   55)
+* BFD_RELOC_32_SECREL:                   howto manager.      (line   43)
+* BFD_RELOC_386_COPY:                    howto manager.      (line  523)
+* BFD_RELOC_386_GLOB_DAT:                howto manager.      (line  524)
+* BFD_RELOC_386_GOT32:                   howto manager.      (line  521)
+* BFD_RELOC_386_GOT32X:                  howto manager.      (line  545)
+* BFD_RELOC_386_GOTOFF:                  howto manager.      (line  527)
+* BFD_RELOC_386_GOTPC:                   howto manager.      (line  528)
+* BFD_RELOC_386_IRELATIVE:               howto manager.      (line  544)
+* BFD_RELOC_386_JUMP_SLOT:               howto manager.      (line  525)
+* BFD_RELOC_386_PLT32:                   howto manager.      (line  522)
+* BFD_RELOC_386_RELATIVE:                howto manager.      (line  526)
+* BFD_RELOC_386_TLS_DESC:                howto manager.      (line  543)
+* BFD_RELOC_386_TLS_DESC_CALL:           howto manager.      (line  542)
+* BFD_RELOC_386_TLS_DTPMOD32:            howto manager.      (line  538)
+* BFD_RELOC_386_TLS_DTPOFF32:            howto manager.      (line  539)
+* BFD_RELOC_386_TLS_GD:                  howto manager.      (line  533)
+* BFD_RELOC_386_TLS_GOTDESC:             howto manager.      (line  541)
+* BFD_RELOC_386_TLS_GOTIE:               howto manager.      (line  531)
+* BFD_RELOC_386_TLS_IE:                  howto manager.      (line  530)
+* BFD_RELOC_386_TLS_IE_32:               howto manager.      (line  536)
+* BFD_RELOC_386_TLS_LDM:                 howto manager.      (line  534)
+* BFD_RELOC_386_TLS_LDO_32:              howto manager.      (line  535)
+* BFD_RELOC_386_TLS_LE:                  howto manager.      (line  532)
+* BFD_RELOC_386_TLS_LE_32:               howto manager.      (line  537)
+* BFD_RELOC_386_TLS_TPOFF:               howto manager.      (line  529)
+* BFD_RELOC_386_TLS_TPOFF32:             howto manager.      (line  540)
+* BFD_RELOC_390_12:                      howto manager.      (line 1889)
+* BFD_RELOC_390_20:                      howto manager.      (line 1970)
+* BFD_RELOC_390_COPY:                    howto manager.      (line 1895)
+* BFD_RELOC_390_GLOB_DAT:                howto manager.      (line 1897)
+* BFD_RELOC_390_GOT12:                   howto manager.      (line 1891)
+* BFD_RELOC_390_GOT16:                   howto manager.      (line 1905)
+* BFD_RELOC_390_GOT20:                   howto manager.      (line 1971)
+* BFD_RELOC_390_GOT64:                   howto manager.      (line 1925)
+* BFD_RELOC_390_GOTENT:                  howto manager.      (line 1929)
+* BFD_RELOC_390_GOTOFF64:                howto manager.      (line 1931)
+* BFD_RELOC_390_GOTPC:                   howto manager.      (line 1903)
+* BFD_RELOC_390_GOTPCDBL:                howto manager.      (line 1923)
+* BFD_RELOC_390_GOTPLT12:                howto manager.      (line 1933)
+* BFD_RELOC_390_GOTPLT16:                howto manager.      (line 1935)
+* BFD_RELOC_390_GOTPLT20:                howto manager.      (line 1972)
+* BFD_RELOC_390_GOTPLT32:                howto manager.      (line 1937)
+* BFD_RELOC_390_GOTPLT64:                howto manager.      (line 1939)
+* BFD_RELOC_390_GOTPLTENT:               howto manager.      (line 1941)
+* BFD_RELOC_390_IRELATIVE:               howto manager.      (line 1975)
+* BFD_RELOC_390_JMP_SLOT:                howto manager.      (line 1899)
+* BFD_RELOC_390_PC12DBL:                 howto manager.      (line 1907)
+* BFD_RELOC_390_PC16DBL:                 howto manager.      (line 1911)
+* BFD_RELOC_390_PC24DBL:                 howto manager.      (line 1915)
+* BFD_RELOC_390_PC32DBL:                 howto manager.      (line 1919)
+* BFD_RELOC_390_PLT12DBL:                howto manager.      (line 1909)
+* BFD_RELOC_390_PLT16DBL:                howto manager.      (line 1913)
+* BFD_RELOC_390_PLT24DBL:                howto manager.      (line 1917)
+* BFD_RELOC_390_PLT32:                   howto manager.      (line 1893)
+* BFD_RELOC_390_PLT32DBL:                howto manager.      (line 1921)
+* BFD_RELOC_390_PLT64:                   howto manager.      (line 1927)
+* BFD_RELOC_390_PLTOFF16:                howto manager.      (line 1943)
+* BFD_RELOC_390_PLTOFF32:                howto manager.      (line 1945)
+* BFD_RELOC_390_PLTOFF64:                howto manager.      (line 1947)
+* BFD_RELOC_390_RELATIVE:                howto manager.      (line 1901)
+* BFD_RELOC_390_TLS_DTPMOD:              howto manager.      (line 1966)
+* BFD_RELOC_390_TLS_DTPOFF:              howto manager.      (line 1967)
+* BFD_RELOC_390_TLS_GD32:                howto manager.      (line 1952)
+* BFD_RELOC_390_TLS_GD64:                howto manager.      (line 1953)
+* BFD_RELOC_390_TLS_GDCALL:              howto manager.      (line 1950)
+* BFD_RELOC_390_TLS_GOTIE12:             howto manager.      (line 1954)
+* BFD_RELOC_390_TLS_GOTIE20:             howto manager.      (line 1973)
+* BFD_RELOC_390_TLS_GOTIE32:             howto manager.      (line 1955)
+* BFD_RELOC_390_TLS_GOTIE64:             howto manager.      (line 1956)
+* BFD_RELOC_390_TLS_IE32:                howto manager.      (line 1959)
+* BFD_RELOC_390_TLS_IE64:                howto manager.      (line 1960)
+* BFD_RELOC_390_TLS_IEENT:               howto manager.      (line 1961)
+* BFD_RELOC_390_TLS_LDCALL:              howto manager.      (line 1951)
+* BFD_RELOC_390_TLS_LDM32:               howto manager.      (line 1957)
+* BFD_RELOC_390_TLS_LDM64:               howto manager.      (line 1958)
+* BFD_RELOC_390_TLS_LDO32:               howto manager.      (line 1964)
+* BFD_RELOC_390_TLS_LDO64:               howto manager.      (line 1965)
+* BFD_RELOC_390_TLS_LE32:                howto manager.      (line 1962)
+* BFD_RELOC_390_TLS_LE64:                howto manager.      (line 1963)
+* BFD_RELOC_390_TLS_LOAD:                howto manager.      (line 1949)
+* BFD_RELOC_390_TLS_TPOFF:               howto manager.      (line 1968)
 * BFD_RELOC_64:                          howto manager.      (line   25)
 * BFD_RELOC_64_PCREL:                    howto manager.      (line   33)
-* BFD_RELOC_64_PLTOFF:                   howto manager.      (line   61)
-* BFD_RELOC_64_PLT_PCREL:                howto manager.      (line   56)
-* BFD_RELOC_68K_GLOB_DAT:                howto manager.      (line   72)
-* BFD_RELOC_68K_JMP_SLOT:                howto manager.      (line   73)
-* BFD_RELOC_68K_RELATIVE:                howto manager.      (line   74)
-* BFD_RELOC_68K_TLS_GD16:                howto manager.      (line   76)
-* BFD_RELOC_68K_TLS_GD32:                howto manager.      (line   75)
-* BFD_RELOC_68K_TLS_GD8:                 howto manager.      (line   77)
-* BFD_RELOC_68K_TLS_IE16:                howto manager.      (line   85)
-* BFD_RELOC_68K_TLS_IE32:                howto manager.      (line   84)
-* BFD_RELOC_68K_TLS_IE8:                 howto manager.      (line   86)
-* BFD_RELOC_68K_TLS_LDM16:               howto manager.      (line   79)
-* BFD_RELOC_68K_TLS_LDM32:               howto manager.      (line   78)
-* BFD_RELOC_68K_TLS_LDM8:                howto manager.      (line   80)
-* BFD_RELOC_68K_TLS_LDO16:               howto manager.      (line   82)
-* BFD_RELOC_68K_TLS_LDO32:               howto manager.      (line   81)
-* BFD_RELOC_68K_TLS_LDO8:                howto manager.      (line   83)
-* BFD_RELOC_68K_TLS_LE16:                howto manager.      (line   88)
-* BFD_RELOC_68K_TLS_LE32:                howto manager.      (line   87)
-* BFD_RELOC_68K_TLS_LE8:                 howto manager.      (line   89)
+* BFD_RELOC_64_PLTOFF:                   howto manager.      (line   59)
+* BFD_RELOC_64_PLT_PCREL:                howto manager.      (line   54)
+* BFD_RELOC_68K_GLOB_DAT:                howto manager.      (line   70)
+* BFD_RELOC_68K_JMP_SLOT:                howto manager.      (line   71)
+* BFD_RELOC_68K_RELATIVE:                howto manager.      (line   72)
+* BFD_RELOC_68K_TLS_GD16:                howto manager.      (line   74)
+* BFD_RELOC_68K_TLS_GD32:                howto manager.      (line   73)
+* BFD_RELOC_68K_TLS_GD8:                 howto manager.      (line   75)
+* BFD_RELOC_68K_TLS_IE16:                howto manager.      (line   83)
+* BFD_RELOC_68K_TLS_IE32:                howto manager.      (line   82)
+* BFD_RELOC_68K_TLS_IE8:                 howto manager.      (line   84)
+* BFD_RELOC_68K_TLS_LDM16:               howto manager.      (line   77)
+* BFD_RELOC_68K_TLS_LDM32:               howto manager.      (line   76)
+* BFD_RELOC_68K_TLS_LDM8:                howto manager.      (line   78)
+* BFD_RELOC_68K_TLS_LDO16:               howto manager.      (line   80)
+* BFD_RELOC_68K_TLS_LDO32:               howto manager.      (line   79)
+* BFD_RELOC_68K_TLS_LDO8:                howto manager.      (line   81)
+* BFD_RELOC_68K_TLS_LE16:                howto manager.      (line   86)
+* BFD_RELOC_68K_TLS_LE32:                howto manager.      (line   85)
+* BFD_RELOC_68K_TLS_LE8:                 howto manager.      (line   87)
 * BFD_RELOC_8:                           howto manager.      (line   31)
-* BFD_RELOC_860_COPY:                    howto manager.      (line 2336)
-* BFD_RELOC_860_GLOB_DAT:                howto manager.      (line 2337)
-* BFD_RELOC_860_HAGOT:                   howto manager.      (line 2362)
-* BFD_RELOC_860_HAGOTOFF:                howto manager.      (line 2363)
-* BFD_RELOC_860_HAPC:                    howto manager.      (line 2364)
-* BFD_RELOC_860_HIGH:                    howto manager.      (line 2365)
-* BFD_RELOC_860_HIGHADJ:                 howto manager.      (line 2361)
-* BFD_RELOC_860_HIGOT:                   howto manager.      (line 2366)
-* BFD_RELOC_860_HIGOTOFF:                howto manager.      (line 2367)
-* BFD_RELOC_860_JUMP_SLOT:               howto manager.      (line 2338)
-* BFD_RELOC_860_LOGOT0:                  howto manager.      (line 2350)
-* BFD_RELOC_860_LOGOT1:                  howto manager.      (line 2352)
-* BFD_RELOC_860_LOGOTOFF0:               howto manager.      (line 2354)
-* BFD_RELOC_860_LOGOTOFF1:               howto manager.      (line 2356)
-* BFD_RELOC_860_LOGOTOFF2:               howto manager.      (line 2358)
-* BFD_RELOC_860_LOGOTOFF3:               howto manager.      (line 2359)
-* BFD_RELOC_860_LOPC:                    howto manager.      (line 2360)
-* BFD_RELOC_860_LOW0:                    howto manager.      (line 2343)
-* BFD_RELOC_860_LOW1:                    howto manager.      (line 2345)
-* BFD_RELOC_860_LOW2:                    howto manager.      (line 2347)
-* BFD_RELOC_860_LOW3:                    howto manager.      (line 2349)
-* BFD_RELOC_860_PC16:                    howto manager.      (line 2342)
-* BFD_RELOC_860_PC26:                    howto manager.      (line 2340)
-* BFD_RELOC_860_PLT26:                   howto manager.      (line 2341)
-* BFD_RELOC_860_RELATIVE:                howto manager.      (line 2339)
-* BFD_RELOC_860_SPGOT0:                  howto manager.      (line 2351)
-* BFD_RELOC_860_SPGOT1:                  howto manager.      (line 2353)
-* BFD_RELOC_860_SPGOTOFF0:               howto manager.      (line 2355)
-* BFD_RELOC_860_SPGOTOFF1:               howto manager.      (line 2357)
-* BFD_RELOC_860_SPLIT0:                  howto manager.      (line 2344)
-* BFD_RELOC_860_SPLIT1:                  howto manager.      (line 2346)
-* BFD_RELOC_860_SPLIT2:                  howto manager.      (line 2348)
-* BFD_RELOC_8_BASEREL:                   howto manager.      (line   96)
-* BFD_RELOC_8_FFnn:                      howto manager.      (line   99)
-* BFD_RELOC_8_GOTOFF:                    howto manager.      (line   55)
-* BFD_RELOC_8_GOT_PCREL:                 howto manager.      (line   49)
+* BFD_RELOC_8_BASEREL:                   howto manager.      (line   94)
+* BFD_RELOC_8_FFnn:                      howto manager.      (line   97)
+* BFD_RELOC_8_GOTOFF:                    howto manager.      (line   53)
+* BFD_RELOC_8_GOT_PCREL:                 howto manager.      (line   47)
 * BFD_RELOC_8_PCREL:                     howto manager.      (line   38)
-* BFD_RELOC_8_PLTOFF:                    howto manager.      (line   67)
-* BFD_RELOC_8_PLT_PCREL:                 howto manager.      (line   60)
-* BFD_RELOC_AARCH64_16:                  howto manager.      (line 2741)
-* BFD_RELOC_AARCH64_16_PCREL:            howto manager.      (line 2747)
-* BFD_RELOC_AARCH64_32:                  howto manager.      (line 2740)
-* BFD_RELOC_AARCH64_32_PCREL:            howto manager.      (line 2746)
-* BFD_RELOC_AARCH64_64:                  howto manager.      (line 2739)
-* BFD_RELOC_AARCH64_64_PCREL:            howto manager.      (line 2745)
-* BFD_RELOC_AARCH64_ADD_LO12:            howto manager.      (line 2797)
-* BFD_RELOC_AARCH64_ADR_GOT_PAGE:        howto manager.      (line 2843)
-* BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:   howto manager.      (line 2793)
-* BFD_RELOC_AARCH64_ADR_HI21_PCREL:      howto manager.      (line 2790)
-* BFD_RELOC_AARCH64_ADR_LO21_PCREL:      howto manager.      (line 2787)
-* BFD_RELOC_AARCH64_BRANCH19:            howto manager.      (line 2809)
-* BFD_RELOC_AARCH64_CALL26:              howto manager.      (line 2817)
-* BFD_RELOC_AARCH64_COPY:                howto manager.      (line 2986)
-* BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP:  howto manager.      (line 3010)
-* BFD_RELOC_AARCH64_GLOB_DAT:            howto manager.      (line 2988)
-* BFD_RELOC_AARCH64_GOT_LD_PREL19:       howto manager.      (line 2837)
-* BFD_RELOC_AARCH64_IRELATIVE:           howto manager.      (line 3002)
-* BFD_RELOC_AARCH64_JUMP26:              howto manager.      (line 2813)
-* BFD_RELOC_AARCH64_JUMP_SLOT:           howto manager.      (line 2990)
-* BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:   howto manager.      (line 2864)
-* BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:    howto manager.      (line 2851)
-* BFD_RELOC_AARCH64_LD64_GOTOFF_LO15:    howto manager.      (line 2861)
-* BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:   howto manager.      (line 2867)
-* BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:    howto manager.      (line 2847)
-* BFD_RELOC_AARCH64_LDST128_LO12:        howto manager.      (line 2833)
-* BFD_RELOC_AARCH64_LDST16_LO12:         howto manager.      (line 2821)
-* BFD_RELOC_AARCH64_LDST32_LO12:         howto manager.      (line 2825)
-* BFD_RELOC_AARCH64_LDST64_LO12:         howto manager.      (line 2829)
-* BFD_RELOC_AARCH64_LDST8_LO12:          howto manager.      (line 2801)
-* BFD_RELOC_AARCH64_LDST_LO12:           howto manager.      (line 3013)
-* BFD_RELOC_AARCH64_LD_GOT_LO12_NC:      howto manager.      (line 3024)
-* BFD_RELOC_AARCH64_LD_LO19_PCREL:       howto manager.      (line 2783)
-* BFD_RELOC_AARCH64_MOVW_G0:             howto manager.      (line 2750)
-* BFD_RELOC_AARCH64_MOVW_G0_NC:          howto manager.      (line 2753)
-* BFD_RELOC_AARCH64_MOVW_G0_S:           howto manager.      (line 2771)
-* BFD_RELOC_AARCH64_MOVW_G1:             howto manager.      (line 2756)
-* BFD_RELOC_AARCH64_MOVW_G1_NC:          howto manager.      (line 2759)
-* BFD_RELOC_AARCH64_MOVW_G1_S:           howto manager.      (line 2775)
-* BFD_RELOC_AARCH64_MOVW_G2:             howto manager.      (line 2762)
-* BFD_RELOC_AARCH64_MOVW_G2_NC:          howto manager.      (line 2765)
-* BFD_RELOC_AARCH64_MOVW_G2_S:           howto manager.      (line 2779)
-* BFD_RELOC_AARCH64_MOVW_G3:             howto manager.      (line 2768)
-* BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC:   howto manager.      (line 2855)
-* BFD_RELOC_AARCH64_MOVW_GOTOFF_G1:      howto manager.      (line 2858)
-* BFD_RELOC_AARCH64_NONE:                howto manager.      (line 2737)
-* BFD_RELOC_AARCH64_NULL:                howto manager.      (line 2735)
-* BFD_RELOC_AARCH64_RELATIVE:            howto manager.      (line 2992)
-* BFD_RELOC_AARCH64_RELOC_END:           howto manager.      (line 3004)
-* BFD_RELOC_AARCH64_RELOC_START:         howto manager.      (line 2730)
-* BFD_RELOC_AARCH64_TLSDESC:             howto manager.      (line 3000)
-* BFD_RELOC_AARCH64_TLSDESC_ADD:         howto manager.      (line 2982)
-* BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:    howto manager.      (line 2974)
-* BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:  howto manager.      (line 2968)
-* BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:  howto manager.      (line 2966)
-* BFD_RELOC_AARCH64_TLSDESC_CALL:        howto manager.      (line 2984)
-* BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC: howto manager.     (line 2972)
-* BFD_RELOC_AARCH64_TLSDESC_LD64_LO12:   howto manager.      (line 2970)
-* BFD_RELOC_AARCH64_TLSDESC_LDR:         howto manager.      (line 2980)
-* BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC:  howto manager.      (line 3030)
-* BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:   howto manager.      (line 2964)
-* BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:   howto manager.      (line 2978)
-* BFD_RELOC_AARCH64_TLSDESC_OFF_G1:      howto manager.      (line 2976)
-* BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:   howto manager.      (line 2877)
-* BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:    howto manager.      (line 2870)
-* BFD_RELOC_AARCH64_TLSGD_ADR_PREL21:    howto manager.      (line 2875)
-* BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC:    howto manager.      (line 2881)
-* BFD_RELOC_AARCH64_TLSGD_MOVW_G1:       howto manager.      (line 2883)
+* BFD_RELOC_8_PLTOFF:                    howto manager.      (line   65)
+* BFD_RELOC_8_PLT_PCREL:                 howto manager.      (line   58)
+* BFD_RELOC_AARCH64_16:                  howto manager.      (line 2726)
+* BFD_RELOC_AARCH64_16_PCREL:            howto manager.      (line 2732)
+* BFD_RELOC_AARCH64_32:                  howto manager.      (line 2725)
+* BFD_RELOC_AARCH64_32_PCREL:            howto manager.      (line 2731)
+* BFD_RELOC_AARCH64_64:                  howto manager.      (line 2724)
+* BFD_RELOC_AARCH64_64_PCREL:            howto manager.      (line 2730)
+* BFD_RELOC_AARCH64_ADD_LO12:            howto manager.      (line 2805)
+* BFD_RELOC_AARCH64_ADR_GOT_PAGE:        howto manager.      (line 2851)
+* BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:   howto manager.      (line 2801)
+* BFD_RELOC_AARCH64_ADR_HI21_PCREL:      howto manager.      (line 2798)
+* BFD_RELOC_AARCH64_ADR_LO21_PCREL:      howto manager.      (line 2795)
+* BFD_RELOC_AARCH64_BRANCH19:            howto manager.      (line 2817)
+* BFD_RELOC_AARCH64_CALL26:              howto manager.      (line 2825)
+* BFD_RELOC_AARCH64_COPY:                howto manager.      (line 3018)
+* BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP:  howto manager.      (line 3042)
+* BFD_RELOC_AARCH64_GLOB_DAT:            howto manager.      (line 3020)
+* BFD_RELOC_AARCH64_GOT_LD_PREL19:       howto manager.      (line 2845)
+* BFD_RELOC_AARCH64_IRELATIVE:           howto manager.      (line 3034)
+* BFD_RELOC_AARCH64_JUMP26:              howto manager.      (line 2821)
+* BFD_RELOC_AARCH64_JUMP_SLOT:           howto manager.      (line 3022)
+* BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:   howto manager.      (line 2872)
+* BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:    howto manager.      (line 2859)
+* BFD_RELOC_AARCH64_LD64_GOTOFF_LO15:    howto manager.      (line 2869)
+* BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:   howto manager.      (line 2875)
+* BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:    howto manager.      (line 2855)
+* BFD_RELOC_AARCH64_LDST128_LO12:        howto manager.      (line 2841)
+* BFD_RELOC_AARCH64_LDST16_LO12:         howto manager.      (line 2829)
+* BFD_RELOC_AARCH64_LDST32_LO12:         howto manager.      (line 2833)
+* BFD_RELOC_AARCH64_LDST64_LO12:         howto manager.      (line 2837)
+* BFD_RELOC_AARCH64_LDST8_LO12:          howto manager.      (line 2809)
+* BFD_RELOC_AARCH64_LDST_LO12:           howto manager.      (line 3045)
+* BFD_RELOC_AARCH64_LD_GOT_LO12_NC:      howto manager.      (line 3063)
+* BFD_RELOC_AARCH64_LD_LO19_PCREL:       howto manager.      (line 2791)
+* BFD_RELOC_AARCH64_MOVW_G0:             howto manager.      (line 2735)
+* BFD_RELOC_AARCH64_MOVW_G0_NC:          howto manager.      (line 2738)
+* BFD_RELOC_AARCH64_MOVW_G0_S:           howto manager.      (line 2756)
+* BFD_RELOC_AARCH64_MOVW_G1:             howto manager.      (line 2741)
+* BFD_RELOC_AARCH64_MOVW_G1_NC:          howto manager.      (line 2744)
+* BFD_RELOC_AARCH64_MOVW_G1_S:           howto manager.      (line 2760)
+* BFD_RELOC_AARCH64_MOVW_G2:             howto manager.      (line 2747)
+* BFD_RELOC_AARCH64_MOVW_G2_NC:          howto manager.      (line 2750)
+* BFD_RELOC_AARCH64_MOVW_G2_S:           howto manager.      (line 2764)
+* BFD_RELOC_AARCH64_MOVW_G3:             howto manager.      (line 2753)
+* BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC:   howto manager.      (line 2863)
+* BFD_RELOC_AARCH64_MOVW_GOTOFF_G1:      howto manager.      (line 2866)
+* BFD_RELOC_AARCH64_MOVW_PREL_G0:        howto manager.      (line 2768)
+* BFD_RELOC_AARCH64_MOVW_PREL_G0_NC:     howto manager.      (line 2772)
+* BFD_RELOC_AARCH64_MOVW_PREL_G1:        howto manager.      (line 2776)
+* BFD_RELOC_AARCH64_MOVW_PREL_G1_NC:     howto manager.      (line 2779)
+* BFD_RELOC_AARCH64_MOVW_PREL_G2:        howto manager.      (line 2782)
+* BFD_RELOC_AARCH64_MOVW_PREL_G2_NC:     howto manager.      (line 2785)
+* BFD_RELOC_AARCH64_MOVW_PREL_G3:        howto manager.      (line 2788)
+* BFD_RELOC_AARCH64_NONE:                howto manager.      (line 2722)
+* BFD_RELOC_AARCH64_NULL:                howto manager.      (line 2720)
+* BFD_RELOC_AARCH64_RELATIVE:            howto manager.      (line 3024)
+* BFD_RELOC_AARCH64_RELOC_END:           howto manager.      (line 3036)
+* BFD_RELOC_AARCH64_RELOC_START:         howto manager.      (line 2715)
+* BFD_RELOC_AARCH64_TLSDESC:             howto manager.      (line 3032)
+* BFD_RELOC_AARCH64_TLSDESC_ADD:         howto manager.      (line 3014)
+* BFD_RELOC_AARCH64_TLSDESC_ADD_LO12:    howto manager.      (line 3006)
+* BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:  howto manager.      (line 3000)
+* BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:  howto manager.      (line 2998)
+* BFD_RELOC_AARCH64_TLSDESC_CALL:        howto manager.      (line 3016)
+* BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC: howto manager.     (line 3004)
+* BFD_RELOC_AARCH64_TLSDESC_LD64_LO12:   howto manager.      (line 3002)
+* BFD_RELOC_AARCH64_TLSDESC_LDR:         howto manager.      (line 3012)
+* BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC:  howto manager.      (line 3069)
+* BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:   howto manager.      (line 2996)
+* BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:   howto manager.      (line 3010)
+* BFD_RELOC_AARCH64_TLSDESC_OFF_G1:      howto manager.      (line 3008)
+* BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:   howto manager.      (line 2885)
+* BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:    howto manager.      (line 2878)
+* BFD_RELOC_AARCH64_TLSGD_ADR_PREL21:    howto manager.      (line 2883)
+* BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC:    howto manager.      (line 2889)
+* BFD_RELOC_AARCH64_TLSGD_MOVW_G1:       howto manager.      (line 2891)
 * BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21: howto manager.
-                                                             (line 2885)
+                                                             (line 2893)
 * BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC: howto manager.
-                                                             (line 2889)
+                                                             (line 2897)
 * BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC: howto manager.
-                                                             (line 2887)
+                                                             (line 2895)
 * BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC: howto manager.
-                                                             (line 3027)
-* BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19: howto manager. (line 2891)
+                                                             (line 3066)
+* BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19: howto manager. (line 2899)
 * BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC: howto manager.
-                                                             (line 2893)
-* BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1: howto manager.   (line 2895)
-* BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12: howto manager.    (line 2897)
-* BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12: howto manager.    (line 2899)
-* BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC: howto manager. (line 2901)
-* BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC:   howto manager.      (line 2904)
-* BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21:    howto manager.      (line 2908)
-* BFD_RELOC_AARCH64_TLSLD_ADR_PREL21:    howto manager.      (line 2911)
-* BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12: howto manager. (line 2914)
+                                                             (line 2901)
+* BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1: howto manager.   (line 2903)
+* BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12: howto manager.    (line 2905)
+* BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12: howto manager.    (line 2907)
+* BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC: howto manager. (line 2909)
+* BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC:   howto manager.      (line 2912)
+* BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21:    howto manager.      (line 2916)
+* BFD_RELOC_AARCH64_TLSLD_ADR_PREL21:    howto manager.      (line 2919)
+* BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12: howto manager. (line 2922)
 * BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC: howto manager.
-                                                             (line 2917)
-* BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12: howto manager. (line 2920)
+                                                             (line 2925)
+* BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12: howto manager. (line 2928)
 * BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC: howto manager.
-                                                             (line 2923)
-* BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12: howto manager. (line 2926)
+                                                             (line 2931)
+* BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12: howto manager. (line 2934)
 * BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC: howto manager.
-                                                             (line 2929)
-* BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12: howto manager.  (line 2932)
+                                                             (line 2937)
+* BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12: howto manager.  (line 2940)
 * BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC: howto manager.
-                                                             (line 2935)
-* BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12: howto manager.   (line 3017)
+                                                             (line 2943)
+* BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12: howto manager.   (line 3049)
 * BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC: howto manager.
-                                                             (line 3021)
-* BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0: howto manager.     (line 2938)
-* BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: howto manager.  (line 2940)
-* BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1: howto manager.     (line 2942)
-* BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC: howto manager.  (line 2944)
-* BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2: howto manager.     (line 2946)
-* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12: howto manager.     (line 2958)
-* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12: howto manager.     (line 2960)
-* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC: howto manager.  (line 2962)
-* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0: howto manager.      (line 2954)
-* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC: howto manager.   (line 2956)
-* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1: howto manager.      (line 2950)
-* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC: howto manager.   (line 2952)
-* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2: howto manager.      (line 2948)
-* BFD_RELOC_AARCH64_TLS_DTPMOD:          howto manager.      (line 2994)
-* BFD_RELOC_AARCH64_TLS_DTPREL:          howto manager.      (line 2996)
-* BFD_RELOC_AARCH64_TLS_TPREL:           howto manager.      (line 2998)
-* BFD_RELOC_AARCH64_TSTBR14:             howto manager.      (line 2805)
-* BFD_RELOC_AC_SECTOFF_S9:               howto manager.      (line 1014)
-* BFD_RELOC_AC_SECTOFF_S9_1:             howto manager.      (line 1015)
-* BFD_RELOC_AC_SECTOFF_S9_2:             howto manager.      (line 1016)
-* BFD_RELOC_AC_SECTOFF_U8:               howto manager.      (line 1011)
-* BFD_RELOC_AC_SECTOFF_U8_1:             howto manager.      (line 1012)
-* BFD_RELOC_AC_SECTOFF_U8_2:             howto manager.      (line 1013)
-* BFD_RELOC_ALPHA_BOH:                   howto manager.      (line  292)
-* BFD_RELOC_ALPHA_BRSGP:                 howto manager.      (line  279)
-* BFD_RELOC_ALPHA_BSR:                   howto manager.      (line  286)
-* BFD_RELOC_ALPHA_CODEADDR:              howto manager.      (line  272)
-* BFD_RELOC_ALPHA_DTPMOD64:              howto manager.      (line  297)
-* BFD_RELOC_ALPHA_DTPREL16:              howto manager.      (line  302)
-* BFD_RELOC_ALPHA_DTPREL64:              howto manager.      (line  299)
-* BFD_RELOC_ALPHA_DTPREL_HI16:           howto manager.      (line  300)
-* BFD_RELOC_ALPHA_DTPREL_LO16:           howto manager.      (line  301)
-* BFD_RELOC_ALPHA_ELF_LITERAL:           howto manager.      (line  240)
-* BFD_RELOC_ALPHA_GOTDTPREL16:           howto manager.      (line  298)
-* BFD_RELOC_ALPHA_GOTTPREL16:            howto manager.      (line  303)
-* BFD_RELOC_ALPHA_GPDISP:                howto manager.      (line  235)
-* BFD_RELOC_ALPHA_GPDISP_HI16:           howto manager.      (line  223)
-* BFD_RELOC_ALPHA_GPDISP_LO16:           howto manager.      (line  230)
-* BFD_RELOC_ALPHA_GPREL_HI16:            howto manager.      (line  275)
-* BFD_RELOC_ALPHA_GPREL_LO16:            howto manager.      (line  276)
-* BFD_RELOC_ALPHA_HINT:                  howto manager.      (line  265)
-* BFD_RELOC_ALPHA_LDA:                   howto manager.      (line  289)
-* BFD_RELOC_ALPHA_LINKAGE:               howto manager.      (line  269)
-* BFD_RELOC_ALPHA_LITERAL:               howto manager.      (line  239)
-* BFD_RELOC_ALPHA_LITUSE:                howto manager.      (line  241)
-* BFD_RELOC_ALPHA_NOP:                   howto manager.      (line  283)
-* BFD_RELOC_ALPHA_TLSGD:                 howto manager.      (line  295)
-* BFD_RELOC_ALPHA_TLSLDM:                howto manager.      (line  296)
-* BFD_RELOC_ALPHA_TPREL16:               howto manager.      (line  307)
-* BFD_RELOC_ALPHA_TPREL64:               howto manager.      (line  304)
-* BFD_RELOC_ALPHA_TPREL_HI16:            howto manager.      (line  305)
-* BFD_RELOC_ALPHA_TPREL_LO16:            howto manager.      (line  306)
-* BFD_RELOC_ARC_16:                      howto manager.      (line  983)
-* BFD_RELOC_ARC_24:                      howto manager.      (line  984)
-* BFD_RELOC_ARC_32:                      howto manager.      (line  985)
-* BFD_RELOC_ARC_32_ME:                   howto manager.      (line 1005)
-* BFD_RELOC_ARC_32_ME_S:                 howto manager.      (line 1006)
-* BFD_RELOC_ARC_32_PCREL:                howto manager.      (line 1023)
-* BFD_RELOC_ARC_8:                       howto manager.      (line  982)
-* BFD_RELOC_ARC_COPY:                    howto manager.      (line 1028)
-* BFD_RELOC_ARC_GLOB_DAT:                howto manager.      (line 1029)
-* BFD_RELOC_ARC_GOT32:                   howto manager.      (line 1025)
-* BFD_RELOC_ARC_GOTOFF:                  howto manager.      (line 1032)
-* BFD_RELOC_ARC_GOTPC:                   howto manager.      (line 1033)
-* BFD_RELOC_ARC_GOTPC32:                 howto manager.      (line 1026)
-* BFD_RELOC_ARC_JLI_SECTOFF:             howto manager.      (line 1049)
-* BFD_RELOC_ARC_JMP_SLOT:                howto manager.      (line 1030)
-* BFD_RELOC_ARC_N16:                     howto manager.      (line  987)
-* BFD_RELOC_ARC_N24:                     howto manager.      (line  988)
-* BFD_RELOC_ARC_N32:                     howto manager.      (line  989)
-* BFD_RELOC_ARC_N32_ME:                  howto manager.      (line 1007)
-* BFD_RELOC_ARC_N8:                      howto manager.      (line  986)
-* BFD_RELOC_ARC_NONE:                    howto manager.      (line  981)
-* BFD_RELOC_ARC_NPS_CMEM16:              howto manager.      (line 1048)
-* BFD_RELOC_ARC_PC32:                    howto manager.      (line 1024)
-* BFD_RELOC_ARC_PLT32:                   howto manager.      (line 1027)
-* BFD_RELOC_ARC_RELATIVE:                howto manager.      (line 1031)
-* BFD_RELOC_ARC_S13_PCREL:               howto manager.      (line 1003)
-* BFD_RELOC_ARC_S21H_PCREL:              howto manager.      (line  992)
-* BFD_RELOC_ARC_S21H_PCREL_PLT:          howto manager.      (line 1047)
-* BFD_RELOC_ARC_S21W_PCREL:              howto manager.      (line  993)
-* BFD_RELOC_ARC_S21W_PCREL_PLT:          howto manager.      (line 1034)
-* BFD_RELOC_ARC_S25H_PCREL:              howto manager.      (line  994)
-* BFD_RELOC_ARC_S25H_PCREL_PLT:          howto manager.      (line 1035)
-* BFD_RELOC_ARC_S25W_PCREL:              howto manager.      (line  995)
-* BFD_RELOC_ARC_S25W_PCREL_PLT:          howto manager.      (line 1046)
-* BFD_RELOC_ARC_SDA:                     howto manager.      (line  990)
-* BFD_RELOC_ARC_SDA16_LD:                howto manager.      (line 1000)
-* BFD_RELOC_ARC_SDA16_LD1:               howto manager.      (line 1001)
-* BFD_RELOC_ARC_SDA16_LD2:               howto manager.      (line 1002)
-* BFD_RELOC_ARC_SDA16_ST2:               howto manager.      (line 1022)
-* BFD_RELOC_ARC_SDA32:                   howto manager.      (line  996)
-* BFD_RELOC_ARC_SDA32_ME:                howto manager.      (line 1009)
-* BFD_RELOC_ARC_SDA_12:                  howto manager.      (line 1021)
-* BFD_RELOC_ARC_SDA_LDST:                howto manager.      (line  997)
-* BFD_RELOC_ARC_SDA_LDST1:               howto manager.      (line  998)
-* BFD_RELOC_ARC_SDA_LDST2:               howto manager.      (line  999)
-* BFD_RELOC_ARC_SECTOFF:                 howto manager.      (line  991)
-* BFD_RELOC_ARC_SECTOFF_1:               howto manager.      (line 1019)
-* BFD_RELOC_ARC_SECTOFF_2:               howto manager.      (line 1020)
-* BFD_RELOC_ARC_SECTOFF_ME:              howto manager.      (line 1008)
-* BFD_RELOC_ARC_SECTOFF_ME_1:            howto manager.      (line 1017)
-* BFD_RELOC_ARC_SECTOFF_ME_2:            howto manager.      (line 1018)
-* BFD_RELOC_ARC_TLS_DTPMOD:              howto manager.      (line 1036)
-* BFD_RELOC_ARC_TLS_DTPOFF:              howto manager.      (line 1042)
-* BFD_RELOC_ARC_TLS_DTPOFF_S9:           howto manager.      (line 1043)
-* BFD_RELOC_ARC_TLS_GD_CALL:             howto manager.      (line 1040)
-* BFD_RELOC_ARC_TLS_GD_GOT:              howto manager.      (line 1038)
-* BFD_RELOC_ARC_TLS_GD_LD:               howto manager.      (line 1039)
-* BFD_RELOC_ARC_TLS_IE_GOT:              howto manager.      (line 1041)
-* BFD_RELOC_ARC_TLS_LE_32:               howto manager.      (line 1045)
-* BFD_RELOC_ARC_TLS_LE_S9:               howto manager.      (line 1044)
-* BFD_RELOC_ARC_TLS_TPOFF:               howto manager.      (line 1037)
-* BFD_RELOC_ARC_W:                       howto manager.      (line 1004)
-* BFD_RELOC_ARC_W_ME:                    howto manager.      (line 1010)
-* BFD_RELOC_ARM_ADRL_IMMEDIATE:          howto manager.      (line  855)
-* BFD_RELOC_ARM_ADR_IMM:                 howto manager.      (line  869)
-* BFD_RELOC_ARM_ALU_PC_G0:               howto manager.      (line  817)
-* BFD_RELOC_ARM_ALU_PC_G0_NC:            howto manager.      (line  816)
-* BFD_RELOC_ARM_ALU_PC_G1:               howto manager.      (line  819)
-* BFD_RELOC_ARM_ALU_PC_G1_NC:            howto manager.      (line  818)
-* BFD_RELOC_ARM_ALU_PC_G2:               howto manager.      (line  820)
-* BFD_RELOC_ARM_ALU_SB_G0:               howto manager.      (line  831)
-* BFD_RELOC_ARM_ALU_SB_G0_NC:            howto manager.      (line  830)
-* BFD_RELOC_ARM_ALU_SB_G1:               howto manager.      (line  833)
-* BFD_RELOC_ARM_ALU_SB_G1_NC:            howto manager.      (line  832)
-* BFD_RELOC_ARM_ALU_SB_G2:               howto manager.      (line  834)
-* BFD_RELOC_ARM_CP_OFF_IMM:              howto manager.      (line  865)
-* BFD_RELOC_ARM_CP_OFF_IMM_S2:           howto manager.      (line  866)
-* BFD_RELOC_ARM_GLOB_DAT:                howto manager.      (line  793)
-* BFD_RELOC_ARM_GOT32:                   howto manager.      (line  794)
-* BFD_RELOC_ARM_GOTOFF:                  howto manager.      (line  797)
-* BFD_RELOC_ARM_GOTPC:                   howto manager.      (line  798)
-* BFD_RELOC_ARM_GOT_PREL:                howto manager.      (line  799)
-* BFD_RELOC_ARM_HVC:                     howto manager.      (line  862)
-* BFD_RELOC_ARM_HWLITERAL:               howto manager.      (line  876)
-* BFD_RELOC_ARM_IMMEDIATE:               howto manager.      (line  854)
-* BFD_RELOC_ARM_IN_POOL:                 howto manager.      (line  872)
-* BFD_RELOC_ARM_IRELATIVE:               howto manager.      (line  847)
-* BFD_RELOC_ARM_JUMP_SLOT:               howto manager.      (line  792)
-* BFD_RELOC_ARM_LDC_PC_G0:               howto manager.      (line  827)
-* BFD_RELOC_ARM_LDC_PC_G1:               howto manager.      (line  828)
-* BFD_RELOC_ARM_LDC_PC_G2:               howto manager.      (line  829)
-* BFD_RELOC_ARM_LDC_SB_G0:               howto manager.      (line  841)
-* BFD_RELOC_ARM_LDC_SB_G1:               howto manager.      (line  842)
-* BFD_RELOC_ARM_LDC_SB_G2:               howto manager.      (line  843)
-* BFD_RELOC_ARM_LDRS_PC_G0:              howto manager.      (line  824)
-* BFD_RELOC_ARM_LDRS_PC_G1:              howto manager.      (line  825)
-* BFD_RELOC_ARM_LDRS_PC_G2:              howto manager.      (line  826)
-* BFD_RELOC_ARM_LDRS_SB_G0:              howto manager.      (line  838)
-* BFD_RELOC_ARM_LDRS_SB_G1:              howto manager.      (line  839)
-* BFD_RELOC_ARM_LDRS_SB_G2:              howto manager.      (line  840)
-* BFD_RELOC_ARM_LDR_IMM:                 howto manager.      (line  870)
-* BFD_RELOC_ARM_LDR_PC_G0:               howto manager.      (line  821)
-* BFD_RELOC_ARM_LDR_PC_G1:               howto manager.      (line  822)
-* BFD_RELOC_ARM_LDR_PC_G2:               howto manager.      (line  823)
-* BFD_RELOC_ARM_LDR_SB_G0:               howto manager.      (line  835)
-* BFD_RELOC_ARM_LDR_SB_G1:               howto manager.      (line  836)
-* BFD_RELOC_ARM_LDR_SB_G2:               howto manager.      (line  837)
-* BFD_RELOC_ARM_LITERAL:                 howto manager.      (line  871)
-* BFD_RELOC_ARM_MOVT:                    howto manager.      (line  784)
-* BFD_RELOC_ARM_MOVT_PCREL:              howto manager.      (line  786)
-* BFD_RELOC_ARM_MOVW:                    howto manager.      (line  783)
-* BFD_RELOC_ARM_MOVW_PCREL:              howto manager.      (line  785)
-* BFD_RELOC_ARM_MULTI:                   howto manager.      (line  864)
-* BFD_RELOC_ARM_OFFSET_IMM:              howto manager.      (line  764)
-* BFD_RELOC_ARM_OFFSET_IMM8:             howto manager.      (line  873)
-* BFD_RELOC_ARM_PCREL_BLX:               howto manager.      (line  740)
-* BFD_RELOC_ARM_PCREL_BRANCH:            howto manager.      (line  737)
-* BFD_RELOC_ARM_PCREL_CALL:              howto manager.      (line  748)
-* BFD_RELOC_ARM_PCREL_JUMP:              howto manager.      (line  751)
-* BFD_RELOC_ARM_PLT32:                   howto manager.      (line  795)
-* BFD_RELOC_ARM_PREL31:                  howto manager.      (line  781)
-* BFD_RELOC_ARM_RELATIVE:                howto manager.      (line  796)
-* BFD_RELOC_ARM_ROSEGREL32:              howto manager.      (line  773)
-* BFD_RELOC_ARM_SBREL32:                 howto manager.      (line  775)
-* BFD_RELOC_ARM_SHIFT_IMM:               howto manager.      (line  860)
-* BFD_RELOC_ARM_SMC:                     howto manager.      (line  861)
-* BFD_RELOC_ARM_SWI:                     howto manager.      (line  863)
-* BFD_RELOC_ARM_T32_ADD_IMM:             howto manager.      (line  857)
-* BFD_RELOC_ARM_T32_ADD_PC12:            howto manager.      (line  859)
-* BFD_RELOC_ARM_T32_CP_OFF_IMM:          howto manager.      (line  867)
-* BFD_RELOC_ARM_T32_CP_OFF_IMM_S2:       howto manager.      (line  868)
-* BFD_RELOC_ARM_T32_IMM12:               howto manager.      (line  858)
-* BFD_RELOC_ARM_T32_IMMEDIATE:           howto manager.      (line  856)
-* BFD_RELOC_ARM_T32_OFFSET_IMM:          howto manager.      (line  875)
-* BFD_RELOC_ARM_T32_OFFSET_U8:           howto manager.      (line  874)
-* BFD_RELOC_ARM_TARGET1:                 howto manager.      (line  770)
-* BFD_RELOC_ARM_TARGET2:                 howto manager.      (line  777)
-* BFD_RELOC_ARM_THM_TLS_CALL:            howto manager.      (line  811)
-* BFD_RELOC_ARM_THM_TLS_DESCSEQ:         howto manager.      (line  813)
-* BFD_RELOC_ARM_THUMB_ADD:               howto manager.      (line  877)
-* BFD_RELOC_ARM_THUMB_ALU_ABS_G0_NC:     howto manager.      (line  849)
-* BFD_RELOC_ARM_THUMB_ALU_ABS_G1_NC:     howto manager.      (line  850)
-* BFD_RELOC_ARM_THUMB_ALU_ABS_G2_NC:     howto manager.      (line  851)
-* BFD_RELOC_ARM_THUMB_ALU_ABS_G3_NC:     howto manager.      (line  852)
-* BFD_RELOC_ARM_THUMB_IMM:               howto manager.      (line  878)
-* BFD_RELOC_ARM_THUMB_MOVT:              howto manager.      (line  788)
-* BFD_RELOC_ARM_THUMB_MOVT_PCREL:        howto manager.      (line  790)
-* BFD_RELOC_ARM_THUMB_MOVW:              howto manager.      (line  787)
-* BFD_RELOC_ARM_THUMB_MOVW_PCREL:        howto manager.      (line  789)
-* BFD_RELOC_ARM_THUMB_OFFSET:            howto manager.      (line  767)
-* BFD_RELOC_ARM_THUMB_SHIFT:             howto manager.      (line  879)
-* BFD_RELOC_ARM_TLS_CALL:                howto manager.      (line  810)
-* BFD_RELOC_ARM_TLS_DESC:                howto manager.      (line  814)
-* BFD_RELOC_ARM_TLS_DESCSEQ:             howto manager.      (line  812)
-* BFD_RELOC_ARM_TLS_DTPMOD32:            howto manager.      (line  805)
-* BFD_RELOC_ARM_TLS_DTPOFF32:            howto manager.      (line  804)
-* BFD_RELOC_ARM_TLS_GD32:                howto manager.      (line  801)
-* BFD_RELOC_ARM_TLS_GOTDESC:             howto manager.      (line  809)
-* BFD_RELOC_ARM_TLS_IE32:                howto manager.      (line  807)
-* BFD_RELOC_ARM_TLS_LDM32:               howto manager.      (line  803)
-* BFD_RELOC_ARM_TLS_LDO32:               howto manager.      (line  802)
-* BFD_RELOC_ARM_TLS_LE32:                howto manager.      (line  808)
-* BFD_RELOC_ARM_TLS_TPOFF32:             howto manager.      (line  806)
-* BFD_RELOC_ARM_V4BX:                    howto manager.      (line  845)
-* BFD_RELOC_AVR_13_PCREL:                howto manager.      (line 1669)
-* BFD_RELOC_AVR_16_PM:                   howto manager.      (line 1672)
-* BFD_RELOC_AVR_6:                       howto manager.      (line 1740)
-* BFD_RELOC_AVR_6_ADIW:                  howto manager.      (line 1743)
-* BFD_RELOC_AVR_7_PCREL:                 howto manager.      (line 1666)
-* BFD_RELOC_AVR_8_HI:                    howto manager.      (line 1749)
-* BFD_RELOC_AVR_8_HLO:                   howto manager.      (line 1752)
-* BFD_RELOC_AVR_8_LO:                    howto manager.      (line 1746)
-* BFD_RELOC_AVR_CALL:                    howto manager.      (line 1734)
-* BFD_RELOC_AVR_DIFF16:                  howto manager.      (line 1756)
-* BFD_RELOC_AVR_DIFF32:                  howto manager.      (line 1757)
-* BFD_RELOC_AVR_DIFF8:                   howto manager.      (line 1755)
-* BFD_RELOC_AVR_HH8_LDI:                 howto manager.      (line 1681)
-* BFD_RELOC_AVR_HH8_LDI_NEG:             howto manager.      (line 1696)
-* BFD_RELOC_AVR_HH8_LDI_PM:              howto manager.      (line 1719)
-* BFD_RELOC_AVR_HH8_LDI_PM_NEG:          howto manager.      (line 1730)
-* BFD_RELOC_AVR_HI8_LDI:                 howto manager.      (line 1678)
-* BFD_RELOC_AVR_HI8_LDI_GS:              howto manager.      (line 1714)
-* BFD_RELOC_AVR_HI8_LDI_NEG:             howto manager.      (line 1692)
-* BFD_RELOC_AVR_HI8_LDI_PM:              howto manager.      (line 1711)
-* BFD_RELOC_AVR_HI8_LDI_PM_NEG:          howto manager.      (line 1726)
-* BFD_RELOC_AVR_LDI:                     howto manager.      (line 1737)
-* BFD_RELOC_AVR_LDS_STS_16:              howto manager.      (line 1764)
-* BFD_RELOC_AVR_LO8_LDI:                 howto manager.      (line 1675)
-* BFD_RELOC_AVR_LO8_LDI_GS:              howto manager.      (line 1706)
-* BFD_RELOC_AVR_LO8_LDI_NEG:             howto manager.      (line 1688)
-* BFD_RELOC_AVR_LO8_LDI_PM:              howto manager.      (line 1703)
-* BFD_RELOC_AVR_LO8_LDI_PM_NEG:          howto manager.      (line 1723)
-* BFD_RELOC_AVR_MS8_LDI:                 howto manager.      (line 1685)
-* BFD_RELOC_AVR_MS8_LDI_NEG:             howto manager.      (line 1700)
-* BFD_RELOC_AVR_PORT5:                   howto manager.      (line 1770)
-* BFD_RELOC_AVR_PORT6:                   howto manager.      (line 1767)
-* BFD_RELOC_BFIN_10_PCREL:               howto manager.      (line 1061)
-* BFD_RELOC_BFIN_11_PCREL:               howto manager.      (line 1063)
-* BFD_RELOC_BFIN_12_PCREL_JUMP:          howto manager.      (line 1065)
-* BFD_RELOC_BFIN_12_PCREL_JUMP_S:        howto manager.      (line 1067)
-* BFD_RELOC_BFIN_16_HIGH:                howto manager.      (line 1053)
-* BFD_RELOC_BFIN_16_IMM:                 howto manager.      (line 1051)
-* BFD_RELOC_BFIN_16_LOW:                 howto manager.      (line 1059)
-* BFD_RELOC_BFIN_24_PCREL_CALL_X:        howto manager.      (line 1069)
-* BFD_RELOC_BFIN_24_PCREL_JUMP_L:        howto manager.      (line 1071)
-* BFD_RELOC_BFIN_4_PCREL:                howto manager.      (line 1055)
-* BFD_RELOC_BFIN_5_PCREL:                howto manager.      (line 1057)
-* BFD_RELOC_BFIN_FUNCDESC:               howto manager.      (line 1076)
-* BFD_RELOC_BFIN_FUNCDESC_GOT17M4:       howto manager.      (line 1077)
-* BFD_RELOC_BFIN_FUNCDESC_GOTHI:         howto manager.      (line 1078)
-* BFD_RELOC_BFIN_FUNCDESC_GOTLO:         howto manager.      (line 1079)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4:    howto manager.      (line 1081)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI:      howto manager.      (line 1082)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO:      howto manager.      (line 1083)
-* BFD_RELOC_BFIN_FUNCDESC_VALUE:         howto manager.      (line 1080)
-* BFD_RELOC_BFIN_GOT:                    howto manager.      (line 1088)
-* BFD_RELOC_BFIN_GOT17M4:                howto manager.      (line 1073)
-* BFD_RELOC_BFIN_GOTHI:                  howto manager.      (line 1074)
-* BFD_RELOC_BFIN_GOTLO:                  howto manager.      (line 1075)
-* BFD_RELOC_BFIN_GOTOFF17M4:             howto manager.      (line 1084)
-* BFD_RELOC_BFIN_GOTOFFHI:               howto manager.      (line 1085)
-* BFD_RELOC_BFIN_GOTOFFLO:               howto manager.      (line 1086)
-* BFD_RELOC_BFIN_PLTPC:                  howto manager.      (line 1090)
-* BFD_RELOC_C6000_ABS_H16:               howto manager.      (line 1511)
-* BFD_RELOC_C6000_ABS_L16:               howto manager.      (line 1510)
-* BFD_RELOC_C6000_ABS_S16:               howto manager.      (line 1509)
-* BFD_RELOC_C6000_ALIGN:                 howto manager.      (line 1532)
-* BFD_RELOC_C6000_COPY:                  howto manager.      (line 1527)
-* BFD_RELOC_C6000_DSBT_INDEX:            howto manager.      (line 1525)
-* BFD_RELOC_C6000_EHTYPE:                howto manager.      (line 1529)
-* BFD_RELOC_C6000_FPHEAD:                howto manager.      (line 1533)
-* BFD_RELOC_C6000_JUMP_SLOT:             howto manager.      (line 1528)
-* BFD_RELOC_C6000_NOCMP:                 howto manager.      (line 1534)
-* BFD_RELOC_C6000_PCR_H16:               howto manager.      (line 1530)
-* BFD_RELOC_C6000_PCR_L16:               howto manager.      (line 1531)
-* BFD_RELOC_C6000_PCR_S10:               howto manager.      (line 1507)
-* BFD_RELOC_C6000_PCR_S12:               howto manager.      (line 1506)
-* BFD_RELOC_C6000_PCR_S21:               howto manager.      (line 1505)
-* BFD_RELOC_C6000_PCR_S7:                howto manager.      (line 1508)
-* BFD_RELOC_C6000_PREL31:                howto manager.      (line 1526)
-* BFD_RELOC_C6000_SBR_GOT_H16_W:         howto manager.      (line 1524)
-* BFD_RELOC_C6000_SBR_GOT_L16_W:         howto manager.      (line 1523)
-* BFD_RELOC_C6000_SBR_GOT_U15_W:         howto manager.      (line 1522)
-* BFD_RELOC_C6000_SBR_H16_B:             howto manager.      (line 1519)
-* BFD_RELOC_C6000_SBR_H16_H:             howto manager.      (line 1520)
-* BFD_RELOC_C6000_SBR_H16_W:             howto manager.      (line 1521)
-* BFD_RELOC_C6000_SBR_L16_B:             howto manager.      (line 1516)
-* BFD_RELOC_C6000_SBR_L16_H:             howto manager.      (line 1517)
-* BFD_RELOC_C6000_SBR_L16_W:             howto manager.      (line 1518)
-* BFD_RELOC_C6000_SBR_S16:               howto manager.      (line 1515)
-* BFD_RELOC_C6000_SBR_U15_B:             howto manager.      (line 1512)
-* BFD_RELOC_C6000_SBR_U15_H:             howto manager.      (line 1513)
-* BFD_RELOC_C6000_SBR_U15_W:             howto manager.      (line 1514)
+                                                             (line 3053)
+* BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0: howto manager.     (line 2946)
+* BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: howto manager.  (line 2948)
+* BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1: howto manager.     (line 2950)
+* BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC: howto manager.  (line 2952)
+* BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2: howto manager.     (line 2954)
+* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12: howto manager.     (line 2966)
+* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12: howto manager.     (line 2968)
+* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC: howto manager.  (line 2970)
+* BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12: howto manager.  (line 2972)
+* BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC: howto manager.
+                                                             (line 2975)
+* BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12: howto manager.  (line 2978)
+* BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC: howto manager.
+                                                             (line 2981)
+* BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12: howto manager.  (line 2984)
+* BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC: howto manager.
+                                                             (line 2987)
+* BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12: howto manager.   (line 2990)
+* BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC: howto manager.
+                                                             (line 2993)
+* BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12: howto manager.    (line 3056)
+* BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC: howto manager. (line 3060)
+* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0: howto manager.      (line 2962)
+* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC: howto manager.   (line 2964)
+* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1: howto manager.      (line 2958)
+* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC: howto manager.   (line 2960)
+* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2: howto manager.      (line 2956)
+* BFD_RELOC_AARCH64_TLS_DTPMOD:          howto manager.      (line 3026)
+* BFD_RELOC_AARCH64_TLS_DTPREL:          howto manager.      (line 3028)
+* BFD_RELOC_AARCH64_TLS_TPREL:           howto manager.      (line 3030)
+* BFD_RELOC_AARCH64_TSTBR14:             howto manager.      (line 2813)
+* BFD_RELOC_AC_SECTOFF_S9:               howto manager.      (line 1018)
+* BFD_RELOC_AC_SECTOFF_S9_1:             howto manager.      (line 1019)
+* BFD_RELOC_AC_SECTOFF_S9_2:             howto manager.      (line 1020)
+* BFD_RELOC_AC_SECTOFF_U8:               howto manager.      (line 1015)
+* BFD_RELOC_AC_SECTOFF_U8_1:             howto manager.      (line 1016)
+* BFD_RELOC_AC_SECTOFF_U8_2:             howto manager.      (line 1017)
+* BFD_RELOC_ALPHA_BOH:                   howto manager.      (line  288)
+* BFD_RELOC_ALPHA_BRSGP:                 howto manager.      (line  275)
+* BFD_RELOC_ALPHA_BSR:                   howto manager.      (line  282)
+* BFD_RELOC_ALPHA_CODEADDR:              howto manager.      (line  268)
+* BFD_RELOC_ALPHA_DTPMOD64:              howto manager.      (line  293)
+* BFD_RELOC_ALPHA_DTPREL16:              howto manager.      (line  298)
+* BFD_RELOC_ALPHA_DTPREL64:              howto manager.      (line  295)
+* BFD_RELOC_ALPHA_DTPREL_HI16:           howto manager.      (line  296)
+* BFD_RELOC_ALPHA_DTPREL_LO16:           howto manager.      (line  297)
+* BFD_RELOC_ALPHA_ELF_LITERAL:           howto manager.      (line  236)
+* BFD_RELOC_ALPHA_GOTDTPREL16:           howto manager.      (line  294)
+* BFD_RELOC_ALPHA_GOTTPREL16:            howto manager.      (line  299)
+* BFD_RELOC_ALPHA_GPDISP:                howto manager.      (line  231)
+* BFD_RELOC_ALPHA_GPDISP_HI16:           howto manager.      (line  219)
+* BFD_RELOC_ALPHA_GPDISP_LO16:           howto manager.      (line  226)
+* BFD_RELOC_ALPHA_GPREL_HI16:            howto manager.      (line  271)
+* BFD_RELOC_ALPHA_GPREL_LO16:            howto manager.      (line  272)
+* BFD_RELOC_ALPHA_HINT:                  howto manager.      (line  261)
+* BFD_RELOC_ALPHA_LDA:                   howto manager.      (line  285)
+* BFD_RELOC_ALPHA_LINKAGE:               howto manager.      (line  265)
+* BFD_RELOC_ALPHA_LITERAL:               howto manager.      (line  235)
+* BFD_RELOC_ALPHA_LITUSE:                howto manager.      (line  237)
+* BFD_RELOC_ALPHA_NOP:                   howto manager.      (line  279)
+* BFD_RELOC_ALPHA_TLSGD:                 howto manager.      (line  291)
+* BFD_RELOC_ALPHA_TLSLDM:                howto manager.      (line  292)
+* BFD_RELOC_ALPHA_TPREL16:               howto manager.      (line  303)
+* BFD_RELOC_ALPHA_TPREL64:               howto manager.      (line  300)
+* BFD_RELOC_ALPHA_TPREL_HI16:            howto manager.      (line  301)
+* BFD_RELOC_ALPHA_TPREL_LO16:            howto manager.      (line  302)
+* BFD_RELOC_ARC_16:                      howto manager.      (line  987)
+* BFD_RELOC_ARC_24:                      howto manager.      (line  988)
+* BFD_RELOC_ARC_32:                      howto manager.      (line  989)
+* BFD_RELOC_ARC_32_ME:                   howto manager.      (line 1009)
+* BFD_RELOC_ARC_32_ME_S:                 howto manager.      (line 1010)
+* BFD_RELOC_ARC_32_PCREL:                howto manager.      (line 1027)
+* BFD_RELOC_ARC_8:                       howto manager.      (line  986)
+* BFD_RELOC_ARC_COPY:                    howto manager.      (line 1032)
+* BFD_RELOC_ARC_GLOB_DAT:                howto manager.      (line 1033)
+* BFD_RELOC_ARC_GOT32:                   howto manager.      (line 1029)
+* BFD_RELOC_ARC_GOTOFF:                  howto manager.      (line 1036)
+* BFD_RELOC_ARC_GOTPC:                   howto manager.      (line 1037)
+* BFD_RELOC_ARC_GOTPC32:                 howto manager.      (line 1030)
+* BFD_RELOC_ARC_JLI_SECTOFF:             howto manager.      (line 1053)
+* BFD_RELOC_ARC_JMP_SLOT:                howto manager.      (line 1034)
+* BFD_RELOC_ARC_N16:                     howto manager.      (line  991)
+* BFD_RELOC_ARC_N24:                     howto manager.      (line  992)
+* BFD_RELOC_ARC_N32:                     howto manager.      (line  993)
+* BFD_RELOC_ARC_N32_ME:                  howto manager.      (line 1011)
+* BFD_RELOC_ARC_N8:                      howto manager.      (line  990)
+* BFD_RELOC_ARC_NONE:                    howto manager.      (line  985)
+* BFD_RELOC_ARC_NPS_CMEM16:              howto manager.      (line 1052)
+* BFD_RELOC_ARC_PC32:                    howto manager.      (line 1028)
+* BFD_RELOC_ARC_PLT32:                   howto manager.      (line 1031)
+* BFD_RELOC_ARC_RELATIVE:                howto manager.      (line 1035)
+* BFD_RELOC_ARC_S13_PCREL:               howto manager.      (line 1007)
+* BFD_RELOC_ARC_S21H_PCREL:              howto manager.      (line  996)
+* BFD_RELOC_ARC_S21H_PCREL_PLT:          howto manager.      (line 1051)
+* BFD_RELOC_ARC_S21W_PCREL:              howto manager.      (line  997)
+* BFD_RELOC_ARC_S21W_PCREL_PLT:          howto manager.      (line 1038)
+* BFD_RELOC_ARC_S25H_PCREL:              howto manager.      (line  998)
+* BFD_RELOC_ARC_S25H_PCREL_PLT:          howto manager.      (line 1039)
+* BFD_RELOC_ARC_S25W_PCREL:              howto manager.      (line  999)
+* BFD_RELOC_ARC_S25W_PCREL_PLT:          howto manager.      (line 1050)
+* BFD_RELOC_ARC_SDA:                     howto manager.      (line  994)
+* BFD_RELOC_ARC_SDA16_LD:                howto manager.      (line 1004)
+* BFD_RELOC_ARC_SDA16_LD1:               howto manager.      (line 1005)
+* BFD_RELOC_ARC_SDA16_LD2:               howto manager.      (line 1006)
+* BFD_RELOC_ARC_SDA16_ST2:               howto manager.      (line 1026)
+* BFD_RELOC_ARC_SDA32:                   howto manager.      (line 1000)
+* BFD_RELOC_ARC_SDA32_ME:                howto manager.      (line 1013)
+* BFD_RELOC_ARC_SDA_12:                  howto manager.      (line 1025)
+* BFD_RELOC_ARC_SDA_LDST:                howto manager.      (line 1001)
+* BFD_RELOC_ARC_SDA_LDST1:               howto manager.      (line 1002)
+* BFD_RELOC_ARC_SDA_LDST2:               howto manager.      (line 1003)
+* BFD_RELOC_ARC_SECTOFF:                 howto manager.      (line  995)
+* BFD_RELOC_ARC_SECTOFF_1:               howto manager.      (line 1023)
+* BFD_RELOC_ARC_SECTOFF_2:               howto manager.      (line 1024)
+* BFD_RELOC_ARC_SECTOFF_ME:              howto manager.      (line 1012)
+* BFD_RELOC_ARC_SECTOFF_ME_1:            howto manager.      (line 1021)
+* BFD_RELOC_ARC_SECTOFF_ME_2:            howto manager.      (line 1022)
+* BFD_RELOC_ARC_TLS_DTPMOD:              howto manager.      (line 1040)
+* BFD_RELOC_ARC_TLS_DTPOFF:              howto manager.      (line 1046)
+* BFD_RELOC_ARC_TLS_DTPOFF_S9:           howto manager.      (line 1047)
+* BFD_RELOC_ARC_TLS_GD_CALL:             howto manager.      (line 1044)
+* BFD_RELOC_ARC_TLS_GD_GOT:              howto manager.      (line 1042)
+* BFD_RELOC_ARC_TLS_GD_LD:               howto manager.      (line 1043)
+* BFD_RELOC_ARC_TLS_IE_GOT:              howto manager.      (line 1045)
+* BFD_RELOC_ARC_TLS_LE_32:               howto manager.      (line 1049)
+* BFD_RELOC_ARC_TLS_LE_S9:               howto manager.      (line 1048)
+* BFD_RELOC_ARC_TLS_TPOFF:               howto manager.      (line 1041)
+* BFD_RELOC_ARC_W:                       howto manager.      (line 1008)
+* BFD_RELOC_ARC_W_ME:                    howto manager.      (line 1014)
+* BFD_RELOC_ARM_ADRL_IMMEDIATE:          howto manager.      (line  859)
+* BFD_RELOC_ARM_ADR_IMM:                 howto manager.      (line  873)
+* BFD_RELOC_ARM_ALU_PC_G0:               howto manager.      (line  821)
+* BFD_RELOC_ARM_ALU_PC_G0_NC:            howto manager.      (line  820)
+* BFD_RELOC_ARM_ALU_PC_G1:               howto manager.      (line  823)
+* BFD_RELOC_ARM_ALU_PC_G1_NC:            howto manager.      (line  822)
+* BFD_RELOC_ARM_ALU_PC_G2:               howto manager.      (line  824)
+* BFD_RELOC_ARM_ALU_SB_G0:               howto manager.      (line  835)
+* BFD_RELOC_ARM_ALU_SB_G0_NC:            howto manager.      (line  834)
+* BFD_RELOC_ARM_ALU_SB_G1:               howto manager.      (line  837)
+* BFD_RELOC_ARM_ALU_SB_G1_NC:            howto manager.      (line  836)
+* BFD_RELOC_ARM_ALU_SB_G2:               howto manager.      (line  838)
+* BFD_RELOC_ARM_CP_OFF_IMM:              howto manager.      (line  869)
+* BFD_RELOC_ARM_CP_OFF_IMM_S2:           howto manager.      (line  870)
+* BFD_RELOC_ARM_FUNCDESC:                howto manager.      (line  790)
+* BFD_RELOC_ARM_FUNCDESC_VALUE:          howto manager.      (line  791)
+* BFD_RELOC_ARM_GLOB_DAT:                howto manager.      (line  797)
+* BFD_RELOC_ARM_GOT32:                   howto manager.      (line  798)
+* BFD_RELOC_ARM_GOTFUNCDESC:             howto manager.      (line  788)
+* BFD_RELOC_ARM_GOTOFF:                  howto manager.      (line  801)
+* BFD_RELOC_ARM_GOTOFFFUNCDESC:          howto manager.      (line  789)
+* BFD_RELOC_ARM_GOTPC:                   howto manager.      (line  802)
+* BFD_RELOC_ARM_GOT_PREL:                howto manager.      (line  803)
+* BFD_RELOC_ARM_HVC:                     howto manager.      (line  866)
+* BFD_RELOC_ARM_HWLITERAL:               howto manager.      (line  880)
+* BFD_RELOC_ARM_IMMEDIATE:               howto manager.      (line  858)
+* BFD_RELOC_ARM_IN_POOL:                 howto manager.      (line  876)
+* BFD_RELOC_ARM_IRELATIVE:               howto manager.      (line  851)
+* BFD_RELOC_ARM_JUMP_SLOT:               howto manager.      (line  796)
+* BFD_RELOC_ARM_LDC_PC_G0:               howto manager.      (line  831)
+* BFD_RELOC_ARM_LDC_PC_G1:               howto manager.      (line  832)
+* BFD_RELOC_ARM_LDC_PC_G2:               howto manager.      (line  833)
+* BFD_RELOC_ARM_LDC_SB_G0:               howto manager.      (line  845)
+* BFD_RELOC_ARM_LDC_SB_G1:               howto manager.      (line  846)
+* BFD_RELOC_ARM_LDC_SB_G2:               howto manager.      (line  847)
+* BFD_RELOC_ARM_LDRS_PC_G0:              howto manager.      (line  828)
+* BFD_RELOC_ARM_LDRS_PC_G1:              howto manager.      (line  829)
+* BFD_RELOC_ARM_LDRS_PC_G2:              howto manager.      (line  830)
+* BFD_RELOC_ARM_LDRS_SB_G0:              howto manager.      (line  842)
+* BFD_RELOC_ARM_LDRS_SB_G1:              howto manager.      (line  843)
+* BFD_RELOC_ARM_LDRS_SB_G2:              howto manager.      (line  844)
+* BFD_RELOC_ARM_LDR_IMM:                 howto manager.      (line  874)
+* BFD_RELOC_ARM_LDR_PC_G0:               howto manager.      (line  825)
+* BFD_RELOC_ARM_LDR_PC_G1:               howto manager.      (line  826)
+* BFD_RELOC_ARM_LDR_PC_G2:               howto manager.      (line  827)
+* BFD_RELOC_ARM_LDR_SB_G0:               howto manager.      (line  839)
+* BFD_RELOC_ARM_LDR_SB_G1:               howto manager.      (line  840)
+* BFD_RELOC_ARM_LDR_SB_G2:               howto manager.      (line  841)
+* BFD_RELOC_ARM_LITERAL:                 howto manager.      (line  875)
+* BFD_RELOC_ARM_MOVT:                    howto manager.      (line  780)
+* BFD_RELOC_ARM_MOVT_PCREL:              howto manager.      (line  782)
+* BFD_RELOC_ARM_MOVW:                    howto manager.      (line  779)
+* BFD_RELOC_ARM_MOVW_PCREL:              howto manager.      (line  781)
+* BFD_RELOC_ARM_MULTI:                   howto manager.      (line  868)
+* BFD_RELOC_ARM_OFFSET_IMM:              howto manager.      (line  760)
+* BFD_RELOC_ARM_OFFSET_IMM8:             howto manager.      (line  877)
+* BFD_RELOC_ARM_PCREL_BLX:               howto manager.      (line  736)
+* BFD_RELOC_ARM_PCREL_BRANCH:            howto manager.      (line  733)
+* BFD_RELOC_ARM_PCREL_CALL:              howto manager.      (line  744)
+* BFD_RELOC_ARM_PCREL_JUMP:              howto manager.      (line  747)
+* BFD_RELOC_ARM_PLT32:                   howto manager.      (line  799)
+* BFD_RELOC_ARM_PREL31:                  howto manager.      (line  777)
+* BFD_RELOC_ARM_RELATIVE:                howto manager.      (line  800)
+* BFD_RELOC_ARM_ROSEGREL32:              howto manager.      (line  769)
+* BFD_RELOC_ARM_SBREL32:                 howto manager.      (line  771)
+* BFD_RELOC_ARM_SHIFT_IMM:               howto manager.      (line  864)
+* BFD_RELOC_ARM_SMC:                     howto manager.      (line  865)
+* BFD_RELOC_ARM_SWI:                     howto manager.      (line  867)
+* BFD_RELOC_ARM_T32_ADD_IMM:             howto manager.      (line  861)
+* BFD_RELOC_ARM_T32_ADD_PC12:            howto manager.      (line  863)
+* BFD_RELOC_ARM_T32_CP_OFF_IMM:          howto manager.      (line  871)
+* BFD_RELOC_ARM_T32_CP_OFF_IMM_S2:       howto manager.      (line  872)
+* BFD_RELOC_ARM_T32_IMM12:               howto manager.      (line  862)
+* BFD_RELOC_ARM_T32_IMMEDIATE:           howto manager.      (line  860)
+* BFD_RELOC_ARM_T32_OFFSET_IMM:          howto manager.      (line  879)
+* BFD_RELOC_ARM_T32_OFFSET_U8:           howto manager.      (line  878)
+* BFD_RELOC_ARM_TARGET1:                 howto manager.      (line  766)
+* BFD_RELOC_ARM_TARGET2:                 howto manager.      (line  773)
+* BFD_RELOC_ARM_THM_TLS_CALL:            howto manager.      (line  815)
+* BFD_RELOC_ARM_THM_TLS_DESCSEQ:         howto manager.      (line  817)
+* BFD_RELOC_ARM_THUMB_ADD:               howto manager.      (line  881)
+* BFD_RELOC_ARM_THUMB_ALU_ABS_G0_NC:     howto manager.      (line  853)
+* BFD_RELOC_ARM_THUMB_ALU_ABS_G1_NC:     howto manager.      (line  854)
+* BFD_RELOC_ARM_THUMB_ALU_ABS_G2_NC:     howto manager.      (line  855)
+* BFD_RELOC_ARM_THUMB_ALU_ABS_G3_NC:     howto manager.      (line  856)
+* BFD_RELOC_ARM_THUMB_IMM:               howto manager.      (line  882)
+* BFD_RELOC_ARM_THUMB_MOVT:              howto manager.      (line  784)
+* BFD_RELOC_ARM_THUMB_MOVT_PCREL:        howto manager.      (line  786)
+* BFD_RELOC_ARM_THUMB_MOVW:              howto manager.      (line  783)
+* BFD_RELOC_ARM_THUMB_MOVW_PCREL:        howto manager.      (line  785)
+* BFD_RELOC_ARM_THUMB_OFFSET:            howto manager.      (line  763)
+* BFD_RELOC_ARM_THUMB_SHIFT:             howto manager.      (line  883)
+* BFD_RELOC_ARM_TLS_CALL:                howto manager.      (line  814)
+* BFD_RELOC_ARM_TLS_DESC:                howto manager.      (line  818)
+* BFD_RELOC_ARM_TLS_DESCSEQ:             howto manager.      (line  816)
+* BFD_RELOC_ARM_TLS_DTPMOD32:            howto manager.      (line  809)
+* BFD_RELOC_ARM_TLS_DTPOFF32:            howto manager.      (line  808)
+* BFD_RELOC_ARM_TLS_GD32:                howto manager.      (line  805)
+* BFD_RELOC_ARM_TLS_GD32_FDPIC:          howto manager.      (line  792)
+* BFD_RELOC_ARM_TLS_GOTDESC:             howto manager.      (line  813)
+* BFD_RELOC_ARM_TLS_IE32:                howto manager.      (line  811)
+* BFD_RELOC_ARM_TLS_IE32_FDPIC:          howto manager.      (line  794)
+* BFD_RELOC_ARM_TLS_LDM32:               howto manager.      (line  807)
+* BFD_RELOC_ARM_TLS_LDM32_FDPIC:         howto manager.      (line  793)
+* BFD_RELOC_ARM_TLS_LDO32:               howto manager.      (line  806)
+* BFD_RELOC_ARM_TLS_LE32:                howto manager.      (line  812)
+* BFD_RELOC_ARM_TLS_TPOFF32:             howto manager.      (line  810)
+* BFD_RELOC_ARM_V4BX:                    howto manager.      (line  849)
+* BFD_RELOC_AVR_13_PCREL:                howto manager.      (line 1673)
+* BFD_RELOC_AVR_16_PM:                   howto manager.      (line 1676)
+* BFD_RELOC_AVR_6:                       howto manager.      (line 1744)
+* BFD_RELOC_AVR_6_ADIW:                  howto manager.      (line 1747)
+* BFD_RELOC_AVR_7_PCREL:                 howto manager.      (line 1670)
+* BFD_RELOC_AVR_8_HI:                    howto manager.      (line 1753)
+* BFD_RELOC_AVR_8_HLO:                   howto manager.      (line 1756)
+* BFD_RELOC_AVR_8_LO:                    howto manager.      (line 1750)
+* BFD_RELOC_AVR_CALL:                    howto manager.      (line 1738)
+* BFD_RELOC_AVR_DIFF16:                  howto manager.      (line 1760)
+* BFD_RELOC_AVR_DIFF32:                  howto manager.      (line 1761)
+* BFD_RELOC_AVR_DIFF8:                   howto manager.      (line 1759)
+* BFD_RELOC_AVR_HH8_LDI:                 howto manager.      (line 1685)
+* BFD_RELOC_AVR_HH8_LDI_NEG:             howto manager.      (line 1700)
+* BFD_RELOC_AVR_HH8_LDI_PM:              howto manager.      (line 1723)
+* BFD_RELOC_AVR_HH8_LDI_PM_NEG:          howto manager.      (line 1734)
+* BFD_RELOC_AVR_HI8_LDI:                 howto manager.      (line 1682)
+* BFD_RELOC_AVR_HI8_LDI_GS:              howto manager.      (line 1718)
+* BFD_RELOC_AVR_HI8_LDI_NEG:             howto manager.      (line 1696)
+* BFD_RELOC_AVR_HI8_LDI_PM:              howto manager.      (line 1715)
+* BFD_RELOC_AVR_HI8_LDI_PM_NEG:          howto manager.      (line 1730)
+* BFD_RELOC_AVR_LDI:                     howto manager.      (line 1741)
+* BFD_RELOC_AVR_LDS_STS_16:              howto manager.      (line 1768)
+* BFD_RELOC_AVR_LO8_LDI:                 howto manager.      (line 1679)
+* BFD_RELOC_AVR_LO8_LDI_GS:              howto manager.      (line 1710)
+* BFD_RELOC_AVR_LO8_LDI_NEG:             howto manager.      (line 1692)
+* BFD_RELOC_AVR_LO8_LDI_PM:              howto manager.      (line 1707)
+* BFD_RELOC_AVR_LO8_LDI_PM_NEG:          howto manager.      (line 1727)
+* BFD_RELOC_AVR_MS8_LDI:                 howto manager.      (line 1689)
+* BFD_RELOC_AVR_MS8_LDI_NEG:             howto manager.      (line 1704)
+* BFD_RELOC_AVR_PORT5:                   howto manager.      (line 1774)
+* BFD_RELOC_AVR_PORT6:                   howto manager.      (line 1771)
+* BFD_RELOC_BFIN_10_PCREL:               howto manager.      (line 1065)
+* BFD_RELOC_BFIN_11_PCREL:               howto manager.      (line 1067)
+* BFD_RELOC_BFIN_12_PCREL_JUMP:          howto manager.      (line 1069)
+* BFD_RELOC_BFIN_12_PCREL_JUMP_S:        howto manager.      (line 1071)
+* BFD_RELOC_BFIN_16_HIGH:                howto manager.      (line 1057)
+* BFD_RELOC_BFIN_16_IMM:                 howto manager.      (line 1055)
+* BFD_RELOC_BFIN_16_LOW:                 howto manager.      (line 1063)
+* BFD_RELOC_BFIN_24_PCREL_CALL_X:        howto manager.      (line 1073)
+* BFD_RELOC_BFIN_24_PCREL_JUMP_L:        howto manager.      (line 1075)
+* BFD_RELOC_BFIN_4_PCREL:                howto manager.      (line 1059)
+* BFD_RELOC_BFIN_5_PCREL:                howto manager.      (line 1061)
+* BFD_RELOC_BFIN_FUNCDESC:               howto manager.      (line 1080)
+* BFD_RELOC_BFIN_FUNCDESC_GOT17M4:       howto manager.      (line 1081)
+* BFD_RELOC_BFIN_FUNCDESC_GOTHI:         howto manager.      (line 1082)
+* BFD_RELOC_BFIN_FUNCDESC_GOTLO:         howto manager.      (line 1083)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4:    howto manager.      (line 1085)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI:      howto manager.      (line 1086)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO:      howto manager.      (line 1087)
+* BFD_RELOC_BFIN_FUNCDESC_VALUE:         howto manager.      (line 1084)
+* BFD_RELOC_BFIN_GOT:                    howto manager.      (line 1092)
+* BFD_RELOC_BFIN_GOT17M4:                howto manager.      (line 1077)
+* BFD_RELOC_BFIN_GOTHI:                  howto manager.      (line 1078)
+* BFD_RELOC_BFIN_GOTLO:                  howto manager.      (line 1079)
+* BFD_RELOC_BFIN_GOTOFF17M4:             howto manager.      (line 1088)
+* BFD_RELOC_BFIN_GOTOFFHI:               howto manager.      (line 1089)
+* BFD_RELOC_BFIN_GOTOFFLO:               howto manager.      (line 1090)
+* BFD_RELOC_BFIN_PLTPC:                  howto manager.      (line 1094)
+* BFD_RELOC_C6000_ABS_H16:               howto manager.      (line 1515)
+* BFD_RELOC_C6000_ABS_L16:               howto manager.      (line 1514)
+* BFD_RELOC_C6000_ABS_S16:               howto manager.      (line 1513)
+* BFD_RELOC_C6000_ALIGN:                 howto manager.      (line 1536)
+* BFD_RELOC_C6000_COPY:                  howto manager.      (line 1531)
+* BFD_RELOC_C6000_DSBT_INDEX:            howto manager.      (line 1529)
+* BFD_RELOC_C6000_EHTYPE:                howto manager.      (line 1533)
+* BFD_RELOC_C6000_FPHEAD:                howto manager.      (line 1537)
+* BFD_RELOC_C6000_JUMP_SLOT:             howto manager.      (line 1532)
+* BFD_RELOC_C6000_NOCMP:                 howto manager.      (line 1538)
+* BFD_RELOC_C6000_PCR_H16:               howto manager.      (line 1534)
+* BFD_RELOC_C6000_PCR_L16:               howto manager.      (line 1535)
+* BFD_RELOC_C6000_PCR_S10:               howto manager.      (line 1511)
+* BFD_RELOC_C6000_PCR_S12:               howto manager.      (line 1510)
+* BFD_RELOC_C6000_PCR_S21:               howto manager.      (line 1509)
+* BFD_RELOC_C6000_PCR_S7:                howto manager.      (line 1512)
+* BFD_RELOC_C6000_PREL31:                howto manager.      (line 1530)
+* BFD_RELOC_C6000_SBR_GOT_H16_W:         howto manager.      (line 1528)
+* BFD_RELOC_C6000_SBR_GOT_L16_W:         howto manager.      (line 1527)
+* BFD_RELOC_C6000_SBR_GOT_U15_W:         howto manager.      (line 1526)
+* BFD_RELOC_C6000_SBR_H16_B:             howto manager.      (line 1523)
+* BFD_RELOC_C6000_SBR_H16_H:             howto manager.      (line 1524)
+* BFD_RELOC_C6000_SBR_H16_W:             howto manager.      (line 1525)
+* BFD_RELOC_C6000_SBR_L16_B:             howto manager.      (line 1520)
+* BFD_RELOC_C6000_SBR_L16_H:             howto manager.      (line 1521)
+* BFD_RELOC_C6000_SBR_L16_W:             howto manager.      (line 1522)
+* BFD_RELOC_C6000_SBR_S16:               howto manager.      (line 1519)
+* BFD_RELOC_C6000_SBR_U15_B:             howto manager.      (line 1516)
+* BFD_RELOC_C6000_SBR_U15_H:             howto manager.      (line 1517)
+* BFD_RELOC_C6000_SBR_U15_W:             howto manager.      (line 1518)
 * bfd_reloc_code_type:                   howto manager.      (line    9)
-* BFD_RELOC_CR16_ABS20:                  howto manager.      (line 2248)
-* BFD_RELOC_CR16_ABS24:                  howto manager.      (line 2249)
-* BFD_RELOC_CR16_DISP16:                 howto manager.      (line 2259)
-* BFD_RELOC_CR16_DISP20:                 howto manager.      (line 2260)
-* BFD_RELOC_CR16_DISP24:                 howto manager.      (line 2261)
-* BFD_RELOC_CR16_DISP24a:                howto manager.      (line 2262)
-* BFD_RELOC_CR16_DISP4:                  howto manager.      (line 2257)
-* BFD_RELOC_CR16_DISP8:                  howto manager.      (line 2258)
-* BFD_RELOC_CR16_GLOB_DAT:               howto manager.      (line 2268)
-* BFD_RELOC_CR16_GOTC_REGREL20:          howto manager.      (line 2267)
-* BFD_RELOC_CR16_GOT_REGREL20:           howto manager.      (line 2266)
-* BFD_RELOC_CR16_IMM16:                  howto manager.      (line 2252)
-* BFD_RELOC_CR16_IMM20:                  howto manager.      (line 2253)
-* BFD_RELOC_CR16_IMM24:                  howto manager.      (line 2254)
-* BFD_RELOC_CR16_IMM32:                  howto manager.      (line 2255)
-* BFD_RELOC_CR16_IMM32a:                 howto manager.      (line 2256)
-* BFD_RELOC_CR16_IMM4:                   howto manager.      (line 2250)
-* BFD_RELOC_CR16_IMM8:                   howto manager.      (line 2251)
-* BFD_RELOC_CR16_NUM16:                  howto manager.      (line 2237)
-* BFD_RELOC_CR16_NUM32:                  howto manager.      (line 2238)
-* BFD_RELOC_CR16_NUM32a:                 howto manager.      (line 2239)
-* BFD_RELOC_CR16_NUM8:                   howto manager.      (line 2236)
-* BFD_RELOC_CR16_REGREL0:                howto manager.      (line 2240)
-* BFD_RELOC_CR16_REGREL14:               howto manager.      (line 2243)
-* BFD_RELOC_CR16_REGREL14a:              howto manager.      (line 2244)
-* BFD_RELOC_CR16_REGREL16:               howto manager.      (line 2245)
-* BFD_RELOC_CR16_REGREL20:               howto manager.      (line 2246)
-* BFD_RELOC_CR16_REGREL20a:              howto manager.      (line 2247)
-* BFD_RELOC_CR16_REGREL4:                howto manager.      (line 2241)
-* BFD_RELOC_CR16_REGREL4a:               howto manager.      (line 2242)
-* BFD_RELOC_CR16_SWITCH16:               howto manager.      (line 2264)
-* BFD_RELOC_CR16_SWITCH32:               howto manager.      (line 2265)
-* BFD_RELOC_CR16_SWITCH8:                howto manager.      (line 2263)
-* BFD_RELOC_CRIS_16_DTPREL:              howto manager.      (line 2328)
-* BFD_RELOC_CRIS_16_GOT:                 howto manager.      (line 2310)
-* BFD_RELOC_CRIS_16_GOTPLT:              howto manager.      (line 2314)
-* BFD_RELOC_CRIS_16_GOT_GD:              howto manager.      (line 2324)
-* BFD_RELOC_CRIS_16_GOT_TPREL:           howto manager.      (line 2330)
-* BFD_RELOC_CRIS_16_TPREL:               howto manager.      (line 2332)
-* BFD_RELOC_CRIS_32_DTPREL:              howto manager.      (line 2327)
-* BFD_RELOC_CRIS_32_GD:                  howto manager.      (line 2325)
-* BFD_RELOC_CRIS_32_GOT:                 howto manager.      (line 2308)
-* BFD_RELOC_CRIS_32_GOTPLT:              howto manager.      (line 2312)
-* BFD_RELOC_CRIS_32_GOTREL:              howto manager.      (line 2316)
-* BFD_RELOC_CRIS_32_GOT_GD:              howto manager.      (line 2323)
-* BFD_RELOC_CRIS_32_GOT_TPREL:           howto manager.      (line 2329)
-* BFD_RELOC_CRIS_32_IE:                  howto manager.      (line 2334)
-* BFD_RELOC_CRIS_32_PLT_GOTREL:          howto manager.      (line 2318)
-* BFD_RELOC_CRIS_32_PLT_PCREL:           howto manager.      (line 2320)
-* BFD_RELOC_CRIS_32_TPREL:               howto manager.      (line 2331)
-* BFD_RELOC_CRIS_BDISP8:                 howto manager.      (line 2291)
-* BFD_RELOC_CRIS_COPY:                   howto manager.      (line 2303)
-* BFD_RELOC_CRIS_DTP:                    howto manager.      (line 2326)
-* BFD_RELOC_CRIS_DTPMOD:                 howto manager.      (line 2333)
-* BFD_RELOC_CRIS_GLOB_DAT:               howto manager.      (line 2304)
-* BFD_RELOC_CRIS_JUMP_SLOT:              howto manager.      (line 2305)
-* BFD_RELOC_CRIS_LAPCQ_OFFSET:           howto manager.      (line 2299)
-* BFD_RELOC_CRIS_RELATIVE:               howto manager.      (line 2306)
-* BFD_RELOC_CRIS_SIGNED_16:              howto manager.      (line 2297)
-* BFD_RELOC_CRIS_SIGNED_6:               howto manager.      (line 2293)
-* BFD_RELOC_CRIS_SIGNED_8:               howto manager.      (line 2295)
-* BFD_RELOC_CRIS_UNSIGNED_16:            howto manager.      (line 2298)
-* BFD_RELOC_CRIS_UNSIGNED_4:             howto manager.      (line 2300)
-* BFD_RELOC_CRIS_UNSIGNED_5:             howto manager.      (line 2292)
-* BFD_RELOC_CRIS_UNSIGNED_6:             howto manager.      (line 2294)
-* BFD_RELOC_CRIS_UNSIGNED_8:             howto manager.      (line 2296)
-* BFD_RELOC_CRX_ABS16:                   howto manager.      (line 2280)
-* BFD_RELOC_CRX_ABS32:                   howto manager.      (line 2281)
-* BFD_RELOC_CRX_IMM16:                   howto manager.      (line 2285)
-* BFD_RELOC_CRX_IMM32:                   howto manager.      (line 2286)
-* BFD_RELOC_CRX_NUM16:                   howto manager.      (line 2283)
-* BFD_RELOC_CRX_NUM32:                   howto manager.      (line 2284)
-* BFD_RELOC_CRX_NUM8:                    howto manager.      (line 2282)
-* BFD_RELOC_CRX_REGREL12:                howto manager.      (line 2276)
-* BFD_RELOC_CRX_REGREL22:                howto manager.      (line 2277)
-* BFD_RELOC_CRX_REGREL28:                howto manager.      (line 2278)
-* BFD_RELOC_CRX_REGREL32:                howto manager.      (line 2279)
-* BFD_RELOC_CRX_REL16:                   howto manager.      (line 2273)
-* BFD_RELOC_CRX_REL24:                   howto manager.      (line 2274)
-* BFD_RELOC_CRX_REL32:                   howto manager.      (line 2275)
-* BFD_RELOC_CRX_REL4:                    howto manager.      (line 2270)
-* BFD_RELOC_CRX_REL8:                    howto manager.      (line 2271)
-* BFD_RELOC_CRX_REL8_CMP:                howto manager.      (line 2272)
-* BFD_RELOC_CRX_SWITCH16:                howto manager.      (line 2288)
-* BFD_RELOC_CRX_SWITCH32:                howto manager.      (line 2289)
-* BFD_RELOC_CRX_SWITCH8:                 howto manager.      (line 2287)
-* BFD_RELOC_CTOR:                        howto manager.      (line  732)
-* BFD_RELOC_D10V_10_PCREL_L:             howto manager.      (line 1135)
-* BFD_RELOC_D10V_10_PCREL_R:             howto manager.      (line 1132)
-* BFD_RELOC_D10V_18:                     howto manager.      (line 1139)
-* BFD_RELOC_D10V_18_PCREL:               howto manager.      (line 1141)
-* BFD_RELOC_D30V_15:                     howto manager.      (line 1152)
-* BFD_RELOC_D30V_15_PCREL:               howto manager.      (line 1155)
-* BFD_RELOC_D30V_15_PCREL_R:             howto manager.      (line 1158)
-* BFD_RELOC_D30V_21:                     howto manager.      (line 1162)
-* BFD_RELOC_D30V_21_PCREL:               howto manager.      (line 1165)
-* BFD_RELOC_D30V_21_PCREL_R:             howto manager.      (line 1168)
-* BFD_RELOC_D30V_32:                     howto manager.      (line 1172)
-* BFD_RELOC_D30V_32_PCREL:               howto manager.      (line 1174)
-* BFD_RELOC_D30V_6:                      howto manager.      (line 1143)
-* BFD_RELOC_D30V_9_PCREL:                howto manager.      (line 1145)
-* BFD_RELOC_D30V_9_PCREL_R:              howto manager.      (line 1148)
-* BFD_RELOC_DLX_HI16_S:                  howto manager.      (line 1176)
-* BFD_RELOC_DLX_JMP26:                   howto manager.      (line 1180)
-* BFD_RELOC_DLX_LO16:                    howto manager.      (line 1178)
-* BFD_RELOC_EPIPHANY_HIGH:               howto manager.      (line 3227)
-* BFD_RELOC_EPIPHANY_IMM11:              howto manager.      (line 3233)
-* BFD_RELOC_EPIPHANY_IMM8:               howto manager.      (line 3236)
-* BFD_RELOC_EPIPHANY_LOW:                howto manager.      (line 3229)
-* BFD_RELOC_EPIPHANY_SIMM11:             howto manager.      (line 3231)
-* BFD_RELOC_EPIPHANY_SIMM24:             howto manager.      (line 3225)
-* BFD_RELOC_EPIPHANY_SIMM8:              howto manager.      (line 3223)
-* BFD_RELOC_FR30_10_IN_8:                howto manager.      (line 1550)
-* BFD_RELOC_FR30_12_PCREL:               howto manager.      (line 1556)
-* BFD_RELOC_FR30_20:                     howto manager.      (line 1538)
-* BFD_RELOC_FR30_48:                     howto manager.      (line 1536)
-* BFD_RELOC_FR30_6_IN_4:                 howto manager.      (line 1541)
-* BFD_RELOC_FR30_8_IN_8:                 howto manager.      (line 1544)
-* BFD_RELOC_FR30_9_IN_8:                 howto manager.      (line 1547)
-* BFD_RELOC_FR30_9_PCREL:                howto manager.      (line 1553)
-* BFD_RELOC_FRV_FUNCDESC:                howto manager.      (line  455)
-* BFD_RELOC_FRV_FUNCDESC_GOT12:          howto manager.      (line  456)
-* BFD_RELOC_FRV_FUNCDESC_GOTHI:          howto manager.      (line  457)
-* BFD_RELOC_FRV_FUNCDESC_GOTLO:          howto manager.      (line  458)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFF12:       howto manager.      (line  460)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFFHI:       howto manager.      (line  461)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFFLO:       howto manager.      (line  462)
-* BFD_RELOC_FRV_FUNCDESC_VALUE:          howto manager.      (line  459)
-* BFD_RELOC_FRV_GETTLSOFF:               howto manager.      (line  466)
-* BFD_RELOC_FRV_GETTLSOFF_RELAX:         howto manager.      (line  479)
-* BFD_RELOC_FRV_GOT12:                   howto manager.      (line  452)
-* BFD_RELOC_FRV_GOTHI:                   howto manager.      (line  453)
-* BFD_RELOC_FRV_GOTLO:                   howto manager.      (line  454)
-* BFD_RELOC_FRV_GOTOFF12:                howto manager.      (line  463)
-* BFD_RELOC_FRV_GOTOFFHI:                howto manager.      (line  464)
-* BFD_RELOC_FRV_GOTOFFLO:                howto manager.      (line  465)
-* BFD_RELOC_FRV_GOTTLSDESC12:            howto manager.      (line  468)
-* BFD_RELOC_FRV_GOTTLSDESCHI:            howto manager.      (line  469)
-* BFD_RELOC_FRV_GOTTLSDESCLO:            howto manager.      (line  470)
-* BFD_RELOC_FRV_GOTTLSOFF12:             howto manager.      (line  474)
-* BFD_RELOC_FRV_GOTTLSOFFHI:             howto manager.      (line  475)
-* BFD_RELOC_FRV_GOTTLSOFFLO:             howto manager.      (line  476)
-* BFD_RELOC_FRV_GPREL12:                 howto manager.      (line  447)
-* BFD_RELOC_FRV_GPREL32:                 howto manager.      (line  449)
-* BFD_RELOC_FRV_GPRELHI:                 howto manager.      (line  450)
-* BFD_RELOC_FRV_GPRELLO:                 howto manager.      (line  451)
-* BFD_RELOC_FRV_GPRELU12:                howto manager.      (line  448)
-* BFD_RELOC_FRV_HI16:                    howto manager.      (line  446)
-* BFD_RELOC_FRV_LABEL16:                 howto manager.      (line  443)
-* BFD_RELOC_FRV_LABEL24:                 howto manager.      (line  444)
-* BFD_RELOC_FRV_LO16:                    howto manager.      (line  445)
-* BFD_RELOC_FRV_TLSDESC_RELAX:           howto manager.      (line  478)
-* BFD_RELOC_FRV_TLSDESC_VALUE:           howto manager.      (line  467)
-* BFD_RELOC_FRV_TLSMOFF:                 howto manager.      (line  481)
-* BFD_RELOC_FRV_TLSMOFF12:               howto manager.      (line  471)
-* BFD_RELOC_FRV_TLSMOFFHI:               howto manager.      (line  472)
-* BFD_RELOC_FRV_TLSMOFFLO:               howto manager.      (line  473)
-* BFD_RELOC_FRV_TLSOFF:                  howto manager.      (line  477)
-* BFD_RELOC_FRV_TLSOFF_RELAX:            howto manager.      (line  480)
-* BFD_RELOC_FT32_10:                     howto manager.      (line  433)
-* BFD_RELOC_FT32_15:                     howto manager.      (line  440)
-* BFD_RELOC_FT32_17:                     howto manager.      (line  435)
-* BFD_RELOC_FT32_18:                     howto manager.      (line  436)
-* BFD_RELOC_FT32_20:                     howto manager.      (line  434)
-* BFD_RELOC_FT32_DIFF32:                 howto manager.      (line  441)
-* BFD_RELOC_FT32_RELAX:                  howto manager.      (line  437)
-* BFD_RELOC_FT32_SC0:                    howto manager.      (line  438)
-* BFD_RELOC_FT32_SC1:                    howto manager.      (line  439)
-* BFD_RELOC_GPREL16:                     howto manager.      (line  114)
-* BFD_RELOC_GPREL32:                     howto manager.      (line  115)
-* BFD_RELOC_H8_DIR16A8:                  howto manager.      (line 2394)
-* BFD_RELOC_H8_DIR16R8:                  howto manager.      (line 2395)
-* BFD_RELOC_H8_DIR24A8:                  howto manager.      (line 2396)
-* BFD_RELOC_H8_DIR24R8:                  howto manager.      (line 2397)
-* BFD_RELOC_H8_DIR32A16:                 howto manager.      (line 2398)
-* BFD_RELOC_H8_DISP32A16:                howto manager.      (line 2399)
-* BFD_RELOC_HI16:                        howto manager.      (line  316)
-* BFD_RELOC_HI16_BASEREL:                howto manager.      (line   94)
-* BFD_RELOC_HI16_GOTOFF:                 howto manager.      (line   53)
-* BFD_RELOC_HI16_PCREL:                  howto manager.      (line  325)
-* BFD_RELOC_HI16_PLTOFF:                 howto manager.      (line   65)
-* BFD_RELOC_HI16_S:                      howto manager.      (line  318)
-* BFD_RELOC_HI16_S_BASEREL:              howto manager.      (line   95)
-* BFD_RELOC_HI16_S_GOTOFF:               howto manager.      (line   54)
-* BFD_RELOC_HI16_S_PCREL:                howto manager.      (line  327)
-* BFD_RELOC_HI16_S_PLTOFF:               howto manager.      (line   66)
-* BFD_RELOC_HI22:                        howto manager.      (line  110)
-* BFD_RELOC_I370_D12:                    howto manager.      (line  730)
-* BFD_RELOC_I960_CALLJ:                  howto manager.      (line  120)
-* BFD_RELOC_IA64_COPY:                   howto manager.      (line 2097)
-* BFD_RELOC_IA64_DIR32LSB:               howto manager.      (line 2042)
-* BFD_RELOC_IA64_DIR32MSB:               howto manager.      (line 2041)
-* BFD_RELOC_IA64_DIR64LSB:               howto manager.      (line 2044)
-* BFD_RELOC_IA64_DIR64MSB:               howto manager.      (line 2043)
-* BFD_RELOC_IA64_DTPMOD64LSB:            howto manager.      (line 2107)
-* BFD_RELOC_IA64_DTPMOD64MSB:            howto manager.      (line 2106)
-* BFD_RELOC_IA64_DTPREL14:               howto manager.      (line 2109)
-* BFD_RELOC_IA64_DTPREL22:               howto manager.      (line 2110)
-* BFD_RELOC_IA64_DTPREL32LSB:            howto manager.      (line 2113)
-* BFD_RELOC_IA64_DTPREL32MSB:            howto manager.      (line 2112)
-* BFD_RELOC_IA64_DTPREL64I:              howto manager.      (line 2111)
-* BFD_RELOC_IA64_DTPREL64LSB:            howto manager.      (line 2115)
-* BFD_RELOC_IA64_DTPREL64MSB:            howto manager.      (line 2114)
-* BFD_RELOC_IA64_FPTR32LSB:              howto manager.      (line 2059)
-* BFD_RELOC_IA64_FPTR32MSB:              howto manager.      (line 2058)
-* BFD_RELOC_IA64_FPTR64I:                howto manager.      (line 2057)
-* BFD_RELOC_IA64_FPTR64LSB:              howto manager.      (line 2061)
-* BFD_RELOC_IA64_FPTR64MSB:              howto manager.      (line 2060)
-* BFD_RELOC_IA64_GPREL22:                howto manager.      (line 2045)
-* BFD_RELOC_IA64_GPREL32LSB:             howto manager.      (line 2048)
-* BFD_RELOC_IA64_GPREL32MSB:             howto manager.      (line 2047)
-* BFD_RELOC_IA64_GPREL64I:               howto manager.      (line 2046)
-* BFD_RELOC_IA64_GPREL64LSB:             howto manager.      (line 2050)
-* BFD_RELOC_IA64_GPREL64MSB:             howto manager.      (line 2049)
-* BFD_RELOC_IA64_IMM14:                  howto manager.      (line 2038)
-* BFD_RELOC_IA64_IMM22:                  howto manager.      (line 2039)
-* BFD_RELOC_IA64_IMM64:                  howto manager.      (line 2040)
-* BFD_RELOC_IA64_IPLTLSB:                howto manager.      (line 2096)
-* BFD_RELOC_IA64_IPLTMSB:                howto manager.      (line 2095)
-* BFD_RELOC_IA64_LDXMOV:                 howto manager.      (line 2099)
-* BFD_RELOC_IA64_LTOFF22:                howto manager.      (line 2051)
-* BFD_RELOC_IA64_LTOFF22X:               howto manager.      (line 2098)
-* BFD_RELOC_IA64_LTOFF64I:               howto manager.      (line 2052)
-* BFD_RELOC_IA64_LTOFF_DTPMOD22:         howto manager.      (line 2108)
-* BFD_RELOC_IA64_LTOFF_DTPREL22:         howto manager.      (line 2116)
-* BFD_RELOC_IA64_LTOFF_FPTR22:           howto manager.      (line 2073)
-* BFD_RELOC_IA64_LTOFF_FPTR32LSB:        howto manager.      (line 2076)
-* BFD_RELOC_IA64_LTOFF_FPTR32MSB:        howto manager.      (line 2075)
-* BFD_RELOC_IA64_LTOFF_FPTR64I:          howto manager.      (line 2074)
-* BFD_RELOC_IA64_LTOFF_FPTR64LSB:        howto manager.      (line 2078)
-* BFD_RELOC_IA64_LTOFF_FPTR64MSB:        howto manager.      (line 2077)
-* BFD_RELOC_IA64_LTOFF_TPREL22:          howto manager.      (line 2105)
-* BFD_RELOC_IA64_LTV32LSB:               howto manager.      (line 2092)
-* BFD_RELOC_IA64_LTV32MSB:               howto manager.      (line 2091)
-* BFD_RELOC_IA64_LTV64LSB:               howto manager.      (line 2094)
-* BFD_RELOC_IA64_LTV64MSB:               howto manager.      (line 2093)
-* BFD_RELOC_IA64_PCREL21B:               howto manager.      (line 2062)
-* BFD_RELOC_IA64_PCREL21BI:              howto manager.      (line 2063)
-* BFD_RELOC_IA64_PCREL21F:               howto manager.      (line 2065)
-* BFD_RELOC_IA64_PCREL21M:               howto manager.      (line 2064)
-* BFD_RELOC_IA64_PCREL22:                howto manager.      (line 2066)
-* BFD_RELOC_IA64_PCREL32LSB:             howto manager.      (line 2070)
-* BFD_RELOC_IA64_PCREL32MSB:             howto manager.      (line 2069)
-* BFD_RELOC_IA64_PCREL60B:               howto manager.      (line 2067)
-* BFD_RELOC_IA64_PCREL64I:               howto manager.      (line 2068)
-* BFD_RELOC_IA64_PCREL64LSB:             howto manager.      (line 2072)
-* BFD_RELOC_IA64_PCREL64MSB:             howto manager.      (line 2071)
-* BFD_RELOC_IA64_PLTOFF22:               howto manager.      (line 2053)
-* BFD_RELOC_IA64_PLTOFF64I:              howto manager.      (line 2054)
-* BFD_RELOC_IA64_PLTOFF64LSB:            howto manager.      (line 2056)
-* BFD_RELOC_IA64_PLTOFF64MSB:            howto manager.      (line 2055)
-* BFD_RELOC_IA64_REL32LSB:               howto manager.      (line 2088)
-* BFD_RELOC_IA64_REL32MSB:               howto manager.      (line 2087)
-* BFD_RELOC_IA64_REL64LSB:               howto manager.      (line 2090)
-* BFD_RELOC_IA64_REL64MSB:               howto manager.      (line 2089)
-* BFD_RELOC_IA64_SECREL32LSB:            howto manager.      (line 2084)
-* BFD_RELOC_IA64_SECREL32MSB:            howto manager.      (line 2083)
-* BFD_RELOC_IA64_SECREL64LSB:            howto manager.      (line 2086)
-* BFD_RELOC_IA64_SECREL64MSB:            howto manager.      (line 2085)
-* BFD_RELOC_IA64_SEGREL32LSB:            howto manager.      (line 2080)
-* BFD_RELOC_IA64_SEGREL32MSB:            howto manager.      (line 2079)
-* BFD_RELOC_IA64_SEGREL64LSB:            howto manager.      (line 2082)
-* BFD_RELOC_IA64_SEGREL64MSB:            howto manager.      (line 2081)
-* BFD_RELOC_IA64_TPREL14:                howto manager.      (line 2100)
-* BFD_RELOC_IA64_TPREL22:                howto manager.      (line 2101)
-* BFD_RELOC_IA64_TPREL64I:               howto manager.      (line 2102)
-* BFD_RELOC_IA64_TPREL64LSB:             howto manager.      (line 2104)
-* BFD_RELOC_IA64_TPREL64MSB:             howto manager.      (line 2103)
-* BFD_RELOC_IP2K_ADDR16CJP:              howto manager.      (line 1999)
-* BFD_RELOC_IP2K_BANK:                   howto manager.      (line 1997)
-* BFD_RELOC_IP2K_EX8DATA:                howto manager.      (line 2005)
-* BFD_RELOC_IP2K_FR9:                    howto manager.      (line 1995)
-* BFD_RELOC_IP2K_FR_OFFSET:              howto manager.      (line 2014)
-* BFD_RELOC_IP2K_HI8DATA:                howto manager.      (line 2004)
-* BFD_RELOC_IP2K_HI8INSN:                howto manager.      (line 2008)
-* BFD_RELOC_IP2K_LO8DATA:                howto manager.      (line 2003)
-* BFD_RELOC_IP2K_LO8INSN:                howto manager.      (line 2007)
-* BFD_RELOC_IP2K_PAGE3:                  howto manager.      (line 2001)
-* BFD_RELOC_IP2K_PC_SKIP:                howto manager.      (line 2010)
-* BFD_RELOC_IP2K_TEXT:                   howto manager.      (line 2012)
-* BFD_RELOC_IQ2000_OFFSET_16:            howto manager.      (line 2533)
-* BFD_RELOC_IQ2000_OFFSET_21:            howto manager.      (line 2534)
-* BFD_RELOC_IQ2000_UHI16:                howto manager.      (line 2535)
-* BFD_RELOC_LM32_16_GOT:                 howto manager.      (line 2625)
-* BFD_RELOC_LM32_BRANCH:                 howto manager.      (line 2624)
-* BFD_RELOC_LM32_CALL:                   howto manager.      (line 2623)
-* BFD_RELOC_LM32_COPY:                   howto manager.      (line 2628)
-* BFD_RELOC_LM32_GLOB_DAT:               howto manager.      (line 2629)
-* BFD_RELOC_LM32_GOTOFF_HI16:            howto manager.      (line 2626)
-* BFD_RELOC_LM32_GOTOFF_LO16:            howto manager.      (line 2627)
-* BFD_RELOC_LM32_JMP_SLOT:               howto manager.      (line 2630)
-* BFD_RELOC_LM32_RELATIVE:               howto manager.      (line 2631)
-* BFD_RELOC_LO10:                        howto manager.      (line  111)
-* BFD_RELOC_LO16:                        howto manager.      (line  323)
-* BFD_RELOC_LO16_BASEREL:                howto manager.      (line   93)
-* BFD_RELOC_LO16_GOTOFF:                 howto manager.      (line   52)
-* BFD_RELOC_LO16_PCREL:                  howto manager.      (line  329)
-* BFD_RELOC_LO16_PLTOFF:                 howto manager.      (line   64)
-* BFD_RELOC_M32C_HI8:                    howto manager.      (line 1182)
-* BFD_RELOC_M32C_RL_1ADDR:               howto manager.      (line 1184)
-* BFD_RELOC_M32C_RL_2ADDR:               howto manager.      (line 1185)
-* BFD_RELOC_M32C_RL_JUMP:                howto manager.      (line 1183)
-* BFD_RELOC_M32R_10_PCREL:               howto manager.      (line 1190)
-* BFD_RELOC_M32R_18_PCREL:               howto manager.      (line 1193)
-* BFD_RELOC_M32R_24:                     howto manager.      (line 1187)
-* BFD_RELOC_M32R_26_PCREL:               howto manager.      (line 1195)
-* BFD_RELOC_M32R_26_PLTREL:              howto manager.      (line 1209)
-* BFD_RELOC_M32R_COPY:                   howto manager.      (line 1210)
-* BFD_RELOC_M32R_GLOB_DAT:               howto manager.      (line 1211)
-* BFD_RELOC_M32R_GOT16_HI_SLO:           howto manager.      (line 1220)
-* BFD_RELOC_M32R_GOT16_HI_ULO:           howto manager.      (line 1219)
-* BFD_RELOC_M32R_GOT16_LO:               howto manager.      (line 1221)
-* BFD_RELOC_M32R_GOT24:                  howto manager.      (line 1208)
-* BFD_RELOC_M32R_GOTOFF:                 howto manager.      (line 1214)
-* BFD_RELOC_M32R_GOTOFF_HI_SLO:          howto manager.      (line 1216)
-* BFD_RELOC_M32R_GOTOFF_HI_ULO:          howto manager.      (line 1215)
-* BFD_RELOC_M32R_GOTOFF_LO:              howto manager.      (line 1217)
-* BFD_RELOC_M32R_GOTPC24:                howto manager.      (line 1218)
-* BFD_RELOC_M32R_GOTPC_HI_SLO:           howto manager.      (line 1223)
-* BFD_RELOC_M32R_GOTPC_HI_ULO:           howto manager.      (line 1222)
-* BFD_RELOC_M32R_GOTPC_LO:               howto manager.      (line 1224)
-* BFD_RELOC_M32R_HI16_SLO:               howto manager.      (line 1200)
-* BFD_RELOC_M32R_HI16_ULO:               howto manager.      (line 1197)
-* BFD_RELOC_M32R_JMP_SLOT:               howto manager.      (line 1212)
-* BFD_RELOC_M32R_LO16:                   howto manager.      (line 1203)
-* BFD_RELOC_M32R_RELATIVE:               howto manager.      (line 1213)
-* BFD_RELOC_M32R_SDA16:                  howto manager.      (line 1205)
-* BFD_RELOC_M68HC11_24:                  howto manager.      (line 2144)
-* BFD_RELOC_M68HC11_3B:                  howto manager.      (line 2124)
-* BFD_RELOC_M68HC11_HI8:                 howto manager.      (line 2118)
-* BFD_RELOC_M68HC11_LO16:                howto manager.      (line 2135)
-* BFD_RELOC_M68HC11_LO8:                 howto manager.      (line 2121)
-* BFD_RELOC_M68HC11_PAGE:                howto manager.      (line 2140)
-* BFD_RELOC_M68HC11_RL_GROUP:            howto manager.      (line 2131)
-* BFD_RELOC_M68HC11_RL_JUMP:             howto manager.      (line 2126)
-* BFD_RELOC_M68HC12_10_PCREL:            howto manager.      (line 2187)
-* BFD_RELOC_M68HC12_16B:                 howto manager.      (line 2183)
-* BFD_RELOC_M68HC12_5B:                  howto manager.      (line 2149)
-* BFD_RELOC_M68HC12_9B:                  howto manager.      (line 2181)
-* BFD_RELOC_M68HC12_9_PCREL:             howto manager.      (line 2185)
-* BFD_RELOC_M68HC12_HI8XG:               howto manager.      (line 2192)
-* BFD_RELOC_M68HC12_LO8XG:               howto manager.      (line 2189)
-* BFD_RELOC_MACH_O_ARM64_ADDEND:         howto manager.      (line 2659)
-* BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21: howto manager.     (line 2661)
-* BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12: howto manager.  (line 2663)
-* BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT: howto manager.      (line 2665)
-* BFD_RELOC_MACH_O_LOCAL_SECTDIFF:       howto manager.      (line 2636)
-* BFD_RELOC_MACH_O_PAIR:                 howto manager.      (line 2638)
-* BFD_RELOC_MACH_O_SECTDIFF:             howto manager.      (line 2633)
-* BFD_RELOC_MACH_O_SUBTRACTOR32:         howto manager.      (line 2640)
-* BFD_RELOC_MACH_O_SUBTRACTOR64:         howto manager.      (line 2642)
-* BFD_RELOC_MACH_O_X86_64_BRANCH32:      howto manager.      (line 2644)
-* BFD_RELOC_MACH_O_X86_64_BRANCH8:       howto manager.      (line 2645)
-* BFD_RELOC_MACH_O_X86_64_GOT:           howto manager.      (line 2648)
-* BFD_RELOC_MACH_O_X86_64_GOT_LOAD:      howto manager.      (line 2650)
-* BFD_RELOC_MACH_O_X86_64_PCREL32_1:     howto manager.      (line 2653)
-* BFD_RELOC_MACH_O_X86_64_PCREL32_2:     howto manager.      (line 2655)
-* BFD_RELOC_MACH_O_X86_64_PCREL32_4:     howto manager.      (line 2657)
-* BFD_RELOC_MCORE_PCREL_32:              howto manager.      (line 1562)
-* BFD_RELOC_MCORE_PCREL_IMM11BY2:        howto manager.      (line 1560)
-* BFD_RELOC_MCORE_PCREL_IMM4BY2:         howto manager.      (line 1561)
-* BFD_RELOC_MCORE_PCREL_IMM8BY4:         howto manager.      (line 1559)
-* BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2:    howto manager.      (line 1563)
-* BFD_RELOC_MCORE_RVA:                   howto manager.      (line 1564)
-* BFD_RELOC_MEP_16:                      howto manager.      (line 1567)
-* BFD_RELOC_MEP_32:                      howto manager.      (line 1568)
-* BFD_RELOC_MEP_8:                       howto manager.      (line 1566)
-* BFD_RELOC_MEP_ADDR24A4:                howto manager.      (line 1583)
-* BFD_RELOC_MEP_GNU_VTENTRY:             howto manager.      (line 1585)
-* BFD_RELOC_MEP_GNU_VTINHERIT:           howto manager.      (line 1584)
-* BFD_RELOC_MEP_GPREL:                   howto manager.      (line 1577)
-* BFD_RELOC_MEP_HI16S:                   howto manager.      (line 1576)
-* BFD_RELOC_MEP_HI16U:                   howto manager.      (line 1575)
-* BFD_RELOC_MEP_LOW16:                   howto manager.      (line 1574)
-* BFD_RELOC_MEP_PCABS24A2:               howto manager.      (line 1573)
-* BFD_RELOC_MEP_PCREL12A2:               howto manager.      (line 1570)
-* BFD_RELOC_MEP_PCREL17A2:               howto manager.      (line 1571)
-* BFD_RELOC_MEP_PCREL24A2:               howto manager.      (line 1572)
-* BFD_RELOC_MEP_PCREL8A2:                howto manager.      (line 1569)
-* BFD_RELOC_MEP_TPREL:                   howto manager.      (line 1578)
-* BFD_RELOC_MEP_TPREL7:                  howto manager.      (line 1579)
-* BFD_RELOC_MEP_TPREL7A2:                howto manager.      (line 1580)
-* BFD_RELOC_MEP_TPREL7A4:                howto manager.      (line 1581)
-* BFD_RELOC_MEP_UIMM24:                  howto manager.      (line 1582)
-* BFD_RELOC_METAG_COPY:                  howto manager.      (line 1606)
-* BFD_RELOC_METAG_GETSETOFF:             howto manager.      (line 1590)
-* BFD_RELOC_METAG_GETSET_GOT:            howto manager.      (line 1598)
-* BFD_RELOC_METAG_GETSET_GOTOFF:         howto manager.      (line 1597)
-* BFD_RELOC_METAG_GLOB_DAT:              howto manager.      (line 1609)
-* BFD_RELOC_METAG_GOTOFF:                howto manager.      (line 1604)
-* BFD_RELOC_METAG_HI16_GOTOFF:           howto manager.      (line 1595)
-* BFD_RELOC_METAG_HI16_GOTPC:            howto manager.      (line 1599)
-* BFD_RELOC_METAG_HI16_PLT:              howto manager.      (line 1601)
-* BFD_RELOC_METAG_HIADDR16:              howto manager.      (line 1587)
-* BFD_RELOC_METAG_HIOG:                  howto manager.      (line 1591)
-* BFD_RELOC_METAG_JMP_SLOT:              howto manager.      (line 1607)
-* BFD_RELOC_METAG_LO16_GOTOFF:           howto manager.      (line 1596)
-* BFD_RELOC_METAG_LO16_GOTPC:            howto manager.      (line 1600)
-* BFD_RELOC_METAG_LO16_PLT:              howto manager.      (line 1602)
-* BFD_RELOC_METAG_LOADDR16:              howto manager.      (line 1588)
-* BFD_RELOC_METAG_LOOG:                  howto manager.      (line 1592)
-* BFD_RELOC_METAG_PLT:                   howto manager.      (line 1605)
-* BFD_RELOC_METAG_REL16:                 howto manager.      (line 1594)
-* BFD_RELOC_METAG_REL8:                  howto manager.      (line 1593)
-* BFD_RELOC_METAG_RELATIVE:              howto manager.      (line 1608)
-* BFD_RELOC_METAG_RELBRANCH:             howto manager.      (line 1589)
-* BFD_RELOC_METAG_RELBRANCH_PLT:         howto manager.      (line 1603)
-* BFD_RELOC_METAG_TLS_DTPMOD:            howto manager.      (line 1620)
-* BFD_RELOC_METAG_TLS_DTPOFF:            howto manager.      (line 1621)
-* BFD_RELOC_METAG_TLS_GD:                howto manager.      (line 1610)
-* BFD_RELOC_METAG_TLS_IE:                howto manager.      (line 1615)
-* BFD_RELOC_METAG_TLS_IENONPIC:          howto manager.      (line 1616)
-* BFD_RELOC_METAG_TLS_IENONPIC_HI16:     howto manager.      (line 1617)
-* BFD_RELOC_METAG_TLS_IENONPIC_LO16:     howto manager.      (line 1618)
-* BFD_RELOC_METAG_TLS_LDM:               howto manager.      (line 1611)
-* BFD_RELOC_METAG_TLS_LDO:               howto manager.      (line 1614)
-* BFD_RELOC_METAG_TLS_LDO_HI16:          howto manager.      (line 1612)
-* BFD_RELOC_METAG_TLS_LDO_LO16:          howto manager.      (line 1613)
-* BFD_RELOC_METAG_TLS_LE:                howto manager.      (line 1622)
-* BFD_RELOC_METAG_TLS_LE_HI16:           howto manager.      (line 1623)
-* BFD_RELOC_METAG_TLS_LE_LO16:           howto manager.      (line 1624)
-* BFD_RELOC_METAG_TLS_TPOFF:             howto manager.      (line 1619)
-* BFD_RELOC_MICROBLAZE_32_GOTOFF:        howto manager.      (line 2701)
-* BFD_RELOC_MICROBLAZE_32_LO:            howto manager.      (line 2667)
-* BFD_RELOC_MICROBLAZE_32_LO_PCREL:      howto manager.      (line 2670)
-* BFD_RELOC_MICROBLAZE_32_ROSDA:         howto manager.      (line 2673)
-* BFD_RELOC_MICROBLAZE_32_RWSDA:         howto manager.      (line 2676)
-* BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:    howto manager.      (line 2679)
-* BFD_RELOC_MICROBLAZE_32_TLSDTPMOD:     howto manager.      (line 2717)
-* BFD_RELOC_MICROBLAZE_32_TLSDTPREL:     howto manager.      (line 2719)
-* BFD_RELOC_MICROBLAZE_64_GOT:           howto manager.      (line 2690)
-* BFD_RELOC_MICROBLAZE_64_GOTOFF:        howto manager.      (line 2697)
-* BFD_RELOC_MICROBLAZE_64_GOTPC:         howto manager.      (line 2686)
-* BFD_RELOC_MICROBLAZE_64_NONE:          howto manager.      (line 2682)
-* BFD_RELOC_MICROBLAZE_64_PLT:           howto manager.      (line 2693)
-* BFD_RELOC_MICROBLAZE_64_TLS:           howto manager.      (line 2707)
-* BFD_RELOC_MICROBLAZE_64_TLSDTPREL:     howto manager.      (line 2721)
-* BFD_RELOC_MICROBLAZE_64_TLSGD:         howto manager.      (line 2709)
-* BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL:   howto manager.      (line 2724)
-* BFD_RELOC_MICROBLAZE_64_TLSLD:         howto manager.      (line 2713)
-* BFD_RELOC_MICROBLAZE_64_TLSTPREL:      howto manager.      (line 2727)
-* BFD_RELOC_MICROBLAZE_COPY:             howto manager.      (line 2704)
-* BFD_RELOC_MICROMIPS_10_PCREL_S1:       howto manager.      (line  356)
-* BFD_RELOC_MICROMIPS_16_PCREL_S1:       howto manager.      (line  357)
-* BFD_RELOC_MICROMIPS_7_PCREL_S1:        howto manager.      (line  355)
-* BFD_RELOC_MICROMIPS_CALL16:            howto manager.      (line  374)
-* BFD_RELOC_MICROMIPS_CALL_HI16:         howto manager.      (line  380)
-* BFD_RELOC_MICROMIPS_CALL_LO16:         howto manager.      (line  382)
-* BFD_RELOC_MICROMIPS_GOT16:             howto manager.      (line  372)
-* BFD_RELOC_MICROMIPS_GOT_DISP:          howto manager.      (line  390)
-* BFD_RELOC_MICROMIPS_GOT_HI16:          howto manager.      (line  376)
-* BFD_RELOC_MICROMIPS_GOT_LO16:          howto manager.      (line  378)
-* BFD_RELOC_MICROMIPS_GOT_OFST:          howto manager.      (line  388)
-* BFD_RELOC_MICROMIPS_GOT_PAGE:          howto manager.      (line  386)
-* BFD_RELOC_MICROMIPS_GPREL16:           howto manager.      (line  366)
-* BFD_RELOC_MICROMIPS_HI16:              howto manager.      (line  367)
-* BFD_RELOC_MICROMIPS_HI16_S:            howto manager.      (line  368)
-* BFD_RELOC_MICROMIPS_HIGHER:            howto manager.      (line  399)
-* BFD_RELOC_MICROMIPS_HIGHEST:           howto manager.      (line  397)
-* BFD_RELOC_MICROMIPS_JALR:              howto manager.      (line  405)
-* BFD_RELOC_MICROMIPS_JMP:               howto manager.      (line  310)
-* BFD_RELOC_MICROMIPS_LITERAL:           howto manager.      (line  353)
-* BFD_RELOC_MICROMIPS_LO16:              howto manager.      (line  369)
-* BFD_RELOC_MICROMIPS_SCN_DISP:          howto manager.      (line  401)
-* BFD_RELOC_MICROMIPS_SUB:               howto manager.      (line  384)
-* BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16:   howto manager.      (line  415)
-* BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16:   howto manager.      (line  417)
-* BFD_RELOC_MICROMIPS_TLS_GD:            howto manager.      (line  411)
-* BFD_RELOC_MICROMIPS_TLS_GOTTPREL:      howto manager.      (line  419)
-* BFD_RELOC_MICROMIPS_TLS_LDM:           howto manager.      (line  413)
-* BFD_RELOC_MICROMIPS_TLS_TPREL_HI16:    howto manager.      (line  423)
-* BFD_RELOC_MICROMIPS_TLS_TPREL_LO16:    howto manager.      (line  425)
-* BFD_RELOC_MIPS16_16_PCREL_S1:          howto manager.      (line  359)
-* BFD_RELOC_MIPS16_CALL16:               howto manager.      (line  332)
-* BFD_RELOC_MIPS16_GOT16:                howto manager.      (line  331)
-* BFD_RELOC_MIPS16_GPREL:                howto manager.      (line  314)
-* BFD_RELOC_MIPS16_HI16:                 howto manager.      (line  335)
-* BFD_RELOC_MIPS16_HI16_S:               howto manager.      (line  337)
-* BFD_RELOC_MIPS16_JMP:                  howto manager.      (line  312)
-* BFD_RELOC_MIPS16_LO16:                 howto manager.      (line  342)
-* BFD_RELOC_MIPS16_TLS_DTPREL_HI16:      howto manager.      (line  346)
-* BFD_RELOC_MIPS16_TLS_DTPREL_LO16:      howto manager.      (line  347)
-* BFD_RELOC_MIPS16_TLS_GD:               howto manager.      (line  344)
-* BFD_RELOC_MIPS16_TLS_GOTTPREL:         howto manager.      (line  348)
-* BFD_RELOC_MIPS16_TLS_LDM:              howto manager.      (line  345)
-* BFD_RELOC_MIPS16_TLS_TPREL_HI16:       howto manager.      (line  349)
-* BFD_RELOC_MIPS16_TLS_TPREL_LO16:       howto manager.      (line  350)
-* BFD_RELOC_MIPS_18_PCREL_S3:            howto manager.      (line  363)
-* BFD_RELOC_MIPS_19_PCREL_S2:            howto manager.      (line  364)
-* BFD_RELOC_MIPS_21_PCREL_S2:            howto manager.      (line  361)
-* BFD_RELOC_MIPS_26_PCREL_S2:            howto manager.      (line  362)
-* BFD_RELOC_MIPS_CALL16:                 howto manager.      (line  373)
-* BFD_RELOC_MIPS_CALL_HI16:              howto manager.      (line  379)
-* BFD_RELOC_MIPS_CALL_LO16:              howto manager.      (line  381)
-* BFD_RELOC_MIPS_COPY:                   howto manager.      (line  428)
-* BFD_RELOC_MIPS_DELETE:                 howto manager.      (line  395)
-* BFD_RELOC_MIPS_EH:                     howto manager.      (line  426)
-* BFD_RELOC_MIPS_GOT16:                  howto manager.      (line  371)
-* BFD_RELOC_MIPS_GOT_DISP:               howto manager.      (line  389)
-* BFD_RELOC_MIPS_GOT_HI16:               howto manager.      (line  375)
-* BFD_RELOC_MIPS_GOT_LO16:               howto manager.      (line  377)
-* BFD_RELOC_MIPS_GOT_OFST:               howto manager.      (line  387)
-* BFD_RELOC_MIPS_GOT_PAGE:               howto manager.      (line  385)
-* BFD_RELOC_MIPS_HIGHER:                 howto manager.      (line  398)
-* BFD_RELOC_MIPS_HIGHEST:                howto manager.      (line  396)
-* BFD_RELOC_MIPS_INSERT_A:               howto manager.      (line  393)
-* BFD_RELOC_MIPS_INSERT_B:               howto manager.      (line  394)
-* BFD_RELOC_MIPS_JALR:                   howto manager.      (line  404)
-* BFD_RELOC_MIPS_JMP:                    howto manager.      (line  309)
-* BFD_RELOC_MIPS_JUMP_SLOT:              howto manager.      (line  429)
-* BFD_RELOC_MIPS_LITERAL:                howto manager.      (line  352)
-* BFD_RELOC_MIPS_REL16:                  howto manager.      (line  402)
-* BFD_RELOC_MIPS_RELGOT:                 howto manager.      (line  403)
-* BFD_RELOC_MIPS_SCN_DISP:               howto manager.      (line  400)
-* BFD_RELOC_MIPS_SHIFT5:                 howto manager.      (line  391)
-* BFD_RELOC_MIPS_SHIFT6:                 howto manager.      (line  392)
-* BFD_RELOC_MIPS_SUB:                    howto manager.      (line  383)
-* BFD_RELOC_MIPS_TLS_DTPMOD32:           howto manager.      (line  406)
-* BFD_RELOC_MIPS_TLS_DTPMOD64:           howto manager.      (line  408)
-* BFD_RELOC_MIPS_TLS_DTPREL32:           howto manager.      (line  407)
-* BFD_RELOC_MIPS_TLS_DTPREL64:           howto manager.      (line  409)
-* BFD_RELOC_MIPS_TLS_DTPREL_HI16:        howto manager.      (line  414)
-* BFD_RELOC_MIPS_TLS_DTPREL_LO16:        howto manager.      (line  416)
-* BFD_RELOC_MIPS_TLS_GD:                 howto manager.      (line  410)
-* BFD_RELOC_MIPS_TLS_GOTTPREL:           howto manager.      (line  418)
-* BFD_RELOC_MIPS_TLS_LDM:                howto manager.      (line  412)
-* BFD_RELOC_MIPS_TLS_TPREL32:            howto manager.      (line  420)
-* BFD_RELOC_MIPS_TLS_TPREL64:            howto manager.      (line  421)
-* BFD_RELOC_MIPS_TLS_TPREL_HI16:         howto manager.      (line  422)
-* BFD_RELOC_MIPS_TLS_TPREL_LO16:         howto manager.      (line  424)
-* BFD_RELOC_MMIX_ADDR19:                 howto manager.      (line 1648)
-* BFD_RELOC_MMIX_ADDR27:                 howto manager.      (line 1651)
-* BFD_RELOC_MMIX_BASE_PLUS_OFFSET:       howto manager.      (line 1660)
-* BFD_RELOC_MMIX_CBRANCH:                howto manager.      (line 1631)
-* BFD_RELOC_MMIX_CBRANCH_1:              howto manager.      (line 1633)
-* BFD_RELOC_MMIX_CBRANCH_2:              howto manager.      (line 1634)
-* BFD_RELOC_MMIX_CBRANCH_3:              howto manager.      (line 1635)
-* BFD_RELOC_MMIX_CBRANCH_J:              howto manager.      (line 1632)
-* BFD_RELOC_MMIX_GETA:                   howto manager.      (line 1626)
-* BFD_RELOC_MMIX_GETA_1:                 howto manager.      (line 1627)
-* BFD_RELOC_MMIX_GETA_2:                 howto manager.      (line 1628)
-* BFD_RELOC_MMIX_GETA_3:                 howto manager.      (line 1629)
-* BFD_RELOC_MMIX_JMP:                    howto manager.      (line 1643)
-* BFD_RELOC_MMIX_JMP_1:                  howto manager.      (line 1644)
-* BFD_RELOC_MMIX_JMP_2:                  howto manager.      (line 1645)
-* BFD_RELOC_MMIX_JMP_3:                  howto manager.      (line 1646)
-* BFD_RELOC_MMIX_LOCAL:                  howto manager.      (line 1663)
-* BFD_RELOC_MMIX_PUSHJ:                  howto manager.      (line 1637)
-* BFD_RELOC_MMIX_PUSHJ_1:                howto manager.      (line 1638)
-* BFD_RELOC_MMIX_PUSHJ_2:                howto manager.      (line 1639)
-* BFD_RELOC_MMIX_PUSHJ_3:                howto manager.      (line 1640)
-* BFD_RELOC_MMIX_PUSHJ_STUBBABLE:        howto manager.      (line 1641)
-* BFD_RELOC_MMIX_REG:                    howto manager.      (line 1657)
-* BFD_RELOC_MMIX_REG_OR_BYTE:            howto manager.      (line 1654)
-* BFD_RELOC_MN10300_16_PCREL:            howto manager.      (line  522)
-* BFD_RELOC_MN10300_32_PCREL:            howto manager.      (line  519)
-* BFD_RELOC_MN10300_ALIGN:               howto manager.      (line  506)
-* BFD_RELOC_MN10300_COPY:                howto manager.      (line  494)
-* BFD_RELOC_MN10300_GLOB_DAT:            howto manager.      (line  496)
-* BFD_RELOC_MN10300_GOT16:               howto manager.      (line  491)
-* BFD_RELOC_MN10300_GOT24:               howto manager.      (line  488)
-* BFD_RELOC_MN10300_GOT32:               howto manager.      (line  485)
-* BFD_RELOC_MN10300_GOTOFF24:            howto manager.      (line  483)
-* BFD_RELOC_MN10300_JMP_SLOT:            howto manager.      (line  498)
-* BFD_RELOC_MN10300_RELATIVE:            howto manager.      (line  500)
-* BFD_RELOC_MN10300_SYM_DIFF:            howto manager.      (line  502)
-* BFD_RELOC_MN10300_TLS_DTPMOD:          howto manager.      (line  515)
-* BFD_RELOC_MN10300_TLS_DTPOFF:          howto manager.      (line  516)
-* BFD_RELOC_MN10300_TLS_GD:              howto manager.      (line  509)
-* BFD_RELOC_MN10300_TLS_GOTIE:           howto manager.      (line  512)
-* BFD_RELOC_MN10300_TLS_IE:              howto manager.      (line  513)
-* BFD_RELOC_MN10300_TLS_LD:              howto manager.      (line  510)
-* BFD_RELOC_MN10300_TLS_LDO:             howto manager.      (line  511)
-* BFD_RELOC_MN10300_TLS_LE:              howto manager.      (line  514)
-* BFD_RELOC_MN10300_TLS_TPOFF:           howto manager.      (line  517)
-* BFD_RELOC_MOXIE_10_PCREL:              howto manager.      (line  431)
-* BFD_RELOC_MSP430X_ABS16:               howto manager.      (line 2447)
-* BFD_RELOC_MSP430X_ABS20_ADR_DST:       howto manager.      (line 2444)
-* BFD_RELOC_MSP430X_ABS20_ADR_SRC:       howto manager.      (line 2443)
-* BFD_RELOC_MSP430X_ABS20_EXT_DST:       howto manager.      (line 2441)
-* BFD_RELOC_MSP430X_ABS20_EXT_ODST:      howto manager.      (line 2442)
-* BFD_RELOC_MSP430X_ABS20_EXT_SRC:       howto manager.      (line 2440)
-* BFD_RELOC_MSP430X_PCR16:               howto manager.      (line 2445)
-* BFD_RELOC_MSP430X_PCR20_CALL:          howto manager.      (line 2446)
-* BFD_RELOC_MSP430X_PCR20_EXT_DST:       howto manager.      (line 2438)
-* BFD_RELOC_MSP430X_PCR20_EXT_ODST:      howto manager.      (line 2439)
-* BFD_RELOC_MSP430X_PCR20_EXT_SRC:       howto manager.      (line 2437)
-* BFD_RELOC_MSP430_10_PCREL:             howto manager.      (line 2429)
-* BFD_RELOC_MSP430_16:                   howto manager.      (line 2431)
-* BFD_RELOC_MSP430_16_BYTE:              howto manager.      (line 2433)
-* BFD_RELOC_MSP430_16_PCREL:             howto manager.      (line 2430)
-* BFD_RELOC_MSP430_16_PCREL_BYTE:        howto manager.      (line 2432)
-* BFD_RELOC_MSP430_2X_PCREL:             howto manager.      (line 2434)
-* BFD_RELOC_MSP430_ABS8:                 howto manager.      (line 2436)
-* BFD_RELOC_MSP430_ABS_HI16:             howto manager.      (line 2448)
-* BFD_RELOC_MSP430_PREL31:               howto manager.      (line 2449)
-* BFD_RELOC_MSP430_RL_PCREL:             howto manager.      (line 2435)
-* BFD_RELOC_MSP430_SYM_DIFF:             howto manager.      (line 2450)
-* BFD_RELOC_MT_GNU_VTENTRY:              howto manager.      (line 2425)
-* BFD_RELOC_MT_GNU_VTINHERIT:            howto manager.      (line 2423)
-* BFD_RELOC_MT_HI16:                     howto manager.      (line 2419)
-* BFD_RELOC_MT_LO16:                     howto manager.      (line 2421)
-* BFD_RELOC_MT_PC16:                     howto manager.      (line 2417)
-* BFD_RELOC_MT_PCINSN8:                  howto manager.      (line 2427)
-* BFD_RELOC_NDS32_10IFCU_PCREL:          howto manager.      (line 1376)
-* BFD_RELOC_NDS32_10_UPCREL:             howto manager.      (line 1347)
-* BFD_RELOC_NDS32_15_FIXED:              howto manager.      (line 1308)
-* BFD_RELOC_NDS32_15_PCREL:              howto manager.      (line 1234)
-* BFD_RELOC_NDS32_17IFC_PCREL:           howto manager.      (line 1375)
-* BFD_RELOC_NDS32_17_FIXED:              howto manager.      (line 1309)
-* BFD_RELOC_NDS32_17_PCREL:              howto manager.      (line 1236)
-* BFD_RELOC_NDS32_20:                    howto manager.      (line 1226)
-* BFD_RELOC_NDS32_25_ABS:                howto manager.      (line 1371)
-* BFD_RELOC_NDS32_25_FIXED:              howto manager.      (line 1310)
-* BFD_RELOC_NDS32_25_PCREL:              howto manager.      (line 1238)
-* BFD_RELOC_NDS32_25_PLTREL:             howto manager.      (line 1284)
-* BFD_RELOC_NDS32_5:                     howto manager.      (line 1345)
-* BFD_RELOC_NDS32_9_FIXED:               howto manager.      (line 1307)
-* BFD_RELOC_NDS32_9_PCREL:               howto manager.      (line 1228)
-* BFD_RELOC_NDS32_9_PLTREL:              howto manager.      (line 1283)
-* BFD_RELOC_NDS32_COPY:                  howto manager.      (line 1285)
-* BFD_RELOC_NDS32_DATA:                  howto manager.      (line 1373)
-* BFD_RELOC_NDS32_DIFF16:                howto manager.      (line 1366)
-* BFD_RELOC_NDS32_DIFF32:                howto manager.      (line 1367)
-* BFD_RELOC_NDS32_DIFF8:                 howto manager.      (line 1365)
-* BFD_RELOC_NDS32_DIFF_ULEB128:          howto manager.      (line 1368)
-* BFD_RELOC_NDS32_DWARF2_LEB:            howto manager.      (line 1331)
-* BFD_RELOC_NDS32_DWARF2_OP1:            howto manager.      (line 1329)
-* BFD_RELOC_NDS32_DWARF2_OP2:            howto manager.      (line 1330)
-* BFD_RELOC_NDS32_EMPTY:                 howto manager.      (line 1369)
-* BFD_RELOC_NDS32_GLOB_DAT:              howto manager.      (line 1286)
-* BFD_RELOC_NDS32_GOT15S2:               howto manager.      (line 1342)
-* BFD_RELOC_NDS32_GOT17S2:               howto manager.      (line 1343)
-* BFD_RELOC_NDS32_GOT20:                 howto manager.      (line 1282)
-* BFD_RELOC_NDS32_GOTOFF:                howto manager.      (line 1289)
-* BFD_RELOC_NDS32_GOTOFF_HI20:           howto manager.      (line 1290)
-* BFD_RELOC_NDS32_GOTOFF_LO12:           howto manager.      (line 1291)
-* BFD_RELOC_NDS32_GOTOFF_LO15:           howto manager.      (line 1340)
-* BFD_RELOC_NDS32_GOTOFF_LO19:           howto manager.      (line 1341)
-* BFD_RELOC_NDS32_GOTOFF_SUFF:           howto manager.      (line 1354)
-* BFD_RELOC_NDS32_GOTPC20:               howto manager.      (line 1292)
-* BFD_RELOC_NDS32_GOTPC_HI20:            howto manager.      (line 1295)
-* BFD_RELOC_NDS32_GOTPC_LO12:            howto manager.      (line 1296)
-* BFD_RELOC_NDS32_GOTTPOFF:              howto manager.      (line 1383)
-* BFD_RELOC_NDS32_GOT_HI20:              howto manager.      (line 1293)
-* BFD_RELOC_NDS32_GOT_LO12:              howto manager.      (line 1294)
-* BFD_RELOC_NDS32_GOT_LO15:              howto manager.      (line 1338)
-* BFD_RELOC_NDS32_GOT_LO19:              howto manager.      (line 1339)
-* BFD_RELOC_NDS32_GOT_SUFF:              howto manager.      (line 1353)
-* BFD_RELOC_NDS32_HI20:                  howto manager.      (line 1240)
-* BFD_RELOC_NDS32_INSN16:                howto manager.      (line 1298)
-* BFD_RELOC_NDS32_JMP_SLOT:              howto manager.      (line 1287)
-* BFD_RELOC_NDS32_LABEL:                 howto manager.      (line 1299)
-* BFD_RELOC_NDS32_LO12S0:                howto manager.      (line 1252)
-* BFD_RELOC_NDS32_LO12S0_ORI:            howto manager.      (line 1255)
-* BFD_RELOC_NDS32_LO12S1:                howto manager.      (line 1249)
-* BFD_RELOC_NDS32_LO12S2:                howto manager.      (line 1246)
-* BFD_RELOC_NDS32_LO12S2_DP:             howto manager.      (line 1326)
-* BFD_RELOC_NDS32_LO12S2_SP:             howto manager.      (line 1327)
-* BFD_RELOC_NDS32_LO12S3:                howto manager.      (line 1243)
-* BFD_RELOC_NDS32_LOADSTORE:             howto manager.      (line 1306)
-* BFD_RELOC_NDS32_LONGCALL1:             howto manager.      (line 1300)
-* BFD_RELOC_NDS32_LONGCALL2:             howto manager.      (line 1301)
-* BFD_RELOC_NDS32_LONGCALL3:             howto manager.      (line 1302)
-* BFD_RELOC_NDS32_LONGCALL4:             howto manager.      (line 1311)
-* BFD_RELOC_NDS32_LONGCALL5:             howto manager.      (line 1312)
-* BFD_RELOC_NDS32_LONGCALL6:             howto manager.      (line 1313)
-* BFD_RELOC_NDS32_LONGJUMP1:             howto manager.      (line 1303)
-* BFD_RELOC_NDS32_LONGJUMP2:             howto manager.      (line 1304)
-* BFD_RELOC_NDS32_LONGJUMP3:             howto manager.      (line 1305)
-* BFD_RELOC_NDS32_LONGJUMP4:             howto manager.      (line 1314)
-* BFD_RELOC_NDS32_LONGJUMP5:             howto manager.      (line 1315)
-* BFD_RELOC_NDS32_LONGJUMP6:             howto manager.      (line 1316)
-* BFD_RELOC_NDS32_LONGJUMP7:             howto manager.      (line 1317)
-* BFD_RELOC_NDS32_MINUEND:               howto manager.      (line 1363)
-* BFD_RELOC_NDS32_MULCALL_SUFF:          howto manager.      (line 1356)
-* BFD_RELOC_NDS32_PLTBLOCK:              howto manager.      (line 1360)
-* BFD_RELOC_NDS32_PLTREL_HI20:           howto manager.      (line 1319)
-* BFD_RELOC_NDS32_PLTREL_LO12:           howto manager.      (line 1320)
-* BFD_RELOC_NDS32_PLT_GOTREL_HI20:       howto manager.      (line 1321)
-* BFD_RELOC_NDS32_PLT_GOTREL_LO12:       howto manager.      (line 1322)
-* BFD_RELOC_NDS32_PLT_GOTREL_LO15:       howto manager.      (line 1336)
-* BFD_RELOC_NDS32_PLT_GOTREL_LO19:       howto manager.      (line 1337)
-* BFD_RELOC_NDS32_PLT_GOTREL_LO20:       howto manager.      (line 1335)
-* BFD_RELOC_NDS32_PLT_GOT_SUFF:          howto manager.      (line 1355)
-* BFD_RELOC_NDS32_PTR:                   howto manager.      (line 1357)
-* BFD_RELOC_NDS32_PTR_COUNT:             howto manager.      (line 1358)
-* BFD_RELOC_NDS32_PTR_RESOLVED:          howto manager.      (line 1359)
-* BFD_RELOC_NDS32_RELATIVE:              howto manager.      (line 1288)
-* BFD_RELOC_NDS32_RELAX_ENTRY:           howto manager.      (line 1352)
-* BFD_RELOC_NDS32_RELAX_REGION_BEGIN:    howto manager.      (line 1361)
-* BFD_RELOC_NDS32_RELAX_REGION_END:      howto manager.      (line 1362)
-* BFD_RELOC_NDS32_SDA12S2_DP:            howto manager.      (line 1324)
-* BFD_RELOC_NDS32_SDA12S2_SP:            howto manager.      (line 1325)
-* BFD_RELOC_NDS32_SDA15S0:               howto manager.      (line 1267)
-* BFD_RELOC_NDS32_SDA15S1:               howto manager.      (line 1264)
-* BFD_RELOC_NDS32_SDA15S2:               howto manager.      (line 1261)
-* BFD_RELOC_NDS32_SDA15S3:               howto manager.      (line 1258)
-* BFD_RELOC_NDS32_SDA16S3:               howto manager.      (line 1270)
-* BFD_RELOC_NDS32_SDA17S2:               howto manager.      (line 1273)
-* BFD_RELOC_NDS32_SDA18S1:               howto manager.      (line 1276)
-* BFD_RELOC_NDS32_SDA19S0:               howto manager.      (line 1279)
-* BFD_RELOC_NDS32_SDA_FP7U2_RELA:        howto manager.      (line 1350)
-* BFD_RELOC_NDS32_SUBTRAHEND:            howto manager.      (line 1364)
-* BFD_RELOC_NDS32_TLS_IE_HI20:           howto manager.      (line 1384)
-* BFD_RELOC_NDS32_TLS_IE_LO12S2:         howto manager.      (line 1385)
-* BFD_RELOC_NDS32_TLS_LE_15S0:           howto manager.      (line 1388)
-* BFD_RELOC_NDS32_TLS_LE_15S1:           howto manager.      (line 1389)
-* BFD_RELOC_NDS32_TLS_LE_15S2:           howto manager.      (line 1390)
-* BFD_RELOC_NDS32_TLS_LE_20:             howto manager.      (line 1387)
-* BFD_RELOC_NDS32_TLS_LE_ADD:            howto manager.      (line 1381)
-* BFD_RELOC_NDS32_TLS_LE_HI20:           howto manager.      (line 1379)
-* BFD_RELOC_NDS32_TLS_LE_LO12:           howto manager.      (line 1380)
-* BFD_RELOC_NDS32_TLS_LE_LS:             howto manager.      (line 1382)
-* BFD_RELOC_NDS32_TLS_TPOFF:             howto manager.      (line 1386)
-* BFD_RELOC_NDS32_TPOFF:                 howto manager.      (line 1378)
-* BFD_RELOC_NDS32_TRAN:                  howto manager.      (line 1374)
-* BFD_RELOC_NDS32_UPDATE_TA:             howto manager.      (line 1333)
-* BFD_RELOC_NDS32_WORD_9_PCREL:          howto manager.      (line 1231)
-* BFD_RELOC_NIOS2_ALIGN:                 howto manager.      (line 2466)
-* BFD_RELOC_NIOS2_CACHE_OPX:             howto manager.      (line 2456)
-* BFD_RELOC_NIOS2_CALL16:                howto manager.      (line 2468)
-* BFD_RELOC_NIOS2_CALL26:                howto manager.      (line 2454)
-* BFD_RELOC_NIOS2_CALL26_NOAT:           howto manager.      (line 2486)
-* BFD_RELOC_NIOS2_CALLR:                 howto manager.      (line 2465)
-* BFD_RELOC_NIOS2_CALL_HA:               howto manager.      (line 2490)
-* BFD_RELOC_NIOS2_CALL_LO:               howto manager.      (line 2489)
-* BFD_RELOC_NIOS2_CJMP:                  howto manager.      (line 2464)
-* BFD_RELOC_NIOS2_COPY:                  howto manager.      (line 2481)
-* BFD_RELOC_NIOS2_GLOB_DAT:              howto manager.      (line 2482)
-* BFD_RELOC_NIOS2_GOT16:                 howto manager.      (line 2467)
-* BFD_RELOC_NIOS2_GOTOFF:                howto manager.      (line 2485)
-* BFD_RELOC_NIOS2_GOTOFF_HA:             howto manager.      (line 2470)
-* BFD_RELOC_NIOS2_GOTOFF_LO:             howto manager.      (line 2469)
-* BFD_RELOC_NIOS2_GOT_HA:                howto manager.      (line 2488)
-* BFD_RELOC_NIOS2_GOT_LO:                howto manager.      (line 2487)
-* BFD_RELOC_NIOS2_GPREL:                 howto manager.      (line 2462)
-* BFD_RELOC_NIOS2_HI16:                  howto manager.      (line 2459)
-* BFD_RELOC_NIOS2_HIADJ16:               howto manager.      (line 2461)
-* BFD_RELOC_NIOS2_IMM5:                  howto manager.      (line 2455)
-* BFD_RELOC_NIOS2_IMM6:                  howto manager.      (line 2457)
-* BFD_RELOC_NIOS2_IMM8:                  howto manager.      (line 2458)
-* BFD_RELOC_NIOS2_JUMP_SLOT:             howto manager.      (line 2483)
-* BFD_RELOC_NIOS2_LO16:                  howto manager.      (line 2460)
-* BFD_RELOC_NIOS2_PCREL_HA:              howto manager.      (line 2472)
-* BFD_RELOC_NIOS2_PCREL_LO:              howto manager.      (line 2471)
-* BFD_RELOC_NIOS2_R2_F1I5_2:             howto manager.      (line 2500)
-* BFD_RELOC_NIOS2_R2_I10_1_PCREL:        howto manager.      (line 2492)
-* BFD_RELOC_NIOS2_R2_L5I4X1:             howto manager.      (line 2501)
-* BFD_RELOC_NIOS2_R2_S12:                howto manager.      (line 2491)
-* BFD_RELOC_NIOS2_R2_T1I7_1_PCREL:       howto manager.      (line 2493)
-* BFD_RELOC_NIOS2_R2_T1I7_2:             howto manager.      (line 2494)
-* BFD_RELOC_NIOS2_R2_T1X1I6:             howto manager.      (line 2502)
-* BFD_RELOC_NIOS2_R2_T1X1I6_2:           howto manager.      (line 2503)
-* BFD_RELOC_NIOS2_R2_T2I4:               howto manager.      (line 2495)
-* BFD_RELOC_NIOS2_R2_T2I4_1:             howto manager.      (line 2496)
-* BFD_RELOC_NIOS2_R2_T2I4_2:             howto manager.      (line 2497)
-* BFD_RELOC_NIOS2_R2_X1I7_2:             howto manager.      (line 2498)
-* BFD_RELOC_NIOS2_R2_X2L5:               howto manager.      (line 2499)
-* BFD_RELOC_NIOS2_RELATIVE:              howto manager.      (line 2484)
-* BFD_RELOC_NIOS2_S16:                   howto manager.      (line 2452)
-* BFD_RELOC_NIOS2_TLS_DTPMOD:            howto manager.      (line 2478)
-* BFD_RELOC_NIOS2_TLS_DTPREL:            howto manager.      (line 2479)
-* BFD_RELOC_NIOS2_TLS_GD16:              howto manager.      (line 2473)
-* BFD_RELOC_NIOS2_TLS_IE16:              howto manager.      (line 2476)
-* BFD_RELOC_NIOS2_TLS_LDM16:             howto manager.      (line 2474)
-* BFD_RELOC_NIOS2_TLS_LDO16:             howto manager.      (line 2475)
-* BFD_RELOC_NIOS2_TLS_LE16:              howto manager.      (line 2477)
-* BFD_RELOC_NIOS2_TLS_TPREL:             howto manager.      (line 2480)
-* BFD_RELOC_NIOS2_U16:                   howto manager.      (line 2453)
-* BFD_RELOC_NIOS2_UJMP:                  howto manager.      (line 2463)
-* BFD_RELOC_NONE:                        howto manager.      (line  122)
-* BFD_RELOC_NS32K_DISP_16:               howto manager.      (line  590)
-* BFD_RELOC_NS32K_DISP_16_PCREL:         howto manager.      (line  593)
-* BFD_RELOC_NS32K_DISP_32:               howto manager.      (line  591)
-* BFD_RELOC_NS32K_DISP_32_PCREL:         howto manager.      (line  594)
-* BFD_RELOC_NS32K_DISP_8:                howto manager.      (line  589)
-* BFD_RELOC_NS32K_DISP_8_PCREL:          howto manager.      (line  592)
-* BFD_RELOC_NS32K_IMM_16:                howto manager.      (line  584)
-* BFD_RELOC_NS32K_IMM_16_PCREL:          howto manager.      (line  587)
-* BFD_RELOC_NS32K_IMM_32:                howto manager.      (line  585)
-* BFD_RELOC_NS32K_IMM_32_PCREL:          howto manager.      (line  588)
-* BFD_RELOC_NS32K_IMM_8:                 howto manager.      (line  583)
-* BFD_RELOC_NS32K_IMM_8_PCREL:           howto manager.      (line  586)
-* bfd_reloc_offset_in_range:             typedef arelent.    (line  370)
-* BFD_RELOC_OR1K_COPY:                   howto manager.      (line 2376)
-* BFD_RELOC_OR1K_GLOB_DAT:               howto manager.      (line 2377)
-* BFD_RELOC_OR1K_GOT16:                  howto manager.      (line 2372)
-* BFD_RELOC_OR1K_GOTOFF_HI16:            howto manager.      (line 2374)
-* BFD_RELOC_OR1K_GOTOFF_LO16:            howto manager.      (line 2375)
-* BFD_RELOC_OR1K_GOTPC_HI16:             howto manager.      (line 2370)
-* BFD_RELOC_OR1K_GOTPC_LO16:             howto manager.      (line 2371)
-* BFD_RELOC_OR1K_JMP_SLOT:               howto manager.      (line 2378)
-* BFD_RELOC_OR1K_PLT26:                  howto manager.      (line 2373)
-* BFD_RELOC_OR1K_RELATIVE:               howto manager.      (line 2379)
-* BFD_RELOC_OR1K_REL_26:                 howto manager.      (line 2369)
-* BFD_RELOC_OR1K_TLS_DTPMOD:             howto manager.      (line 2392)
-* BFD_RELOC_OR1K_TLS_DTPOFF:             howto manager.      (line 2391)
-* BFD_RELOC_OR1K_TLS_GD_HI16:            howto manager.      (line 2380)
-* BFD_RELOC_OR1K_TLS_GD_LO16:            howto manager.      (line 2381)
-* BFD_RELOC_OR1K_TLS_IE_HI16:            howto manager.      (line 2386)
-* BFD_RELOC_OR1K_TLS_IE_LO16:            howto manager.      (line 2387)
-* BFD_RELOC_OR1K_TLS_LDM_HI16:           howto manager.      (line 2382)
-* BFD_RELOC_OR1K_TLS_LDM_LO16:           howto manager.      (line 2383)
-* BFD_RELOC_OR1K_TLS_LDO_HI16:           howto manager.      (line 2384)
-* BFD_RELOC_OR1K_TLS_LDO_LO16:           howto manager.      (line 2385)
-* BFD_RELOC_OR1K_TLS_LE_HI16:            howto manager.      (line 2388)
-* BFD_RELOC_OR1K_TLS_LE_LO16:            howto manager.      (line 2389)
-* BFD_RELOC_OR1K_TLS_TPOFF:              howto manager.      (line 2390)
-* BFD_RELOC_PDP11_DISP_6_PCREL:          howto manager.      (line  597)
-* BFD_RELOC_PDP11_DISP_8_PCREL:          howto manager.      (line  596)
-* BFD_RELOC_PJ_CODE_DIR16:               howto manager.      (line  601)
-* BFD_RELOC_PJ_CODE_DIR32:               howto manager.      (line  602)
-* BFD_RELOC_PJ_CODE_HI16:                howto manager.      (line  599)
-* BFD_RELOC_PJ_CODE_LO16:                howto manager.      (line  600)
-* BFD_RELOC_PJ_CODE_REL16:               howto manager.      (line  603)
-* BFD_RELOC_PJ_CODE_REL32:               howto manager.      (line  604)
-* BFD_RELOC_PPC64_ADDR16_DS:             howto manager.      (line  667)
-* BFD_RELOC_PPC64_ADDR16_HIGH:           howto manager.      (line  678)
-* BFD_RELOC_PPC64_ADDR16_HIGHA:          howto manager.      (line  679)
-* BFD_RELOC_PPC64_ADDR16_LO_DS:          howto manager.      (line  668)
-* BFD_RELOC_PPC64_ADDR64_LOCAL:          howto manager.      (line  680)
-* BFD_RELOC_PPC64_DTPREL16_DS:           howto manager.      (line  719)
-* BFD_RELOC_PPC64_DTPREL16_HIGH:         howto manager.      (line  727)
-* BFD_RELOC_PPC64_DTPREL16_HIGHA:        howto manager.      (line  728)
-* BFD_RELOC_PPC64_DTPREL16_HIGHER:       howto manager.      (line  721)
-* BFD_RELOC_PPC64_DTPREL16_HIGHERA:      howto manager.      (line  722)
-* BFD_RELOC_PPC64_DTPREL16_HIGHEST:      howto manager.      (line  723)
-* BFD_RELOC_PPC64_DTPREL16_HIGHESTA:     howto manager.      (line  724)
-* BFD_RELOC_PPC64_DTPREL16_LO_DS:        howto manager.      (line  720)
-* BFD_RELOC_PPC64_ENTRY:                 howto manager.      (line  681)
-* BFD_RELOC_PPC64_GOT16_DS:              howto manager.      (line  669)
-* BFD_RELOC_PPC64_GOT16_LO_DS:           howto manager.      (line  670)
-* BFD_RELOC_PPC64_HIGHER:                howto manager.      (line  655)
-* BFD_RELOC_PPC64_HIGHER_S:              howto manager.      (line  656)
-* BFD_RELOC_PPC64_HIGHEST:               howto manager.      (line  657)
-* BFD_RELOC_PPC64_HIGHEST_S:             howto manager.      (line  658)
-* BFD_RELOC_PPC64_PLT16_LO_DS:           howto manager.      (line  671)
-* BFD_RELOC_PPC64_PLTGOT16:              howto manager.      (line  663)
-* BFD_RELOC_PPC64_PLTGOT16_DS:           howto manager.      (line  676)
-* BFD_RELOC_PPC64_PLTGOT16_HA:           howto manager.      (line  666)
-* BFD_RELOC_PPC64_PLTGOT16_HI:           howto manager.      (line  665)
-* BFD_RELOC_PPC64_PLTGOT16_LO:           howto manager.      (line  664)
-* BFD_RELOC_PPC64_PLTGOT16_LO_DS:        howto manager.      (line  677)
-* BFD_RELOC_PPC64_SECTOFF_DS:            howto manager.      (line  672)
-* BFD_RELOC_PPC64_SECTOFF_LO_DS:         howto manager.      (line  673)
-* BFD_RELOC_PPC64_TOC:                   howto manager.      (line  662)
-* BFD_RELOC_PPC64_TOC16_DS:              howto manager.      (line  674)
-* BFD_RELOC_PPC64_TOC16_HA:              howto manager.      (line  661)
-* BFD_RELOC_PPC64_TOC16_HI:              howto manager.      (line  660)
-* BFD_RELOC_PPC64_TOC16_LO:              howto manager.      (line  659)
-* BFD_RELOC_PPC64_TOC16_LO_DS:           howto manager.      (line  675)
-* BFD_RELOC_PPC64_TPREL16_DS:            howto manager.      (line  713)
-* BFD_RELOC_PPC64_TPREL16_HIGH:          howto manager.      (line  725)
-* BFD_RELOC_PPC64_TPREL16_HIGHA:         howto manager.      (line  726)
-* BFD_RELOC_PPC64_TPREL16_HIGHER:        howto manager.      (line  715)
-* BFD_RELOC_PPC64_TPREL16_HIGHERA:       howto manager.      (line  716)
-* BFD_RELOC_PPC64_TPREL16_HIGHEST:       howto manager.      (line  717)
-* BFD_RELOC_PPC64_TPREL16_HIGHESTA:      howto manager.      (line  718)
-* BFD_RELOC_PPC64_TPREL16_LO_DS:         howto manager.      (line  714)
-* BFD_RELOC_PPC_16DX_HA:                 howto manager.      (line  653)
-* BFD_RELOC_PPC_B16:                     howto manager.      (line  609)
-* BFD_RELOC_PPC_B16_BRNTAKEN:            howto manager.      (line  611)
-* BFD_RELOC_PPC_B16_BRTAKEN:             howto manager.      (line  610)
-* BFD_RELOC_PPC_B26:                     howto manager.      (line  606)
-* BFD_RELOC_PPC_BA16:                    howto manager.      (line  612)
-* BFD_RELOC_PPC_BA16_BRNTAKEN:           howto manager.      (line  614)
-* BFD_RELOC_PPC_BA16_BRTAKEN:            howto manager.      (line  613)
-* BFD_RELOC_PPC_BA26:                    howto manager.      (line  607)
-* BFD_RELOC_PPC_COPY:                    howto manager.      (line  615)
-* BFD_RELOC_PPC_DTPMOD:                  howto manager.      (line  686)
-* BFD_RELOC_PPC_DTPREL:                  howto manager.      (line  696)
-* BFD_RELOC_PPC_DTPREL16:                howto manager.      (line  692)
-* BFD_RELOC_PPC_DTPREL16_HA:             howto manager.      (line  695)
-* BFD_RELOC_PPC_DTPREL16_HI:             howto manager.      (line  694)
-* BFD_RELOC_PPC_DTPREL16_LO:             howto manager.      (line  693)
-* BFD_RELOC_PPC_EMB_BIT_FLD:             howto manager.      (line  634)
-* BFD_RELOC_PPC_EMB_MRKREF:              howto manager.      (line  629)
-* BFD_RELOC_PPC_EMB_NADDR16:             howto manager.      (line  621)
-* BFD_RELOC_PPC_EMB_NADDR16_HA:          howto manager.      (line  624)
-* BFD_RELOC_PPC_EMB_NADDR16_HI:          howto manager.      (line  623)
-* BFD_RELOC_PPC_EMB_NADDR16_LO:          howto manager.      (line  622)
-* BFD_RELOC_PPC_EMB_NADDR32:             howto manager.      (line  620)
-* BFD_RELOC_PPC_EMB_RELSDA:              howto manager.      (line  635)
-* BFD_RELOC_PPC_EMB_RELSEC16:            howto manager.      (line  630)
-* BFD_RELOC_PPC_EMB_RELST_HA:            howto manager.      (line  633)
-* BFD_RELOC_PPC_EMB_RELST_HI:            howto manager.      (line  632)
-* BFD_RELOC_PPC_EMB_RELST_LO:            howto manager.      (line  631)
-* BFD_RELOC_PPC_EMB_SDA21:               howto manager.      (line  628)
-* BFD_RELOC_PPC_EMB_SDA2I16:             howto manager.      (line  626)
-* BFD_RELOC_PPC_EMB_SDA2REL:             howto manager.      (line  627)
-* BFD_RELOC_PPC_EMB_SDAI16:              howto manager.      (line  625)
-* BFD_RELOC_PPC_GLOB_DAT:                howto manager.      (line  616)
-* BFD_RELOC_PPC_GOT_DTPREL16:            howto manager.      (line  709)
-* BFD_RELOC_PPC_GOT_DTPREL16_HA:         howto manager.      (line  712)
-* BFD_RELOC_PPC_GOT_DTPREL16_HI:         howto manager.      (line  711)
-* BFD_RELOC_PPC_GOT_DTPREL16_LO:         howto manager.      (line  710)
-* BFD_RELOC_PPC_GOT_TLSGD16:             howto manager.      (line  697)
-* BFD_RELOC_PPC_GOT_TLSGD16_HA:          howto manager.      (line  700)
-* BFD_RELOC_PPC_GOT_TLSGD16_HI:          howto manager.      (line  699)
-* BFD_RELOC_PPC_GOT_TLSGD16_LO:          howto manager.      (line  698)
-* BFD_RELOC_PPC_GOT_TLSLD16:             howto manager.      (line  701)
-* BFD_RELOC_PPC_GOT_TLSLD16_HA:          howto manager.      (line  704)
-* BFD_RELOC_PPC_GOT_TLSLD16_HI:          howto manager.      (line  703)
-* BFD_RELOC_PPC_GOT_TLSLD16_LO:          howto manager.      (line  702)
-* BFD_RELOC_PPC_GOT_TPREL16:             howto manager.      (line  705)
-* BFD_RELOC_PPC_GOT_TPREL16_HA:          howto manager.      (line  708)
-* BFD_RELOC_PPC_GOT_TPREL16_HI:          howto manager.      (line  707)
-* BFD_RELOC_PPC_GOT_TPREL16_LO:          howto manager.      (line  706)
-* BFD_RELOC_PPC_JMP_SLOT:                howto manager.      (line  617)
-* BFD_RELOC_PPC_LOCAL24PC:               howto manager.      (line  619)
-* BFD_RELOC_PPC_REL16DX_HA:              howto manager.      (line  654)
-* BFD_RELOC_PPC_RELATIVE:                howto manager.      (line  618)
-* BFD_RELOC_PPC_TLS:                     howto manager.      (line  683)
-* BFD_RELOC_PPC_TLSGD:                   howto manager.      (line  684)
-* BFD_RELOC_PPC_TLSLD:                   howto manager.      (line  685)
-* BFD_RELOC_PPC_TOC16:                   howto manager.      (line  608)
-* BFD_RELOC_PPC_TPREL:                   howto manager.      (line  691)
-* BFD_RELOC_PPC_TPREL16:                 howto manager.      (line  687)
-* BFD_RELOC_PPC_TPREL16_HA:              howto manager.      (line  690)
-* BFD_RELOC_PPC_TPREL16_HI:              howto manager.      (line  689)
-* BFD_RELOC_PPC_TPREL16_LO:              howto manager.      (line  688)
-* BFD_RELOC_PPC_VLE_HA16A:               howto manager.      (line  643)
-* BFD_RELOC_PPC_VLE_HA16D:               howto manager.      (line  644)
-* BFD_RELOC_PPC_VLE_HI16A:               howto manager.      (line  641)
-* BFD_RELOC_PPC_VLE_HI16D:               howto manager.      (line  642)
-* BFD_RELOC_PPC_VLE_LO16A:               howto manager.      (line  639)
-* BFD_RELOC_PPC_VLE_LO16D:               howto manager.      (line  640)
-* BFD_RELOC_PPC_VLE_REL15:               howto manager.      (line  637)
-* BFD_RELOC_PPC_VLE_REL24:               howto manager.      (line  638)
-* BFD_RELOC_PPC_VLE_REL8:                howto manager.      (line  636)
-* BFD_RELOC_PPC_VLE_SDA21:               howto manager.      (line  645)
-* BFD_RELOC_PPC_VLE_SDA21_LO:            howto manager.      (line  646)
-* BFD_RELOC_PPC_VLE_SDAREL_HA16A:        howto manager.      (line  651)
-* BFD_RELOC_PPC_VLE_SDAREL_HA16D:        howto manager.      (line  652)
-* BFD_RELOC_PPC_VLE_SDAREL_HI16A:        howto manager.      (line  649)
-* BFD_RELOC_PPC_VLE_SDAREL_HI16D:        howto manager.      (line  650)
-* BFD_RELOC_PPC_VLE_SDAREL_LO16A:        howto manager.      (line  647)
-* BFD_RELOC_PPC_VLE_SDAREL_LO16D:        howto manager.      (line  648)
-* BFD_RELOC_PRU_16_PMEM:                 howto manager.      (line 2518)
-* BFD_RELOC_PRU_32_PMEM:                 howto manager.      (line 2517)
-* BFD_RELOC_PRU_GNU_DIFF16:              howto manager.      (line 2522)
-* BFD_RELOC_PRU_GNU_DIFF16_PMEM:         howto manager.      (line 2524)
-* BFD_RELOC_PRU_GNU_DIFF32:              howto manager.      (line 2523)
-* BFD_RELOC_PRU_GNU_DIFF32_PMEM:         howto manager.      (line 2525)
-* BFD_RELOC_PRU_GNU_DIFF8:               howto manager.      (line 2521)
-* BFD_RELOC_PRU_LDI32:                   howto manager.      (line 2509)
-* BFD_RELOC_PRU_S10_PCREL:               howto manager.      (line 2513)
-* BFD_RELOC_PRU_U16:                     howto manager.      (line 2505)
-* BFD_RELOC_PRU_U16_PMEMIMM:             howto manager.      (line 2507)
-* BFD_RELOC_PRU_U8_PCREL:                howto manager.      (line 2515)
-* BFD_RELOC_RELC:                        howto manager.      (line 2406)
-* BFD_RELOC_RISCV_32_PCREL:              howto manager.      (line 1820)
-* BFD_RELOC_RISCV_ADD16:                 howto manager.      (line 1788)
-* BFD_RELOC_RISCV_ADD32:                 howto manager.      (line 1789)
-* BFD_RELOC_RISCV_ADD64:                 howto manager.      (line 1790)
-* BFD_RELOC_RISCV_ADD8:                  howto manager.      (line 1787)
-* BFD_RELOC_RISCV_ALIGN:                 howto manager.      (line 1805)
-* BFD_RELOC_RISCV_CALL:                  howto manager.      (line 1785)
-* BFD_RELOC_RISCV_CALL_PLT:              howto manager.      (line 1786)
-* BFD_RELOC_RISCV_CFA:                   howto manager.      (line 1814)
-* BFD_RELOC_RISCV_GOT_HI20:              howto manager.      (line 1795)
-* BFD_RELOC_RISCV_GPREL12_I:             howto manager.      (line 1779)
-* BFD_RELOC_RISCV_GPREL12_S:             howto manager.      (line 1780)
-* BFD_RELOC_RISCV_GPREL_I:               howto manager.      (line 1809)
-* BFD_RELOC_RISCV_GPREL_S:               howto manager.      (line 1810)
-* BFD_RELOC_RISCV_HI20:                  howto manager.      (line 1773)
-* BFD_RELOC_RISCV_JMP:                   howto manager.      (line 1798)
-* BFD_RELOC_RISCV_LO12_I:                howto manager.      (line 1777)
-* BFD_RELOC_RISCV_LO12_S:                howto manager.      (line 1778)
-* BFD_RELOC_RISCV_PCREL_HI20:            howto manager.      (line 1774)
-* BFD_RELOC_RISCV_PCREL_LO12_I:          howto manager.      (line 1775)
-* BFD_RELOC_RISCV_PCREL_LO12_S:          howto manager.      (line 1776)
-* BFD_RELOC_RISCV_RELAX:                 howto manager.      (line 1813)
-* BFD_RELOC_RISCV_RVC_BRANCH:            howto manager.      (line 1806)
-* BFD_RELOC_RISCV_RVC_JUMP:              howto manager.      (line 1807)
-* BFD_RELOC_RISCV_RVC_LUI:               howto manager.      (line 1808)
-* BFD_RELOC_RISCV_SET16:                 howto manager.      (line 1818)
-* BFD_RELOC_RISCV_SET32:                 howto manager.      (line 1819)
-* BFD_RELOC_RISCV_SET6:                  howto manager.      (line 1816)
-* BFD_RELOC_RISCV_SET8:                  howto manager.      (line 1817)
-* BFD_RELOC_RISCV_SUB16:                 howto manager.      (line 1792)
-* BFD_RELOC_RISCV_SUB32:                 howto manager.      (line 1793)
-* BFD_RELOC_RISCV_SUB6:                  howto manager.      (line 1815)
-* BFD_RELOC_RISCV_SUB64:                 howto manager.      (line 1794)
-* BFD_RELOC_RISCV_SUB8:                  howto manager.      (line 1791)
-* BFD_RELOC_RISCV_TLS_DTPMOD32:          howto manager.      (line 1799)
-* BFD_RELOC_RISCV_TLS_DTPMOD64:          howto manager.      (line 1801)
-* BFD_RELOC_RISCV_TLS_DTPREL32:          howto manager.      (line 1800)
-* BFD_RELOC_RISCV_TLS_DTPREL64:          howto manager.      (line 1802)
-* BFD_RELOC_RISCV_TLS_GD_HI20:           howto manager.      (line 1797)
-* BFD_RELOC_RISCV_TLS_GOT_HI20:          howto manager.      (line 1796)
-* BFD_RELOC_RISCV_TLS_TPREL32:           howto manager.      (line 1803)
-* BFD_RELOC_RISCV_TLS_TPREL64:           howto manager.      (line 1804)
-* BFD_RELOC_RISCV_TPREL_ADD:             howto manager.      (line 1784)
-* BFD_RELOC_RISCV_TPREL_HI20:            howto manager.      (line 1781)
-* BFD_RELOC_RISCV_TPREL_I:               howto manager.      (line 1811)
-* BFD_RELOC_RISCV_TPREL_LO12_I:          howto manager.      (line 1782)
-* BFD_RELOC_RISCV_TPREL_LO12_S:          howto manager.      (line 1783)
-* BFD_RELOC_RISCV_TPREL_S:               howto manager.      (line 1812)
-* BFD_RELOC_RL78_16U:                    howto manager.      (line 1830)
-* BFD_RELOC_RL78_16_OP:                  howto manager.      (line 1826)
-* BFD_RELOC_RL78_24U:                    howto manager.      (line 1831)
-* BFD_RELOC_RL78_24_OP:                  howto manager.      (line 1827)
-* BFD_RELOC_RL78_32_OP:                  howto manager.      (line 1828)
-* BFD_RELOC_RL78_8U:                     howto manager.      (line 1829)
-* BFD_RELOC_RL78_ABS16:                  howto manager.      (line 1843)
-* BFD_RELOC_RL78_ABS16U:                 howto manager.      (line 1847)
-* BFD_RELOC_RL78_ABS16UL:                howto manager.      (line 1849)
-* BFD_RELOC_RL78_ABS16UW:                howto manager.      (line 1848)
-* BFD_RELOC_RL78_ABS16_REV:              howto manager.      (line 1844)
-* BFD_RELOC_RL78_ABS32:                  howto manager.      (line 1845)
-* BFD_RELOC_RL78_ABS32_REV:              howto manager.      (line 1846)
-* BFD_RELOC_RL78_ABS8:                   howto manager.      (line 1842)
-* BFD_RELOC_RL78_CODE:                   howto manager.      (line 1854)
-* BFD_RELOC_RL78_DIFF:                   howto manager.      (line 1833)
-* BFD_RELOC_RL78_DIR3U_PCREL:            howto manager.      (line 1832)
-* BFD_RELOC_RL78_GPRELB:                 howto manager.      (line 1834)
-* BFD_RELOC_RL78_GPRELL:                 howto manager.      (line 1836)
-* BFD_RELOC_RL78_GPRELW:                 howto manager.      (line 1835)
-* BFD_RELOC_RL78_HI16:                   howto manager.      (line 1851)
-* BFD_RELOC_RL78_HI8:                    howto manager.      (line 1852)
-* BFD_RELOC_RL78_LO16:                   howto manager.      (line 1853)
-* BFD_RELOC_RL78_NEG16:                  howto manager.      (line 1823)
-* BFD_RELOC_RL78_NEG24:                  howto manager.      (line 1824)
-* BFD_RELOC_RL78_NEG32:                  howto manager.      (line 1825)
-* BFD_RELOC_RL78_NEG8:                   howto manager.      (line 1822)
-* BFD_RELOC_RL78_OP_AND:                 howto manager.      (line 1840)
-* BFD_RELOC_RL78_OP_NEG:                 howto manager.      (line 1839)
-* BFD_RELOC_RL78_OP_SHRA:                howto manager.      (line 1841)
-* BFD_RELOC_RL78_OP_SUBTRACT:            howto manager.      (line 1838)
-* BFD_RELOC_RL78_RELAX:                  howto manager.      (line 1850)
-* BFD_RELOC_RL78_SADDR:                  howto manager.      (line 1855)
-* BFD_RELOC_RL78_SYM:                    howto manager.      (line 1837)
-* BFD_RELOC_RVA:                         howto manager.      (line   97)
-* BFD_RELOC_RX_16U:                      howto manager.      (line 1865)
-* BFD_RELOC_RX_16_OP:                    howto manager.      (line 1861)
-* BFD_RELOC_RX_24U:                      howto manager.      (line 1866)
-* BFD_RELOC_RX_24_OP:                    howto manager.      (line 1862)
-* BFD_RELOC_RX_32_OP:                    howto manager.      (line 1863)
-* BFD_RELOC_RX_8U:                       howto manager.      (line 1864)
-* BFD_RELOC_RX_ABS16:                    howto manager.      (line 1876)
-* BFD_RELOC_RX_ABS16U:                   howto manager.      (line 1880)
-* BFD_RELOC_RX_ABS16UL:                  howto manager.      (line 1882)
-* BFD_RELOC_RX_ABS16UW:                  howto manager.      (line 1881)
-* BFD_RELOC_RX_ABS16_REV:                howto manager.      (line 1877)
-* BFD_RELOC_RX_ABS32:                    howto manager.      (line 1878)
-* BFD_RELOC_RX_ABS32_REV:                howto manager.      (line 1879)
-* BFD_RELOC_RX_ABS8:                     howto manager.      (line 1875)
-* BFD_RELOC_RX_DIFF:                     howto manager.      (line 1868)
-* BFD_RELOC_RX_DIR3U_PCREL:              howto manager.      (line 1867)
-* BFD_RELOC_RX_GPRELB:                   howto manager.      (line 1869)
-* BFD_RELOC_RX_GPRELL:                   howto manager.      (line 1871)
-* BFD_RELOC_RX_GPRELW:                   howto manager.      (line 1870)
-* BFD_RELOC_RX_NEG16:                    howto manager.      (line 1858)
-* BFD_RELOC_RX_NEG24:                    howto manager.      (line 1859)
-* BFD_RELOC_RX_NEG32:                    howto manager.      (line 1860)
-* BFD_RELOC_RX_NEG8:                     howto manager.      (line 1857)
-* BFD_RELOC_RX_OP_NEG:                   howto manager.      (line 1874)
-* BFD_RELOC_RX_OP_SUBTRACT:              howto manager.      (line 1873)
-* BFD_RELOC_RX_RELAX:                    howto manager.      (line 1883)
-* BFD_RELOC_RX_SYM:                      howto manager.      (line 1872)
-* BFD_RELOC_SCORE16_BRANCH:              howto manager.      (line 1986)
-* BFD_RELOC_SCORE16_JMP:                 howto manager.      (line 1984)
-* BFD_RELOC_SCORE_BCMP:                  howto manager.      (line 1988)
-* BFD_RELOC_SCORE_BRANCH:                howto manager.      (line 1978)
-* BFD_RELOC_SCORE_CALL15:                howto manager.      (line 1992)
-* BFD_RELOC_SCORE_DUMMY2:                howto manager.      (line 1975)
-* BFD_RELOC_SCORE_DUMMY_HI16:            howto manager.      (line 1993)
-* BFD_RELOC_SCORE_GOT15:                 howto manager.      (line 1990)
-* BFD_RELOC_SCORE_GOT_LO16:              howto manager.      (line 1991)
-* BFD_RELOC_SCORE_GPREL15:               howto manager.      (line 1973)
-* BFD_RELOC_SCORE_IMM30:                 howto manager.      (line 1980)
-* BFD_RELOC_SCORE_IMM32:                 howto manager.      (line 1982)
-* BFD_RELOC_SCORE_JMP:                   howto manager.      (line 1976)
-* BFD_RELOC_SH_ALIGN:                    howto manager.      (line  904)
-* BFD_RELOC_SH_CODE:                     howto manager.      (line  905)
-* BFD_RELOC_SH_COPY:                     howto manager.      (line  910)
-* BFD_RELOC_SH_COPY64:                   howto manager.      (line  935)
-* BFD_RELOC_SH_COUNT:                    howto manager.      (line  903)
-* BFD_RELOC_SH_DATA:                     howto manager.      (line  906)
-* BFD_RELOC_SH_DISP12:                   howto manager.      (line  886)
-* BFD_RELOC_SH_DISP12BY2:                howto manager.      (line  887)
-* BFD_RELOC_SH_DISP12BY4:                howto manager.      (line  888)
-* BFD_RELOC_SH_DISP12BY8:                howto manager.      (line  889)
-* BFD_RELOC_SH_DISP20:                   howto manager.      (line  890)
-* BFD_RELOC_SH_DISP20BY8:                howto manager.      (line  891)
-* BFD_RELOC_SH_FUNCDESC:                 howto manager.      (line  978)
-* BFD_RELOC_SH_GLOB_DAT:                 howto manager.      (line  911)
-* BFD_RELOC_SH_GLOB_DAT64:               howto manager.      (line  936)
-* BFD_RELOC_SH_GOT10BY4:                 howto manager.      (line  939)
-* BFD_RELOC_SH_GOT10BY8:                 howto manager.      (line  940)
-* BFD_RELOC_SH_GOT20:                    howto manager.      (line  972)
-* BFD_RELOC_SH_GOTFUNCDESC:              howto manager.      (line  974)
-* BFD_RELOC_SH_GOTFUNCDESC20:            howto manager.      (line  975)
-* BFD_RELOC_SH_GOTOFF20:                 howto manager.      (line  973)
-* BFD_RELOC_SH_GOTOFFFUNCDESC:           howto manager.      (line  976)
-* BFD_RELOC_SH_GOTOFFFUNCDESC20:         howto manager.      (line  977)
-* BFD_RELOC_SH_GOTOFF_HI16:              howto manager.      (line  930)
-* BFD_RELOC_SH_GOTOFF_LOW16:             howto manager.      (line  927)
-* BFD_RELOC_SH_GOTOFF_MEDHI16:           howto manager.      (line  929)
-* BFD_RELOC_SH_GOTOFF_MEDLOW16:          howto manager.      (line  928)
-* BFD_RELOC_SH_GOTPC:                    howto manager.      (line  914)
-* BFD_RELOC_SH_GOTPC_HI16:               howto manager.      (line  934)
-* BFD_RELOC_SH_GOTPC_LOW16:              howto manager.      (line  931)
-* BFD_RELOC_SH_GOTPC_MEDHI16:            howto manager.      (line  933)
-* BFD_RELOC_SH_GOTPC_MEDLOW16:           howto manager.      (line  932)
-* BFD_RELOC_SH_GOTPLT10BY4:              howto manager.      (line  941)
-* BFD_RELOC_SH_GOTPLT10BY8:              howto manager.      (line  942)
-* BFD_RELOC_SH_GOTPLT32:                 howto manager.      (line  943)
-* BFD_RELOC_SH_GOTPLT_HI16:              howto manager.      (line  922)
-* BFD_RELOC_SH_GOTPLT_LOW16:             howto manager.      (line  919)
-* BFD_RELOC_SH_GOTPLT_MEDHI16:           howto manager.      (line  921)
-* BFD_RELOC_SH_GOTPLT_MEDLOW16:          howto manager.      (line  920)
-* BFD_RELOC_SH_GOT_HI16:                 howto manager.      (line  918)
-* BFD_RELOC_SH_GOT_LOW16:                howto manager.      (line  915)
-* BFD_RELOC_SH_GOT_MEDHI16:              howto manager.      (line  917)
-* BFD_RELOC_SH_GOT_MEDLOW16:             howto manager.      (line  916)
-* BFD_RELOC_SH_IMM3:                     howto manager.      (line  884)
-* BFD_RELOC_SH_IMM3U:                    howto manager.      (line  885)
-* BFD_RELOC_SH_IMM4:                     howto manager.      (line  892)
-* BFD_RELOC_SH_IMM4BY2:                  howto manager.      (line  893)
-* BFD_RELOC_SH_IMM4BY4:                  howto manager.      (line  894)
-* BFD_RELOC_SH_IMM8:                     howto manager.      (line  895)
-* BFD_RELOC_SH_IMM8BY2:                  howto manager.      (line  896)
-* BFD_RELOC_SH_IMM8BY4:                  howto manager.      (line  897)
-* BFD_RELOC_SH_IMMS10:                   howto manager.      (line  949)
-* BFD_RELOC_SH_IMMS10BY2:                howto manager.      (line  950)
-* BFD_RELOC_SH_IMMS10BY4:                howto manager.      (line  951)
-* BFD_RELOC_SH_IMMS10BY8:                howto manager.      (line  952)
-* BFD_RELOC_SH_IMMS16:                   howto manager.      (line  953)
-* BFD_RELOC_SH_IMMS6:                    howto manager.      (line  946)
-* BFD_RELOC_SH_IMMS6BY32:                howto manager.      (line  947)
-* BFD_RELOC_SH_IMMU16:                   howto manager.      (line  954)
-* BFD_RELOC_SH_IMMU5:                    howto manager.      (line  945)
-* BFD_RELOC_SH_IMMU6:                    howto manager.      (line  948)
-* BFD_RELOC_SH_IMM_HI16:                 howto manager.      (line  961)
-* BFD_RELOC_SH_IMM_HI16_PCREL:           howto manager.      (line  962)
-* BFD_RELOC_SH_IMM_LOW16:                howto manager.      (line  955)
-* BFD_RELOC_SH_IMM_LOW16_PCREL:          howto manager.      (line  956)
-* BFD_RELOC_SH_IMM_MEDHI16:              howto manager.      (line  959)
-* BFD_RELOC_SH_IMM_MEDHI16_PCREL:        howto manager.      (line  960)
-* BFD_RELOC_SH_IMM_MEDLOW16:             howto manager.      (line  957)
-* BFD_RELOC_SH_IMM_MEDLOW16_PCREL:       howto manager.      (line  958)
-* BFD_RELOC_SH_JMP_SLOT:                 howto manager.      (line  912)
-* BFD_RELOC_SH_JMP_SLOT64:               howto manager.      (line  937)
-* BFD_RELOC_SH_LABEL:                    howto manager.      (line  907)
-* BFD_RELOC_SH_LOOP_END:                 howto manager.      (line  909)
-* BFD_RELOC_SH_LOOP_START:               howto manager.      (line  908)
-* BFD_RELOC_SH_PCDISP12BY2:              howto manager.      (line  883)
-* BFD_RELOC_SH_PCDISP8BY2:               howto manager.      (line  882)
-* BFD_RELOC_SH_PCRELIMM8BY2:             howto manager.      (line  898)
-* BFD_RELOC_SH_PCRELIMM8BY4:             howto manager.      (line  899)
-* BFD_RELOC_SH_PLT_HI16:                 howto manager.      (line  926)
-* BFD_RELOC_SH_PLT_LOW16:                howto manager.      (line  923)
-* BFD_RELOC_SH_PLT_MEDHI16:              howto manager.      (line  925)
-* BFD_RELOC_SH_PLT_MEDLOW16:             howto manager.      (line  924)
-* BFD_RELOC_SH_PT_16:                    howto manager.      (line  963)
-* BFD_RELOC_SH_RELATIVE:                 howto manager.      (line  913)
-* BFD_RELOC_SH_RELATIVE64:               howto manager.      (line  938)
-* BFD_RELOC_SH_SHMEDIA_CODE:             howto manager.      (line  944)
-* BFD_RELOC_SH_SWITCH16:                 howto manager.      (line  900)
-* BFD_RELOC_SH_SWITCH32:                 howto manager.      (line  901)
-* BFD_RELOC_SH_TLS_DTPMOD32:             howto manager.      (line  969)
-* BFD_RELOC_SH_TLS_DTPOFF32:             howto manager.      (line  970)
-* BFD_RELOC_SH_TLS_GD_32:                howto manager.      (line  964)
-* BFD_RELOC_SH_TLS_IE_32:                howto manager.      (line  967)
-* BFD_RELOC_SH_TLS_LDO_32:               howto manager.      (line  966)
-* BFD_RELOC_SH_TLS_LD_32:                howto manager.      (line  965)
-* BFD_RELOC_SH_TLS_LE_32:                howto manager.      (line  968)
-* BFD_RELOC_SH_TLS_TPOFF32:              howto manager.      (line  971)
-* BFD_RELOC_SH_USES:                     howto manager.      (line  902)
-* BFD_RELOC_SIZE32:                      howto manager.      (line   69)
-* BFD_RELOC_SIZE64:                      howto manager.      (line   70)
-* BFD_RELOC_SPARC13:                     howto manager.      (line  125)
-* BFD_RELOC_SPARC22:                     howto manager.      (line  124)
-* BFD_RELOC_SPARC_10:                    howto manager.      (line  152)
-* BFD_RELOC_SPARC_11:                    howto manager.      (line  153)
-* BFD_RELOC_SPARC_5:                     howto manager.      (line  165)
-* BFD_RELOC_SPARC_6:                     howto manager.      (line  164)
-* BFD_RELOC_SPARC_64:                    howto manager.      (line  151)
-* BFD_RELOC_SPARC_7:                     howto manager.      (line  163)
-* BFD_RELOC_SPARC_BASE13:                howto manager.      (line  148)
-* BFD_RELOC_SPARC_BASE22:                howto manager.      (line  149)
-* BFD_RELOC_SPARC_COPY:                  howto manager.      (line  132)
-* BFD_RELOC_SPARC_DISP64:                howto manager.      (line  166)
-* BFD_RELOC_SPARC_GLOB_DAT:              howto manager.      (line  133)
-* BFD_RELOC_SPARC_GOT10:                 howto manager.      (line  126)
-* BFD_RELOC_SPARC_GOT13:                 howto manager.      (line  127)
-* BFD_RELOC_SPARC_GOT22:                 howto manager.      (line  128)
-* BFD_RELOC_SPARC_GOTDATA_HIX22:         howto manager.      (line  139)
-* BFD_RELOC_SPARC_GOTDATA_LOX10:         howto manager.      (line  140)
-* BFD_RELOC_SPARC_GOTDATA_OP:            howto manager.      (line  143)
-* BFD_RELOC_SPARC_GOTDATA_OP_HIX22:      howto manager.      (line  141)
-* BFD_RELOC_SPARC_GOTDATA_OP_LOX10:      howto manager.      (line  142)
-* BFD_RELOC_SPARC_H34:                   howto manager.      (line  175)
-* BFD_RELOC_SPARC_H44:                   howto manager.      (line  171)
-* BFD_RELOC_SPARC_HH22:                  howto manager.      (line  155)
-* BFD_RELOC_SPARC_HIX22:                 howto manager.      (line  169)
-* BFD_RELOC_SPARC_HM10:                  howto manager.      (line  156)
-* BFD_RELOC_SPARC_IRELATIVE:             howto manager.      (line  145)
-* BFD_RELOC_SPARC_JMP_IREL:              howto manager.      (line  144)
-* BFD_RELOC_SPARC_JMP_SLOT:              howto manager.      (line  134)
-* BFD_RELOC_SPARC_L44:                   howto manager.      (line  173)
-* BFD_RELOC_SPARC_LM22:                  howto manager.      (line  157)
-* BFD_RELOC_SPARC_LOX10:                 howto manager.      (line  170)
-* BFD_RELOC_SPARC_M44:                   howto manager.      (line  172)
-* BFD_RELOC_SPARC_OLO10:                 howto manager.      (line  154)
-* BFD_RELOC_SPARC_PC10:                  howto manager.      (line  129)
-* BFD_RELOC_SPARC_PC22:                  howto manager.      (line  130)
-* BFD_RELOC_SPARC_PC_HH22:               howto manager.      (line  158)
-* BFD_RELOC_SPARC_PC_HM10:               howto manager.      (line  159)
-* BFD_RELOC_SPARC_PC_LM22:               howto manager.      (line  160)
-* BFD_RELOC_SPARC_PLT32:                 howto manager.      (line  167)
-* BFD_RELOC_SPARC_PLT64:                 howto manager.      (line  168)
-* BFD_RELOC_SPARC_REGISTER:              howto manager.      (line  174)
-* BFD_RELOC_SPARC_RELATIVE:              howto manager.      (line  135)
-* BFD_RELOC_SPARC_REV32:                 howto manager.      (line  180)
-* BFD_RELOC_SPARC_SIZE32:                howto manager.      (line  176)
-* BFD_RELOC_SPARC_SIZE64:                howto manager.      (line  177)
-* BFD_RELOC_SPARC_TLS_DTPMOD32:          howto manager.      (line  200)
-* BFD_RELOC_SPARC_TLS_DTPMOD64:          howto manager.      (line  201)
-* BFD_RELOC_SPARC_TLS_DTPOFF32:          howto manager.      (line  202)
-* BFD_RELOC_SPARC_TLS_DTPOFF64:          howto manager.      (line  203)
-* BFD_RELOC_SPARC_TLS_GD_ADD:            howto manager.      (line  184)
-* BFD_RELOC_SPARC_TLS_GD_CALL:           howto manager.      (line  185)
-* BFD_RELOC_SPARC_TLS_GD_HI22:           howto manager.      (line  182)
-* BFD_RELOC_SPARC_TLS_GD_LO10:           howto manager.      (line  183)
-* BFD_RELOC_SPARC_TLS_IE_ADD:            howto manager.      (line  197)
-* BFD_RELOC_SPARC_TLS_IE_HI22:           howto manager.      (line  193)
-* BFD_RELOC_SPARC_TLS_IE_LD:             howto manager.      (line  195)
-* BFD_RELOC_SPARC_TLS_IE_LDX:            howto manager.      (line  196)
-* BFD_RELOC_SPARC_TLS_IE_LO10:           howto manager.      (line  194)
-* BFD_RELOC_SPARC_TLS_LDM_ADD:           howto manager.      (line  188)
-* BFD_RELOC_SPARC_TLS_LDM_CALL:          howto manager.      (line  189)
-* BFD_RELOC_SPARC_TLS_LDM_HI22:          howto manager.      (line  186)
-* BFD_RELOC_SPARC_TLS_LDM_LO10:          howto manager.      (line  187)
-* BFD_RELOC_SPARC_TLS_LDO_ADD:           howto manager.      (line  192)
-* BFD_RELOC_SPARC_TLS_LDO_HIX22:         howto manager.      (line  190)
-* BFD_RELOC_SPARC_TLS_LDO_LOX10:         howto manager.      (line  191)
-* BFD_RELOC_SPARC_TLS_LE_HIX22:          howto manager.      (line  198)
-* BFD_RELOC_SPARC_TLS_LE_LOX10:          howto manager.      (line  199)
-* BFD_RELOC_SPARC_TLS_TPOFF32:           howto manager.      (line  204)
-* BFD_RELOC_SPARC_TLS_TPOFF64:           howto manager.      (line  205)
-* BFD_RELOC_SPARC_UA16:                  howto manager.      (line  136)
-* BFD_RELOC_SPARC_UA32:                  howto manager.      (line  137)
-* BFD_RELOC_SPARC_UA64:                  howto manager.      (line  138)
-* BFD_RELOC_SPARC_WDISP10:               howto manager.      (line  178)
-* BFD_RELOC_SPARC_WDISP16:               howto manager.      (line  161)
-* BFD_RELOC_SPARC_WDISP19:               howto manager.      (line  162)
-* BFD_RELOC_SPARC_WDISP22:               howto manager.      (line  123)
-* BFD_RELOC_SPARC_WPLT30:                howto manager.      (line  131)
-* BFD_RELOC_SPU_ADD_PIC:                 howto manager.      (line  221)
-* BFD_RELOC_SPU_HI16:                    howto manager.      (line  218)
-* BFD_RELOC_SPU_IMM10:                   howto manager.      (line  209)
-* BFD_RELOC_SPU_IMM10W:                  howto manager.      (line  210)
-* BFD_RELOC_SPU_IMM16:                   howto manager.      (line  211)
-* BFD_RELOC_SPU_IMM16W:                  howto manager.      (line  212)
-* BFD_RELOC_SPU_IMM18:                   howto manager.      (line  213)
-* BFD_RELOC_SPU_IMM7:                    howto manager.      (line  207)
-* BFD_RELOC_SPU_IMM8:                    howto manager.      (line  208)
-* BFD_RELOC_SPU_LO16:                    howto manager.      (line  217)
-* BFD_RELOC_SPU_PCREL16:                 howto manager.      (line  216)
-* BFD_RELOC_SPU_PCREL9a:                 howto manager.      (line  214)
-* BFD_RELOC_SPU_PCREL9b:                 howto manager.      (line  215)
-* BFD_RELOC_SPU_PPU32:                   howto manager.      (line  219)
-* BFD_RELOC_SPU_PPU64:                   howto manager.      (line  220)
-* BFD_RELOC_THUMB_PCREL_BLX:             howto manager.      (line  744)
-* BFD_RELOC_THUMB_PCREL_BRANCH12:        howto manager.      (line  755)
-* BFD_RELOC_THUMB_PCREL_BRANCH20:        howto manager.      (line  756)
-* BFD_RELOC_THUMB_PCREL_BRANCH23:        howto manager.      (line  757)
-* BFD_RELOC_THUMB_PCREL_BRANCH25:        howto manager.      (line  758)
-* BFD_RELOC_THUMB_PCREL_BRANCH7:         howto manager.      (line  753)
-* BFD_RELOC_THUMB_PCREL_BRANCH9:         howto manager.      (line  754)
-* BFD_RELOC_TIC30_LDP:                   howto manager.      (line 1484)
-* BFD_RELOC_TIC54X_16_OF_23:             howto manager.      (line 1498)
-* BFD_RELOC_TIC54X_23:                   howto manager.      (line 1496)
-* BFD_RELOC_TIC54X_MS7_OF_23:            howto manager.      (line 1502)
-* BFD_RELOC_TIC54X_PARTLS7:              howto manager.      (line 1488)
-* BFD_RELOC_TIC54X_PARTMS9:              howto manager.      (line 1492)
-* BFD_RELOC_TILEGX_BROFF_X1:             howto manager.      (line 3124)
-* BFD_RELOC_TILEGX_COPY:                 howto manager.      (line 3120)
-* BFD_RELOC_TILEGX_DEST_IMM8_X1:         howto manager.      (line 3131)
-* BFD_RELOC_TILEGX_GLOB_DAT:             howto manager.      (line 3121)
-* BFD_RELOC_TILEGX_HW0:                  howto manager.      (line 3113)
-* BFD_RELOC_TILEGX_HW0_LAST:             howto manager.      (line 3117)
-* BFD_RELOC_TILEGX_HW1:                  howto manager.      (line 3114)
-* BFD_RELOC_TILEGX_HW1_LAST:             howto manager.      (line 3118)
-* BFD_RELOC_TILEGX_HW2:                  howto manager.      (line 3115)
-* BFD_RELOC_TILEGX_HW2_LAST:             howto manager.      (line 3119)
-* BFD_RELOC_TILEGX_HW3:                  howto manager.      (line 3116)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0:         howto manager.      (line 3140)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT:     howto manager.      (line 3168)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST:    howto manager.      (line 3148)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT: howto manager.     (line 3176)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PCREL: howto manager.   (line 3162)
+* BFD_RELOC_CR16_ABS20:                  howto manager.      (line 2256)
+* BFD_RELOC_CR16_ABS24:                  howto manager.      (line 2257)
+* BFD_RELOC_CR16_DISP16:                 howto manager.      (line 2267)
+* BFD_RELOC_CR16_DISP20:                 howto manager.      (line 2268)
+* BFD_RELOC_CR16_DISP24:                 howto manager.      (line 2269)
+* BFD_RELOC_CR16_DISP24a:                howto manager.      (line 2270)
+* BFD_RELOC_CR16_DISP4:                  howto manager.      (line 2265)
+* BFD_RELOC_CR16_DISP8:                  howto manager.      (line 2266)
+* BFD_RELOC_CR16_GLOB_DAT:               howto manager.      (line 2276)
+* BFD_RELOC_CR16_GOTC_REGREL20:          howto manager.      (line 2275)
+* BFD_RELOC_CR16_GOT_REGREL20:           howto manager.      (line 2274)
+* BFD_RELOC_CR16_IMM16:                  howto manager.      (line 2260)
+* BFD_RELOC_CR16_IMM20:                  howto manager.      (line 2261)
+* BFD_RELOC_CR16_IMM24:                  howto manager.      (line 2262)
+* BFD_RELOC_CR16_IMM32:                  howto manager.      (line 2263)
+* BFD_RELOC_CR16_IMM32a:                 howto manager.      (line 2264)
+* BFD_RELOC_CR16_IMM4:                   howto manager.      (line 2258)
+* BFD_RELOC_CR16_IMM8:                   howto manager.      (line 2259)
+* BFD_RELOC_CR16_NUM16:                  howto manager.      (line 2245)
+* BFD_RELOC_CR16_NUM32:                  howto manager.      (line 2246)
+* BFD_RELOC_CR16_NUM32a:                 howto manager.      (line 2247)
+* BFD_RELOC_CR16_NUM8:                   howto manager.      (line 2244)
+* BFD_RELOC_CR16_REGREL0:                howto manager.      (line 2248)
+* BFD_RELOC_CR16_REGREL14:               howto manager.      (line 2251)
+* BFD_RELOC_CR16_REGREL14a:              howto manager.      (line 2252)
+* BFD_RELOC_CR16_REGREL16:               howto manager.      (line 2253)
+* BFD_RELOC_CR16_REGREL20:               howto manager.      (line 2254)
+* BFD_RELOC_CR16_REGREL20a:              howto manager.      (line 2255)
+* BFD_RELOC_CR16_REGREL4:                howto manager.      (line 2249)
+* BFD_RELOC_CR16_REGREL4a:               howto manager.      (line 2250)
+* BFD_RELOC_CR16_SWITCH16:               howto manager.      (line 2272)
+* BFD_RELOC_CR16_SWITCH32:               howto manager.      (line 2273)
+* BFD_RELOC_CR16_SWITCH8:                howto manager.      (line 2271)
+* BFD_RELOC_CRIS_16_DTPREL:              howto manager.      (line 2336)
+* BFD_RELOC_CRIS_16_GOT:                 howto manager.      (line 2318)
+* BFD_RELOC_CRIS_16_GOTPLT:              howto manager.      (line 2322)
+* BFD_RELOC_CRIS_16_GOT_GD:              howto manager.      (line 2332)
+* BFD_RELOC_CRIS_16_GOT_TPREL:           howto manager.      (line 2338)
+* BFD_RELOC_CRIS_16_TPREL:               howto manager.      (line 2340)
+* BFD_RELOC_CRIS_32_DTPREL:              howto manager.      (line 2335)
+* BFD_RELOC_CRIS_32_GD:                  howto manager.      (line 2333)
+* BFD_RELOC_CRIS_32_GOT:                 howto manager.      (line 2316)
+* BFD_RELOC_CRIS_32_GOTPLT:              howto manager.      (line 2320)
+* BFD_RELOC_CRIS_32_GOTREL:              howto manager.      (line 2324)
+* BFD_RELOC_CRIS_32_GOT_GD:              howto manager.      (line 2331)
+* BFD_RELOC_CRIS_32_GOT_TPREL:           howto manager.      (line 2337)
+* BFD_RELOC_CRIS_32_IE:                  howto manager.      (line 2342)
+* BFD_RELOC_CRIS_32_PLT_GOTREL:          howto manager.      (line 2326)
+* BFD_RELOC_CRIS_32_PLT_PCREL:           howto manager.      (line 2328)
+* BFD_RELOC_CRIS_32_TPREL:               howto manager.      (line 2339)
+* BFD_RELOC_CRIS_BDISP8:                 howto manager.      (line 2299)
+* BFD_RELOC_CRIS_COPY:                   howto manager.      (line 2311)
+* BFD_RELOC_CRIS_DTP:                    howto manager.      (line 2334)
+* BFD_RELOC_CRIS_DTPMOD:                 howto manager.      (line 2341)
+* BFD_RELOC_CRIS_GLOB_DAT:               howto manager.      (line 2312)
+* BFD_RELOC_CRIS_JUMP_SLOT:              howto manager.      (line 2313)
+* BFD_RELOC_CRIS_LAPCQ_OFFSET:           howto manager.      (line 2307)
+* BFD_RELOC_CRIS_RELATIVE:               howto manager.      (line 2314)
+* BFD_RELOC_CRIS_SIGNED_16:              howto manager.      (line 2305)
+* BFD_RELOC_CRIS_SIGNED_6:               howto manager.      (line 2301)
+* BFD_RELOC_CRIS_SIGNED_8:               howto manager.      (line 2303)
+* BFD_RELOC_CRIS_UNSIGNED_16:            howto manager.      (line 2306)
+* BFD_RELOC_CRIS_UNSIGNED_4:             howto manager.      (line 2308)
+* BFD_RELOC_CRIS_UNSIGNED_5:             howto manager.      (line 2300)
+* BFD_RELOC_CRIS_UNSIGNED_6:             howto manager.      (line 2302)
+* BFD_RELOC_CRIS_UNSIGNED_8:             howto manager.      (line 2304)
+* BFD_RELOC_CRX_ABS16:                   howto manager.      (line 2288)
+* BFD_RELOC_CRX_ABS32:                   howto manager.      (line 2289)
+* BFD_RELOC_CRX_IMM16:                   howto manager.      (line 2293)
+* BFD_RELOC_CRX_IMM32:                   howto manager.      (line 2294)
+* BFD_RELOC_CRX_NUM16:                   howto manager.      (line 2291)
+* BFD_RELOC_CRX_NUM32:                   howto manager.      (line 2292)
+* BFD_RELOC_CRX_NUM8:                    howto manager.      (line 2290)
+* BFD_RELOC_CRX_REGREL12:                howto manager.      (line 2284)
+* BFD_RELOC_CRX_REGREL22:                howto manager.      (line 2285)
+* BFD_RELOC_CRX_REGREL28:                howto manager.      (line 2286)
+* BFD_RELOC_CRX_REGREL32:                howto manager.      (line 2287)
+* BFD_RELOC_CRX_REL16:                   howto manager.      (line 2281)
+* BFD_RELOC_CRX_REL24:                   howto manager.      (line 2282)
+* BFD_RELOC_CRX_REL32:                   howto manager.      (line 2283)
+* BFD_RELOC_CRX_REL4:                    howto manager.      (line 2278)
+* BFD_RELOC_CRX_REL8:                    howto manager.      (line 2279)
+* BFD_RELOC_CRX_REL8_CMP:                howto manager.      (line 2280)
+* BFD_RELOC_CRX_SWITCH16:                howto manager.      (line 2296)
+* BFD_RELOC_CRX_SWITCH32:                howto manager.      (line 2297)
+* BFD_RELOC_CRX_SWITCH8:                 howto manager.      (line 2295)
+* BFD_RELOC_CTOR:                        howto manager.      (line  728)
+* BFD_RELOC_D10V_10_PCREL_L:             howto manager.      (line 1139)
+* BFD_RELOC_D10V_10_PCREL_R:             howto manager.      (line 1136)
+* BFD_RELOC_D10V_18:                     howto manager.      (line 1143)
+* BFD_RELOC_D10V_18_PCREL:               howto manager.      (line 1145)
+* BFD_RELOC_D30V_15:                     howto manager.      (line 1156)
+* BFD_RELOC_D30V_15_PCREL:               howto manager.      (line 1159)
+* BFD_RELOC_D30V_15_PCREL_R:             howto manager.      (line 1162)
+* BFD_RELOC_D30V_21:                     howto manager.      (line 1166)
+* BFD_RELOC_D30V_21_PCREL:               howto manager.      (line 1169)
+* BFD_RELOC_D30V_21_PCREL_R:             howto manager.      (line 1172)
+* BFD_RELOC_D30V_32:                     howto manager.      (line 1176)
+* BFD_RELOC_D30V_32_PCREL:               howto manager.      (line 1178)
+* BFD_RELOC_D30V_6:                      howto manager.      (line 1147)
+* BFD_RELOC_D30V_9_PCREL:                howto manager.      (line 1149)
+* BFD_RELOC_D30V_9_PCREL_R:              howto manager.      (line 1152)
+* BFD_RELOC_DLX_HI16_S:                  howto manager.      (line 1180)
+* BFD_RELOC_DLX_JMP26:                   howto manager.      (line 1184)
+* BFD_RELOC_DLX_LO16:                    howto manager.      (line 1182)
+* BFD_RELOC_EPIPHANY_HIGH:               howto manager.      (line 3266)
+* BFD_RELOC_EPIPHANY_IMM11:              howto manager.      (line 3272)
+* BFD_RELOC_EPIPHANY_IMM8:               howto manager.      (line 3275)
+* BFD_RELOC_EPIPHANY_LOW:                howto manager.      (line 3268)
+* BFD_RELOC_EPIPHANY_SIMM11:             howto manager.      (line 3270)
+* BFD_RELOC_EPIPHANY_SIMM24:             howto manager.      (line 3264)
+* BFD_RELOC_EPIPHANY_SIMM8:              howto manager.      (line 3262)
+* BFD_RELOC_FR30_10_IN_8:                howto manager.      (line 1554)
+* BFD_RELOC_FR30_12_PCREL:               howto manager.      (line 1560)
+* BFD_RELOC_FR30_20:                     howto manager.      (line 1542)
+* BFD_RELOC_FR30_48:                     howto manager.      (line 1540)
+* BFD_RELOC_FR30_6_IN_4:                 howto manager.      (line 1545)
+* BFD_RELOC_FR30_8_IN_8:                 howto manager.      (line 1548)
+* BFD_RELOC_FR30_9_IN_8:                 howto manager.      (line 1551)
+* BFD_RELOC_FR30_9_PCREL:                howto manager.      (line 1557)
+* BFD_RELOC_FRV_FUNCDESC:                howto manager.      (line  451)
+* BFD_RELOC_FRV_FUNCDESC_GOT12:          howto manager.      (line  452)
+* BFD_RELOC_FRV_FUNCDESC_GOTHI:          howto manager.      (line  453)
+* BFD_RELOC_FRV_FUNCDESC_GOTLO:          howto manager.      (line  454)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFF12:       howto manager.      (line  456)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFFHI:       howto manager.      (line  457)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFFLO:       howto manager.      (line  458)
+* BFD_RELOC_FRV_FUNCDESC_VALUE:          howto manager.      (line  455)
+* BFD_RELOC_FRV_GETTLSOFF:               howto manager.      (line  462)
+* BFD_RELOC_FRV_GETTLSOFF_RELAX:         howto manager.      (line  475)
+* BFD_RELOC_FRV_GOT12:                   howto manager.      (line  448)
+* BFD_RELOC_FRV_GOTHI:                   howto manager.      (line  449)
+* BFD_RELOC_FRV_GOTLO:                   howto manager.      (line  450)
+* BFD_RELOC_FRV_GOTOFF12:                howto manager.      (line  459)
+* BFD_RELOC_FRV_GOTOFFHI:                howto manager.      (line  460)
+* BFD_RELOC_FRV_GOTOFFLO:                howto manager.      (line  461)
+* BFD_RELOC_FRV_GOTTLSDESC12:            howto manager.      (line  464)
+* BFD_RELOC_FRV_GOTTLSDESCHI:            howto manager.      (line  465)
+* BFD_RELOC_FRV_GOTTLSDESCLO:            howto manager.      (line  466)
+* BFD_RELOC_FRV_GOTTLSOFF12:             howto manager.      (line  470)
+* BFD_RELOC_FRV_GOTTLSOFFHI:             howto manager.      (line  471)
+* BFD_RELOC_FRV_GOTTLSOFFLO:             howto manager.      (line  472)
+* BFD_RELOC_FRV_GPREL12:                 howto manager.      (line  443)
+* BFD_RELOC_FRV_GPREL32:                 howto manager.      (line  445)
+* BFD_RELOC_FRV_GPRELHI:                 howto manager.      (line  446)
+* BFD_RELOC_FRV_GPRELLO:                 howto manager.      (line  447)
+* BFD_RELOC_FRV_GPRELU12:                howto manager.      (line  444)
+* BFD_RELOC_FRV_HI16:                    howto manager.      (line  442)
+* BFD_RELOC_FRV_LABEL16:                 howto manager.      (line  439)
+* BFD_RELOC_FRV_LABEL24:                 howto manager.      (line  440)
+* BFD_RELOC_FRV_LO16:                    howto manager.      (line  441)
+* BFD_RELOC_FRV_TLSDESC_RELAX:           howto manager.      (line  474)
+* BFD_RELOC_FRV_TLSDESC_VALUE:           howto manager.      (line  463)
+* BFD_RELOC_FRV_TLSMOFF:                 howto manager.      (line  477)
+* BFD_RELOC_FRV_TLSMOFF12:               howto manager.      (line  467)
+* BFD_RELOC_FRV_TLSMOFFHI:               howto manager.      (line  468)
+* BFD_RELOC_FRV_TLSMOFFLO:               howto manager.      (line  469)
+* BFD_RELOC_FRV_TLSOFF:                  howto manager.      (line  473)
+* BFD_RELOC_FRV_TLSOFF_RELAX:            howto manager.      (line  476)
+* BFD_RELOC_FT32_10:                     howto manager.      (line  429)
+* BFD_RELOC_FT32_15:                     howto manager.      (line  436)
+* BFD_RELOC_FT32_17:                     howto manager.      (line  431)
+* BFD_RELOC_FT32_18:                     howto manager.      (line  432)
+* BFD_RELOC_FT32_20:                     howto manager.      (line  430)
+* BFD_RELOC_FT32_DIFF32:                 howto manager.      (line  437)
+* BFD_RELOC_FT32_RELAX:                  howto manager.      (line  433)
+* BFD_RELOC_FT32_SC0:                    howto manager.      (line  434)
+* BFD_RELOC_FT32_SC1:                    howto manager.      (line  435)
+* BFD_RELOC_GPREL16:                     howto manager.      (line  112)
+* BFD_RELOC_GPREL32:                     howto manager.      (line  113)
+* BFD_RELOC_H8_DIR16A8:                  howto manager.      (line 2369)
+* BFD_RELOC_H8_DIR16R8:                  howto manager.      (line 2370)
+* BFD_RELOC_H8_DIR24A8:                  howto manager.      (line 2371)
+* BFD_RELOC_H8_DIR24R8:                  howto manager.      (line 2372)
+* BFD_RELOC_H8_DIR32A16:                 howto manager.      (line 2373)
+* BFD_RELOC_H8_DISP32A16:                howto manager.      (line 2374)
+* BFD_RELOC_HI16:                        howto manager.      (line  312)
+* BFD_RELOC_HI16_BASEREL:                howto manager.      (line   92)
+* BFD_RELOC_HI16_GOTOFF:                 howto manager.      (line   51)
+* BFD_RELOC_HI16_PCREL:                  howto manager.      (line  321)
+* BFD_RELOC_HI16_PLTOFF:                 howto manager.      (line   63)
+* BFD_RELOC_HI16_S:                      howto manager.      (line  314)
+* BFD_RELOC_HI16_S_BASEREL:              howto manager.      (line   93)
+* BFD_RELOC_HI16_S_GOTOFF:               howto manager.      (line   52)
+* BFD_RELOC_HI16_S_PCREL:                howto manager.      (line  323)
+* BFD_RELOC_HI16_S_PLTOFF:               howto manager.      (line   64)
+* BFD_RELOC_HI22:                        howto manager.      (line  108)
+* BFD_RELOC_I370_D12:                    howto manager.      (line  726)
+* BFD_RELOC_IA64_COPY:                   howto manager.      (line 2101)
+* BFD_RELOC_IA64_DIR32LSB:               howto manager.      (line 2046)
+* BFD_RELOC_IA64_DIR32MSB:               howto manager.      (line 2045)
+* BFD_RELOC_IA64_DIR64LSB:               howto manager.      (line 2048)
+* BFD_RELOC_IA64_DIR64MSB:               howto manager.      (line 2047)
+* BFD_RELOC_IA64_DTPMOD64LSB:            howto manager.      (line 2111)
+* BFD_RELOC_IA64_DTPMOD64MSB:            howto manager.      (line 2110)
+* BFD_RELOC_IA64_DTPREL14:               howto manager.      (line 2113)
+* BFD_RELOC_IA64_DTPREL22:               howto manager.      (line 2114)
+* BFD_RELOC_IA64_DTPREL32LSB:            howto manager.      (line 2117)
+* BFD_RELOC_IA64_DTPREL32MSB:            howto manager.      (line 2116)
+* BFD_RELOC_IA64_DTPREL64I:              howto manager.      (line 2115)
+* BFD_RELOC_IA64_DTPREL64LSB:            howto manager.      (line 2119)
+* BFD_RELOC_IA64_DTPREL64MSB:            howto manager.      (line 2118)
+* BFD_RELOC_IA64_FPTR32LSB:              howto manager.      (line 2063)
+* BFD_RELOC_IA64_FPTR32MSB:              howto manager.      (line 2062)
+* BFD_RELOC_IA64_FPTR64I:                howto manager.      (line 2061)
+* BFD_RELOC_IA64_FPTR64LSB:              howto manager.      (line 2065)
+* BFD_RELOC_IA64_FPTR64MSB:              howto manager.      (line 2064)
+* BFD_RELOC_IA64_GPREL22:                howto manager.      (line 2049)
+* BFD_RELOC_IA64_GPREL32LSB:             howto manager.      (line 2052)
+* BFD_RELOC_IA64_GPREL32MSB:             howto manager.      (line 2051)
+* BFD_RELOC_IA64_GPREL64I:               howto manager.      (line 2050)
+* BFD_RELOC_IA64_GPREL64LSB:             howto manager.      (line 2054)
+* BFD_RELOC_IA64_GPREL64MSB:             howto manager.      (line 2053)
+* BFD_RELOC_IA64_IMM14:                  howto manager.      (line 2042)
+* BFD_RELOC_IA64_IMM22:                  howto manager.      (line 2043)
+* BFD_RELOC_IA64_IMM64:                  howto manager.      (line 2044)
+* BFD_RELOC_IA64_IPLTLSB:                howto manager.      (line 2100)
+* BFD_RELOC_IA64_IPLTMSB:                howto manager.      (line 2099)
+* BFD_RELOC_IA64_LDXMOV:                 howto manager.      (line 2103)
+* BFD_RELOC_IA64_LTOFF22:                howto manager.      (line 2055)
+* BFD_RELOC_IA64_LTOFF22X:               howto manager.      (line 2102)
+* BFD_RELOC_IA64_LTOFF64I:               howto manager.      (line 2056)
+* BFD_RELOC_IA64_LTOFF_DTPMOD22:         howto manager.      (line 2112)
+* BFD_RELOC_IA64_LTOFF_DTPREL22:         howto manager.      (line 2120)
+* BFD_RELOC_IA64_LTOFF_FPTR22:           howto manager.      (line 2077)
+* BFD_RELOC_IA64_LTOFF_FPTR32LSB:        howto manager.      (line 2080)
+* BFD_RELOC_IA64_LTOFF_FPTR32MSB:        howto manager.      (line 2079)
+* BFD_RELOC_IA64_LTOFF_FPTR64I:          howto manager.      (line 2078)
+* BFD_RELOC_IA64_LTOFF_FPTR64LSB:        howto manager.      (line 2082)
+* BFD_RELOC_IA64_LTOFF_FPTR64MSB:        howto manager.      (line 2081)
+* BFD_RELOC_IA64_LTOFF_TPREL22:          howto manager.      (line 2109)
+* BFD_RELOC_IA64_LTV32LSB:               howto manager.      (line 2096)
+* BFD_RELOC_IA64_LTV32MSB:               howto manager.      (line 2095)
+* BFD_RELOC_IA64_LTV64LSB:               howto manager.      (line 2098)
+* BFD_RELOC_IA64_LTV64MSB:               howto manager.      (line 2097)
+* BFD_RELOC_IA64_PCREL21B:               howto manager.      (line 2066)
+* BFD_RELOC_IA64_PCREL21BI:              howto manager.      (line 2067)
+* BFD_RELOC_IA64_PCREL21F:               howto manager.      (line 2069)
+* BFD_RELOC_IA64_PCREL21M:               howto manager.      (line 2068)
+* BFD_RELOC_IA64_PCREL22:                howto manager.      (line 2070)
+* BFD_RELOC_IA64_PCREL32LSB:             howto manager.      (line 2074)
+* BFD_RELOC_IA64_PCREL32MSB:             howto manager.      (line 2073)
+* BFD_RELOC_IA64_PCREL60B:               howto manager.      (line 2071)
+* BFD_RELOC_IA64_PCREL64I:               howto manager.      (line 2072)
+* BFD_RELOC_IA64_PCREL64LSB:             howto manager.      (line 2076)
+* BFD_RELOC_IA64_PCREL64MSB:             howto manager.      (line 2075)
+* BFD_RELOC_IA64_PLTOFF22:               howto manager.      (line 2057)
+* BFD_RELOC_IA64_PLTOFF64I:              howto manager.      (line 2058)
+* BFD_RELOC_IA64_PLTOFF64LSB:            howto manager.      (line 2060)
+* BFD_RELOC_IA64_PLTOFF64MSB:            howto manager.      (line 2059)
+* BFD_RELOC_IA64_REL32LSB:               howto manager.      (line 2092)
+* BFD_RELOC_IA64_REL32MSB:               howto manager.      (line 2091)
+* BFD_RELOC_IA64_REL64LSB:               howto manager.      (line 2094)
+* BFD_RELOC_IA64_REL64MSB:               howto manager.      (line 2093)
+* BFD_RELOC_IA64_SECREL32LSB:            howto manager.      (line 2088)
+* BFD_RELOC_IA64_SECREL32MSB:            howto manager.      (line 2087)
+* BFD_RELOC_IA64_SECREL64LSB:            howto manager.      (line 2090)
+* BFD_RELOC_IA64_SECREL64MSB:            howto manager.      (line 2089)
+* BFD_RELOC_IA64_SEGREL32LSB:            howto manager.      (line 2084)
+* BFD_RELOC_IA64_SEGREL32MSB:            howto manager.      (line 2083)
+* BFD_RELOC_IA64_SEGREL64LSB:            howto manager.      (line 2086)
+* BFD_RELOC_IA64_SEGREL64MSB:            howto manager.      (line 2085)
+* BFD_RELOC_IA64_TPREL14:                howto manager.      (line 2104)
+* BFD_RELOC_IA64_TPREL22:                howto manager.      (line 2105)
+* BFD_RELOC_IA64_TPREL64I:               howto manager.      (line 2106)
+* BFD_RELOC_IA64_TPREL64LSB:             howto manager.      (line 2108)
+* BFD_RELOC_IA64_TPREL64MSB:             howto manager.      (line 2107)
+* BFD_RELOC_IP2K_ADDR16CJP:              howto manager.      (line 2003)
+* BFD_RELOC_IP2K_BANK:                   howto manager.      (line 2001)
+* BFD_RELOC_IP2K_EX8DATA:                howto manager.      (line 2009)
+* BFD_RELOC_IP2K_FR9:                    howto manager.      (line 1999)
+* BFD_RELOC_IP2K_FR_OFFSET:              howto manager.      (line 2018)
+* BFD_RELOC_IP2K_HI8DATA:                howto manager.      (line 2008)
+* BFD_RELOC_IP2K_HI8INSN:                howto manager.      (line 2012)
+* BFD_RELOC_IP2K_LO8DATA:                howto manager.      (line 2007)
+* BFD_RELOC_IP2K_LO8INSN:                howto manager.      (line 2011)
+* BFD_RELOC_IP2K_PAGE3:                  howto manager.      (line 2005)
+* BFD_RELOC_IP2K_PC_SKIP:                howto manager.      (line 2014)
+* BFD_RELOC_IP2K_TEXT:                   howto manager.      (line 2016)
+* BFD_RELOC_IQ2000_OFFSET_16:            howto manager.      (line 2508)
+* BFD_RELOC_IQ2000_OFFSET_21:            howto manager.      (line 2509)
+* BFD_RELOC_IQ2000_UHI16:                howto manager.      (line 2510)
+* BFD_RELOC_LM32_16_GOT:                 howto manager.      (line 2600)
+* BFD_RELOC_LM32_BRANCH:                 howto manager.      (line 2599)
+* BFD_RELOC_LM32_CALL:                   howto manager.      (line 2598)
+* BFD_RELOC_LM32_COPY:                   howto manager.      (line 2603)
+* BFD_RELOC_LM32_GLOB_DAT:               howto manager.      (line 2604)
+* BFD_RELOC_LM32_GOTOFF_HI16:            howto manager.      (line 2601)
+* BFD_RELOC_LM32_GOTOFF_LO16:            howto manager.      (line 2602)
+* BFD_RELOC_LM32_JMP_SLOT:               howto manager.      (line 2605)
+* BFD_RELOC_LM32_RELATIVE:               howto manager.      (line 2606)
+* BFD_RELOC_LO10:                        howto manager.      (line  109)
+* BFD_RELOC_LO16:                        howto manager.      (line  319)
+* BFD_RELOC_LO16_BASEREL:                howto manager.      (line   91)
+* BFD_RELOC_LO16_GOTOFF:                 howto manager.      (line   50)
+* BFD_RELOC_LO16_PCREL:                  howto manager.      (line  325)
+* BFD_RELOC_LO16_PLTOFF:                 howto manager.      (line   62)
+* BFD_RELOC_M32C_HI8:                    howto manager.      (line 1186)
+* BFD_RELOC_M32C_RL_1ADDR:               howto manager.      (line 1188)
+* BFD_RELOC_M32C_RL_2ADDR:               howto manager.      (line 1189)
+* BFD_RELOC_M32C_RL_JUMP:                howto manager.      (line 1187)
+* BFD_RELOC_M32R_10_PCREL:               howto manager.      (line 1194)
+* BFD_RELOC_M32R_18_PCREL:               howto manager.      (line 1197)
+* BFD_RELOC_M32R_24:                     howto manager.      (line 1191)
+* BFD_RELOC_M32R_26_PCREL:               howto manager.      (line 1199)
+* BFD_RELOC_M32R_26_PLTREL:              howto manager.      (line 1213)
+* BFD_RELOC_M32R_COPY:                   howto manager.      (line 1214)
+* BFD_RELOC_M32R_GLOB_DAT:               howto manager.      (line 1215)
+* BFD_RELOC_M32R_GOT16_HI_SLO:           howto manager.      (line 1224)
+* BFD_RELOC_M32R_GOT16_HI_ULO:           howto manager.      (line 1223)
+* BFD_RELOC_M32R_GOT16_LO:               howto manager.      (line 1225)
+* BFD_RELOC_M32R_GOT24:                  howto manager.      (line 1212)
+* BFD_RELOC_M32R_GOTOFF:                 howto manager.      (line 1218)
+* BFD_RELOC_M32R_GOTOFF_HI_SLO:          howto manager.      (line 1220)
+* BFD_RELOC_M32R_GOTOFF_HI_ULO:          howto manager.      (line 1219)
+* BFD_RELOC_M32R_GOTOFF_LO:              howto manager.      (line 1221)
+* BFD_RELOC_M32R_GOTPC24:                howto manager.      (line 1222)
+* BFD_RELOC_M32R_GOTPC_HI_SLO:           howto manager.      (line 1227)
+* BFD_RELOC_M32R_GOTPC_HI_ULO:           howto manager.      (line 1226)
+* BFD_RELOC_M32R_GOTPC_LO:               howto manager.      (line 1228)
+* BFD_RELOC_M32R_HI16_SLO:               howto manager.      (line 1204)
+* BFD_RELOC_M32R_HI16_ULO:               howto manager.      (line 1201)
+* BFD_RELOC_M32R_JMP_SLOT:               howto manager.      (line 1216)
+* BFD_RELOC_M32R_LO16:                   howto manager.      (line 1207)
+* BFD_RELOC_M32R_RELATIVE:               howto manager.      (line 1217)
+* BFD_RELOC_M32R_SDA16:                  howto manager.      (line 1209)
+* BFD_RELOC_M68HC11_24:                  howto manager.      (line 2148)
+* BFD_RELOC_M68HC11_3B:                  howto manager.      (line 2128)
+* BFD_RELOC_M68HC11_HI8:                 howto manager.      (line 2122)
+* BFD_RELOC_M68HC11_LO16:                howto manager.      (line 2139)
+* BFD_RELOC_M68HC11_LO8:                 howto manager.      (line 2125)
+* BFD_RELOC_M68HC11_PAGE:                howto manager.      (line 2144)
+* BFD_RELOC_M68HC11_RL_GROUP:            howto manager.      (line 2135)
+* BFD_RELOC_M68HC11_RL_JUMP:             howto manager.      (line 2130)
+* BFD_RELOC_M68HC12_10_PCREL:            howto manager.      (line 2191)
+* BFD_RELOC_M68HC12_16B:                 howto manager.      (line 2187)
+* BFD_RELOC_M68HC12_5B:                  howto manager.      (line 2153)
+* BFD_RELOC_M68HC12_9B:                  howto manager.      (line 2185)
+* BFD_RELOC_M68HC12_9_PCREL:             howto manager.      (line 2189)
+* BFD_RELOC_M68HC12_HI8XG:               howto manager.      (line 2196)
+* BFD_RELOC_M68HC12_LO8XG:               howto manager.      (line 2193)
+* BFD_RELOC_MACH_O_ARM64_ADDEND:         howto manager.      (line 2636)
+* BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21: howto manager.     (line 2638)
+* BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12: howto manager.  (line 2640)
+* BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT: howto manager.      (line 2642)
+* BFD_RELOC_MACH_O_LOCAL_SECTDIFF:       howto manager.      (line 2611)
+* BFD_RELOC_MACH_O_PAIR:                 howto manager.      (line 2613)
+* BFD_RELOC_MACH_O_SECTDIFF:             howto manager.      (line 2608)
+* BFD_RELOC_MACH_O_SUBTRACTOR32:         howto manager.      (line 2615)
+* BFD_RELOC_MACH_O_SUBTRACTOR64:         howto manager.      (line 2617)
+* BFD_RELOC_MACH_O_X86_64_BRANCH32:      howto manager.      (line 2619)
+* BFD_RELOC_MACH_O_X86_64_BRANCH8:       howto manager.      (line 2620)
+* BFD_RELOC_MACH_O_X86_64_GOT:           howto manager.      (line 2623)
+* BFD_RELOC_MACH_O_X86_64_GOT_LOAD:      howto manager.      (line 2625)
+* BFD_RELOC_MACH_O_X86_64_PCREL32_1:     howto manager.      (line 2628)
+* BFD_RELOC_MACH_O_X86_64_PCREL32_2:     howto manager.      (line 2630)
+* BFD_RELOC_MACH_O_X86_64_PCREL32_4:     howto manager.      (line 2632)
+* BFD_RELOC_MACH_O_X86_64_TLV:           howto manager.      (line 2634)
+* BFD_RELOC_MCORE_PCREL_32:              howto manager.      (line 1566)
+* BFD_RELOC_MCORE_PCREL_IMM11BY2:        howto manager.      (line 1564)
+* BFD_RELOC_MCORE_PCREL_IMM4BY2:         howto manager.      (line 1565)
+* BFD_RELOC_MCORE_PCREL_IMM8BY4:         howto manager.      (line 1563)
+* BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2:    howto manager.      (line 1567)
+* BFD_RELOC_MCORE_RVA:                   howto manager.      (line 1568)
+* BFD_RELOC_MEP_16:                      howto manager.      (line 1571)
+* BFD_RELOC_MEP_32:                      howto manager.      (line 1572)
+* BFD_RELOC_MEP_8:                       howto manager.      (line 1570)
+* BFD_RELOC_MEP_ADDR24A4:                howto manager.      (line 1587)
+* BFD_RELOC_MEP_GNU_VTENTRY:             howto manager.      (line 1589)
+* BFD_RELOC_MEP_GNU_VTINHERIT:           howto manager.      (line 1588)
+* BFD_RELOC_MEP_GPREL:                   howto manager.      (line 1581)
+* BFD_RELOC_MEP_HI16S:                   howto manager.      (line 1580)
+* BFD_RELOC_MEP_HI16U:                   howto manager.      (line 1579)
+* BFD_RELOC_MEP_LOW16:                   howto manager.      (line 1578)
+* BFD_RELOC_MEP_PCABS24A2:               howto manager.      (line 1577)
+* BFD_RELOC_MEP_PCREL12A2:               howto manager.      (line 1574)
+* BFD_RELOC_MEP_PCREL17A2:               howto manager.      (line 1575)
+* BFD_RELOC_MEP_PCREL24A2:               howto manager.      (line 1576)
+* BFD_RELOC_MEP_PCREL8A2:                howto manager.      (line 1573)
+* BFD_RELOC_MEP_TPREL:                   howto manager.      (line 1582)
+* BFD_RELOC_MEP_TPREL7:                  howto manager.      (line 1583)
+* BFD_RELOC_MEP_TPREL7A2:                howto manager.      (line 1584)
+* BFD_RELOC_MEP_TPREL7A4:                howto manager.      (line 1585)
+* BFD_RELOC_MEP_UIMM24:                  howto manager.      (line 1586)
+* BFD_RELOC_METAG_COPY:                  howto manager.      (line 1610)
+* BFD_RELOC_METAG_GETSETOFF:             howto manager.      (line 1594)
+* BFD_RELOC_METAG_GETSET_GOT:            howto manager.      (line 1602)
+* BFD_RELOC_METAG_GETSET_GOTOFF:         howto manager.      (line 1601)
+* BFD_RELOC_METAG_GLOB_DAT:              howto manager.      (line 1613)
+* BFD_RELOC_METAG_GOTOFF:                howto manager.      (line 1608)
+* BFD_RELOC_METAG_HI16_GOTOFF:           howto manager.      (line 1599)
+* BFD_RELOC_METAG_HI16_GOTPC:            howto manager.      (line 1603)
+* BFD_RELOC_METAG_HI16_PLT:              howto manager.      (line 1605)
+* BFD_RELOC_METAG_HIADDR16:              howto manager.      (line 1591)
+* BFD_RELOC_METAG_HIOG:                  howto manager.      (line 1595)
+* BFD_RELOC_METAG_JMP_SLOT:              howto manager.      (line 1611)
+* BFD_RELOC_METAG_LO16_GOTOFF:           howto manager.      (line 1600)
+* BFD_RELOC_METAG_LO16_GOTPC:            howto manager.      (line 1604)
+* BFD_RELOC_METAG_LO16_PLT:              howto manager.      (line 1606)
+* BFD_RELOC_METAG_LOADDR16:              howto manager.      (line 1592)
+* BFD_RELOC_METAG_LOOG:                  howto manager.      (line 1596)
+* BFD_RELOC_METAG_PLT:                   howto manager.      (line 1609)
+* BFD_RELOC_METAG_REL16:                 howto manager.      (line 1598)
+* BFD_RELOC_METAG_REL8:                  howto manager.      (line 1597)
+* BFD_RELOC_METAG_RELATIVE:              howto manager.      (line 1612)
+* BFD_RELOC_METAG_RELBRANCH:             howto manager.      (line 1593)
+* BFD_RELOC_METAG_RELBRANCH_PLT:         howto manager.      (line 1607)
+* BFD_RELOC_METAG_TLS_DTPMOD:            howto manager.      (line 1624)
+* BFD_RELOC_METAG_TLS_DTPOFF:            howto manager.      (line 1625)
+* BFD_RELOC_METAG_TLS_GD:                howto manager.      (line 1614)
+* BFD_RELOC_METAG_TLS_IE:                howto manager.      (line 1619)
+* BFD_RELOC_METAG_TLS_IENONPIC:          howto manager.      (line 1620)
+* BFD_RELOC_METAG_TLS_IENONPIC_HI16:     howto manager.      (line 1621)
+* BFD_RELOC_METAG_TLS_IENONPIC_LO16:     howto manager.      (line 1622)
+* BFD_RELOC_METAG_TLS_LDM:               howto manager.      (line 1615)
+* BFD_RELOC_METAG_TLS_LDO:               howto manager.      (line 1618)
+* BFD_RELOC_METAG_TLS_LDO_HI16:          howto manager.      (line 1616)
+* BFD_RELOC_METAG_TLS_LDO_LO16:          howto manager.      (line 1617)
+* BFD_RELOC_METAG_TLS_LE:                howto manager.      (line 1626)
+* BFD_RELOC_METAG_TLS_LE_HI16:           howto manager.      (line 1627)
+* BFD_RELOC_METAG_TLS_LE_LO16:           howto manager.      (line 1628)
+* BFD_RELOC_METAG_TLS_TPOFF:             howto manager.      (line 1623)
+* BFD_RELOC_MICROBLAZE_32_GOTOFF:        howto manager.      (line 2678)
+* BFD_RELOC_MICROBLAZE_32_LO:            howto manager.      (line 2644)
+* BFD_RELOC_MICROBLAZE_32_LO_PCREL:      howto manager.      (line 2647)
+* BFD_RELOC_MICROBLAZE_32_ROSDA:         howto manager.      (line 2650)
+* BFD_RELOC_MICROBLAZE_32_RWSDA:         howto manager.      (line 2653)
+* BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:    howto manager.      (line 2656)
+* BFD_RELOC_MICROBLAZE_32_TLSDTPMOD:     howto manager.      (line 2694)
+* BFD_RELOC_MICROBLAZE_32_TLSDTPREL:     howto manager.      (line 2696)
+* BFD_RELOC_MICROBLAZE_64_GOT:           howto manager.      (line 2667)
+* BFD_RELOC_MICROBLAZE_64_GOTOFF:        howto manager.      (line 2674)
+* BFD_RELOC_MICROBLAZE_64_GOTPC:         howto manager.      (line 2663)
+* BFD_RELOC_MICROBLAZE_64_NONE:          howto manager.      (line 2659)
+* BFD_RELOC_MICROBLAZE_64_PLT:           howto manager.      (line 2670)
+* BFD_RELOC_MICROBLAZE_64_TEXTPCREL:     howto manager.      (line 2707)
+* BFD_RELOC_MICROBLAZE_64_TEXTREL:       howto manager.      (line 2711)
+* BFD_RELOC_MICROBLAZE_64_TLS:           howto manager.      (line 2684)
+* BFD_RELOC_MICROBLAZE_64_TLSDTPREL:     howto manager.      (line 2698)
+* BFD_RELOC_MICROBLAZE_64_TLSGD:         howto manager.      (line 2686)
+* BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL:   howto manager.      (line 2701)
+* BFD_RELOC_MICROBLAZE_64_TLSLD:         howto manager.      (line 2690)
+* BFD_RELOC_MICROBLAZE_64_TLSTPREL:      howto manager.      (line 2704)
+* BFD_RELOC_MICROBLAZE_COPY:             howto manager.      (line 2681)
+* BFD_RELOC_MICROMIPS_10_PCREL_S1:       howto manager.      (line  352)
+* BFD_RELOC_MICROMIPS_16_PCREL_S1:       howto manager.      (line  353)
+* BFD_RELOC_MICROMIPS_7_PCREL_S1:        howto manager.      (line  351)
+* BFD_RELOC_MICROMIPS_CALL16:            howto manager.      (line  370)
+* BFD_RELOC_MICROMIPS_CALL_HI16:         howto manager.      (line  376)
+* BFD_RELOC_MICROMIPS_CALL_LO16:         howto manager.      (line  378)
+* BFD_RELOC_MICROMIPS_GOT16:             howto manager.      (line  368)
+* BFD_RELOC_MICROMIPS_GOT_DISP:          howto manager.      (line  386)
+* BFD_RELOC_MICROMIPS_GOT_HI16:          howto manager.      (line  372)
+* BFD_RELOC_MICROMIPS_GOT_LO16:          howto manager.      (line  374)
+* BFD_RELOC_MICROMIPS_GOT_OFST:          howto manager.      (line  384)
+* BFD_RELOC_MICROMIPS_GOT_PAGE:          howto manager.      (line  382)
+* BFD_RELOC_MICROMIPS_GPREL16:           howto manager.      (line  362)
+* BFD_RELOC_MICROMIPS_HI16:              howto manager.      (line  363)
+* BFD_RELOC_MICROMIPS_HI16_S:            howto manager.      (line  364)
+* BFD_RELOC_MICROMIPS_HIGHER:            howto manager.      (line  395)
+* BFD_RELOC_MICROMIPS_HIGHEST:           howto manager.      (line  393)
+* BFD_RELOC_MICROMIPS_JALR:              howto manager.      (line  401)
+* BFD_RELOC_MICROMIPS_JMP:               howto manager.      (line  306)
+* BFD_RELOC_MICROMIPS_LITERAL:           howto manager.      (line  349)
+* BFD_RELOC_MICROMIPS_LO16:              howto manager.      (line  365)
+* BFD_RELOC_MICROMIPS_SCN_DISP:          howto manager.      (line  397)
+* BFD_RELOC_MICROMIPS_SUB:               howto manager.      (line  380)
+* BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16:   howto manager.      (line  411)
+* BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16:   howto manager.      (line  413)
+* BFD_RELOC_MICROMIPS_TLS_GD:            howto manager.      (line  407)
+* BFD_RELOC_MICROMIPS_TLS_GOTTPREL:      howto manager.      (line  415)
+* BFD_RELOC_MICROMIPS_TLS_LDM:           howto manager.      (line  409)
+* BFD_RELOC_MICROMIPS_TLS_TPREL_HI16:    howto manager.      (line  419)
+* BFD_RELOC_MICROMIPS_TLS_TPREL_LO16:    howto manager.      (line  421)
+* BFD_RELOC_MIPS16_16_PCREL_S1:          howto manager.      (line  355)
+* BFD_RELOC_MIPS16_CALL16:               howto manager.      (line  328)
+* BFD_RELOC_MIPS16_GOT16:                howto manager.      (line  327)
+* BFD_RELOC_MIPS16_GPREL:                howto manager.      (line  310)
+* BFD_RELOC_MIPS16_HI16:                 howto manager.      (line  331)
+* BFD_RELOC_MIPS16_HI16_S:               howto manager.      (line  333)
+* BFD_RELOC_MIPS16_JMP:                  howto manager.      (line  308)
+* BFD_RELOC_MIPS16_LO16:                 howto manager.      (line  338)
+* BFD_RELOC_MIPS16_TLS_DTPREL_HI16:      howto manager.      (line  342)
+* BFD_RELOC_MIPS16_TLS_DTPREL_LO16:      howto manager.      (line  343)
+* BFD_RELOC_MIPS16_TLS_GD:               howto manager.      (line  340)
+* BFD_RELOC_MIPS16_TLS_GOTTPREL:         howto manager.      (line  344)
+* BFD_RELOC_MIPS16_TLS_LDM:              howto manager.      (line  341)
+* BFD_RELOC_MIPS16_TLS_TPREL_HI16:       howto manager.      (line  345)
+* BFD_RELOC_MIPS16_TLS_TPREL_LO16:       howto manager.      (line  346)
+* BFD_RELOC_MIPS_18_PCREL_S3:            howto manager.      (line  359)
+* BFD_RELOC_MIPS_19_PCREL_S2:            howto manager.      (line  360)
+* BFD_RELOC_MIPS_21_PCREL_S2:            howto manager.      (line  357)
+* BFD_RELOC_MIPS_26_PCREL_S2:            howto manager.      (line  358)
+* BFD_RELOC_MIPS_CALL16:                 howto manager.      (line  369)
+* BFD_RELOC_MIPS_CALL_HI16:              howto manager.      (line  375)
+* BFD_RELOC_MIPS_CALL_LO16:              howto manager.      (line  377)
+* BFD_RELOC_MIPS_COPY:                   howto manager.      (line  424)
+* BFD_RELOC_MIPS_DELETE:                 howto manager.      (line  391)
+* BFD_RELOC_MIPS_EH:                     howto manager.      (line  422)
+* BFD_RELOC_MIPS_GOT16:                  howto manager.      (line  367)
+* BFD_RELOC_MIPS_GOT_DISP:               howto manager.      (line  385)
+* BFD_RELOC_MIPS_GOT_HI16:               howto manager.      (line  371)
+* BFD_RELOC_MIPS_GOT_LO16:               howto manager.      (line  373)
+* BFD_RELOC_MIPS_GOT_OFST:               howto manager.      (line  383)
+* BFD_RELOC_MIPS_GOT_PAGE:               howto manager.      (line  381)
+* BFD_RELOC_MIPS_HIGHER:                 howto manager.      (line  394)
+* BFD_RELOC_MIPS_HIGHEST:                howto manager.      (line  392)
+* BFD_RELOC_MIPS_INSERT_A:               howto manager.      (line  389)
+* BFD_RELOC_MIPS_INSERT_B:               howto manager.      (line  390)
+* BFD_RELOC_MIPS_JALR:                   howto manager.      (line  400)
+* BFD_RELOC_MIPS_JMP:                    howto manager.      (line  305)
+* BFD_RELOC_MIPS_JUMP_SLOT:              howto manager.      (line  425)
+* BFD_RELOC_MIPS_LITERAL:                howto manager.      (line  348)
+* BFD_RELOC_MIPS_REL16:                  howto manager.      (line  398)
+* BFD_RELOC_MIPS_RELGOT:                 howto manager.      (line  399)
+* BFD_RELOC_MIPS_SCN_DISP:               howto manager.      (line  396)
+* BFD_RELOC_MIPS_SHIFT5:                 howto manager.      (line  387)
+* BFD_RELOC_MIPS_SHIFT6:                 howto manager.      (line  388)
+* BFD_RELOC_MIPS_SUB:                    howto manager.      (line  379)
+* BFD_RELOC_MIPS_TLS_DTPMOD32:           howto manager.      (line  402)
+* BFD_RELOC_MIPS_TLS_DTPMOD64:           howto manager.      (line  404)
+* BFD_RELOC_MIPS_TLS_DTPREL32:           howto manager.      (line  403)
+* BFD_RELOC_MIPS_TLS_DTPREL64:           howto manager.      (line  405)
+* BFD_RELOC_MIPS_TLS_DTPREL_HI16:        howto manager.      (line  410)
+* BFD_RELOC_MIPS_TLS_DTPREL_LO16:        howto manager.      (line  412)
+* BFD_RELOC_MIPS_TLS_GD:                 howto manager.      (line  406)
+* BFD_RELOC_MIPS_TLS_GOTTPREL:           howto manager.      (line  414)
+* BFD_RELOC_MIPS_TLS_LDM:                howto manager.      (line  408)
+* BFD_RELOC_MIPS_TLS_TPREL32:            howto manager.      (line  416)
+* BFD_RELOC_MIPS_TLS_TPREL64:            howto manager.      (line  417)
+* BFD_RELOC_MIPS_TLS_TPREL_HI16:         howto manager.      (line  418)
+* BFD_RELOC_MIPS_TLS_TPREL_LO16:         howto manager.      (line  420)
+* BFD_RELOC_MMIX_ADDR19:                 howto manager.      (line 1652)
+* BFD_RELOC_MMIX_ADDR27:                 howto manager.      (line 1655)
+* BFD_RELOC_MMIX_BASE_PLUS_OFFSET:       howto manager.      (line 1664)
+* BFD_RELOC_MMIX_CBRANCH:                howto manager.      (line 1635)
+* BFD_RELOC_MMIX_CBRANCH_1:              howto manager.      (line 1637)
+* BFD_RELOC_MMIX_CBRANCH_2:              howto manager.      (line 1638)
+* BFD_RELOC_MMIX_CBRANCH_3:              howto manager.      (line 1639)
+* BFD_RELOC_MMIX_CBRANCH_J:              howto manager.      (line 1636)
+* BFD_RELOC_MMIX_GETA:                   howto manager.      (line 1630)
+* BFD_RELOC_MMIX_GETA_1:                 howto manager.      (line 1631)
+* BFD_RELOC_MMIX_GETA_2:                 howto manager.      (line 1632)
+* BFD_RELOC_MMIX_GETA_3:                 howto manager.      (line 1633)
+* BFD_RELOC_MMIX_JMP:                    howto manager.      (line 1647)
+* BFD_RELOC_MMIX_JMP_1:                  howto manager.      (line 1648)
+* BFD_RELOC_MMIX_JMP_2:                  howto manager.      (line 1649)
+* BFD_RELOC_MMIX_JMP_3:                  howto manager.      (line 1650)
+* BFD_RELOC_MMIX_LOCAL:                  howto manager.      (line 1667)
+* BFD_RELOC_MMIX_PUSHJ:                  howto manager.      (line 1641)
+* BFD_RELOC_MMIX_PUSHJ_1:                howto manager.      (line 1642)
+* BFD_RELOC_MMIX_PUSHJ_2:                howto manager.      (line 1643)
+* BFD_RELOC_MMIX_PUSHJ_3:                howto manager.      (line 1644)
+* BFD_RELOC_MMIX_PUSHJ_STUBBABLE:        howto manager.      (line 1645)
+* BFD_RELOC_MMIX_REG:                    howto manager.      (line 1661)
+* BFD_RELOC_MMIX_REG_OR_BYTE:            howto manager.      (line 1658)
+* BFD_RELOC_MN10300_16_PCREL:            howto manager.      (line  518)
+* BFD_RELOC_MN10300_32_PCREL:            howto manager.      (line  515)
+* BFD_RELOC_MN10300_ALIGN:               howto manager.      (line  502)
+* BFD_RELOC_MN10300_COPY:                howto manager.      (line  490)
+* BFD_RELOC_MN10300_GLOB_DAT:            howto manager.      (line  492)
+* BFD_RELOC_MN10300_GOT16:               howto manager.      (line  487)
+* BFD_RELOC_MN10300_GOT24:               howto manager.      (line  484)
+* BFD_RELOC_MN10300_GOT32:               howto manager.      (line  481)
+* BFD_RELOC_MN10300_GOTOFF24:            howto manager.      (line  479)
+* BFD_RELOC_MN10300_JMP_SLOT:            howto manager.      (line  494)
+* BFD_RELOC_MN10300_RELATIVE:            howto manager.      (line  496)
+* BFD_RELOC_MN10300_SYM_DIFF:            howto manager.      (line  498)
+* BFD_RELOC_MN10300_TLS_DTPMOD:          howto manager.      (line  511)
+* BFD_RELOC_MN10300_TLS_DTPOFF:          howto manager.      (line  512)
+* BFD_RELOC_MN10300_TLS_GD:              howto manager.      (line  505)
+* BFD_RELOC_MN10300_TLS_GOTIE:           howto manager.      (line  508)
+* BFD_RELOC_MN10300_TLS_IE:              howto manager.      (line  509)
+* BFD_RELOC_MN10300_TLS_LD:              howto manager.      (line  506)
+* BFD_RELOC_MN10300_TLS_LDO:             howto manager.      (line  507)
+* BFD_RELOC_MN10300_TLS_LE:              howto manager.      (line  510)
+* BFD_RELOC_MN10300_TLS_TPOFF:           howto manager.      (line  513)
+* BFD_RELOC_MOXIE_10_PCREL:              howto manager.      (line  427)
+* BFD_RELOC_MSP430X_ABS16:               howto manager.      (line 2422)
+* BFD_RELOC_MSP430X_ABS20_ADR_DST:       howto manager.      (line 2419)
+* BFD_RELOC_MSP430X_ABS20_ADR_SRC:       howto manager.      (line 2418)
+* BFD_RELOC_MSP430X_ABS20_EXT_DST:       howto manager.      (line 2416)
+* BFD_RELOC_MSP430X_ABS20_EXT_ODST:      howto manager.      (line 2417)
+* BFD_RELOC_MSP430X_ABS20_EXT_SRC:       howto manager.      (line 2415)
+* BFD_RELOC_MSP430X_PCR16:               howto manager.      (line 2420)
+* BFD_RELOC_MSP430X_PCR20_CALL:          howto manager.      (line 2421)
+* BFD_RELOC_MSP430X_PCR20_EXT_DST:       howto manager.      (line 2413)
+* BFD_RELOC_MSP430X_PCR20_EXT_ODST:      howto manager.      (line 2414)
+* BFD_RELOC_MSP430X_PCR20_EXT_SRC:       howto manager.      (line 2412)
+* BFD_RELOC_MSP430_10_PCREL:             howto manager.      (line 2404)
+* BFD_RELOC_MSP430_16:                   howto manager.      (line 2406)
+* BFD_RELOC_MSP430_16_BYTE:              howto manager.      (line 2408)
+* BFD_RELOC_MSP430_16_PCREL:             howto manager.      (line 2405)
+* BFD_RELOC_MSP430_16_PCREL_BYTE:        howto manager.      (line 2407)
+* BFD_RELOC_MSP430_2X_PCREL:             howto manager.      (line 2409)
+* BFD_RELOC_MSP430_ABS8:                 howto manager.      (line 2411)
+* BFD_RELOC_MSP430_ABS_HI16:             howto manager.      (line 2423)
+* BFD_RELOC_MSP430_PREL31:               howto manager.      (line 2424)
+* BFD_RELOC_MSP430_RL_PCREL:             howto manager.      (line 2410)
+* BFD_RELOC_MSP430_SYM_DIFF:             howto manager.      (line 2425)
+* BFD_RELOC_MT_GNU_VTENTRY:              howto manager.      (line 2400)
+* BFD_RELOC_MT_GNU_VTINHERIT:            howto manager.      (line 2398)
+* BFD_RELOC_MT_HI16:                     howto manager.      (line 2394)
+* BFD_RELOC_MT_LO16:                     howto manager.      (line 2396)
+* BFD_RELOC_MT_PC16:                     howto manager.      (line 2392)
+* BFD_RELOC_MT_PCINSN8:                  howto manager.      (line 2402)
+* BFD_RELOC_NDS32_10IFCU_PCREL:          howto manager.      (line 1380)
+* BFD_RELOC_NDS32_10_UPCREL:             howto manager.      (line 1351)
+* BFD_RELOC_NDS32_15_FIXED:              howto manager.      (line 1312)
+* BFD_RELOC_NDS32_15_PCREL:              howto manager.      (line 1238)
+* BFD_RELOC_NDS32_17IFC_PCREL:           howto manager.      (line 1379)
+* BFD_RELOC_NDS32_17_FIXED:              howto manager.      (line 1313)
+* BFD_RELOC_NDS32_17_PCREL:              howto manager.      (line 1240)
+* BFD_RELOC_NDS32_20:                    howto manager.      (line 1230)
+* BFD_RELOC_NDS32_25_ABS:                howto manager.      (line 1375)
+* BFD_RELOC_NDS32_25_FIXED:              howto manager.      (line 1314)
+* BFD_RELOC_NDS32_25_PCREL:              howto manager.      (line 1242)
+* BFD_RELOC_NDS32_25_PLTREL:             howto manager.      (line 1288)
+* BFD_RELOC_NDS32_5:                     howto manager.      (line 1349)
+* BFD_RELOC_NDS32_9_FIXED:               howto manager.      (line 1311)
+* BFD_RELOC_NDS32_9_PCREL:               howto manager.      (line 1232)
+* BFD_RELOC_NDS32_9_PLTREL:              howto manager.      (line 1287)
+* BFD_RELOC_NDS32_COPY:                  howto manager.      (line 1289)
+* BFD_RELOC_NDS32_DATA:                  howto manager.      (line 1377)
+* BFD_RELOC_NDS32_DIFF16:                howto manager.      (line 1370)
+* BFD_RELOC_NDS32_DIFF32:                howto manager.      (line 1371)
+* BFD_RELOC_NDS32_DIFF8:                 howto manager.      (line 1369)
+* BFD_RELOC_NDS32_DIFF_ULEB128:          howto manager.      (line 1372)
+* BFD_RELOC_NDS32_DWARF2_LEB:            howto manager.      (line 1335)
+* BFD_RELOC_NDS32_DWARF2_OP1:            howto manager.      (line 1333)
+* BFD_RELOC_NDS32_DWARF2_OP2:            howto manager.      (line 1334)
+* BFD_RELOC_NDS32_EMPTY:                 howto manager.      (line 1373)
+* BFD_RELOC_NDS32_GLOB_DAT:              howto manager.      (line 1290)
+* BFD_RELOC_NDS32_GOT15S2:               howto manager.      (line 1346)
+* BFD_RELOC_NDS32_GOT17S2:               howto manager.      (line 1347)
+* BFD_RELOC_NDS32_GOT20:                 howto manager.      (line 1286)
+* BFD_RELOC_NDS32_GOTOFF:                howto manager.      (line 1293)
+* BFD_RELOC_NDS32_GOTOFF_HI20:           howto manager.      (line 1294)
+* BFD_RELOC_NDS32_GOTOFF_LO12:           howto manager.      (line 1295)
+* BFD_RELOC_NDS32_GOTOFF_LO15:           howto manager.      (line 1344)
+* BFD_RELOC_NDS32_GOTOFF_LO19:           howto manager.      (line 1345)
+* BFD_RELOC_NDS32_GOTOFF_SUFF:           howto manager.      (line 1358)
+* BFD_RELOC_NDS32_GOTPC20:               howto manager.      (line 1296)
+* BFD_RELOC_NDS32_GOTPC_HI20:            howto manager.      (line 1299)
+* BFD_RELOC_NDS32_GOTPC_LO12:            howto manager.      (line 1300)
+* BFD_RELOC_NDS32_GOTTPOFF:              howto manager.      (line 1387)
+* BFD_RELOC_NDS32_GOT_HI20:              howto manager.      (line 1297)
+* BFD_RELOC_NDS32_GOT_LO12:              howto manager.      (line 1298)
+* BFD_RELOC_NDS32_GOT_LO15:              howto manager.      (line 1342)
+* BFD_RELOC_NDS32_GOT_LO19:              howto manager.      (line 1343)
+* BFD_RELOC_NDS32_GOT_SUFF:              howto manager.      (line 1357)
+* BFD_RELOC_NDS32_HI20:                  howto manager.      (line 1244)
+* BFD_RELOC_NDS32_INSN16:                howto manager.      (line 1302)
+* BFD_RELOC_NDS32_JMP_SLOT:              howto manager.      (line 1291)
+* BFD_RELOC_NDS32_LABEL:                 howto manager.      (line 1303)
+* BFD_RELOC_NDS32_LO12S0:                howto manager.      (line 1256)
+* BFD_RELOC_NDS32_LO12S0_ORI:            howto manager.      (line 1259)
+* BFD_RELOC_NDS32_LO12S1:                howto manager.      (line 1253)
+* BFD_RELOC_NDS32_LO12S2:                howto manager.      (line 1250)
+* BFD_RELOC_NDS32_LO12S2_DP:             howto manager.      (line 1330)
+* BFD_RELOC_NDS32_LO12S2_SP:             howto manager.      (line 1331)
+* BFD_RELOC_NDS32_LO12S3:                howto manager.      (line 1247)
+* BFD_RELOC_NDS32_LOADSTORE:             howto manager.      (line 1310)
+* BFD_RELOC_NDS32_LONGCALL1:             howto manager.      (line 1304)
+* BFD_RELOC_NDS32_LONGCALL2:             howto manager.      (line 1305)
+* BFD_RELOC_NDS32_LONGCALL3:             howto manager.      (line 1306)
+* BFD_RELOC_NDS32_LONGCALL4:             howto manager.      (line 1315)
+* BFD_RELOC_NDS32_LONGCALL5:             howto manager.      (line 1316)
+* BFD_RELOC_NDS32_LONGCALL6:             howto manager.      (line 1317)
+* BFD_RELOC_NDS32_LONGJUMP1:             howto manager.      (line 1307)
+* BFD_RELOC_NDS32_LONGJUMP2:             howto manager.      (line 1308)
+* BFD_RELOC_NDS32_LONGJUMP3:             howto manager.      (line 1309)
+* BFD_RELOC_NDS32_LONGJUMP4:             howto manager.      (line 1318)
+* BFD_RELOC_NDS32_LONGJUMP5:             howto manager.      (line 1319)
+* BFD_RELOC_NDS32_LONGJUMP6:             howto manager.      (line 1320)
+* BFD_RELOC_NDS32_LONGJUMP7:             howto manager.      (line 1321)
+* BFD_RELOC_NDS32_MINUEND:               howto manager.      (line 1367)
+* BFD_RELOC_NDS32_MULCALL_SUFF:          howto manager.      (line 1360)
+* BFD_RELOC_NDS32_PLTBLOCK:              howto manager.      (line 1364)
+* BFD_RELOC_NDS32_PLTREL_HI20:           howto manager.      (line 1323)
+* BFD_RELOC_NDS32_PLTREL_LO12:           howto manager.      (line 1324)
+* BFD_RELOC_NDS32_PLT_GOTREL_HI20:       howto manager.      (line 1325)
+* BFD_RELOC_NDS32_PLT_GOTREL_LO12:       howto manager.      (line 1326)
+* BFD_RELOC_NDS32_PLT_GOTREL_LO15:       howto manager.      (line 1340)
+* BFD_RELOC_NDS32_PLT_GOTREL_LO19:       howto manager.      (line 1341)
+* BFD_RELOC_NDS32_PLT_GOTREL_LO20:       howto manager.      (line 1339)
+* BFD_RELOC_NDS32_PLT_GOT_SUFF:          howto manager.      (line 1359)
+* BFD_RELOC_NDS32_PTR:                   howto manager.      (line 1361)
+* BFD_RELOC_NDS32_PTR_COUNT:             howto manager.      (line 1362)
+* BFD_RELOC_NDS32_PTR_RESOLVED:          howto manager.      (line 1363)
+* BFD_RELOC_NDS32_RELATIVE:              howto manager.      (line 1292)
+* BFD_RELOC_NDS32_RELAX_ENTRY:           howto manager.      (line 1356)
+* BFD_RELOC_NDS32_RELAX_REGION_BEGIN:    howto manager.      (line 1365)
+* BFD_RELOC_NDS32_RELAX_REGION_END:      howto manager.      (line 1366)
+* BFD_RELOC_NDS32_SDA12S2_DP:            howto manager.      (line 1328)
+* BFD_RELOC_NDS32_SDA12S2_SP:            howto manager.      (line 1329)
+* BFD_RELOC_NDS32_SDA15S0:               howto manager.      (line 1271)
+* BFD_RELOC_NDS32_SDA15S1:               howto manager.      (line 1268)
+* BFD_RELOC_NDS32_SDA15S2:               howto manager.      (line 1265)
+* BFD_RELOC_NDS32_SDA15S3:               howto manager.      (line 1262)
+* BFD_RELOC_NDS32_SDA16S3:               howto manager.      (line 1274)
+* BFD_RELOC_NDS32_SDA17S2:               howto manager.      (line 1277)
+* BFD_RELOC_NDS32_SDA18S1:               howto manager.      (line 1280)
+* BFD_RELOC_NDS32_SDA19S0:               howto manager.      (line 1283)
+* BFD_RELOC_NDS32_SDA_FP7U2_RELA:        howto manager.      (line 1354)
+* BFD_RELOC_NDS32_SUBTRAHEND:            howto manager.      (line 1368)
+* BFD_RELOC_NDS32_TLS_IE_HI20:           howto manager.      (line 1388)
+* BFD_RELOC_NDS32_TLS_IE_LO12S2:         howto manager.      (line 1389)
+* BFD_RELOC_NDS32_TLS_LE_15S0:           howto manager.      (line 1392)
+* BFD_RELOC_NDS32_TLS_LE_15S1:           howto manager.      (line 1393)
+* BFD_RELOC_NDS32_TLS_LE_15S2:           howto manager.      (line 1394)
+* BFD_RELOC_NDS32_TLS_LE_20:             howto manager.      (line 1391)
+* BFD_RELOC_NDS32_TLS_LE_ADD:            howto manager.      (line 1385)
+* BFD_RELOC_NDS32_TLS_LE_HI20:           howto manager.      (line 1383)
+* BFD_RELOC_NDS32_TLS_LE_LO12:           howto manager.      (line 1384)
+* BFD_RELOC_NDS32_TLS_LE_LS:             howto manager.      (line 1386)
+* BFD_RELOC_NDS32_TLS_TPOFF:             howto manager.      (line 1390)
+* BFD_RELOC_NDS32_TPOFF:                 howto manager.      (line 1382)
+* BFD_RELOC_NDS32_TRAN:                  howto manager.      (line 1378)
+* BFD_RELOC_NDS32_UPDATE_TA:             howto manager.      (line 1337)
+* BFD_RELOC_NDS32_WORD_9_PCREL:          howto manager.      (line 1235)
+* BFD_RELOC_NIOS2_ALIGN:                 howto manager.      (line 2441)
+* BFD_RELOC_NIOS2_CACHE_OPX:             howto manager.      (line 2431)
+* BFD_RELOC_NIOS2_CALL16:                howto manager.      (line 2443)
+* BFD_RELOC_NIOS2_CALL26:                howto manager.      (line 2429)
+* BFD_RELOC_NIOS2_CALL26_NOAT:           howto manager.      (line 2461)
+* BFD_RELOC_NIOS2_CALLR:                 howto manager.      (line 2440)
+* BFD_RELOC_NIOS2_CALL_HA:               howto manager.      (line 2465)
+* BFD_RELOC_NIOS2_CALL_LO:               howto manager.      (line 2464)
+* BFD_RELOC_NIOS2_CJMP:                  howto manager.      (line 2439)
+* BFD_RELOC_NIOS2_COPY:                  howto manager.      (line 2456)
+* BFD_RELOC_NIOS2_GLOB_DAT:              howto manager.      (line 2457)
+* BFD_RELOC_NIOS2_GOT16:                 howto manager.      (line 2442)
+* BFD_RELOC_NIOS2_GOTOFF:                howto manager.      (line 2460)
+* BFD_RELOC_NIOS2_GOTOFF_HA:             howto manager.      (line 2445)
+* BFD_RELOC_NIOS2_GOTOFF_LO:             howto manager.      (line 2444)
+* BFD_RELOC_NIOS2_GOT_HA:                howto manager.      (line 2463)
+* BFD_RELOC_NIOS2_GOT_LO:                howto manager.      (line 2462)
+* BFD_RELOC_NIOS2_GPREL:                 howto manager.      (line 2437)
+* BFD_RELOC_NIOS2_HI16:                  howto manager.      (line 2434)
+* BFD_RELOC_NIOS2_HIADJ16:               howto manager.      (line 2436)
+* BFD_RELOC_NIOS2_IMM5:                  howto manager.      (line 2430)
+* BFD_RELOC_NIOS2_IMM6:                  howto manager.      (line 2432)
+* BFD_RELOC_NIOS2_IMM8:                  howto manager.      (line 2433)
+* BFD_RELOC_NIOS2_JUMP_SLOT:             howto manager.      (line 2458)
+* BFD_RELOC_NIOS2_LO16:                  howto manager.      (line 2435)
+* BFD_RELOC_NIOS2_PCREL_HA:              howto manager.      (line 2447)
+* BFD_RELOC_NIOS2_PCREL_LO:              howto manager.      (line 2446)
+* BFD_RELOC_NIOS2_R2_F1I5_2:             howto manager.      (line 2475)
+* BFD_RELOC_NIOS2_R2_I10_1_PCREL:        howto manager.      (line 2467)
+* BFD_RELOC_NIOS2_R2_L5I4X1:             howto manager.      (line 2476)
+* BFD_RELOC_NIOS2_R2_S12:                howto manager.      (line 2466)
+* BFD_RELOC_NIOS2_R2_T1I7_1_PCREL:       howto manager.      (line 2468)
+* BFD_RELOC_NIOS2_R2_T1I7_2:             howto manager.      (line 2469)
+* BFD_RELOC_NIOS2_R2_T1X1I6:             howto manager.      (line 2477)
+* BFD_RELOC_NIOS2_R2_T1X1I6_2:           howto manager.      (line 2478)
+* BFD_RELOC_NIOS2_R2_T2I4:               howto manager.      (line 2470)
+* BFD_RELOC_NIOS2_R2_T2I4_1:             howto manager.      (line 2471)
+* BFD_RELOC_NIOS2_R2_T2I4_2:             howto manager.      (line 2472)
+* BFD_RELOC_NIOS2_R2_X1I7_2:             howto manager.      (line 2473)
+* BFD_RELOC_NIOS2_R2_X2L5:               howto manager.      (line 2474)
+* BFD_RELOC_NIOS2_RELATIVE:              howto manager.      (line 2459)
+* BFD_RELOC_NIOS2_S16:                   howto manager.      (line 2427)
+* BFD_RELOC_NIOS2_TLS_DTPMOD:            howto manager.      (line 2453)
+* BFD_RELOC_NIOS2_TLS_DTPREL:            howto manager.      (line 2454)
+* BFD_RELOC_NIOS2_TLS_GD16:              howto manager.      (line 2448)
+* BFD_RELOC_NIOS2_TLS_IE16:              howto manager.      (line 2451)
+* BFD_RELOC_NIOS2_TLS_LDM16:             howto manager.      (line 2449)
+* BFD_RELOC_NIOS2_TLS_LDO16:             howto manager.      (line 2450)
+* BFD_RELOC_NIOS2_TLS_LE16:              howto manager.      (line 2452)
+* BFD_RELOC_NIOS2_TLS_TPREL:             howto manager.      (line 2455)
+* BFD_RELOC_NIOS2_U16:                   howto manager.      (line 2428)
+* BFD_RELOC_NIOS2_UJMP:                  howto manager.      (line 2438)
+* BFD_RELOC_NONE:                        howto manager.      (line  118)
+* BFD_RELOC_NS32K_DISP_16:               howto manager.      (line  586)
+* BFD_RELOC_NS32K_DISP_16_PCREL:         howto manager.      (line  589)
+* BFD_RELOC_NS32K_DISP_32:               howto manager.      (line  587)
+* BFD_RELOC_NS32K_DISP_32_PCREL:         howto manager.      (line  590)
+* BFD_RELOC_NS32K_DISP_8:                howto manager.      (line  585)
+* BFD_RELOC_NS32K_DISP_8_PCREL:          howto manager.      (line  588)
+* BFD_RELOC_NS32K_IMM_16:                howto manager.      (line  580)
+* BFD_RELOC_NS32K_IMM_16_PCREL:          howto manager.      (line  583)
+* BFD_RELOC_NS32K_IMM_32:                howto manager.      (line  581)
+* BFD_RELOC_NS32K_IMM_32_PCREL:          howto manager.      (line  584)
+* BFD_RELOC_NS32K_IMM_8:                 howto manager.      (line  579)
+* BFD_RELOC_NS32K_IMM_8_PCREL:           howto manager.      (line  582)
+* bfd_reloc_offset_in_range:             typedef arelent.    (line  368)
+* BFD_RELOC_OR1K_COPY:                   howto manager.      (line 2351)
+* BFD_RELOC_OR1K_GLOB_DAT:               howto manager.      (line 2352)
+* BFD_RELOC_OR1K_GOT16:                  howto manager.      (line 2347)
+* BFD_RELOC_OR1K_GOTOFF_HI16:            howto manager.      (line 2349)
+* BFD_RELOC_OR1K_GOTOFF_LO16:            howto manager.      (line 2350)
+* BFD_RELOC_OR1K_GOTPC_HI16:             howto manager.      (line 2345)
+* BFD_RELOC_OR1K_GOTPC_LO16:             howto manager.      (line 2346)
+* BFD_RELOC_OR1K_JMP_SLOT:               howto manager.      (line 2353)
+* BFD_RELOC_OR1K_PLT26:                  howto manager.      (line 2348)
+* BFD_RELOC_OR1K_RELATIVE:               howto manager.      (line 2354)
+* BFD_RELOC_OR1K_REL_26:                 howto manager.      (line 2344)
+* BFD_RELOC_OR1K_TLS_DTPMOD:             howto manager.      (line 2367)
+* BFD_RELOC_OR1K_TLS_DTPOFF:             howto manager.      (line 2366)
+* BFD_RELOC_OR1K_TLS_GD_HI16:            howto manager.      (line 2355)
+* BFD_RELOC_OR1K_TLS_GD_LO16:            howto manager.      (line 2356)
+* BFD_RELOC_OR1K_TLS_IE_HI16:            howto manager.      (line 2361)
+* BFD_RELOC_OR1K_TLS_IE_LO16:            howto manager.      (line 2362)
+* BFD_RELOC_OR1K_TLS_LDM_HI16:           howto manager.      (line 2357)
+* BFD_RELOC_OR1K_TLS_LDM_LO16:           howto manager.      (line 2358)
+* BFD_RELOC_OR1K_TLS_LDO_HI16:           howto manager.      (line 2359)
+* BFD_RELOC_OR1K_TLS_LDO_LO16:           howto manager.      (line 2360)
+* BFD_RELOC_OR1K_TLS_LE_HI16:            howto manager.      (line 2363)
+* BFD_RELOC_OR1K_TLS_LE_LO16:            howto manager.      (line 2364)
+* BFD_RELOC_OR1K_TLS_TPOFF:              howto manager.      (line 2365)
+* BFD_RELOC_PDP11_DISP_6_PCREL:          howto manager.      (line  593)
+* BFD_RELOC_PDP11_DISP_8_PCREL:          howto manager.      (line  592)
+* BFD_RELOC_PJ_CODE_DIR16:               howto manager.      (line  597)
+* BFD_RELOC_PJ_CODE_DIR32:               howto manager.      (line  598)
+* BFD_RELOC_PJ_CODE_HI16:                howto manager.      (line  595)
+* BFD_RELOC_PJ_CODE_LO16:                howto manager.      (line  596)
+* BFD_RELOC_PJ_CODE_REL16:               howto manager.      (line  599)
+* BFD_RELOC_PJ_CODE_REL32:               howto manager.      (line  600)
+* BFD_RELOC_PPC64_ADDR16_DS:             howto manager.      (line  663)
+* BFD_RELOC_PPC64_ADDR16_HIGH:           howto manager.      (line  674)
+* BFD_RELOC_PPC64_ADDR16_HIGHA:          howto manager.      (line  675)
+* BFD_RELOC_PPC64_ADDR16_LO_DS:          howto manager.      (line  664)
+* BFD_RELOC_PPC64_ADDR64_LOCAL:          howto manager.      (line  676)
+* BFD_RELOC_PPC64_DTPREL16_DS:           howto manager.      (line  715)
+* BFD_RELOC_PPC64_DTPREL16_HIGH:         howto manager.      (line  723)
+* BFD_RELOC_PPC64_DTPREL16_HIGHA:        howto manager.      (line  724)
+* BFD_RELOC_PPC64_DTPREL16_HIGHER:       howto manager.      (line  717)
+* BFD_RELOC_PPC64_DTPREL16_HIGHERA:      howto manager.      (line  718)
+* BFD_RELOC_PPC64_DTPREL16_HIGHEST:      howto manager.      (line  719)
+* BFD_RELOC_PPC64_DTPREL16_HIGHESTA:     howto manager.      (line  720)
+* BFD_RELOC_PPC64_DTPREL16_LO_DS:        howto manager.      (line  716)
+* BFD_RELOC_PPC64_ENTRY:                 howto manager.      (line  677)
+* BFD_RELOC_PPC64_GOT16_DS:              howto manager.      (line  665)
+* BFD_RELOC_PPC64_GOT16_LO_DS:           howto manager.      (line  666)
+* BFD_RELOC_PPC64_HIGHER:                howto manager.      (line  651)
+* BFD_RELOC_PPC64_HIGHER_S:              howto manager.      (line  652)
+* BFD_RELOC_PPC64_HIGHEST:               howto manager.      (line  653)
+* BFD_RELOC_PPC64_HIGHEST_S:             howto manager.      (line  654)
+* BFD_RELOC_PPC64_PLT16_LO_DS:           howto manager.      (line  667)
+* BFD_RELOC_PPC64_PLTGOT16:              howto manager.      (line  659)
+* BFD_RELOC_PPC64_PLTGOT16_DS:           howto manager.      (line  672)
+* BFD_RELOC_PPC64_PLTGOT16_HA:           howto manager.      (line  662)
+* BFD_RELOC_PPC64_PLTGOT16_HI:           howto manager.      (line  661)
+* BFD_RELOC_PPC64_PLTGOT16_LO:           howto manager.      (line  660)
+* BFD_RELOC_PPC64_PLTGOT16_LO_DS:        howto manager.      (line  673)
+* BFD_RELOC_PPC64_SECTOFF_DS:            howto manager.      (line  668)
+* BFD_RELOC_PPC64_SECTOFF_LO_DS:         howto manager.      (line  669)
+* BFD_RELOC_PPC64_TOC:                   howto manager.      (line  658)
+* BFD_RELOC_PPC64_TOC16_DS:              howto manager.      (line  670)
+* BFD_RELOC_PPC64_TOC16_HA:              howto manager.      (line  657)
+* BFD_RELOC_PPC64_TOC16_HI:              howto manager.      (line  656)
+* BFD_RELOC_PPC64_TOC16_LO:              howto manager.      (line  655)
+* BFD_RELOC_PPC64_TOC16_LO_DS:           howto manager.      (line  671)
+* BFD_RELOC_PPC64_TPREL16_DS:            howto manager.      (line  709)
+* BFD_RELOC_PPC64_TPREL16_HIGH:          howto manager.      (line  721)
+* BFD_RELOC_PPC64_TPREL16_HIGHA:         howto manager.      (line  722)
+* BFD_RELOC_PPC64_TPREL16_HIGHER:        howto manager.      (line  711)
+* BFD_RELOC_PPC64_TPREL16_HIGHERA:       howto manager.      (line  712)
+* BFD_RELOC_PPC64_TPREL16_HIGHEST:       howto manager.      (line  713)
+* BFD_RELOC_PPC64_TPREL16_HIGHESTA:      howto manager.      (line  714)
+* BFD_RELOC_PPC64_TPREL16_LO_DS:         howto manager.      (line  710)
+* BFD_RELOC_PPC_16DX_HA:                 howto manager.      (line  649)
+* BFD_RELOC_PPC_B16:                     howto manager.      (line  605)
+* BFD_RELOC_PPC_B16_BRNTAKEN:            howto manager.      (line  607)
+* BFD_RELOC_PPC_B16_BRTAKEN:             howto manager.      (line  606)
+* BFD_RELOC_PPC_B26:                     howto manager.      (line  602)
+* BFD_RELOC_PPC_BA16:                    howto manager.      (line  608)
+* BFD_RELOC_PPC_BA16_BRNTAKEN:           howto manager.      (line  610)
+* BFD_RELOC_PPC_BA16_BRTAKEN:            howto manager.      (line  609)
+* BFD_RELOC_PPC_BA26:                    howto manager.      (line  603)
+* BFD_RELOC_PPC_COPY:                    howto manager.      (line  611)
+* BFD_RELOC_PPC_DTPMOD:                  howto manager.      (line  682)
+* BFD_RELOC_PPC_DTPREL:                  howto manager.      (line  692)
+* BFD_RELOC_PPC_DTPREL16:                howto manager.      (line  688)
+* BFD_RELOC_PPC_DTPREL16_HA:             howto manager.      (line  691)
+* BFD_RELOC_PPC_DTPREL16_HI:             howto manager.      (line  690)
+* BFD_RELOC_PPC_DTPREL16_LO:             howto manager.      (line  689)
+* BFD_RELOC_PPC_EMB_BIT_FLD:             howto manager.      (line  630)
+* BFD_RELOC_PPC_EMB_MRKREF:              howto manager.      (line  625)
+* BFD_RELOC_PPC_EMB_NADDR16:             howto manager.      (line  617)
+* BFD_RELOC_PPC_EMB_NADDR16_HA:          howto manager.      (line  620)
+* BFD_RELOC_PPC_EMB_NADDR16_HI:          howto manager.      (line  619)
+* BFD_RELOC_PPC_EMB_NADDR16_LO:          howto manager.      (line  618)
+* BFD_RELOC_PPC_EMB_NADDR32:             howto manager.      (line  616)
+* BFD_RELOC_PPC_EMB_RELSDA:              howto manager.      (line  631)
+* BFD_RELOC_PPC_EMB_RELSEC16:            howto manager.      (line  626)
+* BFD_RELOC_PPC_EMB_RELST_HA:            howto manager.      (line  629)
+* BFD_RELOC_PPC_EMB_RELST_HI:            howto manager.      (line  628)
+* BFD_RELOC_PPC_EMB_RELST_LO:            howto manager.      (line  627)
+* BFD_RELOC_PPC_EMB_SDA21:               howto manager.      (line  624)
+* BFD_RELOC_PPC_EMB_SDA2I16:             howto manager.      (line  622)
+* BFD_RELOC_PPC_EMB_SDA2REL:             howto manager.      (line  623)
+* BFD_RELOC_PPC_EMB_SDAI16:              howto manager.      (line  621)
+* BFD_RELOC_PPC_GLOB_DAT:                howto manager.      (line  612)
+* BFD_RELOC_PPC_GOT_DTPREL16:            howto manager.      (line  705)
+* BFD_RELOC_PPC_GOT_DTPREL16_HA:         howto manager.      (line  708)
+* BFD_RELOC_PPC_GOT_DTPREL16_HI:         howto manager.      (line  707)
+* BFD_RELOC_PPC_GOT_DTPREL16_LO:         howto manager.      (line  706)
+* BFD_RELOC_PPC_GOT_TLSGD16:             howto manager.      (line  693)
+* BFD_RELOC_PPC_GOT_TLSGD16_HA:          howto manager.      (line  696)
+* BFD_RELOC_PPC_GOT_TLSGD16_HI:          howto manager.      (line  695)
+* BFD_RELOC_PPC_GOT_TLSGD16_LO:          howto manager.      (line  694)
+* BFD_RELOC_PPC_GOT_TLSLD16:             howto manager.      (line  697)
+* BFD_RELOC_PPC_GOT_TLSLD16_HA:          howto manager.      (line  700)
+* BFD_RELOC_PPC_GOT_TLSLD16_HI:          howto manager.      (line  699)
+* BFD_RELOC_PPC_GOT_TLSLD16_LO:          howto manager.      (line  698)
+* BFD_RELOC_PPC_GOT_TPREL16:             howto manager.      (line  701)
+* BFD_RELOC_PPC_GOT_TPREL16_HA:          howto manager.      (line  704)
+* BFD_RELOC_PPC_GOT_TPREL16_HI:          howto manager.      (line  703)
+* BFD_RELOC_PPC_GOT_TPREL16_LO:          howto manager.      (line  702)
+* BFD_RELOC_PPC_JMP_SLOT:                howto manager.      (line  613)
+* BFD_RELOC_PPC_LOCAL24PC:               howto manager.      (line  615)
+* BFD_RELOC_PPC_REL16DX_HA:              howto manager.      (line  650)
+* BFD_RELOC_PPC_RELATIVE:                howto manager.      (line  614)
+* BFD_RELOC_PPC_TLS:                     howto manager.      (line  679)
+* BFD_RELOC_PPC_TLSGD:                   howto manager.      (line  680)
+* BFD_RELOC_PPC_TLSLD:                   howto manager.      (line  681)
+* BFD_RELOC_PPC_TOC16:                   howto manager.      (line  604)
+* BFD_RELOC_PPC_TPREL:                   howto manager.      (line  687)
+* BFD_RELOC_PPC_TPREL16:                 howto manager.      (line  683)
+* BFD_RELOC_PPC_TPREL16_HA:              howto manager.      (line  686)
+* BFD_RELOC_PPC_TPREL16_HI:              howto manager.      (line  685)
+* BFD_RELOC_PPC_TPREL16_LO:              howto manager.      (line  684)
+* BFD_RELOC_PPC_VLE_HA16A:               howto manager.      (line  639)
+* BFD_RELOC_PPC_VLE_HA16D:               howto manager.      (line  640)
+* BFD_RELOC_PPC_VLE_HI16A:               howto manager.      (line  637)
+* BFD_RELOC_PPC_VLE_HI16D:               howto manager.      (line  638)
+* BFD_RELOC_PPC_VLE_LO16A:               howto manager.      (line  635)
+* BFD_RELOC_PPC_VLE_LO16D:               howto manager.      (line  636)
+* BFD_RELOC_PPC_VLE_REL15:               howto manager.      (line  633)
+* BFD_RELOC_PPC_VLE_REL24:               howto manager.      (line  634)
+* BFD_RELOC_PPC_VLE_REL8:                howto manager.      (line  632)
+* BFD_RELOC_PPC_VLE_SDA21:               howto manager.      (line  641)
+* BFD_RELOC_PPC_VLE_SDA21_LO:            howto manager.      (line  642)
+* BFD_RELOC_PPC_VLE_SDAREL_HA16A:        howto manager.      (line  647)
+* BFD_RELOC_PPC_VLE_SDAREL_HA16D:        howto manager.      (line  648)
+* BFD_RELOC_PPC_VLE_SDAREL_HI16A:        howto manager.      (line  645)
+* BFD_RELOC_PPC_VLE_SDAREL_HI16D:        howto manager.      (line  646)
+* BFD_RELOC_PPC_VLE_SDAREL_LO16A:        howto manager.      (line  643)
+* BFD_RELOC_PPC_VLE_SDAREL_LO16D:        howto manager.      (line  644)
+* BFD_RELOC_PRU_16_PMEM:                 howto manager.      (line 2493)
+* BFD_RELOC_PRU_32_PMEM:                 howto manager.      (line 2492)
+* BFD_RELOC_PRU_GNU_DIFF16:              howto manager.      (line 2497)
+* BFD_RELOC_PRU_GNU_DIFF16_PMEM:         howto manager.      (line 2499)
+* BFD_RELOC_PRU_GNU_DIFF32:              howto manager.      (line 2498)
+* BFD_RELOC_PRU_GNU_DIFF32_PMEM:         howto manager.      (line 2500)
+* BFD_RELOC_PRU_GNU_DIFF8:               howto manager.      (line 2496)
+* BFD_RELOC_PRU_LDI32:                   howto manager.      (line 2484)
+* BFD_RELOC_PRU_S10_PCREL:               howto manager.      (line 2488)
+* BFD_RELOC_PRU_U16:                     howto manager.      (line 2480)
+* BFD_RELOC_PRU_U16_PMEMIMM:             howto manager.      (line 2482)
+* BFD_RELOC_PRU_U8_PCREL:                howto manager.      (line 2490)
+* BFD_RELOC_RELC:                        howto manager.      (line 2381)
+* BFD_RELOC_RISCV_32_PCREL:              howto manager.      (line 1824)
+* BFD_RELOC_RISCV_ADD16:                 howto manager.      (line 1792)
+* BFD_RELOC_RISCV_ADD32:                 howto manager.      (line 1793)
+* BFD_RELOC_RISCV_ADD64:                 howto manager.      (line 1794)
+* BFD_RELOC_RISCV_ADD8:                  howto manager.      (line 1791)
+* BFD_RELOC_RISCV_ALIGN:                 howto manager.      (line 1809)
+* BFD_RELOC_RISCV_CALL:                  howto manager.      (line 1789)
+* BFD_RELOC_RISCV_CALL_PLT:              howto manager.      (line 1790)
+* BFD_RELOC_RISCV_CFA:                   howto manager.      (line 1818)
+* BFD_RELOC_RISCV_GOT_HI20:              howto manager.      (line 1799)
+* BFD_RELOC_RISCV_GPREL12_I:             howto manager.      (line 1783)
+* BFD_RELOC_RISCV_GPREL12_S:             howto manager.      (line 1784)
+* BFD_RELOC_RISCV_GPREL_I:               howto manager.      (line 1813)
+* BFD_RELOC_RISCV_GPREL_S:               howto manager.      (line 1814)
+* BFD_RELOC_RISCV_HI20:                  howto manager.      (line 1777)
+* BFD_RELOC_RISCV_JMP:                   howto manager.      (line 1802)
+* BFD_RELOC_RISCV_LO12_I:                howto manager.      (line 1781)
+* BFD_RELOC_RISCV_LO12_S:                howto manager.      (line 1782)
+* BFD_RELOC_RISCV_PCREL_HI20:            howto manager.      (line 1778)
+* BFD_RELOC_RISCV_PCREL_LO12_I:          howto manager.      (line 1779)
+* BFD_RELOC_RISCV_PCREL_LO12_S:          howto manager.      (line 1780)
+* BFD_RELOC_RISCV_RELAX:                 howto manager.      (line 1817)
+* BFD_RELOC_RISCV_RVC_BRANCH:            howto manager.      (line 1810)
+* BFD_RELOC_RISCV_RVC_JUMP:              howto manager.      (line 1811)
+* BFD_RELOC_RISCV_RVC_LUI:               howto manager.      (line 1812)
+* BFD_RELOC_RISCV_SET16:                 howto manager.      (line 1822)
+* BFD_RELOC_RISCV_SET32:                 howto manager.      (line 1823)
+* BFD_RELOC_RISCV_SET6:                  howto manager.      (line 1820)
+* BFD_RELOC_RISCV_SET8:                  howto manager.      (line 1821)
+* BFD_RELOC_RISCV_SUB16:                 howto manager.      (line 1796)
+* BFD_RELOC_RISCV_SUB32:                 howto manager.      (line 1797)
+* BFD_RELOC_RISCV_SUB6:                  howto manager.      (line 1819)
+* BFD_RELOC_RISCV_SUB64:                 howto manager.      (line 1798)
+* BFD_RELOC_RISCV_SUB8:                  howto manager.      (line 1795)
+* BFD_RELOC_RISCV_TLS_DTPMOD32:          howto manager.      (line 1803)
+* BFD_RELOC_RISCV_TLS_DTPMOD64:          howto manager.      (line 1805)
+* BFD_RELOC_RISCV_TLS_DTPREL32:          howto manager.      (line 1804)
+* BFD_RELOC_RISCV_TLS_DTPREL64:          howto manager.      (line 1806)
+* BFD_RELOC_RISCV_TLS_GD_HI20:           howto manager.      (line 1801)
+* BFD_RELOC_RISCV_TLS_GOT_HI20:          howto manager.      (line 1800)
+* BFD_RELOC_RISCV_TLS_TPREL32:           howto manager.      (line 1807)
+* BFD_RELOC_RISCV_TLS_TPREL64:           howto manager.      (line 1808)
+* BFD_RELOC_RISCV_TPREL_ADD:             howto manager.      (line 1788)
+* BFD_RELOC_RISCV_TPREL_HI20:            howto manager.      (line 1785)
+* BFD_RELOC_RISCV_TPREL_I:               howto manager.      (line 1815)
+* BFD_RELOC_RISCV_TPREL_LO12_I:          howto manager.      (line 1786)
+* BFD_RELOC_RISCV_TPREL_LO12_S:          howto manager.      (line 1787)
+* BFD_RELOC_RISCV_TPREL_S:               howto manager.      (line 1816)
+* BFD_RELOC_RL78_16U:                    howto manager.      (line 1834)
+* BFD_RELOC_RL78_16_OP:                  howto manager.      (line 1830)
+* BFD_RELOC_RL78_24U:                    howto manager.      (line 1835)
+* BFD_RELOC_RL78_24_OP:                  howto manager.      (line 1831)
+* BFD_RELOC_RL78_32_OP:                  howto manager.      (line 1832)
+* BFD_RELOC_RL78_8U:                     howto manager.      (line 1833)
+* BFD_RELOC_RL78_ABS16:                  howto manager.      (line 1847)
+* BFD_RELOC_RL78_ABS16U:                 howto manager.      (line 1851)
+* BFD_RELOC_RL78_ABS16UL:                howto manager.      (line 1853)
+* BFD_RELOC_RL78_ABS16UW:                howto manager.      (line 1852)
+* BFD_RELOC_RL78_ABS16_REV:              howto manager.      (line 1848)
+* BFD_RELOC_RL78_ABS32:                  howto manager.      (line 1849)
+* BFD_RELOC_RL78_ABS32_REV:              howto manager.      (line 1850)
+* BFD_RELOC_RL78_ABS8:                   howto manager.      (line 1846)
+* BFD_RELOC_RL78_CODE:                   howto manager.      (line 1858)
+* BFD_RELOC_RL78_DIFF:                   howto manager.      (line 1837)
+* BFD_RELOC_RL78_DIR3U_PCREL:            howto manager.      (line 1836)
+* BFD_RELOC_RL78_GPRELB:                 howto manager.      (line 1838)
+* BFD_RELOC_RL78_GPRELL:                 howto manager.      (line 1840)
+* BFD_RELOC_RL78_GPRELW:                 howto manager.      (line 1839)
+* BFD_RELOC_RL78_HI16:                   howto manager.      (line 1855)
+* BFD_RELOC_RL78_HI8:                    howto manager.      (line 1856)
+* BFD_RELOC_RL78_LO16:                   howto manager.      (line 1857)
+* BFD_RELOC_RL78_NEG16:                  howto manager.      (line 1827)
+* BFD_RELOC_RL78_NEG24:                  howto manager.      (line 1828)
+* BFD_RELOC_RL78_NEG32:                  howto manager.      (line 1829)
+* BFD_RELOC_RL78_NEG8:                   howto manager.      (line 1826)
+* BFD_RELOC_RL78_OP_AND:                 howto manager.      (line 1844)
+* BFD_RELOC_RL78_OP_NEG:                 howto manager.      (line 1843)
+* BFD_RELOC_RL78_OP_SHRA:                howto manager.      (line 1845)
+* BFD_RELOC_RL78_OP_SUBTRACT:            howto manager.      (line 1842)
+* BFD_RELOC_RL78_RELAX:                  howto manager.      (line 1854)
+* BFD_RELOC_RL78_SADDR:                  howto manager.      (line 1859)
+* BFD_RELOC_RL78_SYM:                    howto manager.      (line 1841)
+* BFD_RELOC_RVA:                         howto manager.      (line   95)
+* BFD_RELOC_RX_16U:                      howto manager.      (line 1869)
+* BFD_RELOC_RX_16_OP:                    howto manager.      (line 1865)
+* BFD_RELOC_RX_24U:                      howto manager.      (line 1870)
+* BFD_RELOC_RX_24_OP:                    howto manager.      (line 1866)
+* BFD_RELOC_RX_32_OP:                    howto manager.      (line 1867)
+* BFD_RELOC_RX_8U:                       howto manager.      (line 1868)
+* BFD_RELOC_RX_ABS16:                    howto manager.      (line 1880)
+* BFD_RELOC_RX_ABS16U:                   howto manager.      (line 1884)
+* BFD_RELOC_RX_ABS16UL:                  howto manager.      (line 1886)
+* BFD_RELOC_RX_ABS16UW:                  howto manager.      (line 1885)
+* BFD_RELOC_RX_ABS16_REV:                howto manager.      (line 1881)
+* BFD_RELOC_RX_ABS32:                    howto manager.      (line 1882)
+* BFD_RELOC_RX_ABS32_REV:                howto manager.      (line 1883)
+* BFD_RELOC_RX_ABS8:                     howto manager.      (line 1879)
+* BFD_RELOC_RX_DIFF:                     howto manager.      (line 1872)
+* BFD_RELOC_RX_DIR3U_PCREL:              howto manager.      (line 1871)
+* BFD_RELOC_RX_GPRELB:                   howto manager.      (line 1873)
+* BFD_RELOC_RX_GPRELL:                   howto manager.      (line 1875)
+* BFD_RELOC_RX_GPRELW:                   howto manager.      (line 1874)
+* BFD_RELOC_RX_NEG16:                    howto manager.      (line 1862)
+* BFD_RELOC_RX_NEG24:                    howto manager.      (line 1863)
+* BFD_RELOC_RX_NEG32:                    howto manager.      (line 1864)
+* BFD_RELOC_RX_NEG8:                     howto manager.      (line 1861)
+* BFD_RELOC_RX_OP_NEG:                   howto manager.      (line 1878)
+* BFD_RELOC_RX_OP_SUBTRACT:              howto manager.      (line 1877)
+* BFD_RELOC_RX_RELAX:                    howto manager.      (line 1887)
+* BFD_RELOC_RX_SYM:                      howto manager.      (line 1876)
+* BFD_RELOC_S12Z_15_PCREL:               howto manager.      (line 2199)
+* BFD_RELOC_SCORE16_BRANCH:              howto manager.      (line 1990)
+* BFD_RELOC_SCORE16_JMP:                 howto manager.      (line 1988)
+* BFD_RELOC_SCORE_BCMP:                  howto manager.      (line 1992)
+* BFD_RELOC_SCORE_BRANCH:                howto manager.      (line 1982)
+* BFD_RELOC_SCORE_CALL15:                howto manager.      (line 1996)
+* BFD_RELOC_SCORE_DUMMY2:                howto manager.      (line 1979)
+* BFD_RELOC_SCORE_DUMMY_HI16:            howto manager.      (line 1997)
+* BFD_RELOC_SCORE_GOT15:                 howto manager.      (line 1994)
+* BFD_RELOC_SCORE_GOT_LO16:              howto manager.      (line 1995)
+* BFD_RELOC_SCORE_GPREL15:               howto manager.      (line 1977)
+* BFD_RELOC_SCORE_IMM30:                 howto manager.      (line 1984)
+* BFD_RELOC_SCORE_IMM32:                 howto manager.      (line 1986)
+* BFD_RELOC_SCORE_JMP:                   howto manager.      (line 1980)
+* BFD_RELOC_SH_ALIGN:                    howto manager.      (line  908)
+* BFD_RELOC_SH_CODE:                     howto manager.      (line  909)
+* BFD_RELOC_SH_COPY:                     howto manager.      (line  914)
+* BFD_RELOC_SH_COPY64:                   howto manager.      (line  939)
+* BFD_RELOC_SH_COUNT:                    howto manager.      (line  907)
+* BFD_RELOC_SH_DATA:                     howto manager.      (line  910)
+* BFD_RELOC_SH_DISP12:                   howto manager.      (line  890)
+* BFD_RELOC_SH_DISP12BY2:                howto manager.      (line  891)
+* BFD_RELOC_SH_DISP12BY4:                howto manager.      (line  892)
+* BFD_RELOC_SH_DISP12BY8:                howto manager.      (line  893)
+* BFD_RELOC_SH_DISP20:                   howto manager.      (line  894)
+* BFD_RELOC_SH_DISP20BY8:                howto manager.      (line  895)
+* BFD_RELOC_SH_FUNCDESC:                 howto manager.      (line  982)
+* BFD_RELOC_SH_GLOB_DAT:                 howto manager.      (line  915)
+* BFD_RELOC_SH_GLOB_DAT64:               howto manager.      (line  940)
+* BFD_RELOC_SH_GOT10BY4:                 howto manager.      (line  943)
+* BFD_RELOC_SH_GOT10BY8:                 howto manager.      (line  944)
+* BFD_RELOC_SH_GOT20:                    howto manager.      (line  976)
+* BFD_RELOC_SH_GOTFUNCDESC:              howto manager.      (line  978)
+* BFD_RELOC_SH_GOTFUNCDESC20:            howto manager.      (line  979)
+* BFD_RELOC_SH_GOTOFF20:                 howto manager.      (line  977)
+* BFD_RELOC_SH_GOTOFFFUNCDESC:           howto manager.      (line  980)
+* BFD_RELOC_SH_GOTOFFFUNCDESC20:         howto manager.      (line  981)
+* BFD_RELOC_SH_GOTOFF_HI16:              howto manager.      (line  934)
+* BFD_RELOC_SH_GOTOFF_LOW16:             howto manager.      (line  931)
+* BFD_RELOC_SH_GOTOFF_MEDHI16:           howto manager.      (line  933)
+* BFD_RELOC_SH_GOTOFF_MEDLOW16:          howto manager.      (line  932)
+* BFD_RELOC_SH_GOTPC:                    howto manager.      (line  918)
+* BFD_RELOC_SH_GOTPC_HI16:               howto manager.      (line  938)
+* BFD_RELOC_SH_GOTPC_LOW16:              howto manager.      (line  935)
+* BFD_RELOC_SH_GOTPC_MEDHI16:            howto manager.      (line  937)
+* BFD_RELOC_SH_GOTPC_MEDLOW16:           howto manager.      (line  936)
+* BFD_RELOC_SH_GOTPLT10BY4:              howto manager.      (line  945)
+* BFD_RELOC_SH_GOTPLT10BY8:              howto manager.      (line  946)
+* BFD_RELOC_SH_GOTPLT32:                 howto manager.      (line  947)
+* BFD_RELOC_SH_GOTPLT_HI16:              howto manager.      (line  926)
+* BFD_RELOC_SH_GOTPLT_LOW16:             howto manager.      (line  923)
+* BFD_RELOC_SH_GOTPLT_MEDHI16:           howto manager.      (line  925)
+* BFD_RELOC_SH_GOTPLT_MEDLOW16:          howto manager.      (line  924)
+* BFD_RELOC_SH_GOT_HI16:                 howto manager.      (line  922)
+* BFD_RELOC_SH_GOT_LOW16:                howto manager.      (line  919)
+* BFD_RELOC_SH_GOT_MEDHI16:              howto manager.      (line  921)
+* BFD_RELOC_SH_GOT_MEDLOW16:             howto manager.      (line  920)
+* BFD_RELOC_SH_IMM3:                     howto manager.      (line  888)
+* BFD_RELOC_SH_IMM3U:                    howto manager.      (line  889)
+* BFD_RELOC_SH_IMM4:                     howto manager.      (line  896)
+* BFD_RELOC_SH_IMM4BY2:                  howto manager.      (line  897)
+* BFD_RELOC_SH_IMM4BY4:                  howto manager.      (line  898)
+* BFD_RELOC_SH_IMM8:                     howto manager.      (line  899)
+* BFD_RELOC_SH_IMM8BY2:                  howto manager.      (line  900)
+* BFD_RELOC_SH_IMM8BY4:                  howto manager.      (line  901)
+* BFD_RELOC_SH_IMMS10:                   howto manager.      (line  953)
+* BFD_RELOC_SH_IMMS10BY2:                howto manager.      (line  954)
+* BFD_RELOC_SH_IMMS10BY4:                howto manager.      (line  955)
+* BFD_RELOC_SH_IMMS10BY8:                howto manager.      (line  956)
+* BFD_RELOC_SH_IMMS16:                   howto manager.      (line  957)
+* BFD_RELOC_SH_IMMS6:                    howto manager.      (line  950)
+* BFD_RELOC_SH_IMMS6BY32:                howto manager.      (line  951)
+* BFD_RELOC_SH_IMMU16:                   howto manager.      (line  958)
+* BFD_RELOC_SH_IMMU5:                    howto manager.      (line  949)
+* BFD_RELOC_SH_IMMU6:                    howto manager.      (line  952)
+* BFD_RELOC_SH_IMM_HI16:                 howto manager.      (line  965)
+* BFD_RELOC_SH_IMM_HI16_PCREL:           howto manager.      (line  966)
+* BFD_RELOC_SH_IMM_LOW16:                howto manager.      (line  959)
+* BFD_RELOC_SH_IMM_LOW16_PCREL:          howto manager.      (line  960)
+* BFD_RELOC_SH_IMM_MEDHI16:              howto manager.      (line  963)
+* BFD_RELOC_SH_IMM_MEDHI16_PCREL:        howto manager.      (line  964)
+* BFD_RELOC_SH_IMM_MEDLOW16:             howto manager.      (line  961)
+* BFD_RELOC_SH_IMM_MEDLOW16_PCREL:       howto manager.      (line  962)
+* BFD_RELOC_SH_JMP_SLOT:                 howto manager.      (line  916)
+* BFD_RELOC_SH_JMP_SLOT64:               howto manager.      (line  941)
+* BFD_RELOC_SH_LABEL:                    howto manager.      (line  911)
+* BFD_RELOC_SH_LOOP_END:                 howto manager.      (line  913)
+* BFD_RELOC_SH_LOOP_START:               howto manager.      (line  912)
+* BFD_RELOC_SH_PCDISP12BY2:              howto manager.      (line  887)
+* BFD_RELOC_SH_PCDISP8BY2:               howto manager.      (line  886)
+* BFD_RELOC_SH_PCRELIMM8BY2:             howto manager.      (line  902)
+* BFD_RELOC_SH_PCRELIMM8BY4:             howto manager.      (line  903)
+* BFD_RELOC_SH_PLT_HI16:                 howto manager.      (line  930)
+* BFD_RELOC_SH_PLT_LOW16:                howto manager.      (line  927)
+* BFD_RELOC_SH_PLT_MEDHI16:              howto manager.      (line  929)
+* BFD_RELOC_SH_PLT_MEDLOW16:             howto manager.      (line  928)
+* BFD_RELOC_SH_PT_16:                    howto manager.      (line  967)
+* BFD_RELOC_SH_RELATIVE:                 howto manager.      (line  917)
+* BFD_RELOC_SH_RELATIVE64:               howto manager.      (line  942)
+* BFD_RELOC_SH_SHMEDIA_CODE:             howto manager.      (line  948)
+* BFD_RELOC_SH_SWITCH16:                 howto manager.      (line  904)
+* BFD_RELOC_SH_SWITCH32:                 howto manager.      (line  905)
+* BFD_RELOC_SH_TLS_DTPMOD32:             howto manager.      (line  973)
+* BFD_RELOC_SH_TLS_DTPOFF32:             howto manager.      (line  974)
+* BFD_RELOC_SH_TLS_GD_32:                howto manager.      (line  968)
+* BFD_RELOC_SH_TLS_IE_32:                howto manager.      (line  971)
+* BFD_RELOC_SH_TLS_LDO_32:               howto manager.      (line  970)
+* BFD_RELOC_SH_TLS_LD_32:                howto manager.      (line  969)
+* BFD_RELOC_SH_TLS_LE_32:                howto manager.      (line  972)
+* BFD_RELOC_SH_TLS_TPOFF32:              howto manager.      (line  975)
+* BFD_RELOC_SH_USES:                     howto manager.      (line  906)
+* BFD_RELOC_SIZE32:                      howto manager.      (line   67)
+* BFD_RELOC_SIZE64:                      howto manager.      (line   68)
+* BFD_RELOC_SPARC13:                     howto manager.      (line  121)
+* BFD_RELOC_SPARC22:                     howto manager.      (line  120)
+* BFD_RELOC_SPARC_10:                    howto manager.      (line  148)
+* BFD_RELOC_SPARC_11:                    howto manager.      (line  149)
+* BFD_RELOC_SPARC_5:                     howto manager.      (line  161)
+* BFD_RELOC_SPARC_6:                     howto manager.      (line  160)
+* BFD_RELOC_SPARC_64:                    howto manager.      (line  147)
+* BFD_RELOC_SPARC_7:                     howto manager.      (line  159)
+* BFD_RELOC_SPARC_BASE13:                howto manager.      (line  144)
+* BFD_RELOC_SPARC_BASE22:                howto manager.      (line  145)
+* BFD_RELOC_SPARC_COPY:                  howto manager.      (line  128)
+* BFD_RELOC_SPARC_DISP64:                howto manager.      (line  162)
+* BFD_RELOC_SPARC_GLOB_DAT:              howto manager.      (line  129)
+* BFD_RELOC_SPARC_GOT10:                 howto manager.      (line  122)
+* BFD_RELOC_SPARC_GOT13:                 howto manager.      (line  123)
+* BFD_RELOC_SPARC_GOT22:                 howto manager.      (line  124)
+* BFD_RELOC_SPARC_GOTDATA_HIX22:         howto manager.      (line  135)
+* BFD_RELOC_SPARC_GOTDATA_LOX10:         howto manager.      (line  136)
+* BFD_RELOC_SPARC_GOTDATA_OP:            howto manager.      (line  139)
+* BFD_RELOC_SPARC_GOTDATA_OP_HIX22:      howto manager.      (line  137)
+* BFD_RELOC_SPARC_GOTDATA_OP_LOX10:      howto manager.      (line  138)
+* BFD_RELOC_SPARC_H34:                   howto manager.      (line  171)
+* BFD_RELOC_SPARC_H44:                   howto manager.      (line  167)
+* BFD_RELOC_SPARC_HH22:                  howto manager.      (line  151)
+* BFD_RELOC_SPARC_HIX22:                 howto manager.      (line  165)
+* BFD_RELOC_SPARC_HM10:                  howto manager.      (line  152)
+* BFD_RELOC_SPARC_IRELATIVE:             howto manager.      (line  141)
+* BFD_RELOC_SPARC_JMP_IREL:              howto manager.      (line  140)
+* BFD_RELOC_SPARC_JMP_SLOT:              howto manager.      (line  130)
+* BFD_RELOC_SPARC_L44:                   howto manager.      (line  169)
+* BFD_RELOC_SPARC_LM22:                  howto manager.      (line  153)
+* BFD_RELOC_SPARC_LOX10:                 howto manager.      (line  166)
+* BFD_RELOC_SPARC_M44:                   howto manager.      (line  168)
+* BFD_RELOC_SPARC_OLO10:                 howto manager.      (line  150)
+* BFD_RELOC_SPARC_PC10:                  howto manager.      (line  125)
+* BFD_RELOC_SPARC_PC22:                  howto manager.      (line  126)
+* BFD_RELOC_SPARC_PC_HH22:               howto manager.      (line  154)
+* BFD_RELOC_SPARC_PC_HM10:               howto manager.      (line  155)
+* BFD_RELOC_SPARC_PC_LM22:               howto manager.      (line  156)
+* BFD_RELOC_SPARC_PLT32:                 howto manager.      (line  163)
+* BFD_RELOC_SPARC_PLT64:                 howto manager.      (line  164)
+* BFD_RELOC_SPARC_REGISTER:              howto manager.      (line  170)
+* BFD_RELOC_SPARC_RELATIVE:              howto manager.      (line  131)
+* BFD_RELOC_SPARC_REV32:                 howto manager.      (line  176)
+* BFD_RELOC_SPARC_SIZE32:                howto manager.      (line  172)
+* BFD_RELOC_SPARC_SIZE64:                howto manager.      (line  173)
+* BFD_RELOC_SPARC_TLS_DTPMOD32:          howto manager.      (line  196)
+* BFD_RELOC_SPARC_TLS_DTPMOD64:          howto manager.      (line  197)
+* BFD_RELOC_SPARC_TLS_DTPOFF32:          howto manager.      (line  198)
+* BFD_RELOC_SPARC_TLS_DTPOFF64:          howto manager.      (line  199)
+* BFD_RELOC_SPARC_TLS_GD_ADD:            howto manager.      (line  180)
+* BFD_RELOC_SPARC_TLS_GD_CALL:           howto manager.      (line  181)
+* BFD_RELOC_SPARC_TLS_GD_HI22:           howto manager.      (line  178)
+* BFD_RELOC_SPARC_TLS_GD_LO10:           howto manager.      (line  179)
+* BFD_RELOC_SPARC_TLS_IE_ADD:            howto manager.      (line  193)
+* BFD_RELOC_SPARC_TLS_IE_HI22:           howto manager.      (line  189)
+* BFD_RELOC_SPARC_TLS_IE_LD:             howto manager.      (line  191)
+* BFD_RELOC_SPARC_TLS_IE_LDX:            howto manager.      (line  192)
+* BFD_RELOC_SPARC_TLS_IE_LO10:           howto manager.      (line  190)
+* BFD_RELOC_SPARC_TLS_LDM_ADD:           howto manager.      (line  184)
+* BFD_RELOC_SPARC_TLS_LDM_CALL:          howto manager.      (line  185)
+* BFD_RELOC_SPARC_TLS_LDM_HI22:          howto manager.      (line  182)
+* BFD_RELOC_SPARC_TLS_LDM_LO10:          howto manager.      (line  183)
+* BFD_RELOC_SPARC_TLS_LDO_ADD:           howto manager.      (line  188)
+* BFD_RELOC_SPARC_TLS_LDO_HIX22:         howto manager.      (line  186)
+* BFD_RELOC_SPARC_TLS_LDO_LOX10:         howto manager.      (line  187)
+* BFD_RELOC_SPARC_TLS_LE_HIX22:          howto manager.      (line  194)
+* BFD_RELOC_SPARC_TLS_LE_LOX10:          howto manager.      (line  195)
+* BFD_RELOC_SPARC_TLS_TPOFF32:           howto manager.      (line  200)
+* BFD_RELOC_SPARC_TLS_TPOFF64:           howto manager.      (line  201)
+* BFD_RELOC_SPARC_UA16:                  howto manager.      (line  132)
+* BFD_RELOC_SPARC_UA32:                  howto manager.      (line  133)
+* BFD_RELOC_SPARC_UA64:                  howto manager.      (line  134)
+* BFD_RELOC_SPARC_WDISP10:               howto manager.      (line  174)
+* BFD_RELOC_SPARC_WDISP16:               howto manager.      (line  157)
+* BFD_RELOC_SPARC_WDISP19:               howto manager.      (line  158)
+* BFD_RELOC_SPARC_WDISP22:               howto manager.      (line  119)
+* BFD_RELOC_SPARC_WPLT30:                howto manager.      (line  127)
+* BFD_RELOC_SPU_ADD_PIC:                 howto manager.      (line  217)
+* BFD_RELOC_SPU_HI16:                    howto manager.      (line  214)
+* BFD_RELOC_SPU_IMM10:                   howto manager.      (line  205)
+* BFD_RELOC_SPU_IMM10W:                  howto manager.      (line  206)
+* BFD_RELOC_SPU_IMM16:                   howto manager.      (line  207)
+* BFD_RELOC_SPU_IMM16W:                  howto manager.      (line  208)
+* BFD_RELOC_SPU_IMM18:                   howto manager.      (line  209)
+* BFD_RELOC_SPU_IMM7:                    howto manager.      (line  203)
+* BFD_RELOC_SPU_IMM8:                    howto manager.      (line  204)
+* BFD_RELOC_SPU_LO16:                    howto manager.      (line  213)
+* BFD_RELOC_SPU_PCREL16:                 howto manager.      (line  212)
+* BFD_RELOC_SPU_PCREL9a:                 howto manager.      (line  210)
+* BFD_RELOC_SPU_PCREL9b:                 howto manager.      (line  211)
+* BFD_RELOC_SPU_PPU32:                   howto manager.      (line  215)
+* BFD_RELOC_SPU_PPU64:                   howto manager.      (line  216)
+* BFD_RELOC_THUMB_PCREL_BLX:             howto manager.      (line  740)
+* BFD_RELOC_THUMB_PCREL_BRANCH12:        howto manager.      (line  751)
+* BFD_RELOC_THUMB_PCREL_BRANCH20:        howto manager.      (line  752)
+* BFD_RELOC_THUMB_PCREL_BRANCH23:        howto manager.      (line  753)
+* BFD_RELOC_THUMB_PCREL_BRANCH25:        howto manager.      (line  754)
+* BFD_RELOC_THUMB_PCREL_BRANCH7:         howto manager.      (line  749)
+* BFD_RELOC_THUMB_PCREL_BRANCH9:         howto manager.      (line  750)
+* BFD_RELOC_TIC30_LDP:                   howto manager.      (line 1488)
+* BFD_RELOC_TIC54X_16_OF_23:             howto manager.      (line 1502)
+* BFD_RELOC_TIC54X_23:                   howto manager.      (line 1500)
+* BFD_RELOC_TIC54X_MS7_OF_23:            howto manager.      (line 1506)
+* BFD_RELOC_TIC54X_PARTLS7:              howto manager.      (line 1492)
+* BFD_RELOC_TIC54X_PARTMS9:              howto manager.      (line 1496)
+* BFD_RELOC_TILEGX_BROFF_X1:             howto manager.      (line 3163)
+* BFD_RELOC_TILEGX_COPY:                 howto manager.      (line 3159)
+* BFD_RELOC_TILEGX_DEST_IMM8_X1:         howto manager.      (line 3170)
+* BFD_RELOC_TILEGX_GLOB_DAT:             howto manager.      (line 3160)
+* BFD_RELOC_TILEGX_HW0:                  howto manager.      (line 3152)
+* BFD_RELOC_TILEGX_HW0_LAST:             howto manager.      (line 3156)
+* BFD_RELOC_TILEGX_HW1:                  howto manager.      (line 3153)
+* BFD_RELOC_TILEGX_HW1_LAST:             howto manager.      (line 3157)
+* BFD_RELOC_TILEGX_HW2:                  howto manager.      (line 3154)
+* BFD_RELOC_TILEGX_HW2_LAST:             howto manager.      (line 3158)
+* BFD_RELOC_TILEGX_HW3:                  howto manager.      (line 3155)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0:         howto manager.      (line 3179)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT:     howto manager.      (line 3207)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST:    howto manager.      (line 3187)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT: howto manager.     (line 3215)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PCREL: howto manager.   (line 3201)
 * BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL: howto manager.
-                                                             (line 3196)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD: howto manager.  (line 3190)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE: howto manager.  (line 3202)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE: howto manager.  (line 3186)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_PCREL:   howto manager.      (line 3154)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL: howto manager.    (line 3170)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD:  howto manager.      (line 3182)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE:  howto manager.      (line 3194)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE:  howto manager.      (line 3184)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1:         howto manager.      (line 3142)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST:    howto manager.      (line 3150)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT: howto manager.     (line 3178)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PCREL: howto manager.   (line 3164)
+                                                             (line 3235)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD: howto manager.  (line 3229)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE: howto manager.  (line 3241)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE: howto manager.  (line 3225)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_PCREL:   howto manager.      (line 3193)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL: howto manager.    (line 3209)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD:  howto manager.      (line 3221)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE:  howto manager.      (line 3233)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE:  howto manager.      (line 3223)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1:         howto manager.      (line 3181)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST:    howto manager.      (line 3189)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT: howto manager.     (line 3217)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PCREL: howto manager.   (line 3203)
 * BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL: howto manager.
-                                                             (line 3198)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD: howto manager.  (line 3192)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE: howto manager.  (line 3204)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE: howto manager.  (line 3188)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_PCREL:   howto manager.      (line 3156)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL: howto manager.    (line 3172)
-* BFD_RELOC_TILEGX_IMM16_X0_HW2:         howto manager.      (line 3144)
-* BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST:    howto manager.      (line 3152)
-* BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL: howto manager.   (line 3166)
+                                                             (line 3237)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD: howto manager.  (line 3231)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE: howto manager.  (line 3243)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE: howto manager.  (line 3227)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_PCREL:   howto manager.      (line 3195)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL: howto manager.    (line 3211)
+* BFD_RELOC_TILEGX_IMM16_X0_HW2:         howto manager.      (line 3183)
+* BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST:    howto manager.      (line 3191)
+* BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL: howto manager.   (line 3205)
 * BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL: howto manager.
-                                                             (line 3200)
-* BFD_RELOC_TILEGX_IMM16_X0_HW2_PCREL:   howto manager.      (line 3158)
-* BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL: howto manager.    (line 3174)
-* BFD_RELOC_TILEGX_IMM16_X0_HW3:         howto manager.      (line 3146)
-* BFD_RELOC_TILEGX_IMM16_X0_HW3_PCREL:   howto manager.      (line 3160)
-* BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL: howto manager.    (line 3180)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0:         howto manager.      (line 3141)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT:     howto manager.      (line 3169)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST:    howto manager.      (line 3149)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT: howto manager.     (line 3177)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PCREL: howto manager.   (line 3163)
+                                                             (line 3239)
+* BFD_RELOC_TILEGX_IMM16_X0_HW2_PCREL:   howto manager.      (line 3197)
+* BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL: howto manager.    (line 3213)
+* BFD_RELOC_TILEGX_IMM16_X0_HW3:         howto manager.      (line 3185)
+* BFD_RELOC_TILEGX_IMM16_X0_HW3_PCREL:   howto manager.      (line 3199)
+* BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL: howto manager.    (line 3219)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0:         howto manager.      (line 3180)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT:     howto manager.      (line 3208)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST:    howto manager.      (line 3188)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT: howto manager.     (line 3216)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PCREL: howto manager.   (line 3202)
 * BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL: howto manager.
-                                                             (line 3197)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD: howto manager.  (line 3191)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE: howto manager.  (line 3203)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE: howto manager.  (line 3187)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_PCREL:   howto manager.      (line 3155)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL: howto manager.    (line 3171)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD:  howto manager.      (line 3183)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE:  howto manager.      (line 3195)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE:  howto manager.      (line 3185)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1:         howto manager.      (line 3143)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST:    howto manager.      (line 3151)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT: howto manager.     (line 3179)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL: howto manager.   (line 3165)
+                                                             (line 3236)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD: howto manager.  (line 3230)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE: howto manager.  (line 3242)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE: howto manager.  (line 3226)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_PCREL:   howto manager.      (line 3194)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL: howto manager.    (line 3210)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD:  howto manager.      (line 3222)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE:  howto manager.      (line 3234)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE:  howto manager.      (line 3224)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1:         howto manager.      (line 3182)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST:    howto manager.      (line 3190)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT: howto manager.     (line 3218)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL: howto manager.   (line 3204)
 * BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL: howto manager.
-                                                             (line 3199)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD: howto manager.  (line 3193)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE: howto manager.  (line 3205)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE: howto manager.  (line 3189)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_PCREL:   howto manager.      (line 3157)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL: howto manager.    (line 3173)
-* BFD_RELOC_TILEGX_IMM16_X1_HW2:         howto manager.      (line 3145)
-* BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST:    howto manager.      (line 3153)
-* BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL: howto manager.   (line 3167)
+                                                             (line 3238)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD: howto manager.  (line 3232)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE: howto manager.  (line 3244)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE: howto manager.  (line 3228)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_PCREL:   howto manager.      (line 3196)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL: howto manager.    (line 3212)
+* BFD_RELOC_TILEGX_IMM16_X1_HW2:         howto manager.      (line 3184)
+* BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST:    howto manager.      (line 3192)
+* BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL: howto manager.   (line 3206)
 * BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL: howto manager.
-                                                             (line 3201)
-* BFD_RELOC_TILEGX_IMM16_X1_HW2_PCREL:   howto manager.      (line 3159)
-* BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL: howto manager.    (line 3175)
-* BFD_RELOC_TILEGX_IMM16_X1_HW3:         howto manager.      (line 3147)
-* BFD_RELOC_TILEGX_IMM16_X1_HW3_PCREL:   howto manager.      (line 3161)
-* BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL: howto manager.    (line 3181)
-* BFD_RELOC_TILEGX_IMM8_X0:              howto manager.      (line 3127)
-* BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD:      howto manager.      (line 3218)
-* BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD:   howto manager.      (line 3213)
-* BFD_RELOC_TILEGX_IMM8_X1:              howto manager.      (line 3129)
-* BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD:      howto manager.      (line 3219)
-* BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD:   howto manager.      (line 3214)
-* BFD_RELOC_TILEGX_IMM8_Y0:              howto manager.      (line 3128)
-* BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD:      howto manager.      (line 3220)
-* BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD:   howto manager.      (line 3215)
-* BFD_RELOC_TILEGX_IMM8_Y1:              howto manager.      (line 3130)
-* BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD:      howto manager.      (line 3221)
-* BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD:   howto manager.      (line 3216)
-* BFD_RELOC_TILEGX_JMP_SLOT:             howto manager.      (line 3122)
-* BFD_RELOC_TILEGX_JUMPOFF_X1:           howto manager.      (line 3125)
-* BFD_RELOC_TILEGX_JUMPOFF_X1_PLT:       howto manager.      (line 3126)
-* BFD_RELOC_TILEGX_MF_IMM14_X1:          howto manager.      (line 3133)
-* BFD_RELOC_TILEGX_MMEND_X0:             howto manager.      (line 3135)
-* BFD_RELOC_TILEGX_MMSTART_X0:           howto manager.      (line 3134)
-* BFD_RELOC_TILEGX_MT_IMM14_X1:          howto manager.      (line 3132)
-* BFD_RELOC_TILEGX_RELATIVE:             howto manager.      (line 3123)
-* BFD_RELOC_TILEGX_SHAMT_X0:             howto manager.      (line 3136)
-* BFD_RELOC_TILEGX_SHAMT_X1:             howto manager.      (line 3137)
-* BFD_RELOC_TILEGX_SHAMT_Y0:             howto manager.      (line 3138)
-* BFD_RELOC_TILEGX_SHAMT_Y1:             howto manager.      (line 3139)
-* BFD_RELOC_TILEGX_TLS_DTPMOD32:         howto manager.      (line 3209)
-* BFD_RELOC_TILEGX_TLS_DTPMOD64:         howto manager.      (line 3206)
-* BFD_RELOC_TILEGX_TLS_DTPOFF32:         howto manager.      (line 3210)
-* BFD_RELOC_TILEGX_TLS_DTPOFF64:         howto manager.      (line 3207)
-* BFD_RELOC_TILEGX_TLS_GD_CALL:          howto manager.      (line 3212)
-* BFD_RELOC_TILEGX_TLS_IE_LOAD:          howto manager.      (line 3217)
-* BFD_RELOC_TILEGX_TLS_TPOFF32:          howto manager.      (line 3211)
-* BFD_RELOC_TILEGX_TLS_TPOFF64:          howto manager.      (line 3208)
-* BFD_RELOC_TILEPRO_BROFF_X1:            howto manager.      (line 3037)
-* BFD_RELOC_TILEPRO_COPY:                howto manager.      (line 3033)
-* BFD_RELOC_TILEPRO_DEST_IMM8_X1:        howto manager.      (line 3044)
-* BFD_RELOC_TILEPRO_GLOB_DAT:            howto manager.      (line 3034)
-* BFD_RELOC_TILEPRO_IMM16_X0:            howto manager.      (line 3047)
-* BFD_RELOC_TILEPRO_IMM16_X0_GOT:        howto manager.      (line 3063)
-* BFD_RELOC_TILEPRO_IMM16_X0_GOT_HA:     howto manager.      (line 3069)
-* BFD_RELOC_TILEPRO_IMM16_X0_GOT_HI:     howto manager.      (line 3067)
-* BFD_RELOC_TILEPRO_IMM16_X0_GOT_LO:     howto manager.      (line 3065)
-* BFD_RELOC_TILEPRO_IMM16_X0_HA:         howto manager.      (line 3053)
-* BFD_RELOC_TILEPRO_IMM16_X0_HA_PCREL:   howto manager.      (line 3061)
-* BFD_RELOC_TILEPRO_IMM16_X0_HI:         howto manager.      (line 3051)
-* BFD_RELOC_TILEPRO_IMM16_X0_HI_PCREL:   howto manager.      (line 3059)
-* BFD_RELOC_TILEPRO_IMM16_X0_LO:         howto manager.      (line 3049)
-* BFD_RELOC_TILEPRO_IMM16_X0_LO_PCREL:   howto manager.      (line 3057)
-* BFD_RELOC_TILEPRO_IMM16_X0_PCREL:      howto manager.      (line 3055)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD:     howto manager.      (line 3085)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HA:  howto manager.      (line 3091)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI:  howto manager.      (line 3089)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO:  howto manager.      (line 3087)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE:     howto manager.      (line 3093)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA:  howto manager.      (line 3099)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HI:  howto manager.      (line 3097)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_LO:  howto manager.      (line 3095)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE:     howto manager.      (line 3104)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA:  howto manager.      (line 3110)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI:  howto manager.      (line 3108)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO:  howto manager.      (line 3106)
-* BFD_RELOC_TILEPRO_IMM16_X1:            howto manager.      (line 3048)
-* BFD_RELOC_TILEPRO_IMM16_X1_GOT:        howto manager.      (line 3064)
-* BFD_RELOC_TILEPRO_IMM16_X1_GOT_HA:     howto manager.      (line 3070)
-* BFD_RELOC_TILEPRO_IMM16_X1_GOT_HI:     howto manager.      (line 3068)
-* BFD_RELOC_TILEPRO_IMM16_X1_GOT_LO:     howto manager.      (line 3066)
-* BFD_RELOC_TILEPRO_IMM16_X1_HA:         howto manager.      (line 3054)
-* BFD_RELOC_TILEPRO_IMM16_X1_HA_PCREL:   howto manager.      (line 3062)
-* BFD_RELOC_TILEPRO_IMM16_X1_HI:         howto manager.      (line 3052)
-* BFD_RELOC_TILEPRO_IMM16_X1_HI_PCREL:   howto manager.      (line 3060)
-* BFD_RELOC_TILEPRO_IMM16_X1_LO:         howto manager.      (line 3050)
-* BFD_RELOC_TILEPRO_IMM16_X1_LO_PCREL:   howto manager.      (line 3058)
-* BFD_RELOC_TILEPRO_IMM16_X1_PCREL:      howto manager.      (line 3056)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD:     howto manager.      (line 3086)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HA:  howto manager.      (line 3092)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HI:  howto manager.      (line 3090)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO:  howto manager.      (line 3088)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE:     howto manager.      (line 3094)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA:  howto manager.      (line 3100)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HI:  howto manager.      (line 3098)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_LO:  howto manager.      (line 3096)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE:     howto manager.      (line 3105)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA:  howto manager.      (line 3111)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI:  howto manager.      (line 3109)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO:  howto manager.      (line 3107)
-* BFD_RELOC_TILEPRO_IMM8_X0:             howto manager.      (line 3040)
-* BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD:  howto manager.      (line 3080)
-* BFD_RELOC_TILEPRO_IMM8_X1:             howto manager.      (line 3042)
-* BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD:  howto manager.      (line 3081)
-* BFD_RELOC_TILEPRO_IMM8_Y0:             howto manager.      (line 3041)
-* BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD:  howto manager.      (line 3082)
-* BFD_RELOC_TILEPRO_IMM8_Y1:             howto manager.      (line 3043)
-* BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD:  howto manager.      (line 3083)
-* BFD_RELOC_TILEPRO_JMP_SLOT:            howto manager.      (line 3035)
-* BFD_RELOC_TILEPRO_JOFFLONG_X1:         howto manager.      (line 3038)
-* BFD_RELOC_TILEPRO_JOFFLONG_X1_PLT:     howto manager.      (line 3039)
-* BFD_RELOC_TILEPRO_MF_IMM15_X1:         howto manager.      (line 3046)
-* BFD_RELOC_TILEPRO_MMEND_X0:            howto manager.      (line 3072)
-* BFD_RELOC_TILEPRO_MMEND_X1:            howto manager.      (line 3074)
-* BFD_RELOC_TILEPRO_MMSTART_X0:          howto manager.      (line 3071)
-* BFD_RELOC_TILEPRO_MMSTART_X1:          howto manager.      (line 3073)
-* BFD_RELOC_TILEPRO_MT_IMM15_X1:         howto manager.      (line 3045)
-* BFD_RELOC_TILEPRO_RELATIVE:            howto manager.      (line 3036)
-* BFD_RELOC_TILEPRO_SHAMT_X0:            howto manager.      (line 3075)
-* BFD_RELOC_TILEPRO_SHAMT_X1:            howto manager.      (line 3076)
-* BFD_RELOC_TILEPRO_SHAMT_Y0:            howto manager.      (line 3077)
-* BFD_RELOC_TILEPRO_SHAMT_Y1:            howto manager.      (line 3078)
-* BFD_RELOC_TILEPRO_TLS_DTPMOD32:        howto manager.      (line 3101)
-* BFD_RELOC_TILEPRO_TLS_DTPOFF32:        howto manager.      (line 3102)
-* BFD_RELOC_TILEPRO_TLS_GD_CALL:         howto manager.      (line 3079)
-* BFD_RELOC_TILEPRO_TLS_IE_LOAD:         howto manager.      (line 3084)
-* BFD_RELOC_TILEPRO_TLS_TPOFF32:         howto manager.      (line 3103)
-* bfd_reloc_type_lookup:                 howto manager.      (line 3259)
-* BFD_RELOC_V850_16_GOT:                 howto manager.      (line 1460)
-* BFD_RELOC_V850_16_GOTOFF:              howto manager.      (line 1476)
-* BFD_RELOC_V850_16_PCREL:               howto manager.      (line 1440)
-* BFD_RELOC_V850_16_S1:                  howto manager.      (line 1452)
-* BFD_RELOC_V850_16_SPLIT_OFFSET:        howto manager.      (line 1450)
-* BFD_RELOC_V850_17_PCREL:               howto manager.      (line 1442)
-* BFD_RELOC_V850_22_PCREL:               howto manager.      (line 1394)
-* BFD_RELOC_V850_22_PLT_PCREL:           howto manager.      (line 1464)
-* BFD_RELOC_V850_23:                     howto manager.      (line 1444)
-* BFD_RELOC_V850_32_ABS:                 howto manager.      (line 1448)
-* BFD_RELOC_V850_32_GOT:                 howto manager.      (line 1462)
-* BFD_RELOC_V850_32_GOTOFF:              howto manager.      (line 1478)
-* BFD_RELOC_V850_32_GOTPCREL:            howto manager.      (line 1458)
-* BFD_RELOC_V850_32_PCREL:               howto manager.      (line 1446)
-* BFD_RELOC_V850_32_PLT_PCREL:           howto manager.      (line 1466)
-* BFD_RELOC_V850_9_PCREL:                howto manager.      (line 1392)
-* BFD_RELOC_V850_ALIGN:                  howto manager.      (line 1435)
-* BFD_RELOC_V850_CALLT_15_16_OFFSET:     howto manager.      (line 1456)
-* BFD_RELOC_V850_CALLT_16_16_OFFSET:     howto manager.      (line 1429)
-* BFD_RELOC_V850_CALLT_6_7_OFFSET:       howto manager.      (line 1427)
-* BFD_RELOC_V850_CODE:                   howto manager.      (line 1480)
-* BFD_RELOC_V850_COPY:                   howto manager.      (line 1468)
-* BFD_RELOC_V850_DATA:                   howto manager.      (line 1482)
-* BFD_RELOC_V850_GLOB_DAT:               howto manager.      (line 1470)
-* BFD_RELOC_V850_JMP_SLOT:               howto manager.      (line 1472)
-* BFD_RELOC_V850_LO16_S1:                howto manager.      (line 1454)
-* BFD_RELOC_V850_LO16_SPLIT_OFFSET:      howto manager.      (line 1437)
-* BFD_RELOC_V850_LONGCALL:               howto manager.      (line 1431)
-* BFD_RELOC_V850_LONGJUMP:               howto manager.      (line 1433)
-* BFD_RELOC_V850_RELATIVE:               howto manager.      (line 1474)
-* BFD_RELOC_V850_SDA_15_16_OFFSET:       howto manager.      (line 1398)
-* BFD_RELOC_V850_SDA_16_16_OFFSET:       howto manager.      (line 1396)
-* BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET: howto manager.      (line 1421)
-* BFD_RELOC_V850_TDA_16_16_OFFSET:       howto manager.      (line 1414)
-* BFD_RELOC_V850_TDA_4_4_OFFSET:         howto manager.      (line 1419)
-* BFD_RELOC_V850_TDA_4_5_OFFSET:         howto manager.      (line 1416)
-* BFD_RELOC_V850_TDA_6_8_OFFSET:         howto manager.      (line 1406)
-* BFD_RELOC_V850_TDA_7_7_OFFSET:         howto manager.      (line 1412)
-* BFD_RELOC_V850_TDA_7_8_OFFSET:         howto manager.      (line 1409)
-* BFD_RELOC_V850_ZDA_15_16_OFFSET:       howto manager.      (line 1403)
-* BFD_RELOC_V850_ZDA_16_16_OFFSET:       howto manager.      (line 1401)
-* BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET: howto manager.      (line 1424)
-* BFD_RELOC_VAX_GLOB_DAT:                howto manager.      (line 2413)
-* BFD_RELOC_VAX_JMP_SLOT:                howto manager.      (line 2414)
-* BFD_RELOC_VAX_RELATIVE:                howto manager.      (line 2415)
-* BFD_RELOC_VISIUM_HI16:                 howto manager.      (line 3238)
-* BFD_RELOC_VISIUM_HI16_PCREL:           howto manager.      (line 3242)
-* BFD_RELOC_VISIUM_IM16:                 howto manager.      (line 3240)
-* BFD_RELOC_VISIUM_IM16_PCREL:           howto manager.      (line 3244)
-* BFD_RELOC_VISIUM_LO16:                 howto manager.      (line 3239)
-* BFD_RELOC_VISIUM_LO16_PCREL:           howto manager.      (line 3243)
-* BFD_RELOC_VISIUM_REL16:                howto manager.      (line 3241)
-* BFD_RELOC_VPE4KMATH_DATA:              howto manager.      (line 2016)
-* BFD_RELOC_VPE4KMATH_INSN:              howto manager.      (line 2017)
-* BFD_RELOC_VTABLE_ENTRY:                howto manager.      (line 2020)
-* BFD_RELOC_VTABLE_INHERIT:              howto manager.      (line 2019)
-* BFD_RELOC_WASM32_ABS32_CODE:           howto manager.      (line 3251)
-* BFD_RELOC_WASM32_CODE_POINTER:         howto manager.      (line 3253)
-* BFD_RELOC_WASM32_COPY:                 howto manager.      (line 3252)
-* BFD_RELOC_WASM32_INDEX:                howto manager.      (line 3254)
-* BFD_RELOC_WASM32_LEB128:               howto manager.      (line 3246)
-* BFD_RELOC_WASM32_LEB128_GOT:           howto manager.      (line 3247)
-* BFD_RELOC_WASM32_LEB128_GOT_CODE:      howto manager.      (line 3248)
-* BFD_RELOC_WASM32_LEB128_PLT:           howto manager.      (line 3249)
-* BFD_RELOC_WASM32_PLT_INDEX:            howto manager.      (line 3250)
-* BFD_RELOC_WASM32_PLT_SIG:              howto manager.      (line 3255)
-* BFD_RELOC_X86_64_32S:                  howto manager.      (line  558)
-* BFD_RELOC_X86_64_COPY:                 howto manager.      (line  553)
-* BFD_RELOC_X86_64_DTPMOD64:             howto manager.      (line  559)
-* BFD_RELOC_X86_64_DTPOFF32:             howto manager.      (line  564)
-* BFD_RELOC_X86_64_DTPOFF64:             howto manager.      (line  560)
-* BFD_RELOC_X86_64_GLOB_DAT:             howto manager.      (line  554)
-* BFD_RELOC_X86_64_GOT32:                howto manager.      (line  551)
-* BFD_RELOC_X86_64_GOT64:                howto manager.      (line  569)
-* BFD_RELOC_X86_64_GOTOFF64:             howto manager.      (line  567)
-* BFD_RELOC_X86_64_GOTPC32:              howto manager.      (line  568)
-* BFD_RELOC_X86_64_GOTPC32_TLSDESC:      howto manager.      (line  574)
-* BFD_RELOC_X86_64_GOTPC64:              howto manager.      (line  571)
-* BFD_RELOC_X86_64_GOTPCREL:             howto manager.      (line  557)
-* BFD_RELOC_X86_64_GOTPCREL64:           howto manager.      (line  570)
-* BFD_RELOC_X86_64_GOTPCRELX:            howto manager.      (line  580)
-* BFD_RELOC_X86_64_GOTPLT64:             howto manager.      (line  572)
-* BFD_RELOC_X86_64_GOTTPOFF:             howto manager.      (line  565)
-* BFD_RELOC_X86_64_IRELATIVE:            howto manager.      (line  577)
-* BFD_RELOC_X86_64_JUMP_SLOT:            howto manager.      (line  555)
-* BFD_RELOC_X86_64_PC32_BND:             howto manager.      (line  578)
-* BFD_RELOC_X86_64_PLT32:                howto manager.      (line  552)
-* BFD_RELOC_X86_64_PLT32_BND:            howto manager.      (line  579)
-* BFD_RELOC_X86_64_PLTOFF64:             howto manager.      (line  573)
-* BFD_RELOC_X86_64_RELATIVE:             howto manager.      (line  556)
-* BFD_RELOC_X86_64_REX_GOTPCRELX:        howto manager.      (line  581)
-* BFD_RELOC_X86_64_TLSDESC:              howto manager.      (line  576)
-* BFD_RELOC_X86_64_TLSDESC_CALL:         howto manager.      (line  575)
-* BFD_RELOC_X86_64_TLSGD:                howto manager.      (line  562)
-* BFD_RELOC_X86_64_TLSLD:                howto manager.      (line  563)
-* BFD_RELOC_X86_64_TPOFF32:              howto manager.      (line  566)
-* BFD_RELOC_X86_64_TPOFF64:              howto manager.      (line  561)
-* BFD_RELOC_XC16X_PAG:                   howto manager.      (line 2408)
-* BFD_RELOC_XC16X_POF:                   howto manager.      (line 2409)
-* BFD_RELOC_XC16X_SEG:                   howto manager.      (line 2410)
-* BFD_RELOC_XC16X_SOF:                   howto manager.      (line 2411)
-* BFD_RELOC_XGATE_24:                    howto manager.      (line 2163)
-* BFD_RELOC_XGATE_GPAGE:                 howto manager.      (line 2161)
-* BFD_RELOC_XGATE_IMM3:                  howto manager.      (line 2175)
-* BFD_RELOC_XGATE_IMM4:                  howto manager.      (line 2177)
-* BFD_RELOC_XGATE_IMM5:                  howto manager.      (line 2179)
-* BFD_RELOC_XGATE_IMM8_HI:               howto manager.      (line 2172)
-* BFD_RELOC_XGATE_IMM8_LO:               howto manager.      (line 2169)
-* BFD_RELOC_XGATE_LO16:                  howto manager.      (line 2158)
-* BFD_RELOC_XGATE_PCREL_10:              howto manager.      (line 2167)
-* BFD_RELOC_XGATE_PCREL_9:               howto manager.      (line 2165)
-* BFD_RELOC_XGATE_RL_GROUP:              howto manager.      (line 2154)
-* BFD_RELOC_XGATE_RL_JUMP:               howto manager.      (line 2151)
-* BFD_RELOC_XSTORMY16_12:                howto manager.      (line 2402)
-* BFD_RELOC_XSTORMY16_24:                howto manager.      (line 2403)
-* BFD_RELOC_XSTORMY16_FPTR16:            howto manager.      (line 2404)
-* BFD_RELOC_XSTORMY16_REL_12:            howto manager.      (line 2401)
-* BFD_RELOC_XTENSA_ASM_EXPAND:           howto manager.      (line 2599)
-* BFD_RELOC_XTENSA_ASM_SIMPLIFY:         howto manager.      (line 2603)
-* BFD_RELOC_XTENSA_DIFF16:               howto manager.      (line 2550)
-* BFD_RELOC_XTENSA_DIFF32:               howto manager.      (line 2551)
-* BFD_RELOC_XTENSA_DIFF8:                howto manager.      (line 2549)
-* BFD_RELOC_XTENSA_GLOB_DAT:             howto manager.      (line 2541)
-* BFD_RELOC_XTENSA_JMP_SLOT:             howto manager.      (line 2542)
-* BFD_RELOC_XTENSA_OP0:                  howto manager.      (line 2594)
-* BFD_RELOC_XTENSA_OP1:                  howto manager.      (line 2595)
-* BFD_RELOC_XTENSA_OP2:                  howto manager.      (line 2596)
-* BFD_RELOC_XTENSA_PLT:                  howto manager.      (line 2545)
-* BFD_RELOC_XTENSA_RELATIVE:             howto manager.      (line 2543)
-* BFD_RELOC_XTENSA_RTLD:                 howto manager.      (line 2537)
-* BFD_RELOC_XTENSA_SLOT0_ALT:            howto manager.      (line 2577)
-* BFD_RELOC_XTENSA_SLOT0_OP:             howto manager.      (line 2558)
-* BFD_RELOC_XTENSA_SLOT10_ALT:           howto manager.      (line 2587)
-* BFD_RELOC_XTENSA_SLOT10_OP:            howto manager.      (line 2568)
-* BFD_RELOC_XTENSA_SLOT11_ALT:           howto manager.      (line 2588)
-* BFD_RELOC_XTENSA_SLOT11_OP:            howto manager.      (line 2569)
-* BFD_RELOC_XTENSA_SLOT12_ALT:           howto manager.      (line 2589)
-* BFD_RELOC_XTENSA_SLOT12_OP:            howto manager.      (line 2570)
-* BFD_RELOC_XTENSA_SLOT13_ALT:           howto manager.      (line 2590)
-* BFD_RELOC_XTENSA_SLOT13_OP:            howto manager.      (line 2571)
-* BFD_RELOC_XTENSA_SLOT14_ALT:           howto manager.      (line 2591)
-* BFD_RELOC_XTENSA_SLOT14_OP:            howto manager.      (line 2572)
-* BFD_RELOC_XTENSA_SLOT1_ALT:            howto manager.      (line 2578)
-* BFD_RELOC_XTENSA_SLOT1_OP:             howto manager.      (line 2559)
-* BFD_RELOC_XTENSA_SLOT2_ALT:            howto manager.      (line 2579)
-* BFD_RELOC_XTENSA_SLOT2_OP:             howto manager.      (line 2560)
-* BFD_RELOC_XTENSA_SLOT3_ALT:            howto manager.      (line 2580)
-* BFD_RELOC_XTENSA_SLOT3_OP:             howto manager.      (line 2561)
-* BFD_RELOC_XTENSA_SLOT4_ALT:            howto manager.      (line 2581)
-* BFD_RELOC_XTENSA_SLOT4_OP:             howto manager.      (line 2562)
-* BFD_RELOC_XTENSA_SLOT5_ALT:            howto manager.      (line 2582)
-* BFD_RELOC_XTENSA_SLOT5_OP:             howto manager.      (line 2563)
-* BFD_RELOC_XTENSA_SLOT6_ALT:            howto manager.      (line 2583)
-* BFD_RELOC_XTENSA_SLOT6_OP:             howto manager.      (line 2564)
-* BFD_RELOC_XTENSA_SLOT7_ALT:            howto manager.      (line 2584)
-* BFD_RELOC_XTENSA_SLOT7_OP:             howto manager.      (line 2565)
-* BFD_RELOC_XTENSA_SLOT8_ALT:            howto manager.      (line 2585)
-* BFD_RELOC_XTENSA_SLOT8_OP:             howto manager.      (line 2566)
-* BFD_RELOC_XTENSA_SLOT9_ALT:            howto manager.      (line 2586)
-* BFD_RELOC_XTENSA_SLOT9_OP:             howto manager.      (line 2567)
-* BFD_RELOC_XTENSA_TLSDESC_ARG:          howto manager.      (line 2608)
-* BFD_RELOC_XTENSA_TLSDESC_FN:           howto manager.      (line 2607)
-* BFD_RELOC_XTENSA_TLS_ARG:              howto manager.      (line 2612)
-* BFD_RELOC_XTENSA_TLS_CALL:             howto manager.      (line 2613)
-* BFD_RELOC_XTENSA_TLS_DTPOFF:           howto manager.      (line 2609)
-* BFD_RELOC_XTENSA_TLS_FUNC:             howto manager.      (line 2611)
-* BFD_RELOC_XTENSA_TLS_TPOFF:            howto manager.      (line 2610)
-* BFD_RELOC_Z80_DISP8:                   howto manager.      (line 2615)
-* BFD_RELOC_Z8K_CALLR:                   howto manager.      (line 2619)
-* BFD_RELOC_Z8K_DISP7:                   howto manager.      (line 2617)
-* BFD_RELOC_Z8K_IMM4L:                   howto manager.      (line 2621)
-* bfd_rename_section:                    section prototypes. (line  177)
-* bfd_scan_arch:                         Architectures.      (line  555)
+                                                             (line 3240)
+* BFD_RELOC_TILEGX_IMM16_X1_HW2_PCREL:   howto manager.      (line 3198)
+* BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL: howto manager.    (line 3214)
+* BFD_RELOC_TILEGX_IMM16_X1_HW3:         howto manager.      (line 3186)
+* BFD_RELOC_TILEGX_IMM16_X1_HW3_PCREL:   howto manager.      (line 3200)
+* BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL: howto manager.    (line 3220)
+* BFD_RELOC_TILEGX_IMM8_X0:              howto manager.      (line 3166)
+* BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD:      howto manager.      (line 3257)
+* BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD:   howto manager.      (line 3252)
+* BFD_RELOC_TILEGX_IMM8_X1:              howto manager.      (line 3168)
+* BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD:      howto manager.      (line 3258)
+* BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD:   howto manager.      (line 3253)
+* BFD_RELOC_TILEGX_IMM8_Y0:              howto manager.      (line 3167)
+* BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD:      howto manager.      (line 3259)
+* BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD:   howto manager.      (line 3254)
+* BFD_RELOC_TILEGX_IMM8_Y1:              howto manager.      (line 3169)
+* BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD:      howto manager.      (line 3260)
+* BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD:   howto manager.      (line 3255)
+* BFD_RELOC_TILEGX_JMP_SLOT:             howto manager.      (line 3161)
+* BFD_RELOC_TILEGX_JUMPOFF_X1:           howto manager.      (line 3164)
+* BFD_RELOC_TILEGX_JUMPOFF_X1_PLT:       howto manager.      (line 3165)
+* BFD_RELOC_TILEGX_MF_IMM14_X1:          howto manager.      (line 3172)
+* BFD_RELOC_TILEGX_MMEND_X0:             howto manager.      (line 3174)
+* BFD_RELOC_TILEGX_MMSTART_X0:           howto manager.      (line 3173)
+* BFD_RELOC_TILEGX_MT_IMM14_X1:          howto manager.      (line 3171)
+* BFD_RELOC_TILEGX_RELATIVE:             howto manager.      (line 3162)
+* BFD_RELOC_TILEGX_SHAMT_X0:             howto manager.      (line 3175)
+* BFD_RELOC_TILEGX_SHAMT_X1:             howto manager.      (line 3176)
+* BFD_RELOC_TILEGX_SHAMT_Y0:             howto manager.      (line 3177)
+* BFD_RELOC_TILEGX_SHAMT_Y1:             howto manager.      (line 3178)
+* BFD_RELOC_TILEGX_TLS_DTPMOD32:         howto manager.      (line 3248)
+* BFD_RELOC_TILEGX_TLS_DTPMOD64:         howto manager.      (line 3245)
+* BFD_RELOC_TILEGX_TLS_DTPOFF32:         howto manager.      (line 3249)
+* BFD_RELOC_TILEGX_TLS_DTPOFF64:         howto manager.      (line 3246)
+* BFD_RELOC_TILEGX_TLS_GD_CALL:          howto manager.      (line 3251)
+* BFD_RELOC_TILEGX_TLS_IE_LOAD:          howto manager.      (line 3256)
+* BFD_RELOC_TILEGX_TLS_TPOFF32:          howto manager.      (line 3250)
+* BFD_RELOC_TILEGX_TLS_TPOFF64:          howto manager.      (line 3247)
+* BFD_RELOC_TILEPRO_BROFF_X1:            howto manager.      (line 3076)
+* BFD_RELOC_TILEPRO_COPY:                howto manager.      (line 3072)
+* BFD_RELOC_TILEPRO_DEST_IMM8_X1:        howto manager.      (line 3083)
+* BFD_RELOC_TILEPRO_GLOB_DAT:            howto manager.      (line 3073)
+* BFD_RELOC_TILEPRO_IMM16_X0:            howto manager.      (line 3086)
+* BFD_RELOC_TILEPRO_IMM16_X0_GOT:        howto manager.      (line 3102)
+* BFD_RELOC_TILEPRO_IMM16_X0_GOT_HA:     howto manager.      (line 3108)
+* BFD_RELOC_TILEPRO_IMM16_X0_GOT_HI:     howto manager.      (line 3106)
+* BFD_RELOC_TILEPRO_IMM16_X0_GOT_LO:     howto manager.      (line 3104)
+* BFD_RELOC_TILEPRO_IMM16_X0_HA:         howto manager.      (line 3092)
+* BFD_RELOC_TILEPRO_IMM16_X0_HA_PCREL:   howto manager.      (line 3100)
+* BFD_RELOC_TILEPRO_IMM16_X0_HI:         howto manager.      (line 3090)
+* BFD_RELOC_TILEPRO_IMM16_X0_HI_PCREL:   howto manager.      (line 3098)
+* BFD_RELOC_TILEPRO_IMM16_X0_LO:         howto manager.      (line 3088)
+* BFD_RELOC_TILEPRO_IMM16_X0_LO_PCREL:   howto manager.      (line 3096)
+* BFD_RELOC_TILEPRO_IMM16_X0_PCREL:      howto manager.      (line 3094)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD:     howto manager.      (line 3124)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HA:  howto manager.      (line 3130)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI:  howto manager.      (line 3128)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO:  howto manager.      (line 3126)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE:     howto manager.      (line 3132)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA:  howto manager.      (line 3138)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HI:  howto manager.      (line 3136)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_LO:  howto manager.      (line 3134)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE:     howto manager.      (line 3143)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA:  howto manager.      (line 3149)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI:  howto manager.      (line 3147)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO:  howto manager.      (line 3145)
+* BFD_RELOC_TILEPRO_IMM16_X1:            howto manager.      (line 3087)
+* BFD_RELOC_TILEPRO_IMM16_X1_GOT:        howto manager.      (line 3103)
+* BFD_RELOC_TILEPRO_IMM16_X1_GOT_HA:     howto manager.      (line 3109)
+* BFD_RELOC_TILEPRO_IMM16_X1_GOT_HI:     howto manager.      (line 3107)
+* BFD_RELOC_TILEPRO_IMM16_X1_GOT_LO:     howto manager.      (line 3105)
+* BFD_RELOC_TILEPRO_IMM16_X1_HA:         howto manager.      (line 3093)
+* BFD_RELOC_TILEPRO_IMM16_X1_HA_PCREL:   howto manager.      (line 3101)
+* BFD_RELOC_TILEPRO_IMM16_X1_HI:         howto manager.      (line 3091)
+* BFD_RELOC_TILEPRO_IMM16_X1_HI_PCREL:   howto manager.      (line 3099)
+* BFD_RELOC_TILEPRO_IMM16_X1_LO:         howto manager.      (line 3089)
+* BFD_RELOC_TILEPRO_IMM16_X1_LO_PCREL:   howto manager.      (line 3097)
+* BFD_RELOC_TILEPRO_IMM16_X1_PCREL:      howto manager.      (line 3095)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD:     howto manager.      (line 3125)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HA:  howto manager.      (line 3131)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HI:  howto manager.      (line 3129)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO:  howto manager.      (line 3127)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE:     howto manager.      (line 3133)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA:  howto manager.      (line 3139)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HI:  howto manager.      (line 3137)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_LO:  howto manager.      (line 3135)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE:     howto manager.      (line 3144)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA:  howto manager.      (line 3150)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI:  howto manager.      (line 3148)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO:  howto manager.      (line 3146)
+* BFD_RELOC_TILEPRO_IMM8_X0:             howto manager.      (line 3079)
+* BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD:  howto manager.      (line 3119)
+* BFD_RELOC_TILEPRO_IMM8_X1:             howto manager.      (line 3081)
+* BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD:  howto manager.      (line 3120)
+* BFD_RELOC_TILEPRO_IMM8_Y0:             howto manager.      (line 3080)
+* BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD:  howto manager.      (line 3121)
+* BFD_RELOC_TILEPRO_IMM8_Y1:             howto manager.      (line 3082)
+* BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD:  howto manager.      (line 3122)
+* BFD_RELOC_TILEPRO_JMP_SLOT:            howto manager.      (line 3074)
+* BFD_RELOC_TILEPRO_JOFFLONG_X1:         howto manager.      (line 3077)
+* BFD_RELOC_TILEPRO_JOFFLONG_X1_PLT:     howto manager.      (line 3078)
+* BFD_RELOC_TILEPRO_MF_IMM15_X1:         howto manager.      (line 3085)
+* BFD_RELOC_TILEPRO_MMEND_X0:            howto manager.      (line 3111)
+* BFD_RELOC_TILEPRO_MMEND_X1:            howto manager.      (line 3113)
+* BFD_RELOC_TILEPRO_MMSTART_X0:          howto manager.      (line 3110)
+* BFD_RELOC_TILEPRO_MMSTART_X1:          howto manager.      (line 3112)
+* BFD_RELOC_TILEPRO_MT_IMM15_X1:         howto manager.      (line 3084)
+* BFD_RELOC_TILEPRO_RELATIVE:            howto manager.      (line 3075)
+* BFD_RELOC_TILEPRO_SHAMT_X0:            howto manager.      (line 3114)
+* BFD_RELOC_TILEPRO_SHAMT_X1:            howto manager.      (line 3115)
+* BFD_RELOC_TILEPRO_SHAMT_Y0:            howto manager.      (line 3116)
+* BFD_RELOC_TILEPRO_SHAMT_Y1:            howto manager.      (line 3117)
+* BFD_RELOC_TILEPRO_TLS_DTPMOD32:        howto manager.      (line 3140)
+* BFD_RELOC_TILEPRO_TLS_DTPOFF32:        howto manager.      (line 3141)
+* BFD_RELOC_TILEPRO_TLS_GD_CALL:         howto manager.      (line 3118)
+* BFD_RELOC_TILEPRO_TLS_IE_LOAD:         howto manager.      (line 3123)
+* BFD_RELOC_TILEPRO_TLS_TPOFF32:         howto manager.      (line 3142)
+* bfd_reloc_type_lookup:                 howto manager.      (line 3298)
+* BFD_RELOC_V850_16_GOT:                 howto manager.      (line 1464)
+* BFD_RELOC_V850_16_GOTOFF:              howto manager.      (line 1480)
+* BFD_RELOC_V850_16_PCREL:               howto manager.      (line 1444)
+* BFD_RELOC_V850_16_S1:                  howto manager.      (line 1456)
+* BFD_RELOC_V850_16_SPLIT_OFFSET:        howto manager.      (line 1454)
+* BFD_RELOC_V850_17_PCREL:               howto manager.      (line 1446)
+* BFD_RELOC_V850_22_PCREL:               howto manager.      (line 1398)
+* BFD_RELOC_V850_22_PLT_PCREL:           howto manager.      (line 1468)
+* BFD_RELOC_V850_23:                     howto manager.      (line 1448)
+* BFD_RELOC_V850_32_ABS:                 howto manager.      (line 1452)
+* BFD_RELOC_V850_32_GOT:                 howto manager.      (line 1466)
+* BFD_RELOC_V850_32_GOTOFF:              howto manager.      (line 1482)
+* BFD_RELOC_V850_32_GOTPCREL:            howto manager.      (line 1462)
+* BFD_RELOC_V850_32_PCREL:               howto manager.      (line 1450)
+* BFD_RELOC_V850_32_PLT_PCREL:           howto manager.      (line 1470)
+* BFD_RELOC_V850_9_PCREL:                howto manager.      (line 1396)
+* BFD_RELOC_V850_ALIGN:                  howto manager.      (line 1439)
+* BFD_RELOC_V850_CALLT_15_16_OFFSET:     howto manager.      (line 1460)
+* BFD_RELOC_V850_CALLT_16_16_OFFSET:     howto manager.      (line 1433)
+* BFD_RELOC_V850_CALLT_6_7_OFFSET:       howto manager.      (line 1431)
+* BFD_RELOC_V850_CODE:                   howto manager.      (line 1484)
+* BFD_RELOC_V850_COPY:                   howto manager.      (line 1472)
+* BFD_RELOC_V850_DATA:                   howto manager.      (line 1486)
+* BFD_RELOC_V850_GLOB_DAT:               howto manager.      (line 1474)
+* BFD_RELOC_V850_JMP_SLOT:               howto manager.      (line 1476)
+* BFD_RELOC_V850_LO16_S1:                howto manager.      (line 1458)
+* BFD_RELOC_V850_LO16_SPLIT_OFFSET:      howto manager.      (line 1441)
+* BFD_RELOC_V850_LONGCALL:               howto manager.      (line 1435)
+* BFD_RELOC_V850_LONGJUMP:               howto manager.      (line 1437)
+* BFD_RELOC_V850_RELATIVE:               howto manager.      (line 1478)
+* BFD_RELOC_V850_SDA_15_16_OFFSET:       howto manager.      (line 1402)
+* BFD_RELOC_V850_SDA_16_16_OFFSET:       howto manager.      (line 1400)
+* BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET: howto manager.      (line 1425)
+* BFD_RELOC_V850_TDA_16_16_OFFSET:       howto manager.      (line 1418)
+* BFD_RELOC_V850_TDA_4_4_OFFSET:         howto manager.      (line 1423)
+* BFD_RELOC_V850_TDA_4_5_OFFSET:         howto manager.      (line 1420)
+* BFD_RELOC_V850_TDA_6_8_OFFSET:         howto manager.      (line 1410)
+* BFD_RELOC_V850_TDA_7_7_OFFSET:         howto manager.      (line 1416)
+* BFD_RELOC_V850_TDA_7_8_OFFSET:         howto manager.      (line 1413)
+* BFD_RELOC_V850_ZDA_15_16_OFFSET:       howto manager.      (line 1407)
+* BFD_RELOC_V850_ZDA_16_16_OFFSET:       howto manager.      (line 1405)
+* BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET: howto manager.      (line 1428)
+* BFD_RELOC_VAX_GLOB_DAT:                howto manager.      (line 2388)
+* BFD_RELOC_VAX_JMP_SLOT:                howto manager.      (line 2389)
+* BFD_RELOC_VAX_RELATIVE:                howto manager.      (line 2390)
+* BFD_RELOC_VISIUM_HI16:                 howto manager.      (line 3277)
+* BFD_RELOC_VISIUM_HI16_PCREL:           howto manager.      (line 3281)
+* BFD_RELOC_VISIUM_IM16:                 howto manager.      (line 3279)
+* BFD_RELOC_VISIUM_IM16_PCREL:           howto manager.      (line 3283)
+* BFD_RELOC_VISIUM_LO16:                 howto manager.      (line 3278)
+* BFD_RELOC_VISIUM_LO16_PCREL:           howto manager.      (line 3282)
+* BFD_RELOC_VISIUM_REL16:                howto manager.      (line 3280)
+* BFD_RELOC_VPE4KMATH_DATA:              howto manager.      (line 2020)
+* BFD_RELOC_VPE4KMATH_INSN:              howto manager.      (line 2021)
+* BFD_RELOC_VTABLE_ENTRY:                howto manager.      (line 2024)
+* BFD_RELOC_VTABLE_INHERIT:              howto manager.      (line 2023)
+* BFD_RELOC_WASM32_ABS32_CODE:           howto manager.      (line 3290)
+* BFD_RELOC_WASM32_CODE_POINTER:         howto manager.      (line 3292)
+* BFD_RELOC_WASM32_COPY:                 howto manager.      (line 3291)
+* BFD_RELOC_WASM32_INDEX:                howto manager.      (line 3293)
+* BFD_RELOC_WASM32_LEB128:               howto manager.      (line 3285)
+* BFD_RELOC_WASM32_LEB128_GOT:           howto manager.      (line 3286)
+* BFD_RELOC_WASM32_LEB128_GOT_CODE:      howto manager.      (line 3287)
+* BFD_RELOC_WASM32_LEB128_PLT:           howto manager.      (line 3288)
+* BFD_RELOC_WASM32_PLT_INDEX:            howto manager.      (line 3289)
+* BFD_RELOC_WASM32_PLT_SIG:              howto manager.      (line 3294)
+* BFD_RELOC_X86_64_32S:                  howto manager.      (line  554)
+* BFD_RELOC_X86_64_COPY:                 howto manager.      (line  549)
+* BFD_RELOC_X86_64_DTPMOD64:             howto manager.      (line  555)
+* BFD_RELOC_X86_64_DTPOFF32:             howto manager.      (line  560)
+* BFD_RELOC_X86_64_DTPOFF64:             howto manager.      (line  556)
+* BFD_RELOC_X86_64_GLOB_DAT:             howto manager.      (line  550)
+* BFD_RELOC_X86_64_GOT32:                howto manager.      (line  547)
+* BFD_RELOC_X86_64_GOT64:                howto manager.      (line  565)
+* BFD_RELOC_X86_64_GOTOFF64:             howto manager.      (line  563)
+* BFD_RELOC_X86_64_GOTPC32:              howto manager.      (line  564)
+* BFD_RELOC_X86_64_GOTPC32_TLSDESC:      howto manager.      (line  570)
+* BFD_RELOC_X86_64_GOTPC64:              howto manager.      (line  567)
+* BFD_RELOC_X86_64_GOTPCREL:             howto manager.      (line  553)
+* BFD_RELOC_X86_64_GOTPCREL64:           howto manager.      (line  566)
+* BFD_RELOC_X86_64_GOTPCRELX:            howto manager.      (line  576)
+* BFD_RELOC_X86_64_GOTPLT64:             howto manager.      (line  568)
+* BFD_RELOC_X86_64_GOTTPOFF:             howto manager.      (line  561)
+* BFD_RELOC_X86_64_IRELATIVE:            howto manager.      (line  573)
+* BFD_RELOC_X86_64_JUMP_SLOT:            howto manager.      (line  551)
+* BFD_RELOC_X86_64_PC32_BND:             howto manager.      (line  574)
+* BFD_RELOC_X86_64_PLT32:                howto manager.      (line  548)
+* BFD_RELOC_X86_64_PLT32_BND:            howto manager.      (line  575)
+* BFD_RELOC_X86_64_PLTOFF64:             howto manager.      (line  569)
+* BFD_RELOC_X86_64_RELATIVE:             howto manager.      (line  552)
+* BFD_RELOC_X86_64_REX_GOTPCRELX:        howto manager.      (line  577)
+* BFD_RELOC_X86_64_TLSDESC:              howto manager.      (line  572)
+* BFD_RELOC_X86_64_TLSDESC_CALL:         howto manager.      (line  571)
+* BFD_RELOC_X86_64_TLSGD:                howto manager.      (line  558)
+* BFD_RELOC_X86_64_TLSLD:                howto manager.      (line  559)
+* BFD_RELOC_X86_64_TPOFF32:              howto manager.      (line  562)
+* BFD_RELOC_X86_64_TPOFF64:              howto manager.      (line  557)
+* BFD_RELOC_XC16X_PAG:                   howto manager.      (line 2383)
+* BFD_RELOC_XC16X_POF:                   howto manager.      (line 2384)
+* BFD_RELOC_XC16X_SEG:                   howto manager.      (line 2385)
+* BFD_RELOC_XC16X_SOF:                   howto manager.      (line 2386)
+* BFD_RELOC_XGATE_24:                    howto manager.      (line 2167)
+* BFD_RELOC_XGATE_GPAGE:                 howto manager.      (line 2165)
+* BFD_RELOC_XGATE_IMM3:                  howto manager.      (line 2179)
+* BFD_RELOC_XGATE_IMM4:                  howto manager.      (line 2181)
+* BFD_RELOC_XGATE_IMM5:                  howto manager.      (line 2183)
+* BFD_RELOC_XGATE_IMM8_HI:               howto manager.      (line 2176)
+* BFD_RELOC_XGATE_IMM8_LO:               howto manager.      (line 2173)
+* BFD_RELOC_XGATE_LO16:                  howto manager.      (line 2162)
+* BFD_RELOC_XGATE_PCREL_10:              howto manager.      (line 2171)
+* BFD_RELOC_XGATE_PCREL_9:               howto manager.      (line 2169)
+* BFD_RELOC_XGATE_RL_GROUP:              howto manager.      (line 2158)
+* BFD_RELOC_XGATE_RL_JUMP:               howto manager.      (line 2155)
+* BFD_RELOC_XSTORMY16_12:                howto manager.      (line 2377)
+* BFD_RELOC_XSTORMY16_24:                howto manager.      (line 2378)
+* BFD_RELOC_XSTORMY16_FPTR16:            howto manager.      (line 2379)
+* BFD_RELOC_XSTORMY16_REL_12:            howto manager.      (line 2376)
+* BFD_RELOC_XTENSA_ASM_EXPAND:           howto manager.      (line 2574)
+* BFD_RELOC_XTENSA_ASM_SIMPLIFY:         howto manager.      (line 2578)
+* BFD_RELOC_XTENSA_DIFF16:               howto manager.      (line 2525)
+* BFD_RELOC_XTENSA_DIFF32:               howto manager.      (line 2526)
+* BFD_RELOC_XTENSA_DIFF8:                howto manager.      (line 2524)
+* BFD_RELOC_XTENSA_GLOB_DAT:             howto manager.      (line 2516)
+* BFD_RELOC_XTENSA_JMP_SLOT:             howto manager.      (line 2517)
+* BFD_RELOC_XTENSA_OP0:                  howto manager.      (line 2569)
+* BFD_RELOC_XTENSA_OP1:                  howto manager.      (line 2570)
+* BFD_RELOC_XTENSA_OP2:                  howto manager.      (line 2571)
+* BFD_RELOC_XTENSA_PLT:                  howto manager.      (line 2520)
+* BFD_RELOC_XTENSA_RELATIVE:             howto manager.      (line 2518)
+* BFD_RELOC_XTENSA_RTLD:                 howto manager.      (line 2512)
+* BFD_RELOC_XTENSA_SLOT0_ALT:            howto manager.      (line 2552)
+* BFD_RELOC_XTENSA_SLOT0_OP:             howto manager.      (line 2533)
+* BFD_RELOC_XTENSA_SLOT10_ALT:           howto manager.      (line 2562)
+* BFD_RELOC_XTENSA_SLOT10_OP:            howto manager.      (line 2543)
+* BFD_RELOC_XTENSA_SLOT11_ALT:           howto manager.      (line 2563)
+* BFD_RELOC_XTENSA_SLOT11_OP:            howto manager.      (line 2544)
+* BFD_RELOC_XTENSA_SLOT12_ALT:           howto manager.      (line 2564)
+* BFD_RELOC_XTENSA_SLOT12_OP:            howto manager.      (line 2545)
+* BFD_RELOC_XTENSA_SLOT13_ALT:           howto manager.      (line 2565)
+* BFD_RELOC_XTENSA_SLOT13_OP:            howto manager.      (line 2546)
+* BFD_RELOC_XTENSA_SLOT14_ALT:           howto manager.      (line 2566)
+* BFD_RELOC_XTENSA_SLOT14_OP:            howto manager.      (line 2547)
+* BFD_RELOC_XTENSA_SLOT1_ALT:            howto manager.      (line 2553)
+* BFD_RELOC_XTENSA_SLOT1_OP:             howto manager.      (line 2534)
+* BFD_RELOC_XTENSA_SLOT2_ALT:            howto manager.      (line 2554)
+* BFD_RELOC_XTENSA_SLOT2_OP:             howto manager.      (line 2535)
+* BFD_RELOC_XTENSA_SLOT3_ALT:            howto manager.      (line 2555)
+* BFD_RELOC_XTENSA_SLOT3_OP:             howto manager.      (line 2536)
+* BFD_RELOC_XTENSA_SLOT4_ALT:            howto manager.      (line 2556)
+* BFD_RELOC_XTENSA_SLOT4_OP:             howto manager.      (line 2537)
+* BFD_RELOC_XTENSA_SLOT5_ALT:            howto manager.      (line 2557)
+* BFD_RELOC_XTENSA_SLOT5_OP:             howto manager.      (line 2538)
+* BFD_RELOC_XTENSA_SLOT6_ALT:            howto manager.      (line 2558)
+* BFD_RELOC_XTENSA_SLOT6_OP:             howto manager.      (line 2539)
+* BFD_RELOC_XTENSA_SLOT7_ALT:            howto manager.      (line 2559)
+* BFD_RELOC_XTENSA_SLOT7_OP:             howto manager.      (line 2540)
+* BFD_RELOC_XTENSA_SLOT8_ALT:            howto manager.      (line 2560)
+* BFD_RELOC_XTENSA_SLOT8_OP:             howto manager.      (line 2541)
+* BFD_RELOC_XTENSA_SLOT9_ALT:            howto manager.      (line 2561)
+* BFD_RELOC_XTENSA_SLOT9_OP:             howto manager.      (line 2542)
+* BFD_RELOC_XTENSA_TLSDESC_ARG:          howto manager.      (line 2583)
+* BFD_RELOC_XTENSA_TLSDESC_FN:           howto manager.      (line 2582)
+* BFD_RELOC_XTENSA_TLS_ARG:              howto manager.      (line 2587)
+* BFD_RELOC_XTENSA_TLS_CALL:             howto manager.      (line 2588)
+* BFD_RELOC_XTENSA_TLS_DTPOFF:           howto manager.      (line 2584)
+* BFD_RELOC_XTENSA_TLS_FUNC:             howto manager.      (line 2586)
+* BFD_RELOC_XTENSA_TLS_TPOFF:            howto manager.      (line 2585)
+* BFD_RELOC_Z80_DISP8:                   howto manager.      (line 2590)
+* BFD_RELOC_Z8K_CALLR:                   howto manager.      (line 2594)
+* BFD_RELOC_Z8K_DISP7:                   howto manager.      (line 2592)
+* BFD_RELOC_Z8K_IMM4L:                   howto manager.      (line 2596)
+* bfd_rename_section:                    section prototypes. (line  169)
+* bfd_scan_arch:                         Architectures.      (line  547)
 * bfd_scan_vma:                          Miscellaneous.      (line  126)
-* bfd_sections_find_if:                  section prototypes. (line  207)
+* bfd_sections_find_if:                  section prototypes. (line  199)
 * bfd_section_already_linked:            Writing the symbol table.
                                                              (line   55)
 * bfd_section_list_clear:                section prototypes. (line    7)
 * bfd_set_archive_head:                  Archives.           (line   74)
-* bfd_set_arch_info:                     Architectures.      (line  596)
-* bfd_set_assert_handler:                Error reporting.    (line  146)
-* bfd_set_default_target:                bfd_target.         (line  483)
+* bfd_set_arch_info:                     Architectures.      (line  588)
+* bfd_set_assert_handler:                Error reporting.    (line  161)
+* bfd_set_default_target:                bfd_target.         (line  485)
 * bfd_set_error:                         Error reporting.    (line   57)
-* bfd_set_error_handler:                 Error reporting.    (line  111)
-* bfd_set_error_program_name:            Error reporting.    (line  120)
+* bfd_set_error_handler:                 Error reporting.    (line  127)
+* bfd_set_error_program_name:            Error reporting.    (line  135)
 * bfd_set_file_flags:                    Miscellaneous.      (line   45)
 * bfd_set_format:                        Formats.            (line   67)
 * bfd_set_gp_size:                       Miscellaneous.      (line  116)
 * bfd_set_input_error:                   Error reporting.    (line   68)
 * bfd_set_private_flags:                 Miscellaneous.      (line  174)
 * bfd_set_reloc:                         Miscellaneous.      (line   33)
-* bfd_set_section_contents:              section prototypes. (line  239)
-* bfd_set_section_flags:                 section prototypes. (line  162)
-* bfd_set_section_size:                  section prototypes. (line  224)
+* bfd_set_section_contents:              section prototypes. (line  231)
+* bfd_set_section_flags:                 section prototypes. (line  154)
+* bfd_set_section_size:                  section prototypes. (line  216)
 * bfd_set_start_address:                 Miscellaneous.      (line   95)
 * bfd_set_symtab:                        symbol handling functions.
                                                              (line   63)
 * bfd_symbol_info:                       symbol handling functions.
                                                              (line  135)
-* bfd_target_list:                       bfd_target.         (line  535)
+* bfd_target_list:                       bfd_target.         (line  537)
 * bfd_update_compression_header:         Miscellaneous.      (line  350)
 * bfd_write_bigendian_4byte_int:         Internal.           (line   12)
 * bfd_zalloc:                            Opening and Closing.
@@ -14042,7 +14071,7 @@ BFD Index
                                                              (line  266)
 * check_build_id_file:                   Opening and Closing.
                                                              (line  491)
-* coff_symbol_type:                      coff.               (line  244)
+* coff_symbol_type:                      coff.               (line  233)
 * core_file_matches_executable_p:        Core Files.         (line   38)
 * find_separate_debug_file:              Opening and Closing.
                                                              (line  365)
@@ -14066,76 +14095,76 @@ BFD Index
                                                              (line    6)
 * target vector (_bfd_link_hash_table_create): Creating a Linker Hash Table.
                                                              (line    6)
-* The HOWTO Macro:                       typedef arelent.    (line  290)
+* The HOWTO Macro:                       typedef arelent.    (line  288)
 * what is it?:                           Overview.           (line    6)
 
 
 
 Tag Table:
-Node: Top1054
-Node: Overview1390
-Node: History2448
-Node: How It Works3393
-Node: What BFD Version 2 Can Do4930
-Node: BFD information loss6247
-Node: Canonical format8788
-Node: BFD front end13165
-Node: typedef bfd13589
-Node: Error reporting26116
-Node: Miscellaneous30839
-Node: Memory Usage49719
-Node: Initialization50950
-Node: Sections51409
-Node: Section Input51892
-Node: Section Output53261
-Node: typedef asection55748
-Node: section prototypes83566
-Node: Symbols94177
-Node: Reading Symbols95780
-Node: Writing Symbols96888
-Node: Mini Symbols98632
-Node: typedef asymbol99606
-Node: symbol handling functions105691
-Node: Archives111066
-Node: Formats115203
-Node: Relocations118154
-Node: typedef arelent118881
-Node: howto manager134986
-Node: Core Files260527
-Node: Targets262565
-Node: bfd_target264540
-Node: Architectures289896
-Node: Opening and Closing320577
-Node: Internal338752
-Node: File Caching345077
-Node: Linker Functions346995
-Node: Creating a Linker Hash Table348669
-Node: Adding Symbols to the Hash Table350408
-Node: Differing file formats351308
-Node: Adding symbols from an object file353033
-Node: Adding symbols from an archive355183
-Node: Performing the Final Link357529
-Node: Information provided by the linker358770
-Node: Relocating the section contents359924
-Node: Writing the symbol table361676
-Node: Hash Tables368342
-Node: Creating and Freeing a Hash Table369540
-Node: Looking Up or Entering a String370790
-Node: Traversing a Hash Table372043
-Node: Deriving a New Hash Table Type372832
-Node: Define the Derived Structures373898
-Node: Write the Derived Creation Routine374979
-Node: Write Other Derived Routines377604
-Node: BFD back ends378919
-Node: What to Put Where379189
-Node: aout379369
-Node: coff385712
-Node: elf414503
-Node: mmo414904
-Node: File layout415774
-Node: Symbol-table421687
-Node: mmo section mapping425450
-Node: GNU Free Documentation License429104
-Node: BFD Index454168
+Node: Top1051
+Node: Overview1387
+Node: History2445
+Node: How It Works3390
+Node: What BFD Version 2 Can Do4927
+Node: BFD information loss6244
+Node: Canonical format8785
+Node: BFD front end13128
+Node: typedef bfd13552
+Node: Error reporting25873
+Node: Miscellaneous31100
+Node: Memory Usage49993
+Node: Initialization51224
+Node: Sections51683
+Node: Section Input52166
+Node: Section Output53360
+Node: typedef asection55847
+Node: section prototypes83451
+Node: Symbols93865
+Node: Reading Symbols95468
+Node: Writing Symbols96576
+Node: Mini Symbols98320
+Node: typedef asymbol99294
+Node: symbol handling functions105379
+Node: Archives110754
+Node: Formats114891
+Node: Relocations117842
+Node: typedef arelent118569
+Node: howto manager134537
+Node: Core Files262511
+Node: Targets264549
+Node: bfd_target266524
+Node: Architectures291990
+Node: Opening and Closing322218
+Node: Internal340393
+Node: File Caching346718
+Node: Linker Functions348636
+Node: Creating a Linker Hash Table350310
+Node: Adding Symbols to the Hash Table352049
+Node: Differing file formats352949
+Node: Adding symbols from an object file354674
+Node: Adding symbols from an archive356824
+Node: Performing the Final Link359170
+Node: Information provided by the linker360411
+Node: Relocating the section contents361565
+Node: Writing the symbol table363317
+Node: Hash Tables370471
+Node: Creating and Freeing a Hash Table371669
+Node: Looking Up or Entering a String372919
+Node: Traversing a Hash Table374172
+Node: Deriving a New Hash Table Type374961
+Node: Define the Derived Structures376027
+Node: Write the Derived Creation Routine377108
+Node: Write Other Derived Routines379733
+Node: BFD back ends381048
+Node: What to Put Where381318
+Node: aout381498
+Node: coff387780
+Node: elf415931
+Node: mmo416332
+Node: File layout417202
+Node: Symbol-table423115
+Node: mmo section mapping426878
+Node: GNU Free Documentation License430532
+Node: BFD Index455596
 
 End Tag Table
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfdint.texi ./bfd/doc/bfdint.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfdint.texi	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/doc/bfdint.texi	2018-07-10 02:06:11.000000000 +0000
@@ -318,7 +318,7 @@ The target vector starts with a set of c
 @table @samp
 @item name
 The name of the target vector.  This is an arbitrary string.  This is
-how the target vector is named in command line options for tools which
+how the target vector is named in command-line options for tools which
 use BFD, such as the @samp{--oformat} linker option.
 
 @item flavour
@@ -336,12 +336,6 @@ COFF.
 ECOFF.
 @item bfd_target_elf_flavour
 ELF.
-@item bfd_target_ieee_flavour
-IEEE-695.
-@item bfd_target_nlm_flavour
-NLM.
-@item bfd_target_oasys_flavour
-OASYS.
 @item bfd_target_tekhex_flavour
 Tektronix hex format.
 @item bfd_target_srec_flavour
@@ -1104,34 +1098,9 @@ This file is the source for the generate
 and @file{elf64-target.h}, one of which is included by every ELF target.
 It defines the ELF target vector.
 
-@item freebsd.h
-@cindex @file{freebsd.h}
-Presumably intended to be included by all FreeBSD targets, but in fact
-there is only one such target, @samp{i386-freebsd}.  This defines a
-function used to set the right magic number for FreeBSD, as well as
-various macros, and includes @file{aout-target.h}.
-
 @item netbsd.h
 @cindex @file{netbsd.h}
-Like @file{freebsd.h}, except that there are several files which include
-it.
-
-@item nlm-target.h
-@cindex @file{nlm-target.h}
-Defines the target vector for a standard NLM target.
-
-@item nlmcode.h
-@cindex @file{nlmcode.h}
-Like @file{elfcode.h}, but for NLM targets.  This is only included by
-@file{nlm32.c} and @file{nlm64.c}, both of which define the macro
-@samp{ARCH_SIZE} to an appropriate value.  There are no 64 bit NLM
-targets anyhow, so this is sort of useless.
-
-@item nlmswap.h
-@cindex @file{nlmswap.h}
-Like @file{coffswap.h}, but for NLM targets.  This is included by each
-NLM target, but I think it winds up compiling to the exact same code for
-every target, and as such is fairly useless.
+Used by all netbsd aout targets.  Several other files include it.
 
 @item peicode.h
 @cindex @file{peicode.h}
@@ -1186,8 +1155,7 @@ address of the section contents.
 In general, relocations can be arbitrarily complex.  For example,
 relocations used in dynamic linking systems often require the linker to
 allocate space in a different section and use the offset within that
-section as the value to store.  In the IEEE object file format,
-relocations may involve arbitrary expressions.
+section as the value to store.
 
 When doing a relocatable link, the linker may or may not have to do
 anything with a relocation, depending upon the definition of the
@@ -1826,11 +1794,6 @@ information.  Normally produced by a lin
 Load Memory Address.  This is the address at which a section will be
 loaded.  Compare with VMA, below.
 
-@item NLM
-NetWare Loadable Module.  Used to describe the format of an object which
-be loaded into NetWare, which is some kind of PC based network server
-program.
-
 @item object file
 A binary file including machine instructions, symbols, and relocation
 information.  Normally produced by an assembler.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfdsumm.texi ./bfd/doc/bfdsumm.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfdsumm.texi	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/doc/bfdsumm.texi	2018-07-10 02:06:11.000000000 +0000
@@ -115,12 +115,12 @@ output file (no matter its format) will 
 functions and to global, static, and common variables.  Some symbol
 information is not worth retaining; in @code{a.out}, type information is
 stored in the symbol table as long symbol names.  This information would
-be useless to most COFF debuggers; the linker has command line switches
+be useless to most COFF debuggers; the linker has command-line switches
 to allow users to throw it away.
 
 There is one word of type information within the symbol, so if the
 format supports symbol type information within symbols (for example, COFF,
-IEEE, Oasys) and the type is simple enough to fit within one word
+Oasys) and the type is simple enough to fit within one word
 (nearly everything but aggregates), the information will be preserved.
 
 @item relocation level
@@ -146,5 +146,5 @@ pointer to the symbol, which allows find
 function whose line number is being described. The rest of the list is
 made up of pairs: offsets into the section and line numbers. Any format
 which can simply derive this information can pass it successfully
-between formats (COFF, IEEE and Oasys).
+between formats.
 @end table
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfd.texi ./bfd/doc/bfd.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfd.texi	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/doc/bfd.texi	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1,339 @@
+\input texinfo.tex
+@setfilename bfd.info
+@c Copyright (C) 1988-2018 Free Software Foundation, Inc.
+@c 
+@synindex fn cp
+
+@ifnottex
+@dircategory Software development
+@direntry
+* Bfd: (bfd).                   The Binary File Descriptor library.
+@end direntry
+@end ifnottex
+
+@copying
+This file documents the BFD library.
+
+Copyright @copyright{} 1991-2018 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``GNU General Public License'' and ``Funding
+Free Software'', the Front-Cover texts being (a) (see below), and with
+the Back-Cover Texts being (b) (see below).  A copy of the license is
+included in the section entitled ``GNU Free Documentation License''.
+
+(a) The FSF's Front-Cover Text is:
+
+     A GNU Manual
+
+(b) The FSF's Back-Cover Text is:
+
+     You have freedom to copy and modify this GNU Manual, like GNU
+     software.  Copies published by the Free Software Foundation raise
+     funds for GNU development.
+@end copying
+@iftex
+@c@finalout
+@setchapternewpage on
+@c@setchapternewpage odd
+@settitle LIB BFD, the Binary File Descriptor Library
+@titlepage
+@title{libbfd}
+@subtitle{The Binary File Descriptor Library}
+@sp 1
+@subtitle First Edition---BFD version < 3.0  % Since no product is stable before version 3.0 :-)
+@subtitle Original Document Created: April 1991
+@author {Steve Chamberlain}
+@author {Cygnus Support}
+@page
+
+@tex
+\def\$#1${{#1}}  % Kluge: collect RCS revision info without $...$
+\xdef\manvers{1.5}  % For use in headers, footers too
+{\parskip=0pt
+\hfill Free Software Foundation\par
+\hfill sac\@www.gnu.org\par
+\hfill {\it BFD}, \manvers\par
+\hfill \TeX{}info \texinfoversion\par
+}
+\global\parindent=0pt % Steve likes it this way
+@end tex
+
+@vskip 0pt plus 1filll
+Copyright @copyright{} 1991-2018 Free Software Foundation, Inc.
+
+      Permission is granted to copy, distribute and/or modify this document
+      under the terms of the GNU Free Documentation License, Version 1.3
+      or any later version published by the Free Software Foundation;
+      with no Invariant Sections, with no Front-Cover Texts, and with no
+      Back-Cover Texts.  A copy of the license is included in the
+      section entitled ``GNU Free Documentation License''.
+
+@end titlepage
+@end iftex
+@contents
+
+@node Top, Overview, (dir), (dir)
+@ifinfo
+This file documents the binary file descriptor library libbfd.
+@end ifinfo
+
+@menu
+* Overview::			Overview of BFD
+* BFD front end::		BFD front end
+* BFD back ends::		BFD back ends
+* GNU Free Documentation License::  GNU Free Documentation License
+* BFD Index::		BFD Index
+@end menu
+
+@node Overview, BFD front end, Top, Top
+@chapter Introduction
+@cindex BFD
+@cindex what is it?
+BFD is a package which allows applications to use the
+same routines to operate on object files whatever the object file
+format.  A new object file format can be supported simply by
+creating a new BFD back end and adding it to the library.
+
+BFD is split into two parts: the front end, and the back ends (one for
+each object file format).
+@itemize @bullet
+@item The front end of BFD provides the interface to the user. It manages
+memory and various canonical data structures. The front end also
+decides which back end to use and when to call back end routines.
+@item The back ends provide BFD its view of the real world. Each back
+end provides a set of calls which the BFD front end can use to maintain
+its canonical form. The back ends also may keep around information for
+their own use, for greater efficiency.
+@end itemize
+@menu
+* History::			History
+* How It Works::		How It Works
+* What BFD Version 2 Can Do::	What BFD Version 2 Can Do
+@end menu
+
+@node History, How It Works, Overview, Overview
+@section History
+
+One spur behind BFD was the desire, on the part of the GNU 960 team at
+Intel Oregon, for interoperability of applications on their COFF and
+b.out file formats.  Cygnus was providing GNU support for the team, and
+was contracted to provide the required functionality.
+
+The name came from a conversation David Wallace was having with Richard
+Stallman about the library: RMS said that it would be quite hard---David
+said ``BFD''.  Stallman was right, but the name stuck.
+
+At the same time, Ready Systems wanted much the same thing, but for
+different object file formats: IEEE-695, Oasys, Srecords, a.out and 68k
+coff.
+
+BFD was first implemented by members of Cygnus Support; Steve
+Chamberlain (@code{sac@@cygnus.com}), John Gilmore
+(@code{gnu@@cygnus.com}), K.  Richard Pixley (@code{rich@@cygnus.com})
+and David Henkel-Wallace (@code{gumby@@cygnus.com}).
+
+
+
+@node How It Works, What BFD Version 2 Can Do, History, Overview
+@section How To Use BFD
+
+To use the library, include @file{bfd.h} and link with @file{libbfd.a}.	
+
+BFD provides a common interface to the parts of an object file
+for a calling application. 
+
+When an application successfully opens a target file (object, archive, or
+whatever), a pointer to an internal structure is returned. This pointer
+points to a structure called @code{bfd}, described in
+@file{bfd.h}.  Our convention is to call this pointer a BFD, and
+instances of it within code @code{abfd}.  All operations on
+the target object file are applied as methods to the BFD.  The mapping is
+defined within @code{bfd.h} in a set of macros, all beginning
+with @samp{bfd_} to reduce namespace pollution.
+
+For example, this sequence does what you would probably expect:
+return the number of sections in an object file attached to a BFD
+@code{abfd}. 
+
+@example
+@c @cartouche
+#include "bfd.h"
+
+unsigned int number_of_sections (abfd)
+bfd *abfd;
+@{
+  return bfd_count_sections (abfd);
+@}
+@c @end cartouche
+@end example
+
+The abstraction used within BFD is that an object file has:
+
+@itemize @bullet
+@item
+a header,
+@item
+a number of sections containing raw data (@pxref{Sections}),
+@item
+a set of relocations (@pxref{Relocations}), and
+@item
+some symbol information (@pxref{Symbols}).
+@end itemize
+@noindent
+Also, BFDs opened for archives have the additional attribute of an index
+and contain subordinate BFDs. This approach is fine for a.out and coff,
+but loses efficiency when applied to formats such as S-records and
+IEEE-695.
+
+@node What BFD Version 2 Can Do,  , How It Works, Overview
+@section What BFD Version 2 Can Do
+@include bfdsumm.texi
+
+@node BFD front end, BFD back ends, Overview, Top
+@chapter BFD Front End
+
+@menu
+* typedef bfd::
+* Error reporting::
+* Miscellaneous::
+* Memory Usage::
+* Initialization::
+* Sections::
+* Symbols::
+* Archives::
+* Formats::
+* Relocations::
+* Core Files::
+* Targets::
+* Architectures::
+* Opening and Closing::
+* Internal::
+* File Caching::
+* Linker Functions::
+* Hash Tables::
+@end menu
+
+@include bfdt.texi
+@include bfdio.texi
+
+@node Memory Usage, Initialization, Miscellaneous, BFD front end
+@section Memory Usage
+BFD keeps all of its internal structures in obstacks. There is one obstack
+per open BFD file, into which the current state is stored. When a BFD is
+closed, the obstack is deleted, and so everything which has been
+allocated by BFD for the closing file is thrown away.
+
+BFD does not free anything created by an application, but pointers into
+@code{bfd} structures become invalid on a @code{bfd_close}; for example,
+after a @code{bfd_close} the vector passed to
+@code{bfd_canonicalize_symtab} is still around, since it has been
+allocated by the application, but the data that it pointed to are
+lost.
+
+The general rule is to not close a BFD until all operations dependent
+upon data from the BFD have been completed, or all the data from within
+the file has been copied. To help with the management of memory, there
+is a function (@code{bfd_alloc_size}) which returns the number of bytes
+in obstacks associated with the supplied BFD. This could be used to
+select the greediest open BFD, close it to reclaim the memory, perform
+some operation and reopen the BFD again, to get a fresh copy of the data
+structures.
+
+@node Initialization, Sections, Memory Usage, BFD front end
+@include  init.texi
+
+@node Sections, Symbols, Initialization, BFD front end
+@include  section.texi
+
+@node Symbols, Archives, Sections, BFD front end
+@include  syms.texi
+
+@node Archives, Formats, Symbols, BFD front end
+@include  archive.texi
+
+@node Formats, Relocations, Archives, BFD front end
+@include  format.texi
+
+@node Relocations, Core Files, Formats, BFD front end
+@include  reloc.texi
+
+@node Core Files, Targets, Relocations, BFD front end
+@include  core.texi
+
+@node Targets, Architectures, Core Files, BFD front end
+@include  targets.texi
+
+@node Architectures, Opening and Closing, Targets, BFD front end
+@include  archures.texi
+
+@node Opening and Closing, Internal, Architectures, BFD front end
+@include  opncls.texi
+
+@node Internal, File Caching, Opening and Closing, BFD front end
+@include  libbfd.texi
+
+@node File Caching, Linker Functions, Internal, BFD front end
+@include  cache.texi
+
+@node Linker Functions, Hash Tables, File Caching, BFD front end
+@include  linker.texi
+
+@node Hash Tables, , Linker Functions, BFD front end
+@include  hash.texi
+
+@node BFD back ends, GNU Free Documentation License, BFD front end, Top
+@chapter BFD back ends
+@menu
+* What to Put Where::
+* aout ::	a.out backends
+* coff ::	coff backends
+* elf  ::	elf backends
+* mmo  ::	mmo backend
+@ignore
+* srecord ::	s-record backend
+@end ignore
+@end menu
+@node What to Put Where, aout, BFD back ends, BFD back ends
+@section What to Put Where
+All of BFD lives in one directory.
+
+@node aout, coff, What to Put Where, BFD back ends
+@include  aoutx.texi
+
+@node coff, elf, aout, BFD back ends
+@include  coffcode.texi
+
+@node elf, mmo, coff, BFD back ends
+@include  elf.texi
+@c Leave this out until the file has some actual contents...
+@c @include  elfcode.texi
+
+@node mmo,  , elf, BFD back ends
+@include  mmo.texi
+
+@node GNU Free Documentation License, BFD Index, BFD back ends, Top
+@include fdl.texi
+
+@node BFD Index,  , GNU Free Documentation License, Top
+@unnumbered BFD Index
+@printindex cp
+
+@tex
+% I think something like @@colophon should be in texinfo.  In the
+% meantime:
+\long\def\colophon{\hbox to0pt{}\vfill
+\centerline{The body of this manual is set in}
+\centerline{\fontname\tenrm,}
+\centerline{with headings in {\bf\fontname\tenbf}}
+\centerline{and examples in {\tt\fontname\tentt}.}
+\centerline{{\it\fontname\tenit\/} and}
+\centerline{{\sl\fontname\tensl\/}}
+\centerline{are used for emphasis.}\vfill}
+\page\colophon
+% Blame: doc@@cygnus.com, 28mar91.
+@end tex
+
+@bye
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfd.texinfo ./bfd/doc/bfd.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfd.texinfo	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/doc/bfd.texinfo	1970-01-01 00:00:00.000000000 +0000
@@ -1,341 +0,0 @@
-\input texinfo.tex
-@setfilename bfd.info
-@c Copyright (C) 1988-2018 Free Software Foundation, Inc.
-@c 
-@synindex fn cp
-
-@ifnottex
-@dircategory Software development
-@direntry
-* Bfd: (bfd).                   The Binary File Descriptor library.
-@end direntry
-@end ifnottex
-
-@copying
-This file documents the BFD library.
-
-Copyright @copyright{} 1991-2018 Free Software Foundation, Inc.
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``GNU General Public License'' and ``Funding
-Free Software'', the Front-Cover texts being (a) (see below), and with
-the Back-Cover Texts being (b) (see below).  A copy of the license is
-included in the section entitled ``GNU Free Documentation License''.
-
-(a) The FSF's Front-Cover Text is:
-
-     A GNU Manual
-
-(b) The FSF's Back-Cover Text is:
-
-     You have freedom to copy and modify this GNU Manual, like GNU
-     software.  Copies published by the Free Software Foundation raise
-     funds for GNU development.
-@end copying
-@iftex
-@c@finalout
-@setchapternewpage on
-@c@setchapternewpage odd
-@settitle LIB BFD, the Binary File Descriptor Library
-@titlepage
-@title{libbfd}
-@subtitle{The Binary File Descriptor Library}
-@sp 1
-@subtitle First Edition---BFD version < 3.0  % Since no product is stable before version 3.0 :-)
-@subtitle Original Document Created: April 1991
-@author {Steve Chamberlain}
-@author {Cygnus Support}
-@page
-
-@tex
-\def\$#1${{#1}}  % Kluge: collect RCS revision info without $...$
-\xdef\manvers{1.5}  % For use in headers, footers too
-{\parskip=0pt
-\hfill Free Software Foundation\par
-\hfill sac\@www.gnu.org\par
-\hfill {\it BFD}, \manvers\par
-\hfill \TeX{}info \texinfoversion\par
-}
-\global\parindent=0pt % Steve likes it this way
-@end tex
-
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1991-2018 Free Software Foundation, Inc.
-
-      Permission is granted to copy, distribute and/or modify this document
-      under the terms of the GNU Free Documentation License, Version 1.3
-      or any later version published by the Free Software Foundation;
-      with no Invariant Sections, with no Front-Cover Texts, and with no
-      Back-Cover Texts.  A copy of the license is included in the
-      section entitled ``GNU Free Documentation License''.
-
-@end titlepage
-@end iftex
-@contents
-
-@node Top, Overview, (dir), (dir)
-@ifinfo
-This file documents the binary file descriptor library libbfd.
-@end ifinfo
-
-@menu
-* Overview::			Overview of BFD
-* BFD front end::		BFD front end
-* BFD back ends::		BFD back ends
-* GNU Free Documentation License::  GNU Free Documentation License
-* BFD Index::		BFD Index
-@end menu
-
-@node Overview, BFD front end, Top, Top
-@chapter Introduction
-@cindex BFD
-@cindex what is it?
-BFD is a package which allows applications to use the
-same routines to operate on object files whatever the object file
-format.  A new object file format can be supported simply by
-creating a new BFD back end and adding it to the library.
-
-BFD is split into two parts: the front end, and the back ends (one for
-each object file format).
-@itemize @bullet
-@item The front end of BFD provides the interface to the user. It manages
-memory and various canonical data structures. The front end also
-decides which back end to use and when to call back end routines.
-@item The back ends provide BFD its view of the real world. Each back
-end provides a set of calls which the BFD front end can use to maintain
-its canonical form. The back ends also may keep around information for
-their own use, for greater efficiency.
-@end itemize
-@menu
-* History::			History
-* How It Works::		How It Works
-* What BFD Version 2 Can Do::	What BFD Version 2 Can Do
-@end menu
-
-@node History, How It Works, Overview, Overview
-@section History
-
-One spur behind BFD was the desire, on the part of the GNU 960 team at
-Intel Oregon, for interoperability of applications on their COFF and
-b.out file formats.  Cygnus was providing GNU support for the team, and
-was contracted to provide the required functionality.
-
-The name came from a conversation David Wallace was having with Richard
-Stallman about the library: RMS said that it would be quite hard---David
-said ``BFD''.  Stallman was right, but the name stuck.
-
-At the same time, Ready Systems wanted much the same thing, but for
-different object file formats: IEEE-695, Oasys, Srecords, a.out and 68k
-coff.
-
-BFD was first implemented by members of Cygnus Support; Steve
-Chamberlain (@code{sac@@cygnus.com}), John Gilmore
-(@code{gnu@@cygnus.com}), K.  Richard Pixley (@code{rich@@cygnus.com})
-and David Henkel-Wallace (@code{gumby@@cygnus.com}).
-
-
-
-@node How It Works, What BFD Version 2 Can Do, History, Overview
-@section How To Use BFD
-
-To use the library, include @file{bfd.h} and link with @file{libbfd.a}.	
-
-BFD provides a common interface to the parts of an object file
-for a calling application. 
-
-When an application successfully opens a target file (object, archive, or
-whatever), a pointer to an internal structure is returned. This pointer
-points to a structure called @code{bfd}, described in
-@file{bfd.h}.  Our convention is to call this pointer a BFD, and
-instances of it within code @code{abfd}.  All operations on
-the target object file are applied as methods to the BFD.  The mapping is
-defined within @code{bfd.h} in a set of macros, all beginning
-with @samp{bfd_} to reduce namespace pollution.
-
-For example, this sequence does what you would probably expect:
-return the number of sections in an object file attached to a BFD
-@code{abfd}. 
-
-@example
-@c @cartouche
-#include "bfd.h"
-
-unsigned int number_of_sections (abfd)
-bfd *abfd;
-@{
-  return bfd_count_sections (abfd);
-@}
-@c @end cartouche
-@end example
-
-The abstraction used within BFD is that an object file has:
-
-@itemize @bullet
-@item
-a header,
-@item
-a number of sections containing raw data (@pxref{Sections}),
-@item
-a set of relocations (@pxref{Relocations}), and
-@item
-some symbol information (@pxref{Symbols}).
-@end itemize
-@noindent
-Also, BFDs opened for archives have the additional attribute of an index
-and contain subordinate BFDs. This approach is fine for a.out and coff,
-but loses efficiency when applied to formats such as S-records and
-IEEE-695.
-
-@node What BFD Version 2 Can Do,  , How It Works, Overview
-@section What BFD Version 2 Can Do
-@include bfdsumm.texi
-
-@node BFD front end, BFD back ends, Overview, Top
-@chapter BFD Front End
-
-@menu
-* typedef bfd::
-* Error reporting::
-* Miscellaneous::
-* Memory Usage::
-* Initialization::
-* Sections::
-* Symbols::
-* Archives::
-* Formats::
-* Relocations::
-* Core Files::
-* Targets::
-* Architectures::
-* Opening and Closing::
-* Internal::
-* File Caching::
-* Linker Functions::
-* Hash Tables::
-@end menu
-
-@include bfdt.texi
-@include bfdio.texi
-
-@node Memory Usage, Initialization, Miscellaneous, BFD front end
-@section Memory Usage
-BFD keeps all of its internal structures in obstacks. There is one obstack
-per open BFD file, into which the current state is stored. When a BFD is
-closed, the obstack is deleted, and so everything which has been
-allocated by BFD for the closing file is thrown away.
-
-BFD does not free anything created by an application, but pointers into
-@code{bfd} structures become invalid on a @code{bfd_close}; for example,
-after a @code{bfd_close} the vector passed to
-@code{bfd_canonicalize_symtab} is still around, since it has been
-allocated by the application, but the data that it pointed to are
-lost.
-
-The general rule is to not close a BFD until all operations dependent
-upon data from the BFD have been completed, or all the data from within
-the file has been copied. To help with the management of memory, there
-is a function (@code{bfd_alloc_size}) which returns the number of bytes
-in obstacks associated with the supplied BFD. This could be used to
-select the greediest open BFD, close it to reclaim the memory, perform
-some operation and reopen the BFD again, to get a fresh copy of the data
-structures.
-
-@node Initialization, Sections, Memory Usage, BFD front end
-@include  init.texi
-
-@node Sections, Symbols, Initialization, BFD front end
-@include  section.texi
-
-@node Symbols, Archives, Sections, BFD front end
-@include  syms.texi
-
-@node Archives, Formats, Symbols, BFD front end
-@include  archive.texi
-
-@node Formats, Relocations, Archives, BFD front end
-@include  format.texi
-
-@node Relocations, Core Files, Formats, BFD front end
-@include  reloc.texi
-
-@node Core Files, Targets, Relocations, BFD front end
-@include  core.texi
-
-@node Targets, Architectures, Core Files, BFD front end
-@include  targets.texi
-
-@node Architectures, Opening and Closing, Targets, BFD front end
-@include  archures.texi
-
-@node Opening and Closing, Internal, Architectures, BFD front end
-@include  opncls.texi
-
-@node Internal, File Caching, Opening and Closing, BFD front end
-@include  libbfd.texi
-
-@node File Caching, Linker Functions, Internal, BFD front end
-@include  cache.texi
-
-@node Linker Functions, Hash Tables, File Caching, BFD front end
-@include  linker.texi
-
-@node Hash Tables, , Linker Functions, BFD front end
-@include  hash.texi
-
-@node BFD back ends, GNU Free Documentation License, BFD front end, Top
-@chapter BFD back ends
-@menu
-* What to Put Where::
-* aout ::	a.out backends
-* coff ::	coff backends
-* elf  ::	elf backends
-* mmo  ::	mmo backend
-@ignore
-* oasys ::	oasys backends
-* ieee ::	ieee backend
-* srecord ::	s-record backend
-@end ignore
-@end menu
-@node What to Put Where, aout, BFD back ends, BFD back ends
-@section What to Put Where
-All of BFD lives in one directory.
-
-@node aout, coff, What to Put Where, BFD back ends
-@include  aoutx.texi
-
-@node coff, elf, aout, BFD back ends
-@include  coffcode.texi
-
-@node elf, mmo, coff, BFD back ends
-@include  elf.texi
-@c Leave this out until the file has some actual contents...
-@c @include  elfcode.texi
-
-@node mmo,  , elf, BFD back ends
-@include  mmo.texi
-
-@node GNU Free Documentation License, BFD Index, BFD back ends, Top
-@include fdl.texi
-
-@node BFD Index,  , GNU Free Documentation License, Top
-@unnumbered BFD Index
-@printindex cp
-
-@tex
-% I think something like @@colophon should be in texinfo.  In the
-% meantime:
-\long\def\colophon{\hbox to0pt{}\vfill
-\centerline{The body of this manual is set in}
-\centerline{\fontname\tenrm,}
-\centerline{with headings in {\bf\fontname\tenbf}}
-\centerline{and examples in {\tt\fontname\tentt}.}
-\centerline{{\it\fontname\tenit\/} and}
-\centerline{{\sl\fontname\tensl\/}}
-\centerline{are used for emphasis.}\vfill}
-\page\colophon
-% Blame: doc@@cygnus.com, 28mar91.
-@end tex
-
-@bye
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfdt.texi ./bfd/doc/bfdt.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfdt.texi	2018-07-03 02:08:23.000000000 +0000
+++ ./bfd/doc/bfdt.texi	2018-07-10 02:08:10.000000000 +0000
@@ -49,8 +49,9 @@ struct bfd
      least-recently-used list of BFDs.  */
   struct bfd *lru_prev, *lru_next;
 
-  /* When a file is closed by the caching routines, BFD retains
-     state information on the file here...  */
+  /* Track current file position (or current buffer offset for
+     in-memory BFDs).  When a file is closed by the caching routines,
+     BFD retains state information on the file here.  */
   ufile_ptr where;
 
   /* File modified time, if mtime_set is TRUE.  */
@@ -279,21 +280,15 @@ struct bfd
     @{
       struct aout_data_struct *aout_data;
       struct artdata *aout_ar_data;
-      struct _oasys_data *oasys_obj_data;
-      struct _oasys_ar_data *oasys_ar_data;
       struct coff_tdata *coff_obj_data;
       struct pe_tdata *pe_obj_data;
       struct xcoff_tdata *xcoff_obj_data;
       struct ecoff_tdata *ecoff_obj_data;
-      struct ieee_data_struct *ieee_data;
-      struct ieee_ar_data_struct *ieee_ar_data;
       struct srec_data_struct *srec_data;
       struct verilog_data_struct *verilog_data;
       struct ihex_data_struct *ihex_data;
       struct tekhex_data_struct *tekhex_data;
       struct elf_obj_tdata *elf_obj_data;
-      struct nlm_obj_tdata *nlm_obj_data;
-      struct bout_data_struct *bout_data;
       struct mmo_data_struct *mmo_data;
       struct sun_core_struct *sun_core_data;
       struct sco5_core_struct *sco5_core_data;
@@ -453,6 +448,24 @@ The BFD error handler acts like vprintf.
 typedef void (*bfd_error_handler_type) (const char *, va_list);
 
 @end example
+@findex _bfd_error_handler
+@subsubsection @code{_bfd_error_handler}
+@strong{Synopsis}
+@example
+void _bfd_error_handler (const char *fmt, ...) ATTRIBUTE_PRINTF_1;
+@end example
+@strong{Description}@*
+This is the default routine to handle BFD error messages.
+Like fprintf (stderr, ...), but also handles some extra format
+specifiers.
+
+%pA section name from section.  For group components, prints
+group name too.
+%pB file name from bfd.  For archive components, prints
+archive too.
+
+Beware: Only supports a maximum of 9 format arguments.
+
 @findex bfd_set_error_handler
 @subsubsection @code{bfd_set_error_handler}
 @strong{Synopsis}
@@ -878,7 +891,7 @@ a no-op for other formats.
 @subsubsection @code{bfd_emul_get_commonpagesize}
 @strong{Synopsis}
 @example
-bfd_vma bfd_emul_get_commonpagesize (const char *);
+bfd_vma bfd_emul_get_commonpagesize (const char *, bfd_boolean);
 @end example
 @strong{Description}@*
 Returns the common page size, in bytes, as determined by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfdver.texi ./bfd/doc/bfdver.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/bfdver.texi	2018-07-03 02:08:23.000000000 +0000
+++ ./bfd/doc/bfdver.texi	2018-07-10 02:08:11.000000000 +0000
@@ -1,4 +1,4 @@
-@set VERSION 2.29.51
+@set VERSION 2.31.51
 @set VERSION_PACKAGE (GNU Binutils) 
 @set UPDATED July 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/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/coffcode.texi ./bfd/doc/coffcode.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/coffcode.texi	2018-07-03 02:08:23.000000000 +0000
+++ ./bfd/doc/coffcode.texi	2018-07-10 02:08:10.000000000 +0000
@@ -6,19 +6,14 @@ extra field.
 
 Coff in all its varieties is implemented with a few common
 files and a number of implementation specific files. For
-example, The 88k bcs coff format is implemented in the file
-@file{coff-m88k.c}. This file @code{#include}s
-@file{coff/m88k.h} which defines the external structure of the
-coff format for the 88k, and @file{coff/internal.h} which
-defines the internal structure. @file{coff-m88k.c} also
-defines the relocations used by the 88k format
+example, the i386 coff format is implemented in the file
+@file{coff-i386.c}.  This file @code{#include}s
+@file{coff/i386.h} which defines the external structure of the
+coff format for the i386, and @file{coff/internal.h} which
+defines the internal structure. @file{coff-i386.c} also
+defines the relocations used by the i386 coff format
 @xref{Relocations}.
 
-The Intel i960 processor version of coff is implemented in
-@file{coff-i960.c}. This file has the same structure as
-@file{coff-m88k.c}, except that it includes @file{coff/i960.h}
-rather than @file{coff-m88k.h}.
-
 @subsection Porting to a new version of coff
 The recommended method is to select from the existing
 implementations the version of coff which is most like the one
@@ -67,15 +62,6 @@ then include @file{coffcode.h}.
 Some of the Coff targets then also have additional routines in
 the target source file itself.
 
-For example, @file{coff-i960.c} includes
-@file{coff/internal.h} and @file{coff/i960.h}.  It then
-defines a few constants, such as @code{I960}, and includes
-@file{coffcode.h}.  Since the i960 has complex relocation
-types, @file{coff-i960.c} also includes some code to
-manipulate the i960 relocs.  This code is not in
-@file{coffcode.h} because it would not be used by any other
-target.
-
 @subsubsection Coff long section names
 In the standard Coff object format, section names are limited to
 the eight bytes available in the @code{s_name} field of the
@@ -689,8 +675,7 @@ routine and save the result if a canonic
 @item
 The reloc index is turned into a pointer to a howto
 structure, in a back end specific way. For instance, the 386
-and 960 use the @code{r_type} to directly produce an index
-into a howto table vector; the 88k subtracts a number from the
-@code{r_type} field and creates an addend field.
+uses the @code{r_type} to directly produce an index
+into a howto table vector.
 @end itemize
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/linker.texi ./bfd/doc/linker.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/linker.texi	2018-07-03 02:08:23.000000000 +0000
+++ ./bfd/doc/linker.texi	2018-07-10 02:08:11.000000000 +0000
@@ -393,6 +393,24 @@ Return TRUE on success and FALSE on fail
 
 @end example
 
+@findex _bfd_generic_link_hide_symbol
+@subsubsection @code{_bfd_generic_link_hide_symbol}
+@strong{Synopsis}
+@example
+void _bfd_generic_link_hide_symbol
+   (bfd *output_bfd, struct bfd_link_info *info,
+    struct bfd_link_hash_entry *h);
+@end example
+@strong{Description}@*
+Hide symbol @var{h}.
+This is an internal function.  It should not be called from
+outside the BFD library.
+@example
+#define bfd_link_hide_symbol(output_bfd, info, h) \
+       BFD_SEND (output_bfd, _bfd_link_hide_symbol, (output_bfd, info, h))
+
+@end example
+
 @findex bfd_generic_define_start_stop
 @subsubsection @code{bfd_generic_define_start_stop}
 @strong{Synopsis}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/Makefile.am ./bfd/doc/Makefile.am
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/Makefile.am	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/doc/Makefile.am	2018-07-10 02:06:11.000000000 +0000
@@ -17,7 +17,7 @@
 # <http://www.gnu.org/licenses/>.
 #
 
-AUTOMAKE_OPTIONS = 1.9 cygnus
+AUTOMAKE_OPTIONS = info-in-builddir no-texinfo.tex foreign
 
 DOCFILES = aoutx.texi  archive.texi archures.texi \
 	bfdt.texi  cache.texi coffcode.texi \
@@ -68,7 +68,7 @@ SRCIPROT = $(srcdir)/../cache.c $(srcdir
 
 TEXIDIR = $(srcdir)/../../texinfo/fsf
 
-info_TEXINFOS = bfd.texinfo
+info_TEXINFOS = bfd.texi
 bfd_TEXINFOS = $(DOCFILES) bfdsumm.texi
 
 MKDOC = chew$(EXEEXT_FOR_BUILD)
@@ -116,7 +116,7 @@ archures.stamp: $(srcdir)/../archures.c 
 	touch $@
 
 # We use bfdt.texi, rather than bfd.texi, to avoid conflicting with
-# bfd.texinfo on an 8.3 filesystem.
+# bfd.texi on an 8.3 filesystem.
 bfdt.texi: bfdt.stamp ; @true
 bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
@@ -277,6 +277,7 @@ libbfd.h: $(LIBBFD_H_DEP)
 	echo "#ifdef __cplusplus" >> $@
 	echo "}" >> $@
 	echo "#endif" >> $@
+	echo "#endif" >> $@
 
 LIBCOFF_H_DEP = \
 	$(srcdir)/../libcoff-in.h	\
@@ -299,6 +300,7 @@ libcoff.h: $(LIBCOFF_H_DEP)
 	echo "#ifdef __cplusplus" >> $@
 	echo "}" >> $@
 	echo "#endif" >> $@
+	echo "#endif" >> $@
 
 BFD_H_DEP = \
 	$(srcdir)/../bfd-in.h 		\
@@ -366,10 +368,3 @@ MAINTAINERCLEANFILES = $(DOCFILES)
 install: install-info
 
 MAINTAINERCLEANFILES += bfd.info
-
-# Automake 1.9 will only build info files in the objdir if they are
-# mentioned in DISTCLEANFILES.  It doesn't have to be unconditional,
-# though, so we use a bogus condition.
-if GENINSRC_NEVER
-DISTCLEANFILES += bfd.info
-endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/Makefile.in ./bfd/doc/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/Makefile.in	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/doc/Makefile.in	2018-07-10 02:06:11.000000000 +0000
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -33,23 +32,61 @@
 # <http://www.gnu.org/licenses/>.
 #
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -69,14 +106,7 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-
-# Automake 1.9 will only build info files in the objdir if they are
-# mentioned in DISTCLEANFILES.  It doesn't have to be unconditional,
-# though, so we use a bogus condition.
-@GENINSRC_NEVER_TRUE@am__append_1 = bfd.info
 subdir = doc
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(bfd_TEXINFOS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
 	$(top_srcdir)/../config/depstand.m4 \
@@ -97,26 +127,61 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-depcomp =
-am__depfiles_maybe =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
+DIST_SOURCES =
+AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
+am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
+am__v_DVIPS_0 = @echo "  DVIPS   " $@;
+am__v_DVIPS_1 = 
+AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@)
+am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@)
+am__v_MAKEINFO_0 = @echo "  MAKEINFO" $@;
+am__v_MAKEINFO_1 = 
+AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@)
+am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@)
+am__v_INFOHTML_0 = @echo "  INFOHTML" $@;
+am__v_INFOHTML_1 = 
+AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@)
+am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@)
+am__v_TEXI2DVI_0 = @echo "  TEXI2DVI" $@;
+am__v_TEXI2DVI_1 = 
+AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@)
+am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@)
+am__v_TEXI2PDF_0 = @echo "  TEXI2PDF" $@;
+am__v_TEXI2PDF_1 = 
+AM_V_texinfo = $(am__v_texinfo_@AM_V@)
+am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@)
+am__v_texinfo_0 = -q
+am__v_texinfo_1 = 
+AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
+am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
+am__v_texidevnull_0 = > /dev/null
+am__v_texidevnull_1 = 
 INFO_DEPS = bfd.info
-TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex
-am__TEXINFO_TEX_DIR = $(top_srcdir)/../texinfo
+am__TEXINFO_TEX_DIR = $(srcdir)
 DVIS = bfd.dvi
 PDFS = bfd.pdf
 PSS = bfd.ps
 HTMLS = bfd.html
-TEXINFOS = bfd.texinfo
-TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then \
-             echo $(top_srcdir)/../texinfo/util/texi2dvi; \
-           else \
-             echo texi2dvi; \
-           fi`
+TEXINFOS = bfd.texi
+TEXI2DVI = texi2dvi
 TEXI2PDF = $(TEXI2DVI) --pdf --batch
 MAKEINFOHTML = $(MAKEINFO) --html
 AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
@@ -126,6 +191,7 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
+am__installdirs = "$(DESTDIR)$(infodir)"
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -153,8 +219,13 @@ am__uninstall_files_from_dir = { \
     || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
          $(am__cd) "$$dir" && rm -f $$files; }; \
   }
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(bfd_TEXINFOS) $(srcdir)/Makefile.in \
+	$(top_srcdir)/../mkinstalldirs
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -322,7 +393,7 @@ top_srcdir = @top_srcdir@
 wordsize = @wordsize@
 zlibdir = @zlibdir@
 zlibinc = @zlibinc@
-AUTOMAKE_OPTIONS = 1.9 cygnus
+AUTOMAKE_OPTIONS = info-in-builddir no-texinfo.tex foreign
 DOCFILES = aoutx.texi  archive.texi archures.texi \
 	bfdt.texi  cache.texi coffcode.texi \
 	core.texi elf.texi elfcode.texi  format.texi \
@@ -371,7 +442,7 @@ SRCIPROT = $(srcdir)/../cache.c $(srcdir
 	$(srcdir)/../init.c
 
 TEXIDIR = $(srcdir)/../../texinfo/fsf
-info_TEXINFOS = bfd.texinfo
+info_TEXINFOS = bfd.texi
 bfd_TEXINFOS = $(DOCFILES) bfdsumm.texi
 MKDOC = chew$(EXEEXT_FOR_BUILD)
 AM_CPPFLAGS = -I.. -I$(srcdir)/.. -I$(srcdir)/../../include \
@@ -424,8 +495,7 @@ BFD_H_DEP = \
 noinst_TEXINFOS = bfdint.texi
 MOSTLYCLEANFILES = $(MKDOC) *.o *.stamp
 CLEANFILES = *.p *.ip
-DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log \
-	$(am__append_1)
+DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log
 MAINTAINERCLEANFILES = $(DOCFILES) bfd.info
 all: all-am
 
@@ -443,7 +513,6 @@ all: all-am
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign doc/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -468,8 +537,8 @@ mostlyclean-libtool:
 clean-libtool:
 	-rm -rf .libs _libs
 
-bfd.info: bfd.texinfo $(bfd_TEXINFOS)
-	restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+bfd.info: bfd.texi $(bfd_TEXINFOS)
+	$(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
 	rm -rf $$backupdir && mkdir $$backupdir && \
 	if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
 	  for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
@@ -477,7 +546,7 @@ bfd.info: bfd.texinfo $(bfd_TEXINFOS)
 	  done; \
 	else :; fi && \
 	if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-	 -o $@ `test -f 'bfd.texinfo' || echo '$(srcdir)/'`bfd.texinfo; \
+	 -o $@ `test -f 'bfd.texi' || echo '$(srcdir)/'`bfd.texi; \
 	then \
 	  rc=0; \
 	else \
@@ -486,32 +555,30 @@ bfd.info: bfd.texinfo $(bfd_TEXINFOS)
 	fi; \
 	rm -rf $$backupdir; exit $$rc
 
-bfd.dvi: bfd.texinfo $(bfd_TEXINFOS) 
-	TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+bfd.dvi: bfd.texi $(bfd_TEXINFOS) 
+	$(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
 	MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
-	$(TEXI2DVI) -o $@ `test -f 'bfd.texinfo' || echo '$(srcdir)/'`bfd.texinfo
+	$(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
+	`test -f 'bfd.texi' || echo '$(srcdir)/'`bfd.texi
 
-bfd.pdf: bfd.texinfo $(bfd_TEXINFOS) 
-	TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+bfd.pdf: bfd.texi $(bfd_TEXINFOS) 
+	$(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
 	MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
-	$(TEXI2PDF) -o $@ `test -f 'bfd.texinfo' || echo '$(srcdir)/'`bfd.texinfo
+	$(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
+	`test -f 'bfd.texi' || echo '$(srcdir)/'`bfd.texi
 
-bfd.html: bfd.texinfo $(bfd_TEXINFOS) 
-	rm -rf $(@:.html=.htp)
-	if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-	 -o $(@:.html=.htp) `test -f 'bfd.texinfo' || echo '$(srcdir)/'`bfd.texinfo; \
+bfd.html: bfd.texi $(bfd_TEXINFOS) 
+	$(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
+	$(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+	 -o $(@:.html=.htp) `test -f 'bfd.texi' || echo '$(srcdir)/'`bfd.texi; \
 	then \
-	  rm -rf $@; \
-	  if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-	    mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+	  rm -rf $@ && mv $(@:.html=.htp) $@; \
 	else \
-	  if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-	    rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
-	  exit 1; \
+	  rm -rf $(@:.html=.htp); exit 1; \
 	fi
 .dvi.ps:
-	TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-	$(DVIPS) -o $@ $<
+	$(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+	$(DVIPS) $(AM_V_texinfo) -o $@ $<
 
 uninstall-dvi-am:
 	@$(NORMAL_UNINSTALL)
@@ -590,8 +657,7 @@ dist-info: $(INFO_DEPS)
 	done
 
 mostlyclean-aminfo:
-	-rm -rf bfd.aux bfd.cp bfd.cps bfd.fn bfd.ky bfd.kys bfd.log bfd.pg bfd.pgs \
-	  bfd.tmp bfd.toc bfd.tp bfd.tps bfd.vr bfd.vrs
+	-rm -rf bfd.t2d bfd.t2p
 
 clean-aminfo:
 	-test -z "bfd.dvi bfd.pdf bfd.ps bfd.html" \
@@ -603,18 +669,53 @@ maintainer-clean-aminfo:
 	  echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
 	  rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
 	done
+tags TAGS:
+
+ctags CTAGS:
 
-clean-info: mostlyclean-aminfo clean-aminfo
-tags: TAGS
-TAGS:
+cscope cscopelist:
 
-ctags: CTAGS
-CTAGS:
 
-check-am:
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-info
+check-am: all-am
 check: check-am
-all-am: Makefile
+all-am: Makefile $(INFO_DEPS)
 installdirs:
+	for dir in "$(DESTDIR)$(infodir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
 install-exec: install-exec-am
 install-data: install-data-am
 uninstall: uninstall-am
@@ -668,7 +769,7 @@ info: info-am
 
 info-am: $(INFO_DEPS)
 
-install-data-am:
+install-data-am: install-info-am
 
 install-dvi: install-dvi-am
 
@@ -811,18 +912,21 @@ uninstall-am: uninstall-dvi-am uninstall
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-aminfo clean-generic \
-	clean-info clean-libtool dist-info distclean distclean-generic \
-	distclean-libtool dvi dvi-am html html-am info info-am install \
-	install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-aminfo \
-	maintainer-clean-generic mostlyclean mostlyclean-aminfo \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
-	uninstall-info-am uninstall-pdf-am uninstall-ps-am
+	clean-libtool cscopelist-am ctags-am dist-info distclean \
+	distclean-generic distclean-libtool distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
+	mostlyclean-aminfo mostlyclean-generic mostlyclean-libtool pdf \
+	pdf-am ps ps-am tags-am uninstall uninstall-am \
+	uninstall-dvi-am uninstall-html-am uninstall-info-am \
+	uninstall-pdf-am uninstall-ps-am
+
+.PRECIOUS: Makefile
 
 
 $(MKDOC): chew.stamp ; @true
@@ -865,7 +969,7 @@ archures.stamp: $(srcdir)/../archures.c 
 	touch $@
 
 # We use bfdt.texi, rather than bfd.texi, to avoid conflicting with
-# bfd.texinfo on an 8.3 filesystem.
+# bfd.texi on an 8.3 filesystem.
 bfdt.texi: bfdt.stamp ; @true
 bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
@@ -1013,6 +1117,7 @@ libbfd.h: $(LIBBFD_H_DEP)
 	echo "#ifdef __cplusplus" >> $@
 	echo "}" >> $@
 	echo "#endif" >> $@
+	echo "#endif" >> $@
 
 libcoff.h: $(LIBCOFF_H_DEP)
 	echo "$(LIBCOFF_H_DEP)" | sed -f $(srcdir)/header.sed > $@
@@ -1028,6 +1133,7 @@ libcoff.h: $(LIBCOFF_H_DEP)
 	echo "#ifdef __cplusplus" >> $@
 	echo "}" >> $@
 	echo "#endif" >> $@
+	echo "#endif" >> $@
 
 bfd.h: $(BFD_H_DEP)
 	echo "$(BFD_H_DEP)" | sed -f $(srcdir)/header.sed > $@
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/reloc.texi ./bfd/doc/reloc.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/reloc.texi	2018-07-03 02:08:23.000000000 +0000
+++ ./bfd/doc/reloc.texi	2018-07-10 02:08:11.000000000 +0000
@@ -49,10 +49,9 @@ typedef enum bfd_reloc_status
   /* The symbol to relocate against was undefined.  */
   bfd_reloc_undefined,
 
-  /* The relocation was performed, but may not be ok - presently
-     generated only when linking i960 coff files with i960 b.out
-     symbols.  If this type is returned, the error_message argument
-     to bfd_perform_relocation will be set.  */
+  /* The relocation was performed, but may not be ok.  If this type is
+     returned, the error_message argument to bfd_perform_relocation
+     will be set.  */
   bfd_reloc_dangerous
  @}
  bfd_reloc_status_type;
@@ -295,8 +294,7 @@ struct reloc_howto_struct
 
   /* If this field is non null, then the supplied function is
      called rather than the normal function.  This allows really
-     strange relocation methods to be accommodated (e.g., i960 callj
-     instructions).  */
+     strange relocation methods to be accommodated.  */
   bfd_reloc_status_type (*special_function)
     (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
      bfd *, char **);
@@ -340,7 +338,7 @@ struct reloc_howto_struct
      slot of the instruction, so that a PC relative relocation can
      be made just by adding in an ordinary offset (e.g., sun3 a.out).
      Some formats leave the displacement part of an instruction
-     empty (e.g., m88k bcs); this flag signals the fact.  */
+     empty (e.g., ELF); this flag signals the fact.  */
   bfd_boolean pcrel_offset;
 @};
 
@@ -536,8 +534,6 @@ Basic absolute relocations of N bits.
 PC-relative relocations.  Sometimes these are relative to the address
 of the relocation itself; sometimes they are relative to the start of
 the section containing the relocation.  It depends on the specific target.
-
-The 24-bit relocation is used in some Intel 960 configurations.
 @end deffn
 @deffn {} BFD_RELOC_32_SECREL
 Section relative relocations.  Some targets need this for DWARF2.
@@ -623,9 +619,6 @@ displacements off that register.  These 
 handled specially, because the value the register will have is
 decided relatively late.
 @end deffn
-@deffn {} BFD_RELOC_I960_CALLJ
-Reloc types used for i960/b.out.
-@end deffn
 @deffn {} BFD_RELOC_NONE
 @deffnx {} BFD_RELOC_SPARC_WDISP22
 @deffnx {} BFD_RELOC_SPARC22
@@ -1373,6 +1366,15 @@ pc-relative or some form of GOT-indirect
 @deffnx {} BFD_RELOC_ARM_THUMB_MOVT_PCREL
 Low and High halfword relocations for MOVW and MOVT instructions.
 @end deffn
+@deffn {} BFD_RELOC_ARM_GOTFUNCDESC
+@deffnx {} BFD_RELOC_ARM_GOTOFFFUNCDESC
+@deffnx {} BFD_RELOC_ARM_FUNCDESC
+@deffnx {} BFD_RELOC_ARM_FUNCDESC_VALUE
+@deffnx {} BFD_RELOC_ARM_TLS_GD32_FDPIC
+@deffnx {} BFD_RELOC_ARM_TLS_LDM32_FDPIC
+@deffnx {} BFD_RELOC_ARM_TLS_IE32_FDPIC
+ARM FDPIC specific relocations.
+@end deffn
 @deffn {} BFD_RELOC_ARM_JUMP_SLOT
 @deffnx {} BFD_RELOC_ARM_GLOB_DAT
 @deffnx {} BFD_RELOC_ARM_GOT32
@@ -3089,6 +3091,11 @@ Motorola 68HC12/XGATE reloc.
 This is the 8 bit high part of an absolute address and immediately follows
 a matching LO8XG part.
 @end deffn
+@deffn {} BFD_RELOC_S12Z_15_PCREL
+Freescale S12Z reloc.
+This is a 15 bit relative address.  If the most significant bits are all zero
+then it may be truncated to 8 bits.
+@end deffn
 @deffn {} BFD_RELOC_16C_NUM08
 @deffnx {} BFD_RELOC_16C_NUM08_C
 @deffnx {} BFD_RELOC_16C_NUM16
@@ -3242,40 +3249,6 @@ Relocs used in ELF shared libraries for 
 @deffnx {} BFD_RELOC_CRIS_32_IE
 Relocs used in TLS code for CRIS.
 @end deffn
-@deffn {} BFD_RELOC_860_COPY
-@deffnx {} BFD_RELOC_860_GLOB_DAT
-@deffnx {} BFD_RELOC_860_JUMP_SLOT
-@deffnx {} BFD_RELOC_860_RELATIVE
-@deffnx {} BFD_RELOC_860_PC26
-@deffnx {} BFD_RELOC_860_PLT26
-@deffnx {} BFD_RELOC_860_PC16
-@deffnx {} BFD_RELOC_860_LOW0
-@deffnx {} BFD_RELOC_860_SPLIT0
-@deffnx {} BFD_RELOC_860_LOW1
-@deffnx {} BFD_RELOC_860_SPLIT1
-@deffnx {} BFD_RELOC_860_LOW2
-@deffnx {} BFD_RELOC_860_SPLIT2
-@deffnx {} BFD_RELOC_860_LOW3
-@deffnx {} BFD_RELOC_860_LOGOT0
-@deffnx {} BFD_RELOC_860_SPGOT0
-@deffnx {} BFD_RELOC_860_LOGOT1
-@deffnx {} BFD_RELOC_860_SPGOT1
-@deffnx {} BFD_RELOC_860_LOGOTOFF0
-@deffnx {} BFD_RELOC_860_SPGOTOFF0
-@deffnx {} BFD_RELOC_860_LOGOTOFF1
-@deffnx {} BFD_RELOC_860_SPGOTOFF1
-@deffnx {} BFD_RELOC_860_LOGOTOFF2
-@deffnx {} BFD_RELOC_860_LOGOTOFF3
-@deffnx {} BFD_RELOC_860_LOPC
-@deffnx {} BFD_RELOC_860_HIGHADJ
-@deffnx {} BFD_RELOC_860_HAGOT
-@deffnx {} BFD_RELOC_860_HAGOTOFF
-@deffnx {} BFD_RELOC_860_HAPC
-@deffnx {} BFD_RELOC_860_HIGH
-@deffnx {} BFD_RELOC_860_HIGOT
-@deffnx {} BFD_RELOC_860_HIGOTOFF
-Intel i860 Relocations.
-@end deffn
 @deffn {} BFD_RELOC_OR1K_REL_26
 @deffnx {} BFD_RELOC_OR1K_GOTPC_HI16
 @deffnx {} BFD_RELOC_OR1K_GOTPC_LO16
@@ -3614,6 +3587,9 @@ Same as BFD_RELOC_32_PCREL but with an i
 @deffn {} BFD_RELOC_MACH_O_X86_64_PCREL32_4
 Same as BFD_RELOC_32_PCREL but with an implicit -4 addend.
 @end deffn
+@deffn {} BFD_RELOC_MACH_O_X86_64_TLV
+Used when referencing a TLV entry.
+@end deffn
 @deffn {} BFD_RELOC_MACH_O_ARM64_ADDEND
 Addend for PAGE or PAGEOFF.
 @end deffn
@@ -3710,6 +3686,16 @@ to two words (uses imm instruction).
 This is a 64 bit reloc that stores 32-bit thread pointer relative offset
 to two words (uses imm instruction).
 @end deffn
+@deffn {} BFD_RELOC_MICROBLAZE_64_TEXTPCREL
+This is a 64 bit reloc that stores the 32 bit pc relative
+value in two words (with an imm instruction).  The relocation is
+PC-relative offset from start of TEXT.
+@end deffn
+@deffn {} BFD_RELOC_MICROBLAZE_64_TEXTREL
+This is a 64 bit reloc that stores the 32 bit offset
+value in two words (with an imm instruction).  The relocation is
+relative offset from start of TEXT.
+@end deffn
 @deffn {} BFD_RELOC_AARCH64_RELOC_START
 AArch64 pseudo relocation code to mark the start of the AArch64
 relocation enumerators.  N.B. the order of the enumerators is
@@ -3778,6 +3764,36 @@ AArch64 MOV[NZ] instruction with most si
 of a signed value.  Changes instruction to MOVZ or MOVN depending on the
 value's sign.
 @end deffn
+@deffn {} BFD_RELOC_AARCH64_MOVW_PREL_G0
+AArch64 MOV[NZ] instruction with most significant bits 0 to 15
+of a signed value.  Changes instruction to MOVZ or MOVN depending on the
+value's sign.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_MOVW_PREL_G0_NC
+AArch64 MOV[NZ] instruction with most significant bits 0 to 15
+of a signed value.  Changes instruction to MOVZ or MOVN depending on the
+value's sign.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_MOVW_PREL_G1
+AArch64 MOVK instruction with most significant bits 16 to 31
+of a signed value.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_MOVW_PREL_G1_NC
+AArch64 MOVK instruction with most significant bits 16 to 31
+of a signed value.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_MOVW_PREL_G2
+AArch64 MOVK instruction with most significant bits 32 to 47
+of a signed value.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_MOVW_PREL_G2_NC
+AArch64 MOVK instruction with most significant bits 32 to 47
+of a signed value.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_MOVW_PREL_G3
+AArch64 MOVK instruction with most significant bits 47 to 63
+of a signed value.
+@end deffn
 @deffn {} BFD_RELOC_AARCH64_LD_LO19_PCREL
 AArch64 Load Literal instruction, holding a 19 bit pc-relative word
 offset.  The lowest two bits must be zero and are not stored in the
@@ -4005,6 +4021,34 @@ AArch64 TLS LOCAL EXEC relocation.
 @deffn {} BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC
 AArch64 TLS LOCAL EXEC relocation.
 @end deffn
+@deffn {} BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12
+bit[11:1] of byte offset to module TLS base address, encoded in ldst
+instructions.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC
+Similar as BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, but no overflow check.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12
+bit[11:2] of byte offset to module TLS base address, encoded in ldst
+instructions.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC
+Similar as BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, but no overflow check.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12
+bit[11:3] of byte offset to module TLS base address, encoded in ldst
+instructions.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC
+Similar as BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, but no overflow check.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12
+bit[11:0] of byte offset to module TLS base address, encoded in ldst
+instructions.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC
+Similar as BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, but no overflow check.
+@end deffn
 @deffn {} BFD_RELOC_AARCH64_TLSDESC_LD_PREL19
 AArch64 TLS DESC relocation.
 @end deffn
@@ -4088,6 +4132,14 @@ any object files.
 @deffn {} BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC
 Similar as BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12, but no overflow check.
 @end deffn
+@deffn {} BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12
+AArch64 pseudo relocation code for TLS local exec mode.  It's to be
+used internally by the AArch64 assembler and not (currently) written to
+any object files.
+@end deffn
+@deffn {} BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC
+Similar as BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12, but no overflow check.
+@end deffn
 @deffn {} BFD_RELOC_AARCH64_LD_GOT_LO12_NC
 AArch64 pseudo relocation code to be used internally by the AArch64
 assembler and not (currently) written to any object files.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/section.texi ./bfd/doc/section.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/section.texi	2018-07-03 02:08:23.000000000 +0000
+++ ./bfd/doc/section.texi	2018-07-10 02:08:11.000000000 +0000
@@ -38,10 +38,7 @@ the section descriptor is created. Some 
 data in place until a @code{bfd_get_section_contents} call is
 made. Other back ends may read in all the data at once.  For
 example, an S-record file has to be read once to determine the
-size of the data. An IEEE-695 file doesn't contain raw data in
-sections, but data and relocation expressions intermixed, so
-the data area has to be parsed to get out the data and
-relocations.
+size of the data.
 
 @node Section Output, typedef asection, Section Input, Sections
 @subsection Section output
@@ -180,13 +177,10 @@ typedef struct bfd_section
   /* The section contains thread local data.  */
 #define SEC_THREAD_LOCAL                0x400
 
-  /* The section has GOT references.  This flag is only for the
-     linker, and is currently only used by the elf32-hppa back end.
-     It will be set if global offset table references were detected
-     in this section, which indicate to the linker that the section
-     contains PIC code, and must be handled specially when doing a
-     static link.  */
-#define SEC_HAS_GOT_REF                 0x800
+  /* The section's size is fixed.  Generic linker code will not
+     recalculate it and it is up to whoever has set this flag to
+     get the size right.  */
+#define SEC_FIXED_SIZE                  0x800
 
   /* The section contains common symbols (symbols may be defined
      multiple times, the value of a symbol is the amount of
@@ -892,15 +886,6 @@ bfd_set_error ()) without changing the s
 section named @var{name}.  If there is an error, return @code{NULL} and set
 @code{bfd_error}.
 
-@findex bfd_get_next_section_id
-@subsubsection @code{bfd_get_next_section_id}
-@strong{Synopsis}
-@example
-int bfd_get_next_section_id (void);
-@end example
-@strong{Description}@*
-Returns the id that the next section created will have.
-
 @findex bfd_set_section_flags
 @subsubsection @code{bfd_set_section_flags}
 @strong{Synopsis}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/targets.texi ./bfd/doc/targets.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/doc/targets.texi	2018-07-03 02:08:23.000000000 +0000
+++ ./bfd/doc/targets.texi	2018-07-10 02:08:11.000000000 +0000
@@ -121,9 +121,6 @@ enum bfd_flavour
   bfd_target_ecoff_flavour,
   bfd_target_xcoff_flavour,
   bfd_target_elf_flavour,
-  bfd_target_ieee_flavour,
-  bfd_target_nlm_flavour,
-  bfd_target_oasys_flavour,
   bfd_target_tekhex_flavour,
   bfd_target_srec_flavour,
   bfd_target_verilog_flavour,
@@ -440,6 +437,7 @@ BFD_JUMP_TABLE macros.
   NAME##_bfd_discard_group, \
   NAME##_section_already_linked, \
   NAME##_bfd_define_common_symbol, \
+  NAME##_bfd_link_hide_symbol, \
   NAME##_bfd_define_start_stop
 
   int         (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
@@ -506,6 +504,10 @@ BFD_JUMP_TABLE macros.
   bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
                                             struct bfd_link_hash_entry *);
 
+  /* Hide a symbol.  */
+  void (*_bfd_link_hide_symbol) (bfd *, struct bfd_link_info *,
+                                 struct bfd_link_hash_entry *);
+
   /* Define a __start, __stop, .startof. or .sizeof. symbol.  */
   struct bfd_link_hash_entry *
               (*_bfd_define_start_stop) (struct bfd_link_info *, const char *,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/dwarf1.c ./bfd/dwarf1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/dwarf1.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/dwarf1.c	2018-07-10 02:06:11.000000000 +0000
@@ -213,6 +213,7 @@ parse_die (bfd *	     abfd,
   /* Then the attributes.  */
   while (xptr + 2 <= aDiePtrEnd)
     {
+      unsigned int   block_len;
       unsigned short attr;
 
       /* Parse the attribute based on its form.  This section
@@ -255,12 +256,24 @@ parse_die (bfd *	     abfd,
 	  break;
 	case FORM_BLOCK2:
 	  if (xptr + 2 <= aDiePtrEnd)
-	    xptr += bfd_get_16 (abfd, xptr);
+	    {
+	      block_len = bfd_get_16 (abfd, xptr);
+	      if (xptr + block_len > aDiePtrEnd
+		  || xptr + block_len < xptr)
+		return FALSE;
+	      xptr += block_len;
+	    }
 	  xptr += 2;
 	  break;
 	case FORM_BLOCK4:
 	  if (xptr + 4 <= aDiePtrEnd)
-	    xptr += bfd_get_32 (abfd, xptr);
+	    {
+	      block_len = bfd_get_32 (abfd, xptr);
+	      if (xptr + block_len > aDiePtrEnd
+		  || xptr + block_len < xptr)
+		return FALSE;
+	      xptr += block_len;
+	    }
 	  xptr += 4;
 	  break;
 	case FORM_STRING:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/dwarf2.c ./bfd/dwarf2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/dwarf2.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/dwarf2.c	2018-07-10 02:06:11.000000000 +0000
@@ -540,7 +540,7 @@ read_section (bfd *	      abfd,
 	}
       if (! msec)
 	{
-	  _bfd_error_handler (_("Dwarf Error: Can't find %s section."),
+	  _bfd_error_handler (_("DWARF error: can't find %s section."),
 			      sec->uncompressed_name);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -569,9 +569,10 @@ read_section (bfd *	      abfd,
   if (offset != 0 && offset >= *section_size)
     {
       /* xgettext: c-format */
-      _bfd_error_handler (_("Dwarf Error: Offset (%llu)"
-			    " greater than or equal to %s size (%Lu)."),
-			  (long long) offset, section_name, *section_size);
+      _bfd_error_handler (_("DWARF error: offset (%" PRIu64 ")"
+			    " greater than or equal to %s size (%" PRIu64 ")"),
+			  (uint64_t) offset, section_name,
+			  (uint64_t) *section_size);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
     }
@@ -622,14 +623,24 @@ read_8_bytes (bfd *abfd, bfd_byte *buf, 
 }
 
 static bfd_byte *
-read_n_bytes (bfd *abfd ATTRIBUTE_UNUSED,
-	      bfd_byte *buf,
-	      bfd_byte *end,
-	      unsigned int size ATTRIBUTE_UNUSED)
-{
-  if (buf + size > end)
-    return NULL;
-  return buf;
+read_n_bytes (bfd_byte *           buf,
+	      bfd_byte *           end,
+	      struct dwarf_block * block)
+{
+  unsigned int  size = block->size;
+  bfd_byte *    block_end = buf + size;
+
+  if (block_end > end || block_end < buf)
+    {
+      block->data = NULL;
+      block->size = 0;
+      return end;
+    }
+  else
+    {
+      block->data = buf;
+      return block_end;
+    }
 }
 
 /* Scans a NUL terminated string starting at BUF, returning a pointer to it.
@@ -1086,7 +1097,7 @@ read_attribute_value (struct attribute *
 
   if (info_ptr >= info_ptr_end && form != DW_FORM_flag_present)
     {
-      _bfd_error_handler (_("Dwarf Error: Info pointer extends beyond end of attributes"));
+      _bfd_error_handler (_("DWARF error: info pointer extends beyond end of attributes"));
       bfd_set_error (bfd_error_bad_value);
       return info_ptr;
     }
@@ -1127,8 +1138,7 @@ read_attribute_value (struct attribute *
 	return NULL;
       blk->size = read_2_bytes (abfd, info_ptr, info_ptr_end);
       info_ptr += 2;
-      blk->data = read_n_bytes (abfd, info_ptr, info_ptr_end, blk->size);
-      info_ptr += blk->size;
+      info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk);
       attr->u.blk = blk;
       break;
     case DW_FORM_block4:
@@ -1138,8 +1148,7 @@ read_attribute_value (struct attribute *
 	return NULL;
       blk->size = read_4_bytes (abfd, info_ptr, info_ptr_end);
       info_ptr += 4;
-      blk->data = read_n_bytes (abfd, info_ptr, info_ptr_end, blk->size);
-      info_ptr += blk->size;
+      info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk);
       attr->u.blk = blk;
       break;
     case DW_FORM_data2:
@@ -1179,8 +1188,7 @@ read_attribute_value (struct attribute *
       blk->size = _bfd_safe_read_leb128 (abfd, info_ptr, &bytes_read,
 					 FALSE, info_ptr_end);
       info_ptr += bytes_read;
-      blk->data = read_n_bytes (abfd, info_ptr, info_ptr_end, blk->size);
-      info_ptr += blk->size;
+      info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk);
       attr->u.blk = blk;
       break;
     case DW_FORM_block1:
@@ -1190,8 +1198,7 @@ read_attribute_value (struct attribute *
 	return NULL;
       blk->size = read_1_byte (abfd, info_ptr, info_ptr_end);
       info_ptr += 1;
-      blk->data = read_n_bytes (abfd, info_ptr, info_ptr_end, blk->size);
-      info_ptr += blk->size;
+      info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk);
       attr->u.blk = blk;
       break;
     case DW_FORM_data1:
@@ -1258,7 +1265,7 @@ read_attribute_value (struct attribute *
       attr->u.sval = implicit_const;
       break;
     default:
-      _bfd_error_handler (_("Dwarf Error: Invalid or unhandled FORM value: %#x."),
+      _bfd_error_handler (_("DWARF error: invalid or unhandled FORM value: %#x"),
 			  form);
       bfd_set_error (bfd_error_bad_value);
       return NULL;
@@ -1559,12 +1566,12 @@ concat_filename (struct line_info_table 
 {
   char *filename;
 
-  if (file - 1 >= table->num_files)
+  if (table == NULL || file - 1 >= table->num_files)
     {
       /* FILE == 0 means unknown.  */
       if (file)
 	_bfd_error_handler
-	  (_("Dwarf Error: mangled line number section (bad file number)."));
+	  (_("DWARF error: mangled line number section (bad file number)"));
       return strdup ("<unknown>");
     }
 
@@ -1909,7 +1916,7 @@ read_formatted_entries (struct comp_unit
   buf += bytes_read;
   if (format_count == 0 && data_count != 0)
     {
-      _bfd_error_handler (_("Dwarf Error: Zero format count."));
+      _bfd_error_handler (_("DWARF error: zero format count"));
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
     }
@@ -1918,8 +1925,9 @@ read_formatted_entries (struct comp_unit
      if we know that we are going to run out of buffer.  */
   if (data_count > (bfd_vma) (buf_end - buf))
     {
-      _bfd_error_handler (_("Dwarf Error: data count (%Lx) larger than buffer size."),
-			  data_count);
+      _bfd_error_handler
+	(_("DWARF error: data count (%" PRIx64 ") larger than buffer size"),
+	 (uint64_t) data_count);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
     }
@@ -1959,8 +1967,8 @@ read_formatted_entries (struct comp_unit
 	      break;
 	    default:
 	      _bfd_error_handler
-		(_("Dwarf Error: Unknown format content type %Lu."),
-		 content_type);
+		(_("DWARF error: unknown format content type %" PRIu64),
+		 (uint64_t) content_type);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -2039,8 +2047,8 @@ decode_line_info (struct comp_unit *unit
   if (stash->dwarf_line_size < 16)
     {
       _bfd_error_handler
-	(_("Dwarf Error: Line info section is too small (%Ld)"),
-	 stash->dwarf_line_size);
+	(_("DWARF error: line info section is too small (%" PRId64 ")"),
+	 (int64_t) stash->dwarf_line_size);
       bfd_set_error (bfd_error_bad_value);
       return NULL;
     }
@@ -2069,9 +2077,9 @@ decode_line_info (struct comp_unit *unit
     {
       _bfd_error_handler
 	/* xgettext: c-format */
-	(_("Dwarf Error: Line info data is bigger (%#Lx)"
+	(_("DWARF error: line info data is bigger (%#" PRIx64 ")"
 	   " than the space remaining in the section (%#lx)"),
-	 lh.total_length, (unsigned long) (line_end - line_ptr));
+	 (uint64_t) lh.total_length, (unsigned long) (line_end - line_ptr));
       bfd_set_error (bfd_error_bad_value);
       return NULL;
     }
@@ -2082,7 +2090,7 @@ decode_line_info (struct comp_unit *unit
   if (lh.version < 2 || lh.version > 5)
     {
       _bfd_error_handler
-	(_("Dwarf Error: Unhandled .debug_line version %d."), lh.version);
+	(_("DWARF error: unhandled .debug_line version %d"), lh.version);
       bfd_set_error (bfd_error_bad_value);
       return NULL;
     }
@@ -2092,7 +2100,7 @@ decode_line_info (struct comp_unit *unit
       >= line_end)
     {
       _bfd_error_handler
-	(_("Dwarf Error: Ran out of room reading prologue"));
+	(_("DWARF error: ran out of room reading prologue"));
       bfd_set_error (bfd_error_bad_value);
       return NULL;
     }
@@ -2110,7 +2118,7 @@ decode_line_info (struct comp_unit *unit
       if (segment_selector_size != 0)
 	{
 	  _bfd_error_handler
-	    (_("Dwarf Error: Line info unsupported segment selector size %u."),
+	    (_("DWARF error: line info unsupported segment selector size %u"),
 	     segment_selector_size);
 	  bfd_set_error (bfd_error_bad_value);
 	  return NULL;
@@ -2137,7 +2145,7 @@ decode_line_info (struct comp_unit *unit
   if (lh.maximum_ops_per_insn == 0)
     {
       _bfd_error_handler
-	(_("Dwarf Error: Invalid maximum operations per instruction."));
+	(_("DWARF error: invalid maximum operations per instruction"));
       bfd_set_error (bfd_error_bad_value);
       return NULL;
     }
@@ -2156,7 +2164,7 @@ decode_line_info (struct comp_unit *unit
 
   if (line_ptr + (lh.opcode_base - 1) >= line_end)
     {
-      _bfd_error_handler (_("Dwarf Error: Ran out of room reading opcodes"));
+      _bfd_error_handler (_("DWARF error: ran out of room reading opcodes"));
       bfd_set_error (bfd_error_bad_value);
       return NULL;
     }
@@ -2329,7 +2337,7 @@ decode_line_info (struct comp_unit *unit
 		  break;
 		default:
 		  _bfd_error_handler
-		    (_("Dwarf Error: mangled line number section."));
+		    (_("DWARF error: mangled line number section"));
 		  bfd_set_error (bfd_error_bad_value);
 		line_fail:
 		  if (filename != NULL)
@@ -2788,11 +2796,13 @@ lookup_symbol_in_variable_table (struct 
 }
 
 static bfd_boolean
-find_abstract_instance_name (struct comp_unit *unit,
-			     bfd_byte *orig_info_ptr,
-			     struct attribute *attr_ptr,
-			     const char **pname,
-			     bfd_boolean *is_linkage)
+find_abstract_instance (struct comp_unit *   unit,
+			bfd_byte *           orig_info_ptr,
+			struct attribute *   attr_ptr,
+			const char **        pname,
+			bfd_boolean *        is_linkage,
+			char **              filename_ptr,
+			int *                linenumber_ptr)
 {
   bfd *abfd = unit->abfd;
   bfd_byte *info_ptr;
@@ -2830,7 +2840,7 @@ find_abstract_instance_name (struct comp
       if (!die_ref || die_ref >= total)
 	{
 	  _bfd_error_handler
-	    (_("Dwarf Error: Invalid abstract instance DIE ref."));
+	    (_("DWARF error: invalid abstract instance DIE ref"));
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -2867,8 +2877,8 @@ find_abstract_instance_name (struct comp
       if (info_ptr == NULL)
 	{
 	  _bfd_error_handler
-	    (_("Dwarf Error: Unable to read alt ref %llu."),
-	     (long long) die_ref);
+	    (_("DWARF error: unable to read alt ref %" PRIu64),
+	     (uint64_t) die_ref);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -2891,7 +2901,7 @@ find_abstract_instance_name (struct comp
       if (!die_ref || die_ref >= total)
 	{
 	  _bfd_error_handler
-	    (_("Dwarf Error: Invalid abstract instance DIE ref."));
+	    (_("DWARF error: invalid abstract instance DIE ref"));
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -2908,7 +2918,7 @@ find_abstract_instance_name (struct comp
       if (! abbrev)
 	{
 	  _bfd_error_handler
-	    (_("Dwarf Error: Could not find abbrev number %u."), abbrev_number);
+	    (_("DWARF error: could not find abbrev number %u"), abbrev_number);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -2925,7 +2935,7 @@ find_abstract_instance_name (struct comp
 	      if (info_ptr == orig_info_ptr)
 		{
 		  _bfd_error_handler
-		    (_("Dwarf Error: Abstract instance recursion detected."));
+		    (_("DWARF error: abstract instance recursion detected"));
 		  bfd_set_error (bfd_error_bad_value);
 		  return FALSE;
 		}
@@ -2942,8 +2952,9 @@ find_abstract_instance_name (struct comp
 		    }
 		  break;
 		case DW_AT_specification:
-		  if (!find_abstract_instance_name (unit, info_ptr, &attr,
-						    pname, is_linkage))
+		  if (!find_abstract_instance (unit, info_ptr, &attr,
+					       pname, is_linkage,
+					       filename_ptr, linenumber_ptr))
 		    return FALSE;
 		  break;
 		case DW_AT_linkage_name:
@@ -2956,6 +2967,13 @@ find_abstract_instance_name (struct comp
 		      *is_linkage = TRUE;
 		    }
 		  break;
+		case DW_AT_decl_file:
+		  *filename_ptr = concat_filename (unit->line_table,
+						   attr.u.val);
+		  break;
+		case DW_AT_decl_line:
+		  *linenumber_ptr = attr.u.val;
+		  break;
 		default:
 		  break;
 		}
@@ -3073,7 +3091,7 @@ scan_unit_for_symbols (struct comp_unit 
 	  if (abbrev_number != previous_failed_abbrev)
 	    {
 	      _bfd_error_handler
-		(_("Dwarf Error: Could not find abbrev number %u."),
+		(_("DWARF error: could not find abbrev number %u"),
 		 abbrev_number);
 	      previous_failed_abbrev = abbrev_number;
 	    }
@@ -3148,9 +3166,11 @@ scan_unit_for_symbols (struct comp_unit 
 
 		case DW_AT_abstract_origin:
 		case DW_AT_specification:
-		  if (!find_abstract_instance_name (unit, info_ptr, &attr,
-						    &func->name,
-						    &func->is_linkage))
+		  if (!find_abstract_instance (unit, info_ptr, &attr,
+					       &func->name,
+					       &func->is_linkage,
+					       &func->file,
+					       &func->line))
 		    goto fail;
 		  break;
 
@@ -3344,8 +3364,8 @@ parse_comp_unit (struct dwarf2_debug *st
       if (version)
 	{
 	  _bfd_error_handler
-	    (_("Dwarf Error: found dwarf version '%u', this reader"
-	       " only handles version 2, 3, 4 and 5 information."), version);
+	    (_("DWARF error: found dwarf version '%u', this reader"
+	       " only handles version 2, 3, 4 and 5 information"), version);
 	  bfd_set_error (bfd_error_bad_value);
 	}
       return NULL;
@@ -3388,8 +3408,8 @@ parse_comp_unit (struct dwarf2_debug *st
     {
       _bfd_error_handler
 	/* xgettext: c-format */
-	(_("Dwarf Error: found address size '%u', this reader"
-	   " can not handle sizes greater than '%u'."),
+	(_("DWARF error: found address size '%u', this reader"
+	   " can not handle sizes greater than '%u'"),
 	 addr_size,
 	 (unsigned int) sizeof (bfd_vma));
       bfd_set_error (bfd_error_bad_value);
@@ -3399,8 +3419,8 @@ parse_comp_unit (struct dwarf2_debug *st
   if (addr_size != 2 && addr_size != 4 && addr_size != 8)
     {
       _bfd_error_handler
-	("Dwarf Error: found address size '%u', this reader"
-	 " can only handle address sizes '2', '4' and '8'.", addr_size);
+	("DWARF error: found address size '%u', this reader"
+	 " can only handle address sizes '2', '4' and '8'", addr_size);
       bfd_set_error (bfd_error_bad_value);
       return NULL;
     }
@@ -3425,7 +3445,7 @@ parse_comp_unit (struct dwarf2_debug *st
   abbrev = lookup_abbrev (abbrev_number, abbrevs);
   if (! abbrev)
     {
-      _bfd_error_handler (_("Dwarf Error: Could not find abbrev number %u."),
+      _bfd_error_handler (_("DWARF error: could not find abbrev number %u"),
 			  abbrev_number);
       bfd_set_error (bfd_error_bad_value);
       return NULL;
@@ -3491,7 +3511,7 @@ parse_comp_unit (struct dwarf2_debug *st
 	    if (! is_str_attr (attr.form))
 	      {
 		_bfd_error_handler
-		  (_("Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form."));
+		  (_("DWARF error: DW_AT_comp_dir attribute encountered with a non-string form"));
 		comp_dir = 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.1.0.20180703/bfd/ecoff.c ./bfd/ecoff.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/ecoff.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/ecoff.c	2018-07-10 02:06:11.000000000 +0000
@@ -182,6 +182,13 @@ _bfd_ecoff_new_section_hook (bfd *abfd, 
   return _bfd_generic_new_section_hook (abfd, section);
 }
 
+void
+_bfd_ecoff_set_alignment_hook (bfd *abfd ATTRIBUTE_UNUSED,
+			       asection *section ATTRIBUTE_UNUSED,
+			       void *scnhdr ATTRIBUTE_UNUSED)
+{
+}
+
 /* Determine the machine architecture and type.  This is called from
    the generic COFF routines.  It is the inverse of ecoff_get_magic,
    below.  This could be an ECOFF backend routine, with one version
@@ -961,7 +968,7 @@ _bfd_ecoff_slurp_symbol_table (bfd *abfd
       bfd_get_symcount (abfd) = internal_ptr - internal;
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: warning: isymMax (%ld) is greater than ifdMax (%ld)"),
+	(_("%pB: warning: isymMax (%ld) is greater than ifdMax (%ld)"),
 	 abfd, ecoff_data (abfd)->debug_info.symbolic_header.isymMax,
 	 ecoff_data (abfd)->debug_info.symbolic_header.ifdMax);
     }
@@ -1258,7 +1265,7 @@ ecoff_type_to_string (bfd *abfd, FDR *fd
       break;
 
     default:
-      sprintf (p1, _("Unknown basic type %d"), (int) basic_type);
+      sprintf (p1, _("unknown basic type %d"), (int) basic_type);
       break;
     }
 
@@ -2211,22 +2218,6 @@ _bfd_ecoff_set_section_contents (bfd *ab
   return TRUE;
 }
 
-/* Get the GP value for an ECOFF file.  This is a hook used by
-   nlmconv.  */
-
-bfd_vma
-bfd_ecoff_get_gp_value (bfd *abfd)
-{
-  if (bfd_get_flavour (abfd) != bfd_target_ecoff_flavour
-      || bfd_get_format (abfd) != bfd_object)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return 0;
-    }
-
-  return ecoff_data (abfd)->gp;
-}
-
 /* Set the GP value for an ECOFF file.  This is a hook used by the
    assembler.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-arc.c ./bfd/elf32-arc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-arc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-arc.c	2018-07-10 02:06:11.000000000 +0000
@@ -98,6 +98,7 @@ reloc_type_to_name (unsigned int type)
 	break;
     }
 }
+
 #undef ARC_RELOC_HOWTO
 
 /* Try to minimize the amount of space occupied by relocation tables
@@ -160,7 +161,7 @@ struct arc_relocation_data
 };
 
 /* Should be included at this location due to static declarations
- * defined before this point.  */
+   defined before this point.  */
 #include "arc-got.h"
 
 #define arc_bfd_get_8(A,B,C) bfd_get_8(A,B)
@@ -199,11 +200,13 @@ arc_elf_reloc (bfd *abfd ATTRIBUTE_UNUSE
 
 #define ARC_RELOC_HOWTO(TYPE, VALUE, SIZE, BITSIZE, RELOC_FUNCTION, OVERFLOW, FORMULA) \
   TYPE = VALUE,
+
 enum howto_list
 {
 #include "elf/arc-reloc.def"
   HOWTO_LIST_LAST
 };
+
 #undef ARC_RELOC_HOWTO
 
 #define ARC_RELOC_HOWTO(TYPE, VALUE, RSIZE, BITSIZE, RELOC_FUNCTION, OVERFLOW, FORMULA) \
@@ -233,16 +236,17 @@ static struct reloc_howto_struct elf_arc
 };
 #undef ARC_RELOC_HOWTO
 
-static void arc_elf_howto_init (void)
+static void
+arc_elf_howto_init (void)
 {
 #define ARC_RELOC_HOWTO(TYPE, VALUE, SIZE, BITSIZE, RELOC_FUNCTION, OVERFLOW, FORMULA) \
-  elf_arc_howto_table[TYPE].pc_relative = \
+  elf_arc_howto_table[TYPE].pc_relative =				\
     (strstr (#FORMULA, " P ") != NULL || strstr (#FORMULA, " PDATA ") != NULL); \
-  elf_arc_howto_table[TYPE].dst_mask = RELOC_FUNCTION(0, ~0); \
-  /* Only 32 bit data relocations should be marked as ME.  */ \
-  if (strstr (#FORMULA, " ME ") != NULL) \
-    { \
-      BFD_ASSERT (SIZE == 2); \
+  elf_arc_howto_table[TYPE].dst_mask = RELOC_FUNCTION(0, ~0);		\
+  /* Only 32 bit data relocations should be marked as ME.  */		\
+  if (strstr (#FORMULA, " ME ") != NULL)				\
+    {									\
+      BFD_ASSERT (SIZE == 2);						\
     }
 
 #include "elf/arc-reloc.def"
@@ -253,10 +257,12 @@ static void arc_elf_howto_init (void)
 
 #define ARC_RELOC_HOWTO(TYPE, VALUE, SIZE, BITSIZE, RELOC_FUNCTION, OVERFLOW, FORMULA) \
   [TYPE] = VALUE,
+
 const int howto_table_lookup[] =
 {
 #include "elf/arc-reloc.def"
 };
+
 #undef ARC_RELOC_HOWTO
 
 static reloc_howto_type *
@@ -358,6 +364,7 @@ arc_elf_link_hash_table_create (bfd *abf
 
 #define ARC_RELOC_HOWTO(TYPE, VALUE, SIZE, BITSIZE, RELOC_FUNCTION, OVERFLOW, FORMULA) \
   { BFD_RELOC_##TYPE, R_##TYPE },
+
 static const struct arc_reloc_map arc_reloc_map[] =
 {
 #include "elf/arc-reloc.def"
@@ -368,6 +375,7 @@ static const struct arc_reloc_map arc_re
   {BFD_RELOC_24, R_ARC_24},
   {BFD_RELOC_32, R_ARC_32},
 };
+
 #undef ARC_RELOC_HOWTO
 
 typedef ATTRIBUTE_UNUSED bfd_vma (*replace_func) (unsigned, int ATTRIBUTE_UNUSED);
@@ -376,6 +384,7 @@ typedef ATTRIBUTE_UNUSED bfd_vma (*repla
   case TYPE: \
     func = (void *) RELOC_FUNCTION; \
     break;
+
 static replace_func
 get_replace_function (bfd *abfd, unsigned int r_type)
 {
@@ -387,7 +396,7 @@ get_replace_function (bfd *abfd, unsigne
     }
 
   if (func == replace_bits24 && bfd_big_endian (abfd))
-    return (replace_func) replace_bits24_be;
+    func = replace_bits24_be;
 
   return (replace_func) func;
 }
@@ -496,16 +505,25 @@ bfd_elf32_bfd_reloc_name_lookup (bfd * a
 
 /* Set the howto pointer for an ARC ELF reloc.  */
 
-static void
-arc_info_to_howto_rel (bfd * abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+arc_info_to_howto_rel (bfd * abfd,
 		       arelent * cache_ptr,
 		       Elf_Internal_Rela * dst)
 {
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_ARC_max);
+  if (r_type >= (unsigned int) R_ARC_max)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
   cache_ptr->howto = arc_elf_howto (r_type);
+  return TRUE;
 }
 
 /* Extract CPU features from an NTBS.  */
@@ -608,8 +626,8 @@ arc_elf_merge_attributes (bfd *ibfd, str
 	      /* It's sometimes ok to mix different configs, so this is only
 		 a warning.  */
 	      _bfd_error_handler
-		(_("Warning: %B: Conflicting platform configuration "
-		   "%s with %s.\n"), ibfd,
+		(_("warning: %pB: conflicting platform configuration "
+		   "%s with %s"), ibfd,
 		 tagval[in_attr[i].i],
 		 tagval[out_attr[i].i]);
 	    }
@@ -627,8 +645,8 @@ arc_elf_merge_attributes (bfd *ibfd, str
 	      BFD_ASSERT (out_attr[i].i < 5);
 	      /* We cannot mix code for different CPUs.  */
 	      _bfd_error_handler
-		(_("error: %B: unable to merge CPU base attributes "
-		   "%s with %s.\n"),
+		(_("error: %pB: unable to merge CPU base attributes "
+		   "%s with %s"),
 		 obfd,
 		 tagval[in_attr[i].i],
 		 tagval[out_attr[i].i]);
@@ -664,8 +682,8 @@ arc_elf_merge_attributes (bfd *ibfd, str
 		    && (!(cpu_out & bfd_feature_list[j].cpus)))
 		  {
 		    _bfd_error_handler
-		      (_("error: %B: unable to merge ISA extension attributes "
-			 "%s.\n"),
+		      (_("error: %pB: unable to merge ISA extension attributes "
+			 "%s"),
 		       obfd, bfd_feature_list[j].name);
 		    result = FALSE;
 		    break;
@@ -688,8 +706,8 @@ arc_elf_merge_attributes (bfd *ibfd, str
 			  p2 = (char *) bfd_feature_list[k].name;
 		      }
 		    _bfd_error_handler
-		      (_("error: %B: conflicting ISA extension attributes "
-			 "%s with %s.\n"),
+		      (_("error: %pB: conflicting ISA extension attributes "
+			 "%s with %s"),
 		       obfd, p1, p2);
 		    result = FALSE;
 		    break;
@@ -723,7 +741,7 @@ arc_elf_merge_attributes (bfd *ibfd, str
 	    {
 	      /* We cannot mix code with rf16 and without.  */
 	      _bfd_error_handler
-		(_("error: %B: cannot mix rf16 with full register set %B.\n"),
+		(_("error: %pB: cannot mix rf16 with full register set %pB"),
 		 obfd, ibfd);
 	      result = FALSE;
 	    }
@@ -749,7 +767,7 @@ arc_elf_merge_attributes (bfd *ibfd, str
 		&& out_attr[i].i != in_attr[i].i)
 	      {
 		_bfd_error_handler
-		  (_("error: %B: conflicting attributes %s: %s with %s.\n"),
+		  (_("error: %pB: conflicting attributes %s: %s with %s"),
 		   obfd, tagname,
 		   tagval[in_attr[i].i],
 		   tagval[out_attr[i].i]);
@@ -774,7 +792,7 @@ arc_elf_merge_attributes (bfd *ibfd, str
 	      && out_attr[i].i != in_attr[i].i)
 	    {
 	      _bfd_error_handler
-		(_("error: %B: conflicting attributes %s.\n"),
+		(_("error: %pB: conflicting attributes %s"),
 		 obfd, tagname);
 	      result = FALSE;
 	    }
@@ -874,8 +892,8 @@ arc_elf_merge_private_bfd_data (bfd *ibf
       if (mach_ibfd != mach_obfd)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("ERROR: Attempting to link %B "
-				"with a binary %B of different architecture"),
+	  _bfd_error_handler (_("error: attempting to link %pB "
+				"with a binary %pB of different architecture"),
 			      ibfd, obfd);
 	  return FALSE;
 	}
@@ -888,7 +906,7 @@ arc_elf_merge_private_bfd_data (bfd *ibf
 	  /* Warn if different flags.  */
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: uses different e_flags (%#x) fields than "
+	    (_("%pB: uses different e_flags (%#x) fields than "
 	       "previous modules (%#x)"),
 	     ibfd, in_flags, out_flags);
 	  if (in_flags && out_flags)
@@ -977,14 +995,14 @@ arc_elf_object_p (bfd * abfd)
       if (e_machine == EM_ARC)
 	{
 	  _bfd_error_handler
-	    (_("Error: The ARC4 architecture is no longer supported.\n"));
+	    (_("error: the ARC4 architecture is no longer supported"));
 	  return FALSE;
 	}
       else
 	{
 	  _bfd_error_handler
-	    (_("Warning: unset or old architecture flags. \n"
-	       "	       Use default machine.\n"));
+	    (_("warning: unset or old architecture flags; "
+	       "use default machine"));
 	}
     }
 
@@ -1116,26 +1134,26 @@ arc_special_overflow_checks (const struc
 	  if (reloc_data.reloc_addend == 0)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+%#Lx): CMEM relocation to `%s' is invalid, "
-		 "16 MSB should be %#x (value is %#Lx)"),
+	      (_("%pB(%pA+%#" PRIx64 "): CMEM relocation to `%s' is invalid, "
+		 "16 MSB should be %#x (value is %#" PRIx64 ")"),
 	       reloc_data.input_section->owner,
 	       reloc_data.input_section,
-	       reloc_data.reloc_offset,
+	       (uint64_t) reloc_data.reloc_offset,
 	       reloc_data.symbol_name,
 	       NPS_CMEM_HIGH_VALUE,
-	       relocation);
+	       (uint64_t) relocation);
 	  else
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, "
-		 "16 MSB should be %#x (value is %#Lx)"),
+	      (_("%pB(%pA+%#" PRIx64 "): CMEM relocation to `%s+%#" PRIx64
+		 "' is invalid, 16 MSB should be %#x (value is %#" PRIx64 ")"),
 	       reloc_data.input_section->owner,
 	       reloc_data.input_section,
-	       reloc_data.reloc_offset,
+	       (uint64_t) reloc_data.reloc_offset,
 	       reloc_data.symbol_name,
-	       reloc_data.reloc_addend,
+	       (uint64_t) reloc_data.reloc_addend,
 	       NPS_CMEM_HIGH_VALUE,
-	       relocation);
+	       (uint64_t) relocation);
 	  return bfd_reloc_overflow;
 	}
       break;
@@ -1534,7 +1552,6 @@ elf_arc_relocate_section (bfd *			  outp
 	{
 	  _bfd_clear_contents (howto, input_bfd, input_section,
 			       contents + rel->r_offset);
-	  rel->r_offset = rel->r_offset;
 	  rel->r_info = 0;
 	  rel->r_addend = 0;
 
@@ -1820,7 +1837,7 @@ elf_arc_relocate_section (bfd *			  outp
 	  && !reloc_data.sdata_begin_symbol_vma_set)
 	{
 	  _bfd_error_handler
-	    ("Error: Linker symbol __SDATA_BEGIN__ not found");
+	    ("error: linker symbol __SDATA_BEGIN__ not found");
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -1833,7 +1850,7 @@ elf_arc_relocate_section (bfd *			  outp
 	  && reloc_data.sym_section == NULL)
 	{
 	  _bfd_error_handler
-	    (_("GOT and PLT relocations cannot be fixed with a non dynamic linker."));
+	    (_("GOT and PLT relocations cannot be fixed with a non dynamic linker"));
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -1857,27 +1874,27 @@ elf_arc_relocate_section (bfd *			  outp
 
 	case bfd_reloc_other:
 	  /* xgettext:c-format */
-	  msg = _("%B(%A): warning: unaligned access to symbol '%s' in the small data area");
+	  msg = _("%pB(%pA): warning: unaligned access to symbol '%s' in the small data area");
 	  break;
 
 	case bfd_reloc_outofrange:
 	  /* xgettext:c-format */
-	  msg = _("%B(%A): internal error: out of range error");
+	  msg = _("%pB(%pA): internal error: out of range error");
 	  break;
 
 	case bfd_reloc_notsupported:
 	  /* xgettext:c-format */
-	  msg = _("%B(%A): internal error: unsupported relocation error");
+	  msg = _("%pB(%pA): internal error: unsupported relocation error");
 	  break;
 
 	case bfd_reloc_dangerous:
 	  /* xgettext:c-format */
-	  msg = _("%B(%A): internal error: dangerous relocation");
+	  msg = _("%pB(%pA): internal error: dangerous relocation");
 	  break;
 
 	default:
 	  /* xgettext:c-format */
-	  msg = _("%B(%A): internal error: unknown error");
+	  msg = _("%pB(%pA): internal error: unknown error");
 	  break;
 	}
 
@@ -1965,11 +1982,11 @@ elf_arc_check_relocs (bfd *			 abfd,
 		  name = "UNKNOWN";
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("\
-%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"),
-		    abfd,
-		    arc_elf_howto (r_type)->name,
-		    name);
+		  (_("%pB: relocation %s against `%s' can not be used"
+		     " when making a shared object; recompile with -fPIC"),
+		   abfd,
+		   arc_elf_howto (r_type)->name,
+		   name);
 		bfd_set_error (bfd_error_bad_value);
 		return FALSE;
 	      }
@@ -2780,26 +2797,6 @@ const struct elf_size_info arc_elf32_siz
 
 #define elf_backend_size_info		arc_elf32_size_info
 
-/* Hook called by the linker routine which adds symbols from an object
-   file.  */
-
-static bfd_boolean
-elf_arc_add_symbol_hook (bfd * abfd,
-			 struct bfd_link_info * info,
-			 Elf_Internal_Sym * sym,
-			 const char ** namep ATTRIBUTE_UNUSED,
-			 flagword * flagsp ATTRIBUTE_UNUSED,
-			 asection ** secp ATTRIBUTE_UNUSED,
-			 bfd_vma * valp ATTRIBUTE_UNUSED)
-{
-  if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-      && (abfd->flags & DYNAMIC) == 0
-      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
-    elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc;
-
-  return TRUE;
-}
-
 /* GDB expects general purpose registers to be in section .reg.  However Linux
    kernel doesn't create this section and instead writes registers to NOTE
    section.  It is up to the binutils to create a pseudo-section .reg from the
@@ -2857,7 +2854,7 @@ elf32_arc_obj_attrs_handle_unknown (bfd 
   if ((tag & 127) < (Tag_ARC_ISA_mpy_option + 1))
     {
       _bfd_error_handler
-	(_("%B: Unknown mandatory ARC object attribute %d."),
+	(_("%pB: unknown mandatory ARC object attribute %d"),
 	 abfd, tag);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -2865,7 +2862,7 @@ elf32_arc_obj_attrs_handle_unknown (bfd 
   else
     {
       _bfd_error_handler
-	(_("Warning: %B: Unknown ARC object attribute %d."),
+	(_("warning: %pB: unknown ARC object attribute %d"),
 	 abfd, tag);
       return TRUE;
     }
@@ -2929,7 +2926,6 @@ elf32_arc_section_from_shdr (bfd *abfd,
 
 #define elf_backend_finish_dynamic_sections  elf_arc_finish_dynamic_sections
 #define elf_backend_size_dynamic_sections    elf_arc_size_dynamic_sections
-#define elf_backend_add_symbol_hook	     elf_arc_add_symbol_hook
 
 #define elf_backend_can_gc_sections	1
 #define elf_backend_want_got_plt	1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-arm.c ./bfd/elf32-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-arm.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-arm.c	2018-07-10 02:06:11.000000000 +0000
@@ -56,7 +56,7 @@
    ? bfd_elf32_swap_reloc_out \
    : bfd_elf32_swap_reloca_out)
 
-#define elf_info_to_howto		0
+#define elf_info_to_howto		NULL
 #define elf_info_to_howto_rel		elf32_arm_info_to_howto
 
 #define ARM_ELF_ABI_VERSION		0
@@ -1746,7 +1746,7 @@ static reloc_howto_type elf32_arm_howto_
 };
 
 /* 160 onwards: */
-static reloc_howto_type elf32_arm_howto_table_2[1] =
+static reloc_howto_type elf32_arm_howto_table_2[8] =
 {
   HOWTO (R_ARM_IRELATIVE,	/* type */
 	 0,			/* rightshift */
@@ -1760,7 +1760,98 @@ static reloc_howto_type elf32_arm_howto_
 	 TRUE,			/* partial_inplace */
 	 0xffffffff,		/* src_mask */
 	 0xffffffff,		/* dst_mask */
-	 FALSE)			/* pcrel_offset */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_ARM_GOTFUNCDESC,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_ARM_GOTFUNCDESC",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_ARM_GOTOFFFUNCDESC, /* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_ARM_GOTOFFFUNCDESC",/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_ARM_FUNCDESC,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_ARM_FUNCDESC",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_ARM_FUNCDESC_VALUE,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 64,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_ARM_FUNCDESC_VALUE",/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_ARM_TLS_GD32_FDPIC,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_ARM_TLS_GD32_FDPIC",/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_ARM_TLS_LDM32_FDPIC,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_ARM_TLS_LDM32_FDPIC",/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_ARM_TLS_IE32_FDPIC,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_ARM_TLS_IE32_FDPIC",/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
 };
 
 /* 249-255 extended, currently unused, relocations:  */
@@ -1829,7 +1920,8 @@ elf32_arm_howto_from_type (unsigned int 
   if (r_type < ARRAY_SIZE (elf32_arm_howto_table_1))
     return &elf32_arm_howto_table_1[r_type];
 
-  if (r_type == R_ARM_IRELATIVE)
+  if (r_type >= R_ARM_IRELATIVE
+      && r_type < R_ARM_IRELATIVE + ARRAY_SIZE (elf32_arm_howto_table_2))
     return &elf32_arm_howto_table_2[r_type - R_ARM_IRELATIVE];
 
   if (r_type >= R_ARM_RREL32
@@ -1839,14 +1931,22 @@ elf32_arm_howto_from_type (unsigned int 
   return NULL;
 }
 
-static void
-elf32_arm_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED, arelent * bfd_reloc,
+static bfd_boolean
+elf32_arm_info_to_howto (bfd * abfd, arelent * bfd_reloc,
 			 Elf_Internal_Rela * elf_reloc)
 {
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (elf_reloc->r_info);
-  bfd_reloc->howto = elf32_arm_howto_from_type (r_type);
+  if ((bfd_reloc->howto = elf32_arm_howto_from_type (r_type)) == NULL)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  return TRUE;
 }
 
 struct elf32_arm_reloc_map
@@ -1905,6 +2005,13 @@ static const struct elf32_arm_reloc_map 
     {BFD_RELOC_ARM_TLS_IE32,	     R_ARM_TLS_IE32},
     {BFD_RELOC_ARM_TLS_LE32,	     R_ARM_TLS_LE32},
     {BFD_RELOC_ARM_IRELATIVE,	     R_ARM_IRELATIVE},
+    {BFD_RELOC_ARM_GOTFUNCDESC,      R_ARM_GOTFUNCDESC},
+    {BFD_RELOC_ARM_GOTOFFFUNCDESC,   R_ARM_GOTOFFFUNCDESC},
+    {BFD_RELOC_ARM_FUNCDESC,         R_ARM_FUNCDESC},
+    {BFD_RELOC_ARM_FUNCDESC_VALUE,   R_ARM_FUNCDESC_VALUE},
+    {BFD_RELOC_ARM_TLS_GD32_FDPIC,   R_ARM_TLS_GD32_FDPIC},
+    {BFD_RELOC_ARM_TLS_LDM32_FDPIC,  R_ARM_TLS_LDM32_FDPIC},
+    {BFD_RELOC_ARM_TLS_IE32_FDPIC,   R_ARM_TLS_IE32_FDPIC},
     {BFD_RELOC_VTABLE_INHERIT,	     R_ARM_GNU_VTINHERIT},
     {BFD_RELOC_VTABLE_ENTRY,	     R_ARM_GNU_VTENTRY},
     {BFD_RELOC_ARM_MOVW,	     R_ARM_MOVW_ABS_NC},
@@ -2061,13 +2168,22 @@ elf32_arm_nabi_write_core_note (bfd *abf
 
     case NT_PRPSINFO:
       {
-	char data[124];
+	char data[124] ATTRIBUTE_NONSTRING;
 	va_list ap;
 
 	va_start (ap, note_type);
 	memset (data, 0, sizeof (data));
 	strncpy (data + 28, va_arg (ap, const char *), 16);
+	DIAGNOSTIC_PUSH;
+	/* GCC 8.1 warns about 80 equals destination size with
+	   -Wstringop-truncation:
+	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
+	 */
+#if GCC_VERSION == 8001
+	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
+#endif
 	strncpy (data + 44, va_arg (ap, const char *), 80);
+	DIAGNOSTIC_POP;
 	va_end (ap);
 
 	return elfcore_write_note (abfd, buf, bufsiz,
@@ -2144,6 +2260,9 @@ typedef unsigned short int insn16;
    section.  */
 #define ELF_DYNAMIC_INTERPRETER     "/usr/lib/ld.so.1"
 
+/* FDPIC default stack size.  */
+#define DEFAULT_STACK_SIZE 0x8000
+
 static const unsigned long tls_trampoline [] =
 {
   0xe08e0000,		/* add r0, lr, r0 */
@@ -2164,6 +2283,38 @@ static const unsigned long dl_tlsdesc_la
   0x00000018, /* 4:   .word  _GLOBAL_OFFSET_TABLE_ - 2b - 8 */
 };
 
+/* ARM FDPIC PLT entry.  */
+/* The last 5 words contain PLT lazy fragment code and data.  */
+static const bfd_vma elf32_arm_fdpic_plt_entry [] =
+  {
+    0xe59fc008,    /* ldr     r12, .L1 */
+    0xe08cc009,    /* add     r12, r12, r9 */
+    0xe59c9004,    /* ldr     r9, [r12, #4] */
+    0xe59cf000,    /* ldr     pc, [r12] */
+    0x00000000,    /* L1.     .word   foo(GOTOFFFUNCDESC) */
+    0x00000000,    /* L1.     .word   foo(funcdesc_value_reloc_offset) */
+    0xe51fc00c,    /* ldr     r12, [pc, #-12] */
+    0xe92d1000,    /* push    {r12} */
+    0xe599c004,    /* ldr     r12, [r9, #4] */
+    0xe599f000,    /* ldr     pc, [r9] */
+  };
+
+/* Thumb FDPIC PLT entry.  */
+/* The last 5 words contain PLT lazy fragment code and data.  */
+static const bfd_vma elf32_arm_fdpic_thumb_plt_entry [] =
+  {
+    0xc00cf8df,    /* ldr.w   r12, .L1 */
+    0x0c09eb0c,    /* add.w   r12, r12, r9 */
+    0x9004f8dc,    /* ldr.w   r9, [r12, #4] */
+    0xf000f8dc,    /* ldr.w   pc, [r12] */
+    0x00000000,    /* .L1     .word   foo(GOTOFFFUNCDESC) */
+    0x00000000,    /* .L2     .word   foo(funcdesc_value_reloc_offset) */
+    0xc008f85f,    /* ldr.w   r12, .L2 */
+    0xcd04f84d,    /* push    {r12} */
+    0xc004f8d9,    /* ldr.w   r12, [r9, #4] */
+    0xf000f8d9,    /* ldr.w   pc, [r9] */
+  };
+
 #ifdef FOUR_WORD_PLT
 
 /* The first entry in a procedure linkage table looks like
@@ -2936,6 +3087,13 @@ struct arm_local_iplt_info
   struct elf_dyn_relocs *dyn_relocs;
 };
 
+/* Structure to handle FDPIC support for local functions.  */
+struct fdpic_local {
+  unsigned int funcdesc_cnt;
+  unsigned int gotofffuncdesc_cnt;
+  int funcdesc_offset;
+};
+
 struct elf_arm_obj_tdata
 {
   struct elf_obj_tdata root;
@@ -2954,6 +3112,9 @@ struct elf_arm_obj_tdata
 
   /* Zero to warn when linking objects with incompatible wchar_t sizes.  */
   int no_wchar_size_warning;
+
+  /* Maintains FDPIC counters and funcdesc info.  */
+  struct fdpic_local *local_fdpic_cnts;
 };
 
 #define elf_arm_tdata(bfd) \
@@ -2968,6 +3129,9 @@ struct elf_arm_obj_tdata
 #define elf32_arm_local_iplt(bfd) \
   (elf_arm_tdata (bfd)->local_iplt)
 
+#define elf32_arm_local_fdpic_cnts(bfd) \
+  (elf_arm_tdata (bfd)->local_fdpic_cnts)
+
 #define is_arm_elf(bfd) \
   (bfd_get_flavour (bfd) == bfd_target_elf_flavour \
    && elf_tdata (bfd) != NULL \
@@ -2982,6 +3146,15 @@ elf32_arm_mkobject (bfd *abfd)
 
 #define elf32_arm_hash_entry(ent) ((struct elf32_arm_link_hash_entry *)(ent))
 
+/* Structure to handle FDPIC support for extern functions.  */
+struct fdpic_global {
+  unsigned int gotofffuncdesc_cnt;
+  unsigned int gotfuncdesc_cnt;
+  unsigned int funcdesc_cnt;
+  int funcdesc_offset;
+  int gotfuncdesc_offset;
+};
+
 /* Arm ELF linker hash entry.  */
 struct elf32_arm_link_hash_entry
 {
@@ -3017,6 +3190,9 @@ struct elf32_arm_link_hash_entry
   /* A pointer to the most recently used stub hash entry against this
      symbol.  */
   struct elf32_arm_stub_hash_entry *stub_cache;
+
+  /* Counter for FDPIC relocations against this symbol.  */
+  struct fdpic_global fdpic_cnts;
 };
 
 /* Traverse an arm ELF linker hash table.  */
@@ -3142,7 +3318,7 @@ struct elf32_arm_link_hash_table
   int nacl_p;
 
   /* True if the target uses REL relocations.  */
-  int use_rel;
+  bfd_boolean use_rel;
 
   /* Nonzero if import library must be a secure gateway import library
      as per ARMv8-M Security Extensions.  */
@@ -3174,7 +3350,7 @@ struct elf32_arm_link_hash_table
   /* Offset in .plt section of tls_arm_trampoline.  */
   bfd_vma tls_trampoline;
 
-  /* Data for R_ARM_TLS_LDM32 relocations.  */
+  /* Data for R_ARM_TLS_LDM32/R_ARM_TLS_LDM32_FDPIC relocations.  */
   union
   {
     bfd_signed_vma refcount;
@@ -3220,8 +3396,25 @@ struct elf32_arm_link_hash_table
   unsigned int bfd_count;
   unsigned int top_index;
   asection **input_list;
+
+  /* True if the target system uses FDPIC. */
+  int fdpic_p;
+
+  /* Fixup section. Used for FDPIC.  */
+  asection *srofixup;
 };
 
+/* Add an FDPIC read-only fixup.  */
+static void
+arm_elf_add_rofixup (bfd *output_bfd, asection *srofixup, bfd_vma offset)
+{
+  bfd_vma fixup_offset;
+
+  fixup_offset = srofixup->reloc_count++ * 4;
+  BFD_ASSERT (fixup_offset < srofixup->size);
+  bfd_put_32 (output_bfd, offset, srofixup->contents + fixup_offset);
+}
+
 static inline int
 ctz (unsigned int mask)
 {
@@ -3259,6 +3452,57 @@ elf32_arm_popcount (unsigned int mask)
 #endif
 }
 
+static void elf32_arm_add_dynreloc (bfd *output_bfd, struct bfd_link_info *info,
+				    asection *sreloc, Elf_Internal_Rela *rel);
+
+static void
+arm_elf_fill_funcdesc(bfd *output_bfd,
+		      struct bfd_link_info *info,
+		      int *funcdesc_offset,
+		      int dynindx,
+		      int offset,
+		      bfd_vma addr,
+		      bfd_vma dynreloc_value,
+		      bfd_vma seg)
+{
+  if ((*funcdesc_offset & 1) == 0)
+    {
+      struct elf32_arm_link_hash_table *globals = elf32_arm_hash_table (info);
+      asection *sgot = globals->root.sgot;
+
+      if (bfd_link_pic(info))
+	{
+	  asection *srelgot = globals->root.srelgot;
+	  Elf_Internal_Rela outrel;
+
+	  outrel.r_info = ELF32_R_INFO (dynindx, R_ARM_FUNCDESC_VALUE);
+	  outrel.r_offset = sgot->output_section->vma + sgot->output_offset + offset;
+	  outrel.r_addend = 0;
+
+	  elf32_arm_add_dynreloc (output_bfd, info, srelgot, &outrel);
+	  bfd_put_32 (output_bfd, addr, sgot->contents + offset);
+	  bfd_put_32 (output_bfd, seg, sgot->contents + offset + 4);
+	}
+      else
+	{
+	  struct elf_link_hash_entry *hgot = globals->root.hgot;
+	  bfd_vma got_value = hgot->root.u.def.value
+	    + hgot->root.u.def.section->output_section->vma
+	    + hgot->root.u.def.section->output_offset;
+
+	  arm_elf_add_rofixup(output_bfd, globals->srofixup,
+			      sgot->output_section->vma + sgot->output_offset
+			      + offset);
+	  arm_elf_add_rofixup(output_bfd, globals->srofixup,
+			      sgot->output_section->vma + sgot->output_offset
+			      + offset + 4);
+	  bfd_put_32 (output_bfd, dynreloc_value, sgot->contents + offset);
+	  bfd_put_32 (output_bfd, got_value, sgot->contents + offset + 4);
+	}
+      *funcdesc_offset |= 1;
+    }
+}
+
 /* Create an entry in an ARM ELF linker hash table.  */
 
 static struct bfd_hash_entry *
@@ -3294,6 +3538,12 @@ elf32_arm_link_hash_newfunc (struct bfd_
       ret->export_glue = NULL;
 
       ret->stub_cache = NULL;
+
+      ret->fdpic_cnts.gotofffuncdesc_cnt = 0;
+      ret->fdpic_cnts.gotfuncdesc_cnt = 0;
+      ret->fdpic_cnts.funcdesc_cnt = 0;
+      ret->fdpic_cnts.funcdesc_offset = -1;
+      ret->fdpic_cnts.gotfuncdesc_offset = -1;
     }
 
   return (struct bfd_hash_entry *) ret;
@@ -3315,11 +3565,15 @@ elf32_arm_allocate_local_sym_info (bfd *
       size = num_syms * (sizeof (bfd_signed_vma)
 			 + sizeof (struct arm_local_iplt_info *)
 			 + sizeof (bfd_vma)
-			 + sizeof (char));
+			 + sizeof (char)
+			 + sizeof (struct fdpic_local));
       data = bfd_zalloc (abfd, size);
       if (data == NULL)
 	return FALSE;
 
+      elf32_arm_local_fdpic_cnts (abfd) = (struct fdpic_local *) data;
+      data += num_syms * sizeof (struct fdpic_local);
+
       elf_local_got_refcounts (abfd) = (bfd_signed_vma *) data;
       data += num_syms * sizeof (bfd_signed_vma);
 
@@ -3391,6 +3645,8 @@ elf32_arm_get_plt_info (bfd *abfd, struc
   return TRUE;
 }
 
+static bfd_boolean using_thumb_only (struct elf32_arm_link_hash_table *globals);
+
 /* Return true if the PLT described by ARM_PLT requires a Thumb stub
    before it.  */
 
@@ -3401,8 +3657,9 @@ elf32_arm_plt_needs_thumb_stub_p (struct
   struct elf32_arm_link_hash_table *htab;
 
   htab = elf32_arm_hash_table (info);
-  return (arm_plt->thumb_refcount != 0
-	  || (!htab->use_blx && arm_plt->maybe_thumb_refcount != 0));
+
+  return (!using_thumb_only(htab) && (arm_plt->thumb_refcount != 0
+	  || (!htab->use_blx && arm_plt->maybe_thumb_refcount != 0)));
 }
 
 /* Return a pointer to the head of the dynamic reloc list that should
@@ -3501,6 +3758,16 @@ create_got_section (bfd *dynobj, struct 
   if (! _bfd_elf_create_got_section (dynobj, info))
     return FALSE;
 
+  /* Also create .rofixup.  */
+  if (htab->fdpic_p)
+    {
+      htab->srofixup = bfd_make_section_with_flags (dynobj, ".rofixup",
+						    (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS
+						     | SEC_IN_MEMORY | SEC_LINKER_CREATED | SEC_READONLY));
+      if (htab->srofixup == NULL || ! bfd_set_section_alignment (dynobj, htab->srofixup, 2))
+	return FALSE;
+    }
+
   return TRUE;
 }
 
@@ -3678,6 +3945,14 @@ elf32_arm_create_dynamic_sections (bfd *
       htab->obfd = saved_obfd;
     }
 
+  if (htab->fdpic_p) {
+    htab->plt_header_size = 0;
+    if (info->flags & DF_BIND_NOW)
+      htab->plt_entry_size = 4 * (ARRAY_SIZE(elf32_arm_fdpic_plt_entry) - 5);
+    else
+      htab->plt_entry_size = 4 * ARRAY_SIZE(elf32_arm_fdpic_plt_entry);
+  }
+
   if (!htab->root.splt
       || !htab->root.srelplt
       || !htab->root.sdynbss
@@ -3740,6 +4015,11 @@ elf32_arm_copy_indirect_symbol (struct b
       edir->plt.noncall_refcount += eind->plt.noncall_refcount;
       eind->plt.noncall_refcount = 0;
 
+      /* Copy FDPIC counters.  */
+      edir->fdpic_cnts.gotofffuncdesc_cnt += eind->fdpic_cnts.gotofffuncdesc_cnt;
+      edir->fdpic_cnts.gotfuncdesc_cnt += eind->fdpic_cnts.gotfuncdesc_cnt;
+      edir->fdpic_cnts.funcdesc_cnt += eind->fdpic_cnts.funcdesc_cnt;
+
       /* We should only allocate a function to .iplt once the final
 	 symbol information is known.  */
       BFD_ASSERT (!eind->is_iplt);
@@ -3796,8 +4076,9 @@ elf32_arm_link_hash_table_create (bfd *a
   ret->plt_header_size = 20;
   ret->plt_entry_size = elf32_arm_use_long_plt_entry ? 16 : 12;
 #endif
-  ret->use_rel = 1;
+  ret->use_rel = TRUE;
   ret->obfd = abfd;
+  ret->fdpic_p = 0;
 
   if (!bfd_hash_table_init (&ret->stub_hash_table, stub_hash_newfunc,
 			    sizeof (struct elf32_arm_stub_hash_entry)))
@@ -4019,10 +4300,10 @@ arm_type_of_stub (struct bfd_link_info *
 		{
 		  if (input_sec->flags & SEC_ELF_PURECODE)
 		    _bfd_error_handler
-		      (_("%B(%A): warning: long branch veneers used in"
+		      (_("%pB(%pA): warning: long branch veneers used in"
 			 " section with SHF_ARM_PURECODE section"
 			 " attribute is only supported for M-profile"
-			 " targets that implement the movw instruction."),
+			 " targets that implement the movw instruction"),
 		       input_bfd, input_sec);
 
 		  stub_type = (bfd_link_pic (info) | globals->pic_veneer)
@@ -4053,10 +4334,10 @@ arm_type_of_stub (struct bfd_link_info *
 		    {
 		      if (input_sec->flags & SEC_ELF_PURECODE)
 			_bfd_error_handler
-			  (_("%B(%A): warning: long branch veneers used in"
+			  (_("%pB(%pA): warning: long branch veneers used in"
 			     " section with SHF_ARM_PURECODE section"
 			     " attribute is only supported for M-profile"
-			     " targets that implement the movw instruction."),
+			     " targets that implement the movw instruction"),
 			   input_bfd, input_sec);
 
 		      stub_type = (bfd_link_pic (info) | globals->pic_veneer)
@@ -4072,10 +4353,10 @@ arm_type_of_stub (struct bfd_link_info *
 	    {
 	      if (input_sec->flags & SEC_ELF_PURECODE)
 		_bfd_error_handler
-		  (_("%B(%A): warning: long branch veneers used in"
+		  (_("%pB(%pA): warning: long branch veneers used in"
 		     " section with SHF_ARM_PURECODE section"
 		     " attribute is only supported" " for M-profile"
-		     " targets that implement the movw instruction."),
+		     " targets that implement the movw instruction"),
 		   input_bfd, input_sec);
 
 	      /* Thumb to arm.  */
@@ -4084,9 +4365,9 @@ arm_type_of_stub (struct bfd_link_info *
 		  && !INTERWORK_FLAG (sym_sec->owner))
 		{
 		  _bfd_error_handler
-		    (_("%B(%s): warning: interworking not enabled.\n"
-		       "  first occurrence: %B: Thumb call to ARM"),
-		     sym_sec->owner, name, input_bfd);
+		    (_("%pB(%s): warning: interworking not enabled;"
+		       " first occurrence: %pB: %s call to %s"),
+		     sym_sec->owner, name, input_bfd, "Thumb", "ARM");
 		}
 
 	      stub_type =
@@ -4124,10 +4405,10 @@ arm_type_of_stub (struct bfd_link_info *
     {
       if (input_sec->flags & SEC_ELF_PURECODE)
 	_bfd_error_handler
-	  (_("%B(%A): warning: long branch veneers used in"
+	  (_("%pB(%pA): warning: long branch veneers used in"
 	     " section with SHF_ARM_PURECODE section"
 	     " attribute is only supported for M-profile"
-	     " targets that implement the movw instruction."),
+	     " targets that implement the movw instruction"),
 	   input_bfd, input_sec);
       if (branch_type == ST_BRANCH_TO_THUMB)
 	{
@@ -4138,9 +4419,9 @@ arm_type_of_stub (struct bfd_link_info *
 	      && !INTERWORK_FLAG (sym_sec->owner))
 	    {
 	      _bfd_error_handler
-		(_("%B(%s): warning: interworking not enabled.\n"
-		   "  first occurrence: %B: ARM call to Thumb"),
-		 sym_sec->owner, name, input_bfd);
+		(_("%pB(%s): warning: interworking not enabled;"
+		   " first occurrence: %pB: %s call to %s"),
+		 sym_sec->owner, name, input_bfd, "ARM", "Thumb");
 	    }
 
 	  /* We have an extra 2-bytes reach because of
@@ -4412,7 +4693,7 @@ elf32_arm_create_or_find_stub_sec (asect
       out_sec = bfd_get_section_by_name (output_bfd, out_sec_name);
       if (out_sec == NULL)
 	{
-	  _bfd_error_handler (_("No address assigned to the veneers output "
+	  _bfd_error_handler (_("no address assigned to the veneers output "
 				"section %s"), out_sec_name);
 	  return NULL;
 	}
@@ -4487,7 +4768,7 @@ elf32_arm_add_stub (const char *stub_nam
     {
       if (section == NULL)
 	section = stub_sec;
-      _bfd_error_handler (_("%B: cannot create stub entry %s"),
+      _bfd_error_handler (_("%pB: cannot create stub entry %s"),
 			  section->owner, stub_name);
       return NULL;
     }
@@ -5672,8 +5953,8 @@ cmse_scan (bfd *input_bfd, struct elf32_
 
       if (!is_v8m)
 	{
-	  _bfd_error_handler (_("%B: Special symbol `%s' only allowed for "
-				"ARMv8-M architecture or later."),
+	  _bfd_error_handler (_("%pB: special symbol `%s' only allowed for "
+				"ARMv8-M architecture or later"),
 			      input_bfd, sym_name);
 	  is_v8m = TRUE; /* Avoid multiple warning.  */
 	  ret = FALSE;
@@ -5681,10 +5962,9 @@ cmse_scan (bfd *input_bfd, struct elf32_
 
       if (cmse_invalid)
 	{
-	  _bfd_error_handler (_("%B: invalid special symbol `%s'."),
+	  _bfd_error_handler (_("%pB: invalid special symbol `%s'; it must be"
+				" a global or weak function symbol"),
 			      input_bfd, sym_name);
-	  _bfd_error_handler (_("It must be a global or weak function "
-				"symbol."));
 	  ret = FALSE;
 	  if (i < ext_start)
 	    continue;
@@ -5721,13 +6001,13 @@ cmse_scan (bfd *input_bfd, struct elf32_
 	  if (hash || j < ext_start)
 	    {
 	      _bfd_error_handler
-		(_("%B: invalid standard symbol `%s'."), input_bfd, sym_name);
-	      _bfd_error_handler
-		(_("It must be a global or weak function symbol."));
+		(_("%pB: invalid standard symbol `%s'; it must be "
+		   "a global or weak function symbol"),
+		 input_bfd, sym_name);
 	    }
 	  else
 	    _bfd_error_handler
-	      (_("%B: absent standard symbol `%s'."), input_bfd, sym_name);
+	      (_("%pB: absent standard symbol `%s'"), input_bfd, sym_name);
 	  ret = FALSE;
 	  if (!hash)
 	    continue;
@@ -5739,7 +6019,7 @@ cmse_scan (bfd *input_bfd, struct elf32_
       if (cmse_hash->root.root.u.def.section != section)
 	{
 	  _bfd_error_handler
-	    (_("%B: `%s' and its special symbol are in different sections."),
+	    (_("%pB: `%s' and its special symbol are in different sections"),
 	     input_bfd, sym_name);
 	  ret = FALSE;
 	}
@@ -5751,14 +6031,14 @@ cmse_scan (bfd *input_bfd, struct elf32_
       if (section->output_section == NULL)
 	{
 	  _bfd_error_handler
-	    (_("%B: entry function `%s' not output."), input_bfd, sym_name);
+	    (_("%pB: entry function `%s' not output"), input_bfd, sym_name);
 	  continue;
 	}
 
       if (hash->root.size == 0)
 	{
 	  _bfd_error_handler
-	    (_("%B: entry function `%s' is empty."), input_bfd, sym_name);
+	    (_("%pB: entry function `%s' is empty"), input_bfd, sym_name);
 	  ret = FALSE;
 	}
 
@@ -5887,8 +6167,8 @@ set_cmse_veneer_addr_from_implib (struct
   in_implib_bfd = htab->in_implib_bfd;
   if (!htab->cmse_implib)
     {
-      _bfd_error_handler (_("%B: --in-implib only supported for Secure "
-			    "Gateway import libraries."), in_implib_bfd);
+      _bfd_error_handler (_("%pB: --in-implib only supported for Secure "
+			    "Gateway import libraries"), in_implib_bfd);
       return FALSE;
     }
 
@@ -5933,10 +6213,10 @@ set_cmse_veneer_addr_from_implib (struct
 	  || (ARM_GET_SYM_BRANCH_TYPE (intsym->st_target_internal)
 	      != ST_BRANCH_TO_THUMB))
 	{
-	  _bfd_error_handler (_("%B: invalid import library entry: `%s'."),
+	  _bfd_error_handler (_("%pB: invalid import library entry: `%s'; "
+				"symbol should be absolute, global and "
+				"refer to Thumb functions"),
 			      in_implib_bfd, sym_name);
-	  _bfd_error_handler (_("Symbol should be absolute, global and "
-				"refer to Thumb functions."));
 	  ret = FALSE;
 	  continue;
 	}
@@ -5955,7 +6235,7 @@ set_cmse_veneer_addr_from_implib (struct
 	  bfd_boolean new_stub;
 
 	  _bfd_error_handler
-	    (_("Entry function `%s' disappeared from secure code."), sym_name);
+	    (_("entry function `%s' disappeared from secure code"), sym_name);
 	  hash = (struct elf32_arm_link_hash_entry *)
 	    elf_link_hash_lookup (&(htab)->root, sym_name, TRUE, TRUE, TRUE);
 	  stub_entry
@@ -5979,7 +6259,7 @@ set_cmse_veneer_addr_from_implib (struct
 	{
 	  if (!cmse_entry_fct_p (hash))
 	    {
-	      _bfd_error_handler (_("`%s' refers to a non entry function."),
+	      _bfd_error_handler (_("`%s' refers to a non entry function"),
 				  sym_name);
 	      ret = FALSE;
 	    }
@@ -5994,7 +6274,7 @@ set_cmse_veneer_addr_from_implib (struct
 	  if (!!(flags & BSF_GLOBAL)
 	      != (hash->root.root.type == bfd_link_hash_defined))
 	    _bfd_error_handler
-	      (_("%B: visibility of symbol `%s' has changed."), in_implib_bfd,
+	      (_("%pB: visibility of symbol `%s' has changed"), in_implib_bfd,
 	       sym_name);
 
 	  stub_entry->stub_offset = stub_offset;
@@ -6003,7 +6283,7 @@ set_cmse_veneer_addr_from_implib (struct
       /* Size should match that of a SG veneer.  */
       if (intsym->st_size != cmse_stub_size)
 	{
-	  _bfd_error_handler (_("%B: incorrect size for symbol `%s'."),
+	  _bfd_error_handler (_("%pB: incorrect size for symbol `%s'"),
 			      in_implib_bfd, sym_name);
 	  ret = FALSE;
 	}
@@ -6022,8 +6302,8 @@ set_cmse_veneer_addr_from_implib (struct
       if (stub_offset % cmse_stub_size)
 	{
 	  _bfd_error_handler
-	    (_("Offset of veneer for entry function `%s' not a multiple of "
-	       "its size."), sym_name);
+	    (_("offset of veneer for entry function `%s' not a multiple of "
+	       "its size"), sym_name);
 	  ret = FALSE;
 	}
 
@@ -6050,7 +6330,7 @@ set_cmse_veneer_addr_from_implib (struct
   if (cmse_stub_array_start != cmse_stub_sec_vma)
     {
       _bfd_error_handler
-	(_("Start address of `%s' is different from previous link."),
+	(_("start address of `%s' is different from previous link"),
 	 out_sec_name);
       ret = FALSE;
     }
@@ -6624,7 +6904,7 @@ elf32_arm_size_stubs (bfd *output_bfd,
 					     TRUE, FALSE);
 	  if (stub_entry == NULL)
 	    {
-	      _bfd_error_handler (_("%B: cannot create stub entry %s"),
+	      _bfd_error_handler (_("%pB: cannot create stub entry %s"),
 				  section->owner, stub_name);
 	      return FALSE;
 	    }
@@ -6757,8 +7037,8 @@ find_thumb_glue (struct bfd_link_info *l
     (&(hash_table)->root, tmp_name, FALSE, FALSE, TRUE);
 
   if (hash == NULL
-      && asprintf (error_message, _("unable to find THUMB glue '%s' for '%s'"),
-		   tmp_name, name) == -1)
+      && asprintf (error_message, _("unable to find %s glue '%s' for '%s'"),
+		   "Thumb", tmp_name, name) == -1)
     *error_message = (char *) bfd_errmsg (bfd_error_system_call);
 
   free (tmp_name);
@@ -6793,8 +7073,8 @@ find_arm_glue (struct bfd_link_info *lin
     (&(hash_table)->root, tmp_name, FALSE, FALSE, TRUE);
 
   if (myh == NULL
-      && asprintf (error_message, _("unable to find ARM glue '%s' for '%s'"),
-		   tmp_name, name) == -1)
+      && asprintf (error_message, _("unable to find %s glue '%s' for '%s'"),
+		   "ARM", tmp_name, name) == -1)
     *error_message = (char *) bfd_errmsg (bfd_error_system_call);
 
   free (tmp_name);
@@ -7508,7 +7788,7 @@ bfd_elf32_arm_process_before_allocation 
 
   if (globals->byteswap_code && !bfd_big_endian (abfd))
     {
-      _bfd_error_handler (_("%B: BE8 images only valid in big-endian mode."),
+      _bfd_error_handler (_("%pB: BE8 images only valid in big-endian mode"),
 			  abfd);
       return FALSE;
     }
@@ -7739,7 +8019,7 @@ bfd_elf32_arm_set_vfp11_fix (bfd *obfd, 
 
 	default:
 	  /* Give a warning, but do as the user requests anyway.  */
-	  _bfd_error_handler (_("%B: warning: selected VFP11 erratum "
+	  _bfd_error_handler (_("%pB: warning: selected VFP11 erratum "
 	    "workaround is not necessary for target architecture"), obfd);
 	}
     }
@@ -7766,7 +8046,7 @@ bfd_elf32_arm_set_stm32l4xx_fix (bfd *ob
       if (globals->stm32l4xx_fix != BFD_ARM_STM32L4XX_FIX_NONE)
 	/* Give a warning, but do as the user requests anyway.  */
 	_bfd_error_handler
-	  (_("%B: warning: selected STM32L4XX erratum "
+	  (_("%pB: warning: selected STM32L4XX erratum "
 	     "workaround is not necessary for target architecture"), obfd);
     }
 }
@@ -8303,8 +8583,8 @@ bfd_elf32_arm_vfp11_fix_veneer_locations
 		(&(globals)->root, tmp_name, FALSE, FALSE, TRUE);
 
 	      if (myh == NULL)
-		_bfd_error_handler (_("%B: unable to find VFP11 veneer "
-				      "`%s'"), abfd, tmp_name);
+		_bfd_error_handler (_("%pB: unable to find %s veneer `%s'"),
+				    abfd, "VFP11", tmp_name);
 
 	      vma = myh->root.u.def.section->output_section->vma
 		    + myh->root.u.def.section->output_offset
@@ -8323,8 +8603,8 @@ bfd_elf32_arm_vfp11_fix_veneer_locations
 		(&(globals)->root, tmp_name, FALSE, FALSE, TRUE);
 
 	      if (myh == NULL)
-		_bfd_error_handler (_("%B: unable to find VFP11 veneer "
-				      "`%s'"), abfd, tmp_name);
+		_bfd_error_handler (_("%pB: unable to find %s veneer `%s'"),
+				    abfd, "VFP11", tmp_name);
 
 	      vma = myh->root.u.def.section->output_section->vma
 		    + myh->root.u.def.section->output_offset
@@ -8389,8 +8669,8 @@ bfd_elf32_arm_stm32l4xx_fix_veneer_locat
 		(&(globals)->root, tmp_name, FALSE, FALSE, TRUE);
 
 	      if (myh == NULL)
-		_bfd_error_handler (_("%B: unable to find STM32L4XX veneer "
-				      "`%s'"), abfd, tmp_name);
+		_bfd_error_handler (_("%pB: unable to find %s veneer `%s'"),
+				    abfd, "STM32L4XX", tmp_name);
 
 	      vma = myh->root.u.def.section->output_section->vma
 		+ myh->root.u.def.section->output_offset
@@ -8408,8 +8688,8 @@ bfd_elf32_arm_stm32l4xx_fix_veneer_locat
 		(&(globals)->root, tmp_name, FALSE, FALSE, TRUE);
 
 	      if (myh == NULL)
-		_bfd_error_handler (_("%B: unable to find STM32L4XX veneer "
-				      "`%s'"), abfd, tmp_name);
+		_bfd_error_handler (_("%pB: unable to find %s veneer `%s'"),
+				    abfd, "STM32L4XX", tmp_name);
 
 	      vma = myh->root.u.def.section->output_section->vma
 		+ myh->root.u.def.section->output_offset
@@ -8615,11 +8895,11 @@ bfd_elf32_arm_stm32l4xx_erratum_scan (bf
 			  {
 			    _bfd_error_handler
 			      /* xgettext:c-format */
-			      (_("%B(%A+%#x): error: multiple load detected"
-				 " in non-last IT block instruction :"
-				 " STM32L4XX veneer cannot be generated.\n"
-				 "Use gcc option -mrestrict-it to generate"
-				 " only one instruction per IT block.\n"),
+			      (_("%pB(%pA+%#x): error: multiple load detected"
+				 " in non-last IT block instruction:"
+				 " STM32L4XX veneer cannot be generated; "
+				 "use gcc option -mrestrict-it to generate"
+				 " only one instruction per IT block"),
 			       abfd, sec, i);
 			  }
 			else
@@ -8705,7 +8985,9 @@ bfd_elf32_arm_set_target_params (struct 
     return;
 
   globals->target1_is_rel = params->target1_is_rel;
-  if (strcmp (params->target2_type, "rel") == 0)
+  if (globals->fdpic_p)
+    globals->target2_reloc = R_ARM_GOT32;
+  else if (strcmp (params->target2_type, "rel") == 0)
     globals->target2_reloc = R_ARM_REL32;
   else if (strcmp (params->target2_type, "abs") == 0)
     globals->target2_reloc = R_ARM_ABS32;
@@ -8713,14 +8995,17 @@ bfd_elf32_arm_set_target_params (struct 
     globals->target2_reloc = R_ARM_GOT_PREL;
   else
     {
-      _bfd_error_handler (_("Invalid TARGET2 relocation type '%s'."),
+      _bfd_error_handler (_("invalid TARGET2 relocation type '%s'"),
 			  params->target2_type);
     }
   globals->fix_v4bx = params->fix_v4bx;
   globals->use_blx |= params->use_blx;
   globals->vfp11_fix = params->vfp11_denorm_fix;
   globals->stm32l4xx_fix = params->stm32l4xx_fix;
-  globals->pic_veneer = params->pic_veneer;
+  if (globals->fdpic_p)
+    globals->pic_veneer = 1;
+  else
+    globals->pic_veneer = params->pic_veneer;
   globals->fix_cortex_a8 = params->fix_cortex_a8;
   globals->fix_arm1176 = params->fix_arm1176;
   globals->cmse_implib = params->cmse_implib;
@@ -8803,9 +9088,9 @@ elf32_thumb_to_arm_stub (struct bfd_link
 	  && !INTERWORK_FLAG (sym_sec->owner))
 	{
 	  _bfd_error_handler
-	    (_("%B(%s): warning: interworking not enabled.\n"
-	       "  first occurrence: %B: Thumb call to ARM"),
-	     sym_sec->owner, name, input_bfd);
+	    (_("%pB(%s): warning: interworking not enabled;"
+	       " first occurrence: %pB: %s call to %s"),
+	     sym_sec->owner, name, input_bfd, "Thumb", "ARM");
 
 	  return FALSE;
 	}
@@ -8893,9 +9178,9 @@ elf32_arm_create_thumb_stub (struct bfd_
 	  && !INTERWORK_FLAG (sym_sec->owner))
 	{
 	  _bfd_error_handler
-	    (_("%B(%s): warning: interworking not enabled.\n"
-	       "  first occurrence: %B: arm call to thumb"),
-	     sym_sec->owner, name, input_bfd);
+	    (_("%pB(%s): warning: interworking not enabled;"
+	       " first occurrence: %pB: %s call to %s"),
+	     sym_sec->owner, name, input_bfd, "ARM", "Thumb");
 	}
 
       --my_offset;
@@ -9206,8 +9491,22 @@ elf32_arm_allocate_plt_entry (struct bfd
       splt = htab->root.splt;
       sgotplt = htab->root.sgotplt;
 
-      /* Allocate room for an R_JUMP_SLOT relocation in .rel.plt.  */
-      elf32_arm_allocate_dynrelocs (info, htab->root.srelplt, 1);
+    if (htab->fdpic_p)
+      {
+	/* Allocate room for R_ARM_FUNCDESC_VALUE.  */
+	/* For lazy binding, relocations will be put into .rel.plt, in
+	   .rel.got otherwise.  */
+	/* FIXME: today we don't support lazy binding so put it in .rel.got */
+	if (info->flags & DF_BIND_NOW)
+	  elf32_arm_allocate_dynrelocs (info, htab->root.srelgot, 1);
+	else
+	  elf32_arm_allocate_dynrelocs (info, htab->root.srelplt, 1);
+      }
+    else
+      {
+	/* Allocate room for an R_JUMP_SLOT relocation in .rel.plt.  */
+	elf32_arm_allocate_dynrelocs (info, htab->root.srelplt, 1);
+      }
 
       /* If this is the first .plt entry, make room for the special
 	 first entry.  */
@@ -9231,7 +9530,11 @@ elf32_arm_allocate_plt_entry (struct bfd
 	arm_plt->got_offset = sgotplt->size;
       else
 	arm_plt->got_offset = sgotplt->size - 8 * htab->num_tls_desc;
-      sgotplt->size += 4;
+      if (htab->fdpic_p)
+	/* Function descriptor takes 64 bits in GOT.  */
+        sgotplt->size += 8;
+      else
+	sgotplt->size += 4;
     }
 }
 
@@ -9340,7 +9643,11 @@ elf32_arm_populate_plt_entry (bfd *outpu
 	 in all the symbols for which we are making plt entries.
 	 After the reserved .got.plt entries, all symbols appear in
 	 the same order as in .plt.  */
-      plt_index = (got_offset - got_header_size) / 4;
+      if (htab->fdpic_p)
+        /* Function descriptor takes 8 bytes.  */
+        plt_index = (got_offset - got_header_size) / 8;
+      else
+        plt_index = (got_offset - got_header_size) / 4;
 
       /* Calculate the address of the GOT entry.  */
       got_address = (sgot->output_section->vma
@@ -9448,6 +9755,41 @@ elf32_arm_populate_plt_entry (bfd *outpu
 			| (tail_displacement & 0x00ffffff),
 			ptr + 12);
 	}
+      else if (htab->fdpic_p)
+	{
+	  const bfd_vma *plt_entry = using_thumb_only(htab)
+	    ? elf32_arm_fdpic_thumb_plt_entry
+	    : elf32_arm_fdpic_plt_entry;
+
+	  /* Fill-up Thumb stub if needed.  */
+	  if (elf32_arm_plt_needs_thumb_stub_p (info, arm_plt))
+	    {
+	      put_thumb_insn (htab, output_bfd,
+			      elf32_arm_plt_thumb_stub[0], ptr - 4);
+	      put_thumb_insn (htab, output_bfd,
+			      elf32_arm_plt_thumb_stub[1], ptr - 2);
+	    }
+	  /* As we are using 32 bit instructions even for the Thumb
+	     version, we have to use 'put_arm_insn' instead of
+	     'put_thumb_insn'.  */
+	  put_arm_insn(htab, output_bfd, plt_entry[0], ptr + 0);
+	  put_arm_insn(htab, output_bfd, plt_entry[1], ptr + 4);
+	  put_arm_insn(htab, output_bfd, plt_entry[2], ptr + 8);
+	  put_arm_insn(htab, output_bfd, plt_entry[3], ptr + 12);
+	  bfd_put_32 (output_bfd, got_offset, ptr + 16);
+
+	  if (!(info->flags & DF_BIND_NOW))
+	    {
+	      /* funcdesc_value_reloc_offset.  */
+	      bfd_put_32 (output_bfd,
+			  htab->root.srelplt->reloc_count * RELOC_SIZE (htab),
+			  ptr + 20);
+	      put_arm_insn(htab, output_bfd, plt_entry[6], ptr + 24);
+	      put_arm_insn(htab, output_bfd, plt_entry[7], ptr + 28);
+	      put_arm_insn(htab, output_bfd, plt_entry[8], ptr + 32);
+	      put_arm_insn(htab, output_bfd, plt_entry[9], ptr + 36);
+	    }
+	}
       else if (using_thumb_only (htab))
 	{
 	  /* PR ld/16017: Generate thumb only PLT entries.  */
@@ -9455,7 +9797,7 @@ elf32_arm_populate_plt_entry (bfd *outpu
 	    {
 	      /* FIXME: We ought to be able to generate thumb-1 PLT
 		 instructions...  */
-	      _bfd_error_handler (_("%B: Warning: thumb-1 mode PLT generation not currently supported"),
+	      _bfd_error_handler (_("%pB: warning: thumb-1 mode PLT generation not currently supported"),
 				  output_bfd);
 	      return FALSE;
 	    }
@@ -9558,22 +9900,61 @@ elf32_arm_populate_plt_entry (bfd *outpu
 	}
       else
 	{
-	  rel.r_info = ELF32_R_INFO (dynindx, R_ARM_JUMP_SLOT);
-	  initial_got_entry = (splt->output_section->vma
-			       + splt->output_offset);
+	  /* For FDPIC we will have to resolve a R_ARM_FUNCDESC_VALUE
+	     used by PLT entry.  */
+	  if (htab->fdpic_p)
+	    {
+	      rel.r_info = ELF32_R_INFO (dynindx, R_ARM_FUNCDESC_VALUE);
+	      initial_got_entry = 0;
+	    }
+	  else
+	    {
+	      rel.r_info = ELF32_R_INFO (dynindx, R_ARM_JUMP_SLOT);
+	      initial_got_entry = (splt->output_section->vma
+				   + splt->output_offset);
+	    }
 	}
 
       /* Fill in the entry in the global offset table.  */
       bfd_put_32 (output_bfd, initial_got_entry,
 		  sgot->contents + got_offset);
+
+      if (htab->fdpic_p && !(info->flags & DF_BIND_NOW))
+	{
+	  /* Setup initial funcdesc value.  */
+	  /* FIXME: we don't support lazy binding because there is a
+	     race condition between both words getting written and
+	     some other thread attempting to read them. The ARM
+	     architecture does not have an atomic 64 bit load/store
+	     instruction that could be used to prevent it; it is
+	     recommended that threaded FDPIC applications run with the
+	     LD_BIND_NOW environment variable set.  */
+	  bfd_put_32(output_bfd, plt_address + 0x18,
+		     sgot->contents + got_offset);
+	  bfd_put_32(output_bfd, -1 /*TODO*/,
+		     sgot->contents + got_offset + 4);
+	}
     }
 
   if (dynindx == -1)
     elf32_arm_add_dynreloc (output_bfd, info, srel, &rel);
   else
     {
-      loc = srel->contents + plt_index * RELOC_SIZE (htab);
-      SWAP_RELOC_OUT (htab) (output_bfd, &rel, loc);
+      if (htab->fdpic_p)
+	{
+	  /* For FDPIC we put PLT relocationss into .rel.got when not
+	     lazy binding otherwise we put them in .rel.plt.  For now,
+	     we don't support lazy binding so put it in .rel.got.  */
+	  if (info->flags & DF_BIND_NOW)
+	    elf32_arm_add_dynreloc(output_bfd, info, htab->root.srelgot, &rel);
+	  else
+	    elf32_arm_add_dynreloc(output_bfd, info, htab->root.srelplt, &rel);
+	}
+      else
+	{
+	  loc = srel->contents + plt_index * RELOC_SIZE (htab);
+	  SWAP_RELOC_OUT (htab) (output_bfd, &rel, loc);
+	}
     }
 
   return TRUE;
@@ -9720,8 +10101,10 @@ elf32_arm_tls_relax (struct elf32_arm_li
 	      | bfd_get_16 (input_bfd, contents + rel->r_offset + 2);
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline"),
-	     input_bfd, input_sec, rel->r_offset, insn);
+	    (_("%pB(%pA+%#" PRIx64 "): "
+	       "unexpected %s instruction '%#lx' in TLS trampoline"),
+	     input_bfd, input_sec, (uint64_t) rel->r_offset,
+	     "Thumb", insn);
 	  return bfd_reloc_notsupported;
 	}
       break;
@@ -9760,8 +10143,10 @@ elf32_arm_tls_relax (struct elf32_arm_li
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline"),
-	     input_bfd, input_sec, rel->r_offset, insn);
+	    (_("%pB(%pA+%#" PRIx64 "): "
+	       "unexpected %s instruction '%#lx' in TLS trampoline"),
+	     input_bfd, input_sec, (uint64_t) rel->r_offset,
+	     "ARM", insn);
 	  return bfd_reloc_notsupported;
 	}
       break;
@@ -10075,7 +10460,8 @@ elf32_arm_final_link_relocate (reloc_how
 	 relocations are copied into the output file to be resolved at
 	 run time.  */
       if ((bfd_link_pic (info)
-	   || globals->root.is_relocatable_executable)
+	   || globals->root.is_relocatable_executable
+	   || globals->fdpic_p)
 	  && (input_section->flags & SEC_ALLOC)
 	  && !(globals->vxworks_p
 	       && strcmp (input_section->output_section->name,
@@ -10096,6 +10482,7 @@ elf32_arm_final_link_relocate (reloc_how
 	{
 	  Elf_Internal_Rela outrel;
 	  bfd_boolean skip, relocate;
+	  int isrofixup = 0;
 
 	  if ((r_type == R_ARM_REL32 || r_type == R_ARM_REL32_NOI)
 	      && !h->def_regular)
@@ -10106,7 +10493,7 @@ elf32_arm_final_link_relocate (reloc_how
 		v = _("PIE executable");
 
 	      _bfd_error_handler
-		(_("%B: relocation %s against external or undefined symbol `%s'"
+		(_("%pB: relocation %s against external or undefined symbol `%s'"
 		   " can not be used when making a %s; recompile with -fPIC"), input_bfd,
 		 elf32_arm_howto_table_1[r_type].name, h->root.root.string, v);
 	      return bfd_reloc_notsupported;
@@ -10151,7 +10538,8 @@ elf32_arm_final_link_relocate (reloc_how
 	      int symbol;
 
 	      /* This symbol is local, or marked to become local.  */
-	      BFD_ASSERT (r_type == R_ARM_ABS32 || r_type == R_ARM_ABS32_NOI);
+	      BFD_ASSERT (r_type == R_ARM_ABS32 || r_type == R_ARM_ABS32_NOI
+			  || (globals->fdpic_p && !bfd_link_pic(info)));
 	      if (globals->symbian_p)
 		{
 		  asection *osec;
@@ -10197,6 +10585,8 @@ elf32_arm_final_link_relocate (reloc_how
 		   must use an R_ARM_IRELATIVE relocation to obtain the
 		   correct run-time address.  */
 		outrel.r_info = ELF32_R_INFO (symbol, R_ARM_IRELATIVE);
+	      else if (globals->fdpic_p && !bfd_link_pic(info))
+		isrofixup = 1;
 	      else
 		outrel.r_info = ELF32_R_INFO (symbol, R_ARM_RELATIVE);
 	      if (globals->use_rel)
@@ -10205,7 +10595,10 @@ elf32_arm_final_link_relocate (reloc_how
 		outrel.r_addend += dynreloc_value;
 	    }
 
-	  elf32_arm_add_dynreloc (output_bfd, info, sreloc, &outrel);
+	  if (isrofixup)
+	    arm_elf_add_rofixup(output_bfd, globals->srofixup, outrel.r_offset);
+	  else
+	    elf32_arm_add_dynreloc (output_bfd, info, sreloc, &outrel);
 
 	  /* If this reloc is against an external symbol, we do not want to
 	     fiddle with the addend.  Otherwise, we need to include the symbol
@@ -10237,9 +10630,10 @@ elf32_arm_final_link_relocate (reloc_how
 		 instruction instead ?  */
 	      if (branch_type != ST_BRANCH_TO_THUMB)
 		_bfd_error_handler
-		  (_("\%B: Warning: Arm BLX instruction targets Arm function '%s'."),
-		   input_bfd,
-		   h ? h->root.root.string : "(local)");
+		  (_("\%pB: warning: %s BLX instruction targets"
+		     " %s function '%s'"),
+		   input_bfd, "ARM",
+		   "ARM", h ? h->root.root.string : "(local)");
 	    }
 	  else if (r_type == R_ARM_PC24)
 	    {
@@ -10663,9 +11057,10 @@ elf32_arm_final_link_relocate (reloc_how
 	       instruction instead ?  */
 	    if (branch_type == ST_BRANCH_TO_THUMB)
 	      _bfd_error_handler
-		(_("%B: Warning: Thumb BLX instruction targets thumb function '%s'."),
-		 input_bfd,
-		 h ? h->root.root.string : "(local)");
+		(_("%pB: warning: %s BLX instruction targets"
+		   " %s function '%s'"),
+		 input_bfd, "Thumb",
+		 "Thumb", h ? h->root.root.string : "(local)");
 	  }
 	else
 	  {
@@ -11079,8 +11474,10 @@ elf32_arm_final_link_relocate (reloc_how
 	  else
 	    {
 	      Elf_Internal_Rela outrel;
+	      int isrofixup = 0;
 
-	      if (h->dynindx != -1 && !SYMBOL_REFERENCES_LOCAL (info, h))
+	      if (((h->dynindx != -1) || globals->fdpic_p)
+		  && !SYMBOL_REFERENCES_LOCAL (info, h))
 		{
 		  /* If the symbol doesn't resolve locally in a static
 		     object, we have an undefined reference.  If the
@@ -11103,6 +11500,8 @@ elf32_arm_final_link_relocate (reloc_how
 			   && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
 			       || h->root.type != bfd_link_hash_undefweak))
 		    outrel.r_info = ELF32_R_INFO (0, R_ARM_RELATIVE);
+		  else if (globals->fdpic_p)
+		    isrofixup = 1;
 		  else
 		    outrel.r_info = 0;
 		  outrel.r_addend = dynreloc_value;
@@ -11111,20 +11510,27 @@ elf32_arm_final_link_relocate (reloc_how
 	      /* The GOT entry is initialized to zero by default.
 		 See if we should install a different value.  */
 	      if (outrel.r_addend != 0
-		  && (outrel.r_info == 0 || globals->use_rel))
+		  && (outrel.r_info == 0 || globals->use_rel || isrofixup))
 		{
 		  bfd_put_32 (output_bfd, outrel.r_addend,
 			      sgot->contents + off);
 		  outrel.r_addend = 0;
 		}
 
-	      if (outrel.r_info != 0)
+	      if (outrel.r_info != 0 && !isrofixup)
 		{
 		  outrel.r_offset = (sgot->output_section->vma
 				     + sgot->output_offset
 				     + off);
 		  elf32_arm_add_dynreloc (output_bfd, info, srelgot, &outrel);
 		}
+	      else if (isrofixup)
+		{
+		  arm_elf_add_rofixup(output_bfd,
+				      elf32_arm_hash_table(info)->srofixup,
+				      sgot->output_section->vma
+				      + sgot->output_offset + off);
+		}
 	      h->got.offset |= 1;
 	    }
 	  value = sgot->output_offset + off;
@@ -11162,6 +11568,14 @@ elf32_arm_final_link_relocate (reloc_how
 		    outrel.r_info = ELF32_R_INFO (0, R_ARM_RELATIVE);
 		  elf32_arm_add_dynreloc (output_bfd, info, srelgot, &outrel);
 		}
+	      else if (globals->fdpic_p)
+		{
+		  /* For FDPIC executables, we use rofixup to fix
+		     address at runtime.  */
+		  arm_elf_add_rofixup(output_bfd, globals->srofixup,
+				      sgot->output_section->vma + sgot->output_offset
+				      + off);
+		}
 
 	      local_got_offsets[r_symndx] |= 1;
 	    }
@@ -11183,6 +11597,7 @@ elf32_arm_final_link_relocate (reloc_how
 				       rel->r_addend);
 
     case R_ARM_TLS_LDM32:
+    case R_ARM_TLS_LDM32_FDPIC:
       {
 	bfd_vma off;
 
@@ -11221,18 +11636,32 @@ elf32_arm_final_link_relocate (reloc_how
 	    globals->tls_ldm_got.offset |= 1;
 	  }
 
-	value = sgot->output_section->vma + sgot->output_offset + off
-	  - (input_section->output_section->vma + input_section->output_offset + rel->r_offset);
+	if (r_type == R_ARM_TLS_LDM32_FDPIC)
+	  {
+	    bfd_put_32(output_bfd,
+		       globals->root.sgot->output_offset + off,
+		       contents + rel->r_offset);
 
-	return _bfd_final_link_relocate (howto, input_bfd, input_section,
-					 contents, rel->r_offset, value,
-					 rel->r_addend);
+	    return bfd_reloc_ok;
+	  }
+	else
+	  {
+	    value = sgot->output_section->vma + sgot->output_offset + off
+	      - (input_section->output_section->vma
+		 + input_section->output_offset + rel->r_offset);
+
+	    return _bfd_final_link_relocate (howto, input_bfd, input_section,
+					     contents, rel->r_offset, value,
+					     rel->r_addend);
+	  }
       }
 
     case R_ARM_TLS_CALL:
     case R_ARM_THM_TLS_CALL:
     case R_ARM_TLS_GD32:
+    case R_ARM_TLS_GD32_FDPIC:
     case R_ARM_TLS_IE32:
+    case R_ARM_TLS_IE32_FDPIC:
     case R_ARM_TLS_GOTDESC:
     case R_ARM_TLS_DESCSEQ:
     case R_ARM_THM_TLS_DESCSEQ:
@@ -11420,7 +11849,7 @@ elf32_arm_final_link_relocate (reloc_how
 	      local_got_offsets[r_symndx] |= 1;
 	  }
 
-	if ((tls_type & GOT_TLS_GD) && r_type != R_ARM_TLS_GD32)
+	if ((tls_type & GOT_TLS_GD) && r_type != R_ARM_TLS_GD32 && r_type != R_ARM_TLS_GD32_FDPIC)
 	  off += 8;
 	else if (tls_type & GOT_TLS_GDESC)
 	  off = offplt;
@@ -11531,8 +11960,11 @@ elf32_arm_final_link_relocate (reloc_how
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC"),
-		       input_bfd, input_section, rel->r_offset, insn);
+		      (_("%pB(%pA+%#" PRIx64 "): "
+			 "unexpected %s instruction '%#lx' "
+			 "referenced by TLS_GOTDESC"),
+		       input_bfd, input_section, (uint64_t) rel->r_offset,
+		       "Thumb", insn);
 		    return bfd_reloc_notsupported;
 		  }
 	      }
@@ -11554,8 +11986,11 @@ elf32_arm_final_link_relocate (reloc_how
 		  default:
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC"),
-		       input_bfd, input_section, rel->r_offset, insn);
+		      (_("%pB(%pA+%#" PRIx64 "): "
+			 "unexpected %s instruction '%#lx' "
+			 "referenced by TLS_GOTDESC"),
+		       input_bfd, input_section, (uint64_t) rel->r_offset,
+		       "ARM", insn);
 		    return bfd_reloc_notsupported;
 		  }
 	      }
@@ -11573,9 +12008,23 @@ elf32_arm_final_link_relocate (reloc_how
 		   - (input_section->output_section->vma
 		      + input_section->output_offset + rel->r_offset));
 
-	return _bfd_final_link_relocate (howto, input_bfd, input_section,
-					 contents, rel->r_offset, value,
-					 rel->r_addend);
+	if (globals->fdpic_p && (r_type == R_ARM_TLS_GD32_FDPIC ||
+				 r_type == R_ARM_TLS_IE32_FDPIC))
+	  {
+	    /* For FDPIC relocations, resolve to the offset of the GOT
+	       entry from the start of GOT.  */
+	    bfd_put_32(output_bfd,
+		       globals->root.sgot->output_offset + off,
+		       contents + rel->r_offset);
+
+	    return bfd_reloc_ok;
+	  }
+	else
+	  {
+	    return _bfd_final_link_relocate (howto, input_bfd, input_section,
+					     contents, rel->r_offset, value,
+					     rel->r_addend);
+	  }
       }
 
     case R_ARM_TLS_LE32:
@@ -11583,8 +12032,9 @@ elf32_arm_final_link_relocate (reloc_how
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): %s relocation not permitted in shared object"),
-	     input_bfd, input_section, rel->r_offset, howto->name);
+	    (_("%pB(%pA+%#" PRIx64 "): %s relocation not permitted "
+	       "in shared object"),
+	     input_bfd, input_section, (uint64_t) rel->r_offset, howto->name);
 	  return bfd_reloc_notsupported;
 	}
       else
@@ -11796,8 +12246,9 @@ elf32_arm_final_link_relocate (reloc_how
 	      {
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group relocations"),
-		  input_bfd, input_section, rel->r_offset);
+		  (_("%pB(%pA+%#" PRIx64 "): only ADD or SUB instructions "
+		     "are allowed for ALU group relocations"),
+		  input_bfd, input_section, (uint64_t) rel->r_offset);
 		return bfd_reloc_overflow;
 	      }
 
@@ -11836,9 +12287,11 @@ elf32_arm_final_link_relocate (reloc_how
 	  {
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"),
-	       input_bfd, input_section, rel->r_offset,
-	       signed_value < 0 ? -signed_value : signed_value, howto->name);
+	      (_("%pB(%pA+%#" PRIx64 "): overflow whilst "
+		 "splitting %#" PRIx64 " for group relocation %s"),
+	       input_bfd, input_section, (uint64_t) rel->r_offset,
+	       (uint64_t) (signed_value < 0 ? -signed_value : signed_value),
+	       howto->name);
 	    return bfd_reloc_overflow;
 	  }
 
@@ -11926,9 +12379,11 @@ elf32_arm_final_link_relocate (reloc_how
 	  {
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"),
-	       input_bfd, input_section, rel->r_offset,
-	       signed_value < 0 ? -signed_value : signed_value, howto->name);
+	      (_("%pB(%pA+%#" PRIx64 "): overflow whilst "
+		 "splitting %#" PRIx64 " for group relocation %s"),
+	       input_bfd, input_section, (uint64_t) rel->r_offset,
+	       (uint64_t) (signed_value < 0 ? -signed_value : signed_value),
+	       howto->name);
 	    return bfd_reloc_overflow;
 	  }
 
@@ -12012,9 +12467,11 @@ elf32_arm_final_link_relocate (reloc_how
 	  {
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"),
-	       input_bfd, input_section, rel->r_offset,
-	       signed_value < 0 ? -signed_value : signed_value, howto->name);
+	      (_("%pB(%pA+%#" PRIx64 "): overflow whilst "
+		 "splitting %#" PRIx64 " for group relocation %s"),
+	       input_bfd, input_section, (uint64_t) rel->r_offset,
+	       (uint64_t) (signed_value < 0 ? -signed_value : signed_value),
+	       howto->name);
 	    return bfd_reloc_overflow;
 	  }
 
@@ -12100,9 +12557,11 @@ elf32_arm_final_link_relocate (reloc_how
 	  {
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"),
-	       input_bfd, input_section, rel->r_offset,
-	       signed_value < 0 ? -signed_value : signed_value, howto->name);
+	      (_("%pB(%pA+%#" PRIx64 "): overflow whilst "
+		 "splitting %#" PRIx64 " for group relocation %s"),
+	       input_bfd, input_section, (uint64_t) rel->r_offset,
+	       (uint64_t) (signed_value < 0 ? -signed_value : signed_value),
+	       howto->name);
 	    return bfd_reloc_overflow;
 	  }
 
@@ -12147,6 +12606,241 @@ elf32_arm_final_link_relocate (reloc_how
 	*unresolved_reloc_p = FALSE;
 	return bfd_reloc_ok;
 
+    case R_ARM_GOTOFFFUNCDESC:
+      {
+        if (h == NULL)
+	  {
+	    struct fdpic_local *local_fdpic_cnts = elf32_arm_local_fdpic_cnts(input_bfd);
+	    int dynindx = elf_section_data (sym_sec->output_section)->dynindx;
+	    int offset = local_fdpic_cnts[r_symndx].funcdesc_offset & ~1;
+	    bfd_vma addr = dynreloc_value - sym_sec->output_section->vma;
+	    bfd_vma seg = -1;
+
+	    if (bfd_link_pic(info) && dynindx == 0)
+	      abort();
+
+	    /* Resolve relocation.  */
+	    bfd_put_32(output_bfd, (offset + sgot->output_offset)
+		       , contents + rel->r_offset);
+	    /* Emit R_ARM_FUNCDESC_VALUE or two fixups on funcdesc if
+	       not done yet.  */
+	    arm_elf_fill_funcdesc(output_bfd, info,
+				  &local_fdpic_cnts[r_symndx].funcdesc_offset,
+				  dynindx, offset, addr, dynreloc_value, seg);
+	  }
+	else
+	  {
+	    int dynindx;
+	    int offset = eh->fdpic_cnts.funcdesc_offset & ~1;
+	    bfd_vma addr;
+	    bfd_vma seg = -1;
+
+	    /* For static binaries, sym_sec can be null.  */
+	    if (sym_sec)
+	      {
+		dynindx = elf_section_data (sym_sec->output_section)->dynindx;
+		addr = dynreloc_value - sym_sec->output_section->vma;
+	      }
+	    else
+	      {
+		dynindx = 0;
+		addr = 0;
+	      }
+
+	    if (bfd_link_pic(info) && dynindx == 0)
+	      abort();
+
+	    /* This case cannot occur since funcdesc is allocated by
+	       the dynamic loader so we cannot resolve the relocation.  */
+	    if (h->dynindx != -1)
+	      abort();
+
+	    /* Resolve relocation.  */
+	    bfd_put_32(output_bfd, (offset + sgot->output_offset),
+		       contents + rel->r_offset);
+	    /* Emit R_ARM_FUNCDESC_VALUE on funcdesc if not done yet.  */
+	    arm_elf_fill_funcdesc(output_bfd, info,
+				  &eh->fdpic_cnts.funcdesc_offset,
+				  dynindx, offset, addr, dynreloc_value, seg);
+	  }
+      }
+      *unresolved_reloc_p = FALSE;
+      return bfd_reloc_ok;
+
+    case R_ARM_GOTFUNCDESC:
+      {
+        if (h != NULL)
+	  {
+	    Elf_Internal_Rela outrel;
+
+	    /* Resolve relocation.  */
+	    bfd_put_32(output_bfd, ((eh->fdpic_cnts.gotfuncdesc_offset & ~1)
+				    + sgot->output_offset),
+		       contents + rel->r_offset);
+	    /* Add funcdesc and associated R_ARM_FUNCDESC_VALUE.  */
+	    if(h->dynindx == -1)
+	      {
+		int dynindx;
+		int offset = eh->fdpic_cnts.funcdesc_offset & ~1;
+		bfd_vma addr;
+		bfd_vma seg = -1;
+
+		/* For static binaries sym_sec can be null.  */
+		if (sym_sec)
+		  {
+		    dynindx = elf_section_data (sym_sec->output_section)->dynindx;
+		    addr = dynreloc_value - sym_sec->output_section->vma;
+		  }
+		else
+		  {
+		    dynindx = 0;
+		    addr = 0;
+		  }
+
+		/* Emit R_ARM_FUNCDESC_VALUE on funcdesc if not done yet.  */
+		arm_elf_fill_funcdesc(output_bfd, info,
+				      &eh->fdpic_cnts.funcdesc_offset,
+				      dynindx, offset, addr, dynreloc_value, seg);
+	      }
+
+	    /* Add a dynamic relocation on GOT entry if not already done.  */
+	    if ((eh->fdpic_cnts.gotfuncdesc_offset & 1) == 0)
+	      {
+		if (h->dynindx == -1)
+		  {
+		    outrel.r_info = ELF32_R_INFO (0, R_ARM_RELATIVE);
+		    if (h->root.type == bfd_link_hash_undefweak)
+		      bfd_put_32(output_bfd, 0, sgot->contents
+				 + (eh->fdpic_cnts.gotfuncdesc_offset & ~1));
+		    else
+		      bfd_put_32(output_bfd, sgot->output_section->vma
+				 + sgot->output_offset
+				 + (eh->fdpic_cnts.funcdesc_offset & ~1),
+				 sgot->contents
+				 + (eh->fdpic_cnts.gotfuncdesc_offset & ~1));
+		  }
+		else
+		  {
+		    outrel.r_info = ELF32_R_INFO (h->dynindx, R_ARM_FUNCDESC);
+		  }
+		outrel.r_offset = sgot->output_section->vma
+		  + sgot->output_offset
+		  + (eh->fdpic_cnts.gotfuncdesc_offset & ~1);
+		outrel.r_addend = 0;
+		if (h->dynindx == -1 && !bfd_link_pic(info))
+		  if (h->root.type == bfd_link_hash_undefweak)
+                    arm_elf_add_rofixup(output_bfd, globals->srofixup, -1);
+		  else
+                    arm_elf_add_rofixup(output_bfd, globals->srofixup, outrel.r_offset);
+		else
+		  elf32_arm_add_dynreloc (output_bfd, info, srelgot, &outrel);
+		eh->fdpic_cnts.gotfuncdesc_offset |= 1;
+	      }
+	  }
+	else
+	  {
+	    /* Such relocation on static function should not have been
+	       emitted by the compiler.  */
+	    abort();
+	  }
+      }
+      *unresolved_reloc_p = FALSE;
+      return bfd_reloc_ok;
+
+    case R_ARM_FUNCDESC:
+      {
+        if (h == NULL)
+	  {
+	    struct fdpic_local *local_fdpic_cnts = elf32_arm_local_fdpic_cnts(input_bfd);
+	    Elf_Internal_Rela outrel;
+	    int dynindx = elf_section_data (sym_sec->output_section)->dynindx;
+	    int offset = local_fdpic_cnts[r_symndx].funcdesc_offset & ~1;
+	    bfd_vma addr = dynreloc_value - sym_sec->output_section->vma;
+	    bfd_vma seg = -1;
+
+	    if (bfd_link_pic(info) && dynindx == 0)
+	      abort();
+
+	    /* Replace static FUNCDESC relocation with a
+	       R_ARM_RELATIVE dynamic relocation or with a rofixup for
+	       executable.  */
+	    outrel.r_info = ELF32_R_INFO (0, R_ARM_RELATIVE);
+	    outrel.r_offset = input_section->output_section->vma
+	      + input_section->output_offset + rel->r_offset;
+	    outrel.r_addend = 0;
+	    if (bfd_link_pic(info))
+	      elf32_arm_add_dynreloc (output_bfd, info, srelgot, &outrel);
+	    else
+	      arm_elf_add_rofixup(output_bfd, globals->srofixup, outrel.r_offset);
+
+	    bfd_put_32 (input_bfd, sgot->output_section->vma
+			+ sgot->output_offset + offset, hit_data);
+
+	    /* Emit R_ARM_FUNCDESC_VALUE on funcdesc if not done yet.  */
+	    arm_elf_fill_funcdesc(output_bfd, info,
+				  &local_fdpic_cnts[r_symndx].funcdesc_offset,
+				  dynindx, offset, addr, dynreloc_value, seg);
+	  }
+	else
+	  {
+	    if (h->dynindx == -1)
+	      {
+		int dynindx;
+		int offset = eh->fdpic_cnts.funcdesc_offset & ~1;
+		bfd_vma addr;
+		bfd_vma seg = -1;
+		Elf_Internal_Rela outrel;
+
+		/* For static binaries sym_sec can be null.  */
+		if (sym_sec)
+		  {
+		    dynindx = elf_section_data (sym_sec->output_section)->dynindx;
+		    addr = dynreloc_value - sym_sec->output_section->vma;
+		  }
+		else
+		  {
+		    dynindx = 0;
+		    addr = 0;
+		  }
+
+		if (bfd_link_pic(info) && dynindx == 0)
+		  abort();
+
+		/* Replace static FUNCDESC relocation with a
+		   R_ARM_RELATIVE dynamic relocation.  */
+		outrel.r_info = ELF32_R_INFO (0, R_ARM_RELATIVE);
+		outrel.r_offset = input_section->output_section->vma
+		  + input_section->output_offset + rel->r_offset;
+		outrel.r_addend = 0;
+		if (bfd_link_pic(info))
+		  elf32_arm_add_dynreloc (output_bfd, info, srelgot, &outrel);
+		else
+		  arm_elf_add_rofixup(output_bfd, globals->srofixup, outrel.r_offset);
+
+		bfd_put_32 (input_bfd, sgot->output_section->vma
+			    + sgot->output_offset + offset, hit_data);
+
+		/* Emit R_ARM_FUNCDESC_VALUE on funcdesc if not done yet.  */
+		arm_elf_fill_funcdesc(output_bfd, info,
+				      &eh->fdpic_cnts.funcdesc_offset,
+				      dynindx, offset, addr, dynreloc_value, seg);
+	      }
+	    else
+	      {
+		Elf_Internal_Rela outrel;
+
+		/* Add a dynamic relocation.  */
+		outrel.r_info = ELF32_R_INFO (h->dynindx, R_ARM_FUNCDESC);
+		outrel.r_offset = input_section->output_section->vma
+		  + input_section->output_offset + rel->r_offset;
+		outrel.r_addend = 0;
+		elf32_arm_add_dynreloc (output_bfd, info, srelgot, &outrel);
+	      }
+	  }
+      }
+      *unresolved_reloc_p = FALSE;
+      return bfd_reloc_ok;
+
     default:
       return bfd_reloc_notsupported;
     }
@@ -12228,13 +12922,16 @@ arm_add_to_rel (bfd *		   abfd,
 
 #define IS_ARM_TLS_RELOC(R_TYPE)	\
   ((R_TYPE) == R_ARM_TLS_GD32		\
+   || (R_TYPE) == R_ARM_TLS_GD32_FDPIC  \
    || (R_TYPE) == R_ARM_TLS_LDO32	\
    || (R_TYPE) == R_ARM_TLS_LDM32	\
+   || (R_TYPE) == R_ARM_TLS_LDM32_FDPIC	\
    || (R_TYPE) == R_ARM_TLS_DTPOFF32	\
    || (R_TYPE) == R_ARM_TLS_DTPMOD32	\
    || (R_TYPE) == R_ARM_TLS_TPOFF32	\
    || (R_TYPE) == R_ARM_TLS_LE32	\
    || (R_TYPE) == R_ARM_TLS_IE32	\
+   || (R_TYPE) == R_ARM_TLS_IE32_FDPIC	\
    || IS_ARM_TLS_GNU_RELOC (R_TYPE))
 
 /* Specific set of relocations for the gnu tls dialect.  */
@@ -12366,9 +13063,10 @@ elf32_arm_relocate_section (bfd *		   ou
 			{
 			  _bfd_error_handler
 			    /* xgettext:c-format */
-			    (_("%B(%A+%#Lx): %s relocation against SEC_MERGE section"),
+			    (_("%pB(%pA+%#" PRIx64 "): "
+			       "%s relocation against SEC_MERGE section"),
 			     input_bfd, input_section,
-			     rel->r_offset, howto->name);
+			     (uint64_t) rel->r_offset, howto->name);
 			  return FALSE;
 			}
 
@@ -12478,12 +13176,12 @@ elf32_arm_relocate_section (bfd *		   ou
 	  _bfd_error_handler
 	    ((sym_type == STT_TLS
 	      /* xgettext:c-format */
-	      ? _("%B(%A+%#Lx): %s used with TLS symbol %s")
+	      ? _("%pB(%pA+%#" PRIx64 "): %s used with TLS symbol %s")
 	      /* xgettext:c-format */
-	      : _("%B(%A+%#Lx): %s used with non-TLS symbol %s")),
+	      : _("%pB(%pA+%#" PRIx64 "): %s used with non-TLS symbol %s")),
 	     input_bfd,
 	     input_section,
-	     rel->r_offset,
+	     (uint64_t) rel->r_offset,
 	     howto->name,
 	     name);
 	}
@@ -12533,10 +13231,11 @@ elf32_arm_relocate_section (bfd *		   ou
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	    (_("%pB(%pA+%#" PRIx64 "): "
+	       "unresolvable %s relocation against symbol `%s'"),
 	     input_bfd,
 	     input_section,
-	     rel->r_offset,
+	     (uint64_t) rel->r_offset,
 	     howto->name,
 	     h->root.root.string);
 	  return FALSE;
@@ -12943,6 +13642,7 @@ bfd_arm_get_mach_from_attributes (bfd * 
 
   switch (arch)
     {
+    case TAG_CPU_ARCH_PRE_V4: return bfd_mach_arm_3M;
     case TAG_CPU_ARCH_V4: return bfd_mach_arm_4;
     case TAG_CPU_ARCH_V4T: return bfd_mach_arm_4T;
     case TAG_CPU_ARCH_V5T: return bfd_mach_arm_5T;
@@ -12980,7 +13680,38 @@ bfd_arm_get_mach_from_attributes (bfd * 
 	return bfd_mach_arm_5TE;
       }
 
+    case TAG_CPU_ARCH_V5TEJ:
+	return bfd_mach_arm_5TEJ;
+    case TAG_CPU_ARCH_V6:
+	return bfd_mach_arm_6;
+    case TAG_CPU_ARCH_V6KZ:
+	return bfd_mach_arm_6KZ;
+    case TAG_CPU_ARCH_V6T2:
+	return bfd_mach_arm_6T2;
+    case TAG_CPU_ARCH_V6K:
+	return bfd_mach_arm_6K;
+    case TAG_CPU_ARCH_V7:
+	return bfd_mach_arm_7;
+    case TAG_CPU_ARCH_V6_M:
+	return bfd_mach_arm_6M;
+    case TAG_CPU_ARCH_V6S_M:
+	return bfd_mach_arm_6SM;
+    case TAG_CPU_ARCH_V7E_M:
+	return bfd_mach_arm_7EM;
+    case TAG_CPU_ARCH_V8:
+	return bfd_mach_arm_8;
+    case TAG_CPU_ARCH_V8R:
+	return bfd_mach_arm_8R;
+    case TAG_CPU_ARCH_V8M_BASE:
+	return bfd_mach_arm_8M_BASE;
+    case TAG_CPU_ARCH_V8M_MAIN:
+	return bfd_mach_arm_8M_MAIN;
+
     default:
+      /* Force entry to be added for any new known Tag_CPU_arch value.  */
+      BFD_ASSERT (arch > MAX_TAG_CPU_ARCH);
+
+      /* Unknown Tag_CPU_arch value.  */
       return bfd_mach_arm_unknown;
     }
 }
@@ -13018,11 +13749,11 @@ elf32_arm_set_private_flags (bfd *abfd, 
 	{
 	  if (flags & EF_ARM_INTERWORK)
 	    _bfd_error_handler
-	      (_("Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"),
+	      (_("warning: not setting interworking flag of %pB since it has already been specified as non-interworking"),
 	       abfd);
 	  else
 	    _bfd_error_handler
-	      (_("Warning: Clearing the interworking flag of %B due to outside request"),
+	      (_("warning: clearing the interworking flag of %pB due to outside request"),
 	       abfd);
 	}
     }
@@ -13067,7 +13798,7 @@ elf32_arm_copy_private_bfd_data (bfd *ib
 	{
 	  if (out_flags & EF_ARM_INTERWORK)
 	    _bfd_error_handler
-	      (_("Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"),
+	      (_("warning: clearing the interworking flag of %pB because non-interworking code in %pB has been linked with it"),
 	       obfd, ibfd);
 
 	  in_flags &= ~EF_ARM_INTERWORK;
@@ -13154,7 +13885,7 @@ elf32_arm_obj_attrs_handle_unknown (bfd 
   if ((tag & 127) < 64)
     {
       _bfd_error_handler
-	(_("%B: Unknown mandatory EABI object attribute %d"),
+	(_("%pB: unknown mandatory EABI object attribute %d"),
 	 abfd, tag);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -13162,7 +13893,7 @@ elf32_arm_obj_attrs_handle_unknown (bfd 
   else
     {
       _bfd_error_handler
-	(_("Warning: %B: Unknown EABI object attribute %d"),
+	(_("warning: %pB: unknown EABI object attribute %d"),
 	 abfd, tag);
       return TRUE;
     }
@@ -13429,7 +14160,7 @@ tag_cpu_arch_combine (bfd *ibfd, int old
 
   if (oldtag > MAX_TAG_CPU_ARCH || newtag > MAX_TAG_CPU_ARCH)
     {
-      _bfd_error_handler (_("error: %B: Unknown CPU architecture"), ibfd);
+      _bfd_error_handler (_("error: %pB: unknown CPU architecture"), ibfd);
       return -1;
     }
 
@@ -13467,7 +14198,7 @@ tag_cpu_arch_combine (bfd *ibfd, int old
 
   if (result == -1)
     {
-      _bfd_error_handler (_("error: %B: Conflicting CPU architectures %d/%d"),
+      _bfd_error_handler (_("error: %pB: conflicting CPU architectures %d/%d"),
 			  ibfd, oldtag, newtag);
       return -1;
     }
@@ -13564,7 +14295,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 		!= out_attr[Tag_MPextension_use].i)
 	    {
 	      _bfd_error_handler
-		(_("Error: %B has both the current and legacy "
+		(_("Error: %pB has both the current and legacy "
 		   "Tag_MPextension_use attributes"), ibfd);
 	      result = FALSE;
 	    }
@@ -13593,7 +14324,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	       && in_attr[Tag_ABI_VFP_args].i != AEABI_VFP_args_compatible)
 	{
 	  _bfd_error_handler
-	    (_("error: %B uses VFP register arguments, %B does not"),
+	    (_("error: %pB uses VFP register arguments, %pB does not"),
 	     in_attr[Tag_ABI_VFP_args].i ? ibfd : obfd,
 	     in_attr[Tag_ABI_VFP_args].i ? obfd : ibfd);
 	  result = FALSE;
@@ -13722,7 +14453,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 		 binaries in the toolchain have had the attributes set
 		 properly.
 	      _bfd_error_handler
-		(_("error: %B: 8-byte data alignment conflicts with %B"),
+		(_("error: %pB: 8-byte data alignment conflicts with %pB"),
 		 obfd, ibfd);
 	      result = FALSE; */
 	    }
@@ -13751,8 +14482,8 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	      else
 		{
 		  _bfd_error_handler
-		    (_("error: %B: unable to merge virtualization attributes "
-		       "with %B"),
+		    (_("error: %pB: unable to merge virtualization attributes "
+		       "with %pB"),
 		     obfd, ibfd);
 		  result = FALSE;
 		}
@@ -13777,7 +14508,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	      else
 		{
 		  _bfd_error_handler
-		    (_("error: %B: Conflicting architecture profiles %c/%c"),
+		    (_("error: %pB: conflicting architecture profiles %c/%c"),
 		     ibfd,
 		     in_attr[i].i ? in_attr[i].i : '0',
 		     out_attr[i].i ? out_attr[i].i : '0');
@@ -13916,7 +14647,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	      /* It's sometimes ok to mix different configs, so this is only
 		 a warning.  */
 	      _bfd_error_handler
-		(_("Warning: %B: Conflicting platform configuration"), ibfd);
+		(_("warning: %pB: conflicting platform configuration"), ibfd);
 	    }
 	  break;
 	case Tag_ABI_PCS_R9_use:
@@ -13925,7 +14656,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	      && in_attr[i].i != AEABI_R9_unused)
 	    {
 	      _bfd_error_handler
-		(_("error: %B: Conflicting use of R9"), ibfd);
+		(_("error: %pB: conflicting use of R9"), ibfd);
 	      result = FALSE;
 	    }
 	  if (out_attr[i].i == AEABI_R9_unused)
@@ -13937,7 +14668,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	      && out_attr[Tag_ABI_PCS_R9_use].i != AEABI_R9_unused)
 	    {
 	      _bfd_error_handler
-		(_("error: %B: SB relative addressing conflicts with use of R9"),
+		(_("error: %pB: SB relative addressing conflicts with use of R9"),
 		 ibfd);
 	      result = FALSE;
 	    }
@@ -13950,7 +14681,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	      && !elf_arm_tdata (obfd)->no_wchar_size_warning)
 	    {
 	      _bfd_error_handler
-		(_("warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"),
+		(_("warning: %pB uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"),
 		 ibfd, in_attr[i].i, out_attr[i].i);
 	    }
 	  else if (in_attr[i].i && !out_attr[i].i)
@@ -13981,7 +14712,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 		    ? aeabi_enum_names[out_attr[i].i]
 		    : "<unknown>";
 		  _bfd_error_handler
-		    (_("warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"),
+		    (_("warning: %pB uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"),
 		     ibfd, in_name, out_name);
 		}
 	    }
@@ -13993,7 +14724,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	  if (in_attr[i].i != out_attr[i].i)
 	    {
 	      _bfd_error_handler
-		(_("error: %B uses iWMMXt register arguments, %B does not"),
+		(_("error: %pB uses iWMMXt register arguments, %pB does not"),
 		 ibfd, obfd);
 	      result = FALSE;
 	    }
@@ -14010,7 +14741,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	      if (in_attr[i].i != out_attr[i].i)
 		{
 		  _bfd_error_handler
-		    (_("error: fp16 format mismatch between %B and %B"),
+		    (_("error: fp16 format mismatch between %pB and %pB"),
 		     ibfd, obfd);
 		  result = FALSE;
 		}
@@ -14046,7 +14777,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	      if (in_attr[Tag_MPextension_use].i != in_attr[i].i)
 		{
 		  _bfd_error_handler
-		    (_("%B has both the current and legacy "
+		    (_("%pB has both the current and legacy "
 		       "Tag_MPextension_use attributes"),
 		     ibfd);
 		  result = FALSE;
@@ -14245,7 +14976,13 @@ elf32_arm_print_private_bfd_data (bfd *a
   if (flags & EF_ARM_RELEXEC)
     fprintf (file, _(" [relocatable executable]"));
 
-  flags &= ~EF_ARM_RELEXEC;
+  if (flags & EF_ARM_PIC)
+    fprintf (file, _(" [position independent]"));
+
+  if (elf_elfheader (abfd)->e_ident[EI_OSABI] == ELFOSABI_ARM_FDPIC)
+    fprintf (file, _(" [FDPIC ABI supplement]"));
+
+  flags &= ~ (EF_ARM_RELEXEC | EF_ARM_PIC);
 
   if (flags)
     fprintf (file, _("<Unrecognised flag bits set>"));
@@ -14365,7 +15102,7 @@ elf32_arm_check_relocs (bfd *abfd, struc
 	     object file containing relocations but no symbol table.  */
 	  && (r_symndx > STN_UNDEF || nsyms > 0))
 	{
-	  _bfd_error_handler (_("%B: bad symbol index: %d"), abfd,
+	  _bfd_error_handler (_("%pB: bad symbol index: %d"), abfd,
 			      r_symndx);
 	  return FALSE;
 	}
@@ -14401,10 +15138,60 @@ elf32_arm_check_relocs (bfd *abfd, struc
       r_type = elf32_arm_tls_transition (info, r_type, h);
       switch (r_type)
 	{
+	case R_ARM_GOTOFFFUNCDESC:
+	  {
+	    if (h == NULL)
+	      {
+		if (!elf32_arm_allocate_local_sym_info (abfd))
+		  return FALSE;
+		elf32_arm_local_fdpic_cnts(abfd)[r_symndx].gotofffuncdesc_cnt += 1;
+		elf32_arm_local_fdpic_cnts(abfd)[r_symndx].funcdesc_offset = -1;
+	      }
+	    else
+	      {
+		eh->fdpic_cnts.gotofffuncdesc_cnt++;
+	      }
+	  }
+	  break;
+
+	case R_ARM_GOTFUNCDESC:
+	  {
+	    if (h == NULL)
+	      {
+		/* Such a relocation is not supposed to be generated
+		   by gcc on a static function. */
+		/* Anyway if needed it could be handled.  */
+		abort();
+	      }
+	    else
+	      {
+		eh->fdpic_cnts.gotfuncdesc_cnt++;
+	      }
+	  }
+	  break;
+
+	case R_ARM_FUNCDESC:
+	  {
+	    if (h == NULL)
+	      {
+		if (!elf32_arm_allocate_local_sym_info (abfd))
+		  return FALSE;
+		elf32_arm_local_fdpic_cnts(abfd)[r_symndx].funcdesc_cnt += 1;
+		elf32_arm_local_fdpic_cnts(abfd)[r_symndx].funcdesc_offset = -1;
+	      }
+	    else
+	      {
+		eh->fdpic_cnts.funcdesc_cnt++;
+	      }
+	  }
+	  break;
+
 	  case R_ARM_GOT32:
 	  case R_ARM_GOT_PREL:
 	  case R_ARM_TLS_GD32:
+	  case R_ARM_TLS_GD32_FDPIC:
 	  case R_ARM_TLS_IE32:
+	  case R_ARM_TLS_IE32_FDPIC:
 	  case R_ARM_TLS_GOTDESC:
 	  case R_ARM_TLS_DESCSEQ:
 	  case R_ARM_THM_TLS_DESCSEQ:
@@ -14417,8 +15204,10 @@ elf32_arm_check_relocs (bfd *abfd, struc
 	      switch (r_type)
 		{
 		case R_ARM_TLS_GD32: tls_type = GOT_TLS_GD; break;
+		case R_ARM_TLS_GD32_FDPIC: tls_type = GOT_TLS_GD; break;
 
 		case R_ARM_TLS_IE32: tls_type = GOT_TLS_IE; break;
+		case R_ARM_TLS_IE32_FDPIC: tls_type = GOT_TLS_IE; break;
 
 		case R_ARM_TLS_GOTDESC:
 		case R_ARM_TLS_CALL: case R_ARM_THM_TLS_CALL:
@@ -14476,7 +15265,8 @@ elf32_arm_check_relocs (bfd *abfd, struc
 	    /* Fall through.  */
 
 	  case R_ARM_TLS_LDM32:
-	    if (r_type == R_ARM_TLS_LDM32)
+	  case R_ARM_TLS_LDM32_FDPIC:
+	    if (r_type == R_ARM_TLS_LDM32 || r_type == R_ARM_TLS_LDM32_FDPIC)
 		htab->tls_ldm_got.refcount++;
 	    /* Fall through.  */
 
@@ -14518,7 +15308,7 @@ elf32_arm_check_relocs (bfd *abfd, struc
 	    if (bfd_link_pic (info))
 	      {
 		_bfd_error_handler
-		  (_("%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"),
+		  (_("%pB: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"),
 		   abfd, elf32_arm_howto_table_1[r_type].name,
 		   (h) ? h->root.root.string : "a local symbol");
 		bfd_set_error (bfd_error_bad_value);
@@ -14542,7 +15332,8 @@ elf32_arm_check_relocs (bfd *abfd, struc
 	  case R_ARM_THM_MOVT_PREL:
 
 	    /* Should the interworking branches be listed here?  */
-	    if ((bfd_link_pic (info) || htab->root.is_relocatable_executable)
+	    if ((bfd_link_pic (info) || htab->root.is_relocatable_executable
+		 || htab->fdpic_p)
 		&& (sec->flags & SEC_ALLOC) != 0)
 	      {
 		if (h == NULL
@@ -14695,6 +15486,18 @@ elf32_arm_check_relocs (bfd *abfd, struc
 	  if (elf32_arm_howto_from_type (r_type)->pc_relative)
 	    p->pc_count += 1;
 	  p->count += 1;
+	  if (h == NULL && htab->fdpic_p && !bfd_link_pic(info)
+	      && r_type != R_ARM_ABS32 && r_type != R_ARM_ABS32_NOI) {
+	    /* Here we only support R_ARM_ABS32 and R_ARM_ABS32_NOI
+	       that will become rofixup.  */
+	    /* This is due to the fact that we suppose all will become rofixup.  */
+	    fprintf(stderr, "FDPIC does not yet support %d relocation to become dynamic for executable\n", r_type);
+	    _bfd_error_handler
+	      (_("FDPIC does not yet support %s relocation"
+		 " to become dynamic for executable"),
+	       elf32_arm_howto_table_1[r_type].name);
+	    abort();
+	  }
 	}
     }
 
@@ -15357,7 +16160,7 @@ allocate_dynrelocs_for_symbol (struct el
 
       /* Make sure this symbol is output as a dynamic symbol.
 	 Undefined weak syms won't yet be marked as dynamic.  */
-      if (h->dynindx == -1 && !h->forced_local
+      if (htab->root.dynamic_sections_created && h->dynindx == -1 && !h->forced_local
 	  && h->root.type == bfd_link_hash_undefweak)
 	{
 	  if (! bfd_elf_link_record_dynamic_symbol (info, h))
@@ -15392,15 +16195,17 @@ allocate_dynrelocs_for_symbol (struct el
 
 	      if (tls_type & GOT_TLS_GD)
 		{
-		  /* R_ARM_TLS_GD32 needs 2 consecutive GOT slots.  If
-		     the symbol is both GD and GDESC, got.offset may
-		     have been overwritten.  */
+		  /* R_ARM_TLS_GD32 and R_ARM_TLS_GD32_FDPIC need two
+		     consecutive GOT slots.  If the symbol is both GD
+		     and GDESC, got.offset may have been
+		     overwritten.  */
 		  h->got.offset = s->size;
 		  s->size += 8;
 		}
 
 	      if (tls_type & GOT_TLS_IE)
-		/* R_ARM_TLS_IE32 needs one GOT slot.  */
+		/* R_ARM_TLS_IE32/R_ARM_TLS_IE32_FDPIC need one GOT
+		   slot.  */
 		s->size += 4;
 	    }
 
@@ -15437,7 +16242,8 @@ allocate_dynrelocs_for_symbol (struct el
 	      if ((tls_type & GOT_TLS_GD) && indx != 0)
 		elf32_arm_allocate_dynrelocs (info, htab->root.srelgot, 1);
 	    }
-	  else if (indx != -1 && !SYMBOL_REFERENCES_LOCAL (info, h))
+	  else if (((indx != -1) || htab->fdpic_p)
+		   && !SYMBOL_REFERENCES_LOCAL (info, h))
 	    {
 	      if (htab->root.dynamic_sections_created)
 		/* Reserve room for the GOT entry's R_ARM_GLOB_DAT relocation.  */
@@ -15454,11 +16260,110 @@ allocate_dynrelocs_for_symbol (struct el
 		       || h->root.type != bfd_link_hash_undefweak))
 	    /* Reserve room for the GOT entry's R_ARM_RELATIVE relocation.  */
 	    elf32_arm_allocate_dynrelocs (info, htab->root.srelgot, 1);
+	  else if (htab->fdpic_p && tls_type == GOT_NORMAL)
+	    /* Reserve room for rofixup for FDPIC executable.  */
+	    /* TLS relocs do not need space since they are completely
+	       resolved.  */
+	    htab->srofixup->size += 4;
 	}
     }
   else
     h->got.offset = (bfd_vma) -1;
 
+  /* FDPIC support.  */
+  if (eh->fdpic_cnts.gotofffuncdesc_cnt > 0)
+    {
+      /* Symbol musn't be exported.  */
+      if (h->dynindx != -1)
+	abort();
+
+      /* We only allocate one function descriptor with its associated relocation.  */
+      if (eh->fdpic_cnts.funcdesc_offset == -1)
+	{
+	  asection *s = htab->root.sgot;
+
+	  eh->fdpic_cnts.funcdesc_offset = s->size;
+	  s->size += 8;
+	  /* We will add an R_ARM_FUNCDESC_VALUE relocation or two rofixups.  */
+	  if (bfd_link_pic(info))
+	    elf32_arm_allocate_dynrelocs (info, htab->root.srelgot, 1);
+	  else
+	    htab->srofixup->size += 8;
+	}
+    }
+
+  if (eh->fdpic_cnts.gotfuncdesc_cnt > 0)
+    {
+      asection *s = htab->root.sgot;
+
+      if (htab->root.dynamic_sections_created && h->dynindx == -1
+	  && !h->forced_local)
+	if (! bfd_elf_link_record_dynamic_symbol (info, h))
+	  return FALSE;
+
+      if (h->dynindx == -1)
+	{
+	  /* We only allocate one function descriptor with its associated relocation. q */
+	  if (eh->fdpic_cnts.funcdesc_offset == -1)
+	    {
+
+	      eh->fdpic_cnts.funcdesc_offset = s->size;
+	      s->size += 8;
+	      /* We will add an R_ARM_FUNCDESC_VALUE relocation or two rofixups.  */
+	      if (bfd_link_pic(info))
+		elf32_arm_allocate_dynrelocs (info, htab->root.srelgot, 1);
+	      else
+		htab->srofixup->size += 8;
+	    }
+	}
+
+      /* Add one entry into the GOT and a R_ARM_FUNCDESC or
+	 R_ARM_RELATIVE/rofixup relocation on it.  */
+      eh->fdpic_cnts.gotfuncdesc_offset = s->size;
+      s->size += 4;
+      if (h->dynindx == -1 && !bfd_link_pic(info))
+        htab->srofixup->size += 4;
+      else
+        elf32_arm_allocate_dynrelocs (info, htab->root.srelgot, 1);
+    }
+
+  if (eh->fdpic_cnts.funcdesc_cnt > 0)
+    {
+      if (htab->root.dynamic_sections_created && h->dynindx == -1
+	  && !h->forced_local)
+	if (! bfd_elf_link_record_dynamic_symbol (info, h))
+	  return FALSE;
+
+      if (h->dynindx == -1)
+	{
+	  /* We only allocate one function descriptor with its associated relocation.  */
+	  if (eh->fdpic_cnts.funcdesc_offset == -1)
+	    {
+	      asection *s = htab->root.sgot;
+
+	      eh->fdpic_cnts.funcdesc_offset = s->size;
+	      s->size += 8;
+	      /* We will add an R_ARM_FUNCDESC_VALUE relocation or two rofixups.  */
+	      if (bfd_link_pic(info))
+		elf32_arm_allocate_dynrelocs (info, htab->root.srelgot, 1);
+	      else
+		htab->srofixup->size += 8;
+	    }
+	}
+      if (h->dynindx == -1 && !bfd_link_pic(info))
+	{
+	  /* For FDPIC executable we replace R_ARM_RELATIVE with a rofixup.  */
+	  htab->srofixup->size += 4 * eh->fdpic_cnts.funcdesc_cnt;
+	}
+      else
+	{
+	  /* Will need one dynamic reloc per reference. will be either
+	     R_ARM_FUNCDESC or R_ARM_RELATIVE for hidden symbols.  */
+	  elf32_arm_allocate_dynrelocs (info, htab->root.srelgot,
+					eh->fdpic_cnts.funcdesc_cnt);
+	}
+    }
+
   /* Allocate stubs for exported Thumb functions on v4t.  */
   if (!htab->use_blx && h->dynindx != -1
       && h->def_regular
@@ -15501,7 +16406,7 @@ allocate_dynrelocs_for_symbol (struct el
      space for pc-relative relocs that have become local due to symbol
      visibility changes.  */
 
-  if (bfd_link_pic (info) || htab->root.is_relocatable_executable)
+  if (bfd_link_pic (info) || htab->root.is_relocatable_executable || htab->fdpic_p)
     {
       /* Relocs that use pc_count are PC-relative forms, which will appear
 	 on something like ".long foo - ." or "movw REG, foo - .".  We want
@@ -15548,7 +16453,7 @@ allocate_dynrelocs_for_symbol (struct el
 
 	  /* Make sure undefined weak symbols are output as a dynamic
 	     symbol in PIEs.  */
-	  else if (h->dynindx == -1
+	  else if (htab->root.dynamic_sections_created && h->dynindx == -1
 		   && !h->forced_local)
 	    {
 	      if (! bfd_elf_link_record_dynamic_symbol (info, h))
@@ -15604,10 +16509,15 @@ allocate_dynrelocs_for_symbol (struct el
   for (p = eh->dyn_relocs; p != NULL; p = p->next)
     {
       asection *sreloc = elf_section_data (p->sec)->sreloc;
+
       if (h->type == STT_GNU_IFUNC
 	  && eh->plt.noncall_refcount == 0
 	  && SYMBOL_REFERENCES_LOCAL (info, h))
 	elf32_arm_allocate_irelocs (info, sreloc, p->count);
+      else if (h->dynindx != -1 && (!bfd_link_pic(info) || !info->symbolic || !h->def_regular))
+	elf32_arm_allocate_dynrelocs (info, sreloc, p->count);
+      else if (htab->fdpic_p && !bfd_link_pic(info))
+	htab->srofixup->size += 4 * p->count;
       else
 	elf32_arm_allocate_dynrelocs (info, sreloc, p->count);
     }
@@ -15633,12 +16543,13 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
       return FALSE;
     }
+
   return TRUE;
 }
 
@@ -15702,6 +16613,7 @@ elf32_arm_size_dynamic_sections (bfd * o
       asection *srel;
       bfd_boolean is_vxworks = htab->vxworks_p;
       unsigned int symndx;
+      struct fdpic_local *local_fdpic_cnts;
 
       if (! is_arm_elf (ibfd))
 	continue;
@@ -15731,7 +16643,10 @@ elf32_arm_size_dynamic_sections (bfd * o
 	      else if (p->count != 0)
 		{
 		  srel = elf_section_data (p->sec)->sreloc;
-		  elf32_arm_allocate_dynrelocs (info, srel, p->count);
+		  if (htab->fdpic_p && !bfd_link_pic(info))
+		    htab->srofixup->size += 4 * p->count;
+		  else
+		    elf32_arm_allocate_dynrelocs (info, srel, p->count);
 		  if ((p->sec->output_section->flags & SEC_READONLY) != 0)
 		    info->flags |= DF_TEXTREL;
 		}
@@ -15748,15 +16663,54 @@ elf32_arm_size_dynamic_sections (bfd * o
       local_iplt_ptr = elf32_arm_local_iplt (ibfd);
       local_tls_type = elf32_arm_local_got_tls_type (ibfd);
       local_tlsdesc_gotent = elf32_arm_local_tlsdesc_gotent (ibfd);
+      local_fdpic_cnts = elf32_arm_local_fdpic_cnts (ibfd);
       symndx = 0;
       s = htab->root.sgot;
       srel = htab->root.srelgot;
       for (; local_got < end_local_got;
 	   ++local_got, ++local_iplt_ptr, ++local_tls_type,
-	   ++local_tlsdesc_gotent, ++symndx)
+	   ++local_tlsdesc_gotent, ++symndx, ++local_fdpic_cnts)
 	{
 	  *local_tlsdesc_gotent = (bfd_vma) -1;
 	  local_iplt = *local_iplt_ptr;
+
+	  /* FDPIC support.  */
+	  if (local_fdpic_cnts->gotofffuncdesc_cnt > 0)
+	    {
+	      if (local_fdpic_cnts->funcdesc_offset == -1)
+		{
+		  local_fdpic_cnts->funcdesc_offset = s->size;
+		  s->size += 8;
+
+		  /* We will add an R_ARM_FUNCDESC_VALUE relocation or two rofixups.  */
+		  if (bfd_link_pic(info))
+		    elf32_arm_allocate_dynrelocs (info, srel, 1);
+		  else
+		    htab->srofixup->size += 8;
+		}
+	    }
+
+	  if (local_fdpic_cnts->funcdesc_cnt > 0)
+	    {
+	      if (local_fdpic_cnts->funcdesc_offset == -1)
+		{
+		  local_fdpic_cnts->funcdesc_offset = s->size;
+		  s->size += 8;
+
+		  /* We will add an R_ARM_FUNCDESC_VALUE relocation or two rofixups.  */
+		  if (bfd_link_pic(info))
+		    elf32_arm_allocate_dynrelocs (info, srel, 1);
+		  else
+		    htab->srofixup->size += 8;
+		}
+
+	      /* We will add n R_ARM_RELATIVE relocations or n rofixups.  */
+	      if (bfd_link_pic(info))
+		elf32_arm_allocate_dynrelocs (info, srel, local_fdpic_cnts->funcdesc_cnt);
+	      else
+		htab->srofixup->size += 4 * local_fdpic_cnts->funcdesc_cnt;
+	    }
+
 	  if (local_iplt != NULL)
 	    {
 	      struct elf_dyn_relocs *p;
@@ -15831,13 +16785,15 @@ elf32_arm_size_dynamic_sections (bfd * o
 		  && (local_iplt == NULL
 		      || local_iplt->arm.noncall_refcount == 0))
 		elf32_arm_allocate_irelocs (info, srel, 1);
-	      else if (bfd_link_pic (info) || output_bfd->flags & DYNAMIC)
+	      else if (bfd_link_pic (info) || output_bfd->flags & DYNAMIC || htab->fdpic_p)
 		{
-		  if ((bfd_link_pic (info) && !(*local_tls_type & GOT_TLS_GDESC))
-		      || *local_tls_type & GOT_TLS_GD)
+		  if ((bfd_link_pic (info) && !(*local_tls_type & GOT_TLS_GDESC)))
 		    elf32_arm_allocate_dynrelocs (info, srel, 1);
+		  else if (htab->fdpic_p && *local_tls_type & GOT_NORMAL)
+		    htab->srofixup->size += 4;
 
-		  if (bfd_link_pic (info) && *local_tls_type & GOT_TLS_GDESC)
+		  if ((bfd_link_pic (info) || htab->fdpic_p)
+		      && *local_tls_type & GOT_TLS_GDESC)
 		    {
 		      elf32_arm_allocate_dynrelocs (info,
 						    htab->root.srelplt, 1);
@@ -15853,7 +16809,7 @@ elf32_arm_size_dynamic_sections (bfd * o
   if (htab->tls_ldm_got.refcount > 0)
     {
       /* Allocate two GOT entries and one dynamic relocation (if necessary)
-	 for R_ARM_TLS_LDM32 relocations.  */
+	 for R_ARM_TLS_LDM32/R_ARM_TLS_LDM32_FDPIC relocations.  */
       htab->tls_ldm_got.offset = htab->root.sgot->size;
       htab->root.sgot->size += 8;
       if (bfd_link_pic (info))
@@ -15862,6 +16818,11 @@ elf32_arm_size_dynamic_sections (bfd * o
   else
     htab->tls_ldm_got.offset = -1;
 
+  /* At the very end of the .rofixup section is a pointer to the GOT,
+     reserve space for it. */
+  if (htab->fdpic_p && htab->srofixup != NULL)
+    htab->srofixup->size += 4;
+
   /* Allocate global sym .plt and .got entries, and space for global
      sym dynamic relocs.  */
   elf_link_hash_traverse (& htab->root, allocate_dynrelocs_for_symbol, info);
@@ -15878,7 +16839,7 @@ elf32_arm_size_dynamic_sections (bfd * o
       if (!bfd_elf32_arm_process_before_allocation (ibfd, info)
 	  || !bfd_elf32_arm_vfp11_erratum_scan (ibfd, info)
 	  || !bfd_elf32_arm_stm32l4xx_erratum_scan (ibfd, info))
-	_bfd_error_handler (_("Errors encountered processing file %B"), ibfd);
+	_bfd_error_handler (_("errors encountered processing file %pB"), ibfd);
     }
 
   /* Allocate space for the glue sections now that we've sized them.  */
@@ -15952,7 +16913,8 @@ elf32_arm_size_dynamic_sections (bfd * o
 	       && s != htab->root.iplt
 	       && s != htab->root.igotplt
 	       && s != htab->root.sdynbss
-	       && s != htab->root.sdynrelro)
+	       && s != htab->root.sdynrelro
+	       && s != htab->srofixup)
 	{
 	  /* It's not one of our sections, so don't allocate space.  */
 	  continue;
@@ -16058,6 +17020,9 @@ elf32_arm_always_size_sections (bfd *out
 				struct bfd_link_info *info)
 {
   asection *tls_sec;
+  struct elf32_arm_link_hash_table *htab;
+
+  htab = elf32_arm_hash_table (info);
 
   if (bfd_link_relocatable (info))
     return TRUE;
@@ -16090,6 +17055,12 @@ elf32_arm_always_size_sections (bfd *out
 	  (*bed->elf_backend_hide_symbol) (info, tlsbase, TRUE);
 	}
     }
+
+  if (htab->fdpic_p && !bfd_link_relocatable (info)
+      && !bfd_elf_stack_segment_size (output_bfd, info,
+				      "__stacksize", DEFAULT_STACK_SIZE))
+    return FALSE;
+
   return TRUE;
 }
 
@@ -16174,10 +17145,10 @@ elf32_arm_finish_dynamic_symbol (bfd * o
     }
 
   /* Mark _DYNAMIC and _GLOBAL_OFFSET_TABLE_ as absolute.  On VxWorks,
-     the _GLOBAL_OFFSET_TABLE_ symbol is not absolute: it is relative
-     to the ".got" section.  */
+     and for FDPIC, the _GLOBAL_OFFSET_TABLE_ symbol is not absolute:
+     it is relative to the ".got" section.  */
   if (h == htab->root.hdynamic
-      || (!htab->vxworks_p && h == htab->root.hgot))
+      || (!htab->fdpic_p && !htab->vxworks_p && h == htab->root.hgot))
     sym->st_shndx = SHN_ABS;
 
   return TRUE;
@@ -16584,6 +17555,21 @@ elf32_arm_finish_dynamic_sections (bfd *
       elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4;
     }
 
+  /* At the very end of the .rofixup section is a pointer to the GOT.  */
+  if (htab->fdpic_p && htab->srofixup != NULL)
+    {
+      struct elf_link_hash_entry *hgot = htab->root.hgot;
+
+      bfd_vma got_value = hgot->root.u.def.value
+	+ hgot->root.u.def.section->output_section->vma
+	+ hgot->root.u.def.section->output_offset;
+
+      arm_elf_add_rofixup(output_bfd, htab->srofixup, got_value);
+
+      /* Make sure we allocated and generated the same number of fixups.  */
+      BFD_ASSERT (htab->srofixup->reloc_count * 4 == htab->srofixup->size);
+    }
+
   return TRUE;
 }
 
@@ -16607,6 +17593,9 @@ elf32_arm_post_process_headers (bfd * ab
       globals = elf32_arm_hash_table (link_info);
       if (globals != NULL && globals->byteswap_code)
 	i_ehdrp->e_flags |= EF_ARM_BE8;
+
+      if (globals->fdpic_p)
+	i_ehdrp->e_ident[EI_OSABI] |= ELFOSABI_ARM_FDPIC;
     }
 
   if (EF_ARM_EABI_VERSION (i_ehdrp->e_flags) == EF_ARM_EABI_VER5
@@ -16835,6 +17824,23 @@ elf32_arm_output_plt_map_1 (output_arch_
       if (!elf32_arm_output_map_sym (osi, ARM_MAP_ARM, addr))
 	return FALSE;
     }
+  else if (htab->fdpic_p)
+    {
+      enum map_symbol_type type = using_thumb_only(htab)
+	? ARM_MAP_THUMB
+	: ARM_MAP_ARM;
+
+      if (elf32_arm_plt_needs_thumb_stub_p (osi->info, arm_plt))
+        if (!elf32_arm_output_map_sym (osi, ARM_MAP_THUMB, addr - 4))
+          return FALSE;
+      if (!elf32_arm_output_map_sym (osi, type, addr))
+        return FALSE;
+      if (!elf32_arm_output_map_sym (osi, ARM_MAP_DATA, addr + 16))
+        return FALSE;
+      if (htab->plt_entry_size == 4 * ARRAY_SIZE(elf32_arm_fdpic_plt_entry))
+        if (!elf32_arm_output_map_sym (osi, type, addr + 24))
+          return FALSE;
+    }
   else if (using_thumb_only (htab))
     {
       if (!elf32_arm_output_map_sym (osi, ARM_MAP_THUMB, addr))
@@ -17191,7 +18197,7 @@ elf32_arm_output_arch_local_syms (bfd *o
 	  if (!elf32_arm_output_map_sym (&osi, ARM_MAP_ARM, 0))
 	    return FALSE;
 	}
-      else if (using_thumb_only (htab))
+      else if (using_thumb_only (htab) && !htab->fdpic_p)
 	{
 	  if (!elf32_arm_output_map_sym (&osi, ARM_MAP_THUMB, 0))
 	    return FALSE;
@@ -17200,7 +18206,7 @@ elf32_arm_output_arch_local_syms (bfd *o
 	  if (!elf32_arm_output_map_sym (&osi, ARM_MAP_THUMB, 16))
 	    return FALSE;
 	}
-      else if (!htab->symbian_p)
+      else if (!htab->symbian_p && !htab->fdpic_p)
 	{
 	  if (!elf32_arm_output_map_sym (&osi, ARM_MAP_ARM, 0))
 	    return FALSE;
@@ -17491,7 +18497,7 @@ make_branch_to_a8_stub (struct bfd_hash_
      This check is just to be on the safe side...  */
   if ((veneered_insn_loc & ~0xfff) == (veneer_entry_loc & ~0xfff))
     {
-      _bfd_error_handler (_("%B: error: Cortex-A8 erratum stub is "
+      _bfd_error_handler (_("%pB: error: Cortex-A8 erratum stub is "
 			    "allocated in unsafe location"), abfd);
       return FALSE;
     }
@@ -17518,7 +18524,7 @@ make_branch_to_a8_stub (struct bfd_hash_
 	  {
 	    /* There's not much we can do apart from complain if this
 	       happens.  */
-	    _bfd_error_handler (_("%B: error: Cortex-A8 erratum stub out "
+	    _bfd_error_handler (_("%pB: error: Cortex-A8 erratum stub out "
 				  "of range (input file too large)"), abfd);
 	    return FALSE;
 	  }
@@ -18345,7 +19351,7 @@ elf32_arm_write_section (bfd *output_bfd
 
 		if ((signed) branch_to_veneer < -(1 << 25)
 		    || (signed) branch_to_veneer >= (1 << 25))
-		  _bfd_error_handler (_("%B: error: VFP11 veneer out of "
+		  _bfd_error_handler (_("%pB: error: VFP11 veneer out of "
 					"range"), output_bfd);
 
 		insn |= (branch_to_veneer >> 2) & 0xffffff;
@@ -18367,7 +19373,7 @@ elf32_arm_write_section (bfd *output_bfd
 
 		if ((signed) branch_from_veneer < -(1 << 25)
 		    || (signed) branch_from_veneer >= (1 << 25))
-		  _bfd_error_handler (_("%B: error: VFP11 veneer out of "
+		  _bfd_error_handler (_("%pB: error: VFP11 veneer out of "
 					"range"), output_bfd);
 
 		/* Original instruction.  */
@@ -18418,12 +19424,13 @@ elf32_arm_write_section (bfd *output_bfd
 		      branch_to_veneer - (1 << 24) : 0;
 
 		    _bfd_error_handler
-		      (_("%B(%#Lx): error: Cannot create STM32L4XX veneer. "
-			 "Jump out of range by %Ld bytes. "
-			 "Cannot encode branch instruction. "),
+		      (_("%pB(%#" PRIx64 "): error: "
+			 "cannot create STM32L4XX veneer; "
+			 "jump out of range by %" PRId64 " bytes; "
+			 "cannot encode branch instruction"),
 		       output_bfd,
-		       stm32l4xx_errnode->vma - 4,
-		       out_of_range);
+		       (uint64_t) (stm32l4xx_errnode->vma - 4),
+		       (int64_t) out_of_range);
 		    continue;
 		  }
 
@@ -18456,8 +19463,8 @@ elf32_arm_write_section (bfd *output_bfd
 			      STM32L4XX_ERRATUM_LDM_VENEER_SIZE) < -(1 << 24)
 		    || (signed) (veneer_r - veneer) >= (1 << 24))
 		  {
-		    _bfd_error_handler (_("%B: error: Cannot create STM32L4XX "
-					  "veneer."), output_bfd);
+		    _bfd_error_handler (_("%pB: error: cannot create STM32L4XX "
+					  "veneer"), output_bfd);
 		     continue;
 		  }
 
@@ -18787,11 +19794,6 @@ elf32_arm_add_symbol_hook (bfd *abfd, st
 			   Elf_Internal_Sym *sym, const char **namep,
 			   flagword *flagsp, asection **secp, bfd_vma *valp)
 {
-  if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-      && (abfd->flags & DYNAMIC) == 0
-      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
-    elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc;
-
   if (elf32_arm_hash_table (info) == NULL)
     return FALSE;
 
@@ -19379,6 +20381,78 @@ elf32_arm_nacl_plt_sym_val (bfd_vma i, c
 #define ELF_COMMONPAGESIZE		0x1000
 
 
+/* FDPIC Targets.  */
+
+#undef  TARGET_LITTLE_SYM
+#define TARGET_LITTLE_SYM		arm_elf32_fdpic_le_vec
+#undef  TARGET_LITTLE_NAME
+#define TARGET_LITTLE_NAME		"elf32-littlearm-fdpic"
+#undef  TARGET_BIG_SYM
+#define TARGET_BIG_SYM			arm_elf32_fdpic_be_vec
+#undef  TARGET_BIG_NAME
+#define TARGET_BIG_NAME			"elf32-bigarm-fdpic"
+#undef elf_match_priority
+#define elf_match_priority		128
+#undef ELF_OSABI
+#define ELF_OSABI		ELFOSABI_ARM_FDPIC
+
+/* Like elf32_arm_link_hash_table_create -- but overrides
+   appropriately for FDPIC.  */
+
+static struct bfd_link_hash_table *
+elf32_arm_fdpic_link_hash_table_create (bfd *abfd)
+{
+  struct bfd_link_hash_table *ret;
+
+  ret = elf32_arm_link_hash_table_create (abfd);
+  if (ret)
+    {
+      struct elf32_arm_link_hash_table *htab = (struct elf32_arm_link_hash_table *) ret;
+
+      htab->fdpic_p = 1;
+    }
+  return ret;
+}
+
+/* We need dynamic symbols for every section, since segments can
+   relocate independently.  */
+static bfd_boolean
+elf32_arm_fdpic_omit_section_dynsym (bfd *output_bfd ATTRIBUTE_UNUSED,
+				    struct bfd_link_info *info
+				    ATTRIBUTE_UNUSED,
+				    asection *p ATTRIBUTE_UNUSED)
+{
+  switch (elf_section_data (p)->this_hdr.sh_type)
+    {
+    case SHT_PROGBITS:
+    case SHT_NOBITS:
+      /* If sh_type is yet undecided, assume it could be
+	 SHT_PROGBITS/SHT_NOBITS.  */
+    case SHT_NULL:
+      return FALSE;
+
+      /* There shouldn't be section relative relocations
+	 against any other section.  */
+    default:
+      return TRUE;
+    }
+}
+
+#undef  elf32_bed
+#define elf32_bed				elf32_arm_fdpic_bed
+
+#undef  bfd_elf32_bfd_link_hash_table_create
+#define bfd_elf32_bfd_link_hash_table_create 	elf32_arm_fdpic_link_hash_table_create
+
+#undef elf_backend_omit_section_dynsym
+#define elf_backend_omit_section_dynsym		elf32_arm_fdpic_omit_section_dynsym
+
+#include "elf32-target.h"
+
+#undef elf_match_priority
+#undef ELF_OSABI
+#undef elf_backend_omit_section_dynsym
+
 /* VxWorks Targets.  */
 
 #undef	TARGET_LITTLE_SYM
@@ -19478,7 +20552,7 @@ elf32_arm_merge_private_bfd_data (bfd *i
       && !(ibfd->flags & DYNAMIC)
       && (in_flags & EF_ARM_BE8))
     {
-      _bfd_error_handler (_("error: %B is already in final BE8 format"),
+      _bfd_error_handler (_("error: %pB is already in final BE8 format"),
 			  ibfd);
       return FALSE;
     }
@@ -19554,7 +20628,7 @@ elf32_arm_merge_private_bfd_data (bfd *i
 				      EF_ARM_EABI_VERSION (out_flags)))
     {
       _bfd_error_handler
-	(_("error: Source object %B has EABI version %d, but target %B has EABI version %d"),
+	(_("error: source object %pB has EABI version %d, but target %pB has EABI version %d"),
 	 ibfd, (in_flags & EF_ARM_EABIMASK) >> 24,
 	 obfd, (out_flags & EF_ARM_EABIMASK) >> 24);
       return FALSE;
@@ -19569,7 +20643,7 @@ elf32_arm_merge_private_bfd_data (bfd *i
       if ((in_flags & EF_ARM_APCS_26) != (out_flags & EF_ARM_APCS_26))
 	{
 	  _bfd_error_handler
-	    (_("error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"),
+	    (_("error: %pB is compiled for APCS-%d, whereas target %pB uses APCS-%d"),
 	     ibfd, in_flags & EF_ARM_APCS_26 ? 26 : 32,
 	     obfd, out_flags & EF_ARM_APCS_26 ? 26 : 32);
 	  flags_compatible = FALSE;
@@ -19579,11 +20653,11 @@ elf32_arm_merge_private_bfd_data (bfd *i
 	{
 	  if (in_flags & EF_ARM_APCS_FLOAT)
 	    _bfd_error_handler
-	      (_("error: %B passes floats in float registers, whereas %B passes them in integer registers"),
+	      (_("error: %pB passes floats in float registers, whereas %pB passes them in integer registers"),
 	       ibfd, obfd);
 	  else
 	    _bfd_error_handler
-	      (_("error: %B passes floats in integer registers, whereas %B passes them in float registers"),
+	      (_("error: %pB passes floats in integer registers, whereas %pB passes them in float registers"),
 	       ibfd, obfd);
 
 	  flags_compatible = FALSE;
@@ -19593,12 +20667,12 @@ elf32_arm_merge_private_bfd_data (bfd *i
 	{
 	  if (in_flags & EF_ARM_VFP_FLOAT)
 	    _bfd_error_handler
-	      (_("error: %B uses VFP instructions, whereas %B does not"),
-	       ibfd, obfd);
+	      (_("error: %pB uses %s instructions, whereas %pB does not"),
+	       ibfd, "VFP", obfd);
 	  else
 	    _bfd_error_handler
-	      (_("error: %B uses FPA instructions, whereas %B does not"),
-	       ibfd, obfd);
+	      (_("error: %pB uses %s instructions, whereas %pB does not"),
+	       ibfd, "FPA", obfd);
 
 	  flags_compatible = FALSE;
 	}
@@ -19607,12 +20681,12 @@ elf32_arm_merge_private_bfd_data (bfd *i
 	{
 	  if (in_flags & EF_ARM_MAVERICK_FLOAT)
 	    _bfd_error_handler
-	      (_("error: %B uses Maverick instructions, whereas %B does not"),
-	       ibfd, obfd);
+	      (_("error: %pB uses %s instructions, whereas %pB does not"),
+	       ibfd, "Maverick", obfd);
 	  else
 	    _bfd_error_handler
-	      (_("error: %B does not use Maverick instructions, whereas %B does"),
-	       ibfd, obfd);
+	      (_("error: %pB does not use %s instructions, whereas %pB does"),
+	       ibfd, "Maverick", obfd);
 
 	  flags_compatible = FALSE;
 	}
@@ -19630,11 +20704,11 @@ elf32_arm_merge_private_bfd_data (bfd *i
 	    {
 	      if (in_flags & EF_ARM_SOFT_FLOAT)
 		_bfd_error_handler
-		  (_("error: %B uses software FP, whereas %B uses hardware FP"),
+		  (_("error: %pB uses software FP, whereas %pB uses hardware FP"),
 		   ibfd, obfd);
 	      else
 		_bfd_error_handler
-		  (_("error: %B uses hardware FP, whereas %B uses software FP"),
+		  (_("error: %pB uses hardware FP, whereas %pB uses software FP"),
 		   ibfd, obfd);
 
 	      flags_compatible = FALSE;
@@ -19648,13 +20722,13 @@ elf32_arm_merge_private_bfd_data (bfd *i
 	  if (in_flags & EF_ARM_INTERWORK)
 	    {
 	      _bfd_error_handler
-		(_("Warning: %B supports interworking, whereas %B does not"),
+		(_("warning: %pB supports interworking, whereas %pB does not"),
 		 ibfd, obfd);
 	    }
 	  else
 	    {
 	      _bfd_error_handler
-		(_("Warning: %B does not support interworking, whereas %B does"),
+		(_("warning: %pB does not support interworking, whereas %pB does"),
 		 ibfd, obfd);
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-avr.c ./bfd/elf32-avr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-avr.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-avr.c	2018-07-10 02:06:11.000000000 +0000
@@ -945,8 +945,8 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 
 /* Set the howto pointer for an AVR ELF reloc.  */
 
-static void
-avr_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+avr_info_to_howto_rela (bfd *abfd,
 			arelent *cache_ptr,
 			Elf_Internal_Rela *dst)
 {
@@ -956,10 +956,13 @@ avr_info_to_howto_rela (bfd *abfd ATTRIB
   if (r_type >= (unsigned int) R_AVR_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid AVR reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &elf_avr_howto_table[r_type];
+  return TRUE;
 }
 
 static bfd_boolean
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-bfin.c ./bfd/elf32-bfin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-bfin.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-bfin.c	2018-07-10 02:06:11.000000000 +0000
@@ -1040,8 +1040,8 @@ static const struct bfin_reloc_map bfin_
 };
 
 
-static void
-bfin_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+bfin_info_to_howto (bfd *abfd,
 		    arelent *cache_ptr,
 		    Elf_Internal_Rela *dst)
 {
@@ -1056,7 +1056,15 @@ bfin_info_to_howto (bfd *abfd ATTRIBUTE_
     cache_ptr->howto = &bfin_gnuext_howto_table [r_type - BFIN_GNUEXT_RELOC_MIN];
 
   else
-    cache_ptr->howto = (reloc_howto_type *) NULL;
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
+  return TRUE;
 }
 
 /* Given a BFD reloc type, return the howto.  */
@@ -1574,9 +1582,10 @@ bfin_relocate_section (bfd * output_bfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): unresolvable relocation against symbol `%s'"),
-	     input_bfd,
-	     input_section, rel->r_offset, h->root.root.string);
+	    (_("%pB(%pA+%#" PRIx64 "): "
+	       "unresolvable relocation against symbol `%s'"),
+	     input_bfd, input_section, (uint64_t) rel->r_offset,
+	     h->root.root.string);
 	  return FALSE;
 	}
 
@@ -1605,8 +1614,9 @@ bfin_relocate_section (bfd * output_bfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B(%A+%#Lx): reloc against `%s': error %d"),
-		 input_bfd, input_section, rel->r_offset, name, (int) r);
+		(_("%pB(%pA+%#" PRIx64 "): reloc against `%s': error %d"),
+		 input_bfd, input_section, (uint64_t) rel->r_offset,
+		 name, (int) r);
 	      return FALSE;
 	    }
 	}
@@ -2625,8 +2635,9 @@ bfinfdpic_relocate_section (bfd * output
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend"),
-		 input_bfd, input_section, rel->r_offset, name);
+		(_("%pB: relocation at `%pA+%#" PRIx64 "' "
+		   "references symbol `%s' with nonzero addend"),
+		 input_bfd, input_section, (uint64_t) rel->r_offset, name);
 	      return FALSE;
 
 	    }
@@ -4684,7 +4695,7 @@ bfinfdpic_check_relocs (bfd *abfd, struc
 	bad_reloc:
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: unsupported relocation type %d"),
+	    (_("%pB: unsupported relocation type %#x"),
 	     abfd, (int) ELF32_R_TYPE (rel->r_info));
 	  return FALSE;
 	}
@@ -4759,7 +4770,7 @@ elf32_bfin_merge_private_bfd_data (bfd *
   if (0)
 #endif
   _bfd_error_handler
-    ("old_flags = 0x%.8x, new_flags = 0x%.8x, init = %s, filename = %B",
+    ("old_flags = 0x%.8x, new_flags = 0x%.8x, init = %s, filename = %pB",
      old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no", ibfd);
 
   if (!elf_flags_init (obfd))			/* First call, no flags set.  */
@@ -4773,11 +4784,11 @@ elf32_bfin_merge_private_bfd_data (bfd *
       error = TRUE;
       if (IS_FDPIC (obfd))
 	_bfd_error_handler
-	  (_("%B: cannot link non-fdpic object file into fdpic executable"),
+	  (_("%pB: cannot link non-fdpic object file into fdpic executable"),
 	   ibfd);
       else
 	_bfd_error_handler
-	  (_("%B: cannot link fdpic object file into non-fdpic executable"),
+	  (_("%pB: cannot link fdpic object file into non-fdpic executable"),
 	   ibfd);
     }
 
@@ -5337,7 +5348,7 @@ bfd_bfin_elf32_create_embedded_relocs (b
       /* We can only relocate absolute longword relocs at run time.  */
       if (ELF32_R_TYPE (irel->r_info) != (int) R_BFIN_BYTE4_DATA)
 	{
-	  *errmsg = _("unsupported reloc type");
+	  *errmsg = _("unsupported relocation type");
 	  bfd_set_error (bfd_error_bad_value);
 	  goto error_return;
 	}
@@ -5421,7 +5432,7 @@ struct bfd_elf_special_section const elf
 #define bfd_elf32_bfd_reloc_name_lookup \
 					bfin_bfd_reloc_name_lookup
 #define elf_info_to_howto		bfin_info_to_howto
-#define elf_info_to_howto_rel		0
+#define elf_info_to_howto_rel		NULL
 #define elf_backend_object_p		elf32_bfin_object_p
 
 #define bfd_elf32_bfd_is_local_label_name \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-cr16.c ./bfd/elf32-cr16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-cr16.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-cr16.c	2018-07-10 02:06:11.000000000 +0000
@@ -641,7 +641,7 @@ _bfd_cr16_elf_create_got_section (bfd * 
 /* Retrieve a howto ptr using a BFD reloc_code.  */
 
 static reloc_howto_type *
-elf_cr16_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+elf_cr16_reloc_type_lookup (bfd *abfd,
 			    bfd_reloc_code_real_type code)
 {
   unsigned int i;
@@ -650,7 +650,8 @@ elf_cr16_reloc_type_lookup (bfd *abfd AT
     if (code == cr16_reloc_map[i].bfd_reloc_enum)
       return &cr16_elf_howto_table[cr16_reloc_map[i].cr16_reloc_type];
 
-  _bfd_error_handler (_("Unsupported CR16 relocation type: 0x%x\n"), code);
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+		      abfd, code);
   return NULL;
 }
 
@@ -670,8 +671,8 @@ elf_cr16_reloc_name_lookup (bfd *abfd AT
 
 /* Retrieve a howto ptr using an internal relocation entry.  */
 
-static void
-elf_cr16_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
+static bfd_boolean
+elf_cr16_info_to_howto (bfd *abfd, arelent *cache_ptr,
 			Elf_Internal_Rela *dst)
 {
   unsigned int r_type = ELF32_R_TYPE (dst->r_info);
@@ -679,12 +680,13 @@ elf_cr16_info_to_howto (bfd *abfd ATTRIB
   if (r_type >= R_CR16_MAX)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised CR16 reloc number: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
-      r_type = R_CR16_NONE;
+      return FALSE;
     }
   cache_ptr->howto = cr16_elf_howto_table + r_type;
+  return TRUE;
 }
 
 /* Look through the relocs for a section during the first phase.
@@ -2798,7 +2800,7 @@ bfd_cr16_elf32_create_embedded_relocs (b
       if (!((ELF32_R_TYPE (irel->r_info) == (int) R_CR16_NUM32a)
 	  || (ELF32_R_TYPE (irel->r_info) == (int) R_CR16_NUM32)))
 	{
-	  *errmsg = _("unsupported reloc type");
+	  *errmsg = _("unsupported relocation type");
 	  bfd_set_error (bfd_error_bad_value);
 	  goto error_return;
 	}
@@ -2894,7 +2896,7 @@ _bfd_cr16_elf_reloc_type_class (const st
 #define bfd_elf32_bfd_reloc_type_lookup	  elf_cr16_reloc_type_lookup
 #define bfd_elf32_bfd_reloc_name_lookup	  elf_cr16_reloc_name_lookup
 #define elf_info_to_howto		  elf_cr16_info_to_howto
-#define elf_info_to_howto_rel		  0
+#define elf_info_to_howto_rel		  NULL
 #define elf_backend_relocate_section	  elf32_cr16_relocate_section
 #define bfd_elf32_bfd_relax_section	  elf32_cr16_relax_section
 #define bfd_elf32_bfd_get_relocated_section_contents \
@@ -2921,8 +2923,7 @@ _bfd_cr16_elf_reloc_type_class (const st
 				  _bfd_cr16_elf_adjust_dynamic_symbol
 #define elf_backend_size_dynamic_sections \
 				  _bfd_cr16_elf_size_dynamic_sections
-#define elf_backend_omit_section_dynsym \
-      ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+#define elf_backend_omit_section_dynsym _bfd_elf_omit_section_dynsym_all
 #define elf_backend_finish_dynamic_symbol \
 				   _bfd_cr16_elf_finish_dynamic_symbol
 #define elf_backend_finish_dynamic_sections \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-cr16c.c ./bfd/elf32-cr16c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-cr16c.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-cr16c.c	2018-07-10 02:06:11.000000000 +0000
@@ -165,15 +165,15 @@ elf_cr16c_reloc_name_lookup (bfd *abfd A
   return NULL;
 }
 
-static void
+static bfd_boolean
 elf_cr16c_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 			 arelent *cache_ptr ATTRIBUTE_UNUSED,
 			 Elf_Internal_Rela *dst ATTRIBUTE_UNUSED)
 {
-  abort ();
+  return FALSE;
 }
 
-static void
+static bfd_boolean
 elf_cr16c_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
 			     arelent *cache_ptr,
 			     Elf_Internal_Rela *dst)
@@ -183,10 +183,13 @@ elf_cr16c_info_to_howto_rel (bfd *abfd A
   if (r_type >= RINDEX_16C_MAX)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid CR16C reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &elf_howto_table[r_type];
+  return TRUE;
 }
 
 /* Perform a relocation as part of a final link.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-cris.c ./bfd/elf32-cris.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-cris.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-cris.c	2018-07-10 02:06:11.000000000 +0000
@@ -453,7 +453,7 @@ cris_reloc_name_lookup (bfd *abfd ATTRIB
 
 /* Set the howto pointer for an CRIS ELF reloc.  */
 
-static void
+static bfd_boolean
 cris_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED,
 			 arelent * cache_ptr,
 			 Elf_Internal_Rela * dst)
@@ -464,10 +464,13 @@ cris_info_to_howto_rela (bfd * abfd ATTR
   if (r_type >= R_CRIS_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid CRIS reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = & cris_elf_howto_table [r_type];
+  return TRUE;
 }
 
 bfd_reloc_status_type
@@ -1113,7 +1116,7 @@ cris_elf_relocate_section (bfd *output_b
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B, section %A: unresolvable relocation %s against symbol `%s'"),
+		    (_("%pB, section %pA: unresolvable relocation %s against symbol `%s'"),
 		     input_bfd,
 		     input_section,
 		     cris_elf_howto_table[r_type].name,
@@ -1178,10 +1181,10 @@ cris_elf_relocate_section (bfd *output_b
 	      _bfd_error_handler
 		((h->got.offset == (bfd_vma) -1)
 		 /* xgettext:c-format */
-		 ? _("%B, section %A: No PLT nor GOT for relocation %s"
+		 ? _("%pB, section %pA: no PLT nor GOT for relocation %s"
 		     " against symbol `%s'")
 		 /* xgettext:c-format */
-		 : _("%B, section %A: No PLT for relocation %s"
+		 : _("%pB, section %pA: no PLT for relocation %s"
 		     " against symbol `%s'"),
 		 input_bfd,
 		 input_section,
@@ -1305,21 +1308,21 @@ cris_elf_relocate_section (bfd *output_b
 		if (h == NULL)
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B, section %A: relocation %s with non-zero addend %Ld"
-		       " against local symbol"),
+		    (_("%pB, section %pA: relocation %s with non-zero addend"
+		       " %" PRId64 " against local symbol"),
 		     input_bfd,
 		     input_section,
 		     cris_elf_howto_table[r_type].name,
-		     rel->r_addend);
+		     (int64_t) rel->r_addend);
 		else
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B, section %A: relocation %s with non-zero addend %Ld"
-		       " against symbol `%s'"),
+		    (_("%pB, section %pA: relocation %s with non-zero addend"
+		       " %" PRId64 " against symbol `%s'"),
 		     input_bfd,
 		     input_section,
 		     cris_elf_howto_table[r_type].name,
-		     rel->r_addend,
+		     (int64_t) rel->r_addend,
 		     symname[0] != '\0' ? symname : _("[whose name is lost]"));
 
 		bfd_set_error (bfd_error_bad_value);
@@ -1341,7 +1344,7 @@ cris_elf_relocate_section (bfd *output_b
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B, section %A: relocation %s is"
+		(_("%pB, section %pA: relocation %s is"
 		   " not allowed for global symbol: `%s'"),
 		 input_bfd,
 		 input_section,
@@ -1358,7 +1361,7 @@ cris_elf_relocate_section (bfd *output_b
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B, section %A: relocation %s with no GOT created"),
+		(_("%pB, section %pA: relocation %s with no GOT created"),
 		 input_bfd,
 		 input_section,
 		 cris_elf_howto_table[r_type].name);
@@ -1575,10 +1578,10 @@ cris_elf_relocate_section (bfd *output_b
 		((h->root.type == bfd_link_hash_undefined)
 		 /* We shouldn't get here for GCC-emitted code.  */
 		 /* xgettext:c-format */
-		 ? _("%B, section %A: relocation %s has an undefined"
+		 ? _("%pB, section %pA: relocation %s has an undefined"
 		     " reference to `%s', perhaps a declaration mixup?")
 		 /* xgettext:c-format */
-		 : _("%B, section %A: relocation %s is"
+		 : _("%pB, section %pA: relocation %s is"
 		     " not allowed for `%s', a global symbol with default"
 		     " visibility, perhaps a declaration mixup?"),
 		 input_bfd,
@@ -1662,12 +1665,12 @@ cris_elf_relocate_section (bfd *output_b
 		 to pass us these kinds of things.  */
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B, section %A: relocation %s with non-zero addend %Ld"
-		   " against symbol `%s'"),
+		(_("%pB, section %pA: relocation %s with non-zero addend"
+		   " %" PRId64 " against symbol `%s'"),
 		 input_bfd,
 		 input_section,
 		 cris_elf_howto_table[r_type].name,
-		 rel->r_addend,
+		 (int64_t) rel->r_addend,
 		 symname[0] != '\0' ? symname : _("[whose name is lost]"));
 
 	      bfd_set_error (bfd_error_bad_value);
@@ -1815,12 +1818,12 @@ cris_elf_relocate_section (bfd *output_b
 		 things.  */
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B, section %A: relocation %s with non-zero addend %Ld"
-		   " against symbol `%s'"),
+		(_("%pB, section %pA: relocation %s with non-zero addend"
+		   " %" PRId64 " against symbol `%s'"),
 		 input_bfd,
 		 input_section,
 		 cris_elf_howto_table[r_type].name,
-		 rel->r_addend,
+		 (int64_t) rel->r_addend,
 		 symname[0] != '\0' ? symname : _("[whose name is lost]"));
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
@@ -1949,7 +1952,7 @@ cris_elf_relocate_section (bfd *output_b
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B, section %A: relocation %s is"
+		(_("%pB, section %pA: relocation %s is"
 		   " not allowed for symbol: `%s'"
 		   " which is defined outside the program,"
 		   " perhaps a declaration mixup?"),
@@ -3044,7 +3047,7 @@ cris_elf_check_relocs (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B, section %A:\n  v10/v32 compatible object"
+		    (_("%pB, section %pA: v10/v32 compatible object"
 		       " must not contain a PIC relocation"),
 		     abfd, sec);
 		  return FALSE;
@@ -3098,7 +3101,7 @@ cris_elf_check_relocs (bfd *abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B, section %A:\n  relocation %s not valid"
+		(_("%pB, section %pA:\n  relocation %s not valid"
 		   " in a shared object;"
 		   " typically an option mixup, recompile with -fPIC"),
 		 abfd,
@@ -3316,7 +3319,7 @@ cris_elf_check_relocs (bfd *abfd,
 	      /* FIXME: How do we make this optionally a warning only?  */
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B, section %A:\n  relocation %s should not"
+		(_("%pB, section %pA: relocation %s should not"
 		   " be used in a shared object; recompile with -fPIC"),
 		 abfd,
 		 sec,
@@ -3741,8 +3744,8 @@ elf_cris_discard_excess_dso_dynamics (st
 	/* FIXME: How do we make this optionally a warning only?  */
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B, section `%A', to symbol `%s':\n"
-	     "  relocation %s should not be used"
+	  (_("%pB, section `%pA', to symbol `%s':"
+	     " relocation %s should not be used"
 	     " in a shared object; recompile with -fPIC"),
 	   s->section->owner,
 	   s->section,
@@ -3854,7 +3857,7 @@ cris_elf_final_write_processing (bfd *ab
 
     default:
       _bfd_abort (__FILE__, __LINE__,
-		  _("Unexpected machine number"));
+		  _("unexpected machine number"));
     }
 
   elf_elfheader (abfd)->e_flags = e_flags;
@@ -3955,8 +3958,8 @@ cris_elf_merge_private_bfd_data (bfd *ib
     {
       _bfd_error_handler
 	(bfd_get_symbol_leading_char (ibfd) == '_'
-	 ? _("%B: uses _-prefixed symbols, but writing file with non-prefixed symbols")
-	 : _("%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"),
+	 ? _("%pB: uses _-prefixed symbols, but writing file with non-prefixed symbols")
+	 : _("%pB: uses non-prefixed symbols, but writing file with _-prefixed symbols"),
 	 ibfd);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -3975,9 +3978,9 @@ cris_elf_merge_private_bfd_data (bfd *ib
 	{
 	  _bfd_error_handler
 	    ((imach == bfd_mach_cris_v32)
-	     ? _("%B contains CRIS v32 code, incompatible"
+	     ? _("%pB contains CRIS v32 code, incompatible"
 		 " with previous objects")
-	     : _("%B contains non-CRIS-v32 code, incompatible"
+	     : _("%pB contains non-CRIS-v32 code, incompatible"
 		 " with previous objects"),
 	     ibfd);
 	  bfd_set_error (bfd_error_bad_value);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-crx.c ./bfd/elf32-crx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-crx.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-crx.c	2018-07-10 02:06:11.000000000 +0000
@@ -28,7 +28,7 @@
 
 static reloc_howto_type *elf_crx_reloc_type_lookup
   (bfd *, bfd_reloc_code_real_type);
-static void elf_crx_info_to_howto
+static bfd_boolean elf_crx_info_to_howto
   (bfd *, arelent *, Elf_Internal_Rela *);
 static bfd_boolean elf32_crx_relax_delete_bytes
   (struct bfd_link_info *, bfd *, asection *, bfd_vma, int);
@@ -418,20 +418,21 @@ elf_crx_reloc_name_lookup (bfd *abfd ATT
 
 /* Retrieve a howto ptr using an internal relocation entry.  */
 
-static void
-elf_crx_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
+static bfd_boolean
+elf_crx_info_to_howto (bfd *abfd, arelent *cache_ptr,
 		       Elf_Internal_Rela *dst)
 {
   unsigned int r_type = ELF32_R_TYPE (dst->r_info);
   if (r_type >= R_CRX_MAX)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised CRX reloc number: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
-      r_type = R_CRX_NONE;
+      return FALSE;
     }
   cache_ptr->howto = &crx_elf_howto_table[r_type];
+  return TRUE;
 }
 
 /* Perform a relocation as part of a final link.  */
@@ -1320,7 +1321,7 @@ elf32_crx_relax_section (bfd *abfd, asec
 #define bfd_elf32_bfd_reloc_name_lookup \
 					elf_crx_reloc_name_lookup
 #define elf_info_to_howto		elf_crx_info_to_howto
-#define elf_info_to_howto_rel		0
+#define elf_info_to_howto_rel		NULL
 #define elf_backend_relocate_section	elf32_crx_relocate_section
 #define bfd_elf32_bfd_relax_section	elf32_crx_relax_section
 #define bfd_elf32_bfd_get_relocated_section_contents \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-d10v.c ./bfd/elf32-d10v.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-d10v.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-d10v.c	2018-07-10 02:06:11.000000000 +0000
@@ -220,8 +220,8 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 
 /* Set the howto pointer for an D10V ELF reloc.  */
 
-static void
-d10v_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+d10v_info_to_howto_rel (bfd *abfd,
 			arelent *cache_ptr,
 			Elf_Internal_Rela *dst)
 {
@@ -231,10 +231,13 @@ d10v_info_to_howto_rel (bfd *abfd ATTRIB
   if (r_type >= (unsigned int) R_D10V_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid D10V reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &elf_d10v_howto_table[r_type];
+  return TRUE;
 }
 
 static asection *
@@ -539,7 +542,7 @@ elf32_d10v_relocate_section (bfd *output
 #define TARGET_BIG_SYM		d10v_elf32_vec
 #define TARGET_BIG_NAME		"elf32-d10v"
 
-#define elf_info_to_howto		     0
+#define elf_info_to_howto		     NULL
 #define elf_info_to_howto_rel		     d10v_info_to_howto_rel
 #define elf_backend_object_p		     0
 #define elf_backend_final_write_processing   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.1.0.20180703/bfd/elf32-d30v.c ./bfd/elf32-d30v.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-d30v.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-d30v.c	2018-07-10 02:06:11.000000000 +0000
@@ -508,8 +508,8 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 
 /* Set the howto pointer for an D30V ELF reloc (type REL).  */
 
-static void
-d30v_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+d30v_info_to_howto_rel (bfd *abfd,
 			arelent *cache_ptr,
 			Elf_Internal_Rela *dst)
 {
@@ -519,16 +519,19 @@ d30v_info_to_howto_rel (bfd *abfd ATTRIB
   if (r_type >= (unsigned int) R_D30V_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid D30V reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &elf_d30v_howto_table[r_type];
+  return TRUE;
 }
 
 /* Set the howto pointer for an D30V ELF reloc (type RELA).  */
 
-static void
-d30v_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+d30v_info_to_howto_rela (bfd *abfd,
 			 arelent *cache_ptr,
 			 Elf_Internal_Rela *dst)
 {
@@ -538,10 +541,13 @@ d30v_info_to_howto_rela (bfd *abfd ATTRI
   if (r_type >= (unsigned int) R_D30V_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid D30V reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &elf_d30v_howto_table[r_type];
+  return TRUE;
 }
 
 #define ELF_ARCH		bfd_arch_d30v
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-dlx.c ./bfd/elf32-dlx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-dlx.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-dlx.c	2018-07-10 02:06:11.000000000 +0000
@@ -138,7 +138,7 @@ elf32_dlx_relocate16 (bfd *abfd,
   if (strcmp (input_section->name, symbol->section->output_section->name) != 0)
     {
       _bfd_error_handler
-	(_("BFD Link Error: branch (PC rel16) to section (%s) not supported"),
+	(_("branch (PC rel16) to section (%s) not supported"),
 	 symbol->section->output_section->name);
       return bfd_reloc_undefined;
     }
@@ -201,7 +201,7 @@ elf32_dlx_relocate26 (bfd *abfd,
   if (strcmp (input_section->name, symbol->section->output_section->name) != 0)
     {
       _bfd_error_handler
-	(_("BFD Link Error: jump (PC rel26) to section (%s) not supported"),
+	(_("jump (PC rel26) to section (%s) not supported"),
 	 symbol->section->output_section->name);
       return bfd_reloc_undefined;
     }
@@ -530,7 +530,7 @@ elf32_dlx_reloc_name_lookup (bfd *abfd A
 }
 
 static reloc_howto_type *
-dlx_rtype_to_howto (unsigned int r_type)
+dlx_rtype_to_howto (bfd *abfd, unsigned int r_type)
 {
   switch (r_type)
     {
@@ -545,31 +545,33 @@ dlx_rtype_to_howto (unsigned int r_type)
     default:
       if (r_type >= (unsigned int) R_DLX_max)
 	{
-	  _bfd_error_handler (_("Invalid DLX reloc number: %d"), r_type);
-	  r_type = 0;
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      abfd, r_type);
+	  bfd_set_error (bfd_error_bad_value);
+	  return NULL;
 	}
       return & dlx_elf_howto_table[r_type];
     }
 }
 
-static void
+static bfd_boolean
 elf32_dlx_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED,
 			 arelent * cache_ptr ATTRIBUTE_UNUSED,
 			 Elf_Internal_Rela * dst ATTRIBUTE_UNUSED)
 {
-  abort ();
+  return FALSE;
 }
 
-static void
-elf32_dlx_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+elf32_dlx_info_to_howto_rel (bfd *abfd,
 			     arelent *cache_ptr,
 			     Elf_Internal_Rela *dst)
 {
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  cache_ptr->howto = dlx_rtype_to_howto (r_type);
-  return;
+  cache_ptr->howto = dlx_rtype_to_howto (abfd, r_type);
+  return cache_ptr->howto != NULL;
 }
 
 #define TARGET_BIG_SYM		dlx_elf32_be_vec
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-epiphany.c ./bfd/elf32-epiphany.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-epiphany.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-epiphany.c	2018-07-10 02:06:11.000000000 +0000
@@ -362,8 +362,8 @@ epiphany_elf_relax_section (bfd *abfd, a
 
 /* Set the howto pointer for a EPIPHANY ELF reloc.  */
 
-static void
-epiphany_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+epiphany_info_to_howto_rela (bfd * abfd,
 			     arelent * cache_ptr,
 			     Elf_Internal_Rela * dst)
 {
@@ -373,10 +373,13 @@ epiphany_info_to_howto_rela (bfd * abfd 
   if (r_type >= (unsigned int) R_EPIPHANY_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid Epiphany reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = & epiphany_elf_howto_table [r_type];
+  return TRUE;
 }
 
 /* Perform a single relocation.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-fr30.c ./bfd/elf32-fr30.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-fr30.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-fr30.c	2018-07-10 02:06:11.000000000 +0000
@@ -367,7 +367,7 @@ fr30_reloc_name_lookup (bfd *abfd ATTRIB
 
 /* Set the howto pointer for an FR30 ELF reloc.  */
 
-static void
+static bfd_boolean
 fr30_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
 			 arelent *cache_ptr,
 			 Elf_Internal_Rela *dst)
@@ -378,10 +378,13 @@ fr30_info_to_howto_rela (bfd *abfd ATTRI
   if (r_type >= (unsigned int) R_FR30_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid FR30 reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = & fr30_elf_howto_table [r_type];
+  return TRUE;
 }
 
 /* Perform a single relocation.  By default we use the standard BFD
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-frv.c ./bfd/elf32-frv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-frv.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-frv.c	2018-07-10 02:06:11.000000000 +0000
@@ -25,6 +25,7 @@
 #include "elf/frv.h"
 #include "dwarf2.h"
 #include "hashtab.h"
+#include "libiberty.h"
 
 /* Forward declarations.  */
 
@@ -2532,7 +2533,7 @@ frv_reloc_name_lookup (bfd *abfd ATTRIBU
 
 /* Set the howto pointer for an FRV ELF reloc.  */
 
-static void
+static bfd_boolean
 frv_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
 			arelent *cache_ptr,
 			Elf_Internal_Rela *dst)
@@ -2551,19 +2552,23 @@ frv_info_to_howto_rela (bfd *abfd ATTRIB
       break;
 
     default:
-      if (r_type >= (unsigned int) R_FRV_max)
+      if (r_type >= ARRAY_SIZE (elf32_frv_howto_table))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: invalid FRV reloc number: %d"), abfd, r_type);
-	  r_type = 0;
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      abfd, r_type);
+	  bfd_set_error (bfd_error_bad_value);
+	  return FALSE;
 	}
       cache_ptr->howto = & elf32_frv_howto_table [r_type];
       break;
     }
+  return TRUE;
 }
 
 /* Set the howto pointer for an FRV ELF REL reloc.  */
-static void
+
+static bfd_boolean
 frvfdpic_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
 			    arelent *cache_ptr, Elf_Internal_Rela *dst)
 {
@@ -2594,8 +2599,9 @@ frvfdpic_info_to_howto_rel (bfd *abfd AT
 
     default:
       cache_ptr->howto = NULL;
-      break;
+      return FALSE;
     }
+  return TRUE;
 }
 
 /* Perform a single relocation.  By default we use the standard BFD
@@ -3529,9 +3535,10 @@ elf32_frv_relocate_section (bfd *output_
 		    if (addend)
 		      {
 			info->callbacks->einfo
-			  (_("%H: R_FRV_FUNCDESC references dynamic symbol"
+			  (_("%H: %s references dynamic symbol"
 			     " with nonzero addend\n"),
-			   input_bfd, input_section, rel->r_offset);
+			   input_bfd, input_section, rel->r_offset,
+			   "R_FRV_FUNCDESC");
 			return FALSE;
 		      }
 		    dynindx = h->dynindx;
@@ -3650,9 +3657,10 @@ elf32_frv_relocate_section (bfd *output_
 		if (addend && r_type == R_FRV_FUNCDESC_VALUE)
 		  {
 		    info->callbacks->einfo
-		      (_("%H: R_FRV_FUNCDESC_VALUE"
-			 " references dynamic symbol with nonzero addend\n"),
-		       input_bfd, input_section, rel->r_offset);
+		      (_("%H: %s references dynamic symbol"
+			 " with nonzero addend\n"),
+		       input_bfd, input_section, rel->r_offset,
+		       "R_FRV_FUNCDESC_VALUE");
 		    return FALSE;
 		  }
 		dynindx = h->dynindx;
@@ -6250,10 +6258,9 @@ elf32_frv_check_relocs (bfd *abfd,
 
 	default:
 	bad_reloc:
-	  info->callbacks->einfo
-	    /* xgettext:c-format */
-	    (_("%B: unsupported relocation type %i\n"),
-	     abfd, ELF32_R_TYPE (rel->r_info));
+	  /* xgettext:c-format */
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      abfd, (unsigned int) ELF32_R_TYPE (rel->r_info));
 	  return FALSE;
 	}
     }
@@ -6504,7 +6511,7 @@ frv_elf_merge_private_bfd_data (bfd *ibf
 	      error = TRUE;
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: compiled with %s and linked with modules"
+		(_("%pB: compiled with %s and linked with modules"
 		   " that use non-pic relocations"),
 		 ibfd, (new_flags & EF_FRV_BIGPIC) ? "-fPIC" : "-fpic");
 #endif
@@ -6558,7 +6565,7 @@ frv_elf_merge_private_bfd_data (bfd *ibf
 	  error = TRUE;
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: compiled with %s and linked with modules compiled with %s"),
+	    (_("%pB: compiled with %s and linked with modules compiled with %s"),
 	     ibfd, new_opt, old_opt);
 	}
 
@@ -6571,7 +6578,7 @@ frv_elf_merge_private_bfd_data (bfd *ibf
 	  error = TRUE;
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: uses different unknown e_flags (%#x) fields"
+	    (_("%pB: uses different unknown e_flags (%#x) fields"
 	       " than previous modules (%#x)"),
 	     ibfd, new_partial, old_partial);
 	}
@@ -6593,11 +6600,11 @@ frv_elf_merge_private_bfd_data (bfd *ibf
       error = TRUE;
       if (IS_FDPIC (obfd))
 	_bfd_error_handler
-	  (_("%B: cannot link non-fdpic object file into fdpic executable"),
+	  (_("%pB: cannot link non-fdpic object file into fdpic executable"),
 	   ibfd);
       else
 	_bfd_error_handler
-	  (_("%B: cannot link fdpic object file into non-fdpic executable"),
+	  (_("%pB: cannot link fdpic object file into non-fdpic executable"),
 	   ibfd);
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-ft32.c ./bfd/elf32-ft32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-ft32.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-ft32.c	2018-07-10 02:06:11.000000000 +0000
@@ -292,16 +292,25 @@ ft32_reloc_name_lookup (bfd *abfd ATTRIB
 
 /* Set the howto pointer for an FT32 ELF reloc.  */
 
-static void
-ft32_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+ft32_info_to_howto_rela (bfd *abfd,
 			  arelent *cache_ptr,
 			  Elf_Internal_Rela *dst)
 {
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_FT32_max);
+  if (r_type >= (unsigned int) R_FT32_max)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
   cache_ptr->howto = & ft32_elf_howto_table [r_type];
+  return cache_ptr->howto != NULL;
 }
 
 /* Relocate an FT32 ELF section.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-gen.c ./bfd/elf32-gen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-gen.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-gen.c	2018-07-10 02:06:11.000000000 +0000
@@ -41,20 +41,22 @@ static reloc_howto_type dummy =
 	 0,			/* dst_mask */
 	 FALSE);		/* pcrel_offset */
 
-static void
+static bfd_boolean
 elf_generic_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 			   arelent *bfd_reloc,
 			   Elf_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED)
 {
   bfd_reloc->howto = &dummy;
+  return TRUE;
 }
 
-static void
+static bfd_boolean
 elf_generic_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
 			       arelent *bfd_reloc,
 			       Elf_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED)
 {
   bfd_reloc->howto = &dummy;
+  return TRUE;
 }
 
 static void
@@ -66,7 +68,7 @@ check_for_relocs (bfd * abfd, asection *
 
       ehdrp = elf_elfheader (abfd);
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: Relocations in generic ELF (EM: %d)"),
+      _bfd_error_handler (_("%pB: relocations in generic ELF (EM: %d)"),
 			  abfd, ehdrp->e_machine);
 
       bfd_set_error (bfd_error_wrong_format);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-h8300.c ./bfd/elf32-h8300.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-h8300.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-h8300.c	2018-07-10 02:06:11.000000000 +0000
@@ -26,9 +26,9 @@
 
 static reloc_howto_type *elf32_h8_reloc_type_lookup
   (bfd *abfd, bfd_reloc_code_real_type code);
-static void elf32_h8_info_to_howto
+static bfd_boolean elf32_h8_info_to_howto
   (bfd *, arelent *, Elf_Internal_Rela *);
-static void elf32_h8_info_to_howto_rel
+static bfd_boolean elf32_h8_info_to_howto_rel
   (bfd *, arelent *, Elf_Internal_Rela *);
 static unsigned long elf32_h8_mach (flagword);
 static void elf32_h8_final_write_processing (bfd *, bfd_boolean);
@@ -284,7 +284,7 @@ elf32_h8_reloc_name_lookup (bfd *abfd AT
   return NULL;
 }
 
-static void
+static bfd_boolean
 elf32_h8_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *bfd_reloc,
 			Elf_Internal_Rela *elf_reloc)
 {
@@ -296,20 +296,20 @@ elf32_h8_info_to_howto (bfd *abfd ATTRIB
     if (h8_elf_howto_table[i].type == r)
       {
 	bfd_reloc->howto = &h8_elf_howto_table[i];
-	return;
+	return TRUE;
       }
-  abort ();
+  /* xgettext:c-format */
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, r);
+  bfd_set_error (bfd_error_bad_value);
+  return FALSE;
 }
 
-static void
-elf32_h8_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED, arelent *bfd_reloc,
+static bfd_boolean
+elf32_h8_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+			    arelent *bfd_reloc ATTRIBUTE_UNUSED,
 			    Elf_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED)
 {
-  unsigned int r;
-
-  abort ();
-  r = ELF32_R_TYPE (elf_reloc->r_info);
-  bfd_reloc->howto = &h8_elf_howto_table[r];
+  return FALSE;
 }
 
 /* Special handling for H8/300 relocs.
@@ -453,7 +453,8 @@ elf32_h8_relocate_section (bfd *output_b
       arelent bfd_reloc;
       reloc_howto_type *howto;
 
-      elf32_h8_info_to_howto (input_bfd, &bfd_reloc, rel);
+      if (! elf32_h8_info_to_howto (input_bfd, &bfd_reloc, rel))
+	continue;
       howto = bfd_reloc.howto;
 
       r_symndx = ELF32_R_SYM (rel->r_info);
@@ -733,7 +734,8 @@ elf32_h8_relax_section (bfd *abfd, asect
       {
 	arelent bfd_reloc;
 
-	elf32_h8_info_to_howto (abfd, &bfd_reloc, irel);
+	if (! elf32_h8_info_to_howto (abfd, &bfd_reloc, irel))
+	  continue;
       }
       /* Keep track of the previous reloc so that we can delete
 	 some long jumps created by the compiler.  */
@@ -1249,7 +1251,8 @@ elf32_h8_relax_section (bfd *abfd, asect
 			reloc_howto_type *h;
 			bfd_vma last_reloc_size;
 
-			elf32_h8_info_to_howto (abfd, &bfd_reloc, last_reloc);
+			if (! elf32_h8_info_to_howto (abfd, &bfd_reloc, last_reloc))
+			  break;
 			h = bfd_reloc.howto;
 			last_reloc_size = 1 << h->size;
 			if (last_reloc->r_offset + last_reloc_size
@@ -1267,7 +1270,8 @@ elf32_h8_relax_section (bfd *abfd, asect
 			reloc_howto_type *h;
 			bfd_vma next_reloc_size;
 
-			elf32_h8_info_to_howto (abfd, &bfd_reloc, next_reloc);
+			if (! elf32_h8_info_to_howto (abfd, &bfd_reloc, next_reloc))
+			  break;
 			h = bfd_reloc.howto;
 			next_reloc_size = 1 << h->size;
 			if (next_reloc->r_offset + next_reloc_size
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-hppa.c ./bfd/elf32-hppa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-hppa.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-hppa.c	2018-07-10 02:06:11.000000000 +0000
@@ -503,6 +503,8 @@ hppa_get_stub_entry (const asection *inp
      more than one stub used to reach say, printf, and we need to
      distinguish between them.  */
   id_sec = htab->stub_group[input_section->id].link_sec;
+  if (id_sec == NULL)
+    return NULL;
 
   if (hh != NULL && hh->hsh_cache != NULL
       && hh->hsh_cache->hh == hh
@@ -574,7 +576,7 @@ hppa_add_stub (const char *stub_name,
   if (hsh == NULL)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: cannot create stub entry %s"),
+      _bfd_error_handler (_("%pB: cannot create stub entry %s"),
 			  section->owner, stub_name);
       return NULL;
     }
@@ -612,6 +614,9 @@ hppa_type_of_stub (asection *input_sec,
       return hppa_stub_import;
     }
 
+  if (destination == (bfd_vma) -1)
+    return hppa_stub_none;
+
   /* Determine where the call point is.  */
   location = (input_sec->output_offset
 	      + input_sec->output_section->vma
@@ -826,10 +831,11 @@ hppa_build_one_stub (struct bfd_hash_ent
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections"),
+	    (_("%pB(%pA+%#" PRIx64 "): "
+	       "cannot reach %s, recompile with -ffunction-sections"),
 	     hsh->target_section->owner,
 	     stub_sec,
-	     hsh->stub_offset,
+	     (uint64_t) hsh->stub_offset,
 	     hsh->bh_root.string);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -1239,7 +1245,7 @@ elf32_hppa_check_relocs (bfd *abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocation %s can not be used when making a shared object; recompile with -fPIC"),
+		(_("%pB: relocation %s can not be used when making a shared object; recompile with -fPIC"),
 		 abfd,
 		 elf_hppa_howto_table[r_type].name);
 	      bfd_set_error (bfd_error_bad_value);
@@ -1890,18 +1896,19 @@ got_entries_needed (int tls_type)
 }
 
 /* Calculate size of relocs needed for symbol given its TLS_TYPE and
-   NEEDed GOT entries.  KNOWN says a TPREL offset can be calculated
-   at link time.  */
+   NEEDed GOT entries.  TPREL_KNOWN says a TPREL offset can be
+   calculated at link time.  DTPREL_KNOWN says the same for a DTPREL
+   offset.  */
 
 static inline unsigned int
-got_relocs_needed (int tls_type, unsigned int need, bfd_boolean known)
+got_relocs_needed (int tls_type, unsigned int need,
+		   bfd_boolean dtprel_known, bfd_boolean tprel_known)
 {
   /* All the entries we allocated need relocs.
-     Except IE in executable with a local symbol.  We could also omit
-     the DTPOFF reloc on the second word of a GD entry under the same
-     condition as that for IE, but ld.so might want to differentiate
-     LD and GD entries at some stage.  */
-  if ((tls_type & GOT_TLS_IE) != 0 && known)
+     Except for GD and IE with local symbols.  */
+  if ((tls_type & GOT_TLS_GD) != 0 && dtprel_known)
+    need -= GOT_ENTRY_SIZE;
+  if ((tls_type & GOT_TLS_IE) != 0 && tprel_known)
     need -= GOT_ENTRY_SIZE;
   return need * sizeof (Elf32_External_Rela) / GOT_ENTRY_SIZE;
 }
@@ -1955,15 +1962,16 @@ allocate_dynrelocs (struct elf_link_hash
       need = got_entries_needed (hh->tls_type);
       sec->size += need;
       if (htab->etab.dynamic_sections_created
-	  && (bfd_link_pic (info)
+	  && (bfd_link_dll (info)
+	      || (bfd_link_pic (info) && (hh->tls_type & GOT_NORMAL) != 0)
 	      || (eh->dynindx != -1
 		  && !SYMBOL_REFERENCES_LOCAL (info, eh)))
 	  && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, eh))
 	{
-	  bfd_boolean tprel_known = (bfd_link_executable (info)
-				     && SYMBOL_REFERENCES_LOCAL (info, eh));
+	  bfd_boolean local = SYMBOL_REFERENCES_LOCAL (info, eh);
 	  htab->etab.srelgot->size
-	    += got_relocs_needed (hh->tls_type, need, tprel_known);
+	    += got_relocs_needed (hh->tls_type, need, local,
+				  local && bfd_link_executable (info));
 	}
     }
   else
@@ -2079,7 +2087,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, eh->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -2188,12 +2196,12 @@ elf32_hppa_size_dynamic_sections (bfd *o
 	      *local_got = sec->size;
 	      need = got_entries_needed (*local_tls_type);
 	      sec->size += need;
-	      if (bfd_link_pic (info))
-		{
-		  bfd_boolean tprel_known = bfd_link_executable (info);
-		  htab->etab.srelgot->size
-		    += got_relocs_needed (*local_tls_type, need, tprel_known);
-		}
+	      if (bfd_link_dll (info)
+		  || (bfd_link_pic (info)
+		      && (*local_tls_type & GOT_NORMAL) != 0))
+		htab->etab.srelgot->size
+		  += got_relocs_needed (*local_tls_type, need, TRUE,
+					bfd_link_executable (info));
 	    }
 	  else
 	    *local_got = (bfd_vma) -1;
@@ -2677,7 +2685,7 @@ get_local_syms (bfd *output_bfd, bfd *in
 		  else
 		    {
 		      /* xgettext:c-format */
-		      _bfd_error_handler (_("%B: duplicate export stub %s"),
+		      _bfd_error_handler (_("%pB: duplicate export stub %s"),
 					  input_bfd, stub_name);
 		    }
 		}
@@ -2789,6 +2797,9 @@ elf32_hppa_size_stubs
 	      /* If there aren't any relocs, then there's nothing more
 		 to do.  */
 	      if ((section->flags & SEC_RELOC) == 0
+		  || (section->flags & SEC_ALLOC) == 0
+		  || (section->flags & SEC_LOAD) == 0
+		  || (section->flags & SEC_CODE) == 0
 		  || section->reloc_count == 0)
 		continue;
 
@@ -2842,7 +2853,7 @@ elf32_hppa_size_stubs
 		     section.  */
 		  sym_sec = NULL;
 		  sym_value = 0;
-		  destination = 0;
+		  destination = -1;
 		  hh = NULL;
 		  if (r_indx < symtab_hdr->sh_info)
 		    {
@@ -3272,7 +3283,7 @@ final_link_relocate (asection *input_sec
 		  || hh->eh.root.type == bfd_link_hash_defweak)))
 	{
 	  hsh = hppa_get_stub_entry (input_section, sym_sec,
-					    hh, rela, htab);
+				     hh, rela, htab);
 	  if (hsh != NULL)
 	    {
 	      value = (hsh->stub_offset
@@ -3330,10 +3341,11 @@ final_link_relocate (asection *input_sec
 		   error.  */
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link"),
+		  (_("%pB(%pA+%#" PRIx64 "): %s fixup for insn %#x "
+		     "is not supported in a non-shared link"),
 		   input_bfd,
 		   input_section,
-		   offset,
+		   (uint64_t) offset,
 		   howto->name,
 		   insn);
 	    }
@@ -3471,7 +3483,7 @@ final_link_relocate (asection *input_sec
       if (value + addend + max_branch_offset >= 2*max_branch_offset)
 	{
 	  hsh = hppa_get_stub_entry (input_section, sym_sec,
-					    hh, rela, htab);
+				     hh, rela, htab);
 	  if (hsh == NULL)
 	    return bfd_reloc_undefined;
 
@@ -3496,10 +3508,11 @@ final_link_relocate (asection *input_sec
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections"),
+	(_("%pB(%pA+%#" PRIx64 "): cannot reach %s, "
+	   "recompile with -ffunction-sections"),
 	 input_bfd,
 	 input_section,
-	 offset,
+	 (uint64_t) offset,
 	 hsh->bh_root.string);
       bfd_set_error (bfd_error_bad_value);
       return bfd_reloc_notsupported;
@@ -4035,7 +4048,7 @@ elf32_hppa_relocate_section (bfd *output
 		   GD GOT are necessary, we emit the GD first.  */
 
 		if (indx != 0
-		    || (bfd_link_pic (info)
+		    || (bfd_link_dll (info)
 			&& (hh == NULL
 			    || !UNDEFWEAK_NO_DYNAMIC_RELOC (info, &hh->eh))))
 		  {
@@ -4059,6 +4072,20 @@ elf32_hppa_relocate_section (bfd *output
 			bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc);
 			htab->etab.srelgot->reloc_count++;
 			loc += sizeof (Elf32_External_Rela);
+			bfd_put_32 (output_bfd, 0,
+				    htab->etab.sgot->contents + cur_off);
+		      }
+		    else
+		      /* If we are not emitting relocations for a
+			 general dynamic reference, then we must be in a
+			 static link or an executable link with the
+			 symbol binding locally.  Mark it as belonging
+			 to module 1, the executable.  */
+		      bfd_put_32 (output_bfd, 1,
+				  htab->etab.sgot->contents + cur_off);
+
+		    if (indx != 0)
+		      {
 			outrel.r_info
 			  = ELF32_R_INFO (indx, R_PARISC_TLS_DTPOFF32);
 			outrel.r_offset += 4;
@@ -4066,22 +4093,11 @@ elf32_hppa_relocate_section (bfd *output
 			htab->etab.srelgot->reloc_count++;
 			loc += sizeof (Elf32_External_Rela);
 			bfd_put_32 (output_bfd, 0,
-				    htab->etab.sgot->contents + cur_off);
-			bfd_put_32 (output_bfd, 0,
 				    htab->etab.sgot->contents + cur_off + 4);
 		      }
 		    else
-		      {
-			/* If we are not emitting relocations for a
-			   general dynamic reference, then we must be in a
-			   static link or an executable link with the
-			   symbol binding locally.  Mark it as belonging
-			   to module 1, the executable.  */
-			bfd_put_32 (output_bfd, 1,
-				    htab->etab.sgot->contents + cur_off);
-			bfd_put_32 (output_bfd, relocation - dtpoff_base (info),
-				    htab->etab.sgot->contents + cur_off + 4);
-		      }
+		      bfd_put_32 (output_bfd, relocation - dtpoff_base (info),
+				  htab->etab.sgot->contents + cur_off + 4);
 		    cur_off += 8;
 		  }
 
@@ -4139,7 +4155,7 @@ elf32_hppa_relocate_section (bfd *output
 		    if (*sym_name == '\0')
 		      sym_name = bfd_section_name (input_bfd, sym_sec);
 		    _bfd_error_handler
-		      (_("%B:%s has both normal and TLS relocs"),
+		      (_("%pB:%s has both normal and TLS relocs"),
 		       input_bfd, sym_name);
 		  }
 		bfd_set_error (bfd_error_bad_value);
@@ -4198,10 +4214,10 @@ elf32_hppa_relocate_section (bfd *output
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B(%A+%#Lx): cannot handle %s for %s"),
+		(_("%pB(%pA+%#" PRIx64 "): cannot handle %s for %s"),
 		 input_bfd,
 		 input_section,
-		 rela->r_offset,
+		 (uint64_t) rela->r_offset,
 		 howto->name,
 		 sym_name);
 	      bfd_set_error (bfd_error_bad_value);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-i370.c ./bfd/elf32-i370.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-i370.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-i370.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,1419 +0,0 @@
-/* i370-specific support for 32-bit ELF
-   Copyright (C) 1994-2018 Free Software Foundation, Inc.
-   Written by Ian Lance Taylor, Cygnus Support.
-   Hacked by Linas Vepstas for i370 linas@linas.org
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* This file is based on a preliminary PowerPC ELF ABI.
-   But its been hacked on for the IBM 360/370 architectures.
-   Basically, the 31bit relocation works, and just about everything
-   else is a wild card.  In particular, don't expect shared libs or
-   dynamic loading to work ...  its never been tested.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "bfdlink.h"
-#include "libbfd.h"
-#include "elf-bfd.h"
-#include "elf/i370.h"
-
-static reloc_howto_type *i370_elf_howto_table[ (int)R_I370_max ];
-
-static reloc_howto_type i370_elf_howto_raw[] =
-{
-  /* This reloc does nothing.  */
-  HOWTO (R_I370_NONE,		/* type */
-	 0,			/* rightshift */
-	 3,			/* size (0 = byte, 1 = short, 2 = long) */
-	 0,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_I370_NONE",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0,			/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* A standard 31 bit relocation.  */
-  HOWTO (R_I370_ADDR31,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 31,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_I370_ADDR31",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x7fffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* A standard 32 bit relocation.  */
-  HOWTO (R_I370_ADDR32,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_I370_ADDR32",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* A standard 16 bit relocation.  */
-  HOWTO (R_I370_ADDR16,		/* type */
-	 0,			/* rightshift */
-	 1,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_I370_ADDR16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* 31-bit PC relative.  */
-  HOWTO (R_I370_REL31,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 31,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_I370_REL31",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x7fffffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* 32-bit PC relative.  */
-  HOWTO (R_I370_REL32,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_I370_REL32",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* A standard 12 bit relocation.  */
-  HOWTO (R_I370_ADDR12,		/* type */
-	 0,			/* rightshift */
-	 1,			/* size (0 = byte, 1 = short, 2 = long) */
-	 12,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_I370_ADDR12",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xfff,			/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* 12-bit PC relative.  */
-  HOWTO (R_I370_REL12,		/* type */
-	 0,			/* rightshift */
-	 1,			/* size (0 = byte, 1 = short, 2 = long) */
-	 12,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_I370_REL12",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xfff,			/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* A standard 8 bit relocation.  */
-  HOWTO (R_I370_ADDR8,		/* type */
-	 0,			/* rightshift */
-	 0,			/* size (0 = byte, 1 = short, 2 = long) */
-	 8,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_I370_ADDR8",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xff,			/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* 8-bit PC relative.  */
-  HOWTO (R_I370_REL8,		/* type */
-	 0,			/* rightshift */
-	 0,			/* size (0 = byte, 1 = short, 2 = long) */
-	 8,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_I370_REL8",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xff,			/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* This is used only by the dynamic linker.  The symbol should exist
-     both in the object being run and in some shared library.  The
-     dynamic linker copies the data addressed by the symbol from the
-     shared library into the object, because the object being
-     run has to have the data at some particular address.  */
-  HOWTO (R_I370_COPY,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	 /* special_function */
-	 "R_I370_COPY",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0,			/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used only by the dynamic linker.  When the object is run, this
-     longword is set to the load address of the object, plus the
-     addend.  */
-  HOWTO (R_I370_RELATIVE,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	 /* special_function */
-	 "R_I370_RELATIVE",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-};
-
-/* Initialize the i370_elf_howto_table, so that linear accesses can be done.  */
-
-static void
-i370_elf_howto_init (void)
-{
-  unsigned int i, type;
-
-  for (i = 0; i < sizeof (i370_elf_howto_raw) / sizeof (i370_elf_howto_raw[0]); i++)
-    {
-      type = i370_elf_howto_raw[i].type;
-      BFD_ASSERT (type < sizeof (i370_elf_howto_table) / sizeof (i370_elf_howto_table[0]));
-      i370_elf_howto_table[type] = &i370_elf_howto_raw[i];
-    }
-}
-
-static reloc_howto_type *
-i370_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			    bfd_reloc_code_real_type code)
-{
-  enum i370_reloc_type i370_reloc = R_I370_NONE;
-
-  if (!i370_elf_howto_table[ R_I370_ADDR31 ])
-    /* Initialize howto table if needed.  */
-    i370_elf_howto_init ();
-
-  switch ((int) code)
-    {
-    default:
-      return NULL;
-
-    case BFD_RELOC_NONE:	i370_reloc = R_I370_NONE;	break;
-    case BFD_RELOC_32:		i370_reloc = R_I370_ADDR31;	break;
-    case BFD_RELOC_16:		i370_reloc = R_I370_ADDR16;	break;
-    case BFD_RELOC_32_PCREL:	i370_reloc = R_I370_REL31;	break;
-    case BFD_RELOC_CTOR:	i370_reloc = R_I370_ADDR31;	break;
-    case BFD_RELOC_I370_D12:	i370_reloc = R_I370_ADDR12;	break;
-    }
-
-  return i370_elf_howto_table[ (int)i370_reloc ];
-};
-
-static reloc_howto_type *
-i370_elf_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			    const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0;
-       i < sizeof (i370_elf_howto_raw) / sizeof (i370_elf_howto_raw[0]);
-       i++)
-    if (i370_elf_howto_raw[i].name != NULL
-	&& strcasecmp (i370_elf_howto_raw[i].name, r_name) == 0)
-      return &i370_elf_howto_raw[i];
-
-  return NULL;
-}
-
-/* The name of the dynamic interpreter.  This is put in the .interp
-    section.  */
-
-#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so"
-
-/* Set the howto pointer for an i370 ELF reloc.  */
-
-static void
-i370_elf_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
-			arelent *cache_ptr,
-			Elf_Internal_Rela *dst)
-{
-  unsigned int r_type;
-
-  if (!i370_elf_howto_table[ R_I370_ADDR31 ])
-    /* Initialize howto table.  */
-    i370_elf_howto_init ();
-
-  r_type = ELF32_R_TYPE (dst->r_info);
-  if (r_type >= R_I370_max)
-    {
-      /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised I370 reloc number: %d"),
-			  abfd, r_type);
-      bfd_set_error (bfd_error_bad_value);
-      r_type = R_I370_NONE;
-    }
-  cache_ptr->howto = i370_elf_howto_table[r_type];
-}
-
-/* Hack alert --  the following several routines look generic to me ...
-   why are we bothering with them ?  */
-/* Function to set whether a module needs the -mrelocatable bit set.  */
-
-static bfd_boolean
-i370_elf_set_private_flags (bfd *abfd, flagword flags)
-{
-  BFD_ASSERT (!elf_flags_init (abfd)
-	      || elf_elfheader (abfd)->e_flags == flags);
-
-  elf_elfheader (abfd)->e_flags = flags;
-  elf_flags_init (abfd) = TRUE;
-  return TRUE;
-}
-
-/* Merge backend specific data from an object file to the output
-   object file when linking.  */
-
-static bfd_boolean
-i370_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
-{
-  bfd *obfd = info->output_bfd;
-  flagword old_flags;
-  flagword new_flags;
-
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
-    return TRUE;
-
-  new_flags = elf_elfheader (ibfd)->e_flags;
-  old_flags = elf_elfheader (obfd)->e_flags;
-  if (!elf_flags_init (obfd))	/* First call, no flags set.  */
-    {
-      elf_flags_init (obfd) = TRUE;
-      elf_elfheader (obfd)->e_flags = new_flags;
-    }
-
-  else if (new_flags == old_flags)	/* Compatible flags are ok.  */
-    ;
-
-  else					/* Incompatible flags.  */
-    {
-      _bfd_error_handler
-	/* xgettext:c-format */
-	(_("%B: uses different e_flags (%#x) fields than previous modules (%#x)"),
-	 ibfd, new_flags, old_flags);
-
-      bfd_set_error (bfd_error_bad_value);
-      return FALSE;
-    }
-
-  return TRUE;
-}
-
-/* Handle an i370 specific section when reading an object file.  This
-   is called when elfcode.h finds a section with an unknown type.  */
-/* XXX hack alert bogus This routine is mostly all junk and almost
-   certainly does the wrong thing.  Its here simply because it does
-   just enough to allow glibc-2.1 ld.so to compile & link.  */
-
-static bfd_boolean
-i370_elf_section_from_shdr (bfd *abfd,
-			    Elf_Internal_Shdr *hdr,
-			    const char *name,
-			    int shindex)
-{
-  asection *newsect;
-  flagword flags;
-
-  if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
-    return FALSE;
-
-  newsect = hdr->bfd_section;
-  flags = bfd_get_section_flags (abfd, newsect);
-  if (hdr->sh_type == SHT_ORDERED)
-    flags |= SEC_SORT_ENTRIES;
-
-  bfd_set_section_flags (abfd, newsect, flags);
-  return TRUE;
-}
-
-/* Set up any other section flags and such that may be necessary.  */
-/* XXX hack alert bogus This routine is mostly all junk and almost
-   certainly does the wrong thing.  Its here simply because it does
-   just enough to allow glibc-2.1 ld.so to compile & link.  */
-
-static bfd_boolean
-i370_elf_fake_sections (bfd *abfd ATTRIBUTE_UNUSED,
-			Elf_Internal_Shdr *shdr,
-			asection *asect)
-{
-  if ((asect->flags & (SEC_GROUP | SEC_EXCLUDE)) == SEC_EXCLUDE)
-    shdr->sh_flags |= SHF_EXCLUDE;
-
-  if ((asect->flags & SEC_SORT_ENTRIES) != 0)
-    shdr->sh_type = SHT_ORDERED;
-
-  return TRUE;
-}
-
-/* We have to create .dynsbss and .rela.sbss here so that they get mapped
-   to output sections (just like _bfd_elf_create_dynamic_sections has
-   to create .dynbss and .rela.bss).  */
-/* XXX hack alert bogus This routine is mostly all junk and almost
-   certainly does the wrong thing.  Its here simply because it does
-   just enough to allow glibc-2.1 ld.so to compile & link.  */
-
-static bfd_boolean
-i370_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
-{
-  asection *s;
-  flagword flags;
-
-  if (!_bfd_elf_create_dynamic_sections(abfd, info))
-    return FALSE;
-
-  flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
-	   | SEC_LINKER_CREATED);
-
-  s = bfd_make_section_anyway_with_flags (abfd, ".dynsbss",
-					  SEC_ALLOC | SEC_LINKER_CREATED);
-  if (s == NULL)
-    return FALSE;
-
-  if (! bfd_link_pic (info))
-    {
-      s = bfd_make_section_anyway_with_flags (abfd, ".rela.sbss",
-					      flags | SEC_READONLY);
-      if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
-	return FALSE;
-    }
-
-   /* XXX beats me, seem to need a rela.text ...  */
-   s = bfd_make_section_anyway_with_flags (abfd, ".rela.text",
-					   flags | SEC_READONLY);
-   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, 2))
-    return FALSE;
-  return TRUE;
-}
-
-/* Adjust a symbol defined by a dynamic object and referenced by a
-   regular object.  The current definition is in some section of the
-   dynamic object, but we're not including those sections.  We have to
-   change the definition to something the rest of the link can
-   understand.  */
-/* XXX hack alert bogus This routine is mostly all junk and almost
-   certainly does the wrong thing.  Its here simply because it does
-   just enough to allow glibc-2.1 ld.so to compile & link.  */
-
-static bfd_boolean
-i370_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
-				struct elf_link_hash_entry *h)
-{
-  bfd *dynobj = elf_hash_table (info)->dynobj;
-  asection *s;
-
-#ifdef DEBUG
-  fprintf (stderr, "i370_elf_adjust_dynamic_symbol called for %s\n",
-	   h->root.root.string);
-#endif
-
-  /* Make sure we know what is going on here.  */
-  BFD_ASSERT (dynobj != NULL
-	      && (h->needs_plt
-		  || h->is_weakalias
-		  || (h->def_dynamic
-		      && h->ref_regular
-		      && !h->def_regular)));
-
-  s = bfd_get_linker_section (dynobj, ".rela.text");
-  BFD_ASSERT (s != NULL);
-  s->size += sizeof (Elf32_External_Rela);
-
-  /* If this is a weak symbol, and there is a real definition, the
-     processor independent code will have arranged for us to see the
-     real definition first, and we can just use the same value.  */
-  if (h->is_weakalias)
-    {
-      struct elf_link_hash_entry *def = weakdef (h);
-      BFD_ASSERT (def->root.type == bfd_link_hash_defined);
-      h->root.u.def.section = def->root.u.def.section;
-      h->root.u.def.value = def->root.u.def.value;
-      return TRUE;
-    }
-
-  /* This is a reference to a symbol defined by a dynamic object which
-     is not a function.  */
-
-  /* If we are creating a shared library, we must presume that the
-     only references to the symbol are via the global offset table.
-     For such cases we need not do anything here; the relocations will
-     be handled correctly by relocate_section.  */
-  if (bfd_link_pic (info))
-    return TRUE;
-
-  /* We must allocate the symbol in our .dynbss section, which will
-     become part of the .bss section of the executable.  There will be
-     an entry for this symbol in the .dynsym section.  The dynamic
-     object will contain position independent code, so all references
-     from the dynamic object to this symbol will go through the global
-     offset table.  The dynamic linker will use the .dynsym entry to
-     determine the address it must put in the global offset table, so
-     both the dynamic object and the regular object will refer to the
-     same memory location for the variable.
-
-     Of course, if the symbol is sufficiently small, we must instead
-     allocate it in .sbss.  FIXME: It would be better to do this if and
-     only if there were actually SDAREL relocs for that symbol.  */
-
-  if (h->size <= elf_gp_size (dynobj))
-    s = bfd_get_linker_section (dynobj, ".dynsbss");
-  else
-    s = bfd_get_linker_section (dynobj, ".dynbss");
-  BFD_ASSERT (s != NULL);
-
-  /* We must generate a R_I370_COPY reloc to tell the dynamic linker to
-     copy the initial value out of the dynamic object and into the
-     runtime process image.  We need to remember the offset into the
-     .rela.bss section we are going to use.  */
-  if ((h->root.u.def.section->flags & SEC_ALLOC) != 0 && h->size != 0)
-    {
-      asection *srel;
-
-      if (h->size <= elf_gp_size (dynobj))
-	srel = bfd_get_linker_section (dynobj, ".rela.sbss");
-      else
-	srel = bfd_get_linker_section (dynobj, ".rela.bss");
-      BFD_ASSERT (srel != NULL);
-      srel->size += sizeof (Elf32_External_Rela);
-      h->needs_copy = 1;
-    }
-
-  return _bfd_elf_adjust_dynamic_copy (info, h, s);
-}
-
-/* Increment the index of a dynamic symbol by a given amount.  Called
-   via elf_link_hash_traverse.  */
-/* XXX hack alert bogus This routine is mostly all junk and almost
-   certainly does the wrong thing.  Its here simply because it does
-   just enough to allow glibc-2.1 ld.so to compile & link.  */
-
-static bfd_boolean
-i370_elf_adjust_dynindx (struct elf_link_hash_entry *h, void * cparg)
-{
-  int *cp = (int *) cparg;
-
-#ifdef DEBUG
-  fprintf (stderr,
-	   "i370_elf_adjust_dynindx called, h->dynindx = %ld, *cp = %d\n",
-	   h->dynindx, *cp);
-#endif
-
-  if (h->dynindx != -1)
-    h->dynindx += *cp;
-
-  return TRUE;
-}
-
-/* Set the sizes of the dynamic sections.  */
-/* XXX hack alert bogus This routine is mostly all junk and almost
-   certainly does the wrong thing.  Its here simply because it does
-   just enough to allow glibc-2.1 ld.so to compile & link.  */
-
-static bfd_boolean
-i370_elf_size_dynamic_sections (bfd *output_bfd,
-				struct bfd_link_info *info)
-{
-  bfd *dynobj;
-  asection *s;
-  bfd_boolean plt;
-  bfd_boolean relocs;
-  bfd_boolean reltext;
-
-#ifdef DEBUG
-  fprintf (stderr, "i370_elf_size_dynamic_sections called\n");
-#endif
-
-  dynobj = elf_hash_table (info)->dynobj;
-  BFD_ASSERT (dynobj != NULL);
-
-  if (elf_hash_table (info)->dynamic_sections_created)
-    {
-      /* Set the contents of the .interp section to the interpreter.  */
-      if (bfd_link_executable (info) && !info->nointerp)
-	{
-	  s = bfd_get_linker_section (dynobj, ".interp");
-	  BFD_ASSERT (s != NULL);
-	  s->size = sizeof ELF_DYNAMIC_INTERPRETER;
-	  s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER;
-	}
-    }
-  else
-    {
-      /* We may have created entries in the .rela.got, .rela.sdata, and
-	 .rela.sdata2 sections.  However, if we are not creating the
-	 dynamic sections, we will not actually use these entries.  Reset
-	 the size of .rela.got, et al, which will cause it to get
-	 stripped from the output file below.  */
-      static char *rela_sections[] = { ".rela.got", ".rela.sdata",
-				       ".rela.sdata2", ".rela.sbss",
-				       NULL };
-      char **p;
-
-      for (p = rela_sections; *p != NULL; p++)
-	{
-	  s = bfd_get_linker_section (dynobj, *p);
-	  if (s != NULL)
-	    s->size = 0;
-	}
-    }
-
-  /* The check_relocs and adjust_dynamic_symbol entry points have
-     determined the sizes of the various dynamic sections.  Allocate
-     memory for them.  */
-  plt = FALSE;
-  relocs = FALSE;
-  reltext = FALSE;
-  for (s = dynobj->sections; s != NULL; s = s->next)
-    {
-      const char *name;
-
-      if ((s->flags & SEC_LINKER_CREATED) == 0)
-	continue;
-
-      /* It's OK to base decisions on the section name, because none
-	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
-
-      if (strcmp (name, ".plt") == 0)
-	{
-	  /* Remember whether there is a PLT.  */
-	  plt = s->size != 0;
-	}
-      else if (CONST_STRNEQ (name, ".rela"))
-	{
-	  if (s->size != 0)
-	    {
-	      asection *target;
-	      const char *outname;
-
-	      /* Remember whether there are any relocation sections.  */
-	      relocs = TRUE;
-
-	      /* If this relocation section applies to a read only
-		 section, then we probably need a DT_TEXTREL entry.  */
-	      outname = bfd_get_section_name (output_bfd,
-					      s->output_section);
-	      target = bfd_get_section_by_name (output_bfd, outname + 5);
-	      if (target != NULL
-		  && (target->flags & SEC_READONLY) != 0
-		  && (target->flags & SEC_ALLOC) != 0)
-		reltext = TRUE;
-
-	      /* We use the reloc_count field as a counter if we need
-		 to copy relocs into the output file.  */
-	      s->reloc_count = 0;
-	    }
-	}
-      else if (strcmp (name, ".got") != 0
-	       && strcmp (name, ".sdata") != 0
-	       && strcmp (name, ".sdata2") != 0
-	       && strcmp (name, ".dynbss") != 0
-	       && strcmp (name, ".dynsbss") != 0)
-	{
-	  /* It's not one of our sections, so don't allocate space.  */
-	  continue;
-	}
-
-      if (s->size == 0)
-	{
-	  /* If we don't need this section, strip it from the
-	     output file.  This is mostly to handle .rela.bss and
-	     .rela.plt.  We must create both sections in
-	     create_dynamic_sections, because they must be created
-	     before the linker maps input sections to output
-	     sections.  The linker does that before
-	     adjust_dynamic_symbol is called, and it is that
-	     function which decides whether anything needs to go
-	     into these sections.  */
-	  s->flags |= SEC_EXCLUDE;
-	  continue;
-	}
-
-      if ((s->flags & SEC_HAS_CONTENTS) == 0)
-	continue;
-
-      /* Allocate memory for the section contents.  */
-      s->contents = bfd_zalloc (dynobj, s->size);
-      if (s->contents == NULL)
-	return FALSE;
-    }
-
-  if (elf_hash_table (info)->dynamic_sections_created)
-    {
-      /* Add some entries to the .dynamic section.  We fill in the
-	 values later, in i370_elf_finish_dynamic_sections, but we
-	 must add the entries now so that we get the correct size for
-	 the .dynamic section.  The DT_DEBUG entry is filled in by the
-	 dynamic linker and used by the debugger.  */
-#define add_dynamic_entry(TAG, VAL) \
-  _bfd_elf_add_dynamic_entry (info, TAG, VAL)
-
-      if (!bfd_link_pic (info))
-	{
-	  if (!add_dynamic_entry (DT_DEBUG, 0))
-	    return FALSE;
-	}
-
-      if (plt)
-	{
-	  if (!add_dynamic_entry (DT_PLTGOT, 0)
-	      || !add_dynamic_entry (DT_PLTRELSZ, 0)
-	      || !add_dynamic_entry (DT_PLTREL, DT_RELA)
-	      || !add_dynamic_entry (DT_JMPREL, 0))
-	    return FALSE;
-	}
-
-      if (relocs)
-	{
-	  if (!add_dynamic_entry (DT_RELA, 0)
-	      || !add_dynamic_entry (DT_RELASZ, 0)
-	      || !add_dynamic_entry (DT_RELAENT, sizeof (Elf32_External_Rela)))
-	    return FALSE;
-	}
-
-      if (reltext)
-	{
-	  if (!add_dynamic_entry (DT_TEXTREL, 0))
-	    return FALSE;
-	  info->flags |= DF_TEXTREL;
-	}
-    }
-#undef add_dynamic_entry
-
-  /* If we are generating a shared library, we generate a section
-     symbol for each output section.  These are local symbols, which
-     means that they must come first in the dynamic symbol table.
-     That means we must increment the dynamic symbol index of every
-     other dynamic symbol.
-
-     FIXME: We assume that there will never be relocations to
-     locations in linker-created sections that do not have
-     externally-visible names. Instead, we should work out precisely
-     which sections relocations are targeted at.  */
-  if (bfd_link_pic (info))
-    {
-      int c;
-
-      for (c = 0, s = output_bfd->sections; s != NULL; s = s->next)
-	{
-	  if ((s->flags & SEC_LINKER_CREATED) != 0
-	      || (s->flags & SEC_ALLOC) == 0)
-	    {
-	      elf_section_data (s)->dynindx = -1;
-	      continue;
-	    }
-
-	  /* These symbols will have no names, so we don't need to
-	     fiddle with dynstr_index.  */
-
-	  elf_section_data (s)->dynindx = c + 1;
-
-	  c++;
-	}
-
-      elf_link_hash_traverse (elf_hash_table (info),
-			      i370_elf_adjust_dynindx, & c);
-      elf_hash_table (info)->dynsymcount += c;
-    }
-
-  return TRUE;
-}
-
-/* Look through the relocs for a section during the first phase, and
-   allocate space in the global offset table or procedure linkage
-   table.  */
-/* XXX hack alert bogus This routine is mostly all junk and almost
-   certainly does the wrong thing.  Its here simply because it does
-   just enough to allow glibc-2.1 ld.so to compile & link.  */
-
-static bfd_boolean
-i370_elf_check_relocs (bfd *abfd,
-		       struct bfd_link_info *info,
-		       asection *sec,
-		       const Elf_Internal_Rela *relocs)
-{
-  bfd *dynobj;
-  Elf_Internal_Shdr *symtab_hdr;
-  struct elf_link_hash_entry **sym_hashes;
-  const Elf_Internal_Rela *rel;
-  const Elf_Internal_Rela *rel_end;
-  asection *sreloc;
-
-  if (bfd_link_relocatable (info))
-    return TRUE;
-
-#ifdef DEBUG
-  _bfd_error_handler ("i370_elf_check_relocs called for section %A in %B",
-		      sec, abfd);
-#endif
-
-  dynobj = elf_hash_table (info)->dynobj;
-  symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
-  sym_hashes = elf_sym_hashes (abfd);
-
-  sreloc = NULL;
-
-  rel_end = relocs + sec->reloc_count;
-  for (rel = relocs; rel < rel_end; rel++)
-    {
-      unsigned long r_symndx;
-      struct elf_link_hash_entry *h;
-
-      r_symndx = ELF32_R_SYM (rel->r_info);
-      if (r_symndx < symtab_hdr->sh_info)
-	h = NULL;
-      else
-	{
-	  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
-	  while (h->root.type == bfd_link_hash_indirect
-		 || h->root.type == bfd_link_hash_warning)
-	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
-	}
-
-      if (bfd_link_pic (info))
-	{
-#ifdef DEBUG
-	  fprintf (stderr,
-		   "i370_elf_check_relocs needs to create relocation for %s\n",
-		   (h && h->root.root.string)
-		   ? h->root.root.string : "<unknown>");
-#endif
-	  if (sreloc == NULL)
-	    {
-	      sreloc = _bfd_elf_make_dynamic_reloc_section
-		(sec, dynobj, 2, abfd, /*rela?*/ TRUE);
-
-	      if (sreloc == NULL)
-		return FALSE;
-	    }
-
-	  sreloc->size += sizeof (Elf32_External_Rela);
-
-	  /* FIXME: We should here do what the m68k and i386
-	     backends do: if the reloc is pc-relative, record it
-	     in case it turns out that the reloc is unnecessary
-	     because the symbol is forced local by versioning or
-	     we are linking with -Bdynamic.  Fortunately this
-	     case is not frequent.  */
-	}
-    }
-
-  return TRUE;
-}
-
-/* Finish up the dynamic sections.  */
-/* XXX hack alert bogus This routine is mostly all junk and almost
-   certainly does the wrong thing.  Its here simply because it does
-   just enough to allow glibc-2.1 ld.so to compile & link.  */
-
-static bfd_boolean
-i370_elf_finish_dynamic_sections (bfd *output_bfd,
-				  struct bfd_link_info *info)
-{
-  asection *sdyn;
-  bfd *dynobj = elf_hash_table (info)->dynobj;
-  asection *sgot = elf_hash_table (info)->sgot;
-
-#ifdef DEBUG
-  fprintf (stderr, "i370_elf_finish_dynamic_sections called\n");
-#endif
-
-  sdyn = bfd_get_linker_section (dynobj, ".dynamic");
-
-  if (elf_hash_table (info)->dynamic_sections_created)
-    {
-      asection *splt;
-      Elf32_External_Dyn *dyncon, *dynconend;
-
-      splt = elf_hash_table (info)->splt;
-      BFD_ASSERT (splt != NULL && sdyn != NULL);
-
-      dyncon = (Elf32_External_Dyn *) sdyn->contents;
-      dynconend = (Elf32_External_Dyn *) (sdyn->contents + sdyn->size);
-      for (; dyncon < dynconend; dyncon++)
-	{
-	  Elf_Internal_Dyn dyn;
-	  asection *s;
-	  bfd_boolean size;
-
-	  bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn);
-
-	  switch (dyn.d_tag)
-	    {
-	    case DT_PLTGOT:
-	      s = elf_hash_table (info)->splt;
-	      size = FALSE;
-	      break;
-	    case DT_PLTRELSZ:
-	      s = elf_hash_table (info)->srelplt;
-	      size = TRUE;
-	      break;
-	    case DT_JMPREL:
-	      s = elf_hash_table (info)->srelplt;
-	      size = FALSE;
-	      break;
-	    default:
-	      continue;
-	    }
-
-	  if (s == NULL)
-	    dyn.d_un.d_val = 0;
-	  else
-	    {
-	      if (!size)
-		dyn.d_un.d_ptr = s->output_section->vma + s->output_offset;
-	      else
-		dyn.d_un.d_val = s->size;
-	    }
-	  bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
-	}
-    }
-
-  if (sgot && sgot->size != 0)
-    {
-      unsigned char *contents = sgot->contents;
-
-      if (sdyn == NULL)
-	bfd_put_32 (output_bfd, (bfd_vma) 0, contents);
-      else
-	bfd_put_32 (output_bfd,
-		    sdyn->output_section->vma + sdyn->output_offset,
-		    contents);
-
-      elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4;
-    }
-
-  if (bfd_link_pic (info))
-    {
-      asection *sdynsym;
-      asection *s;
-      Elf_Internal_Sym sym;
-      int maxdindx = 0;
-
-      /* Set up the section symbols for the output sections.  */
-
-      sdynsym = bfd_get_linker_section (dynobj, ".dynsym");
-      BFD_ASSERT (sdynsym != NULL);
-
-      sym.st_size = 0;
-      sym.st_name = 0;
-      sym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION);
-      sym.st_other = 0;
-      sym.st_target_internal = 0;
-
-      for (s = output_bfd->sections; s != NULL; s = s->next)
-	{
-	  int indx, dindx;
-	  Elf32_External_Sym *esym;
-
-	  sym.st_value = s->vma;
-
-	  indx = elf_section_data (s)->this_idx;
-	  dindx = elf_section_data (s)->dynindx;
-	  if (dindx != -1)
-	    {
-	      BFD_ASSERT(indx > 0);
-	      BFD_ASSERT(dindx > 0);
-
-	      if (dindx > maxdindx)
-		maxdindx = dindx;
-
-	      sym.st_shndx = indx;
-
-	      esym = (Elf32_External_Sym *) sdynsym->contents + dindx;
-	      bfd_elf32_swap_symbol_out (output_bfd, &sym, esym, NULL);
-	    }
-	}
-
-      /* Set the sh_info field of the output .dynsym section to the
-	 index of the first global symbol.  */
-      elf_section_data (sdynsym->output_section)->this_hdr.sh_info =
-	maxdindx + 1;
-    }
-
-  return TRUE;
-}
-
-/* The RELOCATE_SECTION function is called by the ELF backend linker
-   to handle the relocations for a section.
-
-   The relocs are always passed as Rela structures; if the section
-   actually uses Rel structures, the r_addend field will always be
-   zero.
-
-   This function is responsible for adjust the section contents as
-   necessary, and (if using Rela relocs and generating a
-   relocatable output file) adjusting the reloc addend as
-   necessary.
-
-   This function does not have to worry about setting the reloc
-   address or the reloc symbol index.
-
-   LOCAL_SYMS is a pointer to the swapped in local symbols.
-
-   LOCAL_SECTIONS is an array giving the section in the input file
-   corresponding to the st_shndx field of each local symbol.
-
-   The global hash table entry for the global symbols can be found
-   via elf_sym_hashes (input_bfd).
-
-   When generating relocatable output, this function must handle
-   STB_LOCAL/STT_SECTION symbols specially.  The output symbol is
-   going to be the section symbol corresponding to the output
-   section, which means that the addend must be adjusted
-   accordingly.  */
-
-static bfd_boolean
-i370_elf_relocate_section (bfd *output_bfd,
-			   struct bfd_link_info *info,
-			   bfd *input_bfd,
-			   asection *input_section,
-			   bfd_byte *contents,
-			   Elf_Internal_Rela *relocs,
-			   Elf_Internal_Sym *local_syms,
-			   asection **local_sections)
-{
-  Elf_Internal_Shdr *symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
-  struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
-  Elf_Internal_Rela *rel = relocs;
-  Elf_Internal_Rela *relend = relocs + input_section->reloc_count;
-  asection *sreloc = NULL;
-  bfd_boolean ret = TRUE;
-
-#ifdef DEBUG
-  _bfd_error_handler ("i370_elf_relocate_section called for %B section %A, %u relocations%s",
-		      input_bfd, input_section,
-		      input_section->reloc_count,
-		      (bfd_link_relocatable (info)) ? " (relocatable)" : "");
-#endif
-
-  if (!i370_elf_howto_table[ R_I370_ADDR31 ])
-    /* Initialize howto table if needed.  */
-    i370_elf_howto_init ();
-
-  for (; rel < relend; rel++)
-    {
-      enum i370_reloc_type r_type    = (enum i370_reloc_type) ELF32_R_TYPE (rel->r_info);
-      bfd_vma offset		     = rel->r_offset;
-      bfd_vma addend		     = rel->r_addend;
-      bfd_reloc_status_type r	     = bfd_reloc_other;
-      Elf_Internal_Sym *sym	     = NULL;
-      asection *sec		     = NULL;
-      struct elf_link_hash_entry * h = NULL;
-      const char *sym_name	     = NULL;
-      reloc_howto_type *howto;
-      unsigned long r_symndx;
-      bfd_vma relocation;
-
-      /* Unknown relocation handling.  */
-      if ((unsigned) r_type >= (unsigned) R_I370_max
-	  || !i370_elf_howto_table[(int)r_type])
-	{
-	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: unknown relocation type %d"),
-			      input_bfd, (int) r_type);
-
-	  bfd_set_error (bfd_error_bad_value);
-	  ret = FALSE;
-	  continue;
-	}
-
-      howto = i370_elf_howto_table[(int) r_type];
-      r_symndx = ELF32_R_SYM (rel->r_info);
-      relocation = 0;
-
-      if (r_symndx < symtab_hdr->sh_info)
-	{
-	  sym = local_syms + r_symndx;
-	  sec = local_sections[r_symndx];
-	  sym_name = "<local symbol>";
-
-	  relocation = _bfd_elf_rela_local_sym (output_bfd, sym, & sec, rel);
-	  addend = rel->r_addend;
-	}
-      else
-	{
-	  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
-
-	  if (info->wrap_hash != NULL
-	      && (input_section->flags & SEC_DEBUGGING) != 0)
-	    h = ((struct elf_link_hash_entry *)
-		 unwrap_hash_lookup (info, input_bfd, &h->root));
-
-	  while (h->root.type == bfd_link_hash_indirect
-		 || h->root.type == bfd_link_hash_warning)
-	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
-	  sym_name = h->root.root.string;
-	  if (h->root.type == bfd_link_hash_defined
-	      || h->root.type == bfd_link_hash_defweak)
-	    {
-	      sec = h->root.u.def.section;
-	      if (bfd_link_pic (info)
-		  && ((! info->symbolic && h->dynindx != -1)
-		      || !h->def_regular)
-		  && (input_section->flags & SEC_ALLOC) != 0
-		  && (r_type == R_I370_ADDR31
-		      || r_type == R_I370_COPY
-		      || r_type == R_I370_ADDR16
-		      || r_type == R_I370_RELATIVE))
-		/* In these cases, we don't need the relocation
-		   value.  We check specially because in some
-		   obscure cases sec->output_section will be NULL.  */
-		;
-	      else
-		relocation = (h->root.u.def.value
-			      + sec->output_section->vma
-			      + sec->output_offset);
-	    }
-	  else if (h->root.type == bfd_link_hash_undefweak)
-	    ;
-	  else if (info->unresolved_syms_in_objects == RM_IGNORE
-		   && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
-	    ;
-	  else if (!bfd_link_relocatable (info))
-	    {
-	      (*info->callbacks->undefined_symbol)
-		(info, h->root.root.string, input_bfd,
-		 input_section, rel->r_offset,
-		 (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
-		  || ELF_ST_VISIBILITY (h->other)));
-	      ret = FALSE;
-	      continue;
-	    }
-	}
-
-      if (sec != NULL && discarded_section (sec))
-	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
-					 rel, 1, relend, howto, 0, contents);
-
-      if (bfd_link_relocatable (info))
-	continue;
-
-      switch ((int) r_type)
-	{
-	default:
-	  _bfd_error_handler
-	    (_("%B: unknown relocation type %d for symbol %s"),
-	     input_bfd, (int) r_type, sym_name);
-
-	  bfd_set_error (bfd_error_bad_value);
-	  ret = FALSE;
-	  continue;
-
-	case (int) R_I370_NONE:
-	  continue;
-
-	/* Relocations that may need to be propagated if this is a shared
-	   object.  */
-	case (int) R_I370_REL31:
-	  /* If these relocations are not to a named symbol, they can be
-	     handled right here, no need to bother the dynamic linker.  */
-	  if (h == NULL
-	      || strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0)
-	    break;
-	/* Fall through.  */
-
-	/* Relocations that always need to be propagated if this is a shared
-	   object.  */
-	case (int) R_I370_ADDR31:
-	case (int) R_I370_ADDR16:
-	  if (bfd_link_pic (info)
-	      && r_symndx != STN_UNDEF)
-	    {
-	      Elf_Internal_Rela outrel;
-	      bfd_byte *loc;
-	      int skip;
-
-#ifdef DEBUG
-	      fprintf (stderr,
-		       "i370_elf_relocate_section needs to create relocation for %s\n",
-		       (h && h->root.root.string) ? h->root.root.string : "<unknown>");
-#endif
-
-	      /* When generating a shared object, these relocations
-		 are copied into the output file to be resolved at run
-		 time.  */
-
-	      if (sreloc == NULL)
-		{
-		  sreloc = _bfd_elf_get_dynamic_reloc_section
-		    (input_bfd, input_section, /*rela?*/ TRUE);
-		  if (sreloc == NULL)
-		    return FALSE;
-		}
-
-	      skip = 0;
-
-	      outrel.r_offset =
-		_bfd_elf_section_offset (output_bfd, info, input_section,
-					 rel->r_offset);
-	      if (outrel.r_offset == (bfd_vma) -1
-		  || outrel.r_offset == (bfd_vma) -2)
-		skip = (int) outrel.r_offset;
-	      outrel.r_offset += (input_section->output_section->vma
-				  + input_section->output_offset);
-
-	      if (skip)
-		memset (&outrel, 0, sizeof outrel);
-	      /* h->dynindx may be -1 if this symbol was marked to
-		 become local.  */
-	      else if (h != NULL
-		       && ((! info->symbolic && h->dynindx != -1)
-			   || !h->def_regular))
-		{
-		  BFD_ASSERT (h->dynindx != -1);
-		  outrel.r_info = ELF32_R_INFO (h->dynindx, r_type);
-		  outrel.r_addend = rel->r_addend;
-		}
-	      else
-		{
-		  if (r_type == R_I370_ADDR31)
-		    {
-		      outrel.r_info = ELF32_R_INFO (0, R_I370_RELATIVE);
-		      outrel.r_addend = relocation + rel->r_addend;
-		    }
-		  else
-		    {
-		      long indx;
-
-		      if (bfd_is_abs_section (sec))
-			indx = 0;
-		      else if (sec == NULL || sec->owner == NULL)
-			{
-			  bfd_set_error (bfd_error_bad_value);
-			  return FALSE;
-			}
-		      else
-			{
-			  asection *osec;
-
-			  /* We are turning this relocation into one
-			     against a section symbol.  It would be
-			     proper to subtract the symbol's value,
-			     osec->vma, from the emitted reloc addend,
-			     but ld.so expects buggy relocs.  */
-			  osec = sec->output_section;
-			  indx = elf_section_data (osec)->dynindx;
-			  if (indx == 0)
-			    {
-			      struct elf_link_hash_table *htab;
-			      htab = elf_hash_table (info);
-			      osec = htab->text_index_section;
-			      indx = elf_section_data (osec)->dynindx;
-			    }
-			  BFD_ASSERT (indx != 0);
-#ifdef DEBUG
-			  if (indx <= 0)
-			    {
-			      printf ("indx=%ld section=%s flags=%08x name=%s\n",
-				      indx, osec->name, osec->flags,
-				      h->root.root.string);
-			    }
-#endif
-			}
-
-		      outrel.r_info = ELF32_R_INFO (indx, r_type);
-		      outrel.r_addend = relocation + rel->r_addend;
-		    }
-		}
-
-	      loc = sreloc->contents;
-	      loc += sreloc->reloc_count++ * sizeof (Elf32_External_Rela);
-	      bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc);
-
-	      /* This reloc will be computed at runtime, so there's no
-		 need to do anything now, unless this is a RELATIVE
-		 reloc in an unallocated section.  */
-	      if (skip == -1
-		  || (input_section->flags & SEC_ALLOC) != 0
-		  || ELF32_R_TYPE (outrel.r_info) != R_I370_RELATIVE)
-		continue;
-	    }
-	  break;
-
-	case (int) R_I370_COPY:
-	case (int) R_I370_RELATIVE:
-	  _bfd_error_handler
-	    /* xgettext:c-format */
-	    (_("%B: Relocation %s is not yet supported for symbol %s."),
-	     input_bfd,
-	     i370_elf_howto_table[(int) r_type]->name,
-	     sym_name);
-
-	  bfd_set_error (bfd_error_invalid_operation);
-	  ret = FALSE;
-	  continue;
-	}
-
-#ifdef DEBUG
-      fprintf (stderr, "\ttype = %s (%d), name = %s, symbol index = %ld, offset = %ld, addend = %ld\n",
-	       howto->name,
-	       (int)r_type,
-	       sym_name,
-	       r_symndx,
-	       (long) offset,
-	       (long) addend);
-#endif
-
-      r = _bfd_final_link_relocate (howto, input_bfd, input_section, contents,
-				    offset, relocation, addend);
-
-      if (r != bfd_reloc_ok)
-	{
-	  ret = FALSE;
-	  switch (r)
-	    {
-	    default:
-	      break;
-
-	    case bfd_reloc_overflow:
-	      {
-		const char *name;
-
-		if (h != NULL)
-		  name = NULL;
-		else
-		  {
-		    name = bfd_elf_string_from_elf_section (input_bfd,
-							    symtab_hdr->sh_link,
-							    sym->st_name);
-		    if (name == NULL)
-		      break;
-
-		    if (*name == '\0')
-		      name = bfd_section_name (input_bfd, sec);
-		  }
-
-		(*info->callbacks->reloc_overflow) (info,
-						    (h ? &h->root : NULL),
-						    name,
-						    howto->name,
-						    (bfd_vma) 0,
-						    input_bfd,
-						    input_section,
-						    offset);
-	      }
-	      break;
-	    }
-	}
-    }
-
-#ifdef DEBUG
-  fprintf (stderr, "\n");
-#endif
-
-  return ret;
-}
-
-#define TARGET_BIG_SYM		i370_elf32_vec
-#define TARGET_BIG_NAME		"elf32-i370"
-#define ELF_ARCH		bfd_arch_i370
-#define ELF_MACHINE_CODE	EM_S370
-#ifdef EM_I370_OLD
-#define ELF_MACHINE_ALT1	EM_I370_OLD
-#endif
-#define ELF_MAXPAGESIZE		0x1000
-#define ELF_OSABI		ELFOSABI_GNU
-
-#define elf_info_to_howto	i370_elf_info_to_howto
-
-#define elf_backend_plt_not_loaded 1
-#define elf_backend_rela_normal    1
-
-#define bfd_elf32_bfd_reloc_type_lookup		i370_elf_reloc_type_lookup
-#define bfd_elf32_bfd_reloc_name_lookup	i370_elf_reloc_name_lookup
-#define bfd_elf32_bfd_set_private_flags		i370_elf_set_private_flags
-#define bfd_elf32_bfd_merge_private_bfd_data	i370_elf_merge_private_bfd_data
-#define elf_backend_relocate_section		i370_elf_relocate_section
-
-/* Dynamic loader support is mostly broken; just enough here to be able to
-   link glibc's ld.so without errors.  */
-#define elf_backend_create_dynamic_sections	i370_elf_create_dynamic_sections
-#define elf_backend_size_dynamic_sections	i370_elf_size_dynamic_sections
-#define elf_backend_init_index_section		_bfd_elf_init_1_index_section
-#define elf_backend_finish_dynamic_sections	i370_elf_finish_dynamic_sections
-#define elf_backend_fake_sections		i370_elf_fake_sections
-#define elf_backend_section_from_shdr		i370_elf_section_from_shdr
-#define elf_backend_adjust_dynamic_symbol	i370_elf_adjust_dynamic_symbol
-#define elf_backend_check_relocs		i370_elf_check_relocs
-
-static int
-i370_noop (void)
-{
-  return 1;
-}
-
-#define elf_backend_finish_dynamic_symbol \
-  (bfd_boolean (*) \
-     (bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, \
-      Elf_Internal_Sym *)) i370_noop
-
-#include "elf32-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-i386.c ./bfd/elf32-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-i386.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-i386.c	2018-07-10 02:06:11.000000000 +0000
@@ -194,7 +194,7 @@ static reloc_howto_type elf_howto_table[
 #endif
 
 static reloc_howto_type *
-elf_i386_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+elf_i386_reloc_type_lookup (bfd *abfd,
 			    bfd_reloc_code_real_type code)
 {
   switch (code)
@@ -346,11 +346,13 @@ elf_i386_reloc_type_lookup (bfd *abfd AT
       return &elf_howto_table[R_386_GNU_VTENTRY - R_386_vt_offset];
 
     default:
-      break;
+      TRACE ("Unknown");
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type: %#x"),
+			  abfd, (int) code);
+      bfd_set_error (bfd_error_bad_value);
+      return NULL;
     }
-
-  TRACE ("Unknown");
-  return 0;
 }
 
 static reloc_howto_type *
@@ -368,7 +370,7 @@ elf_i386_reloc_name_lookup (bfd *abfd AT
 }
 
 static reloc_howto_type *
-elf_i386_rtype_to_howto (bfd *abfd, unsigned r_type)
+elf_i386_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED, unsigned r_type)
 {
   unsigned int indx;
 
@@ -379,25 +381,30 @@ elf_i386_rtype_to_howto (bfd *abfd, unsi
 	  >= R_386_ext2 - R_386_ext)
       && ((indx = r_type - R_386_vt_offset) - R_386_ext2
 	  >= R_386_vt - R_386_ext2))
-    {
-      /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid relocation type %d"),
-			  abfd, (int) r_type);
-      indx = R_386_NONE;
-    }
+      return NULL;
   /* PR 17512: file: 0f67f69d.  */
   if (elf_howto_table [indx].type != r_type)
     return NULL;
   return &elf_howto_table[indx];
 }
 
-static void
-elf_i386_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+elf_i386_info_to_howto_rel (bfd *abfd,
 			    arelent *cache_ptr,
 			    Elf_Internal_Rela *dst)
 {
   unsigned int r_type = ELF32_R_TYPE (dst->r_info);
-  cache_ptr->howto = elf_i386_rtype_to_howto (abfd, r_type);
+
+  if ((cache_ptr->howto = elf_i386_rtype_to_howto (abfd, r_type)) == NULL)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
+  return TRUE;
 }
 
 /* Return whether a symbol name implies a local label.  The UnixWare
@@ -759,6 +766,12 @@ static const struct elf_x86_lazy_plt_lay
     sizeof (elf_i386_lazy_plt0_entry),	/* plt0_entry_size */
     elf_i386_lazy_plt_entry,		/* plt_entry */
     LAZY_PLT_ENTRY_SIZE,		/* plt_entry_size */
+    NULL,				/* plt_tlsdesc_entry */
+    0,					/* plt_tlsdesc_entry_size*/
+    0,					/* plt_tlsdesc_got1_offset */
+    0,					/* plt_tlsdesc_got2_offset */
+    0,					/* plt_tlsdesc_got1_insn_end */
+    0,					/* plt_tlsdesc_got2_insn_end */
     2,					/* plt0_got1_offset */
     8,					/* plt0_got2_offset */
     0,					/* plt0_got2_insn_end */
@@ -791,6 +804,12 @@ static const struct elf_x86_lazy_plt_lay
     sizeof (elf_i386_lazy_ibt_plt0_entry), /* plt0_entry_size */
     elf_i386_lazy_ibt_plt_entry,	/* plt_entry */
     LAZY_PLT_ENTRY_SIZE,		/* plt_entry_size */
+    NULL,				/* plt_tlsdesc_entry */
+    0,					/* plt_tlsdesc_entry_size*/
+    0,					/* plt_tlsdesc_got1_offset */
+    0,					/* plt_tlsdesc_got2_offset */
+    0,					/* plt_tlsdesc_got1_insn_end */
+    0,					/* plt_tlsdesc_got2_insn_end */
     2,					/* plt0_got1_offset */
     8,					/* plt0_got2_offset */
     0,					/* plt0_got2_insn_end */
@@ -1156,10 +1175,10 @@ elf_i386_tls_transition (struct bfd_link
 
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: TLS transition from %s to %s against `%s' at %#Lx "
-	   "in section `%A' failed"),
+	(_("%pB: TLS transition from %s to %s against `%s'"
+	   " at %#" PRIx64 " in section `%pA' failed"),
 	 abfd, from->name, to->name, name,
-	 rel->r_offset, sec);
+	 (uint64_t) rel->r_offset, sec);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
     }
@@ -1247,7 +1266,7 @@ elf_i386_convert_load_reloc (bfd *abfd, 
 
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: direct GOT relocation R_386_GOT32X against `%s' without base"
+	(_("%pB: direct GOT relocation R_386_GOT32X against `%s' without base"
 	   " register can not be used when making a shared object"),
 	 abfd, name);
       return FALSE;
@@ -1507,7 +1526,7 @@ elf_i386_check_relocs (bfd *abfd,
       if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: bad symbol index: %d"),
+	  _bfd_error_handler (_("%pB: bad symbol index: %d"),
 			      abfd, r_symndx);
 	  goto error_return;
 	}
@@ -1578,6 +1597,10 @@ elf_i386_check_relocs (bfd *abfd,
 				     rel, rel_end, h, r_symndx, FALSE))
 	goto error_return;
 
+      /* Check if _GLOBAL_OFFSET_TABLE_ is referenced.  */
+      if (h == htab->elf.hgot)
+	htab->got_referenced = TRUE;
+
       switch (r_type)
 	{
 	case R_386_TLS_LDM:
@@ -1700,7 +1723,7 @@ elf_i386_check_relocs (bfd *abfd,
 					     NULL);
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: `%s' accessed both as normal and "
+		      (_("%pB: `%s' accessed both as normal and "
 			 "thread local symbol"),
 		       abfd, name);
 		    bfd_set_error (bfd_error_bad_value);
@@ -1720,11 +1743,19 @@ elf_i386_check_relocs (bfd *abfd,
 
 	case R_386_GOTOFF:
 	case R_386_GOTPC:
-	create_got:
+create_got:
 	  if (r_type != R_386_TLS_IE)
 	    {
 	      if (eh != NULL)
-		eh->zero_undefweak &= 0x2;
+		{
+		  eh->zero_undefweak &= 0x2;
+
+		  /* Need GOT to resolve undefined weak symbol to 0.  */
+		  if (r_type == R_386_GOTOFF
+		      && h->root.type == bfd_link_hash_undefweak
+		      && bfd_link_executable (info))
+		    htab->got_referenced = TRUE;
+		}
 	      break;
 	    }
 	  /* Fall through */
@@ -1764,7 +1795,7 @@ do_relocation:
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: unsupported non-PIC call to IFUNC `%s'"),
+			(_("%pB: unsupported non-PIC call to IFUNC `%s'"),
 			 abfd, h->root.root.string);
 		      bfd_set_error (bfd_error_bad_value);
 		      goto error_return;
@@ -1800,7 +1831,7 @@ do_relocation:
 
 	  size_reloc = FALSE;
 do_size:
-	  if (NEED_DYNAMIC_RELOCATION_P (info, h, sec, r_type,
+	  if (NEED_DYNAMIC_RELOCATION_P (info, FALSE, h, sec, r_type,
 					 R_386_32))
 	    {
 	      struct elf_dyn_relocs *p;
@@ -2202,6 +2233,10 @@ elf_i386_relocate_section (bfd *output_b
 
 	  if ((input_section->flags & SEC_ALLOC) == 0)
 	    {
+	      /* If this is a SHT_NOTE section without SHF_ALLOC, treat
+	         STT_GNU_IFUNC symbol as STT_FUNC.  */
+	      if (elf_section_type (input_section) == SHT_NOTE)
+		goto skip_ifunc;
 	      /* Dynamic relocs are not propagated for SEC_DEBUGGING
 		 sections because such sections are not SEC_ALLOC and
 		 thus ld.so will not process them.  */
@@ -2342,7 +2377,7 @@ bad_ifunc_reloc:
 					 NULL);
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocation %s against STT_GNU_IFUNC "
+		(_("%pB: relocation %s against STT_GNU_IFUNC "
 		   "symbol `%s' isn't supported"), input_bfd,
 		 howto->name, name);
 	      bfd_set_error (bfd_error_bad_value);
@@ -2375,7 +2410,7 @@ do_ifunc_pointer:
 
 		  if (POINTER_LOCAL_IFUNC_P (info, h))
 		    {
-		      info->callbacks->minfo (_("Local IFUNC function `%s' in %B\n"),
+		      info->callbacks->minfo (_("Local IFUNC function `%s' in %pB\n"),
 					      h->root.root.string,
 					      h->root.u.def.section->owner);
 
@@ -2421,72 +2456,14 @@ do_ifunc_pointer:
 	    }
 	}
 
+skip_ifunc:
       resolved_to_zero = (eh != NULL
 			  && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh));
 
       switch (r_type)
 	{
 	case R_386_GOT32X:
-	  /* Avoid optimizing _DYNAMIC since ld.so may use its
-	     link-time address.  */
-	  if (h == htab->elf.hdynamic)
-	    goto r_386_got32;
-
-	  if (bfd_link_pic (info))
-	    {
-	      /* It is OK to convert mov to lea and convert indirect
-		 branch to direct branch.  It is OK to convert adc,
-		 add, and, cmp, or, sbb, sub, test, xor only when PIC
-		 is false.   */
-	      unsigned int opcode, addend;
-	      addend = bfd_get_32 (input_bfd, contents + rel->r_offset);
-	      if (addend != 0)
-		goto r_386_got32;
-	      opcode = bfd_get_8 (input_bfd, contents + rel->r_offset - 2);
-	      if (opcode != 0x8b && opcode != 0xff)
-		goto r_386_got32;
-	    }
-
-	  /* Resolve "mov GOT[(%reg)], %reg",
-	     "call/jmp *GOT[(%reg)]", "test %reg, foo@GOT[(%reg)]"
-	     and "binop foo@GOT[(%reg)], %reg".  */
-	  if (h == NULL
-	      || (h->plt.offset == (bfd_vma) -1
-		  && h->got.offset == (bfd_vma) -1)
-	      || htab->elf.sgotplt == NULL)
-	    abort ();
-
-	  offplt = (htab->elf.sgotplt->output_section->vma
-		    + htab->elf.sgotplt->output_offset);
-
-	  /* It is relative to .got.plt section.  */
-	  if (h->got.offset != (bfd_vma) -1)
-	    /* Use GOT entry.  Mask off the least significant bit in
-	       GOT offset which may be set by R_386_GOT32 processing
-	       below.  */
-	    relocation = (htab->elf.sgot->output_section->vma
-			  + htab->elf.sgot->output_offset
-			  + (h->got.offset & ~1) - offplt);
-	  else
-	    /* Use GOTPLT entry.  */
-	    relocation = (h->plt.offset / plt_entry_size
-			  - htab->plt.has_plt0 + 3) * 4;
-
-	  if (!bfd_link_pic (info))
-	    {
-	      /* If not PIC, add the .got.plt section address for
-		 baseless addressing.  */
-	      unsigned int modrm;
-	      modrm = bfd_get_8 (input_bfd, contents + rel->r_offset - 1);
-	      if ((modrm & 0xc7) == 0x5)
-		relocation += offplt;
-	    }
-
-	  unresolved_reloc = FALSE;
-	  break;
-
 	case R_386_GOT32:
-r_386_got32:
 	  /* Relocation is to the entry for this symbol in the global
 	     offset table.  */
 	  if (htab->elf.sgot == NULL)
@@ -2590,7 +2567,7 @@ disallow_got32:
 
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: direct GOT relocation %s against `%s'"
+		    (_("%pB: direct GOT relocation %s against `%s'"
 		       " without base register can not be used"
 		       " when making a shared object"),
 		     input_bfd, howto->name, name);
@@ -2640,7 +2617,7 @@ disallow_got32:
 
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: relocation R_386_GOTOFF against undefined %s"
+		    (_("%pB: relocation R_386_GOTOFF against undefined %s"
 		       " `%s' can not be used when making a shared object"),
 		     input_bfd, v, h->root.root.string);
 		  bfd_set_error (bfd_error_bad_value);
@@ -2653,7 +2630,7 @@ disallow_got32:
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: relocation R_386_GOTOFF against protected %s"
+		    (_("%pB: relocation R_386_GOTOFF against protected %s"
 		       " `%s' can not be used when making a shared object"),
 		     input_bfd,
 		     h->type == STT_FUNC ? "function" : "data",
@@ -3430,10 +3407,10 @@ disallow_got32:
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	    (_("%pB(%pA+%#" PRIx64 "): unresolvable %s relocation against symbol `%s'"),
 	     input_bfd,
 	     input_section,
-	     rel->r_offset,
+	     (uint64_t) rel->r_offset,
 	     howto->name,
 	     h->root.root.string);
 	  return FALSE;
@@ -3470,9 +3447,9 @@ check_relocation_error:
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B(%A+%#Lx): reloc against `%s': error %d"),
+		(_("%pB(%pA+%#" PRIx64 "): reloc against `%s': error %d"),
 		 input_bfd, input_section,
-		 rel->r_offset, name, (int) r);
+		 (uint64_t) rel->r_offset, name, (int) r);
 	      return FALSE;
 	    }
 	}
@@ -3681,7 +3658,7 @@ elf_i386_finish_dynamic_symbol (bfd *out
 			  + got_offset);
 	  if (PLT_LOCAL_IFUNC_P (info, h))
 	    {
-	      info->callbacks->minfo (_("Local IFUNC function `%s' in %B\n"),
+	      info->callbacks->minfo (_("Local IFUNC function `%s' in %pB\n"),
 				      h->root.root.string,
 				      h->root.u.def.section->owner);
 
@@ -3781,6 +3758,8 @@ elf_i386_finish_dynamic_symbol (bfd *out
 	sym->st_value = 0;
     }
 
+  _bfd_x86_elf_link_fixup_ifunc_symbol (info, htab, h, sym);
+
   /* Don't generate dynamic GOT relocation against undefined weak
      symbol in executable.  */
   if (h->got.offset != (bfd_vma) -1
@@ -3820,7 +3799,7 @@ elf_i386_finish_dynamic_symbol (bfd *out
 		}
 	      if (SYMBOL_REFERENCES_LOCAL_P (info, h))
 		{
-		  info->callbacks->minfo (_("Local IFUNC function `%s' in %B\n"),
+		  info->callbacks->minfo (_("Local IFUNC function `%s' in %pB\n"),
 					  h->root.root.string,
 					  h->root.u.def.section->owner);
 
@@ -4178,6 +4157,7 @@ elf_i386_get_synthetic_symtab (bfd *abfd
   switch (get_elf_x86_backend_data (abfd)->target_os)
     {
     case is_normal:
+    case is_solaris:
       non_lazy_plt = &elf_i386_non_lazy_plt;
       lazy_ibt_plt = &elf_i386_lazy_ibt_plt;
       non_lazy_ibt_plt = &elf_i386_non_lazy_ibt_plt;
@@ -4337,6 +4317,7 @@ elf_i386_link_setup_gnu_properties (stru
   switch (get_elf_x86_backend_data (info->output_bfd)->target_os)
     {
     case is_normal:
+    case is_solaris:
       init_table.plt0_pad_byte = 0x0;
       init_table.lazy_plt = &elf_i386_lazy_plt;
       init_table.non_lazy_plt = &elf_i386_non_lazy_plt;
@@ -4409,6 +4390,8 @@ elf_i386_link_setup_gnu_properties (stru
 
 #define elf_backend_linux_prpsinfo32_ugid16	TRUE
 
+#define	elf32_bed			      elf32_i386_bed
+
 #include "elf32-target.h"
 
 /* FreeBSD support.  */
@@ -4454,6 +4437,14 @@ elf_i386_fbsd_post_process_headers (bfd 
 #undef	TARGET_LITTLE_NAME
 #define	TARGET_LITTLE_NAME		"elf32-i386-sol2"
 
+static const struct elf_x86_backend_data elf_i386_solaris_arch_bed =
+  {
+    is_solaris				/* os */
+  };
+
+#undef	elf_backend_arch_data
+#define	elf_backend_arch_data		&elf_i386_solaris_arch_bed
+
 #undef elf_backend_post_process_headers
 
 /* Restore default: we cannot use ELFOSABI_SOLARIS, otherwise ELFOSABI_NONE
@@ -4580,6 +4571,9 @@ elf32_iamcu_elf_object_p (bfd *abfd)
 #undef	ELF_MACHINE_CODE
 #define	ELF_MACHINE_CODE		EM_IAMCU
 
+#undef	elf_backend_arch_data
+#define	elf_backend_arch_data		&elf_i386_arch_bed
+
 #undef	ELF_OSABI
 
 #undef  elf32_bed
@@ -4746,6 +4740,12 @@ static const struct elf_x86_lazy_plt_lay
     sizeof (elf_i386_nacl_plt0_entry),	/* plt0_entry_size */
     elf_i386_nacl_plt_entry,		/* plt_entry */
     NACL_PLT_ENTRY_SIZE,		/* plt_entry_size */
+    NULL,				/* plt_tlsdesc_entry */
+    0,					/* plt_tlsdesc_entry_size*/
+    0,					/* plt_tlsdesc_got1_offset */
+    0,					/* plt_tlsdesc_got2_offset */
+    0,					/* plt_tlsdesc_got1_insn_end */
+    0,					/* plt_tlsdesc_got2_insn_end */
     2,					/* plt0_got1_offset */
     8,					/* plt0_got2_offset */
     0,					/* plt0_got2_insn_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.1.0.20180703/bfd/elf32-i860.c ./bfd/elf32-i860.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-i860.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-i860.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,1265 +0,0 @@
-/* Intel i860 specific support for 32-bit ELF.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   Full i860 support contributed by Jason Eckhardt <jle@cygnus.com>.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "elf-bfd.h"
-#include "elf/i860.h"
-
-/* special_function for R_860_PC26 relocation.  */
-static bfd_reloc_status_type
-i860_howto_pc26_reloc (bfd *abfd ATTRIBUTE_UNUSED,
-		       arelent *reloc_entry,
-		       asymbol *symbol,
-		       void *data ATTRIBUTE_UNUSED,
-		       asection *input_section,
-		       bfd *output_bfd,
-		       char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma insn;
-  bfd_vma relocation;
-  bfd_byte *addr;
-
-  if (output_bfd != NULL
-      && (symbol->flags & BSF_SECTION_SYM) == 0
-      && (! reloc_entry->howto->partial_inplace
-	  || reloc_entry->addend == 0))
-    {
-      reloc_entry->address += input_section->output_offset;
-      return bfd_reloc_ok;
-    }
-
-  /* Used elf32-mips.c as an example.  */
-  if (bfd_is_und_section (symbol->section)
-      && output_bfd == (bfd *) NULL)
-    return bfd_reloc_undefined;
-
-  if (bfd_is_com_section (symbol->section))
-    relocation = 0;
-  else
-    relocation = symbol->value;
-
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-
-  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
-    return bfd_reloc_outofrange;
-
-  /* Adjust for PC-relative relocation.  */
-  relocation -= (input_section->output_section->vma
-		 + input_section->output_offset
-		 + reloc_entry->address
-		 + 4);
-
-  /* Check for target out of range.  */
-  if ((bfd_signed_vma)relocation > (0x3ffffff << 2)
-      || (bfd_signed_vma)relocation < (-0x4000000 * 4))
-    return bfd_reloc_outofrange;
-
-  addr = (bfd_byte *) data + reloc_entry->address;
-  insn = bfd_get_32 (abfd, addr);
-
-  relocation >>= reloc_entry->howto->rightshift;
-  insn = (insn & ~reloc_entry->howto->dst_mask)
-	 | (relocation & reloc_entry->howto->dst_mask);
-
-  bfd_put_32 (abfd, (bfd_vma) insn, addr);
-
-  return bfd_reloc_ok;
-}
-
-/* special_function for R_860_PC16 relocation.  */
-static bfd_reloc_status_type
-i860_howto_pc16_reloc (bfd *abfd,
-		       arelent *reloc_entry,
-		       asymbol *symbol,
-		       void *data,
-		       asection *input_section,
-		       bfd *output_bfd,
-		       char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma insn;
-  bfd_vma relocation;
-  bfd_byte *addr;
-
-  if (output_bfd != NULL
-      && (symbol->flags & BSF_SECTION_SYM) == 0
-      && (! reloc_entry->howto->partial_inplace
-	  || reloc_entry->addend == 0))
-    {
-      reloc_entry->address += input_section->output_offset;
-      return bfd_reloc_ok;
-    }
-
-  /* Used elf32-mips.c as an example.  */
-  if (bfd_is_und_section (symbol->section)
-      && output_bfd == (bfd *) NULL)
-    return bfd_reloc_undefined;
-
-  if (bfd_is_com_section (symbol->section))
-    relocation = 0;
-  else
-    relocation = symbol->value;
-
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-
-  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
-    return bfd_reloc_outofrange;
-
-  /* Adjust for PC-relative relocation.  */
-  relocation -= (input_section->output_section->vma
-		 + input_section->output_offset
-		 + reloc_entry->address
-		 + 4);
-
-  /* Check for target out of range.  */
-  if ((bfd_signed_vma)relocation > (0x7fff << 2)
-      || (bfd_signed_vma)relocation < (-0x8000 * 4))
-    return bfd_reloc_outofrange;
-
-  addr = (bfd_byte *) data + reloc_entry->address;
-  insn = bfd_get_32 (abfd, addr);
-
-  relocation >>= reloc_entry->howto->rightshift;
-  relocation = (((relocation & 0xf800) << 5) | (relocation & 0x7ff))
-	       & reloc_entry->howto->dst_mask;
-  insn = (insn & ~reloc_entry->howto->dst_mask) | relocation;
-
-  bfd_put_32 (abfd, (bfd_vma) insn, addr);
-
-  return bfd_reloc_ok;
-}
-
-/* special_function for R_860_HIGHADJ relocation.  */
-static bfd_reloc_status_type
-i860_howto_highadj_reloc (bfd *abfd,
-			  arelent *reloc_entry,
-			  asymbol *symbol,
-			  void *data,
-			  asection *input_section,
-			  bfd *output_bfd,
-			  char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma insn;
-  bfd_vma relocation;
-  bfd_byte *addr;
-
-  if (output_bfd != NULL
-      && (symbol->flags & BSF_SECTION_SYM) == 0
-      && (! reloc_entry->howto->partial_inplace
-	  || reloc_entry->addend == 0))
-    {
-      reloc_entry->address += input_section->output_offset;
-      return bfd_reloc_ok;
-    }
-
-  /* Used elf32-mips.c as an example.  */
-  if (bfd_is_und_section (symbol->section)
-      && output_bfd == (bfd *) NULL)
-    return bfd_reloc_undefined;
-
-  if (bfd_is_com_section (symbol->section))
-    relocation = 0;
-  else
-    relocation = symbol->value;
-
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-  relocation += 0x8000;
-
-  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
-    return bfd_reloc_outofrange;
-
-  addr = (bfd_byte *) data + reloc_entry->address;
-  insn = bfd_get_32 (abfd, addr);
-
-  relocation = ((relocation >> 16) & 0xffff);
-
-  insn = (insn & 0xffff0000) | relocation;
-
-  bfd_put_32 (abfd, (bfd_vma) insn, addr);
-
-  return bfd_reloc_ok;
-}
-
-/* special_function for R_860_SPLITn relocations.  */
-static bfd_reloc_status_type
-i860_howto_splitn_reloc (bfd *abfd,
-			 arelent *reloc_entry,
-			 asymbol *symbol,
-			 void *data,
-			 asection *input_section,
-			 bfd *output_bfd,
-			 char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma insn;
-  bfd_vma relocation;
-  bfd_byte *addr;
-
-  if (output_bfd != NULL
-      && (symbol->flags & BSF_SECTION_SYM) == 0
-      && (! reloc_entry->howto->partial_inplace
-	  || reloc_entry->addend == 0))
-    {
-      reloc_entry->address += input_section->output_offset;
-      return bfd_reloc_ok;
-    }
-
-  /* Used elf32-mips.c as an example.  */
-  if (bfd_is_und_section (symbol->section)
-      && output_bfd == (bfd *) NULL)
-    return bfd_reloc_undefined;
-
-  if (bfd_is_com_section (symbol->section))
-    relocation = 0;
-  else
-    relocation = symbol->value;
-
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-
-  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
-    return bfd_reloc_outofrange;
-
-  addr = (bfd_byte *) data + reloc_entry->address;
-  insn = bfd_get_32 (abfd, addr);
-
-  relocation = (((relocation & 0xf800) << 5) | (relocation & 0x7ff))
-	       & reloc_entry->howto->dst_mask;
-  insn = (insn & ~reloc_entry->howto->dst_mask) | relocation;
-
-  bfd_put_32 (abfd, (bfd_vma) insn, addr);
-
-  return bfd_reloc_ok;
-}
-
-/* This howto table is preliminary.  */
-static reloc_howto_type elf32_i860_howto_table [] =
-{
-  /* This relocation does nothing.  */
-  HOWTO (R_860_NONE,		/* type */
-	 0,			/* rightshift */
-	 3,			/* size (0 = byte, 1 = short, 2 = long) */
-	 0,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_NONE",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0,			/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* A 32-bit absolute relocation.  */
-  HOWTO (R_860_32,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_32",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_COPY,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_COPY",		/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_GLOB_DAT,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_GLOB_DAT",	/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_JUMP_SLOT,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_JUMP_SLOT",	/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_RELATIVE,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_RELATIVE",	/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* A 26-bit PC-relative relocation.  */
-  HOWTO (R_860_PC26,		/* type */
-	 2,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 26,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 i860_howto_pc26_reloc,	/* special_function */
-	 "R_860_PC26",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0x3ffffff,		/* src_mask */
-	 0x3ffffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  HOWTO (R_860_PLT26,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 26,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_PLT26",		/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* A 16-bit PC-relative relocation.  */
-  HOWTO (R_860_PC16,		/* type */
-	 2,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 i860_howto_pc16_reloc,	/* special_function */
-	 "R_860_PC16",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0x1f07ff,		/* src_mask */
-	 0x1f07ff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  HOWTO (R_860_LOW0,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_LOW0",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xffff,		/* src_mask */
-	 0xffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_SPLIT0,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 i860_howto_splitn_reloc, /* special_function */
-	 "R_860_SPLIT0",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0x1f07ff,		/* src_mask */
-	 0x1f07ff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_LOW1,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_LOW1",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xfffe,		/* src_mask */
-	 0xfffe,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_SPLIT1,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 i860_howto_splitn_reloc, /* special_function */
-	 "R_860_SPLIT1",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0x1f07fe,		/* src_mask */
-	 0x1f07fe,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_LOW2,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_LOW2",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xfffc,		/* src_mask */
-	 0xfffc,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_SPLIT2,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 i860_howto_splitn_reloc, /* special_function */
-	 "R_860_SPLIT2",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0x1f07fc,		/* src_mask */
-	 0x1f07fc,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_LOW3,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_LOW3",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xfff8,		/* src_mask */
-	 0xfff8,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_LOGOT0,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_LOGOT0",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  HOWTO (R_860_SPGOT0,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_SPGOT0",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  HOWTO (R_860_LOGOT1,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_LOGOT1",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  HOWTO (R_860_SPGOT1,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_SPGOT1",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  HOWTO (R_860_LOGOTOFF0,	 /* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_LOGOTOFF0",	/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_SPGOTOFF0,	 /* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_SPGOTOFF0",	/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_LOGOTOFF1,	 /* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_LOGOTOFF1",	/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_SPGOTOFF1,       /* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_SPGOTOFF1",	/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_LOGOTOFF2,	 /* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_LOGOTOFF2",	/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_LOGOTOFF3,	 /* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_LOGOTOFF3",	/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_LOPC,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_LOPC",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xffff,		/* src_mask */
-	 0xffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  HOWTO (R_860_HIGHADJ,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 i860_howto_highadj_reloc, /* special_function */
-	 "R_860_HIGHADJ",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0xffff,		/* src_mask */
-	 0xffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_HAGOT,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_HAGOT",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  HOWTO (R_860_HAGOTOFF,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_HAGOTOFF",	/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_HAPC,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_HAPC",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xffff,		/* src_mask */
-	 0xffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  HOWTO (R_860_HIGH,		/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_HIGH",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0xffff,		/* src_mask */
-	 0xffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_860_HIGOT,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_HIGOT",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  HOWTO (R_860_HIGOTOFF,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_860_HIGOTOFF",	/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-};
-
-static unsigned char elf_code_to_howto_index[R_860_max + 1];
-
-static reloc_howto_type *
-lookup_howto (unsigned int rtype)
-{
-  static int initialized = 0;
-  int i;
-  int howto_tbl_size = (int) (sizeof (elf32_i860_howto_table)
-			/ sizeof (elf32_i860_howto_table[0]));
-
-  if (! initialized)
-    {
-      initialized = 1;
-      memset (elf_code_to_howto_index, 0xff,
-	      sizeof (elf_code_to_howto_index));
-      for (i = 0; i < howto_tbl_size; i++)
-	elf_code_to_howto_index[elf32_i860_howto_table[i].type] = i;
-    }
-
-  BFD_ASSERT (rtype <= R_860_max);
-  i = elf_code_to_howto_index[rtype];
-  if (i >= howto_tbl_size)
-    return 0;
-  return elf32_i860_howto_table + i;
-}
-
-/* Given a BFD reloc, return the matching HOWTO structure.  */
-static reloc_howto_type *
-elf32_i860_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			      bfd_reloc_code_real_type code)
-{
-  unsigned int rtype;
-
-  switch (code)
-    {
-    case BFD_RELOC_NONE:
-      rtype = R_860_NONE;
-      break;
-    case BFD_RELOC_32:
-      rtype = R_860_32;
-      break;
-    case BFD_RELOC_860_COPY:
-      rtype = R_860_COPY;
-      break;
-    case BFD_RELOC_860_GLOB_DAT:
-      rtype = R_860_GLOB_DAT;
-      break;
-    case BFD_RELOC_860_JUMP_SLOT:
-      rtype = R_860_JUMP_SLOT;
-      break;
-    case BFD_RELOC_860_RELATIVE:
-      rtype = R_860_RELATIVE;
-      break;
-    case BFD_RELOC_860_PC26:
-      rtype = R_860_PC26;
-      break;
-    case BFD_RELOC_860_PLT26:
-      rtype = R_860_PLT26;
-      break;
-    case BFD_RELOC_860_PC16:
-      rtype = R_860_PC16;
-      break;
-    case BFD_RELOC_860_LOW0:
-      rtype = R_860_LOW0;
-      break;
-    case BFD_RELOC_860_SPLIT0:
-      rtype = R_860_SPLIT0;
-      break;
-    case BFD_RELOC_860_LOW1:
-      rtype = R_860_LOW1;
-      break;
-    case BFD_RELOC_860_SPLIT1:
-      rtype = R_860_SPLIT1;
-      break;
-    case BFD_RELOC_860_LOW2:
-      rtype = R_860_LOW2;
-      break;
-    case BFD_RELOC_860_SPLIT2:
-      rtype = R_860_SPLIT2;
-      break;
-    case BFD_RELOC_860_LOW3:
-      rtype = R_860_LOW3;
-      break;
-    case BFD_RELOC_860_LOGOT0:
-      rtype = R_860_LOGOT0;
-      break;
-    case BFD_RELOC_860_SPGOT0:
-      rtype = R_860_SPGOT0;
-      break;
-    case BFD_RELOC_860_LOGOT1:
-      rtype = R_860_LOGOT1;
-      break;
-    case BFD_RELOC_860_SPGOT1:
-      rtype = R_860_SPGOT1;
-      break;
-    case BFD_RELOC_860_LOGOTOFF0:
-      rtype = R_860_LOGOTOFF0;
-      break;
-    case BFD_RELOC_860_SPGOTOFF0:
-      rtype = R_860_SPGOTOFF0;
-      break;
-    case BFD_RELOC_860_LOGOTOFF1:
-      rtype = R_860_LOGOTOFF1;
-      break;
-    case BFD_RELOC_860_SPGOTOFF1:
-      rtype = R_860_SPGOTOFF1;
-      break;
-    case BFD_RELOC_860_LOGOTOFF2:
-      rtype = R_860_LOGOTOFF2;
-      break;
-    case BFD_RELOC_860_LOGOTOFF3:
-      rtype = R_860_LOGOTOFF3;
-      break;
-    case BFD_RELOC_860_LOPC:
-      rtype = R_860_LOPC;
-      break;
-    case BFD_RELOC_860_HIGHADJ:
-      rtype = R_860_HIGHADJ;
-      break;
-    case BFD_RELOC_860_HAGOT:
-      rtype = R_860_HAGOT;
-      break;
-    case BFD_RELOC_860_HAGOTOFF:
-      rtype = R_860_HAGOTOFF;
-      break;
-    case BFD_RELOC_860_HAPC:
-      rtype = R_860_HAPC;
-      break;
-    case BFD_RELOC_860_HIGH:
-      rtype = R_860_HIGH;
-      break;
-    case BFD_RELOC_860_HIGOT:
-      rtype = R_860_HIGOT;
-      break;
-    case BFD_RELOC_860_HIGOTOFF:
-      rtype = R_860_HIGOTOFF;
-      break;
-    default:
-      rtype = 0;
-      break;
-    }
-  return lookup_howto (rtype);
-}
-
-static reloc_howto_type *
-elf32_i860_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			      const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0;
-       i < (sizeof (elf32_i860_howto_table)
-	    / sizeof (elf32_i860_howto_table[0]));
-       i++)
-    if (elf32_i860_howto_table[i].name != NULL
-	&& strcasecmp (elf32_i860_howto_table[i].name, r_name) == 0)
-      return &elf32_i860_howto_table[i];
-
-  return NULL;
-}
-
-/* Given a ELF reloc, return the matching HOWTO structure.  */
-static void
-elf32_i860_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
-			       arelent *bfd_reloc,
-			       Elf_Internal_Rela *elf_reloc)
-{
-  bfd_reloc->howto
-    = lookup_howto ((unsigned) ELF32_R_TYPE (elf_reloc->r_info));
-}
-
-/* Specialized relocation handler for R_860_SPLITn.  These relocations
-   involves a 16-bit field that is split into two contiguous parts.  */
-static bfd_reloc_status_type
-elf32_i860_relocate_splitn (bfd *input_bfd,
-			    Elf_Internal_Rela *rello,
-			    bfd_byte *contents,
-			    bfd_vma value)
-{
-  bfd_vma insn;
-  reloc_howto_type *howto;
-  howto = lookup_howto ((unsigned) ELF32_R_TYPE (rello->r_info));
-  insn = bfd_get_32 (input_bfd, contents + rello->r_offset);
-
-  /* Relocate.  */
-  value += rello->r_addend;
-
-  /* Separate the fields and insert.  */
-  value = (((value & 0xf800) << 5) | (value & 0x7ff)) & howto->dst_mask;
-  insn = (insn & ~howto->dst_mask) | value;
-
-  bfd_put_32 (input_bfd, insn, contents + rello->r_offset);
-  return bfd_reloc_ok;
-}
-
-/* Specialized relocation handler for R_860_PC16.  This relocation
-   involves a 16-bit, PC-relative field that is split into two contiguous
-   parts.  */
-static bfd_reloc_status_type
-elf32_i860_relocate_pc16 (bfd *input_bfd,
-			  asection *input_section,
-			  Elf_Internal_Rela *rello,
-			  bfd_byte *contents,
-			  bfd_vma value)
-{
-  bfd_vma insn;
-  reloc_howto_type *howto;
-  howto = lookup_howto ((unsigned) ELF32_R_TYPE (rello->r_info));
-  insn = bfd_get_32 (input_bfd, contents + rello->r_offset);
-
-  /* Adjust for PC-relative relocation.  */
-  value -= (input_section->output_section->vma
-	    + input_section->output_offset);
-  value -= rello->r_offset;
-
-  /* Relocate.  */
-  value += rello->r_addend;
-
-  /* Adjust the value by 4, then separate the fields and insert.  */
-  value = (value - 4) >> howto->rightshift;
-  value = (((value & 0xf800) << 5) | (value & 0x7ff)) & howto->dst_mask;
-  insn = (insn & ~howto->dst_mask) | value;
-
-  bfd_put_32 (input_bfd, insn, contents + rello->r_offset);
-  return bfd_reloc_ok;
-
-}
-
-/* Specialized relocation handler for R_860_PC26.  This relocation
-   involves a 26-bit, PC-relative field which must be adjusted by 4.  */
-static bfd_reloc_status_type
-elf32_i860_relocate_pc26 (bfd *input_bfd,
-			  asection *input_section,
-			  Elf_Internal_Rela *rello,
-			  bfd_byte *contents,
-			  bfd_vma value)
-{
-  bfd_vma insn;
-  reloc_howto_type *howto;
-  howto = lookup_howto ((unsigned) ELF32_R_TYPE (rello->r_info));
-  insn = bfd_get_32 (input_bfd, contents + rello->r_offset);
-
-  /* Adjust for PC-relative relocation.  */
-  value -= (input_section->output_section->vma
-	    + input_section->output_offset);
-  value -= rello->r_offset;
-
-  /* Relocate.  */
-  value += rello->r_addend;
-
-  /* Adjust value by 4 and insert the field.  */
-  value = ((value - 4) >> howto->rightshift) & howto->dst_mask;
-  insn = (insn & ~howto->dst_mask) | value;
-
-  bfd_put_32 (input_bfd, insn, contents + rello->r_offset);
-  return bfd_reloc_ok;
-
-}
-
-/* Specialized relocation handler for R_860_HIGHADJ.  */
-static bfd_reloc_status_type
-elf32_i860_relocate_highadj (bfd *input_bfd,
-			     Elf_Internal_Rela *rel,
-			     bfd_byte *contents,
-			     bfd_vma value)
-{
-  bfd_vma insn;
-
-  insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
-
-  value += rel->r_addend;
-  value += 0x8000;
-  value = ((value >> 16) & 0xffff);
-
-  insn = (insn & 0xffff0000) | value;
-
-  bfd_put_32 (input_bfd, insn, contents + rel->r_offset);
-  return bfd_reloc_ok;
-}
-
-/* Perform a single relocation.  By default we use the standard BFD
-   routines. However, we handle some specially.  */
-static bfd_reloc_status_type
-i860_final_link_relocate (reloc_howto_type *howto,
-			  bfd *input_bfd,
-			  asection *input_section,
-			  bfd_byte *contents,
-			  Elf_Internal_Rela *rel,
-			  bfd_vma relocation)
-{
-  return _bfd_final_link_relocate (howto, input_bfd, input_section,
-				   contents, rel->r_offset, relocation,
-				   rel->r_addend);
-}
-
-/* Relocate an i860 ELF section.
-
-   This is boiler-plate code copied from fr30.
-
-   The RELOCATE_SECTION function is called by the new ELF backend linker
-   to handle the relocations for a section.
-
-   The relocs are always passed as Rela structures; if the section
-   actually uses Rel structures, the r_addend field will always be
-   zero.
-
-   This function is responsible for adjusting the section contents as
-   necessary, and (if using Rela relocs and generating a relocatable
-   output file) adjusting the reloc addend as necessary.
-
-   This function does not have to worry about setting the reloc
-   address or the reloc symbol index.
-
-   LOCAL_SYMS is a pointer to the swapped in local symbols.
-
-   LOCAL_SECTIONS is an array giving the section in the input file
-   corresponding to the st_shndx field of each local symbol.
-
-   The global hash table entry for the global symbols can be found
-   via elf_sym_hashes (input_bfd).
-
-   When generating relocatable output, this function must handle
-   STB_LOCAL/STT_SECTION symbols specially.  The output symbol is
-   going to be the section symbol corresponding to the output
-   section, which means that the addend must be adjusted
-   accordingly.  */
-static bfd_boolean
-elf32_i860_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
-			     struct bfd_link_info *info,
-			     bfd *input_bfd,
-			     asection *input_section,
-			     bfd_byte *contents,
-			     Elf_Internal_Rela *relocs,
-			     Elf_Internal_Sym *local_syms,
-			     asection **local_sections)
-{
-  Elf_Internal_Shdr *symtab_hdr;
-  struct elf_link_hash_entry **sym_hashes;
-  Elf_Internal_Rela *rel;
-  Elf_Internal_Rela *relend;
-
-  symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr;
-  sym_hashes = elf_sym_hashes (input_bfd);
-  relend     = relocs + input_section->reloc_count;
-
-  for (rel = relocs; rel < relend; rel ++)
-    {
-      reloc_howto_type *	   howto;
-      unsigned long		   r_symndx;
-      Elf_Internal_Sym *	   sym;
-      asection *		   sec;
-      struct elf_link_hash_entry * h;
-      bfd_vma			   relocation;
-      bfd_reloc_status_type	   r;
-      const char *		   name = NULL;
-      int			   r_type;
-
-      r_type = ELF32_R_TYPE (rel->r_info);
-      r_symndx = ELF32_R_SYM (rel->r_info);
-
-      howto = lookup_howto ((unsigned) ELF32_R_TYPE (rel->r_info));
-      h     = NULL;
-      sym   = NULL;
-      sec   = NULL;
-
-      if (r_symndx < symtab_hdr->sh_info)
-	{
-	  sym = local_syms + r_symndx;
-	  sec = local_sections [r_symndx];
-	  relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
-
-	  name = bfd_elf_string_from_elf_section
-	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
-	}
-      else
-	{
-	  bfd_boolean unresolved_reloc, warned, ignored;
-
-	  RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
-				   r_symndx, symtab_hdr, sym_hashes,
-				   h, sec, relocation,
-				   unresolved_reloc, warned, ignored);
-	}
-
-      if (sec != NULL && discarded_section (sec))
-	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
-					 rel, 1, relend, howto, 0, contents);
-
-      if (bfd_link_relocatable (info))
-	continue;
-
-      switch (r_type)
-	{
-	default:
-	  r = i860_final_link_relocate (howto, input_bfd, input_section,
-					contents, rel, relocation);
-	  break;
-
-	case R_860_HIGHADJ:
-	  r = elf32_i860_relocate_highadj (input_bfd, rel, contents,
-					   relocation);
-	  break;
-
-	case R_860_PC16:
-	  r = elf32_i860_relocate_pc16 (input_bfd, input_section, rel,
-					contents, relocation);
-	  break;
-
-	case R_860_PC26:
-	  r = elf32_i860_relocate_pc26 (input_bfd, input_section, rel,
-					contents, relocation);
-	  break;
-
-	case R_860_SPLIT0:
-	case R_860_SPLIT1:
-	case R_860_SPLIT2:
-	  r = elf32_i860_relocate_splitn (input_bfd, rel, contents,
-					  relocation);
-	  break;
-
-	/* We do not yet handle GOT/PLT/Dynamic relocations.  */
-	case R_860_COPY:
-	case R_860_GLOB_DAT:
-	case R_860_JUMP_SLOT:
-	case R_860_RELATIVE:
-	case R_860_PLT26:
-	case R_860_LOGOT0:
-	case R_860_SPGOT0:
-	case R_860_LOGOT1:
-	case R_860_SPGOT1:
-	case R_860_LOGOTOFF0:
-	case R_860_SPGOTOFF0:
-	case R_860_LOGOTOFF1:
-	case R_860_SPGOTOFF1:
-	case R_860_LOGOTOFF2:
-	case R_860_LOGOTOFF3:
-	case R_860_LOPC:
-	case R_860_HAGOT:
-	case R_860_HAGOTOFF:
-	case R_860_HAPC:
-	case R_860_HIGOT:
-	case R_860_HIGOTOFF:
-	  r = bfd_reloc_notsupported;
-	  break;
-	}
-
-      if (r != bfd_reloc_ok)
-	{
-	  const char * msg = (const char *) NULL;
-
-	  switch (r)
-	    {
-	    case bfd_reloc_overflow:
-	      (*info->callbacks->reloc_overflow)
-		(info, (h ? &h->root : NULL), name, howto->name,
-		 (bfd_vma) 0, input_bfd, input_section, rel->r_offset);
-	      break;
-
-	    case bfd_reloc_undefined:
-	      (*info->callbacks->undefined_symbol)
-		(info, name, input_bfd, input_section, rel->r_offset, TRUE);
-	      break;
-
-	    case bfd_reloc_outofrange:
-	      msg = _("internal error: out of range error");
-	      break;
-
-	    case bfd_reloc_notsupported:
-	      msg = _("internal error: unsupported relocation error");
-	      break;
-
-	    case bfd_reloc_dangerous:
-	      msg = _("internal error: dangerous relocation");
-	      break;
-
-	    default:
-	      msg = _("internal error: unknown error");
-	      break;
-	    }
-
-	  if (msg)
-	    (*info->callbacks->warning) (info, msg, name, input_bfd,
-					 input_section, rel->r_offset);
-	}
-    }
-
-  return TRUE;
-}
-
-/* Return whether a symbol name implies a local label.  SVR4/860 compilers
-   generate labels of the form ".ep.function_name" to denote the end of a
-   function prolog. These should be local.
-   ??? Do any other SVR4 compilers have this convention? If so, this should
-   be added to the generic routine.  */
-static bfd_boolean
-elf32_i860_is_local_label_name (bfd *abfd, const char *name)
-{
-  if (name[0] == '.' && name[1] == 'e' && name[2] == 'p' && name[3] == '.')
-    return TRUE;
-
-  return _bfd_elf_is_local_label_name (abfd, name);
-}
-
-#define TARGET_BIG_SYM		i860_elf32_vec
-#define TARGET_BIG_NAME		"elf32-i860"
-#define TARGET_LITTLE_SYM	i860_elf32_le_vec
-#define TARGET_LITTLE_NAME	"elf32-i860-little"
-#define ELF_ARCH		bfd_arch_i860
-#define ELF_MACHINE_CODE	EM_860
-#define ELF_MAXPAGESIZE		4096
-
-#define elf_backend_rela_normal			1
-#define elf_info_to_howto_rel			NULL
-#define elf_info_to_howto			elf32_i860_info_to_howto_rela
-#define elf_backend_relocate_section		elf32_i860_relocate_section
-#define bfd_elf32_bfd_reloc_type_lookup		elf32_i860_reloc_type_lookup
-#define bfd_elf32_bfd_reloc_name_lookup	elf32_i860_reloc_name_lookup
-#define bfd_elf32_bfd_is_local_label_name	elf32_i860_is_local_label_name
-
-#include "elf32-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-i960.c ./bfd/elf32-i960.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-i960.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-i960.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,174 +0,0 @@
-/* Intel 960 specific support for 32-bit ELF
-   Copyright (C) 1999-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "elf-bfd.h"
-#include "elf/i960.h"
-
-#define USE_REL 1
-
-#define bfd_elf32_bfd_reloc_type_lookup	elf32_i960_reloc_type_lookup
-#define bfd_elf32_bfd_reloc_name_lookup \
-  elf32_i960_reloc_name_lookup
-#define elf_info_to_howto		elf32_i960_info_to_howto
-#define elf_info_to_howto_rel		elf32_i960_info_to_howto_rel
-
-/* ELF relocs are against symbols.  If we are producing relocatable
-   output, and the reloc is against an external symbol, and nothing
-   has given us any additional addend, the resulting reloc will also
-   be against the same symbol.  In such a case, we don't want to
-   change anything about the way the reloc is handled, since it will
-   all be done at final link time.  Rather than put special case code
-   into bfd_perform_relocation, all the reloc types use this howto
-   function.  It just short circuits the reloc if producing
-   relocatable output against an external symbol.  */
-
-static bfd_reloc_status_type
-elf32_i960_relocate (bfd *abfd ATTRIBUTE_UNUSED,
-		     arelent *reloc_entry,
-		     asymbol *symbol,
-		     void * data ATTRIBUTE_UNUSED,
-		     asection *input_section,
-		     bfd *output_bfd,
-		     char **error_message ATTRIBUTE_UNUSED)
-{
-  /* HACK: I think this first condition is necessary when producing
-     relocatable output.  After the end of HACK, the code is identical
-     to bfd_elf_generic_reloc().  I would _guess_ the first change
-     belongs there rather than here.  martindo 1998-10-23.  */
-  if (output_bfd != (bfd *) NULL
-      && reloc_entry->howto->pc_relative
-      && !reloc_entry->howto->pcrel_offset)
-    reloc_entry->addend -= symbol->value;
-
-  /* This is more dubious.  */
-  else if (output_bfd != (bfd *) NULL
-	   && (symbol->flags & BSF_SECTION_SYM) != 0)
-    reloc_entry->addend -= symbol->section->output_section->vma;
-
-  else
-    {
-      /* ...end of HACK.  */
-      if (output_bfd != (bfd *) NULL
-	  && (symbol->flags & BSF_SECTION_SYM) == 0
-	  && (! reloc_entry->howto->partial_inplace
-	      || reloc_entry->addend == 0))
-	{
-	  reloc_entry->address += input_section->output_offset;
-	  return bfd_reloc_ok;
-	}
-    }
-
-  return bfd_reloc_continue;
-}
-
-static reloc_howto_type elf_howto_table[]=
-{
-  HOWTO (R_960_NONE, 0, 3, 0, FALSE, 0, complain_overflow_dont,
-	 elf32_i960_relocate, "R_960_NONE", TRUE,
-	 0x00000000, 0x00000000, FALSE),
-  EMPTY_HOWTO (1),
-  HOWTO (R_960_32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
-	 elf32_i960_relocate, "R_960_32", TRUE,
-	 0xffffffff, 0xffffffff, FALSE),
-  HOWTO (R_960_IP24, 0, 2, 24, TRUE, 0, complain_overflow_signed,
-	 elf32_i960_relocate, "R_960_IP24 ", TRUE,
-	 0x00ffffff, 0x00ffffff, FALSE),
-  EMPTY_HOWTO (4),
-  EMPTY_HOWTO (5),
-  EMPTY_HOWTO (6),
-  EMPTY_HOWTO (7)
-};
-
-static enum elf_i960_reloc_type
-elf32_i960_bfd_to_reloc_type (bfd_reloc_code_real_type code)
-{
-  switch (code)
-    {
-    default:
-      return R_960_NONE;
-    case BFD_RELOC_I960_CALLJ:
-      return R_960_OPTCALL;
-    case BFD_RELOC_32:
-    case BFD_RELOC_CTOR:
-      return R_960_32;
-    case BFD_RELOC_24_PCREL:
-      return R_960_IP24;
-    }
-}
-
-static void
-elf32_i960_info_to_howto (bfd *		      abfd ATTRIBUTE_UNUSED,
-			  arelent *	      cache_ptr ATTRIBUTE_UNUSED,
-			  Elf_Internal_Rela * dst ATTRIBUTE_UNUSED)
-{
-  abort ();
-}
-
-static void
-elf32_i960_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
-			      arelent *cache_ptr,
-			      Elf_Internal_Rela *dst)
-{
-  enum elf_i960_reloc_type type;
-
-  type = (enum elf_i960_reloc_type) ELF32_R_TYPE (dst->r_info);
-
-  /* PR 17521: file: 9609b8d6.  */
-  if (type >= R_960_max)
-    {
-      /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid i960 reloc number: %d"), abfd, type);
-      type = 0;
-    }
-
-  cache_ptr->howto = &elf_howto_table[(int) type];
-}
-
-static reloc_howto_type *
-elf32_i960_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			      bfd_reloc_code_real_type code)
-{
-  return elf_howto_table + elf32_i960_bfd_to_reloc_type (code);
-}
-
-static reloc_howto_type *
-elf32_i960_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			      const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0; i < sizeof (elf_howto_table) / sizeof (elf_howto_table[0]); i++)
-    if (elf_howto_table[i].name != NULL
-	&& strcasecmp (elf_howto_table[i].name, r_name) == 0)
-      return &elf_howto_table[i];
-
-  return NULL;
-}
-
-#define TARGET_LITTLE_SYM	i960_elf32_vec
-#define TARGET_LITTLE_NAME	"elf32-i960"
-#define ELF_ARCH		bfd_arch_i960
-#define ELF_MACHINE_CODE	EM_960
-#define ELF_MAXPAGESIZE		1 /* FIXME: This number is wrong,  It should be the page size in bytes.  */
-
-#include "elf32-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-ip2k.c ./bfd/elf32-ip2k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-ip2k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-ip2k.c	2018-07-10 02:06:11.000000000 +0000
@@ -1231,8 +1231,8 @@ ip2k_elf_relax_section (bfd *abfd,
 
 /* Set the howto pointer for a IP2K ELF reloc.  */
 
-static void
-ip2k_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+ip2k_info_to_howto_rela (bfd * abfd,
 			 arelent * cache_ptr,
 			 Elf_Internal_Rela * dst)
 {
@@ -1242,10 +1242,13 @@ ip2k_info_to_howto_rela (bfd * abfd ATTR
   if (r_type >= (unsigned int) R_IP2K_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid IP2K reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = & ip2k_elf_howto_table [r_type];
+  return TRUE;
 }
 
 /* Perform a single relocation.
@@ -1295,9 +1298,11 @@ ip2k_final_link_relocate (reloc_howto_ty
 	      ip2k_nominal_page_bits (input_bfd, input_section,
 				      rel->r_offset, contents))
 	    /* xgettext:c-format */
-	    _bfd_error_handler (_("ip2k linker: missing page instruction at %#Lx (dest = %#Lx)"),
-				BASEADDR (input_section) + rel->r_offset,
-				relocation + rel->r_addend);
+	    _bfd_error_handler
+	      (_("ip2k linker: missing page instruction "
+		 "at %#" PRIx64 " (dest = %#" PRIx64 ")"),
+	       (uint64_t) (BASEADDR (input_section) + rel->r_offset),
+	       (uint64_t) (relocation + rel->r_addend));
 	}
       else if (ip2k_relaxed)
 	{
@@ -1312,9 +1317,11 @@ ip2k_final_link_relocate (reloc_howto_ty
 		  ip2k_nominal_page_bits (input_bfd, input_section,
 					  rel->r_offset - 2, contents)))
 	    /* xgettext:c-format */
-	    _bfd_error_handler (_("ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)"),
-				page_addr,
-				relocation + rel->r_addend);
+	    _bfd_error_handler
+	      (_("ip2k linker: redundant page instruction "
+		 "at %#" PRIx64 " (dest = %#" PRIx64 ")"),
+	       (uint64_t) page_addr,
+	       (uint64_t) (relocation + rel->r_addend));
 	}
       if ((relocation & IP2K_INSN_MASK) == IP2K_INSN_VALUE)
 	relocation &= ~IP2K_INSN_MASK;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-iq2000.c ./bfd/elf32-iq2000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-iq2000.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-iq2000.c	2018-07-10 02:06:11.000000000 +0000
@@ -22,6 +22,7 @@
 #include "libbfd.h"
 #include "elf-bfd.h"
 #include "elf/iq2000.h"
+#include "libiberty.h"
 
 /* Forward declarations.  */
 
@@ -416,7 +417,7 @@ iq2000_final_link_relocate (reloc_howto_
 
 /* Set the howto pointer for a IQ2000 ELF reloc.  */
 
-static void
+static bfd_boolean
 iq2000_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED,
 			   arelent * cache_ptr,
 			   Elf_Internal_Rela * dst)
@@ -435,15 +436,18 @@ iq2000_info_to_howto_rela (bfd * abfd AT
       break;
 
     default:
-      if (r_type >= (unsigned int) R_IQ2000_max)
+      if (r_type >= ARRAY_SIZE (iq2000_elf_howto_table))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: invalid IQ2000 reloc number: %d"), abfd, r_type);
-	  r_type = 0;
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      abfd, r_type);
+	  bfd_set_error (bfd_error_bad_value);
+	  return FALSE;
 	}
       cache_ptr->howto = & iq2000_elf_howto_table [r_type];
       break;
     }
+  return TRUE;
 }
 
 /* Look through the relocs for a section during the first phase.
@@ -825,7 +829,7 @@ iq2000_elf_merge_private_bfd_data (bfd *
 	  error = TRUE;
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: compiled with %s and linked with modules compiled with %s"),
+	    (_("%pB: compiled with %s and linked with modules compiled with %s"),
 	     ibfd, new_opt, old_opt);
 	}
 
@@ -839,7 +843,7 @@ iq2000_elf_merge_private_bfd_data (bfd *
 
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: uses different e_flags (%#x) fields than previous modules (%#x)"),
+	    (_("%pB: uses different e_flags (%#x) fields than previous modules (%#x)"),
 	     ibfd, new_flags, old_flags);
 	}
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-lm32.c ./bfd/elf32-lm32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-lm32.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-lm32.c	2018-07-10 02:06:11.000000000 +0000
@@ -525,8 +525,8 @@ lm32_reloc_name_lookup (bfd *abfd ATTRIB
 
 /* Set the howto pointer for an Lattice Mico32 ELF reloc.  */
 
-static void
-lm32_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+lm32_info_to_howto_rela (bfd *abfd,
 			 arelent *cache_ptr,
 			 Elf_Internal_Rela *dst)
 {
@@ -536,10 +536,13 @@ lm32_info_to_howto_rela (bfd *abfd ATTRI
   if (r_type >= (unsigned int) R_LM32_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid LM32 reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &lm32_elf_howto_table[r_type];
+  return TRUE;
 }
 
 /* Set the right machine number for an Lattice Mico32 ELF file. */
@@ -995,7 +998,9 @@ lm32_elf_relocate_section (bfd *output_b
 
 	      /* Addend should be zero.  */
 	      if (rel->r_addend != 0)
-		_bfd_error_handler (_("internal error: addend should be zero for R_LM32_16_GOT"));
+		_bfd_error_handler
+		  (_("internal error: addend should be zero for %s"),
+		   "R_LM32_16_GOT");
 
 	      r = _bfd_final_link_relocate (howto,
 					    input_bfd,
@@ -1073,7 +1078,8 @@ lm32_elf_relocate_section (bfd *output_b
 	  const char *msg = NULL;
 	  arelent bfd_reloc;
 
-	  lm32_info_to_howto_rela (input_bfd, &bfd_reloc, rel);
+	  if (! lm32_info_to_howto_rela (input_bfd, &bfd_reloc, rel))
+	    continue;
 	  howto = bfd_reloc.howto;
 
 	  if (h != NULL)
@@ -1427,8 +1433,9 @@ lm32_elf_finish_dynamic_sections (bfd *o
 	      != (lm32fdpic_fixup32_section (info)->reloc_count * 4))
 	{
 	  _bfd_error_handler
-	    ("LINKER BUG: .rofixup section size mismatch: size/4 %Ld != relocs %d",
-	    lm32fdpic_fixup32_section (info)->size/4,
+	    ("LINKER BUG: .rofixup section size mismatch: size/4 %" PRId64
+	     " != relocs %d",
+	    (int64_t) (lm32fdpic_fixup32_section (info)->size / 4),
 	    lm32fdpic_fixup32_section (info)->reloc_count);
 	  return FALSE;
 	}
@@ -1449,7 +1456,9 @@ lm32_elf_finish_dynamic_sections (bfd *o
 	  if (hend->u.def.value != value)
 	    {
 	      _bfd_error_handler
-		("LINKER BUG: .rofixup section hend->u.def.value != value: %Ld != %Ld", hend->u.def.value, value);
+		("LINKER BUG: .rofixup section hend->u.def.value != value: %"
+		 PRId64 " != %" PRId64,
+		 (int64_t) hend->u.def.value, (int64_t) value);
 	      return FALSE;
 	    }
 	}
@@ -1986,7 +1995,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -2562,7 +2571,7 @@ lm32_elf_fdpic_copy_private_bfd_data (bf
 #define bfd_elf32_bfd_reloc_type_lookup		lm32_reloc_type_lookup
 #define bfd_elf32_bfd_reloc_name_lookup		lm32_reloc_name_lookup
 #define elf_info_to_howto			lm32_info_to_howto_rela
-#define elf_info_to_howto_rel			0
+#define elf_info_to_howto_rel			NULL
 #define elf_backend_rela_normal			1
 #define elf_backend_object_p			lm32_elf_object_p
 #define elf_backend_final_write_processing	lm32_elf_final_write_processing
@@ -2580,7 +2589,7 @@ lm32_elf_fdpic_copy_private_bfd_data (bf
 #define elf_backend_reloc_type_class		lm32_elf_reloc_type_class
 #define elf_backend_copy_indirect_symbol	lm32_elf_copy_indirect_symbol
 #define elf_backend_size_dynamic_sections	lm32_elf_size_dynamic_sections
-#define elf_backend_omit_section_dynsym		((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+#define elf_backend_omit_section_dynsym		_bfd_elf_omit_section_dynsym_all
 #define elf_backend_create_dynamic_sections	lm32_elf_create_dynamic_sections
 #define elf_backend_finish_dynamic_sections	lm32_elf_finish_dynamic_sections
 #define elf_backend_adjust_dynamic_symbol	lm32_elf_adjust_dynamic_symbol
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m32c.c ./bfd/elf32-m32c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m32c.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-m32c.c	2018-07-10 02:06:11.000000000 +0000
@@ -28,7 +28,7 @@
 /* Forward declarations.  */
 static reloc_howto_type * m32c_reloc_type_lookup
   (bfd *, bfd_reloc_code_real_type);
-static void m32c_info_to_howto_rela
+static bfd_boolean m32c_info_to_howto_rela
   (bfd *, arelent *, Elf_Internal_Rela *);
 static bfd_boolean m32c_elf_relocate_section
   (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, Elf_Internal_Sym *, asection **);
@@ -291,11 +291,10 @@ m32c_reloc_name_lookup (bfd *abfd ATTRIB
 
 /* Set the howto pointer for an M32C ELF reloc.  */
 
-static void
-m32c_info_to_howto_rela
-    (bfd *		 abfd ATTRIBUTE_UNUSED,
-     arelent *		 cache_ptr,
-     Elf_Internal_Rela * dst)
+static bfd_boolean
+m32c_info_to_howto_rela (bfd *               abfd,
+			 arelent *           cache_ptr,
+			 Elf_Internal_Rela * dst)
 {
   unsigned int r_type;
 
@@ -303,10 +302,13 @@ m32c_info_to_howto_rela
   if (r_type >= (unsigned int) R_M32C_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid M32C reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = & m32c_elf_howto_table [r_type];
+  return TRUE;
 }
 
 
@@ -871,7 +873,7 @@ m32c_elf_merge_private_bfd_data (bfd *ib
 	  error = TRUE;
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: compiled with %s and linked with modules compiled with %s"),
+	    (_("%pB: compiled with %s and linked with modules compiled with %s"),
 	     ibfd, new_opt, old_opt);
 	}
 
@@ -884,7 +886,7 @@ m32c_elf_merge_private_bfd_data (bfd *ib
 	  error = TRUE;
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: uses different e_flags (%#x) fields"
+	    (_("%pB: uses different e_flags (%#x) fields"
 	       " than previous modules (%#x)"),
 	     ibfd, new_flags, old_flags);
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m32r.c ./bfd/elf32-m32r.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m32r.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-m32r.c	2018-07-10 02:06:11.000000000 +0000
@@ -1272,7 +1272,7 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 
 /* Set the howto pointer for an M32R ELF reloc.  */
 
-static void
+static bfd_boolean
 m32r_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
 			arelent *cache_ptr,
 			Elf_Internal_Rela *dst)
@@ -1283,21 +1283,34 @@ m32r_info_to_howto_rel (bfd *abfd ATTRIB
   if (r_type > (unsigned int) R_M32R_GNU_VTENTRY)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid M32R reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &m32r_elf_howto_table[r_type];
+  return TRUE;
 }
 
-static void
+static bfd_boolean
 m32r_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 		    arelent *cache_ptr,
 		    Elf_Internal_Rela *dst)
 {
-  BFD_ASSERT ((ELF32_R_TYPE(dst->r_info) == (unsigned int) R_M32R_NONE)
-	      || ((ELF32_R_TYPE(dst->r_info) > (unsigned int) R_M32R_GNU_VTENTRY)
-		  && (ELF32_R_TYPE(dst->r_info) < (unsigned int) R_M32R_max)));
-  cache_ptr->howto = &m32r_elf_howto_table[ELF32_R_TYPE(dst->r_info)];
+  unsigned int r_type = ELF32_R_TYPE (dst->r_info);
+
+  if (r_type == (unsigned int) R_M32R_NONE
+      || ((r_type > (unsigned int) R_M32R_GNU_VTENTRY)
+	  && (r_type < (unsigned int) R_M32R_max)))
+    {
+      cache_ptr->howto = &m32r_elf_howto_table[r_type];
+      return TRUE;
+    }
+
+  /* xgettext:c-format */
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, r_type);
+  bfd_set_error (bfd_error_bad_value);
+  return FALSE;  
 }
 
 
@@ -2094,7 +2107,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -2401,7 +2414,7 @@ m32r_elf_relocate_section (bfd *output_b
       if (r_type < 0 || r_type >= (int) R_M32R_max)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: unknown relocation type %d"),
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			      input_bfd, (int) r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  ret = FALSE;
@@ -2523,11 +2536,11 @@ m32r_elf_relocate_section (bfd *output_b
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B(%A+%#Lx): unresolvable %s relocation "
+		    (_("%pB(%pA+%#" PRIx64 "): unresolvable %s relocation "
 		       "against symbol `%s'"),
 		     input_bfd,
 		     input_section,
-		     rel->r_offset,
+		     (uint64_t) rel->r_offset,
 		     howto->name,
 		     h->root.root.string);
 		}
@@ -2968,7 +2981,8 @@ m32r_elf_relocate_section (bfd *output_b
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: The target (%s) of an %s relocation is in the wrong section (%A)"),
+		      (_("%pB: the target (%s) of an %s relocation"
+			 " is in the wrong section (%pA)"),
 		       input_bfd,
 		       sym_name,
 		       m32r_elf_howto_table[(int) r_type].name,
@@ -3470,7 +3484,7 @@ m32r_elf_merge_private_bfd_data (bfd *ib
 	  || ((in_flags  & EF_M32R_ARCH) == E_M32R2_ARCH))
 	{
 	  _bfd_error_handler
-	    (_("%B: Instruction set mismatch with previous modules"), ibfd);
+	    (_("%pB: instruction set mismatch with previous modules"), ibfd);
 
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -3854,8 +3868,7 @@ m32r_elf_reloc_type_class (const struct 
 #define elf_backend_create_dynamic_sections	m32r_elf_create_dynamic_sections
 #define bfd_elf32_bfd_link_hash_table_create	m32r_elf_link_hash_table_create
 #define elf_backend_size_dynamic_sections	m32r_elf_size_dynamic_sections
-#define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+#define elf_backend_omit_section_dynsym		_bfd_elf_omit_section_dynsym_all
 #define elf_backend_finish_dynamic_sections	m32r_elf_finish_dynamic_sections
 #define elf_backend_adjust_dynamic_symbol	m32r_elf_adjust_dynamic_symbol
 #define elf_backend_finish_dynamic_symbol	m32r_elf_finish_dynamic_symbol
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m68hc11.c ./bfd/elf32-m68hc11.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m68hc11.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-m68hc11.c	2018-07-10 02:06:11.000000000 +0000
@@ -32,7 +32,7 @@
 /* Relocation functions.  */
 static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup
   (bfd *, bfd_reloc_code_real_type);
-static void m68hc11_info_to_howto_rel
+static bfd_boolean m68hc11_info_to_howto_rel
   (bfd *, arelent *, Elf_Internal_Rela *);
 
 /* Trampoline generation.  */
@@ -377,8 +377,8 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 
 /* Set the howto pointer for an M68HC11 ELF reloc.  */
 
-static void
-m68hc11_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+m68hc11_info_to_howto_rel (bfd *abfd,
 			   arelent *cache_ptr, Elf_Internal_Rela *dst)
 {
   unsigned int r_type;
@@ -387,10 +387,13 @@ m68hc11_info_to_howto_rel (bfd *abfd ATT
   if (r_type >= (unsigned int) R_M68HC11_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid M68HC11 reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &elf_m68hc11_howto_table[r_type];
+  return TRUE;
 }
 
 
@@ -1296,7 +1299,7 @@ static const struct bfd_elf_special_sect
 #define TARGET_BIG_SYM		m68hc11_elf32_vec
 #define TARGET_BIG_NAME		"elf32-m68hc11"
 
-#define elf_info_to_howto	0
+#define elf_info_to_howto	NULL
 #define elf_info_to_howto_rel	m68hc11_info_to_howto_rel
 #define bfd_elf32_bfd_relax_section  m68hc11_elf_relax_section
 #define elf_backend_check_relocs     elf32_m68hc11_check_relocs
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m68hc12.c ./bfd/elf32-m68hc12.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m68hc12.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-m68hc12.c	2018-07-10 02:06:11.000000000 +0000
@@ -32,7 +32,7 @@
 /* Relocation functions.  */
 static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup
   (bfd *, bfd_reloc_code_real_type);
-static void m68hc11_info_to_howto_rel
+static bfd_boolean m68hc11_info_to_howto_rel
   (bfd *, arelent *, Elf_Internal_Rela *);
 
 /* Trampoline generation.  */
@@ -497,8 +497,8 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 
 /* Set the howto pointer for an M68HC11 ELF reloc.  */
 
-static void
-m68hc11_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+m68hc11_info_to_howto_rel (bfd *abfd,
 			   arelent *cache_ptr, Elf_Internal_Rela *dst)
 {
   unsigned int r_type;
@@ -507,10 +507,13 @@ m68hc11_info_to_howto_rel (bfd *abfd ATT
   if (r_type >= (unsigned int) R_M68HC11_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid M68HC12 reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &elf_m68hc11_howto_table[r_type];
+  return TRUE;
 }
 
 
@@ -646,7 +649,7 @@ static const struct bfd_elf_special_sect
 #define TARGET_BIG_SYM		m68hc12_elf32_vec
 #define TARGET_BIG_NAME		"elf32-m68hc12"
 
-#define elf_info_to_howto	0
+#define elf_info_to_howto	NULL
 #define elf_info_to_howto_rel	m68hc11_info_to_howto_rel
 #define elf_backend_check_relocs     elf32_m68hc11_check_relocs
 #define elf_backend_relocate_section elf32_m68hc11_relocate_section
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m68hc1x.c ./bfd/elf32-m68hc1x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m68hc1x.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-m68hc1x.c	2018-07-10 02:06:11.000000000 +0000
@@ -162,7 +162,7 @@ m68hc12_add_stub (const char *stub_name,
   if (stub_entry == NULL)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: cannot create stub entry %s"),
+      _bfd_error_handler (_("%pB: cannot create stub entry %s"),
 			  section->owner, stub_name);
       return NULL;
     }
@@ -963,7 +963,8 @@ elf32_m68hc11_relocate_section (bfd *out
 	  || r_type == R_M68HC11_GNU_VTINHERIT)
 	continue;
 
-      (*ebd->elf_info_to_howto_rel) (input_bfd, &arel, rel);
+      if (! (*ebd->elf_info_to_howto_rel) (input_bfd, &arel, rel))
+	continue;
       howto = arel.howto;
 
       h = NULL;
@@ -1112,7 +1113,7 @@ elf32_m68hc11_relocate_section (bfd *out
 	  /* Get virtual address of instruction having the relocation.  */
 	  if (is_far)
 	    {
-	      msg = _("Reference to the far symbol `%s' using a wrong "
+	      msg = _("reference to the far symbol `%s' using a wrong "
 		      "relocation may result in incorrect execution");
 	      buf = xmalloc (strlen (msg) + strlen (name) + 10);
 	      sprintf (buf, msg, name);
@@ -1348,14 +1349,14 @@ _bfd_m68hc11_elf_merge_private_bfd_data 
   if ((new_flags & E_M68HC11_I32) != (old_flags & E_M68HC11_I32))
     {
       _bfd_error_handler
-	(_("%B: linking files compiled for 16-bit integers (-mshort) "
+	(_("%pB: linking files compiled for 16-bit integers (-mshort) "
 	   "and others for 32-bit integers"), ibfd);
       ok = FALSE;
     }
   if ((new_flags & E_M68HC11_F64) != (old_flags & E_M68HC11_F64))
     {
       _bfd_error_handler
-	(_("%B: linking files compiled for 32-bit double (-fshort-double) "
+	(_("%pB: linking files compiled for 32-bit double (-fshort-double) "
 	   "and others for 64-bit double"), ibfd);
       ok = FALSE;
     }
@@ -1364,7 +1365,7 @@ _bfd_m68hc11_elf_merge_private_bfd_data 
   if (!EF_M68HC11_CAN_MERGE_MACH (new_flags, old_flags))
     {
       _bfd_error_handler
-	(_("%B: linking files compiled for HCS12 with "
+	(_("%pB: linking files compiled for HCS12 with "
 	   "others compiled for HC12"), ibfd);
       ok = FALSE;
     }
@@ -1381,7 +1382,7 @@ _bfd_m68hc11_elf_merge_private_bfd_data 
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: uses different e_flags (%#x) fields than previous modules (%#x)"),
+	(_("%pB: uses different e_flags (%#x) fields than previous modules (%#x)"),
 	 ibfd, new_flags, old_flags);
       ok = FALSE;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m68k.c ./bfd/elf32-m68k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m68k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-m68k.c	2018-07-10 02:06:11.000000000 +0000
@@ -341,7 +341,7 @@ static reloc_howto_type howto_table[] =
 	 FALSE),		/* pcrel_offset */
 };
 
-static void
+static bfd_boolean
 rtype_to_howto (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst)
 {
   unsigned int indx = ELF32_R_TYPE (dst->r_info);
@@ -349,11 +349,13 @@ rtype_to_howto (bfd *abfd, arelent *cach
   if (indx >= (unsigned int) R_68K_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid relocation type %d"),
-			  abfd, (int) indx);
-      indx = R_68K_NONE;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, indx);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &howto_table[indx];
+  return TRUE;
 }
 
 #define elf_info_to_howto rtype_to_howto
@@ -1655,15 +1657,15 @@ elf_m68k_add_entry_to_got (struct elf_m6
     {
       if (got->n_slots[R_8] > ELF_M68K_R_8_MAX_N_SLOTS_IN_GOT (info))
 	/* xgettext:c-format */
-	_bfd_error_handler (_("%B: GOT overflow: "
-			      "Number of relocations with 8-bit "
+	_bfd_error_handler (_("%pB: GOT overflow: "
+			      "number of relocations with 8-bit "
 			      "offset > %d"),
 			    abfd,
 			    ELF_M68K_R_8_MAX_N_SLOTS_IN_GOT (info));
       else
 	/* xgettext:c-format */
-	_bfd_error_handler (_("%B: GOT overflow: "
-			      "Number of relocations with 8- or 16-bit "
+	_bfd_error_handler (_("%pB: GOT overflow: "
+			      "number of relocations with 8- or 16-bit "
 			      "offset > %d"),
 			    abfd,
 			    ELF_M68K_R_8_16_MAX_N_SLOTS_IN_GOT (info));
@@ -3698,8 +3700,10 @@ elf_m68k_relocate_section (bfd *output_b
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B(%A+%#Lx): %s relocation not permitted in shared object"),
-		 input_bfd, input_section, rel->r_offset, howto->name);
+		(_("%pB(%pA+%#" PRIx64 "): "
+		   "%s relocation not permitted in shared object"),
+		 input_bfd, input_section, (uint64_t) rel->r_offset,
+		 howto->name);
 
 	      return FALSE;
 	    }
@@ -3892,10 +3896,11 @@ elf_m68k_relocate_section (bfd *output_b
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	    (_("%pB(%pA+%#" PRIx64 "): "
+	       "unresolvable %s relocation against symbol `%s'"),
 	     input_bfd,
 	     input_section,
-	     rel->r_offset,
+	     (uint64_t) rel->r_offset,
 	     howto->name,
 	     h->root.root.string);
 	  return FALSE;
@@ -3928,12 +3933,12 @@ elf_m68k_relocate_section (bfd *output_b
 	      _bfd_error_handler
 		((sym_type == STT_TLS
 		  /* xgettext:c-format */
-		  ? _("%B(%A+%#Lx): %s used with TLS symbol %s")
+		  ? _("%pB(%pA+%#" PRIx64 "): %s used with TLS symbol %s")
 		  /* xgettext:c-format */
-		  : _("%B(%A+%#Lx): %s used with non-TLS symbol %s")),
+		  : _("%pB(%pA+%#" PRIx64 "): %s used with non-TLS symbol %s")),
 		 input_bfd,
 		 input_section,
-		 rel->r_offset,
+		 (uint64_t) rel->r_offset,
 		 howto->name,
 		 name);
 	    }
@@ -3968,9 +3973,9 @@ elf_m68k_relocate_section (bfd *output_b
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B(%A+%#Lx): reloc against `%s': error %d"),
+		(_("%pB(%pA+%#" PRIx64 "): reloc against `%s': error %d"),
 		 input_bfd, input_section,
-		 rel->r_offset, name, (int) r);
+		 (uint64_t) rel->r_offset, name, (int) r);
 	      return FALSE;
 	    }
 	}
@@ -4382,7 +4387,7 @@ bfd_m68k_elf32_create_embedded_relocs (b
       /* We can only relocate absolute longword relocs at run time.  */
       if (ELF32_R_TYPE (irel->r_info) != (int) R_68K_32)
 	{
-	  *errmsg = _("unsupported reloc type");
+	  *errmsg = _("unsupported relocation type");
 	  bfd_set_error (bfd_error_bad_value);
 	  goto error_return;
 	}
@@ -4584,26 +4589,6 @@ elf_m68k_grok_psinfo (bfd *abfd, Elf_Int
   return TRUE;
 }
 
-/* Hook called by the linker routine which adds symbols from an object
-   file.  */
-
-static bfd_boolean
-elf_m68k_add_symbol_hook (bfd *abfd,
-			  struct bfd_link_info *info,
-			  Elf_Internal_Sym *sym,
-			  const char **namep ATTRIBUTE_UNUSED,
-			  flagword *flagsp ATTRIBUTE_UNUSED,
-			  asection **secp ATTRIBUTE_UNUSED,
-			  bfd_vma *valp ATTRIBUTE_UNUSED)
-{
-  if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-      && (abfd->flags & DYNAMIC) == 0
-      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
-    elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc;
-
-  return TRUE;
-}
-
 #define TARGET_BIG_SYM			m68k_elf32_vec
 #define TARGET_BIG_NAME			"elf32-m68k"
 #define ELF_MACHINE_CODE		EM_68K
@@ -4641,7 +4626,6 @@ elf_m68k_add_symbol_hook (bfd *abfd,
 #define elf_backend_object_p		elf32_m68k_object_p
 #define elf_backend_grok_prstatus	elf_m68k_grok_prstatus
 #define elf_backend_grok_psinfo		elf_m68k_grok_psinfo
-#define elf_backend_add_symbol_hook	elf_m68k_add_symbol_hook
 
 #define elf_backend_can_gc_sections 1
 #define elf_backend_can_refcount 1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m88k.c ./bfd/elf32-m88k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-m88k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-m88k.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,38 +0,0 @@
-/* Motorola 88k-specific support for 32-bit ELF
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "elf-bfd.h"
-
-/* This does not include any relocations, but should be good enough
-   for GDB.  */
-
-#define TARGET_BIG_SYM		m88k_elf32_vec
-#define TARGET_BIG_NAME		"elf32-m88k"
-#define ELF_ARCH		bfd_arch_m88k
-#define ELF_MACHINE_CODE	EM_88K
-#define ELF_MAXPAGESIZE		1 /* FIXME: This number is wrong,  It should be the page size in bytes.  */
-#define bfd_elf32_bfd_reloc_type_lookup bfd_default_reloc_type_lookup
-#define bfd_elf32_bfd_reloc_name_lookup _bfd_norelocs_bfd_reloc_name_lookup
-#define elf_info_to_howto		_bfd_elf_no_info_to_howto
-
-#include "elf32-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-mcore.c ./bfd/elf32-mcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-mcore.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-mcore.c	2018-07-10 02:06:11.000000000 +0000
@@ -97,10 +97,9 @@ mcore_elf_unsupported_reloc (bfd * abfd,
   BFD_ASSERT (reloc_entry->howto != (reloc_howto_type *)0);
 
   /* xgettext:c-format */
-  _bfd_error_handler (_("%B: Relocation %s (%d) is not currently supported.\n"),
+  _bfd_error_handler (_("%pB: %s unsupported"),
 		      abfd,
-		      reloc_entry->howto->name,
-		      reloc_entry->howto->type);
+		      reloc_entry->howto->name);
 
   return bfd_reloc_notsupported;
 }
@@ -337,8 +336,8 @@ mcore_elf_reloc_name_lookup (bfd *abfd A
 
 /* Set the howto pointer for a RCE ELF reloc.  */
 
-static void
-mcore_elf_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+mcore_elf_info_to_howto (bfd * abfd,
 			 arelent * cache_ptr,
 			 Elf_Internal_Rela * dst)
 {
@@ -352,13 +351,14 @@ mcore_elf_info_to_howto (bfd * abfd ATTR
   if (r_type >= R_MCORE_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised MCore reloc number: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
-      r_type = R_MCORE_NONE;
+      return FALSE;
     }
 
   cache_ptr->howto = mcore_elf_howto_table [r_type];
+  return TRUE;
 }
 
 /* The RELOCATE_SECTION function is called by the ELF backend linker
@@ -408,7 +408,7 @@ mcore_elf_relocate_section (bfd * output
 
 #ifdef DEBUG
   _bfd_error_handler
-    ("mcore_elf_relocate_section called for %B section %A, %u relocations%s",
+    ("mcore_elf_relocate_section called for %pB section %pA, %u relocations%s",
      input_bfd,
      input_section,
      input_section->reloc_count,
@@ -437,7 +437,7 @@ mcore_elf_relocate_section (bfd * output
 	  || ! mcore_elf_howto_table [(int)r_type])
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: Unknown relocation type %d\n"),
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			      input_bfd, (int) r_type);
 
 	  bfd_set_error (bfd_error_bad_value);
@@ -452,10 +452,9 @@ mcore_elf_relocate_section (bfd * output
       if (howto->special_function == mcore_elf_unsupported_reloc)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: Relocation %s (%d) is not currently supported.\n"),
+	  _bfd_error_handler (_("%pB: %s unsupported"),
 			      input_bfd,
-			      howto->name,
-			      (int)r_type);
+			      howto->name);
 
 	  bfd_set_error (bfd_error_bad_value);
 	  ret = FALSE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-mep.c ./bfd/elf32-mep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-mep.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-mep.c	2018-07-10 02:06:11.000000000 +0000
@@ -375,11 +375,10 @@ mep_final_link_relocate
 
 /* Set the howto pointer for a MEP ELF reloc.  */
 
-static void
-mep_info_to_howto_rela
-    (bfd *		 abfd ATTRIBUTE_UNUSED,
-     arelent *		 cache_ptr,
-     Elf_Internal_Rela * dst)
+static bfd_boolean
+mep_info_to_howto_rela (bfd *		    abfd,
+			arelent *	    cache_ptr,
+			Elf_Internal_Rela * dst)
 {
   unsigned int r_type;
 
@@ -387,10 +386,13 @@ mep_info_to_howto_rela
   if (r_type >= R_MEP_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid MEP reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = & mep_elf_howto_table [r_type];
+  return TRUE;
 }
 
 /* Relocate a MEP ELF section.
@@ -585,7 +587,7 @@ mep_elf_merge_private_bfd_data (bfd *ibf
   old_flags = elf_elfheader (obfd)->e_flags;
 
 #ifdef DEBUG
-  _bfd_error_handler ("%B: old_flags = 0x%.8x, new_flags = 0x%.8x, init = %s",
+  _bfd_error_handler ("%pB: old_flags = 0x%.8x, new_flags = 0x%.8x, init = %s",
 		      ibfd, old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no");
 #endif
 
@@ -617,7 +619,7 @@ mep_elf_merge_private_bfd_data (bfd *ibf
       else
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B and %B are for different cores"),
+	  _bfd_error_handler (_("%pB and %pB are for different cores"),
 			      last_ibfd, ibfd);
 	  bfd_set_error (bfd_error_invalid_target);
 	  return FALSE;
@@ -636,7 +638,7 @@ mep_elf_merge_private_bfd_data (bfd *ibf
       else
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B and %B are for different configurations"),
+	  _bfd_error_handler (_("%pB and %pB are for different configurations"),
 			      last_ibfd, ibfd);
 	  bfd_set_error (bfd_error_invalid_target);
 	  return FALSE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-metag.c ./bfd/elf32-metag.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-metag.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-metag.c	2018-07-10 02:06:11.000000000 +0000
@@ -864,8 +864,8 @@ tpoff (struct bfd_link_info *info, bfd_v
 			 elf_hash_table (info)->tls_sec->alignment_power));
 }
 
-static void
-metag_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+metag_info_to_howto_rela (bfd *abfd,
 			  arelent *cache_ptr,
 			  Elf_Internal_Rela *dst)
 {
@@ -875,10 +875,13 @@ metag_info_to_howto_rela (bfd *abfd ATTR
   if (r_type >= (unsigned int) R_METAG_MAX)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid METAG reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = & elf_metag_howto_table [r_type];
+  return TRUE;
 }
 
 static reloc_howto_type *
@@ -1180,7 +1183,7 @@ metag_add_stub (const char *stub_name,
   if (hsh == NULL)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: cannot create stub entry %s"),
+      _bfd_error_handler (_("%pB: cannot create stub entry %s"),
 			  section->owner, stub_name);
       return NULL;
     }
@@ -1857,10 +1860,10 @@ elf_metag_relocate_section (bfd *output_
 			/* We don't support changing the TLS model.  */
 			/* PR 20675 */
 			if (bfd_link_pic (info))
-			  _bfd_error_handler (_("%B(%A): multiple TLS models are not supported"),
+			  _bfd_error_handler (_("%pB(%pA): multiple TLS models are not supported"),
 					      input_bfd, input_section);
 			else
-			  _bfd_error_handler (_("%B(%A): shared library symbol %s encountered whilst performing a static link"),
+			  _bfd_error_handler (_("%pB(%pA): shared library symbol %s encountered whilst performing a static link"),
 					      input_bfd, input_section, name);
 			return FALSE;
 		      }
@@ -1913,8 +1916,10 @@ elf_metag_relocate_section (bfd *output_
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B(%A+%#Lx): %s relocation not permitted in shared object"),
-		 input_bfd, input_section, rel->r_offset, howto->name);
+		(_("%pB(%pA+%#" PRIx64 "): "
+		   "%s relocation not permitted in shared object"),
+		 input_bfd, input_section, (uint64_t) rel->r_offset,
+		 howto->name);
 	      return FALSE;
 	    }
 	  else
@@ -2249,7 +2254,7 @@ elf_metag_check_relocs (bfd *abfd,
 		name = bfd_elf_sym_name (abfd, symtab_hdr, isym, NULL);
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"),
+		(_("%pB: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"),
 		 abfd, elf_metag_howto_table[r_type].name, name);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
@@ -2789,7 +2794,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -4141,7 +4146,7 @@ elf_metag_plt_sym_val (bfd_vma i, const 
 #define elf_backend_finish_dynamic_sections	elf_metag_finish_dynamic_sections
 #define elf_backend_size_dynamic_sections	elf_metag_size_dynamic_sections
 #define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+	_bfd_elf_omit_section_dynsym_all
 #define elf_backend_post_process_headers	elf_metag_post_process_headers
 #define elf_backend_reloc_type_class		elf_metag_reloc_type_class
 #define elf_backend_copy_indirect_symbol	elf_metag_copy_indirect_symbol
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-microblaze.c ./bfd/elf32-microblaze.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-microblaze.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-microblaze.c	2018-07-10 02:06:11.000000000 +0000
@@ -251,6 +251,21 @@ static reloc_howto_type microblaze_elf_h
 	  0x0000ffff,		/* Dest Mask.  */
 	  TRUE),		/* PC relative offset?  */
 
+     /* A 64 bit TEXTPCREL relocation.  Table-entry not really used.  */
+   HOWTO (R_MICROBLAZE_TEXTPCREL_64,   	/* Type.  */
+	  0,			/* Rightshift.  */
+	  2,			/* Size (0 = byte, 1 = short, 2 = long).  */
+	  16,			/* Bitsize.  */
+	  TRUE,			/* PC_relative.  */
+	  0,			/* Bitpos.  */
+	  complain_overflow_dont, /* Complain on overflow.  */
+	  bfd_elf_generic_reloc,	/* Special Function.  */
+	  "R_MICROBLAZE_TEXTPCREL_64", 	/* Name.  */
+	  FALSE,		/* Partial Inplace.  */
+	  0,			/* Source Mask.  */
+	  0x0000ffff,		/* Dest Mask.  */
+	  TRUE), 		/* PC relative offset?  */
+
    /* A 64 bit GOT relocation.  Table-entry not really used.  */
    HOWTO (R_MICROBLAZE_GOT_64,  /* Type.  */
 	  0,			/* Rightshift.  */
@@ -266,6 +281,21 @@ static reloc_howto_type microblaze_elf_h
 	  0x0000ffff,		/* Dest Mask.  */
 	  FALSE),		/* PC relative offset?  */
 
+    /* A 64 bit TEXTREL relocation.  Table-entry not really used.  */
+   HOWTO (R_MICROBLAZE_TEXTREL_64,  /* Type.  */
+	  0,			/* Rightshift.  */
+	  2,			/* Size (0 = byte, 1 = short, 2 = long).  */
+	  16,			/* Bitsize.  */
+	  FALSE,		/* PC_relative.  */
+	  0,			/* Bitpos.  */
+	  complain_overflow_dont, /* Complain on overflow.  */
+	  bfd_elf_generic_reloc,/* Special Function.  */
+	  "R_MICROBLAZE_TEXTREL_64",/* Name.  */
+	  FALSE,		/* Partial Inplace.  */
+	  0,			/* Source Mask.  */
+	  0x0000ffff,		/* Dest Mask.  */
+	  FALSE), 		/* PC relative offset?  */
+
    /* A 64 bit PLT relocation.  Table-entry not really used.  */
    HOWTO (R_MICROBLAZE_PLT_64,  /* Type.  */
 	  0,			/* Rightshift.  */
@@ -578,6 +608,12 @@ microblaze_elf_reloc_type_lookup (bfd * 
     case BFD_RELOC_MICROBLAZE_64_GOT:
       microblaze_reloc = R_MICROBLAZE_GOT_64;
       break;
+    case BFD_RELOC_MICROBLAZE_64_TEXTPCREL:
+      microblaze_reloc = R_MICROBLAZE_TEXTPCREL_64;
+      break;
+    case BFD_RELOC_MICROBLAZE_64_TEXTREL:
+      microblaze_reloc = R_MICROBLAZE_TEXTREL_64;
+      break;
     case BFD_RELOC_MICROBLAZE_64_PLT:
       microblaze_reloc = R_MICROBLAZE_PLT_64;
       break;
@@ -638,8 +674,8 @@ microblaze_elf_reloc_name_lookup (bfd *a
 
 /* Set the howto pointer for a RCE ELF reloc.  */
 
-static void
-microblaze_elf_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+microblaze_elf_info_to_howto (bfd * abfd,
 			      arelent * cache_ptr,
 			      Elf_Internal_Rela * dst)
 {
@@ -653,13 +689,14 @@ microblaze_elf_info_to_howto (bfd * abfd
   if (r_type >= R_MICROBLAZE_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised MicroBlaze reloc number: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
-      r_type = R_MICROBLAZE_NONE;
+      return FALSE;
     }
 
   cache_ptr->howto = microblaze_elf_howto_table [r_type];
+  return TRUE;
 }
 
 /* Microblaze ELF local labels start with 'L.' or '$L', not '.L'.  */
@@ -929,7 +966,7 @@ microblaze_elf_relocate_section (bfd *ou
       if (r_type < 0 || r_type >= (int) R_MICROBLAZE_max)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: unknown relocation type %d"),
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			      input_bfd, (int) r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  ret = FALSE;
@@ -1061,8 +1098,8 @@ microblaze_elf_relocate_section (bfd *ou
 		      {
 			_bfd_error_handler
 			  /* xgettext:c-format */
-			  (_("%B: The target (%s) of an %s relocation"
-			     " is in the wrong section (%A)"),
+			  (_("%pB: the target (%s) of an %s relocation"
+			     " is in the wrong section (%pA)"),
 			   input_bfd,
 			   sym_name,
 			   microblaze_elf_howto_table[(int) r_type]->name,
@@ -1109,8 +1146,8 @@ microblaze_elf_relocate_section (bfd *ou
 		      {
 			_bfd_error_handler
 			  /* xgettext:c-format */
-			  (_("%B: The target (%s) of an %s relocation"
-			     " is in the wrong section (%A)"),
+			  (_("%pB: the target (%s) of an %s relocation"
+			     " is in the wrong section (%pA)"),
 			   input_bfd,
 			   sym_name,
 			   microblaze_elf_howto_table[(int) r_type]->name,
@@ -1139,6 +1176,18 @@ microblaze_elf_relocate_section (bfd *ou
 			  contents + offset + endian + INST_WORD_SIZE);
 	      break;
 
+	    case (int) R_MICROBLAZE_TEXTPCREL_64:
+	      relocation = input_section->output_section->vma;
+	      relocation -= (input_section->output_section->vma
+			     + input_section->output_offset
+			     + offset + INST_WORD_SIZE);
+	      relocation += addend;
+	      bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
+			  contents + offset + endian);
+	      bfd_put_16 (input_bfd, relocation & 0xffff,
+			  contents + offset + endian + INST_WORD_SIZE);
+	      break;
+
 	    case (int) R_MICROBLAZE_PLT_64:
 	      {
 		bfd_vma immediate;
@@ -1389,6 +1438,8 @@ microblaze_elf_relocate_section (bfd *ou
 	      bfd_put_16 (input_bfd, relocation & 0xffff,
 			  contents + offset + 2 + INST_WORD_SIZE);
 	      break;
+	    case (int) R_MICROBLAZE_TEXTREL_64:
+	    case (int) R_MICROBLAZE_TEXTREL_32_LO:
 	    case (int) R_MICROBLAZE_64_PCREL :
 	    case (int) R_MICROBLAZE_64:
 	    case (int) R_MICROBLAZE_32:
@@ -1407,11 +1458,22 @@ microblaze_elf_relocate_section (bfd *ou
 			  relocation -= (input_section->output_section->vma
 					 + input_section->output_offset
 					 + offset + INST_WORD_SIZE);
-			bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
+			else if (r_type == R_MICROBLAZE_TEXTREL_64
+				 || r_type == R_MICROBLAZE_TEXTREL_32_LO)
+			  relocation -= input_section->output_section->vma;
+
+			if (r_type == R_MICROBLAZE_TEXTREL_32_LO)
+			  bfd_put_16 (input_bfd, relocation & 0xffff,
+				      contents + offset + endian);
+
+			else
+			  {
+			    bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
 				    contents + offset + endian);
-			bfd_put_16 (input_bfd, relocation & 0xffff,
+			    bfd_put_16 (input_bfd, relocation & 0xffff,
 				    contents + offset + endian + INST_WORD_SIZE);
 		      }
+		    }
 		    break;
 		  }
 
@@ -1479,7 +1541,7 @@ microblaze_elf_relocate_section (bfd *ou
 			  {
 			    BFD_FAIL ();
 			    _bfd_error_handler
-			      (_("%B: probably compiled without -fPIC?"),
+			      (_("%pB: probably compiled without -fPIC?"),
 			       input_bfd);
 			    bfd_set_error (bfd_error_bad_value);
 			    return FALSE;
@@ -1502,11 +1564,24 @@ microblaze_elf_relocate_section (bfd *ou
 			  relocation -= (input_section->output_section->vma
 					 + input_section->output_offset
 					 + offset + INST_WORD_SIZE);
-			bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-				    contents + offset + endian);
-			bfd_put_16 (input_bfd, relocation & 0xffff,
-				    contents + offset + endian + INST_WORD_SIZE);
-		      }
+			else if (r_type == R_MICROBLAZE_TEXTREL_64
+				 || r_type == R_MICROBLAZE_TEXTREL_32_LO)
+			  relocation -= input_section->output_section->vma;
+
+			if (r_type == R_MICROBLAZE_TEXTREL_32_LO)
+			  {
+			     bfd_put_16 (input_bfd, relocation & 0xffff,
+					 contents + offset + endian);
+			  }
+			else
+			  {
+			    bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
+				        contents + offset + endian);
+			    bfd_put_16 (input_bfd, relocation & 0xffff,
+					contents + offset + endian
+					+ INST_WORD_SIZE);
+			  }
+		    }
 		    break;
 		  }
 	      }
@@ -1699,7 +1774,8 @@ microblaze_elf_relax_section (bfd *abfd,
     {
       bfd_vma symval;
       if ((ELF32_R_TYPE (irel->r_info) != (int) R_MICROBLAZE_64_PCREL)
-	  && (ELF32_R_TYPE (irel->r_info) != (int) R_MICROBLAZE_64 ))
+	  && (ELF32_R_TYPE (irel->r_info) != (int) R_MICROBLAZE_64)
+	  && (ELF32_R_TYPE (irel->r_info) != (int) R_MICROBLAZE_TEXTREL_64))
 	continue; /* Can't delete this reloc.  */
 
       /* Get the section contents.  */
@@ -1769,6 +1845,10 @@ microblaze_elf_relax_section (bfd *abfd,
 	       + sec->output_section->vma
 	       + sec->output_offset);
 	}
+      else if (ELF32_R_TYPE (irel->r_info) == (int) R_MICROBLAZE_TEXTREL_64)
+	{
+	  symval = symval + irel->r_addend - (sec->output_section->vma);
+	}
       else
 	symval += irel->r_addend;
 
@@ -1791,6 +1871,10 @@ microblaze_elf_relax_section (bfd *abfd,
 	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
 					   (int) R_MICROBLAZE_32_LO);
 	      break;
+	    case R_MICROBLAZE_TEXTREL_64:
+	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
+					   (int) R_MICROBLAZE_TEXTREL_32_LO);
+	      break;
 	    default:
 	      /* Cannot happen.  */
 	      BFD_ASSERT (FALSE);
@@ -1817,6 +1901,8 @@ microblaze_elf_relax_section (bfd *abfd,
 	      break;
 	    case R_MICROBLAZE_64_PCREL:
 	      break;
+	    case R_MICROBLAZE_TEXTREL_64:
+	    case R_MICROBLAZE_TEXTREL_32_LO:
 	    case R_MICROBLAZE_64:
 	    case R_MICROBLAZE_32_LO:
 	      /* If this reloc is against a symbol defined in this
@@ -1953,7 +2039,10 @@ microblaze_elf_relax_section (bfd *abfd,
 		    }
 		}
 	      else if ((ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_PCREL_LO)
-		       || (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_LO))
+		       || (ELF32_R_TYPE (irelscan->r_info)
+				   == (int) R_MICROBLAZE_32_LO)
+		       || (ELF32_R_TYPE (irelscan->r_info)
+				   == (int) R_MICROBLAZE_TEXTREL_32_LO))
 		{
 		  isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
 
@@ -1997,7 +2086,9 @@ microblaze_elf_relax_section (bfd *abfd,
 		    }
 		}
 
-	      if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64)
+	      if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64
+		  || (ELF32_R_TYPE (irelscan->r_info)
+			      == (int) R_MICROBLAZE_TEXTREL_64))
 		{
 		  isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-mips.c ./bfd/elf32-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-mips.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-mips.c	2018-07-10 02:06:11.000000000 +0000
@@ -57,11 +57,9 @@ static bfd_reloc_status_type mips32_64bi
   (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
 static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup
   (bfd *, bfd_reloc_code_real_type);
-static reloc_howto_type *mips_elf32_rtype_to_howto
-  (unsigned int, bfd_boolean);
-static void mips_info_to_howto_rel
+static bfd_boolean mips_info_to_howto_rel
   (bfd *, arelent *, Elf_Internal_Rela *);
-static void mips_info_to_howto_rela
+static bfd_boolean mips_info_to_howto_rela
   (bfd *, arelent *, Elf_Internal_Rela *);
 static bfd_boolean mips_elf_sym_is_global
   (bfd *, asymbol *);
@@ -2196,9 +2194,12 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 /* Given a MIPS Elf_Internal_Rel, fill in an arelent structure.  */
 
 static reloc_howto_type *
-mips_elf32_rtype_to_howto (unsigned int r_type,
+mips_elf32_rtype_to_howto (bfd *abfd,
+			   unsigned int r_type,
 			   bfd_boolean rela_p ATTRIBUTE_UNUSED)
 {
+  reloc_howto_type *howto = NULL;
+
   switch (r_type)
     {
     case R_MIPS_GNU_VTINHERIT:
@@ -2217,30 +2218,33 @@ mips_elf32_rtype_to_howto (unsigned int 
       return &elf_mips_eh_howto;
     default:
       if (r_type >= R_MICROMIPS_min && r_type < R_MICROMIPS_max)
-	return &elf_micromips_howto_table_rel[r_type - R_MICROMIPS_min];
+	howto = &elf_micromips_howto_table_rel[r_type - R_MICROMIPS_min];
       if (r_type >= R_MIPS16_min && r_type < R_MIPS16_max)
-	return &elf_mips16_howto_table_rel[r_type - R_MIPS16_min];
-      if (r_type >= (unsigned int) R_MIPS_max)
-	{
-	  _bfd_error_handler (_("Unrecognised MIPS reloc number: %d"), r_type);
-	  bfd_set_error (bfd_error_bad_value);
-	  r_type = R_MIPS_NONE;
-	}
-      return &elf_mips_howto_table_rel[r_type];
+	howto = &elf_mips16_howto_table_rel[r_type - R_MIPS16_min];
+      if (r_type < R_MIPS_max)
+	howto = &elf_mips_howto_table_rel[r_type];
+      if (howto != NULL && howto->name != NULL)
+	return howto;
+
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return NULL;
     }
 }
 
 /* Given a MIPS Elf_Internal_Rel, fill in an arelent structure.  */
 
-static void
+static bfd_boolean
 mips_info_to_howto_rel (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst)
 {
-  const struct elf_backend_data *bed;
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  bed = get_elf_backend_data (abfd);
-  cache_ptr->howto = bed->elf_backend_mips_rtype_to_howto (r_type, FALSE);
+  cache_ptr->howto = mips_elf32_rtype_to_howto (abfd, r_type, FALSE);
+
+  if (cache_ptr->howto == NULL)
+    return FALSE;
 
   /* The addend for a GPREL16 or LITERAL relocation comes from the GP
      value for the object file.  We get the addend now, rather than
@@ -2249,14 +2253,16 @@ mips_info_to_howto_rel (bfd *abfd, arele
   if (((*cache_ptr->sym_ptr_ptr)->flags & BSF_SECTION_SYM) != 0
       && (gprel16_reloc_p (r_type) || literal_reloc_p (r_type)))
     cache_ptr->addend = elf_gp (abfd);
+
+  return TRUE;
 }
 
 /* Given a MIPS Elf_Internal_Rela, fill in an arelent structure.  */
 
-static void
+static bfd_boolean
 mips_info_to_howto_rela (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst)
 {
-  mips_info_to_howto_rel (abfd, cache_ptr, dst);
+  return mips_info_to_howto_rel (abfd, cache_ptr, dst);
 
   /* If we ever need to do any extra processing with dst->r_addend
      (the field omitted in an Elf_Internal_Rel) we can do it here.  */
@@ -2414,6 +2420,17 @@ elf32_mips_write_core_note (bfd *abfd, c
       }
     }
 }
+
+/* Remove the magic _gp_disp symbol from the symbol tables.  */
+
+static bfd_boolean
+elf32_mips_fixup_symbol (struct bfd_link_info *info,
+			 struct elf_link_hash_entry *h)
+{
+  if (strcmp (h->root.root.string, "_gp_disp") == 0)
+    _bfd_elf_link_hash_hide_symbol (info, h, TRUE);
+  return TRUE;
+}
 
 /* Depending on the target vector we generate some version of Irix
    executables or "normal" MIPS ELF ABI executables.  */
@@ -2517,6 +2534,7 @@ static const struct ecoff_debug_swap mip
 #define elf_backend_gc_mark_hook	_bfd_mips_elf_gc_mark_hook
 #define elf_backend_copy_indirect_symbol \
 					_bfd_mips_elf_copy_indirect_symbol
+#define elf_backend_fixup_symbol	elf32_mips_fixup_symbol
 #define elf_backend_grok_prstatus	elf32_mips_grok_prstatus
 #define elf_backend_grok_psinfo		elf32_mips_grok_psinfo
 #define elf_backend_ecoff_debug_swap	&mips_elf32_ecoff_debug_swap
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-moxie.c ./bfd/elf32-moxie.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-moxie.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-moxie.c	2018-07-10 02:06:11.000000000 +0000
@@ -123,8 +123,8 @@ moxie_reloc_name_lookup (bfd *abfd ATTRI
 
 /* Set the howto pointer for an MOXIE ELF reloc.  */
 
-static void
-moxie_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+moxie_info_to_howto_rela (bfd *abfd,
 			  arelent *cache_ptr,
 			  Elf_Internal_Rela *dst)
 {
@@ -134,10 +134,13 @@ moxie_info_to_howto_rela (bfd *abfd ATTR
   if (r_type >= (unsigned int) R_MOXIE_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid Moxie reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = & moxie_elf_howto_table [r_type];
+  return TRUE;
 }
 
 /* Perform a single relocation.  By default we use the standard BFD
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-msp430.c ./bfd/elf32-msp430.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-msp430.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-msp430.c	2018-07-10 02:06:11.000000000 +0000
@@ -631,8 +631,8 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 
 /* Set the howto pointer for an MSP430 ELF reloc.  */
 
-static void
-msp430_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+msp430_info_to_howto_rela (bfd * abfd,
 			   arelent * cache_ptr,
 			   Elf_Internal_Rela * dst)
 {
@@ -645,20 +645,25 @@ msp430_info_to_howto_rela (bfd * abfd AT
       if (r_type >= (unsigned int) R_MSP430x_max)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: invalid MSP430X reloc number: %d"), abfd, r_type);
-	  r_type = 0;
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      abfd, r_type);
+	  bfd_set_error (bfd_error_bad_value);
+	  return FALSE;
 	}
       cache_ptr->howto = elf_msp430x_howto_table + r_type;
-      return;
     }
-
-  if (r_type >= (unsigned int) R_MSP430_max)
+  else if (r_type >= (unsigned int) R_MSP430_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid MSP430 reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
-  cache_ptr->howto = &elf_msp430_howto_table[r_type];
+  else
+    cache_ptr->howto = &elf_msp430_howto_table[r_type];
+
+  return TRUE;
 }
 
 /* Look through the relocs for a section during the first phase.
@@ -829,7 +834,7 @@ msp430_final_link_relocate (reloc_howto_
 		  {
 		    info->callbacks->warning
 		      (info,
-		       _("Try enabling relaxation to avoid relocation truncations"),
+		       _("try enabling relaxation to avoid relocation truncations"),
 		       NULL, input_bfd, input_section, relocation);
 		    warned = TRUE;
 		  }
@@ -1143,7 +1148,7 @@ msp430_final_link_relocate (reloc_howto_
 		{
 		  info->callbacks->warning
 		    (info,
-		     _("Try enabling relaxation to avoid relocation truncations"),
+		     _("try enabling relaxation to avoid relocation truncations"),
 		     NULL, input_bfd, input_section, relocation);
 		  warned = TRUE;
 		}
@@ -2349,7 +2354,7 @@ elf32_msp430_obj_attrs_handle_unknown (b
 {
   _bfd_error_handler
     /* xgettext:c-format */
-    (_("Warning: %B: Unknown MSPABI object attribute %d"),
+    (_("warning: %pB: unknown MSPABI object attribute %d"),
      abfd, tag);
   return TRUE;
 }
@@ -2442,7 +2447,7 @@ elf32_msp430_merge_mspabi_attributes (bf
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("error: %B uses %s instructions but %B uses %s"),
+	(_("error: %pB uses %s instructions but %pB uses %s"),
 	 ibfd, isa_type (in_attr[OFBA_MSPABI_Tag_ISA].i),
 	 first_input_bfd, isa_type (out_attr[OFBA_MSPABI_Tag_ISA].i));
       result = FALSE;
@@ -2454,7 +2459,7 @@ elf32_msp430_merge_mspabi_attributes (bf
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("error: %B uses the %s code model whereas %B uses the %s code model"),
+	(_("error: %pB uses the %s code model whereas %pB uses the %s code model"),
 	 ibfd, code_model (in_attr[OFBA_MSPABI_Tag_Code_Model].i),
 	 first_input_bfd, code_model (out_attr[OFBA_MSPABI_Tag_Code_Model].i));
       result = FALSE;
@@ -2466,7 +2471,7 @@ elf32_msp430_merge_mspabi_attributes (bf
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("error: %B uses the large code model but %B uses MSP430 instructions"),
+	(_("error: %pB uses the large code model but %pB uses MSP430 instructions"),
 	 ibfd, first_input_bfd);
       result = FALSE;
     }
@@ -2477,7 +2482,7 @@ elf32_msp430_merge_mspabi_attributes (bf
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("error: %B uses the %s data model whereas %B uses the %s data model"),
+	(_("error: %pB uses the %s data model whereas %pB uses the %s data model"),
 	 ibfd, data_model (in_attr[OFBA_MSPABI_Tag_Data_Model].i),
 	 first_input_bfd, data_model (out_attr[OFBA_MSPABI_Tag_Data_Model].i));
       result = FALSE;
@@ -2489,7 +2494,7 @@ elf32_msp430_merge_mspabi_attributes (bf
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("error: %B uses the small code model but %B uses the %s data model"),
+	(_("error: %pB uses the small code model but %pB uses the %s data model"),
 	 ibfd, first_input_bfd,
 	 data_model (out_attr[OFBA_MSPABI_Tag_Data_Model].i));
       result = FALSE;
@@ -2501,7 +2506,7 @@ elf32_msp430_merge_mspabi_attributes (bf
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("error: %B uses the %s data model but %B only uses MSP430 instructions"),
+	(_("error: %pB uses the %s data model but %pB only uses MSP430 instructions"),
 	 ibfd, data_model (in_attr[OFBA_MSPABI_Tag_Data_Model].i),
 	 first_input_bfd);
       result = FALSE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-mt.c ./bfd/elf32-mt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-mt.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-mt.c	2018-07-10 02:06:11.000000000 +0000
@@ -28,7 +28,7 @@
 static reloc_howto_type * mt_reloc_type_lookup
   (bfd *, bfd_reloc_code_real_type);
 
-static void mt_info_to_howto_rela
+static bfd_boolean mt_info_to_howto_rela
   (bfd *, arelent *, Elf_Internal_Rela *);
 
 static bfd_reloc_status_type mt_elf_relocate_hi16
@@ -227,11 +227,10 @@ mt_elf_relocate_hi16
 
 /* Set the howto pointer for a MT ELF reloc.  */
 
-static void
-mt_info_to_howto_rela
-    (bfd *		 abfd ATTRIBUTE_UNUSED,
-     arelent *		 cache_ptr,
-     Elf_Internal_Rela * dst)
+static bfd_boolean
+mt_info_to_howto_rela (bfd *		    abfd,
+		       arelent *	    cache_ptr,
+		       Elf_Internal_Rela *  dst)
 {
   unsigned int r_type;
 
@@ -239,10 +238,13 @@ mt_info_to_howto_rela
   if (r_type >= (unsigned int) R_MT_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid MT reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = & mt_elf_howto_table [r_type];
+  return TRUE;
 }
 
 /* Perform a single relocation.  By default we use the standard BFD
@@ -520,7 +522,7 @@ mt_elf_merge_private_bfd_data (bfd *ibfd
   old_flags = elf_elfheader (obfd)->e_flags;
 
 #ifdef DEBUG
-  _bfd_error_handler ("%B: old_flags = 0x%.8x, new_flags = 0x%.8x, init = %s",
+  _bfd_error_handler ("%pB: old_flags = 0x%.8x, new_flags = 0x%.8x, init = %s",
 		      ibfd, old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no");
 #endif
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-nds32.c ./bfd/elf32-nds32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-nds32.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-nds32.c	2018-07-10 02:06:11.000000000 +0000
@@ -62,23 +62,8 @@ static bfd_vma calculate_memory_address
 (bfd *, Elf_Internal_Rela *, Elf_Internal_Sym *, Elf_Internal_Shdr *);
 static int nds32_get_section_contents (bfd *, asection *,
 				       bfd_byte **, bfd_boolean);
-static bfd_boolean nds32_elf_ex9_build_hash_table
-(bfd *, asection *, struct bfd_link_info *);
-static bfd_boolean nds32_elf_ex9_itb_base (struct bfd_link_info *);
-static void nds32_elf_ex9_import_table (struct bfd_link_info *);
-static void nds32_elf_ex9_finish (struct bfd_link_info *);
-static void nds32_elf_ex9_reloc_jmp (struct bfd_link_info *);
-static void nds32_elf_get_insn_with_reg
-  (Elf_Internal_Rela *, uint32_t, uint32_t *);
 static int nds32_get_local_syms (bfd *, asection *ATTRIBUTE_UNUSED,
 				 Elf_Internal_Sym **);
-static bfd_boolean nds32_elf_ex9_replace_instruction
-  (struct bfd_link_info *, bfd *, asection *);
-static bfd_boolean nds32_elf_ifc_calc (struct bfd_link_info *, bfd *,
-				       asection *);
-static bfd_boolean nds32_elf_ifc_finish (struct bfd_link_info *);
-static bfd_boolean nds32_elf_ifc_replace (struct bfd_link_info *);
-static bfd_boolean nds32_elf_ifc_reloc (void);
 static bfd_boolean  nds32_relax_fp_as_gp
   (struct bfd_link_info *link_info, bfd *abfd, asection *sec,
    Elf_Internal_Rela *internal_relocs, Elf_Internal_Rela *irelend,
@@ -163,7 +148,6 @@ enum
 /* Size of small data/bss sections, used to calculate SDA_BASE.  */
 static long got_size = 0;
 static int is_SDA_BASE_set = 0;
-static int is_ITB_BASE_set = 0;
 
 /* Convert ELF-VER in eflags to string for debugging purpose.  */
 static const char *const nds32_elfver_strtab[] =
@@ -212,7 +196,6 @@ struct elf_nds32_link_hash_entry
 
 #define FP_BASE_NAME "_FP_BASE_"
 static int check_start_export_sym = 0;
-static size_t ex9_relax_size = 0;		/* Save ex9 predicted reducing size.  */
 
 /* The offset for executable tls relaxation.  */
 #define TP_OFFSET 0x0
@@ -2884,8 +2867,8 @@ bfd_elf32_bfd_reloc_type_lookup (bfd *ab
 
 /* Set the howto pointer for an NDS32 ELF reloc.  */
 
-static void
-nds32_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
+static bfd_boolean
+nds32_info_to_howto_rel (bfd *abfd, arelent *cache_ptr,
 			 Elf_Internal_Rela *dst)
 {
   enum elf_nds32_reloc_type r_type;
@@ -2894,20 +2877,33 @@ nds32_info_to_howto_rel (bfd *abfd ATTRI
   if (r_type > R_NDS32_GNU_VTENTRY)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid NDS32 reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = bfd_elf32_bfd_reloc_type_table_lookup (r_type);
+  return TRUE;
 }
 
-static void
+static bfd_boolean
 nds32_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
 		     Elf_Internal_Rela *dst)
 {
-  BFD_ASSERT ((ELF32_R_TYPE (dst->r_info) == R_NDS32_NONE)
-	      || ((ELF32_R_TYPE (dst->r_info) > R_NDS32_GNU_VTENTRY)
-		  && (ELF32_R_TYPE (dst->r_info) < R_NDS32_max)));
-  cache_ptr->howto = bfd_elf32_bfd_reloc_type_table_lookup (ELF32_R_TYPE (dst->r_info));
+  unsigned int r_type = ELF32_R_TYPE (dst->r_info);
+
+  if ((r_type == R_NDS32_NONE)
+      || ((r_type > R_NDS32_GNU_VTENTRY)
+	  && (r_type < R_NDS32_max)))
+    {
+      cache_ptr->howto = bfd_elf32_bfd_reloc_type_table_lookup (r_type);
+      return TRUE;
+    }
+
+  /* xgettext:c-format */
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, r_type);
+  bfd_set_error (bfd_error_bad_value);
+  return FALSE;  
 }
 
 /* Support for core dump NOTE sections.
@@ -3229,7 +3225,7 @@ nds32_elf_final_sda_base (bfd *output_bf
 	}
       else
 	{
-	  _bfd_error_handler (_("error: Can't find symbol: _SDA_BASE_."));
+	  _bfd_error_handler (_("error: can't find symbol: %s"), "_SDA_BASE_");
 	  return bfd_reloc_dangerous;
 	}
     }
@@ -3841,7 +3837,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -4238,12 +4234,7 @@ nds32_elf_final_link_relocate (reloc_how
 
   /* If the relocation is PC relative, we want to set RELOCATION to
      the distance between the symbol (currently in RELOCATION) and the
-     location we are relocating.  Some targets (e.g., i386-aout)
-     arrange for the contents of the section to be the negative of the
-     offset of the location within the section; for such targets
-     pcrel_offset is FALSE.  Other targets (e.g., m88kbcs or ELF)
-     simply leave the contents of the section as zero; for such
-     targets pcrel_offset is TRUE.  If pcrel_offset is FALSE we do not
+     location we are relocating.  If pcrel_offset is FALSE we do not
      need to subtract out the offset of the location within the
      section (which is just ADDRESS).  */
   if (howto->pc_relative)
@@ -4402,26 +4393,6 @@ nds32_elf_relocate_section (bfd *		   ou
 	return FALSE;
     }
 
-  if (is_ITB_BASE_set == 0)
-    {
-      /* Set the _ITB_BASE_.  */
-      if (!nds32_elf_ex9_itb_base (info))
-	{
-	  _bfd_error_handler (_("%B: error: Cannot set _ITB_BASE_"),
-			      output_bfd);
-	  bfd_set_error (bfd_error_bad_value);
-	}
-    }
-
-  if (table->target_optimize & NDS32_RELAX_JUMP_IFC_ON)
-    if (!nds32_elf_ifc_reloc ())
-      _bfd_error_handler (_("error: IFC relocation error."));
-
- /* Relocation for .ex9.itable.  */
-  if (table->target_optimize & NDS32_RELAX_EX9_ON
-      || (table->ex9_import_file && table->update_ex9_table))
-    nds32_elf_ex9_reloc_jmp (info);
-
   /* Use gp as fp to prevent truncated fit.  Because in relaxation time
      the fp value is set as gp, and it has be reverted for instruction
      setting fp.  */
@@ -4449,7 +4420,7 @@ nds32_elf_relocate_section (bfd *		   ou
       if (r_type >= R_NDS32_max)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: error: unknown relocation type %d."),
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			      input_bfd, r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  ret = FALSE;
@@ -4895,8 +4866,8 @@ nds32_elf_relocate_section (bfd *		   ou
 	  if (bfd_link_pic (info))
 	    {
 	      _bfd_error_handler
-		(_("%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared "
-		   "mode."), input_bfd);
+		(_("%pB: warning: %s unsupported in shared mode"),
+		 input_bfd, "R_NDS32_25_ABS_RELA");
 	      return FALSE;
 	    }
 	  break;
@@ -5029,7 +5000,7 @@ nds32_elf_relocate_section (bfd *		   ou
 	    {
 	      /* Incorrect alignment.  */
 	      _bfd_error_handler
-		(_("%B: warning: unaligned access to GOT entry."), input_bfd);
+		(_("%pB: warning: unaligned access to GOT entry"), input_bfd);
 	      ret = FALSE;
 	      r = bfd_reloc_dangerous;
 	      goto check_reloc;
@@ -5071,7 +5042,7 @@ handle_sda:
 	      if (r != bfd_reloc_ok)
 		{
 		  _bfd_error_handler
-		    (_("%B: warning: relocate SDA_BASE failed."), input_bfd);
+		    (_("%pB: warning: relocate SDA_BASE failed"), input_bfd);
 		  ret = FALSE;
 		  goto check_reloc;
 		}
@@ -5093,7 +5064,8 @@ handle_sda:
 		  /* Incorrect alignment.  */
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B(%A): warning: unaligned small data access of type %d."),
+		    (_("%pB(%pA): warning: unaligned small data access"
+		       " of type %d"),
 		     input_bfd, input_section, r_type);
 		  ret = FALSE;
 		  goto check_reloc;
@@ -5841,7 +5813,7 @@ nds32_check_vec_size (bfd *ibfd)
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: ISR vector size mismatch"
+	    (_("%pB: ISR vector size mismatch"
 	       " with previous modules, previous %u-byte, current %u-byte"),
 	     ibfd,
 	     nds32_vec_size == 1 ? 4 : nds32_vec_size == 2 ? 16 : 0xffffffff,
@@ -5885,7 +5857,7 @@ nds32_elf_merge_private_bfd_data (bfd *i
   if (bfd_little_endian (ibfd) != bfd_little_endian (obfd))
     {
       _bfd_error_handler
-	(_("%B: warning: Endian mismatch with previous modules."), ibfd);
+	(_("%pB: warning: endian mismatch with previous modules"), ibfd);
 
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -5895,8 +5867,8 @@ nds32_elf_merge_private_bfd_data (bfd *i
   if (in_version == E_NDS32_ELF_VER_1_2)
     {
       _bfd_error_handler
-	(_("%B: warning: Older version of object file encountered, "
-	   "Please recompile with current tool chain."), ibfd);
+	(_("%pB: warning: older version of object file encountered, "
+	   "please recompile with current tool chain"), ibfd);
     }
 
   /* We may need to merge V1 and V2 arch object files to V2.  */
@@ -5973,7 +5945,7 @@ nds32_elf_merge_private_bfd_data (bfd *i
   if ((in_flags & EF_NDS_ABI) != (out_flags & EF_NDS_ABI))
     {
       _bfd_error_handler
-	(_("%B: error: ABI mismatch with previous modules."), ibfd);
+	(_("%pB: error: ABI mismatch with previous modules"), ibfd);
 
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -5984,7 +5956,8 @@ nds32_elf_merge_private_bfd_data (bfd *i
       if (((in_flags & EF_NDS_ARCH) != E_N1_ARCH))
 	{
 	  _bfd_error_handler
-	    (_("%B: error: Instruction set mismatch with previous modules."), ibfd);
+	    (_("%pB: error: instruction set mismatch with previous modules"),
+	     ibfd);
 
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -6010,7 +5983,7 @@ nds32_elf_merge_private_bfd_data (bfd *i
       if (in_version != out_version)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: warning: Incompatible elf-versions %s and  %s."),
+	  (_("%pB: warning: incompatible elf-versions %s and %s"),
 	   ibfd, nds32_elfver_strtab[out_version],
 	   nds32_elfver_strtab[in_version]);
 
@@ -6835,7 +6808,7 @@ nds32_convert_32_to_16 (bfd *abfd, uint3
 {
   int op6;
   uint16_t insn16 = 0;
-  int insn_type;
+  int insn_type = 0;
   unsigned long mach = bfd_get_mach (abfd);
 
   /* Decode 32-bit instruction.  */
@@ -8532,7 +8505,8 @@ done_adjust_diff:
 		  && (blank_t2->offset > raddr
 		      || blank_t2->next->offset <= raddr))
 		_bfd_error_handler
-		  (_("%B: Error: search_nds32_elf_blank reports wrong node\n"), abfd);
+		  (_("%pB: error: search_nds32_elf_blank reports wrong node"),
+		   abfd);
 
 	      /* Mark reloc in deleted portion as NONE.
 		 For some relocs like R_NDS32_LABEL that doesn't modify the
@@ -8791,7 +8765,7 @@ relax_range_measurement (bfd *abfd)
 
 static const char * unrecognized_reloc_msg =
   /* xgettext:c-format */
-  N_("%B: warning: %s points to unrecognized reloc at %#Lx");
+  N_("%pB: warning: %s points to unrecognized reloc at %#" PRIx64);
 
 /* Relax LONGCALL1 relocation for nds32_elf_relax_section.  */
 
@@ -8844,7 +8818,7 @@ nds32_elf_relax_longcall1 (bfd *abfd, as
   if (hi_irelfn == irelend || lo_irelfn == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL1",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -8925,7 +8899,7 @@ nds32_elf_relax_longcall2 (bfd *abfd, as
   if (i1_irelfn == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL2",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -9031,7 +9005,7 @@ nds32_elf_relax_longcall3 (bfd *abfd, as
   if (hi_irelfn == irelend || lo_irelfn == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL3",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -9165,7 +9139,7 @@ nds32_elf_relax_longjump1 (bfd *abfd, as
   if (hi_irelfn == irelend || lo_irelfn == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP1",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -9371,7 +9345,7 @@ nds32_elf_relax_longjump2 (bfd *abfd, as
   if (i2_irelfn == irelend || cond_irelfn == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP2",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -9563,7 +9537,7 @@ nds32_elf_relax_longjump3 (bfd *abfd, as
   if (hi_irelfn == irelend || lo_irelfn == irelend || cond_irelfn == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP3",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -9690,7 +9664,6 @@ nds32_elf_relax_longjump3 (bfd *abfd, as
     else
       {
 	irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), reloc);
-	irel->r_addend = irel->r_addend;
 	hi_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
 					  cond_reloc);
       }
@@ -9743,7 +9716,7 @@ nds32_elf_relax_longcall4 (bfd *abfd, as
   if (hi_irel == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL4",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -9773,7 +9746,7 @@ nds32_elf_relax_longcall4 (bfd *abfd, as
   if (ptr_irel == irelend || em_irel == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL4",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
   /* Check these is enough space to insert jal in R_NDS32_EMPTY.  */
@@ -9844,7 +9817,7 @@ nds32_elf_relax_longcall5 (bfd *abfd, as
   if (cond_irel == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL5",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -9922,7 +9895,7 @@ nds32_elf_relax_longcall6 (bfd *abfd, as
   if (em_irel == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL6",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -9960,7 +9933,7 @@ nds32_elf_relax_longcall6 (bfd *abfd, as
       if (cond_irel == irelend)
 	{
 	  _bfd_error_handler (unrecognized_reloc_msg, abfd,
-			      "R_NDS32_LONGCALL6", irel->r_offset);
+			      "R_NDS32_LONGCALL6", (uint64_t) irel->r_offset);
 	  return FALSE;
 	}
       cond_irel->r_addend = 1;
@@ -10009,7 +9982,7 @@ nds32_elf_relax_longcall6 (bfd *abfd, as
       if (cond_irel == irelend)
 	{
 	  _bfd_error_handler (unrecognized_reloc_msg, abfd,
-			      "R_NDS32_LONGCALL6", irel->r_offset);
+			      "R_NDS32_LONGCALL6", (uint64_t) irel->r_offset);
 	  return FALSE;
 	}
       cond_irel->r_addend = 1;
@@ -10059,7 +10032,7 @@ nds32_elf_relax_longjump4 (bfd *abfd, as
   if (hi_irel == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP4",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -10081,7 +10054,7 @@ nds32_elf_relax_longjump4 (bfd *abfd, as
   if (ptr_irel == irelend || em_irel == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP4",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -10155,7 +10128,7 @@ nds32_elf_relax_longjump5 (bfd *abfd, as
   if (cond_irel == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP5",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -10284,7 +10257,7 @@ nds32_elf_relax_longjump6 (bfd *abfd, as
   if (em_irel == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP6",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -10454,7 +10427,7 @@ nds32_elf_relax_longjump7 (bfd *abfd, as
   if (cond_irel == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP7",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -10559,7 +10532,7 @@ nds32_elf_relax_loadstore (struct bfd_li
   if (hi_irelfn == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LOADSTORE",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
 	return FALSE;
     }
 
@@ -10606,7 +10579,7 @@ nds32_elf_relax_loadstore (struct bfd_li
 	break;
 
       if (range_type == NDS32_LOADSTORE_FLOAT_S
-	  || range_type == NDS32_LOADSTORE_FLOAT_S)
+	  || range_type == NDS32_LOADSTORE_FLOAT_D)
 	{
 	  range_l = sdata_range[0][0];
 	  range_h = sdata_range[0][1];
@@ -11033,7 +11006,7 @@ nds32_elf_relax_ptr (bfd *abfd, asection
   if (re_irel == irelend)
     {
       _bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_PTR",
-			  irel->r_offset);
+			  (uint64_t) irel->r_offset);
       return FALSE;
     }
 
@@ -11568,118 +11541,6 @@ nds32_relax_adjust_label (bfd *abfd, ase
   return TRUE;
 }
 
-/* Pick relaxation round.  */
-
-static int
-nds32_elf_pick_relax (bfd_boolean init, asection *sec, bfd_boolean *again,
-		      struct elf_nds32_link_hash_table *table,
-		      struct bfd_link_info *link_info)
-{
-  static asection *final_sec, *first_sec = NULL;
-  static bfd_boolean normal_again = FALSE;
-  static bfd_boolean set = FALSE;
-  static bfd_boolean first = TRUE;
-  int round_table[] = {
-      NDS32_RELAX_NORMAL_ROUND,
-      NDS32_RELAX_JUMP_IFC_ROUND,
-      NDS32_RELAX_EX9_BUILD_ROUND,
-      NDS32_RELAX_EX9_REPLACE_ROUND,
-  };
-  static int pass = 0;
-  static int relax_round;
-
-  /* The new round.  */
-  if (init && first_sec == sec)
-    {
-      set = TRUE;
-      normal_again = FALSE;
-    }
-
-  if (first)
-    {
-      /* Run an empty run to get the final section.  */
-      relax_round = NDS32_RELAX_EMPTY_ROUND;
-
-      /* It has to enter relax again because we can
-	 not make sure what the final turn is.  */
-      *again = TRUE;
-
-      first = FALSE;
-      first_sec = sec;
-    }
-
-  if (!set)
-    {
-      /* Not reenter yet.  */
-      final_sec = sec;
-      return relax_round;
-    }
-
-  relax_round = round_table[pass];
-
-  if (!init && relax_round == NDS32_RELAX_NORMAL_ROUND && *again)
-    normal_again = TRUE;
-
-  if (!init && final_sec == sec)
-    {
-      switch (relax_round)
-	{
-	case NDS32_RELAX_NORMAL_ROUND:
-	  if (!normal_again)
-	    {
-	      /* Normal relaxation done.  */
-	      if (table->target_optimize & NDS32_RELAX_JUMP_IFC_ON)
-		{
-		  pass++;
-		  *again = TRUE;
-		}
-	      else if (table->target_optimize & NDS32_RELAX_EX9_ON)
-		{
-		  pass += 2;	/* NDS32_RELAX_EX9_BUILD_ROUND */
-		  *again = TRUE;
-		}
-	      else if (table->ex9_import_file)
-		{
-		  /* Import ex9 table.  */
-		  if (table->update_ex9_table)
-		    pass += 2;	/* NDS32_RELAX_EX9_BUILD_ROUND */
-		  else
-		    pass += 3;	/* NDS32_RELAX_EX9_REPLACE_ROUND */
-		  nds32_elf_ex9_import_table (link_info);
-		  *again = TRUE;
-		}
-	    }
-	  break;
-	case NDS32_RELAX_JUMP_IFC_ROUND:
-	  if (!nds32_elf_ifc_finish (link_info))
-	    _bfd_error_handler (_("error: Jump IFC Fail."));
-	  if (table->target_optimize & NDS32_RELAX_EX9_ON)
-	    {
-	      pass++;
-	      *again = TRUE;
-	    }
-	  break;
-	case NDS32_RELAX_EX9_BUILD_ROUND:
-	  nds32_elf_ex9_finish (link_info);
-	  pass++;
-	  *again = TRUE;
-	  break;
-	case NDS32_RELAX_EX9_REPLACE_ROUND:
-	  if (table->target_optimize & NDS32_RELAX_JUMP_IFC_ON)
-	    {
-	      /* Do jump IFC optimization again.  */
-	      if (!nds32_elf_ifc_finish (link_info))
-		_bfd_error_handler (_("error: Jump IFC Fail."));
-	    }
-	  break;
-	default:
-	  break;
-	}
-    }
-
-  return relax_round;
-}
-
 static bfd_boolean
 nds32_elf_relax_section (bfd *abfd, asection *sec,
 			 struct bfd_link_info *link_info, bfd_boolean *again)
@@ -11700,7 +11561,6 @@ nds32_elf_relax_section (bfd *abfd, asec
   /* Target dependnet option.  */
   struct elf_nds32_link_hash_table *table;
   int load_store_relax;
-  int relax_round;
 
   relax_blank_list = NULL;
 
@@ -11728,41 +11588,6 @@ nds32_elf_relax_section (bfd *abfd, asec
   /* The optimization type to do.  */
 
   table = nds32_elf_hash_table (link_info);
-  relax_round = nds32_elf_pick_relax (TRUE, sec, again, table, link_info);
-  switch (relax_round)
-    {
-    case NDS32_RELAX_JUMP_IFC_ROUND:
-      /* Here is the entrance of ifc jump relaxation.  */
-      if (!nds32_elf_ifc_calc (link_info, abfd, sec))
-	return FALSE;
-      nds32_elf_pick_relax (FALSE, sec, again, table, link_info);
-      return TRUE;
-
-    case NDS32_RELAX_EX9_BUILD_ROUND:
-      /* Here is the entrance of ex9 relaxation.  There are two pass of
-	 ex9 relaxation.  The one is to traverse all instructions and build
-	 the hash table.  The other one is to compare instructions and replace
-	 it by ex9.it.  */
-      if (!nds32_elf_ex9_build_hash_table (abfd, sec, link_info))
-	return FALSE;
-      nds32_elf_pick_relax (FALSE, sec, again, table, link_info);
-      return TRUE;
-
-    case NDS32_RELAX_EX9_REPLACE_ROUND:
-      if (!nds32_elf_ex9_replace_instruction (link_info, abfd, sec))
-	return FALSE;
-      return TRUE;
-
-    case NDS32_RELAX_EMPTY_ROUND:
-      nds32_elf_pick_relax (FALSE, sec, again, table, link_info);
-      return TRUE;
-
-    case NDS32_RELAX_NORMAL_ROUND:
-    default:
-      if (sec->reloc_count == 0)
-	return TRUE;
-      break;
-    }
 
   /* The begining of general relaxation.  */
 
@@ -11775,16 +11600,6 @@ nds32_elf_relax_section (bfd *abfd, asec
       relax_range_measurement (abfd);
     }
 
-  if (is_ITB_BASE_set == 0)
-    {
-      /* Set the _ITB_BASE_.  */
-      if (!nds32_elf_ex9_itb_base (link_info))
-	{
-	  _bfd_error_handler (_("%B: error: Cannot set _ITB_BASE_"), abfd);
-	  bfd_set_error (bfd_error_bad_value);
-	}
-    }
-
   symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
   /* Relocations MUST be kept in memory, because relaxation adjust them.  */
   internal_relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL,
@@ -11802,10 +11617,7 @@ nds32_elf_relax_section (bfd *abfd, asec
   if (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_ENTRY)
     {
       if (irel->r_addend & R_NDS32_RELAX_ENTRY_DISABLE_RELAX_FLAG)
-	{
-	  nds32_elf_pick_relax (FALSE, sec, again, table, link_info);
-	  return TRUE;
-	}
+	return TRUE;
 
       if (irel->r_addend & R_NDS32_RELAX_ENTRY_OPTIMIZE_FLAG)
 	optimize = 1;
@@ -12059,8 +11871,6 @@ nds32_elf_relax_section (bfd *abfd, asec
 	}
     }
 
-  nds32_elf_pick_relax (FALSE, sec, again, table, link_info);
-
   if (!*again)
     {
       if (!nds32_relax_adjust_label (abfd, sec, internal_relocs, contents,
@@ -12526,7 +12336,7 @@ nds32_relax_fp_as_gp (struct bfd_link_in
 	  /* Begin of the region.  */
 	  if (begin_rel)
 	    /* xgettext:c-format */
-	    _bfd_error_handler (_("%B: Nested OMIT_FP in %A."), abfd, sec);
+	    _bfd_error_handler (_("%pB: nested OMIT_FP in %pA"), abfd, sec);
 
 	  begin_rel = irel;
 	  nds32_fag_init (&fag_head);
@@ -12545,7 +12355,8 @@ nds32_relax_fp_as_gp (struct bfd_link_in
 	  if (begin_rel == NULL)
 	    {
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B: Unmatched OMIT_FP in %A."), abfd, sec);
+	      _bfd_error_handler (_("%pB: unmatched OMIT_FP in %pA"),
+				  abfd, sec);
 	      continue;
 	    }
 
@@ -12828,7 +12639,7 @@ nds32_elf_get_relocated_section_contents
 		     message instead.  */
 		  link_info->callbacks->einfo
 		    /* xgettext:c-format */
-		    (_("%X%P: %B(%A): relocation \"%R\" goes out of range\n"),
+		    (_("%X%P: %pB(%pA): relocation \"%pR\" goes out of range\n"),
 		     abfd, input_section, * parent);
 		  goto error_return;
 
@@ -12848,2586 +12659,6 @@ error_return:
   return NULL;
 }
 
-/* Link-time IFC relaxation.
-   In this optimization, we chains jump instructions
-   of the same destination with ifcall.  */
-
-
-/* List to save jal and j relocation.  */
-struct elf_nds32_ifc_symbol_entry
-{
-  asection *sec;
-  struct elf_link_hash_entry *h;
-  struct elf_nds32_ifc_irel_list *irel_head;
-  unsigned long insn;
-  int times;
-  int enable;		/* Apply ifc.  */
-  int ex9_enable;	/* Apply ifc after ex9.  */
-  struct elf_nds32_ifc_symbol_entry *next;
-};
-
-struct elf_nds32_ifc_irel_list
-{
-  Elf_Internal_Rela *irel;
-  asection *sec;
-  bfd_vma addr;
-  /* If this is set, then it is the last instruction for
-     ifc-chain, so it must be keep for the actual branching.  */
-  int keep;
-  struct elf_nds32_ifc_irel_list *next;
-};
-
-static struct elf_nds32_ifc_symbol_entry *ifc_symbol_head = NULL;
-
-/* Insert symbol of jal and j for ifc.  */
-
-static void
-nds32_elf_ifc_insert_symbol (asection *sec,
-			     struct elf_link_hash_entry *h,
-			     Elf_Internal_Rela *irel,
-			     unsigned long insn)
-{
-  struct elf_nds32_ifc_symbol_entry *ptr = ifc_symbol_head;
-
-  /* Check there is target of existing entry the same as the new one.  */
-  while (ptr != NULL)
-    {
-      if (((h == NULL && ptr->sec == sec
-	    && ELF32_R_SYM (ptr->irel_head->irel->r_info) == ELF32_R_SYM (irel->r_info)
-	    && ptr->irel_head->irel->r_addend == irel->r_addend)
-	   || h != NULL)
-	  && ptr->h == h
-	  && ptr->insn == insn)
-	{
-	  /* The same target exist, so insert into list.  */
-	  struct elf_nds32_ifc_irel_list *irel_list = ptr->irel_head;
-
-	  while (irel_list->next != NULL)
-	    irel_list = irel_list->next;
-	  irel_list->next = bfd_malloc (sizeof (struct elf_nds32_ifc_irel_list));
-	  irel_list = irel_list->next;
-	  irel_list->irel = irel;
-	  irel_list->keep = 1;
-
-	  if (h == NULL)
-	    irel_list->sec = NULL;
-	  else
-	    irel_list->sec = sec;
-	  irel_list->next = NULL;
-	  return;
-	}
-      if (ptr->next == NULL)
-	break;
-      ptr = ptr->next;
-    }
-
-  /* There is no same target entry, so build a new one.  */
-  if (ifc_symbol_head == NULL)
-    {
-      ifc_symbol_head = bfd_malloc (sizeof (struct elf_nds32_ifc_symbol_entry));
-      ptr = ifc_symbol_head;
-    }
-  else
-    {
-      ptr->next = bfd_malloc (sizeof (struct elf_nds32_ifc_symbol_entry));
-      ptr = ptr->next;
-    }
-
-  ptr->h = h;
-  ptr->irel_head = bfd_malloc (sizeof (struct elf_nds32_ifc_irel_list));
-  ptr->irel_head->irel = irel;
-  ptr->insn = insn;
-  ptr->irel_head->keep = 1;
-
-  if (h == NULL)
-    {
-      /* Local symbols.  */
-      ptr->sec = sec;
-      ptr->irel_head->sec = NULL;
-    }
-  else
-    {
-      /* Global symbol.  */
-      ptr->sec = NULL;
-      ptr->irel_head->sec = sec;
-    }
-
-  ptr->irel_head->next = NULL;
-  ptr->times = 0;
-  ptr->enable = 0;
-  ptr->ex9_enable = 0;
-  ptr->next = NULL;
-}
-
-/* Gather all jal and j instructions.  */
-
-static bfd_boolean
-nds32_elf_ifc_calc (struct bfd_link_info *info,
-		    bfd *abfd, asection *sec)
-{
-  Elf_Internal_Rela *internal_relocs;
-  Elf_Internal_Rela *irelend;
-  Elf_Internal_Rela *irel;
-  Elf_Internal_Shdr *symtab_hdr;
-  bfd_byte *contents = NULL;
-  uint32_t insn, insn_with_reg;
-  unsigned long r_symndx;
-  struct elf_link_hash_entry *h;
-  struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (abfd);
-  struct elf_nds32_link_hash_table *table;
-  bfd_boolean ifc_loop_aware;
-
-  internal_relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL,
-					       TRUE /* keep_memory */);
-  irelend = internal_relocs + sec->reloc_count;
-  symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
-
-  /* Check if the object enable ifc.  */
-  irel = find_relocs_at_address (internal_relocs, internal_relocs, irelend,
-				 R_NDS32_RELAX_ENTRY);
-
-  if (irel == NULL
-      || irel >= irelend
-      || ELF32_R_TYPE (irel->r_info) != R_NDS32_RELAX_ENTRY
-      || (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_ENTRY
-	  && !(irel->r_addend & R_NDS32_RELAX_ENTRY_IFC_FLAG)))
-    return TRUE;
-
-  if (!nds32_get_section_contents (abfd, sec, &contents, TRUE))
-    return FALSE;
-
-  table = nds32_elf_hash_table (info);
-  ifc_loop_aware = table->ifc_loop_aware;
-  while (irel != NULL && irel < irelend)
-    {
-      /* Traverse all relocation and gather all of them to build the list.  */
-
-      if (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_BEGIN)
-	{
-	  if (ifc_loop_aware == 1
-	      && (irel->r_addend & R_NDS32_RELAX_REGION_INNERMOST_LOOP_FLAG) != 0)
-	    {
-	      /* Check the region if loop or not.  If it is true and
-		 ifc-loop-aware is true, ignore the region till region end.  */
-	      while (irel != NULL
-		     && irel < irelend
-		     && (ELF32_R_TYPE (irel->r_info) != R_NDS32_RELAX_REGION_END
-			 || (irel->r_addend & R_NDS32_RELAX_REGION_INNERMOST_LOOP_FLAG) != 0))
-		irel++;
-	    }
-	}
-
-      if (ELF32_R_TYPE (irel->r_info) == R_NDS32_25_PCREL_RELA)
-	{
-	  insn = bfd_getb32 (contents + irel->r_offset);
-	  nds32_elf_get_insn_with_reg (irel, insn, &insn_with_reg);
-	  r_symndx = ELF32_R_SYM (irel->r_info);
-	  if (r_symndx < symtab_hdr->sh_info)
-	    {
-	      /* Local symbol.  */
-	      nds32_elf_ifc_insert_symbol (sec, NULL, irel, insn_with_reg);
-	    }
-	  else
-	    {
-	      /* External symbol.  */
-	      h = sym_hashes[r_symndx - symtab_hdr->sh_info];
-	      nds32_elf_ifc_insert_symbol (sec, h, irel, insn_with_reg);
-	    }
-	}
-      irel++;
-    }
-  return TRUE;
-}
-
-/* Determine whether j and jal should be substituted.  */
-
-static void
-nds32_elf_ifc_filter (struct bfd_link_info *info)
-{
-  struct elf_nds32_ifc_symbol_entry *ptr = ifc_symbol_head;
-  struct elf_nds32_ifc_irel_list *irel_ptr = NULL;
-  struct elf_nds32_ifc_irel_list *irel_keeper = NULL;
-  struct elf_nds32_link_hash_table *table;
-  int target_optimize;
-  bfd_vma address;
-
-  table = nds32_elf_hash_table (info);
-  target_optimize = table->target_optimize;
-  while (ptr)
-    {
-      irel_ptr = ptr->irel_head;
-      if (ptr->h == NULL)
-	{
-	  /* Local symbol.  */
-	  irel_keeper = irel_ptr;
-	  while (irel_ptr && irel_ptr->next)
-	    {
-	      /* Check there is jump target can be used.  */
-	      if ((irel_ptr->next->irel->r_offset
-		   - irel_keeper->irel->r_offset) > 1022)
-		irel_keeper = irel_ptr->next;
-	      else
-		{
-		  ptr->enable = 1;
-		  irel_ptr->keep = 0;
-		}
-	      irel_ptr = irel_ptr->next;
-	    }
-	}
-      else
-	{
-	  /* Global symbol.  */
-	  /* We have to get the absolute address and decide
-	     whether to keep it or not.  */
-	  while (irel_ptr)
-	    {
-	      address = (irel_ptr->irel->r_offset
-			 + irel_ptr->sec->output_section->vma
-			 + irel_ptr->sec->output_offset);
-	      irel_ptr->addr = address;
-	      irel_ptr = irel_ptr->next;
-	    }
-
-	  irel_ptr = ptr->irel_head;
-	  while (irel_ptr)
-	    {
-	      /* Sort by address.  */
-	      struct elf_nds32_ifc_irel_list *irel_dest = irel_ptr;
-	      struct elf_nds32_ifc_irel_list *irel_temp = irel_ptr;
-	      struct elf_nds32_ifc_irel_list *irel_ptr_prev = NULL;
-	      struct elf_nds32_ifc_irel_list *irel_dest_prev = NULL;
-
-	      /* Get the smallest one.  */
-	      while (irel_temp->next)
-		{
-		  if (irel_temp->next->addr < irel_dest->addr)
-		    {
-		      irel_dest_prev = irel_temp;
-		      irel_dest = irel_temp->next;
-		    }
-		  irel_temp = irel_temp->next;
-		}
-
-	      if (irel_dest != irel_ptr)
-		{
-		  if (irel_ptr_prev)
-		    irel_ptr_prev->next = irel_dest;
-		  if (irel_dest_prev)
-		    irel_dest_prev->next = irel_ptr;
-		  irel_temp = irel_ptr->next;
-		  irel_ptr->next = irel_dest->next;
-		  irel_dest->next = irel_temp;
-		}
-	      irel_ptr_prev = irel_ptr;
-	      irel_ptr = irel_ptr->next;
-	    }
-
-	  irel_ptr = ptr->irel_head;
-	  irel_keeper = irel_ptr;
-	  while (irel_ptr && irel_ptr->next)
-	    {
-	      if ((irel_ptr->next->addr - irel_keeper->addr) > 1022)
-		irel_keeper = irel_ptr->next;
-	      else
-		{
-		  ptr->enable = 1;
-		  irel_ptr->keep = 0;
-		}
-	      irel_ptr = irel_ptr->next;
-	    }
-	}
-
-	/* Ex9 enable.  Reserve it for ex9.  */
-      if ((target_optimize & NDS32_RELAX_EX9_ON)
-	  && ptr->irel_head != irel_keeper)
-	ptr->enable = 0;
-      ptr = ptr->next;
-    }
-}
-
-/* Determine whether j and jal should be substituted after ex9 done.  */
-
-static void
-nds32_elf_ifc_filter_after_ex9 (void)
-{
-  struct elf_nds32_ifc_symbol_entry *ptr = ifc_symbol_head;
-  struct elf_nds32_ifc_irel_list *irel_ptr = NULL;
-
-  while (ptr)
-    {
-      if (ptr->enable == 0)
-	{
-	  /* Check whether ifc is applied or not.  */
-	  irel_ptr = ptr->irel_head;
-	  ptr->ex9_enable = 1;
-	  while (irel_ptr)
-	    {
-	      if (ELF32_R_TYPE (irel_ptr->irel->r_info) == R_NDS32_TRAN)
-		{
-		  /* Ex9 already.  */
-		  ptr->ex9_enable = 0;
-		  break;
-		}
-	      irel_ptr = irel_ptr->next;
-	    }
-	}
-      ptr = ptr->next;
-    }
-}
-
-/* Wrapper to do ifc relaxation.  */
-
-bfd_boolean
-nds32_elf_ifc_finish (struct bfd_link_info *info)
-{
-  int relax_status;
-  struct elf_nds32_link_hash_table *table;
-
-  table = nds32_elf_hash_table (info);
-  relax_status = table->relax_status;
-
-  if (!(relax_status & NDS32_RELAX_JUMP_IFC_DONE))
-    nds32_elf_ifc_filter (info);
-  else
-    nds32_elf_ifc_filter_after_ex9 ();
-
-  if (!nds32_elf_ifc_replace (info))
-    return FALSE;
-
-  if (table)
-    table->relax_status |= NDS32_RELAX_JUMP_IFC_DONE;
-  return TRUE;
-}
-
-/* Traverse the result of ifc filter and replace it with ifcall9.  */
-
-static bfd_boolean
-nds32_elf_ifc_replace (struct bfd_link_info *info)
-{
-  struct elf_nds32_ifc_symbol_entry *ptr = ifc_symbol_head;
-  struct elf_nds32_ifc_irel_list *irel_ptr = NULL;
-  nds32_elf_blank_t *relax_blank_list = NULL;
-  bfd_byte *contents = NULL;
-  Elf_Internal_Rela *internal_relocs;
-  Elf_Internal_Rela *irel;
-  Elf_Internal_Rela *irelend;
-  unsigned short insn16 = INSN_IFCALL9;
-  struct elf_nds32_link_hash_table *table;
-  int relax_status;
-
-  table = nds32_elf_hash_table (info);
-  relax_status = table->relax_status;
-
-  while (ptr)
-    {
-      /* Traverse the ifc gather list, and replace the
-	 filter entries by ifcall9.  */
-      if ((!(relax_status & NDS32_RELAX_JUMP_IFC_DONE) && ptr->enable == 1)
-	  || ((relax_status & NDS32_RELAX_JUMP_IFC_DONE)
-	      && ptr->ex9_enable == 1))
-	{
-	  irel_ptr = ptr->irel_head;
-	  if (ptr->h == NULL)
-	    {
-	      /* Local symbol.  */
-	      internal_relocs = _bfd_elf_link_read_relocs
-		(ptr->sec->owner, ptr->sec, NULL, NULL, TRUE /* keep_memory */);
-	      irelend = internal_relocs + ptr->sec->reloc_count;
-
-	      if (!nds32_get_section_contents (ptr->sec->owner, ptr->sec,
-					       &contents, TRUE))
-		return FALSE;
-
-	      while (irel_ptr)
-		{
-		  if (irel_ptr->keep == 0 && irel_ptr->next)
-		    {
-		      /* The one can be replaced.  We have to check whether
-			 there is any alignment point in the region.  */
-		      irel = irel_ptr->irel;
-		      while (((irel_ptr->next->keep == 0
-			       && irel < irel_ptr->next->irel)
-			      || (irel_ptr->next->keep == 1 && irel < irelend))
-			     && !(ELF32_R_TYPE (irel->r_info) == R_NDS32_LABEL
-				  && (irel->r_addend & 0x1f) == 2))
-			irel++;
-		      if (irel >= irelend
-			  || !(ELF32_R_TYPE (irel->r_info) == R_NDS32_LABEL
-			       && (irel->r_addend & 0x1f) == 2
-			       && ((irel->r_offset - get_nds32_elf_blank_total
-				    (&relax_blank_list, irel->r_offset, 1))
-				   & 0x02) == 0))
-			{
-			  /* Replace by ifcall9.  */
-			  bfd_putb16 (insn16, contents + irel_ptr->irel->r_offset);
-			  if (!insert_nds32_elf_blank_recalc_total
-			      (&relax_blank_list, irel_ptr->irel->r_offset + 2, 2))
-			    return FALSE;
-			  irel_ptr->irel->r_info =
-			    ELF32_R_INFO (ELF32_R_SYM (irel_ptr->irel->r_info),
-					  R_NDS32_10IFCU_PCREL_RELA);
-			}
-		    }
-		  irel_ptr = irel_ptr->next;
-		}
-
-	      /* Delete the redundant code.  */
-	      if (relax_blank_list)
-		{
-		  nds32_elf_relax_delete_blanks (ptr->sec->owner, ptr->sec,
-						 relax_blank_list);
-		  relax_blank_list = NULL;
-		}
-	    }
-	  else
-	    {
-	      /* Global symbol.  */
-	      while (irel_ptr)
-		{
-		  if (irel_ptr->keep == 0 && irel_ptr->next)
-		    {
-		      /* The one can be replaced, and we have to check
-			 whether there is any alignment point in the region.  */
-		      internal_relocs = _bfd_elf_link_read_relocs
-			(irel_ptr->sec->owner, irel_ptr->sec, NULL, NULL,
-			 TRUE /* keep_memory */);
-		      irelend = internal_relocs + irel_ptr->sec->reloc_count;
-		      if (!nds32_get_section_contents (irel_ptr->sec->owner,
-						       irel_ptr->sec, &contents,
-						       TRUE))
-			return FALSE;
-
-		      irel = irel_ptr->irel;
-		      while (((irel_ptr->sec == irel_ptr->next->sec
-			       && irel_ptr->next->keep == 0
-			       && irel < irel_ptr->next->irel)
-			      || ((irel_ptr->sec != irel_ptr->next->sec
-				   || irel_ptr->next->keep == 1)
-				  && irel < irelend))
-			     && !(ELF32_R_TYPE (irel->r_info) == R_NDS32_LABEL
-				  && (irel->r_addend & 0x1f) == 2))
-			irel++;
-		      if (irel >= irelend
-			  || !(ELF32_R_TYPE (irel->r_info) == R_NDS32_LABEL
-			       && (irel->r_addend & 0x1f) == 2
-			       && ((irel->r_offset
-				    - get_nds32_elf_blank_total (&relax_blank_list,
-							    irel->r_offset, 1)) & 0x02) == 0))
-			{
-			  /* Replace by ifcall9.  */
-			  bfd_putb16 (insn16, contents + irel_ptr->irel->r_offset);
-			  if (!insert_nds32_elf_blank_recalc_total
-			      (&relax_blank_list, irel_ptr->irel->r_offset + 2, 2))
-			    return FALSE;
-
-			  /* Delete the redundant code, and clear the relocation.  */
-			  nds32_elf_relax_delete_blanks (irel_ptr->sec->owner,
-							 irel_ptr->sec,
-							 relax_blank_list);
-			  irel_ptr->irel->r_info =
-			    ELF32_R_INFO (ELF32_R_SYM (irel_ptr->irel->r_info),
-					  R_NDS32_10IFCU_PCREL_RELA);
-			  relax_blank_list = NULL;
-			}
-		    }
-
-		  irel_ptr = irel_ptr->next;
-		}
-	    }
-	}
-      ptr = ptr->next;
-    }
-
-  return TRUE;
-}
-
-/* Relocate ifcall.  */
-
-static bfd_boolean
-nds32_elf_ifc_reloc (void)
-{
-  struct elf_nds32_ifc_symbol_entry *ptr = ifc_symbol_head;
-  struct elf_nds32_ifc_irel_list *irel_ptr = NULL;
-  struct elf_nds32_ifc_irel_list *irel_keeper = NULL;
-  bfd_vma relocation, address;
-  unsigned short insn16;
-  bfd_byte *contents = NULL;
-  static bfd_boolean done = FALSE;
-
-  if (done)
-    return TRUE;
-
-  done = TRUE;
-
-  while (ptr)
-    {
-      /* Check the entry is enable ifcall.  */
-      if (ptr->enable == 1 || ptr->ex9_enable == 1)
-	{
-	  /* Get the reserve jump.  */
-	  irel_ptr = ptr->irel_head;
-	  while (irel_ptr)
-	    {
-	      if (irel_ptr->keep == 1)
-		{
-		  irel_keeper = irel_ptr;
-		  break;
-		}
-	      irel_ptr = irel_ptr->next;
-	    }
-
-	  irel_ptr = ptr->irel_head;
-	  if (ptr->h == NULL)
-	    {
-	      /* Local symbol.  */
-	      if (!nds32_get_section_contents (ptr->sec->owner, ptr->sec,
-					       &contents, TRUE))
-		return FALSE;
-
-	      while (irel_ptr)
-		{
-		  if (irel_ptr->keep == 0
-		      && ELF32_R_TYPE (irel_ptr->irel->r_info) == R_NDS32_10IFCU_PCREL_RELA)
-		    {
-		      relocation = irel_keeper->irel->r_offset;
-		      relocation = relocation - irel_ptr->irel->r_offset;
-		      while (irel_keeper && relocation > 1022)
-			{
-			  irel_keeper = irel_keeper->next;
-			  if (irel_keeper && irel_keeper->keep == 1)
-			    {
-			      relocation = irel_keeper->irel->r_offset;
-			      relocation = relocation - irel_ptr->irel->r_offset;
-			    }
-			}
-		      if (relocation > 1022)
-			{
-			  /* Double check.  */
-			  irel_keeper = ptr->irel_head;
-			  while (irel_keeper)
-			    {
-			      if (irel_keeper->keep == 1)
-				{
-				  relocation = irel_keeper->irel->r_offset;
-				  relocation = relocation - irel_ptr->irel->r_offset;
-				}
-			      if (relocation <= 1022)
-				break;
-			      irel_keeper = irel_keeper->next;
-			    }
-			  if (!irel_keeper)
-			    return FALSE;
-			}
-		      irel_ptr->irel->r_info =
-			ELF32_R_INFO (ELF32_R_SYM (irel_ptr->irel->r_info),
-				      R_NDS32_NONE);
-		      insn16 = INSN_IFCALL9 | (relocation >> 1);
-		      bfd_putb16 (insn16, contents + irel_ptr->irel->r_offset);
-		    }
-		  irel_ptr = irel_ptr->next;
-		}
-	    }
-	  else
-	    {
-	      /* Global symbol.  */
-	      while (irel_ptr)
-		{
-		  if (irel_ptr->keep == 0
-		      && ELF32_R_TYPE (irel_ptr->irel->r_info) == R_NDS32_10IFCU_PCREL_RELA)
-		    {
-		      /* Get the distance between ifcall and jump.  */
-		      relocation = (irel_keeper->irel->r_offset
-				    + irel_keeper->sec->output_section->vma
-				    + irel_keeper->sec->output_offset);
-		      address = (irel_ptr->irel->r_offset
-				 + irel_ptr->sec->output_section->vma
-				 + irel_ptr->sec->output_offset);
-		      relocation = relocation - address;
-
-		      /* The distance is over ragne, find callee again.  */
-		      while (irel_keeper && relocation > 1022)
-			{
-			  irel_keeper = irel_keeper->next;
-			  if (irel_keeper && irel_keeper->keep ==1)
-			    {
-			      relocation = (irel_keeper->irel->r_offset
-					    + irel_keeper->sec->output_section->vma
-					    + irel_keeper->sec->output_offset);
-			      relocation = relocation - address;
-			    }
-			}
-
-		      if (relocation > 1022)
-			{
-			  /* Double check.  */
-			  irel_keeper = ptr->irel_head;
-			  while (irel_keeper)
-			    {
-			      if (irel_keeper->keep == 1)
-				{
-
-				  relocation = (irel_keeper->irel->r_offset
-						+ irel_keeper->sec->output_section->vma
-						+ irel_keeper->sec->output_offset);
-				  relocation = relocation - address;
-				}
-			      if (relocation <= 1022)
-				break;
-			      irel_keeper = irel_keeper->next;
-			    }
-			  if (!irel_keeper)
-			    return FALSE;
-			}
-		      if (!nds32_get_section_contents
-			  (irel_ptr->sec->owner, irel_ptr->sec, &contents, TRUE))
-			return FALSE;
-		      insn16 = INSN_IFCALL9 | (relocation >> 1);
-		      bfd_putb16 (insn16, contents + irel_ptr->irel->r_offset);
-		      irel_ptr->irel->r_info =
-			ELF32_R_INFO (ELF32_R_SYM (irel_ptr->irel->r_info),
-				      R_NDS32_NONE);
-		    }
-		  irel_ptr =irel_ptr->next;
-		}
-	    }
-	}
-      ptr = ptr->next;
-    }
-
-  return TRUE;
-}
-
-/* End of IFC relaxation.  */
-
-/* EX9 Instruction Table Relaxation.  */
-
-/* Global hash list.  */
-struct elf_link_hash_entry_list
-{
-  struct elf_link_hash_entry *h;
-  struct elf_link_hash_entry_list *next;
-};
-
-/* Save different destination but same insn.  */
-struct elf_link_hash_entry_mul_list
-{
-  /* Global symbol times.  */
-  int times;
-  /* Save relocation for each global symbol but useful??  */
-  Elf_Internal_Rela *irel;
-  /* For sethi, two sethi may have the same high-part but different low-parts.  */
-  Elf_Internal_Rela rel_backup;
-  struct elf_link_hash_entry_list *h_list;
-  struct elf_link_hash_entry_mul_list *next;
-};
-
-/* Instruction hash table.  */
-struct elf_nds32_code_hash_entry
-{
-  struct bfd_hash_entry root;
-  int times;
-  /* For insn that can use relocation or constant ex: sethi.  */
-  int const_insn;
-  asection *sec;
-  struct elf_link_hash_entry_mul_list *m_list;
-  /* Using r_addend.  */
-  Elf_Internal_Rela *irel;
-  /* Using r_info.  */
-  Elf_Internal_Rela rel_backup;
-};
-
-/* Instruction count list.  */
-struct elf_nds32_insn_times_entry
-{
-  const char *string;
-  int times;
-  int order;
-  asection *sec;
-  struct elf_link_hash_entry_mul_list *m_list;
-  Elf_Internal_Rela *irel;
-  Elf_Internal_Rela rel_backup;
-  struct elf_nds32_insn_times_entry *next;
-};
-
-/* J and JAL symbol list.  */
-struct elf_nds32_symbol_entry
-{
-  char *string;
-  unsigned long insn;
-  struct elf_nds32_symbol_entry *next;
-};
-
-/* Relocation list.  */
-struct elf_nds32_irel_entry
-{
-  Elf_Internal_Rela *irel;
-  struct elf_nds32_irel_entry *next;
-};
-
-/* ex9.it insn need to be fixed.  */
-struct elf_nds32_ex9_refix
-{
-  Elf_Internal_Rela *irel;
-  asection *sec;
-  struct elf_link_hash_entry *h;
-  int order;
-  struct elf_nds32_ex9_refix *next;
-};
-
-static struct bfd_hash_table ex9_code_table;
-static struct elf_nds32_insn_times_entry *ex9_insn_head = NULL;
-static struct elf_nds32_ex9_refix *ex9_refix_head = NULL;
-
-/* EX9 hash function.  */
-
-static struct bfd_hash_entry *
-nds32_elf_code_hash_newfunc (struct bfd_hash_entry *entry,
-			     struct bfd_hash_table *table,
-			     const char *string)
-{
-  struct elf_nds32_code_hash_entry *ret;
-
-  /* Allocate the structure if it has not already been allocated by a
-     subclass.  */
-  if (entry == NULL)
-    {
-      entry = (struct bfd_hash_entry *)
-	bfd_hash_allocate (table, sizeof (*ret));
-      if (entry == NULL)
-	return entry;
-    }
-
-  /* Call the allocation method of the superclass.  */
-  entry = bfd_hash_newfunc (entry, table, string);
-  if (entry == NULL)
-    return entry;
-
-  ret = (struct elf_nds32_code_hash_entry*) entry;
-  ret->times = 0;
-  ret->const_insn = 0;
-  ret->m_list = NULL;
-  ret->sec = NULL;
-  ret->irel = NULL;
-  return &ret->root;
-}
-
-/* Insert ex9 entry
-   this insert must be stable sorted by times.  */
-
-static void
-nds32_elf_ex9_insert_entry (struct elf_nds32_insn_times_entry *ptr)
-{
-  struct elf_nds32_insn_times_entry *temp;
-  struct elf_nds32_insn_times_entry *temp2;
-
-  if (ex9_insn_head == NULL)
-    {
-      ex9_insn_head = ptr;
-      ptr->next = NULL;
-    }
-  else
-    {
-      temp = ex9_insn_head;
-      temp2 = ex9_insn_head;
-      while (temp->next &&
-	     (temp->next->times >= ptr->times
-	      || temp->times == -1))
-	{
-	  if (temp->times == -1)
-	    temp2 = temp;
-	  temp = temp->next;
-	}
-      if (ptr->times > temp->times && temp->times != -1)
-	{
-	  ptr->next = temp;
-	  if (temp2->times == -1)
-	    temp2->next = ptr;
-	  else
-	    ex9_insn_head = ptr;
-	}
-      else if (temp->next == NULL)
-	{
-	  temp->next = ptr;
-	  ptr->next = NULL;
-	}
-      else
-	{
-	  ptr->next = temp->next;
-	  temp->next = ptr;
-	}
-    }
-}
-
-/* Examine each insn times in hash table.
-   Handle multi-link hash entry.
-
-   TODO: This function doesn't assign so much info since it is fake.  */
-
-static int
-nds32_elf_examine_insn_times (struct elf_nds32_code_hash_entry *h)
-{
-  struct elf_nds32_insn_times_entry *ptr;
-  int times;
-
-  if (h->m_list == NULL)
-    {
-      /* Local symbol insn or insn without relocation.  */
-      if (h->times < 3)
-	return TRUE;
-
-      ptr = (struct elf_nds32_insn_times_entry *)
-	bfd_malloc (sizeof (struct elf_nds32_insn_times_entry));
-      ptr->times = h->times;
-      ptr->string = h->root.string;
-      ptr->m_list = NULL;
-      ptr->sec = h->sec;
-      ptr->irel = h->irel;
-      ptr->rel_backup = h->rel_backup;
-      nds32_elf_ex9_insert_entry (ptr);
-    }
-  else
-    {
-      /* Global symbol insn.  */
-      /* Only sethi insn has multiple m_list.  */
-      struct elf_link_hash_entry_mul_list *m_list = h->m_list;
-
-      times = 0;
-      while (m_list)
-	{
-	  times += m_list->times;
-	  m_list = m_list->next;
-	}
-      if (times >= 3)
-	{
-	  m_list = h->m_list;
-	  ptr = (struct elf_nds32_insn_times_entry *)
-	    bfd_malloc (sizeof (struct elf_nds32_insn_times_entry));
-	  ptr->times = times; /* Use the total times.  */
-	  ptr->string = h->root.string;
-	  ptr->m_list = m_list;
-	  ptr->sec = h->sec;
-	  ptr->irel = m_list->irel;
-	  ptr->rel_backup = m_list->rel_backup;
-	  nds32_elf_ex9_insert_entry (ptr);
-	}
-      if (h->const_insn == 1)
-	{
-	  /* sethi with constant value.  */
-	  if (h->times < 3)
-	    return TRUE;
-
-	  ptr = (struct elf_nds32_insn_times_entry *)
-	    bfd_malloc (sizeof (struct elf_nds32_insn_times_entry));
-	  ptr->times = h->times;
-	  ptr->string = h->root.string;
-	  ptr->m_list = NULL;
-	  ptr->sec = NULL;
-	  ptr->irel = NULL;
-	  ptr->rel_backup = h->rel_backup;
-	  nds32_elf_ex9_insert_entry (ptr);
-	}
-    }
-  return TRUE;
-}
-
-/* Count each insn times in hash table.
-   Handle multi-link hash entry.  */
-
-static int
-nds32_elf_count_insn_times (struct elf_nds32_code_hash_entry *h)
-{
-  int reservation, times;
-  unsigned long relocation, min_relocation;
-  struct elf_nds32_insn_times_entry *ptr;
-
-  if (h->m_list == NULL)
-    {
-      /* Local symbol insn or insn without relocation.  */
-      if (h->times < 3)
-	return TRUE;
-      ptr = (struct elf_nds32_insn_times_entry *)
-	bfd_malloc (sizeof (struct elf_nds32_insn_times_entry));
-      ptr->times = h->times;
-      ptr->string = h->root.string;
-      ptr->m_list = NULL;
-      ptr->sec = h->sec;
-      ptr->irel = h->irel;
-      ptr->rel_backup = h->rel_backup;
-      nds32_elf_ex9_insert_entry (ptr);
-    }
-  else
-    {
-      /* Global symbol insn.  */
-      /* Only sethi insn has multiple m_list.  */
-      struct elf_link_hash_entry_mul_list *m_list = h->m_list;
-
-      if (ELF32_R_TYPE (m_list->rel_backup.r_info) == R_NDS32_HI20_RELA
-	  && m_list->next != NULL)
-	{
-	  /* Sethi insn has different symbol or addend but has same hi20.  */
-	  times = 0;
-	  reservation = 1;
-	  relocation = 0;
-	  min_relocation = 0xffffffff;
-	  while (m_list)
-	    {
-	      /* Get the minimum sethi address
-		 and calculate how many entry the sethi-list have to use.  */
-	      if ((m_list->h_list->h->root.type == bfd_link_hash_defined
-		   || m_list->h_list->h->root.type == bfd_link_hash_defweak)
-		  && (m_list->h_list->h->root.u.def.section != NULL
-		      && m_list->h_list->h->root.u.def.section->output_section != NULL))
-		{
-		  relocation = (m_list->h_list->h->root.u.def.value +
-				m_list->h_list->h->root.u.def.section->output_section->vma +
-				m_list->h_list->h->root.u.def.section->output_offset);
-		  relocation += m_list->irel->r_addend;
-		}
-	      else
-		relocation = 0;
-	      if (relocation < min_relocation)
-		min_relocation = relocation;
-	      times += m_list->times;
-	      m_list = m_list->next;
-	    }
-	  if (min_relocation < ex9_relax_size)
-	    reservation = (min_relocation >> 12) + 1;
-	  else
-	    reservation = (min_relocation >> 12)
-			  - ((min_relocation - ex9_relax_size) >> 12) + 1;
-	  if (reservation < (times / 3))
-	    {
-	      /* Efficient enough to use ex9.  */
-	      int i;
-
-	      for (i = reservation ; i > 0; i--)
-		{
-		  /* Allocate number of reservation ex9 entry.  */
-		  ptr = (struct elf_nds32_insn_times_entry *)
-		    bfd_malloc (sizeof (struct elf_nds32_insn_times_entry));
-		  ptr->times = h->m_list->times / reservation;
-		  ptr->string = h->root.string;
-		  ptr->m_list = h->m_list;
-		  ptr->sec = h->sec;
-		  ptr->irel = h->m_list->irel;
-		  ptr->rel_backup = h->m_list->rel_backup;
-		  nds32_elf_ex9_insert_entry (ptr);
-		}
-	    }
-	}
-      else
-	{
-	  /* Normal global symbol that means no different address symbol
-	     using same ex9 entry.  */
-	  if (m_list->times >= 3)
-	    {
-	      ptr = (struct elf_nds32_insn_times_entry *)
-		bfd_malloc (sizeof (struct elf_nds32_insn_times_entry));
-	      ptr->times = m_list->times;
-	      ptr->string = h->root.string;
-	      ptr->m_list = h->m_list;
-	      ptr->sec = h->sec;
-	      ptr->irel = h->m_list->irel;
-	      ptr->rel_backup = h->m_list->rel_backup;
-	      nds32_elf_ex9_insert_entry (ptr);
-	    }
-	}
-
-      if (h->const_insn == 1)
-	{
-	  /* sethi with constant value.  */
-	  if (h->times < 3)
-	    return TRUE;
-
-	  ptr = (struct elf_nds32_insn_times_entry *)
-	    bfd_malloc (sizeof (struct elf_nds32_insn_times_entry));
-	  ptr->times = h->times;
-	  ptr->string = h->root.string;
-	  ptr->m_list = NULL;
-	  ptr->sec = NULL;
-	  ptr->irel = NULL;
-	  ptr->rel_backup = h->rel_backup;
-	  nds32_elf_ex9_insert_entry (ptr);
-	}
-    }
-
-  return TRUE;
-}
-
-/* Hash table traverse function.  */
-
-static void
-nds32_elf_code_hash_traverse (int (*func) (struct elf_nds32_code_hash_entry*))
-{
-  unsigned int i;
-
-  ex9_code_table.frozen = 1;
-  for (i = 0; i < ex9_code_table.size; i++)
-    {
-      struct bfd_hash_entry *p;
-
-      for (p = ex9_code_table.table[i]; p != NULL; p = p->next)
-	if (!func ((struct elf_nds32_code_hash_entry *) p))
-	  goto out;
-    }
-out:
-  ex9_code_table.frozen = 0;
-}
-
-
-/* Give order number to insn list.  */
-
-static void
-nds32_elf_order_insn_times (struct bfd_link_info *info)
-{
-  struct elf_nds32_insn_times_entry *ex9_insn;
-  struct elf_nds32_insn_times_entry *temp = NULL;
-  struct elf_nds32_link_hash_table *table;
-  int ex9_limit;
-  int number = 0;
-
-  if (ex9_insn_head == NULL)
-    return;
-
-/* The max number of entries is 512.  */
-  ex9_insn = ex9_insn_head;
-  table = nds32_elf_hash_table (info);
-  ex9_limit = table->ex9_limit;
-
-  ex9_insn = ex9_insn_head;
-
-  while (ex9_insn != NULL && number < ex9_limit)
-    {
-      ex9_insn->order = number;
-      number++;
-      temp = ex9_insn;
-      ex9_insn = ex9_insn->next;
-    }
-
-  if (ex9_insn && temp)
-    temp->next = NULL;
-
-  while (ex9_insn != NULL)
-    {
-      /* Free useless entry.  */
-      temp = ex9_insn;
-      ex9_insn = ex9_insn->next;
-      free (temp);
-    }
-}
-
-/* Build .ex9.itable section.  */
-
-static void
-nds32_elf_ex9_build_itable (struct bfd_link_info *link_info)
-{
-  asection *table_sec;
-  struct elf_nds32_insn_times_entry *ptr;
-  bfd *it_abfd;
-  int number = 0;
-  bfd_byte *contents = NULL;
-
-  for (it_abfd = link_info->input_bfds; it_abfd != NULL;
-       it_abfd = it_abfd->link.next)
-    {
-      /* Find the section .ex9.itable, and put all entries into it.  */
-      table_sec = bfd_get_section_by_name (it_abfd, ".ex9.itable");
-      if (table_sec != NULL)
-	{
-	  if (!nds32_get_section_contents (it_abfd, table_sec, &contents, TRUE))
-	    return;
-
-	  for (ptr = ex9_insn_head; ptr !=NULL ; ptr = ptr->next)
-	    number++;
-
-	  table_sec->size = number * 4;
-
-	  if (number == 0)
-	    return;
-
-	  elf_elfheader (link_info->output_bfd)->e_flags |= E_NDS32_HAS_EX9_INST;
-	  number = 0;
-	  for (ptr = ex9_insn_head; ptr !=NULL ; ptr = ptr->next)
-	    {
-	      long val;
-
-	      val = strtol (ptr->string, NULL, 16);
-	      bfd_putb32 ((bfd_vma) val, (char *) contents + (number * 4));
-	      number++;
-	    }
-	  break;
-	}
-    }
-}
-
-/* Get insn with regs according to relocation type.  */
-
-static void
-nds32_elf_get_insn_with_reg (Elf_Internal_Rela *irel,
-			     uint32_t insn, uint32_t *insn_with_reg)
-{
-  reloc_howto_type *howto = NULL;
-
-  if (irel == NULL
-      || (ELF32_R_TYPE (irel->r_info) >= (int) ARRAY_SIZE (nds32_elf_howto_table)
-	  && (ELF32_R_TYPE (irel->r_info) - R_NDS32_RELAX_ENTRY)
-	     >= (int) ARRAY_SIZE (nds32_elf_relax_howto_table)))
-    {
-      *insn_with_reg = insn;
-      return;
-    }
-
-  howto = bfd_elf32_bfd_reloc_type_table_lookup (ELF32_R_TYPE (irel->r_info));
-  *insn_with_reg = insn & (0xffffffff ^ howto->dst_mask);
-}
-
-/* Mask number of address bits according to relocation.  */
-
-static unsigned long
-nds32_elf_irel_mask (Elf_Internal_Rela *irel)
-{
-  reloc_howto_type *howto = NULL;
-
-  if (irel == NULL
-      || (ELF32_R_TYPE (irel->r_info) >= (int) ARRAY_SIZE (nds32_elf_howto_table)
-	  && (ELF32_R_TYPE (irel->r_info) - R_NDS32_RELAX_ENTRY)
-	     >= (int) ARRAY_SIZE (nds32_elf_relax_howto_table)))
-    return 0;
-
-  howto = bfd_elf32_bfd_reloc_type_table_lookup (ELF32_R_TYPE (irel->r_info));
-  return howto->dst_mask;
-}
-
-static void
-nds32_elf_insert_irel_entry (struct elf_nds32_irel_entry **irel_list,
-			     struct elf_nds32_irel_entry *irel_ptr)
-{
-  if (*irel_list == NULL)
-    {
-      *irel_list = irel_ptr;
-      irel_ptr->next = NULL;
-    }
-  else
-    {
-      irel_ptr->next = *irel_list;
-      *irel_list = irel_ptr;
-    }
-}
-
-static void
-nds32_elf_ex9_insert_fix (asection * sec, Elf_Internal_Rela * irel,
-			  struct elf_link_hash_entry *h, int order)
-{
-  struct elf_nds32_ex9_refix *ptr;
-
-  ptr = bfd_malloc (sizeof (struct elf_nds32_ex9_refix));
-  ptr->sec = sec;
-  ptr->irel = irel;
-  ptr->h = h;
-  ptr->order = order;
-  ptr->next = NULL;
-
-  if (ex9_refix_head == NULL)
-    ex9_refix_head = ptr;
-  else
-    {
-      struct elf_nds32_ex9_refix *temp = ex9_refix_head;
-
-      while (temp->next != NULL)
-	temp = temp->next;
-      temp->next = ptr;
-    }
-}
-
-enum
-{
-  DATA_EXIST = 1,
-  CLEAN_PRE = 1 << 1,
-  PUSH_PRE = 1 << 2
-};
-
-/* Check relocation type if supporting for ex9.  */
-
-static int
-nds32_elf_ex9_relocation_check (struct bfd_link_info *info,
-				Elf_Internal_Rela **irel,
-				Elf_Internal_Rela *irelend,
-				nds32_elf_blank_t *relax_blank_list,
-				asection *sec,bfd_vma *off,
-				bfd_byte *contents)
-{
-  /* Suppress ex9 if `.no_relax ex9' or inner loop.  */
-  bfd_boolean nested_ex9, nested_loop;
-  bfd_boolean ex9_loop_aware;
-  /* We use the highest 1 byte of result to record
-     how many bytes location counter has to move.  */
-  int result = 0;
-  Elf_Internal_Rela *irel_save = NULL;
-  struct elf_nds32_link_hash_table *table;
-
-  table = nds32_elf_hash_table (info);
-  ex9_loop_aware = table->ex9_loop_aware;
-
-  while ((*irel) != NULL && (*irel) < irelend && *off == (*irel)->r_offset)
-    {
-      switch (ELF32_R_TYPE ((*irel)->r_info))
-	{
-	case R_NDS32_RELAX_REGION_BEGIN:
-	  /* Ignore code block.  */
-	  nested_ex9 = FALSE;
-	  nested_loop = FALSE;
-	  if (((*irel)->r_addend & R_NDS32_RELAX_REGION_NO_EX9_FLAG)
-	      || (ex9_loop_aware
-		  && ((*irel)->r_addend & R_NDS32_RELAX_REGION_INNERMOST_LOOP_FLAG)))
-	    {
-	      /* Check the region if loop or not.  If it is true and
-		 ex9-loop-aware is true, ignore the region till region end.  */
-	      /* To save the status for in .no_relax ex9 region and
-		 loop region to conform the block can do ex9 relaxation.  */
-	      nested_ex9 = ((*irel)->r_addend & R_NDS32_RELAX_REGION_NO_EX9_FLAG);
-	      nested_loop = (ex9_loop_aware
-			     && ((*irel)->r_addend & R_NDS32_RELAX_REGION_INNERMOST_LOOP_FLAG));
-	      while ((*irel) && (*irel) < irelend && (nested_ex9 || nested_loop))
-		{
-		  (*irel)++;
-		  if (ELF32_R_TYPE ((*irel)->r_info) == R_NDS32_RELAX_REGION_BEGIN)
-		    {
-		      /* There may be nested region.  */
-		      if (((*irel)->r_addend & R_NDS32_RELAX_REGION_NO_EX9_FLAG) != 0)
-			nested_ex9 = TRUE;
-		      else if (ex9_loop_aware
-			       && ((*irel)->r_addend & R_NDS32_RELAX_REGION_INNERMOST_LOOP_FLAG))
-			nested_loop = TRUE;
-		    }
-		  else if (ELF32_R_TYPE ((*irel)->r_info) == R_NDS32_RELAX_REGION_END)
-		    {
-		      /* The end of region.  */
-		      if (((*irel)->r_addend & R_NDS32_RELAX_REGION_NO_EX9_FLAG) != 0)
-			nested_ex9 = FALSE;
-		      else if (ex9_loop_aware
-			       && ((*irel)->r_addend & R_NDS32_RELAX_REGION_INNERMOST_LOOP_FLAG))
-			nested_loop = FALSE;
-		    }
-		  else if (ELF32_R_TYPE ((*irel)->r_info) == R_NDS32_LABEL
-			   && ((*irel)->r_addend & 0x1f) == 2)
-		    {
-		      /* Alignment exist in the region.  */
-		      result |= CLEAN_PRE;
-		      if (((*irel)->r_offset -
-			   get_nds32_elf_blank_total (&relax_blank_list,
-						      (*irel)->r_offset, 0)) & 0x02)
-			result |= PUSH_PRE;
-		    }
-		}
-	      if ((*irel) >= irelend)
-		*off = sec->size;
-	      else
-		*off = (*irel)->r_offset;
-
-	      /* The final instruction in the region, regard this one as data to ignore it.  */
-	      result |= DATA_EXIST;
-	      return result;
-	    }
-	  break;
-
-	case R_NDS32_LABEL:
-	  if (((*irel)->r_addend & 0x1f) == 2)
-	    {
-	      /* Check this point is align and decide to do ex9 or not.  */
-	      result |= CLEAN_PRE;
-	      if (((*irel)->r_offset -
-		   get_nds32_elf_blank_total (&relax_blank_list,
-					      (*irel)->r_offset, 0)) & 0x02)
-		result |= PUSH_PRE;
-	    }
-	  break;
-	case R_NDS32_32_RELA:
-	  /* Data.  */
-	  result |= (4 << 24);
-	  result |= DATA_EXIST;
-	  break;
-	case R_NDS32_16_RELA:
-	  /* Data.  */
-	  result |= (2 << 24);
-	  result |= DATA_EXIST;
-	  break;
-	case R_NDS32_DATA:
-	  /* Data.  */
-	  /* The least code alignment is 2.  If the data is only one byte,
-	     we have to shift one more byte.  */
-	  if ((*irel)->r_addend == 1)
-	    result |= ((*irel)->r_addend << 25) ;
-	  else
-	    result |= ((*irel)->r_addend << 24) ;
-
-	  result |= DATA_EXIST;
-	  break;
-
-	case R_NDS32_25_PCREL_RELA:
-	case R_NDS32_SDA16S3_RELA:
-	case R_NDS32_SDA15S3_RELA:
-	case R_NDS32_SDA15S3:
-	case R_NDS32_SDA17S2_RELA:
-	case R_NDS32_SDA15S2_RELA:
-	case R_NDS32_SDA12S2_SP_RELA:
-	case R_NDS32_SDA12S2_DP_RELA:
-	case R_NDS32_SDA15S2:
-	case R_NDS32_SDA18S1_RELA:
-	case R_NDS32_SDA15S1_RELA:
-	case R_NDS32_SDA15S1:
-	case R_NDS32_SDA19S0_RELA:
-	case R_NDS32_SDA15S0_RELA:
-	case R_NDS32_SDA15S0:
-	case R_NDS32_HI20_RELA:
-	case R_NDS32_LO12S0_ORI_RELA:
-	case R_NDS32_LO12S0_RELA:
-	case R_NDS32_LO12S1_RELA:
-	case R_NDS32_LO12S2_RELA:
-	  /* These relocation is supported ex9 relaxation currently.  */
-	  /* We have to save the relocation for using later, since we have
-	     to check there is any alignment in the same address.  */
-	  irel_save = *irel;
-	  break;
-	default:
-	  /* Not support relocations.  */
-	  if (ELF32_R_TYPE ((*irel)->r_info) < ARRAY_SIZE (nds32_elf_howto_table)
-	      && ELF32_R_TYPE ((*irel)->r_info) != R_NDS32_NONE
-	      && ELF32_R_TYPE ((*irel)->r_info) != R_NDS32_INSN16)
-	    {
-	      /* Note: To optimize aggressively, it maybe can ignore R_NDS32_INSN16 here.
-		 But we have to consider if there is any side-effect.  */
-	      if (!(result & DATA_EXIST))
-		{
-		  /* We have to confirm there is no data relocation in the
-		     same address.  In general case, this won't happen.  */
-		  /* We have to do ex9 conservative, for those relocation not
-		     considerd we ignore instruction.  */
-		  result |= DATA_EXIST;
-		  if (*(contents + *off) & 0x80)
-		    result |= (2 << 24);
-		  else
-		    result |= (4 << 24);
-		  break;
-		}
-	    }
-	}
-      if ((*irel) < irelend
-	  && ((*irel) + 1) < irelend
-	  && (*irel)->r_offset == ((*irel) + 1)->r_offset)
-	/* There are relocations pointing to the same address, we have to
-	   check all of them.  */
-	(*irel)++;
-      else
-	{
-	  if (irel_save)
-	    *irel = irel_save;
-	  return result;
-	}
-    }
-  return result;
-}
-
-/* Replace with ex9 instruction.  */
-
-static bfd_boolean
-nds32_elf_ex9_push_insn (uint16_t insn16, bfd_byte *contents, bfd_vma pre_off,
-			 nds32_elf_blank_t **relax_blank_list,
-			 struct elf_nds32_irel_entry *pre_irel_ptr,
-			 struct elf_nds32_irel_entry **irel_list)
-{
-  if (insn16 != 0)
-    {
-      /* Implement the ex9 relaxation.  */
-      bfd_putb16 (insn16, contents + pre_off);
-      if (!insert_nds32_elf_blank_recalc_total (relax_blank_list,
-						pre_off + 2, 2))
-	return FALSE;
-      if (pre_irel_ptr != NULL)
-	nds32_elf_insert_irel_entry (irel_list, pre_irel_ptr);
-    }
-  return TRUE;
-}
-
-/* Replace input file instruction which is in ex9 itable.  */
-
-static bfd_boolean
-nds32_elf_ex9_replace_instruction (struct bfd_link_info *info, bfd *abfd, asection *sec)
-{
-  struct elf_nds32_insn_times_entry *ex9_insn = ex9_insn_head;
-  bfd_byte *contents = NULL;
-  bfd_vma off;
-  uint16_t insn16, insn_ex9;
-  /* `pre_*' are used to track previous instruction that can use ex9.it.  */
-  bfd_vma pre_off = -1;
-  uint16_t pre_insn16 = 0;
-  struct elf_nds32_irel_entry *pre_irel_ptr = NULL;
-  Elf_Internal_Rela *internal_relocs;
-  Elf_Internal_Rela *irel;
-  Elf_Internal_Rela *irelend;
-  Elf_Internal_Shdr *symtab_hdr;
-  Elf_Internal_Sym *isym = NULL;
-  nds32_elf_blank_t *relax_blank_list = NULL;
-  uint32_t insn = 0;
-  uint32_t insn_with_reg = 0;
-  uint32_t it_insn;
-  uint32_t it_insn_with_reg;
-  unsigned long r_symndx;
-  asection *isec;
-  struct elf_nds32_irel_entry *irel_list = NULL;
-  struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (abfd);
-  int data_flag, do_replace, save_irel;
-  struct elf_link_hash_entry_list *h_list;
-
-
-  /* Load section instructions, relocations, and symbol table.  */
-  if (!nds32_get_section_contents (abfd, sec, &contents, TRUE)
-      || !nds32_get_local_syms (abfd, sec, &isym))
-    return FALSE;
-  internal_relocs =
-    _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL, TRUE /* keep_memory */);
-  irelend = internal_relocs + sec->reloc_count;
-  symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
-
-  off = 0;
-
-  /* Check if the object enable ex9.  */
-  irel = find_relocs_at_address (internal_relocs, internal_relocs,
-				 irelend, R_NDS32_RELAX_ENTRY);
-
-  /* Check this section trigger ex9 relaxation.  */
-  if (irel == NULL
-      || irel >= irelend
-      || ELF32_R_TYPE (irel->r_info) != R_NDS32_RELAX_ENTRY
-      || (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_ENTRY
-	  && !(irel->r_addend & R_NDS32_RELAX_ENTRY_EX9_FLAG)))
-    return TRUE;
-
-  irel = internal_relocs;
-
-  /* Check alignment and fetch proper relocation.  */
-  while (off < sec->size)
-    {
-      struct elf_link_hash_entry *h = NULL;
-      struct elf_nds32_irel_entry *irel_ptr = NULL;
-
-      /* Syn the instruction and the relocation.  */
-      while (irel != NULL && irel < irelend && irel->r_offset < off)
-	irel++;
-
-      data_flag = nds32_elf_ex9_relocation_check (info, &irel, irelend,
-						  relax_blank_list, sec,
-						  &off, contents);
-      if (data_flag & PUSH_PRE)
-	if (!nds32_elf_ex9_push_insn (pre_insn16, contents, pre_off,
-				      &relax_blank_list, pre_irel_ptr,
-				      &irel_list))
-	  return FALSE;
-
-      if (data_flag & CLEAN_PRE)
-	{
-	  pre_off = 0;
-	  pre_insn16 = 0;
-	  pre_irel_ptr = NULL;
-	}
-      if (data_flag & DATA_EXIST)
-	{
-	  /* We save the move offset in the highest byte.  */
-	  off += (data_flag >> 24);
-	  continue;
-	}
-
-      if (*(contents + off) & 0x80)
-	{
-	  /* 2-byte instruction.  */
-	  off += 2;
-	  continue;
-	}
-
-      /* Load the instruction and its opcode with register for comparing.  */
-      ex9_insn = ex9_insn_head;
-      insn = bfd_getb32 (contents + off);
-      insn_with_reg = 0;
-      while (ex9_insn)
-	{
-	  it_insn = strtol (ex9_insn->string, NULL, 16);
-	  it_insn_with_reg = 0;
-	  do_replace = 0;
-	  save_irel = 0;
-
-	  if (irel != NULL && irel < irelend && irel->r_offset == off)
-	    {
-	      /* Insn with relocation.  */
-	      nds32_elf_get_insn_with_reg (irel, insn, &insn_with_reg);
-
-	      if (ex9_insn->irel != NULL)
-		nds32_elf_get_insn_with_reg (ex9_insn->irel, it_insn,
-					     &it_insn_with_reg);
-
-	      if (ex9_insn->irel != NULL
-		  && (ELF32_R_TYPE (irel->r_info) ==
-		      ELF32_R_TYPE (ex9_insn->irel->r_info))
-		  && (insn_with_reg == it_insn_with_reg))
-		{
-		  /* Insn relocation and format is the same as table entry.  */
-
-		  if (ELF32_R_TYPE (irel->r_info) == R_NDS32_25_PCREL_RELA
-		      || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S0_ORI_RELA
-		      || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S0_RELA
-		      || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S1_RELA
-		      || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S2_RELA
-		      || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA15S3
-			  && ELF32_R_TYPE (irel->r_info) <= R_NDS32_SDA15S0)
-		      || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA15S3_RELA
-			  && ELF32_R_TYPE (irel->r_info) <= R_NDS32_SDA15S0_RELA)
-		      || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA12S2_DP_RELA
-			  && ELF32_R_TYPE (irel->r_info) <=
-			  R_NDS32_SDA12S2_SP_RELA)
-		      || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA16S3_RELA
-			  && ELF32_R_TYPE (irel->r_info) <= R_NDS32_SDA19S0_RELA))
-		    {
-		      r_symndx = ELF32_R_SYM (irel->r_info);
-		      if (r_symndx < symtab_hdr->sh_info)
-			{
-			  /* Local symbol.  */
-			  int shndx = isym[r_symndx].st_shndx;
-
-			  isec = elf_elfsections (abfd)[shndx]->bfd_section;
-			  if (ex9_insn->sec == isec
-			      && ex9_insn->irel->r_addend == irel->r_addend
-			      && ex9_insn->irel->r_info == irel->r_info)
-			    {
-			      do_replace = 1;
-			      save_irel = 1;
-			    }
-			}
-		      else
-			{
-			  /* External symbol.  */
-			  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
-			  if (ex9_insn->m_list)
-			    {
-			      h_list = ex9_insn->m_list->h_list;
-			      while (h_list)
-				{
-				  if (h == h_list->h
-				      && (ex9_insn->m_list->irel->r_addend ==
-					  irel->r_addend))
-				    {
-				      do_replace = 1;
-				      save_irel = 1;
-				      break;
-				    }
-				  h_list = h_list->next;
-				}
-			    }
-			}
-		    }
-		  else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_HI20_RELA)
-		    {
-		      r_symndx = ELF32_R_SYM (irel->r_info);
-		      if (r_symndx < symtab_hdr->sh_info)
-			{
-			  /* Local symbols.  Compare its base symbol and offset.  */
-			  int shndx = isym[r_symndx].st_shndx;
-
-			  isec = elf_elfsections (abfd)[shndx]->bfd_section;
-			  if (ex9_insn->sec == isec
-			      && ex9_insn->irel->r_addend == irel->r_addend
-			      && ex9_insn->irel->r_info == irel->r_info)
-			    {
-			      do_replace = 1;
-			      save_irel = 1;
-			    }
-			}
-		      else
-			{
-			  /* External symbol.  */
-			  struct elf_link_hash_entry_mul_list *m_list;
-
-			  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
-			  m_list = ex9_insn->m_list;
-
-			  while (m_list)
-			    {
-			      h_list = m_list->h_list;
-
-			      while (h_list)
-				{
-				  if (h == h_list->h
-				      && (m_list->irel->r_addend
-					  == irel->r_addend))
-				    {
-				      do_replace = 1;
-				      save_irel = 1;
-				      if (ex9_insn->next
-					  && ex9_insn->m_list
-					  && ex9_insn->m_list == ex9_insn->next->m_list)
-					{
-					  /* sethi multiple entry must be fixed */
-					  nds32_elf_ex9_insert_fix (sec, irel,
-								    h, ex9_insn->order);
-					}
-				      break;
-				    }
-				  h_list = h_list->next;
-				}
-			      m_list = m_list->next;
-			    }
-			}
-		    }
-		}
-
-	      /* Import table: Check the symbol hash table and the
-		 jump target.  Only R_NDS32_25_PCREL_RELA now.  */
-	      else if (ex9_insn->times == -1
-		       && ELF32_R_TYPE (irel->r_info) == R_NDS32_25_PCREL_RELA)
-		{
-		  nds32_elf_get_insn_with_reg (irel, it_insn, &it_insn_with_reg);
-		  if (insn_with_reg == it_insn_with_reg)
-		    {
-		      char code[10];
-		      bfd_vma relocation;
-
-		      r_symndx = ELF32_R_SYM (irel->r_info);
-		      if (r_symndx >= symtab_hdr->sh_info)
-			{
-			  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
-			  if ((h->root.type == bfd_link_hash_defined
-			       || h->root.type == bfd_link_hash_defweak)
-			      && h->root.u.def.section != NULL
-			      && h->root.u.def.section->output_section != NULL
-			      && h->root.u.def.section->gc_mark == 1
-			      && bfd_is_abs_section (h->root.u.def.section)
-			      && h->root.u.def.value > sec->size)
-			    {
-			      relocation = h->root.u.def.value +
-				h->root.u.def.section->output_section->vma +
-				h->root.u.def.section->output_offset;
-			      relocation += irel->r_addend;
-			      insn = insn_with_reg
-				| ((relocation >> 1) & 0xffffff);
-			      snprintf (code, sizeof (code), "%08x", insn);
-			      if (strcmp (code, ex9_insn->string) == 0)
-				{
-				  do_replace = 1;
-				  save_irel = 1;
-				}
-			    }
-			}
-		    }
-		}
-	      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_BEGIN
-		       || ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_END
-		       || ELF32_R_TYPE (irel->r_info) == R_NDS32_NONE)
-		{
-		  /* These relocations do not have to relocate contens, so it can
-		     be regard as instruction without relocation.  */
-		  if (insn == it_insn && ex9_insn->irel == NULL)
-		    do_replace = 1;
-		}
-	    }
-	  else
-	    {
-	      /* Instruction without relocation, we only
-		 have to compare their byte code.  */
-	      if (insn == it_insn && ex9_insn->irel == NULL)
-		do_replace = 1;
-	    }
-
-	  /* Insntruction match so replacing the code here.  */
-	  if (do_replace == 1)
-	    {
-	      /* There are two formats of ex9 instruction.  */
-	      if (ex9_insn->order < 32)
-		insn_ex9 = INSN_EX9_IT_2;
-	      else
-		insn_ex9 = INSN_EX9_IT_1;
-	      insn16 = insn_ex9 | ex9_insn->order;
-
-	      /* Insert ex9 instruction.  */
-	      nds32_elf_ex9_push_insn (pre_insn16, contents, pre_off,
-				       &relax_blank_list, pre_irel_ptr,
-				       &irel_list);
-	      pre_off = off;
-	      pre_insn16 = insn16;
-
-	      if (save_irel)
-		{
-		  /* For instuction with relocation do relax.  */
-		  irel_ptr = (struct elf_nds32_irel_entry *)
-		    bfd_malloc (sizeof (struct elf_nds32_irel_entry));
-		  irel_ptr->irel = irel;
-		  irel_ptr->next = NULL;
-		  pre_irel_ptr = irel_ptr;
-		}
-	      else
-		pre_irel_ptr = NULL;
-	      break;
-	    }
-	  ex9_insn = ex9_insn->next;
-	}
-      off += 4;
-    }
-
-  /* Insert ex9 instruction.  */
-  nds32_elf_ex9_push_insn (pre_insn16, contents, pre_off,
-			   &relax_blank_list, pre_irel_ptr,
-			   &irel_list);
-
-  /* Delete the redundant code.  */
-  if (relax_blank_list)
-    {
-      nds32_elf_relax_delete_blanks (abfd, sec, relax_blank_list);
-      relax_blank_list = NULL;
-    }
-
-  /* Clear the relocation that is replaced by ex9.  */
-  while (irel_list)
-    {
-      struct elf_nds32_irel_entry *irel_ptr;
-
-      irel_ptr = irel_list;
-      irel_list = irel_ptr->next;
-      irel_ptr->irel->r_info =
-	ELF32_R_INFO (ELF32_R_SYM (irel_ptr->irel->r_info), R_NDS32_TRAN);
-      free (irel_ptr);
-    }
-  return TRUE;
-}
-
-/* Initialize ex9 hash table.  */
-
-int
-nds32_elf_ex9_init (void)
-{
-  if (!bfd_hash_table_init_n (&ex9_code_table, nds32_elf_code_hash_newfunc,
-			      sizeof (struct elf_nds32_code_hash_entry),
-			      1023))
-    {
-      _bfd_error_handler (_("Linker: cannot init ex9 hash table error \n"));
-      return FALSE;
-    }
-  return TRUE;
-}
-
-/* Predict how many bytes will be relaxed with ex9 and ifc.  */
-
-static void
-nds32_elf_ex9_total_relax (struct bfd_link_info *info)
-{
-  struct elf_nds32_insn_times_entry *ex9_insn;
-  struct elf_nds32_insn_times_entry *temp;
-  int target_optimize;
-  struct elf_nds32_link_hash_table *table;
-
-  if (ex9_insn_head == NULL)
-    return;
-
-  table = nds32_elf_hash_table (info);
-  target_optimize  = table->target_optimize;
-  ex9_insn = ex9_insn_head;
-  while (ex9_insn)
-    {
-      ex9_relax_size = ex9_insn->times * 2 + ex9_relax_size;
-      temp = ex9_insn;
-      ex9_insn = ex9_insn->next;
-      free (temp);
-    }
-  ex9_insn_head = NULL;
-
-  if ((target_optimize & NDS32_RELAX_JUMP_IFC_ON))
-    {
-      /* Examine ifc reduce size.  */
-      struct elf_nds32_ifc_symbol_entry *ifc_ent = ifc_symbol_head;
-      struct elf_nds32_ifc_irel_list *irel_ptr = NULL;
-      int size = 0;
-
-      while (ifc_ent)
-	{
-	  if (ifc_ent->enable == 0)
-	    {
-	      /* Not ifc yet.  */
-	      irel_ptr = ifc_ent->irel_head;
-	      while (irel_ptr)
-		{
-		  size += 2;
-		  irel_ptr = irel_ptr->next;
-		}
-	    }
-	  size -= 2;
-	  ifc_ent = ifc_ent->next;
-	}
-      ex9_relax_size += size;
-    }
-}
-
-/* Finish ex9 table.  */
-
-void
-nds32_elf_ex9_finish (struct bfd_link_info *link_info)
-{
-  nds32_elf_code_hash_traverse (nds32_elf_examine_insn_times);
-  nds32_elf_order_insn_times (link_info);
-  nds32_elf_ex9_total_relax (link_info);
-  /* Traverse the hash table and count its times.  */
-  nds32_elf_code_hash_traverse (nds32_elf_count_insn_times);
-  nds32_elf_order_insn_times (link_info);
-  nds32_elf_ex9_build_itable (link_info);
-}
-
-/* Relocate the entries in ex9 table.  */
-
-static bfd_vma
-nds32_elf_ex9_reloc_insn (struct elf_nds32_insn_times_entry *ptr,
-			  struct bfd_link_info *link_info)
-{
-  Elf_Internal_Sym *isym = NULL;
-  bfd_vma relocation = -1;
-  struct elf_link_hash_entry *h;
-
-  if (ptr->m_list != NULL)
-    {
-      /* Global symbol.  */
-      h = ptr->m_list->h_list->h;
-      if ((h->root.type == bfd_link_hash_defined
-	   || h->root.type == bfd_link_hash_defweak)
-	  && h->root.u.def.section != NULL
-	  && h->root.u.def.section->output_section != NULL)
-	{
-
-	  relocation = h->root.u.def.value +
-	    h->root.u.def.section->output_section->vma +
-	    h->root.u.def.section->output_offset;
-	  relocation += ptr->m_list->irel->r_addend;
-	}
-      else
-	relocation = 0;
-    }
-  else if (ptr->sec !=NULL)
-    {
-      /* Local symbol.  */
-      Elf_Internal_Sym sym;
-      asection *sec = NULL;
-      asection isec;
-      asection *isec_ptr = &isec;
-      Elf_Internal_Rela irel_backup = *(ptr->irel);
-      asection *sec_backup = ptr->sec;
-      bfd *abfd = ptr->sec->owner;
-
-      if (!nds32_get_local_syms (abfd, sec, &isym))
-	return FALSE;
-      isym = isym + ELF32_R_SYM (ptr->irel->r_info);
-
-      sec = bfd_section_from_elf_index (abfd, isym->st_shndx);
-      if (sec != NULL)
-	*isec_ptr = *sec;
-      sym = *isym;
-
-      /* The purpose is same as elf_link_input_bfd.  */
-      if (isec_ptr != NULL
-	  && isec_ptr->sec_info_type == SEC_INFO_TYPE_MERGE
-	  && ELF_ST_TYPE (isym->st_info) != STT_SECTION)
-	{
-	  sym.st_value =
-	    _bfd_merged_section_offset (ptr->sec->output_section->owner, &isec_ptr,
-					elf_section_data (isec_ptr)->sec_info,
-					isym->st_value);
-	}
-      relocation = _bfd_elf_rela_local_sym (link_info->output_bfd, &sym,
-					    &ptr->sec, ptr->irel);
-      if (ptr->irel != NULL)
-	relocation += ptr->irel->r_addend;
-
-      /* Restore origin value since there may be some insntructions that
-	 could not be replaced with ex9.it.  */
-      *(ptr->irel) = irel_backup;
-      ptr->sec = sec_backup;
-    }
-
-  return relocation;
-}
-
-/* Import ex9 table and build list.  */
-
-void
-nds32_elf_ex9_import_table (struct bfd_link_info *info)
-{
-  int num = 0;
-  bfd_byte *contents;
-  FILE *ex9_import_file;
-  int update_ex9_table;
-  struct elf_nds32_link_hash_table *table;
-
-  table = nds32_elf_hash_table (info);
-  ex9_import_file = table->ex9_import_file;
-  rewind (table->ex9_import_file);
-
-  contents = bfd_malloc (sizeof (bfd_byte) * 4);
-
-  /* Read instructions from the input file and build the list.  */
-  while (!feof (ex9_import_file))
-    {
-      unsigned long insn;
-      char *code;
-      struct elf_nds32_insn_times_entry *ptr;
-      size_t nread;
-
-      nread = fread (contents, sizeof (bfd_byte) * 4, 1, ex9_import_file);
-      /* Ignore the final byte 0x0a.  */
-      if (nread < 1)
-	break;
-      insn = bfd_getb32 (contents);
-      code = bfd_malloc (sizeof (char) * 9);
-      snprintf (code, 9, "%08lx", (insn & 0xffffffff));
-      ptr = bfd_malloc (sizeof (struct elf_nds32_insn_times_entry));
-      ptr->string = code;
-      ptr->order = num;
-      ptr->times = -1;
-      ptr->sec = NULL;
-      ptr->m_list = NULL;
-      ptr->rel_backup.r_offset = 0;
-      ptr->rel_backup.r_info = 0;
-      ptr->rel_backup.r_addend = 0;
-      ptr->irel = NULL;
-      ptr->next = NULL;
-      nds32_elf_ex9_insert_entry (ptr);
-      num++;
-    }
-
-  update_ex9_table = table->update_ex9_table;
-  if (update_ex9_table == 1)
-    {
-      /* It has to consider of sethi need to use multiple page
-	 but it not be done yet.  */
-      nds32_elf_code_hash_traverse (nds32_elf_examine_insn_times);
-      nds32_elf_order_insn_times (info);
-    }
-}
-
-/* Export ex9 table.  */
-
-static void
-nds32_elf_ex9_export (struct bfd_link_info *info,
-		      bfd_byte *contents, int size)
-{
-  FILE *ex9_export_file;
-  struct elf_nds32_link_hash_table *table;
-
-  table = nds32_elf_hash_table (info);
-  ex9_export_file = table->ex9_export_file;
-  fwrite (contents, sizeof (bfd_byte), size, ex9_export_file);
-  fclose (ex9_export_file);
-}
-
-/* Adjust relocations of J and JAL in ex9.itable.
-   Export ex9 table.  */
-
-static void
-nds32_elf_ex9_reloc_jmp (struct bfd_link_info *link_info)
-{
-  asection *table_sec = NULL;
-  struct elf_nds32_insn_times_entry *ex9_insn = ex9_insn_head;
-  struct elf_nds32_insn_times_entry *temp_ptr, *temp_ptr2;
-  bfd *it_abfd;
-  uint32_t insn, insn_with_reg, source_insn;
-  bfd_byte *contents = NULL, *source_contents = NULL;
-  int size = 0;
-  bfd_vma gp;
-  int shift, update_ex9_table, offset = 0;
-  reloc_howto_type *howto = NULL;
-  Elf_Internal_Rela rel_backup;
-  unsigned short insn_ex9;
-  struct elf_nds32_link_hash_table *table;
-  FILE *ex9_export_file;
-  static bfd_boolean done = FALSE;
-
-  if (done)
-    return;
-
-  done = TRUE;
-
-  table = nds32_elf_hash_table (link_info);
-  if (table)
-    table->relax_status |= NDS32_RELAX_EX9_DONE;
-
-
-  update_ex9_table = table->update_ex9_table;
-  /* Generated ex9.itable exactly.  */
-  if (update_ex9_table == 0)
-    {
-      for (it_abfd = link_info->input_bfds; it_abfd != NULL;
-	   it_abfd = it_abfd->link.next)
-	{
-	  table_sec = bfd_get_section_by_name (it_abfd, ".ex9.itable");
-	  if (table_sec != NULL)
-	    break;
-	}
-
-      if (table_sec != NULL)
-	{
-	  bfd *output_bfd;
-
-	  output_bfd = table_sec->output_section->owner;
-	  nds32_elf_final_sda_base (output_bfd, link_info, &gp, FALSE);
-	  if (table_sec->size == 0)
-	    return;
-
-	  if (!nds32_get_section_contents (it_abfd, table_sec, &contents, TRUE))
-	    return;
-	}
-    }
-  else
-    {
-      /* Set gp.  */
-      bfd *output_bfd;
-
-      output_bfd = link_info->input_bfds->sections->output_section->owner;
-      nds32_elf_final_sda_base (output_bfd, link_info, &gp, FALSE);
-      contents = bfd_malloc (sizeof (bfd_byte) * 2048);
-    }
-
-  /* Relocate instruction.  */
-  while (ex9_insn)
-    {
-      bfd_vma relocation, min_relocation = 0xffffffff;
-
-      insn = strtol (ex9_insn->string, NULL, 16);
-      insn_with_reg = 0;
-      if (ex9_insn->m_list != NULL || ex9_insn->sec != NULL)
-	{
-	  if (ex9_insn->m_list)
-	    rel_backup = ex9_insn->m_list->rel_backup;
-	  else
-	    rel_backup = ex9_insn->rel_backup;
-
-	  nds32_elf_get_insn_with_reg (&rel_backup, insn, &insn_with_reg);
-	  howto =
-	    bfd_elf32_bfd_reloc_type_table_lookup (ELF32_R_TYPE
-						   (rel_backup.r_info));
-	  shift = howto->rightshift;
-	  if (ELF32_R_TYPE (rel_backup.r_info) == R_NDS32_25_PCREL_RELA
-	      || ELF32_R_TYPE (rel_backup.r_info) == R_NDS32_LO12S0_ORI_RELA
-	      || ELF32_R_TYPE (rel_backup.r_info) == R_NDS32_LO12S0_RELA
-	      || ELF32_R_TYPE (rel_backup.r_info) == R_NDS32_LO12S1_RELA
-	      || ELF32_R_TYPE (rel_backup.r_info) == R_NDS32_LO12S2_RELA)
-	    {
-	      relocation = nds32_elf_ex9_reloc_insn (ex9_insn, link_info);
-	      insn =
-		insn_with_reg | ((relocation >> shift) &
-				 nds32_elf_irel_mask (&rel_backup));
-	      bfd_putb32 (insn, contents + (ex9_insn->order) * 4);
-	    }
-	  else if ((ELF32_R_TYPE (rel_backup.r_info) >= R_NDS32_SDA15S3
-		    && ELF32_R_TYPE (rel_backup.r_info) <= R_NDS32_SDA15S0)
-		   || (ELF32_R_TYPE (rel_backup.r_info) >= R_NDS32_SDA15S3_RELA
-		       && ELF32_R_TYPE (rel_backup.r_info) <= R_NDS32_SDA15S0_RELA)
-		   || (ELF32_R_TYPE (rel_backup.r_info) >= R_NDS32_SDA12S2_DP_RELA
-		       && ELF32_R_TYPE (rel_backup.r_info) <= R_NDS32_SDA12S2_SP_RELA)
-		   || (ELF32_R_TYPE (rel_backup.r_info) >= R_NDS32_SDA16S3_RELA
-		       && ELF32_R_TYPE (rel_backup.r_info) <= R_NDS32_SDA19S0_RELA))
-	    {
-	      relocation = nds32_elf_ex9_reloc_insn (ex9_insn, link_info);
-	      insn =
-		insn_with_reg | (((relocation - gp) >> shift) &
-				 nds32_elf_irel_mask (&rel_backup));
-	      bfd_putb32 (insn, contents + (ex9_insn->order) * 4);
-	    }
-	  else if (ELF32_R_TYPE (rel_backup.r_info) == R_NDS32_HI20_RELA)
-	    {
-	      /* Sethi may be multiple entry for one insn.  */
-	      if (ex9_insn->next && ex9_insn->m_list
-		  && ex9_insn->m_list == ex9_insn->next->m_list)
-		{
-		  struct elf_link_hash_entry_mul_list *m_list;
-		  struct elf_nds32_ex9_refix *fix_ptr;
-		  struct elf_link_hash_entry *h;
-
-		  temp_ptr = ex9_insn;
-		  temp_ptr2 = ex9_insn;
-		  m_list = ex9_insn->m_list;
-		  while (m_list)
-		    {
-		      h = m_list->h_list->h;
-		      relocation = h->root.u.def.value +
-			h->root.u.def.section->output_section->vma +
-			h->root.u.def.section->output_offset;
-		      relocation += m_list->irel->r_addend;
-
-		      if (relocation < min_relocation)
-			min_relocation = relocation;
-		      m_list = m_list->next;
-		    }
-		  relocation = min_relocation;
-
-		  /* Put insntruction into ex9 table.  */
-		  insn = insn_with_reg
-		    | ((relocation >> shift) & nds32_elf_irel_mask (&rel_backup));
-		  bfd_putb32 (insn, contents + (ex9_insn->order) * 4);
-		  relocation = relocation + 0x1000;	/* hi20 */
-
-		  while (ex9_insn->next && ex9_insn->m_list
-			 && ex9_insn->m_list == ex9_insn->next->m_list)
-		    {
-		      /* Multiple sethi.  */
-		      ex9_insn = ex9_insn->next;
-		      size += 4;
-		      insn =
-			insn_with_reg | ((relocation >> shift) &
-					 nds32_elf_irel_mask (&rel_backup));
-		      bfd_putb32 (insn, contents + (ex9_insn->order) * 4);
-		      relocation = relocation + 0x1000;	/* hi20 */
-		    }
-
-		  fix_ptr = ex9_refix_head;
-		  while (fix_ptr)
-		    {
-		      /* Fix ex9 insn.  */
-		      /* temp_ptr2 points to the head of multiple sethi.  */
-		      temp_ptr = temp_ptr2;
-		      while (fix_ptr->order != temp_ptr->order && fix_ptr->next)
-			{
-			  fix_ptr = fix_ptr->next;
-			}
-		      if (fix_ptr->order != temp_ptr->order)
-			break;
-
-		      /* Set source insn.  */
-		      relocation =
-			fix_ptr->h->root.u.def.value +
-			fix_ptr->h->root.u.def.section->output_section->vma +
-			fix_ptr->h->root.u.def.section->output_offset;
-		      relocation += fix_ptr->irel->r_addend;
-		      /* sethi imm is imm20s.  */
-		      source_insn = insn_with_reg | ((relocation >> shift) & 0xfffff);
-
-		      while (temp_ptr)
-			{
-			  /* Match entry and source code.  */
-			  insn = bfd_getb32 (contents + (temp_ptr->order) * 4 + offset);
-			  if (insn == source_insn)
-			    {
-			      /* Fix the ex9 insn.  */
-			      if (temp_ptr->order != fix_ptr->order)
-				{
-				  if (!nds32_get_section_contents
-					 (fix_ptr->sec->owner, fix_ptr->sec,
-					  &source_contents, TRUE))
-				    _bfd_error_handler
-				      (_("Linker: error cannot fixed ex9 relocation \n"));
-				  if (temp_ptr->order < 32)
-				    insn_ex9 = INSN_EX9_IT_2;
-				  else
-				    insn_ex9 = INSN_EX9_IT_1;
-				  insn_ex9 = insn_ex9 | temp_ptr->order;
-				  bfd_putb16 (insn_ex9, source_contents + fix_ptr->irel->r_offset);
-				}
-				break;
-			    }
-			  else
-			    {
-			      if (!temp_ptr->next || temp_ptr->m_list != temp_ptr->next->m_list)
-				_bfd_error_handler
-				  (_("Linker: error cannot fixed ex9 relocation \n"));
-			      else
-				temp_ptr = temp_ptr->next;
-			    }
-			}
-		      fix_ptr = fix_ptr->next;
-		    }
-		}
-	      else
-		{
-		  relocation = nds32_elf_ex9_reloc_insn (ex9_insn, link_info);
-		  insn = insn_with_reg
-			 | ((relocation >> shift) & nds32_elf_irel_mask (&rel_backup));
-		  bfd_putb32 (insn, contents + (ex9_insn->order) * 4);
-		}
-	    }
-	}
-      else
-	{
-	  /* Insn without relocation does not have to be fixed
-	     if need to update export table.  */
-	  if (update_ex9_table == 1)
-	    bfd_putb32 (insn, contents + (ex9_insn->order) * 4);
-	}
-      ex9_insn = ex9_insn->next;
-      size += 4;
-    }
-
-  ex9_export_file = table->ex9_export_file;
-  if (ex9_export_file != NULL)
-    nds32_elf_ex9_export (link_info, contents, table_sec->size);
-  else if (update_ex9_table == 1)
-    {
-      table->ex9_export_file = table->ex9_import_file;
-      rewind (table->ex9_export_file);
-      nds32_elf_ex9_export (link_info, contents, size);
-    }
-}
-
-/* Generate ex9 hash table.  */
-
-static bfd_boolean
-nds32_elf_ex9_build_hash_table (bfd *abfd, asection *sec,
-				struct bfd_link_info *link_info)
-{
-  Elf_Internal_Rela *internal_relocs;
-  Elf_Internal_Rela *irelend;
-  Elf_Internal_Rela *irel;
-  Elf_Internal_Rela *jrel;
-  Elf_Internal_Rela rel_backup;
-  Elf_Internal_Shdr *symtab_hdr;
-  Elf_Internal_Sym *isym = NULL;
-  asection *isec;
-  struct elf_link_hash_entry **sym_hashes;
-  bfd_byte *contents = NULL;
-  bfd_vma off = 0;
-  unsigned long r_symndx;
-  uint32_t insn, insn_with_reg;
-  struct elf_link_hash_entry *h;
-  int data_flag, shift, align;
-  bfd_vma relocation;
-  /* Suppress ex9 if `.no_relax ex9' or inner loop.  */
-  reloc_howto_type *howto = NULL;
-
-  sym_hashes = elf_sym_hashes (abfd);
-  /* Load section instructions, relocations, and symbol table.  */
-  if (!nds32_get_section_contents (abfd, sec, &contents, TRUE))
-    return FALSE;
-
-  internal_relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL,
-					       TRUE /* keep_memory */);
-  irelend = internal_relocs + sec->reloc_count;
-  symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
-  if (!nds32_get_local_syms (abfd, sec, &isym))
-    return FALSE;
-
-  /* Check the object if enable ex9.  */
-  irel = find_relocs_at_address (internal_relocs, internal_relocs, irelend,
-				 R_NDS32_RELAX_ENTRY);
-
-  /* Check this section trigger ex9 relaxation.  */
-  if (irel == NULL
-      || irel >= irelend
-      || ELF32_R_TYPE (irel->r_info) != R_NDS32_RELAX_ENTRY
-      || (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_ENTRY
-	  && !(irel->r_addend & R_NDS32_RELAX_ENTRY_EX9_FLAG)))
-    return TRUE;
-
-  irel = internal_relocs;
-
-  /* Push each insn into hash table.  */
-  while (off < sec->size)
-    {
-      char code[10];
-      struct elf_nds32_code_hash_entry *entry;
-
-      while (irel != NULL && irel < irelend && irel->r_offset < off)
-	irel++;
-
-      data_flag = nds32_elf_ex9_relocation_check (link_info, &irel, irelend,
-						  NULL, sec, &off, contents);
-      if (data_flag & DATA_EXIST)
-	{
-	  /* We save the move offset in the highest byte.  */
-	  off += (data_flag >> 24);
-	  continue;
-	}
-
-      if (*(contents + off) & 0x80)
-	{
-	  off += 2;
-	}
-      else
-	{
-	  h = NULL;
-	  isec = NULL;
-	  jrel = NULL;
-	  rel_backup.r_info = 0;
-	  rel_backup.r_offset = 0;
-	  rel_backup.r_addend = 0;
-	  /* Load the instruction and its opcode with register for comparing.  */
-	  insn = bfd_getb32 (contents + off);
-	  insn_with_reg = 0;
-	  if (irel != NULL && irel < irelend && irel->r_offset == off)
-	    {
-	      nds32_elf_get_insn_with_reg (irel, insn, &insn_with_reg);
-	      howto = bfd_elf32_bfd_reloc_type_table_lookup (ELF32_R_TYPE (irel->r_info));
-	      shift = howto->rightshift;
-	      align = (1 << shift) - 1;
-	      if (ELF32_R_TYPE (irel->r_info) == R_NDS32_25_PCREL_RELA
-		  || ELF32_R_TYPE (irel->r_info) == R_NDS32_HI20_RELA
-		  || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S0_ORI_RELA
-		  || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S0_RELA
-		  || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S1_RELA
-		  || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S2_RELA
-		  ||(ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA15S3
-		     && ELF32_R_TYPE (irel->r_info) <= R_NDS32_SDA15S0)
-		  || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA15S3_RELA
-		      && ELF32_R_TYPE (irel->r_info) <= R_NDS32_SDA15S0_RELA)
-		  || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA12S2_DP_RELA
-		      && ELF32_R_TYPE (irel->r_info) <= R_NDS32_SDA12S2_SP_RELA)
-		  || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA16S3_RELA
-		      && ELF32_R_TYPE (irel->r_info) <= R_NDS32_SDA19S0_RELA))
-		{
-		  r_symndx = ELF32_R_SYM (irel->r_info);
-		  jrel = irel;
-		  rel_backup = *irel;
-		  if (r_symndx < symtab_hdr->sh_info)
-		    {
-		      /* Local symbol.  */
-		      int shndx = isym[r_symndx].st_shndx;
-
-		      bfd_vma st_value = (isym + r_symndx)->st_value;
-		      isec = elf_elfsections (abfd)[shndx]->bfd_section;
-		      relocation = (isec->output_section->vma + isec->output_offset
-				    + st_value + irel->r_addend);
-		    }
-		  else
-		    {
-		      /* External symbol.  */
-		      bfd_boolean warned ATTRIBUTE_UNUSED;
-		      bfd_boolean ignored ATTRIBUTE_UNUSED;
-		      bfd_boolean unresolved_reloc ATTRIBUTE_UNUSED;
-		      asection *sym_sec;
-
-		      /* Maybe there is a better way to get h and relocation */
-		      RELOC_FOR_GLOBAL_SYMBOL (link_info, abfd, sec, irel,
-					       r_symndx, symtab_hdr, sym_hashes,
-					       h, sym_sec, relocation,
-					       unresolved_reloc, warned, ignored);
-		      relocation += irel->r_addend;
-		      if ((h->root.type != bfd_link_hash_defined
-			   && h->root.type != bfd_link_hash_defweak)
-			  || strcmp (h->root.root.string, "_FP_BASE_") == 0)
-			{
-			  off += 4;
-			  continue;
-			}
-		    }
-
-		  /* Check for gp relative instruction alignment.  */
-		  if ((ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA15S3
-		       && ELF32_R_TYPE (irel->r_info) <= R_NDS32_SDA15S0)
-		      || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA15S3_RELA
-			  && ELF32_R_TYPE (irel->r_info) <= R_NDS32_SDA15S0_RELA)
-		      || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA12S2_DP_RELA
-			  && ELF32_R_TYPE (irel->r_info) <= R_NDS32_SDA12S2_SP_RELA)
-		      || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_SDA16S3_RELA
-			  && ELF32_R_TYPE (irel->r_info) <= R_NDS32_SDA19S0_RELA))
-		    {
-		      bfd_vma gp;
-		      bfd *output_bfd = sec->output_section->owner;
-		      bfd_reloc_status_type r;
-
-		      /* If the symbol is in the abs section, the out_bfd will be null.
-			 This happens when the relocation has a symbol@GOTOFF.  */
-		      r = nds32_elf_final_sda_base (output_bfd, link_info, &gp, FALSE);
-		      if (r != bfd_reloc_ok)
-			{
-			  off += 4;
-			  continue;
-			}
-
-		      relocation -= gp;
-
-		      /* Make sure alignment is correct.  */
-		      if (relocation & align)
-			{
-			  /* Incorrect alignment.  */
-			  _bfd_error_handler
-			    /* xgettext:c-format */
-			    (_("%B: warning: unaligned small data access "
-			       "for entry: {%Ld, %Ld, %Ld}, addr = %#Lx, align = %#x"),
-			     abfd, irel->r_offset,
-			     irel->r_info, irel->r_addend, relocation, align);
-			  off += 4;
-			  continue;
-			}
-		    }
-
-		  insn = insn_with_reg
-		    | ((relocation >> shift) & nds32_elf_irel_mask (irel));
-		}
-	      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_BEGIN
-		       || ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_END
-		       || ELF32_R_TYPE (irel->r_info) == R_NDS32_NONE)
-		{
-		  /* These relocations do not have to relocate contens, so it can
-		     be regard as instruction without relocation.  */
-		}
-	      else
-		{
-		  off += 4;
-		  continue;
-		}
-	    }
-
-	  snprintf (code, sizeof (code), "%08x", insn);
-	  /* Copy "code".  */
-	  entry = (struct elf_nds32_code_hash_entry*)
-	    bfd_hash_lookup (&ex9_code_table, code, TRUE, TRUE);
-	  if (entry == NULL)
-	    {
-	      _bfd_error_handler
-		(_("failed creating ex9.it %s hash table entry"), code);
-	      return FALSE;
-	    }
-	  if (h)
-	    {
-	      if (h->root.type == bfd_link_hash_undefined)
-		return TRUE;
-	      /* Global symbol.  */
-	      /* In order to do sethi with different symbol but same value.  */
-	      if (entry->m_list == NULL)
-		{
-		  struct elf_link_hash_entry_mul_list *m_list_new;
-		  struct elf_link_hash_entry_list *h_list_new;
-
-		  m_list_new = (struct elf_link_hash_entry_mul_list *)
-		    bfd_malloc (sizeof (struct elf_link_hash_entry_mul_list));
-		  h_list_new = (struct elf_link_hash_entry_list *)
-		    bfd_malloc (sizeof (struct elf_link_hash_entry_list));
-		  entry->m_list = m_list_new;
-		  m_list_new->h_list = h_list_new;
-		  m_list_new->rel_backup = rel_backup;
-		  m_list_new->times = 1;
-		  m_list_new->irel = jrel;
-		  m_list_new->next = NULL;
-		  h_list_new->h = h;
-		  h_list_new->next = NULL;
-		}
-	      else
-		{
-		  struct elf_link_hash_entry_mul_list *m_list = entry->m_list;
-		  struct elf_link_hash_entry_list *h_list;
-
-		  while (m_list)
-		    {
-		      /* Build the different symbols that point to the same address.  */
-		      h_list = m_list->h_list;
-		      if (h_list->h->root.u.def.value == h->root.u.def.value
-			  && h_list->h->root.u.def.section->output_section->vma
-			     == h->root.u.def.section->output_section->vma
-			  && h_list->h->root.u.def.section->output_offset
-			     == h->root.u.def.section->output_offset
-			  && m_list->rel_backup.r_addend == rel_backup.r_addend)
-			{
-			  m_list->times++;
-			  m_list->irel = jrel;
-			  while (h_list->h != h && h_list->next)
-			    h_list = h_list->next;
-			  if (h_list->h != h)
-			    {
-			      struct elf_link_hash_entry_list *h_list_new;
-
-			      h_list_new = (struct elf_link_hash_entry_list *)
-				bfd_malloc (sizeof (struct elf_link_hash_entry_list));
-			      h_list->next = h_list_new;
-			      h_list_new->h = h;
-			      h_list_new->next = NULL;
-			    }
-			  break;
-			}
-		      /* The sethi case may have different address but the
-			 hi20 is the same.  */
-		      else if (ELF32_R_TYPE (jrel->r_info) == R_NDS32_HI20_RELA
-			       && m_list->next == NULL)
-			{
-			  struct elf_link_hash_entry_mul_list *m_list_new;
-			  struct elf_link_hash_entry_list *h_list_new;
-
-			  m_list_new = (struct elf_link_hash_entry_mul_list *)
-			    bfd_malloc (sizeof (struct elf_link_hash_entry_mul_list));
-			  h_list_new = (struct elf_link_hash_entry_list *)
-			    bfd_malloc (sizeof (struct elf_link_hash_entry_list));
-			  m_list->next = m_list_new;
-			  m_list_new->h_list = h_list_new;
-			  m_list_new->rel_backup = rel_backup;
-			  m_list_new->times = 1;
-			  m_list_new->irel = jrel;
-			  m_list_new->next = NULL;
-			  h_list_new->h = h;
-			  h_list_new->next = NULL;
-			  break;
-			}
-		      m_list = m_list->next;
-		    }
-		  if (!m_list)
-		    {
-		      off += 4;
-		      continue;
-		    }
-		}
-	    }
-	  else
-	    {
-	      /* Local symbol and insn without relocation*/
-	      entry->times++;
-	      entry->rel_backup = rel_backup;
-	    }
-
-	  /* Use in sethi insn with constant and global symbol in same format.  */
-	  if (!jrel)
-	    entry->const_insn = 1;
-	  else
-	    entry->irel = jrel;
-	  entry->sec = isec;
-	  off += 4;
-	}
-    }
-  return TRUE;
-}
-
-/* Set the _ITB_BASE, and point it to ex9 table.  */
-
-bfd_boolean
-nds32_elf_ex9_itb_base (struct bfd_link_info *link_info)
-{
-  bfd *abfd;
-  asection *sec;
-  bfd *output_bfd = NULL;
-  struct bfd_link_hash_entry *bh = NULL;
-
-  if (is_ITB_BASE_set == 1)
-    return TRUE;
-
-  is_ITB_BASE_set = 1;
-
-  bh = bfd_link_hash_lookup (link_info->hash, "_ITB_BASE_", FALSE, FALSE, TRUE);
-
-  if (bh && (bh->type == bfd_link_hash_defined
-	     || bh->type == bfd_link_hash_defweak))
-    return TRUE;
-
-  for (abfd = link_info->input_bfds; abfd != NULL;
-       abfd = abfd->link.next)
-    {
-      sec = bfd_get_section_by_name (abfd, ".ex9.itable");
-      if (sec != NULL)
-	{
-	  output_bfd = sec->output_section->owner;
-	  break;
-	}
-    }
-  if (output_bfd == NULL)
-    {
-      output_bfd = link_info->output_bfd;
-      if (output_bfd->sections == NULL)
-	return TRUE;
-      else
-	sec = bfd_abs_section_ptr;
-    }
-  bh = bfd_link_hash_lookup (link_info->hash, "_ITB_BASE_",
-			     FALSE, FALSE, TRUE);
-  return (_bfd_generic_link_add_one_symbol
-	  (link_info, output_bfd, "_ITB_BASE_",
-	   BSF_GLOBAL | BSF_WEAK, sec, 0,
-	   (const char *) NULL, FALSE, get_elf_backend_data
-	   (output_bfd)->collect, &bh));
-} /* End EX9.IT  */
-
 
 #define ELF_ARCH				bfd_arch_nds32
 #define ELF_MACHINE_CODE			EM_NDS32
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-nds32.h ./bfd/elf32-nds32.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-nds32.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-nds32.h	2018-07-10 02:06:11.000000000 +0000
@@ -46,6 +46,13 @@ extern "C" {
 #define R_NDS32_RELAX_ENTRY_EX9_FLAG				(1 << 2)
 /* Enable IFC optimization for this section.  */
 #define R_NDS32_RELAX_ENTRY_IFC_FLAG				(1 << 3)
+/* Two bits for ICT to comply with files without directive.  */
+/* ICT small model.  */
+#define R_NDS32_RELAX_ENTRY_ICT_SMALL                           (0x2 << 4)
+/* ICT large model.  */
+#define R_NDS32_RELAX_ENTRY_ICT_LARGE                           (0x3 << 4)
+/* Mask for get ict bits.  */
+#define R_NDS32_RELAX_ENTRY_ICT_MASK                            (0x3 << 4)
 
 
 /* Relocation flags for R_NDS32_INSN16.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-nios2.c ./bfd/elf32-nios2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-nios2.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-nios2.c	2018-07-10 02:06:11.000000000 +0000
@@ -31,6 +31,7 @@
 #include "elf/nios2.h"
 #include "opcode/nios2.h"
 #include "elf32-nios2.h"
+#include "libiberty.h"
 
 /* Use RELA relocations.  */
 #ifndef USE_RELA
@@ -1578,10 +1579,8 @@ lookup_howto (unsigned int rtype, bfd *a
   int i;
   /* R2 relocations are a superset of R1, so use that for the lookup
      table.  */
-  int r1_howto_tbl_size = (int) (sizeof (elf_nios2_r1_howto_table_rel)
-				 / sizeof (elf_nios2_r1_howto_table_rel[0]));
-  int r2_howto_tbl_size = (int) (sizeof (elf_nios2_r2_howto_table_rel)
-				 / sizeof (elf_nios2_r2_howto_table_rel[0]));
+  int r1_howto_tbl_size = (int) ARRAY_SIZE (elf_nios2_r1_howto_table_rel);
+  int r2_howto_tbl_size = (int) ARRAY_SIZE (elf_nios2_r2_howto_table_rel);
 
   if (!initialized)
     {
@@ -1597,18 +1596,19 @@ lookup_howto (unsigned int rtype, bfd *a
 	}
     }
 
-  BFD_ASSERT (rtype <= R_NIOS2_ILLEGAL);
+  if (rtype > R_NIOS2_ILLEGAL)
+    return NULL;
   i = elf_code_to_howto_index[rtype];
   if (BFD_IS_R2 (abfd))
     {
       if (i >= r2_howto_tbl_size)
-	return 0;
+	return NULL;
       return elf_nios2_r2_howto_table_rel + i;
     }
   else
     {
       if (i >= r1_howto_tbl_size)
-	return 0;
+	return NULL;
       return elf_nios2_r1_howto_table_rel + i;
     }
 }
@@ -1620,7 +1620,8 @@ struct elf_reloc_map
   enum elf_nios2_reloc_type elf_val;
 };
 
-static const struct elf_reloc_map nios2_reloc_map[] = {
+static const struct elf_reloc_map nios2_reloc_map[] =
+{
   {BFD_RELOC_NONE, R_NIOS2_NONE},
   {BFD_RELOC_NIOS2_S16, R_NIOS2_S16},
   {BFD_RELOC_NIOS2_U16, R_NIOS2_U16},
@@ -2204,7 +2205,7 @@ nios2_add_stub (const char *stub_name,
   if (hsh == NULL)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: cannot create stub entry %s"),
+      _bfd_error_handler (_("%pB: cannot create stub entry %s"),
 			  section->owner,
 			  stub_name);
       return NULL;
@@ -2926,7 +2927,7 @@ nios2_elf32_merge_private_bfd_data (bfd 
 	  if (bfd_big_endian (ibfd))
 	    {
 	      _bfd_error_handler
-		(_("error: %B: Big-endian R2 is not supported."), ibfd);
+		(_("error: %pB: big-endian R2 is not supported"), ibfd);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -2942,7 +2943,7 @@ nios2_elf32_merge_private_bfd_data (bfd 
 	 architectures.  */
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("error: %B: Conflicting CPU architectures %d/%d"),
+	(_("error: %pB: conflicting CPU architectures %d/%d"),
 	 ibfd, new_flags, old_flags);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -2954,18 +2955,16 @@ nios2_elf32_merge_private_bfd_data (bfd 
   return TRUE;
 }
 
-
 /* Implement bfd_elf32_bfd_reloc_type_lookup:
    Given a BFD reloc type, return a howto structure.  */
+
 static reloc_howto_type *
 nios2_elf32_bfd_reloc_type_lookup (bfd *abfd,
 				   bfd_reloc_code_real_type code)
 {
   int i;
 
-  for (i = 0;
-       i < (int) (sizeof (nios2_reloc_map) / sizeof (struct elf_reloc_map));
-       ++i)
+  for (i = 0; i < (int) ARRAY_SIZE (nios2_reloc_map); ++i)
     if (nios2_reloc_map[i].bfd_val == code)
       return lookup_howto (nios2_reloc_map[i].elf_val, abfd);
   return NULL;
@@ -2973,6 +2972,7 @@ nios2_elf32_bfd_reloc_type_lookup (bfd *
 
 /* Implement bfd_elf32_bfd_reloc_name_lookup:
    Given a reloc name, return a howto structure.  */
+
 static reloc_howto_type *
 nios2_elf32_bfd_reloc_name_lookup (bfd *abfd,
 				   const char *r_name)
@@ -2984,32 +2984,40 @@ nios2_elf32_bfd_reloc_name_lookup (bfd *
   if (BFD_IS_R2 (abfd))
     {
       howto_tbl = elf_nios2_r2_howto_table_rel;
-      howto_tbl_size = (int) (sizeof (elf_nios2_r2_howto_table_rel)
-			      / sizeof (elf_nios2_r2_howto_table_rel[0]));
+      howto_tbl_size = (int) ARRAY_SIZE (elf_nios2_r2_howto_table_rel);
     }
   else
     {
       howto_tbl = elf_nios2_r1_howto_table_rel;
-      howto_tbl_size = (int) (sizeof (elf_nios2_r1_howto_table_rel)
-			      / sizeof (elf_nios2_r1_howto_table_rel[0]));
+      howto_tbl_size = (int) ARRAY_SIZE (elf_nios2_r1_howto_table_rel);
     }
 
   for (i = 0; i < howto_tbl_size; i++)
     if (howto_tbl[i].name && strcasecmp (howto_tbl[i].name, r_name) == 0)
       return howto_tbl + i;
+
   return NULL;
 }
 
 /* Implement elf_info_to_howto:
    Given a ELF32 relocation, fill in a arelent structure.  */
-static void
+
+static bfd_boolean
 nios2_elf32_info_to_howto (bfd *abfd, arelent *cache_ptr,
 			   Elf_Internal_Rela *dst)
 {
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  cache_ptr->howto = lookup_howto (r_type, abfd);
+  if ((cache_ptr->howto = lookup_howto (r_type, abfd)) == NULL)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  return TRUE;
 }
 
 /* Return the base VMA address which should be subtracted from real addresses
@@ -3831,10 +3839,10 @@ nios2_elf32_relocate_section (bfd *outpu
 		      if (h)
 			name = h->root.root.string;
 		      /* xgettext:c-format */
-		      format = _("Unable to reach %s (at 0x%08x) from the "
+		      format = _("unable to reach %s (at 0x%08x) from the "
 				 "global pointer (at 0x%08x) because the "
 				 "offset (%d) is out of the allowed range, "
-				 "-32678 to 32767.\n" );
+				 "-32678 to 32767\n" );
 		      sprintf (msgbuf, format, name, symbol_address, gp,
 			       (signed)relocation);
 		      msg = msgbuf;
@@ -4355,10 +4363,10 @@ nios2_elf32_relocate_section (bfd *outpu
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B(%A+%#Lx): %s relocation not "
+		    (_("%pB(%pA+%#" PRIx64 "): %s relocation not "
 		       "permitted in shared object"),
 		     input_bfd, input_section,
-		     rel->r_offset, howto->name);
+		     (uint64_t) rel->r_offset, howto->name);
 		  return FALSE;
 		}
 	      else
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-or1k.c ./bfd/elf32-or1k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-or1k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-or1k.c	2018-07-10 02:06:11.000000000 +0000
@@ -701,8 +701,8 @@ or1k_reloc_name_lookup (bfd *abfd ATTRIB
 
 /* Set the howto pointer for an Or1k ELF reloc.  */
 
-static void
-or1k_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+or1k_info_to_howto_rela (bfd * abfd,
 			 arelent * cache_ptr,
 			 Elf_Internal_Rela * dst)
 {
@@ -712,10 +712,13 @@ or1k_info_to_howto_rela (bfd * abfd ATTR
   if (r_type >= (unsigned int) R_OR1K_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid OR1K reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = & or1k_elf_howto_table[r_type];
+  return TRUE;
 }
 
 
@@ -962,7 +965,8 @@ or1k_elf_relocate_section (bfd *output_b
 	  /* Addend should be zero.  */
 	  if (rel->r_addend != 0)
 	    _bfd_error_handler
-	      (_("internal error: addend should be zero for R_OR1K_GOT16"));
+	      (_("internal error: addend should be zero for %s"),
+	       "R_OR1K_GOT16");
 
 	  break;
 
@@ -1049,7 +1053,7 @@ or1k_elf_relocate_section (bfd *output_b
 		      {
 			BFD_FAIL ();
 			_bfd_error_handler
-			  (_("%B: probably compiled without -fPIC?"),
+			  (_("%pB: probably compiled without -fPIC?"),
 			   input_bfd);
 			bfd_set_error (bfd_error_bad_value);
 			return FALSE;
@@ -1071,7 +1075,7 @@ or1k_elf_relocate_section (bfd *output_b
 	  /* TODO: implement support for local dynamic.  */
 	  BFD_FAIL ();
 	  _bfd_error_handler
-	    (_("%B: support for local dynamic not implemented"),
+	    (_("%pB: support for local dynamic not implemented"),
 	     input_bfd);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -1206,7 +1210,7 @@ or1k_elf_relocate_section (bfd *output_b
 	     be used as linker input.  */
 	  BFD_FAIL ();
 	  _bfd_error_handler
-	    (_("%B: will not resolve runtime TLS relocation"),
+	    (_("%pB: will not resolve runtime TLS relocation"),
 	     input_bfd);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -1526,7 +1530,7 @@ or1k_elf_check_relocs (bfd *abfd,
 		      {
 			_bfd_error_handler
 			  /* xgettext:c-format */
-			  (_("%B: bad relocation section name `%s\'"),
+			  (_("%pB: bad relocation section name `%s\'"),
 			   abfd, name);
 		      }
 
@@ -2278,7 +2282,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -2638,7 +2642,8 @@ elf32_or1k_merge_private_bfd_data (bfd *
   if ((in_flags & EF_OR1K_NODELAY) != (out_flags & EF_OR1K_NODELAY))
     {
       _bfd_error_handler
-	(_("%B: EF_OR1K_NODELAY flag mismatch with previous modules"), ibfd);
+	(_("%pB: %s flag mismatch with previous modules"),
+	 ibfd, "EF_OR1K_NODELAY");
 
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-pj.c ./bfd/elf32-pj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-pj.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-pj.c	2018-07-10 02:06:11.000000000 +0000
@@ -310,8 +310,8 @@ pj_elf_reloc_name_lookup (bfd *abfd ATTR
 
 /* Given an ELF reloc, fill in the howto field of a relent.  */
 
-static void
-pj_elf_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+pj_elf_info_to_howto (bfd *abfd,
 		      arelent *cache_ptr,
 		      Elf_Internal_Rela *dst)
 {
@@ -322,13 +322,14 @@ pj_elf_info_to_howto (bfd *abfd ATTRIBUT
   if (r >= R_PJ_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised PicoJava reloc number: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r);
       bfd_set_error (bfd_error_bad_value);
-      r = R_PJ_NONE;
+      return FALSE;
     }
 
   cache_ptr->howto = &pj_elf_howto_table[r];
+  return TRUE;
 }
 
 /* Take this moment to fill in the special picoJava bits in the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-ppc.c ./bfd/elf32-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-ppc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-ppc.c	2018-07-10 02:06:11.000000000 +0000
@@ -68,8 +68,13 @@ static bfd_reloc_status_type ppc_elf_unh
 
 /* For new-style .glink and .plt.  */
 #define GLINK_PLTRESOLVE 16*4
-#define GLINK_ENTRY_SIZE 4*4
-#define TLS_GET_ADDR_GLINK_SIZE 12*4
+#define GLINK_ENTRY_SIZE(htab, h)					\
+  ((4*4									\
+    + (h != NULL							\
+       && h == htab->tls_get_addr					\
+       && !htab->params->no_tls_get_addr_opt ? 8*4 : 0)			\
+    + (1u << htab->params->plt_stub_align) - 1)				\
+   & -(1u << htab->params->plt_stub_align))
 
 /* VxWorks uses its own plt layout, filled in by the static linker.  */
 
@@ -813,6 +818,35 @@ static reloc_howto_type ppc_elf_howto_ra
 	 0,			/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
+  /* Marker relocs on inline plt call instructions.  */
+  HOWTO (R_PPC_PLTSEQ,
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_PPC_PLTSEQ",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0,			/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_PPC_PLTCALL,
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_PPC_PLTCALL",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0,			/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
   /* Computes the load module index of the load module that contains the
      definition of its TLS sym.  */
   HOWTO (R_PPC_DTPMOD32,
@@ -2009,7 +2043,7 @@ ppc_elf_reloc_name_lookup (bfd *abfd ATT
 
 /* Set the howto pointer for a PowerPC ELF reloc.  */
 
-static void
+static bfd_boolean
 ppc_elf_info_to_howto (bfd *abfd,
 		       arelent *cache_ptr,
 		       Elf_Internal_Rela *dst)
@@ -2024,24 +2058,27 @@ ppc_elf_info_to_howto (bfd *abfd,
   if (r_type >= R_PPC_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised PPC reloc number: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
-      r_type = R_PPC_NONE;
+      return FALSE;
     }
+
   cache_ptr->howto = ppc_elf_howto_table[r_type];
 
   /* Just because the above assert didn't trigger doesn't mean that
      ELF32_R_TYPE (dst->r_info) is necessarily a valid relocation.  */
-  if (!cache_ptr->howto)
+  if (cache_ptr->howto == NULL)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid relocation type %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
 
-      cache_ptr->howto = ppc_elf_howto_table[R_PPC_NONE];
+      return FALSE;
     }
+
+  return TRUE;
 }
 
 /* Handle the R_PPC_ADDR16_HA and R_PPC_REL16_HA relocs.  */
@@ -2368,13 +2405,22 @@ ppc_elf_write_core_note (bfd *abfd, char
 
     case NT_PRPSINFO:
       {
-	char data[128];
+	char data[128] ATTRIBUTE_NONSTRING;
 	va_list ap;
 
 	va_start (ap, note_type);
 	memset (data, 0, sizeof (data));
 	strncpy (data + 32, va_arg (ap, const char *), 16);
+	DIAGNOSTIC_PUSH;
+	/* GCC 8.1 warns about 80 equals destination size with
+	   -Wstringop-truncation:
+	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
+	 */
+#if GCC_VERSION == 8001
+	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
+#endif
 	strncpy (data + 48, va_arg (ap, const char *), 80);
+	DIAGNOSTIC_POP;
 	va_end (ap);
 	return elfcore_write_note (abfd, buf, bufsiz,
 				   "CORE", note_type, data, sizeof (data));
@@ -2729,7 +2775,7 @@ ppc_elf_begin_write_processing (bfd *abf
 	continue;
 
       /* xgettext:c-format */
-      error_message = _("corrupt %s section in %B");
+      error_message = _("corrupt %s section in %pB");
       length = asec->size;
       if (length < 20)
 	goto fail;
@@ -2749,7 +2795,7 @@ ppc_elf_begin_write_processing (bfd *abf
 	  || (bfd_bread (buffer, length, ibfd) != length))
 	{
 	  /* xgettext:c-format */
-	  error_message = _("unable to read in %s section from %B");
+	  error_message = _("unable to read in %s section from %pB");
 	  goto fail;
 	}
 
@@ -2791,7 +2837,7 @@ ppc_elf_begin_write_processing (bfd *abf
 	{
 	  ibfd = abfd;
 	  /* xgettext:c-format */
-	  error_message = _("warning: unable to set size of %s section in %B");
+	  error_message = _("warning: unable to set size of %s section in %pB");
 	}
     }
 
@@ -2841,7 +2887,7 @@ ppc_elf_final_write_processing (bfd *abf
   if (buffer == NULL)
     {
       _bfd_error_handler
-	(_("failed to allocate space for new APUinfo section."));
+	(_("failed to allocate space for new APUinfo section"));
       return;
     }
 
@@ -2860,10 +2906,10 @@ ppc_elf_final_write_processing (bfd *abf
     }
 
   if (length != asec->size)
-    _bfd_error_handler (_("failed to compute new APUinfo section."));
+    _bfd_error_handler (_("failed to compute new APUinfo section"));
 
   if (! bfd_set_section_contents (abfd, asec, buffer, (file_ptr) 0, length))
-    _bfd_error_handler (_("failed to install new APUinfo section."));
+    _bfd_error_handler (_("failed to install new APUinfo section"));
 
   free (buffer);
 
@@ -2873,9 +2919,9 @@ ppc_elf_final_write_processing (bfd *abf
 static bfd_boolean
 is_nonpic_glink_stub (bfd *abfd, asection *glink, bfd_vma off)
 {
-  bfd_byte buf[GLINK_ENTRY_SIZE];
+  bfd_byte buf[4 * 4];
 
-  if (!bfd_get_section_contents (abfd, glink, buf, off, GLINK_ENTRY_SIZE))
+  if (!bfd_get_section_contents (abfd, glink, buf, off, sizeof buf))
     return FALSE;
 
   return ((bfd_get_32 (abfd, buf + 0) & 0xffff0000) == LIS_11
@@ -2902,10 +2948,10 @@ ppc_elf_get_synthetic_symtab (bfd *abfd,
   asection *plt, *relplt, *dynamic, *glink;
   bfd_vma glink_vma = 0;
   bfd_vma resolv_vma = 0;
-  bfd_vma stub_vma;
+  bfd_vma stub_off;
   asymbol *s;
   arelent *p;
-  long count, i;
+  long count, i, stub_delta;
   size_t size;
   char *names;
   bfd_byte buf[4];
@@ -3016,9 +3062,14 @@ ppc_elf_get_synthetic_symtab (bfd *abfd,
   /* If the stubs are those for -shared/-pie then we might have
      multiple stubs for each plt entry.  If that is the case then
      there is no way to associate stubs with their plt entries short
-     of figuring out the GOT pointer value used in the stub.  */
-  if (!is_nonpic_glink_stub (abfd, glink,
-			     glink_vma - GLINK_ENTRY_SIZE - glink->vma))
+     of figuring out the GOT pointer value used in the stub.
+     The offsets tested here need to cover all possible values of
+     GLINK_ENTRY_SIZE for other than __tls_get_addr_opt.  */
+  stub_off = glink_vma - glink->vma;
+  for (stub_delta = 16; stub_delta <= 32; stub_delta += 8)
+    if (is_nonpic_glink_stub (abfd, glink, stub_off - stub_delta))
+      break;
+  if (stub_delta > 32)
     return 0;
 
   slurp_relocs = get_elf_backend_data (abfd)->s->slurp_reloc_table;
@@ -3043,13 +3094,16 @@ ppc_elf_get_synthetic_symtab (bfd *abfd,
   if (s == NULL)
     return -1;
 
-  stub_vma = glink_vma;
+  stub_off = glink_vma - glink->vma;
   names = (char *) (s + count + 1 + (resolv_vma != 0));
   p = relplt->relocation + count - 1;
   for (i = 0; i < count; i++)
     {
       size_t len;
 
+      stub_off -= stub_delta;
+      if (strcmp ((*p->sym_ptr_ptr)->name, "__tls_get_addr_opt") == 0)
+	stub_off -= 32;
       *s = **p->sym_ptr_ptr;
       /* Undefined syms won't have BSF_LOCAL or BSF_GLOBAL set.  Since
 	 we are defining a symbol, ensure one of them is set.  */
@@ -3057,10 +3111,7 @@ ppc_elf_get_synthetic_symtab (bfd *abfd,
 	s->flags |= BSF_GLOBAL;
       s->flags |= BSF_SYNTHETIC;
       s->section = glink;
-      stub_vma -= 16;
-      if (strcmp ((*p->sym_ptr_ptr)->name, "__tls_get_addr_opt") == 0)
-	stub_vma -= 32;
-      s->value = stub_vma - glink->vma;
+      s->value = stub_off;
       s->name = names;
       s->udata.p = NULL;
       len = strlen ((*p->sym_ptr_ptr)->name);
@@ -3213,19 +3264,30 @@ struct ppc_elf_link_hash_entry
   /* Track dynamic relocs copied for this symbol.  */
   struct elf_dyn_relocs *dyn_relocs;
 
-  /* Contexts in which symbol is used in the GOT (or TOC).
-     TLS_GD .. TLS_TLS bits are or'd into the mask as the
-     corresponding relocs are encountered during check_relocs.
-     tls_optimize clears TLS_GD .. TLS_TPREL when optimizing to
-     indicate the corresponding GOT entry type is not needed.  */
-#define TLS_GD		 1	/* GD reloc. */
-#define TLS_LD		 2	/* LD reloc. */
-#define TLS_TPREL	 4	/* TPREL reloc, => IE. */
-#define TLS_DTPREL	 8	/* DTPREL reloc, => LD. */
-#define TLS_TLS		16	/* Any TLS reloc.  */
-#define TLS_TPRELGD	32	/* TPREL reloc resulting from GD->IE. */
-#define PLT_IFUNC	64	/* STT_GNU_IFUNC.  */
-  char tls_mask;
+  /* Contexts in which symbol is used in the GOT.
+     Bits are or'd into the mask as the corresponding relocs are
+     encountered during check_relocs, with TLS_TLS being set when any
+     of the other TLS bits are set.  tls_optimize clears bits when
+     optimizing to indicate the corresponding GOT entry type is not
+     needed.  If set, TLS_TLS is never cleared.  tls_optimize may also
+     set TLS_TPRELGD when a GD reloc turns into a TPREL one.  We use a
+     separate flag rather than setting TPREL just for convenience in
+     distinguishing the two cases.
+     These flags are also kept for local symbols.  */
+#define TLS_TLS		 1	/* Any TLS reloc.  */
+#define TLS_GD		 2	/* GD reloc. */
+#define TLS_LD		 4	/* LD reloc. */
+#define TLS_TPREL	 8	/* TPREL reloc, => IE. */
+#define TLS_DTPREL	16	/* DTPREL reloc, => LD. */
+#define TLS_MARK	32	/* __tls_get_addr call marked. */
+#define TLS_TPRELGD	64	/* TPREL reloc resulting from GD->IE. */
+  unsigned char tls_mask;
+
+  /* The above field is also used to mark function symbols.  In which
+     case TLS_TLS will be 0.  */
+#define PLT_IFUNC	 2	/* STT_GNU_IFUNC.  */
+#define PLT_KEEP	 4	/* inline plt call requires plt entry.  */
+#define NON_GOT        256	/* local symbol plt, not stored.  */
 
   /* Nonzero if we have seen a small data relocation referring to this
      symbol.  */
@@ -3254,6 +3316,8 @@ struct ppc_elf_link_hash_table
   elf_linker_section_t sdata[2];
   asection *sbss;
   asection *glink_eh_frame;
+  asection *pltlocal;
+  asection *relpltlocal;
 
   /* The (unloaded but important) .rela.plt.unloaded on VxWorks.  */
   asection *srelplt2;
@@ -3292,6 +3356,9 @@ struct ppc_elf_link_hash_table
   /* Set if tls optimization is enabled.  */
   unsigned int do_tls_opt:1;
 
+  /* Set if inline plt calls should be converted to direct calls.  */
+  unsigned int can_convert_all_inline_plt:1;
+
   /* The size of PLT entries.  */
   int plt_entry_size;
   /* The distance between adjacent PLT slots.  */
@@ -3312,6 +3379,9 @@ struct ppc_elf_link_hash_table
 /* Nonzero if this section has a call to __tls_get_addr.  */
 #define has_tls_get_addr_call sec_flg1
 
+  /* Flag set when PLTCALL relocs are detected.  */
+#define has_pltcall sec_flg2
+
 /* Get the PPC ELF linker hash table from a link_info structure.  */
 
 #define ppc_elf_hash_table(p) \
@@ -3355,7 +3425,7 @@ ppc_elf_link_hash_table_create (bfd *abf
 {
   struct ppc_elf_link_hash_table *ret;
   static struct ppc_elf_params default_params
-    = { PLT_OLD, 0, 1, 0, 0, 12, 0, 0, 0 };
+    = { PLT_OLD, 0, 0, 1, 0, 0, 12, 0, 0, 0 };
 
   ret = bfd_zmalloc (sizeof (struct ppc_elf_link_hash_table));
   if (ret == NULL)
@@ -3464,14 +3534,17 @@ ppc_elf_create_glink (bfd *abfd, struct 
   struct ppc_elf_link_hash_table *htab = ppc_elf_hash_table (info);
   asection *s;
   flagword flags;
+  int p2align;
 
   flags = (SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_READONLY | SEC_HAS_CONTENTS
 	   | SEC_IN_MEMORY | SEC_LINKER_CREATED);
   s = bfd_make_section_anyway_with_flags (abfd, ".glink", flags);
   htab->glink = s;
+  p2align = htab->params->ppc476_workaround ? 6 : 4;
+  if (p2align < htab->params->plt_stub_align)
+    p2align = htab->params->plt_stub_align;
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s,
-				     htab->params->ppc476_workaround ? 6 : 4))
+      || !bfd_set_section_alignment (abfd, s, p2align))
     return FALSE;
 
   if (!info->no_ld_generated_unwind_info)
@@ -3500,6 +3573,26 @@ ppc_elf_create_glink (bfd *abfd, struct 
       || ! bfd_set_section_alignment (abfd, s, 2))
     return FALSE;
 
+  /* Local plt entries.  */
+  flags = (SEC_ALLOC | SEC_LOAD
+	   | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED);
+  htab->pltlocal = bfd_make_section_anyway_with_flags (abfd, ".branch_lt",
+						       flags);
+  if (htab->pltlocal == NULL
+      || ! bfd_set_section_alignment (abfd, htab->pltlocal, 2))
+    return FALSE;
+
+  if (bfd_link_pic (info))
+    {
+      flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY
+	       | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED);
+      htab->relpltlocal
+	= bfd_make_section_anyway_with_flags (abfd, ".rela.branch_lt", flags);
+      if (htab->relpltlocal == NULL
+	  || ! bfd_set_section_alignment (abfd, htab->relpltlocal, 2))
+	return FALSE;
+    }
+
   if (!ppc_elf_create_linker_section (abfd, info, 0,
 				      &htab->sdata[0]))
     return FALSE;
@@ -3708,11 +3801,6 @@ ppc_elf_add_symbol_hook (bfd *abfd,
       *valp = sym->st_size;
     }
 
-  if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-      && (abfd->flags & DYNAMIC) == 0
-      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
-    elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc;
-
   return TRUE;
 }
 
@@ -3828,7 +3916,7 @@ update_local_sym_info (bfd *abfd,
 {
   bfd_signed_vma *local_got_refcounts = elf_local_got_refcounts (abfd);
   struct plt_entry **local_plt;
-  char *local_got_tls_masks;
+  unsigned char *local_got_tls_masks;
 
   if (local_got_refcounts == NULL)
     {
@@ -3844,9 +3932,9 @@ update_local_sym_info (bfd *abfd,
     }
 
   local_plt = (struct plt_entry **) (local_got_refcounts + symtab_hdr->sh_info);
-  local_got_tls_masks = (char *) (local_plt + symtab_hdr->sh_info);
-  local_got_tls_masks[r_symndx] |= tls_type;
-  if (tls_type != PLT_IFUNC)
+  local_got_tls_masks = (unsigned char *) (local_plt + symtab_hdr->sh_info);
+  local_got_tls_masks[r_symndx] |= tls_type & 0xff;
+  if ((tls_type & NON_GOT) == 0)
     local_got_refcounts[r_symndx] += 1;
   return local_plt + r_symndx;
 }
@@ -3907,12 +3995,23 @@ is_branch_reloc (enum elf_ppc_reloc_type
 	  || r_type == R_PPC_VLE_REL24);
 }
 
+/* Relocs on inline plt call sequence insns prior to the call.  */
+
+static bfd_boolean
+is_plt_seq_reloc (enum elf_ppc_reloc_type r_type)
+{
+  return (r_type == R_PPC_PLT16_HA
+	  || r_type == R_PPC_PLT16_HI
+	  || r_type == R_PPC_PLT16_LO
+	  || r_type == R_PPC_PLTSEQ);
+}
+
 static void
 bad_shared_reloc (bfd *abfd, enum elf_ppc_reloc_type r_type)
 {
   _bfd_error_handler
     /* xgettext:c-format */
-    (_("%B: relocation %s cannot be used when making a shared object"),
+    (_("%pB: relocation %s cannot be used when making a shared object"),
      abfd,
      ppc_elf_howto_table[r_type]->name);
   bfd_set_error (bfd_error_bad_value);
@@ -3949,7 +4048,7 @@ ppc_elf_check_relocs (bfd *abfd,
     return TRUE;
 
 #ifdef DEBUG
-  _bfd_error_handler ("ppc_elf_check_relocs called for section %A in %B",
+  _bfd_error_handler ("ppc_elf_check_relocs called for section %pA in %pB",
 		      sec, abfd);
 #endif
 
@@ -3982,6 +4081,8 @@ ppc_elf_check_relocs (bfd *abfd,
       struct elf_link_hash_entry *h;
       int tls_type;
       struct plt_entry **ifunc;
+      struct plt_entry **pltent;
+      bfd_vma addend;
 
       r_symndx = ELF32_R_SYM (rel->r_info);
       if (r_symndx < symtab_hdr->sh_info)
@@ -4022,7 +4123,7 @@ ppc_elf_check_relocs (bfd *abfd,
 	    {
 	      /* Set PLT_IFUNC flag for this sym, no GOT entry yet.  */
 	      ifunc = update_local_sym_info (abfd, symtab_hdr, r_symndx,
-					     PLT_IFUNC);
+					     NON_GOT | PLT_IFUNC);
 	      if (ifunc == NULL)
 		return FALSE;
 
@@ -4030,15 +4131,20 @@ ppc_elf_check_relocs (bfd *abfd,
 		 In a non-pie executable even when there are
 		 no plt calls.  */
 	      if (!bfd_link_pic (info)
-		  || is_branch_reloc (r_type))
+		  || is_branch_reloc (r_type)
+		  || r_type == R_PPC_PLT16_LO
+		  || r_type == R_PPC_PLT16_HI
+		  || r_type == R_PPC_PLT16_HA)
 		{
-		  bfd_vma addend = 0;
+		  addend = 0;
 		  if (r_type == R_PPC_PLTREL24)
-		    {
-		      ppc_elf_tdata (abfd)->makes_plt_call = 1;
-		      if (bfd_link_pic (info))
-			addend = rel->r_addend;
-		    }
+		    ppc_elf_tdata (abfd)->makes_plt_call = 1;
+		  if (bfd_link_pic (info)
+		      && (r_type == R_PPC_PLTREL24
+			  || r_type == R_PPC_PLT16_LO
+			  || r_type == R_PPC_PLT16_HI
+			  || r_type == R_PPC_PLT16_HA))
+		    addend = rel->r_addend;
 		  if (!update_plt_info (abfd, ifunc, got2, addend))
 		    return FALSE;
 		}
@@ -4067,6 +4173,15 @@ ppc_elf_check_relocs (bfd *abfd,
 	case R_PPC_TLSLD:
 	  /* These special tls relocs tie a call to __tls_get_addr with
 	     its parameter symbol.  */
+	  if (h != NULL)
+	    ppc_elf_hash_entry (h)->tls_mask |= TLS_TLS | TLS_MARK;
+	  else
+	    if (!update_local_sym_info (abfd, symtab_hdr, r_symndx,
+					NON_GOT | TLS_TLS | TLS_MARK))
+	      return FALSE;
+	  break;
+
+	case R_PPC_PLTSEQ:
 	  break;
 
 	case R_PPC_GOT_TLSLD16:
@@ -4245,45 +4360,46 @@ ppc_elf_check_relocs (bfd *abfd,
 	case R_PPC_PLTREL24:
 	  if (h == NULL)
 	    break;
-	  /* Fall through */
+	  ppc_elf_tdata (abfd)->makes_plt_call = 1;
+	  goto pltentry;
+
+	case R_PPC_PLTCALL:
+	  sec->has_pltcall = 1;
+	  /* Fall through.  */
+
 	case R_PPC_PLT32:
 	case R_PPC_PLTREL32:
 	case R_PPC_PLT16_LO:
 	case R_PPC_PLT16_HI:
 	case R_PPC_PLT16_HA:
+	pltentry:
 #ifdef DEBUG
 	  fprintf (stderr, "Reloc requires a PLT entry\n");
 #endif
 	  /* This symbol requires a procedure linkage table entry.  */
 	  if (h == NULL)
 	    {
-	      if (ifunc == NULL)
-		{
-		  /* It does not make sense to have a procedure linkage
-		     table entry for a non-ifunc local symbol.  */
-		  info->callbacks->einfo
-		    /* xgettext:c-format */
-		    (_("%H: %s reloc against local symbol\n"),
-		     abfd, sec, rel->r_offset,
-		     ppc_elf_howto_table[r_type]->name);
-		  bfd_set_error (bfd_error_bad_value);
-		  return FALSE;
-		}
+	      pltent = update_local_sym_info (abfd, symtab_hdr, r_symndx,
+					      NON_GOT | PLT_KEEP);
+	      if (pltent == NULL)
+		return FALSE;
 	    }
 	  else
 	    {
-	      bfd_vma addend = 0;
-
-	      if (r_type == R_PPC_PLTREL24)
-		{
-		  ppc_elf_tdata (abfd)->makes_plt_call = 1;
-		  if (bfd_link_pic (info))
-		    addend = rel->r_addend;
-		}
+	      if (r_type != R_PPC_PLTREL24)
+		ppc_elf_hash_entry (h)->tls_mask |= PLT_KEEP;
 	      h->needs_plt = 1;
-	      if (!update_plt_info (abfd, &h->plt.plist, got2, addend))
-		return FALSE;
+	      pltent = &h->plt.plist;
 	    }
+	  addend = 0;
+	  if (bfd_link_pic (info)
+	      && (r_type == R_PPC_PLTREL24
+		  || r_type == R_PPC_PLT16_LO
+		  || r_type == R_PPC_PLT16_HI
+		  || r_type == R_PPC_PLT16_HA))
+	    addend = rel->r_addend;
+	  if (!update_plt_info (abfd, pltent, got2, addend))
+	    return FALSE;
 	  break;
 
 	  /* The following relocations don't need to propagate the
@@ -4619,27 +4735,41 @@ _bfd_elf_ppc_merge_fp_attributes (bfd *i
 	;
       else if (out_fp == 0)
 	{
-	  out_attr->type = 1;
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL;
 	  out_attr->i ^= in_fp;
 	}
       else if (out_fp != 2 && in_fp == 2)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses hard float, %B uses soft float"), obfd, ibfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses hard float, %pB uses soft float"),
+	     obfd, ibfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
       else if (out_fp == 2 && in_fp != 2)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses hard float, %B uses soft float"), ibfd, obfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses hard float, %pB uses soft float"),
+	     ibfd, obfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
       else if (out_fp == 1 && in_fp == 3)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses double-precision hard float, "
-	     "%B uses single-precision hard float"), obfd, ibfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses double-precision hard float, "
+	       "%pB uses single-precision hard float"), obfd, ibfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
       else if (out_fp == 3 && in_fp == 1)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses double-precision hard float, "
-	     "%B uses single-precision hard float"), ibfd, obfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses double-precision hard float, "
+	       "%pB uses single-precision hard float"), ibfd, obfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
 
       in_fp = in_attr->i & 0xc;
       out_fp = out_attr->i & 0xc;
@@ -4647,29 +4777,41 @@ _bfd_elf_ppc_merge_fp_attributes (bfd *i
 	;
       else if (out_fp == 0)
 	{
-	  out_attr->type = 1;
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL;
 	  out_attr->i ^= in_fp;
 	}
       else if (out_fp != 2 * 4 && in_fp == 2 * 4)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses 64-bit long double, "
-	     "%B uses 128-bit long double"), ibfd, obfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses 64-bit long double, "
+	       "%pB uses 128-bit long double"), ibfd, obfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
       else if (in_fp != 2 * 4 && out_fp == 2 * 4)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses 64-bit long double, "
-	     "%B uses 128-bit long double"), obfd, ibfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses 64-bit long double, "
+	       "%pB uses 128-bit long double"), obfd, ibfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
       else if (out_fp == 1 * 4 && in_fp == 3 * 4)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses IBM long double, "
-	     "%B uses IEEE long double"), ibfd, obfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses IBM long double, "
+	       "%pB uses IEEE long double"), obfd, ibfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
       else if (out_fp == 3 * 4 && in_fp == 1 * 4)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses IBM long double, "
-	     "%B uses IEEE long double"), obfd, ibfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses IBM long double, "
+	       "%pB uses IEEE long double"), ibfd, obfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
     }
 }
 
@@ -4701,7 +4843,7 @@ ppc_elf_merge_obj_attributes (bfd *ibfd,
 	;
       else if (out_vec == 0)
 	{
-	  out_attr->type = 1;
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL;
 	  out_attr->i = in_vec;
 	}
       /* For now, allow generic to transition to AltiVec or SPE
@@ -4713,19 +4855,25 @@ ppc_elf_merge_obj_attributes (bfd *ibfd,
 	;
       else if (out_vec == 1)
 	{
-	  out_attr->type = 1;
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL;
 	  out_attr->i = in_vec;
 	}
       else if (out_vec < in_vec)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses AltiVec vector ABI, %B uses SPE vector ABI"),
-	   obfd, ibfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses AltiVec vector ABI, %pB uses SPE vector ABI"),
+	     obfd, ibfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
       else if (out_vec > in_vec)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses AltiVec vector ABI, %B uses SPE vector ABI"),
-	   ibfd, obfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses AltiVec vector ABI, %pB uses SPE vector ABI"),
+	     ibfd, obfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
     }
 
   /* Check for conflicting Tag_GNU_Power_ABI_Struct_Return attributes
@@ -4741,25 +4889,29 @@ ppc_elf_merge_obj_attributes (bfd *ibfd,
        ;
       else if (out_struct == 0)
 	{
-	  out_attr->type = 1;
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL;
 	  out_attr->i = in_struct;
 	}
       else if (out_struct < in_struct)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses r3/r4 for small structure returns, "
-	     "%B uses memory"), obfd, ibfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses r3/r4 for small structure returns, "
+	       "%pB uses memory"), obfd, ibfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
       else if (out_struct > in_struct)
-	_bfd_error_handler
-	  /* xgettext:c-format */
-	  (_("Warning: %B uses r3/r4 for small structure returns, "
-	     "%B uses memory"), ibfd, obfd);
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("warning: %pB uses r3/r4 for small structure returns, "
+	       "%pB uses memory"), ibfd, obfd);
+	  out_attr->type = ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_ERROR;
+	}
     }
 
   /* Merge Tag_compatibility attributes and any common GNU ones.  */
-  _bfd_elf_merge_object_attributes (ibfd, info);
-
-  return TRUE;
+  return _bfd_elf_merge_object_attributes (ibfd, info);
 }
 
 /* Merge backend specific data from an object file to the output
@@ -4807,7 +4959,7 @@ ppc_elf_merge_private_bfd_data (bfd *ibf
 	{
 	  error = TRUE;
 	  _bfd_error_handler
-	    (_("%B: compiled with -mrelocatable and linked with "
+	    (_("%pB: compiled with -mrelocatable and linked with "
 	       "modules compiled normally"), ibfd);
 	}
       else if ((new_flags & (EF_PPC_RELOCATABLE | EF_PPC_RELOCATABLE_LIB)) == 0
@@ -4815,7 +4967,7 @@ ppc_elf_merge_private_bfd_data (bfd *ibf
 	{
 	  error = TRUE;
 	  _bfd_error_handler
-	    (_("%B: compiled normally and linked with "
+	    (_("%pB: compiled normally and linked with "
 	       "modules compiled with -mrelocatable"), ibfd);
 	}
 
@@ -4843,7 +4995,7 @@ ppc_elf_merge_private_bfd_data (bfd *ibf
 	  error = TRUE;
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: uses different e_flags (%#x) fields "
+	    (_("%pB: uses different e_flags (%#x) fields "
 	       "than previous modules (%#x)"),
 	     ibfd, new_flags, old_flags);
 	}
@@ -4884,7 +5036,7 @@ ppc_elf_vle_split16 (bfd *input_bfd,
 	  else
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn"),
+	      (_("%pB(%pA+0x%lx): expected 16A style relocation on 0x%08x insn"),
 	       input_bfd, input_section, offset, opcode);
 	}
     }
@@ -4903,7 +5055,7 @@ ppc_elf_vle_split16 (bfd *input_bfd,
 	  else
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn"),
+	      (_("%pB(%pA+0x%lx): expected 16D style relocation on 0x%08x insn"),
 	       input_bfd, input_section, offset, opcode);
 	}
     }
@@ -4994,10 +5146,9 @@ ppc_elf_select_plt_layout (bfd *output_b
   if (htab->plt_type == PLT_OLD && htab->params->plt_style == PLT_NEW)
     {
       if (htab->old_bfd != NULL)
-	info->callbacks->einfo (_("%P: bss-plt forced due to %B\n"),
-				htab->old_bfd);
+	_bfd_error_handler (_("bss-plt forced due to %pB"), htab->old_bfd);
       else
-	info->callbacks->einfo (_("%P: bss-plt forced by profiling\n"));
+	_bfd_error_handler (_("bss-plt forced by profiling"));
     }
 
   BFD_ASSERT (htab->plt_type != PLT_VXWORKS);
@@ -5047,7 +5198,229 @@ ppc_elf_gc_mark_hook (asection *sec,
 
   return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
 }
+
+static bfd_boolean
+get_sym_h (struct elf_link_hash_entry **hp,
+	   Elf_Internal_Sym **symp,
+	   asection **symsecp,
+	   unsigned char **tls_maskp,
+	   Elf_Internal_Sym **locsymsp,
+	   unsigned long r_symndx,
+	   bfd *ibfd)
+{
+  Elf_Internal_Shdr *symtab_hdr = &elf_symtab_hdr (ibfd);
+
+  if (r_symndx >= symtab_hdr->sh_info)
+    {
+      struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (ibfd);
+      struct elf_link_hash_entry *h;
+
+      h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+      while (h->root.type == bfd_link_hash_indirect
+	     || h->root.type == bfd_link_hash_warning)
+	h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+      if (hp != NULL)
+	*hp = h;
+
+      if (symp != NULL)
+	*symp = NULL;
+
+      if (symsecp != NULL)
+	{
+	  asection *symsec = NULL;
+	  if (h->root.type == bfd_link_hash_defined
+	      || h->root.type == bfd_link_hash_defweak)
+	    symsec = h->root.u.def.section;
+	  *symsecp = symsec;
+	}
+
+      if (tls_maskp != NULL)
+	*tls_maskp = &ppc_elf_hash_entry (h)->tls_mask;
+    }
+  else
+    {
+      Elf_Internal_Sym *sym;
+      Elf_Internal_Sym *locsyms = *locsymsp;
+
+      if (locsyms == NULL)
+	{
+	  locsyms = (Elf_Internal_Sym *) symtab_hdr->contents;
+	  if (locsyms == NULL)
+	    locsyms = bfd_elf_get_elf_syms (ibfd, symtab_hdr,
+					    symtab_hdr->sh_info,
+					    0, NULL, NULL, NULL);
+	  if (locsyms == NULL)
+	    return FALSE;
+	  *locsymsp = locsyms;
+	}
+      sym = locsyms + r_symndx;
+
+      if (hp != NULL)
+	*hp = NULL;
+
+      if (symp != NULL)
+	*symp = sym;
+
+      if (symsecp != NULL)
+	*symsecp = bfd_section_from_elf_index (ibfd, sym->st_shndx);
+
+      if (tls_maskp != NULL)
+	{
+	  bfd_signed_vma *local_got;
+	  unsigned char *tls_mask;
+
+	  tls_mask = NULL;
+	  local_got = elf_local_got_refcounts (ibfd);
+	  if (local_got != NULL)
+	    {
+	      struct plt_entry **local_plt = (struct plt_entry **)
+		(local_got + symtab_hdr->sh_info);
+	      unsigned char *lgot_masks = (unsigned char *)
+		(local_plt + symtab_hdr->sh_info);
+	      tls_mask = &lgot_masks[r_symndx];
+	    }
+	  *tls_maskp = tls_mask;
+	}
+    }
+  return TRUE;
+}
 
+/* Analyze inline PLT call relocations to see whether calls to locally
+   defined functions can be converted to direct calls.  */
+
+bfd_boolean
+ppc_elf_inline_plt (struct bfd_link_info *info)
+{
+  struct ppc_elf_link_hash_table *htab;
+  bfd *ibfd;
+  asection *sec;
+  bfd_vma low_vma, high_vma, limit;
+
+  htab = ppc_elf_hash_table (info);
+  if (htab == NULL)
+    return FALSE;
+
+  /* A bl insn can reach -0x2000000 to 0x1fffffc.  The limit is
+     reduced somewhat to cater for possible stubs that might be added
+     between the call and its destination.  */
+  limit = 0x1e00000;
+  low_vma = -1;
+  high_vma = 0;
+  for (sec = info->output_bfd->sections; sec != NULL; sec = sec->next)
+    if ((sec->flags & (SEC_ALLOC | SEC_CODE)) == (SEC_ALLOC | SEC_CODE))
+      {
+	if (low_vma > sec->vma)
+	  low_vma = sec->vma;
+	if (high_vma < sec->vma + sec->size)
+	  high_vma = sec->vma + sec->size;
+      }
+
+  /* If a "bl" can reach anywhere in local code sections, then we can
+     convert all inline PLT sequences to direct calls when the symbol
+     is local.  */
+  if (high_vma - low_vma < limit)
+    {
+      htab->can_convert_all_inline_plt = 1;
+      return TRUE;
+    }
+
+  /* Otherwise, go looking through relocs for cases where a direct
+     call won't reach.  Mark the symbol on any such reloc to disable
+     the optimization and keep the PLT entry as it seems likely that
+     this will be better than creating trampolines.  Note that this
+     will disable the optimization for all inline PLT calls to a
+     particular symbol, not just those that won't reach.  The
+     difficulty in doing a more precise optimization is that the
+     linker needs to make a decision depending on whether a
+     particular R_PPC_PLTCALL insn can be turned into a direct
+     call, for each of the R_PPC_PLTSEQ and R_PPC_PLT16* insns in
+     the sequence, and there is nothing that ties those relocs
+     together except their symbol.  */
+
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
+    {
+      Elf_Internal_Shdr *symtab_hdr;
+      Elf_Internal_Sym *local_syms;
+
+      if (!is_ppc_elf (ibfd))
+	continue;
+
+      local_syms = NULL;
+      symtab_hdr = &elf_symtab_hdr (ibfd);
+
+      for (sec = ibfd->sections; sec != NULL; sec = sec->next)
+	if (sec->has_pltcall
+	    && !bfd_is_abs_section (sec->output_section))
+	  {
+	    Elf_Internal_Rela *relstart, *rel, *relend;
+
+	    /* Read the relocations.  */
+	    relstart = _bfd_elf_link_read_relocs (ibfd, sec, NULL, NULL,
+						  info->keep_memory);
+	    if (relstart == NULL)
+	      return FALSE;
+
+	    relend = relstart + sec->reloc_count;
+	    for (rel = relstart; rel < relend; )
+	      {
+		enum elf_ppc_reloc_type r_type;
+		unsigned long r_symndx;
+		asection *sym_sec;
+		struct elf_link_hash_entry *h;
+		Elf_Internal_Sym *sym;
+		unsigned char *tls_maskp;
+
+		r_type = ELF32_R_TYPE (rel->r_info);
+		if (r_type != R_PPC_PLTCALL)
+		  continue;
+
+		r_symndx = ELF32_R_SYM (rel->r_info);
+		if (!get_sym_h (&h, &sym, &sym_sec, &tls_maskp, &local_syms,
+				r_symndx, ibfd))
+		  {
+		    if (elf_section_data (sec)->relocs != relstart)
+		      free (relstart);
+		    if (local_syms != NULL
+			&& symtab_hdr->contents != (unsigned char *) local_syms)
+		      free (local_syms);
+		    return FALSE;
+		  }
+
+		if (sym_sec != NULL && sym_sec->output_section != NULL)
+		  {
+		    bfd_vma from, to;
+		    if (h != NULL)
+		      to = h->root.u.def.value;
+		    else
+		      to = sym->st_value;
+		    to += (rel->r_addend
+			   + sym_sec->output_offset
+			   + sym_sec->output_section->vma);
+		    from = (rel->r_offset
+			    + sec->output_offset
+			    + sec->output_section->vma);
+		    if (to - from + limit < 2 * limit)
+		      *tls_maskp &= ~PLT_KEEP;
+		  }
+	      }
+	    if (elf_section_data (sec)->relocs != relstart)
+	      free (relstart);
+	  }
+
+      if (local_syms != NULL
+	  && symtab_hdr->contents != (unsigned char *) local_syms)
+	{
+	  if (!info->keep_memory)
+	    free (local_syms);
+	  else
+	    symtab_hdr->contents = (unsigned char *) local_syms;
+	}
+    }
+
+  return TRUE;
+}
+
 /* Set plt output section type, htab->tls_get_addr, and call the
    generic ELF tls_setup function.  */
 
@@ -5175,7 +5548,6 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
   for (pass = 0; pass < 2; ++pass)
     for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
       {
-	Elf_Internal_Sym *locsyms = NULL;
 	Elf_Internal_Shdr *symtab_hdr = &elf_symtab_hdr (ibfd);
 	asection *got2 = bfd_get_section_by_name (ibfd, ".got2");
 
@@ -5197,8 +5569,8 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
 		  enum elf_ppc_reloc_type r_type;
 		  unsigned long r_symndx;
 		  struct elf_link_hash_entry *h = NULL;
-		  char *tls_mask;
-		  char tls_set, tls_clear;
+		  unsigned char *tls_mask;
+		  unsigned char tls_set, tls_clear;
 		  bfd_boolean is_local;
 		  bfd_signed_vma *got_count;
 
@@ -5294,6 +5666,40 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
 
 		    case R_PPC_TLSGD:
 		    case R_PPC_TLSLD:
+		      if (rel + 1 < relend
+			  && is_plt_seq_reloc (ELF32_R_TYPE (rel[1].r_info)))
+			{
+			  if (pass != 0
+			      && ELF32_R_TYPE (rel[1].r_info) != R_PPC_PLTSEQ)
+			    {
+			      r_type = ELF32_R_TYPE (rel[1].r_info);
+			      r_symndx = ELF32_R_SYM (rel[1].r_info);
+			      if (r_symndx >= symtab_hdr->sh_info)
+				{
+				  struct elf_link_hash_entry **sym_hashes;
+
+				  sym_hashes = elf_sym_hashes (ibfd);
+				  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+				  while (h->root.type == bfd_link_hash_indirect
+					 || h->root.type == bfd_link_hash_warning)
+				    h = (struct elf_link_hash_entry *) h->root.u.i.link;
+				  if (h != NULL)
+				    {
+				      struct plt_entry *ent = NULL;
+				      bfd_vma addend = 0;
+
+				      if (bfd_link_pic (info))
+					addend = rel->r_addend;
+				      ent = find_plt_ent (&h->plt.plist,
+							  got2, addend);
+				      if (ent != NULL
+					  && ent->plt.refcount > 0)
+					ent->plt.refcount -= 1;
+				    }
+				}
+			    }
+			  continue;
+			}
 		      expecting_tls_get_addr = 2;
 		      tls_set = 0;
 		      tls_clear = 0;
@@ -5306,8 +5712,7 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
 		  if (pass == 0)
 		    {
 		      if (!expecting_tls_get_addr
-			  || (expecting_tls_get_addr == 1
-			      && !sec->has_tls_get_addr_call))
+			  || !sec->has_tls_get_addr_call)
 			continue;
 
 		      if (rel + 1 < relend
@@ -5327,23 +5732,6 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
 		      return TRUE;
 		    }
 
-		  if (expecting_tls_get_addr)
-		    {
-		      struct plt_entry *ent;
-		      bfd_vma addend = 0;
-
-		      if (bfd_link_pic (info)
-			  && ELF32_R_TYPE (rel[1].r_info) == R_PPC_PLTREL24)
-			addend = rel[1].r_addend;
-		      ent = find_plt_ent (&htab->tls_get_addr->plt.plist,
-					  got2, addend);
-		      if (ent != NULL && ent->plt.refcount > 0)
-			ent->plt.refcount -= 1;
-
-		      if (expecting_tls_get_addr == 2)
-			continue;
-		    }
-
 		  if (h != NULL)
 		    {
 		      tls_mask = &ppc_elf_hash_entry (h)->tls_mask;
@@ -5353,33 +5741,51 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
 		    {
 		      bfd_signed_vma *lgot_refs;
 		      struct plt_entry **local_plt;
-		      char *lgot_masks;
+		      unsigned char *lgot_masks;
 
-		      if (locsyms == NULL)
-			{
-			  locsyms = (Elf_Internal_Sym *) symtab_hdr->contents;
-			  if (locsyms == NULL)
-			    locsyms = bfd_elf_get_elf_syms (ibfd, symtab_hdr,
-							    symtab_hdr->sh_info,
-							    0, NULL, NULL, NULL);
-			  if (locsyms == NULL)
-			    {
-			      if (elf_section_data (sec)->relocs != relstart)
-				free (relstart);
-			      return FALSE;
-			    }
-			}
 		      lgot_refs = elf_local_got_refcounts (ibfd);
 		      if (lgot_refs == NULL)
 			abort ();
 		      local_plt = (struct plt_entry **)
 			(lgot_refs + symtab_hdr->sh_info);
-		      lgot_masks = (char *) (local_plt + symtab_hdr->sh_info);
+		      lgot_masks = (unsigned char *)
+			(local_plt + symtab_hdr->sh_info);
 		      tls_mask = &lgot_masks[r_symndx];
 		      got_count = &lgot_refs[r_symndx];
 		    }
 
-		  if (tls_set == 0)
+		  /* If we don't have old-style __tls_get_addr calls
+		     without TLSGD/TLSLD marker relocs, and we haven't
+		     found a new-style __tls_get_addr call with a
+		     marker for this symbol, then we either have a
+		     broken object file or an -mlongcall style
+		     indirect call to __tls_get_addr without a marker.
+		     Disable optimization in this case.  */
+		  if ((tls_clear & (TLS_GD | TLS_LD)) != 0
+		      && !sec->has_tls_get_addr_call
+		      && ((*tls_mask & (TLS_TLS | TLS_MARK))
+			  != (TLS_TLS | TLS_MARK)))
+		    continue;
+
+		  if (expecting_tls_get_addr)
+		    {
+		      struct plt_entry *ent;
+		      bfd_vma addend = 0;
+
+		      if (bfd_link_pic (info)
+			  && (ELF32_R_TYPE (rel[1].r_info) == R_PPC_PLTREL24
+			      || ELF32_R_TYPE (rel[1].r_info) == R_PPC_PLTCALL))
+			addend = rel[1].r_addend;
+		      ent = find_plt_ent (&htab->tls_get_addr->plt.plist,
+					  got2, addend);
+		      if (ent != NULL && ent->plt.refcount > 0)
+			ent->plt.refcount -= 1;
+
+		      if (expecting_tls_get_addr == 2)
+			continue;
+		    }
+
+		  if (tls_set == 0)
 		    {
 		      /* We managed to get rid of a got entry.  */
 		      if (*got_count > 0)
@@ -5393,15 +5799,6 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
 	      if (elf_section_data (sec)->relocs != relstart)
 		free (relstart);
 	    }
-
-	if (locsyms != NULL
-	    && (symtab_hdr->contents != (unsigned char *) locsyms))
-	  {
-	    if (!info->keep_memory)
-	      free (locsyms);
-	    else
-	      symtab_hdr->contents = (unsigned char *) locsyms;
-	  }
       }
   htab->do_tls_opt = 1;
   return TRUE;
@@ -5502,7 +5899,11 @@ ppc_elf_adjust_dynamic_symbol (struct bf
 	if (ent->plt.refcount > 0)
 	  break;
       if (ent == NULL
-	  || (h->type != STT_GNU_IFUNC && local))
+	  || (h->type != STT_GNU_IFUNC
+	      && local
+	      && (htab->can_convert_all_inline_plt
+		  || (ppc_elf_hash_entry (h)->tls_mask
+		      & (TLS_TLS | PLT_KEEP)) != PLT_KEEP)))
 	{
 	  /* A PLT entry is not required/allowed when:
 
@@ -5538,9 +5939,9 @@ ppc_elf_adjust_dynamic_symbol (struct bf
 	      && !readonly_dynrelocs (h))
 	    {
 	      h->pointer_equality_needed = 0;
-	      /* If we haven't seen a branch reloc then we don't need
-		 a plt entry.  */
-	      if (!h->needs_plt)
+	      /* If we haven't seen a branch reloc and the symbol
+		 isn't an ifunc then we don't need a plt entry.  */
+	      if (!h->needs_plt && h->type != STT_GNU_IFUNC)
 		h->plt.plist = NULL;
 	    }
 	  else if (!bfd_link_pic (info))
@@ -5791,7 +6192,8 @@ got_relocs_needed (int tls_mask, unsigne
      the DTPREL reloc on the second word of a GD entry under the same
      condition as that for IE, but ld.so needs to differentiate
      LD and GD entries.  */
-  if ((tls_mask & (TLS_TPREL | TLS_TPRELGD)) != 0 && known)
+  if (known && (tls_mask & TLS_TLS) != 0
+      && (tls_mask & (TLS_TPREL | TLS_TPRELGD)) != 0)
     need -= 4;
   return need * sizeof (Elf32_External_Rela) / 4;
 }
@@ -5846,7 +6248,7 @@ allocate_dynrelocs (struct elf_link_hash
 	return FALSE;
 
       need = 0;
-      if ((eh->tls_mask & TLS_LD) != 0)
+      if ((eh->tls_mask & (TLS_TLS | TLS_LD)) == (TLS_TLS | TLS_LD))
 	{
 	  if (!eh->elf.def_dynamic)
 	    /* We'll just use htab->tlsld_got.offset.  This should
@@ -5874,7 +6276,8 @@ allocate_dynrelocs (struct elf_link_hash
 								     &eh->elf));
 
 	      need = got_relocs_needed (eh->tls_mask, need, tprel_known);
-	      if ((eh->tls_mask & TLS_LD) != 0 && eh->elf.def_dynamic)
+	      if ((eh->tls_mask & (TLS_TLS | TLS_LD)) == (TLS_TLS | TLS_LD)
+		  && eh->elf.def_dynamic)
 		need -= sizeof (Elf32_External_Rela);
 	      rsec = htab->elf.srelgot;
 	      if (eh->elf.type == STT_GNU_IFUNC)
@@ -5986,13 +6389,26 @@ allocate_dynrelocs (struct elf_link_hash
       sreloc->size += p->count * sizeof (Elf32_External_Rela);
     }
 
-  /* Handle PLT relocs.  Done last, after dynindx has settled.  */
+  /* Handle PLT relocs.  Done last, after dynindx has settled.
+     We might need a PLT entry when the symbol
+     a) is dynamic, or
+     b) is an ifunc, or
+     c) has plt16 relocs and has been processed by adjust_dynamic_symbol, or
+     d) has plt16 relocs and we are linking statically.  */
   dyn = htab->elf.dynamic_sections_created && h->dynindx != -1;
-  if (dyn || h->type == STT_GNU_IFUNC)
+  if (dyn
+      || h->type == STT_GNU_IFUNC
+      || (h->needs_plt && h->dynamic_adjusted)
+      || (h->needs_plt
+	  && h->def_regular
+	  && !htab->elf.dynamic_sections_created
+	  && !htab->can_convert_all_inline_plt
+	  && (ppc_elf_hash_entry (h)->tls_mask
+	      & (TLS_TLS | PLT_KEEP)) == PLT_KEEP))
     {
       struct plt_entry *ent;
       bfd_boolean doneone = FALSE;
-      bfd_vma plt_offset = 0, glink_offset = 0;
+      bfd_vma plt_offset = 0, glink_offset = (bfd_vma) -1;
 
       for (ent = h->plt.plist; ent != NULL; ent = ent->next)
 	if (ent->plt.refcount > 0)
@@ -6000,7 +6416,12 @@ allocate_dynrelocs (struct elf_link_hash
 	    asection *s = htab->elf.splt;
 
 	    if (!dyn)
-	      s = htab->elf.iplt;
+	      {
+		if (h->type == STT_GNU_IFUNC)
+		  s = htab->elf.iplt;
+		else
+		  s = htab->pltlocal;
+	      }
 
 	    if (htab->plt_type == PLT_NEW || !dyn)
 	      {
@@ -6011,28 +6432,30 @@ allocate_dynrelocs (struct elf_link_hash
 		  }
 		ent->plt.offset = plt_offset;
 
-		s = htab->glink;
-		if (!doneone || bfd_link_pic (info))
-		  {
-		    glink_offset = s->size;
-		    s->size += GLINK_ENTRY_SIZE;
-		    if (h == htab->tls_get_addr
-			&& !htab->params->no_tls_get_addr_opt)
-		      s->size += TLS_GET_ADDR_GLINK_SIZE - GLINK_ENTRY_SIZE;
-		  }
-		if (!doneone
-		    && !bfd_link_pic (info)
-		    && h->def_dynamic
-		    && !h->def_regular)
+		if (s == htab->pltlocal)
+		  ent->glink_offset = glink_offset;
+		else
 		  {
-		    h->root.u.def.section = s;
-		    h->root.u.def.value = glink_offset;
-		  }
-		ent->glink_offset = glink_offset;
+		    s = htab->glink;
+		    if (!doneone || bfd_link_pic (info))
+		      {
+			glink_offset = s->size;
+			s->size += GLINK_ENTRY_SIZE (htab, h);
+		      }
+		    if (!doneone
+			&& !bfd_link_pic (info)
+			&& h->def_dynamic
+			&& !h->def_regular)
+		      {
+			h->root.u.def.section = s;
+			h->root.u.def.value = glink_offset;
+		      }
+		    ent->glink_offset = glink_offset;
 
-		if (htab->params->emit_stub_syms
-		    && !add_stub_sym (ent, h, info))
-		  return FALSE;
+		    if (htab->params->emit_stub_syms
+			&& !add_stub_sym (ent, h, info))
+		      return FALSE;
+		  }
 	      }
 	    else
 	      {
@@ -6085,7 +6508,18 @@ allocate_dynrelocs (struct elf_link_hash
 	    if (!doneone)
 	      {
 		if (!dyn)
-		  htab->elf.irelplt->size += sizeof (Elf32_External_Rela);
+		  {
+		    if (h->type == STT_GNU_IFUNC)
+		      {
+			s = htab->elf.irelplt;
+			s->size += sizeof (Elf32_External_Rela);
+		      }
+		    else if (bfd_link_pic (info))
+		      {
+			s = htab->relpltlocal;
+			s->size += sizeof (Elf32_External_Rela);
+		      }
+		  }
 		else
 		  {
 		    htab->elf.srelplt->size += sizeof (Elf32_External_Rela);
@@ -6153,7 +6587,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -6261,7 +6695,7 @@ ppc_elf_size_dynamic_sections (bfd *outp
 		      == (SEC_READONLY | SEC_ALLOC))
 		    {
 		      info->flags |= DF_TEXTREL;
-		      info->callbacks->minfo (_("%B: dynamic relocation in read-only section `%A'\n"),
+		      info->callbacks->minfo (_("%pB: dynamic relocation in read-only section `%pA'\n"),
 					      p->sec->owner, p->sec);
 		    }
 		}
@@ -6283,7 +6717,7 @@ ppc_elf_size_dynamic_sections (bfd *outp
 	if (*local_got > 0)
 	  {
 	    unsigned int need;
-	    if ((*lgot_masks & TLS_LD) != 0)
+	    if ((*lgot_masks & (TLS_TLS | TLS_LD)) == (TLS_TLS | TLS_LD))
 	      htab->tlsld_got.refcount += 1;
 	    need = got_entries_needed (*lgot_masks);
 	    if (need == 0)
@@ -6298,7 +6732,7 @@ ppc_elf_size_dynamic_sections (bfd *outp
 
 		    need = got_relocs_needed (*lgot_masks, need, tprel_known);
 		    srel = htab->elf.srelgot;
-		    if ((*lgot_masks & PLT_IFUNC) != 0)
+		    if ((*lgot_masks & (TLS_TLS | PLT_IFUNC)) == PLT_IFUNC)
 		      srel = htab->elf.irelplt;
 		    srel->size += need;
 		  }
@@ -6311,16 +6745,26 @@ ppc_elf_size_dynamic_sections (bfd *outp
 	continue;
 
       /* Allocate space for calls to local STT_GNU_IFUNC syms in .iplt.  */
-      for (; local_plt < end_local_plt; ++local_plt)
+      lgot_masks = (char *) end_local_plt;
+      for (; local_plt < end_local_plt; ++local_plt, ++lgot_masks)
 	{
 	  struct plt_entry *ent;
 	  bfd_boolean doneone = FALSE;
-	  bfd_vma plt_offset = 0, glink_offset = 0;
+	  bfd_vma plt_offset = 0, glink_offset = (bfd_vma) -1;
 
 	  for (ent = *local_plt; ent != NULL; ent = ent->next)
 	    if (ent->plt.refcount > 0)
 	      {
-		s = htab->elf.iplt;
+		if ((*lgot_masks & (TLS_TLS | PLT_IFUNC)) == PLT_IFUNC)
+		  s = htab->elf.iplt;
+		else if (htab->can_convert_all_inline_plt
+			 || (*lgot_masks & (TLS_TLS | PLT_KEEP)) != PLT_KEEP)
+		  {
+		    ent->plt.offset = (bfd_vma) -1;
+		    continue;
+		  }
+		else
+		  s = htab->pltlocal;
 
 		if (!doneone)
 		  {
@@ -6329,17 +6773,26 @@ ppc_elf_size_dynamic_sections (bfd *outp
 		  }
 		ent->plt.offset = plt_offset;
 
-		s = htab->glink;
-		if (!doneone || bfd_link_pic (info))
+		if (s != htab->pltlocal && (!doneone || bfd_link_pic (info)))
 		  {
+		    s = htab->glink;
 		    glink_offset = s->size;
-		    s->size += GLINK_ENTRY_SIZE;
+		    s->size += GLINK_ENTRY_SIZE (htab, NULL);
 		  }
 		ent->glink_offset = glink_offset;
 
 		if (!doneone)
 		  {
-		    htab->elf.irelplt->size += sizeof (Elf32_External_Rela);
+		    if ((*lgot_masks & (TLS_TLS | PLT_IFUNC)) == PLT_IFUNC)
+		      {
+			s = htab->elf.irelplt;
+			s->size += sizeof (Elf32_External_Rela);
+		      }
+		    else if (bfd_link_pic (info))
+		      {
+			s = htab->relpltlocal;
+			s->size += sizeof (Elf32_External_Rela);
+		      }
 		    doneone = TRUE;
 		  }
 	      }
@@ -6401,10 +6854,9 @@ ppc_elf_size_dynamic_sections (bfd *outp
       && htab->elf.dynamic_sections_created)
     {
       htab->glink_pltresolve = htab->glink->size;
-      /* Space for the branch table.  ??? We don't need entries for
-	 non-dynamic symbols in this table.  This case can arise with
-	 static ifuncs or forced local ifuncs.  */
-      htab->glink->size += htab->glink->size / (GLINK_ENTRY_SIZE / 4) - 4;
+      /* Space for the branch table.  */
+      htab->glink->size
+	+= htab->elf.srelplt->size / (sizeof (Elf32_External_Rela) / 4) - 4;
       /* Pad out to align the start of PLTresolve.  */
       htab->glink->size += -htab->glink->size & (htab->params->ppc476_workaround
 						 ? 63 : 15);
@@ -6486,6 +6938,7 @@ ppc_elf_size_dynamic_sections (bfd *outp
 	     comment below.  */
 	}
       else if (s == htab->elf.iplt
+	       || s == htab->pltlocal
 	       || s == htab->glink
 	       || s == htab->glink_eh_frame
 	       || s == htab->elf.sgotplt
@@ -6866,6 +7319,7 @@ ppc_elf_relax_section (bfd *abfd,
 	  bfd_byte *hit_addr;
 	  unsigned long t0;
 	  struct elf_link_hash_entry *h;
+	  Elf_Internal_Sym *isym;
 	  struct plt_entry **plist;
 	  unsigned char sym_type;
 
@@ -6874,6 +7328,7 @@ ppc_elf_relax_section (bfd *abfd,
 	    case R_PPC_REL24:
 	    case R_PPC_LOCAL24PC:
 	    case R_PPC_PLTREL24:
+	    case R_PPC_PLTCALL:
 	      max_branch_offset = 1 << 25;
 	      break;
 
@@ -6893,57 +7348,34 @@ ppc_elf_relax_section (bfd *abfd,
 	    }
 
 	  /* Get the value of the symbol referred to by the reloc.  */
-	  h = NULL;
-	  if (ELF32_R_SYM (irel->r_info) < symtab_hdr->sh_info)
-	    {
-	      /* A local symbol.  */
-	      Elf_Internal_Sym *isym;
+	  if (!get_sym_h (&h, &isym, &tsec, NULL, &isymbuf,
+			  ELF32_R_SYM (irel->r_info), abfd))
+	    goto error_return;
 
-	      /* Read this BFD's local symbols.  */
-	      if (isymbuf == NULL)
-		{
-		  isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents;
-		  if (isymbuf == NULL)
-		    isymbuf = bfd_elf_get_elf_syms (abfd, symtab_hdr,
-						    symtab_hdr->sh_info, 0,
-						    NULL, NULL, NULL);
-		  if (isymbuf == 0)
-		    goto error_return;
-		}
-	      isym = isymbuf + ELF32_R_SYM (irel->r_info);
-	      if (isym->st_shndx == SHN_UNDEF)
+	  if (isym != NULL)
+	    {
+	      if (tsec != NULL)
+		;
+	      else if (isym->st_shndx == SHN_UNDEF)
 		tsec = bfd_und_section_ptr;
 	      else if (isym->st_shndx == SHN_ABS)
 		tsec = bfd_abs_section_ptr;
 	      else if (isym->st_shndx == SHN_COMMON)
 		tsec = bfd_com_section_ptr;
-	      else
-		tsec = bfd_section_from_elf_index (abfd, isym->st_shndx);
 
 	      toff = isym->st_value;
 	      sym_type = ELF_ST_TYPE (isym->st_info);
 	    }
 	  else
 	    {
-	      /* Global symbol handling.  */
-	      unsigned long indx;
-
-	      indx = ELF32_R_SYM (irel->r_info) - symtab_hdr->sh_info;
-	      h = elf_sym_hashes (abfd)[indx];
-
-	      while (h->root.type == bfd_link_hash_indirect
-		     || h->root.type == bfd_link_hash_warning)
-		h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
-	      if (h->root.type == bfd_link_hash_defined
-		  || h->root.type == bfd_link_hash_defweak)
-		{
-		  tsec = h->root.u.def.section;
-		  toff = h->root.u.def.value;
-		}
+	      if (tsec != NULL)
+		toff = h->root.u.def.value;
 	      else if (h->root.type == bfd_link_hash_undefined
 		       || h->root.type == bfd_link_hash_undefweak)
 		{
+		  unsigned long indx;
+
+		  indx = ELF32_R_SYM (irel->r_info) - symtab_hdr->sh_info;
 		  tsec = bfd_und_section_ptr;
 		  toff = bfd_link_relocatable (link_info) ? indx : 0;
 		}
@@ -7443,12 +7875,36 @@ elf_finish_pointer_linker_section (bfd *
 #define PPC_HA(v) PPC_HI ((v) + 0x8000)
 
 static void
-write_glink_stub (struct plt_entry *ent, asection *plt_sec, unsigned char *p,
+write_glink_stub (struct elf_link_hash_entry *h, struct plt_entry *ent,
+		  asection *plt_sec, unsigned char *p,
 		  struct bfd_link_info *info)
 {
   struct ppc_elf_link_hash_table *htab = ppc_elf_hash_table (info);
   bfd *output_bfd = info->output_bfd;
   bfd_vma plt;
+  unsigned char *end = p + GLINK_ENTRY_SIZE (htab, h);
+
+  if (h != NULL
+      && h == htab->tls_get_addr
+      && !htab->params->no_tls_get_addr_opt)
+    {
+      bfd_put_32 (output_bfd, LWZ_11_3, p);
+      p += 4;
+      bfd_put_32 (output_bfd, LWZ_12_3 + 4, p);
+      p += 4;
+      bfd_put_32 (output_bfd, MR_0_3, p);
+      p += 4;
+      bfd_put_32 (output_bfd, CMPWI_11_0, p);
+      p += 4;
+      bfd_put_32 (output_bfd, ADD_3_12_2, p);
+      p += 4;
+      bfd_put_32 (output_bfd, BEQLR, p);
+      p += 4;
+      bfd_put_32 (output_bfd, MR_3_0, p);
+      p += 4;
+      bfd_put_32 (output_bfd, NOP, p);
+      p += 4;
+    }
 
   plt = ((ent->plt.offset & ~1)
 	 + plt_sec->output_section->vma
@@ -7468,26 +7924,12 @@ write_glink_stub (struct plt_entry *ent,
       plt -= got;
 
       if (plt + 0x8000 < 0x10000)
-	{
-	  bfd_put_32 (output_bfd, LWZ_11_30 + PPC_LO (plt), p);
-	  p += 4;
-	  bfd_put_32 (output_bfd, MTCTR_11, p);
-	  p += 4;
-	  bfd_put_32 (output_bfd, BCTR, p);
-	  p += 4;
-	  bfd_put_32 (output_bfd, htab->params->ppc476_workaround ? BA : NOP, p);
-	  p += 4;
-	}
+	bfd_put_32 (output_bfd, LWZ_11_30 + PPC_LO (plt), p);
       else
 	{
 	  bfd_put_32 (output_bfd, ADDIS_11_30 + PPC_HA (plt), p);
 	  p += 4;
 	  bfd_put_32 (output_bfd, LWZ_11_11 + PPC_LO (plt), p);
-	  p += 4;
-	  bfd_put_32 (output_bfd, MTCTR_11, p);
-	  p += 4;
-	  bfd_put_32 (output_bfd, BCTR, p);
-	  p += 4;
 	}
     }
   else
@@ -7495,10 +7937,15 @@ write_glink_stub (struct plt_entry *ent,
       bfd_put_32 (output_bfd, LIS_11 + PPC_HA (plt), p);
       p += 4;
       bfd_put_32 (output_bfd, LWZ_11_11 + PPC_LO (plt), p);
-      p += 4;
-      bfd_put_32 (output_bfd, MTCTR_11, p);
-      p += 4;
-      bfd_put_32 (output_bfd, BCTR, p);
+    }
+  p += 4;
+  bfd_put_32 (output_bfd, MTCTR_11, p);
+  p += 4;
+  bfd_put_32 (output_bfd, BCTR, p);
+  p += 4;
+  while (p < end)
+    {
+      bfd_put_32 (output_bfd, htab->params->ppc476_workaround ? BA : NOP, p);
       p += 4;
     }
 }
@@ -7671,7 +8118,7 @@ ppc_elf_relocate_section (bfd *output_bf
   struct ppc_elf_relax_info *relax_info = NULL;
 
 #ifdef DEBUG
-  _bfd_error_handler ("ppc_elf_relocate_section called for %B section %A, "
+  _bfd_error_handler ("ppc_elf_relocate_section called for %pB section %pA, "
 		      "%ld relocations%s",
 		      input_bfd, input_section,
 		      (long) input_section->reloc_count,
@@ -7710,10 +8157,10 @@ ppc_elf_relocate_section (bfd *output_bf
       unsigned long r_symndx;
       bfd_vma relocation;
       bfd_vma branch_bit, from;
-      bfd_boolean unresolved_reloc;
+      bfd_boolean unresolved_reloc, save_unresolved_reloc;
       bfd_boolean warned;
       unsigned int tls_type, tls_mask, tls_gd;
-      struct plt_entry **ifunc;
+      struct plt_entry **ifunc, **plt_list;
       struct reloc_howto_struct alt_howto;
 
     again:
@@ -7974,11 +8421,19 @@ ppc_elf_relocate_section (bfd *output_bf
 	  break;
 
 	case R_PPC_TLSGD:
-	  if ((tls_mask & TLS_TLS) != 0 && (tls_mask & TLS_GD) == 0)
+	  if ((tls_mask & TLS_TLS) != 0 && (tls_mask & TLS_GD) == 0
+	      && rel + 1 < relend)
 	    {
 	      unsigned int insn2;
 	      bfd_vma offset = rel->r_offset;
 
+	      if (is_plt_seq_reloc (ELF32_R_TYPE (rel[1].r_info)))
+		{
+		  bfd_put_32 (input_bfd, NOP, contents + offset);
+		  rel[1].r_info = ELF32_R_INFO (STN_UNDEF, R_PPC_NONE);
+		  break;
+		}
+
 	      if ((tls_mask & TLS_TPRELGD) != 0)
 		{
 		  /* IE */
@@ -8001,10 +8456,18 @@ ppc_elf_relocate_section (bfd *output_bf
 	  break;
 
 	case R_PPC_TLSLD:
-	  if ((tls_mask & TLS_TLS) != 0 && (tls_mask & TLS_LD) == 0)
+	  if ((tls_mask & TLS_TLS) != 0 && (tls_mask & TLS_LD) == 0
+	      && rel + 1 < relend)
 	    {
 	      unsigned int insn2;
 
+	      if (is_plt_seq_reloc (ELF32_R_TYPE (rel[1].r_info)))
+		{
+		  bfd_put_32 (input_bfd, NOP, contents + rel->r_offset);
+		  rel[1].r_info = ELF32_R_INFO (STN_UNDEF, R_PPC_NONE);
+		  break;
+		}
+
 	      for (r_symndx = 0;
 		   r_symndx < symtab_hdr->sh_info;
 		   r_symndx++)
@@ -8048,7 +8511,7 @@ ppc_elf_relocate_section (bfd *output_bf
 	case R_PPC_ADDR14_BRNTAKEN:
 	case R_PPC_REL14_BRNTAKEN:
 	  {
-	    bfd_vma insn;
+	    unsigned int insn;
 
 	    insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
 	    insn &= ~BRANCH_PREDICT_BIT;
@@ -8063,8 +8526,33 @@ ppc_elf_relocate_section (bfd *output_bf
 	      insn ^= BRANCH_PREDICT_BIT;
 
 	    bfd_put_32 (input_bfd, insn, contents + rel->r_offset);
-	    break;
 	  }
+	  break;
+
+	case R_PPC_PLT16_HA:
+	  {
+	    unsigned int insn;
+
+	    insn = bfd_get_32 (input_bfd,
+			       contents + rel->r_offset - d_offset);
+	    if ((insn & (0x3f << 26)) == 15u << 26
+		&& (insn & (0x1f << 16)) != 0)
+	      {
+		if (!bfd_link_pic (info))
+		  {
+		    /* Convert addis to lis.  */
+		    insn &= ~(0x1f << 16);
+		    bfd_put_32 (input_bfd, insn,
+				contents + rel->r_offset - d_offset);
+		  }
+	      }
+	    else if (bfd_link_pic (info))
+	      info->callbacks->einfo
+		(_("%P: %H: error: %s with unexpected instruction %x\n"),
+		 input_bfd, input_section, rel->r_offset,
+		 "R_PPC_PLT16_HA", insn);
+	  }
+	  break;
 	}
 
       if (ELIMINATE_COPY_RELOCS
@@ -8137,8 +8625,9 @@ ppc_elf_relocate_section (bfd *output_bf
 	      else
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B(%A+%#Lx): error: %s with unexpected instruction %#x"),
-		   input_bfd, input_section, rel->r_offset,
+		  (_("%pB(%pA+%#" PRIx64 "): error: "
+		     "%s with unexpected instruction %#x"),
+		   input_bfd, input_section, (uint64_t) rel->r_offset,
 		   "R_PPC_ADDR16_HA", insn);
 	    }
 	  else if (r_type == R_PPC_ADDR16_LO)
@@ -8172,8 +8661,9 @@ ppc_elf_relocate_section (bfd *output_bf
 	      else
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B(%A+%#Lx): error: %s with unexpected instruction %#x"),
-		   input_bfd, input_section, rel->r_offset,
+		  (_("%pB(%pA+%#" PRIx64 "): error: "
+		     "%s with unexpected instruction %#x"),
+		   input_bfd, input_section, (uint64_t) rel->r_offset,
 		   "R_PPC_ADDR16_LO", insn);
 	    }
 	}
@@ -8201,10 +8691,17 @@ ppc_elf_relocate_section (bfd *output_bf
 	  ent = NULL;
 	  if (ifunc != NULL
 	      && (!bfd_link_pic (info)
-		  || is_branch_reloc (r_type)))
+		  || is_branch_reloc (r_type)
+		  || r_type == R_PPC_PLT16_LO
+		  || r_type == R_PPC_PLT16_HI
+		  || r_type == R_PPC_PLT16_HA))
 	    {
 	      addend = 0;
-	      if (r_type == R_PPC_PLTREL24 && bfd_link_pic (info))
+	      if (bfd_link_pic (info)
+		  && (r_type == R_PPC_PLTREL24
+		      || r_type == R_PPC_PLT16_LO
+		      || r_type == R_PPC_PLT16_HI
+		      || r_type == R_PPC_PLT16_HA))
 		addend = rel->r_addend;
 	      ent = find_plt_ent (ifunc, got2, addend);
 	    }
@@ -8231,31 +8728,6 @@ ppc_elf_relocate_section (bfd *output_bf
 		      (_("%X%H: unsupported bss-plt -fPIC ifunc %s\n"),
 		       input_bfd, input_section, rel->r_offset, sym_name);
 		}
-	      if (h == NULL && (ent->plt.offset & 1) == 0)
-		{
-		  Elf_Internal_Rela rela;
-		  bfd_byte *loc;
-
-		  rela.r_offset = (htab->elf.iplt->output_section->vma
-				   + htab->elf.iplt->output_offset
-				   + ent->plt.offset);
-		  rela.r_info = ELF32_R_INFO (0, R_PPC_IRELATIVE);
-		  rela.r_addend = relocation;
-		  loc = htab->elf.irelplt->contents;
-		  loc += (htab->elf.irelplt->reloc_count++
-			  * sizeof (Elf32_External_Rela));
-		  bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
-		  htab->local_ifunc_resolver = 1;
-
-		  ent->plt.offset |= 1;
-		}
-	      if (h == NULL && (ent->glink_offset & 1) == 0)
-		{
-		  unsigned char *p = ((unsigned char *) htab->glink->contents
-				      + ent->glink_offset);
-		  write_glink_stub (ent, htab->elf.iplt, p, info);
-		  ent->glink_offset |= 1;
-		}
 
 	      unresolved_reloc = FALSE;
 	      if (htab->plt_type == PLT_NEW
@@ -8273,6 +8745,7 @@ ppc_elf_relocate_section (bfd *output_bf
 	}
 
       addend = rel->r_addend;
+      save_unresolved_reloc = unresolved_reloc;
       howto = NULL;
       if (r_type < R_PPC_max)
 	howto = ppc_elf_howto_table[r_type];
@@ -8314,10 +8787,9 @@ ppc_elf_relocate_section (bfd *output_bf
       switch (r_type)
 	{
 	default:
-	  info->callbacks->einfo
-	    /* xgettext:c-format */
-	    (_("%P: %B: unknown relocation type %d for symbol %s\n"),
-	     input_bfd, (int) r_type, sym_name);
+	  /* xgettext:c-format */
+	  _bfd_error_handler (_("%pB: %s unsupported"),
+			      input_bfd, howto->name);
 
 	  bfd_set_error (bfd_error_bad_value);
 	  ret = FALSE;
@@ -8418,9 +8890,10 @@ ppc_elf_relocate_section (bfd *output_bf
 	      off &= ~1;
 	    else
 	      {
-		unsigned int tls_m = (tls_mask
-				      & (TLS_LD | TLS_GD | TLS_DTPREL
-					 | TLS_TPREL | TLS_TPRELGD));
+		unsigned int tls_m = ((tls_mask & TLS_TLS) != 0
+				      ? tls_mask & (TLS_LD | TLS_GD | TLS_DTPREL
+						    | TLS_TPREL | TLS_TPRELGD)
+				      : 0);
 
 		if (offp == &htab->tlsld_got.offset)
 		  tls_m = TLS_LD;
@@ -9053,6 +9526,65 @@ ppc_elf_relocate_section (bfd *output_bf
 	  addend = 0;
 	  break;
 
+	case R_PPC_PLTSEQ:
+	case R_PPC_PLTCALL:
+	case R_PPC_PLT16_LO:
+	case R_PPC_PLT16_HI:
+	case R_PPC_PLT16_HA:
+	  plt_list = NULL;
+	  if (h != NULL)
+	    plt_list = &h->plt.plist;
+	  else if (ifunc != NULL)
+	    plt_list = ifunc;
+	  else if (local_got_offsets != NULL)
+	    {
+	      struct plt_entry **local_plt;
+	      local_plt = (struct plt_entry **) (local_got_offsets
+						 + symtab_hdr->sh_info);
+	      plt_list = local_plt + r_symndx;
+	    }
+	  unresolved_reloc = TRUE;
+	  if (plt_list != NULL)
+	    {
+	      struct plt_entry *ent;
+
+	      ent = find_plt_ent (plt_list, got2,
+				  bfd_link_pic (info) ? addend : 0);
+	      if (ent != NULL && ent->plt.offset != (bfd_vma) -1)
+		{
+		  asection *plt;
+
+		  unresolved_reloc = FALSE;
+		  plt = htab->elf.splt;
+		  if (!htab->elf.dynamic_sections_created
+		      || h == NULL
+		      || h->dynindx == -1)
+		    {
+		      if (ifunc != NULL)
+			plt = htab->elf.iplt;
+		      else
+			plt = htab->pltlocal;
+		    }
+		  relocation = (plt->output_section->vma
+				+ plt->output_offset
+				+ ent->plt.offset);
+		  if (bfd_link_pic (info))
+		    {
+		      bfd_vma got = 0;
+
+		      if (ent->addend >= 32768)
+			got = (ent->addend
+			       + ent->sec->output_section->vma
+			       + ent->sec->output_offset);
+		      else
+			got = SYM_VAL (htab->elf.hgot);
+		      relocation -= got;
+		    }
+		}
+	    }
+	  addend = 0;
+	  break;
+
 	  /* Relocate against _SDA_BASE_.  */
 	case R_PPC_SDAREL16:
 	  {
@@ -9072,10 +9604,10 @@ ppc_elf_relocate_section (bfd *output_bf
 	    if (!(strcmp (name, ".sdata") == 0
 		  || strcmp (name, ".sbss") == 0))
 	      {
-		info->callbacks->einfo
+		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%P: %B: the target (%s) of a %s relocation is "
-		     "in the wrong output section (%s)\n"),
+		  (_("%pB: the target (%s) of a %s relocation is "
+		     "in the wrong output section (%s)"),
 		   input_bfd,
 		   sym_name,
 		   howto->name,
@@ -9103,10 +9635,10 @@ ppc_elf_relocate_section (bfd *output_bf
 	    if (!(strcmp (name, ".sdata2") == 0
 		  || strcmp (name, ".sbss2") == 0))
 	      {
-		info->callbacks->einfo
+		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%P: %B: the target (%s) of a %s relocation is "
-		     "in the wrong output section (%s)\n"),
+		  (_("%pB: the target (%s) of a %s relocation is "
+		     "in the wrong output section (%s)"),
 		   input_bfd,
 		   sym_name,
 		   howto->name,
@@ -9194,10 +9726,10 @@ ppc_elf_relocate_section (bfd *output_bf
 	      }
 	    else
 	      {
-		info->callbacks->einfo
+		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%P: %B: the target (%s) of a %s relocation is "
-		     "in the wrong output section (%s)\n"),
+		  (_("%pB: the target (%s) of a %s relocation is "
+		     "in the wrong output section (%s)"),
 		   input_bfd,
 		   sym_name,
 		   howto->name,
@@ -9284,7 +9816,7 @@ ppc_elf_relocate_section (bfd *output_bf
 	      {
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: the target (%s) of a %s relocation is "
+		  (_("%pB: the target (%s) of a %s relocation is "
 		     "in the wrong output section (%s)"),
 		   input_bfd,
 		   sym_name,
@@ -9381,27 +9913,63 @@ ppc_elf_relocate_section (bfd *output_bf
 	case R_PPC_IRELATIVE:
 	case R_PPC_PLT32:
 	case R_PPC_PLTREL32:
-	case R_PPC_PLT16_LO:
-	case R_PPC_PLT16_HI:
-	case R_PPC_PLT16_HA:
 	case R_PPC_ADDR30:
 	case R_PPC_EMB_RELSEC16:
 	case R_PPC_EMB_RELST_LO:
 	case R_PPC_EMB_RELST_HI:
 	case R_PPC_EMB_RELST_HA:
 	case R_PPC_EMB_BIT_FLD:
-	  info->callbacks->einfo
-	    /* xgettext:c-format */
-	    (_("%P: %B: relocation %s is not yet supported for symbol %s\n"),
-	     input_bfd,
-	     howto->name,
-	     sym_name);
+	  /* xgettext:c-format */
+	  _bfd_error_handler (_("%pB: %s unsupported"),
+			      input_bfd, howto->name);
 
 	  bfd_set_error (bfd_error_invalid_operation);
 	  ret = FALSE;
 	  goto copy_reloc;
 	}
 
+      switch (r_type)
+	{
+	default:
+	  break;
+
+	case R_PPC_PLTCALL:
+	  if (unresolved_reloc)
+	    {
+	      bfd_byte *p = contents + rel->r_offset;
+	      unsigned int insn = bfd_get_32 (input_bfd, p);
+	      insn &= 1;
+	      bfd_put_32 (input_bfd, B | insn, p);
+	      unresolved_reloc = save_unresolved_reloc;
+	      r_type = R_PPC_REL24;
+	      howto = ppc_elf_howto_table[r_type];
+	    }
+	  else if (htab->plt_type != PLT_NEW)
+	    info->callbacks->einfo
+	      (_("%P: %H: %s relocation unsupported for bss-plt\n"),
+	       input_bfd, input_section, rel->r_offset,
+	       howto->name);
+	  break;
+
+	case R_PPC_PLTSEQ:
+	case R_PPC_PLT16_HA:
+	case R_PPC_PLT16_LO:
+	  if (unresolved_reloc)
+	    {
+	      bfd_byte *p = contents + (rel->r_offset & ~3);
+	      bfd_put_32 (input_bfd, NOP, p);
+	      unresolved_reloc = FALSE;
+	      r_type = R_PPC_NONE;
+	      howto = ppc_elf_howto_table[r_type];
+	    }
+	  else if (htab->plt_type != PLT_NEW)
+	    info->callbacks->einfo
+	      (_("%P: %H: %s relocation unsupported for bss-plt\n"),
+	       input_bfd, input_section, rel->r_offset,
+	       howto->name);
+	  break;
+	}
+
       /* Do any further special processing.  */
       switch (r_type)
 	{
@@ -9919,27 +10487,16 @@ ppc_elf_relocate_section (bfd *output_bf
   return ret;
 }
 
-/* Finish up dynamic symbol handling.  We set the contents of various
-   dynamic sections here.  */
+/* Write out the PLT relocs and entries for H.  */
 
 static bfd_boolean
-ppc_elf_finish_dynamic_symbol (bfd *output_bfd,
-			       struct bfd_link_info *info,
-			       struct elf_link_hash_entry *h,
-			       Elf_Internal_Sym *sym)
+write_global_sym_plt (struct elf_link_hash_entry *h, void *inf)
 {
-  struct ppc_elf_link_hash_table *htab;
+  struct bfd_link_info *info = (struct bfd_link_info *) inf;
+  struct ppc_elf_link_hash_table *htab = ppc_elf_hash_table (info);
   struct plt_entry *ent;
   bfd_boolean doneone;
 
-#ifdef DEBUG
-  fprintf (stderr, "ppc_elf_finish_dynamic_symbol called for %s",
-	   h->root.root.string);
-#endif
-
-  htab = ppc_elf_hash_table (info);
-  BFD_ASSERT (htab->elf.dynobj != NULL);
-
   doneone = FALSE;
   for (ent = h->plt.plist; ent != NULL; ent = ent->next)
     if (ent->plt.offset != (bfd_vma) -1)
@@ -9949,6 +10506,8 @@ ppc_elf_finish_dynamic_symbol (bfd *outp
 	    Elf_Internal_Rela rela;
 	    bfd_byte *loc;
 	    bfd_vma reloc_index;
+	    asection *plt = htab->elf.splt;
+	    asection *relplt = htab->elf.srelplt;
 
 	    if (htab->plt_type == PLT_NEW
 		|| !htab->elf.dynamic_sections_created
@@ -9982,29 +10541,29 @@ ppc_elf_finish_dynamic_symbol (bfd *outp
 		/* Fill in the .plt on VxWorks.  */
 		if (bfd_link_pic (info))
 		  {
-		    bfd_put_32 (output_bfd,
+		    bfd_put_32 (info->output_bfd,
 				plt_entry[0] | PPC_HA (got_offset),
-				htab->elf.splt->contents + ent->plt.offset + 0);
-		    bfd_put_32 (output_bfd,
+				plt->contents + ent->plt.offset + 0);
+		    bfd_put_32 (info->output_bfd,
 				plt_entry[1] | PPC_LO (got_offset),
-				htab->elf.splt->contents + ent->plt.offset + 4);
+				plt->contents + ent->plt.offset + 4);
 		  }
 		else
 		  {
 		    bfd_vma got_loc = got_offset + SYM_VAL (htab->elf.hgot);
 
-		    bfd_put_32 (output_bfd,
+		    bfd_put_32 (info->output_bfd,
 				plt_entry[0] | PPC_HA (got_loc),
-				htab->elf.splt->contents + ent->plt.offset + 0);
-		    bfd_put_32 (output_bfd,
+				plt->contents + ent->plt.offset + 0);
+		    bfd_put_32 (info->output_bfd,
 				plt_entry[1] | PPC_LO (got_loc),
-				htab->elf.splt->contents + ent->plt.offset + 4);
+				plt->contents + ent->plt.offset + 4);
 		  }
 
-		bfd_put_32 (output_bfd, plt_entry[2],
-			    htab->elf.splt->contents + ent->plt.offset + 8);
-		bfd_put_32 (output_bfd, plt_entry[3],
-			    htab->elf.splt->contents + ent->plt.offset + 12);
+		bfd_put_32 (info->output_bfd, plt_entry[2],
+			    plt->contents + ent->plt.offset + 8);
+		bfd_put_32 (info->output_bfd, plt_entry[3],
+			    plt->contents + ent->plt.offset + 12);
 
 		/* This instruction is an immediate load.  The value loaded is
 		   the byte offset of the R_PPC_JMP_SLOT relocation from the
@@ -10012,30 +10571,30 @@ ppc_elf_finish_dynamic_symbol (bfd *outp
 		   low-order 16 bits of the load instruction.  */
 		/* NOTE: It appears that this is now an index rather than a
 		   prescaled offset.  */
-		bfd_put_32 (output_bfd,
+		bfd_put_32 (info->output_bfd,
 			    plt_entry[4] | reloc_index,
-			    htab->elf.splt->contents + ent->plt.offset + 16);
+			    plt->contents + ent->plt.offset + 16);
 		/* This instruction is a PC-relative branch whose target is
 		   the start of the PLT section.  The address of this branch
 		   instruction is 20 bytes beyond the start of this PLT entry.
 		   The address is encoded in bits 6-29, inclusive.  The value
 		   stored is right-shifted by two bits, permitting a 26-bit
 		   offset.  */
-		bfd_put_32 (output_bfd,
+		bfd_put_32 (info->output_bfd,
 			    (plt_entry[5]
 			     | (-(ent->plt.offset + 20) & 0x03fffffc)),
-			    htab->elf.splt->contents + ent->plt.offset + 20);
-		bfd_put_32 (output_bfd, plt_entry[6],
-			    htab->elf.splt->contents + ent->plt.offset + 24);
-		bfd_put_32 (output_bfd, plt_entry[7],
-			    htab->elf.splt->contents + ent->plt.offset + 28);
+			    plt->contents + ent->plt.offset + 20);
+		bfd_put_32 (info->output_bfd, plt_entry[6],
+			    plt->contents + ent->plt.offset + 24);
+		bfd_put_32 (info->output_bfd, plt_entry[7],
+			    plt->contents + ent->plt.offset + 28);
 
 		/* Fill in the GOT entry corresponding to this PLT slot with
 		   the address immediately after the "bctr" instruction
 		   in this PLT entry.  */
-		bfd_put_32 (output_bfd, (htab->elf.splt->output_section->vma
-					 + htab->elf.splt->output_offset
-					 + ent->plt.offset + 16),
+		bfd_put_32 (info->output_bfd, (plt->output_section->vma
+					       + plt->output_offset
+					       + ent->plt.offset + 16),
 			    htab->elf.sgotplt->contents + got_offset);
 
 		if (!bfd_link_pic (info))
@@ -10047,23 +10606,23 @@ ppc_elf_finish_dynamic_symbol (bfd *outp
 			 * sizeof (Elf32_External_Rela));
 
 		    /* Provide the @ha relocation for the first instruction.  */
-		    rela.r_offset = (htab->elf.splt->output_section->vma
-				     + htab->elf.splt->output_offset
+		    rela.r_offset = (plt->output_section->vma
+				     + plt->output_offset
 				     + ent->plt.offset + 2);
 		    rela.r_info = ELF32_R_INFO (htab->elf.hgot->indx,
 						R_PPC_ADDR16_HA);
 		    rela.r_addend = got_offset;
-		    bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
+		    bfd_elf32_swap_reloca_out (info->output_bfd, &rela, loc);
 		    loc += sizeof (Elf32_External_Rela);
 
 		    /* Provide the @l relocation for the second instruction.  */
-		    rela.r_offset = (htab->elf.splt->output_section->vma
-				     + htab->elf.splt->output_offset
+		    rela.r_offset = (plt->output_section->vma
+				     + plt->output_offset
 				     + ent->plt.offset + 6);
 		    rela.r_info = ELF32_R_INFO (htab->elf.hgot->indx,
 						R_PPC_ADDR16_LO);
 		    rela.r_addend = got_offset;
-		    bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
+		    bfd_elf32_swap_reloca_out (info->output_bfd, &rela, loc);
 		    loc += sizeof (Elf32_External_Rela);
 
 		    /* Provide a relocation for the GOT entry corresponding to this
@@ -10074,7 +10633,7 @@ ppc_elf_finish_dynamic_symbol (bfd *outp
 		    rela.r_info = ELF32_R_INFO (htab->elf.hplt->indx,
 						R_PPC_ADDR32);
 		    rela.r_addend = ent->plt.offset + 16;
-		    bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
+		    bfd_elf32_swap_reloca_out (info->output_bfd, &rela, loc);
 		  }
 
 		/* VxWorks uses non-standard semantics for R_PPC_JMP_SLOT.
@@ -10085,102 +10644,82 @@ ppc_elf_finish_dynamic_symbol (bfd *outp
 		rela.r_offset = (htab->elf.sgotplt->output_section->vma
 				 + htab->elf.sgotplt->output_offset
 				 + got_offset);
-
+		rela.r_addend = 0;
 	      }
 	    else
 	      {
-		asection *splt = htab->elf.splt;
+		rela.r_addend = 0;
 		if (!htab->elf.dynamic_sections_created
 		    || h->dynindx == -1)
-		  splt = htab->elf.iplt;
+		  {
+		    if (h->type == STT_GNU_IFUNC)
+		      {
+			plt = htab->elf.iplt;
+			relplt = htab->elf.irelplt;
+		      }
+		    else
+		      {
+			plt = htab->pltlocal;
+			relplt = bfd_link_pic (info) ? htab->relpltlocal : NULL;
+		      }
+		    if (h->def_regular
+			&& (h->root.type == bfd_link_hash_defined
+			    || h->root.type == bfd_link_hash_defweak))
+		      rela.r_addend = SYM_VAL (h);
+		  }
 
-		rela.r_offset = (splt->output_section->vma
-				 + splt->output_offset
-				 + ent->plt.offset);
-		if (htab->plt_type == PLT_OLD
-		    || !htab->elf.dynamic_sections_created
-		    || h->dynindx == -1)
+		if (relplt == NULL)
 		  {
-		    /* We don't need to fill in the .plt.  The ppc dynamic
-		       linker will fill it in.  */
+		    loc = plt->contents + ent->plt.offset;
+		    bfd_put_32 (info->output_bfd, rela.r_addend, loc);
 		  }
 		else
 		  {
-		    bfd_vma val = (htab->glink_pltresolve + ent->plt.offset
-				   + htab->glink->output_section->vma
-				   + htab->glink->output_offset);
-		    bfd_put_32 (output_bfd, val,
-				splt->contents + ent->plt.offset);
-		  }
-	      }
+		    rela.r_offset = (plt->output_section->vma
+				     + plt->output_offset
+				     + ent->plt.offset);
 
-	    /* Fill in the entry in the .rela.plt section.  */
-	    rela.r_addend = 0;
-	    if (!htab->elf.dynamic_sections_created
-		|| h->dynindx == -1)
-	      {
-		BFD_ASSERT (h->type == STT_GNU_IFUNC
-			    && h->def_regular
-			    && (h->root.type == bfd_link_hash_defined
-				|| h->root.type == bfd_link_hash_defweak));
-		rela.r_info = ELF32_R_INFO (0, R_PPC_IRELATIVE);
-		rela.r_addend = SYM_VAL (h);
+		    if (htab->plt_type == PLT_OLD
+			|| !htab->elf.dynamic_sections_created
+			|| h->dynindx == -1)
+		      {
+			/* We don't need to fill in the .plt.  The ppc dynamic
+			   linker will fill it in.  */
+		      }
+		    else
+		      {
+			bfd_vma val = (htab->glink_pltresolve + ent->plt.offset
+				       + htab->glink->output_section->vma
+				       + htab->glink->output_offset);
+			bfd_put_32 (info->output_bfd, val,
+				    plt->contents + ent->plt.offset);
+		      }
+		  }
 	      }
-	    else
-	      rela.r_info = ELF32_R_INFO (h->dynindx, R_PPC_JMP_SLOT);
 
-	    if (!htab->elf.dynamic_sections_created
-		|| h->dynindx == -1)
-	      {
-		loc = (htab->elf.irelplt->contents
-		       + (htab->elf.irelplt->reloc_count++
-			  * sizeof (Elf32_External_Rela)));
-		htab->local_ifunc_resolver = 1;
-	      }
-	    else
+	    if (relplt != NULL)
 	      {
-		loc = (htab->elf.srelplt->contents
-		       + reloc_index * sizeof (Elf32_External_Rela));
-		if (h->type == STT_GNU_IFUNC && is_static_defined (h))
-		  htab->maybe_local_ifunc_resolver = 1;
-	      }
-	    bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
-
-	    if (!h->def_regular)
-	      {
-		/* Mark the symbol as undefined, rather than as
-		   defined in the .plt section.  Leave the value if
-		   there were any relocations where pointer equality
-		   matters (this is a clue for the dynamic linker, to
-		   make function pointer comparisons work between an
-		   application and shared library), otherwise set it
-		   to zero.  */
-		sym->st_shndx = SHN_UNDEF;
-		if (!h->pointer_equality_needed)
-		  sym->st_value = 0;
-		else if (!h->ref_regular_nonweak)
+		/* Fill in the entry in the .rela.plt section.  */
+		if (!htab->elf.dynamic_sections_created
+		    || h->dynindx == -1)
 		  {
-		    /* This breaks function pointer comparisons, but
-		       that is better than breaking tests for a NULL
-		       function pointer.  */
-		    sym->st_value = 0;
+		    if (h->type == STT_GNU_IFUNC)
+		      rela.r_info = ELF32_R_INFO (0, R_PPC_IRELATIVE);
+		    else
+		      rela.r_info = ELF32_R_INFO (0, R_PPC_RELATIVE);
+		    loc = relplt->contents + (relplt->reloc_count++
+					      * sizeof (Elf32_External_Rela));
+		    htab->local_ifunc_resolver = 1;
 		  }
-	      }
-	    else if (h->type == STT_GNU_IFUNC
-		     && !bfd_link_pic (info))
-	      {
-		/* Set the value of ifunc symbols in a non-pie
-		   executable to the glink entry.  This is to avoid
-		   text relocations.  We can't do this for ifunc in
-		   allocate_dynrelocs, as we do for normal dynamic
-		   function symbols with plt entries, because we need
-		   to keep the original value around for the ifunc
-		   relocation.  */
-		sym->st_shndx = (_bfd_elf_section_from_bfd_section
-				 (output_bfd, htab->glink->output_section));
-		sym->st_value = (ent->glink_offset
-				 + htab->glink->output_offset
-				 + htab->glink->output_section->vma);
+		else
+		  {
+		    rela.r_info = ELF32_R_INFO (h->dynindx, R_PPC_JMP_SLOT);
+		    loc = relplt->contents + (reloc_index
+					      * sizeof (Elf32_External_Rela));
+		    if (h->type == STT_GNU_IFUNC && is_static_defined (h))
+		      htab->maybe_local_ifunc_resolver = 1;
+		  }
+		bfd_elf32_swap_reloca_out (info->output_bfd, &rela, loc);
 	      }
 	    doneone = TRUE;
 	  }
@@ -10190,34 +10729,19 @@ ppc_elf_finish_dynamic_symbol (bfd *outp
 	    || h->dynindx == -1)
 	  {
 	    unsigned char *p;
-	    asection *splt = htab->elf.splt;
+	    asection *plt = htab->elf.splt;
+
 	    if (!htab->elf.dynamic_sections_created
 		|| h->dynindx == -1)
-	      splt = htab->elf.iplt;
-
-	    p = (unsigned char *) htab->glink->contents + ent->glink_offset;
-
-	    if (h == htab->tls_get_addr && !htab->params->no_tls_get_addr_opt)
 	      {
-		bfd_put_32 (output_bfd, LWZ_11_3, p);
-		p += 4;
-		bfd_put_32 (output_bfd, LWZ_12_3 + 4, p);
-		p += 4;
-		bfd_put_32 (output_bfd, MR_0_3, p);
-		p += 4;
-		bfd_put_32 (output_bfd, CMPWI_11_0, p);
-		p += 4;
-		bfd_put_32 (output_bfd, ADD_3_12_2, p);
-		p += 4;
-		bfd_put_32 (output_bfd, BEQLR, p);
-		p += 4;
-		bfd_put_32 (output_bfd, MR_3_0, p);
-		p += 4;
-		bfd_put_32 (output_bfd, NOP, p);
-		p += 4;
+		if (h->type == STT_GNU_IFUNC)
+		  plt = htab->elf.iplt;
+		else
+		  break;
 	      }
 
-	    write_glink_stub (ent, splt, p, info);
+	    p = (unsigned char *) htab->glink->contents + ent->glink_offset;
+	    write_glink_stub (h, ent, plt, p, info);
 
 	    if (!bfd_link_pic (info))
 	      /* We only need one non-PIC glink stub.  */
@@ -10226,6 +10750,181 @@ ppc_elf_finish_dynamic_symbol (bfd *outp
 	else
 	  break;
       }
+  return TRUE;
+}
+
+/* Finish up PLT handling.  */
+
+bfd_boolean
+ppc_finish_symbols (struct bfd_link_info *info)
+{
+  struct ppc_elf_link_hash_table *htab = ppc_elf_hash_table (info);
+  bfd *ibfd;
+
+  if (!htab)
+    return TRUE;
+
+  elf_link_hash_traverse (&htab->elf, write_global_sym_plt, info);
+
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
+    {
+      bfd_vma *local_got, *end_local_got;
+      struct plt_entry **local_plt, **lplt, **end_local_plt;
+      Elf_Internal_Shdr *symtab_hdr;
+      bfd_size_type locsymcount;
+      Elf_Internal_Sym *local_syms = NULL;
+      struct plt_entry *ent;
+
+      if (!is_ppc_elf (ibfd))
+	continue;
+
+      local_got = elf_local_got_offsets (ibfd);
+      if (!local_got)
+	continue;
+
+      symtab_hdr = &elf_symtab_hdr (ibfd);
+      locsymcount = symtab_hdr->sh_info;
+      end_local_got = local_got + locsymcount;
+      local_plt = (struct plt_entry **) end_local_got;
+      end_local_plt = local_plt + locsymcount;
+      for (lplt = local_plt; lplt < end_local_plt; ++lplt)
+	for (ent = *lplt; ent != NULL; ent = ent->next)
+	  {
+	    if (ent->plt.offset != (bfd_vma) -1)
+	      {
+		Elf_Internal_Sym *sym;
+		asection *sym_sec;
+		asection *plt, *relplt;
+		bfd_byte *loc;
+		bfd_vma val;
+		Elf_Internal_Rela rela;
+
+		if (!get_sym_h (NULL, &sym, &sym_sec, NULL, &local_syms,
+				lplt - local_plt, ibfd))
+		  {
+		    if (local_syms != NULL
+			&& symtab_hdr->contents != (unsigned char *) local_syms)
+		      free (local_syms);
+		    return FALSE;
+		  }
+
+		val = sym->st_value;
+		if (sym_sec != NULL && sym_sec->output_section != NULL)
+		  val += sym_sec->output_offset + sym_sec->output_section->vma;
+
+		if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC)
+		  {
+		    htab->local_ifunc_resolver = 1;
+		    plt = htab->elf.iplt;
+		    relplt = htab->elf.irelplt;
+		    rela.r_info = ELF32_R_INFO (0, R_PPC_IRELATIVE);
+		  }
+		else
+		  {
+		    plt = htab->pltlocal;
+		    if (bfd_link_pic (info))
+		      {
+			relplt = htab->relpltlocal;
+			rela.r_info = ELF32_R_INFO (0, R_PPC_RELATIVE);
+		      }
+		    else
+		      {
+			loc = plt->contents + ent->plt.offset;
+			bfd_put_32 (info->output_bfd, val, loc);
+			continue;
+		      }
+		  }
+
+		rela.r_offset = (ent->plt.offset
+				 + plt->output_offset
+				 + plt->output_section->vma);
+		rela.r_addend = val;
+		loc = relplt->contents + (relplt->reloc_count++
+					  * sizeof (Elf32_External_Rela));
+		bfd_elf32_swap_reloca_out (info->output_bfd, &rela, loc);
+	      }
+	    if ((ent->glink_offset & 1) == 0)
+	      {
+		unsigned char *p = ((unsigned char *) htab->glink->contents
+				    + ent->glink_offset);
+
+		write_glink_stub (NULL, ent, htab->elf.iplt, p, info);
+		ent->glink_offset |= 1;
+	      }
+	  }
+
+      if (local_syms != NULL
+	  && symtab_hdr->contents != (unsigned char *) local_syms)
+	{
+	  if (!info->keep_memory)
+	    free (local_syms);
+	  else
+	    symtab_hdr->contents = (unsigned char *) local_syms;
+	}
+    }
+  return TRUE;
+}
+
+/* Finish up dynamic symbol handling.  We set the contents of various
+   dynamic sections here.  */
+
+static bfd_boolean
+ppc_elf_finish_dynamic_symbol (bfd *output_bfd,
+			       struct bfd_link_info *info,
+			       struct elf_link_hash_entry *h,
+			       Elf_Internal_Sym *sym)
+{
+  struct ppc_elf_link_hash_table *htab = ppc_elf_hash_table (info);
+  struct plt_entry *ent;
+
+#ifdef DEBUG
+  fprintf (stderr, "ppc_elf_finish_dynamic_symbol called for %s",
+	   h->root.root.string);
+#endif
+
+  if (!h->def_regular
+      || (h->type == STT_GNU_IFUNC && !bfd_link_pic (info)))
+    for (ent = h->plt.plist; ent != NULL; ent = ent->next)
+      if (ent->plt.offset != (bfd_vma) -1)
+	{
+	  if (!h->def_regular)
+	    {
+	      /* Mark the symbol as undefined, rather than as
+		 defined in the .plt section.  Leave the value if
+		 there were any relocations where pointer equality
+		 matters (this is a clue for the dynamic linker, to
+		 make function pointer comparisons work between an
+		 application and shared library), otherwise set it
+		 to zero.  */
+	      sym->st_shndx = SHN_UNDEF;
+	      if (!h->pointer_equality_needed)
+		sym->st_value = 0;
+	      else if (!h->ref_regular_nonweak)
+		{
+		  /* This breaks function pointer comparisons, but
+		     that is better than breaking tests for a NULL
+		     function pointer.  */
+		  sym->st_value = 0;
+		}
+	    }
+	  else
+	    {
+	      /* Set the value of ifunc symbols in a non-pie
+		 executable to the glink entry.  This is to avoid
+		 text relocations.  We can't do this for ifunc in
+		 allocate_dynrelocs, as we do for normal dynamic
+		 function symbols with plt entries, because we need
+		 to keep the original value around for the ifunc
+		 relocation.  */
+	      sym->st_shndx
+		= (_bfd_elf_section_from_bfd_section
+		   (info->output_bfd, htab->glink->output_section));
+	      sym->st_value = (ent->glink_offset
+			       + htab->glink->output_offset
+			       + htab->glink->output_section->vma);
+	    }
+	  break;
+	}
 
   if (h->needs_copy)
     {
@@ -10400,11 +11099,10 @@ ppc_elf_finish_dynamic_sections (bfd *ou
       else
 	{
 	  /* xgettext:c-format */
-	  info->callbacks->einfo (_("%P: %s not defined in linker created %s\n"),
-				  htab->elf.hgot->root.root.string,
-				  (htab->elf.sgotplt != NULL
-				   ? htab->elf.sgotplt->name
-				   : htab->elf.sgot->name));
+	  _bfd_error_handler (_("%s not defined in linker created %pA"),
+			      htab->elf.hgot->root.root.string,
+			      (htab->elf.sgotplt != NULL
+			       ? htab->elf.sgotplt : htab->elf.sgot));
 	  bfd_set_error (bfd_error_bad_value);
 	  ret = FALSE;
 	}
@@ -10502,7 +11200,6 @@ ppc_elf_finish_dynamic_sections (bfd *ou
       unsigned char *p;
       unsigned char *endp;
       bfd_vma res0;
-      unsigned int i;
 
       /*
        * PIC glink code is the following:
@@ -10539,28 +11236,7 @@ ppc_elf_finish_dynamic_sections (bfd *ou
        *    add 0,11,11
        *    add 11,0,11			# r11 = index * 12 = reloc offset.
        *    bctr
-       */
-      static const unsigned int pic_plt_resolve[] =
-	{
-	  ADDIS_11_11,
-	  MFLR_0,
-	  BCL_20_31,
-	  ADDI_11_11,
-	  MFLR_12,
-	  MTLR_0,
-	  SUB_11_11_12,
-	  ADDIS_12_12,
-	  LWZ_0_12,
-	  LWZ_12_12,
-	  MTCTR_0,
-	  ADD_0_11_11,
-	  ADD_11_0_11,
-	  BCTR,
-	  NOP,
-	  NOP
-	};
-
-      /*
+       *
        * Non-PIC glink code is a little simpler.
        *
        * # ith PLT code stub.
@@ -10582,30 +11258,6 @@ ppc_elf_finish_dynamic_sections (bfd *ou
        *    add 11,0,11			# r11 = index * 12 = reloc offset.
        *    bctr
        */
-      static const unsigned int plt_resolve[] =
-	{
-	  LIS_12,
-	  ADDIS_11_11,
-	  LWZ_0_12,
-	  ADDI_11_11,
-	  MTCTR_0,
-	  ADD_0_11_11,
-	  LWZ_12_12,
-	  ADD_11_0_11,
-	  BCTR,
-	  NOP,
-	  NOP,
-	  NOP,
-	  NOP,
-	  NOP,
-	  NOP,
-	  NOP
-	};
-
-      if (ARRAY_SIZE (pic_plt_resolve) != GLINK_PLTRESOLVE / 4)
-	abort ();
-      if (ARRAY_SIZE (plt_resolve) != GLINK_PLTRESOLVE / 4)
-	abort ();
 
       /* Build the branch table, one for each plt entry (less one),
 	 and perhaps some padding.  */
@@ -10662,80 +11314,83 @@ ppc_elf_finish_dynamic_sections (bfd *ou
 	}
 
       /* Last comes the PLTresolve stub.  */
+      endp = p + GLINK_PLTRESOLVE;
       if (bfd_link_pic (info))
 	{
 	  bfd_vma bcl;
 
-	  for (i = 0; i < ARRAY_SIZE (pic_plt_resolve); i++)
-	    {
-	      unsigned int insn = pic_plt_resolve[i];
-
-	      if (htab->params->ppc476_workaround && insn == NOP)
-		insn = BA + 0;
-	      bfd_put_32 (output_bfd, insn, p);
-	      p += 4;
-	    }
-	  p -= 4 * ARRAY_SIZE (pic_plt_resolve);
-
 	  bcl = (htab->glink->size - GLINK_PLTRESOLVE + 3*4
 		 + htab->glink->output_section->vma
 		 + htab->glink->output_offset);
 
-	  bfd_put_32 (output_bfd,
-		      ADDIS_11_11 + PPC_HA (bcl - res0), p + 0*4);
-	  bfd_put_32 (output_bfd,
-		      ADDI_11_11 + PPC_LO (bcl - res0), p + 3*4);
-	  bfd_put_32 (output_bfd,
-		      ADDIS_12_12 + PPC_HA (got + 4 - bcl), p + 7*4);
+	  bfd_put_32 (output_bfd, ADDIS_11_11 + PPC_HA (bcl - res0), p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, MFLR_0, p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, BCL_20_31, p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, ADDI_11_11 + PPC_LO (bcl - res0), p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, MFLR_12, p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, MTLR_0, p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, SUB_11_11_12, p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, ADDIS_12_12 + PPC_HA (got + 4 - bcl), p);
+	  p += 4;
 	  if (PPC_HA (got + 4 - bcl) == PPC_HA (got + 8 - bcl))
 	    {
-	      bfd_put_32 (output_bfd,
-			  LWZ_0_12 + PPC_LO (got + 4 - bcl), p + 8*4);
-	      bfd_put_32 (output_bfd,
-			  LWZ_12_12 + PPC_LO (got + 8 - bcl), p + 9*4);
+	      bfd_put_32 (output_bfd, LWZ_0_12 + PPC_LO (got + 4 - bcl), p);
+	      p += 4;
+	      bfd_put_32 (output_bfd, LWZ_12_12 + PPC_LO (got + 8 - bcl), p);
+	      p += 4;
 	    }
 	  else
 	    {
-	      bfd_put_32 (output_bfd,
-			  LWZU_0_12 + PPC_LO (got + 4 - bcl), p + 8*4);
-	      bfd_put_32 (output_bfd,
-			  LWZ_12_12 + 4, p + 9*4);
+	      bfd_put_32 (output_bfd, LWZU_0_12 + PPC_LO (got + 4 - bcl), p);
+	      p += 4;
+	      bfd_put_32 (output_bfd, LWZ_12_12 + 4, p);
+	      p += 4;
 	    }
+	  bfd_put_32 (output_bfd, MTCTR_0, p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, ADD_0_11_11, p);
 	}
       else
 	{
-	  for (i = 0; i < ARRAY_SIZE (plt_resolve); i++)
-	    {
-	      unsigned int insn = plt_resolve[i];
-
-	      if (htab->params->ppc476_workaround && insn == NOP)
-		insn = BA + 0;
-	      bfd_put_32 (output_bfd, insn, p);
-	      p += 4;
-	    }
-	  p -= 4 * ARRAY_SIZE (plt_resolve);
-
-	  bfd_put_32 (output_bfd,
-		      LIS_12 + PPC_HA (got + 4), p + 0*4);
-	  bfd_put_32 (output_bfd,
-		      ADDIS_11_11 + PPC_HA (-res0), p + 1*4);
-	  bfd_put_32 (output_bfd,
-		      ADDI_11_11 + PPC_LO (-res0), p + 3*4);
+	  bfd_put_32 (output_bfd, LIS_12 + PPC_HA (got + 4), p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, ADDIS_11_11 + PPC_HA (-res0), p);
+	  p += 4;
 	  if (PPC_HA (got + 4) == PPC_HA (got + 8))
-	    {
-	      bfd_put_32 (output_bfd,
-			  LWZ_0_12 + PPC_LO (got + 4), p + 2*4);
-	      bfd_put_32 (output_bfd,
-			  LWZ_12_12 + PPC_LO (got + 8), p + 6*4);
-	    }
+	    bfd_put_32 (output_bfd, LWZ_0_12 + PPC_LO (got + 4), p);
 	  else
-	    {
-	      bfd_put_32 (output_bfd,
-			  LWZU_0_12 + PPC_LO (got + 4), p + 2*4);
-	      bfd_put_32 (output_bfd,
-			  LWZ_12_12 + 4, p + 6*4);
-	    }
+	    bfd_put_32 (output_bfd, LWZU_0_12 + PPC_LO (got + 4), p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, ADDI_11_11 + PPC_LO (-res0), p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, MTCTR_0, p);
+	  p += 4;
+	  bfd_put_32 (output_bfd, ADD_0_11_11, p);
+	  p += 4;
+	  if (PPC_HA (got + 4) == PPC_HA (got + 8))
+	    bfd_put_32 (output_bfd, LWZ_12_12 + PPC_LO (got + 8), p);
+	  else
+	    bfd_put_32 (output_bfd, LWZ_12_12 + 4, p);
 	}
+      p += 4;
+      bfd_put_32 (output_bfd, ADD_11_0_11, p);
+      p += 4;
+      bfd_put_32 (output_bfd, BCTR, p);
+      p += 4;
+      while (p < endp)
+	{
+	  bfd_put_32 (output_bfd,
+		      htab->params->ppc476_workaround ? BA : NOP, p);
+	  p += 4;
+	}
+      BFD_ASSERT (p == endp);
     }
 
   if (htab->glink_eh_frame != NULL
@@ -10774,14 +11429,9 @@ ppc_elf_finish_dynamic_sections (bfd *ou
 #define ELF_ARCH		bfd_arch_powerpc
 #define ELF_TARGET_ID		PPC32_ELF_DATA
 #define ELF_MACHINE_CODE	EM_PPC
-#ifdef __QNXTARGET__
-#define ELF_MAXPAGESIZE		0x1000
-#define ELF_COMMONPAGESIZE	0x1000
-#else
 #define ELF_MAXPAGESIZE		0x10000
-#define ELF_COMMONPAGESIZE	0x10000
-#endif
-#define ELF_MINPAGESIZE		0x1000
+#define ELF_COMMONPAGESIZE	0x1000
+#define ELF_RELROPAGESIZE	ELF_MAXPAGESIZE
 #define elf_info_to_howto	ppc_elf_info_to_howto
 
 #ifdef  EM_CYGNUS_POWERPC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-ppc.h ./bfd/elf32-ppc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-ppc.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-ppc.h	2018-07-10 02:06:11.000000000 +0000
@@ -32,6 +32,9 @@ struct ppc_elf_params
   /* Chooses the type of .plt.  */
   enum ppc_elf_plt_type plt_style;
 
+  /* Set if individual PLT call stubs should be aligned.  */
+  int plt_stub_align;
+
   /* Whether to emit symbols for stubs.  */
   int emit_stub_syms;
 
@@ -57,9 +60,10 @@ struct ppc_elf_params
 
 void ppc_elf_link_params (struct bfd_link_info *, struct ppc_elf_params *);
 int ppc_elf_select_plt_layout (bfd *, struct bfd_link_info *);
+bfd_boolean ppc_elf_inline_plt (struct bfd_link_info *);
 asection *ppc_elf_tls_setup (bfd *, struct bfd_link_info *);
 bfd_boolean ppc_elf_tls_optimize (bfd *, struct bfd_link_info *);
 void ppc_elf_maybe_strip_sdata_syms (struct bfd_link_info *);
-extern bfd_boolean ppc_elf_modify_segment_map (bfd *,
-			   struct bfd_link_info * ATTRIBUTE_UNUSED);
+extern bfd_boolean ppc_elf_modify_segment_map (bfd *, struct bfd_link_info *);
 extern bfd_boolean ppc_elf_section_processing (bfd *, Elf_Internal_Shdr *);
+extern bfd_boolean ppc_finish_symbols (struct bfd_link_info *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-pru.c ./bfd/elf32-pru.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-pru.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-pru.c	2018-07-10 02:06:11.000000000 +0000
@@ -30,6 +30,7 @@
 #include "elf-bfd.h"
 #include "elf/pru.h"
 #include "opcode/pru.h"
+#include "libiberty.h"
 
 #define SWAP_VALS(A,B)		      \
   do {				      \
@@ -291,38 +292,42 @@ static reloc_howto_type elf_pru_howto_ta
 static unsigned char elf_code_to_howto_index[R_PRU_ILLEGAL + 1];
 
 /* Return the howto for relocation RTYPE.  */
+
 static reloc_howto_type *
 lookup_howto (unsigned int rtype)
 {
-  static int initialized = 0;
+  static bfd_boolean initialized = FALSE;
   int i;
   int howto_tbl_size = (int) (sizeof (elf_pru_howto_table_rel)
 			      / sizeof (elf_pru_howto_table_rel[0]));
 
-  if (!initialized)
+  if (! initialized)
     {
-      initialized = 1;
+      initialized = TRUE;
       memset (elf_code_to_howto_index, 0xff,
 	      sizeof (elf_code_to_howto_index));
       for (i = 0; i < howto_tbl_size; i++)
 	elf_code_to_howto_index[elf_pru_howto_table_rel[i].type] = i;
     }
 
-  BFD_ASSERT (rtype <= R_PRU_ILLEGAL);
+  if (rtype > R_PRU_ILLEGAL)
+    return NULL;
   i = elf_code_to_howto_index[rtype];
   if (i >= howto_tbl_size)
-    return 0;
+    return NULL;
   return elf_pru_howto_table_rel + i;
 }
 
 /* Map for converting BFD reloc types to PRU reloc types.  */
+
 struct elf_reloc_map
 {
   bfd_reloc_code_real_type bfd_val;
   enum elf_pru_reloc_type elf_val;
 };
 
-static const struct elf_reloc_map pru_reloc_map[] = {
+static const struct elf_reloc_map pru_reloc_map[] =
+{
   {BFD_RELOC_NONE, R_PRU_NONE},
   {BFD_RELOC_PRU_16_PMEM, R_PRU_16_PMEM},
   {BFD_RELOC_PRU_U16_PMEMIMM, R_PRU_U16_PMEMIMM},
@@ -346,6 +351,7 @@ static const struct elf_reloc_map pru_re
 /* Assorted hash table functions.  */
 
 /* Create an entry in a PRU ELF linker hash table.  */
+
 static struct bfd_hash_entry *
 link_hash_newfunc (struct bfd_hash_entry *entry,
 		   struct bfd_hash_table *table, const char *string)
@@ -368,14 +374,14 @@ link_hash_newfunc (struct bfd_hash_entry
 
 /* Implement bfd_elf32_bfd_reloc_type_lookup:
    Given a BFD reloc type, return a howto structure.  */
+
 static reloc_howto_type *
 pru_elf32_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
 				   bfd_reloc_code_real_type code)
 {
-  int i;
-  for (i = 0;
-       i < (int) (sizeof (pru_reloc_map) / sizeof (struct elf_reloc_map));
-       ++i)
+  unsigned int i;
+
+  for (i = 0; i < ARRAY_SIZE (pru_reloc_map); ++i)
     if (pru_reloc_map[i].bfd_val == code)
       return lookup_howto ((unsigned int) pru_reloc_map[i].elf_val);
   return NULL;
@@ -383,15 +389,14 @@ pru_elf32_bfd_reloc_type_lookup (bfd *ab
 
 /* Implement bfd_elf32_bfd_reloc_name_lookup:
    Given a reloc name, return a howto structure.  */
+
 static reloc_howto_type *
 pru_elf32_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
 				   const char *r_name)
 {
   unsigned int i;
-  for (i = 0;
-       i < (sizeof (elf_pru_howto_table_rel)
-	    / sizeof (elf_pru_howto_table_rel[0]));
-       i++)
+
+  for (i = 0; i < ARRAY_SIZE (elf_pru_howto_table_rel); i++)
     if (elf_pru_howto_table_rel[i].name
 	&& strcasecmp (elf_pru_howto_table_rel[i].name, r_name) == 0)
       return &elf_pru_howto_table_rel[i];
@@ -401,15 +406,24 @@ pru_elf32_bfd_reloc_name_lookup (bfd *ab
 
 /* Implement elf_info_to_howto:
    Given a ELF32 relocation, fill in a arelent structure.  */
-static void
-pru_elf32_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
+
+static bfd_boolean
+pru_elf32_info_to_howto (bfd *abfd, arelent *cache_ptr,
 			 Elf_Internal_Rela *dst)
 {
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < R_PRU_ILLEGAL);
+  if (r_type >= R_PRU_ILLEGAL)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+    
   cache_ptr->howto = lookup_howto (r_type);
+  return cache_ptr->howto != NULL;
 }
 
 /* Do the relocations that require special handling.  */
@@ -525,7 +539,7 @@ pru_elf32_do_ldi32_relocate (bfd *abfd, 
   bfd_signed_vma relocation;
   bfd_size_type octets = offset * bfd_octets_per_byte (abfd);
   bfd_byte *location;
-  unsigned long in1, in2, num;
+  unsigned long in1, in2;
 
   /* A hacked-up version of _bfd_final_link_relocate() follows.  */
 
@@ -550,18 +564,23 @@ pru_elf32_do_ldi32_relocate (bfd *abfd, 
   in1 = bfd_get_32 (abfd, location);
   in2 = bfd_get_32 (abfd, location + 4);
 
-  /* Extract the addend - should be zero per my understanding.  */
-  num = GET_INSN_FIELD (IMM16, in1) | (GET_INSN_FIELD (IMM16, in2) << 16);
-  BFD_ASSERT (!num);
-
-  relocation += num;
-
-  SET_INSN_FIELD (IMM16, in1, relocation & 0xffff);
-  SET_INSN_FIELD (IMM16, in2, relocation >> 16);
+  SET_INSN_FIELD (IMM16, in1, relocation >> 16);
+  SET_INSN_FIELD (IMM16, in2, relocation & 0xffff);
 
   bfd_put_32 (abfd, in1, location);
   bfd_put_32 (abfd, in2, location + 4);
 
+  /* Old GAS and LD versions have a bug, where the two
+     LDI instructions are swapped.  Detect such object
+     files and bail.  */
+  if (GET_INSN_FIELD (RDSEL, in1) != RSEL_31_16)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("error: %pB: old incompatible object file detected"),
+			  abfd);
+      return bfd_reloc_notsupported;
+    }
+
   return bfd_reloc_ok;
 }
 
@@ -580,6 +599,7 @@ pru_elf32_pmem_relocate (bfd *abfd, arel
     return bfd_elf_generic_reloc (abfd, reloc_entry, symbol, data,
 				  input_section, output_bfd, error_message);
 
+  BFD_ASSERT (0);
   return pru_elf32_do_pmem_relocate (abfd, reloc_entry->howto,
 				     input_section,
 				     data, reloc_entry->address,
@@ -667,15 +687,24 @@ pru_elf32_relocate_section (bfd *output_
 			    Elf_Internal_Sym *local_syms,
 			    asection **local_sections)
 {
+  struct bfd_elf_section_data * esd = elf_section_data (input_section);
   Elf_Internal_Shdr *symtab_hdr;
   struct elf_link_hash_entry **sym_hashes;
   Elf_Internal_Rela *rel;
   Elf_Internal_Rela *relend;
+  bfd_boolean is_rel_reloc;
 
   symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
   sym_hashes = elf_sym_hashes (input_bfd);
   relend = relocs + input_section->reloc_count;
 
+  /* See if we have a REL type relocation.  */
+  is_rel_reloc = (esd->rel.hdr != NULL);
+  /* Sanity check - only one type of relocation per section.
+     FIXME: Theoretically it is possible to have both types,
+     but if that happens how can we distinguish between the two ?  */
+  BFD_ASSERT (! is_rel_reloc || ! esd->rela.hdr);
+
   for (rel = relocs; rel < relend; rel++)
     {
       reloc_howto_type *howto;
@@ -688,6 +717,10 @@ pru_elf32_relocate_section (bfd *output_
       const char *name = NULL;
       const char* msg = (const char*) NULL;
       bfd_boolean unresolved_reloc;
+      bfd_vma addend;
+
+      /* If we are using a REL relocation then the addend should be empty.  */
+      BFD_ASSERT (! is_rel_reloc || rel->r_addend == 0);
 
       r_symndx = ELF32_R_SYM (rel->r_info);
 
@@ -730,15 +763,52 @@ pru_elf32_relocate_section (bfd *output_
 	      r = bfd_reloc_ok;
 	      break;
 
+	    case R_PRU_U16:
+	      if (is_rel_reloc)
+		{
+		  unsigned long insn;
+		  insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
+		  addend = GET_INSN_FIELD (IMM16, insn);
+		}
+	      else
+		addend = rel->r_addend;
+	      r = _bfd_final_link_relocate (howto, input_bfd,
+					    input_section, contents,
+					    rel->r_offset, relocation,
+					    addend);
+	      break;
+
 	    case R_PRU_U16_PMEMIMM:
 	    case R_PRU_32_PMEM:
 	    case R_PRU_16_PMEM:
+	      if (is_rel_reloc && howto->type == R_PRU_U16_PMEMIMM)
+		{
+		  unsigned long insn;
+		  insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
+		  addend = GET_INSN_FIELD (IMM16, insn) << 2;
+		}
+	      else if (is_rel_reloc && howto->type == R_PRU_32_PMEM)
+		{
+		  addend = bfd_get_32 (input_bfd, contents + rel->r_offset);
+		  addend <<= 2;
+		}
+	      else if (is_rel_reloc && howto->type == R_PRU_16_PMEM)
+		{
+		  addend = bfd_get_16 (input_bfd, contents + rel->r_offset);
+		  addend <<= 2;
+		}
+	      else
+		{
+		  BFD_ASSERT (!is_rel_reloc);
+		  addend = rel->r_addend;
+		}
 	      r = pru_elf32_do_pmem_relocate (input_bfd, howto,
 						input_section,
 						contents, rel->r_offset,
-						relocation, rel->r_addend);
+						relocation, addend);
 	      break;
 	    case R_PRU_S10_PCREL:
+	      BFD_ASSERT (! is_rel_reloc);
 	      r = pru_elf32_do_s10_pcrel_relocate (input_bfd, howto,
 						      input_section,
 						      contents,
@@ -747,6 +817,7 @@ pru_elf32_relocate_section (bfd *output_
 						      rel->r_addend);
 	      break;
 	    case R_PRU_U8_PCREL:
+	      BFD_ASSERT (! is_rel_reloc);
 	      r = pru_elf32_do_u8_pcrel_relocate (input_bfd, howto,
 						      input_section,
 						      contents,
@@ -755,29 +826,70 @@ pru_elf32_relocate_section (bfd *output_
 						      rel->r_addend);
 	      break;
 	    case R_PRU_LDI32:
+	      if (is_rel_reloc)
+		{
+		  unsigned long in1, in2;
+		  in1 = bfd_get_32 (input_bfd, contents + rel->r_offset);
+		  in2 = bfd_get_32 (input_bfd, contents + rel->r_offset + 4);
+		  addend = (GET_INSN_FIELD (IMM16, in1) << 16)
+			    | GET_INSN_FIELD (IMM16, in2);
+		}
+	      else
+		{
+		  addend = rel->r_addend;
+		}
 	      r = pru_elf32_do_ldi32_relocate (input_bfd, howto,
 					       input_section,
 					       contents,
 					       rel->r_offset,
 					       relocation,
-					       rel->r_addend);
+					       addend);
 	      break;
 	    case R_PRU_GNU_DIFF8:
 	    case R_PRU_GNU_DIFF16:
 	    case R_PRU_GNU_DIFF32:
 	    case R_PRU_GNU_DIFF16_PMEM:
 	    case R_PRU_GNU_DIFF32_PMEM:
+	      /* GNU extensions support only rela.  */
+	      BFD_ASSERT (! is_rel_reloc);
 	      /* Nothing to do here, as contents already contain the
 		 diff value.  */
 	      r = bfd_reloc_ok;
 	      break;
 
-	    default:
+	    case R_PRU_BFD_RELOC_16:
+	      if (is_rel_reloc)
+		addend = bfd_get_16 (input_bfd, contents + rel->r_offset);
+	      else
+		addend = rel->r_addend;
+	      r = _bfd_final_link_relocate (howto, input_bfd,
+					    input_section, contents,
+					    rel->r_offset, relocation,
+					    addend);
+	      break;
+
+	    case R_PRU_BFD_RELOC_32:
+	      if (is_rel_reloc)
+		addend = bfd_get_32 (input_bfd, contents + rel->r_offset);
+	      else
+		addend = rel->r_addend;
+	      r = _bfd_final_link_relocate (howto, input_bfd,
+					    input_section, contents,
+					    rel->r_offset, relocation,
+					    addend);
+	      break;
+
+	    case R_PRU_GNU_BFD_RELOC_8:
+	      BFD_ASSERT (! is_rel_reloc);
 	      r = _bfd_final_link_relocate (howto, input_bfd,
 					    input_section, contents,
 					    rel->r_offset, relocation,
 					    rel->r_addend);
 	      break;
+
+	    default:
+	      BFD_ASSERT (0);
+	      break;
 	    }
 	}
       else
@@ -1080,7 +1192,7 @@ pru_elf_relax_delete_bytes (bfd *abfd,
 	 continue;
 
        shrinked_insn_address = (sec->output_section->vma
-				+ sec->output_offset + addr - count);
+				+ sec->output_offset + addr);
 
        irel = elf_section_data (isec)->relocs;
        /* PR 12161: Read in the relocs for this section if necessary.  */
@@ -1340,17 +1452,39 @@ pru_elf32_relax_section (bfd * abfd, ase
 
 	  if ((long) value >> 16 == 0)
 	    {
+	      unsigned long insn;
+
 	      /* Note that we've changed the relocs, section contents.  */
 	      elf_section_data (sec)->relocs = internal_relocs;
 	      elf_section_data (sec)->this_hdr.contents = contents;
 	      symtab_hdr->contents = (unsigned char *) isymbuf;
 
-	      /* Delete bytes.  */
-	      if (!pru_elf_relax_delete_bytes (abfd, sec, irel->r_offset + 4, 4))
+	      /* Make the second instruction load the 16-bit constant
+		 into the full 32-bit register.  */
+	      insn = bfd_get_32 (abfd, contents + irel->r_offset + 4);
+
+	      /* Old GAS and LD versions have a bug, where the two
+		 LDI instructions are swapped.  Detect such object
+		 files and bail.  */
+	      if (GET_INSN_FIELD (RDSEL, insn) != RSEL_15_0)
+		{
+		  /* xgettext:c-format */
+		  _bfd_error_handler (_("error: %pB: old incompatible object file detected"),
+				      abfd);
+		  goto error_return;
+		}
+
+	      SET_INSN_FIELD (RDSEL, insn, RSEL_31_0);
+	      bfd_put_32 (abfd, insn, contents + irel->r_offset + 4);
+
+	      /* Delete the first LDI instruction.  Note that there should
+		 be no relocations or symbols pointing to the second LDI
+		 instruction.  */
+	      if (!pru_elf_relax_delete_bytes (abfd, sec, irel->r_offset, 4))
 		goto error_return;
 
-	      /* We're done with deletion of the second instruction.
-		 Set a regular LDI relocation for the first instruction
+	      /* We're done with deletion of the first instruction.
+		 Set a regular LDI relocation for the second instruction
 		 we left to load the 16-bit value into the 32-bit
 		 register.  */
 	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
@@ -1452,12 +1586,17 @@ pru_elf32_link_hash_table_create (bfd *a
 #define bfd_elf32_bfd_reloc_type_lookup	  pru_elf32_bfd_reloc_type_lookup
 #define bfd_elf32_bfd_reloc_name_lookup	  pru_elf32_bfd_reloc_name_lookup
 
-/* elf_info_to_howto (using RELA relocations).  */
-
 #define elf_info_to_howto		pru_elf32_info_to_howto
+#define elf_info_to_howto_rel		NULL
 
 /* elf backend functions.  */
 
+/* TI folks like to use a mix of REL and RELA relocations.  See also
+   the MSP430 and TI C6X backends.  */
+#define elf_backend_may_use_rel_p  1
+#define elf_backend_may_use_rela_p 1
+#define elf_backend_default_use_rela_p 1
+
 #define elf_backend_rela_normal		1
 
 #define elf_backend_relocate_section	pru_elf32_relocate_section
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-rl78.c ./bfd/elf32-rl78.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-rl78.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-rl78.c	2018-07-10 02:06:11.000000000 +0000
@@ -278,8 +278,8 @@ rl78_reloc_name_lookup (bfd * abfd ATTRI
 
 /* Set the howto pointer for an RL78 ELF reloc.  */
 
-static void
-rl78_info_to_howto_rela (bfd *		     abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+rl78_info_to_howto_rela (bfd *		     abfd,
 			 arelent *	     cache_ptr,
 			 Elf_Internal_Rela * dst)
 {
@@ -289,10 +289,13 @@ rl78_info_to_howto_rela (bfd *		     abf
   if (r_type >= (unsigned int) R_RL78_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid RL78 reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = rl78_elf_howto_table + r_type;
+  return TRUE;
 }
 
 static bfd_vma
@@ -367,7 +370,7 @@ static unsigned int rl78_stack_top;
       if (rl78_stack_top < NUM_STACK_ENTRIES)	\
 	rl78_stack [rl78_stack_top ++] = (val);	\
       else					\
-	_bfd_error_handler (_("Internal Error: RL78 reloc stack overflow")); \
+	_bfd_error_handler (_("internal error: RL78 reloc stack overflow")); \
     }						\
   while (0)
 
@@ -378,7 +381,7 @@ static unsigned int rl78_stack_top;
 	(dest) = rl78_stack [-- rl78_stack_top];\
       else					\
 	{					\
-	  _bfd_error_handler (_("Internal Error: RL78 reloc stack underflow")); \
+	  _bfd_error_handler (_("internal error: RL78 reloc stack underflow")); \
 	  (dest) = 0;				\
 	}					\
     }						\
@@ -1047,7 +1050,8 @@ rl78_elf_relocate_section
 	    {
 	      relocation = 0;
 	      if (h->root.type != bfd_link_hash_undefweak)
-		_bfd_error_handler (_("Warning: RL78_SYM reloc with an unknown symbol"));
+		_bfd_error_handler
+		  (_("warning: RL78_SYM reloc with an unknown symbol"));
 	    }
 	  (void) rl78_compute_complex_reloc (r_type, relocation, input_section);
 	  break;
@@ -1078,7 +1082,7 @@ rl78_elf_relocate_section
 		 and emit a more helpful error message.  */
 	      if (r_type == R_RL78_DIR24S_PCREL)
 		/* xgettext:c-format */
-		msg = _("%B(%A): error: call to undefined function '%s'");
+		msg = _("%pB(%pA): error: call to undefined function '%s'");
 	      else
 		(*info->callbacks->reloc_overflow)
 		  (info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0,
@@ -1092,27 +1096,27 @@ rl78_elf_relocate_section
 
 	    case bfd_reloc_other:
 	      /* xgettext:c-format */
-	      msg = _("%B(%A): warning: unaligned access to symbol '%s' in the small data area");
+	      msg = _("%pB(%pA): warning: unaligned access to symbol '%s' in the small data area");
 	      break;
 
 	    case bfd_reloc_outofrange:
 	      /* xgettext:c-format */
-	      msg = _("%B(%A): internal error: out of range error");
+	      msg = _("%pB(%pA): internal error: out of range error");
 	      break;
 
 	    case bfd_reloc_notsupported:
 	      /* xgettext:c-format */
-	      msg = _("%B(%A): internal error: unsupported relocation error");
+	      msg = _("%pB(%pA): internal error: unsupported relocation error");
 	      break;
 
 	    case bfd_reloc_dangerous:
 	      /* xgettext:c-format */
-	      msg = _("%B(%A): internal error: dangerous relocation");
+	      msg = _("%pB(%pA): internal error: dangerous relocation");
 	      break;
 
 	    default:
 	      /* xgettext:c-format */
-	      msg = _("%B(%A): internal error: unknown error");
+	      msg = _("%pB(%pA): internal error: unknown error");
 	      break;
 	    }
 
@@ -1199,8 +1203,8 @@ rl78_elf_merge_private_bfd_data (bfd *ib
 
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("RL78 ABI conflict: G10 file %B cannot be linked"
-		       " with %s file %B"),
+		    (_("RL78 ABI conflict: G10 file %pB cannot be linked"
+		       " with %s file %pB"),
 		     ibfd, rl78_cpu_name (out_cpu), obfd);
 		}
 	      else
@@ -1216,7 +1220,7 @@ rl78_elf_merge_private_bfd_data (bfd *ib
 
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("RL78 ABI conflict: cannot link %s file %B with %s file %B"),
+		(_("RL78 ABI conflict: cannot link %s file %pB with %s file %pB"),
 		 rl78_cpu_name (in_cpu),  ibfd,
 		 rl78_cpu_name (out_cpu), obfd);
 	    }
@@ -1229,11 +1233,11 @@ rl78_elf_merge_private_bfd_data (bfd *ib
 
 	  if (old_flags & E_FLAG_RL78_64BIT_DOUBLES)
 	    /* xgettext:c-format */
-	    _bfd_error_handler (_("- %B is 64-bit, %B is not"),
+	    _bfd_error_handler (_("- %pB is 64-bit, %pB is not"),
 				obfd, ibfd);
 	  else
 	    /* xgettext:c-format */
-	    _bfd_error_handler (_("- %B is 64-bit, %B is not"),
+	    _bfd_error_handler (_("- %pB is 64-bit, %pB is not"),
 				ibfd, obfd);
 	  error = TRUE;
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-rx.c ./bfd/elf32-rx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-rx.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-rx.c	2018-07-10 02:06:11.000000000 +0000
@@ -300,8 +300,8 @@ rx_reloc_name_lookup (bfd * abfd ATTRIBU
 
 /* Set the howto pointer for an RX ELF reloc.  */
 
-static void
-rx_info_to_howto_rela (bfd *		   abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+rx_info_to_howto_rela (bfd *		   abfd,
 		       arelent *	   cache_ptr,
 		       Elf_Internal_Rela * dst)
 {
@@ -311,10 +311,21 @@ rx_info_to_howto_rela (bfd *		   abfd AT
   if (r_type >= (unsigned int) R_RX_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid RX reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = rx_elf_howto_table + r_type;
+  if (cache_ptr->howto->name == NULL)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  return TRUE;
 }
 
 static bfd_vma
@@ -592,14 +603,14 @@ rx_elf_relocate_section
 	  if (table_end_cache <= entry_vma || entry_vma < table_start_cache)
 	    {
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B:%A: table entry %s outside table"),
+	      _bfd_error_handler (_("%pB:%pA: table entry %s outside table"),
 				  input_bfd, input_section,
 				  name);
 	    }
 	  else if ((int) (entry_vma - table_start_cache) % 4)
 	    {
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B:%A: table entry %s not word-aligned within table"),
+	      _bfd_error_handler (_("%pB:%pA: table entry %s not word-aligned within table"),
 				  input_bfd, input_section,
 				  name);
 	    }
@@ -660,13 +671,20 @@ rx_elf_relocate_section
 
       r = bfd_reloc_ok;
 
-#define RANGE(a,b) if (a > (long) relocation || (long) relocation > b) r = bfd_reloc_overflow
-#define ALIGN(m)   if (relocation & m) r = bfd_reloc_other;
-#define OP(i)      (contents[rel->r_offset + (i)])
+#define RANGE(a,b) \
+  if (a > (long) relocation || (long) relocation > b)		\
+    r = bfd_reloc_overflow
+#define ALIGN(m) \
+  if (relocation & m)						\
+    r = bfd_reloc_other
+#define OP(i) \
+  (contents[rel->r_offset + (i)])
 #define WARN_REDHAT(type) \
-      /* xgettext:c-format */ \
-      _bfd_error_handler (_("%B:%A: Warning: deprecated Red Hat reloc " type " detected against: %s."), \
-      input_bfd, input_section, name)
+  /* xgettext:c-format */					\
+  _bfd_error_handler						\
+    (_("%pB:%pA: warning: deprecated Red Hat reloc "		\
+       "%s detected against: %s"),				\
+     input_bfd, input_section, #type, name)
 
       /* Check for unsafe relocs in PID mode.  These are any relocs where
 	 an absolute address is being computed.  There are special cases
@@ -684,9 +702,12 @@ rx_elf_relocate_section
 	  && strcmp (name, "__romdatastart") != 0			\
 	  && !saw_subtract)						\
 	/* xgettext:c-format */						\
-	_bfd_error_handler (_("%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)"), \
+	_bfd_error_handler (_("%pB(%pA): unsafe PID relocation %s "	\
+			      "at %#" PRIx64 " (against %s in %s)"),	\
 			    input_bfd, input_section, howto->name,	\
-			    input_section->output_section->vma + input_section->output_offset + rel->r_offset, \
+			    (uint64_t) (input_section->output_section->vma \
+					+ input_section->output_offset	\
+					+ rel->r_offset),		\
 			    name, sec->name);				\
     }									\
   while (0)
@@ -1264,7 +1285,8 @@ rx_elf_relocate_section
 			       + sec->output_offset
 			       + rel->r_addend);
 	      else
-		_bfd_error_handler (_("Warning: RX_SYM reloc with an unknown symbol"));
+		_bfd_error_handler
+		  (_("warning: RX_SYM reloc with an unknown symbol"));
 	    }
 	  break;
 
@@ -1432,7 +1454,7 @@ rx_elf_relocate_section
 		 and emit a more helpful error message.  */
 	      if (r_type == R_RX_DIR24S_PCREL)
 		/* xgettext:c-format */
-		msg = _("%B(%A): error: call to undefined function '%s'");
+		msg = _("%pB(%pA): error: call to undefined function '%s'");
 	      else
 		(*info->callbacks->reloc_overflow)
 		  (info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0,
@@ -1446,27 +1468,27 @@ rx_elf_relocate_section
 
 	    case bfd_reloc_other:
 	      /* xgettext:c-format */
-	      msg = _("%B(%A): warning: unaligned access to symbol '%s' in the small data area");
+	      msg = _("%pB(%pA): warning: unaligned access to symbol '%s' in the small data area");
 	      break;
 
 	    case bfd_reloc_outofrange:
 	      /* xgettext:c-format */
-	      msg = _("%B(%A): internal error: out of range error");
+	      msg = _("%pB(%pA): internal error: out of range error");
 	      break;
 
 	    case bfd_reloc_notsupported:
 	      /* xgettext:c-format */
-	      msg = _("%B(%A): internal error: unsupported relocation error");
+	      msg = _("%pB(%pA): internal error: unsupported relocation error");
 	      break;
 
 	    case bfd_reloc_dangerous:
 	      /* xgettext:c-format */
-	      msg = _("%B(%A): internal error: dangerous relocation");
+	      msg = _("%pB(%pA): internal error: dangerous relocation");
 	      break;
 
 	    default:
 	      /* xgettext:c-format */
-	      msg = _("%B(%A): internal error: unknown error");
+	      msg = _("%pB(%pA): internal error: unknown error");
 	      break;
 	    }
 
@@ -3143,8 +3165,8 @@ rx_elf_merge_private_bfd_data (bfd * ibf
 	    }
 	  else
 	    {
-	      _bfd_error_handler (_("There is a conflict merging the"
-				    " ELF header flags from %B"),
+	      _bfd_error_handler (_("there is a conflict merging the"
+				    " ELF header flags from %pB"),
 				  ibfd);
 	      _bfd_error_handler (_("  the input  file's flags: %s"),
 				  describe_flags (new_flags));
@@ -3755,7 +3777,7 @@ rx_table_find (struct bfd_hash_entry *ve
 	     && h->type != bfd_link_hash_defweak))
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B:%A: table %s missing corresponding %s"),
+      _bfd_error_handler (_("%pB:%pA: table %s missing corresponding %s"),
 			  abfd, sec, name, buf);
       return TRUE;
     }
@@ -3763,7 +3785,7 @@ rx_table_find (struct bfd_hash_entry *ve
   if (h->u.def.section != ent->u.def.section)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B:%A: %s and %s must be in the same input section"),
+      _bfd_error_handler (_("%pB:%pA: %s and %s must be in the same input section"),
 			  h->u.def.section->owner, h->u.def.section,
 			  name, buf);
       return TRUE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-s12z.c ./bfd/elf32-s12z.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-s12z.c	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/elf32-s12z.c	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1,270 @@
+/* Freescale S12Z-specific support for 32-bit ELF
+   Copyright (C) 1999-2018 Free Software Foundation, Inc.
+   (Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com))
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#include "sysdep.h"
+#include "bfd.h"
+#include "bfdlink.h"
+#include "libbfd.h"
+#include "elf-bfd.h"
+
+#include "elf/s12z.h"
+
+/* Relocation functions.  */
+static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup
+  (bfd *, bfd_reloc_code_real_type);
+static bfd_boolean s12z_info_to_howto_rel
+  (bfd *, arelent *, Elf_Internal_Rela *);
+
+static bfd_reloc_status_type
+shift_addend_reloc (bfd *abfd, arelent *reloc_entry, struct bfd_symbol *symbol ATTRIBUTE_UNUSED,
+		    void *data ATTRIBUTE_UNUSED, asection *input_section ATTRIBUTE_UNUSED,
+		    bfd *output ATTRIBUTE_UNUSED, char **msg ATTRIBUTE_UNUSED)
+{
+  /* This is a really peculiar reloc, which is done for compatibility
+     with the Freescale toolchain.
+
+     That toolchain appears to (ab)use the lowest 15 bits of the addend for
+     the purpose of holding flags.  The purpose of these flags are unknown.
+     So in this function, when writing the bfd we left shift the addend by
+     15, and when reading we right shift it by 15 (discarding the lower bits).
+
+     This allows the linker to work with object files generated by Freescale,
+     as well as by Gas.  */
+
+  if (abfd->is_linker_input)
+    reloc_entry->addend >>= 15;
+  else
+    reloc_entry->addend <<= 15;
+
+  return bfd_reloc_continue;
+}
+
+#define USE_REL	0
+
+static reloc_howto_type elf_s12z_howto_table[] =
+{
+  /* This reloc does nothing.  */
+  HOWTO (R_S12Z_NONE,	/* type */
+	 0,			/* rightshift */
+	 3,			/* size (0 = byte, 1 = short, 2 = long) */
+	 0,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_S12Z_NONE",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0,			/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* A 24 bit absolute relocation emitted by the OPR mode operands  */
+  HOWTO (R_S12Z_OPR,        /* type */
+	 0,			/* rightshift */
+	 5,			/* size (0 = byte, 1 = short, 2 = long) */
+	 24,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 shift_addend_reloc,
+	 "R_S12Z_OPR",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00ffffff,            /* src_mask */
+	 0x00ffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* The purpose of this reloc is not known */
+  HOWTO (R_S12Z_UKNWN_2,	/* type */
+	 0,			/* rightshift */
+	 3,			/* size (0 = byte, 1 = short, 2 = long) */
+	 0,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_S12Z_UKNWN_2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0,			/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* A 15 bit PC-rel relocation */
+  HOWTO (R_S12Z_PCREL_7_15,	/* type */
+	 0,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 15,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 shift_addend_reloc,
+	 "R_S12Z_PCREL_7_15",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00,                  /* src_mask */
+	 0x007fff,		/* dst_mask */
+	 TRUE),		/* pcrel_offset */
+
+  /* A 24 bit absolute relocation emitted by EXT24 mode operands */
+  HOWTO (R_S12Z_EXT24,        /* type */
+	 0,			/* rightshift */
+	 5,			/* size (0 = byte, 1 = short, 2 = long) */
+	 24,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_S12Z_EXT24",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00ffffff,            /* src_mask */
+	 0x00ffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* The purpose of this reloc is not known */
+  HOWTO (R_S12Z_UKNWN_3,	/* type */
+	 0,			/* rightshift */
+	 3,			/* size (0 = byte, 1 = short, 2 = long) */
+	 0,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_S12Z_UKNWN_3",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0,			/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* A 32 bit absolute relocation  */
+  HOWTO (R_S12Z_EXT32,        /* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_S12Z_EXT32",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,            /* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+};
+
+/* Map BFD reloc types to S12Z ELF reloc types.  */
+
+struct s12z_reloc_map
+{
+  bfd_reloc_code_real_type bfd_reloc_val;
+  unsigned char elf_reloc_val;
+};
+
+static const struct s12z_reloc_map s12z_reloc_map[] =
+{
+  /* bfd reloc val */ /* elf reloc val */
+  {BFD_RELOC_NONE, R_S12Z_NONE},
+  {BFD_RELOC_32, R_S12Z_EXT32},
+  {BFD_RELOC_24, R_S12Z_EXT24},
+  {BFD_RELOC_16_PCREL, R_S12Z_PCREL_7_15}
+};
+
+static reloc_howto_type *
+bfd_elf32_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+				 bfd_reloc_code_real_type code)
+{
+  unsigned int i;
+
+  for (i = 0;
+       i < sizeof (s12z_reloc_map) / sizeof (struct s12z_reloc_map);
+       i++)
+    {
+      if (s12z_reloc_map[i].bfd_reloc_val == code)
+	{
+	  return &elf_s12z_howto_table[s12z_reloc_map[i].elf_reloc_val];
+	}
+    }
+
+  printf ("%s:%d Not found type %d\n", __FILE__, __LINE__, code);
+
+  return NULL;
+}
+
+static reloc_howto_type *
+bfd_elf32_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+				 const char *r_name)
+{
+  unsigned int i;
+
+  printf ("%s:%d Looking up %s\n", __FILE__, __LINE__, r_name);
+
+  for (i = 0;
+       i < (sizeof (elf_s12z_howto_table)
+	    / sizeof (elf_s12z_howto_table[0]));
+       i++)
+    if (elf_s12z_howto_table[i].name != NULL
+	&& strcasecmp (elf_s12z_howto_table[i].name, r_name) == 0)
+      return &elf_s12z_howto_table[i];
+
+  return NULL;
+}
+
+/* Set the howto pointer for an S12Z ELF reloc.  */
+
+static bfd_boolean
+s12z_info_to_howto_rel (bfd *abfd,
+			  arelent *cache_ptr, Elf_Internal_Rela *dst)
+{
+  unsigned int  r_type = ELF32_R_TYPE (dst->r_info);
+
+  if (r_type >= (unsigned int) R_S12Z_max)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
+  cache_ptr->howto = &elf_s12z_howto_table[r_type];
+  return TRUE;
+}
+
+static bfd_boolean
+s12z_elf_set_mach_from_flags (bfd *abfd)
+{
+  bfd_default_set_arch_mach (abfd, bfd_arch_s12z, 0); // bfd_mach_s12z);
+
+  return TRUE;
+}
+
+#define ELF_ARCH		bfd_arch_s12z
+#define ELF_TARGET_ID		0
+#define ELF_MACHINE_CODE	EM_S12Z
+#define ELF_MAXPAGESIZE		0x1000
+
+#define TARGET_BIG_SYM		s12z_elf32_vec
+#define TARGET_BIG_NAME		"elf32-s12z"
+
+#define elf_info_to_howto			NULL
+#define elf_info_to_howto_rel			s12z_info_to_howto_rel
+#define elf_backend_object_p			s12z_elf_set_mach_from_flags
+#define elf_backend_final_write_processing	NULL
+#define elf_backend_can_gc_sections		1
+
+#include "elf32-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-s390.c ./bfd/elf32-s390.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-s390.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-s390.c	2018-07-10 02:06:11.000000000 +0000
@@ -323,12 +323,13 @@ elf_s390_reloc_name_lookup (bfd *abfd AT
 /* We need to use ELF32_R_TYPE so we have our own copy of this function,
    and elf32-s390.c has its own copy.  */
 
-static void
-elf_s390_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+elf_s390_info_to_howto (bfd *abfd,
 			arelent *cache_ptr,
 			Elf_Internal_Rela *dst)
 {
   unsigned int r_type = ELF32_R_TYPE(dst->r_info);
+
   switch (r_type)
     {
     case R_390_GNU_VTINHERIT:
@@ -343,12 +344,15 @@ elf_s390_info_to_howto (bfd *abfd ATTRIB
       if (r_type >= sizeof (elf_howto_table) / sizeof (elf_howto_table[0]))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: invalid relocation type %d"),
-			      abfd, (int) r_type);
-	  r_type = R_390_NONE;
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      abfd, r_type);
+	  bfd_set_error (bfd_error_bad_value);
+	  return FALSE;
 	}
       cache_ptr->howto = &elf_howto_table[r_type];
     }
+
+  return TRUE;
 }
 
 /* A relocation function which doesn't do anything.  */
@@ -953,7 +957,7 @@ elf_s390_check_relocs (bfd *abfd,
       if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: bad symbol index: %d"),
+	  _bfd_error_handler (_("%pB: bad symbol index: %d"),
 			      abfd, r_symndx);
 	  return FALSE;
 	}
@@ -1181,7 +1185,7 @@ elf_s390_check_relocs (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: `%s' accessed both as normal and thread local symbol"),
+		    (_("%pB: `%s' accessed both as normal and thread local symbol"),
 		     abfd, h->root.root.string);
 		  return FALSE;
 		}
@@ -1848,7 +1852,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -2134,10 +2138,10 @@ invalid_tls_insn (bfd *input_bfd,
   howto = elf_howto_table + ELF32_R_TYPE (rel->r_info);
   _bfd_error_handler
     /* xgettext:c-format */
-    (_("%B(%A+%#Lx): invalid instruction for TLS relocation %s"),
+    (_("%pB(%pA+%#" PRIx64 "): invalid instruction for TLS relocation %s"),
      input_bfd,
      input_section,
-     rel->r_offset,
+     (uint64_t) rel->r_offset,
      howto->name);
   bfd_set_error (bfd_error_bad_value);
 }
@@ -2601,6 +2605,9 @@ elf_s390_relocate_section (bfd *output_b
 	case R_390_8:
 	case R_390_16:
 	case R_390_32:
+	  if ((input_section->flags & SEC_ALLOC) == 0)
+	    break;
+
 	  if (h != NULL
 	      && s390_is_ifunc_symbol_p (h)
 	      && h->def_regular)
@@ -2662,9 +2669,6 @@ elf_s390_relocate_section (bfd *output_b
 		}
 	    }
 
-	  if ((input_section->flags & SEC_ALLOC) == 0)
-	    break;
-
 	  if ((bfd_link_pic (info)
 	       && (h == NULL
 		   || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
@@ -3201,10 +3205,11 @@ elf_s390_relocate_section (bfd *output_b
 				      rel->r_offset) != (bfd_vma) -1)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	  (_("%pB(%pA+%#" PRIx64 "): "
+	     "unresolvable %s relocation against symbol `%s'"),
 	   input_bfd,
 	   input_section,
-	   rel->r_offset,
+	   (uint64_t) rel->r_offset,
 	   howto->name,
 	   h->root.root.string);
 
@@ -3258,9 +3263,9 @@ elf_s390_relocate_section (bfd *output_b
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B(%A+%#Lx): reloc against `%s': error %d"),
+		(_("%pB(%pA+%#" PRIx64 "): reloc against `%s': error %d"),
 		 input_bfd, input_section,
-		 rel->r_offset, name, (int) r);
+		 (uint64_t) rel->r_offset, name, (int) r);
 	      return FALSE;
 	    }
 	}
@@ -3937,7 +3942,7 @@ elf_s390_write_core_note (bfd *abfd, cha
 
     case NT_PRPSINFO:
       {
-	char data[124] = { 0 };
+	char data[124] ATTRIBUTE_NONSTRING = { 0 };
 	const char *fname, *psargs;
 
 	va_start (ap, note_type);
@@ -3946,7 +3951,16 @@ elf_s390_write_core_note (bfd *abfd, cha
 	va_end (ap);
 
 	strncpy (data + 28, fname, 16);
+	DIAGNOSTIC_PUSH;
+	/* GCC 8.1 warns about 80 equals destination size with
+	   -Wstringop-truncation:
+	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
+	 */
+#if GCC_VERSION == 8001
+	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
+#endif
 	strncpy (data + 44, psargs, 80);
+	DIAGNOSTIC_POP;
 	return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type,
 				   &data, sizeof (data));
       }
@@ -4044,7 +4058,6 @@ elf32_s390_merge_private_bfd_data (bfd *
 #define elf_backend_grok_psinfo		      elf_s390_grok_psinfo
 #define elf_backend_write_core_note	      elf_s390_write_core_note
 #define elf_backend_plt_sym_val		      elf_s390_plt_sym_val
-#define elf_backend_add_symbol_hook	      elf_s390_add_symbol_hook
 #define elf_backend_sort_relocs_p	      elf_s390_elf_sort_relocs_p
 
 #define bfd_elf32_mkobject		elf_s390_mkobject
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-score7.c ./bfd/elf32-score7.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-score7.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-score7.c	2018-07-10 02:06:11.000000000 +0000
@@ -2214,7 +2214,7 @@ score_elf_final_link_relocate (reloc_how
 
 /* Score backend functions.  */
 
-void
+bfd_boolean
 s7_bfd_score_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 			    arelent *bfd_reloc,
 			    Elf_Internal_Rela *elf_reloc)
@@ -2223,9 +2223,10 @@ s7_bfd_score_info_to_howto (bfd *abfd AT
 
   r_type = ELF32_R_TYPE (elf_reloc->r_info);
   if (r_type >= ARRAY_SIZE (elf32_score_howto_table))
-    bfd_reloc->howto = NULL;
-  else
-    bfd_reloc->howto = &elf32_score_howto_table[r_type];
+    return FALSE;
+
+  bfd_reloc->howto = &elf32_score_howto_table[r_type];
+  return TRUE;
 }
 
 /* Relocate an score ELF section.  */
@@ -2288,7 +2289,8 @@ s7_bfd_score_elf_relocate_section (bfd *
       r_symndx = ELF32_R_SYM (rel->r_info);
       r_type = ELF32_R_TYPE (rel->r_info);
 
-      s7_bfd_score_info_to_howto (input_bfd, &bfd_reloc, (Elf_Internal_Rela *) rel);
+      if (! s7_bfd_score_info_to_howto (input_bfd, &bfd_reloc, (Elf_Internal_Rela *) rel))
+	continue;
       howto = bfd_reloc.howto;
 
       h = NULL;
@@ -2627,7 +2629,7 @@ s7_bfd_score_elf_check_relocs (bfd *abfd
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: Malformed reloc detected for section %A"), abfd, sec);
+	    (_("%pB: malformed reloc detected for section %pA"), abfd, sec);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -2681,8 +2683,8 @@ s7_bfd_score_elf_check_relocs (bfd *abfd
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: CALL15 reloc at %#Lx not against global symbol"),
-		 abfd, rel->r_offset);
+		(_("%pB: CALL15 reloc at %#" PRIx64 " not against global symbol"),
+		 abfd, (uint64_t) rel->r_offset);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -3850,7 +3852,7 @@ s7_elf32_score_merge_private_bfd_data (b
 
   if (((in_flags & EF_SCORE_PIC) != 0) != ((out_flags & EF_SCORE_PIC) != 0))
     {
-      _bfd_error_handler (_("%B: warning: linking PIC files with non-PIC files"), ibfd);
+      _bfd_error_handler (_("%pB: warning: linking PIC files with non-PIC files"), ibfd);
     }
 
   /* Maybe dependency fix compatibility should be checked here.  */
@@ -3871,5 +3873,4 @@ s7_elf32_score_new_section_hook (bfd *ab
   return _bfd_elf_new_section_hook (abfd, sec);
 }
 
-#define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+#define elf_backend_omit_section_dynsym _bfd_elf_omit_section_dynsym_all
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-score.c ./bfd/elf32-score.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-score.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-score.c	2018-07-10 02:06:11.000000000 +0000
@@ -2375,7 +2375,7 @@ score_elf_final_link_relocate (reloc_how
 }
 
 /* Score backend functions.  */
-static void
+static bfd_boolean
 s3_bfd_score_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 			    arelent *bfd_reloc,
 			    Elf_Internal_Rela *elf_reloc)
@@ -2384,9 +2384,10 @@ s3_bfd_score_info_to_howto (bfd *abfd AT
 
   r_type = ELF32_R_TYPE (elf_reloc->r_info);
   if (r_type >= ARRAY_SIZE (elf32_score_howto_table))
-    bfd_reloc->howto = NULL;
-  else
-    bfd_reloc->howto = &elf32_score_howto_table[r_type];
+    return FALSE;
+
+  bfd_reloc->howto = &elf32_score_howto_table[r_type];
+  return TRUE;
 }
 
 /* Relocate an score ELF section.  */
@@ -2448,7 +2449,8 @@ s3_bfd_score_elf_relocate_section (bfd *
       r_symndx = ELF32_R_SYM (rel->r_info);
       r_type = ELF32_R_TYPE (rel->r_info);
 
-      s3_bfd_score_info_to_howto (input_bfd, &bfd_reloc, (Elf_Internal_Rela *) rel);
+      if (! s3_bfd_score_info_to_howto (input_bfd, &bfd_reloc, (Elf_Internal_Rela *) rel))
+	continue;
       howto = bfd_reloc.howto;
 
       h = NULL;
@@ -2741,7 +2743,7 @@ s3_bfd_score_elf_relocate_section (bfd *
 
 	    /* Use bfd_reloc_other to check lw48, sw48 word align.  */
 	    case bfd_reloc_other:
-	      msg = _("address not word align");
+	      msg = _("address not word aligned");
 	      goto common_error;
 
 	    default:
@@ -2822,7 +2824,7 @@ s3_bfd_score_elf_check_relocs (bfd *abfd
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: Malformed reloc detected for section %A"), abfd, sec);
+	    (_("%pB: malformed reloc detected for section %pA"), abfd, sec);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -2876,8 +2878,8 @@ s3_bfd_score_elf_check_relocs (bfd *abfd
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: CALL15 reloc at %#Lx not against global symbol"),
-		 abfd, rel->r_offset);
+		(_("%pB: CALL15 reloc at %#" PRIx64 " not against global symbol"),
+		 abfd, (uint64_t) rel->r_offset);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -4045,7 +4047,7 @@ s3_elf32_score_merge_private_bfd_data (b
 
   if (((in_flags & EF_SCORE_PIC) != 0) != ((out_flags & EF_SCORE_PIC) != 0))
     _bfd_error_handler
-      (_("%B: warning: linking PIC files with non-PIC files"), ibfd);
+      (_("%pB: warning: linking PIC files with non-PIC files"), ibfd);
 
   /* FIXME: Maybe dependency fix compatibility should be checked here.  */
 
@@ -4069,7 +4071,7 @@ s3_elf32_score_new_section_hook (bfd *ab
 /*****************************************************************************/
 
 /* s3_s7: backend hooks.  */
-static void
+static bfd_boolean
 _bfd_score_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 			  arelent *bfd_reloc,
 			  Elf_Internal_Rela *elf_reloc)
@@ -4450,7 +4452,7 @@ _bfd_score_elf_common_definition (Elf_In
 #define ELF_MACHINE_ALT1		EM_SCORE_OLD
 #define ELF_MAXPAGESIZE			0x8000
 
-#define elf_info_to_howto		0
+#define elf_info_to_howto		NULL
 #define elf_info_to_howto_rel		_bfd_score_info_to_howto
 #define elf_backend_relocate_section	_bfd_score_elf_relocate_section
 #define elf_backend_check_relocs	_bfd_score_elf_check_relocs
@@ -4466,8 +4468,7 @@ _bfd_score_elf_common_definition (Elf_In
   _bfd_score_elf_always_size_sections
 #define elf_backend_size_dynamic_sections \
   _bfd_score_elf_size_dynamic_sections
-#define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+#define elf_backend_omit_section_dynsym   _bfd_elf_omit_section_dynsym_all
 #define elf_backend_create_dynamic_sections \
   _bfd_score_elf_create_dynamic_sections
 #define elf_backend_finish_dynamic_symbol \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-score.h ./bfd/elf32-score.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-score.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-score.h	2018-07-10 02:06:11.000000000 +0000
@@ -30,7 +30,7 @@ s7_bfd_score_elf_hide_symbol (struct bfd
 			      struct elf_link_hash_entry *,
 			      bfd_boolean);
 
-extern void
+extern bfd_boolean
 s7_bfd_score_info_to_howto (bfd *, arelent *, Elf_Internal_Rela *);
 
 extern bfd_boolean
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh64.c ./bfd/elf32-sh64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-sh64.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,813 +0,0 @@
-/* SuperH SH64-specific support for 32-bit ELF
-   Copyright (C) 2000-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define SH64_ELF
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "elf-bfd.h"
-#include "../opcodes/sh64-opc.h"
-#include "elf32-sh64.h"
-
-/* Add a suffix for datalabel indirection symbols.  It must not match any
-   other symbols; user symbols with or without version or other
-   decoration.  It must only be used internally and not emitted by any
-   means.  */
-#define DATALABEL_SUFFIX " DL"
-
-/* Used to hold data for function called through bfd_map_over_sections.  */
-struct sh64_find_section_vma_data
- {
-   asection *section;
-   bfd_vma addr;
- };
-
-static bfd_boolean sh64_elf_new_section_hook
-  (bfd *, asection *);
-static bfd_boolean sh64_elf_copy_private_data
-  (bfd *, bfd *);
-static bfd_boolean sh64_elf_merge_private_data
-  (bfd *, struct bfd_link_info *);
-static bfd_boolean sh64_elf_fake_sections
-  (bfd *, Elf_Internal_Shdr *, asection *);
-static bfd_boolean sh64_elf_set_private_flags
-  (bfd *, flagword);
-static bfd_boolean sh64_elf_set_mach_from_flags
-  (bfd *);
-static bfd_boolean shmedia_prepare_reloc
-  (struct bfd_link_info *, bfd *, asection *, bfd_byte *,
-   const Elf_Internal_Rela *, bfd_vma *);
-static int sh64_elf_get_symbol_type
-  (Elf_Internal_Sym *, int);
-static bfd_boolean sh64_elf_add_symbol_hook
-  (bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **,
-   flagword *, asection **, bfd_vma *);
-static int sh64_elf_link_output_symbol_hook
-  (struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *,
-   struct elf_link_hash_entry *);
-static bfd_boolean sh64_backend_section_from_shdr
-  (bfd *, Elf_Internal_Shdr *, const char *, int);
-static void sh64_elf_final_write_processing
-  (bfd *, bfd_boolean);
-static bfd_boolean sh64_bfd_elf_copy_private_section_data
-  (bfd *, asection *, bfd *, asection *);
-static void sh64_find_section_for_address
-  (bfd *, asection *, void *);
-
-/* Let elf32-sh.c handle the "bfd_" definitions, so we only have to
-   intrude with an #ifndef around the function definition.  */
-#define sh_elf_copy_private_data		sh64_elf_copy_private_data
-#define sh_elf_merge_private_data		sh64_elf_merge_private_data
-#define sh_elf_set_private_flags		sh64_elf_set_private_flags
-/* Typo in elf32-sh.c (and unlinear name).  */
-#define bfd_elf32_bfd_set_private_flags		sh64_elf_set_private_flags
-#define sh_elf_set_mach_from_flags		sh64_elf_set_mach_from_flags
-
-#define elf_backend_sign_extend_vma		1
-#define elf_backend_fake_sections		sh64_elf_fake_sections
-#define elf_backend_get_symbol_type		sh64_elf_get_symbol_type
-#define elf_backend_add_symbol_hook		sh64_elf_add_symbol_hook
-#define elf_backend_link_output_symbol_hook \
-	sh64_elf_link_output_symbol_hook
-#define elf_backend_merge_symbol_attribute	sh64_elf_merge_symbol_attribute
-#define elf_backend_final_write_processing	sh64_elf_final_write_processing
-#define elf_backend_section_from_shdr		sh64_backend_section_from_shdr
-#define elf_backend_special_sections		sh64_elf_special_sections
-#define elf_backend_section_flags		sh64_elf_section_flags
-
-#define bfd_elf32_new_section_hook		sh64_elf_new_section_hook
-
-/* For objcopy, we need to set up sh64_elf_section_data (asection *) from
-   incoming section flags.  This is otherwise done in sh64elf.em when
-   linking or tc-sh64.c when assembling.  */
-#define bfd_elf32_bfd_copy_private_section_data \
-	sh64_bfd_elf_copy_private_section_data
-
-/* This COFF-only function (only compiled with COFF support, making
-   ELF-only chains problematic) returns TRUE early for SH4, so let's just
-   define it TRUE here.  */
-#define _bfd_sh_align_load_span(a,b,c,d,e,f,g,h,i,j) \
-  ((void) f, (void) h, (void) i, TRUE)
-
-#define GOT_BIAS (-((long)-32768))
-#define INCLUDE_SHMEDIA
-#define SH_TARGET_ALREADY_DEFINED
-#include "elf32-sh.c"
-
-/* Tack some extra info on struct bfd_elf_section_data.  */
-
-static bfd_boolean
-sh64_elf_new_section_hook (bfd *abfd, asection *sec)
-{
-  if (!sec->used_by_bfd)
-    {
-      struct _sh64_elf_section_data *sdata;
-      bfd_size_type amt = sizeof (*sdata);
-
-      sdata = bfd_zalloc (abfd, amt);
-      if (sdata == NULL)
-	return FALSE;
-      sec->used_by_bfd = sdata;
-    }
-
-  return _bfd_elf_new_section_hook (abfd, sec);
-}
-
-/* Set the SHF_SH5_ISA32 flag for ISA SHmedia code sections, and pass
-   through SHT_SH5_CR_SORTED on a sorted .cranges section.  */
-
-bfd_boolean
-sh64_elf_fake_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
-			Elf_Internal_Shdr *elf_section_hdr,
-			asection *asect)
-{
-  if (sh64_elf_section_data (asect)->sh64_info != NULL)
-    elf_section_hdr->sh_flags
-      |= sh64_elf_section_data (asect)->sh64_info->contents_flags;
-
-  /* If this section has the SEC_SORT_ENTRIES flag set, it is a sorted
-     .cranges section passing through objcopy.  */
-  if ((bfd_get_section_flags (output_bfd, asect) & SEC_SORT_ENTRIES) != 0
-      && strcmp (bfd_get_section_name (output_bfd, asect),
-		 SH64_CRANGES_SECTION_NAME) == 0)
-    elf_section_hdr->sh_type = SHT_SH5_CR_SORTED;
-
-  return TRUE;
-}
-
-static bfd_boolean
-sh64_elf_set_mach_from_flags (bfd *abfd)
-{
-  flagword flags = elf_elfheader (abfd)->e_flags;
-
-  switch (flags & EF_SH_MACH_MASK)
-    {
-    case EF_SH5:
-      /* These are fit to execute on SH5.  Just one but keep the switch
-	 construct to make additions easy.  */
-      bfd_default_set_arch_mach (abfd, bfd_arch_sh, bfd_mach_sh5);
-      break;
-
-    default:
-      bfd_set_error (bfd_error_wrong_format);
-      return FALSE;
-    }
-
-  return TRUE;
-}
-
-static bfd_boolean
-sh64_elf_section_flags (flagword *flags,
-			const Elf_Internal_Shdr *hdr)
-{
-  if (hdr->bfd_section == NULL)
-    return FALSE;
-
-  if (strcmp (hdr->bfd_section->name, SH64_CRANGES_SECTION_NAME) == 0)
-    *flags |= SEC_DEBUGGING;
-
-  return TRUE;
-}
-
-static bfd_boolean
-sh64_elf_copy_private_data (bfd * ibfd, bfd * obfd)
-{
-  if (   bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
-    return TRUE;
-
-  BFD_ASSERT (!elf_flags_init (obfd)
-	      || (elf_elfheader (obfd)->e_flags
-		  == elf_elfheader (ibfd)->e_flags));
-
-  elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
-
-  return _bfd_elf_copy_private_bfd_data (ibfd, obfd);
-}
-
-static bfd_boolean
-sh64_elf_merge_private_data (bfd *ibfd, struct bfd_link_info *info)
-{
-  bfd *obfd = info->output_bfd;
-  flagword old_flags, new_flags;
-
-  if (! _bfd_generic_verify_endian_match (ibfd, info))
-    return FALSE;
-
-  if (   bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
-    return TRUE;
-
-  if (bfd_get_arch_size (ibfd) != bfd_get_arch_size (obfd))
-    {
-      const char *msg;
-
-      if (bfd_get_arch_size (ibfd) == 32
-	  && bfd_get_arch_size (obfd) == 64)
-	/* xgettext:c-format */
-	msg = _("%B: compiled as 32-bit object and %B is 64-bit");
-      else if (bfd_get_arch_size (ibfd) == 64
-	       && bfd_get_arch_size (obfd) == 32)
-	/* xgettext:c-format */
-	msg = _("%B: compiled as 64-bit object and %B is 32-bit");
-      else
-	/* xgettext:c-format */
-	msg = _("%B: object size does not match that of target %B");
-
-      _bfd_error_handler (msg, ibfd, obfd);
-      bfd_set_error (bfd_error_wrong_format);
-      return FALSE;
-    }
-
-  old_flags = elf_elfheader (obfd)->e_flags;
-  new_flags = elf_elfheader (ibfd)->e_flags;
-  if (! elf_flags_init (obfd))
-    {
-      /* This happens when ld starts out with a 'blank' output file.  */
-      elf_flags_init (obfd) = TRUE;
-      elf_elfheader (obfd)->e_flags = old_flags = new_flags;
-    }
-  /* We don't allow linking in non-SH64 code.  */
-  else if ((new_flags & EF_SH_MACH_MASK) != EF_SH5)
-    {
-      _bfd_error_handler
-	("%B: uses non-SH64 instructions while previous modules"
-	 " use SH64 instructions",
-	 ibfd);
-      bfd_set_error (bfd_error_bad_value);
-      return FALSE;
-    }
-
-  /* I can't think of anything sane other than old_flags being EF_SH5 and
-     that we need to preserve that.  */
-  elf_elfheader (obfd)->e_flags = old_flags;
-  return sh64_elf_set_mach_from_flags (obfd);
-}
-
-/* Handle a SH64-specific section when reading an object file.  This
-   is called when bfd_section_from_shdr finds a section with an unknown
-   type.
-
-   We only recognize SHT_SH5_CR_SORTED, on the .cranges section.  */
-
-bfd_boolean
-sh64_backend_section_from_shdr (bfd *abfd, Elf_Internal_Shdr *hdr,
-				const char *name, int shindex)
-{
-  flagword flags = 0;
-
-  /* We do like MIPS with a bit switch for recognized types, and returning
-     FALSE for a recognized section type with an unexpected name.  Right
-     now we only have one recognized type, but that might change.  */
-  switch (hdr->sh_type)
-    {
-    case SHT_SH5_CR_SORTED:
-      if (strcmp (name, SH64_CRANGES_SECTION_NAME) != 0)
-	return FALSE;
-
-      /* We set the SEC_SORT_ENTRIES flag so it can be passed on to
-	 sh64_elf_fake_sections, keeping SHT_SH5_CR_SORTED if this object
-	 passes through objcopy.  Perhaps it is brittle; the flag can
-	 suddenly be used by other BFD parts, but it seems not really used
-	 anywhere at the moment.  */
-      flags = SEC_DEBUGGING | SEC_SORT_ENTRIES;
-      break;
-
-    default:
-      return FALSE;
-    }
-
-  if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
-    return FALSE;
-
-  if (flags
-      && ! bfd_set_section_flags (abfd, hdr->bfd_section,
-				  bfd_get_section_flags (abfd,
-							 hdr->bfd_section)
-				  | flags))
-    return FALSE;
-
-  return TRUE;
-}
-
-/* In contrast to sh64_backend_section_from_shdr, this is called for all
-   sections, but only when copying sections, not when linking or
-   assembling.  We need to set up the sh64_elf_section_data (asection *)
-   structure for the SH64 ELF section flags to be copied correctly.  */
-
-bfd_boolean
-sh64_bfd_elf_copy_private_section_data (bfd *ibfd, asection *isec,
-					bfd *obfd, asection *osec)
-{
-  struct sh64_section_data *sh64_sec_data;
-
-  if (ibfd->xvec->flavour != bfd_target_elf_flavour
-      || obfd->xvec->flavour != bfd_target_elf_flavour)
-    return TRUE;
-
-  if (! _bfd_elf_copy_private_section_data (ibfd, isec, obfd, osec))
-    return FALSE;
-
-  sh64_sec_data = sh64_elf_section_data (isec)->sh64_info;
-  if (sh64_sec_data == NULL)
-    {
-      sh64_sec_data = bfd_zmalloc (sizeof (struct sh64_section_data));
-
-      if (sh64_sec_data == NULL)
-	return FALSE;
-
-      sh64_sec_data->contents_flags
-	= (elf_section_data (isec)->this_hdr.sh_flags
-	   & (SHF_SH5_ISA32 | SHF_SH5_ISA32_MIXED));
-
-      sh64_elf_section_data (osec)->sh64_info = sh64_sec_data;
-    }
-
-  return TRUE;
-}
-
-/* Function to keep SH64 specific file flags.  */
-
-static bfd_boolean
-sh64_elf_set_private_flags (bfd *abfd, flagword flags)
-{
-  BFD_ASSERT (! elf_flags_init (abfd)
-	      || elf_elfheader (abfd)->e_flags == flags);
-
-  elf_elfheader (abfd)->e_flags = flags;
-  elf_flags_init (abfd) = TRUE;
-  return sh64_elf_set_mach_from_flags (abfd);
-}
-
-/* Called when writing out an object file to decide the type of a symbol.  */
-
-static int
-sh64_elf_get_symbol_type (Elf_Internal_Sym *elf_sym, int type)
-{
-  if (ELF_ST_TYPE (elf_sym->st_info) == STT_DATALABEL)
-    return STT_DATALABEL;
-
-  return type;
-}
-
-/* Hook called by the linker routine which adds symbols from an object
-   file.  We must make indirect symbols for undefined symbols marked with
-   STT_DATALABEL, so relocations passing them will pick up that attribute
-   and neutralize STO_SH5_ISA32 found on the symbol definition.
-
-   There is a problem, though: We want to fill in the hash-table entry for
-   this symbol and signal to the caller that no further processing is
-   needed.  But we don't have the index for this hash-table entry.  We
-   rely here on that the current entry is the first hash-entry with NULL,
-   which seems brittle.  Also, iterating over the hash-table to find that
-   entry is a linear operation on the number of symbols in this input
-   file, and this function should take constant time, so that's not good
-   too.  Only comfort is that DataLabel references should only be found in
-   hand-written assembly code and thus be rare.  FIXME: Talk maintainers
-   into adding an option to elf_add_symbol_hook (preferably) for the index
-   or the hash entry, alternatively adding the index to Elf_Internal_Sym
-   (not so good).  */
-
-static bfd_boolean
-sh64_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
-			  Elf_Internal_Sym *sym, const char **namep,
-			  flagword *flagsp ATTRIBUTE_UNUSED,
-			  asection **secp, bfd_vma *valp)
-{
-  /* We want to do this for relocatable as well as final linking.  */
-  if (ELF_ST_TYPE (sym->st_info) == STT_DATALABEL
-      && is_elf_hash_table (info->hash))
-    {
-      struct elf_link_hash_entry *h;
-
-      /* For relocatable links, we register the DataLabel sym in its own
-	 right, and tweak the name when it's output.  Otherwise, we make
-	 an indirect symbol of it.  */
-      flagword flags
-	= bfd_link_relocatable (info) || info->emitrelocations
-	? BSF_GLOBAL : BSF_GLOBAL | BSF_INDIRECT;
-
-      char *dl_name
-	= bfd_malloc (strlen (*namep) + sizeof (DATALABEL_SUFFIX));
-      struct elf_link_hash_entry ** sym_hash = elf_sym_hashes (abfd);
-
-      BFD_ASSERT (sym_hash != NULL);
-
-      /* Allocation may fail.  */
-      if (dl_name == NULL)
-	return FALSE;
-
-      strcpy (dl_name, *namep);
-      strcat (dl_name, DATALABEL_SUFFIX);
-
-      h = (struct elf_link_hash_entry *)
-	bfd_link_hash_lookup (info->hash, dl_name, FALSE, FALSE, FALSE);
-
-      if (h == NULL)
-	{
-	  /* No previous datalabel symbol.  Make one.  */
-	  struct bfd_link_hash_entry *bh = NULL;
-	  const struct elf_backend_data *bed = get_elf_backend_data (abfd);
-
-	  if (! _bfd_generic_link_add_one_symbol (info, abfd, dl_name,
-						  flags, *secp, *valp,
-						  *namep, FALSE,
-						  bed->collect, &bh))
-	    {
-	      free (dl_name);
-	      return FALSE;
-	    }
-
-	  h = (struct elf_link_hash_entry *) bh;
-	  h->non_elf = 0;
-	  h->type = STT_DATALABEL;
-	}
-      else
-	/* If a new symbol was created, it holds the allocated name.
-	   Otherwise, we don't need it anymore and should deallocate it.  */
-	free (dl_name);
-
-      if (h->type != STT_DATALABEL
-	  || ((bfd_link_relocatable (info) || info->emitrelocations)
-	      && h->root.type != bfd_link_hash_undefined)
-	  || (! bfd_link_relocatable (info) && !info->emitrelocations
-	      && h->root.type != bfd_link_hash_indirect))
-	{
-	  /* Make sure we don't get confused on invalid input.  */
-	  _bfd_error_handler
-	    (_("%B: encountered datalabel symbol in input"), abfd);
-	  bfd_set_error (bfd_error_bad_value);
-	  return FALSE;
-	}
-
-      /* Now find the hash-table slot for this entry and fill it in.  */
-      while (*sym_hash != NULL)
-	sym_hash++;
-      *sym_hash = h;
-
-      /* Signal to caller to skip this symbol - we've handled it.  */
-      *namep = NULL;
-    }
-
-  return TRUE;
-}
-
-/* This hook function is called before the linker writes out a global
-   symbol.  For relocatable links, DataLabel symbols will be present in
-   linker output.  We cut off the special suffix on those symbols, so the
-   right name appears in the output.
-
-   When linking and emitting relocations, there can appear global symbols
-   that are not referenced by relocs, but rather only implicitly through
-   DataLabel references, a relation that is not visible to the linker.
-   Since no stripping of global symbols in done when doing such linking,
-   we don't need to look up and make sure to emit the main symbol for each
-   DataLabel symbol.  */
-
-static int
-sh64_elf_link_output_symbol_hook (struct bfd_link_info *info,
-				  const char *cname,
-				  Elf_Internal_Sym *sym,
-				  asection *input_sec ATTRIBUTE_UNUSED,
-				  struct elf_link_hash_entry *h ATTRIBUTE_UNUSED)
-{
-  char *name = (char *) cname;
-
-  if (bfd_link_relocatable (info) || info->emitrelocations)
-    {
-      if (ELF_ST_TYPE (sym->st_info) == STT_DATALABEL)
-	name[strlen (name) - strlen (DATALABEL_SUFFIX)] = 0;
-    }
-
-  return 1;
-}
-
-/* Check a SH64-specific reloc and put the value to relocate to into
-   RELOCATION, ready to pass to _bfd_final_link_relocate.  Return FALSE if
-   bad value, TRUE if ok.  */
-
-static bfd_boolean
-shmedia_prepare_reloc (struct bfd_link_info *info, bfd *abfd,
-		       asection *input_section, bfd_byte *contents,
-		       const Elf_Internal_Rela *rel, bfd_vma *relocation)
-{
-  bfd_vma disp, dropped;
-
-  switch (ELF32_R_TYPE (rel->r_info))
-    {
-    case R_SH_PT_16:
-      /* Check the lowest bit of the destination field.  If it is 1, we
-	 check the ISA type of the destination (i.e. the low bit of the
-	 "relocation" value, and emit an error if the instruction does not
-	 match).  If it is 0, we change a PTA to PTB.  There should never
-	 be a PTB that should change to a PTA; that indicates a toolchain
-	 error; a mismatch with GAS.  */
-      {
-	char *msg = NULL;
-	bfd_vma insn = bfd_get_32 (abfd, contents + rel->r_offset);
-
-	if (insn & (1 << 10))
-	  {
-	    /* Check matching insn and ISA (address of target).  */
-	    if ((insn & SHMEDIA_PTB_BIT) != 0
-		&& ((*relocation + rel->r_addend) & 1) != 0)
-	      msg = _("PTB mismatch: a SHmedia address (bit 0 == 1)");
-	    else if ((insn & SHMEDIA_PTB_BIT) == 0
-		     && ((*relocation + rel->r_addend) & 1) == 0)
-	      msg = _("PTA mismatch: a SHcompact address (bit 0 == 0)");
-
-	    if (msg != NULL)
-	      (*info->callbacks->reloc_dangerous)
-		(info, msg, abfd, input_section, rel->r_offset);
-	  }
-	else
-	  {
-	    /* We shouldn't get here with a PTB insn and a R_SH_PT_16.  It
-	       means GAS output does not match expectations; a PTA or PTB
-	       expressed as such (or a PT found at assembly to be PTB)
-	       would match the test above, and PT expansion with an
-	       unknown destination (or when relaxing) will get us here.  */
-	    if ((insn & SHMEDIA_PTB_BIT) != 0)
-	      {
-		_bfd_error_handler
-		  (_("%B: GAS error: unexpected PTB insn with R_SH_PT_16"),
-		   input_section->owner);
-		return FALSE;
-	      }
-
-	    /* Change the PTA to a PTB, if destination indicates so.  */
-	    if (((*relocation + rel->r_addend) & 1) == 0)
-	      bfd_put_32 (abfd, insn | SHMEDIA_PTB_BIT,
-			  contents + rel->r_offset);
-	  }
-      }
-
-    case R_SH_SHMEDIA_CODE:
-    case R_SH_DIR5U:
-    case R_SH_DIR6S:
-    case R_SH_DIR6U:
-    case R_SH_DIR10S:
-    case R_SH_DIR10SW:
-    case R_SH_DIR10SL:
-    case R_SH_DIR10SQ:
-    case R_SH_IMMS16:
-    case R_SH_IMMU16:
-    case R_SH_IMM_LOW16:
-    case R_SH_IMM_LOW16_PCREL:
-    case R_SH_IMM_MEDLOW16:
-    case R_SH_IMM_MEDLOW16_PCREL:
-    case R_SH_IMM_MEDHI16:
-    case R_SH_IMM_MEDHI16_PCREL:
-    case R_SH_IMM_HI16:
-    case R_SH_IMM_HI16_PCREL:
-    case R_SH_64:
-    case R_SH_64_PCREL:
-      break;
-
-    default:
-      return FALSE;
-    }
-
-  disp = (*relocation & 0xf);
-  dropped = 0;
-  switch (ELF32_R_TYPE (rel->r_info))
-    {
-    case R_SH_DIR10SW: dropped = disp & 1; break;
-    case R_SH_DIR10SL: dropped = disp & 3; break;
-    case R_SH_DIR10SQ: dropped = disp & 7; break;
-    }
-  if (dropped != 0)
-    {
-      _bfd_error_handler
-	/* xgettext:c-format */
-	(_("%B: error: unaligned relocation type %d at %#Lx reloc %#Lx"),
-	 input_section->owner, (int) ELF32_R_TYPE (rel->r_info),
-	 rel->r_offset, *relocation);
-      return FALSE;
-    }
-
-  return TRUE;
-}
-
-/* Helper function to locate the section holding a certain address.  This
-   is called via bfd_map_over_sections.  */
-
-static void
-sh64_find_section_for_address (bfd *abfd ATTRIBUTE_UNUSED,
-			       asection *section, void *data)
-{
-  bfd_vma vma;
-  bfd_size_type size;
-
-  struct sh64_find_section_vma_data *fsec_datap
-    = (struct sh64_find_section_vma_data *) data;
-
-  /* Return if already found.  */
-  if (fsec_datap->section)
-    return;
-
-  /* If this section isn't part of the addressable contents, skip it.  */
-  if ((bfd_get_section_flags (abfd, section) & SEC_ALLOC) == 0)
-    return;
-
-  vma = bfd_get_section_vma (abfd, section);
-  if (fsec_datap->addr < vma)
-    return;
-
-  size = section->size;
-  if (fsec_datap->addr >= vma + size)
-    return;
-
-  fsec_datap->section = section;
-}
-
-/* Make sure to write out the generated entries in the .cranges section
-   when doing partial linking, and set bit 0 on the entry address if it
-   points to SHmedia code and write sorted .cranges entries when writing
-   executables (final linking and objcopy).  */
-
-static void
-sh64_elf_final_write_processing (bfd *abfd,
-				 bfd_boolean linker ATTRIBUTE_UNUSED)
-{
-  bfd_vma ld_generated_cranges_size;
-  asection *cranges
-    = bfd_get_section_by_name (abfd, SH64_CRANGES_SECTION_NAME);
-
-  /* If no new .cranges were added, the generic ELF linker parts will
-     write it all out.  If not, we need to write them out when doing
-     partial linking.  For a final link, we will sort them and write them
-     all out further below.  */
-  if (linker
-      && cranges != NULL
-      && elf_elfheader (abfd)->e_type != ET_EXEC
-      && (ld_generated_cranges_size
-	  = sh64_elf_section_data (cranges)->sh64_info->cranges_growth) != 0)
-    {
-      bfd_vma incoming_cranges_size
-	= cranges->size - ld_generated_cranges_size;
-
-      if (! bfd_set_section_contents (abfd, cranges,
-				      cranges->contents
-				      + incoming_cranges_size,
-				      cranges->output_offset
-				      + incoming_cranges_size,
-				      ld_generated_cranges_size))
-	{
-	  bfd_set_error (bfd_error_file_truncated);
-	  _bfd_error_handler
-	    (_("%B: could not write out added .cranges entries"), abfd);
-	}
-    }
-
-  /* Only set entry address bit 0 and sort .cranges when linking to an
-     executable; never with objcopy or strip.  */
-  if (linker && elf_elfheader (abfd)->e_type == ET_EXEC)
-    {
-      struct sh64_find_section_vma_data fsec_data;
-      sh64_elf_crange dummy;
-
-      /* For a final link, set the low bit of the entry address to
-	 reflect whether or not it is a SHmedia address.
-	 FIXME: Perhaps we shouldn't do this if the entry address was
-	 supplied numerically, but we currently lack the infrastructure to
-	 recognize that: The entry symbol, and info whether it is numeric
-	 or a symbol name is kept private in the linker.  */
-      fsec_data.addr = elf_elfheader (abfd)->e_entry;
-      fsec_data.section = NULL;
-
-      bfd_map_over_sections (abfd, sh64_find_section_for_address,
-			     &fsec_data);
-      if (fsec_data.section
-	  && (sh64_get_contents_type (fsec_data.section,
-				      elf_elfheader (abfd)->e_entry,
-				      &dummy) == CRT_SH5_ISA32))
-	elf_elfheader (abfd)->e_entry |= 1;
-
-      /* If we have a .cranges section, sort the entries.  */
-      if (cranges != NULL)
-	{
-	  bfd_size_type cranges_size = cranges->size;
-
-	  /* We know we always have these in memory at this time.  */
-	  BFD_ASSERT (cranges->contents != NULL);
-
-	  /* The .cranges may already have been sorted in the process of
-	     finding out the ISA-type of the entry address.  If not, we do
-	     it here.  */
-	  if (elf_section_data (cranges)->this_hdr.sh_type
-	      != SHT_SH5_CR_SORTED)
-	    {
-	      qsort (cranges->contents, cranges_size / SH64_CRANGE_SIZE,
-		     SH64_CRANGE_SIZE,
-		     bfd_big_endian (cranges->owner)
-		     ? _bfd_sh64_crange_qsort_cmpb
-		     : _bfd_sh64_crange_qsort_cmpl);
-	      elf_section_data (cranges)->this_hdr.sh_type
-		= SHT_SH5_CR_SORTED;
-	    }
-
-	  /* We need to write it out in whole as sorted.  */
-	  if (! bfd_set_section_contents (abfd, cranges,
-					  cranges->contents,
-					  cranges->output_offset,
-					  cranges_size))
-	    {
-	      bfd_set_error (bfd_error_file_truncated);
-	      _bfd_error_handler
-		(_("%B: could not write out sorted .cranges entries"), abfd);
-	    }
-	}
-    }
-}
-
-/* Merge non visibility st_other attribute when the symbol comes from
-   a dynamic object.  */
-static void
-sh64_elf_merge_symbol_attribute (struct elf_link_hash_entry *h,
-				 const Elf_Internal_Sym *isym,
-				 bfd_boolean definition,
-				 bfd_boolean dynamic ATTRIBUTE_UNUSED)
-{
-  if ((isym->st_other & ~ELF_ST_VISIBILITY (-1)) != 0)
-    {
-      unsigned char other;
-
-      /* Take the balance of OTHER from the definition.  */
-      other = (definition ? isym->st_other : h->other);
-      other &= ~ ELF_ST_VISIBILITY (-1);
-      h->other = other | ELF_ST_VISIBILITY (h->other);
-    }
-
-  return;
-}
-
-static const struct bfd_elf_special_section sh64_elf_special_sections[] =
-{
-  { STRING_COMMA_LEN (".cranges"), 0, SHT_PROGBITS, 0 },
-  { NULL,			0, 0, 0,	    0 }
-};
-
-#undef	TARGET_BIG_SYM
-#define	TARGET_BIG_SYM		sh64_elf32_vec
-#undef	TARGET_BIG_NAME
-#define	TARGET_BIG_NAME		"elf32-sh64"
-#undef	TARGET_LITTLE_SYM
-#define	TARGET_LITTLE_SYM	sh64_elf32_le_vec
-#undef	TARGET_LITTLE_NAME
-#define	TARGET_LITTLE_NAME	"elf32-sh64l"
-
-#include "elf32-target.h"
-
-/* NetBSD support.  */
-#undef	TARGET_BIG_SYM
-#define	TARGET_BIG_SYM		sh64_elf32_nbsd_vec
-#undef	TARGET_BIG_NAME
-#define	TARGET_BIG_NAME		"elf32-sh64-nbsd"
-#undef	TARGET_LITTLE_SYM
-#define	TARGET_LITTLE_SYM	sh64_elf32_nbsd_le_vec
-#undef	TARGET_LITTLE_NAME
-#define	TARGET_LITTLE_NAME	"elf32-sh64l-nbsd"
-#undef	ELF_MAXPAGESIZE
-#define	ELF_MAXPAGESIZE		0x10000
-#undef	ELF_COMMONPAGESIZE
-#undef	elf_symbol_leading_char
-#define	elf_symbol_leading_char	0
-#undef	elf32_bed
-#define	elf32_bed		elf32_sh64_nbsd_bed
-
-#include "elf32-target.h"
-
-/* Linux support.  */
-#undef	TARGET_BIG_SYM
-#define	TARGET_BIG_SYM		sh64_elf32_linux_be_vec
-#undef	TARGET_BIG_NAME
-#define	TARGET_BIG_NAME		"elf32-sh64big-linux"
-#undef	TARGET_LITTLE_SYM
-#define	TARGET_LITTLE_SYM	sh64_elf32_linux_vec
-#undef	TARGET_LITTLE_NAME
-#define	TARGET_LITTLE_NAME	"elf32-sh64-linux"
-#undef	elf32_bed
-#define	elf32_bed		elf32_sh64_lin_bed
-#undef	ELF_COMMONPAGESIZE
-#define	ELF_COMMONPAGESIZE	0x1000
-
-#include "elf32-target.h"
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh64-com.c ./bfd/elf32-sh64-com.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh64-com.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-sh64-com.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,245 +0,0 @@
-/* SuperH SH64-specific support for 32-bit ELF
-   Copyright (C) 2000-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define SH64_ELF
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "elf-bfd.h"
-#include "elf/sh.h"
-#include "elf32-sh64.h"
-#include "../opcodes/sh64-opc.h"
-
-static bfd_boolean sh64_address_in_cranges
-  (asection *cranges, bfd_vma, sh64_elf_crange *);
-
-/* Ordering functions of a crange, for the qsort and bsearch calls and for
-   different endianness.  */
-
-int
-_bfd_sh64_crange_qsort_cmpb (const void *p1, const void *p2)
-{
-  bfd_vma a1 = bfd_getb32 (p1);
-  bfd_vma a2 = bfd_getb32 (p2);
-
-  /* Preserve order if there's ambiguous contents.  */
-  if (a1 == a2)
-    return (char *) p1 - (char *) p2;
-
-  return a1 - a2;
-}
-
-int
-_bfd_sh64_crange_qsort_cmpl (const void *p1, const void *p2)
-{
-  bfd_vma a1 = (bfd_vma) bfd_getl32 (p1);
-  bfd_vma a2 = (bfd_vma) bfd_getl32 (p2);
-
-  /* Preserve order if there's ambiguous contents.  */
-  if (a1 == a2)
-    return (char *) p1 - (char *) p2;
-
-  return a1 - a2;
-}
-
-int
-_bfd_sh64_crange_bsearch_cmpb (const void *p1, const void *p2)
-{
-  bfd_vma a1 = *(bfd_vma *) p1;
-  bfd_vma a2 = (bfd_vma) bfd_getb32 (p2);
-  bfd_size_type size
-    = (bfd_size_type) bfd_getb32 (SH64_CRANGE_CR_SIZE_OFFSET + (char *) p2);
-
-  if (a1 >= a2 + size)
-    return 1;
-  if (a1 < a2)
-    return -1;
-  return 0;
-}
-
-int
-_bfd_sh64_crange_bsearch_cmpl (const void *p1, const void *p2)
-{
-  bfd_vma a1 = *(bfd_vma *) p1;
-  bfd_vma a2 = (bfd_vma) bfd_getl32 (p2);
-  bfd_size_type size
-    = (bfd_size_type) bfd_getl32 (SH64_CRANGE_CR_SIZE_OFFSET + (char *) p2);
-
-  if (a1 >= a2 + size)
-    return 1;
-  if (a1 < a2)
-    return -1;
-  return 0;
-}
-
-/* Check whether a specific address is specified within a .cranges
-   section.  Return FALSE if not found, and TRUE if found, and the region
-   filled into RANGEP if non-NULL.  */
-
-static bfd_boolean
-sh64_address_in_cranges (asection *cranges, bfd_vma addr,
-			 sh64_elf_crange *rangep)
-{
-  bfd_byte *cranges_contents;
-  bfd_byte *found_rangep;
-  bfd_size_type cranges_size = cranges->size;
-
-  /* If the size is not a multiple of the cranges entry size, then
-     something is badly wrong.  */
-  if ((cranges_size % SH64_CRANGE_SIZE) != 0)
-    return FALSE;
-
-  /* If this section has relocations, then we can't do anything sane.  */
-  if (bfd_get_section_flags (cranges->owner, cranges) & SEC_RELOC)
-    return FALSE;
-
-  /* Has some kind soul (or previous call) left processed, sorted contents
-     for us?  */
-  if ((bfd_get_section_flags (cranges->owner, cranges) & SEC_IN_MEMORY)
-      && elf_section_data (cranges)->this_hdr.sh_type == SHT_SH5_CR_SORTED)
-    cranges_contents = cranges->contents;
-  else
-    {
-      if (!bfd_malloc_and_get_section (cranges->owner, cranges,
-				       &cranges_contents))
-	goto error_return;
-
-      /* Is it sorted?  */
-      if (elf_section_data (cranges)->this_hdr.sh_type
-	  != SHT_SH5_CR_SORTED)
-	/* Nope.  Lets sort it.  */
-	qsort (cranges_contents, cranges_size / SH64_CRANGE_SIZE,
-	       SH64_CRANGE_SIZE,
-	       bfd_big_endian (cranges->owner)
-	       ? _bfd_sh64_crange_qsort_cmpb : _bfd_sh64_crange_qsort_cmpl);
-
-      /* Let's keep it around.  */
-      cranges->contents = cranges_contents;
-      bfd_set_section_flags (cranges->owner, cranges,
-			     bfd_get_section_flags (cranges->owner, cranges)
-			     | SEC_IN_MEMORY);
-
-      /* It's sorted now.  */
-      elf_section_data (cranges)->this_hdr.sh_type = SHT_SH5_CR_SORTED;
-    }
-
-  /* Try and find a matching range.  */
-  found_rangep
-    = bsearch (&addr, cranges_contents, cranges_size / SH64_CRANGE_SIZE,
-	       SH64_CRANGE_SIZE,
-	       bfd_big_endian (cranges->owner)
-	       ? _bfd_sh64_crange_bsearch_cmpb
-	       : _bfd_sh64_crange_bsearch_cmpl);
-
-  /* Fill in a few return values if we found a matching range.  */
-  if (found_rangep)
-    {
-      enum sh64_elf_cr_type cr_type
-	= bfd_get_16 (cranges->owner,
-		      SH64_CRANGE_CR_TYPE_OFFSET + found_rangep);
-      bfd_vma cr_addr
-	= bfd_get_32 (cranges->owner,
-		      SH64_CRANGE_CR_ADDR_OFFSET
-		      + (char *) found_rangep);
-      bfd_size_type cr_size
-	= bfd_get_32 (cranges->owner,
-		      SH64_CRANGE_CR_SIZE_OFFSET
-		      + (char *) found_rangep);
-
-      rangep->cr_addr = cr_addr;
-      rangep->cr_size = cr_size;
-      rangep->cr_type = cr_type;
-
-      return TRUE;
-    }
-
-  /* There is a .cranges section, but it does not have a descriptor
-     matching this address.  */
-  return FALSE;
-
-error_return:
-  if (cranges_contents != NULL)
-    free (cranges_contents);
-  return FALSE;
-}
-
-/* Determine what ADDR points to in SEC, and fill in a range descriptor in
-   *RANGEP if it's non-NULL.  */
-
-enum sh64_elf_cr_type
-sh64_get_contents_type (asection *sec, bfd_vma addr, sh64_elf_crange *rangep)
-{
-  asection *cranges;
-
-  /* Fill in the range with the boundaries of the section as a default.  */
-  if (bfd_get_flavour (sec->owner) == bfd_target_elf_flavour
-      && elf_elfheader (sec->owner)->e_type == ET_EXEC)
-    {
-      rangep->cr_addr = bfd_get_section_vma (sec->owner, sec);
-      rangep->cr_size = sec->size;
-      rangep->cr_type = CRT_NONE;
-    }
-  else
-    return FALSE;
-
-  /* If none of the pertinent bits are set, then it's a SHcompact (or at
-     least not SHmedia).  */
-  if ((elf_section_data (sec)->this_hdr.sh_flags
-       & (SHF_SH5_ISA32 | SHF_SH5_ISA32_MIXED)) == 0)
-    {
-      enum sh64_elf_cr_type cr_type
-	= ((bfd_get_section_flags (sec->owner, sec) & SEC_CODE) != 0
-	   ? CRT_SH5_ISA16 : CRT_DATA);
-      rangep->cr_type = cr_type;
-      return cr_type;
-    }
-
-  /* If only the SHF_SH5_ISA32 bit is set, then we have SHmedia.  */
-  if ((elf_section_data (sec)->this_hdr.sh_flags
-       & (SHF_SH5_ISA32 | SHF_SH5_ISA32_MIXED)) == SHF_SH5_ISA32)
-    {
-      rangep->cr_type = CRT_SH5_ISA32;
-      return CRT_SH5_ISA32;
-    }
-
-  /* Otherwise, we have to look up the .cranges section.  */
-  cranges = bfd_get_section_by_name (sec->owner, SH64_CRANGES_SECTION_NAME);
-
-  if (cranges == NULL)
-    /* A mixed section but there's no .cranges section.  This is probably
-       bad input; it does not comply to specs.  */
-    return CRT_NONE;
-
-  /* If this call fails, we will still have CRT_NONE in rangep->cr_type
-     and that will be suitable to return.  */
-  sh64_address_in_cranges (cranges, addr, rangep);
-
-  return rangep->cr_type;
-}
-
-/* This is a simpler exported interface for the benefit of gdb et al.  */
-
-bfd_boolean
-sh64_address_is_shmedia (asection *sec, bfd_vma addr)
-{
-  sh64_elf_crange dummy;
-  return sh64_get_contents_type (sec, addr, &dummy) == CRT_SH5_ISA32;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh64.h ./bfd/elf32-sh64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh64.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-sh64.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,88 +0,0 @@
-/* SH ELF support for BFD.
-   Copyright (C) 2003-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software Foundation,
-   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-#ifndef ELF32_SH64_H
-#define ELF32_SH64_H
-
-#define SH64_CRANGES_SECTION_NAME ".cranges"
-enum sh64_elf_cr_type {
-  CRT_NONE = 0,
-  CRT_DATA = 1,
-  CRT_SH5_ISA16 = 2,
-  CRT_SH5_ISA32 = 3
-};
-
-/* The official definition is this:
-
-    typedef struct {
-      Elf32_Addr cr_addr;
-      Elf32_Word cr_size;
-      Elf32_Half cr_type;
-    } Elf32_CRange;
-
-   but we have no use for that exact type.  Instead we use this struct for
-   the internal representation.  */
-typedef struct {
-  bfd_vma cr_addr;
-  bfd_size_type cr_size;
-  enum sh64_elf_cr_type cr_type;
-} sh64_elf_crange;
-
-#define SH64_CRANGE_SIZE (4 + 4 + 2)
-#define SH64_CRANGE_CR_ADDR_OFFSET 0
-#define SH64_CRANGE_CR_SIZE_OFFSET 4
-#define SH64_CRANGE_CR_TYPE_OFFSET (4 + 4)
-
-/* Get the contents type of an arbitrary address, or return CRT_NONE.  */
-extern enum sh64_elf_cr_type sh64_get_contents_type
-  (asection *, bfd_vma, sh64_elf_crange *);
-
-/* Simpler interface.
-   FIXME: This seems redundant now that we export the interface above.  */
-extern bfd_boolean sh64_address_is_shmedia
-  (asection *, bfd_vma);
-
-extern int _bfd_sh64_crange_qsort_cmpb
-  (const void *, const void *);
-extern int _bfd_sh64_crange_qsort_cmpl
-  (const void *, const void *);
-extern int _bfd_sh64_crange_bsearch_cmpb
-  (const void *, const void *);
-extern int _bfd_sh64_crange_bsearch_cmpl
-  (const void *, const void *);
-
-struct sh64_section_data
-{
-  flagword contents_flags;
-
-  /* Only used in the cranges section, but we don't have an official
-     backend-specific bfd field.  */
-  bfd_size_type cranges_growth;
-};
-
-struct _sh64_elf_section_data
-{
-  struct bfd_elf_section_data elf;
-  struct sh64_section_data *sh64_info;
-};
-
-#define sh64_elf_section_data(sec) \
-  ((struct _sh64_elf_section_data *) elf_section_data (sec))
-
-#endif /* ELF32_SH64_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh.c ./bfd/elf32-sh.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-sh.c	2018-07-10 02:06:11.000000000 +0000
@@ -38,10 +38,8 @@ static bfd_boolean sh_elf_relax_delete_b
   (bfd *, asection *, bfd_vma, int);
 static bfd_boolean sh_elf_align_loads
   (bfd *, asection *, Elf_Internal_Rela *, bfd_byte *, bfd_boolean *);
-#ifndef SH64_ELF
 static bfd_boolean sh_elf_swap_insns
   (bfd *, asection *, void *, bfd_byte *, bfd_vma);
-#endif
 static int sh_elf_optimized_tls_reloc
   (struct bfd_link_info *, int, int);
 static bfd_vma dtpoff_base
@@ -87,7 +85,7 @@ static reloc_howto_type sh_vxworks_howto
 static bfd_boolean
 vxworks_object_p (bfd *abfd ATTRIBUTE_UNUSED)
 {
-#if !defined INCLUDE_SHMEDIA && !defined SH_TARGET_ALREADY_DEFINED
+#if !defined SH_TARGET_ALREADY_DEFINED
   extern const bfd_target sh_elf32_vxworks_le_vec;
   extern const bfd_target sh_elf32_vxworks_vec;
 
@@ -103,7 +101,7 @@ vxworks_object_p (bfd *abfd ATTRIBUTE_UN
 static bfd_boolean
 fdpic_object_p (bfd *abfd ATTRIBUTE_UNUSED)
 {
-#if !defined INCLUDE_SHMEDIA && !defined SH_TARGET_ALREADY_DEFINED
+#if !defined SH_TARGET_ALREADY_DEFINED
   extern const bfd_target sh_elf32_fdpic_le_vec;
   extern const bfd_target sh_elf32_fdpic_be_vec;
 
@@ -371,57 +369,6 @@ static const struct elf_reloc_map sh_rel
   { BFD_RELOC_SH_GOTOFFFUNCDESC, R_SH_GOTOFFFUNCDESC },
   { BFD_RELOC_SH_GOTOFFFUNCDESC20, R_SH_GOTOFFFUNCDESC20 },
   { BFD_RELOC_SH_FUNCDESC, R_SH_FUNCDESC },
-#ifdef INCLUDE_SHMEDIA
-  { BFD_RELOC_SH_GOT_LOW16, R_SH_GOT_LOW16 },
-  { BFD_RELOC_SH_GOT_MEDLOW16, R_SH_GOT_MEDLOW16 },
-  { BFD_RELOC_SH_GOT_MEDHI16, R_SH_GOT_MEDHI16 },
-  { BFD_RELOC_SH_GOT_HI16, R_SH_GOT_HI16 },
-  { BFD_RELOC_SH_GOTPLT_LOW16, R_SH_GOTPLT_LOW16 },
-  { BFD_RELOC_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDLOW16 },
-  { BFD_RELOC_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_MEDHI16 },
-  { BFD_RELOC_SH_GOTPLT_HI16, R_SH_GOTPLT_HI16 },
-  { BFD_RELOC_SH_PLT_LOW16, R_SH_PLT_LOW16 },
-  { BFD_RELOC_SH_PLT_MEDLOW16, R_SH_PLT_MEDLOW16 },
-  { BFD_RELOC_SH_PLT_MEDHI16, R_SH_PLT_MEDHI16 },
-  { BFD_RELOC_SH_PLT_HI16, R_SH_PLT_HI16 },
-  { BFD_RELOC_SH_GOTOFF_LOW16, R_SH_GOTOFF_LOW16 },
-  { BFD_RELOC_SH_GOTOFF_MEDLOW16, R_SH_GOTOFF_MEDLOW16 },
-  { BFD_RELOC_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_MEDHI16 },
-  { BFD_RELOC_SH_GOTOFF_HI16, R_SH_GOTOFF_HI16 },
-  { BFD_RELOC_SH_GOTPC_LOW16, R_SH_GOTPC_LOW16 },
-  { BFD_RELOC_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDLOW16 },
-  { BFD_RELOC_SH_GOTPC_MEDHI16, R_SH_GOTPC_MEDHI16 },
-  { BFD_RELOC_SH_GOTPC_HI16, R_SH_GOTPC_HI16 },
-  { BFD_RELOC_SH_COPY64, R_SH_COPY64 },
-  { BFD_RELOC_SH_GLOB_DAT64, R_SH_GLOB_DAT64 },
-  { BFD_RELOC_SH_JMP_SLOT64, R_SH_JMP_SLOT64 },
-  { BFD_RELOC_SH_RELATIVE64, R_SH_RELATIVE64 },
-  { BFD_RELOC_SH_GOT10BY4, R_SH_GOT10BY4 },
-  { BFD_RELOC_SH_GOT10BY8, R_SH_GOT10BY8 },
-  { BFD_RELOC_SH_GOTPLT10BY4, R_SH_GOTPLT10BY4 },
-  { BFD_RELOC_SH_GOTPLT10BY8, R_SH_GOTPLT10BY8 },
-  { BFD_RELOC_SH_PT_16, R_SH_PT_16 },
-  { BFD_RELOC_SH_SHMEDIA_CODE, R_SH_SHMEDIA_CODE },
-  { BFD_RELOC_SH_IMMU5, R_SH_DIR5U },
-  { BFD_RELOC_SH_IMMS6, R_SH_DIR6S },
-  { BFD_RELOC_SH_IMMU6, R_SH_DIR6U },
-  { BFD_RELOC_SH_IMMS10, R_SH_DIR10S },
-  { BFD_RELOC_SH_IMMS10BY2, R_SH_DIR10SW },
-  { BFD_RELOC_SH_IMMS10BY4, R_SH_DIR10SL },
-  { BFD_RELOC_SH_IMMS10BY8, R_SH_DIR10SQ },
-  { BFD_RELOC_SH_IMMS16, R_SH_IMMS16 },
-  { BFD_RELOC_SH_IMMU16, R_SH_IMMU16 },
-  { BFD_RELOC_SH_IMM_LOW16, R_SH_IMM_LOW16 },
-  { BFD_RELOC_SH_IMM_LOW16_PCREL, R_SH_IMM_LOW16_PCREL },
-  { BFD_RELOC_SH_IMM_MEDLOW16, R_SH_IMM_MEDLOW16 },
-  { BFD_RELOC_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDLOW16_PCREL },
-  { BFD_RELOC_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16 },
-  { BFD_RELOC_SH_IMM_MEDHI16_PCREL, R_SH_IMM_MEDHI16_PCREL },
-  { BFD_RELOC_SH_IMM_HI16, R_SH_IMM_HI16 },
-  { BFD_RELOC_SH_IMM_HI16_PCREL, R_SH_IMM_HI16_PCREL },
-  { BFD_RELOC_64, R_SH_64 },
-  { BFD_RELOC_64_PCREL, R_SH_64_PCREL },
-#endif /* not INCLUDE_SHMEDIA */
 };
 
 /* Given a BFD reloc code, return the howto structure for the
@@ -472,7 +419,7 @@ sh_elf_reloc_name_lookup (bfd *abfd, con
 
 /* Given an ELF reloc, fill in the howto field of a relent.  */
 
-static void
+static bfd_boolean
 sh_elf_info_to_howto (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst)
 {
   unsigned int r;
@@ -488,13 +435,14 @@ sh_elf_info_to_howto (bfd *abfd, arelent
       || (r >= R_SH_FIRST_INVALID_RELOC_6 && r <= R_SH_LAST_INVALID_RELOC_6))
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised SH reloc number: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r);
       bfd_set_error (bfd_error_bad_value);
-      r = R_SH_NONE;
+      return FALSE;
     }
 
   cache_ptr->howto = get_howto_table (abfd) + r;
+  return TRUE;
 }
 
 /* This function handles relaxing for SH ELF.  See the corresponding
@@ -525,14 +473,6 @@ sh_elf_relax_section (bfd *abfd, asectio
       || sec->reloc_count == 0)
     return TRUE;
 
-#ifdef INCLUDE_SHMEDIA
-  if (elf_section_data (sec)->this_hdr.sh_flags
-      & (SHF_SH5_ISA32 | SHF_SH5_ISA32_MIXED))
-    {
-      return TRUE;
-    }
-#endif
-
   symtab_hdr = &elf_symtab_hdr (abfd);
 
   internal_relocs = (_bfd_elf_link_read_relocs
@@ -577,8 +517,9 @@ sh_elf_relax_section (bfd *abfd, asectio
       if (laddr >= sec->size)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: %#Lx: warning: bad R_SH_USES offset"),
-			      abfd, irel->r_offset);
+	  _bfd_error_handler
+	    (_("%pB: %#" PRIx64 ": warning: bad R_SH_USES offset"),
+	     abfd, (uint64_t) irel->r_offset);
 	  continue;
 	}
       insn = bfd_get_16 (abfd, contents + laddr);
@@ -589,8 +530,9 @@ sh_elf_relax_section (bfd *abfd, asectio
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x"),
-	     abfd, irel->r_offset, insn);
+	    (_("%pB: %#" PRIx64 ": warning: "
+	       "R_SH_USES points to unrecognized insn 0x%x"),
+	     abfd, (uint64_t) irel->r_offset, insn);
 	  continue;
 	}
 
@@ -607,8 +549,8 @@ sh_elf_relax_section (bfd *abfd, asectio
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: %#Lx: warning: bad R_SH_USES load offset"),
-	     abfd, irel->r_offset);
+	    (_("%pB: %#" PRIx64 ": warning: bad R_SH_USES load offset"),
+	     abfd, (uint64_t) irel->r_offset);
 	  continue;
 	}
 
@@ -623,8 +565,8 @@ sh_elf_relax_section (bfd *abfd, asectio
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: %#Lx: warning: could not find expected reloc"),
-	     abfd, paddr);
+	    (_("%pB: %#" PRIx64 ": warning: could not find expected reloc"),
+	     abfd, (uint64_t) paddr);
 	  continue;
 	}
 
@@ -652,8 +594,8 @@ sh_elf_relax_section (bfd *abfd, asectio
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: %#Lx: warning: symbol in unexpected section"),
-		 abfd, paddr);
+		(_("%pB: %#" PRIx64 ": warning: symbol in unexpected section"),
+		 abfd, (uint64_t) paddr);
 	      continue;
 	    }
 
@@ -782,8 +724,9 @@ sh_elf_relax_section (bfd *abfd, asectio
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: %#Lx: warning: could not find expected COUNT reloc"),
-	     abfd, paddr);
+	    (_("%pB: %#" PRIx64 ": warning: "
+	       "could not find expected COUNT reloc"),
+	     abfd, (uint64_t) paddr);
 	  continue;
 	}
 
@@ -792,8 +735,8 @@ sh_elf_relax_section (bfd *abfd, asectio
       if (irelcount->r_addend == 0)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: %#Lx: warning: bad count"),
-			      abfd, paddr);
+	  _bfd_error_handler (_("%pB: %#" PRIx64 ": warning: bad count"),
+			      abfd, (uint64_t) paddr);
 	  continue;
 	}
 
@@ -1196,8 +1139,8 @@ sh_elf_relax_delete_bytes (bfd *abfd, as
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: %#Lx: fatal: reloc overflow while relaxing"),
-		 abfd, irel->r_offset);
+		(_("%pB: %#" PRIx64 ": fatal: reloc overflow while relaxing"),
+		 abfd, (uint64_t) irel->r_offset);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -1447,7 +1390,6 @@ sh_elf_align_loads (bfd *abfd ATTRIBUTE_
   return FALSE;
 }
 
-#ifndef SH64_ELF
 /* Swap two SH instructions.  This is like sh_swap_insns in coff-sh.c.  */
 
 static bfd_boolean
@@ -1567,8 +1509,8 @@ sh_elf_swap_insns (bfd *abfd, asection *
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: %#Lx: fatal: reloc overflow while relaxing"),
-		 abfd, irel->r_offset);
+		(_("%pB: %#" PRIx64 ": fatal: reloc overflow while relaxing"),
+		 abfd, (uint64_t) irel->r_offset);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -1577,7 +1519,6 @@ sh_elf_swap_insns (bfd *abfd, asection *
 
   return TRUE;
 }
-#endif /* defined SH64_ELF */
 
 /* Describes one of the various PLT styles.  */
 
@@ -1622,223 +1563,6 @@ struct elf_sh_plt_info
   const struct elf_sh_plt_info *short_plt;
 };
 
-#ifdef INCLUDE_SHMEDIA
-
-/* The size in bytes of an entry in the procedure linkage table.  */
-
-#define ELF_PLT_ENTRY_SIZE 64
-
-/* First entry in an absolute procedure linkage table look like this.  */
-
-static const bfd_byte elf_sh_plt0_entry_be[ELF_PLT_ENTRY_SIZE] =
-{
-  0xcc, 0x00, 0x01, 0x10, /* movi  .got.plt >> 16, r17 */
-  0xc8, 0x00, 0x01, 0x10, /* shori .got.plt & 65535, r17 */
-  0x89, 0x10, 0x09, 0x90, /* ld.l  r17, 8, r25 */
-  0x6b, 0xf1, 0x66, 0x00, /* ptabs r25, tr0 */
-  0x89, 0x10, 0x05, 0x10, /* ld.l  r17, 4, r17 */
-  0x44, 0x01, 0xff, 0xf0, /* blink tr0, r63 */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-};
-
-static const bfd_byte elf_sh_plt0_entry_le[ELF_PLT_ENTRY_SIZE] =
-{
-  0x10, 0x01, 0x00, 0xcc, /* movi  .got.plt >> 16, r17 */
-  0x10, 0x01, 0x00, 0xc8, /* shori .got.plt & 65535, r17 */
-  0x90, 0x09, 0x10, 0x89, /* ld.l  r17, 8, r25 */
-  0x00, 0x66, 0xf1, 0x6b, /* ptabs r25, tr0 */
-  0x10, 0x05, 0x10, 0x89, /* ld.l  r17, 4, r17 */
-  0xf0, 0xff, 0x01, 0x44, /* blink tr0, r63 */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-};
-
-/* Sebsequent entries in an absolute procedure linkage table look like
-   this.  */
-
-static const bfd_byte elf_sh_plt_entry_be[ELF_PLT_ENTRY_SIZE] =
-{
-  0xcc, 0x00, 0x01, 0x90, /* movi  nameN-in-GOT >> 16, r25 */
-  0xc8, 0x00, 0x01, 0x90, /* shori nameN-in-GOT & 65535, r25 */
-  0x89, 0x90, 0x01, 0x90, /* ld.l  r25, 0, r25 */
-  0x6b, 0xf1, 0x66, 0x00, /* ptabs r25, tr0 */
-  0x44, 0x01, 0xff, 0xf0, /* blink tr0, r63 */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0xcc, 0x00, 0x01, 0x90, /* movi  .PLT0 >> 16, r25 */
-  0xc8, 0x00, 0x01, 0x90, /* shori .PLT0 & 65535, r25 */
-  0x6b, 0xf1, 0x66, 0x00, /* ptabs r25, tr0 */
-  0xcc, 0x00, 0x01, 0x50, /* movi  reloc-offset >> 16, r21 */
-  0xc8, 0x00, 0x01, 0x50, /* shori reloc-offset & 65535, r21 */
-  0x44, 0x01, 0xff, 0xf0, /* blink tr0, r63 */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-};
-
-static const bfd_byte elf_sh_plt_entry_le[ELF_PLT_ENTRY_SIZE] =
-{
-  0x90, 0x01, 0x00, 0xcc, /* movi  nameN-in-GOT >> 16, r25 */
-  0x90, 0x01, 0x00, 0xc8, /* shori nameN-in-GOT & 65535, r25 */
-  0x90, 0x01, 0x90, 0x89, /* ld.l  r25, 0, r25 */
-  0x00, 0x66, 0xf1, 0x6b, /* ptabs r25, tr0 */
-  0xf0, 0xff, 0x01, 0x44, /* blink tr0, r63 */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0x90, 0x01, 0x00, 0xcc, /* movi  .PLT0 >> 16, r25 */
-  0x90, 0x01, 0x00, 0xc8, /* shori .PLT0 & 65535, r25 */
-  0x00, 0x66, 0xf1, 0x6b, /* ptabs r25, tr0 */
-  0x50, 0x01, 0x00, 0xcc, /* movi  reloc-offset >> 16, r21 */
-  0x50, 0x01, 0x00, 0xc8, /* shori reloc-offset & 65535, r21 */
-  0xf0, 0xff, 0x01, 0x44, /* blink tr0, r63 */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-};
-
-/* Entries in a PIC procedure linkage table look like this.  */
-
-static const bfd_byte elf_sh_pic_plt_entry_be[ELF_PLT_ENTRY_SIZE] =
-{
-  0xcc, 0x00, 0x01, 0x90, /* movi  nameN@GOT >> 16, r25 */
-  0xc8, 0x00, 0x01, 0x90, /* shori nameN@GOT & 65535, r25 */
-  0x40, 0xc2, 0x65, 0x90, /* ldx.l r12, r25, r25 */
-  0x6b, 0xf1, 0x66, 0x00, /* ptabs r25, tr0 */
-  0x44, 0x01, 0xff, 0xf0, /* blink tr0, r63 */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0xce, 0x00, 0x01, 0x10, /* movi  -GOT_BIAS, r17 */
-  0x00, 0xc8, 0x45, 0x10, /* add.l r12, r17, r17 */
-  0x89, 0x10, 0x09, 0x90, /* ld.l  r17, 8, r25 */
-  0x6b, 0xf1, 0x66, 0x00, /* ptabs r25, tr0 */
-  0x89, 0x10, 0x05, 0x10, /* ld.l  r17, 4, r17 */
-  0xcc, 0x00, 0x01, 0x50, /* movi  reloc-offset >> 16, r21 */
-  0xc8, 0x00, 0x01, 0x50, /* shori reloc-offset & 65535, r21 */
-  0x44, 0x01, 0xff, 0xf0, /* blink tr0, r63 */
-};
-
-static const bfd_byte elf_sh_pic_plt_entry_le[ELF_PLT_ENTRY_SIZE] =
-{
-  0x90, 0x01, 0x00, 0xcc, /* movi  nameN@GOT >> 16, r25 */
-  0x90, 0x01, 0x00, 0xc8, /* shori nameN@GOT & 65535, r25 */
-  0x90, 0x65, 0xc2, 0x40, /* ldx.l r12, r25, r25 */
-  0x00, 0x66, 0xf1, 0x6b, /* ptabs r25, tr0 */
-  0xf0, 0xff, 0x01, 0x44, /* blink tr0, r63 */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0x10, 0x01, 0x00, 0xce, /* movi  -GOT_BIAS, r17 */
-  0x10, 0x45, 0xc8, 0x00, /* add.l r12, r17, r17 */
-  0x90, 0x09, 0x10, 0x89, /* ld.l  r17, 8, r25 */
-  0x00, 0x66, 0xf1, 0x6b, /* ptabs r25, tr0 */
-  0x10, 0x05, 0x10, 0x89, /* ld.l  r17, 4, r17 */
-  0x50, 0x01, 0x00, 0xcc, /* movi  reloc-offset >> 16, r21 */
-  0x50, 0x01, 0x00, 0xc8, /* shori reloc-offset & 65535, r21 */
-  0xf0, 0xff, 0x01, 0x44, /* blink tr0, r63 */
-};
-
-static const struct elf_sh_plt_info elf_sh_plts[2][2] = {
-  {
-    {
-      /* Big-endian non-PIC.  */
-      elf_sh_plt0_entry_be,
-      ELF_PLT_ENTRY_SIZE,
-      { 0, MINUS_ONE, MINUS_ONE },
-      elf_sh_plt_entry_be,
-      ELF_PLT_ENTRY_SIZE,
-      { 0, 32, 48, FALSE },
-      33, /* includes ISA encoding */
-      NULL
-    },
-    {
-      /* Little-endian non-PIC.  */
-      elf_sh_plt0_entry_le,
-      ELF_PLT_ENTRY_SIZE,
-      { 0, MINUS_ONE, MINUS_ONE },
-      elf_sh_plt_entry_le,
-      ELF_PLT_ENTRY_SIZE,
-      { 0, 32, 48, FALSE },
-      33, /* includes ISA encoding */
-      NULL
-    },
-  },
-  {
-    {
-      /* Big-endian PIC.  */
-      elf_sh_plt0_entry_be,
-      ELF_PLT_ENTRY_SIZE,
-      { MINUS_ONE, MINUS_ONE, MINUS_ONE },
-      elf_sh_pic_plt_entry_be,
-      ELF_PLT_ENTRY_SIZE,
-      { 0, MINUS_ONE, 52, FALSE },
-      33, /* includes ISA encoding */
-      NULL
-    },
-    {
-      /* Little-endian PIC.  */
-      elf_sh_plt0_entry_le,
-      ELF_PLT_ENTRY_SIZE,
-      { MINUS_ONE, MINUS_ONE, MINUS_ONE },
-      elf_sh_pic_plt_entry_le,
-      ELF_PLT_ENTRY_SIZE,
-      { 0, MINUS_ONE, 52, FALSE },
-      33, /* includes ISA encoding */
-      NULL
-    },
-  }
-};
-
-/* Return offset of the linker in PLT0 entry.  */
-#define elf_sh_plt0_gotplt_offset(info) 0
-
-/* Install a 32-bit PLT field starting at ADDR, which occurs in OUTPUT_BFD.
-   VALUE is the field's value and CODE_P is true if VALUE refers to code,
-   not data.
-
-   On SH64, each 32-bit field is loaded by a movi/shori pair.  */
-
-inline static void
-install_plt_field (bfd *output_bfd, bfd_boolean code_p,
-		   unsigned long value, bfd_byte *addr)
-{
-  value |= code_p;
-  bfd_put_32 (output_bfd,
-	      bfd_get_32 (output_bfd, addr)
-	      | ((value >> 6) & 0x3fffc00),
-	      addr);
-  bfd_put_32 (output_bfd,
-	      bfd_get_32 (output_bfd, addr + 4)
-	      | ((value << 10) & 0x3fffc00),
-	      addr + 4);
-}
-
-/* Return the type of PLT associated with ABFD.  PIC_P is true if
-   the object is position-independent.  */
-
-static const struct elf_sh_plt_info *
-get_plt_info (bfd *abfd ATTRIBUTE_UNUSED, bfd_boolean pic_p)
-{
-  return &elf_sh_plts[pic_p][!bfd_big_endian (abfd)];
-}
-#else
 /* The size in bytes of an entry in the procedure linkage table.  */
 
 #define ELF_PLT_ENTRY_SIZE 28
@@ -2317,7 +2041,6 @@ install_plt_field (bfd *output_bfd, bfd_
 {
   bfd_put_32 (output_bfd, value, addr);
 }
-#endif
 
 /* The number of PLT entries which can use a shorter PLT, if any.
    Currently always 64K, since only SH-2A FDPIC uses this; a
@@ -2379,14 +2102,6 @@ struct elf_sh_link_hash_entry
 {
   struct elf_link_hash_entry root;
 
-#ifdef INCLUDE_SHMEDIA
-  union
-  {
-    bfd_signed_vma refcount;
-    bfd_vma offset;
-  } datalabel_got;
-#endif
-
   /* Track dynamic relocs copied for this symbol.  */
   struct elf_dyn_relocs *dyn_relocs;
 
@@ -2525,9 +2240,6 @@ sh_elf_link_hash_newfunc (struct bfd_has
     {
       ret->dyn_relocs = NULL;
       ret->gotplt_refcount = 0;
-#ifdef INCLUDE_SHMEDIA
-      ret->datalabel_got.refcount = ret->root.got.refcount;
-#endif
       ret->funcdesc.refcount = 0;
       ret->abs_funcdesc_refcount = 0;
       ret->got_type = GOT_UNKNOWN;
@@ -3097,32 +2809,6 @@ allocate_dynrelocs (struct elf_link_hash
   else
     h->got.offset = (bfd_vma) -1;
 
-#ifdef INCLUDE_SHMEDIA
-  if (eh->datalabel_got.refcount > 0)
-    {
-      asection *s;
-      bfd_boolean dyn;
-
-      /* Make sure this symbol is output as a dynamic symbol.
-	 Undefined weak syms won't yet be marked as dynamic.  */
-      if (h->dynindx == -1
-	  && !h->forced_local)
-	{
-	  if (! bfd_elf_link_record_dynamic_symbol (info, h))
-	    return FALSE;
-	}
-
-      s = htab->root.sgot;
-      eh->datalabel_got.offset = s->size;
-      s->size += 4;
-      dyn = htab->root.dynamic_sections_created;
-      if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h))
-	htab->root.srelgot->size += sizeof (Elf32_External_Rela);
-    }
-  else
-    eh->datalabel_got.offset = (bfd_vma) -1;
-#endif
-
   /* Allocate space for any dynamic relocations to function
      descriptors, canonical or otherwise.  We need to relocate the
      reference unless it resolves to zero, which only happens for
@@ -3286,7 +2972,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -3389,7 +3075,7 @@ sh_elf_size_dynamic_sections (bfd *outpu
 		  if ((p->sec->output_section->flags & SEC_READONLY) != 0)
 		    {
 		      info->flags |= DF_TEXTREL;
-		      info->callbacks->minfo (_("%B: dynamic relocation in read-only section `%A'\n"),
+		      info->callbacks->minfo (_("%pB: dynamic relocation in read-only section `%pA'\n"),
 					      p->sec->owner, p->sec);
 		    }
 
@@ -3402,10 +3088,6 @@ sh_elf_size_dynamic_sections (bfd *outpu
 
       symtab_hdr = &elf_symtab_hdr (ibfd);
       locsymcount = symtab_hdr->sh_info;
-#ifdef INCLUDE_SHMEDIA
-      /* Count datalabel local GOT.  */
-      locsymcount *= 2;
-#endif
       s = htab->root.sgot;
       srel = htab->root.srelgot;
 
@@ -3944,7 +3626,7 @@ sh_elf_relocate_section (bfd *output_bfd
 	  if ((sym->st_other & STO_SH5_ISA32) != 0)
 	    (*info->callbacks->reloc_dangerous)
 	      (info,
-	       _("Unexpected STO_SH5_ISA32 on local symbol is not handled"),
+	       _("unexpected STO_SH5_ISA32 on local symbol is not handled"),
 	       input_bfd, input_section, rel->r_offset);
 
 	  if (sec != NULL && discarded_section (sec))
@@ -4000,9 +3682,10 @@ sh_elf_relocate_section (bfd *output_bfd
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B(%A+%#Lx): %s relocation against SEC_MERGE section"),
+		    (_("%pB(%pA+%#" PRIx64 "): "
+		       "%s relocation against SEC_MERGE section"),
 		     input_bfd, input_section,
-		     rel->r_offset, howto->name);
+		     (uint64_t) rel->r_offset, howto->name);
 		  return FALSE;
 		}
 
@@ -4025,15 +3708,7 @@ sh_elf_relocate_section (bfd *output_bfd
 	  symname = h->root.root.string;
 	  while (h->root.type == bfd_link_hash_indirect
 		 || h->root.type == bfd_link_hash_warning)
-	    {
-#ifdef INCLUDE_SHMEDIA
-	      /* If the reference passes a symbol marked with
-		 STT_DATALABEL, then any STO_SH5_ISA32 on the final value
-		 doesn't count.  */
-	      seen_stt_datalabel |= h->type == STT_DATALABEL;
-#endif
-	      h = (struct elf_link_hash_entry *) h->root.u.i.link;
-	    }
+	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
 	  if (h->root.type == bfd_link_hash_defined
 	      || h->root.type == bfd_link_hash_defweak)
 	    {
@@ -4118,10 +3793,11 @@ sh_elf_relocate_section (bfd *output_bfd
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+		    (_("%pB(%pA+%#" PRIx64 "): "
+		       "unresolvable %s relocation against symbol `%s'"),
 		     input_bfd,
 		     input_section,
-		     rel->r_offset,
+		     (uint64_t) rel->r_offset,
 		     howto->name,
 		     h->root.root.string);
 		  return FALSE;
@@ -4197,9 +3873,10 @@ sh_elf_relocate_section (bfd *output_bfd
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: %#Lx: fatal: unaligned branch target for relax-support relocation"),
+		    (_("%pB: %#" PRIx64 ": fatal: "
+		       "unaligned branch target for relax-support relocation"),
 		     input_section->owner,
-		     rel->r_offset);
+		     (uint64_t) rel->r_offset);
 		  bfd_set_error (bfd_error_bad_value);
 		  return FALSE;
 		}
@@ -4210,11 +3887,6 @@ sh_elf_relocate_section (bfd *output_bfd
 	  break;
 
 	default:
-#ifdef INCLUDE_SHMEDIA
-	  if (shmedia_prepare_reloc (info, input_bfd, input_section,
-				     contents, rel, &relocation))
-	    goto final_link_relocate;
-#endif
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 
@@ -4231,10 +3903,10 @@ sh_elf_relocate_section (bfd *output_bfd
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: %#Lx: fatal: unaligned %s relocation %#Lx"),
-		 input_section->owner,
-		 rel->r_offset, howto->name,
-		 relocation);
+		(_("%pB: %#" PRIx64 ": fatal: "
+		   "unaligned %s relocation %#" PRIx64),
+		 input_section->owner, (uint64_t) rel->r_offset,
+		 howto->name, (uint64_t) relocation);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -4247,10 +3919,11 @@ sh_elf_relocate_section (bfd *output_bfd
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: %#Lx: fatal: unaligned %s relocation %#Lx"),
+		(_("%pB: %#" PRIx64 ": fatal: "
+		   "unaligned %s relocation %#" PRIx64 ""),
 		 input_section->owner,
-		 rel->r_offset, howto->name,
-		 relocation);
+		 (uint64_t) rel->r_offset, howto->name,
+		 (uint64_t) relocation);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -4262,10 +3935,11 @@ sh_elf_relocate_section (bfd *output_bfd
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32"),
+		(_("%pB: %#" PRIx64 ": fatal: R_SH_PSHA relocation %" PRId64
+		   " not in range -32..32"),
 		 input_section->owner,
-		 rel->r_offset,
-		 relocation);
+		 (uint64_t) rel->r_offset,
+		 (int64_t) relocation);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -4277,10 +3951,11 @@ sh_elf_relocate_section (bfd *output_bfd
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32"),
+		(_("%pB: %#" PRIx64 ": fatal: R_SH_PSHL relocation %" PRId64
+		   " not in range -32..32"),
 		 input_section->owner,
-		 rel->r_offset,
-		 relocation);
+		 (uint64_t) rel->r_offset,
+		 (int64_t) relocation);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -4288,12 +3963,6 @@ sh_elf_relocate_section (bfd *output_bfd
 
 	case R_SH_DIR32:
 	case R_SH_REL32:
-#ifdef INCLUDE_SHMEDIA
-	case R_SH_IMM_LOW16_PCREL:
-	case R_SH_IMM_MEDLOW16_PCREL:
-	case R_SH_IMM_MEDHI16_PCREL:
-	case R_SH_IMM_HI16_PCREL:
-#endif
 	  if (bfd_link_pic (info)
 	      && (h == NULL
 		  || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
@@ -4345,17 +4014,6 @@ sh_elf_relocate_section (bfd *output_bfd
 		       ? bfd_get_32 (input_bfd, contents + rel->r_offset)
 		       : addend);
 		}
-#ifdef INCLUDE_SHMEDIA
-	      else if (r_type == R_SH_IMM_LOW16_PCREL
-		       || r_type == R_SH_IMM_MEDLOW16_PCREL
-		       || r_type == R_SH_IMM_MEDHI16_PCREL
-		       || r_type == R_SH_IMM_HI16_PCREL)
-		{
-		  BFD_ASSERT (h != NULL && h->dynindx != -1);
-		  outrel.r_info = ELF32_R_INFO (h->dynindx, r_type);
-		  outrel.r_addend = addend;
-		}
-#endif
 	      else if (fdpic_p
 		       && (h == NULL
 			   || ((info->symbolic || h->dynindx == -1)
@@ -4423,10 +4081,11 @@ sh_elf_relocate_section (bfd *output_bfd
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section"),
+		      (_("%pB(%pA+%#" PRIx64 "): "
+			 "cannot emit fixup to `%s' in read-only section"),
 		       input_bfd,
 		       input_section,
-		       rel->r_offset,
+		       (uint64_t) rel->r_offset,
 		       symname);
 		    return FALSE;
 		  }
@@ -4450,14 +4109,6 @@ sh_elf_relocate_section (bfd *output_bfd
 	  goto final_link_relocate;
 
 	case R_SH_GOTPLT32:
-#ifdef INCLUDE_SHMEDIA
-	case R_SH_GOTPLT_LOW16:
-	case R_SH_GOTPLT_MEDLOW16:
-	case R_SH_GOTPLT_MEDHI16:
-	case R_SH_GOTPLT_HI16:
-	case R_SH_GOTPLT10BY4:
-	case R_SH_GOTPLT10BY8:
-#endif
 	  /* Relocation is to the entry for this symbol in the
 	     procedure linkage table.  */
 
@@ -4488,14 +4139,6 @@ sh_elf_relocate_section (bfd *output_bfd
 	force_got:
 	case R_SH_GOT32:
 	case R_SH_GOT20:
-#ifdef INCLUDE_SHMEDIA
-	case R_SH_GOT_LOW16:
-	case R_SH_GOT_MEDLOW16:
-	case R_SH_GOT_MEDHI16:
-	case R_SH_GOT_HI16:
-	case R_SH_GOT10BY4:
-	case R_SH_GOT10BY8:
-#endif
 	  /* Relocation is to the entry for this symbol in the global
 	     offset table.  */
 
@@ -4508,15 +4151,6 @@ sh_elf_relocate_section (bfd *output_bfd
 	      bfd_boolean dyn;
 
 	      off = h->got.offset;
-#ifdef INCLUDE_SHMEDIA
-	      if (seen_stt_datalabel)
-		{
-		  struct elf_sh_link_hash_entry *hsh;
-
-		  hsh = (struct elf_sh_link_hash_entry *)h;
-		  off = hsh->datalabel_got.offset;
-		}
-#endif
 	      BFD_ASSERT (off != (bfd_vma) -1);
 
 	      dyn = htab->root.dynamic_sections_created;
@@ -4547,17 +4181,7 @@ sh_elf_relocate_section (bfd *output_bfd
 		    {
 		      bfd_put_32 (output_bfd, relocation,
 				  sgot->contents + off);
-#ifdef INCLUDE_SHMEDIA
-		      if (seen_stt_datalabel)
-			{
-			  struct elf_sh_link_hash_entry *hsh;
-
-			  hsh = (struct elf_sh_link_hash_entry *)h;
-			  hsh->datalabel_got.offset |= 1;
-			}
-		      else
-#endif
-			h->got.offset |= 1;
+		      h->got.offset |= 1;
 
 		      /* If we initialize the GOT entry here with a valid
 			 symbol address, also add a fixup.  */
@@ -4576,27 +4200,10 @@ sh_elf_relocate_section (bfd *output_bfd
 	    }
 	  else
 	    {
-#ifdef INCLUDE_SHMEDIA
-	      if (rel->r_addend)
-		{
-		  BFD_ASSERT (local_got_offsets != NULL
-			      && (local_got_offsets[symtab_hdr->sh_info
-						    + r_symndx]
-				  != (bfd_vma) -1));
-
-		  off = local_got_offsets[symtab_hdr->sh_info
-					  + r_symndx];
-		}
-	      else
-		{
-#endif
 	      BFD_ASSERT (local_got_offsets != NULL
 			  && local_got_offsets[r_symndx] != (bfd_vma) -1);
 
 	      off = local_got_offsets[r_symndx];
-#ifdef INCLUDE_SHMEDIA
-		}
-#endif
 
 	      /* The offset must always be a multiple of 4.  We use
 		 the least significant bit to record whether we have
@@ -4640,12 +4247,7 @@ sh_elf_relocate_section (bfd *output_bfd
 					+ sgot->output_offset
 					+ off);
 
-#ifdef INCLUDE_SHMEDIA
-		  if (rel->r_addend)
-		    local_got_offsets[symtab_hdr->sh_info + r_symndx] |= 1;
-		  else
-#endif
-		    local_got_offsets[r_symndx] |= 1;
+		  local_got_offsets[r_symndx] |= 1;
 		}
 
 	      relocation = sh_elf_got_offset (htab) + off;
@@ -4667,12 +4269,6 @@ sh_elf_relocate_section (bfd *output_bfd
 
 	case R_SH_GOTOFF:
 	case R_SH_GOTOFF20:
-#ifdef INCLUDE_SHMEDIA
-	case R_SH_GOTOFF_LOW16:
-	case R_SH_GOTOFF_MEDLOW16:
-	case R_SH_GOTOFF_MEDHI16:
-	case R_SH_GOTOFF_HI16:
-#endif
 	  /* GOTOFF relocations are relative to _GLOBAL_OFFSET_TABLE_, which
 	     we place at the start of the .got.plt section.  This is the same
 	     as the start of the output .got section, unless there are function
@@ -4700,12 +4296,6 @@ sh_elf_relocate_section (bfd *output_bfd
 	    goto final_link_relocate;
 
 	case R_SH_GOTPC:
-#ifdef INCLUDE_SHMEDIA
-	case R_SH_GOTPC_LOW16:
-	case R_SH_GOTPC_MEDLOW16:
-	case R_SH_GOTPC_MEDHI16:
-	case R_SH_GOTPC_HI16:
-#endif
 	  /* Use global offset table as symbol value.  */
 
 	  BFD_ASSERT (sgotplt != NULL);
@@ -4720,12 +4310,6 @@ sh_elf_relocate_section (bfd *output_bfd
 	  goto final_link_relocate;
 
 	case R_SH_PLT32:
-#ifdef INCLUDE_SHMEDIA
-	case R_SH_PLT_LOW16:
-	case R_SH_PLT_MEDLOW16:
-	case R_SH_PLT_MEDHI16:
-	case R_SH_PLT_HI16:
-#endif
 	  /* Relocation is to the entry for this symbol in the
 	     procedure linkage table.  */
 
@@ -4758,10 +4342,6 @@ sh_elf_relocate_section (bfd *output_bfd
 			+ splt->output_offset
 			+ h->plt.offset);
 
-#ifdef INCLUDE_SHMEDIA
-	  relocation++;
-#endif
-
 	  addend = rel->r_addend;
 
 	  goto final_link_relocate;
@@ -4896,10 +4476,11 @@ sh_elf_relocate_section (bfd *output_bfd
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section"),
+		      (_("%pB(%pA+%#" PRIx64 "): "
+			 "cannot emit fixup to `%s' in read-only section"),
 		       input_bfd,
 		       input_section,
-		       rel->r_offset,
+		       (uint64_t) rel->r_offset,
 		       symname);
 		    return FALSE;
 		  }
@@ -4998,9 +4579,10 @@ sh_elf_relocate_section (bfd *output_bfd
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B(%A+%#Lx): %s relocation against external symbol \"%s\""),
-		 input_bfd, input_section, rel->r_offset, howto->name,
-		 h->root.root.string);
+		(_("%pB(%pA+%#" PRIx64 "): "
+		   "%s relocation against external symbol \"%s\""),
+		 input_bfd, input_section, (uint64_t) rel->r_offset,
+		 howto->name, h->root.root.string);
 	      return FALSE;
 	    }
 	  else
@@ -5707,10 +5289,6 @@ sh_elf_copy_indirect_symbol (struct bfd_
     }
   edir->gotplt_refcount = eind->gotplt_refcount;
   eind->gotplt_refcount = 0;
-#ifdef INCLUDE_SHMEDIA
-  edir->datalabel_got.refcount += eind->datalabel_got.refcount;
-  eind->datalabel_got.refcount = 0;
-#endif
   edir->funcdesc.refcount += eind->funcdesc.refcount;
   eind->funcdesc.refcount = 0;
   edir->abs_funcdesc_refcount += eind->abs_funcdesc_refcount;
@@ -5805,9 +5383,6 @@ sh_elf_check_relocs (bfd *abfd, struct b
     {
       struct elf_link_hash_entry *h;
       unsigned long r_symndx;
-#ifdef INCLUDE_SHMEDIA
-      int seen_stt_datalabel = 0;
-#endif
 
       r_symndx = ELF32_R_SYM (rel->r_info);
       r_type = ELF32_R_TYPE (rel->r_info);
@@ -5819,12 +5394,7 @@ sh_elf_check_relocs (bfd *abfd, struct b
 	  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
 	  while (h->root.type == bfd_link_hash_indirect
 		 || h->root.type == bfd_link_hash_warning)
-	    {
-#ifdef INCLUDE_SHMEDIA
-	      seen_stt_datalabel |= h->type == STT_DATALABEL;
-#endif
-	      h = (struct elf_link_hash_entry *) h->root.u.i.link;
-	    }
+	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
 	}
 
       r_type = sh_elf_optimized_tls_reloc (info, r_type, h == NULL);
@@ -5882,28 +5452,6 @@ sh_elf_check_relocs (bfd *abfd, struct b
 	    case R_SH_GOTOFFFUNCDESC:
 	    case R_SH_GOTOFFFUNCDESC20:
 	    case R_SH_GOTPC:
-#ifdef INCLUDE_SHMEDIA
-	    case R_SH_GOTPLT_LOW16:
-	    case R_SH_GOTPLT_MEDLOW16:
-	    case R_SH_GOTPLT_MEDHI16:
-	    case R_SH_GOTPLT_HI16:
-	    case R_SH_GOTPLT10BY4:
-	    case R_SH_GOTPLT10BY8:
-	    case R_SH_GOT_LOW16:
-	    case R_SH_GOT_MEDLOW16:
-	    case R_SH_GOT_MEDHI16:
-	    case R_SH_GOT_HI16:
-	    case R_SH_GOT10BY4:
-	    case R_SH_GOT10BY8:
-	    case R_SH_GOTOFF_LOW16:
-	    case R_SH_GOTOFF_MEDLOW16:
-	    case R_SH_GOTOFF_MEDHI16:
-	    case R_SH_GOTOFF_HI16:
-	    case R_SH_GOTPC_LOW16:
-	    case R_SH_GOTPC_MEDLOW16:
-	    case R_SH_GOTPC_MEDHI16:
-	    case R_SH_GOTPC_HI16:
-#endif
 	    case R_SH_TLS_GD_32:
 	    case R_SH_TLS_LD_32:
 	    case R_SH_TLS_IE_32:
@@ -5945,14 +5493,6 @@ sh_elf_check_relocs (bfd *abfd, struct b
 	case R_SH_TLS_GD_32:
 	case R_SH_GOT32:
 	case R_SH_GOT20:
-#ifdef INCLUDE_SHMEDIA
-	case R_SH_GOT_LOW16:
-	case R_SH_GOT_MEDLOW16:
-	case R_SH_GOT_MEDHI16:
-	case R_SH_GOT_HI16:
-	case R_SH_GOT10BY4:
-	case R_SH_GOT10BY8:
-#endif
 	case R_SH_GOTFUNCDESC:
 	case R_SH_GOTFUNCDESC20:
 	  switch (r_type)
@@ -5974,17 +5514,7 @@ sh_elf_check_relocs (bfd *abfd, struct b
 
 	  if (h != NULL)
 	    {
-#ifdef INCLUDE_SHMEDIA
-	      if (seen_stt_datalabel)
-		{
-		  struct elf_sh_link_hash_entry *eh
-		    = (struct elf_sh_link_hash_entry *) h;
-
-		  eh->datalabel_got.refcount += 1;
-		}
-	      else
-#endif
-		h->got.refcount += 1;
+	      h->got.refcount += 1;
 	      old_got_type = sh_elf_hash_entry (h)->got_type;
 	    }
 	  else
@@ -6000,33 +5530,16 @@ sh_elf_check_relocs (bfd *abfd, struct b
 
 		  size = symtab_hdr->sh_info;
 		  size *= sizeof (bfd_signed_vma);
-#ifdef INCLUDE_SHMEDIA
-		  /* Reserve space for both the datalabel and
-		     codelabel local GOT offsets.  */
-		  size *= 2;
-#endif
 		  size += symtab_hdr->sh_info;
 		  local_got_refcounts = ((bfd_signed_vma *)
 					 bfd_zalloc (abfd, size));
 		  if (local_got_refcounts == NULL)
 		    return FALSE;
 		  elf_local_got_refcounts (abfd) = local_got_refcounts;
-#ifdef INCLUDE_SHMEDIA
-		  /* Take care of both the datalabel and codelabel local
-		     GOT offsets.  */
-		  sh_elf_local_got_type (abfd)
-		    = (char *) (local_got_refcounts + 2 * symtab_hdr->sh_info);
-#else
 		  sh_elf_local_got_type (abfd)
 		    = (char *) (local_got_refcounts + symtab_hdr->sh_info);
-#endif
 		}
-#ifdef INCLUDE_SHMEDIA
-	      if (rel->r_addend & 1)
-		local_got_refcounts[symtab_hdr->sh_info + r_symndx] += 1;
-	      else
-#endif
-		local_got_refcounts[r_symndx] += 1;
+	      local_got_refcounts[r_symndx] += 1;
 	      old_got_type = sh_elf_local_got_type (abfd) [r_symndx];
 	    }
 
@@ -6043,18 +5556,18 @@ sh_elf_check_relocs (bfd *abfd, struct b
 		      && (old_got_type == GOT_NORMAL || got_type == GOT_NORMAL))
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: `%s' accessed both as normal and FDPIC symbol"),
+		      (_("%pB: `%s' accessed both as normal and FDPIC symbol"),
 		       abfd, h->root.root.string);
 		  else if (old_got_type == GOT_FUNCDESC
 			   || got_type == GOT_FUNCDESC)
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: `%s' accessed both as FDPIC and thread local symbol"),
+		      (_("%pB: `%s' accessed both as FDPIC and thread local symbol"),
 		       abfd, h->root.root.string);
 		  else
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: `%s' accessed both as normal and thread local symbol"),
+		      (_("%pB: `%s' accessed both as normal and thread local symbol"),
 		       abfd, h->root.root.string);
 		  return FALSE;
 		}
@@ -6080,7 +5593,7 @@ sh_elf_check_relocs (bfd *abfd, struct b
 	  if (rel->r_addend)
 	    {
 	      _bfd_error_handler
-		(_("%B: Function descriptor relocation with non-zero addend"),
+		(_("%pB: Function descriptor relocation with non-zero addend"),
 		 abfd);
 	      return FALSE;
 	    }
@@ -6096,10 +5609,6 @@ sh_elf_check_relocs (bfd *abfd, struct b
 		  bfd_size_type size;
 
 		  size = symtab_hdr->sh_info * sizeof (union gotref);
-#ifdef INCLUDE_SHMEDIA
-		  /* Count datalabel local GOT.  */
-		  size *= 2;
-#endif
 		  local_funcdesc = (union gotref *) bfd_zalloc (abfd, size);
 		  if (local_funcdesc == NULL)
 		    return FALSE;
@@ -6129,26 +5638,18 @@ sh_elf_check_relocs (bfd *abfd, struct b
 		  if (old_got_type == GOT_NORMAL)
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: `%s' accessed both as normal and FDPIC symbol"),
+		      (_("%pB: `%s' accessed both as normal and FDPIC symbol"),
 		       abfd, h->root.root.string);
 		  else
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: `%s' accessed both as FDPIC and thread local symbol"),
+		      (_("%pB: `%s' accessed both as FDPIC and thread local symbol"),
 		       abfd, h->root.root.string);
 		}
 	    }
 	  break;
 
 	case R_SH_GOTPLT32:
-#ifdef INCLUDE_SHMEDIA
-	case R_SH_GOTPLT_LOW16:
-	case R_SH_GOTPLT_MEDLOW16:
-	case R_SH_GOTPLT_MEDHI16:
-	case R_SH_GOTPLT_HI16:
-	case R_SH_GOTPLT10BY4:
-	case R_SH_GOTPLT10BY8:
-#endif
 	  /* If this is a local symbol, we resolve it directly without
 	     creating a procedure linkage table entry.  */
 
@@ -6166,12 +5667,6 @@ sh_elf_check_relocs (bfd *abfd, struct b
 	  break;
 
 	case R_SH_PLT32:
-#ifdef INCLUDE_SHMEDIA
-	case R_SH_PLT_LOW16:
-	case R_SH_PLT_MEDLOW16:
-	case R_SH_PLT_MEDHI16:
-	case R_SH_PLT_HI16:
-#endif
 	  /* This symbol requires a procedure linkage table entry.  We
 	     actually build the entry in adjust_dynamic_symbol,
 	     because this might be a case of linking PIC code which is
@@ -6193,12 +5688,6 @@ sh_elf_check_relocs (bfd *abfd, struct b
 
 	case R_SH_DIR32:
 	case R_SH_REL32:
-#ifdef INCLUDE_SHMEDIA
-	case R_SH_IMM_LOW16_PCREL:
-	case R_SH_IMM_MEDLOW16_PCREL:
-	case R_SH_IMM_MEDHI16_PCREL:
-	case R_SH_IMM_HI16_PCREL:
-#endif
 	  if (h != NULL && ! bfd_link_pic (info))
 	    {
 	      h->non_got_ref = 1;
@@ -6294,14 +5783,7 @@ sh_elf_check_relocs (bfd *abfd, struct b
 		}
 
 	      p->count += 1;
-	      if (r_type == R_SH_REL32
-#ifdef INCLUDE_SHMEDIA
-		  || r_type == R_SH_IMM_LOW16_PCREL
-		  || r_type == R_SH_IMM_MEDLOW16_PCREL
-		  || r_type == R_SH_IMM_MEDHI16_PCREL
-		  || r_type == R_SH_IMM_HI16_PCREL
-#endif
-		  )
+	      if (r_type == R_SH_REL32)
 		p->pc_count += 1;
 	    }
 
@@ -6318,7 +5800,7 @@ sh_elf_check_relocs (bfd *abfd, struct b
 	  if (bfd_link_dll (info))
 	    {
 	      _bfd_error_handler
-		(_("%B: TLS local exec code cannot be linked into shared objects"),
+		(_("%pB: TLS local exec code cannot be linked into shared objects"),
 		 abfd);
 	      return FALSE;
 	    }
@@ -6433,7 +5915,7 @@ sh_merge_bfd_arch (bfd *ibfd, struct bfd
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: uses %s instructions while previous modules "
+	(_("%pB: uses %s instructions while previous modules "
 	   "use %s instructions"),
 	 ibfd,
 	 SH_ARCH_SET_HAS_DSP (new_arch) ? "dsp" : "floating point",
@@ -6482,7 +5964,7 @@ sh_elf_merge_private_data (bfd *ibfd, st
 
   if (! sh_merge_bfd_arch (ibfd, info))
     {
-      _bfd_error_handler (_("%B: uses instructions which are incompatible "
+      _bfd_error_handler (_("%pB: uses instructions which are incompatible "
 			    "with instructions used in previous modules"),
 			  ibfd);
       bfd_set_error (bfd_error_bad_value);
@@ -6495,7 +5977,7 @@ sh_elf_merge_private_data (bfd *ibfd, st
 
   if (fdpic_object_p (ibfd) != fdpic_object_p (obfd))
     {
-      _bfd_error_handler (_("%B: attempt to mix FDPIC and non-FDPIC objects"),
+      _bfd_error_handler (_("%pB: attempt to mix FDPIC and non-FDPIC objects"),
 			  ibfd);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -6791,70 +6273,6 @@ sh_elf_finish_dynamic_symbol (bfd *outpu
       bfd_elf32_swap_reloca_out (output_bfd, &rel, loc);
     }
 
-#ifdef INCLUDE_SHMEDIA
-  {
-    struct elf_sh_link_hash_entry *eh;
-
-    eh = (struct elf_sh_link_hash_entry *) h;
-    if (eh->datalabel_got.offset != (bfd_vma) -1)
-      {
-	asection *sgot;
-	asection *srelgot;
-	Elf_Internal_Rela rel;
-	bfd_byte *loc;
-
-	/* This symbol has a datalabel entry in the global offset table.
-	   Set it up.  */
-
-	sgot = htab->root.sgot;
-	srelgot = htab->root.srelgot;
-	BFD_ASSERT (sgot != NULL && srelgot != NULL);
-
-	rel.r_offset = (sgot->output_section->vma
-			+ sgot->output_offset
-			+ (eh->datalabel_got.offset &~ (bfd_vma) 1));
-
-	/* If this is a static link, or it is a -Bsymbolic link and the
-	   symbol is defined locally or was forced to be local because
-	   of a version file, we just want to emit a RELATIVE reloc.
-	   The entry in the global offset table will already have been
-	   initialized in the relocate_section function.  */
-	if (bfd_link_pic (info)
-	    && SYMBOL_REFERENCES_LOCAL (info, h))
-	  {
-	    if (htab->fdpic_p)
-	      {
-		asection *sec = h->root.u.def.section;
-		int dynindx
-		  = elf_section_data (sec->output_section)->dynindx;
-
-		rel.r_info = ELF32_R_INFO (dynindx, R_SH_DIR32);
-		rel.r_addend = (h->root.u.def.value
-				+ h->root.u.def.section->output_offset);
-	      }
-	    else
-	      {
-		rel.r_info = ELF32_R_INFO (0, R_SH_RELATIVE);
-		rel.r_addend = (h->root.u.def.value
-				+ h->root.u.def.section->output_section->vma
-				+ h->root.u.def.section->output_offset);
-	      }
-	  }
-	else
-	  {
-	    bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents
-			+ eh->datalabel_got.offset);
-	    rel.r_info = ELF32_R_INFO (h->dynindx, R_SH_GLOB_DAT);
-	    rel.r_addend = 0;
-	  }
-
-	loc = srelgot->contents;
-	loc += srelgot->reloc_count++ * sizeof (Elf32_External_Rela);
-	bfd_elf32_swap_reloca_out (output_bfd, &rel, loc);
-      }
-  }
-#endif
-
   if (h->needs_copy)
     {
       asection *s;
@@ -6918,9 +6336,6 @@ sh_elf_finish_dynamic_sections (bfd *out
 	{
 	  Elf_Internal_Dyn dyn;
 	  asection *s;
-#ifdef INCLUDE_SHMEDIA
-	  const char *name;
-#endif
 
 	  bfd_elf32_swap_dyn_in (htab->root.dynobj, dyncon, &dyn);
 
@@ -6932,29 +6347,6 @@ sh_elf_finish_dynamic_sections (bfd *out
 		bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
 	      break;
 
-#ifdef INCLUDE_SHMEDIA
-	    case DT_INIT:
-	      name = info->init_function;
-	      goto get_sym;
-
-	    case DT_FINI:
-	      name = info->fini_function;
-	    get_sym:
-	      if (dyn.d_un.d_val != 0)
-		{
-		  struct elf_link_hash_entry *h;
-
-		  h = elf_link_hash_lookup (&htab->root, name,
-					    FALSE, FALSE, TRUE);
-		  if (h != NULL && (h->other & STO_SH5_ISA32))
-		    {
-		      dyn.d_un.d_val |= 1;
-		      bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
-		    }
-		}
-	      break;
-#endif
-
 	    case DT_PLTGOT:
 	      BFD_ASSERT (htab->root.hgot != NULL);
 	      s = htab->root.hgot->root.u.def.section;
@@ -7304,7 +6696,7 @@ sh_elf_encode_eh_address (bfd *abfd,
 
 #define elf_backend_linux_prpsinfo32_ugid16	TRUE
 
-#if !defined INCLUDE_SHMEDIA && !defined SH_TARGET_ALREADY_DEFINED
+#if !defined SH_TARGET_ALREADY_DEFINED
 
 #include "elf32-target.h"
 
@@ -7402,4 +6794,4 @@ sh_elf_encode_eh_address (bfd *abfd,
 
 #include "elf32-target.h"
 
-#endif /* neither INCLUDE_SHMEDIA nor SH_TARGET_ALREADY_DEFINED */
+#endif /* not SH_TARGET_ALREADY_DEFINED */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh-relocs.h ./bfd/elf32-sh-relocs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh-relocs.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-sh-relocs.h	2018-07-10 02:06:11.000000000 +0000
@@ -575,113 +575,6 @@
 	 0x0f,			/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
-#ifdef INCLUDE_SHMEDIA
-  /* Used in SHLLI.L and SHLRI.L.  */
-  HOWTO (R_SH_DIR5U,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 5,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_unsigned, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR5U",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xfc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in SHARI, SHLLI et al.  */
-  HOWTO (R_SH_DIR6U,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 6,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_unsigned, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR6U",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xfc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in BxxI, LDHI.L et al.  */
-  HOWTO (R_SH_DIR6S,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 6,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR6S",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xfc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in ADDI, ANDI et al.  */
-  HOWTO (R_SH_DIR10S,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 10,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR10S",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in LD.UW, ST.W et al.	 */
-  HOWTO (R_SH_DIR10SW,	/* type */
-	 1,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 11,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR10SW",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in LD.L, FLD.S et al.	 */
-  HOWTO (R_SH_DIR10SL,	/* type */
-	 2,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 12,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR10SL",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in FLD.D, FST.P et al.  */
-  HOWTO (R_SH_DIR10SQ,	/* type */
-	 3,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 13,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR10SQ",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-#else
   EMPTY_HOWTO (45),
   EMPTY_HOWTO (46),
   EMPTY_HOWTO (47),
@@ -689,7 +582,6 @@
   EMPTY_HOWTO (49),
   EMPTY_HOWTO (50),
   EMPTY_HOWTO (51),
-#endif
 
   EMPTY_HOWTO (52),
 
@@ -1046,423 +938,6 @@
 	 0xffffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
-#ifdef INCLUDE_SHMEDIA
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_GOT_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT_LOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_GOT_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT_MEDLOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_GOT_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_GOT_HI16,		/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_GOTPLT_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT_LOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_GOTPLT_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT_MEDLOW16", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_GOTPLT_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_GOTPLT_HI16,	/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_PLT_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_PLT_LOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_PLT_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_PLT_MEDLOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_PLT_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_PLT_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_PLT_HI16,		/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_PLT_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_GOTOFF_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTOFF_LOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_GOTOFF_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTOFF_MEDLOW16", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_GOTOFF_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTOFF_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_GOTOFF_HI16,	/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTOFF_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_GOTPC_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPC_LOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_GOTPC_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPC_MEDLOW16", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_GOTPC_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPC_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_GOTPC_HI16,	/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPC_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in LD.L, FLD.S et al.	 */
-  HOWTO (R_SH_GOT10BY4,		/* type */
-	 2,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 12,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT10BY4",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in LD.L, FLD.S et al.	 */
-  HOWTO (R_SH_GOTPLT10BY4,	/* type */
-	 2,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 12,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT10BY4",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in FLD.D, FST.P et al.  */
-  HOWTO (R_SH_GOT10BY8,		/* type */
-	 3,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 13,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT10BY8",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in FLD.D, FST.P et al.  */
-  HOWTO (R_SH_GOTPLT10BY8,	/* type */
-	 3,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 13,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT10BY8",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_SH_COPY64,		/* type */
-	 0,			/* rightshift */
-	 4,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_COPY64",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_SH_GLOB_DAT64,	/* type */
-	 0,			/* rightshift */
-	 4,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GLOB_DAT64",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_SH_JMP_SLOT64,	/* type */
-	 0,			/* rightshift */
-	 4,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_JMP_SLOT64",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_SH_RELATIVE64,	/* type */
-	 0,			/* rightshift */
-	 4,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_RELATIVE64",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-#else
   EMPTY_HOWTO (169),
   EMPTY_HOWTO (170),
   EMPTY_HOWTO (171),
@@ -1491,8 +966,6 @@
   EMPTY_HOWTO (194),
   EMPTY_HOWTO (195),
   EMPTY_HOWTO (196),
-#endif
-
   EMPTY_HOWTO (197),
   EMPTY_HOWTO (198),
   EMPTY_HOWTO (199),
@@ -1619,262 +1092,6 @@
 	 0xffffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
-#ifdef INCLUDE_SHMEDIA
-  EMPTY_HOWTO (209),
-  EMPTY_HOWTO (210),
-  EMPTY_HOWTO (211),
-  EMPTY_HOWTO (212),
-  EMPTY_HOWTO (213),
-  EMPTY_HOWTO (214),
-  EMPTY_HOWTO (215),
-  EMPTY_HOWTO (216),
-  EMPTY_HOWTO (217),
-  EMPTY_HOWTO (218),
-  EMPTY_HOWTO (219),
-  EMPTY_HOWTO (220),
-  EMPTY_HOWTO (221),
-  EMPTY_HOWTO (222),
-  EMPTY_HOWTO (223),
-  EMPTY_HOWTO (224),
-  EMPTY_HOWTO (225),
-  EMPTY_HOWTO (226),
-  EMPTY_HOWTO (227),
-  EMPTY_HOWTO (228),
-  EMPTY_HOWTO (229),
-  EMPTY_HOWTO (230),
-  EMPTY_HOWTO (231),
-  EMPTY_HOWTO (232),
-  EMPTY_HOWTO (233),
-  EMPTY_HOWTO (234),
-  EMPTY_HOWTO (235),
-  EMPTY_HOWTO (236),
-  EMPTY_HOWTO (237),
-  EMPTY_HOWTO (238),
-  EMPTY_HOWTO (239),
-  EMPTY_HOWTO (240),
-  EMPTY_HOWTO (241),
-
-  /* Relocations for SHmedia code.  None of these are partial_inplace or
-     use the field being relocated (except R_SH_PT_16).  */
-
-  /* The assembler will generate this reloc before a block of SHmedia
-     instructions.  A section should be processed as assuming it contains
-     data, unless this reloc is seen.  Note that a block of SHcompact
-     instructions are instead preceded by R_SH_CODE.
-     This is currently not implemented, but should be used for SHmedia
-     linker relaxation.  */
-  HOWTO (R_SH_SHMEDIA_CODE,	/* type */
-	 0,			/* rightshift */
-	 1,			/* size (0 = byte, 1 = short, 2 = long) */
-	 0,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_unsigned, /* complain_on_overflow */
-	 sh_elf_ignore_reloc,	/* special_function */
-	 "R_SH_SHMEDIA_CODE",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0,			/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* The assembler will generate this reloc at a PTA or PTB instruction,
-     and the linker checks the right type of target, or changes a PTA to a
-     PTB, if the original insn was PT.  */
-  HOWTO (R_SH_PT_16,		/* type */
-	 2,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 18,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_PT_16",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in unexpanded MOVI.  */
-  HOWTO (R_SH_IMMS16,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMMS16",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in SHORI.  */
-  HOWTO (R_SH_IMMU16,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_unsigned, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMMU16",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_IMM_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_LOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x - $) & 65536).  */
-  HOWTO (R_SH_IMM_LOW16_PCREL,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_LOW16_PCREL", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_IMM_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_MEDLOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (((x - $) >> 16) & 65536).  */
-  HOWTO (R_SH_IMM_MEDLOW16_PCREL, /* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_MEDLOW16_PCREL", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_IMM_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (((x - $) >> 32) & 65536).  */
-  HOWTO (R_SH_IMM_MEDHI16_PCREL, /* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_MEDHI16_PCREL", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_IMM_HI16,		/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (((x - $) >> 48) & 65536).  */
-  HOWTO (R_SH_IMM_HI16_PCREL,	/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_HI16_PCREL", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* For the .uaquad pseudo.  */
-  HOWTO (R_SH_64,		/* type */
-	 0,			/* rightshift */
-	 4,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_64",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* For the .uaquad pseudo, (x - $).  */
-  HOWTO (R_SH_64_PCREL,		/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_64_PCREL",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-#endif
 #undef SH_PARTIAL32
 #undef SH_SRC_MASK32
 #undef SH_ELF_RELOC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh-symbian.c ./bfd/elf32-sh-symbian.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sh-symbian.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-sh-symbian.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,615 +0,0 @@
-/* Renesas / SuperH specific support for Symbian 32-bit ELF files
-   Copyright (C) 2004-2018 Free Software Foundation, Inc.
-   Contributed by Red Hat
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/* Stop elf32-sh.c from defining any target vectors.  */
-#define SH_TARGET_ALREADY_DEFINED
-#define sh_find_elf_flags	    sh_symbian_find_elf_flags
-#define sh_elf_get_flags_from_mach  sh_symbian_elf_get_flags_from_mach
-#include "elf32-sh.c"
-
-
-//#define SYMBIAN_DEBUG 1
-#define SYMBIAN_DEBUG 0
-
-#define DIRECTIVE_HEADER	"#<SYMEDIT>#\n"
-#define DIRECTIVE_IMPORT	"IMPORT "
-#define DIRECTIVE_EXPORT	"EXPORT "
-#define DIRECTIVE_AS		"AS "
-
-/* Macro to advance 's' until either it reaches 'e' or the
-   character pointed to by 's' is equal to 'c'.  If 'e' is
-   reached and SYMBIAN_DEBUG is enabled then the error message 'm'
-   is displayed.  */
-#define SKIP_UNTIL(s,e,c,m)					\
-  do								\
-    {								\
-      while (s < e && *s != c)					\
-	++ s;							\
-      if (s >= e)						\
-	{							\
-	  if (SYMBIAN_DEBUG)					\
-	    fprintf (stderr, "Corrupt directive: %s\n", m);	\
-	  result = FALSE;					\
-	}							\
-    }								\
-  while (0);							\
-  if (!result)							\
-     break;
-
-/* Like SKIP_UNTIL except there are two terminator characters
-   c1 and c2.  */
-#define SKIP_UNTIL2(s,e,c1,c2,m)				\
-  do								\
-    {								\
-      while (s < e && *s != c1 && *s != c2)			\
-	++ s;							\
-      if (s >= e)						\
-	{							\
-	  if (SYMBIAN_DEBUG)					\
-	    fprintf (stderr, "Corrupt directive: %s\n", m);	\
-	  result = FALSE;					\
-	}							\
-    }								\
-  while (0);							\
-  if (!result)							\
-     break;
-
-/* Macro to advance 's' until either it reaches 'e' or the
-   character pointed to by 's' is not equal to 'c'.  If 'e'
-   is reached and SYMBIAN_DEBUG is enabled then the error message
-   'm' is displayed.  */
-#define SKIP_WHILE(s,e,c,m)					\
-  do								\
-    {								\
-      while (s < e && *s == c)					\
-	++ s;							\
-      if (s >= e)						\
-	{							\
-	  if (SYMBIAN_DEBUG)					\
-	    fprintf (stderr, "Corrupt directive: %s\n", m);	\
-	  result = FALSE;					\
-	}							\
-    }								\
-  while (0);							\
-  if (!result)							\
-     break;
-
-
-typedef struct symbol_rename
-{
-  struct symbol_rename *       next;
-  char *		       current_name;
-  char *		       new_name;
-  struct elf_link_hash_entry * current_hash;
-  unsigned long		       new_symndx;
-}
-symbol_rename;
-
-static symbol_rename * rename_list = NULL;
-
-/* Accumulate a list of symbols to be renamed.  */
-
-static bfd_boolean
-sh_symbian_import_as (struct bfd_link_info *info, bfd * abfd,
-		      char * current_name, char * new_name)
-{
-  struct elf_link_hash_entry * new_hash;
-  symbol_rename * node;
-
-  if (SYMBIAN_DEBUG)
-    fprintf (stderr, "IMPORT '%s' AS '%s'\n", current_name, new_name);
-
-  for (node = rename_list; node; node = node->next)
-    if (strcmp (node->current_name, current_name) == 0)
-      {
-	if (strcmp (node->new_name, new_name) == 0)
-	  /* Already added to rename list.  */
-	  return TRUE;
-
-	bfd_set_error (bfd_error_invalid_operation);
-	/* xgettext:c-format */
-	_bfd_error_handler (_("%B: IMPORT AS directive for %s conceals previous IMPORT AS"),
-			    abfd, current_name);
-	return FALSE;
-      }
-
-  if ((node = bfd_malloc (sizeof * node)) == NULL)
-    {
-      if (SYMBIAN_DEBUG)
-	fprintf (stderr, "IMPORT AS: No mem for new rename node\n");
-      return FALSE;
-    }
-
-  if ((node->current_name = bfd_malloc (strlen (current_name) + 1)) == NULL)
-    {
-      if (SYMBIAN_DEBUG)
-	fprintf (stderr, "IMPORT AS: No mem for current name field in rename node\n");
-      free (node);
-      return FALSE;
-    }
-  else
-    strcpy (node->current_name, current_name);
-
-  if ((node->new_name = bfd_malloc (strlen (new_name) + 1)) == NULL)
-    {
-      if (SYMBIAN_DEBUG)
-	fprintf (stderr, "IMPORT AS: No mem for new name field in rename node\n");
-      free (node->current_name);
-      free (node);
-      return FALSE;
-    }
-  else
-    strcpy (node->new_name, new_name);
-
-  node->next = rename_list;
-  node->current_hash = NULL;
-  node->new_symndx = 0;
-  rename_list = node;
-
-  new_hash = elf_link_hash_lookup (elf_hash_table (info), node->new_name, TRUE, FALSE, TRUE);
-  bfd_elf_link_record_dynamic_symbol (info, new_hash);
-  if (new_hash->root.type == bfd_link_hash_new)
-    new_hash->root.type = bfd_link_hash_undefined;
-
-  return TRUE;
-}
-
-
-static bfd_boolean
-sh_symbian_import (bfd * abfd ATTRIBUTE_UNUSED, char * name)
-{
-  if (SYMBIAN_DEBUG)
-    fprintf (stderr, "IMPORT '%s'\n", name);
-
-  /* XXX: Generate an import somehow ?  */
-
-  return TRUE;
-}
-
-static bfd_boolean
-sh_symbian_export (bfd * abfd ATTRIBUTE_UNUSED, char * name)
-{
-  if (SYMBIAN_DEBUG)
-    fprintf (stderr, "EXPORT '%s'\n", name);
-
-  /* XXX: Generate an export somehow ?  */
-
-  return TRUE;
-}
-
-/* Process any magic embedded commands in the .directive. section.
-   Returns TRUE upon sucecss, but if it fails it sets bfd_error and
-   returns FALSE.  */
-
-static bfd_boolean
-sh_symbian_process_embedded_commands (struct bfd_link_info *info, bfd * abfd,
-				      asection * sec, bfd_byte * contents)
-{
-  char *s;
-  char *e;
-  bfd_boolean result = TRUE;
-  bfd_size_type sz = sec->rawsize ? sec->rawsize : sec->size;
-
-  for (s = (char *) contents, e = s + sz; s < e;)
-    {
-      char * directive = s;
-
-      switch (*s)
-	{
-	  /* I want to use "case DIRECTIVE_HEADER [0]:" here but gcc won't let me :-(  */
-	case '#':
-	  if (strcmp (s, DIRECTIVE_HEADER))
-	    result = FALSE;
-	  else
-	    /* Just ignore the header.
-	       XXX: Strictly speaking we ought to check that the header
-	       is present and that it is the first thing in the file.  */
-	    s += strlen (DIRECTIVE_HEADER) + 1;
-	  break;
-
-	case 'I':
-	  if (! CONST_STRNEQ (s, DIRECTIVE_IMPORT))
-	    result = FALSE;
-	  else
-	    {
-	      char * new_name;
-	      char * new_name_end;
-	      char   name_end_char;
-
-	      /* Skip the IMPORT directive.  */
-	      s += strlen (DIRECTIVE_IMPORT);
-
-	      new_name = s;
-	      /* Find the end of the new name.  */
-	      while (s < e && *s != ' ' && *s != '\n')
-		++ s;
-	      if (s >= e)
-		{
-		  /* We have reached the end of the .directive section
-		     without encountering a string terminator.  This is
-		     allowed for IMPORT directives.  */
-		  new_name_end   = e - 1;
-		  name_end_char  = * new_name_end;
-		  * new_name_end = 0;
-		  result = sh_symbian_import (abfd, new_name);
-		  * new_name_end = name_end_char;
-		  break;
-		}
-
-	      /* Remember where the name ends.  */
-	      new_name_end = s;
-	      /* Skip any whitespace before the 'AS'.  */
-	      SKIP_WHILE (s, e, ' ', "IMPORT: Name just followed by spaces");
-	      /* Terminate the new name.  (Do this after skiping...)  */
-	      name_end_char = * new_name_end;
-	      * new_name_end = 0;
-
-	      /* Check to see if 'AS '... is present.  If so we have an
-		 IMPORT AS directive, otherwise we have an IMPORT directive.  */
-	      if (! CONST_STRNEQ (s, DIRECTIVE_AS))
-		{
-		  /* Skip the new-line at the end of the name.  */
-		  if (SYMBIAN_DEBUG && name_end_char != '\n')
-		    fprintf (stderr, "IMPORT: No newline at end of directive\n");
-		  else
-		    s ++;
-
-		  result = sh_symbian_import (abfd, new_name);
-
-		  /* Skip past the NUL character.  */
-		  if (* s ++ != 0)
-		    {
-		      if (SYMBIAN_DEBUG)
-			fprintf (stderr, "IMPORT: No NUL at end of directive\n");
-		    }
-		}
-	      else
-		{
-		  char * current_name;
-		  char * current_name_end;
-		  char   current_name_end_char;
-
-		  /* Skip the 'AS '.  */
-		  s += strlen (DIRECTIVE_AS);
-		  /* Skip any white space after the 'AS '.  */
-		  SKIP_WHILE (s, e, ' ', "IMPORT AS: Nothing after AS");
-		  current_name = s;
-		  /* Find the end of the current name.  */
-		  SKIP_UNTIL2 (s, e, ' ', '\n', "IMPORT AS: No newline at the end of the current name");
-		  /* Skip (backwards) over spaces at the end of the current name.  */
-		  current_name_end = s;
-		  current_name_end_char = * current_name_end;
-
-		  SKIP_WHILE (s, e, ' ', "IMPORT AS: Current name just followed by spaces");
-		  /* Skip past the newline character.  */
-		  if (* s ++ != '\n')
-		    if (SYMBIAN_DEBUG)
-		      fprintf (stderr, "IMPORT AS: No newline at end of directive\n");
-
-		  /* Terminate the current name after having performed the skips.  */
-		  * current_name_end = 0;
-
-		  result = sh_symbian_import_as (info, abfd, current_name, new_name);
-
-		  /* The next character should be a NUL.  */
-		  if (* s != 0)
-		    {
-		      if (SYMBIAN_DEBUG)
-			fprintf (stderr, "IMPORT AS: Junk at end of directive\n");
-		      result = FALSE;
-		    }
-		  s ++;
-
-		  * current_name_end = current_name_end_char;
-		}
-
-	      /* Restore the characters we overwrote, since
-		 the .directive section will be emitted.  */
-	      * new_name_end = name_end_char;
-	    }
-	  break;
-
-	case 'E':
-	  if (! CONST_STRNEQ (s, DIRECTIVE_EXPORT))
-	    result = FALSE;
-	  else
-	    {
-	      char * name;
-	      char * name_end;
-	      char   name_end_char;
-
-	      /* Skip the directive.  */
-	      s += strlen (DIRECTIVE_EXPORT);
-	      name = s;
-	      /* Find the end of the name to be exported.  */
-	      SKIP_UNTIL (s, e, '\n', "EXPORT: no newline at end of directive");
-	      /* Skip (backwards) over spaces at end of exported name.  */
-	      for (name_end = s; name_end[-1] == ' '; name_end --)
-		;
-	      /* name_end now points at the first character after the
-		 end of the exported name, so we can termiante it  */
-	      name_end_char = * name_end;
-	      * name_end = 0;
-	      /* Skip passed the newline character.  */
-	      s ++;
-
-	      result = sh_symbian_export (abfd, name);
-
-	      /* The next character should be a NUL.  */
-	      if (* s != 0)
-		{
-		  if (SYMBIAN_DEBUG)
-		    fprintf (stderr, "EXPORT: Junk at end of directive\n");
-		  result = FALSE;
-		}
-	      s++;
-
-	      /* Restore the character we deleted.  */
-	      * name_end = name_end_char;
-	    }
-	  break;
-
-	default:
-	  result = FALSE;
-	  break;
-	}
-
-      if (! result)
-	{
-	  if (SYMBIAN_DEBUG)
-	    fprintf (stderr, "offset into .directive section: %ld\n",
-		     (long) (directive - (char *) contents));
-
-	  bfd_set_error (bfd_error_invalid_operation);
-	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: Unrecognised .directive command: %s"),
-			      abfd, directive);
-	  break;
-	}
-    }
-
-  return result;
-}
-
-
-/* Scan a bfd for a .directive section, and if found process it.
-   Returns TRUE upon success, FALSE otherwise.  */
-
-static bfd_boolean
-sh_symbian_process_directives (bfd *abfd, struct bfd_link_info *info)
-{
-  bfd_boolean result = FALSE;
-  bfd_byte *  contents;
-  asection *  sec = bfd_get_section_by_name (abfd, ".directive");
-  bfd_size_type sz;
-
-  if (!sec)
-    return TRUE;
-
-  sz = sec->rawsize ? sec->rawsize : sec->size;
-  contents = bfd_malloc (sz);
-
-  if (!contents)
-    bfd_set_error (bfd_error_no_memory);
-  else
-    {
-      if (bfd_get_section_contents (abfd, sec, contents, 0, sz))
-	result = sh_symbian_process_embedded_commands (info, abfd, sec, contents);
-      free (contents);
-    }
-
-  return result;
-}
-
-/* Intercept the normal sh_relocate_section() function
-   and magle the relocs to allow for symbol renaming.  */
-
-static bfd_boolean
-sh_symbian_relocate_section (bfd *		    output_bfd,
-			     struct bfd_link_info * info,
-			     bfd *		    input_bfd,
-			     asection *		    input_section,
-			     bfd_byte *		    contents,
-			     Elf_Internal_Rela *    relocs,
-			     Elf_Internal_Sym *	    local_syms,
-			     asection **	    local_sections)
-{
-  /* When performing a final link we implement the IMPORT AS directives.  */
-  if (!bfd_link_relocatable (info))
-    {
-      Elf_Internal_Rela *	     rel;
-      Elf_Internal_Rela *	     relend;
-      Elf_Internal_Shdr *	     symtab_hdr;
-      struct elf_link_hash_entry **  sym_hashes;
-      struct elf_link_hash_entry **  sym_hashes_end;
-      struct elf_link_hash_table *   hash_table;
-      symbol_rename *		     ptr;
-      bfd_size_type		     num_global_syms;
-      unsigned long		     num_local_syms;
-
-      BFD_ASSERT (! elf_bad_symtab (input_bfd));
-
-      symtab_hdr       = & elf_tdata (input_bfd)->symtab_hdr;
-      hash_table       = elf_hash_table (info);
-      num_local_syms   = symtab_hdr->sh_info;
-      num_global_syms  = symtab_hdr->sh_size / sizeof (Elf32_External_Sym);
-      num_global_syms -= num_local_syms;
-      sym_hashes       = elf_sym_hashes (input_bfd);
-      sym_hashes_end   = sym_hashes + num_global_syms;
-
-      /* First scan the rename table, caching the hash entry and the new index.  */
-      for (ptr = rename_list; ptr; ptr = ptr->next)
-	{
-	  struct elf_link_hash_entry *   new_hash;
-	  struct elf_link_hash_entry **  h;
-
-	  ptr->current_hash = elf_link_hash_lookup (hash_table, ptr->current_name, FALSE, FALSE, TRUE);
-
-	  if (ptr->current_hash == NULL)
-	    {
-	      if (SYMBIAN_DEBUG)
-		fprintf (stderr, "IMPORT AS: current symbol '%s' does not exist\n", ptr->current_name);
-	      continue;
-	    }
-
-	  new_hash = elf_link_hash_lookup (hash_table, ptr->new_name,
-					   FALSE, FALSE, TRUE);
-	  /* If we could not find the symbol then it is a new, undefined symbol.
-	     Symbian want this behaviour - ie they want to be able to rename the
-	     reference in a reloc from one undefined symbol to another, new and
-	     undefined symbol.  So we create that symbol here.  */
-	  if (new_hash == NULL)
-	    {
-	      struct bfd_link_hash_entry *bh = NULL;
-	      bfd_boolean collect = get_elf_backend_data (input_bfd)->collect;
-	      if (_bfd_generic_link_add_one_symbol (info, input_bfd,
-						    ptr->new_name, BSF_GLOBAL,
-						    bfd_und_section_ptr, 0,
-						    NULL, FALSE, collect,
-						    &bh))
-		{
-		  new_hash = (struct elf_link_hash_entry *) bh;
-		  new_hash->type = STT_FUNC;
-		  new_hash->non_elf = 0;
-
-		  if (SYMBIAN_DEBUG)
-		    fprintf (stderr, "Created new symbol %s\n", ptr->new_name);
-		}
-	    }
-
-	  if (new_hash == NULL)
-	    {
-	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B: Failed to add renamed symbol %s"),
-				  input_bfd, ptr->new_name);
-	      continue;
-	    }
-
-	  /* Convert the new_hash value into a index into the table of symbol hashes.  */
-	  for (h = sym_hashes; h < sym_hashes_end; h ++)
-	    {
-	      if (* h == new_hash)
-		{
-		  ptr->new_symndx = h - sym_hashes + num_local_syms;
-		  if (SYMBIAN_DEBUG)
-		    fprintf (stderr, "Converted new hash to index of %ld\n", ptr->new_symndx);
-		  break;
-		}
-	    }
-	  /* If the new symbol is not in the hash table then it must be
-	     because it is one of the newly created undefined symbols
-	     manufactured above.  So we extend the sym has table here to
-	     include this extra symbol.  */
-	  if (h == sym_hashes_end)
-	    {
-	      struct elf_link_hash_entry **  new_sym_hashes;
-
-	      /* This is not very efficient, but it works.  */
-	      ++ num_global_syms;
-	      new_sym_hashes = bfd_alloc (input_bfd, num_global_syms * sizeof * sym_hashes);
-	      if (new_sym_hashes == NULL)
-		{
-		  if (SYMBIAN_DEBUG)
-		    fprintf (stderr, "Out of memory extending hash table\n");
-		  continue;
-		}
-	      memcpy (new_sym_hashes, sym_hashes, (num_global_syms - 1) * sizeof * sym_hashes);
-	      new_sym_hashes[num_global_syms - 1] = new_hash;
-	      elf_sym_hashes (input_bfd) = sym_hashes = new_sym_hashes;
-	      sym_hashes_end = sym_hashes + num_global_syms;
-	      symtab_hdr->sh_size  = (num_global_syms + num_local_syms) * sizeof (Elf32_External_Sym);
-
-	      ptr->new_symndx = num_global_syms - 1 + num_local_syms;
-
-	      if (SYMBIAN_DEBUG)
-		fprintf (stderr, "Extended symbol hash table to insert new symbol as index %ld\n",
-			 ptr->new_symndx);
-	    }
-	}
-
-      /* Walk the reloc list looking for references to renamed symbols.
-	 When we find one, we alter the index in the reloc to point to the new symbol.  */
-      for (rel = relocs, relend = relocs + input_section->reloc_count;
-	   rel < relend;
-	   rel ++)
-	{
-	  int			       r_type;
-	  unsigned long		       r_symndx;
-	  struct elf_link_hash_entry * h;
-
-	  r_symndx = ELF32_R_SYM (rel->r_info);
-	  r_type = ELF32_R_TYPE (rel->r_info);
-
-	  /* Ignore unused relocs.  */
-	  if ((r_type >= (int) R_SH_GNU_VTINHERIT
-	       && r_type <= (int) R_SH_LABEL)
-	      || r_type == (int) R_SH_NONE
-	      || r_type < 0
-	      || r_type >= R_SH_max)
-	    continue;
-
-	  /* Ignore relocs against local symbols.  */
-	  if (r_symndx < num_local_syms)
-	    continue;
-
-	  BFD_ASSERT (r_symndx < (num_global_syms + num_local_syms));
-	  h = sym_hashes[r_symndx - num_local_syms];
-	  BFD_ASSERT (h != NULL);
-
-	  while (   h->root.type == bfd_link_hash_indirect
-		 || h->root.type == bfd_link_hash_warning)
-	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
-	  /* If the symbol is defined there is no need to rename it.
-	     XXX - is this true ?  */
-	  if (   h->root.type == bfd_link_hash_defined
-	      || h->root.type == bfd_link_hash_defweak
-	      || h->root.type == bfd_link_hash_undefweak)
-	    continue;
-
-	  for (ptr = rename_list; ptr; ptr = ptr->next)
-	    if (h == ptr->current_hash)
-	      {
-		BFD_ASSERT (ptr->new_symndx);
-		if (SYMBIAN_DEBUG)
-		  fprintf (stderr, "convert reloc %lx from using index %ld to using index %ld\n",
-			   (unsigned long) rel->r_info,
-			   (long) ELF32_R_SYM (rel->r_info), ptr->new_symndx);
-		rel->r_info = ELF32_R_INFO (ptr->new_symndx, r_type);
-		break;
-	      }
-	}
-    }
-
-  return sh_elf_relocate_section (output_bfd, info, input_bfd, input_section,
-				  contents, relocs, local_syms, local_sections);
-}
-
-#define TARGET_LITTLE_SYM	sh_elf32_symbian_le_vec
-#define TARGET_LITTLE_NAME      "elf32-shl-symbian"
-
-#undef  elf_backend_relocate_section
-#define elf_backend_relocate_section	sh_symbian_relocate_section
-#undef  elf_backend_check_directives
-#define elf_backend_check_directives    sh_symbian_process_directives
-
-#include "elf32-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sparc.c ./bfd/elf32-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-sparc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-sparc.c	2018-07-10 02:06:11.000000000 +0000
@@ -86,7 +86,7 @@ elf32_sparc_merge_private_bfd_data (bfd 
     {
       error = TRUE;
       _bfd_error_handler
-	(_("%B: compiled for a 64 bit system and target is 32 bit"), ibfd);
+	(_("%pB: compiled for a 64 bit system and target is 32 bit"), ibfd);
     }
   else if ((ibfd->flags & DYNAMIC) == 0)
     {
@@ -99,7 +99,7 @@ elf32_sparc_merge_private_bfd_data (bfd 
       && previous_ibfd_e_flags != (unsigned long) -1)
     {
       _bfd_error_handler
-	(_("%B: linking little endian files with big endian files"), ibfd);
+	(_("%pB: linking little endian files with big endian files"), ibfd);
       error = TRUE;
     }
   previous_ibfd_e_flags = elf_elfheader (ibfd)->e_flags & EF_SPARC_LEDATA;
@@ -175,25 +175,6 @@ elf32_sparc_reloc_type_class (const stru
     }
 }
 
-/* Hook called by the linker routine which adds symbols from an object
-   file.  */
-
-static bfd_boolean
-elf32_sparc_add_symbol_hook (bfd * abfd,
-			     struct bfd_link_info * info,
-			     Elf_Internal_Sym * sym,
-			     const char ** namep ATTRIBUTE_UNUSED,
-			     flagword * flagsp ATTRIBUTE_UNUSED,
-			     asection ** secp ATTRIBUTE_UNUSED,
-			     bfd_vma * valp ATTRIBUTE_UNUSED)
-{
-  if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-      && (abfd->flags & DYNAMIC) == 0
-      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
-    elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc;
-  return TRUE;
-}
-
 #define TARGET_BIG_SYM	sparc_elf32_vec
 #define TARGET_BIG_NAME	"elf32-sparc"
 #define ELF_ARCH	bfd_arch_sparc
@@ -249,8 +230,6 @@ elf32_sparc_add_symbol_hook (bfd * abfd,
 #define elf_backend_want_dynrelro 1
 #define elf_backend_rela_normal 1
 
-#define elf_backend_add_symbol_hook		elf32_sparc_add_symbol_hook
-
 #define elf_backend_linux_prpsinfo32_ugid16	TRUE
 
 #include "elf32-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-spu.c ./bfd/elf32-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-spu.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-spu.c	2018-07-10 02:06:11.000000000 +0000
@@ -145,8 +145,8 @@ spu_elf_bfd_to_reloc_type (bfd_reloc_cod
     }
 }
 
-static void
-spu_elf_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+spu_elf_info_to_howto (bfd *abfd,
 		       arelent *cache_ptr,
 		       Elf_Internal_Rela *dst)
 {
@@ -157,12 +157,13 @@ spu_elf_info_to_howto (bfd *abfd ATTRIBU
   if (r_type >= R_SPU_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised SPU reloc number: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
-      r_type = R_SPU_NONE;
+      return FALSE;
     }
   cache_ptr->howto = &elf_howto_table[(int) r_type];
+  return TRUE;
 }
 
 static reloc_howto_type *
@@ -723,16 +724,16 @@ spu_elf_find_overlays (struct bfd_link_i
 
 	      if ((s->vma - vma_start) & (htab->params->line_size - 1))
 		{
-		  info->callbacks->einfo (_("%X%P: overlay section %A "
-					    "does not start on a cache line.\n"),
+		  info->callbacks->einfo (_("%X%P: overlay section %pA "
+					    "does not start on a cache line\n"),
 					  s);
 		  bfd_set_error (bfd_error_bad_value);
 		  return 0;
 		}
 	      else if (s->size > htab->params->line_size)
 		{
-		  info->callbacks->einfo (_("%X%P: overlay section %A "
-					    "is larger than a cache line.\n"),
+		  info->callbacks->einfo (_("%X%P: overlay section %pA "
+					    "is larger than a cache line\n"),
 					  s);
 		  bfd_set_error (bfd_error_bad_value);
 		  return 0;
@@ -751,8 +752,8 @@ spu_elf_find_overlays (struct bfd_link_i
 	  s = alloc_sec[i];
 	  if (s->vma < ovl_end)
 	    {
-	      info->callbacks->einfo (_("%X%P: overlay section %A "
-					"is not in cache area.\n"),
+	      info->callbacks->einfo (_("%X%P: overlay section %pA "
+					"is not in cache area\n"),
 				      alloc_sec[i-1]);
 	      bfd_set_error (bfd_error_bad_value);
 	      return 0;
@@ -792,9 +793,9 @@ spu_elf_find_overlays (struct bfd_link_i
 		  if (s0->vma != s->vma)
 		    {
 		      /* xgettext:c-format */
-		      info->callbacks->einfo (_("%X%P: overlay sections %A "
-						"and %A do not start at the "
-						"same address.\n"),
+		      info->callbacks->einfo (_("%X%P: overlay sections %pA "
+						"and %pA do not start at the "
+						"same address\n"),
 					      s0, s);
 		      bfd_set_error (bfd_error_bad_value);
 		      return 0;
@@ -1018,7 +1019,7 @@ needs_ovl_stub (struct elf_link_hash_ent
 		}
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("warning: call to non-function symbol %s defined in %B"),
+		(_("warning: call to non-function symbol %s defined in %pB"),
 		 sym_name, sym_sec->owner);
 
 	    }
@@ -1368,7 +1369,7 @@ build_stub (struct bfd_link_info *info,
 	  if (stub_type != br000_ovl_stub
 	      && lrlive != stub_type - br000_ovl_stub)
 	    /* xgettext:c-format */
-	    info->callbacks->einfo (_("%A:0x%v lrlive .brinfo (%u) differs "
+	    info->callbacks->einfo (_("%pA:0x%v lrlive .brinfo (%u) differs "
 				      "from analysis (%u)\n"),
 				    isec, irela->r_offset, lrlive,
 				    stub_type - br000_ovl_stub);
@@ -1900,7 +1901,7 @@ define_ovtab_symbol (struct spu_link_has
   else if (h->root.u.def.section->owner != NULL)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B is not allowed to define %s"),
+      _bfd_error_handler (_("%pB is not allowed to define %s"),
 			  h->root.u.def.section->owner,
 			  h->root.root.string);
       bfd_set_error (bfd_error_bad_value);
@@ -2611,7 +2612,7 @@ find_function (asection *sec, bfd_vma of
 	return &sinfo->fun[mid];
     }
   /* xgettext:c-format */
-  info->callbacks->einfo (_("%A:0x%v not found in function table\n"),
+  info->callbacks->einfo (_("%pA:0x%v not found in function table\n"),
 			  sec, offset);
   bfd_set_error (bfd_error_bad_value);
   return NULL;
@@ -2752,8 +2753,8 @@ mark_functions_via_relocs (asection *sec
 		  if (!warned)
 		    info->callbacks->einfo
 		      /* xgettext:c-format */
-		      (_("%B(%A+0x%v): call to non-code section"
-			 " %B(%A), analysis incomplete\n"),
+		      (_("%pB(%pA+0x%v): call to non-code section"
+			 " %pB(%pA), analysis incomplete\n"),
 		       sec->owner, sec, irela->r_offset,
 		       sym_sec->owner, sym_sec);
 		  warned = TRUE;
@@ -3321,7 +3322,7 @@ remove_cycles (struct function_info *fun
 	      const char *f2 = func_name (call->fun);
 
 	      /* xgettext:c-format */
-	      info->callbacks->info (_("Stack analysis will ignore the call "
+	      info->callbacks->info (_("stack analysis will ignore the call "
 				       "from %s to %s\n"),
 				     f1, f2);
 	    }
@@ -4541,7 +4542,7 @@ spu_elf_auto_overlay (struct bfd_link_in
       if (i == base)
 	{
 	  /* xgettext:c-format */
-	  info->callbacks->einfo (_("%B:%A%s exceeds overlay size\n"),
+	  info->callbacks->einfo (_("%pB:%pA%s exceeds overlay size\n"),
 				  ovly_sections[2 * i]->owner,
 				  ovly_sections[2 * i],
 				  ovly_sections[2 * i + 1] ? " + rodata" : "");
@@ -5040,10 +5041,11 @@ spu_elf_relocate_section (bfd *output_bf
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	    (_("%pB(%s+%#" PRIx64 "): "
+	       "unresolvable %s relocation against symbol `%s'"),
 	     input_bfd,
 	     bfd_get_section_name (input_bfd, input_section),
-	     rel->r_offset,
+	     (uint64_t) rel->r_offset,
 	     howto->name,
 	     sym_name);
 	  ret = FALSE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-tic6x.c ./bfd/elf32-tic6x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-tic6x.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-tic6x.c	2018-07-10 02:06:11.000000000 +0000
@@ -1495,7 +1495,7 @@ elf32_tic6x_reloc_name_lookup (bfd *abfd
   return NULL;
 }
 
-static void
+static bfd_boolean
 elf32_tic6x_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *bfd_reloc,
 			   Elf_Internal_Rela *elf_reloc)
 {
@@ -1503,12 +1503,28 @@ elf32_tic6x_info_to_howto (bfd *abfd ATT
 
   r_type = ELF32_R_TYPE (elf_reloc->r_info);
   if (r_type >= ARRAY_SIZE (elf32_tic6x_howto_table))
-    bfd_reloc->howto = NULL;
-  else
-    bfd_reloc->howto = &elf32_tic6x_howto_table[r_type];
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
+  bfd_reloc->howto = &elf32_tic6x_howto_table[r_type];
+  if (bfd_reloc->howto == NULL || bfd_reloc->howto->name == NULL)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
+  return TRUE;
 }
 
-static void
+static bfd_boolean
 elf32_tic6x_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED, arelent *bfd_reloc,
 			       Elf_Internal_Rela *elf_reloc)
 {
@@ -1516,9 +1532,25 @@ elf32_tic6x_info_to_howto_rel (bfd *abfd
 
   r_type = ELF32_R_TYPE (elf_reloc->r_info);
   if (r_type >= ARRAY_SIZE (elf32_tic6x_howto_table_rel))
-    bfd_reloc->howto = NULL;
-  else
-    bfd_reloc->howto = &elf32_tic6x_howto_table_rel[r_type];
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
+  bfd_reloc->howto = &elf32_tic6x_howto_table_rel[r_type];
+  if (bfd_reloc->howto == NULL || bfd_reloc->howto->name == NULL)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
+  return TRUE;
 }
 
 void
@@ -2213,6 +2245,7 @@ elf32_tic6x_relocate_section (bfd *outpu
       bfd_reloc_status_type r;
       struct bfd_link_hash_entry *sbh;
       bfd_boolean is_rel;
+      bfd_boolean res;
 
       r_type = ELF32_R_TYPE (rel->r_info);
       r_symndx = ELF32_R_SYM (rel->r_info);
@@ -2221,11 +2254,11 @@ elf32_tic6x_relocate_section (bfd *outpu
 					     relocs, rel);
 
       if (is_rel)
-	elf32_tic6x_info_to_howto_rel (input_bfd, &bfd_reloc, rel);
+	res = elf32_tic6x_info_to_howto_rel (input_bfd, &bfd_reloc, rel);
       else
-	elf32_tic6x_info_to_howto (input_bfd, &bfd_reloc, rel);
-      howto = bfd_reloc.howto;
-      if (howto == NULL)
+	res = elf32_tic6x_info_to_howto (input_bfd, &bfd_reloc, rel);
+
+      if (!res || (howto = bfd_reloc.howto) == NULL)
 	{
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -2457,7 +2490,7 @@ elf32_tic6x_relocate_section (bfd *outpu
 	    }
 	  else
 	    {
-	      _bfd_error_handler (_("%B: SB-relative relocation but "
+	      _bfd_error_handler (_("%pB: SB-relative relocation but "
 				    "__c6xabi_DSBT_BASE not defined"),
 				  input_bfd);
 	      ok = FALSE;
@@ -2567,21 +2600,21 @@ elf32_tic6x_relocate_section (bfd *outpu
 	      if (h == NULL)
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B, section %A: relocation %s with non-zero addend %Ld"
-		     " against local symbol"),
+		  (_("%pB, section %pA: relocation %s with non-zero addend %"
+		     PRId64 " against local symbol"),
 		   input_bfd,
 		   input_section,
 		   elf32_tic6x_howto_table[r_type].name,
-		   rel->r_addend);
+		   (int64_t) rel->r_addend);
 	      else
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B, section %A: relocation %s with non-zero addend %Ld"
-		     " against symbol `%s'"),
+		  (_("%pB, section %pA: relocation %s with non-zero addend %"
+		     PRId64 " against symbol `%s'"),
 		   input_bfd,
 		   input_section,
 		   elf32_tic6x_howto_table[r_type].name,
-		   rel->r_addend,
+		   (int64_t) rel->r_addend,
 		   h->root.root.string[0] != '\0' ? h->root.root.string
 		   : _("[whose name is lost]"));
 
@@ -2606,8 +2639,9 @@ elf32_tic6x_relocate_section (bfd *outpu
 	default:
 	  /* Unknown relocation.  */
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: invalid relocation type %d"),
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			      input_bfd, r_type);
+	  bfd_set_error (bfd_error_bad_value);
 	  ok = FALSE;
 	  continue;
 	}
@@ -2746,7 +2780,7 @@ elf32_tic6x_check_relocs (bfd *abfd, str
       if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: bad symbol index: %d"),
+	  _bfd_error_handler (_("%pB: bad symbol index: %d"),
 			      abfd, r_symndx);
 	  return FALSE;
 	}
@@ -2938,6 +2972,19 @@ elf32_tic6x_check_relocs (bfd *abfd, str
 	case R_C6000_SBR_H16_B:
 	case R_C6000_SBR_H16_H:
 	case R_C6000_SBR_H16_W:
+	  {
+	    /* These relocations implicitly reference __c6xabi_DSBT_BASE.
+	       Add an explicit reference so that the symbol will be
+	       provided by a linker script.  */
+	    struct bfd_link_hash_entry *bh = NULL;
+	    if (!_bfd_generic_link_add_one_symbol (info, abfd,
+						   "__c6xabi_DSBT_BASE",
+						   BSF_GLOBAL,
+						   bfd_und_section_ptr, 0,
+						   NULL, FALSE, FALSE, &bh))
+	      return FALSE;
+	    ((struct elf_link_hash_entry *) bh)->non_elf = 0;
+	  }
 	  if (h != NULL && bfd_link_executable (info))
 	    {
 	      /* For B14-relative addresses, we might need a copy
@@ -3202,7 +3249,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -3579,7 +3626,7 @@ elf32_tic6x_obj_attrs_handle_unknown (bf
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: error: unknown mandatory EABI object attribute %d"),
+	(_("%pB: error: unknown mandatory EABI object attribute %d"),
 	 abfd, tag);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -3588,7 +3635,7 @@ elf32_tic6x_obj_attrs_handle_unknown (bf
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: warning: unknown EABI object attribute %d"),
+	(_("%pB: warning: unknown EABI object attribute %d"),
 	 abfd, tag);
       return TRUE;
     }
@@ -3702,7 +3749,7 @@ elf32_tic6x_merge_attributes (bfd *ibfd,
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("error: %B requires more stack alignment than %B preserves"),
+	(_("error: %pB requires more stack alignment than %pB preserves"),
 	 ibfd, obfd);
       result = FALSE;
     }
@@ -3711,7 +3758,7 @@ elf32_tic6x_merge_attributes (bfd *ibfd,
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("error: %B requires more stack alignment than %B preserves"),
+	(_("error: %pB requires more stack alignment than %pB preserves"),
 	 obfd, ibfd);
       result = FALSE;
     }
@@ -3721,7 +3768,7 @@ elf32_tic6x_merge_attributes (bfd *ibfd,
   if (array_align_in == -1)
     {
       _bfd_error_handler
-	(_("error: unknown Tag_ABI_array_object_alignment value in %B"),
+	(_("error: unknown Tag_ABI_array_object_alignment value in %pB"),
 	 ibfd);
       result = FALSE;
     }
@@ -3730,7 +3777,7 @@ elf32_tic6x_merge_attributes (bfd *ibfd,
   if (array_align_out == -1)
     {
       _bfd_error_handler
-	(_("error: unknown Tag_ABI_array_object_alignment value in %B"),
+	(_("error: unknown Tag_ABI_array_object_alignment value in %pB"),
 	 obfd);
       result = FALSE;
     }
@@ -3739,7 +3786,7 @@ elf32_tic6x_merge_attributes (bfd *ibfd,
   if (array_expect_in == -1)
     {
       _bfd_error_handler
-	(_("error: unknown Tag_ABI_array_object_align_expected value in %B"),
+	(_("error: unknown Tag_ABI_array_object_align_expected value in %pB"),
 	 ibfd);
       result = FALSE;
     }
@@ -3748,7 +3795,7 @@ elf32_tic6x_merge_attributes (bfd *ibfd,
   if (array_expect_out == -1)
     {
       _bfd_error_handler
-	(_("error: unknown Tag_ABI_array_object_align_expected value in %B"),
+	(_("error: unknown Tag_ABI_array_object_align_expected value in %pB"),
 	 obfd);
       result = FALSE;
     }
@@ -3757,7 +3804,7 @@ elf32_tic6x_merge_attributes (bfd *ibfd,
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("error: %B requires more array alignment than %B preserves"),
+	(_("error: %pB requires more array alignment than %pB preserves"),
 	 ibfd, obfd);
       result = FALSE;
     }
@@ -3765,7 +3812,7 @@ elf32_tic6x_merge_attributes (bfd *ibfd,
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("error: %B requires more array alignment than %B preserves"),
+	(_("error: %pB requires more array alignment than %pB preserves"),
 	 obfd, ibfd);
       result = FALSE;
     }
@@ -3788,7 +3835,7 @@ elf32_tic6x_merge_attributes (bfd *ibfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("warning: %B and %B differ in wchar_t size"), obfd, ibfd);
+		(_("warning: %pB and %pB differ in wchar_t size"), obfd, ibfd);
 	    }
 	  break;
 
@@ -3807,7 +3854,7 @@ elf32_tic6x_merge_attributes (bfd *ibfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("warning: %B and %B differ in whether code is "
+		(_("warning: %pB and %pB differ in whether code is "
 		   "compiled for DSBT"),
 		 obfd, ibfd);
 	    }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-tilepro.c ./bfd/elf32-tilepro.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-tilepro.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-tilepro.c	2018-07-10 02:06:11.000000000 +0000
@@ -783,7 +783,7 @@ tilepro_reloc_name_lookup (bfd *abfd ATT
 
 /* Set the howto pointer for an TILEPro ELF reloc.  */
 
-static void
+static bfd_boolean
 tilepro_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED,
 			    arelent * cache_ptr,
 			    Elf_Internal_Rela * dst)
@@ -793,11 +793,19 @@ tilepro_info_to_howto_rela (bfd * abfd A
   if (r_type <= (unsigned int) R_TILEPRO_IMM16_X1_TLS_LE_HA)
     cache_ptr->howto = &tilepro_elf_howto_table [r_type];
   else if (r_type - R_TILEPRO_GNU_VTINHERIT
-	   <= (unsigned int) R_TILEPRO_GNU_VTENTRY)
+	   <= ((unsigned int) R_TILEPRO_GNU_VTENTRY
+	       - (unsigned int) R_TILEPRO_GNU_VTINHERIT))
     cache_ptr->howto
       = &tilepro_elf_howto_table2 [r_type - R_TILEPRO_GNU_VTINHERIT];
   else
-    abort ();
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  return TRUE;
 }
 
 typedef tilepro_bundle_bits (*tilepro_create_func)(int);
@@ -1468,7 +1476,7 @@ tilepro_elf_check_relocs (bfd *abfd, str
       if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: bad symbol index: %d"),
+	  _bfd_error_handler (_("%pB: bad symbol index: %d"),
 			      abfd, r_symndx);
 	  return FALSE;
 	}
@@ -1581,7 +1589,7 @@ tilepro_elf_check_relocs (bfd *abfd, str
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: `%s' accessed both as normal and thread local symbol"),
+		      (_("%pB: `%s' accessed both as normal and thread local symbol"),
 		       abfd, h ? h->root.root.string : "<local>");
 		    return FALSE;
 		  }
@@ -2234,7 +2242,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -2257,7 +2265,7 @@ tilepro_elf_omit_section_dynsym (bfd *ou
   if (strcmp (p->name, ".got") == 0)
     return FALSE;
 
-  return _bfd_elf_link_omit_section_dynsym (output_bfd, info, p);
+  return _bfd_elf_omit_section_dynsym_default (output_bfd, info, p);
 }
 
 /* Set the sizes of the dynamic sections.  */
@@ -2328,7 +2336,7 @@ tilepro_elf_size_dynamic_sections (bfd *
 		    {
 		      info->flags |= DF_TEXTREL;
 
-		      info->callbacks->minfo (_("%B: dynamic relocation in read-only section `%A'\n"),
+		      info->callbacks->minfo (_("%pB: dynamic relocation in read-only section `%pA'\n"),
 					      p->sec->owner, p->sec);
 		    }
 		}
@@ -3144,7 +3152,7 @@ tilepro_elf_relocate_section (bfd *outpu
 			    {
 			      BFD_FAIL ();
 			      _bfd_error_handler
-				(_("%B: probably compiled without -fPIC?"),
+				(_("%pB: probably compiled without -fPIC?"),
 				 input_bfd);
 			      bfd_set_error (bfd_error_bad_value);
 			      return FALSE;
@@ -3398,10 +3406,11 @@ tilepro_elf_relocate_section (bfd *outpu
 				      rel->r_offset) != (bfd_vma) -1)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	  (_("%pB(%pA+%#" PRIx64 "): "
+	     "unresolvable %s relocation against symbol `%s'"),
 	   input_bfd,
 	   input_section,
-	   rel->r_offset,
+	   (uint64_t) rel->r_offset,
 	   howto->name,
 	   h->root.root.string);
 
@@ -3749,7 +3758,7 @@ tilepro_elf_finish_dynamic_sections (bfd
       if (bfd_is_abs_section (htab->elf.sgotplt->output_section))
 	{
 	  _bfd_error_handler
-	    (_("discarded output section: `%A'"), htab->elf.sgotplt);
+	    (_("discarded output section: `%pA'"), htab->elf.sgotplt);
 	  return FALSE;
 	}
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-v850.c ./bfd/elf32-v850.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-v850.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-v850.c	2018-07-10 02:06:11.000000000 +0000
@@ -61,7 +61,7 @@ v850_elf_check_relocs (bfd *abfd,
     return TRUE;
 
 #ifdef DEBUG
-  _bfd_error_handler ("v850_elf_check_relocs called for section %A in %B",
+  _bfd_error_handler ("v850_elf_check_relocs called for section %pA in %pB",
 		      sec, abfd);
 #endif
 
@@ -150,19 +150,19 @@ v850_elf_check_relocs (bfd *abfd,
 		  switch (h->other & V850_OTHER_MASK)
 		    {
 		    default:
-		      msg = _("Variable `%s' cannot occupy in multiple small data regions");
+		      msg = _("variable `%s' cannot occupy in multiple small data regions");
 		      break;
 		    case V850_OTHER_SDA | V850_OTHER_ZDA | V850_OTHER_TDA:
-		      msg = _("Variable `%s' can only be in one of the small, zero, and tiny data regions");
+		      msg = _("variable `%s' can only be in one of the small, zero, and tiny data regions");
 		      break;
 		    case V850_OTHER_SDA | V850_OTHER_ZDA:
-		      msg = _("Variable `%s' cannot be in both small and zero data regions simultaneously");
+		      msg = _("variable `%s' cannot be in both small and zero data regions simultaneously");
 		      break;
 		    case V850_OTHER_SDA | V850_OTHER_TDA:
-		      msg = _("Variable `%s' cannot be in both small and tiny data regions simultaneously");
+		      msg = _("variable `%s' cannot be in both small and tiny data regions simultaneously");
 		      break;
 		    case V850_OTHER_ZDA | V850_OTHER_TDA:
-		      msg = _("Variable `%s' cannot be in both zero and tiny data regions simultaneously");
+		      msg = _("variable `%s' cannot be in both zero and tiny data regions simultaneously");
 		      break;
 		    }
 
@@ -460,7 +460,7 @@ v850_elf_perform_lo16_relocation (bfd *a
 	}
       else
 	{
-	  _bfd_error_handler (_("FAILED to find previous HI16 reloc"));
+	  _bfd_error_handler (_("failed to find previous HI16 reloc"));
 	  return FALSE;
 	}
     }
@@ -490,7 +490,8 @@ v850_elf_perform_relocation (bfd *abfd,
     {
     default:
 #ifdef DEBUG
-      fprintf (stderr, "%B: reloc number %d not recognised\n", abfd, r_type);
+      _bfd_error_handler ("%pB: unsupported relocation type %#x",
+			  abfd, r_type);
 #endif
       return bfd_reloc_notsupported;
 
@@ -1884,8 +1885,8 @@ v850_elf_reloc_name_lookup (bfd *abfd AT
 
 /* Set the howto pointer for an V850 ELF reloc.  */
 
-static void
-v850_elf_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+v850_elf_info_to_howto_rel (bfd *abfd,
 			    arelent *cache_ptr,
 			    Elf_Internal_Rela *dst)
 {
@@ -1895,16 +1896,19 @@ v850_elf_info_to_howto_rel (bfd *abfd AT
   if (r_type >= (unsigned int) R_V850_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid V850 reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &v850_elf_howto_table[r_type];
+  return TRUE;
 }
 
 /* Set the howto pointer for a V850 ELF reloc (type RELA).  */
 
-static void
-v850_elf_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+v850_elf_info_to_howto_rela (bfd *abfd,
 			     arelent * cache_ptr,
 			     Elf_Internal_Rela *dst)
 {
@@ -1914,10 +1918,13 @@ v850_elf_info_to_howto_rela (bfd *abfd A
   if (r_type >= (unsigned int) R_V850_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid V850 reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &v850_elf_howto_table[r_type];
+  return TRUE;
 }
 
 static bfd_boolean
@@ -2145,7 +2152,8 @@ v850_elf_final_link_relocate (reloc_howt
 
     default:
 #ifdef DEBUG
-      fprintf (stderr, "%B: reloc number %d not recognised\n", input_bfd, r_type);
+      _bfd_error_handler ("%pB: unsupported relocation type %#x",
+	       input_bfd, r_type);
 #endif
       return bfd_reloc_notsupported;
     }
@@ -2521,7 +2529,7 @@ v850_elf_merge_notes (bfd * ibfd, bfd *o
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("error: %B needs 8-byte alignment but %B is set for 4-byte alignment"),
+		    (_("error: %pB needs 8-byte alignment but %pB is set for 4-byte alignment"),
 				      ibfd, obfd);
 		  result = FALSE;
 		}
@@ -2537,8 +2545,8 @@ v850_elf_merge_notes (bfd * ibfd, bfd *o
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("error: %B uses 64-bit doubles but "
-		       "%B uses 32-bit doubles"), ibfd, obfd);
+		    (_("error: %pB uses 64-bit doubles but "
+		       "%pB uses 32-bit doubles"), ibfd, obfd);
 		  result = FALSE;
 		}
 	      else
@@ -2552,7 +2560,7 @@ v850_elf_merge_notes (bfd * ibfd, bfd *o
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("error: %B uses FPU-3.0 but %B only supports FPU-2.0"),
+		    (_("error: %pB uses FPU-3.0 but %pB only supports FPU-2.0"),
 		     ibfd, obfd);
 		  result = FALSE;
 		}
@@ -2809,7 +2817,7 @@ v850_elf_merge_private_bfd_data (bfd *ib
       if ((in_flags & EF_V800_850E3) != (out_flags & EF_V800_850E3))
 	{
 	  _bfd_error_handler
-	    (_("%B: Architecture mismatch with previous modules"), ibfd);
+	    (_("%pB: architecture mismatch with previous modules"), ibfd);
 	  elf_elfheader (obfd)->e_flags |= EF_V800_850E3;
 	}
 
@@ -2865,7 +2873,7 @@ v850_elf_merge_private_bfd_data (bfd *ib
 	}
 
       _bfd_error_handler
-	(_("%B: Architecture mismatch with previous modules"), ibfd);
+	(_("%pB: architecture mismatch with previous modules"), ibfd);
     }
 
   return result;
@@ -3598,9 +3606,9 @@ v850_elf_relax_section (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: %#Lx: warning: R_V850_LONGCALL points to "
+		    (_("%pB: %#" PRIx64 ": warning: %s points to "
 		       "unrecognized insns"),
-		     abfd, irel->r_offset);
+		     abfd, (uint64_t) irel->r_offset, "R_V850_LONGCALL");
 		  continue;
 		}
 
@@ -3608,10 +3616,11 @@ v850_elf_relax_section (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: %#Lx: warning: R_V850_LONGCALL points to "
+		    (_("%pB: %#" PRIx64 ": warning: %s points to "
 		       "unrecognized insn %#x"),
 		     abfd,
-		     irel->r_offset + no_match,
+		     (uint64_t) (irel->r_offset + no_match),
+		     "R_V850_LONGCALL",
 		     insn[no_match]);
 		  continue;
 		}
@@ -3653,9 +3662,9 @@ v850_elf_relax_section (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: %#Lx: warning: R_V850_LONGCALL points to "
+		    (_("%pB: %#" PRIx64 ": warning: %s points to "
 		       "unrecognized reloc"),
-		     abfd, irel->r_offset);
+		     abfd, (uint64_t) irel->r_offset, "R_V850_LONGCALL");
 
 		  continue;
 		}
@@ -3693,10 +3702,10 @@ v850_elf_relax_section (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: %#Lx: warning: R_V850_LONGCALL points to "
-		       "unrecognized reloc %#Lx"),
-		     abfd, irel->r_offset,
-		     irelcall->r_offset);
+		    (_("%pB: %#" PRIx64 ": warning: %s points to "
+		       "unrecognized reloc %#" PRIx64),
+		     abfd, (uint64_t) irel->r_offset, "R_V850_LONGCALL",
+		     (uint64_t) irelcall->r_offset);
 		  continue;
 		}
 
@@ -3836,9 +3845,9 @@ v850_elf_relax_section (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: %#Lx: warning: R_V850_LONGJUMP points to "
+		    (_("%pB: %#" PRIx64 ": warning: %s points to "
 		       "unrecognized insns"),
-		     abfd, irel->r_offset);
+		     abfd, (uint64_t) irel->r_offset, "R_V850_LONGJUMP");
 		  continue;
 		}
 
@@ -3846,10 +3855,11 @@ v850_elf_relax_section (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: %#Lx: warning: R_V850_LONGJUMP points to "
+		    (_("%pB: %#" PRIx64 ": warning: %s points to "
 		       "unrecognized insn %#x"),
 		     abfd,
-		     irel->r_offset + no_match,
+		     (uint64_t) (irel->r_offset + no_match),
+		     "R_V850_LONGJUMP",
 		     insn[no_match]);
 		  continue;
 		}
@@ -3880,9 +3890,9 @@ v850_elf_relax_section (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: %#Lx: warning: R_V850_LONGJUMP points to "
+		    (_("%pB: %#" PRIx64 ": warning: %s points to "
 		       "unrecognized reloc"),
-		     abfd, irel->r_offset);
+		     abfd, (uint64_t) irel->r_offset, "R_V850_LONGJUMP");
 		  continue;
 		}
 
@@ -4241,25 +4251,30 @@ v800_elf_reloc_name_lookup (bfd * abfd, 
 
 /* Set the howto pointer in CACHE_PTR for a V800 ELF reloc.  */
 
-static void
+static bfd_boolean
 v800_elf_info_to_howto (bfd *		    abfd,
 			arelent *	    cache_ptr,
 			Elf_Internal_Rela * dst)
 {
   unsigned int r_type = ELF32_R_TYPE (dst->r_info);
 
-  BFD_ASSERT (bfd_get_arch (abfd) == bfd_arch_v850_rh850);
-
-  BFD_ASSERT (r_type < (unsigned int) R_V800_max);
-
   if (r_type == R_V800_NONE)
     r_type = R_V810_NONE;
 
-  BFD_ASSERT (r_type >= (unsigned int) R_V810_NONE);
-  r_type -= R_V810_NONE;
-  BFD_ASSERT (r_type < ARRAY_SIZE (v800_elf_howto_table));
+  if (bfd_get_arch (abfd) != bfd_arch_v850_rh850
+      || r_type >= (unsigned int) R_V800_max
+      || r_type < (unsigned int) R_V810_NONE
+      || (r_type - R_V810_NONE) >= ARRAY_SIZE (v800_elf_howto_table))
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
 
-  cache_ptr->howto = v800_elf_howto_table + r_type;
+  cache_ptr->howto = v800_elf_howto_table + (r_type - R_V810_NONE);
+  return TRUE;
 }
 
 #undef  TARGET_LITTLE_SYM
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-vax.c ./bfd/elf32-vax.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-vax.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-vax.c	2018-07-10 02:06:11.000000000 +0000
@@ -27,7 +27,7 @@
 #include "elf/vax.h"
 
 static reloc_howto_type *reloc_type_lookup (bfd *, bfd_reloc_code_real_type);
-static void rtype_to_howto (bfd *, arelent *, Elf_Internal_Rela *);
+static bfd_boolean rtype_to_howto (bfd *, arelent *, Elf_Internal_Rela *);
 static struct bfd_hash_entry *elf_vax_link_hash_newfunc (struct bfd_hash_entry *,
 							 struct bfd_hash_table *,
 							 const char *);
@@ -278,7 +278,7 @@ static reloc_howto_type howto_table[] = 
 	 FALSE),		/* pcrel_offset */
 };
 
-static void
+static bfd_boolean
 rtype_to_howto (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst)
 {
   unsigned int r_type;
@@ -287,12 +287,13 @@ rtype_to_howto (bfd *abfd, arelent *cach
   if (r_type >= R_VAX_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised VAX reloc number: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
-      r_type = R_VAX_NONE;
+      return FALSE;
     }
   cache_ptr->howto = &howto_table[r_type];
+  return TRUE;
 }
 
 #define elf_info_to_howto rtype_to_howto
@@ -628,10 +629,10 @@ elf_vax_check_relocs (bfd *abfd, struct 
 		  if (eh->got_addend != (bfd_vma) rel->r_addend)
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: warning: GOT addend of %Ld to `%s' does"
-			 " not match previous GOT addend of %Ld"),
-			 abfd, rel->r_addend, h->root.root.string,
-			 eh->got_addend);
+		      (_("%pB: warning: GOT addend of %" PRId64 " to `%s' does"
+			 " not match previous GOT addend of %" PRId64),
+			 abfd, (int64_t) rel->r_addend, h->root.root.string,
+			 (int64_t) eh->got_addend);
 
 		}
 	    }
@@ -1442,9 +1443,10 @@ elf_vax_relocate_section (bfd *output_bf
 	  else if (rel->r_addend != 0)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: warning: PLT addend of %Ld to `%s'"
-		 " from %A section ignored"),
-	       input_bfd, rel->r_addend, h->root.root.string, input_section);
+	      (_("%pB: warning: PLT addend of %" PRId64 " to `%s'"
+		 " from %pA section ignored"),
+	       input_bfd, (int64_t) rel->r_addend, h->root.root.string,
+	       input_section);
 	  rel->r_addend = 0;
 
 	  break;
@@ -1567,15 +1569,16 @@ elf_vax_relocate_section (bfd *output_bf
 		  if (h != NULL)
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: warning: %s relocation against symbol `%s'"
-			 " from %A section"),
+		      (_("%pB: warning: %s relocation against symbol `%s'"
+			 " from %pA section"),
 		      input_bfd, howto->name, h->root.root.string,
 		      input_section);
 		  else
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: warning: %s relocation to %#Lx from %A section"),
-		      input_bfd, howto->name, outrel.r_addend,
+		      (_("%pB: warning: %s relocation to %#" PRIx64
+			 " from %pA section"),
+		      input_bfd, howto->name, (uint64_t) outrel.r_addend,
 		      input_section);
 		}
 	      loc = sreloc->contents;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-visium.c ./bfd/elf32-visium.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-visium.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-visium.c	2018-07-10 02:06:11.000000000 +0000
@@ -25,6 +25,7 @@
 #include "libbfd.h"
 #include "elf-bfd.h"
 #include "elf/visium.h"
+#include "libiberty.h"
 
 static bfd_reloc_status_type visium_elf_howto_parity_reloc
   (bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **);
@@ -458,8 +459,8 @@ visium_reloc_name_lookup (bfd *abfd ATTR
 
 /* Set the howto pointer for a VISIUM ELF reloc.  */
 
-static void
-visium_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
+static bfd_boolean
+visium_info_to_howto_rela (bfd *abfd, arelent *cache_ptr,
 			   Elf_Internal_Rela *dst)
 {
   unsigned int r_type = ELF32_R_TYPE (dst->r_info);
@@ -475,15 +476,18 @@ visium_info_to_howto_rela (bfd *abfd ATT
       break;
 
     default:
-      if (r_type >= (unsigned int) R_VISIUM_max)
+      if (r_type >= ARRAY_SIZE (visium_elf_howto_table))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: invalid Visium reloc number: %d"), abfd, r_type);
-	  r_type = 0;
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      abfd, r_type);
+	  bfd_set_error (bfd_error_bad_value);
+	  return FALSE;
 	}
       cache_ptr->howto = &visium_elf_howto_table[r_type];
       break;
     }
+  return TRUE;
 }
 
 /* Look through the relocs for a section during the first phase.
@@ -814,7 +818,7 @@ visium_elf_merge_private_bfd_data (bfd *
       if (mismatch)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: compiled %s -mtune=%s and linked with modules"
+	  (_("%pB: compiled %s -mtune=%s and linked with modules"
 	     " compiled %s -mtune=%s"),
 	   ibfd, new_opt_with, opt_arch, old_opt_with, opt_arch);
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-wasm32.c ./bfd/elf32-wasm32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-wasm32.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-wasm32.c	2018-07-10 02:06:11.000000000 +0000
@@ -103,26 +103,29 @@ elf32_wasm32_rtype_to_howto (bfd *abfd, 
   if (i >= ARRAY_SIZE (elf32_wasm32_howto_table))
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid relocation type %d"),
-			  abfd, (int) r_type);
-      i = R_WASM32_NONE;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return NULL;
     }
 
   if (elf32_wasm32_howto_table[i].type != r_type)
     return NULL;
 
-  return &elf32_wasm32_howto_table[i];
+  return elf32_wasm32_howto_table + i;
 }
 
 /* Translate the ELF-internal relocation RELA into CACHE_PTR.  */
 
-static void
-elf32_wasm32_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+elf32_wasm32_info_to_howto_rela (bfd *abfd,
 				arelent *cache_ptr,
 				Elf_Internal_Rela *dst)
 {
   unsigned int r_type = ELF32_R_TYPE (dst->r_info);
+
   cache_ptr->howto = elf32_wasm32_rtype_to_howto (abfd, r_type);
+  return cache_ptr->howto != NULL;
 }
 
 #define ELF_ARCH		bfd_arch_wasm32
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-xc16x.c ./bfd/elf32-xc16x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-xc16x.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-xc16x.c	2018-07-10 02:06:11.000000000 +0000
@@ -212,9 +212,7 @@ xc16x_reloc_name_lookup (bfd *abfd ATTRI
 {
   unsigned int i;
 
-  for (i = 0;
-       i < sizeof (xc16x_elf_howto_table) / sizeof (xc16x_elf_howto_table[0]);
-       i++)
+  for (i = 0; i < ARRAY_SIZE (xc16x_elf_howto_table); i++)
     if (xc16x_elf_howto_table[i].name != NULL
 	&& strcasecmp (xc16x_elf_howto_table[i].name, r_name) == 0)
       return &xc16x_elf_howto_table[i];
@@ -225,8 +223,8 @@ xc16x_reloc_name_lookup (bfd *abfd ATTRI
 /* For a particular operand this function is
    called to finalise the type of relocation.  */
 
-static void
-elf32_xc16x_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *bfd_reloc,
+static bfd_boolean
+elf32_xc16x_info_to_howto (bfd *abfd, arelent *bfd_reloc,
 			   Elf_Internal_Rela *elf_reloc)
 {
   unsigned int r;
@@ -237,9 +235,12 @@ elf32_xc16x_info_to_howto (bfd *abfd ATT
     if (xc16x_elf_howto_table[i].type == r)
       {
 	bfd_reloc->howto = &xc16x_elf_howto_table[i];
-	return;
+	return TRUE;
       }
-  abort ();
+  /* xgettext:c-format */
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, r);
+  bfd_set_error (bfd_error_bad_value);
+  return FALSE;
 }
 
 static bfd_reloc_status_type
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-xgate.c ./bfd/elf32-xgate.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-xgate.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-xgate.c	2018-07-10 02:06:11.000000000 +0000
@@ -34,7 +34,7 @@ static reloc_howto_type *
 bfd_elf32_bfd_reloc_type_lookup (bfd *, bfd_reloc_code_real_type);
 static reloc_howto_type *
 bfd_elf32_bfd_reloc_name_lookup (bfd *, const char *);
-static void
+static bfd_boolean
 xgate_info_to_howto_rel (bfd *, arelent *, Elf_Internal_Rela *);
 static bfd_boolean
 xgate_elf_set_mach_from_flags (bfd *);
@@ -395,7 +395,7 @@ bfd_elf32_bfd_reloc_type_lookup (bfd *ab
   for (i = 0; i < ARRAY_SIZE (xgate_reloc_map); i++)
     if (xgate_reloc_map[i].bfd_reloc_val == code)
       return &elf_xgate_howto_table[xgate_reloc_map[i].elf_reloc_val];
-
+  
   return NULL;
 }
 
@@ -414,8 +414,8 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 
 /* Set the howto pointer for an XGATE ELF reloc.  */
 
-static void
-xgate_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+xgate_info_to_howto_rel (bfd *abfd,
 			 arelent *cache_ptr,
 			 Elf_Internal_Rela *dst)
 {
@@ -425,10 +425,13 @@ xgate_info_to_howto_rel (bfd *abfd ATTRI
   if (r_type >= (unsigned int) R_XGATE_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid XGate reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &elf_xgate_howto_table[r_type];
+  return TRUE;
 }
 
 /* Destroy an XGATE ELF linker hash table.  */
@@ -701,12 +704,12 @@ elf32_xgate_post_process_headers (bfd *a
 #define TARGET_BIG_SYM			     xgate_elf32_vec
 #define TARGET_BIG_NAME			     "elf32-xgate"
 
-#define elf_info_to_howto		     0
+#define elf_info_to_howto		     NULL
 #define elf_info_to_howto_rel		     xgate_info_to_howto_rel
 #define elf_backend_check_relocs	     elf32_xgate_check_relocs
 #define elf_backend_relocate_section	     elf32_xgate_relocate_section
 #define elf_backend_object_p		     xgate_elf_set_mach_from_flags
-#define elf_backend_final_write_processing   0
+#define elf_backend_final_write_processing   NULL
 #define elf_backend_can_gc_sections	     1
 #define elf_backend_special_sections	     elf32_xgate_special_sections
 #define elf_backend_post_process_headers     elf32_xgate_post_process_headers
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-xstormy16.c ./bfd/elf32-xstormy16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-xstormy16.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-xstormy16.c	2018-07-10 02:06:11.000000000 +0000
@@ -375,8 +375,8 @@ xstormy16_reloc_name_lookup (bfd *abfd A
 
 /* Set the howto pointer for an XSTORMY16 ELF reloc.  */
 
-static void
-xstormy16_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+xstormy16_info_to_howto_rela (bfd * abfd,
 			      arelent * cache_ptr,
 			      Elf_Internal_Rela * dst)
 {
@@ -385,11 +385,19 @@ xstormy16_info_to_howto_rela (bfd * abfd
   if (r_type <= (unsigned int) R_XSTORMY16_12)
     cache_ptr->howto = &xstormy16_elf_howto_table [r_type];
   else if (r_type - R_XSTORMY16_GNU_VTINHERIT
-	   <= (unsigned int) R_XSTORMY16_GNU_VTENTRY)
+	   <= ((unsigned int) R_XSTORMY16_GNU_VTENTRY
+	       - (unsigned int) R_XSTORMY16_GNU_VTINHERIT))
     cache_ptr->howto
       = &xstormy16_elf_howto_table2 [r_type - R_XSTORMY16_GNU_VTINHERIT];
   else
-    abort ();
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  return TRUE;
 }
 
 /* We support 16-bit pointers to code above 64k by generating a thunk
@@ -1009,7 +1017,7 @@ xstormy16_elf_gc_mark_hook (asection *se
 #define elf_backend_always_size_sections \
   xstormy16_elf_always_size_sections
 #define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+  _bfd_elf_omit_section_dynsym_all
 #define elf_backend_finish_dynamic_sections \
   xstormy16_elf_finish_dynamic_sections
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-xtensa.c ./bfd/elf32-xtensa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf32-xtensa.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf32-xtensa.c	2018-07-10 02:06:11.000000000 +0000
@@ -154,6 +154,11 @@ static bfd_boolean relaxing_section = FA
 
 int elf32xtensa_no_literal_movement = 1;
 
+/* Place property records for a section into individual property section
+   with xt.prop. prefix.  */
+
+bfd_boolean elf32xtensa_separate_props = FALSE;
+
 /* Rename one of the generic section flags to better document how it
    is used here.  */
 /* Whether relocations have been processed.  */
@@ -450,6 +455,9 @@ elf_xtensa_reloc_type_lookup (bfd *abfd 
       break;
     }
 
+  /* xgettext:c-format */
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, (int) code);
+  bfd_set_error (bfd_error_bad_value);
   TRACE ("Unknown");
   return NULL;
 }
@@ -472,8 +480,8 @@ elf_xtensa_reloc_name_lookup (bfd *abfd 
 /* Given an ELF "rela" relocation, find the corresponding howto and record
    it in the BFD internal arelent representation of the relocation.  */
 
-static void
-elf_xtensa_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+elf_xtensa_info_to_howto_rela (bfd *abfd,
 			       arelent *cache_ptr,
 			       Elf_Internal_Rela *dst)
 {
@@ -482,10 +490,13 @@ elf_xtensa_info_to_howto_rela (bfd *abfd
   if (r_type >= (unsigned int) R_XTENSA_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid XTENSA reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &elf_howto_table[r_type];
+  return TRUE;
 }
 
 
@@ -791,7 +802,7 @@ property_table_matches (const void *ap, 
    section.  Sets TABLE_P and returns the number of entries.  On
    error, returns a negative value.  */
 
-static int
+int
 xtensa_read_table_entries (bfd *abfd,
 			   asection *section,
 			   property_table_entry **table_p,
@@ -923,7 +934,7 @@ xtensa_read_table_entries (bfd *abfd,
 	      blocks[blk - 1].size != 0)
 	    {
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B(%A): invalid property table"),
+	      _bfd_error_handler (_("%pB(%pA): invalid property table"),
 				  abfd, section);
 	      bfd_set_error (bfd_error_bad_value);
 	      free (blocks);
@@ -1015,7 +1026,7 @@ elf_xtensa_check_relocs (bfd *abfd,
       if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: bad symbol index: %d"),
+	  _bfd_error_handler (_("%pB: bad symbol index: %d"),
 			      abfd, r_symndx);
 	  return FALSE;
 	}
@@ -1189,7 +1200,7 @@ elf_xtensa_check_relocs (bfd *abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: `%s' accessed both as normal and thread local symbol"),
+		(_("%pB: `%s' accessed both as normal and thread local symbol"),
 		 abfd,
 		 h ? h->root.root.string : "<local>");
 	      return FALSE;
@@ -2652,8 +2663,10 @@ elf_xtensa_relocate_section (bfd *output
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): relocation offset out of range (size=%#Lx)"),
-	     input_bfd, input_section, rel->r_offset, input_size);
+	    (_("%pB(%pA+%#" PRIx64 "): "
+	       "relocation offset out of range (size=%#" PRIx64 ")"),
+	     input_bfd, input_section, (uint64_t) rel->r_offset,
+	     (uint64_t) input_size);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -2678,12 +2691,12 @@ elf_xtensa_relocate_section (bfd *output
 	  _bfd_error_handler
 	    ((sym_type == STT_TLS
 	      /* xgettext:c-format */
-	      ? _("%B(%A+%#Lx): %s used with TLS symbol %s")
+	      ? _("%pB(%pA+%#" PRIx64 "): %s used with TLS symbol %s")
 	      /* xgettext:c-format */
-	      : _("%B(%A+%#Lx): %s used with non-TLS symbol %s")),
+	      : _("%pB(%pA+%#" PRIx64 "): %s used with non-TLS symbol %s")),
 	     input_bfd,
 	     input_section,
-	     rel->r_offset,
+	     (uint64_t) rel->r_offset,
 	     howto->name,
 	     name);
 	}
@@ -2936,10 +2949,11 @@ elf_xtensa_relocate_section (bfd *output
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	    (_("%pB(%pA+%#" PRIx64 "): "
+	       "unresolvable %s relocation against symbol `%s'"),
 	     input_bfd,
 	     input_section,
-	     rel->r_offset,
+	     (uint64_t) rel->r_offset,
 	     howto->name,
 	     name);
 	  return FALSE;
@@ -3347,7 +3361,7 @@ elf_xtensa_merge_private_bfd_data (bfd *
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: incompatible machine type. Output is 0x%x. Input is 0x%x"),
+	(_("%pB: incompatible machine type; output is 0x%x; input is 0x%x"),
 	 ibfd, out_mach, in_mach);
       bfd_set_error (bfd_error_wrong_format);
       return FALSE;
@@ -4578,7 +4592,7 @@ elf_xtensa_do_asm_simplify (bfd_byte *co
 
   if (content_length < address)
     {
-      *error_message = _("Attempt to convert L32R/CALLX to CALL failed");
+      *error_message = _("attempt to convert L32R/CALLX to CALL failed");
       return bfd_reloc_other;
     }
 
@@ -4586,7 +4600,7 @@ elf_xtensa_do_asm_simplify (bfd_byte *co
   direct_call_opcode = swap_callx_for_call_opcode (opcode);
   if (direct_call_opcode == XTENSA_UNDEFINED)
     {
-      *error_message = _("Attempt to convert L32R/CALLX to CALL failed");
+      *error_message = _("attempt to convert L32R/CALLX to CALL failed");
       return bfd_reloc_other;
     }
 
@@ -6414,9 +6428,10 @@ extend_ebb_bounds_forward (ebb_t *ebb)
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): could not decode instruction; "
+	    (_("%pB(%pA+%#" PRIx64 "): could not decode instruction; "
 	       "possible configuration mismatch"),
-	     ebb->sec->owner, ebb->sec, ebb->end_offset + insn_block_len);
+	     ebb->sec->owner, ebb->sec,
+	     (uint64_t) (ebb->end_offset + insn_block_len));
 	  return FALSE;
 	}
       ebb->end_offset += insn_block_len;
@@ -6492,9 +6507,10 @@ extend_ebb_bounds_backward (ebb_t *ebb)
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): could not decode instruction; "
+	    (_("%pB(%pA+%#" PRIx64 "): could not decode instruction; "
 	       "possible configuration mismatch"),
-	     ebb->sec->owner, ebb->sec, ebb->end_offset + insn_block_len);
+	     ebb->sec->owner, ebb->sec,
+	     (uint64_t) (ebb->end_offset + insn_block_len));
 	  return FALSE;
 	}
       ebb->start_offset -= insn_block_len;
@@ -6714,7 +6730,6 @@ static bfd_boolean check_section_ebb_pcr
 static bfd_boolean check_section_ebb_reduces (const ebb_constraint *);
 static void text_action_add_proposed
   (text_action_list *, const ebb_constraint *, asection *);
-static int compute_fill_extra_space (property_table_entry *);
 
 /* First pass: */
 static bfd_boolean compute_removed_literals
@@ -7607,10 +7622,10 @@ compute_text_actions (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): could not decode instruction for "
+	    (_("%pB(%pA+%#" PRIx64 "): could not decode instruction for "
 	       "XTENSA_ASM_SIMPLIFY relocation; "
 	       "possible configuration mismatch"),
-	     sec->owner, sec, r_offset);
+	     sec->owner, sec, (uint64_t) r_offset);
 	  continue;
 	}
 
@@ -7868,9 +7883,9 @@ compute_ebb_proposed_actions (ebb_constr
  decode_error:
   _bfd_error_handler
     /* xgettext:c-format */
-    (_("%B(%A+%#Lx): could not decode instruction; "
+    (_("%pB(%pA+%#" PRIx64 "): could not decode instruction; "
        "possible configuration mismatch"),
-     ebb->sec->owner, ebb->sec, offset);
+     ebb->sec->owner, ebb->sec, (uint64_t) offset);
   return FALSE;
 }
 
@@ -8120,7 +8135,7 @@ compute_ebb_actions (ebb_constraint *ebb
       BFD_ASSERT (action->action == ta_fill);
       BFD_ASSERT (ebb->ends_unreachable->flags & XTENSA_PROP_UNREACHABLE);
 
-      extra_space = compute_fill_extra_space (ebb->ends_unreachable);
+      extra_space = xtensa_compute_fill_extra_space (ebb->ends_unreachable);
       br = action->removed_bytes + removed_bytes + extra_space;
       br = br & ((1 << ebb->sec->alignment_power ) - 1);
 
@@ -8139,8 +8154,8 @@ typedef struct xlate_map xlate_map_t;
 
 struct xlate_map_entry
 {
-  unsigned orig_address;
-  unsigned new_address;
+  bfd_vma orig_address;
+  bfd_vma new_address;
   unsigned size;
 };
 
@@ -8171,6 +8186,7 @@ xlate_offset_with_removed_text (const xl
 {
   void *r;
   xlate_map_entry_t *e;
+  struct xlate_map_entry se;
 
   if (map == NULL)
     return offset_with_removed_text (action_list, offset);
@@ -8178,10 +8194,19 @@ xlate_offset_with_removed_text (const xl
   if (map->entry_count == 0)
     return offset;
 
-  r = bsearch (&offset, map->entry, map->entry_count,
+  se.orig_address = offset;
+  r = bsearch (&se, map->entry, map->entry_count,
 	       sizeof (xlate_map_entry_t), &xlate_compare);
   e = (xlate_map_entry_t *) r;
 
+  /* There could be a jump past the end of the section,
+     allow it using the last xlate map entry to translate its address.  */
+  if (e == NULL)
+    {
+      e = map->entry + map->entry_count - 1;
+      if (xlate_compare (&se, e) <= 0)
+	e = NULL;
+    }
   BFD_ASSERT (e != NULL);
   if (e == NULL)
     return offset;
@@ -8534,7 +8559,7 @@ text_action_add_proposed (text_action_li
 
 
 int
-compute_fill_extra_space (property_table_entry *entry)
+xtensa_compute_fill_extra_space (property_table_entry *entry)
 {
   int fill_extra_space;
 
@@ -8815,7 +8840,7 @@ remove_dead_literal (bfd *abfd,
 	 do not add fill.  */
       the_add_entry = elf_xtensa_find_property_entry (prop_table, ptblsize,
 						      entry_sec_offset);
-      fill_extra_space = compute_fill_extra_space (the_add_entry);
+      fill_extra_space = xtensa_compute_fill_extra_space (the_add_entry);
 
       fa = find_fill_action (&relax_info->action_list, sec, entry_sec_offset);
       removed_diff = compute_removed_action_diff (fa, sec, entry_sec_offset,
@@ -10646,8 +10671,8 @@ do_fix_for_relocatable_link (Elf_Interna
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): unexpected fix for %s relocation"),
-	     input_bfd, input_section, rel->r_offset,
+	    (_("%pB(%pA+%#" PRIx64 "): unexpected fix for %s relocation"),
+	     input_bfd, input_section, (uint64_t) rel->r_offset,
 	     elf_howto_table[r_type].name);
 	  return FALSE;
 	}
@@ -10966,10 +10991,30 @@ match_section_group (bfd *abfd ATTRIBUTE
 }
 
 
+static char *
+xtensa_add_names (const char *base, const char *suffix)
+{
+  if (suffix)
+    {
+      size_t base_len = strlen (base);
+      size_t suffix_len = strlen (suffix);
+      char *str = bfd_malloc (base_len + suffix_len + 1);
+
+      memcpy (str, base, base_len);
+      memcpy (str + base_len, suffix, suffix_len + 1);
+      return str;
+    }
+  else
+    {
+      return strdup (base);
+    }
+}
+
 static int linkonce_len = sizeof (".gnu.linkonce.") - 1;
 
 static char *
-xtensa_property_section_name (asection *sec, const char *base_name)
+xtensa_property_section_name (asection *sec, const char *base_name,
+			      bfd_boolean separate_sections)
 {
   const char *suffix, *group_name;
   char *prop_sec_name;
@@ -10980,11 +11025,7 @@ xtensa_property_section_name (asection *
       suffix = strrchr (sec->name, '.');
       if (suffix == sec->name)
 	suffix = 0;
-      prop_sec_name = (char *) bfd_malloc (strlen (base_name) + 1
-					   + (suffix ? strlen (suffix) : 0));
-      strcpy (prop_sec_name, base_name);
-      if (suffix)
-	strcat (prop_sec_name, suffix);
+      prop_sec_name = xtensa_add_names (base_name, suffix);
     }
   else if (strncmp (sec->name, ".gnu.linkonce.", linkonce_len) == 0)
     {
@@ -11012,19 +11053,24 @@ xtensa_property_section_name (asection *
       strcat (prop_sec_name + linkonce_len, suffix);
     }
   else
-    prop_sec_name = strdup (base_name);
+    {
+      prop_sec_name = xtensa_add_names (base_name,
+					separate_sections ? sec->name : NULL);
+    }
 
   return prop_sec_name;
 }
 
 
 static asection *
-xtensa_get_property_section (asection *sec, const char *base_name)
+xtensa_get_separate_property_section (asection *sec, const char *base_name,
+				      bfd_boolean separate_section)
 {
   char *prop_sec_name;
   asection *prop_sec;
 
-  prop_sec_name = xtensa_property_section_name (sec, base_name);
+  prop_sec_name = xtensa_property_section_name (sec, base_name,
+						separate_section);
   prop_sec = bfd_get_section_by_name_if (sec->owner, prop_sec_name,
 					 match_section_group,
 					 (void *) elf_group_name (sec));
@@ -11032,6 +11078,21 @@ xtensa_get_property_section (asection *s
   return prop_sec;
 }
 
+static asection *
+xtensa_get_property_section (asection *sec, const char *base_name)
+{
+  asection *prop_sec;
+
+  /* Try individual property section first.  */
+  prop_sec = xtensa_get_separate_property_section (sec, base_name, TRUE);
+
+  /* Refer to a common property section if individual is not present.  */
+  if (!prop_sec)
+    prop_sec = xtensa_get_separate_property_section (sec, base_name, FALSE);
+
+  return prop_sec;
+}
+
 
 asection *
 xtensa_make_property_section (asection *sec, const char *base_name)
@@ -11040,7 +11101,8 @@ xtensa_make_property_section (asection *
   asection *prop_sec;
 
   /* Check if the section already exists.  */
-  prop_sec_name = xtensa_property_section_name (sec, base_name);
+  prop_sec_name = xtensa_property_section_name (sec, base_name,
+						elf32xtensa_separate_props);
   prop_sec = bfd_get_section_by_name_if (sec->owner, prop_sec_name,
 					 match_section_group,
 					 (void *) elf_group_name (sec));
@@ -11243,8 +11305,7 @@ static const struct bfd_elf_special_sect
 #define elf_backend_relocate_section	     elf_xtensa_relocate_section
 #define elf_backend_size_dynamic_sections    elf_xtensa_size_dynamic_sections
 #define elf_backend_always_size_sections     elf_xtensa_always_size_sections
-#define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+#define elf_backend_omit_section_dynsym      _bfd_elf_omit_section_dynsym_all
 #define elf_backend_special_sections	     elf_xtensa_special_sections
 #define elf_backend_action_discarded	     elf_xtensa_action_discarded
 #define elf_backend_copy_indirect_symbol     elf_xtensa_copy_indirect_symbol
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-alpha.c ./bfd/elf64-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-alpha.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-alpha.c	2018-07-10 02:06:11.000000000 +0000
@@ -1100,8 +1100,8 @@ elf64_alpha_bfd_reloc_name_lookup (bfd *
 
 /* Given an Alpha ELF reloc type, fill in an arelent structure.  */
 
-static void
-elf64_alpha_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
+static bfd_boolean
+elf64_alpha_info_to_howto (bfd *abfd, arelent *cache_ptr,
 			   Elf_Internal_Rela *dst)
 {
   unsigned r_type = ELF64_R_TYPE(dst->r_info);
@@ -1109,12 +1109,13 @@ elf64_alpha_info_to_howto (bfd *abfd ATT
   if (r_type >= R_ALPHA_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised Alpha reloc number: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
-      r_type = R_ALPHA_NONE;
+      return FALSE;
     }
   cache_ptr->howto = &elf64_alpha_howto_table[r_type];
+  return TRUE;
 }
 
 /* These two relocations create a two-word entry in the got.  */
@@ -2459,7 +2460,7 @@ elf64_alpha_size_got_sections (struct bf
 	      /* Yikes! A single object file has too many entries.  */
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: .got subsegment exceeds 64K (size %d)"),
+		(_("%pB: .got subsegment exceeds 64K (size %d)"),
 		 i, alpha_elf_tdata (this_got)->total_got_size);
 	      return FALSE;
 	    }
@@ -3014,8 +3015,9 @@ elf64_alpha_relax_got_load (struct alpha
       reloc_howto_type *howto = elf64_alpha_howto_table + r_type;
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: %A+%#Lx: warning: %s relocation against unexpected insn"),
-	 info->abfd, info->sec, irel->r_offset, howto->name);
+	(_("%pB: %pA+%#" PRIx64 ": warning: "
+	   "%s relocation against unexpected insn"),
+	 info->abfd, info->sec, (uint64_t) irel->r_offset, howto->name);
       return TRUE;
     }
 
@@ -3209,8 +3211,9 @@ elf64_alpha_relax_with_lituse (struct al
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn"),
-	 abfd, info->sec, irel->r_offset);
+	(_("%pB: %pA+%#" PRIx64 ": warning: "
+	   "%s relocation against unexpected insn"),
+	 abfd, info->sec, (uint64_t) irel->r_offset, "LITERAL");
       return TRUE;
     }
 
@@ -4095,7 +4098,7 @@ elf64_alpha_relocate_section_r (bfd *out
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: unknown relocation type %d"),
+	    (_("%pB: unsupported relocation type %#x"),
 	     input_bfd, (int) r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  ret_val = FALSE;
@@ -4243,7 +4246,7 @@ elf64_alpha_relocate_section (bfd *outpu
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: unknown relocation type %d"),
+	    (_("%pB: unsupported relocation type %#x"),
 	     input_bfd, (int) r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  ret_val = FALSE;
@@ -4409,7 +4412,7 @@ elf64_alpha_relocate_section (bfd *outpu
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: gp-relative relocation against dynamic symbol %s"),
+		(_("%pB: gp-relative relocation against dynamic symbol %s"),
 		 input_bfd, h->root.root.root.string);
 	      ret_val = FALSE;
 	    }
@@ -4422,7 +4425,7 @@ elf64_alpha_relocate_section (bfd *outpu
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: gp-relative relocation against dynamic symbol %s"),
+		(_("%pB: gp-relative relocation against dynamic symbol %s"),
 		 input_bfd, h->root.root.root.string);
 	      ret_val = FALSE;
 	    }
@@ -4449,7 +4452,7 @@ elf64_alpha_relocate_section (bfd *outpu
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: pc-relative relocation against dynamic symbol %s"),
+		(_("%pB: pc-relative relocation against dynamic symbol %s"),
 		 input_bfd, h->root.root.root.string);
 	      ret_val = FALSE;
 	    }
@@ -4478,7 +4481,7 @@ elf64_alpha_relocate_section (bfd *outpu
 	      {
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: change in gp: BRSGP %s"),
+		  (_("%pB: change in gp: BRSGP %s"),
 		   input_bfd, h->root.root.root.string);
 		ret_val = FALSE;
 	      }
@@ -4509,7 +4512,7 @@ elf64_alpha_relocate_section (bfd *outpu
 		  }
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: !samegp reloc against symbol without .prologue: %s"),
+		  (_("%pB: !samegp reloc against symbol without .prologue: %s"),
 		   input_bfd, name);
 		ret_val = FALSE;
 		break;
@@ -4567,7 +4570,7 @@ elf64_alpha_relocate_section (bfd *outpu
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: unhandled dynamic relocation against %s"),
+		      (_("%pB: unhandled dynamic relocation against %s"),
 		       input_bfd,
 		       h->root.root.root.string);
 		    ret_val = FALSE;
@@ -4593,7 +4596,7 @@ elf64_alpha_relocate_section (bfd *outpu
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: pc-relative relocation against dynamic symbol %s"),
+		(_("%pB: pc-relative relocation against dynamic symbol %s"),
 		 input_bfd, h->root.root.root.string);
 	      ret_val = FALSE;
 	    }
@@ -4602,7 +4605,7 @@ elf64_alpha_relocate_section (bfd *outpu
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: pc-relative relocation against undefined weak symbol %s"),
+		(_("%pB: pc-relative relocation against undefined weak symbol %s"),
 		 input_bfd, h->root.root.root.string);
 	      ret_val = FALSE;
 	    }
@@ -4668,7 +4671,7 @@ elf64_alpha_relocate_section (bfd *outpu
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: dtp-relative relocation against dynamic symbol %s"),
+		(_("%pB: dtp-relative relocation against dynamic symbol %s"),
 		 input_bfd, h->root.root.root.string);
 	      ret_val = FALSE;
 	    }
@@ -4685,7 +4688,7 @@ elf64_alpha_relocate_section (bfd *outpu
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: TLS local exec code cannot be linked into shared objects"),
+		(_("%pB: TLS local exec code cannot be linked into shared objects"),
 		input_bfd);
 	      ret_val = FALSE;
 	    }
@@ -4693,7 +4696,7 @@ elf64_alpha_relocate_section (bfd *outpu
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: tp-relative relocation against dynamic symbol %s"),
+		(_("%pB: tp-relative relocation against dynamic symbol %s"),
 		 input_bfd, h->root.root.root.string);
 	      ret_val = FALSE;
 	    }
@@ -5495,7 +5498,7 @@ static const struct elf_size_info alpha_
 #define elf_backend_size_dynamic_sections \
   elf64_alpha_size_dynamic_sections
 #define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+  _bfd_elf_omit_section_dynsym_all
 #define elf_backend_relocate_section \
   elf64_alpha_relocate_section
 #define elf_backend_finish_dynamic_symbol \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-gen.c ./bfd/elf64-gen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-gen.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-gen.c	2018-07-10 02:06:11.000000000 +0000
@@ -41,20 +41,22 @@ static reloc_howto_type dummy =
 	 0,			/* dst_mask */
 	 FALSE);		/* pcrel_offset */
 
-static void
+static bfd_boolean
 elf_generic_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 			   arelent *bfd_reloc,
 			   Elf_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED)
 {
   bfd_reloc->howto = &dummy;
+  return TRUE;
 }
 
-static void
+static bfd_boolean
 elf_generic_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
 			       arelent *bfd_reloc,
 			       Elf_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED)
 {
   bfd_reloc->howto = &dummy;
+  return TRUE;
 }
 
 static void
@@ -66,7 +68,7 @@ check_for_relocs (bfd * abfd, asection *
 
       ehdrp = elf_elfheader (abfd);
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: Relocations in generic ELF (EM: %d)"),
+      _bfd_error_handler (_("%pB: Relocations in generic ELF (EM: %d)"),
 			  abfd, ehdrp->e_machine);
 
       bfd_set_error (bfd_error_wrong_format);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-hppa.c ./bfd/elf64-hppa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-hppa.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-hppa.c	2018-07-10 02:06:11.000000000 +0000
@@ -2078,8 +2078,8 @@ elf64_hppa_finish_dynamic_symbol (bfd *o
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("stub entry for %s cannot load .plt, dp offset = %Ld"),
-	     hh->eh.root.root.string, value);
+	    (_("stub entry for %s cannot load .plt, dp offset = %" PRId64),
+	     hh->eh.root.root.string, (int64_t) value);
 	  return FALSE;
 	}
 
@@ -3283,10 +3283,10 @@ elf_hppa_final_link_relocate (Elf_Intern
 	  {
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+%#Lx): cannot reach %s"),
+	      (_("%pB(%pA+%#" PRIx64 "): cannot reach %s"),
 	      input_bfd,
 	      input_section,
-	      offset,
+	      (uint64_t) offset,
 	      eh ? eh->root.root.string : "unknown");
 	    bfd_set_error (bfd_error_bad_value);
 	    return bfd_reloc_overflow;
@@ -4052,8 +4052,8 @@ const struct elf_size_info hppa64_elf_si
 					elf64_hppa_create_dynamic_sections
 #define elf_backend_post_process_headers	elf64_hppa_post_process_headers
 
-#define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+#define elf_backend_omit_section_dynsym _bfd_elf_omit_section_dynsym_all
+
 #define elf_backend_adjust_dynamic_symbol \
 					elf64_hppa_adjust_dynamic_symbol
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-ia64-vms.c ./bfd/elf64-ia64-vms.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-ia64-vms.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-ia64-vms.c	2018-07-10 02:06:11.000000000 +0000
@@ -240,13 +240,24 @@ static asection *get_got
 
 /* Given a ELF reloc, return the matching HOWTO structure.  */
 
-static void
+static bfd_boolean
 elf64_ia64_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 			  arelent *bfd_reloc,
 			  Elf_Internal_Rela *elf_reloc)
 {
-  bfd_reloc->howto
-    = ia64_elf_lookup_howto ((unsigned int) ELF64_R_TYPE (elf_reloc->r_info));
+  unsigned int r_type = ELF32_R_TYPE (elf_reloc->r_info);
+
+  bfd_reloc->howto = ia64_elf_lookup_howto (r_type);
+  if (bfd_reloc->howto == NULL)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
+  return TRUE;
 }
 
 
@@ -584,9 +595,9 @@ elf64_ia64_relax_section (bfd *abfd, ase
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: Can't relax br at %#Lx in section `%A'."
-		   " Please use brl or indirect branch."),
-		 sec->owner, roff, sec);
+		(_("%pB: can't relax br at %#" PRIx64 " in section `%pA';"
+		   " please use brl or indirect branch"),
+		 sec->owner, (uint64_t) roff, sec);
 	      bfd_set_error (bfd_error_bad_value);
 	      goto error_return;
 	    }
@@ -3278,8 +3289,8 @@ elf64_ia64_choose_gp (bfd *abfd, struct 
 overflow:
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: short data segment overflowed (%#Lx >= 0x400000)"),
-	     abfd, max_short_vma - min_short_vma);
+	    (_("%pB: short data segment overflowed (%#" PRIx64 " >= 0x400000)"),
+	     abfd, (uint64_t) (max_short_vma - min_short_vma));
 	  return FALSE;
 	}
       else if ((gp_val > min_short_vma
@@ -3288,7 +3299,7 @@ overflow:
 		   && max_short_vma - gp_val >= 0x200000))
 	{
 	  _bfd_error_handler
-	    (_("%B: __gp does not cover short data segment"), abfd);
+	    (_("%pB: __gp does not cover short data segment"), abfd);
 	  return FALSE;
 	}
     }
@@ -3425,16 +3436,20 @@ elf64_ia64_relocate_section (bfd *output
       r_type = ELF64_R_TYPE (rel->r_info);
       if (r_type > R_IA64_MAX_RELOC_CODE)
 	{
-	  _bfd_error_handler
-	    /* xgettext:c-format */
-	    (_("%B: unknown relocation type %d"),
-	     input_bfd, (int) r_type);
+	  /* xgettext:c-format */
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      input_bfd, (int) r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  ret_val = FALSE;
 	  continue;
 	}
 
       howto = ia64_elf_lookup_howto (r_type);
+      if (howto == NULL)
+	{
+	  ret_val = FALSE;
+	  continue;
+	}
       r_symndx = ELF64_R_SYM (rel->r_info);
       h = NULL;
       sym = NULL;
@@ -3554,7 +3569,7 @@ elf64_ia64_relocate_section (bfd *output
 		     shared libraries nor dynamic executables.  */
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: non-pic code with imm relocation against"
+		    (_("%pB: non-pic code with imm relocation against"
 		       " dynamic symbol `%s'"),
 		     input_bfd,
 		     h ? h->root.root.string
@@ -3618,7 +3633,7 @@ elf64_ia64_relocate_section (bfd *output
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: @gprel relocation against dynamic symbol %s"),
+		(_("%pB: @gprel relocation against dynamic symbol %s"),
 		 input_bfd,
 		 h ? h->root.root.string
 		   : bfd_elf_sym_name (input_bfd, symtab_hdr, sym,
@@ -3677,7 +3692,7 @@ elf64_ia64_relocate_section (bfd *output
 		      /* ??? People shouldn't be doing non-pic code in
 			 shared libraries.  Hork.  */
 		      _bfd_error_handler
-			(_("%B: linking non-pic code in a position independent executable"),
+			(_("%pB: linking non-pic code in a position independent executable"),
 			 input_bfd);
 		      ret_val = FALSE;
 		      continue;
@@ -3779,13 +3794,13 @@ elf64_ia64_relocate_section (bfd *output
 
 	      if (r_type == R_IA64_PCREL21BI)
 		/* xgettext:c-format */
-		msg = _("%B: @internal branch to dynamic symbol %s");
+		msg = _("%pB: @internal branch to dynamic symbol %s");
 	      else if (r_type == R_IA64_PCREL21F || r_type == R_IA64_PCREL21M)
 		/* xgettext:c-format */
-		msg = _("%B: speculation fixup to dynamic symbol %s");
+		msg = _("%pB: speculation fixup to dynamic symbol %s");
 	      else
 		/* xgettext:c-format */
-		msg = _("%B: @pcrel relocation against dynamic symbol %s");
+		msg = _("%pB: @pcrel relocation against dynamic symbol %s");
 	      _bfd_error_handler (msg, input_bfd,
 				  h ? h->root.root.string
 				  : bfd_elf_sym_name (input_bfd,
@@ -3946,10 +3961,10 @@ elf64_ia64_relocate_section (bfd *output
 	      case R_IA64_LTOFF_DTPREL22:
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: missing TLS section for relocation %s against `%s'"
-		     " at %#Lx in section `%A'."),
+		  (_("%pB: missing TLS section for relocation %s against `%s'"
+		     " at %#" PRIx64 " in section `%pA'."),
 		   input_bfd, howto->name, name,
-		   rel->r_offset, input_section);
+		   (uint64_t) rel->r_offset, input_section);
 		break;
 
 	      case R_IA64_PCREL21B:
@@ -3963,10 +3978,11 @@ elf64_ia64_relocate_section (bfd *output
 		       that the section is too big to relax.  */
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: Can't relax br (%s) to `%s' at %#Lx in section"
-			 " `%A' with size %#Lx (> 0x1000000)."),
-		       input_bfd, howto->name, name, rel->r_offset,
-		       input_section, input_section->size);
+		      (_("%pB: Can't relax br (%s) to `%s' "
+			 "at %#" PRIx64 " in section `%pA' "
+			 "with size %#" PRIx64 " (> 0x1000000)."),
+		       input_bfd, howto->name, name, (uint64_t) rel->r_offset,
+		       input_section, (uint64_t) input_section->size);
 		    break;
 		  }
 		/* Fall through.  */
@@ -4254,7 +4270,7 @@ elf64_ia64_merge_private_bfd_data (bfd *
   if ((in_flags & EF_IA_64_TRAPNIL) != (out_flags & EF_IA_64_TRAPNIL))
     {
       _bfd_error_handler
-	(_("%B: linking trap-on-NULL-dereference with non-trapping files"),
+	(_("%pB: linking trap-on-NULL-dereference with non-trapping files"),
 	 ibfd);
 
       bfd_set_error (bfd_error_bad_value);
@@ -4263,7 +4279,7 @@ elf64_ia64_merge_private_bfd_data (bfd *
   if ((in_flags & EF_IA_64_BE) != (out_flags & EF_IA_64_BE))
     {
       _bfd_error_handler
-	(_("%B: linking big-endian files with little-endian files"),
+	(_("%pB: linking big-endian files with little-endian files"),
 	 ibfd);
 
       bfd_set_error (bfd_error_bad_value);
@@ -4272,7 +4288,7 @@ elf64_ia64_merge_private_bfd_data (bfd *
   if ((in_flags & EF_IA_64_ABI64) != (out_flags & EF_IA_64_ABI64))
     {
       _bfd_error_handler
-	(_("%B: linking 64-bit files with 32-bit files"),
+	(_("%pB: linking 64-bit files with 32-bit files"),
 	 ibfd);
 
       bfd_set_error (bfd_error_bad_value);
@@ -4281,7 +4297,7 @@ elf64_ia64_merge_private_bfd_data (bfd *
   if ((in_flags & EF_IA_64_CONS_GP) != (out_flags & EF_IA_64_CONS_GP))
     {
       _bfd_error_handler
-	(_("%B: linking constant-gp files with non-constant-gp files"),
+	(_("%pB: linking constant-gp files with non-constant-gp files"),
 	 ibfd);
 
       bfd_set_error (bfd_error_bad_value);
@@ -4291,7 +4307,7 @@ elf64_ia64_merge_private_bfd_data (bfd *
       != (out_flags & EF_IA_64_NOFUNCDESC_CONS_GP))
     {
       _bfd_error_handler
-	(_("%B: linking auto-pic files with non-auto-pic files"),
+	(_("%pB: linking auto-pic files with non-auto-pic files"),
 	 ibfd);
 
       bfd_set_error (bfd_error_bad_value);
@@ -5134,15 +5150,15 @@ error_free_dyn:
 		  if (normal_bfd == NULL)
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("Warning: alignment %u of common symbol `%s' in %B"
-			 " is greater than the alignment (%u) of its section %A"),
+		      (_("warning: alignment %u of common symbol `%s' in %pB"
+			 " is greater than the alignment (%u) of its section %pA"),
 		       1 << common_align, name, common_bfd,
 		       1 << normal_align, h->root.u.def.section);
 		  else
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("Warning: alignment %u of symbol `%s' in %B"
-			 " is smaller than %u in %B"),
+		      (_("warning: alignment %u of symbol `%s' in %pB"
+			 " is smaller than %u in %pB"),
 		       1 << normal_align, name, normal_bfd,
 		       1 << common_align, common_bfd);
 		}
@@ -5157,9 +5173,10 @@ error_free_dyn:
 		  && ! size_change_ok)
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("Warning: size of symbol `%s' changed"
-		     " from %Lu in %B to %Lu in %B"),
-		   name, h->size, old_bfd, isym->st_size, abfd);
+		  (_("warning: size of symbol `%s' changed"
+		     " from %" PRIu64 " in %pB to %" PRIu64 " in %pB"),
+		   name, (uint64_t) h->size, old_bfd,
+		   (uint64_t) isym->st_size, abfd);
 
 	      h->size = isym->st_size;
 	    }
@@ -5183,8 +5200,8 @@ error_free_dyn:
 		  if (h->type != STT_NOTYPE && ! type_change_ok)
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("Warning: type of symbol `%s' changed"
-			 " from %d to %d in %B"),
+		      (_("warning: type of symbol `%s' changed"
+			 " from %d to %d in %pB"),
 		       name, h->type, type, abfd);
 
 		  h->type = type;
@@ -5481,7 +5498,7 @@ static const struct elf_size_info elf64_
 #define elf_backend_size_dynamic_sections \
 	elf64_ia64_size_dynamic_sections
 #define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+	_bfd_elf_omit_section_dynsym_all
 #define elf_backend_relocate_section \
 	elf64_ia64_relocate_section
 #define elf_backend_finish_dynamic_symbol \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-mips.c ./bfd/elf64-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-mips.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-mips.c	2018-07-10 02:06:11.000000000 +0000
@@ -80,11 +80,7 @@ static void mips_elf64_be_swap_reloca_ou
   (bfd *, const Elf_Internal_Rela *, bfd_byte *);
 static reloc_howto_type *bfd_elf64_bfd_reloc_type_lookup
   (bfd *, bfd_reloc_code_real_type);
-static reloc_howto_type *mips_elf64_rtype_to_howto
-  (unsigned int, bfd_boolean);
-static void mips_elf64_info_to_howto_rel
-  (bfd *, arelent *, Elf_Internal_Rela *);
-static void mips_elf64_info_to_howto_rela
+static bfd_boolean mips_elf64_info_to_howto_rela
   (bfd *, arelent *, Elf_Internal_Rela *);
 static long mips_elf64_get_dynamic_reloc_upper_bound
   (bfd *);
@@ -2425,6 +2421,166 @@ static reloc_howto_type micromips_elf64_
 	 0,			/* src_mask */
 	 0x00000000,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  /* Low 16 bits of symbol value.  Note that the high 16 bits of symbol values
+     must be zero.  This is used for relaxation.  */
+  HOWTO (R_MICROMIPS_HI0_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_HI0_LO16",/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (158),
+  EMPTY_HOWTO (159),
+  EMPTY_HOWTO (160),
+  EMPTY_HOWTO (161),
+
+  /* TLS general dynamic variable reference.  */
+  HOWTO (R_MICROMIPS_TLS_GD,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_GD",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic variable reference.  */
+  HOWTO (R_MICROMIPS_TLS_LDM,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_LDM",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic offset.  */
+  HOWTO (R_MICROMIPS_TLS_DTPREL_HI16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_DTPREL_HI16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic offset.  */
+  HOWTO (R_MICROMIPS_TLS_DTPREL_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_DTPREL_LO16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_GOTTPREL,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_GOTTPREL",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (167),
+  EMPTY_HOWTO (168),
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_TPREL_HI16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_TPREL_HI16", /* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_TPREL_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_TPREL_LO16", /* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (171),
+
+  /* GP- and PC-relative relocations.  */
+  HOWTO (R_MICROMIPS_GPREL7_S2,	/* type */
+	 2,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 7,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf32_gprel16_reloc, /* special_function */
+	 "R_MICROMIPS_GPREL7_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000007f,		/* src_mask */
+	 0x0000007f,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_MICROMIPS_PC23_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 23,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_PC23_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x007fffff,		/* src_mask */
+	 0x007fffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
 };
 
 static reloc_howto_type micromips_elf64_howto_table_rela[] =
@@ -2767,6 +2923,166 @@ static reloc_howto_type micromips_elf64_
 	 0,			/* src_mask */
 	 0x00000000,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  /* Low 16 bits of symbol value.  Note that the high 16 bits of symbol values
+     must be zero.  This is used for relaxation.  */
+  HOWTO (R_MICROMIPS_HI0_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_HI0_LO16",/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (158),
+  EMPTY_HOWTO (159),
+  EMPTY_HOWTO (160),
+  EMPTY_HOWTO (161),
+
+  /* TLS general dynamic variable reference.  */
+  HOWTO (R_MICROMIPS_TLS_GD,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_GD",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic variable reference.  */
+  HOWTO (R_MICROMIPS_TLS_LDM,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_LDM",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic offset.  */
+  HOWTO (R_MICROMIPS_TLS_DTPREL_HI16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_DTPREL_HI16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic offset.  */
+  HOWTO (R_MICROMIPS_TLS_DTPREL_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_DTPREL_LO16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_GOTTPREL,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_GOTTPREL",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (167),
+  EMPTY_HOWTO (168),
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_TPREL_HI16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_TPREL_HI16", /* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_TPREL_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_TPREL_LO16", /* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (171),
+
+  /* GP- and PC-relative relocations.  */
+  HOWTO (R_MICROMIPS_GPREL7_S2,	/* type */
+	 2,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 7,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf32_gprel16_reloc, /* special_function */
+	 "R_MICROMIPS_GPREL7_S2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000007f,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_MICROMIPS_PC23_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 23,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_PC23_S2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x007fffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
 };
 
 /* GNU extension to record C++ vtable hierarchy */
@@ -3467,6 +3783,21 @@ static const struct elf_reloc_map microm
   { BFD_RELOC_MICROMIPS_CALL_LO16, R_MICROMIPS_CALL_LO16 - R_MICROMIPS_min },
   { BFD_RELOC_MICROMIPS_SCN_DISP, R_MICROMIPS_SCN_DISP - R_MICROMIPS_min },
   { BFD_RELOC_MICROMIPS_JALR, R_MICROMIPS_JALR - R_MICROMIPS_min },
+  /* There is no BFD reloc for R_MICROMIPS_HI0_LO16.  */
+  { BFD_RELOC_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_GD - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_LDM, R_MICROMIPS_TLS_LDM - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16,
+    R_MICROMIPS_TLS_DTPREL_HI16 - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16,
+    R_MICROMIPS_TLS_DTPREL_LO16 - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_GOTTPREL,
+    R_MICROMIPS_TLS_GOTTPREL - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_TPREL_HI16,
+    R_MICROMIPS_TLS_TPREL_HI16 - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_TPREL_LO16,
+    R_MICROMIPS_TLS_TPREL_LO16 - R_MICROMIPS_min },
+  /* There is no BFD reloc for R_MICROMIPS_GPREL7_S2.  */
+  /* There is no BFD reloc for R_MICROMIPS_PC23_S2.  */
 };
 /* Given a BFD reloc type, return a howto structure.  */
 
@@ -3574,8 +3905,10 @@ bfd_elf64_bfd_reloc_name_lookup (bfd *ab
 /* Given a MIPS Elf_Internal_Rel, fill in an arelent structure.  */
 
 static reloc_howto_type *
-mips_elf64_rtype_to_howto (unsigned int r_type, bfd_boolean rela_p)
+mips_elf64_rtype_to_howto (bfd *abfd, unsigned int r_type, bfd_boolean rela_p)
 {
+  reloc_howto_type *howto = NULL;
+
   switch (r_type)
     {
     case R_MIPS_GNU_VTINHERIT:
@@ -3599,47 +3932,49 @@ mips_elf64_rtype_to_howto (unsigned int 
       if (r_type >= R_MICROMIPS_min && r_type < R_MICROMIPS_max)
 	{
 	  if (rela_p)
-	    return &micromips_elf64_howto_table_rela[r_type - R_MICROMIPS_min];
+	    howto
+	      = &micromips_elf64_howto_table_rela[r_type - R_MICROMIPS_min];
 	  else
-	    return &micromips_elf64_howto_table_rel[r_type - R_MICROMIPS_min];
+	    howto
+	      = &micromips_elf64_howto_table_rel[r_type - R_MICROMIPS_min];
 	}
       if (r_type >= R_MIPS16_min && r_type < R_MIPS16_max)
 	{
 	  if (rela_p)
-	    return &mips16_elf64_howto_table_rela[r_type - R_MIPS16_min];
+	    howto = &mips16_elf64_howto_table_rela[r_type - R_MIPS16_min];
 	  else
-	    return &mips16_elf64_howto_table_rel[r_type - R_MIPS16_min];
+	    howto = &mips16_elf64_howto_table_rel[r_type - R_MIPS16_min];
 	}
-      if (r_type >= R_MIPS_max)
+      if (r_type < R_MIPS_max)
 	{
-	  _bfd_error_handler (_("unrecognised MIPS reloc number: %d"), r_type);
-	  bfd_set_error (bfd_error_bad_value);
-	  r_type = R_MIPS_NONE;
+	  if (rela_p)
+	    howto = &mips_elf64_howto_table_rela[r_type];
+	  else
+	    howto = &mips_elf64_howto_table_rel[r_type];
 	}
-      if (rela_p)
-	return &mips_elf64_howto_table_rela[r_type];
-      else
-	return &mips_elf64_howto_table_rel[r_type];
-      break;
+      if (howto != NULL && howto->name != NULL)
+	return howto;
+
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return NULL;
     }
 }
 
 /* Prevent relocation handling by bfd for MIPS ELF64.  */
 
-static void
-mips_elf64_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
-			      arelent *cache_ptr ATTRIBUTE_UNUSED,
-			      Elf_Internal_Rela *dst ATTRIBUTE_UNUSED)
-{
-  BFD_ASSERT (0);
-}
-
-static void
-mips_elf64_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+mips_elf64_info_to_howto_rela (bfd *abfd,
 			       arelent *cache_ptr ATTRIBUTE_UNUSED,
-			       Elf_Internal_Rela *dst ATTRIBUTE_UNUSED)
+			       Elf_Internal_Rela *dst)
 {
-  BFD_ASSERT (0);
+  unsigned int r_type = ELF32_R_TYPE (dst->r_info);
+  /* xgettext:c-format */
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+		      abfd, r_type);
+  bfd_set_error (bfd_error_bad_value);
+  return FALSE;
 }
 
 /* Since each entry in an SHT_REL or SHT_RELA section can represent up
@@ -3669,6 +4004,7 @@ mips_elf64_slurp_one_reloc_table (bfd *a
 {
   void *allocated;
   bfd_byte *native_relocs;
+  unsigned int symcount;
   arelent *relent;
   bfd_vma i;
   int entsize;
@@ -3694,6 +4030,11 @@ mips_elf64_slurp_one_reloc_table (bfd *a
   else
     rela_p = TRUE;
 
+  if (dynamic)
+    symcount = bfd_get_dynamic_symcount (abfd);
+  else
+    symcount = bfd_get_symcount (abfd);
+
   for (i = 0, relent = relents;
        i < reloc_count;
        i++, native_relocs += entsize)
@@ -3750,6 +4091,17 @@ mips_elf64_slurp_one_reloc_table (bfd *a
 		{
 		  if (rela.r_sym == STN_UNDEF)
 		    relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
+		  else if (rela.r_sym > symcount)
+		    {
+		      _bfd_error_handler
+			/* xgettext:c-format */
+			(_("%pB(%pA): relocation %" PRIu64
+			   " has invalid symbol index %ld"),
+			 abfd, asect, (uint64_t) i, rela.r_sym);
+		      bfd_set_error (bfd_error_bad_value);
+		      relent->sym_ptr_ptr
+			= bfd_abs_section_ptr->symbol_ptr_ptr;
+		    }
 		  else
 		    {
 		      asymbol **ps, *s;
@@ -3805,7 +4157,9 @@ mips_elf64_slurp_one_reloc_table (bfd *a
 
 	  relent->addend = rela.r_addend;
 
-	  relent->howto = mips_elf64_rtype_to_howto (type, rela_p);
+	  relent->howto = mips_elf64_rtype_to_howto (abfd, type, rela_p);
+	  if (relent->howto == NULL)
+	    goto error_return;
 
 	  ++relent;
 	}
@@ -4019,7 +4373,8 @@ mips_elf64_write_rel (bfd *abfd, asectio
       int_rel.r_sym = n;
       int_rel.r_ssym = RSS_UNDEF;
 
-      if ((*ptr->sym_ptr_ptr)->the_bfd->xvec != abfd->xvec
+      if ((*ptr->sym_ptr_ptr)->the_bfd != NULL
+	  && (*ptr->sym_ptr_ptr)->the_bfd->xvec != abfd->xvec
 	  && ! _bfd_elf_validate_reloc (abfd, ptr))
 	{
 	  *failedp = TRUE;
@@ -4118,7 +4473,8 @@ mips_elf64_write_rela (bfd *abfd, asecti
       int_rela.r_addend = ptr->addend;
       int_rela.r_ssym = RSS_UNDEF;
 
-      if ((*ptr->sym_ptr_ptr)->the_bfd->xvec != abfd->xvec
+      if ((*ptr->sym_ptr_ptr)->the_bfd != NULL
+	  && (*ptr->sym_ptr_ptr)->the_bfd->xvec != abfd->xvec
 	  && ! _bfd_elf_validate_reloc (abfd, ptr))
 	{
 	  *failedp = TRUE;
@@ -4379,7 +4735,7 @@ const struct elf_size_info mips_elf64_si
 #define elf_backend_gc_mark_extra_sections \
 					_bfd_mips_elf_gc_mark_extra_sections
 #define elf_info_to_howto		mips_elf64_info_to_howto_rela
-#define elf_info_to_howto_rel		mips_elf64_info_to_howto_rel
+#define elf_info_to_howto_rel		mips_elf64_info_to_howto_rela
 #define elf_backend_object_p		mips_elf64_object_p
 #define elf_backend_symbol_processing	_bfd_mips_elf_symbol_processing
 #define elf_backend_section_processing	_bfd_mips_elf_section_processing
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-mmix.c ./bfd/elf64-mmix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-mmix.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-mmix.c	2018-07-10 02:06:11.000000000 +0000
@@ -982,10 +982,10 @@ mmix_elf_perform_relocation (asection *i
 		     a verbose message.  */
 		  *error_message
 		    = _("invalid input relocation when producing"
-			" non-ELF, non-mmo format output."
-			"\n Please use the objcopy program to convert from"
+			" non-ELF, non-mmo format output;"
+			" please use the objcopy program to convert from"
 			" ELF or mmo,"
-			"\n or assemble using"
+			" or assemble using"
 			" \"-no-expand\" (for gcc, \"-Wa,-no-expand\"");
 		  mmix_elf_section_data (isec)->has_warned_pushj = TRUE;
 		  return bfd_reloc_dangerous;
@@ -1166,10 +1166,10 @@ mmix_elf_perform_relocation (asection *i
 		   a verbose message.  */
 		*error_message
 		  = _("invalid input relocation when producing"
-		      " non-ELF, non-mmo format output."
-		      "\n Please use the objcopy program to convert from"
+		      " non-ELF, non-mmo format output;"
+		      " please use the objcopy program to convert from"
 		      " ELF or mmo,"
-		      "\n or compile using the gcc-option"
+		      " or compile using the gcc-option"
 		      " \"-mno-base-addresses\".");
 		mmix_elf_section_data (isec)->has_warned_bpo = TRUE;
 		return bfd_reloc_dangerous;
@@ -1192,11 +1192,11 @@ mmix_elf_perform_relocation (asection *i
 	  {
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: Internal inconsistency error for value for\n\
- linker-allocated global register: linked: %#Lx != relaxed: %#Lx"),
+	      (_("%pB: Internal inconsistency error for value for\n\
+ linker-allocated global register: linked: %#" PRIx64 " != relaxed: %#" PRIx64 ""),
 	       isec->owner,
-	       value,
-	       gregdata->reloc_request[bpo_index].value);
+	       (uint64_t) value,
+	       (uint64_t) gregdata->reloc_request[bpo_index].value);
 	    bfd_set_error (bfd_error_bad_value);
 	    return bfd_reloc_overflow;
 	  }
@@ -1250,8 +1250,8 @@ mmix_elf_perform_relocation (asection *i
 
 /* Set the howto pointer for an MMIX ELF reloc (type RELA).  */
 
-static void
-mmix_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+mmix_info_to_howto_rela (bfd *abfd,
 			 arelent *cache_ptr,
 			 Elf_Internal_Rela *dst)
 {
@@ -1261,10 +1261,13 @@ mmix_info_to_howto_rela (bfd *abfd ATTRI
   if (r_type >= (unsigned int) R_MMIX_max)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid MMIX reloc number: %d"), abfd, r_type);
-      r_type = 0;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = &elf_mmix_howto_table[r_type];
+  return TRUE;
 }
 
 /* Any MMIX-specific relocation gets here at assembly time or when linking
@@ -1613,14 +1616,14 @@ mmix_final_link_relocate (reloc_howto_ty
 	  if (symname == NULL || *symname == 0)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: base-plus-offset relocation against register symbol:"
-		 " (unknown) in %A"),
+	      (_("%pB: base-plus-offset relocation against register symbol:"
+		 " (unknown) in %pA"),
 	       input_section->owner, symsec);
 	  else
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: base-plus-offset relocation against register symbol:"
-		 " %s in %A"),
+	      (_("%pB: base-plus-offset relocation against register symbol:"
+		 " %s in %pA"),
 	       input_section->owner, symname, symsec);
 	  return bfd_reloc_overflow;
 	}
@@ -1664,14 +1667,14 @@ mmix_final_link_relocate (reloc_howto_ty
 	  if (symname == NULL || *symname == 0)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: register relocation against non-register symbol:"
-		 " (unknown) in %A"),
+	      (_("%pB: register relocation against non-register symbol:"
+		 " (unknown) in %pA"),
 	       input_section->owner, symsec);
 	  else
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: register relocation against non-register symbol:"
-		 " %s in %A"),
+	      (_("%pB: register relocation against non-register symbol:"
+		 " %s in %pA"),
 	       input_section->owner, symname, symsec);
 
 	  /* The bfd_reloc_outofrange return value, though intuitively a
@@ -1707,7 +1710,7 @@ mmix_final_link_relocate (reloc_howto_ty
 		       MMIX_REG_SECTION_NAME) != 0)
 	{
 	  _bfd_error_handler
-	    (_("%B: directive LOCAL valid only with a register or absolute value"),
+	    (_("%pB: directive LOCAL valid only with a register or absolute value"),
 	     input_section->owner);
 
 	  return bfd_reloc_overflow;
@@ -1738,9 +1741,10 @@ mmix_final_link_relocate (reloc_howto_ty
 	    /* FIXME: Better error message.  */
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: LOCAL directive: Register $%Ld is not a local register."
-		 "  First global register is $%Ld."),
-	       input_section->owner, srel, first_global);
+	      (_("%pB: LOCAL directive: "
+		 "register $%" PRId64 " is not a local register;"
+		 " first global register is $%" PRId64),
+	       input_section->owner, (int64_t) srel, (int64_t) first_global);
 
 	    return bfd_reloc_overflow;
 	  }
@@ -2166,8 +2170,8 @@ mmix_elf_add_symbol_hook (bfd *abfd,
 	     h->u.def.section->owner is NULL.  */
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: Error: multiple definition of `%s'; start of %s "
-	       "is set in a earlier linked file\n"),
+	    (_("%pB: error: multiple definition of `%s'; start of %s "
+	       "is set in a earlier linked file"),
 	     abfd, *namep,
 	     *namep + strlen (MMIX_LOC_SECTION_START_SYMBOL_PREFIX));
 	   bfd_set_error (bfd_error_bad_value);
@@ -2221,7 +2225,7 @@ mmix_elf_final_link (bfd *abfd, struct b
     {
       /* FIXME: Pass error state gracefully.  */
       if (bfd_get_section_flags (abfd, reg_section) & SEC_HAS_CONTENTS)
-	_bfd_abort (__FILE__, __LINE__, _("Register section has contents\n"));
+	_bfd_abort (__FILE__, __LINE__, _("register section has contents\n"));
 
       /* Really remove the section, if it hasn't already been done.  */
       if (!bfd_section_removed_from_list (abfd, reg_section))
@@ -2411,8 +2415,8 @@ _bfd_mmix_after_linker_allocation (bfd *
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("Internal inconsistency: remaining %lu != max %lu.\n\
-  Please report this bug."),
+	(_("internal inconsistency: remaining %lu != max %lu;"
+	   " please report this bug"),
 	 (unsigned long) gregdata->n_remaining_bpo_relocs_this_relaxation_round,
 	 (unsigned long) gregdata->n_bpo_relocs);
       return FALSE;
@@ -2901,8 +2905,7 @@ mmix_elf_relax_section (bfd *abfd,
 
 #define elf_backend_check_relocs	mmix_elf_check_relocs
 #define elf_backend_symbol_processing	mmix_elf_symbol_processing
-#define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+#define elf_backend_omit_section_dynsym _bfd_elf_omit_section_dynsym_all
 
 #define bfd_elf64_bfd_copy_link_hash_symbol_type \
   _bfd_generic_copy_link_hash_symbol_type
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-nfp.c ./bfd/elf64-nfp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-nfp.c	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/elf64-nfp.c	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1,276 @@
+/* NFP-specific support for 64-bit ELF
+   Copyright (C) 2017-2018 Free Software Foundation, Inc.
+   Contributed by Francois H. Theron <francois.theron@netronome.com>
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+#include "sysdep.h"
+#include "bfd.h"
+#include "libbfd.h"
+#include "elf-bfd.h"
+#include "elf/nfp.h"
+#include "bfd_stdint.h"
+
+
+static bfd_reloc_status_type
+elf64_nfp_reloc (bfd * abfd ATTRIBUTE_UNUSED,
+		 arelent * reloc_entry,
+		 asymbol * symbol,
+		 void *data ATTRIBUTE_UNUSED,
+		 asection * input_section,
+		 bfd * output_bfd,
+		 char **error_message ATTRIBUTE_UNUSED);
+
+/* We don't actually apply any relocations in this toolset
+   so we make them all do nothing, but at least display useful
+   names.
+   Most of these are mainly used by the NFP toolchain to resolve things
+   before the final ELF file is created.  */
+static reloc_howto_type elf_nfp_howto_table[] =
+{
+  HOWTO (R_NFP_NOTYPE,		/* Type.  */
+	 0,			/* Rightshift.  */
+	 3,			/* Size.  */
+	 0,			/* Bitsize.  */
+	 FALSE,			/* PC_relative.  */
+	 0,			/* Bitpos.  */
+	 complain_overflow_dont,/* Complain_on_overflow.  */
+	 elf64_nfp_reloc,	/* Special_function.  */
+	 "R_NFP_NOTYPE",	/* Name.  */
+	 FALSE,			/* Partial_inplace.  */
+	 0,			/* Src_mask.  */
+	 0,			/* Dst_mask.  */
+	 FALSE),		/* PCrel_offset.  */
+  HOWTO (R_NFP_W32LE, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W32LE",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_SRC8_A, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_SRC8_A",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_SRC8_B, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_SRC8_B",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_IMMED8_I, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_IMMED8_I",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_SC, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_SC",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_IMMED_LO16_I_A, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_IMMED_LO16_I_A",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_IMMED_LO16_I_B, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_IMMED_LO16_I_B",
+	 TRUE, 0, 0, FALSE),
+  HOWTO (R_NFP_SRC7_B, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_SRC7_B",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_SRC7_A, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_SRC7_A",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_SRC8_I_B, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_SRC8_I_B",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_SRC8_I_A, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_SRC8_I_A",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_IMMED_HI16_I_A, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_IMMED_HI16_I_A",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_IMMED_HI16_I_B, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_IMMED_HI16_I_B",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W64LE, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W64LE",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_SH_INFO, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_SH_INFO",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W32BE, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W32BE",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W64BE, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W64BE",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W32_29_24, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W32_29_24",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W32LE_AND, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W32LE_AND",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W32BE_AND, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W32BE_AND",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W32LE_OR, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W32LE_OR",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W32BE_OR, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W32BE_OR",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W64LE_AND, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W64LE_AND",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W64BE_AND, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W64BE_AND",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W64LE_OR, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W64LE_OR",
+	 FALSE, 0, 0, FALSE),
+  HOWTO (R_NFP_W64BE_OR, 0, 3, 0, FALSE, 0,
+	 complain_overflow_dont, elf64_nfp_reloc,
+	 "R_NFP_W64BE_OR",
+	 FALSE, 0, 0, FALSE)
+};
+
+static bfd_boolean
+elf64_nfp_object_p (bfd * abfd)
+{
+  /* If the e_machine value is one of the unofficial ones, we convert
+     it first and set e_flags accordingly for later consistency.  */
+  if (elf_elfheader (abfd)->e_machine == E_NFP_MACH_3200)
+    {
+      elf_elfheader (abfd)->e_machine = EM_NFP;
+      elf_elfheader (abfd)->e_flags &= ~EF_NFP_SET_MACH (~0);
+      elf_elfheader (abfd)->e_flags |= EF_NFP_SET_MACH (E_NFP_MACH_3200);
+    }
+  else if (elf_elfheader (abfd)->e_machine == E_NFP_MACH_6000)
+    {
+      elf_elfheader (abfd)->e_machine = EM_NFP;
+      elf_elfheader (abfd)->e_flags &= ~EF_NFP_SET_MACH (~0);
+      elf_elfheader (abfd)->e_flags |= EF_NFP_SET_MACH (E_NFP_MACH_6000);
+    }
+
+  if (elf_elfheader (abfd)->e_machine == EM_NFP)
+    {
+      int e_mach = EF_NFP_MACH (elf_elfheader (abfd)->e_flags);
+
+      switch (e_mach)
+	{
+	case E_NFP_MACH_3200:
+	case E_NFP_MACH_6000:
+	  if (!bfd_default_set_arch_mach (abfd, bfd_arch_nfp, e_mach))
+	    return FALSE;
+	default:
+	  break;
+	}
+    }
+
+  return TRUE;
+}
+
+static bfd_boolean
+elf64_nfp_section_from_shdr (bfd * abfd,
+			     Elf_Internal_Shdr * hdr,
+			     const char *name, int shindex)
+{
+  switch (hdr->sh_type)
+    {
+    case SHT_NFP_INITREG:
+    case SHT_NFP_MECONFIG:
+    case SHT_NFP_UDEBUG:
+      return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+    default:
+      return FALSE;
+    }
+}
+
+bfd_reloc_status_type
+elf64_nfp_reloc (bfd * abfd ATTRIBUTE_UNUSED,
+		 arelent * reloc_entry ATTRIBUTE_UNUSED,
+		 asymbol * symbol ATTRIBUTE_UNUSED,
+		 void *data ATTRIBUTE_UNUSED,
+		 asection * input_section ATTRIBUTE_UNUSED,
+		 bfd * output_bfd ATTRIBUTE_UNUSED,
+		 char **error_message ATTRIBUTE_UNUSED)
+{
+  return bfd_reloc_ok;
+}
+
+static bfd_boolean
+elf64_nfp_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED,
+			 arelent * cache_ptr, Elf_Internal_Rela * dst)
+{
+  unsigned int r_type;
+
+  r_type = ELF64_R_TYPE (dst->r_info);
+  if (r_type >= R_NFP_MAX)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  cache_ptr->howto = &elf_nfp_howto_table[r_type];
+  return TRUE;
+}
+
+static reloc_howto_type *
+elf64_nfp_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+			     bfd_reloc_code_real_type code ATTRIBUTE_UNUSED)
+{
+  return NULL;
+}
+
+static reloc_howto_type *
+elf64_nfp_reloc_name_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+			     const char *r_name ATTRIBUTE_UNUSED)
+{
+  return NULL;
+}
+
+#define ELF_ARCH		bfd_arch_nfp
+#define ELF_MACHINE_CODE	EM_NFP
+#define ELF_MACHINE_ALT1	E_NFP_MACH_6000
+#define ELF_MACHINE_ALT2	E_NFP_MACH_3200
+#define ELF_MAXPAGESIZE		1
+#define TARGET_LITTLE_NAME	"elf64-nfp"
+#define TARGET_LITTLE_SYM       nfp_elf64_vec
+
+#define elf_backend_object_p		elf64_nfp_object_p
+#define elf_backend_section_from_shdr   elf64_nfp_section_from_shdr
+#define elf_info_to_howto		elf64_nfp_info_to_howto
+#define bfd_elf64_bfd_reloc_type_lookup	     elf64_nfp_reloc_type_lookup
+#define bfd_elf64_bfd_reloc_name_lookup      elf64_nfp_reloc_name_lookup
+
+#include "elf64-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-ppc.c ./bfd/elf64-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-ppc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-ppc.c	2018-07-10 02:06:11.000000000 +0000
@@ -64,7 +64,8 @@ static bfd_vma opd_entry_value
 #define ELF_TARGET_ID		PPC64_ELF_DATA
 #define ELF_MACHINE_CODE	EM_PPC64
 #define ELF_MAXPAGESIZE		0x10000
-#define ELF_COMMONPAGESIZE	0x10000
+#define ELF_COMMONPAGESIZE	0x1000
+#define ELF_RELROPAGESIZE	ELF_MAXPAGESIZE
 #define elf_info_to_howto	ppc64_elf_info_to_howto
 
 #define elf_backend_want_got_sym 0
@@ -129,6 +130,7 @@ static bfd_vma opd_entry_value
 
 /* The size in bytes of an entry in the procedure linkage table.  */
 #define PLT_ENTRY_SIZE(htab) (htab->opd_abi ? 24 : 8)
+#define LOCAL_PLT_ENTRY_SIZE(htab) (htab->opd_abi ? 16 : 8)
 
 /* The initial size of the plt reserved for the dynamic linker.  */
 #define PLT_INITIAL_ENTRY_SIZE(htab) (htab->opd_abi ? 24 : 16)
@@ -187,8 +189,9 @@ static bfd_vma opd_entry_value
 #define ADDIS_R12_R12	0x3d8c0000	/* addis %r12,%r12,xxx@ha */
 #define LD_R12_0R12	0xe98c0000	/* ld	 %r12,xxx@l(%r12) */
 
-/* glink call stub instructions.  We enter with the index in R0.  */
-#define GLINK_CALL_STUB_SIZE (16*4)
+/* __glink_PLTresolve stub instructions.  We enter with the index in R0.  */
+#define GLINK_PLTRESOLVE_SIZE(htab)			\
+  (8u + (htab->opd_abi ? 11 * 4 : 14 * 4))
 					/* 0:				*/
 					/*  .quad plt0-1f		*/
 					/* __glink:			*/
@@ -269,7 +272,8 @@ set_abiversion (bfd *abfd, int ver)
 /* Relocation HOWTO's.  */
 static reloc_howto_type *ppc64_elf_howto_table[(int) R_PPC64_max];
 
-static reloc_howto_type ppc64_elf_howto_raw[] = {
+static reloc_howto_type ppc64_elf_howto_raw[] =
+{
   /* This reloc does nothing.  */
   HOWTO (R_PPC64_NONE,		/* type */
 	 0,			/* rightshift */
@@ -1333,6 +1337,8 @@ static reloc_howto_type ppc64_elf_howto_
 	 0,			/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
+  /* Marker reloc for optimizing r2 save in prologue rather than on
+     each plt call stub.  */
   HOWTO (R_PPC64_TOCSAVE,
 	 0,			/* rightshift */
 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
@@ -1347,6 +1353,35 @@ static reloc_howto_type ppc64_elf_howto_
 	 0,			/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
+  /* Marker relocs on inline plt call instructions.  */
+  HOWTO (R_PPC64_PLTSEQ,
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_PPC64_PLTSEQ",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0,			/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_PPC64_PLTCALL,
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_PPC64_PLTCALL",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0,			/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
   /* Computes the load module index of the load module that contains the
      definition of its TLS sym.  */
   HOWTO (R_PPC64_DTPMOD64,
@@ -2230,7 +2265,7 @@ ppc_howto_init (void)
 }
 
 static reloc_howto_type *
-ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+ppc64_elf_reloc_type_lookup (bfd *abfd,
 			     bfd_reloc_code_real_type code)
 {
   enum elf_ppc64_reloc_type r = R_PPC64_NONE;
@@ -2242,6 +2277,9 @@ ppc64_elf_reloc_type_lookup (bfd *abfd A
   switch (code)
     {
     default:
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, (int) code);
+      bfd_set_error (bfd_error_bad_value);
       return NULL;
 
     case BFD_RELOC_NONE:			r = R_PPC64_NONE;
@@ -2494,12 +2532,13 @@ ppc64_elf_reloc_name_lookup (bfd *abfd A
 	&& strcasecmp (ppc64_elf_howto_raw[i].name, r_name) == 0)
       return &ppc64_elf_howto_raw[i];
 
+  
   return NULL;
 }
 
 /* Set the howto pointer for a PowerPC ELF reloc.  */
 
-static void
+static bfd_boolean
 ppc64_elf_info_to_howto (bfd *abfd, arelent *cache_ptr,
 			 Elf_Internal_Rela *dst)
 {
@@ -2513,11 +2552,22 @@ ppc64_elf_info_to_howto (bfd *abfd, arel
   if (type >= ARRAY_SIZE (ppc64_elf_howto_table))
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: invalid relocation type %d"),
-			  abfd, (int) type);
-      type = R_PPC64_NONE;
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
     }
   cache_ptr->howto = ppc64_elf_howto_table[type];
+  if (cache_ptr->howto == NULL || cache_ptr->howto->name == NULL)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  
+  return TRUE;
 }
 
 /* Handle the R_PPC64_ADDR16_HA and similar relocs.  */
@@ -2985,13 +3035,22 @@ ppc64_elf_write_core_note (bfd *abfd, ch
 
     case NT_PRPSINFO:
       {
-	char data[136];
+	char data[136] ATTRIBUTE_NONSTRING;
 	va_list ap;
 
 	va_start (ap, note_type);
 	memset (data, 0, sizeof (data));
 	strncpy (data + 40, va_arg (ap, const char *), 16);
+	DIAGNOSTIC_PUSH;
+	/* GCC 8.1 warns about 80 equals destination size with
+	   -Wstringop-truncation:
+	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
+	 */
+#if GCC_VERSION == 8001
+	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
+#endif
 	strncpy (data + 56, va_arg (ap, const char *), 80);
+	DIAGNOSTIC_POP;
 	va_end (ap);
 	return elfcore_write_note (abfd, buf, bufsiz,
 				   "CORE", note_type, data, sizeof (data));
@@ -3074,6 +3133,9 @@ struct _ppc64_elf_section_data
   /* Flag set when small branches are detected.  Used to
      select suitable defaults for the stub group size.  */
   unsigned int has_14bit_branch:1;
+
+  /* Flag set when PLTCALL relocs are detected.  */
+  unsigned int has_pltcall:1;
 };
 
 #define ppc64_elf_section_data(sec) \
@@ -3252,10 +3314,9 @@ ppc64_elf_get_synthetic_symtab (bfd *abf
 				asymbol **ret)
 {
   asymbol *s;
-  long i;
-  long count;
+  size_t i, j, count;
   char *names;
-  long symcount, codesecsym, codesecsymend, secsymend, opdsymend;
+  size_t symcount, codesecsym, codesecsymend, secsymend, opdsymend;
   asection *opd = NULL;
   bfd_boolean relocatable = (abfd->flags & (EXEC_P | DYNAMIC)) == 0;
   asymbol **syms;
@@ -3300,20 +3361,37 @@ ppc64_elf_get_synthetic_symtab (bfd *abf
       else
 	memcpy (syms, static_syms, (symcount + 1) * sizeof (*syms));
 
+      /* Trim uninteresting symbols.  Interesting symbols are section,
+	 function, and notype symbols.  */
+      for (i = 0, j = 0; i < symcount; ++i)
+	if ((syms[i]->flags & (BSF_FILE | BSF_OBJECT | BSF_THREAD_LOCAL
+			       | BSF_RELC | BSF_SRELC)) == 0)
+	  syms[j++] = syms[i];
+      symcount = j;
+
       synthetic_relocatable = relocatable;
       synthetic_opd = opd;
       qsort (syms, symcount, sizeof (*syms), compare_symbols);
 
       if (!relocatable && symcount > 1)
 	{
-	  long j;
-	  /* Trim duplicate syms, since we may have merged the normal and
-	     dynamic symbols.  Actually, we only care about syms that have
-	     different values, so trim any with the same value.  */
+	  /* Trim duplicate syms, since we may have merged the normal
+	     and dynamic symbols.  Actually, we only care about syms
+	     that have different values, so trim any with the same
+	     value.  Don't consider ifunc and ifunc resolver symbols
+	     duplicates however, because GDB wants to know whether a
+	     text symbol is an ifunc resolver.  */
 	  for (i = 1, j = 1; i < symcount; ++i)
-	    if (syms[i - 1]->value + syms[i - 1]->section->vma
-		!= syms[i]->value + syms[i]->section->vma)
-	      syms[j++] = syms[i];
+	    {
+	      const asymbol *s0 = syms[i - 1];
+	      const asymbol *s1 = syms[i];
+
+	      if ((s0->value + s0->section->vma
+		   != s1->value + s1->section->vma)
+		  || ((s0->flags & BSF_GNU_INDIRECT_FUNCTION)
+		      != (s1->flags & BSF_GNU_INDIRECT_FUNCTION)))
+		syms[j++] = syms[i];
+	    }
 	  symcount = j;
 	}
 
@@ -3322,7 +3400,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abf
 	 sym->section directly.  With separate debug info files, the
 	 symbols will be extracted from the debug file while abfd passed
 	 to this function is the real binary.  */
-      if (opd != NULL && strcmp (syms[i]->section->name, ".opd") == 0)
+      if (strcmp (syms[i]->section->name, ".opd") == 0)
 	++i;
       codesecsym = i;
 
@@ -3357,7 +3435,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abf
       bfd_boolean (*slurp_relocs) (bfd *, asection *, asymbol **, bfd_boolean);
       arelent *r;
       size_t size;
-      long relcount;
+      size_t relcount;
 
       if (opdsymend == secsymend)
 	goto done;
@@ -3456,7 +3534,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abf
       bfd_boolean (*slurp_relocs) (bfd *, asection *, asymbol **, bfd_boolean);
       bfd_byte *contents = NULL;
       size_t size;
-      long plt_count = 0;
+      size_t plt_count = 0;
       bfd_vma glink_vma = 0, resolv_vma = 0;
       asection *dynamic, *glink = NULL, *relplt = NULL;
       arelent *p;
@@ -3515,9 +3593,9 @@ ppc64_elf_get_synthetic_symtab (bfd *abf
 
 	      if (dyn.d_tag == DT_PPC64_GLINK)
 		{
-		  /* The first glink stub starts at offset 32; see
-		     comment in ppc64_elf_finish_dynamic_sections. */
-		  glink_vma = dyn.d_un.d_val + GLINK_CALL_STUB_SIZE - 8 * 4;
+		  /* The first glink stub starts at DT_PPC64_GLINK plus 32.
+		     See comment in ppc64_elf_finish_dynamic_sections. */
+		  glink_vma = dyn.d_un.d_val + 8 * 4;
 		  /* The .glink section usually does not survive the final
 		     link; search for the section (usually .text) where the
 		     glink stubs now reside.  */
@@ -3593,7 +3671,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abf
 	  ent = bfd_get_64 (abfd, contents + syms[i]->value);
 	  if (!sym_exists_at (syms, opdsymend, symcount, -1, ent))
 	    {
-	      long lo, hi;
+	      size_t lo, hi;
 	      size_t len;
 	      asection *sec = abfd->sections;
 
@@ -3602,7 +3680,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abf
 	      hi = codesecsymend;
 	      while (lo < hi)
 		{
-		  long mid = (lo + hi) >> 1;
+		  size_t mid = (lo + hi) >> 1;
 		  if (syms[mid]->section->vma < ent)
 		    lo = mid + 1;
 		  else if (syms[mid]->section->vma > ent)
@@ -3954,6 +4032,9 @@ struct ppc_stub_hash_entry {
   struct ppc_link_hash_entry *h;
   struct plt_entry *plt_ent;
 
+  /* Symbol type.  */
+  unsigned char symtype;
+
   /* Symbol st_other.  */
   unsigned char other;
 };
@@ -4023,22 +4104,30 @@ struct ppc_link_hash_entry
   unsigned int non_zero_localentry:1;
 
   /* Contexts in which symbol is used in the GOT (or TOC).
-     TLS_GD .. TLS_EXPLICIT bits are or'd into the mask as the
-     corresponding relocs are encountered during check_relocs.
-     tls_optimize clears TLS_GD .. TLS_TPREL when optimizing to
-     indicate the corresponding GOT entry type is not needed.
-     tls_optimize may also set TLS_TPRELGD when a GD reloc turns into
-     a TPREL one.  We use a separate flag rather than setting TPREL
-     just for convenience in distinguishing the two cases.  */
-#define TLS_GD		 1	/* GD reloc. */
-#define TLS_LD		 2	/* LD reloc. */
-#define TLS_TPREL	 4	/* TPREL reloc, => IE. */
-#define TLS_DTPREL	 8	/* DTPREL reloc, => LD. */
-#define TLS_TLS		16	/* Any TLS reloc.  */
-#define TLS_EXPLICIT	32	/* Marks TOC section TLS relocs. */
+     Bits are or'd into the mask as the corresponding relocs are
+     encountered during check_relocs, with TLS_TLS being set when any
+     of the other TLS bits are set.  tls_optimize clears bits when
+     optimizing to indicate the corresponding GOT entry type is not
+     needed.  If set, TLS_TLS is never cleared.  tls_optimize may also
+     set TLS_TPRELGD when a GD reloc turns into a TPREL one.  We use a
+     separate flag rather than setting TPREL just for convenience in
+     distinguishing the two cases.
+     These flags are also kept for local symbols.  */
+#define TLS_TLS		 1	/* Any TLS reloc.  */
+#define TLS_GD		 2	/* GD reloc. */
+#define TLS_LD		 4	/* LD reloc. */
+#define TLS_TPREL	 8	/* TPREL reloc, => IE. */
+#define TLS_DTPREL	16	/* DTPREL reloc, => LD. */
+#define TLS_MARK	32	/* __tls_get_addr call marked. */
 #define TLS_TPRELGD	64	/* TPREL reloc resulting from GD->IE. */
-#define PLT_IFUNC      128	/* STT_GNU_IFUNC.  */
+#define TLS_EXPLICIT   128	/* Marks TOC section TLS relocs. */
   unsigned char tls_mask;
+
+  /* The above field is also used to mark function symbols.  In which
+     case TLS_TLS will be 0.  */
+#define PLT_IFUNC	 2	/* STT_GNU_IFUNC.  */
+#define PLT_KEEP	 4	/* inline plt call requires plt entry.  */
+#define NON_GOT        256	/* local symbol plt, not stored.  */
 };
 
 /* ppc64 ELF linker hash table.  */
@@ -4092,7 +4181,10 @@ struct ppc_link_hash_table
 
   /* Shortcuts to get to dynamic linker sections.  */
   asection *glink;
+  asection *global_entry;
   asection *sfpr;
+  asection *pltlocal;
+  asection *relpltlocal;
   asection *brlt;
   asection *relbrlt;
   asection *glink_eh_frame;
@@ -4122,6 +4214,9 @@ struct ppc_link_hash_table
   /* Set if tls optimization is enabled.  */
   unsigned int do_tls_opt:1;
 
+  /* Set if inline plt calls should be converted to direct calls.  */
+  unsigned int can_convert_all_inline_plt:1;
+
   /* Set on error.  */
   unsigned int stub_error:1;
 
@@ -4149,7 +4244,7 @@ struct ppc_link_hash_table
 /* Nonzero if this section has TLS related relocations.  */
 #define has_tls_reloc sec_flg0
 
-/* Nonzero if this section has a call to __tls_get_addr.  */
+/* Nonzero if this section has an old-style call to __tls_get_addr.  */
 #define has_tls_get_addr_call sec_flg1
 
 /* Nonzero if this section has any toc or got relocs.  */
@@ -4431,6 +4526,14 @@ create_linkage_sections (bfd *dynobj, st
       || ! bfd_set_section_alignment (dynobj, htab->glink, 3))
     return FALSE;
 
+  /* The part of .glink used by global entry stubs, separate so that
+     it can be aligned appropriately without affecting htab->glink.  */
+  htab->global_entry = bfd_make_section_anyway_with_flags (dynobj, ".glink",
+							   flags);
+  if (htab->global_entry == NULL
+      || ! bfd_set_section_alignment (dynobj, htab->global_entry, 2))
+    return FALSE;
+
   if (!info->no_ld_generated_unwind_info)
     {
       flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_HAS_CONTENTS
@@ -4466,18 +4569,31 @@ create_linkage_sections (bfd *dynobj, st
       || ! bfd_set_section_alignment (dynobj, htab->brlt, 3))
     return FALSE;
 
+  /* Local plt entries, put in .branch_lt but a separate section for
+     convenience.  */
+  htab->pltlocal = bfd_make_section_anyway_with_flags (dynobj, ".branch_lt",
+						       flags);
+  if (htab->pltlocal == NULL
+      || ! bfd_set_section_alignment (dynobj, htab->pltlocal, 3))
+    return FALSE;
+
   if (!bfd_link_pic (info))
     return TRUE;
 
   flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY
 	   | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED);
-  htab->relbrlt = bfd_make_section_anyway_with_flags (dynobj,
-						      ".rela.branch_lt",
-						      flags);
+  htab->relbrlt
+    = bfd_make_section_anyway_with_flags (dynobj, ".rela.branch_lt", flags);
   if (htab->relbrlt == NULL
       || ! bfd_set_section_alignment (dynobj, htab->relbrlt, 3))
     return FALSE;
 
+  htab->relpltlocal
+    = bfd_make_section_anyway_with_flags (dynobj, ".rela.branch_lt", flags);
+  if (htab->relpltlocal == NULL
+      || ! bfd_set_section_alignment (dynobj, htab->relpltlocal, 3))
+    return FALSE;
+
   return TRUE;
 }
 
@@ -4637,8 +4753,8 @@ ppc_add_stub (const char *stub_name,
   if (stub_entry == NULL)
     {
       /* xgettext:c-format */
-      info->callbacks->einfo (_("%P: %B: cannot create stub entry %s\n"),
-			      section->owner, stub_name);
+      _bfd_error_handler (_("%pB: cannot create stub entry %s"),
+			  section->owner, stub_name);
       return NULL;
     }
 
@@ -4927,11 +5043,6 @@ ppc64_elf_add_symbol_hook (bfd *ibfd,
 			   asection **sec,
 			   bfd_vma *value)
 {
-  if (ELF_ST_TYPE (isym->st_info) == STT_GNU_IFUNC
-      && (ibfd->flags & DYNAMIC) == 0
-      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
-    elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc;
-
   if (*sec != NULL
       && strcmp ((*sec)->name, ".opd") == 0)
     {
@@ -4968,8 +5079,8 @@ ppc64_elf_add_symbol_hook (bfd *ibfd,
 	set_abiversion (ibfd, 2);
       else if (abiversion (ibfd) == 1)
 	{
-	  info->callbacks->einfo (_("%P: symbol '%s' has invalid st_other"
-				    " for ABI version 1\n"), name);
+	  _bfd_error_handler (_("symbol '%s' has invalid st_other"
+				" for ABI version 1"), *name);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -5036,7 +5147,7 @@ ppc64_elf_archive_symbol_lookup (bfd *ab
   len = strlen (name);
   dot_name = bfd_alloc (abfd, len + 2);
   if (dot_name == NULL)
-    return (struct elf_link_hash_entry *) 0 - 1;
+    return (struct elf_link_hash_entry *) -1;
   dot_name[0] = '.';
   memcpy (dot_name + 1, name, len + 1);
   h = _bfd_elf_archive_symbol_lookup (abfd, info, dot_name);
@@ -5143,9 +5254,8 @@ ppc64_elf_before_check_relocs (bfd *ibfd
       else if (abiversion (ibfd) >= 2)
 	{
 	  /* xgettext:c-format */
-	  info->callbacks->einfo (_("%P: %B .opd not allowed in ABI"
-				    " version %d\n"),
-				  ibfd, abiversion (ibfd));
+	  _bfd_error_handler (_("%pB .opd not allowed in ABI version %d"),
+			      ibfd, abiversion (ibfd));
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -5306,7 +5416,7 @@ update_local_sym_info (bfd *abfd, Elf_In
       elf_local_got_ents (abfd) = local_got_ents;
     }
 
-  if ((tls_type & (PLT_IFUNC | TLS_EXPLICIT)) == 0)
+  if ((tls_type & (NON_GOT | TLS_EXPLICIT)) == 0)
     {
       struct got_entry *ent;
 
@@ -5334,7 +5444,7 @@ update_local_sym_info (bfd *abfd, Elf_In
 
   local_plt = (struct plt_entry **) (local_got_ents + symtab_hdr->sh_info);
   local_got_tls_masks = (unsigned char *) (local_plt + symtab_hdr->sh_info);
-  local_got_tls_masks[r_symndx] |= tls_type;
+  local_got_tls_masks[r_symndx] |= tls_type & 0xff;
 
   return local_plt + r_symndx;
 }
@@ -5372,7 +5482,20 @@ is_branch_reloc (enum elf_ppc64_reloc_ty
 	  || r_type == R_PPC64_ADDR24
 	  || r_type == R_PPC64_ADDR14
 	  || r_type == R_PPC64_ADDR14_BRTAKEN
-	  || r_type == R_PPC64_ADDR14_BRNTAKEN);
+	  || r_type == R_PPC64_ADDR14_BRNTAKEN
+	  || r_type == R_PPC64_PLTCALL);
+}
+
+/* Relocs on inline plt call sequence insns prior to the call.  */
+
+static bfd_boolean
+is_plt_seq_reloc (enum elf_ppc64_reloc_type r_type)
+{
+  return (r_type == R_PPC64_PLT16_HA
+	  || r_type == R_PPC64_PLT16_HI
+	  || r_type == R_PPC64_PLT16_LO
+	  || r_type == R_PPC64_PLT16_LO_DS
+	  || r_type == R_PPC64_PLTSEQ);
 }
 
 /* Look through the relocs for a section during the first phase, and
@@ -5460,7 +5583,8 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 	  if (ELF_ST_TYPE (isym->st_info) == STT_GNU_IFUNC)
 	    {
 	      ifunc = update_local_sym_info (abfd, symtab_hdr, r_symndx,
-					     rel->r_addend, PLT_IFUNC);
+					     rel->r_addend,
+					     NON_GOT | PLT_IFUNC);
 	      if (ifunc == NULL)
 		return FALSE;
 	    }
@@ -5473,6 +5597,14 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 	case R_PPC64_TLSLD:
 	  /* These special tls relocs tie a call to __tls_get_addr with
 	     its parameter symbol.  */
+	  if (h != NULL)
+	    ((struct ppc_link_hash_entry *) h)->tls_mask |= TLS_TLS | TLS_MARK;
+	  else
+	    if (!update_local_sym_info (abfd, symtab_hdr, r_symndx,
+					rel->r_addend,
+					NON_GOT | TLS_TLS | TLS_MARK))
+	      return FALSE;
+	  sec->has_tls_reloc = 1;
 	  break;
 
 	case R_PPC64_GOT_TLSLD16:
@@ -5576,6 +5708,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 	case R_PPC64_PLT16_HA:
 	case R_PPC64_PLT16_HI:
 	case R_PPC64_PLT16_LO:
+	case R_PPC64_PLT16_LO_DS:
 	case R_PPC64_PLT32:
 	case R_PPC64_PLT64:
 	  /* This symbol requires a procedure linkage table entry.  */
@@ -5586,20 +5719,13 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 	      if (h->root.root.string[0] == '.'
 		  && h->root.root.string[1] != '\0')
 		((struct ppc_link_hash_entry *) h)->is_func = 1;
+	      ((struct ppc_link_hash_entry *) h)->tls_mask |= PLT_KEEP;
 	      plt_list = &h->plt.plist;
 	    }
 	  if (plt_list == NULL)
-	    {
-	      /* It does not make sense to have a procedure linkage
-		 table entry for a non-ifunc local symbol.  */
-	      info->callbacks->einfo
-		/* xgettext:c-format */
-		(_("%H: %s reloc against local symbol\n"),
-		 abfd, sec, rel->r_offset,
-		 ppc64_elf_howto_table[r_type]->name);
-	      bfd_set_error (bfd_error_bad_value);
-	      return FALSE;
-	    }
+	    plt_list = update_local_sym_info (abfd, symtab_hdr, r_symndx,
+					      rel->r_addend,
+					      NON_GOT | PLT_KEEP);
 	  if (!update_plt_info (abfd, plt_list, rel->r_addend))
 	    return FALSE;
 	  break;
@@ -5643,7 +5769,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 		ppc_howto_init ();
 	      /* xgettext:c-format */
 	      info->callbacks->einfo (_("%H: %s reloc unsupported "
-					"in shared libraries and PIEs.\n"),
+					"in shared libraries and PIEs\n"),
 				      abfd, sec, rel->r_offset,
 				      ppc64_elf_howto_table[r_type]->name);
 	      bfd_set_error (bfd_error_bad_value);
@@ -5713,9 +5839,14 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 	    if (dest != sec)
 	      ppc64_elf_section_data (sec)->has_14bit_branch = 1;
 	  }
+	  goto rel24;
+
+	case R_PPC64_PLTCALL:
+	  ppc64_elf_section_data (sec)->has_pltcall = 1;
 	  /* Fall through.  */
 
 	case R_PPC64_REL24:
+	rel24:
 	  plt_list = ifunc;
 	  if (h != NULL)
 	    {
@@ -6032,7 +6163,7 @@ ppc64_elf_merge_private_bfd_data (bfd *i
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B uses unknown e_flags 0x%lx"), ibfd, iflags);
+	(_("%pB uses unknown e_flags 0x%lx"), ibfd, iflags);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
     }
@@ -6040,7 +6171,7 @@ ppc64_elf_merge_private_bfd_data (bfd *i
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: ABI version %ld is not compatible with ABI version %ld output"),
+	(_("%pB: ABI version %ld is not compatible with ABI version %ld output"),
 	 ibfd, iflags, oflags);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -6049,9 +6180,7 @@ ppc64_elf_merge_private_bfd_data (bfd *i
   _bfd_elf_ppc_merge_fp_attributes (ibfd, info);
 
   /* Merge Tag_compatibility attributes and any common GNU ones.  */
-  _bfd_elf_merge_object_attributes (ibfd, info);
-
-  return TRUE;
+  return _bfd_elf_merge_object_attributes (ibfd, info);
 }
 
 static bfd_boolean
@@ -6447,7 +6576,7 @@ ppc64_elf_gc_mark_dynamic_ref (struct el
 
   if ((eh->elf.root.type == bfd_link_hash_defined
        || eh->elf.root.type == bfd_link_hash_defweak)
-      && (eh->elf.ref_dynamic
+      && ((eh->elf.ref_dynamic && !eh->elf.forced_local)
 	  || ((eh->elf.def_regular || ELF_COMMON_DEF_P (&eh->elf))
 	      && ELF_ST_VISIBILITY (eh->elf.other) != STV_INTERNAL
 	      && ELF_ST_VISIBILITY (eh->elf.other) != STV_HIDDEN
@@ -6635,7 +6764,7 @@ sfpr_define (struct bfd_link_info *info,
 		{
 		  s->root.type = bfd_link_hash_defined;
 		  s->root.u.def.section = stub_sec;
-		  s->root.u.def.value = (stub_sec->size
+		  s->root.u.def.value = (stub_sec->size - htab->sfpr->size
 					 + h->elf.root.u.def.value);
 		  s->ref_regular = 1;
 		  s->def_regular = 1;
@@ -7153,7 +7282,11 @@ ppc64_elf_adjust_dynamic_symbol (struct 
 	if (ent->plt.refcount > 0)
 	  break;
       if (ent == NULL
-	  || (h->type != STT_GNU_IFUNC && local))
+	  || (h->type != STT_GNU_IFUNC
+	      && local
+	      && (htab->can_convert_all_inline_plt
+		  || (((struct ppc_link_hash_entry *) h)->tls_mask
+		      & (TLS_TLS | PLT_KEEP)) != PLT_KEEP)))
 	{
 	  h->plt.plist = NULL;
 	  h->needs_plt = 0;
@@ -7173,8 +7306,8 @@ ppc64_elf_adjust_dynamic_symbol (struct 
 	      if (!readonly_dynrelocs (h))
 		{
 		  h->pointer_equality_needed = 0;
-		  /* If we haven't seen a branch reloc then we don't need
-		     a plt entry.  */
+		  /* If we haven't seen a branch reloc and the symbol
+		     isn't an ifunc then we don't need a plt entry.  */
 		  if (!h->needs_plt)
 		    h->plt.plist = NULL;
 		}
@@ -7190,8 +7323,8 @@ ppc64_elf_adjust_dynamic_symbol (struct 
       else if (!h->needs_plt
 	       && !readonly_dynrelocs (h))
 	{
-	  /* If we haven't seen a branch reloc then we don't need a
-	     plt entry.  */
+	  /* If we haven't seen a branch reloc and the symbol isn't an
+	     ifunc then we don't need a plt entry.  */
 	  h->plt.plist = NULL;
 	  h->pointer_equality_needed = 0;
 	  return TRUE;
@@ -7252,7 +7385,7 @@ ppc64_elf_adjust_dynamic_symbol (struct 
 	 sections.  Allow them to proceed, but warn that this might
 	 break at runtime.  */
       info->callbacks->einfo
-	(_("%P: copy reloc against `%T' requires lazy plt linking; "
+	(_("%P: copy reloc against `%pT' requires lazy plt linking; "
 	   "avoid setting LD_BIND_NOW=1 or upgrade gcc\n"),
 	 h->root.root.string);
     }
@@ -7467,7 +7600,9 @@ get_tls_mask (unsigned char **tls_maskp,
   if (!get_sym_h (&h, &sym, &sec, tls_maskp, locsymsp, r_symndx, ibfd))
     return 0;
 
-  if ((*tls_maskp != NULL && **tls_maskp != 0)
+  if ((*tls_maskp != NULL
+       && (**tls_maskp & TLS_TLS) != 0
+       && **tls_maskp != (TLS_TLS | TLS_MARK))
       || sec == NULL
       || ppc64_elf_section_data (sec) == NULL
       || ppc64_elf_section_data (sec)->sec_type != sec_toc)
@@ -7519,7 +7654,7 @@ tocsave_find (struct ppc_link_hash_table
   if (ent.sec == NULL || ent.sec->output_section == NULL)
     {
       _bfd_error_handler
-	(_("%B: undefined symbol on R_PPC64_TOCSAVE relocation"), ibfd);
+	(_("%pB: undefined symbol on R_PPC64_TOCSAVE relocation"), ibfd);
       return NULL;
     }
 
@@ -7746,8 +7881,8 @@ dec_dynrel_count (bfd_vma r_info,
     }
 
   /* xgettext:c-format */
-  info->callbacks->einfo (_("%P: dynreloc miscount for %B, section %A\n"),
-			  sec->owner, sec);
+  _bfd_error_handler (_("dynreloc miscount for %pB, section %pA"),
+		      sec->owner, sec);
   bfd_set_error (bfd_error_bad_value);
   return FALSE;
 }
@@ -7835,7 +7970,7 @@ ppc64_elf_edit_opd (struct bfd_link_info
 		 optimization for them!  */
 	    broken_opd:
 	      _bfd_error_handler
-		(_("%B: .opd is not a regular array of opd entries"), ibfd);
+		(_("%pB: .opd is not a regular array of opd entries"), ibfd);
 	      broken = TRUE;
 	      break;
 	    }
@@ -7845,7 +7980,7 @@ ppc64_elf_edit_opd (struct bfd_link_info
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: unexpected reloc type %u in .opd section"),
+		(_("%pB: unexpected reloc type %u in .opd section"),
 		 ibfd, r_type);
 	      broken = TRUE;
 	      break;
@@ -7867,7 +8002,7 @@ ppc64_elf_edit_opd (struct bfd_link_info
 
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: undefined sym `%s' in .opd section"),
+		(_("%pB: undefined sym `%s' in .opd section"),
 		 ibfd, sym_name);
 	      broken = TRUE;
 	      break;
@@ -8165,6 +8300,153 @@ ppc64_elf_edit_opd (struct bfd_link_info
   return TRUE;
 }
 
+/* Analyze inline PLT call relocations to see whether calls to locally
+   defined functions can be converted to direct calls.  */
+
+bfd_boolean
+ppc64_elf_inline_plt (struct bfd_link_info *info)
+{
+  struct ppc_link_hash_table *htab;
+  bfd *ibfd;
+  asection *sec;
+  bfd_vma low_vma, high_vma, limit;
+
+  htab = ppc_hash_table (info);
+  if (htab == NULL)
+    return FALSE;
+
+  /* A bl insn can reach -0x2000000 to 0x1fffffc.  The limit is
+     reduced somewhat to cater for possible stubs that might be added
+     between the call and its destination.  */
+  if (htab->params->group_size < 0)
+    {
+      limit = -htab->params->group_size;
+      if (limit == 1)
+	limit = 0x1e00000;
+    }
+  else
+    {
+      limit = htab->params->group_size;
+      if (limit == 1)
+	limit = 0x1c00000;
+    }
+
+  low_vma = -1;
+  high_vma = 0;
+  for (sec = info->output_bfd->sections; sec != NULL; sec = sec->next)
+    if ((sec->flags & (SEC_ALLOC | SEC_CODE)) == (SEC_ALLOC | SEC_CODE))
+      {
+	if (low_vma > sec->vma)
+	  low_vma = sec->vma;
+	if (high_vma < sec->vma + sec->size)
+	  high_vma = sec->vma + sec->size;
+      }
+
+  /* If a "bl" can reach anywhere in local code sections, then we can
+     convert all inline PLT sequences to direct calls when the symbol
+     is local.  */
+  if (high_vma - low_vma < limit)
+    {
+      htab->can_convert_all_inline_plt = 1;
+      return TRUE;
+    }
+
+  /* Otherwise, go looking through relocs for cases where a direct
+     call won't reach.  Mark the symbol on any such reloc to disable
+     the optimization and keep the PLT entry as it seems likely that
+     this will be better than creating trampolines.  Note that this
+     will disable the optimization for all inline PLT calls to a
+     particular symbol, not just those that won't reach.  The
+     difficulty in doing a more precise optimization is that the
+     linker needs to make a decision depending on whether a
+     particular R_PPC64_PLTCALL insn can be turned into a direct
+     call, for each of the R_PPC64_PLTSEQ and R_PPC64_PLT16* insns in
+     the sequence, and there is nothing that ties those relocs
+     together except their symbol.  */
+
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
+    {
+      Elf_Internal_Shdr *symtab_hdr;
+      Elf_Internal_Sym *local_syms;
+
+      if (!is_ppc64_elf (ibfd))
+	continue;
+
+      local_syms = NULL;
+      symtab_hdr = &elf_symtab_hdr (ibfd);
+
+      for (sec = ibfd->sections; sec != NULL; sec = sec->next)
+	if (ppc64_elf_section_data (sec)->has_pltcall
+	    && !bfd_is_abs_section (sec->output_section))
+	  {
+	    Elf_Internal_Rela *relstart, *rel, *relend;
+
+	    /* Read the relocations.  */
+	    relstart = _bfd_elf_link_read_relocs (ibfd, sec, NULL, NULL,
+						  info->keep_memory);
+	    if (relstart == NULL)
+	      return FALSE;
+
+	    relend = relstart + sec->reloc_count;
+	    for (rel = relstart; rel < relend; )
+	      {
+		enum elf_ppc64_reloc_type r_type;
+		unsigned long r_symndx;
+		asection *sym_sec;
+		struct elf_link_hash_entry *h;
+		Elf_Internal_Sym *sym;
+		unsigned char *tls_maskp;
+
+		r_type = ELF64_R_TYPE (rel->r_info);
+		if (r_type != R_PPC64_PLTCALL)
+		  continue;
+
+		r_symndx = ELF64_R_SYM (rel->r_info);
+		if (!get_sym_h (&h, &sym, &sym_sec, &tls_maskp, &local_syms,
+				r_symndx, ibfd))
+		  {
+		    if (elf_section_data (sec)->relocs != relstart)
+		      free (relstart);
+		    if (local_syms != NULL
+			&& symtab_hdr->contents != (unsigned char *) local_syms)
+		      free (local_syms);
+		    return FALSE;
+		  }
+
+		if (sym_sec != NULL && sym_sec->output_section != NULL)
+		  {
+		    bfd_vma from, to;
+		    if (h != NULL)
+		      to = h->root.u.def.value;
+		    else
+		      to = sym->st_value;
+		    to += (rel->r_addend
+			   + sym_sec->output_offset
+			   + sym_sec->output_section->vma);
+		    from = (rel->r_offset
+			    + sec->output_offset
+			    + sec->output_section->vma);
+		    if (to - from + limit < 2 * limit)
+		      *tls_maskp &= ~PLT_KEEP;
+		  }
+	      }
+	    if (elf_section_data (sec)->relocs != relstart)
+	      free (relstart);
+	  }
+
+      if (local_syms != NULL
+	  && symtab_hdr->contents != (unsigned char *) local_syms)
+	{
+	  if (!info->keep_memory)
+	    free (local_syms);
+	  else
+	    symtab_hdr->contents = (unsigned char *) local_syms;
+	}
+    }
+
+  return TRUE;
+}
+
 /* Set htab->tls_get_addr and call the generic ELF tls_setup function.  */
 
 asection *
@@ -8203,9 +8485,9 @@ ppc64_elf_tls_setup (struct bfd_link_inf
   if (htab->params->plt_localentry0
       && elf_link_hash_lookup (&htab->elf, "GLIBC_2.26",
 			       FALSE, FALSE, FALSE) == NULL)
-    info->callbacks->einfo
-      (_("%P: warning: --plt-localentry is especially dangerous without "
-	 "ld.so support to detect ABI violations.\n"));
+    _bfd_error_handler
+      (_("warning: --plt-localentry is especially dangerous without "
+	 "ld.so support to detect ABI violations"));
 
   htab->tls_get_addr = ((struct ppc_link_hash_entry *)
 			elf_link_hash_lookup (&htab->elf, ".__tls_get_addr",
@@ -8517,6 +8799,33 @@ ppc64_elf_tls_optimize (struct bfd_link_
 
 		    case R_PPC64_TLSGD:
 		    case R_PPC64_TLSLD:
+		      if (rel + 1 < relend
+			  && is_plt_seq_reloc (ELF64_R_TYPE (rel[1].r_info)))
+			{
+			  if (pass != 0
+			      && ELF64_R_TYPE (rel[1].r_info) != R_PPC64_PLTSEQ)
+			    {
+			      r_symndx = ELF64_R_SYM (rel[1].r_info);
+			      if (!get_sym_h (&h, NULL, NULL, NULL, &locsyms,
+				  r_symndx, ibfd))
+				goto err_free_rel;
+			      if (h != NULL)
+				{
+				  struct plt_entry *ent = NULL;
+
+				  for (ent = h->plt.plist;
+				       ent != NULL;
+				       ent = ent->next)
+				    if (ent->addend == rel[1].r_addend)
+				      break;
+
+				  if (ent != NULL
+				      && ent->plt.refcount > 0)
+				    ent->plt.refcount -= 1;
+				}
+			    }
+			  continue;
+			}
 		      found_tls_get_addr_arg = 1;
 		      /* Fall through.  */
 
@@ -8634,7 +8943,8 @@ ppc64_elf_tls_optimize (struct bfd_link_
 				goto err_free_rel;
 			      if (toc_tls != NULL)
 				{
-				  if ((*toc_tls & (TLS_GD | TLS_LD)) != 0)
+				  if ((*toc_tls & TLS_TLS) != 0
+				      && ((*toc_tls & (TLS_GD | TLS_LD)) != 0))
 				    found_tls_get_addr_arg = 1;
 				  if (retval > 1)
 				    toc_ref[toc_ref_index] = 1;
@@ -8643,9 +8953,6 @@ ppc64_elf_tls_optimize (struct bfd_link_
 			  continue;
 			}
 
-		      if (expecting_tls_get_addr != 1)
-			continue;
-
 		      /* Uh oh, we didn't find the expected call.  We
 			 could just mark this symbol to exclude it
 			 from tls optimization but it's safer to skip
@@ -8658,35 +8965,41 @@ ppc64_elf_tls_optimize (struct bfd_link_
 		      goto err_free_rel;
 		    }
 
-		  if (expecting_tls_get_addr && htab->tls_get_addr != NULL)
+		  /* If we don't have old-style __tls_get_addr calls
+		     without TLSGD/TLSLD marker relocs, and we haven't
+		     found a new-style __tls_get_addr call with a
+		     marker for this symbol, then we either have a
+		     broken object file or an -mlongcall style
+		     indirect call to __tls_get_addr without a marker.
+		     Disable optimization in this case.  */
+		  if ((tls_clear & (TLS_GD | TLS_LD)) != 0
+		      && (tls_set & TLS_EXPLICIT) == 0
+		      && !sec->has_tls_get_addr_call
+		      && ((*tls_mask & (TLS_TLS | TLS_MARK))
+			  != (TLS_TLS | TLS_MARK)))
+		    continue;
+
+		  if (expecting_tls_get_addr)
 		    {
-		      struct plt_entry *ent;
-		      for (ent = htab->tls_get_addr->elf.plt.plist;
-			   ent != NULL;
-			   ent = ent->next)
-			if (ent->addend == 0)
-			  {
-			    if (ent->plt.refcount > 0)
-			      {
-				ent->plt.refcount -= 1;
-				expecting_tls_get_addr = 0;
-			      }
+		      struct plt_entry *ent = NULL;
+
+		      if (htab->tls_get_addr != NULL)
+			for (ent = htab->tls_get_addr->elf.plt.plist;
+			     ent != NULL;
+			     ent = ent->next)
+			  if (ent->addend == 0)
 			    break;
-			  }
-		    }
 
-		  if (expecting_tls_get_addr && htab->tls_get_addr_fd != NULL)
-		    {
-		      struct plt_entry *ent;
-		      for (ent = htab->tls_get_addr_fd->elf.plt.plist;
-			   ent != NULL;
-			   ent = ent->next)
-			if (ent->addend == 0)
-			  {
-			    if (ent->plt.refcount > 0)
-			      ent->plt.refcount -= 1;
+		      if (ent == NULL && htab->tls_get_addr_fd != NULL)
+			for (ent = htab->tls_get_addr_fd->elf.plt.plist;
+			     ent != NULL;
+			     ent = ent->next)
+			  if (ent->addend == 0)
 			    break;
-			  }
+
+		      if (ent != NULL
+			  && ent->plt.refcount > 0)
+			ent->plt.refcount -= 1;
 		    }
 
 		  if (tls_clear == 0)
@@ -9163,7 +9476,7 @@ ppc64_elf_edit_toc (struct bfd_link_info
 			  info->callbacks->einfo
 			    /* xgettext:c-format */
 			    (_("%H: toc optimization is not supported for"
-			       " %s instruction.\n"),
+			       " %s instruction\n"),
 			     ibfd, sec, rel->r_offset & ~3, str);
 			}
 		    }
@@ -9617,7 +9930,7 @@ allocate_dynrelocs (struct elf_link_hash
   eh = (struct ppc_link_hash_entry *) h;
   /* Run through the TLS GD got entries first if we're changing them
      to TPREL.  */
-  if ((eh->tls_mask & TLS_TPRELGD) != 0)
+  if ((eh->tls_mask & (TLS_TLS | TLS_TPRELGD)) == (TLS_TLS | TLS_TPRELGD))
     for (gent = h->got.glist; gent != NULL; gent = gent->next)
       if (gent->got.refcount > 0
 	  && (gent->tls_type & TLS_GD) != 0)
@@ -9760,9 +10073,20 @@ allocate_dynrelocs (struct elf_link_hash
 	}
     }
 
-  if ((htab->elf.dynamic_sections_created
-       && h->dynindx != -1)
-      || h->type == STT_GNU_IFUNC)
+  /* We might need a PLT entry when the symbol
+     a) is dynamic, or
+     b) is an ifunc, or
+     c) has plt16 relocs and has been processed by adjust_dynamic_symbol, or
+     d) has plt16 relocs and we are linking statically.  */
+  if ((htab->elf.dynamic_sections_created && h->dynindx != -1)
+      || h->type == STT_GNU_IFUNC
+      || (h->needs_plt && h->dynamic_adjusted)
+      || (h->needs_plt
+	  && h->def_regular
+	  && !htab->elf.dynamic_sections_created
+	  && !htab->can_convert_all_inline_plt
+	  && (((struct ppc_link_hash_entry *) h)->tls_mask
+	      & (TLS_TLS | PLT_KEEP)) == PLT_KEEP))
     {
       struct plt_entry *pent;
       bfd_boolean doneone = FALSE;
@@ -9772,10 +10096,20 @@ allocate_dynrelocs (struct elf_link_hash
 	    if (!htab->elf.dynamic_sections_created
 		|| h->dynindx == -1)
 	      {
-		s = htab->elf.iplt;
-		pent->plt.offset = s->size;
-		s->size += PLT_ENTRY_SIZE (htab);
-		s = htab->elf.irelplt;
+		if (h->type == STT_GNU_IFUNC)
+		  {
+		    s = htab->elf.iplt;
+		    pent->plt.offset = s->size;
+		    s->size += PLT_ENTRY_SIZE (htab);
+		    s = htab->elf.irelplt;
+		  }
+		else
+		  {
+		    s = htab->pltlocal;
+		    pent->plt.offset = s->size;
+		    s->size += LOCAL_PLT_ENTRY_SIZE (htab);
+		    s = bfd_link_pic (info) ? htab->relpltlocal : NULL;
+		  }
 	      }
 	    else
 	      {
@@ -9793,11 +10127,11 @@ allocate_dynrelocs (struct elf_link_hash
 		/* Make room for the .glink code.  */
 		s = htab->glink;
 		if (s->size == 0)
-		  s->size += GLINK_CALL_STUB_SIZE;
+		  s->size += GLINK_PLTRESOLVE_SIZE (htab);
 		if (htab->opd_abi)
 		  {
 		    /* We need bigger stubs past index 32767.  */
-		    if (s->size >= GLINK_CALL_STUB_SIZE + 32768*2*4)
+		    if (s->size >= GLINK_PLTRESOLVE_SIZE (htab) + 32768*2*4)
 		      s->size += 4;
 		    s->size += 2*4;
 		  }
@@ -9807,7 +10141,8 @@ allocate_dynrelocs (struct elf_link_hash
 		/* We also need to make an entry in the .rela.plt section.  */
 		s = htab->elf.srelplt;
 	      }
-	    s->size += sizeof (Elf64_External_Rela);
+	    if (s != NULL)
+	      s->size += sizeof (Elf64_External_Rela);
 	    doneone = TRUE;
 	  }
 	else
@@ -9827,6 +10162,10 @@ allocate_dynrelocs (struct elf_link_hash
   return TRUE;
 }
 
+#define PPC_LO(v) ((v) & 0xffff)
+#define PPC_HI(v) (((v) >> 16) & 0xffff)
+#define PPC_HA(v) PPC_HI ((v) + 0x8000)
+
 /* Called via elf_link_hash_traverse from ppc64_elf_size_dynamic_sections
    to set up space for global entry stubs.  These are put in glink,
    after the branch table.  */
@@ -9837,7 +10176,7 @@ size_global_entry_stubs (struct elf_link
   struct bfd_link_info *info;
   struct ppc_link_hash_table *htab;
   struct plt_entry *pent;
-  asection *s;
+  asection *s, *plt;
 
   if (h->root.type == bfd_link_hash_indirect)
     return TRUE;
@@ -9853,7 +10192,8 @@ size_global_entry_stubs (struct elf_link
   if (htab == NULL)
     return FALSE;
 
-  s = htab->glink;
+  s = htab->global_entry;
+  plt = htab->elf.splt;
   for (pent = h->plt.plist; pent != NULL; pent = pent->next)
     if (pent->plt.offset != (bfd_vma) -1
 	&& pent->addend == 0)
@@ -9862,11 +10202,39 @@ size_global_entry_stubs (struct elf_link
 	   and we are not generating a shared library or pie, then we
 	   need to define the symbol in the executable on a call stub.
 	   This is to avoid text relocations.  */
-	s->size = (s->size + 15) & -16;
+	bfd_vma off, stub_align, stub_off, stub_size;
+	unsigned int align_power;
+
+	stub_size = 16;
+	stub_off = s->size;
+	if (htab->params->plt_stub_align >= 0)
+	  align_power = htab->params->plt_stub_align;
+	else
+	  align_power = -htab->params->plt_stub_align;
+	/* Setting section alignment is delayed until we know it is
+	   non-empty.  Otherwise the .text output section will be
+	   aligned at least to plt_stub_align even when no global
+	   entry stubs are needed.  */
+	if (s->alignment_power < align_power)
+	  s->alignment_power = align_power;
+	stub_align = (bfd_vma) 1 << align_power;
+	if (htab->params->plt_stub_align >= 0
+	    || ((((stub_off + stub_size - 1) & -stub_align)
+		 - (stub_off & -stub_align))
+		> ((stub_size - 1) & -stub_align)))
+	  stub_off = (stub_off + stub_align - 1) & -stub_align;
+	off = pent->plt.offset + plt->output_offset + plt->output_section->vma;
+	off -= stub_off + s->output_offset + s->output_section->vma;
+	/* Note that for --plt-stub-align negative we have a possible
+	   dependency between stub offset and size.  Break that
+	   dependency by assuming the max stub size when calculating
+	   the stub offset.  */
+	if (PPC_HA (off) == 0)
+	  stub_size -= 4;
 	h->root.type = bfd_link_hash_defined;
 	h->root.u.def.section = s;
-	h->root.u.def.value = s->size;
-	s->size += 16;
+	h->root.u.def.value = stub_off;
+	s->size = stub_off + stub_size;
 	break;
       }
   return TRUE;
@@ -9890,7 +10258,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -10010,7 +10378,7 @@ ppc64_elf_size_dynamic_sections (bfd *ou
 			rel_size *= 2;
 		      }
 		    s->size += ent_size;
-		    if ((*lgot_masks & PLT_IFUNC) != 0)
+		    if ((*lgot_masks & (TLS_TLS | PLT_IFUNC)) == PLT_IFUNC)
 		      {
 			htab->elf.irelplt->size += rel_size;
 			htab->got_reli_size += rel_size;
@@ -10029,19 +10397,33 @@ ppc64_elf_size_dynamic_sections (bfd *ou
 	      *pent = ent->next;
 	}
 
-      /* Allocate space for calls to local STT_GNU_IFUNC syms in .iplt.  */
-      for (; local_plt < end_local_plt; ++local_plt)
+      /* Allocate space for plt calls to local syms.  */
+      lgot_masks = (unsigned char *) end_local_plt;
+      for (; local_plt < end_local_plt; ++local_plt, ++lgot_masks)
 	{
 	  struct plt_entry *ent;
 
 	  for (ent = *local_plt; ent != NULL; ent = ent->next)
 	    if (ent->plt.refcount > 0)
 	      {
-		s = htab->elf.iplt;
-		ent->plt.offset = s->size;
-		s->size += PLT_ENTRY_SIZE (htab);
-
-		htab->elf.irelplt->size += sizeof (Elf64_External_Rela);
+		if ((*lgot_masks & (TLS_TLS | PLT_IFUNC)) == PLT_IFUNC)
+		  {
+		    s = htab->elf.iplt;
+		    ent->plt.offset = s->size;
+		    s->size += PLT_ENTRY_SIZE (htab);
+		    htab->elf.irelplt->size += sizeof (Elf64_External_Rela);
+		  }
+		else if (htab->can_convert_all_inline_plt
+			 || (*lgot_masks & (TLS_TLS | PLT_KEEP)) != PLT_KEEP)
+		  ent->plt.offset = (bfd_vma) -1;
+		else
+		  {
+		    s = htab->pltlocal;
+		    ent->plt.offset = s->size;
+		    s->size += LOCAL_PLT_ENTRY_SIZE (htab);
+		    if (bfd_link_pic (info))
+		      htab->relpltlocal->size += sizeof (Elf64_External_Rela);
+		  }
 	      }
 	    else
 	      ent->plt.offset = (bfd_vma) -1;
@@ -10051,9 +10433,6 @@ ppc64_elf_size_dynamic_sections (bfd *ou
   /* Allocate global sym .plt and .got entries, and space for global
      sym dynamic relocs.  */
   elf_link_hash_traverse (&htab->elf, allocate_dynrelocs, info);
-  /* Stash the end of glink branch table.  */
-  if (htab->glink != NULL)
-    htab->glink->rawsize = htab->glink->size;
 
   if (!htab->opd_abi && !bfd_link_pic (info))
     elf_link_hash_traverse (&htab->elf, size_global_entry_stubs, info);
@@ -10107,7 +10486,9 @@ ppc64_elf_size_dynamic_sections (bfd *ou
       else if (s == htab->elf.sgot
 	       || s == htab->elf.splt
 	       || s == htab->elf.iplt
+	       || s == htab->pltlocal
 	       || s == htab->glink
+	       || s == htab->global_entry
 	       || s == htab->elf.sdynbss
 	       || s == htab->elf.sdynrelro)
 	{
@@ -10360,7 +10741,9 @@ ppc_type_of_stub (asection *input_sec,
 
   /* Determine if a long branch stub is needed.  */
   max_branch_offset = 1 << 25;
-  if (r_type != R_PPC64_REL24)
+  if (r_type == R_PPC64_REL14
+      || r_type == R_PPC64_REL14_BRTAKEN
+      || r_type == R_PPC64_REL14_BRNTAKEN)
     max_branch_offset = 1 << 15;
 
   if (branch_offset + max_branch_offset >= 2 * max_branch_offset - local_off)
@@ -10393,10 +10776,6 @@ ppc_type_of_stub (asection *input_sec,
 #define ALWAYS_USE_FAKE_DEP 0
 #define ALWAYS_EMIT_R2SAVE 0
 
-#define PPC_LO(v) ((v) & 0xffff)
-#define PPC_HI(v) (((v) >> 16) & 0xffff)
-#define PPC_HA(v) PPC_HI ((v) + 0x8000)
-
 static inline unsigned int
 plt_stub_size (struct ppc_link_hash_table *htab,
 	       struct ppc_stub_hash_entry *stub_entry,
@@ -10492,7 +10871,7 @@ build_plt_stub (struct ppc_link_hash_tab
       bfd_vma pltoff = stub_entry->plt_ent->plt.offset & ~1;
       bfd_vma pltindex = ((pltoff - PLT_INITIAL_ENTRY_SIZE (htab))
 			  / PLT_ENTRY_SIZE (htab));
-      bfd_vma glinkoff = GLINK_CALL_STUB_SIZE + pltindex * 8;
+      bfd_vma glinkoff = GLINK_PLTRESOLVE_SIZE (htab) + pltindex * 8;
       bfd_vma to, from;
 
       if (pltindex > 32768)
@@ -10743,7 +11122,7 @@ get_r2off (struct bfd_link_info *info,
       if (strcmp (opd->name, ".opd") != 0
 	  || opd->reloc_count != 0)
 	{
-	  info->callbacks->einfo (_("%P: cannot find opd entry toc for `%T'\n"),
+	  info->callbacks->einfo (_("%P: cannot find opd entry toc for `%pT'\n"),
 				  stub_entry->h->elf.root.root.string);
 	  bfd_set_error (bfd_error_bad_value);
 	  return (bfd_vma) -1;
@@ -10767,7 +11146,6 @@ ppc_build_one_stub (struct bfd_hash_entr
   bfd_byte *loc;
   bfd_byte *p;
   bfd_vma dest, off;
-  int size;
   Elf_Internal_Rela *r;
   asection *plt;
 
@@ -10800,7 +11178,7 @@ ppc_build_one_stub (struct bfd_hash_entr
 	      + stub_entry->group->stub_sec->output_offset
 	      + stub_entry->group->stub_sec->output_section->vma);
 
-      size = 4;
+      p = loc;
       if (stub_entry->stub_type == ppc_stub_long_branch_r2off)
 	{
 	  bfd_vma r2off = get_r2off (info, stub_entry);
@@ -10810,31 +11188,29 @@ ppc_build_one_stub (struct bfd_hash_entr
 	      htab->stub_error = TRUE;
 	      return FALSE;
 	    }
-	  bfd_put_32 (htab->params->stub_bfd, STD_R2_0R1 + STK_TOC (htab), loc);
-	  loc += 4;
-	  size = 8;
+	  bfd_put_32 (htab->params->stub_bfd, STD_R2_0R1 + STK_TOC (htab), p);
+	  p += 4;
 	  if (PPC_HA (r2off) != 0)
 	    {
 	      bfd_put_32 (htab->params->stub_bfd,
-			  ADDIS_R2_R2 | PPC_HA (r2off), loc);
-	      loc += 4;
-	      size += 4;
+			  ADDIS_R2_R2 | PPC_HA (r2off), p);
+	      p += 4;
 	    }
 	  if (PPC_LO (r2off) != 0)
 	    {
 	      bfd_put_32 (htab->params->stub_bfd,
-			  ADDI_R2_R2 | PPC_LO (r2off), loc);
-	      loc += 4;
-	      size += 4;
+			  ADDI_R2_R2 | PPC_LO (r2off), p);
+	      p += 4;
 	    }
-	  off -= size - 4;
+	  off -= p - loc;
 	}
-      bfd_put_32 (htab->params->stub_bfd, B_DOT | (off & 0x3fffffc), loc);
+      bfd_put_32 (htab->params->stub_bfd, B_DOT | (off & 0x3fffffc), p);
+      p += 4;
 
       if (off + (1 << 25) >= (bfd_vma) (1 << 26))
 	{
-	  info->callbacks->einfo
-	    (_("%P: long branch stub `%s' offset overflow\n"),
+	  _bfd_error_handler
+	    (_("long branch stub `%s' offset overflow"),
 	     stub_entry->root.string);
 	  htab->stub_error = TRUE;
 	  return FALSE;
@@ -10845,7 +11221,7 @@ ppc_build_one_stub (struct bfd_hash_entr
 	  r = get_relocs (stub_entry->group->stub_sec, 1);
 	  if (r == NULL)
 	    return FALSE;
-	  r->r_offset = loc - stub_entry->group->stub_sec->contents;
+	  r->r_offset = p - 4 - stub_entry->group->stub_sec->contents;
 	  r->r_info = ELF64_R_INFO (0, R_PPC64_REL24);
 	  r->r_addend = dest;
 	  if (stub_entry->h != NULL)
@@ -10893,8 +11269,8 @@ ppc_build_one_stub (struct bfd_hash_entr
 					 FALSE, FALSE);
       if (br_entry == NULL)
 	{
-	  info->callbacks->einfo (_("%P: can't find branch stub `%s'\n"),
-				  stub_entry->root.string);
+	  _bfd_error_handler (_("can't find branch stub `%s'"),
+			      stub_entry->root.string);
 	  htab->stub_error = TRUE;
 	  return FALSE;
 	}
@@ -10957,7 +11333,7 @@ ppc_build_one_stub (struct bfd_hash_entr
       if (off + 0x80008000 > 0xffffffff || (off & 7) != 0)
 	{
 	  info->callbacks->einfo
-	    (_("%P: linkage table error against `%T'\n"),
+	    (_("%P: linkage table error against `%pT'\n"),
 	     stub_entry->root.string);
 	  bfd_set_error (bfd_error_bad_value);
 	  htab->stub_error = TRUE;
@@ -10985,23 +11361,20 @@ ppc_build_one_stub (struct bfd_hash_entr
 	    }
 	}
 
+      p = loc;
       if (stub_entry->stub_type != ppc_stub_plt_branch_r2off)
 	{
 	  if (PPC_HA (off) != 0)
 	    {
-	      size = 16;
 	      bfd_put_32 (htab->params->stub_bfd,
-			  ADDIS_R12_R2 | PPC_HA (off), loc);
-	      loc += 4;
+			  ADDIS_R12_R2 | PPC_HA (off), p);
+	      p += 4;
 	      bfd_put_32 (htab->params->stub_bfd,
-			  LD_R12_0R12 | PPC_LO (off), loc);
+			  LD_R12_0R12 | PPC_LO (off), p);
 	    }
 	  else
-	    {
-	      size = 12;
-	      bfd_put_32 (htab->params->stub_bfd,
-			  LD_R12_0R2 | PPC_LO (off), loc);
-	    }
+	    bfd_put_32 (htab->params->stub_bfd,
+			LD_R12_0R2 | PPC_LO (off), p);
 	}
       else
 	{
@@ -11013,40 +11386,37 @@ ppc_build_one_stub (struct bfd_hash_entr
 	      return FALSE;
 	    }
 
-	  bfd_put_32 (htab->params->stub_bfd, STD_R2_0R1 + STK_TOC (htab), loc);
-	  loc += 4;
-	  size = 16;
+	  bfd_put_32 (htab->params->stub_bfd, STD_R2_0R1 + STK_TOC (htab), p);
+	  p += 4;
 	  if (PPC_HA (off) != 0)
 	    {
-	      size += 4;
 	      bfd_put_32 (htab->params->stub_bfd,
-			  ADDIS_R12_R2 | PPC_HA (off), loc);
-	      loc += 4;
+			  ADDIS_R12_R2 | PPC_HA (off), p);
+	      p += 4;
 	      bfd_put_32 (htab->params->stub_bfd,
-			  LD_R12_0R12 | PPC_LO (off), loc);
+			  LD_R12_0R12 | PPC_LO (off), p);
 	    }
 	  else
-	    bfd_put_32 (htab->params->stub_bfd, LD_R12_0R2 | PPC_LO (off), loc);
+	    bfd_put_32 (htab->params->stub_bfd, LD_R12_0R2 | PPC_LO (off), p);
 
 	  if (PPC_HA (r2off) != 0)
 	    {
-	      size += 4;
-	      loc += 4;
+	      p += 4;
 	      bfd_put_32 (htab->params->stub_bfd,
-			  ADDIS_R2_R2 | PPC_HA (r2off), loc);
+			  ADDIS_R2_R2 | PPC_HA (r2off), p);
 	    }
 	  if (PPC_LO (r2off) != 0)
 	    {
-	      size += 4;
-	      loc += 4;
+	      p += 4;
 	      bfd_put_32 (htab->params->stub_bfd,
-			  ADDI_R2_R2 | PPC_LO (r2off), loc);
+			  ADDI_R2_R2 | PPC_LO (r2off), p);
 	    }
 	}
-      loc += 4;
-      bfd_put_32 (htab->params->stub_bfd, MTCTR_R12, loc);
-      loc += 4;
-      bfd_put_32 (htab->params->stub_bfd, BCTR, loc);
+      p += 4;
+      bfd_put_32 (htab->params->stub_bfd, MTCTR_R12, p);
+      p += 4;
+      bfd_put_32 (htab->params->stub_bfd, BCTR, p);
+      p += 4;
       break;
 
     case ppc_stub_plt_call:
@@ -11074,33 +11444,15 @@ ppc_build_one_stub (struct bfd_hash_entr
       if (!htab->elf.dynamic_sections_created
 	  || stub_entry->h == NULL
 	  || stub_entry->h->elf.dynindx == -1)
-	plt = htab->elf.iplt;
-
-      dest += plt->output_offset + plt->output_section->vma;
-
-      if (stub_entry->h == NULL
-	  && (stub_entry->plt_ent->plt.offset & 1) == 0)
 	{
-	  Elf_Internal_Rela rela;
-	  bfd_byte *rl;
-
-	  rela.r_offset = dest;
-	  if (htab->opd_abi)
-	    rela.r_info = ELF64_R_INFO (0, R_PPC64_JMP_IREL);
+	  if (stub_entry->symtype == STT_GNU_IFUNC)
+	    plt = htab->elf.iplt;
 	  else
-	    rela.r_info = ELF64_R_INFO (0, R_PPC64_IRELATIVE);
-	  rela.r_addend = (stub_entry->target_value
-			   + stub_entry->target_section->output_offset
-			   + stub_entry->target_section->output_section->vma);
-
-	  rl = (htab->elf.irelplt->contents
-		+ (htab->elf.irelplt->reloc_count++
-		   * sizeof (Elf64_External_Rela)));
-	  bfd_elf64_swap_reloca_out (info->output_bfd, &rela, rl);
-	  stub_entry->plt_ent->plt.offset |= 1;
-	  htab->local_ifunc_resolver = 1;
+	    plt = htab->pltlocal;
 	}
 
+      dest += plt->output_offset + plt->output_section->vma;
+
       off = (dest
 	     - elf_gp (info->output_bfd)
 	     - htab->sec_info[stub_entry->group->link_sec->id].toc_off);
@@ -11109,7 +11461,7 @@ ppc_build_one_stub (struct bfd_hash_entr
 	{
 	  info->callbacks->einfo
 	    /* xgettext:c-format */
-	    (_("%P: linkage table error against `%T'\n"),
+	    (_("%P: linkage table error against `%pT'\n"),
 	     stub_entry->h != NULL
 	     ? stub_entry->h->elf.root.root.string
 	     : "<local sym>");
@@ -11150,7 +11502,6 @@ ppc_build_one_stub (struct bfd_hash_entr
 	p = build_tls_get_addr_stub (htab, stub_entry, loc, off, r);
       else
 	p = build_plt_stub (htab, stub_entry, loc, off, r);
-      size = p - loc;
       break;
 
     case ppc_stub_save_res:
@@ -11161,7 +11512,7 @@ ppc_build_one_stub (struct bfd_hash_entr
       return FALSE;
     }
 
-  stub_entry->group->stub_sec->size += size;
+  stub_entry->group->stub_sec->size += p - loc;
 
   if (htab->params->emit_stub_syms)
     {
@@ -11247,7 +11598,12 @@ ppc_size_one_stub (struct bfd_hash_entry
       if (!htab->elf.dynamic_sections_created
 	  || stub_entry->h == NULL
 	  || stub_entry->h->elf.dynindx == -1)
-	plt = htab->elf.iplt;
+	{
+	  if (stub_entry->symtype == STT_GNU_IFUNC)
+	    plt = htab->elf.iplt;
+	  else
+	    plt = htab->pltlocal;
+	}
       off += (plt->output_offset
 	      + plt->output_section->vma
 	      - elf_gp (info->output_bfd)
@@ -11314,7 +11670,7 @@ ppc_size_one_stub (struct bfd_hash_entry
 
       local_off = PPC64_LOCAL_ENTRY_OFFSET (stub_entry->other);
 
-      /* If the branch offset if too big, use a ppc_stub_plt_branch.
+      /* If the branch offset is too big, use a ppc_stub_plt_branch.
 	 Do the same for -R objects without function descriptors.  */
       if (off + (1 << 25) >= (bfd_vma) (1 << 26) - local_off
 	  || (stub_entry->stub_type == ppc_stub_long_branch_r2off
@@ -11328,8 +11684,8 @@ ppc_size_one_stub (struct bfd_hash_entry
 					     TRUE, FALSE);
 	  if (br_entry == NULL)
 	    {
-	      info->callbacks->einfo (_("%P: can't build branch stub `%s'\n"),
-				      stub_entry->root.string);
+	      _bfd_error_handler (_("can't build branch stub `%s'"),
+				  stub_entry->root.string);
 	      htab->stub_error = TRUE;
 	      return FALSE;
 	    }
@@ -11406,7 +11762,7 @@ ppc64_elf_setup_section_lists (struct bf
   if (htab == NULL)
     return -1;
 
-  htab->sec_info_arr_size = bfd_get_next_section_id ();
+  htab->sec_info_arr_size = _bfd_section_id;
   amt = sizeof (*htab->sec_info) * (htab->sec_info_arr_size);
   htab->sec_info = bfd_zmalloc (amt);
   if (htab->sec_info == NULL)
@@ -11653,12 +12009,14 @@ ppc64_elf_layout_multitoc (struct bfd_li
 		  rel_size *= 2;
 		}
 	      s->size += ent_size;
-	      if ((*lgot_masks & PLT_IFUNC) != 0)
+	      if ((*lgot_masks & (TLS_TLS | PLT_IFUNC)) == PLT_IFUNC)
 		{
 		  htab->elf.irelplt->size += rel_size;
 		  htab->got_reli_size += rel_size;
 		}
-	      else if (bfd_link_pic (info))
+	      else if (bfd_link_pic (info)
+		       && !((ent->tls_type & TLS_TPREL) != 0
+			    && bfd_link_executable (info)))
 		{
 		  asection *srel = ppc64_elf_tdata (ibfd)->relgot;
 		  srel->size += rel_size;
@@ -11792,7 +12150,8 @@ toc_adjusting_stub_needed (struct bfd_li
 	  if (r_type != R_PPC64_REL24
 	      && r_type != R_PPC64_REL14
 	      && r_type != R_PPC64_REL14_BRTAKEN
-	      && r_type != R_PPC64_REL14_BRNTAKEN)
+	      && r_type != R_PPC64_REL14_BRNTAKEN
+	      && r_type != R_PPC64_PLTCALL)
 	    continue;
 
 	  r_symndx = ELF64_R_SYM (rel->r_info);
@@ -12101,7 +12460,7 @@ group_sections (struct bfd_link_info *in
 	  big_sec = total > group_size;
 	  if (big_sec && !suppress_size_errors)
 	    /* xgettext:c-format */
-	    _bfd_error_handler (_("%B section %A exceeds stub group size"),
+	    _bfd_error_handler (_("%pB section %pA exceeds stub group size"),
 				tail->owner, tail);
 	  curr_toc = htab->sec_info[tail->id].toc_off;
 
@@ -12526,7 +12885,7 @@ ppc64_elf_size_stubs (struct bfd_link_in
 		      if (!get_tls_mask (&tls_mask, NULL, NULL, &local_syms,
 					 irela - 1, input_bfd))
 			goto error_ret_free_internal;
-		      if (*tls_mask != 0)
+		      if ((*tls_mask & TLS_TLS) != 0)
 			continue;
 		    }
 
@@ -12597,6 +12956,8 @@ ppc64_elf_size_stubs (struct bfd_link_in
 		    }
 		  stub_entry->h = hash;
 		  stub_entry->plt_ent = plt_ent;
+		  stub_entry->symtype
+		    = hash ? hash->elf.type : ELF_ST_TYPE (sym->st_info);
 		  stub_entry->other = hash ? hash->elf.other : sym->st_other;
 
 		  if (stub_entry->h != NULL)
@@ -12634,6 +12995,9 @@ ppc64_elf_size_stubs (struct bfd_link_in
 	    stub_sec->flags &= ~SEC_RELOC;
 	  }
 
+      if (htab->stub_iteration <= STUB_SHRINK_ITER
+	  || htab->brlt->rawsize < htab->brlt->size)
+	htab->brlt->rawsize = htab->brlt->size;
       htab->brlt->size = 0;
       htab->brlt->reloc_count = 0;
       htab->brlt->flags &= ~SEC_RELOC;
@@ -12675,9 +13039,11 @@ ppc64_elf_size_stubs (struct bfd_link_in
       if (htab->params->plt_stub_align != 0)
 	for (group = htab->group; group != NULL; group = group->next)
 	  if (group->stub_sec != NULL)
-	    group->stub_sec->size = ((group->stub_sec->size
-				      + (1 << htab->params->plt_stub_align) - 1)
-				     & -(1 << htab->params->plt_stub_align));
+	    {
+	      int align = abs (htab->params->plt_stub_align);
+	      group->stub_sec->size
+		= (group->stub_sec->size + (1 << align) - 1) & -(1 << align);
+	    }
 
       for (group = htab->group; group != NULL; group = group->next)
 	if (group->stub_sec != NULL
@@ -12687,6 +13053,9 @@ ppc64_elf_size_stubs (struct bfd_link_in
 	  break;
 
       if (group == NULL
+	  && (htab->brlt->rawsize == htab->brlt->size
+	      || (htab->stub_iteration > STUB_SHRINK_ITER
+		  && htab->brlt->rawsize > htab->brlt->size))
 	  && (htab->glink_eh_frame == NULL
 	      || htab->glink_eh_frame->rawsize == htab->glink_eh_frame->size))
 	break;
@@ -12927,34 +13296,119 @@ ppc64_elf_set_toc (struct bfd_link_info 
 }
 
 /* Called via elf_link_hash_traverse from ppc64_elf_build_stubs to
-   write out any global entry stubs.  */
+   write out any global entry stubs, and PLT relocations.  */
 
 static bfd_boolean
-build_global_entry_stubs (struct elf_link_hash_entry *h, void *inf)
+build_global_entry_stubs_and_plt (struct elf_link_hash_entry *h, void *inf)
 {
   struct bfd_link_info *info;
   struct ppc_link_hash_table *htab;
-  struct plt_entry *pent;
+  struct plt_entry *ent;
   asection *s;
 
   if (h->root.type == bfd_link_hash_indirect)
     return TRUE;
 
+  info = inf;
+  htab = ppc_hash_table (info);
+  if (htab == NULL)
+    return FALSE;
+
+  for (ent = h->plt.plist; ent != NULL; ent = ent->next)
+    if (ent->plt.offset != (bfd_vma) -1)
+      {
+	/* This symbol has an entry in the procedure linkage
+	   table.  Set it up.  */
+	Elf_Internal_Rela rela;
+	asection *plt, *relplt;
+	bfd_byte *loc;
+
+	if (!htab->elf.dynamic_sections_created
+	    || h->dynindx == -1)
+	  {
+	    if (!(h->def_regular
+		  && (h->root.type == bfd_link_hash_defined
+		      || h->root.type == bfd_link_hash_defweak)))
+	      continue;
+	    if (h->type == STT_GNU_IFUNC)
+	      {
+		plt = htab->elf.iplt;
+		relplt = htab->elf.irelplt;
+		htab->local_ifunc_resolver = 1;
+		if (htab->opd_abi)
+		  rela.r_info = ELF64_R_INFO (0, R_PPC64_JMP_IREL);
+		else
+		  rela.r_info = ELF64_R_INFO (0, R_PPC64_IRELATIVE);
+	      }
+	    else
+	      {
+		plt = htab->pltlocal;
+		if (bfd_link_pic (info))
+		  {
+		    relplt = htab->relpltlocal;
+		    if (htab->opd_abi)
+		      rela.r_info = ELF64_R_INFO (0, R_PPC64_JMP_SLOT);
+		    else
+		      rela.r_info = ELF64_R_INFO (0, R_PPC64_RELATIVE);
+		  }
+		else
+		  relplt = NULL;
+	      }
+	    rela.r_addend = (h->root.u.def.value
+			     + h->root.u.def.section->output_offset
+			     + h->root.u.def.section->output_section->vma
+			     + ent->addend);
+
+	    if (relplt == NULL)
+	      {
+		loc = plt->contents + ent->plt.offset;
+		bfd_put_64 (info->output_bfd, rela.r_addend, loc);
+		if (htab->opd_abi)
+		  {
+		    bfd_vma toc = elf_gp (info->output_bfd);
+		    toc += htab->sec_info[h->root.u.def.section->id].toc_off;
+		    bfd_put_64 (info->output_bfd, toc, loc + 8);
+		  }
+	      }
+	    else
+	      {
+		rela.r_offset = (plt->output_section->vma
+				 + plt->output_offset
+				 + ent->plt.offset);
+		loc = relplt->contents + (relplt->reloc_count++
+					  * sizeof (Elf64_External_Rela));
+		bfd_elf64_swap_reloca_out (info->output_bfd, &rela, loc);
+	      }
+	  }
+	else
+	  {
+	    rela.r_offset = (htab->elf.splt->output_section->vma
+			     + htab->elf.splt->output_offset
+			     + ent->plt.offset);
+	    rela.r_info = ELF64_R_INFO (h->dynindx, R_PPC64_JMP_SLOT);
+	    rela.r_addend = ent->addend;
+	    loc = (htab->elf.srelplt->contents
+		   + ((ent->plt.offset - PLT_INITIAL_ENTRY_SIZE (htab))
+		      / PLT_ENTRY_SIZE (htab) * sizeof (Elf64_External_Rela)));
+	    if (h->type == STT_GNU_IFUNC && is_static_defined (h))
+	      htab->maybe_local_ifunc_resolver = 1;
+	    bfd_elf64_swap_reloca_out (info->output_bfd, &rela, loc);
+	  }
+      }
+
   if (!h->pointer_equality_needed)
     return TRUE;
 
   if (h->def_regular)
     return TRUE;
 
-  info = inf;
-  htab = ppc_hash_table (info);
-  if (htab == NULL)
-    return FALSE;
+  s = htab->global_entry;
+  if (s == NULL || s->size == 0)
+    return TRUE;
 
-  s = htab->glink;
-  for (pent = h->plt.plist; pent != NULL; pent = pent->next)
-    if (pent->plt.offset != (bfd_vma) -1
-	&& pent->addend == 0)
+  for (ent = h->plt.plist; ent != NULL; ent = ent->next)
+    if (ent->plt.offset != (bfd_vma) -1
+	&& ent->addend == 0)
       {
 	bfd_byte *p;
 	asection *plt;
@@ -12964,14 +13418,19 @@ build_global_entry_stubs (struct elf_lin
 	plt = htab->elf.splt;
 	if (!htab->elf.dynamic_sections_created
 	    || h->dynindx == -1)
-	  plt = htab->elf.iplt;
-	off = pent->plt.offset + plt->output_offset + plt->output_section->vma;
+	  {
+	    if (h->type == STT_GNU_IFUNC)
+	      plt = htab->elf.iplt;
+	    else
+	      plt = htab->pltlocal;
+	  }
+	off = ent->plt.offset + plt->output_offset + plt->output_section->vma;
 	off -= h->root.u.def.value + s->output_offset + s->output_section->vma;
 
 	if (off + 0x80008000 > 0xffffffff || (off & 3) != 0)
 	  {
 	    info->callbacks->einfo
-	      (_("%P: linkage table error against `%T'\n"),
+	      (_("%P: linkage table error against `%pT'\n"),
 	       h->root.root.string);
 	    bfd_set_error (bfd_error_bad_value);
 	    htab->stub_error = TRUE;
@@ -13019,6 +13478,120 @@ build_global_entry_stubs (struct elf_lin
   return TRUE;
 }
 
+/* Write PLT relocs for locals.  */
+
+static bfd_boolean
+write_plt_relocs_for_local_syms (struct bfd_link_info *info)
+{
+  struct ppc_link_hash_table *htab = ppc_hash_table (info);
+  bfd *ibfd;
+
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
+    {
+      struct got_entry **lgot_ents, **end_lgot_ents;
+      struct plt_entry **local_plt, **lplt, **end_local_plt;
+      Elf_Internal_Shdr *symtab_hdr;
+      bfd_size_type locsymcount;
+      Elf_Internal_Sym *local_syms = NULL;
+      struct plt_entry *ent;
+
+      if (!is_ppc64_elf (ibfd))
+	continue;
+
+      lgot_ents = elf_local_got_ents (ibfd);
+      if (!lgot_ents)
+	continue;
+
+      symtab_hdr = &elf_symtab_hdr (ibfd);
+      locsymcount = symtab_hdr->sh_info;
+      end_lgot_ents = lgot_ents + locsymcount;
+      local_plt = (struct plt_entry **) end_lgot_ents;
+      end_local_plt = local_plt + locsymcount;
+      for (lplt = local_plt; lplt < end_local_plt; ++lplt)
+	for (ent = *lplt; ent != NULL; ent = ent->next)
+	  if (ent->plt.offset != (bfd_vma) -1)
+	    {
+	      Elf_Internal_Sym *sym;
+	      asection *sym_sec;
+	      asection *plt, *relplt;
+	      bfd_byte *loc;
+	      bfd_vma val;
+
+	      if (!get_sym_h (NULL, &sym, &sym_sec, NULL, &local_syms,
+			      lplt - local_plt, ibfd))
+		{
+		  if (local_syms != NULL
+		      && symtab_hdr->contents != (unsigned char *) local_syms)
+		    free (local_syms);
+		  return FALSE;
+		}
+
+	      val = sym->st_value + ent->addend;
+	      val += PPC64_LOCAL_ENTRY_OFFSET (sym->st_other);
+	      if (sym_sec != NULL && sym_sec->output_section != NULL)
+		val += sym_sec->output_offset + sym_sec->output_section->vma;
+
+	      if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC)
+		{
+		  htab->local_ifunc_resolver = 1;
+		  plt = htab->elf.iplt;
+		  relplt = htab->elf.irelplt;
+		}
+	      else
+		{
+		  plt = htab->pltlocal;
+		  relplt = bfd_link_pic (info) ? htab->relpltlocal : NULL;
+		}
+
+	      if (relplt == NULL)
+		{
+		  loc = plt->contents + ent->plt.offset;
+		  bfd_put_64 (info->output_bfd, val, loc);
+		  if (htab->opd_abi)
+		    {
+		      bfd_vma toc = elf_gp (ibfd);
+		      bfd_put_64 (info->output_bfd, toc, loc + 8);
+		    }
+		}
+	      else
+		{
+		  Elf_Internal_Rela rela;
+		  rela.r_offset = (ent->plt.offset
+				   + plt->output_offset
+				   + plt->output_section->vma);
+		  if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC)
+		    {
+		      if (htab->opd_abi)
+			rela.r_info = ELF64_R_INFO (0, R_PPC64_JMP_IREL);
+		      else
+			rela.r_info = ELF64_R_INFO (0, R_PPC64_IRELATIVE);
+		    }
+		  else
+		    {
+		      if (htab->opd_abi)
+			rela.r_info = ELF64_R_INFO (0, R_PPC64_JMP_SLOT);
+		      else
+			rela.r_info = ELF64_R_INFO (0, R_PPC64_RELATIVE);
+		    }
+		  rela.r_addend = val;
+		  loc = relplt->contents + (relplt->reloc_count++
+					    * sizeof (Elf64_External_Rela));
+		  bfd_elf64_swap_reloca_out (info->output_bfd, &rela, loc);
+		}
+	    }
+
+      if (local_syms != NULL
+	  && symtab_hdr->contents != (unsigned char *) local_syms)
+	{
+	  if (!info->keep_memory)
+	    free (local_syms);
+	  else
+	    symtab_hdr->contents = (unsigned char *) local_syms;
+	}
+    }
+  return TRUE;
+}
+
 /* Build all the stubs associated with the current output file.
    The stubs are kept in a hash table attached to the main linker
    hash table.  This function is called via gldelf64ppc_finish.  */
@@ -13144,15 +13717,11 @@ ppc64_elf_build_stubs (struct bfd_link_i
 	}
       bfd_put_32 (htab->glink->owner, BCTR, p);
       p += 4;
-      while (p - htab->glink->contents < GLINK_CALL_STUB_SIZE)
-	{
-	  bfd_put_32 (htab->glink->owner, NOP, p);
-	  p += 4;
-	}
+      BFD_ASSERT (p == htab->glink->contents + GLINK_PLTRESOLVE_SIZE (htab));
 
       /* Build the .glink lazy link call stubs.  */
       indx = 0;
-      while (p < htab->glink->contents + htab->glink->rawsize)
+      while (p < htab->glink->contents + htab->glink->size)
 	{
 	  if (htab->opd_abi)
 	    {
@@ -13175,12 +13744,14 @@ ppc64_elf_build_stubs (struct bfd_link_i
 	  indx++;
 	  p += 4;
 	}
-
-      /* Build .glink global entry stubs.  */
-      if (htab->glink->size > htab->glink->rawsize)
-	elf_link_hash_traverse (&htab->elf, build_global_entry_stubs, info);
     }
 
+  /* Build .glink global entry stubs, and PLT relocs for globals.  */
+  elf_link_hash_traverse (&htab->elf, build_global_entry_stubs_and_plt, info);
+
+  if (!write_plt_relocs_for_local_syms (info))
+    return FALSE;
+
   if (htab->brlt != NULL && htab->brlt->size != 0)
     {
       htab->brlt->contents = bfd_zalloc (htab->brlt->owner,
@@ -13201,10 +13772,25 @@ ppc64_elf_build_stubs (struct bfd_link_i
 
   for (group = htab->group; group != NULL; group = group->next)
     if (group->needs_save_res)
+      group->stub_sec->size += htab->sfpr->size;
+
+  if (htab->relbrlt != NULL)
+    htab->relbrlt->reloc_count = 0;
+
+  if (htab->params->plt_stub_align != 0)
+    for (group = htab->group; group != NULL; group = group->next)
+      if ((stub_sec = group->stub_sec) != NULL)
+	{
+	  int align = abs (htab->params->plt_stub_align);
+	  stub_sec->size = (stub_sec->size + (1 << align) - 1) & -(1 << align);
+	}
+
+  for (group = htab->group; group != NULL; group = group->next)
+    if (group->needs_save_res)
       {
 	stub_sec = group->stub_sec;
-	memcpy (stub_sec->contents + stub_sec->size, htab->sfpr->contents,
-		htab->sfpr->size);
+	memcpy (stub_sec->contents + stub_sec->size - htab->sfpr->size,
+		htab->sfpr->contents, htab->sfpr->size);
 	if (htab->params->emit_stub_syms)
 	  {
 	    unsigned int i;
@@ -13213,19 +13799,8 @@ ppc64_elf_build_stubs (struct bfd_link_i
 	      if (!sfpr_define (info, &save_res_funcs[i], stub_sec))
 		return FALSE;
 	  }
-	stub_sec->size += htab->sfpr->size;
       }
 
-  if (htab->relbrlt != NULL)
-    htab->relbrlt->reloc_count = 0;
-
-  if (htab->params->plt_stub_align != 0)
-    for (group = htab->group; group != NULL; group = group->next)
-      if ((stub_sec = group->stub_sec) != NULL)
-	stub_sec->size = ((stub_sec->size
-			   + (1 << htab->params->plt_stub_align) - 1)
-			  & -(1 << htab->params->plt_stub_align));
-
   for (group = htab->group; group != NULL; group = group->next)
     if ((stub_sec = group->stub_sec) != NULL)
       {
@@ -13239,7 +13814,7 @@ ppc64_elf_build_stubs (struct bfd_link_i
   if (group != NULL)
     {
       htab->stub_error = TRUE;
-      info->callbacks->einfo (_("%P: stubs don't match calculated size\n"));
+      _bfd_error_handler (_("stubs don't match calculated size"));
     }
 
   if (htab->stub_error)
@@ -13386,7 +13961,7 @@ ppc64_elf_relocate_section (bfd *output_
       unsigned char tls_mask, tls_gd, tls_type;
       unsigned char sym_type;
       bfd_vma relocation;
-      bfd_boolean unresolved_reloc;
+      bfd_boolean unresolved_reloc, save_unresolved_reloc;
       bfd_boolean warned;
       enum { DEST_NORMAL, DEST_OPD, DEST_STUB } reloc_dest;
       unsigned int insn;
@@ -13538,7 +14113,7 @@ ppc64_elf_relocate_section (bfd *output_
 	    (local_plt + symtab_hdr->sh_info);
 	  tls_mask = lgot_masks[r_symndx];
 	}
-      if (tls_mask == 0
+      if (((tls_mask & TLS_TLS) == 0 || tls_mask == (TLS_TLS | TLS_MARK))
 	  && (r_type == R_PPC64_TLS
 	      || r_type == R_PPC64_TLSGD
 	      || r_type == R_PPC64_TLSLD))
@@ -13566,7 +14141,7 @@ ppc64_elf_relocate_section (bfd *output_
 		  || (sym_type == STT_SECTION
 		      && (sec->flags & SEC_THREAD_LOCAL) != 0))))
 	{
-	  if (tls_mask != 0
+	  if ((tls_mask & TLS_TLS) != 0
 	      && (r_type == R_PPC64_TLS
 		  || r_type == R_PPC64_TLSGD
 		  || r_type == R_PPC64_TLSLD))
@@ -13576,9 +14151,9 @@ ppc64_elf_relocate_section (bfd *output_
 	    info->callbacks->einfo
 	      (!IS_PPC64_TLS_RELOC (r_type)
 	       /* xgettext:c-format */
-	       ? _("%H: %s used with TLS symbol `%T'\n")
+	       ? _("%H: %s used with TLS symbol `%pT'\n")
 	       /* xgettext:c-format */
-	       : _("%H: %s used with non-TLS symbol `%T'\n"),
+	       : _("%H: %s used with non-TLS symbol `%pT'\n"),
 	       input_bfd, input_section, rel->r_offset,
 	       ppc64_elf_howto_table[r_type]->name,
 	       sym_name);
@@ -13632,7 +14207,7 @@ ppc64_elf_relocate_section (bfd *output_
 		if (r_type == R_PPC64_TOC16_DS
 		    || r_type == R_PPC64_TOC16_LO_DS)
 		  {
-		    if (tls_mask != 0
+		    if ((tls_mask & TLS_TLS) != 0
 			&& (tls_mask & (TLS_DTPREL | TLS_TPREL)) == 0)
 		      goto toctprel;
 		  }
@@ -13643,12 +14218,14 @@ ppc64_elf_relocate_section (bfd *output_
 		    if (retval == 2)
 		      {
 			tls_gd = TLS_TPRELGD;
-			if (tls_mask != 0 && (tls_mask & TLS_GD) == 0)
+			if ((tls_mask & TLS_TLS) != 0
+			    && (tls_mask & TLS_GD) == 0)
 			  goto tls_ldgd_opt;
 		      }
 		    else if (retval == 3)
 		      {
-			if (tls_mask != 0 && (tls_mask & TLS_LD) == 0)
+			if ((tls_mask & TLS_TLS) != 0
+			    && (tls_mask & TLS_LD) == 0)
 			  goto tls_ldgd_opt;
 		      }
 		  }
@@ -13658,7 +14235,7 @@ ppc64_elf_relocate_section (bfd *output_
 
 	case R_PPC64_GOT_TPREL16_HI:
 	case R_PPC64_GOT_TPREL16_HA:
-	  if (tls_mask != 0
+	  if ((tls_mask & TLS_TLS) != 0
 	      && (tls_mask & TLS_TPREL) == 0)
 	    {
 	      rel->r_offset -= d_offset;
@@ -13670,7 +14247,7 @@ ppc64_elf_relocate_section (bfd *output_
 
 	case R_PPC64_GOT_TPREL16_DS:
 	case R_PPC64_GOT_TPREL16_LO_DS:
-	  if (tls_mask != 0
+	  if ((tls_mask & TLS_TLS) != 0
 	      && (tls_mask & TLS_TPREL) == 0)
 	    {
 	    toctprel:
@@ -13695,7 +14272,7 @@ ppc64_elf_relocate_section (bfd *output_
 	  break;
 
 	case R_PPC64_TLS:
-	  if (tls_mask != 0
+	  if ((tls_mask & TLS_TLS) != 0
 	      && (tls_mask & TLS_TPREL) == 0)
 	    {
 	      insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
@@ -13723,13 +14300,13 @@ ppc64_elf_relocate_section (bfd *output_
 	case R_PPC64_GOT_TLSGD16_HI:
 	case R_PPC64_GOT_TLSGD16_HA:
 	  tls_gd = TLS_TPRELGD;
-	  if (tls_mask != 0 && (tls_mask & TLS_GD) == 0)
+	  if ((tls_mask & TLS_TLS) != 0 && (tls_mask & TLS_GD) == 0)
 	    goto tls_gdld_hi;
 	  break;
 
 	case R_PPC64_GOT_TLSLD16_HI:
 	case R_PPC64_GOT_TLSLD16_HA:
-	  if (tls_mask != 0 && (tls_mask & TLS_LD) == 0)
+	  if ((tls_mask & TLS_TLS) != 0 && (tls_mask & TLS_LD) == 0)
 	    {
 	    tls_gdld_hi:
 	      if ((tls_mask & tls_gd) != 0)
@@ -13748,13 +14325,13 @@ ppc64_elf_relocate_section (bfd *output_
 	case R_PPC64_GOT_TLSGD16:
 	case R_PPC64_GOT_TLSGD16_LO:
 	  tls_gd = TLS_TPRELGD;
-	  if (tls_mask != 0 && (tls_mask & TLS_GD) == 0)
+	  if ((tls_mask & TLS_TLS) != 0 && (tls_mask & TLS_GD) == 0)
 	    goto tls_ldgd_opt;
 	  break;
 
 	case R_PPC64_GOT_TLSLD16:
 	case R_PPC64_GOT_TLSLD16_LO:
-	  if (tls_mask != 0 && (tls_mask & TLS_LD) == 0)
+	  if ((tls_mask & TLS_TLS) != 0 && (tls_mask & TLS_LD) == 0)
 	    {
 	      unsigned int insn1, insn2;
 	      bfd_vma offset;
@@ -13847,11 +14424,22 @@ ppc64_elf_relocate_section (bfd *output_
 	  break;
 
 	case R_PPC64_TLSGD:
-	  if (tls_mask != 0 && (tls_mask & TLS_GD) == 0)
+	  if ((tls_mask & TLS_TLS) != 0 && (tls_mask & TLS_GD) == 0
+	      && rel + 1 < relend)
 	    {
 	      unsigned int insn2;
 	      bfd_vma offset = rel->r_offset;
 
+	      if (is_plt_seq_reloc (ELF64_R_TYPE (rel[1].r_info)))
+		{
+		  bfd_put_32 (output_bfd, NOP, contents + offset);
+		  rel[1].r_info = ELF64_R_INFO (STN_UNDEF, R_PPC64_NONE);
+		  break;
+		}
+
+	      if (ELF64_R_TYPE (rel[1].r_info) == R_PPC64_PLTCALL)
+		bfd_put_32 (output_bfd, NOP, contents + offset + 4);
+
 	      if ((tls_mask & TLS_TPRELGD) != 0)
 		{
 		  /* IE */
@@ -13881,11 +14469,22 @@ ppc64_elf_relocate_section (bfd *output_
 	  break;
 
 	case R_PPC64_TLSLD:
-	  if (tls_mask != 0 && (tls_mask & TLS_LD) == 0)
+	  if ((tls_mask & TLS_TLS) != 0 && (tls_mask & TLS_LD) == 0
+	      && rel + 1 < relend)
 	    {
 	      unsigned int insn2;
 	      bfd_vma offset = rel->r_offset;
 
+	      if (is_plt_seq_reloc (ELF64_R_TYPE (rel[1].r_info)))
+		{
+		  bfd_put_32 (output_bfd, NOP, contents + offset);
+		  rel[1].r_info = ELF64_R_INFO (STN_UNDEF, R_PPC64_NONE);
+		  break;
+		}
+
+	      if (ELF64_R_TYPE (rel[1].r_info) == R_PPC64_PLTCALL)
+		bfd_put_32 (output_bfd, NOP, contents + offset + 4);
+
 	      if (toc_symndx)
 		sec = local_sections[toc_symndx];
 	      for (r_symndx = 0;
@@ -14077,6 +14676,7 @@ ppc64_elf_relocate_section (bfd *output_
 	  /* Fall through.  */
 
 	case R_PPC64_REL24:
+	case R_PPC64_PLTCALL:
 	  /* Calls to functions with a different TOC, such as calls to
 	     shared objects, need to alter the TOC pointer.  This is
 	     done using a linkage stub.  A REL24 branching to these
@@ -14090,6 +14690,12 @@ ppc64_elf_relocate_section (bfd *output_
 	    fdh = ppc_follow_link (h->oh);
 	  stub_entry = ppc_get_stub_entry (input_section, sec, fdh, &orig_rel,
 					   htab);
+	  if (r_type == R_PPC64_PLTCALL
+	      && stub_entry != NULL
+	      && (stub_entry->stub_type == ppc_stub_plt_call
+		  || stub_entry->stub_type == ppc_stub_plt_call_r2save))
+	    stub_entry = NULL;
+
 	  if (stub_entry != NULL
 	      && (stub_entry->stub_type == ppc_stub_plt_call
 		  || stub_entry->stub_type == ppc_stub_plt_call_r2save
@@ -14122,8 +14728,11 @@ ppc64_elf_relocate_section (bfd *output_
 
 		      nop = bfd_get_32 (input_bfd,
 					contents + rel->r_offset + 4);
-		      if (nop == NOP
-			  || nop == CROR_151515 || nop == CROR_313131)
+		      if (nop == LD_R2_0R1 + STK_TOC (htab))
+			can_plt_call = TRUE;
+		      else if (nop == NOP
+			       || nop == CROR_151515
+			       || nop == CROR_313131)
 			{
 			  if (h != NULL
 			      && (h == htab->tls_get_addr_fd
@@ -14188,13 +14797,13 @@ ppc64_elf_relocate_section (bfd *output_
 		      || stub_entry->stub_type == ppc_stub_plt_call_r2save)
 		    info->callbacks->einfo
 		      /* xgettext:c-format */
-		      (_("%H: call to `%T' lacks nop, can't restore toc; "
+		      (_("%H: call to `%pT' lacks nop, can't restore toc; "
 			 "recompile with -fPIC\n"),
 		       input_bfd, input_section, rel->r_offset, sym_name);
 		  else
 		    info->callbacks->einfo
 		      /* xgettext:c-format */
-		      (_("%H: call to `%T' lacks nop, can't restore toc; "
+		      (_("%H: call to `%pT' lacks nop, can't restore toc; "
 			 "(-mcmodel=small toc adjust stub)\n"),
 		       input_bfd, input_section, rel->r_offset, sym_name);
 
@@ -14317,13 +14926,13 @@ ppc64_elf_relocate_section (bfd *output_
 
       /* Set `addend'.  */
       tls_type = 0;
+      save_unresolved_reloc = unresolved_reloc;
       switch (r_type)
 	{
 	default:
-	  info->callbacks->einfo
-	    /* xgettext:c-format */
-	    (_("%P: %B: unknown relocation type %d for `%T'\n"),
-	     input_bfd, (int) r_type, sym_name);
+	  /* xgettext:c-format */
+	  _bfd_error_handler (_("%pB: %s unsupported"),
+			      input_bfd, ppc64_elf_howto_table[r_type]->name);
 
 	  bfd_set_error (bfd_error_bad_value);
 	  ret = FALSE;
@@ -14573,10 +15182,14 @@ ppc64_elf_relocate_section (bfd *output_
 	case R_PPC64_PLT16_HA:
 	case R_PPC64_PLT16_HI:
 	case R_PPC64_PLT16_LO:
+	case R_PPC64_PLT16_LO_DS:
 	case R_PPC64_PLT32:
 	case R_PPC64_PLT64:
+	case R_PPC64_PLTSEQ:
+	case R_PPC64_PLTCALL:
 	  /* Relocation is to the entry for this symbol in the
 	     procedure linkage table.  */
+	  unresolved_reloc = TRUE;
 	  {
 	    struct plt_entry **plt_list = NULL;
 	    if (h != NULL)
@@ -14585,10 +15198,7 @@ ppc64_elf_relocate_section (bfd *output_
 	      {
 		struct plt_entry **local_plt = (struct plt_entry **)
 		  (local_got_ents + symtab_hdr->sh_info);
-		unsigned char *local_got_tls_masks = (unsigned char *)
-		  (local_plt + symtab_hdr->sh_info);
-		if ((local_got_tls_masks[r_symndx] & PLT_IFUNC) != 0)
-		  plt_list = local_plt + r_symndx;
+		plt_list = local_plt + r_symndx;
 	      }
 	    if (plt_list)
 	      {
@@ -14599,15 +15209,32 @@ ppc64_elf_relocate_section (bfd *output_
 		      && ent->addend == orig_rel.r_addend)
 		    {
 		      asection *plt;
+		      bfd_vma got;
 
 		      plt = htab->elf.splt;
 		      if (!htab->elf.dynamic_sections_created
 			  || h == NULL
 			  || h->elf.dynindx == -1)
-			plt = htab->elf.iplt;
+			{
+			  if (h != NULL
+			      ? h->elf.type == STT_GNU_IFUNC
+			      : ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC)
+			    plt = htab->elf.iplt;
+			  else
+			    plt = htab->pltlocal;
+			}
 		      relocation = (plt->output_section->vma
 				    + plt->output_offset
 				    + ent->plt.offset);
+		      if (r_type == R_PPC64_PLT16_HA
+			  || r_type ==R_PPC64_PLT16_HI
+			  || r_type ==R_PPC64_PLT16_LO
+			  || r_type ==R_PPC64_PLT16_LO_DS)
+			{
+			  got = (elf_gp (output_bfd)
+				 + htab->sec_info[input_section->id].toc_off);
+			  relocation -= got;
+			}
 		      addend = 0;
 		      unresolved_reloc = FALSE;
 		      break;
@@ -14872,7 +15499,7 @@ ppc64_elf_relocate_section (bfd *output_
 			  info->callbacks->einfo
 			    /* xgettext:c-format */
 			    (_("%H: %s for indirect "
-			       "function `%T' unsupported\n"),
+			       "function `%pT' unsupported\n"),
 			     input_bfd, input_section, rel->r_offset,
 			     ppc64_elf_howto_table[r_type]->name,
 			     sym_name);
@@ -14983,7 +15610,7 @@ ppc64_elf_relocate_section (bfd *output_
 
 	  info->callbacks->einfo
 	    /* xgettext:c-format */
-	    (_("%P: %B: %s is not supported for `%T'\n"),
+	    (_("%P: %pB: %s is not supported for `%pT'\n"),
 	     input_bfd,
 	     ppc64_elf_howto_table[r_type]->name, sym_name);
 
@@ -14995,7 +15622,6 @@ ppc64_elf_relocate_section (bfd *output_
       /* Multi-instruction sequences that access the TOC can be
 	 optimized, eg. addis ra,r2,0; addi rb,ra,x;
 	 to		nop;	       addi rb,r2,x;  */
-      howto = ppc64_elf_howto_table[(int) r_type];
       switch (r_type)
 	{
 	default:
@@ -15016,6 +15642,35 @@ ppc64_elf_relocate_section (bfd *output_
 	     insn.  */
 	  break;
 
+	case R_PPC64_PLTCALL:
+	  if (unresolved_reloc)
+	    {
+	      /* No plt entry.  Make this into a direct call.  */
+	      bfd_byte *p = contents + rel->r_offset;
+	      insn = bfd_get_32 (input_bfd, p);
+	      insn &= 1;
+	      bfd_put_32 (input_bfd, B_DOT | insn, p);
+	      bfd_put_32 (input_bfd, NOP, p + 4);
+	      unresolved_reloc = save_unresolved_reloc;
+	      r_type = R_PPC64_REL24;
+	    }
+	  break;
+
+	case R_PPC64_PLTSEQ:
+	  if (unresolved_reloc)
+	    {
+	      unresolved_reloc = FALSE;
+	      goto nop_it;
+	    }
+	  break;
+
+	case R_PPC64_PLT16_HA:
+	  if (unresolved_reloc)
+	    {
+	      unresolved_reloc = FALSE;
+	      goto nop_it;
+	    }
+	  /* Fall through.  */
 	case R_PPC64_GOT_TLSLD16_HA:
 	case R_PPC64_GOT_TLSGD16_HA:
 	case R_PPC64_GOT_TPREL16_HA:
@@ -15025,11 +15680,22 @@ ppc64_elf_relocate_section (bfd *output_
 	  if (htab->do_toc_opt && relocation + addend + 0x8000 < 0x10000
 	      && !ppc64_elf_tdata (input_bfd)->unexpected_toc_insn)
 	    {
-	      bfd_byte *p = contents + (rel->r_offset & ~3);
+	      bfd_byte *p;
+	    nop_it:
+	      p = contents + (rel->r_offset & ~3);
 	      bfd_put_32 (input_bfd, NOP, p);
+	      goto copy_reloc;
 	    }
 	  break;
 
+	case R_PPC64_PLT16_LO:
+	case R_PPC64_PLT16_LO_DS:
+	  if (unresolved_reloc)
+	    {
+	      unresolved_reloc = FALSE;
+	      goto nop_it;
+	    }
+	  /* Fall through.  */
 	case R_PPC64_GOT_TLSLD16_LO:
 	case R_PPC64_GOT_TLSGD16_LO:
 	case R_PPC64_GOT_TPREL16_LO_DS:
@@ -15068,9 +15734,13 @@ ppc64_elf_relocate_section (bfd *output_
 		/* xgettext:c-format */
 		info->callbacks->minfo
 		  (_("%H: warning: %s unexpected insn %#x.\n"),
-		   input_bfd, input_section, rel->r_offset, howto->name, insn);
+		   input_bfd, input_section, rel->r_offset,
+		   ppc64_elf_howto_table[r_type]->name, insn);
 	      else
-		bfd_put_32 (input_bfd, NOP, p);
+		{
+		  bfd_put_32 (input_bfd, NOP, p);
+		  goto copy_reloc;
+		}
 	    }
 	  break;
 
@@ -15168,7 +15838,7 @@ ppc64_elf_relocate_section (bfd *output_
 		/* xgettext:c-format */
 		(_("%H: error: %s not a multiple of %u\n"),
 		 input_bfd, input_section, rel->r_offset,
-		 howto->name,
+		 ppc64_elf_howto_table[r_type]->name,
 		 mask + 1);
 	      bfd_set_error (bfd_error_bad_value);
 	      ret = FALSE;
@@ -15180,6 +15850,7 @@ ppc64_elf_relocate_section (bfd *output_
       /* Dynamic relocs are not propagated for SEC_DEBUGGING sections
 	 because such sections are not SEC_ALLOC and thus ld.so will
 	 not process them.  */
+      howto = ppc64_elf_howto_table[(int) r_type];
       if (unresolved_reloc
 	  && !((input_section->flags & SEC_DEBUGGING) != 0
 	       && h->elf.def_dynamic)
@@ -15188,7 +15859,7 @@ ppc64_elf_relocate_section (bfd *output_
 	{
 	  info->callbacks->einfo
 	    /* xgettext:c-format */
-	    (_("%H: unresolvable %s against `%T'\n"),
+	    (_("%H: unresolvable %s against `%pT'\n"),
 	     input_bfd, input_section, rel->r_offset,
 	     howto->name,
 	     h->elf.root.root.string);
@@ -15285,7 +15956,7 @@ ppc64_elf_relocate_section (bfd *output_
 	    {
 	      info->callbacks->einfo
 		/* xgettext:c-format */
-		(_("%H: %s against `%T': error %d\n"),
+		(_("%H: %s against `%pT': error %d\n"),
 		 input_bfd, input_section, rel->r_offset,
 		 reloc_name, sym_name, (int) r);
 	      ret = FALSE;
@@ -15380,85 +16051,41 @@ ppc64_elf_finish_dynamic_symbol (bfd *ou
 {
   struct ppc_link_hash_table *htab;
   struct plt_entry *ent;
-  Elf_Internal_Rela rela;
-  bfd_byte *loc;
 
   htab = ppc_hash_table (info);
   if (htab == NULL)
     return FALSE;
 
-  for (ent = h->plt.plist; ent != NULL; ent = ent->next)
-    if (ent->plt.offset != (bfd_vma) -1)
-      {
-	/* This symbol has an entry in the procedure linkage
-	   table.  Set it up.  */
-	if (!htab->elf.dynamic_sections_created
-	    || h->dynindx == -1)
-	  {
-	    BFD_ASSERT (h->type == STT_GNU_IFUNC
-			&& h->def_regular
-			&& (h->root.type == bfd_link_hash_defined
-			    || h->root.type == bfd_link_hash_defweak));
-	    rela.r_offset = (htab->elf.iplt->output_section->vma
-			     + htab->elf.iplt->output_offset
-			     + ent->plt.offset);
-	    if (htab->opd_abi)
-	      rela.r_info = ELF64_R_INFO (0, R_PPC64_JMP_IREL);
-	    else
-	      rela.r_info = ELF64_R_INFO (0, R_PPC64_IRELATIVE);
-	    rela.r_addend = (h->root.u.def.value
-			     + h->root.u.def.section->output_offset
-			     + h->root.u.def.section->output_section->vma
-			     + ent->addend);
-	    loc = (htab->elf.irelplt->contents
-		   + (htab->elf.irelplt->reloc_count++
-		      * sizeof (Elf64_External_Rela)));
-	    htab->local_ifunc_resolver = 1;
-	  }
-	else
-	  {
-	    rela.r_offset = (htab->elf.splt->output_section->vma
-			     + htab->elf.splt->output_offset
-			     + ent->plt.offset);
-	    rela.r_info = ELF64_R_INFO (h->dynindx, R_PPC64_JMP_SLOT);
-	    rela.r_addend = ent->addend;
-	    loc = (htab->elf.srelplt->contents
-		   + ((ent->plt.offset - PLT_INITIAL_ENTRY_SIZE (htab))
-		      / PLT_ENTRY_SIZE (htab) * sizeof (Elf64_External_Rela)));
-	    if (h->type == STT_GNU_IFUNC && is_static_defined (h))
-	      htab->maybe_local_ifunc_resolver = 1;
-	  }
-	bfd_elf64_swap_reloca_out (output_bfd, &rela, loc);
-
-	if (!htab->opd_abi)
-	  {
-	    if (!h->def_regular)
-	      {
-		/* Mark the symbol as undefined, rather than as
-		   defined in glink.  Leave the value if there were
-		   any relocations where pointer equality matters
-		   (this is a clue for the dynamic linker, to make
-		   function pointer comparisons work between an
-		   application and shared library), otherwise set it
-		   to zero.  */
-		sym->st_shndx = SHN_UNDEF;
-		if (!h->pointer_equality_needed)
-		  sym->st_value = 0;
-		else if (!h->ref_regular_nonweak)
-		  {
-		    /* This breaks function pointer comparisons, but
-		       that is better than breaking tests for a NULL
-		       function pointer.  */
-		    sym->st_value = 0;
-		  }
-	      }
-	  }
-      }
+  if (!htab->opd_abi && !h->def_regular)
+    for (ent = h->plt.plist; ent != NULL; ent = ent->next)
+      if (ent->plt.offset != (bfd_vma) -1)
+	{
+	  /* Mark the symbol as undefined, rather than as
+	     defined in glink.  Leave the value if there were
+	     any relocations where pointer equality matters
+	     (this is a clue for the dynamic linker, to make
+	     function pointer comparisons work between an
+	     application and shared library), otherwise set it
+	     to zero.  */
+	  sym->st_shndx = SHN_UNDEF;
+	  if (!h->pointer_equality_needed)
+	    sym->st_value = 0;
+	  else if (!h->ref_regular_nonweak)
+	    {
+	      /* This breaks function pointer comparisons, but
+		 that is better than breaking tests for a NULL
+		 function pointer.  */
+	      sym->st_value = 0;
+	    }
+	  break;
+	}
 
   if (h->needs_copy)
     {
       /* This symbol needs a copy reloc.  Set it up.  */
+      Elf_Internal_Rela rela;
       asection *srel;
+      bfd_byte *loc;
 
       if (h->dynindx == -1
 	  || (h->root.type != bfd_link_hash_defined
@@ -15557,7 +16184,7 @@ ppc64_elf_finish_dynamic_sections (bfd *
 		 of glink rather than the first entry point, which is
 		 what ld.so needs, and now have a bigger stub to
 		 support automatic multiple TOCs.  */
-	      dyn.d_un.d_ptr += GLINK_CALL_STUB_SIZE - 8 * 4;
+	      dyn.d_un.d_ptr += GLINK_PLTRESOLVE_SIZE (htab) - 8 * 4;
 	      break;
 
 	    case DT_PPC64_OPD:
@@ -15674,8 +16301,8 @@ ppc64_elf_finish_dynamic_sections (bfd *
 		    + (p + 8 - htab->glink_eh_frame->contents));
 	    if (val + 0x80000000 > 0xffffffff)
 	      {
-		info->callbacks->einfo
-		  (_("%P: %s offset too large for .eh_frame sdata4 encoding"),
+		_bfd_error_handler
+		  (_("%s offset too large for .eh_frame sdata4 encoding"),
 		   group->stub_sec->name);
 		return FALSE;
 	      }
@@ -15693,8 +16320,8 @@ ppc64_elf_finish_dynamic_sections (bfd *
 		  + (p + 8 - htab->glink_eh_frame->contents));
 	  if (val + 0x80000000 > 0xffffffff)
 	    {
-	      info->callbacks->einfo
-		(_("%P: %s offset too large for .eh_frame sdata4 encoding"),
+	      _bfd_error_handler
+		(_("%s offset too large for .eh_frame sdata4 encoding"),
 		 htab->glink->name);
 	      return FALSE;
 	    }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-ppc.h ./bfd/elf64-ppc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-ppc.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-ppc.h	2018-07-10 02:06:11.000000000 +0000
@@ -69,6 +69,8 @@ bfd_boolean ppc64_elf_init_stub_bfd
   (struct bfd_link_info *, struct ppc64_elf_params *);
 bfd_boolean ppc64_elf_edit_opd
   (struct bfd_link_info *);
+bfd_boolean ppc64_elf_inline_plt
+  (struct bfd_link_info *);
 asection *ppc64_elf_tls_setup
   (struct bfd_link_info *);
 bfd_boolean ppc64_elf_tls_optimize
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-s390.c ./bfd/elf64-s390.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-s390.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-s390.c	2018-07-10 02:06:11.000000000 +0000
@@ -189,7 +189,7 @@ static reloc_howto_type elf64_s390_vtent
   HOWTO (R_390_GNU_VTENTRY, 0,4,0,FALSE,0,complain_overflow_dont, _bfd_elf_rel_vtable_reloc_fn,"R_390_GNU_VTENTRY", FALSE,0,0, FALSE);
 
 static reloc_howto_type *
-elf_s390_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+elf_s390_reloc_type_lookup (bfd *abfd,
 			    bfd_reloc_code_real_type code)
 {
   switch (code)
@@ -323,7 +323,11 @@ elf_s390_reloc_type_lookup (bfd *abfd AT
     default:
       break;
     }
-  return 0;
+
+  /* xgettext:c-format */
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, (int) code);
+  bfd_set_error (bfd_error_bad_value);
+  return NULL;
 }
 
 static reloc_howto_type *
@@ -350,12 +354,13 @@ elf_s390_reloc_name_lookup (bfd *abfd AT
 /* We need to use ELF64_R_TYPE so we have our own copy of this function,
    and elf64-s390.c has its own copy.  */
 
-static void
+static bfd_boolean
 elf_s390_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 			arelent *cache_ptr,
 			Elf_Internal_Rela *dst)
 {
   unsigned int r_type = ELF64_R_TYPE(dst->r_info);
+
   switch (r_type)
     {
     case R_390_GNU_VTINHERIT:
@@ -370,12 +375,14 @@ elf_s390_info_to_howto (bfd *abfd ATTRIB
       if (r_type >= sizeof (elf_howto_table) / sizeof (elf_howto_table[0]))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: invalid relocation type %d"),
-			      abfd, (int) r_type);
-	  r_type = R_390_NONE;
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      abfd, r_type);
+	  bfd_set_error (bfd_error_bad_value);
+	  return FALSE;
 	}
       cache_ptr->howto = &elf_howto_table[r_type];
     }
+  return TRUE;
 }
 
 /* A relocation function which doesn't do anything.  */
@@ -872,7 +879,7 @@ elf_s390_check_relocs (bfd *abfd,
       if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: bad symbol index: %d"),
+	  _bfd_error_handler (_("%pB: bad symbol index: %d"),
 			      abfd, r_symndx);
 	  return FALSE;
 	}
@@ -1110,7 +1117,7 @@ elf_s390_check_relocs (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: `%s' accessed both as normal and thread local symbol"),
+		    (_("%pB: `%s' accessed both as normal and thread local symbol"),
 		     abfd, h->root.root.string);
 		  return FALSE;
 		}
@@ -1782,7 +1789,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -2072,10 +2079,10 @@ invalid_tls_insn (bfd *input_bfd,
   howto = elf_howto_table + ELF64_R_TYPE (rel->r_info);
   _bfd_error_handler
     /* xgettext:c-format */
-    (_("%B(%A+%#Lx): invalid instruction for TLS relocation %s"),
+    (_("%pB(%pA+%#" PRIx64 "): invalid instruction for TLS relocation %s"),
      input_bfd,
      input_section,
-     rel->r_offset,
+     (uint64_t) rel->r_offset,
      howto->name);
   bfd_set_error (bfd_error_bad_value);
 }
@@ -2530,7 +2537,7 @@ elf_s390_relocate_section (bfd *output_b
 	      && bfd_link_pie (info)
 	      && !h->def_regular)
 	    {
-	      _bfd_error_handler (_("%B: `%s' non-PLT reloc for symbol defined "
+	      _bfd_error_handler (_("%pB: `%s' non-PLT reloc for symbol defined "
 				    "in shared library and accessed "
 				    "from executable "
 				    "(rebuild file with -fPIC ?)"),
@@ -2558,6 +2565,9 @@ elf_s390_relocate_section (bfd *output_b
 	case R_390_32:
 	case R_390_64:
 
+	  if ((input_section->flags & SEC_ALLOC) == 0)
+	    break;
+
 	  if (h != NULL
 	      && s390_is_ifunc_symbol_p (h)
 	      && h->def_regular)
@@ -2620,9 +2630,6 @@ elf_s390_relocate_section (bfd *output_b
 		}
 	    }
 
-	  if ((input_section->flags & SEC_ALLOC) == 0)
-	    break;
-
 	  if ((bfd_link_pic (info)
 	       && (h == NULL
 		   || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
@@ -3115,10 +3122,11 @@ elf_s390_relocate_section (bfd *output_b
 				      rel->r_offset) != (bfd_vma) -1)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	  (_("%pB(%pA+%#" PRIx64 "): "
+	     "unresolvable %s relocation against symbol `%s'"),
 	   input_bfd,
 	   input_section,
-	   rel->r_offset,
+	   (uint64_t) rel->r_offset,
 	   howto->name,
 	   h->root.root.string);
 
@@ -3172,9 +3180,9 @@ elf_s390_relocate_section (bfd *output_b
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B(%A+%#Lx): reloc against `%s': error %d"),
+		(_("%pB(%pA+%#" PRIx64 "): reloc against `%s': error %d"),
 		 input_bfd, input_section,
-		 rel->r_offset, name, (int) r);
+		 (uint64_t) rel->r_offset, name, (int) r);
 	      return FALSE;
 	    }
 	}
@@ -3743,7 +3751,7 @@ elf_s390_write_core_note (bfd *abfd, cha
 
     case NT_PRPSINFO:
       {
-	char data[136] = { 0 };
+	char data[136] ATTRIBUTE_NONSTRING = { 0 };
 	const char *fname, *psargs;
 
 	va_start (ap, note_type);
@@ -3752,7 +3760,16 @@ elf_s390_write_core_note (bfd *abfd, cha
 	va_end (ap);
 
 	strncpy (data + 40, fname, 16);
+	DIAGNOSTIC_PUSH;
+	/* GCC 8.1 warns about 80 equals destination size with
+	   -Wstringop-truncation:
+	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
+	 */
+#if GCC_VERSION == 8001
+	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
+#endif
 	strncpy (data + 56, psargs, 80);
+	DIAGNOSTIC_POP;
 	return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type,
 				   &data, sizeof (data));
       }
@@ -3954,7 +3971,6 @@ const struct elf_size_info s390_elf64_si
 #define elf_backend_grok_psinfo		      elf_s390_grok_psinfo
 #define elf_backend_write_core_note	      elf_s390_write_core_note
 #define elf_backend_plt_sym_val		      elf_s390_plt_sym_val
-#define elf_backend_add_symbol_hook	      elf_s390_add_symbol_hook
 #define elf_backend_sort_relocs_p	      elf_s390_elf_sort_relocs_p
 #define elf_backend_additional_program_headers elf_s390_additional_program_headers
 #define elf_backend_modify_segment_map	      elf_s390_modify_segment_map
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-sh64.c ./bfd/elf64-sh64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-sh64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-sh64.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,3977 +0,0 @@
-/* SuperH SH64-specific support for 64-bit ELF
-   Copyright (C) 2000-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define SH64_ELF64
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "bfdlink.h"
-#include "libbfd.h"
-#include "elf-bfd.h"
-#include "elf/sh.h"
-
-/* Add a suffix for datalabel indirection symbols.  It must not match any
-   other symbols; user symbols with or without version or other
-   decoration.  It must only be used internally and not emitted by any
-   means.  */
-#define DATALABEL_SUFFIX " DL"
-
-#define GOT_BIAS (-((long)-32768))
-
-#define PLT_ENTRY_SIZE 64
-
-/* Return size of a PLT entry.  */
-#define elf_sh64_sizeof_plt(info) PLT_ENTRY_SIZE
-
-/* Return offset of the PLT0 address in an absolute PLT entry.  */
-#define elf_sh64_plt_plt0_offset(info) 32
-
-/* Return offset of the linker in PLT0 entry.  */
-#define elf_sh64_plt0_gotplt_offset(info) 0
-
-/* Return offset of the trampoline in PLT entry */
-#define elf_sh64_plt_temp_offset(info) 33 /* Add one because it's SHmedia.  */
-
-/* Return offset of the symbol in PLT entry.  */
-#define elf_sh64_plt_symbol_offset(info) 0
-
-/* Return offset of the relocation in PLT entry.  */
-#define elf_sh64_plt_reloc_offset(info) (bfd_link_pic (info) ? 52 : 44)
-
-#define ELF_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1"
-
-/* The sh linker needs to keep track of the number of relocs that it
-   decides to copy in check_relocs for each symbol.  This is so that
-   it can discard PC relative relocs if it doesn't need them when
-   linking with -Bsymbolic.  We store the information in a field
-   extending the regular ELF linker hash table.  */
-
-/* This structure keeps track of the number of PC relative relocs we
-   have copied for a given symbol.  */
-
-struct elf_sh64_pcrel_relocs_copied
-{
-  /* Next section.  */
-  struct elf_sh64_pcrel_relocs_copied *next;
-  /* A section in dynobj.  */
-  asection *section;
-  /* Number of relocs copied in this section.  */
-  bfd_size_type count;
-};
-
-/* sh ELF linker hash entry.  */
-
-struct elf_sh64_link_hash_entry
-{
-  struct elf_link_hash_entry root;
-
-  bfd_vma datalabel_got_offset;
-
-  /* Number of PC relative relocs copied for this symbol.  */
-  struct elf_sh64_pcrel_relocs_copied *pcrel_relocs_copied;
-};
-
-/* Traverse an sh ELF linker hash table.  */
-
-#define sh64_elf64_link_hash_traverse(table, func, info)	\
-  (elf_link_hash_traverse					\
-   ((table),							\
-    (bfd_boolean (*) (struct elf_link_hash_entry *, void *)) (func), \
-    (info)))
-
-static bfd_reloc_status_type sh_elf64_ignore_reloc
-  (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-static bfd_reloc_status_type sh_elf64_reloc
-  (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-
-static reloc_howto_type sh_elf64_howto_table[] = {
-  /* No relocation.  */
-  HOWTO (R_SH_NONE,		/* type */
-	 0,			/* rightshift */
-	 3,			/* size (0 = byte, 1 = short, 2 = long) */
-	 0,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 sh_elf64_ignore_reloc,	/* special_function */
-	 "R_SH_NONE",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0,			/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* 32 bit absolute relocation.  Setting partial_inplace to TRUE and
-     src_mask to a non-zero value is similar to the COFF toolchain.  */
-  HOWTO (R_SH_DIR32,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_bitfield, /* complain_on_overflow */
-	 sh_elf64_reloc,		/* special_function */
-	 "R_SH_DIR32",		/* name */
-	 TRUE,			/* partial_inplace */
-	 0xffffffff,		/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* 32 bit PC relative relocation.  */
-  HOWTO (R_SH_REL32,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 sh_elf64_ignore_reloc,	/* special_function */
-	 "R_SH_REL32",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffffffff,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* For 32-bit sh, this is R_SH_DIR8WPN.  */
-  EMPTY_HOWTO (3),
-
-  /* For 32-bit sh, this is R_SH_IND12W.  */
-  EMPTY_HOWTO (4),
-
-  /* For 32-bit sh, this is R_SH_DIR8WPL.  */
-  EMPTY_HOWTO (5),
-
-  /* For 32-bit sh, this is R_SH_DIR8WPZ.  */
-  EMPTY_HOWTO (6),
-
-  /* For 32-bit sh, this is R_SH_DIR8BP.  */
-  EMPTY_HOWTO (7),
-
-  /* For 32-bit sh, this is R_SH_DIR8W.  */
-  EMPTY_HOWTO (8),
-
-  /* For 32-bit sh, this is R_SH_DIR8L.  */
-  EMPTY_HOWTO (9),
-
-  EMPTY_HOWTO (10),
-  EMPTY_HOWTO (11),
-  EMPTY_HOWTO (12),
-  EMPTY_HOWTO (13),
-  EMPTY_HOWTO (14),
-  EMPTY_HOWTO (15),
-  EMPTY_HOWTO (16),
-  EMPTY_HOWTO (17),
-  EMPTY_HOWTO (18),
-  EMPTY_HOWTO (19),
-  EMPTY_HOWTO (20),
-  EMPTY_HOWTO (21),
-  EMPTY_HOWTO (22),
-  EMPTY_HOWTO (23),
-  EMPTY_HOWTO (24),
-
-  /* The remaining relocs are a GNU extension used for relaxing.  The
-     final pass of the linker never needs to do anything with any of
-     these relocs.  Any required operations are handled by the
-     relaxation code.  */
-
-  /* A 16 bit switch table entry.  This is generated for an expression
-     such as ``.word L1 - L2''.  The offset holds the difference
-     between the reloc address and L2.  */
-  HOWTO (R_SH_SWITCH16,		/* type */
-	 0,			/* rightshift */
-	 1,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_unsigned, /* complain_on_overflow */
-	 sh_elf64_ignore_reloc,	/* special_function */
-	 "R_SH_SWITCH16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0,			/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* A 32 bit switch table entry.  This is generated for an expression
-     such as ``.long L1 - L2''.  The offset holds the difference
-     between the reloc address and L2.  */
-  HOWTO (R_SH_SWITCH32,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 32,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_unsigned, /* complain_on_overflow */
-	 sh_elf64_ignore_reloc,	/* special_function */
-	 "R_SH_SWITCH32",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0,			/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* For 32-bit sh, this is R_SH_USES.  */
-  EMPTY_HOWTO (27),
-
-  /* For 32-bit sh, this is R_SH_COUNT.  */
-  EMPTY_HOWTO (28),
-
-  /* For 32-bit sh, this is R_SH_ALIGN.  FIXME: For linker relaxation,
-     this might be emitted.  When linker relaxation is implemented, we
-     might want to use it.  */
-  EMPTY_HOWTO (29),
-
-  /* For 32-bit sh, this is R_SH_CODE.  FIXME: For linker relaxation,
-     this might be emitted.  When linker relaxation is implemented, we
-     might want to use it.  */
-  EMPTY_HOWTO (30),
-
-  /* For 32-bit sh, this is R_SH_DATA.  FIXME: For linker relaxation,
-     this might be emitted.  When linker relaxation is implemented, we
-     might want to use it.  */
-  EMPTY_HOWTO (31),
-
-  /* For 32-bit sh, this is R_SH_LABEL.  FIXME: For linker relaxation,
-     this might be emitted.  When linker relaxation is implemented, we
-     might want to use it.  */
-  EMPTY_HOWTO (32),
-
-  /* An 8 bit switch table entry.  This is generated for an expression
-     such as ``.word L1 - L2''.  The offset holds the difference
-     between the reloc address and L2.  */
-  HOWTO (R_SH_SWITCH8,		/* type */
-	 0,			/* rightshift */
-	 0,			/* size (0 = byte, 1 = short, 2 = long) */
-	 8,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_unsigned, /* complain_on_overflow */
-	 sh_elf64_ignore_reloc,	/* special_function */
-	 "R_SH_SWITCH8",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0,			/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* GNU extension to record C++ vtable hierarchy */
-  HOWTO (R_SH_GNU_VTINHERIT, /* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 0,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 NULL,			/* special_function */
-	 "R_SH_GNU_VTINHERIT", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0,			/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* GNU extension to record C++ vtable member usage */
-  HOWTO (R_SH_GNU_VTENTRY,     /* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 0,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 _bfd_elf_rel_vtable_reloc_fn,	/* special_function */
-	 "R_SH_GNU_VTENTRY",   /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0,			/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* For 32-bit sh, this is R_SH_LOOP_START.  */
-  EMPTY_HOWTO (36),
-
-  /* For 32-bit sh, this is R_SH_LOOP_END.  */
-  EMPTY_HOWTO (37),
-
-  EMPTY_HOWTO (38),
-  EMPTY_HOWTO (39),
-  EMPTY_HOWTO (40),
-  EMPTY_HOWTO (41),
-  EMPTY_HOWTO (42),
-  EMPTY_HOWTO (43),
-  EMPTY_HOWTO (44),
-
-  /* Used in SHLLI.L and SHLRI.L.  */
-  HOWTO (R_SH_DIR5U,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 5,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_unsigned, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR5U",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xfc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in SHARI, SHLLI et al.  */
-  HOWTO (R_SH_DIR6U,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 6,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_unsigned, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR6U",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xfc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in BxxI, LDHI.L et al.  */
-  HOWTO (R_SH_DIR6S,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 6,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR6S",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xfc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in ADDI, ANDI et al.  */
-  HOWTO (R_SH_DIR10S,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 10,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR10S",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in LD.UW, ST.W et al.  */
-  HOWTO (R_SH_DIR10SW,	/* type */
-	 1,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 11,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR10SW",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in LD.L, FLD.S et al.  */
-  HOWTO (R_SH_DIR10SL,	/* type */
-	 2,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 12,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR10SL",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in FLD.D, FST.P et al.  */
-  HOWTO (R_SH_DIR10SQ,	/* type */
-	 3,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 13,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_DIR10SQ",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  EMPTY_HOWTO (52),
-  EMPTY_HOWTO (53),
-  EMPTY_HOWTO (54),
-  EMPTY_HOWTO (55),
-  EMPTY_HOWTO (56),
-  EMPTY_HOWTO (57),
-  EMPTY_HOWTO (58),
-  EMPTY_HOWTO (59),
-  EMPTY_HOWTO (60),
-  EMPTY_HOWTO (61),
-  EMPTY_HOWTO (62),
-  EMPTY_HOWTO (63),
-  EMPTY_HOWTO (64),
-  EMPTY_HOWTO (65),
-  EMPTY_HOWTO (66),
-  EMPTY_HOWTO (67),
-  EMPTY_HOWTO (68),
-  EMPTY_HOWTO (69),
-  EMPTY_HOWTO (70),
-  EMPTY_HOWTO (71),
-  EMPTY_HOWTO (72),
-  EMPTY_HOWTO (73),
-  EMPTY_HOWTO (74),
-  EMPTY_HOWTO (75),
-  EMPTY_HOWTO (76),
-  EMPTY_HOWTO (77),
-  EMPTY_HOWTO (78),
-  EMPTY_HOWTO (79),
-  EMPTY_HOWTO (80),
-  EMPTY_HOWTO (81),
-  EMPTY_HOWTO (82),
-  EMPTY_HOWTO (83),
-  EMPTY_HOWTO (84),
-  EMPTY_HOWTO (85),
-  EMPTY_HOWTO (86),
-  EMPTY_HOWTO (87),
-  EMPTY_HOWTO (88),
-  EMPTY_HOWTO (89),
-  EMPTY_HOWTO (90),
-  EMPTY_HOWTO (91),
-  EMPTY_HOWTO (92),
-  EMPTY_HOWTO (93),
-  EMPTY_HOWTO (94),
-  EMPTY_HOWTO (95),
-  EMPTY_HOWTO (96),
-  EMPTY_HOWTO (97),
-  EMPTY_HOWTO (98),
-  EMPTY_HOWTO (99),
-  EMPTY_HOWTO (100),
-  EMPTY_HOWTO (101),
-  EMPTY_HOWTO (102),
-  EMPTY_HOWTO (103),
-  EMPTY_HOWTO (104),
-  EMPTY_HOWTO (105),
-  EMPTY_HOWTO (106),
-  EMPTY_HOWTO (107),
-  EMPTY_HOWTO (108),
-  EMPTY_HOWTO (109),
-  EMPTY_HOWTO (110),
-  EMPTY_HOWTO (111),
-  EMPTY_HOWTO (112),
-  EMPTY_HOWTO (113),
-  EMPTY_HOWTO (114),
-  EMPTY_HOWTO (115),
-  EMPTY_HOWTO (116),
-  EMPTY_HOWTO (117),
-  EMPTY_HOWTO (118),
-  EMPTY_HOWTO (119),
-  EMPTY_HOWTO (120),
-  EMPTY_HOWTO (121),
-  EMPTY_HOWTO (122),
-  EMPTY_HOWTO (123),
-  EMPTY_HOWTO (124),
-  EMPTY_HOWTO (125),
-  EMPTY_HOWTO (126),
-  EMPTY_HOWTO (127),
-  EMPTY_HOWTO (128),
-  EMPTY_HOWTO (129),
-  EMPTY_HOWTO (130),
-  EMPTY_HOWTO (131),
-  EMPTY_HOWTO (132),
-  EMPTY_HOWTO (133),
-  EMPTY_HOWTO (134),
-  EMPTY_HOWTO (135),
-  EMPTY_HOWTO (136),
-  EMPTY_HOWTO (137),
-  EMPTY_HOWTO (138),
-  EMPTY_HOWTO (139),
-  EMPTY_HOWTO (140),
-  EMPTY_HOWTO (141),
-  EMPTY_HOWTO (142),
-  EMPTY_HOWTO (143),
-  EMPTY_HOWTO (144),
-  EMPTY_HOWTO (145),
-  EMPTY_HOWTO (146),
-  EMPTY_HOWTO (147),
-  EMPTY_HOWTO (148),
-  EMPTY_HOWTO (149),
-  EMPTY_HOWTO (150),
-  EMPTY_HOWTO (151),
-  EMPTY_HOWTO (152),
-  EMPTY_HOWTO (153),
-  EMPTY_HOWTO (154),
-  EMPTY_HOWTO (155),
-  EMPTY_HOWTO (156),
-  EMPTY_HOWTO (157),
-  EMPTY_HOWTO (158),
-  EMPTY_HOWTO (159),
-
-  /* Relocs for dynamic linking for 32-bit SH would follow.  We don't have
-     any dynamic linking support for 64-bit SH at present.  */
-
-  EMPTY_HOWTO (160),
-  EMPTY_HOWTO (161),
-  EMPTY_HOWTO (162),
-  EMPTY_HOWTO (163),
-  EMPTY_HOWTO (164),
-  EMPTY_HOWTO (165),
-  EMPTY_HOWTO (166),
-  EMPTY_HOWTO (167),
-  EMPTY_HOWTO (168),
-
-  /* Back to SH5 relocations.  */
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_GOT_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT_LOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_GOT_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT_MEDLOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_GOT_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_GOT_HI16,		/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_GOTPLT_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT_LOW16",   /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_GOTPLT_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT_MEDLOW16", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_GOTPLT_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_GOTPLT_HI16,	/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_PLT_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_PLT_LOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_PLT_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_PLT_MEDLOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_PLT_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_PLT_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_PLT_HI16,		/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_PLT_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_GOTOFF_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTOFF_LOW16",   /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_GOTOFF_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTOFF_MEDLOW16", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_GOTOFF_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTOFF_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_GOTOFF_HI16,	/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTOFF_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_GOTPC_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPC_LOW16",    /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_GOTPC_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPC_MEDLOW16", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_GOTPC_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPC_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_GOTPC_HI16,	/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPC_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in LD.L, FLD.S et al.  */
-  HOWTO (R_SH_GOT10BY4,		/* type */
-	 2,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 12,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT10BY4",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in LD.L, FLD.S et al.  */
-  HOWTO (R_SH_GOTPLT10BY4,	/* type */
-	 2,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 12,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT10BY4",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in FLD.D, FST.P et al.  */
-  HOWTO (R_SH_GOT10BY8,		/* type */
-	 3,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 13,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOT10BY8",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in FLD.D, FST.P et al.  */
-  HOWTO (R_SH_GOTPLT10BY8,	/* type */
-	 3,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 13,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GOTPLT10BY8",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0xffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_SH_COPY64,		/* type */
-	 0,			/* rightshift */
-	 4,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_COPY64",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_SH_GLOB_DAT64,	/* type */
-	 0,			/* rightshift */
-	 4,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_GLOB_DAT64",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_SH_JMP_SLOT64,	/* type */
-	 0,			/* rightshift */
-	 4,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_JMP_SLOT64",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  HOWTO (R_SH_RELATIVE64,	/* type */
-	 0,			/* rightshift */
-	 4,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_RELATIVE64",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  EMPTY_HOWTO (197),
-  EMPTY_HOWTO (198),
-  EMPTY_HOWTO (199),
-  EMPTY_HOWTO (200),
-  EMPTY_HOWTO (201),
-  EMPTY_HOWTO (202),
-  EMPTY_HOWTO (203),
-  EMPTY_HOWTO (204),
-  EMPTY_HOWTO (205),
-  EMPTY_HOWTO (206),
-  EMPTY_HOWTO (207),
-  EMPTY_HOWTO (208),
-  EMPTY_HOWTO (209),
-  EMPTY_HOWTO (210),
-  EMPTY_HOWTO (211),
-  EMPTY_HOWTO (212),
-  EMPTY_HOWTO (213),
-  EMPTY_HOWTO (214),
-  EMPTY_HOWTO (215),
-  EMPTY_HOWTO (216),
-  EMPTY_HOWTO (217),
-  EMPTY_HOWTO (218),
-  EMPTY_HOWTO (219),
-  EMPTY_HOWTO (220),
-  EMPTY_HOWTO (221),
-  EMPTY_HOWTO (222),
-  EMPTY_HOWTO (223),
-  EMPTY_HOWTO (224),
-  EMPTY_HOWTO (225),
-  EMPTY_HOWTO (226),
-  EMPTY_HOWTO (227),
-  EMPTY_HOWTO (228),
-  EMPTY_HOWTO (229),
-  EMPTY_HOWTO (230),
-  EMPTY_HOWTO (231),
-  EMPTY_HOWTO (232),
-  EMPTY_HOWTO (233),
-  EMPTY_HOWTO (234),
-  EMPTY_HOWTO (235),
-  EMPTY_HOWTO (236),
-  EMPTY_HOWTO (237),
-  EMPTY_HOWTO (238),
-  EMPTY_HOWTO (239),
-  EMPTY_HOWTO (240),
-  EMPTY_HOWTO (241),
-
-  /* Relocations for SHmedia code.  None of these are partial_inplace or
-     use the field being relocated.  */
-
-  /* The assembler will generate this reloc before a block of SHmedia
-     instructions.  A section should be processed as assuming it contains
-     data, unless this reloc is seen.  Note that a block of SHcompact
-     instructions are instead preceded by R_SH_CODE.
-     This is currently not implemented, but should be used for SHmedia
-     linker relaxation.  */
-  HOWTO (R_SH_SHMEDIA_CODE,	/* type */
-	 0,			/* rightshift */
-	 1,			/* size (0 = byte, 1 = short, 2 = long) */
-	 0,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_unsigned, /* complain_on_overflow */
-	 sh_elf64_ignore_reloc,	/* special_function */
-	 "R_SH_SHMEDIA_CODE",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0,			/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* The assembler will generate this reloc at a PTA or PTB instruction,
-     and the linker checks the right type of target, or changes a PTA to a
-     PTB, if the original insn was PT.  */
-  HOWTO (R_SH_PT_16,		/* type */
-	 2,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 18,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_PT_16",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in unexpanded MOVI.  */
-  HOWTO (R_SH_IMMS16,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_signed, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMMS16",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in SHORI.  */
-  HOWTO (R_SH_IMMU16,		/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 16,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_unsigned, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMMU16",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (x & 65536).  */
-  HOWTO (R_SH_IMM_LOW16,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_LOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x - $) & 65536).  */
-  HOWTO (R_SH_IMM_LOW16_PCREL,	/* type */
-	 0,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_LOW16_PCREL", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
-  HOWTO (R_SH_IMM_MEDLOW16,	/* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_MEDLOW16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (((x - $) >> 16) & 65536).  */
-  HOWTO (R_SH_IMM_MEDLOW16_PCREL, /* type */
-	 16,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_MEDLOW16_PCREL", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
-  HOWTO (R_SH_IMM_MEDHI16,	/* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_MEDHI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (((x - $) >> 32) & 65536).  */
-  HOWTO (R_SH_IMM_MEDHI16_PCREL, /* type */
-	 32,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_MEDHI16_PCREL", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
-  HOWTO (R_SH_IMM_HI16,		/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_HI16",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* Used in MOVI and SHORI (((x - $) >> 48) & 65536).  */
-  HOWTO (R_SH_IMM_HI16_PCREL,	/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_IMM_HI16_PCREL", /* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 0x3fffc00,		/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-  /* For the .uaquad pseudo.  */
-  HOWTO (R_SH_64,		/* type */
-	 0,			/* rightshift */
-	 4,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 FALSE,			/* pc_relative */
-	 0,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_64",		/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 FALSE),		/* pcrel_offset */
-
-  /* For the .uaquad pseudo, (x - $).  */
-  HOWTO (R_SH_64_PCREL,		/* type */
-	 48,			/* rightshift */
-	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-	 64,			/* bitsize */
-	 TRUE,			/* pc_relative */
-	 10,			/* bitpos */
-	 complain_overflow_dont, /* complain_on_overflow */
-	 bfd_elf_generic_reloc,	/* special_function */
-	 "R_SH_64_PCREL",	/* name */
-	 FALSE,			/* partial_inplace */
-	 0,			/* src_mask */
-	 ((bfd_vma) 0) - 1,	/* dst_mask */
-	 TRUE),			/* pcrel_offset */
-
-};
-
-/* This function is used for relocs which are only used for relaxing,
-   which the linker should otherwise ignore.  */
-
-static bfd_reloc_status_type
-sh_elf64_ignore_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
-		       asymbol *symbol ATTRIBUTE_UNUSED,
-		       void *data ATTRIBUTE_UNUSED, asection *input_section,
-		       bfd *output_bfd,
-		       char **error_message ATTRIBUTE_UNUSED)
-{
-  if (output_bfd != NULL)
-    reloc_entry->address += input_section->output_offset;
-  return bfd_reloc_ok;
-}
-
-/* This function is used for normal relocs.  This used to be like the COFF
-   function, and is almost certainly incorrect for other ELF targets.
-
-   See sh_elf_reloc in elf32-sh.c for the original.  */
-
-static bfd_reloc_status_type
-sh_elf64_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol_in,
-		void *data, asection *input_section, bfd *output_bfd,
-		char **error_message ATTRIBUTE_UNUSED)
-{
-  unsigned long insn;
-  bfd_vma sym_value;
-  enum elf_sh_reloc_type r_type;
-  bfd_vma addr = reloc_entry->address;
-  bfd_byte *hit_data = addr + (bfd_byte *) data;
-
-  r_type = (enum elf_sh_reloc_type) reloc_entry->howto->type;
-
-  if (output_bfd != NULL)
-    {
-      /* Partial linking--do nothing.  */
-      reloc_entry->address += input_section->output_offset;
-      return bfd_reloc_ok;
-    }
-
-  if (symbol_in != NULL
-      && bfd_is_und_section (symbol_in->section))
-    return bfd_reloc_undefined;
-
-  if (bfd_is_com_section (symbol_in->section))
-    sym_value = 0;
-  else
-    sym_value = (symbol_in->value +
-		 symbol_in->section->output_section->vma +
-		 symbol_in->section->output_offset);
-
-  switch (r_type)
-    {
-    case R_SH_DIR32:
-      insn = bfd_get_32 (abfd, hit_data);
-      insn += sym_value + reloc_entry->addend;
-      bfd_put_32 (abfd, insn, hit_data);
-      break;
-
-    default:
-      abort ();
-      break;
-    }
-
-  return bfd_reloc_ok;
-}
-
-/* This structure is used to map BFD reloc codes to SH ELF relocs.  */
-
-struct elf_reloc_map
-{
-  bfd_reloc_code_real_type bfd_reloc_val;
-  unsigned char elf_reloc_val;
-};
-
-/* An array mapping BFD reloc codes to SH ELF relocs.  */
-
-static const struct elf_reloc_map sh64_reloc_map[] =
-{
-  { BFD_RELOC_NONE, R_SH_NONE },
-  { BFD_RELOC_32, R_SH_DIR32 },
-  { BFD_RELOC_CTOR, R_SH_DIR32 },
-  { BFD_RELOC_32_PCREL, R_SH_REL32 },
-  { BFD_RELOC_8_PCREL, R_SH_SWITCH8 },
-  { BFD_RELOC_SH_SWITCH16, R_SH_SWITCH16 },
-  { BFD_RELOC_SH_SWITCH32, R_SH_SWITCH32 },
-  { BFD_RELOC_VTABLE_INHERIT, R_SH_GNU_VTINHERIT },
-  { BFD_RELOC_VTABLE_ENTRY, R_SH_GNU_VTENTRY },
-  { BFD_RELOC_SH_GOT_LOW16, R_SH_GOT_LOW16 },
-  { BFD_RELOC_SH_GOT_MEDLOW16, R_SH_GOT_MEDLOW16 },
-  { BFD_RELOC_SH_GOT_MEDHI16, R_SH_GOT_MEDHI16 },
-  { BFD_RELOC_SH_GOT_HI16, R_SH_GOT_HI16 },
-  { BFD_RELOC_SH_GOTPLT_LOW16, R_SH_GOTPLT_LOW16 },
-  { BFD_RELOC_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDLOW16 },
-  { BFD_RELOC_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_MEDHI16 },
-  { BFD_RELOC_SH_GOTPLT_HI16, R_SH_GOTPLT_HI16 },
-  { BFD_RELOC_SH_PLT_LOW16, R_SH_PLT_LOW16 },
-  { BFD_RELOC_SH_PLT_MEDLOW16, R_SH_PLT_MEDLOW16 },
-  { BFD_RELOC_SH_PLT_MEDHI16, R_SH_PLT_MEDHI16 },
-  { BFD_RELOC_SH_PLT_HI16, R_SH_PLT_HI16 },
-  { BFD_RELOC_SH_GOTOFF_LOW16, R_SH_GOTOFF_LOW16 },
-  { BFD_RELOC_SH_GOTOFF_MEDLOW16, R_SH_GOTOFF_MEDLOW16 },
-  { BFD_RELOC_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_MEDHI16 },
-  { BFD_RELOC_SH_GOTOFF_HI16, R_SH_GOTOFF_HI16 },
-  { BFD_RELOC_SH_GOTPC_LOW16, R_SH_GOTPC_LOW16 },
-  { BFD_RELOC_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDLOW16 },
-  { BFD_RELOC_SH_GOTPC_MEDHI16, R_SH_GOTPC_MEDHI16 },
-  { BFD_RELOC_SH_GOTPC_HI16, R_SH_GOTPC_HI16 },
-  { BFD_RELOC_SH_COPY64, R_SH_COPY64 },
-  { BFD_RELOC_SH_GLOB_DAT64, R_SH_GLOB_DAT64 },
-  { BFD_RELOC_SH_JMP_SLOT64, R_SH_JMP_SLOT64 },
-  { BFD_RELOC_SH_RELATIVE64, R_SH_RELATIVE64 },
-  { BFD_RELOC_SH_GOT10BY4, R_SH_GOT10BY4 },
-  { BFD_RELOC_SH_GOT10BY8, R_SH_GOT10BY8 },
-  { BFD_RELOC_SH_GOTPLT10BY4, R_SH_GOTPLT10BY4 },
-  { BFD_RELOC_SH_GOTPLT10BY8, R_SH_GOTPLT10BY8 },
-  { BFD_RELOC_SH_PT_16, R_SH_PT_16 },
-  { BFD_RELOC_SH_SHMEDIA_CODE, R_SH_SHMEDIA_CODE },
-  { BFD_RELOC_SH_IMMU5, R_SH_DIR5U },
-  { BFD_RELOC_SH_IMMS6, R_SH_DIR6S },
-  { BFD_RELOC_SH_IMMU6, R_SH_DIR6U },
-  { BFD_RELOC_SH_IMMS10, R_SH_DIR10S },
-  { BFD_RELOC_SH_IMMS10BY2, R_SH_DIR10SW },
-  { BFD_RELOC_SH_IMMS10BY4, R_SH_DIR10SL },
-  { BFD_RELOC_SH_IMMS10BY8, R_SH_DIR10SQ },
-  { BFD_RELOC_SH_IMMS16, R_SH_IMMS16 },
-  { BFD_RELOC_SH_IMMU16, R_SH_IMMU16 },
-  { BFD_RELOC_SH_IMM_LOW16, R_SH_IMM_LOW16 },
-  { BFD_RELOC_SH_IMM_LOW16_PCREL, R_SH_IMM_LOW16_PCREL },
-  { BFD_RELOC_SH_IMM_MEDLOW16, R_SH_IMM_MEDLOW16 },
-  { BFD_RELOC_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDLOW16_PCREL },
-  { BFD_RELOC_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16 },
-  { BFD_RELOC_SH_IMM_MEDHI16_PCREL, R_SH_IMM_MEDHI16_PCREL },
-  { BFD_RELOC_SH_IMM_HI16, R_SH_IMM_HI16 },
-  { BFD_RELOC_SH_IMM_HI16_PCREL, R_SH_IMM_HI16_PCREL },
-  { BFD_RELOC_64, R_SH_64 },
-  { BFD_RELOC_64_PCREL, R_SH_64_PCREL },
-};
-
-/* Given a BFD reloc code, return the howto structure for the
-   corresponding SH ELf reloc.  */
-
-static reloc_howto_type *
-sh_elf64_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			    bfd_reloc_code_real_type code)
-{
-  unsigned int i;
-
-  for (i = 0; i < sizeof (sh64_reloc_map) / sizeof (struct elf_reloc_map); i++)
-    {
-      if (sh64_reloc_map[i].bfd_reloc_val == code)
-	return &sh_elf64_howto_table[(int) sh64_reloc_map[i].elf_reloc_val];
-    }
-
-  return NULL;
-}
-
-static reloc_howto_type *
-sh_elf64_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			    const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0;
-       i < sizeof (sh_elf64_howto_table) / sizeof (sh_elf64_howto_table[0]);
-       i++)
-    if (sh_elf64_howto_table[i].name != NULL
-	&& strcasecmp (sh_elf64_howto_table[i].name, r_name) == 0)
-      return &sh_elf64_howto_table[i];
-
-  return NULL;
-}
-
-/* Given an ELF reloc, fill in the howto field of a relent.
-
-   See sh_elf_info_to_howto in elf32-sh.c for the original.  */
-
-static void
-sh_elf64_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
-			Elf_Internal_Rela *dst)
-{
-  unsigned int r;
-
-  r = ELF64_R_TYPE (dst->r_info);
-
-  BFD_ASSERT (r <= (unsigned int) R_SH_64_PCREL);
-  BFD_ASSERT (r < R_SH_FIRST_INVALID_RELOC || r > R_SH_LAST_INVALID_RELOC);
-  BFD_ASSERT (r < R_SH_DIR8WPN || r > R_SH_LAST_INVALID_RELOC_2);
-  BFD_ASSERT (r < R_SH_FIRST_INVALID_RELOC_3 || r > R_SH_GOTPLT32);
-  BFD_ASSERT (r < R_SH_FIRST_INVALID_RELOC_4 || r > R_SH_LAST_INVALID_RELOC_4);
-
-  cache_ptr->howto = &sh_elf64_howto_table[r];
-}
-
-/* Relocate an SH ELF section.
-
-   See sh_elf_info_to_howto in elf32-sh.c for the original.  */
-
-static bfd_boolean
-sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
-			   struct bfd_link_info *info, bfd *input_bfd,
-			   asection *input_section, bfd_byte *contents,
-			   Elf_Internal_Rela *relocs,
-			   Elf_Internal_Sym *local_syms,
-			   asection **local_sections)
-{
-  Elf_Internal_Shdr *symtab_hdr;
-  struct elf_link_hash_entry **sym_hashes;
-  Elf_Internal_Rela *rel, *relend;
-  bfd_vma *local_got_offsets;
-  asection *sgot;
-  asection *sgotplt;
-  asection *splt;
-  asection *sreloc;
-  bfd_vma disp, dropped;
-
-  symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
-  sym_hashes = elf_sym_hashes (input_bfd);
-  local_got_offsets = elf_local_got_offsets (input_bfd);
-
-  sreloc = NULL;
-
-  rel = relocs;
-  relend = relocs + input_section->reloc_count;
-  for (; rel < relend; rel++)
-    {
-      int r_type;
-      reloc_howto_type *howto;
-      unsigned long r_symndx;
-      Elf_Internal_Sym *sym;
-      asection *sec;
-      struct elf_link_hash_entry *h;
-      bfd_vma relocation;
-      bfd_vma addend = (bfd_vma)0;
-      bfd_reloc_status_type r;
-      int seen_stt_datalabel = 0;
-
-      r_symndx = ELF64_R_SYM (rel->r_info);
-
-      r_type = ELF64_R_TYPE (rel->r_info);
-
-      if (r_type == (int) R_SH_NONE)
-	continue;
-
-      if (r_type < 0
-	  || r_type > R_SH_64_PCREL
-	  || (r_type >= (int) R_SH_FIRST_INVALID_RELOC
-	      && r_type <= (int) R_SH_LAST_INVALID_RELOC)
-	  || (r_type >= (int) R_SH_DIR8WPN
-	      && r_type <= (int) R_SH_LAST_INVALID_RELOC)
-	  || (r_type >= (int) R_SH_GNU_VTINHERIT
-	      && r_type <= (int) R_SH_PSHL)
-	  || (r_type >= (int) R_SH_FIRST_INVALID_RELOC_2
-	      && r_type <= R_SH_GOTPLT32)
-	  || (r_type >= (int) R_SH_FIRST_INVALID_RELOC_4
-	      && r_type <= (int) R_SH_LAST_INVALID_RELOC_4))
-	{
-	  bfd_set_error (bfd_error_bad_value);
-	  return FALSE;
-	}
-
-      howto = sh_elf64_howto_table + r_type;
-
-      h = NULL;
-      sym = NULL;
-      sec = NULL;
-      relocation = 0;
-      if (r_symndx < symtab_hdr->sh_info)
-	{
-	  sym = local_syms + r_symndx;
-	  sec = local_sections[r_symndx];
-	  relocation = ((sec->output_section->vma
-			 + sec->output_offset
-			 + sym->st_value)
-			| ((sym->st_other & STO_SH5_ISA32) != 0));
-
-	  /* A local symbol never has STO_SH5_ISA32, so we don't need
-	     datalabel processing here.  Make sure this does not change
-	     without notice.  */
-	  if ((sym->st_other & STO_SH5_ISA32) != 0)
-	    (*info->callbacks->reloc_dangerous)
-	      (info,
-	       _("Unexpected STO_SH5_ISA32 on local symbol is not handled"),
-	       input_bfd, input_section, rel->r_offset);
-
-	  if (sec != NULL && discarded_section (sec))
-	    /* Handled below.  */
-	    ;
-	  else if (bfd_link_relocatable (info))
-	    {
-	      /* This is a relocatable link.  We don't have to change
-		 anything, unless the reloc is against a section symbol,
-		 in which case we have to adjust according to where the
-		 section symbol winds up in the output section.  */
-	      if (ELF_ST_TYPE (sym->st_info) == STT_SECTION)
-		goto final_link_relocate;
-
-	      continue;
-	    }
-	  else if (! howto->partial_inplace)
-	    {
-	      relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
-	      relocation |= ((sym->st_other & STO_SH5_ISA32) != 0);
-	    }
-	  else if ((sec->flags & SEC_MERGE)
-		   && ELF_ST_TYPE (sym->st_info) == STT_SECTION)
-	    {
-	      asection *msec;
-
-	      if (howto->rightshift || howto->src_mask != 0xffffffff)
-		{
-		  _bfd_error_handler
-		    /* xgettext:c-format */
-		    (_("%B(%A+%#Lx): %s relocation against SEC_MERGE section"),
-		     input_bfd, input_section,
-		     rel->r_offset, howto->name);
-		  return FALSE;
-		}
-
-	      addend = bfd_get_32 (input_bfd, contents + rel->r_offset);
-	      msec = sec;
-	      addend =
-		_bfd_elf_rel_local_sym (output_bfd, sym, &msec, addend)
-		- relocation;
-	      addend += msec->output_section->vma + msec->output_offset;
-	      bfd_put_32 (input_bfd, addend, contents + rel->r_offset);
-	      addend = 0;
-	    }
-	}
-      else
-	{
-	  /* ??? Could we use the RELOC_FOR_GLOBAL_SYMBOL macro here ?  */
-
-	  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
-	  while (h->root.type == bfd_link_hash_indirect
-		 || h->root.type == bfd_link_hash_warning)
-	    {
-	      /* If the reference passes a symbol marked with
-		 STT_DATALABEL, then any STO_SH5_ISA32 on the final value
-		 doesn't count.  */
-	      seen_stt_datalabel |= h->type == STT_DATALABEL;
-	      h = (struct elf_link_hash_entry *) h->root.u.i.link;
-	    }
-
-	  if (h->root.type == bfd_link_hash_defined
-	      || h->root.type == bfd_link_hash_defweak)
-	    {
-	      sec = h->root.u.def.section;
-	      /* In these cases, we don't need the relocation value.
-		 We check specially because in some obscure cases
-		 sec->output_section will be NULL.  */
-	      if (r_type == R_SH_GOTPC_LOW16
-		  || r_type == R_SH_GOTPC_MEDLOW16
-		  || r_type == R_SH_GOTPC_MEDHI16
-		  || r_type == R_SH_GOTPC_HI16
-		  || ((r_type == R_SH_PLT_LOW16
-		       || r_type == R_SH_PLT_MEDLOW16
-		       || r_type == R_SH_PLT_MEDHI16
-		       || r_type == R_SH_PLT_HI16)
-		      && h->plt.offset != (bfd_vma) -1)
-		  || ((r_type == R_SH_GOT_LOW16
-		       || r_type == R_SH_GOT_MEDLOW16
-		       || r_type == R_SH_GOT_MEDHI16
-		       || r_type == R_SH_GOT_HI16)
-		      && elf_hash_table (info)->dynamic_sections_created
-		      && (! bfd_link_pic (info)
-			  || (! info->symbolic && h->dynindx != -1)
-			  || !h->def_regular))
-		  /* The cases above are those in which relocation is
-		     overwritten in the switch block below.  The cases
-		     below are those in which we must defer relocation
-		     to run-time, because we can't resolve absolute
-		     addresses when creating a shared library.  */
-		  || (bfd_link_pic (info)
-		      && ((! info->symbolic && h->dynindx != -1)
-			  || !h->def_regular)
-		      && ((r_type == R_SH_64
-			   && !(ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
-				|| ELF_ST_VISIBILITY (h->other) == STV_HIDDEN))
-			  || r_type == R_SH_64_PCREL)
-		      && ((input_section->flags & SEC_ALLOC) != 0
-			  /* DWARF will emit R_SH_DIR32 relocations in its
-			     sections against symbols defined externally
-			     in shared libraries.  We can't do anything
-			     with them here.  */
-			  || (input_section->flags & SEC_DEBUGGING) != 0))
-		  /* Dynamic relocs are not propagated for SEC_DEBUGGING
-		     sections because such sections are not SEC_ALLOC and
-		     thus ld.so will not process them.  */
-		  || (sec->output_section == NULL
-		      && ((input_section->flags & SEC_DEBUGGING) != 0
-			  && h->def_dynamic)))
-		;
-	      else if (sec->output_section != NULL)
-		relocation = ((h->root.u.def.value
-			       + sec->output_section->vma
-			       + sec->output_offset)
-			      /* A STO_SH5_ISA32 causes a "bitor 1" to the
-				 symbol value, unless we've seen
-				 STT_DATALABEL on the way to it.  */
-			      | ((h->other & STO_SH5_ISA32) != 0
-				 && ! seen_stt_datalabel));
-	      else if (!bfd_link_relocatable (info)
-		       && (_bfd_elf_section_offset (output_bfd, info,
-						    input_section,
-						    rel->r_offset)
-			   != (bfd_vma) -1))
-		{
-		  _bfd_error_handler
-		    /* xgettext:c-format */
-		    (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
-		     input_bfd,
-		     input_section,
-		     rel->r_offset,
-		     howto->name,
-		     h->root.root.string);
-		}
-	    }
-	  else if (h->root.type == bfd_link_hash_undefweak)
-	    ;
-	  else if (info->unresolved_syms_in_objects == RM_IGNORE
-		   && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
-	    ;
-	  else if (!bfd_link_relocatable (info))
-	    (*info->callbacks->undefined_symbol)
-	      (info, h->root.root.string, input_bfd,
-	       input_section, rel->r_offset,
-	       (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
-		|| ELF_ST_VISIBILITY (h->other)));
-	}
-
-      if (sec != NULL && discarded_section (sec))
-	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
-					 rel, 1, relend, howto, 0, contents);
-
-      if (bfd_link_relocatable (info))
-	continue;
-
-      disp = (relocation
-	      - input_section->output_section->vma
-	      - input_section->output_offset
-	      - rel->r_offset);
-      dropped = 0;
-      switch ((int)r_type)
-	{
-	case R_SH_PT_16:     dropped = disp & 2; break;
-	case R_SH_DIR10SW: dropped = disp & 1; break;
-	case R_SH_DIR10SL: dropped = disp & 3; break;
-	case R_SH_DIR10SQ: dropped = disp & 7; break;
-	}
-      if (dropped != 0)
-	{
-	  _bfd_error_handler
-	    /* xgettext:c-format */
-	    (_("%B: error: unaligned relocation type %d at %08Lx reloc %08Lx"),
-	     input_bfd, (int) r_type, rel->r_offset,
-	     relocation);
-	  bfd_set_error (bfd_error_bad_value);
-	  return FALSE;
-	}
-      switch ((int)r_type)
-	{
-	case R_SH_64:
-	case R_SH_64_PCREL:
-	  if (bfd_link_pic (info)
-	      && (input_section->flags & SEC_ALLOC) != 0
-	      && (r_type != R_SH_64_PCREL
-		  || (h != NULL
-		      && h->dynindx != -1
-		      && (! info->symbolic
-			  || !h->def_regular))))
-	    {
-	      Elf_Internal_Rela outrel;
-	      bfd_byte *loc;
-	      bfd_boolean skip, relocate;
-
-	      /* When generating a shared object, these relocations
-		 are copied into the output file to be resolved at run
-		 time.  */
-
-	      if (sreloc == NULL)
-		{
-		  sreloc = _bfd_elf_get_dynamic_reloc_section
-		    (input_bfd, input_section, /*rela?*/ TRUE);
-		  if (sreloc == NULL)
-		    return FALSE;
-		}
-
-	      skip = FALSE;
-	      relocate = FALSE;
-
-	      outrel.r_offset
-		= _bfd_elf_section_offset (output_bfd, info,
-					   input_section, rel->r_offset);
-
-	      if (outrel.r_offset == (bfd_vma) -1)
-		skip = TRUE;
-	      else if (outrel.r_offset == (bfd_vma) -2)
-		skip = TRUE, relocate = TRUE;
-
-	      outrel.r_offset += (input_section->output_section->vma
-				  + input_section->output_offset);
-
-	      if (skip)
-		memset (&outrel, 0, sizeof outrel);
-	      else if (r_type == R_SH_64_PCREL)
-		{
-		  BFD_ASSERT (h != NULL && h->dynindx != -1);
-		  outrel.r_info = ELF64_R_INFO (h->dynindx, R_SH_64_PCREL);
-		  outrel.r_addend = rel->r_addend;
-		}
-	      else
-		{
-		  /* h->dynindx may be -1 if this symbol was marked to
-		     become local.  */
-		  if (h == NULL
-		      || ((info->symbolic || h->dynindx == -1)
-			  && h->def_regular))
-		    {
-		      relocate = TRUE;
-		      outrel.r_info = ELF64_R_INFO (0, R_SH_RELATIVE64);
-		      outrel.r_addend = relocation + rel->r_addend;
-		    }
-		  else
-		    {
-		      BFD_ASSERT (h->dynindx != -1);
-		      outrel.r_info = ELF64_R_INFO (h->dynindx, R_SH_64);
-		      outrel.r_addend = relocation + rel->r_addend;
-		    }
-		}
-
-	      loc = sreloc->contents;
-	      loc += sreloc->reloc_count++ * sizeof (Elf64_External_Rela);
-	      bfd_elf64_swap_reloca_out (output_bfd, &outrel, loc);
-
-	      /* If this reloc is against an external symbol, we do
-		 not want to fiddle with the addend.  Otherwise, we
-		 need to include the symbol value so that it becomes
-		 an addend for the dynamic reloc.  */
-	      if (! relocate)
-		continue;
-	    }
-	  else if (r_type == R_SH_64)
-	    addend = rel->r_addend;
-	  goto final_link_relocate;
-
-	case R_SH_GOTPLT_LOW16:
-	case R_SH_GOTPLT_MEDLOW16:
-	case R_SH_GOTPLT_MEDHI16:
-	case R_SH_GOTPLT_HI16:
-	case R_SH_GOTPLT10BY4:
-	case R_SH_GOTPLT10BY8:
-	  /* Relocation is to the entry for this symbol in the
-	     procedure linkage table.  */
-
-	  if (h == NULL
-	      || ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
-	      || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN
-	      || ! bfd_link_pic (info)
-	      || info->symbolic
-	      || h->dynindx == -1
-	      || h->plt.offset == (bfd_vma) -1
-	      || h->got.offset != (bfd_vma) -1)
-	    goto force_got;
-
-	  /* Relocation is to the entry for this symbol in the global
-	     offset table extension for the procedure linkage table.  */
-	  sgotplt = elf_hash_table (info)->sgotplt;
-	  BFD_ASSERT (sgotplt != NULL);
-
-	  relocation = (sgotplt->output_offset
-			+ ((h->plt.offset / elf_sh64_sizeof_plt (info)
-			    - 1 + 3) * 8));
-
-	  relocation -= GOT_BIAS;
-
-	  goto final_link_relocate;
-
-	force_got:
-	case R_SH_GOT_LOW16:
-	case R_SH_GOT_MEDLOW16:
-	case R_SH_GOT_MEDHI16:
-	case R_SH_GOT_HI16:
-	case R_SH_GOT10BY4:
-	case R_SH_GOT10BY8:
-	  /* Relocation is to the entry for this symbol in the global
-	     offset table.  */
-	  sgot = elf_hash_table (info)->sgot;
-	  BFD_ASSERT (sgot != NULL);
-
-	  if (h != NULL)
-	    {
-	      bfd_vma off;
-
-	      off = h->got.offset;
-	      if (seen_stt_datalabel)
-		{
-		  struct elf_sh64_link_hash_entry *hsh;
-
-		  hsh = (struct elf_sh64_link_hash_entry *)h;
-		  off = hsh->datalabel_got_offset;
-		}
-	      BFD_ASSERT (off != (bfd_vma) -1);
-
-	      if (! elf_hash_table (info)->dynamic_sections_created
-		  || (bfd_link_pic (info)
-		      && (info->symbolic || h->dynindx == -1
-			  || ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
-			  || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN)
-		      && h->def_regular))
-		{
-		  /* This is actually a static link, or it is a
-		     -Bsymbolic link and the symbol is defined
-		     locally, or the symbol was forced to be local
-		     because of a version file.  We must initialize
-		     this entry in the global offset table.  Since the
-		     offset must always be a multiple of 4, we use the
-		     least significant bit to record whether we have
-		     initialized it already.
-
-		     When doing a dynamic link, we create a .rela.got
-		     relocation entry to initialize the value.  This
-		     is done in the finish_dynamic_symbol routine.  */
-		  if ((off & 1) != 0)
-		    off &= ~1;
-		  else
-		    {
-		      bfd_put_64 (output_bfd, relocation,
-				  sgot->contents + off);
-		      if (seen_stt_datalabel)
-			{
-			  struct elf_sh64_link_hash_entry *hsh;
-
-			  hsh = (struct elf_sh64_link_hash_entry *)h;
-			  hsh->datalabel_got_offset |= 1;
-			}
-		      else
-			h->got.offset |= 1;
-		    }
-		}
-
-	      relocation = sgot->output_offset + off;
-	    }
-	  else
-	    {
-	      bfd_vma off;
-
-	      if (rel->r_addend)
-		{
-		  BFD_ASSERT (local_got_offsets != NULL
-			      && (local_got_offsets[symtab_hdr->sh_info
-						    + r_symndx]
-				  != (bfd_vma) -1));
-
-		  off = local_got_offsets[symtab_hdr->sh_info
-					  + r_symndx];
-		}
-	      else
-		{
-		  BFD_ASSERT (local_got_offsets != NULL
-			      && local_got_offsets[r_symndx] != (bfd_vma) -1);
-
-		  off = local_got_offsets[r_symndx];
-		}
-
-	      /* The offset must always be a multiple of 8.  We use
-		 the least significant bit to record whether we have
-		 already generated the necessary reloc.  */
-	      if ((off & 1) != 0)
-		off &= ~1;
-	      else
-		{
-		  bfd_put_64 (output_bfd, relocation, sgot->contents + off);
-
-		  if (bfd_link_pic (info))
-		    {
-		      asection *s;
-		      Elf_Internal_Rela outrel;
-		      bfd_byte *loc;
-
-		      s = elf_hash_table (info)->srelgot;
-		      BFD_ASSERT (s != NULL);
-
-		      outrel.r_offset = (sgot->output_section->vma
-					 + sgot->output_offset
-					 + off);
-		      outrel.r_info = ELF64_R_INFO (0, R_SH_RELATIVE64);
-		      outrel.r_addend = relocation;
-		      loc = s->contents;
-		      loc += s->reloc_count++ * sizeof (Elf64_External_Rela);
-		      bfd_elf64_swap_reloca_out (output_bfd, &outrel, loc);
-		    }
-
-		  if (rel->r_addend)
-		    local_got_offsets[symtab_hdr->sh_info + r_symndx] |= 1;
-		  else
-		    local_got_offsets[r_symndx] |= 1;
-		}
-
-	      relocation = sgot->output_offset + off;
-	    }
-
-	  relocation -= GOT_BIAS;
-
-	  goto final_link_relocate;
-
-	case R_SH_GOTOFF_LOW16:
-	case R_SH_GOTOFF_MEDLOW16:
-	case R_SH_GOTOFF_MEDHI16:
-	case R_SH_GOTOFF_HI16:
-	  /* Relocation is relative to the start of the global offset
-	     table.  */
-
-	  sgot = elf_hash_table (info)->sgot;
-	  BFD_ASSERT (sgot != NULL);
-
-	  /* Note that sgot->output_offset is not involved in this
-	     calculation.  We always want the start of .got.  If we
-	     defined _GLOBAL_OFFSET_TABLE in a different way, as is
-	     permitted by the ABI, we might have to change this
-	     calculation.  */
-	  relocation -= sgot->output_section->vma;
-
-	  relocation -= GOT_BIAS;
-
-	  addend = rel->r_addend;
-
-	  goto final_link_relocate;
-
-	case R_SH_GOTPC_LOW16:
-	case R_SH_GOTPC_MEDLOW16:
-	case R_SH_GOTPC_MEDHI16:
-	case R_SH_GOTPC_HI16:
-	  /* Use global offset table as symbol value.  */
-
-	  sgot = elf_hash_table (info)->sgot;
-	  BFD_ASSERT (sgot != NULL);
-
-	  relocation = sgot->output_section->vma;
-
-	  relocation += GOT_BIAS;
-
-	  addend = rel->r_addend;
-
-	  goto final_link_relocate;
-
-	case R_SH_PLT_LOW16:
-	case R_SH_PLT_MEDLOW16:
-	case R_SH_PLT_MEDHI16:
-	case R_SH_PLT_HI16:
-	  /* Relocation is to the entry for this symbol in the
-	     procedure linkage table.  */
-
-	  /* Resolve a PLT reloc against a local symbol directly,
-	     without using the procedure linkage table.  */
-	  if (h == NULL)
-	    goto final_link_relocate;
-
-	  if (ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
-	      || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN)
-	    goto final_link_relocate;
-
-	  if (h->plt.offset == (bfd_vma) -1)
-	    {
-	      /* We didn't make a PLT entry for this symbol.  This
-		 happens when statically linking PIC code, or when
-		 using -Bsymbolic.  */
-	      goto final_link_relocate;
-	    }
-
-	  splt = elf_hash_table (info)->splt;
-	  BFD_ASSERT (splt != NULL);
-
-	  relocation = (splt->output_section->vma
-			+ splt->output_offset
-			+ h->plt.offset);
-	  relocation++;
-
-	  addend = rel->r_addend;
-
-	  goto final_link_relocate;
-
-	case R_SH_DIR32:
-	case R_SH_SHMEDIA_CODE:
-	case R_SH_PT_16:
-	case R_SH_DIR5U:
-	case R_SH_DIR6S:
-	case R_SH_DIR6U:
-	case R_SH_DIR10S:
-	case R_SH_DIR10SW:
-	case R_SH_DIR10SL:
-	case R_SH_DIR10SQ:
-	case R_SH_IMMS16:
-	case R_SH_IMMU16:
-	case R_SH_IMM_LOW16:
-	case R_SH_IMM_LOW16_PCREL:
-	case R_SH_IMM_MEDLOW16:
-	case R_SH_IMM_MEDLOW16_PCREL:
-	case R_SH_IMM_MEDHI16:
-	case R_SH_IMM_MEDHI16_PCREL:
-	case R_SH_IMM_HI16:
-	case R_SH_IMM_HI16_PCREL:
-	  addend = rel->r_addend;
-	  /* Fall through.  */
-	case R_SH_REL32:
-	final_link_relocate:
-	  r = _bfd_final_link_relocate (howto, input_bfd, input_section,
-					contents, rel->r_offset,
-					relocation, addend);
-	  break;
-
-	default:
-	  bfd_set_error (bfd_error_bad_value);
-	  return FALSE;
-
-	}
-
-      if (r != bfd_reloc_ok)
-	{
-	  switch (r)
-	    {
-	    default:
-	    case bfd_reloc_outofrange:
-	      abort ();
-	    case bfd_reloc_overflow:
-	      {
-		const char *name;
-
-		if (h != NULL)
-		  name = NULL;
-		else
-		  {
-		    name = (bfd_elf_string_from_elf_section
-			    (input_bfd, symtab_hdr->sh_link, sym->st_name));
-		    if (name == NULL)
-		      return FALSE;
-		    if (*name == '\0')
-		      name = bfd_section_name (input_bfd, sec);
-		  }
-		(*info->callbacks->reloc_overflow)
-		  (info, (h ? &h->root : NULL), name, howto->name,
-		   (bfd_vma) 0, input_bfd, input_section, rel->r_offset);
-	      }
-	      break;
-	    }
-	}
-    }
-
-  return TRUE;
-}
-
-/* This is a version of bfd_generic_get_relocated_section_contents
-   that uses sh_elf64_relocate_section.
-
-   See sh_elf_relocate_section in elf32-sh.c for the original.  */
-
-static bfd_byte *
-sh_elf64_get_relocated_section_contents (bfd *output_bfd,
-					 struct bfd_link_info *link_info,
-					 struct bfd_link_order *link_order,
-					 bfd_byte *data,
-					 bfd_boolean relocatable,
-					 asymbol **symbols)
-{
-  Elf_Internal_Shdr *symtab_hdr;
-  asection *input_section = link_order->u.indirect.section;
-  bfd *input_bfd = input_section->owner;
-  asection **sections = NULL;
-  Elf_Internal_Rela *internal_relocs = NULL;
-  Elf_Internal_Sym *isymbuf = NULL;
-
-  /* We only need to handle the case of relaxing, or of having a
-     particular set of section contents, specially.  */
-  if (relocatable
-      || elf_section_data (input_section)->this_hdr.contents == NULL)
-    return bfd_generic_get_relocated_section_contents (output_bfd, link_info,
-						       link_order, data,
-						       relocatable,
-						       symbols);
-
-  symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
-
-  memcpy (data, elf_section_data (input_section)->this_hdr.contents,
-	  input_section->size);
-
-  if ((input_section->flags & SEC_RELOC) != 0
-      && input_section->reloc_count > 0)
-    {
-      Elf_Internal_Sym *isymp;
-      Elf_Internal_Sym *isymend;
-      asection **secpp;
-
-      /* Read this BFD's local symbols.  */
-      if (symtab_hdr->sh_info != 0)
-	{
-	  isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents;
-	  if (isymbuf == NULL)
-	    isymbuf = bfd_elf_get_elf_syms (input_bfd, symtab_hdr,
-					    symtab_hdr->sh_info, 0,
-					    NULL, NULL, NULL);
-	  if (isymbuf == NULL)
-	    goto error_return;
-	}
-
-      internal_relocs = (_bfd_elf_link_read_relocs
-			 (input_bfd, input_section, NULL,
-			  (Elf_Internal_Rela *) NULL, FALSE));
-      if (internal_relocs == NULL)
-	goto error_return;
-
-      sections = (asection **) bfd_malloc (symtab_hdr->sh_info
-					   * sizeof (asection *));
-      if (sections == NULL && symtab_hdr->sh_info > 0)
-	goto error_return;
-
-      secpp = sections;
-      isymend = isymbuf + symtab_hdr->sh_info;
-      for (isymp = isymbuf; isymp < isymend; ++isymp, ++secpp)
-	{
-	  asection *isec;
-
-	  if (isymp->st_shndx == SHN_UNDEF)
-	    isec = bfd_und_section_ptr;
-	  else if (isymp->st_shndx == SHN_ABS)
-	    isec = bfd_abs_section_ptr;
-	  else if (isymp->st_shndx == SHN_COMMON)
-	    isec = bfd_com_section_ptr;
-	  else
-	    isec = bfd_section_from_elf_index (input_bfd, isymp->st_shndx);
-
-	  *secpp = isec;
-	}
-
-      if (! sh_elf64_relocate_section (output_bfd, link_info, input_bfd,
-				       input_section, data, internal_relocs,
-				       isymbuf, sections))
-	goto error_return;
-
-      if (sections != NULL)
-	free (sections);
-      if (internal_relocs != elf_section_data (input_section)->relocs)
-	free (internal_relocs);
-      if (isymbuf != NULL
-	  && (unsigned char *) isymbuf != symtab_hdr->contents)
-	free (isymbuf);
-    }
-
-  return data;
-
- error_return:
-  if (sections != NULL)
-    free (sections);
-  if (internal_relocs != NULL
-      && internal_relocs != elf_section_data (input_section)->relocs)
-    free (internal_relocs);
-  if (isymbuf != NULL
-      && (unsigned char *) isymbuf != symtab_hdr->contents)
-    free (isymbuf);
-  return NULL;
-}
-
-/* Set the SHF_SH5_ISA32 flag for ISA SHmedia code sections.  */
-
-static bfd_boolean
-sh64_elf64_fake_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
-			  Elf_Internal_Shdr *elf_section_hdr,
-			  asection *asect)
-{
-  /* Code sections can only contain SH64 code, so mark them as such.  */
-  if (bfd_get_section_flags (output_bfd, asect) & SEC_CODE)
-    elf_section_hdr->sh_flags |= SHF_SH5_ISA32;
-
-  return TRUE;
-}
-
-static bfd_boolean
-sh_elf64_set_mach_from_flags (bfd *abfd)
-{
-  flagword flags = elf_elfheader (abfd)->e_flags;
-
-  switch (flags & EF_SH_MACH_MASK)
-    {
-    case EF_SH5:
-      /* Just one, but keep the switch construct to make additions easy.  */
-      bfd_default_set_arch_mach (abfd, bfd_arch_sh, bfd_mach_sh5);
-      break;
-
-    default:
-      bfd_set_error (bfd_error_wrong_format);
-      return FALSE;
-    }
-  return TRUE;
-}
-
-/* Function to keep SH64 specific file flags.
-
-   See sh64_elf_set_private_flags in elf32-sh64.c for the original.  */
-
-static bfd_boolean
-sh_elf64_set_private_flags (bfd *abfd, flagword flags)
-{
-  BFD_ASSERT (! elf_flags_init (abfd)
-	      || elf_elfheader (abfd)->e_flags == flags);
-
-  elf_elfheader (abfd)->e_flags = flags;
-  elf_flags_init (abfd) = TRUE;
-  return sh_elf64_set_mach_from_flags (abfd);
-}
-
-/* Copy the SHF_SH5_ISA32 attribute that we keep on all sections with
-   code, to keep attributes the same as for SHmedia in 32-bit ELF.  */
-
-static bfd_boolean
-sh_elf64_copy_private_data_internal (bfd *ibfd, bfd *obfd)
-{
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
-    return TRUE;
-
-  /* Copy object attributes.  */
-  _bfd_elf_copy_private_bfd_data (ibfd, obfd);
-
-  return sh_elf64_set_private_flags (obfd, elf_elfheader (ibfd)->e_flags);
-}
-
-static bfd_boolean
-sh_elf64_copy_private_data (bfd *ibfd, bfd *obfd)
-{
-  return sh_elf64_copy_private_data_internal (ibfd, obfd);
-}
-
-static bfd_boolean
-sh_elf64_merge_private_data (bfd *ibfd, struct bfd_link_info *info)
-{
-  bfd *obfd = info->output_bfd;
-  flagword old_flags, new_flags;
-
-  if (! _bfd_generic_verify_endian_match (ibfd, info))
-    return FALSE;
-
-  if (   bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
-    return TRUE;
-
-  if (bfd_get_arch_size (ibfd) != bfd_get_arch_size (obfd))
-    {
-      const char *msg;
-
-      if (bfd_get_arch_size (ibfd) == 32
-	  && bfd_get_arch_size (obfd) == 64)
-	/* xgettext:c-format */
-	msg = _("%B: compiled as 32-bit object and %B is 64-bit");
-      else if (bfd_get_arch_size (ibfd) == 64
-	       && bfd_get_arch_size (obfd) == 32)
-	/* xgettext:c-format */
-	msg = _("%B: compiled as 64-bit object and %B is 32-bit");
-      else
-	/* xgettext:c-format */
-	msg = _("%B: object size does not match that of target %B");
-
-      _bfd_error_handler (msg, ibfd, obfd);
-      bfd_set_error (bfd_error_wrong_format);
-      return FALSE;
-    }
-
-  old_flags = elf_elfheader (obfd)->e_flags;
-  new_flags = elf_elfheader (ibfd)->e_flags;
-  if (! elf_flags_init (obfd))
-    {
-      /* This happens when ld starts out with a 'blank' output file.  */
-      elf_flags_init (obfd) = TRUE;
-      elf_elfheader (obfd)->e_flags = old_flags = new_flags;
-    }
-  /* We don't allow linking in anything else than SH64 code, and since
-     this is a 64-bit ELF, we assume the 64-bit ABI is used.  Add code
-     here as things change.  */
-  else if ((new_flags & EF_SH_MACH_MASK) != EF_SH5)
-    {
-      _bfd_error_handler
-	("%B: does not use the SH64 64-bit ABI as previous modules do", ibfd);
-      bfd_set_error (bfd_error_bad_value);
-      return FALSE;
-    }
-
-  sh_elf64_copy_private_data_internal (ibfd, obfd);
-
-  /* I can't think of anything sane other than old_flags being EF_SH5 and
-     that we need to preserve that.  */
-  elf_elfheader (obfd)->e_flags = old_flags;
-
-  return sh_elf64_set_mach_from_flags (obfd);
-}
-
-/* Return the section that should be marked against GC for a given
-   relocation.  */
-
-static asection *
-sh_elf64_gc_mark_hook (asection *sec,
-		       struct bfd_link_info *info,
-		       Elf_Internal_Rela *rel,
-		       struct elf_link_hash_entry *h,
-		       Elf_Internal_Sym *sym)
-{
-  if (h != NULL)
-    switch (ELF64_R_TYPE (rel->r_info))
-      {
-      case R_SH_GNU_VTINHERIT:
-      case R_SH_GNU_VTENTRY:
-	return NULL;
-      }
-
-  return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
-}
-
-/* Look through the relocs for a section during the first phase.
-   Since we don't do .gots or .plts, we just need to consider the
-   virtual table relocs for gc.  */
-
-static bfd_boolean
-sh_elf64_check_relocs (bfd *abfd, struct bfd_link_info *info,
-		       asection *sec, const Elf_Internal_Rela *relocs)
-{
-  Elf_Internal_Shdr *symtab_hdr;
-  struct elf_link_hash_entry **sym_hashes;
-  const Elf_Internal_Rela *rel;
-  const Elf_Internal_Rela *rel_end;
-  bfd *dynobj;
-  bfd_vma *local_got_offsets;
-  asection *sgot;
-  asection *srelgot;
-  asection *sreloc;
-
-  sreloc = NULL;
-
-  if (bfd_link_relocatable (info))
-    return TRUE;
-
-  symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
-  sym_hashes = elf_sym_hashes (abfd);
-
-  dynobj = elf_hash_table (info)->dynobj;
-  local_got_offsets = elf_local_got_offsets (abfd);
-
-  rel_end = relocs + sec->reloc_count;
-  for (rel = relocs; rel < rel_end; rel++)
-    {
-      struct elf_link_hash_entry *h;
-      unsigned long r_symndx;
-
-      r_symndx = ELF64_R_SYM (rel->r_info);
-      if (r_symndx < symtab_hdr->sh_info)
-	h = NULL;
-      else
-	{
-	  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
-	  while (h->root.type == bfd_link_hash_indirect
-		 || h->root.type == bfd_link_hash_warning)
-	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
-	}
-
-      /* Some relocs require a global offset table.  */
-      if (dynobj == NULL)
-	{
-	  switch (ELF64_R_TYPE (rel->r_info))
-	    {
-	    case R_SH_GOTPLT_LOW16:
-	    case R_SH_GOTPLT_MEDLOW16:
-	    case R_SH_GOTPLT_MEDHI16:
-	    case R_SH_GOTPLT_HI16:
-	    case R_SH_GOTPLT10BY4:
-	    case R_SH_GOTPLT10BY8:
-	    case R_SH_GOT_LOW16:
-	    case R_SH_GOT_MEDLOW16:
-	    case R_SH_GOT_MEDHI16:
-	    case R_SH_GOT_HI16:
-	    case R_SH_GOT10BY4:
-	    case R_SH_GOT10BY8:
-	    case R_SH_GOTOFF_LOW16:
-	    case R_SH_GOTOFF_MEDLOW16:
-	    case R_SH_GOTOFF_MEDHI16:
-	    case R_SH_GOTOFF_HI16:
-	    case R_SH_GOTPC_LOW16:
-	    case R_SH_GOTPC_MEDLOW16:
-	    case R_SH_GOTPC_MEDHI16:
-	    case R_SH_GOTPC_HI16:
-	      elf_hash_table (info)->dynobj = dynobj = abfd;
-	      if (! _bfd_elf_create_got_section (dynobj, info))
-		return FALSE;
-	      break;
-
-	    default:
-	      break;
-	    }
-	}
-
-      switch (ELF64_R_TYPE (rel->r_info))
-	{
-	  /* This relocation describes the C++ object vtable hierarchy.
-	     Reconstruct it for later use during GC.  */
-	case R_SH_GNU_VTINHERIT:
-	  if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
-	    return FALSE;
-	  break;
-
-	  /* This relocation describes which C++ vtable entries are actually
-	     used.  Record for later use during GC.  */
-	case R_SH_GNU_VTENTRY:
-	  BFD_ASSERT (h != NULL);
-	  if (h != NULL
-	      && !bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
-	    return FALSE;
-	  break;
-
-	force_got:
-	case R_SH_GOT_LOW16:
-	case R_SH_GOT_MEDLOW16:
-	case R_SH_GOT_MEDHI16:
-	case R_SH_GOT_HI16:
-	case R_SH_GOT10BY4:
-	case R_SH_GOT10BY8:
-	  /* This symbol requires a global offset table entry.  */
-
-	  sgot = elf_hash_table (info)->sgot;
-	  srelgot = elf_hash_table (info)->srelgot;
-	  BFD_ASSERT (sgot != NULL && srelgot != NULL);
-
-	  if (h != NULL)
-	    {
-	      if (h->type == STT_DATALABEL)
-		{
-		  struct elf_sh64_link_hash_entry *hsh;
-
-		  h = (struct elf_link_hash_entry *) h->root.u.i.link;
-		  hsh = (struct elf_sh64_link_hash_entry *)h;
-		  if (hsh->datalabel_got_offset != (bfd_vma) -1)
-		    break;
-
-		  hsh->datalabel_got_offset = sgot->size;
-		}
-	      else
-		{
-		  if (h->got.offset != (bfd_vma) -1)
-		    {
-		      /* We have already allocated space in the .got.  */
-		      break;
-		    }
-		  h->got.offset = sgot->size;
-		}
-
-	      /* Make sure this symbol is output as a dynamic symbol.  */
-	      if (h->dynindx == -1)
-		{
-		  if (! bfd_elf_link_record_dynamic_symbol (info, h))
-		    return FALSE;
-		}
-
-	      srelgot->size += sizeof (Elf64_External_Rela);
-	    }
-	  else
-	    {
-	      /* This is a global offset table entry for a local
-		 symbol.  */
-	      if (local_got_offsets == NULL)
-		{
-		  size_t size;
-		  register unsigned int i;
-
-		  size = symtab_hdr->sh_info * sizeof (bfd_vma);
-		  /* Reserve space for both the datalabel and
-		     codelabel local GOT offsets.  */
-		  size *= 2;
-		  local_got_offsets = (bfd_vma *) bfd_alloc (abfd, size);
-		  if (local_got_offsets == NULL)
-		    return FALSE;
-		  elf_local_got_offsets (abfd) = local_got_offsets;
-		  for (i = 0; i < symtab_hdr->sh_info; i++)
-		    local_got_offsets[i] = (bfd_vma) -1;
-		  for (; i < 2 * symtab_hdr->sh_info; i++)
-		    local_got_offsets[i] = (bfd_vma) -1;
-		}
-	      if ((rel->r_addend & 1) != 0)
-		{
-		  if (local_got_offsets[symtab_hdr->sh_info
-					+ r_symndx] != (bfd_vma) -1)
-		    {
-		      /* We have already allocated space in the .got.  */
-		      break;
-		    }
-		  local_got_offsets[symtab_hdr->sh_info
-				    + r_symndx] = sgot->size;
-		}
-	      else
-		{
-		  if (local_got_offsets[r_symndx] != (bfd_vma) -1)
-		    {
-		      /* We have already allocated space in the .got.  */
-		      break;
-		    }
-		  local_got_offsets[r_symndx] = sgot->size;
-		}
-
-	      if (bfd_link_pic (info))
-		{
-		  /* If we are generating a shared object, we need to
-		     output a R_SH_RELATIVE reloc so that the dynamic
-		     linker can adjust this GOT entry.  */
-		  srelgot->size += sizeof (Elf64_External_Rela);
-		}
-	    }
-
-	  sgot->size += 8;
-
-	  break;
-
-	case R_SH_GOTPLT_LOW16:
-	case R_SH_GOTPLT_MEDLOW16:
-	case R_SH_GOTPLT_MEDHI16:
-	case R_SH_GOTPLT_HI16:
-	case R_SH_GOTPLT10BY4:
-	case R_SH_GOTPLT10BY8:
-	  /* If this is a local symbol, we resolve it directly without
-	     creating a procedure linkage table entry.  */
-
-	  if (h == NULL
-	      || ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
-	      || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN
-	      || ! bfd_link_pic (info)
-	      || info->symbolic
-	      || h->dynindx == -1
-	      || h->got.offset != (bfd_vma) -1)
-	    goto force_got;
-
-	  /* Make sure this symbol is output as a dynamic symbol.  */
-	  if (h->dynindx == -1)
-	    {
-	      if (! bfd_elf_link_record_dynamic_symbol (info, h))
-		return FALSE;
-	    }
-
-	  h->needs_plt = 1;
-
-	  break;
-
-	case R_SH_PLT_LOW16:
-	case R_SH_PLT_MEDLOW16:
-	case R_SH_PLT_MEDHI16:
-	case R_SH_PLT_HI16:
-	  /* This symbol requires a procedure linkage table entry.  We
-	     actually build the entry in adjust_dynamic_symbol,
-	     because this might be a case of linking PIC code which is
-	     never referenced by a dynamic object, in which case we
-	     don't need to generate a procedure linkage table entry
-	     after all.  */
-
-	  /* If this is a local symbol, we resolve it directly without
-	     creating a procedure linkage table entry.  */
-	  if (h == NULL)
-	    continue;
-
-	  if (ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
-	      || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN)
-	    break;
-
-	  h->needs_plt = 1;
-
-	  break;
-
-	case R_SH_64:
-	case R_SH_64_PCREL:
-	  if (h != NULL)
-	    h->non_got_ref = 1;
-
-	  /* If we are creating a shared library, and this is a reloc
-	     against a global symbol, or a non PC relative reloc
-	     against a local symbol, then we need to copy the reloc
-	     into the shared library.  However, if we are linking with
-	     -Bsymbolic, we do not need to copy a reloc against a
-	     global symbol which is defined in an object we are
-	     including in the link (i.e., DEF_REGULAR is set).  At
-	     this point we have not seen all the input files, so it is
-	     possible that DEF_REGULAR is not set now but will be set
-	     later (it is never cleared).  We account for that
-	     possibility below by storing information in the
-	     pcrel_relocs_copied field of the hash table entry.  */
-	  if (bfd_link_pic (info)
-	      && (sec->flags & SEC_ALLOC) != 0
-	      && (ELF32_R_TYPE (rel->r_info) != R_SH_64_PCREL
-		  || (h != NULL
-		      && (! info->symbolic
-			  || !h->def_regular))))
-	    {
-	      /* When creating a shared object, we must copy these
-		 reloc types into the output file.  We create a reloc
-		 section in dynobj and make room for this reloc.  */
-	      if (sreloc == NULL)
-		{
-		  sreloc = _bfd_elf_make_dynamic_reloc_section
-		    (sec, dynobj, 2, abfd, /*rela?*/ TRUE);
-
-		  if (sreloc == NULL)
-		    return FALSE;
-		}
-
-	      sreloc->size += sizeof (Elf64_External_Rela);
-
-	      /* If we are linking with -Bsymbolic, and this is a
-		 global symbol, we count the number of PC relative
-		 relocations we have entered for this symbol, so that
-		 we can discard them again if the symbol is later
-		 defined by a regular object.  Note that this function
-		 is only called if we are using an elf_sh linker
-		 hash table, which means that h is really a pointer to
-		 an elf_sh_link_hash_entry.  */
-	      if (h != NULL && info->symbolic
-		  && ELF64_R_TYPE (rel->r_info) == R_SH_64_PCREL)
-		{
-		  struct elf_sh64_link_hash_entry *eh;
-		  struct elf_sh64_pcrel_relocs_copied *p;
-
-		  eh = (struct elf_sh64_link_hash_entry *) h;
-
-		  for (p = eh->pcrel_relocs_copied; p != NULL; p = p->next)
-		    if (p->section == sreloc)
-		      break;
-
-		  if (p == NULL)
-		    {
-		      p = ((struct elf_sh64_pcrel_relocs_copied *)
-			   bfd_alloc (dynobj, sizeof *p));
-		      if (p == NULL)
-			return FALSE;
-		      p->next = eh->pcrel_relocs_copied;
-		      eh->pcrel_relocs_copied = p;
-		      p->section = sreloc;
-		      p->count = 0;
-		    }
-
-		  ++p->count;
-		}
-	    }
-
-	  break;
-	}
-    }
-
-  return TRUE;
-}
-
-static int
-sh64_elf64_get_symbol_type (Elf_Internal_Sym * elf_sym, int type)
-{
-  if (ELF_ST_TYPE (elf_sym->st_info) == STT_DATALABEL)
-    return STT_DATALABEL;
-
-  return type;
-}
-
-/* FIXME: This is a copy of sh64_elf_add_symbol_hook in elf32-sh64.c.
-   Either file can presumably exist without the other, but do not differ
-   in elf-size-ness.  How to share?
-
-   Hook called by the linker routine which adds symbols from an object
-   file.  We must make indirect symbols for undefined symbols marked with
-   STT_DATALABEL, so relocations passing them will pick up that attribute
-   and neutralize STO_SH5_ISA32 found on the symbol definition.
-
-   There is a problem, though: We want to fill in the hash-table entry for
-   this symbol and signal to the caller that no further processing is
-   needed.  But we don't have the index for this hash-table entry.  We
-   rely here on that the current entry is the first hash-entry with NULL,
-   which seems brittle.  Also, iterating over the hash-table to find that
-   entry is a linear operation on the number of symbols in this input
-   file, and this function should take constant time, so that's not good
-   too.  Only comfort is that DataLabel references should only be found in
-   hand-written assembly code and thus be rare.  FIXME: Talk maintainers
-   into adding an option to elf_add_symbol_hook (preferably) for the index
-   or the hash entry, alternatively adding the index to Elf_Internal_Sym
-   (not so good).  */
-
-static bfd_boolean
-sh64_elf64_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
-			    Elf_Internal_Sym *sym, const char **namep,
-			    flagword *flagsp ATTRIBUTE_UNUSED,
-			    asection **secp, bfd_vma *valp)
-{
-  /* We want to do this for relocatable as well as final linking.  */
-  if (ELF_ST_TYPE (sym->st_info) == STT_DATALABEL
-      && is_elf_hash_table (info->hash))
-    {
-      struct elf_link_hash_entry *h;
-
-      /* For relocatable links, we register the DataLabel sym in its own
-	 right, and tweak the name when it's output.  Otherwise, we make
-	 an indirect symbol of it.  */
-      flagword flags
-	= bfd_link_relocatable (info) || info->emitrelocations
-	? BSF_GLOBAL : BSF_GLOBAL | BSF_INDIRECT;
-
-      char *dl_name
-	= bfd_malloc (strlen (*namep) + sizeof (DATALABEL_SUFFIX));
-      struct elf_link_hash_entry ** sym_hash = elf_sym_hashes (abfd);
-
-      BFD_ASSERT (sym_hash != NULL);
-
-      /* Allocation may fail.  */
-      if (dl_name == NULL)
-	return FALSE;
-
-      strcpy (dl_name, *namep);
-      strcat (dl_name, DATALABEL_SUFFIX);
-
-      h = (struct elf_link_hash_entry *)
-	bfd_link_hash_lookup (info->hash, dl_name, FALSE, FALSE, FALSE);
-
-      if (h == NULL)
-	{
-	  /* No previous datalabel symbol.  Make one.  */
-	  struct bfd_link_hash_entry *bh = NULL;
-	  const struct elf_backend_data *bed = get_elf_backend_data (abfd);
-
-	  if (! _bfd_generic_link_add_one_symbol (info, abfd, dl_name,
-						  flags, *secp, *valp,
-						  *namep, FALSE,
-						  bed->collect, &bh))
-	    {
-	      free (dl_name);
-	      return FALSE;
-	    }
-
-	  h = (struct elf_link_hash_entry *) bh;
-	  h->non_elf = 0;
-	  h->type = STT_DATALABEL;
-	}
-      else
-	/* If a new symbol was created, it holds the allocated name.
-	   Otherwise, we don't need it anymore and should deallocate it.  */
-	free (dl_name);
-
-      if (h->type != STT_DATALABEL
-	  || ((bfd_link_relocatable (info) || info->emitrelocations)
-	      && h->root.type != bfd_link_hash_undefined)
-	  || (! bfd_link_relocatable (info) && !info->emitrelocations
-	      && h->root.type != bfd_link_hash_indirect))
-	{
-	  /* Make sure we don't get confused on invalid input.  */
-	  _bfd_error_handler
-	    (_("%B: encountered datalabel symbol in input"), abfd);
-	  bfd_set_error (bfd_error_bad_value);
-	  return FALSE;
-	}
-
-      /* Now find the hash-table slot for this entry and fill it in.  */
-      while (*sym_hash != NULL)
-	sym_hash++;
-      *sym_hash = h;
-
-      /* Signal to caller to skip this symbol - we've handled it.  */
-      *namep = NULL;
-    }
-
-  return TRUE;
-}
-
-/* This hook function is called before the linker writes out a global
-   symbol.  For relocatable links, DataLabel symbols will be present in
-   linker output.  We cut off the special suffix on those symbols, so the
-   right name appears in the output.
-
-   When linking and emitting relocations, there can appear global symbols
-   that are not referenced by relocs, but rather only implicitly through
-   DataLabel references, a relation that is not visible to the linker.
-   Since no stripping of global symbols in done when doing such linking,
-   we don't need to look up and make sure to emit the main symbol for each
-   DataLabel symbol.  */
-
-static int
-sh64_elf64_link_output_symbol_hook (struct bfd_link_info *info,
-				    const char *cname,
-				    Elf_Internal_Sym *sym,
-				    asection *input_sec ATTRIBUTE_UNUSED,
-				    struct elf_link_hash_entry *h ATTRIBUTE_UNUSED)
-{
-  char *name = (char *) cname;
-
-  if (bfd_link_relocatable (info) || info->emitrelocations)
-    {
-      if (ELF_ST_TYPE (sym->st_info) == STT_DATALABEL)
-	name[strlen (name) - strlen (DATALABEL_SUFFIX)] = 0;
-    }
-
-  return 1;
-}
-
-/* Set bit 0 on the entry address; it always points to SHmedia code.  This
-   is mostly for symmetry with the 32-bit format, where code can be
-   SHcompact and we need to make a distinction to make sure execution
-   starts in the right ISA mode.  It is also convenient for a loader,
-   which would otherwise have to set this bit when loading a TR register
-   before jumping to the program entry.  */
-
-static void
-sh64_elf64_final_write_processing (bfd *abfd,
-				   bfd_boolean linker ATTRIBUTE_UNUSED)
-{
-  /* FIXME: Perhaps we shouldn't do this if the entry address was supplied
-     numerically, but we currently lack the infrastructure to recognize
-     that: The entry symbol, and info whether it is numeric or a symbol
-     name is kept private in the linker.  */
-  if (elf_elfheader (abfd)->e_type == ET_EXEC)
-    elf_elfheader (abfd)->e_entry |= 1;
-}
-
-/* First entry in an absolute procedure linkage table look like this.  */
-
-static const bfd_byte elf_sh64_plt0_entry_be[PLT_ENTRY_SIZE] =
-{
-  0xcc, 0x00, 0x01, 0x10, /* movi  .got.plt >> 48, r17 */
-  0xc8, 0x00, 0x01, 0x10, /* shori (.got.plt >> 32) & 65535, r17 */
-  0xc8, 0x00, 0x01, 0x10, /* shori (.got.plt >> 16) & 65535, r17 */
-  0xc8, 0x00, 0x01, 0x10, /* shori .got.plt & 65535, r17 */
-  0x8d, 0x10, 0x09, 0x90, /* ld.q  r17, 16, r25 */
-  0x6b, 0xf1, 0x66, 0x00, /* ptabs r25, tr0 */
-  0x8d, 0x10, 0x05, 0x10, /* ld.q  r17, 8, r17 */
-  0x44, 0x01, 0xff, 0xf0, /* blink tr0, r63 */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-};
-
-static const bfd_byte elf_sh64_plt0_entry_le[PLT_ENTRY_SIZE] =
-{
-  0x10, 0x01, 0x00, 0xcc, /* movi  .got.plt >> 16, r17 */
-  0x10, 0x01, 0x00, 0xc8, /* shori (.got.plt >> 32) & 65535, r17 */
-  0x10, 0x01, 0x00, 0xc8, /* shori (.got.plt >> 16) & 65535, r17 */
-  0x10, 0x01, 0x00, 0xc8, /* shori .got.plt & 65535, r17 */
-  0x90, 0x09, 0x10, 0x8d, /* ld.q  r17, 16, r25 */
-  0x00, 0x66, 0xf1, 0x6b, /* ptabs r25, tr0 */
-  0x10, 0x05, 0x10, 0x8d, /* ld.q  r17, 8, r17 */
-  0xf0, 0xff, 0x01, 0x44, /* blink tr0, r63 */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-};
-
-/* Sebsequent entries in an absolute procedure linkage table look like
-   this.  */
-
-static const bfd_byte elf_sh64_plt_entry_be[PLT_ENTRY_SIZE] =
-{
-  0xcc, 0x00, 0x01, 0x90, /* movi  nameN-in-GOT >> 48, r25 */
-  0xc8, 0x00, 0x01, 0x90, /* shori (nameN-in-GOT >> 32) & 65535, r25 */
-  0xc8, 0x00, 0x01, 0x90, /* shori (nameN-in-GOT >> 16) & 65535, r25 */
-  0xc8, 0x00, 0x01, 0x90, /* shori nameN-in-GOT & 65535, r25 */
-  0x8d, 0x90, 0x01, 0x90, /* ld.q  r25, 0, r25 */
-  0x6b, 0xf1, 0x66, 0x00, /* ptabs r25, tr0 */
-  0x44, 0x01, 0xff, 0xf0, /* blink tr0, r63 */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0xcc, 0x00, 0x01, 0x90, /* movi  (.+8-.PLT0) >> 16, r25 */
-  0xc8, 0x00, 0x01, 0x90, /* shori (.+4-.PLT0) & 65535, r25 */
-  0x6b, 0xf5, 0x66, 0x00, /* ptrel r25, tr0 */
-  0xcc, 0x00, 0x01, 0x50, /* movi  reloc-offset >> 16, r21 */
-  0xc8, 0x00, 0x01, 0x50, /* shori reloc-offset & 65535, r21 */
-  0x44, 0x01, 0xff, 0xf0, /* blink tr0, r63 */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-};
-
-static const bfd_byte elf_sh64_plt_entry_le[PLT_ENTRY_SIZE] =
-{
-  0x90, 0x01, 0x00, 0xcc, /* movi  nameN-in-GOT >> 16, r25 */
-  0x90, 0x01, 0x00, 0xc8, /* shori nameN-in-GOT & 65535, r25 */
-  0x90, 0x01, 0x00, 0xc8, /* shori nameN-in-GOT & 65535, r25 */
-  0x90, 0x01, 0x00, 0xc8, /* shori nameN-in-GOT & 65535, r25 */
-  0x90, 0x01, 0x90, 0x8d, /* ld.q  r25, 0, r25 */
-  0x00, 0x66, 0xf1, 0x6b, /* ptabs r25, tr0 */
-  0xf0, 0xff, 0x01, 0x44, /* blink tr0, r63 */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0x90, 0x01, 0x00, 0xcc, /* movi  (.+8-.PLT0) >> 16, r25 */
-  0x90, 0x01, 0x00, 0xc8, /* shori (.+4-.PLT0) & 65535, r25 */
-  0x00, 0x66, 0xf5, 0x6b, /* ptrel r25, tr0 */
-  0x50, 0x01, 0x00, 0xcc, /* movi  reloc-offset >> 16, r21 */
-  0x50, 0x01, 0x00, 0xc8, /* shori reloc-offset & 65535, r21 */
-  0xf0, 0xff, 0x01, 0x44, /* blink tr0, r63 */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-};
-
-/* Entries in a PIC procedure linkage table look like this.  */
-
-static const bfd_byte elf_sh64_pic_plt_entry_be[PLT_ENTRY_SIZE] =
-{
-  0xcc, 0x00, 0x01, 0x90, /* movi  nameN@GOT >> 16, r25 */
-  0xc8, 0x00, 0x01, 0x90, /* shori nameN@GOT & 65535, r25 */
-  0x40, 0xc3, 0x65, 0x90, /* ldx.q r12, r25, r25 */
-  0x6b, 0xf1, 0x66, 0x00, /* ptabs r25, tr0 */
-  0x44, 0x01, 0xff, 0xf0, /* blink tr0, r63 */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0x6f, 0xf0, 0xff, 0xf0, /* nop */
-  0xce, 0x00, 0x01, 0x10, /* movi  -GOT_BIAS, r17 */
-  0x00, 0xc9, 0x45, 0x10, /* add   r12, r17, r17 */
-  0x8d, 0x10, 0x09, 0x90, /* ld.q  r17, 16, r25 */
-  0x6b, 0xf1, 0x66, 0x00, /* ptabs r25, tr0 */
-  0x8d, 0x10, 0x05, 0x10, /* ld.q  r17, 8, r17 */
-  0xcc, 0x00, 0x01, 0x50, /* movi  reloc-offset >> 16, r21 */
-  0xc8, 0x00, 0x01, 0x50, /* shori reloc-offset & 65535, r21 */
-  0x44, 0x01, 0xff, 0xf0, /* blink tr0, r63 */
-};
-
-static const bfd_byte elf_sh64_pic_plt_entry_le[PLT_ENTRY_SIZE] =
-{
-  0x90, 0x01, 0x00, 0xcc, /* movi  nameN@GOT >> 16, r25 */
-  0x90, 0x01, 0x00, 0xc8, /* shori nameN@GOT & 65535, r25 */
-  0x90, 0x65, 0xc3, 0x40, /* ldx.q r12, r25, r25 */
-  0x00, 0x66, 0xf1, 0x6b, /* ptabs r25, tr0 */
-  0xf0, 0xff, 0x01, 0x44, /* blink tr0, r63 */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0xf0, 0xff, 0xf0, 0x6f, /* nop */
-  0x10, 0x01, 0x00, 0xce, /* movi  -GOT_BIAS, r17 */
-  0x10, 0x45, 0xc9, 0x00, /* add   r12, r17, r17 */
-  0x90, 0x09, 0x10, 0x8d, /* ld.q  r17, 16, r25 */
-  0x00, 0x66, 0xf1, 0x6b, /* ptabs r25, tr0 */
-  0x10, 0x05, 0x10, 0x8d, /* ld.q  r17, 8, r17 */
-  0x50, 0x01, 0x00, 0xcc, /* movi  reloc-offset >> 16, r21 */
-  0x50, 0x01, 0x00, 0xc8, /* shori reloc-offset & 65535, r21 */
-  0xf0, 0xff, 0x01, 0x44, /* blink tr0, r63 */
-};
-
-static const bfd_byte *elf_sh64_plt0_entry;
-static const bfd_byte *elf_sh64_plt_entry;
-static const bfd_byte *elf_sh64_pic_plt_entry;
-
-/* Create an entry in an sh ELF linker hash table.  */
-
-static struct bfd_hash_entry *
-sh64_elf64_link_hash_newfunc (struct bfd_hash_entry *entry,
-			      struct bfd_hash_table *table,
-			      const char *string)
-{
-  struct elf_sh64_link_hash_entry *ret =
-    (struct elf_sh64_link_hash_entry *) entry;
-
-  /* Allocate the structure if it has not already been allocated by a
-     subclass.  */
-  if (ret == (struct elf_sh64_link_hash_entry *) NULL)
-    ret = ((struct elf_sh64_link_hash_entry *)
-	   bfd_hash_allocate (table,
-			      sizeof (struct elf_sh64_link_hash_entry)));
-  if (ret == (struct elf_sh64_link_hash_entry *) NULL)
-    return (struct bfd_hash_entry *) ret;
-
-  /* Call the allocation method of the superclass.  */
-  ret = ((struct elf_sh64_link_hash_entry *)
-	 _bfd_elf_link_hash_newfunc ((struct bfd_hash_entry *) ret,
-				     table, string));
-  if (ret != (struct elf_sh64_link_hash_entry *) NULL)
-    {
-      ret->pcrel_relocs_copied = NULL;
-      ret->datalabel_got_offset = (bfd_vma) -1;
-    }
-
-  return (struct bfd_hash_entry *) ret;
-}
-
-/* Create an sh64 ELF linker hash table.  */
-
-static struct bfd_link_hash_table *
-sh64_elf64_link_hash_table_create (bfd *abfd)
-{
-  struct elf_link_hash_table *ret;
-
-  ret = (struct elf_link_hash_table *) bfd_zmalloc (sizeof (* ret));
-  if (ret == (struct elf_link_hash_table *) NULL)
-    return NULL;
-
-  if (!_bfd_elf_link_hash_table_init (ret, abfd,
-				      sh64_elf64_link_hash_newfunc,
-				      sizeof (struct elf_sh64_link_hash_entry),
-				      GENERIC_ELF_DATA))
-    {
-      free (ret);
-      return NULL;
-    }
-
-  return &ret->root;
-}
-
-inline static void
-movi_shori_putval (bfd *output_bfd, unsigned long value, bfd_byte *addr)
-{
-  bfd_put_32 (output_bfd,
-	      bfd_get_32 (output_bfd, addr)
-	      | ((value >> 6) & 0x3fffc00),
-	      addr);
-  bfd_put_32 (output_bfd,
-	      bfd_get_32 (output_bfd, addr + 4)
-	      | ((value << 10) & 0x3fffc00),
-	      addr + 4);
-}
-
-inline static void
-movi_3shori_putval (bfd *output_bfd, bfd_vma value, bfd_byte *addr)
-{
-  bfd_put_32 (output_bfd,
-	      bfd_get_32 (output_bfd, addr)
-	      | ((value >> 38) & 0x3fffc00),
-	      addr);
-  bfd_put_32 (output_bfd,
-	      bfd_get_32 (output_bfd, addr + 4)
-	      | ((value >> 22) & 0x3fffc00),
-	      addr + 4);
-  bfd_put_32 (output_bfd,
-	      bfd_get_32 (output_bfd, addr + 8)
-	      | ((value >> 6) & 0x3fffc00),
-	      addr + 8);
-  bfd_put_32 (output_bfd,
-	      bfd_get_32 (output_bfd, addr + 12)
-	      | ((value << 10) & 0x3fffc00),
-	      addr + 12);
-}
-
-/* Create dynamic sections when linking against a dynamic object.  */
-
-static bfd_boolean
-sh64_elf64_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
-{
-  flagword flags, pltflags;
-  register asection *s;
-  const struct elf_backend_data *bed = get_elf_backend_data (abfd);
-  int ptralign = 0;
-
-  switch (bed->s->arch_size)
-    {
-    case 32:
-      ptralign = 2;
-      break;
-
-    case 64:
-      ptralign = 3;
-      break;
-
-    default:
-      bfd_set_error (bfd_error_bad_value);
-      return FALSE;
-    }
-
-  /* We need to create .plt, .rel[a].plt, .got, .got.plt, .dynbss, and
-     .rel[a].bss sections.  */
-
-  flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
-	   | SEC_LINKER_CREATED);
-
-  pltflags = flags;
-  pltflags |= SEC_CODE;
-  if (bed->plt_not_loaded)
-    pltflags &= ~ (SEC_LOAD | SEC_HAS_CONTENTS);
-  if (bed->plt_readonly)
-    pltflags |= SEC_READONLY;
-
-  s = bfd_make_section_anyway_with_flags (abfd, ".plt", pltflags);
-  if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
-    return FALSE;
-
-  if (bed->want_plt_sym)
-    {
-      /* Define the symbol _PROCEDURE_LINKAGE_TABLE_ at the start of the
-	 .plt section.  */
-      struct elf_link_hash_entry *h;
-      struct bfd_link_hash_entry *bh = NULL;
-
-      if (! (_bfd_generic_link_add_one_symbol
-	     (info, abfd, "_PROCEDURE_LINKAGE_TABLE_", BSF_GLOBAL, s,
-	      (bfd_vma) 0, (const char *) NULL, FALSE, bed->collect, &bh)))
-	return FALSE;
-
-      h = (struct elf_link_hash_entry *) bh;
-      h->def_regular = 1;
-      h->type = STT_OBJECT;
-      elf_hash_table (info)->hplt = h;
-
-      if (bfd_link_pic (info)
-	  && ! bfd_elf_link_record_dynamic_symbol (info, h))
-	return FALSE;
-    }
-
-  s = bfd_make_section_anyway_with_flags (abfd,
-					  bed->default_use_rela_p
-					  ? ".rela.plt" : ".rel.plt",
-					  flags | SEC_READONLY);
-  if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, ptralign))
-    return FALSE;
-
-  if (! _bfd_elf_create_got_section (abfd, info))
-    return FALSE;
-
-  if (bed->want_dynbss)
-    {
-      /* The .dynbss section is a place to put symbols which are defined
-	 by dynamic objects, are referenced by regular objects, and are
-	 not functions.  We must allocate space for them in the process
-	 image and use a R_*_COPY reloc to tell the dynamic linker to
-	 initialize them at run time.  The linker script puts the .dynbss
-	 section into the .bss section of the final image.  */
-      s = bfd_make_section_anyway_with_flags (abfd, ".dynbss",
-					      SEC_ALLOC | SEC_LINKER_CREATED);
-      if (s == NULL)
-	return FALSE;
-
-      /* The .rel[a].bss section holds copy relocs.  This section is not
-	 normally needed.  We need to create it here, though, so that the
-	 linker will map it to an output section.  We can't just create it
-	 only if we need it, because we will not know whether we need it
-	 until we have seen all the input files, and the first time the
-	 main linker code calls BFD after examining all the input files
-	 (size_dynamic_sections) the input sections have already been
-	 mapped to the output sections.  If the section turns out not to
-	 be needed, we can discard it later.  We will never need this
-	 section when generating a shared object, since they do not use
-	 copy relocs.  */
-      if (! bfd_link_pic (info))
-	{
-	  s = bfd_make_section_anyway_with_flags (abfd,
-						  (bed->default_use_rela_p
-						   ? ".rela.bss" : ".rel.bss"),
-						  flags | SEC_READONLY);
-	  if (s == NULL
-	      || ! bfd_set_section_alignment (abfd, s, ptralign))
-	    return FALSE;
-	}
-    }
-
-  return TRUE;
-}
-
-/* Adjust a symbol defined by a dynamic object and referenced by a
-   regular object.  The current definition is in some section of the
-   dynamic object, but we're not including those sections.  We have to
-   change the definition to something the rest of the link can
-   understand.  */
-
-static bfd_boolean
-sh64_elf64_adjust_dynamic_symbol (struct bfd_link_info *info,
-				  struct elf_link_hash_entry *h)
-{
-  bfd *dynobj;
-  asection *s;
-
-  dynobj = elf_hash_table (info)->dynobj;
-
-  /* Make sure we know what is going on here.  */
-  BFD_ASSERT (dynobj != NULL
-	      && (h->needs_plt
-		  || h->is_weakalias
-		  || (h->def_dynamic
-		      && h->ref_regular
-		      && !h->def_regular)));
-
-  /* If this is a function, put it in the procedure linkage table.  We
-     will fill in the contents of the procedure linkage table later,
-     when we know the address of the .got section.  */
-  if (h->type == STT_FUNC
-      || h->needs_plt)
-    {
-      if (! bfd_link_pic (info)
-	  && !h->def_dynamic
-	  && !h->ref_dynamic)
-	{
-	  /* This case can occur if we saw a PLT reloc in an input
-	     file, but the symbol was never referred to by a dynamic
-	     object.  In such a case, we don't actually need to build
-	     a procedure linkage table, and we can just do a REL64
-	     reloc instead.  */
-	  BFD_ASSERT (h->needs_plt);
-	  return TRUE;
-	}
-
-      /* Make sure this symbol is output as a dynamic symbol.  */
-      if (h->dynindx == -1)
-	{
-	  if (! bfd_elf_link_record_dynamic_symbol (info, h))
-	    return FALSE;
-	}
-
-      s = elf_hash_table (info)->splt;
-      BFD_ASSERT (s != NULL);
-
-      /* If this is the first .plt entry, make room for the special
-	 first entry.  */
-      if (s->size == 0)
-	s->size += PLT_ENTRY_SIZE;
-
-      /* If this symbol is not defined in a regular file, and we are
-	 not generating a shared library, then set the symbol to this
-	 location in the .plt.  This is required to make function
-	 pointers compare as equal between the normal executable and
-	 the shared library.  */
-      if (! bfd_link_pic (info)
-	  && !h->def_regular)
-	{
-	  h->root.u.def.section = s;
-	  h->root.u.def.value = s->size;
-	}
-
-      h->plt.offset = s->size;
-
-      /* Make room for this entry.  */
-      s->size += elf_sh64_sizeof_plt (info);
-
-      /* We also need to make an entry in the .got.plt section, which
-	 will be placed in the .got section by the linker script.  */
-
-      s = elf_hash_table (info)->sgotplt;
-      BFD_ASSERT (s != NULL);
-      s->size += 8;
-
-      /* We also need to make an entry in the .rela.plt section.  */
-
-      s = elf_hash_table (info)->srelplt;
-      BFD_ASSERT (s != NULL);
-      s->size += sizeof (Elf64_External_Rela);
-
-      return TRUE;
-    }
-
-  /* If this is a weak symbol, and there is a real definition, the
-     processor independent code will have arranged for us to see the
-     real definition first, and we can just use the same value.  */
-  if (h->is_weakalias)
-    {
-      struct elf_link_hash_entry *def = weakdef (h);
-      BFD_ASSERT (def->root.type == bfd_link_hash_defined);
-      h->root.u.def.section = def->root.u.def.section;
-      h->root.u.def.value = def->root.u.def.value;
-      return TRUE;
-    }
-
-  /* This is a reference to a symbol defined by a dynamic object which
-     is not a function.  */
-
-  /* If we are creating a shared library, we must presume that the
-     only references to the symbol are via the global offset table.
-     For such cases we need not do anything here; the relocations will
-     be handled correctly by relocate_section.  */
-  if (bfd_link_pic (info))
-    return TRUE;
-
-  /* If there are no references to this symbol that do not use the
-     GOT, we don't need to generate a copy reloc.  */
-  if (!h->non_got_ref)
-    return TRUE;
-
-  /* We must allocate the symbol in our .dynbss section, which will
-     become part of the .bss section of the executable.  There will be
-     an entry for this symbol in the .dynsym section.  The dynamic
-     object will contain position independent code, so all references
-     from the dynamic object to this symbol will go through the global
-     offset table.  The dynamic linker will use the .dynsym entry to
-     determine the address it must put in the global offset table, so
-     both the dynamic object and the regular object will refer to the
-     same memory location for the variable.  */
-
-  s = bfd_get_linker_section (dynobj, ".dynbss");
-  BFD_ASSERT (s != NULL);
-
-  /* We must generate a R_SH_COPY reloc to tell the dynamic linker to
-     copy the initial value out of the dynamic object and into the
-     runtime process image.  We need to remember the offset into the
-     .rela.bss section we are going to use.  */
-  if ((h->root.u.def.section->flags & SEC_ALLOC) != 0 && h->size != 0)
-    {
-      asection *srel;
-
-      srel = bfd_get_linker_section (dynobj, ".rela.bss");
-      BFD_ASSERT (srel != NULL);
-      srel->size += sizeof (Elf64_External_Rela);
-      h->needs_copy = 1;
-    }
-
-  return _bfd_elf_adjust_dynamic_copy (info, h, s);
-}
-
-/* This function is called via sh_elf_link_hash_traverse if we are
-   creating a shared object with -Bsymbolic.  It discards the space
-   allocated to copy PC relative relocs against symbols which are
-   defined in regular objects.  We allocated space for them in the
-   check_relocs routine, but we won't fill them in in the
-   relocate_section routine.  */
-
-static bfd_boolean
-sh64_elf64_discard_copies (struct elf_sh64_link_hash_entry *h,
-			   void *ignore ATTRIBUTE_UNUSED)
-{
-  struct elf_sh64_pcrel_relocs_copied *s;
-
-  /* We only discard relocs for symbols defined in a regular object.  */
-  if (!h->root.def_regular)
-    return TRUE;
-
-  for (s = h->pcrel_relocs_copied; s != NULL; s = s->next)
-    s->section->size -= s->count * sizeof (Elf64_External_Rela);
-
-  return TRUE;
-}
-
-/* Set the sizes of the dynamic sections.  */
-
-static bfd_boolean
-sh64_elf64_size_dynamic_sections (bfd *output_bfd,
-				  struct bfd_link_info *info)
-{
-  bfd *dynobj;
-  asection *s;
-  bfd_boolean plt;
-  bfd_boolean relocs;
-  bfd_boolean reltext;
-
-  dynobj = elf_hash_table (info)->dynobj;
-  BFD_ASSERT (dynobj != NULL);
-
-  if (elf_hash_table (info)->dynamic_sections_created)
-    {
-      /* Set the contents of the .interp section to the interpreter.  */
-      if (bfd_link_executable (info) && !info->nointerp)
-	{
-	  s = bfd_get_linker_section (dynobj, ".interp");
-	  BFD_ASSERT (s != NULL);
-	  s->size = sizeof ELF_DYNAMIC_INTERPRETER;
-	  s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER;
-	}
-    }
-  else
-    {
-      /* We may have created entries in the .rela.got section.
-	 However, if we are not creating the dynamic sections, we will
-	 not actually use these entries.  Reset the size of .rela.got,
-	 which will cause it to get stripped from the output file
-	 below.  */
-      s = elf_hash_table (info)->srelgot;
-      if (s != NULL)
-	s->size = 0;
-    }
-
-  /* If this is a -Bsymbolic shared link, then we need to discard all
-     PC relative relocs against symbols defined in a regular object.
-     We allocated space for them in the check_relocs routine, but we
-     will not fill them in in the relocate_section routine.  */
-  if (bfd_link_pic (info) && info->symbolic)
-    sh64_elf64_link_hash_traverse (elf_hash_table (info),
-				   sh64_elf64_discard_copies, NULL);
-
-  /* The check_relocs and adjust_dynamic_symbol entry points have
-     determined the sizes of the various dynamic sections.  Allocate
-     memory for them.  */
-  plt = FALSE;
-  relocs = FALSE;
-  reltext = FALSE;
-  for (s = dynobj->sections; s != NULL; s = s->next)
-    {
-      const char *name;
-
-      if ((s->flags & SEC_LINKER_CREATED) == 0)
-	continue;
-
-      /* It's OK to base decisions on the section name, because none
-	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
-
-      if (strcmp (name, ".plt") == 0)
-	{
-	  /* Remember whether there is a PLT.  */
-	  plt = s->size != 0;
-	}
-      else if (CONST_STRNEQ (name, ".rela"))
-	{
-	  if (s->size != 0)
-	    {
-	      asection *target;
-
-	      /* Remember whether there are any reloc sections other
-		 than .rela.plt.  */
-	      if (strcmp (name, ".rela.plt") != 0)
-		{
-		  const char *outname;
-
-		  relocs = TRUE;
-
-		  /* If this relocation section applies to a read only
-		     section, then we probably need a DT_TEXTREL
-		     entry.  The entries in the .rela.plt section
-		     really apply to the .got section, which we
-		     created ourselves and so know is not readonly.  */
-		  outname = bfd_get_section_name (output_bfd,
-						  s->output_section);
-		  target = bfd_get_section_by_name (output_bfd, outname + 5);
-		  if (target != NULL
-		      && (target->flags & SEC_READONLY) != 0
-		      && (target->flags & SEC_ALLOC) != 0)
-		    reltext = TRUE;
-		}
-
-	      /* We use the reloc_count field as a counter if we need
-		 to copy relocs into the output file.  */
-	      s->reloc_count = 0;
-	    }
-	}
-      else if (! CONST_STRNEQ (name, ".got")
-	       && strcmp (name, ".dynbss") != 0)
-	{
-	  /* It's not one of our sections, so don't allocate space.  */
-	  continue;
-	}
-
-      if (s->size == 0)
-	{
-	  /* If we don't need this section, strip it from the
-	     output file.  This is mostly to handle .rela.bss and
-	     .rela.plt.  We must create both sections in
-	     create_dynamic_sections, because they must be created
-	     before the linker maps input sections to output
-	     sections.  The linker does that before
-	     adjust_dynamic_symbol is called, and it is that
-	     function which decides whether anything needs to go
-	     into these sections.  */
-	  s->flags |= SEC_EXCLUDE;
-	  continue;
-	}
-
-      if ((s->flags & SEC_HAS_CONTENTS) == 0)
-	continue;
-
-      /* Allocate memory for the section contents.  */
-      s->contents = (bfd_byte *) bfd_zalloc (dynobj, s->size);
-      if (s->contents == NULL)
-	return FALSE;
-    }
-
-  if (elf_hash_table (info)->dynamic_sections_created)
-    {
-      /* Add some entries to the .dynamic section.  We fill in the
-	 values later, in sh64_elf64_finish_dynamic_sections, but we
-	 must add the entries now so that we get the correct size for
-	 the .dynamic section.  The DT_DEBUG entry is filled in by the
-	 dynamic linker and used by the debugger.  */
-      if (bfd_link_executable (info))
-	{
-	  if (!_bfd_elf_add_dynamic_entry (info, DT_DEBUG, 0))
-	    return FALSE;
-	}
-
-      if (plt)
-	{
-	  if (!_bfd_elf_add_dynamic_entry (info, DT_PLTGOT, 0)
-	      || !_bfd_elf_add_dynamic_entry (info, DT_PLTRELSZ, 0)
-	      || !_bfd_elf_add_dynamic_entry (info, DT_PLTREL, DT_RELA)
-	      || !_bfd_elf_add_dynamic_entry (info, DT_JMPREL, 0))
-	    return FALSE;
-	}
-
-      if (relocs)
-	{
-	  if (!_bfd_elf_add_dynamic_entry (info, DT_RELA, 0)
-	      || !_bfd_elf_add_dynamic_entry (info, DT_RELASZ, 0)
-	      || !_bfd_elf_add_dynamic_entry (info, DT_RELAENT,
-					      sizeof (Elf64_External_Rela)))
-	    return FALSE;
-	}
-
-      if (reltext)
-	{
-	  if (!_bfd_elf_add_dynamic_entry (info, DT_TEXTREL, 0))
-	    return FALSE;
-	}
-    }
-
-  return TRUE;
-}
-
-/* Finish up dynamic symbol handling.  We set the contents of various
-   dynamic sections here.  */
-
-static bfd_boolean
-sh64_elf64_finish_dynamic_symbol (bfd *output_bfd,
-				  struct bfd_link_info *info,
-				  struct elf_link_hash_entry *h,
-				  Elf_Internal_Sym *sym)
-{
-  bfd *dynobj;
-
-  dynobj = elf_hash_table (info)->dynobj;
-
-  if (h->plt.offset != (bfd_vma) -1)
-    {
-      asection *splt;
-      asection *sgot;
-      asection *srel;
-
-      bfd_vma plt_index;
-      bfd_vma got_offset;
-      Elf_Internal_Rela rel;
-      bfd_byte *loc;
-
-      /* This symbol has an entry in the procedure linkage table.  Set
-	 it up.  */
-
-      BFD_ASSERT (h->dynindx != -1);
-
-      splt = elf_hash_table (info)->splt;
-      sgot = elf_hash_table (info)->sgotplt;
-      srel = elf_hash_table (info)->srelplt;
-      BFD_ASSERT (splt != NULL && sgot != NULL && srel != NULL);
-
-      /* Get the index in the procedure linkage table which
-	 corresponds to this symbol.  This is the index of this symbol
-	 in all the symbols for which we are making plt entries.  The
-	 first entry in the procedure linkage table is reserved.  */
-      plt_index = h->plt.offset / elf_sh64_sizeof_plt (info) - 1;
-
-      /* Get the offset into the .got table of the entry that
-	 corresponds to this function.  Each .got entry is 8 bytes.
-	 The first three are reserved.  */
-      got_offset = (plt_index + 3) * 8;
-
-      if (bfd_link_pic (info))
-	got_offset -= GOT_BIAS;
-
-      /* Fill in the entry in the procedure linkage table.  */
-      if (! bfd_link_pic (info))
-	{
-	  if (elf_sh64_plt_entry == NULL)
-	    {
-	      elf_sh64_plt_entry = (bfd_big_endian (output_bfd) ?
-				  elf_sh64_plt_entry_be : elf_sh64_plt_entry_le);
-	    }
-	  memcpy (splt->contents + h->plt.offset, elf_sh64_plt_entry,
-		  elf_sh64_sizeof_plt (info));
-	  movi_3shori_putval (output_bfd,
-			      (sgot->output_section->vma
-			       + sgot->output_offset
-			       + got_offset),
-			      (splt->contents + h->plt.offset
-			       + elf_sh64_plt_symbol_offset (info)));
-
-	  /* Set bottom bit because its for a branch to SHmedia */
-	  movi_shori_putval (output_bfd,
-			     -(h->plt.offset
-			      + elf_sh64_plt_plt0_offset (info) + 8)
-			     | 1,
-			     (splt->contents + h->plt.offset
-			      + elf_sh64_plt_plt0_offset (info)));
-	}
-      else
-	{
-	  if (elf_sh64_pic_plt_entry == NULL)
-	    {
-	      elf_sh64_pic_plt_entry = (bfd_big_endian (output_bfd) ?
-				      elf_sh64_pic_plt_entry_be :
-				      elf_sh64_pic_plt_entry_le);
-	    }
-	  memcpy (splt->contents + h->plt.offset, elf_sh64_pic_plt_entry,
-		  elf_sh64_sizeof_plt (info));
-	  movi_shori_putval (output_bfd, got_offset,
-			     (splt->contents + h->plt.offset
-			      + elf_sh64_plt_symbol_offset (info)));
-	}
-
-      if (bfd_link_pic (info))
-	got_offset += GOT_BIAS;
-
-      movi_shori_putval (output_bfd,
-			 plt_index * sizeof (Elf64_External_Rela),
-			 (splt->contents + h->plt.offset
-			  + elf_sh64_plt_reloc_offset (info)));
-
-      /* Fill in the entry in the global offset table.  */
-      bfd_put_64 (output_bfd,
-		  (splt->output_section->vma
-		   + splt->output_offset
-		   + h->plt.offset
-		   + elf_sh64_plt_temp_offset (info)),
-		  sgot->contents + got_offset);
-
-      /* Fill in the entry in the .rela.plt section.  */
-      rel.r_offset = (sgot->output_section->vma
-		      + sgot->output_offset
-		      + got_offset);
-      rel.r_info = ELF64_R_INFO (h->dynindx, R_SH_JMP_SLOT64);
-      rel.r_addend = 0;
-      rel.r_addend = GOT_BIAS;
-      loc = srel->contents + plt_index * sizeof (Elf64_External_Rela);
-      bfd_elf64_swap_reloca_out (output_bfd, &rel, loc);
-
-      if (!h->def_regular)
-	{
-	  /* Mark the symbol as undefined, rather than as defined in
-	     the .plt section.  Leave the value alone.  */
-	  sym->st_shndx = SHN_UNDEF;
-	}
-    }
-
-  if (h->got.offset != (bfd_vma) -1)
-    {
-      asection *sgot;
-      asection *srel;
-      Elf_Internal_Rela rel;
-      bfd_byte *loc;
-
-      /* This symbol has an entry in the global offset table.  Set it
-	 up.  */
-
-      sgot = elf_hash_table (info)->sgot;
-      srel = elf_hash_table (info)->srelgot;
-      BFD_ASSERT (sgot != NULL && srel != NULL);
-
-      rel.r_offset = (sgot->output_section->vma
-		      + sgot->output_offset
-		      + (h->got.offset &~ 1));
-
-      /* If this is a -Bsymbolic link, and the symbol is defined
-	 locally, we just want to emit a RELATIVE reloc.  Likewise if
-	 the symbol was forced to be local because of a version file.
-	 The entry in the global offset table will already have been
-	 initialized in the relocate_section function.  */
-      if (bfd_link_pic (info)
-	  && (info->symbolic || h->dynindx == -1)
-	  && h->def_regular)
-	{
-	  rel.r_info = ELF64_R_INFO (0, R_SH_RELATIVE64);
-	  rel.r_addend = (h->root.u.def.value
-			  + h->root.u.def.section->output_section->vma
-			  + h->root.u.def.section->output_offset);
-	}
-      else
-	{
-	  bfd_put_64 (output_bfd, (bfd_vma) 0, sgot->contents + h->got.offset);
-	  rel.r_info = ELF64_R_INFO (h->dynindx, R_SH_GLOB_DAT64);
-	  rel.r_addend = 0;
-	}
-
-      loc = srel->contents;
-      loc += srel->reloc_count++ * sizeof (Elf64_External_Rela);
-      bfd_elf64_swap_reloca_out (output_bfd, &rel, loc);
-    }
-
-  if (h->needs_copy)
-    {
-      asection *s;
-      Elf_Internal_Rela rel;
-      bfd_byte *loc;
-
-      /* This symbol needs a copy reloc.  Set it up.  */
-
-      BFD_ASSERT (h->dynindx != -1
-		  && (h->root.type == bfd_link_hash_defined
-		      || h->root.type == bfd_link_hash_defweak));
-
-      s = bfd_get_linker_section (dynobj, ".rela.bss");
-      BFD_ASSERT (s != NULL);
-
-      rel.r_offset = (h->root.u.def.value
-		      + h->root.u.def.section->output_section->vma
-		      + h->root.u.def.section->output_offset);
-      rel.r_info = ELF64_R_INFO (h->dynindx, R_SH_COPY64);
-      rel.r_addend = 0;
-      loc = s->contents;
-      loc += s->reloc_count++ * sizeof (Elf64_External_Rela);
-      bfd_elf64_swap_reloca_out (output_bfd, &rel, loc);
-    }
-
-  /* Mark _DYNAMIC and _GLOBAL_OFFSET_TABLE_ as absolute.  */
-  if (h == elf_hash_table (info)->hdynamic
-      || h == elf_hash_table (info)->hgot)
-    sym->st_shndx = SHN_ABS;
-
-  return TRUE;
-}
-
-/* Finish up the dynamic sections.  */
-
-static bfd_boolean
-sh64_elf64_finish_dynamic_sections (bfd *output_bfd,
-				    struct bfd_link_info *info)
-{
-  bfd *dynobj;
-  asection *sgot;
-  asection *sdyn;
-
-  dynobj = elf_hash_table (info)->dynobj;
-
-  sgot = elf_hash_table (info)->sgotplt;
-  BFD_ASSERT (sgot != NULL);
-  sdyn = bfd_get_linker_section (dynobj, ".dynamic");
-
-  if (elf_hash_table (info)->dynamic_sections_created)
-    {
-      asection *splt;
-      Elf64_External_Dyn *dyncon, *dynconend;
-
-      BFD_ASSERT (sdyn != NULL);
-
-      dyncon = (Elf64_External_Dyn *) sdyn->contents;
-      dynconend = (Elf64_External_Dyn *) (sdyn->contents + sdyn->size);
-      for (; dyncon < dynconend; dyncon++)
-	{
-	  Elf_Internal_Dyn dyn;
-	  const char *name;
-	  asection *s;
-	  struct elf_link_hash_entry *h;
-
-	  bfd_elf64_swap_dyn_in (dynobj, dyncon, &dyn);
-
-	  switch (dyn.d_tag)
-	    {
-	    default:
-	      break;
-
-	    case DT_INIT:
-	      name = info->init_function;
-	      goto get_sym;
-
-	    case DT_FINI:
-	      name = info->fini_function;
-	    get_sym:
-	      if (dyn.d_un.d_val != 0)
-		{
-		  h = elf_link_hash_lookup (elf_hash_table (info), name,
-					    FALSE, FALSE, TRUE);
-		  if (h != NULL && (h->other & STO_SH5_ISA32))
-		    {
-		      dyn.d_un.d_val |= 1;
-		      bfd_elf64_swap_dyn_out (output_bfd, &dyn, dyncon);
-		    }
-		}
-	      break;
-
-	    case DT_PLTGOT:
-	      s = elf_hash_table (info)->sgotplt;
-	      goto get_vma;
-
-	    case DT_JMPREL:
-	      s = elf_hash_table (info)->srelplt;
-	    get_vma:
-	      dyn.d_un.d_ptr = s->output_section->vma + s->output_offset;
-	      bfd_elf64_swap_dyn_out (output_bfd, &dyn, dyncon);
-	      break;
-
-	    case DT_PLTRELSZ:
-	      s = elf_hash_table (info)->srelplt;
-	      dyn.d_un.d_val = s->size;
-	      bfd_elf64_swap_dyn_out (output_bfd, &dyn, dyncon);
-	      break;
-	    }
-	}
-
-      /* Fill in the first entry in the procedure linkage table.  */
-      splt = elf_hash_table (info)->splt;
-      if (splt && splt->size > 0)
-	{
-	  if (bfd_link_pic (info))
-	    {
-	      if (elf_sh64_pic_plt_entry == NULL)
-		{
-		  elf_sh64_pic_plt_entry = (bfd_big_endian (output_bfd) ?
-					  elf_sh64_pic_plt_entry_be :
-					  elf_sh64_pic_plt_entry_le);
-		}
-	      memcpy (splt->contents, elf_sh64_pic_plt_entry,
-		      elf_sh64_sizeof_plt (info));
-	    }
-	  else
-	    {
-	      if (elf_sh64_plt0_entry == NULL)
-		{
-		  elf_sh64_plt0_entry = (bfd_big_endian (output_bfd) ?
-				       elf_sh64_plt0_entry_be :
-				       elf_sh64_plt0_entry_le);
-		}
-	      memcpy (splt->contents, elf_sh64_plt0_entry, PLT_ENTRY_SIZE);
-	      movi_3shori_putval (output_bfd,
-				  sgot->output_section->vma
-				  + sgot->output_offset,
-				  splt->contents
-				  + elf_sh64_plt0_gotplt_offset (info));
-	    }
-
-	  /* UnixWare sets the entsize of .plt to 8, although that doesn't
-	     really seem like the right value.  */
-	  elf_section_data (splt->output_section)->this_hdr.sh_entsize = 8;
-	}
-    }
-
-  /* Fill in the first three entries in the global offset table.  */
-  if (sgot->size > 0)
-    {
-      if (sdyn == NULL)
-	bfd_put_64 (output_bfd, (bfd_vma) 0, sgot->contents);
-      else
-	bfd_put_64 (output_bfd,
-		    sdyn->output_section->vma + sdyn->output_offset,
-		    sgot->contents);
-      bfd_put_64 (output_bfd, (bfd_vma) 0, sgot->contents + 8);
-      bfd_put_64 (output_bfd, (bfd_vma) 0, sgot->contents + 16);
-    }
-
-  elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 8;
-
-  return TRUE;
-}
-
-/* Merge non visibility st_other attribute when the symbol comes from
-   a dynamic object.  */
-static void
-sh64_elf64_merge_symbol_attribute (struct elf_link_hash_entry *h,
-				   const Elf_Internal_Sym *isym,
-				   bfd_boolean definition,
-				   bfd_boolean dynamic ATTRIBUTE_UNUSED)
-{
-  if ((isym->st_other & ~ELF_ST_VISIBILITY (-1)) != 0)
-    {
-      unsigned char other;
-
-      /* Take the balance of OTHER from the definition.  */
-      other = (definition ? isym->st_other : h->other);
-      other &= ~ ELF_ST_VISIBILITY (-1);
-      h->other = other | ELF_ST_VISIBILITY (h->other);
-    }
-
-  return;
-}
-
-static const struct bfd_elf_special_section sh64_elf64_special_sections[]=
-{
-  { STRING_COMMA_LEN (".cranges"), 0, SHT_PROGBITS, 0 },
-  { NULL,			0, 0, 0,	    0 }
-};
-
-#define TARGET_BIG_SYM		sh64_elf64_vec
-#define TARGET_BIG_NAME		"elf64-sh64"
-#define TARGET_LITTLE_SYM	sh64_elf64_le_vec
-#define TARGET_LITTLE_NAME	"elf64-sh64l"
-#define ELF_ARCH		bfd_arch_sh
-#define ELF_MACHINE_CODE	EM_SH
-#define ELF_MAXPAGESIZE		128
-
-#define elf_symbol_leading_char '_'
-
-#define bfd_elf64_bfd_reloc_type_lookup	sh_elf64_reloc_type_lookup
-#define bfd_elf64_bfd_reloc_name_lookup \
-					sh_elf64_reloc_name_lookup
-#define elf_info_to_howto		sh_elf64_info_to_howto
-
-/* Note: there's no relaxation at present.  */
-
-#define elf_backend_relocate_section	sh_elf64_relocate_section
-#define bfd_elf64_bfd_get_relocated_section_contents \
-					sh_elf64_get_relocated_section_contents
-#define elf_backend_object_p		sh_elf64_set_mach_from_flags
-#define bfd_elf64_bfd_set_private_flags \
-					sh_elf64_set_private_flags
-#define bfd_elf64_bfd_copy_private_bfd_data \
-					sh_elf64_copy_private_data
-#define bfd_elf64_bfd_merge_private_bfd_data \
-					sh_elf64_merge_private_data
-#define elf_backend_fake_sections	sh64_elf64_fake_sections
-
-#define elf_backend_gc_mark_hook	sh_elf64_gc_mark_hook
-#define elf_backend_check_relocs	sh_elf64_check_relocs
-
-#define elf_backend_can_gc_sections	1
-
-#define elf_backend_get_symbol_type	sh64_elf64_get_symbol_type
-
-#define elf_backend_add_symbol_hook	sh64_elf64_add_symbol_hook
-
-#define elf_backend_link_output_symbol_hook \
-	sh64_elf64_link_output_symbol_hook
-
-#define	elf_backend_merge_symbol_attribute \
-	sh64_elf64_merge_symbol_attribute
-
-#define elf_backend_final_write_processing \
-	sh64_elf64_final_write_processing
-
-#define elf_backend_create_dynamic_sections \
-					sh64_elf64_create_dynamic_sections
-#define bfd_elf64_bfd_link_hash_table_create \
-					sh64_elf64_link_hash_table_create
-#define elf_backend_adjust_dynamic_symbol \
-					sh64_elf64_adjust_dynamic_symbol
-#define elf_backend_size_dynamic_sections \
-					sh64_elf64_size_dynamic_sections
-#define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
-#define elf_backend_finish_dynamic_symbol \
-					sh64_elf64_finish_dynamic_symbol
-#define elf_backend_finish_dynamic_sections \
-					sh64_elf64_finish_dynamic_sections
-#define elf_backend_special_sections	sh64_elf64_special_sections
-
-#define elf_backend_want_got_plt	1
-#define elf_backend_plt_readonly	1
-#define elf_backend_want_plt_sym	0
-#define elf_backend_got_header_size	24
-#define elf_backend_dtrel_excludes_plt	1
-
-#define elf_backend_linux_prpsinfo64_ugid16	TRUE
-
-#include "elf64-target.h"
-
-/* NetBSD support.  */
-#undef	TARGET_BIG_SYM
-#define	TARGET_BIG_SYM			sh64_elf64_nbsd_vec
-#undef	TARGET_BIG_NAME
-#define	TARGET_BIG_NAME			"elf64-sh64-nbsd"
-#undef	TARGET_LITTLE_SYM
-#define	TARGET_LITTLE_SYM		sh64_elf64_nbsd_le_vec
-#undef	TARGET_LITTLE_NAME
-#define	TARGET_LITTLE_NAME		"elf64-sh64l-nbsd"
-#undef	ELF_MAXPAGESIZE
-#define	ELF_MAXPAGESIZE			0x10000
-#undef	elf_symbol_leading_char
-#define	elf_symbol_leading_char		0
-
-#define	elf64_bed			elf64_sh64_nbsd_bed
-
-#include "elf64-target.h"
-
-/* Linux support.  */
-#undef	TARGET_BIG_SYM
-#define	TARGET_BIG_SYM			sh64_elf64_linux_be_vec
-#undef	TARGET_BIG_NAME
-#define	TARGET_BIG_NAME			"elf64-sh64big-linux"
-#undef	TARGET_LITTLE_SYM
-#define	TARGET_LITTLE_SYM		sh64_elf64_linux_vec
-#undef	TARGET_LITTLE_NAME
-#define	TARGET_LITTLE_NAME		"elf64-sh64-linux"
-#undef elf64_bed
-#define	elf64_bed			elf64_sh64_linux_bed
-
-#include "elf64-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-sparc.c ./bfd/elf64-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-sparc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-sparc.c	2018-07-10 02:06:11.000000000 +0000
@@ -122,15 +122,19 @@ elf64_sparc_slurp_one_reloc_table (bfd *
       r_type = ELF64_R_TYPE_ID (rela.r_info);
       if (r_type == R_SPARC_OLO10)
 	{
-	  relent->howto = _bfd_sparc_elf_info_to_howto_ptr (R_SPARC_LO10);
+	  relent->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, R_SPARC_LO10);
 	  relent[1].address = relent->address;
 	  relent++;
 	  relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
 	  relent->addend = ELF64_R_TYPE_DATA (rela.r_info);
-	  relent->howto = _bfd_sparc_elf_info_to_howto_ptr (R_SPARC_13);
+	  relent->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, R_SPARC_13);
 	}
       else
-	relent->howto = _bfd_sparc_elf_info_to_howto_ptr (r_type);
+	{
+	  relent->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, r_type);
+	  if (relent->howto == NULL)
+	    goto error_return;
+	}
     }
 
   canon_reloc_count (asect) += relent - relents;
@@ -440,11 +444,6 @@ elf64_sparc_add_symbol_hook (bfd *abfd, 
 {
   static const char *const stt_types[] = { "NOTYPE", "OBJECT", "FUNCTION" };
 
-  if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-      && (abfd->flags & DYNAMIC) == 0
-      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
-    elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc;
-
   if (ELF_ST_TYPE (sym->st_info) == STT_REGISTER)
     {
       int reg;
@@ -457,7 +456,7 @@ elf64_sparc_add_symbol_hook (bfd *abfd, 
 	case 6: reg -= 4; break;
 	default:
 	  _bfd_error_handler
-	    (_("%B: Only registers %%g[2367] can be declared using STT_REGISTER"),
+	    (_("%pB: only registers %%g[2367] can be declared using STT_REGISTER"),
 	     abfd);
 	  return FALSE;
 	}
@@ -478,8 +477,8 @@ elf64_sparc_add_symbol_hook (bfd *abfd, 
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("Register %%g%d used incompatibly: %s in %B,"
-	       " previously %s in %B"),
+	    (_("register %%g%d used incompatibly: %s in %pB,"
+	       " previously %s in %pB"),
 	     (int) sym->st_value, **namep ? *namep : "#scratch", abfd,
 	     *p->name ? p->name : "#scratch", p->abfd);
 	  return FALSE;
@@ -502,8 +501,8 @@ elf64_sparc_add_symbol_hook (bfd *abfd, 
 		    type = 0;
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("Symbol `%s' has differing types: REGISTER in %B,"
-		       " previously %s in %B"),
+		    (_("symbol `%s' has differing types: REGISTER in %pB,"
+		       " previously %s in %pB"),
 		     *namep, abfd, stt_types[type], p->abfd);
 		  return FALSE;
 		}
@@ -549,8 +548,8 @@ elf64_sparc_add_symbol_hook (bfd *abfd, 
 	      type = 0;
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("Symbol `%s' has differing types: %s in %B,"
-		 " previously REGISTER in %B"),
+	      (_("Symbol `%s' has differing types: %s in %pB,"
+		 " previously REGISTER in %pB"),
 	       *namep, stt_types[type], abfd, p->abfd);
 	    return FALSE;
 	  }
@@ -704,7 +703,7 @@ elf64_sparc_merge_private_bfd_data (bfd 
 	    {
 	      error = TRUE;
 	      _bfd_error_handler
-		(_("%B: linking UltraSPARC specific with HAL specific code"),
+		(_("%pB: linking UltraSPARC specific with HAL specific code"),
 		 ibfd);
 	    }
 	  /* Choose the most restrictive memory ordering.  */
@@ -724,7 +723,7 @@ elf64_sparc_merge_private_bfd_data (bfd 
 	  error = TRUE;
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: uses different e_flags (%#x) fields than previous modules (%#x)"),
+	    (_("%pB: uses different e_flags (%#x) fields than previous modules (%#x)"),
 	     ibfd, new_flags, old_flags);
 	}
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-x86-64.c ./bfd/elf64-x86-64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf64-x86-64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf64-x86-64.c	2018-07-10 02:06:11.000000000 +0000
@@ -282,9 +282,10 @@ elf_x86_64_rtype_to_howto (bfd *abfd, un
       if (r_type >= (unsigned int) R_X86_64_standard)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: invalid relocation type %d"),
-			      abfd, (int) r_type);
-	  r_type = R_X86_64_NONE;
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      abfd, r_type);
+	  bfd_set_error (bfd_error_bad_value);
+	  return NULL;
 	}
       i = r_type;
     }
@@ -336,19 +337,18 @@ elf_x86_64_reloc_name_lookup (bfd *abfd,
 
 /* Given an x86_64 ELF reloc type, fill in an arelent structure.  */
 
-static void
-elf_x86_64_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
+static bfd_boolean
+elf_x86_64_info_to_howto (bfd *abfd, arelent *cache_ptr,
 			  Elf_Internal_Rela *dst)
 {
   unsigned r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  if (r_type != (unsigned int) R_X86_64_GNU_VTINHERIT
-      && r_type != (unsigned int) R_X86_64_GNU_VTENTRY)
-    r_type &= ~R_X86_64_converted_reloc_bit;
   cache_ptr->howto = elf_x86_64_rtype_to_howto (abfd, r_type);
-
+  if (cache_ptr->howto == NULL)
+    return FALSE;
   BFD_ASSERT (r_type == cache_ptr->howto->type || cache_ptr->howto->type == R_X86_64_NONE);
+  return TRUE;
 }
 
 /* Support for core dump NOTE sections.  */
@@ -439,6 +439,10 @@ elf_x86_64_grok_psinfo (bfd *abfd, Elf_I
 }
 
 #ifdef CORE_HEADER
+# if GCC_VERSION >= 8000
+#  pragma GCC diagnostic push
+#  pragma GCC diagnostic ignored "-Wstringop-truncation"
+# endif
 static char *
 elf_x86_64_write_core_note (bfd *abfd, char *buf, int *bufsiz,
 			    int note_type, ...)
@@ -524,6 +528,9 @@ elf_x86_64_write_core_note (bfd *abfd, c
     }
   /* NOTREACHED */
 }
+# if GCC_VERSION >= 8000
+#  pragma GCC diagnostic pop
+# endif
 #endif
 
 /* Functions for the x86-64 ELF linker.	 */
@@ -653,6 +660,14 @@ static const bfd_byte elf_x32_non_lazy_i
   0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00 /* nopw 0x0(%rax,%rax,1)  */
 };
 
+/* The TLSDESC entry in a lazy procedure linkage table.  */
+static const bfd_byte elf_x86_64_tlsdesc_plt_entry[LAZY_PLT_ENTRY_SIZE] =
+{
+  0xf3, 0x0f, 0x1e, 0xfa,	     /* endbr64		       */
+  0xff, 0x35, 8, 0, 0, 0,	     /* pushq GOT+8(%rip)	*/
+  0xff, 0x25, 16, 0, 0, 0	     /* jmpq *GOT+TDG(%rip)	*/
+};
+
 /* .eh_frame covering the lazy .plt section.  */
 
 static const bfd_byte elf_x86_64_eh_frame_lazy_plt[] =
@@ -827,6 +842,12 @@ static const struct elf_x86_lazy_plt_lay
     LAZY_PLT_ENTRY_SIZE,		/* plt0_entry_size */
     elf_x86_64_lazy_plt_entry,		/* plt_entry */
     LAZY_PLT_ENTRY_SIZE,		/* plt_entry_size */
+    elf_x86_64_tlsdesc_plt_entry,	/* plt_tlsdesc_entry */
+    LAZY_PLT_ENTRY_SIZE,		/* plt_tlsdesc_entry_size */
+    6,					/* plt_tlsdesc_got1_offset */
+    12,					/* plt_tlsdesc_got2_offset */
+    10,					/* plt_tlsdesc_got1_insn_end */
+    16,					/* plt_tlsdesc_got2_insn_end */
     2,					/* plt0_got1_offset */
     8,					/* plt0_got2_offset */
     12,					/* plt0_got2_insn_end */
@@ -859,6 +880,12 @@ static const struct elf_x86_lazy_plt_lay
     LAZY_PLT_ENTRY_SIZE,		/* plt0_entry_size */
     elf_x86_64_lazy_bnd_plt_entry,	/* plt_entry */
     LAZY_PLT_ENTRY_SIZE,		/* plt_entry_size */
+    elf_x86_64_tlsdesc_plt_entry,	/* plt_tlsdesc_entry */
+    LAZY_PLT_ENTRY_SIZE,		/* plt_tlsdesc_entry_size */
+    6,					/* plt_tlsdesc_got1_offset */
+    12,					/* plt_tlsdesc_got2_offset */
+    10,					/* plt_tlsdesc_got1_insn_end */
+    16,					/* plt_tlsdesc_got2_insn_end */
     2,					/* plt0_got1_offset */
     1+8,				/* plt0_got2_offset */
     1+12,				/* plt0_got2_insn_end */
@@ -891,6 +918,12 @@ static const struct elf_x86_lazy_plt_lay
     LAZY_PLT_ENTRY_SIZE,		/* plt0_entry_size */
     elf_x86_64_lazy_ibt_plt_entry,	/* plt_entry */
     LAZY_PLT_ENTRY_SIZE,		/* plt_entry_size */
+    elf_x86_64_tlsdesc_plt_entry,	/* plt_tlsdesc_entry */
+    LAZY_PLT_ENTRY_SIZE,		/* plt_tlsdesc_entry_size */
+    6,					/* plt_tlsdesc_got1_offset */
+    12,					/* plt_tlsdesc_got2_offset */
+    10,					/* plt_tlsdesc_got1_insn_end */
+    16,					/* plt_tlsdesc_got2_insn_end */
     2,					/* plt0_got1_offset */
     1+8,				/* plt0_got2_offset */
     1+12,				/* plt0_got2_insn_end */
@@ -912,6 +945,12 @@ static const struct elf_x86_lazy_plt_lay
     LAZY_PLT_ENTRY_SIZE,		/* plt0_entry_size */
     elf_x32_lazy_ibt_plt_entry,		/* plt_entry */
     LAZY_PLT_ENTRY_SIZE,		/* plt_entry_size */
+    elf_x86_64_tlsdesc_plt_entry,	/* plt_tlsdesc_entry */
+    LAZY_PLT_ENTRY_SIZE,		/* plt_tlsdesc_entry_size */
+    6,					/* plt_tlsdesc_got1_offset */
+    12,					/* plt_tlsdesc_got2_offset */
+    10,					/* plt_tlsdesc_got1_insn_end */
+    16,					/* plt_tlsdesc_got2_insn_end */
     2,					/* plt0_got1_offset */
     8,					/* plt0_got2_offset */
     12,					/* plt0_got2_insn_end */
@@ -1311,6 +1350,9 @@ elf_x86_64_tls_transition (struct bfd_li
       from = elf_x86_64_rtype_to_howto (abfd, from_type);
       to = elf_x86_64_rtype_to_howto (abfd, to_type);
 
+      if (from == NULL || to == NULL)
+	return FALSE;
+
       if (h)
 	name = h->root.root.string;
       else
@@ -1332,9 +1374,9 @@ elf_x86_64_tls_transition (struct bfd_li
 
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: TLS transition from %s to %s against `%s' at %#Lx "
-	   "in section `%A' failed"),
-	 abfd, from->name, to->name, name, rel->r_offset, sec);
+	(_("%pB: TLS transition from %s to %s against `%s' at %#" PRIx64
+	   " in section `%pA' failed"),
+	 abfd, from->name, to->name, name, (uint64_t) rel->r_offset, sec);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
     }
@@ -1401,7 +1443,7 @@ elf_x86_64_need_pic (struct bfd_link_inf
     object = _("a PDE object");
 
   /* xgettext:c-format */
-  _bfd_error_handler (_("%B: relocation %s against %s%s`%s' can "
+  _bfd_error_handler (_("%pB: relocation %s against %s%s`%s' can "
 			"not be used when making %s%s"),
 		      input_bfd, howto->name, und, v, name,
 		      object, pic);
@@ -1820,7 +1862,7 @@ elf_x86_64_check_relocs (bfd *abfd, stru
       if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: bad symbol index: %d"),
+	  _bfd_error_handler (_("%pB: bad symbol index: %d"),
 			      abfd, r_symndx);
 	  goto error_return;
 	}
@@ -1886,7 +1928,7 @@ elf_x86_64_check_relocs (bfd *abfd, stru
 					   NULL);
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: relocation %s against symbol `%s' isn't "
+		  (_("%pB: relocation %s against symbol `%s' isn't "
 		     "supported in x32 mode"), abfd,
 		   x86_64_elf_howto_table[r_type].name, name);
 		bfd_set_error (bfd_error_bad_value);
@@ -1927,6 +1969,10 @@ elf_x86_64_check_relocs (bfd *abfd, stru
 				       rel, rel_end, h, r_symndx, FALSE))
 	goto error_return;
 
+      /* Check if _GLOBAL_OFFSET_TABLE_ is referenced.  */
+      if (h == htab->elf.hgot)
+	htab->got_referenced = TRUE;
+
       eh = (struct elf_x86_link_hash_entry *) h;
       switch (r_type)
 	{
@@ -2024,7 +2070,7 @@ elf_x86_64_check_relocs (bfd *abfd, stru
 					       isym, NULL);
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: '%s' accessed both as normal and"
+		      (_("%pB: '%s' accessed both as normal and"
 			 " thread local symbol"),
 		       abfd, name);
 		    bfd_set_error (bfd_error_bad_value);
@@ -2131,7 +2177,17 @@ pointer:
 		     as pointer, make sure that PLT is used if foo is
 		     a function defined in a shared library.  */
 		  if ((sec->flags & SEC_CODE) == 0)
-		    h->pointer_equality_needed = 1;
+		    {
+		      h->pointer_equality_needed = 1;
+		      if (bfd_link_pie (info)
+			  && h->type == STT_FUNC
+			  && !h->def_regular
+			  && h->def_dynamic)
+			{
+			  h->needs_plt = 1;
+			  h->plt.refcount = 1;
+			}
+		    }
 		}
 	      else if (r_type != R_X86_64_PC32_BND
 		       && r_type != R_X86_64_PC64)
@@ -2169,7 +2225,7 @@ pointer:
 
 	  size_reloc = FALSE;
 do_size:
-	  if (NEED_DYNAMIC_RELOCATION_P (info, h, sec, r_type,
+	  if (NEED_DYNAMIC_RELOCATION_P (info, TRUE, h, sec, r_type,
 					 htab->pointer_r_type))
 	    {
 	      struct elf_dyn_relocs *p;
@@ -2303,24 +2359,6 @@ elf_x86_64_tpoff (struct bfd_link_info *
   return address - static_tls_size - htab->tls_sec->vma;
 }
 
-/* Is the instruction before OFFSET in CONTENTS a 32bit relative
-   branch?  */
-
-static bfd_boolean
-is_32bit_relative_branch (bfd_byte *contents, bfd_vma offset)
-{
-  /* Opcode		Instruction
-     0xe8		call
-     0xe9		jump
-     0x0f 0x8x		conditional jump */
-  return ((offset > 0
-	   && (contents [offset - 1] == 0xe8
-	       || contents [offset - 1] == 0xe9))
-	  || (offset > 1
-	      && contents [offset - 2] == 0x0f
-	      && (contents [offset - 1] & 0xf0) == 0x80));
-}
-
 /* Relocate an x86_64 ELF section.  */
 
 static bfd_boolean
@@ -2393,8 +2431,13 @@ elf_x86_64_relocate_section (bfd *output
 	  continue;
 	}
 
+      r_symndx = htab->r_sym (rel->r_info);
       converted_reloc = (r_type & R_X86_64_converted_reloc_bit) != 0;
-      r_type &= ~R_X86_64_converted_reloc_bit;
+      if (converted_reloc)
+	{
+	  r_type &= ~R_X86_64_converted_reloc_bit;
+	  rel->r_info = htab->r_info (r_symndx, r_type);
+	}
 
       if (r_type >= (int) R_X86_64_standard)
 	return _bfd_unrecognized_reloc (input_bfd, input_section, r_type);
@@ -2405,7 +2448,6 @@ elf_x86_64_relocate_section (bfd *output
       else
 	howto = (x86_64_elf_howto_table
 		 + ARRAY_SIZE (x86_64_elf_howto_table) - 1);
-      r_symndx = htab->r_sym (rel->r_info);
       h = NULL;
       sym = NULL;
       sec = NULL;
@@ -2501,6 +2543,10 @@ elf_x86_64_relocate_section (bfd *output
 
 	  if ((input_section->flags & SEC_ALLOC) == 0)
 	    {
+	      /* If this is a SHT_NOTE section without SHF_ALLOC, treat
+	         STT_GNU_IFUNC symbol as STT_FUNC.  */
+	      if (elf_section_type (input_section) == SHT_NOTE)
+		goto skip_ifunc;
 	      /* Dynamic relocs are not propagated for SEC_DEBUGGING
 		 sections because such sections are not SEC_ALLOC and
 		 thus ld.so will not process them.  */
@@ -2622,7 +2668,7 @@ bad_ifunc_reloc:
 					 NULL);
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocation %s against STT_GNU_IFUNC "
+		(_("%pB: relocation %s against STT_GNU_IFUNC "
 		   "symbol `%s' isn't supported"), input_bfd,
 		 howto->name, name);
 	      bfd_set_error (bfd_error_bad_value);
@@ -2648,9 +2694,9 @@ do_ifunc_pointer:
 					     sym, NULL);
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: relocation %s against STT_GNU_IFUNC "
-		       "symbol `%s' has non-zero addend: %Ld"),
-		     input_bfd, howto->name, name, rel->r_addend);
+		    (_("%pB: relocation %s against STT_GNU_IFUNC "
+		       "symbol `%s' has non-zero addend: %" PRId64),
+		     input_bfd, howto->name, name, (int64_t) rel->r_addend);
 		  bfd_set_error (bfd_error_bad_value);
 		  return FALSE;
 		}
@@ -2679,7 +2725,7 @@ do_ifunc_pointer:
 
 		  if (POINTER_LOCAL_IFUNC_P (info, h))
 		    {
-		      info->callbacks->minfo (_("Local IFUNC function `%s' in %B\n"),
+		      info->callbacks->minfo (_("Local IFUNC function `%s' in %pB\n"),
 					      h->root.root.string,
 					      h->root.u.def.section->owner);
 
@@ -2724,6 +2770,7 @@ do_ifunc_pointer:
 	    }
 	}
 
+skip_ifunc:
       resolved_to_zero = (eh != NULL
 			  && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh));
 
@@ -2885,7 +2932,7 @@ do_ifunc_pointer:
 
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: relocation R_X86_64_GOTOFF64 against undefined %s"
+		    (_("%pB: relocation R_X86_64_GOTOFF64 against undefined %s"
 		       " `%s' can not be used when making a shared object"),
 		     input_bfd, v, h->root.root.string);
 		  bfd_set_error (bfd_error_bad_value);
@@ -2899,7 +2946,7 @@ do_ifunc_pointer:
 		{
 		  _bfd_error_handler
 	      /* xgettext:c-format */
-		    (_("%B: relocation R_X86_64_GOTOFF64 against protected %s"
+		    (_("%pB: relocation R_X86_64_GOTOFF64 against protected %s"
 		       " `%s' can not be used when making a shared object"),
 		     input_bfd,
 		     h->type == STT_FUNC ? "function" : "data",
@@ -2982,6 +3029,7 @@ do_ifunc_pointer:
 	      break;
 	    }
 
+use_plt:
 	  if (h->plt.offset != (bfd_vma) -1)
 	    {
 	      if (htab->plt_second != NULL)
@@ -3019,14 +3067,18 @@ do_ifunc_pointer:
 	case R_X86_64_PC32:
 	case R_X86_64_PC32_BND:
 	  /* Don't complain about -fPIC if the symbol is undefined when
-	     building executable unless it is unresolved weak symbol or
-	     -z nocopyreloc is used.  */
+	     building executable unless it is unresolved weak symbol,
+	     references a dynamic definition in PIE or -z nocopyreloc
+	     is used.  */
 	  if ((input_section->flags & SEC_ALLOC) != 0
 	      && (input_section->flags & SEC_READONLY) != 0
 	      && h != NULL
 	      && ((bfd_link_executable (info)
 		   && ((h->root.type == bfd_link_hash_undefweak
 			&& !resolved_to_zero)
+		       || (bfd_link_pie (info)
+			   && !h->def_regular
+			   && h->def_dynamic)
 		       || ((info->nocopyreloc
 			    || (eh->def_protected
 				&& elf_has_no_copy_on_protected (h->root.u.def.section->owner)))
@@ -3035,32 +3087,36 @@ do_ifunc_pointer:
 		  || bfd_link_dll (info)))
 	    {
 	      bfd_boolean fail = FALSE;
-	      bfd_boolean branch
-		= ((r_type == R_X86_64_PC32
-		    || r_type == R_X86_64_PC32_BND)
-		   && is_32bit_relative_branch (contents, rel->r_offset));
-
 	      if (SYMBOL_REFERENCES_LOCAL_P (info, h))
 		{
 		  /* Symbol is referenced locally.  Make sure it is
-		     defined locally or for a branch.  */
-		  fail = (!(h->def_regular || ELF_COMMON_DEF_P (h))
-			  && !branch);
+		     defined locally.  */
+		  fail = !(h->def_regular || ELF_COMMON_DEF_P (h));
 		}
 	      else if (!(bfd_link_pie (info)
 			 && (h->needs_copy || eh->needs_copy)))
 		{
 		  /* Symbol doesn't need copy reloc and isn't referenced
-		     locally.  We only allow branch to symbol with
-		     non-default visibility. */
-		  fail = (!branch
-			  || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT);
+		     locally.  Address of protected function may not be
+		     reachable at run-time.  */
+		  fail = (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
+			  || (ELF_ST_VISIBILITY (h->other) == STV_PROTECTED
+			      && h->type == STT_FUNC));
 		}
 
 	      if (fail)
 		return elf_x86_64_need_pic (info, input_bfd, input_section,
 					    h, NULL, NULL, howto);
 	    }
+	  /* Since x86-64 has PC-relative PLT, we can use PLT in PIE
+	     as function address.  */
+	  else if (h != NULL
+		   && (input_section->flags & SEC_CODE) == 0
+		   && bfd_link_pie (info)
+		   && h->type == STT_FUNC
+		   && !h->def_regular
+		   && h->def_dynamic)
+	    goto use_plt;
 	  /* Fall through.  */
 
 	case R_X86_64_8:
@@ -3150,11 +3206,12 @@ direct:
 						     sym, NULL);
 			  _bfd_error_handler
 			    /* xgettext:c-format */
-			    (_("%B: addend %s%#x in relocation %s against "
-			       "symbol `%s' at %#Lx in section `%A' is "
-			       "out of range"),
+			    (_("%pB: addend %s%#x in relocation %s against "
+			       "symbol `%s' at %#" PRIx64
+			       " in section `%pA' is out of range"),
 			     input_bfd, addend < 0 ? "-" : "", addend,
-			     howto->name, name, rel->r_offset, input_section);
+			     howto->name, name, (uint64_t) rel->r_offset,
+			     input_section);
 			  bfd_set_error (bfd_error_bad_value);
 			  return FALSE;
 			}
@@ -3787,10 +3844,11 @@ direct:
 	    default:
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+		(_("%pB(%pA+%#" PRIx64 "): "
+		   "unresolvable %s relocation against symbol `%s'"),
 		 input_bfd,
 		 input_section,
-		 rel->r_offset,
+		 (uint64_t) rel->r_offset,
 		 howto->name,
 		 h->root.root.string);
 	      return FALSE;
@@ -3836,9 +3894,9 @@ check_relocation_error:
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B(%A+%#Lx): reloc against `%s': error %d"),
+		(_("%pB(%pA+%#" PRIx64 "): reloc against `%s': error %d"),
 		 input_bfd, input_section,
-		 rel->r_offset, name, (int) r);
+		 (uint64_t) rel->r_offset, name, (int) r);
 	      return FALSE;
 	    }
 	}
@@ -3983,7 +4041,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
       /* Check PC-relative offset overflow in PLT entry.  */
       if ((plt_got_pcrel_offset + 0x80000000) > 0xffffffff)
 	/* xgettext:c-format */
-	info->callbacks->einfo (_("%F%B: PC-relative offset overflow in PLT entry for `%s'\n"),
+	info->callbacks->einfo (_("%F%pB: PC-relative offset overflow in PLT entry for `%s'\n"),
 				output_bfd, h->root.root.string);
 
       bfd_put_32 (output_bfd, plt_got_pcrel_offset,
@@ -4009,7 +4067,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
 			   + got_offset);
 	  if (PLT_LOCAL_IFUNC_P (info, h))
 	    {
-	      info->callbacks->minfo (_("Local IFUNC function `%s' in %B\n"),
+	      info->callbacks->minfo (_("Local IFUNC function `%s' in %pB\n"),
 				      h->root.root.string,
 				      h->root.u.def.section->owner);
 
@@ -4046,7 +4104,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
 		 will overflow first.  */
 	      if (plt0_offset > 0x80000000)
 		/* xgettext:c-format */
-		info->callbacks->einfo (_("%F%B: branch displacement overflow in PLT entry for `%s'\n"),
+		info->callbacks->einfo (_("%F%pB: branch displacement overflow in PLT entry for `%s'\n"),
 					output_bfd, h->root.root.string);
 	      bfd_put_32 (output_bfd, - plt0_offset,
 			  (plt->contents + h->plt.offset
@@ -4099,7 +4157,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
       if ((got_after_plt && got_pcrel_offset < 0)
 	  || (!got_after_plt && got_pcrel_offset > 0))
 	/* xgettext:c-format */
-	info->callbacks->einfo (_("%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n"),
+	info->callbacks->einfo (_("%F%pB: PC-relative offset overflow in GOT PLT entry for `%s'\n"),
 				output_bfd, h->root.root.string);
 
       bfd_put_32 (output_bfd, got_pcrel_offset,
@@ -4125,6 +4183,8 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
 	sym->st_value = 0;
     }
 
+  _bfd_x86_elf_link_fixup_ifunc_symbol (info, htab, h, sym);
+
   /* Don't generate dynamic GOT relocation against undefined weak
      symbol in executable.  */
   if (h->got.offset != (bfd_vma) -1
@@ -4163,7 +4223,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
 		}
 	      if (SYMBOL_REFERENCES_LOCAL_P (info, h))
 		{
-		  info->callbacks->minfo (_("Local IFUNC function `%s' in %B\n"),
+		  info->callbacks->minfo (_("Local IFUNC function `%s' in %pB\n"),
 					  h->root.root.string,
 					  h->root.u.def.section->owner);
 
@@ -4397,11 +4457,12 @@ elf_x86_64_finish_dynamic_sections (bfd 
 		      htab->elf.sgot->contents + htab->tlsdesc_got);
 
 	  memcpy (htab->elf.splt->contents + htab->tlsdesc_plt,
-		  htab->lazy_plt->plt0_entry,
-		  htab->lazy_plt->plt0_entry_size);
+		  htab->lazy_plt->plt_tlsdesc_entry,
+		  htab->lazy_plt->plt_tlsdesc_entry_size);
 
-	  /* Add offset for pushq GOT+8(%rip), since the
-	     instruction uses 6 bytes subtract this value.  */
+	  /* Add offset for pushq GOT+8(%rip), since ENDBR64 uses 4
+	     bytes and the instruction uses 6 bytes, subtract these
+	     values.  */
 	  bfd_put_32 (output_bfd,
 		      (htab->elf.sgotplt->output_section->vma
 		       + htab->elf.sgotplt->output_offset
@@ -4409,14 +4470,13 @@ elf_x86_64_finish_dynamic_sections (bfd 
 		       - htab->elf.splt->output_section->vma
 		       - htab->elf.splt->output_offset
 		       - htab->tlsdesc_plt
-		       - 6),
+		       - htab->lazy_plt->plt_tlsdesc_got1_insn_end),
 		      (htab->elf.splt->contents
 		       + htab->tlsdesc_plt
-		       + htab->lazy_plt->plt0_got1_offset));
-	  /* Add offset for the PC-relative instruction accessing
-	     GOT+TDG, where TDG stands for htab->tlsdesc_got,
-	     subtracting the offset to the end of that
-	     instruction.  */
+		       + htab->lazy_plt->plt_tlsdesc_got1_offset));
+	  /* Add offset for indirect branch via GOT+TDG, where TDG
+	     stands for htab->tlsdesc_got, subtracting the offset
+	     to the end of that instruction.  */
 	  bfd_put_32 (output_bfd,
 		      (htab->elf.sgot->output_section->vma
 		       + htab->elf.sgot->output_offset
@@ -4424,10 +4484,10 @@ elf_x86_64_finish_dynamic_sections (bfd 
 		       - htab->elf.splt->output_section->vma
 		       - htab->elf.splt->output_offset
 		       - htab->tlsdesc_plt
-		       - htab->lazy_plt->plt0_got2_insn_end),
+		       - htab->lazy_plt->plt_tlsdesc_got2_insn_end),
 		      (htab->elf.splt->contents
 		       + htab->tlsdesc_plt
-		       + htab->lazy_plt->plt0_got2_offset));
+		       + htab->lazy_plt->plt_tlsdesc_got2_offset));
 	}
     }
 
@@ -4515,7 +4575,7 @@ elf_x86_64_get_synthetic_symtab (bfd *ab
   if (relsize <= 0)
     return -1;
 
-  if (get_elf_x86_backend_data (abfd)->target_os == is_normal)
+  if (get_elf_x86_backend_data (abfd)->target_os != is_nacl)
     {
       lazy_plt = &elf_x86_64_lazy_plt;
       non_lazy_plt = &elf_x86_64_non_lazy_plt;
@@ -4866,8 +4926,7 @@ elf_x86_64_link_setup_gnu_properties (st
   /* This is unused for x86-64.  */
   init_table.plt0_pad_byte = 0x90;
 
-  if (get_elf_x86_backend_data (info->output_bfd)->target_os
-      == is_normal)
+  if (get_elf_x86_backend_data (info->output_bfd)->target_os != is_nacl)
     {
       if (info->bndplt)
 	{
@@ -4930,7 +4989,11 @@ elf_x86_64_special_sections[]=
 #define ELF_ARCH			    bfd_arch_i386
 #define ELF_TARGET_ID			    X86_64_ELF_DATA
 #define ELF_MACHINE_CODE		    EM_X86_64
-#define ELF_MAXPAGESIZE			    0x200000
+#if DEFAULT_LD_Z_SEPARATE_CODE
+# define ELF_MAXPAGESIZE		    0x1000
+#else
+# define ELF_MAXPAGESIZE		    0x200000
+#endif
 #define ELF_MINPAGESIZE			    0x1000
 #define ELF_COMMONPAGESIZE		    0x1000
 
@@ -4996,6 +5059,9 @@ elf_x86_64_special_sections[]=
 #define elf_backend_hide_symbol \
   _bfd_x86_elf_hide_symbol
 
+#undef	elf64_bed
+#define elf64_bed elf64_x86_64_bed
+
 #include "elf64-target.h"
 
 /* CloudABI support.  */
@@ -5035,6 +5101,14 @@ elf_x86_64_special_sections[]=
 #undef  TARGET_LITTLE_NAME
 #define TARGET_LITTLE_NAME		    "elf64-x86-64-sol2"
 
+static const struct elf_x86_backend_data elf_x86_64_solaris_arch_bed =
+  {
+    is_solaris				    /* os */
+  };
+
+#undef	elf_backend_arch_data
+#define	elf_backend_arch_data		    &elf_x86_64_solaris_arch_bed
+
 /* Restore default: we cannot use ELFOSABI_SOLARIS, otherwise ELFOSABI_NONE
    objects won't be recognized.  */
 #undef ELF_OSABI
@@ -5202,6 +5276,12 @@ static const struct elf_x86_lazy_plt_lay
     NACL_PLT_ENTRY_SIZE,		     /* plt0_entry_size */
     elf_x86_64_nacl_plt_entry,		     /* plt_entry */
     NACL_PLT_ENTRY_SIZE,		     /* plt_entry_size */
+    elf_x86_64_nacl_plt0_entry,		     /* plt_tlsdesc_entry */
+    NACL_PLT_ENTRY_SIZE,		     /* plt_tlsdesc_entry_size */
+    2,					     /* plt_tlsdesc_got1_offset */
+    9,					     /* plt_tlsdesc_got2_offset */
+    6,					     /* plt_tlsdesc_got1_insn_end */
+    13,					     /* plt_tlsdesc_got2_insn_end */
     2,					     /* plt0_got1_offset */
     9,					     /* plt0_got2_offset */
     13,					     /* plt0_got2_insn_end */
@@ -5272,6 +5352,9 @@ elf32_x86_64_nacl_elf_object_p (bfd *abf
 #define elf_backend_size_info \
   _bfd_elf32_size_info
 
+#undef	elf32_bed
+#define	elf32_bed			elf32_x86_64_bed
+
 #include "elf32-target.h"
 
 /* Restore defaults.  */
@@ -5315,7 +5398,11 @@ elf64_l1om_elf_object_p (bfd *abfd)
 #undef	ELF_MAXPAGESIZE
 #undef	ELF_MINPAGESIZE
 #undef	ELF_COMMONPAGESIZE
-#define ELF_MAXPAGESIZE			0x200000
+#if DEFAULT_LD_Z_SEPARATE_CODE
+# define ELF_MAXPAGESIZE		0x1000
+#else
+# define ELF_MAXPAGESIZE		0x200000
+#endif
 #define ELF_MINPAGESIZE			0x1000
 #define ELF_COMMONPAGESIZE		0x1000
 #undef	elf_backend_plt_alignment
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-attrs.c ./bfd/elf-attrs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-attrs.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf-attrs.c	2018-07-10 02:06:11.000000000 +0000
@@ -42,6 +42,8 @@ uleb128_size (unsigned int i)
 static bfd_boolean
 is_default_attr (obj_attribute *attr)
 {
+  if (ATTR_TYPE_HAS_ERROR (attr->type))
+    return TRUE;
   if (ATTR_TYPE_HAS_INT_VAL (attr->type) && attr->i != 0)
     return FALSE;
   if (ATTR_TYPE_HAS_STR_VAL (attr->type) && attr->s && *attr->s)
@@ -438,6 +440,15 @@ _bfd_elf_parse_attributes (bfd *abfd, El
   /* PR 17512: file: 2844a11d.  */
   if (hdr->sh_size == 0)
     return;
+  if (hdr->sh_size > bfd_get_file_size (abfd))
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: error: attribute section '%pA' too big: %#llx"),
+			  abfd, hdr->bfd_section, (long long) hdr->sh_size);
+      bfd_set_error (bfd_error_invalid_operation);
+      return;
+    }
+
   contents = (bfd_byte *) bfd_malloc (hdr->sh_size + 1);
   if (!contents)
     return;
@@ -472,8 +483,9 @@ _bfd_elf_parse_attributes (bfd *abfd, El
 	  len -= section_len;
 	  if (section_len <= 4)
 	    {
-	      _bfd_error_handler (_("%B: error: attribute section length too small: %ld"),
-				  abfd, section_len);
+	      _bfd_error_handler
+		(_("%pB: error: attribute section length too small: %" PRId64),
+		 abfd, (int64_t) section_len);
 	      break;
 	    }
 	  section_len -= 4;
@@ -600,7 +612,7 @@ _bfd_elf_merge_object_attributes (bfd *i
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-		(_("error: %B: Object has vendor-specific contents that "
+		(_("error: %pB: object has vendor-specific contents that "
 		   "must be processed by the '%s' toolchain"),
 		 ibfd, in_attr->s);
 	  return FALSE;
@@ -610,7 +622,7 @@ _bfd_elf_merge_object_attributes (bfd *i
 	  || (in_attr->i != 0 && strcmp (in_attr->s, out_attr->s) != 0))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("error: %B: Object tag '%d, %s' is "
+	  _bfd_error_handler (_("error: %pB: object tag '%d, %s' is "
 				"incompatible with tag '%d, %s'"),
 			      ibfd,
 			      in_attr->i, in_attr->s ? in_attr->s : "",
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-bfd.h ./bfd/elf-bfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-bfd.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf-bfd.h	2018-07-10 02:06:11.000000000 +0000
@@ -543,6 +543,9 @@ struct elf_link_hash_table
      when linking against or generating a shared object.  */
   bfd_boolean dynamic_sections_created;
 
+  /* Whether dynamic relocations are present.  */
+  bfd_boolean dynamic_relocs;
+
   /* True if this target has relocatable executables, so needs dynamic
      section symbols.  */
   bfd_boolean is_relocatable_executable;
@@ -864,6 +867,9 @@ struct elf_backend_data
   /* The common page size for this backend.  */
   bfd_vma commonpagesize;
 
+  /* The value of commonpagesize to use when -z relro for this backend.  */
+  bfd_vma relropagesize;
+
   /* The BFD flags applied to sections created for dynamic linking.  */
   flagword dynamic_sec_flags;
 
@@ -872,13 +878,13 @@ struct elf_backend_data
   const void *arch_data;
 
   /* A function to translate an ELF RELA relocation to a BFD arelent
-     structure.  */
-  void (*elf_info_to_howto)
+     structure.  Returns TRUE upon success, FALSE otherwise.  */
+  bfd_boolean (*elf_info_to_howto)
     (bfd *, arelent *, Elf_Internal_Rela *);
 
   /* A function to translate an ELF REL relocation to a BFD arelent
-     structure.  */
-  void (*elf_info_to_howto_rel)
+     structure.  Returns TRUE upon success, FALSE otherwise.  */
+  bfd_boolean (*elf_info_to_howto_rel)
     (bfd *, arelent *, Elf_Internal_Rela *);
 
   /* A function to determine whether a symbol is global when
@@ -1352,7 +1358,7 @@ struct elf_backend_data
     (bfd *);
 
   reloc_howto_type *(*elf_backend_mips_rtype_to_howto)
-    (unsigned int, bfd_boolean);
+    (bfd *, unsigned int, bfd_boolean);
 
   /* The swapping table to use when dealing with ECOFF information.
      Used for the MIPS ELF .mdebug section.  */
@@ -1668,6 +1674,7 @@ struct bfd_elf_section_data
 #define elf_linked_to_section(sec) (elf_section_data(sec)->linked_to)
 #define elf_section_type(sec)	(elf_section_data(sec)->this_hdr.sh_type)
 #define elf_section_flags(sec)	(elf_section_data(sec)->this_hdr.sh_flags)
+#define elf_section_info(sec)	(elf_section_data(sec)->this_hdr.sh_info)
 #define elf_group_name(sec)	(elf_section_data(sec)->group.name)
 #define elf_group_id(sec)	(elf_section_data(sec)->group.id)
 #define elf_next_in_group(sec)	(elf_section_data(sec)->next_in_group)
@@ -1692,17 +1699,20 @@ struct bfd_elf_section_data
 
 /* The value of an object attribute.  The type indicates whether the attribute
    holds and integer, a string, or both.  It can also indicate that there can
-   be no default (i.e. all values must be written to file, even zero).  */
+   be no default (i.e. all values must be written to file, even zero), or
+   that the value is in error and should not be written to file.  */
 
 typedef struct obj_attribute
 {
 #define ATTR_TYPE_FLAG_INT_VAL    (1 << 0)
 #define ATTR_TYPE_FLAG_STR_VAL    (1 << 1)
 #define ATTR_TYPE_FLAG_NO_DEFAULT (1 << 2)
+#define ATTR_TYPE_FLAG_ERROR	  (1 << 3)
 
 #define ATTR_TYPE_HAS_INT_VAL(TYPE)	((TYPE) & ATTR_TYPE_FLAG_INT_VAL)
 #define ATTR_TYPE_HAS_STR_VAL(TYPE)	((TYPE) & ATTR_TYPE_FLAG_STR_VAL)
 #define ATTR_TYPE_HAS_NO_DEFAULT(TYPE)	((TYPE) & ATTR_TYPE_FLAG_NO_DEFAULT)
+#define ATTR_TYPE_HAS_ERROR(TYPE)	((TYPE) & ATTR_TYPE_FLAG_ERROR)
 
   int type;
   unsigned int i;
@@ -1909,6 +1919,10 @@ struct elf_obj_tdata
   Elf_Internal_Shdr **group_sect_ptr;
   int num_group;
 
+  /* Index into group_sect_ptr, updated by setup_group when finding a
+     section's group.  Used to optimize subsequent group searches.  */
+  unsigned int group_search_offset;
+
   unsigned int symtab_section, dynsymtab_section;
   unsigned int dynversym_section, dynverdef_section, dynverref_section;
 
@@ -2078,6 +2092,8 @@ extern void _bfd_elf_link_hash_copy_indi
    struct elf_link_hash_entry *);
 extern void _bfd_elf_link_hash_hide_symbol
   (struct bfd_link_info *, struct elf_link_hash_entry *, bfd_boolean);
+extern void _bfd_elf_link_hide_symbol
+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *);
 extern bfd_boolean _bfd_elf_link_hash_fixup_symbol
   (struct bfd_link_info *, struct elf_link_hash_entry *);
 extern bfd_boolean _bfd_elf_link_hash_table_init
@@ -2176,8 +2192,11 @@ extern const struct bfd_elf_special_sect
 extern const struct bfd_elf_special_section *_bfd_elf_get_sec_type_attr
   (bfd *, asection *);
 
+extern bfd_boolean _bfd_elf_link_hide_sym_by_version
+  (struct bfd_link_info *, struct elf_link_hash_entry *);
+
 /* If the target doesn't have reloc handling written yet:  */
-extern void _bfd_elf_no_info_to_howto
+extern bfd_boolean _bfd_elf_no_info_to_howto
   (bfd *, arelent *, Elf_Internal_Rela *);
 
 extern bfd_boolean bfd_section_from_shdr
@@ -2266,7 +2285,9 @@ extern bfd_boolean _bfd_elf_validate_rel
 
 extern bfd_boolean _bfd_elf_link_create_dynamic_sections
   (bfd *, struct bfd_link_info *);
-extern bfd_boolean _bfd_elf_link_omit_section_dynsym
+extern bfd_boolean _bfd_elf_omit_section_dynsym_default
+  (bfd *, struct bfd_link_info *, asection *);
+extern bfd_boolean _bfd_elf_omit_section_dynsym_all
   (bfd *, struct bfd_link_info *, asection *);
 extern bfd_boolean _bfd_elf_create_dynamic_sections
   (bfd *, struct bfd_link_info *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf.c ./bfd/elf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf.c	2018-07-10 02:06:11.000000000 +0000
@@ -298,6 +298,7 @@ bfd_elf_get_str_section (bfd *abfd, unsi
       /* Allocate and clear an extra byte at the end, to prevent crashes
 	 in case the string table is not terminated.  */
       if (shstrtabsize + 1 <= 1
+	  || shstrtabsize > bfd_get_file_size (abfd)
 	  || bfd_seek (abfd, offset, SEEK_SET) != 0
 	  || (shstrtab = (bfd_byte *) bfd_alloc (abfd, shstrtabsize + 1)) == NULL)
 	shstrtab = NULL;
@@ -340,7 +341,7 @@ bfd_elf_string_from_elf_section (bfd *ab
 	{
 	  /* PR 17512: file: f057ec89.  */
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: attempt to load strings from"
+	  _bfd_error_handler (_("%pB: attempt to load strings from"
 				" a non-string section (number %d)"),
 			      abfd, shindex);
 	  return NULL;
@@ -355,8 +356,8 @@ bfd_elf_string_from_elf_section (bfd *ab
       unsigned int shstrndx = elf_elfheader(abfd)->e_shstrndx;
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: invalid string offset %u >= %Lu for section `%s'"),
-	 abfd, strindex, hdr->sh_size,
+	(_("%pB: invalid string offset %u >= %" PRIu64 " for section `%s'"),
+	 abfd, strindex, (uint64_t) hdr->sh_size,
 	 (shindex == shstrndx && strindex == hdr->sh_name
 	  ? ".shstrtab"
 	  : bfd_elf_string_from_elf_section (abfd, shstrndx, hdr->sh_name)));
@@ -494,7 +495,7 @@ bfd_elf_get_elf_syms (bfd *ibfd,
       {
 	symoffset += (esym - (bfd_byte *) extsym_buf) / extsym_size;
 	/* xgettext:c-format */
-	_bfd_error_handler (_("%B symbol number %lu references"
+	_bfd_error_handler (_("%pB symbol number %lu references"
 			      " nonexistent SHT_SYMTAB_SHNDX section"),
 			    ibfd, (unsigned long) symoffset);
 	if (alloc_intsym != NULL)
@@ -627,7 +628,8 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 	      bfd_alloc2 (abfd, num_group, sizeof (Elf_Internal_Shdr *));
 	  if (elf_tdata (abfd)->group_sect_ptr == NULL)
 	    return FALSE;
-	  memset (elf_tdata (abfd)->group_sect_ptr, 0, num_group * sizeof (Elf_Internal_Shdr *));
+	  memset (elf_tdata (abfd)->group_sect_ptr, 0,
+		  num_group * sizeof (Elf_Internal_Shdr *));
 	  num_group = 0;
 
 	  for (i = 0; i < shnum; i++)
@@ -658,8 +660,9 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: corrupt size field in group section"
-			   " header: %#Lx"), abfd, shdr->sh_size);
+			(_("%pB: corrupt size field in group section"
+			   " header: %#" PRIx64),
+			 abfd, (uint64_t) shdr->sh_size);
 		      bfd_set_error (bfd_error_bad_value);
 		      -- num_group;
 		      continue;
@@ -673,8 +676,9 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: invalid size field in group section"
-			   " header: %#Lx"), abfd, shdr->sh_size);
+			(_("%pB: invalid size field in group section"
+			   " header: %#" PRIx64 ""),
+			 abfd, (uint64_t) shdr->sh_size);
 		      bfd_set_error (bfd_error_bad_value);
 		      -- num_group;
 		      /* PR 17510: If the group contents are even
@@ -706,13 +710,24 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 			      |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD;
 			  break;
 			}
-		      if (idx >= shnum)
+		      if (idx < shnum)
+			{
+			  dest->shdr = elf_elfsections (abfd)[idx];
+			  /* PR binutils/23199: All sections in a
+			     section group should be marked with
+			     SHF_GROUP.  But some tools generate
+			     broken objects without SHF_GROUP.  Fix
+			     them up here.  */
+			  dest->shdr->sh_flags |= SHF_GROUP;
+			}
+		      if (idx >= shnum
+			  || dest->shdr->sh_type == SHT_GROUP)
 			{
 			  _bfd_error_handler
-			    (_("%B: invalid SHT_GROUP entry"), abfd);
-			  idx = 0;
+			    (_("%pB: invalid entry in SHT_GROUP section [%u]"),
+			       abfd, i);
+			  dest->shdr = NULL;
 			}
-		      dest->shdr = elf_elfsections (abfd)[idx];
 		    }
 		}
 	    }
@@ -728,7 +743,7 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 		  elf_tdata (abfd)->group_sect_ptr = NULL;
 		  elf_tdata (abfd)->num_group = num_group = -1;
 		  _bfd_error_handler
-		    (_("%B: no valid group sections found"), abfd);
+		    (_("%pB: no valid group sections found"), abfd);
 		  bfd_set_error (bfd_error_bad_value);
 		}
 	    }
@@ -737,10 +752,14 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 
   if (num_group != (unsigned) -1)
     {
-      unsigned int i;
+      unsigned int search_offset = elf_tdata (abfd)->group_search_offset;
+      unsigned int j;
 
-      for (i = 0; i < num_group; i++)
+      for (j = 0; j < num_group; j++)
 	{
+	  /* Begin search from previous found group.  */
+	  unsigned i = (j + search_offset) % num_group;
+
 	  Elf_Internal_Shdr *shdr = elf_tdata (abfd)->group_sect_ptr[i];
 	  Elf_Internal_Group *idx;
 	  bfd_size_type n_elt;
@@ -753,7 +772,7 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 	    {
 	      /* See PR 21957 for a reproducer.  */
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B: group section '%A' has no contents"),
+	      _bfd_error_handler (_("%pB: group section '%pA' has no contents"),
 				  abfd, shdr->bfd_section);
 	      elf_tdata (abfd)->group_sect_ptr[i] = NULL;
 	      bfd_set_error (bfd_error_bad_value);
@@ -774,7 +793,8 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 		idx = (Elf_Internal_Group *) shdr->contents;
 		n_elt = shdr->sh_size / 4;
 		while (--n_elt != 0)
-		  if ((s = (++idx)->shdr->bfd_section) != NULL
+		  if ((++idx)->shdr != NULL
+		      && (s = idx->shdr->bfd_section) != NULL
 		      && elf_next_in_group (s) != NULL)
 		    break;
 		if (n_elt != 0)
@@ -803,7 +823,8 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 		if (shdr->bfd_section != NULL)
 		  elf_next_in_group (shdr->bfd_section) = newsect;
 
-		i = num_group - 1;
+		elf_tdata (abfd)->group_search_offset = i;
+		j = num_group - 1;
 		break;
 	      }
 	}
@@ -812,7 +833,7 @@ setup_group (bfd *abfd, Elf_Internal_Shd
   if (elf_group_name (newsect) == NULL)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: no group info for section '%A'"),
+      _bfd_error_handler (_("%pB: no group info for section '%pA'"),
 			  abfd, newsect);
       return FALSE;
     }
@@ -843,7 +864,7 @@ _bfd_elf_setup_sections (bfd *abfd)
 	      if (bed->link_order_error_handler)
 		bed->link_order_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: warning: sh_link not set for section `%A'"),
+		  (_("%pB: warning: sh_link not set for section `%pA'"),
 		   abfd, s);
 	    }
 	  else
@@ -863,7 +884,7 @@ _bfd_elf_setup_sections (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: sh_link [%d] in section `%A' is incorrect"),
+		    (_("%pB: sh_link [%d] in section `%pA' is incorrect"),
 		     s->owner, elfsec, s);
 		  result = FALSE;
 		}
@@ -876,7 +897,7 @@ _bfd_elf_setup_sections (bfd *abfd)
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"),
+	    (_("%pB: SHT_GROUP section [index %d] has no SHF_GROUP sections"),
 	     abfd, elf_section_data (s)->this_idx);
 	  result = FALSE;
 	}
@@ -897,7 +918,7 @@ _bfd_elf_setup_sections (bfd *abfd)
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: section group entry number %u is corrupt"),
+	    (_("%pB: section group entry number %u is corrupt"),
 	     abfd, i);
 	  result = FALSE;
 	  continue;
@@ -920,7 +941,7 @@ _bfd_elf_setup_sections (bfd *abfd)
 	      /* There are some unknown sections in the group.  */
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: unknown type [%#x] section `%s' in group [%A]"),
+		(_("%pB: unknown type [%#x] section `%s' in group [%pA]"),
 		 abfd,
 		 idx->shdr->sh_type,
 		 bfd_elf_string_from_elf_section (abfd,
@@ -1190,7 +1211,7 @@ _bfd_elf_make_section_from_shdr (bfd *ab
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: unable to initialize compress status for section %s"),
+		(_("%pB: unable to initialize compress status for section %s"),
 		 abfd, name);
 	      return FALSE;
 	    }
@@ -1201,7 +1222,7 @@ _bfd_elf_make_section_from_shdr (bfd *ab
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: unable to initialize decompress status for section %s"),
+		(_("%pB: unable to initialize decompress status for section %s"),
 		 abfd, name);
 	      return FALSE;
 	    }
@@ -1382,7 +1403,7 @@ copy_special_section_fields (const bfd *
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: Invalid sh_link field (%d) in section number %d"),
+	    (_("%pB: invalid sh_link field (%d) in section number %d"),
 	     ibfd, iheader->sh_link, secnum);
 	  return FALSE;
 	}
@@ -1398,7 +1419,7 @@ copy_special_section_fields (const bfd *
 	   if we could not find a match ?  */
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: Failed to find link section for section %d"), obfd, secnum);
+	  (_("%pB: failed to find link section for section %d"), obfd, secnum);
     }
 
   if (iheader->sh_info)
@@ -1425,7 +1446,7 @@ copy_special_section_fields (const bfd *
       else
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: Failed to find info section for section %d"), obfd, secnum);
+	  (_("%pB: failed to find info section for section %d"), obfd, secnum);
     }
 
   return changed;
@@ -1844,7 +1865,10 @@ _bfd_elf_get_symbol_version_string (bfd 
 
       if (vernum == 0)
 	version_string = "";
-      else if (vernum == 1)
+      else if (vernum == 1
+	       && (vernum > elf_tdata (abfd)->cverdefs
+		   || (elf_tdata (abfd)->verdef[0].vd_flags
+		       == VER_FLG_BASE)))
 	version_string = "Base";
       else if (vernum <= elf_tdata (abfd)->cverdefs)
 	version_string =
@@ -2008,7 +2032,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
       if (sections_being_created [shindex])
 	{
 	  _bfd_error_handler
-	    (_("%B: warning: loop in section dependencies detected"), abfd);
+	    (_("%pB: warning: loop in section dependencies detected"), abfd);
 	  return FALSE;
 	}
       sections_being_created [shindex] = TRUE;
@@ -2116,7 +2140,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: warning: multiple symbol tables detected"
+	    (_("%pB: warning: multiple symbol tables detected"
 	       " - ignoring the table in section %u"),
 	     abfd, shindex);
 	  goto success;
@@ -2200,7 +2224,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: warning: multiple dynamic symbol tables detected"
+	    (_("%pB: warning: multiple dynamic symbol tables detected"
 	       " - ignoring the table in section %u"),
 	     abfd, shindex);
 	  goto success;
@@ -2313,7 +2337,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	  {
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: invalid link %u for reloc section %s (index %u)"),
+	      (_("%pB: invalid link %u for reloc section %s (index %u)"),
 	       abfd, hdr->sh_link, name, shindex);
 	    ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name,
 						   shindex);
@@ -2472,7 +2496,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	       for applications?  */
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: unknown type [%#x] section `%s'"),
+	      (_("%pB: unknown type [%#x] section `%s'"),
 	       abfd, hdr->sh_type, name);
 	  else
 	    {
@@ -2487,7 +2511,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	/* FIXME: We should handle this section.  */
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: unknown type [%#x] section `%s'"),
+	  (_("%pB: unknown type [%#x] section `%s'"),
 	   abfd, hdr->sh_type, name);
       else if (hdr->sh_type >= SHT_LOOS && hdr->sh_type <= SHT_HIOS)
 	{
@@ -2498,7 +2522,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	       be rejected with an error message.  */
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: unknown type [%#x] section `%s'"),
+	      (_("%pB: unknown type [%#x] section `%s'"),
 	       abfd, hdr->sh_type, name);
 	  else
 	    {
@@ -2511,7 +2535,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	/* FIXME: We should handle this section.  */
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: unknown type [%#x] section `%s'"),
+	  (_("%pB: unknown type [%#x] section `%s'"),
 	   abfd, hdr->sh_type, name);
 
       goto fail;
@@ -3216,7 +3240,7 @@ elf_fake_sections (bfd *abfd, asection *
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: error: Alignment power %d of section `%A' is too big"),
+	(_("%pB: error: alignment power %d of section `%pA' is too big"),
 	 abfd, asect->alignment_power, asect);
       arg->failed = TRUE;
       return;
@@ -3246,7 +3270,7 @@ elf_fake_sections (bfd *abfd, asection *
 	 non-bss input sections to bss output sections, or emit data
 	 to a bss output section via a linker script.  */
       _bfd_error_handler
-	(_("warning: section `%A' type changed to PROGBITS"), asect);
+	(_("warning: section `%pA' type changed to PROGBITS"), asect);
       this_hdr->sh_type = sh_type;
     }
 
@@ -3722,7 +3746,7 @@ assign_section_numbers (bfd *abfd, struc
   if (section_number >= SHN_LORESERVE)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: too many sections: %u"),
+      _bfd_error_handler (_("%pB: too many sections: %u"),
 			  abfd, section_number);
       return FALSE;
     }
@@ -3807,8 +3831,8 @@ assign_section_numbers (bfd *abfd, struc
 		      asection *kept;
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: sh_link of section `%A' points to"
-			   " discarded section `%A' of `%B'"),
+			(_("%pB: sh_link of section `%pA' points to"
+			   " discarded section `%pA' of `%pB'"),
 			 abfd, d->this_hdr.bfd_section,
 			 s, s->owner);
 		      /* Point to the kept section if it has the same
@@ -3832,8 +3856,8 @@ assign_section_numbers (bfd *abfd, struc
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: sh_link of section `%A' points to"
-			   " removed section `%A' of `%B'"),
+			(_("%pB: sh_link of section `%pA' points to"
+			   " removed section `%pA' of `%pB'"),
 			 abfd, d->this_hdr.bfd_section, s, s->owner);
 		      bfd_set_error (bfd_error_bad_value);
 		      return FALSE;
@@ -3854,7 +3878,7 @@ assign_section_numbers (bfd *abfd, struc
 	      if (bed->link_order_error_handler)
 		bed->link_order_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: warning: sh_link not set for section `%A'"),
+		  (_("%pB: warning: sh_link not set for section `%pA'"),
 		   abfd, sec);
 	    }
 	}
@@ -4015,15 +4039,22 @@ ignore_section_sym (bfd *abfd, asymbol *
 {
   elf_symbol_type *type_ptr;
 
+  if (sym == NULL)
+    return FALSE;
+
   if ((sym->flags & BSF_SECTION_SYM) == 0)
     return FALSE;
 
+  if (sym->section == NULL)
+    return TRUE;
+
   type_ptr = elf_symbol_from (abfd, sym);
   return ((type_ptr != NULL
 	   && type_ptr->internal_elf_sym.st_shndx != 0
 	   && bfd_is_abs_section (sym->section))
 	  || !(sym->section->owner == abfd
-	       || (sym->section->output_section->owner == abfd
+	       || (sym->section->output_section != NULL
+		   && sym->section->output_section->owner == abfd
 		   && sym->section->output_offset == 0)
 	       || bfd_is_abs_section (sym->section)));
 }
@@ -4384,7 +4415,7 @@ get_program_header_size (bfd *abfd, stru
 	     {
 	       _bfd_error_handler
 		 /* xgettext:c-format */
-		 (_("%B: GNU_MBIN section `%A' has invalid sh_info field: %d"),
+		 (_("%pB: GNU_MBIN section `%pA' has invalid sh_info field: %d"),
 		     abfd, s, elf_section_data (s)->this_hdr.sh_info);
 	       continue;
 	     }
@@ -4537,6 +4568,9 @@ elf_modify_segment_map (bfd *abfd,
   return TRUE;
 }
 
+#define IS_TBSS(s) \
+  ((s->flags & (SEC_THREAD_LOCAL | SEC_LOAD)) == SEC_THREAD_LOCAL)
+
 /* Set up a mapping from BFD sections to program segments.  */
 
 bfd_boolean
@@ -4566,6 +4600,7 @@ _bfd_elf_map_sections_to_segments (bfd *
       asection **hdrpp;
       bfd_boolean phdr_in_segment = TRUE;
       bfd_boolean writable;
+      bfd_boolean executable;
       int tls_count = 0;
       asection *first_tls = NULL;
       asection *first_mbind = NULL;
@@ -4654,6 +4689,7 @@ _bfd_elf_map_sections_to_segments (bfd *
       if (maxpagesize == 0)
 	maxpagesize = 1;
       writable = FALSE;
+      executable = FALSE;
       dynsec = bfd_get_section_by_name (abfd, ".dynamic");
       if (dynsec != NULL
 	  && (dynsec->flags & SEC_LOAD) == 0)
@@ -4720,33 +4756,35 @@ _bfd_elf_map_sections_to_segments (bfd *
 		 the previous section, then we need a new segment.  */
 	      new_segment = TRUE;
 	    }
+	  else if ((abfd->flags & D_PAGED) != 0
+		   && (((last_hdr->lma + last_size - 1) & -maxpagesize)
+		       == (hdr->lma & -maxpagesize)))
+	    {
+	      /* If we are demand paged then we can't map two disk
+		 pages onto the same memory page.  */
+	      new_segment = FALSE;
+	    }
 	  /* In the next test we have to be careful when last_hdr->lma is close
 	     to the end of the address space.  If the aligned address wraps
 	     around to the start of the address space, then there are no more
 	     pages left in memory and it is OK to assume that the current
 	     section can be included in the current segment.  */
-	  else if ((BFD_ALIGN (last_hdr->lma + last_size, maxpagesize) + maxpagesize
-		    > last_hdr->lma)
-		   && (BFD_ALIGN (last_hdr->lma + last_size, maxpagesize) + maxpagesize
-		       <= hdr->lma))
+	  else if ((BFD_ALIGN (last_hdr->lma + last_size, maxpagesize)
+		    + maxpagesize > last_hdr->lma)
+		   && (BFD_ALIGN (last_hdr->lma + last_size, maxpagesize)
+		       + maxpagesize <= hdr->lma))
 	    {
 	      /* If putting this section in this segment would force us to
 		 skip a page in the segment, then we need a new segment.  */
 	      new_segment = TRUE;
 	    }
 	  else if ((last_hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) == 0
-		   && (hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) != 0
-		   && ((abfd->flags & D_PAGED) == 0
-		       || (((last_hdr->lma + last_size - 1) & -maxpagesize)
-			   != (hdr->lma & -maxpagesize))))
+		   && (hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) != 0)
 	    {
 	      /* We don't want to put a loaded section after a
 		 nonloaded (ie. bss style) section in the same segment
 		 as that will force the non-loaded section to be loaded.
-		 Consider .tbss sections as loaded for this purpose.
-		 However, like the writable/non-writable case below,
-		 if they are on the same page then they must be put
-		 in the same segment.  */
+		 Consider .tbss sections as loaded for this purpose.  */
 	      new_segment = TRUE;
 	    }
 	  else if ((abfd->flags & D_PAGED) == 0)
@@ -4756,18 +4794,17 @@ _bfd_elf_map_sections_to_segments (bfd *
 		 file, then there is no other reason for a new segment.  */
 	      new_segment = FALSE;
 	    }
+	  else if (info != NULL
+		   && info->separate_code
+		   && executable != ((hdr->flags & SEC_CODE) != 0))
+	    {
+	      new_segment = TRUE;
+	    }
 	  else if (! writable
-		   && (hdr->flags & SEC_READONLY) == 0
-		   && (((last_hdr->lma + last_size - 1) & -maxpagesize)
-		       != (hdr->lma & -maxpagesize)))
+		   && (hdr->flags & SEC_READONLY) == 0)
 	    {
 	      /* We don't want to put a writable section in a read only
-		 segment, unless they are on the same page in memory
-		 anyhow.  We already know that the last section does not
-		 bring us past the current section on the page, so the
-		 only case in which the new section is not on the same
-		 page as the previous section is when the previous section
-		 ends precisely on a page boundary.  */
+		 segment.  */
 	      new_segment = TRUE;
 	    }
 	  else
@@ -4789,13 +4826,11 @@ _bfd_elf_map_sections_to_segments (bfd *
 	    {
 	      if ((hdr->flags & SEC_READONLY) == 0)
 		writable = TRUE;
+	      if ((hdr->flags & SEC_CODE) != 0)
+		executable = TRUE;
 	      last_hdr = hdr;
 	      /* .tbss sections effectively have zero size.  */
-	      if ((hdr->flags & (SEC_THREAD_LOCAL | SEC_LOAD))
-		  != SEC_THREAD_LOCAL)
-		last_size = hdr->size;
-	      else
-		last_size = 0;
+	      last_size = !IS_TBSS (hdr) ? hdr->size : 0;
 	      continue;
 	    }
 
@@ -4814,12 +4849,14 @@ _bfd_elf_map_sections_to_segments (bfd *
 	  else
 	    writable = FALSE;
 
+	  if ((hdr->flags & SEC_CODE) == 0)
+	    executable = FALSE;
+	  else
+	    executable = TRUE;
+
 	  last_hdr = hdr;
 	  /* .tbss sections effectively have zero size.  */
-	  if ((hdr->flags & (SEC_THREAD_LOCAL | SEC_LOAD)) != SEC_THREAD_LOCAL)
-	    last_size = hdr->size;
-	  else
-	    last_size = 0;
+	  last_size = !IS_TBSS (hdr) ? hdr->size : 0;
 	  phdr_index = i;
 	  phdr_in_segment = FALSE;
 	}
@@ -4828,8 +4865,7 @@ _bfd_elf_map_sections_to_segments (bfd *
 	 for .tbss.  */
       if (last_hdr != NULL
 	  && (i - phdr_index != 1
-	      || ((last_hdr->flags & (SEC_THREAD_LOCAL | SEC_LOAD))
-		  != SEC_THREAD_LOCAL)))
+	      || !IS_TBSS (last_hdr)))
 	{
 	  m = make_mapping (abfd, sections, phdr_index, i, phdr_in_segment);
 	  if (m == NULL)
@@ -4925,18 +4961,18 @@ _bfd_elf_map_sections_to_segments (bfd *
 	      if ((s->flags & SEC_THREAD_LOCAL) == 0)
 		{
 		  _bfd_error_handler
-		    (_("%B: TLS sections are not adjacent:"), abfd);
+		    (_("%pB: TLS sections are not adjacent:"), abfd);
 		  s = first_tls;
 		  i = 0;
 		  while (i < (unsigned int) tls_count)
 		    {
 		      if ((s->flags & SEC_THREAD_LOCAL) != 0)
 			{
-			  _bfd_error_handler (_("	    TLS: %A"), s);
+			  _bfd_error_handler (_("	    TLS: %pA"), s);
 			  i++;
 			}
 		      else
-			_bfd_error_handler (_("	non-TLS: %A"), s);
+			_bfd_error_handler (_("	non-TLS: %pA"), s);
 		      s = s->next;
 		    }
 		  bfd_set_error (bfd_error_bad_value);
@@ -5432,7 +5468,7 @@ assign_file_positions_for_load_sections 
 	       && strcmp (m->sections[0]->name, ".dynamic") != 0)
 	{
 	  _bfd_error_handler
-	    (_("%B: The first section in the PT_DYNAMIC segment"
+	    (_("%pB: The first section in the PT_DYNAMIC segment"
 	       " is not the .dynamic section"),
 	     abfd);
 	  bfd_set_error (bfd_error_bad_value);
@@ -5460,7 +5496,7 @@ assign_file_positions_for_load_sections 
 		      && p->p_paddr < (bfd_vma) off))
 		{
 		  _bfd_error_handler
-		    (_("%B: Not enough room for program headers,"
+		    (_("%pB: not enough room for program headers,"
 		       " try linking with -N"),
 		     abfd);
 		  bfd_set_error (bfd_error_bad_value);
@@ -5548,8 +5584,8 @@ assign_file_positions_for_load_sections 
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: section %A lma %#Lx adjusted to %#Lx"),
-		     abfd, sec, s_start, p_end);
+		    (_("%pB: section %pA lma %#" PRIx64 " adjusted to %#" PRIx64),
+		     abfd, sec, (uint64_t) s_start, (uint64_t) p_end);
 		  adjust = 0;
 		  sec->lma = p_end;
 		}
@@ -5685,7 +5721,7 @@ assign_file_positions_for_load_sections 
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: section `%A' can't be allocated in segment %d"),
+		    (_("%pB: section `%pA' can't be allocated in segment %d"),
 		     abfd, sec, j);
 		  print_segment_map (m);
 		}
@@ -5733,7 +5769,7 @@ assign_file_positions_for_non_load_secti
 	  if (hdr->sh_size != 0)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: warning: allocated section `%s' not in segment"),
+	      (_("%pB: warning: allocated section `%s' not in segment"),
 	       abfd,
 	       (hdr->bfd_section == NULL
 		? "*unknown*"
@@ -5846,65 +5882,100 @@ assign_file_positions_for_non_load_secti
     {
       if (p->p_type == PT_GNU_RELRO)
 	{
-	  const Elf_Internal_Phdr *lp;
-	  struct elf_segment_map *lm;
+	  bfd_vma start, end;
+	  bfd_boolean ok;
 
 	  if (link_info != NULL)
 	    {
 	      /* During linking the range of the RELRO segment is passed
-		 in link_info.  */
+		 in link_info.  Note that there may be padding between
+		 relro_start and the first RELRO section.  */
+	      start = link_info->relro_start;
+	      end = link_info->relro_end;
+	    }
+	  else if (m->count != 0)
+	    {
+	      if (!m->p_size_valid)
+		abort ();
+	      start = m->sections[0]->vma;
+	      end = start + m->p_size;
+	    }
+	  else
+	    {
+	      start = 0;
+	      end = 0;
+	    }
+
+	  ok = FALSE;
+	  if (start < end)
+	    {
+	      struct elf_segment_map *lm;
+	      const Elf_Internal_Phdr *lp;
+	      unsigned int i;
+
+	      /* Find a LOAD segment containing a section in the RELRO
+		 segment.  */
 	      for (lm = elf_seg_map (abfd), lp = phdrs;
 		   lm != NULL;
 		   lm = lm->next, lp++)
 		{
 		  if (lp->p_type == PT_LOAD
-		      && lp->p_vaddr < link_info->relro_end
 		      && lm->count != 0
-		      && lm->sections[0]->vma >= link_info->relro_start)
+		      && (lm->sections[lm->count - 1]->vma
+			  + (!IS_TBSS (lm->sections[lm->count - 1])
+			     ? lm->sections[lm->count - 1]->size
+			     : 0)) > start
+		      && lm->sections[0]->vma < end)
 		    break;
 		}
 
-	      BFD_ASSERT (lm != NULL);
-	    }
-	  else
-	    {
-	      /* Otherwise we are copying an executable or shared
-		 library, but we need to use the same linker logic.  */
-	      for (lp = phdrs; lp < phdrs + count; ++lp)
+	      if (lm != NULL)
 		{
-		  if (lp->p_type == PT_LOAD
-		      && lp->p_paddr == p->p_paddr)
-		    break;
-		}
-	    }
+		  /* Find the section starting the RELRO segment.  */
+		  for (i = 0; i < lm->count; i++)
+		    {
+		      asection *s = lm->sections[i];
+		      if (s->vma >= start
+			  && s->vma < end
+			  && s->size != 0)
+			break;
+		    }
 
-	  if (lp < phdrs + count)
-	    {
-	      p->p_vaddr = lp->p_vaddr;
-	      p->p_paddr = lp->p_paddr;
-	      p->p_offset = lp->p_offset;
-	      if (link_info != NULL)
-		p->p_filesz = link_info->relro_end - lp->p_vaddr;
-	      else if (m->p_size_valid)
-		p->p_filesz = m->p_size;
-	      else
-		abort ();
-	      p->p_memsz = p->p_filesz;
-	      /* Preserve the alignment and flags if they are valid. The
-		 gold linker generates RW/4 for the PT_GNU_RELRO section.
-		 It is better for objcopy/strip to honor these attributes
-		 otherwise gdb will choke when using separate debug files.
-	       */
-	      if (!m->p_align_valid)
-		p->p_align = 1;
-	      if (!m->p_flags_valid)
-		p->p_flags = PF_R;
-	    }
-	  else
-	    {
-	      memset (p, 0, sizeof *p);
-	      p->p_type = PT_NULL;
+		  if (i < lm->count)
+		    {
+		      p->p_vaddr = lm->sections[i]->vma;
+		      p->p_paddr = lm->sections[i]->lma;
+		      p->p_offset = lm->sections[i]->filepos;
+		      p->p_memsz = end - p->p_vaddr;
+		      p->p_filesz = p->p_memsz;
+
+		      /* The RELRO segment typically ends a few bytes
+			 into .got.plt but other layouts are possible.
+			 In cases where the end does not match any
+			 loaded section (for instance is in file
+			 padding), trim p_filesz back to correspond to
+			 the end of loaded section contents.  */
+		      if (p->p_filesz > lp->p_vaddr + lp->p_filesz - p->p_vaddr)
+			p->p_filesz = lp->p_vaddr + lp->p_filesz - p->p_vaddr;
+
+		      /* Preserve the alignment and flags if they are
+			 valid.  The gold linker generates RW/4 for
+			 the PT_GNU_RELRO section.  It is better for
+			 objcopy/strip to honor these attributes
+			 otherwise gdb will choke when using separate
+			 debug files.  */
+		      if (!m->p_align_valid)
+			p->p_align = 1;
+		      if (!m->p_flags_valid)
+			p->p_flags = PF_R;
+		      ok = TRUE;
+		    }
+		}
 	    }
+	  if (link_info != NULL)
+	    BFD_ASSERT (ok);
+	  if (!ok)
+	    memset (p, 0, sizeof *p);
 	}
       else if (p->p_type == PT_GNU_STACK)
 	{
@@ -5931,7 +6002,7 @@ assign_file_positions_for_non_load_secti
 		{
 		  /* PR 17512: file: 2195325e.  */
 		  _bfd_error_handler
-		    (_("%B: error: non-load segment %d includes file header "
+		    (_("%pB: error: non-load segment %d includes file header "
 		       "and/or program header"),
 		     abfd, (int) (p - phdrs));
 		  return FALSE;
@@ -6080,9 +6151,7 @@ assign_file_positions_except_relocs (bfd
 	}
 
       /* Write out the program headers.  */
-      alloc = elf_program_header_size (abfd) / bed->s->sizeof_phdr;
-
-      /* Sort the program headers into the ordering required by the ELF standard.  */
+      alloc = elf_elfheader (abfd)->e_phnum;
       if (alloc == 0)
 	return TRUE;
 
@@ -6099,17 +6168,19 @@ assign_file_positions_except_relocs (bfd
 	 changed or the programs updated.  */
       if (alloc > 1
 	  && tdata->phdr[0].p_type == PT_PHDR
-	  && ! bed->elf_backend_allow_non_load_phdr (abfd, tdata->phdr, alloc)
+	  && (bed->elf_backend_allow_non_load_phdr == NULL
+	      || !bed->elf_backend_allow_non_load_phdr (abfd, tdata->phdr,
+							alloc))
 	  && tdata->phdr[1].p_type == PT_LOAD
 	  && (tdata->phdr[1].p_vaddr > tdata->phdr[0].p_vaddr
-	      || (tdata->phdr[1].p_vaddr + tdata->phdr[1].p_memsz)
-	      <  (tdata->phdr[0].p_vaddr + tdata->phdr[0].p_memsz)))
+	      || (tdata->phdr[1].p_vaddr + tdata->phdr[1].p_memsz
+		  < tdata->phdr[0].p_vaddr + tdata->phdr[0].p_memsz)))
 	{
 	  /* The fix for this error is usually to edit the linker script being
 	     used and set up the program headers manually.  Either that or
 	     leave room for the headers at the start of the SECTIONS.  */
-	  _bfd_error_handler (_("\
-%B: error: PHDR segment not covered by LOAD segment"),
+	  _bfd_error_handler (_("%pB: error: PHDR segment not covered"
+				" by LOAD segment"),
 			      abfd);
 	  return FALSE;
 	}
@@ -6339,7 +6410,8 @@ _bfd_elf_write_object_contents (bfd *abf
 	= _bfd_elf_strtab_offset (elf_shstrtab (abfd),
 				  i_shdrp[count]->sh_name);
       if (bed->elf_backend_section_processing)
-	(*bed->elf_backend_section_processing) (abfd, i_shdrp[count]);
+	if (!(*bed->elf_backend_section_processing) (abfd, i_shdrp[count]))
+	  return FALSE;
       if (i_shdrp[count]->contents)
 	{
 	  bfd_size_type amt = i_shdrp[count]->sh_size;
@@ -6452,7 +6524,7 @@ _bfd_elf_symbol_from_bfd_symbol (bfd *ab
 	 which is used in a relocation entry.  */
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: symbol `%s' required but not present"),
+	(_("%pB: symbol `%s' required but not present"),
 	 abfd, bfd_asymbol_name (asym_ptr));
       bfd_set_error (bfd_error_no_symbols);
       return -1;
@@ -6585,7 +6657,7 @@ rewrite_elf_program_header (bfd *ibfd, b
 	   : segment->p_vaddr != section->vma)				\
        || (strcmp (bfd_get_section_name (ibfd, section), ".dynamic")	\
 	   == 0))							\
-   && !section->segment_mark)
+   && (segment->p_type != PT_LOAD || !section->segment_mark))
 
 /* If the output section of a section in the input segment is NULL,
    it is removed from the corresponding output segment.   */
@@ -6713,13 +6785,11 @@ rewrite_elf_program_header (bfd *ibfd, b
       asection **sections;
       asection *output_section;
       unsigned int isec;
-      bfd_vma matching_lma;
-      bfd_vma suggested_lma;
+      asection *matching_lma;
+      asection *suggested_lma;
       unsigned int j;
       bfd_size_type amt;
       asection *first_section;
-      bfd_boolean first_matching_lma;
-      bfd_boolean first_suggested_lma;
 
       if (segment->p_type == PT_NULL)
 	continue;
@@ -6795,9 +6865,10 @@ rewrite_elf_program_header (bfd *ibfd, b
 	  if (segment->p_type == PT_LOAD
 	      && (segment->p_filesz > 0 || segment->p_memsz == 0))
 	    /* xgettext:c-format */
-	    _bfd_error_handler (_("%B: warning: Empty loadable segment detected"
-				  " at vaddr=%#Lx, is this intentional?"),
-				ibfd, segment->p_vaddr);
+	    _bfd_error_handler
+	      (_("%pB: warning: empty loadable segment detected"
+		 " at vaddr=%#" PRIx64 ", is this intentional?"),
+	       ibfd, (uint64_t) segment->p_vaddr);
 
 	  map->count = 0;
 	  *pointer_to_map = map;
@@ -6845,10 +6916,8 @@ rewrite_elf_program_header (bfd *ibfd, b
 	 we have completely filled the segment, and there is nothing
 	 more to do.  */
       isec = 0;
-      matching_lma = 0;
-      suggested_lma = 0;
-      first_matching_lma = TRUE;
-      first_suggested_lma = TRUE;
+      matching_lma = NULL;
+      suggested_lma = NULL;
 
       for (section = first_section, j = 0;
 	   section != NULL;
@@ -6869,14 +6938,14 @@ rewrite_elf_program_header (bfd *ibfd, b
 		  && !bed->want_p_paddr_set_to_zero
 		  && isec == 0
 		  && output_section->lma != 0
-		  && output_section->vma == (segment->p_vaddr
-					     + (map->includes_filehdr
-						? iehdr->e_ehsize
-						: 0)
-					     + (map->includes_phdrs
-						? (iehdr->e_phnum
-						   * iehdr->e_phentsize)
-						: 0)))
+		  && (align_power (segment->p_vaddr
+				   + (map->includes_filehdr
+				      ? iehdr->e_ehsize : 0)
+				   + (map->includes_phdrs
+				      ? iehdr->e_phnum * iehdr->e_phentsize
+				      : 0),
+				   output_section->alignment_power)
+		      == output_section->vma))
 		map->p_paddr = segment->p_vaddr;
 
 	      /* Match up the physical address of the segment with the
@@ -6886,22 +6955,17 @@ rewrite_elf_program_header (bfd *ibfd, b
 		  || (bed->want_p_paddr_set_to_zero
 		      && IS_CONTAINED_BY_VMA (output_section, segment)))
 		{
-		  if (first_matching_lma || output_section->lma < matching_lma)
-		    {
-		      matching_lma = output_section->lma;
-		      first_matching_lma = FALSE;
-		    }
+		  if (matching_lma == NULL
+		      || output_section->lma < matching_lma->lma)
+		    matching_lma = output_section;
 
 		  /* We assume that if the section fits within the segment
 		     then it does not overlap any other section within that
 		     segment.  */
 		  map->sections[isec++] = output_section;
 		}
-	      else if (first_suggested_lma)
-		{
-		  suggested_lma = output_section->lma;
-		  first_suggested_lma = FALSE;
-		}
+	      else if (suggested_lma == NULL)
+		suggested_lma = output_section;
 
 	      if (j == section_count)
 		break;
@@ -6924,63 +6988,54 @@ rewrite_elf_program_header (bfd *ibfd, b
 
 	  if (p_paddr_valid
 	      && !bed->want_p_paddr_set_to_zero
-	      && matching_lma != map->p_paddr
+	      && matching_lma->lma != map->p_paddr
 	      && !map->includes_filehdr
 	      && !map->includes_phdrs)
 	    /* There is some padding before the first section in the
 	       segment.  So, we must account for that in the output
 	       segment's vma.  */
-	    map->p_vaddr_offset = matching_lma - map->p_paddr;
+	    map->p_vaddr_offset = matching_lma->lma - map->p_paddr;
 
 	  free (sections);
 	  continue;
 	}
       else
 	{
-	  if (!first_matching_lma)
-	    {
-	      /* At least one section fits inside the current segment.
-		 Keep it, but modify its physical address to match the
-		 LMA of the first section that fitted.  */
-	      map->p_paddr = matching_lma;
-	    }
-	  else
-	    {
-	      /* None of the sections fitted inside the current segment.
-		 Change the current segment's physical address to match
-		 the LMA of the first section.  */
-	      map->p_paddr = suggested_lma;
-	    }
+	  /* Change the current segment's physical address to match
+	     the LMA of the first section that fitted, or if no
+	     section fitted, the first section.  */
+	  if (matching_lma == NULL)
+	    matching_lma = suggested_lma;
+
+	  map->p_paddr = matching_lma->lma;
 
 	  /* Offset the segment physical address from the lma
 	     to allow for space taken up by elf headers.  */
-	  if (map->includes_filehdr)
+	  if (map->includes_phdrs)
 	    {
-	      if (map->p_paddr >= iehdr->e_ehsize)
-		map->p_paddr -= iehdr->e_ehsize;
-	      else
-		{
-		  map->includes_filehdr = FALSE;
-		  map->includes_phdrs = FALSE;
-		}
+	      map->p_paddr -= iehdr->e_phnum * iehdr->e_phentsize;
+
+	      /* iehdr->e_phnum is just an estimate of the number
+		 of program headers that we will need.  Make a note
+		 here of the number we used and the segment we chose
+		 to hold these headers, so that we can adjust the
+		 offset when we know the correct value.  */
+	      phdr_adjust_num = iehdr->e_phnum;
+	      phdr_adjust_seg = map;
 	    }
 
-	  if (map->includes_phdrs)
+	  if (map->includes_filehdr)
 	    {
-	      if (map->p_paddr >= iehdr->e_phnum * iehdr->e_phentsize)
-		{
-		  map->p_paddr -= iehdr->e_phnum * iehdr->e_phentsize;
-
-		  /* iehdr->e_phnum is just an estimate of the number
-		     of program headers that we will need.  Make a note
-		     here of the number we used and the segment we chose
-		     to hold these headers, so that we can adjust the
-		     offset when we know the correct value.  */
-		  phdr_adjust_num = iehdr->e_phnum;
-		  phdr_adjust_seg = map;
-		}
-	      else
-		map->includes_phdrs = FALSE;
+	      bfd_vma align = (bfd_vma) 1 << matching_lma->alignment_power;
+	      map->p_paddr -= iehdr->e_ehsize;
+	      /* We've subtracted off the size of headers from the
+		 first section lma, but there may have been some
+		 alignment padding before that section too.  Try to
+		 account for that by adjusting the segment lma down to
+		 the same alignment.  */
+	      if (segment->p_align != 0 && segment->p_align < align)
+		align = segment->p_align;
+	      map->p_paddr &= -align;
 	    }
 	}
 
@@ -6995,8 +7050,7 @@ rewrite_elf_program_header (bfd *ibfd, b
       do
 	{
 	  map->count = 0;
-	  suggested_lma = 0;
-	  first_suggested_lma = TRUE;
+	  suggested_lma = NULL;
 
 	  /* Fill the current segment with sections that fit.  */
 	  for (j = 0; j < section_count; j++)
@@ -7018,12 +7072,14 @@ rewrite_elf_program_header (bfd *ibfd, b
 		      /* If the first section in a segment does not start at
 			 the beginning of the segment, then something is
 			 wrong.  */
-		      if (output_section->lma
-			  != (map->p_paddr
-			      + (map->includes_filehdr ? iehdr->e_ehsize : 0)
-			      + (map->includes_phdrs
-				 ? iehdr->e_phnum * iehdr->e_phentsize
-				 : 0)))
+		      if (align_power (map->p_paddr
+				       + (map->includes_filehdr
+					  ? iehdr->e_ehsize : 0)
+				       + (map->includes_phdrs
+					  ? iehdr->e_phnum * iehdr->e_phentsize
+					  : 0),
+				       output_section->alignment_power)
+			  != output_section->lma)
 			abort ();
 		    }
 		  else
@@ -7041,11 +7097,8 @@ rewrite_elf_program_header (bfd *ibfd, b
 			  || (prev_sec->lma + prev_sec->size
 			      > output_section->lma))
 			{
-			  if (first_suggested_lma)
-			    {
-			      suggested_lma = output_section->lma;
-			      first_suggested_lma = FALSE;
-			    }
+			  if (suggested_lma == NULL)
+			    suggested_lma = output_section;
 
 			  continue;
 			}
@@ -7054,13 +7107,11 @@ rewrite_elf_program_header (bfd *ibfd, b
 		  map->sections[map->count++] = output_section;
 		  ++isec;
 		  sections[j] = NULL;
-		  section->segment_mark = TRUE;
-		}
-	      else if (first_suggested_lma)
-		{
-		  suggested_lma = output_section->lma;
-		  first_suggested_lma = FALSE;
+		  if (segment->p_type == PT_LOAD)
+		    section->segment_mark = TRUE;
 		}
+	      else if (suggested_lma == NULL)
+		suggested_lma = output_section;
 	    }
 
 	  BFD_ASSERT (map->count > 0);
@@ -7090,7 +7141,7 @@ rewrite_elf_program_header (bfd *ibfd, b
 	      map->p_type = segment->p_type;
 	      map->p_flags = segment->p_flags;
 	      map->p_flags_valid = 1;
-	      map->p_paddr = suggested_lma;
+	      map->p_paddr = suggested_lma->lma;
 	      map->p_paddr_valid = p_paddr_valid;
 	      map->includes_filehdr = 0;
 	      map->includes_phdrs = 0;
@@ -7116,6 +7167,15 @@ rewrite_elf_program_header (bfd *ibfd, b
       if (count > phdr_adjust_num)
 	phdr_adjust_seg->p_paddr
 	  -= (count - phdr_adjust_num) * iehdr->e_phentsize;
+
+      for (map = map_first; map != NULL; map = map->next)
+	if (map->p_type == PT_PHDR)
+	  {
+	    bfd_vma adjust
+	      = phdr_adjust_seg->includes_filehdr ? iehdr->e_ehsize : 0;
+	    map->p_paddr = phdr_adjust_seg->p_paddr + adjust;
+	    break;
+	  }
     }
 
 #undef SEGMENT_END
@@ -7409,9 +7469,9 @@ rewrite:
 	    /* PR 17512: file: f17299af.  */
 	    if (segment->p_align > (bfd_vma) 1 << ((sizeof (bfd_vma) * 8) - 2))
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B: warning: segment alignment of %#Lx"
-				    " is too large"),
-				  ibfd, segment->p_align);
+	      _bfd_error_handler (_("%pB: warning: segment alignment of %#"
+				    PRIx64 " is too large"),
+				  ibfd, (uint64_t) segment->p_align);
 	    else
 	      maxpagesize = segment->p_align;
 	  }
@@ -7564,7 +7624,16 @@ _bfd_elf_fixup_group_sections (bfd *ibfd
 	       but the SHT_GROUP section is, then adjust its size.  */
 	    else if (s->output_section == discarded
 		     && isec->output_section != discarded)
-	      removed += 4;
+	      {
+		struct bfd_elf_section_data *elf_sec = elf_section_data (s);
+		removed += 4;
+		if (elf_sec->rel.hdr != NULL
+		    && (elf_sec->rel.hdr->sh_flags & SHF_GROUP) != 0)
+		  removed += 4;
+		if (elf_sec->rela.hdr != NULL
+		    && (elf_sec->rela.hdr->sh_flags & SHF_GROUP) != 0)
+		  removed += 4;
+	      }
 	    s = elf_next_in_group (s);
 	    if (s == first)
 	      break;
@@ -7574,18 +7643,26 @@ _bfd_elf_fixup_group_sections (bfd *ibfd
 	    if (discarded != NULL)
 	      {
 		/* If we've been called for ld -r, then we need to
-		   adjust the input section size.  This function may
-		   be called multiple times, so save the original
-		   size.  */
+		   adjust the input section size.  */
 		if (isec->rawsize == 0)
 		  isec->rawsize = isec->size;
 		isec->size = isec->rawsize - removed;
+		if (isec->size <= 4)
+		  {
+		    isec->size = 0;
+		    isec->flags |= SEC_EXCLUDE;
+		  }
 	      }
 	    else
 	      {
 		/* Adjust the output section size when called from
 		   objcopy. */
 		isec->output_section->size -= removed;
+		if (isec->output_section->size <= 4)
+		  {
+		    isec->output_section->size = 0;
+		    isec->output_section->flags |= SEC_EXCLUDE;
+		  }
 	      }
 	  }
       }
@@ -7890,10 +7967,11 @@ error_return:
 		  if (shndx == SHN_BAD)
 		    {
 		      /* xgettext:c-format */
-		      _bfd_error_handler (_("\
-Unable to find equivalent output section for symbol '%s' from section '%s'"),
-					  syms[idx]->name ? syms[idx]->name : "<Local sym>",
-					  sec->name);
+		      _bfd_error_handler
+			(_("unable to find equivalent output section"
+			   " for symbol '%s' from section '%s'"),
+			 syms[idx]->name ? syms[idx]->name : "<Local sym>",
+			 sec->name);
 		      bfd_set_error (bfd_error_invalid_operation);
 		      goto error_return;
 		    }
@@ -8223,7 +8301,7 @@ _bfd_elf_slurp_version_tables (bfd *abfd
 	{
 error_return_bad_verref:
 	  _bfd_error_handler
-	    (_("%B: .gnu.version_r invalid entry"), abfd);
+	    (_("%pB: .gnu.version_r invalid entry"), abfd);
 	  bfd_set_error (bfd_error_bad_value);
 error_return_verref:
 	  elf_tdata (abfd)->verref = NULL;
@@ -8350,7 +8428,7 @@ error_return_verref:
 	{
 	error_return_bad_verdef:
 	  _bfd_error_handler
-	    (_("%B: .gnu.version_d invalid entry"), abfd);
+	    (_("%pB: .gnu.version_d invalid entry"), abfd);
 	  bfd_set_error (bfd_error_bad_value);
 	error_return_verdef:
 	  elf_tdata (abfd)->verdef = NULL;
@@ -8803,12 +8881,13 @@ _bfd_elf_set_section_contents (bfd *abfd
   return TRUE;
 }
 
-void
+bfd_boolean
 _bfd_elf_no_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 			   arelent *cache_ptr ATTRIBUTE_UNUSED,
 			   Elf_Internal_Rela *dst ATTRIBUTE_UNUSED)
 {
   abort ();
+  return FALSE;
 }
 
 /* Try to convert a non-ELF reloc into an ELF one.  */
@@ -8900,10 +8979,9 @@ _bfd_elf_validate_reloc (bfd *abfd, arel
   return TRUE;
 
  fail:
-  _bfd_error_handler
-    /* xgettext:c-format */
-    (_("%B: unsupported relocation type %s"),
-     abfd, areloc->howto->name);
+  /* xgettext:c-format */
+  _bfd_error_handler (_("%pB: %s unsupported"),
+		      abfd, areloc->howto->name);
   bfd_set_error (bfd_error_bad_value);
   return FALSE;
 }
@@ -10434,6 +10512,23 @@ elfcore_write_note (bfd *abfd,
   return buf;
 }
 
+/* gcc-8 warns (*) on all the strncpy calls in this function about
+   possible string truncation.  The "truncation" is not a bug.  We
+   have an external representation of structs with fields that are not
+   necessarily NULL terminated and corresponding internal
+   representation fields that are one larger so that they can always
+   be NULL terminated.
+   gcc versions between 4.2 and 4.6 do not allow pragma control of
+   diagnostics inside functions, giving a hard error if you try to use
+   the finer control available with later versions.
+   gcc prior to 4.2 warns about diagnostic push and pop.
+   gcc-5, gcc-6 and gcc-7 warn that -Wstringop-truncation is unknown,
+   unless you also add #pragma GCC diagnostic ignored "-Wpragma".
+   (*) Depending on your system header files!  */
+#if GCC_VERSION >= 8000
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wstringop-truncation"
+#endif
 char *
 elfcore_write_prpsinfo (bfd  *abfd,
 			char *buf,
@@ -10453,16 +10548,16 @@ elfcore_write_prpsinfo (bfd  *abfd,
     }
 
 #if defined (HAVE_PRPSINFO_T) || defined (HAVE_PSINFO_T)
-#if defined (HAVE_PRPSINFO32_T) || defined (HAVE_PSINFO32_T)
+# if defined (HAVE_PRPSINFO32_T) || defined (HAVE_PSINFO32_T)
   if (bed->s->elfclass == ELFCLASS32)
     {
-#if defined (HAVE_PSINFO32_T)
+#  if defined (HAVE_PSINFO32_T)
       psinfo32_t data;
       int note_type = NT_PSINFO;
-#else
+#  else
       prpsinfo32_t data;
       int note_type = NT_PRPSINFO;
-#endif
+#  endif
 
       memset (&data, 0, sizeof (data));
       strncpy (data.pr_fname, fname, sizeof (data.pr_fname));
@@ -10471,15 +10566,15 @@ elfcore_write_prpsinfo (bfd  *abfd,
 				 "CORE", note_type, &data, sizeof (data));
     }
   else
-#endif
+# endif
     {
-#if defined (HAVE_PSINFO_T)
+# if defined (HAVE_PSINFO_T)
       psinfo_t data;
       int note_type = NT_PSINFO;
-#else
+# else
       prpsinfo_t data;
       int note_type = NT_PRPSINFO;
-#endif
+# endif
 
       memset (&data, 0, sizeof (data));
       strncpy (data.pr_fname, fname, sizeof (data.pr_fname));
@@ -10492,6 +10587,9 @@ elfcore_write_prpsinfo (bfd  *abfd,
   free (buf);
   return NULL;
 }
+#if GCC_VERSION >= 8000
+# pragma GCC diagnostic pop
+#endif
 
 char *
 elfcore_write_linux_prpsinfo32
@@ -10996,6 +11094,8 @@ elf_parse_notes (bfd *abfd, char *buf, s
      align is less than 4, we use 4 byte alignment.   */
   if (align < 4)
     align = 4;
+  if (align != 4 && align != 8)
+    return FALSE;
 
   p = buf;
   while (p < buf + size)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfcode.h ./bfd/elfcode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfcode.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfcode.h	2018-07-10 02:06:11.000000000 +0000
@@ -680,7 +680,7 @@ elf_object_p (bfd *abfd)
       if (i_ehdrp->e_shnum > ((bfd_size_type) -1) / sizeof (*i_shdrp))
 	goto got_wrong_format_error;
 #endif
-      amt = sizeof (*i_shdrp) * i_ehdrp->e_shnum;
+      amt = sizeof (*i_shdrp) * (bfd_size_type) i_ehdrp->e_shnum;
       i_shdrp = (Elf_Internal_Shdr *) bfd_alloc (abfd, amt);
       if (!i_shdrp)
 	goto got_no_match;
@@ -757,7 +757,7 @@ elf_object_p (bfd *abfd)
 	     so that at least some processing can be done.  */
 	  i_ehdrp->e_shstrndx = SHN_UNDEF;
 	  _bfd_error_handler
-	    (_("warning: %B has a corrupt string table index - ignoring"),
+	    (_("warning: %pB has a corrupt string table index - ignoring"),
 	     abfd);
 	}
     }
@@ -776,7 +776,7 @@ elf_object_p (bfd *abfd)
       if (i_ehdrp->e_phnum > ((bfd_size_type) -1) / sizeof (*i_phdr))
 	goto got_wrong_format_error;
 #endif
-      amt = i_ehdrp->e_phnum * sizeof (*i_phdr);
+      amt = (bfd_size_type) i_ehdrp->e_phnum * sizeof (*i_phdr);
       elf_tdata (abfd)->phdr = (Elf_Internal_Phdr *) bfd_alloc (abfd, amt);
       if (elf_tdata (abfd)->phdr == NULL)
 	goto got_no_match;
@@ -1196,9 +1196,10 @@ elf_slurp_symbol_table (bfd *abfd, asymb
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: version count (%Ld) does not match symbol count (%ld)"),
+	    (_("%pB: version count (%" PRId64 ")"
+	       " does not match symbol count (%ld)"),
 	     abfd,
-	     verhdr->sh_size / sizeof (Elf_External_Versym),
+	     (int64_t) (verhdr->sh_size / sizeof (Elf_External_Versym)),
 	     symcount);
 
 	  /* Slurp in the symbols without the version information,
@@ -1429,6 +1430,7 @@ elf_slurp_reloc_table_from_section (bfd 
        i < reloc_count;
        i++, relent++, native_relocs += entsize)
     {
+      bfd_boolean res;
       Elf_Internal_Rela rela;
 
       if (entsize == sizeof (Elf_External_Rela))
@@ -1453,8 +1455,9 @@ elf_slurp_reloc_table_from_section (bfd 
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A): relocation %d has invalid symbol index %ld"),
+	    (_("%pB(%pA): relocation %d has invalid symbol index %ld"),
 	     abfd, asect, i, (long) ELF_R_SYM (rela.r_info));
+	  bfd_set_error (bfd_error_bad_value);
 	  relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
 	}
       else
@@ -1471,14 +1474,16 @@ elf_slurp_reloc_table_from_section (bfd 
       if ((entsize == sizeof (Elf_External_Rela)
 	   && ebd->elf_info_to_howto != NULL)
 	  || ebd->elf_info_to_howto_rel == NULL)
-	(*ebd->elf_info_to_howto) (abfd, relent, &rela);
+	res = ebd->elf_info_to_howto (abfd, relent, &rela);
       else
-	(*ebd->elf_info_to_howto_rel) (abfd, relent, &rela);
+	res = ebd->elf_info_to_howto_rel (abfd, relent, &rela);
+
+      if (! res || relent->howto == NULL)
+	goto error_return;
     }
 
   if (allocated != NULL)
     free (allocated);
-
   return TRUE;
 
  error_return:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfcore.h ./bfd/elfcore.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfcore.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfcore.h	2018-07-10 02:06:11.000000000 +0000
@@ -297,9 +297,9 @@ elf_core_file_p (bfd *abfd)
 	  {
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("warning: %B is truncated: expected core file "
-		 "size >= %Lu, found: %llu"),
-	       abfd, high, (unsigned long long) statbuf.st_size);
+	      (_("warning: %pB is truncated: expected core file "
+		 "size >= %" PRIu64 ", found: %" PRIu64),
+	       abfd, (uint64_t) high, (uint64_t) statbuf.st_size);
 	  }
       }
   }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-eh-frame.c ./bfd/elf-eh-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-eh-frame.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf-eh-frame.c	2018-07-10 02:06:11.000000000 +0000
@@ -939,7 +939,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
 	    {
 	      (*info->callbacks->minfo)
 		/* xgettext:c-format */
-		(_("discarding zero address range FDE in %B(%A).\n"),
+		(_("discarding zero address range FDE in %pB(%pA).\n"),
 		 abfd, sec);
 	      this_inf->u.fde.cie_inf = NULL;
 	    }
@@ -1042,9 +1042,9 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
   goto success;
 
  free_no_table:
-  (*info->callbacks->einfo)
+  _bfd_error_handler
     /* xgettext:c-format */
-    (_("%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"),
+    (_("error in %pB(%pA); no .eh_frame_hdr table will be created"),
      abfd, sec);
   hdr_info->u.dwarf.table = FALSE;
   if (sec_info)
@@ -1532,16 +1532,16 @@ _bfd_elf_discard_section_eh_frame
 		hdr_info->u.dwarf.table = FALSE;
 		if (num_warnings_issued < 10)
 		  {
-		    (*info->callbacks->einfo)
+		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%P: FDE encoding in %B(%A) prevents .eh_frame_hdr"
-			 " table being created.\n"), abfd, sec);
+		      (_("FDE encoding in %pB(%pA) prevents .eh_frame_hdr"
+			 " table being created"), abfd, sec);
 		    num_warnings_issued ++;
 		  }
 		else if (num_warnings_issued == 10)
 		  {
-		    (*info->callbacks->einfo)
-		      (_("%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n"));
+		    _bfd_error_handler
+		      (_("further warnings about FDE encoding preventing .eh_frame_hdr generation dropped"));
 		    num_warnings_issued ++;
 		  }
 	      }
@@ -1863,7 +1863,7 @@ _bfd_elf_write_section_eh_frame_entry (b
       if (addr <= last_addr)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: %A not in order"), sec->owner, sec);
+	  _bfd_error_handler (_("%pB: %pA not in order"), sec->owner, sec);
 	  return FALSE;
 	}
 
@@ -1877,7 +1877,7 @@ _bfd_elf_write_section_eh_frame_entry (b
   if (addr & 1)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: %A invalid input section size"),
+      _bfd_error_handler (_("%pB: %pA invalid input section size"),
 			  sec->owner, sec);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -1885,7 +1885,7 @@ _bfd_elf_write_section_eh_frame_entry (b
   if (last_addr >= addr + sec->rawsize)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: %A points past end of text section"),
+      _bfd_error_handler (_("%pB: %pA points past end of text section"),
 			  sec->owner, sec);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -2133,9 +2133,9 @@ _bfd_elf_write_section_eh_frame (bfd *ab
 			address += elf_gp (abfd);
 			break;
 		      default:
-			(*info->callbacks->einfo)
-			  (_("%P: DW_EH_PE_datarel unspecified"
-			     " for this architecture.\n"));
+			_bfd_error_handler
+			  (_("DW_EH_PE_datarel unspecified"
+			     " for this architecture"));
 			/* Fall thru */
 		      case bfd_arch_frv:
 		      case bfd_arch_i386:
@@ -2304,7 +2304,7 @@ _bfd_elf_fixup_eh_frame_hdr (struct bfd_
       if (sec->output_section != osec)
 	{
 	  _bfd_error_handler
-	    (_("Invalid output section for .eh_frame_entry: %A"),
+	    (_("invalid output section for .eh_frame_entry: %pA"),
 	     sec->output_section);
 	  return FALSE;
 	}
@@ -2327,7 +2327,7 @@ _bfd_elf_fixup_eh_frame_hdr (struct bfd_
   if (i != 0)
     {
       _bfd_error_handler
-	(_("Invalid contents in %A section"), osec);
+	(_("invalid contents in %pA section"), osec);
       return FALSE;
     }
 
@@ -2483,10 +2483,9 @@ write_dwarf_eh_frame_hdr (bfd *abfd, str
 	    overlap = TRUE;
 	}
       if (overflow)
-	(*info->callbacks->einfo) (_("%P: .eh_frame_hdr entry overflow.\n"));
+	_bfd_error_handler (_(".eh_frame_hdr entry overflow"));
       if (overlap)
-	(*info->callbacks->einfo)
-	  (_("%P: .eh_frame_hdr refers to overlapping FDEs.\n"));
+	_bfd_error_handler (_(".eh_frame_hdr refers to overlapping FDEs"));
       if (overflow || overlap)
 	{
 	  bfd_set_error (bfd_error_bad_value);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-hppa.h ./bfd/elf-hppa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-hppa.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf-hppa.h	2018-07-10 02:06:11.000000000 +0000
@@ -1020,26 +1020,58 @@ _bfd_elf_hppa_gen_reloc_type (bfd *abfd,
 
 /* Translate from an elf into field into a howto relocation pointer.  */
 
-static void
-elf_hppa_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+elf_hppa_info_to_howto (bfd *abfd,
 			arelent *bfd_reloc,
 			Elf_Internal_Rela *elf_reloc)
 {
-  BFD_ASSERT (ELF_R_TYPE (elf_reloc->r_info)
-	      < (unsigned int) R_PARISC_UNIMPLEMENTED);
-  bfd_reloc->howto = &elf_hppa_howto_table[ELF_R_TYPE (elf_reloc->r_info)];
+  unsigned int r_type = ELF32_R_TYPE (elf_reloc->r_info);
+  unsigned int type = r_type;
+  reloc_howto_type *howto = NULL;
+
+  if (r_type < (unsigned int) R_PARISC_UNIMPLEMENTED)
+    {
+      howto = &elf_hppa_howto_table[r_type];
+      type = howto->type;
+    }
+  if (type >= (unsigned int) R_PARISC_UNIMPLEMENTED)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  bfd_reloc->howto = howto;
+  return TRUE;
 }
 
 /* Translate from an elf into field into a howto relocation pointer.  */
 
-static void
-elf_hppa_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+elf_hppa_info_to_howto_rel (bfd *abfd,
 			    arelent *bfd_reloc,
 			    Elf_Internal_Rela *elf_reloc)
 {
-  BFD_ASSERT (ELF_R_TYPE (elf_reloc->r_info)
-	      < (unsigned int) R_PARISC_UNIMPLEMENTED);
-  bfd_reloc->howto = &elf_hppa_howto_table[ELF_R_TYPE (elf_reloc->r_info)];
+  unsigned int r_type = ELF_R_TYPE (elf_reloc->r_info);
+  unsigned int type = r_type;
+  reloc_howto_type *howto = NULL;
+
+  if (r_type < (unsigned int) R_PARISC_UNIMPLEMENTED)
+    {
+      howto = &elf_hppa_howto_table[r_type];
+      type = howto->type;
+    }
+  if (type >= (unsigned int) R_PARISC_UNIMPLEMENTED)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  bfd_reloc->howto = howto;
+  return TRUE;
 }
 
 /* Return the address of the howto table entry to perform the CODE
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-ifunc.c ./bfd/elf-ifunc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-ifunc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf-ifunc.c	2018-07-10 02:06:11.000000000 +0000
@@ -131,8 +131,15 @@ _bfd_elf_allocate_ifunc_dyn_relocs (stru
      the resolved function may be used.  But in non-PIC executable,
      the address of its .plt slot may be used.  Pointer equality may
      not work correctly.  PIE or non-PLT reference should be used if
-     pointer equality is required here.  */
+     pointer equality is required here.
+
+     If STT_GNU_IFUNC symbol is defined in position-dependent executable,
+     backend should change it to the normal function and set its address
+     to its PLT entry which should be resolved by R_*_IRELATIVE at
+     run-time.  All external references should be resolved to its PLT in
+     executable.  */
   if (!need_dynreloc
+      && !(bfd_link_pde (info) && h->def_regular)
       && (h->dynindx != -1
 	  || info->export_dynamic)
       && h->pointer_equality_needed)
@@ -140,7 +147,7 @@ _bfd_elf_allocate_ifunc_dyn_relocs (stru
       info->callbacks->einfo
 	/* xgettext:c-format */
 	(_("%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer "
-	   "equality in `%B' can not be used when making an "
+	   "equality in `%pB' can not be used when making an "
 	   "executable; recompile with -fPIE and relink with -pie\n"),
 	 h->root.root.string,
 	 h->root.u.def.section->owner);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elflink.c ./bfd/elflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elflink.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elflink.c	2018-07-10 02:06:11.000000000 +0000
@@ -586,7 +586,12 @@ bfd_elf_link_mark_dynamic_symbol (struct
       || (d != NULL
 	  && h->non_elf
 	  && (*d->match) (&d->head, NULL, h->root.root.string)))
-    h->dynamic = 1;
+    {
+      h->dynamic = 1;
+      /* NB: If a symbol is made dynamic by --dynamic-list, it has
+	 non-IR reference.  */
+      h->root.non_ir_ref_dynamic = 1;
+    }
 }
 
 /* Record an assignment to a symbol made by a linker script.  We need
@@ -715,6 +720,7 @@ bfd_elf_record_link_assignment (bfd *out
        || h->ref_dynamic
        || bfd_link_dll (info)
        || elf_hash_table (info)->is_relocatable_executable)
+      && !h->forced_local
       && h->dynindx == -1)
     {
       if (! bfd_elf_link_record_dynamic_symbol (info, h))
@@ -881,9 +887,9 @@ elf_link_renumber_local_hash_table_dynsy
 /* Return true if the dynamic symbol for a given section should be
    omitted when creating a shared library.  */
 bfd_boolean
-_bfd_elf_link_omit_section_dynsym (bfd *output_bfd ATTRIBUTE_UNUSED,
-				   struct bfd_link_info *info,
-				   asection *p)
+_bfd_elf_omit_section_dynsym_default (bfd *output_bfd ATTRIBUTE_UNUSED,
+				      struct bfd_link_info *info,
+				      asection *p)
 {
   struct elf_link_hash_table *htab;
   asection *ip;
@@ -913,6 +919,15 @@ _bfd_elf_link_omit_section_dynsym (bfd *
     }
 }
 
+bfd_boolean
+_bfd_elf_omit_section_dynsym_all
+    (bfd *output_bfd ATTRIBUTE_UNUSED,
+     struct bfd_link_info *info ATTRIBUTE_UNUSED,
+     asection *p ATTRIBUTE_UNUSED)
+{
+  return TRUE;
+}
+
 /* Assign dynsym indices.  In a shared library we generate a section
    symbol for each output section, which come first.  Next come symbols
    which have been forced to local binding.  Then all of the back-end
@@ -938,6 +953,7 @@ _bfd_elf_link_renumber_dynsyms (bfd *out
       for (p = output_bfd->sections; p ; p = p->next)
 	if ((p->flags & SEC_EXCLUDE) == 0
 	    && (p->flags & SEC_ALLOC) != 0
+	    && elf_hash_table (info)->dynamic_relocs
 	    && !(*bed->elf_backend_omit_section_dynsym) (output_bfd, info, p))
 	  {
 	    ++dynsymcount;
@@ -1350,26 +1366,26 @@ _bfd_elf_merge_symbol (bfd *abfd,
       if (tdef && ntdef)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%s: TLS definition in %B section %A "
-	     "mismatches non-TLS definition in %B section %A"),
+	  (_("%s: TLS definition in %pB section %pA "
+	     "mismatches non-TLS definition in %pB section %pA"),
 	   h->root.root.string, tbfd, tsec, ntbfd, ntsec);
       else if (!tdef && !ntdef)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%s: TLS reference in %B "
-	     "mismatches non-TLS reference in %B"),
+	  (_("%s: TLS reference in %pB "
+	     "mismatches non-TLS reference in %pB"),
 	   h->root.root.string, tbfd, ntbfd);
       else if (tdef)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%s: TLS definition in %B section %A "
-	     "mismatches non-TLS reference in %B"),
+	  (_("%s: TLS definition in %pB section %pA "
+	     "mismatches non-TLS reference in %pB"),
 	   h->root.root.string, tbfd, tsec, ntbfd);
       else
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%s: TLS reference in %B "
-	     "mismatches non-TLS definition in %B section %A"),
+	  (_("%s: TLS reference in %pB "
+	     "mismatches non-TLS definition in %pB section %pA"),
 	   h->root.root.string, tbfd, ntbfd, ntsec);
 
       bfd_set_error (bfd_error_bad_value);
@@ -2049,7 +2065,7 @@ nondefault:
 	  && hi->root.type != bfd_link_hash_defweak)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: unexpected redefinition of indirect versioned symbol `%s'"),
+	  (_("%pB: unexpected redefinition of indirect versioned symbol `%s'"),
 	   abfd, shortname);
     }
   else
@@ -2207,6 +2223,115 @@ _bfd_elf_link_find_version_dependencies 
   return TRUE;
 }
 
+/* Return TRUE and set *HIDE to TRUE if the versioned symbol is
+   hidden.  Set *T_P to NULL if there is no match.  */
+
+static bfd_boolean
+_bfd_elf_link_hide_versioned_symbol (struct bfd_link_info *info,
+				     struct elf_link_hash_entry *h,
+				     const char *version_p,
+				     struct bfd_elf_version_tree **t_p,
+				     bfd_boolean *hide)
+{
+  struct bfd_elf_version_tree *t;
+
+  /* Look for the version.  If we find it, it is no longer weak.  */
+  for (t = info->version_info; t != NULL; t = t->next)
+    {
+      if (strcmp (t->name, version_p) == 0)
+	{
+	  size_t len;
+	  char *alc;
+	  struct bfd_elf_version_expr *d;
+
+	  len = version_p - h->root.root.string;
+	  alc = (char *) bfd_malloc (len);
+	  if (alc == NULL)
+	    return FALSE;
+	  memcpy (alc, h->root.root.string, len - 1);
+	  alc[len - 1] = '\0';
+	  if (alc[len - 2] == ELF_VER_CHR)
+	    alc[len - 2] = '\0';
+
+	  h->verinfo.vertree = t;
+	  t->used = TRUE;
+	  d = NULL;
+
+	  if (t->globals.list != NULL)
+	    d = (*t->match) (&t->globals, NULL, alc);
+
+	  /* See if there is anything to force this symbol to
+	     local scope.  */
+	  if (d == NULL && t->locals.list != NULL)
+	    {
+	      d = (*t->match) (&t->locals, NULL, alc);
+	      if (d != NULL
+		  && h->dynindx != -1
+		  && ! info->export_dynamic)
+		*hide = TRUE;
+	    }
+
+	  free (alc);
+	  break;
+	}
+    }
+
+  *t_p = t;
+
+  return TRUE;
+}
+
+/* Return TRUE if the symbol H is hidden by version script.  */
+
+bfd_boolean
+_bfd_elf_link_hide_sym_by_version (struct bfd_link_info *info,
+				   struct elf_link_hash_entry *h)
+{
+  const char *p;
+  bfd_boolean hide = FALSE;
+  const struct elf_backend_data *bed
+    = get_elf_backend_data (info->output_bfd);
+
+  /* Version script only hides symbols defined in regular objects.  */
+  if (!h->def_regular && !ELF_COMMON_DEF_P (h))
+    return TRUE;
+
+  p = strchr (h->root.root.string, ELF_VER_CHR);
+  if (p != NULL && h->verinfo.vertree == NULL)
+    {
+      struct bfd_elf_version_tree *t;
+
+      ++p;
+      if (*p == ELF_VER_CHR)
+	++p;
+
+      if (*p != '\0'
+	  && _bfd_elf_link_hide_versioned_symbol (info, h, p, &t, &hide)
+	  && hide)
+	{
+	  if (hide)
+	    (*bed->elf_backend_hide_symbol) (info, h, TRUE);
+	  return TRUE;
+	}
+    }
+
+  /* If we don't have a version for this symbol, see if we can find
+     something.  */
+  if (h->verinfo.vertree == NULL && info->version_info != NULL)
+    {
+      h->verinfo.vertree
+	= bfd_find_version_for_sym (info->version_info,
+				    h->root.root.string, &hide);
+      if (h->verinfo.vertree != NULL && hide)
+	{
+	  (*bed->elf_backend_hide_symbol) (info, h, TRUE);
+	  return TRUE;
+	}
+    }
+
+  return FALSE;
+}
+
 /* Figure out appropriate versions for all the symbols.  We may not
    have the version number script until we have read all of the input
    files, so until that point we don't know which symbols should be
@@ -2220,6 +2345,7 @@ _bfd_elf_link_assign_sym_version (struct
   const struct elf_backend_data *bed;
   struct elf_info_failed eif;
   char *p;
+  bfd_boolean hide;
 
   sinfo = (struct elf_info_failed *) data;
   info = sinfo->info;
@@ -2239,6 +2365,7 @@ _bfd_elf_link_assign_sym_version (struct
   if (!h->def_regular)
     return TRUE;
 
+  hide = FALSE;
   bed = get_elf_backend_data (info->output_bfd);
   p = strchr (h->root.root.string, ELF_VER_CHR);
   if (p != NULL && h->verinfo.vertree == NULL)
@@ -2253,50 +2380,15 @@ _bfd_elf_link_assign_sym_version (struct
       if (*p == '\0')
 	return TRUE;
 
-      /* Look for the version.  If we find it, it is no longer weak.  */
-      for (t = sinfo->info->version_info; t != NULL; t = t->next)
+      if (!_bfd_elf_link_hide_versioned_symbol (info, h, p, &t, &hide))
 	{
-	  if (strcmp (t->name, p) == 0)
-	    {
-	      size_t len;
-	      char *alc;
-	      struct bfd_elf_version_expr *d;
-
-	      len = p - h->root.root.string;
-	      alc = (char *) bfd_malloc (len);
-	      if (alc == NULL)
-		{
-		  sinfo->failed = TRUE;
-		  return FALSE;
-		}
-	      memcpy (alc, h->root.root.string, len - 1);
-	      alc[len - 1] = '\0';
-	      if (alc[len - 2] == ELF_VER_CHR)
-		alc[len - 2] = '\0';
-
-	      h->verinfo.vertree = t;
-	      t->used = TRUE;
-	      d = NULL;
-
-	      if (t->globals.list != NULL)
-		d = (*t->match) (&t->globals, NULL, alc);
-
-	      /* See if there is anything to force this symbol to
-		 local scope.  */
-	      if (d == NULL && t->locals.list != NULL)
-		{
-		  d = (*t->match) (&t->locals, NULL, alc);
-		  if (d != NULL
-		      && h->dynindx != -1
-		      && ! info->export_dynamic)
-		    (*bed->elf_backend_hide_symbol) (info, h, TRUE);
-		}
-
-	      free (alc);
-	      break;
-	    }
+	  sinfo->failed = TRUE;
+	  return FALSE;
 	}
 
+      if (hide)
+	(*bed->elf_backend_hide_symbol) (info, h, TRUE);
+
       /* If we are building an application, we need to create a
 	 version node for this version.  */
       if (t == NULL && bfd_link_executable (info))
@@ -2342,7 +2434,7 @@ _bfd_elf_link_assign_sym_version (struct
 	     generating a shared archive.  Return an error.  */
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: version node not found for symbol %s"),
+	    (_("%pB: version node not found for symbol %s"),
 	     info->output_bfd, h->root.root.string);
 	  bfd_set_error (bfd_error_bad_value);
 	  sinfo->failed = TRUE;
@@ -2352,10 +2444,10 @@ _bfd_elf_link_assign_sym_version (struct
 
   /* If we don't have a version for this symbol, see if we can find
      something.  */
-  if (h->verinfo.vertree == NULL && sinfo->info->version_info != NULL)
+  if (!hide
+      && h->verinfo.vertree == NULL
+      && sinfo->info->version_info != NULL)
     {
-      bfd_boolean hide;
-
       h->verinfo.vertree
 	= bfd_find_version_for_sym (sinfo->info->version_info,
 				    h->root.root.string, &hide);
@@ -2431,10 +2523,10 @@ elf_link_read_relocs_from_section (bfd *
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: bad reloc symbol index (%#Lx >= %#lx)"
-		   " for offset %#Lx in section `%A'"),
-		 abfd, r_symndx, (unsigned long) nsyms,
-		 irela->r_offset, sec);
+		(_("%pB: bad reloc symbol index (%#" PRIx64 " >= %#lx)"
+		   " for offset %#" PRIx64 " in section `%pA'"),
+		 abfd, (uint64_t) r_symndx, (unsigned long) nsyms,
+		 (uint64_t) irela->r_offset, sec);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -2443,11 +2535,11 @@ elf_link_read_relocs_from_section (bfd *
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: non-zero symbol index (%#Lx)"
-	       " for offset %#Lx in section `%A'"
+	    (_("%pB: non-zero symbol index (%#" PRIx64 ")"
+	       " for offset %#" PRIx64 " in section `%pA'"
 	       " when the object file has no symbol table"),
-	     abfd, r_symndx,
-	     irela->r_offset, sec);
+	     abfd, (uint64_t) r_symndx,
+	     (uint64_t) irela->r_offset, sec);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -2634,7 +2726,7 @@ _bfd_elf_link_output_relocs (bfd *output
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: relocation size mismatch in %B section %A"),
+	(_("%pB: relocation size mismatch in %pB section %pA"),
 	 output_bfd, input_section->owner, input_section);
       bfd_set_error (bfd_error_wrong_format);
       return FALSE;
@@ -2761,10 +2853,14 @@ _bfd_elf_fix_symbol_flags (struct elf_li
       && (h->root.u.def.section->owner->flags & (DYNAMIC | BFD_PLUGIN)) == 0)
     h->def_regular = 1;
 
+  /* Symbols defined in discarded sections shouldn't be dynamic.  */
+  if (h->root.type == bfd_link_hash_undefined && h->indx == -3)
+    (*bed->elf_backend_hide_symbol) (eif->info, h, TRUE);
+
   /* If a weak undefined symbol has non-default visibility, we also
      hide it from the dynamic linker.  */
-  if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
-      && h->root.type == bfd_link_hash_undefweak)
+  else if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+	   && h->root.type == bfd_link_hash_undefweak)
     (*bed->elf_backend_hide_symbol) (eif->info, h, TRUE);
 
   /* A hidden versioned symbol in executable should be forced local if
@@ -3014,7 +3110,7 @@ _bfd_elf_adjust_dynamic_copy (struct bfd
 	  || (info->extern_protected_data < 0
 	      && !get_elf_backend_data (dynbss->owner)->extern_protected_data)))
     info->callbacks->einfo
-      (_("%P: copy reloc against protected `%T' is dangerous\n"),
+      (_("%P: copy reloc against protected `%pT' is dangerous\n"),
        h->root.root.string);
 
   return TRUE;
@@ -3365,6 +3461,9 @@ _bfd_elf_add_dynamic_entry (struct bfd_l
   if (! is_elf_hash_table (hash_table))
     return FALSE;
 
+  if (tag == DT_RELA || tag == DT_REL)
+    hash_table->dynamic_relocs = TRUE;
+
   bed = get_elf_backend_data (hash_table->dynobj);
   s = bfd_get_linker_section (hash_table->dynobj, ".dynamic");
   BFD_ASSERT (s != NULL);
@@ -3813,9 +3912,9 @@ elf_link_add_object_symbols (bfd *abfd, 
 	   && ehdr->e_machine == bed->elf_machine_alt1)
 	  || (bed->elf_machine_alt2 != 0
 	      && ehdr->e_machine == bed->elf_machine_alt2)))
-    info->callbacks->einfo
+    _bfd_error_handler
       /* xgettext:c-format */
-      (_("%P: alternate ELF machine code found (%d) in %B, expecting %d\n"),
+      (_("alternate ELF machine code found (%d) in %pB, expecting %d"),
        ehdr->e_machine, abfd, bed->elf_machine_code);
 
   /* As a GNU extension, any input sections which are named
@@ -4481,7 +4580,7 @@ error_free_dyn:
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: %s: invalid version %u (max %d)"),
+			(_("%pB: %s: invalid version %u (max %d)"),
 			 abfd, name, vernum,
 			 elf_tdata (abfd)->cverdefs);
 		      bfd_set_error (bfd_error_bad_value);
@@ -4518,7 +4617,7 @@ error_free_dyn:
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: %s: invalid needed version %d"),
+			(_("%pB: %s: invalid needed version %d"),
 			 abfd, name, vernum);
 		      bfd_set_error (bfd_error_bad_value);
 		      goto error_free_vers;
@@ -4589,10 +4688,17 @@ error_free_dyn:
 	      (struct bfd_link_hash_entry **) sym_hash)))
 	goto error_free_vers;
 
-      if ((flags & BSF_GNU_UNIQUE)
-	  && (abfd->flags & DYNAMIC) == 0
-	  && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
-	elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_unique;
+      if ((abfd->flags & DYNAMIC) == 0
+	  && (bfd_get_flavour (info->output_bfd)
+	      == bfd_target_elf_flavour))
+	{
+	  if (ELF_ST_TYPE (isym->st_info) == STT_GNU_IFUNC)
+	    elf_tdata (info->output_bfd)->has_gnu_symbols
+	      |= elf_gnu_symbol_ifunc;
+	  if ((flags & BSF_GNU_UNIQUE))
+	    elf_tdata (info->output_bfd)->has_gnu_symbols
+	      |= elf_gnu_symbol_unique;
+	}
 
       h = *sym_hash;
       /* We need to make sure that indirect symbol dynamic flags are
@@ -4770,15 +4876,15 @@ error_free_dyn:
 		  if (normal_bfd == NULL)
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("Warning: alignment %u of common symbol `%s' in %B is"
-			 " greater than the alignment (%u) of its section %A"),
+		      (_("warning: alignment %u of common symbol `%s' in %pB is"
+			 " greater than the alignment (%u) of its section %pA"),
 		       1 << common_align, name, common_bfd,
 		       1 << normal_align, h->root.u.def.section);
 		  else
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("Warning: alignment %u of symbol `%s' in %B"
-			 " is smaller than %u in %B"),
+		      (_("warning: alignment %u of symbol `%s' in %pB"
+			 " is smaller than %u in %pB"),
 		       1 << normal_align, name, normal_bfd,
 		       1 << common_align, common_bfd);
 		}
@@ -4794,9 +4900,10 @@ error_free_dyn:
 		  && ! size_change_ok)
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("Warning: size of symbol `%s' changed"
-		     " from %Lu in %B to %Lu in %B"),
-		   name, h->size, old_bfd, isym->st_size, abfd);
+		  (_("warning: size of symbol `%s' changed"
+		     " from %" PRIu64 " in %pB to %" PRIu64 " in %pB"),
+		   name, (uint64_t) h->size, old_bfd,
+		   (uint64_t) isym->st_size, abfd);
 
 	      h->size = isym->st_size;
 	    }
@@ -4828,8 +4935,8 @@ error_free_dyn:
 		  if (h->type != STT_NOTYPE && ! type_change_ok)
 		    /* xgettext:c-format */
 		    _bfd_error_handler
-		      (_("Warning: type of symbol `%s' changed"
-			 " from %d to %d in %B"),
+		      (_("warning: type of symbol `%s' changed"
+			 " from %d to %d in %pB"),
 		       name, h->type, type, abfd);
 
 		  h->type = type;
@@ -4929,7 +5036,7 @@ error_free_dyn:
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: undefined reference to symbol '%s'"),
+		    (_("%pB: undefined reference to symbol '%s'"),
 		     old_bfd, name);
 		  bfd_set_error (bfd_error_missing_dso);
 		  goto error_free_vers;
@@ -5422,7 +5529,7 @@ _bfd_elf_archive_symbol_lookup (bfd *abf
   len = strlen (name);
   copy = (char *) bfd_alloc (abfd, len);
   if (copy == NULL)
-    return (struct elf_link_hash_entry *) 0 - 1;
+    return (struct elf_link_hash_entry *) -1;
 
   first = p - name + 1;
   memcpy (copy, name, first);
@@ -5520,7 +5627,7 @@ elf_link_add_archive_symbols (bfd *abfd,
 	    }
 
 	  h = archive_symbol_lookup (abfd, info, symdef->name);
-	  if (h == (struct elf_link_hash_entry *) 0 - 1)
+	  if (h == (struct elf_link_hash_entry *) -1)
 	    goto error_return;
 
 	  if (h == NULL)
@@ -6005,11 +6112,11 @@ bfd_elf_stack_segment_size (bfd *output_
       h->type = STT_OBJECT;
       if (info->stacksize)
 	/* xgettext:c-format */
-	_bfd_error_handler (_("%B: stack size specified and %s set"),
+	_bfd_error_handler (_("%pB: stack size specified and %s set"),
 			    output_bfd, legacy_symbol);
       else if (h->root.u.def.section != bfd_abs_section_ptr)
 	/* xgettext:c-format */
-	_bfd_error_handler (_("%B: %s not absolute"),
+	_bfd_error_handler (_("%pB: %s not absolute"),
 			    output_bfd, legacy_symbol);
       else
 	info->stacksize = h->root.u.def.value;
@@ -6777,7 +6884,7 @@ bfd_elf_size_dynamic_sections (bfd *outp
 			== SHT_PREINIT_ARRAY)
 		      {
 			_bfd_error_handler
-			  (_("%B: .preinit_array section is not allowed in DSO"),
+			  (_("%pB: .preinit_array section is not allowed in DSO"),
 			   sub);
 			break;
 		      }
@@ -6901,7 +7008,7 @@ _bfd_elf_init_1_index_section (bfd *outp
 
   for (s = output_bfd->sections; s != NULL; s = s->next)
     if ((s->flags & (SEC_EXCLUDE | SEC_ALLOC)) == SEC_ALLOC
-	&& !_bfd_elf_link_omit_section_dynsym (output_bfd, info, s))
+	&& !_bfd_elf_omit_section_dynsym_default (output_bfd, info, s))
       {
 	elf_hash_table (info)->text_index_section = s;
 	break;
@@ -6916,10 +7023,10 @@ _bfd_elf_init_2_index_sections (bfd *out
   asection *s;
 
   /* Data first, since setting text_index_section changes
-     _bfd_elf_link_omit_section_dynsym.  */
+     _bfd_elf_omit_section_dynsym_default.  */
   for (s = output_bfd->sections; s != NULL; s = s->next)
     if (((s->flags & (SEC_EXCLUDE | SEC_ALLOC | SEC_READONLY)) == SEC_ALLOC)
-	&& !_bfd_elf_link_omit_section_dynsym (output_bfd, info, s))
+	&& !_bfd_elf_omit_section_dynsym_default (output_bfd, info, s))
       {
 	elf_hash_table (info)->data_index_section = s;
 	break;
@@ -6928,7 +7035,7 @@ _bfd_elf_init_2_index_sections (bfd *out
   for (s = output_bfd->sections; s != NULL; s = s->next)
     if (((s->flags & (SEC_EXCLUDE | SEC_ALLOC | SEC_READONLY))
 	 == (SEC_ALLOC | SEC_READONLY))
-	&& !_bfd_elf_link_omit_section_dynsym (output_bfd, info, s))
+	&& !_bfd_elf_omit_section_dynsym_default (output_bfd, info, s))
       {
 	elf_hash_table (info)->text_index_section = s;
 	break;
@@ -7414,6 +7521,26 @@ _bfd_elf_link_hash_hide_symbol (struct b
     }
 }
 
+/* Hide a symbol. */
+
+void
+_bfd_elf_link_hide_symbol (bfd *output_bfd,
+			   struct bfd_link_info *info,
+			   struct bfd_link_hash_entry *h)
+{
+  if (is_elf_hash_table (info->hash))
+    {
+      const struct elf_backend_data *bed
+	= get_elf_backend_data (output_bfd);
+      struct elf_link_hash_entry *eh
+	= (struct elf_link_hash_entry *) h;
+      bed->elf_backend_hide_symbol (info, eh, TRUE);
+      eh->def_dynamic = 0;
+      eh->ref_dynamic = 0;
+      eh->dynamic_def = 0;
+    }
+}
+
 /* Initialize an ELF linker hash table.  *TABLE has been zeroed by our
    caller.  */
 
@@ -8707,10 +8834,10 @@ elf_link_adjust_relocs (bfd *abfd,
 	  && ! info->gc_keep_exported)
 	{
 	  /* PR 21524: Let the user know if a symbol was removed by garbage collection.  */
-	  _bfd_error_handler (_("%B:%A: error: relocation references symbol %s which was removed by garbage collection."),
+	  _bfd_error_handler (_("%pB:%pA: error: relocation references symbol %s which was removed by garbage collection"),
 			      abfd, sec,
 			      (*rel_hash)->root.root.string);
-	  _bfd_error_handler (_("%B:%A: error: try relinking with --gc-keep-exported enabled."),
+	  _bfd_error_handler (_("%pB:%pA: error: try relinking with --gc-keep-exported enabled"),
 			      abfd, sec);
 	  bfd_set_error (bfd_error_invalid_operation);
 	  return FALSE;
@@ -8946,7 +9073,7 @@ elf_link_sort_relocs (bfd *abfd, struct 
 		    /* Section size is only divisible by rela.  */
 		    if (use_rela_initialised && !use_rela)
 		      {
-			_bfd_error_handler (_("%B: Unable to sort relocs - "
+			_bfd_error_handler (_("%pB: unable to sort relocs - "
 					      "they are in more than one size"),
 					    abfd);
 			bfd_set_error (bfd_error_invalid_operation);
@@ -8964,7 +9091,7 @@ elf_link_sort_relocs (bfd *abfd, struct 
 		/* Section size is only divisible by rel.  */
 		if (use_rela_initialised && use_rela)
 		  {
-		    _bfd_error_handler (_("%B: Unable to sort relocs - "
+		    _bfd_error_handler (_("%pB: unable to sort relocs - "
 					  "they are in more than one size"),
 					abfd);
 		    bfd_set_error (bfd_error_invalid_operation);
@@ -8980,7 +9107,7 @@ elf_link_sort_relocs (bfd *abfd, struct 
 	      {
 		/* The section size is not divisible by either -
 		   something is wrong.  */
-		_bfd_error_handler (_("%B: Unable to sort relocs - "
+		_bfd_error_handler (_("%pB: unable to sort relocs - "
 				      "they are of an unknown size"), abfd);
 		bfd_set_error (bfd_error_invalid_operation);
 		return 0;
@@ -9003,7 +9130,7 @@ elf_link_sort_relocs (bfd *abfd, struct 
 		    /* Section size is only divisible by rela.  */
 		    if (use_rela_initialised && !use_rela)
 		      {
-			_bfd_error_handler (_("%B: Unable to sort relocs - "
+			_bfd_error_handler (_("%pB: unable to sort relocs - "
 					      "they are in more than one size"),
 					    abfd);
 			bfd_set_error (bfd_error_invalid_operation);
@@ -9021,7 +9148,7 @@ elf_link_sort_relocs (bfd *abfd, struct 
 		/* Section size is only divisible by rel.  */
 		if (use_rela_initialised && use_rela)
 		  {
-		    _bfd_error_handler (_("%B: Unable to sort relocs - "
+		    _bfd_error_handler (_("%pB: unable to sort relocs - "
 					  "they are in more than one size"),
 					abfd);
 		    bfd_set_error (bfd_error_invalid_operation);
@@ -9037,7 +9164,7 @@ elf_link_sort_relocs (bfd *abfd, struct 
 	      {
 		/* The section size is not divisible by either -
 		   something is wrong.  */
-		_bfd_error_handler (_("%B: Unable to sort relocs - "
+		_bfd_error_handler (_("%pB: unable to sort relocs - "
 				      "they are of an unknown size"), abfd);
 		bfd_set_error (bfd_error_invalid_operation);
 		return 0;
@@ -9089,7 +9216,7 @@ elf_link_sort_relocs (bfd *abfd, struct 
   if (sort == NULL)
     {
       (*info->callbacks->warning)
-	(info, _("Not enough memory to sort relocations"), 0, abfd, 0, 0);
+	(info, _("not enough memory to sort relocations"), 0, abfd, 0, 0);
       return 0;
     }
 
@@ -9357,7 +9484,7 @@ check_dynsym (bfd *abfd, Elf_Internal_Sy
 	 beyond 64k.  */
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: Too many sections: %d (>= %d)"),
+	(_("%pB: too many sections: %d (>= %d)"),
 	 abfd, bfd_count_sections (abfd), SHN_LORESERVE & 0xffff);
       bfd_set_error (bfd_error_nonrepresentable_section);
       return FALSE;
@@ -9637,13 +9764,13 @@ elf_link_output_extsym (struct bfd_hash_
 
       if (ELF_ST_VISIBILITY (h->other) == STV_INTERNAL)
 	/* xgettext:c-format */
-	msg = _("%B: internal symbol `%s' in %B is referenced by DSO");
+	msg = _("%pB: internal symbol `%s' in %pB is referenced by DSO");
       else if (ELF_ST_VISIBILITY (h->other) == STV_HIDDEN)
 	/* xgettext:c-format */
-	msg = _("%B: hidden symbol `%s' in %B is referenced by DSO");
+	msg = _("%pB: hidden symbol `%s' in %pB is referenced by DSO");
       else
 	/* xgettext:c-format */
-	msg = _("%B: local symbol `%s' in %B is referenced by DSO");
+	msg = _("%pB: local symbol `%s' in %pB is referenced by DSO");
       def_bfd = flinfo->output_bfd;
       if (hi->root.u.def.section != bfd_abs_section_ptr)
 	def_bfd = hi->root.u.def.section->owner;
@@ -9729,7 +9856,7 @@ elf_link_output_extsym (struct bfd_hash_
 	      {
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: could not find output section %A for input section %A"),
+		  (_("%pB: could not find output section %pA for input section %pA"),
 		   flinfo->output_bfd, input_sec->output_section, input_sec);
 		bfd_set_error (bfd_error_nonrepresentable_section);
 		eoinfo->failed = TRUE;
@@ -9883,13 +10010,13 @@ elf_link_output_extsym (struct bfd_hash_
 
       if (ELF_ST_VISIBILITY (sym.st_other) == STV_PROTECTED)
 	/* xgettext:c-format */
-	msg = _("%B: protected symbol `%s' isn't defined");
+	msg = _("%pB: protected symbol `%s' isn't defined");
       else if (ELF_ST_VISIBILITY (sym.st_other) == STV_INTERNAL)
 	/* xgettext:c-format */
-	msg = _("%B: internal symbol `%s' isn't defined");
+	msg = _("%pB: internal symbol `%s' isn't defined");
       else
 	/* xgettext:c-format */
-	msg = _("%B: hidden symbol `%s' isn't defined");
+	msg = _("%pB: hidden symbol `%s' isn't defined");
       _bfd_error_handler (msg, flinfo->output_bfd, h->root.root.string);
       bfd_set_error (bfd_error_bad_value);
       eoinfo->failed = TRUE;
@@ -9920,7 +10047,7 @@ elf_link_output_extsym (struct bfd_hash_
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: No symbol version section for versioned symbol `%s'"),
+		(_("%pB: no symbol version section for versioned symbol `%s'"),
 		 flinfo->output_bfd, h->root.root.string);
 	      eoinfo->failed = TRUE;
 	      return FALSE;
@@ -10530,7 +10657,7 @@ elf_link_input_bfd (struct elf_final_lin
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("error: %B: size of section %A is not "
+		    (_("error: %pB: size of section %pA is not "
 		       "multiple of address size"),
 		     input_bfd, o);
 		  bfd_set_error (bfd_error_bad_value);
@@ -10575,9 +10702,9 @@ elf_link_input_bfd (struct elf_final_lin
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("error: %B contains a reloc (%#Lx) for section %A "
+			(_("error: %pB contains a reloc (%#" PRIx64 ") for section %pA "
 			   "that references a non-existent global symbol"),
-			 input_bfd, rel->r_info, o);
+			 input_bfd, (uint64_t) rel->r_info, o);
 		      bfd_set_error (bfd_error_bad_value);
 		      return FALSE;
 		    }
@@ -10661,8 +10788,8 @@ elf_link_input_bfd (struct elf_final_lin
 		      if (action_discarded & COMPLAIN)
 			(*flinfo->info->callbacks->einfo)
 			  /* xgettext:c-format */
-			  (_("%X`%s' referenced in section `%A' of %B: "
-			     "defined in discarded section `%A' of %B\n"),
+			  (_("%X`%s' referenced in section `%pA' of %pB: "
+			     "defined in discarded section `%pA' of %pB\n"),
 			   sym_name, o, input_bfd, sec, sec->owner);
 
 		      /* Try to do the best we can to support buggy old
@@ -11249,7 +11376,7 @@ elf_get_linked_section_vma (struct bfd_l
       if (bed->link_order_error_handler)
 	bed->link_order_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: warning: sh_link not set for section `%A'"), s->owner, s);
+	  (_("%pB: warning: sh_link not set for section `%pA'"), s->owner, s);
       return 0;
     }
   else
@@ -11330,13 +11457,13 @@ elf_fixup_link_order (bfd *abfd, asectio
 	  if (other_sec && linkorder_sec)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%A has both ordered [`%A' in %B] "
-		 "and unordered [`%A' in %B] sections"),
+	      (_("%pA has both ordered [`%pA' in %pB] "
+		 "and unordered [`%pA' in %pB] sections"),
 	       o, linkorder_sec, linkorder_sec->owner,
 	       other_sec, other_sec->owner);
 	  else
 	    _bfd_error_handler
-	      (_("%A has both ordered and unordered sections"), o);
+	      (_("%pA has both ordered and unordered sections"), o);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -11438,7 +11565,7 @@ elf_output_implib (bfd *abfd, struct bfd
   if (symcount == 0)
     {
       bfd_set_error (bfd_error_no_symbols);
-      _bfd_error_handler (_("%B: no symbol found for import library"),
+      _bfd_error_handler (_("%pB: no symbol found for import library"),
 			  implib_bfd);
       goto free_sym_buf;
     }
@@ -11592,6 +11719,8 @@ bfd_elf_final_link (bfd *abfd, struct bf
   std_attrs_section = get_elf_backend_data (abfd)->obj_attrs_section;
   for (o = abfd->sections; o != NULL; o = o->next)
     {
+      bfd_boolean remove = FALSE;
+
       if ((std_attrs_section && strcmp (o->name, std_attrs_section) == 0)
 	  || strcmp (o->name, ".gnu.attributes") == 0)
 	{
@@ -11608,15 +11737,24 @@ bfd_elf_final_link (bfd *abfd, struct bf
 	    }
 
 	  attr_size = bfd_elf_obj_attr_size (abfd);
+	  bfd_set_section_size (abfd, o, attr_size);
+	  /* Skip this section later on.  */
+	  o->map_head.link_order = NULL;
 	  if (attr_size)
-	    {
-	      bfd_set_section_size (abfd, o, attr_size);
-	      attr_section = o;
-	      /* Skip this section later on.  */
-	      o->map_head.link_order = NULL;
-	    }
+	    attr_section = o;
 	  else
-	    o->flags |= SEC_EXCLUDE;
+	    remove = TRUE;
+	}
+      else if ((o->flags & SEC_GROUP) != 0 && o->size == 0)
+	{
+	  /* Remove empty group section from linker output.  */
+	  remove = TRUE;
+	}
+      if (remove)
+	{
+	  o->flags |= SEC_EXCLUDE;
+	  bfd_section_list_remove (abfd, o);
+	  abfd->section_count--;
 	}
     }
 
@@ -12060,7 +12198,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
 		      bfd_set_error (bfd_error_wrong_format);
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: file class %s incompatible with %s"),
+			(_("%pB: file class %s incompatible with %s"),
 			 sub, iclass, oclass);
 		    }
 
@@ -12277,7 +12415,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
 
   if (info->out_implib_bfd && !elf_output_implib (abfd, info))
     {
-      _bfd_error_handler (_("%B: failed to generate import library"),
+      _bfd_error_handler (_("%pB: failed to generate import library"),
 			  info->out_implib_bfd);
       return FALSE;
     }
@@ -12536,10 +12674,10 @@ bfd_elf_final_link (bfd *abfd, struct bf
 		{
 		  if (info->error_textrel)
 		    info->callbacks->einfo
-		      (_("%P%X: read-only segment has dynamic relocations.\n"));
+		      (_("%P%X: read-only segment has dynamic relocations\n"));
 		  else
 		    info->callbacks->einfo
-		      (_("%P: warning: creating a DT_TEXTREL in a shared object.\n"));
+		      (_("%P: warning: creating a DT_TEXTREL in a shared object\n"));
 		  break;
 		}
 	    }
@@ -12785,20 +12923,31 @@ _bfd_elf_gc_mark_hook (asection *sec,
   return NULL;
 }
 
-/* Return the global debug definition section.  */
+/* Return the debug definition section.  */
 
 static asection *
 elf_gc_mark_debug_section (asection *sec ATTRIBUTE_UNUSED,
 			   struct bfd_link_info *info ATTRIBUTE_UNUSED,
 			   Elf_Internal_Rela *rel ATTRIBUTE_UNUSED,
 			   struct elf_link_hash_entry *h,
-			   Elf_Internal_Sym *sym ATTRIBUTE_UNUSED)
+			   Elf_Internal_Sym *sym)
 {
-  if (h != NULL
-      && (h->root.type == bfd_link_hash_defined
-	  || h->root.type == bfd_link_hash_defweak)
-      && (h->root.u.def.section->flags & SEC_DEBUGGING) != 0)
-    return h->root.u.def.section;
+  if (h != NULL)
+    {
+      /* Return the global debug definition section.  */
+      if ((h->root.type == bfd_link_hash_defined
+	   || h->root.type == bfd_link_hash_defweak)
+	  && (h->root.u.def.section->flags & SEC_DEBUGGING) != 0)
+	return h->root.u.def.section;
+    }
+  else
+    {
+      /* Return the local debug definition section.  */
+      asection *isec = bfd_section_from_elf_index (sec->owner,
+						   sym->st_shndx);
+      if ((isec->flags & SEC_DEBUGGING) != 0)
+	return isec;
+    }
 
   return NULL;
 }
@@ -12826,7 +12975,7 @@ _bfd_elf_gc_mark_rsec (struct bfd_link_i
       h = cookie->sym_hashes[r_symndx - cookie->extsymoff];
       if (h == NULL)
 	{
-	  info->callbacks->einfo (_("%F%P: corrupt input: %B\n"),
+	  info->callbacks->einfo (_("%F%P: corrupt input: %pB\n"),
 				  sec->owner);
 	  return NULL;
 	}
@@ -13148,7 +13297,7 @@ elf_gc_sweep (bfd *abfd, struct bfd_link
 
 	  if (info->print_gc_sections && o->size != 0)
 	    /* xgettext:c-format */
-	    _bfd_error_handler (_("Removing unused section '%A' in file '%B'"),
+	    _bfd_error_handler (_("removing unused section '%pA' in file '%pB'"),
 				o, sub);
 	}
     }
@@ -13277,7 +13426,7 @@ bfd_elf_gc_mark_dynamic_ref_symbol (stru
 
   if ((h->root.type == bfd_link_hash_defined
        || h->root.type == bfd_link_hash_defweak)
-      && (h->ref_dynamic
+      && ((h->ref_dynamic && !h->forced_local)
 	  || ((h->def_regular || ELF_COMMON_DEF_P (h))
 	      && ELF_ST_VISIBILITY (h->other) != STV_INTERNAL
 	      && ELF_ST_VISIBILITY (h->other) != STV_HIDDEN
@@ -13366,7 +13515,7 @@ bfd_elf_gc_sections (bfd *abfd, struct b
   if (!bed->can_gc_sections
       || !is_elf_hash_table (info->hash))
     {
-      _bfd_error_handler(_("Warning: gc-sections option ignored"));
+      _bfd_error_handler(_("warning: gc-sections option ignored"));
       return TRUE;
     }
 
@@ -13428,11 +13577,19 @@ bfd_elf_gc_sections (bfd *abfd, struct b
 
       /* Start at sections marked with SEC_KEEP (ref _bfd_elf_gc_keep).
 	 Also treat note sections as a root, if the section is not part
-	 of a group.  */
+	 of a group.  We must keep all PREINIT_ARRAY, INIT_ARRAY as
+	 well as FINI_ARRAY sections for ld -r.  */
       for (o = sub->sections; o != NULL; o = o->next)
 	if (!o->gc_mark
 	    && (o->flags & SEC_EXCLUDE) == 0
 	    && ((o->flags & SEC_KEEP) != 0
+		|| (bfd_link_relocatable (info)
+		    && ((elf_section_data (o)->this_hdr.sh_type
+			 == SHT_PREINIT_ARRAY)
+			|| (elf_section_data (o)->this_hdr.sh_type
+			    == SHT_INIT_ARRAY)
+			|| (elf_section_data (o)->this_hdr.sh_type
+			    == SHT_FINI_ARRAY)))
 		|| (elf_section_data (o)->this_hdr.sh_type == SHT_NOTE
 		    && elf_next_in_group (o) == NULL )))
 	  {
@@ -13484,8 +13641,8 @@ bfd_elf_gc_record_vtinherit (bfd *abfd,
     }
 
   /* xgettext:c-format */
-  _bfd_error_handler (_("%B: %A+%#Lx: No symbol found for INHERIT"),
-		      abfd, sec, offset);
+  _bfd_error_handler (_("%pB: %pA+%#" PRIx64 ": no symbol found for INHERIT"),
+		      abfd, sec, (uint64_t) offset);
   bfd_set_error (bfd_error_invalid_operation);
   return FALSE;
 
@@ -13660,7 +13817,7 @@ bfd_elf_lookup_section_flags (struct bfd
 	  if (!tf->valid)
 	    {
 	      info->callbacks->einfo
-		(_("Unrecognized INPUT_SECTION_FLAG %s\n"), tf->name);
+		(_("unrecognized INPUT_SECTION_FLAG %s\n"), tf->name);
 	      return FALSE;
 	    }
 	}
@@ -14330,8 +14487,9 @@ bfd_elf_define_start_stop (struct bfd_li
   if (h != NULL
       && (h->root.type == bfd_link_hash_undefined
 	  || h->root.type == bfd_link_hash_undefweak
-	  || (h->ref_regular && !h->def_regular)))
+	  || ((h->ref_regular || h->def_dynamic) && !h->def_regular)))
     {
+      bfd_boolean was_dynamic = h->ref_dynamic || h->def_dynamic;
       h->root.type = bfd_link_hash_defined;
       h->root.u.def.section = sec;
       h->root.u.def.value = 0;
@@ -14346,8 +14504,13 @@ bfd_elf_define_start_stop (struct bfd_li
 	  bed = get_elf_backend_data (info->output_bfd);
 	  (*bed->elf_backend_hide_symbol) (info, h, TRUE);
 	}
-      else if (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
-	h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_PROTECTED;
+      else
+	{
+	  if (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
+	    h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_PROTECTED;
+	  if (was_dynamic)
+	    bfd_elf_link_record_dynamic_symbol (info, h);
+	}
       return &h->root;
     }
   return 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.1.0.20180703/bfd/elf-linux-core.h ./bfd/elf-linux-core.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-linux-core.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf-linux-core.h	2018-07-10 02:06:11.000000000 +0000
@@ -45,8 +45,8 @@ struct elf_external_linux_prpsinfo32_ugi
     char pr_ppid[4];
     char pr_pgrp[4];
     char pr_sid[4];
-    char pr_fname[16];			/* Filename of executable.  */
-    char pr_psargs[80];			/* Initial part of arg list.  */
+    char pr_fname[16] ATTRIBUTE_NONSTRING;  /* Filename of executable.  */
+    char pr_psargs[80] ATTRIBUTE_NONSTRING; /* Initial part of arg list.  */
   };
 
 /* Helper function to copy an elf_internal_linux_prpsinfo in host
@@ -97,8 +97,8 @@ struct elf_external_linux_prpsinfo32_ugi
     char pr_ppid[4];
     char pr_pgrp[4];
     char pr_sid[4];
-    char pr_fname[16];			/* Filename of executable.  */
-    char pr_psargs[80];			/* Initial part of arg list.  */
+    char pr_fname[16] ATTRIBUTE_NONSTRING;  /* Filename of executable.  */
+    char pr_psargs[80] ATTRIBUTE_NONSTRING; /* Initial part of arg list.  */
   };
 
 /* Helper function to copy an elf_internal_linux_prpsinfo in host
@@ -150,8 +150,8 @@ struct elf_external_linux_prpsinfo64_ugi
     char pr_ppid[4];
     char pr_pgrp[4];
     char pr_sid[4];
-    char pr_fname[16];			/* Filename of executable.  */
-    char pr_psargs[80];			/* Initial part of arg list.  */
+    char pr_fname[16] ATTRIBUTE_NONSTRING;  /* Filename of executable.  */
+    char pr_psargs[80] ATTRIBUTE_NONSTRING; /* Initial part of arg list.  */
   };
 
 /* Helper function to copy an elf_internal_linux_prpsinfo in host
@@ -203,8 +203,8 @@ struct elf_external_linux_prpsinfo64_ugi
     char pr_ppid[4];
     char pr_pgrp[4];
     char pr_sid[4];
-    char pr_fname[16];			/* Filename of executable.  */
-    char pr_psargs[80];			/* Initial part of arg list.  */
+    char pr_fname[16] ATTRIBUTE_NONSTRING;  /* Filename of executable.  */
+    char pr_psargs[80] ATTRIBUTE_NONSTRING; /* Initial part of arg list.  */
   };
 
 /* Helper function to copy an elf_internal_linux_prpsinfo in host
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-m10200.c ./bfd/elf-m10200.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-m10200.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf-m10200.c	2018-07-10 02:06:11.000000000 +0000
@@ -212,16 +212,25 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 
 /* Set the howto pointer for an MN10200 ELF reloc.  */
 
-static void
-mn10200_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+mn10200_info_to_howto (bfd *abfd,
 		       arelent *cache_ptr,
 		       Elf_Internal_Rela *dst)
 {
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_MN10200_MAX);
+  if (r_type >= (unsigned int) R_MN10200_MAX)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  
   cache_ptr->howto = &elf_mn10200_howto_table[r_type];
+  return cache_ptr->howto != NULL;
 }
 
 /* Perform a relocation as part of a final link.  */
@@ -1378,7 +1387,7 @@ mn10200_elf_get_relocated_section_conten
 
 #define elf_backend_rela_normal 1
 #define elf_info_to_howto	mn10200_info_to_howto
-#define elf_info_to_howto_rel	0
+#define elf_info_to_howto_rel	NULL
 #define elf_backend_relocate_section mn10200_elf_relocate_section
 #define bfd_elf32_bfd_relax_section	mn10200_elf_relax_section
 #define bfd_elf32_bfd_get_relocated_section_contents \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-m10300.c ./bfd/elf-m10300.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-m10300.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf-m10300.c	2018-07-10 02:06:11.000000000 +0000
@@ -798,8 +798,8 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 
 /* Set the howto pointer for an MN10300 ELF reloc.  */
 
-static void
-mn10300_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+mn10300_info_to_howto (bfd *abfd,
 		       arelent *cache_ptr,
 		       Elf_Internal_Rela *dst)
 {
@@ -809,12 +809,13 @@ mn10300_info_to_howto (bfd *abfd ATTRIBU
   if (r_type >= R_MN10300_MAX)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised MN10300 reloc number: %d"),
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
 			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
-      r_type = R_MN10300_NONE;
+      return FALSE;
     }
   cache_ptr->howto = elf_mn10300_howto_table + r_type;
+  return TRUE;
 }
 
 static int
@@ -1025,7 +1026,7 @@ mn10300_do_tls_transition (bfd *	 input_
     default:
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: Unsupported transition from %s to %s"),
+	(_("%pB: unsupported transition from %s to %s"),
 	 input_bfd,
 	 elf_mn10300_howto_table[r_type].name,
 	 elf_mn10300_howto_table[tls_r_type].name);
@@ -1194,7 +1195,7 @@ mn10300_elf_check_relocs (bfd *abfd,
 		  else
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: %s' accessed both as normal and thread local symbol"),
+		      (_("%pB: %s' accessed both as normal and thread local symbol"),
 		       abfd, h ? h->root.root.string : "<local>");
 		}
 
@@ -2090,10 +2091,11 @@ mn10300_elf_relocate_section (bfd *outpu
 
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	      (_("%pB(%pA+%#" PRIx64 "): "
+		 "unresolvable %s relocation against symbol `%s'"),
 	       input_bfd,
 	       input_section,
-	       rel->r_offset,
+	       (uint64_t) rel->r_offset,
 	       howto->name,
 	       h->root.root.root.string);
 	}
@@ -2155,7 +2157,7 @@ mn10300_elf_relocate_section (bfd *outpu
 			" library (did you forget -fpic?)");
 	      else if (r_type == R_MN10300_GOT32)
 		/* xgettext:c-format */
-		msg = _("%B: taking the address of protected function"
+		msg = _("%pB: taking the address of protected function"
 			" '%s' cannot be done when making a shared library");
 	      else
 		msg = _("internal error: suspicious relocation type used"
@@ -5543,7 +5545,7 @@ mn10300_elf_mkobject (bfd *abfd)
 #endif
 
 #define elf_info_to_howto		mn10300_info_to_howto
-#define elf_info_to_howto_rel		0
+#define elf_info_to_howto_rel		NULL
 #define elf_backend_can_gc_sections	1
 #define elf_backend_rela_normal		1
 #define elf_backend_check_relocs	mn10300_elf_check_relocs
@@ -5574,8 +5576,7 @@ mn10300_elf_mkobject (bfd *abfd)
   _bfd_mn10300_elf_adjust_dynamic_symbol
 #define elf_backend_size_dynamic_sections \
   _bfd_mn10300_elf_size_dynamic_sections
-#define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+#define elf_backend_omit_section_dynsym _bfd_elf_omit_section_dynsym_all
 #define elf_backend_finish_dynamic_symbol \
   _bfd_mn10300_elf_finish_dynamic_symbol
 #define elf_backend_finish_dynamic_sections \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfn32-mips.c ./bfd/elfn32-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfn32-mips.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfn32-mips.c	2018-07-10 02:06:11.000000000 +0000
@@ -66,11 +66,9 @@ static bfd_reloc_status_type mips16_gpre
   (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
 static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup
   (bfd *, bfd_reloc_code_real_type);
-static reloc_howto_type *mips_elf_n32_rtype_to_howto
-  (unsigned int, bfd_boolean);
-static void mips_info_to_howto_rel
+static bfd_boolean mips_info_to_howto_rel
   (bfd *, arelent *, Elf_Internal_Rela *);
-static void mips_info_to_howto_rela
+static bfd_boolean mips_info_to_howto_rela
   (bfd *, arelent *, Elf_Internal_Rela *);
 static bfd_boolean mips_elf_sym_is_global
   (bfd *, asymbol *);
@@ -2401,6 +2399,166 @@ static reloc_howto_type elf_micromips_ho
 	 0,			/* src_mask */
 	 0x00000000,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  /* Low 16 bits of symbol value.  Note that the high 16 bits of symbol values
+     must be zero.  This is used for relaxation.  */
+  HOWTO (R_MICROMIPS_HI0_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_HI0_LO16",/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (158),
+  EMPTY_HOWTO (159),
+  EMPTY_HOWTO (160),
+  EMPTY_HOWTO (161),
+
+  /* TLS general dynamic variable reference.  */
+  HOWTO (R_MICROMIPS_TLS_GD,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_GD",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic variable reference.  */
+  HOWTO (R_MICROMIPS_TLS_LDM,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_LDM",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic offset.  */
+  HOWTO (R_MICROMIPS_TLS_DTPREL_HI16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_DTPREL_HI16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic offset.  */
+  HOWTO (R_MICROMIPS_TLS_DTPREL_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_DTPREL_LO16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_GOTTPREL,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_GOTTPREL",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (167),
+  EMPTY_HOWTO (168),
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_TPREL_HI16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_TPREL_HI16", /* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_TPREL_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_TPREL_LO16", /* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (171),
+
+  /* GP- and PC-relative relocations.  */
+  HOWTO (R_MICROMIPS_GPREL7_S2,	/* type */
+	 2,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 7,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf32_gprel16_reloc, /* special_function */
+	 "R_MICROMIPS_GPREL7_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000007f,		/* src_mask */
+	 0x0000007f,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_MICROMIPS_PC23_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 23,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_PC23_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x007fffff,		/* src_mask */
+	 0x007fffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
 };
 
 static reloc_howto_type elf_micromips_howto_table_rela[] =
@@ -2743,6 +2901,166 @@ static reloc_howto_type elf_micromips_ho
 	 0,			/* src_mask */
 	 0x00000000,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  /* Low 16 bits of symbol value.  Note that the high 16 bits of symbol values
+     must be zero.  This is used for relaxation.  */
+  HOWTO (R_MICROMIPS_HI0_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_HI0_LO16",/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (158),
+  EMPTY_HOWTO (159),
+  EMPTY_HOWTO (160),
+  EMPTY_HOWTO (161),
+
+  /* TLS general dynamic variable reference.  */
+  HOWTO (R_MICROMIPS_TLS_GD,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_GD",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic variable reference.  */
+  HOWTO (R_MICROMIPS_TLS_LDM,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_LDM",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic offset.  */
+  HOWTO (R_MICROMIPS_TLS_DTPREL_HI16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_DTPREL_HI16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic offset.  */
+  HOWTO (R_MICROMIPS_TLS_DTPREL_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_DTPREL_LO16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_GOTTPREL,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_GOTTPREL",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (167),
+  EMPTY_HOWTO (168),
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_TPREL_HI16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_TPREL_HI16", /* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS thread pointer offset.  */
+  HOWTO (R_MICROMIPS_TLS_TPREL_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_TLS_TPREL_LO16", /* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (171),
+
+  /* GP- and PC-relative relocations.  */
+  HOWTO (R_MICROMIPS_GPREL7_S2,	/* type */
+	 2,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 7,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf32_gprel16_reloc, /* special_function */
+	 "R_MICROMIPS_GPREL7_S2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000007f,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_MICROMIPS_PC23_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 23,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MICROMIPS_PC23_S2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x007fffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
 };
 
 /* GNU extension to record C++ vtable hierarchy */
@@ -3293,6 +3611,21 @@ static const struct elf_reloc_map microm
   { BFD_RELOC_MICROMIPS_CALL_LO16, R_MICROMIPS_CALL_LO16 - R_MICROMIPS_min },
   { BFD_RELOC_MICROMIPS_SCN_DISP, R_MICROMIPS_SCN_DISP - R_MICROMIPS_min },
   { BFD_RELOC_MICROMIPS_JALR, R_MICROMIPS_JALR - R_MICROMIPS_min },
+  /* There is no BFD reloc for R_MICROMIPS_HI0_LO16.  */
+  { BFD_RELOC_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_GD - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_LDM, R_MICROMIPS_TLS_LDM - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16,
+    R_MICROMIPS_TLS_DTPREL_HI16 - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16,
+    R_MICROMIPS_TLS_DTPREL_LO16 - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_GOTTPREL,
+    R_MICROMIPS_TLS_GOTTPREL - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_TPREL_HI16,
+    R_MICROMIPS_TLS_TPREL_HI16 - R_MICROMIPS_min },
+  { BFD_RELOC_MICROMIPS_TLS_TPREL_LO16,
+    R_MICROMIPS_TLS_TPREL_LO16 - R_MICROMIPS_min },
+  /* There is no BFD reloc for R_MICROMIPS_GPREL7_S2.  */
+  /* There is no BFD reloc for R_MICROMIPS_PC23_S2.  */
 };
 
 /* Given a BFD reloc type, return a howto structure.  */
@@ -3402,8 +3735,10 @@ bfd_elf32_bfd_reloc_name_lookup (bfd *ab
 /* Given a MIPS Elf_Internal_Rel, fill in an arelent structure.  */
 
 static reloc_howto_type *
-mips_elf_n32_rtype_to_howto (unsigned int r_type, bfd_boolean rela_p)
+mips_elf_n32_rtype_to_howto (bfd *abfd, unsigned int r_type, bfd_boolean rela_p)
 {
+  reloc_howto_type *howto = NULL;
+
   switch (r_type)
     {
     case R_MIPS_GNU_VTINHERIT:
@@ -3427,40 +3762,46 @@ mips_elf_n32_rtype_to_howto (unsigned in
       if (r_type >= R_MICROMIPS_min && r_type < R_MICROMIPS_max)
 	{
 	  if (rela_p)
-	    return &elf_micromips_howto_table_rela[r_type - R_MICROMIPS_min];
+	    howto = &elf_micromips_howto_table_rela[r_type - R_MICROMIPS_min];
 	  else
-	    return &elf_micromips_howto_table_rel[r_type - R_MICROMIPS_min];
+	    howto = &elf_micromips_howto_table_rel[r_type - R_MICROMIPS_min];
 	}
       if (r_type >= R_MIPS16_min && r_type < R_MIPS16_max)
 	{
 	  if (rela_p)
-	    return &elf_mips16_howto_table_rela[r_type - R_MIPS16_min];
+	    howto = &elf_mips16_howto_table_rela[r_type - R_MIPS16_min];
 	  else
-	    return &elf_mips16_howto_table_rel[r_type - R_MIPS16_min];
+	    howto = &elf_mips16_howto_table_rel[r_type - R_MIPS16_min];
 	}
-      if (r_type >= R_MIPS_max)
+      if (r_type < R_MIPS_max)
 	{
-	  _bfd_error_handler (_("unrecognised MIPS reloc number: %d"), r_type);
-	  bfd_set_error (bfd_error_bad_value);
-	  r_type = R_MIPS_NONE;
+	  if (rela_p)
+	    howto = &elf_mips_howto_table_rela[r_type];
+	  else
+	    howto = &elf_mips_howto_table_rel[r_type];
 	}
-      if (rela_p)
-	return &elf_mips_howto_table_rela[r_type];
-      else
-	return &elf_mips_howto_table_rel[r_type];
-      break;
+      if (howto != NULL && howto->name != NULL)
+	return howto;
+
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return NULL;
     }
 }
 
 /* Given a MIPS Elf_Internal_Rel, fill in an arelent structure.  */
 
-static void
+static bfd_boolean
 mips_info_to_howto_rel (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst)
 {
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  cache_ptr->howto = mips_elf_n32_rtype_to_howto (r_type, FALSE);
+  cache_ptr->howto = mips_elf_n32_rtype_to_howto (abfd, r_type, FALSE);
+
+  if (cache_ptr->howto == NULL)
+    return FALSE;
 
   /* The addend for a GPREL16 or LITERAL relocation comes from the GP
      value for the object file.  We get the addend now, rather than
@@ -3469,19 +3810,22 @@ mips_info_to_howto_rel (bfd *abfd, arele
   if (((*cache_ptr->sym_ptr_ptr)->flags & BSF_SECTION_SYM) != 0
       && (gprel16_reloc_p (r_type) || r_type == (unsigned int) R_MIPS_LITERAL))
     cache_ptr->addend = elf_gp (abfd);
+
+  return TRUE;
 }
 
 /* Given a MIPS Elf_Internal_Rela, fill in an arelent structure.  */
 
-static void
-mips_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+mips_info_to_howto_rela (bfd *abfd,
 			 arelent *cache_ptr, Elf_Internal_Rela *dst)
 {
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  cache_ptr->howto = mips_elf_n32_rtype_to_howto (r_type, TRUE);
+  cache_ptr->howto = mips_elf_n32_rtype_to_howto (abfd, r_type, TRUE);
   cache_ptr->addend = dst->r_addend;
+  return cache_ptr->howto != NULL;
 }
 
 /* Determine whether a symbol is global for the purposes of splitting
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfnn-aarch64.c ./bfd/elfnn-aarch64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfnn-aarch64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfnn-aarch64.c	2018-07-10 02:06:11.000000000 +0000
@@ -201,6 +201,14 @@
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12	\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12	\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC	\
+   || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12	\
+   || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC	\
+   || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12	\
+   || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC	\
+   || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12	\
+   || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC	\
+   || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12	\
+   || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC	\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0		\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC	\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1		\
@@ -617,6 +625,114 @@ static reloc_howto_type elfNN_aarch64_ho
 	 0xffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
+  /* Group relocations to create a 16, 32, 48 or 64 bit
+     PC relative address inline.  */
+
+  /* MOV[NZ]:   ((S+A-P) >>  0) & 0xffff */
+  HOWTO64 (AARCH64_R (MOVW_PREL_G0),	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 17,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (MOVW_PREL_G0),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffff,		/* src_mask */
+	 0xffff,		/* dst_mask */
+	 TRUE),		/* pcrel_offset */
+
+  /* MOVK:   ((S+A-P) >>  0) & 0xffff [no overflow check] */
+  HOWTO64 (AARCH64_R (MOVW_PREL_G0_NC),	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (MOVW_PREL_G0_NC),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffff,		/* src_mask */
+	 0xffff,		/* dst_mask */
+	 TRUE),		/* pcrel_offset */
+
+  /* MOV[NZ]:   ((S+A-P) >> 16) & 0xffff */
+  HOWTO64 (AARCH64_R (MOVW_PREL_G1),	/* type */
+	 16,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 17,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (MOVW_PREL_G1),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffff,		/* src_mask */
+	 0xffff,		/* dst_mask */
+	 TRUE),		/* pcrel_offset */
+
+  /* MOVK:   ((S+A-P) >> 16) & 0xffff [no overflow check] */
+  HOWTO64 (AARCH64_R (MOVW_PREL_G1_NC),	/* type */
+	 16,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (MOVW_PREL_G1_NC),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffff,		/* src_mask */
+	 0xffff,		/* dst_mask */
+	 TRUE),		/* pcrel_offset */
+
+  /* MOV[NZ]:   ((S+A-P) >> 32) & 0xffff */
+  HOWTO64 (AARCH64_R (MOVW_PREL_G2),	/* type */
+	 32,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 17,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (MOVW_PREL_G2),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffff,		/* src_mask */
+	 0xffff,		/* dst_mask */
+	 TRUE),		/* pcrel_offset */
+
+  /* MOVK:   ((S+A-P) >> 32) & 0xffff [no overflow check] */
+  HOWTO64 (AARCH64_R (MOVW_PREL_G2_NC),	/* type */
+	 32,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (MOVW_PREL_G2_NC),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffff,		/* src_mask */
+	 0xffff,		/* dst_mask */
+	 TRUE),		/* pcrel_offset */
+
+  /* MOV[NZ]:   ((S+A-P) >> 48) & 0xffff */
+  HOWTO64 (AARCH64_R (MOVW_PREL_G3),	/* type */
+	 48,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (MOVW_PREL_G3),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffff,		/* src_mask */
+	 0xffff,		/* dst_mask */
+	 TRUE),		/* pcrel_offset */
+
 /* Relocations to generate 19, 21 and 33 bit PC-relative load/store
    addresses: PG(x) is (x & ~0xfff).  */
 
@@ -1527,6 +1643,126 @@ static reloc_howto_type elfNN_aarch64_ho
 	 0xfff,			/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
+  /* LD/ST16: bit[11:1] of byte offset to module TLS base address.  */
+  HOWTO (AARCH64_R (TLSLE_LDST16_TPREL_LO12),	/* type */
+	 1,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 11,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 10,			/* bitpos */
+	 complain_overflow_unsigned,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (TLSLE_LDST16_TPREL_LO12),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x1ffc00,		/* src_mask */
+	 0x1ffc00,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Same as BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, but no overflow check.  */
+  HOWTO (AARCH64_R (TLSLE_LDST16_TPREL_LO12_NC),	/* type */
+	 1,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 11,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 10,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (TLSLE_LDST16_TPREL_LO12_NC),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x1ffc00,		/* src_mask */
+	 0x1ffc00,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* LD/ST32: bit[11:2] of byte offset to module TLS base address.  */
+  HOWTO (AARCH64_R (TLSLE_LDST32_TPREL_LO12),	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 10,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 10,			/* bitpos */
+	 complain_overflow_unsigned,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (TLSLE_LDST32_TPREL_LO12),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffc00,		/* src_mask */
+	 0xffc00,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Same as BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, but no overflow check.  */
+  HOWTO (AARCH64_R (TLSLE_LDST32_TPREL_LO12_NC),	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 10,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 10,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (TLSLE_LDST32_TPREL_LO12_NC),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffc00,		/* src_mask */
+	 0xffc00,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* LD/ST64: bit[11:3] of byte offset to module TLS base address.  */
+  HOWTO (AARCH64_R (TLSLE_LDST64_TPREL_LO12),	/* type */
+	 3,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 9,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 10,			/* bitpos */
+	 complain_overflow_unsigned,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (TLSLE_LDST64_TPREL_LO12),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x7fc00,		/* src_mask */
+	 0x7fc00,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Same as BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, but no overflow check.  */
+  HOWTO (AARCH64_R (TLSLE_LDST64_TPREL_LO12_NC),	/* type */
+	 3,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 9,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 10,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (TLSLE_LDST64_TPREL_LO12_NC),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x7fc00,		/* src_mask */
+	 0x7fc00,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* LD/ST8: bit[11:0] of byte offset to module TLS base address.  */
+  HOWTO (AARCH64_R (TLSLE_LDST8_TPREL_LO12),	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 12,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 10,			/* bitpos */
+	 complain_overflow_unsigned,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (TLSLE_LDST8_TPREL_LO12),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x3ffc00,		/* src_mask */
+	 0x3ffc00,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Same as BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, but no overflow check.  */
+  HOWTO (AARCH64_R (TLSLE_LDST8_TPREL_LO12_NC),	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 12,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 10,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 AARCH64_R_STR (TLSLE_LDST8_TPREL_LO12_NC),	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x3ffc00,		/* src_mask */
+	 0x3ffc00,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
   HOWTO (AARCH64_R (TLSDESC_LD_PREL19),	/* type */
 	 2,			/* rightshift */
 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
@@ -1864,7 +2100,7 @@ elfNN_aarch64_bfd_reloc_from_howto (relo
 /* Given R_TYPE, return the bfd internal relocation enumerator.  */
 
 static bfd_reloc_code_real_type
-elfNN_aarch64_bfd_reloc_from_type (unsigned int r_type)
+elfNN_aarch64_bfd_reloc_from_type (bfd *abfd, unsigned int r_type)
 {
   static bfd_boolean initialized_p = FALSE;
   /* Indexed by R_TYPE, values are offsets in the howto_table.  */
@@ -1887,7 +2123,8 @@ elfNN_aarch64_bfd_reloc_from_type (unsig
   /* PR 17512: file: b371e70a.  */
   if (r_type >= R_AARCH64_end)
     {
-      _bfd_error_handler (_("Invalid AArch64 reloc number: %d"), r_type);
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
       return BFD_RELOC_AARCH64_NONE;
     }
@@ -1946,7 +2183,7 @@ elfNN_aarch64_howto_from_bfd_reloc (bfd_
 }
 
 static reloc_howto_type *
-elfNN_aarch64_howto_from_type (unsigned int r_type)
+elfNN_aarch64_howto_from_type (bfd *abfd, unsigned int r_type)
 {
   bfd_reloc_code_real_type val;
   reloc_howto_type *howto;
@@ -1962,7 +2199,7 @@ elfNN_aarch64_howto_from_type (unsigned 
   if (r_type == R_AARCH64_NONE)
     return &elfNN_aarch64_howto_none;
 
-  val = elfNN_aarch64_bfd_reloc_from_type (r_type);
+  val = elfNN_aarch64_bfd_reloc_from_type (abfd, r_type);
   howto = elfNN_aarch64_howto_from_bfd_reloc (val);
 
   if (howto != NULL)
@@ -1972,14 +2209,22 @@ elfNN_aarch64_howto_from_type (unsigned 
   return NULL;
 }
 
-static void
-elfNN_aarch64_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *bfd_reloc,
+static bfd_boolean
+elfNN_aarch64_info_to_howto (bfd *abfd, arelent *bfd_reloc,
 			     Elf_Internal_Rela *elf_reloc)
 {
   unsigned int r_type;
 
   r_type = ELFNN_R_TYPE (elf_reloc->r_info);
-  bfd_reloc->howto = elfNN_aarch64_howto_from_type (r_type);
+  bfd_reloc->howto = elfNN_aarch64_howto_from_type (abfd, r_type);
+
+  if (bfd_reloc->howto == NULL)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, r_type);
+      return FALSE;
+    }
+  return TRUE;
 }
 
 static reloc_howto_type *
@@ -2619,11 +2864,11 @@ aarch64_relocate (unsigned int r_type, b
   reloc_howto_type *howto;
   bfd_vma place;
 
-  howto = elfNN_aarch64_howto_from_type (r_type);
+  howto = elfNN_aarch64_howto_from_type (input_bfd, r_type);
   place = (input_section->output_section->vma + input_section->output_offset
 	   + offset);
 
-  r_type = elfNN_aarch64_bfd_reloc_from_type (r_type);
+  r_type = elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type);
   value = _bfd_aarch64_elf_resolve_relocation (r_type, place, value, 0, FALSE);
   return _bfd_aarch64_elf_put_addend (input_bfd,
 				      input_section->contents + offset, r_type,
@@ -2851,7 +3096,7 @@ _bfd_aarch64_add_stub_entry_in_group (co
   if (stub_entry == NULL)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: cannot create stub entry %s"),
+      _bfd_error_handler (_("%pB: cannot create stub entry %s"),
 			  section->owner, stub_name);
       return NULL;
     }
@@ -3500,7 +3745,8 @@ _bfd_aarch64_erratum_835769_stub_name (u
 {
   char *stub_name = (char *) bfd_malloc
     (strlen ("__erratum_835769_veneer_") + 16);
-  sprintf (stub_name,"__erratum_835769_veneer_%d", num_fixes);
+  if (stub_name != NULL)
+    sprintf (stub_name,"__erratum_835769_veneer_%d", num_fixes);
   return stub_name;
 }
 
@@ -3696,8 +3942,10 @@ _bfd_aarch64_resize_stubs (struct elf_aa
       if (!strstr (section->name, STUB_SUFFIX))
 	continue;
 
+      /* Add space for a branch.  Add 8 bytes to keep section 8 byte aligned,
+	 as long branch stubs contain a 64-bit address.  */
       if (section->size)
-	section->size += 4;
+	section->size += 8;
 
       /* Ensure all stub sections have a size which is a multiple of
 	 4096.  This is important in order to ensure that the insertion
@@ -3709,9 +3957,7 @@ _bfd_aarch64_resize_stubs (struct elf_aa
     }
 }
 
-
-/* Construct an erratum 843419 workaround stub name.
- */
+/* Construct an erratum 843419 workaround stub name.  */
 
 static char *
 _bfd_aarch64_erratum_843419_stub_name (asection *input_section,
@@ -3747,6 +3993,8 @@ _bfd_aarch64_erratum_843419_fixup (uint3
   struct elf_aarch64_stub_hash_entry *stub_entry;
 
   stub_name = _bfd_aarch64_erratum_843419_stub_name (section, ldst_offset);
+  if (stub_name == NULL)
+    return FALSE;
   stub_entry = aarch64_stub_hash_lookup (&htab->stub_hash_table, stub_name,
 					 FALSE, FALSE);
   if (stub_entry)
@@ -3764,8 +4012,7 @@ _bfd_aarch64_erratum_843419_fixup (uint3
      If we placed workaround veneers in any other stub section then we
      could not assume that all relocations have been processed on the
      corresponding input section at the point we output the stub
-     section.
-   */
+     section.  */
 
   stub_entry = _bfd_aarch64_add_stub_entry_after (stub_name, section, htab);
   if (stub_entry == NULL)
@@ -4253,8 +4500,11 @@ elfNN_aarch64_build_stubs (struct bfd_li
 	return FALSE;
       stub_sec->size = 0;
 
+      /* Add a branch around the stub section, and a nop, to keep it 8 byte
+	 aligned, as long branch stubs contain a 64-bit address.  */
       bfd_putl32 (0x14000000 | (size >> 2), stub_sec->contents);
-      stub_sec->size += 4;
+      bfd_putl32 (INSN_NOP, stub_sec->contents + 4);
+      stub_sec->size += 8;
     }
 
   /* Build the stubs as directed by the stub hash table.  */
@@ -4600,7 +4850,7 @@ aarch64_tls_transition (bfd *input_bfd,
 			unsigned long r_symndx)
 {
   bfd_reloc_code_real_type bfd_r_type
-    = elfNN_aarch64_bfd_reloc_from_type (r_type);
+    = elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type);
 
   if (! aarch64_can_relax_tls (input_bfd, info, bfd_r_type, h, r_symndx))
     return bfd_r_type;
@@ -4776,7 +5026,7 @@ make_branch_to_erratum_835769_stub (stru
   abfd = stub_entry->target_section->owner;
   if (!aarch64_valid_branch_p (veneer_entry_loc, veneered_insn_loc))
     _bfd_error_handler
-      (_("%B: error: Erratum 835769 stub out "
+      (_("%pB: error: erratum 835769 stub out "
 	 "of range (input file too large)"), abfd);
 
   target = stub_entry->target_value;
@@ -4857,7 +5107,7 @@ _bfd_aarch64_erratum_843419_branch_to_st
       abfd = stub_entry->target_section->owner;
       if (!aarch64_valid_branch_p (veneer_entry_loc, veneered_insn_loc))
 	_bfd_error_handler
-	  (_("%B: error: Erratum 843419 stub out "
+	  (_("%pB: error: erratum 843419 stub out "
 	     "of range (input file too large)"), abfd);
 
       branch_insn = 0x14000000;
@@ -4954,6 +5204,7 @@ elfNN_aarch64_final_link_relocate (reloc
   asection *base_got;
   bfd_vma orig_value = value;
   bfd_boolean resolved_to_zero;
+  bfd_boolean abs_symbol_p;
 
   globals = elf_aarch64_hash_table (info);
 
@@ -4973,6 +5224,9 @@ elfNN_aarch64_final_link_relocate (reloc
 
   weak_undef_p = (h ? h->root.type == bfd_link_hash_undefweak
 		  : bfd_is_und_section (sym_sec));
+  abs_symbol_p = (h !=NULL && h->root.type == bfd_link_hash_defined
+		  && bfd_is_abs_section (h->root.u.def.section));
+
 
   /* Since STT_GNU_IFUNC symbol must go through PLT, we handle
      it here if it is defined in a non-shared object.  */
@@ -4986,6 +5240,11 @@ elfNN_aarch64_final_link_relocate (reloc
 
       if ((input_section->flags & SEC_ALLOC) == 0)
 	{
+	  /* If this is a SHT_NOTE section without SHF_ALLOC, treat
+	     STT_GNU_IFUNC symbol as STT_FUNC.  */
+	  if (elf_section_type (input_section) == SHT_NOTE)
+	    goto skip_ifunc;
+
 	  /* Dynamic relocs are not propagated for SEC_DEBUGGING
 	     sections because such sections are not SEC_ALLOC and
 	     thus ld.so will not process them.  */
@@ -4998,8 +5257,10 @@ elfNN_aarch64_final_link_relocate (reloc
 	    name = bfd_elf_sym_name (input_bfd, symtab_hdr, sym, NULL);
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
-	     input_bfd, input_section, rel->r_offset, howto->name, name);
+	    (_("%pB(%pA+%#" PRIx64 "): "
+	       "unresolvable %s relocation against symbol `%s'"),
+	     input_bfd, input_section, (uint64_t) rel->r_offset,
+	     howto->name, name);
 	  bfd_set_error (bfd_error_bad_value);
 	  return bfd_reloc_notsupported;
 	}
@@ -5021,7 +5282,7 @@ bad_ifunc_reloc:
 				     NULL);
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: relocation %s against STT_GNU_IFUNC "
+	    (_("%pB: relocation %s against STT_GNU_IFUNC "
 	       "symbol `%s' isn't handled by %s"), input_bfd,
 	     howto->name, name, __FUNCTION__);
 	  bfd_set_error (bfd_error_bad_value);
@@ -5037,9 +5298,9 @@ bad_ifunc_reloc:
 					 sym, NULL);
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocation %s against STT_GNU_IFUNC "
-		   "symbol `%s' has non-zero addend: %Ld"),
-		 input_bfd, howto->name, name, rel->r_addend);
+		(_("%pB: relocation %s against STT_GNU_IFUNC "
+		   "symbol `%s' has non-zero addend: %" PRId64),
+		 input_bfd, howto->name, name, (int64_t) rel->r_addend);
 	      bfd_set_error (bfd_error_bad_value);
 	      return bfd_reloc_notsupported;
 	    }
@@ -5179,6 +5440,7 @@ bad_ifunc_reloc:
 	}
     }
 
+ skip_ifunc:
   resolved_to_zero = (h != NULL
 		      && UNDEFWEAK_NO_DYNAMIC_RELOC (info, h));
 
@@ -5238,6 +5500,12 @@ bad_ifunc_reloc:
 	      skip = TRUE;
 	      relocate = TRUE;
 	    }
+	  else if (abs_symbol_p)
+	    {
+	      /* Local absolute symbol.  */
+	      skip = (h->forced_local || (h->dynindx == -1));
+	      relocate = skip;
+	    }
 
 	  outrel.r_offset += (input_section->output_section->vma
 			      + input_section->output_offset);
@@ -5247,8 +5515,7 @@ bad_ifunc_reloc:
 	  else if (h != NULL
 		   && h->dynindx != -1
 		   && (!bfd_link_pic (info)
-		       || !(bfd_link_pie (info)
-			    || SYMBOLIC_BIND (info, h))
+		       || !(bfd_link_pie (info) || SYMBOLIC_BIND (info, h))
 		       || !h->def_regular))
 	    outrel.r_info = ELFNN_R_INFO (h->dynindx, r_type);
 	  else
@@ -5354,6 +5621,13 @@ bad_ifunc_reloc:
     case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
     case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
     case BFD_RELOC_AARCH64_LD_LO19_PCREL:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G0:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G0_NC:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G1:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G1_NC:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G2:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G2_NC:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G3:
       if (bfd_link_pic (info)
 	  && (input_section->flags & SEC_ALLOC) != 0
 	  && (input_section->flags & SEC_READONLY) != 0
@@ -5363,7 +5637,7 @@ bad_ifunc_reloc:
 
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: relocation %s against symbol `%s' which may bind "
+	    (_("%pB: relocation %s against symbol `%s' which may bind "
 	       "externally can not be used when making a shared object; "
 	       "recompile with -fPIC"),
 	     input_bfd, elfNN_aarch64_howto_table[howto_index].name,
@@ -5454,7 +5728,7 @@ bad_ifunc_reloc:
 	    int howto_index = bfd_r_type - BFD_RELOC_AARCH64_RELOC_START;
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: Local symbol descriptor table be NULL when applying "
+	      (_("%pB: local symbol descriptor table be NULL when applying "
 		 "relocation %s against local symbol"),
 	       input_bfd, elfNN_aarch64_howto_table[howto_index].name);
 	    abort ();
@@ -5566,6 +5840,14 @@ bad_ifunc_reloc:
     case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12:
     case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12:
     case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12:
+    case BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12:
+    case BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12:
+    case BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12:
+    case BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC:
     case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0:
     case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
     case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1:
@@ -5676,7 +5958,7 @@ elfNN_aarch64_tls_relax (struct elf_aarc
 
   BFD_ASSERT (globals && input_bfd && contents && rel);
 
-  switch (elfNN_aarch64_bfd_reloc_from_type (r_type))
+  switch (elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type))
     {
     case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
     case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
@@ -6098,7 +6380,8 @@ elfNN_aarch64_relocate_section (bfd *out
       r_symndx = ELFNN_R_SYM (rel->r_info);
       r_type = ELFNN_R_TYPE (rel->r_info);
 
-      howto = bfd_reloc.howto = elfNN_aarch64_howto_from_type (r_type);
+      bfd_reloc.howto = elfNN_aarch64_howto_from_type (input_bfd, r_type);
+      howto = bfd_reloc.howto;
 
       if (howto == NULL)
 	return _bfd_unrecognized_reloc (input_bfd, input_section, r_type);
@@ -6182,11 +6465,11 @@ elfNN_aarch64_relocate_section (bfd *out
 	  _bfd_error_handler
 	    ((sym_type == STT_TLS
 	      /* xgettext:c-format */
-	      ? _("%B(%A+%#Lx): %s used with TLS symbol %s")
+	      ? _("%pB(%pA+%#" PRIx64 "): %s used with TLS symbol %s")
 	      /* xgettext:c-format */
-	      : _("%B(%A+%#Lx): %s used with non-TLS symbol %s")),
+	      : _("%pB(%pA+%#" PRIx64 "): %s used with non-TLS symbol %s")),
 	     input_bfd,
-	     input_section, rel->r_offset, howto->name, name);
+	     input_section, (uint64_t) rel->r_offset, howto->name, name);
 	}
 
       /* We relax only if we can see that there can be a valid transition
@@ -6226,7 +6509,7 @@ elfNN_aarch64_relocate_section (bfd *out
 					       h, &unresolved_reloc,
 					       save_addend, &addend, sym);
 
-      switch (elfNN_aarch64_bfd_reloc_from_type (r_type))
+      switch (elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type))
 	{
 	case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
 	case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
@@ -6269,7 +6552,7 @@ elfNN_aarch64_relocate_section (bfd *out
 		  bfd_elfNN_swap_reloca_out (output_bfd, &rela, loc);
 
 		  bfd_reloc_code_real_type real_type =
-		    elfNN_aarch64_bfd_reloc_from_type (r_type);
+		    elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type);
 
 		  if (real_type == BFD_RELOC_AARCH64_TLSLD_ADR_PREL21
 		      || real_type == BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21
@@ -6454,8 +6737,9 @@ elfNN_aarch64_relocate_section (bfd *out
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
-	     input_bfd, input_section, rel->r_offset, howto->name,
+	    (_("%pB(%pA+%#" PRIx64 "): "
+	       "unresolvable %s relocation against symbol `%s'"),
+	     input_bfd, input_section, (uint64_t) rel->r_offset, howto->name,
 	     h->root.root.string);
 	  return FALSE;
 	}
@@ -6463,7 +6747,7 @@ elfNN_aarch64_relocate_section (bfd *out
       if (r != bfd_reloc_ok && r != bfd_reloc_continue)
 	{
 	  bfd_reloc_code_real_type real_r_type
-	    = elfNN_aarch64_bfd_reloc_from_type (r_type);
+	    = elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type);
 
 	  switch (r)
 	    {
@@ -6476,7 +6760,7 @@ elfNN_aarch64_relocate_section (bfd *out
 		{
 		  (*info->callbacks->warning)
 		    (info,
-		     _("Too many GOT entries for -fpic, "
+		     _("too many GOT entries for -fpic, "
 		       "please recompile with -fPIC"),
 		     name, input_bfd, input_section, rel->r_offset);
 		  return FALSE;
@@ -6504,9 +6788,9 @@ elfNN_aarch64_relocate_section (bfd *out
 		      || real_r_type == BFD_RELOC_AARCH64_LDST128_LO12))
 		{
 		  info->callbacks->warning
-		    (info, _("One possible cause of this error is that the \
+		    (info, _("one possible cause of this error is that the \
 symbol is being referenced in the indicated code as if it had a larger \
-alignment than was declared where it was defined."),
+alignment than was declared where it was defined"),
 		     name, input_bfd, input_section, rel->r_offset);
 		}
 	      break;
@@ -6975,7 +7259,7 @@ elfNN_aarch64_check_relocs (bfd *abfd, s
       if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: bad symbol index: %d"), abfd, r_symndx);
+	  _bfd_error_handler (_("%pB: bad symbol index: %d"), abfd, r_symndx);
 	  return FALSE;
 	}
 
@@ -7074,14 +7358,23 @@ elfNN_aarch64_check_relocs (bfd *abfd, s
 #if ARCH_SIZE == 64
 	case BFD_RELOC_AARCH64_32:
 #endif
-	  if (bfd_link_pic (info)
-	      && (sec->flags & SEC_ALLOC) != 0
-	      && (sec->flags & SEC_READONLY) != 0)
+	  if (bfd_link_pic (info) && (sec->flags & SEC_ALLOC) != 0)
 	    {
+	      if (h != NULL
+		  /* This is an absolute symbol.  It represents a value instead
+		     of an address.  */
+		  && ((h->root.type == bfd_link_hash_defined
+		       && bfd_is_abs_section (h->root.u.def.section))
+		      /* This is an undefined symbol.  */
+		      || h->root.type == bfd_link_hash_undefined))
+		break;
+
+	      /* For local symbols, defined global symbols in a non-ABS section,
+		 it is assumed that the value is an address.  */
 	      int howto_index = bfd_r_type - BFD_RELOC_AARCH64_RELOC_START;
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocation %s against `%s' can not be used when making "
+		(_("%pB: relocation %s against `%s' can not be used when making "
 		   "a shared object"),
 		 abfd, elfNN_aarch64_howto_table[howto_index].name,
 		 (h) ? h->root.root.string : "a local symbol");
@@ -7100,7 +7393,7 @@ elfNN_aarch64_check_relocs (bfd *abfd, s
 	      int howto_index = bfd_r_type - BFD_RELOC_AARCH64_RELOC_START;
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocation %s against `%s' can not be used when making "
+		(_("%pB: relocation %s against `%s' can not be used when making "
 		   "a shared object; recompile with -fPIC"),
 		 abfd, elfNN_aarch64_howto_table[howto_index].name,
 		 (h) ? h->root.root.string : "a local symbol");
@@ -7532,7 +7825,7 @@ elfNN_aarch64_reloc_type_class (const st
 				       0, &sym))
 	    {
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B symbol number %lu references"
+	      _bfd_error_handler (_("%pB symbol number %lu references"
 				    " nonexistent SHT_SYMTAB_SHNDX section"),
 				    abfd, r_symndx);
 	      /* Ideally an error class should be returned here.  */
@@ -8316,7 +8609,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -9169,7 +9462,7 @@ elfNN_aarch64_finish_dynamic_sections (b
       if (bfd_is_abs_section (htab->root.sgotplt->output_section))
 	{
 	  _bfd_error_handler
-	    (_("discarded output section: `%A'"), htab->root.sgotplt);
+	    (_("discarded output section: `%pA'"), htab->root.sgotplt);
 	  return FALSE;
 	}
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfnn-ia64.c ./bfd/elfnn-ia64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfnn-ia64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfnn-ia64.c	2018-07-10 02:06:11.000000000 +0000
@@ -197,13 +197,24 @@ static asection *get_pltoff
 
 /* Given a ELF reloc, return the matching HOWTO structure.  */
 
-static void
+static bfd_boolean
 elfNN_ia64_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 			  arelent *bfd_reloc,
 			  Elf_Internal_Rela *elf_reloc)
 {
-  bfd_reloc->howto
-    = ia64_elf_lookup_howto ((unsigned int) ELFNN_R_TYPE (elf_reloc->r_info));
+  unsigned int r_type = ELF32_R_TYPE (elf_reloc->r_info);
+
+  bfd_reloc->howto = ia64_elf_lookup_howto (r_type);
+  if (bfd_reloc->howto == NULL)
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
+  return TRUE;
 }
 
 #define PLT_HEADER_SIZE		(3 * 16)
@@ -593,6 +604,9 @@ elfNN_ia64_relax_section (bfd *abfd, ase
 		     1, change it to slot 2.  */
 		  if ((irel->r_offset & 3) == 1)
 		    irel->r_offset += 1;
+
+		  changed_contents = TRUE;
+		  changed_relocs = TRUE;
 		}
 
 	      continue;
@@ -607,6 +621,9 @@ elfNN_ia64_relax_section (bfd *abfd, ase
 
 	      /* Make the relocation offset point to slot 1.  */
 	      irel->r_offset = (irel->r_offset & ~((bfd_vma) 0x3)) + 1;
+
+	      changed_contents = TRUE;
+	      changed_relocs = TRUE;
 	      continue;
 	    }
 
@@ -617,9 +634,9 @@ elfNN_ia64_relax_section (bfd *abfd, ase
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: Can't relax br at %#Lx in section `%A'."
-		   " Please use brl or indirect branch."),
-		 sec->owner, roff, sec);
+		(_("%pB: can't relax br at %#" PRIx64 " in section `%pA';"
+		   " please use brl or indirect branch"),
+		 sec->owner, (uint64_t) roff, sec);
 	      bfd_set_error (bfd_error_bad_value);
 	      goto error_return;
 	    }
@@ -3693,8 +3710,8 @@ elfNN_ia64_choose_gp (bfd *abfd, struct 
 overflow:
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: short data segment overflowed (%#Lx >= 0x400000)"),
-	     abfd, max_short_vma - min_short_vma);
+	    (_("%pB: short data segment overflowed (%#" PRIx64 " >= 0x400000)"),
+	     abfd, (uint64_t) (max_short_vma - min_short_vma));
 	  return FALSE;
 	}
       else if ((gp_val > min_short_vma
@@ -3703,7 +3720,7 @@ overflow:
 		   && max_short_vma - gp_val >= 0x200000))
 	{
 	  _bfd_error_handler
-	    (_("%B: __gp does not cover short data segment"), abfd);
+	    (_("%pB: __gp does not cover short data segment"), abfd);
 	  return FALSE;
 	}
     }
@@ -3842,15 +3859,21 @@ elfNN_ia64_relocate_section (bfd *output
       r_type = ELFNN_R_TYPE (rel->r_info);
       if (r_type > R_IA64_MAX_RELOC_CODE)
 	{
-	  _bfd_error_handler
-	    /* xgettext:c-format */
-	    (_("%B: unknown relocation type %d"), input_bfd, (int) r_type);
+	  /* xgettext:c-format */
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      input_bfd, (int) r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  ret_val = FALSE;
 	  continue;
 	}
 
       howto = ia64_elf_lookup_howto (r_type);
+      if (howto == NULL)
+	{
+	  ret_val = FALSE;
+	  continue;
+	}
+      
       r_symndx = ELFNN_R_SYM (rel->r_info);
       h = NULL;
       sym = NULL;
@@ -3971,7 +3994,7 @@ elfNN_ia64_relocate_section (bfd *output
 		     shared libraries nor dynamic executables.  */
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: non-pic code with imm relocation against dynamic symbol `%s'"),
+		    (_("%pB: non-pic code with imm relocation against dynamic symbol `%s'"),
 		     input_bfd,
 		     h ? h->root.root.string
 		       : bfd_elf_sym_name (input_bfd, symtab_hdr, sym,
@@ -4039,7 +4062,7 @@ elfNN_ia64_relocate_section (bfd *output
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: @gprel relocation against dynamic symbol %s"),
+		(_("%pB: @gprel relocation against dynamic symbol %s"),
 		 input_bfd,
 		 h ? h->root.root.string
 		   : bfd_elf_sym_name (input_bfd, symtab_hdr, sym,
@@ -4102,7 +4125,7 @@ elfNN_ia64_relocate_section (bfd *output
 		      /* ??? People shouldn't be doing non-pic code in
 			 shared libraries.  Hork.  */
 		      _bfd_error_handler
-			(_("%B: linking non-pic code in a position independent executable"),
+			(_("%pB: linking non-pic code in a position independent executable"),
 			 input_bfd);
 		      ret_val = FALSE;
 		      continue;
@@ -4240,13 +4263,13 @@ elfNN_ia64_relocate_section (bfd *output
 
 	      if (r_type == R_IA64_PCREL21BI)
 		/* xgettext:c-format */
-		msg = _("%B: @internal branch to dynamic symbol %s");
+		msg = _("%pB: @internal branch to dynamic symbol %s");
 	      else if (r_type == R_IA64_PCREL21F || r_type == R_IA64_PCREL21M)
 		/* xgettext:c-format */
-		msg = _("%B: speculation fixup to dynamic symbol %s");
+		msg = _("%pB: speculation fixup to dynamic symbol %s");
 	      else
 		/* xgettext:c-format */
-		msg = _("%B: @pcrel relocation against dynamic symbol %s");
+		msg = _("%pB: @pcrel relocation against dynamic symbol %s");
 	      _bfd_error_handler (msg, input_bfd,
 				  h ? h->root.root.string
 				  : bfd_elf_sym_name (input_bfd,
@@ -4481,10 +4504,10 @@ missing_tls_sec:
 	      case R_IA64_LTOFF_DTPREL22:
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: missing TLS section for relocation %s against `%s'"
-		     " at %#Lx in section `%A'."),
+		  (_("%pB: missing TLS section for relocation %s against `%s'"
+		     " at %#" PRIx64 " in section `%pA'."),
 		   input_bfd, howto->name, name,
-		   rel->r_offset, input_section);
+		   (uint64_t) rel->r_offset, input_section);
 		break;
 
 	      case R_IA64_PCREL21B:
@@ -4498,10 +4521,11 @@ missing_tls_sec:
 		       that the section is too big to relax.  */
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: Can't relax br (%s) to `%s' at %#Lx"
-			 " in section `%A' with size %#Lx (> 0x1000000)."),
-		       input_bfd, howto->name, name, rel->r_offset,
-		       input_section, input_section->size);
+		      (_("%pB: Can't relax br (%s) to `%s' at %#" PRIx64
+			 " in section `%pA' with size %#" PRIx64
+			 " (> 0x1000000)."),
+		       input_bfd, howto->name, name, (uint64_t) rel->r_offset,
+		       input_section, (uint64_t) input_section->size);
 		    break;
 		  }
 		/* Fall through.  */
@@ -4755,7 +4779,7 @@ elfNN_ia64_merge_private_bfd_data (bfd *
   if ((in_flags & EF_IA_64_TRAPNIL) != (out_flags & EF_IA_64_TRAPNIL))
     {
       _bfd_error_handler
-	(_("%B: linking trap-on-NULL-dereference with non-trapping files"),
+	(_("%pB: linking trap-on-NULL-dereference with non-trapping files"),
 	 ibfd);
 
       bfd_set_error (bfd_error_bad_value);
@@ -4764,7 +4788,7 @@ elfNN_ia64_merge_private_bfd_data (bfd *
   if ((in_flags & EF_IA_64_BE) != (out_flags & EF_IA_64_BE))
     {
       _bfd_error_handler
-	(_("%B: linking big-endian files with little-endian files"),
+	(_("%pB: linking big-endian files with little-endian files"),
 	 ibfd);
 
       bfd_set_error (bfd_error_bad_value);
@@ -4773,7 +4797,7 @@ elfNN_ia64_merge_private_bfd_data (bfd *
   if ((in_flags & EF_IA_64_ABI64) != (out_flags & EF_IA_64_ABI64))
     {
       _bfd_error_handler
-	(_("%B: linking 64-bit files with 32-bit files"),
+	(_("%pB: linking 64-bit files with 32-bit files"),
 	 ibfd);
 
       bfd_set_error (bfd_error_bad_value);
@@ -4782,7 +4806,7 @@ elfNN_ia64_merge_private_bfd_data (bfd *
   if ((in_flags & EF_IA_64_CONS_GP) != (out_flags & EF_IA_64_CONS_GP))
     {
       _bfd_error_handler
-	(_("%B: linking constant-gp files with non-constant-gp files"),
+	(_("%pB: linking constant-gp files with non-constant-gp files"),
 	 ibfd);
 
       bfd_set_error (bfd_error_bad_value);
@@ -4792,7 +4816,7 @@ elfNN_ia64_merge_private_bfd_data (bfd *
       != (out_flags & EF_IA_64_NOFUNCDESC_CONS_GP))
     {
       _bfd_error_handler
-	(_("%B: linking auto-pic files with non-auto-pic files"),
+	(_("%pB: linking auto-pic files with non-auto-pic files"),
 	 ibfd);
 
       bfd_set_error (bfd_error_bad_value);
@@ -5046,7 +5070,7 @@ elfNN_hpux_backend_symbol_processing (bf
 #define elf_backend_size_dynamic_sections \
 	elfNN_ia64_size_dynamic_sections
 #define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+	_bfd_elf_omit_section_dynsym_all
 #define elf_backend_relocate_section \
 	elfNN_ia64_relocate_section
 #define elf_backend_finish_dynamic_symbol \
@@ -5064,6 +5088,7 @@ elfNN_hpux_backend_symbol_processing (bf
 	elfNN_ia64_print_private_bfd_data
 
 #define elf_backend_plt_readonly	1
+#define elf_backend_can_gc_sections	1
 #define elf_backend_want_plt_sym	0
 #define elf_backend_plt_alignment	5
 #define elf_backend_got_header_size	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.1.0.20180703/bfd/elfnn-riscv.c ./bfd/elfnn-riscv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfnn-riscv.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfnn-riscv.c	2018-07-10 02:06:11.000000000 +0000
@@ -121,12 +121,13 @@ struct riscv_elf_link_hash_table
   (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \
   == RISCV_ELF_DATA ? ((struct riscv_elf_link_hash_table *) ((p)->hash)) : NULL)
 
-static void
-riscv_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+riscv_info_to_howto_rela (bfd *abfd,
 			  arelent *cache_ptr,
 			  Elf_Internal_Rela *dst)
 {
-  cache_ptr->howto = riscv_elf_rtype_to_howto (ELFNN_R_TYPE (dst->r_info));
+  cache_ptr->howto = riscv_elf_rtype_to_howto (abfd, ELFNN_R_TYPE (dst->r_info));
+  return cache_ptr->howto != NULL;
 }
 
 static void
@@ -424,7 +425,7 @@ riscv_elf_record_tls_type (bfd *abfd, st
   if ((*new_tls_type & GOT_NORMAL) && (*new_tls_type & ~GOT_NORMAL))
     {
       (*_bfd_error_handler)
-	(_("%B: `%s' accessed both as normal and thread local symbol"),
+	(_("%pB: `%s' accessed both as normal and thread local symbol"),
 	 abfd, h ? h->root.root.string : "<local>");
       return FALSE;
     }
@@ -467,11 +468,13 @@ riscv_elf_record_got_reference (bfd *abf
 static bfd_boolean
 bad_static_reloc (bfd *abfd, unsigned r_type, struct elf_link_hash_entry *h)
 {
+  reloc_howto_type * r = riscv_elf_rtype_to_howto (abfd, r_type);
+
   (*_bfd_error_handler)
-    (_("%B: relocation %s against `%s' can not be used when making a shared "
+    (_("%pB: relocation %s against `%s' can not be used when making a shared "
        "object; recompile with -fPIC"),
-      abfd, riscv_elf_rtype_to_howto (r_type)->name,
-      h != NULL ? h->root.root.string : "a local symbol");
+     abfd, r ? r->name : _("<unknown>"),
+     h != NULL ? h->root.root.string : "a local symbol");
   bfd_set_error (bfd_error_bad_value);
   return FALSE;
 }
@@ -510,7 +513,7 @@ riscv_elf_check_relocs (bfd *abfd, struc
 
       if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr))
 	{
-	  (*_bfd_error_handler) (_("%B: bad symbol index: %d"),
+	  (*_bfd_error_handler) (_("%pB: bad symbol index: %d"),
 				 abfd, r_symndx);
 	  return FALSE;
 	}
@@ -624,9 +627,11 @@ riscv_elf_check_relocs (bfd *abfd, struc
 	     may need to keep relocations for symbols satisfied by a
 	     dynamic library if we manage to avoid copy relocs for the
 	     symbol.  */
+	  reloc_howto_type * r = riscv_elf_rtype_to_howto (abfd, r_type);
+
 	  if ((bfd_link_pic (info)
 	       && (sec->flags & SEC_ALLOC) != 0
-	       && (! riscv_elf_rtype_to_howto (r_type)->pc_relative
+	       && ((r != NULL && ! r->pc_relative)
 		   || (h != NULL
 		       && (! info->symbolic
 			   || h->root.type == bfd_link_hash_defweak
@@ -696,7 +701,7 @@ riscv_elf_check_relocs (bfd *abfd, struc
 		}
 
 	      p->count += 1;
-	      p->pc_count += riscv_elf_rtype_to_howto (r_type)->pc_relative;
+	      p->pc_count += r == NULL ? 0 : r->pc_relative;
 	    }
 
 	  break;
@@ -996,7 +1001,8 @@ allocate_dynrelocs (struct elf_link_hash
       else
 	{
 	  s->size += RISCV_ELF_WORD_BYTES;
-	  if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h))
+	  if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h)
+	      && ! UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
 	    htab->elf.srelgot->size += sizeof (ElfNN_External_Rela);
 	}
     }
@@ -1035,7 +1041,8 @@ allocate_dynrelocs (struct elf_link_hash
       if (eh->dyn_relocs != NULL
 	  && h->root.type == bfd_link_hash_undefweak)
 	{
-	  if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT)
+	  if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+	      || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
 	    eh->dyn_relocs = NULL;
 
 	  /* Make sure undefined weak symbols are output as a dynamic
@@ -1109,7 +1116,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -1724,10 +1731,12 @@ riscv_elf_relocate_section (bfd *output_
       bfd_boolean unresolved_reloc, is_ie = FALSE;
       bfd_vma pc = sec_addr (input_section) + rel->r_offset;
       int r_type = ELFNN_R_TYPE (rel->r_info), tls_type;
-      reloc_howto_type *howto = riscv_elf_rtype_to_howto (r_type);
+      reloc_howto_type *howto = riscv_elf_rtype_to_howto (input_bfd, r_type);
       const char *msg = NULL;
+      bfd_boolean resolved_to_zero;
 
-      if (r_type == R_RISCV_GNU_VTINHERIT || r_type == R_RISCV_GNU_VTENTRY)
+      if (howto == NULL
+	  || r_type == R_RISCV_GNU_VTINHERIT || r_type == R_RISCV_GNU_VTENTRY)
 	continue;
 
       /* This is a final link.  */
@@ -1779,6 +1788,9 @@ riscv_elf_relocate_section (bfd *output_
 	    name = bfd_section_name (input_bfd, sec);
 	}
 
+      resolved_to_zero = (h != NULL
+			  && UNDEFWEAK_NO_DYNAMIC_RELOC (info, h));
+
       switch (r_type)
 	{
 	case R_RISCV_NONE:
@@ -1888,9 +1900,11 @@ riscv_elf_relocate_section (bfd *output_
 						howto,
 						input_bfd);
 	  r_type = ELFNN_R_TYPE (rel->r_info);
-	  howto = riscv_elf_rtype_to_howto (r_type);
-	  if (!riscv_record_pcrel_hi_reloc (&pcrel_relocs, pc,
-					    relocation, absolute))
+	  howto = riscv_elf_rtype_to_howto (input_bfd, r_type);
+	  if (howto == NULL)
+	    r = bfd_reloc_notsupported;
+	  else if (!riscv_record_pcrel_hi_reloc (&pcrel_relocs, pc,
+						 relocation, absolute))
 	    r = bfd_reloc_overflow;
 	  break;
 
@@ -1917,8 +1931,24 @@ riscv_elf_relocate_section (bfd *output_
 	  }
 	  break;
 
-	case R_RISCV_CALL_PLT:
 	case R_RISCV_CALL:
+	  /* Handle a call to an undefined weak function.  This won't be
+	     relaxed, so we have to handle it here.  */
+	  if (h != NULL && h->root.type == bfd_link_hash_undefweak
+	      && h->plt.offset == MINUS_ONE)
+	    {
+	      /* We can use x0 as the base register.  */
+	      bfd_vma insn = bfd_get_32 (input_bfd,
+					 contents + rel->r_offset + 4);
+	      insn &= ~(OP_MASK_RS1 << OP_SH_RS1);
+	      bfd_put_32 (input_bfd, insn, contents + rel->r_offset + 4);
+	      /* Set the relocation value so that we get 0 after the pc
+		 relative adjustment.  */
+	      relocation = sec_addr (input_section) + rel->r_offset;
+	    }
+	  /* Fall through.  */
+
+	case R_RISCV_CALL_PLT:
 	case R_RISCV_JAL:
 	case R_RISCV_RVC_JUMP:
 	  if (bfd_link_pic (info) && h != NULL && h->plt.offset != MINUS_ONE)
@@ -1984,15 +2014,27 @@ riscv_elf_relocate_section (bfd *output_
 						howto,
 						input_bfd);
 	  r_type = ELFNN_R_TYPE (rel->r_info);
-	  howto = riscv_elf_rtype_to_howto (r_type);
-	  if (!riscv_record_pcrel_hi_reloc (&pcrel_relocs, pc,
-					    relocation + rel->r_addend,
-					    absolute))
+	  howto = riscv_elf_rtype_to_howto (input_bfd, r_type);
+	  if (howto == NULL)
+	    r = bfd_reloc_notsupported;
+	  else if (!riscv_record_pcrel_hi_reloc (&pcrel_relocs, pc,
+						 relocation + rel->r_addend,
+						 absolute))
 	    r = bfd_reloc_overflow;
 	  break;
 
 	case R_RISCV_PCREL_LO12_I:
 	case R_RISCV_PCREL_LO12_S:
+	  /* Addends are not allowed, because then riscv_relax_delete_bytes
+	     would have to search through all relocs to update the addends.
+	     Also, riscv_resolve_pcrel_lo_relocs does not support addends
+	     when searching for a matching hi reloc.  */
+	  if (rel->r_addend)
+	    {
+	      r = bfd_reloc_dangerous;
+	      break;
+	    }
+
 	  if (riscv_record_pcrel_lo_reloc (&pcrel_relocs, input_section, info,
 					   howto, rel, relocation, name,
 					   contents))
@@ -2012,7 +2054,8 @@ riscv_elf_relocate_section (bfd *output_
 
 	  if ((bfd_link_pic (info)
 	       && (h == NULL
-		   || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
+		   || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
+		       && !resolved_to_zero)
 		   || h->root.type != bfd_link_hash_undefweak)
 	       && (! howto->pc_relative
 		   || !SYMBOL_CALLS_LOCAL (info, h)))
@@ -2203,10 +2246,11 @@ riscv_elf_relocate_section (bfd *output_
 				      rel->r_offset) != (bfd_vma) -1)
 	{
 	  (*_bfd_error_handler)
-	    (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	    (_("%pB(%pA+%#" PRIx64 "): "
+	       "unresolvable %s relocation against symbol `%s'"),
 	     input_bfd,
 	     input_section,
-	     rel->r_offset,
+	     (uint64_t) rel->r_offset,
 	     howto->name,
 	     h->root.root.string);
 	  continue;
@@ -2234,25 +2278,30 @@ riscv_elf_relocate_section (bfd *output_
 	  break;
 
 	case bfd_reloc_outofrange:
-	  msg = _("internal error: out of range error");
+	  msg = _("%X%P: internal error: out of range error\n");
 	  break;
 
 	case bfd_reloc_notsupported:
-	  msg = _("internal error: unsupported relocation error");
+	  msg = _("%X%P: internal error: unsupported relocation error\n");
 	  break;
 
 	case bfd_reloc_dangerous:
-	  msg = _("internal error: dangerous relocation");
+	  info->callbacks->reloc_dangerous
+	    (info, "%pcrel_lo with addend", input_bfd, input_section,
+	     rel->r_offset);
 	  break;
 
 	default:
-	  msg = _("internal error: unknown error");
+	  msg = _("%X%P: internal error: unknown error\n");
 	  break;
 	}
 
       if (msg)
-	info->callbacks->warning
-	  (info, msg, name, input_bfd, input_section, rel->r_offset);
+	info->callbacks->einfo (msg);
+
+      /* We already reported the error via a callback, so don't try to report
+	 it again by returning false.  That leads to spurious errors.  */
+      ret = TRUE;
       goto out;
     }
 
@@ -2330,7 +2379,8 @@ riscv_elf_finish_dynamic_symbol (bfd *ou
     }
 
   if (h->got.offset != (bfd_vma) -1
-      && !(riscv_elf_hash_entry (h)->tls_type & (GOT_TLS_GD | GOT_TLS_IE)))
+      && !(riscv_elf_hash_entry (h)->tls_type & (GOT_TLS_GD | GOT_TLS_IE))
+      && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
     {
       asection *sgot;
       asection *srela;
@@ -2344,15 +2394,15 @@ riscv_elf_finish_dynamic_symbol (bfd *ou
 
       rela.r_offset = sec_addr (sgot) + (h->got.offset &~ (bfd_vma) 1);
 
-      /* If this is a -Bsymbolic link, and the symbol is defined
-	 locally, we just want to emit a RELATIVE reloc.  Likewise if
+      /* If this is a local symbol reference, we just want to emit a RELATIVE
+	 reloc.  This can happen if it is a -Bsymbolic link, or a pie link, or
 	 the symbol was forced to be local because of a version file.
 	 The entry in the global offset table will already have been
 	 initialized in the relocate_section function.  */
       if (bfd_link_pic (info)
-	  && (info->symbolic || h->dynindx == -1)
-	  && h->def_regular)
+	  && SYMBOL_REFERENCES_LOCAL (info, h))
 	{
+	  BFD_ASSERT((h->got.offset & 1) != 0);
 	  asection *sec = h->root.u.def.section;
 	  rela.r_info = ELFNN_R_INFO (0, R_RISCV_RELATIVE);
 	  rela.r_addend = (h->root.u.def.value
@@ -2361,6 +2411,7 @@ riscv_elf_finish_dynamic_symbol (bfd *ou
 	}
       else
 	{
+	  BFD_ASSERT((h->got.offset & 1) == 0);
 	  BFD_ASSERT (h->dynindx != -1);
 	  rela.r_info = ELFNN_R_INFO (h->dynindx, R_RISCV_NN);
 	  rela.r_addend = 0;
@@ -2489,7 +2540,7 @@ riscv_elf_finish_dynamic_sections (bfd *
       if (bfd_is_abs_section (output_section))
 	{
 	  (*_bfd_error_handler)
-	    (_("discarded output section: `%A'"), htab->elf.sgotplt);
+	    (_("discarded output section: `%pA'"), htab->elf.sgotplt);
 	  return FALSE;
 	}
 
@@ -2567,7 +2618,7 @@ _bfd_riscv_elf_merge_private_bfd_data (b
   if (strcmp (bfd_get_target (ibfd), bfd_get_target (obfd)) != 0)
     {
       (*_bfd_error_handler)
-	(_("%B: ABI is incompatible with that of the selected emulation:\n"
+	(_("%pB: ABI is incompatible with that of the selected emulation:\n"
 	   "  target emulation `%s' does not match `%s'"),
 	 ibfd, bfd_get_target (ibfd), bfd_get_target (obfd));
       return FALSE;
@@ -2587,7 +2638,15 @@ _bfd_riscv_elf_merge_private_bfd_data (b
   if ((old_flags ^ new_flags) & EF_RISCV_FLOAT_ABI)
     {
       (*_bfd_error_handler)
-	(_("%B: can't link hard-float modules with soft-float modules"), ibfd);
+	(_("%pB: can't link hard-float modules with soft-float modules"), ibfd);
+      goto fail;
+    }
+
+  /* Disallow linking RVE and non-RVE.  */
+  if ((old_flags ^ new_flags) & EF_RISCV_RVE)
+    {
+      (*_bfd_error_handler)
+       (_("%pB: can't link RVE with other target"), ibfd);
       goto fail;
     }
 
@@ -2604,7 +2663,8 @@ fail:
 /* Delete some bytes from a section while relaxing.  */
 
 static bfd_boolean
-riscv_relax_delete_bytes (bfd *abfd, asection *sec, bfd_vma addr, size_t count)
+riscv_relax_delete_bytes (bfd *abfd, asection *sec, bfd_vma addr, size_t count,
+			  struct bfd_link_info *link_info)
 {
   unsigned int i, symcount;
   bfd_vma toaddr = sec->size;
@@ -2638,10 +2698,16 @@ riscv_relax_delete_bytes (bfd *abfd, ase
 
 	  /* If the symbol *spans* the bytes we just deleted (i.e. its
 	     *end* is in the moved bytes but its *start* isn't), then we
-	     must adjust its size.  */
-	  if (sym->st_value <= addr
-	      && sym->st_value + sym->st_size > addr
-	      && sym->st_value + sym->st_size <= toaddr)
+	     must adjust its size.
+
+	     This test needs to use the original value of st_value, otherwise
+	     we might accidentally decrease size when deleting bytes right
+	     before the symbol.  But since deleted relocs can't span across
+	     symbols, we can't have both a st_value and a st_size decrease,
+	     so it is simpler to just use an else.  */
+	  else if (sym->st_value <= addr
+		   && sym->st_value + sym->st_size > addr
+		   && sym->st_value + sym->st_size <= toaddr)
 	    sym->st_size -= count;
 	}
     }
@@ -2654,6 +2720,34 @@ riscv_relax_delete_bytes (bfd *abfd, ase
     {
       struct elf_link_hash_entry *sym_hash = sym_hashes[i];
 
+      /* The '--wrap SYMBOL' option is causing a pain when the object file,
+	 containing the definition of __wrap_SYMBOL, includes a direct
+	 call to SYMBOL as well. Since both __wrap_SYMBOL and SYMBOL reference
+	 the same symbol (which is __wrap_SYMBOL), but still exist as two
+	 different symbols in 'sym_hashes', we don't want to adjust
+	 the global symbol __wrap_SYMBOL twice.  */
+      /* The same problem occurs with symbols that are versioned_hidden, as
+	 foo becomes an alias for foo@BAR, and hence they need the same
+	 treatment.  */
+      if (link_info->wrap_hash != NULL
+	  || sym_hash->versioned == versioned_hidden)
+	{
+	  struct elf_link_hash_entry **cur_sym_hashes;
+
+	  /* Loop only over the symbols which have already been checked.  */
+	  for (cur_sym_hashes = sym_hashes; cur_sym_hashes < &sym_hashes[i];
+	       cur_sym_hashes++)
+	    {
+	      /* If the current symbol is identical to 'sym_hash', that means
+		 the symbol was already adjusted (or at least checked).  */
+	      if (*cur_sym_hashes == sym_hash)
+		break;
+	    }
+	  /* Don't adjust the symbol again.  */
+	  if (cur_sym_hashes < &sym_hashes[i])
+	    continue;
+	}
+
       if ((sym_hash->root.type == bfd_link_hash_defined
 	   || sym_hash->root.type == bfd_link_hash_defweak)
 	  && sym_hash->root.u.def.section == sec)
@@ -2664,9 +2758,9 @@ riscv_relax_delete_bytes (bfd *abfd, ase
 	    sym_hash->root.u.def.value -= count;
 
 	  /* As above, adjust the size if needed.  */
-	  if (sym_hash->root.u.def.value <= addr
-	      && sym_hash->root.u.def.value + sym_hash->size > addr
-	      && sym_hash->root.u.def.value + sym_hash->size <= toaddr)
+	  else if (sym_hash->root.u.def.value <= addr
+		   && sym_hash->root.u.def.value + sym_hash->size > addr
+		   && sym_hash->root.u.def.value + sym_hash->size <= toaddr)
 	    sym_hash->size -= count;
 	}
     }
@@ -2886,7 +2980,8 @@ _bfd_riscv_relax_call (bfd *abfd, asecti
 
   /* Delete unnecessary JALR.  */
   *again = TRUE;
-  return riscv_relax_delete_bytes (abfd, sec, rel->r_offset + len, 8 - len);
+  return riscv_relax_delete_bytes (abfd, sec, rel->r_offset + len, 8 - len,
+				   link_info);
 }
 
 /* Traverse all output sections and return the max alignment.  */
@@ -2964,7 +3059,8 @@ _bfd_riscv_relax_lui (bfd *abfd,
 	  /* We can delete the unnecessary LUI and reloc.  */
 	  rel->r_info = ELFNN_R_INFO (0, R_RISCV_NONE);
 	  *again = TRUE;
-	  return riscv_relax_delete_bytes (abfd, sec, rel->r_offset, 4);
+	  return riscv_relax_delete_bytes (abfd, sec, rel->r_offset, 4,
+					   link_info);
 
 	default:
 	  abort ();
@@ -2991,7 +3087,8 @@ _bfd_riscv_relax_lui (bfd *abfd,
       rel->r_info = ELFNN_R_INFO (ELFNN_R_SYM (rel->r_info), R_RISCV_RVC_LUI);
 
       *again = TRUE;
-      return riscv_relax_delete_bytes (abfd, sec, rel->r_offset + 2, 2);
+      return riscv_relax_delete_bytes (abfd, sec, rel->r_offset + 2, 2,
+				       link_info);
     }
 
   return TRUE;
@@ -3031,7 +3128,7 @@ _bfd_riscv_relax_tls_le (bfd *abfd,
       /* We can delete the unnecessary instruction and reloc.  */
       rel->r_info = ELFNN_R_INFO (0, R_RISCV_NONE);
       *again = TRUE;
-      return riscv_relax_delete_bytes (abfd, sec, rel->r_offset, 4);
+      return riscv_relax_delete_bytes (abfd, sec, rel->r_offset, 4, link_info);
 
     default:
       abort ();
@@ -3043,7 +3140,7 @@ _bfd_riscv_relax_tls_le (bfd *abfd,
 static bfd_boolean
 _bfd_riscv_relax_align (bfd *abfd, asection *sec,
 			asection *sym_sec,
-			struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
+			struct bfd_link_info *link_info,
 			Elf_Internal_Rela *rel,
 			bfd_vma symval,
 			bfd_vma max_alignment ATTRIBUTE_UNUSED,
@@ -3066,10 +3163,11 @@ _bfd_riscv_relax_align (bfd *abfd, asect
   /* Make sure there are enough NOPs to actually achieve the alignment.  */
   if (rel->r_addend < nop_bytes)
     {
-      (*_bfd_error_handler)
-	(_("%B(%A+0x%lx): %d bytes required for alignment "
-	   "to %d-byte boundary, but only %d present"),
-	   abfd, sym_sec, rel->r_offset, nop_bytes, alignment, rel->r_addend);
+      _bfd_error_handler
+	(_("%pB(%pA+%#" PRIx64 "): %" PRId64 " bytes required for alignment "
+	   "to %" PRId64 "-byte boundary, but only %" PRId64 " present"),
+	 abfd, sym_sec, (uint64_t) rel->r_offset,
+	 (int64_t) nop_bytes, (int64_t) alignment, (int64_t) rel->r_addend);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
     }
@@ -3091,7 +3189,7 @@ _bfd_riscv_relax_align (bfd *abfd, asect
 
   /* Delete the excess bytes.  */
   return riscv_relax_delete_bytes (abfd, sec, rel->r_offset + nop_bytes,
-				   rel->r_addend - nop_bytes);
+				   rel->r_addend - nop_bytes, link_info);
 }
 
 /* Relax PC-relative references to GP-relative references.  */
@@ -3114,7 +3212,8 @@ _bfd_riscv_relax_pc  (bfd *abfd,
 
   /* Chain the _LO relocs to their cooresponding _HI reloc to compute the
    * actual target address.  */
-  riscv_pcgp_hi_reloc hi_reloc = {0};
+  riscv_pcgp_hi_reloc hi_reloc;
+  memset (&hi_reloc, 0, sizeof (hi_reloc));
   switch (ELFNN_R_TYPE (rel->r_info))
     {
     case R_RISCV_PCREL_LO12_I:
@@ -3132,10 +3231,10 @@ _bfd_riscv_relax_pc  (bfd *abfd,
 	symval = hi_reloc.hi_addr;
 	sym_sec = hi_reloc.sym_sec;
 	if (!riscv_use_pcgp_hi_reloc(pcgp_relocs, hi->hi_sec_off))
-	  (*_bfd_error_handler)
-	   (_("%B(%A+0x%lx): Unable to clear RISCV_PCREL_HI20 reloc"
-	      "for cooresponding RISCV_PCREL_LO12 reloc"),
-	    abfd, sec, rel->r_offset);
+	  _bfd_error_handler
+	    (_("%pB(%pA+%#" PRIx64 "): Unable to clear RISCV_PCREL_HI20 reloc "
+	       "for corresponding RISCV_PCREL_LO12 reloc"),
+	     abfd, sec, (uint64_t) rel->r_offset);
       }
       break;
 
@@ -3212,7 +3311,7 @@ static bfd_boolean
 _bfd_riscv_relax_delete (bfd *abfd,
 			 asection *sec,
 			 asection *sym_sec ATTRIBUTE_UNUSED,
-			 struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
+			 struct bfd_link_info *link_info,
 			 Elf_Internal_Rela *rel,
 			 bfd_vma symval ATTRIBUTE_UNUSED,
 			 bfd_vma max_alignment ATTRIBUTE_UNUSED,
@@ -3220,7 +3319,8 @@ _bfd_riscv_relax_delete (bfd *abfd,
 			 bfd_boolean *again ATTRIBUTE_UNUSED,
 			 riscv_pcgp_relocs *pcgp_relocs ATTRIBUTE_UNUSED)
 {
-  if (!riscv_relax_delete_bytes(abfd, sec, rel->r_offset, rel->r_addend))
+  if (!riscv_relax_delete_bytes(abfd, sec, rel->r_offset, rel->r_addend,
+				link_info))
     return FALSE;
   rel->r_info = ELFNN_R_INFO(0, R_RISCV_NONE);
   return TRUE;
@@ -3353,8 +3453,14 @@ _bfd_riscv_relax_section (bfd *abfd, ase
 	    {
 	      BFD_ASSERT (isym->st_shndx < elf_numsections (abfd));
 	      sym_sec = elf_elfsections (abfd)[isym->st_shndx]->bfd_section;
+#if 0
+	      /* The purpose of this code is unknown.  It breaks linker scripts
+		 for embedded development that place sections at address zero.
+		 This code is believed to be unnecessary.  Disabling it but not
+		 yet removing it, in case something breaks.  */
 	      if (sec_addr (sym_sec) == 0)
 		continue;
+#endif
 	      symval = sec_addr (sym_sec) + isym->st_value;
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-properties.c ./bfd/elf-properties.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-properties.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf-properties.c	2018-07-10 02:06:11.000000000 +0000
@@ -62,7 +62,7 @@ _bfd_elf_get_property (bfd *abfd, unsign
   p = (elf_property_list *) bfd_alloc (abfd, sizeof (*p));
   if (p == NULL)
     {
-      _bfd_error_handler (_("%B: out of memory in _bfd_elf_get_property"),
+      _bfd_error_handler (_("%pB: out of memory in _bfd_elf_get_property"),
 			  abfd);
       _exit (EXIT_FAILURE);
     }
@@ -88,7 +88,7 @@ _bfd_elf_parse_gnu_properties (bfd *abfd
     {
 bad_size:
       _bfd_error_handler
-	(_("warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"),
+	(_("warning: %pB: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"),
 	 abfd, note->type, note->descsz);
       return FALSE;
     }
@@ -109,7 +109,7 @@ bad_size:
       if (datasz > (size_t) (ptr_end - ptr))
 	{
 	  _bfd_error_handler
-	    (_("warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"),
+	    (_("warning: %pB: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"),
 	     abfd, note->type, type, datasz);
 	  /* Clear all properties.  */
 	  elf_properties (abfd) = NULL;
@@ -148,7 +148,7 @@ bad_size:
 	      if (datasz != align_size)
 		{
 		  _bfd_error_handler
-		    (_("warning: %B: corrupt stack size: 0x%x"),
+		    (_("warning: %pB: corrupt stack size: 0x%x"),
 		     abfd, datasz);
 		  /* Clear all properties.  */
 		  elf_properties (abfd) = NULL;
@@ -166,7 +166,7 @@ bad_size:
 	      if (datasz != 0)
 		{
 		  _bfd_error_handler
-		    (_("warning: %B: corrupt no copy on protected size: 0x%x"),
+		    (_("warning: %pB: corrupt no copy on protected size: 0x%x"),
 		     abfd, datasz);
 		  /* Clear all properties.  */
 		  elf_properties (abfd) = NULL;
@@ -183,7 +183,7 @@ bad_size:
 	}
 
       _bfd_error_handler
-	(_("warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"),
+	(_("warning: %pB: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"),
 	 abfd, note->type, type);
 
 next:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-s390-common.c ./bfd/elf-s390-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elf-s390-common.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elf-s390-common.c	2018-07-10 02:06:11.000000000 +0000
@@ -223,25 +223,6 @@ elf_s390_allocate_local_syminfo (bfd *ab
   return TRUE;
 }
 
-/* Pick ELFOSABI_GNU if IFUNC symbols are used.  */
-
-static bfd_boolean
-elf_s390_add_symbol_hook (bfd *abfd,
-			  struct bfd_link_info *info,
-			  Elf_Internal_Sym *sym,
-			  const char **namep ATTRIBUTE_UNUSED,
-			  flagword *flagsp ATTRIBUTE_UNUSED,
-			  asection **secp ATTRIBUTE_UNUSED,
-			  bfd_vma *valp ATTRIBUTE_UNUSED)
-{
-  if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-      && (abfd->flags & DYNAMIC) == 0
-      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
-    elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc;
-
-  return TRUE;
-}
-
 /* Whether to sort relocs output by ld -r or ld --emit-relocs, by
    r_offset.  Don't do so for code sections.  We want to keep ordering
    of GDCALL / PLT32DBL for TLS optimizations as is.  On the other
@@ -286,12 +267,12 @@ elf_s390_merge_obj_attributes (bfd *ibfd
   if (in_attr->i > 2)
     _bfd_error_handler
       /* xgettext:c-format */
-      (_("Warning: %B uses unknown vector ABI %d"), ibfd,
+      (_("warning: %pB uses unknown vector ABI %d"), ibfd,
        in_attr->i);
   else if (out_attr->i > 2)
     _bfd_error_handler
       /* xgettext:c-format */
-      (_("Warning: %B uses unknown vector ABI %d"), obfd,
+      (_("warning: %pB uses unknown vector ABI %d"), obfd,
        out_attr->i);
   else if (in_attr->i != out_attr->i)
     {
@@ -303,7 +284,7 @@ elf_s390_merge_obj_attributes (bfd *ibfd
 
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("Warning: %B uses vector %s ABI, %B uses %s ABI"),
+	    (_("warning: %pB uses vector %s ABI, %pB uses %s ABI"),
 	     ibfd, abi_str[in_attr->i], obfd, abi_str[out_attr->i]);
 	}
       if (in_attr->i > out_attr->i)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-aarch64.c ./bfd/elfxx-aarch64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-aarch64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-aarch64.c	2018-07-10 02:06:11.000000000 +0000
@@ -285,11 +285,18 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
     case BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC:
     case BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12:
     case BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12:
+    case BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12:
+    case BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12:
+    case BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12:
+    case BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC:
       if (old_addend & ((1 << howto->rightshift) - 1))
 	return bfd_reloc_overflow;
       /* Used for ldr*|str* rt, [rn, #uimm12] to provide the low order
-	 12 bits of the page offset following BFD_RELOC_AARCH64_ADR_HI21_PCREL
-	 which computes the (pc-relative) page base.  */
+	 12 bits address offset.  */
       contents = reencode_ldst_pos_imm (contents, addend);
       break;
 
@@ -301,6 +308,10 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
     case BFD_RELOC_AARCH64_MOVW_G0_S:
     case BFD_RELOC_AARCH64_MOVW_G1_S:
     case BFD_RELOC_AARCH64_MOVW_G2_S:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G0:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G1:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G2:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G3:
     case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0:
     case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1:
     case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2:
@@ -333,6 +344,9 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
     case BFD_RELOC_AARCH64_MOVW_G3:
     case BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC:
     case BFD_RELOC_AARCH64_MOVW_GOTOFF_G1:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G0_NC:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G1_NC:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G2_NC:
     case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:
     case BFD_RELOC_AARCH64_TLSDESC_OFF_G1:
     case BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC:
@@ -395,6 +409,13 @@ _bfd_aarch64_elf_resolve_relocation (bfd
     case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
     case BFD_RELOC_AARCH64_BRANCH19:
     case BFD_RELOC_AARCH64_LD_LO19_PCREL:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G0:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G0_NC:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G1:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G1_NC:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G2:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G2_NC:
+    case BFD_RELOC_AARCH64_MOVW_PREL_G3:
     case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
     case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
     case BFD_RELOC_AARCH64_TLSGD_ADR_PREL21:
@@ -431,18 +452,18 @@ _bfd_aarch64_elf_resolve_relocation (bfd
     case BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12:
     case BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC:
     case BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12:
-    case BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC:
     case BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12:
-    case BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC:
     case BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12:
-    case BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC:
     case BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12:
-    case BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC:
     case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0:
     case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC:
     case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1:
     case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC:
     case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2:
+    case BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12:
+    case BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12:
+    case BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12:
+    case BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12:
       value = value + addend;
       break;
 
@@ -492,7 +513,15 @@ _bfd_aarch64_elf_resolve_relocation (bfd
     case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
     case BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC:
     case BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC:
     case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC:
+    case BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC:
       value = PG_OFFSET (value + addend);
       break;
 
@@ -529,25 +558,6 @@ _bfd_aarch64_elf_resolve_relocation (bfd
   return value;
 }
 
-/* Hook called by the linker routine which adds symbols from an object
-   file.  */
-
-bfd_boolean
-_bfd_aarch64_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
-				  Elf_Internal_Sym *sym,
-				  const char **namep ATTRIBUTE_UNUSED,
-				  flagword *flagsp ATTRIBUTE_UNUSED,
-				  asection **secp ATTRIBUTE_UNUSED,
-				  bfd_vma *valp ATTRIBUTE_UNUSED)
-{
-  if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-      && (abfd->flags & DYNAMIC) == 0
-      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
-    elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc;
-
-  return TRUE;
-}
-
 /* Support for core dump NOTE sections.  */
 
 bfd_boolean
@@ -624,13 +634,22 @@ _bfd_aarch64_elf_write_core_note (bfd *a
 
     case NT_PRPSINFO:
       {
-	char data[136];
+	char data[136] ATTRIBUTE_NONSTRING;
 	va_list ap;
 
 	va_start (ap, note_type);
 	memset (data, 0, sizeof (data));
 	strncpy (data + 40, va_arg (ap, const char *), 16);
+	DIAGNOSTIC_PUSH;
+	/* GCC 8.1 warns about 80 equals destination size with
+	   -Wstringop-truncation:
+	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
+	 */
+#if GCC_VERSION == 8001
+	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
+#endif
 	strncpy (data + 56, va_arg (ap, const char *), 80);
+	DIAGNOSTIC_POP;
 	va_end (ap);
 
 	return elfcore_write_note (abfd, buf, bufsiz, "CORE",
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-aarch64.h ./bfd/elfxx-aarch64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-aarch64.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-aarch64.h	2018-07-10 02:06:11.000000000 +0000
@@ -48,11 +48,6 @@ _bfd_aarch64_elf_resolve_relocation (bfd
 				     bfd_vma, bfd_boolean);
 
 extern bfd_boolean
-_bfd_aarch64_elf_add_symbol_hook (bfd *, struct bfd_link_info *,
-				  Elf_Internal_Sym *, const char **,
-				  flagword *, asection **, bfd_vma *);
-
-extern bfd_boolean
 _bfd_aarch64_elf_grok_prstatus (bfd *, Elf_Internal_Note *);
 
 extern bfd_boolean
@@ -61,7 +56,6 @@ _bfd_aarch64_elf_grok_psinfo (bfd *, Elf
 extern char *
 _bfd_aarch64_elf_write_core_note (bfd *, char *, int *, int, ...);
 
-#define elf_backend_add_symbol_hook	_bfd_aarch64_elf_add_symbol_hook
 #define elf_backend_grok_prstatus	_bfd_aarch64_elf_grok_prstatus
 #define elf_backend_grok_psinfo		_bfd_aarch64_elf_grok_psinfo
 #define elf_backend_write_core_note	_bfd_aarch64_elf_write_core_note
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-ia64.c ./bfd/elfxx-ia64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-ia64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-ia64.c	2018-07-10 02:06:11.000000000 +0000
@@ -196,12 +196,12 @@ static unsigned char elf_code_to_howto_i
 reloc_howto_type *
 ia64_elf_lookup_howto (unsigned int rtype)
 {
-  static int inited = 0;
+  static bfd_boolean inited = FALSE;
   int i;
 
   if (!inited)
     {
-      inited = 1;
+      inited = TRUE;
 
       memset (elf_code_to_howto_index, 0xff, sizeof (elf_code_to_howto_index));
       for (i = 0; i < NELEMS (ia64_howto_table); ++i)
@@ -209,15 +209,15 @@ ia64_elf_lookup_howto (unsigned int rtyp
     }
 
   if (rtype > R_IA64_MAX_RELOC_CODE)
-    return 0;
+    return NULL;
   i = elf_code_to_howto_index[rtype];
   if (i >= NELEMS (ia64_howto_table))
-    return 0;
+    return NULL;
   return ia64_howto_table + i;
 }
 
-reloc_howto_type*
-ia64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+reloc_howto_type *
+ia64_elf_reloc_type_lookup (bfd *abfd,
 			    bfd_reloc_code_real_type bfd_code)
 {
   unsigned int rtype;
@@ -320,7 +320,12 @@ ia64_elf_reloc_type_lookup (bfd *abfd AT
     case BFD_RELOC_IA64_DTPREL64LSB:	rtype = R_IA64_DTPREL64LSB; break;
     case BFD_RELOC_IA64_LTOFF_DTPREL22:	rtype = R_IA64_LTOFF_DTPREL22; break;
 
-    default: return 0;
+    default:
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, (int) bfd_code);
+      bfd_set_error (bfd_error_bad_value);
+      return NULL;
     }
   return ia64_elf_lookup_howto (rtype);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-mips.c ./bfd/elfxx-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-mips.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-mips.c	2018-07-10 02:06:11.000000000 +0000
@@ -881,7 +881,7 @@ static bfd *reldyn_sorting_bfd;
   _bfd_elf_add_dynamic_entry (info, tag, val)
 
 #define MIPS_ELF_RTYPE_TO_HOWTO(abfd, rtype, rela)			\
-  (get_elf_backend_data (abfd)->elf_backend_mips_rtype_to_howto (rtype, rela))
+  (get_elf_backend_data (abfd)->elf_backend_mips_rtype_to_howto (abfd, rtype, rela))
 
 /* The name of the dynamic relocation section.  */
 #define MIPS_ELF_REL_DYN_NAME(INFO) \
@@ -2903,12 +2903,6 @@ mips_elf_output_extsym (struct mips_elf_
 	      h->esym.asym.value =
 		mips_elf_hash_table (einfo->info)->procedure_count;
 	    }
-	  else if (strcmp (name, "_gp_disp") == 0 && ! NEWABI_P (einfo->abfd))
-	    {
-	      h->esym.asym.sc = scAbs;
-	      h->esym.asym.st = stLabel;
-	      h->esym.asym.value = elf_gp (einfo->abfd);
-	    }
 	  else
 	    h->esym.asym.sc = scUndefined;
 	}
@@ -3819,6 +3813,7 @@ count_section_dynsyms (bfd *output_bfd, 
       for (p = output_bfd->sections; p ; p = p->next)
 	if ((p->flags & SEC_EXCLUDE) == 0
 	    && (p->flags & SEC_ALLOC) != 0
+	    && elf_hash_table (info)->dynamic_relocs
 	    && !(*bed->elf_backend_omit_section_dynsym) (output_bfd, info, p))
 	  ++count;
     }
@@ -5478,12 +5473,18 @@ mips_elf_calculate_relocation (bfd *abfd
 	}
       else
 	{
+	  bfd_boolean reject_undefined
+	    = (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
+	       || ELF_ST_VISIBILITY (h->root.other) != STV_DEFAULT);
+
 	  (*info->callbacks->undefined_symbol)
 	    (info, h->root.root.root.string, input_bfd,
-	     input_section, relocation->r_offset,
-	     (info->unresolved_syms_in_objects == RM_GENERATE_ERROR)
-	     || ELF_ST_VISIBILITY (h->root.other));
-	  return bfd_reloc_undefined;
+	     input_section, relocation->r_offset, reject_undefined);
+
+	  if (reject_undefined)
+	    return bfd_reloc_undefined;
+
+	  symbol = 0;
 	}
 
       target_is_16_bit_code_p = ELF_ST_IS_MIPS16 (h->root.other);
@@ -6373,7 +6374,7 @@ mips_elf_perform_relocation (struct bfd_
 	  : opcode == 0x1d)
 	{
 	  info->callbacks->einfo
-	    (_("%X%H: Unsupported JALX to the same ISA mode\n"),
+	    (_("%X%H: unsupported JALX to the same ISA mode\n"),
 	     input_bfd, input_section, relocation->r_offset);
 	  return TRUE;
 	}
@@ -6406,7 +6407,7 @@ mips_elf_perform_relocation (struct bfd_
       if (!ok)
 	{
 	  info->callbacks->einfo
-	    (_("%X%H: Unsupported jump between ISA modes; "
+	    (_("%X%H: unsupported jump between ISA modes; "
 	       "consider recompiling with interlinking enabled\n"),
 	     input_bfd, input_section, relocation->r_offset);
 	  return TRUE;
@@ -6451,7 +6452,7 @@ mips_elf_perform_relocation (struct bfd_
 	  if ((addr >> 28) << 28 != (dest >> 28) << 28)
 	    {
 	      info->callbacks->einfo
-		(_("%X%H: Cannot convert branch between ISA modes "
+		(_("%X%H: cannot convert branch between ISA modes "
 		   "to JALX: relocation out of range\n"),
 		 input_bfd, input_section, relocation->r_offset);
 	      return TRUE;
@@ -6463,7 +6464,7 @@ mips_elf_perform_relocation (struct bfd_
       else if (!mips_elf_hash_table (info)->ignore_branch_isa)
 	{
 	  info->callbacks->einfo
-	    (_("%X%H: Unsupported branch between ISA modes\n"),
+	    (_("%X%H: unsupported branch between ISA modes\n"),
 	     input_bfd, input_section, relocation->r_offset);
 	  return TRUE;
 	}
@@ -7102,9 +7103,19 @@ _bfd_mips_elf_section_processing (bfd *a
     {
       bfd_byte buf[4];
 
-      BFD_ASSERT (hdr->sh_size == sizeof (Elf32_External_RegInfo));
       BFD_ASSERT (hdr->contents == NULL);
 
+      if (hdr->sh_size != sizeof (Elf32_External_RegInfo))
+	{
+	  _bfd_error_handler
+	    (_("%pB: incorrect `.reginfo' section size; "
+	       "expected %" PRIu64 ", got %" PRIu64),
+	     abfd, (uint64_t) sizeof (Elf32_External_RegInfo),
+	     (uint64_t) hdr->sh_size);
+	  bfd_set_error (bfd_error_bad_value);
+	  return FALSE;
+	}
+
       if (bfd_seek (abfd,
 		    hdr->sh_offset + sizeof (Elf32_External_RegInfo) - 4,
 		    SEEK_SET) != 0)
@@ -7141,7 +7152,7 @@ _bfd_mips_elf_section_processing (bfd *a
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: Warning: bad `%s' option size %u smaller than"
+		(_("%pB: warning: bad `%s' option size %u smaller than"
 		   " its header"),
 		abfd, MIPS_ELF_OPTIONS_SECTION_NAME (abfd), intopt.size);
 	      break;
@@ -7376,7 +7387,7 @@ _bfd_mips_elf_section_from_shdr (bfd *ab
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: Warning: bad `%s' option size %u smaller than"
+		(_("%pB: warning: bad `%s' option size %u smaller than"
 		   " its header"),
 		abfd, MIPS_ELF_OPTIONS_SECTION_NAME (abfd), intopt.size);
 	      break;
@@ -7833,6 +7844,7 @@ _bfd_mips_elf_create_dynamic_sections (b
 	    return FALSE;
 
 	  h = (struct elf_link_hash_entry *) bh;
+	  h->mark = 1;
 	  h->non_elf = 0;
 	  h->def_regular = 1;
 	  h->type = STT_SECTION;
@@ -8132,7 +8144,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: Warning: cannot determine the target function for"
+	    (_("%pB: warning: cannot determine the target function for"
 	       " stub section `%s'"),
 	     abfd, name);
 	  bfd_set_error (bfd_error_bad_value);
@@ -8258,7 +8270,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: Warning: cannot determine the target function for"
+	    (_("%pB: warning: cannot determine the target function for"
 	       " stub section `%s'"),
 	     abfd, name);
 	  bfd_set_error (bfd_error_bad_value);
@@ -8390,7 +8402,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: Malformed reloc detected for section %s"),
+	    (_("%pB: malformed reloc detected for section %s"),
 	     abfd, name);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -8462,8 +8474,8 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: GOT reloc at %#Lx not expected in executables"),
-		 abfd, rel->r_offset);
+		(_("%pB: GOT reloc at %#" PRIx64 " not expected in executables"),
+		 abfd, (uint64_t) rel->r_offset);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -8600,8 +8612,8 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: CALL16 reloc at %#Lx not against global symbol"),
-		 abfd, rel->r_offset);
+		(_("%pB: CALL16 reloc at %#" PRIx64 " not against global symbol"),
+		 abfd, (uint64_t) rel->r_offset);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
 	    }
@@ -8886,7 +8898,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s
 	      howto = MIPS_ELF_RTYPE_TO_HOWTO (abfd, r_type, FALSE);
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocation %s against `%s' can not be used"
+		(_("%pB: relocation %s against `%s' can not be used"
 		   " when making a shared object; recompile with -fPIC"),
 		 abfd, howto->name,
 		 (h) ? h->root.root.string : "a local symbol");
@@ -8940,10 +8952,9 @@ allocate_dynrelocs (struct elf_link_hash
 
       if (h->root.type == bfd_link_hash_undefweak)
 	{
-	  /* Do not copy relocations for undefined weak symbols with
-	     non-default visibility.  */
-	  if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
-	      || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
+	  /* Do not copy relocations for undefined weak symbols that
+	     we are not going to export.  */
+	  if (UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
 	    do_copy = FALSE;
 
 	  /* Make sure undefined weak symbols are output as a dynamic
@@ -9284,12 +9295,19 @@ _bfd_mips_elf_always_size_sections (bfd 
   /* The .reginfo section has a fixed size.  */
   sect = bfd_get_section_by_name (output_bfd, ".reginfo");
   if (sect != NULL)
-    bfd_set_section_size (output_bfd, sect, sizeof (Elf32_External_RegInfo));
+    {
+      bfd_set_section_size (output_bfd, sect, sizeof (Elf32_External_RegInfo));
+      sect->flags |= SEC_FIXED_SIZE | SEC_HAS_CONTENTS;
+    }
 
   /* The .MIPS.abiflags section has a fixed size.  */
   sect = bfd_get_section_by_name (output_bfd, ".MIPS.abiflags");
   if (sect != NULL)
-    bfd_set_section_size (output_bfd, sect, sizeof (Elf_External_ABIFlags_v0));
+    {
+      bfd_set_section_size (output_bfd, sect,
+			    sizeof (Elf_External_ABIFlags_v0));
+      sect->flags |= SEC_FIXED_SIZE | SEC_HAS_CONTENTS;
+    }
 
   hti.info = info;
   hti.output_bfd = output_bfd;
@@ -10143,10 +10161,10 @@ _bfd_mips_elf_relocate_section (bfd *out
 						 sec);
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: Can't find matching LO16 reloc against `%s'"
-			   " for %s at %#Lx in section `%A'"),
+			(_("%pB: can't find matching LO16 reloc against `%s'"
+			   " for %s at %#" PRIx64 " in section `%pA'"),
 			 input_bfd, name,
-			 howto->name, rel->r_offset, input_section);
+			 howto->name, (uint64_t) rel->r_offset, input_section);
 		    }
 		}
 	      else
@@ -10302,16 +10320,16 @@ _bfd_mips_elf_relocate_section (bfd *out
 	  msg = NULL;
 	  if (jal_reloc_p (howto->type))
 	    msg = (cross_mode_jump_p
-		   ? _("Cannot convert a jump to JALX "
+		   ? _("cannot convert a jump to JALX "
 		       "for a non-word-aligned address")
 		   : (howto->type == R_MIPS16_26
-		      ? _("Jump to a non-word-aligned address")
-		      : _("Jump to a non-instruction-aligned address")));
+		      ? _("jump to a non-word-aligned address")
+		      : _("jump to a non-instruction-aligned address")));
 	  else if (b_reloc_p (howto->type))
 	    msg = (cross_mode_jump_p
-		   ? _("Cannot convert a branch to JALX "
+		   ? _("cannot convert a branch to JALX "
 		       "for a non-word-aligned address")
-		   : _("Branch to a non-instruction-aligned address"));
+		   : _("branch to a non-instruction-aligned address"));
 	  else if (aligned_pcrel_reloc_p (howto->type))
 	    msg = _("PC-relative load from unaligned address");
 	  if (msg)
@@ -10584,8 +10602,25 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd
       got_address_high = ((got_address + 0x8000) >> 16) & 0xffff;
       got_address_low = got_address & 0xffff;
 
+      /* The PLT sequence is not safe for N64 if .got.plt entry's address
+	 cannot be loaded in two instructions.  */
+      if (ABI_64_P (output_bfd)
+	  && ((got_address + 0x80008000) & ~(bfd_vma) 0xffffffff) != 0)
+	{
+	  _bfd_error_handler
+	    /* xgettext:c-format */
+	    (_("%pB: `%pA' entry VMA of %#" PRIx64 " outside the 32-bit range "
+	       "supported; consider using `-Ttext-segment=...'"),
+	     output_bfd,
+	     htab->root.sgotplt->output_section,
+	     (int64_t) got_address);
+	  bfd_set_error (bfd_error_no_error);
+	  return FALSE;
+	}
+
       /* Initially point the .got.plt entry at the PLT header.  */
-      loc = (htab->root.sgotplt->contents + got_index * MIPS_ELF_GOT_SIZE (dynobj));
+      loc = (htab->root.sgotplt->contents
+	     + got_index * MIPS_ELF_GOT_SIZE (dynobj));
       if (ABI_64_P (output_bfd))
 	bfd_put_64 (output_bfd, header_address, loc);
       else
@@ -10687,11 +10722,11 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: `%A' offset of %Ld from `%A' "
+		    (_("%pB: `%pA' offset of %" PRId64 " from `%pA' "
 		       "beyond the range of ADDIUPC"),
 		     output_bfd,
 		     htab->root.sgotplt->output_section,
-		     gotpc_offset,
+		     (int64_t) gotpc_offset,
 		     htab->root.splt->output_section);
 		  bfd_set_error (bfd_error_no_error);
 		  return FALSE;
@@ -10953,12 +10988,6 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd
       sym->st_info = ELF_ST_INFO (STB_GLOBAL, STT_SECTION);
       sym->st_value = 1;
     }
-  else if (strcmp (name, "_gp_disp") == 0 && ! NEWABI_P (output_bfd))
-    {
-      sym->st_shndx = SHN_ABS;
-      sym->st_info = ELF_ST_INFO (STB_GLOBAL, STT_SECTION);
-      sym->st_value = elf_gp (output_bfd);
-    }
   else if (SGI_COMPAT (output_bfd))
     {
       if (strcmp (name, mips_elf_dynsym_rtproc_names[0]) == 0
@@ -11233,8 +11262,19 @@ mips_finish_exec_plt (bfd *output_bfd, s
 
   /* The PLT sequence is not safe for N64 if .got.plt's address can
      not be loaded in two instructions.  */
-  BFD_ASSERT ((gotplt_value & ~(bfd_vma) 0x7fffffff) == 0
-	      || ~(gotplt_value | 0x7fffffff) == 0);
+  if (ABI_64_P (output_bfd)
+      && ((gotplt_value + 0x80008000) & ~(bfd_vma) 0xffffffff) != 0)
+    {
+      _bfd_error_handler
+	/* xgettext:c-format */
+	(_("%pB: `%pA' start VMA of %#" PRIx64 " outside the 32-bit range "
+	   "supported; consider using `-Ttext-segment=...'"),
+	 output_bfd,
+	 htab->root.sgotplt->output_section,
+	 (int64_t) gotplt_value);
+      bfd_set_error (bfd_error_no_error);
+      return FALSE;
+    }
 
   /* Install the PLT header.  */
   loc = htab->root.splt->contents;
@@ -11255,10 +11295,11 @@ mips_finish_exec_plt (bfd *output_bfd, s
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC"),
+	    (_("%pB: `%pA' offset of %" PRId64 " from `%pA' "
+	       "beyond the range of ADDIUPC"),
 	     output_bfd,
 	     htab->root.sgotplt->output_section,
-	     gotpc_offset,
+	     (int64_t) gotpc_offset,
 	     htab->root.splt->output_section);
 	  bfd_set_error (bfd_error_no_error);
 	  return FALSE;
@@ -12657,13 +12698,29 @@ _bfd_mips_elf_find_nearest_line (bfd *ab
 				     line_ptr, discriminator_ptr,
 				     dwarf_debug_sections,
 				     ABI_64_P (abfd) ? 8 : 0,
-				     &elf_tdata (abfd)->dwarf2_find_line_info))
-    return TRUE;
+				     &elf_tdata (abfd)->dwarf2_find_line_info)
+      || _bfd_dwarf1_find_nearest_line (abfd, symbols, section, offset,
+					filename_ptr, functionname_ptr,
+					line_ptr))
+    {
+      /* PR 22789: If the function name or filename was not found through
+	 the debug information, then try an ordinary lookup instead.  */
+      if ((functionname_ptr != NULL && *functionname_ptr == NULL)
+	  || (filename_ptr != NULL && *filename_ptr == NULL))
+	{
+	  /* Do not override already discovered names.  */
+	  if (functionname_ptr != NULL && *functionname_ptr != NULL)
+	    functionname_ptr = NULL;
 
-  if (_bfd_dwarf1_find_nearest_line (abfd, symbols, section, offset,
-				     filename_ptr, functionname_ptr,
-				     line_ptr))
-    return TRUE;
+	  if (filename_ptr != NULL && *filename_ptr != NULL)
+	    filename_ptr = NULL;
+
+	  _bfd_elf_find_function (abfd, symbols, section, offset,
+				  filename_ptr, functionname_ptr);
+	}
+
+      return TRUE;
+    }
 
   msec = bfd_get_section_by_name (abfd, ".mdebug");
   if (msec != NULL)
@@ -14118,7 +14175,7 @@ update_mips_abiflags_isa (bfd *abfd, Elf
     default:
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: Unknown architecture %s"),
+	(_("%pB: unknown architecture %s"),
 	 abfd, bfd_printable_name (abfd));
     }
 
@@ -14341,6 +14398,7 @@ _bfd_mips_elf_final_link (bfd *abfd, str
 	      bfd *input_bfd;
 	      Elf32_External_RegInfo ext;
 	      Elf32_RegInfo sub;
+	      bfd_size_type sz;
 
 	      if (p->type != bfd_indirect_link_order)
 		{
@@ -14352,8 +14410,11 @@ _bfd_mips_elf_final_link (bfd *abfd, str
 	      input_section = p->u.indirect.section;
 	      input_bfd = input_section->owner;
 
+	      sz = (input_section->size < sizeof (ext)
+		    ? input_section->size : sizeof (ext));
+	      memset (&ext, 0, sizeof (ext));
 	      if (! bfd_get_section_contents (input_bfd, input_section,
-					      &ext, 0, sizeof ext))
+					      &ext, 0, sz))
 		return FALSE;
 
 	      bfd_mips_elf32_swap_reginfo_in (input_bfd, &ext, &sub);
@@ -14365,7 +14426,7 @@ _bfd_mips_elf_final_link (bfd *abfd, str
 	      reginfo.ri_cprmask[3] |= sub.ri_cprmask[3];
 
 	      /* ri_gp_value is set by the function
-		 mips_elf32_section_processing when the section is
+		 `_bfd_mips_elf_section_processing' when the section is
 		 finally written out.  */
 
 	      /* Hack: reset the SEC_HAS_CONTENTS flag so that
@@ -14648,7 +14709,7 @@ _bfd_mips_elf_final_link (bfd *abfd, str
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: illegal section name `%A'"), abfd, o);
+		(_("%pB: illegal section name `%pA'"), abfd, o);
 	      bfd_set_error (bfd_error_nonrepresentable_section);
 	      return FALSE;
 	    }
@@ -14925,7 +14986,7 @@ mips_elf_merge_obj_e_flags (bfd *ibfd, s
       != ((old_flags & (EF_MIPS_PIC | EF_MIPS_CPIC)) != 0))
     {
       _bfd_error_handler
-	(_("%B: warning: linking abicalls files with non-abicalls files"),
+	(_("%pB: warning: linking abicalls files with non-abicalls files"),
 	 ibfd);
       ok = TRUE;
     }
@@ -14942,7 +15003,7 @@ mips_elf_merge_obj_e_flags (bfd *ibfd, s
   if (mips_32bit_flags_p (old_flags) != mips_32bit_flags_p (new_flags))
     {
       _bfd_error_handler
-	(_("%B: linking 32-bit code with 64-bit code"),
+	(_("%pB: linking 32-bit code with 64-bit code"),
 	 ibfd);
       ok = FALSE;
     }
@@ -14974,7 +15035,7 @@ mips_elf_merge_obj_e_flags (bfd *ibfd, s
 	  /* The ISAs aren't compatible.  */
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: linking %s module with previous %s modules"),
+	    (_("%pB: linking %s module with previous %s modules"),
 	     ibfd,
 	     bfd_printable_name (ibfd),
 	     bfd_printable_name (obfd));
@@ -14998,7 +15059,7 @@ mips_elf_merge_obj_e_flags (bfd *ibfd, s
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: ABI mismatch: linking %s module with previous %s modules"),
+	    (_("%pB: ABI mismatch: linking %s module with previous %s modules"),
 	     ibfd,
 	     elf_mips_abi_name (ibfd),
 	     elf_mips_abi_name (obfd));
@@ -15023,7 +15084,7 @@ mips_elf_merge_obj_e_flags (bfd *ibfd, s
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: ASE mismatch: linking %s module with previous %s modules"),
+	    (_("%pB: ASE mismatch: linking %s module with previous %s modules"),
 	     ibfd,
 	     m16_mis ? "MIPS16" : "microMIPS",
 	     m16_mis ? "microMIPS" : "MIPS16");
@@ -15040,7 +15101,7 @@ mips_elf_merge_obj_e_flags (bfd *ibfd, s
   if ((new_flags & EF_MIPS_NAN2008) != (old_flags & EF_MIPS_NAN2008))
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: linking %s module with previous %s modules"),
+      _bfd_error_handler (_("%pB: linking %s module with previous %s modules"),
 			  ibfd,
 			  (new_flags & EF_MIPS_NAN2008
 			   ? "-mnan=2008" : "-mnan=legacy"),
@@ -15055,7 +15116,7 @@ mips_elf_merge_obj_e_flags (bfd *ibfd, s
   if ((new_flags & EF_MIPS_FP64) != (old_flags & EF_MIPS_FP64))
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: linking %s module with previous %s modules"),
+      _bfd_error_handler (_("%pB: linking %s module with previous %s modules"),
 			  ibfd,
 			  (new_flags & EF_MIPS_FP64
 			   ? "-mfp64" : "-mfp32"),
@@ -15071,7 +15132,7 @@ mips_elf_merge_obj_e_flags (bfd *ibfd, s
     {
       /* xgettext:c-format */
       _bfd_error_handler
-	(_("%B: uses different e_flags (%#x) fields than previous modules "
+	(_("%pB: uses different e_flags (%#x) fields than previous modules "
 	   "(%#x)"),
 	 ibfd, new_flags, old_flags);
       ok = FALSE;
@@ -15157,20 +15218,20 @@ mips_elf_merge_obj_attributes (bfd *ibfd
 	  if (!out_string && !in_string)
 	    /* xgettext:c-format */
 	    _bfd_error_handler
-	      (_("Warning: %B uses unknown floating point ABI %d "
-		 "(set by %B), %B uses unknown floating point ABI %d"),
+	      (_("warning: %pB uses unknown floating point ABI %d "
+		 "(set by %pB), %pB uses unknown floating point ABI %d"),
 	       obfd, out_fp, abi_fp_bfd, ibfd, in_fp);
 	  else if (!out_string)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("Warning: %B uses unknown floating point ABI %d "
-		 "(set by %B), %B uses %s"),
+	      (_("warning: %pB uses unknown floating point ABI %d "
+		 "(set by %pB), %pB uses %s"),
 	       obfd, out_fp, abi_fp_bfd, ibfd, in_string);
 	  else if (!in_string)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("Warning: %B uses %s (set by %B), "
-		 "%B uses unknown floating point ABI %d"),
+	      (_("warning: %pB uses %s (set by %pB), "
+		 "%pB uses unknown floating point ABI %d"),
 	       obfd, out_string, abi_fp_bfd, ibfd, in_fp);
 	  else
 	    {
@@ -15183,7 +15244,7 @@ mips_elf_merge_obj_attributes (bfd *ibfd
 		in_string = "-mhard-float";
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("Warning: %B uses %s (set by %B), %B uses %s"),
+		(_("warning: %pB uses %s (set by %pB), %pB uses %s"),
 		 obfd, out_string, abi_fp_bfd, ibfd, in_string);
 	    }
 	}
@@ -15202,8 +15263,8 @@ mips_elf_merge_obj_attributes (bfd *ibfd
 	  case Val_GNU_MIPS_ABI_MSA_128:
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("Warning: %B uses %s (set by %B), "
-		 "%B uses unknown MSA ABI %d"),
+	      (_("warning: %pB uses %s (set by %pB), "
+		 "%pB uses unknown MSA ABI %d"),
 	       obfd, "-mmsa", abi_msa_bfd,
 	       ibfd, in_attr[Tag_GNU_MIPS_ABI_MSA].i);
 	    break;
@@ -15214,8 +15275,8 @@ mips_elf_merge_obj_attributes (bfd *ibfd
 	      case Val_GNU_MIPS_ABI_MSA_128:
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("Warning: %B uses unknown MSA ABI %d "
-		     "(set by %B), %B uses %s"),
+		  (_("warning: %pB uses unknown MSA ABI %d "
+		     "(set by %pB), %pB uses %s"),
 		     obfd, out_attr[Tag_GNU_MIPS_ABI_MSA].i,
 		   abi_msa_bfd, ibfd, "-mmsa");
 		  break;
@@ -15223,8 +15284,8 @@ mips_elf_merge_obj_attributes (bfd *ibfd
 	      default:
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("Warning: %B uses unknown MSA ABI %d "
-		     "(set by %B), %B uses unknown MSA ABI %d"),
+		  (_("warning: %pB uses unknown MSA ABI %d "
+		     "(set by %pB), %pB uses unknown MSA ABI %d"),
 		   obfd, out_attr[Tag_GNU_MIPS_ABI_MSA].i,
 		   abi_msa_bfd, ibfd, in_attr[Tag_GNU_MIPS_ABI_MSA].i);
 		break;
@@ -15285,7 +15346,7 @@ _bfd_mips_elf_merge_private_bfd_data (bf
   if (! _bfd_generic_verify_endian_match (ibfd, info))
     {
       _bfd_error_handler
-	(_("%B: endianness incompatible with that of the selected emulation"),
+	(_("%pB: endianness incompatible with that of the selected emulation"),
 	 ibfd);
       return FALSE;
     }
@@ -15299,7 +15360,7 @@ _bfd_mips_elf_merge_private_bfd_data (bf
   if (strcmp (bfd_get_target (ibfd), bfd_get_target (obfd)) != 0)
     {
       _bfd_error_handler
-	(_("%B: ABI is incompatible with that of the selected emulation"),
+	(_("%pB: ABI is incompatible with that of the selected emulation"),
 	 ibfd);
       return FALSE;
     }
@@ -15351,27 +15412,27 @@ _bfd_mips_elf_merge_private_bfd_data (bf
       if (LEVEL_REV (in_abiflags.isa_level, in_abiflags.isa_rev)
 	  < LEVEL_REV (abiflags.isa_level, abiflags.isa_rev))
 	_bfd_error_handler
-	  (_("%B: warning: Inconsistent ISA between e_flags and "
+	  (_("%pB: warning: inconsistent ISA between e_flags and "
 	     ".MIPS.abiflags"), ibfd);
       if (abiflags.fp_abi != Val_GNU_MIPS_ABI_FP_ANY
 	  && in_abiflags.fp_abi != abiflags.fp_abi)
 	_bfd_error_handler
-	  (_("%B: warning: Inconsistent FP ABI between .gnu.attributes and "
+	  (_("%pB: warning: inconsistent FP ABI between .gnu.attributes and "
 	     ".MIPS.abiflags"), ibfd);
       if ((in_abiflags.ases & abiflags.ases) != abiflags.ases)
 	_bfd_error_handler
-	  (_("%B: warning: Inconsistent ASEs between e_flags and "
+	  (_("%pB: warning: inconsistent ASEs between e_flags and "
 	     ".MIPS.abiflags"), ibfd);
       /* The isa_ext is allowed to be an extension of what can be inferred
 	 from e_flags.  */
       if (!mips_mach_extends_p (bfd_mips_isa_ext_mach (abiflags.isa_ext),
 				bfd_mips_isa_ext_mach (in_abiflags.isa_ext)))
 	_bfd_error_handler
-	  (_("%B: warning: Inconsistent ISA extensions between e_flags and "
+	  (_("%pB: warning: inconsistent ISA extensions between e_flags and "
 	     ".MIPS.abiflags"), ibfd);
       if (in_abiflags.flags2 != 0)
 	_bfd_error_handler
-	  (_("%B: warning: Unexpected flag in the flags2 field of "
+	  (_("%pB: warning: unexpected flag in the flags2 field of "
 	     ".MIPS.abiflags (0x%lx)"), ibfd,
 	   in_abiflags.flags2);
     }
@@ -15609,6 +15670,10 @@ print_mips_ases (FILE *file, unsigned in
     fputs ("\n\tXPA ASE", file);
   if (mask & AFL_ASE_MIPS16E2)
     fputs ("\n\tMIPS16e2 ASE", file);
+  if (mask & AFL_ASE_CRC)
+    fputs ("\n\tCRC ASE", file);
+  if (mask & AFL_ASE_GINV)
+    fputs ("\n\tGINV ASE", file);
   if (mask == 0)
     fprintf (file, "\n\t%s", _("None"));
   else if ((mask & ~AFL_ASE_MASK) != 0)
@@ -16165,6 +16230,18 @@ bfd_mips_elf_get_abiflags (bfd *abfd)
   return tdata->abiflags_valid ? &tdata->abiflags : NULL;
 }
 
+/* MIPS libc ABI versions, used with the EI_ABIVERSION ELF file header
+   field.  Taken from `libc-abis.h' generated at GNU libc build time.
+   Using a MIPS_ prefix as other libc targets use different values.  */
+enum
+{
+  MIPS_LIBC_ABI_DEFAULT = 0,
+  MIPS_LIBC_ABI_MIPS_PLT,
+  MIPS_LIBC_ABI_UNIQUE,
+  MIPS_LIBC_ABI_MIPS_O32_FP64,
+  MIPS_LIBC_ABI_MAX
+};
+
 void
 _bfd_mips_post_process_headers (bfd *abfd, struct bfd_link_info *link_info)
 {
@@ -16178,18 +16255,19 @@ _bfd_mips_post_process_headers (bfd *abf
       BFD_ASSERT (htab != NULL);
 
       if (htab->use_plts_and_copy_relocs && !htab->is_vxworks)
-	i_ehdrp->e_ident[EI_ABIVERSION] = 1;
+	i_ehdrp->e_ident[EI_ABIVERSION] = MIPS_LIBC_ABI_MIPS_PLT;
     }
 
-  _bfd_elf_post_process_headers (abfd, link_info);
-
   if (mips_elf_tdata (abfd)->abiflags.fp_abi == Val_GNU_MIPS_ABI_FP_64
       || mips_elf_tdata (abfd)->abiflags.fp_abi == Val_GNU_MIPS_ABI_FP_64A)
-    i_ehdrp->e_ident[EI_ABIVERSION] = 3;
+    i_ehdrp->e_ident[EI_ABIVERSION] = MIPS_LIBC_ABI_MIPS_O32_FP64;
+
+  _bfd_elf_post_process_headers (abfd, link_info);
 }
 
 int
-_bfd_mips_elf_compact_eh_encoding (struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
+_bfd_mips_elf_compact_eh_encoding
+  (struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
 {
   return DW_EH_PE_pcrel | DW_EH_PE_sdata4;
 }
@@ -16197,7 +16275,8 @@ _bfd_mips_elf_compact_eh_encoding (struc
 /* Return the opcode for can't unwind.  */
 
 int
-_bfd_mips_elf_cant_unwind_opcode (struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
+_bfd_mips_elf_cant_unwind_opcode
+  (struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
 {
   return COMPACT_EH_CANT_UNWIND_OPCODE;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-riscv.c ./bfd/elfxx-riscv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-riscv.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-riscv.c	2018-07-10 02:06:11.000000000 +0000
@@ -948,11 +948,12 @@ riscv_reloc_name_lookup (bfd *abfd ATTRI
 }
 
 reloc_howto_type *
-riscv_elf_rtype_to_howto (unsigned int r_type)
+riscv_elf_rtype_to_howto (bfd *abfd, unsigned int r_type)
 {
   if (r_type >= ARRAY_SIZE (howto_table))
     {
-      (*_bfd_error_handler) (_("unrecognized relocation (0x%x)"), r_type);
+      (*_bfd_error_handler) (_("%pB: unsupported relocation type %#x"),
+			     abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
       return 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.1.0.20180703/bfd/elfxx-riscv.h ./bfd/elfxx-riscv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-riscv.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-riscv.h	2018-07-10 02:06:11.000000000 +0000
@@ -30,4 +30,4 @@ extern reloc_howto_type *
 riscv_reloc_type_lookup (bfd *, bfd_reloc_code_real_type);
 
 extern reloc_howto_type *
-riscv_elf_rtype_to_howto (unsigned int r_type);
+riscv_elf_rtype_to_howto (bfd *, unsigned int r_type);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-sparc.c ./bfd/elfxx-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-sparc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-sparc.c	2018-07-10 02:06:11.000000000 +0000
@@ -311,7 +311,7 @@ static reloc_howto_type sparc_rev32_howt
   HOWTO(R_SPARC_REV32, 0,2,32,FALSE,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_REV32", FALSE,0,0xffffffff,TRUE);
 
 reloc_howto_type *
-_bfd_sparc_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+_bfd_sparc_elf_reloc_type_lookup (bfd *abfd,
 				  bfd_reloc_code_real_type code)
 {
   /* We explicitly handle each relocation type in the switch
@@ -585,8 +585,10 @@ _bfd_sparc_elf_reloc_type_lookup (bfd *a
     default:
       break;
     }
-    bfd_set_error (bfd_error_bad_value);
-    return NULL;
+  /* xgettext:c-format */
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, (int) code);
+  bfd_set_error (bfd_error_bad_value);
+  return NULL;
 }
 
 reloc_howto_type *
@@ -595,10 +597,7 @@ _bfd_sparc_elf_reloc_name_lookup (bfd *a
 {
   unsigned int i;
 
-  for (i = 0;
-       i < (sizeof (_bfd_sparc_elf_howto_table)
-	    / sizeof (_bfd_sparc_elf_howto_table[0]));
-       i++)
+  for (i = 0; i < ARRAY_SIZE (_bfd_sparc_elf_howto_table); i++)
     if (_bfd_sparc_elf_howto_table[i].name != NULL
 	&& strcasecmp (_bfd_sparc_elf_howto_table[i].name, r_name) == 0)
       return &_bfd_sparc_elf_howto_table[i];
@@ -614,7 +613,8 @@ _bfd_sparc_elf_reloc_name_lookup (bfd *a
 }
 
 reloc_howto_type *
-_bfd_sparc_elf_info_to_howto_ptr (unsigned int r_type)
+_bfd_sparc_elf_info_to_howto_ptr (bfd *abfd ATTRIBUTE_UNUSED,
+				  unsigned int r_type)
 {
   switch (r_type)
     {
@@ -636,8 +636,10 @@ _bfd_sparc_elf_info_to_howto_ptr (unsign
     default:
       if (r_type >= (unsigned int) R_SPARC_max_std)
 	{
-	  _bfd_error_handler (_("invalid relocation type %d"), (int) r_type);
-	  r_type = R_SPARC_NONE;
+	  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			      abfd, r_type);
+	  bfd_set_error (bfd_error_bad_value);
+	  return NULL;
 	}
       return &_bfd_sparc_elf_howto_table[r_type];
     }
@@ -648,13 +650,20 @@ _bfd_sparc_elf_info_to_howto_ptr (unsign
 #define SPARC_ELF_R_TYPE(r_info)	\
 	((r_info) & 0xff)
 
-void
-_bfd_sparc_elf_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
+bfd_boolean
+_bfd_sparc_elf_info_to_howto (bfd *abfd, arelent *cache_ptr,
 			      Elf_Internal_Rela *dst)
 {
   unsigned int r_type = SPARC_ELF_R_TYPE (dst->r_info);
 
-  cache_ptr->howto = _bfd_sparc_elf_info_to_howto_ptr (r_type);
+  if ((cache_ptr->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, r_type)) == NULL)
+    {
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  return TRUE;
 }
 
 
@@ -673,9 +682,9 @@ _bfd_sparc_elf_info_to_howto (bfd *abfd 
   ((EH)->elf.root.type == bfd_link_hash_undefweak		\
    && bfd_link_executable (INFO)				\
    && (_bfd_sparc_elf_hash_table (INFO)->interp == NULL		\
-       || !(EH)->has_got_reloc					\
+       || !(INFO)->dynamic_undefined_weak			\
        || (EH)->has_non_got_reloc				\
-       || !(INFO)->dynamic_undefined_weak))
+       || !(EH)->has_got_reloc))
 
 /* SPARC ELF linker hash entry.  */
 
@@ -692,9 +701,12 @@ struct _bfd_sparc_elf_link_hash_entry
 #define GOT_TLS_IE      3
   unsigned char tls_type;
 
-    /* Symbol has GOT or PLT relocations.  */
+  /* Symbol has GOT or PLT relocations.  */
   unsigned int has_got_reloc : 1;
 
+  /* Symbol has old-style, non-relaxable GOT relocations.  */
+  unsigned int has_old_style_got_reloc : 1;
+
   /* Symbol has non-GOT/non-PLT relocations in text sections.  */
   unsigned int has_non_got_reloc : 1;
 
@@ -750,6 +762,7 @@ sparc_elf_append_rela (bfd *abfd, asecti
   bfd_byte *loc;
 
   bed = get_elf_backend_data (abfd);
+  BFD_ASSERT (s->reloc_count * bed->s->sizeof_rela < s->size);
   loc = s->contents + (s->reloc_count++ * bed->s->sizeof_rela);
   bed->s->swap_reloca_out (abfd, rel, loc);
 }
@@ -1310,8 +1323,7 @@ _bfd_sparc_elf_copy_indirect_symbol (str
       eind->dyn_relocs = NULL;
     }
 
-  if (ind->root.type == bfd_link_hash_indirect
-      && dir->got.refcount <= 0)
+  if (ind->root.type == bfd_link_hash_indirect && dir->got.refcount <= 0)
     {
       edir->tls_type = eind->tls_type;
       eind->tls_type = GOT_UNKNOWN;
@@ -1331,7 +1343,7 @@ sparc_elf_tls_transition (struct bfd_lin
   if (! ABI_64_P (abfd)
       && r_type == R_SPARC_TLS_GD_HI22
       && ! _bfd_sparc_elf_tdata (abfd)->has_tlsgd)
-    r_type = R_SPARC_REV32;
+    return R_SPARC_REV32;
 
   if (!bfd_link_executable (info))
     return r_type;
@@ -1339,25 +1351,17 @@ sparc_elf_tls_transition (struct bfd_lin
   switch (r_type)
     {
     case R_SPARC_TLS_GD_HI22:
-      if (is_local)
-	return R_SPARC_TLS_LE_HIX22;
-      return R_SPARC_TLS_IE_HI22;
+      return is_local ? R_SPARC_TLS_LE_HIX22 : R_SPARC_TLS_IE_HI22;
     case R_SPARC_TLS_GD_LO10:
-      if (is_local)
-	return R_SPARC_TLS_LE_LOX10;
-      return R_SPARC_TLS_IE_LO10;
-    case R_SPARC_TLS_IE_HI22:
-      if (is_local)
-	return R_SPARC_TLS_LE_HIX22;
-      return r_type;
-    case R_SPARC_TLS_IE_LO10:
-      if (is_local)
-	return R_SPARC_TLS_LE_LOX10;
-      return r_type;
+      return is_local ? R_SPARC_TLS_LE_LOX10 : R_SPARC_TLS_IE_LO10;
     case R_SPARC_TLS_LDM_HI22:
       return R_SPARC_TLS_LE_HIX22;
     case R_SPARC_TLS_LDM_LO10:
       return R_SPARC_TLS_LE_LOX10;
+    case R_SPARC_TLS_IE_HI22:
+      return is_local ? R_SPARC_TLS_LE_HIX22 : r_type;
+    case R_SPARC_TLS_IE_LO10:
+      return is_local ? R_SPARC_TLS_LE_LOX10 : r_type;
     }
 
   return r_type;
@@ -1417,7 +1421,7 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, 
       if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: bad symbol index: %d"), abfd, r_symndx);
+	  _bfd_error_handler (_("%pB: bad symbol index: %d"), abfd, r_symndx);
 	  return FALSE;
 	}
 
@@ -1425,16 +1429,14 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, 
       if (r_symndx < symtab_hdr->sh_info)
 	{
 	  /* A local symbol.  */
-	  isym = bfd_sym_from_r_symndx (&htab->sym_cache,
-					abfd, r_symndx);
+	  isym = bfd_sym_from_r_symndx (&htab->sym_cache, abfd, r_symndx);
 	  if (isym == NULL)
 	    return FALSE;
 
 	  /* Check relocation against local STT_GNU_IFUNC symbol.  */
 	  if (ELF_ST_TYPE (isym->st_info) == STT_GNU_IFUNC)
 	    {
-	      h = elf_sparc_get_local_sym_hash (htab, abfd, rel,
-						TRUE);
+	      h = elf_sparc_get_local_sym_hash (htab, abfd, rel, TRUE);
 	      if (h == NULL)
 		return FALSE;
 
@@ -1456,13 +1458,10 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, 
 	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
 	}
 
-      if (h && h->type == STT_GNU_IFUNC)
+      if (h && h->type == STT_GNU_IFUNC && h->def_regular)
 	{
-	  if (h->def_regular)
-	    {
-	      h->ref_regular = 1;
-	      h->plt.refcount += 1;
-	    }
+	  h->ref_regular = 1;
+	  h->plt.refcount += 1;
 	}
 
       /* Compatibility with old R_SPARC_REV32 reloc conflicting
@@ -1530,14 +1529,6 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, 
 
 	    switch (r_type)
 	      {
-	      default:
-	      case R_SPARC_GOT10:
-	      case R_SPARC_GOT13:
-	      case R_SPARC_GOT22:
-	      case R_SPARC_GOTDATA_OP_HIX22:
-	      case R_SPARC_GOTDATA_OP_LOX10:
-		tls_type = GOT_NORMAL;
-		break;
 	      case R_SPARC_TLS_GD_HI22:
 	      case R_SPARC_TLS_GD_LO10:
 		tls_type = GOT_TLS_GD;
@@ -1546,6 +1537,9 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, 
 	      case R_SPARC_TLS_IE_LO10:
 		tls_type = GOT_TLS_IE;
 		break;
+	      default:
+		tls_type = GOT_NORMAL;
+		break;
 	      }
 
 	    if (h != NULL)
@@ -1573,39 +1567,34 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, 
 		    _bfd_sparc_elf_local_got_tls_type (abfd)
 		      = (char *) (local_got_refcounts + symtab_hdr->sh_info);
 		  }
-		switch (r_type)
-		  {
-		  case R_SPARC_GOTDATA_OP_HIX22:
-		  case R_SPARC_GOTDATA_OP_LOX10:
-		    break;
 
-		  default:
-		    local_got_refcounts[r_symndx] += 1;
-		    break;
-		  }
-		old_tls_type = _bfd_sparc_elf_local_got_tls_type (abfd) [r_symndx];
+		if (r_type != R_SPARC_GOTDATA_OP_HIX22
+		    && r_type != R_SPARC_GOTDATA_OP_LOX10)
+		  local_got_refcounts[r_symndx] += 1;
+
+		old_tls_type
+		  = _bfd_sparc_elf_local_got_tls_type (abfd) [r_symndx];
 	      }
 
-	    /* If a TLS symbol is accessed using IE at least once,
-	       there is no point to use dynamic model for it.  */
-	    if (old_tls_type != tls_type && old_tls_type != GOT_UNKNOWN
-		&& (old_tls_type != GOT_TLS_GD
-		    || tls_type != GOT_TLS_IE))
+	    /* If a TLS symbol is accessed using IE at least once, there is no
+	       point in using the dynamic model for it.  */
+	    if (old_tls_type != tls_type)
 	      {
-		if (old_tls_type == GOT_TLS_IE && tls_type == GOT_TLS_GD)
+		if (old_tls_type == GOT_UNKNOWN)
+		  ;
+		else if (old_tls_type == GOT_TLS_GD && tls_type == GOT_TLS_IE)
+		  ;
+		else if (old_tls_type == GOT_TLS_IE && tls_type == GOT_TLS_GD)
 		  tls_type = old_tls_type;
 		else
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: `%s' accessed both as normal and thread local symbol"),
+		      (_("%pB: `%s' accessed both as normal and thread local symbol"),
 		       abfd, h ? h->root.root.string : "<local>");
 		    return FALSE;
 		  }
-	      }
 
-	    if (old_tls_type != tls_type)
-	      {
 		if (h != NULL)
 		  _bfd_sparc_elf_hash_entry (h)->tls_type = tls_type;
 		else
@@ -1613,45 +1602,42 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, 
 	      }
 	  }
 
-	  if (htab->elf.sgot == NULL)
-	    {
-	      if (!_bfd_elf_create_got_section (htab->elf.dynobj, info))
-		return FALSE;
-	    }
+	  if (!htab->elf.sgot
+	      && !_bfd_elf_create_got_section (htab->elf.dynobj, info))
+	    return FALSE;
 
 	  if (eh != NULL)
-	    eh->has_got_reloc = 1;
+	    {
+	      eh->has_got_reloc = 1;
+	      if (r_type == R_SPARC_GOT10
+		  || r_type == R_SPARC_GOT13
+		  || r_type == R_SPARC_GOT22)
+		eh->has_old_style_got_reloc = 1;
+	    }
 	  break;
 
 	case R_SPARC_TLS_GD_CALL:
 	case R_SPARC_TLS_LDM_CALL:
-	  if (!bfd_link_executable (info))
-	    {
-	      /* These are basically R_SPARC_TLS_WPLT30 relocs against
-		 __tls_get_addr.  */
-	      struct bfd_link_hash_entry *bh = NULL;
-	      if (! _bfd_generic_link_add_one_symbol (info, abfd,
-						      "__tls_get_addr", 0,
-						      bfd_und_section_ptr, 0,
-						      NULL, FALSE, FALSE,
-						      &bh))
-		return FALSE;
-	      h = (struct elf_link_hash_entry *) bh;
-	    }
-	  else
+	  if (bfd_link_executable (info))
 	    break;
+
+	  /* Essentially R_SPARC_WPLT30 relocs against __tls_get_addr.  */
+	  h = (struct elf_link_hash_entry *)
+	       bfd_link_hash_lookup (info->hash, "__tls_get_addr", FALSE,
+				     FALSE, TRUE);
+	  BFD_ASSERT (h != NULL);
 	  /* Fall through */
 
-	case R_SPARC_PLT32:
 	case R_SPARC_WPLT30:
+	case R_SPARC_PLT32:
+	case R_SPARC_PLT64:
 	case R_SPARC_HIPLT22:
 	case R_SPARC_LOPLT10:
 	case R_SPARC_PCPLT32:
 	case R_SPARC_PCPLT22:
 	case R_SPARC_PCPLT10:
-	case R_SPARC_PLT64:
-	  /* This symbol requires a procedure linkage table entry.  We
-	     actually build the entry in adjust_dynamic_symbol,
+	  /* This symbol requires a procedure linkage table entry.
+	     We actually build the entry in adjust_dynamic_symbol,
 	     because this might be a case of linking PIC code without
 	     linking in any dynamic objects, in which case we don't
 	     need to generate a procedure linkage table after all.  */
@@ -1664,7 +1650,7 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, 
 		     reloc for a local symbol if you assemble a call from
 		     one section to another when using -K pic.  We treat
 		     it as WDISP30.  */
-		  if (ELF32_R_TYPE (rel->r_info) == R_SPARC_PLT32)
+		  if (r_type == R_SPARC_PLT32)
 		    goto r_sparc_plt32;
 		  break;
 		}
@@ -1680,14 +1666,9 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, 
 
 	  h->needs_plt = 1;
 
-	  {
-	    int this_r_type;
+	  if (r_type == R_SPARC_PLT32 || r_type == R_SPARC_PLT64)
+	    goto r_sparc_plt32;
 
-	    this_r_type = SPARC_ELF_R_TYPE (rel->r_info);
-	    if (this_r_type == R_SPARC_PLT32
-		|| this_r_type == R_SPARC_PLT64)
-	      goto r_sparc_plt32;
-	  }
 	  h->plt.refcount += 1;
 
 	  eh = (struct _bfd_sparc_elf_link_hash_entry *) h;
@@ -1891,9 +1872,7 @@ _bfd_sparc_elf_gc_mark_hook (asection *s
 	return NULL;
       }
 
-  /* FIXME: The test here, in check_relocs and in relocate_section
-     dealing with TLS optimization, ought to be !bfd_link_executable (info).  */
-  if (bfd_link_pic (info))
+  if (!bfd_link_executable (info))
     {
       switch (SPARC_ELF_R_TYPE (rel->r_info))
 	{
@@ -2009,8 +1988,8 @@ _bfd_sparc_elf_adjust_dynamic_symbol (st
       if (h->plt.refcount <= 0
 	  || (h->type != STT_GNU_IFUNC
 	      && (SYMBOL_CALLS_LOCAL (info, h)
-		  || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
-		      && h->root.type == bfd_link_hash_undefweak))))
+		  || (h->root.type == bfd_link_hash_undefweak
+		      && ELF_ST_VISIBILITY (h->other) != STV_DEFAULT))))
 	{
 	  /* This case can occur if we saw a WPLT30 reloc in an input
 	     file, but the symbol was never referred to by a dynamic
@@ -2129,12 +2108,11 @@ allocate_dynrelocs (struct elf_link_hash
 	  && h->def_regular
 	  && h->ref_regular))
     {
-      /* Make sure this symbol is output as a dynamic symbol.
-	 Undefined weak syms won't yet be marked as dynamic.  */
-      if (h->dynindx == -1
-	  && !h->forced_local
+      /* Undefined weak syms won't yet be marked as dynamic.  */
+      if (h->root.type == bfd_link_hash_undefweak
 	  && !resolved_to_zero
-	  && h->root.type == bfd_link_hash_undefweak)
+	  && h->dynindx == -1
+	  && !h->forced_local)
 	{
 	  if (! bfd_elf_link_record_dynamic_symbol (info, h))
 	    return FALSE;
@@ -2242,12 +2220,11 @@ allocate_dynrelocs (struct elf_link_hash
       bfd_boolean dyn;
       int tls_type = _bfd_sparc_elf_hash_entry(h)->tls_type;
 
-      /* Make sure this symbol is output as a dynamic symbol.
-	 Undefined weak syms won't yet be marked as dynamic.  */
-      if (h->dynindx == -1
-	  && !h->forced_local
+      /* Undefined weak syms won't yet be marked as dynamic.  */
+      if (h->root.type == bfd_link_hash_undefweak
 	  && !resolved_to_zero
-	  && h->root.type == bfd_link_hash_undefweak)
+	  && h->dynindx == -1
+	  && !h->forced_local)
 	{
 	  if (! bfd_elf_link_record_dynamic_symbol (info, h))
 	    return FALSE;
@@ -2261,21 +2238,25 @@ allocate_dynrelocs (struct elf_link_hash
 	s->size += SPARC_ELF_WORD_BYTES (htab);
       dyn = htab->elf.dynamic_sections_created;
       /* R_SPARC_TLS_IE_{HI22,LO10} needs one dynamic relocation,
-	 R_SPARC_TLS_GD_{HI22,LO10} needs one if local symbol and two if
-	 global.  No dynamic relocations are needed against resolved
-	 undefined weak symbols in an executable.  */
+	 R_SPARC_TLS_GD_{HI22,LO10} needs one if local and two if global.  */
       if ((tls_type == GOT_TLS_GD && h->dynindx == -1)
 	  || tls_type == GOT_TLS_IE
 	  || h->type == STT_GNU_IFUNC)
 	htab->elf.srelgot->size += SPARC_ELF_RELA_BYTES (htab);
       else if (tls_type == GOT_TLS_GD)
 	htab->elf.srelgot->size += 2 * SPARC_ELF_RELA_BYTES (htab);
-      else if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
-		 && !resolved_to_zero)
-		|| h->root.type != bfd_link_hash_undefweak)
-	       && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn,
-						   bfd_link_pic (info),
-						   h))
+      else if ((WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h)
+		/* Even if the symbol isn't dynamic, we may generate a
+		   reloc for the dynamic linker in PIC mode.  */
+		|| (h->dynindx == -1
+		    && !h->forced_local
+		    && h->root.type != bfd_link_hash_undefweak
+		    && bfd_link_pic (info)))
+	       /* No dynamic relocations are needed against resolved
+		  undefined weak symbols in an executable.  */
+	       && !(h->root.type == bfd_link_hash_undefweak
+		    && (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+			|| resolved_to_zero)))
 	htab->elf.srelgot->size += SPARC_ELF_RELA_BYTES (htab);
     }
   else
@@ -2385,12 +2366,11 @@ allocate_dynrelocs (struct elf_link_hash
 		  && (h->root.type == bfd_link_hash_undefweak
 		      || h->root.type == bfd_link_hash_undefined))))
 	{
-	  /* Make sure this symbol is output as a dynamic symbol.
-	     Undefined weak syms won't yet be marked as dynamic.  */
-	  if (h->dynindx == -1
-	      && !h->forced_local
+	  /* Undefined weak syms won't yet be marked as dynamic.  */
+	  if (h->root.type == bfd_link_hash_undefweak
 	      && !resolved_to_zero
-	      && h->root.type == bfd_link_hash_undefweak)
+	      && h->dynindx == -1
+	      && !h->forced_local)
 	    {
 	      if (! bfd_elf_link_record_dynamic_symbol (info, h))
 		return FALSE;
@@ -2454,7 +2434,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -2477,7 +2457,7 @@ _bfd_sparc_elf_omit_section_dynsym (bfd 
   if (strcmp (p->name, ".got") == 0)
     return FALSE;
 
-  return _bfd_elf_link_omit_section_dynsym (output_bfd, info, p);
+  return _bfd_elf_omit_section_dynsym_default (output_bfd, info, p);
 }
 
 /* Set the sizes of the dynamic sections.  */
@@ -2553,7 +2533,7 @@ _bfd_sparc_elf_size_dynamic_sections (bf
 		  if ((p->sec->output_section->flags & SEC_READONLY) != 0)
 		    {
 		      info->flags |= DF_TEXTREL;
-		      info->callbacks->minfo (_("%B: dynamic relocation in read-only section `%A'\n"),
+		      info->callbacks->minfo (_("%pB: dynamic relocation in read-only section `%pA'\n"),
 					      p->sec->owner, p->sec);
 		    }
 		}
@@ -2968,8 +2948,8 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
-      howto = _bfd_sparc_elf_howto_table + r_type;
 
+      howto = _bfd_sparc_elf_howto_table + r_type;
       r_symndx = SPARC_ELF_R_SYMNDX (htab, rel->r_info);
       h = NULL;
       sym = NULL;
@@ -3031,7 +3011,13 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 
 	  if ((input_section->flags & SEC_ALLOC) == 0
 	      || h->plt.offset == (bfd_vma) -1)
-	    abort ();
+	    {
+	      /* If this is a SHT_NOTE section without SHF_ALLOC, treat
+	         STT_GNU_IFUNC symbol as STT_FUNC.  */
+	      if (elf_section_type (input_section) == SHT_NOTE)
+		goto skip_ifunc;
+	      abort ();
+	    }
 
 	  plt_sec = htab->elf.splt;
 	  if (! plt_sec)
@@ -3126,7 +3112,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 					 NULL);
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocation %s against STT_GNU_IFUNC "
+		(_("%pB: relocation %s against STT_GNU_IFUNC "
 		   "symbol `%s' isn't handled by %s"), input_bfd,
 		 _bfd_sparc_elf_howto_table[r_type].name,
 		 name, __FUNCTION__);
@@ -3135,9 +3121,9 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	    }
 	}
 
+    skip_ifunc:
       eh = (struct _bfd_sparc_elf_link_hash_entry *) h;
-      resolved_to_zero = (eh != NULL
-			  && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh));
+      resolved_to_zero = eh && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh);
 
       switch (r_type)
 	{
@@ -3160,6 +3146,28 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	      /* {ld,ldx} [%rs1 + %rs2], %rd --> add %rs1, %rs2, %rd */
 	      relocation = 0x80000000 | (insn & 0x3e07c01f);
 	      bfd_put_32 (output_bfd, relocation, contents + rel->r_offset);
+
+	      /* If the symbol is global but not dynamic, an .rela.* slot has
+		 been allocated for it in the GOT so output R_SPARC_NONE here,
+		 if it isn't also subject to another, old-style GOT relocation.
+		 See also the handling of these GOT relocations just below.  */
+	      if (h != NULL
+		  && h->dynindx == -1
+		  && !h->forced_local
+		  && h->root.type != bfd_link_hash_undefweak
+		  && !eh->has_old_style_got_reloc
+		  && (h->got.offset & 1) == 0
+		  && bfd_link_pic (info))
+		{
+		  asection *s = htab->elf.srelgot;
+		  Elf_Internal_Rela outrel;
+
+		  BFD_ASSERT (s != NULL);
+
+		  memset (&outrel, 0, sizeof outrel);
+		  sparc_elf_append_rela (output_bfd, s, &outrel);
+		  h->got.offset |= 1;
+		}
 	    }
 	  continue;
 	}
@@ -3212,15 +3220,13 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 		    off &= ~1;
 		  else
 		    {
+		      /* If this symbol isn't dynamic in PIC mode, treat it
+			 like a local symbol in PIC mode below.  */
 		      if (h->dynindx == -1
 			  && !h->forced_local
 			  && h->root.type != bfd_link_hash_undefweak
 			  && bfd_link_pic (info))
-			{
-			  /* If this symbol isn't dynamic in PIC
-			     generate R_SPARC_RELATIVE here.  */
-			  relative_reloc = TRUE;
-			}
+			relative_reloc = TRUE;
 		      else
 			SPARC_ELF_PUT_WORD (htab, output_bfd, relocation,
 					    htab->elf.sgot->contents + off);
@@ -3244,6 +3250,8 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 		off &= ~1;
 	      else
 		{
+		  /* For a local symbol in PIC mode, we need to generate a
+		     R_SPARC_RELATIVE reloc for the dynamic linker.  */
 		  if (bfd_link_pic (info))
 		    relative_reloc = TRUE;
 		  else
@@ -3255,12 +3263,9 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 
 	  if (relative_reloc)
 	    {
-	      asection *s;
+	      asection *s = htab->elf.srelgot;
 	      Elf_Internal_Rela outrel;
 
-	      /* We need to generate a R_SPARC_RELATIVE reloc
-		 for the dynamic linker.  */
-	      s = htab->elf.srelgot;
 	      BFD_ASSERT (s != NULL);
 
 	      outrel.r_offset = (htab->elf.sgot->output_section->vma
@@ -3383,8 +3388,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	case R_SPARC_H34:
 	case R_SPARC_UA64:
 	r_sparc_plt32:
-	  if ((input_section->flags & SEC_ALLOC) == 0
-	      || is_vxworks_tls)
+	  if ((input_section->flags & SEC_ALLOC) == 0 || is_vxworks_tls)
 	    break;
 
 	  /* Copy dynamic function pointer relocations.  Don't generate
@@ -3392,9 +3396,9 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	     in PIE.  */
 	  if ((bfd_link_pic (info)
 	       && (h == NULL
-		   || ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
-			&& !resolved_to_zero)
-		       || h->root.type != bfd_link_hash_undefweak))
+		   || !(h->root.type == bfd_link_hash_undefweak
+			&& (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+			    || resolved_to_zero)))
 	       && (! howto->pc_relative
 		   || !SYMBOL_CALLS_LOCAL (info, h)))
 	      || (!bfd_link_pic (info)
@@ -3481,7 +3485,6 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 			   || !SYMBOLIC_BIND (info, h)
 			   || !h->def_regular))
 		{
-		  BFD_ASSERT (h->dynindx != -1);
 		  outrel.r_info = SPARC_ELF_R_INFO (htab, rel, h->dynindx, r_type);
 		  outrel.r_addend = rel->r_addend;
 		}
@@ -3534,7 +3537,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 			    {
 			      BFD_FAIL ();
 			      _bfd_error_handler
-				(_("%B: probably compiled without -fPIC?"),
+				(_("%pB: probably compiled without -fPIC?"),
 				 input_bfd);
 			      bfd_set_error (bfd_error_bad_value);
 			      return FALSE;
@@ -3556,40 +3559,19 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	  break;
 
 	case R_SPARC_TLS_GD_HI22:
-	  if (! ABI_64_P (input_bfd)
-	      && ! _bfd_sparc_elf_tdata (input_bfd)->has_tlsgd)
-	    {
-	      /* R_SPARC_REV32 used the same reloc number as
-		 R_SPARC_TLS_GD_HI22.  */
-	      r_type = R_SPARC_REV32;
-	      break;
-	    }
-	  /* Fall through */
-
 	case R_SPARC_TLS_GD_LO10:
 	case R_SPARC_TLS_IE_HI22:
 	case R_SPARC_TLS_IE_LO10:
-	  r_type = sparc_elf_tls_transition (info, input_bfd, r_type, h == NULL);
-	  tls_type = GOT_UNKNOWN;
-	  if (h == NULL && local_got_offsets)
+	  r_type = sparc_elf_tls_transition (info, input_bfd, r_type,
+					     h == NULL || h->dynindx == -1);
+	  if (r_type == R_SPARC_REV32)
+	    break;
+	  if (h != NULL)
+	    tls_type = _bfd_sparc_elf_hash_entry (h)->tls_type;
+	  else if (local_got_offsets)
 	    tls_type = _bfd_sparc_elf_local_got_tls_type (input_bfd) [r_symndx];
-	  else if (h != NULL)
-	    {
-	      tls_type = _bfd_sparc_elf_hash_entry(h)->tls_type;
-	      if (bfd_link_executable (info)
-		  && h->dynindx == -1
-		  && tls_type == GOT_TLS_IE)
-		switch (SPARC_ELF_R_TYPE (rel->r_info))
-		  {
-		  case R_SPARC_TLS_GD_HI22:
-		  case R_SPARC_TLS_IE_HI22:
-		    r_type = R_SPARC_TLS_LE_HIX22;
-		    break;
-		  default:
-		    r_type = R_SPARC_TLS_LE_LOX10;
-		    break;
-		  }
-	    }
+	  else
+	    tls_type = GOT_UNKNOWN;
 	  if (tls_type == GOT_TLS_IE)
 	    switch (r_type)
 	      {
@@ -3700,7 +3682,8 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 
 	case R_SPARC_TLS_LDM_HI22:
 	case R_SPARC_TLS_LDM_LO10:
-	  if (! bfd_link_pic (info))
+	  /* LD -> LE */
+	  if (bfd_link_executable (info))
 	    {
 	      bfd_put_32 (output_bfd, SPARC_NOP, contents + rel->r_offset);
 	      continue;
@@ -3711,14 +3694,19 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 
 	case R_SPARC_TLS_LDO_HIX22:
 	case R_SPARC_TLS_LDO_LOX10:
-	  if (bfd_link_pic (info))
+	  /* LD -> LE */
+	  if (bfd_link_executable (info))
+	    {
+	      if (r_type == R_SPARC_TLS_LDO_HIX22)
+		r_type = R_SPARC_TLS_LE_HIX22;
+	      else
+		r_type = R_SPARC_TLS_LE_LOX10;
+	    }
+	  else
 	    {
 	      relocation -= dtpoff_base (info);
 	      break;
 	    }
-
-	  r_type = (r_type == R_SPARC_TLS_LDO_HIX22
-		    ? R_SPARC_TLS_LE_HIX22 : R_SPARC_TLS_LE_LOX10);
 	  /* Fall through.  */
 
 	case R_SPARC_TLS_LE_HIX22:
@@ -3726,28 +3714,22 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	  if (!bfd_link_executable (info))
 	    {
 	      Elf_Internal_Rela outrel;
-	      bfd_boolean skip;
-
-	      BFD_ASSERT (sreloc != NULL);
-	      skip = FALSE;
-	      outrel.r_offset =
-		_bfd_elf_section_offset (output_bfd, info, input_section,
-					 rel->r_offset);
-	      if (outrel.r_offset == (bfd_vma) -1)
-		skip = TRUE;
-	      else if (outrel.r_offset == (bfd_vma) -2)
-		skip = TRUE;
-	      outrel.r_offset += (input_section->output_section->vma
-				  + input_section->output_offset);
-	      if (skip)
+	      bfd_vma offset
+		= _bfd_elf_section_offset (output_bfd, info, input_section,
+					   rel->r_offset);
+	      if (offset == (bfd_vma) -1 || offset == (bfd_vma) -2)
 		memset (&outrel, 0, sizeof outrel);
 	      else
 		{
+		  outrel.r_offset = offset
+				    + input_section->output_section->vma
+				    + input_section->output_offset;
 		  outrel.r_info = SPARC_ELF_R_INFO (htab, NULL, 0, r_type);
-		  outrel.r_addend = relocation - dtpoff_base (info)
-				    + rel->r_addend;
+		  outrel.r_addend
+		    = relocation - dtpoff_base (info) + rel->r_addend;
 		}
 
+	      BFD_ASSERT (sreloc != NULL);
 	      sparc_elf_append_rela (output_bfd, sreloc, &outrel);
 	      continue;
 	    }
@@ -3755,6 +3737,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	  break;
 
 	case R_SPARC_TLS_LDM_CALL:
+	  /* LD -> LE */
 	  if (bfd_link_executable (info))
 	    {
 	      /* mov %g0, %o0 */
@@ -3764,20 +3747,22 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	  /* Fall through */
 
 	case R_SPARC_TLS_GD_CALL:
-	  tls_type = GOT_UNKNOWN;
-	  if (h == NULL && local_got_offsets)
+	  if (h != NULL)
+	    tls_type = _bfd_sparc_elf_hash_entry (h)->tls_type;
+	  else if (local_got_offsets)
 	    tls_type = _bfd_sparc_elf_local_got_tls_type (input_bfd) [r_symndx];
-	  else if (h != NULL)
-	    tls_type = _bfd_sparc_elf_hash_entry(h)->tls_type;
+	  else
+	    tls_type = GOT_UNKNOWN;
+	  /* GD -> IE or LE */
 	  if (bfd_link_executable (info)
 	      || (r_type == R_SPARC_TLS_GD_CALL && tls_type == GOT_TLS_IE))
 	    {
 	      Elf_Internal_Rela *rel2;
 	      bfd_vma insn;
 
-	      if (!bfd_link_pic (info) && (h == NULL || h->dynindx == -1))
+	      /* GD -> LE */
+	      if (bfd_link_executable (info) && (h == NULL || h->dynindx == -1))
 		{
-		  /* GD -> LE */
 		  bfd_put_32 (output_bfd, SPARC_NOP, contents + rel->r_offset);
 		  continue;
 		}
@@ -3840,12 +3825,14 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	  goto r_sparc_wplt30;
 
 	case R_SPARC_TLS_GD_ADD:
-	  tls_type = GOT_UNKNOWN;
-	  if (h == NULL && local_got_offsets)
+	  if (h != NULL)
+	    tls_type = _bfd_sparc_elf_hash_entry (h)->tls_type;
+	  else if (local_got_offsets)
 	    tls_type = _bfd_sparc_elf_local_got_tls_type (input_bfd) [r_symndx];
-	  else if (h != NULL)
-	    tls_type = _bfd_sparc_elf_hash_entry(h)->tls_type;
-	  if (! bfd_link_pic (info) || tls_type == GOT_TLS_IE)
+	  else
+	    tls_type = GOT_UNKNOWN;
+	  /* GD -> IE or LE */
+	  if (bfd_link_executable (info) || tls_type == GOT_TLS_IE)
 	    {
 	      /* add %reg1, %reg2, %reg3, %tgd_add(foo)
 		 changed into IE:
@@ -3853,21 +3840,23 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 		 or LE:
 		 add %g7, %reg2, %reg3.  */
 	      bfd_vma insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
-	      if ((h != NULL && h->dynindx != -1) || bfd_link_pic (info))
-		relocation = insn | (ABI_64_P (output_bfd) ? 0xc0580000 : 0xc0000000);
-	      else
+	      if (bfd_link_executable (info) && (h == NULL || h->dynindx == -1))
 		relocation = (insn & ~0x7c000) | 0x1c000;
+	      else
+		relocation = insn | (ABI_64_P (output_bfd) ? 0xc0580000 : 0xc0000000);
 	      bfd_put_32 (output_bfd, relocation, contents + rel->r_offset);
 	    }
 	  continue;
 
 	case R_SPARC_TLS_LDM_ADD:
-	  if (! bfd_link_pic (info))
+	  /* LD -> LE */
+	  if (bfd_link_executable (info))
 	    bfd_put_32 (output_bfd, SPARC_NOP, contents + rel->r_offset);
 	  continue;
 
 	case R_SPARC_TLS_LDO_ADD:
-	  if (! bfd_link_pic (info))
+	  /* LD -> LE */
+	  if (bfd_link_executable (info))
 	    {
 	      /* Change rs1 into %g7.  */
 	      bfd_vma insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
@@ -3878,6 +3867,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 
 	case R_SPARC_TLS_IE_LD:
 	case R_SPARC_TLS_IE_LDX:
+	  /* IE -> LE */
 	  if (bfd_link_executable (info) && (h == NULL || h->dynindx == -1))
 	    {
 	      bfd_vma insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
@@ -3915,10 +3905,11 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 				      rel->r_offset) != (bfd_vma) -1)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	  (_("%pB(%pA+%#" PRIx64 "): "
+	     "unresolvable %s relocation against symbol `%s'"),
 	   input_bfd,
 	   input_section,
-	   rel->r_offset,
+	   (uint64_t) rel->r_offset,
 	   howto->name,
 	   h->root.root.string);
 
@@ -4326,7 +4317,7 @@ _bfd_sparc_elf_finish_dynamic_symbol (bf
   struct _bfd_sparc_elf_link_hash_table *htab;
   const struct elf_backend_data *bed;
   struct _bfd_sparc_elf_link_hash_entry  *eh;
-  bfd_boolean local_undefweak;
+  bfd_boolean resolved_to_zero;
 
   htab = _bfd_sparc_elf_hash_table (info);
   BFD_ASSERT (htab != NULL);
@@ -4337,7 +4328,7 @@ _bfd_sparc_elf_finish_dynamic_symbol (bf
   /* We keep PLT/GOT entries without dynamic PLT/GOT relocations for
      resolved undefined weak symbols in executable so that their
      references have value 0 at run-time.  */
-  local_undefweak = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh);
+  resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh);
 
   if (h->plt.offset != (bfd_vma) -1)
     {
@@ -4462,8 +4453,7 @@ _bfd_sparc_elf_finish_dynamic_symbol (bf
       loc += rela_index * bed->s->sizeof_rela;
       bed->s->swap_reloca_out (output_bfd, &rela, loc);
 
-      if (!local_undefweak
-	  && !h->def_regular)
+      if (!resolved_to_zero && !h->def_regular)
 	{
 	  /* Mark the symbol as undefined, rather than as defined in
 	     the .plt section.  Leave the value alone.  */
@@ -4477,12 +4467,14 @@ _bfd_sparc_elf_finish_dynamic_symbol (bf
 	}
     }
 
-  /* Don't generate dynamic GOT relocation against undefined weak
-     symbol in executable.  */
+  /* Don't generate dynamic GOT relocation against resolved undefined weak
+     symbols in an executable.  */
   if (h->got.offset != (bfd_vma) -1
       && _bfd_sparc_elf_hash_entry(h)->tls_type != GOT_TLS_GD
       && _bfd_sparc_elf_hash_entry(h)->tls_type != GOT_TLS_IE
-      && !local_undefweak)
+      && !(h->root.type == bfd_link_hash_undefweak
+	   && (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+	       || resolved_to_zero)))
     {
       asection *sgot;
       asection *srela;
@@ -4518,8 +4510,8 @@ _bfd_sparc_elf_finish_dynamic_symbol (bf
 			      + (h->got.offset & ~(bfd_vma) 1));
 	  return TRUE;
 	}
-      else if (bfd_link_pic (info)
-	       && SYMBOL_REFERENCES_LOCAL (info, h))
+
+      if (bfd_link_pic (info) && SYMBOL_REFERENCES_LOCAL (info, h))
 	{
 	  asection *sec = h->root.u.def.section;
 	  if (h->type == STT_GNU_IFUNC)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-sparc.h ./bfd/elfxx-sparc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-sparc.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-sparc.h	2018-07-10 02:06:11.000000000 +0000
@@ -97,10 +97,10 @@ extern reloc_howto_type *_bfd_sparc_elf_
   (bfd *, bfd_reloc_code_real_type);
 extern reloc_howto_type *_bfd_sparc_elf_reloc_name_lookup
   (bfd *, const char *);
-extern void _bfd_sparc_elf_info_to_howto
+extern bfd_boolean _bfd_sparc_elf_info_to_howto
   (bfd *, arelent *, Elf_Internal_Rela *);
 extern reloc_howto_type *_bfd_sparc_elf_info_to_howto_ptr
-  (unsigned int);
+  (bfd*, unsigned int);
 extern bfd_boolean _bfd_sparc_elf_mkobject
   (bfd *);
 extern struct bfd_link_hash_table *_bfd_sparc_elf_link_hash_table_create
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-target.h ./bfd/elfxx-target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-target.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-target.h	2018-07-10 02:06:11.000000000 +0000
@@ -145,10 +145,9 @@
 #define elf_backend_strtab_flags 0
 #endif
 
-#define bfd_elfNN_bfd_debug_info_start	bfd_void
-#define bfd_elfNN_bfd_debug_info_end	bfd_void
-#define bfd_elfNN_bfd_debug_info_accumulate \
-  ((void (*) (bfd*, struct bfd_section *)) bfd_void)
+#define bfd_elfNN_bfd_debug_info_start		_bfd_void_bfd
+#define bfd_elfNN_bfd_debug_info_end		_bfd_void_bfd
+#define bfd_elfNN_bfd_debug_info_accumulate	_bfd_void_bfd_asection
 
 #ifndef bfd_elfNN_bfd_get_relocated_section_contents
 #define bfd_elfNN_bfd_get_relocated_section_contents \
@@ -206,13 +205,16 @@
 #define bfd_elfNN_bfd_define_common_symbol bfd_generic_define_common_symbol
 #endif
 
+#ifndef bfd_elfNN_bfd_link_hide_symbol
+#define bfd_elfNN_bfd_link_hide_symbol _bfd_elf_link_hide_symbol
+#endif
+
 #ifndef bfd_elfNN_bfd_lookup_section_flags
 #define bfd_elfNN_bfd_lookup_section_flags bfd_elf_lookup_section_flags
 #endif
 
 #ifndef bfd_elfNN_bfd_make_debug_symbol
-#define bfd_elfNN_bfd_make_debug_symbol \
-  ((asymbol * (*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
+#define bfd_elfNN_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
 #endif
 
 #ifndef bfd_elfNN_bfd_copy_private_symbol_data
@@ -237,19 +239,16 @@
   _bfd_elf_print_private_bfd_data
 #endif
 #ifndef bfd_elfNN_bfd_merge_private_bfd_data
-#define bfd_elfNN_bfd_merge_private_bfd_data \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_true)
+#define bfd_elfNN_bfd_merge_private_bfd_data _bfd_bool_bfd_link_true
 #endif
 #ifndef bfd_elfNN_bfd_set_private_flags
-#define bfd_elfNN_bfd_set_private_flags \
-  ((bfd_boolean (*) (bfd *, flagword)) bfd_true)
+#define bfd_elfNN_bfd_set_private_flags _bfd_bool_bfd_uint_true
 #endif
 #ifndef bfd_elfNN_bfd_is_local_label_name
 #define bfd_elfNN_bfd_is_local_label_name _bfd_elf_is_local_label_name
 #endif
 #ifndef bfd_elfNN_bfd_is_target_special_symbol
-#define bfd_elfNN_bfd_is_target_special_symbol \
-  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define bfd_elfNN_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
 #endif
 
 #ifndef bfd_elfNN_get_dynamic_reloc_upper_bound
@@ -344,11 +343,11 @@
 #endif
 
 #ifndef elf_info_to_howto
-#define elf_info_to_howto 0
+#define elf_info_to_howto NULL
 #endif
 
 #ifndef elf_info_to_howto_rel
-#define elf_info_to_howto_rel 0
+#define elf_info_to_howto_rel NULL
 #endif
 
 #ifndef elf_backend_arch_data
@@ -372,6 +371,10 @@
 #define ELF_COMMONPAGESIZE ELF_MAXPAGESIZE
 #endif
 
+#ifndef ELF_RELROPAGESIZE
+#define ELF_RELROPAGESIZE ELF_COMMONPAGESIZE
+#endif
+
 #ifndef ELF_MINPAGESIZE
 #define ELF_MINPAGESIZE ELF_COMMONPAGESIZE
 #endif
@@ -379,9 +382,15 @@
 #if ELF_COMMONPAGESIZE > ELF_MAXPAGESIZE
 # error ELF_COMMONPAGESIZE > ELF_MAXPAGESIZE
 #endif
+#if ELF_RELROPAGESIZE > ELF_MAXPAGESIZE
+# error ELF_RELROPAGESIZE > ELF_MAXPAGESIZE
+#endif
 #if ELF_MINPAGESIZE > ELF_COMMONPAGESIZE
 # error ELF_MINPAGESIZE > ELF_COMMONPAGESIZE
 #endif
+#if ELF_MINPAGESIZE > ELF_RELROPAGESIZE
+# error ELF_MINPAGESIZE > ELF_RELROPAGESIZE
+#endif
 
 #ifndef ELF_DYNAMIC_SEC_FLAGS
 /* Note that we set the SEC_IN_MEMORY flag for these sections.  */
@@ -449,7 +458,7 @@
 #define elf_backend_create_dynamic_sections 0
 #endif
 #ifndef elf_backend_omit_section_dynsym
-#define elf_backend_omit_section_dynsym _bfd_elf_link_omit_section_dynsym
+#define elf_backend_omit_section_dynsym _bfd_elf_omit_section_dynsym_default
 #endif
 #ifndef elf_backend_relocs_compatible
 #define elf_backend_relocs_compatible _bfd_elf_default_relocs_compatible
@@ -473,8 +482,7 @@
 #define elf_backend_size_dynamic_sections 0
 #endif
 #ifndef elf_backend_init_index_section
-#define elf_backend_init_index_section \
- ((void (*) (bfd *, struct bfd_link_info *)) bfd_void)
+#define elf_backend_init_index_section _bfd_void_bfd_link
 #endif
 #ifndef elf_backend_relocate_section
 #define elf_backend_relocate_section	0
@@ -501,8 +509,7 @@
 #define elf_backend_modify_program_headers	0
 #endif
 #ifndef elf_backend_allow_non_load_phdr
-#define elf_backend_allow_non_load_phdr	\
-  ((bfd_boolean (*) (bfd *, const Elf_Internal_Phdr *, unsigned)) bfd_false)
+#define elf_backend_allow_non_load_phdr	0
 #endif
 #ifndef elf_backend_ecoff_debug_swap
 #define elf_backend_ecoff_debug_swap	0
@@ -764,6 +771,7 @@ static struct elf_backend_data elfNN_bed
   ELF_MAXPAGESIZE,		/* maxpagesize */
   ELF_MINPAGESIZE,		/* minpagesize */
   ELF_COMMONPAGESIZE,		/* commonpagesize */
+  ELF_RELROPAGESIZE,		/* commonpagesize to use with -z relro */
   ELF_DYNAMIC_SEC_FLAGS,	/* dynamic_sec_flags */
   elf_backend_arch_data,
   elf_info_to_howto,
@@ -967,14 +975,14 @@ const bfd_target TARGET_BIG_SYM =
   },
 
   /* bfd_set_format: set the format of a file being written */
-  { bfd_false,
+  { _bfd_bool_bfd_false_error,
     bfd_elfNN_mkobject,
     bfd_elfNN_mkarchive,
     bfd_elfNN_mkcorefile
   },
 
   /* bfd_write_contents: write cached information into a file being written */
-  { bfd_false,
+  { _bfd_bool_bfd_false_error,
     bfd_elfNN_write_object_contents,
     bfd_elfNN_write_archive_contents,
     bfd_elfNN_write_corefile_contents,
@@ -1068,14 +1076,14 @@ const bfd_target TARGET_LITTLE_SYM =
   },
 
   /* bfd_set_format: set the format of a file being written */
-  { bfd_false,
+  { _bfd_bool_bfd_false_error,
     bfd_elfNN_mkobject,
     bfd_elfNN_mkarchive,
     bfd_elfNN_mkcorefile
   },
 
   /* bfd_write_contents: write cached information into a file being written */
-  { bfd_false,
+  { _bfd_bool_bfd_false_error,
     bfd_elfNN_write_object_contents,
     bfd_elfNN_write_archive_contents,
     bfd_elfNN_write_corefile_contents,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-tilegx.c ./bfd/elfxx-tilegx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-tilegx.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-tilegx.c	2018-07-10 02:06:11.000000000 +0000
@@ -892,7 +892,7 @@ tilegx_put_word_32 (bfd *abfd, bfd_vma v
 }
 
 reloc_howto_type *
-tilegx_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+tilegx_reloc_type_lookup (bfd * abfd,
 			  bfd_reloc_code_real_type code)
 {
   unsigned int i;
@@ -908,6 +908,10 @@ tilegx_reloc_type_lookup (bfd * abfd ATT
 			       - entry->table[0].type);
     }
 
+  /* xgettext:c-format */
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+		      abfd, (int) code);
+  bfd_set_error (bfd_error_bad_value);
   return NULL;
 }
 
@@ -928,7 +932,7 @@ tilegx_reloc_name_lookup (bfd *abfd ATTR
   return NULL;
 }
 
-void
+bfd_boolean
 tilegx_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
 			   arelent *cache_ptr,
 			   Elf_Internal_Rela *dst)
@@ -938,11 +942,19 @@ tilegx_info_to_howto_rela (bfd *abfd ATT
   if (r_type <= (unsigned int) R_TILEGX_IMM8_Y1_TLS_ADD)
     cache_ptr->howto = &tilegx_elf_howto_table [r_type];
   else if (r_type - R_TILEGX_GNU_VTINHERIT
-	   <= (unsigned int) R_TILEGX_GNU_VTENTRY)
+	   <= ((unsigned int) R_TILEGX_GNU_VTENTRY
+	       - (unsigned int) R_TILEGX_GNU_VTINHERIT))
     cache_ptr->howto
       = &tilegx_elf_howto_table2 [r_type - R_TILEGX_GNU_VTINHERIT];
   else
-    abort ();
+    {
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+			  abfd, r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+  return TRUE;
 }
 
 typedef tilegx_bundle_bits (*tilegx_create_func)(int);
@@ -1685,7 +1697,7 @@ tilegx_elf_check_relocs (bfd *abfd, stru
       if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: bad symbol index: %d"),
+	  _bfd_error_handler (_("%pB: bad symbol index: %d"),
 			      abfd, r_symndx);
 	  return FALSE;
 	}
@@ -1790,7 +1802,7 @@ tilegx_elf_check_relocs (bfd *abfd, stru
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: `%s' accessed both as normal and thread local symbol"),
+		      (_("%pB: `%s' accessed both as normal and thread local symbol"),
 		       abfd, h ? h->root.root.string : "<local>");
 		    return FALSE;
 		  }
@@ -2476,7 +2488,7 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       info->callbacks->minfo
-	(_("%B: dynamic relocation against `%T' in read-only section `%A'\n"),
+	(_("%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"),
 	 sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -2499,7 +2511,7 @@ tilegx_elf_omit_section_dynsym (bfd *out
   if (strcmp (p->name, ".got") == 0)
     return FALSE;
 
-  return _bfd_elf_link_omit_section_dynsym (output_bfd, info, p);
+  return _bfd_elf_omit_section_dynsym_default (output_bfd, info, p);
 }
 
 bfd_boolean
@@ -2564,7 +2576,7 @@ tilegx_elf_size_dynamic_sections (bfd *o
 		    {
 		      info->flags |= DF_TEXTREL;
 
-		      info->callbacks->minfo (_("%B: dynamic relocation in read-only section `%A'\n"),
+		      info->callbacks->minfo (_("%pB: dynamic relocation in read-only section `%pA'\n"),
 					      p->sec->owner, p->sec);
 		    }
 		}
@@ -3528,7 +3540,7 @@ tilegx_elf_relocate_section (bfd *output
 			    {
 			      BFD_FAIL ();
 			      _bfd_error_handler
-				(_("%B: probably compiled without -fPIC?"),
+				(_("%pB: probably compiled without -fPIC?"),
 				 input_bfd);
 			      bfd_set_error (bfd_error_bad_value);
 			      return FALSE;
@@ -3778,10 +3790,11 @@ tilegx_elf_relocate_section (bfd *output
 				      rel->r_offset) != (bfd_vma) -1)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	  (_("%pB(%pA+%#" PRIx64 "): "
+	     "unresolvable %s relocation against symbol `%s'"),
 	   input_bfd,
 	   input_section,
-	   rel->r_offset,
+	   (uint64_t) rel->r_offset,
 	   howto->name,
 	   h->root.root.string);
 
@@ -4129,7 +4142,7 @@ tilegx_elf_finish_dynamic_sections (bfd 
       if (bfd_is_abs_section (htab->elf.sgotplt->output_section))
 	{
 	  _bfd_error_handler
-	    (_("discarded output section: `%A'"), htab->elf.sgotplt);
+	    (_("discarded output section: `%pA'"), htab->elf.sgotplt);
 	  return FALSE;
 	}
 
@@ -4238,7 +4251,7 @@ _bfd_tilegx_elf_merge_private_bfd_data (
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: Cannot link together %s and %s objects."),
+	(_("%pB: cannot link together %s and %s objects"),
 	 ibfd, targ1, targ2);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-tilegx.h ./bfd/elfxx-tilegx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-tilegx.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-tilegx.h	2018-07-10 02:06:11.000000000 +0000
@@ -76,7 +76,7 @@ tilegx_elf_gc_mark_hook (asection *,
 extern bfd_vma
 tilegx_elf_plt_sym_val (bfd_vma, const asection *, const arelent *);
 
-extern void
+extern bfd_boolean
 tilegx_info_to_howto_rela (bfd *, arelent *, Elf_Internal_Rela *);
 
 extern int
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-x86.c ./bfd/elfxx-x86.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-x86.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-x86.c	2018-07-10 02:06:11.000000000 +0000
@@ -179,6 +179,7 @@ elf_x86_allocate_dynrelocs (struct elf_l
 	  asection *s = htab->elf.splt;
 	  asection *second_s = htab->plt_second;
 	  asection *got_s = htab->plt_got;
+	  bfd_boolean use_plt;
 
 	  /* If this is the first .plt entry, make room for the special
 	     first entry.  The .plt section is used by prelink to undo
@@ -196,12 +197,19 @@ elf_x86_allocate_dynrelocs (struct elf_l
 	    }
 
 	  /* If this symbol is not defined in a regular file, and we are
-	     not generating a shared library, then set the symbol to this
-	     location in the .plt.  This is required to make function
-	     pointers compare as equal between the normal executable and
-	     the shared library.  */
-	  if (! bfd_link_pic (info)
-	      && !h->def_regular)
+	     generating PDE, then set the symbol to this location in the
+	     .plt.  This is required to make function pointers compare
+	     as equal between PDE and the shared library.
+
+	     NB: If PLT is PC-relative, we can use the .plt in PIE for
+	     function address. */
+	  if (h->def_regular)
+	    use_plt = FALSE;
+	  else if (htab->pcrel_plt)
+	    use_plt = ! bfd_link_dll (info);
+	  else
+	    use_plt = bfd_link_pde (info);
+	  if (use_plt)
 	    {
 	      if (use_plt_got)
 		{
@@ -560,15 +568,15 @@ maybe_set_textrel (struct elf_link_hash_
 
       info->flags |= DF_TEXTREL;
       /* xgettext:c-format */
-      info->callbacks->minfo (_("%B: dynamic relocation against `%T' "
-				"in read-only section `%A'\n"),
+      info->callbacks->minfo (_("%pB: dynamic relocation against `%pT' "
+				"in read-only section `%pA'\n"),
 			      sec->owner, h->root.root.string, sec);
 
       if ((info->warn_shared_textrel && bfd_link_pic (info))
 	  || info->error_textrel)
 	/* xgettext:c-format */
-	info->callbacks->einfo (_("%P: %B: warning: relocation against `%s' "
-				  "in read-only section `%A'\n"),
+	info->callbacks->einfo (_("%P: %pB: warning: relocation against `%s' "
+				  "in read-only section `%pA'\n"),
 				sec->owner, h->root.root.string, sec);
 
       /* Not an error, just cut short the traversal.  */
@@ -771,6 +779,7 @@ _bfd_x86_elf_link_hash_table_create (bfd
       ret->dt_reloc_sz = DT_RELASZ;
       ret->dt_reloc_ent = DT_RELAENT;
       ret->got_entry_size = 8;
+      ret->pcrel_plt = TRUE;
       ret->tls_get_addr = "__tls_get_addr";
     }
   if (ABI_64_P (abfd))
@@ -798,6 +807,7 @@ _bfd_x86_elf_link_hash_table_create (bfd
 	  ret->dt_reloc_ent = DT_RELENT;
 	  ret->sizeof_reloc = sizeof (Elf32_External_Rel);
 	  ret->got_entry_size = 4;
+	  ret->pcrel_plt = FALSE;
 	  ret->pointer_r_type = R_386_32;
 	  ret->dynamic_interpreter = ELF32_DYNAMIC_INTERPRETER;
 	  ret->dynamic_interpreter_size
@@ -839,6 +849,54 @@ _bfd_x86_elf_compare_relocs (const void 
     return 0;
 }
 
+/* Mark symbol, NAME, as locally defined by linker if it is referenced
+   and not defined in a relocatable object file.  */
+
+static void
+elf_x86_linker_defined (struct bfd_link_info *info, const char *name)
+{
+  struct elf_link_hash_entry *h;
+
+  h = elf_link_hash_lookup (elf_hash_table (info), name,
+			    FALSE, FALSE, FALSE);
+  if (h == NULL)
+    return;
+
+  while (h->root.type == bfd_link_hash_indirect)
+    h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+  if (h->root.type == bfd_link_hash_new
+      || h->root.type == bfd_link_hash_undefined
+      || h->root.type == bfd_link_hash_undefweak
+      || h->root.type == bfd_link_hash_common
+      || (!h->def_regular && h->def_dynamic))
+    {
+      elf_x86_hash_entry (h)->local_ref = 2;
+      elf_x86_hash_entry (h)->linker_def = 1;
+    }
+}
+
+/* Hide a linker-defined symbol, NAME, with hidden visibility.  */
+
+static void
+elf_x86_hide_linker_defined (struct bfd_link_info *info,
+			     const char *name)
+{
+  struct elf_link_hash_entry *h;
+
+  h = elf_link_hash_lookup (elf_hash_table (info), name,
+			    FALSE, FALSE, FALSE);
+  if (h == NULL)
+    return;
+
+  while (h->root.type == bfd_link_hash_indirect)
+    h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+  if (ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
+      || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN)
+    _bfd_elf_link_hash_hide_symbol (info, h, TRUE);
+}
+
 bfd_boolean
 _bfd_x86_elf_link_check_relocs (bfd *abfd, struct bfd_link_info *info)
 {
@@ -856,21 +914,36 @@ _bfd_x86_elf_link_check_relocs (bfd *abf
 				    htab->tls_get_addr,
 				    FALSE, FALSE, FALSE);
 	  if (h != NULL)
-	    elf_x86_hash_entry (h)->tls_get_addr = 1;
+	    {
+	      elf_x86_hash_entry (h)->tls_get_addr = 1;
+
+	      /* Check the versioned __tls_get_addr symbol.  */
+	      while (h->root.type == bfd_link_hash_indirect)
+		{
+		  h = (struct elf_link_hash_entry *) h->root.u.i.link;
+		  elf_x86_hash_entry (h)->tls_get_addr = 1;
+		}
+	    }
 
 	  /* "__ehdr_start" will be defined by linker as a hidden symbol
 	     later if it is referenced and not defined.  */
-	  h = elf_link_hash_lookup (elf_hash_table (info),
-				    "__ehdr_start",
-				    FALSE, FALSE, FALSE);
-	  if (h != NULL
-	      && (h->root.type == bfd_link_hash_new
-		  || h->root.type == bfd_link_hash_undefined
-		  || h->root.type == bfd_link_hash_undefweak
-		  || h->root.type == bfd_link_hash_common))
+	  elf_x86_linker_defined (info, "__ehdr_start");
+
+	  if (bfd_link_executable (info))
+	    {
+	      /* References to __bss_start, _end and _edata should be
+		 locally resolved within executables.  */
+	      elf_x86_linker_defined (info, "__bss_start");
+	      elf_x86_linker_defined (info, "_end");
+	      elf_x86_linker_defined (info, "_edata");
+	    }
+	  else
 	    {
-	      elf_x86_hash_entry (h)->local_ref = 2;
-	      elf_x86_hash_entry (h)->linker_def = 1;
+	      /* Hide hidden __bss_start, _end and _edata in shared
+		 libraries.  */
+	      elf_x86_hide_linker_defined (info, "__bss_start");
+	      elf_x86_hide_linker_defined (info, "_end");
+	      elf_x86_hide_linker_defined (info, "_edata");
 	    }
 	}
     }
@@ -951,8 +1024,8 @@ _bfd_x86_elf_size_dynamic_sections (bfd 
 			  || info->error_textrel)
 			/* xgettext:c-format */
 			info->callbacks->einfo
-			  (_("%P: %B: warning: relocation "
-			     "in read-only section `%A'\n"),
+			  (_("%P: %pB: warning: relocation "
+			     "in read-only section `%pA'\n"),
 			   p->sec->owner, p->sec);
 		    }
 		}
@@ -1077,7 +1150,7 @@ _bfd_x86_elf_size_dynamic_sections (bfd 
       /* Don't allocate .got.plt section if there are no GOT nor PLT
 	 entries and there is no reference to _GLOBAL_OFFSET_TABLE_.  */
       if ((htab->elf.hgot == NULL
-	   || !htab->elf.hgot->ref_regular_nonweak)
+	   || !htab->got_referenced)
 	  && (htab->elf.sgotplt->size == bed->got_header_size)
 	  && (htab->elf.splt == NULL
 	      || htab->elf.splt->size == 0)
@@ -1087,7 +1160,22 @@ _bfd_x86_elf_size_dynamic_sections (bfd 
 	      || htab->elf.iplt->size == 0)
 	  && (htab->elf.igotplt == NULL
 	      || htab->elf.igotplt->size == 0))
-	htab->elf.sgotplt->size = 0;
+	{
+	  htab->elf.sgotplt->size = 0;
+	  /* Solaris requires to keep _GLOBAL_OFFSET_TABLE_ even if it
+	     isn't used.  */
+	  if (htab->elf.hgot != NULL && htab->target_os != is_solaris)
+	    {
+	      /* Remove the unused _GLOBAL_OFFSET_TABLE_ from symbol
+		 table. */
+	      htab->elf.hgot->root.type = bfd_link_hash_undefined;
+	      htab->elf.hgot->root.u.undef.abfd
+		= htab->elf.hgot->root.u.def.section->owner;
+	      htab->elf.hgot->root.linker_def = 0;
+	      htab->elf.hgot->ref_regular = 0;
+	      htab->elf.hgot->def_regular = 0;
+	    }
+	}
     }
 
   if (_bfd_elf_eh_frame_present (info))
@@ -1333,7 +1421,7 @@ _bfd_x86_elf_finish_dynamic_sections (bf
       if (bfd_is_abs_section (htab->elf.sgotplt->output_section))
 	{
 	  _bfd_error_handler
-	    (_("discarded output section: `%A'"), htab->elf.sgotplt);
+	    (_("discarded output section: `%pA'"), htab->elf.sgotplt);
 	  return NULL;
 	}
 
@@ -1671,6 +1759,52 @@ _bfd_x86_elf_fixup_symbol (struct bfd_li
   return TRUE;
 }
 
+/* Change the STT_GNU_IFUNC symbol defined in position-dependent
+   executable into the normal function symbol and set its address
+   to its PLT entry, which should be resolved by R_*_IRELATIVE at
+   run-time.  */
+
+void
+_bfd_x86_elf_link_fixup_ifunc_symbol (struct bfd_link_info *info,
+				      struct elf_x86_link_hash_table *htab,
+				      struct elf_link_hash_entry *h,
+				      Elf_Internal_Sym *sym)
+{
+  if (bfd_link_pde (info)
+      && h->def_regular
+      && h->dynindx != -1
+      && h->plt.offset != (bfd_vma) -1
+      && h->type == STT_GNU_IFUNC
+      && h->pointer_equality_needed)
+    {
+      asection *plt_s;
+      bfd_vma plt_offset;
+      bfd *output_bfd = info->output_bfd;
+
+      if (htab->plt_second)
+	{
+	  struct elf_x86_link_hash_entry *eh
+	    = (struct elf_x86_link_hash_entry *) h;
+
+	  plt_s = htab->plt_second;
+	  plt_offset = eh->plt_second.offset;
+	}
+      else
+	{
+	  plt_s = htab->elf.splt;
+	  plt_offset = h->plt.offset;
+	}
+
+      sym->st_size = 0;
+      sym->st_info = ELF_ST_INFO (ELF_ST_BIND (sym->st_info), STT_FUNC);
+      sym->st_shndx
+	= _bfd_elf_section_from_bfd_section (output_bfd,
+					     plt_s->output_section);
+      sym->st_value = (plt_s->output_section->vma
+		       + plt_s->output_offset + plt_offset);
+    }
+}
+
 /* Return TRUE if symbol should be hashed in the `.gnu.hash' section.  */
 
 bfd_boolean
@@ -1933,10 +2067,8 @@ _bfd_x86_elf_link_symbol_references_loca
 		  && htab->interp == NULL)
 	      || info->dynamic_undefined_weak == 0))
       || ((h->def_regular || ELF_COMMON_DEF_P (h))
-	  && h->versioned == unversioned
 	  && info->version_info != NULL
-	  && bfd_hide_sym_by_version (info->version_info,
-				      h->root.root.string)))
+	  && _bfd_elf_link_hide_sym_by_version (info, h)))
     {
       eh->local_ref = 2;
       return TRUE;
@@ -2238,10 +2370,10 @@ _bfd_x86_elf_parse_gnu_properties (bfd *
 	{
 	  _bfd_error_handler
 	    ((type == GNU_PROPERTY_X86_ISA_1_USED
-	      ? _("error: %B: <corrupt x86 ISA used size: 0x%x>")
+	      ? _("error: %pB: <corrupt x86 ISA used size: 0x%x>")
 	      : (type == GNU_PROPERTY_X86_ISA_1_NEEDED
-		 ? _("error: %B: <corrupt x86 ISA needed size: 0x%x>")
-		 : _("error: %B: <corrupt x86 feature size: 0x%x>"))),
+		 ? _("error: %pB: <corrupt x86 ISA needed size: 0x%x>")
+		 : _("error: %pB: <corrupt x86 feature size: 0x%x>"))),
 	     abfd, datasz);
 	  return property_corrupt;
 	}
@@ -2418,7 +2550,7 @@ _bfd_x86_elf_link_setup_gnu_properties
 	  if (!bfd_set_section_alignment (ebfd, sec, class_align))
 	    {
 error_alignment:
-	      info->callbacks->einfo (_("%F%A: failed to align section\n"),
+	      info->callbacks->einfo (_("%F%pA: failed to align section\n"),
 				      sec);
 	    }
 
@@ -2484,7 +2616,9 @@ error_alignment:
 	       abfd = abfd->link.next)
 	    if (bfd_get_flavour (abfd) == bfd_target_elf_flavour
 		&& (abfd->flags
-		    & (DYNAMIC | BFD_LINKER_CREATED | BFD_PLUGIN)) == 0)
+		    & (DYNAMIC | BFD_LINKER_CREATED | BFD_PLUGIN)) == 0
+		&& bed->relocs_compatible (abfd->xvec,
+					   info->output_bfd->xvec))
 	      {
 		htab->elf.dynobj = abfd;
 		dynobj = abfd;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-x86.h ./bfd/elfxx-x86.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/elfxx-x86.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/elfxx-x86.h	2018-07-10 02:06:11.000000000 +0000
@@ -76,14 +76,11 @@
    into the shared library.  However, if we are linking with -Bsymbolic,
    we do not need to copy a reloc against a global symbol which is
    defined in an object we are including in the link (i.e., DEF_REGULAR
-   is set).  At this point we have not seen all the input files, so it
-   is possible that DEF_REGULAR is not set now but will be set later (it
-   is never cleared).  In case of a weak definition, DEF_REGULAR may be
-   cleared later by a strong definition in a shared library.  We account
-   for that possibility below by storing information in the relocs_copied
-   field of the hash table entry.  A similar situation occurs when
-   creating shared libraries and symbol visibility changes render the
-   symbol local.
+   is set).
+
+   If PCREL_PLT is true, don't generate dynamic relocation in PIE for
+   PC-relative relocation against a dynamic function definition in data
+   section when PLT address can be used.
 
    If on the other hand, we are creating an executable, we may need to
    keep relocations for symbols satisfied by a dynamic library if we
@@ -91,23 +88,30 @@
 
    We also need to generate dynamic pointer relocation against
    STT_GNU_IFUNC symbol in the non-code section.  */
-#define NEED_DYNAMIC_RELOCATION_P(INFO, H, SEC, R_TYPE, POINTER_TYPE) \
+#define NEED_DYNAMIC_RELOCATION_P(INFO, PCREL_PLT, H, SEC, R_TYPE, \
+				  POINTER_TYPE) \
   ((bfd_link_pic (INFO) \
     && (! X86_PCREL_TYPE_P (R_TYPE) \
 	|| ((H) != NULL \
 	    && (! (bfd_link_pie (INFO) \
 		   || SYMBOLIC_BIND ((INFO), (H))) \
 		|| (H)->root.type == bfd_link_hash_defweak \
-		|| !(H)->def_regular)))) \
-		|| ((H) != NULL \
-		    && (H)->type == STT_GNU_IFUNC \
-		    && (R_TYPE) == POINTER_TYPE \
-		    && ((SEC)->flags & SEC_CODE) == 0) \
-		    || (ELIMINATE_COPY_RELOCS \
-			&& !bfd_link_pic (INFO) \
-			&& (H) != NULL \
-			&& ((H)->root.type == bfd_link_hash_defweak \
-			    || !(H)->def_regular)))
+		|| (!(bfd_link_pie (INFO) \
+		      && (PCREL_PLT) \
+		      && (H)->plt.refcount > 0 \
+		      && ((SEC)->flags & SEC_CODE) == 0 \
+		      && (H)->type == STT_FUNC \
+		      && (H)->def_dynamic) \
+		    && !(H)->def_regular))))) \
+   || ((H) != NULL \
+       && (H)->type == STT_GNU_IFUNC \
+       && (R_TYPE) == POINTER_TYPE \
+       && ((SEC)->flags & SEC_CODE) == 0) \
+   || (ELIMINATE_COPY_RELOCS \
+       && !bfd_link_pic (INFO) \
+       && (H) != NULL \
+       && ((H)->root.type == bfd_link_hash_defweak \
+	   || !(H)->def_regular)))
 
 /* TRUE if dynamic relocation should be generated.  Don't copy a
    pc-relative relocation into the output file if the symbol needs
@@ -281,16 +285,30 @@ struct elf_x86_link_hash_entry
 
 struct elf_x86_lazy_plt_layout
 {
-  /* The first entry in an absolute lazy procedure linkage table looks
-     like this.  */
+  /* The first entry in a lazy procedure linkage table looks like this.  */
   const bfd_byte *plt0_entry;
   unsigned int plt0_entry_size;		 /* Size of PLT0 entry.  */
 
-  /* Later entries in an absolute lazy procedure linkage table look
-     like this.  */
+  /* Later entries in a lazy procedure linkage table look like this.  */
   const bfd_byte *plt_entry;
   unsigned int plt_entry_size;		/* Size of each PLT entry.  */
 
+  /* The TLSDESC entry in a lazy procedure linkage table looks like
+     this.  This is for x86-64 only.  */
+  const bfd_byte *plt_tlsdesc_entry;
+  unsigned int plt_tlsdesc_entry_size;	 /* Size of TLSDESC entry.  */
+
+  /* Offsets into the TLSDESC entry that are to be replaced with
+     GOT+8 and GOT+TDG.  These are for x86-64 only.  */
+  unsigned int plt_tlsdesc_got1_offset;
+  unsigned int plt_tlsdesc_got2_offset;
+
+  /* Offset of the end of the PC-relative instructions containing
+     plt_tlsdesc_got1_offset and plt_tlsdesc_got2_offset.  These
+     are for x86-64 only.  */
+  unsigned int plt_tlsdesc_got1_insn_end;
+  unsigned int plt_tlsdesc_got2_insn_end;
+
   /* Offsets into plt0_entry that are to be replaced with GOT[1] and
      GOT[2].  */
   unsigned int plt0_got1_offset;
@@ -332,10 +350,11 @@ struct elf_x86_lazy_plt_layout
 
 struct elf_x86_non_lazy_plt_layout
 {
-  /* Entries in an absolute non-lazy procedure linkage table look like
-     this.  */
+  /* Entries in a non-lazy procedure linkage table look like this.  */
   const bfd_byte *plt_entry;
-  /* Entries in a PIC non-lazy procedure linkage table look like this.  */
+  /* Entries in a PIC non-lazy procedure linkage table look like this.
+     This is only used for i386 where absolute PLT and PIC PLT are
+     different.  */
   const bfd_byte *pic_plt_entry;
 
   unsigned int plt_entry_size;		/* Size of each PLT entry.  */
@@ -354,9 +373,7 @@ struct elf_x86_non_lazy_plt_layout
 
 struct elf_x86_plt_layout
 {
-  /* The first entry in a lazy procedure linkage table looks like this.
-     This is only used for i386 where absolute PLT0 and PIC PLT0 are
-     different.  */
+  /* The first entry in a lazy procedure linkage table looks like this.  */
   const bfd_byte *plt0_entry;
   /* Entries in a procedure linkage table look like this.  */
   const bfd_byte *plt_entry;
@@ -401,6 +418,7 @@ struct elf_x86_plt_layout
 enum elf_x86_target_os
 {
   is_normal,
+  is_solaris,
   is_vxworks,
   is_nacl
 };
@@ -478,6 +496,17 @@ struct elf_x86_link_hash_table
       is only used for i386.  */
   bfd_byte plt0_pad_byte;
 
+  /* TRUE if GOT is referenced.  */
+  unsigned int got_referenced : 1;
+
+  /* TRUE if PLT is PC-relative.  PLT in PDE and PC-relative PLT in PIE
+     can be used as function address.
+
+     NB: i386 has non-PIC PLT and PIC PLT.  Only non-PIC PLT in PDE can
+     be used as function address.  PIC PLT in PIE can't be used as
+     function address.  */
+  unsigned int pcrel_plt : 1;
+
   bfd_vma (*r_info) (bfd_vma, bfd_vma);
   bfd_vma (*r_sym) (bfd_vma);
   bfd_boolean (*is_reloc_section) (const char *);
@@ -658,6 +687,10 @@ extern bfd_boolean _bfd_x86_elf_merge_gn
 extern bfd * _bfd_x86_elf_link_setup_gnu_properties
   (struct bfd_link_info *, struct elf_x86_init_table *);
 
+extern void _bfd_x86_elf_link_fixup_ifunc_symbol
+  (struct bfd_link_info *, struct elf_x86_link_hash_table *,
+   struct elf_link_hash_entry *, Elf_Internal_Sym *sym);
+
 #define bfd_elf64_mkobject \
   _bfd_x86_elf_mkobject
 #define bfd_elf32_mkobject \
@@ -688,7 +721,7 @@ extern bfd * _bfd_x86_elf_link_setup_gnu
 #define elf_backend_gc_mark_hook \
   _bfd_x86_elf_gc_mark_hook
 #define elf_backend_omit_section_dynsym \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+  _bfd_elf_omit_section_dynsym_all
 #define elf_backend_parse_gnu_properties \
   _bfd_x86_elf_parse_gnu_properties
 #define elf_backend_merge_gnu_properties \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/epoc-pe-arm.c ./bfd/epoc-pe-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/epoc-pe-arm.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/epoc-pe-arm.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,38 +0,0 @@
-/* BFD back-end for ARM EPOC PE files.
-   Copyright (C) 1999-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGET_UNDERSCORE    0
-#define USER_LABEL_PREFIX    ""
-
-#define TARGET_LITTLE_SYM    arm_pe_epoc_le_vec
-#define TARGET_LITTLE_NAME   "epoc-pe-arm-little"
-#define TARGET_BIG_SYM       arm_pe_epoc_be_vec
-#define TARGET_BIG_NAME      "epoc-pe-arm-big"
-
-#define bfd_arm_allocate_interworking_sections \
-	bfd_arm_epoc_pe_allocate_interworking_sections
-#define bfd_arm_get_bfd_for_interworking \
-	bfd_arm_epoc_pe_get_bfd_for_interworking
-#define bfd_arm_process_before_allocation \
-	bfd_arm_epoc_pe_process_before_allocation
-
-#define EXTRA_S_FLAGS (SEC_LINK_ONCE | SEC_LINK_DUPLICATES | SEC_CODE | SEC_READONLY | SEC_DATA)
-
-#include "pe-arm.c"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/epoc-pei-arm.c ./bfd/epoc-pei-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/epoc-pei-arm.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/epoc-pei-arm.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,31 +0,0 @@
-/* BFD back-end for ARM EPOC PE IMAGE COFF files.
-   Copyright (C) 1999-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGET_UNDERSCORE    0
-#define USER_LABEL_PREFIX    ""
-
-#define TARGET_LITTLE_SYM    arm_pei_epoc_le_vec
-#define TARGET_LITTLE_NAME   "epoc-pei-arm-little"
-#define TARGET_BIG_SYM       arm_pei_epoc_be_vec
-#define TARGET_BIG_NAME      "epoc-pei-arm-big"
-
-#define EXTRA_S_FLAGS (SEC_CODE | SEC_READONLY | SEC_DATA)
-
-#include "pei-arm.c"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/format.c ./bfd/format.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/format.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/format.c	2018-07-10 02:06:11.000000000 +0000
@@ -103,6 +103,7 @@ struct bfd_preserve
   struct bfd_section *sections;
   struct bfd_section *section_last;
   unsigned int section_count;
+  unsigned int section_id;
   struct bfd_hash_table section_htab;
   const struct bfd_build_id *build_id;
 };
@@ -125,6 +126,7 @@ bfd_preserve_save (bfd *abfd, struct bfd
   preserve->sections = abfd->sections;
   preserve->section_last = abfd->section_last;
   preserve->section_count = abfd->section_count;
+  preserve->section_id = _bfd_section_id;
   preserve->section_htab = abfd->section_htab;
   preserve->marker = bfd_alloc (abfd, 1);
   preserve->build_id = abfd->build_id;
@@ -138,12 +140,13 @@ bfd_preserve_save (bfd *abfd, struct bfd
 /* Clear out a subset of BFD state.  */
 
 static void
-bfd_reinit (bfd *abfd)
+bfd_reinit (bfd *abfd, unsigned int section_id)
 {
   abfd->tdata.any = NULL;
   abfd->arch_info = &bfd_default_arch_struct;
   abfd->flags &= BFD_FLAGS_SAVED;
   bfd_section_list_clear (abfd);
+  _bfd_section_id = section_id;
 }
 
 /* Restores bfd state saved by bfd_preserve_save.  */
@@ -160,6 +163,7 @@ bfd_preserve_restore (bfd *abfd, struct 
   abfd->sections = preserve->sections;
   abfd->section_last = preserve->section_last;
   abfd->section_count = preserve->section_count;
+  _bfd_section_id = preserve->section_id;
   abfd->build_id = preserve->build_id;
 
   /* bfd_release frees all memory more recently bfd_alloc'd than
@@ -214,6 +218,7 @@ bfd_check_format_matches (bfd *abfd, bfd
   const bfd_target *save_targ, *right_targ, *ar_right_targ, *match_targ;
   int match_count, best_count, best_match;
   int ar_match_index;
+  unsigned int initial_section_id = _bfd_section_id;
   struct bfd_preserve preserve;
 
   if (matching != NULL)
@@ -287,14 +292,13 @@ bfd_check_format_matches (bfd *abfd, bfd
 
       /* Don't check the default target twice.  */
       if (*target == &binary_vec
-	  || (!abfd->target_defaulted && *target == save_targ)
-	  || (*target)->match_priority > best_match)
+	  || (!abfd->target_defaulted && *target == save_targ))
 	continue;
 
       /* If we already tried a match, the bfd is modified and may
 	 have sections attached, which will confuse the next
 	 _bfd_check_format call.  */
-      bfd_reinit (abfd);
+      bfd_reinit (abfd, initial_section_id);
 
       /* Change BFD's target temporarily.  */
       abfd->xvec = *target;
@@ -329,9 +333,6 @@ bfd_check_format_matches (bfd *abfd, bfd
 	      || (bfd_has_map (abfd)
 		  && bfd_get_error () != bfd_error_wrong_object_format))
 	    {
-	      /* This format checks out as ok!  */
-	      right_targ = temp;
-
 	      /* If this is the default target, accept it, even if
 		 other targets might match.  People who want those
 		 other targets have to set the GNUTARGET variable.  */
@@ -347,7 +348,12 @@ bfd_check_format_matches (bfd *abfd, bfd
 		  best_match = match_priority;
 		  best_count = 0;
 		}
-	      best_count++;
+	      if (match_priority <= best_match)
+		{
+		  /* This format checks out as ok!  */
+		  right_targ = temp;
+		  best_count++;
+		}
 	    }
 	  else
 	    {
@@ -446,7 +452,7 @@ bfd_check_format_matches (bfd *abfd, bfd
 	 state (except possibly for XVEC).  */
       if (match_targ != right_targ)
 	{
-	  bfd_reinit (abfd);
+	  bfd_reinit (abfd, initial_section_id);
 	  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
 	    goto err_ret;
 	  match_targ = BFD_SEND_FMT (abfd, _bfd_check_format, (abfd));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/freebsd.h ./bfd/freebsd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/freebsd.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/freebsd.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,106 +0,0 @@
-/* BFD back-end definitions used by all FreeBSD targets.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/* FreeBSD ZMAGIC files never have the header in the text. */
-#define	N_HEADER_IN_TEXT(x)	0
-
-/* ZMAGIC files start at offset 0.  Does not apply to QMAGIC files. */
-#define TEXT_START_ADDR		0
-
-#define N_GETMAGIC_NET(execp) \
-	((execp)->a_info & 0xffff)
-#define N_GETMID_NET(execp) \
-	(((execp)->a_info >> 16) & 0x3ff)
-#define N_GETFLAG_NET(exexp) \
-	(((execp)->a_info >> 26) & 0x3f)
-
-#define N_MACHTYPE(execp) \
-	((enum machine_type) \
-	 ((N_GETMAGIC_NET (execp) == ZMAGIC) ? N_GETMID_NET (execp) : \
-	  ((execp)->a_info >> 16) & 0x3ff))
-#define N_FLAGS(execp) \
-	((N_GETMAGIC_NET (execp) == ZMAGIC) ? N_GETFLAG_NET (execp) : \
-	 ((execp)->a_info >> 26) & 0x3f)
-
-#define N_SET_INFO(execp, magic, type, flags) \
-	((execp)->a_info = ((magic) & 0xffff) \
-	 | (((int)(type) & 0x3ff) << 16) \
-	 | (((flags) & 0x3f) << 26))
-#define N_SET_MACHTYPE(execp, machtype) \
-	((execp)->a_info = \
-	 ((execp)->a_info & 0xfb00ffff) | ((((int) (machtype)) & 0x3ff) << 16))
-#define N_SET_FLAGS(execp, flags) \
-	((execp)->a_info = \
-	 ((execp)->a_info & 0x03ffffff) | ((flags & 0x03f) << 26))
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "libaout.h"
-
-/* On FreeBSD, the magic number is always in i386 (little-endian)
-   format.  I think.  */
-#define SWAP_MAGIC(ext) bfd_getl32 (ext)
-
-#define MY_write_object_contents MY (write_object_contents)
-static bfd_boolean MY (write_object_contents) (bfd *);
-
-#include "aout-target.h"
-
-/* Write an object file.
-   Section contents have already been written.  We write the
-   file header, symbols, and relocation.  */
-
-static bfd_boolean
-MY (write_object_contents) (bfd *abfd)
-{
-  struct external_exec exec_bytes;
-  struct internal_exec *execp = exec_hdr (abfd);
-
-  obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
-
-  /* Magic number, maestro, please!  */
-  switch (bfd_get_arch(abfd))
-    {
-    case bfd_arch_m68k:
-      if (strcmp (abfd->xvec->name, "a.out-m68k4k-netbsd") == 0)
-	N_SET_MACHTYPE (execp, M_68K4K_NETBSD);
-      else
-	N_SET_MACHTYPE (execp, M_68K_NETBSD);
-      break;
-    case bfd_arch_sparc:
-      N_SET_MACHTYPE (execp, M_SPARC_NETBSD);
-      break;
-    case bfd_arch_i386:
-      N_SET_MACHTYPE (execp, M_386_NETBSD);
-      break;
-    case bfd_arch_ns32k:
-      N_SET_MACHTYPE (execp, M_532_NETBSD);
-      break;
-    default:
-      N_SET_MACHTYPE (execp, M_UNKNOWN);
-      break;
-    }
-
-  WRITE_HEADERS (abfd, execp);
-
-  return TRUE;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/gen-aout.c ./bfd/gen-aout.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/gen-aout.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/gen-aout.c	2018-07-10 02:06:11.000000000 +0000
@@ -93,9 +93,6 @@ main (int argc, char** argv)
 #ifdef vax
   arch = "vax";
 #endif
-#ifdef m68k
-  arch = "m68k";
-#endif
   if (arch[0] == '1')
     {
       fprintf (stderr, _("warning: preprocessor substituted architecture name inside string;"));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hash.c ./bfd/hash.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hash.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hash.c	2018-07-10 02:06:11.000000000 +0000
@@ -435,6 +435,7 @@ bfd_hash_hash (const char *string, unsig
   unsigned int len;
   unsigned int c;
 
+  BFD_ASSERT (string != NULL);
   hash = 0;
   len = 0;
   s = (const unsigned char *) string;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/delta68.h ./bfd/hosts/delta68.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/delta68.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hosts/delta68.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,33 +0,0 @@
-/* Copyright (C) 2005-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Definitions for a Motorola Delta 3300 box running System V R3.0.
-   Contributed by manfred@lts.sel.alcatel.de.  */
-
-#include <sys/param.h>
-
-/* Definitions used by trad-core.c.  */
-#define	NBPG			NBPC
-#define	HOST_DATA_START_ADDR	u.u_exdata.ux_datorg
-#define	HOST_TEXT_START_ADDR	u.u_exdata.ux_txtorg
-/* User's stack, copied from sys/param.h  */
-#define HOST_STACK_END_ADDR	USRSTACK
-#define	UPAGES			USIZE
-#define	TRAD_UNIX_CORE_FILE_FAILING_SIGNAL(abfd) \
-  abfd->tdata.trad_core_data->u.u_abort
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/hp300bsd.h ./bfd/hosts/hp300bsd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/hp300bsd.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hosts/hp300bsd.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,32 +0,0 @@
-/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include <sys/param.h>
-#ifdef BSD4_4
-#define NO_CORE_COMMAND
-#endif
-
-#define	HOST_PAGE_SIZE		NBPG
-#define	HOST_SEGMENT_SIZE	NBPG	/* Data seg start addr rounds to NBPG */
-#define	HOST_MACHINE_ARCH	bfd_arch_m68k
-/* #define	HOST_MACHINE_MACHINE	 */
-
-#define	HOST_TEXT_START_ADDR		0
-#define	HOST_STACK_END_ADDR		0xfff00000
-#define	HOST_BIG_ENDIAN_P
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/i860mach3.h ./bfd/hosts/i860mach3.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/i860mach3.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hosts/i860mach3.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,46 +0,0 @@
-/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* This file was hacked from i386mach3.h   [dolan@ssd.intel.com] */
-
-#include <machine/vmparam.h>
-#include <sys/param.h>
-
-/* This is an ugly way to hack around the incorrect
- * definition of UPAGES in i386/machparam.h.
- *
- * The definition should specify the size reserved
- * for "struct user" in core files in PAGES,
- * but instead it gives it in 512-byte core-clicks
- * for i386 and i860. UPAGES is used only in trad-core.c.
- */
-#if UPAGES == 16
-#undef  UPAGES
-#define UPAGES 2
-#endif
-
-#if UPAGES != 2
-FIXME!! UPAGES is neither 2 nor 16
-#endif
-
-#define	HOST_PAGE_SIZE		1
-#define	HOST_SEGMENT_SIZE	NBPG
-#define	HOST_MACHINE_ARCH	bfd_arch_i860
-#define	HOST_TEXT_START_ADDR	USRTEXT
-#define	HOST_STACK_END_ADDR	USRSTACK
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/m68kaux.h ./bfd/hosts/m68kaux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/m68kaux.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hosts/m68kaux.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,35 +0,0 @@
-/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Definitions for an Apple Macintosh running A/UX 3.x. */
-
-#include <sys/param.h>
-#include <sys/page.h>
-
-/* Definitions used by trad-core.c.  */
-#define	NBPG			NBPP
-
-#define	HOST_DATA_START_ADDR	u.u_exdata.ux_datorg
-#define	HOST_TEXT_START_ADDR	u.u_exdata.ux_txtorg
-#define	HOST_STACK_END_ADDR	0x100000000
-
-#define	UPAGES			USIZE
-
-#define	TRAD_UNIX_CORE_FILE_FAILING_SIGNAL(abfd) \
-  (abfd->tdata.trad_core_data->u.u_arg[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.1.0.20180703/bfd/hosts/m88kmach3.h ./bfd/hosts/m88kmach3.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/m88kmach3.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hosts/m88kmach3.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,30 +0,0 @@
-/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include <machine/vmparam.h>
-#include <sys/param.h>
-
-#undef UPAGES
-#define UPAGES 3
-
-#define	HOST_PAGE_SIZE		NBPG
-#define	HOST_SEGMENT_SIZE	NBPG
-#define	HOST_MACHINE_ARCH	bfd_arch_m88k
-#define	HOST_TEXT_START_ADDR	USRTEXT
-#define	HOST_STACK_END_ADDR	USRSTACK
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/news.h ./bfd/hosts/news.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/news.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hosts/news.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,28 +0,0 @@
-/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Sony News running NewsOS 3.2.  */
-
-#include <machine/vmparam.h>
-
-#define HOST_PAGE_SIZE NBPG
-#define HOST_SEGMENT_SIZE NBPG
-#define HOST_MACHINE_ARCH bfd_arch_m68k
-#define HOST_TEXT_START_ADDR 0
-#define HOST_STACK_END_ADDR (KERNBASE - (UPAGES * NBPG))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/tahoe.h ./bfd/hosts/tahoe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hosts/tahoe.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hosts/tahoe.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,31 +0,0 @@
-/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define	NO_CORE_COMMAND
-
-#undef	ALIGN			/* They use it, we use it too */
-#include <machine/param.h>
-#undef	ALIGN			/* They use it, we use it too */
-
-#define	HOST_PAGE_SIZE		NBPG
-#define	HOST_MACHINE_ARCH	bfd_arch_tahoe
-
-#define	HOST_TEXT_START_ADDR	0
-#define	HOST_STACK_END_ADDR	(KERNBASE - (UPAGES * NBPG))
-#define	HOST_BIG_ENDIAN_P
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hp300bsd.c ./bfd/hp300bsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hp300bsd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hp300bsd.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,40 +0,0 @@
-/* BFD back-end for HP 9000/300 (68000-based) machines running BSD Unix.
-   Copyright (C) 1992-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGET_IS_BIG_ENDIAN_P
-#define N_HEADER_IN_TEXT(x) 0
-#define ENTRY_CAN_BE_ZERO
-#define TEXT_START_ADDR 0
-#define TARGET_PAGE_SIZE 4096
-#define SEGMENT_SIZE TARGET_PAGE_SIZE
-#define DEFAULT_ARCH bfd_arch_m68k
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (m68k_aout_hp300bsd_,OP)
-#define TARGETNAME "a.out-hp300bsd"
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "libaout.h"
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hp300hpux.c ./bfd/hp300hpux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hp300hpux.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hp300hpux.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,855 +0,0 @@
-/* BFD backend for hp-ux 9000/300
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Glenn Engel.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/*  hpux native	 ------------> |	       |
-			       | hp300hpux bfd | ----------> hpux w/gnu ext
-    hpux w/gnu extension ----> |	       |
-
-    Support for the 9000/[34]00 has several limitations.
-      1. Shared libraries are not supported.
-      2. The output format from this bfd is not usable by native tools.
-
-    The primary motivation for writing this bfd was to allow use of
-    gdb and gcc for host based debugging and not to mimic the hp-ux tools
-    in every detail.  This leads to a significant simplification of the
-    code and a leap in performance.  The decision to not output hp native
-    compatible objects was further strengthened by the fact that the richness
-    of the gcc compiled objects could not be represented without loss of
-    information.  For example, while the hp format supports the concept of
-    secondary symbols, it does not support indirect symbols.  Another
-    reason is to maintain backwards compatibility with older implementations
-    of gcc on hpux which used 'hpxt' to translate .a and .o files into a
-    format which could be readily understood by the gnu linker and gdb.
-    This allows reading hp secondary symbols and converting them into
-    indirect symbols but the reverse it not always possible.
-
-    Another example of differences is that the hp format stores symbol offsets
-    in the object code while the gnu utilities use a field in the
-    relocation record for this.  To support the hp native format, the object
-    code would need to be patched with the offsets when producing .o files.
-
-    The basic technique taken in this implementation is to #include the code
-    from aoutx.h and aout-target.h with appropriate #defines to override
-    code where a unique implementation is needed:
-
-    {
-	#define a bunch of stuff
-	#include <aoutx.h>
-
-	implement a bunch of functions
-
-	#include "aout-target.h"
-    }
-
-    The hp symbol table is a bit different than other a.out targets.  Instead
-    of having an array of nlist items and an array of strings, hp's format
-    has them mixed together in one structure.  In addition, the strings are
-    not null terminated.  It looks something like this:
-
-    nlist element 1
-    string1
-    nlist element 2
-    string2
-    ...
-
-    The whole symbol table is read as one chunk and then we march thru it
-    and convert it to canonical form.  As we march thru the table, we copy
-    the nlist data into the internal form and we compact the strings and null
-    terminate them, using storage from the already allocated symbol table:
-
-    string1
-    null
-    string2
-    null
- */
-
-/* @@ Is this really so different from normal a.out that it needs to include
-   aoutx.h?  We should go through this file sometime and see what can be made
-   more dependent on aout32.o and what might need to be broken off and accessed
-   through the backend_data field.  Or, maybe we really do need such a
-   completely separate implementation.  I don't have time to investigate this
-   much further right now.  [raeburn:19930428.2124EST] */
-/* @@ Also, note that there wind up being two versions of some routines, with
-   different names, only one of which actually gets used.  For example:
-	slurp_symbol_table
-	swap_std_reloc_in
-	slurp_reloc_table
-	canonicalize_symtab
-	get_symtab_upper_bound
-	canonicalize_reloc
-	mkobject
-   This should also be fixed.  */
-
-#define TARGETNAME "a.out-hp300hpux"
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (m68k_aout_hp300hpux_,OP)
-
-#define external_exec hp300hpux_exec_bytes
-#define external_nlist hp300hpux_nlist_bytes
-
-#include "aout/hp300hpux.h"
-
-/* define these so we can compile unused routines in aoutx.h */
-#define e_strx  e_shlib
-#define e_other e_length
-#define e_desc  e_almod
-
-#define AR_PAD_CHAR '/'
-#define TARGET_IS_BIG_ENDIAN_P
-#define DEFAULT_ARCH bfd_arch_m68k
-
-#define MY_get_section_contents aout_32_get_section_contents
-#define MY_slurp_armap bfd_slurp_bsd_armap_f2
-
-/***********************************************/
-/* provide overrides for routines in this file */
-/***********************************************/
-/* these don't use MY because that causes problems within JUMP_TABLE
-   (CONCAT2 winds up being expanded recursively, which ANSI C compilers
-   will not do).  */
-#define MY_canonicalize_symtab m68k_aout_hp300hpux_canonicalize_symtab
-#define MY_get_symtab_upper_bound m68k_aout_hp300hpux_get_symtab_upper_bound
-#define MY_canonicalize_reloc m68k_aout_hp300hpux_canonicalize_reloc
-#define MY_write_object_contents m68k_aout_hp300hpux_write_object_contents
-
-#define MY_read_minisymbols _bfd_generic_read_minisymbols
-#define MY_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol
-
-#define MY_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
-#define MY_bfd_link_add_symbols _bfd_generic_link_add_symbols
-#define MY_final_link_callback unused
-#define MY_bfd_final_link _bfd_generic_final_link
-
-/* Until and unless we convert the slurp_reloc and slurp_symtab
-   routines in this file, we can not use the default aout
-   free_cached_info routine which assumes that the relocs and symtabs
-   were allocated using malloc.  */
-#define MY_bfd_free_cached_info bfd_true
-
-#define m68k_aout_hp300hpux_write_syms aout_32_write_syms
-
-#define MY_callback MY(callback)
-
-#define MY_exec_hdr_flags 0x2
-
-#define NAME_swap_exec_header_in NAME(hp300hpux_32_,swap_exec_header_in)
-
-#define HP_SYMTYPE_UNDEFINED	0x00
-#define HP_SYMTYPE_ABSOLUTE	0x01
-#define HP_SYMTYPE_TEXT		0x02
-#define HP_SYMTYPE_DATA		0x03
-#define HP_SYMTYPE_BSS		0x04
-#define HP_SYMTYPE_COMMON	0x05
-
-#define HP_SYMTYPE_TYPE		0x0F
-#define HP_SYMTYPE_FILENAME	0x1F
-
-#define HP_SYMTYPE_ALIGN	0x10
-#define HP_SYMTYPE_EXTERNAL	0x20
-#define HP_SECONDARY_SYMBOL	0x40
-
-/* RELOCATION DEFINITIONS */
-#define HP_RSEGMENT_TEXT	0x00
-#define HP_RSEGMENT_DATA	0x01
-#define HP_RSEGMENT_BSS		0x02
-#define HP_RSEGMENT_EXTERNAL	0x03
-#define HP_RSEGMENT_PCREL	0x04
-#define HP_RSEGMENT_RDLT	0x05
-#define HP_RSEGMENT_RPLT	0x06
-#define HP_RSEGMENT_NOOP	0x3F
-
-#define HP_RLENGTH_BYTE		0x00
-#define HP_RLENGTH_WORD		0x01
-#define HP_RLENGTH_LONG		0x02
-#define HP_RLENGTH_ALIGN	0x03
-
-#define NAME(x,y) CONCAT3 (hp300hpux,_32_,y)
-#define ARCH_SIZE 32
-
-/* aoutx.h requires definitions for BMAGIC and QMAGIC.  */
-#define BMAGIC HPUX_DOT_O_MAGIC
-#define QMAGIC 0314
-
-#include "aoutx.h"
-
-static const bfd_target * MY (callback) (bfd *);
-static bfd_boolean MY (write_object_contents) (bfd *);
-static void convert_sym_type
-  (struct external_nlist *, aout_symbol_type *, bfd *);
-
-bfd_boolean MY (slurp_symbol_table) (bfd *);
-void MY (swap_std_reloc_in)
-  (bfd *, struct hp300hpux_reloc *, arelent *, asymbol **, bfd_size_type);
-bfd_boolean MY (slurp_reloc_table)
-  (bfd *, sec_ptr, asymbol **);
-long MY (canonicalize_symtab)  (bfd *, asymbol **);
-long MY (get_symtab_upper_bound)  (bfd *);
-long MY (canonicalize_reloc)  (bfd *, sec_ptr, arelent **, asymbol **);
-
-/* Since the hpux symbol table has nlist elements interspersed with
-   strings and we need to insert som strings for secondary symbols, we
-   give ourselves a little extra padding up front to account for
-   this.  Note that for each non-secondary symbol we process, we gain
-   9 bytes of space for the discarded nlist element (one byte used for
-   null).  SYM_EXTRA_BYTES is the extra space.  */
-#define SYM_EXTRA_BYTES   1024
-
-/* Set parameters about this a.out file that are machine-dependent.
-   This routine is called from some_aout_object_p just before it returns.  */
-static const bfd_target *
-MY (callback) (bfd *abfd)
-{
-  struct internal_exec *execp = exec_hdr (abfd);
-
-  /* Calculate the file positions of the parts of a newly read aout header */
-  obj_textsec (abfd)->size = N_TXTSIZE (execp);
-
-  /* The virtual memory addresses of the sections */
-  obj_textsec (abfd)->vma = N_TXTADDR (execp);
-  obj_datasec (abfd)->vma = N_DATADDR (execp);
-  obj_bsssec (abfd)->vma = N_BSSADDR (execp);
-
-  obj_textsec (abfd)->lma = obj_textsec (abfd)->vma;
-  obj_datasec (abfd)->lma = obj_datasec (abfd)->vma;
-  obj_bsssec (abfd)->lma = obj_bsssec (abfd)->vma;
-
-  /* The file offsets of the sections */
-  obj_textsec (abfd)->filepos = N_TXTOFF (execp);
-  obj_datasec (abfd)->filepos = N_DATOFF (execp);
-
-  /* The file offsets of the relocation info */
-  obj_textsec (abfd)->rel_filepos = N_TRELOFF (execp);
-  obj_datasec (abfd)->rel_filepos = N_DRELOFF (execp);
-
-  /* The file offsets of the string table and symbol table.  */
-  obj_sym_filepos (abfd) = N_SYMOFF (execp);
-  obj_str_filepos (abfd) = N_STROFF (execp);
-
-  /* Determine the architecture and machine type of the object file.  */
-#ifdef SET_ARCH_MACH
-  SET_ARCH_MACH (abfd, execp);
-#else
-  bfd_default_set_arch_mach (abfd, DEFAULT_ARCH, 0);
-#endif
-
-  if (obj_aout_subformat (abfd) == gnu_encap_format)
-    {
-      /* The file offsets of the relocation info */
-      obj_textsec (abfd)->rel_filepos = N_GNU_TRELOFF (execp);
-      obj_datasec (abfd)->rel_filepos = N_GNU_DRELOFF (execp);
-
-      /* The file offsets of the string table and symbol table.  */
-      obj_sym_filepos (abfd) = N_GNU_SYMOFF (execp);
-      obj_str_filepos (abfd) = (obj_sym_filepos (abfd) + execp->a_syms);
-
-      abfd->flags |= HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS;
-      bfd_get_symcount (abfd) = execp->a_syms / 12;
-      obj_symbol_entry_size (abfd) = 12;
-      obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
-    }
-
-  return abfd->xvec;
-}
-
-extern bfd_boolean aout_32_write_syms (bfd *);
-
-static bfd_boolean
-MY (write_object_contents) (bfd * abfd)
-{
-  struct external_exec exec_bytes;
-  struct internal_exec *execp = exec_hdr (abfd);
-
-  memset (&exec_bytes, 0, sizeof (exec_bytes));
-
-  obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
-
-  if (adata (abfd).magic == undecided_magic)
-    NAME (aout,adjust_sizes_and_vmas) (abfd);
-  execp->a_syms = 0;
-
-  execp->a_entry = bfd_get_start_address (abfd);
-
-  execp->a_trsize = ((obj_textsec (abfd)->reloc_count) *
-		     obj_reloc_entry_size (abfd));
-  execp->a_drsize = ((obj_datasec (abfd)->reloc_count) *
-		     obj_reloc_entry_size (abfd));
-
-  N_SET_MACHTYPE (execp, 0xc);
-  N_SET_FLAGS (execp, aout_backend_info (abfd)->exec_hdr_flags);
-
-  NAME (aout,swap_exec_header_out) (abfd, execp, &exec_bytes);
-
-  /* update fields not covered by default swap_exec_header_out */
-
-  /* this is really the sym table size but we store it in drelocs */
-  H_PUT_32 (abfd, (bfd_get_symcount (abfd) * 12), exec_bytes.e_drelocs);
-
-  if (bfd_seek (abfd, (file_ptr) 0, FALSE) != 0
-      || (bfd_bwrite (&exec_bytes, (bfd_size_type) EXEC_BYTES_SIZE, abfd)
-	  != EXEC_BYTES_SIZE))
-    return FALSE;
-
-  /* Write out the symbols, and then the relocs.  We must write out
-       the symbols first so that we know the symbol indices.  */
-
-  if (bfd_get_symcount (abfd) != 0)
-    {
-      /* Skip the relocs to where we want to put the symbols.  */
-      if (bfd_seek (abfd, (file_ptr) (N_DRELOFF (execp) + execp->a_drsize),
-		    SEEK_SET) != 0)
-	return FALSE;
-    }
-
-  if (!MY (write_syms) (abfd))
-    return FALSE;
-
-  if (bfd_get_symcount (abfd) != 0)
-    {
-      if (bfd_seek (abfd, (file_ptr) N_TRELOFF (execp), SEEK_CUR) != 0)
-	return FALSE;
-      if (!NAME (aout,squirt_out_relocs) (abfd, obj_textsec (abfd)))
-	return FALSE;
-      if (bfd_seek (abfd, (file_ptr) N_DRELOFF (execp), SEEK_CUR) != 0)
-	return FALSE;
-      if (!NAME (aout,squirt_out_relocs) (abfd, obj_datasec (abfd)))
-	return FALSE;
-    }
-
-  return TRUE;
-}
-
-/* Convert the hp symbol type to be the same as aout64.h usage so we
-   can piggyback routines in aoutx.h.  */
-
-static void
-convert_sym_type (struct external_nlist *sym_pointer ATTRIBUTE_UNUSED,
-		  aout_symbol_type *cache_ptr,
-		  bfd *abfd ATTRIBUTE_UNUSED)
-{
-  int name_type;
-  int new_type;
-
-  name_type = (cache_ptr->type);
-  new_type = 0;
-
-  if ((name_type & HP_SYMTYPE_ALIGN) != 0)
-    {
-      /* iou_error ("aligned symbol encountered: %s", name);*/
-      name_type = 0;
-    }
-
-  if (name_type == HP_SYMTYPE_FILENAME)
-    new_type = N_FN;
-  else
-    {
-      switch (name_type & HP_SYMTYPE_TYPE)
-	{
-	case HP_SYMTYPE_UNDEFINED:
-	  new_type = N_UNDF;
-	  break;
-
-	case HP_SYMTYPE_ABSOLUTE:
-	  new_type = N_ABS;
-	  break;
-
-	case HP_SYMTYPE_TEXT:
-	  new_type = N_TEXT;
-	  break;
-
-	case HP_SYMTYPE_DATA:
-	  new_type = N_DATA;
-	  break;
-
-	case HP_SYMTYPE_BSS:
-	  new_type = N_BSS;
-	  break;
-
-	case HP_SYMTYPE_COMMON:
-	  new_type = N_COMM;
-	  break;
-
-	default:
-	  abort ();
-	  break;
-	}
-      if (name_type & HP_SYMTYPE_EXTERNAL)
-	new_type |= N_EXT;
-
-      if (name_type & HP_SECONDARY_SYMBOL)
-	{
-	  switch (new_type)
-	    {
-	    default:
-	      abort ();
-	    case N_UNDF | N_EXT:
-	      /* If the value is nonzero, then just treat this as a
-		 common symbol.  I don't know if this is correct in
-		 all cases, but it is more correct than treating it as
-		 a weak undefined symbol.  */
-	      if (cache_ptr->symbol.value == 0)
-		new_type = N_WEAKU;
-	      break;
-	    case N_ABS | N_EXT:
-	      new_type = N_WEAKA;
-	      break;
-	    case N_TEXT | N_EXT:
-	      new_type = N_WEAKT;
-	      break;
-	    case N_DATA | N_EXT:
-	      new_type = N_WEAKD;
-	      break;
-	    case N_BSS | N_EXT:
-	      new_type = N_WEAKB;
-	      break;
-	    }
-	}
-    }
-  cache_ptr->type = new_type;
-
-}
-
-/*
-DESCRIPTION
-	Swaps the information in an executable header taken from a raw
-	byte stream memory image, into the internal exec_header
-	structure.
-*/
-
-void
-NAME (aout,swap_exec_header_in) (bfd *abfd,
-				 struct external_exec *raw_bytes,
-				 struct internal_exec *execp)
-{
-  struct external_exec *bytes = (struct external_exec *) raw_bytes;
-
-  /* The internal_exec structure has some fields that are unused in this
-     configuration (IE for i960), so ensure that all such uninitialized
-     fields are zero'd out.  There are places where two of these structs
-     are memcmp'd, and thus the contents do matter. */
-  memset (execp, 0, sizeof (struct internal_exec));
-  /* Now fill in fields in the execp, from the bytes in the raw data.  */
-  execp->a_info = H_GET_32 (abfd, bytes->e_info);
-  execp->a_text = GET_WORD (abfd, bytes->e_text);
-  execp->a_data = GET_WORD (abfd, bytes->e_data);
-  execp->a_bss = GET_WORD (abfd, bytes->e_bss);
-  execp->a_syms = GET_WORD (abfd, bytes->e_syms);
-  execp->a_entry = GET_WORD (abfd, bytes->e_entry);
-  execp->a_trsize = GET_WORD (abfd, bytes->e_trsize);
-  execp->a_drsize = GET_WORD (abfd, bytes->e_drsize);
-
-  /***************************************************************/
-  /* check the header to see if it was generated by a bfd output */
-  /* this is detected rather bizarrely by requiring a bunch of   */
-  /* header fields to be zero and an old unused field (now used) */
-  /* to be set.							 */
-  /***************************************************************/
-  do
-    {
-      long syms;
-      struct aout_data_struct *rawptr;
-      bfd_size_type amt;
-
-      if (H_GET_32 (abfd, bytes->e_passize) != 0)
-	break;
-      if (H_GET_32 (abfd, bytes->e_syms) != 0)
-	break;
-      if (H_GET_32 (abfd, bytes->e_supsize) != 0)
-	break;
-
-      syms = H_GET_32 (abfd, bytes->e_drelocs);
-      if (syms == 0)
-	break;
-
-      /* OK, we've passed the test as best as we can determine */
-      execp->a_syms = syms;
-
-      /* allocate storage for where we will store this result */
-      amt = sizeof (*rawptr);
-      rawptr = (struct aout_data_struct *) bfd_zalloc (abfd, amt);
-
-      if (rawptr == NULL)
-	return;
-      abfd->tdata.aout_data = rawptr;
-      obj_aout_subformat (abfd) = gnu_encap_format;
-    }
-  while (0);
-}
-
-/* The hp symbol table is a bit different than other a.out targets.  Instead
-   of having an array of nlist items and an array of strings, hp's format
-   has them mixed together in one structure.  In addition, the strings are
-   not null terminated.  It looks something like this:
-
-   nlist element 1
-   string1
-   nlist element 2
-   string2
-   ...
-
-   The whole symbol table is read as one chunk and then we march thru it
-   and convert it to canonical form.  As we march thru the table, we copy
-   the nlist data into the internal form and we compact the strings and null
-   terminate them, using storage from the already allocated symbol table:
-
-   string1
-   null
-   string2
-   null
-   ...
-*/
-
-bfd_boolean
-MY (slurp_symbol_table) (bfd *abfd)
-{
-  bfd_size_type symbol_bytes;
-  struct external_nlist *syms;
-  struct external_nlist *sym_pointer;
-  struct external_nlist *sym_end;
-  char *strings;
-  aout_symbol_type *cached;
-  unsigned num_syms = 0;
-  bfd_size_type amt;
-
-  /* If there's no work to be done, don't do any */
-  if (obj_aout_symbols (abfd) != (aout_symbol_type *) NULL)
-    return TRUE;
-  symbol_bytes = exec_hdr (abfd)->a_syms;
-
-  amt = symbol_bytes + SYM_EXTRA_BYTES;
-  strings = (char *) bfd_alloc (abfd, amt);
-  if (!strings)
-    return FALSE;
-  syms = (struct external_nlist *) (strings + SYM_EXTRA_BYTES);
-  if (bfd_seek (abfd, obj_sym_filepos (abfd), SEEK_SET) != 0
-      || bfd_bread (syms, symbol_bytes, abfd) != symbol_bytes)
-    {
-      bfd_release (abfd, syms);
-      return FALSE;
-    }
-
-  sym_end = (struct external_nlist *) (((char *) syms) + symbol_bytes);
-
-  /* first, march thru the table and figure out how many symbols there are */
-  for (sym_pointer = syms; sym_pointer < sym_end; sym_pointer++, num_syms++)
-    {
-      /* skip over the embedded symbol. */
-      sym_pointer = (struct external_nlist *) (((char *) sym_pointer) +
-					       sym_pointer->e_length[0]);
-    }
-
-  /* now that we know the symbol count, update the bfd header */
-  bfd_get_symcount (abfd) = num_syms;
-
-  amt = num_syms;
-  amt *= sizeof (aout_symbol_type);
-  cached = (aout_symbol_type *) bfd_zalloc (abfd, amt);
-  if (cached == NULL && num_syms != 0)
-    return FALSE;
-
-  /* as we march thru the hp symbol table, convert it into a list of
-     null terminated strings to hold the symbol names.  Make sure any
-     assignment to the strings pointer is done after we're thru using
-     the nlist so we don't overwrite anything important. */
-
-  /* OK, now walk the new symtable, caching symbol properties */
-  {
-    aout_symbol_type *cache_ptr = cached;
-    /* Run through table and copy values */
-    for (sym_pointer = syms, cache_ptr = cached;
-	 sym_pointer < sym_end; sym_pointer++, cache_ptr++)
-      {
-	unsigned int length;
-	cache_ptr->symbol.the_bfd = abfd;
-	cache_ptr->symbol.value = GET_SWORD (abfd, sym_pointer->e_value);
-	cache_ptr->desc = bfd_get_16 (abfd, sym_pointer->e_almod);
-	cache_ptr->type = bfd_get_8 (abfd, sym_pointer->e_type);
-	cache_ptr->symbol.udata.p = NULL;
-	length = bfd_get_8 (abfd, sym_pointer->e_length);
-	cache_ptr->other = length;	/* other not used, save length here */
-
-	convert_sym_type (sym_pointer, cache_ptr, abfd);
-	if (!translate_from_native_sym_flags (abfd, cache_ptr))
-	  return FALSE;
-
-	/********************************************************/
-	/* for hpux, the 'length' value indicates the length of */
-	/* the symbol name which follows the nlist entry.       */
-	/********************************************************/
-	if (length)
-	  {
-	    /**************************************************************/
-	    /* the hp string is not null terminated so we create a new one*/
-	    /* by copying the string to overlap the just vacated nlist    */
-	    /* structure before it in memory.				  */
-	    /**************************************************************/
-	    cache_ptr->symbol.name = strings;
-	    memcpy (strings, sym_pointer + 1, length);
-	    strings[length] = '\0';
-	    strings += length + 1;
-	  }
-	else
-	  cache_ptr->symbol.name = (char *) NULL;
-
-	/* skip over the embedded symbol. */
-	sym_pointer = (struct external_nlist *) (((char *) sym_pointer) +
-						 length);
-      }
-  }
-
-  obj_aout_symbols (abfd) = cached;
-
-  return TRUE;
-}
-
-void
-MY (swap_std_reloc_in) (bfd *abfd,
-			struct hp300hpux_reloc *bytes,
-			arelent *cache_ptr,
-			asymbol **symbols,
-			bfd_size_type symcount ATTRIBUTE_UNUSED)
-{
-  int r_index;
-  int r_extern = 0;
-  unsigned int r_length;
-  int r_pcrel = 0;
-  struct aoutdata *su = &(abfd->tdata.aout_data->a);
-
-  cache_ptr->address = H_GET_32 (abfd, bytes->r_address);
-  r_index = H_GET_16 (abfd, bytes->r_index);
-
-  switch (bytes->r_type[0])
-    {
-    case HP_RSEGMENT_TEXT:
-      r_index = N_TEXT;
-      break;
-    case HP_RSEGMENT_DATA:
-      r_index = N_DATA;
-      break;
-    case HP_RSEGMENT_BSS:
-      r_index = N_BSS;
-      break;
-    case HP_RSEGMENT_EXTERNAL:
-      r_extern = 1;
-      break;
-    case HP_RSEGMENT_PCREL:
-      r_extern = 1;
-      r_pcrel = 1;
-      break;
-    case HP_RSEGMENT_RDLT:
-      break;
-    case HP_RSEGMENT_RPLT:
-      break;
-    case HP_RSEGMENT_NOOP:
-      break;
-    default:
-      abort ();
-      break;
-    }
-
-  switch (bytes->r_length[0])
-    {
-    case HP_RLENGTH_BYTE:
-      r_length = 0;
-      break;
-    case HP_RLENGTH_WORD:
-      r_length = 1;
-      break;
-    case HP_RLENGTH_LONG:
-      r_length = 2;
-      break;
-    default:
-      abort ();
-      break;
-    }
-
-  cache_ptr->howto = howto_table_std + r_length + 4 * r_pcrel;
-  /* FIXME-soon:  Roll baserel, jmptable, relative bits into howto setting */
-
-  /* This macro uses the r_index value computed above */
-  if (r_pcrel && r_extern)
-    {
-      /* The GNU linker assumes any offset from beginning of section */
-      /* is already incorporated into the image while the HP linker  */
-      /* adds this in later.  Add it in now...			     */
-      MOVE_ADDRESS (-cache_ptr->address);
-    }
-  else
-    {
-      MOVE_ADDRESS (0);
-    }
-}
-
-bfd_boolean
-MY (slurp_reloc_table) (bfd *abfd, sec_ptr asect, asymbol **symbols)
-{
-  bfd_size_type count;
-  bfd_size_type reloc_size;
-  void * relocs;
-  arelent *reloc_cache;
-  size_t each_size;
-  struct hp300hpux_reloc *rptr;
-  unsigned int counter;
-  arelent *cache_ptr;
-
-  if (asect->relocation)
-    return TRUE;
-
-  if (asect->flags & SEC_CONSTRUCTOR)
-    return TRUE;
-
-  if (asect == obj_datasec (abfd))
-    {
-      reloc_size = exec_hdr (abfd)->a_drsize;
-      goto doit;
-    }
-
-  if (asect == obj_textsec (abfd))
-    {
-      reloc_size = exec_hdr (abfd)->a_trsize;
-      goto doit;
-    }
-
-  bfd_set_error (bfd_error_invalid_operation);
-  return FALSE;
-
-doit:
-  if (bfd_seek (abfd, asect->rel_filepos, SEEK_SET) != 0)
-    return FALSE;
-  each_size = obj_reloc_entry_size (abfd);
-
-  count = reloc_size / each_size;
-
-  reloc_cache = (arelent *) bfd_zalloc (abfd, count * sizeof (arelent));
-  if (!reloc_cache && count != 0)
-    return FALSE;
-
-  relocs = bfd_alloc (abfd, reloc_size);
-  if (!relocs && reloc_size != 0)
-    {
-      bfd_release (abfd, reloc_cache);
-      return FALSE;
-    }
-
-  if (bfd_bread (relocs, reloc_size, abfd) != reloc_size)
-    {
-      bfd_release (abfd, relocs);
-      bfd_release (abfd, reloc_cache);
-      return FALSE;
-    }
-
-  rptr = (struct hp300hpux_reloc *) relocs;
-  counter = 0;
-  cache_ptr = reloc_cache;
-
-  for (; counter < count; counter++, rptr++, cache_ptr++)
-    {
-      MY (swap_std_reloc_in) (abfd, rptr, cache_ptr, symbols,
-			      (bfd_size_type) bfd_get_symcount (abfd));
-    }
-
-  bfd_release (abfd, relocs);
-  asect->relocation = reloc_cache;
-  asect->reloc_count = count;
-  return TRUE;
-}
-
-/************************************************************************/
-/* The following functions are identical to functions in aoutx.h except */
-/* they refer to MY(func) rather than NAME(aout,func) and they also     */
-/* call aout_32 versions if the input file was generated by gcc		*/
-/************************************************************************/
-
-long aout_32_canonicalize_symtab  (bfd *, asymbol **);
-long aout_32_get_symtab_upper_bound  (bfd *);
-long aout_32_canonicalize_reloc  (bfd *, sec_ptr, arelent **, asymbol **);
-
-long
-MY (canonicalize_symtab) (bfd *abfd, asymbol **location)
-{
-  unsigned int counter = 0;
-  aout_symbol_type *symbase;
-
-  if (obj_aout_subformat (abfd) == gnu_encap_format)
-    return aout_32_canonicalize_symtab (abfd, location);
-
-  if (!MY (slurp_symbol_table) (abfd))
-    return -1;
-
-  for (symbase = obj_aout_symbols (abfd); counter++ < bfd_get_symcount (abfd);)
-    *(location++) = (asymbol *) (symbase++);
-  *location++ = 0;
-  return bfd_get_symcount (abfd);
-}
-
-long
-MY (get_symtab_upper_bound) (bfd *abfd)
-{
-  if (obj_aout_subformat (abfd) == gnu_encap_format)
-    return aout_32_get_symtab_upper_bound (abfd);
-  if (!MY (slurp_symbol_table) (abfd))
-    return -1;
-
-  return (bfd_get_symcount (abfd) + 1) * (sizeof (aout_symbol_type *));
-}
-
-long
-MY (canonicalize_reloc) (bfd *abfd,
-			 sec_ptr section,
-			 arelent **relptr,
-			 asymbol **symbols)
-{
-  arelent *tblptr = section->relocation;
-  unsigned int count;
-
-  if (obj_aout_subformat (abfd) == gnu_encap_format)
-    return aout_32_canonicalize_reloc (abfd, section, relptr, symbols);
-
-  if (!(tblptr || MY (slurp_reloc_table) (abfd, section, symbols)))
-    return -1;
-
-  if (section->flags & SEC_CONSTRUCTOR)
-    {
-      arelent_chain *chain = section->constructor_chain;
-      for (count = 0; count < section->reloc_count; count++)
-	{
-	  *relptr++ = &chain->relent;
-	  chain = chain->next;
-	}
-    }
-  else
-    {
-      tblptr = section->relocation;
-
-      for (count = 0; count++ < section->reloc_count;)
-	{
-	  *relptr++ = tblptr++;
-	}
-    }
-  *relptr = 0;
-
-  return section->reloc_count;
-}
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hppabsd-core.c ./bfd/hppabsd-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hppabsd-core.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hppabsd-core.c	2018-07-10 02:06:11.000000000 +0000
@@ -244,12 +244,16 @@ const bfd_target core_hppabsd_vec =
       hppabsd_core_core_file_p		/* a core file */
     },
     {				/* bfd_set_format */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
     {				/* bfd_write_contents */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hpux-core.c ./bfd/hpux-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/hpux-core.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/hpux-core.c	2018-07-10 02:06:11.000000000 +0000
@@ -28,7 +28,7 @@
 #include "bfd.h"
 #include "libbfd.h"
 
-#if defined (HOST_HPPAHPUX) || defined (HOST_HP300HPUX) || defined (HOST_HPPAMPEIX)
+#if defined (HOST_HPPAHPUX) || defined (HOST_HPPAMPEIX)
 
 /* FIXME: sys/core.h doesn't exist for HPUX version 7.  HPUX version
    5, 6, and 7 core files seem to be standard trad-core.c type core
@@ -337,7 +337,7 @@ hpux_core_core_file_p (bfd *abfd)
      */
   if ((unknown_sections > 0) && (good_sections > 0))
     _bfd_error_handler
-      ("%B appears to be a core file,\nbut contains unknown sections."
+      ("%pB appears to be a core file,\nbut contains unknown sections."
        "  It may have been created on an incompatible\nversion of HP-UX."
        "  As a result, some information may be unavailable.\n",
        abfd);
@@ -406,12 +406,16 @@ const bfd_target core_hpux_vec =
       hpux_core_core_file_p		/* a core file */
     },
     {				/* bfd_set_format */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
     {				/* bfd_write_contents */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386dynix.c ./bfd/i386dynix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386dynix.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/i386dynix.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,82 +0,0 @@
-/* BFD back-end for i386 a.out binaries under dynix.
-   Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/* This BFD is currently only tested with gdb, writing object files
-   may not work.  */
-
-#define TEXT_START_ADDR 4096
-#define TARGET_PAGE_SIZE	4096
-#define SEGMENT_SIZE	TARGET_PAGE_SIZE
-
-#include "aout/dynix3.h"
-
-#define DEFAULT_ARCH	bfd_arch_i386
-#define MACHTYPE_OK(mtype) ((mtype) == M_386 || (mtype) == M_UNKNOWN)
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (i386_aout_dynix_,OP)
-#define TARGETNAME "a.out-i386-dynix"
-#define NAME(x,y) CONCAT3 (i386dynix,_32_,y)
-#define ARCH_SIZE 32
-#define NAME_swap_exec_header_in NAME(i386dynix_32_,swap_exec_header_in)
-#define MY_get_section_contents aout_32_get_section_contents
-
-/* aoutx.h requires definitions for NMAGIC, BMAGIC and QMAGIC.  */
-#define NMAGIC 0
-#define BMAGIC OMAGIC
-#define QMAGIC XMAGIC
-
-#include "aoutx.h"
-
-/* (Ab)use some fields in the internal exec header to be able to read
-   executables that contain shared data.  */
-
-#define a_shdata a_tload
-#define a_shdrsize a_dload
-
-void
-i386dynix_32_swap_exec_header_in (bfd *abfd,
-				  struct external_exec *raw_bytes,
-				  struct internal_exec *execp)
-{
-  struct external_exec *bytes = (struct external_exec *)raw_bytes;
-
-  /* The internal_exec structure has some fields that are unused in this
-     configuration (IE for i960), so ensure that all such uninitialized
-     fields are zero'd out.  There are places where two of these structs
-     are memcmp'd, and thus the contents do matter. */
-  memset (execp, 0, sizeof (struct internal_exec));
-  /* Now fill in fields in the execp, from the bytes in the raw data.  */
-  execp->a_info   = H_GET_32 (abfd, bytes->e_info);
-  execp->a_text   = GET_WORD (abfd, bytes->e_text);
-  execp->a_data   = GET_WORD (abfd, bytes->e_data);
-  execp->a_bss    = GET_WORD (abfd, bytes->e_bss);
-  execp->a_syms   = GET_WORD (abfd, bytes->e_syms);
-  execp->a_entry  = GET_WORD (abfd, bytes->e_entry);
-  execp->a_trsize = GET_WORD (abfd, bytes->e_trsize);
-  execp->a_drsize = GET_WORD (abfd, bytes->e_drsize);
-  execp->a_shdata = GET_WORD (abfd, bytes->e_shdata);
-  execp->a_shdrsize = GET_WORD (abfd, bytes->e_shdrsize);
-}
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386freebsd.c ./bfd/i386freebsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386freebsd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/i386freebsd.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,38 +0,0 @@
-/* BFD back-end for FreeBSD/386 a.out-ish binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA. */
-
-#define	BYTES_IN_WORD	4
-#undef TARGET_IS_BIG_ENDIAN_P
-
-#define	TARGET_PAGE_SIZE	4096
-#define	SEGMENT_SIZE	TARGET_PAGE_SIZE
-
-#define	DEFAULT_ARCH	bfd_arch_i386
-#define MACHTYPE_OK(mtype) ((mtype) == M_386_NETBSD || (mtype) == M_UNKNOWN)
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (i386_aout_fbsd_,OP)
-
-/* This needs to start with a.out so GDB knows it is an a.out variant.  */
-#define TARGETNAME "a.out-i386-freebsd"
-
-#include "freebsd.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386linux.c ./bfd/i386linux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386linux.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/i386linux.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,733 +0,0 @@
-/* BFD back-end for linux flavored i386 a.out binaries.
-   Copyright (C) 1992-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define	TARGET_PAGE_SIZE	4096
-#define ZMAGIC_DISK_BLOCK_SIZE 1024
-#define	SEGMENT_SIZE TARGET_PAGE_SIZE
-#define TEXT_START_ADDR	0x0
-
-#define MACHTYPE_OK(mtype) ((mtype) == M_386 || (mtype) == M_UNKNOWN)
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "aout/aout64.h"
-#include "aout/stab_gnu.h"
-#include "aout/ar.h"
-#include "libaout.h"	       /* BFD a.out internal data structures */
-
-#define DEFAULT_ARCH bfd_arch_i386
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (i386_aout_linux_,OP)
-#define TARGETNAME "a.out-i386-linux"
-
-extern const bfd_target MY(vec);
-
-/* We always generate QMAGIC files in preference to ZMAGIC files.  It
-   would be possible to make this a linker option, if that ever
-   becomes important.  */
-
-static void MY_final_link_callback
-  (bfd *, file_ptr *, file_ptr *, file_ptr *);
-static bfd_boolean i386linux_bfd_final_link
-  (bfd *, struct bfd_link_info *);
-static bfd_boolean i386linux_write_object_contents (bfd *);
-
-static bfd_boolean
-i386linux_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
-{
-  obj_aout_subformat (abfd) = q_magic_format;
-  return NAME(aout,final_link) (abfd, info, MY_final_link_callback);
-}
-
-#define MY_bfd_final_link i386linux_bfd_final_link
-
-/* Set the machine type correctly.  */
-
-static bfd_boolean
-i386linux_write_object_contents (bfd *abfd)
-{
-  struct external_exec exec_bytes;
-  struct internal_exec *execp = exec_hdr (abfd);
-
-  N_SET_MACHTYPE (execp, M_386);
-
-  obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
-
-  WRITE_HEADERS (abfd, execp);
-
-  return TRUE;
-}
-
-#define MY_write_object_contents i386linux_write_object_contents
-
-/* Code to link against Linux a.out shared libraries.  */
-
-/* See if a symbol name is a reference to the global offset table.  */
-
-#ifndef GOT_REF_PREFIX
-#define	GOT_REF_PREFIX	"__GOT_"
-#endif
-
-#define IS_GOT_SYM(name)   (CONST_STRNEQ (name, GOT_REF_PREFIX))
-
-/* See if a symbol name is a reference to the procedure linkage table.  */
-
-#ifndef PLT_REF_PREFIX
-#define	PLT_REF_PREFIX	"__PLT_"
-#endif
-
-#define IS_PLT_SYM(name)  (CONST_STRNEQ (name, PLT_REF_PREFIX))
-
-/* This string is used to generate specialized error messages.  */
-
-#ifndef NEEDS_SHRLIB
-#define NEEDS_SHRLIB "__NEEDS_SHRLIB_"
-#endif
-
-/* This special symbol is a set vector that contains a list of
-   pointers to fixup tables.  It will be present in any dynamically
-   linked file.  The linker generated fixup table should also be added
-   to the list, and it should always appear in the second slot (the
-   first one is a dummy with a magic number that is defined in
-   crt0.o).  */
-
-#ifndef SHARABLE_CONFLICTS
-#define SHARABLE_CONFLICTS "__SHARABLE_CONFLICTS__"
-#endif
-
-/* We keep a list of fixups.  The terminology is a bit strange, but
-   each fixup contains two 32 bit numbers.  A regular fixup contains
-   an address and a pointer, and at runtime we should store the
-   address at the location pointed to by the pointer.  A builtin fixup
-   contains two pointers, and we should read the address using one
-   pointer and store it at the location pointed to by the other
-   pointer.  Builtin fixups come into play when we have duplicate
-   __GOT__ symbols for the same variable.  The builtin fixup will copy
-   the GOT pointer from one over into the other.  */
-
-struct fixup
-{
-  struct fixup *next;
-  struct linux_link_hash_entry *h;
-  bfd_vma value;
-
-  /* Nonzero if this is a jump instruction that needs to be fixed,
-     zero if this is just a pointer */
-  char jump;
-
-  char builtin;
-};
-
-/* We don't need a special hash table entry structure, but we do need
-   to keep some information between linker passes, so we use a special
-   hash table.  */
-
-struct linux_link_hash_entry
-{
-  struct aout_link_hash_entry root;
-};
-
-struct linux_link_hash_table
-{
-  struct aout_link_hash_table root;
-
-  /* First dynamic object found in link.  */
-  bfd *dynobj;
-
-  /* Number of fixups.  */
-  size_t fixup_count;
-
-  /* Number of builtin fixups.  */
-  size_t local_builtins;
-
-  /* List of fixups.  */
-  struct fixup *fixup_list;
-};
-
-/* Routine to create an entry in an Linux link hash table.  */
-
-static struct bfd_hash_entry *
-linux_link_hash_newfunc (struct bfd_hash_entry *entry,
-			 struct bfd_hash_table *table,
-			 const char *string)
-{
-  struct linux_link_hash_entry *ret = (struct linux_link_hash_entry *) entry;
-
-  /* Allocate the structure if it has not already been allocated by a
-     subclass.  */
-  if (ret == (struct linux_link_hash_entry *) NULL)
-    ret = ((struct linux_link_hash_entry *)
-	   bfd_hash_allocate (table, sizeof (struct linux_link_hash_entry)));
-  if (ret == NULL)
-    return (struct bfd_hash_entry *) ret;
-
-  /* Call the allocation method of the superclass.  */
-  ret = ((struct linux_link_hash_entry *)
-	 NAME(aout,link_hash_newfunc) ((struct bfd_hash_entry *) ret,
-				       table, string));
-  if (ret != NULL)
-    {
-      /* Set local fields; there aren't any.  */
-    }
-
-  return (struct bfd_hash_entry *) ret;
-}
-
-/* Create a Linux link hash table.  */
-
-static struct bfd_link_hash_table *
-linux_link_hash_table_create (bfd *abfd)
-{
-  struct linux_link_hash_table *ret;
-  bfd_size_type amt = sizeof (struct linux_link_hash_table);
-
-  ret = (struct linux_link_hash_table *) bfd_zmalloc (amt);
-  if (ret == (struct linux_link_hash_table *) NULL)
-    return (struct bfd_link_hash_table *) NULL;
-  if (!NAME(aout,link_hash_table_init) (&ret->root, abfd,
-					linux_link_hash_newfunc,
-					sizeof (struct linux_link_hash_entry)))
-    {
-      free (ret);
-      return (struct bfd_link_hash_table *) NULL;
-    }
-
-  return &ret->root.root;
-}
-
-/* Look up an entry in a Linux link hash table.  */
-
-#define linux_link_hash_lookup(table, string, create, copy, follow) \
-  ((struct linux_link_hash_entry *) \
-   aout_link_hash_lookup (&(table)->root, (string), (create), (copy),\
-			  (follow)))
-
-/* Traverse a Linux link hash table.  */
-
-#define linux_link_hash_traverse(table, func, info)			\
-  (aout_link_hash_traverse						\
-   (&(table)->root,							\
-    (bfd_boolean (*) (struct aout_link_hash_entry *, void *)) (func),   \
-    (info)))
-
-/* Get the Linux link hash table from the info structure.  This is
-   just a cast.  */
-
-#define linux_hash_table(p) ((struct linux_link_hash_table *) ((p)->hash))
-
-/* Store the information for a new fixup.  */
-
-static struct fixup *
-new_fixup (struct bfd_link_info *info,
-	   struct linux_link_hash_entry *h,
-	   bfd_vma value,
-	   int builtin)
-{
-  struct fixup *f;
-
-  f = (struct fixup *) bfd_hash_allocate (&info->hash->table,
-					  sizeof (struct fixup));
-  if (f == NULL)
-    return f;
-  f->next = linux_hash_table (info)->fixup_list;
-  linux_hash_table (info)->fixup_list = f;
-  f->h = h;
-  f->value = value;
-  f->builtin = builtin;
-  f->jump = 0;
-  ++linux_hash_table (info)->fixup_count;
-  return f;
-}
-
-/* We come here once we realize that we are going to link to a shared
-   library.  We need to create a special section that contains the
-   fixup table, and we ultimately need to add a pointer to this into
-   the set vector for SHARABLE_CONFLICTS.  At this point we do not
-   know the size of the section, but that's OK - we just need to
-   create it for now.  */
-
-static bfd_boolean
-linux_link_create_dynamic_sections (bfd *abfd,
-				    struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  flagword flags;
-  asection *s;
-
-  /* Note that we set the SEC_IN_MEMORY flag.  */
-  flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY;
-
-  /* We choose to use the name ".linux-dynamic" for the fixup table.
-     Why not? */
-  s = bfd_make_section_with_flags (abfd, ".linux-dynamic", flags);
-  if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, 2))
-    return FALSE;
-  s->size = 0;
-  s->contents = 0;
-
-  return TRUE;
-}
-
-/* Function to add a single symbol to the linker hash table.  This is
-   a wrapper around _bfd_generic_link_add_one_symbol which handles the
-   tweaking needed for dynamic linking support.  */
-
-static bfd_boolean
-linux_add_one_symbol (struct bfd_link_info *info,
-		      bfd *abfd,
-		      const char *name,
-		      flagword flags,
-		      asection *section,
-		      bfd_vma value,
-		      const char *string,
-		      bfd_boolean copy,
-		      bfd_boolean collect,
-		      struct bfd_link_hash_entry **hashp)
-{
-  struct linux_link_hash_entry *h;
-  bfd_boolean insert;
-
-  /* Look up and see if we already have this symbol in the hash table.
-     If we do, and the defining entry is from a shared library, we
-     need to create the dynamic sections.
-
-     FIXME: What if abfd->xvec != info->output_bfd->xvec?  We may
-     want to be able to link Linux a.out and ELF objects together,
-     but serious confusion is possible.  */
-
-  insert = FALSE;
-
-  if (! bfd_link_relocatable (info)
-      && linux_hash_table (info)->dynobj == NULL
-      && strcmp (name, SHARABLE_CONFLICTS) == 0
-      && (flags & BSF_CONSTRUCTOR) != 0
-      && abfd->xvec == info->output_bfd->xvec)
-    {
-      if (! linux_link_create_dynamic_sections (abfd, info))
-	return FALSE;
-      linux_hash_table (info)->dynobj = abfd;
-      insert = TRUE;
-    }
-
-  if (bfd_is_abs_section (section)
-      && abfd->xvec == info->output_bfd->xvec)
-    {
-      h = linux_link_hash_lookup (linux_hash_table (info), name, FALSE,
-				  FALSE, FALSE);
-      if (h != NULL
-	  && (h->root.root.type == bfd_link_hash_defined
-	      || h->root.root.type == bfd_link_hash_defweak))
-	{
-	  struct fixup *f;
-
-	  if (hashp != NULL)
-	    *hashp = (struct bfd_link_hash_entry *) h;
-
-	  f = new_fixup (info, h, value, ! IS_PLT_SYM (name));
-	  if (f == NULL)
-	    return FALSE;
-	  f->jump = IS_PLT_SYM (name);
-
-	  return TRUE;
-	}
-    }
-
-  /* Do the usual procedure for adding a symbol.  */
-  if (! _bfd_generic_link_add_one_symbol (info, abfd, name, flags, section,
-					  value, string, copy, collect,
-					  hashp))
-    return FALSE;
-
-  /* Insert a pointer to our table in the set vector.  The dynamic
-     linker requires this information */
-  if (insert)
-    {
-      asection *s;
-
-      /* Here we do our special thing to add the pointer to the
-	 dynamic section in the SHARABLE_CONFLICTS set vector.  */
-      s = bfd_get_section_by_name (linux_hash_table (info)->dynobj,
-				   ".linux-dynamic");
-      BFD_ASSERT (s != NULL);
-
-      if (! (_bfd_generic_link_add_one_symbol
-	     (info, linux_hash_table (info)->dynobj, SHARABLE_CONFLICTS,
-	      BSF_GLOBAL | BSF_CONSTRUCTOR, s, (bfd_vma) 0, NULL,
-	      FALSE, FALSE, NULL)))
-	return FALSE;
-    }
-
-  return TRUE;
-}
-
-/* We will crawl the hash table and come here for every global symbol.
-   We will examine each entry and see if there are indications that we
-   need to add a fixup.  There are two possible cases - one is where
-   you have duplicate definitions of PLT or GOT symbols - these will
-   have already been caught and added as "builtin" fixups.  If we find
-   that the corresponding non PLT/GOT symbol is also present, we
-   convert it to a regular fixup instead.
-
-   This function is called via linux_link_hash_traverse.  */
-
-static bfd_boolean
-linux_tally_symbols (struct linux_link_hash_entry *h, void * data)
-{
-  struct bfd_link_info *info = (struct bfd_link_info *) data;
-  struct fixup *f, *f1;
-  int is_plt;
-  struct linux_link_hash_entry *h1, *h2;
-  bfd_boolean exists;
-
-  if (h->root.root.type == bfd_link_hash_undefined
-      && CONST_STRNEQ (h->root.root.root.string, NEEDS_SHRLIB))
-    {
-      const char *name;
-      char *p;
-      char *alloc = NULL;
-
-      name = h->root.root.root.string + sizeof NEEDS_SHRLIB - 1;
-      p = strrchr (name, '_');
-      if (p != NULL)
-	alloc = (char *) bfd_malloc ((bfd_size_type) strlen (name) + 1);
-
-      if (p == NULL || alloc == NULL)
-	_bfd_error_handler (_("Output file requires shared library `%s'\n"),
-			    name);
-      else
-	{
-	  strcpy (alloc, name);
-	  p = strrchr (alloc, '_');
-	  *p++ = '\0';
-	  _bfd_error_handler
-	    (_("Output file requires shared library `%s.so.%s'\n"),
-	     alloc, p);
-	  free (alloc);
-	}
-
-      abort ();
-    }
-
-  /* If this symbol is not a PLT/GOT, we do not even need to look at it */
-  is_plt = IS_PLT_SYM (h->root.root.root.string);
-
-  if (is_plt || IS_GOT_SYM (h->root.root.root.string))
-    {
-      /* Look up this symbol twice.  Once just as a regular lookup,
-	 and then again following all of the indirect links until we
-	 reach a real symbol.  */
-      h1 = linux_link_hash_lookup (linux_hash_table (info),
-				   (h->root.root.root.string
-				    + sizeof PLT_REF_PREFIX - 1),
-				   FALSE, FALSE, TRUE);
-      /* h2 does not follow indirect symbols. */
-      h2 = linux_link_hash_lookup (linux_hash_table (info),
-				   (h->root.root.root.string
-				    + sizeof PLT_REF_PREFIX - 1),
-				   FALSE, FALSE, FALSE);
-
-      /* The real symbol must exist but if it is also an ABS symbol,
-	 there is no need to have a fixup.  This is because they both
-	 came from the same library.  If on the other hand, we had to
-	 use an indirect symbol to get to the real symbol, we add the
-	 fixup anyway, since there are cases where these symbols come
-	 from different shared libraries */
-      if (h1 != NULL
-	  && (((h1->root.root.type == bfd_link_hash_defined
-		|| h1->root.root.type == bfd_link_hash_defweak)
-	       && ! bfd_is_abs_section (h1->root.root.u.def.section))
-	      || h2->root.root.type == bfd_link_hash_indirect))
-	{
-	  /* See if there is a "builtin" fixup already present
-	     involving this symbol.  If so, convert it to a regular
-	     fixup.  In the end, this relaxes some of the requirements
-	     about the order of performing fixups.  */
-	  exists = FALSE;
-	  for (f1 = linux_hash_table (info)->fixup_list;
-	       f1 != NULL;
-	       f1 = f1->next)
-	    {
-	      if ((f1->h != h && f1->h != h1)
-		  || (! f1->builtin && ! f1->jump))
-		continue;
-	      if (f1->h == h1)
-		exists = TRUE;
-	      if (! exists
-		  && bfd_is_abs_section (h->root.root.u.def.section))
-		{
-		  f = new_fixup (info, h1, f1->h->root.root.u.def.value, 0);
-		  f->jump = is_plt;
-		}
-	      f1->h = h1;
-	      f1->jump = is_plt;
-	      f1->builtin = 0;
-	      exists = TRUE;
-	    }
-	  if (! exists
-	      && bfd_is_abs_section (h->root.root.u.def.section))
-	    {
-	      f = new_fixup (info, h1, h->root.root.u.def.value, 0);
-	      if (f == NULL)
-		{
-		  /* FIXME: No way to return error.  */
-		  abort ();
-		}
-	      f->jump = is_plt;
-	    }
-	}
-
-      /* Quick and dirty way of stripping these symbols from the
-	 symtab. */
-      if (bfd_is_abs_section (h->root.root.u.def.section))
-	h->root.written = TRUE;
-    }
-
-  return TRUE;
-}
-
-/* This is called to set the size of the .linux-dynamic section is.
-   It is called by the Linux linker emulation before_allocation
-   routine.  We have finished reading all of the input files, and now
-   we just scan the hash tables to find out how many additional fixups
-   are required.  */
-
-bfd_boolean
-bfd_i386linux_size_dynamic_sections (bfd *output_bfd,
-				     struct bfd_link_info *info)
-{
-  struct fixup *f;
-  asection *s;
-
-  if (output_bfd->xvec != &MY(vec))
-    return TRUE;
-
-  /* First find the fixups... */
-  linux_link_hash_traverse (linux_hash_table (info),
-			    linux_tally_symbols,
-			    info);
-
-  /* If there are builtin fixups, leave room for a marker.  This is
-     used by the dynamic linker so that it knows that all that follow
-     are builtin fixups instead of regular fixups.  */
-  for (f = linux_hash_table (info)->fixup_list; f != NULL; f = f->next)
-    {
-      if (f->builtin)
-	{
-	  ++linux_hash_table (info)->fixup_count;
-	  ++linux_hash_table (info)->local_builtins;
-	  break;
-	}
-    }
-
-  if (linux_hash_table (info)->dynobj == NULL)
-    {
-      if (linux_hash_table (info)->fixup_count > 0)
-	abort ();
-      return TRUE;
-    }
-
-  /* Allocate memory for our fixup table.  We will fill it in later.  */
-  s = bfd_get_section_by_name (linux_hash_table (info)->dynobj,
-			       ".linux-dynamic");
-  if (s != NULL)
-    {
-      s->size = linux_hash_table (info)->fixup_count + 1;
-      s->size *= 8;
-      s->contents = (bfd_byte *) bfd_zalloc (output_bfd, s->size);
-      if (s->contents == NULL)
-	return FALSE;
-    }
-
-  return TRUE;
-}
-
-/* We come here once we are ready to actually write the fixup table to
-   the output file.  Scan the fixup tables and so forth and generate
-   the stuff we need.  */
-
-static bfd_boolean
-linux_finish_dynamic_link (bfd *output_bfd,
-			   struct bfd_link_info *info)
-{
-  asection *s, *os, *is;
-  bfd_byte *fixup_table;
-  struct linux_link_hash_entry *h;
-  struct fixup *f;
-  unsigned int new_addr;
-  int section_offset;
-  unsigned int fixups_written;
-
-  if (linux_hash_table (info)->dynobj == NULL)
-    return TRUE;
-
-  s = bfd_get_section_by_name (linux_hash_table (info)->dynobj,
-			       ".linux-dynamic");
-  BFD_ASSERT (s != NULL);
-  os = s->output_section;
-  fixups_written = 0;
-
-#ifdef LINUX_LINK_DEBUG
-  printf ("Fixup table file offset: %x  VMA: %x\n",
-	  os->filepos + s->output_offset,
-	  os->vma + s->output_offset);
-#endif
-
-  fixup_table = s->contents;
-  bfd_put_32 (output_bfd,
-	      (bfd_vma) linux_hash_table (info)->fixup_count, fixup_table);
-  fixup_table += 4;
-
-  /* Fill in fixup table.  */
-  for (f = linux_hash_table (info)->fixup_list; f != NULL; f = f->next)
-    {
-      if (f->builtin)
-	continue;
-
-      if (f->h->root.root.type != bfd_link_hash_defined
-	  && f->h->root.root.type != bfd_link_hash_defweak)
-	{
-	  _bfd_error_handler
-	    (_("Symbol %s not defined for fixups\n"),
-	     f->h->root.root.root.string);
-	  continue;
-	}
-
-      is = f->h->root.root.u.def.section;
-      section_offset = is->output_section->vma + is->output_offset;
-      new_addr = f->h->root.root.u.def.value + section_offset;
-
-#ifdef LINUX_LINK_DEBUG
-      printf ("Fixup(%d) %s: %x %x\n",f->jump, f->h->root.root.string,
-	      new_addr, f->value);
-#endif
-
-      if (f->jump)
-	{
-	  /* Relative address */
-	  new_addr = new_addr - (f->value + 5);
-	  bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, f->value + 1, fixup_table);
-	  fixup_table += 4;
-	}
-      else
-	{
-	  bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, f->value, fixup_table);
-	  fixup_table += 4;
-	}
-      ++fixups_written;
-    }
-
-  if (linux_hash_table (info)->local_builtins != 0)
-    {
-      /* Special marker so we know to switch to the other type of fixup */
-      bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-      fixup_table += 4;
-      bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-      fixup_table += 4;
-      ++fixups_written;
-      for (f = linux_hash_table (info)->fixup_list; f != NULL; f = f->next)
-	{
-	  if (! f->builtin)
-	    continue;
-
-	  if (f->h->root.root.type != bfd_link_hash_defined
-	      && f->h->root.root.type != bfd_link_hash_defweak)
-	    {
-	      _bfd_error_handler
-		(_("Symbol %s not defined for fixups\n"),
-		 f->h->root.root.root.string);
-	      continue;
-	    }
-
-	  is = f->h->root.root.u.def.section;
-	  section_offset = is->output_section->vma + is->output_offset;
-	  new_addr = f->h->root.root.u.def.value + section_offset;
-
-#ifdef LINUX_LINK_DEBUG
-	  printf ("Fixup(B) %s: %x %x\n", f->h->root.root.string,
-		  new_addr, f->value);
-#endif
-
-	  bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, f->value, fixup_table);
-	  fixup_table += 4;
-	  ++fixups_written;
-	}
-  }
-
-  if (linux_hash_table (info)->fixup_count != fixups_written)
-    {
-      _bfd_error_handler (_("Warning: fixup count mismatch\n"));
-      while (linux_hash_table (info)->fixup_count > fixups_written)
-	{
-	  bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-	  fixup_table += 4;
-	  ++fixups_written;
-	}
-    }
-
-  h = linux_link_hash_lookup (linux_hash_table (info),
-			      "__BUILTIN_FIXUPS__",
-			      FALSE, FALSE, FALSE);
-
-  if (h != NULL
-      && (h->root.root.type == bfd_link_hash_defined
-	  || h->root.root.type == bfd_link_hash_defweak))
-    {
-      is = h->root.root.u.def.section;
-      section_offset = is->output_section->vma + is->output_offset;
-      new_addr = h->root.root.u.def.value + section_offset;
-
-#ifdef LINUX_LINK_DEBUG
-      printf ("Builtin fixup table at %x\n", new_addr);
-#endif
-
-      bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-    }
-  else
-    bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-
-  if (bfd_seek (output_bfd, (file_ptr) (os->filepos + s->output_offset),
-		SEEK_SET) != 0)
-    return FALSE;
-
-  if (bfd_bwrite (s->contents, s->size, output_bfd) != s->size)
-    return FALSE;
-
-  return TRUE;
-}
-
-#define MY_bfd_link_hash_table_create linux_link_hash_table_create
-#define MY_add_one_symbol linux_add_one_symbol
-#define MY_finish_dynamic_link linux_finish_dynamic_link
-
-#define MY_zmagic_contiguous 1
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386mach3.c ./bfd/i386mach3.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386mach3.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/i386mach3.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,73 +0,0 @@
-/* BFD back-end for i386 a.out binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/* This is for Mach 3, which uses a.out, not Mach-O.  */
-
-/* There is no magic number or anything which lets us distinguish this target
-   from i386aout or i386bsd.  So this target is only useful if it is the
-   default target.  */
-
-#define	TARGET_PAGE_SIZE	1
-#define	SEGMENT_SIZE	0x1000
-#define TEXT_START_ADDR	0x10000
-#define ARCH 32
-/* This macro is only relevant when N_MAGIC(x) == ZMAGIC.  */
-#define N_HEADER_IN_TEXT(x)	1
-
-#define N_TXTSIZE(x)	((x)->a_text)
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "aout/aout64.h"
-#include "aout/stab_gnu.h"
-#include "aout/ar.h"
-#include "libaout.h"	       /* BFD a.out internal data structures */
-
-#define DEFAULT_ARCH bfd_arch_i386
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (i386_aout_mach3_,OP)
-#define TARGETNAME "a.out-mach3"
-
-static bfd_boolean MY (set_sizes) (bfd *);
-#define MY_backend_data &MY(backend_data)
-
-static const struct aout_backend_data MY(backend_data) =
-{
-  0,				/* zmagic contiguous */
-  1,				/* text incl header */
-  0,				/* entry is text address */
-  0,				/* exec_hdr_flags */
-  0,				/* text vma? */
-  MY(set_sizes),
-  1,				/* exec header not counted */
-  0,				/* add_dynamic_symbols */
-  0,				/* add_one_symbol */
-  0,				/* link_dynamic_object */
-  0,				/* write_dynamic_symbol */
-  0,				/* check_dynamic_reloc */
-  0				/* finish_dynamic_link */
-};
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386msdos.c ./bfd/i386msdos.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386msdos.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/i386msdos.c	2018-07-10 02:06:11.000000000 +0000
@@ -27,12 +27,94 @@
 #include "bfd.h"
 #include "libbfd.h"
 #include "libaout.h"
+#include "coff/msdos.h"
 
-#define EXE_MAGIC	0x5a4d
 #define EXE_LOAD_HIGH	0x0000
 #define EXE_LOAD_LOW	0xffff
 #define EXE_PAGE_SIZE	512
 
+static bfd_boolean
+msdos_mkobject (bfd *abfd)
+{
+  bfd_default_set_arch_mach (abfd, bfd_arch_i386, bfd_mach_i386_i8086);
+
+  return aout_32_mkobject (abfd);
+}
+
+static const bfd_target *
+msdos_object_p (bfd *abfd)
+{
+  struct external_DOS_hdr hdr;
+  bfd_byte buffer[2];
+  asection *section;
+  unsigned int size;
+
+  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0
+      || bfd_bread (&hdr, (bfd_size_type) sizeof (hdr), abfd) < DOS_HDR_SIZE)
+    {
+      if (bfd_get_error () != bfd_error_system_call)
+	bfd_set_error (bfd_error_wrong_format);
+      return NULL;
+    }
+
+  if (H_GET_16 (abfd, hdr.e_magic) != IMAGE_DOS_SIGNATURE)
+    {
+      bfd_set_error (bfd_error_wrong_format);
+      return NULL;
+    }
+
+  /* Check that this isn't actually a PE, NE, or LE file. If it is, the
+     e_lfanew field will be valid and point to a header beginning with one of
+     the relevant signatures.  If not, e_lfanew might point to anything, so
+     don't bail if we can't read there.  */
+  if (H_GET_16 (abfd, hdr.e_cparhdr) < 4
+      || bfd_seek (abfd, (file_ptr) H_GET_32 (abfd, hdr.e_lfanew), SEEK_SET) != 0
+      || bfd_bread (buffer, (bfd_size_type) 2, abfd) != 2)
+    {
+      if (bfd_get_error () == bfd_error_system_call)
+	return NULL;
+    }
+  else
+    {
+      if (H_GET_16 (abfd, buffer) == IMAGE_NT_SIGNATURE
+	  || H_GET_16 (abfd, buffer) == IMAGE_OS2_SIGNATURE
+	  || H_GET_16 (abfd, buffer) == IMAGE_OS2_SIGNATURE_LE
+	  || H_GET_16 (abfd, buffer) == IMAGE_OS2_SIGNATURE_LX)
+	{
+	  bfd_set_error (bfd_error_wrong_format);
+	  return NULL;
+	}
+    }
+
+  if (!msdos_mkobject (abfd))
+    return NULL;
+
+  abfd->flags = EXEC_P;
+  abfd->start_address = H_GET_16 (abfd, hdr.e_ip);
+
+  section = bfd_make_section (abfd, ".text");
+  if (section == NULL)
+    return NULL;
+
+  section->flags = (SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS);
+  section->filepos = H_GET_16 (abfd, hdr.e_cparhdr) * 16;
+  size = (H_GET_16 (abfd, hdr.e_cp) - 1) * EXE_PAGE_SIZE - section->filepos;
+  size += H_GET_16 (abfd, hdr.e_cblp);
+
+  /* Check that the size is valid.  */
+  if (bfd_seek (abfd, (file_ptr) (section->filepos + size), SEEK_SET) != 0)
+    {
+      if (bfd_get_error () != bfd_error_system_call)
+	bfd_set_error (bfd_error_wrong_format);
+      return NULL;
+    }
+
+  bfd_set_section_size (abfd, section, size);
+  section->alignment_power = 4;
+
+  return abfd->xvec;
+}
+
 static int
 msdos_sizeof_headers (bfd *abfd ATTRIBUTE_UNUSED,
 		      struct bfd_link_info *info ATTRIBUTE_UNUSED)
@@ -77,7 +159,7 @@ msdos_write_object_contents (bfd *abfd)
     }
 
   /* Constants.  */
-  H_PUT_16 (abfd, EXE_MAGIC, &hdr[0]);
+  H_PUT_16 (abfd, IMAGE_DOS_SIGNATURE, &hdr[0]);
   H_PUT_16 (abfd, EXE_PAGE_SIZE / 16, &hdr[8]);
   H_PUT_16 (abfd, EXE_LOAD_LOW, &hdr[12]);
   H_PUT_16 (abfd, 0x3e, &hdr[24]);
@@ -127,7 +209,6 @@ msdos_set_section_contents (bfd *abfd,
 
 
 
-#define msdos_mkobject aout_32_mkobject
 #define msdos_make_empty_symbol aout_32_make_empty_symbol
 #define msdos_bfd_reloc_type_lookup aout_32_reloc_type_lookup
 #define msdos_bfd_reloc_name_lookup aout_32_reloc_name_lookup
@@ -149,6 +230,7 @@ msdos_set_section_contents (bfd *abfd,
 #define msdos_section_already_linked \
   _bfd_generic_section_already_linked
 #define msdos_bfd_define_common_symbol bfd_generic_define_common_symbol
+#define msdos_bfd_link_hide_symbol _bfd_generic_link_hide_symbol
 #define msdos_bfd_define_start_stop bfd_generic_define_start_stop
 #define msdos_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
 #define msdos_bfd_link_add_symbols _bfd_generic_link_add_symbols
@@ -170,7 +252,7 @@ msdos_set_section_contents (bfd *abfd,
 #define msdos_find_line _bfd_nosymbols_find_line
 #define msdos_find_inliner_info _bfd_nosymbols_find_inliner_info
 #define msdos_get_lineno _bfd_nosymbols_get_lineno
-#define msdos_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define msdos_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
 #define msdos_bfd_is_local_label_name _bfd_nosymbols_bfd_is_local_label_name
 #define msdos_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
 #define msdos_read_minisymbols _bfd_nosymbols_read_minisymbols
@@ -203,21 +285,21 @@ const bfd_target i386_msdos_vec =
 
     {
       _bfd_dummy_target,
-      _bfd_dummy_target,		/* bfd_check_format */
+      msdos_object_p,		/* bfd_check_format */
       _bfd_dummy_target,
       _bfd_dummy_target,
     },
     {
-      bfd_false,
+      _bfd_bool_bfd_false_error,
       msdos_mkobject,
       _bfd_generic_mkarchive,
-      bfd_false,
+      _bfd_bool_bfd_false_error,
     },
     {				/* bfd_write_contents */
-      bfd_false,
+      _bfd_bool_bfd_false_error,
       msdos_write_object_contents,
       _bfd_write_archive_contents,
-      bfd_false,
+      _bfd_bool_bfd_false_error,
     },
 
     BFD_JUMP_TABLE_GENERIC (msdos),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386netbsd.c ./bfd/i386netbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386netbsd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/i386netbsd.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,38 +0,0 @@
-/* BFD back-end for NetBSD/386 a.out-ish binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA. */
-
-#define	BYTES_IN_WORD	4
-#undef TARGET_IS_BIG_ENDIAN_P
-
-#define	TARGET_PAGE_SIZE	4096
-#define	SEGMENT_SIZE	TARGET_PAGE_SIZE
-
-#define	DEFAULT_ARCH	bfd_arch_i386
-#define	DEFAULT_MID	M_386_NETBSD
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (i386_aout_nbsd_,OP)
-
-/* This needs to start with a.out so GDB knows it is an a.out variant.  */
-#define TARGETNAME "a.out-i386-netbsd"
-
-#include "netbsd.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386os9k.c ./bfd/i386os9k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/i386os9k.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/i386os9k.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,230 +0,0 @@
-/* BFD back-end for os9000 i386 binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "bfdlink.h"
-#include "libaout.h"		/* BFD a.out internal data structures */
-#include "os9k.h"
-
-/* Swaps the information in an executable header taken from a raw byte
-   stream memory image, into the internal exec_header structure.  */
-static bfd_boolean
-os9k_swap_exec_header_in (bfd *abfd,
-			  mh_com *raw_bytes,
-			  struct internal_exec *execp)
-{
-  mh_com *bytes = (mh_com *) raw_bytes;
-  unsigned int dload, dmemsize, dmemstart;
-
-  /* Now fill in fields in the execp, from the bytes in the raw data.  */
-  execp->a_info = H_GET_16 (abfd, bytes->m_sync);
-  execp->a_syms = 0;
-  execp->a_entry = H_GET_32 (abfd, bytes->m_exec);
-  execp->a_talign = 2;
-  execp->a_dalign = 2;
-  execp->a_balign = 2;
-
-  dload = H_GET_32 (abfd, bytes->m_idata);
-  execp->a_data = dload + 8;
-
-  if (bfd_seek (abfd, (file_ptr) dload, SEEK_SET) != 0
-      || (bfd_bread (&dmemstart, (bfd_size_type) sizeof (dmemstart), abfd)
-	  != sizeof (dmemstart))
-      || (bfd_bread (&dmemsize, (bfd_size_type) sizeof (dmemsize), abfd)
-	  != sizeof (dmemsize)))
-    return FALSE;
-
-  execp->a_tload = 0;
-  execp->a_dload = H_GET_32 (abfd, (unsigned char *) &dmemstart);
-  execp->a_text = dload - execp->a_tload;
-  execp->a_data = H_GET_32 (abfd, (unsigned char *) &dmemsize);
-  execp->a_bss = H_GET_32 (abfd, bytes->m_data) - execp->a_data;
-
-  execp->a_trsize = 0;
-  execp->a_drsize = 0;
-
-  return TRUE;
-}
-
-
-/* Finish up the opening of a b.out file for reading.  Fill in all the
-   fields that are not handled by common code.  */
-
-static const bfd_target *
-os9k_callback (bfd *abfd)
-{
-  struct internal_exec *execp = exec_hdr (abfd);
-  unsigned long bss_start;
-
-  /* Architecture and machine type.  */
-  bfd_set_arch_mach (abfd, bfd_arch_i386, 0);
-
-  /* The positions of the string table and symbol table.  */
-  obj_str_filepos (abfd) = 0;
-  obj_sym_filepos (abfd) = 0;
-
-  /* The alignments of the sections.  */
-  obj_textsec (abfd)->alignment_power = execp->a_talign;
-  obj_datasec (abfd)->alignment_power = execp->a_dalign;
-  obj_bsssec (abfd)->alignment_power = execp->a_balign;
-
-  /* The starting addresses of the sections.  */
-  obj_textsec (abfd)->vma = execp->a_tload;
-  obj_datasec (abfd)->vma = execp->a_dload;
-
-  /* And reload the sizes, since the aout module zaps them.  */
-  obj_textsec (abfd)->size = execp->a_text;
-
-  bss_start = execp->a_dload + execp->a_data;	/* BSS = end of data section.  */
-  obj_bsssec (abfd)->vma = align_power (bss_start, execp->a_balign);
-
-  /* The file positions of the sections.  */
-  obj_textsec (abfd)->filepos = execp->a_entry;
-  obj_datasec (abfd)->filepos = execp->a_dload;
-
-  /* The file positions of the relocation info ***
-  obj_textsec (abfd)->rel_filepos = N_TROFF (execp);
-  obj_datasec (abfd)->rel_filepos =  N_DROFF (execp);  */
-
-  adata (abfd).page_size = 1;	/* Not applicable.  */
-  adata (abfd).segment_size = 1;/* Not applicable.  */
-  adata (abfd).exec_bytes_size = MHCOM_BYTES_SIZE;
-
-  return abfd->xvec;
-}
-
-static const bfd_target *
-os9k_object_p (bfd *abfd)
-{
-  struct internal_exec anexec;
-  mh_com exec_bytes;
-
-  if (bfd_bread (&exec_bytes, (bfd_size_type) MHCOM_BYTES_SIZE, abfd)
-      != MHCOM_BYTES_SIZE)
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-	bfd_set_error (bfd_error_wrong_format);
-      return 0;
-    }
-
-  anexec.a_info = H_GET_16 (abfd, exec_bytes.m_sync);
-  if (N_BADMAG (&anexec))
-    {
-      bfd_set_error (bfd_error_wrong_format);
-      return 0;
-    }
-
-  if (! os9k_swap_exec_header_in (abfd, &exec_bytes, &anexec))
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-	bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-  return aout_32_some_aout_object_p (abfd, &anexec, os9k_callback);
-}
-
-static int
-os9k_sizeof_headers (bfd *abfd ATTRIBUTE_UNUSED,
-		     struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  return sizeof (struct internal_exec);
-}
-
-
-
-#define aout_32_close_and_cleanup aout_32_bfd_free_cached_info
-
-#define aout_32_find_line	      _bfd_nosymbols_find_line
-#define aout_32_get_symbol_version_string \
-  _bfd_nosymbols_get_symbol_version_string
-#define aout_32_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
-
-#define aout_32_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
-#define aout_32_bfd_reloc_name_lookup _bfd_norelocs_bfd_reloc_name_lookup
-
-#define aout_32_get_section_contents_in_window \
-  _bfd_generic_get_section_contents_in_window
-
-#define aout_32_set_reloc _bfd_generic_set_reloc
-
-#define os9k_bfd_get_relocated_section_contents \
-  bfd_generic_get_relocated_section_contents
-#define os9k_bfd_relax_section bfd_generic_relax_section
-#define os9k_bfd_gc_sections bfd_generic_gc_sections
-#define os9k_bfd_lookup_section_flags bfd_generic_lookup_section_flags
-#define os9k_bfd_merge_sections bfd_generic_merge_sections
-#define os9k_bfd_is_group_section bfd_generic_is_group_section
-#define os9k_bfd_discard_group bfd_generic_discard_group
-#define os9k_section_already_linked \
-  _bfd_generic_section_already_linked
-#define os9k_bfd_define_common_symbol bfd_generic_define_common_symbol
-#define os9k_bfd_define_start_stop bfd_generic_define_start_stop
-#define os9k_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
-#define os9k_bfd_link_add_symbols _bfd_generic_link_add_symbols
-#define os9k_bfd_link_just_syms _bfd_generic_link_just_syms
-#define os9k_bfd_copy_link_hash_symbol_type \
-  _bfd_generic_copy_link_hash_symbol_type
-#define os9k_bfd_final_link _bfd_generic_final_link
-#define os9k_bfd_link_split_section  _bfd_generic_link_split_section
-#define os9k_bfd_link_check_relocs   _bfd_generic_link_check_relocs
-
-const bfd_target i386_aout_os9k_vec =
-  {
-    "i386os9k",			/* name */
-    bfd_target_os9k_flavour,
-    BFD_ENDIAN_LITTLE,		/* data byte order is little */
-    BFD_ENDIAN_LITTLE,		/* hdr byte order is little */
-    (HAS_RELOC | EXEC_P | WP_TEXT),	/* object flags */
-    (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD),	/* section flags */
-    0,				/* symbol leading char */
-    ' ',				/* ar_pad_char */
-    16,				/* ar_max_namelen */
-    0,				/* match priority.  */
-
-    bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-    bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-    bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* data */
-    bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-    bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-    bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* hdrs */
-    {_bfd_dummy_target, os9k_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, bfd_false,	/* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-    {bfd_false, bfd_false,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
-
-    BFD_JUMP_TABLE_GENERIC (aout_32),
-    BFD_JUMP_TABLE_COPY (_bfd_generic),
-    BFD_JUMP_TABLE_CORE (_bfd_nocore),
-    BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd),
-    BFD_JUMP_TABLE_SYMBOLS (aout_32),
-    BFD_JUMP_TABLE_RELOCS (aout_32),
-    BFD_JUMP_TABLE_WRITE (aout_32),
-    BFD_JUMP_TABLE_LINK (os9k),
-    BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-    NULL,
-
-    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.1.0.20180703/bfd/ieee.c ./bfd/ieee.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/ieee.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/ieee.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,3991 +0,0 @@
-/* BFD back-end for ieee-695 objects.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   Written by Steve Chamberlain of Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-#define KEEPMINUSPCININST 0
-
-/* IEEE 695 format is a stream of records, which we parse using a simple one-
-   token (which is one byte in this lexicon) lookahead recursive decent
-   parser.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "ieee.h"
-#include "libieee.h"
-#include "safe-ctype.h"
-#include "libiberty.h"
-
-struct output_buffer_struct
-{
-  unsigned char *ptrp;
-  int buffer;
-};
-
-static unsigned char *output_ptr_start;
-static unsigned char *output_ptr;
-static unsigned char *output_ptr_end;
-static unsigned char *input_ptr_start;
-static unsigned char *input_ptr;
-static unsigned char *input_ptr_end;
-static bfd *input_bfd;
-static bfd *output_bfd;
-static int output_buffer;
-
-
-static void block (void);
-
-/* Functions for writing to ieee files in the strange way that the
-   standard requires.  */
-
-static bfd_boolean
-ieee_write_byte (bfd *abfd, int barg)
-{
-  bfd_byte byte;
-
-  byte = barg;
-  if (bfd_bwrite ((void *) &byte, (bfd_size_type) 1, abfd) != 1)
-    return FALSE;
-  return TRUE;
-}
-
-static bfd_boolean
-ieee_write_2bytes (bfd *abfd, int bytes)
-{
-  bfd_byte buffer[2];
-
-  buffer[0] = bytes >> 8;
-  buffer[1] = bytes & 0xff;
-  if (bfd_bwrite ((void *) buffer, (bfd_size_type) 2, abfd) != 2)
-    return FALSE;
-  return TRUE;
-}
-
-static bfd_boolean
-ieee_write_int (bfd *abfd, bfd_vma value)
-{
-  if (value <= 127)
-    {
-      if (! ieee_write_byte (abfd, (bfd_byte) value))
-	return FALSE;
-    }
-  else
-    {
-      unsigned int length;
-
-      /* How many significant bytes ?  */
-      /* FIXME FOR LONGER INTS.  */
-      if (value & 0xff000000)
-	length = 4;
-      else if (value & 0x00ff0000)
-	length = 3;
-      else if (value & 0x0000ff00)
-	length = 2;
-      else
-	length = 1;
-
-      if (! ieee_write_byte (abfd,
-			     (bfd_byte) ((int) ieee_number_repeat_start_enum
-					 + length)))
-	return FALSE;
-      switch (length)
-	{
-	case 4:
-	  if (! ieee_write_byte (abfd, (bfd_byte) (value >> 24)))
-	    return FALSE;
-	  /* Fall through.  */
-	case 3:
-	  if (! ieee_write_byte (abfd, (bfd_byte) (value >> 16)))
-	    return FALSE;
-	  /* Fall through.  */
-	case 2:
-	  if (! ieee_write_byte (abfd, (bfd_byte) (value >> 8)))
-	    return FALSE;
-	  /* Fall through.  */
-	case 1:
-	  if (! ieee_write_byte (abfd, (bfd_byte) (value)))
-	    return FALSE;
-	}
-    }
-
-  return TRUE;
-}
-
-static bfd_boolean
-ieee_write_id (bfd *abfd, const char *id)
-{
-  size_t length = strlen (id);
-
-  if (length <= 127)
-    {
-      if (! ieee_write_byte (abfd, (bfd_byte) length))
-	return FALSE;
-    }
-  else if (length < 255)
-    {
-      if (! ieee_write_byte (abfd, ieee_extension_length_1_enum)
-	  || ! ieee_write_byte (abfd, (bfd_byte) length))
-	return FALSE;
-    }
-  else if (length < 65535)
-    {
-      if (! ieee_write_byte (abfd, ieee_extension_length_2_enum)
-	  || ! ieee_write_2bytes (abfd, (int) length))
-	return FALSE;
-    }
-  else
-    {
-      _bfd_error_handler
-	/* xgettext:c-format */
-	(_("%B: string too long (%ld chars, max 65535)"), abfd, (long) length);
-      bfd_set_error (bfd_error_invalid_operation);
-      return FALSE;
-    }
-
-  if (bfd_bwrite ((void *) id, (bfd_size_type) length, abfd) != length)
-    return FALSE;
-  return TRUE;
-}
-
-/* Functions for reading from ieee files in the strange way that the
-   standard requires.  */
-
-#define this_byte(ieee)		  *((ieee)->input_p)
-#define this_byte_and_next(ieee) ((ieee)->input_p < (ieee)->end_p ? *((ieee)->input_p++) : 0)
-
-static bfd_boolean
-next_byte (common_header_type * ieee)
-{
-  ieee->input_p++;
-
-  return ieee->input_p < ieee->last_byte;
-}
-
-static unsigned short
-read_2bytes (common_header_type *ieee)
-{
-  unsigned char c1 = this_byte_and_next (ieee);
-  unsigned char c2 = this_byte_and_next (ieee);
-
-  return (c1 << 8) | c2;
-}
-
-static void
-bfd_get_string (common_header_type *ieee, char *string, size_t length)
-{
-  size_t i;
-
-  for (i = 0; i < length; i++)
-    string[i] = this_byte_and_next (ieee);
-}
-
-static char *
-read_id (common_header_type *ieee)
-{
-  size_t length;
-  char *string;
-
-  length = this_byte_and_next (ieee);
-  if (length <= 0x7f)
-    /* Simple string of length 0 to 127.  */
-    ;
-
-  else if (length == 0xde)
-    /* Length is next byte, allowing 0..255.  */
-    length = this_byte_and_next (ieee);
-
-  else if (length == 0xdf)
-    {
-      /* Length is next two bytes, allowing 0..65535.  */
-      length = this_byte_and_next (ieee);
-      length = (length * 256) + this_byte_and_next (ieee);
-    }
-
-  /* PR 21612: Check for an invalid length.  */
-  if (ieee->input_p + length >= ieee->end_p)
-    {
-      _bfd_error_handler (_("IEEE parser: string length: %#lx longer than buffer: %#lx"),
-			  (long) length, (long) (ieee->end_p - ieee->input_p));
-      bfd_set_error (bfd_error_invalid_operation);
-      return NULL;
-    }
-
-  /* Buy memory and read string.  */
-  string = bfd_alloc (ieee->abfd, (bfd_size_type) length + 1);
-  if (!string)
-    return NULL;
-  bfd_get_string (ieee, string, length);
-  string[length] = 0;
-  return string;
-}
-
-static bfd_boolean
-ieee_write_expression (bfd *abfd,
-		       bfd_vma value,
-		       asymbol *symbol,
-		       bfd_boolean pcrel,
-		       unsigned int sindex)
-{
-  unsigned int term_count = 0;
-
-  if (value != 0)
-    {
-      if (! ieee_write_int (abfd, value))
-	return FALSE;
-      term_count++;
-    }
-
-  /* Badly formatted binaries can have a missing symbol,
-     so test here to prevent a seg fault.  */
-  if (symbol != NULL)
-    {
-      if (bfd_is_com_section (symbol->section)
-	  || bfd_is_und_section (symbol->section))
-	{
-	  /* Def of a common symbol.  */
-	  if (! ieee_write_byte (abfd, ieee_variable_X_enum)
-	      || ! ieee_write_int (abfd, symbol->value))
-	    return FALSE;
-	  term_count ++;
-	}
-      else if (! bfd_is_abs_section (symbol->section))
-	{
-	  /* Ref to defined symbol -  */
-	  if (symbol->flags & BSF_GLOBAL)
-	    {
-	      if (! ieee_write_byte (abfd, ieee_variable_I_enum)
-		  || ! ieee_write_int (abfd, symbol->value))
-		return FALSE;
-	      term_count++;
-	    }
-	  else if (symbol->flags & (BSF_LOCAL | BSF_SECTION_SYM))
-	    {
-	      /* This is a reference to a defined local symbol.  We can
-		 easily do a local as a section+offset.  */
-	      if (! ieee_write_byte (abfd, ieee_variable_R_enum)
-		  || ! ieee_write_byte (abfd,
-					(bfd_byte) (symbol->section->index
-						    + IEEE_SECTION_NUMBER_BASE)))
-		return FALSE;
-
-	      term_count++;
-	      if (symbol->value != 0)
-		{
-		  if (! ieee_write_int (abfd, symbol->value))
-		    return FALSE;
-		  term_count++;
-		}
-	    }
-	  else
-	    {
-	      _bfd_error_handler
-		/* xgettext:c-format */
-		(_("%B: unrecognized symbol `%s' flags 0x%x"),
-		 abfd, bfd_asymbol_name (symbol), symbol->flags);
-	      bfd_set_error (bfd_error_invalid_operation);
-	      return FALSE;
-	    }
-	}
-    }
-
-  if (pcrel)
-    {
-      /* Subtract the pc from here by asking for PC of this section.  */
-      if (! ieee_write_byte (abfd, ieee_variable_P_enum)
-	  || ! ieee_write_byte (abfd,
-				(bfd_byte) (sindex + IEEE_SECTION_NUMBER_BASE))
-	  || ! ieee_write_byte (abfd, ieee_function_minus_enum))
-	return FALSE;
-    }
-
-  /* Handle the degenerate case of a 0 address.  */
-  if (term_count == 0)
-    if (! ieee_write_int (abfd, (bfd_vma) 0))
-      return FALSE;
-
-  while (term_count > 1)
-    {
-      if (! ieee_write_byte (abfd, ieee_function_plus_enum))
-	return FALSE;
-      term_count--;
-    }
-
-  return TRUE;
-}
-
-/* Writes any integer into the buffer supplied and always takes 5 bytes.  */
-
-static void
-ieee_write_int5 (bfd_byte *buffer, bfd_vma value)
-{
-  buffer[0] = (bfd_byte) ieee_number_repeat_4_enum;
-  buffer[1] = (value >> 24) & 0xff;
-  buffer[2] = (value >> 16) & 0xff;
-  buffer[3] = (value >> 8) & 0xff;
-  buffer[4] = (value >> 0) & 0xff;
-}
-
-static bfd_boolean
-ieee_write_int5_out (bfd *abfd, bfd_vma value)
-{
-  bfd_byte b[5];
-
-  ieee_write_int5 (b, value);
-  if (bfd_bwrite ((void *) b, (bfd_size_type) 5, abfd) != 5)
-    return FALSE;
-  return TRUE;
-}
-
-static bfd_boolean
-parse_int (common_header_type *ieee, bfd_vma *value_ptr)
-{
-  int value = this_byte (ieee);
-  int result;
-
-  if (value >= 0 && value <= 127)
-    {
-      *value_ptr = value;
-      return next_byte (ieee);
-    }
-  else if (value >= 0x80 && value <= 0x88)
-    {
-      unsigned int count = value & 0xf;
-
-      result = 0;
-      if (! next_byte (ieee))
-	return FALSE;
-      while (count)
-	{
-	  result = (result << 8) | this_byte_and_next (ieee);
-	  count--;
-	}
-      *value_ptr = result;
-      return TRUE;
-    }
-  return FALSE;
-}
-
-static int
-parse_i (common_header_type *ieee, bfd_boolean *ok)
-{
-  bfd_vma x = 0;
-  *ok = parse_int (ieee, &x);
-  return x;
-}
-
-static bfd_vma
-must_parse_int (common_header_type *ieee)
-{
-  bfd_vma result = 0;
-  BFD_ASSERT (parse_int (ieee, &result));
-  return result;
-}
-
-typedef struct
-{
-  bfd_vma value;
-  asection *section;
-  ieee_symbol_index_type symbol;
-} ieee_value_type;
-
-
-#if KEEPMINUSPCININST
-
-#define SRC_MASK(arg) arg
-#define PCREL_OFFSET FALSE
-
-#else
-
-#define SRC_MASK(arg) 0
-#define PCREL_OFFSET TRUE
-
-#endif
-
-static reloc_howto_type abs32_howto =
-  HOWTO (1,
-	 0,
-	 2,
-	 32,
-	 FALSE,
-	 0,
-	 complain_overflow_bitfield,
-	 0,
-	 "abs32",
-	 TRUE,
-	 0xffffffff,
-	 0xffffffff,
-	 FALSE);
-
-static reloc_howto_type abs16_howto =
-  HOWTO (1,
-	 0,
-	 1,
-	 16,
-	 FALSE,
-	 0,
-	 complain_overflow_bitfield,
-	 0,
-	 "abs16",
-	 TRUE,
-	 0x0000ffff,
-	 0x0000ffff,
-	 FALSE);
-
-static reloc_howto_type abs8_howto =
-  HOWTO (1,
-	 0,
-	 0,
-	 8,
-	 FALSE,
-	 0,
-	 complain_overflow_bitfield,
-	 0,
-	 "abs8",
-	 TRUE,
-	 0x000000ff,
-	 0x000000ff,
-	 FALSE);
-
-static reloc_howto_type rel32_howto =
-  HOWTO (1,
-	 0,
-	 2,
-	 32,
-	 TRUE,
-	 0,
-	 complain_overflow_signed,
-	 0,
-	 "rel32",
-	 TRUE,
-	 SRC_MASK (0xffffffff),
-	 0xffffffff,
-	 PCREL_OFFSET);
-
-static reloc_howto_type rel16_howto =
-  HOWTO (1,
-	 0,
-	 1,
-	 16,
-	 TRUE,
-	 0,
-	 complain_overflow_signed,
-	 0,
-	 "rel16",
-	 TRUE,
-	 SRC_MASK (0x0000ffff),
-	 0x0000ffff,
-	 PCREL_OFFSET);
-
-static reloc_howto_type rel8_howto =
-  HOWTO (1,
-	 0,
-	 0,
-	 8,
-	 TRUE,
-	 0,
-	 complain_overflow_signed,
-	 0,
-	 "rel8",
-	 TRUE,
-	 SRC_MASK (0x000000ff),
-	 0x000000ff,
-	 PCREL_OFFSET);
-
-static ieee_symbol_index_type NOSYMBOL = {0, 0};
-
-static bfd_boolean
-parse_expression (ieee_data_type *ieee,
-		  bfd_vma *value,
-		  ieee_symbol_index_type *symbol,
-		  bfd_boolean *pcrel,
-		  unsigned int *extra,
-		  asection **section)
-
-{
-  bfd_boolean loop = TRUE;
-  ieee_value_type stack[10];
-  ieee_value_type *sp = stack;
-  asection *dummy;
-
-#define POS sp[1]
-#define TOS sp[0]
-#define NOS sp[-1]
-#define INC sp++;
-#define DEC sp--;
-
-  /* The stack pointer always points to the next unused location.  */
-#define PUSH(x,y,z) TOS.symbol = x; TOS.section = y; TOS.value = z; INC;
-#define POP(x,y,z)  DEC; x = TOS.symbol; y = TOS.section; z = TOS.value;
-
-  while (loop && ieee->h.input_p < ieee->h.last_byte)
-    {
-      switch (this_byte (&(ieee->h)))
-	{
-	case ieee_variable_P_enum:
-	  /* P variable, current program counter for section n.  */
-	  {
-	    int section_n;
-
-	    if (! next_byte (&(ieee->h)))
-	      return FALSE;
-	    *pcrel = TRUE;
-	    section_n = must_parse_int (&(ieee->h));
-	    (void) section_n;
-	    PUSH (NOSYMBOL, bfd_abs_section_ptr, 0);
-	    break;
-	  }
-
-	case ieee_variable_L_enum:
-	  /* L variable  address of section N.  */
-	  if (! next_byte (&(ieee->h)))
-	    return FALSE;
-	  PUSH (NOSYMBOL, ieee->section_table[must_parse_int (&(ieee->h))], 0);
-	  break;
-
-	case ieee_variable_R_enum:
-	  /* R variable, logical address of section module.  */
-	  /* FIXME, this should be different to L.  */
-	  if (! next_byte (&(ieee->h)))
-	    return FALSE;
-	  PUSH (NOSYMBOL, ieee->section_table[must_parse_int (&(ieee->h))], 0);
-	  break;
-
-	case ieee_variable_S_enum:
-	  /* S variable, size in MAUS of section module.  */
-	  if (! next_byte (&(ieee->h)))
-	    return FALSE;
-	  PUSH (NOSYMBOL,
-		0,
-		ieee->section_table[must_parse_int (&(ieee->h))]->size);
-	  break;
-
-	case ieee_variable_I_enum:
-	  /* Push the address of variable n.  */
-	  {
-	    ieee_symbol_index_type sy;
-
-	    if (! next_byte (&(ieee->h)))
-	      return FALSE;
-	    sy.index = (int) must_parse_int (&(ieee->h));
-	    sy.letter = 'I';
-
-	    PUSH (sy, bfd_abs_section_ptr, 0);
-	  }
-	  break;
-
-	case ieee_variable_X_enum:
-	  /* Push the address of external variable n.  */
-	  {
-	    ieee_symbol_index_type sy;
-
-	    if (! next_byte (&(ieee->h)))
-	      return FALSE;
-
-	    sy.index = (int) (must_parse_int (&(ieee->h)));
-	    sy.letter = 'X';
-
-	    PUSH (sy, bfd_und_section_ptr, 0);
-	  }
-	  break;
-
-	case ieee_function_minus_enum:
-	  {
-	    bfd_vma value1, value2;
-	    asection *section1, *section_dummy;
-	    ieee_symbol_index_type sy;
-
-	    if (! next_byte (&(ieee->h)))
-	      return FALSE;
-
-	    POP (sy, section1, value1);
-	    POP (sy, section_dummy, value2);
-	    PUSH (sy, section1 ? section1 : section_dummy, value2 - value1);
-	  }
-	  break;
-
-	case ieee_function_plus_enum:
-	  {
-	    bfd_vma value1, value2;
-	    asection *section1;
-	    asection *section2;
-	    ieee_symbol_index_type sy1;
-	    ieee_symbol_index_type sy2;
-
-	    if (! next_byte (&(ieee->h)))
-	      return FALSE;
-
-	    POP (sy1, section1, value1);
-	    POP (sy2, section2, value2);
-	    PUSH (sy1.letter ? sy1 : sy2,
-		  bfd_is_abs_section (section1) ? section2 : section1,
-		  value1 + value2);
-	  }
-	  break;
-
-	default:
-	  {
-	    bfd_vma va;
-
-	    BFD_ASSERT (this_byte (&(ieee->h)) < (int) ieee_variable_A_enum
-		    || this_byte (&(ieee->h)) > (int) ieee_variable_Z_enum);
-	    if (parse_int (&(ieee->h), &va))
-	      {
-		PUSH (NOSYMBOL, bfd_abs_section_ptr, va);
-	      }
-	    else
-	      /* Thats all that we can understand.  */
-	      loop = FALSE;
-	  }
-	}
-    }
-
-  /* As far as I can see there is a bug in the Microtec IEEE output
-     which I'm using to scan, whereby the comma operator is omitted
-     sometimes in an expression, giving expressions with too many
-     terms.  We can tell if that's the case by ensuring that
-     sp == stack here.  If not, then we've pushed something too far,
-     so we keep adding.  */
-  while (sp != stack + 1)
-    {
-      asection *section1;
-      ieee_symbol_index_type sy1;
-
-      POP (sy1, section1, *extra);
-      (void) section1;
-      (void) sy1;
-    }
-
-  POP (*symbol, dummy, *value);
-  if (section)
-    *section = dummy;
-
-  return TRUE;
-}
-
-#define ieee_pos(ieee) \
-  (ieee->h.input_p - ieee->h.first_byte)
-
-/* Find the first part of the ieee file after HERE.  */
-
-static file_ptr
-ieee_part_after (ieee_data_type *ieee, file_ptr here)
-{
-  int part;
-  file_ptr after = ieee->w.r.me_record;
-
-  /* File parts can come in any order, except that module end is
-     guaranteed to be last (and the header first).  */
-  for (part = 0; part < N_W_VARIABLES; part++)
-    if (ieee->w.offset[part] > here && after > ieee->w.offset[part])
-      after = ieee->w.offset[part];
-
-  return after;
-}
-
-static bfd_boolean
-ieee_seek (ieee_data_type * ieee, file_ptr offset)
-{
-  /* PR 17512: file:  017-1157-0.004.  */
-  if (offset < 0 || (bfd_size_type) offset >= ieee->h.total_amt)
-    {
-      ieee->h.input_p = ieee->h.first_byte + ieee->h.total_amt;
-      ieee->h.end_p = ieee->h.last_byte = ieee->h.input_p;
-      return FALSE;
-    }
-
-  ieee->h.input_p = ieee->h.first_byte + offset;
-  ieee->h.end_p = ieee->h.last_byte = (ieee->h.first_byte + ieee_part_after (ieee, offset));
-  return TRUE;
-}
-
-static unsigned int last_index;
-static char last_type;		/* Is the index for an X or a D.  */
-
-static ieee_symbol_type *
-get_symbol (bfd *abfd ATTRIBUTE_UNUSED,
-	    ieee_data_type *ieee,
-	    ieee_symbol_type *last_symbol,
-	    unsigned int *symbol_count,
-	    ieee_symbol_type ***pptr,
-	    unsigned int *max_index,
-	    int this_type)
-{
-  /* Need a new symbol.  */
-  unsigned int new_index = must_parse_int (&(ieee->h));
-
-  if (new_index != last_index || this_type != last_type)
-    {
-      ieee_symbol_type *new_symbol;
-      bfd_size_type amt = sizeof (ieee_symbol_type);
-
-      new_symbol = bfd_alloc (ieee->h.abfd, amt);
-      if (!new_symbol)
-	return NULL;
-
-      new_symbol->index = new_index;
-      last_index = new_index;
-      (*symbol_count)++;
-      **pptr = new_symbol;
-      *pptr = &new_symbol->next;
-      if (new_index > *max_index)
-	*max_index = new_index;
-
-      last_type = this_type;
-      new_symbol->symbol.section = bfd_abs_section_ptr;
-      return new_symbol;
-    }
-  return last_symbol;
-}
-
-static bfd_boolean
-ieee_slurp_external_symbols (bfd *abfd)
-{
-  ieee_data_type *ieee = IEEE_DATA (abfd);
-  file_ptr offset = ieee->w.r.external_part;
-
-  ieee_symbol_type **prev_symbols_ptr = &ieee->external_symbols;
-  ieee_symbol_type **prev_reference_ptr = &ieee->external_reference;
-  ieee_symbol_type *symbol = NULL;
-  unsigned int symbol_count = 0;
-  bfd_boolean loop = TRUE;
-
-  last_index = 0xffffff;
-  ieee->symbol_table_full = TRUE;
-
-  if (! ieee_seek (ieee, offset))
-    return FALSE;
-
-  while (loop)
-    {
-      switch (this_byte (&(ieee->h)))
-	{
-	case ieee_nn_record:
-	  if (! next_byte (&(ieee->h)))
-	    return FALSE;
-
-	  symbol = get_symbol (abfd, ieee, symbol, &symbol_count,
-			       & prev_symbols_ptr,
-			       & ieee->external_symbol_max_index, 'I');
-	  if (symbol == NULL)
-	    return FALSE;
-
-	  symbol->symbol.the_bfd = abfd;
-	  symbol->symbol.name = read_id (&(ieee->h));
-	  symbol->symbol.udata.p = NULL;
-	  symbol->symbol.flags = BSF_NO_FLAGS;
-	  break;
-
-	case ieee_external_symbol_enum:
-	  if (! next_byte (&(ieee->h)))
-	    return FALSE;
-
-	  symbol = get_symbol (abfd, ieee, symbol, &symbol_count,
-			       &prev_symbols_ptr,
-			       &ieee->external_symbol_max_index, 'D');
-	  if (symbol == NULL)
-	    return FALSE;
-
-	  BFD_ASSERT (symbol->index >= ieee->external_symbol_min_index);
-
-	  symbol->symbol.the_bfd = abfd;
-	  symbol->symbol.name = read_id (&(ieee->h));
-	  symbol->symbol.udata.p = NULL;
-	  symbol->symbol.flags = BSF_NO_FLAGS;
-	  break;
-	case ieee_attribute_record_enum >> 8:
-	  {
-	    unsigned int symbol_name_index;
-	    unsigned int symbol_type_index;
-	    unsigned int symbol_attribute_def;
-	    bfd_vma value = 0;
-
-	    switch (read_2bytes (&ieee->h))
-	      {
-	      case ieee_attribute_record_enum:
-		symbol_name_index = must_parse_int (&(ieee->h));
-		symbol_type_index = must_parse_int (&(ieee->h));
-		(void) symbol_type_index;
-		symbol_attribute_def = must_parse_int (&(ieee->h));
-		switch (symbol_attribute_def)
-		  {
-		  case 8:
-		  case 19:
-		    parse_int (&ieee->h, &value);
-		    break;
-		  default:
-		    _bfd_error_handler
-		      /* xgettext:c-format */
-		      (_("%B: unimplemented ATI record %u for symbol %u"),
-		       abfd, symbol_attribute_def, symbol_name_index);
-		    bfd_set_error (bfd_error_bad_value);
-		    return FALSE;
-		    break;
-		  }
-		break;
-	      case ieee_external_reference_info_record_enum:
-		/* Skip over ATX record.  */
-		parse_int (&(ieee->h), &value);
-		parse_int (&(ieee->h), &value);
-		parse_int (&(ieee->h), &value);
-		parse_int (&(ieee->h), &value);
-		break;
-	      case ieee_atn_record_enum:
-		/* We may get call optimization information here,
-		   which we just ignore.  The format is
-		   {$F1}${CE}{index}{$00}{$3F}{$3F}{#_of_ASNs}.  */
-		parse_int (&ieee->h, &value);
-		parse_int (&ieee->h, &value);
-		parse_int (&ieee->h, &value);
-		if (value != 0x3f)
-		  {
-		    _bfd_error_handler
-		      /* xgettext:c-format */
-		      (_("%B: unexpected ATN type %Ld in external part"),
-			 abfd, value);
-		    bfd_set_error (bfd_error_bad_value);
-		    return FALSE;
-		  }
-		parse_int (&ieee->h, &value);
-		parse_int (&ieee->h, &value);
-		while (value > 0)
-		  {
-		    bfd_vma val1;
-
-		    --value;
-
-		    switch (read_2bytes (&ieee->h))
-		      {
-		      case ieee_asn_record_enum:
-			parse_int (&ieee->h, &val1);
-			parse_int (&ieee->h, &val1);
-			break;
-
-		      default:
-			_bfd_error_handler
-			  (_("%B: unexpected type after ATN"), abfd);
-			bfd_set_error (bfd_error_bad_value);
-			return FALSE;
-		      }
-		  }
-	      }
-	  }
-	  break;
-
-	case ieee_value_record_enum >> 8:
-	  {
-	    unsigned int symbol_name_index;
-	    ieee_symbol_index_type symbol_ignore;
-	    bfd_boolean pcrel_ignore;
-	    unsigned int extra;
-
-	    if (! next_byte (&(ieee->h)))
-	      return FALSE;
-	    if (! next_byte (&(ieee->h)))
-	      return FALSE;
-
-	    symbol_name_index = must_parse_int (&(ieee->h));
-	    (void) symbol_name_index;
-	    if (! parse_expression (ieee,
-				    &symbol->symbol.value,
-				    &symbol_ignore,
-				    &pcrel_ignore,
-				    &extra,
-				    &symbol->symbol.section))
-	      return FALSE;
-
-	    /* Fully linked IEEE-695 files tend to give every symbol
-	       an absolute value.  Try to convert that back into a
-	       section relative value.  FIXME: This won't always to
-	       the right thing.  */
-	    if (bfd_is_abs_section (symbol->symbol.section)
-		&& (abfd->flags & HAS_RELOC) == 0)
-	      {
-		bfd_vma val;
-		asection *s;
-
-		val = symbol->symbol.value;
-		for (s = abfd->sections; s != NULL; s = s->next)
-		  {
-		    if (val >= s->vma && val < s->vma + s->size)
-		      {
-			symbol->symbol.section = s;
-			symbol->symbol.value -= s->vma;
-			break;
-		      }
-		  }
-	      }
-
-	    symbol->symbol.flags = BSF_GLOBAL | BSF_EXPORT;
-
-	  }
-	  break;
-	case ieee_weak_external_reference_enum:
-	  {
-	    bfd_vma size;
-	    bfd_vma value;
-
-	    if (! next_byte (&(ieee->h)))
-	      return FALSE;
-
-	    /* Throw away the external reference index.  */
-	    (void) must_parse_int (&(ieee->h));
-	    /* Fetch the default size if not resolved.  */
-	    size = must_parse_int (&(ieee->h));
-	    /* Fetch the default value if available.  */
-	    if (! parse_int (&(ieee->h), &value))
-	      value = 0;
-	    /* This turns into a common.  */
-	    symbol->symbol.section = bfd_com_section_ptr;
-	    symbol->symbol.value = size;
-	  }
-	  break;
-
-	case ieee_external_reference_enum:
-	  if (! next_byte (&(ieee->h)))
-	    return FALSE;
-
-	  symbol = get_symbol (abfd, ieee, symbol, &symbol_count,
-			       &prev_reference_ptr,
-			       &ieee->external_reference_max_index, 'X');
-	  if (symbol == NULL)
-	    return FALSE;
-
-	  symbol->symbol.the_bfd = abfd;
-	  symbol->symbol.name = read_id (&(ieee->h));
-	  symbol->symbol.udata.p = NULL;
-	  symbol->symbol.section = bfd_und_section_ptr;
-	  symbol->symbol.value = (bfd_vma) 0;
-	  symbol->symbol.flags = 0;
-
-	  BFD_ASSERT (symbol->index >= ieee->external_reference_min_index);
-	  break;
-
-	default:
-	  loop = FALSE;
-	}
-    }
-
-  if (ieee->external_symbol_max_index != 0)
-    {
-      ieee->external_symbol_count =
-	ieee->external_symbol_max_index -
-	ieee->external_symbol_min_index + 1;
-    }
-  else
-    ieee->external_symbol_count = 0;
-
-  if (ieee->external_reference_max_index != 0)
-    {
-      ieee->external_reference_count =
-	ieee->external_reference_max_index -
-	ieee->external_reference_min_index + 1;
-    }
-  else
-    ieee->external_reference_count = 0;
-
-  abfd->symcount =
-    ieee->external_reference_count + ieee->external_symbol_count;
-
-  if (symbol_count != abfd->symcount)
-    /* There are gaps in the table -- */
-    ieee->symbol_table_full = FALSE;
-
-  *prev_symbols_ptr   = NULL;
-  *prev_reference_ptr = NULL;
-
-  return TRUE;
-}
-
-static bfd_boolean
-ieee_slurp_symbol_table (bfd *abfd)
-{
-  if (! IEEE_DATA (abfd)->read_symbols)
-    {
-      if (! ieee_slurp_external_symbols (abfd))
-	return FALSE;
-      IEEE_DATA (abfd)->read_symbols = TRUE;
-    }
-  return TRUE;
-}
-
-static long
-ieee_get_symtab_upper_bound (bfd *abfd)
-{
-  if (! ieee_slurp_symbol_table (abfd))
-    return -1;
-
-  return (abfd->symcount != 0) ?
-    (abfd->symcount + 1) * (sizeof (ieee_symbol_type *)) : 0;
-}
-
-/* Move from our internal lists to the canon table, and insert in
-   symbol index order.  */
-
-extern const bfd_target ieee_vec;
-
-static long
-ieee_canonicalize_symtab (bfd *abfd, asymbol **location)
-{
-  ieee_symbol_type *symp;
-  static bfd dummy_bfd;
-  static asymbol empty_symbol =
-  {
-    &dummy_bfd,
-    " ieee empty",
-    (symvalue) 0,
-    BSF_DEBUGGING,
-    bfd_abs_section_ptr
-#ifdef __STDC__
-    /* K&R compilers can't initialise unions.  */
-    , { 0 }
-#endif
-  };
-
-  if (abfd->symcount)
-    {
-      ieee_data_type *ieee = IEEE_DATA (abfd);
-
-      dummy_bfd.xvec = &ieee_vec;
-      if (! ieee_slurp_symbol_table (abfd))
-	return -1;
-
-      if (! ieee->symbol_table_full)
-	{
-	  /* Arrgh - there are gaps in the table, run through and fill them
-	     up with pointers to a null place.  */
-	  unsigned int i;
-
-	  for (i = 0; i < abfd->symcount; i++)
-	    location[i] = &empty_symbol;
-	}
-
-      ieee->external_symbol_base_offset = -ieee->external_symbol_min_index;
-      for (symp = IEEE_DATA (abfd)->external_symbols;
-	   symp != (ieee_symbol_type *) NULL;
-	   symp = symp->next)
-	/* Place into table at correct index locations.  */
-	location[symp->index + ieee->external_symbol_base_offset] = &symp->symbol;
-
-      /* The external refs are indexed in a bit.  */
-      ieee->external_reference_base_offset =
-	-ieee->external_reference_min_index + ieee->external_symbol_count;
-
-      for (symp = IEEE_DATA (abfd)->external_reference;
-	   symp != (ieee_symbol_type *) NULL;
-	   symp = symp->next)
-	location[symp->index + ieee->external_reference_base_offset] =
-	  &symp->symbol;
-    }
-
-  if (abfd->symcount)
-    location[abfd->symcount] = (asymbol *) NULL;
-
-  return abfd->symcount;
-}
-
-static asection *
-get_section_entry (bfd *abfd, ieee_data_type *ieee, unsigned int sindex)
-{
-  if (sindex >= ieee->section_table_size)
-    {
-      unsigned int c, i;
-      asection **n;
-      bfd_size_type amt;
-
-      c = ieee->section_table_size;
-      if (c == 0)
-	c = 20;
-      while (c <= sindex)
-	c *= 2;
-
-      amt = c;
-      amt *= sizeof (asection *);
-      n = bfd_realloc (ieee->section_table, amt);
-      if (n == NULL)
-	return NULL;
-
-      for (i = ieee->section_table_size; i < c; i++)
-	n[i] = NULL;
-
-      ieee->section_table = n;
-      ieee->section_table_size = c;
-    }
-
-  if (ieee->section_table[sindex] == (asection *) NULL)
-    {
-      char *tmp = bfd_alloc (abfd, (bfd_size_type) 11);
-      asection *section;
-
-      if (!tmp)
-	return NULL;
-      sprintf (tmp, " fsec%4d", sindex);
-      section = bfd_make_section (abfd, tmp);
-      ieee->section_table[sindex] = section;
-      section->target_index = sindex;
-      ieee->section_table[sindex] = section;
-    }
-  return ieee->section_table[sindex];
-}
-
-static bfd_boolean
-ieee_slurp_sections (bfd *abfd)
-{
-  ieee_data_type *ieee = IEEE_DATA (abfd);
-  file_ptr offset = ieee->w.r.section_part;
-  char *name;
-
-  if (offset != 0)
-    {
-      bfd_byte section_type[3];
-
-      if (! ieee_seek (ieee, offset))
-	return FALSE;
-
-      while (TRUE)
-	{
-	  switch (this_byte (&(ieee->h)))
-	    {
-	    case ieee_section_type_enum:
-	      {
-		asection *section;
-		unsigned int section_index;
-
-		if (! next_byte (&(ieee->h)))
-		  return FALSE;
-		section_index = must_parse_int (&(ieee->h));
-
-		section = get_section_entry (abfd, ieee, section_index);
-
-		section_type[0] = this_byte_and_next (&(ieee->h));
-
-		/* Set minimal section attributes. Attributes are
-		   extended later, based on section contents.  */
-		switch (section_type[0])
-		  {
-		  case 0xC1:
-		    /* Normal attributes for absolute sections.  */
-		    section_type[1] = this_byte (&(ieee->h));
-		    section->flags = SEC_ALLOC;
-		    switch (section_type[1])
-		      {
-			/* AS Absolute section attributes.  */
-		      case 0xD3:
-			if (! next_byte (&(ieee->h)))
-			  return FALSE;
-			section_type[2] = this_byte (&(ieee->h));
-			switch (section_type[2])
-			  {
-			  case 0xD0:
-			    /* Normal code.  */
-			    if (! next_byte (&(ieee->h)))
-			      return FALSE;
-			    section->flags |= SEC_CODE;
-			    break;
-			  case 0xC4:
-			    /* Normal data.  */
-			    if (! next_byte (&(ieee->h)))
-			      return FALSE;
-			    section->flags |= SEC_DATA;
-			    break;
-			  case 0xD2:
-			    if (! next_byte (&(ieee->h)))
-			      return FALSE;
-			    /* Normal rom data.  */
-			    section->flags |= SEC_ROM | SEC_DATA;
-			    break;
-			  default:
-			    break;
-			  }
-		      }
-		    break;
-
-		    /* Named relocatable sections (type C).  */
-		  case 0xC3:
-		    section_type[1] = this_byte (&(ieee->h));
-		    section->flags = SEC_ALLOC;
-		    switch (section_type[1])
-		      {
-		      case 0xD0:	/* Normal code (CP).  */
-			if (! next_byte (&(ieee->h)))
-			  return FALSE;
-			section->flags |= SEC_CODE;
-			break;
-		      case 0xC4:	/* Normal data (CD).  */
-			if (! next_byte (&(ieee->h)))
-			  return FALSE;
-			section->flags |= SEC_DATA;
-			break;
-		      case 0xD2:	/* Normal rom data (CR).  */
-			if (! next_byte (&(ieee->h)))
-			  return FALSE;
-			section->flags |= SEC_ROM | SEC_DATA;
-			break;
-		      default:
-			break;
-		      }
-		  }
-
-		/* Read section name, use it if non empty.  */
-		name = read_id (&ieee->h);
-		if (name == NULL)
-		  return FALSE;
-		if (name[0])
-		  section->name = name;
-
-		/* Skip these fields, which we don't care about.  */
-		{
-		  bfd_vma parent, brother, context;
-
-		  parse_int (&(ieee->h), &parent);
-		  parse_int (&(ieee->h), &brother);
-		  parse_int (&(ieee->h), &context);
-		}
-	      }
-	      break;
-	    case ieee_section_alignment_enum:
-	      {
-		unsigned int section_index;
-		bfd_vma value;
-		asection *section;
-
-		if (! next_byte (&(ieee->h)))
-		  return FALSE;
-		section_index = must_parse_int (&ieee->h);
-		section = get_section_entry (abfd, ieee, section_index);
-		if (section_index > ieee->section_count)
-		  ieee->section_count = section_index;
-
-		section->alignment_power =
-		  bfd_log2 (must_parse_int (&ieee->h));
-		(void) parse_int (&(ieee->h), &value);
-	      }
-	      break;
-	    case ieee_e2_first_byte_enum:
-	      {
-		asection *section;
-		ieee_record_enum_type t;
-
-		t = (ieee_record_enum_type) (read_2bytes (&(ieee->h)));
-		switch (t)
-		  {
-		  case ieee_section_size_enum:
-		    section = ieee->section_table[must_parse_int (&(ieee->h))];
-		    section->size = must_parse_int (&(ieee->h));
-		    break;
-		  case ieee_physical_region_size_enum:
-		    section = ieee->section_table[must_parse_int (&(ieee->h))];
-		    section->size = must_parse_int (&(ieee->h));
-		    break;
-		  case ieee_region_base_address_enum:
-		    section = ieee->section_table[must_parse_int (&(ieee->h))];
-		    section->vma = must_parse_int (&(ieee->h));
-		    section->lma = section->vma;
-		    break;
-		  case ieee_mau_size_enum:
-		    must_parse_int (&(ieee->h));
-		    must_parse_int (&(ieee->h));
-		    break;
-		  case ieee_m_value_enum:
-		    must_parse_int (&(ieee->h));
-		    must_parse_int (&(ieee->h));
-		    break;
-		  case ieee_section_base_address_enum:
-		    section = ieee->section_table[must_parse_int (&(ieee->h))];
-		    section->vma = must_parse_int (&(ieee->h));
-		    section->lma = section->vma;
-		    break;
-		  case ieee_section_offset_enum:
-		    (void) must_parse_int (&(ieee->h));
-		    (void) must_parse_int (&(ieee->h));
-		    break;
-		  default:
-		    return TRUE;
-		  }
-	      }
-	      break;
-	    default:
-	      return TRUE;
-	    }
-	}
-    }
-
-  return TRUE;
-}
-
-/* Make a section for the debugging information, if any.  We don't try
-   to interpret the debugging information; we just point the section
-   at the area in the file so that program which understand can dig it
-   out.  */
-
-static bfd_boolean
-ieee_slurp_debug (bfd *abfd)
-{
-  ieee_data_type *ieee = IEEE_DATA (abfd);
-  asection *sec;
-  file_ptr debug_end;
-  flagword flags;
-
-  if (ieee->w.r.debug_information_part == 0)
-    return TRUE;
-
-  flags = SEC_DEBUGGING | SEC_HAS_CONTENTS;
-  sec = bfd_make_section_with_flags (abfd, ".debug", flags);
-  if (sec == NULL)
-    return FALSE;
-  sec->filepos = ieee->w.r.debug_information_part;
-
-  debug_end = ieee_part_after (ieee, ieee->w.r.debug_information_part);
-  sec->size = debug_end - ieee->w.r.debug_information_part;
-
-  return TRUE;
-}
-
-/* Archive stuff.  */
-
-static const bfd_target *
-ieee_archive_p (bfd *abfd)
-{
-  char *library;
-  unsigned int i;
-  static unsigned char buffer[512];
-  file_ptr buffer_offset = 0;
-  ieee_ar_data_type *save = abfd->tdata.ieee_ar_data;
-  ieee_ar_data_type *ieee;
-  bfd_size_type alc_elts;
-  ieee_ar_obstack_type *elts = NULL;
-  bfd_size_type amt = sizeof (ieee_ar_data_type);
-
-  abfd->tdata.ieee_ar_data = bfd_alloc (abfd, amt);
-  if (!abfd->tdata.ieee_ar_data)
-    goto error_ret_restore;
-  ieee = IEEE_AR_DATA (abfd);
-
-  /* Ignore the return value here.  It doesn't matter if we don't read
-     the entire buffer.  We might have a very small ieee file.  */
-  if (bfd_bread ((void *) buffer, (bfd_size_type) sizeof (buffer), abfd) <= 0)
-    goto got_wrong_format_error;
-
-  ieee->h.first_byte = buffer;
-  ieee->h.input_p = buffer;
-  ieee->h.total_amt = sizeof (buffer);
-  ieee->h.end_p = buffer + sizeof (buffer);
-
-  ieee->h.abfd = abfd;
-
-  if (this_byte (&(ieee->h)) != Module_Beginning)
-    goto got_wrong_format_error;
-
-  (void) next_byte (&(ieee->h));
-
-  library = read_id (&(ieee->h));
-  if (library == NULL)
-    goto got_wrong_format_error;
-  if (strcmp (library, "LIBRARY") != 0)
-    goto got_wrong_format_error;
-
-  /* Throw away the filename.  */
-  read_id (&(ieee->h));
-
-  ieee->element_count = 0;
-  ieee->element_index = 0;
-
-  (void) next_byte (&(ieee->h));	/* Drop the ad part.  */
-  must_parse_int (&(ieee->h));	/* And the two dummy numbers.  */
-  must_parse_int (&(ieee->h));
-
-  alc_elts = 10;
-  elts = bfd_malloc (alc_elts * sizeof *elts);
-  if (elts == NULL)
-    goto error_return;
-
-  /* Read the index of the BB table.  */
-  while (1)
-    {
-      int rec;
-      ieee_ar_obstack_type *t;
-
-      rec = read_2bytes (&(ieee->h));
-      if (rec != (int) ieee_assign_value_to_variable_enum)
-	break;
-
-      if (ieee->element_count >= alc_elts)
-	{
-	  ieee_ar_obstack_type *n;
-
-	  alc_elts *= 2;
-	  n = bfd_realloc (elts, alc_elts * sizeof (* elts));
-	  if (n == NULL)
-	    goto error_return;
-	  elts = n;
-	}
-
-      t = &elts[ieee->element_count];
-      ieee->element_count++;
-
-      must_parse_int (&(ieee->h));
-      t->file_offset = must_parse_int (&(ieee->h));
-      t->abfd = (bfd *) NULL;
-
-      /* Make sure that we don't go over the end of the buffer.  */
-      if ((size_t) ieee_pos (IEEE_DATA (abfd)) > sizeof (buffer) / 2)
-	{
-	  /* Past half way, reseek and reprime.  */
-	  buffer_offset += ieee_pos (IEEE_DATA (abfd));
-	  if (bfd_seek (abfd, buffer_offset, SEEK_SET) != 0)
-	    goto error_return;
-
-	  /* Again ignore return value of bfd_bread.  */
-	  bfd_bread ((void *) buffer, (bfd_size_type) sizeof (buffer), abfd);
-	  ieee->h.first_byte = buffer;
-	  ieee->h.input_p = buffer;
-	  ieee->h.total_amt = sizeof (buffer);
-	  ieee->h.end_p = buffer + sizeof (buffer);
-	}
-    }
-
-  amt = ieee->element_count;
-  amt *= sizeof *ieee->elements;
-  ieee->elements = bfd_alloc (abfd, amt);
-  if (ieee->elements == NULL)
-    goto error_return;
-
-  memcpy (ieee->elements, elts, (size_t) amt);
-  free (elts);
-  elts = NULL;
-
-  /* Now scan the area again, and replace BB offsets with file offsets.  */
-  for (i = 2; i < ieee->element_count; i++)
-    {
-      if (bfd_seek (abfd, ieee->elements[i].file_offset, SEEK_SET) != 0)
-	goto error_return;
-
-      /* Again ignore return value of bfd_bread.  */
-      bfd_bread ((void *) buffer, (bfd_size_type) sizeof (buffer), abfd);
-      ieee->h.first_byte = buffer;
-      ieee->h.input_p = buffer;
-      ieee->h.total_amt = sizeof (buffer);
-      ieee->h.end_p = buffer + sizeof (buffer);
-
-      (void) next_byte (&(ieee->h));	/* Drop F8.  */
-      if (! next_byte (&(ieee->h)))	/* Drop 14.  */
-	goto error_return;
-      must_parse_int (&(ieee->h));	/* Drop size of block.  */
-
-      if (must_parse_int (&(ieee->h)) != 0)
-	/* This object has been deleted.  */
-	ieee->elements[i].file_offset = 0;
-      else
-	ieee->elements[i].file_offset = must_parse_int (&(ieee->h));
-    }
-
-  /*  abfd->has_armap = ;*/
-
-  return abfd->xvec;
-
- got_wrong_format_error:
-  bfd_set_error (bfd_error_wrong_format);
- error_return:
-  if (elts != NULL)
-    free (elts);
-  bfd_release (abfd, ieee);
- error_ret_restore:
-  abfd->tdata.ieee_ar_data = save;
-
-  return NULL;
-}
-
-static bfd_boolean
-ieee_mkobject (bfd *abfd)
-{
-  bfd_size_type amt;
-
-  output_ptr_start = NULL;
-  output_ptr = NULL;
-  output_ptr_end = NULL;
-  input_ptr_start = NULL;
-  input_ptr = NULL;
-  input_ptr_end = NULL;
-  input_bfd = NULL;
-  output_bfd = NULL;
-  output_buffer = 0;
-  amt = sizeof (ieee_data_type);
-  abfd->tdata.ieee_data = bfd_zalloc (abfd, amt);
-  return abfd->tdata.ieee_data != NULL;
-}
-
-static bfd_boolean
-do_one (ieee_data_type *ieee,
-	ieee_per_section_type *current_map,
-	unsigned char *location_ptr,
-	asection *s,
-	int iterations)
-{
-  switch (this_byte (&(ieee->h)))
-    {
-    case ieee_load_constant_bytes_enum:
-      {
-	unsigned int number_of_maus;
-	unsigned int i;
-
-	if (! next_byte (&(ieee->h)))
-	  return FALSE;
-	number_of_maus = must_parse_int (&(ieee->h));
-
-	for (i = 0; i < number_of_maus; i++)
-	  {
-	    location_ptr[current_map->pc++] = this_byte (&(ieee->h));
-	    next_byte (&(ieee->h));
-	  }
-      }
-      break;
-
-    case ieee_load_with_relocation_enum:
-      {
-	bfd_boolean loop = TRUE;
-
-	if (! next_byte (&(ieee->h)))
-	  return FALSE;
-	while (loop)
-	  {
-	    switch (this_byte (&(ieee->h)))
-	      {
-	      case ieee_variable_R_enum:
-
-	      case ieee_function_signed_open_b_enum:
-	      case ieee_function_unsigned_open_b_enum:
-	      case ieee_function_either_open_b_enum:
-		{
-		  unsigned int extra = 4;
-		  bfd_boolean pcrel = FALSE;
-		  asection *section;
-		  ieee_reloc_type *r;
-
-		  r = bfd_alloc (ieee->h.abfd, sizeof (* r));
-		  if (!r)
-		    return FALSE;
-
-		  *(current_map->reloc_tail_ptr) = r;
-		  current_map->reloc_tail_ptr = &r->next;
-		  r->next = (ieee_reloc_type *) NULL;
-		  if (! next_byte (&(ieee->h)))
-		    return FALSE;
-
-		  r->relent.sym_ptr_ptr = 0;
-		  if (! parse_expression (ieee,
-					  &r->relent.addend,
-					  &r->symbol,
-					  &pcrel, &extra, &section))
-		    return FALSE;
-
-		  r->relent.address = current_map->pc;
-		  s->flags |= SEC_RELOC;
-		  s->owner->flags |= HAS_RELOC;
-		  s->reloc_count++;
-		  if (r->relent.sym_ptr_ptr == NULL && section != NULL)
-		    r->relent.sym_ptr_ptr = section->symbol_ptr_ptr;
-
-		  if (this_byte (&(ieee->h)) == (int) ieee_comma)
-		    {
-		      if (! next_byte (&(ieee->h)))
-			return FALSE;
-		      /* Fetch number of bytes to pad.  */
-		      extra = must_parse_int (&(ieee->h));
-		    };
-
-		  switch (this_byte (&(ieee->h)))
-		    {
-		    case ieee_function_signed_close_b_enum:
-		      if (! next_byte (&(ieee->h)))
-			return FALSE;
-		      break;
-		    case ieee_function_unsigned_close_b_enum:
-		      if (! next_byte (&(ieee->h)))
-			return FALSE;
-		      break;
-		    case ieee_function_either_close_b_enum:
-		      if (! next_byte (&(ieee->h)))
-			return FALSE;
-		      break;
-		    default:
-		      break;
-		    }
-		  /* Build a relocation entry for this type.  */
-		  /* If pc rel then stick -ve pc into instruction
-		     and take out of reloc ..
-
-		     I've changed this. It's all too complicated. I
-		     keep 0 in the instruction now.  */
-
-		  switch (extra)
-		    {
-		    case 0:
-		    case 4:
-
-		      if (pcrel)
-			{
-#if KEEPMINUSPCININST
-			  bfd_put_32 (ieee->h.abfd, -current_map->pc,
-				      location_ptr + current_map->pc);
-			  r->relent.howto = &rel32_howto;
-			  r->relent.addend -= current_map->pc;
-#else
-			  bfd_put_32 (ieee->h.abfd, (bfd_vma) 0, location_ptr +
-				      current_map->pc);
-			  r->relent.howto = &rel32_howto;
-#endif
-			}
-		      else
-			{
-			  bfd_put_32 (ieee->h.abfd, (bfd_vma) 0,
-				      location_ptr + current_map->pc);
-			  r->relent.howto = &abs32_howto;
-			}
-		      current_map->pc += 4;
-		      break;
-		    case 2:
-		      if (pcrel)
-			{
-#if KEEPMINUSPCININST
-			  bfd_put_16 (ieee->h.abfd, (bfd_vma) -current_map->pc,
-				      location_ptr + current_map->pc);
-			  r->relent.addend -= current_map->pc;
-			  r->relent.howto = &rel16_howto;
-#else
-
-			  bfd_put_16 (ieee->h.abfd, (bfd_vma) 0,
-				      location_ptr + current_map->pc);
-			  r->relent.howto = &rel16_howto;
-#endif
-			}
-
-		      else
-			{
-			  bfd_put_16 (ieee->h.abfd, (bfd_vma) 0,
-				      location_ptr + current_map->pc);
-			  r->relent.howto = &abs16_howto;
-			}
-		      current_map->pc += 2;
-		      break;
-		    case 1:
-		      if (pcrel)
-			{
-#if KEEPMINUSPCININST
-			  bfd_put_8 (ieee->h.abfd, (int) (-current_map->pc), location_ptr + current_map->pc);
-			  r->relent.addend -= current_map->pc;
-			  r->relent.howto = &rel8_howto;
-#else
-			  bfd_put_8 (ieee->h.abfd, 0, location_ptr + current_map->pc);
-			  r->relent.howto = &rel8_howto;
-#endif
-			}
-		      else
-			{
-			  bfd_put_8 (ieee->h.abfd, 0, location_ptr + current_map->pc);
-			  r->relent.howto = &abs8_howto;
-			}
-		      current_map->pc += 1;
-		      break;
-
-		    default:
-		      BFD_FAIL ();
-		      return FALSE;
-		    }
-		}
-		break;
-	      default:
-		{
-		  bfd_vma this_size;
-
-		  if (parse_int (&(ieee->h), &this_size))
-		    {
-		      unsigned int i;
-
-		      for (i = 0; i < this_size; i++)
-			{
-			  location_ptr[current_map->pc++] = this_byte (&(ieee->h));
-			  if (! next_byte (&(ieee->h)))
-			    return FALSE;
-			}
-		    }
-		  else
-		    loop = FALSE;
-		}
-	      }
-
-	    /* Prevent more than the first load-item of an LR record
-	       from being repeated (MRI convention).  */
-	    if (iterations != 1)
-	      loop = FALSE;
-	  }
-      }
-    }
-  return TRUE;
-}
-
-/* Read in all the section data and relocation stuff too.  */
-
-static bfd_boolean
-ieee_slurp_section_data (bfd *abfd)
-{
-  bfd_byte *location_ptr = (bfd_byte *) NULL;
-  ieee_data_type *ieee = IEEE_DATA (abfd);
-  unsigned int section_number;
-  ieee_per_section_type *current_map = NULL;
-  asection *s;
-
-  /* Seek to the start of the data area.  */
-  if (ieee->read_data)
-    return TRUE;
-  ieee->read_data = TRUE;
-
-  if (! ieee_seek (ieee, ieee->w.r.data_part))
-    return FALSE;
-
-  /* Allocate enough space for all the section contents.  */
-  for (s = abfd->sections; s != (asection *) NULL; s = s->next)
-    {
-      ieee_per_section_type *per = ieee_per_section (s);
-      arelent **relpp;
-
-      if ((s->flags & SEC_DEBUGGING) != 0)
-	continue;
-      per->data = bfd_alloc (ieee->h.abfd, s->size);
-      if (!per->data)
-	return FALSE;
-      relpp = &s->relocation;
-      per->reloc_tail_ptr = (ieee_reloc_type **) relpp;
-    }
-
-  while (TRUE)
-    {
-      switch (this_byte (&(ieee->h)))
-	{
-	  /* IF we see anything strange then quit.  */
-	default:
-	  return TRUE;
-
-	case ieee_set_current_section_enum:
-	  if (! next_byte (&(ieee->h)))
-	    return FALSE;
-	  section_number = must_parse_int (&(ieee->h));
-	  s = ieee->section_table[section_number];
-	  s->flags |= SEC_LOAD | SEC_HAS_CONTENTS;
-	  current_map = ieee_per_section (s);
-	  location_ptr = current_map->data - s->vma;
-	  /* The document I have says that Microtec's compilers reset
-	     this after a sec section, even though the standard says not
-	     to, SO...  */
-	  current_map->pc = s->vma;
-	  break;
-
-	case ieee_e2_first_byte_enum:
-	  if (! next_byte (&(ieee->h)))
-	    return FALSE;
-	  switch (this_byte (&(ieee->h)))
-	    {
-	    case ieee_set_current_pc_enum & 0xff:
-	      {
-		bfd_vma value;
-		ieee_symbol_index_type symbol;
-		unsigned int extra;
-		bfd_boolean pcrel;
-
-		if (! next_byte (&(ieee->h)))
-		  return FALSE;
-		must_parse_int (&(ieee->h));	/* Throw away section #.  */
-		if (! parse_expression (ieee, &value,
-					&symbol,
-					&pcrel, &extra,
-					0))
-		  return FALSE;
-
-		current_map->pc = value;
-		BFD_ASSERT ((unsigned) (value - s->vma) <= s->size);
-	      }
-	      break;
-
-	    case ieee_value_starting_address_enum & 0xff:
-	      if (! next_byte (&(ieee->h)))
-		return FALSE;
-	      if (this_byte (&(ieee->h)) == ieee_function_either_open_b_enum)
-		{
-		  if (! next_byte (&(ieee->h)))
-		    return FALSE;
-		}
-	      abfd->start_address = must_parse_int (&(ieee->h));
-	      /* We've got to the end of the data now -  */
-	      return TRUE;
-	    default:
-	      BFD_FAIL ();
-	      return FALSE;
-	    }
-	  break;
-	case ieee_repeat_data_enum:
-	  {
-	    /* Repeat the following LD or LR n times - we do this by
-	       remembering the stream pointer before running it and
-	       resetting it and running it n times. We special case
-	       the repetition of a repeat_data/load_constant.  */
-	    unsigned int iterations;
-	    unsigned char *start;
-
-	    if (! next_byte (&(ieee->h)))
-	      return FALSE;
-	    iterations = must_parse_int (&(ieee->h));
-	    start = ieee->h.input_p;
-	    if (start[0] == (int) ieee_load_constant_bytes_enum
-		&& start[1] == 1)
-	      {
-		while (iterations != 0)
-		  {
-		    location_ptr[current_map->pc++] = start[2];
-		    iterations--;
-		  }
-		(void) next_byte (&(ieee->h));
-		(void) next_byte (&(ieee->h));
-		if (! next_byte (&(ieee->h)))
-		  return FALSE;
-	      }
-	    else
-	      {
-		while (iterations != 0)
-		  {
-		    ieee->h.input_p = start;
-		    if (!do_one (ieee, current_map, location_ptr, s,
-				 (int) iterations))
-		      return FALSE;
-		    iterations--;
-		  }
-	      }
-	  }
-	  break;
-	case ieee_load_constant_bytes_enum:
-	case ieee_load_with_relocation_enum:
-	  if (!do_one (ieee, current_map, location_ptr, s, 1))
-	    return FALSE;
-	}
-    }
-}
-
-static const bfd_target *
-ieee_object_p (bfd *abfd)
-{
-  char *processor;
-  unsigned int part;
-  ieee_data_type *ieee;
-  static unsigned char buffer[300];
-  ieee_data_type *save = IEEE_DATA (abfd);
-  bfd_size_type amt;
-
-  abfd->tdata.ieee_data = 0;
-  ieee_mkobject (abfd);
-
-  ieee = IEEE_DATA (abfd);
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
-    goto fail;
-  /* Read the first few bytes in to see if it makes sense.  Ignore
-     bfd_bread return value;  The file might be very small.  */
-  if (bfd_bread ((void *) buffer, (bfd_size_type) sizeof (buffer), abfd) <= 0)
-    goto got_wrong_format;
-
-  ieee->h.input_p = buffer;
-  ieee->h.total_amt = sizeof (buffer);
-  ieee->h.end_p = buffer + sizeof (buffer);
-
-  if (this_byte_and_next (&(ieee->h)) != Module_Beginning)
-    goto got_wrong_format;
-
-  ieee->read_symbols = FALSE;
-  ieee->read_data = FALSE;
-  ieee->section_count = 0;
-  ieee->external_symbol_max_index = 0;
-  ieee->external_symbol_min_index = IEEE_PUBLIC_BASE;
-  ieee->external_reference_min_index = IEEE_REFERENCE_BASE;
-  ieee->external_reference_max_index = 0;
-  ieee->h.abfd = abfd;
-  ieee->section_table = NULL;
-  ieee->section_table_size = 0;
-
-  processor = ieee->mb.processor = read_id (&(ieee->h));
-  if (processor == NULL)
-    goto got_wrong_format;
-  if (strcmp (processor, "LIBRARY") == 0)
-    goto got_wrong_format;
-  ieee->mb.module_name = read_id (&(ieee->h));
-  if (ieee->mb.module_name == NULL)
-    goto got_wrong_format;
-  if (abfd->filename == (const char *) NULL)
-    abfd->filename = xstrdup (ieee->mb.module_name);
-
-  /* Determine the architecture and machine type of the object file.  */
-  {
-    const bfd_arch_info_type *arch;
-    char family[10];
-
-    /* IEEE does not specify the format of the processor identification
-       string, so the compiler is free to put in it whatever it wants.
-       We try here to recognize different processors belonging to the
-       m68k family.  Code for other processors can be added here.  */
-    if ((processor[0] == '6') && (processor[1] == '8'))
-      {
-	if (processor[2] == '3')	    /* 683xx integrated processors.  */
-	  {
-	    switch (processor[3])
-	      {
-	      case '0':			    /* 68302, 68306, 68307 */
-	      case '2':			    /* 68322, 68328 */
-	      case '5':			    /* 68356 */
-		strcpy (family, "68000");   /* MC68000-based controllers.  */
-		break;
-
-	      case '3':			    /* 68330, 68331, 68332, 68333,
-					       68334, 68335, 68336, 68338 */
-	      case '6':			    /* 68360 */
-	      case '7':			    /* 68376 */
-		strcpy (family, "68332");   /* CPU32 and CPU32+ */
-		break;
-
-	      case '4':
-		if (processor[4] == '9')    /* 68349 */
-		  strcpy (family, "68030"); /* CPU030 */
-		else			    /* 68340, 68341 */
-		  strcpy (family, "68332"); /* CPU32 and CPU32+ */
-		break;
-
-	      default:			    /* Does not exist yet.  */
-		strcpy (family, "68332");   /* Guess it will be CPU32 */
-	      }
-	  }
-	else if (TOUPPER (processor[3]) == 'F')  /* 68F333 */
-	  strcpy (family, "68332");		   /* CPU32 */
-	else if ((TOUPPER (processor[3]) == 'C') /* Embedded controllers.  */
-		 && ((TOUPPER (processor[2]) == 'E')
-		     || (TOUPPER (processor[2]) == 'H')
-		     || (TOUPPER (processor[2]) == 'L')))
-	  {
-	    strcpy (family, "68");
-	    strncat (family, processor + 4, 7);
-	    family[9] = '\0';
-	  }
-	else				 /* "Regular" processors.  */
-	  {
-	    strncpy (family, processor, 9);
-	    family[9] = '\0';
-	  }
-      }
-    else if ((CONST_STRNEQ (processor, "cpu32")) /* CPU32 and CPU32+  */
-	     || (CONST_STRNEQ (processor, "CPU32")))
-      strcpy (family, "68332");
-    else
-      {
-	strncpy (family, processor, 9);
-	family[9] = '\0';
-      }
-
-    arch = bfd_scan_arch (family);
-    if (arch == 0)
-      goto got_wrong_format;
-    abfd->arch_info = arch;
-  }
-
-  if (this_byte (&(ieee->h)) != (int) ieee_address_descriptor_enum)
-    goto fail;
-
-  if (! next_byte (&(ieee->h)))
-    goto fail;
-
-  if (! parse_int (&(ieee->h), &ieee->ad.number_of_bits_mau))
-    goto fail;
-
-  if (! parse_int (&(ieee->h), &ieee->ad.number_of_maus_in_address))
-    goto fail;
-
-  /* If there is a byte order info, take it.  */
-  if (this_byte (&(ieee->h)) == (int) ieee_variable_L_enum
-      || this_byte (&(ieee->h)) == (int) ieee_variable_M_enum)
-    {
-      if (! next_byte (&(ieee->h)))
-	goto fail;
-    }
-
-  for (part = 0; part < N_W_VARIABLES; part++)
-    {
-      bfd_boolean ok;
-
-      if (read_2bytes (&(ieee->h)) != (int) ieee_assign_value_to_variable_enum)
-	goto fail;
-
-      if (this_byte_and_next (&(ieee->h)) != part)
-	goto fail;
-
-      ieee->w.offset[part] = parse_i (&(ieee->h), &ok);
-      if (! ok)
-	goto fail;
-    }
-
-  if (ieee->w.r.external_part != 0)
-    abfd->flags = HAS_SYMS;
-
-  /* By now we know that this is a real IEEE file, we're going to read
-     the whole thing into memory so that we can run up and down it
-     quickly.  We can work out how big the file is from the trailer
-     record.  */
-
-  amt = ieee->w.r.me_record + 1;
-  IEEE_DATA (abfd)->h.first_byte = bfd_alloc (ieee->h.abfd, amt);
-  if (!IEEE_DATA (abfd)->h.first_byte)
-    goto fail;
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
-    goto fail;
-
-  /* FIXME: Check return value.  I'm not sure whether it needs to read
-     the entire buffer or not.  */
-  amt = bfd_bread ((void *) (IEEE_DATA (abfd)->h.first_byte),
-		   (bfd_size_type) ieee->w.r.me_record + 1, abfd);
-  if (amt <= 0)
-    goto fail;
-
-  IEEE_DATA (abfd)->h.total_amt = amt;
-  if (ieee_slurp_sections (abfd))
-    goto fail;
-
-  if (! ieee_slurp_debug (abfd))
-    goto fail;
-
-  /* Parse section data to activate file and section flags implied by
-     section contents.  */
-  if (! ieee_slurp_section_data (abfd))
-    goto fail;
-
-  return abfd->xvec;
-got_wrong_format:
-  bfd_set_error (bfd_error_wrong_format);
-fail:
-  bfd_release (abfd, ieee);
-  abfd->tdata.ieee_data = save;
-  return (const bfd_target *) NULL;
-}
-
-static void
-ieee_get_symbol_info (bfd *ignore_abfd ATTRIBUTE_UNUSED,
-		      asymbol *symbol,
-		      symbol_info *ret)
-{
-  bfd_symbol_info (symbol, ret);
-  if (symbol->name[0] == ' ')
-    ret->name = "* empty table entry ";
-  if (!symbol->section)
-    ret->type = (symbol->flags & BSF_LOCAL) ? 'a' : 'A';
-}
-
-static void
-ieee_print_symbol (bfd *abfd,
-		   void * afile,
-		   asymbol *symbol,
-		   bfd_print_symbol_type how)
-{
-  FILE *file = (FILE *) afile;
-
-  switch (how)
-    {
-    case bfd_print_symbol_name:
-      fprintf (file, "%s", symbol->name);
-      break;
-    case bfd_print_symbol_more:
-      BFD_FAIL ();
-      break;
-    case bfd_print_symbol_all:
-      {
-	const char *section_name =
-	  (symbol->section == (asection *) NULL
-	   ? "*abs"
-	   : symbol->section->name);
-
-	if (symbol->name[0] == ' ')
-	  fprintf (file, "* empty table entry ");
-	else
-	  {
-	    bfd_print_symbol_vandf (abfd, (void *) file, symbol);
-
-	    fprintf (file, " %-5s %04x %02x %s",
-		     section_name,
-		     (unsigned) ieee_symbol (symbol)->index,
-		     (unsigned) 0,
-		     symbol->name);
-	  }
-      }
-      break;
-    }
-}
-
-static bfd_boolean
-ieee_new_section_hook (bfd *abfd, asection *newsect)
-{
-  if (!newsect->used_by_bfd)
-    {
-      newsect->used_by_bfd = bfd_alloc (abfd, sizeof (ieee_per_section_type));
-      if (!newsect->used_by_bfd)
-	return FALSE;
-    }
-  ieee_per_section (newsect)->data = NULL;
-  ieee_per_section (newsect)->section = newsect;
-  return _bfd_generic_new_section_hook (abfd, newsect);
-}
-
-static long
-ieee_get_reloc_upper_bound (bfd *abfd, sec_ptr asect)
-{
-  if ((asect->flags & SEC_DEBUGGING) != 0)
-    return 0;
-  if (! ieee_slurp_section_data (abfd))
-    return -1;
-  return (asect->reloc_count + 1) * sizeof (arelent *);
-}
-
-static bfd_boolean
-ieee_get_section_contents (bfd *abfd,
-			   sec_ptr section,
-			   void * location,
-			   file_ptr offset,
-			   bfd_size_type count)
-{
-  ieee_per_section_type *p = ieee_per_section (section);
-  if ((section->flags & SEC_DEBUGGING) != 0)
-    return _bfd_generic_get_section_contents (abfd, section, location,
-					      offset, count);
-  ieee_slurp_section_data (abfd);
-  (void) memcpy ((void *) location, (void *) (p->data + offset), (unsigned) count);
-  return TRUE;
-}
-
-static long
-ieee_canonicalize_reloc (bfd *abfd,
-			 sec_ptr section,
-			 arelent **relptr,
-			 asymbol **symbols)
-{
-  ieee_reloc_type *src = (ieee_reloc_type *) (section->relocation);
-  ieee_data_type *ieee = IEEE_DATA (abfd);
-
-  if ((section->flags & SEC_DEBUGGING) != 0)
-    return 0;
-
-  while (src != (ieee_reloc_type *) NULL)
-    {
-      /* Work out which symbol to attach it this reloc to.  */
-      switch (src->symbol.letter)
-	{
-	case 'I':
-	  src->relent.sym_ptr_ptr =
-	    symbols + src->symbol.index + ieee->external_symbol_base_offset;
-	  break;
-	case 'X':
-	  src->relent.sym_ptr_ptr =
-	    symbols + src->symbol.index + ieee->external_reference_base_offset;
-	  break;
-	case 0:
-	  if (src->relent.sym_ptr_ptr != NULL)
-	    src->relent.sym_ptr_ptr =
-	      src->relent.sym_ptr_ptr[0]->section->symbol_ptr_ptr;
-	  break;
-	default:
-
-	  BFD_FAIL ();
-	}
-      *relptr++ = &src->relent;
-      src = src->next;
-    }
-  *relptr = NULL;
-  return section->reloc_count;
-}
-
-static int
-comp (const void * ap, const void * bp)
-{
-  arelent *a = *((arelent **) ap);
-  arelent *b = *((arelent **) bp);
-  return a->address - b->address;
-}
-
-/* Write the section headers.  */
-
-static bfd_boolean
-ieee_write_section_part (bfd *abfd)
-{
-  ieee_data_type *ieee = IEEE_DATA (abfd);
-  asection *s;
-
-  ieee->w.r.section_part = bfd_tell (abfd);
-  for (s = abfd->sections; s != (asection *) NULL; s = s->next)
-    {
-      if (! bfd_is_abs_section (s)
-	  && (s->flags & SEC_DEBUGGING) == 0)
-	{
-	  if (! ieee_write_byte (abfd, ieee_section_type_enum)
-	      || ! ieee_write_byte (abfd,
-				    (bfd_byte) (s->index
-						+ IEEE_SECTION_NUMBER_BASE)))
-	    return FALSE;
-
-	  if (abfd->flags & EXEC_P)
-	    {
-	      /* This image is executable, so output absolute sections.  */
-	      if (! ieee_write_byte (abfd, ieee_variable_A_enum)
-		  || ! ieee_write_byte (abfd, ieee_variable_S_enum))
-		return FALSE;
-	    }
-	  else
-	    {
-	      if (! ieee_write_byte (abfd, ieee_variable_C_enum))
-		return FALSE;
-	    }
-
-	  switch (s->flags & (SEC_CODE | SEC_DATA | SEC_ROM))
-	    {
-	    case SEC_CODE | SEC_LOAD:
-	    case SEC_CODE:
-	      if (! ieee_write_byte (abfd, ieee_variable_P_enum))
-		return FALSE;
-	      break;
-	    case SEC_DATA:
-	    default:
-	      if (! ieee_write_byte (abfd, ieee_variable_D_enum))
-		return FALSE;
-	      break;
-	    case SEC_ROM:
-	    case SEC_ROM | SEC_DATA:
-	    case SEC_ROM | SEC_LOAD:
-	    case SEC_ROM | SEC_DATA | SEC_LOAD:
-	      if (! ieee_write_byte (abfd, ieee_variable_R_enum))
-		return FALSE;
-	    }
-
-
-	  if (! ieee_write_id (abfd, s->name))
-	    return FALSE;
-	  /* Alignment.  */
-	  if (! ieee_write_byte (abfd, ieee_section_alignment_enum)
-	      || ! ieee_write_byte (abfd,
-				    (bfd_byte) (s->index
-						+ IEEE_SECTION_NUMBER_BASE))
-	      || ! ieee_write_int (abfd, (bfd_vma) 1 << s->alignment_power))
-	    return FALSE;
-
-	  /* Size.  */
-	  if (! ieee_write_2bytes (abfd, ieee_section_size_enum)
-	      || ! ieee_write_byte (abfd,
-				    (bfd_byte) (s->index
-						+ IEEE_SECTION_NUMBER_BASE))
-	      || ! ieee_write_int (abfd, s->size))
-	    return FALSE;
-	  if (abfd->flags & EXEC_P)
-	    {
-	      /* Relocateable sections don't have asl records.  */
-	      /* Vma.  */
-	      if (! ieee_write_2bytes (abfd, ieee_section_base_address_enum)
-		  || ! ieee_write_byte (abfd,
-					((bfd_byte)
-					 (s->index
-					  + IEEE_SECTION_NUMBER_BASE)))
-		  || ! ieee_write_int (abfd, s->lma))
-		return FALSE;
-	    }
-	}
-    }
-
-  return TRUE;
-}
-
-static bfd_boolean
-do_with_relocs (bfd *abfd, asection *s)
-{
-  unsigned int number_of_maus_in_address =
-    bfd_arch_bits_per_address (abfd) / bfd_arch_bits_per_byte (abfd);
-  unsigned int relocs_to_go = s->reloc_count;
-  bfd_byte *stream = ieee_per_section (s)->data;
-  arelent **p = s->orelocation;
-  bfd_size_type current_byte_index = 0;
-
-  qsort (s->orelocation,
-	 relocs_to_go,
-	 sizeof (arelent **),
-	 comp);
-
-  /* Output the section preheader.  */
-  if (! ieee_write_byte (abfd, ieee_set_current_section_enum)
-      || ! ieee_write_byte (abfd,
-			    (bfd_byte) (s->index + IEEE_SECTION_NUMBER_BASE))
-      || ! ieee_write_2bytes (abfd, ieee_set_current_pc_enum)
-      || ! ieee_write_byte (abfd,
-			    (bfd_byte) (s->index + IEEE_SECTION_NUMBER_BASE)))
-    return FALSE;
-
-  if ((abfd->flags & EXEC_P) != 0 && relocs_to_go == 0)
-    {
-      if (! ieee_write_int (abfd, s->lma))
-	return FALSE;
-    }
-  else
-    {
-      if (! ieee_write_expression (abfd, (bfd_vma) 0, s->symbol, 0, 0))
-	return FALSE;
-    }
-
-  if (relocs_to_go == 0)
-    {
-      /* If there aren't any relocations then output the load constant
-	 byte opcode rather than the load with relocation opcode.  */
-      while (current_byte_index < s->size)
-	{
-	  bfd_size_type run;
-	  unsigned int MAXRUN = 127;
-
-	  run = MAXRUN;
-	  if (run > s->size - current_byte_index)
-	    run = s->size - current_byte_index;
-
-	  if (run != 0)
-	    {
-	      if (! ieee_write_byte (abfd, ieee_load_constant_bytes_enum))
-		return FALSE;
-	      /* Output a stream of bytes.  */
-	      if (! ieee_write_int (abfd, run))
-		return FALSE;
-	      if (bfd_bwrite ((void *) (stream + current_byte_index), run, abfd)
-		  != run)
-		return FALSE;
-	      current_byte_index += run;
-	    }
-	}
-    }
-  else
-    {
-      if (! ieee_write_byte (abfd, ieee_load_with_relocation_enum))
-	return FALSE;
-
-      /* Output the data stream as the longest sequence of bytes
-	 possible, allowing for the a reasonable packet size and
-	 relocation stuffs.  */
-      if (stream == NULL)
-	{
-	  /* Outputting a section without data, fill it up.  */
-	  stream = bfd_zalloc (abfd, s->size);
-	  if (!stream)
-	    return FALSE;
-	}
-      while (current_byte_index < s->size)
-	{
-	  bfd_size_type run;
-	  unsigned int MAXRUN = 127;
-
-	  if (relocs_to_go)
-	    {
-	      run = (*p)->address - current_byte_index;
-	      if (run > MAXRUN)
-		run = MAXRUN;
-	    }
-	  else
-	    run = MAXRUN;
-
-	  if (run > s->size - current_byte_index)
-	    run = s->size - current_byte_index;
-
-	  if (run != 0)
-	    {
-	      /* Output a stream of bytes.  */
-	      if (! ieee_write_int (abfd, run))
-		return FALSE;
-	      if (bfd_bwrite ((void *) (stream + current_byte_index), run, abfd)
-		  != run)
-		return FALSE;
-	      current_byte_index += run;
-	    }
-
-	  /* Output any relocations here.  */
-	  if (relocs_to_go && (*p) && (*p)->address == current_byte_index)
-	    {
-	      while (relocs_to_go
-		     && (*p) && (*p)->address == current_byte_index)
-		{
-		  arelent *r = *p;
-		  bfd_signed_vma ov;
-		  switch (r->howto->size)
-		    {
-		    case 2:
-		      ov = bfd_get_signed_32 (abfd,
-					      stream + current_byte_index);
-		      current_byte_index += 4;
-		      break;
-		    case 1:
-		      ov = bfd_get_signed_16 (abfd,
-					      stream + current_byte_index);
-		      current_byte_index += 2;
-		      break;
-		    case 0:
-		      ov = bfd_get_signed_8 (abfd,
-					     stream + current_byte_index);
-		      current_byte_index++;
-		      break;
-		    default:
-		      ov = 0;
-		      BFD_FAIL ();
-		      return FALSE;
-		    }
-
-		  ov &= r->howto->src_mask;
-
-		  if (r->howto->pc_relative
-		      && ! r->howto->pcrel_offset)
-		    ov += r->address;
-
-		  if (! ieee_write_byte (abfd,
-					 ieee_function_either_open_b_enum))
-		    return FALSE;
-
-		  if (r->sym_ptr_ptr != (asymbol **) NULL)
-		    {
-		      if (! ieee_write_expression (abfd, r->addend + ov,
-						   *(r->sym_ptr_ptr),
-						   r->howto->pc_relative,
-						   (unsigned) s->index))
-			return FALSE;
-		    }
-		  else
-		    {
-		      if (! ieee_write_expression (abfd, r->addend + ov,
-						   (asymbol *) NULL,
-						   r->howto->pc_relative,
-						   (unsigned) s->index))
-			return FALSE;
-		    }
-
-		  if (number_of_maus_in_address
-		      != bfd_get_reloc_size (r->howto))
-		    {
-		      bfd_vma rsize = bfd_get_reloc_size (r->howto);
-		      if (! ieee_write_int (abfd, rsize))
-			return FALSE;
-		    }
-		  if (! ieee_write_byte (abfd,
-					 ieee_function_either_close_b_enum))
-		    return FALSE;
-
-		  relocs_to_go--;
-		  p++;
-		}
-
-	    }
-	}
-    }
-
-  return TRUE;
-}
-
-/* If there are no relocations in the output section then we can be
-   clever about how we write.  We block items up into a max of 127
-   bytes.  */
-
-static bfd_boolean
-do_as_repeat (bfd *abfd, asection *s)
-{
-  if (s->size)
-    {
-      if (! ieee_write_byte (abfd, ieee_set_current_section_enum)
-	  || ! ieee_write_byte (abfd,
-				(bfd_byte) (s->index
-					    + IEEE_SECTION_NUMBER_BASE))
-	  || ! ieee_write_byte (abfd, ieee_set_current_pc_enum >> 8)
-	  || ! ieee_write_byte (abfd, ieee_set_current_pc_enum & 0xff)
-	  || ! ieee_write_byte (abfd,
-				(bfd_byte) (s->index
-					    + IEEE_SECTION_NUMBER_BASE)))
-	return FALSE;
-
-      if ((abfd->flags & EXEC_P) != 0)
-	{
-	  if (! ieee_write_int (abfd, s->lma))
-	    return FALSE;
-	}
-      else
-	{
-	  if (! ieee_write_expression (abfd, (bfd_vma) 0, s->symbol, 0, 0))
-	    return FALSE;
-	}
-
-      if (! ieee_write_byte (abfd, ieee_repeat_data_enum)
-	  || ! ieee_write_int (abfd, s->size)
-	  || ! ieee_write_byte (abfd, ieee_load_constant_bytes_enum)
-	  || ! ieee_write_byte (abfd, 1)
-	  || ! ieee_write_byte (abfd, 0))
-	return FALSE;
-    }
-
-  return TRUE;
-}
-
-static bfd_boolean
-do_without_relocs (bfd *abfd, asection *s)
-{
-  bfd_byte *stream = ieee_per_section (s)->data;
-
-  if (stream == 0 || ((s->flags & SEC_LOAD) == 0))
-    {
-      if (! do_as_repeat (abfd, s))
-	return FALSE;
-    }
-  else
-    {
-      unsigned int i;
-
-      for (i = 0; i < s->size; i++)
-	{
-	  if (stream[i] != 0)
-	    {
-	      if (! do_with_relocs (abfd, s))
-		return FALSE;
-	      return TRUE;
-	    }
-	}
-      if (! do_as_repeat (abfd, s))
-	return FALSE;
-    }
-
-  return TRUE;
-}
-
-static void
-fill (void)
-{
-  bfd_size_type amt = input_ptr_end - input_ptr_start;
-  /* FIXME: Check return value.  I'm not sure whether it needs to read
-     the entire buffer or not.  */
-  bfd_bread ((void *) input_ptr_start, amt, input_bfd);
-  input_ptr = input_ptr_start;
-}
-
-static void
-flush (void)
-{
-  bfd_size_type amt = output_ptr - output_ptr_start;
-
-  if (bfd_bwrite ((void *) (output_ptr_start), amt, output_bfd) != amt)
-    abort ();
-  output_ptr = output_ptr_start;
-  output_buffer++;
-}
-
-#define THIS() ( *input_ptr )
-#define NEXT() { input_ptr++; if (input_ptr == input_ptr_end) fill (); }
-#define OUT(x) { *output_ptr++ = (x); if (output_ptr == output_ptr_end)  flush (); }
-
-static void
-write_int (int value)
-{
-  if (value >= 0 && value <= 127)
-    {
-      OUT (value);
-    }
-  else
-    {
-      unsigned int length;
-
-      /* How many significant bytes ?  */
-      /* FIXME FOR LONGER INTS.  */
-      if (value & 0xff000000)
-	length = 4;
-      else if (value & 0x00ff0000)
-	length = 3;
-      else if (value & 0x0000ff00)
-	length = 2;
-      else
-	length = 1;
-
-      OUT ((int) ieee_number_repeat_start_enum + length);
-      switch (length)
-	{
-	case 4:
-	  OUT (value >> 24);
-	  /* Fall through.  */
-	case 3:
-	  OUT (value >> 16);
-	  /* Fall through.  */
-	case 2:
-	  OUT (value >> 8);
-	  /* Fall through.  */
-	case 1:
-	  OUT (value);
-	}
-    }
-}
-
-static void
-copy_id (void)
-{
-  int length = THIS ();
-  char ch;
-
-  OUT (length);
-  NEXT ();
-  while (length--)
-    {
-      ch = THIS ();
-      OUT (ch);
-      NEXT ();
-    }
-}
-
-#define VAR(x) ((x | 0x80))
-static void
-copy_expression (void)
-{
-  int stack[10];
-  int *tos = stack;
-  int value;
-
-  while (1)
-    {
-      switch (THIS ())
-	{
-	case 0x84:
-	  NEXT ();
-	  value = THIS ();
-	  NEXT ();
-	  value = (value << 8) | THIS ();
-	  NEXT ();
-	  value = (value << 8) | THIS ();
-	  NEXT ();
-	  value = (value << 8) | THIS ();
-	  NEXT ();
-	  *tos++ = value;
-	  break;
-	case 0x83:
-	  NEXT ();
-	  value = THIS ();
-	  NEXT ();
-	  value = (value << 8) | THIS ();
-	  NEXT ();
-	  value = (value << 8) | THIS ();
-	  NEXT ();
-	  *tos++ = value;
-	  break;
-	case 0x82:
-	  NEXT ();
-	  value = THIS ();
-	  NEXT ();
-	  value = (value << 8) | THIS ();
-	  NEXT ();
-	  *tos++ = value;
-	  break;
-	case 0x81:
-	  NEXT ();
-	  value = THIS ();
-	  NEXT ();
-	  *tos++ = value;
-	  break;
-	case 0x80:
-	  NEXT ();
-	  *tos++ = 0;
-	  break;
-	default:
-	  if (THIS () > 0x84)
-	    {
-	      /* Not a number, just bug out with the answer.  */
-	      write_int (*(--tos));
-	      return;
-	    }
-	  *tos++ = THIS ();
-	  NEXT ();
-	  break;
-	case 0xa5:
-	  /* PLUS anything.  */
-	  value = *(--tos);
-	  value += *(--tos);
-	  *tos++ = value;
-	  NEXT ();
-	  break;
-	case VAR ('R'):
-	  {
-	    int section_number;
-	    ieee_data_type *ieee;
-	    asection *s;
-
-	    NEXT ();
-	    section_number = THIS ();
-
-	    NEXT ();
-	    ieee = IEEE_DATA (input_bfd);
-	    s = ieee->section_table[section_number];
-	    value = 0;
-	    if (s->output_section)
-	      value = s->output_section->lma;
-	    value += s->output_offset;
-	    *tos++ = value;
-	  }
-	  break;
-	case 0x90:
-	  {
-	    NEXT ();
-	    write_int (*(--tos));
-	    OUT (0x90);
-	    return;
-	  }
-	}
-    }
-}
-
-/* Drop the int in the buffer, and copy a null into the gap, which we
-   will overwrite later.  */
-
-static void
-fill_int (struct output_buffer_struct *buf)
-{
-  if (buf->buffer == output_buffer)
-    {
-      /* Still a chance to output the size.  */
-      int value = output_ptr - buf->ptrp + 3;
-      buf->ptrp[0] = value >> 24;
-      buf->ptrp[1] = value >> 16;
-      buf->ptrp[2] = value >> 8;
-      buf->ptrp[3] = value >> 0;
-    }
-}
-
-static void
-drop_int (struct output_buffer_struct *buf)
-{
-  int type = THIS ();
-  int ch;
-
-  if (type <= 0x84)
-    {
-      NEXT ();
-      switch (type)
-	{
-	case 0x84:
-	  ch = THIS ();
-	  NEXT ();
-	  /* Fall through.  */
-	case 0x83:
-	  ch = THIS ();
-	  NEXT ();
-	  /* Fall through.  */
-	case 0x82:
-	  ch = THIS ();
-	  NEXT ();
-	  /* Fall through.  */
-	case 0x81:
-	  ch = THIS ();
-	  NEXT ();
-	  /* Fall through.  */
-	case 0x80:
-	  break;
-	}
-    }
-  (void) ch;
-  OUT (0x84);
-  buf->ptrp = output_ptr;
-  buf->buffer = output_buffer;
-  OUT (0);
-  OUT (0);
-  OUT (0);
-  OUT (0);
-}
-
-static void
-copy_int (void)
-{
-  int type = THIS ();
-  int ch;
-  if (type <= 0x84)
-    {
-      OUT (type);
-      NEXT ();
-      switch (type)
-	{
-	case 0x84:
-	  ch = THIS ();
-	  NEXT ();
-	  OUT (ch);
-	  /* Fall through.  */
-	case 0x83:
-	  ch = THIS ();
-	  NEXT ();
-	  OUT (ch);
-	  /* Fall through.  */
-	case 0x82:
-	  ch = THIS ();
-	  NEXT ();
-	  OUT (ch);
-	  /* Fall through.  */
-	case 0x81:
-	  ch = THIS ();
-	  NEXT ();
-	  OUT (ch);
-	  /* Fall through.  */
-	case 0x80:
-	  break;
-	}
-    }
-}
-
-#define ID      copy_id ()
-#define INT     copy_int ()
-#define EXP     copy_expression ()
-#define INTn(q) copy_int ()
-#define EXPn(q) copy_expression ()
-
-static void
-copy_till_end (void)
-{
-  int ch = THIS ();
-
-  while (1)
-    {
-      while (ch <= 0x80)
-	{
-	  OUT (ch);
-	  NEXT ();
-	  ch = THIS ();
-	}
-      switch (ch)
-	{
-	case 0x84:
-	  OUT (THIS ());
-	  NEXT ();
-	  /* Fall through.  */
-	case 0x83:
-	  OUT (THIS ());
-	  NEXT ();
-	  /* Fall through.  */
-	case 0x82:
-	  OUT (THIS ());
-	  NEXT ();
-	  /* Fall through.  */
-	case 0x81:
-	  OUT (THIS ());
-	  NEXT ();
-	  OUT (THIS ());
-	  NEXT ();
-
-	  ch = THIS ();
-	  break;
-	default:
-	  return;
-	}
-    }
-
-}
-
-static void
-f1_record (void)
-{
-  int ch;
-
-  /* ATN record.  */
-  NEXT ();
-  ch = THIS ();
-  switch (ch)
-    {
-    default:
-      OUT (0xf1);
-      OUT (ch);
-      break;
-    case 0xc9:
-      NEXT ();
-      OUT (0xf1);
-      OUT (0xc9);
-      INT;
-      INT;
-      ch = THIS ();
-      switch (ch)
-	{
-	case 0x16:
-	  NEXT ();
-	  break;
-	case 0x01:
-	  NEXT ();
-	  break;
-	case 0x00:
-	  NEXT ();
-	  INT;
-	  break;
-	case 0x03:
-	  NEXT ();
-	  INT;
-	  break;
-	case 0x13:
-	  EXPn (instruction address);
-	  break;
-	default:
-	  break;
-	}
-      break;
-    case 0xd8:
-      /* EXternal ref.  */
-      NEXT ();
-      OUT (0xf1);
-      OUT (0xd8);
-      EXP;
-      EXP;
-      EXP;
-      EXP;
-      break;
-    case 0xce:
-      NEXT ();
-      OUT (0xf1);
-      OUT (0xce);
-      INT;
-      INT;
-      ch = THIS ();
-      INT;
-      switch (ch)
-	{
-	case 0x01:
-	  INT;
-	  INT;
-	  break;
-	case 0x02:
-	  INT;
-	  break;
-	case 0x04:
-	  EXPn (external function);
-	  break;
-	case 0x05:
-	  break;
-	case 0x07:
-	  INTn (line number);
-	  INT;
-	case 0x08:
-	  break;
-	case 0x0a:
-	  INTn (locked register);
-	  INT;
-	  break;
-	case 0x3f:
-	  copy_till_end ();
-	  break;
-	case 0x3e:
-	  copy_till_end ();
-	  break;
-	case 0x40:
-	  copy_till_end ();
-	  break;
-	case 0x41:
-	  ID;
-	  break;
-	}
-    }
-}
-
-static void
-f0_record (void)
-{
-  /* Attribute record.  */
-  NEXT ();
-  OUT (0xf0);
-  INTn (Symbol name);
-  ID;
-}
-
-static void
-f2_record (void)
-{
-  NEXT ();
-  OUT (0xf2);
-  INT;
-  NEXT ();
-  OUT (0xce);
-  INT;
-  copy_till_end ();
-}
-
-static void
-f8_record (void)
-{
-  int ch;
-  NEXT ();
-  ch = THIS ();
-  switch (ch)
-    {
-    case 0x01:
-    case 0x02:
-    case 0x03:
-      /* Unique typedefs for module.  */
-      /* GLobal typedefs.   */
-      /* High level module scope beginning.  */
-      {
-	struct output_buffer_struct ob;
-
-	NEXT ();
-	OUT (0xf8);
-	OUT (ch);
-	drop_int (&ob);
-	ID;
-
-	block ();
-
-	NEXT ();
-	fill_int (&ob);
-	OUT (0xf9);
-      }
-      break;
-    case 0x04:
-      /* Global function.  */
-      {
-	struct output_buffer_struct ob;
-
-	NEXT ();
-	OUT (0xf8);
-	OUT (0x04);
-	drop_int (&ob);
-	ID;
-	INTn (stack size);
-	INTn (ret val);
-	EXPn (offset);
-
-	block ();
-
-	NEXT ();
-	OUT (0xf9);
-	EXPn (size of block);
-	fill_int (&ob);
-      }
-      break;
-
-    case 0x05:
-      /* File name for source line numbers.  */
-      {
-	struct output_buffer_struct ob;
-
-	NEXT ();
-	OUT (0xf8);
-	OUT (0x05);
-	drop_int (&ob);
-	ID;
-	INTn (year);
-	INTn (month);
-	INTn (day);
-	INTn (hour);
-	INTn (monute);
-	INTn (second);
-	block ();
-	NEXT ();
-	OUT (0xf9);
-	fill_int (&ob);
-      }
-      break;
-
-    case 0x06:
-      /* Local function.  */
-      {
-	struct output_buffer_struct ob;
-
-	NEXT ();
-	OUT (0xf8);
-	OUT (0x06);
-	drop_int (&ob);
-	ID;
-	INTn (stack size);
-	INTn (type return);
-	EXPn (offset);
-	block ();
-	NEXT ();
-	OUT (0xf9);
-	EXPn (size);
-	fill_int (&ob);
-      }
-      break;
-
-    case 0x0a:
-      /* Assembler module scope beginning -  */
-      {
-	struct output_buffer_struct ob;
-
-	NEXT ();
-	OUT (0xf8);
-	OUT (0x0a);
-	drop_int (&ob);
-	ID;
-	ID;
-	INT;
-	ID;
-	INT;
-	INT;
-	INT;
-	INT;
-	INT;
-	INT;
-
-	block ();
-
-	NEXT ();
-	OUT (0xf9);
-	fill_int (&ob);
-      }
-      break;
-    case 0x0b:
-      {
-	struct output_buffer_struct ob;
-
-	NEXT ();
-	OUT (0xf8);
-	OUT (0x0b);
-	drop_int (&ob);
-	ID;
-	INT;
-	INTn (section index);
-	EXPn (offset);
-	INTn (stuff);
-
-	block ();
-
-	OUT (0xf9);
-	NEXT ();
-	EXPn (Size in Maus);
-	fill_int (&ob);
-      }
-      break;
-    }
-}
-
-static void
-e2_record (void)
-{
-  OUT (0xe2);
-  NEXT ();
-  OUT (0xce);
-  NEXT ();
-  INT;
-  EXP;
-}
-
-static void
-block (void)
-{
-  int ch;
-
-  while (1)
-    {
-      ch = THIS ();
-      switch (ch)
-	{
-	case 0xe1:
-	case 0xe5:
-	  return;
-	case 0xf9:
-	  return;
-	case 0xf0:
-	  f0_record ();
-	  break;
-	case 0xf1:
-	  f1_record ();
-	  break;
-	case 0xf2:
-	  f2_record ();
-	  break;
-	case 0xf8:
-	  f8_record ();
-	  break;
-	case 0xe2:
-	  e2_record ();
-	  break;
-
-	}
-    }
-}
-
-/* Moves all the debug information from the source bfd to the output
-   bfd, and relocates any expressions it finds.  */
-
-static void
-relocate_debug (bfd *output ATTRIBUTE_UNUSED,
-		bfd *input)
-{
-#define IBS 400
-#define OBS 400
-  unsigned char input_buffer[IBS];
-
-  input_ptr_start = input_ptr = input_buffer;
-  input_ptr_end = input_buffer + IBS;
-  input_bfd = input;
-  /* FIXME: Check return value.  I'm not sure whether it needs to read
-     the entire buffer or not.  */
-  bfd_bread ((void *) input_ptr_start, (bfd_size_type) IBS, input);
-  block ();
-}
-
-/* Gather together all the debug information from each input BFD into
-   one place, relocating it and emitting it as we go.  */
-
-static bfd_boolean
-ieee_write_debug_part (bfd *abfd)
-{
-  ieee_data_type *ieee = IEEE_DATA (abfd);
-  bfd_chain_type *chain = ieee->chain_root;
-  unsigned char obuff[OBS];
-  bfd_boolean some_debug = FALSE;
-  file_ptr here = bfd_tell (abfd);
-
-  output_ptr_start = output_ptr = obuff;
-  output_ptr_end = obuff + OBS;
-  output_ptr = obuff;
-  output_bfd = abfd;
-
-  if (chain == (bfd_chain_type *) NULL)
-    {
-      asection *s;
-
-      for (s = abfd->sections; s != NULL; s = s->next)
-	if ((s->flags & SEC_DEBUGGING) != 0)
-	  break;
-      if (s == NULL)
-	{
-	  ieee->w.r.debug_information_part = 0;
-	  return TRUE;
-	}
-
-      ieee->w.r.debug_information_part = here;
-      if (bfd_bwrite (s->contents, s->size, abfd) != s->size)
-	return FALSE;
-    }
-  else
-    {
-      while (chain != (bfd_chain_type *) NULL)
-	{
-	  bfd *entry = chain->this;
-	  ieee_data_type *entry_ieee = IEEE_DATA (entry);
-
-	  if (entry_ieee->w.r.debug_information_part)
-	    {
-	      if (bfd_seek (entry, entry_ieee->w.r.debug_information_part,
-			    SEEK_SET) != 0)
-		return FALSE;
-	      relocate_debug (abfd, entry);
-	    }
-
-	  chain = chain->next;
-	}
-
-      if (some_debug)
-	ieee->w.r.debug_information_part = here;
-      else
-	ieee->w.r.debug_information_part = 0;
-
-      flush ();
-    }
-
-  return TRUE;
-}
-
-/* Write the data in an ieee way.  */
-
-static bfd_boolean
-ieee_write_data_part (bfd *abfd)
-{
-  asection *s;
-
-  ieee_data_type *ieee = IEEE_DATA (abfd);
-  ieee->w.r.data_part = bfd_tell (abfd);
-
-  for (s = abfd->sections; s != (asection *) NULL; s = s->next)
-    {
-      /* Skip sections that have no loadable contents (.bss,
-	 debugging, etc.)  */
-      if ((s->flags & SEC_LOAD) == 0)
-	continue;
-
-      /* Sort the reloc records so we can insert them in the correct
-	 places.  */
-      if (s->reloc_count != 0)
-	{
-	  if (! do_with_relocs (abfd, s))
-	    return FALSE;
-	}
-      else
-	{
-	  if (! do_without_relocs (abfd, s))
-	    return FALSE;
-	}
-    }
-
-  return TRUE;
-}
-
-static bfd_boolean
-init_for_output (bfd *abfd)
-{
-  asection *s;
-
-  for (s = abfd->sections; s != (asection *) NULL; s = s->next)
-    {
-      if ((s->flags & SEC_DEBUGGING) != 0)
-	continue;
-      if (s->size != 0)
-	{
-	  bfd_size_type size = s->size;
-	  ieee_per_section (s)->data = bfd_alloc (abfd, size);
-	  if (!ieee_per_section (s)->data)
-	    return FALSE;
-	}
-    }
-  return TRUE;
-}
-
-/* Exec and core file sections.  */
-
-/* Set section contents is complicated with IEEE since the format is
-   not a byte image, but a record stream.  */
-
-static bfd_boolean
-ieee_set_section_contents (bfd *abfd,
-			   sec_ptr section,
-			   const void * location,
-			   file_ptr offset,
-			   bfd_size_type count)
-{
-  if ((section->flags & SEC_DEBUGGING) != 0)
-    {
-      if (section->contents == NULL)
-	{
-	  bfd_size_type size = section->size;
-	  section->contents = bfd_alloc (abfd, size);
-	  if (section->contents == NULL)
-	    return FALSE;
-	}
-      /* bfd_set_section_contents has already checked that everything
-	 is within range.  */
-      memcpy (section->contents + offset, location, (size_t) count);
-      return TRUE;
-    }
-
-  if (ieee_per_section (section)->data == (bfd_byte *) NULL)
-    {
-      if (!init_for_output (abfd))
-	return FALSE;
-    }
-  memcpy ((void *) (ieee_per_section (section)->data + offset),
-	  (void *) location,
-	  (unsigned int) count);
-  return TRUE;
-}
-
-/* Write the external symbols of a file.  IEEE considers two sorts of
-   external symbols, public, and referenced.  It uses to internal
-   forms to index them as well.  When we write them out we turn their
-   symbol values into indexes from the right base.  */
-
-static bfd_boolean
-ieee_write_external_part (bfd *abfd)
-{
-  asymbol **q;
-  ieee_data_type *ieee = IEEE_DATA (abfd);
-  unsigned int reference_index = IEEE_REFERENCE_BASE;
-  unsigned int public_index = IEEE_PUBLIC_BASE + 2;
-  file_ptr here = bfd_tell (abfd);
-  bfd_boolean hadone = FALSE;
-
-  if (abfd->outsymbols != (asymbol **) NULL)
-    {
-
-      for (q = abfd->outsymbols; *q != (asymbol *) NULL; q++)
-	{
-	  asymbol *p = *q;
-
-	  if (bfd_is_und_section (p->section))
-	    {
-	      /* This must be a symbol reference.  */
-	      if (! ieee_write_byte (abfd, ieee_external_reference_enum)
-		  || ! ieee_write_int (abfd, (bfd_vma) reference_index)
-		  || ! ieee_write_id (abfd, p->name))
-		return FALSE;
-	      p->value = reference_index;
-	      reference_index++;
-	      hadone = TRUE;
-	    }
-	  else if (bfd_is_com_section (p->section))
-	    {
-	      /* This is a weak reference.  */
-	      if (! ieee_write_byte (abfd, ieee_external_reference_enum)
-		  || ! ieee_write_int (abfd, (bfd_vma) reference_index)
-		  || ! ieee_write_id (abfd, p->name)
-		  || ! ieee_write_byte (abfd,
-					ieee_weak_external_reference_enum)
-		  || ! ieee_write_int (abfd, (bfd_vma) reference_index)
-		  || ! ieee_write_int (abfd, p->value))
-		return FALSE;
-	      p->value = reference_index;
-	      reference_index++;
-	      hadone = TRUE;
-	    }
-	  else if (p->flags & BSF_GLOBAL)
-	    {
-	      /* This must be a symbol definition.  */
-	      if (! ieee_write_byte (abfd, ieee_external_symbol_enum)
-		  || ! ieee_write_int (abfd, (bfd_vma) public_index)
-		  || ! ieee_write_id (abfd, p->name)
-		  || ! ieee_write_2bytes (abfd, ieee_attribute_record_enum)
-		  || ! ieee_write_int (abfd, (bfd_vma) public_index)
-		  || ! ieee_write_byte (abfd, 15) /* Instruction address.  */
-		  || ! ieee_write_byte (abfd, 19) /* Static symbol.  */
-		  || ! ieee_write_byte (abfd, 1)) /* One of them.  */
-		return FALSE;
-
-	      /* Write out the value.  */
-	      if (! ieee_write_2bytes (abfd, ieee_value_record_enum)
-		  || ! ieee_write_int (abfd, (bfd_vma) public_index))
-		return FALSE;
-	      if (! bfd_is_abs_section (p->section))
-		{
-		  if (abfd->flags & EXEC_P)
-		    {
-		      /* If fully linked, then output all symbols
-			 relocated.  */
-		      if (! (ieee_write_int
-			     (abfd,
-			      (p->value
-			       + p->section->output_offset
-			       + p->section->output_section->vma))))
-			return FALSE;
-		    }
-		  else
-		    {
-		      if (! (ieee_write_expression
-			     (abfd,
-			      p->value + p->section->output_offset,
-			      p->section->output_section->symbol,
-			      FALSE, 0)))
-			return FALSE;
-		    }
-		}
-	      else
-		{
-		  if (! ieee_write_expression (abfd,
-					       p->value,
-					       bfd_abs_section_ptr->symbol,
-					       FALSE, 0))
-		    return FALSE;
-		}
-	      p->value = public_index;
-	      public_index++;
-	      hadone = TRUE;
-	    }
-	  else
-	    {
-	      /* This can happen - when there are gaps in the symbols read
-		 from an input ieee file.  */
-	    }
-	}
-    }
-  if (hadone)
-    ieee->w.r.external_part = here;
-
-  return TRUE;
-}
-
-
-static const unsigned char exten[] =
-{
-  0xf0, 0x20, 0x00,
-  0xf1, 0xce, 0x20, 0x00, 37, 3, 3,	/* Set version 3 rev 3.  */
-  0xf1, 0xce, 0x20, 0x00, 39, 2,	/* Keep symbol in  original case.  */
-  0xf1, 0xce, 0x20, 0x00, 38		/* Set object type relocatable to x.  */
-};
-
-static const unsigned char envi[] =
-{
-  0xf0, 0x21, 0x00,
-
-/*    0xf1, 0xce, 0x21, 00, 50, 0x82, 0x07, 0xc7, 0x09, 0x11, 0x11,
-    0x19, 0x2c,
-*/
-  0xf1, 0xce, 0x21, 00, 52, 0x00,	/* exec ok.  */
-
-  0xf1, 0xce, 0x21, 0, 53, 0x03,/* host unix.  */
-/*    0xf1, 0xce, 0x21, 0, 54, 2,1,1	tool & version # */
-};
-
-static bfd_boolean
-ieee_write_me_part (bfd *abfd)
-{
-  ieee_data_type *ieee = IEEE_DATA (abfd);
-  ieee->w.r.trailer_part = bfd_tell (abfd);
-  if (abfd->start_address)
-    {
-      if (! ieee_write_2bytes (abfd, ieee_value_starting_address_enum)
-	  || ! ieee_write_byte (abfd, ieee_function_either_open_b_enum)
-	  || ! ieee_write_int (abfd, abfd->start_address)
-	  || ! ieee_write_byte (abfd, ieee_function_either_close_b_enum))
-	return FALSE;
-    }
-  ieee->w.r.me_record = bfd_tell (abfd);
-  if (! ieee_write_byte (abfd, ieee_module_end_enum))
-    return FALSE;
-  return TRUE;
-}
-
-/* Write out the IEEE processor ID.  */
-
-static bfd_boolean
-ieee_write_processor (bfd *abfd)
-{
-  const bfd_arch_info_type *arch;
-
-  arch = bfd_get_arch_info (abfd);
-  switch (arch->arch)
-    {
-    default:
-      if (! ieee_write_id (abfd, bfd_printable_name (abfd)))
-	return FALSE;
-      break;
-
-    case bfd_arch_h8300:
-      if (! ieee_write_id (abfd, "H8/300"))
-	return FALSE;
-      break;
-
-    case bfd_arch_h8500:
-      if (! ieee_write_id (abfd, "H8/500"))
-	return FALSE;
-      break;
-
-    case bfd_arch_i960:
-      switch (arch->mach)
-	{
-	default:
-	case bfd_mach_i960_core:
-	case bfd_mach_i960_ka_sa:
-	  if (! ieee_write_id (abfd, "80960KA"))
-	    return FALSE;
-	  break;
-
-	case bfd_mach_i960_kb_sb:
-	  if (! ieee_write_id (abfd, "80960KB"))
-	    return FALSE;
-	  break;
-
-	case bfd_mach_i960_ca:
-	  if (! ieee_write_id (abfd, "80960CA"))
-	    return FALSE;
-	  break;
-
-	case bfd_mach_i960_mc:
-	case bfd_mach_i960_xa:
-	  if (! ieee_write_id (abfd, "80960MC"))
-	    return FALSE;
-	  break;
-	}
-      break;
-
-    case bfd_arch_m68k:
-      {
-	const char *id;
-
-	switch (arch->mach)
-	  {
-	  default:		id = "68020"; break;
-	  case bfd_mach_m68000: id = "68000"; break;
-	  case bfd_mach_m68008: id = "68008"; break;
-	  case bfd_mach_m68010: id = "68010"; break;
-	  case bfd_mach_m68020: id = "68020"; break;
-	  case bfd_mach_m68030: id = "68030"; break;
-	  case bfd_mach_m68040: id = "68040"; break;
-	  case bfd_mach_m68060: id = "68060"; break;
-	  case bfd_mach_cpu32:  id = "cpu32"; break;
-	  case bfd_mach_mcf_isa_a_nodiv: id = "isa-a:nodiv"; break;
-	  case bfd_mach_mcf_isa_a: id = "isa-a"; break;
-	  case bfd_mach_mcf_isa_a_mac: id = "isa-a:mac"; break;
-	  case bfd_mach_mcf_isa_a_emac: id = "isa-a:emac"; break;
-	  case bfd_mach_mcf_isa_aplus: id = "isa-aplus"; break;
-	  case bfd_mach_mcf_isa_aplus_mac: id = "isa-aplus:mac"; break;
-	  case bfd_mach_mcf_isa_aplus_emac: id = "isa-aplus:mac"; break;
-	  case bfd_mach_mcf_isa_b_nousp: id = "isa-b:nousp"; break;
-	  case bfd_mach_mcf_isa_b_nousp_mac: id = "isa-b:nousp:mac"; break;
-	  case bfd_mach_mcf_isa_b_nousp_emac: id = "isa-b:nousp:emac"; break;
-	  case bfd_mach_mcf_isa_b: id = "isa-b"; break;
-	  case bfd_mach_mcf_isa_b_mac: id = "isa-b:mac"; break;
-	  case bfd_mach_mcf_isa_b_emac: id = "isa-b:emac"; break;
-	  case bfd_mach_mcf_isa_b_float: id = "isa-b:float"; break;
-	  case bfd_mach_mcf_isa_b_float_mac: id = "isa-b:float:mac"; break;
-	  case bfd_mach_mcf_isa_b_float_emac: id = "isa-b:float:emac"; break;
-	  case bfd_mach_mcf_isa_c: id = "isa-c"; break;
-	  case bfd_mach_mcf_isa_c_mac: id = "isa-c:mac"; break;
-	  case bfd_mach_mcf_isa_c_emac: id = "isa-c:emac"; break;
-	  case bfd_mach_mcf_isa_c_nodiv: id = "isa-c:nodiv"; break;
-	  case bfd_mach_mcf_isa_c_nodiv_mac: id = "isa-c:nodiv:mac"; break;
-	  case bfd_mach_mcf_isa_c_nodiv_emac: id = "isa-c:nodiv:emac"; break;
-	  }
-
-	if (! ieee_write_id (abfd, id))
-	  return FALSE;
-      }
-      break;
-    }
-
-  return TRUE;
-}
-
-static bfd_boolean
-ieee_write_object_contents (bfd *abfd)
-{
-  ieee_data_type *ieee = IEEE_DATA (abfd);
-  unsigned int i;
-  file_ptr old;
-
-  /* Fast forward over the header area.  */
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
-    return FALSE;
-
-  if (! ieee_write_byte (abfd, ieee_module_beginning_enum)
-      || ! ieee_write_processor (abfd)
-      || ! ieee_write_id (abfd, abfd->filename))
-    return FALSE;
-
-  /* Fast forward over the variable bits.  */
-  if (! ieee_write_byte (abfd, ieee_address_descriptor_enum))
-    return FALSE;
-
-  /* Bits per MAU.  */
-  if (! ieee_write_byte (abfd, (bfd_byte) (bfd_arch_bits_per_byte (abfd))))
-    return FALSE;
-  /* MAU's per address.  */
-  if (! ieee_write_byte (abfd,
-			 (bfd_byte) (bfd_arch_bits_per_address (abfd)
-				     / bfd_arch_bits_per_byte (abfd))))
-    return FALSE;
-
-  old = bfd_tell (abfd);
-  if (bfd_seek (abfd, (file_ptr) (8 * N_W_VARIABLES), SEEK_CUR) != 0)
-    return FALSE;
-
-  ieee->w.r.extension_record = bfd_tell (abfd);
-  if (bfd_bwrite ((char *) exten, (bfd_size_type) sizeof (exten), abfd)
-      != sizeof (exten))
-    return FALSE;
-  if (abfd->flags & EXEC_P)
-    {
-      if (! ieee_write_byte (abfd, 0x1)) /* Absolute.  */
-	return FALSE;
-    }
-  else
-    {
-      if (! ieee_write_byte (abfd, 0x2)) /* Relocateable.  */
-	return FALSE;
-    }
-
-  ieee->w.r.environmental_record = bfd_tell (abfd);
-  if (bfd_bwrite ((char *) envi, (bfd_size_type) sizeof (envi), abfd)
-      != sizeof (envi))
-    return FALSE;
-
-  /* The HP emulator database requires a timestamp in the file.  */
-  {
-    time_t now;
-    const struct tm *t;
-
-    time (&now);
-    t = (struct tm *) localtime (&now);
-    if (! ieee_write_2bytes (abfd, (int) ieee_atn_record_enum)
-	|| ! ieee_write_byte (abfd, 0x21)
-	|| ! ieee_write_byte (abfd, 0)
-	|| ! ieee_write_byte (abfd, 50)
-	|| ! ieee_write_int (abfd, (bfd_vma) (t->tm_year + 1900))
-	|| ! ieee_write_int (abfd, (bfd_vma) (t->tm_mon + 1))
-	|| ! ieee_write_int (abfd, (bfd_vma) t->tm_mday)
-	|| ! ieee_write_int (abfd, (bfd_vma) t->tm_hour)
-	|| ! ieee_write_int (abfd, (bfd_vma) t->tm_min)
-	|| ! ieee_write_int (abfd, (bfd_vma) t->tm_sec))
-      return FALSE;
-  }
-
-  output_bfd = abfd;
-
-  flush ();
-
-  if (! ieee_write_section_part (abfd))
-    return FALSE;
-  /* First write the symbols.  This changes their values into table
-    indeces so we cant use it after this point.  */
-  if (! ieee_write_external_part (abfd))
-    return FALSE;
-
-  /* Write any debugs we have been told about.  */
-  if (! ieee_write_debug_part (abfd))
-    return FALSE;
-
-  /* Can only write the data once the symbols have been written, since
-     the data contains relocation information which points to the
-     symbols.  */
-  if (! ieee_write_data_part (abfd))
-    return FALSE;
-
-  /* At the end we put the end!  */
-  if (! ieee_write_me_part (abfd))
-    return FALSE;
-
-  /* Generate the header.  */
-  if (bfd_seek (abfd, old, SEEK_SET) != 0)
-    return FALSE;
-
-  for (i = 0; i < N_W_VARIABLES; i++)
-    {
-      if (! ieee_write_2bytes (abfd, ieee_assign_value_to_variable_enum)
-	  || ! ieee_write_byte (abfd, (bfd_byte) i)
-	  || ! ieee_write_int5_out (abfd, (bfd_vma) ieee->w.offset[i]))
-	return FALSE;
-    }
-
-  return TRUE;
-}
-
-/* Native-level interface to symbols.  */
-
-/* We read the symbols into a buffer, which is discarded when this
-   function exits.  We read the strings into a buffer large enough to
-   hold them all plus all the cached symbol entries.  */
-
-static asymbol *
-ieee_make_empty_symbol (bfd *abfd)
-{
-  bfd_size_type amt = sizeof (ieee_symbol_type);
-  ieee_symbol_type *new_symbol = (ieee_symbol_type *) bfd_zalloc (abfd, amt);
-
-  if (!new_symbol)
-    return NULL;
-  new_symbol->symbol.the_bfd = abfd;
-  return &new_symbol->symbol;
-}
-
-static bfd *
-ieee_openr_next_archived_file (bfd *arch, bfd *prev)
-{
-  ieee_ar_data_type *ar = IEEE_AR_DATA (arch);
-
-  /* Take the next one from the arch state, or reset.  */
-  if (prev == (bfd *) NULL)
-    /* Reset the index - the first two entries are bogus.  */
-    ar->element_index = 2;
-
-  while (TRUE)
-    {
-      ieee_ar_obstack_type *p = ar->elements + ar->element_index;
-
-      ar->element_index++;
-      if (ar->element_index <= ar->element_count)
-	{
-	  if (p->file_offset != (file_ptr) 0)
-	    {
-	      if (p->abfd == (bfd *) NULL)
-		{
-		  p->abfd = _bfd_create_empty_archive_element_shell (arch);
-		  p->abfd->origin = p->file_offset;
-		}
-	      return p->abfd;
-	    }
-	}
-      else
-	{
-	  bfd_set_error (bfd_error_no_more_archived_files);
-	  return NULL;
-	}
-    }
-}
-
-#define ieee_find_nearest_line _bfd_nosymbols_find_nearest_line
-#define ieee_find_line	       _bfd_nosymbols_find_line
-#define ieee_find_inliner_info _bfd_nosymbols_find_inliner_info
-
-static int
-ieee_generic_stat_arch_elt (bfd *abfd, struct stat *buf)
-{
-  ieee_ar_data_type *ar = (ieee_ar_data_type *) NULL;
-  ieee_data_type *ieee;
-
-  if (abfd->my_archive != NULL)
-    ar = abfd->my_archive->tdata.ieee_ar_data;
-  if (ar == (ieee_ar_data_type *) NULL)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return -1;
-    }
-
-  if (IEEE_DATA (abfd) == NULL)
-    {
-      if (ieee_object_p (abfd) == NULL)
-	{
-	  bfd_set_error (bfd_error_wrong_format);
-	  return -1;
-	}
-    }
-
-  ieee = IEEE_DATA (abfd);
-
-  buf->st_size = ieee->w.r.me_record + 1;
-  buf->st_mode = 0644;
-  return 0;
-}
-
-static int
-ieee_sizeof_headers (bfd *abfd ATTRIBUTE_UNUSED,
-		     struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  return 0;
-}
-
-#define	ieee_close_and_cleanup _bfd_generic_close_and_cleanup
-#define ieee_bfd_free_cached_info _bfd_generic_bfd_free_cached_info
-
-#define ieee_slurp_armap bfd_true
-#define ieee_slurp_extended_name_table bfd_true
-#define ieee_construct_extended_name_table \
-  ((bfd_boolean (*) \
-    (bfd *, char **, bfd_size_type *, const char **)) \
-   bfd_true)
-#define ieee_truncate_arname bfd_dont_truncate_arname
-#define ieee_write_armap \
-  ((bfd_boolean (*) \
-    (bfd *, unsigned int, struct orl *, unsigned int, int)) \
-   bfd_true)
-#define ieee_read_ar_hdr bfd_nullvoidptr
-#define ieee_write_ar_hdr ((bfd_boolean (*) (bfd *, bfd *)) bfd_false)
-#define ieee_update_armap_timestamp bfd_true
-#define ieee_get_elt_at_index _bfd_generic_get_elt_at_index
-
-#define ieee_get_symbol_version_string \
-  _bfd_nosymbols_get_symbol_version_string
-#define ieee_bfd_is_target_special_symbol  \
-  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
-#define ieee_bfd_is_local_label_name bfd_generic_is_local_label_name
-#define ieee_get_lineno _bfd_nosymbols_get_lineno
-#define ieee_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
-#define ieee_read_minisymbols _bfd_generic_read_minisymbols
-#define ieee_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol
-
-#define ieee_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
-#define ieee_bfd_reloc_name_lookup _bfd_norelocs_bfd_reloc_name_lookup
-
-#define ieee_set_arch_mach _bfd_generic_set_arch_mach
-
-#define ieee_get_section_contents_in_window \
-  _bfd_generic_get_section_contents_in_window
-#define ieee_bfd_get_relocated_section_contents \
-  bfd_generic_get_relocated_section_contents
-#define ieee_bfd_relax_section bfd_generic_relax_section
-#define ieee_bfd_gc_sections bfd_generic_gc_sections
-#define ieee_bfd_lookup_section_flags bfd_generic_lookup_section_flags
-#define ieee_bfd_merge_sections bfd_generic_merge_sections
-#define ieee_bfd_is_group_section bfd_generic_is_group_section
-#define ieee_bfd_discard_group bfd_generic_discard_group
-#define ieee_section_already_linked \
-  _bfd_generic_section_already_linked
-#define ieee_bfd_define_common_symbol bfd_generic_define_common_symbol
-#define ieee_bfd_define_start_stop bfd_generic_define_start_stop
-#define ieee_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
-#define ieee_bfd_link_add_symbols _bfd_generic_link_add_symbols
-#define ieee_bfd_link_just_syms _bfd_generic_link_just_syms
-#define ieee_bfd_copy_link_hash_symbol_type \
-  _bfd_generic_copy_link_hash_symbol_type
-#define ieee_bfd_final_link _bfd_generic_final_link
-#define ieee_bfd_link_split_section  _bfd_generic_link_split_section
-#define ieee_bfd_link_check_relocs   _bfd_generic_link_check_relocs
-#define ieee_set_reloc		     _bfd_generic_set_reloc
-
-const bfd_target ieee_vec =
-{
-  "ieee",			/* Name.  */
-  bfd_target_ieee_flavour,
-  BFD_ENDIAN_UNKNOWN,		/* Target byte order.  */
-  BFD_ENDIAN_UNKNOWN,		/* Target headers byte order.  */
-  (HAS_RELOC | EXEC_P |		/* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
-  (SEC_CODE | SEC_DATA | SEC_ROM | SEC_HAS_CONTENTS
-   | SEC_ALLOC | SEC_LOAD | SEC_RELOC),	/* Section flags.  */
-  '_',				/* Leading underscore.  */
-  ' ',				/* AR_pad_char.  */
-  16,				/* AR_max_namelen.  */
-  0,				/* match priority.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* Data.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* Headers.  */
-
-  {_bfd_dummy_target,
-   ieee_object_p,		/* bfd_check_format.  */
-   ieee_archive_p,
-   _bfd_dummy_target,
-  },
-  {
-    bfd_false,
-    ieee_mkobject,
-    _bfd_generic_mkarchive,
-    bfd_false
-  },
-  {
-    bfd_false,
-    ieee_write_object_contents,
-    _bfd_write_archive_contents,
-    bfd_false,
-  },
-
-  /* ieee_close_and_cleanup, ieee_bfd_free_cached_info, ieee_new_section_hook,
-     ieee_get_section_contents, ieee_get_section_contents_in_window.  */
-  BFD_JUMP_TABLE_GENERIC (ieee),
-
-  BFD_JUMP_TABLE_COPY (_bfd_generic),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-
-  /* ieee_slurp_armap, ieee_slurp_extended_name_table,
-     ieee_construct_extended_name_table, ieee_truncate_arname,
-     ieee_write_armap, ieee_read_ar_hdr, ieee_openr_next_archived_file,
-     ieee_get_elt_at_index, ieee_generic_stat_arch_elt,
-     ieee_update_armap_timestamp.  */
-  BFD_JUMP_TABLE_ARCHIVE (ieee),
-
-  /* ieee_get_symtab_upper_bound, ieee_canonicalize_symtab,
-     ieee_make_empty_symbol, ieee_print_symbol, ieee_get_symbol_info,
-     ieee_bfd_is_local_label_name, ieee_get_lineno,
-     ieee_find_nearest_line, ieee_bfd_make_debug_symbol,
-     ieee_read_minisymbols, ieee_minisymbol_to_symbol.  */
-  BFD_JUMP_TABLE_SYMBOLS (ieee),
-
-  /* ieee_get_reloc_upper_bound, ieee_canonicalize_reloc,
-     ieee_bfd_reloc_type_lookup.   */
-  BFD_JUMP_TABLE_RELOCS (ieee),
-
-  /* ieee_set_arch_mach, ieee_set_section_contents.  */
-  BFD_JUMP_TABLE_WRITE (ieee),
-
-  /* ieee_sizeof_headers, ieee_bfd_get_relocated_section_contents,
-     ieee_bfd_relax_section, ieee_bfd_link_hash_table_create,
-     ieee_bfd_link_add_symbols, ieee_bfd_final_link,
-     ieee_bfd_link_split_section, ieee_bfd_gc_sections,
-     ieee_bfd_merge_sections.  */
-  BFD_JUMP_TABLE_LINK (ieee),
-
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  NULL,
-
-  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.1.0.20180703/bfd/ihex.c ./bfd/ihex.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/ihex.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/ihex.c	2018-07-10 02:06:11.000000000 +0000
@@ -227,7 +227,7 @@ ihex_bad_byte (bfd *abfd, unsigned int l
 	}
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B:%d: unexpected character `%s' in Intel Hex file"),
+	(_("%pB:%d: unexpected character `%s' in Intel Hex file"),
 	 abfd, lineno, buf);
       bfd_set_error (bfd_error_bad_value);
     }
@@ -335,7 +335,7 @@ ihex_scan (bfd *abfd)
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B:%u: bad checksum in Intel Hex file (expected %u, found %u)"),
+		(_("%pB:%u: bad checksum in Intel Hex file (expected %u, found %u)"),
 		 abfd, lineno,
 		 (- chksum) & 0xff, (unsigned int) HEX2 (buf + 2 * i));
 	      bfd_set_error (bfd_error_bad_value);
@@ -391,7 +391,7 @@ ihex_scan (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B:%u: bad extended address record length in Intel Hex file"),
+		    (_("%pB:%u: bad extended address record length in Intel Hex file"),
 		     abfd, lineno);
 		  bfd_set_error (bfd_error_bad_value);
 		  goto error_return;
@@ -409,7 +409,7 @@ ihex_scan (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B:%u: bad extended start address length in Intel Hex file"),
+		    (_("%pB:%u: bad extended start address length in Intel Hex file"),
 		     abfd, lineno);
 		  bfd_set_error (bfd_error_bad_value);
 		  goto error_return;
@@ -427,7 +427,7 @@ ihex_scan (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B:%u: bad extended linear address record length in Intel Hex file"),
+		    (_("%pB:%u: bad extended linear address record length in Intel Hex file"),
 		     abfd, lineno);
 		  bfd_set_error (bfd_error_bad_value);
 		  goto error_return;
@@ -445,7 +445,7 @@ ihex_scan (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B:%u: bad extended linear start address length in Intel Hex file"),
+		    (_("%pB:%u: bad extended linear start address length in Intel Hex file"),
 		     abfd, lineno);
 		  bfd_set_error (bfd_error_bad_value);
 		  goto error_return;
@@ -463,7 +463,7 @@ ihex_scan (bfd *abfd)
 	    default:
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B:%u: unrecognized ihex type %u in Intel Hex file"),
+		(_("%pB:%u: unrecognized ihex type %u in Intel Hex file"),
 		 abfd, lineno, type);
 	      bfd_set_error (bfd_error_bad_value);
 	      goto error_return;
@@ -582,7 +582,7 @@ ihex_read_section (bfd *abfd, asection *
       if (type != 0)
 	{
 	  _bfd_error_handler
-	    (_("%B: internal error in ihex_read_section"), abfd);
+	    (_("%pB: internal error in ihex_read_section"), abfd);
 	  bfd_set_error (bfd_error_bad_value);
 	  goto error_return;
 	}
@@ -616,7 +616,7 @@ ihex_read_section (bfd *abfd, asection *
   if ((bfd_size_type) (p - contents) < section->size)
     {
       _bfd_error_handler
-	(_("%B: bad section length in ihex_read_section"), abfd);
+	(_("%pB: bad section length in ihex_read_section"), abfd);
       bfd_set_error (bfd_error_bad_value);
       goto error_return;
     }
@@ -827,8 +827,9 @@ ihex_write_object_contents (bfd *abfd)
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: address %#Lx out of range for Intel Hex file"),
-			 abfd, where);
+			(_("%pB: address %#" PRIx64
+			   " out of range for Intel Hex file"),
+			 abfd, (uint64_t) where);
 		      bfd_set_error (bfd_error_bad_value);
 		      return FALSE;
 		    }
@@ -918,13 +919,13 @@ ihex_sizeof_headers (bfd *abfd ATTRIBUTE
 #define ihex_bfd_free_cached_info		  _bfd_generic_bfd_free_cached_info
 #define ihex_new_section_hook			  _bfd_generic_new_section_hook
 #define ihex_get_section_contents_in_window	  _bfd_generic_get_section_contents_in_window
-#define ihex_get_symtab_upper_bound		  bfd_0l
-#define ihex_canonicalize_symtab		  ((long (*) (bfd *, asymbol **)) bfd_0l)
+#define ihex_get_symtab_upper_bound		  _bfd_long_bfd_0
+#define ihex_canonicalize_symtab		  _bfd_nosymbols_canonicalize_symtab
 #define ihex_make_empty_symbol			  _bfd_generic_make_empty_symbol
 #define ihex_print_symbol			  _bfd_nosymbols_print_symbol
 #define ihex_get_symbol_info			  _bfd_nosymbols_get_symbol_info
 #define ihex_get_symbol_version_string		  _bfd_nosymbols_get_symbol_version_string
-#define ihex_bfd_is_target_special_symbol	  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define ihex_bfd_is_target_special_symbol	  _bfd_bool_bfd_asymbol_false
 #define ihex_bfd_is_local_label_name		  _bfd_nosymbols_bfd_is_local_label_name
 #define ihex_get_lineno				  _bfd_nosymbols_get_lineno
 #define ihex_find_nearest_line			  _bfd_nosymbols_find_nearest_line
@@ -942,6 +943,7 @@ ihex_sizeof_headers (bfd *abfd ATTRIBUTE
 #define ihex_bfd_discard_group			  bfd_generic_discard_group
 #define ihex_section_already_linked		  _bfd_generic_section_already_linked
 #define ihex_bfd_define_common_symbol		  bfd_generic_define_common_symbol
+#define ihex_bfd_link_hide_symbol		  _bfd_generic_link_hide_symbol
 #define ihex_bfd_define_start_stop		  bfd_generic_define_start_stop
 #define ihex_bfd_link_hash_table_create		  _bfd_generic_link_hash_table_create
 #define ihex_bfd_link_add_symbols		  _bfd_generic_link_add_symbols
@@ -979,16 +981,16 @@ const bfd_target ihex_vec =
     _bfd_dummy_target,
   },
   {
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     ihex_mkobject,
     _bfd_generic_mkarchive,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents.  */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     ihex_write_object_contents,
     _bfd_write_archive_contents,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (ihex),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/irix-core.c ./bfd/irix-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/irix-core.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/irix-core.c	2018-07-10 02:06:11.000000000 +0000
@@ -307,12 +307,16 @@ const bfd_target core_irix_vec =
       irix_core_core_file_p		/* a core file */
     },
     {				/* bfd_set_format */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
     {				/* bfd_write_contents */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libaout.h ./bfd/libaout.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libaout.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/libaout.h	2018-07-10 02:06:11.000000000 +0000
@@ -349,7 +349,7 @@ typedef struct aout_symbol
 
 enum aout_subformat {
   default_format = 0,
-  /* Used on HP 9000/300 running HP/UX.  See hp300hpux.c.  */
+  /* Used on HP 9000/300 running HP/UX.  */
   gnu_encap_format,
   /* Used on Linux, 386BSD, etc.  See include/aout/aout64.h.  */
   q_magic_format
@@ -617,8 +617,7 @@ extern bfd_boolean NAME (aout, bfd_free_
 #endif
 
 #ifndef aout_32_bfd_is_target_special_symbol
-#define aout_32_bfd_is_target_special_symbol \
-  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define aout_32_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
 #endif
 
 #ifndef WRITE_HEADERS
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libbfd.c ./bfd/libbfd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libbfd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/libbfd.c	2018-07-10 02:06:11.000000000 +0000
@@ -40,21 +40,87 @@ DESCRIPTION
 	completeness.
 */
 
+bfd_boolean
+_bfd_bool_bfd_false (bfd *abfd ATTRIBUTE_UNUSED)
+{
+  return FALSE;
+}
+
+bfd_boolean
+_bfd_bool_bfd_asymbol_false (bfd *abfd ATTRIBUTE_UNUSED,
+			     asymbol *sym ATTRIBUTE_UNUSED)
+{
+  return FALSE;
+}
+
 /* A routine which is used in target vectors for unsupported
    operations.  */
 
 bfd_boolean
-bfd_false (bfd *ignore ATTRIBUTE_UNUSED)
+_bfd_bool_bfd_false_error (bfd *ignore ATTRIBUTE_UNUSED)
 {
   bfd_set_error (bfd_error_invalid_operation);
   return FALSE;
 }
 
+bfd_boolean
+_bfd_bool_bfd_link_false_error (bfd *abfd,
+				struct bfd_link_info *info ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
+
 /* A routine which is used in target vectors for supported operations
    which do not actually do anything.  */
 
 bfd_boolean
-bfd_true (bfd *ignore ATTRIBUTE_UNUSED)
+_bfd_bool_bfd_true (bfd *ignore ATTRIBUTE_UNUSED)
+{
+  return TRUE;
+}
+
+bfd_boolean
+_bfd_bool_bfd_link_true (bfd *abfd ATTRIBUTE_UNUSED,
+			 struct bfd_link_info *info ATTRIBUTE_UNUSED)
+{
+  return TRUE;
+}
+
+bfd_boolean
+_bfd_bool_bfd_bfd_true (bfd *ibfd ATTRIBUTE_UNUSED,
+			bfd *obfd ATTRIBUTE_UNUSED)
+{
+  return TRUE;
+}
+
+bfd_boolean
+_bfd_bool_bfd_uint_true (bfd *abfd ATTRIBUTE_UNUSED,
+			 unsigned int flags ATTRIBUTE_UNUSED)
+{
+  return TRUE;
+}
+
+bfd_boolean
+_bfd_bool_bfd_asection_bfd_asection_true (bfd *ibfd ATTRIBUTE_UNUSED,
+					  asection *isec ATTRIBUTE_UNUSED,
+					  bfd *obfd ATTRIBUTE_UNUSED,
+					  asection *osec ATTRIBUTE_UNUSED)
+{
+  return TRUE;
+}
+
+bfd_boolean
+_bfd_bool_bfd_asymbol_bfd_asymbol_true (bfd *ibfd ATTRIBUTE_UNUSED,
+					asymbol *isym ATTRIBUTE_UNUSED,
+					bfd *obfd ATTRIBUTE_UNUSED,
+					asymbol *osym ATTRIBUTE_UNUSED)
+{
+  return TRUE;
+}
+
+bfd_boolean
+_bfd_bool_bfd_ptr_true (bfd *abfd ATTRIBUTE_UNUSED,
+			void *ptr ATTRIBUTE_UNUSED)
 {
   return TRUE;
 }
@@ -63,26 +129,26 @@ bfd_true (bfd *ignore ATTRIBUTE_UNUSED)
    operations which return a pointer value.  */
 
 void *
-bfd_nullvoidptr (bfd *ignore ATTRIBUTE_UNUSED)
+_bfd_ptr_bfd_null_error (bfd *ignore ATTRIBUTE_UNUSED)
 {
   bfd_set_error (bfd_error_invalid_operation);
   return NULL;
 }
 
 int
-bfd_0 (bfd *ignore ATTRIBUTE_UNUSED)
+_bfd_int_bfd_0 (bfd *ignore ATTRIBUTE_UNUSED)
 {
   return 0;
 }
 
 unsigned int
-bfd_0u (bfd *ignore ATTRIBUTE_UNUSED)
+_bfd_uint_bfd_0 (bfd *ignore ATTRIBUTE_UNUSED)
 {
    return 0;
 }
 
 long
-bfd_0l (bfd *ignore ATTRIBUTE_UNUSED)
+_bfd_long_bfd_0 (bfd *ignore ATTRIBUTE_UNUSED)
 {
   return 0;
 }
@@ -91,14 +157,26 @@ bfd_0l (bfd *ignore ATTRIBUTE_UNUSED)
    operations which return -1 on error.  */
 
 long
-_bfd_n1 (bfd *ignore_abfd ATTRIBUTE_UNUSED)
+_bfd_long_bfd_n1_error (bfd *ignore_abfd ATTRIBUTE_UNUSED)
 {
   bfd_set_error (bfd_error_invalid_operation);
   return -1;
 }
 
 void
-bfd_void (bfd *ignore ATTRIBUTE_UNUSED)
+_bfd_void_bfd (bfd *ignore ATTRIBUTE_UNUSED)
+{
+}
+
+void
+_bfd_void_bfd_link (bfd *abfd ATTRIBUTE_UNUSED,
+		    struct bfd_link_info *info ATTRIBUTE_UNUSED)
+{
+}
+
+void
+_bfd_void_bfd_asection (bfd *abfd ATTRIBUTE_UNUSED,
+			asection *sec ATTRIBUTE_UNUSED)
 {
 }
 
@@ -535,6 +613,27 @@ bfd_putl16 (bfd_vma data, void *p)
   addr[1] = (data >> 8) & 0xff;
 }
 
+
+void
+bfd_putb24 (bfd_vma data, void *p)
+{
+  bfd_byte *addr = (bfd_byte *) p;
+  addr[0] = (data >> 16) & 0xff;
+  addr[1] = (data >> 8) & 0xff;
+  addr[2] = data & 0xff;
+}
+
+
+void
+bfd_putl24 (bfd_vma data, void *p)
+{
+  bfd_byte *addr = (bfd_byte *) p;
+  addr[0] = data & 0xff;
+  addr[1] = (data >> 8) & 0xff;
+  addr[2] = (data >> 16) & 0xff;
+}
+
+
 bfd_vma
 bfd_getb32 (const void *p)
 {
@@ -796,7 +895,7 @@ _bfd_generic_get_section_contents (bfd *
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: unable to get decompressed section %A"),
+	(_("%pB: unable to get decompressed section %pA"),
 	 abfd, section);
       bfd_set_error (bfd_error_invalid_operation);
       return FALSE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libbfd.h ./bfd/libbfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libbfd.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/libbfd.h	2018-07-10 02:06:11.000000000 +0000
@@ -27,6 +27,17 @@
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
    MA 02110-1301, USA.  */
 
+#ifndef _LIBBFD_H
+#define _LIBBFD_H 1
+
+#ifndef ATTRIBUTE_HIDDEN
+#if HAVE_HIDDEN
+#define ATTRIBUTE_HIDDEN __attribute__ ((__visibility__ ("hidden")))
+#else
+#define ATTRIBUTE_HIDDEN
+#endif
+#endif
+
 #include "hashtab.h"
 
 #ifdef __cplusplus
@@ -58,6 +69,9 @@ struct section_hash_entry
   asection section;
 };
 
+/* Unique section id.  */
+extern unsigned int _bfd_section_id ATTRIBUTE_HIDDEN;
+
 /* tdata for an archive.  For an input archive, cache
    needs to be free()'d.  For an output archive, symdefs do.  */
 
@@ -100,53 +114,49 @@ struct areltdata
 #define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size)
 
 extern void *bfd_malloc
-  (bfd_size_type);
+  (bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_realloc
-  (void *, bfd_size_type);
+  (void *, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_realloc_or_free
-  (void *, bfd_size_type);
+  (void *, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_zmalloc
-  (bfd_size_type);
+  (bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_malloc2
-  (bfd_size_type, bfd_size_type);
+  (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_realloc2
-  (void *, bfd_size_type, bfd_size_type);
+  (void *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_zmalloc2
-  (bfd_size_type, bfd_size_type);
-
-extern void _bfd_error_handler (const char *s, ...);
+  (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN;
 
 /* These routines allocate and free things on the BFD's objalloc.  */
 
 extern void *bfd_alloc2
-  (bfd *, bfd_size_type, bfd_size_type);
+  (bfd *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_zalloc2
-  (bfd *, bfd_size_type, bfd_size_type);
+  (bfd *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void bfd_release
-  (bfd *, void *);
+  (bfd *, void *) ATTRIBUTE_HIDDEN;
 
-bfd * _bfd_create_empty_archive_element_shell
-  (bfd *obfd);
-bfd * _bfd_look_for_bfd_in_cache
-  (bfd *, file_ptr);
-bfd_boolean _bfd_add_bfd_to_archive_cache
-  (bfd *, file_ptr, bfd *);
-bfd_boolean _bfd_generic_mkarchive
-  (bfd *abfd);
-char *_bfd_append_relative_path
-  (bfd *arch, char *elt_name);
-const bfd_target *bfd_generic_archive_p
-  (bfd *abfd);
-bfd_boolean bfd_slurp_armap
-  (bfd *abfd);
-bfd_boolean bfd_slurp_bsd_armap_f2
-  (bfd *abfd);
+extern bfd * _bfd_create_empty_archive_element_shell
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd * _bfd_look_for_bfd_in_cache
+  (bfd *, file_ptr) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_add_bfd_to_archive_cache
+  (bfd *, file_ptr, bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_generic_mkarchive
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern char *_bfd_append_relative_path
+  (bfd *, char *) ATTRIBUTE_HIDDEN;
+extern const bfd_target *bfd_generic_archive_p
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean bfd_slurp_armap
+  (bfd *) ATTRIBUTE_HIDDEN;
 #define bfd_slurp_bsd_armap bfd_slurp_armap
 #define bfd_slurp_coff_armap bfd_slurp_armap
-bfd_boolean _bfd_archive_64_bit_slurp_armap
-  (bfd *);
-bfd_boolean _bfd_archive_64_bit_write_armap
-  (bfd *, unsigned int, struct orl *, unsigned int, int);
+extern bfd_boolean _bfd_archive_64_bit_slurp_armap
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_archive_64_bit_write_armap
+  (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
 #define _bfd_archive_64_bit_slurp_extended_name_table \
   _bfd_slurp_extended_name_table
 #define _bfd_archive_64_bit_construct_extended_name_table \
@@ -163,84 +173,103 @@ bfd_boolean _bfd_archive_64_bit_write_ar
   _bfd_generic_get_elt_at_index
 #define _bfd_archive_64_bit_generic_stat_arch_elt \
   bfd_generic_stat_arch_elt
-#define _bfd_archive_64_bit_update_armap_timestamp \
-  bfd_true
+#define _bfd_archive_64_bit_update_armap_timestamp _bfd_bool_bfd_true
 
-bfd_boolean _bfd_slurp_extended_name_table
-  (bfd *abfd);
+extern bfd_boolean _bfd_slurp_extended_name_table
+  (bfd *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_construct_extended_name_table
-  (bfd *, bfd_boolean, char **, bfd_size_type *);
-bfd_boolean _bfd_write_archive_contents
-  (bfd *abfd);
-bfd_boolean _bfd_compute_and_write_armap
-  (bfd *, unsigned int elength);
-bfd *_bfd_get_elt_at_filepos
-  (bfd *archive, file_ptr filepos);
+  (bfd *, bfd_boolean, char **, bfd_size_type *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_write_archive_contents
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_compute_and_write_armap
+  (bfd *, unsigned int) ATTRIBUTE_HIDDEN;
+extern bfd *_bfd_get_elt_at_filepos
+  (bfd *, file_ptr) ATTRIBUTE_HIDDEN;
 extern bfd *_bfd_generic_get_elt_at_index
-  (bfd *, symindex);
-bfd * _bfd_new_bfd
-  (void);
-bfd_boolean _bfd_free_cached_info
-  (bfd *);
-
-bfd_boolean bfd_false
-  (bfd *ignore);
-bfd_boolean bfd_true
-  (bfd *ignore);
-void *bfd_nullvoidptr
-  (bfd *ignore);
-int bfd_0
-  (bfd *ignore);
-unsigned int bfd_0u
-  (bfd *ignore);
-long bfd_0l
-  (bfd *ignore);
-long _bfd_n1
-  (bfd *ignore);
-void bfd_void
-  (bfd *ignore);
-
-bfd *_bfd_new_bfd_contained_in
-  (bfd *);
-const bfd_target *_bfd_dummy_target
-  (bfd *abfd);
-
-void bfd_dont_truncate_arname
-  (bfd *abfd, const char *filename, char *hdr);
-void bfd_bsd_truncate_arname
-  (bfd *abfd, const char *filename, char *hdr);
-void bfd_gnu_truncate_arname
-  (bfd *abfd, const char *filename, char *hdr);
-
-bfd_boolean _bfd_bsd_write_armap
-  (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
-   int stridx);
-
-bfd_boolean _bfd_coff_write_armap
-  (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
-   int stridx);
+  (bfd *, symindex) ATTRIBUTE_HIDDEN;
+extern bfd * _bfd_new_bfd
+  (void) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_free_cached_info
+  (bfd *) ATTRIBUTE_HIDDEN;
+
+extern bfd_boolean _bfd_bool_bfd_false
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_asymbol_false
+  (bfd *, asymbol *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_false_error
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_link_false_error
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_true
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_link_true
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_bfd_true
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_uint_true
+  (bfd *, unsigned int) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_asection_bfd_asection_true
+  (bfd *, asection *, bfd *, asection *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_asymbol_bfd_asymbol_true
+  (bfd *, asymbol *, bfd *, asymbol *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_ptr_true
+  (bfd *, void *) ATTRIBUTE_HIDDEN;
+extern void *_bfd_ptr_bfd_null_error
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern int _bfd_int_bfd_0
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern unsigned int _bfd_uint_bfd_0
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern long _bfd_long_bfd_0
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern long _bfd_long_bfd_n1_error
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern void _bfd_void_bfd
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern void _bfd_void_bfd_link
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern void _bfd_void_bfd_asection
+  (bfd *, asection *) ATTRIBUTE_HIDDEN;
+
+extern bfd *_bfd_new_bfd_contained_in
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern const bfd_target *_bfd_dummy_target
+  (bfd *) ATTRIBUTE_HIDDEN;
+
+extern void bfd_dont_truncate_arname
+  (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
+extern void bfd_bsd_truncate_arname
+  (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
+extern void bfd_gnu_truncate_arname
+  (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
+
+extern bfd_boolean _bfd_bsd_write_armap
+  (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
+
+extern bfd_boolean _bfd_coff_write_armap
+  (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
 
 extern void *_bfd_generic_read_ar_hdr
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 extern void _bfd_ar_spacepad
-  (char *, size_t, const char *, long);
+  (char *, size_t, const char *, long) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_ar_sizepad
-  (char *, size_t, bfd_size_type);
+  (char *, size_t, bfd_size_type) ATTRIBUTE_HIDDEN;
 
 extern void *_bfd_generic_read_ar_hdr_mag
-  (bfd *, const char *);
+  (bfd *, const char *) ATTRIBUTE_HIDDEN;
 
 extern bfd_boolean _bfd_generic_write_ar_hdr
-  (bfd *, bfd *);
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
 
 extern bfd_boolean _bfd_bsd44_write_ar_hdr
-  (bfd *, bfd *);
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
 
-bfd * bfd_generic_openr_next_archived_file
-  (bfd *archive, bfd *last_file);
+extern bfd * bfd_generic_openr_next_archived_file
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
 
-int bfd_generic_stat_arch_elt
-  (bfd *, struct stat *);
+extern int bfd_generic_stat_arch_elt
+  (bfd *, struct stat *) ATTRIBUTE_HIDDEN;
 
 #define _bfd_read_ar_hdr(abfd) \
 	BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd))
@@ -252,70 +281,67 @@ int bfd_generic_stat_arch_elt
 
 #define _bfd_generic_close_and_cleanup _bfd_archive_close_and_cleanup
 extern bfd_boolean _bfd_archive_close_and_cleanup
-  (bfd *);
-#define _bfd_generic_bfd_free_cached_info bfd_true
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern void _bfd_unlink_from_archive_parent (bfd *) ATTRIBUTE_HIDDEN;
+#define _bfd_generic_bfd_free_cached_info _bfd_bool_bfd_true
 extern bfd_boolean _bfd_generic_new_section_hook
-  (bfd *, asection *);
+  (bfd *, asection *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_generic_get_section_contents
-  (bfd *, asection *, void *, file_ptr, bfd_size_type);
+  (bfd *, asection *, void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_generic_get_section_contents_in_window
-  (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type);
+  (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN;
 
 /* Generic routines to use for BFD_JUMP_TABLE_COPY.  Use
    BFD_JUMP_TABLE_COPY (_bfd_generic).  */
 
-#define _bfd_generic_bfd_copy_private_bfd_data \
-  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
+#define _bfd_generic_bfd_copy_private_bfd_data _bfd_bool_bfd_bfd_true
 #define _bfd_generic_bfd_merge_private_bfd_data \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_true)
-#define _bfd_generic_bfd_set_private_flags \
-  ((bfd_boolean (*) (bfd *, flagword)) bfd_true)
+  _bfd_bool_bfd_link_true
+#define _bfd_generic_bfd_set_private_flags _bfd_bool_bfd_uint_true
 #define _bfd_generic_bfd_copy_private_section_data \
-  ((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true)
+  _bfd_bool_bfd_asection_bfd_asection_true
 #define _bfd_generic_bfd_copy_private_symbol_data \
-  ((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true)
-#define _bfd_generic_bfd_copy_private_header_data \
-  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
-#define _bfd_generic_bfd_print_private_bfd_data \
-  ((bfd_boolean (*) (bfd *, void *)) bfd_true)
+  _bfd_bool_bfd_asymbol_bfd_asymbol_true
+#define _bfd_generic_bfd_copy_private_header_data _bfd_bool_bfd_bfd_true
+#define _bfd_generic_bfd_print_private_bfd_data _bfd_bool_bfd_ptr_true
 
 extern bfd_boolean _bfd_generic_init_private_section_data
-  (bfd *, asection *, bfd *, asection *, struct bfd_link_info *);
+  (bfd *, asection *, bfd *, asection *, struct bfd_link_info *)
+  ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file
    support.  Use BFD_JUMP_TABLE_CORE (_bfd_nocore).  */
 
 extern char *_bfd_nocore_core_file_failing_command
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 extern int _bfd_nocore_core_file_failing_signal
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_nocore_core_file_matches_executable_p
-  (bfd *, bfd *);
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
 extern int _bfd_nocore_core_file_pid
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive
    file support.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive).  */
 
-#define _bfd_noarchive_slurp_armap bfd_false
-#define _bfd_noarchive_slurp_extended_name_table bfd_false
-#define _bfd_noarchive_construct_extended_name_table \
-  ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) \
-   bfd_false)
-#define _bfd_noarchive_truncate_arname \
-  ((void (*) (bfd *, const char *, char *)) bfd_void)
-#define _bfd_noarchive_write_armap \
-  ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \
-   bfd_false)
-#define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr
-#define _bfd_noarchive_write_ar_hdr \
-  ((bfd_boolean (*) (bfd *, bfd *)) bfd_false)
-#define _bfd_noarchive_openr_next_archived_file \
-  ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr)
-#define _bfd_noarchive_get_elt_at_index \
-  ((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr)
+#define _bfd_noarchive_slurp_armap _bfd_bool_bfd_false_error
+#define _bfd_noarchive_slurp_extended_name_table _bfd_bool_bfd_false_error
+extern bfd_boolean _bfd_noarchive_construct_extended_name_table
+  (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
+extern void _bfd_noarchive_truncate_arname
+  (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_noarchive_write_armap
+  (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
+#define _bfd_noarchive_read_ar_hdr _bfd_ptr_bfd_null_error
+extern bfd_boolean _bfd_noarchive_write_ar_hdr
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
+extern bfd *
+_bfd_noarchive_openr_next_archived_file
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
+extern bfd * _bfd_noarchive_get_elt_at_index
+  (bfd *, symindex) ATTRIBUTE_HIDDEN;
 #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt
-#define _bfd_noarchive_update_armap_timestamp bfd_false
+#define _bfd_noarchive_update_armap_timestamp _bfd_bool_bfd_false_error
 
 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD style
    archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd).  */
@@ -324,7 +350,7 @@ extern int _bfd_nocore_core_file_pid
 #define _bfd_archive_bsd_slurp_extended_name_table \
   _bfd_slurp_extended_name_table
 extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table
-  (bfd *, char **, bfd_size_type *, const char **);
+  (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
 #define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname
 #define _bfd_archive_bsd_write_armap _bfd_bsd_write_armap
 #define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr
@@ -335,7 +361,7 @@ extern bfd_boolean _bfd_archive_bsd_cons
 #define _bfd_archive_bsd_generic_stat_arch_elt \
   bfd_generic_stat_arch_elt
 extern bfd_boolean _bfd_archive_bsd_update_armap_timestamp
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style
    archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff).  */
@@ -344,7 +370,7 @@ extern bfd_boolean _bfd_archive_bsd_upda
 #define _bfd_archive_coff_slurp_extended_name_table \
   _bfd_slurp_extended_name_table
 extern bfd_boolean _bfd_archive_coff_construct_extended_name_table
-  (bfd *, char **, bfd_size_type *, const char **);
+  (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
 #define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname
 #define _bfd_archive_coff_write_armap _bfd_coff_write_armap
 #define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr
@@ -354,7 +380,7 @@ extern bfd_boolean _bfd_archive_coff_con
 #define _bfd_archive_coff_get_elt_at_index _bfd_generic_get_elt_at_index
 #define _bfd_archive_coff_generic_stat_arch_elt \
   bfd_generic_stat_arch_elt
-#define _bfd_archive_coff_update_armap_timestamp bfd_true
+#define _bfd_archive_coff_update_armap_timestamp _bfd_bool_bfd_true
 
 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD4.4 style
    archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd44).  */
@@ -363,7 +389,7 @@ extern bfd_boolean _bfd_archive_coff_con
 #define _bfd_archive_bsd44_slurp_extended_name_table \
   _bfd_slurp_extended_name_table
 extern bfd_boolean _bfd_archive_bsd44_construct_extended_name_table
-  (bfd *, char **, bfd_size_type *, const char **);
+  (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
 #define _bfd_archive_bsd44_truncate_arname bfd_bsd_truncate_arname
 #define _bfd_archive_bsd44_write_armap _bfd_bsd_write_armap
 #define _bfd_archive_bsd44_read_ar_hdr _bfd_generic_read_ar_hdr
@@ -380,7 +406,8 @@ extern bfd_boolean _bfd_archive_bsd44_co
    archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_vms_lib).  Some of them
    are irrelevant.  */
 
-extern bfd_boolean _bfd_vms_lib_write_archive_contents (bfd *arch);
+extern bfd_boolean _bfd_vms_lib_write_archive_contents
+  (bfd *) ATTRIBUTE_HIDDEN;
 #define _bfd_vms_lib_slurp_armap _bfd_noarchive_slurp_armap
 #define _bfd_vms_lib_slurp_extended_name_table \
   _bfd_noarchive_slurp_extended_name_table
@@ -390,139 +417,130 @@ extern bfd_boolean _bfd_vms_lib_write_ar
 #define _bfd_vms_lib_write_armap _bfd_noarchive_write_armap
 #define _bfd_vms_lib_read_ar_hdr _bfd_noarchive_read_ar_hdr
 #define _bfd_vms_lib_write_ar_hdr _bfd_noarchive_write_ar_hdr
-extern bfd *_bfd_vms_lib_openr_next_archived_file (bfd *, bfd *);
-extern bfd *_bfd_vms_lib_get_elt_at_index (bfd *, symindex);
-extern int _bfd_vms_lib_generic_stat_arch_elt (bfd *, struct stat *);
-#define _bfd_vms_lib_update_armap_timestamp bfd_true
+extern bfd *_bfd_vms_lib_openr_next_archived_file
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
+extern bfd *_bfd_vms_lib_get_elt_at_index
+  (bfd *, symindex) ATTRIBUTE_HIDDEN;
+extern int _bfd_vms_lib_generic_stat_arch_elt
+  (bfd *, struct stat *) ATTRIBUTE_HIDDEN;
+#define _bfd_vms_lib_update_armap_timestamp _bfd_bool_bfd_true
 
 /* Extra routines for VMS style archives.  */
 
-extern symindex _bfd_vms_lib_find_symbol (bfd *, const char *);
-extern bfd *_bfd_vms_lib_get_imagelib_file (bfd *);
-extern const bfd_target *_bfd_vms_lib_alpha_archive_p (bfd *abfd);
-extern const bfd_target *_bfd_vms_lib_ia64_archive_p (bfd *abfd);
-extern bfd_boolean _bfd_vms_lib_alpha_mkarchive (bfd *abfd);
-extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *abfd);
+extern symindex _bfd_vms_lib_find_symbol
+  (bfd *, const char *) ATTRIBUTE_HIDDEN;
+extern bfd *_bfd_vms_lib_get_imagelib_file
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern const bfd_target *_bfd_vms_lib_alpha_archive_p
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern const bfd_target *_bfd_vms_lib_ia64_archive_p
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_vms_lib_alpha_mkarchive
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_vms_lib_ia64_mkarchive
+  (bfd *) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol
    support.  Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).  */
 
-#define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1
-#define _bfd_nosymbols_canonicalize_symtab \
-  ((long (*) (bfd *, asymbol **)) _bfd_n1)
+#define _bfd_nosymbols_get_symtab_upper_bound _bfd_long_bfd_n1_error
+extern long _bfd_nosymbols_canonicalize_symtab
+  (bfd *, asymbol **) ATTRIBUTE_HIDDEN;
 #define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol
-#define _bfd_nosymbols_print_symbol \
-  ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void)
-#define _bfd_nosymbols_get_symbol_info \
-  ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void)
-#define _bfd_nosymbols_get_symbol_version_string \
-  ((const char *(*) (bfd *, asymbol *, bfd_boolean *)) bfd_nullvoidptr)
-#define _bfd_nosymbols_bfd_is_local_label_name \
-  ((bfd_boolean (*) (bfd *, const char *)) bfd_false)
-#define _bfd_nosymbols_bfd_is_target_special_symbol \
-  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
-#define _bfd_nosymbols_get_lineno \
-  ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr)
-#define _bfd_nosymbols_find_nearest_line \
-  ((bfd_boolean (*) (bfd *, asymbol **, asection *, bfd_vma,		\
-		     const char **, const char **, unsigned int *,	\
-		     unsigned int *))					\
-   bfd_false)
-#define _bfd_nosymbols_find_line \
-  ((bfd_boolean (*) (bfd *, asymbol **, asymbol *,	\
-		     const char **, unsigned int *))	\
-   bfd_false)
-#define _bfd_nosymbols_find_inliner_info \
-  ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \
-   bfd_false)
-#define _bfd_nosymbols_bfd_make_debug_symbol \
-  ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
-#define _bfd_nosymbols_read_minisymbols \
-  ((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) _bfd_n1)
-#define _bfd_nosymbols_minisymbol_to_symbol \
-  ((asymbol *(*) (bfd *, bfd_boolean, const void *, asymbol *)) \
-   bfd_nullvoidptr)
+extern void _bfd_nosymbols_print_symbol
+  (bfd *, void *, asymbol *, bfd_print_symbol_type) ATTRIBUTE_HIDDEN;
+extern void _bfd_nosymbols_get_symbol_info
+  (bfd *, asymbol *, symbol_info *) ATTRIBUTE_HIDDEN;
+extern const char * _bfd_nosymbols_get_symbol_version_string
+  (bfd *, asymbol *, bfd_boolean *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nosymbols_bfd_is_local_label_name
+  (bfd *, const char *) ATTRIBUTE_HIDDEN;
+#define _bfd_nosymbols_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
+extern alent *_bfd_nosymbols_get_lineno
+  (bfd *, asymbol *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nosymbols_find_nearest_line
+  (bfd *, asymbol **, asection *, bfd_vma,
+   const char **, const char **, unsigned int *, unsigned int *)
+  ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nosymbols_find_line
+  (bfd *, asymbol **, asymbol *, const char **, unsigned int *)
+  ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nosymbols_find_inliner_info
+  (bfd *, const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN;
+extern asymbol *_bfd_nosymbols_bfd_make_debug_symbol
+  (bfd *, void *, unsigned long) ATTRIBUTE_HIDDEN;
+extern long _bfd_nosymbols_read_minisymbols
+  (bfd *, bfd_boolean, void **, unsigned int *) ATTRIBUTE_HIDDEN;
+extern asymbol *_bfd_nosymbols_minisymbol_to_symbol
+  (bfd *, bfd_boolean, const void *, asymbol *) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc
    support.  Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs).  */
 
-extern long _bfd_norelocs_get_reloc_upper_bound (bfd *, asection *);
-extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *,
-					      arelent **, asymbol **);
-extern void _bfd_norelocs_set_reloc (bfd *, asection *,
-				     arelent **, unsigned int);
-#define _bfd_norelocs_bfd_reloc_type_lookup \
-  ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
-#define _bfd_norelocs_bfd_reloc_name_lookup \
-  ((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr)
+extern long _bfd_norelocs_get_reloc_upper_bound
+  (bfd *, asection *) ATTRIBUTE_HIDDEN;
+extern long _bfd_norelocs_canonicalize_reloc
+  (bfd *, asection *, arelent **, asymbol **) ATTRIBUTE_HIDDEN;
+extern void _bfd_norelocs_set_reloc
+  (bfd *, asection *, arelent **, unsigned int) ATTRIBUTE_HIDDEN;
+extern reloc_howto_type *_bfd_norelocs_bfd_reloc_type_lookup
+  (bfd *, bfd_reloc_code_real_type) ATTRIBUTE_HIDDEN;
+extern reloc_howto_type *_bfd_norelocs_bfd_reloc_name_lookup
+  (bfd *, const char *) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not
    be written.  Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite).  */
 
-#define _bfd_nowrite_set_arch_mach \
-  ((bfd_boolean (*) (bfd *, enum bfd_architecture, unsigned long)) \
-   bfd_false)
-#define _bfd_nowrite_set_section_contents \
-  ((bfd_boolean (*) (bfd *, asection *, const void *, file_ptr, bfd_size_type)) \
-   bfd_false)
+extern bfd_boolean _bfd_nowrite_set_arch_mach
+  (bfd *, enum bfd_architecture, unsigned long) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nowrite_set_section_contents
+  (bfd *, asection *, const void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN;
 
 /* Generic routines to use for BFD_JUMP_TABLE_WRITE.  Use
    BFD_JUMP_TABLE_WRITE (_bfd_generic).  */
 
 #define _bfd_generic_set_arch_mach bfd_default_set_arch_mach
 extern bfd_boolean _bfd_generic_set_section_contents
-  (bfd *, asection *, const void *, file_ptr, bfd_size_type);
+  (bfd *, asection *, const void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not
    support linking.  Use BFD_JUMP_TABLE_LINK (_bfd_nolink).  */
 
-#define _bfd_nolink_sizeof_headers \
-  ((int (*) (bfd *, struct bfd_link_info *)) bfd_0)
-#define _bfd_nolink_bfd_get_relocated_section_contents \
-  ((bfd_byte *(*) (bfd *, struct bfd_link_info *, struct bfd_link_order *, \
-		   bfd_byte *, bfd_boolean, asymbol **)) \
-   bfd_nullvoidptr)
-#define _bfd_nolink_bfd_relax_section \
-  ((bfd_boolean (*) \
-    (bfd *, asection *, struct bfd_link_info *, bfd_boolean *)) \
-   bfd_false)
-#define _bfd_nolink_bfd_gc_sections \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
-   bfd_false)
-#define _bfd_nolink_bfd_lookup_section_flags \
-  ((bfd_boolean (*) (struct bfd_link_info *, struct flag_info *, asection *)) \
-   bfd_0)
-#define _bfd_nolink_bfd_merge_sections \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
-   bfd_false)
-#define _bfd_nolink_bfd_is_group_section \
-  ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \
-   bfd_false)
-#define _bfd_nolink_bfd_discard_group \
-  ((bfd_boolean (*) (bfd *, struct bfd_section *)) \
-   bfd_false)
-#define _bfd_nolink_bfd_link_hash_table_create \
-  ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr)
-#define _bfd_nolink_bfd_link_add_symbols \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
-#define _bfd_nolink_bfd_link_just_syms \
-  ((void (*) (asection *, struct bfd_link_info *)) bfd_void)
-#define _bfd_nolink_bfd_copy_link_hash_symbol_type \
-  ((void (*) (bfd *, struct bfd_link_hash_entry *, \
-	      struct bfd_link_hash_entry *)) bfd_void)
-#define _bfd_nolink_bfd_final_link \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
-#define _bfd_nolink_bfd_link_split_section \
-  ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false)
-#define _bfd_nolink_section_already_linked \
-  ((bfd_boolean (*) (bfd *, asection *, \
-		     struct bfd_link_info *)) bfd_false)
-#define _bfd_nolink_bfd_define_common_symbol \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, \
-		     struct bfd_link_hash_entry *)) bfd_false)
-#define _bfd_nolink_bfd_define_start_stop \
-  ((struct bfd_link_hash_entry * (*) (struct bfd_link_info *, \
-				      const char *, asection *)) bfd_nullvoidptr)
+extern int _bfd_nolink_sizeof_headers
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern bfd_byte *_bfd_nolink_bfd_get_relocated_section_contents
+  (bfd *, struct bfd_link_info *, struct bfd_link_order *,
+   bfd_byte *, bfd_boolean, asymbol **) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nolink_bfd_relax_section
+  (bfd *, asection *, struct bfd_link_info *, bfd_boolean *) ATTRIBUTE_HIDDEN;
+#define _bfd_nolink_bfd_gc_sections _bfd_bool_bfd_link_false_error
+extern bfd_boolean _bfd_nolink_bfd_lookup_section_flags
+  (struct bfd_link_info *, struct flag_info *, asection *) ATTRIBUTE_HIDDEN;
+#define _bfd_nolink_bfd_merge_sections _bfd_bool_bfd_link_false_error
+extern bfd_boolean _bfd_nolink_bfd_is_group_section
+  (bfd *, const asection *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nolink_bfd_discard_group
+  (bfd *, asection *) ATTRIBUTE_HIDDEN;
+extern struct bfd_link_hash_table *_bfd_nolink_bfd_link_hash_table_create
+  (bfd *) ATTRIBUTE_HIDDEN;
+#define _bfd_nolink_bfd_link_add_symbols _bfd_bool_bfd_link_false_error
+extern void _bfd_nolink_bfd_link_just_syms
+  (asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern void _bfd_nolink_bfd_copy_link_hash_symbol_type
+  (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *)
+  ATTRIBUTE_HIDDEN;
+#define _bfd_nolink_bfd_final_link _bfd_bool_bfd_link_false_error
+extern bfd_boolean _bfd_nolink_bfd_link_split_section
+  (bfd *, struct bfd_section *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nolink_section_already_linked
+  (bfd *, asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nolink_bfd_define_common_symbol
+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *)
+  ATTRIBUTE_HIDDEN;
+#define _bfd_nolink_bfd_link_hide_symbol \
+  _bfd_generic_link_hide_symbol
+extern struct bfd_link_hash_entry *_bfd_nolink_bfd_define_start_stop
+  (struct bfd_link_info *, const char *, asection *) ATTRIBUTE_HIDDEN;
 #define _bfd_nolink_bfd_link_check_relocs \
   _bfd_generic_link_check_relocs
 
@@ -530,78 +548,80 @@ extern bfd_boolean _bfd_generic_set_sect
    have dynamic symbols or relocs.  Use BFD_JUMP_TABLE_DYNAMIC
    (_bfd_nodynamic).  */
 
-#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1
+#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_long_bfd_n1_error
 #define _bfd_nodynamic_canonicalize_dynamic_symtab \
-  ((long (*) (bfd *, asymbol **)) _bfd_n1)
-#define _bfd_nodynamic_get_synthetic_symtab \
-  ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1)
-#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1
-#define _bfd_nodynamic_canonicalize_dynamic_reloc \
-  ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
+  _bfd_nosymbols_canonicalize_symtab
+extern long _bfd_nodynamic_get_synthetic_symtab
+  (bfd *, long, asymbol **, long, asymbol **, asymbol **) ATTRIBUTE_HIDDEN;
+#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_long_bfd_n1_error
+extern long _bfd_nodynamic_canonicalize_dynamic_reloc
+  (bfd *, arelent **, asymbol **) ATTRIBUTE_HIDDEN;
 
 /* Generic routine to determine of the given symbol is a local
    label.  */
 extern bfd_boolean bfd_generic_is_local_label_name
-  (bfd *, const char *);
+  (bfd *, const char *) ATTRIBUTE_HIDDEN;
 
 /* Generic minisymbol routines.  */
 extern long _bfd_generic_read_minisymbols
-  (bfd *, bfd_boolean, void **, unsigned int *);
+  (bfd *, bfd_boolean, void **, unsigned int *) ATTRIBUTE_HIDDEN;
 extern asymbol *_bfd_generic_minisymbol_to_symbol
-  (bfd *, bfd_boolean, const void *, asymbol *);
+  (bfd *, bfd_boolean, const void *, asymbol *) ATTRIBUTE_HIDDEN;
 
 /* Find the nearest line using .stab/.stabstr sections.  */
 extern bfd_boolean _bfd_stab_section_find_nearest_line
   (bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *,
-   const char **, const char **, unsigned int *, void **);
+   const char **, const char **, unsigned int *, void **) ATTRIBUTE_HIDDEN;
 
 /* Find the nearest line using DWARF 1 debugging information.  */
 extern bfd_boolean _bfd_dwarf1_find_nearest_line
   (bfd *, asymbol **, asection *, bfd_vma,
-   const char **, const char **, unsigned int *);
+   const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN;
 
 struct dwarf_debug_section
 {
-  const char *uncompressed_name;
-  const char *compressed_name;
+  const char * uncompressed_name;
+  const char * compressed_name;
 };
 
 /* Map of uncompressed DWARF debug section name to compressed one.  It
    is terminated by NULL uncompressed_name.  */
 
-extern const struct dwarf_debug_section dwarf_debug_sections[];
+extern const struct dwarf_debug_section dwarf_debug_sections[] ATTRIBUTE_HIDDEN;
 
 /* Find the nearest line using DWARF 2 debugging information.  */
 extern bfd_boolean _bfd_dwarf2_find_nearest_line
   (bfd *, asymbol **, asymbol *, asection *, bfd_vma,
    const char **, const char **, unsigned int *, unsigned int *,
-   const struct dwarf_debug_section *, unsigned int, void **);
+   const struct dwarf_debug_section *, unsigned int, void **) ATTRIBUTE_HIDDEN;
 
 /* Find the bias between DWARF addresses and real addresses.  */
 extern bfd_signed_vma _bfd_dwarf2_find_symbol_bias
-  (asymbol **, void **);
+  (asymbol **, void **) ATTRIBUTE_HIDDEN;
 
 /* Find inliner info after calling bfd_find_nearest_line. */
 extern bfd_boolean _bfd_dwarf2_find_inliner_info
-  (bfd *, const char **, const char **, unsigned int *, void **);
+  (bfd *, const char **, const char **, unsigned int *, void **)
+  ATTRIBUTE_HIDDEN;
 
 /* Read DWARF 2 debugging information. */
 extern bfd_boolean _bfd_dwarf2_slurp_debug_info
   (bfd *, bfd *, const struct dwarf_debug_section *, asymbol **, void **,
-   bfd_boolean);
+   bfd_boolean) ATTRIBUTE_HIDDEN;
 
 /* Clean up the data used to handle DWARF 2 debugging information. */
 extern void _bfd_dwarf2_cleanup_debug_info
-  (bfd *, void **);
+  (bfd *, void **) ATTRIBUTE_HIDDEN;
 
 /* Create a new section entry.  */
 extern struct bfd_hash_entry *bfd_section_hash_newfunc
-  (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
+  (struct bfd_hash_entry *, struct bfd_hash_table *, const char *)
+  ATTRIBUTE_HIDDEN;
 
 /* A routine to create entries for a bfd_link_hash_table.  */
 extern struct bfd_hash_entry *_bfd_link_hash_newfunc
   (struct bfd_hash_entry *entry, struct bfd_hash_table *table,
-   const char *string);
+   const char *string) ATTRIBUTE_HIDDEN;
 
 /* Initialize a bfd_link_hash_table.  */
 extern bfd_boolean _bfd_link_hash_table_init
@@ -609,26 +629,26 @@ extern bfd_boolean _bfd_link_hash_table_
    struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
 			       struct bfd_hash_table *,
 			       const char *),
-   unsigned int);
+   unsigned int) ATTRIBUTE_HIDDEN;
 
 /* Generic link hash table creation routine.  */
 extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 
 /* Generic link hash table destruction routine.  */
 extern void _bfd_generic_link_hash_table_free
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 
 /* Generic add symbol routine.  */
 extern bfd_boolean _bfd_generic_link_add_symbols
-  (bfd *, struct bfd_link_info *);
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
 
 /* Generic archive add symbol routine.  */
 extern bfd_boolean _bfd_generic_link_add_archive_symbols
   (bfd *, struct bfd_link_info *,
    bfd_boolean (*) (bfd *, struct bfd_link_info *,
 		    struct bfd_link_hash_entry *, const char *,
-		    bfd_boolean *));
+		    bfd_boolean *)) ATTRIBUTE_HIDDEN;
 
 /* Forward declaration to avoid prototype errors.  */
 typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
@@ -637,124 +657,131 @@ typedef struct bfd_link_hash_entry _bfd_
 extern bfd_boolean _bfd_generic_link_add_one_symbol
   (struct bfd_link_info *, bfd *, const char *name, flagword,
    asection *, bfd_vma, const char *, bfd_boolean copy,
-   bfd_boolean constructor, struct bfd_link_hash_entry **);
+   bfd_boolean constructor, struct bfd_link_hash_entry **) ATTRIBUTE_HIDDEN;
 
 /* Generic routine to mark section as supplying symbols only.  */
 extern void _bfd_generic_link_just_syms
-  (asection *, struct bfd_link_info *);
+  (asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
 
 /* Generic routine that does nothing.  */
 extern void _bfd_generic_copy_link_hash_symbol_type
-  (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *);
+  (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *)
+  ATTRIBUTE_HIDDEN;
 
 /* Generic link routine.  */
 extern bfd_boolean _bfd_generic_final_link
-  (bfd *, struct bfd_link_info *);
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
 
 extern bfd_boolean _bfd_generic_link_split_section
-  (bfd *, struct bfd_section *);
+  (bfd *, struct bfd_section *) ATTRIBUTE_HIDDEN;
 
 extern bfd_boolean _bfd_generic_section_already_linked
-  (bfd *, asection *, struct bfd_link_info *);
+  (bfd *, asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
 
 /* Generic reloc_link_order processing routine.  */
 extern bfd_boolean _bfd_generic_reloc_link_order
-  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
+  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *)
+  ATTRIBUTE_HIDDEN;
 
 /* Default link order processing routine.  */
 extern bfd_boolean _bfd_default_link_order
-  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
+  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *)
+  ATTRIBUTE_HIDDEN;
 
 /* Count the number of reloc entries in a link order list.  */
 extern unsigned int _bfd_count_link_order_relocs
-  (struct bfd_link_order *);
+  (struct bfd_link_order *) ATTRIBUTE_HIDDEN;
 
 /* Final link relocation routine.  */
 extern bfd_reloc_status_type _bfd_final_link_relocate
   (reloc_howto_type *, bfd *, asection *, bfd_byte *,
-   bfd_vma, bfd_vma, bfd_vma);
+   bfd_vma, bfd_vma, bfd_vma) ATTRIBUTE_HIDDEN;
 
 /* Relocate a particular location by a howto and a value.  */
 extern bfd_reloc_status_type _bfd_relocate_contents
-  (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *);
+  (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *) ATTRIBUTE_HIDDEN;
 
 /* Clear a given location using a given howto.  */
-extern void _bfd_clear_contents (reloc_howto_type *howto, bfd *input_bfd,
-				 asection *input_section, bfd_byte *location);
+extern void _bfd_clear_contents
+  (reloc_howto_type *, bfd *, asection *, bfd_byte *) ATTRIBUTE_HIDDEN;
 
 /* Link stabs in sections in the first pass.  */
 
 extern bfd_boolean _bfd_link_section_stabs
   (bfd *, struct stab_info *, asection *, asection *, void **,
-   bfd_size_type *);
+   bfd_size_type *) ATTRIBUTE_HIDDEN;
 
 /* Eliminate stabs for discarded functions and symbols.  */
 extern bfd_boolean _bfd_discard_section_stabs
-  (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *);
+  (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *)
+  ATTRIBUTE_HIDDEN;
 
 /* Write out the .stab section when linking stabs in sections.  */
 
 extern bfd_boolean _bfd_write_section_stabs
-  (bfd *, struct stab_info *, asection *, void **, bfd_byte *);
+  (bfd *, struct stab_info *, asection *, void **, bfd_byte *)
+  ATTRIBUTE_HIDDEN;
 
 /* Write out the .stabstr string table when linking stabs in sections.  */
 
 extern bfd_boolean _bfd_write_stab_strings
-  (bfd *, struct stab_info *);
+  (bfd *, struct stab_info *) ATTRIBUTE_HIDDEN;
 
 /* Find an offset within a .stab section when linking stabs in
    sections.  */
 
 extern bfd_vma _bfd_stab_section_offset
-  (asection *, void *, bfd_vma);
+  (asection *, void *, bfd_vma) ATTRIBUTE_HIDDEN;
 
 /* Register a SEC_MERGE section as a candidate for merging.  */
 
 extern bfd_boolean _bfd_add_merge_section
-  (bfd *, void **, asection *, void **);
+  (bfd *, void **, asection *, void **) ATTRIBUTE_HIDDEN;
 
 /* Attempt to merge SEC_MERGE sections.  */
 
 extern bfd_boolean _bfd_merge_sections
-  (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *));
+  (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *))
+  ATTRIBUTE_HIDDEN;
 
 /* Write out a merged section.  */
 
 extern bfd_boolean _bfd_write_merged_section
-  (bfd *, asection *, void *);
+  (bfd *, asection *, void *) ATTRIBUTE_HIDDEN;
 
 /* Find an offset within a modified SEC_MERGE section.  */
 
 extern bfd_vma _bfd_merged_section_offset
-  (bfd *, asection **, void *, bfd_vma);
+  (bfd *, asection **, void *, bfd_vma) ATTRIBUTE_HIDDEN;
 
 /* Tidy up when done.  */
 
-extern void _bfd_merge_sections_free (void *);
+extern void _bfd_merge_sections_free (void *) ATTRIBUTE_HIDDEN;
 
 /* Create a string table.  */
 extern struct bfd_strtab_hash *_bfd_stringtab_init
-  (void);
+  (void) ATTRIBUTE_HIDDEN;
 
 /* Create an XCOFF .debug section style string table.  */
 extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init
-  (void);
+  (void) ATTRIBUTE_HIDDEN;
 
 /* Free a string table.  */
 extern void _bfd_stringtab_free
-  (struct bfd_strtab_hash *);
+  (struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN;
 
 /* Get the size of a string table.  */
 extern bfd_size_type _bfd_stringtab_size
-  (struct bfd_strtab_hash *);
+  (struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN;
 
 /* Add a string to a string table.  */
 extern bfd_size_type _bfd_stringtab_add
-  (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy);
+  (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy)
+  ATTRIBUTE_HIDDEN;
 
 /* Write out a string table.  */
 extern bfd_boolean _bfd_stringtab_emit
-  (bfd *, struct bfd_strtab_hash *);
+  (bfd *, struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN;
 
 /* Macros to tell if bfds are read or write enabled.
 
@@ -770,8 +797,8 @@ extern bfd_boolean _bfd_stringtab_emit
 #define	bfd_write_p(abfd) \
   ((abfd)->direction == write_direction || (abfd)->direction == both_direction)
 
-void bfd_assert
-  (const char*,int);
+extern void bfd_assert
+  (const char*,int) ATTRIBUTE_HIDDEN;
 
 #define BFD_ASSERT(x) \
   do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0)
@@ -780,7 +807,7 @@ void bfd_assert
   do { bfd_assert(__FILE__,__LINE__); } while (0)
 
 extern void _bfd_abort
-  (const char *, int, const char *) ATTRIBUTE_NORETURN;
+  (const char *, int, const char *) ATTRIBUTE_NORETURN ATTRIBUTE_HIDDEN;
 
 /* if gcc >= 2.6, we can give a function name, too */
 #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)
@@ -792,17 +819,20 @@ extern void _bfd_abort
 
 /* Manipulate a system FILE but using BFD's "file_ptr", rather than
    the system "off_t" or "off64_t", as the offset.  */
-extern file_ptr _bfd_real_ftell (FILE *file);
-extern int _bfd_real_fseek (FILE *file, file_ptr offset, int whence);
-extern FILE *_bfd_real_fopen (const char *filename, const char *modes);
+extern file_ptr _bfd_real_ftell
+  (FILE *) ATTRIBUTE_HIDDEN;
+extern int _bfd_real_fseek
+  (FILE *, file_ptr, int) ATTRIBUTE_HIDDEN;
+extern FILE *_bfd_real_fopen
+  (const char *, const char *) ATTRIBUTE_HIDDEN;
 
 /* List of supported target vectors, and the default vector (if
    bfd_default_vector[0] is NULL, there is no default).  */
-extern const bfd_target * const *bfd_target_vector;
-extern const bfd_target *bfd_default_vector[];
+extern const bfd_target * const *bfd_target_vector ATTRIBUTE_HIDDEN;
+extern const bfd_target *bfd_default_vector[] ATTRIBUTE_HIDDEN;
 
 /* List of associated target vectors.  */
-extern const bfd_target * const *bfd_associated_vector;
+extern const bfd_target * const *bfd_associated_vector ATTRIBUTE_HIDDEN;
 
 /* Functions shared by the ECOFF and MIPS ELF backends, which have no
    other common header files.  */
@@ -814,18 +844,18 @@ struct ecoff_find_line;
 extern bfd_boolean _bfd_ecoff_locate_line
   (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const,
    const struct ecoff_debug_swap * const, struct ecoff_find_line *,
-   const char **, const char **, unsigned int *);
+   const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_ecoff_get_accumulated_pdr
-  (void *, bfd_byte *);
+  (void *, bfd_byte *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_ecoff_get_accumulated_sym
-  (void *, bfd_byte *);
+  (void *, bfd_byte *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_ecoff_get_accumulated_ss
-  (void *, bfd_byte *);
+  (void *, bfd_byte *) ATTRIBUTE_HIDDEN;
 
 extern bfd_vma _bfd_get_gp_value
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 extern void _bfd_set_gp_value
-  (bfd *, bfd_vma);
+  (bfd *, bfd_vma) ATTRIBUTE_HIDDEN;
 
 /* Function shared by the COFF and ELF SH backends, which have no
    other common header files.  */
@@ -834,7 +864,7 @@ extern void _bfd_set_gp_value
 extern bfd_boolean _bfd_sh_align_load_span
   (bfd *, asection *, bfd_byte *,
    bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma),
-   void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *);
+   void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *) ATTRIBUTE_HIDDEN;
 #endif
 
 /* This is the shape of the elements inside the already_linked hash
@@ -854,17 +884,21 @@ struct bfd_section_already_linked
 };
 
 extern struct bfd_section_already_linked_hash_entry *
-  bfd_section_already_linked_table_lookup (const char *);
+  bfd_section_already_linked_table_lookup (const char *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean bfd_section_already_linked_table_insert
-  (struct bfd_section_already_linked_hash_entry *, asection *);
+  (struct bfd_section_already_linked_hash_entry *, asection *)
+  ATTRIBUTE_HIDDEN;
 extern void bfd_section_already_linked_table_traverse
   (bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *,
-		    void *), void *);
+		    void *), void *) ATTRIBUTE_HIDDEN;
 
-extern bfd_vma _bfd_read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *);
-extern bfd_signed_vma _bfd_read_signed_leb128 (bfd *, bfd_byte *, unsigned int *);
-extern bfd_vma _bfd_safe_read_leb128 (bfd *, bfd_byte *, unsigned int *,
-				      bfd_boolean, const bfd_byte * const);
+extern bfd_vma _bfd_read_unsigned_leb128
+  (bfd *, bfd_byte *, unsigned int *) ATTRIBUTE_HIDDEN;
+extern bfd_signed_vma _bfd_read_signed_leb128
+  (bfd *, bfd_byte *, unsigned int *) ATTRIBUTE_HIDDEN;
+extern bfd_vma _bfd_safe_read_leb128
+  (bfd *, bfd_byte *, unsigned int *, bfd_boolean, const bfd_byte * const)
+  ATTRIBUTE_HIDDEN;
 /* Extracted from libbfd.c.  */
 bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
 
@@ -992,7 +1026,6 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_LO10",
   "BFD_RELOC_GPREL16",
   "BFD_RELOC_GPREL32",
-  "BFD_RELOC_I960_CALLJ",
   "BFD_RELOC_NONE",
   "BFD_RELOC_SPARC_WDISP22",
   "BFD_RELOC_SPARC22",
@@ -1510,6 +1543,13 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_ARM_THUMB_MOVT",
   "BFD_RELOC_ARM_THUMB_MOVW_PCREL",
   "BFD_RELOC_ARM_THUMB_MOVT_PCREL",
+  "BFD_RELOC_ARM_GOTFUNCDESC",
+  "BFD_RELOC_ARM_GOTOFFFUNCDESC",
+  "BFD_RELOC_ARM_FUNCDESC",
+  "BFD_RELOC_ARM_FUNCDESC_VALUE",
+  "BFD_RELOC_ARM_TLS_GD32_FDPIC",
+  "BFD_RELOC_ARM_TLS_LDM32_FDPIC",
+  "BFD_RELOC_ARM_TLS_IE32_FDPIC",
   "BFD_RELOC_ARM_JUMP_SLOT",
   "BFD_RELOC_ARM_GLOB_DAT",
   "BFD_RELOC_ARM_GOT32",
@@ -2473,6 +2513,7 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_M68HC12_10_PCREL",
   "BFD_RELOC_M68HC12_LO8XG",
   "BFD_RELOC_M68HC12_HI8XG",
+  "BFD_RELOC_S12Z_15_PCREL",
   "BFD_RELOC_16C_NUM08",
   "BFD_RELOC_16C_NUM08_C",
   "BFD_RELOC_16C_NUM16",
@@ -2599,38 +2640,6 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_CRIS_16_TPREL",
   "BFD_RELOC_CRIS_DTPMOD",
   "BFD_RELOC_CRIS_32_IE",
-  "BFD_RELOC_860_COPY",
-  "BFD_RELOC_860_GLOB_DAT",
-  "BFD_RELOC_860_JUMP_SLOT",
-  "BFD_RELOC_860_RELATIVE",
-  "BFD_RELOC_860_PC26",
-  "BFD_RELOC_860_PLT26",
-  "BFD_RELOC_860_PC16",
-  "BFD_RELOC_860_LOW0",
-  "BFD_RELOC_860_SPLIT0",
-  "BFD_RELOC_860_LOW1",
-  "BFD_RELOC_860_SPLIT1",
-  "BFD_RELOC_860_LOW2",
-  "BFD_RELOC_860_SPLIT2",
-  "BFD_RELOC_860_LOW3",
-  "BFD_RELOC_860_LOGOT0",
-  "BFD_RELOC_860_SPGOT0",
-  "BFD_RELOC_860_LOGOT1",
-  "BFD_RELOC_860_SPGOT1",
-  "BFD_RELOC_860_LOGOTOFF0",
-  "BFD_RELOC_860_SPGOTOFF0",
-  "BFD_RELOC_860_LOGOTOFF1",
-  "BFD_RELOC_860_SPGOTOFF1",
-  "BFD_RELOC_860_LOGOTOFF2",
-  "BFD_RELOC_860_LOGOTOFF3",
-  "BFD_RELOC_860_LOPC",
-  "BFD_RELOC_860_HIGHADJ",
-  "BFD_RELOC_860_HAGOT",
-  "BFD_RELOC_860_HAGOTOFF",
-  "BFD_RELOC_860_HAPC",
-  "BFD_RELOC_860_HIGH",
-  "BFD_RELOC_860_HIGOT",
-  "BFD_RELOC_860_HIGOTOFF",
   "BFD_RELOC_OR1K_REL_26",
   "BFD_RELOC_OR1K_GOTPC_HI16",
   "BFD_RELOC_OR1K_GOTPC_LO16",
@@ -2844,6 +2853,7 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_MACH_O_X86_64_PCREL32_1",
   "BFD_RELOC_MACH_O_X86_64_PCREL32_2",
   "BFD_RELOC_MACH_O_X86_64_PCREL32_4",
+  "BFD_RELOC_MACH_O_X86_64_TLV",
   "BFD_RELOC_MACH_O_ARM64_ADDEND",
   "BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21",
   "BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12",
@@ -2868,6 +2878,8 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_MICROBLAZE_64_TLSDTPREL",
   "BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL",
   "BFD_RELOC_MICROBLAZE_64_TLSTPREL",
+  "BFD_RELOC_MICROBLAZE_64_TEXTPCREL",
+  "BFD_RELOC_MICROBLAZE_64_TEXTREL",
   "BFD_RELOC_AARCH64_RELOC_START",
   "BFD_RELOC_AARCH64_NULL",
   "BFD_RELOC_AARCH64_NONE",
@@ -2887,6 +2899,13 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_AARCH64_MOVW_G0_S",
   "BFD_RELOC_AARCH64_MOVW_G1_S",
   "BFD_RELOC_AARCH64_MOVW_G2_S",
+  "BFD_RELOC_AARCH64_MOVW_PREL_G0",
+  "BFD_RELOC_AARCH64_MOVW_PREL_G0_NC",
+  "BFD_RELOC_AARCH64_MOVW_PREL_G1",
+  "BFD_RELOC_AARCH64_MOVW_PREL_G1_NC",
+  "BFD_RELOC_AARCH64_MOVW_PREL_G2",
+  "BFD_RELOC_AARCH64_MOVW_PREL_G2_NC",
+  "BFD_RELOC_AARCH64_MOVW_PREL_G3",
   "BFD_RELOC_AARCH64_LD_LO19_PCREL",
   "BFD_RELOC_AARCH64_ADR_LO21_PCREL",
   "BFD_RELOC_AARCH64_ADR_HI21_PCREL",
@@ -2948,6 +2967,14 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12",
   "BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12",
   "BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC",
+  "BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12",
+  "BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC",
+  "BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12",
+  "BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC",
+  "BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12",
+  "BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC",
+  "BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12",
+  "BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC",
   "BFD_RELOC_AARCH64_TLSDESC_LD_PREL19",
   "BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21",
   "BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21",
@@ -2973,6 +3000,8 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_AARCH64_LDST_LO12",
   "BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12",
   "BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC",
+  "BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12",
+  "BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC",
   "BFD_RELOC_AARCH64_LD_GOT_LO12_NC",
   "BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC",
   "BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC",
@@ -3248,3 +3277,4 @@ bfd_boolean _bfd_generic_verify_endian_m
 #ifdef __cplusplus
 }
 #endif
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libbfd-in.h ./bfd/libbfd-in.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libbfd-in.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/libbfd-in.h	2018-07-10 02:06:11.000000000 +0000
@@ -22,6 +22,17 @@
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
    MA 02110-1301, USA.  */
 
+#ifndef _LIBBFD_H
+#define _LIBBFD_H 1
+
+#ifndef ATTRIBUTE_HIDDEN
+#if HAVE_HIDDEN
+#define ATTRIBUTE_HIDDEN __attribute__ ((__visibility__ ("hidden")))
+#else
+#define ATTRIBUTE_HIDDEN
+#endif
+#endif
+
 #include "hashtab.h"
 
 #ifdef __cplusplus
@@ -53,6 +64,9 @@ struct section_hash_entry
   asection section;
 };
 
+/* Unique section id.  */
+extern unsigned int _bfd_section_id ATTRIBUTE_HIDDEN;
+
 /* tdata for an archive.  For an input archive, cache
    needs to be free()'d.  For an output archive, symdefs do.  */
 
@@ -95,53 +109,49 @@ struct areltdata
 #define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size)
 
 extern void *bfd_malloc
-  (bfd_size_type);
+  (bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_realloc
-  (void *, bfd_size_type);
+  (void *, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_realloc_or_free
-  (void *, bfd_size_type);
+  (void *, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_zmalloc
-  (bfd_size_type);
+  (bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_malloc2
-  (bfd_size_type, bfd_size_type);
+  (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_realloc2
-  (void *, bfd_size_type, bfd_size_type);
+  (void *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_zmalloc2
-  (bfd_size_type, bfd_size_type);
-
-extern void _bfd_error_handler (const char *s, ...);
+  (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN;
 
 /* These routines allocate and free things on the BFD's objalloc.  */
 
 extern void *bfd_alloc2
-  (bfd *, bfd_size_type, bfd_size_type);
+  (bfd *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void *bfd_zalloc2
-  (bfd *, bfd_size_type, bfd_size_type);
+  (bfd *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern void bfd_release
-  (bfd *, void *);
+  (bfd *, void *) ATTRIBUTE_HIDDEN;
 
-bfd * _bfd_create_empty_archive_element_shell
-  (bfd *obfd);
-bfd * _bfd_look_for_bfd_in_cache
-  (bfd *, file_ptr);
-bfd_boolean _bfd_add_bfd_to_archive_cache
-  (bfd *, file_ptr, bfd *);
-bfd_boolean _bfd_generic_mkarchive
-  (bfd *abfd);
-char *_bfd_append_relative_path
-  (bfd *arch, char *elt_name);
-const bfd_target *bfd_generic_archive_p
-  (bfd *abfd);
-bfd_boolean bfd_slurp_armap
-  (bfd *abfd);
-bfd_boolean bfd_slurp_bsd_armap_f2
-  (bfd *abfd);
+extern bfd * _bfd_create_empty_archive_element_shell
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd * _bfd_look_for_bfd_in_cache
+  (bfd *, file_ptr) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_add_bfd_to_archive_cache
+  (bfd *, file_ptr, bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_generic_mkarchive
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern char *_bfd_append_relative_path
+  (bfd *, char *) ATTRIBUTE_HIDDEN;
+extern const bfd_target *bfd_generic_archive_p
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean bfd_slurp_armap
+  (bfd *) ATTRIBUTE_HIDDEN;
 #define bfd_slurp_bsd_armap bfd_slurp_armap
 #define bfd_slurp_coff_armap bfd_slurp_armap
-bfd_boolean _bfd_archive_64_bit_slurp_armap
-  (bfd *);
-bfd_boolean _bfd_archive_64_bit_write_armap
-  (bfd *, unsigned int, struct orl *, unsigned int, int);
+extern bfd_boolean _bfd_archive_64_bit_slurp_armap
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_archive_64_bit_write_armap
+  (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
 #define _bfd_archive_64_bit_slurp_extended_name_table \
   _bfd_slurp_extended_name_table
 #define _bfd_archive_64_bit_construct_extended_name_table \
@@ -158,84 +168,103 @@ bfd_boolean _bfd_archive_64_bit_write_ar
   _bfd_generic_get_elt_at_index
 #define _bfd_archive_64_bit_generic_stat_arch_elt \
   bfd_generic_stat_arch_elt
-#define _bfd_archive_64_bit_update_armap_timestamp \
-  bfd_true
+#define _bfd_archive_64_bit_update_armap_timestamp _bfd_bool_bfd_true
 
-bfd_boolean _bfd_slurp_extended_name_table
-  (bfd *abfd);
+extern bfd_boolean _bfd_slurp_extended_name_table
+  (bfd *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_construct_extended_name_table
-  (bfd *, bfd_boolean, char **, bfd_size_type *);
-bfd_boolean _bfd_write_archive_contents
-  (bfd *abfd);
-bfd_boolean _bfd_compute_and_write_armap
-  (bfd *, unsigned int elength);
-bfd *_bfd_get_elt_at_filepos
-  (bfd *archive, file_ptr filepos);
+  (bfd *, bfd_boolean, char **, bfd_size_type *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_write_archive_contents
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_compute_and_write_armap
+  (bfd *, unsigned int) ATTRIBUTE_HIDDEN;
+extern bfd *_bfd_get_elt_at_filepos
+  (bfd *, file_ptr) ATTRIBUTE_HIDDEN;
 extern bfd *_bfd_generic_get_elt_at_index
-  (bfd *, symindex);
-bfd * _bfd_new_bfd
-  (void);
-bfd_boolean _bfd_free_cached_info
-  (bfd *);
-
-bfd_boolean bfd_false
-  (bfd *ignore);
-bfd_boolean bfd_true
-  (bfd *ignore);
-void *bfd_nullvoidptr
-  (bfd *ignore);
-int bfd_0
-  (bfd *ignore);
-unsigned int bfd_0u
-  (bfd *ignore);
-long bfd_0l
-  (bfd *ignore);
-long _bfd_n1
-  (bfd *ignore);
-void bfd_void
-  (bfd *ignore);
-
-bfd *_bfd_new_bfd_contained_in
-  (bfd *);
-const bfd_target *_bfd_dummy_target
-  (bfd *abfd);
-
-void bfd_dont_truncate_arname
-  (bfd *abfd, const char *filename, char *hdr);
-void bfd_bsd_truncate_arname
-  (bfd *abfd, const char *filename, char *hdr);
-void bfd_gnu_truncate_arname
-  (bfd *abfd, const char *filename, char *hdr);
-
-bfd_boolean _bfd_bsd_write_armap
-  (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
-   int stridx);
-
-bfd_boolean _bfd_coff_write_armap
-  (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
-   int stridx);
+  (bfd *, symindex) ATTRIBUTE_HIDDEN;
+extern bfd * _bfd_new_bfd
+  (void) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_free_cached_info
+  (bfd *) ATTRIBUTE_HIDDEN;
+
+extern bfd_boolean _bfd_bool_bfd_false
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_asymbol_false
+  (bfd *, asymbol *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_false_error
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_link_false_error
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_true
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_link_true
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_bfd_true
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_uint_true
+  (bfd *, unsigned int) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_asection_bfd_asection_true
+  (bfd *, asection *, bfd *, asection *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_asymbol_bfd_asymbol_true
+  (bfd *, asymbol *, bfd *, asymbol *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_bool_bfd_ptr_true
+  (bfd *, void *) ATTRIBUTE_HIDDEN;
+extern void *_bfd_ptr_bfd_null_error
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern int _bfd_int_bfd_0
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern unsigned int _bfd_uint_bfd_0
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern long _bfd_long_bfd_0
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern long _bfd_long_bfd_n1_error
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern void _bfd_void_bfd
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern void _bfd_void_bfd_link
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern void _bfd_void_bfd_asection
+  (bfd *, asection *) ATTRIBUTE_HIDDEN;
+
+extern bfd *_bfd_new_bfd_contained_in
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern const bfd_target *_bfd_dummy_target
+  (bfd *) ATTRIBUTE_HIDDEN;
+
+extern void bfd_dont_truncate_arname
+  (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
+extern void bfd_bsd_truncate_arname
+  (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
+extern void bfd_gnu_truncate_arname
+  (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
+
+extern bfd_boolean _bfd_bsd_write_armap
+  (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
+
+extern bfd_boolean _bfd_coff_write_armap
+  (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
 
 extern void *_bfd_generic_read_ar_hdr
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 extern void _bfd_ar_spacepad
-  (char *, size_t, const char *, long);
+  (char *, size_t, const char *, long) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_ar_sizepad
-  (char *, size_t, bfd_size_type);
+  (char *, size_t, bfd_size_type) ATTRIBUTE_HIDDEN;
 
 extern void *_bfd_generic_read_ar_hdr_mag
-  (bfd *, const char *);
+  (bfd *, const char *) ATTRIBUTE_HIDDEN;
 
 extern bfd_boolean _bfd_generic_write_ar_hdr
-  (bfd *, bfd *);
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
 
 extern bfd_boolean _bfd_bsd44_write_ar_hdr
-  (bfd *, bfd *);
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
 
-bfd * bfd_generic_openr_next_archived_file
-  (bfd *archive, bfd *last_file);
+extern bfd * bfd_generic_openr_next_archived_file
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
 
-int bfd_generic_stat_arch_elt
-  (bfd *, struct stat *);
+extern int bfd_generic_stat_arch_elt
+  (bfd *, struct stat *) ATTRIBUTE_HIDDEN;
 
 #define _bfd_read_ar_hdr(abfd) \
 	BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd))
@@ -247,70 +276,67 @@ int bfd_generic_stat_arch_elt
 
 #define _bfd_generic_close_and_cleanup _bfd_archive_close_and_cleanup
 extern bfd_boolean _bfd_archive_close_and_cleanup
-  (bfd *);
-#define _bfd_generic_bfd_free_cached_info bfd_true
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern void _bfd_unlink_from_archive_parent (bfd *) ATTRIBUTE_HIDDEN;
+#define _bfd_generic_bfd_free_cached_info _bfd_bool_bfd_true
 extern bfd_boolean _bfd_generic_new_section_hook
-  (bfd *, asection *);
+  (bfd *, asection *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_generic_get_section_contents
-  (bfd *, asection *, void *, file_ptr, bfd_size_type);
+  (bfd *, asection *, void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_generic_get_section_contents_in_window
-  (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type);
+  (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN;
 
 /* Generic routines to use for BFD_JUMP_TABLE_COPY.  Use
    BFD_JUMP_TABLE_COPY (_bfd_generic).  */
 
-#define _bfd_generic_bfd_copy_private_bfd_data \
-  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
+#define _bfd_generic_bfd_copy_private_bfd_data _bfd_bool_bfd_bfd_true
 #define _bfd_generic_bfd_merge_private_bfd_data \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_true)
-#define _bfd_generic_bfd_set_private_flags \
-  ((bfd_boolean (*) (bfd *, flagword)) bfd_true)
+  _bfd_bool_bfd_link_true
+#define _bfd_generic_bfd_set_private_flags _bfd_bool_bfd_uint_true
 #define _bfd_generic_bfd_copy_private_section_data \
-  ((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true)
+  _bfd_bool_bfd_asection_bfd_asection_true
 #define _bfd_generic_bfd_copy_private_symbol_data \
-  ((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true)
-#define _bfd_generic_bfd_copy_private_header_data \
-  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
-#define _bfd_generic_bfd_print_private_bfd_data \
-  ((bfd_boolean (*) (bfd *, void *)) bfd_true)
+  _bfd_bool_bfd_asymbol_bfd_asymbol_true
+#define _bfd_generic_bfd_copy_private_header_data _bfd_bool_bfd_bfd_true
+#define _bfd_generic_bfd_print_private_bfd_data _bfd_bool_bfd_ptr_true
 
 extern bfd_boolean _bfd_generic_init_private_section_data
-  (bfd *, asection *, bfd *, asection *, struct bfd_link_info *);
+  (bfd *, asection *, bfd *, asection *, struct bfd_link_info *)
+  ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file
    support.  Use BFD_JUMP_TABLE_CORE (_bfd_nocore).  */
 
 extern char *_bfd_nocore_core_file_failing_command
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 extern int _bfd_nocore_core_file_failing_signal
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_nocore_core_file_matches_executable_p
-  (bfd *, bfd *);
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
 extern int _bfd_nocore_core_file_pid
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive
    file support.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive).  */
 
-#define _bfd_noarchive_slurp_armap bfd_false
-#define _bfd_noarchive_slurp_extended_name_table bfd_false
-#define _bfd_noarchive_construct_extended_name_table \
-  ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) \
-   bfd_false)
-#define _bfd_noarchive_truncate_arname \
-  ((void (*) (bfd *, const char *, char *)) bfd_void)
-#define _bfd_noarchive_write_armap \
-  ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \
-   bfd_false)
-#define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr
-#define _bfd_noarchive_write_ar_hdr \
-  ((bfd_boolean (*) (bfd *, bfd *)) bfd_false)
-#define _bfd_noarchive_openr_next_archived_file \
-  ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr)
-#define _bfd_noarchive_get_elt_at_index \
-  ((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr)
+#define _bfd_noarchive_slurp_armap _bfd_bool_bfd_false_error
+#define _bfd_noarchive_slurp_extended_name_table _bfd_bool_bfd_false_error
+extern bfd_boolean _bfd_noarchive_construct_extended_name_table
+  (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
+extern void _bfd_noarchive_truncate_arname
+  (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_noarchive_write_armap
+  (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
+#define _bfd_noarchive_read_ar_hdr _bfd_ptr_bfd_null_error
+extern bfd_boolean _bfd_noarchive_write_ar_hdr
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
+extern bfd *
+_bfd_noarchive_openr_next_archived_file
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
+extern bfd * _bfd_noarchive_get_elt_at_index
+  (bfd *, symindex) ATTRIBUTE_HIDDEN;
 #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt
-#define _bfd_noarchive_update_armap_timestamp bfd_false
+#define _bfd_noarchive_update_armap_timestamp _bfd_bool_bfd_false_error
 
 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD style
    archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd).  */
@@ -319,7 +345,7 @@ extern int _bfd_nocore_core_file_pid
 #define _bfd_archive_bsd_slurp_extended_name_table \
   _bfd_slurp_extended_name_table
 extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table
-  (bfd *, char **, bfd_size_type *, const char **);
+  (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
 #define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname
 #define _bfd_archive_bsd_write_armap _bfd_bsd_write_armap
 #define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr
@@ -330,7 +356,7 @@ extern bfd_boolean _bfd_archive_bsd_cons
 #define _bfd_archive_bsd_generic_stat_arch_elt \
   bfd_generic_stat_arch_elt
 extern bfd_boolean _bfd_archive_bsd_update_armap_timestamp
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style
    archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff).  */
@@ -339,7 +365,7 @@ extern bfd_boolean _bfd_archive_bsd_upda
 #define _bfd_archive_coff_slurp_extended_name_table \
   _bfd_slurp_extended_name_table
 extern bfd_boolean _bfd_archive_coff_construct_extended_name_table
-  (bfd *, char **, bfd_size_type *, const char **);
+  (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
 #define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname
 #define _bfd_archive_coff_write_armap _bfd_coff_write_armap
 #define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr
@@ -349,7 +375,7 @@ extern bfd_boolean _bfd_archive_coff_con
 #define _bfd_archive_coff_get_elt_at_index _bfd_generic_get_elt_at_index
 #define _bfd_archive_coff_generic_stat_arch_elt \
   bfd_generic_stat_arch_elt
-#define _bfd_archive_coff_update_armap_timestamp bfd_true
+#define _bfd_archive_coff_update_armap_timestamp _bfd_bool_bfd_true
 
 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD4.4 style
    archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd44).  */
@@ -358,7 +384,7 @@ extern bfd_boolean _bfd_archive_coff_con
 #define _bfd_archive_bsd44_slurp_extended_name_table \
   _bfd_slurp_extended_name_table
 extern bfd_boolean _bfd_archive_bsd44_construct_extended_name_table
-  (bfd *, char **, bfd_size_type *, const char **);
+  (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
 #define _bfd_archive_bsd44_truncate_arname bfd_bsd_truncate_arname
 #define _bfd_archive_bsd44_write_armap _bfd_bsd_write_armap
 #define _bfd_archive_bsd44_read_ar_hdr _bfd_generic_read_ar_hdr
@@ -375,7 +401,8 @@ extern bfd_boolean _bfd_archive_bsd44_co
    archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_vms_lib).  Some of them
    are irrelevant.  */
 
-extern bfd_boolean _bfd_vms_lib_write_archive_contents (bfd *arch);
+extern bfd_boolean _bfd_vms_lib_write_archive_contents
+  (bfd *) ATTRIBUTE_HIDDEN;
 #define _bfd_vms_lib_slurp_armap _bfd_noarchive_slurp_armap
 #define _bfd_vms_lib_slurp_extended_name_table \
   _bfd_noarchive_slurp_extended_name_table
@@ -385,139 +412,130 @@ extern bfd_boolean _bfd_vms_lib_write_ar
 #define _bfd_vms_lib_write_armap _bfd_noarchive_write_armap
 #define _bfd_vms_lib_read_ar_hdr _bfd_noarchive_read_ar_hdr
 #define _bfd_vms_lib_write_ar_hdr _bfd_noarchive_write_ar_hdr
-extern bfd *_bfd_vms_lib_openr_next_archived_file (bfd *, bfd *);
-extern bfd *_bfd_vms_lib_get_elt_at_index (bfd *, symindex);
-extern int _bfd_vms_lib_generic_stat_arch_elt (bfd *, struct stat *);
-#define _bfd_vms_lib_update_armap_timestamp bfd_true
+extern bfd *_bfd_vms_lib_openr_next_archived_file
+  (bfd *, bfd *) ATTRIBUTE_HIDDEN;
+extern bfd *_bfd_vms_lib_get_elt_at_index
+  (bfd *, symindex) ATTRIBUTE_HIDDEN;
+extern int _bfd_vms_lib_generic_stat_arch_elt
+  (bfd *, struct stat *) ATTRIBUTE_HIDDEN;
+#define _bfd_vms_lib_update_armap_timestamp _bfd_bool_bfd_true
 
 /* Extra routines for VMS style archives.  */
 
-extern symindex _bfd_vms_lib_find_symbol (bfd *, const char *);
-extern bfd *_bfd_vms_lib_get_imagelib_file (bfd *);
-extern const bfd_target *_bfd_vms_lib_alpha_archive_p (bfd *abfd);
-extern const bfd_target *_bfd_vms_lib_ia64_archive_p (bfd *abfd);
-extern bfd_boolean _bfd_vms_lib_alpha_mkarchive (bfd *abfd);
-extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *abfd);
+extern symindex _bfd_vms_lib_find_symbol
+  (bfd *, const char *) ATTRIBUTE_HIDDEN;
+extern bfd *_bfd_vms_lib_get_imagelib_file
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern const bfd_target *_bfd_vms_lib_alpha_archive_p
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern const bfd_target *_bfd_vms_lib_ia64_archive_p
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_vms_lib_alpha_mkarchive
+  (bfd *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_vms_lib_ia64_mkarchive
+  (bfd *) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol
    support.  Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).  */
 
-#define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1
-#define _bfd_nosymbols_canonicalize_symtab \
-  ((long (*) (bfd *, asymbol **)) _bfd_n1)
+#define _bfd_nosymbols_get_symtab_upper_bound _bfd_long_bfd_n1_error
+extern long _bfd_nosymbols_canonicalize_symtab
+  (bfd *, asymbol **) ATTRIBUTE_HIDDEN;
 #define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol
-#define _bfd_nosymbols_print_symbol \
-  ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void)
-#define _bfd_nosymbols_get_symbol_info \
-  ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void)
-#define _bfd_nosymbols_get_symbol_version_string \
-  ((const char *(*) (bfd *, asymbol *, bfd_boolean *)) bfd_nullvoidptr)
-#define _bfd_nosymbols_bfd_is_local_label_name \
-  ((bfd_boolean (*) (bfd *, const char *)) bfd_false)
-#define _bfd_nosymbols_bfd_is_target_special_symbol \
-  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
-#define _bfd_nosymbols_get_lineno \
-  ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr)
-#define _bfd_nosymbols_find_nearest_line \
-  ((bfd_boolean (*) (bfd *, asymbol **, asection *, bfd_vma,		\
-		     const char **, const char **, unsigned int *,	\
-		     unsigned int *))					\
-   bfd_false)
-#define _bfd_nosymbols_find_line \
-  ((bfd_boolean (*) (bfd *, asymbol **, asymbol *,	\
-		     const char **, unsigned int *))	\
-   bfd_false)
-#define _bfd_nosymbols_find_inliner_info \
-  ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \
-   bfd_false)
-#define _bfd_nosymbols_bfd_make_debug_symbol \
-  ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
-#define _bfd_nosymbols_read_minisymbols \
-  ((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) _bfd_n1)
-#define _bfd_nosymbols_minisymbol_to_symbol \
-  ((asymbol *(*) (bfd *, bfd_boolean, const void *, asymbol *)) \
-   bfd_nullvoidptr)
+extern void _bfd_nosymbols_print_symbol
+  (bfd *, void *, asymbol *, bfd_print_symbol_type) ATTRIBUTE_HIDDEN;
+extern void _bfd_nosymbols_get_symbol_info
+  (bfd *, asymbol *, symbol_info *) ATTRIBUTE_HIDDEN;
+extern const char * _bfd_nosymbols_get_symbol_version_string
+  (bfd *, asymbol *, bfd_boolean *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nosymbols_bfd_is_local_label_name
+  (bfd *, const char *) ATTRIBUTE_HIDDEN;
+#define _bfd_nosymbols_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
+extern alent *_bfd_nosymbols_get_lineno
+  (bfd *, asymbol *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nosymbols_find_nearest_line
+  (bfd *, asymbol **, asection *, bfd_vma,
+   const char **, const char **, unsigned int *, unsigned int *)
+  ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nosymbols_find_line
+  (bfd *, asymbol **, asymbol *, const char **, unsigned int *)
+  ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nosymbols_find_inliner_info
+  (bfd *, const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN;
+extern asymbol *_bfd_nosymbols_bfd_make_debug_symbol
+  (bfd *, void *, unsigned long) ATTRIBUTE_HIDDEN;
+extern long _bfd_nosymbols_read_minisymbols
+  (bfd *, bfd_boolean, void **, unsigned int *) ATTRIBUTE_HIDDEN;
+extern asymbol *_bfd_nosymbols_minisymbol_to_symbol
+  (bfd *, bfd_boolean, const void *, asymbol *) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc
    support.  Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs).  */
 
-extern long _bfd_norelocs_get_reloc_upper_bound (bfd *, asection *);
-extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *,
-					      arelent **, asymbol **);
-extern void _bfd_norelocs_set_reloc (bfd *, asection *,
-				     arelent **, unsigned int);
-#define _bfd_norelocs_bfd_reloc_type_lookup \
-  ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
-#define _bfd_norelocs_bfd_reloc_name_lookup \
-  ((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr)
+extern long _bfd_norelocs_get_reloc_upper_bound
+  (bfd *, asection *) ATTRIBUTE_HIDDEN;
+extern long _bfd_norelocs_canonicalize_reloc
+  (bfd *, asection *, arelent **, asymbol **) ATTRIBUTE_HIDDEN;
+extern void _bfd_norelocs_set_reloc
+  (bfd *, asection *, arelent **, unsigned int) ATTRIBUTE_HIDDEN;
+extern reloc_howto_type *_bfd_norelocs_bfd_reloc_type_lookup
+  (bfd *, bfd_reloc_code_real_type) ATTRIBUTE_HIDDEN;
+extern reloc_howto_type *_bfd_norelocs_bfd_reloc_name_lookup
+  (bfd *, const char *) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not
    be written.  Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite).  */
 
-#define _bfd_nowrite_set_arch_mach \
-  ((bfd_boolean (*) (bfd *, enum bfd_architecture, unsigned long)) \
-   bfd_false)
-#define _bfd_nowrite_set_section_contents \
-  ((bfd_boolean (*) (bfd *, asection *, const void *, file_ptr, bfd_size_type)) \
-   bfd_false)
+extern bfd_boolean _bfd_nowrite_set_arch_mach
+  (bfd *, enum bfd_architecture, unsigned long) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nowrite_set_section_contents
+  (bfd *, asection *, const void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN;
 
 /* Generic routines to use for BFD_JUMP_TABLE_WRITE.  Use
    BFD_JUMP_TABLE_WRITE (_bfd_generic).  */
 
 #define _bfd_generic_set_arch_mach bfd_default_set_arch_mach
 extern bfd_boolean _bfd_generic_set_section_contents
-  (bfd *, asection *, const void *, file_ptr, bfd_size_type);
+  (bfd *, asection *, const void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN;
 
 /* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not
    support linking.  Use BFD_JUMP_TABLE_LINK (_bfd_nolink).  */
 
-#define _bfd_nolink_sizeof_headers \
-  ((int (*) (bfd *, struct bfd_link_info *)) bfd_0)
-#define _bfd_nolink_bfd_get_relocated_section_contents \
-  ((bfd_byte *(*) (bfd *, struct bfd_link_info *, struct bfd_link_order *, \
-		   bfd_byte *, bfd_boolean, asymbol **)) \
-   bfd_nullvoidptr)
-#define _bfd_nolink_bfd_relax_section \
-  ((bfd_boolean (*) \
-    (bfd *, asection *, struct bfd_link_info *, bfd_boolean *)) \
-   bfd_false)
-#define _bfd_nolink_bfd_gc_sections \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
-   bfd_false)
-#define _bfd_nolink_bfd_lookup_section_flags \
-  ((bfd_boolean (*) (struct bfd_link_info *, struct flag_info *, asection *)) \
-   bfd_0)
-#define _bfd_nolink_bfd_merge_sections \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
-   bfd_false)
-#define _bfd_nolink_bfd_is_group_section \
-  ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \
-   bfd_false)
-#define _bfd_nolink_bfd_discard_group \
-  ((bfd_boolean (*) (bfd *, struct bfd_section *)) \
-   bfd_false)
-#define _bfd_nolink_bfd_link_hash_table_create \
-  ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr)
-#define _bfd_nolink_bfd_link_add_symbols \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
-#define _bfd_nolink_bfd_link_just_syms \
-  ((void (*) (asection *, struct bfd_link_info *)) bfd_void)
-#define _bfd_nolink_bfd_copy_link_hash_symbol_type \
-  ((void (*) (bfd *, struct bfd_link_hash_entry *, \
-	      struct bfd_link_hash_entry *)) bfd_void)
-#define _bfd_nolink_bfd_final_link \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
-#define _bfd_nolink_bfd_link_split_section \
-  ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false)
-#define _bfd_nolink_section_already_linked \
-  ((bfd_boolean (*) (bfd *, asection *, \
-		     struct bfd_link_info *)) bfd_false)
-#define _bfd_nolink_bfd_define_common_symbol \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *, \
-		     struct bfd_link_hash_entry *)) bfd_false)
-#define _bfd_nolink_bfd_define_start_stop \
-  ((struct bfd_link_hash_entry * (*) (struct bfd_link_info *, \
-				      const char *, asection *)) bfd_nullvoidptr)
+extern int _bfd_nolink_sizeof_headers
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern bfd_byte *_bfd_nolink_bfd_get_relocated_section_contents
+  (bfd *, struct bfd_link_info *, struct bfd_link_order *,
+   bfd_byte *, bfd_boolean, asymbol **) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nolink_bfd_relax_section
+  (bfd *, asection *, struct bfd_link_info *, bfd_boolean *) ATTRIBUTE_HIDDEN;
+#define _bfd_nolink_bfd_gc_sections _bfd_bool_bfd_link_false_error
+extern bfd_boolean _bfd_nolink_bfd_lookup_section_flags
+  (struct bfd_link_info *, struct flag_info *, asection *) ATTRIBUTE_HIDDEN;
+#define _bfd_nolink_bfd_merge_sections _bfd_bool_bfd_link_false_error
+extern bfd_boolean _bfd_nolink_bfd_is_group_section
+  (bfd *, const asection *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nolink_bfd_discard_group
+  (bfd *, asection *) ATTRIBUTE_HIDDEN;
+extern struct bfd_link_hash_table *_bfd_nolink_bfd_link_hash_table_create
+  (bfd *) ATTRIBUTE_HIDDEN;
+#define _bfd_nolink_bfd_link_add_symbols _bfd_bool_bfd_link_false_error
+extern void _bfd_nolink_bfd_link_just_syms
+  (asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern void _bfd_nolink_bfd_copy_link_hash_symbol_type
+  (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *)
+  ATTRIBUTE_HIDDEN;
+#define _bfd_nolink_bfd_final_link _bfd_bool_bfd_link_false_error
+extern bfd_boolean _bfd_nolink_bfd_link_split_section
+  (bfd *, struct bfd_section *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nolink_section_already_linked
+  (bfd *, asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
+extern bfd_boolean _bfd_nolink_bfd_define_common_symbol
+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *)
+  ATTRIBUTE_HIDDEN;
+#define _bfd_nolink_bfd_link_hide_symbol \
+  _bfd_generic_link_hide_symbol
+extern struct bfd_link_hash_entry *_bfd_nolink_bfd_define_start_stop
+  (struct bfd_link_info *, const char *, asection *) ATTRIBUTE_HIDDEN;
 #define _bfd_nolink_bfd_link_check_relocs \
   _bfd_generic_link_check_relocs
 
@@ -525,78 +543,80 @@ extern bfd_boolean _bfd_generic_set_sect
    have dynamic symbols or relocs.  Use BFD_JUMP_TABLE_DYNAMIC
    (_bfd_nodynamic).  */
 
-#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1
+#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_long_bfd_n1_error
 #define _bfd_nodynamic_canonicalize_dynamic_symtab \
-  ((long (*) (bfd *, asymbol **)) _bfd_n1)
-#define _bfd_nodynamic_get_synthetic_symtab \
-  ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1)
-#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1
-#define _bfd_nodynamic_canonicalize_dynamic_reloc \
-  ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
+  _bfd_nosymbols_canonicalize_symtab
+extern long _bfd_nodynamic_get_synthetic_symtab
+  (bfd *, long, asymbol **, long, asymbol **, asymbol **) ATTRIBUTE_HIDDEN;
+#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_long_bfd_n1_error
+extern long _bfd_nodynamic_canonicalize_dynamic_reloc
+  (bfd *, arelent **, asymbol **) ATTRIBUTE_HIDDEN;
 
 /* Generic routine to determine of the given symbol is a local
    label.  */
 extern bfd_boolean bfd_generic_is_local_label_name
-  (bfd *, const char *);
+  (bfd *, const char *) ATTRIBUTE_HIDDEN;
 
 /* Generic minisymbol routines.  */
 extern long _bfd_generic_read_minisymbols
-  (bfd *, bfd_boolean, void **, unsigned int *);
+  (bfd *, bfd_boolean, void **, unsigned int *) ATTRIBUTE_HIDDEN;
 extern asymbol *_bfd_generic_minisymbol_to_symbol
-  (bfd *, bfd_boolean, const void *, asymbol *);
+  (bfd *, bfd_boolean, const void *, asymbol *) ATTRIBUTE_HIDDEN;
 
 /* Find the nearest line using .stab/.stabstr sections.  */
 extern bfd_boolean _bfd_stab_section_find_nearest_line
   (bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *,
-   const char **, const char **, unsigned int *, void **);
+   const char **, const char **, unsigned int *, void **) ATTRIBUTE_HIDDEN;
 
 /* Find the nearest line using DWARF 1 debugging information.  */
 extern bfd_boolean _bfd_dwarf1_find_nearest_line
   (bfd *, asymbol **, asection *, bfd_vma,
-   const char **, const char **, unsigned int *);
+   const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN;
 
 struct dwarf_debug_section
 {
-  const char *uncompressed_name;
-  const char *compressed_name;
+  const char * uncompressed_name;
+  const char * compressed_name;
 };
 
 /* Map of uncompressed DWARF debug section name to compressed one.  It
    is terminated by NULL uncompressed_name.  */
 
-extern const struct dwarf_debug_section dwarf_debug_sections[];
+extern const struct dwarf_debug_section dwarf_debug_sections[] ATTRIBUTE_HIDDEN;
 
 /* Find the nearest line using DWARF 2 debugging information.  */
 extern bfd_boolean _bfd_dwarf2_find_nearest_line
   (bfd *, asymbol **, asymbol *, asection *, bfd_vma,
    const char **, const char **, unsigned int *, unsigned int *,
-   const struct dwarf_debug_section *, unsigned int, void **);
+   const struct dwarf_debug_section *, unsigned int, void **) ATTRIBUTE_HIDDEN;
 
 /* Find the bias between DWARF addresses and real addresses.  */
 extern bfd_signed_vma _bfd_dwarf2_find_symbol_bias
-  (asymbol **, void **);
+  (asymbol **, void **) ATTRIBUTE_HIDDEN;
 
 /* Find inliner info after calling bfd_find_nearest_line. */
 extern bfd_boolean _bfd_dwarf2_find_inliner_info
-  (bfd *, const char **, const char **, unsigned int *, void **);
+  (bfd *, const char **, const char **, unsigned int *, void **)
+  ATTRIBUTE_HIDDEN;
 
 /* Read DWARF 2 debugging information. */
 extern bfd_boolean _bfd_dwarf2_slurp_debug_info
   (bfd *, bfd *, const struct dwarf_debug_section *, asymbol **, void **,
-   bfd_boolean);
+   bfd_boolean) ATTRIBUTE_HIDDEN;
 
 /* Clean up the data used to handle DWARF 2 debugging information. */
 extern void _bfd_dwarf2_cleanup_debug_info
-  (bfd *, void **);
+  (bfd *, void **) ATTRIBUTE_HIDDEN;
 
 /* Create a new section entry.  */
 extern struct bfd_hash_entry *bfd_section_hash_newfunc
-  (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
+  (struct bfd_hash_entry *, struct bfd_hash_table *, const char *)
+  ATTRIBUTE_HIDDEN;
 
 /* A routine to create entries for a bfd_link_hash_table.  */
 extern struct bfd_hash_entry *_bfd_link_hash_newfunc
   (struct bfd_hash_entry *entry, struct bfd_hash_table *table,
-   const char *string);
+   const char *string) ATTRIBUTE_HIDDEN;
 
 /* Initialize a bfd_link_hash_table.  */
 extern bfd_boolean _bfd_link_hash_table_init
@@ -604,26 +624,26 @@ extern bfd_boolean _bfd_link_hash_table_
    struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
 			       struct bfd_hash_table *,
 			       const char *),
-   unsigned int);
+   unsigned int) ATTRIBUTE_HIDDEN;
 
 /* Generic link hash table creation routine.  */
 extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 
 /* Generic link hash table destruction routine.  */
 extern void _bfd_generic_link_hash_table_free
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 
 /* Generic add symbol routine.  */
 extern bfd_boolean _bfd_generic_link_add_symbols
-  (bfd *, struct bfd_link_info *);
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
 
 /* Generic archive add symbol routine.  */
 extern bfd_boolean _bfd_generic_link_add_archive_symbols
   (bfd *, struct bfd_link_info *,
    bfd_boolean (*) (bfd *, struct bfd_link_info *,
 		    struct bfd_link_hash_entry *, const char *,
-		    bfd_boolean *));
+		    bfd_boolean *)) ATTRIBUTE_HIDDEN;
 
 /* Forward declaration to avoid prototype errors.  */
 typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
@@ -632,124 +652,131 @@ typedef struct bfd_link_hash_entry _bfd_
 extern bfd_boolean _bfd_generic_link_add_one_symbol
   (struct bfd_link_info *, bfd *, const char *name, flagword,
    asection *, bfd_vma, const char *, bfd_boolean copy,
-   bfd_boolean constructor, struct bfd_link_hash_entry **);
+   bfd_boolean constructor, struct bfd_link_hash_entry **) ATTRIBUTE_HIDDEN;
 
 /* Generic routine to mark section as supplying symbols only.  */
 extern void _bfd_generic_link_just_syms
-  (asection *, struct bfd_link_info *);
+  (asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
 
 /* Generic routine that does nothing.  */
 extern void _bfd_generic_copy_link_hash_symbol_type
-  (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *);
+  (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *)
+  ATTRIBUTE_HIDDEN;
 
 /* Generic link routine.  */
 extern bfd_boolean _bfd_generic_final_link
-  (bfd *, struct bfd_link_info *);
+  (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
 
 extern bfd_boolean _bfd_generic_link_split_section
-  (bfd *, struct bfd_section *);
+  (bfd *, struct bfd_section *) ATTRIBUTE_HIDDEN;
 
 extern bfd_boolean _bfd_generic_section_already_linked
-  (bfd *, asection *, struct bfd_link_info *);
+  (bfd *, asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
 
 /* Generic reloc_link_order processing routine.  */
 extern bfd_boolean _bfd_generic_reloc_link_order
-  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
+  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *)
+  ATTRIBUTE_HIDDEN;
 
 /* Default link order processing routine.  */
 extern bfd_boolean _bfd_default_link_order
-  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
+  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *)
+  ATTRIBUTE_HIDDEN;
 
 /* Count the number of reloc entries in a link order list.  */
 extern unsigned int _bfd_count_link_order_relocs
-  (struct bfd_link_order *);
+  (struct bfd_link_order *) ATTRIBUTE_HIDDEN;
 
 /* Final link relocation routine.  */
 extern bfd_reloc_status_type _bfd_final_link_relocate
   (reloc_howto_type *, bfd *, asection *, bfd_byte *,
-   bfd_vma, bfd_vma, bfd_vma);
+   bfd_vma, bfd_vma, bfd_vma) ATTRIBUTE_HIDDEN;
 
 /* Relocate a particular location by a howto and a value.  */
 extern bfd_reloc_status_type _bfd_relocate_contents
-  (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *);
+  (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *) ATTRIBUTE_HIDDEN;
 
 /* Clear a given location using a given howto.  */
-extern void _bfd_clear_contents (reloc_howto_type *howto, bfd *input_bfd,
-				 asection *input_section, bfd_byte *location);
+extern void _bfd_clear_contents
+  (reloc_howto_type *, bfd *, asection *, bfd_byte *) ATTRIBUTE_HIDDEN;
 
 /* Link stabs in sections in the first pass.  */
 
 extern bfd_boolean _bfd_link_section_stabs
   (bfd *, struct stab_info *, asection *, asection *, void **,
-   bfd_size_type *);
+   bfd_size_type *) ATTRIBUTE_HIDDEN;
 
 /* Eliminate stabs for discarded functions and symbols.  */
 extern bfd_boolean _bfd_discard_section_stabs
-  (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *);
+  (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *)
+  ATTRIBUTE_HIDDEN;
 
 /* Write out the .stab section when linking stabs in sections.  */
 
 extern bfd_boolean _bfd_write_section_stabs
-  (bfd *, struct stab_info *, asection *, void **, bfd_byte *);
+  (bfd *, struct stab_info *, asection *, void **, bfd_byte *)
+  ATTRIBUTE_HIDDEN;
 
 /* Write out the .stabstr string table when linking stabs in sections.  */
 
 extern bfd_boolean _bfd_write_stab_strings
-  (bfd *, struct stab_info *);
+  (bfd *, struct stab_info *) ATTRIBUTE_HIDDEN;
 
 /* Find an offset within a .stab section when linking stabs in
    sections.  */
 
 extern bfd_vma _bfd_stab_section_offset
-  (asection *, void *, bfd_vma);
+  (asection *, void *, bfd_vma) ATTRIBUTE_HIDDEN;
 
 /* Register a SEC_MERGE section as a candidate for merging.  */
 
 extern bfd_boolean _bfd_add_merge_section
-  (bfd *, void **, asection *, void **);
+  (bfd *, void **, asection *, void **) ATTRIBUTE_HIDDEN;
 
 /* Attempt to merge SEC_MERGE sections.  */
 
 extern bfd_boolean _bfd_merge_sections
-  (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *));
+  (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *))
+  ATTRIBUTE_HIDDEN;
 
 /* Write out a merged section.  */
 
 extern bfd_boolean _bfd_write_merged_section
-  (bfd *, asection *, void *);
+  (bfd *, asection *, void *) ATTRIBUTE_HIDDEN;
 
 /* Find an offset within a modified SEC_MERGE section.  */
 
 extern bfd_vma _bfd_merged_section_offset
-  (bfd *, asection **, void *, bfd_vma);
+  (bfd *, asection **, void *, bfd_vma) ATTRIBUTE_HIDDEN;
 
 /* Tidy up when done.  */
 
-extern void _bfd_merge_sections_free (void *);
+extern void _bfd_merge_sections_free (void *) ATTRIBUTE_HIDDEN;
 
 /* Create a string table.  */
 extern struct bfd_strtab_hash *_bfd_stringtab_init
-  (void);
+  (void) ATTRIBUTE_HIDDEN;
 
 /* Create an XCOFF .debug section style string table.  */
 extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init
-  (void);
+  (void) ATTRIBUTE_HIDDEN;
 
 /* Free a string table.  */
 extern void _bfd_stringtab_free
-  (struct bfd_strtab_hash *);
+  (struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN;
 
 /* Get the size of a string table.  */
 extern bfd_size_type _bfd_stringtab_size
-  (struct bfd_strtab_hash *);
+  (struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN;
 
 /* Add a string to a string table.  */
 extern bfd_size_type _bfd_stringtab_add
-  (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy);
+  (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy)
+  ATTRIBUTE_HIDDEN;
 
 /* Write out a string table.  */
 extern bfd_boolean _bfd_stringtab_emit
-  (bfd *, struct bfd_strtab_hash *);
+  (bfd *, struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN;
 
 /* Macros to tell if bfds are read or write enabled.
 
@@ -765,8 +792,8 @@ extern bfd_boolean _bfd_stringtab_emit
 #define	bfd_write_p(abfd) \
   ((abfd)->direction == write_direction || (abfd)->direction == both_direction)
 
-void bfd_assert
-  (const char*,int);
+extern void bfd_assert
+  (const char*,int) ATTRIBUTE_HIDDEN;
 
 #define BFD_ASSERT(x) \
   do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0)
@@ -775,7 +802,7 @@ void bfd_assert
   do { bfd_assert(__FILE__,__LINE__); } while (0)
 
 extern void _bfd_abort
-  (const char *, int, const char *) ATTRIBUTE_NORETURN;
+  (const char *, int, const char *) ATTRIBUTE_NORETURN ATTRIBUTE_HIDDEN;
 
 /* if gcc >= 2.6, we can give a function name, too */
 #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)
@@ -787,17 +814,20 @@ extern void _bfd_abort
 
 /* Manipulate a system FILE but using BFD's "file_ptr", rather than
    the system "off_t" or "off64_t", as the offset.  */
-extern file_ptr _bfd_real_ftell (FILE *file);
-extern int _bfd_real_fseek (FILE *file, file_ptr offset, int whence);
-extern FILE *_bfd_real_fopen (const char *filename, const char *modes);
+extern file_ptr _bfd_real_ftell
+  (FILE *) ATTRIBUTE_HIDDEN;
+extern int _bfd_real_fseek
+  (FILE *, file_ptr, int) ATTRIBUTE_HIDDEN;
+extern FILE *_bfd_real_fopen
+  (const char *, const char *) ATTRIBUTE_HIDDEN;
 
 /* List of supported target vectors, and the default vector (if
    bfd_default_vector[0] is NULL, there is no default).  */
-extern const bfd_target * const *bfd_target_vector;
-extern const bfd_target *bfd_default_vector[];
+extern const bfd_target * const *bfd_target_vector ATTRIBUTE_HIDDEN;
+extern const bfd_target *bfd_default_vector[] ATTRIBUTE_HIDDEN;
 
 /* List of associated target vectors.  */
-extern const bfd_target * const *bfd_associated_vector;
+extern const bfd_target * const *bfd_associated_vector ATTRIBUTE_HIDDEN;
 
 /* Functions shared by the ECOFF and MIPS ELF backends, which have no
    other common header files.  */
@@ -809,18 +839,18 @@ struct ecoff_find_line;
 extern bfd_boolean _bfd_ecoff_locate_line
   (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const,
    const struct ecoff_debug_swap * const, struct ecoff_find_line *,
-   const char **, const char **, unsigned int *);
+   const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_ecoff_get_accumulated_pdr
-  (void *, bfd_byte *);
+  (void *, bfd_byte *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_ecoff_get_accumulated_sym
-  (void *, bfd_byte *);
+  (void *, bfd_byte *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_ecoff_get_accumulated_ss
-  (void *, bfd_byte *);
+  (void *, bfd_byte *) ATTRIBUTE_HIDDEN;
 
 extern bfd_vma _bfd_get_gp_value
-  (bfd *);
+  (bfd *) ATTRIBUTE_HIDDEN;
 extern void _bfd_set_gp_value
-  (bfd *, bfd_vma);
+  (bfd *, bfd_vma) ATTRIBUTE_HIDDEN;
 
 /* Function shared by the COFF and ELF SH backends, which have no
    other common header files.  */
@@ -829,7 +859,7 @@ extern void _bfd_set_gp_value
 extern bfd_boolean _bfd_sh_align_load_span
   (bfd *, asection *, bfd_byte *,
    bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma),
-   void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *);
+   void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *) ATTRIBUTE_HIDDEN;
 #endif
 
 /* This is the shape of the elements inside the already_linked hash
@@ -849,14 +879,18 @@ struct bfd_section_already_linked
 };
 
 extern struct bfd_section_already_linked_hash_entry *
-  bfd_section_already_linked_table_lookup (const char *);
+  bfd_section_already_linked_table_lookup (const char *) ATTRIBUTE_HIDDEN;
 extern bfd_boolean bfd_section_already_linked_table_insert
-  (struct bfd_section_already_linked_hash_entry *, asection *);
+  (struct bfd_section_already_linked_hash_entry *, asection *)
+  ATTRIBUTE_HIDDEN;
 extern void bfd_section_already_linked_table_traverse
   (bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *,
-		    void *), void *);
+		    void *), void *) ATTRIBUTE_HIDDEN;
 
-extern bfd_vma _bfd_read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *);
-extern bfd_signed_vma _bfd_read_signed_leb128 (bfd *, bfd_byte *, unsigned int *);
-extern bfd_vma _bfd_safe_read_leb128 (bfd *, bfd_byte *, unsigned int *,
-				      bfd_boolean, const bfd_byte * const);
+extern bfd_vma _bfd_read_unsigned_leb128
+  (bfd *, bfd_byte *, unsigned int *) ATTRIBUTE_HIDDEN;
+extern bfd_signed_vma _bfd_read_signed_leb128
+  (bfd *, bfd_byte *, unsigned int *) ATTRIBUTE_HIDDEN;
+extern bfd_vma _bfd_safe_read_leb128
+  (bfd *, bfd_byte *, unsigned int *, bfd_boolean, const bfd_byte * const)
+  ATTRIBUTE_HIDDEN;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libcoff.h ./bfd/libcoff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libcoff.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/libcoff.h	2018-07-10 02:06:11.000000000 +0000
@@ -23,6 +23,9 @@
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
    MA 02110-1301, USA.  */
 
+#ifndef _LIBCOFF_H
+#define _LIBCOFF_H 1
+
 #include "bfdlink.h"
 #include "coff-bfd.h"
 
@@ -973,3 +976,4 @@ typedef struct
 #ifdef __cplusplus
 }
 #endif
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libcoff-in.h ./bfd/libcoff-in.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libcoff-in.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/libcoff-in.h	2018-07-10 02:06:11.000000000 +0000
@@ -19,6 +19,9 @@
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
    MA 02110-1301, USA.  */
 
+#ifndef _LIBCOFF_H
+#define _LIBCOFF_H 1
+
 #include "bfdlink.h"
 #include "coff-bfd.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libecoff.h ./bfd/libecoff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libecoff.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/libecoff.h	2018-07-10 02:06:11.000000000 +0000
@@ -275,9 +275,8 @@ extern bfd_boolean _bfd_ecoff_write_arma
   bfd_generic_openr_next_archived_file
 #define _bfd_ecoff_get_elt_at_index _bfd_generic_get_elt_at_index
 #define _bfd_ecoff_generic_stat_arch_elt bfd_generic_stat_arch_elt
-#define _bfd_ecoff_update_armap_timestamp bfd_true
-#define _bfd_ecoff_bfd_is_target_special_symbol  \
-  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define _bfd_ecoff_update_armap_timestamp _bfd_bool_bfd_true
+#define _bfd_ecoff_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
 
 extern long _bfd_ecoff_get_symtab_upper_bound (bfd *);
 extern long _bfd_ecoff_canonicalize_symtab (bfd *, asymbol **);
@@ -302,7 +301,7 @@ extern bfd_boolean _bfd_ecoff_find_neare
 
 #define _bfd_ecoff_get_reloc_upper_bound coff_get_reloc_upper_bound
 extern long _bfd_ecoff_canonicalize_reloc
-  (bfd *, asection *, arelent **, asymbol **symbols);
+  (bfd *, asection *, arelent **, asymbol **);
 /* ecoff_bfd_reloc_type_lookup defined by backend. */
 
 extern bfd_boolean _bfd_ecoff_set_arch_mach
@@ -326,8 +325,8 @@ extern bfd_boolean _bfd_ecoff_bfd_final_
 /* Hook functions for the generic COFF section reading code.  */
 
 extern void * _bfd_ecoff_mkobject_hook (bfd *, void *, void *);
-#define _bfd_ecoff_set_alignment_hook \
-  ((void (*) (bfd *, asection *, void *)) bfd_void)
+extern void _bfd_ecoff_set_alignment_hook
+  (bfd *, asection *, void *);
 extern bfd_boolean _bfd_ecoff_set_arch_mach_hook
   (bfd *, void *);
 extern bfd_boolean _bfd_ecoff_no_long_sections
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libieee.h ./bfd/libieee.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libieee.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/libieee.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,137 +0,0 @@
-/* IEEE-695 object file formats:  definitions internal to BFD.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.  Mostly Steve Chamberlain's fault.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-typedef struct {
-  unsigned int index:24;
-  char letter;
-} ieee_symbol_index_type;
-
-typedef struct ct {
-  bfd *this;
-  struct ct *next;
-} bfd_chain_type;
-
-typedef struct ieee_symbol
-{
-  asymbol symbol;
-  struct ieee_symbol *next;
-
-  unsigned int index;
-} ieee_symbol_type;
-
-
-typedef struct ieee_reloc {
-  arelent relent;
-  struct ieee_reloc *next;
-  ieee_symbol_index_type symbol;
-
-} ieee_reloc_type;
-
-#define ieee_symbol(x) ((ieee_symbol_type *)(x))
-
-typedef struct ieee_per_section
-{
-  asection *section;
-  bfd_byte *data;
-  bfd_vma offset;
-  bfd_vma pc;
-  /* For output */
-  file_ptr current_pos;
-  unsigned int current_byte;
-  bfd_boolean initialized;
-  ieee_reloc_type **reloc_tail_ptr;
-} ieee_per_section_type;
-
-#define ieee_per_section(x) ((ieee_per_section_type *)((x)->used_by_bfd))
-
-typedef struct {
-  unsigned char *input_p;
-  unsigned char *end_p;
-  unsigned char *first_byte;
-  unsigned char *last_byte;
-  bfd_size_type total_amt;
-  bfd *abfd;
-} common_header_type ;
-
-typedef struct ieee_data_struct
-{
-  common_header_type h;
-  bfd_boolean read_symbols;
-  bfd_boolean read_data;
-  file_ptr output_cursor;
-  /* Map of section indexes to section ptrs */
-  asection **section_table;
-  unsigned int section_table_size;
-  ieee_address_descriptor_type ad;
-  ieee_module_begin_type mb;
-  ieee_w_variable_type w;
-
-  unsigned int section_count;
-
-  unsigned int map_idx;
-  /* List of GLOBAL EXPORT symbols */
-  ieee_symbol_type *external_symbols;
-  /* List of UNDEFINED symbols */
-  ieee_symbol_type *external_reference;
-
-  /* When the symbols have been canonicalized, they are in a
-    * special order, we remember various bases here.. */
-  unsigned int external_symbol_max_index;
-  unsigned int external_symbol_min_index;
-  unsigned int external_symbol_count;
-  int external_symbol_base_offset;
-
-  unsigned int external_reference_max_index;
-  unsigned int external_reference_min_index;
-  unsigned int external_reference_count;
-  int external_reference_base_offset;
-
-
-  bfd_boolean symbol_table_full;
-
-
-bfd_boolean done_debug;
-
-
-bfd_chain_type *chain_head;
-bfd_chain_type *chain_root;
-
-} ieee_data_type;
-
-typedef struct {
-  file_ptr file_offset;
-  bfd *abfd;
-} ieee_ar_obstack_type;
-
-typedef struct ieee_ar_data_struct
-{
-  common_header_type h;
-  ieee_ar_obstack_type *elements;
-
-  unsigned  int element_index ;
-  unsigned int element_count;
-
-} ieee_ar_data_type;
-
-#define IEEE_DATA(abfd) ((abfd)->tdata.ieee_data)
-#define IEEE_AR_DATA(abfd) ((abfd)->tdata.ieee_ar_data)
-
-#define ptr(abfd) (ieee_data(abfd)->input_p)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libnlm.h ./bfd/libnlm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/libnlm.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/libnlm.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,222 +0,0 @@
-/* BFD back-end data structures for NLM (NetWare Loadable Modules) files.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#ifndef _LIBNLM_H_
-#define _LIBNLM_H_ 1
-
-#ifdef ARCH_SIZE
-#  define NLM_ARCH_SIZE ARCH_SIZE
-#endif
-#include "nlm/common.h"
-#include "nlm/internal.h"
-#include "nlm/external.h"
-
-/* A reloc for an imported NLM symbol.  Normal relocs are associated
-   with sections, and include a symbol.  These relocs are associated
-   with (undefined) symbols, and include a section.  */
-
-struct nlm_relent
-{
-  /* Section of reloc.  */
-  asection *section;
-  /* Reloc info (sym_ptr_ptr field set only when canonicalized).  */
-  arelent reloc;
-};
-
-/* Information we keep for an NLM symbol.  */
-
-typedef struct
-{
-  /* BFD symbol.  */
-  asymbol symbol;
-  /* Number of reloc entries for imported symbol.  */
-  bfd_size_type rcnt;
-  /* Array of reloc information for imported symbol.  */
-  struct nlm_relent *relocs;
-} nlmNAME(symbol_type);
-
-extern bfd_boolean	  nlm_mkobject			  (bfd *);
-extern bfd_boolean	  nlm_set_arch_mach		  (bfd *, enum bfd_architecture, unsigned long);
-extern void		  nlmNAME (get_symbol_info)	  (bfd *, asymbol *, symbol_info *);
-extern long		  nlmNAME (get_symtab_upper_bound)(bfd *);
-extern long		  nlmNAME (canonicalize_symtab)	  (bfd *, asymbol **);
-extern asymbol *	  nlmNAME (make_empty_symbol)	  (bfd *);
-extern void		  nlmNAME (print_symbol)	  (bfd *, void *, asymbol *, bfd_print_symbol_type);
-extern long		  nlmNAME (get_reloc_upper_bound) (bfd *, asection *);
-extern long		  nlmNAME (canonicalize_reloc)	  (bfd *, asection *, arelent **, asymbol **);
-extern const bfd_target * nlmNAME (object_p)		  (bfd *);
-extern bfd_boolean	  nlmNAME (set_arch_mach)	  (bfd *, enum bfd_architecture, unsigned long);
-extern bfd_boolean	  nlmNAME (set_section_contents)  (bfd *, asection *, const void *, file_ptr, bfd_size_type);
-extern bfd_boolean	  nlmNAME (write_object_contents) (bfd *);
-
-/* Some private data is stashed away for future use using the tdata pointer
-   in the bfd structure.  */
-
-struct nlm_obj_tdata
-{
-  /* Actual data, but ref like ptr */
-  Nlm_Internal_Fixed_Header	nlm_fixed_hdr[1];
-  Nlm_Internal_Variable_Header	nlm_variable_hdr[1];
-  Nlm_Internal_Version_Header	nlm_version_hdr[1];
-  Nlm_Internal_Copyright_Header	nlm_copyright_hdr[1];
-  Nlm_Internal_Extended_Header	nlm_extended_hdr[1];
-  Nlm_Internal_Custom_Header	nlm_custom_hdr[1];
-  Nlm_Internal_Cygnus_Ext_Header nlm_cygnus_ext_hdr[1];
-  /* BFD NLM symbols.  */
-  nlmNAME (symbol_type)	*	nlm_symbols;
-  /* Lowest text and data VMA values.  */
-  bfd_vma			nlm_text_low;
-  bfd_vma			nlm_data_low;
-  /* Caches for data read from object file.  */
-  arelent *			nlm_reloc_fixups;
-  asection **			nlm_reloc_fixup_secs;
-  /* Backend specific information.  This should probably be a pointer,
-     but that would require yet another entry point to initialize the
-     structure.  */
-  union
-    {
-      struct	/* Alpha backend information.  */
-	{
-	  bfd_vma gp;			/* GP value.  */
-	  bfd_vma lita_address;		/* .lita section address.  */
-	  bfd_size_type lita_size;	/* .lita section size.  */
-	}
-      alpha_backend_data;
-    }
-  backend_data;
-};
-
-#define nlm_tdata(bfd)			((bfd) -> tdata.nlm_obj_data)
-#define nlm_fixed_header(bfd)		(nlm_tdata (bfd) -> nlm_fixed_hdr)
-#define nlm_variable_header(bfd)	(nlm_tdata (bfd) -> nlm_variable_hdr)
-#define nlm_version_header(bfd)		(nlm_tdata (bfd) -> nlm_version_hdr)
-#define nlm_copyright_header(bfd)	(nlm_tdata (bfd) -> nlm_copyright_hdr)
-#define nlm_extended_header(bfd)	(nlm_tdata (bfd) -> nlm_extended_hdr)
-#define nlm_custom_header(bfd)		(nlm_tdata (bfd) -> nlm_custom_hdr)
-#define nlm_cygnus_ext_header(bfd)	(nlm_tdata (bfd) -> nlm_cygnus_ext_hdr)
-#define nlm_get_symbols(bfd)		(nlm_tdata (bfd) -> nlm_symbols)
-#define nlm_set_symbols(bfd, p)		(nlm_tdata (bfd) -> nlm_symbols = (p))
-#define nlm_set_text_low(bfd, i)	(nlm_tdata (bfd) -> nlm_text_low = (i))
-#define nlm_get_text_low(bfd)		(nlm_tdata (bfd) -> nlm_text_low)
-#define nlm_set_data_low(bfd, i)	(nlm_tdata (bfd) -> nlm_data_low = (i))
-#define nlm_get_data_low(bfd)		(nlm_tdata (bfd) -> nlm_data_low)
-#define nlm_relocation_fixups(bfd)	(nlm_tdata (bfd) -> nlm_reloc_fixups)
-#define nlm_relocation_fixup_secs(bfd)	(nlm_tdata (bfd) -> nlm_reloc_fixup_secs)
-#define nlm_alpha_backend_data(bfd)    (&nlm_tdata (bfd) -> backend_data.alpha_backend_data)
-
-/* This is used when writing out the external relocs. */
-
-struct reloc_and_sec
-{
-  arelent *rel;
-  asection *sec;
-};
-
-/* We store some function pointer in the backend structure.  This lets
-   different NLM targets share most of the same code, while providing
-   slightly different code where necessary.  */
-
-struct nlm_backend_data
-{
-  /* Signature for this backend.  */
-  char signature[NLM_SIGNATURE_SIZE];
-  /* Size of the fixed header.  */
-  bfd_size_type fixed_header_size;
-  /* Size of optional prefix for this backend.  Some backend may
-     require this to be a function, but so far a constant is OK.  This
-     is for a prefix which precedes the standard NLM fixed header.  */
-  bfd_size_type optional_prefix_size;
-  /* Architecture.  */
-  enum bfd_architecture arch;
-  /* Machine.  */
-  unsigned int mach;
-  /* Some NLM formats do not use the uninitialized data section, so
-     all uninitialized data must be put into the regular data section
-     instead.  */
-  bfd_boolean no_uninitialized_data;
-  /* Some NLM formats have a prefix on the file.  If this function is
-     not NULL, it will be called by nlm_object_p.  It should return
-     TRUE if this file could match this format, and it should leave
-     the BFD such that a bfd_bread will pick up the fixed header.  */
-  bfd_boolean (*nlm_backend_object_p) (bfd *);
-  /* Write out the prefix.  This function may be NULL.  This must
-     write out the same number of bytes as is in the field
-     optional_prefix_size.  */
-  bfd_boolean (*nlm_write_prefix) (bfd *);
-  /* Read a relocation fixup from abfd.  The reloc information is
-     machine specific.  The second argument is the symbol if this is
-     an import, or NULL if this is a reloc fixup.  This function
-     should set the third argument to the section which the reloc
-     belongs in, and the fourth argument to the reloc itself; it does
-     not need to fill in the sym_ptr_ptr field for a reloc against an
-     import symbol.  */
-  bfd_boolean (*nlm_read_reloc) (bfd *, nlmNAME (symbol_type) *, asection **, arelent *);
-  /* To make objcopy to an i386 NLM work, the i386 backend needs a
-     chance to work over the relocs.  This is a bit icky.  */
-  bfd_boolean (*nlm_mangle_relocs) (bfd *, asection *, const void *, bfd_vma,  bfd_size_type);
-  /* Read an import record from abfd.  It would be nice if this
-     were in a machine-dependent format, but it doesn't seem to be. */
-  bfd_boolean (*nlm_read_import) (bfd *, nlmNAME (symbol_type) *);
-  /* Write an import record to abfd. */
-  bfd_boolean (*nlm_write_import) (bfd *, asection *, arelent *);
-  /* Set the section for a public symbol.  This may be NULL, in which
-     case a default method will be used.  */
-  bfd_boolean (*nlm_set_public_section) (bfd *, nlmNAME (symbol_type) *);
-  /* Get the offset to write out for a public symbol.  This may be
-     NULL, in which case a default method will be used.  */
-  bfd_vma (*nlm_get_public_offset) (bfd *, asymbol *);
-  /* Swap the fixed header in and out */
-  void (*nlm_swap_fhdr_in)  (bfd *, void *, Nlm_Internal_Fixed_Header *);
-  void (*nlm_swap_fhdr_out) (bfd *, struct nlm_internal_fixed_header *, void *);
-  /* Write out an external reference.  */
-  bfd_boolean (*nlm_write_external) (bfd *, bfd_size_type, asymbol *, struct reloc_and_sec *);
-  bfd_boolean (*nlm_write_export) (bfd *, asymbol *, bfd_vma);
-};
-
-#define nlm_backend(bfd)   ((struct nlm_backend_data *)((bfd) -> xvec -> backend_data))
-#define nlm_signature(bfd)		   (nlm_backend (bfd) -> signature)
-#define nlm_fixed_header_size(bfd)	   (nlm_backend (bfd) -> fixed_header_size)
-#define nlm_optional_prefix_size(bfd)	   (nlm_backend (bfd) -> optional_prefix_size)
-#define nlm_architecture(bfd)		   (nlm_backend (bfd) -> arch)
-#define nlm_machine(bfd)		   (nlm_backend (bfd) -> mach)
-#define nlm_no_uninitialized_data(bfd)	   (nlm_backend (bfd) -> no_uninitialized_data)
-#define nlm_backend_object_p_func(bfd)	   (nlm_backend (bfd) -> nlm_backend_object_p)
-#define nlm_write_prefix_func(bfd)	   (nlm_backend (bfd) -> nlm_write_prefix)
-#define nlm_read_reloc_func(bfd)	   (nlm_backend (bfd) -> nlm_read_reloc)
-#define nlm_mangle_relocs_func(bfd)	   (nlm_backend (bfd) -> nlm_mangle_relocs)
-#define nlm_read_import_func(bfd)	   (nlm_backend (bfd) -> nlm_read_import)
-#define nlm_write_import_func(bfd)	   (nlm_backend (bfd) -> nlm_write_import)
-#define nlm_set_public_section_func(bfd)   (nlm_backend (bfd) -> nlm_set_public_section)
-#define nlm_get_public_offset_func(bfd)	   (nlm_backend (bfd) -> nlm_get_public_offset)
-#define nlm_swap_fixed_header_in_func(bfd) (nlm_backend (bfd) -> nlm_swap_fhdr_in)
-#define nlm_swap_fixed_header_out_func(bfd)(nlm_backend (bfd) -> nlm_swap_fhdr_out)
-#define nlm_write_external_func(bfd)	   (nlm_backend (bfd) -> nlm_write_external)
-#define nlm_write_export_func(bfd)	   (nlm_backend (bfd) -> nlm_write_export)
-
-/* The NLM code, data, and uninitialized sections have no names defined
-   in the NLM, but bfd wants to give them names, so use the traditional
-   UNIX names.  */
-
-#define NLM_CODE_NAME			".text"
-#define NLM_INITIALIZED_DATA_NAME	".data"
-#define NLM_UNINITIALIZED_DATA_NAME	".bss"
-
-#endif /* _LIBNLM_H_ */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/liboasys.h ./bfd/liboasys.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/liboasys.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/liboasys.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,83 +0,0 @@
-/* BFD internal declarations for Oasys file format handling.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Scrawled by Steve Chamberlain of Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-typedef struct _oasys_symbol
-{
-  asymbol symbol;
-} oasys_symbol_type;
-
-typedef struct _oasys_reloc {
-  arelent relent;
-  struct _oasys_reloc *next;
-  unsigned int symbol;
-} oasys_reloc_type;
-
-
-#define oasys_symbol(x) ((oasys_symbol_type *)(x))
-#define oasys_per_section(x) ((oasys_per_section_type *)(x->used_by_bfd))
-
-typedef struct _oasys_per_section
-{
-  asection *section;
-  bfd_byte *data;
-  bfd_vma offset;
-  bfd_boolean had_vma;
-  oasys_reloc_type **reloc_tail_ptr;
-  bfd_vma pc;
-
-
-  file_ptr current_pos;
-  unsigned int current_byte;
-  bfd_boolean initialized;
-} oasys_per_section_type;
-
-#define NSECTIONS 10
-
-typedef struct _oasys_ar_obstack {
-  file_ptr file_offset;
-  bfd *abfd;
-} oasys_ar_obstack_type;
-
-
-typedef struct _oasys_module_info {
-  file_ptr pos;
-  unsigned int size;
-  bfd *abfd;
-  char *name;
-} oasys_module_info_type;
-
-typedef struct _oasys_ar_data {
-  oasys_module_info_type *module;
-  unsigned int module_count;
-  unsigned int module_index;
-} oasys_ar_data_type;
-
-typedef struct _oasys_data {
-  char *strings;
-  asymbol *symbols;
-  unsigned int symbol_string_length;
-  asection *sections[OASYS_MAX_SEC_COUNT];
-  file_ptr first_data_record;
-} oasys_data_type;
-
-#define OASYS_DATA(abfd)	((abfd)->tdata.oasys_obj_data)
-#define OASYS_AR_DATA(abfd)	((abfd)->tdata.oasys_ar_data)
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/linker.c ./bfd/linker.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/linker.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/linker.c	2018-07-10 02:06:11.000000000 +0000
@@ -495,6 +495,9 @@ bfd_link_hash_lookup (struct bfd_link_ha
 {
   struct bfd_link_hash_entry *ret;
 
+  if (table == NULL || string == NULL)
+    return NULL;
+
   ret = ((struct bfd_link_hash_entry *)
 	 bfd_hash_lookup (&table->table, string, create, copy));
 
@@ -941,6 +944,9 @@ _bfd_generic_link_add_archive_symbols
 	      continue;
 	    }
 
+	  if (arsym->name == NULL)
+	    goto error_return;
+				  
 	  h = bfd_link_hash_lookup (info->hash, arsym->name,
 				    FALSE, FALSE, TRUE);
 
@@ -1407,7 +1413,7 @@ _bfd_generic_link_add_one_symbol (struct
 	  && name[1] == '_'
 	  && strcmp (name + (name[2] == '_'), "__gnu_lto_slim") == 0)
 	_bfd_error_handler
-	  (_("%B: plugin needed to handle lto object"), abfd);
+	  (_("%pB: plugin needed to handle lto object"), abfd);
     }
   else
     row = DEF_ROW;
@@ -1675,7 +1681,7 @@ _bfd_generic_link_add_one_symbol (struct
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: indirect symbol `%s' to `%s' is a loop"),
+		(_("%pB: indirect symbol `%s' to `%s' is a loop"),
 		 abfd, name, string);
 	      bfd_set_error (bfd_error_invalid_operation);
 	      return FALSE;
@@ -2545,7 +2551,7 @@ default_indirect_link_order (bfd *output
 	 difficult, and sometimes impossible.  */
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("Attempt to do relocatable link with %s input and %s output"),
+	(_("attempt to do relocatable link with %s input and %s output"),
 	 bfd_get_target (input_bfd), bfd_get_target (output_bfd));
       bfd_set_error (bfd_error_wrong_format);
       return FALSE;
@@ -2831,7 +2837,7 @@ _bfd_handle_already_linked (asection *se
     case SEC_LINK_DUPLICATES_ONE_ONLY:
       info->callbacks->einfo
 	/* xgettext:c-format */
-	(_("%B: ignoring duplicate section `%A'\n"),
+	(_("%pB: ignoring duplicate section `%pA'\n"),
 	 sec->owner, sec);
       break;
 
@@ -2841,7 +2847,7 @@ _bfd_handle_already_linked (asection *se
       else if (sec->size != l->sec->size)
 	info->callbacks->einfo
 	  /* xgettext:c-format */
-	  (_("%B: duplicate section `%A' has different size\n"),
+	  (_("%pB: duplicate section `%pA' has different size\n"),
 	   sec->owner, sec);
       break;
 
@@ -2851,7 +2857,7 @@ _bfd_handle_already_linked (asection *se
       else if (sec->size != l->sec->size)
 	info->callbacks->einfo
 	  /* xgettext:c-format */
-	  (_("%B: duplicate section `%A' has different size\n"),
+	  (_("%pB: duplicate section `%pA' has different size\n"),
 	   sec->owner, sec);
       else if (sec->size != 0)
 	{
@@ -2860,18 +2866,18 @@ _bfd_handle_already_linked (asection *se
 	  if (!bfd_malloc_and_get_section (sec->owner, sec, &sec_contents))
 	    info->callbacks->einfo
 	      /* xgettext:c-format */
-	      (_("%B: could not read contents of section `%A'\n"),
+	      (_("%pB: could not read contents of section `%pA'\n"),
 	       sec->owner, sec);
 	  else if (!bfd_malloc_and_get_section (l->sec->owner, l->sec,
 						&l_sec_contents))
 	    info->callbacks->einfo
 	      /* xgettext:c-format */
-	      (_("%B: could not read contents of section `%A'\n"),
+	      (_("%pB: could not read contents of section `%pA'\n"),
 	       l->sec->owner, l->sec);
 	  else if (memcmp (sec_contents, l_sec_contents, sec->size) != 0)
 	    info->callbacks->einfo
 	      /* xgettext:c-format */
-	      (_("%B: duplicate section `%A' has different contents\n"),
+	      (_("%pB: duplicate section `%pA' has different contents\n"),
 	       sec->owner, sec);
 
 	  if (sec_contents)
@@ -3106,6 +3112,32 @@ bfd_generic_define_common_symbol (bfd *o
 
 /*
 FUNCTION
+	_bfd_generic_link_hide_symbol
+
+SYNOPSIS
+	void _bfd_generic_link_hide_symbol
+	  (bfd *output_bfd, struct bfd_link_info *info,
+	   struct bfd_link_hash_entry *h);
+
+DESCRIPTION
+	Hide symbol @var{h}.
+	This is an internal function.  It should not be called from
+	outside the BFD library.
+
+.#define bfd_link_hide_symbol(output_bfd, info, h) \
+.	BFD_SEND (output_bfd, _bfd_link_hide_symbol, (output_bfd, info, h))
+.
+*/
+
+void
+_bfd_generic_link_hide_symbol (bfd *output_bfd ATTRIBUTE_UNUSED,
+			       struct bfd_link_info *info ATTRIBUTE_UNUSED,
+			       struct bfd_link_hash_entry *h ATTRIBUTE_UNUSED)
+{
+}
+
+/*
+FUNCTION
 	bfd_generic_define_start_stop
 
 SYNOPSIS
@@ -3359,10 +3391,10 @@ _bfd_generic_verify_endian_match (bfd *i
       && obfd->xvec->byteorder != BFD_ENDIAN_UNKNOWN)
     {
       if (bfd_big_endian (ibfd))
-	_bfd_error_handler (_("%B: compiled for a big endian system "
+	_bfd_error_handler (_("%pB: compiled for a big endian system "
 			      "and target is little endian"), ibfd);
       else
-	_bfd_error_handler (_("%B: compiled for a little endian system "
+	_bfd_error_handler (_("%pB: compiled for a little endian system "
 			      "and target is big endian"), ibfd);
       bfd_set_error (bfd_error_wrong_format);
       return FALSE;
@@ -3370,3 +3402,104 @@ _bfd_generic_verify_endian_match (bfd *i
 
   return TRUE;
 }
+
+int
+_bfd_nolink_sizeof_headers (bfd *abfd ATTRIBUTE_UNUSED,
+			    struct bfd_link_info *info ATTRIBUTE_UNUSED)
+{
+  return 0;
+}
+
+bfd_boolean
+_bfd_nolink_bfd_relax_section (bfd *abfd,
+			       asection *section ATTRIBUTE_UNUSED,
+			       struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
+			       bfd_boolean *again ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
+
+bfd_byte *
+_bfd_nolink_bfd_get_relocated_section_contents
+    (bfd *abfd,
+     struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
+     struct bfd_link_order *link_order ATTRIBUTE_UNUSED,
+     bfd_byte *data ATTRIBUTE_UNUSED,
+     bfd_boolean relocatable ATTRIBUTE_UNUSED,
+     asymbol **symbols ATTRIBUTE_UNUSED)
+{
+  return (bfd_byte *) _bfd_ptr_bfd_null_error (abfd);
+}
+
+bfd_boolean
+_bfd_nolink_bfd_lookup_section_flags
+    (struct bfd_link_info *info ATTRIBUTE_UNUSED,
+     struct flag_info *flaginfo ATTRIBUTE_UNUSED,
+     asection *section)
+{
+  return _bfd_bool_bfd_false_error (section->owner);
+}
+
+bfd_boolean
+_bfd_nolink_bfd_is_group_section (bfd *abfd,
+				  const asection *sec ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
+
+bfd_boolean
+_bfd_nolink_bfd_discard_group (bfd *abfd, asection *sec ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
+
+struct bfd_link_hash_table *
+_bfd_nolink_bfd_link_hash_table_create (bfd *abfd)
+{
+  return (struct bfd_link_hash_table *) _bfd_ptr_bfd_null_error (abfd);
+}
+
+void
+_bfd_nolink_bfd_link_just_syms (asection *sec ATTRIBUTE_UNUSED,
+				struct bfd_link_info *info ATTRIBUTE_UNUSED)
+{
+}
+
+void
+_bfd_nolink_bfd_copy_link_hash_symbol_type
+    (bfd *abfd ATTRIBUTE_UNUSED,
+     struct bfd_link_hash_entry *from ATTRIBUTE_UNUSED,
+     struct bfd_link_hash_entry *to ATTRIBUTE_UNUSED)
+{
+}
+
+bfd_boolean
+_bfd_nolink_bfd_link_split_section (bfd *abfd, asection *sec ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
+
+bfd_boolean
+_bfd_nolink_section_already_linked (bfd *abfd,
+				    asection *sec ATTRIBUTE_UNUSED,
+				    struct bfd_link_info *info ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
+
+bfd_boolean
+_bfd_nolink_bfd_define_common_symbol
+    (bfd *abfd,
+     struct bfd_link_info *info ATTRIBUTE_UNUSED,
+     struct bfd_link_hash_entry *h ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
+
+struct bfd_link_hash_entry *
+_bfd_nolink_bfd_define_start_stop (struct bfd_link_info *info ATTRIBUTE_UNUSED,
+				   const char *name ATTRIBUTE_UNUSED,
+				   asection *sec)
+{
+  return (struct bfd_link_hash_entry *) _bfd_ptr_bfd_null_error (sec->owner);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/m68k4knetbsd.c ./bfd/m68k4knetbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/m68k4knetbsd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/m68k4knetbsd.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,36 +0,0 @@
-/* BFD back-end for NetBSD/m68k a.out-ish binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGET_IS_BIG_ENDIAN_P
-
-#define TARGET_PAGE_SIZE	0x1000
-
-#define DEFAULT_ARCH	bfd_arch_m68k
-#define DEFAULT_MID	M_68K4K_NETBSD
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (m68k_aout_4knbsd_,OP)
-
-/* This needs to start with a.out so GDB knows it is an a.out variant.  */
-#define TARGETNAME "a.out-m68k4k-netbsd"
-
-#include "netbsd.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/m68klinux.c ./bfd/m68klinux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/m68klinux.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/m68klinux.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,737 +0,0 @@
-/* BFD back-end for linux flavored m68k a.out binaries.
-   Copyright (C) 1992-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define	TARGET_PAGE_SIZE 4096
-#define ZMAGIC_DISK_BLOCK_SIZE 1024
-#define	SEGMENT_SIZE TARGET_PAGE_SIZE
-#define TEXT_START_ADDR	0x0
-
-#define MACHTYPE_OK(mtype) ((mtype) == M_68020 || (mtype) == M_UNKNOWN)
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "aout/aout64.h"
-#include "aout/stab_gnu.h"
-#include "aout/ar.h"
-#include "libaout.h"	       /* BFD a.out internal data structures */
-
-#define TARGET_IS_BIG_ENDIAN_P
-#define DEFAULT_ARCH bfd_arch_m68k
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (m68k_aout_linux_,OP)
-#define TARGETNAME "a.out-m68k-linux"
-
-extern const bfd_target MY(vec);
-
-/* We always generate QMAGIC files in preference to ZMAGIC files.  It
-   would be possible to make this a linker option, if that ever
-   becomes important.  */
-
-static void MY_final_link_callback
-  (bfd *, file_ptr *, file_ptr *, file_ptr *);
-
-static bfd_boolean
-m68klinux_bfd_final_link (bfd *abfd,
-			  struct bfd_link_info *info)
-{
-  obj_aout_subformat (abfd) = q_magic_format;
-  return NAME(aout,final_link) (abfd, info, MY_final_link_callback);
-}
-
-#define MY_bfd_final_link m68klinux_bfd_final_link
-
-/* Set the machine type correctly.  */
-
-static bfd_boolean
-m68klinux_write_object_contents (bfd *abfd)
-{
-  struct external_exec exec_bytes;
-  struct internal_exec *execp = exec_hdr (abfd);
-
-  N_SET_MACHTYPE (execp, M_68020);
-
-  obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
-
-  WRITE_HEADERS (abfd, execp);
-
-  return TRUE;
-}
-
-#define MY_write_object_contents m68klinux_write_object_contents
-
-/* Code to link against Linux a.out shared libraries.  */
-
-/* See if a symbol name is a reference to the global offset table.  */
-
-#ifndef GOT_REF_PREFIX
-#define	GOT_REF_PREFIX	"__GOT_"
-#endif
-
-#define IS_GOT_SYM(name)  (CONST_STRNEQ (name, GOT_REF_PREFIX))
-
-/* See if a symbol name is a reference to the procedure linkage table.  */
-
-#ifndef PLT_REF_PREFIX
-#define	PLT_REF_PREFIX	"__PLT_"
-#endif
-
-#define IS_PLT_SYM(name)  (CONST_STRNEQ (name, PLT_REF_PREFIX))
-
-/* This string is used to generate specialized error messages.  */
-
-#ifndef NEEDS_SHRLIB
-#define NEEDS_SHRLIB "__NEEDS_SHRLIB_"
-#endif
-
-/* This special symbol is a set vector that contains a list of
-   pointers to fixup tables.  It will be present in any dynamically
-   linked file.  The linker generated fixup table should also be added
-   to the list, and it should always appear in the second slot (the
-   first one is a dummy with a magic number that is defined in
-   crt0.o).  */
-
-#ifndef SHARABLE_CONFLICTS
-#define SHARABLE_CONFLICTS "__SHARABLE_CONFLICTS__"
-#endif
-
-/* We keep a list of fixups.  The terminology is a bit strange, but
-   each fixup contains two 32 bit numbers.  A regular fixup contains
-   an address and a pointer, and at runtime we should store the
-   address at the location pointed to by the pointer.  A builtin fixup
-   contains two pointers, and we should read the address using one
-   pointer and store it at the location pointed to by the other
-   pointer.  Builtin fixups come into play when we have duplicate
-   __GOT__ symbols for the same variable.  The builtin fixup will copy
-   the GOT pointer from one over into the other.  */
-
-struct fixup
-{
-  struct fixup *next;
-  struct linux_link_hash_entry *h;
-  bfd_vma value;
-
-  /* Nonzero if this is a jump instruction that needs to be fixed,
-     zero if this is just a pointer */
-  char jump;
-
-  char builtin;
-};
-
-/* We don't need a special hash table entry structure, but we do need
-   to keep some information between linker passes, so we use a special
-   hash table.  */
-
-struct linux_link_hash_entry
-{
-  struct aout_link_hash_entry root;
-};
-
-struct linux_link_hash_table
-{
-  struct aout_link_hash_table root;
-
-  /* First dynamic object found in link.  */
-  bfd *dynobj;
-
-  /* Number of fixups.  */
-  size_t fixup_count;
-
-  /* Number of builtin fixups.  */
-  size_t local_builtins;
-
-  /* List of fixups.  */
-  struct fixup *fixup_list;
-};
-
-/* Routine to create an entry in an Linux link hash table.  */
-
-static struct bfd_hash_entry *
-linux_link_hash_newfunc (struct bfd_hash_entry *entry,
-			 struct bfd_hash_table *table,
-			 const char *string)
-{
-  struct linux_link_hash_entry *ret = (struct linux_link_hash_entry *) entry;
-
-  /* Allocate the structure if it has not already been allocated by a
-     subclass.  */
-  if (ret == (struct linux_link_hash_entry *) NULL)
-    ret = ((struct linux_link_hash_entry *)
-	   bfd_hash_allocate (table, sizeof (struct linux_link_hash_entry)));
-  if (ret == NULL)
-    return (struct bfd_hash_entry *) ret;
-
-  /* Call the allocation method of the superclass.  */
-  ret = ((struct linux_link_hash_entry *)
-	 NAME(aout,link_hash_newfunc) ((struct bfd_hash_entry *) ret,
-				       table, string));
-  if (ret != NULL)
-    {
-      /* Set local fields; there aren't any.  */
-    }
-
-  return (struct bfd_hash_entry *) ret;
-}
-
-/* Create a Linux link hash table.  */
-
-static struct bfd_link_hash_table *
-linux_link_hash_table_create (bfd *abfd)
-{
-  struct linux_link_hash_table *ret;
-  bfd_size_type amt = sizeof (struct linux_link_hash_table);
-
-  ret = (struct linux_link_hash_table *) bfd_zmalloc (amt);
-  if (ret == (struct linux_link_hash_table *) NULL)
-    {
-      bfd_set_error (bfd_error_no_memory);
-      return (struct bfd_link_hash_table *) NULL;
-    }
-  if (!NAME(aout,link_hash_table_init) (&ret->root, abfd,
-					linux_link_hash_newfunc,
-					sizeof (struct linux_link_hash_entry)))
-    {
-      free (ret);
-      return (struct bfd_link_hash_table *) NULL;
-    }
-
-  return &ret->root.root;
-}
-
-/* Look up an entry in a Linux link hash table.  */
-
-#define linux_link_hash_lookup(table, string, create, copy, follow) \
-  ((struct linux_link_hash_entry *) \
-   aout_link_hash_lookup (&(table)->root, (string), (create), (copy),\
-			  (follow)))
-
-/* Traverse a Linux link hash table.  */
-
-#define linux_link_hash_traverse(table, func, info)			\
-  (aout_link_hash_traverse						\
-   (&(table)->root,							\
-    (bfd_boolean (*) (struct aout_link_hash_entry *, void *)) (func),	\
-    (info)))
-
-/* Get the Linux link hash table from the info structure.  This is
-   just a cast.  */
-
-#define linux_hash_table(p) ((struct linux_link_hash_table *) ((p)->hash))
-
-/* Store the information for a new fixup.  */
-
-static struct fixup *
-new_fixup (struct bfd_link_info *info,
-	   struct linux_link_hash_entry *h,
-	   bfd_vma value,
-	   int builtin)
-{
-  struct fixup *f;
-
-  f = (struct fixup *) bfd_hash_allocate (&info->hash->table,
-					  sizeof (struct fixup));
-  if (f == NULL)
-    return f;
-  f->next = linux_hash_table (info)->fixup_list;
-  linux_hash_table (info)->fixup_list = f;
-  f->h = h;
-  f->value = value;
-  f->builtin = builtin;
-  f->jump = 0;
-  ++linux_hash_table (info)->fixup_count;
-  return f;
-}
-
-/* We come here once we realize that we are going to link to a shared
-   library.  We need to create a special section that contains the
-   fixup table, and we ultimately need to add a pointer to this into
-   the set vector for SHARABLE_CONFLICTS.  At this point we do not
-   know the size of the section, but that's OK - we just need to
-   create it for now.  */
-
-static bfd_boolean
-linux_link_create_dynamic_sections (bfd *abfd,
-				    struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  flagword flags;
-  asection *s;
-
-  /* Note that we set the SEC_IN_MEMORY flag.  */
-  flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY;
-
-  /* We choose to use the name ".linux-dynamic" for the fixup table.
-     Why not? */
-  s = bfd_make_section_with_flags (abfd, ".linux-dynamic", flags);
-  if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, 2))
-    return FALSE;
-  s->size = 0;
-  s->contents = 0;
-
-  return TRUE;
-}
-
-/* Function to add a single symbol to the linker hash table.  This is
-   a wrapper around _bfd_generic_link_add_one_symbol which handles the
-   tweaking needed for dynamic linking support.  */
-
-static bfd_boolean
-linux_add_one_symbol (struct bfd_link_info *info,
-		      bfd *abfd,
-		      const char *name,
-		      flagword flags,
-		      asection *section,
-		      bfd_vma value,
-		      const char *string,
-		      bfd_boolean copy,
-		      bfd_boolean collect,
-		      struct bfd_link_hash_entry **hashp)
-{
-  struct linux_link_hash_entry *h;
-  bfd_boolean insert;
-
-  /* Look up and see if we already have this symbol in the hash table.
-     If we do, and the defining entry is from a shared library, we
-     need to create the dynamic sections.
-
-     FIXME: What if abfd->xvec != info->output_bfd->xvec?  We may
-     want to be able to link Linux a.out and ELF objects together,
-     but serious confusion is possible.  */
-
-  insert = FALSE;
-
-  if (! bfd_link_relocatable (info)
-      && linux_hash_table (info)->dynobj == NULL
-      && strcmp (name, SHARABLE_CONFLICTS) == 0
-      && (flags & BSF_CONSTRUCTOR) != 0
-      && abfd->xvec == info->output_bfd->xvec)
-    {
-      if (! linux_link_create_dynamic_sections (abfd, info))
-	return FALSE;
-      linux_hash_table (info)->dynobj = abfd;
-      insert = TRUE;
-    }
-
-  if (bfd_is_abs_section (section)
-      && abfd->xvec == info->output_bfd->xvec)
-    {
-      h = linux_link_hash_lookup (linux_hash_table (info), name, FALSE,
-				  FALSE, FALSE);
-      if (h != NULL
-	  && (h->root.root.type == bfd_link_hash_defined
-	      || h->root.root.type == bfd_link_hash_defweak))
-	{
-	  struct fixup *f;
-
-	  if (hashp != NULL)
-	    *hashp = (struct bfd_link_hash_entry *) h;
-
-	  f = new_fixup (info, h, value, ! IS_PLT_SYM (name));
-	  if (f == NULL)
-	    return FALSE;
-	  f->jump = IS_PLT_SYM (name);
-
-	  return TRUE;
-	}
-    }
-
-  /* Do the usual procedure for adding a symbol.  */
-  if (! _bfd_generic_link_add_one_symbol (info, abfd, name, flags, section,
-					  value, string, copy, collect,
-					  hashp))
-    return FALSE;
-
-  /* Insert a pointer to our table in the set vector.  The dynamic
-     linker requires this information */
-  if (insert)
-    {
-      asection *s;
-
-      /* Here we do our special thing to add the pointer to the
-	 dynamic section in the SHARABLE_CONFLICTS set vector.  */
-      s = bfd_get_section_by_name (linux_hash_table (info)->dynobj,
-				   ".linux-dynamic");
-      BFD_ASSERT (s != NULL);
-
-      if (! (_bfd_generic_link_add_one_symbol
-	     (info, linux_hash_table (info)->dynobj, SHARABLE_CONFLICTS,
-	      BSF_GLOBAL | BSF_CONSTRUCTOR, s, (bfd_vma) 0, NULL,
-	      FALSE, FALSE, NULL)))
-	return FALSE;
-    }
-
-  return TRUE;
-}
-
-/* We will crawl the hash table and come here for every global symbol.
-   We will examine each entry and see if there are indications that we
-   need to add a fixup.  There are two possible cases - one is where
-   you have duplicate definitions of PLT or GOT symbols - these will
-   have already been caught and added as "builtin" fixups.  If we find
-   that the corresponding non PLT/GOT symbol is also present, we
-   convert it to a regular fixup instead.
-
-   This function is called via linux_link_hash_traverse.  */
-
-static bfd_boolean
-linux_tally_symbols (struct linux_link_hash_entry *h,
-		     void * data)
-{
-  struct bfd_link_info *info = (struct bfd_link_info *) data;
-  struct fixup *f, *f1;
-  int is_plt;
-  struct linux_link_hash_entry *h1, *h2;
-  bfd_boolean exists;
-
-  if (h->root.root.type == bfd_link_hash_undefined
-      && CONST_STRNEQ (h->root.root.root.string, NEEDS_SHRLIB))
-    {
-      const char *name;
-      char *p;
-      char *alloc = NULL;
-
-      name = h->root.root.root.string + sizeof NEEDS_SHRLIB - 1;
-      p = strrchr (name, '_');
-      if (p != NULL)
-	alloc = (char *) bfd_malloc ((bfd_size_type) strlen (name) + 1);
-
-      if (p == NULL || alloc == NULL)
-	_bfd_error_handler (_("Output file requires shared library `%s'\n"),
-			    name);
-      else
-	{
-	  strcpy (alloc, name);
-	  p = strrchr (alloc, '_');
-	  *p++ = '\0';
-	  _bfd_error_handler
-	    /* xgettext:c-format */
-	    (_("Output file requires shared library `%s.so.%s'\n"),
-	     alloc, p);
-	  free (alloc);
-	}
-
-      abort ();
-    }
-
-  /* If this symbol is not a PLT/GOT, we do not even need to look at it */
-  is_plt = IS_PLT_SYM (h->root.root.root.string);
-
-  if (is_plt || IS_GOT_SYM (h->root.root.root.string))
-    {
-      /* Look up this symbol twice.  Once just as a regular lookup,
-	 and then again following all of the indirect links until we
-	 reach a real symbol.  */
-      h1 = linux_link_hash_lookup (linux_hash_table (info),
-				   (h->root.root.root.string
-				    + sizeof PLT_REF_PREFIX - 1),
-				   FALSE, FALSE, TRUE);
-      /* h2 does not follow indirect symbols.  */
-      h2 = linux_link_hash_lookup (linux_hash_table (info),
-				   (h->root.root.root.string
-				    + sizeof PLT_REF_PREFIX - 1),
-				   FALSE, FALSE, FALSE);
-
-      /* The real symbol must exist but if it is also an ABS symbol,
-	 there is no need to have a fixup.  This is because they both
-	 came from the same library.  If on the other hand, we had to
-	 use an indirect symbol to get to the real symbol, we add the
-	 fixup anyway, since there are cases where these symbols come
-	 from different shared libraries */
-      if (h1 != NULL
-	  && (((h1->root.root.type == bfd_link_hash_defined
-		|| h1->root.root.type == bfd_link_hash_defweak)
-	       && ! bfd_is_abs_section (h1->root.root.u.def.section))
-	      || h2->root.root.type == bfd_link_hash_indirect))
-	{
-	  /* See if there is a "builtin" fixup already present
-	     involving this symbol.  If so, convert it to a regular
-	     fixup.  In the end, this relaxes some of the requirements
-	     about the order of performing fixups.  */
-	  exists = FALSE;
-	  for (f1 = linux_hash_table (info)->fixup_list;
-	       f1 != NULL;
-	       f1 = f1->next)
-	    {
-	      if ((f1->h != h && f1->h != h1)
-		  || (! f1->builtin && ! f1->jump))
-		continue;
-	      if (f1->h == h1)
-		exists = TRUE;
-	      if (! exists
-		  && bfd_is_abs_section (h->root.root.u.def.section))
-		{
-		  f = new_fixup (info, h1, f1->h->root.root.u.def.value, 0);
-		  f->jump = is_plt;
-		}
-	      f1->h = h1;
-	      f1->jump = is_plt;
-	      f1->builtin = 0;
-	      exists = TRUE;
-	    }
-	  if (! exists
-	      && bfd_is_abs_section (h->root.root.u.def.section))
-	    {
-	      f = new_fixup (info, h1, h->root.root.u.def.value, 0);
-	      if (f == NULL)
-		{
-		  /* FIXME: No way to return error.  */
-		  abort ();
-		}
-	      f->jump = is_plt;
-	    }
-	}
-
-      /* Quick and dirty way of stripping these symbols from the
-	 symtab.  */
-      if (bfd_is_abs_section (h->root.root.u.def.section))
-	h->root.written = TRUE;
-    }
-
-  return TRUE;
-}
-
-/* This is called to set the size of the .linux-dynamic section is.
-   It is called by the Linux linker emulation before_allocation
-   routine.  We have finished reading all of the input files, and now
-   we just scan the hash tables to find out how many additional fixups
-   are required.  */
-
-bfd_boolean
-bfd_m68klinux_size_dynamic_sections (bfd *output_bfd,
-				     struct bfd_link_info *info)
-{
-  struct fixup *f;
-  asection *s;
-
-  if (output_bfd->xvec != &MY(vec))
-    return TRUE;
-
-  /* First find the fixups...  */
-  linux_link_hash_traverse (linux_hash_table (info),
-			    linux_tally_symbols,
-			    info);
-
-  /* If there are builtin fixups, leave room for a marker.  This is
-     used by the dynamic linker so that it knows that all that follow
-     are builtin fixups instead of regular fixups.  */
-  for (f = linux_hash_table (info)->fixup_list; f != NULL; f = f->next)
-    {
-      if (f->builtin)
-	{
-	  ++linux_hash_table (info)->fixup_count;
-	  ++linux_hash_table (info)->local_builtins;
-	  break;
-	}
-    }
-
-  if (linux_hash_table (info)->dynobj == NULL)
-    {
-      if (linux_hash_table (info)->fixup_count > 0)
-	abort ();
-      return TRUE;
-    }
-
-  /* Allocate memory for our fixup table.  We will fill it in later.  */
-  s = bfd_get_section_by_name (linux_hash_table (info)->dynobj,
-			       ".linux-dynamic");
-  if (s != NULL)
-    {
-      s->size = linux_hash_table (info)->fixup_count + 1;
-      s->size *= 8;
-      s->contents = (bfd_byte *) bfd_zalloc (output_bfd, s->size);
-      if (s->contents == NULL)
-	{
-	  bfd_set_error (bfd_error_no_memory);
-	  return FALSE;
-	}
-    }
-
-  return TRUE;
-}
-
-/* We come here once we are ready to actually write the fixup table to
-   the output file.  Scan the fixup tables and so forth and generate
-   the stuff we need.  */
-
-static bfd_boolean
-linux_finish_dynamic_link (bfd *output_bfd, struct bfd_link_info *info)
-{
-  asection *s, *os, *is;
-  bfd_byte *fixup_table;
-  struct linux_link_hash_entry *h;
-  struct fixup *f;
-  unsigned int new_addr;
-  int section_offset;
-  unsigned int fixups_written;
-
-  if (linux_hash_table (info)->dynobj == NULL)
-    return TRUE;
-
-  s = bfd_get_section_by_name (linux_hash_table (info)->dynobj,
-			       ".linux-dynamic");
-  BFD_ASSERT (s != NULL);
-  os = s->output_section;
-  fixups_written = 0;
-
-#ifdef LINUX_LINK_DEBUG
-  printf ("Fixup table file offset: %x  VMA: %x\n",
-	  os->filepos + s->output_offset,
-	  os->vma + s->output_offset);
-#endif
-
-  fixup_table = s->contents;
-  bfd_put_32 (output_bfd, (bfd_vma) linux_hash_table (info)->fixup_count,
-	      fixup_table);
-  fixup_table += 4;
-
-  /* Fill in fixup table.  */
-  for (f = linux_hash_table (info)->fixup_list; f != NULL; f = f->next)
-    {
-      if (f->builtin)
-	continue;
-
-      if (f->h->root.root.type != bfd_link_hash_defined
-	  && f->h->root.root.type != bfd_link_hash_defweak)
-	{
-	  _bfd_error_handler
-	    (_("Symbol %s not defined for fixups\n"),
-	     f->h->root.root.root.string);
-	  continue;
-	}
-
-      is = f->h->root.root.u.def.section;
-      section_offset = is->output_section->vma + is->output_offset;
-      new_addr = f->h->root.root.u.def.value + section_offset;
-
-#ifdef LINUX_LINK_DEBUG
-      printf ("Fixup(%d) %s: %x %x\n",f->jump, f->h->root.root.string,
-	      new_addr, f->value);
-#endif
-
-      if (f->jump)
-	{
-	  bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, f->value + 2, fixup_table);
-	  fixup_table += 4;
-	}
-      else
-	{
-	  bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, f->value, fixup_table);
-	  fixup_table += 4;
-	}
-      ++fixups_written;
-    }
-
-  if (linux_hash_table (info)->local_builtins != 0)
-    {
-      /* Special marker so we know to switch to the other type of fixup */
-      bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-      fixup_table += 4;
-      bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-      fixup_table += 4;
-      ++fixups_written;
-      for (f = linux_hash_table (info)->fixup_list; f != NULL; f = f->next)
-	{
-	  if (! f->builtin)
-	    continue;
-
-	  if (f->h->root.root.type != bfd_link_hash_defined
-	      && f->h->root.root.type != bfd_link_hash_defweak)
-	    {
-	      _bfd_error_handler
-		(_("Symbol %s not defined for fixups\n"),
-		 f->h->root.root.root.string);
-	      continue;
-	    }
-
-	  is = f->h->root.root.u.def.section;
-	  section_offset = is->output_section->vma + is->output_offset;
-	  new_addr = f->h->root.root.u.def.value + section_offset;
-
-#ifdef LINUX_LINK_DEBUG
-	  printf ("Fixup(B) %s: %x %x\n", f->h->root.root.string,
-		  new_addr, f->value);
-#endif
-
-	  bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, f->value, fixup_table);
-	  fixup_table += 4;
-	  ++fixups_written;
-	}
-  }
-
-  if (linux_hash_table (info)->fixup_count != fixups_written)
-    {
-      _bfd_error_handler (_("Warning: fixup count mismatch\n"));
-      while (linux_hash_table (info)->fixup_count > fixups_written)
-	{
-	  bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-	  fixup_table += 4;
-	  ++fixups_written;
-	}
-    }
-
-  h = linux_link_hash_lookup (linux_hash_table (info),
-			      "__BUILTIN_FIXUPS__",
-			      FALSE, FALSE, FALSE);
-
-  if (h != NULL
-      && (h->root.root.type == bfd_link_hash_defined
-	  || h->root.root.type == bfd_link_hash_defweak))
-    {
-      is = h->root.root.u.def.section;
-      section_offset = is->output_section->vma + is->output_offset;
-      new_addr = h->root.root.u.def.value + section_offset;
-
-#ifdef LINUX_LINK_DEBUG
-      printf ("Builtin fixup table at %x\n", new_addr);
-#endif
-
-      bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-    }
-  else
-    bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-
-  if (bfd_seek (output_bfd, (file_ptr) (os->filepos + s->output_offset),
-		SEEK_SET) != 0)
-    return FALSE;
-
-  if (bfd_bwrite (s->contents, s->size, output_bfd) != s->size)
-    return FALSE;
-
-  return TRUE;
-}
-
-#define MY_bfd_link_hash_table_create linux_link_hash_table_create
-#define MY_add_one_symbol linux_add_one_symbol
-#define MY_finish_dynamic_link linux_finish_dynamic_link
-
-#define MY_zmagic_contiguous 1
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/m68knetbsd.c ./bfd/m68knetbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/m68knetbsd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/m68knetbsd.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,38 +0,0 @@
-/* BFD back-end for NetBSD/m68k a.out-ish binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGET_IS_BIG_ENDIAN_P
-
-/* Our m68k ports use either 4K or 8K pages, but object files always
-   assume 8K page alignment so they will work on all m68k machines.  */
-#define TARGET_PAGE_SIZE	0x2000
-
-#define DEFAULT_ARCH	bfd_arch_m68k
-#define DEFAULT_MID	M_68K_NETBSD
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (m68k_aout_nbsd_,OP)
-
-/* This needs to start with a.out so GDB knows it is an a.out variant.  */
-#define TARGETNAME "a.out-m68k-netbsd"
-
-#include "netbsd.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/m88kmach3.c ./bfd/m88kmach3.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/m88kmach3.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/m88kmach3.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,41 +0,0 @@
-/* BFD back-end for Motorola m88k a.out (Mach 3) binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define	TARGET_PAGE_SIZE	(4096*2)
-#define SEGMENT_SIZE	0x20000
-#define TEXT_START_ADDR	0
-#define N_HEADER_IN_TEXT(x)	1		/* (N_MAGIG(x) == ZMAGIC) */
-
-#define N_TXTSIZE(x)	((x)->a_text)
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "libaout.h"
-
-#define DEFAULT_ARCH bfd_arch_m88k
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (m88k_aout_mach3_,OP)
-#define TARGETNAME "a.out-m88k-mach3"
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/m88kopenbsd.c ./bfd/m88kopenbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/m88kopenbsd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/m88kopenbsd.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,34 +0,0 @@
-/* BFD back-end for OpenBSD/m88k a.out binaries.
-   Copyright (C) 2004-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define	TARGET_IS_BIG_ENDIAN_P
-
-#define	TARGET_PAGE_SIZE	4096
-
-#define	DEFAULT_ARCH		bfd_arch_m88k
-#define	DEFAULT_MID		M_88K_OPENBSD
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (m88k_aout_obsd_,OP)
-#define TARGETNAME "a.out-m88k-openbsd"
-
-#include "netbsd.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/mach-o.c ./bfd/mach-o.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/mach-o.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/mach-o.c	2018-07-10 02:06:11.000000000 +0000
@@ -592,6 +592,124 @@ bfd_mach_o_bfd_copy_private_section_data
   return TRUE;
 }
 
+static const char *
+cputype (unsigned long value)
+{
+  switch (value)
+    {
+    case BFD_MACH_O_CPU_TYPE_VAX: return "VAX";
+    case BFD_MACH_O_CPU_TYPE_MC680x0: return "MC68k";
+    case BFD_MACH_O_CPU_TYPE_I386: return "I386";
+    case BFD_MACH_O_CPU_TYPE_MIPS: return "MIPS";
+    case BFD_MACH_O_CPU_TYPE_MC98000: return "MC98k";
+    case BFD_MACH_O_CPU_TYPE_HPPA: return "HPPA";
+    case BFD_MACH_O_CPU_TYPE_ARM: return "ARM";
+    case BFD_MACH_O_CPU_TYPE_MC88000: return "MC88K";
+    case BFD_MACH_O_CPU_TYPE_SPARC: return "SPARC";
+    case BFD_MACH_O_CPU_TYPE_I860: return "I860";
+    case BFD_MACH_O_CPU_TYPE_ALPHA: return "ALPHA";
+    case BFD_MACH_O_CPU_TYPE_POWERPC: return "PPC";
+    case BFD_MACH_O_CPU_TYPE_POWERPC_64: return "PPC64";
+    case BFD_MACH_O_CPU_TYPE_X86_64: return "X86_64";
+    case BFD_MACH_O_CPU_TYPE_ARM64: return "ARM64";
+    default: return _("<unknown>");
+    }
+}
+
+static const char *
+cpusubtype (unsigned long cputype, unsigned long cpusubtype)
+{
+  static char buffer[128];
+
+  buffer[0] = 0;
+  switch (cpusubtype & BFD_MACH_O_CPU_SUBTYPE_MASK)
+    {
+    case 0:
+      break;
+    case BFD_MACH_O_CPU_SUBTYPE_LIB64:
+      sprintf (buffer, " (LIB64)"); break;
+    default:
+      sprintf (buffer, _("<unknown mask flags>")); break;
+    }
+
+  cpusubtype &= ~ BFD_MACH_O_CPU_SUBTYPE_MASK;
+
+  switch (cputype)
+    {
+    case BFD_MACH_O_CPU_TYPE_X86_64:
+    case BFD_MACH_O_CPU_TYPE_I386:
+      switch (cpusubtype)
+	{
+	case BFD_MACH_O_CPU_SUBTYPE_X86_ALL:
+	  return strcat (buffer, " (X86_ALL)");
+	default:
+	  break;
+	}
+      break;
+	
+    case BFD_MACH_O_CPU_TYPE_ARM:
+      switch (cpusubtype)
+	{
+	case BFD_MACH_O_CPU_SUBTYPE_ARM_ALL:
+	  return strcat (buffer, " (ARM_ALL)");
+	case BFD_MACH_O_CPU_SUBTYPE_ARM_V4T:
+	  return strcat (buffer, " (ARM_V4T)");
+	case BFD_MACH_O_CPU_SUBTYPE_ARM_V6:
+	  return strcat (buffer, " (ARM_V6)");
+	case BFD_MACH_O_CPU_SUBTYPE_ARM_V5TEJ:
+	  return strcat (buffer, " (ARM_V5TEJ)");
+	case BFD_MACH_O_CPU_SUBTYPE_ARM_XSCALE:
+	  return strcat (buffer, " (ARM_XSCALE)");
+	case BFD_MACH_O_CPU_SUBTYPE_ARM_V7:
+	  return strcat (buffer, " (ARM_V7)");
+	default:
+	  break;
+	}
+      break;
+      
+    case BFD_MACH_O_CPU_TYPE_ARM64:
+      switch (cpusubtype)
+	{
+	case BFD_MACH_O_CPU_SUBTYPE_ARM64_ALL:
+	  return strcat (buffer, " (ARM64_ALL)");
+	case BFD_MACH_O_CPU_SUBTYPE_ARM64_V8:
+	  return strcat (buffer, " (ARM64_V8)");
+	default:
+	  break;
+	}
+      break;
+
+    default:
+      break;
+    }
+
+  if (cpusubtype != 0)
+    return strcat (buffer, _(" (<unknown>)"));
+
+  return buffer;
+}
+
+bfd_boolean
+bfd_mach_o_bfd_print_private_bfd_data (bfd *abfd, void *ptr)
+{
+  FILE * file = (FILE *) ptr;
+  bfd_mach_o_data_struct *mdata = bfd_mach_o_get_data (abfd);
+
+  fprintf (file, _(" MACH-O header:\n"));
+  fprintf (file, _("   magic:      %#lx\n"), (long) mdata->header.magic);
+  fprintf (file, _("   cputype:    %#lx (%s)\n"), (long) mdata->header.cputype,
+	   cputype (mdata->header.cputype));
+  fprintf (file, _("   cpusubtype: %#lx%s\n"), (long) mdata->header.cpusubtype,
+	   cpusubtype (mdata->header.cputype, mdata->header.cpusubtype));
+  fprintf (file, _("   filetype:   %#lx\n"), (long) mdata->header.filetype);
+  fprintf (file, _("   ncmds:      %#lx\n"), (long) mdata->header.ncmds);
+  fprintf (file, _("   sizeocmds:  %#lx\n"), (long) mdata->header.sizeofcmds);
+  fprintf (file, _("   flags:      %#lx\n"), (long) mdata->header.flags);
+  fprintf (file, _("   version:    %x\n"), mdata->header.version);
+  
+  return TRUE;
+}
+
 /* Copy any private info we understand from the input bfd
    to the output bfd.  */
 
@@ -615,6 +733,21 @@ bfd_mach_o_bfd_copy_private_header_data 
   /* Copy header flags.  */
   omdata->header.flags = imdata->header.flags;
 
+  /* PR 23299.  Copy the cputype.  */
+  if (imdata->header.cputype != omdata->header.cputype)
+    {
+      if (omdata->header.cputype == 0)
+	omdata->header.cputype = imdata->header.cputype;
+      else if (imdata->header.cputype != 0)
+	/* Urg - what has happened ?  */
+	_bfd_error_handler (_("incompatible cputypes in mach-o files: %ld vs %ld"),
+			    (long) imdata->header.cputype,
+			    (long) omdata->header.cputype);
+    }
+
+  /* Copy the cpusubtype.  */
+  omdata->header.cpusubtype = imdata->header.cpusubtype;
+    
   /* Copy commands.  */
   for (icmd = imdata->first_command; icmd != NULL; icmd = icmd->next)
     {
@@ -1040,16 +1173,10 @@ bfd_mach_o_convert_architecture (bfd_mac
 	  break;
 	}
       break;
-    case BFD_MACH_O_CPU_TYPE_MC88000:
-      *type = bfd_arch_m88k;
-      break;
     case BFD_MACH_O_CPU_TYPE_SPARC:
       *type = bfd_arch_sparc;
       *subtype = bfd_mach_sparc;
       break;
-    case BFD_MACH_O_CPU_TYPE_I860:
-      *type = bfd_arch_i860;
-      break;
     case BFD_MACH_O_CPU_TYPE_ALPHA:
       *type = bfd_arch_alpha;
       break;
@@ -1301,7 +1428,7 @@ bfd_mach_o_get_reloc_upper_bound (bfd *a
 
 void
 bfd_mach_o_swap_in_non_scattered_reloc (bfd *abfd, bfd_mach_o_reloc_info *rel,
-				       unsigned char *fields)
+					unsigned char *fields)
 {
   unsigned char info = fields[3];
 
@@ -1617,7 +1744,7 @@ bfd_mach_o_canonicalize_dynamic_reloc (b
 
 static void
 bfd_mach_o_swap_out_non_scattered_reloc (bfd *abfd, unsigned char *fields,
-				       bfd_mach_o_reloc_info *rel)
+					 bfd_mach_o_reloc_info *rel)
 {
   unsigned char info = 0;
 
@@ -2817,8 +2944,9 @@ bfd_mach_o_build_exec_seg_command (bfd *
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("section address (%#Lx) below start of segment (%#Lx)"),
-	       s->addr, vma);
+	    (_("section address (%#" PRIx64 ") "
+	       "below start of segment (%#" PRIx64 ")"),
+	       (uint64_t) s->addr, (uint64_t) vma);
 	  return FALSE;
 	}
 
@@ -4759,7 +4887,7 @@ bfd_mach_o_read_command (bfd *abfd, bfd_
       break;
     default:
       command->len = 0;
-      _bfd_error_handler (_("%B: unknown load command %#x"),
+      _bfd_error_handler (_("%pB: unknown load command %#x"),
 			  abfd, command->type);
       return FALSE;
     }
@@ -5404,6 +5532,13 @@ bfd_mach_o_fat_extract (bfd *abfd,
   return NULL;
 }
 
+static bfd_boolean
+bfd_mach_o_fat_close_and_cleanup (bfd *abfd)
+{
+  _bfd_unlink_from_archive_parent (abfd);
+  return TRUE;
+}
+
 int
 bfd_mach_o_lookup_command (bfd *abfd,
 			   bfd_mach_o_load_command_type type,
@@ -5437,16 +5572,12 @@ bfd_mach_o_stack_addr (enum bfd_mach_o_c
     {
     case BFD_MACH_O_CPU_TYPE_MC680x0:
       return 0x04000000;
-    case BFD_MACH_O_CPU_TYPE_MC88000:
-      return 0xffffe000;
     case BFD_MACH_O_CPU_TYPE_POWERPC:
       return 0xc0000000;
     case BFD_MACH_O_CPU_TYPE_I386:
       return 0xc0000000;
     case BFD_MACH_O_CPU_TYPE_SPARC:
       return 0xf0000000;
-    case BFD_MACH_O_CPU_TYPE_I860:
-      return 0;
     case BFD_MACH_O_CPU_TYPE_HPPA:
       return 0xc0000000 - 0x04000000;
     default:
@@ -5839,7 +5970,8 @@ bfd_mach_o_close_and_cleanup (bfd *abfd)
   return _bfd_generic_close_and_cleanup (abfd);
 }
 
-bfd_boolean bfd_mach_o_free_cached_info (bfd *abfd)
+bfd_boolean
+bfd_mach_o_free_cached_info (bfd *abfd)
 {
   bfd_mach_o_data_struct *mdata = bfd_mach_o_get_data (abfd);
   asection *asect;
@@ -5901,7 +6033,7 @@ bfd_boolean bfd_mach_o_free_cached_info 
 /* Not yet handled: creating an archive.  */
 #define bfd_mach_o_mkarchive			  _bfd_noarchive_mkarchive
 
-#define bfd_mach_o_close_and_cleanup		  bfd_true
+#define bfd_mach_o_close_and_cleanup		  bfd_mach_o_fat_close_and_cleanup
 
 /* Not used.  */
 #define bfd_mach_o_generic_stat_arch_elt	  bfd_mach_o_fat_stat_arch_elt
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/mach-o.h ./bfd/mach-o.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/mach-o.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/mach-o.h	2018-07-10 02:06:11.000000000 +0000
@@ -659,6 +659,7 @@ bfd_boolean bfd_mach_o_bfd_copy_private_
 						      bfd *, asection *);
 bfd_boolean bfd_mach_o_bfd_copy_private_header_data (bfd *, bfd *);
 bfd_boolean bfd_mach_o_bfd_set_private_flags (bfd *, flagword);
+bfd_boolean bfd_mach_o_bfd_print_private_bfd_data (bfd *, void *);
 long bfd_mach_o_get_symtab_upper_bound (bfd *);
 long bfd_mach_o_canonicalize_symtab (bfd *, asymbol **);
 long bfd_mach_o_get_synthetic_symtab (bfd *, long, asymbol **, long,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/mach-o-target.c ./bfd/mach-o-target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/mach-o-target.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/mach-o-target.c	2018-07-10 02:06:11.000000000 +0000
@@ -26,8 +26,8 @@
 
 #define bfd_mach_o_bfd_free_cached_info		      _bfd_generic_bfd_free_cached_info
 #define bfd_mach_o_get_section_contents_in_window     _bfd_generic_get_section_contents_in_window
-#define bfd_mach_o_bfd_print_private_bfd_data	      _bfd_generic_bfd_print_private_bfd_data
-#define bfd_mach_o_bfd_is_target_special_symbol	      ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define bfd_mach_o_bfd_print_private_bfd_data	      bfd_mach_o_bfd_print_private_bfd_data
+#define bfd_mach_o_bfd_is_target_special_symbol	      _bfd_bool_bfd_asymbol_false
 #define bfd_mach_o_bfd_is_local_label_name	      bfd_generic_is_local_label_name
 #define bfd_mach_o_get_lineno			      _bfd_nosymbols_get_lineno
 #define bfd_mach_o_find_inliner_info		      _bfd_nosymbols_find_inliner_info
@@ -55,6 +55,7 @@
 #define bfd_mach_o_bfd_discard_group		      bfd_generic_discard_group
 #define bfd_mach_o_section_already_linked	      _bfd_generic_section_already_linked
 #define bfd_mach_o_bfd_define_common_symbol	      bfd_generic_define_common_symbol
+#define bfd_mach_o_bfd_link_hide_symbol		      _bfd_generic_link_hide_symbol
 #define bfd_mach_o_bfd_define_start_stop	      bfd_generic_define_start_stop
 #define bfd_mach_o_bfd_copy_private_bfd_data	      _bfd_generic_bfd_copy_private_bfd_data
 #define bfd_mach_o_core_file_matches_executable_p     generic_core_file_matches_executable_p
@@ -165,13 +166,13 @@ const bfd_target TARGET_NAME =
 #endif
   },
   {				/* bfd_set_format.  */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     bfd_mach_o_mkobject,
     _bfd_generic_mkarchive,
     bfd_mach_o_mkobject,
   },
   {				/* bfd_write_contents.  */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     bfd_mach_o_write_contents,
     _bfd_write_archive_contents,
     bfd_mach_o_write_contents,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/mach-o-x86-64.c ./bfd/mach-o-x86-64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/mach-o-x86-64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/mach-o-x86-64.c	2018-07-10 02:06:11.000000000 +0000
@@ -117,6 +117,11 @@ static reloc_howto_type x86_64_howto_tab
 	complain_overflow_bitfield,
 	NULL, "BRANCH8",
 	FALSE, 0xff, 0xff, TRUE),
+  /* 12 */
+  HOWTO(BFD_RELOC_MACH_O_X86_64_TLV, 0, 2, 32, TRUE, 0,
+	complain_overflow_bitfield,
+	NULL, "TLV",
+	FALSE, 0xffffffff, 0xffffffff, TRUE),
 };
 
 static bfd_boolean
@@ -220,6 +225,13 @@ bfd_mach_o_x86_64_canonicalize_one_reloc
 	  return TRUE;
 	}
       break;
+    case BFD_MACH_O_X86_64_RELOC_TLV:
+      if (reloc.r_length == 2 && reloc.r_pcrel && reloc.r_extern)
+	{
+	  res->howto = &x86_64_howto_table[12];
+	  return TRUE;
+	}
+      break;
     default:
       return FALSE;
     }
@@ -288,6 +300,11 @@ bfd_mach_o_x86_64_swap_reloc_out (arelen
       rinfo->r_pcrel = 1;
       rinfo->r_length = 2;
       break;
+    case BFD_RELOC_MACH_O_X86_64_TLV:
+      rinfo->r_type = BFD_MACH_O_X86_64_RELOC_TLV;
+      rinfo->r_pcrel = 1;
+      rinfo->r_length = 2;
+      break;
     default:
       return FALSE;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/Makefile.am ./bfd/Makefile.am
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/Makefile.am	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/Makefile.am	2018-07-10 02:06:11.000000000 +0000
@@ -17,7 +17,7 @@
 # <http://www.gnu.org/licenses/>.
 #
 
-AUTOMAKE_OPTIONS = 1.11 no-dist foreign
+AUTOMAKE_OPTIONS = no-dist foreign
 ACLOCAL_AMFLAGS = -I . -I .. -I ../config
 
 INCDIR = $(srcdir)/../include
@@ -32,7 +32,8 @@ if INSTALL_LIBBFD
 bfdlibdir = @bfdlibdir@
 bfdincludedir = @bfdincludedir@
 bfdlib_LTLIBRARIES = libbfd.la
-bfdinclude_HEADERS = $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h
+bfdinclude_HEADERS = $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \
+		     $(INCDIR)/bfdlink.h $(INCDIR)/diagnostics.h
 else !INSTALL_LIBBFD
 # Empty these so that the respective installation directories will not be created.
 bfdlibdir =
@@ -107,15 +108,11 @@ ALL_MACHINES = \
 	cpu-frv.lo \
 	cpu-ft32.lo \
 	cpu-h8300.lo \
-	cpu-h8500.lo \
 	cpu-hppa.lo \
-	cpu-i370.lo \
 	cpu-i386.lo \
 	cpu-iamcu.lo \
 	cpu-l1om.lo \
 	cpu-k1om.lo \
-	cpu-i860.lo \
-	cpu-i960.lo \
 	cpu-ia64.lo \
 	cpu-ip2k.lo \
 	cpu-iq2000.lo \
@@ -127,9 +124,9 @@ ALL_MACHINES = \
 	cpu-m68hc11.lo \
 	cpu-m68hc12.lo \
 	cpu-m9s12x.lo \
+	cpu-s12z.lo \
 	cpu-m9s12xg.lo \
 	cpu-m68k.lo \
-	cpu-m88k.lo \
 	cpu-mcore.lo \
 	cpu-mep.lo \
 	cpu-metag.lo \
@@ -140,6 +137,7 @@ ALL_MACHINES = \
 	cpu-msp430.lo \
 	cpu-mt.lo \
 	cpu-nds32.lo \
+	cpu-nfp.lo \
 	cpu-nios2.lo \
 	cpu-ns32k.lo \
 	cpu-or1k.lo \
@@ -168,9 +166,7 @@ ALL_MACHINES = \
 	cpu-v850_rh850.lo \
 	cpu-vax.lo \
 	cpu-visium.lo \
-	cpu-w65.lo \
 	cpu-wasm32.lo \
-	cpu-we32k.lo \
 	cpu-xc16x.lo \
 	cpu-xgate.lo \
 	cpu-xstormy16.lo \
@@ -197,15 +193,11 @@ ALL_MACHINES_CFILES = \
 	cpu-frv.c \
 	cpu-ft32.c \
 	cpu-h8300.c \
-	cpu-h8500.c \
 	cpu-hppa.c \
-	cpu-i370.c \
 	cpu-i386.c \
 	cpu-iamcu.c \
 	cpu-l1om.c \
 	cpu-k1om.c \
-	cpu-i860.c \
-	cpu-i960.c \
 	cpu-ia64.c \
 	cpu-ip2k.c \
 	cpu-iq2000.c \
@@ -217,9 +209,9 @@ ALL_MACHINES_CFILES = \
 	cpu-m68hc11.c \
 	cpu-m68hc12.c \
 	cpu-m9s12x.c \
+	cpu-s12z.c \
 	cpu-m9s12xg.c \
 	cpu-m68k.c \
-	cpu-m88k.c \
 	cpu-mcore.c \
 	cpu-mep.c \
 	cpu-metag.c \
@@ -230,6 +222,7 @@ ALL_MACHINES_CFILES = \
 	cpu-msp430.c \
 	cpu-mt.c \
 	cpu-nds32.c \
+	cpu-nfp.c \
 	cpu-ns32k.c \
 	cpu-nios2.c \
 	cpu-or1k.c \
@@ -259,8 +252,6 @@ ALL_MACHINES_CFILES = \
 	cpu-vax.c \
 	cpu-visium.c \
 	cpu-wasm32.c \
-	cpu-w65.c \
-	cpu-we32k.c \
 	cpu-xc16x.c \
 	cpu-xgate.c \
 	cpu-xstormy16.c \
@@ -271,42 +262,21 @@ ALL_MACHINES_CFILES = \
 # The .o files needed by all of the 32 bit vectors that are configured into
 # target_vector in targets.c if configured with --enable-targets=all.
 BFD32_BACKENDS = \
-	aout-adobe.lo \
-	aout-arm.lo \
 	aout-cris.lo \
 	aout-ns32k.lo \
-	aout-sparcle.lo \
 	aout-tic30.lo \
-	aout0.lo \
 	aout32.lo \
-	armnetbsd.lo \
-	bout.lo \
 	cf-i386lynx.lo \
-	cf-sparclynx.lo \
-	coff-apollo.lo \
-	coff-arm.lo \
-	coff-aux.lo \
 	coff-go32.lo \
-	coff-h8300.lo \
-	coff-h8500.lo \
 	coff-i386.lo \
-	coff-i860.lo \
-	coff-i960.lo \
-	coff-m68k.lo \
-	coff-m88k.lo \
 	coff-mips.lo \
 	coff-rs6000.lo \
 	coff-sh.lo \
-	coff-sparc.lo \
 	coff-stgo32.lo \
-	coff-svm68k.lo \
 	coff-tic30.lo \
 	coff-tic4x.lo \
 	coff-tic54x.lo \
 	coff-tic80.lo \
-	coff-u68k.lo \
-	coff-w65.lo \
-	coff-we32k.lo \
 	coff-z80.lo \
 	coff-z8k.lo \
 	coffgen.lo \
@@ -344,11 +314,8 @@ BFD32_BACKENDS = \
 	elf32-gen.lo \
 	elf32-h8300.lo \
 	elf32-hppa.lo \
-	elf32-i370.lo \
 	elf32-i386.lo \
 	elfxx-x86.lo \
-	elf32-i860.lo \
-	elf32-i960.lo \
 	elf32-ip2k.lo \
 	elf32-iq2000.lo \
 	elf32-lm32.lo \
@@ -358,7 +325,7 @@ BFD32_BACKENDS = \
 	elf32-m68hc12.lo \
 	elf32-m68hc1x.lo \
 	elf32-m68k.lo \
-	elf32-m88k.lo \
+	elf32-s12z.lo \
 	elf32-mcore.lo \
 	elf32-mep.lo \
 	elf32-metag.lo \
@@ -375,10 +342,7 @@ BFD32_BACKENDS = \
 	elf32-rl78.lo \
 	elf32-rx.lo \
 	elf32-s390.lo \
-	elf32-sh-symbian.lo \
 	elf32-sh.lo \
-	elf32-sh64-com.lo \
-	elf32-sh64.lo \
 	elf32-sparc.lo \
 	elf32-spu.lo \
 	elf32-tic6x.lo \
@@ -396,45 +360,20 @@ BFD32_BACKENDS = \
 	elflink.lo \
 	elfxx-sparc.lo \
 	elfxx-tilegx.lo \
-	epoc-pe-arm.lo \
-	epoc-pei-arm.lo \
-	hp300bsd.lo \
-	hp300hpux.lo \
 	i386aout.lo \
 	i386bsd.lo \
-	i386dynix.lo \
-	i386freebsd.lo \
-	i386linux.lo \
 	i386lynx.lo \
-	i386mach3.lo \
 	i386msdos.lo \
-	i386netbsd.lo \
-	i386os9k.lo \
-	ieee.lo \
-	m68k4knetbsd.lo \
-	m68klinux.lo \
-	m68knetbsd.lo \
-	m88kmach3.lo \
-	m88kopenbsd.lo \
 	mach-o.lo \
 	mach-o-i386.lo \
 	mach-o-arm.lo \
-	mipsbsd.lo \
-	newsos3.lo \
-	nlm.lo \
-	nlm32-i386.lo \
-	nlm32-ppc.lo \
-	nlm32-sparc.lo \
-	nlm32.lo \
 	ns32knetbsd.lo \
-	oasys.lo \
 	pc532-mach.lo \
 	pdp11.lo \
 	pe-arm-wince.lo \
 	pe-arm.lo \
 	pe-i386.lo \
 	pe-mcore.lo \
-	pe-mips.lo \
 	pe-ppc.lo \
 	pe-sh.lo \
 	pef.lo \
@@ -442,23 +381,15 @@ BFD32_BACKENDS = \
 	pei-arm.lo \
 	pei-i386.lo \
 	pei-mcore.lo \
-	pei-mips.lo \
 	pei-ppc.lo \
 	pei-sh.lo \
 	peigen.lo \
 	plugin.lo \
 	ppcboot.lo \
 	reloc16.lo \
-	riscix.lo \
 	som.lo \
-	sparclinux.lo \
-	sparclynx.lo \
-	sparcnetbsd.lo \
-	sunos.lo \
 	vax1knetbsd.lo \
-	vaxbsd.lo \
 	vaxnetbsd.lo \
-	versados.lo \
 	vms-lib.lo \
 	vms-misc.lo \
 	wasm-module.lo \
@@ -468,42 +399,21 @@ BFD32_BACKENDS = \
 	xtensa-modules.lo
 
 BFD32_BACKENDS_CFILES = \
-	aout-adobe.c \
-	aout-arm.c \
 	aout-cris.c \
 	aout-ns32k.c \
-	aout-sparcle.c \
 	aout-tic30.c \
-	aout0.c \
 	aout32.c \
-	armnetbsd.c \
-	bout.c \
 	cf-i386lynx.c \
-	cf-sparclynx.c \
-	coff-apollo.c \
-	coff-arm.c \
-	coff-aux.c \
 	coff-go32.c \
-	coff-h8300.c \
-	coff-h8500.c \
 	coff-i386.c \
-	coff-i860.c \
-	coff-i960.c \
-	coff-m68k.c \
-	coff-m88k.c \
 	coff-mips.c \
 	coff-rs6000.c \
 	coff-sh.c \
-	coff-sparc.c \
 	coff-stgo32.c \
-	coff-svm68k.c \
 	coff-tic30.c \
 	coff-tic4x.c \
 	coff-tic54x.c \
 	coff-tic80.c \
-	coff-u68k.c \
-	coff-w65.c \
-	coff-we32k.c \
 	coff-z80.c \
 	coff-z8k.c \
 	coffgen.c \
@@ -541,11 +451,8 @@ BFD32_BACKENDS_CFILES = \
 	elf32-gen.c \
 	elf32-h8300.c \
 	elf32-hppa.c \
-	elf32-i370.c \
 	elf32-i386.c \
 	elfxx-x86.c \
-	elf32-i860.c \
-	elf32-i960.c \
 	elf32-ip2k.c \
 	elf32-iq2000.c \
 	elf32-lm32.c \
@@ -555,7 +462,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-m68hc12.c \
 	elf32-m68hc1x.c \
 	elf32-m68k.c \
-	elf32-m88k.c \
+	elf32-s12z.c \
 	elf32-mcore.c \
 	elf32-mep.c \
 	elf32-metag.c \
@@ -572,10 +479,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-rl78.c \
 	elf32-rx.c \
 	elf32-s390.c \
-	elf32-sh-symbian.c \
 	elf32-sh.c \
-	elf32-sh64-com.c \
-	elf32-sh64.c \
 	elf32-sparc.c \
 	elf32-spu.c \
 	elf32-tic6x.c \
@@ -593,45 +497,20 @@ BFD32_BACKENDS_CFILES = \
 	elflink.c \
 	elfxx-sparc.c \
 	elfxx-tilegx.c \
-	epoc-pe-arm.c \
-	epoc-pei-arm.c \
-	hp300bsd.c \
-	hp300hpux.c \
 	i386aout.c \
 	i386bsd.c \
-	i386dynix.c \
-	i386freebsd.c \
-	i386linux.c \
 	i386lynx.c \
-	i386mach3.c \
 	i386msdos.c \
-	i386netbsd.c \
-	i386os9k.c \
-	ieee.c \
-	m68k4knetbsd.c \
-	m68klinux.c \
-	m68knetbsd.c \
-	m88kmach3.c \
-	m88kopenbsd.c \
 	mach-o.c \
 	mach-o-i386.c \
 	mach-o-arm.c \
-	mipsbsd.c \
-	newsos3.c \
-	nlm.c \
-	nlm32-i386.c \
-	nlm32-ppc.c \
-	nlm32-sparc.c \
-	nlm32.c \
 	ns32knetbsd.c \
-	oasys.c \
 	pc532-mach.c \
 	pdp11.c \
 	pe-arm-wince.c \
 	pe-arm.c \
 	pe-i386.c \
 	pe-mcore.c \
-	pe-mips.c \
 	pe-ppc.c \
 	pe-sh.c \
 	pef.c \
@@ -639,22 +518,14 @@ BFD32_BACKENDS_CFILES = \
 	pei-arm.c \
 	pei-i386.c \
 	pei-mcore.c \
-	pei-mips.c \
 	pei-ppc.c \
 	pei-sh.c \
 	plugin.c \
 	ppcboot.c \
 	reloc16.c \
-	riscix.c \
 	som.c \
-	sparclinux.c \
-	sparclynx.c \
-	sparcnetbsd.c \
-	sunos.c \
 	vax1knetbsd.c \
-	vaxbsd.c \
 	vaxnetbsd.c \
-	versados.c \
 	vms-lib.c \
 	vms-misc.c \
 	wasm-module.c \
@@ -677,7 +548,6 @@ BFD64_BACKENDS = \
 	coff-alpha.lo \
 	coff-x86_64.lo \
 	coff64-rs6000.lo \
-	demo64.lo \
 	elf32-ia64.lo \
 	elf32-mips.lo \
 	elf32-score.lo \
@@ -692,12 +562,12 @@ BFD64_BACKENDS = \
 	elf64-mips.lo \
 	elfxx-mips.lo \
 	elf64-mmix.lo \
+	elf64-nfp.lo \
 	elf64-ppc.lo \
 	elf32-riscv.lo \
 	elf64-riscv.lo \
 	elfxx-riscv.lo \
 	elf64-s390.lo \
-	elf64-sh64.lo \
 	elf64-sparc.lo \
 	elf64-tilegx.lo \
 	elf64-x86-64.lo \
@@ -706,8 +576,6 @@ BFD64_BACKENDS = \
 	mach-o-aarch64.lo \
 	mach-o-x86-64.lo \
 	mmo.lo \
-	nlm32-alpha.lo \
-	nlm64.lo \
 	pe-x86_64.lo \
 	pei-ia64.lo \
 	pei-x86_64.lo \
@@ -721,7 +589,6 @@ BFD64_BACKENDS_CFILES = \
 	coff-alpha.c \
 	coff-x86_64.c \
 	coff64-rs6000.c \
-	demo64.c \
 	elf32-mips.c \
 	elf32-score.c \
 	elf32-score7.c \
@@ -731,9 +598,9 @@ BFD64_BACKENDS_CFILES = \
 	elf64-ia64-vms.c \
 	elf64-mips.c \
 	elf64-mmix.c \
+	elf64-nfp.c \
 	elf64-ppc.c \
 	elf64-s390.c \
-	elf64-sh64.c \
 	elf64-sparc.c \
 	elf64-tilegx.c \
 	elf64-x86-64.c \
@@ -747,8 +614,6 @@ BFD64_BACKENDS_CFILES = \
 	mach-o-aarch64.c \
 	mach-o-x86-64.c \
 	mmo.c \
-	nlm32-alpha.c \
-	nlm64.c \
 	pe-x86_64.c \
 	pei-ia64.c \
 	pei-x86_64.c \
@@ -793,7 +658,7 @@ BFD_MACHINES = @bfd_machines@
 TDEFAULTS = @tdefaults@
 HAVEVECS = @havevecs@
 
-INCLUDES = @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) \
+AM_CPPFLAGS += @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) \
 	$(HAVEVECS) @INCINTL@
 
 # C source files that correspond to .o's.
@@ -815,13 +680,13 @@ CFILES = $(SOURCE_CFILES) $(BUILD_CFILES
 
 ## This is a list of all .h files which are in the source tree.
 SOURCE_HFILES = \
-	aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \
+	aout-target.h aoutx.h coffcode.h coffswap.h ecoffswap.h \
 	elf-bfd.h elf-hppa.h elf-linux-core.h elf32-hppa.h \
 	elf64-hppa.h elfcode.h elfcore.h \
-	freebsd.h genlink.h go32stub.h \
-	libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h \
-	libnlm.h liboasys.h libpei.h libxcoff.h mach-o.h \
-	netbsd.h nlm-target.h nlmcode.h nlmswap.h ns32k.h \
+	genlink.h go32stub.h \
+	libaout.h libbfd.h libcoff.h libecoff.h libhppa.h \
+	libpei.h libxcoff.h mach-o.h \
+	netbsd.h ns32k.h \
 	pef.h pef-traceback.h peicode.h som.h version.h \
 	vms.h xsym.h
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/Makefile.in ./bfd/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/Makefile.in	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/Makefile.in	2018-07-10 02:06:11.000000000 +0000
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -36,23 +35,61 @@
 
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -75,12 +112,6 @@ target_triplet = @target@
 @INSTALL_LIBBFD_FALSE@am__append_1 = -rpath $(rpath_bfdlibdir)
 @PLUGINS_TRUE@am__append_2 = $(INCDIR)/plugin-api.h
 subdir = .
-DIST_COMMON = README ChangeLog $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/configure \
-	$(am__configure_deps) $(srcdir)/config.in \
-	$(srcdir)/../mkinstalldirs $(srcdir)/bfd-in2.h \
-	$(top_srcdir)/po/Make-in $(srcdir)/../depcomp \
-	$(am__bfdinclude_HEADERS_DIST)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
 	$(top_srcdir)/../config/depstand.m4 \
@@ -101,6 +132,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(am__bfdinclude_HEADERS_DIST)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
@@ -109,6 +142,10 @@ CONFIG_CLEAN_FILES = bfd-in3.h po/Makefi
 CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
 libbfd_a_AR = $(AR) $(ARFLAGS)
 libbfd_a_LIBADD =
 am_libbfd_a_OBJECTS =
@@ -151,50 +188,101 @@ am__objects_1 = archive.lo archures.lo b
 	binary.lo ihex.lo srec.lo tekhex.lo verilog.lo
 am_libbfd_la_OBJECTS = $(am__objects_1)
 libbfd_la_OBJECTS = $(am_libbfd_la_OBJECTS)
-libbfd_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+libbfd_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(libbfd_la_LDFLAGS) $(LDFLAGS) -o $@
 @INSTALL_LIBBFD_FALSE@am_libbfd_la_rpath =
 @INSTALL_LIBBFD_TRUE@am_libbfd_la_rpath = -rpath $(bfdlibdir)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/../depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES) \
 	$(EXTRA_libbfd_la_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-	html-recursive info-recursive install-data-recursive \
-	install-dvi-recursive install-exec-recursive \
-	install-html-recursive install-info-recursive \
-	install-pdf-recursive install-ps-recursive install-recursive \
-	installcheck-recursive installdirs-recursive pdf-recursive \
-	ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__bfdinclude_HEADERS_DIST = $(INCDIR)/plugin-api.h bfd.h \
-	$(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h
+	$(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h \
+	$(INCDIR)/diagnostics.h
 HEADERS = $(bfdinclude_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	cscope
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+	$(LISP)config.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -367,7 +455,7 @@ top_srcdir = @top_srcdir@
 wordsize = @wordsize@
 zlibdir = @zlibdir@
 zlibinc = @zlibinc@
-AUTOMAKE_OPTIONS = 1.11 no-dist foreign
+AUTOMAKE_OPTIONS = no-dist foreign
 ACLOCAL_AMFLAGS = -I . -I .. -I ../config
 INCDIR = $(srcdir)/../include
 CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
@@ -379,7 +467,8 @@ libbfd_la_LDFLAGS = $(am__append_1) -rel
 @INSTALL_LIBBFD_FALSE@bfdinclude_HEADERS = $(am__append_2)
 @INSTALL_LIBBFD_TRUE@bfdinclude_HEADERS = $(BFD_H) \
 @INSTALL_LIBBFD_TRUE@	$(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \
-@INSTALL_LIBBFD_TRUE@	$(INCDIR)/bfdlink.h $(am__append_2)
+@INSTALL_LIBBFD_TRUE@	$(INCDIR)/bfdlink.h \
+@INSTALL_LIBBFD_TRUE@	$(INCDIR)/diagnostics.h $(am__append_2)
 @INSTALL_LIBBFD_FALSE@rpath_bfdlibdir = @bfdlibdir@
 @INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES = libbfd.la
 
@@ -389,7 +478,8 @@ libbfd_la_LDFLAGS = $(am__append_1) -rel
 ZLIB = @zlibdir@ -lz
 ZLIBINC = @zlibinc@
 AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC)
-AM_CPPFLAGS = -DBINDIR='"$(bindir)"'
+AM_CPPFLAGS = -DBINDIR='"$(bindir)"' @HDEFINES@ @COREFLAG@ @TDEFINES@ \
+	$(CSEARCH) $(CSWITCHES) $(HAVEVECS) @INCINTL@
 @PLUGINS_TRUE@LIBDL = @lt_cv_dlopen_libs@
 
 # bfd.h goes here, for now
@@ -440,15 +530,11 @@ ALL_MACHINES = \
 	cpu-frv.lo \
 	cpu-ft32.lo \
 	cpu-h8300.lo \
-	cpu-h8500.lo \
 	cpu-hppa.lo \
-	cpu-i370.lo \
 	cpu-i386.lo \
 	cpu-iamcu.lo \
 	cpu-l1om.lo \
 	cpu-k1om.lo \
-	cpu-i860.lo \
-	cpu-i960.lo \
 	cpu-ia64.lo \
 	cpu-ip2k.lo \
 	cpu-iq2000.lo \
@@ -460,9 +546,9 @@ ALL_MACHINES = \
 	cpu-m68hc11.lo \
 	cpu-m68hc12.lo \
 	cpu-m9s12x.lo \
+	cpu-s12z.lo \
 	cpu-m9s12xg.lo \
 	cpu-m68k.lo \
-	cpu-m88k.lo \
 	cpu-mcore.lo \
 	cpu-mep.lo \
 	cpu-metag.lo \
@@ -473,6 +559,7 @@ ALL_MACHINES = \
 	cpu-msp430.lo \
 	cpu-mt.lo \
 	cpu-nds32.lo \
+	cpu-nfp.lo \
 	cpu-nios2.lo \
 	cpu-ns32k.lo \
 	cpu-or1k.lo \
@@ -501,9 +588,7 @@ ALL_MACHINES = \
 	cpu-v850_rh850.lo \
 	cpu-vax.lo \
 	cpu-visium.lo \
-	cpu-w65.lo \
 	cpu-wasm32.lo \
-	cpu-we32k.lo \
 	cpu-xc16x.lo \
 	cpu-xgate.lo \
 	cpu-xstormy16.lo \
@@ -530,15 +615,11 @@ ALL_MACHINES_CFILES = \
 	cpu-frv.c \
 	cpu-ft32.c \
 	cpu-h8300.c \
-	cpu-h8500.c \
 	cpu-hppa.c \
-	cpu-i370.c \
 	cpu-i386.c \
 	cpu-iamcu.c \
 	cpu-l1om.c \
 	cpu-k1om.c \
-	cpu-i860.c \
-	cpu-i960.c \
 	cpu-ia64.c \
 	cpu-ip2k.c \
 	cpu-iq2000.c \
@@ -550,9 +631,9 @@ ALL_MACHINES_CFILES = \
 	cpu-m68hc11.c \
 	cpu-m68hc12.c \
 	cpu-m9s12x.c \
+	cpu-s12z.c \
 	cpu-m9s12xg.c \
 	cpu-m68k.c \
-	cpu-m88k.c \
 	cpu-mcore.c \
 	cpu-mep.c \
 	cpu-metag.c \
@@ -563,6 +644,7 @@ ALL_MACHINES_CFILES = \
 	cpu-msp430.c \
 	cpu-mt.c \
 	cpu-nds32.c \
+	cpu-nfp.c \
 	cpu-ns32k.c \
 	cpu-nios2.c \
 	cpu-or1k.c \
@@ -592,8 +674,6 @@ ALL_MACHINES_CFILES = \
 	cpu-vax.c \
 	cpu-visium.c \
 	cpu-wasm32.c \
-	cpu-w65.c \
-	cpu-we32k.c \
 	cpu-xc16x.c \
 	cpu-xgate.c \
 	cpu-xstormy16.c \
@@ -605,42 +685,21 @@ ALL_MACHINES_CFILES = \
 # The .o files needed by all of the 32 bit vectors that are configured into
 # target_vector in targets.c if configured with --enable-targets=all.
 BFD32_BACKENDS = \
-	aout-adobe.lo \
-	aout-arm.lo \
 	aout-cris.lo \
 	aout-ns32k.lo \
-	aout-sparcle.lo \
 	aout-tic30.lo \
-	aout0.lo \
 	aout32.lo \
-	armnetbsd.lo \
-	bout.lo \
 	cf-i386lynx.lo \
-	cf-sparclynx.lo \
-	coff-apollo.lo \
-	coff-arm.lo \
-	coff-aux.lo \
 	coff-go32.lo \
-	coff-h8300.lo \
-	coff-h8500.lo \
 	coff-i386.lo \
-	coff-i860.lo \
-	coff-i960.lo \
-	coff-m68k.lo \
-	coff-m88k.lo \
 	coff-mips.lo \
 	coff-rs6000.lo \
 	coff-sh.lo \
-	coff-sparc.lo \
 	coff-stgo32.lo \
-	coff-svm68k.lo \
 	coff-tic30.lo \
 	coff-tic4x.lo \
 	coff-tic54x.lo \
 	coff-tic80.lo \
-	coff-u68k.lo \
-	coff-w65.lo \
-	coff-we32k.lo \
 	coff-z80.lo \
 	coff-z8k.lo \
 	coffgen.lo \
@@ -678,11 +737,8 @@ BFD32_BACKENDS = \
 	elf32-gen.lo \
 	elf32-h8300.lo \
 	elf32-hppa.lo \
-	elf32-i370.lo \
 	elf32-i386.lo \
 	elfxx-x86.lo \
-	elf32-i860.lo \
-	elf32-i960.lo \
 	elf32-ip2k.lo \
 	elf32-iq2000.lo \
 	elf32-lm32.lo \
@@ -692,7 +748,7 @@ BFD32_BACKENDS = \
 	elf32-m68hc12.lo \
 	elf32-m68hc1x.lo \
 	elf32-m68k.lo \
-	elf32-m88k.lo \
+	elf32-s12z.lo \
 	elf32-mcore.lo \
 	elf32-mep.lo \
 	elf32-metag.lo \
@@ -709,10 +765,7 @@ BFD32_BACKENDS = \
 	elf32-rl78.lo \
 	elf32-rx.lo \
 	elf32-s390.lo \
-	elf32-sh-symbian.lo \
 	elf32-sh.lo \
-	elf32-sh64-com.lo \
-	elf32-sh64.lo \
 	elf32-sparc.lo \
 	elf32-spu.lo \
 	elf32-tic6x.lo \
@@ -730,45 +783,20 @@ BFD32_BACKENDS = \
 	elflink.lo \
 	elfxx-sparc.lo \
 	elfxx-tilegx.lo \
-	epoc-pe-arm.lo \
-	epoc-pei-arm.lo \
-	hp300bsd.lo \
-	hp300hpux.lo \
 	i386aout.lo \
 	i386bsd.lo \
-	i386dynix.lo \
-	i386freebsd.lo \
-	i386linux.lo \
 	i386lynx.lo \
-	i386mach3.lo \
 	i386msdos.lo \
-	i386netbsd.lo \
-	i386os9k.lo \
-	ieee.lo \
-	m68k4knetbsd.lo \
-	m68klinux.lo \
-	m68knetbsd.lo \
-	m88kmach3.lo \
-	m88kopenbsd.lo \
 	mach-o.lo \
 	mach-o-i386.lo \
 	mach-o-arm.lo \
-	mipsbsd.lo \
-	newsos3.lo \
-	nlm.lo \
-	nlm32-i386.lo \
-	nlm32-ppc.lo \
-	nlm32-sparc.lo \
-	nlm32.lo \
 	ns32knetbsd.lo \
-	oasys.lo \
 	pc532-mach.lo \
 	pdp11.lo \
 	pe-arm-wince.lo \
 	pe-arm.lo \
 	pe-i386.lo \
 	pe-mcore.lo \
-	pe-mips.lo \
 	pe-ppc.lo \
 	pe-sh.lo \
 	pef.lo \
@@ -776,23 +804,15 @@ BFD32_BACKENDS = \
 	pei-arm.lo \
 	pei-i386.lo \
 	pei-mcore.lo \
-	pei-mips.lo \
 	pei-ppc.lo \
 	pei-sh.lo \
 	peigen.lo \
 	plugin.lo \
 	ppcboot.lo \
 	reloc16.lo \
-	riscix.lo \
 	som.lo \
-	sparclinux.lo \
-	sparclynx.lo \
-	sparcnetbsd.lo \
-	sunos.lo \
 	vax1knetbsd.lo \
-	vaxbsd.lo \
 	vaxnetbsd.lo \
-	versados.lo \
 	vms-lib.lo \
 	vms-misc.lo \
 	wasm-module.lo \
@@ -802,42 +822,21 @@ BFD32_BACKENDS = \
 	xtensa-modules.lo
 
 BFD32_BACKENDS_CFILES = \
-	aout-adobe.c \
-	aout-arm.c \
 	aout-cris.c \
 	aout-ns32k.c \
-	aout-sparcle.c \
 	aout-tic30.c \
-	aout0.c \
 	aout32.c \
-	armnetbsd.c \
-	bout.c \
 	cf-i386lynx.c \
-	cf-sparclynx.c \
-	coff-apollo.c \
-	coff-arm.c \
-	coff-aux.c \
 	coff-go32.c \
-	coff-h8300.c \
-	coff-h8500.c \
 	coff-i386.c \
-	coff-i860.c \
-	coff-i960.c \
-	coff-m68k.c \
-	coff-m88k.c \
 	coff-mips.c \
 	coff-rs6000.c \
 	coff-sh.c \
-	coff-sparc.c \
 	coff-stgo32.c \
-	coff-svm68k.c \
 	coff-tic30.c \
 	coff-tic4x.c \
 	coff-tic54x.c \
 	coff-tic80.c \
-	coff-u68k.c \
-	coff-w65.c \
-	coff-we32k.c \
 	coff-z80.c \
 	coff-z8k.c \
 	coffgen.c \
@@ -875,11 +874,8 @@ BFD32_BACKENDS_CFILES = \
 	elf32-gen.c \
 	elf32-h8300.c \
 	elf32-hppa.c \
-	elf32-i370.c \
 	elf32-i386.c \
 	elfxx-x86.c \
-	elf32-i860.c \
-	elf32-i960.c \
 	elf32-ip2k.c \
 	elf32-iq2000.c \
 	elf32-lm32.c \
@@ -889,7 +885,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-m68hc12.c \
 	elf32-m68hc1x.c \
 	elf32-m68k.c \
-	elf32-m88k.c \
+	elf32-s12z.c \
 	elf32-mcore.c \
 	elf32-mep.c \
 	elf32-metag.c \
@@ -906,10 +902,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-rl78.c \
 	elf32-rx.c \
 	elf32-s390.c \
-	elf32-sh-symbian.c \
 	elf32-sh.c \
-	elf32-sh64-com.c \
-	elf32-sh64.c \
 	elf32-sparc.c \
 	elf32-spu.c \
 	elf32-tic6x.c \
@@ -927,45 +920,20 @@ BFD32_BACKENDS_CFILES = \
 	elflink.c \
 	elfxx-sparc.c \
 	elfxx-tilegx.c \
-	epoc-pe-arm.c \
-	epoc-pei-arm.c \
-	hp300bsd.c \
-	hp300hpux.c \
 	i386aout.c \
 	i386bsd.c \
-	i386dynix.c \
-	i386freebsd.c \
-	i386linux.c \
 	i386lynx.c \
-	i386mach3.c \
 	i386msdos.c \
-	i386netbsd.c \
-	i386os9k.c \
-	ieee.c \
-	m68k4knetbsd.c \
-	m68klinux.c \
-	m68knetbsd.c \
-	m88kmach3.c \
-	m88kopenbsd.c \
 	mach-o.c \
 	mach-o-i386.c \
 	mach-o-arm.c \
-	mipsbsd.c \
-	newsos3.c \
-	nlm.c \
-	nlm32-i386.c \
-	nlm32-ppc.c \
-	nlm32-sparc.c \
-	nlm32.c \
 	ns32knetbsd.c \
-	oasys.c \
 	pc532-mach.c \
 	pdp11.c \
 	pe-arm-wince.c \
 	pe-arm.c \
 	pe-i386.c \
 	pe-mcore.c \
-	pe-mips.c \
 	pe-ppc.c \
 	pe-sh.c \
 	pef.c \
@@ -973,22 +941,14 @@ BFD32_BACKENDS_CFILES = \
 	pei-arm.c \
 	pei-i386.c \
 	pei-mcore.c \
-	pei-mips.c \
 	pei-ppc.c \
 	pei-sh.c \
 	plugin.c \
 	ppcboot.c \
 	reloc16.c \
-	riscix.c \
 	som.c \
-	sparclinux.c \
-	sparclynx.c \
-	sparcnetbsd.c \
-	sunos.c \
 	vax1knetbsd.c \
-	vaxbsd.c \
 	vaxnetbsd.c \
-	versados.c \
 	vms-lib.c \
 	vms-misc.c \
 	wasm-module.c \
@@ -1012,7 +972,6 @@ BFD64_BACKENDS = \
 	coff-alpha.lo \
 	coff-x86_64.lo \
 	coff64-rs6000.lo \
-	demo64.lo \
 	elf32-ia64.lo \
 	elf32-mips.lo \
 	elf32-score.lo \
@@ -1027,12 +986,12 @@ BFD64_BACKENDS = \
 	elf64-mips.lo \
 	elfxx-mips.lo \
 	elf64-mmix.lo \
+	elf64-nfp.lo \
 	elf64-ppc.lo \
 	elf32-riscv.lo \
 	elf64-riscv.lo \
 	elfxx-riscv.lo \
 	elf64-s390.lo \
-	elf64-sh64.lo \
 	elf64-sparc.lo \
 	elf64-tilegx.lo \
 	elf64-x86-64.lo \
@@ -1041,8 +1000,6 @@ BFD64_BACKENDS = \
 	mach-o-aarch64.lo \
 	mach-o-x86-64.lo \
 	mmo.lo \
-	nlm32-alpha.lo \
-	nlm64.lo \
 	pe-x86_64.lo \
 	pei-ia64.lo \
 	pei-x86_64.lo \
@@ -1056,7 +1013,6 @@ BFD64_BACKENDS_CFILES = \
 	coff-alpha.c \
 	coff-x86_64.c \
 	coff64-rs6000.c \
-	demo64.c \
 	elf32-mips.c \
 	elf32-score.c \
 	elf32-score7.c \
@@ -1066,9 +1022,9 @@ BFD64_BACKENDS_CFILES = \
 	elf64-ia64-vms.c \
 	elf64-mips.c \
 	elf64-mmix.c \
+	elf64-nfp.c \
 	elf64-ppc.c \
 	elf64-s390.c \
-	elf64-sh64.c \
 	elf64-sparc.c \
 	elf64-tilegx.c \
 	elf64-x86-64.c \
@@ -1082,8 +1038,6 @@ BFD64_BACKENDS_CFILES = \
 	mach-o-aarch64.c \
 	mach-o-x86-64.c \
 	mmo.c \
-	nlm32-alpha.c \
-	nlm64.c \
 	pe-x86_64.c \
 	pei-ia64.c \
 	pei-x86_64.c \
@@ -1129,9 +1083,6 @@ BFD_BACKENDS = @bfd_backends@
 BFD_MACHINES = @bfd_machines@
 TDEFAULTS = @tdefaults@
 HAVEVECS = @havevecs@
-INCLUDES = @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) \
-	$(HAVEVECS) @INCINTL@
-
 
 # C source files that correspond to .o's.
 SOURCE_CFILES = \
@@ -1150,13 +1101,13 @@ BUILD_CFILES = \
 
 CFILES = $(SOURCE_CFILES) $(BUILD_CFILES)
 SOURCE_HFILES = \
-	aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \
+	aout-target.h aoutx.h coffcode.h coffswap.h ecoffswap.h \
 	elf-bfd.h elf-hppa.h elf-linux-core.h elf32-hppa.h \
 	elf64-hppa.h elfcode.h elfcore.h \
-	freebsd.h genlink.h go32stub.h \
-	libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h \
-	libnlm.h liboasys.h libpei.h libxcoff.h mach-o.h \
-	netbsd.h nlm-target.h nlmcode.h nlmswap.h ns32k.h \
+	genlink.h go32stub.h \
+	libaout.h libbfd.h libcoff.h libecoff.h libhppa.h \
+	libpei.h libxcoff.h mach-o.h \
+	netbsd.h ns32k.h \
 	pef.h pef-traceback.h peicode.h som.h version.h \
 	vms.h xsym.h
 
@@ -1229,7 +1180,6 @@ am--refresh: Makefile
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1250,8 +1200,8 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-	@if test ! -f $@; then rm -f stamp-h1; else :; fi
-	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+	@test -f $@ || rm -f stamp-h1
+	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
 
 stamp-h1: $(srcdir)/config.in $(top_builddir)/config.status
 	@rm -f stamp-h1
@@ -1270,6 +1220,7 @@ po/Makefile.in: $(top_builddir)/config.s
 
 clean-noinstLIBRARIES:
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
 install-bfdlibLTLIBRARIES: $(bfdlib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	@list='$(bfdlib_LTLIBRARIES)'; test -n "$(bfdlibdir)" || list=; \
@@ -1296,23 +1247,28 @@ uninstall-bfdlibLTLIBRARIES:
 
 clean-bfdlibLTLIBRARIES:
 	-test -z "$(bfdlib_LTLIBRARIES)" || rm -f $(bfdlib_LTLIBRARIES)
-	@list='$(bfdlib_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(bfdlib_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 
 clean-noinstLTLIBRARIES:
 	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(noinst_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
+
 libbfd.la: $(libbfd_la_OBJECTS) $(libbfd_la_DEPENDENCIES) $(EXTRA_libbfd_la_DEPENDENCIES) 
-	$(libbfd_la_LINK) $(am_libbfd_la_rpath) $(libbfd_la_OBJECTS) $(libbfd_la_LIBADD) $(LIBS)
+	$(AM_V_CCLD)$(libbfd_la_LINK) $(am_libbfd_la_rpath) $(libbfd_la_OBJECTS) $(libbfd_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -1322,54 +1278,33 @@ distclean-compile:
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aix386-core.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aix5ppc-core.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-adobe.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-arm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-cris.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-ns32k.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-sparcle.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-tic30.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout0.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout32.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/archive.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/archive64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/archures.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/armnetbsd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bfd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bfdio.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bfdwin.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/binary.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bout.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cf-i386lynx.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cf-sparclynx.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cisco-core.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-alpha.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-apollo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-arm.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-aux.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-bfd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-go32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-h8300.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-h8500.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-i386.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-i860.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-i960.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-m68k.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-m88k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-mips.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-rs6000.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-sh.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-sparc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-stgo32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-svm68k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-tic30.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-tic4x.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-tic54x.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-tic80.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-u68k.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-w65.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-we32k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-x86_64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-z80.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-z8k.Plo@am__quote@
@@ -1396,12 +1331,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-frv.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-ft32.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-h8300.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-h8500.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-hppa.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-i370.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-i386.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-i860.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-i960.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-ia64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-iamcu.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-ip2k.Plo@am__quote@
@@ -1416,7 +1347,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-m68hc11.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-m68hc12.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-m68k.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-m88k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-m9s12x.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-m9s12xg.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-mcore.Plo@am__quote@
@@ -1429,6 +1359,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-msp430.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-mt.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-nds32.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-nfp.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-nios2.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-ns32k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-or1k.Plo@am__quote@
@@ -1441,6 +1372,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-rl78.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-rs6000.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-rx.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-s12z.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-s390.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-score.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-sh.Plo@am__quote@
@@ -1457,16 +1389,13 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-v850_rh850.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-vax.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-visium.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-w65.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-wasm32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-we32k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-xc16x.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-xgate.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-xstormy16.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-xtensa.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-z80.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-z8k.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/demo64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwarf1.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwarf2.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecoff.Plo@am__quote@
@@ -1501,10 +1430,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-gen.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-h8300.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-hppa.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-i370.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-i386.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-i860.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-i960.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-ia64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-ip2k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-iq2000.Plo@am__quote@
@@ -1515,7 +1441,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-m68hc12.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-m68hc1x.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-m68k.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-m88k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-mcore.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-mep.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-metag.Plo@am__quote@
@@ -1533,13 +1458,11 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-riscv.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-rl78.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-rx.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-s12z.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-s390.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-score.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-score7.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-sh-symbian.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-sh.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-sh64-com.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-sh64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-sparc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-spu.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-tic6x.Plo@am__quote@
@@ -1562,10 +1485,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-ia64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-mips.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-mmix.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-nfp.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-ppc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-riscv.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-s390.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-sh64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-sparc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-tilegx.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-x86-64.Plo@am__quote@
@@ -1579,54 +1502,28 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfxx-sparc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfxx-tilegx.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfxx-x86.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoc-pe-arm.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoc-pei-arm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hp300bsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hp300hpux.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hpux-core.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386aout.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386bsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386dynix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386freebsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386linux.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386lynx.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386mach3.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386msdos.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386netbsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386os9k.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ieee.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ihex.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/irix-core.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libbfd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linker.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lynx-core.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68k4knetbsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68klinux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68knetbsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m88kmach3.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m88kopenbsd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mach-o-aarch64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mach-o-arm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mach-o-i386.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mach-o-x86-64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mach-o.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/merge.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mipsbsd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmo.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netbsd-core.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newsos3.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlm.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlm32-alpha.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlm32-i386.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlm32-ppc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlm32-sparc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlm32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlm64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ns32knetbsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oasys.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opncls.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osf-core.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pc532-mach.Plo@am__quote@
@@ -1635,7 +1532,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pe-arm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pe-i386.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pe-mcore.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pe-mips.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pe-ppc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pe-sh.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pe-x86_64.Plo@am__quote@
@@ -1645,7 +1541,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pei-i386.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pei-ia64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pei-mcore.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pei-mips.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pei-ppc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pei-sh.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pei-x86_64.Plo@am__quote@
@@ -1656,28 +1551,21 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcboot.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reloc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reloc16.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/riscix.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rs6000-core.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sco5-core.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/section.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/som.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparclinux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparclynx.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparcnetbsd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srec.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stab-syms.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stabs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sunos.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syms.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/targets.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tekhex.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trad-core.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vax1knetbsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vaxbsd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vaxnetbsd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/verilog.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/versados.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vms-alpha.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vms-lib.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vms-misc.Plo@am__quote@
@@ -1688,25 +1576,25 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xtensa-modules.Plo@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
-@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1739,22 +1627,25 @@ uninstall-bfdincludeHEADERS:
 	dir='$(DESTDIR)$(bfdincludedir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -1769,57 +1660,12 @@ uninstall-bfdincludeHEADERS:
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-ctags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-	done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1835,12 +1681,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCE
 	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
-	list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	$(am__define_uniq_tagged_files); \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -1852,15 +1693,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCE
 	      $$unique; \
 	  fi; \
 	fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -1869,9 +1706,31 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+	test ! -s cscope.files \
+	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+	-rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 check-am: all-am
 check: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) check-recursive
@@ -1990,28 +1849,29 @@ ps-am:
 
 uninstall-am: uninstall-bfdincludeHEADERS uninstall-bfdlibLTLIBRARIES
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-	ctags-recursive install install-am install-strip \
-	tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-	all all-am am--refresh check check-am clean \
-	clean-bfdlibLTLIBRARIES clean-generic clean-libtool \
-	clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \
-	ctags-recursive distclean distclean-compile distclean-generic \
-	distclean-hdr distclean-libtool distclean-tags dvi dvi-am html \
-	html-am info info-am install install-am \
-	install-bfdincludeHEADERS install-bfdlibLTLIBRARIES \
-	install-data install-data-am install-dvi install-dvi-am \
-	install-exec install-exec-am install-html install-html-am \
-	install-info install-info-am install-man install-pdf \
-	install-pdf-am install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs installdirs-am \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-	pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+.MAKE: $(am__recursive_targets) all check install install-am \
+	install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+	am--refresh check check-am clean clean-bfdlibLTLIBRARIES \
+	clean-cscope clean-generic clean-libtool clean-noinstLIBRARIES \
+	clean-noinstLTLIBRARIES cscope cscopelist-am ctags ctags-am \
+	distclean distclean-compile distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags dvi dvi-am html html-am info \
+	info-am install install-am install-bfdincludeHEADERS \
+	install-bfdlibLTLIBRARIES install-data install-data-am \
+	install-dvi install-dvi-am install-exec install-exec-am \
+	install-html install-html-am install-info install-info-am \
+	install-man install-pdf install-pdf-am install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags tags-am uninstall uninstall-am \
 	uninstall-bfdincludeHEADERS uninstall-bfdlibLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 po/SRC-POTFILES.in: @MAINT@ Makefile $(SRC_POTFILES)
 	for file in $(SRC_POTFILES); do echo $$file; done \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/merge.c ./bfd/merge.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/merge.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/merge.c	2018-07-10 02:06:11.000000000 +0000
@@ -865,8 +865,8 @@ _bfd_merged_section_offset (bfd *output_
       if (offset > sec->rawsize)
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: access beyond end of merged section (%Ld)"),
-	   sec->owner, offset);
+	  (_("%pB: access beyond end of merged section (%" PRId64 ")"),
+	   sec->owner, (int64_t) offset);
       return secinfo->first_str ? sec->size : 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.1.0.20180703/bfd/mipsbsd.c ./bfd/mipsbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/mipsbsd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/mipsbsd.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,485 +0,0 @@
-/* BFD backend for MIPS BSD (a.out) binaries.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-   Written by Ralph Campbell.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/* #define ENTRY_CAN_BE_ZERO */
-#define N_HEADER_IN_TEXT(x) 1
-#define N_TXTADDR(x) \
-    (N_MAGIC(x) != ZMAGIC ? (x)->a_entry :	/* object file or NMAGIC */\
-	    TEXT_START_ADDR + EXEC_BYTES_SIZE	/* no padding */\
-    )
-#define N_DATADDR(x) (N_TXTADDR(x)+N_TXTSIZE(x))
-#define TEXT_START_ADDR 4096
-#define TARGET_PAGE_SIZE 4096
-#define SEGMENT_SIZE TARGET_PAGE_SIZE
-#define DEFAULT_ARCH bfd_arch_mips
-#define MACHTYPE_OK(mtype) ((mtype) == M_UNKNOWN \
-			    || (mtype) == M_MIPS1 || (mtype) == M_MIPS2)
-#define MY_symbol_leading_char '\0'
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (mipsbsd_,OP)
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "libaout.h"
-
-#define SET_ARCH_MACH(ABFD, EXECP) \
-  MY(set_arch_mach) (ABFD, N_MACHTYPE (EXECP)); \
-  MY(choose_reloc_size) (ABFD);
-static void MY(set_arch_mach) (bfd *, unsigned long);
-static void MY(choose_reloc_size) (bfd *);
-
-#define MY_write_object_contents MY(write_object_contents)
-static bfd_boolean MY(write_object_contents) (bfd *);
-
-/* We can't use MY(x) here because it leads to a recursive call to CONCAT2
-   when expanded inside JUMP_TABLE.  */
-#define MY_bfd_reloc_type_lookup mipsbsd_reloc_type_lookup
-#define MY_bfd_reloc_name_lookup mipsbsd_reloc_name_lookup
-#define MY_canonicalize_reloc mipsbsd_canonicalize_reloc
-
-#define MY_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
-#define MY_bfd_link_add_symbols _bfd_generic_link_add_symbols
-#define MY_final_link_callback unused
-#define MY_bfd_final_link _bfd_generic_final_link
-
-#define MY_backend_data &MY(backend_data)
-#define MY_BFD_TARGET
-
-#include "aout-target.h"
-
-static bfd_reloc_status_type mips_fix_jmp_addr
-  (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
-   bfd *, char **);
-
-long MY(canonicalize_reloc) (bfd *, sec_ptr, arelent **, asymbol **);
-
-static void
-MY(set_arch_mach) (bfd *abfd, unsigned long machtype)
-{
-  enum bfd_architecture arch;
-  unsigned int machine;
-
-  /* Determine the architecture and machine type of the object file.  */
-  switch (machtype)
-    {
-    case M_MIPS1:
-      arch = bfd_arch_mips;
-      machine = bfd_mach_mips3000;
-      break;
-
-    case M_MIPS2:
-      arch = bfd_arch_mips;
-      machine = bfd_mach_mips4000;
-      break;
-
-    default:
-      arch = bfd_arch_obscure;
-      machine = 0;
-      break;
-    }
-
-  bfd_set_arch_mach (abfd, arch, machine);
-}
-
-/* Determine the size of a relocation entry, based on the architecture */
-static void
-MY (choose_reloc_size) (bfd *abfd)
-{
-  switch (bfd_get_arch (abfd))
-    {
-    case bfd_arch_sparc:
-    case bfd_arch_mips:
-      obj_reloc_entry_size (abfd) = RELOC_EXT_SIZE;
-      break;
-    default:
-      obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
-      break;
-    }
-}
-
-/* Write an object file in BSD a.out format.
-  Section contents have already been written.  We write the
-  file header, symbols, and relocation.  */
-
-static bfd_boolean
-MY (write_object_contents) (bfd *abfd)
-{
-  struct external_exec exec_bytes;
-  struct internal_exec *execp = exec_hdr (abfd);
-
-  /* Magic number, maestro, please!  */
-  switch (bfd_get_arch (abfd))
-    {
-    case bfd_arch_m68k:
-      switch (bfd_get_mach (abfd))
-	{
-	case bfd_mach_m68010:
-	  N_SET_MACHTYPE (execp, M_68010);
-	  break;
-	default:
-	case bfd_mach_m68020:
-	  N_SET_MACHTYPE (execp, M_68020);
-	  break;
-	}
-      break;
-    case bfd_arch_sparc:
-      N_SET_MACHTYPE (execp, M_SPARC);
-      break;
-    case bfd_arch_i386:
-      N_SET_MACHTYPE (execp, M_386);
-      break;
-    case bfd_arch_mips:
-      switch (bfd_get_mach (abfd))
-	{
-	case bfd_mach_mips4000:
-	case bfd_mach_mips6000:
-	  N_SET_MACHTYPE (execp, M_MIPS2);
-	  break;
-	default:
-	  N_SET_MACHTYPE (execp, M_MIPS1);
-	  break;
-	}
-      break;
-    default:
-      N_SET_MACHTYPE (execp, M_UNKNOWN);
-    }
-
-  MY (choose_reloc_size) (abfd);
-
-  WRITE_HEADERS (abfd, execp);
-
-  return TRUE;
-}
-
-/* MIPS relocation types.  */
-#define MIPS_RELOC_32		0
-#define MIPS_RELOC_JMP		1
-#define MIPS_RELOC_WDISP16	2
-#define MIPS_RELOC_HI16		3
-#define MIPS_RELOC_HI16_S	4
-#define MIPS_RELOC_LO16		5
-
-/* This is only called when performing a BFD_RELOC_MIPS_JMP relocation.
-   The jump destination address is formed from the upper 4 bits of the
-   "current" program counter concatenated with the jump instruction's
-   26 bit field and two trailing zeros.
-   If the destination address is not in the same segment as the "current"
-   program counter, then we need to signal an error.  */
-
-static bfd_reloc_status_type
-mips_fix_jmp_addr (bfd *abfd ATTRIBUTE_UNUSED,
-		   arelent *reloc_entry,
-		   struct bfd_symbol *symbol,
-		   void * data ATTRIBUTE_UNUSED,
-		   asection *input_section,
-		   bfd *output_bfd,
-		   char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma relocation, pc;
-
-  /* If this is a partial relocation, just continue.  */
-  if (output_bfd != (bfd *) NULL)
-    return bfd_reloc_continue;
-
-  /* If this is an undefined symbol, return error */
-  if (bfd_is_und_section (symbol->section)
-      && (symbol->flags & BSF_WEAK) == 0)
-    return bfd_reloc_undefined;
-
-  /* Work out which section the relocation is targeted at and the
-     initial relocation command value.  */
-  if (bfd_is_com_section (symbol->section))
-    relocation = 0;
-  else
-    relocation = symbol->value;
-
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-
-  pc = input_section->output_section->vma + input_section->output_offset +
-    reloc_entry->address + 4;
-
-  if ((relocation & 0xF0000000) != (pc & 0xF0000000))
-    return bfd_reloc_overflow;
-
-  return bfd_reloc_continue;
-}
-
-/* This is only called when performing a BFD_RELOC_HI16_S relocation.
-   We need to see if bit 15 is set in the result. If it is, we add
-   0x10000 and continue normally. This will compensate for the sign extension
-   when the low bits are added at run time.  */
-
-static bfd_reloc_status_type
-mips_fix_hi16_s (bfd *abfd ATTRIBUTE_UNUSED,
-		 arelent *reloc_entry,
-		 asymbol *symbol,
-		 void * data ATTRIBUTE_UNUSED,
-		 asection *input_section ATTRIBUTE_UNUSED,
-		 bfd *output_bfd,
-		 char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma relocation;
-
-  /* If this is a partial relocation, just continue.  */
-  if (output_bfd != (bfd *)NULL)
-    return bfd_reloc_continue;
-
-  /* If this is an undefined symbol, return error.  */
-  if (bfd_is_und_section (symbol->section)
-      && (symbol->flags & BSF_WEAK) == 0)
-    return bfd_reloc_undefined;
-
-  /* Work out which section the relocation is targeted at and the
-     initial relocation command value.  */
-  if (bfd_is_com_section (symbol->section))
-    relocation = 0;
-  else
-    relocation = symbol->value;
-
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-
-  if (relocation & 0x8000)
-    reloc_entry->addend += 0x10000;
-
-  return bfd_reloc_continue;
-}
-
-static reloc_howto_type mips_howto_table_ext[] =
-{
-  {MIPS_RELOC_32,      0, 2, 32, FALSE, 0,  complain_overflow_bitfield, 0,
-	"32",       FALSE, 0, 0xffffffff, FALSE},
-  {MIPS_RELOC_JMP,     2, 2, 26, FALSE, 0, complain_overflow_dont,
-	mips_fix_jmp_addr,
-	"MIPS_JMP", FALSE, 0, 0x03ffffff, FALSE},
-  {MIPS_RELOC_WDISP16, 2, 2, 16, TRUE,  0, complain_overflow_signed, 0,
-	"WDISP16",  FALSE, 0, 0x0000ffff, FALSE},
-  {MIPS_RELOC_HI16,   16, 2, 16, FALSE, 0, complain_overflow_bitfield, 0,
-	"HI16",     FALSE, 0, 0x0000ffff, FALSE},
-  {MIPS_RELOC_HI16_S, 16, 2, 16, FALSE, 0, complain_overflow_bitfield,
-	mips_fix_hi16_s,
-	"HI16_S",   FALSE, 0, 0x0000ffff, FALSE},
-  {MIPS_RELOC_LO16,    0, 2, 16, FALSE, 0, complain_overflow_dont, 0,
-	"LO16",     FALSE, 0, 0x0000ffff, FALSE},
-};
-
-static reloc_howto_type *
-MY(reloc_type_lookup) (bfd *abfd, bfd_reloc_code_real_type code)
-{
-  if (bfd_get_arch (abfd) != bfd_arch_mips)
-    return NULL;
-
-  switch (code)
-    {
-    case BFD_RELOC_CTOR:
-    case BFD_RELOC_32:
-      return (&mips_howto_table_ext[MIPS_RELOC_32]);
-    case BFD_RELOC_MIPS_JMP:
-      return (&mips_howto_table_ext[MIPS_RELOC_JMP]);
-    case BFD_RELOC_16_PCREL_S2:
-      return (&mips_howto_table_ext[MIPS_RELOC_WDISP16]);
-    case BFD_RELOC_HI16:
-      return (&mips_howto_table_ext[MIPS_RELOC_HI16]);
-    case BFD_RELOC_HI16_S:
-      return (&mips_howto_table_ext[MIPS_RELOC_HI16_S]);
-    case BFD_RELOC_LO16:
-      return (&mips_howto_table_ext[MIPS_RELOC_LO16]);
-    default:
-      return NULL;
-    }
-}
-
-static reloc_howto_type *
-MY(reloc_name_lookup) (bfd *abfd ATTRIBUTE_UNUSED,
-		       const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0;
-       i < sizeof (mips_howto_table_ext) / sizeof (mips_howto_table_ext[0]);
-       i++)
-    if (mips_howto_table_ext[i].name != NULL
-	&& strcasecmp (mips_howto_table_ext[i].name, r_name) == 0)
-      return &mips_howto_table_ext[i];
-
-  return NULL;
-}
-
-/* This is just like the standard aoutx.h version but we need to do our
-   own mapping of external reloc type values to howto entries.  */
-long
-MY(canonicalize_reloc) (bfd *abfd,
-			sec_ptr section,
-			arelent **relptr,
-			asymbol **symbols)
-{
-  arelent *tblptr = section->relocation;
-  unsigned int count, c;
-  extern reloc_howto_type NAME(aout,ext_howto_table)[];
-
-  /* If we have already read in the relocation table, return the values.  */
-  if (section->flags & SEC_CONSTRUCTOR)
-    {
-      arelent_chain *chain = section->constructor_chain;
-
-      for (count = 0; count < section->reloc_count; count++)
-	{
-	  *relptr++ = &chain->relent;
-	  chain = chain->next;
-	}
-      *relptr = 0;
-      return section->reloc_count;
-    }
-
-  if (tblptr && section->reloc_count)
-    {
-      for (count = 0; count++ < section->reloc_count;)
-	*relptr++ = tblptr++;
-      *relptr = 0;
-      return section->reloc_count;
-    }
-
-  if (!NAME(aout,slurp_reloc_table) (abfd, section, symbols))
-    return -1;
-  tblptr = section->relocation;
-
-  /* fix up howto entries.  */
-  for (count = 0; count++ < section->reloc_count;)
-    {
-      c = tblptr->howto - NAME(aout,ext_howto_table);
-      tblptr->howto = &mips_howto_table_ext[c];
-
-      *relptr++ = tblptr++;
-    }
-  *relptr = 0;
-  return section->reloc_count;
-}
-
-static const struct aout_backend_data MY(backend_data) =
-{
-  0,				/* zmagic contiguous */
-  1,				/* text incl header */
-  0,				/* entry is text address */
-  0,				/* exec_hdr_flags */
-  TARGET_PAGE_SIZE,			/* text vma */
-  MY_set_sizes,
-  0,				/* text size includes exec header */
-  0,				/* add_dynamic_symbols */
-  0,				/* add_one_symbol */
-  0,				/* link_dynamic_object */
-  0,				/* write_dynamic_symbol */
-  0,				/* check_dynamic_reloc */
-  0				/* finish_dynamic_link */
-};
-
-extern const bfd_target mips_aout_be_vec;
-
-const bfd_target mips_aout_le_vec =
-{
-    "a.out-mips-little",		/* name */
-    bfd_target_aout_flavour,
-    BFD_ENDIAN_LITTLE,		/* target byte order (little) */
-    BFD_ENDIAN_LITTLE,		/* target headers byte order (little) */
-    (HAS_RELOC | EXEC_P |		/* object flags */
-     HAS_LINENO | HAS_DEBUG |
-     HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
-    (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
-    MY_symbol_leading_char,
-    ' ',				/* ar_pad_char */
-    15,				/* ar_max_namelen */
-    0,				/* match priority.  */
-    bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-    bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-    bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* data */
-    bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-    bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-    bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
-    {_bfd_dummy_target, MY_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, MY_core_file_p},
-    {bfd_false, MY_mkobject,	/* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-    {bfd_false, MY_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
-
-    BFD_JUMP_TABLE_GENERIC (MY),
-    BFD_JUMP_TABLE_COPY (MY),
-    BFD_JUMP_TABLE_CORE (MY),
-    BFD_JUMP_TABLE_ARCHIVE (MY),
-    BFD_JUMP_TABLE_SYMBOLS (MY),
-    BFD_JUMP_TABLE_RELOCS (MY),
-    BFD_JUMP_TABLE_WRITE (MY),
-    BFD_JUMP_TABLE_LINK (MY),
-    BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-    & mips_aout_be_vec,
-
-    MY_backend_data
-  };
-
-const bfd_target mips_aout_be_vec =
-  {
-    "a.out-mips-big",		/* name */
-    bfd_target_aout_flavour,
-    BFD_ENDIAN_BIG,		/* target byte order (big) */
-    BFD_ENDIAN_BIG,		/* target headers byte order (big) */
-    (HAS_RELOC | EXEC_P |		/* object flags */
-     HAS_LINENO | HAS_DEBUG |
-     HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
-    (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
-    MY_symbol_leading_char,
-    ' ',				/* ar_pad_char */
-    15,				/* ar_max_namelen */
-    0,				/* match priority.  */
-    bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-    bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-    bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* data */
-    bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-    bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-    bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
-    {_bfd_dummy_target, MY_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, MY_core_file_p},
-    {bfd_false, MY_mkobject,	/* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-    {bfd_false, MY_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
-
-    BFD_JUMP_TABLE_GENERIC (MY),
-    BFD_JUMP_TABLE_COPY (MY),
-    BFD_JUMP_TABLE_CORE (MY),
-    BFD_JUMP_TABLE_ARCHIVE (MY),
-    BFD_JUMP_TABLE_SYMBOLS (MY),
-    BFD_JUMP_TABLE_RELOCS (MY),
-    BFD_JUMP_TABLE_WRITE (MY),
-    BFD_JUMP_TABLE_LINK (MY),
-    BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-    & mips_aout_le_vec,
-
-    MY_backend_data
-  };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/mmo.c ./bfd/mmo.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/mmo.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/mmo.c	2018-07-10 02:06:11.000000000 +0000
@@ -465,7 +465,7 @@ mmo_make_section (bfd *abfd, const char 
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: No core to allocate section name %s\n"),
+	    (_("%pB: no core to allocate section name %s"),
 	     abfd, secname);
 	  bfd_set_error (bfd_error_system_call);
 	  return NULL;
@@ -541,7 +541,7 @@ mmo_object_p (bfd *abfd)
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: No core to allocate a symbol %d bytes long\n"),
+	(_("%pB: no core to allocate a symbol %d bytes long"),
 	 abfd, abfd->tdata.mmo_data->max_symbol_length);
       goto bad_final;
     }
@@ -955,9 +955,9 @@ mmo_write_loc_chunk (bfd *abfd, bfd_vma 
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: attempt to emit contents at non-multiple-of-4"
-	       " address %#Lx"),
-	     abfd, vma);
+	    (_("%pB: attempt to emit contents at non-multiple-of-4"
+	       " address %#" PRIx64 ""),
+	     abfd, (uint64_t) vma);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -1252,7 +1252,7 @@ mmo_create_symbol (bfd *abfd, const char
       && !mmo_ignore_symbol_consistency (abfd))
     {
       _bfd_error_handler
-	(_("%B: invalid mmo file: initialization value for $255"
+	(_("%pB: invalid mmo file: initialization value for $255"
 	   " is not `Main'\n"),
 	 abfd);
       bfd_set_error (bfd_error_bad_value);
@@ -1399,7 +1399,7 @@ SUBSECTION
 
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: unsupported wide character sequence"
+		(_("%pB: unsupported wide character sequence"
 		   " 0x%02X 0x%02X after symbol name starting with `%s'\n"),
 		 abfd, c, c2, abfd->tdata.mmo_data->lop_stab_symbol);
 	      bfd_set_error (bfd_error_bad_value);
@@ -1633,7 +1633,7 @@ mmo_scan (bfd *abfd)
 	    default:
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: invalid mmo file: unsupported lopcode `%d'\n"),
+		(_("%pB: invalid mmo file: unsupported lopcode `%d'\n"),
 		 abfd, buf[1]);
 	      bfd_set_error (bfd_error_bad_value);
 	      goto error_return;
@@ -1644,7 +1644,7 @@ mmo_scan (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: invalid mmo file: expected YZ = 1"
+		    (_("%pB: invalid mmo file: expected YZ = 1"
 		       " got YZ = %d for lop_quote\n"),
 		     abfd, y*256+z);
 		  bfd_set_error (bfd_error_bad_value);
@@ -1682,7 +1682,7 @@ mmo_scan (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: invalid mmo file: expected z = 1 or z = 2,"
+		    (_("%pB: invalid mmo file: expected z = 1 or z = 2,"
 		       " got z = %d for lop_loc\n"),
 		     abfd, z);
 		  bfd_set_error (bfd_error_bad_value);
@@ -1733,7 +1733,7 @@ mmo_scan (bfd *abfd)
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: invalid mmo file: expected z = 1 or z = 2,"
+		      (_("%pB: invalid mmo file: expected z = 1 or z = 2,"
 			 " got z = %d for lop_fixo\n"),
 		       abfd, z);
 		    bfd_set_error (bfd_error_bad_value);
@@ -1774,7 +1774,7 @@ mmo_scan (bfd *abfd)
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: invalid mmo file: expected y = 0,"
+		      (_("%pB: invalid mmo file: expected y = 0,"
 			 " got y = %d for lop_fixrx\n"),
 		       abfd, y);
 		    bfd_set_error (bfd_error_bad_value);
@@ -1785,7 +1785,7 @@ mmo_scan (bfd *abfd)
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: invalid mmo file: expected z = 16 or z = 24,"
+		      (_("%pB: invalid mmo file: expected z = 16 or z = 24,"
 			 " got z = %d for lop_fixrx\n"),
 		       abfd, z);
 		    bfd_set_error (bfd_error_bad_value);
@@ -1810,7 +1810,7 @@ mmo_scan (bfd *abfd)
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: invalid mmo file: leading byte of operand word"
+		      (_("%pB: invalid mmo file: leading byte of operand word"
 			 " must be 0 or 1, got %d for lop_fixrx\n"),
 		       abfd, buf[0]);
 		    bfd_set_error (bfd_error_bad_value);
@@ -1835,7 +1835,7 @@ mmo_scan (bfd *abfd)
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: cannot allocate file name for file number %d,"
+			(_("%pB: cannot allocate file name for file number %d,"
 			   " %d bytes\n"),
 			 abfd, y, z * 4 + 1);
 		      bfd_set_error (bfd_error_system_call);
@@ -1857,7 +1857,7 @@ mmo_scan (bfd *abfd)
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: invalid mmo file: file number %d `%s',"
+			(_("%pB: invalid mmo file: file number %d `%s',"
 			   " was already entered as `%s'\n"),
 			 abfd, y, fname, file_names[y]);
 		      bfd_set_error (bfd_error_bad_value);
@@ -1871,7 +1871,7 @@ mmo_scan (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: invalid mmo file: file name for number %d"
+		    (_("%pB: invalid mmo file: file name for number %d"
 		       " was not specified before use\n"),
 		     abfd, y);
 		  bfd_set_error (bfd_error_bad_value);
@@ -1978,7 +1978,7 @@ mmo_scan (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: invalid mmo file: fields y and z of lop_stab"
+		    (_("%pB: invalid mmo file: fields y and z of lop_stab"
 		       " non-zero, y: %d, z: %d\n"),
 		     abfd, y, z);
 		  bfd_set_error (bfd_error_bad_value);
@@ -2015,7 +2015,7 @@ mmo_scan (bfd *abfd)
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: invalid mmo file: lop_end not last item in"
+		      (_("%pB: invalid mmo file: lop_end not last item in"
 			 " file\n"),
 		       abfd);
 		    bfd_set_error (bfd_error_bad_value);
@@ -2029,7 +2029,7 @@ mmo_scan (bfd *abfd)
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: invalid mmo file: YZ of lop_end (%ld)"
+		      (_("%pB: invalid mmo file: YZ of lop_end (%ld)"
 			 " not equal to the number of tetras to the preceding"
 			 " lop_stab (%ld)\n"),
 		       abfd, (long) (y * 256 + z),
@@ -2740,7 +2740,7 @@ mmo_internal_add_3_sym (bfd *abfd, struc
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: invalid symbol table: duplicate symbol `%s'\n"),
+	(_("%pB: invalid symbol table: duplicate symbol `%s'\n"),
 	 abfd, trie->sym.name);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -2983,7 +2983,7 @@ mmo_write_symbols_and_terminator (bfd *a
 
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: Bad symbol definition: `Main' set to %s rather"
+	      (_("%pB: bad symbol definition: `Main' set to %s rather"
 		 " than the start address %s\n"),
 	       abfd, vmas_main, vmas_start);
 	    bfd_set_error (bfd_error_bad_value);
@@ -3082,7 +3082,7 @@ mmo_write_symbols_and_terminator (bfd *a
 
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: warning: symbol table too large for mmo, larger than 65535"
+	(_("%pB: warning: symbol table too large for mmo, larger than 65535"
 	   " 32-bit words: %d.  Only `Main' will be emitted.\n"),
 	 abfd, trie_len);
 
@@ -3128,7 +3128,7 @@ mmo_write_symbols_and_terminator (bfd *a
 	 diagnostic and fail "normally".  */
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: internal error, symbol table changed size from %d to %d"
+	(_("%pB: internal error, symbol table changed size from %d to %d"
 	   " words\n"),
 	 abfd, trie_len,
 	 (abfd->tdata.mmo_data->byte_no + 3)/4);
@@ -3181,7 +3181,7 @@ mmo_write_section_unless_reg_contents (b
 	     this.  */
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: internal error, internal register section %A had"
+	    (_("%pB: internal error, internal register section %pA had"
 	       " contents\n"),
 	     abfd, sec);
 	  bfd_set_error (bfd_error_bad_value);
@@ -3232,21 +3232,21 @@ mmo_write_object_contents (bfd *abfd)
 	  if (sec->size == 0)
 	    /* There must always be at least one such register.  */
 	    _bfd_error_handler
-	      (_("%B: no initialized registers; section length 0\n"),
+	      (_("%pB: no initialized registers; section length 0\n"),
 	       abfd);
 	  else if (sec->vma > (256 - 32) * 8)
 	    /* Provide better error message for the case of too many
 	       global registers.  */
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: too many initialized registers; section length %Ld"),
-	       abfd, sec->size);
+	      (_("%pB: too many initialized registers; section length %" PRId64),
+	       abfd, (int64_t) sec->size);
 	  else
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: invalid start address for initialized registers of"
-		 " length %Ld: %#Lx"),
-	       abfd, sec->size, sec->vma);
+	      (_("%pB: invalid start address for initialized registers of"
+		 " length %" PRId64 ": %#" PRIx64),
+	       abfd, (int64_t) sec->size, (uint64_t) sec->vma);
 
 	  return FALSE;
 	}
@@ -3275,8 +3275,7 @@ mmo_write_object_contents (bfd *abfd)
 /* Perhaps we need to adjust this one; mmo labels (originally) without a
    leading ':' might more appropriately be called local.  */
 #define mmo_bfd_is_local_label_name bfd_generic_is_local_label_name
-#define mmo_bfd_is_target_special_symbol  \
-  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define mmo_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
 
 #define mmo_get_symbol_version_string \
   _bfd_nosymbols_get_symbol_version_string
@@ -3319,6 +3318,7 @@ mmo_write_object_contents (bfd *abfd)
 #define mmo_section_already_linked \
   _bfd_generic_section_already_linked
 #define mmo_bfd_define_common_symbol bfd_generic_define_common_symbol
+#define mmo_bfd_link_hide_symbol _bfd_generic_link_hide_symbol
 #define mmo_bfd_define_start_stop bfd_generic_define_start_stop
 
 /* We want to copy time of creation, otherwise we'd use
@@ -3364,16 +3364,16 @@ const bfd_target mmix_mmo_vec =
     _bfd_dummy_target,
   },
   {
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     mmo_mkobject,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     mmo_write_object_contents,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (mmo),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/netbsd-core.c ./bfd/netbsd-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/netbsd-core.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/netbsd-core.c	2018-07-10 02:06:11.000000000 +0000
@@ -198,10 +198,6 @@ netbsd_core_file_p (bfd *abfd)
       bfd_default_set_arch_mach (abfd, bfd_arch_m68k, 0);
       break;
 
-    case M_88K_OPENBSD:
-      bfd_default_set_arch_mach (abfd, bfd_arch_m88k, 0);
-      break;
-
     case M_HPPA_OPENBSD:
       bfd_default_set_arch_mach (abfd, bfd_arch_hppa, bfd_mach_hppa11);
       break;
@@ -294,12 +290,16 @@ const bfd_target core_netbsd_vec =
       netbsd_core_file_p		/* A core file.  */
     },
     {					/* bfd_set_format.  */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
     {					/* bfd_write_contents.  */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/newsos3.c ./bfd/newsos3.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/newsos3.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/newsos3.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,43 +0,0 @@
-/* BFD back-end for NewsOS3 (Sony, 68k) binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define	TARGET_PAGE_SIZE	4096
-#define	SEGMENT_SIZE	TARGET_PAGE_SIZE
-#define TEXT_START_ADDR 0
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (m68k_aout_newsos3_,OP)
-#define TARGETNAME "a.out-newsos3"
-#define ENTRY_CAN_BE_ZERO
-#define DEFAULT_ARCH bfd_arch_m68k
-#define TARGET_IS_BIG_ENDIAN_P
-#define N_HEADER_IN_TEXT(x) 0
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "aout/aout64.h"
-#include "aout/stab_gnu.h"
-#include "aout/ar.h"
-#include "libaout.h"	       /* BFD a.out internal data structures */
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm32-alpha.c ./bfd/nlm32-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm32-alpha.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/nlm32-alpha.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,859 +0,0 @@
-/* Support for 32-bit Alpha NLM (NetWare Loadable Module)
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-   Written by Ian Lance Taylor, Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/* This file describes the 32 bit Alpha NLM format.  You might think
-   that an Alpha chip would use a 64 bit format, but, for some reason,
-   it doesn't.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-#define ARCH_SIZE 32
-
-#include "nlm/alpha-ext.h"
-#define Nlm_External_Fixed_Header	Nlm32_alpha_External_Fixed_Header
-
-#include "libnlm.h"
-
-/* Alpha NLM's have a prefix header before the standard NLM.  This
-   function reads it in, verifies the version, and seeks the bfd to
-   the location before the regular NLM header.  */
-
-static bfd_boolean
-nlm_alpha_backend_object_p (bfd *abfd)
-{
-  struct nlm32_alpha_external_prefix_header s;
-  file_ptr size;
-
-  if (bfd_bread (&s, (bfd_size_type) sizeof s, abfd) != sizeof s)
-    return FALSE;
-
-  if (H_GET_32 (abfd, s.magic) != NLM32_ALPHA_MAGIC)
-    return FALSE;
-
-  /* FIXME: Should we check the format number?  */
-
-  /* Skip to the end of the header.  */
-  size = H_GET_32 (abfd, s.size);
-  if (bfd_seek (abfd, size, SEEK_SET) != 0)
-    return FALSE;
-
-  return TRUE;
-}
-
-/* Write out the prefix.  */
-
-static bfd_boolean
-nlm_alpha_write_prefix (bfd *abfd)
-{
-  struct nlm32_alpha_external_prefix_header s;
-
-  memset (&s, 0, sizeof s);
-  H_PUT_32 (abfd, NLM32_ALPHA_MAGIC, s.magic);
-  H_PUT_32 (abfd, 2, s.format);
-  H_PUT_32 (abfd, sizeof s, s.size);
-  if (bfd_bwrite (&s, (bfd_size_type) sizeof s, abfd) != sizeof s)
-    return FALSE;
-  return TRUE;
-}
-
-#define ONES(n) (((bfd_vma) 1 << ((n) - 1) << 1) - 1)
-
-/* How to process the various reloc types.  */
-
-static reloc_howto_type nlm32_alpha_howto_table[] =
-{
-  /* Reloc type 0 is ignored by itself.  However, it appears after a
-     GPDISP reloc to identify the location where the low order 16 bits
-     of the gp register are loaded.  */
-  HOWTO (ALPHA_R_IGNORE,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 0,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 8,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_dont, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "IGNORE",		/* Name.  */
-	 FALSE,			/* Partial_inplace.  */
-	 0,			/* Source mask.  */
-	 0,			/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* A 32 bit reference to a symbol.  */
-  HOWTO (ALPHA_R_REFLONG,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "REFLONG",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* A 64 bit reference to a symbol.  */
-  HOWTO (ALPHA_R_REFQUAD,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 4,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 64,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "REFQUAD",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 ONES (64),		/* Source mask.  */
-	 ONES (64),		/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* A 32 bit GP relative offset.  This is just like REFLONG except
-     that when the value is used the value of the gp register will be
-     added in.  */
-  HOWTO (ALPHA_R_GPREL32,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "GPREL32",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* Used for an instruction that refers to memory off the GP
-     register.  The offset is 16 bits of the 32 bit instruction.  This
-     reloc always seems to be against the .lita section.  */
-  HOWTO (ALPHA_R_LITERAL,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_signed, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "LITERAL",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* This reloc only appears immediately following a LITERAL reloc.
-     It identifies a use of the literal.  It seems that the linker can
-     use this to eliminate a portion of the .lita section.  The symbol
-     index is special: 1 means the literal address is in the base
-     register of a memory format instruction; 2 means the literal
-     address is in the byte offset register of a byte-manipulation
-     instruction; 3 means the literal address is in the target
-     register of a jsr instruction.  This does not actually do any
-     relocation.  */
-  HOWTO (ALPHA_R_LITUSE,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_dont, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "LITUSE",		/* Name.  */
-	 FALSE,			/* Partial_inplace.  */
-	 0,			/* Source mask.  */
-	 0,			/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* Load the gp register.  This is always used for a ldah instruction
-     which loads the upper 16 bits of the gp register.  The next reloc
-     will be an IGNORE reloc which identifies the location of the lda
-     instruction which loads the lower 16 bits.  The symbol index of
-     the GPDISP instruction appears to actually be the number of bytes
-     between the ldah and lda instructions.  This gives two different
-     ways to determine where the lda instruction is; I don't know why
-     both are used.  The value to use for the relocation is the
-     difference between the GP value and the current location; the
-     load will always be done against a register holding the current
-     address.  */
-  HOWTO (ALPHA_R_GPDISP,	/* Type.  */
-	 16,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 TRUE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_dont, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "GPDISP",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 TRUE),			/* PCrel_offset.  */
-
-  /* A 21 bit branch.  The native assembler generates these for
-     branches within the text segment, and also fills in the PC
-     relative offset in the instruction.  It seems to me that this
-     reloc, unlike the others, is not partial_inplace.  */
-  HOWTO (ALPHA_R_BRADDR,	/* Type.  */
-	 2,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 21,			/* Bitsize.  */
-	 TRUE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_signed, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "BRADDR",		/* Name.  */
-	 FALSE,			/* Partial_inplace.  */
-	 0,			/* Source mask.  */
-	 0x1fffff,		/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* A hint for a jump to a register.  */
-  HOWTO (ALPHA_R_HINT,		/* Type.  */
-	 2,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 14,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_dont, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "HINT",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0x3fff,		/* Source mask.  */
-	 0x3fff,		/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* 16 bit PC relative offset.  */
-  HOWTO (ALPHA_R_SREL16,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 1,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 TRUE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_signed, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "SREL16",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* 32 bit PC relative offset.  */
-  HOWTO (ALPHA_R_SREL32,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 TRUE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_signed, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "SREL32",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* A 64 bit PC relative offset.  */
-  HOWTO (ALPHA_R_SREL64,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 4,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 64,			/* Bitsize.  */
-	 TRUE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_signed, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "SREL64",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 ONES (64),		/* Source mask.  */
-	 ONES (64),		/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* Push a value on the reloc evaluation stack.  */
-  HOWTO (ALPHA_R_OP_PUSH,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 0,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 0,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_dont, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "OP_PUSH",		/* Name.  */
-	 FALSE,			/* Partial_inplace.  */
-	 0,			/* Source mask.  */
-	 0,			/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* Store the value from the stack at the given address.  Store it in
-     a bitfield of size r_size starting at bit position r_offset.  */
-  HOWTO (ALPHA_R_OP_STORE,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 4,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 64,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_dont, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "OP_STORE",		/* Name.  */
-	 FALSE,			/* Partial_inplace.  */
-	 0,			/* Source mask.  */
-	 ONES (64),		/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* Subtract the reloc address from the value on the top of the
-     relocation stack.  */
-  HOWTO (ALPHA_R_OP_PSUB,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 0,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 0,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_dont, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "OP_PSUB",		/* Name.  */
-	 FALSE,			/* Partial_inplace.  */
-	 0,			/* Source mask.  */
-	 0,			/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* Shift the value on the top of the relocation stack right by the
-     given value.  */
-  HOWTO (ALPHA_R_OP_PRSHIFT,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 0,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 0,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_dont, /* Complain_on_overflow.  */
-	 0,			 /* Special_function.  */
-	 "OP_PRSHIFT",		/* Name.  */
-	 FALSE,			/* Partial_inplace.  */
-	 0,			/* Source mask.  */
-	 0,			/* Dest mask.  */
-	 FALSE),		/* PCrel_offset.  */
-
-  /* Adjust the GP value for a new range in the object file.  */
-  HOWTO (ALPHA_R_GPVALUE,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 0,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 0,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_dont, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "GPVALUE",		/* Name.  */
-	 FALSE,			/* Partial_inplace.  */
-	 0,			/* Source mask.  */
-	 0,			/* Dest mask.  */
-	 FALSE)			/* PCrel_offset.  */
-};
-
-static reloc_howto_type nlm32_alpha_nw_howto =
-  HOWTO (ALPHA_R_NW_RELOC,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 0,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 0,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_dont, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "NW_RELOC",		/* Name.  */
-	 FALSE,			/* Partial_inplace.  */
-	 0,			/* Source mask.  */
-	 0,			/* Dest mask.  */
-	 FALSE);		/* PCrel_offset.  */
-
-/* Read an Alpha NLM reloc.  This routine keeps some static data which
-   it uses when handling local relocs.  This only works correctly
-   because all the local relocs are read at once.  */
-
-static bfd_boolean
-nlm_alpha_read_reloc (bfd *abfd,
-		      nlmNAME (symbol_type) *sym,
-		      asection **secp,
-		      arelent *rel)
-{
-  static bfd_vma gp_value;
-  static bfd_vma lita_address;
-  struct nlm32_alpha_external_reloc ext;
-  bfd_vma r_vaddr;
-  long r_symndx;
-  int r_type, r_extern, r_offset, r_size;
-  asection *code_sec, *data_sec;
-
-  /* Read the reloc from the file.  */
-  if (bfd_bread (&ext, (bfd_size_type) sizeof ext, abfd) != sizeof ext)
-    return FALSE;
-
-  /* Swap in the reloc information.  */
-  r_vaddr = H_GET_64 (abfd, ext.r_vaddr);
-  r_symndx = H_GET_32 (abfd, ext.r_symndx);
-
-  BFD_ASSERT (bfd_little_endian (abfd));
-
-  r_type = ((ext.r_bits[0] & RELOC_BITS0_TYPE_LITTLE)
-	    >> RELOC_BITS0_TYPE_SH_LITTLE);
-  r_extern = (ext.r_bits[1] & RELOC_BITS1_EXTERN_LITTLE) != 0;
-  r_offset = ((ext.r_bits[1] & RELOC_BITS1_OFFSET_LITTLE)
-	      >> RELOC_BITS1_OFFSET_SH_LITTLE);
-  /* Ignore the reserved bits.  */
-  r_size = ((ext.r_bits[3] & RELOC_BITS3_SIZE_LITTLE)
-	    >> RELOC_BITS3_SIZE_SH_LITTLE);
-
-  /* Fill in the BFD arelent structure.  */
-  code_sec = bfd_get_section_by_name (abfd, NLM_CODE_NAME);
-  data_sec = bfd_get_section_by_name (abfd, NLM_INITIALIZED_DATA_NAME);
-  if (r_extern)
-    {
-      /* External relocations are only used for imports.  */
-      BFD_ASSERT (sym != NULL);
-      /* We don't need to set sym_ptr_ptr for this case.  It is set in
-	 nlm_canonicalize_reloc.  */
-      rel->sym_ptr_ptr = NULL;
-      rel->addend = 0;
-    }
-  else
-    {
-      /* Internal relocations are only used for local relocation
-	 fixups.  If they are not NW_RELOC or GPDISP or IGNORE, they
-	 must be against .text or .data.  */
-      BFD_ASSERT (r_type == ALPHA_R_NW_RELOC || sym == NULL);
-      if (r_type == ALPHA_R_NW_RELOC
-	  || r_type == ALPHA_R_GPDISP
-	  || r_type == ALPHA_R_IGNORE)
-	{
-	  rel->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-	  rel->addend = 0;
-	}
-      else if (r_symndx == ALPHA_RELOC_SECTION_TEXT)
-	{
-	  rel->sym_ptr_ptr = code_sec->symbol_ptr_ptr;
-	  BFD_ASSERT (bfd_get_section_vma (abfd, code_sec) == 0);
-	  rel->addend = 0;
-	}
-      else if (r_symndx == ALPHA_RELOC_SECTION_DATA)
-	{
-	  rel->sym_ptr_ptr = data_sec->symbol_ptr_ptr;
-	  rel->addend = - bfd_get_section_vma (abfd, data_sec);
-	}
-      else
-	{
-	  BFD_ASSERT (0);
-	  rel->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-	  rel->addend = 0;
-	}
-    }
-
-  /* We use the address to determine whether the reloc is in the .text
-     or .data section.  R_NW_RELOC relocs don't really have a section,
-     so we put them in .text.  */
-  if (r_type == ALPHA_R_NW_RELOC
-      || r_vaddr < code_sec->size)
-    {
-      *secp = code_sec;
-      rel->address = r_vaddr;
-    }
-  else
-    {
-      *secp = data_sec;
-      rel->address = r_vaddr - code_sec->size;
-    }
-
-  /* We must adjust the addend based on the type.  */
-  BFD_ASSERT ((r_type >= 0 && r_type <= ALPHA_R_GPVALUE)
-	      || r_type == ALPHA_R_NW_RELOC);
-
-  switch (r_type)
-    {
-    case ALPHA_R_BRADDR:
-    case ALPHA_R_SREL16:
-    case ALPHA_R_SREL32:
-    case ALPHA_R_SREL64:
-      /* The PC relative relocs do not seem to use the section VMA as
-	 a negative addend.  */
-      rel->addend = 0;
-      break;
-
-    case ALPHA_R_GPREL32:
-      /* Copy the gp value for this object file into the addend, to
-	 ensure that we are not confused by the linker.  */
-      if (! r_extern)
-	rel->addend += gp_value;
-      break;
-
-    case ALPHA_R_LITERAL:
-      BFD_ASSERT (! r_extern);
-      rel->addend += lita_address;
-      break;
-
-    case ALPHA_R_LITUSE:
-    case ALPHA_R_GPDISP:
-      /* The LITUSE and GPDISP relocs do not use a symbol, or an
-	 addend, but they do use a special code.  Put this code in the
-	 addend field.  */
-      rel->addend = r_symndx;
-      rel->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-      break;
-
-    case ALPHA_R_OP_STORE:
-      /* The STORE reloc needs the size and offset fields.  We store
-	 them in the addend.  */
-      BFD_ASSERT (r_offset < 256 && r_size < 256);
-      rel->addend = (r_offset << 8) + r_size;
-      break;
-
-    case ALPHA_R_OP_PUSH:
-    case ALPHA_R_OP_PSUB:
-    case ALPHA_R_OP_PRSHIFT:
-      /* The PUSH, PSUB and PRSHIFT relocs do not actually use an
-	 address.  I believe that the address supplied is really an
-	 addend.  */
-      rel->addend = r_vaddr;
-      break;
-
-    case ALPHA_R_GPVALUE:
-      /* Record the new gp value.  */
-      gp_value += r_symndx;
-      rel->addend = gp_value;
-      break;
-
-    case ALPHA_R_IGNORE:
-      /* If the type is ALPHA_R_IGNORE, make sure this is a reference
-	 to the absolute section so that the reloc is ignored.  For
-	 some reason the address of this reloc type is not adjusted by
-	 the section vma.  We record the gp value for this object file
-	 here, for convenience when doing the GPDISP relocation.  */
-      rel->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-      rel->address = r_vaddr;
-      rel->addend = gp_value;
-      break;
-
-    case ALPHA_R_NW_RELOC:
-      /* If this is SETGP, we set the addend to 0.  Otherwise we set
-	 the addend to the size of the .lita section (this is
-	 r_symndx) plus 1.  We have already set the address of the
-	 reloc to r_vaddr.  */
-      if (r_size == ALPHA_R_NW_RELOC_SETGP)
-	{
-	  gp_value = r_vaddr;
-	  rel->addend = 0;
-	}
-      else if (r_size == ALPHA_R_NW_RELOC_LITA)
-	{
-	  lita_address = r_vaddr;
-	  rel->addend = r_symndx + 1;
-	}
-      else
-	BFD_ASSERT (0);
-      rel->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-      break;
-
-    default:
-      break;
-    }
-
-  if (r_type == ALPHA_R_NW_RELOC)
-    rel->howto = &nlm32_alpha_nw_howto;
-  else
-    rel->howto = &nlm32_alpha_howto_table[r_type];
-
-  return TRUE;
-}
-
-/* Mangle Alpha NLM relocs for output.  */
-
-static bfd_boolean
-nlm_alpha_mangle_relocs (bfd *abfd ATTRIBUTE_UNUSED,
-			 asection *sec ATTRIBUTE_UNUSED,
-			 const void * data ATTRIBUTE_UNUSED,
-			 bfd_vma offset ATTRIBUTE_UNUSED,
-			 bfd_size_type count ATTRIBUTE_UNUSED)
-{
-  return TRUE;
-}
-
-/* Read an ALPHA NLM import record.  */
-
-static bfd_boolean
-nlm_alpha_read_import (bfd *abfd, nlmNAME (symbol_type) * sym)
-{
-  struct nlm_relent *nlm_relocs;	/* Relocation records for symbol.  */
-  bfd_size_type rcount;			/* Number of relocs.  */
-  bfd_byte temp[NLM_TARGET_LONG_SIZE];	/* Temporary 32-bit value.  */
-  unsigned char symlength;		/* Length of symbol name.  */
-  char *name;
-  bfd_size_type amt;
-
-  if (bfd_bread (& symlength, (bfd_size_type) sizeof (symlength), abfd)
-      != sizeof (symlength))
-    return FALSE;
-  sym -> symbol.the_bfd = abfd;
-  name = bfd_alloc (abfd, (bfd_size_type) symlength + 1);
-  if (name == NULL)
-    return FALSE;
-  if (bfd_bread (name, (bfd_size_type) symlength, abfd) != symlength)
-    return FALSE;
-  name[symlength] = '\0';
-  sym -> symbol.name = name;
-  sym -> symbol.flags = 0;
-  sym -> symbol.value = 0;
-  sym -> symbol.section = bfd_und_section_ptr;
-  if (bfd_bread (temp, (bfd_size_type) sizeof (temp), abfd)
-      != sizeof (temp))
-    return FALSE;
-  rcount = H_GET_32 (abfd, temp);
-  amt = rcount * sizeof (struct nlm_relent);
-  nlm_relocs = bfd_alloc (abfd, amt);
-  if (!nlm_relocs)
-    return FALSE;
-  sym -> relocs = nlm_relocs;
-  sym -> rcnt = 0;
-  while (sym -> rcnt < rcount)
-    {
-      asection *section;
-
-      if (! nlm_alpha_read_reloc (abfd, sym, &section, &nlm_relocs -> reloc))
-	return FALSE;
-      nlm_relocs -> section = section;
-      nlm_relocs++;
-      sym -> rcnt++;
-    }
-
-  return TRUE;
-}
-
-/* Write an Alpha NLM reloc.  */
-
-static bfd_boolean
-nlm_alpha_write_import (bfd * abfd, asection * sec, arelent * rel)
-{
-  asymbol *sym;
-  bfd_vma r_vaddr;
-  long r_symndx;
-  int r_type, r_extern, r_offset, r_size;
-  struct nlm32_alpha_external_reloc ext;
-
-  sym = *rel->sym_ptr_ptr;
-
-  /* Get values for the relocation fields.  */
-  r_type = rel->howto->type;
-  if (r_type != ALPHA_R_NW_RELOC)
-    {
-      r_vaddr = bfd_get_section_vma (abfd, sec) + rel->address;
-      if ((sec->flags & SEC_CODE) == 0)
-	r_vaddr += bfd_get_section_by_name (abfd, NLM_CODE_NAME) -> size;
-      if (bfd_is_und_section (bfd_get_section (sym)))
-	{
-	  r_extern = 1;
-	  r_symndx = 0;
-	}
-      else
-	{
-	  r_extern = 0;
-	  if (bfd_get_section_flags (abfd, bfd_get_section (sym)) & SEC_CODE)
-	    r_symndx = ALPHA_RELOC_SECTION_TEXT;
-	  else
-	    r_symndx = ALPHA_RELOC_SECTION_DATA;
-	}
-      r_offset = 0;
-      r_size = 0;
-
-      switch (r_type)
-	{
-	case ALPHA_R_LITUSE:
-	case ALPHA_R_GPDISP:
-	  r_symndx = rel->addend;
-	  break;
-
-	case ALPHA_R_OP_STORE:
-	  r_size = rel->addend & 0xff;
-	  r_offset = (rel->addend >> 8) & 0xff;
-	  break;
-
-	case ALPHA_R_OP_PUSH:
-	case ALPHA_R_OP_PSUB:
-	case ALPHA_R_OP_PRSHIFT:
-	  r_vaddr = rel->addend;
-	  break;
-
-	case ALPHA_R_IGNORE:
-	  r_vaddr = rel->address;
-	  break;
-
-	default:
-	  break;
-	}
-    }
-  else
-    {
-      /* r_type == ALPHA_R_NW_RELOC.  */
-      r_vaddr = rel->address;
-      if (rel->addend == 0)
-	{
-	  r_symndx = 0;
-	  r_size = ALPHA_R_NW_RELOC_SETGP;
-	}
-      else
-	{
-	  r_symndx = rel->addend - 1;
-	  r_size = ALPHA_R_NW_RELOC_LITA;
-	}
-      r_extern = 0;
-      r_offset = 0;
-    }
-
-  /* Swap out the relocation fields.  */
-  H_PUT_64 (abfd, r_vaddr, ext.r_vaddr);
-  H_PUT_32 (abfd, r_symndx, ext.r_symndx);
-
-  BFD_ASSERT (bfd_little_endian (abfd));
-
-  ext.r_bits[0] = ((r_type << RELOC_BITS0_TYPE_SH_LITTLE)
-		   & RELOC_BITS0_TYPE_LITTLE);
-  ext.r_bits[1] = ((r_extern ? RELOC_BITS1_EXTERN_LITTLE : 0)
-		   | ((r_offset << RELOC_BITS1_OFFSET_SH_LITTLE)
-		      & RELOC_BITS1_OFFSET_LITTLE));
-  ext.r_bits[2] = 0;
-  ext.r_bits[3] = ((r_size << RELOC_BITS3_SIZE_SH_LITTLE)
-		   & RELOC_BITS3_SIZE_LITTLE);
-
-  /* Write out the relocation.  */
-  if (bfd_bwrite (&ext, (bfd_size_type) sizeof ext, abfd) != sizeof ext)
-    return FALSE;
-
-  return TRUE;
-}
-
-/* Alpha NetWare does not use the high bit to determine whether a
-   public symbol is in the code segment or the data segment.  Instead,
-   it just uses the address.  The set_public_section and
-   get_public_offset routines override the default code which uses the
-   high bit.  */
-
-/* Set the section for a public symbol.  */
-
-static bfd_boolean
-nlm_alpha_set_public_section (bfd * abfd, nlmNAME (symbol_type) * sym)
-{
-  asection *code_sec, *data_sec;
-
-  code_sec = bfd_get_section_by_name (abfd, NLM_CODE_NAME);
-  data_sec = bfd_get_section_by_name (abfd, NLM_INITIALIZED_DATA_NAME);
-  if (sym->symbol.value < code_sec->size)
-    {
-      sym->symbol.section = code_sec;
-      sym->symbol.flags |= BSF_FUNCTION;
-    }
-  else
-    {
-      sym->symbol.section = data_sec;
-      sym->symbol.value -= code_sec->size;
-      /* The data segment had better be aligned.  */
-      BFD_ASSERT ((code_sec->size & 0xf) == 0);
-    }
-  return TRUE;
-}
-
-/* Get the offset to write out for a public symbol.  */
-
-static bfd_vma
-nlm_alpha_get_public_offset (bfd * abfd ATTRIBUTE_UNUSED, asymbol * sym)
-{
-  return bfd_asymbol_value (sym);
-}
-
-/* Write an Alpha NLM external symbol.  */
-
-static bfd_boolean
-nlm_alpha_write_external (bfd *abfd,
-			  bfd_size_type count,
-			  asymbol *sym,
-			  struct reloc_and_sec *relocs)
-{
-  bfd_size_type i;
-  bfd_byte len;
-  unsigned char temp[NLM_TARGET_LONG_SIZE];
-  arelent r;
-
-  len = strlen (sym->name);
-  if ((bfd_bwrite (&len, (bfd_size_type) sizeof (bfd_byte), abfd)
-       != sizeof (bfd_byte))
-      || bfd_bwrite (sym->name, (bfd_size_type) len, abfd) != len)
-    return FALSE;
-
-  bfd_put_32 (abfd, count + 2, temp);
-  if (bfd_bwrite (temp, (bfd_size_type) sizeof (temp), abfd) != sizeof (temp))
-    return FALSE;
-
-  /* The first two relocs for each external symbol are the .lita
-     address and the GP value.  */
-  r.sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-  r.howto = &nlm32_alpha_nw_howto;
-
-  r.address = nlm_alpha_backend_data (abfd)->lita_address;
-  r.addend = nlm_alpha_backend_data (abfd)->lita_size + 1;
-  if (! nlm_alpha_write_import (abfd, NULL, &r))
-    return FALSE;
-
-  r.address = nlm_alpha_backend_data (abfd)->gp;
-  r.addend = 0;
-  if (! nlm_alpha_write_import (abfd, NULL, &r))
-    return FALSE;
-
-  for (i = 0; i < count; i++)
-    if (! nlm_alpha_write_import (abfd, relocs[i].sec, relocs[i].rel))
-      return FALSE;
-
-  return TRUE;
-}
-
-#include "nlmswap.h"
-
-static const struct nlm_backend_data nlm32_alpha_backend =
-{
-  "NetWare Alpha Module   \032",
-  sizeof (Nlm32_alpha_External_Fixed_Header),
-  sizeof (struct nlm32_alpha_external_prefix_header),
-  bfd_arch_alpha,
-  0,
-  TRUE, /* No uninitialized data permitted by Alpha NetWare.  */
-  nlm_alpha_backend_object_p,
-  nlm_alpha_write_prefix,
-  nlm_alpha_read_reloc,
-  nlm_alpha_mangle_relocs,
-  nlm_alpha_read_import,
-  nlm_alpha_write_import,
-  nlm_alpha_set_public_section,
-  nlm_alpha_get_public_offset,
-  nlm_swap_fixed_header_in,
-  nlm_swap_fixed_header_out,
-  nlm_alpha_write_external,
-  0,	/* Write_export.  */
-};
-
-#define TARGET_LITTLE_NAME		"nlm32-alpha"
-#define TARGET_LITTLE_SYM		alpha_nlm32_vec
-#define TARGET_BACKEND_DATA		& nlm32_alpha_backend
-
-#include "nlm-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm32.c ./bfd/nlm32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm32.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/nlm32.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,22 +0,0 @@
-/* NLM (NetWare Loadable Module) 32-bit executable support for BFD.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define ARCH_SIZE 32
-#include "nlmcode.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm32-i386.c ./bfd/nlm32-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm32-i386.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/nlm32-i386.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,429 +0,0 @@
-/* Support for 32-bit i386 NLM (NetWare Loadable Module)
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-#define ARCH_SIZE 32
-
-#include "nlm/i386-ext.h"
-#define Nlm_External_Fixed_Header	Nlm32_i386_External_Fixed_Header
-
-#include "libnlm.h"
-
-/* Adjust the reloc location by an absolute value.  */
-
-static reloc_howto_type nlm_i386_abs_howto =
-  HOWTO (0,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "32",			/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 FALSE);		/* PR rel_offset.  */
-
-/* Adjust the reloc location by a PC relative displacement.  */
-
-static reloc_howto_type nlm_i386_pcrel_howto =
-  HOWTO (1,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 TRUE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_signed, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "DISP32",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 TRUE);			/* PR rel_offset.  */
-
-/* Read a NetWare i386 reloc.  */
-
-static bfd_boolean
-nlm_i386_read_reloc (bfd *abfd,
-		     nlmNAME (symbol_type) *sym,
-		     asection **secp,
-		     arelent *rel)
-{
-  bfd_byte temp[4];
-  bfd_vma val;
-  const char *name;
-
-  if (bfd_bread (temp, (bfd_size_type) sizeof (temp), abfd) != sizeof (temp))
-    return FALSE;
-
-  val = bfd_get_32 (abfd, temp);
-
-  /* The value is an offset into either the code or data segment.
-     This is the location which needs to be adjusted.
-
-     If this is a relocation fixup rather than an imported symbol (the
-     sym argument is NULL) then the high bit is 0 if the location
-     needs to be adjusted by the address of the data segment, or 1 if
-     the location needs to be adjusted by the address of the code
-     segment.  If this is an imported symbol, then the high bit is 0
-     if the location is 0 if the location should be adjusted by the
-     offset to the symbol, or 1 if the location should adjusted by the
-     absolute value of the symbol.
-
-     The second most significant bit is 0 if the value is an offset
-     into the data segment, or 1 if the value is an offset into the
-     code segment.
-
-     All this translates fairly easily into a BFD reloc.  */
-
-  if (sym == NULL)
-    {
-      if ((val & NLM_HIBIT) == 0)
-	name = NLM_INITIALIZED_DATA_NAME;
-      else
-	{
-	  name = NLM_CODE_NAME;
-	  val &=~ NLM_HIBIT;
-	}
-      rel->sym_ptr_ptr = bfd_get_section_by_name (abfd, name)->symbol_ptr_ptr;
-      rel->howto = &nlm_i386_abs_howto;
-    }
-  else
-    {
-      /* In this case we do not need to set the sym_ptr_ptr field.  */
-      rel->sym_ptr_ptr = NULL;
-      if ((val & NLM_HIBIT) == 0)
-	rel->howto = &nlm_i386_pcrel_howto;
-      else
-	{
-	  rel->howto = &nlm_i386_abs_howto;
-	  val &=~ NLM_HIBIT;
-	}
-    }
-
-  if ((val & (NLM_HIBIT >> 1)) == 0)
-    *secp = bfd_get_section_by_name (abfd, NLM_INITIALIZED_DATA_NAME);
-  else
-    {
-      *secp = bfd_get_section_by_name (abfd, NLM_CODE_NAME);
-      val &=~ (NLM_HIBIT >> 1);
-    }
-
-  rel->address = val;
-  rel->addend = 0;
-
-  return TRUE;
-}
-
-/* Write a NetWare i386 reloc.  */
-
-static bfd_boolean
-nlm_i386_write_import (bfd * abfd, asection * sec, arelent * rel)
-{
-  asymbol *sym;
-  bfd_vma val;
-  bfd_byte temp[4];
-
-  /* NetWare only supports two kinds of relocs.  We should check
-     special_function here, as well, but at the moment coff-i386
-     relocs uses a special_function which does not affect what we do
-     here.  */
-  if (rel->addend != 0
-      || rel->howto == NULL
-      || rel->howto->rightshift != 0
-      || rel->howto->size != 2
-      || rel->howto->bitsize != 32
-      || rel->howto->bitpos != 0
-      || rel->howto->src_mask != 0xffffffff
-      || rel->howto->dst_mask != 0xffffffff)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return FALSE;
-    }
-
-  sym = *rel->sym_ptr_ptr;
-
-  /* The value we write out is the offset into the appropriate
-     segment.  This offset is the section vma, adjusted by the vma of
-     the lowest section in that segment, plus the address of the
-     relocation.  */
-  val = bfd_get_section_vma (abfd, sec) + rel->address;
-
-  /* The second most significant bit is 0 if the value is an offset
-     into the data segment, or 1 if the value is an offset into the
-     code segment.  */
-  if (bfd_get_section_flags (abfd, sec) & SEC_CODE)
-    {
-      val -= nlm_get_text_low (abfd);
-      val |= NLM_HIBIT >> 1;
-    }
-  else
-    val -= nlm_get_data_low (abfd);
-
-  if (! bfd_is_und_section (bfd_get_section (sym)))
-    {
-      /* NetWare only supports absolute internal relocs.  */
-      if (rel->howto->pc_relative)
-	{
-	  bfd_set_error (bfd_error_invalid_operation);
-	  return FALSE;
-	}
-
-      /* The high bit is 1 if the reloc is against the code section, 0
-	 if against the data section.  */
-      if (bfd_get_section_flags (abfd, bfd_get_section (sym)) & SEC_CODE)
-	val |= NLM_HIBIT;
-    }
-  else
-    {
-      /* The high bit is 1 if this is an absolute reloc, 0 if it is PC
-	 relative.  */
-      if (! rel->howto->pc_relative)
-	val |= NLM_HIBIT;
-      else
-	{
-	  /* PC relative relocs on NetWare must be pcrel_offset.  */
-	  if (! rel->howto->pcrel_offset)
-	    {
-	      bfd_set_error (bfd_error_invalid_operation);
-	      return FALSE;
-	    }
-	}
-    }
-
-  bfd_put_32 (abfd, val, temp);
-  if (bfd_bwrite (temp, (bfd_size_type) sizeof (temp), abfd) != sizeof (temp))
-    return FALSE;
-
-  return TRUE;
-}
-
-/* I want to be able to use objcopy to turn an i386 a.out or COFF file
-   into a NetWare i386 module.  That means that the relocs from the
-   source file have to be mapped into relocs that apply to the target
-   file.  This function is called by nlm_set_section_contents to give
-   it a chance to rework the relocs.
-
-   This is actually a fairly general concept.  However, this is not a
-   general implementation.  */
-
-static bfd_boolean
-nlm_i386_mangle_relocs (bfd *abfd,
-			asection *sec,
-			const void * data,
-			bfd_vma offset,
-			bfd_size_type count)
-{
-  arelent **rel_ptr_ptr, **rel_end;
-
-  rel_ptr_ptr = sec->orelocation;
-  rel_end = rel_ptr_ptr + sec->reloc_count;
-  for (; rel_ptr_ptr < rel_end; rel_ptr_ptr++)
-    {
-      arelent *rel;
-      asymbol *sym;
-      bfd_vma addend;
-
-      rel = *rel_ptr_ptr;
-      sym = *rel->sym_ptr_ptr;
-
-      /* Note that no serious harm will ensue if we fail to change a
-	 reloc.  We will wind up failing in nlm_i386_write_import.  */
-
-      /* Make sure this reloc is within the data we have.  We only 4
-	 byte relocs here, so we insist on having 4 bytes.  */
-      if (rel->address < offset
-	  || rel->address + 4 > offset + count)
-	continue;
-
-      /* NetWare doesn't support reloc addends, so we get rid of them
-	 here by simply adding them into the object data.  We handle
-	 the symbol value, if any, the same way.  */
-      addend = rel->addend + sym->value;
-
-      /* The value of a symbol is the offset into the section.  If the
-	 symbol is in the .bss segment, we need to include the size of
-	 the data segment in the offset as well.  Fortunately, we know
-	 that at this point the size of the data section is in the NLM
-	 header.  */
-      if (((bfd_get_section_flags (abfd, bfd_get_section (sym))
-	    & SEC_LOAD) == 0)
-	  && ((bfd_get_section_flags (abfd, bfd_get_section (sym))
-	       & SEC_ALLOC) != 0))
-	addend += nlm_fixed_header (abfd)->dataImageSize;
-
-      if (addend != 0
-	  && rel->howto != NULL
-	  && rel->howto->rightshift == 0
-	  && rel->howto->size == 2
-	  && rel->howto->bitsize == 32
-	  && rel->howto->bitpos == 0
-	  && rel->howto->src_mask == 0xffffffff
-	  && rel->howto->dst_mask == 0xffffffff)
-	{
-	  bfd_vma val;
-
-	  val = bfd_get_32 (abfd, (bfd_byte *) data + rel->address - offset);
-	  val += addend;
-	  bfd_put_32 (abfd, val, (bfd_byte *) data + rel->address - offset);
-	  rel->addend = 0;
-	}
-
-      /* NetWare uses a reloc with pcrel_offset set.  We adjust
-	 pc_relative relocs accordingly.  We are going to change the
-	 howto field, so we can only do this if the current one is
-	 compatible.  We should check special_function here, but at
-	 the moment coff-i386 uses a special_function which does not
-	 affect what we are doing here.  */
-      if (rel->howto != NULL
-	  && rel->howto->pc_relative
-	  && ! rel->howto->pcrel_offset
-	  && rel->howto->rightshift == 0
-	  && rel->howto->size == 2
-	  && rel->howto->bitsize == 32
-	  && rel->howto->bitpos == 0
-	  && rel->howto->src_mask == 0xffffffff
-	  && rel->howto->dst_mask == 0xffffffff)
-	{
-	  bfd_vma val;
-
-	  /* When pcrel_offset is not set, it means that the negative
-	     of the address of the memory location is stored in the
-	     memory location.  We must add it back in.  */
-	  val = bfd_get_32 (abfd, (bfd_byte *) data + rel->address - offset);
-	  val += rel->address;
-	  bfd_put_32 (abfd, val, (bfd_byte *) data + rel->address - offset);
-
-	  rel->howto = &nlm_i386_pcrel_howto;
-	}
-    }
-
-  return TRUE;
-}
-
-/* Read a NetWare i386 import record.  */
-
-static bfd_boolean
-nlm_i386_read_import (bfd * abfd, nlmNAME (symbol_type) * sym)
-{
-  struct nlm_relent *nlm_relocs;	/* Relocation records for symbol.  */
-  bfd_size_type rcount;			/* Number of relocs.  */
-  bfd_byte temp[NLM_TARGET_LONG_SIZE];	/* Temporary 32-bit value.  */
-  unsigned char symlength;		/* Length of symbol name.  */
-  char *name;
-
-  if (bfd_bread (& symlength, (bfd_size_type) sizeof (symlength), abfd)
-      != sizeof (symlength))
-    return FALSE;
-  sym -> symbol.the_bfd = abfd;
-  name = bfd_alloc (abfd, (bfd_size_type) symlength + 1);
-  if (name == NULL)
-    return FALSE;
-  if (bfd_bread (name, (bfd_size_type) symlength, abfd) != symlength)
-    return FALSE;
-  name[symlength] = '\0';
-  sym -> symbol.name = name;
-  sym -> symbol.flags = 0;
-  sym -> symbol.value = 0;
-  sym -> symbol.section = bfd_und_section_ptr;
-  if (bfd_bread (temp, (bfd_size_type) sizeof (temp), abfd) != sizeof (temp))
-    return FALSE;
-  rcount = H_GET_32 (abfd, temp);
-  nlm_relocs = bfd_alloc (abfd, rcount * sizeof (struct nlm_relent));
-  if (!nlm_relocs)
-    return FALSE;
-  sym -> relocs = nlm_relocs;
-  sym -> rcnt = 0;
-  while (sym -> rcnt < rcount)
-    {
-      asection *section;
-
-      if (! nlm_i386_read_reloc (abfd, sym, &section, &nlm_relocs -> reloc))
-	return FALSE;
-      nlm_relocs -> section = section;
-      nlm_relocs++;
-      sym -> rcnt++;
-    }
-  return TRUE;
-}
-
-/* Write out an external reference.  */
-
-static bfd_boolean
-nlm_i386_write_external (bfd *abfd,
-			 bfd_size_type count,
-			 asymbol *sym,
-			 struct reloc_and_sec *relocs)
-{
-  unsigned int i;
-  bfd_byte len;
-  unsigned char temp[NLM_TARGET_LONG_SIZE];
-
-  len = strlen (sym->name);
-  if ((bfd_bwrite (&len, (bfd_size_type) sizeof (bfd_byte), abfd)
-       != sizeof (bfd_byte))
-      || bfd_bwrite (sym->name, (bfd_size_type) len, abfd) != len)
-    return FALSE;
-
-  bfd_put_32 (abfd, count, temp);
-  if (bfd_bwrite (temp, (bfd_size_type) sizeof (temp), abfd) != sizeof (temp))
-    return FALSE;
-
-  for (i = 0; i < count; i++)
-    if (! nlm_i386_write_import (abfd, relocs[i].sec, relocs[i].rel))
-      return FALSE;
-
-  return TRUE;
-}
-
-#include "nlmswap.h"
-
-static const struct nlm_backend_data nlm32_i386_backend =
-{
-  "NetWare Loadable Module\032",
-  sizeof (Nlm32_i386_External_Fixed_Header),
-  0,	/* Optional_prefix_size.  */
-  bfd_arch_i386,
-  0,
-  FALSE,
-  0,	/* Backend_object_p.  */
-  0,	/* Write_prefix_func.  */
-  nlm_i386_read_reloc,
-  nlm_i386_mangle_relocs,
-  nlm_i386_read_import,
-  nlm_i386_write_import,
-  0,	/* Set_public_section.  */
-  0,	/* Set_public_offset.  */
-  nlm_swap_fixed_header_in,
-  nlm_swap_fixed_header_out,
-  nlm_i386_write_external,
-  0,	/* Write_export.  */
-};
-
-#define TARGET_LITTLE_NAME		"nlm32-i386"
-#define TARGET_LITTLE_SYM		i386_nlm32_vec
-#define TARGET_BACKEND_DATA		& nlm32_i386_backend
-
-#include "nlm-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm32-ppc.c ./bfd/nlm32-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm32-ppc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/nlm32-ppc.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,986 +0,0 @@
-/* Support for 32-bit PowerPC NLM (NetWare Loadable Module)
-   Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-/* The format of a PowerPC NLM changed.  Define OLDFORMAT to get the
-   old format.  */
-
-#define ARCH_SIZE 32
-
-#include "nlm/ppc-ext.h"
-#define Nlm_External_Fixed_Header	Nlm32_powerpc_External_Fixed_Header
-
-#include "libnlm.h"
-
-#ifdef OLDFORMAT
-
-/* The prefix header is only used in the old format.  */
-
-/* PowerPC NLM's have a prefix header before the standard NLM.  This
-   function reads it in, verifies the version, and seeks the bfd to
-   the location before the regular NLM header.  */
-
-static bfd_boolean
-nlm_powerpc_backend_object_p (bfd *abfd)
-{
-  struct nlm32_powerpc_external_prefix_header s;
-
-  if (bfd_bread (& s, (bfd_size_type) sizeof s, abfd) != sizeof s)
-    return FALSE;
-
-  if (memcmp (s.signature, NLM32_POWERPC_SIGNATURE, sizeof s.signature) != 0
-      || H_GET_32 (abfd, s.headerVersion) != NLM32_POWERPC_HEADER_VERSION)
-    return FALSE;
-
-  return TRUE;
-}
-
-/* Write out the prefix.  */
-
-static bfd_boolean
-nlm_powerpc_write_prefix (bfd *abfd)
-{
-  struct nlm32_powerpc_external_prefix_header s;
-
-  memset (&s, 0, sizeof s);
-  memcpy (s.signature, NLM32_POWERPC_SIGNATURE, sizeof s.signature);
-  H_PUT_32 (abfd, NLM32_POWERPC_HEADER_VERSION, s.headerVersion);
-  H_PUT_32 (abfd, 0, s.origins);
-
-  /* FIXME: What should we do about the date?  */
-
-  if (bfd_bwrite (& s, (bfd_size_type) sizeof s, abfd) != sizeof s)
-    return FALSE;
-
-  return TRUE;
-}
-
-/* This reloc handling is only applicable to the old format.  */
-
-/* How to process the various reloc types.  PowerPC NLMs use XCOFF
-   reloc types, and I have just copied the XCOFF reloc table here.  */
-
-static reloc_howto_type nlm_powerpc_howto_table[] =
-{
-  /* Standard 32 bit relocation.  */
-  HOWTO (0,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_POS",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* 32 bit relocation, but store negative value.  */
-  HOWTO (1,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 -2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_NEG",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* 32 bit PC relative relocation.  */
-  HOWTO (2,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 TRUE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_signed, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_REL",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* 16 bit TOC relative relocation.  */
-  HOWTO (3,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 1,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_signed, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_TOC",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* I don't really know what this is.  */
-  HOWTO (4,			/* Type.  */
-	 1,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_RTB",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* External TOC relative symbol.  */
-  HOWTO (5,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_GL",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* Local TOC relative symbol.  */
-  HOWTO (6,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_TCL",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  { 7 },
-
-  /* Non modifiable absolute branch.  */
-  HOWTO (8,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 26,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_BA",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0x3fffffc,		/* Source mask.  */
-	 0x3fffffc,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  { 9 },
-
-  /* Non modifiable relative branch.  */
-  HOWTO (0xa,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 26,			/* Bitsize.  */
-	 TRUE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_signed, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_BR",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0x3fffffc,		/* Source mask.  */
-	 0x3fffffc,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  { 0xb },
-
-  /* Indirect load.  */
-  HOWTO (0xc,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_RL",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* Load address.  */
-  HOWTO (0xd,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_RLA",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  { 0xe },
-
-  /* Non-relocating reference.  */
-  HOWTO (0xf,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_REF",		/* Name.  */
-	 FALSE,			/* Partial_inplace.  */
-	 0,			/* Source mask.  */
-	 0,			/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  { 0x10 },
-  { 0x11 },
-
-  /* TOC relative indirect load.  */
-  HOWTO (0x12,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_TRL",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* TOC relative load address.  */
-  HOWTO (0x13,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_TRLA",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* Modifiable relative branch.  */
-  HOWTO (0x14,			/* Type.  */
-	 1,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_RRTBI",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* Modifiable absolute branch.  */
-  HOWTO (0x15,			/* Type.  */
-	 1,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_RRTBA",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* Modifiable call absolute indirect.  */
-  HOWTO (0x16,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_CAI",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* Modifiable call relative.  */
-  HOWTO (0x17,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_REL",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* Modifiable branch absolute.  */
-  HOWTO (0x18,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_RBA",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* Modifiable branch absolute.  */
-  HOWTO (0x19,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_RBAC",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* Modifiable branch relative.  */
-  HOWTO (0x1a,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 26,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_signed, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_REL",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE),		/* PC rel offset.  */
-
-  /* Modifiable branch absolute.  */
-  HOWTO (0x1b,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "R_REL",		/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffff,		/* Source mask.  */
-	 0xffff,		/* Dest mask.  */
-	 FALSE)			/* PC rel offset.  */
-};
-
-#define HOWTO_COUNT (sizeof nlm_powerpc_howto_table		\
-		     / sizeof nlm_powerpc_howto_table[0])
-
-/* Read a PowerPC NLM reloc.  */
-
-static bfd_boolean
-nlm_powerpc_read_reloc (bfd *abfd,
-			nlmNAME (symbol_type) *sym,
-			asection **secp,
-			arelent *rel)
-{
-  struct nlm32_powerpc_external_reloc ext;
-  bfd_vma l_vaddr;
-  unsigned long l_symndx;
-  int l_rtype;
-  int l_rsecnm;
-  asection *code_sec, *data_sec, *bss_sec;
-
-  /* Read the reloc from the file.  */
-  if (bfd_bread (&ext, (bfd_size_type) sizeof ext, abfd) != sizeof ext)
-    return FALSE;
-
-  /* Swap in the fields.  */
-  l_vaddr = H_GET_32 (abfd, ext.l_vaddr);
-  l_symndx = H_GET_32 (abfd, ext.l_symndx);
-  l_rtype = H_GET_16 (abfd, ext.l_rtype);
-  l_rsecnm = H_GET_16 (abfd, ext.l_rsecnm);
-
-  /* Get the sections now, for convenience.  */
-  code_sec = bfd_get_section_by_name (abfd, NLM_CODE_NAME);
-  data_sec = bfd_get_section_by_name (abfd, NLM_INITIALIZED_DATA_NAME);
-  bss_sec = bfd_get_section_by_name (abfd, NLM_UNINITIALIZED_DATA_NAME);
-
-  /* Work out the arelent fields.  */
-  if (sym != NULL)
-    /* This is an import.  sym_ptr_ptr is filled in by
-       nlm_canonicalize_reloc.  */
-    rel->sym_ptr_ptr = NULL;
-  else
-    {
-      asection *sec;
-
-      if (l_symndx == 0)
-	sec = code_sec;
-      else if (l_symndx == 1)
-	sec = data_sec;
-      else if (l_symndx == 2)
-	sec = bss_sec;
-      else
-	{
-	  bfd_set_error (bfd_error_bad_value);
-	  return FALSE;
-	}
-
-      rel->sym_ptr_ptr = sec->symbol_ptr_ptr;
-    }
-
-  rel->addend = 0;
-
-  BFD_ASSERT ((l_rtype & 0xff) < HOWTO_COUNT);
-
-  rel->howto = nlm_powerpc_howto_table + (l_rtype & 0xff);
-
-  BFD_ASSERT (rel->howto->name != NULL
-	      && ((l_rtype & 0x8000) != 0
-		  ? (rel->howto->complain_on_overflow
-		     == complain_overflow_signed)
-		  : (rel->howto->complain_on_overflow
-		     == complain_overflow_bitfield))
-	      && ((l_rtype >> 8) & 0x1f) == rel->howto->bitsize - 1);
-
-  if (l_rsecnm == 0)
-    *secp = code_sec;
-  else if (l_rsecnm == 1)
-    {
-      *secp = data_sec;
-      l_vaddr -= code_sec->size;
-    }
-  else
-    {
-      bfd_set_error (bfd_error_bad_value);
-      return FALSE;
-    }
-
-  rel->address = l_vaddr;
-
-  return TRUE;
-}
-
-#else /* not OLDFORMAT */
-
-/* There is only one type of reloc in a PowerPC NLM.  */
-
-static reloc_howto_type nlm_powerpc_howto =
-  HOWTO (0,			/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC relative.  */
-	 0,			/* Bitpos.  */
-	 complain_overflow_bitfield, /* Complain_on_overflow.  */
-	 0,			/* Special_function.  */
-	 "32",			/* Name.  */
-	 TRUE,			/* Partial_inplace.  */
-	 0xffffffff,		/* Source mask.  */
-	 0xffffffff,		/* Dest mask.  */
-	 FALSE);		/* PC rel_offset.  */
-
-/* Read a PowerPC NLM reloc.  */
-
-static bfd_boolean
-nlm_powerpc_read_reloc (bfd *abfd,
-			nlmNAME (symbol_type) *sym,
-			asection **secp,
-			arelent *rel)
-{
-  bfd_byte temp[4];
-  bfd_vma val;
-  const char *name;
-
-  if (bfd_bread (temp, (bfd_size_type) sizeof (temp), abfd) != sizeof (temp))
-    return FALSE;
-
-  val = bfd_get_32 (abfd, temp);
-
-  /* The value is a word offset into either the code or data segment.
-     This is the location which needs to be adjusted.
-
-     The high bit is 0 if the value is an offset into the data
-     segment, or 1 if the value is an offset into the text segment.
-
-     If this is a relocation fixup rather than an imported symbol (the
-     sym argument is NULL), then the second most significant bit is 0
-     if the address of the data segment should be added to the
-     location addressed by the value, or 1 if the address of the text
-     segment should be added.
-
-     If this is an imported symbol, the second most significant bit is
-     not used and must be 0.  */
-
-  if ((val & NLM_HIBIT) == 0)
-    name = NLM_INITIALIZED_DATA_NAME;
-  else
-    {
-      name = NLM_CODE_NAME;
-      val &=~ NLM_HIBIT;
-    }
-  *secp = bfd_get_section_by_name (abfd, name);
-
-  if (sym == NULL)
-    {
-      if ((val & (NLM_HIBIT >> 1)) == 0)
-	name = NLM_INITIALIZED_DATA_NAME;
-      else
-	{
-	  name = NLM_CODE_NAME;
-	  val &=~ (NLM_HIBIT >> 1);
-	}
-      rel->sym_ptr_ptr = bfd_get_section_by_name (abfd, name)->symbol_ptr_ptr;
-    }
-
-  rel->howto   = & nlm_powerpc_howto;
-  rel->address = val << 2;
-  rel->addend  = 0;
-
-  return TRUE;
-}
-
-#endif /* not OLDFORMAT */
-
-/* Mangle PowerPC NLM relocs for output.  */
-
-static bfd_boolean
-nlm_powerpc_mangle_relocs (bfd *abfd ATTRIBUTE_UNUSED,
-			   asection *sec ATTRIBUTE_UNUSED,
-			   const void * data ATTRIBUTE_UNUSED,
-			   bfd_vma offset ATTRIBUTE_UNUSED,
-			   bfd_size_type count ATTRIBUTE_UNUSED)
-{
-  return TRUE;
-}
-
-/* Read a PowerPC NLM import record */
-
-static bfd_boolean
-nlm_powerpc_read_import (bfd * abfd, nlmNAME (symbol_type) * sym)
-{
-  struct nlm_relent *nlm_relocs;	/* Relocation records for symbol.  */
-  bfd_size_type rcount;			/* Number of relocs.  */
-  bfd_byte temp[NLM_TARGET_LONG_SIZE];	/* Temporary 32-bit value.  */
-  unsigned char symlength;		/* Length of symbol name.  */
-  char *name;
-
-  if (bfd_bread (& symlength, (bfd_size_type) sizeof (symlength), abfd)
-      != sizeof (symlength))
-    return FALSE;
-  sym -> symbol.the_bfd = abfd;
-  name = bfd_alloc (abfd, (bfd_size_type) symlength + 1);
-  if (name == NULL)
-    return FALSE;
-  if (bfd_bread (name, (bfd_size_type) symlength, abfd) != symlength)
-    return FALSE;
-  name[symlength] = '\0';
-  sym -> symbol.name = name;
-  sym -> symbol.flags = 0;
-  sym -> symbol.value = 0;
-  sym -> symbol.section = bfd_und_section_ptr;
-  if (bfd_bread (temp, (bfd_size_type) sizeof (temp), abfd)
-      != sizeof (temp))
-    return FALSE;
-  rcount = H_GET_32 (abfd, temp);
-  nlm_relocs = bfd_alloc (abfd, rcount * sizeof (struct nlm_relent));
-  if (nlm_relocs == NULL)
-    return FALSE;
-  sym -> relocs = nlm_relocs;
-  sym -> rcnt = 0;
-  while (sym -> rcnt < rcount)
-    {
-      asection *section;
-
-      if (! nlm_powerpc_read_reloc (abfd, sym, &section, &nlm_relocs -> reloc))
-	return FALSE;
-      nlm_relocs -> section = section;
-      nlm_relocs++;
-      sym -> rcnt++;
-    }
-  return TRUE;
-}
-
-#ifndef OLDFORMAT
-
-/* Write a PowerPC NLM reloc.  */
-
-static bfd_boolean
-nlm_powerpc_write_import (bfd * abfd, asection * sec, arelent * rel)
-{
-  asymbol *sym;
-  bfd_vma val;
-  bfd_byte temp[4];
-
-  /* PowerPC NetWare only supports one kind of reloc.  */
-  if (rel->addend != 0
-      || rel->howto == NULL
-      || rel->howto->rightshift != 0
-      || rel->howto->size != 2
-      || rel->howto->bitsize != 32
-      || rel->howto->bitpos != 0
-      || rel->howto->pc_relative
-      || (rel->howto->src_mask != 0xffffffff && rel->addend != 0)
-      || rel->howto->dst_mask != 0xffffffff)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return FALSE;
-    }
-
-  sym = *rel->sym_ptr_ptr;
-
-  /* The value we write out is the offset into the appropriate
-     segment, rightshifted by two.  This offset is the section vma,
-     adjusted by the vma of the lowest section in that segment, plus
-     the address of the relocation.  */
-  val = bfd_get_section_vma (abfd, sec) + rel->address;
-  if ((val & 3) != 0)
-    {
-      bfd_set_error (bfd_error_bad_value);
-      return FALSE;
-    }
-  val >>= 2;
-
-  /* The high bit is 0 if the reloc is in the data section, or 1 if
-     the reloc is in the code section.  */
-  if (bfd_get_section_flags (abfd, sec) & SEC_DATA)
-    val -= nlm_get_data_low (abfd);
-  else
-    {
-      val -= nlm_get_text_low (abfd);
-      val |= NLM_HIBIT;
-    }
-
-  if (! bfd_is_und_section (bfd_get_section (sym)))
-    {
-      /* This is an internal relocation fixup.  The second most
-	 significant bit is 0 if this is a reloc against the data
-	 segment, or 1 if it is a reloc against the text segment.  */
-      if (bfd_get_section_flags (abfd, bfd_get_section (sym)) & SEC_CODE)
-	val |= NLM_HIBIT >> 1;
-    }
-
-  bfd_put_32 (abfd, val, temp);
-  if (bfd_bwrite (temp, (bfd_size_type) sizeof (temp), abfd) != sizeof (temp))
-    return FALSE;
-
-  return TRUE;
-}
-
-#else /* OLDFORMAT */
-
-/* This is used for the reloc handling in the old format.  */
-
-/* Write a PowerPC NLM reloc.  */
-
-static bfd_boolean
-nlm_powerpc_write_reloc (bfd *abfd,
-			 asection *sec,
-			 arelent *rel,
-			 int indx)
-{
-  struct nlm32_powerpc_external_reloc ext;
-  asection *code_sec, *data_sec, *bss_sec;
-  asymbol *sym;
-  asection *symsec;
-  unsigned long l_symndx;
-  int l_rtype;
-  int l_rsecnm;
-  reloc_howto_type *howto;
-  bfd_size_type address;
-
-  /* Get the sections now, for convenience.  */
-  code_sec = bfd_get_section_by_name (abfd, NLM_CODE_NAME);
-  data_sec = bfd_get_section_by_name (abfd, NLM_INITIALIZED_DATA_NAME);
-  bss_sec = bfd_get_section_by_name (abfd, NLM_UNINITIALIZED_DATA_NAME);
-
-  sym = *rel->sym_ptr_ptr;
-  symsec = bfd_get_section (sym);
-  if (indx != -1)
-    {
-      BFD_ASSERT (bfd_is_und_section (symsec));
-      l_symndx = indx + 3;
-    }
-  else
-    {
-      if (symsec == code_sec)
-	l_symndx = 0;
-      else if (symsec == data_sec)
-	l_symndx = 1;
-      else if (symsec == bss_sec)
-	l_symndx = 2;
-      else
-	{
-	  bfd_set_error (bfd_error_bad_value);
-	  return FALSE;
-	}
-    }
-
-  H_PUT_32 (abfd, l_symndx, ext.l_symndx);
-
-  for (howto = nlm_powerpc_howto_table;
-       howto < nlm_powerpc_howto_table + HOWTO_COUNT;
-       howto++)
-    {
-      if (howto->rightshift == rel->howto->rightshift
-	  && howto->size == rel->howto->size
-	  && howto->bitsize == rel->howto->bitsize
-	  && howto->pc_relative == rel->howto->pc_relative
-	  && howto->bitpos == rel->howto->bitpos
-	  && (howto->partial_inplace == rel->howto->partial_inplace
-	      || (! rel->howto->partial_inplace
-		  && rel->addend == 0))
-	  && (howto->src_mask == rel->howto->src_mask
-	      || (rel->howto->src_mask == 0
-		  && rel->addend == 0))
-	  && howto->dst_mask == rel->howto->dst_mask
-	  && howto->pcrel_offset == rel->howto->pcrel_offset)
-	break;
-    }
-  if (howto >= nlm_powerpc_howto_table + HOWTO_COUNT)
-    {
-      bfd_set_error (bfd_error_bad_value);
-      return FALSE;
-    }
-
-  l_rtype = howto->type;
-  if (howto->complain_on_overflow == complain_overflow_signed)
-    l_rtype |= 0x8000;
-  l_rtype |= (howto->bitsize - 1) << 8;
-  H_PUT_16 (abfd, l_rtype, ext.l_rtype);
-
-  address = rel->address;
-
-  if (sec == code_sec)
-    l_rsecnm = 0;
-  else if (sec == data_sec)
-    {
-      l_rsecnm = 1;
-      address += code_sec->size;
-    }
-  else
-    {
-      bfd_set_error (bfd_error_bad_value);
-      return FALSE;
-    }
-
-  H_PUT_16 (abfd, l_rsecnm, ext.l_rsecnm);
-  H_PUT_32 (abfd, address, ext.l_vaddr);
-
-  if (bfd_bwrite (&ext, (bfd_size_type) sizeof ext, abfd) != sizeof ext)
-    return FALSE;
-
-  return TRUE;
-}
-
-/* Write a PowerPC NLM import.  */
-
-static bfd_boolean
-nlm_powerpc_write_import (bfd * abfd, asection * sec, arelent * rel)
-{
-  return nlm_powerpc_write_reloc (abfd, sec, rel, -1);
-}
-
-#endif /* OLDFORMAT */
-
-/* Write a PowerPC NLM external symbol.  This routine keeps a static
-   count of the symbol index.  FIXME: I don't know if this is
-   necessary, and the index never gets reset.  */
-
-static bfd_boolean
-nlm_powerpc_write_external (bfd *abfd,
-			    bfd_size_type count,
-			    asymbol *sym,
-			    struct reloc_and_sec *relocs)
-{
-  unsigned int i;
-  bfd_byte len;
-  unsigned char temp[NLM_TARGET_LONG_SIZE];
-#ifdef OLDFORMAT
-  static int indx;
-#endif
-
-  len = strlen (sym->name);
-  if ((bfd_bwrite (&len, (bfd_size_type) sizeof (bfd_byte), abfd)
-       != sizeof (bfd_byte))
-      || bfd_bwrite (sym->name, (bfd_size_type) len, abfd) != len)
-    return FALSE;
-
-  bfd_put_32 (abfd, count, temp);
-  if (bfd_bwrite (temp, (bfd_size_type) sizeof (temp), abfd) != sizeof (temp))
-    return FALSE;
-
-  for (i = 0; i < count; i++)
-    {
-#ifndef OLDFORMAT
-      if (! nlm_powerpc_write_import (abfd, relocs[i].sec, relocs[i].rel))
-	return FALSE;
-#else
-      if (! nlm_powerpc_write_reloc (abfd, relocs[i].sec,
-				     relocs[i].rel, indx))
-	return FALSE;
-#endif
-    }
-
-#ifdef OLDFORMAT
-  ++indx;
-#endif
-
-  return TRUE;
-}
-
-#ifndef OLDFORMAT
-
-/* PowerPC Netware uses a word offset, not a byte offset, for public
-   symbols.  */
-
-/* Set the section for a public symbol.  */
-
-static bfd_boolean
-nlm_powerpc_set_public_section (bfd *abfd, nlmNAME (symbol_type) *sym)
-{
-  if (sym->symbol.value & NLM_HIBIT)
-    {
-      sym->symbol.value &= ~NLM_HIBIT;
-      sym->symbol.flags |= BSF_FUNCTION;
-      sym->symbol.section =
-	bfd_get_section_by_name (abfd, NLM_CODE_NAME);
-    }
-  else
-    sym->symbol.section =
-      bfd_get_section_by_name (abfd, NLM_INITIALIZED_DATA_NAME);
-
-  sym->symbol.value <<= 2;
-
-  return TRUE;
-}
-
-/* Get the offset to write out for a public symbol.  */
-
-static bfd_vma
-nlm_powerpc_get_public_offset (bfd *abfd, asymbol *sym)
-{
-  bfd_vma offset;
-  asection *sec;
-
-  offset = bfd_asymbol_value (sym);
-  sec = bfd_get_section (sym);
-  if (sec->flags & SEC_CODE)
-    {
-      offset -= nlm_get_text_low (abfd);
-      offset |= NLM_HIBIT;
-    }
-  else if (sec->flags & (SEC_DATA | SEC_ALLOC))
-    {
-      /* SEC_ALLOC is for the .bss section.  */
-      offset -= nlm_get_data_low (abfd);
-    }
-  else
-    {
-      /* We can't handle an exported symbol that is not in the code or
-	 data segment.  */
-      bfd_set_error (bfd_error_invalid_operation);
-      /* FIXME: No way to return error.  */
-      abort ();
-    }
-
-  return offset;
-}
-
-#endif /* ! defined (OLDFORMAT) */
-
-#include "nlmswap.h"
-
-static const struct nlm_backend_data nlm32_powerpc_backend =
-{
-  "NetWare PowerPC Module \032",
-  sizeof (Nlm32_powerpc_External_Fixed_Header),
-#ifndef OLDFORMAT
-  0,	/* Optional_prefix_size.  */
-#else
-  sizeof (struct nlm32_powerpc_external_prefix_header),
-#endif
-  bfd_arch_powerpc,
-  0,
-  FALSE,
-#ifndef OLDFORMAT
-  0,	/* Backend_object_p.  */
-  0,	/* Write_prefix.  */
-#else
-  nlm_powerpc_backend_object_p,
-  nlm_powerpc_write_prefix,
-#endif
-  nlm_powerpc_read_reloc,
-  nlm_powerpc_mangle_relocs,
-  nlm_powerpc_read_import,
-  nlm_powerpc_write_import,
-#ifndef OLDFORMAT
-  nlm_powerpc_set_public_section,
-  nlm_powerpc_get_public_offset,
-#else
-  0,	/* Set_public_section.  */
-  0,	/* Get_public_offset.  */
-#endif
-  nlm_swap_fixed_header_in,
-  nlm_swap_fixed_header_out,
-  nlm_powerpc_write_external,
-  0,	/* Write_export.  */
-};
-
-#define TARGET_BIG_NAME			"nlm32-powerpc"
-#define TARGET_BIG_SYM			powerpc_nlm32_vec
-#define TARGET_BACKEND_DATA		& nlm32_powerpc_backend
-
-#include "nlm-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm32-sparc.c ./bfd/nlm32-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm32-sparc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/nlm32-sparc.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,378 +0,0 @@
-/* Support for 32-bit SPARC NLM (NetWare Loadable Module)
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-#define ARCH_SIZE 32
-
-#include "nlm/sparc32-ext.h"
-#define Nlm_External_Fixed_Header	Nlm32_sparc_External_Fixed_Header
-
-#include "libnlm.h"
-
-enum reloc_type
-{
-  R_SPARC_NONE = 0,
-  R_SPARC_8,		R_SPARC_16,		R_SPARC_32,
-  R_SPARC_DISP8,	R_SPARC_DISP16,		R_SPARC_DISP32,
-  R_SPARC_WDISP30,	R_SPARC_WDISP22,
-  R_SPARC_HI22,		R_SPARC_22,
-  R_SPARC_13,		R_SPARC_LO10,
-  R_SPARC_GOT10,	R_SPARC_GOT13,		R_SPARC_GOT22,
-  R_SPARC_PC10,		R_SPARC_PC22,
-  R_SPARC_WPLT30,
-  R_SPARC_COPY,
-  R_SPARC_GLOB_DAT,	R_SPARC_JMP_SLOT,
-  R_SPARC_RELATIVE,
-  R_SPARC_UA32,
-  R_SPARC_max
-};
-
-static reloc_howto_type nlm32_sparc_howto_table[] =
-{
-  HOWTO (R_SPARC_NONE,    0,3, 0,FALSE,0,complain_overflow_dont,    0,"R_SPARC_NONE",    FALSE,0,0x00000000,TRUE),
-  HOWTO (R_SPARC_8,       0,0, 8,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_8",       FALSE,0,0x000000ff,TRUE),
-  HOWTO (R_SPARC_16,      0,1,16,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_16",      FALSE,0,0x0000ffff,TRUE),
-  HOWTO (R_SPARC_32,      0,2,32,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_32",      FALSE,0,0xffffffff,TRUE),
-  HOWTO (R_SPARC_DISP8,   0,0, 8,TRUE, 0,complain_overflow_signed,  0,"R_SPARC_DISP8",   FALSE,0,0x000000ff,TRUE),
-  HOWTO (R_SPARC_DISP16,  0,1,16,TRUE, 0,complain_overflow_signed,  0,"R_SPARC_DISP16",  FALSE,0,0x0000ffff,TRUE),
-  HOWTO (R_SPARC_DISP32,  0,2,32,TRUE, 0,complain_overflow_signed,  0,"R_SPARC_DISP32",  FALSE,0,0x00ffffff,TRUE),
-  HOWTO (R_SPARC_WDISP30, 2,2,30,TRUE, 0,complain_overflow_signed,  0,"R_SPARC_WDISP30", FALSE,0,0x3fffffff,TRUE),
-  HOWTO (R_SPARC_WDISP22, 2,2,22,TRUE, 0,complain_overflow_signed,  0,"R_SPARC_WDISP22", FALSE,0,0x003fffff,TRUE),
-  HOWTO (R_SPARC_HI22,   10,2,22,FALSE,0,complain_overflow_dont,    0,"R_SPARC_HI22",    FALSE,0,0x003fffff,TRUE),
-  HOWTO (R_SPARC_22,      0,2,22,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_22",      FALSE,0,0x003fffff,TRUE),
-  HOWTO (R_SPARC_13,      0,2,13,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_13",      FALSE,0,0x00001fff,TRUE),
-  HOWTO (R_SPARC_LO10,    0,2,10,FALSE,0,complain_overflow_dont,    0,"R_SPARC_LO10",    FALSE,0,0x000003ff,TRUE),
-  HOWTO (R_SPARC_GOT10,   0,2,10,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_GOT10",   FALSE,0,0x000003ff,TRUE),
-  HOWTO (R_SPARC_GOT13,   0,2,13,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_GOT13",   FALSE,0,0x00001fff,TRUE),
-  HOWTO (R_SPARC_GOT22,  10,2,22,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_GOT22",   FALSE,0,0x003fffff,TRUE),
-  HOWTO (R_SPARC_PC10,    0,2,10,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_PC10",    FALSE,0,0x000003ff,TRUE),
-  HOWTO (R_SPARC_PC22,    0,2,22,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_PC22",    FALSE,0,0x003fffff,TRUE),
-  HOWTO (R_SPARC_WPLT30,  0,0,00,FALSE,0,complain_overflow_dont,    0,"R_SPARC_WPLT30",  FALSE,0,0x00000000,TRUE),
-  HOWTO (R_SPARC_COPY,    0,0,00,FALSE,0,complain_overflow_dont,    0,"R_SPARC_COPY",    FALSE,0,0x00000000,TRUE),
-  HOWTO (R_SPARC_GLOB_DAT,0,0,00,FALSE,0,complain_overflow_dont,    0,"R_SPARC_GLOB_DAT",FALSE,0,0x00000000,TRUE),
-  HOWTO (R_SPARC_JMP_SLOT,0,0,00,FALSE,0,complain_overflow_dont,    0,"R_SPARC_JMP_SLOT",FALSE,0,0x00000000,TRUE),
-  HOWTO (R_SPARC_RELATIVE,0,0,00,FALSE,0,complain_overflow_dont,    0,"R_SPARC_RELATIVE",FALSE,0,0x00000000,TRUE),
-  HOWTO (R_SPARC_UA32,    0,0,00,FALSE,0,complain_overflow_dont,    0,"R_SPARC_UA32",    FALSE,0,0x00000000,TRUE),
-};
-
-/* Read a NetWare sparc reloc.  */
-
-struct nlm32_sparc_reloc_ext
-{
-  unsigned char offset[4];
-  unsigned char addend[4];
-  unsigned char type[1];
-  unsigned char pad1[3];
-};
-
-static bfd_boolean
-nlm_sparc_read_reloc (bfd *abfd,
-		      nlmNAME (symbol_type) *sym ATTRIBUTE_UNUSED,
-		      asection **secp,
-		      arelent *rel)
-{
-  bfd_vma val, addend;
-  unsigned int howto_index;
-  unsigned int type;
-  struct nlm32_sparc_reloc_ext tmp_reloc;
-  asection *code_sec;
-
-  if (bfd_bread (&tmp_reloc, (bfd_size_type) 12, abfd) != 12)
-    return FALSE;
-
-  code_sec = bfd_get_section_by_name (abfd, NLM_CODE_NAME);
-  *secp = code_sec;
-
-  val = bfd_get_32 (abfd, tmp_reloc.offset);
-  addend = bfd_get_32 (abfd, tmp_reloc.addend);
-  type = bfd_get_8 (abfd, tmp_reloc.type);
-
-  rel->address = val;
-  rel->addend = addend;
-  rel->howto = NULL;
-
-  for (howto_index = 0;
-       howto_index < sizeof (nlm32_sparc_howto_table) / sizeof (reloc_howto_type);
-       howto_index++)
-    if (nlm32_sparc_howto_table[howto_index].type == type)
-      {
-	rel->howto = &nlm32_sparc_howto_table[howto_index];
-	break;
-      }
-
-#ifdef DEBUG
-  fprintf (stderr, "%s:  address = %08lx, addend = %08lx, type = %u, howto = %p\n",
-	   __FUNCTION__, (unsigned long) rel->address,
-	   (unsigned long) rel->addend, type, rel->howto);
-#endif
-  return TRUE;
-
-}
-
-/* Write a NetWare sparc reloc.  */
-
-static bfd_boolean
-nlm_sparc_write_reloc (bfd * abfd, asection * sec, arelent * rel)
-{
-  bfd_vma val;
-  struct nlm32_sparc_reloc_ext tmp_reloc;
-  unsigned int howto_index;
-  int type = -1;
-  reloc_howto_type *tmp;
-
-  for (howto_index = 0;
-       howto_index < sizeof (nlm32_sparc_howto_table) / sizeof (reloc_howto_type);
-       howto_index++)
-    {
-      tmp = &nlm32_sparc_howto_table[howto_index];
-
-      if (tmp->rightshift == rel->howto->rightshift
-	  && tmp->size == rel->howto->size
-	  && tmp->bitsize == rel->howto->bitsize
-	  && tmp->pc_relative == rel->howto->pc_relative
-	  && tmp->bitpos == rel->howto->bitpos
-	  && tmp->src_mask == rel->howto->src_mask
-	  && tmp->dst_mask == rel->howto->dst_mask)
-	{
-	  type = tmp->type;
-	  break;
-	}
-    }
-  if (type == -1)
-    abort ();
-
-  /* Netware wants a list of relocs for each address.
-     Format is:
-	long	offset
-	long	addend
-	char	type
-     That should be it.  */
-
-  /* The value we write out is the offset into the appropriate
-     segment.  This offset is the section vma, adjusted by the vma of
-     the lowest section in that segment, plus the address of the
-     relocation.  */
-  val = bfd_get_section_vma (abfd, sec) + rel->address;
-
-#ifdef DEBUG
-  fprintf (stderr, "%s:  val = %08lx, addend = %08lx, type = %u\n",
-	   __FUNCTION__, (unsigned long) val, (unsigned long) rel->addend,
-	   rel->howto->type);
-#endif
-  bfd_put_32 (abfd, val, tmp_reloc.offset);
-  bfd_put_32 (abfd, rel->addend, tmp_reloc.addend);
-  bfd_put_8 (abfd, (short) (rel->howto->type), tmp_reloc.type);
-
-  if (bfd_bwrite (&tmp_reloc, (bfd_size_type) 12, abfd) != 12)
-    return FALSE;
-
-  return TRUE;
-}
-
-/* Mangle relocs for SPARC NetWare.  We can just use the standard
-   SPARC relocs.  */
-
-static bfd_boolean
-nlm_sparc_mangle_relocs (bfd *abfd ATTRIBUTE_UNUSED,
-			 asection *sec ATTRIBUTE_UNUSED,
-			 const void * data ATTRIBUTE_UNUSED,
-			 bfd_vma offset ATTRIBUTE_UNUSED,
-			 bfd_size_type count ATTRIBUTE_UNUSED)
-{
-  return TRUE;
-}
-
-/* Read a NetWare sparc import record.  */
-
-static bfd_boolean
-nlm_sparc_read_import (bfd *abfd, nlmNAME (symbol_type) *sym)
-{
-  struct nlm_relent *nlm_relocs;	/* Relocation records for symbol.  */
-  bfd_size_type rcount;			/* Number of relocs.  */
-  bfd_byte temp[NLM_TARGET_LONG_SIZE];	/* Temporary 32-bit value.  */
-  unsigned char symlength;		/* Length of symbol name.  */
-  char *name;
-
-  /* First, read in the number of relocation
-     entries for this symbol.  */
-  if (bfd_bread (temp, (bfd_size_type) 4, abfd) != 4)
-    return FALSE;
-
-  rcount = bfd_get_32 (abfd, temp);
-
-  /* Next, read in the length of the symbol.  */
-  if (bfd_bread (& symlength, (bfd_size_type) sizeof (symlength), abfd)
-      != sizeof (symlength))
-    return FALSE;
-  sym -> symbol.the_bfd = abfd;
-  name = bfd_alloc (abfd, (bfd_size_type) symlength + 1);
-  if (name == NULL)
-    return FALSE;
-
-  /* Then read in the symbol.  */
-  if (bfd_bread (name, (bfd_size_type) symlength, abfd) != symlength)
-    return FALSE;
-  name[symlength] = '\0';
-  sym -> symbol.name = name;
-  sym -> symbol.flags = 0;
-  sym -> symbol.value = 0;
-  sym -> symbol.section = bfd_und_section_ptr;
-
-  /* Next, start reading in the relocs.  */
-  nlm_relocs = bfd_alloc (abfd, rcount * sizeof (struct nlm_relent));
-  if (!nlm_relocs)
-    return FALSE;
-  sym -> relocs = nlm_relocs;
-  sym -> rcnt = 0;
-  while (sym -> rcnt < rcount)
-    {
-      asection *section;
-
-      if (! nlm_sparc_read_reloc (abfd, sym, &section, &nlm_relocs -> reloc))
-	return FALSE;
-      nlm_relocs -> section = section;
-      nlm_relocs++;
-      sym -> rcnt++;
-    }
-
-  return TRUE;
-}
-
-static bfd_boolean
-nlm_sparc_write_import (bfd * abfd, asection * sec, arelent * rel)
-{
-  char temp[4];
-  asection *code, *data, *bss, *symsec;
-  bfd_vma base;
-
-  code = bfd_get_section_by_name (abfd, NLM_CODE_NAME);
-  data = bfd_get_section_by_name (abfd, NLM_INITIALIZED_DATA_NAME);
-  bss = bfd_get_section_by_name (abfd, NLM_UNINITIALIZED_DATA_NAME);
-  symsec = (*rel->sym_ptr_ptr)->section;
-
-  if (symsec == code)
-    base = 0;
-  else if (symsec == data)
-    base = code->size;
-  else if (symsec == bss)
-    base = code->size + data->size;
-  else
-    base = 0;
-
-#ifdef DEBUG
-  fprintf (stderr, "%s:  <%lx, 1>\n\t",
-	   __FUNCTION__, (unsigned long) (base + (*rel->sym_ptr_ptr)->value));
-#endif
-  bfd_put_32 (abfd, base + (*rel->sym_ptr_ptr)->value, temp);
-  if (bfd_bwrite (temp, (bfd_size_type) 4, abfd) != 4)
-    return FALSE;
-  bfd_put_32 (abfd, (bfd_vma) 1, temp);
-  if (bfd_bwrite (temp, (bfd_size_type) 4, abfd) != 4)
-    return FALSE;
-  if (! nlm_sparc_write_reloc (abfd, sec, rel))
-    return FALSE;
-  return TRUE;
-}
-
-/* Write out an external reference.  */
-
-static bfd_boolean
-nlm_sparc_write_external (bfd *abfd,
-			  bfd_size_type count,
-			  asymbol *sym,
-			  struct reloc_and_sec *relocs)
-{
-  unsigned int i;
-  bfd_byte len;
-  unsigned char temp[NLM_TARGET_LONG_SIZE];
-
-  bfd_put_32 (abfd, count, temp);
-  if (bfd_bwrite (temp, (bfd_size_type) sizeof (temp), abfd) != sizeof (temp))
-    return FALSE;
-
-  len = strlen (sym->name);
-  if ((bfd_bwrite (&len, (bfd_size_type) sizeof (bfd_byte), abfd)
-       != sizeof (bfd_byte))
-      || bfd_bwrite (sym->name, (bfd_size_type) len, abfd) != len)
-    return FALSE;
-
-  for (i = 0; i < count; i++)
-    if (! nlm_sparc_write_reloc (abfd, relocs[i].sec, relocs[i].rel))
-      return FALSE;
-
-  return TRUE;
-}
-
-static bfd_boolean
-nlm_sparc_write_export (bfd * abfd, asymbol * sym, bfd_vma value)
-{
-  bfd_byte len;
-  bfd_byte temp[4];
-
-#ifdef DEBUG
-  fprintf (stderr, "%s: <%lx, %u, %s>\n",
-	   __FUNCTION__, (unsigned long) value, strlen (sym->name), sym->name);
-#endif
-  bfd_put_32 (abfd, value, temp);
-  len = strlen (sym->name);
-
-  if (bfd_bwrite (temp, (bfd_size_type) 4, abfd) != 4
-      || bfd_bwrite (&len, (bfd_size_type) 1, abfd) != 1
-      || bfd_bwrite (sym->name, (bfd_size_type) len, abfd) != len)
-    return FALSE;
-
-  return TRUE;
-}
-
-#undef nlm_swap_fixed_header_in
-#undef nlm_swap_fixed_header_out
-
-#include "nlmswap.h"
-
-static const struct nlm_backend_data nlm32_sparc_backend =
-{
-  "NetWare SPARC Module   \032",
-  sizeof (Nlm32_sparc_External_Fixed_Header),
-  0,	/* Optional_prefix_size.  */
-  bfd_arch_sparc,
-  0,
-  FALSE,
-  0,	/* Backend_object_p.  */
-  0,	/* Write_prefix_func.  */
-  nlm_sparc_read_reloc,
-  nlm_sparc_mangle_relocs,
-  nlm_sparc_read_import,
-  nlm_sparc_write_import,
-  0,	/* Set_public_section.  */
-  0,	/* Get_public_offset.  */
-  nlm_swap_fixed_header_in,
-  nlm_swap_fixed_header_out,
-  nlm_sparc_write_external,
-  nlm_sparc_write_export
-};
-
-#define TARGET_BIG_NAME		"nlm32-sparc"
-#define TARGET_BIG_SYM		sparc_nlm32_vec
-#define TARGET_BACKEND_DATA	& nlm32_sparc_backend
-
-#include "nlm-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm64.c ./bfd/nlm64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/nlm64.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,22 +0,0 @@
-/* NLM (NetWare Loadable Module) 64-bit executable support for BFD.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define ARCH_SIZE 64
-#include "nlmcode.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm.c ./bfd/nlm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/nlm.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,55 +0,0 @@
-/* NLM (NetWare Loadable Module) executable support for BFD.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "libnlm.h"
-
-/* Make an NLM object.  We just need to allocate the backend
-   information.  */
-
-bfd_boolean
-nlm_mkobject (bfd * abfd)
-{
-  bfd_size_type amt = sizeof (struct nlm_obj_tdata);
-
-  nlm_tdata (abfd) = bfd_zalloc (abfd, amt);
-  if (nlm_tdata (abfd) == NULL)
-    return FALSE;
-
-  if (nlm_architecture (abfd) != bfd_arch_unknown)
-    bfd_default_set_arch_mach (abfd, nlm_architecture (abfd),
-			       nlm_machine (abfd));
-
-  /* Since everything is done at close time, do we need any initialization ?  */
-  return TRUE;
-}
-
-/* Set the architecture and machine for an NLM object.  */
-
-bfd_boolean
-nlm_set_arch_mach (bfd * abfd,
-		   enum bfd_architecture arch,
-		   unsigned long machine)
-{
-  bfd_default_set_arch_mach (abfd, arch, machine);
-  return arch == nlm_architecture (abfd);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlmcode.h ./bfd/nlmcode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlmcode.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/nlmcode.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,1982 +0,0 @@
-/* NLM (NetWare Loadable Module) executable support for BFD.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   Written by Fred Fish @ Cygnus Support, using ELF support as the
-   template.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "libnlm.h"
-
-/* The functions in this file do not use the names they appear to use.
-   This file is actually compiled multiple times, once for each size
-   of NLM target we are using.  At each size we use a different name,
-   constructed by the macro nlmNAME.  For example, the function which
-   is named nlm_symbol_type below is actually named nlm32_symbol_type
-   in the final executable.  */
-
-#define Nlm_External_Fixed_Header	NlmNAME (External_Fixed_Header)
-#define Nlm_External_Version_Header	NlmNAME (External_Version_Header)
-#define Nlm_External_Copyright_Header	NlmNAME (External_Copyright_Header)
-#define Nlm_External_Extended_Header	NlmNAME (External_Extended_Header)
-#define Nlm_External_Custom_Header	NlmNAME (External_Custom_Header)
-#define Nlm_External_Cygnus_Ext_Header	NlmNAME (External_Cygnus_Ext_Header)
-
-#define nlm_symbol_type			nlmNAME (symbol_type)
-#define nlm_get_symtab_upper_bound	nlmNAME (get_symtab_upper_bound)
-#define nlm_canonicalize_symtab		nlmNAME (canonicalize_symtab)
-#define nlm_make_empty_symbol		nlmNAME (make_empty_symbol)
-#define nlm_print_symbol		nlmNAME (print_symbol)
-#define nlm_get_symbol_info		nlmNAME (get_symbol_info)
-#define nlm_get_reloc_upper_bound	nlmNAME (get_reloc_upper_bound)
-#define nlm_canonicalize_reloc		nlmNAME (canonicalize_reloc)
-#define nlm_object_p			nlmNAME (object_p)
-#define nlm_set_section_contents	nlmNAME (set_section_contents)
-#define nlm_write_object_contents	nlmNAME (write_object_contents)
-
-#define nlm_swap_fixed_header_in(abfd,src,dst) \
-  (nlm_swap_fixed_header_in_func (abfd)) (abfd, src, dst)
-#define nlm_swap_fixed_header_out(abfd,src,dst) \
-  (nlm_swap_fixed_header_out_func (abfd)) (abfd, src, dst)
-
-/* Should perhaps use put_offset, put_word, etc.  For now, the two versions
-   can be handled by explicitly specifying 32 bits or "the long type".  */
-#if ARCH_SIZE == 64
-#define put_word	H_PUT_64
-#define get_word	H_GET_64
-#endif
-#if ARCH_SIZE == 32
-#define put_word	H_PUT_32
-#define get_word	H_GET_32
-#endif
-
-/* Read and swap in the variable length header.  All the fields must
-   exist in the NLM, and must exist in the order they are read here.  */
-
-static bfd_boolean
-nlm_swap_variable_header_in (bfd *abfd)
-{
-  unsigned char temp[NLM_TARGET_LONG_SIZE];
-  bfd_size_type amt;
-
-  /* Read the description length and text members.  */
-  amt = sizeof (nlm_variable_header (abfd)->descriptionLength);
-  if (bfd_bread ((void *) &nlm_variable_header (abfd)->descriptionLength,
-		amt, abfd) != amt)
-    return FALSE;
-  amt = nlm_variable_header (abfd)->descriptionLength + 1;
-  if (bfd_bread ((void *) nlm_variable_header (abfd)->descriptionText,
-		amt, abfd) != amt)
-    return FALSE;
-
-  /* Read and convert the stackSize field.  */
-  amt = sizeof (temp);
-  if (bfd_bread ((void *) temp, amt, abfd) != amt)
-    return FALSE;
-  nlm_variable_header (abfd)->stackSize = get_word (abfd, (bfd_byte *) temp);
-
-  /* Read and convert the reserved field.  */
-  amt = sizeof (temp);
-  if (bfd_bread ((void *) temp, amt, abfd) != amt)
-    return FALSE;
-  nlm_variable_header (abfd)->reserved = get_word (abfd, (bfd_byte *) temp);
-
-  /* Read the oldThreadName field.  This field is a fixed length string.  */
-  amt = sizeof (nlm_variable_header (abfd)->oldThreadName);
-  if (bfd_bread ((void *) nlm_variable_header (abfd)->oldThreadName,
-		amt, abfd) != amt)
-    return FALSE;
-
-  /* Read the screen name length and text members.  */
-  amt = sizeof (nlm_variable_header (abfd)->screenNameLength);
-  if (bfd_bread ((void *) & nlm_variable_header (abfd)->screenNameLength,
-		amt, abfd) != amt)
-    return FALSE;
-  amt = nlm_variable_header (abfd)->screenNameLength + 1;
-  if (bfd_bread ((void *) nlm_variable_header (abfd)->screenName,
-		amt, abfd) != amt)
-    return FALSE;
-
-  /* Read the thread name length and text members.  */
-  amt = sizeof (nlm_variable_header (abfd)->threadNameLength);
-  if (bfd_bread ((void *) & nlm_variable_header (abfd)->threadNameLength,
-		amt, abfd) != amt)
-    return FALSE;
-  amt = nlm_variable_header (abfd)->threadNameLength + 1;
-  if (bfd_bread ((void *) nlm_variable_header (abfd)->threadName,
-		amt, abfd) != amt)
-    return FALSE;
-  return TRUE;
-}
-
-/* Add a section to the bfd.  */
-
-static bfd_boolean
-add_bfd_section (bfd *abfd,
-		 char *name,
-		 file_ptr offset,
-		 bfd_size_type size,
-		 flagword flags)
-{
-  asection *newsect;
-
-  newsect = bfd_make_section_with_flags (abfd, name, flags);
-  if (newsect == NULL)
-    return FALSE;
-
-  newsect->vma = 0;		/* NLM's are relocatable.  */
-  newsect->size = size;
-  newsect->filepos = offset;
-  newsect->alignment_power = bfd_log2 ((bfd_vma) 0);	/* FIXME */
-
-  return TRUE;
-}
-
-/* Read and swap in the contents of all the auxiliary headers.  Because of
-   the braindead design, we have to do strcmps on strings of indeterminate
-   length to figure out what each auxiliary header is.  Even worse, we have
-   no way of knowing how many auxiliary headers there are or where the end
-   of the auxiliary headers are, except by finding something that doesn't
-   look like a known auxiliary header.  This means that the first new type
-   of auxiliary header added will break all existing tools that don't
-   recognize it.  */
-
-static bfd_boolean
-nlm_swap_auxiliary_headers_in (bfd *abfd)
-{
-  char tempstr[16];
-  file_ptr position;
-  bfd_size_type amt;
-
-  for (;;)
-    {
-      position = bfd_tell (abfd);
-      amt = sizeof (tempstr);
-      if (bfd_bread ((void *) tempstr, amt, abfd) != amt)
-	return FALSE;
-      if (bfd_seek (abfd, position, SEEK_SET) != 0)
-	return FALSE;
-      if (CONST_STRNEQ (tempstr, "VeRsIoN#"))
-	{
-	  Nlm_External_Version_Header thdr;
-
-	  amt = sizeof (thdr);
-	  if (bfd_bread ((void *) &thdr, amt, abfd) != amt)
-	    return FALSE;
-	  memcpy (nlm_version_header (abfd)->stamp, thdr.stamp,
-		  sizeof (thdr.stamp));
-	  nlm_version_header (abfd)->majorVersion =
-	    get_word (abfd, (bfd_byte *) thdr.majorVersion);
-	  nlm_version_header (abfd)->minorVersion =
-	    get_word (abfd, (bfd_byte *) thdr.minorVersion);
-	  nlm_version_header (abfd)->revision =
-	    get_word (abfd, (bfd_byte *) thdr.revision);
-	  nlm_version_header (abfd)->year =
-	    get_word (abfd, (bfd_byte *) thdr.year);
-	  nlm_version_header (abfd)->month =
-	    get_word (abfd, (bfd_byte *) thdr.month);
-	  nlm_version_header (abfd)->day =
-	    get_word (abfd, (bfd_byte *) thdr.day);
-	}
-      else if (CONST_STRNEQ (tempstr, "MeSsAgEs"))
-	{
-	  Nlm_External_Extended_Header thdr;
-
-	  amt = sizeof (thdr);
-	  if (bfd_bread ((void *) &thdr, amt, abfd) != amt)
-	    return FALSE;
-	  memcpy (nlm_extended_header (abfd)->stamp, thdr.stamp,
-		  sizeof (thdr.stamp));
-	  nlm_extended_header (abfd)->languageID =
-	    get_word (abfd, (bfd_byte *) thdr.languageID);
-	  nlm_extended_header (abfd)->messageFileOffset =
-	    get_word (abfd, (bfd_byte *) thdr.messageFileOffset);
-	  nlm_extended_header (abfd)->messageFileLength =
-	    get_word (abfd, (bfd_byte *) thdr.messageFileLength);
-	  nlm_extended_header (abfd)->messageCount =
-	    get_word (abfd, (bfd_byte *) thdr.messageCount);
-	  nlm_extended_header (abfd)->helpFileOffset =
-	    get_word (abfd, (bfd_byte *) thdr.helpFileOffset);
-	  nlm_extended_header (abfd)->helpFileLength =
-	    get_word (abfd, (bfd_byte *) thdr.helpFileLength);
-	  nlm_extended_header (abfd)->RPCDataOffset =
-	    get_word (abfd, (bfd_byte *) thdr.RPCDataOffset);
-	  nlm_extended_header (abfd)->RPCDataLength =
-	    get_word (abfd, (bfd_byte *) thdr.RPCDataLength);
-	  nlm_extended_header (abfd)->sharedCodeOffset =
-	    get_word (abfd, (bfd_byte *) thdr.sharedCodeOffset);
-	  nlm_extended_header (abfd)->sharedCodeLength =
-	    get_word (abfd, (bfd_byte *) thdr.sharedCodeLength);
-	  nlm_extended_header (abfd)->sharedDataOffset =
-	    get_word (abfd, (bfd_byte *) thdr.sharedDataOffset);
-	  nlm_extended_header (abfd)->sharedDataLength =
-	    get_word (abfd, (bfd_byte *) thdr.sharedDataLength);
-	  nlm_extended_header (abfd)->sharedRelocationFixupOffset =
-	    get_word (abfd, (bfd_byte *) thdr.sharedRelocationFixupOffset);
-	  nlm_extended_header (abfd)->sharedRelocationFixupCount =
-	    get_word (abfd, (bfd_byte *) thdr.sharedRelocationFixupCount);
-	  nlm_extended_header (abfd)->sharedExternalReferenceOffset =
-	    get_word (abfd, (bfd_byte *) thdr.sharedExternalReferenceOffset);
-	  nlm_extended_header (abfd)->sharedExternalReferenceCount =
-	    get_word (abfd, (bfd_byte *) thdr.sharedExternalReferenceCount);
-	  nlm_extended_header (abfd)->sharedPublicsOffset =
-	    get_word (abfd, (bfd_byte *) thdr.sharedPublicsOffset);
-	  nlm_extended_header (abfd)->sharedPublicsCount =
-	    get_word (abfd, (bfd_byte *) thdr.sharedPublicsCount);
-	  nlm_extended_header (abfd)->sharedDebugRecordOffset =
-	    get_word (abfd, (bfd_byte *) thdr.sharedDebugRecordOffset);
-	  nlm_extended_header (abfd)->sharedDebugRecordCount =
-	    get_word (abfd, (bfd_byte *) thdr.sharedDebugRecordCount);
-	  nlm_extended_header (abfd)->SharedInitializationOffset =
-	    get_word (abfd, (bfd_byte *) thdr.sharedInitializationOffset);
-	  nlm_extended_header (abfd)->SharedExitProcedureOffset =
-	    get_word (abfd, (bfd_byte *) thdr.SharedExitProcedureOffset);
-	  nlm_extended_header (abfd)->productID =
-	    get_word (abfd, (bfd_byte *) thdr.productID);
-	  nlm_extended_header (abfd)->reserved0 =
-	    get_word (abfd, (bfd_byte *) thdr.reserved0);
-	  nlm_extended_header (abfd)->reserved1 =
-	    get_word (abfd, (bfd_byte *) thdr.reserved1);
-	  nlm_extended_header (abfd)->reserved2 =
-	    get_word (abfd, (bfd_byte *) thdr.reserved2);
-	  nlm_extended_header (abfd)->reserved3 =
-	    get_word (abfd, (bfd_byte *) thdr.reserved3);
-	  nlm_extended_header (abfd)->reserved4 =
-	    get_word (abfd, (bfd_byte *) thdr.reserved4);
-	  nlm_extended_header (abfd)->reserved5 =
-	    get_word (abfd, (bfd_byte *) thdr.reserved5);
-	}
-      else if (CONST_STRNEQ (tempstr, "CoPyRiGhT="))
-	{
-	  amt = sizeof (nlm_copyright_header (abfd)->stamp);
-	  if (bfd_bread ((void *) nlm_copyright_header (abfd)->stamp,
-			amt, abfd) != amt)
-	    return FALSE;
-	  if (bfd_bread ((void *) &(nlm_copyright_header (abfd)
-				->copyrightMessageLength),
-			(bfd_size_type) 1, abfd) != 1)
-	    return FALSE;
-	  /* The copyright message is a variable length string.  */
-	  amt = nlm_copyright_header (abfd)->copyrightMessageLength + 1;
-	  if (bfd_bread ((void *) nlm_copyright_header (abfd)->copyrightMessage,
-			amt, abfd) != amt)
-	    return FALSE;
-	}
-      else if (CONST_STRNEQ (tempstr, "CuStHeAd"))
-	{
-	  Nlm_External_Custom_Header thdr;
-	  bfd_size_type hdrLength;
-	  file_ptr dataOffset;
-	  bfd_size_type dataLength;
-	  char dataStamp[8];
-	  void * hdr;
-
-	  /* Read the stamp ("CuStHeAd").  */
-	  amt = sizeof (thdr.stamp);
-	  if (bfd_bread ((void *) thdr.stamp, amt, abfd) != amt)
-	    return FALSE;
-	  /* Read the length of this custom header.  */
-	  amt = sizeof (thdr.length);
-	  if (bfd_bread ((void *) thdr.length, amt, abfd) != amt)
-	    return FALSE;
-	  hdrLength = get_word (abfd, (bfd_byte *) thdr.length);
-	  /* Read further fields if we have them.  */
-	  if (hdrLength < NLM_TARGET_LONG_SIZE)
-	    dataOffset = 0;
-	  else
-	    {
-	      amt = sizeof (thdr.dataOffset);
-	      if (bfd_bread ((void *) thdr.dataOffset, amt, abfd) != amt)
-		return FALSE;
-	      dataOffset = get_word (abfd, (bfd_byte *) thdr.dataOffset);
-	    }
-	  if (hdrLength < 2 * NLM_TARGET_LONG_SIZE)
-	    dataLength = 0;
-	  else
-	    {
-	      amt = sizeof (thdr.dataLength);
-	      if (bfd_bread ((void *) thdr.dataLength, amt, abfd) != amt)
-		return FALSE;
-	      dataLength = get_word (abfd, (bfd_byte *) thdr.dataLength);
-	    }
-	  if (hdrLength < 2 * NLM_TARGET_LONG_SIZE + 8)
-	    memset (dataStamp, 0, sizeof (dataStamp));
-	  else
-	    {
-	      amt = sizeof (dataStamp);
-	      if (bfd_bread ((void *) dataStamp, amt, abfd) != amt)
-		return FALSE;
-	    }
-
-	  /* Read the rest of the header, if any.  */
-	  if (hdrLength <= 2 * NLM_TARGET_LONG_SIZE + 8)
-	    {
-	      hdr = NULL;
-	      hdrLength = 0;
-	    }
-	  else
-	    {
-	      hdrLength -= 2 * NLM_TARGET_LONG_SIZE + 8;
-	      hdr = bfd_alloc (abfd, hdrLength);
-	      if (hdr == NULL)
-		return FALSE;
-	      if (bfd_bread (hdr, hdrLength, abfd) != hdrLength)
-		return FALSE;
-	    }
-
-	  /* If we have found a Cygnus header, process it.  Otherwise,
-	     just save the associated data without trying to interpret
-	     it.  */
-	  if (CONST_STRNEQ (dataStamp, "CyGnUsEx"))
-	    {
-	      file_ptr pos;
-	      bfd_byte *contents;
-	      bfd_byte *p, *pend;
-
-	      /* See PR 21840 for a reproducer.  */
-	      if (hdrLength != 0 || hdr != NULL)
-		return FALSE;
-
-	      pos = bfd_tell (abfd);
-	      if (bfd_seek (abfd, dataOffset, SEEK_SET) != 0)
-		return FALSE;
-	      contents = bfd_alloc (abfd, dataLength);
-	      if (contents == NULL)
-		return FALSE;
-	      if (bfd_bread (contents, dataLength, abfd) != dataLength)
-		return FALSE;
-	      if (bfd_seek (abfd, pos, SEEK_SET) != 0)
-		return FALSE;
-
-	      LITMEMCPY (nlm_cygnus_ext_header (abfd), "CyGnUsEx");
-	      nlm_cygnus_ext_header (abfd)->offset = dataOffset;
-	      nlm_cygnus_ext_header (abfd)->length = dataLength;
-
-	      /* This data this header points to provides a list of
-		 the sections which were in the original object file
-		 which was converted to become an NLM.  We locate
-		 those sections and add them to the BFD.  Note that
-		 this is likely to create a second .text, .data and
-		 .bss section; retrieving the sections by name will
-		 get the actual NLM sections, which is what we want to
-		 happen.  The sections from the original file, which
-		 may be subsets of the NLM section, can only be found
-		 using bfd_map_over_sections.  */
-	      p = contents;
-	      pend = p + dataLength;
-	      while (p < pend)
-		{
-		  char *name;
-		  size_t l;
-		  file_ptr filepos;
-		  bfd_size_type size;
-		  asection *newsec;
-
-		  /* The format of this information is
-		     null terminated section name
-		     zeroes to adjust to 4 byte boundary
-		     4 byte section data file pointer
-		     4 byte section size.  */
-
-		  name = (char *) p;
-		  l = strlen (name) + 1;
-		  l = (l + 3) &~ (size_t) 3;
-		  p += l;
-		  filepos = H_GET_32 (abfd, p);
-		  p += 4;
-		  size = H_GET_32 (abfd, p);
-		  p += 4;
-
-		  newsec = bfd_make_section_anyway (abfd, name);
-		  if (newsec == NULL)
-		    return FALSE;
-		  newsec->size = size;
-		  if (filepos != 0)
-		    {
-		      newsec->filepos = filepos;
-		      newsec->flags |= SEC_HAS_CONTENTS;
-		    }
-		}
-	    }
-	  else
-	    {
-	      memcpy (nlm_custom_header (abfd)->stamp, thdr.stamp,
-		      sizeof (thdr.stamp));
-	      nlm_custom_header (abfd)->hdrLength = hdrLength;
-	      nlm_custom_header (abfd)->dataOffset = dataOffset;
-	      nlm_custom_header (abfd)->dataLength = dataLength;
-	      memcpy (nlm_custom_header (abfd)->dataStamp, dataStamp,
-		      sizeof (dataStamp));
-	      nlm_custom_header (abfd)->hdr = hdr;
-	    }
-	}
-      else
-	break;
-    }
-  return TRUE;
-}
-
-const bfd_target *
-nlm_object_p (bfd *abfd)
-{
-  struct nlm_obj_tdata *preserved_tdata = nlm_tdata (abfd);
-  bfd_boolean (*backend_object_p) (bfd *);
-  void * x_fxdhdr = NULL;
-  Nlm_Internal_Fixed_Header *i_fxdhdrp;
-  struct nlm_obj_tdata *new_tdata = NULL;
-  const char *signature;
-  enum bfd_architecture arch;
-  bfd_size_type amt;
-
-  /* Some NLM formats have a prefix before the standard NLM fixed
-     header.  */
-  backend_object_p = nlm_backend_object_p_func (abfd);
-  if (backend_object_p)
-    {
-      if (!(*backend_object_p) (abfd))
-	goto got_wrong_format_error;
-    }
-
-  /* Read in the fixed length portion of the NLM header in external format.  */
-  amt = nlm_fixed_header_size (abfd);
-  x_fxdhdr = bfd_malloc (amt);
-  if (x_fxdhdr == NULL)
-    goto got_no_match;
-
-  if (bfd_bread ((void *) x_fxdhdr, amt, abfd) != amt)
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-	goto got_wrong_format_error;
-      else
-	goto got_no_match;
-    }
-
-  /* Allocate an instance of the nlm_obj_tdata structure and hook it up to
-     the tdata pointer in the bfd.  */
-  amt = sizeof (struct nlm_obj_tdata);
-  new_tdata = bfd_zalloc (abfd, amt);
-  if (new_tdata == NULL)
-    goto got_no_match;
-
-  nlm_tdata (abfd) = new_tdata;
-
-  i_fxdhdrp = nlm_fixed_header (abfd);
-  nlm_swap_fixed_header_in (abfd, x_fxdhdr, i_fxdhdrp);
-  free (x_fxdhdr);
-  x_fxdhdr = NULL;
-
-  /* Check to see if we have an NLM file for this backend by matching
-     the NLM signature.  */
-  signature = nlm_signature (abfd);
-  if (signature != NULL
-      && *signature != '\0'
-      && strncmp ((char *) i_fxdhdrp->signature, signature,
-		  NLM_SIGNATURE_SIZE) != 0)
-    goto got_wrong_format_error;
-
-  /* There's no supported way to discover the endianness of an NLM, so test for
-     a sane version number after doing byte swapping appropriate for this
-     XVEC.  (Hack alert!)  */
-  if (i_fxdhdrp->version > 0xFFFF)
-    goto got_wrong_format_error;
-
-  /* There's no supported way to check for 32 bit versus 64 bit addresses,
-     so ignore this distinction for now.  (FIXME) */
-  /* Swap in the rest of the required header.  */
-  if (!nlm_swap_variable_header_in (abfd))
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-	goto got_wrong_format_error;
-      else
-	goto got_no_match;
-    }
-
-  /* Add the sections supplied by all NLM's, and then read in the
-     auxiliary headers.  Reading the auxiliary headers may create
-     additional sections described in the cygnus_ext header.
-     From this point on we assume that we have an NLM, and do not
-     treat errors as indicating the wrong format.  */
-  if (!add_bfd_section (abfd, NLM_CODE_NAME,
-			i_fxdhdrp->codeImageOffset,
-			i_fxdhdrp->codeImageSize,
-			(SEC_CODE | SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS
-			 | SEC_RELOC))
-      || !add_bfd_section (abfd, NLM_INITIALIZED_DATA_NAME,
-			   i_fxdhdrp->dataImageOffset,
-			   i_fxdhdrp->dataImageSize,
-			   (SEC_DATA | SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS
-			    | SEC_RELOC))
-      || !add_bfd_section (abfd, NLM_UNINITIALIZED_DATA_NAME,
-			   (file_ptr) 0,
-			   i_fxdhdrp->uninitializedDataSize,
-			   SEC_ALLOC))
-    goto got_no_match;
-
-  if (!nlm_swap_auxiliary_headers_in (abfd))
-    goto got_no_match;
-
-  if (nlm_fixed_header (abfd)->numberOfRelocationFixups != 0
-      || nlm_fixed_header (abfd)->numberOfExternalReferences != 0)
-    abfd->flags |= HAS_RELOC;
-  if (nlm_fixed_header (abfd)->numberOfPublics != 0
-      || nlm_fixed_header (abfd)->numberOfDebugRecords != 0
-      || nlm_fixed_header (abfd)->numberOfExternalReferences != 0)
-    abfd->flags |= HAS_SYMS;
-
-  arch = nlm_architecture (abfd);
-  if (arch != bfd_arch_unknown)
-    bfd_default_set_arch_mach (abfd, arch, (unsigned long) 0);
-
-  abfd->flags |= EXEC_P;
-  bfd_get_start_address (abfd) = nlm_fixed_header (abfd)->codeStartOffset;
-
-  return abfd->xvec;
-
-got_wrong_format_error:
-  bfd_set_error (bfd_error_wrong_format);
-got_no_match:
-  nlm_tdata (abfd) = preserved_tdata;
-  if (new_tdata != NULL)
-    bfd_release (abfd, new_tdata);
-  if (x_fxdhdr != NULL)
-    free (x_fxdhdr);
-
-  return NULL;
-}
-
-/* Swap and write out the variable length header.  All the fields must
-   exist in the NLM, and must exist in this order.  */
-
-static bfd_boolean
-nlm_swap_variable_header_out (bfd *abfd)
-{
-  bfd_byte temp[NLM_TARGET_LONG_SIZE];
-  bfd_size_type amt;
-
-  /* Write the description length and text members.  */
-  amt = sizeof (nlm_variable_header (abfd)->descriptionLength);
-  if (bfd_bwrite (& nlm_variable_header (abfd)->descriptionLength, amt,
-		  abfd) != amt)
-    return FALSE;
-  amt = nlm_variable_header (abfd)->descriptionLength + 1;
-  if (bfd_bwrite ((void *) nlm_variable_header (abfd)->descriptionText, amt,
-		  abfd) != amt)
-    return FALSE;
-
-  /* Convert and write the stackSize field.  */
-  put_word (abfd, (bfd_vma) nlm_variable_header (abfd)->stackSize, temp);
-  amt = sizeof (temp);
-  if (bfd_bwrite (temp, amt, abfd) != amt)
-    return FALSE;
-
-  /* Convert and write the reserved field.  */
-  put_word (abfd, (bfd_vma) nlm_variable_header (abfd)->reserved, temp);
-  amt = sizeof (temp);
-  if (bfd_bwrite (temp, amt, abfd) != amt)
-    return FALSE;
-
-  /* Write the oldThreadName field.  This field is a fixed length string.  */
-  amt = sizeof (nlm_variable_header (abfd)->oldThreadName);
-  if (bfd_bwrite (nlm_variable_header (abfd)->oldThreadName, amt,
-		  abfd) != amt)
-    return FALSE;
-
-  /* Write the screen name length and text members.  */
-  amt = sizeof (nlm_variable_header (abfd)->screenNameLength);
-  if (bfd_bwrite (& nlm_variable_header (abfd)->screenNameLength, amt,
-		 abfd) != amt)
-    return FALSE;
-  amt = nlm_variable_header (abfd)->screenNameLength + 1;
-  if (bfd_bwrite (nlm_variable_header (abfd)->screenName, amt, abfd) != amt)
-    return FALSE;
-
-  /* Write the thread name length and text members.  */
-  amt = sizeof (nlm_variable_header (abfd)->threadNameLength);
-  if (bfd_bwrite (& nlm_variable_header (abfd)->threadNameLength, amt,
-		 abfd) != amt)
-    return FALSE;
-  amt = nlm_variable_header (abfd)->threadNameLength + 1;
-  if (bfd_bwrite (nlm_variable_header (abfd)->threadName, amt, abfd) != amt)
-    return FALSE;
-  return TRUE;
-}
-
-/* Return whether there is a non-zero byte in a memory block.  */
-
-static bfd_boolean
-find_nonzero (void * buf, size_t size)
-{
-  char *p = (char *) buf;
-
-  while (size-- != 0)
-    if (*p++ != 0)
-      return TRUE;
-  return FALSE;
-}
-
-/* Swap out the contents of the auxiliary headers.  We create those
-   auxiliary headers which have been set non-zero.  We do not require
-   the caller to set up the stamp fields.  */
-
-static bfd_boolean
-nlm_swap_auxiliary_headers_out (bfd *abfd)
-{
-  bfd_size_type amt;
-
-  /* Write out the version header if there is one.  */
-  if (find_nonzero (nlm_version_header (abfd),
-		    sizeof (Nlm_Internal_Version_Header)))
-    {
-      Nlm_External_Version_Header thdr;
-
-      LITMEMCPY (thdr.stamp, "VeRsIoN#");
-      put_word (abfd, (bfd_vma) nlm_version_header (abfd)->majorVersion,
-		(bfd_byte *) thdr.majorVersion);
-      put_word (abfd, (bfd_vma) nlm_version_header (abfd)->minorVersion,
-		(bfd_byte *) thdr.minorVersion);
-      put_word (abfd, (bfd_vma) nlm_version_header (abfd)->revision,
-		(bfd_byte *) thdr.revision);
-      put_word (abfd, (bfd_vma) nlm_version_header (abfd)->year,
-		(bfd_byte *) thdr.year);
-      put_word (abfd, (bfd_vma) nlm_version_header (abfd)->month,
-		(bfd_byte *) thdr.month);
-      put_word (abfd, (bfd_vma) nlm_version_header (abfd)->day,
-		(bfd_byte *) thdr.day);
-      if (bfd_bwrite ((void *) &thdr, (bfd_size_type) sizeof (thdr), abfd)
-	  != sizeof (thdr))
-	return FALSE;
-    }
-
-  /* Note - the CoPyRiGhT tag is emitted before the MeSsAgEs
-     tag in order to make the NW4.x and NW5.x loaders happy.  */
-
-  /* Write out the copyright header if there is one.  */
-  if (find_nonzero (nlm_copyright_header (abfd),
-		    sizeof (Nlm_Internal_Copyright_Header)))
-    {
-      Nlm_External_Copyright_Header thdr;
-
-      LITMEMCPY (thdr.stamp, "CoPyRiGhT=");
-      amt = sizeof (thdr.stamp);
-      if (bfd_bwrite ((void *) thdr.stamp, amt, abfd) != amt)
-	return FALSE;
-      thdr.copyrightMessageLength[0] =
-	nlm_copyright_header (abfd)->copyrightMessageLength;
-      amt = 1;
-      if (bfd_bwrite ((void *) thdr.copyrightMessageLength, amt, abfd) != amt)
-	return FALSE;
-      /* The copyright message is a variable length string.  */
-      amt = nlm_copyright_header (abfd)->copyrightMessageLength + 1;
-      if (bfd_bwrite ((void *) nlm_copyright_header (abfd)->copyrightMessage,
-		     amt, abfd) != amt)
-	return FALSE;
-    }
-
-  /* Write out the extended header if there is one.  */
-  if (find_nonzero (nlm_extended_header (abfd),
-		    sizeof (Nlm_Internal_Extended_Header)))
-    {
-      Nlm_External_Extended_Header thdr;
-
-      LITMEMCPY (thdr.stamp, "MeSsAgEs");
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->languageID,
-		(bfd_byte *) thdr.languageID);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->messageFileOffset,
-		(bfd_byte *) thdr.messageFileOffset);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->messageFileLength,
-		(bfd_byte *) thdr.messageFileLength);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->messageCount,
-		(bfd_byte *) thdr.messageCount);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->helpFileOffset,
-		(bfd_byte *) thdr.helpFileOffset);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->helpFileLength,
-		(bfd_byte *) thdr.helpFileLength);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->RPCDataOffset,
-		(bfd_byte *) thdr.RPCDataOffset);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->RPCDataLength,
-		(bfd_byte *) thdr.RPCDataLength);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->sharedCodeOffset,
-		(bfd_byte *) thdr.sharedCodeOffset);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->sharedCodeLength,
-		(bfd_byte *) thdr.sharedCodeLength);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->sharedDataOffset,
-		(bfd_byte *) thdr.sharedDataOffset);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->sharedDataLength,
-		(bfd_byte *) thdr.sharedDataLength);
-      put_word (abfd,
-	  (bfd_vma) nlm_extended_header (abfd)->sharedRelocationFixupOffset,
-		(bfd_byte *) thdr.sharedRelocationFixupOffset);
-      put_word (abfd,
-	   (bfd_vma) nlm_extended_header (abfd)->sharedRelocationFixupCount,
-		(bfd_byte *) thdr.sharedRelocationFixupCount);
-      put_word (abfd,
-	(bfd_vma) nlm_extended_header (abfd)->sharedExternalReferenceOffset,
-		(bfd_byte *) thdr.sharedExternalReferenceOffset);
-      put_word (abfd,
-	 (bfd_vma) nlm_extended_header (abfd)->sharedExternalReferenceCount,
-		(bfd_byte *) thdr.sharedExternalReferenceCount);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->sharedPublicsOffset,
-		(bfd_byte *) thdr.sharedPublicsOffset);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->sharedPublicsCount,
-		(bfd_byte *) thdr.sharedPublicsCount);
-      put_word (abfd,
-	      (bfd_vma) nlm_extended_header (abfd)->sharedDebugRecordOffset,
-		(bfd_byte *) thdr.sharedDebugRecordOffset);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->sharedDebugRecordCount,
-		(bfd_byte *) thdr.sharedDebugRecordCount);
-      put_word (abfd,
-	   (bfd_vma) nlm_extended_header (abfd)->SharedInitializationOffset,
-		(bfd_byte *) thdr.sharedInitializationOffset);
-      put_word (abfd,
-	    (bfd_vma) nlm_extended_header (abfd)->SharedExitProcedureOffset,
-		(bfd_byte *) thdr.SharedExitProcedureOffset);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->productID,
-		(bfd_byte *) thdr.productID);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->reserved0,
-		(bfd_byte *) thdr.reserved0);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->reserved1,
-		(bfd_byte *) thdr.reserved1);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->reserved2,
-		(bfd_byte *) thdr.reserved2);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->reserved3,
-		(bfd_byte *) thdr.reserved3);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->reserved4,
-		(bfd_byte *) thdr.reserved4);
-      put_word (abfd,
-		(bfd_vma) nlm_extended_header (abfd)->reserved5,
-		(bfd_byte *) thdr.reserved5);
-      if (bfd_bwrite ((void *) &thdr, (bfd_size_type) sizeof (thdr), abfd)
-	  != sizeof (thdr))
-	return FALSE;
-    }
-
-  /* Write out the custom header if there is one.   */
-  if (find_nonzero (nlm_custom_header (abfd),
-		    sizeof (Nlm_Internal_Custom_Header)))
-    {
-      Nlm_External_Custom_Header thdr;
-      bfd_boolean ds;
-      bfd_size_type hdrLength;
-
-      ds = find_nonzero (nlm_custom_header (abfd)->dataStamp,
-			 sizeof (nlm_custom_header (abfd)->dataStamp));
-      LITMEMCPY (thdr.stamp, "CuStHeAd");
-      hdrLength = (2 * NLM_TARGET_LONG_SIZE + (ds ? 8 : 0)
-		   + nlm_custom_header (abfd)->hdrLength);
-      put_word (abfd, hdrLength, thdr.length);
-      put_word (abfd, (bfd_vma) nlm_custom_header (abfd)->dataOffset,
-		thdr.dataOffset);
-      put_word (abfd, (bfd_vma) nlm_custom_header (abfd)->dataLength,
-		thdr.dataLength);
-      if (! ds)
-	{
-	  BFD_ASSERT (nlm_custom_header (abfd)->hdrLength == 0);
-	  amt = sizeof (thdr) - sizeof (thdr.dataStamp);
-	  if (bfd_bwrite ((void *) &thdr, amt, abfd) != amt)
-	    return FALSE;
-	}
-      else
-	{
-	  memcpy (thdr.dataStamp, nlm_custom_header (abfd)->dataStamp,
-		  sizeof (thdr.dataStamp));
-	  amt = sizeof (thdr);
-	  if (bfd_bwrite ((void *) &thdr, amt, abfd) != amt)
-	    return FALSE;
-	  amt = nlm_custom_header (abfd)->hdrLength;
-	  if (bfd_bwrite (nlm_custom_header (abfd)->hdr, amt, abfd) != amt)
-	    return FALSE;
-	}
-    }
-
-  /* Write out the Cygnus debugging header if there is one.  */
-  if (find_nonzero (nlm_cygnus_ext_header (abfd),
-		    sizeof (Nlm_Internal_Cygnus_Ext_Header)))
-    {
-      Nlm_External_Custom_Header thdr;
-
-      LITMEMCPY (thdr.stamp, "CuStHeAd");
-      put_word (abfd, (bfd_vma) 2 * NLM_TARGET_LONG_SIZE + 8,
-		(bfd_byte *) thdr.length);
-      put_word (abfd, (bfd_vma) nlm_cygnus_ext_header (abfd)->offset,
-		(bfd_byte *) thdr.dataOffset);
-      put_word (abfd, (bfd_vma) nlm_cygnus_ext_header (abfd)->length,
-		(bfd_byte *) thdr.dataLength);
-      LITMEMCPY (thdr.dataStamp, "CyGnUsEx");
-      amt = sizeof (thdr);
-      if (bfd_bwrite ((void *) &thdr, amt, abfd) != amt)
-	return FALSE;
-    }
-
-  return TRUE;
-}
-
-/* We read the NLM's public symbols and use it to generate a bfd symbol
-   table (hey, it's better than nothing) on a one-for-one basis.  Thus
-   use the number of public symbols as the number of bfd symbols we will
-   have once we actually get around to reading them in.
-
-   Return the number of bytes required to hold the symtab vector, based on
-   the count plus 1, since we will NULL terminate the vector allocated based
-   on this size.  */
-
-long
-nlm_get_symtab_upper_bound (bfd *abfd)
-{
-  Nlm_Internal_Fixed_Header *i_fxdhdrp;	/* Nlm file header, internal form.  */
-  long symcount;
-  long symtab_size = 0;
-
-  i_fxdhdrp = nlm_fixed_header (abfd);
-  symcount = (i_fxdhdrp->numberOfPublics
-	      + i_fxdhdrp->numberOfDebugRecords
-	      + i_fxdhdrp->numberOfExternalReferences);
-  symtab_size = (symcount + 1) * (sizeof (asymbol));
-  return symtab_size;
-}
-
-/* Slurp in nlm symbol table.
-
-   In the external (in-file) form, NLM export records are variable length,
-   with the following form:
-
-	1 byte		length of the symbol name (N)
-	N bytes		the symbol name
-	4 bytes		the symbol offset from start of it's section
-
-   We also read in the debugging symbols and import records.  Import
-   records are treated as undefined symbols.  As we read the import
-   records we also read in the associated reloc information, which is
-   attached to the symbol.
-
-   The bfd symbols are copied to SYMvoid *S.
-
-   When we return, the bfd symcount is either zero or contains the correct
-   number of symbols.  */
-
-static bfd_boolean
-nlm_slurp_symbol_table (bfd *abfd)
-{
-  Nlm_Internal_Fixed_Header *i_fxdhdrp;	/* Nlm file header, internal form.  */
-  bfd_size_type totsymcount;	/* Number of NLM symbols.  */
-  bfd_size_type symcount;	/* Counter of NLM symbols.  */
-  nlm_symbol_type *sym;		/* Pointer to current bfd symbol.  */
-  unsigned char symlength;	/* Symbol length read into here.  */
-  unsigned char symtype;	/* Type of debugging symbol.  */
-  bfd_byte temp[NLM_TARGET_LONG_SIZE];	/* Symbol offsets read into here.  */
-  bfd_boolean (*read_import_func) (bfd *, nlm_symbol_type *);
-  bfd_boolean (*set_public_section_func) (bfd *, nlm_symbol_type *);
-  bfd_size_type amt;
-
-  if (nlm_get_symbols (abfd) != NULL)
-    return TRUE;
-
-  /* Read each raw NLM symbol, using the information to create a canonical bfd
-     symbol table entry.
-
-     Note that we allocate the initial bfd canonical symbol buffer based on a
-     one-to-one mapping of the NLM symbols to canonical symbols.  We actually
-     use all the NLM symbols, so there will be no space left over at the end.
-     When we have all the symbols, we build the caller's pointer vector.  */
-
-  abfd->symcount = 0;
-  i_fxdhdrp = nlm_fixed_header (abfd);
-  totsymcount = (i_fxdhdrp->numberOfPublics
-		 + i_fxdhdrp->numberOfDebugRecords
-		 + i_fxdhdrp->numberOfExternalReferences);
-  if (totsymcount == 0)
-    return TRUE;
-
-  if (bfd_seek (abfd, i_fxdhdrp->publicsOffset, SEEK_SET) != 0)
-    return FALSE;
-
-  amt = totsymcount * sizeof (nlm_symbol_type);
-  sym = bfd_zalloc (abfd, amt);
-  if (!sym)
-    return FALSE;
-  nlm_set_symbols (abfd, sym);
-
-  /* We use the bfd's symcount directly as the control count, so that early
-     termination of the loop leaves the symcount correct for the symbols that
-     were read.  */
-
-  set_public_section_func = nlm_set_public_section_func (abfd);
-  symcount = i_fxdhdrp->numberOfPublics;
-  while (abfd->symcount < symcount)
-    {
-      amt = sizeof (symlength);
-      if (bfd_bread ((void *) &symlength, amt, abfd) != amt)
-	return FALSE;
-      amt = symlength;
-      sym->symbol.the_bfd = abfd;
-      sym->symbol.name = bfd_alloc (abfd, amt + 1);
-      if (!sym->symbol.name)
-	return FALSE;
-      if (bfd_bread ((void *) sym->symbol.name, amt, abfd) != amt)
-	return FALSE;
-      /* Cast away const.  */
-      ((char *) (sym->symbol.name))[symlength] = '\0';
-      amt = sizeof (temp);
-      if (bfd_bread ((void *) temp, amt, abfd) != amt)
-	return FALSE;
-      sym->symbol.flags = BSF_GLOBAL | BSF_EXPORT;
-      sym->symbol.value = get_word (abfd, temp);
-      if (set_public_section_func)
-	{
-	  /* Most backends can use the code below, but unfortunately
-	     some use a different scheme.  */
-	  if (! (*set_public_section_func) (abfd, sym))
-	    return FALSE;
-	}
-      else
-	{
-	  if (sym->symbol.value & NLM_HIBIT)
-	    {
-	      sym->symbol.value &= ~NLM_HIBIT;
-	      sym->symbol.flags |= BSF_FUNCTION;
-	      sym->symbol.section =
-		bfd_get_section_by_name (abfd, NLM_CODE_NAME);
-	    }
-	  else
-	    sym->symbol.section =
-	      bfd_get_section_by_name (abfd, NLM_INITIALIZED_DATA_NAME);
-	}
-      sym->rcnt = 0;
-      abfd->symcount++;
-      sym++;
-    }
-
-  /* Read the debugging records.  */
-
-  if (i_fxdhdrp->numberOfDebugRecords > 0)
-    {
-      if (bfd_seek (abfd, i_fxdhdrp->debugInfoOffset, SEEK_SET) != 0)
-	return FALSE;
-
-      symcount += i_fxdhdrp->numberOfDebugRecords;
-      while (abfd->symcount < symcount)
-	{
-	  amt = sizeof (symtype);
-	  if (bfd_bread ((void *) &symtype, amt, abfd) != amt)
-	    return FALSE;
-	  amt = sizeof (temp);
-	  if (bfd_bread ((void *) temp, amt, abfd) != amt)
-	    return FALSE;
-	  amt = sizeof (symlength);
-	  if (bfd_bread ((void *) &symlength, amt, abfd) != amt)
-	    return FALSE;
-	  amt = symlength;
-	  sym->symbol.the_bfd = abfd;
-	  sym->symbol.name = bfd_alloc (abfd, amt + 1);
-	  if (!sym->symbol.name)
-	    return FALSE;
-	  if (bfd_bread ((void *) sym->symbol.name, amt, abfd) != amt)
-	    return FALSE;
-	  /* Cast away const.  */
-	  ((char *) (sym->symbol.name))[symlength] = '\0';
-	  sym->symbol.flags = BSF_LOCAL;
-	  sym->symbol.value = get_word (abfd, temp);
-
-	  if (symtype == 0)
-	    sym->symbol.section =
-	      bfd_get_section_by_name (abfd, NLM_INITIALIZED_DATA_NAME);
-	  else if (symtype == 1)
-	    {
-	      sym->symbol.flags |= BSF_FUNCTION;
-	      sym->symbol.section =
-		bfd_get_section_by_name (abfd, NLM_CODE_NAME);
-	    }
-	  else
-	    sym->symbol.section = bfd_abs_section_ptr;
-
-	  sym->rcnt = 0;
-	  abfd->symcount++;
-	  sym++;
-	}
-    }
-
-  /* Read in the import records.  We can only do this if we know how
-     to read relocs for this target.  */
-  read_import_func = nlm_read_import_func (abfd);
-  if (read_import_func != NULL)
-    {
-      if (bfd_seek (abfd, i_fxdhdrp->externalReferencesOffset, SEEK_SET) != 0)
-	return FALSE;
-
-      symcount += i_fxdhdrp->numberOfExternalReferences;
-      while (abfd->symcount < symcount)
-	{
-	  if (! (*read_import_func) (abfd, sym))
-	    return FALSE;
-	  sym++;
-	  abfd->symcount++;
-	}
-    }
-
-  return TRUE;
-}
-
-/* Note that bfd_get_symcount is guaranteed to be zero if slurping the
-   symbol table fails.  */
-
-long
-nlm_canonicalize_symtab (bfd *abfd, asymbol **alocation)
-{
-  nlm_symbol_type *symbase;
-  bfd_size_type counter = 0;
-
-  if (! nlm_slurp_symbol_table (abfd))
-    return -1;
-  symbase = nlm_get_symbols (abfd);
-  while (counter < bfd_get_symcount (abfd))
-    {
-      *alocation++ = &symbase->symbol;
-      symbase++;
-      counter++;
-    }
-  *alocation = NULL;
-  return bfd_get_symcount (abfd);
-}
-
-/* Make an NLM symbol.  There is nothing special to do here.  */
-
-asymbol *
-nlm_make_empty_symbol (bfd *abfd)
-{
-  bfd_size_type amt = sizeof (nlm_symbol_type);
-  nlm_symbol_type *new = bfd_zalloc (abfd, amt);
-
-  if (new == NULL)
-    return NULL;
-  new->symbol.the_bfd = abfd;
-  return & new->symbol;
-}
-
-/* Get symbol information.  */
-
-void
-nlm_get_symbol_info (bfd *ignore_abfd ATTRIBUTE_UNUSED,
-		     asymbol *symbol,
-		     symbol_info *ret)
-{
-  bfd_symbol_info (symbol, ret);
-}
-
-/* Print symbol information.  */
-
-void
-nlm_print_symbol (bfd *abfd,
-		  void * afile,
-		  asymbol *symbol,
-		  bfd_print_symbol_type how)
-{
-  FILE *file = (FILE *) afile;
-
-  switch (how)
-    {
-    case bfd_print_symbol_name:
-    case bfd_print_symbol_more:
-      if (symbol->name)
-	fprintf (file, "%s", symbol->name);
-      break;
-    case bfd_print_symbol_all:
-      bfd_print_symbol_vandf (abfd, (void *) file, symbol);
-      fprintf (file, " %-5s", symbol->section->name);
-      if (symbol->name)
-	fprintf (file, " %s", symbol->name);
-      break;
-    }
-}
-
-/* Get the relocs for an NLM file.  There are two types of relocs.
-   Imports are relocs against symbols defined in other NLM files.  We
-   treat these as relocs against global symbols.  Relocation fixups
-   are internal relocs.
-
-   The actual format used to store the relocs is machine specific.  */
-
-/* Read in the relocation fixup information.  This is stored in
-   nlm_relocation_fixups, an array of arelent structures, and
-   nlm_relocation_fixup_secs, an array of section pointers.  The
-   section pointers are needed because the relocs are not sorted by
-   section.  */
-
-static bfd_boolean
-nlm_slurp_reloc_fixups (bfd *abfd)
-{
-  bfd_boolean (*read_func) (bfd *, nlm_symbol_type *, asection **, arelent *);
-  bfd_size_type count, amt;
-  arelent *rels;
-  asection **secs;
-
-  if (nlm_relocation_fixups (abfd) != NULL)
-    return TRUE;
-  read_func = nlm_read_reloc_func (abfd);
-  if (read_func == NULL)
-    return TRUE;
-
-  if (bfd_seek (abfd, nlm_fixed_header (abfd)->relocationFixupOffset,
-		SEEK_SET) != 0)
-    return FALSE;
-
-  count = nlm_fixed_header (abfd)->numberOfRelocationFixups;
-  amt = count * sizeof (arelent);
-  rels = bfd_alloc (abfd, amt);
-  amt = count * sizeof (asection *);
-  secs = bfd_alloc (abfd, amt);
-  if ((rels == NULL || secs == NULL) && count != 0)
-    return FALSE;
-  nlm_relocation_fixups (abfd) = rels;
-  nlm_relocation_fixup_secs (abfd) = secs;
-
-  /* We have to read piece by piece, because we don't know how large
-     the machine specific reloc information is.  */
-  while (count-- != 0)
-    {
-      if (! (*read_func) (abfd, NULL, secs, rels))
-	{
-	  nlm_relocation_fixups (abfd) = NULL;
-	  nlm_relocation_fixup_secs (abfd) = NULL;
-	  return FALSE;
-	}
-      ++secs;
-      ++rels;
-    }
-
-  return TRUE;
-}
-
-/* Get the number of relocs.  This really just returns an upper bound,
-   since it does not attempt to distinguish them based on the section.
-   That will be handled when they are actually read.  */
-
-long
-nlm_get_reloc_upper_bound (bfd *abfd, asection *sec)
-{
-  nlm_symbol_type *syms;
-  bfd_size_type count;
-  unsigned int ret;
-
-  /* If we don't know how to read relocs, just return 0.  */
-  if (nlm_read_reloc_func (abfd) == NULL)
-    return -1;
-  /* Make sure we have either the code or the data section.  */
-  if ((bfd_get_section_flags (abfd, sec) & (SEC_CODE | SEC_DATA)) == 0)
-    return 0;
-
-  syms = nlm_get_symbols (abfd);
-  if (syms == NULL)
-    {
-      if (! nlm_slurp_symbol_table (abfd))
-	return -1;
-      syms = nlm_get_symbols (abfd);
-    }
-
-  ret = nlm_fixed_header (abfd)->numberOfRelocationFixups;
-
-  count = bfd_get_symcount (abfd);
-  while (count-- != 0)
-    {
-      ret += syms->rcnt;
-      ++syms;
-    }
-
-  return (ret + 1) * sizeof (arelent *);
-}
-
-/* Get the relocs themselves.  */
-
-long
-nlm_canonicalize_reloc (bfd *abfd,
-			asection *sec,
-			arelent **relptr,
-			asymbol **symbols)
-{
-  arelent *rels;
-  asection **secs;
-  bfd_size_type count, i;
-  long ret;
-
-  /* Get the relocation fixups.  */
-  rels = nlm_relocation_fixups (abfd);
-  if (rels == NULL)
-    {
-      if (! nlm_slurp_reloc_fixups (abfd))
-	return -1;
-      rels = nlm_relocation_fixups (abfd);
-    }
-  secs = nlm_relocation_fixup_secs (abfd);
-
-  ret = 0;
-  count = nlm_fixed_header (abfd)->numberOfRelocationFixups;
-  for (i = 0; i < count; i++, rels++, secs++)
-    {
-      if (*secs == sec)
-	{
-	  *relptr++ = rels;
-	  ++ret;
-	}
-    }
-
-  /* Get the import symbols.  */
-  count = bfd_get_symcount (abfd);
-  for (i = 0; i < count; i++, symbols++)
-    {
-      asymbol *sym;
-
-      sym = *symbols;
-      if (bfd_asymbol_flavour (sym) == bfd_target_nlm_flavour)
-	{
-	  nlm_symbol_type *nlm_sym;
-	  bfd_size_type j;
-
-	  nlm_sym = (nlm_symbol_type *) sym;
-	  for (j = 0; j < nlm_sym->rcnt; j++)
-	    {
-	      if (nlm_sym->relocs[j].section == sec)
-		{
-		  *relptr = &nlm_sym->relocs[j].reloc;
-		  (*relptr)->sym_ptr_ptr = symbols;
-		  ++relptr;
-		  ++ret;
-		}
-	    }
-	}
-    }
-
-  *relptr = NULL;
-
-  return ret;
-}
-
-/* Compute the section file positions for an NLM file.  All variable
-   length data in the file headers must be set before this function is
-   called.  If the variable length data is changed later, the
-   resulting object file will be incorrect.  Unfortunately, there is
-   no way to check this.
-
-   This routine also sets the Size and Offset fields in the fixed
-   header.
-
-   It also looks over the symbols and moves any common symbols into
-   the .bss section; NLM has no way to represent a common symbol.
-   This approach means that either the symbols must already have been
-   set at this point, or there must be no common symbols.  We need to
-   move the symbols at this point so that mangle_relocs can see the
-   final values.  */
-
-static bfd_boolean
-nlm_compute_section_file_positions (bfd *abfd)
-{
-  file_ptr sofar;
-  asection *sec;
-  bfd_vma text, data, bss;
-  bfd_vma text_low, data_low;
-  unsigned int text_align, data_align, other_align;
-  file_ptr text_ptr, data_ptr, other_ptr;
-  asection *bss_sec;
-  asymbol **sym_ptr_ptr;
-
-  if (abfd->output_has_begun)
-    return TRUE;
-
-  /* Make sure we have a section to hold uninitialized data.  */
-  bss_sec = bfd_get_section_by_name (abfd, NLM_UNINITIALIZED_DATA_NAME);
-  if (bss_sec == NULL)
-    {
-      if (!add_bfd_section (abfd, NLM_UNINITIALIZED_DATA_NAME,
-			    (file_ptr) 0, (bfd_size_type) 0,
-			    SEC_ALLOC))
-	return FALSE;
-      bss_sec = bfd_get_section_by_name (abfd, NLM_UNINITIALIZED_DATA_NAME);
-    }
-
-  abfd->output_has_begun = TRUE;
-
-  /* The fixed header.  */
-  sofar = nlm_optional_prefix_size (abfd) + nlm_fixed_header_size (abfd);
-
-  /* The variable header.  */
-  sofar += (sizeof (nlm_variable_header (abfd)->descriptionLength)
-	    + nlm_variable_header (abfd)->descriptionLength + 1
-	    + NLM_TARGET_LONG_SIZE	/* stackSize */
-	    + NLM_TARGET_LONG_SIZE	/* reserved */
-	    + sizeof (nlm_variable_header (abfd)->oldThreadName)
-	    + sizeof (nlm_variable_header (abfd)->screenNameLength)
-	    + nlm_variable_header (abfd)->screenNameLength + 1
-	    + sizeof (nlm_variable_header (abfd)->threadNameLength)
-	    + nlm_variable_header (abfd)->threadNameLength + 1);
-
-  /* The auxiliary headers.  */
-  if (find_nonzero (nlm_version_header (abfd),
-		    sizeof (Nlm_Internal_Version_Header)))
-    sofar += sizeof (Nlm_External_Version_Header);
-  if (find_nonzero (nlm_extended_header (abfd),
-		    sizeof (Nlm_Internal_Extended_Header)))
-    sofar += sizeof (Nlm_External_Extended_Header);
-  if (find_nonzero (nlm_copyright_header (abfd),
-		    sizeof (Nlm_Internal_Copyright_Header)))
-    sofar += (sizeof (Nlm_External_Copyright_Header)
-	      + nlm_copyright_header (abfd)->copyrightMessageLength + 1);
-  if (find_nonzero (nlm_custom_header (abfd),
-		    sizeof (Nlm_Internal_Custom_Header)))
-    sofar += (sizeof (Nlm_External_Custom_Header)
-	      + nlm_custom_header (abfd)->hdrLength);
-  if (find_nonzero (nlm_cygnus_ext_header (abfd),
-		    sizeof (Nlm_Internal_Cygnus_Ext_Header)))
-    sofar += sizeof (Nlm_External_Custom_Header);
-
-  /* Compute the section file positions in two passes.  First get the
-     sizes of the text and data sections, and then set the file
-     positions.  This code aligns the sections in the file using the
-     same alignment restrictions that apply to the sections in memory;
-     this may not be necessary.  */
-  text = 0;
-  text_low = (bfd_vma) - 1;
-  text_align = 0;
-  data = 0;
-  data_low = (bfd_vma) - 1;
-  data_align = 0;
-  bss = 0;
-  other_align = 0;
-  for (sec = abfd->sections; sec != NULL; sec = sec->next)
-    {
-      flagword f;
-
-      sec->size = BFD_ALIGN (sec->size, 1 << sec->alignment_power);
-
-      f = bfd_get_section_flags (abfd, sec);
-      if (f & SEC_CODE)
-	{
-	  text += sec->size;
-	  if (bfd_get_section_vma (abfd, sec) < text_low)
-	    text_low = bfd_get_section_vma (abfd, sec);
-	  if (sec->alignment_power > text_align)
-	    text_align = sec->alignment_power;
-	}
-      else if (f & SEC_DATA)
-	{
-	  data += sec->size;
-	  if (bfd_get_section_vma (abfd, sec) < data_low)
-	    data_low = bfd_get_section_vma (abfd, sec);
-	  if (sec->alignment_power > data_align)
-	    data_align = sec->alignment_power;
-	}
-      else if (f & SEC_HAS_CONTENTS)
-	{
-	  if (sec->alignment_power > other_align)
-	    other_align = sec->alignment_power;
-	}
-      else if (f & SEC_ALLOC)
-	bss += sec->size;
-    }
-
-  nlm_set_text_low (abfd, text_low);
-  nlm_set_data_low (abfd, data_low);
-
-  if (nlm_no_uninitialized_data (abfd))
-    {
-      /* This NetWare format does not use uninitialized data.  We must
-	 increase the size of the data section.  We will never wind up
-	 writing those file locations, so they will remain zero.  */
-      data += bss;
-      bss = 0;
-    }
-
-  text_ptr = BFD_ALIGN (sofar, 1 << text_align);
-  data_ptr = BFD_ALIGN (text_ptr + text, 1 << data_align);
-  other_ptr = BFD_ALIGN (data_ptr + data, 1 << other_align);
-
-  /* Fill in some fields in the header for which we now have the
-     information.  */
-  nlm_fixed_header (abfd)->codeImageOffset = text_ptr;
-  nlm_fixed_header (abfd)->codeImageSize = text;
-  nlm_fixed_header (abfd)->dataImageOffset = data_ptr;
-  nlm_fixed_header (abfd)->dataImageSize = data;
-  nlm_fixed_header (abfd)->uninitializedDataSize = bss;
-
-  for (sec = abfd->sections; sec != NULL; sec = sec->next)
-    {
-      flagword f;
-
-      f = bfd_get_section_flags (abfd, sec);
-
-      if (f & SEC_CODE)
-	{
-	  sec->filepos = text_ptr;
-	  text_ptr += sec->size;
-	}
-      else if (f & SEC_DATA)
-	{
-	  sec->filepos = data_ptr;
-	  data_ptr += sec->size;
-	}
-      else if (f & SEC_HAS_CONTENTS)
-	{
-	  sec->filepos = other_ptr;
-	  other_ptr += sec->size;
-	}
-    }
-
-  nlm_fixed_header (abfd)->relocationFixupOffset = other_ptr;
-
-  /* Move all common symbols into the .bss section.  */
-
-  sym_ptr_ptr = bfd_get_outsymbols (abfd);
-  if (sym_ptr_ptr != NULL)
-    {
-      asymbol **sym_end;
-      bfd_vma add;
-
-      sym_end = sym_ptr_ptr + bfd_get_symcount (abfd);
-      add = 0;
-      for (; sym_ptr_ptr < sym_end; sym_ptr_ptr++)
-	{
-	  asymbol *sym;
-	  bfd_vma size;
-
-	  sym = *sym_ptr_ptr;
-
-	  if (!bfd_is_com_section (bfd_get_section (sym)))
-	    continue;
-
-	  /* Put the common symbol in the .bss section, and increase
-	     the size of the .bss section by the size of the common
-	     symbol (which is the old value of the symbol).  */
-	  sym->section = bss_sec;
-	  size = sym->value;
-	  sym->value = bss_sec->size + add;
-	  add += size;
-	  add = BFD_ALIGN (add, 1 << bss_sec->alignment_power);
-	}
-      if (add != 0)
-	{
-	  if (nlm_no_uninitialized_data (abfd))
-	    {
-	      /* We could handle this case, but so far it hasn't been
-		 necessary.  */
-	      abort ();
-	    }
-	  nlm_fixed_header (abfd)->uninitializedDataSize += add;
-	  bss_sec->size += add;
-	}
-    }
-
-  return TRUE;
-}
-
-/* Set the contents of a section.  To do this we need to know where
-   the section is going to be located in the output file.  That means
-   that the sizes of all the sections must be set, and all the
-   variable size header information must be known.  */
-
-bfd_boolean
-nlm_set_section_contents (bfd *abfd,
-			  asection *section,
-			  const void * location,
-			  file_ptr offset,
-			  bfd_size_type count)
-{
-  if (! abfd->output_has_begun
-      && ! nlm_compute_section_file_positions (abfd))
-    return FALSE;
-
-  if (count == 0)
-    return TRUE;
-
-  /* i386 NetWare has a very restricted set of relocs.  In order for
-     objcopy to work, the NLM i386 backend needs a chance to rework
-     the section contents so that its set of relocs will work.  If all
-     the relocs are already acceptable, this will not do anything.  */
-  if (section->reloc_count != 0)
-    {
-      bfd_boolean (*mangle_relocs_func)
-	(bfd *, asection *, const void *, bfd_vma, bfd_size_type);
-
-      mangle_relocs_func = nlm_mangle_relocs_func (abfd);
-      if (mangle_relocs_func != NULL)
-	{
-	  if (!(*mangle_relocs_func) (abfd, section, location,
-				      (bfd_vma) offset, count))
-	    return FALSE;
-	}
-    }
-
-  if (bfd_seek (abfd, section->filepos + offset, SEEK_SET) != 0
-      || bfd_bwrite (location, count, abfd) != count)
-    return FALSE;
-
-  return TRUE;
-}
-
-/* We need to sort a list of relocs associated with sections when we
-   write out the external relocs.  */
-
-static int
-nlm_external_reloc_compare (const void *p1, const void *p2)
-{
-  const struct reloc_and_sec *r1 = (const struct reloc_and_sec *) p1;
-  const struct reloc_and_sec *r2 = (const struct reloc_and_sec *) p2;
-  int cmp;
-
-  cmp = strcmp ((*r1->rel->sym_ptr_ptr)->name,
-		(*r2->rel->sym_ptr_ptr)->name);
-  if (cmp != 0)
-    return cmp;
-
-  /* We sort by address within symbol to make the sort more stable and
-     increase the chances that different hosts will generate bit for
-     bit equivalent results.  */
-  return (int) (r1->rel->address - r2->rel->address);
-}
-
-/* Write out an NLM file.  We write out the information in this order:
-     fixed header
-     variable header
-     auxiliary headers
-     code sections
-     data sections
-     other sections (custom data, messages, help, shared NLM, RPC,
-		     module dependencies)
-     relocation fixups
-     external references (imports)
-     public symbols (exports)
-     debugging records
-   This is similar to the order used by the NetWare tools; the
-   difference is that NetWare puts the sections other than code, data
-   and custom data at the end of the NLM.  It is convenient for us to
-   know where the sections are going to be before worrying about the
-   size of the other information.
-
-   By the time this function is called, all the section data should
-   have been output using set_section_contents.  Note that custom
-   data, the message file, the help file, the shared NLM file, the RPC
-   data, and the module dependencies are all considered to be
-   sections; the caller is responsible for filling in the offset and
-   length fields in the NLM headers.  The relocation fixups and
-   imports are both obtained from the list of relocs attached to each
-   section.  The exports and debugging records are obtained from the
-   list of outsymbols.  */
-
-bfd_boolean
-nlm_write_object_contents (bfd *abfd)
-{
-  asection *sec;
-  bfd_boolean (*write_import_func) (bfd *, asection *, arelent *);
-  bfd_size_type external_reloc_count, internal_reloc_count, i, c;
-  struct reloc_and_sec *external_relocs;
-  asymbol **sym_ptr_ptr;
-  file_ptr last;
-  bfd_boolean (*write_prefix_func) (bfd *);
-  unsigned char *fixed_header = NULL;
-  file_ptr pos;
-  bfd_size_type amt;
-
-  fixed_header = bfd_malloc (nlm_fixed_header_size (abfd));
-  if (fixed_header == NULL)
-    goto error_return;
-
-  if (! abfd->output_has_begun
-      && ! nlm_compute_section_file_positions (abfd))
-    goto error_return;
-
-  /* Write out the variable length headers.  */
-  pos = nlm_optional_prefix_size (abfd) + nlm_fixed_header_size (abfd);
-  if (bfd_seek (abfd, pos, SEEK_SET) != 0)
-    goto error_return;
-  if (! nlm_swap_variable_header_out (abfd)
-      || ! nlm_swap_auxiliary_headers_out (abfd))
-    {
-      bfd_set_error (bfd_error_system_call);
-      goto error_return;
-    }
-
-  /* A weak check on whether the section file positions were
-     reasonable.  */
-  if (bfd_tell (abfd) > nlm_fixed_header (abfd)->codeImageOffset)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      goto error_return;
-    }
-
-  /* Advance to the relocs.  */
-  if (bfd_seek (abfd, nlm_fixed_header (abfd)->relocationFixupOffset,
-		SEEK_SET) != 0)
-    goto error_return;
-
-  /* The format of the relocation entries is dependent upon the
-     particular target.  We use an external routine to write the reloc
-     out.  */
-  write_import_func = nlm_write_import_func (abfd);
-
-  /* Write out the internal relocation fixups.  While we're looping
-     over the relocs, we also count the external relocs, which is
-     needed when they are written out below.  */
-  internal_reloc_count = 0;
-  external_reloc_count = 0;
-  for (sec = abfd->sections; sec != NULL; sec = sec->next)
-    {
-      arelent **rel_ptr_ptr, **rel_end;
-
-      if (sec->reloc_count == 0)
-	continue;
-
-      /* We can only represent relocs within a code or data
-	 section.  We ignore them for a debugging section.  */
-      if ((bfd_get_section_flags (abfd, sec) & (SEC_CODE | SEC_DATA)) == 0)
-	continue;
-
-      /* We need to know how to write out imports */
-      if (write_import_func == NULL)
-	{
-	  bfd_set_error (bfd_error_invalid_operation);
-	  goto error_return;
-	}
-
-      rel_ptr_ptr = sec->orelocation;
-      rel_end = rel_ptr_ptr + sec->reloc_count;
-      for (; rel_ptr_ptr < rel_end; rel_ptr_ptr++)
-	{
-	  arelent *rel;
-	  asymbol *sym;
-
-	  rel = *rel_ptr_ptr;
-	  sym = *rel->sym_ptr_ptr;
-
-	  if (! bfd_is_und_section (bfd_get_section (sym)))
-	    {
-	      ++internal_reloc_count;
-	      if (! (*write_import_func) (abfd, sec, rel))
-		goto error_return;
-	    }
-	  else
-	    ++external_reloc_count;
-	}
-    }
-  nlm_fixed_header (abfd)->numberOfRelocationFixups = internal_reloc_count;
-
-  /* Write out the imports (relocs against external symbols).  These
-     are output as a symbol name followed by all the relocs for that
-     symbol, so we must first gather together all the relocs against
-     external symbols and sort them.  */
-  amt = external_reloc_count * sizeof (struct reloc_and_sec);
-  external_relocs = bfd_alloc (abfd, amt);
-  if (external_relocs == NULL)
-    goto error_return;
-  i = 0;
-  for (sec = abfd->sections; sec != NULL; sec = sec->next)
-    {
-      arelent **rel_ptr_ptr, **rel_end;
-
-      if (sec->reloc_count == 0)
-	continue;
-
-      rel_ptr_ptr = sec->orelocation;
-      rel_end = rel_ptr_ptr + sec->reloc_count;
-      for (; rel_ptr_ptr < rel_end; rel_ptr_ptr++)
-	{
-	  arelent *rel;
-	  asymbol *sym;
-
-	  rel = *rel_ptr_ptr;
-	  sym = *rel->sym_ptr_ptr;
-
-	  if (! bfd_is_und_section (bfd_get_section (sym)))
-	    continue;
-
-	  external_relocs[i].rel = rel;
-	  external_relocs[i].sec = sec;
-	  ++i;
-	}
-    }
-
-  BFD_ASSERT (i == external_reloc_count);
-
-  /* Sort the external relocs by name.  */
-  qsort (external_relocs, (size_t) external_reloc_count,
-	 sizeof (struct reloc_and_sec), nlm_external_reloc_compare);
-
-  /* Write out the external relocs.  */
-  nlm_fixed_header (abfd)->externalReferencesOffset = bfd_tell (abfd);
-  c = 0;
-  i = 0;
-  while (i < external_reloc_count)
-    {
-      arelent *rel;
-      asymbol *sym;
-      bfd_size_type j, cnt;
-
-      ++c;
-
-      rel = external_relocs[i].rel;
-      sym = *rel->sym_ptr_ptr;
-
-      cnt = 0;
-      for (j = i;
-	   (j < external_reloc_count
-	    && *external_relocs[j].rel->sym_ptr_ptr == sym);
-	   j++)
-	++cnt;
-
-      if (! (*nlm_write_external_func (abfd)) (abfd, cnt, sym,
-					       &external_relocs[i]))
-	goto error_return;
-
-      i += cnt;
-    }
-
-  nlm_fixed_header (abfd)->numberOfExternalReferences = c;
-
-  /* Write out the public symbols (exports).  */
-  sym_ptr_ptr = bfd_get_outsymbols (abfd);
-  if (sym_ptr_ptr != NULL)
-    {
-      bfd_vma (*get_public_offset_func) (bfd *, asymbol *);
-      bfd_boolean (*write_export_func) (bfd *, asymbol *, bfd_vma);
-
-      asymbol **sym_end;
-
-      nlm_fixed_header (abfd)->publicsOffset = bfd_tell (abfd);
-      get_public_offset_func = nlm_get_public_offset_func (abfd);
-      write_export_func = nlm_write_export_func (abfd);
-      c = 0;
-      sym_end = sym_ptr_ptr + bfd_get_symcount (abfd);
-      for (; sym_ptr_ptr < sym_end; sym_ptr_ptr++)
-	{
-	  asymbol *sym;
-	  bfd_byte len;
-	  bfd_vma offset;
-	  bfd_byte temp[NLM_TARGET_LONG_SIZE];
-
-	  sym = *sym_ptr_ptr;
-
-	  if ((sym->flags & (BSF_EXPORT | BSF_GLOBAL)) == 0
-	      || bfd_is_und_section (bfd_get_section (sym)))
-	    continue;
-
-	  ++c;
-
-	  if (get_public_offset_func)
-	    {
-	      /* Most backends can use the code below, but
-		 unfortunately some use a different scheme.  */
-	      offset = (*get_public_offset_func) (abfd, sym);
-	    }
-	  else
-	    {
-	      offset = bfd_asymbol_value (sym);
-	      sec = sym->section;
-	      if (sec->flags & SEC_CODE)
-		{
-		  offset -= nlm_get_text_low (abfd);
-		  offset |= NLM_HIBIT;
-		}
-	      else if (sec->flags & (SEC_DATA | SEC_ALLOC))
-		{
-		  /* SEC_ALLOC is for the .bss section.  */
-		  offset -= nlm_get_data_low (abfd);
-		}
-	      else
-		{
-		  /* We can't handle an exported symbol that is not in
-		     the code or data segment.  */
-		  bfd_set_error (bfd_error_invalid_operation);
-		  goto error_return;
-		}
-	    }
-
-	  if (write_export_func)
-	    {
-	      if (! (*write_export_func) (abfd, sym, offset))
-		goto error_return;
-	    }
-	  else
-	    {
-	      len = strlen (sym->name);
-	      if ((bfd_bwrite (&len, (bfd_size_type) sizeof (bfd_byte), abfd)
-		   != sizeof (bfd_byte))
-		  || bfd_bwrite (sym->name, (bfd_size_type) len, abfd) != len)
-		goto error_return;
-
-	      put_word (abfd, offset, temp);
-	      if (bfd_bwrite (temp, (bfd_size_type) sizeof (temp), abfd)
-		  != sizeof (temp))
-		goto error_return;
-	    }
-	}
-      nlm_fixed_header (abfd)->numberOfPublics = c;
-
-      /* Write out the debugging records.  The NLM conversion program
-	 wants to be able to inhibit this, so as a special hack if
-	 debugInfoOffset is set to -1 we don't write any debugging
-	 information.  This can not be handled by fiddling with the
-	 symbol table, because exported symbols appear in both the
-	 exported symbol list and the debugging information.  */
-      if (nlm_fixed_header (abfd)->debugInfoOffset == (file_ptr) - 1)
-	{
-	  nlm_fixed_header (abfd)->debugInfoOffset = 0;
-	  nlm_fixed_header (abfd)->numberOfDebugRecords = 0;
-	}
-      else
-	{
-	  nlm_fixed_header (abfd)->debugInfoOffset = bfd_tell (abfd);
-	  c = 0;
-	  sym_ptr_ptr = bfd_get_outsymbols (abfd);
-	  sym_end = sym_ptr_ptr + bfd_get_symcount (abfd);
-	  for (; sym_ptr_ptr < sym_end; sym_ptr_ptr++)
-	    {
-	      asymbol *sym;
-	      bfd_byte type, len;
-	      bfd_vma offset;
-	      bfd_byte temp[NLM_TARGET_LONG_SIZE];
-
-	      sym = *sym_ptr_ptr;
-
-	      /* The NLM notion of a debugging symbol is actually what
-		 BFD calls a local or global symbol.  What BFD calls a
-		 debugging symbol NLM does not understand at all.  */
-	      if ((sym->flags & (BSF_LOCAL | BSF_GLOBAL | BSF_EXPORT)) == 0
-		  || (sym->flags & BSF_DEBUGGING) != 0
-		  || bfd_is_und_section (bfd_get_section (sym)))
-		continue;
-
-	      ++c;
-
-	      offset = bfd_asymbol_value (sym);
-	      sec = sym->section;
-	      if (sec->flags & SEC_CODE)
-		{
-		  offset -= nlm_get_text_low (abfd);
-		  type = 1;
-		}
-	      else if (sec->flags & (SEC_DATA | SEC_ALLOC))
-		{
-		  /* SEC_ALLOC is for the .bss section.  */
-		  offset -= nlm_get_data_low (abfd);
-		  type = 0;
-		}
-	      else
-		type = 2;
-
-	      /* The type is 0 for data, 1 for code, 2 for absolute.  */
-	      if (bfd_bwrite (&type, (bfd_size_type) sizeof (bfd_byte), abfd)
-		  != sizeof (bfd_byte))
-		goto error_return;
-
-	      put_word (abfd, offset, temp);
-	      if (bfd_bwrite (temp, (bfd_size_type) sizeof (temp), abfd)
-		  != sizeof (temp))
-		goto error_return;
-
-	      len = strlen (sym->name);
-	      if ((bfd_bwrite (&len, (bfd_size_type) sizeof (bfd_byte), abfd)
-		   != sizeof (bfd_byte))
-		  || bfd_bwrite (sym->name, (bfd_size_type) len, abfd) != len)
-		goto error_return;
-	    }
-	  nlm_fixed_header (abfd)->numberOfDebugRecords = c;
-	}
-    }
-
-  /* NLMLINK fills in offset values even if there is no data, so we do
-     the same.  */
-  last = bfd_tell (abfd);
-  if (nlm_fixed_header (abfd)->codeImageOffset == 0)
-    nlm_fixed_header (abfd)->codeImageOffset = last;
-  if (nlm_fixed_header (abfd)->dataImageOffset == 0)
-    nlm_fixed_header (abfd)->dataImageOffset = last;
-  if (nlm_fixed_header (abfd)->customDataOffset == 0)
-    nlm_fixed_header (abfd)->customDataOffset = last;
-  if (nlm_fixed_header (abfd)->moduleDependencyOffset == 0)
-    nlm_fixed_header (abfd)->moduleDependencyOffset = last;
-  if (nlm_fixed_header (abfd)->relocationFixupOffset == 0)
-    nlm_fixed_header (abfd)->relocationFixupOffset = last;
-  if (nlm_fixed_header (abfd)->externalReferencesOffset == 0)
-    nlm_fixed_header (abfd)->externalReferencesOffset = last;
-  if (nlm_fixed_header (abfd)->publicsOffset == 0)
-    nlm_fixed_header (abfd)->publicsOffset = last;
-  if (nlm_fixed_header (abfd)->debugInfoOffset == 0)
-    nlm_fixed_header (abfd)->debugInfoOffset = last;
-
-  /* At this point everything has been written out except the fixed
-     header.  */
-  memcpy (nlm_fixed_header (abfd)->signature, nlm_signature (abfd),
-	  NLM_SIGNATURE_SIZE);
-  nlm_fixed_header (abfd)->version = NLM_HEADER_VERSION;
-  nlm_fixed_header (abfd)->codeStartOffset =
-    (bfd_get_start_address (abfd)
-     - nlm_get_text_low (abfd));
-
-  /* We have no convenient way for the caller to pass in the exit
-     procedure or the check unload procedure, so the caller must set
-     the values in the header to the values of the symbols.  */
-  nlm_fixed_header (abfd)->exitProcedureOffset -= nlm_get_text_low (abfd);
-  if (nlm_fixed_header (abfd)->checkUnloadProcedureOffset != 0)
-    nlm_fixed_header (abfd)->checkUnloadProcedureOffset -=
-      nlm_get_text_low (abfd);
-
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
-    goto error_return;
-
-  write_prefix_func = nlm_write_prefix_func (abfd);
-  if (write_prefix_func)
-    {
-      if (! (*write_prefix_func) (abfd))
-	goto error_return;
-    }
-
-  BFD_ASSERT ((bfd_size_type) bfd_tell (abfd)
-	      == nlm_optional_prefix_size (abfd));
-
-  nlm_swap_fixed_header_out (abfd, nlm_fixed_header (abfd), fixed_header);
-  if (bfd_bwrite (fixed_header, nlm_fixed_header_size (abfd), abfd)
-      != nlm_fixed_header_size (abfd))
-    goto error_return;
-
-  if (fixed_header != NULL)
-    free (fixed_header);
-  return TRUE;
-
-error_return:
-  if (fixed_header != NULL)
-    free (fixed_header);
-  return FALSE;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlmswap.h ./bfd/nlmswap.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlmswap.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/nlmswap.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,153 +0,0 @@
-/* NLM (NetWare Loadable Module) swapping routines for BFD.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   Written by Fred Fish @ Cygnus Support, using ELF support as the
-   template.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/* Although this is a header file, it defines functions.  It is
-   included by NLM backends to define swapping functions that vary
-   from one NLM to another.  The backend code must arrange for
-   Nlm_External_xxxx to be defined appropriately, and can then include
-   this file to get the swapping routines.
-
-   At the moment this is only needed for one structure, the fixed NLM
-   file header.  */
-
-/* Translate an NLM fixed length file header in external format into an NLM
-   file header in internal format.  */
-
-static void
-nlm_swap_fixed_header_in (bfd *abfd,
-			  void * realsrc,
-			  Nlm_Internal_Fixed_Header *dst)
-{
-  Nlm_External_Fixed_Header *src = (Nlm_External_Fixed_Header *) realsrc;
-
-  memcpy (dst->signature, src->signature, NLM_SIGNATURE_SIZE);
-  memcpy (dst->moduleName, src->moduleName, NLM_MODULE_NAME_SIZE);
-  dst->version =
-    H_GET_32 (abfd, src->version);
-  dst->codeImageOffset =
-    H_GET_32 (abfd, src->codeImageOffset);
-  dst->codeImageSize =
-    H_GET_32 (abfd, src->codeImageSize);
-  dst->dataImageOffset =
-    H_GET_32 (abfd, src->dataImageOffset);
-  dst->dataImageSize =
-    H_GET_32 (abfd, src->dataImageSize);
-  dst->uninitializedDataSize =
-    H_GET_32 (abfd, src->uninitializedDataSize);
-  dst->customDataOffset =
-    H_GET_32 (abfd, src->customDataOffset);
-  dst->customDataSize =
-    H_GET_32 (abfd, src->customDataSize);
-  dst->moduleDependencyOffset =
-    H_GET_32 (abfd, src->moduleDependencyOffset);
-  dst->numberOfModuleDependencies =
-    H_GET_32 (abfd, src->numberOfModuleDependencies);
-  dst->relocationFixupOffset =
-    H_GET_32 (abfd, src->relocationFixupOffset);
-  dst->numberOfRelocationFixups =
-    H_GET_32 (abfd, src->numberOfRelocationFixups);
-  dst->externalReferencesOffset =
-    H_GET_32 (abfd, src->externalReferencesOffset);
-  dst->numberOfExternalReferences =
-    H_GET_32 (abfd, src->numberOfExternalReferences);
-  dst->publicsOffset =
-    H_GET_32 (abfd, src->publicsOffset);
-  dst->numberOfPublics =
-    H_GET_32 (abfd, src->numberOfPublics);
-  dst->debugInfoOffset =
-    H_GET_32 (abfd, src->debugInfoOffset);
-  dst->numberOfDebugRecords =
-    H_GET_32 (abfd, src->numberOfDebugRecords);
-  dst->codeStartOffset =
-    H_GET_32 (abfd, src->codeStartOffset);
-  dst->exitProcedureOffset =
-    H_GET_32 (abfd, src->exitProcedureOffset);
-  dst->checkUnloadProcedureOffset =
-    H_GET_32 (abfd, src->checkUnloadProcedureOffset);
-  dst->moduleType =
-    H_GET_32 (abfd, src->moduleType);
-  dst->flags =
-    H_GET_32 (abfd, src->flags);
-}
-
-/* Translate an NLM fixed length file header in internal format into
-   an NLM file header in external format.  */
-
-static void
-nlm_swap_fixed_header_out (bfd *abfd,
-			   Nlm_Internal_Fixed_Header *src,
-			   void * realdst)
-{
-  Nlm_External_Fixed_Header *dst = (Nlm_External_Fixed_Header *) realdst;
-
-  memset (dst, 0, sizeof *dst);
-  memcpy (dst->signature, src->signature, NLM_SIGNATURE_SIZE);
-  memcpy (dst->moduleName, src->moduleName, NLM_MODULE_NAME_SIZE);
-  H_PUT_32 (abfd, src->version,
-	    dst->version);
-  H_PUT_32 (abfd, src->codeImageOffset,
-	    dst->codeImageOffset);
-  H_PUT_32 (abfd, src->codeImageSize,
-	    dst->codeImageSize);
-  H_PUT_32 (abfd, src->dataImageOffset,
-	    dst->dataImageOffset);
-  H_PUT_32 (abfd, src->dataImageSize,
-	    dst->dataImageSize);
-  H_PUT_32 (abfd, src->uninitializedDataSize,
-	    dst->uninitializedDataSize);
-  H_PUT_32 (abfd, src->customDataOffset,
-	    dst->customDataOffset);
-  H_PUT_32 (abfd, src->customDataSize,
-	    dst->customDataSize);
-  H_PUT_32 (abfd, src->moduleDependencyOffset,
-	    dst->moduleDependencyOffset);
-  H_PUT_32 (abfd, src->numberOfModuleDependencies,
-	    dst->numberOfModuleDependencies);
-  H_PUT_32 (abfd, src->relocationFixupOffset,
-	    dst->relocationFixupOffset);
-  H_PUT_32 (abfd, src->numberOfRelocationFixups,
-	    dst->numberOfRelocationFixups);
-  H_PUT_32 (abfd, src->externalReferencesOffset,
-	    dst->externalReferencesOffset);
-  H_PUT_32 (abfd, src->numberOfExternalReferences,
-	    dst->numberOfExternalReferences);
-  H_PUT_32 (abfd, src->publicsOffset,
-	    dst->publicsOffset);
-  H_PUT_32 (abfd, src->numberOfPublics,
-	    dst->numberOfPublics);
-  H_PUT_32 (abfd, src->debugInfoOffset,
-	    dst->debugInfoOffset);
-  H_PUT_32 (abfd, src->numberOfDebugRecords,
-	    dst->numberOfDebugRecords);
-  H_PUT_32 (abfd, src->codeStartOffset,
-	    dst->codeStartOffset);
-  H_PUT_32 (abfd, src->exitProcedureOffset,
-	    dst->exitProcedureOffset);
-  H_PUT_32 (abfd, src->checkUnloadProcedureOffset,
-	    dst->checkUnloadProcedureOffset);
-  H_PUT_32 (abfd, src->moduleType,
-	    dst->moduleType);
-  H_PUT_32 (abfd, src->flags,
-	    dst->flags);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm-target.h ./bfd/nlm-target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/nlm-target.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/nlm-target.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,265 +0,0 @@
-/* Target definitions for 32/64-bit NLM (NetWare Loadable Module)
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define nlm_core_file_p _bfd_dummy_target
-
-#define nlm_get_symtab_upper_bound		nlmNAME (get_symtab_upper_bound)
-#define nlm_canonicalize_symtab			nlmNAME (canonicalize_symtab)
-#define nlm_make_empty_symbol			nlmNAME (make_empty_symbol)
-#define nlm_print_symbol			nlmNAME (print_symbol)
-#define nlm_get_symbol_info			nlmNAME (get_symbol_info)
-#define nlm_get_symbol_version_string		_bfd_nosymbols_get_symbol_version_string
-#define nlm_bfd_is_local_label_name		bfd_generic_is_local_label_name
-#define nlm_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
-#define nlm_get_lineno				_bfd_nosymbols_get_lineno
-#define nlm_find_nearest_line			_bfd_nosymbols_find_nearest_line
-#define nlm_find_line				_bfd_nosymbols_find_line
-#define nlm_find_inliner_info			_bfd_nosymbols_find_inliner_info
-#define nlm_bfd_make_debug_symbol		_bfd_nosymbols_bfd_make_debug_symbol
-#define nlm_read_minisymbols			_bfd_generic_read_minisymbols
-#define nlm_minisymbol_to_symbol		_bfd_generic_minisymbol_to_symbol
-
-#define nlm_get_reloc_upper_bound		nlmNAME (get_reloc_upper_bound)
-#define nlm_canonicalize_reloc			nlmNAME (canonicalize_reloc)
-#define nlm_set_reloc				_bfd_generic_set_reloc
-#define nlm_bfd_reloc_type_lookup		bfd_default_reloc_type_lookup
-#define nlm_bfd_reloc_name_lookup	  _bfd_norelocs_bfd_reloc_name_lookup
-#define nlm_set_section_contents		nlmNAME (set_section_contents)
-
-#define nlm_sizeof_headers			_bfd_nolink_sizeof_headers
-#define nlm_bfd_get_relocated_section_contents	bfd_generic_get_relocated_section_contents
-#define nlm_bfd_relax_section			bfd_generic_relax_section
-#define nlm_bfd_gc_sections			bfd_generic_gc_sections
-#define nlm_bfd_lookup_section_flags		bfd_generic_lookup_section_flags
-#define nlm_bfd_merge_sections			bfd_generic_merge_sections
-#define nlm_bfd_is_group_section		bfd_generic_is_group_section
-#define nlm_bfd_discard_group			bfd_generic_discard_group
-#define nlm_section_already_linked		_bfd_generic_section_already_linked
-#define nlm_bfd_define_common_symbol		bfd_generic_define_common_symbol
-#define nlm_bfd_define_start_stop		bfd_generic_define_start_stop
-#define nlm_bfd_link_hash_table_create		_bfd_generic_link_hash_table_create
-#define nlm_bfd_link_add_symbols		_bfd_generic_link_add_symbols
-#define nlm_bfd_link_just_syms			_bfd_generic_link_just_syms
-#define nlm_bfd_copy_link_hash_symbol_type \
-  _bfd_generic_copy_link_hash_symbol_type
-#define nlm_bfd_final_link			_bfd_generic_final_link
-#define nlm_bfd_link_split_section		_bfd_generic_link_split_section
-#define nlm_bfd_link_check_relocs		_bfd_generic_link_check_relocs
-
-/* This structure contains everything that BFD knows about a target.
-   It includes things like its byte order, name, what routines to call
-   to do various operations, etc.  Every BFD points to a target structure
-   with its "xvec" member.
-
-   There are two such structures here:  one for big-endian machines and
-   one for little-endian machines.   */
-
-/* Forward declaration for use when initialising alternative_target field.  */
-#ifdef TARGET_LITTLE_SYM
-extern const bfd_target TARGET_LITTLE_SYM;
-#endif
-
-#ifdef TARGET_BIG_SYM
-const bfd_target TARGET_BIG_SYM =
-{
-  /* Name: identify kind of target.  */
-  TARGET_BIG_NAME,
-
-  /* Flavour: general indication about file.  */
-  bfd_target_nlm_flavour,
-
-  /* Byteorder: data is big endian.  */
-  BFD_ENDIAN_BIG,
-
-  /* Header_byteorder: header is also big endian.  */
-  BFD_ENDIAN_BIG,
-
-  /* Object_flags: mask of all file flags.  */
-  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS
-   | WP_TEXT),
-
-  /* Section_flags: mask of all section flags.  */
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY
-   | SEC_CODE | SEC_DATA),
-
-   /* Leading_symbol_char: is the first char of a user symbol
-      predictable, and if so what is it.  */
-   0,
-
-  /* AR_pad_char: pad character for filenames within an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and/or os and should be independently tunable.  */
-  '/',
-
-  /* AR_max_namelen: maximum number of characters in an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and should be independently tunable.  This value is
-     a WAG (wild a** guess).  */
-  15,
-  0,				/* match priority.  */
-
-  /* Routines to byte-swap various sized integers from the data sections.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,
-
-  /* Routines to byte-swap various sized integers from the file headers.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,
-
-  /* bfd_check_format: check the format of a file being read.  */
-  { _bfd_dummy_target,		/* Unknown format.  */
-    nlmNAME (object_p),		/* Assembler/linker output (object file).  */
-    bfd_generic_archive_p,	/* An archive.  */
-    nlm_core_file_p		/* A core file.  */
-  },
-
-  /* bfd_set_format: set the format of a file being written.  */
-  { bfd_false,
-    nlm_mkobject,
-    _bfd_generic_mkarchive,
-    bfd_false
-  },
-
-  /* bfd_write_contents: write cached information into a file being written.  */
-  { bfd_false,
-    nlmNAME (write_object_contents),
-    _bfd_write_archive_contents,
-    bfd_false
-  },
-
-  /* Initialize a jump table with the standard macro.
-     All names start with "nlm".  */
-  BFD_JUMP_TABLE_GENERIC (_bfd_generic),
-  BFD_JUMP_TABLE_COPY (_bfd_generic),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-  BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
-  BFD_JUMP_TABLE_SYMBOLS (nlm),
-  BFD_JUMP_TABLE_RELOCS (nlm),
-  BFD_JUMP_TABLE_WRITE (nlm),
-  BFD_JUMP_TABLE_LINK (nlm),
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  /* Alternative endian target.  */
-#ifdef TARGET_LITTLE_SYM
-  & TARGET_LITTLE_SYM,
-#else
-  NULL,
-#endif
-
-  /* Backend_data.  */
-  (void *) TARGET_BACKEND_DATA
-};
-#endif
-
-#ifdef TARGET_LITTLE_SYM
-const bfd_target TARGET_LITTLE_SYM =
-{
-  /* Name: identify kind of target.  */
-  TARGET_LITTLE_NAME,
-
-  /* Flavour: general indication about file.  */
-  bfd_target_nlm_flavour,
-
-  /* Byteorder: data is little endian.  */
-  BFD_ENDIAN_LITTLE,
-
-  /* Header_byteorder: header is also little endian.  */
-  BFD_ENDIAN_LITTLE,
-
-  /* Object_flags: mask of all file flags.  */
-  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS
-   | WP_TEXT),
-
-  /* Section_flags: mask of all section flags.  */
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY
-   | SEC_DATA),
-
-   /* Leading_symbol_char: is the first char of a user symbol
-      predictable, and if so what is it.  */
-   0,
-
-  /* AR_pad_char: pad character for filenames within an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and/or os and should be independently tunable.  */
-  '/',
-
-  /* AR_max_namelen: maximum number of characters in an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and should be independently tunable.  This value is
-     a WAG (wild a** guess).  */
-  15,
-  0,				/* match priority.  */
-
-  /* Routines to byte-swap various sized integers from the data sections.  */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-  bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-  bfd_getl16, bfd_getl_signed_16, bfd_putl16,
-
-  /* Routines to byte-swap various sized integers from the file headers.  */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-  bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-  bfd_getl16, bfd_getl_signed_16, bfd_putl16,
-
-  /* bfd_check_format: check the format of a file being read.  */
-  { _bfd_dummy_target,		/* Unknown format.  */
-    nlmNAME(object_p),		/* Assembler/linker output (object file).  */
-    bfd_generic_archive_p,	/* An archive.  */
-    nlm_core_file_p		/* A core file.  */
-  },
-
-  /* bfd_set_format: set the format of a file being written.  */
-  { bfd_false,
-    nlm_mkobject,
-    _bfd_generic_mkarchive,
-    bfd_false
-  },
-
-  /* bfd_write_contents: write cached information into a file being written.  */
-  { bfd_false,
-    nlmNAME(write_object_contents),
-    _bfd_write_archive_contents,
-    bfd_false
-  },
-
-  /* Initialize a jump table with the standard macro.
-     All names start with "nlm".  */
-  BFD_JUMP_TABLE_GENERIC (_bfd_generic),
-  BFD_JUMP_TABLE_COPY (_bfd_generic),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-  BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
-  BFD_JUMP_TABLE_SYMBOLS (nlm),
-  BFD_JUMP_TABLE_RELOCS (nlm),
-  BFD_JUMP_TABLE_WRITE (nlm),
-  BFD_JUMP_TABLE_LINK (nlm),
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  /* Alternative endian target.  */
-#ifdef TARGET_BIG_SYM
-  & TARGET_BIG_SYM,
-#else
-  NULL,
-#endif
-
-  /* Backend_data.  */
-  (void *) TARGET_BACKEND_DATA
-};
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/oasys.c ./bfd/oasys.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/oasys.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/oasys.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,1253 +0,0 @@
-/* BFD back-end for oasys objects.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Steve Chamberlain of Cygnus Support, <sac@cygnus.com>.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define UNDERSCORE_HACK 1
-#include "sysdep.h"
-#include "bfd.h"
-#include "safe-ctype.h"
-#include "libbfd.h"
-#include "oasys.h"
-#include "liboasys.h"
-#include "libiberty.h"
-
-/* Read in all the section data and relocation stuff too.  */
-
-static bfd_boolean
-oasys_read_record (bfd *abfd, oasys_record_union_type *record)
-{
-  bfd_size_type amt = sizeof (record->header);
-
-  if (bfd_bread ((void *) record, amt, abfd) != amt)
-    return FALSE;
-
-  amt = record->header.length - sizeof (record->header);
-  if ((long) amt <= 0)
-    return TRUE;
-  if (bfd_bread ((void *) ((char *) record + sizeof (record->header)), amt, abfd)
-      != amt)
-    return FALSE;
-  return TRUE;
-}
-
-static size_t
-oasys_string_length (oasys_record_union_type *record)
-{
-  return record->header.length
-    - ((char *) record->symbol.name - (char *) record);
-}
-
-/* Slurp the symbol table by reading in all the records at the start file
-   till we get to the first section record.
-
-   We'll sort the symbolss into  two lists, defined and undefined. The
-   undefined symbols will be placed into the table according to their
-   refno.
-
-   We do this by placing all undefined symbols at the front of the table
-   moving in, and the defined symbols at the end of the table moving back.  */
-
-static bfd_boolean
-oasys_slurp_symbol_table (bfd *const abfd)
-{
-  oasys_record_union_type record;
-  oasys_data_type *data = OASYS_DATA (abfd);
-  bfd_boolean loop = TRUE;
-  asymbol *dest_defined;
-  asymbol *dest;
-  char *string_ptr;
-  bfd_size_type amt;
-
-  if (data->symbols != NULL)
-    return TRUE;
-
-  /* Buy enough memory for all the symbols and all the names.  */
-  amt = abfd->symcount;
-  amt *= sizeof (asymbol);
-  data->symbols = bfd_alloc (abfd, amt);
-
-  amt = data->symbol_string_length;
-#ifdef UNDERSCORE_HACK
-  /* Buy 1 more char for each symbol to keep the underscore in.  */
-  amt += abfd->symcount;
-#endif
-  data->strings = bfd_alloc (abfd, amt);
-
-  if (!data->symbols || !data->strings)
-    return FALSE;
-
-  dest_defined = data->symbols + abfd->symcount - 1;
-
-  string_ptr = data->strings;
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
-    return FALSE;
-  while (loop)
-    {
-      if (! oasys_read_record (abfd, &record))
-	return FALSE;
-
-      switch (record.header.type)
-	{
-	case oasys_record_is_header_enum:
-	  break;
-	case oasys_record_is_local_enum:
-	case oasys_record_is_symbol_enum:
-	  {
-	    int flag = record.header.type == (int) oasys_record_is_local_enum ?
-	    (BSF_LOCAL) : (BSF_GLOBAL | BSF_EXPORT);
-
-	    size_t length = oasys_string_length (&record);
-	    switch (record.symbol.relb & RELOCATION_TYPE_BITS)
-	      {
-	      case RELOCATION_TYPE_ABS:
-		dest = dest_defined--;
-		dest->section = bfd_abs_section_ptr;
-		dest->flags = 0;
-
-		break;
-	      case RELOCATION_TYPE_REL:
-		dest = dest_defined--;
-		dest->section =
-		  OASYS_DATA (abfd)->sections[record.symbol.relb &
-					      RELOCATION_SECT_BITS];
-		if (record.header.type == (int) oasys_record_is_local_enum)
-		  {
-		    dest->flags = BSF_LOCAL;
-		    if (dest->section == (asection *) (~0))
-		      {
-			/* It seems that sometimes internal symbols are tied up, but
-		       still get output, even though there is no
-		       section */
-			dest->section = 0;
-		      }
-		  }
-		else
-		  dest->flags = flag;
-		break;
-	      case RELOCATION_TYPE_UND:
-		dest = data->symbols + H_GET_16 (abfd, record.symbol.refno);
-		dest->section = bfd_und_section_ptr;
-		break;
-	      case RELOCATION_TYPE_COM:
-		dest = dest_defined--;
-		dest->name = string_ptr;
-		dest->the_bfd = abfd;
-		dest->section = bfd_com_section_ptr;
-		break;
-	      default:
-		dest = dest_defined--;
-		BFD_ASSERT (FALSE);
-		break;
-	      }
-	    dest->name = string_ptr;
-	    dest->the_bfd = abfd;
-	    dest->udata.p = NULL;
-	    dest->value = H_GET_32 (abfd, record.symbol.value);
-
-#ifdef UNDERSCORE_HACK
-	    if (record.symbol.name[0] != '_')
-	      {
-		string_ptr[0] = '_';
-		string_ptr++;
-	      }
-#endif
-	    memcpy (string_ptr, record.symbol.name, length);
-
-	    string_ptr[length] = 0;
-	    string_ptr += length + 1;
-	  }
-	  break;
-	default:
-	  loop = FALSE;
-	}
-    }
-  return TRUE;
-}
-
-static long
-oasys_get_symtab_upper_bound (bfd *const abfd)
-{
-  if (! oasys_slurp_symbol_table (abfd))
-    return -1;
-
-  return (abfd->symcount + 1) * (sizeof (oasys_symbol_type *));
-}
-
-extern const bfd_target oasys_vec;
-
-static long
-oasys_canonicalize_symtab (bfd *abfd, asymbol **location)
-{
-  asymbol *symbase;
-  unsigned int counter;
-
-  if (! oasys_slurp_symbol_table (abfd))
-    return -1;
-
-  symbase = OASYS_DATA (abfd)->symbols;
-  for (counter = 0; counter < abfd->symcount; counter++)
-    *(location++) = symbase++;
-
-  *location = 0;
-  return abfd->symcount;
-}
-
-/* Archive stuff.  */
-
-static const bfd_target *
-oasys_archive_p (bfd *abfd)
-{
-  oasys_archive_header_type header;
-  oasys_extarchive_header_type header_ext;
-  unsigned int i;
-  file_ptr filepos;
-  bfd_size_type amt;
-
-  amt = sizeof (header_ext);
-  if (bfd_seek (abfd, (file_ptr) 0, 0) != 0
-      || bfd_bread ((void *) &header_ext, amt, abfd) != amt)
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-	bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  header.version = H_GET_32 (abfd, header_ext.version);
-  header.mod_count = H_GET_32 (abfd, header_ext.mod_count);
-  header.mod_tbl_offset = H_GET_32 (abfd, header_ext.mod_tbl_offset);
-  header.sym_tbl_size = H_GET_32 (abfd, header_ext.sym_tbl_size);
-  header.sym_count = H_GET_32 (abfd, header_ext.sym_count);
-  header.sym_tbl_offset = H_GET_32 (abfd, header_ext.sym_tbl_offset);
-  header.xref_count = H_GET_32 (abfd, header_ext.xref_count);
-  header.xref_lst_offset = H_GET_32 (abfd, header_ext.xref_lst_offset);
-
-  /* There isn't a magic number in an Oasys archive, so the best we
-     can do to verify reasonableness is to make sure that the values in
-     the header are too weird.  */
-
-  if (header.version > 10000
-      || header.mod_count > 10000
-      || header.sym_count > 100000
-      || header.xref_count > 100000)
-    return NULL;
-
-  /* That all worked, let's buy the space for the header and read in
-     the headers.  */
-  {
-    oasys_ar_data_type *ar;
-    oasys_module_info_type *module;
-    oasys_module_table_type record;
-
-    amt = sizeof (oasys_ar_data_type);
-    ar = bfd_alloc (abfd, amt);
-
-    amt = header.mod_count;
-    amt *= sizeof (oasys_module_info_type);
-    module = bfd_alloc (abfd, amt);
-
-    if (!ar || !module)
-      return NULL;
-
-    abfd->tdata.oasys_ar_data = ar;
-    ar->module = module;
-    ar->module_count = header.mod_count;
-
-    filepos = header.mod_tbl_offset;
-    for (i = 0; i < header.mod_count; i++)
-      {
-	oasys_extmodule_table_type_b_type record_ext;
-
-	if (bfd_seek (abfd, filepos, SEEK_SET) != 0)
-	  return NULL;
-
-	/* There are two ways of specifying the archive header.  */
-	amt = sizeof (record_ext);
-	if (bfd_bread ((void *) &record_ext, amt, abfd) != amt)
-	  return NULL;
-
-	record.mod_size = H_GET_32 (abfd, record_ext.mod_size);
-	record.file_offset = H_GET_32 (abfd, record_ext.file_offset);
-
-	record.dep_count = H_GET_32 (abfd, record_ext.dep_count);
-	record.depee_count = H_GET_32 (abfd, record_ext.depee_count);
-	record.sect_count = H_GET_32 (abfd, record_ext.sect_count);
-	record.module_name_size = H_GET_32 (abfd,
-					    record_ext.mod_name_length);
-
-	amt = record.module_name_size;
-	module[i].name = bfd_alloc (abfd, amt + 1);
-	if (!module[i].name)
-	  return NULL;
-	if (bfd_bread ((void *) module[i].name, amt, abfd) != amt)
-	  return NULL;
-	module[i].name[record.module_name_size] = 0;
-	filepos += (sizeof (record_ext)
-		    + record.dep_count * 4
-		    + record.module_name_size + 1);
-
-	module[i].size = record.mod_size;
-	module[i].pos = record.file_offset;
-	module[i].abfd = 0;
-      }
-  }
-  return abfd->xvec;
-}
-
-static bfd_boolean
-oasys_mkobject (bfd *abfd)
-{
-  bfd_size_type amt = sizeof (oasys_data_type);
-
-  abfd->tdata.oasys_obj_data = bfd_alloc (abfd, amt);
-
-  return abfd->tdata.oasys_obj_data != NULL;
-}
-
-/* The howto table is build using the top two bits of a reloc byte to
-   index into it. The bits are PCREL,WORD/LONG.  */
-
-static reloc_howto_type howto_table[] =
-{
-
-  HOWTO (0, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, 0, "abs16",   TRUE, 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (0, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, 0, "abs32",   TRUE, 0xffffffff, 0xffffffff, FALSE),
-  HOWTO (0, 0, 1, 16, TRUE,  0, complain_overflow_signed,   0, "pcrel16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (0, 0, 2, 32, TRUE,  0, complain_overflow_signed,   0, "pcrel32", TRUE, 0xffffffff, 0xffffffff, FALSE)
-};
-
-/* Read in all the section data and relocation stuff too.  */
-
-static bfd_boolean
-oasys_slurp_section_data (bfd *const abfd)
-{
-  oasys_record_union_type record;
-  oasys_data_type *data = OASYS_DATA (abfd);
-  bfd_boolean loop = TRUE;
-  oasys_per_section_type *per;
-  asection *s;
-  bfd_size_type amt;
-
-  /* See if the data has been slurped already.  */
-  for (s = abfd->sections; s != NULL; s = s->next)
-    {
-      per = oasys_per_section (s);
-      if (per->initialized)
-	return TRUE;
-    }
-
-  if (data->first_data_record == 0)
-    return TRUE;
-
-  if (bfd_seek (abfd, data->first_data_record, SEEK_SET) != 0)
-    return FALSE;
-
-  while (loop)
-    {
-      if (! oasys_read_record (abfd, &record))
-	return FALSE;
-
-      switch (record.header.type)
-	{
-	case oasys_record_is_header_enum:
-	  break;
-	case oasys_record_is_data_enum:
-	  {
-	    bfd_byte *src = record.data.data;
-	    bfd_byte *end_src = ((bfd_byte *) & record) + record.header.length;
-	    bfd_byte *dst_ptr;
-	    bfd_byte *dst_base_ptr;
-	    unsigned int relbit;
-	    unsigned int count;
-	    asection *section =
-	    data->sections[record.data.relb & RELOCATION_SECT_BITS];
-	    bfd_vma dst_offset;
-
-	    per = oasys_per_section (section);
-
-	    if (! per->initialized)
-	      {
-		arelent **relpp;
-
-		per->data = bfd_zalloc (abfd, section->size);
-		if (!per->data)
-		  return FALSE;
-		relpp = &section->relocation;
-		per->reloc_tail_ptr = (oasys_reloc_type **) relpp;
-		per->had_vma = FALSE;
-		per->initialized = TRUE;
-		section->reloc_count = 0;
-		section->flags = SEC_ALLOC;
-	      }
-
-	    dst_offset = H_GET_32 (abfd, record.data.addr);
-	    if (! per->had_vma)
-	      {
-		/* Take the first vma we see as the base.  */
-		section->vma = dst_offset;
-		per->had_vma = TRUE;
-	      }
-
-	    dst_offset -= section->vma;
-
-	    dst_base_ptr = oasys_per_section (section)->data;
-	    dst_ptr = oasys_per_section (section)->data +
-	      dst_offset;
-
-	    if (src < end_src)
-	      section->flags |= SEC_LOAD | SEC_HAS_CONTENTS;
-
-	    while (src < end_src)
-	      {
-		unsigned char mod_byte = *src++;
-		size_t gap = end_src - src;
-
-		count = 8;
-		if (mod_byte == 0 && gap >= 8)
-		  {
-		    dst_ptr[0] = src[0];
-		    dst_ptr[1] = src[1];
-		    dst_ptr[2] = src[2];
-		    dst_ptr[3] = src[3];
-		    dst_ptr[4] = src[4];
-		    dst_ptr[5] = src[5];
-		    dst_ptr[6] = src[6];
-		    dst_ptr[7] = src[7];
-		    dst_ptr += 8;
-		    src += 8;
-		  }
-		else
-		  {
-		    for (relbit = 1; count-- != 0 && src < end_src; relbit <<= 1)
-		      {
-			if (relbit & mod_byte)
-			  {
-			    unsigned char reloc = *src;
-			    /* This item needs to be relocated.  */
-			    switch (reloc & RELOCATION_TYPE_BITS)
-			      {
-			      case RELOCATION_TYPE_ABS:
-				break;
-
-			      case RELOCATION_TYPE_REL:
-				{
-				  /* Relocate the item relative to the section.  */
-				  oasys_reloc_type *r;
-
-				  amt = sizeof (oasys_reloc_type);
-				  r = bfd_alloc (abfd, amt);
-				  if (!r)
-				    return FALSE;
-				  *(per->reloc_tail_ptr) = r;
-				  per->reloc_tail_ptr = &r->next;
-				  r->next = NULL;
-				  /* Reference to undefined symbol.  */
-				  src++;
-				  /* There is no symbol.  */
-				  r->symbol = 0;
-				  /* Work out the howto.  */
-				  abort ();
-				  r->relent.address = dst_ptr - dst_base_ptr;
-				  r->relent.howto = &howto_table[reloc >> 6];
-				  r->relent.sym_ptr_ptr = NULL;
-				  section->reloc_count++;
-
-				  /* Fake up the data to look like
-				     it's got the -ve pc in it, this
-				     makes it much easier to convert
-				     into other formats.  This is done
-				     by hitting the addend.  */
-				  if (r->relent.howto->pc_relative)
-				    r->relent.addend -= dst_ptr - dst_base_ptr;
-				}
-				break;
-
-			      case RELOCATION_TYPE_UND:
-				{
-				  oasys_reloc_type *r;
-
-				  amt = sizeof (oasys_reloc_type);
-				  r = bfd_alloc (abfd, amt);
-				  if (!r)
-				    return FALSE;
-				  *(per->reloc_tail_ptr) = r;
-				  per->reloc_tail_ptr = &r->next;
-				  r->next = NULL;
-				  /* Reference to undefined symbol.  */
-				  src++;
-				  /* Get symbol number.  */
-				  r->symbol = (src[0] << 8) | src[1];
-				  /* Work out the howto.  */
-				  abort ();
-
-				  r->relent.addend = 0;
-				  r->relent.address = dst_ptr - dst_base_ptr;
-				  r->relent.howto = &howto_table[reloc >> 6];
-				  r->relent.sym_ptr_ptr = NULL;
-				  section->reloc_count++;
-
-				  src += 2;
-				  /* Fake up the data to look like
-				     it's got the -ve pc in it, this
-				     makes it much easier to convert
-				     into other formats.  This is done
-				     by hitting the addend.  */
-				  if (r->relent.howto->pc_relative)
-				    r->relent.addend -= dst_ptr - dst_base_ptr;
-				}
-				break;
-			      case RELOCATION_TYPE_COM:
-				BFD_FAIL ();
-			      }
-			  }
-			*dst_ptr++ = *src++;
-		      }
-		  }
-	      }
-	  }
-	  break;
-	case oasys_record_is_local_enum:
-	case oasys_record_is_symbol_enum:
-	case oasys_record_is_section_enum:
-	  break;
-	default:
-	  loop = FALSE;
-	}
-    }
-
-  return TRUE;
-
-}
-
-#define MAX_SECS 16
-
-static const bfd_target *
-oasys_object_p (bfd *abfd)
-{
-  oasys_data_type *oasys;
-  oasys_data_type *save = OASYS_DATA (abfd);
-  bfd_boolean loop = TRUE;
-  bfd_boolean had_usefull = FALSE;
-
-  abfd->tdata.oasys_obj_data = 0;
-  oasys_mkobject (abfd);
-  oasys = OASYS_DATA (abfd);
-  memset ((void *) oasys->sections, 0xff, sizeof (oasys->sections));
-
-  /* Point to the start of the file.  */
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
-    goto fail;
-  oasys->symbol_string_length = 0;
-
-  /* Inspect the records, but only keep the section info -
-     remember the size of the symbols.  */
-  oasys->first_data_record = 0;
-  while (loop)
-    {
-      oasys_record_union_type record;
-      if (! oasys_read_record (abfd, &record))
-	goto fail;
-      if ((size_t) record.header.length < (size_t) sizeof (record.header))
-	goto fail;
-
-      switch ((oasys_record_enum_type) (record.header.type))
-	{
-	case oasys_record_is_header_enum:
-	  had_usefull = TRUE;
-	  break;
-	case oasys_record_is_symbol_enum:
-	case oasys_record_is_local_enum:
-	  /* Count symbols and remember their size for a future malloc.  */
-	  abfd->symcount++;
-	  oasys->symbol_string_length += 1 + oasys_string_length (&record);
-	  had_usefull = TRUE;
-	  break;
-	case oasys_record_is_section_enum:
-	  {
-	    asection *s;
-	    char *buffer;
-	    unsigned int section_number;
-
-	    if (record.section.header.length != sizeof (record.section))
-	      goto fail;
-
-	    buffer = bfd_alloc (abfd, (bfd_size_type) 3);
-	    if (!buffer)
-	      goto fail;
-	    section_number = record.section.relb & RELOCATION_SECT_BITS;
-	    sprintf (buffer, "%u", section_number);
-	    s = bfd_make_section (abfd, buffer);
-	    oasys->sections[section_number] = s;
-	    switch (record.section.relb & RELOCATION_TYPE_BITS)
-	      {
-	      case RELOCATION_TYPE_ABS:
-	      case RELOCATION_TYPE_REL:
-		break;
-	      case RELOCATION_TYPE_UND:
-	      case RELOCATION_TYPE_COM:
-		BFD_FAIL ();
-	      }
-
-	    s->size = H_GET_32 (abfd, record.section.value);
-	    s->vma = H_GET_32 (abfd, record.section.vma);
-	    s->flags = 0;
-	    had_usefull = TRUE;
-	  }
-	  break;
-	case oasys_record_is_data_enum:
-	  oasys->first_data_record = bfd_tell (abfd) - record.header.length;
-	  /* Fall through.  */
-	case oasys_record_is_debug_enum:
-	case oasys_record_is_module_enum:
-	case oasys_record_is_named_section_enum:
-	case oasys_record_is_end_enum:
-	  if (! had_usefull)
-	    goto fail;
-	  loop = FALSE;
-	  break;
-	default:
-	  goto fail;
-	}
-    }
-  oasys->symbols = NULL;
-
-  /* Oasys support several architectures, but I can't see a simple way
-     to discover which one is in a particular file - we'll guess.  */
-  bfd_default_set_arch_mach (abfd, bfd_arch_m68k, 0);
-  if (abfd->symcount != 0)
-    abfd->flags |= HAS_SYMS;
-
-  /* We don't know if a section has data until we've read it.  */
-  oasys_slurp_section_data (abfd);
-
-  return abfd->xvec;
-
-fail:
-  (void) bfd_release (abfd, oasys);
-  abfd->tdata.oasys_obj_data = save;
-  return NULL;
-}
-
-
-static void
-oasys_get_symbol_info (bfd *ignore_abfd ATTRIBUTE_UNUSED,
-		       asymbol *symbol,
-		       symbol_info *ret)
-{
-  bfd_symbol_info (symbol, ret);
-
-  if (!symbol->section)
-    ret->type = (symbol->flags & BSF_LOCAL) ? 'a' : 'A';
-}
-
-static void
-oasys_print_symbol (bfd *abfd, void * afile, asymbol *symbol, bfd_print_symbol_type how)
-{
-  FILE *file = (FILE *) afile;
-
-  switch (how)
-    {
-    case bfd_print_symbol_name:
-    case bfd_print_symbol_more:
-      fprintf (file, "%s", symbol->name);
-      break;
-    case bfd_print_symbol_all:
-      {
-	const char *section_name = symbol->section == NULL ?
-	(const char *) "*abs" : symbol->section->name;
-
-	bfd_print_symbol_vandf (abfd, (void *) file, symbol);
-
-	fprintf (file, " %-5s %s",
-		 section_name,
-		 symbol->name);
-      }
-      break;
-    }
-}
-
-static bfd_boolean
-oasys_new_section_hook (bfd *abfd, asection *newsect)
-{
-  if (!newsect->used_by_bfd)
-    {
-      newsect->used_by_bfd
-	= bfd_alloc (abfd, (bfd_size_type) sizeof (oasys_per_section_type));
-      if (!newsect->used_by_bfd)
-	return FALSE;
-    }
-  oasys_per_section (newsect)->data = NULL;
-  oasys_per_section (newsect)->section = newsect;
-  oasys_per_section (newsect)->offset = 0;
-  oasys_per_section (newsect)->initialized = FALSE;
-  newsect->alignment_power = 1;
-
-  /* Turn the section string into an index.  */
-  sscanf (newsect->name, "%u", &newsect->target_index);
-
-  return _bfd_generic_new_section_hook (abfd, newsect);
-}
-
-
-static long
-oasys_get_reloc_upper_bound (bfd *abfd, sec_ptr asect)
-{
-  if (! oasys_slurp_section_data (abfd))
-    return -1;
-  return (asect->reloc_count + 1) * sizeof (arelent *);
-}
-
-static bfd_boolean
-oasys_get_section_contents (bfd *abfd,
-			    sec_ptr section,
-			    void * location,
-			    file_ptr offset,
-			    bfd_size_type count)
-{
-  oasys_per_section_type *p = oasys_per_section (section);
-
-  oasys_slurp_section_data (abfd);
-
-  if (! p->initialized)
-    (void) memset (location, 0, (size_t) count);
-  else
-    (void) memcpy (location, (void *) (p->data + offset), (size_t) count);
-
-  return TRUE;
-}
-
-static long
-oasys_canonicalize_reloc (bfd *ignore_abfd ATTRIBUTE_UNUSED,
-			  sec_ptr section,
-			  arelent **relptr,
-			  asymbol **symbols ATTRIBUTE_UNUSED)
-{
-  unsigned int reloc_count = 0;
-  oasys_reloc_type *src = (oasys_reloc_type *) (section->relocation);
-
-  if (src != NULL)
-    abort ();
-
-  *relptr = NULL;
-  return section->reloc_count = reloc_count;
-}
-
-
-/* Writing.  */
-
-/* Calculate the checksum and write one record.  */
-
-static bfd_boolean
-oasys_write_record (bfd *abfd,
-		    oasys_record_enum_type type,
-		    oasys_record_union_type *record,
-		    size_t size)
-{
-  int checksum;
-  size_t i;
-  unsigned char *ptr;
-
-  record->header.length = size;
-  record->header.type = (int) type;
-  record->header.check_sum = 0;
-  record->header.fill = 0;
-  ptr = (unsigned char *) &record->pad[0];
-  checksum = 0;
-  for (i = 0; i < size; i++)
-    checksum += *ptr++;
-  record->header.check_sum = 0xff & (-checksum);
-  if (bfd_bwrite ((void *) record, (bfd_size_type) size, abfd) != size)
-    return FALSE;
-  return TRUE;
-}
-
-
-/* Write out all the symbols.  */
-
-static bfd_boolean
-oasys_write_syms (bfd *abfd)
-{
-  unsigned int count;
-  asymbol **generic = bfd_get_outsymbols (abfd);
-  unsigned int sym_index = 0;
-
-  for (count = 0; count < bfd_get_symcount (abfd); count++)
-    {
-      oasys_symbol_record_type symbol;
-      asymbol *const g = generic[count];
-      const char *src = g->name;
-      char *dst = symbol.name;
-      unsigned int l = 0;
-
-      if (bfd_is_com_section (g->section))
-	{
-	  symbol.relb = RELOCATION_TYPE_COM;
-	  H_PUT_16 (abfd, sym_index, symbol.refno);
-	  sym_index++;
-	}
-      else if (bfd_is_abs_section (g->section))
-	{
-	  symbol.relb = RELOCATION_TYPE_ABS;
-	  H_PUT_16 (abfd, 0, symbol.refno);
-	}
-      else if (bfd_is_und_section (g->section))
-	{
-	  symbol.relb = RELOCATION_TYPE_UND;
-	  H_PUT_16 (abfd, sym_index, symbol.refno);
-	  /* Overload the value field with the output sym_index number */
-	  sym_index++;
-	}
-      else if (g->flags & BSF_DEBUGGING)
-	/* Throw it away.  */
-	continue;
-      else
-	{
-	  if (g->section == NULL)
-	    /* Sometime, the oasys tools give out a symbol with illegal
-	       bits in it, we'll output it in the same broken way.  */
-	    symbol.relb = RELOCATION_TYPE_REL | 0;
-	  else
-	    symbol.relb = RELOCATION_TYPE_REL | g->section->output_section->target_index;
-
-	  H_PUT_16 (abfd, 0, symbol.refno);
-	}
-
-#ifdef UNDERSCORE_HACK
-      if (src[l] == '_')
-	dst[l++] = '.';
-#endif
-      while (src[l])
-	{
-	  dst[l] = src[l];
-	  l++;
-	}
-
-      H_PUT_32 (abfd, g->value, symbol.value);
-
-      if (g->flags & BSF_LOCAL)
-	{
-	  if (! oasys_write_record (abfd,
-				    oasys_record_is_local_enum,
-				    (oasys_record_union_type *) & symbol,
-				    offsetof (oasys_symbol_record_type,
-					      name[0]) + l))
-	    return FALSE;
-	}
-      else
-	{
-	  if (! oasys_write_record (abfd,
-				    oasys_record_is_symbol_enum,
-				    (oasys_record_union_type *) & symbol,
-				    offsetof (oasys_symbol_record_type,
-					      name[0]) + l))
-	    return FALSE;
-	}
-      g->value = sym_index - 1;
-    }
-
-  return TRUE;
-}
-
-/* Write a section header for each section.  */
-
-static bfd_boolean
-oasys_write_sections (bfd *abfd)
-{
-  asection *s;
-  static oasys_section_record_type out;
-
-  for (s = abfd->sections; s != NULL; s = s->next)
-    {
-      if (!ISDIGIT (s->name[0]))
-	{
-	  _bfd_error_handler
-	    /* xgettext:c-format */
-	    (_("%B: can not represent section `%A' in oasys"), abfd, s);
-	  bfd_set_error (bfd_error_nonrepresentable_section);
-	  return FALSE;
-	}
-      out.relb = RELOCATION_TYPE_REL | s->target_index;
-      H_PUT_32 (abfd, s->size, out.value);
-      H_PUT_32 (abfd, s->vma, out.vma);
-
-      if (! oasys_write_record (abfd,
-				oasys_record_is_section_enum,
-				(oasys_record_union_type *) & out,
-				sizeof (out)))
-	return FALSE;
-    }
-  return TRUE;
-}
-
-static bfd_boolean
-oasys_write_header (bfd *abfd)
-{
-  /* Create and write the header.  */
-  oasys_header_record_type r;
-  size_t length = strlen (abfd->filename);
-
-  if (length > (size_t) sizeof (r.module_name))
-    length = sizeof (r.module_name);
-  else if (length < (size_t) sizeof (r.module_name))
-    (void) memset (r.module_name + length, ' ',
-		   sizeof (r.module_name) - length);
-
-  (void) memcpy (r.module_name, abfd->filename, length);
-
-  r.version_number = OASYS_VERSION_NUMBER;
-  r.rev_number = OASYS_REV_NUMBER;
-
-  return oasys_write_record (abfd, oasys_record_is_header_enum,
-			     (oasys_record_union_type *) & r,
-			     offsetof (oasys_header_record_type,
-				       description[0]));
-}
-
-static bfd_boolean
-oasys_write_end (bfd *abfd)
-{
-  oasys_end_record_type end;
-  unsigned char null = 0;
-
-  end.relb = RELOCATION_TYPE_ABS;
-  H_PUT_32 (abfd, abfd->start_address, end.entry);
-  H_PUT_16 (abfd, 0, end.fill);
-  end.zero = 0;
-  if (! oasys_write_record (abfd,
-			    oasys_record_is_end_enum,
-			    (oasys_record_union_type *) & end,
-			    sizeof (end)))
-    return FALSE;
-
-  return bfd_bwrite ((void *) &null, (bfd_size_type) 1, abfd) == 1;
-}
-
-static int
-comp (const void * ap, const void * bp)
-{
-  arelent *a = *((arelent **) ap);
-  arelent *b = *((arelent **) bp);
-
-  return a->address - b->address;
-}
-
-static bfd_boolean
-oasys_write_data (bfd *abfd)
-{
-  asection *s;
-
-  for (s = abfd->sections; s != NULL; s = s->next)
-    {
-      if (s->flags & SEC_LOAD)
-	{
-	  bfd_byte *raw_data = oasys_per_section (s)->data;
-	  oasys_data_record_type processed_data;
-	  bfd_size_type current_byte_index = 0;
-	  unsigned int relocs_to_go = s->reloc_count;
-	  arelent **p = s->orelocation;
-
-	  if (s->reloc_count != 0)
-	    /* Sort the reloc records so it's easy to insert the relocs into the
-	       data.  */
-	    qsort (s->orelocation, s->reloc_count, sizeof (arelent **), comp);
-
-	  current_byte_index = 0;
-	  processed_data.relb = s->target_index | RELOCATION_TYPE_REL;
-
-	  while (current_byte_index < s->size)
-	    {
-	      /* Scan forwards by eight bytes or however much is left and see if
-	       there are any relocations going on.  */
-	      bfd_byte *mod = &processed_data.data[0];
-	      bfd_byte *dst = &processed_data.data[1];
-
-	      unsigned int i = 0;
-	      *mod = 0;
-
-	      H_PUT_32 (abfd, s->vma + current_byte_index,
-			processed_data.addr);
-
-	      /* Don't start a relocation unless you're sure you can finish it
-		 within the same data record.  The worst case relocation is a
-		 4-byte relocatable value which is split across two modification
-		 bytes (1 relocation byte + 2 symbol reference bytes + 2 data +
-		 1 modification byte + 2 data = 8 bytes total).  That's where
-		 the magic number 8 comes from.  */
-	      while (current_byte_index < s->size && dst <=
-		     & processed_data.data[sizeof (processed_data.data) - 8])
-		{
-		  if (relocs_to_go != 0)
-		    {
-		      arelent *r = *p;
-
-		      /* There is a relocation, is it for this byte ?  */
-		      if (r->address == current_byte_index)
-			abort ();
-		    }
-
-		  /* If this is coming from an unloadable section then copy
-		     zeros.  */
-		  if (raw_data == NULL)
-		    *dst++ = 0;
-		  else
-		    *dst++ = *raw_data++;
-
-		  if (++i >= 8)
-		    {
-		      i = 0;
-		      mod = dst++;
-		      *mod = 0;
-		    }
-		  current_byte_index++;
-		}
-
-	      /* Don't write a useless null modification byte.  */
-	      if (dst == mod + 1)
-		--dst;
-
-	      if (! (oasys_write_record
-		     (abfd, oasys_record_is_data_enum,
-		      ((oasys_record_union_type *) &processed_data),
-		      (size_t) (dst - (bfd_byte *) &processed_data))))
-		return FALSE;
-	    }
-	}
-    }
-
-  return TRUE;
-}
-
-static bfd_boolean
-oasys_write_object_contents (bfd *abfd)
-{
-  if (! oasys_write_header (abfd))
-    return FALSE;
-  if (! oasys_write_syms (abfd))
-    return FALSE;
-  if (! oasys_write_sections (abfd))
-    return FALSE;
-  if (! oasys_write_data (abfd))
-    return FALSE;
-  if (! oasys_write_end (abfd))
-    return FALSE;
-  return TRUE;
-}
-
-/* Set section contents is complicated with OASYS since the format is
-   not a byte image, but a record stream.  */
-
-static bfd_boolean
-oasys_set_section_contents (bfd *abfd,
-			    sec_ptr section,
-			    const void * location,
-			    file_ptr offset,
-			    bfd_size_type count)
-{
-  if (count != 0)
-    {
-      if (oasys_per_section (section)->data == NULL)
-	{
-	  oasys_per_section (section)->data = bfd_alloc (abfd, section->size);
-	  if (!oasys_per_section (section)->data)
-	    return FALSE;
-	}
-      (void) memcpy ((void *) (oasys_per_section (section)->data + offset),
-		     location, (size_t) count);
-    }
-  return TRUE;
-}
-
-
-
-/* Native-level interface to symbols.  */
-
-/* We read the symbols into a buffer, which is discarded when this
-   function exits.  We read the strings into a buffer large enough to
-   hold them all plus all the cached symbol entries.  */
-
-static asymbol *
-oasys_make_empty_symbol (bfd *abfd)
-{
-  bfd_size_type amt = sizeof (oasys_symbol_type);
-  oasys_symbol_type *new_symbol_type = bfd_zalloc (abfd, amt);
-
-  if (!new_symbol_type)
-    return NULL;
-  new_symbol_type->symbol.the_bfd = abfd;
-  return &new_symbol_type->symbol;
-}
-
-/* User should have checked the file flags; perhaps we should return
-   BFD_NO_MORE_SYMBOLS if there are none?  */
-
-static bfd *
-oasys_openr_next_archived_file (bfd *arch, bfd *prev)
-{
-  oasys_ar_data_type *ar = OASYS_AR_DATA (arch);
-  oasys_module_info_type *p;
-
-  /* Take the next one from the arch state, or reset.  */
-  if (prev == NULL)
-    /* Reset the index - the first two entries are bogus.  */
-    ar->module_index = 0;
-
-  p = ar->module + ar->module_index;
-  ar->module_index++;
-
-  if (ar->module_index <= ar->module_count)
-    {
-      if (p->abfd == NULL)
-	{
-	  p->abfd = _bfd_create_empty_archive_element_shell (arch);
-	  p->abfd->origin = p->pos;
-	  p->abfd->filename = xstrdup (p->name);
-
-	  /* Fixup a pointer to this element for the member.  */
-	  p->abfd->arelt_data = (void *) p;
-	}
-      return p->abfd;
-    }
-
-  bfd_set_error (bfd_error_no_more_archived_files);
-  return NULL;
-}
-
-#define oasys_find_nearest_line _bfd_nosymbols_find_nearest_line
-#define oasys_find_line		_bfd_nosymbols_find_line
-#define oasys_find_inliner_info _bfd_nosymbols_find_inliner_info
-
-static int
-oasys_generic_stat_arch_elt (bfd *abfd, struct stat *buf)
-{
-  oasys_module_info_type *mod = (oasys_module_info_type *) abfd->arelt_data;
-
-  if (mod == NULL)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return -1;
-    }
-
-  buf->st_size = mod->size;
-  buf->st_mode = 0666;
-  return 0;
-}
-
-static int
-oasys_sizeof_headers (bfd *abfd ATTRIBUTE_UNUSED,
-		      struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  return 0;
-}
-
-#define	oasys_close_and_cleanup			   _bfd_generic_close_and_cleanup
-#define oasys_bfd_free_cached_info		   _bfd_generic_bfd_free_cached_info
-#define oasys_slurp_armap			   bfd_true
-#define oasys_slurp_extended_name_table		   bfd_true
-#define oasys_construct_extended_name_table	   ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) bfd_true)
-#define oasys_truncate_arname			   bfd_dont_truncate_arname
-#define oasys_write_armap			   ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) bfd_true)
-#define oasys_read_ar_hdr			   bfd_nullvoidptr
-#define oasys_write_ar_hdr ((bfd_boolean (*) (bfd *, bfd *)) bfd_false)
-#define oasys_get_elt_at_index			   _bfd_generic_get_elt_at_index
-#define oasys_update_armap_timestamp		   bfd_true
-#define oasys_bfd_is_local_label_name		   bfd_generic_is_local_label_name
-#define oasys_bfd_is_target_special_symbol	   ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
-#define oasys_get_lineno			   _bfd_nosymbols_get_lineno
-#define oasys_get_symbol_version_string		   _bfd_nosymbols_get_symbol_version_string
-#define oasys_bfd_make_debug_symbol		   _bfd_nosymbols_bfd_make_debug_symbol
-#define oasys_read_minisymbols			   _bfd_generic_read_minisymbols
-#define oasys_minisymbol_to_symbol		   _bfd_generic_minisymbol_to_symbol
-#define oasys_bfd_reloc_type_lookup		   _bfd_norelocs_bfd_reloc_type_lookup
-#define oasys_bfd_reloc_name_lookup	     _bfd_norelocs_bfd_reloc_name_lookup
-#define oasys_set_arch_mach			   bfd_default_set_arch_mach
-#define oasys_get_section_contents_in_window	   _bfd_generic_get_section_contents_in_window
-#define oasys_bfd_get_relocated_section_contents   bfd_generic_get_relocated_section_contents
-#define oasys_bfd_relax_section			   bfd_generic_relax_section
-#define oasys_bfd_gc_sections			   bfd_generic_gc_sections
-#define oasys_bfd_lookup_section_flags		   bfd_generic_lookup_section_flags
-#define oasys_bfd_merge_sections		   bfd_generic_merge_sections
-#define oasys_bfd_is_group_section		   bfd_generic_is_group_section
-#define oasys_bfd_discard_group			   bfd_generic_discard_group
-#define oasys_section_already_linked		   _bfd_generic_section_already_linked
-#define oasys_bfd_define_common_symbol		   bfd_generic_define_common_symbol
-#define oasys_bfd_define_start_stop		   bfd_generic_define_start_stop
-#define oasys_bfd_link_hash_table_create	   _bfd_generic_link_hash_table_create
-#define oasys_bfd_link_add_symbols		   _bfd_generic_link_add_symbols
-#define oasys_bfd_link_just_syms		   _bfd_generic_link_just_syms
-#define oasys_bfd_copy_link_hash_symbol_type \
-  _bfd_generic_copy_link_hash_symbol_type
-#define oasys_bfd_final_link			   _bfd_generic_final_link
-#define oasys_bfd_link_split_section		   _bfd_generic_link_split_section
-#define oasys_bfd_link_check_relocs		   _bfd_generic_link_check_relocs
-#define oasys_set_reloc				   _bfd_generic_set_reloc
-
-const bfd_target oasys_vec =
-{
-  "oasys",			/* Name.  */
-  bfd_target_oasys_flavour,
-  BFD_ENDIAN_BIG,		/* Target byte order.  */
-  BFD_ENDIAN_BIG,		/* Target headers byte order.  */
-  (HAS_RELOC | EXEC_P |		/* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
-  (SEC_CODE | SEC_DATA | SEC_ROM | SEC_HAS_CONTENTS
-   | SEC_ALLOC | SEC_LOAD | SEC_RELOC),	/* Section flags.  */
-  0,				/* Leading underscore.  */
-  ' ',				/* AR_pad_char.  */
-  16,				/* AR_max_namelen.  */
-  0,				/* match priority.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* Data.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* Headers.  */
-
-  {_bfd_dummy_target,
-   oasys_object_p,		/* bfd_check_format.  */
-   oasys_archive_p,
-   _bfd_dummy_target,
-  },
-  {				/* bfd_set_format.  */
-    bfd_false,
-    oasys_mkobject,
-    _bfd_generic_mkarchive,
-    bfd_false
-  },
-  {				/* bfd_write_contents.  */
-    bfd_false,
-    oasys_write_object_contents,
-    _bfd_write_archive_contents,
-    bfd_false,
-  },
-
-  BFD_JUMP_TABLE_GENERIC (oasys),
-  BFD_JUMP_TABLE_COPY (_bfd_generic),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-  BFD_JUMP_TABLE_ARCHIVE (oasys),
-  BFD_JUMP_TABLE_SYMBOLS (oasys),
-  BFD_JUMP_TABLE_RELOCS (oasys),
-  BFD_JUMP_TABLE_WRITE (oasys),
-  BFD_JUMP_TABLE_LINK (oasys),
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  NULL,
-
-  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.1.0.20180703/bfd/opncls.c ./bfd/opncls.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/opncls.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/opncls.c	2018-07-10 02:06:11.000000000 +0000
@@ -1179,6 +1179,7 @@ bfd_get_debug_link_info_1 (bfd *abfd, vo
   bfd_byte *contents;
   unsigned int crc_offset;
   char *name;
+  bfd_size_type size;
 
   BFD_ASSERT (abfd);
   BFD_ASSERT (crc32_out);
@@ -1188,6 +1189,12 @@ bfd_get_debug_link_info_1 (bfd *abfd, vo
   if (sect == NULL)
     return NULL;
 
+  size = bfd_get_section_size (sect);
+
+  /* PR 22794: Make sure that the section has a reasonable size.  */
+  if (size < 8 || size >= bfd_get_size (abfd))
+    return NULL;
+
   if (!bfd_malloc_and_get_section (abfd, sect, &contents))
     {
       if (contents != NULL)
@@ -1197,10 +1204,10 @@ bfd_get_debug_link_info_1 (bfd *abfd, vo
 
   /* CRC value is stored after the filename, aligned up to 4 bytes.  */
   name = (char *) contents;
-  /* PR 17597: avoid reading off the end of the buffer.  */
-  crc_offset = strnlen (name, bfd_get_section_size (sect)) + 1;
+  /* PR 17597: Avoid reading off the end of the buffer.  */
+  crc_offset = strnlen (name, size) + 1;
   crc_offset = (crc_offset + 3) & ~3;
-  if (crc_offset + 4 > bfd_get_section_size (sect))
+  if (crc_offset + 4 > size)
     return NULL;
 
   *crc32 = bfd_get_32 (abfd, contents + crc_offset);
@@ -1261,6 +1268,7 @@ bfd_get_alt_debug_link_info (bfd * abfd,
   bfd_byte *contents;
   unsigned int buildid_offset;
   char *name;
+  bfd_size_type size;
 
   BFD_ASSERT (abfd);
   BFD_ASSERT (buildid_len);
@@ -1271,6 +1279,10 @@ bfd_get_alt_debug_link_info (bfd * abfd,
   if (sect == NULL)
     return NULL;
 
+  size = bfd_get_section_size (sect);
+  if (size < 8 || size >= bfd_get_size (abfd))
+    return NULL;
+
   if (!bfd_malloc_and_get_section (abfd, sect, & contents))
     {
       if (contents != NULL)
@@ -1280,11 +1292,11 @@ bfd_get_alt_debug_link_info (bfd * abfd,
 
   /* BuildID value is stored after the filename.  */
   name = (char *) contents;
-  buildid_offset = strnlen (name, bfd_get_section_size (sect)) + 1;
+  buildid_offset = strnlen (name, size) + 1;
   if (buildid_offset >= bfd_get_section_size (sect))
     return NULL;
 
-  *buildid_len = bfd_get_section_size (sect) - buildid_offset;
+  *buildid_len = size - buildid_offset;
   *buildid_out = bfd_malloc (*buildid_len);
   memcpy (*buildid_out, contents + buildid_offset, *buildid_len);
 
@@ -1865,10 +1877,11 @@ get_build_id (bfd *abfd)
   inote.descdata = inote.namedata + BFD_ALIGN (inote.namesz, 4);
   /* FIXME: Should we check for extra notes in this section ?  */
 
-  if (inote.descsz == 0
+  if (inote.descsz <= 0
       || inote.type != NT_GNU_BUILD_ID
       || inote.namesz != 4 /* sizeof "GNU"  */
       || strncmp (inote.namedata, "GNU", 4) != 0
+      || inote.descsz > 0x7ffffffe
       || size < (12 + BFD_ALIGN (inote.namesz, 4) + inote.descsz))
     {
       free (contents);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/osf-core.c ./bfd/osf-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/osf-core.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/osf-core.c	2018-07-10 02:06:11.000000000 +0000
@@ -124,7 +124,7 @@ osf_core_core_file_p (bfd *abfd)
 	  flags = SEC_HAS_CONTENTS;
 	  break;
 	default:
-	  _bfd_error_handler (_("Unhandled OSF/1 core file section type %d\n"),
+	  _bfd_error_handler (_("unhandled OSF/1 core file section type %d"),
 			      core_scnhdr.scntype);
 	  continue;
 	}
@@ -201,12 +201,16 @@ const bfd_target core_osf_vec =
       osf_core_core_file_p		/* a core file */
     },
     {				/* bfd_set_format */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
     {				/* bfd_write_contents */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/pdp11.c ./bfd/pdp11.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/pdp11.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/pdp11.c	2018-07-10 02:06:11.000000000 +0000
@@ -467,10 +467,7 @@ NAME (aout, some_aout_object_p) (bfd *ab
   oldrawptr = abfd->tdata.aout_data;
   abfd->tdata.aout_data = rawptr;
 
-  /* Copy the contents of the old tdata struct.
-     In particular, we want the subformat, since for hpux it was set in
-     hp300hpux.c:swap_exec_header_in and will be used in
-     hp300hpux.c:callback.  */
+  /* Copy the contents of the old tdata struct.  */
   if (oldrawptr != NULL)
     *abfd->tdata.aout_data = *oldrawptr;
 
@@ -699,17 +696,6 @@ NAME (aout, machine_type) (enum bfd_arch
 	arch_flags = M_SPARCLET;
       break;
 
-    case bfd_arch_m68k:
-      switch (machine)
-	{
-	case 0:		      arch_flags = M_68010; break;
-	case bfd_mach_m68000: arch_flags = M_UNKNOWN; *unknown = FALSE; break;
-	case bfd_mach_m68010: arch_flags = M_68010; break;
-	case bfd_mach_m68020: arch_flags = M_68020; break;
-	default:	      arch_flags = M_UNKNOWN; break;
-	}
-      break;
-
     case bfd_arch_i386:
       if (machine == 0
 	  || machine == bfd_mach_i386_i386
@@ -1149,7 +1135,7 @@ NAME (aout, set_section_contents) (bfd *
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: can not represent section `%A' in a.out object file format"),
+	(_("%pB: can not represent section `%pA' in a.out object file format"),
 	 abfd, section);
       bfd_set_error (bfd_error_nonrepresentable_section);
       return FALSE;
@@ -1382,7 +1368,7 @@ translate_to_native_sym_flags (bfd *abfd
 	 file.  */
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: can not represent section for symbol `%s' in a.out object file format"),
+	(_("%pB: can not represent section for symbol `%s' in a.out object file format"),
 	 abfd, cache_ptr->name != NULL ? cache_ptr->name : "*unknown*");
       bfd_set_error (bfd_error_nonrepresentable_section);
       return FALSE;
@@ -1410,7 +1396,7 @@ translate_to_native_sym_flags (bfd *abfd
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: can not represent section `%A' in a.out object file format"),
+	(_("%pB: can not represent section `%pA' in a.out object file format"),
 	 abfd, sec);
       bfd_set_error (bfd_error_nonrepresentable_section);
       return FALSE;
@@ -3705,7 +3691,7 @@ NAME (aout, final_link) (bfd *abfd,
 		 by the reloc size.  */
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocatable link from %s to %s not supported"),
+		(_("%pB: relocatable link from %s to %s not supported"),
 		 abfd, sub->xvec->name, abfd->xvec->name);
 	      bfd_set_error (bfd_error_invalid_operation);
 	      goto error_return;
@@ -3762,8 +3748,7 @@ NAME (aout, final_link) (bfd *abfd,
      FIXME: At this point we do not know how much space the symbol
      table will require.  This will not work for any (nonstandard)
      a.out target that needs to know the symbol table size before it
-     can compute the relocation file positions.  This may or may not
-     be the case for the hp300hpux target, for example.  */
+     can compute the relocation file positions.  */
   (*callback) (abfd, &aout_info.treloff, &aout_info.dreloff,
 	       &aout_info.symoff);
   obj_textsec (abfd)->rel_filepos = aout_info.treloff;
@@ -4519,22 +4504,34 @@ const bfd_target MY (vec) =
   bfd_getl64, bfd_getl_signed_64, bfd_putl64,
      bfd_getp32, bfd_getp_signed_32, bfd_putp32,
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Headers.  */
-    {_bfd_dummy_target, MY_object_p,		/* bfd_check_format.  */
-       bfd_generic_archive_p, MY_core_file_p},
-    {bfd_false, MY_mkobject,			/* bfd_set_format.  */
-       _bfd_generic_mkarchive, bfd_false},
-    {bfd_false, MY_write_object_contents,	/* bfd_write_contents.  */
-       _bfd_write_archive_contents, bfd_false},
-
-     BFD_JUMP_TABLE_GENERIC (MY),
-     BFD_JUMP_TABLE_COPY (MY),
-     BFD_JUMP_TABLE_CORE (MY),
-     BFD_JUMP_TABLE_ARCHIVE (MY),
-     BFD_JUMP_TABLE_SYMBOLS (MY),
-     BFD_JUMP_TABLE_RELOCS (MY),
-     BFD_JUMP_TABLE_WRITE (MY),
-     BFD_JUMP_TABLE_LINK (MY),
-     BFD_JUMP_TABLE_DYNAMIC (MY),
+  {				/* bfd_check_format.  */
+    _bfd_dummy_target,
+    MY_object_p,
+    bfd_generic_archive_p,
+    MY_core_file_p
+  },
+  {				/* bfd_set_format.  */
+    _bfd_bool_bfd_false_error,
+    MY_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {			/* bfd_write_contents.  */
+    _bfd_bool_bfd_false_error,
+    MY_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
+
+  BFD_JUMP_TABLE_GENERIC (MY),
+  BFD_JUMP_TABLE_COPY (MY),
+  BFD_JUMP_TABLE_CORE (MY),
+  BFD_JUMP_TABLE_ARCHIVE (MY),
+  BFD_JUMP_TABLE_SYMBOLS (MY),
+  BFD_JUMP_TABLE_RELOCS (MY),
+  BFD_JUMP_TABLE_WRITE (MY),
+  BFD_JUMP_TABLE_LINK (MY),
+  BFD_JUMP_TABLE_DYNAMIC (MY),
 
   /* Alternative_target.  */
   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.1.0.20180703/bfd/pef.c ./bfd/pef.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/pef.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/pef.c	2018-07-10 02:06:11.000000000 +0000
@@ -38,7 +38,7 @@
 #define bfd_pef_bfd_free_cached_info		    _bfd_generic_bfd_free_cached_info
 #define bfd_pef_new_section_hook		    _bfd_generic_new_section_hook
 #define bfd_pef_bfd_is_local_label_name		    bfd_generic_is_local_label_name
-#define bfd_pef_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define bfd_pef_bfd_is_target_special_symbol        _bfd_bool_bfd_asymbol_false
 #define bfd_pef_get_lineno			    _bfd_nosymbols_get_lineno
 #define bfd_pef_find_nearest_line		    _bfd_nosymbols_find_nearest_line
 #define bfd_pef_find_line			    _bfd_nosymbols_find_line
@@ -59,6 +59,7 @@
 #define bfd_pef_bfd_discard_group		    bfd_generic_discard_group
 #define bfd_pef_section_already_linked		    _bfd_generic_section_already_linked
 #define bfd_pef_bfd_define_common_symbol	    bfd_generic_define_common_symbol
+#define bfd_pef_bfd_link_hide_symbol		    _bfd_generic_link_hide_symbol
 #define bfd_pef_bfd_define_start_stop		    bfd_generic_define_start_stop
 #define bfd_pef_bfd_link_hash_table_create	    _bfd_generic_link_hash_table_create
 #define bfd_pef_bfd_link_add_symbols		    _bfd_generic_link_add_symbols
@@ -1030,16 +1031,16 @@ const bfd_target pef_vec =
     _bfd_dummy_target,
   },
   {				/* bfd_set_format.  */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     bfd_pef_mkobject,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents.  */
-    bfd_false,
-    bfd_true,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_true,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (bfd_pef),
@@ -1174,16 +1175,16 @@ const bfd_target pef_xlib_vec =
     _bfd_dummy_target,
   },
   {				/* bfd_set_format.  */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     bfd_pef_mkobject,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents.  */
-    bfd_false,
-    bfd_true,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_true,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (bfd_pef_xlib),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/peicode.h ./bfd/peicode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/peicode.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/peicode.h	2018-07-10 02:06:11.000000000 +0000
@@ -772,13 +772,13 @@ pe_ILF_build_a_bfd (bfd *	    abfd,
     case IMPORT_CONST:
       /* XXX code yet to be written.  */
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: Unhandled import type; %x"),
+      _bfd_error_handler (_("%pB: unhandled import type; %x"),
 			  abfd, import_type);
       return FALSE;
 
     default:
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: Unrecognised import type; %x"),
+      _bfd_error_handler (_("%pB: unrecognized import type; %x"),
 			  abfd, import_type);
       return FALSE;
     }
@@ -793,7 +793,7 @@ pe_ILF_build_a_bfd (bfd *	    abfd,
 
     default:
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: Unrecognised import name type; %x"),
+      _bfd_error_handler (_("%pB: unrecognized import name type; %x"),
 			  abfd, import_name_type);
       return FALSE;
     }
@@ -1167,12 +1167,6 @@ pe_ILF_object_p (bfd * abfd)
 #endif
       break;
 
-    case IMAGE_FILE_MACHINE_M68K:
-#ifdef MC68AGIC
-      magic = MC68MAGIC;
-#endif
-      break;
-
     case IMAGE_FILE_MACHINE_R3000:
     case IMAGE_FILE_MACHINE_R4000:
     case IMAGE_FILE_MACHINE_R10000:
@@ -1214,7 +1208,7 @@ pe_ILF_object_p (bfd * abfd)
     default:
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: Unrecognised machine type (0x%x)"
+	(_("%pB: unrecognised machine type (0x%x)"
 	   " in Import Library Format archive"),
 	 abfd, machine);
       bfd_set_error (bfd_error_malformed_archive);
@@ -1227,7 +1221,7 @@ pe_ILF_object_p (bfd * abfd)
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: Recognised but unhandled machine type (0x%x)"
+	(_("%pB: recognised but unhandled machine type (0x%x)"
 	   " in Import Library Format archive"),
 	 abfd, machine);
       bfd_set_error (bfd_error_wrong_format);
@@ -1245,7 +1239,7 @@ pe_ILF_object_p (bfd * abfd)
   if (size == 0)
     {
       _bfd_error_handler
-	(_("%B: size field is zero in Import Library Format header"), abfd);
+	(_("%pB: size field is zero in Import Library Format header"), abfd);
       bfd_set_error (bfd_error_malformed_archive);
 
       return NULL;
@@ -1277,7 +1271,7 @@ pe_ILF_object_p (bfd * abfd)
       || (bfd_size_type) ((bfd_byte *) source_dll - ptr) >= size)
     {
       _bfd_error_handler
-	(_("%B: string not null terminated in ILF object file."), abfd);
+	(_("%pB: string not null terminated in ILF object file"), abfd);
       bfd_set_error (bfd_error_malformed_archive);
       bfd_release (abfd, ptr);
       return NULL;
@@ -1332,8 +1326,9 @@ pe_bfd_read_buildid (bfd *abfd)
   if (dataoff >= section->size
       || size > section->size - dataoff)
     {
-      _bfd_error_handler (_("%B: Error: Debug Data ends beyond end of debug directory."),
-			  abfd);
+      _bfd_error_handler
+	(_("%pB: error: debug data ends beyond end of debug directory"),
+	 abfd);
       return;
     }
 
@@ -1386,7 +1381,7 @@ static const bfd_target *
 pe_bfd_object_p (bfd * abfd)
 {
   bfd_byte buffer[6];
-  struct external_PEI_DOS_hdr dos_hdr;
+  struct external_DOS_hdr dos_hdr;
   struct external_PEI_IMAGE_hdr image_hdr;
   struct internal_filehdr internal_f;
   struct internal_aouthdr internal_a;
@@ -1420,7 +1415,7 @@ pe_bfd_object_p (bfd * abfd)
 
   /* There are really two magic numbers involved; the magic number
      that says this is a NT executable (PEI) and the magic number that
-     determines the architecture.  The former is DOSMAGIC, stored in
+     determines the architecture.  The former is IMAGE_DOS_SIGNATURE, stored in
      the e_magic field.  The latter is stored in the f_magic field.
      If the NT magic number isn't valid, the architecture magic number
      could be mimicked by some other field (specifically, the number
@@ -1428,7 +1423,7 @@ pe_bfd_object_p (bfd * abfd)
      correctly for a PEI file, check the e_magic number here, and, if
      it doesn't match, clobber the f_magic number so that we don't get
      a false match.  */
-  if (H_GET_16 (abfd, dos_hdr.e_magic) != DOSMAGIC)
+  if (H_GET_16 (abfd, dos_hdr.e_magic) != IMAGE_DOS_SIGNATURE)
     {
       bfd_set_error (bfd_error_wrong_format);
       return 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.1.0.20180703/bfd/pei-mips.c ./bfd/pei-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/pei-mips.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/pei-mips.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,32 +0,0 @@
-/* BFD back-end for MIPS PE IMAGE COFF files.
-   Copyright (C) 1995-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-
-#define TARGET_SYM mips_pei_le_vec
-#define TARGET_NAME "pei-mips"
-#define COFF_IMAGE_WITH_PE
-#define PCRELOFFSET TRUE
-/* Long section names not allowed in executable images, only object files.  */
-#define COFF_LONG_SECTION_NAMES 0
-
-#include "pe-mips.c"
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/pei-x86_64.c ./bfd/pei-x86_64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/pei-x86_64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/pei-x86_64.c	2018-07-10 02:06:11.000000000 +0000
@@ -98,14 +98,20 @@ pex64_get_runtime_function (bfd *abfd, s
 
 /* Swap in unwind info header.  */
 
-static void
-pex64_get_unwind_info (bfd *abfd, struct pex64_unwind_info *ui, void *data)
+static bfd_boolean
+pex64_get_unwind_info (bfd *abfd, struct pex64_unwind_info *ui,
+		       void *data, void *data_end)
 {
   struct external_pex64_unwind_info *ex_ui =
     (struct external_pex64_unwind_info *) data;
   bfd_byte *ex_dta = (bfd_byte *) data;
+  bfd_byte *ex_dta_end = (bfd_byte *) data_end;
 
   memset (ui, 0, sizeof (struct pex64_unwind_info));
+
+  if (ex_dta >= ex_dta_end || ex_dta + 4 >= ex_dta_end)
+    return FALSE;
+
   ui->Version = PEX64_UWI_VERSION (ex_ui->Version_Flags);
   ui->Flags = PEX64_UWI_FLAGS (ex_ui->Version_Flags);
   ui->SizeOfPrologue = (bfd_vma) ex_ui->SizeOfPrologue;
@@ -114,25 +120,33 @@ pex64_get_unwind_info (bfd *abfd, struct
   ui->FrameOffset = PEX64_UWI_FRAMEOFF (ex_ui->FrameRegisterOffset);
   ui->sizeofUnwindCodes = PEX64_UWI_SIZEOF_UWCODE_ARRAY (ui->CountOfCodes);
   ui->SizeOfBlock = ui->sizeofUnwindCodes + 4;
-  ui->rawUnwindCodes = &ex_dta[4];
+  ui->rawUnwindCodes = ex_dta + 4;
+  ui->rawUnwindCodesEnd = ex_dta_end;
 
   ex_dta += ui->SizeOfBlock;
+  if (ex_dta >= ex_dta_end)
+    return FALSE;
+  
   switch (ui->Flags)
     {
     case UNW_FLAG_CHAININFO:
+      if (ex_dta + 12 >= ex_dta_end)
+	return FALSE;
       ui->rva_BeginAddress = bfd_get_32 (abfd, ex_dta + 0);
       ui->rva_EndAddress = bfd_get_32 (abfd, ex_dta + 4);
       ui->rva_UnwindData = bfd_get_32 (abfd, ex_dta + 8);
       ui->SizeOfBlock += 12;
-      return;
+      return TRUE;
     case UNW_FLAG_EHANDLER:
     case UNW_FLAG_UHANDLER:
     case UNW_FLAG_FHANDLER:
+      if (ex_dta + 4 >= ex_dta_end)
+	return FALSE;
       ui->rva_ExceptionHandler = bfd_get_32 (abfd, ex_dta);
       ui->SizeOfBlock += 4;
-      return;
+      return TRUE;
     default:
-      return;
+      return TRUE;
     }
 }
 
@@ -158,6 +172,12 @@ pex64_xdata_print_uwd_codes (FILE *file,
 
   i = 0;
 
+  if (ui->rawUnwindCodes + 1 >= ui->rawUnwindCodesEnd)
+    {
+      fprintf (file, _("warning: corrupt unwind data\n"));
+      return;
+    }
+
   if (ui->Version == 2
       && PEX64_UNWCODE_CODE (ui->rawUnwindCodes[1]) == UWOP_EPILOG)
     {
@@ -166,10 +186,18 @@ pex64_xdata_print_uwd_codes (FILE *file,
 	 to decode instruction flow if outside an epilog.  */
       unsigned int func_size = rf->rva_EndAddress - rf->rva_BeginAddress;
 
+      if (ui->rawUnwindCodes + 1 + (ui->CountOfCodes * 2) >= ui->rawUnwindCodesEnd)
+	{
+	  fprintf (file, _("warning: corrupt unwind data\n"));
+	  return;
+	}
+	  
       fprintf (file, "\tv2 epilog (length: %02x) at pc+:",
 	       ui->rawUnwindCodes[0]);
+
       if (PEX64_UNWCODE_INFO (ui->rawUnwindCodes[1]))
 	fprintf (file, " 0x%x", func_size - ui->rawUnwindCodes[0]);
+
       i++;
       for (; i < ui->CountOfCodes; i++)
 	{
@@ -187,6 +215,12 @@ pex64_xdata_print_uwd_codes (FILE *file,
       fputc ('\n', file);
     }
 
+  if (ui->rawUnwindCodes + 2 + (ui->CountOfCodes * 2) >= ui->rawUnwindCodesEnd)
+    {
+      fprintf (file, _("warning: corrupt unwind data\n"));
+      return;
+    }
+	  
   for (; i < ui->CountOfCodes; i++)
     {
       const bfd_byte *dta = ui->rawUnwindCodes + 2 * i;
@@ -338,14 +372,18 @@ pex64_dump_xdata (FILE *file, bfd *abfd,
       /* PR 17512: file: 2245-7442-0.004.  */
       if (end_addr > sec_size)
 	{
-	  fprintf (file, _("warning: xdata section corrupt"));
+	  fprintf (file, _("warning: xdata section corrupt\n"));
 	  end_addr = sec_size;
 	}
     }
   else
     end_addr = sec_size;
 
-  pex64_get_unwind_info (abfd, &ui, &xdata[addr]);
+  if (! pex64_get_unwind_info (abfd, &ui, xdata + addr, xdata + end_addr))
+    {
+      fprintf (file, _("warning: xdata section corrupt\n"));
+      return;
+    }
 
   if (ui.Version != 1 && ui.Version != 2)
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/pe-mips.c ./bfd/pe-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/pe-mips.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/pe-mips.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,924 +0,0 @@
-/* BFD back-end for MIPS PE COFF files.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Modified from coff-i386.c by DJ Delorie, dj@cygnus.com
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define COFF_WITH_PE
-/* pei-mips.c may have defined this to default off (0) before
-  including this file, so don't redefine if that's the case.
-  Otherwise we're generating objects, not executable images,
-  so we want to define it to default on.  */
-#ifndef COFF_LONG_SECTION_NAMES
-#define COFF_LONG_SECTION_NAMES
-#endif /* COFF_LONG_SECTION_NAMES */
-#define PCRELOFFSET TRUE
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "coff/mipspe.h"
-#include "coff/internal.h"
-#include "coff/pe.h"
-#include "libcoff.h"
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER 2
-/* The page size is a guess based on ELF.  */
-
-#define COFF_PAGE_SIZE 0x1000
-
-/* For some reason when using mips COFF the value stored in the .text
-   section for a reference to a common symbol is the value itself plus
-   any desired offset.  Ian Taylor, Cygnus Support.  */
-
-/* If we are producing relocatable output, we need to do some
-   adjustments to the object file that are not done by the
-   bfd_perform_relocation function.  This function is called by every
-   reloc type to make any required adjustments.  */
-
-static bfd_reloc_status_type
-coff_mips_reloc (bfd *abfd,
-		 arelent *reloc_entry,
-		 asymbol *symbol,
-		 void * data,
-		 asection *input_section ATTRIBUTE_UNUSED,
-		 bfd *output_bfd,
-		 char **error_message ATTRIBUTE_UNUSED)
-{
-  symvalue diff;
-
-  if (output_bfd == NULL)
-    return bfd_reloc_continue;
-
-  if (bfd_is_com_section (symbol->section))
-    {
-#ifndef COFF_WITH_PE
-      /* We are relocating a common symbol.  The current value in the
-	 object file is ORIG + OFFSET, where ORIG is the value of the
-	 common symbol as seen by the object file when it was compiled
-	 (this may be zero if the symbol was undefined) and OFFSET is
-	 the offset into the common symbol (normally zero, but may be
-	 non-zero when referring to a field in a common structure).
-	 ORIG is the negative of reloc_entry->addend, which is set by
-	 the CALC_ADDEND macro below.  We want to replace the value in
-	 the object file with NEW + OFFSET, where NEW is the value of
-	 the common symbol which we are going to put in the final
-	 object file.  NEW is symbol->value.  */
-      diff = symbol->value + reloc_entry->addend;
-#else
-      /* In PE mode, we do not offset the common symbol.  */
-      diff = reloc_entry->addend;
-#endif
-    }
-  else
-    /* For some reason bfd_perform_relocation always effectively
-       ignores the addend for a COFF target when producing
-       relocatable output.  This seems to be always wrong for 386
-       COFF, so we handle the addend here instead.  */
-    diff = reloc_entry->addend;
-
-#define DOIT(x) \
-  x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + (diff >> howto->rightshift)) & howto->dst_mask))
-
-  if (diff != 0)
-    {
-      reloc_howto_type *howto = reloc_entry->howto;
-      unsigned char *addr = (unsigned char *) data + reloc_entry->address;
-
-      switch (howto->size)
-	{
-	case 0:
-	  {
-	    char x = bfd_get_8 (abfd, addr);
-
-	    DOIT (x);
-	    bfd_put_8 (abfd, x, addr);
-	  }
-	  break;
-
-	case 1:
-	  {
-	    short x = bfd_get_16 (abfd, addr);
-
-	    DOIT (x);
-	    bfd_put_16 (abfd, (bfd_vma) x, addr);
-	  }
-	  break;
-
-	case 2:
-	  {
-	    long x = bfd_get_32 (abfd, addr);
-
-	    DOIT (x);
-	    bfd_put_32 (abfd, (bfd_vma) x, addr);
-	  }
-	  break;
-
-	default:
-	  abort ();
-	}
-    }
-
-  /* Now let bfd_perform_relocation finish everything up.  */
-  return bfd_reloc_continue;
-}
-
-#ifdef COFF_WITH_PE
-/* Return TRUE if this relocation should
-   appear in the output .reloc section.  */
-
-static bfd_boolean
-in_reloc_p (bfd * abfd ATTRIBUTE_UNUSED, reloc_howto_type *howto)
-{
-  return ! howto->pc_relative && howto->type != MIPS_R_RVA;
-}
-#endif
-
-#ifndef PCRELOFFSET
-#define PCRELOFFSET FALSE
-#endif
-
-static reloc_howto_type howto_table[] =
-{
-  /* Reloc type 0 is ignored.  The reloc reading code ensures that
-     this is a reference to the .abs section, which will cause
-     bfd_perform_relocation to do nothing.  */
-  HOWTO (MIPS_R_ABSOLUTE,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 0,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 8,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos. */
-	 complain_overflow_dont, /* Complain_on_overflow. */
-	 0,			/* Special_function. */
-	 "IGNORE",		/* Name. */
-	 FALSE,			/* Partial_inplace. */
-	 0,			/* Src_mask. */
-	 0,			/* Dst_mask. */
-	 FALSE),		/* Pcrel_offset. */
-
-  /* A 16 bit reference to a symbol, normally from a data section.  */
-  HOWTO (MIPS_R_REFHALF,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 1,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos. */
-	 complain_overflow_bitfield, /* Complain_on_overflow. */
-	 coff_mips_reloc,	/* Special_function. */
-	 "REFHALF",		/* Name. */
-	 TRUE,			/* Partial_inplace. */
-	 0xffff,		/* Src_mask. */
-	 0xffff,		/* Dst_mask. */
-	 FALSE),		/* Pcrel_offset. */
-
-  /* A 32 bit reference to a symbol, normally from a data section.  */
-  HOWTO (MIPS_R_REFWORD,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos. */
-	 complain_overflow_bitfield, /* Complain_on_overflow. */
-	 coff_mips_reloc,	/* Special_function. */
-	 "REFWORD",		/* Name. */
-	 TRUE,			/* Partial_inplace. */
-	 0xffffffff,		/* Src_mask. */
-	 0xffffffff,		/* Dst_mask. */
-	 FALSE),		/* Pcrel_offset. */
-
-  /* A 26 bit absolute jump address.  */
-  HOWTO (MIPS_R_JMPADDR,	/* Type.  */
-	 2,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 26,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos. */
-	 complain_overflow_dont, /* Complain_on_overflow. */
-				/* This needs complex overflow
-				   detection, because the upper four
-				   bits must match the PC.  */
-	 coff_mips_reloc,	/* Special_function. */
-	 "JMPADDR",		/* Name. */
-	 TRUE,			/* Partial_inplace. */
-	 0x3ffffff,		/* Src_mask. */
-	 0x3ffffff,		/* Dst_mask. */
-	 FALSE),		/* Pcrel_offset. */
-
-  /* The high 16 bits of a symbol value.  Handled by the function
-     mips_refhi_reloc.  */
-  HOWTO (MIPS_R_REFHI,		/* Type.  */
-	 16,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos. */
-	 complain_overflow_bitfield, /* Complain_on_overflow. */
-	 coff_mips_reloc,	/* Special_function. */
-	 "REFHI",		/* Name. */
-	 TRUE,			/* Partial_inplace. */
-	 0xffff,		/* Src_mask. */
-	 0xffff,		/* Dst_mask. */
-	 FALSE),		/* Pcrel_offset. */
-
-  /* The low 16 bits of a symbol value.  */
-  HOWTO (MIPS_R_REFLO,		/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos. */
-	 complain_overflow_dont, /* Complain_on_overflow. */
-	 coff_mips_reloc,	/* Special_function. */
-	 "REFLO",		/* Name. */
-	 TRUE,			/* Partial_inplace. */
-	 0xffff,		/* Src_mask. */
-	 0xffff,		/* Dst_mask. */
-	 FALSE),		/* Pcrel_offset. */
-
-  /* A reference to an offset from the gp register.  Handled by the
-     function mips_gprel_reloc.  */
-  HOWTO (MIPS_R_GPREL,		/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos. */
-	 complain_overflow_signed, /* Complain_on_overflow. */
-	 coff_mips_reloc,	/* Special_function. */
-	 "GPREL",		/* Name. */
-	 TRUE,			/* Partial_inplace. */
-	 0xffff,		/* Src_mask. */
-	 0xffff,		/* Dst_mask. */
-	 FALSE),		/* Pcrel_offset. */
-
-  /* A reference to a literal using an offset from the gp register.
-     Handled by the function mips_gprel_reloc.  */
-  HOWTO (MIPS_R_LITERAL,	/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 16,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos. */
-	 complain_overflow_signed, /* Complain_on_overflow. */
-	 coff_mips_reloc,	/* Special_function. */
-	 "LITERAL",		/* Name. */
-	 TRUE,			/* Partial_inplace. */
-	 0xffff,		/* Src_mask. */
-	 0xffff,		/* Dst_mask. */
-	 FALSE),		/* Pcrel_offset. */
-
-  EMPTY_HOWTO (8),
-  EMPTY_HOWTO (9),
-  EMPTY_HOWTO (10),
-  EMPTY_HOWTO (11),
-  EMPTY_HOWTO (12),
-  EMPTY_HOWTO (13),
-  EMPTY_HOWTO (14),
-  EMPTY_HOWTO (15),
-  EMPTY_HOWTO (16),
-  EMPTY_HOWTO (17),
-  EMPTY_HOWTO (18),
-  EMPTY_HOWTO (19),
-  EMPTY_HOWTO (20),
-  EMPTY_HOWTO (21),
-  EMPTY_HOWTO (22),
-  EMPTY_HOWTO (23),
-  EMPTY_HOWTO (24),
-  EMPTY_HOWTO (25),
-  EMPTY_HOWTO (26),
-  EMPTY_HOWTO (27),
-  EMPTY_HOWTO (28),
-  EMPTY_HOWTO (29),
-  EMPTY_HOWTO (30),
-  EMPTY_HOWTO (31),
-  EMPTY_HOWTO (32),
-  EMPTY_HOWTO (33),
-  HOWTO (MIPS_R_RVA,		/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos. */
-	 complain_overflow_bitfield, /* Complain_on_overflow. */
-	 coff_mips_reloc,	/* Special_function. */
-	 "rva32",		/* Name. */
-	 TRUE,			/* Partial_inplace. */
-	 0xffffffff,		/* Src_mask. */
-	 0xffffffff,		/* Dst_mask. */
-	 FALSE),		/* Pcrel_offset. */
-  EMPTY_HOWTO (35),
-  EMPTY_HOWTO (36),
-  HOWTO (MIPS_R_PAIR,		/* Type.  */
-	 0,			/* Rightshift.  */
-	 2,			/* Size (0 = byte, 1 = short, 2 = long).  */
-	 32,			/* Bitsize.  */
-	 FALSE,			/* PC_relative.  */
-	 0,			/* Bitpos. */
-	 complain_overflow_bitfield, /* Complain_on_overflow. */
-	 coff_mips_reloc,	/* Special_function. */
-	 "PAIR",		/* Name. */
-	 TRUE,			/* Partial_inplace. */
-	 0xffffffff,		/* Src_mask. */
-	 0xffffffff,		/* Dst_mask. */
-	 FALSE),		/* Pcrel_offset. */
-};
-
-#define NUM_HOWTOS (sizeof (howto_table) / sizeof (howto_table[0]))
-
-/* Turn a howto into a reloc nunmber.  */
-
-#define SELECT_RELOC(x, howto) { x.r_type = howto->type; }
-#define BADMAG(x)	       MIPSBADMAG (x)
-
-/* Customize coffcode.h.  */
-#define MIPS 1
-
-#define RTYPE2HOWTO(cache_ptr, dst)				\
-  ((cache_ptr)->howto =						\
-   ((dst)->r_type < NUM_HOWTOS					\
-    ? howto_table + (dst)->r_type				\
-    : NULL))
-
-/* Compute the addend of a reloc.  If the reloc is to a common symbol,
-   the object file contains the value of the common symbol.  By the
-   time this is called, the linker may be using a different symbol
-   from a different object file with a different value.  Therefore, we
-   hack wildly to locate the original symbol from this file so that we
-   can make the correct adjustment.  This macro sets coffsym to the
-   symbol from the original file, and uses it to set the addend value
-   correctly.  If this is not a common symbol, the usual addend
-   calculation is done, except that an additional tweak is needed for
-   PC relative relocs.
-   FIXME: This macro refers to symbols and asect; these are from the
-   calling function, not the macro arguments.  */
-
-#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr)		\
-  {								\
-    coff_symbol_type *coffsym = NULL;				\
-    if (ptr && bfd_asymbol_bfd (ptr) != abfd)			\
-      coffsym = (obj_symbols (abfd)				\
-		 + (cache_ptr->sym_ptr_ptr - symbols));		\
-    else if (ptr)						\
-      coffsym = coff_symbol_from (ptr);				\
-    if (coffsym != NULL						\
-	&& coffsym->native->u.syment.n_scnum == 0)		\
-      cache_ptr->addend = - coffsym->native->u.syment.n_value;	\
-    else if (ptr && bfd_asymbol_bfd (ptr) == abfd		\
-	     && ptr->section != NULL)				\
-      cache_ptr->addend = - (ptr->section->vma + ptr->value);	\
-    else							\
-      cache_ptr->addend = 0;					\
-    if (ptr && reloc.r_type < NUM_HOWTOS			\
-	&& howto_table[reloc.r_type].pc_relative)		\
-      cache_ptr->addend += asect->vma;				\
-  }
-
-/* Convert an rtype to howto for the COFF backend linker.  */
-
-static reloc_howto_type *
-coff_mips_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
-			  asection *sec,
-			  struct internal_reloc *rel,
-			  struct coff_link_hash_entry *h,
-			  struct internal_syment *sym,
-			  bfd_vma *addendp)
-{
-
-  reloc_howto_type *howto;
-
-  howto = howto_table + rel->r_type;
-
-#ifdef COFF_WITH_PE
-  *addendp = 0;
-#endif
-
-  if (howto->pc_relative)
-    *addendp += sec->vma;
-
-  if (sym != NULL && sym->n_scnum == 0 && sym->n_value != 0)
-    {
-      /* This is a common symbol.  The section contents include the
-	 size (sym->n_value) as an addend.  The relocate_section
-	 function will be adding in the final value of the symbol.  We
-	 need to subtract out the current size in order to get the
-	 correct result.  */
-
-      BFD_ASSERT (h != NULL);
-
-#ifndef COFF_WITH_PE
-      /* I think we *do* want to bypass this.  If we don't, I have
-	 seen some data parameters get the wrong relocation address.
-	 If I link two versions with and without this section bypassed
-	 and then do a binary comparison, the addresses which are
-	 different can be looked up in the map.  The case in which
-	 this section has been bypassed has addresses which correspond
-	 to values I can find in the map.  */
-      *addendp -= sym->n_value;
-#endif
-    }
-
-#ifndef COFF_WITH_PE
-  /* If the output symbol is common (in which case this must be a
-     relocatable link), we need to add in the final size of the
-     common symbol.  */
-  if (h != NULL && h->root.type == bfd_link_hash_common)
-    *addendp += h->root.u.c.size;
-#endif
-
-#ifdef COFF_WITH_PE
-  if (howto->pc_relative)
-    {
-      *addendp -= 4;
-
-      /* If the symbol is defined, then the generic code is going to
-	 add back the symbol value in order to cancel out an
-	 adjustment it made to the addend.  However, we set the addend
-	 to 0 at the start of this function.  We need to adjust here,
-	 to avoid the adjustment the generic code will make.  FIXME:
-	 This is getting a bit hackish.  */
-      if (sym != NULL && sym->n_scnum != 0)
-	*addendp -= sym->n_value;
-    }
-
-  if (rel->r_type == MIPS_R_RVA)
-    *addendp -= pe_data (sec->output_section->owner)->pe_opthdr.ImageBase;
-#endif
-
-  return howto;
-}
-
-#define coff_rtype_to_howto	    coff_mips_rtype_to_howto
-#define coff_bfd_reloc_type_lookup  coff_mips_reloc_type_lookup
-#define coff_bfd_reloc_name_lookup coff_mips_reloc_name_lookup
-
-/* Get the howto structure for a generic reloc type.  */
-
-static reloc_howto_type *
-coff_mips_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			     bfd_reloc_code_real_type code)
-{
-  int mips_type;
-
-  switch (code)
-    {
-    case BFD_RELOC_16:
-      mips_type = MIPS_R_REFHALF;
-      break;
-    case BFD_RELOC_32:
-    case BFD_RELOC_CTOR:
-      mips_type = MIPS_R_REFWORD;
-      break;
-    case BFD_RELOC_MIPS_JMP:
-      mips_type = MIPS_R_JMPADDR;
-      break;
-    case BFD_RELOC_HI16_S:
-      mips_type = MIPS_R_REFHI;
-      break;
-    case BFD_RELOC_LO16:
-      mips_type = MIPS_R_REFLO;
-      break;
-    case BFD_RELOC_GPREL16:
-      mips_type = MIPS_R_GPREL;
-      break;
-    case BFD_RELOC_MIPS_LITERAL:
-      mips_type = MIPS_R_LITERAL;
-      break;
-    case BFD_RELOC_RVA:
-      mips_type = MIPS_R_RVA;
-      break;
-    default:
-      return NULL;
-    }
-
-  return & howto_table [mips_type];
-}
-
-static reloc_howto_type *
-coff_mips_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			     const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0; i < NUM_HOWTOS; i++)
-    if (howto_table[i].name != NULL
-	&& strcasecmp (howto_table[i].name, r_name) == 0)
-      return &howto_table[i];
-
-  return NULL;
-}
-
-static void
-mips_swap_reloc_in (bfd * abfd, void * src, void * dst)
-{
-  static struct internal_reloc pair_prev;
-  RELOC *reloc_src = (RELOC *) src;
-  struct internal_reloc *reloc_dst = (struct internal_reloc *) dst;
-
-  reloc_dst->r_vaddr = H_GET_32 (abfd, reloc_src->r_vaddr);
-  reloc_dst->r_symndx = H_GET_S32 (abfd, reloc_src->r_symndx);
-  reloc_dst->r_type = H_GET_16 (abfd, reloc_src->r_type);
-  reloc_dst->r_size = 0;
-  reloc_dst->r_extern = 0;
-  reloc_dst->r_offset = 0;
-
-  switch (reloc_dst->r_type)
-  {
-  case MIPS_R_REFHI:
-    pair_prev = *reloc_dst;
-    break;
-  case MIPS_R_PAIR:
-    reloc_dst->r_offset = reloc_dst->r_symndx;
-    if (reloc_dst->r_offset & 0x8000)
-      reloc_dst->r_offset -= 0x10000;
-    reloc_dst->r_symndx = pair_prev.r_symndx;
-    break;
-  }
-}
-
-static unsigned int
-mips_swap_reloc_out (bfd * abfd, void * src, void * dst)
-{
-  static bfd_vma prev_addr = 0;
-  struct internal_reloc *reloc_src = (struct internal_reloc *)src;
-  struct external_reloc *reloc_dst = (struct external_reloc *)dst;
-
-  switch (reloc_src->r_type)
-    {
-    case MIPS_R_REFHI:
-      prev_addr = reloc_src->r_vaddr;
-      break;
-    case MIPS_R_REFLO:
-      if (reloc_src->r_vaddr == prev_addr)
-	{
-	  /* FIXME: only slightly hackish.  If we see a REFLO pointing to
-	     the same address as a REFHI, we assume this is the matching
-	     PAIR reloc and output it accordingly.  The symndx is really
-	     the low 16 bits of the addend */
-	  H_PUT_32 (abfd, reloc_src->r_vaddr, reloc_dst->r_vaddr);
-	  H_PUT_32 (abfd, reloc_src->r_symndx, reloc_dst->r_symndx);
-	  H_PUT_16 (abfd, MIPS_R_PAIR, reloc_dst->r_type);
-	  return RELSZ;
-	}
-      break;
-    }
-
-  H_PUT_32 (abfd, reloc_src->r_vaddr, reloc_dst->r_vaddr);
-  H_PUT_32 (abfd, reloc_src->r_symndx, reloc_dst->r_symndx);
-
-  H_PUT_16 (abfd, reloc_src->r_type, reloc_dst->r_type);
-  return RELSZ;
-}
-
-#define coff_swap_reloc_in   mips_swap_reloc_in
-#define coff_swap_reloc_out  mips_swap_reloc_out
-#define NO_COFF_RELOCS
-
-static bfd_boolean
-coff_pe_mips_relocate_section (bfd *output_bfd,
-			       struct bfd_link_info *info,
-			       bfd *input_bfd,
-			       asection *input_section,
-			       bfd_byte *contents,
-			       struct internal_reloc *relocs,
-			       struct internal_syment *syms,
-			       asection **sections)
-{
-  struct internal_reloc *rel;
-  struct internal_reloc *rel_end;
-  unsigned int i;
-
-  if (bfd_link_relocatable (info))
-    {
-      _bfd_error_handler
-	(_("%B: `ld -r' not supported with PE MIPS objects\n"), input_bfd);
-      bfd_set_error (bfd_error_bad_value);
-      return FALSE;
-    }
-
-  BFD_ASSERT (input_bfd->xvec->byteorder
-	      == output_bfd->xvec->byteorder);
-
-  rel = relocs;
-  rel_end = rel + input_section->reloc_count;
-
-  for (i = 0; rel < rel_end; rel++, i++)
-    {
-      long symndx;
-      struct coff_link_hash_entry *h;
-      struct internal_syment *sym;
-      bfd_vma addend = 0;
-      bfd_vma val, tmp, targ, src, low;
-      reloc_howto_type *howto;
-      unsigned char *mem = contents + rel->r_vaddr;
-
-      symndx = rel->r_symndx;
-
-      if (symndx == -1)
-	{
-	  h = NULL;
-	  sym = NULL;
-	}
-      else
-	{
-	  h = obj_coff_sym_hashes (input_bfd)[symndx];
-	  sym = syms + symndx;
-	}
-
-      /* COFF treats common symbols in one of two ways.  Either the
-	 size of the symbol is included in the section contents, or it
-	 is not.  We assume that the size is not included, and force
-	 the rtype_to_howto function to adjust the addend as needed.  */
-
-      if (sym != NULL && sym->n_scnum != 0)
-	addend = - sym->n_value;
-      else
-	addend = 0;
-
-      howto = bfd_coff_rtype_to_howto (input_bfd, input_section, rel, h,
-				       sym, &addend);
-      if (howto == NULL)
-	return FALSE;
-
-      /* If we are doing a relocatable link, then we can just ignore
-	 a PC relative reloc that is pcrel_offset.  It will already
-	 have the correct value.  If this is not a relocatable link,
-	 then we should ignore the symbol value.  */
-      if (howto->pc_relative && howto->pcrel_offset)
-	{
-	  if (bfd_link_relocatable (info))
-	    continue;
-	  if (sym != NULL && sym->n_scnum != 0)
-	    addend += sym->n_value;
-	}
-
-      val = 0;
-
-      if (h == NULL)
-	{
-	  asection *sec;
-
-	  if (symndx == -1)
-	    {
-	      sec = bfd_abs_section_ptr;
-	      val = 0;
-	    }
-	  else
-	    {
-	      sec = sections[symndx];
-	      val = (sec->output_section->vma
-		     + sec->output_offset
-		     + sym->n_value);
-	      if (! obj_pe (input_bfd))
-		val -= sec->vma;
-	    }
-	}
-      else
-	{
-	  if (h->root.type == bfd_link_hash_defined
-	      || h->root.type == bfd_link_hash_defweak)
-	    {
-	      asection *sec;
-
-	      sec = h->root.u.def.section;
-	      val = (h->root.u.def.value
-		     + sec->output_section->vma
-		     + sec->output_offset);
-	      }
-
-	  else if (! bfd_link_relocatable (info))
-	    (*info->callbacks->undefined_symbol)
-	      (info, h->root.root.string, input_bfd, input_section,
-	       rel->r_vaddr - input_section->vma, TRUE);
-	}
-
-      src = rel->r_vaddr + input_section->output_section->vma
-	+ input_section->output_offset;
-
-      /* OK, at this point the following variables are set up:
-	   src = VMA of the memory we're fixing up
-	   mem = pointer to memory we're fixing up
-	   val = VMA of what we need to refer to.  */
-
-#define UI(x)						       \
-      /* xgettext:c-format */				       \
-	_bfd_error_handler (_("%B: unimplemented %s\n"),       \
-			    input_bfd, x);		       \
-	bfd_set_error (bfd_error_bad_value);
-
-      switch (rel->r_type)
-	{
-	case MIPS_R_ABSOLUTE:
-	  /* Ignore these.  */
-	  break;
-
-	case MIPS_R_REFHALF:
-	  UI ("refhalf");
-	  break;
-
-	case MIPS_R_REFWORD:
-	  tmp = bfd_get_32 (input_bfd, mem);
-	  /* printf ("refword: src=%08x targ=%08x+%08x\n", src, tmp, val); */
-	  tmp += val;
-	  bfd_put_32 (input_bfd, tmp, mem);
-	  break;
-
-	case MIPS_R_JMPADDR:
-	  tmp = bfd_get_32 (input_bfd, mem);
-	  targ = val + (tmp & 0x03ffffff) * 4;
-	  if ((src & 0xf0000000) != (targ & 0xf0000000))
-	    {
-	      _bfd_error_handler (_("%B: jump too far away\n"), input_bfd);
-	      bfd_set_error (bfd_error_bad_value);
-	      return FALSE;
-	    }
-	  tmp &= 0xfc000000;
-	  tmp |= (targ / 4) & 0x3ffffff;
-	  bfd_put_32 (input_bfd, tmp, mem);
-	  break;
-
-	case MIPS_R_REFHI:
-	  tmp = bfd_get_32 (input_bfd, mem);
-	  switch (rel[1].r_type)
-	    {
-	    case MIPS_R_PAIR:
-	      /* MS PE object */
-	      targ = val + rel[1].r_offset + ((tmp & 0xffff) << 16);
-	      break;
-	    case MIPS_R_REFLO:
-	      /* GNU COFF object */
-	      low = bfd_get_32 (input_bfd, contents + rel[1].r_vaddr);
-	      low &= 0xffff;
-	      if (low & 0x8000)
-		low -= 0x10000;
-	      targ = val + low + ((tmp & 0xffff) << 16);
-	      break;
-	    default:
-	      _bfd_error_handler (_("%B: bad pair/reflo after refhi\n"),
-				  input_bfd);
-	      bfd_set_error (bfd_error_bad_value);
-	      return FALSE;
-	    }
-	  tmp &= 0xffff0000;
-	  tmp |= (targ >> 16) & 0xffff;
-	  bfd_put_32 (input_bfd, tmp, mem);
-	  break;
-
-	case MIPS_R_REFLO:
-	  tmp = bfd_get_32 (input_bfd, mem);
-	  targ = val + (tmp & 0xffff);
-	  /* printf ("refword: src=%08x targ=%08x\n", src, targ); */
-	  tmp &= 0xffff0000;
-	  tmp |= targ & 0xffff;
-	  bfd_put_32 (input_bfd, tmp, mem);
-	  break;
-
-	case MIPS_R_GPREL:
-	case MIPS_R_LITERAL:
-	  UI ("gprel");
-	  break;
-
-	case MIPS_R_SECTION:
-	  UI ("section");
-	  break;
-
-	case MIPS_R_SECREL:
-	  UI ("secrel");
-	  break;
-
-	case MIPS_R_SECRELLO:
-	  UI ("secrello");
-	  break;
-
-	case MIPS_R_SECRELHI:
-	  UI ("secrelhi");
-	  break;
-
-	case MIPS_R_RVA:
-	  tmp = bfd_get_32 (input_bfd, mem);
-	  /* printf ("rva: src=%08x targ=%08x+%08x\n", src, tmp, val); */
-	  tmp += val
-	    - pe_data (input_section->output_section->owner)->pe_opthdr.ImageBase;
-	  bfd_put_32 (input_bfd, tmp, mem);
-	  break;
-
-	case MIPS_R_PAIR:
-	  /* ignore these */
-	  break;
-	}
-    }
-
-  return TRUE;
-}
-
-#define coff_relocate_section coff_pe_mips_relocate_section
-
-#ifdef TARGET_UNDERSCORE
-
-/* If mips gcc uses underscores for symbol names, then it does not use
-   a leading dot for local labels, so if TARGET_UNDERSCORE is defined
-   we treat all symbols starting with L as local.  */
-
-static bfd_boolean
-coff_mips_is_local_label_name (bfd *abfd, const char *name)
-{
-  if (name[0] == 'L')
-    return TRUE;
-
-  return _bfd_coff_is_local_label_name (abfd, name);
-}
-
-#define coff_bfd_is_local_label_name coff_mips_is_local_label_name
-
-#endif /* TARGET_UNDERSCORE */
-
-#define COFF_NO_HACK_SCNHDR_SIZE
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata	NULL
-#endif
-
-#include "coffcode.h"
-
-const bfd_target
-#ifdef TARGET_SYM
-  TARGET_SYM =
-#else
-  mips_pe_le_vec =
-#endif
-{
-#ifdef TARGET_NAME
-  TARGET_NAME,
-#else
-  "pe-mips",			/* Name.  */
-#endif
-  bfd_target_coff_flavour,
-  BFD_ENDIAN_LITTLE,		/* Data byte order is little.  */
-  BFD_ENDIAN_LITTLE,		/* Header byte order is little.  */
-
-  (HAS_RELOC | EXEC_P |		/* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
-
-#ifndef COFF_WITH_PE
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC /* Section flags.  */
-   | SEC_CODE | SEC_DATA),
-#else
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC /* Section flags.  */
-   | SEC_CODE | SEC_DATA
-   | SEC_LINK_ONCE | SEC_LINK_DUPLICATES),
-#endif
-
-#ifdef TARGET_UNDERSCORE
-  TARGET_UNDERSCORE,		/* Leading underscore.  */
-#else
-  0,				/* leading underscore */
-#endif
-  '/',				/* AR_pad_char.  */
-  15,				/* AR_max_namelen.  */
-  0,				/* match priority.  */
-
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Data.  */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Headers.  */
-
-  /* Note that we allow an object file to be treated as a core file as well.  */
-  {_bfd_dummy_target, coff_object_p, /* bfd_check_format.  */
-   bfd_generic_archive_p, coff_object_p},
-  {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format.  */
-   bfd_false},
-  {bfd_false, coff_write_object_contents, /* bfd_write_contents.  */
-   _bfd_write_archive_contents, bfd_false},
-
-  BFD_JUMP_TABLE_GENERIC (coff),
-  BFD_JUMP_TABLE_COPY (coff),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-  BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
-  BFD_JUMP_TABLE_SYMBOLS (coff),
-  BFD_JUMP_TABLE_RELOCS (coff),
-  BFD_JUMP_TABLE_WRITE (coff),
-  BFD_JUMP_TABLE_LINK (coff),
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  NULL,
-
-  COFF_SWAP_TABLE
-};
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/pe-x86_64.c ./bfd/pe-x86_64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/pe-x86_64.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/pe-x86_64.c	2018-07-10 02:06:11.000000000 +0000
@@ -76,9 +76,9 @@ x86_64_pe_be_vec =
   BFD_ENDIAN_LITTLE,		/* Data byte order is little.  */
   BFD_ENDIAN_LITTLE,		/* Header byte order is little.  */
 
-  (HAS_RELOC | EXEC_P |		/* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS),
+  (HAS_RELOC | EXEC_P		/* Object flags.  */
+   | HAS_LINENO | HAS_DEBUG
+   | HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS),
 
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC /* Section flags.  */
    | SEC_LINK_ONCE | SEC_LINK_DUPLICATES | SEC_READONLY | SEC_DEBUGGING
@@ -97,12 +97,24 @@ x86_64_pe_be_vec =
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Hdrs.  */
 
   /* Note that we allow an object file to be treated as a core file as well.  */
-  { _bfd_dummy_target, amd64coff_object_p, /* BFD_check_format.  */
-    bfd_generic_archive_p, amd64coff_object_p },
-  { bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format.  */
-    bfd_false },
-  { bfd_false, coff_write_object_contents, /* bfd_write_contents.  */
-   _bfd_write_archive_contents, bfd_false },
+  {				/* bfd_check_format.  */
+    _bfd_dummy_target,
+    amd64coff_object_p,
+    bfd_generic_archive_p,
+    amd64coff_object_p 
+  },
+  {				/* bfd_set_format.  */
+    _bfd_bool_bfd_false_error,
+    coff_mkobject,
+    _bfd_generic_mkarchive,
+    _bfd_bool_bfd_false_error 
+  },
+  {				/* bfd_write_contents.  */
+    _bfd_bool_bfd_false_error,
+    coff_write_object_contents,
+    _bfd_write_archive_contents,
+    _bfd_bool_bfd_false_error 
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff),
   BFD_JUMP_TABLE_COPY (coff),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/peXXigen.c ./bfd/peXXigen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/peXXigen.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/peXXigen.c	2018-07-10 02:06:11.000000000 +0000
@@ -154,7 +154,7 @@ _bfd_XXi_swap_sym_in (bfd * abfd, void *
 	  name = _bfd_coff_internal_syment_name (abfd, in, namebuf);
 	  if (name == NULL)
 	    {
-	      _bfd_error_handler (_("%B: unable to find name for empty section"),
+	      _bfd_error_handler (_("%pB: unable to find name for empty section"),
 				  abfd);
 	      bfd_set_error (bfd_error_invalid_target);
 	      return;
@@ -180,7 +180,7 @@ _bfd_XXi_swap_sym_in (bfd * abfd, void *
 	      name = (const char *) bfd_alloc (abfd, strlen (namebuf) + 1);
 	      if (name == NULL)
 		{
-		  _bfd_error_handler (_("%B: out of memory creating name for empty section"),
+		  _bfd_error_handler (_("%pB: out of memory creating name for empty section"),
 				      abfd);
 		  return;
 		}
@@ -191,7 +191,7 @@ _bfd_XXi_swap_sym_in (bfd * abfd, void *
 	  sec = bfd_make_section_anyway_with_flags (abfd, name, flags);
 	  if (sec == NULL)
 	    {
-	      _bfd_error_handler (_("%B: unable to create fake empty section"),
+	      _bfd_error_handler (_("%pB: unable to create fake empty section"),
 				  abfd);
 	      return;
 	    }
@@ -529,7 +529,7 @@ _bfd_XXi_swap_aouthdr_in (bfd * abfd,
       {
 	/* xgettext:c-format */
 	_bfd_error_handler
-	  (_("%B: aout header specifies an invalid number of data-directory entries: %ld"),
+	  (_("%pB: aout header specifies an invalid number of data-directory entries: %ld"),
 	   abfd, a->NumberOfRvaAndSizes);
 	bfd_set_error (bfd_error_bad_value);
 
@@ -828,7 +828,7 @@ _bfd_XXi_only_swap_filehdr_out (bfd * ab
   if (pe_data (abfd)->dll)
     filehdr_in->f_flags |= F_DLL;
 
-  filehdr_in->pe.e_magic    = DOSMAGIC;
+  filehdr_in->pe.e_magic    = IMAGE_DOS_SIGNATURE;
   filehdr_in->pe.e_cblp     = 0x90;
   filehdr_in->pe.e_cp       = 0x3;
   filehdr_in->pe.e_crlc     = 0x0;
@@ -872,7 +872,7 @@ _bfd_XXi_only_swap_filehdr_out (bfd * ab
   filehdr_in->pe.dos_message[13] = 0x0a0d0d2e;
   filehdr_in->pe.dos_message[14] = 0x24;
   filehdr_in->pe.dos_message[15] = 0x0;
-  filehdr_in->pe.nt_signature = NT_SIGNATURE;
+  filehdr_in->pe.nt_signature = IMAGE_NT_SIGNATURE;
 
   H_PUT_16 (abfd, filehdr_in->f_magic, filehdr_out->f_magic);
   H_PUT_16 (abfd, filehdr_in->f_nscns, filehdr_out->f_nscns);
@@ -1018,7 +1018,7 @@ _bfd_XXi_swap_scnhdr_out (bfd * abfd, vo
 
     typedef struct
     {
-      const char *	section_name;
+      char section_name[SCNNMLEN];
       unsigned long	must_have;
     }
     pe_required_section_flags;
@@ -1037,7 +1037,6 @@ _bfd_XXi_swap_scnhdr_out (bfd * abfd, vo
 	{ ".text" , IMAGE_SCN_MEM_READ | IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE },
 	{ ".tls",   IMAGE_SCN_MEM_READ | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_WRITE },
 	{ ".xdata", IMAGE_SCN_MEM_READ | IMAGE_SCN_CNT_INITIALIZED_DATA },
-	{ NULL, 0}
       };
 
     pe_required_section_flags * p;
@@ -1050,10 +1049,12 @@ _bfd_XXi_swap_scnhdr_out (bfd * abfd, vo
        by ld --enable-auto-import (if auto-import is actually needed),
        by ld --omagic, or by obcopy --writable-text.  */
 
-    for (p = known_sections; p->section_name; p++)
-      if (strcmp (scnhdr_int->s_name, p->section_name) == 0)
+    for (p = known_sections;
+	 p < known_sections + ARRAY_SIZE (known_sections);
+	 p++)
+      if (memcmp (scnhdr_int->s_name, p->section_name, SCNNMLEN) == 0)
 	{
-	  if (strcmp (scnhdr_int->s_name, ".text")
+	  if (memcmp (scnhdr_int->s_name, ".text", sizeof ".text")
 	      || (bfd_get_file_flags (abfd) & WP_TEXT))
 	    scnhdr_int->s_flags &= ~IMAGE_SCN_MEM_WRITE;
 	  scnhdr_int->s_flags |= p->must_have;
@@ -1066,7 +1067,7 @@ _bfd_XXi_swap_scnhdr_out (bfd * abfd, vo
   if (coff_data (abfd)->link_info
       && ! bfd_link_relocatable (coff_data (abfd)->link_info)
       && ! bfd_link_pic (coff_data (abfd)->link_info)
-      && strcmp (scnhdr_int->s_name, ".text") == 0)
+      && memcmp (scnhdr_int->s_name, ".text", sizeof ".text") == 0)
     {
       /* By inference from looking at MS output, the 32 bit field
 	 which is the combination of the number_of_relocs and
@@ -1086,7 +1087,7 @@ _bfd_XXi_swap_scnhdr_out (bfd * abfd, vo
       else
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: line number overflow: 0x%lx > 0xffff"),
+	  _bfd_error_handler (_("%pB: line number overflow: 0x%lx > 0xffff"),
 			      abfd, scnhdr_int->s_nlnno);
 	  bfd_set_error (bfd_error_file_truncated);
 	  H_PUT_16 (abfd, 0xffff, scnhdr_ext->s_nlnno);
@@ -1437,7 +1438,7 @@ pe_print_idata (bfd * abfd, void * vfile
       if (hint_addr == 0)
 	hint_addr = first_thunk;
 
-      if (hint_addr != 0)
+      if (hint_addr != 0 && hint_addr - adj < datasize)
 	{
 	  bfd_byte *ft_data;
 	  asection *ft_section;
@@ -1670,7 +1671,7 @@ pe_print_edata (bfd * abfd, void * vfile
     }
 
   /* PR 17512: Handle corrupt PE binaries.  */
-  if (datasize < 36)
+  if (datasize < 40)
     {
       fprintf (file,
 	       /* xgettext:c-format */
@@ -1903,7 +1904,7 @@ pe_print_pdata (bfd * abfd, void * vfile
   if ((stop % onaline) != 0)
     fprintf (file,
 	     /* xgettext:c-format */
-	     _("Warning, .pdata section size (%ld) is not a multiple of %d\n"),
+	     _("warning, .pdata section size (%ld) is not a multiple of %d\n"),
 	     (long) stop, onaline);
 
   fprintf (file,
@@ -2100,7 +2101,7 @@ _bfd_XX_print_ce_compressed_pdata (bfd *
   if ((stop % onaline) != 0)
     fprintf (file,
 	     /* xgettext:c-format */
-	     _("Warning, .pdata section size (%ld) is not a multiple of %d\n"),
+	     _("warning, .pdata section size (%ld) is not a multiple of %d\n"),
 	     (long) stop, onaline);
 
   fprintf (file,
@@ -2986,9 +2987,20 @@ _bfd_XX_bfd_copy_private_bfd_data_common
 	      > bfd_get_section_size (section))
 	    {
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B: Data Directory size (%lx) exceeds space left in section (%Lx)"),
-				  obfd, ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size,
-				  bfd_get_section_size (section) - (addr - section->vma));
+	      _bfd_error_handler
+		(_("%pB: Data Directory size (%lx) "
+		   "exceeds space left in section (%" PRIx64 ")"),
+		 obfd, ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size,
+		 (uint64_t) (section->size - (addr - section->vma)));
+	      return FALSE;
+	    }
+	  /* PR 23110.  */
+	  else if (ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size < 0)
+	    {
+	      /* xgettext:c-format */
+	      _bfd_error_handler
+		(_("%pB: Data Directory size (%#lx) is negative"),
+		 obfd, ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size);
 	      return FALSE;
 	    }
 
@@ -3016,13 +3028,13 @@ _bfd_XX_bfd_copy_private_bfd_data_common
 
 	  if (!bfd_set_section_contents (obfd, section, data, 0, section->size))
 	    {
-	      _bfd_error_handler (_("Failed to update file offsets in debug directory"));
+	      _bfd_error_handler (_("failed to update file offsets in debug directory"));
 	      return FALSE;
 	    }
 	}
       else if (section)
 	{
-	  _bfd_error_handler (_("%B: Failed to read debug data section"), obfd);
+	  _bfd_error_handler (_("%pB: failed to read debug data section"), obfd);
 	  return FALSE;
 	}
     }
@@ -4101,14 +4113,14 @@ rsrc_merge (struct rsrc_entry * a, struc
 
   if (adir->characteristics != bdir->characteristics)
     {
-      _bfd_error_handler (_(".rsrc merge failure: dirs with differing characteristics\n"));
+      _bfd_error_handler (_(".rsrc merge failure: dirs with differing characteristics"));
       bfd_set_error (bfd_error_file_truncated);
       return;
     }
 
   if (adir->major != bdir->major || adir->minor != bdir->minor)
     {
-      _bfd_error_handler (_(".rsrc merge failure: differing directory versions\n"));
+      _bfd_error_handler (_(".rsrc merge failure: differing directory versions"));
       bfd_set_error (bfd_error_file_truncated);
       return;
     }
@@ -4225,7 +4237,7 @@ rsrc_process_section (bfd * abfd,
       if (data > dataend)
 	{
 	  /* Corrupted .rsrc section - cannot merge.  */
-	  _bfd_error_handler (_("%B: .rsrc merge failure: corrupt .rsrc section"),
+	  _bfd_error_handler (_("%pB: .rsrc merge failure: corrupt .rsrc section"),
 			      abfd);
 	  bfd_set_error (bfd_error_file_truncated);
 	  goto end;
@@ -4233,7 +4245,7 @@ rsrc_process_section (bfd * abfd,
 
       if ((data - p) > rsrc_sizes [num_resource_sets])
 	{
-	  _bfd_error_handler (_("%B: .rsrc merge failure: unexpected .rsrc size"),
+	  _bfd_error_handler (_("%pB: .rsrc merge failure: unexpected .rsrc size"),
 			      abfd);
 	  bfd_set_error (bfd_error_file_truncated);
 	  goto end;
@@ -4372,7 +4384,7 @@ _bfd_XXi_final_link_postscript (bfd * ab
       else
 	{
 	  _bfd_error_handler
-	    (_("%B: unable to fill in DataDictionary[1] because .idata$2 is missing"),
+	    (_("%pB: unable to fill in DataDictionary[1] because .idata$2 is missing"),
 	     abfd);
 	  result = FALSE;
 	}
@@ -4392,7 +4404,7 @@ _bfd_XXi_final_link_postscript (bfd * ab
       else
 	{
 	  _bfd_error_handler
-	    (_("%B: unable to fill in DataDictionary[1] because .idata$4 is missing"),
+	    (_("%pB: unable to fill in DataDictionary[1] because .idata$4 is missing"),
 	     abfd);
 	  result = FALSE;
 	}
@@ -4413,7 +4425,7 @@ _bfd_XXi_final_link_postscript (bfd * ab
       else
 	{
 	  _bfd_error_handler
-	    (_("%B: unable to fill in DataDictionary[12] because .idata$5 is missing"),
+	    (_("%pB: unable to fill in DataDictionary[12] because .idata$5 is missing"),
 	     abfd);
 	  result = FALSE;
 	}
@@ -4433,7 +4445,7 @@ _bfd_XXi_final_link_postscript (bfd * ab
       else
 	{
 	  _bfd_error_handler
-	    (_("%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"),
+	    (_("%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"),
 	     abfd);
 	  result = FALSE;
 	}
@@ -4475,7 +4487,7 @@ _bfd_XXi_final_link_postscript (bfd * ab
 	  else
 	    {
 	      _bfd_error_handler
-		(_("%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)]"
+		(_("%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)]"
 		   " because .idata$6 is missing"), abfd);
 	      result = FALSE;
 	    }
@@ -4500,7 +4512,7 @@ _bfd_XXi_final_link_postscript (bfd * ab
       else
 	{
 	  _bfd_error_handler
-	    (_("%B: unable to fill in DataDictionary[9] because __tls_used is missing"),
+	    (_("%pB: unable to fill in DataDictionary[9] because __tls_used is missing"),
 	     abfd);
 	  result = FALSE;
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/plugin.c ./bfd/plugin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/plugin.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/plugin.c	2018-07-10 02:06:11.000000000 +0000
@@ -80,7 +80,7 @@ dlerror (void)
 #define bfd_plugin_bfd_set_private_flags	      _bfd_generic_bfd_set_private_flags
 #define bfd_plugin_core_file_matches_executable_p     generic_core_file_matches_executable_p
 #define bfd_plugin_bfd_is_local_label_name	      _bfd_nosymbols_bfd_is_local_label_name
-#define bfd_plugin_bfd_is_target_special_symbol	      ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define bfd_plugin_bfd_is_target_special_symbol	      _bfd_bool_bfd_asymbol_false
 #define bfd_plugin_get_lineno			      _bfd_nosymbols_get_lineno
 #define bfd_plugin_find_nearest_line		      _bfd_nosymbols_find_nearest_line
 #define bfd_plugin_find_line			      _bfd_nosymbols_find_line
@@ -105,6 +105,7 @@ dlerror (void)
 #define bfd_plugin_bfd_discard_group		      bfd_generic_discard_group
 #define bfd_plugin_section_already_linked	      _bfd_generic_section_already_linked
 #define bfd_plugin_bfd_define_common_symbol	      bfd_generic_define_common_symbol
+#define bfd_plugin_bfd_link_hide_symbol		      _bfd_generic_link_hide_symbol
 #define bfd_plugin_bfd_define_start_stop	      bfd_generic_define_start_stop
 #define bfd_plugin_bfd_copy_link_hash_symbol_type     _bfd_generic_copy_link_hash_symbol_type
 #define bfd_plugin_bfd_link_check_relocs	      _bfd_generic_link_check_relocs
@@ -165,14 +166,22 @@ bfd_plugin_open_input (bfd *ibfd, struct
   bfd *iobfd;
 
   iobfd = ibfd;
-  if (ibfd->my_archive && !bfd_is_thin_archive (ibfd->my_archive))
-    iobfd = ibfd->my_archive;
+  while (iobfd->my_archive
+	 && !bfd_is_thin_archive (iobfd->my_archive))
+    iobfd = iobfd->my_archive;
   file->name = iobfd->filename;
 
   if (!iobfd->iostream && !bfd_open_file (iobfd))
     return 0;
 
-  file->fd = fileno ((FILE *) iobfd->iostream);
+  /* The plugin API expects that the file descriptor won't be closed
+     and reused as done by the bfd file cache.  So open it again.
+     dup isn't good enough.  plugin IO uses lseek/read while BFD uses
+     fseek/fread.  It isn't wise to mix the unistd and stdio calls on
+     the same underlying file descriptor.  */
+  file->fd = open (file->name, O_RDONLY | O_BINARY);
+  if (file->fd < 0)
+    return 0;
 
   if (iobfd == ibfd)
     {
@@ -196,12 +205,12 @@ try_claim (bfd *abfd)
   int claimed = 0;
   struct ld_plugin_input_file file;
 
+  file.handle = abfd;
   if (!bfd_plugin_open_input (abfd, &file))
     return 0;
-  file.handle = abfd;
-  off_t cur_offset = lseek (file.fd, 0, SEEK_CUR);
   claim_file (&file, &claimed);
-  lseek (file.fd, cur_offset, SEEK_SET);
+  if (!claimed)
+    close (file.fd);
   return claimed;
 }
 
@@ -594,16 +603,16 @@ const bfd_target plugin_vec =
     _bfd_dummy_target
   },
   {				/* bfd_set_format.  */
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
     _bfd_generic_mkarchive,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents.  */
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
     _bfd_write_archive_contents,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (bfd_plugin),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/bfd.pot ./bfd/po/bfd.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/bfd.pot	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/po/bfd.pot	2018-07-10 02:06:11.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2017-08-14 10:55+0100\n"
+"POT-Creation-Date: 2018-06-24 19:00+0100\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"
@@ -16,176 +16,216 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
-
-#: aout-adobe.c:126
-#, c-format
-msgid "%B: Unknown section type in a.out.adobe file: %x\n"
-msgstr ""
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
 #: aout-cris.c:200
 #, c-format
-msgid "%B: Invalid relocation type exported: %d"
+msgid "%pB: unsupported relocation type exported: %#x"
 msgstr ""
 
 #: aout-cris.c:244
 #, c-format
-msgid "%B: Invalid relocation type imported: %d"
+msgid "%pB: unsupported relocation type imported: %#x"
 msgstr ""
 
 #: aout-cris.c:256
 #, c-format
-msgid "%B: Bad relocation record imported: %d"
+msgid "%pB: bad relocation record imported: %d"
 msgstr ""
 
-#: aoutx.h:1284 aoutx.h:1621 pdp11.c:1152 pdp11.c:1413
+#: aoutx.h:1264 aoutx.h:1617 pdp11.c:1138 pdp11.c:1399
 #, c-format
-msgid "%B: can not represent section `%A' in a.out object file format"
+msgid "%pB: can not represent section `%pA' in a.out object file format"
 msgstr ""
 
-#: aoutx.h:1585 pdp11.c:1385
+#: aoutx.h:1581 pdp11.c:1371
 #, c-format
 msgid ""
-"%B: can not represent section for symbol `%s' in a.out object file format"
+"%pB: can not represent section for symbol `%s' in a.out object file format"
 msgstr ""
 
-#: aoutx.h:1588 vms-alpha.c:7853
+#: aoutx.h:1584 vms-alpha.c:7854
 msgid "*unknown*"
 msgstr ""
 
-#: aoutx.h:2407 aoutx.h:2425
-msgid "%B: attempt to write out unknown reloc type"
+#: aoutx.h:1720
+#, c-format
+msgid "%pB: invalid string offset %<PRIu64> >= %<PRIu64>"
 msgstr ""
 
-#: aoutx.h:4077 aoutx.h:4398
-msgid "%P: %B: unexpected relocation type\n"
+#: aoutx.h:2411 aoutx.h:2429
+#, c-format
+msgid "%pB: attempt to write out unknown reloc type"
 msgstr ""
 
-#: aoutx.h:5424 pdp11.c:3708
+#: aoutx.h:4084
 #, c-format
-msgid "%B: relocatable link from %s to %s not supported"
+msgid "%pB: unsupported relocation type"
 msgstr ""
 
-#: archive.c:2298
-msgid "Warning: writing archive was slow: rewriting timestamp\n"
+#. Unknown relocation.
+#: aoutx.h:4405 coff-alpha.c:601 coff-alpha.c:1514 coff-rs6000.c:2773
+#: coff-sh.c:504 coff-tic4x.c:184 coff-tic54x.c:279 elf-hppa.h:1040
+#: elf-hppa.h:1068 elf-m10200.c:226 elf-m10300.c:812 elf32-arc.c:519
+#: elf32-arm.c:1944 elf32-avr.c:959 elf32-bfin.c:1061 elf32-bfin.c:4698
+#: elf32-cr16.c:653 elf32-cr16.c:683 elf32-cr16c.c:186 elf32-cris.c:467
+#: elf32-crx.c:429 elf32-d10v.c:234 elf32-d30v.c:522 elf32-d30v.c:544
+#: elf32-dlx.c:548 elf32-epiphany.c:376 elf32-fr30.c:381 elf32-frv.c:2558
+#: elf32-frv.c:6262 elf32-ft32.c:306 elf32-h8300.c:302 elf32-i386.c:401
+#: elf32-ip2k.c:1245 elf32-iq2000.c:442 elf32-lm32.c:539 elf32-m32c.c:305
+#: elf32-m32r.c:1286 elf32-m32r.c:1311 elf32-m32r.c:2417 elf32-m68hc11.c:390
+#: elf32-m68hc12.c:510 elf32-m68k.c:352 elf32-mcore.c:354 elf32-mcore.c:440
+#: elf32-mep.c:389 elf32-metag.c:878 elf32-microblaze.c:692
+#: elf32-microblaze.c:969 elf32-mips.c:2229 elf32-moxie.c:137
+#: elf32-msp430.c:648 elf32-msp430.c:658 elf32-mt.c:241 elf32-nds32.c:2880
+#: elf32-nds32.c:2904 elf32-nds32.c:4423 elf32-nios2.c:3015 elf32-or1k.c:715
+#: elf32-pj.c:325 elf32-ppc.c:2061 elf32-ppc.c:2074 elf32-pru.c:420
+#: elf32-rl78.c:292 elf32-rx.c:314 elf32-rx.c:323 elf32-s12z.c:238
+#: elf32-s390.c:347 elf32-sh.c:438 elf32-spu.c:160 elf32-tic6x.c:1508
+#: elf32-tic6x.c:1518 elf32-tic6x.c:1537 elf32-tic6x.c:1547 elf32-tic6x.c:2642
+#: elf32-tilepro.c:803 elf32-v850.c:1899 elf32-v850.c:1921 elf32-v850.c:4270
+#: elf32-vax.c:290 elf32-visium.c:482 elf32-wasm32.c:106 elf32-xc16x.c:241
+#: elf32-xgate.c:428 elf32-xstormy16.c:395 elf32-xtensa.c:459
+#: elf32-xtensa.c:493 elf64-alpha.c:1112 elf64-alpha.c:4101 elf64-alpha.c:4249
+#: elf64-ia64-vms.c:254 elf64-ia64-vms.c:3440 elf64-mips.c:3623
+#: elf64-mips.c:3639 elf64-mmix.c:1264 elf64-nfp.c:239 elf64-ppc.c:2281
+#: elf64-ppc.c:2555 elf64-ppc.c:2564 elf64-s390.c:328 elf64-s390.c:378
+#: elf64-x86-64.c:285 elfn32-mips.c:3451 elfxx-ia64.c:325 elfxx-riscv.c:955
+#: elfxx-sparc.c:589 elfxx-sparc.c:639 elfxx-sparc.c:661 elfxx-tilegx.c:912
+#: elfxx-tilegx.c:952 /work/sources/binutils/current/bfd/elfnn-aarch64.c:2126
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2224 elf32-ia64.c:211
+#: elf32-ia64.c:3863 elf64-ia64.c:211 elf64-ia64.c:3863
+#, c-format
+msgid "%pB: unsupported relocation type %#x"
+msgstr ""
+
+#: aoutx.h:5432 pdp11.c:3694
+#, c-format
+msgid "%pB: relocatable link from %s to %s not supported"
+msgstr ""
+
+#: archive.c:2216
+msgid "warning: writing archive was slow: rewriting timestamp"
 msgstr ""
 
-#: archive.c:2410 linker.c:1408
-msgid "%B: plugin needed to handle lto object"
+#: archive.c:2332 linker.c:1416
+#, c-format
+msgid "%pB: plugin needed to handle lto object"
 msgstr ""
 
-#: archive.c:2639
+#: archive.c:2561
 msgid "Reading archive file mod timestamp"
 msgstr ""
 
-#: archive.c:2663
+#: archive.c:2585
 msgid "Writing updated armap timestamp"
 msgstr ""
 
+#: bfd.c:449
+msgid "no error"
+msgstr ""
+
+#: bfd.c:450
+msgid "system call error"
+msgstr ""
+
+#: bfd.c:451
+msgid "invalid bfd target"
+msgstr ""
+
+#: bfd.c:452
+msgid "file in wrong format"
+msgstr ""
+
+#: bfd.c:453
+msgid "archive object file in wrong format"
+msgstr ""
+
 #: bfd.c:454
-msgid "No error"
+msgid "invalid operation"
 msgstr ""
 
 #: bfd.c:455
-msgid "System call error"
+msgid "memory exhausted"
 msgstr ""
 
 #: bfd.c:456
-msgid "Invalid bfd target"
+msgid "no symbols"
 msgstr ""
 
 #: bfd.c:457
-msgid "File in wrong format"
+msgid "archive has no index; run ranlib to add one"
 msgstr ""
 
 #: bfd.c:458
-msgid "Archive object file in wrong format"
+msgid "no more archived files"
 msgstr ""
 
 #: bfd.c:459
-msgid "Invalid operation"
+msgid "malformed archive"
 msgstr ""
 
 #: bfd.c:460
-msgid "Memory exhausted"
+msgid "DSO missing from command line"
 msgstr ""
 
 #: bfd.c:461
-msgid "No symbols"
+msgid "file format not recognized"
 msgstr ""
 
 #: bfd.c:462
-msgid "Archive has no index; run ranlib to add one"
+msgid "file format is ambiguous"
 msgstr ""
 
 #: bfd.c:463
-msgid "No more archived files"
+msgid "section has no contents"
 msgstr ""
 
 #: bfd.c:464
-msgid "Malformed archive"
+msgid "nonrepresentable section on output"
 msgstr ""
 
 #: bfd.c:465
-msgid "DSO missing from command line"
+msgid "symbol needs debug section which does not exist"
 msgstr ""
 
 #: bfd.c:466
-msgid "File format not recognized"
+msgid "bad value"
 msgstr ""
 
 #: bfd.c:467
-msgid "File format is ambiguous"
+msgid "file truncated"
 msgstr ""
 
 #: bfd.c:468
-msgid "Section has no contents"
+msgid "file too big"
 msgstr ""
 
 #: bfd.c:469
-msgid "Nonrepresentable section on output"
-msgstr ""
-
-#: bfd.c:470
-msgid "Symbol needs debug section which does not exist"
-msgstr ""
-
-#: bfd.c:471
-msgid "Bad value"
-msgstr ""
-
-#: bfd.c:472
-msgid "File truncated"
-msgstr ""
-
-#: bfd.c:473
-msgid "File too big"
-msgstr ""
-
-#: bfd.c:474
 #, c-format
-msgid "Error reading %s: %s"
+msgid "error reading %s: %s"
 msgstr ""
 
-#: bfd.c:475
-msgid "#<Invalid error code>"
+#: bfd.c:470
+msgid "#<invalid error code>"
 msgstr ""
 
-#: bfd.c:1144
+#: bfd.c:1429
 #, c-format
 msgid "BFD %s assertion fail %s:%d"
 msgstr ""
 
-#: bfd.c:1157
+#: bfd.c:1442
 #, c-format
 msgid "BFD %s internal error, aborting at %s:%d in %s\n"
 msgstr ""
 
-#: bfd.c:1162
+#: bfd.c:1447
 #, c-format
 msgid "BFD %s internal error, aborting at %s:%d\n"
 msgstr ""
 
-#: bfd.c:1164
+#: bfd.c:1449
 msgid "Please report this bug.\n"
 msgstr ""
 
@@ -201,1550 +241,1460 @@ msgstr ""
 
 #: binary.c:276
 #, c-format
-msgid "warning: writing section `%A' at huge (ie negative) file offset"
+msgid "warning: writing section `%pA' at huge (ie negative) file offset"
 msgstr ""
 
-#: bout.c:1142 elf-m10300.c:2651 elf32-avr.c:2484 elf32-frv.c:5633
-#: elf64-ia64-vms.c:353 elfxx-sparc.c:2989 reloc.c:8020 reloc16.c:156
-#: elf32-ia64.c:351 elf64-ia64.c:351
-msgid "%P%F: --relax and -r may not be used together\n"
-msgstr ""
-
-#: cache.c:273
+#: cache.c:272
 #, c-format
-msgid "reopening %B: %s\n"
+msgid "reopening %pB: %s\n"
 msgstr ""
 
 #: coff-alpha.c:450
+#, c-format
 msgid ""
-"%B: Cannot handle compressed Alpha binaries.\n"
-"   Use compiler flags, or objZ, to generate uncompressed binaries."
-msgstr ""
-
-#: coff-alpha.c:602
-msgid "%B: unknown/unsupported relocation type %d"
+"%pB: cannot handle compressed Alpha binaries; use compiler flags, or objZ, "
+"to generate uncompressed binaries"
 msgstr ""
 
-#: coff-alpha.c:851 coff-alpha.c:888 coff-alpha.c:1961 coff-mips.c:944
+#: coff-alpha.c:850 coff-alpha.c:887 coff-alpha.c:1957 coff-mips.c:950
 msgid "GP relative relocation used when GP not defined"
 msgstr ""
 
-#: coff-alpha.c:1444
+#: coff-alpha.c:1443
 msgid "using multiple gp values"
 msgstr ""
 
-#: coff-alpha.c:1503
-msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH"
-msgstr ""
-
-#: coff-alpha.c:1510
-msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
-msgstr ""
-
-#: coff-alpha.c:1518 elf32-i370.c:1085 elf32-m32r.c:2418 elf32-microblaze.c:952
-#: elf64-alpha.c:4165 elf64-alpha.c:4313 elf64-ia64-vms.c:3431
-#: elf32-ia64.c:3839 elf64-ia64.c:3839
+#: coff-alpha.c:1501 coff-alpha.c:1507 elf.c:8983 elf32-mcore.c:100
+#: elf32-mcore.c:455 elf32-ppc.c:8755 elf32-ppc.c:9887 elf64-ppc.c:14936
 #, c-format
-msgid "%B: unknown relocation type %d"
+msgid "%pB: %s unsupported"
 msgstr ""
 
-#: coff-arm.c:1032
-#, c-format
-msgid "%B: unable to find THUMB glue '%s' for `%s'"
-msgstr ""
-
-#: coff-arm.c:1061
-#, c-format
-msgid "%B: unable to find ARM glue '%s' for `%s'"
-msgstr ""
-
-#: coff-arm.c:1363 elf32-arm.c:8896
-#, c-format
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: arm call to thumb"
+#: coff-mips.c:640 elf32-mips.c:1742 elf32-score.c:430 elf32-score7.c:330
+#: elf64-mips.c:3131 elfn32-mips.c:2956
+msgid "GP relative relocation when _gp not defined"
 msgstr ""
 
-#: coff-arm.c:1453
+#: coff-rs6000.c:2859
 #, c-format
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: thumb call to arm\n"
-"  consider relinking with --support-old-code enabled"
+msgid "%pB: TOC reloc at %#<PRIx64> to symbol `%s' with no TOC entry"
 msgstr ""
 
-#: coff-arm.c:1746 coff-tic80.c:670 cofflink.c:3123
+#: coff-rs6000.c:3605 coff64-rs6000.c:2150
 #, c-format
-msgid "%B: bad reloc address %#Lx in section `%A'"
+msgid "%pB: symbol `%s' has unrecognized smclas %d"
 msgstr ""
 
-#: coff-arm.c:2071
+#: coff-sh.c:780 elf32-sh.c:521
 #, c-format
-msgid "%B: illegal symbol index in reloc: %ld"
+msgid "%pB: %#<PRIx64>: warning: bad R_SH_USES offset"
 msgstr ""
 
-#: coff-arm.c:2203
+#: coff-sh.c:791
 #, c-format
-msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
+msgid "%pB: %#<PRIx64>: warning: R_SH_USES points to unrecognized insn %#x"
 msgstr ""
 
-#: coff-arm.c:2216 elf32-arm.c:19754
+#: coff-sh.c:809 elf32-sh.c:552
 #, c-format
-msgid ""
-"error: %B passes floats in float registers, whereas %B passes them in "
-"integer registers"
+msgid "%pB: %#<PRIx64>: warning: bad R_SH_USES load offset"
 msgstr ""
 
-#: coff-arm.c:2221 elf32-arm.c:19758
+#: coff-sh.c:834 elf32-sh.c:568
 #, c-format
-msgid ""
-"error: %B passes floats in integer registers, whereas %B passes them in "
-"float registers"
+msgid "%pB: %#<PRIx64>: warning: could not find expected reloc"
 msgstr ""
 
-#: coff-arm.c:2233
+#: coff-sh.c:851 elf32-sh.c:597
 #, c-format
-msgid ""
-"error: %B is compiled as position independent code, whereas target %B is "
-"absolute position"
+msgid "%pB: %#<PRIx64>: warning: symbol in unexpected section"
 msgstr ""
 
-#: coff-arm.c:2238
+#: coff-sh.c:977 elf32-sh.c:727
 #, c-format
-msgid ""
-"error: %B is compiled as absolute position code, whereas target %B is "
-"position independent"
+msgid "%pB: %#<PRIx64>: warning: could not find expected COUNT reloc"
 msgstr ""
 
-#: coff-arm.c:2265 elf32-arm.c:19823
+#: coff-sh.c:987 elf32-sh.c:738
 #, c-format
-msgid "Warning: %B supports interworking, whereas %B does not"
+msgid "%pB: %#<PRIx64>: warning: bad count"
 msgstr ""
 
-#: coff-arm.c:2270 elf32-arm.c:19829
+#: coff-sh.c:1359 coff-sh.c:2647 elf32-sh.c:1142 elf32-sh.c:1512
 #, c-format
-msgid "Warning: %B does not support interworking, whereas %B does"
+msgid "%pB: %#<PRIx64>: fatal: reloc overflow while relaxing"
 msgstr ""
 
-#: coff-arm.c:2293
+#: coff-sh.c:1454
 #, c-format
-msgid "private flags = %x:"
+msgid "%pB: fatal: generic symbols retrieved before relaxing"
 msgstr ""
 
-#: coff-arm.c:2301 elf32-arm.c:14154
+#: coff-sh.c:2785 cofflink.c:2965
 #, c-format
-msgid " [floats passed in float registers]"
+msgid "%pB: illegal symbol index %ld in relocs"
 msgstr ""
 
-#: coff-arm.c:2303
+#: coff-tic4x.c:228 coff-tic54x.c:366 coffcode.h:5010
 #, c-format
-msgid " [floats passed in integer registers]"
+msgid "%pB: warning: illegal symbol index %ld in relocs"
 msgstr ""
 
-#: coff-arm.c:2306 elf32-arm.c:14157
+#: coff-tic80.c:441
 #, c-format
-msgid " [position independent]"
+msgid "unsupported relocation type %#x"
 msgstr ""
 
-#: coff-arm.c:2308
+#: coff-tic80.c:672 cofflink.c:3127
 #, c-format
-msgid " [absolute position]"
+msgid "%pB: bad reloc address %#<PRIx64> in section `%pA'"
 msgstr ""
 
-#: coff-arm.c:2312
+#: coffcode.h:954
 #, c-format
-msgid " [interworking flag not initialised]"
+msgid "%pB: unable to load COMDAT section name"
 msgstr ""
 
-#: coff-arm.c:2314
+#. Malformed input files can trigger this test.
+#. cf PR 21781.
+#: coffcode.h:989
 #, c-format
-msgid " [interworking supported]"
+msgid "%pB: error: unexpected symbol '%s' in COMDAT section"
 msgstr ""
 
-#: coff-arm.c:2316
+#: coffcode.h:1001
 #, c-format
-msgid " [interworking not supported]"
-msgstr ""
-
-#: coff-arm.c:2361 elf32-arm.c:13015
-msgid ""
-"Warning: Not setting interworking flag of %B since it has already been "
-"specified as non-interworking"
-msgstr ""
-
-#: coff-arm.c:2364 elf32-arm.c:13019
-msgid "Warning: Clearing the interworking flag of %B due to outside request"
+msgid "%pB: warning: COMDAT symbol '%s' does not match section name '%s'"
 msgstr ""
 
-#: coff-arm.c:2421 elf32-arm.c:13064
+#: coffcode.h:1011
 #, c-format
-msgid ""
-"Warning: Clearing the interworking flag of %B because non-interworking code "
-"in %B has been linked with it"
+msgid "%pB: warning: no symbol for section '%s' found"
 msgstr ""
 
-#: coff-h8300.c:1068
+#. Generate a warning message rather using the 'unhandled'
+#. variable as this will allow some .sys files generate by
+#. other toolchains to be processed.  See bugzilla issue 196.
+#: coffcode.h:1237
 #, c-format
-msgid "cannot handle R_MEM_INDIRECT reloc when using %s output"
+msgid "%pB: warning: ignoring section flag %s in section %s"
 msgstr ""
 
-#: coff-i860.c:146
+#: coffcode.h:1306
 #, c-format
-msgid "relocation `%s' not yet implemented"
+msgid "%pB (%s): section flag %s (%#lx) ignored"
 msgstr ""
 
-#: coff-i860.c:608 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5327
+#: coffcode.h:1917
 #, c-format
-msgid "%B: warning: illegal symbol index %ld in relocs"
-msgstr ""
-
-#: coff-i960.c:122 coff-i960.c:475
-msgid "uncertain calling convention for non-COFF symbol"
+msgid "%pB: warning: claims to have 0xffff relocs, without overflow"
 msgstr ""
 
-#: coff-m68k.c:483 elf32-bfin.c:5529 elf32-cr16.c:2817 elf32-m68k.c:4573
-msgid "unsupported reloc type"
-msgstr ""
-
-#: coff-mips.c:634 elf32-mips.c:1744 elf32-score.c:430 elf32-score7.c:330
-#: elf64-mips.c:3135 elfn32-mips.c:2954
-msgid "GP relative relocation when _gp not defined"
-msgstr ""
-
-#: coff-rs6000.c:2773
+#: coffcode.h:2315
 #, c-format
-msgid "%B: unsupported relocation type 0x%02x"
+msgid "unrecognized TI COFF target id '0x%x'"
 msgstr ""
 
-#: coff-rs6000.c:2859
+#: coffcode.h:2599
 #, c-format
-msgid "%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry"
+msgid "%pB: reloc against a non-existent symbol index: %ld"
 msgstr ""
 
-#: coff-rs6000.c:3605 coff64-rs6000.c:2150
+#: coffcode.h:2910
 #, c-format
-msgid "%B: symbol `%s' has unrecognized smclas %d"
+msgid "%pB: page size is too large (0x%x)"
 msgstr ""
 
-#: coff-sh.c:504
+#: coffcode.h:3070
 #, c-format
-msgid "SH Error: unknown reloc type %d"
+msgid "%pB: too many sections (%d)"
 msgstr ""
 
-#: coff-sh.c:778 elf32-sh.c:580
+#: coffcode.h:3489
 #, c-format
-msgid "%B: %#Lx: warning: bad R_SH_USES offset"
+msgid "%pB: section %pA: string table overflow at offset %ld"
 msgstr ""
 
-#: coff-sh.c:789
+#: coffcode.h:3589
 #, c-format
-msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x"
+msgid "%pB:%s section %s: alignment 2**%u not representable"
 msgstr ""
 
-#: coff-sh.c:807 elf32-sh.c:610
+#: coffcode.h:4276
 #, c-format
-msgid "%B: %#Lx: warning: bad R_SH_USES load offset"
+msgid "%pB: warning: line number count (%#lx) exceeds section size (%#lx)"
 msgstr ""
 
-#: coff-sh.c:832 elf32-sh.c:626
+#: coffcode.h:4291
 #, c-format
-msgid "%B: %#Lx: warning: could not find expected reloc"
+msgid "%pB: warning: line number table read failed"
 msgstr ""
 
-#: coff-sh.c:849 elf32-sh.c:655
+#: coffcode.h:4325 coffcode.h:4339
 #, c-format
-msgid "%B: %#Lx: warning: symbol in unexpected section"
+msgid "%pB: warning: illegal symbol index 0x%lx in line number entry %d"
 msgstr ""
 
-#: coff-sh.c:975 elf32-sh.c:785
+#: coffcode.h:4353
 #, c-format
-msgid "%B: %#Lx: warning: could not find expected COUNT reloc"
+msgid "%pB: warning: illegal symbol in line number entry %d"
 msgstr ""
 
-#: coff-sh.c:985 elf32-sh.c:795
+#: coffcode.h:4366
 #, c-format
-msgid "%B: %#Lx: warning: bad count"
+msgid "%pB: warning: duplicate line number information for `%s'"
 msgstr ""
 
-#: coff-sh.c:1357 coff-sh.c:2645 elf32-sh.c:1199 elf32-sh.c:1570
+#: coffcode.h:4774
 #, c-format
-msgid "%B: %#Lx: fatal: reloc overflow while relaxing"
+msgid "%pB: unrecognized storage class %d for %s symbol `%s'"
 msgstr ""
 
-#: coff-sh.c:1452
-msgid "%B: fatal: generic symbols retrieved before relaxing"
-msgstr ""
-
-#: coff-sh.c:2783 cofflink.c:2961
+#: coffcode.h:4904
 #, c-format
-msgid "%B: illegal symbol index %ld in relocs"
+msgid "warning: %pB: local symbol `%s' has no section"
 msgstr ""
 
-#: coff-tic4x.c:183 coff-tic54x.c:278 coff-tic80.c:439
+#: coffcode.h:5050
 #, c-format
-msgid "Unrecognized reloc type 0x%x"
+msgid "%pB: illegal relocation type %d at address %#<PRIx64>"
 msgstr ""
 
-#: coff-w65.c:352
+#: coffgen.c:178 elf.c:1214
 #, c-format
-msgid "ignoring reloc %s\n"
+msgid "%pB: unable to initialize compress status for section %s"
 msgstr ""
 
-#: coffcode.h:968
-msgid "%B: unable to load COMDAT section name"
-msgstr ""
-
-#. Malformed input files can trigger this test.
-#. cf PR 21781.
-#: coffcode.h:1003
-msgid "%B: error: unexpected symbol '%s' in COMDAT section"
-msgstr ""
-
-#: coffcode.h:1015
+#: coffgen.c:202 elf.c:1225
 #, c-format
-msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
+msgid "%pB: unable to initialize decompress status for section %s"
 msgstr ""
 
-#: coffcode.h:1025
+#: coffgen.c:1652
 #, c-format
-msgid "%B: warning: No symbol for section '%s' found"
+msgid "%pB: corrupt symbol count: %#<PRIx64>"
 msgstr ""
 
-#. Generate a warning message rather using the 'unhandled'
-#. variable as this will allow some .sys files generate by
-#. other toolchains to be processed.  See bugzilla issue 196.
-#: coffcode.h:1251
+#. PR 21013: Provide an error message when the alloc fails.
+#: coffgen.c:1661
 #, c-format
 msgid ""
-"%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
-msgstr ""
-
-#: coffcode.h:1320
-#, c-format
-msgid "%B (%s): Section flag %s (%#lx) ignored"
+"%pB: not enough memory to allocate space for %#<PRIx64> symbols of size "
+"%#<PRIx64>"
 msgstr ""
 
-#: coffcode.h:1955
-msgid "%B: warning: claims to have 0xffff relocs, without overflow"
-msgstr ""
-
-#: coffcode.h:2471
-#, c-format
-msgid "Unrecognized TI COFF target id '0x%x'"
-msgstr ""
-
-#: coffcode.h:2789
+#: coffgen.c:1730
 #, c-format
-msgid "%B: reloc against a non-existent symbol index: %ld"
+msgid "%pB: bad string table size %<PRIu64>"
 msgstr ""
 
-#: coffcode.h:3192
-#, c-format
-msgid "%B: page size is too large (0x%x)"
-msgstr ""
-
-#: coffcode.h:3352
-#, c-format
-msgid "%B: too many sections (%d)"
+#: coffgen.c:1907 coffgen.c:1967 coffgen.c:1985 cofflink.c:2045
+#: xcofflink.c:4508
+msgid "<corrupt>"
 msgstr ""
 
-#: coffcode.h:3773
+#: coffgen.c:2109
 #, c-format
-msgid "%B: section %A: string table overflow at offset %ld"
+msgid "<corrupt info> %s"
 msgstr ""
 
-#: coffcode.h:4591
-msgid "%B: warning: line number table read failed"
+#: coffgen.c:2688 elflink.c:14290 linker.c:2946
+msgid "%F%P: already_linked_table: %E\n"
 msgstr ""
 
-#: coffcode.h:4625 coffcode.h:4639
+#: coffgen.c:3029 elflink.c:13292
 #, c-format
-msgid "%B: warning: illegal symbol index 0x%lx in line number entry %d"
+msgid "removing unused section '%pA' in file '%pB'"
 msgstr ""
 
-#: coffcode.h:4653
-#, c-format
-msgid "%B: warning: illegal symbol in line number entry %d"
+#: coffgen.c:3106 elflink.c:13510
+msgid "warning: gc-sections option ignored"
 msgstr ""
 
-#: coffcode.h:4666
+#: cofflink.c:352
 #, c-format
-msgid "%B: warning: duplicate line number information for `%s'"
+msgid "warning: symbol `%s' is both section and non-section"
 msgstr ""
 
-#: coffcode.h:5087
+#: cofflink.c:454 elf64-ia64-vms.c:5203 elflink.c:4934
 #, c-format
-msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
+msgid "warning: type of symbol `%s' changed from %d to %d in %pB"
 msgstr ""
 
-#: coffcode.h:5220
+#: cofflink.c:2373
 #, c-format
-msgid "warning: %B: local symbol `%s' has no section"
+msgid "%pB: relocs in section `%pA', but it has no contents"
 msgstr ""
 
-#: coffcode.h:5367
+#: cofflink.c:2436 elflink.c:10787
 #, c-format
-msgid "%B: illegal relocation type %d at address %#Lx"
+msgid ""
+"%X`%s' referenced in section `%pA' of %pB: defined in discarded section `"
+"%pA' of %pB\n"
 msgstr ""
 
-#: coffgen.c:178 elf.c:1198
+#: cofflink.c:2734
 #, c-format
-msgid "%B: unable to initialize compress status for section %s"
+msgid "%pB: %pA: reloc overflow: %#x > 0xffff"
 msgstr ""
 
-#: coffgen.c:202 elf.c:1209
+#: cofflink.c:2742
 #, c-format
-msgid "%B: unable to initialize decompress status for section %s"
-msgstr ""
-
-#. PR 21013: Provide an error message when the alloc fails.
-#: coffgen.c:1648
-msgid "%B: Not enough memory to allocate space for %Lu symbols"
+msgid "%pB: warning: %pA: line number overflow: %#x > 0xffff"
 msgstr ""
 
-#: coffgen.c:1716
+#: coffswap.h:789
 #, c-format
-msgid "%B: bad string table size %Lu"
-msgstr ""
-
-#: coffgen.c:1885 coffgen.c:1945 coffgen.c:1963 cofflink.c:2041
-#: xcofflink.c:4507
-msgid "<corrupt>"
+msgid "%pB: warning: %s: line number overflow: 0x%lx > 0xffff"
 msgstr ""
 
-#: coffgen.c:2087
+#: coffswap.h:803
 #, c-format
-msgid "<corrupt info> %s"
+msgid "%pB: %s: reloc overflow: 0x%lx > 0xffff"
 msgstr ""
 
-#: coffgen.c:2666 elflink.c:14078 linker.c:2931
-msgid "%F%P: already_linked_table: %E\n"
-msgstr ""
-
-#: coffgen.c:3007 elflink.c:13064
+#: compress.c:255
 #, c-format
-msgid "Removing unused section '%A' in file '%B'"
+msgid "error: %pB(%pA) is too large (%#<PRIx64> bytes)"
 msgstr ""
 
-#: coffgen.c:3084 elflink.c:13309
-msgid "Warning: gc-sections option ignored"
-msgstr ""
-
-#: cofflink.c:348
+#: cpu-arm.c:192 cpu-arm.c:204
 #, c-format
-msgid "Warning: symbol `%s' is both section and non-section"
+msgid ""
+"error: %pB is compiled for the EP9312, whereas %pB is compiled for XScale"
 msgstr ""
 
-#: cofflink.c:450 elf64-ia64-vms.c:5187 elflink.c:4794
+#: cpu-arm.c:338
 #, c-format
-msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
+msgid "warning: unable to update contents of %s section in %pB"
 msgstr ""
 
-#: cofflink.c:2369
+#: dwarf2.c:543
 #, c-format
-msgid "%B: relocs in section `%A', but it has no contents"
+msgid "DWARF error: can't find %s section."
 msgstr ""
 
-#: cofflink.c:2432 elflink.c:10572
+#: dwarf2.c:572
 #, c-format
 msgid ""
-"%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' "
-"of %B\n"
+"DWARF error: offset (%<PRIu64>) greater than or equal to %s size (%<PRIu64>)"
 msgstr ""
 
-#: cofflink.c:2730
-#, c-format
-msgid "%B: %A: reloc overflow: %#x > 0xffff"
+#: dwarf2.c:1100
+msgid "DWARF error: info pointer extends beyond end of attributes"
 msgstr ""
 
-#: cofflink.c:2738
+#: dwarf2.c:1268
 #, c-format
-msgid "%B: warning: %A: line number overflow: %#x > 0xffff"
+msgid "DWARF error: invalid or unhandled FORM value: %#x"
 msgstr ""
 
-#: coffswap.h:811
-#, c-format
-msgid "%B: warning: %s: line number overflow: 0x%lx > 0xffff"
+#: dwarf2.c:1574
+msgid "DWARF error: mangled line number section (bad file number)"
 msgstr ""
 
-#: coffswap.h:825
-#, c-format
-msgid "%B: %s: reloc overflow: 0x%lx > 0xffff"
+#: dwarf2.c:1919
+msgid "DWARF error: zero format count"
 msgstr ""
 
-#: compress.c:255
+#: dwarf2.c:1929
 #, c-format
-msgid "error: %B(%A) is too large (%#Lx bytes)"
+msgid "DWARF error: data count (%<PRIx64>) larger than buffer size"
 msgstr ""
 
-#: cpu-arm.c:192 cpu-arm.c:204
+#: dwarf2.c:1970
 #, c-format
-msgid "error: %B is compiled for the EP9312, whereas %B is compiled for XScale"
+msgid "DWARF error: unknown format content type %<PRIu64>"
 msgstr ""
 
-#: cpu-arm.c:338
+#: dwarf2.c:2050
 #, c-format
-msgid "warning: unable to update contents of %s section in %B"
+msgid "DWARF error: line info section is too small (%<PRId64>)"
 msgstr ""
 
-#: dwarf2.c:546
+#: dwarf2.c:2080
 #, c-format
-msgid "Dwarf Error: Can't find %s section."
+msgid ""
+"DWARF error: line info data is bigger (%#<PRIx64>) than the space remaining "
+"in the section (%#lx)"
 msgstr ""
 
-#: dwarf2.c:576
+#: dwarf2.c:2093
 #, c-format
-msgid "Dwarf Error: Offset (%llu) greater than or equal to %s size (%Lu)."
+msgid "DWARF error: unhandled .debug_line version %d"
 msgstr ""
 
-#: dwarf2.c:1093
-msgid "Dwarf Error: Info pointer extends beyond end of attributes"
+#: dwarf2.c:2103
+msgid "DWARF error: ran out of room reading prologue"
 msgstr ""
 
-#: dwarf2.c:1265
+#: dwarf2.c:2121
 #, c-format
-msgid "Dwarf Error: Invalid or unhandled FORM value: %#x."
+msgid "DWARF error: line info unsupported segment selector size %u"
 msgstr ""
 
-#: dwarf2.c:1572
-msgid "Dwarf Error: mangled line number section (bad file number)."
+#: dwarf2.c:2148
+msgid "DWARF error: invalid maximum operations per instruction"
 msgstr ""
 
-#: dwarf2.c:1946
-#, c-format
-msgid "Dwarf Error: Unknown format content type %Lu."
+#: dwarf2.c:2167
+msgid "DWARF error: ran out of room reading opcodes"
 msgstr ""
 
-#: dwarf2.c:2050
-#, c-format
-msgid "Dwarf Error: Line info section is too small (%Ld)"
+#: dwarf2.c:2340
+msgid "DWARF error: mangled line number section"
 msgstr ""
 
-#: dwarf2.c:2080
-#, c-format
-msgid "Dwarf Error: Line info data is bigger (%#Lx) than the section (%#Lx)"
+#: dwarf2.c:2843 dwarf2.c:2904
+msgid "DWARF error: invalid abstract instance DIE ref"
 msgstr ""
 
-#: dwarf2.c:2092
+#: dwarf2.c:2880
 #, c-format
-msgid "Dwarf Error: Unhandled .debug_line version %d."
+msgid "DWARF error: unable to read alt ref %<PRIu64>"
 msgstr ""
 
-#: dwarf2.c:2102
-msgid "Dwarf Error: Ran out of room reading prologue"
-msgstr ""
-
-#: dwarf2.c:2120
-#, c-format
-msgid "Dwarf Error: Line info unsupported segment selector size %u."
-msgstr ""
-
-#: dwarf2.c:2147
-msgid "Dwarf Error: Invalid maximum operations per instruction."
-msgstr ""
-
-#: dwarf2.c:2166
-msgid "Dwarf Error: Ran out of room reading opcodes"
-msgstr ""
-
-#: dwarf2.c:2351
-msgid "Dwarf Error: mangled line number section."
-msgstr ""
-
-#: dwarf2.c:2857
+#: dwarf2.c:2921 dwarf2.c:3094 dwarf2.c:3448
 #, c-format
-msgid "Dwarf Error: Unable to read alt ref %llu."
+msgid "DWARF error: could not find abbrev number %u"
 msgstr ""
 
-#: dwarf2.c:2883 dwarf2.c:3033 dwarf2.c:3380
-#, c-format
-msgid "Dwarf Error: Could not find abbrev number %u."
+#: dwarf2.c:2938
+msgid "DWARF error: abstract instance recursion detected"
 msgstr ""
 
-#: dwarf2.c:3299
+#: dwarf2.c:3367
 #, c-format
 msgid ""
-"Dwarf Error: found dwarf version '%u', this reader only handles version 2, "
-"3, 4 and 5 information."
+"DWARF error: found dwarf version '%u', this reader only handles version 2, "
+"3, 4 and 5 information"
 msgstr ""
 
-#: dwarf2.c:3343
+#: dwarf2.c:3411
 #, c-format
 msgid ""
-"Dwarf Error: found address size '%u', this reader can not handle sizes "
-"greater than '%u'."
+"DWARF error: found address size '%u', this reader can not handle sizes "
+"greater than '%u'"
 msgstr ""
 
-#: dwarf2.c:3446
+#: dwarf2.c:3514
 msgid ""
-"Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form."
+"DWARF error: DW_AT_comp_dir attribute encountered with a non-string form"
 msgstr ""
 
-#: ecoff.c:964
+#: ecoff.c:971
 #, c-format
-msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%ld)"
+msgid "%pB: warning: isymMax (%ld) is greater than ifdMax (%ld)"
 msgstr ""
 
-#: ecoff.c:1261
+#: ecoff.c:1268
 #, c-format
-msgid "Unknown basic type %d"
+msgid "unknown basic type %d"
 msgstr ""
 
-#: ecoff.c:1518
+#: ecoff.c:1525
 #, c-format
 msgid ""
 "\n"
 "      End+1 symbol: %ld"
 msgstr ""
 
-#: ecoff.c:1525 ecoff.c:1528
+#: ecoff.c:1532 ecoff.c:1535
 #, c-format
 msgid ""
 "\n"
 "      First symbol: %ld"
 msgstr ""
 
-#: ecoff.c:1541
+#: ecoff.c:1548
 #, c-format
 msgid ""
 "\n"
 "      End+1 symbol: %-7ld   Type:  %s"
 msgstr ""
 
-#: ecoff.c:1548
+#: ecoff.c:1555
 #, c-format
 msgid ""
 "\n"
 "      Local symbol: %ld"
 msgstr ""
 
-#: ecoff.c:1556
+#: ecoff.c:1563
 #, c-format
 msgid ""
 "\n"
 "      struct; End+1 symbol: %ld"
 msgstr ""
 
-#: ecoff.c:1561
+#: ecoff.c:1568
 #, c-format
 msgid ""
 "\n"
 "      union; End+1 symbol: %ld"
 msgstr ""
 
-#: ecoff.c:1566
+#: ecoff.c:1573
 #, c-format
 msgid ""
 "\n"
 "      enum; End+1 symbol: %ld"
 msgstr ""
 
-#: ecoff.c:1572
+#: ecoff.c:1579
 #, c-format
 msgid ""
 "\n"
 "      Type: %s"
 msgstr ""
 
-#: elf-attrs.c:473
-msgid "%B: error: attribute section length too small: %ld"
+#: elf-attrs.c:444
+#, c-format
+msgid "%pB: error: attribute section '%pA' too big: %#llx"
 msgstr ""
 
-#: elf-attrs.c:601
+#: elf-attrs.c:485
+#, c-format
+msgid "%pB: error: attribute section length too small: %<PRId64>"
+msgstr ""
+
+#: elf-attrs.c:613
 #, c-format
 msgid ""
-"error: %B: Object has vendor-specific contents that must be processed by the "
-"'%s' toolchain"
+"error: %pB: object has vendor-specific contents that must be processed by "
+"the '%s' toolchain"
 msgstr ""
 
-#: elf-attrs.c:611
+#: elf-attrs.c:623
 #, c-format
-msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
+msgid "error: %pB: object tag '%d, %s' is incompatible with tag '%d, %s'"
 msgstr ""
 
-#: elf-eh-frame.c:946
+#: elf-eh-frame.c:942
 #, c-format
-msgid "discarding zero address range FDE in %B(%A).\n"
+msgid "discarding zero address range FDE in %pB(%pA).\n"
 msgstr ""
 
-#: elf-eh-frame.c:1051
+#: elf-eh-frame.c:1047
 #, c-format
-msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
+msgid "error in %pB(%pA); no .eh_frame_hdr table will be created"
 msgstr ""
 
-#: elf-eh-frame.c:1541
+#: elf-eh-frame.c:1537
 #, c-format
-msgid ""
-"%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
+msgid "FDE encoding in %pB(%pA) prevents .eh_frame_hdr table being created"
 msgstr ""
 
-#: elf-eh-frame.c:1548
+#: elf-eh-frame.c:1544
 msgid ""
-"%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation "
-"dropped.\n"
+"further warnings about FDE encoding preventing .eh_frame_hdr generation "
+"dropped"
 msgstr ""
 
-#: elf-eh-frame.c:1870
+#: elf-eh-frame.c:1866
 #, c-format
-msgid "%B: %A not in order"
+msgid "%pB: %pA not in order"
 msgstr ""
 
-#: elf-eh-frame.c:1884
+#: elf-eh-frame.c:1880
 #, c-format
-msgid "%B: %A invalid input section size"
+msgid "%pB: %pA invalid input section size"
 msgstr ""
 
-#: elf-eh-frame.c:1892
+#: elf-eh-frame.c:1888
 #, c-format
-msgid "%B: %A points past end of text section"
+msgid "%pB: %pA points past end of text section"
 msgstr ""
 
-#: elf-eh-frame.c:2141
-msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
+#: elf-eh-frame.c:2137
+msgid "DW_EH_PE_datarel unspecified for this architecture"
 msgstr ""
 
-#: elf-eh-frame.c:2311
+#: elf-eh-frame.c:2307
 #, c-format
-msgid "Invalid output section for .eh_frame_entry: %A"
+msgid "invalid output section for .eh_frame_entry: %pA"
 msgstr ""
 
-#: elf-eh-frame.c:2334
+#: elf-eh-frame.c:2330
 #, c-format
-msgid "Invalid contents in %A section"
+msgid "invalid contents in %pA section"
 msgstr ""
 
-#: elf-eh-frame.c:2490
-msgid "%P: .eh_frame_hdr entry overflow.\n"
+#: elf-eh-frame.c:2486
+msgid ".eh_frame_hdr entry overflow"
 msgstr ""
 
-#: elf-eh-frame.c:2493
-msgid "%P: .eh_frame_hdr refers to overlapping FDEs.\n"
+#: elf-eh-frame.c:2488
+msgid ".eh_frame_hdr refers to overlapping FDEs"
 msgstr ""
 
-#: elf-ifunc.c:142
+#: elf-ifunc.c:149
 #, c-format
 msgid ""
-"%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can "
+"%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%pB' can "
 "not be used when making an executable; recompile with -fPIE and relink with -"
 "pie\n"
 msgstr ""
 
-#: elf-m10200.c:425 elf-m10300.c:2149 elf32-avr.c:1502 elf32-bfin.c:3193
-#: elf32-cr16.c:1466 elf32-cr16c.c:780 elf32-cris.c:2025 elf32-crx.c:924
-#: elf32-d10v.c:513 elf32-epiphany.c:563 elf32-fr30.c:591 elf32-frv.c:4041
-#: elf32-ft32.c:334 elf32-h8300.c:522 elf32-i860.c:1210 elf32-ip2k.c:1475
-#: elf32-iq2000.c:693 elf32-lm32.c:1126 elf32-m32c.c:621 elf32-m32r.c:3045
-#: elf32-m68hc1x.c:1269 elf32-mep.c:524 elf32-metag.c:2000
-#: elf32-microblaze.c:1570 elf32-moxie.c:285 elf32-mt.c:400 elf32-nds32.c:5402
-#: elf32-or1k.c:1258 elf32-score.c:2731 elf32-score7.c:2540 elf32-spu.c:5076
-#: elf32-tilepro.c:3657 elf32-v850.c:2287 elf32-visium.c:677
-#: elf32-xstormy16.c:927 elf64-mmix.c:1538 elfxx-tilegx.c:4044
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2267
+#: elf-m10200.c:434 elf-m10300.c:2147 elf32-avr.c:1505 elf32-bfin.c:3127
+#: elf32-cr16.c:1464 elf32-cr16c.c:783 elf32-cris.c:2033 elf32-crx.c:925
+#: elf32-d10v.c:512 elf32-epiphany.c:566 elf32-fr30.c:594 elf32-frv.c:4049
+#: elf32-ft32.c:494 elf32-h8300.c:523 elf32-ip2k.c:1482 elf32-iq2000.c:693
+#: elf32-lm32.c:1112 elf32-m32c.c:624 elf32-m32r.c:3045 elf32-m68hc1x.c:1266
+#: elf32-mep.c:526 elf32-metag.c:1990 elf32-microblaze.c:1631 elf32-moxie.c:288
+#: elf32-mt.c:402 elf32-nds32.c:5300 elf32-or1k.c:1242 elf32-score.c:2733
+#: elf32-score7.c:2542 elf32-spu.c:5078 elf32-tilepro.c:3506 elf32-v850.c:2291
+#: elf32-visium.c:681 elf32-xstormy16.c:931 elf64-mmix.c:1541
+#: elfxx-tilegx.c:3870
 msgid "internal error: out of range error"
 msgstr ""
 
-#: elf-m10200.c:429 elf-m10300.c:2153 elf32-avr.c:1506 elf32-bfin.c:3197
-#: elf32-cr16.c:1470 elf32-cr16c.c:784 elf32-cris.c:2029 elf32-crx.c:928
-#: elf32-d10v.c:517 elf32-fr30.c:595 elf32-frv.c:4045 elf32-ft32.c:338
-#: elf32-h8300.c:526 elf32-i860.c:1214 elf32-iq2000.c:697 elf32-lm32.c:1130
-#: elf32-m32c.c:625 elf32-m32r.c:3049 elf32-m68hc1x.c:1273 elf32-mep.c:528
-#: elf32-metag.c:2004 elf32-microblaze.c:1574 elf32-moxie.c:289
-#: elf32-msp430.c:1361 elf32-nds32.c:5406 elf32-or1k.c:1262 elf32-score.c:2735
-#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3661 elf32-v850.c:2291
-#: elf32-visium.c:681 elf32-xstormy16.c:931 elf64-mmix.c:1542
-#: elfxx-mips.c:10258 elfxx-tilegx.c:4048
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2271
+#: elf-m10200.c:438 elf-m10300.c:2151 elf32-avr.c:1509 elf32-bfin.c:3131
+#: elf32-cr16.c:1468 elf32-cr16c.c:787 elf32-cris.c:2037 elf32-crx.c:929
+#: elf32-d10v.c:516 elf32-fr30.c:598 elf32-frv.c:4053 elf32-ft32.c:498
+#: elf32-h8300.c:527 elf32-iq2000.c:697 elf32-lm32.c:1116 elf32-m32c.c:628
+#: elf32-m32r.c:3049 elf32-m68hc1x.c:1270 elf32-mep.c:530 elf32-metag.c:1994
+#: elf32-microblaze.c:1635 elf32-moxie.c:292 elf32-msp430.c:1362
+#: elf32-nds32.c:5304 elf32-or1k.c:1246 elf32-score.c:2737 elf32-score7.c:2546
+#: elf32-spu.c:5082 elf32-tilepro.c:3510 elf32-v850.c:2295 elf32-visium.c:685
+#: elf32-xstormy16.c:935 elf64-mmix.c:1545 elfxx-mips.c:10283
+#: elfxx-tilegx.c:3874
 msgid "internal error: unsupported relocation error"
 msgstr ""
 
-#: elf-m10200.c:433 elf32-cr16.c:1474 elf32-cr16c.c:788 elf32-crx.c:932
-#: elf32-d10v.c:521 elf32-h8300.c:530 elf32-lm32.c:1134 elf32-m32r.c:3053
-#: elf32-m68hc1x.c:1277 elf32-microblaze.c:1578 elf32-nds32.c:5410
-#: elf32-score.c:2739 elf32-score7.c:2548 elf32-spu.c:5084
+#: elf-m10200.c:442 elf32-cr16.c:1472 elf32-cr16c.c:791 elf32-crx.c:933
+#: elf32-d10v.c:520 elf32-h8300.c:531 elf32-lm32.c:1120 elf32-m32r.c:3053
+#: elf32-m68hc1x.c:1274 elf32-microblaze.c:1639 elf32-nds32.c:5308
+#: elf32-score.c:2741 elf32-score7.c:2550 elf32-spu.c:5086
 msgid "internal error: dangerous error"
 msgstr ""
 
-#: elf-m10200.c:437 elf-m10300.c:2170 elf32-avr.c:1514 elf32-bfin.c:3205
-#: elf32-cr16.c:1478 elf32-cr16c.c:792 elf32-cris.c:2037 elf32-crx.c:936
-#: elf32-d10v.c:525 elf32-epiphany.c:578 elf32-fr30.c:603 elf32-frv.c:4053
-#: elf32-ft32.c:346 elf32-h8300.c:534 elf32-i860.c:1222 elf32-ip2k.c:1490
-#: elf32-iq2000.c:705 elf32-lm32.c:1138 elf32-m32c.c:633 elf32-m32r.c:3057
-#: elf32-m68hc1x.c:1281 elf32-mep.c:536 elf32-metag.c:2012
-#: elf32-microblaze.c:1582 elf32-moxie.c:297 elf32-msp430.c:1369 elf32-mt.c:408
-#: elf32-nds32.c:5414 elf32-or1k.c:1270 elf32-score.c:2748 elf32-score7.c:2552
-#: elf32-spu.c:5088 elf32-tilepro.c:3669 elf32-v850.c:2311 elf32-visium.c:689
-#: elf32-xstormy16.c:939 elf64-mmix.c:1550 elfxx-tilegx.c:4056
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2279
+#: elf-m10200.c:446 elf-m10300.c:2168 elf32-avr.c:1517 elf32-bfin.c:3139
+#: elf32-cr16.c:1476 elf32-cr16c.c:795 elf32-cris.c:2045 elf32-crx.c:937
+#: elf32-d10v.c:524 elf32-epiphany.c:581 elf32-fr30.c:606 elf32-frv.c:4061
+#: elf32-ft32.c:506 elf32-h8300.c:535 elf32-ip2k.c:1497 elf32-iq2000.c:705
+#: elf32-lm32.c:1124 elf32-m32c.c:636 elf32-m32r.c:3057 elf32-m68hc1x.c:1278
+#: elf32-mep.c:538 elf32-metag.c:2002 elf32-microblaze.c:1643 elf32-moxie.c:300
+#: elf32-msp430.c:1370 elf32-mt.c:410 elf32-nds32.c:5312 elf32-or1k.c:1254
+#: elf32-score.c:2750 elf32-score7.c:2554 elf32-spu.c:5090 elf32-tilepro.c:3518
+#: elf32-v850.c:2315 elf32-visium.c:693 elf32-xstormy16.c:943 elf64-mmix.c:1553
+#: elfxx-tilegx.c:3882
 msgid "internal error: unknown error"
 msgstr ""
 
-#: elf-m10300.c:812
+#: elf-m10300.c:1029
 #, c-format
-msgid "%B: unrecognised MN10300 reloc number: %d"
+msgid "%pB: unsupported transition from %s to %s"
 msgstr ""
 
-#: elf-m10300.c:1028
+#: elf-m10300.c:1198
 #, c-format
-msgid "%B: Unsupported transition from %s to %s"
+msgid "%pB: %s' accessed both as normal and thread local symbol"
 msgstr ""
 
-#: elf-m10300.c:1201
+#: elf-m10300.c:2094 elf32-arm.c:13234 elf32-i386.c:3410 elf32-m32r.c:2539
+#: elf32-m68k.c:3899 elf32-s390.c:3208 elf32-sh.c:3796 elf32-tilepro.c:3409
+#: elf32-xtensa.c:2952 elf64-s390.c:3125 elf64-x86-64.c:3843 elfxx-sparc.c:3908
+#: elfxx-tilegx.c:3793 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5258
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6738
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2249
 #, c-format
-msgid "%B: %s' accessed both as normal and thread local symbol"
+msgid "%pB(%pA+%#<PRIx64>): unresolvable %s relocation against symbol `%s'"
 msgstr ""
 
-#: elf-m10300.c:2097 elf32-arm.c:12530 elf32-i386.c:5344 elf32-m32r.c:2540
-#: elf32-m68k.c:4083 elf32-s390.c:3372 elf32-sh.c:4127 elf32-tilepro.c:3561
-#: elf32-xtensa.c:3074 elf64-s390.c:3296 elf64-sh64.c:1636 elf64-x86-64.c:5712
-#: elfxx-sparc.c:4086 elfxx-tilegx.c:3968
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6431
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2236
-#, c-format
-msgid "%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"
-msgstr ""
-
-#: elf-m10300.c:2158
+#: elf-m10300.c:2156
 msgid ""
 "error: inappropriate relocation type for shared library (did you forget -"
 "fpic?)"
 msgstr ""
 
-#: elf-m10300.c:2162
+#: elf-m10300.c:2160
 #, c-format
 msgid ""
-"%B: taking the address of protected function '%s' cannot be done when making "
-"a shared library"
+"%pB: taking the address of protected function '%s' cannot be done when "
+"making a shared library"
 msgstr ""
 
-#: elf-m10300.c:2165
+#: elf-m10300.c:2163
 msgid "internal error: suspicious relocation type used in shared library"
 msgstr ""
 
+#: elf-m10300.c:2649 elf32-avr.c:2487 elf32-frv.c:5641 elf64-ia64-vms.c:364
+#: elfxx-sparc.c:2797 reloc.c:8116 reloc16.c:155 elf32-ia64.c:362
+#: elf64-ia64.c:362
+msgid "%P%F: --relax and -r may not be used together\n"
+msgstr ""
+
 #: elf-properties.c:65
-msgid "%B: out of memory in _bfd_elf_get_property"
+#, c-format
+msgid "%pB: out of memory in _bfd_elf_get_property"
 msgstr ""
 
 #: elf-properties.c:91
-msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"
+#, c-format
+msgid "warning: %pB: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"
 msgstr ""
 
-#: elf-properties.c:107
-msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"
+#: elf-properties.c:112
+#, c-format
+msgid "warning: %pB: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"
 msgstr ""
 
-#: elf-properties.c:146
-msgid "warning: %B: corrupt stack size: 0x%x"
+#: elf-properties.c:151
+#, c-format
+msgid "warning: %pB: corrupt stack size: 0x%x"
 msgstr ""
 
-#: elf-properties.c:164
-msgid "warning: %B: corrupt no copy on protected size: 0x%x"
+#: elf-properties.c:169
+#, c-format
+msgid "warning: %pB: corrupt no copy on protected size: 0x%x"
 msgstr ""
 
-#: elf-properties.c:180
-msgid "warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"
+#: elf-properties.c:186
+#, c-format
+msgid "warning: %pB: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"
 msgstr ""
 
 #. PR 17512: file: f057ec89.
-#: elf.c:342
+#: elf.c:344
 #, c-format
-msgid "%B: attempt to load strings from a non-string section (number %d)"
+msgid "%pB: attempt to load strings from a non-string section (number %d)"
 msgstr ""
 
-#: elf.c:357
+#: elf.c:359
 #, c-format
-msgid "%B: invalid string offset %u >= %Lu for section `%s'"
+msgid "%pB: invalid string offset %u >= %<PRIu64> for section `%s'"
 msgstr ""
 
-#: elf.c:496 /work/sources/binutils/current/bfd/elfnn-aarch64.c:7650
+#: elf.c:498 /work/sources/binutils/current/bfd/elfnn-aarch64.c:7826
 #, c-format
-msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
+msgid "%pB symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
 msgstr ""
 
-#: elf.c:660
+#: elf.c:663
 #, c-format
-msgid "%B: corrupt size field in group section header: %#Lx"
+msgid "%pB: corrupt size field in group section header: %#<PRIx64>"
 msgstr ""
 
-#: elf.c:675
+#: elf.c:679
 #, c-format
-msgid "%B: invalid size field in group section header: %#Lx"
+msgid "%pB: invalid size field in group section header: %#<PRIx64>"
 msgstr ""
 
-#: elf.c:711
-msgid "%B: invalid SHT_GROUP entry"
+#: elf.c:727
+#, c-format
+msgid "%pB: invalid entry in SHT_GROUP section [%u]"
 msgstr ""
 
-#: elf.c:730
-msgid "%B: no valid group sections found"
+#: elf.c:746
+#, c-format
+msgid "%pB: no valid group sections found"
 msgstr ""
 
 #. See PR 21957 for a reproducer.
-#: elf.c:755
+#: elf.c:775
 #, c-format
-msgid "%B: group section '%A' has no contents"
+msgid "%pB: group section '%pA' has no contents"
 msgstr ""
 
-#: elf.c:814
+#: elf.c:836
 #, c-format
-msgid "%B: no group info for section '%A'"
+msgid "%pB: no group info for section '%pA'"
 msgstr ""
 
-#: elf.c:845 elf.c:3836 elflink.c:11160
+#: elf.c:867 elf.c:3881 elflink.c:11375
 #, c-format
-msgid "%B: warning: sh_link not set for section `%A'"
+msgid "%pB: warning: sh_link not set for section `%pA'"
 msgstr ""
 
-#: elf.c:865
+#: elf.c:887
 #, c-format
-msgid "%B: sh_link [%d] in section `%A' is incorrect"
+msgid "%pB: sh_link [%d] in section `%pA' is incorrect"
 msgstr ""
 
-#: elf.c:878
+#: elf.c:900
 #, c-format
-msgid "%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"
+msgid "%pB: SHT_GROUP section [index %d] has no SHF_GROUP sections"
 msgstr ""
 
-#: elf.c:899
+#: elf.c:921
 #, c-format
-msgid "%B: section group entry number %u is corrupt"
+msgid "%pB: section group entry number %u is corrupt"
 msgstr ""
 
-#: elf.c:929
+#: elf.c:944
 #, c-format
-msgid "%B: unknown type [%#x] section `%s' in group [%A]"
+msgid "%pB: unknown type [%#x] section `%s' in group [%pA]"
 msgstr ""
 
-#: elf.c:1390
+#: elf.c:1406
 #, c-format
-msgid "%B: Invalid sh_link field (%d) in section number %d"
+msgid "%pB: invalid sh_link field (%d) in section number %d"
 msgstr ""
 
-#: elf.c:1406
+#: elf.c:1422
 #, c-format
-msgid "%B: Failed to find link section for section %d"
+msgid "%pB: failed to find link section for section %d"
 msgstr ""
 
-#: elf.c:1433
+#: elf.c:1449
 #, c-format
-msgid "%B: Failed to find info section for section %d"
+msgid "%pB: failed to find info section for section %d"
 msgstr ""
 
-#: elf.c:1605
+#: elf.c:1621
 #, c-format
 msgid ""
 "\n"
 "Program Header:\n"
 msgstr ""
 
-#: elf.c:1647
+#: elf.c:1663
 #, c-format
 msgid ""
 "\n"
 "Dynamic Section:\n"
 msgstr ""
 
-#: elf.c:1788
+#: elf.c:1804
 #, c-format
 msgid ""
 "\n"
 "Version definitions:\n"
 msgstr ""
 
-#: elf.c:1813
+#: elf.c:1829
 #, c-format
 msgid ""
 "\n"
 "Version References:\n"
 msgstr ""
 
-#: elf.c:1818
+#: elf.c:1834
 #, c-format
 msgid "  required from %s:\n"
 msgstr ""
 
-#: elf.c:2016
-msgid "%B: warning: loop in section dependencies detected"
+#: elf.c:2035
+#, c-format
+msgid "%pB: warning: loop in section dependencies detected"
 msgstr ""
 
-#: elf.c:2124
+#: elf.c:2143
 #, c-format
 msgid ""
-"%B: warning: multiple symbol tables detected - ignoring the table in section "
-"%u"
+"%pB: warning: multiple symbol tables detected - ignoring the table in "
+"section %u"
 msgstr ""
 
-#: elf.c:2208
+#: elf.c:2227
 #, c-format
 msgid ""
-"%B: warning: multiple dynamic symbol tables detected - ignoring the table in "
-"section %u"
+"%pB: warning: multiple dynamic symbol tables detected - ignoring the table "
+"in section %u"
 msgstr ""
 
-#: elf.c:2321
+#: elf.c:2340
 #, c-format
-msgid "%B: invalid link %u for reloc section %s (index %u)"
+msgid "%pB: invalid link %u for reloc section %s (index %u)"
 msgstr ""
 
-#: elf.c:2480 elf.c:2495 elf.c:2506 elf.c:2519
+#: elf.c:2499 elf.c:2514 elf.c:2525 elf.c:2538
 #, c-format
-msgid "%B: unknown type [%#x] section `%s'"
+msgid "%pB: unknown type [%#x] section `%s'"
 msgstr ""
 
-#: elf.c:3223
+#: elf.c:3243
 #, c-format
-msgid "%B: error: Alignment power %d of section `%A' is too big"
+msgid "%pB: error: alignment power %d of section `%pA' is too big"
 msgstr ""
 
-#: elf.c:3253
+#: elf.c:3273
 #, c-format
-msgid "warning: section `%A' type changed to PROGBITS"
+msgid "warning: section `%pA' type changed to PROGBITS"
 msgstr ""
 
-#: elf.c:3704
+#: elf.c:3749
 #, c-format
-msgid "%B: too many sections: %u"
+msgid "%pB: too many sections: %u"
 msgstr ""
 
-#: elf.c:3789
+#: elf.c:3834
 #, c-format
-msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
+msgid ""
+"%pB: sh_link of section `%pA' points to discarded section `%pA' of `%pB'"
 msgstr ""
 
-#: elf.c:3814
+#: elf.c:3859
 #, c-format
-msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
+msgid "%pB: sh_link of section `%pA' points to removed section `%pA' of `%pB'"
 msgstr ""
 
-#: elf.c:4366
+#: elf.c:4418
 #, c-format
-msgid "%B: GNU_MBIN section `%A' has invalid sh_info field: %d"
+msgid "%pB: GNU_MBIN section `%pA' has invalid sh_info field: %d"
 msgstr ""
 
-#: elf.c:4908
-msgid "%B: TLS sections are not adjacent:"
+#: elf.c:4964
+#, c-format
+msgid "%pB: TLS sections are not adjacent:"
 msgstr ""
 
-#: elf.c:4915
+#: elf.c:4971
 #, c-format
-msgid "\t    TLS: %A"
+msgid "\t    TLS: %pA"
 msgstr ""
 
-#: elf.c:4919
+#: elf.c:4975
 #, c-format
-msgid "\tnon-TLS: %A"
+msgid "\tnon-TLS: %pA"
 msgstr ""
 
-#: elf.c:5415
+#: elf.c:5471
+#, c-format
 msgid ""
-"%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
+"%pB: The first section in the PT_DYNAMIC segment is not the .dynamic section"
 msgstr ""
 
-#: elf.c:5443
-msgid "%B: Not enough room for program headers, try linking with -N"
+#: elf.c:5499
+#, c-format
+msgid "%pB: not enough room for program headers, try linking with -N"
 msgstr ""
 
-#: elf.c:5531
+#: elf.c:5587
 #, c-format
-msgid "%B: section %A lma %#Lx adjusted to %#Lx"
+msgid "%pB: section %pA lma %#<PRIx64> adjusted to %#<PRIx64>"
 msgstr ""
 
-#: elf.c:5668
+#: elf.c:5724
 #, c-format
-msgid "%B: section `%A' can't be allocated in segment %d"
+msgid "%pB: section `%pA' can't be allocated in segment %d"
 msgstr ""
 
-#: elf.c:5716
+#: elf.c:5772
 #, c-format
-msgid "%B: warning: allocated section `%s' not in segment"
+msgid "%pB: warning: allocated section `%s' not in segment"
 msgstr ""
 
-#: elf.c:5914
+#: elf.c:6005
+#, c-format
 msgid ""
-"%B: error: non-load segment %d includes file header and/or program header"
+"%pB: error: non-load segment %d includes file header and/or program header"
 msgstr ""
 
 #. The fix for this error is usually to edit the linker script being
 #. used and set up the program headers manually.  Either that or
 #. leave room for the headers at the start of the SECTIONS.
-#: elf.c:6091
-msgid "%B: error: PHDR segment not covered by LOAD segment"
+#: elf.c:6182
+#, c-format
+msgid "%pB: error: PHDR segment not covered by LOAD segment"
 msgstr ""
 
-#: elf.c:6435
+#: elf.c:6527
 #, c-format
-msgid "%B: symbol `%s' required but not present"
+msgid "%pB: symbol `%s' required but not present"
 msgstr ""
 
-#: elf.c:6778
+#: elf.c:6869
 #, c-format
 msgid ""
-"%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this "
+"%pB: warning: empty loadable segment detected at vaddr=%#<PRIx64>, is this "
 "intentional?"
 msgstr ""
 
-#: elf.c:7392
+#: elf.c:7472
 #, c-format
-msgid "%B: warning: segment alignment of %#Lx is too large"
+msgid "%pB: warning: segment alignment of %#<PRIx64> is too large"
 msgstr ""
 
-#: elf.c:7873
+#: elf.c:7971
 #, c-format
 msgid ""
-"Unable to find equivalent output section for symbol '%s' from section '%s'"
-msgstr ""
-
-#: elf.c:8205
-msgid "%B: .gnu.version_r invalid entry"
+"unable to find equivalent output section for symbol '%s' from section '%s'"
 msgstr ""
 
-#: elf.c:8332
-msgid "%B: .gnu.version_d invalid entry"
+#: elf.c:8304
+#, c-format
+msgid "%pB: .gnu.version_r invalid entry"
 msgstr ""
 
-#: elf.c:8884
+#: elf.c:8431
 #, c-format
-msgid "%B: unsupported relocation type %s"
+msgid "%pB: .gnu.version_d invalid entry"
 msgstr ""
 
-#: elf32-arc.c:433 elf32-frv.c:6626 elf32-iq2000.c:870 elf32-m32c.c:915
-#: elf32-mt.c:564 elf32-rl78.c:1256 elf32-rx.c:3177 elf32-visium.c:837
-#: elf64-ppc.c:6087
+#: elf32-arc.c:442 elf32-frv.c:6630 elf32-iq2000.c:870 elf32-m32c.c:914
+#: elf32-mt.c:562 elf32-rl78.c:1261 elf32-rx.c:3200 elf32-visium.c:841
+#: elf64-ppc.c:6198
 #, c-format
 msgid "private flags = 0x%lx:"
 msgstr ""
 
-#: elf32-arc.c:611
-msgid "Warning: %B: Conflicting platform configuration %s with %s.\n"
+#: elf32-arc.c:629
+#, c-format
+msgid "warning: %pB: conflicting platform configuration %s with %s"
 msgstr ""
 
-#: elf32-arc.c:630
-msgid "error: %B: unable to merge CPU base attributes %s with %s.\n"
+#: elf32-arc.c:648
+#, c-format
+msgid "error: %pB: unable to merge CPU base attributes %s with %s"
 msgstr ""
 
-#: elf32-arc.c:667
-msgid "error: %B: unable to merge ISA extension attributes %s.\n"
+#: elf32-arc.c:685
+#, c-format
+msgid "error: %pB: unable to merge ISA extension attributes %s"
 msgstr ""
 
-#: elf32-arc.c:691
-msgid "error: %B: conflicting ISA extension attributes %s with %s.\n"
+#: elf32-arc.c:709
+#, c-format
+msgid "error: %pB: conflicting ISA extension attributes %s with %s"
 msgstr ""
 
-#: elf32-arc.c:726
-msgid "error: %B: cannot mix rf16 with full register set %B.\n"
+#: elf32-arc.c:744
+#, c-format
+msgid "error: %pB: cannot mix rf16 with full register set %pB"
 msgstr ""
 
-#: elf32-arc.c:752
-msgid "error: %B: conflicting attributes %s: %s with %s.\n"
+#: elf32-arc.c:770
+#, c-format
+msgid "error: %pB: conflicting attributes %s: %s with %s"
 msgstr ""
 
-#: elf32-arc.c:777
-msgid "error: %B: conflicting attributes %s.\n"
+#: elf32-arc.c:795
+#, c-format
+msgid "error: %pB: conflicting attributes %s"
 msgstr ""
 
-#: elf32-arc.c:877
+#: elf32-arc.c:895
 #, c-format
-msgid "ERROR: Attempting to link %B with a binary %B of different architecture"
+msgid ""
+"error: attempting to link %pB with a binary %pB of different architecture"
 msgstr ""
 
-#: elf32-arc.c:891 elf32-i370.c:359 elf32-iq2000.c:846 elf32-m32c.c:890
-#: elf32-m68hc1x.c:1388 elf32-ppc.c:4909 elf64-sparc.c:727 elfxx-mips.c:15127
+#: elf32-arc.c:909 elf32-iq2000.c:846 elf32-m32c.c:889 elf32-m68hc1x.c:1385
+#: elf32-ppc.c:4962 elf64-sparc.c:726 elfxx-mips.c:15135
 #, c-format
-msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)"
+msgid "%pB: uses different e_flags (%#x) fields than previous modules (%#x)"
 msgstr ""
 
-#: elf32-arc.c:980
-msgid "Error: The ARC4 architecture is no longer supported.\n"
+#: elf32-arc.c:998
+msgid "error: the ARC4 architecture is no longer supported"
 msgstr ""
 
-#: elf32-arc.c:986
-msgid ""
-"Warning: unset or old architecture flags. \n"
-"\t       Use default machine.\n"
+#: elf32-arc.c:1004
+msgid "warning: unset or old architecture flags; use default machine"
 msgstr ""
 
-#: elf32-arc.c:1119
+#: elf32-arc.c:1137
 #, c-format
 msgid ""
-"%B(%A+%#Lx): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value "
-"is %#Lx)"
+"%pB(%pA+%#<PRIx64>): CMEM relocation to `%s' is invalid, 16 MSB should be "
+"%#x (value is %#<PRIx64>)"
 msgstr ""
 
-#: elf32-arc.c:1130
+#: elf32-arc.c:1148
 #, c-format
 msgid ""
-"%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, 16 MSB should be %#x "
-"(value is %#Lx)"
+"%pB(%pA+%#<PRIx64>): CMEM relocation to `%s+%#<PRIx64>' is invalid, 16 MSB "
+"should be %#x (value is %#<PRIx64>)"
 msgstr ""
 
-#: elf32-arc.c:1836
-msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker."
+#: elf32-arc.c:1853
+msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker"
 msgstr ""
 
-#: elf32-arc.c:1860 elf32-rl78.c:1094 elf32-rx.c:1448
+#: elf32-arc.c:1877 elf32-rl78.c:1099 elf32-rx.c:1471
 #, c-format
-msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
+msgid ""
+"%pB(%pA): warning: unaligned access to symbol '%s' in the small data area"
 msgstr ""
 
-#: elf32-arc.c:1865 elf32-rl78.c:1099 elf32-rx.c:1453
+#: elf32-arc.c:1882 elf32-rl78.c:1104 elf32-rx.c:1476
 #, c-format
-msgid "%B(%A): internal error: out of range error"
+msgid "%pB(%pA): internal error: out of range error"
 msgstr ""
 
-#: elf32-arc.c:1870 elf32-rl78.c:1104 elf32-rx.c:1458
+#: elf32-arc.c:1887 elf32-rl78.c:1109 elf32-rx.c:1481
 #, c-format
-msgid "%B(%A): internal error: unsupported relocation error"
+msgid "%pB(%pA): internal error: unsupported relocation error"
 msgstr ""
 
-#: elf32-arc.c:1875 elf32-rl78.c:1109 elf32-rx.c:1463
+#: elf32-arc.c:1892 elf32-rl78.c:1114 elf32-rx.c:1486
 #, c-format
-msgid "%B(%A): internal error: dangerous relocation"
+msgid "%pB(%pA): internal error: dangerous relocation"
 msgstr ""
 
-#: elf32-arc.c:1880 elf32-rl78.c:1114 elf32-rx.c:1468
+#: elf32-arc.c:1897 elf32-rl78.c:1119 elf32-rx.c:1491
 #, c-format
-msgid "%B(%A): internal error: unknown error"
+msgid "%pB(%pA): internal error: unknown error"
 msgstr ""
 
-#: elf32-arc.c:1968 elf32-arm.c:14712 elf32-metag.c:2271 elfxx-mips.c:8883
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7218
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:484
+#: elf32-arc.c:1985 elf32-arm.c:15279 elf32-metag.c:2257 elfxx-mips.c:8900
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7394
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:474
 #, c-format
 msgid ""
-"%B: relocation %s against `%s' can not be used when making a shared object; "
+"%pB: relocation %s against `%s' can not be used when making a shared object; "
 "recompile with -fPIC"
 msgstr ""
 
-#: elf32-arc.c:2860
-msgid "%B: Unknown mandatory ARC object attribute %d."
+#: elf32-arc.c:2857
+#, c-format
+msgid "%pB: unknown mandatory ARC object attribute %d"
 msgstr ""
 
-#: elf32-arc.c:2868
-msgid "Warning: %B: Unknown ARC object attribute %d."
+#: elf32-arc.c:2865
+#, c-format
+msgid "warning: %pB: unknown ARC object attribute %d"
 msgstr ""
 
-#: elf32-arm.c:4022 elf32-arm.c:4056 elf32-arm.c:4075 elf32-arm.c:4127
+#: elf32-arm.c:4303 elf32-arm.c:4337 elf32-arm.c:4356 elf32-arm.c:4408
+#, c-format
 msgid ""
-"%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE "
+"%pB(%pA): warning: long branch veneers used in section with SHF_ARM_PURECODE "
 "section attribute is only supported for M-profile targets that implement the "
-"movw instruction."
-msgstr ""
-
-#: elf32-arm.c:4087 elf32-arm.c:8806
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: Thumb call to ARM"
+"movw instruction"
 msgstr ""
 
-#: elf32-arm.c:4141
+#: elf32-arm.c:4368 elf32-arm.c:4422 elf32-arm.c:9091 elf32-arm.c:9181
+#, c-format
 msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: ARM call to Thumb"
+"%pB(%s): warning: interworking not enabled; first occurrence: %pB: %s call "
+"to %s"
 msgstr ""
 
-#: elf32-arm.c:4415
+#: elf32-arm.c:4696
 #, c-format
-msgid "No address assigned to the veneers output section %s"
+msgid "no address assigned to the veneers output section %s"
 msgstr ""
 
-#: elf32-arm.c:4490 elf32-arm.c:6627 elf32-hppa.c:587 elf32-m68hc1x.c:165
-#: elf32-metag.c:1198 elf32-nios2.c:2227
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2852
+#: elf32-arm.c:4771 elf32-arm.c:6907 elf32-hppa.c:579 elf32-m68hc1x.c:165
+#: elf32-metag.c:1186 elf32-nios2.c:2208 elf64-ppc.c:4756
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:3099
 #, c-format
-msgid "%B: cannot create stub entry %s"
+msgid "%pB: cannot create stub entry %s"
 msgstr ""
 
-#: elf32-arm.c:5675
-msgid "%B: Special symbol `%s' only allowed for ARMv8-M architecture or later."
-msgstr ""
-
-#: elf32-arm.c:5684
-msgid "%B: invalid special symbol `%s'."
-msgstr ""
-
-#: elf32-arm.c:5686 elf32-arm.c:5726
-msgid "It must be a global or weak function symbol."
+#: elf32-arm.c:5956
+#, c-format
+msgid "%pB: special symbol `%s' only allowed for ARMv8-M architecture or later"
 msgstr ""
 
-#: elf32-arm.c:5724
-msgid "%B: invalid standard symbol `%s'."
+#: elf32-arm.c:5965
+#, c-format
+msgid ""
+"%pB: invalid special symbol `%s'; it must be a global or weak function symbol"
 msgstr ""
 
-#: elf32-arm.c:5730
-msgid "%B: absent standard symbol `%s'."
+#: elf32-arm.c:6004
+#, c-format
+msgid ""
+"%pB: invalid standard symbol `%s'; it must be a global or weak function "
+"symbol"
 msgstr ""
 
-#: elf32-arm.c:5742
-msgid "%B: `%s' and its special symbol are in different sections."
+#: elf32-arm.c:6010
+#, c-format
+msgid "%pB: absent standard symbol `%s'"
 msgstr ""
 
-#: elf32-arm.c:5754
-msgid "%B: entry function `%s' not output."
+#: elf32-arm.c:6022
+#, c-format
+msgid "%pB: `%s' and its special symbol are in different sections"
 msgstr ""
 
-#: elf32-arm.c:5761
-msgid "%B: entry function `%s' is empty."
+#: elf32-arm.c:6034
+#, c-format
+msgid "%pB: entry function `%s' not output"
 msgstr ""
 
-#: elf32-arm.c:5890
-msgid "%B: --in-implib only supported for Secure Gateway import libraries."
+#: elf32-arm.c:6041
+#, c-format
+msgid "%pB: entry function `%s' is empty"
 msgstr ""
 
-#: elf32-arm.c:5936
-msgid "%B: invalid import library entry: `%s'."
+#: elf32-arm.c:6170
+#, c-format
+msgid "%pB: --in-implib only supported for Secure Gateway import libraries"
 msgstr ""
 
-#: elf32-arm.c:5938
-msgid "Symbol should be absolute, global and refer to Thumb functions."
+#: elf32-arm.c:6216
+#, c-format
+msgid ""
+"%pB: invalid import library entry: `%s'; symbol should be absolute, global "
+"and refer to Thumb functions"
 msgstr ""
 
-#: elf32-arm.c:5958
+#: elf32-arm.c:6238
 #, c-format
-msgid "Entry function `%s' disappeared from secure code."
+msgid "entry function `%s' disappeared from secure code"
 msgstr ""
 
-#: elf32-arm.c:5982
+#: elf32-arm.c:6262
 #, c-format
-msgid "`%s' refers to a non entry function."
+msgid "`%s' refers to a non entry function"
 msgstr ""
 
-#: elf32-arm.c:5997
-msgid "%B: visibility of symbol `%s' has changed."
+#: elf32-arm.c:6277
+#, c-format
+msgid "%pB: visibility of symbol `%s' has changed"
 msgstr ""
 
-#: elf32-arm.c:6006
-msgid "%B: incorrect size for symbol `%s'."
+#: elf32-arm.c:6286
+#, c-format
+msgid "%pB: incorrect size for symbol `%s'"
 msgstr ""
 
-#: elf32-arm.c:6025
+#: elf32-arm.c:6305
 #, c-format
-msgid "Offset of veneer for entry function `%s' not a multiple of its size."
+msgid "offset of veneer for entry function `%s' not a multiple of its size"
 msgstr ""
 
-#: elf32-arm.c:6045
+#: elf32-arm.c:6325
 msgid ""
 "new entry function(s) introduced but no output import library specified:"
 msgstr ""
 
-#: elf32-arm.c:6053
+#: elf32-arm.c:6333
 #, c-format
-msgid "Start address of `%s' is different from previous link."
+msgid "start address of `%s' is different from previous link"
 msgstr ""
 
-#: elf32-arm.c:6760
+#: elf32-arm.c:7040 elf32-arm.c:7076
 #, c-format
-msgid "unable to find THUMB glue '%s' for '%s'"
+msgid "unable to find %s glue '%s' for '%s'"
 msgstr ""
 
-#: elf32-arm.c:6796
+#: elf32-arm.c:7791
 #, c-format
-msgid "unable to find ARM glue '%s' for '%s'"
-msgstr ""
-
-#: elf32-arm.c:7511
-msgid "%B: BE8 images only valid in big-endian mode."
+msgid "%pB: BE8 images only valid in big-endian mode"
 msgstr ""
 
 #. Give a warning, but do as the user requests anyway.
-#: elf32-arm.c:7742
+#: elf32-arm.c:8022
+#, c-format
 msgid ""
-"%B: warning: selected VFP11 erratum workaround is not necessary for target "
+"%pB: warning: selected VFP11 erratum workaround is not necessary for target "
 "architecture"
 msgstr ""
 
-#: elf32-arm.c:7769
+#: elf32-arm.c:8049
+#, c-format
 msgid ""
-"%B: warning: selected STM32L4XX erratum workaround is not necessary for "
+"%pB: warning: selected STM32L4XX erratum workaround is not necessary for "
 "target architecture"
 msgstr ""
 
-#: elf32-arm.c:8306 elf32-arm.c:8326
-msgid "%B: unable to find VFP11 veneer `%s'"
-msgstr ""
-
-#: elf32-arm.c:8392 elf32-arm.c:8411
-msgid "%B: unable to find STM32L4XX veneer `%s'"
+#: elf32-arm.c:8586 elf32-arm.c:8606 elf32-arm.c:8672 elf32-arm.c:8691
+#, c-format
+msgid "%pB: unable to find %s veneer `%s'"
 msgstr ""
 
-#: elf32-arm.c:8618
+#: elf32-arm.c:8898
 #, c-format
 msgid ""
-"%B(%A+%#x): error: multiple load detected in non-last IT block instruction : "
-"STM32L4XX veneer cannot be generated.\n"
-"Use gcc option -mrestrict-it to generate only one instruction per IT block.\n"
+"%pB(%pA+%#x): error: multiple load detected in non-last IT block "
+"instruction: STM32L4XX veneer cannot be generated; use gcc option -mrestrict-"
+"it to generate only one instruction per IT block"
 msgstr ""
 
-#: elf32-arm.c:8716
+#: elf32-arm.c:8998
 #, c-format
-msgid "Invalid TARGET2 relocation type '%s'."
+msgid "invalid TARGET2 relocation type '%s'"
 msgstr ""
 
 #. FIXME: We ought to be able to generate thumb-1 PLT
 #. instructions...
-#: elf32-arm.c:9458
-msgid "%B: Warning: thumb-1 mode PLT generation not currently supported"
-msgstr ""
-
-#: elf32-arm.c:9723
+#: elf32-arm.c:9800
 #, c-format
-msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline"
+msgid "%pB: warning: thumb-1 mode PLT generation not currently supported"
 msgstr ""
 
-#: elf32-arm.c:9763
+#: elf32-arm.c:10104 elf32-arm.c:10146
 #, c-format
-msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline"
+msgid "%pB(%pA+%#<PRIx64>): unexpected %s instruction '%#lx' in TLS trampoline"
 msgstr ""
 
-#: elf32-arm.c:10098
+#: elf32-arm.c:10490
 msgid "shared object"
 msgstr ""
 
-#: elf32-arm.c:10101
+#: elf32-arm.c:10493
 msgid "PIE executable"
 msgstr ""
 
-#: elf32-arm.c:10104
+#: elf32-arm.c:10496
+#, c-format
 msgid ""
-"%B: relocation %s against external or undefined symbol `%s' can not be used "
+"%pB: relocation %s against external or undefined symbol `%s' can not be used "
 "when making a %s; recompile with -fPIC"
 msgstr ""
 
-#: elf32-arm.c:10235
-msgid "%B: Warning: Arm BLX instruction targets Arm function '%s'."
-msgstr ""
-
-#: elf32-arm.c:10661
-msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
-msgstr ""
-
-#: elf32-arm.c:11528
+#: elf32-arm.c:10633 elf32-arm.c:11060
 #, c-format
-msgid ""
-"%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC"
+msgid "%pB: warning: %s BLX instruction targets %s function '%s'"
 msgstr ""
 
-#: elf32-arm.c:11551
+#: elf32-arm.c:11963 elf32-arm.c:11989
 #, c-format
 msgid ""
-"%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC"
+"%pB(%pA+%#<PRIx64>): unexpected %s instruction '%#lx' referenced by "
+"TLS_GOTDESC"
 msgstr ""
 
-#: elf32-arm.c:11580 elf32-m68k.c:3890 elf32-metag.c:1931 elf32-nios2.c:4372
+#: elf32-arm.c:12035 elf32-m68k.c:3703 elf32-metag.c:1919 elf32-nios2.c:4366
 #, c-format
-msgid "%B(%A+%#Lx): %s relocation not permitted in shared object"
+msgid "%pB(%pA+%#<PRIx64>): %s relocation not permitted in shared object"
 msgstr ""
 
-#: elf32-arm.c:11793
+#: elf32-arm.c:12249
 #, c-format
 msgid ""
-"%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group "
+"%pB(%pA+%#<PRIx64>): only ADD or SUB instructions are allowed for ALU group "
 "relocations"
 msgstr ""
 
-#: elf32-arm.c:11833 elf32-arm.c:11923 elf32-arm.c:12009 elf32-arm.c:12097
+#: elf32-arm.c:12290 elf32-arm.c:12382 elf32-arm.c:12470 elf32-arm.c:12560
 #, c-format
-msgid "%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"
+msgid ""
+"%pB(%pA+%#<PRIx64>): overflow whilst splitting %#<PRIx64> for group "
+"relocation %s"
 msgstr ""
 
-#: elf32-arm.c:12363 elf32-sh.c:4009 elf64-sh64.c:1539
+#: elf32-arm.c:13066 elf32-sh.c:3685
 #, c-format
-msgid "%B(%A+%#Lx): %s relocation against SEC_MERGE section"
+msgid "%pB(%pA+%#<PRIx64>): %s relocation against SEC_MERGE section"
 msgstr ""
 
-#: elf32-arm.c:12475 elf32-m68k.c:4119 elf32-xtensa.c:2816
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6159
+#: elf32-arm.c:13179 elf32-m68k.c:3936 elf32-xtensa.c:2694
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6466
 #, c-format
-msgid "%B(%A+%#Lx): %s used with TLS symbol %s"
+msgid "%pB(%pA+%#<PRIx64>): %s used with TLS symbol %s"
 msgstr ""
 
-#: elf32-arm.c:12477 elf32-m68k.c:4121 elf32-xtensa.c:2818
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6161
+#: elf32-arm.c:13181 elf32-m68k.c:3938 elf32-xtensa.c:2696
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6468
 #, c-format
-msgid "%B(%A+%#Lx): %s used with non-TLS symbol %s"
+msgid "%pB(%pA+%#<PRIx64>): %s used with non-TLS symbol %s"
 msgstr ""
 
-#: elf32-arm.c:12559 elf32-tic6x.c:2739
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6494
+#: elf32-arm.c:13264 elf32-tic6x.c:2708
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6802
 msgid "out of range"
 msgstr ""
 
-#: elf32-arm.c:12563 elf32-nios2.c:4505 elf32-pru.c:821 elf32-tic6x.c:2743
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6498
+#: elf32-arm.c:13268 elf32-nios2.c:4500 elf32-pru.c:933 elf32-tic6x.c:2712
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6806
 msgid "unsupported relocation"
 msgstr ""
 
-#: elf32-arm.c:12571 elf32-nios2.c:4515 elf32-pru.c:831 elf32-tic6x.c:2751
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6506
+#: elf32-arm.c:13276 elf32-nios2.c:4510 elf32-pru.c:943 elf32-tic6x.c:2720
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6814
 msgid "unknown error"
 msgstr ""
 
-#: elf32-arm.c:13151
-msgid "%B: Unknown mandatory EABI object attribute %d"
+#: elf32-arm.c:13720
+#, c-format
+msgid ""
+"warning: not setting interworking flag of %pB since it has already been "
+"specified as non-interworking"
+msgstr ""
+
+#: elf32-arm.c:13724
+#, c-format
+msgid "warning: clearing the interworking flag of %pB due to outside request"
 msgstr ""
 
-#: elf32-arm.c:13159
-msgid "Warning: %B: Unknown EABI object attribute %d"
+#: elf32-arm.c:13769
+#, c-format
+msgid ""
+"warning: clearing the interworking flag of %pB because non-interworking code "
+"in %pB has been linked with it"
 msgstr ""
 
-#: elf32-arm.c:13426
-msgid "error: %B: Unknown CPU architecture"
+#: elf32-arm.c:13856
+#, c-format
+msgid "%pB: unknown mandatory EABI object attribute %d"
+msgstr ""
+
+#: elf32-arm.c:13864
+#, c-format
+msgid "warning: %pB: unknown EABI object attribute %d"
 msgstr ""
 
-#: elf32-arm.c:13464 elf32-nios2.c:2965
+#: elf32-arm.c:14131
 #, c-format
-msgid "error: %B: Conflicting CPU architectures %d/%d"
+msgid "error: %pB: unknown CPU architecture"
 msgstr ""
 
-#: elf32-arm.c:13561
+#: elf32-arm.c:14169 elf32-nios2.c:2946
+#, c-format
+msgid "error: %pB: conflicting CPU architectures %d/%d"
+msgstr ""
+
+#: elf32-arm.c:14266
+#, c-format
 msgid ""
-"Error: %B has both the current and legacy Tag_MPextension_use attributes"
+"Error: %pB has both the current and legacy Tag_MPextension_use attributes"
 msgstr ""
 
-#: elf32-arm.c:13590
-msgid "error: %B uses VFP register arguments, %B does not"
+#: elf32-arm.c:14295
+#, c-format
+msgid "error: %pB uses VFP register arguments, %pB does not"
 msgstr ""
 
-#: elf32-arm.c:13748
-msgid "error: %B: unable to merge virtualization attributes with %B"
+#: elf32-arm.c:14453
+#, c-format
+msgid "error: %pB: unable to merge virtualization attributes with %pB"
 msgstr ""
 
-#: elf32-arm.c:13774
-msgid "error: %B: Conflicting architecture profiles %c/%c"
+#: elf32-arm.c:14479
+#, c-format
+msgid "error: %pB: conflicting architecture profiles %c/%c"
 msgstr ""
 
-#: elf32-arm.c:13913
-msgid "Warning: %B: Conflicting platform configuration"
+#: elf32-arm.c:14618
+#, c-format
+msgid "warning: %pB: conflicting platform configuration"
 msgstr ""
 
-#: elf32-arm.c:13922
-msgid "error: %B: Conflicting use of R9"
+#: elf32-arm.c:14627
+#, c-format
+msgid "error: %pB: conflicting use of R9"
 msgstr ""
 
-#: elf32-arm.c:13934
-msgid "error: %B: SB relative addressing conflicts with use of R9"
+#: elf32-arm.c:14639
+#, c-format
+msgid "error: %pB: SB relative addressing conflicts with use of R9"
 msgstr ""
 
-#: elf32-arm.c:13947
+#: elf32-arm.c:14652
+#, c-format
 msgid ""
-"warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; "
+"warning: %pB uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; "
 "use of wchar_t values across objects may fail"
 msgstr ""
 
-#: elf32-arm.c:13978
+#: elf32-arm.c:14683
+#, c-format
 msgid ""
-"warning: %B uses %s enums yet the output is to use %s enums; use of enum "
+"warning: %pB uses %s enums yet the output is to use %s enums; use of enum "
 "values across objects may fail"
 msgstr ""
 
-#: elf32-arm.c:13990
-msgid "error: %B uses iWMMXt register arguments, %B does not"
+#: elf32-arm.c:14695
+#, c-format
+msgid "error: %pB uses iWMMXt register arguments, %pB does not"
 msgstr ""
 
-#: elf32-arm.c:14007
-msgid "error: fp16 format mismatch between %B and %B"
+#: elf32-arm.c:14712
+#, c-format
+msgid "error: fp16 format mismatch between %pB and %pB"
 msgstr ""
 
-#: elf32-arm.c:14043
-msgid "%B has both the current and legacy Tag_MPextension_use attributes"
+#: elf32-arm.c:14748
+#, c-format
+msgid "%pB has both the current and legacy Tag_MPextension_use attributes"
 msgstr ""
 
 #. Ignore init flag - it may not be set, despite the flags field
@@ -1752,225 +1702,279 @@ msgstr ""
 #. Ignore init flag - it may not be set, despite the flags field containing valid data.
 #. Ignore init flag - it may not be set, despite the flags field
 #. containing valid data.
-#: elf32-arm.c:14130 elf32-bfin.c:4918 elf32-cris.c:4089 elf32-m68hc1x.c:1413
-#: elf32-m68k.c:1200 elf32-score.c:4002 elf32-score7.c:3807 elf32-vax.c:536
-#: elf32-xgate.c:669 elfxx-mips.c:15801
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6660
+#: elf32-arm.c:14835 elf32-bfin.c:4740 elf32-cris.c:3908 elf32-m68hc1x.c:1410
+#: elf32-m68k.c:1201 elf32-score.c:4000 elf32-score7.c:3805 elf32-vax.c:537
+#: elf32-xgate.c:672 elfxx-mips.c:15813
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6968
 #, c-format
 msgid "private flags = %lx:"
 msgstr ""
 
-#: elf32-arm.c:14139
+#: elf32-arm.c:14844
 #, c-format
 msgid " [interworking enabled]"
 msgstr ""
 
-#: elf32-arm.c:14147
+#: elf32-arm.c:14852
 #, c-format
 msgid " [VFP float format]"
 msgstr ""
 
-#: elf32-arm.c:14149
+#: elf32-arm.c:14854
 #, c-format
 msgid " [Maverick float format]"
 msgstr ""
 
-#: elf32-arm.c:14151
+#: elf32-arm.c:14856
 #, c-format
 msgid " [FPA float format]"
 msgstr ""
 
-#: elf32-arm.c:14160
+#: elf32-arm.c:14859
+#, c-format
+msgid " [floats passed in float registers]"
+msgstr ""
+
+#: elf32-arm.c:14862 elf32-arm.c:14948
+#, c-format
+msgid " [position independent]"
+msgstr ""
+
+#: elf32-arm.c:14865
 #, c-format
 msgid " [new ABI]"
 msgstr ""
 
-#: elf32-arm.c:14163
+#: elf32-arm.c:14868
 #, c-format
 msgid " [old ABI]"
 msgstr ""
 
-#: elf32-arm.c:14166
+#: elf32-arm.c:14871
 #, c-format
 msgid " [software FP]"
 msgstr ""
 
-#: elf32-arm.c:14175
+#: elf32-arm.c:14880
 #, c-format
 msgid " [Version1 EABI]"
 msgstr ""
 
-#: elf32-arm.c:14178 elf32-arm.c:14189
+#: elf32-arm.c:14883 elf32-arm.c:14894
 #, c-format
 msgid " [sorted symbol table]"
 msgstr ""
 
-#: elf32-arm.c:14180 elf32-arm.c:14191
+#: elf32-arm.c:14885 elf32-arm.c:14896
 #, c-format
 msgid " [unsorted symbol table]"
 msgstr ""
 
-#: elf32-arm.c:14186
+#: elf32-arm.c:14891
 #, c-format
 msgid " [Version2 EABI]"
 msgstr ""
 
-#: elf32-arm.c:14194
+#: elf32-arm.c:14899
 #, c-format
 msgid " [dynamic symbols use segment index]"
 msgstr ""
 
-#: elf32-arm.c:14197
+#: elf32-arm.c:14902
 #, c-format
 msgid " [mapping symbols precede others]"
 msgstr ""
 
-#: elf32-arm.c:14204
+#: elf32-arm.c:14909
 #, c-format
 msgid " [Version3 EABI]"
 msgstr ""
 
-#: elf32-arm.c:14208
+#: elf32-arm.c:14913
 #, c-format
 msgid " [Version4 EABI]"
 msgstr ""
 
-#: elf32-arm.c:14212
+#: elf32-arm.c:14917
 #, c-format
 msgid " [Version5 EABI]"
 msgstr ""
 
-#: elf32-arm.c:14215
+#: elf32-arm.c:14920
 #, c-format
 msgid " [soft-float ABI]"
 msgstr ""
 
-#: elf32-arm.c:14218
+#: elf32-arm.c:14923
 #, c-format
 msgid " [hard-float ABI]"
 msgstr ""
 
-#: elf32-arm.c:14224
+#: elf32-arm.c:14929
 #, c-format
 msgid " [BE8]"
 msgstr ""
 
-#: elf32-arm.c:14227
+#: elf32-arm.c:14932
 #, c-format
 msgid " [LE8]"
 msgstr ""
 
-#: elf32-arm.c:14233
+#: elf32-arm.c:14938
 #, c-format
 msgid " <EABI version unrecognised>"
 msgstr ""
 
-#: elf32-arm.c:14240
+#: elf32-arm.c:14945
 #, c-format
 msgid " [relocatable executable]"
 msgstr ""
 
-#: elf32-arm.c:14245 /work/sources/binutils/current/bfd/elfnn-aarch64.c:6663
+#: elf32-arm.c:14951
+#, c-format
+msgid " [FDPIC ABI supplement]"
+msgstr ""
+
+#: elf32-arm.c:14956 /work/sources/binutils/current/bfd/elfnn-aarch64.c:6971
 #, c-format
 msgid "<Unrecognised flag bits set>"
 msgstr ""
 
-#: elf32-arm.c:14555 elf32-i386.c:2031 elf32-s390.c:956 elf32-tic6x.c:2814
-#: elf32-tilepro.c:1491 elf32-xtensa.c:1018 elf64-s390.c:875
-#: elf64-x86-64.c:2421 elfxx-sparc.c:1440 elfxx-tilegx.c:1708
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7109
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:526
+#: elf32-arm.c:15073 elf32-i386.c:1529 elf32-s390.c:960 elf32-tic6x.c:2783
+#: elf32-tilepro.c:1479 elf32-xtensa.c:1029 elf64-s390.c:882
+#: elf64-x86-64.c:1865 elfxx-sparc.c:1424 elfxx-tilegx.c:1700
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7260
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:516
 #, c-format
-msgid "%B: bad symbol index: %d"
+msgid "%pB: bad symbol index: %d"
 msgstr ""
 
-#: elf32-arm.c:16053
-msgid "Errors encountered processing file %B"
+#: elf32-arm.c:15464
+#, c-format
+msgid ""
+"FDPIC does not yet support %s relocation to become dynamic for executable"
+msgstr ""
+
+#: elf32-arm.c:16514 elf32-hppa.c:2090 elf32-lm32.c:1998 elf32-m32r.c:2110
+#: elf32-metag.c:2797 elf32-nds32.c:3840 elf32-or1k.c:2285 elf32-ppc.c:6554
+#: elf32-s390.c:1855 elf32-sh.c:2975 elf32-tic6x.c:3252 elf32-tilepro.c:2245
+#: elf64-ppc.c:10263 elf64-s390.c:1792 elfxx-sparc.c:2437 elfxx-tilegx.c:2491
+#: elfxx-x86.c:571 /work/sources/binutils/current/bfd/elfnn-aarch64.c:8610
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:1119
+#, c-format
+msgid "%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"
 msgstr ""
 
-#: elf32-arm.c:16491 elflink.c:12302 elflink.c:12349
+#: elf32-arm.c:16810
+#, c-format
+msgid "errors encountered processing file %pB"
+msgstr ""
+
+#: elf32-arm.c:17257 elflink.c:12524 elflink.c:12571
 #, c-format
 msgid "could not find section %s"
 msgstr ""
 
-#: elf32-arm.c:17667
-msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
+#: elf32-arm.c:18468
+#, c-format
+msgid "%pB: error: Cortex-A8 erratum stub is allocated in unsafe location"
 msgstr ""
 
 #. There's not much we can do apart from complain if this
 #. happens.
-#: elf32-arm.c:17694
-msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
+#: elf32-arm.c:18495
+#, c-format
+msgid "%pB: error: Cortex-A8 erratum stub out of range (input file too large)"
 msgstr ""
 
-#: elf32-arm.c:18521 elf32-arm.c:18543
-msgid "%B: error: VFP11 veneer out of range"
+#: elf32-arm.c:19322 elf32-arm.c:19344
+#, c-format
+msgid "%pB: error: VFP11 veneer out of range"
 msgstr ""
 
-#: elf32-arm.c:18594
+#: elf32-arm.c:19395
+#, c-format
 msgid ""
-"%B(%#Lx): error: Cannot create STM32L4XX veneer. Jump out of range by %Ld "
-"bytes. Cannot encode branch instruction. "
+"%pB(%#<PRIx64>): error: cannot create STM32L4XX veneer; jump out of range by "
+"%<PRId64> bytes; cannot encode branch instruction"
 msgstr ""
 
-#: elf32-arm.c:18632
-msgid "%B: error: Cannot create STM32L4XX veneer."
+#: elf32-arm.c:19434
+#, c-format
+msgid "%pB: error: cannot create STM32L4XX veneer"
 msgstr ""
 
-#: elf32-arm.c:19653
-msgid "error: %B is already in final BE8 format"
+#: elf32-arm.c:20523
+#, c-format
+msgid "error: %pB is already in final BE8 format"
 msgstr ""
 
-#: elf32-arm.c:19729
+#: elf32-arm.c:20599
+#, c-format
 msgid ""
-"error: Source object %B has EABI version %d, but target %B has EABI version "
-"%d"
+"error: source object %pB has EABI version %d, but target %pB has EABI "
+"version %d"
 msgstr ""
 
-#: elf32-arm.c:19744
-msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
+#: elf32-arm.c:20614
+#, c-format
+msgid "error: %pB is compiled for APCS-%d, whereas target %pB uses APCS-%d"
 msgstr ""
 
-#: elf32-arm.c:19768
-msgid "error: %B uses VFP instructions, whereas %B does not"
+#: elf32-arm.c:20624
+#, c-format
+msgid ""
+"error: %pB passes floats in float registers, whereas %pB passes them in "
+"integer registers"
+msgstr ""
+
+#: elf32-arm.c:20628
+#, c-format
+msgid ""
+"error: %pB passes floats in integer registers, whereas %pB passes them in "
+"float registers"
 msgstr ""
 
-#: elf32-arm.c:19772
-msgid "error: %B uses FPA instructions, whereas %B does not"
+#: elf32-arm.c:20638 elf32-arm.c:20642 elf32-arm.c:20652
+#, c-format
+msgid "error: %pB uses %s instructions, whereas %pB does not"
 msgstr ""
 
-#: elf32-arm.c:19782
-msgid "error: %B uses Maverick instructions, whereas %B does not"
+#: elf32-arm.c:20656
+#, c-format
+msgid "error: %pB does not use %s instructions, whereas %pB does"
 msgstr ""
 
-#: elf32-arm.c:19786
-msgid "error: %B does not use Maverick instructions, whereas %B does"
+#: elf32-arm.c:20675
+#, c-format
+msgid "error: %pB uses software FP, whereas %pB uses hardware FP"
 msgstr ""
 
-#: elf32-arm.c:19805
-msgid "error: %B uses software FP, whereas %B uses hardware FP"
+#: elf32-arm.c:20679
+#, c-format
+msgid "error: %pB uses hardware FP, whereas %pB uses software FP"
 msgstr ""
 
-#: elf32-arm.c:19809
-msgid "error: %B uses hardware FP, whereas %B uses software FP"
+#: elf32-arm.c:20693
+#, c-format
+msgid "warning: %pB supports interworking, whereas %pB does not"
 msgstr ""
 
-#: elf32-avr.c:959
+#: elf32-arm.c:20699
 #, c-format
-msgid "%B: invalid AVR reloc number: %d"
+msgid "warning: %pB does not support interworking, whereas %pB does"
 msgstr ""
 
-#: elf32-avr.c:1510 elf32-bfin.c:3201 elf32-cris.c:2033 elf32-epiphany.c:574
-#: elf32-fr30.c:599 elf32-frv.c:4049 elf32-ft32.c:342 elf32-i860.c:1218
-#: elf32-ip2k.c:1486 elf32-iq2000.c:701 elf32-m32c.c:629 elf32-mep.c:532
-#: elf32-metag.c:2008 elf32-moxie.c:293 elf32-msp430.c:1365 elf32-mt.c:404
-#: elf32-or1k.c:1266 elf32-tilepro.c:3665 elf32-v850.c:2295 elf32-visium.c:685
-#: elf32-xstormy16.c:935 elf64-mmix.c:1546 elfxx-tilegx.c:4052
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2275
+#: elf32-avr.c:1513 elf32-bfin.c:3135 elf32-cris.c:2041 elf32-epiphany.c:577
+#: elf32-fr30.c:602 elf32-frv.c:4057 elf32-ft32.c:502 elf32-ip2k.c:1493
+#: elf32-iq2000.c:701 elf32-m32c.c:632 elf32-mep.c:534 elf32-metag.c:1998
+#: elf32-moxie.c:296 elf32-msp430.c:1366 elf32-mt.c:406 elf32-or1k.c:1250
+#: elf32-tilepro.c:3514 elf32-v850.c:2299 elf32-visium.c:689
+#: elf32-xstormy16.c:939 elf64-mmix.c:1549 elfxx-tilegx.c:3878
 msgid "internal error: dangerous relocation"
 msgstr ""
 
-#: elf32-avr.c:3319 /work/sources/binutils/current/bfd/elfnn-aarch64.c:2880
+#: elf32-avr.c:3322 /work/sources/binutils/current/bfd/elfnn-aarch64.c:3127
 #, c-format
 msgid "cannot create stub entry %s"
 msgstr ""
@@ -1979,604 +1983,462 @@ msgstr ""
 msgid "relocation should be even number"
 msgstr ""
 
-#: elf32-bfin.c:1581
+#: elf32-bfin.c:1585
 #, c-format
-msgid "%B(%A+%#Lx): unresolvable relocation against symbol `%s'"
+msgid "%pB(%pA+%#<PRIx64>): unresolvable relocation against symbol `%s'"
 msgstr ""
 
-#: elf32-bfin.c:1612 elf32-i386.c:5384 elf32-m68k.c:4159 elf32-s390.c:3429
-#: elf64-s390.c:3353 elf64-x86-64.c:5752
+#: elf32-bfin.c:1617 elf32-i386.c:3450 elf32-m68k.c:3976 elf32-s390.c:3266
+#: elf64-s390.c:3183 elf64-x86-64.c:3893
 #, c-format
-msgid "%B(%A+%#Lx): reloc against `%s': error %d"
+msgid "%pB(%pA+%#<PRIx64>): reloc against `%s': error %d"
 msgstr ""
 
-#: elf32-bfin.c:2705
+#: elf32-bfin.c:2638
 #, c-format
-msgid "%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend"
+msgid ""
+"%pB: relocation at `%pA+%#<PRIx64>' references symbol `%s' with nonzero "
+"addend"
 msgstr ""
 
-#: elf32-bfin.c:2721
+#: elf32-bfin.c:2655
 msgid "relocation references symbol not defined in the module"
 msgstr ""
 
-#: elf32-bfin.c:2818
+#: elf32-bfin.c:2752
 msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
 msgstr ""
 
-#: elf32-bfin.c:2859 elf32-bfin.c:2982
+#: elf32-bfin.c:2793 elf32-bfin.c:2916
 msgid "cannot emit fixups in read-only section"
 msgstr ""
 
-#: elf32-bfin.c:2890 elf32-bfin.c:3020 elf32-lm32.c:1064 elf32-sh.c:4930
+#: elf32-bfin.c:2824 elf32-bfin.c:2954 elf32-lm32.c:1049 elf32-sh.c:4507
 msgid "cannot emit dynamic relocations in read-only section"
 msgstr ""
 
-#: elf32-bfin.c:2940
+#: elf32-bfin.c:2874
 msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
 msgstr ""
 
-#: elf32-bfin.c:3105
+#: elf32-bfin.c:3039
 msgid "relocations between different segments are not supported"
 msgstr ""
 
-#: elf32-bfin.c:3106
+#: elf32-bfin.c:3040
 msgid "warning: relocation references a different segment"
 msgstr ""
 
-#: elf32-bfin.c:4876
+#: elf32-bfin.c:4787 elf32-frv.c:6603
 #, c-format
-msgid "%B: unsupported relocation type %d"
+msgid "%pB: cannot link non-fdpic object file into fdpic executable"
 msgstr ""
 
-#: elf32-bfin.c:4965 elf32-frv.c:6599
-msgid "%B: cannot link non-fdpic object file into fdpic executable"
-msgstr ""
-
-#: elf32-bfin.c:4969 elf32-frv.c:6603
-msgid "%B: cannot link fdpic object file into non-fdpic executable"
+#: elf32-bfin.c:4791 elf32-frv.c:6607
+#, c-format
+msgid "%pB: cannot link fdpic object file into non-fdpic executable"
 msgstr ""
 
-#: elf32-bfin.c:5119
+#: elf32-bfin.c:4941
 #, c-format
 msgid "*** check this relocation %s"
 msgstr ""
 
-#: elf32-bfin.c:5235
+#: elf32-bfin.c:5057
 msgid ""
 "the bfin target does not currently support the generation of copy relocations"
 msgstr ""
 
-#: elf32-cr16.c:653
-#, c-format
-msgid "Unsupported CR16 relocation type: 0x%x\n"
-msgstr ""
-
-#: elf32-cr16.c:682
-#, c-format
-msgid "%B: unrecognised CR16 reloc number: %d"
-msgstr ""
-
-#: elf32-cr16c.c:186
-#, c-format
-msgid "%B: invalid CR16C reloc number: %d"
-msgstr ""
-
-#: elf32-cris.c:467
-#, c-format
-msgid "%B: invalid CRIS reloc number: %d"
+#: elf32-bfin.c:5351 elf32-cr16.c:2803 elf32-m68k.c:4390
+msgid "unsupported relocation type"
 msgstr ""
 
-#: elf32-cris.c:1115
+#: elf32-cris.c:1119
 #, c-format
-msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
+msgid "%pB, section %pA: unresolvable relocation %s against symbol `%s'"
 msgstr ""
 
-#: elf32-cris.c:1177
+#: elf32-cris.c:1184
 #, c-format
-msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'"
+msgid "%pB, section %pA: no PLT nor GOT for relocation %s against symbol `%s'"
 msgstr ""
 
-#: elf32-cris.c:1180
+#: elf32-cris.c:1187
 #, c-format
-msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
+msgid "%pB, section %pA: no PLT for relocation %s against symbol `%s'"
 msgstr ""
 
-#: elf32-cris.c:1186 elf32-cris.c:1319 elf32-cris.c:1583 elf32-cris.c:1666
-#: elf32-cris.c:1819 elf32-tic6x.c:2651
+#: elf32-cris.c:1193 elf32-cris.c:1326 elf32-cris.c:1591 elf32-cris.c:1674
+#: elf32-cris.c:1827 elf32-tic6x.c:2619
 msgid "[whose name is lost]"
 msgstr ""
 
-#: elf32-cris.c:1304 elf32-tic6x.c:2635
+#: elf32-cris.c:1311 elf32-tic6x.c:2603
 #, c-format
 msgid ""
-"%B, section %A: relocation %s with non-zero addend %Ld against local symbol"
+"%pB, section %pA: relocation %s with non-zero addend %<PRId64> against local "
+"symbol"
 msgstr ""
 
-#: elf32-cris.c:1313 elf32-cris.c:1660 elf32-cris.c:1813 elf32-tic6x.c:2644
+#: elf32-cris.c:1320 elf32-cris.c:1668 elf32-cris.c:1821 elf32-tic6x.c:2612
 #, c-format
 msgid ""
-"%B, section %A: relocation %s with non-zero addend %Ld against symbol `%s'"
+"%pB, section %pA: relocation %s with non-zero addend %<PRId64> against "
+"symbol `%s'"
 msgstr ""
 
-#: elf32-cris.c:1340
+#: elf32-cris.c:1347
 #, c-format
-msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'"
+msgid "%pB, section %pA: relocation %s is not allowed for global symbol: `%s'"
 msgstr ""
 
-#: elf32-cris.c:1357
+#: elf32-cris.c:1364
 #, c-format
-msgid "%B, section %A: relocation %s with no GOT created"
+msgid "%pB, section %pA: relocation %s with no GOT created"
 msgstr ""
 
 #. We shouldn't get here for GCC-emitted code.
-#: elf32-cris.c:1573
+#: elf32-cris.c:1581
 #, c-format
 msgid ""
-"%B, section %A: relocation %s has an undefined reference to `%s', perhaps a "
-"declaration mixup?"
+"%pB, section %pA: relocation %s has an undefined reference to `%s', perhaps "
+"a declaration mixup?"
 msgstr ""
 
-#: elf32-cris.c:1576
+#: elf32-cris.c:1584
 #, c-format
 msgid ""
-"%B, section %A: relocation %s is not allowed for `%s', a global symbol with "
-"default visibility, perhaps a declaration mixup?"
+"%pB, section %pA: relocation %s is not allowed for `%s', a global symbol "
+"with default visibility, perhaps a declaration mixup?"
 msgstr ""
 
-#: elf32-cris.c:1947
+#: elf32-cris.c:1955
 #, c-format
 msgid ""
-"%B, section %A: relocation %s is not allowed for symbol: `%s' which is "
+"%pB, section %pA: relocation %s is not allowed for symbol: `%s' which is "
 "defined outside the program, perhaps a declaration mixup?"
 msgstr ""
 
-#: elf32-cris.c:2000
+#: elf32-cris.c:2008
 msgid "(too many global variables for -fpic: recompile with -fPIC)"
 msgstr ""
 
-#: elf32-cris.c:2007
+#: elf32-cris.c:2015
 msgid ""
 "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or "
 "-mno-small-tls)"
 msgstr ""
 
-#: elf32-cris.c:3233
+#: elf32-cris.c:3050
 #, c-format
 msgid ""
-"%B, section %A:\n"
-"  v10/v32 compatible object must not contain a PIC relocation"
+"%pB, section %pA: v10/v32 compatible object must not contain a PIC relocation"
 msgstr ""
 
-#: elf32-cris.c:3287
+#: elf32-cris.c:3104
 #, c-format
 msgid ""
-"%B, section %A:\n"
+"%pB, section %pA:\n"
 "  relocation %s not valid in a shared object; typically an option mixup, "
 "recompile with -fPIC"
 msgstr ""
 
-#: elf32-cris.c:3505
+#: elf32-cris.c:3322
 #, c-format
 msgid ""
-"%B, section %A:\n"
-"  relocation %s should not be used in a shared object; recompile with -fPIC"
+"%pB, section %pA: relocation %s should not be used in a shared object; "
+"recompile with -fPIC"
 msgstr ""
 
-#: elf32-cris.c:3929
+#: elf32-cris.c:3747
 #, c-format
 msgid ""
-"%B, section `%A', to symbol `%s':\n"
-"  relocation %s should not be used in a shared object; recompile with -fPIC"
+"%pB, section `%pA', to symbol `%s': relocation %s should not be used in a "
+"shared object; recompile with -fPIC"
 msgstr ""
 
-#: elf32-cris.c:4041
-msgid "Unexpected machine number"
+#: elf32-cris.c:3860
+msgid "unexpected machine number"
 msgstr ""
 
-#: elf32-cris.c:4092
+#: elf32-cris.c:3911
 #, c-format
 msgid " [symbols have a _ prefix]"
 msgstr ""
 
-#: elf32-cris.c:4095
+#: elf32-cris.c:3914
 #, c-format
 msgid " [v10 and v32]"
 msgstr ""
 
-#: elf32-cris.c:4098
+#: elf32-cris.c:3917
 #, c-format
 msgid " [v32]"
 msgstr ""
 
-#: elf32-cris.c:4142
-msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
-msgstr ""
-
-#: elf32-cris.c:4143
-msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
-msgstr ""
-
-#: elf32-cris.c:4162
-msgid "%B contains CRIS v32 code, incompatible with previous objects"
-msgstr ""
-
-#: elf32-cris.c:4164
-msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
+#: elf32-cris.c:3961
+#, c-format
+msgid ""
+"%pB: uses _-prefixed symbols, but writing file with non-prefixed symbols"
 msgstr ""
 
-#: elf32-crx.c:429
+#: elf32-cris.c:3962
 #, c-format
-msgid "%B: unrecognised CRX reloc number: %d"
+msgid ""
+"%pB: uses non-prefixed symbols, but writing file with _-prefixed symbols"
 msgstr ""
 
-#: elf32-d10v.c:234
+#: elf32-cris.c:3981
 #, c-format
-msgid "%B: invalid D10V reloc number: %d"
+msgid "%pB contains CRIS v32 code, incompatible with previous objects"
 msgstr ""
 
-#: elf32-d30v.c:522 elf32-d30v.c:541
+#: elf32-cris.c:3983
 #, c-format
-msgid "%B: invalid D30V reloc number: %d"
+msgid "%pB contains non-CRIS-v32 code, incompatible with previous objects"
 msgstr ""
 
 #: elf32-dlx.c:141
 #, c-format
-msgid "BFD Link Error: branch (PC rel16) to section (%s) not supported"
+msgid "branch (PC rel16) to section (%s) not supported"
 msgstr ""
 
 #: elf32-dlx.c:204
 #, c-format
-msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported"
-msgstr ""
-
-#: elf32-dlx.c:552
-#, c-format
-msgid "Invalid DLX reloc number: %d"
-msgstr ""
-
-#: elf32-epiphany.c:376
-#, c-format
-msgid "%B: invalid Epiphany reloc number: %d"
+msgid "jump (PC rel26) to section (%s) not supported"
 msgstr ""
 
 #. Only if it's not an unresolved symbol.
-#: elf32-epiphany.c:570 elf32-ip2k.c:1482
+#: elf32-epiphany.c:573 elf32-ip2k.c:1489
 msgid "unsupported relocation between data/insn address spaces"
 msgstr ""
 
-#: elf32-fr30.c:381
-#, c-format
-msgid "%B: invalid FR30 reloc number: %d"
-msgstr ""
-
-#: elf32-frv.c:1451 elf32-frv.c:1602
+#: elf32-frv.c:1452 elf32-frv.c:1603
 msgid "relocation requires zero addend"
 msgstr ""
 
-#: elf32-frv.c:2557
-#, c-format
-msgid "%B: invalid FRV reloc number: %d"
-msgstr ""
-
-#: elf32-frv.c:2823
+#: elf32-frv.c:2829
 #, c-format
 msgid "%H: relocation to `%s+%v' may have caused the error above\n"
 msgstr ""
 
-#: elf32-frv.c:2840
+#: elf32-frv.c:2846
 msgid "%H: relocation references symbol not defined in the module\n"
 msgstr ""
 
-#: elf32-frv.c:2916
+#: elf32-frv.c:2922
 msgid "%H: R_FRV_GETTLSOFF not applied to a call instruction\n"
 msgstr ""
 
-#: elf32-frv.c:2957
+#: elf32-frv.c:2963
 msgid "%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3028
+#: elf32-frv.c:3034
 msgid "%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3065
+#: elf32-frv.c:3071
 msgid "%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3112
+#: elf32-frv.c:3118
 msgid "%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3196
+#: elf32-frv.c:3202
 msgid "%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3250
+#: elf32-frv.c:3256
 msgid "%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3280
+#: elf32-frv.c:3286
 msgid "%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3309
+#: elf32-frv.c:3315
 msgid "%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3339
+#: elf32-frv.c:3345
 msgid "%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3384
+#: elf32-frv.c:3390
 msgid "%H: R_FRV_TLSMOFFHI not applied to a sethi instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3411
+#: elf32-frv.c:3417
 msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3532
-msgid "%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend\n"
+#: elf32-frv.c:3538 elf32-frv.c:3660
+msgid "%H: %s references dynamic symbol with nonzero addend\n"
 msgstr ""
 
-#: elf32-frv.c:3573 elf32-frv.c:3695
+#: elf32-frv.c:3580 elf32-frv.c:3703
 msgid "%H: cannot emit fixups in read-only section\n"
 msgstr ""
 
-#: elf32-frv.c:3604 elf32-frv.c:3738
+#: elf32-frv.c:3611 elf32-frv.c:3746
 msgid "%H: cannot emit dynamic relocations in read-only section\n"
 msgstr ""
 
-#: elf32-frv.c:3653
-msgid ""
-"%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend\n"
-msgstr ""
-
-#: elf32-frv.c:3910
+#: elf32-frv.c:3918
 #, c-format
 msgid "%H: reloc against `%s' references a different segment\n"
 msgstr ""
 
-#: elf32-frv.c:4061
+#: elf32-frv.c:4069
 #, c-format
 msgid "%H: reloc against `%s': %s\n"
 msgstr ""
 
-#: elf32-frv.c:6258
-#, c-format
-msgid "%B: unsupported relocation type %i\n"
-msgstr ""
-
-#: elf32-frv.c:6510
+#: elf32-frv.c:6514
 #, c-format
 msgid ""
-"%B: compiled with %s and linked with modules that use non-pic relocations"
+"%pB: compiled with %s and linked with modules that use non-pic relocations"
 msgstr ""
 
-#: elf32-frv.c:6564 elf32-iq2000.c:832 elf32-m32c.c:877
+#: elf32-frv.c:6568 elf32-iq2000.c:832 elf32-m32c.c:876
 #, c-format
-msgid "%B: compiled with %s and linked with modules compiled with %s"
+msgid "%pB: compiled with %s and linked with modules compiled with %s"
 msgstr ""
 
-#: elf32-frv.c:6577
+#: elf32-frv.c:6581
 #, c-format
 msgid ""
-"%B: uses different unknown e_flags (%#x) fields than previous modules (%#x)"
+"%pB: uses different unknown e_flags (%#x) fields than previous modules (%#x)"
 msgstr ""
 
-#: elf32-gen.c:69 elf64-gen.c:69
+#: elf32-gen.c:71
 #, c-format
-msgid "%B: Relocations in generic ELF (EM: %d)"
+msgid "%pB: relocations in generic ELF (EM: %d)"
 msgstr ""
 
-#: elf32-hppa.c:839 elf32-hppa.c:3597
+#: elf32-hppa.c:834 elf32-hppa.c:3511
 #, c-format
-msgid "%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections"
+msgid ""
+"%pB(%pA+%#<PRIx64>): cannot reach %s, recompile with -ffunction-sections"
 msgstr ""
 
-#: elf32-hppa.c:1270
+#: elf32-hppa.c:1248
 #, c-format
 msgid ""
-"%B: relocation %s can not be used when making a shared object; recompile "
+"%pB: relocation %s can not be used when making a shared object; recompile "
 "with -fPIC"
 msgstr ""
 
-#: elf32-hppa.c:2778
+#: elf32-hppa.c:2688
 #, c-format
-msgid "%B: duplicate export stub %s"
+msgid "%pB: duplicate export stub %s"
 msgstr ""
 
-#: elf32-hppa.c:3431
+#: elf32-hppa.c:3344
 #, c-format
 msgid ""
-"%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link"
+"%pB(%pA+%#<PRIx64>): %s fixup for insn %#x is not supported in a non-shared "
+"link"
 msgstr ""
 
-#: elf32-hppa.c:4288
+#: elf32-hppa.c:4140
 #, c-format
-msgid "%B(%A+%#Lx): cannot handle %s for %s"
-msgstr ""
-
-#: elf32-hppa.c:4586
-msgid ".got section not immediately after .plt section"
+msgid "%s has both normal and TLS relocs"
 msgstr ""
 
-#: elf32-i370.c:307
+#: elf32-hppa.c:4158
 #, c-format
-msgid "%B: unrecognised I370 reloc number: %d"
+msgid "%pB:%s has both normal and TLS relocs"
 msgstr ""
 
-#: elf32-i370.c:1168
-msgid "%B: unknown relocation type %d for symbol %s"
+#: elf32-hppa.c:4217
+#, c-format
+msgid "%pB(%pA+%#<PRIx64>): cannot handle %s for %s"
 msgstr ""
 
-#: elf32-i370.c:1310
-#, c-format
-msgid "%B: Relocation %s is not yet supported for symbol %s."
+#: elf32-hppa.c:4521
+msgid ".got section not immediately after .plt section"
 msgstr ""
 
-#. Unknown relocation.
-#: elf32-i386.c:387 elf32-m68k.c:352 elf32-ppc.c:2074 elf32-s390.c:346
-#: elf32-tic6x.c:2674 elf32-wasm32.c:106 elf64-ppc.c:2516 elf64-s390.c:373
-#: elf64-x86-64.c:289
+#: elf32-i386.c:351
 #, c-format
-msgid "%B: invalid relocation type %d"
+msgid "%pB: unsupported relocation type: %#x"
 msgstr ""
 
-#: elf32-i386.c:1689 elf64-x86-64.c:1866
+#: elf32-i386.c:1178 elf64-x86-64.c:1377
 #, c-format
 msgid ""
-"%B: TLS transition from %s to %s against `%s' at %#Lx in section `%A' failed"
+"%pB: TLS transition from %s to %s against `%s' at %#<PRIx64> in section `"
+"%pA' failed"
 msgstr ""
 
-#: elf32-i386.c:1777
+#: elf32-i386.c:1269
 #, c-format
 msgid ""
-"%B: direct GOT relocation R_386_GOT32X against `%s' without base register "
+"%pB: direct GOT relocation R_386_GOT32X against `%s' without base register "
 "can not be used when making a shared object"
 msgstr ""
 
-#: elf32-i386.c:2215 elf32-s390.c:1188 elf32-sh.c:6056 elf32-tilepro.c:1608
-#: elf32-xtensa.c:1196 elf64-s390.c:1117 elfxx-sparc.c:1625 elfxx-tilegx.c:1817
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:440
-#, c-format
-msgid "%B: `%s' accessed both as normal and thread local symbol"
-msgstr ""
-
-#: elf32-i386.c:2292
+#: elf32-i386.c:1726 elf32-s390.c:1188 elf32-sh.c:5570 elf32-tilepro.c:1592
+#: elf32-xtensa.c:1203 elf64-s390.c:1120 elfxx-sparc.c:1593 elfxx-tilegx.c:1805
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:428
 #, c-format
-msgid "%B: unsupported non-PIC call to IFUNC `%s'"
+msgid "%pB: `%s' accessed both as normal and thread local symbol"
 msgstr ""
 
-#: elf32-i386.c:3167 elf64-x86-64.c:3566
+#: elf32-i386.c:1798
 #, c-format
-msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'\n"
+msgid "%pB: unsupported non-PIC call to IFUNC `%s'"
 msgstr ""
 
-#: elf32-i386.c:3380 elf64-x86-64.c:3775
+#: elf32-i386.c:2380 elf64-x86-64.c:2667
 #, c-format
-msgid "%P: %B: warning: relocation in readonly section `%A'\n"
+msgid "%pB: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
 msgstr ""
 
-#: elf32-i386.c:3683 elf64-x86-64.c:4091
-msgid ""
-"%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
-msgstr ""
-
-#: elf32-i386.c:4212 elf64-x86-64.c:4520
+#: elf32-i386.c:2413 elf32-i386.c:3661 elf32-i386.c:3802 elf64-x86-64.c:2724
+#: elf64-x86-64.c:4066 elf64-x86-64.c:4222
 #, c-format
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
-msgstr ""
-
-#: elf32-i386.c:4247 elf32-i386.c:5614 elf32-i386.c:5753 elf64-x86-64.c:4579
-#: elf64-x86-64.c:5941 elf64-x86-64.c:6095
-msgid "Local IFUNC function `%s' in %B\n"
+msgid "Local IFUNC function `%s' in %pB\n"
 msgstr ""
 
-#: elf32-i386.c:4480
+#: elf32-i386.c:2570
 #, c-format
 msgid ""
-"%B: direct GOT relocation %s against `%s' without base register can not be "
+"%pB: direct GOT relocation %s against `%s' without base register can not be "
 "used when making a shared object"
 msgstr ""
 
-#: elf32-i386.c:4515 elf64-x86-64.c:4786
-msgid "hidden symbol"
-msgstr ""
-
-#: elf32-i386.c:4518 elf64-x86-64.c:4789
-msgid "internal symbol"
-msgstr ""
-
-#: elf32-i386.c:4521 elf64-x86-64.c:4792
-msgid "protected symbol"
-msgstr ""
-
-#: elf32-i386.c:4524 elf64-x86-64.c:4795
-msgid "symbol"
-msgstr ""
-
-#: elf32-i386.c:4530
-#, c-format
-msgid ""
-"%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when "
-"making a shared object"
-msgstr ""
-
-#: elf32-i386.c:4543
-#, c-format
-msgid ""
-"%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when "
-"making a shared object"
-msgstr ""
-
-#: elf32-i386.c:6088 elf32-tilepro.c:3912 elf64-x86-64.c:6442
-#: elfxx-tilegx.c:4319 /work/sources/binutils/current/bfd/elfnn-aarch64.c:9279
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2522
-#, c-format
-msgid "discarded output section: `%A'"
-msgstr ""
-
-#: elf32-i386.c:6656 elf64-x86-64.c:7178
-msgid "error: %B: <corrupt x86 ISA used size: 0x%x>"
-msgstr ""
-
-#: elf32-i386.c:6658 elf64-x86-64.c:7180
-msgid "error: %B: <corrupt x86 ISA needed size: 0x%x>"
-msgstr ""
-
-#: elf32-i386.c:6659 elf64-x86-64.c:7181
-msgid "error: %B: <corrupt x86 feature size: 0x%x>"
-msgstr ""
-
-#: elf32-i386.c:6836 elf64-x86-64.c:7358
-#, c-format
-msgid "%F: failed to create GNU property section\n"
-msgstr ""
-
-#: elf32-i386.c:6931
-#, c-format
-msgid "%F: failed to create VxWorks dynamic sections\n"
-msgstr ""
-
-#: elf32-i386.c:6998 elf64-x86-64.c:7519
-#, c-format
-msgid "%F: failed to create GOT sections\n"
-msgstr ""
-
-#: elf32-i386.c:7003 elf64-x86-64.c:7535
-#, c-format
-msgid "%F: failed to create ifunc sections\n"
-msgstr ""
-
-#: elf32-i386.c:7046 elf64-x86-64.c:7578
-#, c-format
-msgid "%F: failed to create GOT PLT section\n"
+#: elf32-i386.c:2605 elf64-x86-64.c:2916
+msgid "hidden symbol"
 msgstr ""
 
-#: elf32-i386.c:7067 elf64-x86-64.c:7599
-#, c-format
-msgid "%F: failed to create IBT-enabled PLT section\n"
+#: elf32-i386.c:2608 elf64-x86-64.c:2919
+msgid "internal symbol"
 msgstr ""
 
-#: elf32-i386.c:7088 elf64-x86-64.c:7635
-#, c-format
-msgid "%F: failed to create PLT .eh_frame section\n"
+#: elf32-i386.c:2611 elf64-x86-64.c:2922
+msgid "protected symbol"
 msgstr ""
 
-#: elf32-i386.c:7101 elf64-x86-64.c:7649
-#, c-format
-msgid "%F: failed to create GOT PLT .eh_frame section\n"
+#: elf32-i386.c:2614 elf64-x86-64.c:2925
+msgid "symbol"
 msgstr ""
 
-#: elf32-i386.c:7121 elf64-x86-64.c:7364
+#: elf32-i386.c:2620
 #, c-format
-msgid "%F%A: failed to align section\n"
+msgid ""
+"%pB: relocation R_386_GOTOFF against undefined %s `%s' can not be used when "
+"making a shared object"
 msgstr ""
 
-#: elf32-i960.c:140
+#: elf32-i386.c:2633
 #, c-format
-msgid "%B: invalid i960 reloc number: %d"
+msgid ""
+"%pB: relocation R_386_GOTOFF against protected %s `%s' can not be used when "
+"making a shared object"
 msgstr ""
 
 #: elf32-ip2k.c:856 elf32-ip2k.c:862 elf32-ip2k.c:929 elf32-ip2k.c:935
@@ -2588,67 +2450,45 @@ msgstr ""
 msgid "ip2k relaxer: switch table header corrupt."
 msgstr ""
 
-#: elf32-ip2k.c:1245
-#, c-format
-msgid "%B: invalid IP2K reloc number: %d"
-msgstr ""
-
-#: elf32-ip2k.c:1298
-#, c-format
-msgid "ip2k linker: missing page instruction at %#Lx (dest = %#Lx)"
-msgstr ""
-
-#: elf32-ip2k.c:1315
-#, c-format
-msgid "ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)"
-msgstr ""
-
-#: elf32-iq2000.c:441
+#: elf32-ip2k.c:1302
 #, c-format
-msgid "%B: invalid IQ2000 reloc number: %d"
+msgid "ip2k linker: missing page instruction at %#<PRIx64> (dest = %#<PRIx64>)"
 msgstr ""
 
-#: elf32-lm32.c:559
+#: elf32-ip2k.c:1321
 #, c-format
-msgid "%B: invalid LM32 reloc number: %d"
+msgid ""
+"ip2k linker: redundant page instruction at %#<PRIx64> (dest = %#<PRIx64>)"
 msgstr ""
 
-#: elf32-lm32.c:668 elf32-nios2.c:3153
+#: elf32-lm32.c:651 elf32-nios2.c:3141
 msgid "global pointer relative relocation when _gp not defined"
 msgstr ""
 
-#: elf32-lm32.c:723 elf32-nios2.c:3590
+#: elf32-lm32.c:706 elf32-nios2.c:3578
 msgid "global pointer relative address out of range"
 msgstr ""
 
-#: elf32-lm32.c:1018
-msgid "internal error: addend should be zero for R_LM32_16_GOT"
-msgstr ""
-
-#: elf32-m32c.c:305
-#, c-format
-msgid "%B: invalid M32C reloc number: %d"
-msgstr ""
-
-#: elf32-m32r.c:1286
+#: elf32-lm32.c:1002 elf32-or1k.c:968
 #, c-format
-msgid "%B: invalid M32R reloc number: %d"
+msgid "internal error: addend should be zero for %s"
 msgstr ""
 
-#: elf32-m32r.c:1458
+#: elf32-m32r.c:1471
 msgid "SDA relocation when _SDA_BASE_ not defined"
 msgstr ""
 
-#: elf32-m32r.c:2985 elf32-microblaze.c:1080 elf32-microblaze.c:1128
+#: elf32-m32r.c:2984 elf32-microblaze.c:1101 elf32-microblaze.c:1149
 #, c-format
-msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
+msgid "%pB: the target (%s) of an %s relocation is in the wrong section (%pA)"
 msgstr ""
 
 #: elf32-m32r.c:3487
-msgid "%B: Instruction set mismatch with previous modules"
+#, c-format
+msgid "%pB: instruction set mismatch with previous modules"
 msgstr ""
 
-#: elf32-m32r.c:3508 elf32-nds32.c:6111
+#: elf32-m32r.c:3508 elf32-nds32.c:6010
 #, c-format
 msgid "private flags = %lx"
 msgstr ""
@@ -2668,144 +2508,122 @@ msgstr ""
 msgid ": m32r2 instructions"
 msgstr ""
 
-#: elf32-m68hc11.c:390
-#, c-format
-msgid "%B: invalid M68HC11 reloc number: %d"
-msgstr ""
-
-#: elf32-m68hc12.c:510
-#, c-format
-msgid "%B: invalid M68HC12 reloc number: %d"
-msgstr ""
-
-#: elf32-m68hc1x.c:1119
+#: elf32-m68hc1x.c:1116
 #, c-format
 msgid ""
-"Reference to the far symbol `%s' using a wrong relocation may result in "
+"reference to the far symbol `%s' using a wrong relocation may result in "
 "incorrect execution"
 msgstr ""
 
-#: elf32-m68hc1x.c:1153
+#: elf32-m68hc1x.c:1150
 #, c-format
 msgid ""
 "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you "
 "must manually offset the address, and possibly manage the page, in your code."
 msgstr ""
 
-#: elf32-m68hc1x.c:1171
+#: elf32-m68hc1x.c:1168
 #, c-format
 msgid ""
 "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked "
 "address [%lx:%04lx] (%lx)"
 msgstr ""
 
-#: elf32-m68hc1x.c:1187
+#: elf32-m68hc1x.c:1184
 #, c-format
 msgid ""
 "reference to a banked address [%lx:%04lx] in the normal address space at "
 "%04lx"
 msgstr ""
 
-#: elf32-m68hc1x.c:1228
+#: elf32-m68hc1x.c:1225
 #, c-format
 msgid ""
 "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you "
 "must manually offset the address in your code"
 msgstr ""
 
-#: elf32-m68hc1x.c:1355
+#: elf32-m68hc1x.c:1352
+#, c-format
 msgid ""
-"%B: linking files compiled for 16-bit integers (-mshort) and others for 32-"
+"%pB: linking files compiled for 16-bit integers (-mshort) and others for 32-"
 "bit integers"
 msgstr ""
 
-#: elf32-m68hc1x.c:1362
+#: elf32-m68hc1x.c:1359
+#, c-format
 msgid ""
-"%B: linking files compiled for 32-bit double (-fshort-double) and others for "
-"64-bit double"
+"%pB: linking files compiled for 32-bit double (-fshort-double) and others "
+"for 64-bit double"
 msgstr ""
 
-#: elf32-m68hc1x.c:1371
-msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
+#: elf32-m68hc1x.c:1368
+#, c-format
+msgid "%pB: linking files compiled for HCS12 with others compiled for HC12"
 msgstr ""
 
-#: elf32-m68hc1x.c:1416 elf32-xgate.c:672
+#: elf32-m68hc1x.c:1413 elf32-xgate.c:675
 #, c-format
 msgid "[abi=32-bit int, "
 msgstr ""
 
-#: elf32-m68hc1x.c:1418 elf32-xgate.c:674
+#: elf32-m68hc1x.c:1415 elf32-xgate.c:677
 #, c-format
 msgid "[abi=16-bit int, "
 msgstr ""
 
-#: elf32-m68hc1x.c:1421 elf32-xgate.c:677
+#: elf32-m68hc1x.c:1418 elf32-xgate.c:680
 #, c-format
 msgid "64-bit double, "
 msgstr ""
 
-#: elf32-m68hc1x.c:1423 elf32-xgate.c:679
+#: elf32-m68hc1x.c:1420 elf32-xgate.c:682
 #, c-format
 msgid "32-bit double, "
 msgstr ""
 
-#: elf32-m68hc1x.c:1426
+#: elf32-m68hc1x.c:1423
 #, c-format
 msgid "cpu=HC11]"
 msgstr ""
 
-#: elf32-m68hc1x.c:1428
+#: elf32-m68hc1x.c:1425
 #, c-format
 msgid "cpu=HCS12]"
 msgstr ""
 
-#: elf32-m68hc1x.c:1430
+#: elf32-m68hc1x.c:1427
 #, c-format
 msgid "cpu=HC12]"
 msgstr ""
 
-#: elf32-m68hc1x.c:1433
+#: elf32-m68hc1x.c:1430
 #, c-format
 msgid " [memory=bank-model]"
 msgstr ""
 
-#: elf32-m68hc1x.c:1435
+#: elf32-m68hc1x.c:1432
 #, c-format
 msgid " [memory=flat]"
 msgstr ""
 
-#: elf32-m68hc1x.c:1438
+#: elf32-m68hc1x.c:1435
 #, c-format
 msgid " [XGATE RAM offsetting]"
 msgstr ""
 
-#: elf32-m68k.c:1215 elf32-m68k.c:1216 vms-alpha.c:7477 vms-alpha.c:7493
+#: elf32-m68k.c:1216 elf32-m68k.c:1217 vms-alpha.c:7478 vms-alpha.c:7494
 msgid "unknown"
 msgstr ""
 
-#: elf32-m68k.c:1680
-#, c-format
-msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
-msgstr ""
-
-#: elf32-m68k.c:1687
-#, c-format
-msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
-msgstr ""
-
-#: elf32-mcore.c:100 elf32-mcore.c:455
-#, c-format
-msgid "%B: Relocation %s (%d) is not currently supported.\n"
-msgstr ""
-
-#: elf32-mcore.c:355
+#: elf32-m68k.c:1660
 #, c-format
-msgid "%B: unrecognised MCore reloc number: %d"
+msgid "%pB: GOT overflow: number of relocations with 8-bit offset > %d"
 msgstr ""
 
-#: elf32-mcore.c:440
+#: elf32-m68k.c:1667
 #, c-format
-msgid "%B: Unknown relocation type %d\n"
+msgid "%pB: GOT overflow: number of relocations with 8- or 16-bit offset > %d"
 msgstr ""
 
 #. Pacify gcc -Wall.
@@ -2819,451 +2637,374 @@ msgstr ""
 msgid "MeP: howto %d has type %d"
 msgstr ""
 
-#: elf32-mep.c:390
-#, c-format
-msgid "%B: invalid MEP reloc number: %d"
-msgstr ""
-
-#: elf32-mep.c:620
+#: elf32-mep.c:622
 #, c-format
-msgid "%B and %B are for different cores"
+msgid "%pB and %pB are for different cores"
 msgstr ""
 
-#: elf32-mep.c:639
+#: elf32-mep.c:641
 #, c-format
-msgid "%B and %B are for different configurations"
+msgid "%pB and %pB are for different configurations"
 msgstr ""
 
-#: elf32-mep.c:677
+#: elf32-mep.c:679
 #, c-format
 msgid "private flags = 0x%lx"
 msgstr ""
 
-#: elf32-metag.c:893
+#: elf32-metag.c:1863
 #, c-format
-msgid "%B: invalid METAG reloc number: %d"
+msgid "%pB(%pA): multiple TLS models are not supported"
 msgstr ""
 
-#: elf32-metag.c:1875
-msgid "%B(%A): multiple TLS models are not supported"
-msgstr ""
-
-#: elf32-metag.c:1878
+#: elf32-metag.c:1866
+#, c-format
 msgid ""
-"%B(%A): shared library symbol %s encountered whilst performing a static link"
+"%pB(%pA): shared library symbol %s encountered whilst performing a static "
+"link"
 msgstr ""
 
-#: elf32-microblaze.c:656
+#: elf32-microblaze.c:1544 elf32-or1k.c:1056 elf32-tilepro.c:3155
+#: elfxx-sparc.c:3540 elfxx-tilegx.c:3543
 #, c-format
-msgid "%B: unrecognised MicroBlaze reloc number: %d"
-msgstr ""
-
-#: elf32-microblaze.c:1496 elf32-or1k.c:1072 elf32-tilepro.c:3309
-#: elfxx-sparc.c:3705 elfxx-tilegx.c:3718
-msgid "%B: probably compiled without -fPIC?"
+msgid "%pB: probably compiled without -fPIC?"
 msgstr ""
 
-#: elf32-mips.c:1777 elf64-mips.c:3200 elfn32-mips.c:3010
+#: elf32-mips.c:1775 elf64-mips.c:3196 elfn32-mips.c:3012
 msgid "literal relocation occurs for an external symbol"
 msgstr ""
 
-#: elf32-mips.c:1824 elf32-score.c:569 elf32-score7.c:469 elf64-mips.c:3243
-#: elfn32-mips.c:3051
+#: elf32-mips.c:1822 elf32-score.c:569 elf32-score7.c:469 elf64-mips.c:3239
+#: elfn32-mips.c:3053
 msgid "32bits gp relative relocation occurs for an external symbol"
 msgstr ""
 
-#: elf32-mips.c:2225
-#, c-format
-msgid "Unrecognised MIPS reloc number: %d"
-msgstr ""
-
-#: elf32-moxie.c:137
-#, c-format
-msgid "%B: invalid Moxie reloc number: %d"
-msgstr ""
-
-#: elf32-msp430.c:648
-#, c-format
-msgid "%B: invalid MSP430X reloc number: %d"
-msgstr ""
-
-#: elf32-msp430.c:658
-#, c-format
-msgid "%B: invalid MSP430 reloc number: %d"
-msgstr ""
-
-#: elf32-msp430.c:836 elf32-msp430.c:1150
-msgid "Try enabling relaxation to avoid relocation truncations"
+#: elf32-msp430.c:837 elf32-msp430.c:1151
+msgid "try enabling relaxation to avoid relocation truncations"
 msgstr ""
 
-#: elf32-msp430.c:1357
+#: elf32-msp430.c:1358
 msgid "internal error: branch/jump to an odd address detected"
 msgstr ""
 
-#: elf32-msp430.c:2356
+#: elf32-msp430.c:2357
 #, c-format
-msgid "Warning: %B: Unknown MSPABI object attribute %d"
+msgid "warning: %pB: unknown MSPABI object attribute %d"
 msgstr ""
 
-#: elf32-msp430.c:2449
+#: elf32-msp430.c:2450
 #, c-format
-msgid "error: %B uses %s instructions but %B uses %s"
+msgid "error: %pB uses %s instructions but %pB uses %s"
 msgstr ""
 
-#: elf32-msp430.c:2461
+#: elf32-msp430.c:2462
 #, c-format
-msgid "error: %B uses the %s code model whereas %B uses the %s code model"
+msgid "error: %pB uses the %s code model whereas %pB uses the %s code model"
 msgstr ""
 
-#: elf32-msp430.c:2473
+#: elf32-msp430.c:2474
 #, c-format
-msgid "error: %B uses the large code model but %B uses MSP430 instructions"
+msgid "error: %pB uses the large code model but %pB uses MSP430 instructions"
 msgstr ""
 
-#: elf32-msp430.c:2484
+#: elf32-msp430.c:2485
 #, c-format
-msgid "error: %B uses the %s data model whereas %B uses the %s data model"
+msgid "error: %pB uses the %s data model whereas %pB uses the %s data model"
 msgstr ""
 
-#: elf32-msp430.c:2496
+#: elf32-msp430.c:2497
 #, c-format
-msgid "error: %B uses the small code model but %B uses the %s data model"
+msgid "error: %pB uses the small code model but %pB uses the %s data model"
 msgstr ""
 
-#: elf32-msp430.c:2508
+#: elf32-msp430.c:2509
 #, c-format
-msgid "error: %B uses the %s data model but %B only uses MSP430 instructions"
+msgid "error: %pB uses the %s data model but %pB only uses MSP430 instructions"
 msgstr ""
 
-#: elf32-mt.c:242
+#: elf32-nds32.c:3228
 #, c-format
-msgid "%B: invalid MT reloc number: %d"
+msgid "error: can't find symbol: %s"
 msgstr ""
 
-#: elf32-nds32.c:2974
+#: elf32-nds32.c:4869
 #, c-format
-msgid "%B: invalid NDS32 reloc number: %d"
-msgstr ""
-
-#: elf32-nds32.c:3309
-msgid "error: Can't find symbol: _SDA_BASE_."
-msgstr ""
-
-#: elf32-nds32.c:4484 elf32-nds32.c:11978
-msgid "%B: error: Cannot set _ITB_BASE_"
-msgstr ""
-
-#: elf32-nds32.c:4492
-msgid "error: IFC relocation error."
+msgid "%pB: warning: %s unsupported in shared mode"
 msgstr ""
 
-#: elf32-nds32.c:4526
+#: elf32-nds32.c:5003
 #, c-format
-msgid "%B: error: unknown relocation type %d."
-msgstr ""
-
-#: elf32-nds32.c:4972
-msgid "%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode."
-msgstr ""
-
-#: elf32-nds32.c:5106
-msgid "%B: warning: unaligned access to GOT entry."
+msgid "%pB: warning: unaligned access to GOT entry"
 msgstr ""
 
-#: elf32-nds32.c:5148
-msgid "%B: warning: relocate SDA_BASE failed."
+#: elf32-nds32.c:5045
+#, c-format
+msgid "%pB: warning: relocate SDA_BASE failed"
 msgstr ""
 
-#: elf32-nds32.c:5170
+#: elf32-nds32.c:5067
 #, c-format
-msgid "%B(%A): warning: unaligned small data access of type %d."
+msgid "%pB(%pA): warning: unaligned small data access of type %d"
 msgstr ""
 
-#: elf32-nds32.c:5918
+#: elf32-nds32.c:5816
 #, c-format
 msgid ""
-"%B: ISR vector size mismatch with previous modules, previous %u-byte, "
+"%pB: ISR vector size mismatch with previous modules, previous %u-byte, "
 "current %u-byte"
 msgstr ""
 
-#: elf32-nds32.c:5962
-msgid "%B: warning: Endian mismatch with previous modules."
+#: elf32-nds32.c:5860
+#, c-format
+msgid "%pB: warning: endian mismatch with previous modules"
 msgstr ""
 
-#: elf32-nds32.c:5972
+#: elf32-nds32.c:5870
+#, c-format
 msgid ""
-"%B: warning: Older version of object file encountered, Please recompile with "
-"current tool chain."
+"%pB: warning: older version of object file encountered, please recompile "
+"with current tool chain"
 msgstr ""
 
-#: elf32-nds32.c:6050
-msgid "%B: error: ABI mismatch with previous modules."
+#: elf32-nds32.c:5948
+#, c-format
+msgid "%pB: error: ABI mismatch with previous modules"
 msgstr ""
 
-#: elf32-nds32.c:6061
-msgid "%B: error: Instruction set mismatch with previous modules."
+#: elf32-nds32.c:5959
+#, c-format
+msgid "%pB: error: instruction set mismatch with previous modules"
 msgstr ""
 
-#: elf32-nds32.c:6087
+#: elf32-nds32.c:5986
 #, c-format
-msgid "%B: warning: Incompatible elf-versions %s and  %s."
+msgid "%pB: warning: incompatible elf-versions %s and %s"
 msgstr ""
 
-#: elf32-nds32.c:6117
+#: elf32-nds32.c:6016
 #, c-format
 msgid ": n1 instructions"
 msgstr ""
 
-#: elf32-nds32.c:6120
+#: elf32-nds32.c:6019
 #, c-format
 msgid ": n1h instructions"
 msgstr ""
 
-#: elf32-nds32.c:8730
-msgid "%B: Error: search_nds32_elf_blank reports wrong node\n"
-msgstr ""
-
-#: elf32-nds32.c:8989
+#: elf32-nds32.c:8508
 #, c-format
-msgid "%B: warning: %s points to unrecognized reloc at %#Lx"
-msgstr ""
-
-#: elf32-nds32.c:11850 elf32-nds32.c:11867
-msgid "error: Jump IFC Fail."
+msgid "%pB: error: search_nds32_elf_blank reports wrong node"
 msgstr ""
 
-#: elf32-nds32.c:12724
+#: elf32-nds32.c:8768
 #, c-format
-msgid "%B: Nested OMIT_FP in %A."
+msgid "%pB: warning: %s points to unrecognized reloc at %#<PRIx64>"
 msgstr ""
 
-#: elf32-nds32.c:12743
+#: elf32-nds32.c:12339
 #, c-format
-msgid "%B: Unmatched OMIT_FP in %A."
+msgid "%pB: nested OMIT_FP in %pA"
 msgstr ""
 
-#: elf32-nds32.c:13026 reloc.c:8234
+#: elf32-nds32.c:12358
 #, c-format
-msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n"
+msgid "%pB: unmatched OMIT_FP in %pA"
 msgstr ""
 
-#: elf32-nds32.c:14802
-msgid "Linker: cannot init ex9 hash table error \n"
-msgstr ""
-
-#: elf32-nds32.c:15211 elf32-nds32.c:15225
-msgid "Linker: error cannot fixed ex9 relocation \n"
-msgstr ""
-
-#: elf32-nds32.c:15436
+#: elf32-nds32.c:12642 reloc.c:8330
 #, c-format
-msgid ""
-"%B: warning: unaligned small data access for entry: {%Ld, %Ld, %Ld}, addr = "
-"%#Lx, align = %#x"
+msgid "%X%P: %pB(%pA): relocation \"%pR\" goes out of range\n"
 msgstr ""
 
-#: elf32-nds32.c:15469
+#: elf32-nios2.c:2930
 #, c-format
-msgid "failed creating ex9.it %s hash table entry"
-msgstr ""
-
-#: elf32-nios2.c:2949
-msgid "error: %B: Big-endian R2 is not supported."
+msgid "error: %pB: big-endian R2 is not supported"
 msgstr ""
 
-#: elf32-nios2.c:3830
+#: elf32-nios2.c:3822
 #, c-format
 msgid ""
 "global pointer relative relocation at address 0x%08x when _gp not defined\n"
 msgstr ""
 
-#: elf32-nios2.c:3850
+#: elf32-nios2.c:3842
 #, c-format
 msgid ""
-"Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because "
-"the offset (%d) is out of the allowed range, -32678 to 32767.\n"
+"unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because "
+"the offset (%d) is out of the allowed range, -32678 to 32767\n"
 msgstr ""
 
-#: elf32-nios2.c:4500 elf32-pru.c:816
+#: elf32-nios2.c:4495 elf32-pru.c:928
 msgid "relocation out of range"
 msgstr ""
 
-#: elf32-nios2.c:4510 elf32-pru.c:826 elf32-tic6x.c:2747
+#: elf32-nios2.c:4505 elf32-pru.c:938 elf32-tic6x.c:2716
 msgid "dangerous relocation"
 msgstr ""
 
-#: elf32-nios2.c:5491
+#: elf32-nios2.c:5378
 #, c-format
 msgid "dynamic variable `%s' is zero size"
 msgstr ""
 
-#: elf32-or1k.c:735
+#: elf32-or1k.c:1078
 #, c-format
-msgid "%B: invalid OR1K reloc number: %d"
-msgstr ""
-
-#: elf32-or1k.c:985
-msgid "internal error: addend should be zero for R_OR1K_GOT16"
-msgstr ""
-
-#: elf32-or1k.c:1094
-msgid "%B: support for local dynamic not implemented"
-msgstr ""
-
-#: elf32-or1k.c:1229
-msgid "%B: will not resolve runtime TLS relocation"
+msgid "%pB: support for local dynamic not implemented"
 msgstr ""
 
-#: elf32-or1k.c:1599
+#: elf32-or1k.c:1213
 #, c-format
-msgid "%B: bad relocation section name `%s'"
-msgstr ""
-
-#: elf32-or1k.c:2704
-msgid "%B: EF_OR1K_NODELAY flag mismatch with previous modules"
+msgid "%pB: will not resolve runtime TLS relocation"
 msgstr ""
 
-#: elf32-pj.c:325
+#: elf32-or1k.c:1533
 #, c-format
-msgid "%B: unrecognised PicoJava reloc number: %d"
+msgid "%pB: bad relocation section name `%s'"
 msgstr ""
 
-#: elf32-ppc.c:2062
+#: elf32-or1k.c:2645
 #, c-format
-msgid "%B: unrecognised PPC reloc number: %d"
+msgid "%pB: %s flag mismatch with previous modules"
 msgstr ""
 
-#: elf32-ppc.c:2147
+#: elf32-ppc.c:2149
 #, c-format
 msgid "generic linker can't handle %s"
 msgstr ""
 
-#: elf32-ppc.c:2781
+#: elf32-ppc.c:2778
 #, c-format
-msgid "corrupt %s section in %B"
+msgid "corrupt %s section in %pB"
 msgstr ""
 
-#: elf32-ppc.c:2801
+#: elf32-ppc.c:2798
 #, c-format
-msgid "unable to read in %s section from %B"
+msgid "unable to read in %s section from %pB"
 msgstr ""
 
-#: elf32-ppc.c:2843
+#: elf32-ppc.c:2840
 #, c-format
-msgid "warning: unable to set size of %s section in %B"
-msgstr ""
-
-#: elf32-ppc.c:2893
-msgid "failed to allocate space for new APUinfo section."
+msgid "warning: unable to set size of %s section in %pB"
 msgstr ""
 
-#: elf32-ppc.c:2912
-msgid "failed to compute new APUinfo section."
+#: elf32-ppc.c:2890
+msgid "failed to allocate space for new APUinfo section"
 msgstr ""
 
-#: elf32-ppc.c:2915
-msgid "failed to install new APUinfo section."
+#: elf32-ppc.c:2909
+msgid "failed to compute new APUinfo section"
 msgstr ""
 
-#: elf32-ppc.c:3975
-#, c-format
-msgid "%B: relocation %s cannot be used when making a shared object"
+#: elf32-ppc.c:2912
+msgid "failed to install new APUinfo section"
 msgstr ""
 
-#: elf32-ppc.c:4329 elf64-ppc.c:5600
+#: elf32-ppc.c:4014
 #, c-format
-msgid "%H: %s reloc against local symbol\n"
+msgid "%pB: relocation %s cannot be used when making a shared object"
 msgstr ""
 
-#: elf32-ppc.c:4691 elf32-ppc.c:4695
+#: elf32-ppc.c:4744 elf32-ppc.c:4748
 #, c-format
-msgid "Warning: %B uses hard float, %B uses soft float"
+msgid "warning: %pB uses hard float, %pB uses soft float"
 msgstr ""
 
-#: elf32-ppc.c:4699 elf32-ppc.c:4704
+#: elf32-ppc.c:4752 elf32-ppc.c:4757
 #, c-format
 msgid ""
-"Warning: %B uses double-precision hard float, %B uses single-precision hard "
-"float"
+"warning: %pB uses double-precision hard float, %pB uses single-precision "
+"hard float"
 msgstr ""
 
-#: elf32-ppc.c:4719 elf32-ppc.c:4724
+#: elf32-ppc.c:4772 elf32-ppc.c:4777
 #, c-format
-msgid "Warning: %B uses 64-bit long double, %B uses 128-bit long double"
+msgid "warning: %pB uses 64-bit long double, %pB uses 128-bit long double"
 msgstr ""
 
-#: elf32-ppc.c:4729 elf32-ppc.c:4734
+#: elf32-ppc.c:4782 elf32-ppc.c:4787
 #, c-format
-msgid "Warning: %B uses IBM long double, %B uses IEEE long double"
+msgid "warning: %pB uses IBM long double, %pB uses IEEE long double"
 msgstr ""
 
-#: elf32-ppc.c:4785 elf32-ppc.c:4790
+#: elf32-ppc.c:4838 elf32-ppc.c:4843
 #, c-format
-msgid "Warning: %B uses AltiVec vector ABI, %B uses SPE vector ABI"
+msgid "warning: %pB uses AltiVec vector ABI, %pB uses SPE vector ABI"
 msgstr ""
 
-#: elf32-ppc.c:4813 elf32-ppc.c:4818
+#: elf32-ppc.c:4866 elf32-ppc.c:4871
 #, c-format
-msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
+msgid "warning: %pB uses r3/r4 for small structure returns, %pB uses memory"
 msgstr ""
 
-#: elf32-ppc.c:4873
+#: elf32-ppc.c:4926
+#, c-format
 msgid ""
-"%B: compiled with -mrelocatable and linked with modules compiled normally"
+"%pB: compiled with -mrelocatable and linked with modules compiled normally"
 msgstr ""
 
-#: elf32-ppc.c:4881
+#: elf32-ppc.c:4934
+#, c-format
 msgid ""
-"%B: compiled normally and linked with modules compiled with -mrelocatable"
+"%pB: compiled normally and linked with modules compiled with -mrelocatable"
 msgstr ""
 
-#: elf32-ppc.c:4950
+#: elf32-ppc.c:5003
 #, c-format
-msgid "%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn"
+msgid "%pB(%pA+0x%lx): expected 16A style relocation on 0x%08x insn"
 msgstr ""
 
-#: elf32-ppc.c:4969
+#: elf32-ppc.c:5022
 #, c-format
-msgid "%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn"
+msgid "%pB(%pA+0x%lx): expected 16D style relocation on 0x%08x insn"
 msgstr ""
 
-#: elf32-ppc.c:5043
-msgid "%P: bss-plt forced due to %B\n"
+#: elf32-ppc.c:5113
+#, c-format
+msgid "bss-plt forced due to %pB"
 msgstr ""
 
-#: elf32-ppc.c:5046
-msgid "%P: bss-plt forced by profiling\n"
+#: elf32-ppc.c:5115
+msgid "bss-plt forced by profiling"
 msgstr ""
 
 #. Uh oh, we didn't find the expected call.  We
 #. could just mark this symbol to exclude it
 #. from tls optimization but it's safer to skip
 #. the entire optimization.
-#: elf32-ppc.c:5544 elf64-ppc.c:8826
+#: elf32-ppc.c:5691 elf64-ppc.c:8963
 #, c-format
 msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
 msgstr ""
 
-#: elf32-ppc.c:8249
+#: elf32-ppc.c:6662 elf32-sh.c:3078 elf32-tilepro.c:2339 elfxx-sparc.c:2536
+#: elfxx-tilegx.c:2579
+#, c-format
+msgid "%pB: dynamic relocation in read-only section `%pA'\n"
+msgstr ""
+
+#: elf32-ppc.c:8515
+msgid "%P: %H: error: %s with unexpected instruction %x\n"
+msgstr ""
+
+#: elf32-ppc.c:8552
 msgid "%H: fixup branch overflow\n"
 msgstr ""
 
-#: elf32-ppc.c:8289 elf32-ppc.c:8324
+#: elf32-ppc.c:8592 elf32-ppc.c:8628
 #, c-format
-msgid "%B(%A+%#Lx): error: %s with unexpected instruction %#x"
+msgid "%pB(%pA+%#<PRIx64>): error: %s with unexpected instruction %#x"
 msgstr ""
 
-#: elf32-ppc.c:8380
+#: elf32-ppc.c:8692
 #, c-format
 msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
 msgstr ""
 
-#: elf32-ppc.c:8434
-#, c-format
-msgid "%P: %B: unknown relocation type %d for symbol %s\n"
+#: elf32-ppc.c:8731 elf64-ppc.c:15738
+msgid "%H: warning: %s unexpected insn %#x.\n"
 msgstr ""
 
-#: elf32-ppc.c:8718
+#: elf32-ppc.c:9043
 #, c-format
 msgid "%H: non-zero addend on %s reloc against `%s'\n"
 msgstr ""
@@ -3276,1318 +3017,1227 @@ msgstr ""
 #. local won't have the +32k reloc addend trick marking
 #. -fPIC code, so the linker won't know whether r30 is
 #. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section.
-#: elf32-ppc.c:8750
+#: elf32-ppc.c:9075
 #, c-format
 msgid "%X%H: @local call to ifunc %s\n"
 msgstr ""
 
-#: elf32-ppc.c:8930
+#: elf32-ppc.c:9245
 #, c-format
 msgid "%H: relocation %s for indirect function %s unsupported\n"
 msgstr ""
 
-#: elf32-ppc.c:9199 elf32-ppc.c:9230 elf32-ppc.c:9321
-#, c-format
-msgid ""
-"%P: %B: the target (%s) of a %s relocation is in the wrong output section "
-"(%s)\n"
-msgstr ""
-
-#: elf32-ppc.c:9409
+#: elf32-ppc.c:9573 elf32-ppc.c:9604 elf32-ppc.c:9695 elf32-ppc.c:9783
 #, c-format
 msgid ""
-"%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
+"%pB: the target (%s) of a %s relocation is in the wrong output section (%s)"
 msgstr ""
 
-#: elf32-ppc.c:9513
-#, c-format
-msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
+#: elf32-ppc.c:9913 elf32-ppc.c:9931
+msgid "%P: %H: %s relocation unsupported for bss-plt\n"
 msgstr ""
 
-#: elf32-ppc.c:9598
+#: elf32-ppc.c:10012
 #, c-format
 msgid "%H: error: %s against `%s' not a multiple of %u\n"
 msgstr ""
 
-#: elf32-ppc.c:9627
+#: elf32-ppc.c:10041
 #, c-format
 msgid "%H: unresolvable %s relocation against symbol `%s'\n"
 msgstr ""
 
-#: elf32-ppc.c:9708
+#: elf32-ppc.c:10122
 #, c-format
 msgid "%H: %s reloc against `%s': error %d\n"
 msgstr ""
 
-#: elf32-ppc.c:10472 elf64-ppc.c:15763
+#: elf32-ppc.c:11017 elf64-ppc.c:16230
 msgid ""
 "%X%P: text relocations and GNU indirect functions will result in a segfault "
 "at runtime\n"
 msgstr ""
 
-#: elf32-ppc.c:10476 elf64-ppc.c:15767
+#: elf32-ppc.c:11021 elf64-ppc.c:16234
 msgid ""
 "%P: warning: text relocations and GNU indirect functions may result in a "
 "segfault at runtime\n"
 msgstr ""
 
-#: elf32-ppc.c:10521
+#: elf32-ppc.c:11066
 #, c-format
-msgid "%P: %s not defined in linker created %s\n"
+msgid "%s not defined in linker created %pA"
 msgstr ""
 
-#: elf32-rl78.c:291
+#: elf32-pru.c:579 elf32-pru.c:1472
 #, c-format
-msgid "%B: invalid RL78 reloc number: %d"
+msgid "error: %pB: old incompatible object file detected"
 msgstr ""
 
-#: elf32-rl78.c:369
-msgid "Internal Error: RL78 reloc stack overflow"
+#: elf32-rl78.c:373
+msgid "internal error: RL78 reloc stack overflow"
 msgstr ""
 
-#: elf32-rl78.c:380
-msgid "Internal Error: RL78 reloc stack underflow"
+#: elf32-rl78.c:384
+msgid "internal error: RL78 reloc stack underflow"
 msgstr ""
 
-#: elf32-rl78.c:1049
-msgid "Warning: RL78_SYM reloc with an unknown symbol"
+#: elf32-rl78.c:1054
+msgid "warning: RL78_SYM reloc with an unknown symbol"
 msgstr ""
 
-#: elf32-rl78.c:1080 elf32-rx.c:1434
+#: elf32-rl78.c:1085 elf32-rx.c:1457
 #, c-format
-msgid "%B(%A): error: call to undefined function '%s'"
+msgid "%pB(%pA): error: call to undefined function '%s'"
 msgstr ""
 
-#: elf32-rl78.c:1201
+#: elf32-rl78.c:1206
 #, c-format
-msgid "RL78 ABI conflict: G10 file %B cannot be linked with %s file %B"
+msgid "RL78 ABI conflict: G10 file %pB cannot be linked with %s file %pB"
 msgstr ""
 
-#: elf32-rl78.c:1218
+#: elf32-rl78.c:1223
 #, c-format
-msgid "RL78 ABI conflict: cannot link %s file %B with %s file %B"
+msgid "RL78 ABI conflict: cannot link %s file %pB with %s file %pB"
 msgstr ""
 
-#: elf32-rl78.c:1227
+#: elf32-rl78.c:1232
 msgid "RL78 merge conflict: cannot link 32-bit and 64-bit objects together"
 msgstr ""
 
-#: elf32-rl78.c:1231 elf32-rl78.c:1235
+#: elf32-rl78.c:1236 elf32-rl78.c:1240
 #, c-format
-msgid "- %B is 64-bit, %B is not"
+msgid "- %pB is 64-bit, %pB is not"
 msgstr ""
 
-#: elf32-rl78.c:1262
+#: elf32-rl78.c:1267
 #, c-format
 msgid " [64-bit doubles]"
 msgstr ""
 
-#: elf32-rx.c:313
-#, c-format
-msgid "%B: invalid RX reloc number: %d"
-msgstr ""
-
-#: elf32-rx.c:594
+#: elf32-rx.c:606
 #, c-format
-msgid "%B:%A: table entry %s outside table"
+msgid "%pB:%pA: table entry %s outside table"
 msgstr ""
 
-#: elf32-rx.c:601
+#: elf32-rx.c:613
 #, c-format
-msgid "%B:%A: table entry %s not word-aligned within table"
+msgid "%pB:%pA: table entry %s not word-aligned within table"
 msgstr ""
 
-#: elf32-rx.c:667
+#: elf32-rx.c:685
 #, c-format
-msgid "%B:%A: Warning: deprecated Red Hat reloc "
+msgid "%pB:%pA: warning: deprecated Red Hat reloc %s detected against: %s"
 msgstr ""
 
 #. Check for unsafe relocs in PID mode.  These are any relocs where
 #. an absolute address is being computed.  There are special cases
 #. for relocs against symbols that are known to be referenced in
 #. crt0.o before the PID base address register has been initialised.
-#: elf32-rx.c:686
+#: elf32-rx.c:705
 #, c-format
-msgid "%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)"
+msgid "%pB(%pA): unsafe PID relocation %s at %#<PRIx64> (against %s in %s)"
 msgstr ""
 
-#: elf32-rx.c:1266
-msgid "Warning: RX_SYM reloc with an unknown symbol"
+#: elf32-rx.c:1289
+msgid "warning: RX_SYM reloc with an unknown symbol"
 msgstr ""
 
-#: elf32-rx.c:3145
-msgid "There is a conflict merging the ELF header flags from %B"
+#: elf32-rx.c:3168
+#, c-format
+msgid "there is a conflict merging the ELF header flags from %pB"
 msgstr ""
 
-#: elf32-rx.c:3148
+#: elf32-rx.c:3171
 #, c-format
 msgid "  the input  file's flags: %s"
 msgstr ""
 
-#: elf32-rx.c:3150
+#: elf32-rx.c:3173
 #, c-format
 msgid "  the output file's flags: %s"
 msgstr ""
 
-#: elf32-rx.c:3757
+#: elf32-rx.c:3780
 #, c-format
-msgid "%B:%A: table %s missing corresponding %s"
+msgid "%pB:%pA: table %s missing corresponding %s"
 msgstr ""
 
-#: elf32-rx.c:3765
+#: elf32-rx.c:3788
 #, c-format
-msgid "%B:%A: %s and %s must be in the same input section"
+msgid "%pB:%pA: %s and %s must be in the same input section"
 msgstr ""
 
-#: elf32-s390.c:2310 elf64-s390.c:2257
+#: elf32-s390.c:2141 elf64-s390.c:2082
 #, c-format
-msgid "%B(%A+%#Lx): invalid instruction for TLS relocation %s"
+msgid "%pB(%pA+%#<PRIx64>): invalid instruction for TLS relocation %s"
 msgstr ""
 
-#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3756
+#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3750
 msgid "not enough GOT space for local GOT entries"
 msgstr ""
 
-#: elf32-score.c:2744
-msgid "address not word align"
+#: elf32-score.c:2746
+msgid "address not word aligned"
 msgstr ""
 
-#: elf32-score.c:2825 elf32-score7.c:2630
+#: elf32-score.c:2827 elf32-score7.c:2632
 #, c-format
-msgid "%B: Malformed reloc detected for section %A"
+msgid "%pB: malformed reloc detected for section %pA"
 msgstr ""
 
-#: elf32-score.c:2883 elf32-score7.c:2688
+#: elf32-score.c:2881 elf32-score7.c:2686
 #, c-format
-msgid "%B: CALL15 reloc at %#Lx not against global symbol"
+msgid "%pB: CALL15 reloc at %#<PRIx64> not against global symbol"
 msgstr ""
 
-#: elf32-score.c:4005 elf32-score7.c:3810
+#: elf32-score.c:4003 elf32-score7.c:3808
 #, c-format
 msgid " [pic]"
 msgstr ""
 
-#: elf32-score.c:4009 elf32-score7.c:3814
+#: elf32-score.c:4007 elf32-score7.c:3812
 #, c-format
 msgid " [fix dep]"
 msgstr ""
 
-#: elf32-score.c:4052 elf32-score7.c:3857
-msgid "%B: warning: linking PIC files with non-PIC files"
-msgstr ""
-
-#: elf32-sh-symbian.c:130
+#: elf32-score.c:4050 elf32-score7.c:3855
 #, c-format
-msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS"
+msgid "%pB: warning: linking PIC files with non-PIC files"
 msgstr ""
 
-#: elf32-sh-symbian.c:384
+#: elf32-sh.c:533
 #, c-format
-msgid "%B: Unrecognised .directive command: %s"
+msgid "%pB: %#<PRIx64>: warning: R_SH_USES points to unrecognized insn 0x%x"
 msgstr ""
 
-#: elf32-sh-symbian.c:502
-#, c-format
-msgid "%B: Failed to add renamed symbol %s"
-msgstr ""
-
-#: elf32-sh.c:491
-#, c-format
-msgid "%B: unrecognised SH reloc number: %d"
-msgstr ""
-
-#: elf32-sh.c:592
-#, c-format
-msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x"
-msgstr ""
-
-#: elf32-sh.c:3953 elf64-sh64.c:1508
-msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
+#: elf32-sh.c:3629
+msgid "unexpected STO_SH5_ISA32 on local symbol is not handled"
 msgstr ""
 
-#: elf32-sh.c:4206
+#: elf32-sh.c:3876
 #, c-format
-msgid "%B: %#Lx: fatal: unaligned branch target for relax-support relocation"
+msgid ""
+"%pB: %#<PRIx64>: fatal: unaligned branch target for relax-support relocation"
 msgstr ""
 
-#: elf32-sh.c:4240 elf32-sh.c:4256
+#: elf32-sh.c:3906 elf32-sh.c:3922
 #, c-format
-msgid "%B: %#Lx: fatal: unaligned %s relocation %#Lx"
+msgid "%pB: %#<PRIx64>: fatal: unaligned %s relocation %#<PRIx64>"
 msgstr ""
 
-#: elf32-sh.c:4271
+#: elf32-sh.c:3938
 #, c-format
-msgid "%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32"
+msgid ""
+"%pB: %#<PRIx64>: fatal: R_SH_PSHA relocation %<PRId64> not in range -32..32"
 msgstr ""
 
-#: elf32-sh.c:4286
+#: elf32-sh.c:3954
 #, c-format
-msgid "%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32"
+msgid ""
+"%pB: %#<PRIx64>: fatal: R_SH_PSHL relocation %<PRId64> not in range -32..32"
 msgstr ""
 
-#: elf32-sh.c:4431 elf32-sh.c:4903
+#: elf32-sh.c:4084 elf32-sh.c:4479
 #, c-format
-msgid "%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section"
+msgid "%pB(%pA+%#<PRIx64>): cannot emit fixup to `%s' in read-only section"
 msgstr ""
 
-#: elf32-sh.c:5005
+#: elf32-sh.c:4582
 #, c-format
-msgid "%B(%A+%#Lx): %s relocation against external symbol \"%s\""
+msgid "%pB(%pA+%#<PRIx64>): %s relocation against external symbol \"%s\""
 msgstr ""
 
-#: elf32-sh.c:5469
+#: elf32-sh.c:5047
 #, c-format
 msgid "%X%C: relocation to \"%s\" references a different segment\n"
 msgstr ""
 
-#: elf32-sh.c:5476
+#: elf32-sh.c:5054
 #, c-format
 msgid "%C: warning: relocation to \"%s\" references a different segment\n"
 msgstr ""
 
-#: elf32-sh.c:6045 elf32-sh.c:6131
+#: elf32-sh.c:5559 elf32-sh.c:5641
 #, c-format
-msgid "%B: `%s' accessed both as normal and FDPIC symbol"
+msgid "%pB: `%s' accessed both as normal and FDPIC symbol"
 msgstr ""
 
-#: elf32-sh.c:6051 elf32-sh.c:6136
+#: elf32-sh.c:5565 elf32-sh.c:5646
 #, c-format
-msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
+msgid "%pB: `%s' accessed both as FDPIC and thread local symbol"
 msgstr ""
 
-#: elf32-sh.c:6082
-msgid "%B: Function descriptor relocation with non-zero addend"
+#: elf32-sh.c:5596
+#, c-format
+msgid "%pB: Function descriptor relocation with non-zero addend"
 msgstr ""
 
-#: elf32-sh.c:6320 elf64-alpha.c:4755
+#: elf32-sh.c:5803 elf64-alpha.c:4691
 #, c-format
-msgid "%B: TLS local exec code cannot be linked into shared objects"
+msgid "%pB: TLS local exec code cannot be linked into shared objects"
 msgstr ""
 
-#: elf32-sh.c:6435
+#: elf32-sh.c:5918
 #, c-format
-msgid "%B: uses %s instructions while previous modules use %s instructions"
+msgid "%pB: uses %s instructions while previous modules use %s instructions"
 msgstr ""
 
-#: elf32-sh.c:6447
+#: elf32-sh.c:5930
 #, c-format
 msgid ""
 "internal error: merge of architecture '%s' with architecture '%s' produced "
 "unknown architecture"
 msgstr ""
 
-#: elf32-sh.c:6484
+#: elf32-sh.c:5967
+#, c-format
 msgid ""
-"%B: uses instructions which are incompatible with instructions used in "
+"%pB: uses instructions which are incompatible with instructions used in "
 "previous modules"
 msgstr ""
 
-#: elf32-sh.c:6497
-msgid "%B: attempt to mix FDPIC and non-FDPIC objects"
-msgstr ""
-
-#: elf32-sh64.c:225 elf64-sh64.c:2277
-#, c-format
-msgid "%B: compiled as 32-bit object and %B is 64-bit"
-msgstr ""
-
-#: elf32-sh64.c:229 elf64-sh64.c:2281
-#, c-format
-msgid "%B: compiled as 64-bit object and %B is 32-bit"
-msgstr ""
-
-#: elf32-sh64.c:232 elf64-sh64.c:2284
-#, c-format
-msgid "%B: object size does not match that of target %B"
-msgstr ""
-
-#: elf32-sh64.c:455 elf64-sh64.c:2776
-msgid "%B: encountered datalabel symbol in input"
-msgstr ""
-
-#: elf32-sh64.c:531
-msgid "PTB mismatch: a SHmedia address (bit 0 == 1)"
-msgstr ""
-
-#: elf32-sh64.c:534
-msgid "PTA mismatch: a SHcompact address (bit 0 == 0)"
-msgstr ""
-
-#: elf32-sh64.c:550
-msgid "%B: GAS error: unexpected PTB insn with R_SH_PT_16"
-msgstr ""
-
-#: elf32-sh64.c:600
+#: elf32-sh.c:5980
 #, c-format
-msgid "%B: error: unaligned relocation type %d at %#Lx reloc %#Lx"
-msgstr ""
-
-#: elf32-sh64.c:676
-msgid "%B: could not write out added .cranges entries"
-msgstr ""
-
-#: elf32-sh64.c:735
-msgid "%B: could not write out sorted .cranges entries"
+msgid "%pB: attempt to mix FDPIC and non-FDPIC objects"
 msgstr ""
 
 #: elf32-sparc.c:89
-msgid "%B: compiled for a 64 bit system and target is 32 bit"
+#, c-format
+msgid "%pB: compiled for a 64 bit system and target is 32 bit"
 msgstr ""
 
 #: elf32-sparc.c:102
-msgid "%B: linking little endian files with big endian files"
-msgstr ""
-
-#: elf32-spu.c:160
 #, c-format
-msgid "%B: unrecognised SPU reloc number: %d"
+msgid "%pB: linking little endian files with big endian files"
 msgstr ""
 
-#: elf32-spu.c:726
-msgid "%X%P: overlay section %A does not start on a cache line.\n"
+#: elf32-spu.c:727
+msgid "%X%P: overlay section %pA does not start on a cache line\n"
 msgstr ""
 
-#: elf32-spu.c:734
-msgid "%X%P: overlay section %A is larger than a cache line.\n"
+#: elf32-spu.c:735
+msgid "%X%P: overlay section %pA is larger than a cache line\n"
 msgstr ""
 
-#: elf32-spu.c:754
-msgid "%X%P: overlay section %A is not in cache area.\n"
+#: elf32-spu.c:755
+msgid "%X%P: overlay section %pA is not in cache area\n"
 msgstr ""
 
-#: elf32-spu.c:795
+#: elf32-spu.c:796
 #, c-format
-msgid "%X%P: overlay sections %A and %A do not start at the same address.\n"
+msgid "%X%P: overlay sections %pA and %pA do not start at the same address\n"
 msgstr ""
 
-#: elf32-spu.c:1021
+#: elf32-spu.c:1022
 #, c-format
-msgid "warning: call to non-function symbol %s defined in %B"
+msgid "warning: call to non-function symbol %s defined in %pB"
 msgstr ""
 
-#: elf32-spu.c:1371
+#: elf32-spu.c:1372
 #, c-format
-msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
+msgid "%pA:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
 msgstr ""
 
-#: elf32-spu.c:1903
+#: elf32-spu.c:1904
 #, c-format
-msgid "%B is not allowed to define %s"
+msgid "%pB is not allowed to define %s"
 msgstr ""
 
-#: elf32-spu.c:1911
+#: elf32-spu.c:1912
 #, c-format
 msgid "you are not allowed to define %s in a script"
 msgstr ""
 
-#: elf32-spu.c:1945
+#: elf32-spu.c:1946
 #, c-format
 msgid "%s in overlay section"
 msgstr ""
 
-#: elf32-spu.c:1974
+#: elf32-spu.c:1975
 msgid "overlay stub relocation overflow"
 msgstr ""
 
-#: elf32-spu.c:1983
+#: elf32-spu.c:1984 elf64-ppc.c:13819
 msgid "stubs don't match calculated size"
 msgstr ""
 
-#: elf32-spu.c:2566
+#: elf32-spu.c:2567
 #, c-format
 msgid "warning: %s overlaps %s\n"
 msgstr ""
 
-#: elf32-spu.c:2582
+#: elf32-spu.c:2583
 #, c-format
 msgid "warning: %s exceeds section size\n"
 msgstr ""
 
-#: elf32-spu.c:2614
+#: elf32-spu.c:2615
 #, c-format
-msgid "%A:0x%v not found in function table\n"
+msgid "%pA:0x%v not found in function table\n"
 msgstr ""
 
-#: elf32-spu.c:2755
+#: elf32-spu.c:2756
 #, c-format
-msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n"
+msgid "%pB(%pA+0x%v): call to non-code section %pB(%pA), analysis incomplete\n"
 msgstr ""
 
-#: elf32-spu.c:3324
+#: elf32-spu.c:3325
 #, c-format
-msgid "Stack analysis will ignore the call from %s to %s\n"
+msgid "stack analysis will ignore the call from %s to %s\n"
 msgstr ""
 
-#: elf32-spu.c:4021
+#: elf32-spu.c:4022
 msgid "  calls:\n"
 msgstr ""
 
-#: elf32-spu.c:4335
+#: elf32-spu.c:4336
 #, c-format
 msgid "%s duplicated in %s\n"
 msgstr ""
 
-#: elf32-spu.c:4339
+#: elf32-spu.c:4340
 #, c-format
 msgid "%s duplicated\n"
 msgstr ""
 
-#: elf32-spu.c:4346
+#: elf32-spu.c:4347
 msgid "sorry, no support for duplicate object files in auto-overlay script\n"
 msgstr ""
 
-#: elf32-spu.c:4388
+#: elf32-spu.c:4389
 #, c-format
 msgid ""
 "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local "
 "store\n"
 msgstr ""
 
-#: elf32-spu.c:4544
+#: elf32-spu.c:4545
 #, c-format
-msgid "%B:%A%s exceeds overlay size\n"
+msgid "%pB:%pA%s exceeds overlay size\n"
 msgstr ""
 
-#: elf32-spu.c:4685
+#: elf32-spu.c:4686
 msgid "%F%P: auto overlay error: %E\n"
 msgstr ""
 
-#: elf32-spu.c:4706
+#: elf32-spu.c:4707
 msgid "Stack size for call graph root nodes.\n"
 msgstr ""
 
-#: elf32-spu.c:4707
+#: elf32-spu.c:4708
 msgid ""
 "\n"
 "Stack size for functions.  Annotations: '*' max stack, 't' tail call\n"
 msgstr ""
 
-#: elf32-spu.c:4717
+#: elf32-spu.c:4718
 msgid "Maximum stack required is 0x%v\n"
 msgstr ""
 
-#: elf32-spu.c:4736
+#: elf32-spu.c:4737
 msgid "%X%P: stack/lrlive analysis error: %E\n"
 msgstr ""
 
-#: elf32-spu.c:4739
+#: elf32-spu.c:4740
 msgid "%F%P: can not build overlay stubs: %E\n"
 msgstr ""
 
-#: elf32-spu.c:4808
+#: elf32-spu.c:4809
 msgid "fatal error while creating .fixup"
 msgstr ""
 
-#: elf32-spu.c:5043
+#: elf32-spu.c:5044
 #, c-format
-msgid "%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'"
+msgid "%pB(%s+%#<PRIx64>): unresolvable %s relocation against symbol `%s'"
 msgstr ""
 
-#: elf32-tic6x.c:1596
+#: elf32-tic6x.c:1628
 msgid "warning: generating a shared library containing non-PIC code"
 msgstr ""
 
-#: elf32-tic6x.c:1601
+#: elf32-tic6x.c:1633
 msgid "warning: generating a shared library containing non-PID code"
 msgstr ""
 
-#: elf32-tic6x.c:2525
-msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
+#: elf32-tic6x.c:2493
+#, c-format
+msgid "%pB: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
 msgstr ""
 
-#: elf32-tic6x.c:3651
+#: elf32-tic6x.c:3629
 #, c-format
-msgid "%B: error: unknown mandatory EABI object attribute %d"
+msgid "%pB: error: unknown mandatory EABI object attribute %d"
 msgstr ""
 
-#: elf32-tic6x.c:3660
+#: elf32-tic6x.c:3638
 #, c-format
-msgid "%B: warning: unknown EABI object attribute %d"
+msgid "%pB: warning: unknown EABI object attribute %d"
 msgstr ""
 
-#: elf32-tic6x.c:3774 elf32-tic6x.c:3783
+#: elf32-tic6x.c:3752 elf32-tic6x.c:3761
 #, c-format
-msgid "error: %B requires more stack alignment than %B preserves"
+msgid "error: %pB requires more stack alignment than %pB preserves"
 msgstr ""
 
-#: elf32-tic6x.c:3793 elf32-tic6x.c:3802
-msgid "error: unknown Tag_ABI_array_object_alignment value in %B"
+#: elf32-tic6x.c:3771 elf32-tic6x.c:3780
+#, c-format
+msgid "error: unknown Tag_ABI_array_object_alignment value in %pB"
 msgstr ""
 
-#: elf32-tic6x.c:3811 elf32-tic6x.c:3820
-msgid "error: unknown Tag_ABI_array_object_align_expected value in %B"
+#: elf32-tic6x.c:3789 elf32-tic6x.c:3798
+#, c-format
+msgid "error: unknown Tag_ABI_array_object_align_expected value in %pB"
 msgstr ""
 
-#: elf32-tic6x.c:3829 elf32-tic6x.c:3837
+#: elf32-tic6x.c:3807 elf32-tic6x.c:3815
 #, c-format
-msgid "error: %B requires more array alignment than %B preserves"
+msgid "error: %pB requires more array alignment than %pB preserves"
 msgstr ""
 
-#: elf32-tic6x.c:3860
+#: elf32-tic6x.c:3838
 #, c-format
-msgid "warning: %B and %B differ in wchar_t size"
+msgid "warning: %pB and %pB differ in wchar_t size"
 msgstr ""
 
-#: elf32-tic6x.c:3879
+#: elf32-tic6x.c:3857
 #, c-format
-msgid "warning: %B and %B differ in whether code is compiled for DSBT"
+msgid "warning: %pB and %pB differ in whether code is compiled for DSBT"
 msgstr ""
 
-#: elf32-v850.c:157
+#: elf32-tilepro.c:3761 elfxx-tilegx.c:4145 elfxx-x86.c:1424
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:9463
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2543
 #, c-format
-msgid "Variable `%s' cannot occupy in multiple small data regions"
+msgid "discarded output section: `%pA'"
 msgstr ""
 
-#: elf32-v850.c:160
+#: elf32-v850.c:153
 #, c-format
-msgid ""
-"Variable `%s' can only be in one of the small, zero, and tiny data regions"
+msgid "variable `%s' cannot occupy in multiple small data regions"
 msgstr ""
 
-#: elf32-v850.c:163
+#: elf32-v850.c:156
 #, c-format
 msgid ""
-"Variable `%s' cannot be in both small and zero data regions simultaneously"
+"variable `%s' can only be in one of the small, zero, and tiny data regions"
 msgstr ""
 
-#: elf32-v850.c:166
+#: elf32-v850.c:159
 #, c-format
 msgid ""
-"Variable `%s' cannot be in both small and tiny data regions simultaneously"
+"variable `%s' cannot be in both small and zero data regions simultaneously"
 msgstr ""
 
-#: elf32-v850.c:169
+#: elf32-v850.c:162
 #, c-format
 msgid ""
-"Variable `%s' cannot be in both zero and tiny data regions simultaneously"
+"variable `%s' cannot be in both small and tiny data regions simultaneously"
 msgstr ""
 
-#: elf32-v850.c:467
-msgid "FAILED to find previous HI16 reloc"
+#: elf32-v850.c:165
+#, c-format
+msgid ""
+"variable `%s' cannot be in both zero and tiny data regions simultaneously"
 msgstr ""
 
-#: elf32-v850.c:1902 elf32-v850.c:1921
-#, c-format
-msgid "%B: invalid V850 reloc number: %d"
+#: elf32-v850.c:463
+msgid "failed to find previous HI16 reloc"
 msgstr ""
 
-#: elf32-v850.c:2299
+#: elf32-v850.c:2303
 msgid "could not locate special linker symbol __gp"
 msgstr ""
 
-#: elf32-v850.c:2303
+#: elf32-v850.c:2307
 msgid "could not locate special linker symbol __ep"
 msgstr ""
 
-#: elf32-v850.c:2307
+#: elf32-v850.c:2311
 msgid "could not locate special linker symbol __ctbp"
 msgstr ""
 
-#: elf32-v850.c:2528
+#: elf32-v850.c:2532
 #, c-format
-msgid "error: %B needs 8-byte alignment but %B is set for 4-byte alignment"
+msgid "error: %pB needs 8-byte alignment but %pB is set for 4-byte alignment"
 msgstr ""
 
-#: elf32-v850.c:2544
+#: elf32-v850.c:2548
 #, c-format
-msgid "error: %B uses 64-bit doubles but %B uses 32-bit doubles"
+msgid "error: %pB uses 64-bit doubles but %pB uses 32-bit doubles"
 msgstr ""
 
-#: elf32-v850.c:2559
+#: elf32-v850.c:2563
 #, c-format
-msgid "error: %B uses FPU-3.0 but %B only supports FPU-2.0"
+msgid "error: %pB uses FPU-3.0 but %pB only supports FPU-2.0"
 msgstr ""
 
-#: elf32-v850.c:2591
+#: elf32-v850.c:2595
 #, c-format
 msgid " alignment of 8-byte entities: "
 msgstr ""
 
-#: elf32-v850.c:2594
+#: elf32-v850.c:2598
 #, c-format
 msgid "4-byte"
 msgstr ""
 
-#: elf32-v850.c:2595
+#: elf32-v850.c:2599
 #, c-format
 msgid "8-byte"
 msgstr ""
 
-#: elf32-v850.c:2596 elf32-v850.c:2608
+#: elf32-v850.c:2600 elf32-v850.c:2612
 #, c-format
 msgid "not set"
 msgstr ""
 
-#: elf32-v850.c:2597 elf32-v850.c:2609 elf32-v850.c:2621 elf32-v850.c:2632
-#: elf32-v850.c:2643 elf32-v850.c:2654
+#: elf32-v850.c:2601 elf32-v850.c:2613 elf32-v850.c:2625 elf32-v850.c:2636
+#: elf32-v850.c:2647 elf32-v850.c:2658
 #, c-format
 msgid "unknown: %x"
 msgstr ""
 
-#: elf32-v850.c:2603
+#: elf32-v850.c:2607
 #, c-format
 msgid " size of doubles: "
 msgstr ""
 
-#: elf32-v850.c:2606
+#: elf32-v850.c:2610
 #, c-format
 msgid "4-bytes"
 msgstr ""
 
-#: elf32-v850.c:2607
+#: elf32-v850.c:2611
 #, c-format
 msgid "8-bytes"
 msgstr ""
 
-#: elf32-v850.c:2615
+#: elf32-v850.c:2619
 #, c-format
 msgid " FPU support required: "
 msgstr ""
 
-#: elf32-v850.c:2618
+#: elf32-v850.c:2622
 #, c-format
 msgid "FPU-2.0"
 msgstr ""
 
-#: elf32-v850.c:2619
+#: elf32-v850.c:2623
 #, c-format
 msgid "FPU-3.0"
 msgstr ""
 
-#: elf32-v850.c:2620
+#: elf32-v850.c:2624
 #, c-format
 msgid "none"
 msgstr ""
 
-#: elf32-v850.c:2627
+#: elf32-v850.c:2631
 #, c-format
 msgid "SIMD use: "
 msgstr ""
 
-#: elf32-v850.c:2630 elf32-v850.c:2641 elf32-v850.c:2652
+#: elf32-v850.c:2634 elf32-v850.c:2645 elf32-v850.c:2656
 #, c-format
 msgid "yes"
 msgstr ""
 
-#: elf32-v850.c:2631 elf32-v850.c:2642 elf32-v850.c:2653
+#: elf32-v850.c:2635 elf32-v850.c:2646 elf32-v850.c:2657
 #, c-format
 msgid "no"
 msgstr ""
 
-#: elf32-v850.c:2638
+#: elf32-v850.c:2642
 #, c-format
 msgid "CACHE use: "
 msgstr ""
 
-#: elf32-v850.c:2649
+#: elf32-v850.c:2653
 #, c-format
 msgid "MMU use: "
 msgstr ""
 
-#: elf32-v850.c:2816 elf32-v850.c:2872
-msgid "%B: Architecture mismatch with previous modules"
+#: elf32-v850.c:2820 elf32-v850.c:2876
+#, c-format
+msgid "%pB: architecture mismatch with previous modules"
 msgstr ""
 
 #. xgettext:c-format.
-#: elf32-v850.c:2890
+#: elf32-v850.c:2894
 #, c-format
 msgid "private flags = %lx: "
 msgstr ""
 
-#: elf32-v850.c:2895
+#: elf32-v850.c:2899
 #, c-format
 msgid "unknown v850 architecture"
 msgstr ""
 
-#: elf32-v850.c:2897
+#: elf32-v850.c:2901
 #, c-format
 msgid "v850 E3 architecture"
 msgstr ""
 
-#: elf32-v850.c:2899 elf32-v850.c:2906
+#: elf32-v850.c:2903 elf32-v850.c:2910
 #, c-format
 msgid "v850 architecture"
 msgstr ""
 
-#: elf32-v850.c:2907
+#: elf32-v850.c:2911
 #, c-format
 msgid "v850e architecture"
 msgstr ""
 
-#: elf32-v850.c:2908
+#: elf32-v850.c:2912
 #, c-format
 msgid "v850e1 architecture"
 msgstr ""
 
-#: elf32-v850.c:2909
+#: elf32-v850.c:2913
 #, c-format
 msgid "v850e2 architecture"
 msgstr ""
 
-#: elf32-v850.c:2910
+#: elf32-v850.c:2914
 #, c-format
 msgid "v850e2v3 architecture"
 msgstr ""
 
-#: elf32-v850.c:2911
+#: elf32-v850.c:2915
 #, c-format
 msgid "v850e3v5 architecture"
 msgstr ""
 
-#: elf32-v850.c:3605
-#, c-format
-msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insns"
-msgstr ""
-
-#: elf32-v850.c:3615
-#, c-format
-msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insn %#x"
-msgstr ""
-
-#: elf32-v850.c:3660
-#, c-format
-msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc"
-msgstr ""
-
-#: elf32-v850.c:3700
-#, c-format
-msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc %#Lx"
-msgstr ""
-
-#: elf32-v850.c:3843
+#: elf32-v850.c:3609 elf32-v850.c:3848
 #, c-format
-msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insns"
+msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized insns"
 msgstr ""
 
-#: elf32-v850.c:3853
+#: elf32-v850.c:3619 elf32-v850.c:3858
 #, c-format
-msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insn %#x"
+msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized insn %#x"
 msgstr ""
 
-#: elf32-v850.c:3887
+#: elf32-v850.c:3665 elf32-v850.c:3893
 #, c-format
-msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized reloc"
+msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized reloc"
 msgstr ""
 
-#: elf32-vax.c:290
+#: elf32-v850.c:3705
 #, c-format
-msgid "%B: unrecognised VAX reloc number: %d"
+msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized reloc %#<PRIx64>"
 msgstr ""
 
-#: elf32-vax.c:539
+#: elf32-vax.c:540
 #, c-format
 msgid " [nonpic]"
 msgstr ""
 
-#: elf32-vax.c:542
+#: elf32-vax.c:543
 #, c-format
 msgid " [d-float]"
 msgstr ""
 
-#: elf32-vax.c:545
+#: elf32-vax.c:546
 #, c-format
 msgid " [g-float]"
 msgstr ""
 
-#: elf32-vax.c:635
+#: elf32-vax.c:632
 #, c-format
 msgid ""
-"%B: warning: GOT addend of %Ld to `%s' does not match previous GOT addend of "
-"%Ld"
-msgstr ""
-
-#: elf32-vax.c:1511
-#, c-format
-msgid "%B: warning: PLT addend of %Ld to `%s' from %A section ignored"
-msgstr ""
-
-#: elf32-vax.c:1636
-#, c-format
-msgid "%B: warning: %s relocation against symbol `%s' from %A section"
+"%pB: warning: GOT addend of %<PRId64> to `%s' does not match previous GOT "
+"addend of %<PRId64>"
 msgstr ""
 
-#: elf32-vax.c:1643
+#: elf32-vax.c:1446
 #, c-format
-msgid "%B: warning: %s relocation to %#Lx from %A section"
+msgid "%pB: warning: PLT addend of %<PRId64> to `%s' from %pA section ignored"
 msgstr ""
 
-#: elf32-visium.c:481
+#: elf32-vax.c:1572
 #, c-format
-msgid "%B: invalid Visium reloc number: %d"
+msgid "%pB: warning: %s relocation against symbol `%s' from %pA section"
 msgstr ""
 
-#: elf32-visium.c:817
+#: elf32-vax.c:1579
 #, c-format
-msgid "%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s"
+msgid "%pB: warning: %s relocation to %#<PRIx64> from %pA section"
 msgstr ""
 
-#: elf32-xgate.c:428
+#: elf32-visium.c:821
 #, c-format
-msgid "%B: invalid XGate reloc number: %d"
+msgid ""
+"%pB: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s"
 msgstr ""
 
-#: elf32-xgate.c:681
+#: elf32-xgate.c:684
 #, c-format
 msgid "cpu=XGATE]"
 msgstr ""
 
-#: elf32-xgate.c:683
+#: elf32-xgate.c:686
 #, c-format
 msgid "error reading cpu type from elf private data"
 msgstr ""
 
-#: elf32-xstormy16.c:453 elf64-ia64-vms.c:2074 elf32-ia64.c:2334
-#: elf64-ia64.c:2334
+#: elf32-xstormy16.c:457 elf64-ia64-vms.c:2085 elf32-ia64.c:2354
+#: elf64-ia64.c:2354
 msgid "non-zero addend in @fptr reloc"
 msgstr ""
 
-#: elf32-xtensa.c:485
-#, c-format
-msgid "%B: invalid XTENSA reloc number: %d"
-msgstr ""
-
-#: elf32-xtensa.c:926
+#: elf32-xtensa.c:937
 #, c-format
-msgid "%B(%A): invalid property table"
+msgid "%pB(%pA): invalid property table"
 msgstr ""
 
-#: elf32-xtensa.c:2790
+#: elf32-xtensa.c:2666
 #, c-format
-msgid "%B(%A+%#Lx): relocation offset out of range (size=%#Lx)"
+msgid "%pB(%pA+%#<PRIx64>): relocation offset out of range (size=%#<PRIx64>)"
 msgstr ""
 
-#: elf32-xtensa.c:2871 elf32-xtensa.c:2990
+#: elf32-xtensa.c:2749 elf32-xtensa.c:2868
 msgid "dynamic relocation in read-only section"
 msgstr ""
 
-#: elf32-xtensa.c:2967
+#: elf32-xtensa.c:2845
 msgid "TLS relocation invalid without dynamic sections"
 msgstr ""
 
-#: elf32-xtensa.c:3178
+#: elf32-xtensa.c:3057
 msgid "internal inconsistency in size of .got.loc section"
 msgstr ""
 
-#: elf32-xtensa.c:3485
+#: elf32-xtensa.c:3364
 #, c-format
-msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x"
+msgid "%pB: incompatible machine type; output is 0x%x; input is 0x%x"
 msgstr ""
 
-#: elf32-xtensa.c:4716 elf32-xtensa.c:4724
-msgid "Attempt to convert L32R/CALLX to CALL failed"
+#: elf32-xtensa.c:4595 elf32-xtensa.c:4603
+msgid "attempt to convert L32R/CALLX to CALL failed"
 msgstr ""
 
-#: elf32-xtensa.c:6552 elf32-xtensa.c:6630 elf32-xtensa.c:8006
+#: elf32-xtensa.c:6431 elf32-xtensa.c:6510 elf32-xtensa.c:7886
 #, c-format
 msgid ""
-"%B(%A+%#Lx): could not decode instruction; possible configuration mismatch"
+"%pB(%pA+%#<PRIx64>): could not decode instruction; possible configuration "
+"mismatch"
 msgstr ""
 
-#: elf32-xtensa.c:7745
+#: elf32-xtensa.c:7625
 #, c-format
 msgid ""
-"%B(%A+%#Lx): could not decode instruction for XTENSA_ASM_SIMPLIFY "
+"%pB(%pA+%#<PRIx64>): could not decode instruction for XTENSA_ASM_SIMPLIFY "
 "relocation; possible configuration mismatch"
 msgstr ""
 
-#: elf32-xtensa.c:9590
+#: elf32-xtensa.c:9480
 msgid "invalid relocation address"
 msgstr ""
 
-#: elf32-xtensa.c:9640
+#: elf32-xtensa.c:9530
 msgid "overflow after relaxation"
 msgstr ""
 
-#: elf32-xtensa.c:10784
+#: elf32-xtensa.c:10674
 #, c-format
-msgid "%B(%A+%#Lx): unexpected fix for %s relocation"
+msgid "%pB(%pA+%#<PRIx64>): unexpected fix for %s relocation"
 msgstr ""
 
 #: elf64-alpha.c:472
 msgid "GPDISP relocation did not find ldah and lda instructions"
 msgstr ""
 
-#: elf64-alpha.c:1112
+#: elf64-alpha.c:2463
 #, c-format
-msgid "%B: unrecognised Alpha reloc number: %d"
+msgid "%pB: .got subsegment exceeds 64K (size %d)"
 msgstr ""
 
-#: elf64-alpha.c:2529
+#: elf64-alpha.c:3018 elf64-alpha.c:3214
 #, c-format
-msgid "%B: .got subsegment exceeds 64K (size %d)"
+msgid "%pB: %pA+%#<PRIx64>: warning: %s relocation against unexpected insn"
 msgstr ""
 
-#: elf64-alpha.c:3084
+#: elf64-alpha.c:4415 elf64-alpha.c:4428
 #, c-format
-msgid "%B: %A+%#Lx: warning: %s relocation against unexpected insn"
+msgid "%pB: gp-relative relocation against dynamic symbol %s"
 msgstr ""
 
-#: elf64-alpha.c:3279
+#: elf64-alpha.c:4455 elf64-alpha.c:4599
 #, c-format
-msgid "%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn"
+msgid "%pB: pc-relative relocation against dynamic symbol %s"
 msgstr ""
 
-#: elf64-alpha.c:4479 elf64-alpha.c:4492
+#: elf64-alpha.c:4484
 #, c-format
-msgid "%B: gp-relative relocation against dynamic symbol %s"
+msgid "%pB: change in gp: BRSGP %s"
 msgstr ""
 
-#: elf64-alpha.c:4519 elf64-alpha.c:4663
-#, c-format
-msgid "%B: pc-relative relocation against dynamic symbol %s"
+#: elf64-alpha.c:4509 mach-o.c:615
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:476
+msgid "<unknown>"
 msgstr ""
 
-#: elf64-alpha.c:4548
+#: elf64-alpha.c:4515
 #, c-format
-msgid "%B: change in gp: BRSGP %s"
+msgid "%pB: !samegp reloc against symbol without .prologue: %s"
 msgstr ""
 
 #: elf64-alpha.c:4573
-msgid "<unknown>"
-msgstr ""
-
-#: elf64-alpha.c:4579
 #, c-format
-msgid "%B: !samegp reloc against symbol without .prologue: %s"
+msgid "%pB: unhandled dynamic relocation against %s"
 msgstr ""
 
-#: elf64-alpha.c:4637
+#: elf64-alpha.c:4608
 #, c-format
-msgid "%B: unhandled dynamic relocation against %s"
+msgid "%pB: pc-relative relocation against undefined weak symbol %s"
 msgstr ""
 
-#: elf64-alpha.c:4672
+#: elf64-alpha.c:4674
 #, c-format
-msgid "%B: pc-relative relocation against undefined weak symbol %s"
+msgid "%pB: dtp-relative relocation against dynamic symbol %s"
 msgstr ""
 
-#: elf64-alpha.c:4738
+#: elf64-alpha.c:4699
 #, c-format
-msgid "%B: dtp-relative relocation against dynamic symbol %s"
+msgid "%pB: tp-relative relocation against dynamic symbol %s"
 msgstr ""
 
-#: elf64-alpha.c:4763
+#: elf64-gen.c:71
 #, c-format
-msgid "%B: tp-relative relocation against dynamic symbol %s"
+msgid "%pB: Relocations in generic ELF (EM: %d)"
 msgstr ""
 
-#: elf64-hppa.c:2082
+#: elf64-hppa.c:2081
 #, c-format
-msgid "stub entry for %s cannot load .plt, dp offset = %Ld"
+msgid "stub entry for %s cannot load .plt, dp offset = %<PRId64>"
 msgstr ""
 
-#: elf64-hppa.c:3287
+#: elf64-hppa.c:3286
 #, c-format
-msgid "%B(%A+%#Lx): cannot reach %s"
+msgid "%pB(%pA+%#<PRIx64>): cannot reach %s"
 msgstr ""
 
-#: elf64-ia64-vms.c:587 elf32-ia64.c:620 elf64-ia64.c:620
+#: elf64-ia64-vms.c:598 elf32-ia64.c:637 elf64-ia64.c:637
 #, c-format
 msgid ""
-"%B: Can't relax br at %#Lx in section `%A'. Please use brl or indirect "
-"branch."
+"%pB: can't relax br at %#<PRIx64> in section `%pA'; please use brl or "
+"indirect branch"
 msgstr ""
 
-#: elf64-ia64-vms.c:2029 elf32-ia64.c:2282 elf64-ia64.c:2282
+#: elf64-ia64-vms.c:2040 elf32-ia64.c:2302 elf64-ia64.c:2302
 msgid "@pltoff reloc against local symbol"
 msgstr ""
 
-#: elf64-ia64-vms.c:3282 elf32-ia64.c:3688 elf64-ia64.c:3688
+#: elf64-ia64-vms.c:3292 elf32-ia64.c:3713 elf64-ia64.c:3713
 #, c-format
-msgid "%B: short data segment overflowed (%#Lx >= 0x400000)"
+msgid "%pB: short data segment overflowed (%#<PRIx64> >= 0x400000)"
 msgstr ""
 
-#: elf64-ia64-vms.c:3292 elf32-ia64.c:3698 elf64-ia64.c:3698
-msgid "%B: __gp does not cover short data segment"
+#: elf64-ia64-vms.c:3302 elf32-ia64.c:3723 elf64-ia64.c:3723
+#, c-format
+msgid "%pB: __gp does not cover short data segment"
 msgstr ""
 
-#: elf64-ia64-vms.c:3558 elf32-ia64.c:3965 elf64-ia64.c:3965
+#: elf64-ia64-vms.c:3572 elf32-ia64.c:3997 elf64-ia64.c:3997
 #, c-format
-msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
+msgid "%pB: non-pic code with imm relocation against dynamic symbol `%s'"
 msgstr ""
 
-#: elf64-ia64-vms.c:3622 elf32-ia64.c:4033 elf64-ia64.c:4033
+#: elf64-ia64-vms.c:3636 elf32-ia64.c:4065 elf64-ia64.c:4065
 #, c-format
-msgid "%B: @gprel relocation against dynamic symbol %s"
+msgid "%pB: @gprel relocation against dynamic symbol %s"
 msgstr ""
 
-#: elf64-ia64-vms.c:3681 elf32-ia64.c:4096 elf64-ia64.c:4096
-msgid "%B: linking non-pic code in a position independent executable"
+#: elf64-ia64-vms.c:3695 elf32-ia64.c:4128 elf64-ia64.c:4128
+#, c-format
+msgid "%pB: linking non-pic code in a position independent executable"
 msgstr ""
 
-#: elf64-ia64-vms.c:3783 elf32-ia64.c:4234 elf64-ia64.c:4234
+#: elf64-ia64-vms.c:3797 elf32-ia64.c:4266 elf64-ia64.c:4266
 #, c-format
-msgid "%B: @internal branch to dynamic symbol %s"
+msgid "%pB: @internal branch to dynamic symbol %s"
 msgstr ""
 
-#: elf64-ia64-vms.c:3786 elf32-ia64.c:4237 elf64-ia64.c:4237
+#: elf64-ia64-vms.c:3800 elf32-ia64.c:4269 elf64-ia64.c:4269
 #, c-format
-msgid "%B: speculation fixup to dynamic symbol %s"
+msgid "%pB: speculation fixup to dynamic symbol %s"
 msgstr ""
 
-#: elf64-ia64-vms.c:3789 elf32-ia64.c:4240 elf64-ia64.c:4240
+#: elf64-ia64-vms.c:3803 elf32-ia64.c:4272 elf64-ia64.c:4272
 #, c-format
-msgid "%B: @pcrel relocation against dynamic symbol %s"
+msgid "%pB: @pcrel relocation against dynamic symbol %s"
 msgstr ""
 
-#: elf64-ia64-vms.c:3913 elf32-ia64.c:4437 elf64-ia64.c:4437
+#: elf64-ia64-vms.c:3927 elf32-ia64.c:4469 elf64-ia64.c:4469
 msgid "unsupported reloc"
 msgstr ""
 
-#: elf64-ia64-vms.c:3950 elf32-ia64.c:4475 elf64-ia64.c:4475
+#: elf64-ia64-vms.c:3964 elf32-ia64.c:4507 elf64-ia64.c:4507
 #, c-format
 msgid ""
-"%B: missing TLS section for relocation %s against `%s' at %#Lx in section `"
-"%A'."
+"%pB: missing TLS section for relocation %s against `%s' at %#<PRIx64> in "
+"section `%pA'."
 msgstr ""
 
-#: elf64-ia64-vms.c:3967 elf32-ia64.c:4492 elf64-ia64.c:4492
+#: elf64-ia64-vms.c:3981 elf32-ia64.c:4524 elf64-ia64.c:4524
 #, c-format
 msgid ""
-"%B: Can't relax br (%s) to `%s' at %#Lx in section `%A' with size %#Lx (> "
-"0x1000000)."
+"%pB: Can't relax br (%s) to `%s' at %#<PRIx64> in section `%pA' with size "
+"%#<PRIx64> (> 0x1000000)."
 msgstr ""
 
-#: elf64-ia64-vms.c:4258 elf32-ia64.c:4749 elf64-ia64.c:4749
-msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
+#: elf64-ia64-vms.c:4273 elf32-ia64.c:4782 elf64-ia64.c:4782
+#, c-format
+msgid "%pB: linking trap-on-NULL-dereference with non-trapping files"
 msgstr ""
 
-#: elf64-ia64-vms.c:4267 elf32-ia64.c:4758 elf64-ia64.c:4758
-msgid "%B: linking big-endian files with little-endian files"
+#: elf64-ia64-vms.c:4282 elf32-ia64.c:4791 elf64-ia64.c:4791
+#, c-format
+msgid "%pB: linking big-endian files with little-endian files"
 msgstr ""
 
-#: elf64-ia64-vms.c:4276 elf32-ia64.c:4767 elf64-ia64.c:4767
-msgid "%B: linking 64-bit files with 32-bit files"
+#: elf64-ia64-vms.c:4291 elf32-ia64.c:4800 elf64-ia64.c:4800
+#, c-format
+msgid "%pB: linking 64-bit files with 32-bit files"
 msgstr ""
 
-#: elf64-ia64-vms.c:4285 elf32-ia64.c:4776 elf64-ia64.c:4776
-msgid "%B: linking constant-gp files with non-constant-gp files"
+#: elf64-ia64-vms.c:4300 elf32-ia64.c:4809 elf64-ia64.c:4809
+#, c-format
+msgid "%pB: linking constant-gp files with non-constant-gp files"
 msgstr ""
 
-#: elf64-ia64-vms.c:4295 elf32-ia64.c:4786 elf64-ia64.c:4786
-msgid "%B: linking auto-pic files with non-auto-pic files"
+#: elf64-ia64-vms.c:4310 elf32-ia64.c:4819 elf64-ia64.c:4819
+#, c-format
+msgid "%pB: linking auto-pic files with non-auto-pic files"
 msgstr ""
 
-#: elf64-ia64-vms.c:5138 elflink.c:4736
+#: elf64-ia64-vms.c:5153 elflink.c:4875
 #, c-format
 msgid ""
-"Warning: alignment %u of common symbol `%s' in %B is greater than the "
-"alignment (%u) of its section %A"
+"warning: alignment %u of common symbol `%s' in %pB is greater than the "
+"alignment (%u) of its section %pA"
 msgstr ""
 
-#: elf64-ia64-vms.c:5145 elflink.c:4743
+#: elf64-ia64-vms.c:5160 elflink.c:4882
 #, c-format
-msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
+msgid "warning: alignment %u of symbol `%s' in %pB is smaller than %u in %pB"
 msgstr ""
 
-#: elf64-ia64-vms.c:5161 elflink.c:4760
+#: elf64-ia64-vms.c:5176 elflink.c:4899
 #, c-format
-msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B"
+msgid ""
+"warning: size of symbol `%s' changed from %<PRIu64> in %pB to %<PRIu64> in "
+"%pB"
 msgstr ""
 
-#: elf64-mips.c:3615 elfn32-mips.c:3439
+#: elf64-mips.c:3763
 #, c-format
-msgid "unrecognised MIPS reloc number: %d"
+msgid "%pB(%pA): relocation %<PRIu64> has invalid symbol index %ld"
 msgstr ""
 
 #: elf64-mmix.c:984
 msgid ""
-"invalid input relocation when producing non-ELF, non-mmo format output.\n"
-" Please use the objcopy program to convert from ELF or mmo,\n"
-" or assemble using \"-no-expand\" (for gcc, \"-Wa,-no-expand\""
+"invalid input relocation when producing non-ELF, non-mmo format output; "
+"please use the objcopy program to convert from ELF or mmo, or assemble using "
+"\"-no-expand\" (for gcc, \"-Wa,-no-expand\""
 msgstr ""
 
 #: elf64-mmix.c:1168
 msgid ""
-"invalid input relocation when producing non-ELF, non-mmo format output.\n"
-" Please use the objcopy program to convert from ELF or mmo,\n"
-" or compile using the gcc-option \"-mno-base-addresses\"."
+"invalid input relocation when producing non-ELF, non-mmo format output; "
+"please use the objcopy program to convert from ELF or mmo, or compile using "
+"the gcc-option \"-mno-base-addresses\"."
 msgstr ""
 
 #: elf64-mmix.c:1195
 #, c-format
 msgid ""
-"%B: Internal inconsistency error for value for\n"
-" linker-allocated global register: linked: %#Lx != relaxed: %#Lx"
-msgstr ""
-
-#: elf64-mmix.c:1264
-#, c-format
-msgid "%B: invalid MMIX reloc number: %d"
+"%pB: Internal inconsistency error for value for\n"
+" linker-allocated global register: linked: %#<PRIx64> != relaxed: %#<PRIx64>"
 msgstr ""
 
-#: elf64-mmix.c:1616
+#: elf64-mmix.c:1619
 #, c-format
 msgid ""
-"%B: base-plus-offset relocation against register symbol: (unknown) in %A"
+"%pB: base-plus-offset relocation against register symbol: (unknown) in %pA"
 msgstr ""
 
-#: elf64-mmix.c:1622
+#: elf64-mmix.c:1625
 #, c-format
-msgid "%B: base-plus-offset relocation against register symbol: %s in %A"
+msgid "%pB: base-plus-offset relocation against register symbol: %s in %pA"
 msgstr ""
 
-#: elf64-mmix.c:1667
+#: elf64-mmix.c:1670
 #, c-format
-msgid "%B: register relocation against non-register symbol: (unknown) in %A"
+msgid "%pB: register relocation against non-register symbol: (unknown) in %pA"
 msgstr ""
 
-#: elf64-mmix.c:1673
+#: elf64-mmix.c:1676
 #, c-format
-msgid "%B: register relocation against non-register symbol: %s in %A"
+msgid "%pB: register relocation against non-register symbol: %s in %pA"
 msgstr ""
 
-#: elf64-mmix.c:1710
-msgid "%B: directive LOCAL valid only with a register or absolute value"
+#: elf64-mmix.c:1713
+#, c-format
+msgid "%pB: directive LOCAL valid only with a register or absolute value"
 msgstr ""
 
-#: elf64-mmix.c:1741
+#: elf64-mmix.c:1744
 #, c-format
 msgid ""
-"%B: LOCAL directive: Register $%Ld is not a local register.  First global "
-"register is $%Ld."
+"%pB: LOCAL directive: register $%<PRId64> is not a local register; first "
+"global register is $%<PRId64>"
 msgstr ""
 
-#: elf64-mmix.c:2200
+#: elf64-mmix.c:2173
 #, c-format
 msgid ""
-"%B: Error: multiple definition of `%s'; start of %s is set in a earlier "
-"linked file\n"
+"%pB: error: multiple definition of `%s'; start of %s is set in a earlier "
+"linked file"
 msgstr ""
 
-#: elf64-mmix.c:2255
-msgid "Register section has contents\n"
+#: elf64-mmix.c:2228
+msgid "register section has contents\n"
 msgstr ""
 
-#: elf64-mmix.c:2445
+#: elf64-mmix.c:2418
 #, c-format
 msgid ""
-"Internal inconsistency: remaining %lu != max %lu.\n"
-"  Please report this bug."
+"internal inconsistency: remaining %lu != max %lu; please report this bug"
 msgstr ""
 
-#: elf64-ppc.c:4632
+#: elf64-ppc.c:5082
 #, c-format
-msgid "%P: %B: cannot create stub entry %s\n"
-msgstr ""
-
-#: elf64-ppc.c:5000
-msgid "%P: symbol '%s' has invalid st_other for ABI version 1\n"
+msgid "symbol '%s' has invalid st_other for ABI version 1"
 msgstr ""
 
-#: elf64-ppc.c:5172
+#: elf64-ppc.c:5257
 #, c-format
-msgid "%P: %B .opd not allowed in ABI version %d\n"
+msgid "%pB .opd not allowed in ABI version %d"
 msgstr ""
 
-#: elf64-ppc.c:5648
+#: elf64-ppc.c:5771
 #, c-format
-msgid "%H: %s reloc unsupported in shared libraries and PIEs.\n"
+msgid "%H: %s reloc unsupported in shared libraries and PIEs\n"
 msgstr ""
 
-#: elf64-ppc.c:6055
+#: elf64-ppc.c:6166
 #, c-format
-msgid "%B uses unknown e_flags 0x%lx"
+msgid "%pB uses unknown e_flags 0x%lx"
 msgstr ""
 
-#: elf64-ppc.c:6063
+#: elf64-ppc.c:6174
 #, c-format
-msgid "%B: ABI version %ld is not compatible with ABI version %ld output"
+msgid "%pB: ABI version %ld is not compatible with ABI version %ld output"
 msgstr ""
 
-#: elf64-ppc.c:6091
+#: elf64-ppc.c:6202
 #, c-format
 msgid " [abiv%ld]"
 msgstr ""
 
-#: elf64-ppc.c:7423
+#: elf64-ppc.c:7390
 msgid ""
-"%P: copy reloc against `%T' requires lazy plt linking; avoid setting "
+"%P: copy reloc against `%pT' requires lazy plt linking; avoid setting "
 "LD_BIND_NOW=1 or upgrade gcc\n"
 msgstr ""
 
-#: elf64-ppc.c:7690
-msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
+#: elf64-ppc.c:7659
+#, c-format
+msgid "%pB: undefined symbol on R_PPC64_TOCSAVE relocation"
 msgstr ""
 
-#: elf64-ppc.c:7920
+#: elf64-ppc.c:7886
 #, c-format
-msgid "%P: dynreloc miscount for %B, section %A\n"
+msgid "dynreloc miscount for %pB, section %pA"
 msgstr ""
 
-#: elf64-ppc.c:8009
-msgid "%B: .opd is not a regular array of opd entries"
+#: elf64-ppc.c:7975
+#, c-format
+msgid "%pB: .opd is not a regular array of opd entries"
 msgstr ""
 
-#: elf64-ppc.c:8019
+#: elf64-ppc.c:7985
 #, c-format
-msgid "%B: unexpected reloc type %u in .opd section"
+msgid "%pB: unexpected reloc type %u in .opd section"
 msgstr ""
 
-#: elf64-ppc.c:8041
+#: elf64-ppc.c:8007
 #, c-format
-msgid "%B: undefined sym `%s' in .opd section"
+msgid "%pB: undefined sym `%s' in .opd section"
 msgstr ""
 
-#: elf64-ppc.c:8379
+#: elf64-ppc.c:8491
 msgid ""
-"%P: warning: --plt-localentry is especially dangerous without ld.so support "
-"to detect ABI violations.\n"
+"warning: --plt-localentry is especially dangerous without ld.so support to "
+"detect ABI violations"
 msgstr ""
 
-#: elf64-ppc.c:8628
+#: elf64-ppc.c:8740
 msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
 msgstr ""
 
-#: elf64-ppc.c:8971 elf64-ppc.c:9608
+#: elf64-ppc.c:9115 elf64-ppc.c:9752
 #, c-format
 msgid "%s defined on removed toc entry"
 msgstr ""
 
-#: elf64-ppc.c:9336
+#: elf64-ppc.c:9480
 #, c-format
-msgid "%H: toc optimization is not supported for %s instruction.\n"
+msgid "%H: toc optimization is not supported for %s instruction\n"
 msgstr ""
 
-#: elf64-ppc.c:9565
+#: elf64-ppc.c:9709
 #, c-format
 msgid "%H: %s references optimized away TOC entry\n"
 msgstr ""
 
-#: elf64-ppc.c:10906
-msgid "%P: cannot find opd entry toc for `%T'\n"
+#: elf64-ppc.c:10540
+#, c-format
+msgid "warning: discarding dynamic section %s"
 msgstr ""
 
-#: elf64-ppc.c:10997
-msgid "%P: long branch stub `%s' offset overflow\n"
+#: elf64-ppc.c:11127
+msgid "%P: cannot find opd entry toc for `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:11056
-msgid "%P: can't find branch stub `%s'\n"
+#: elf64-ppc.c:11215
+#, c-format
+msgid "long branch stub `%s' offset overflow"
 msgstr ""
 
-#: elf64-ppc.c:11120 elf64-ppc.c:11272 elf64-ppc.c:13134
+#: elf64-ppc.c:11274
 #, c-format
-msgid "%P: linkage table error against `%T'\n"
+msgid "can't find branch stub `%s'"
 msgstr ""
 
-#: elf64-ppc.c:11491
-msgid "%P: can't build branch stub `%s'\n"
+#: elf64-ppc.c:11338 elf64-ppc.c:11466 elf64-ppc.c:13435
+#, c-format
+msgid "%P: linkage table error against `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:12264
+#: elf64-ppc.c:11689
 #, c-format
-msgid "%B section %A exceeds stub group size"
+msgid "can't build branch stub `%s'"
 msgstr ""
 
-#: elf64-ppc.c:13407
-msgid "%P: stubs don't match calculated size\n"
+#: elf64-ppc.c:12465
+#, c-format
+msgid "%pB section %pA exceeds stub group size"
 msgstr ""
 
-#: elf64-ppc.c:13419
+#: elf64-ppc.c:13833
+#, c-format
+msgid "linker stubs in %u group\n"
+msgid_plural "linker stubs in %u groups\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: elf64-ppc.c:13837
 #, c-format
 msgid ""
-"linker stubs in %u group%s\n"
 "  branch       %lu\n"
 "  toc adjust   %lu\n"
 "  long branch  %lu\n"
@@ -4597,1251 +4247,1358 @@ msgid ""
 "  global entry %lu"
 msgstr ""
 
-#: elf64-ppc.c:13741
+#: elf64-ppc.c:14156
 #, c-format
-msgid "%H: %s used with TLS symbol `%T'\n"
+msgid "%H: %s used with TLS symbol `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:13743
+#: elf64-ppc.c:14158
 #, c-format
-msgid "%H: %s used with non-TLS symbol `%T'\n"
+msgid "%H: %s used with non-TLS symbol `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:14382
+#: elf64-ppc.c:14802
 #, c-format
-msgid "%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC\n"
+msgid "%H: call to `%pT' lacks nop, can't restore toc; recompile with -fPIC\n"
 msgstr ""
 
-#: elf64-ppc.c:14388
+#: elf64-ppc.c:14808
 #, c-format
 msgid ""
-"%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust "
+"%H: call to `%pT' lacks nop, can't restore toc; (-mcmodel=small toc adjust "
 "stub)\n"
 msgstr ""
 
-#: elf64-ppc.c:14516
-#, c-format
-msgid "%P: %B: unknown relocation type %d for `%T'\n"
-msgstr ""
-
-#: elf64-ppc.c:15064
+#: elf64-ppc.c:15503
 #, c-format
-msgid "%H: %s for indirect function `%T' unsupported\n"
+msgid "%H: %s for indirect function `%pT' unsupported\n"
 msgstr ""
 
-#: elf64-ppc.c:15176
+#: elf64-ppc.c:15615
 #, c-format
-msgid "%P: %B: %s is not supported for `%T'\n"
+msgid "%P: %pB: %s is not supported for `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:15331
+#: elf64-ppc.c:15841
 #, c-format
 msgid "%H: error: %s not a multiple of %u\n"
 msgstr ""
 
-#: elf64-ppc.c:15353
+#: elf64-ppc.c:15864
 #, c-format
-msgid "%H: unresolvable %s against `%T'\n"
+msgid "%H: unresolvable %s against `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:15450
+#: elf64-ppc.c:15961
 #, c-format
-msgid "%H: %s against `%T': error %d\n"
+msgid "%H: %s against `%pT': error %d\n"
 msgstr ""
 
-#: elf64-ppc.c:15840 elf64-ppc.c:15859
-msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
+#: elf64-ppc.c:16307 elf64-ppc.c:16326
+#, c-format
+msgid "%s offset too large for .eh_frame sdata4 encoding"
 msgstr ""
 
-#: elf64-s390.c:2712
+#: elf64-s390.c:2540
+#, c-format
 msgid ""
-"%B: `%s' non-PLT reloc for symbol defined in shared library and accessed "
+"%pB: `%s' non-PLT reloc for symbol defined in shared library and accessed "
 "from executable (rebuild file with -fPIC ?)"
 msgstr ""
 
-#: elf64-sh64.c:1680
+#: elf64-sparc.c:459
 #, c-format
-msgid "%B: error: unaligned relocation type %d at %08Lx reloc %08Lx"
+msgid "%pB: only registers %%g[2367] can be declared using STT_REGISTER"
 msgstr ""
 
-#: elf64-sparc.c:460
-msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER"
-msgstr ""
-
-#: elf64-sparc.c:481
+#: elf64-sparc.c:480
 #, c-format
-msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B"
+msgid "register %%g%d used incompatibly: %s in %pB, previously %s in %pB"
 msgstr ""
 
-#: elf64-sparc.c:505
+#: elf64-sparc.c:504
 #, c-format
-msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B"
+msgid "symbol `%s' has differing types: REGISTER in %pB, previously %s in %pB"
 msgstr ""
 
-#: elf64-sparc.c:552
+#: elf64-sparc.c:551
 #, c-format
-msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B"
+msgid "Symbol `%s' has differing types: %s in %pB, previously REGISTER in %pB"
 msgstr ""
 
-#: elf64-sparc.c:707
-msgid "%B: linking UltraSPARC specific with HAL specific code"
+#: elf64-sparc.c:706
+#, c-format
+msgid "%pB: linking UltraSPARC specific with HAL specific code"
 msgstr ""
 
-#: elf64-x86-64.c:1900
+#: elf64-x86-64.c:1412
 msgid "hidden symbol "
 msgstr ""
 
-#: elf64-x86-64.c:1903
+#: elf64-x86-64.c:1415
 msgid "internal symbol "
 msgstr ""
 
-#: elf64-x86-64.c:1906
+#: elf64-x86-64.c:1418 elf64-x86-64.c:1422
 msgid "protected symbol "
 msgstr ""
 
-#: elf64-x86-64.c:1909
-msgid "symbol "
+#: elf64-x86-64.c:1424
+msgid "symbol "
+msgstr ""
+
+#: elf64-x86-64.c:1425 elf64-x86-64.c:1435
+msgid "; recompile with -fPIC"
+msgstr ""
+
+#: elf64-x86-64.c:1430
+msgid "undefined "
+msgstr ""
+
+#: elf64-x86-64.c:1439
+msgid "a shared object"
 msgstr ""
 
-#: elf64-x86-64.c:1910 elf64-x86-64.c:1920
-msgid "; recompile with -fPIC"
+#: elf64-x86-64.c:1441
+msgid "a PIE object"
 msgstr ""
 
-#: elf64-x86-64.c:1915
-msgid "undefined "
+#: elf64-x86-64.c:1443
+msgid "a PDE object"
 msgstr ""
 
-#: elf64-x86-64.c:1924
+#: elf64-x86-64.c:1446
 #, c-format
-msgid ""
-"%B: relocation %s against %s%s`%s' can not be used when making a shared "
-"object%s"
+msgid "%pB: relocation %s against %s%s`%s' can not be used when making %s%s"
 msgstr ""
 
-#: elf64-x86-64.c:2487
+#: elf64-x86-64.c:1931
 #, c-format
-msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
+msgid "%pB: relocation %s against symbol `%s' isn't supported in x32 mode"
 msgstr ""
 
-#: elf64-x86-64.c:2610
+#: elf64-x86-64.c:2073
 #, c-format
-msgid "%B: '%s' accessed both as normal and thread local symbol"
+msgid "%pB: '%s' accessed both as normal and thread local symbol"
 msgstr ""
 
-#: elf64-x86-64.c:4546 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5018
+#: elf64-x86-64.c:2693 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5299
 #, c-format
 msgid ""
-"%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %Ld"
+"%pB: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: "
+"%<PRId64>"
 msgstr ""
 
-#: elf64-x86-64.c:4801
+#: elf64-x86-64.c:2931
 #, c-format
 msgid ""
-"%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used "
+"%pB: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used "
 "when making a shared object"
 msgstr ""
 
-#: elf64-x86-64.c:4815
+#: elf64-x86-64.c:2945
 #, c-format
 msgid ""
-"%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used "
+"%pB: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used "
 "when making a shared object"
 msgstr ""
 
-#: elf64-x86-64.c:5089
+#: elf64-x86-64.c:3205
 #, c-format
 msgid ""
-"%B: addend %s%#x in relocation %s against symbol `%s' at %#Lx in section `"
-"%A' is out of range"
+"%pB: addend %s%#x in relocation %s against symbol `%s' at %#<PRIx64> in "
+"section `%pA' is out of range"
 msgstr ""
 
-#: elf64-x86-64.c:5911
-#, c-format
-msgid "%F%B: PC-relative offset overflow in PLT entry for `%s'\n"
-msgstr ""
-
-#: elf64-x86-64.c:5978
-#, c-format
-msgid "%F%B: branch displacement overflow in PLT entry for `%s'\n"
+#: elf64-x86-64.c:3882
+msgid "%F%P: failed to convert GOTPCREL relocation; relink with --no-relax\n"
 msgstr ""
 
-#: elf64-x86-64.c:6031
+#: elf64-x86-64.c:4040
 #, c-format
-msgid "%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n"
+msgid "%F%pB: PC-relative offset overflow in PLT entry for `%s'\n"
 msgstr ""
 
-#: elf64-x86-64.c:7614
+#: elf64-x86-64.c:4103
 #, c-format
-msgid "%F: failed to create BND PLT section\n"
+msgid "%F%pB: branch displacement overflow in PLT entry for `%s'\n"
 msgstr ""
 
-#: elf64-x86-64.c:7664
+#: elf64-x86-64.c:4156
 #, c-format
-msgid "%F: failed to create BND PLT .eh_frame section\n"
+msgid "%F%pB: PC-relative offset overflow in GOT PLT entry for `%s'\n"
 msgstr ""
 
 #: elfcode.h:760
-msgid "warning: %B has a corrupt string table index - ignoring"
+#, c-format
+msgid "warning: %pB has a corrupt string table index - ignoring"
 msgstr ""
 
-#: elfcode.h:1193
+#: elfcode.h:1199
 #, c-format
-msgid "%B: version count (%Ld) does not match symbol count (%ld)"
+msgid "%pB: version count (%<PRId64>) does not match symbol count (%ld)"
 msgstr ""
 
-#: elfcode.h:1448
+#: elfcode.h:1458
 #, c-format
-msgid "%B(%A): relocation %d has invalid symbol index %ld"
+msgid "%pB(%pA): relocation %d has invalid symbol index %ld"
 msgstr ""
 
 #: elfcore.h:300
 #, c-format
-msgid "warning: %B is truncated: expected core file size >= %Lu, found: %llu"
+msgid ""
+"warning: %pB is truncated: expected core file size >= %<PRIu64>, found: "
+"%<PRIu64>"
 msgstr ""
 
-#: elflink.c:1336
+#: elflink.c:1369
 #, c-format
 msgid ""
-"%s: TLS definition in %B section %A mismatches non-TLS definition in %B "
-"section %A"
+"%s: TLS definition in %pB section %pA mismatches non-TLS definition in %pB "
+"section %pA"
 msgstr ""
 
-#: elflink.c:1342
+#: elflink.c:1375
 #, c-format
-msgid "%s: TLS reference in %B mismatches non-TLS reference in %B"
+msgid "%s: TLS reference in %pB mismatches non-TLS reference in %pB"
 msgstr ""
 
-#: elflink.c:1348
+#: elflink.c:1381
 #, c-format
-msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B"
+msgid ""
+"%s: TLS definition in %pB section %pA mismatches non-TLS reference in %pB"
 msgstr ""
 
-#: elflink.c:1354
+#: elflink.c:1387
 #, c-format
-msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A"
+msgid ""
+"%s: TLS reference in %pB mismatches non-TLS definition in %pB section %pA"
 msgstr ""
 
-#: elflink.c:2015
+#: elflink.c:2068
 #, c-format
-msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
+msgid "%pB: unexpected redefinition of indirect versioned symbol `%s'"
 msgstr ""
 
-#: elflink.c:2308
+#: elflink.c:2437
 #, c-format
-msgid "%B: version node not found for symbol %s"
+msgid "%pB: version node not found for symbol %s"
 msgstr ""
 
-#: elflink.c:2397
+#: elflink.c:2526
 #, c-format
 msgid ""
-"%B: bad reloc symbol index (%#Lx >= %#lx) for offset %#Lx in section `%A'"
+"%pB: bad reloc symbol index (%#<PRIx64> >= %#lx) for offset %#<PRIx64> in "
+"section `%pA'"
 msgstr ""
 
-#: elflink.c:2409
+#: elflink.c:2538
 #, c-format
 msgid ""
-"%B: non-zero symbol index (%#Lx) for offset %#Lx in section `%A' when the "
-"object file has no symbol table"
+"%pB: non-zero symbol index (%#<PRIx64>) for offset %#<PRIx64> in section `"
+"%pA' when the object file has no symbol table"
 msgstr ""
 
-#: elflink.c:2600
+#: elflink.c:2729
 #, c-format
-msgid "%B: relocation size mismatch in %B section %A"
+msgid "%pB: relocation size mismatch in %pB section %pA"
 msgstr ""
 
-#: elflink.c:2911
+#: elflink.c:3047
 #, c-format
 msgid "warning: type and size of dynamic symbol `%s' are not defined"
 msgstr ""
 
-#: elflink.c:2976
-msgid "%P: copy reloc against protected `%T' is dangerous\n"
+#: elflink.c:3109
+msgid "%P: copy reloc against protected `%pT' is dangerous\n"
 msgstr ""
 
-#: elflink.c:3777
+#: elflink.c:3913
 #, c-format
-msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
+msgid "alternate ELF machine code found (%d) in %pB, expecting %d"
 msgstr ""
 
-#: elflink.c:4444
+#: elflink.c:4579
 #, c-format
-msgid "%B: %s: invalid version %u (max %d)"
+msgid "%pB: %s: invalid version %u (max %d)"
 msgstr ""
 
-#: elflink.c:4481
+#: elflink.c:4616
 #, c-format
-msgid "%B: %s: invalid needed version %d"
+msgid "%pB: %s: invalid needed version %d"
 msgstr ""
 
-#: elflink.c:4896
+#: elflink.c:5035
 #, c-format
-msgid "%B: undefined reference to symbol '%s'"
+msgid "%pB: undefined reference to symbol '%s'"
 msgstr ""
 
-#: elflink.c:5909
+#: elflink.c:6111
 #, c-format
-msgid "%B: stack size specified and %s set"
+msgid "%pB: stack size specified and %s set"
 msgstr ""
 
-#: elflink.c:5913
+#: elflink.c:6115
 #, c-format
-msgid "%B: %s not absolute"
+msgid "%pB: %s not absolute"
 msgstr ""
 
-#: elflink.c:6111
+#: elflink.c:6312
 #, c-format
 msgid "%s: undefined version: %s"
 msgstr ""
 
-#: elflink.c:6688
-msgid "%B: .preinit_array section is not allowed in DSO"
+#: elflink.c:6883
+#, c-format
+msgid "%pB: .preinit_array section is not allowed in DSO"
 msgstr ""
 
-#: elflink.c:8128
+#: elflink.c:8340
 #, c-format
 msgid "undefined %s reference in complex symbol: %s"
 msgstr ""
 
-#: elflink.c:8283
+#: elflink.c:8495
 #, c-format
 msgid "unknown operator '%c' in complex symbol"
 msgstr ""
 
 #. PR 21524: Let the user know if a symbol was removed by garbage collection.
-#: elflink.c:8621
+#: elflink.c:8833
+#, c-format
 msgid ""
-"%B:%A: error: relocation references symbol %s which was removed by garbage "
-"collection."
+"%pB:%pA: error: relocation references symbol %s which was removed by garbage "
+"collection"
 msgstr ""
 
-#: elflink.c:8624
-msgid "%B:%A: error: try relinking with --gc-keep-exported enabled."
+#: elflink.c:8836
+#, c-format
+msgid "%pB:%pA: error: try relinking with --gc-keep-exported enabled"
 msgstr ""
 
-#: elflink.c:8860 elflink.c:8878 elflink.c:8917 elflink.c:8935
-msgid "%B: Unable to sort relocs - they are in more than one size"
+#: elflink.c:9072 elflink.c:9090 elflink.c:9129 elflink.c:9147
+#, c-format
+msgid "%pB: unable to sort relocs - they are in more than one size"
 msgstr ""
 
 #. The section size is not divisible by either -
 #. something is wrong.
-#: elflink.c:8894 elflink.c:8951
-msgid "%B: Unable to sort relocs - they are of an unknown size"
+#: elflink.c:9106 elflink.c:9163
+#, c-format
+msgid "%pB: unable to sort relocs - they are of an unknown size"
 msgstr ""
 
-#: elflink.c:9003
-msgid "Not enough memory to sort relocations"
+#: elflink.c:9215
+msgid "not enough memory to sort relocations"
 msgstr ""
 
-#: elflink.c:9271
+#: elflink.c:9483
 #, c-format
-msgid "%B: Too many sections: %d (>= %d)"
+msgid "%pB: too many sections: %d (>= %d)"
 msgstr ""
 
-#: elflink.c:9551
+#: elflink.c:9763
 #, c-format
-msgid "%B: internal symbol `%s' in %B is referenced by DSO"
+msgid "%pB: internal symbol `%s' in %pB is referenced by DSO"
 msgstr ""
 
-#: elflink.c:9554
+#: elflink.c:9766
 #, c-format
-msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
+msgid "%pB: hidden symbol `%s' in %pB is referenced by DSO"
 msgstr ""
 
-#: elflink.c:9557
+#: elflink.c:9769
 #, c-format
-msgid "%B: local symbol `%s' in %B is referenced by DSO"
+msgid "%pB: local symbol `%s' in %pB is referenced by DSO"
 msgstr ""
 
-#: elflink.c:9643
+#: elflink.c:9855
 #, c-format
-msgid "%B: could not find output section %A for input section %A"
+msgid "%pB: could not find output section %pA for input section %pA"
 msgstr ""
 
-#: elflink.c:9797
+#: elflink.c:10009
 #, c-format
-msgid "%B: protected symbol `%s' isn't defined"
+msgid "%pB: protected symbol `%s' isn't defined"
 msgstr ""
 
-#: elflink.c:9800
+#: elflink.c:10012
 #, c-format
-msgid "%B: internal symbol `%s' isn't defined"
+msgid "%pB: internal symbol `%s' isn't defined"
 msgstr ""
 
-#: elflink.c:9803
+#: elflink.c:10015
 #, c-format
-msgid "%B: hidden symbol `%s' isn't defined"
+msgid "%pB: hidden symbol `%s' isn't defined"
 msgstr ""
 
-#: elflink.c:9834
+#: elflink.c:10046
 #, c-format
-msgid "%B: No symbol version section for versioned symbol `%s'"
+msgid "%pB: no symbol version section for versioned symbol `%s'"
 msgstr ""
 
-#: elflink.c:10441
+#: elflink.c:10656
 #, c-format
-msgid "error: %B: size of section %A is not multiple of address size"
+msgid "error: %pB: size of section %pA is not multiple of address size"
 msgstr ""
 
-#: elflink.c:10486
+#: elflink.c:10701
 #, c-format
 msgid ""
-"error: %B contains a reloc (%#Lx) for section %A that references a non-"
-"existent global symbol"
+"error: %pB contains a reloc (%#<PRIx64>) for section %pA that references a "
+"non-existent global symbol"
 msgstr ""
 
-#: elflink.c:11241
+#: elflink.c:11456
 #, c-format
-msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
+msgid ""
+"%pA has both ordered [`%pA' in %pB] and unordered [`%pA' in %pB] sections"
 msgstr ""
 
-#: elflink.c:11247
+#: elflink.c:11462
 #, c-format
-msgid "%A has both ordered and unordered sections"
+msgid "%pA has both ordered and unordered sections"
 msgstr ""
 
-#: elflink.c:11349
-msgid "%B: no symbol found for import library"
+#: elflink.c:11564
+#, c-format
+msgid "%pB: no symbol found for import library"
 msgstr ""
 
-#: elflink.c:11971
+#: elflink.c:12193
 #, c-format
-msgid "%B: file class %s incompatible with %s"
+msgid "%pB: file class %s incompatible with %s"
 msgstr ""
 
-#: elflink.c:12188
-msgid "%B: failed to generate import library"
+#: elflink.c:12410
+#, c-format
+msgid "%pB: failed to generate import library"
 msgstr ""
 
-#: elflink.c:12307
+#: elflink.c:12529
 #, c-format
 msgid "warning: %s section has zero size"
 msgstr ""
 
-#: elflink.c:12355
+#: elflink.c:12577
 #, c-format
 msgid "warning: section '%s' is being made into a note"
 msgstr ""
 
-#: elflink.c:12447
-msgid "%P%X: read-only segment has dynamic relocations.\n"
+#: elflink.c:12669
+msgid "%P%X: read-only segment has dynamic relocations\n"
 msgstr ""
 
-#: elflink.c:12450
-msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
+#: elflink.c:12672
+msgid "%P: warning: creating a DT_TEXTREL in a shared object\n"
 msgstr ""
 
-#: elflink.c:12575
+#: elflink.c:12797
 msgid "%P%X: can not read symbols: %E\n"
 msgstr ""
 
-#: elflink.c:12737
-msgid "%F%P: corrupt input: %B\n"
+#: elflink.c:12970
+msgid "%F%P: corrupt input: %pB\n"
 msgstr ""
 
-#: elflink.c:13426
+#: elflink.c:13636
 #, c-format
-msgid "%B: %A+%#Lx: No symbol found for INHERIT"
+msgid "%pB: %pA+%#<PRIx64>: no symbol found for INHERIT"
 msgstr ""
 
-#: elflink.c:13602
+#: elflink.c:13812
 #, c-format
-msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
+msgid "unrecognized INPUT_SECTION_FLAG %s\n"
 msgstr ""
 
 #: elfxx-mips.c:1444
 msgid "static procedure (no name)"
 msgstr ""
 
-#: elfxx-mips.c:5627
+#: elfxx-mips.c:5629
 msgid "MIPS16 and microMIPS functions cannot call each other"
 msgstr ""
 
-#: elfxx-mips.c:6370
-msgid "%X%H: Unsupported JALX to the same ISA mode\n"
+#: elfxx-mips.c:6377
+msgid "%X%H: unsupported JALX to the same ISA mode\n"
 msgstr ""
 
-#: elfxx-mips.c:6403
+#: elfxx-mips.c:6410
 msgid ""
-"%X%H: Unsupported jump between ISA modes; consider recompiling with "
+"%X%H: unsupported jump between ISA modes; consider recompiling with "
 "interlinking enabled\n"
 msgstr ""
 
-#: elfxx-mips.c:6444
+#: elfxx-mips.c:6455
 msgid ""
-"%X%H: Cannot convert branch between ISA modes to JALX: relocation out of "
+"%X%H: cannot convert branch between ISA modes to JALX: relocation out of "
 "range\n"
 msgstr ""
 
-#: elfxx-mips.c:6456
-msgid "%X%H: Unsupported branch between ISA modes\n"
+#: elfxx-mips.c:6467
+msgid "%X%H: unsupported branch between ISA modes\n"
+msgstr ""
+
+#: elfxx-mips.c:7111
+#, c-format
+msgid ""
+"%pB: incorrect `.reginfo' section size; expected %<PRIu64>, got %<PRIu64>"
 msgstr ""
 
-#: elfxx-mips.c:7134 elfxx-mips.c:7369
+#: elfxx-mips.c:7155 elfxx-mips.c:7390
 #, c-format
-msgid "%B: Warning: bad `%s' option size %u smaller than its header"
+msgid "%pB: warning: bad `%s' option size %u smaller than its header"
 msgstr ""
 
-#: elfxx-mips.c:8125 elfxx-mips.c:8251
+#: elfxx-mips.c:8146 elfxx-mips.c:8272
 #, c-format
-msgid "%B: Warning: cannot determine the target function for stub section `%s'"
+msgid ""
+"%pB: warning: cannot determine the target function for stub section `%s'"
 msgstr ""
 
-#: elfxx-mips.c:8383
+#: elfxx-mips.c:8404
 #, c-format
-msgid "%B: Malformed reloc detected for section %s"
+msgid "%pB: malformed reloc detected for section %s"
 msgstr ""
 
-#: elfxx-mips.c:8459
+#: elfxx-mips.c:8476
 #, c-format
-msgid "%B: GOT reloc at %#Lx not expected in executables"
+msgid "%pB: GOT reloc at %#<PRIx64> not expected in executables"
 msgstr ""
 
-#: elfxx-mips.c:8597
+#: elfxx-mips.c:8614
 #, c-format
-msgid "%B: CALL16 reloc at %#Lx not against global symbol"
+msgid "%pB: CALL16 reloc at %#<PRIx64> not against global symbol"
 msgstr ""
 
-#: elfxx-mips.c:9219
+#: elfxx-mips.c:9237
 #, c-format
 msgid "non-dynamic relocations refer to dynamic symbol %s"
 msgstr ""
 
-#: elfxx-mips.c:10139
+#: elfxx-mips.c:10164
 #, c-format
 msgid ""
-"%B: Can't find matching LO16 reloc against `%s' for %s at %#Lx in section `"
-"%A'"
+"%pB: can't find matching LO16 reloc against `%s' for %s at %#<PRIx64> in "
+"section `%pA'"
 msgstr ""
 
-#: elfxx-mips.c:10279
+#: elfxx-mips.c:10304
 msgid ""
 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
 msgstr ""
 
-#: elfxx-mips.c:10298
-msgid "Cannot convert a jump to JALX for a non-word-aligned address"
+#: elfxx-mips.c:10323
+msgid "cannot convert a jump to JALX for a non-word-aligned address"
 msgstr ""
 
-#: elfxx-mips.c:10301
-msgid "Jump to a non-word-aligned address"
+#: elfxx-mips.c:10326
+msgid "jump to a non-word-aligned address"
 msgstr ""
 
-#: elfxx-mips.c:10302
-msgid "Jump to a non-instruction-aligned address"
+#: elfxx-mips.c:10327
+msgid "jump to a non-instruction-aligned address"
 msgstr ""
 
-#: elfxx-mips.c:10305
-msgid "Cannot convert a branch to JALX for a non-word-aligned address"
+#: elfxx-mips.c:10330
+msgid "cannot convert a branch to JALX for a non-word-aligned address"
 msgstr ""
 
-#: elfxx-mips.c:10307
-msgid "Branch to a non-instruction-aligned address"
+#: elfxx-mips.c:10332
+msgid "branch to a non-instruction-aligned address"
 msgstr ""
 
-#: elfxx-mips.c:10309
+#: elfxx-mips.c:10334
 msgid "PC-relative load from unaligned address"
 msgstr ""
 
-#: elfxx-mips.c:10683 elfxx-mips.c:11251
+#: elfxx-mips.c:10612
+#, c-format
+msgid ""
+"%pB: `%pA' entry VMA of %#<PRIx64> outside the 32-bit range supported; "
+"consider using `-Ttext-segment=...'"
+msgstr ""
+
+#: elfxx-mips.c:10725 elfxx-mips.c:11298
+#, c-format
+msgid "%pB: `%pA' offset of %<PRId64> from `%pA' beyond the range of ADDIUPC"
+msgstr ""
+
+#: elfxx-mips.c:11270
 #, c-format
-msgid "%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC"
+msgid ""
+"%pB: `%pA' start VMA of %#<PRIx64> outside the 32-bit range supported; "
+"consider using `-Ttext-segment=...'"
 msgstr ""
 
-#: elfxx-mips.c:14174
+#: elfxx-mips.c:14178
 #, c-format
-msgid "%B: Unknown architecture %s"
+msgid "%pB: unknown architecture %s"
 msgstr ""
 
-#: elfxx-mips.c:14704
+#: elfxx-mips.c:14712
 #, c-format
-msgid "%B: illegal section name `%A'"
+msgid "%pB: illegal section name `%pA'"
 msgstr ""
 
-#: elfxx-mips.c:14981
-msgid "%B: warning: linking abicalls files with non-abicalls files"
+#: elfxx-mips.c:14989
+#, c-format
+msgid "%pB: warning: linking abicalls files with non-abicalls files"
 msgstr ""
 
-#: elfxx-mips.c:14998
-msgid "%B: linking 32-bit code with 64-bit code"
+#: elfxx-mips.c:15006
+#, c-format
+msgid "%pB: linking 32-bit code with 64-bit code"
 msgstr ""
 
-#: elfxx-mips.c:15030 elfxx-mips.c:15096 elfxx-mips.c:15111
+#: elfxx-mips.c:15038 elfxx-mips.c:15104 elfxx-mips.c:15119
 #, c-format
-msgid "%B: linking %s module with previous %s modules"
+msgid "%pB: linking %s module with previous %s modules"
 msgstr ""
 
-#: elfxx-mips.c:15054
+#: elfxx-mips.c:15062
 #, c-format
-msgid "%B: ABI mismatch: linking %s module with previous %s modules"
+msgid "%pB: ABI mismatch: linking %s module with previous %s modules"
 msgstr ""
 
-#: elfxx-mips.c:15079
+#: elfxx-mips.c:15087
 #, c-format
-msgid "%B: ASE mismatch: linking %s module with previous %s modules"
+msgid "%pB: ASE mismatch: linking %s module with previous %s modules"
 msgstr ""
 
-#: elfxx-mips.c:15213
+#: elfxx-mips.c:15221
+#, c-format
 msgid ""
-"Warning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown "
-"floating point ABI %d"
+"warning: %pB uses unknown floating point ABI %d (set by %pB), %pB uses "
+"unknown floating point ABI %d"
 msgstr ""
 
-#: elfxx-mips.c:15219
+#: elfxx-mips.c:15227
 #, c-format
-msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses %s"
+msgid ""
+"warning: %pB uses unknown floating point ABI %d (set by %pB), %pB uses %s"
 msgstr ""
 
-#: elfxx-mips.c:15225
+#: elfxx-mips.c:15233
 #, c-format
-msgid "Warning: %B uses %s (set by %B), %B uses unknown floating point ABI %d"
+msgid ""
+"warning: %pB uses %s (set by %pB), %pB uses unknown floating point ABI %d"
 msgstr ""
 
-#: elfxx-mips.c:15239
+#: elfxx-mips.c:15247
 #, c-format
-msgid "Warning: %B uses %s (set by %B), %B uses %s"
+msgid "warning: %pB uses %s (set by %pB), %pB uses %s"
 msgstr ""
 
-#: elfxx-mips.c:15258
+#: elfxx-mips.c:15266
 #, c-format
-msgid "Warning: %B uses %s (set by %B), %B uses unknown MSA ABI %d"
+msgid "warning: %pB uses %s (set by %pB), %pB uses unknown MSA ABI %d"
 msgstr ""
 
-#: elfxx-mips.c:15270
+#: elfxx-mips.c:15278
 #, c-format
-msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses %s"
+msgid "warning: %pB uses unknown MSA ABI %d (set by %pB), %pB uses %s"
 msgstr ""
 
-#: elfxx-mips.c:15279
+#: elfxx-mips.c:15287
 #, c-format
 msgid ""
-"Warning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %d"
+"warning: %pB uses unknown MSA ABI %d (set by %pB), %pB uses unknown MSA ABI "
+"%d"
 msgstr ""
 
-#: elfxx-mips.c:15341
-msgid "%B: endianness incompatible with that of the selected emulation"
+#: elfxx-mips.c:15349
+#, c-format
+msgid "%pB: endianness incompatible with that of the selected emulation"
 msgstr ""
 
-#: elfxx-mips.c:15355
-msgid "%B: ABI is incompatible with that of the selected emulation"
+#: elfxx-mips.c:15363
+#, c-format
+msgid "%pB: ABI is incompatible with that of the selected emulation"
 msgstr ""
 
-#: elfxx-mips.c:15407
-msgid "%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags"
+#: elfxx-mips.c:15415
+#, c-format
+msgid "%pB: warning: inconsistent ISA between e_flags and .MIPS.abiflags"
 msgstr ""
 
-#: elfxx-mips.c:15412
+#: elfxx-mips.c:15420
+#, c-format
 msgid ""
-"%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
+"%pB: warning: inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
 msgstr ""
 
-#: elfxx-mips.c:15416
-msgid "%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags"
+#: elfxx-mips.c:15424
+#, c-format
+msgid "%pB: warning: inconsistent ASEs between e_flags and .MIPS.abiflags"
 msgstr ""
 
-#: elfxx-mips.c:15423
+#: elfxx-mips.c:15431
+#, c-format
 msgid ""
-"%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags"
+"%pB: warning: inconsistent ISA extensions between e_flags and .MIPS.abiflags"
 msgstr ""
 
-#: elfxx-mips.c:15427
+#: elfxx-mips.c:15435
+#, c-format
 msgid ""
-"%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
+"%pB: warning: unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
 msgstr ""
 
-#: elfxx-mips.c:15616
+#: elfxx-mips.c:15624
 msgid "-mips32r2 -mfp64 (12 callee-saved)"
 msgstr ""
 
-#: elfxx-mips.c:15666 elfxx-mips.c:15677
+#: elfxx-mips.c:15678 elfxx-mips.c:15689
 msgid "None"
 msgstr ""
 
-#: elfxx-mips.c:15668 elfxx-mips.c:15740
+#: elfxx-mips.c:15680 elfxx-mips.c:15752
 msgid "Unknown"
 msgstr ""
 
-#: elfxx-mips.c:15751
+#: elfxx-mips.c:15763
 #, c-format
 msgid "Hard or soft float\n"
 msgstr ""
 
-#: elfxx-mips.c:15754
+#: elfxx-mips.c:15766
 #, c-format
 msgid "Hard float (double precision)\n"
 msgstr ""
 
-#: elfxx-mips.c:15757
+#: elfxx-mips.c:15769
 #, c-format
 msgid "Hard float (single precision)\n"
 msgstr ""
 
-#: elfxx-mips.c:15760
+#: elfxx-mips.c:15772
 #, c-format
 msgid "Soft float\n"
 msgstr ""
 
-#: elfxx-mips.c:15763
+#: elfxx-mips.c:15775
 #, c-format
 msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
 msgstr ""
 
-#: elfxx-mips.c:15766
+#: elfxx-mips.c:15778
 #, c-format
 msgid "Hard float (32-bit CPU, Any FPU)\n"
 msgstr ""
 
-#: elfxx-mips.c:15769
+#: elfxx-mips.c:15781
 #, c-format
 msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
 msgstr ""
 
-#: elfxx-mips.c:15772
+#: elfxx-mips.c:15784
 #, c-format
 msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
 msgstr ""
 
-#: elfxx-mips.c:15804
+#: elfxx-mips.c:15816
 #, c-format
 msgid " [abi=O32]"
 msgstr ""
 
-#: elfxx-mips.c:15806
+#: elfxx-mips.c:15818
 #, c-format
 msgid " [abi=O64]"
 msgstr ""
 
-#: elfxx-mips.c:15808
+#: elfxx-mips.c:15820
 #, c-format
 msgid " [abi=EABI32]"
 msgstr ""
 
-#: elfxx-mips.c:15810
+#: elfxx-mips.c:15822
 #, c-format
 msgid " [abi=EABI64]"
 msgstr ""
 
-#: elfxx-mips.c:15812
+#: elfxx-mips.c:15824
 #, c-format
 msgid " [abi unknown]"
 msgstr ""
 
-#: elfxx-mips.c:15814
+#: elfxx-mips.c:15826
 #, c-format
 msgid " [abi=N32]"
 msgstr ""
 
-#: elfxx-mips.c:15816
+#: elfxx-mips.c:15828
 #, c-format
 msgid " [abi=64]"
 msgstr ""
 
-#: elfxx-mips.c:15818
+#: elfxx-mips.c:15830
 #, c-format
 msgid " [no abi set]"
 msgstr ""
 
-#: elfxx-mips.c:15843
+#: elfxx-mips.c:15855
 #, c-format
 msgid " [unknown ISA]"
 msgstr ""
 
-#: elfxx-mips.c:15863
+#: elfxx-mips.c:15875
 #, c-format
 msgid " [not 32bitmode]"
 msgstr ""
 
-#: elfxx-riscv.c:955
+#: elfxx-sparc.c:3115 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5283
 #, c-format
-msgid "unrecognized relocation (0x%x)"
+msgid ""
+"%pB: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
 msgstr ""
 
-#: elfxx-sparc.c:639
+#: elfxx-tilegx.c:4254
 #, c-format
-msgid "invalid relocation type %d"
+msgid "%pB: cannot link together %s and %s objects"
 msgstr ""
 
-#: elfxx-sparc.c:3301 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5002
+#: elfxx-x86.c:578
 #, c-format
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
+msgid "%P: %pB: warning: relocation against `%s' in read-only section `%pA'\n"
 msgstr ""
 
-#: elfxx-tilegx.c:4428
-#, c-format
-msgid "%B: Cannot link together %s and %s objects."
+#: elfxx-x86.c:1027
+msgid "%P: %pB: warning: relocation in read-only section `%pA'\n"
+msgstr ""
+
+#: elfxx-x86.c:1375
+msgid ""
+"%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
 msgstr ""
 
-#: i386linux.c:416 m68klinux.c:419 sparclinux.c:412
+#: elfxx-x86.c:2373
 #, c-format
-msgid "Output file requires shared library `%s'\n"
+msgid "error: %pB: <corrupt x86 ISA used size: 0x%x>"
 msgstr ""
 
-#: i386linux.c:424 m68klinux.c:428 sparclinux.c:421
+#: elfxx-x86.c:2375
 #, c-format
-msgid "Output file requires shared library `%s.so.%s'\n"
+msgid "error: %pB: <corrupt x86 ISA needed size: 0x%x>"
 msgstr ""
 
-#: i386linux.c:611 i386linux.c:661 m68klinux.c:617 m68klinux.c:665
-#: sparclinux.c:608 sparclinux.c:658
+#: elfxx-x86.c:2376
 #, c-format
-msgid "Symbol %s not defined for fixups\n"
+msgid "error: %pB: <corrupt x86 feature size: 0x%x>"
 msgstr ""
 
-#: i386linux.c:685 m68klinux.c:689 sparclinux.c:682
-msgid "Warning: fixup count mismatch\n"
+#: elfxx-x86.c:2548
+msgid "%F%P: failed to create GNU property section\n"
 msgstr ""
 
-#: ieee.c:159
+#: elfxx-x86.c:2553
 #, c-format
-msgid "%B: string too long (%ld chars, max 65535)"
+msgid "%F%pA: failed to align section\n"
 msgstr ""
 
-#: ieee.c:226
-#, c-format
-msgid "IEEE parser: string length: %#lx longer than buffer: %#lx"
+#: elfxx-x86.c:2705
+msgid "%F%P: failed to create VxWorks dynamic sections\n"
 msgstr ""
 
-#: ieee.c:302
-#, c-format
-msgid "%B: unrecognized symbol `%s' flags 0x%x"
+#: elfxx-x86.c:2714
+msgid "%F%P: failed to create GOT sections\n"
 msgstr ""
 
-#: ieee.c:837
-#, c-format
-msgid "%B: unimplemented ATI record %u for symbol %u"
+#: elfxx-x86.c:2732
+msgid "%F%P: failed to create ifunc sections\n"
 msgstr ""
 
-#: ieee.c:862
-#, c-format
-msgid "%B: unexpected ATN type %Ld in external part"
+#: elfxx-x86.c:2773
+msgid "%F%P: failed to create GOT PLT section\n"
+msgstr ""
+
+#: elfxx-x86.c:2794
+msgid "%F%P: failed to create IBT-enabled PLT section\n"
 msgstr ""
 
-#: ieee.c:884
-msgid "%B: unexpected type after ATN"
+#: elfxx-x86.c:2809
+msgid "%F%P: failed to create BND PLT section\n"
+msgstr ""
+
+#: elfxx-x86.c:2830
+msgid "%F%P: failed to create PLT .eh_frame section\n"
+msgstr ""
+
+#: elfxx-x86.c:2843
+msgid "%F%P: failed to create GOT PLT .eh_frame section\n"
+msgstr ""
+
+#: elfxx-x86.c:2857
+msgid "%F%P: failed to create the second PLT .eh_frame section\n"
 msgstr ""
 
 #: ihex.c:230
 #, c-format
-msgid "%B:%d: unexpected character `%s' in Intel Hex file"
+msgid "%pB:%d: unexpected character `%s' in Intel Hex file"
 msgstr ""
 
 #: ihex.c:338
 #, c-format
-msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)"
+msgid "%pB:%u: bad checksum in Intel Hex file (expected %u, found %u)"
 msgstr ""
 
 #: ihex.c:394
 #, c-format
-msgid "%B:%u: bad extended address record length in Intel Hex file"
+msgid "%pB:%u: bad extended address record length in Intel Hex file"
 msgstr ""
 
 #: ihex.c:412
 #, c-format
-msgid "%B:%u: bad extended start address length in Intel Hex file"
+msgid "%pB:%u: bad extended start address length in Intel Hex file"
 msgstr ""
 
 #: ihex.c:430
 #, c-format
-msgid "%B:%u: bad extended linear address record length in Intel Hex file"
+msgid "%pB:%u: bad extended linear address record length in Intel Hex file"
 msgstr ""
 
 #: ihex.c:448
 #, c-format
-msgid "%B:%u: bad extended linear start address length in Intel Hex file"
+msgid "%pB:%u: bad extended linear start address length in Intel Hex file"
 msgstr ""
 
 #: ihex.c:466
 #, c-format
-msgid "%B:%u: unrecognized ihex type %u in Intel Hex file"
+msgid "%pB:%u: unrecognized ihex type %u in Intel Hex file"
 msgstr ""
 
 #: ihex.c:585
-msgid "%B: internal error in ihex_read_section"
+#, c-format
+msgid "%pB: internal error in ihex_read_section"
 msgstr ""
 
 #: ihex.c:619
-msgid "%B: bad section length in ihex_read_section"
+#, c-format
+msgid "%pB: bad section length in ihex_read_section"
 msgstr ""
 
 #: ihex.c:830
 #, c-format
-msgid "%B: address %#Lx out of range for Intel Hex file"
+msgid "%pB: address %#<PRIx64> out of range for Intel Hex file"
 msgstr ""
 
-#: libbfd.c:799
+#: libbfd.c:898
 #, c-format
-msgid "%B: unable to get decompressed section %A"
+msgid "%pB: unable to get decompressed section %pA"
 msgstr ""
 
-#: libbfd.c:963
+#: libbfd.c:1062
 #, c-format
 msgid "Deprecated %s called at %s line %d in %s\n"
 msgstr ""
 
-#: libbfd.c:966
+#: libbfd.c:1065
 #, c-format
 msgid "Deprecated %s called\n"
 msgstr ""
 
-#: linker.c:1669
+#: linker.c:1684
+#, c-format
+msgid "%pB: indirect symbol `%s' to `%s' is a loop"
+msgstr ""
+
+#: linker.c:2554
+#, c-format
+msgid "attempt to do relocatable link with %s input and %s output"
+msgstr ""
+
+#: linker.c:2840
+#, c-format
+msgid "%pB: ignoring duplicate section `%pA'\n"
+msgstr ""
+
+#: linker.c:2850 linker.c:2860
+#, c-format
+msgid "%pB: duplicate section `%pA' has different size\n"
+msgstr ""
+
+#: linker.c:2869 linker.c:2875
+#, c-format
+msgid "%pB: could not read contents of section `%pA'\n"
+msgstr ""
+
+#: linker.c:2880
+#, c-format
+msgid "%pB: duplicate section `%pA' has different contents\n"
+msgstr ""
+
+#: linker.c:3394
+#, c-format
+msgid "%pB: compiled for a big endian system and target is little endian"
+msgstr ""
+
+#: linker.c:3397
+#, c-format
+msgid "%pB: compiled for a little endian system and target is big endian"
+msgstr ""
+
+#: mach-o.c:632
+#, c-format
+msgid "<unknown mask flags>"
+msgstr ""
+
+#: mach-o.c:687
+msgid " (<unknown>)"
+msgstr ""
+
+#: mach-o.c:698
+#, c-format
+msgid " MACH-O header:\n"
+msgstr ""
+
+#: mach-o.c:699
 #, c-format
-msgid "%B: indirect symbol `%s' to `%s' is a loop"
+msgid "   magic:      %#lx\n"
 msgstr ""
 
-#: linker.c:2539
+#: mach-o.c:700
 #, c-format
-msgid "Attempt to do relocatable link with %s input and %s output"
+msgid "   cputype:    %#lx (%s)\n"
 msgstr ""
 
-#: linker.c:2825
+#: mach-o.c:702
 #, c-format
-msgid "%B: ignoring duplicate section `%A'\n"
+msgid "   cpusubtype: %#lx%s\n"
 msgstr ""
 
-#: linker.c:2835 linker.c:2845
+#: mach-o.c:704
 #, c-format
-msgid "%B: duplicate section `%A' has different size\n"
+msgid "   filetype:   %#lx\n"
 msgstr ""
 
-#: linker.c:2854 linker.c:2860
+#: mach-o.c:705
 #, c-format
-msgid "%B: could not read contents of section `%A'\n"
+msgid "   ncmds:      %#lx\n"
 msgstr ""
 
-#: linker.c:2865
+#: mach-o.c:706
 #, c-format
-msgid "%B: duplicate section `%A' has different contents\n"
+msgid "   sizeocmds:  %#lx\n"
 msgstr ""
 
-#: linker.c:3353
-msgid "%B: compiled for a big endian system and target is little endian"
+#: mach-o.c:707
+#, c-format
+msgid "   flags:      %#lx\n"
+msgstr ""
+
+#: mach-o.c:708
+#, c-format
+msgid "   version:    %x\n"
 msgstr ""
 
-#: linker.c:3356
-msgid "%B: compiled for a little endian system and target is big endian"
+#. Urg - what has happened ?
+#: mach-o.c:743
+#, c-format
+msgid "incompatible cputypes in mach-o files: %ld vs %ld"
 msgstr ""
 
-#: mach-o.c:779
+#: mach-o.c:912
 msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
 msgstr ""
 
-#: mach-o.c:1981
+#: mach-o.c:2108
 msgid ""
 "sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab "
 "commands."
 msgstr ""
 
-#: mach-o.c:2424
+#: mach-o.c:2551
 #, c-format
 msgid "mach-o: there are too many sections (%u) maximum is 255,\n"
 msgstr ""
 
-#: mach-o.c:2531
+#: mach-o.c:2658
 #, c-format
 msgid "unable to allocate data for load command %#x"
 msgstr ""
 
-#: mach-o.c:2636
+#: mach-o.c:2763
 #, c-format
 msgid "unable to write unknown load command %#x"
 msgstr ""
 
-#: mach-o.c:2820
+#: mach-o.c:2947
 #, c-format
-msgid "section address (%#Lx) below start of segment (%#Lx)"
+msgid "section address (%#<PRIx64>) below start of segment (%#<PRIx64>)"
 msgstr ""
 
-#: mach-o.c:2961
+#: mach-o.c:3089
 #, c-format
 msgid "unable to layout unknown load command %#x"
 msgstr ""
 
-#: mach-o.c:3497
+#: mach-o.c:3625
 #, c-format
 msgid ""
 "bfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 instead"
 msgstr ""
 
-#: mach-o.c:3540
+#: mach-o.c:3668
 #, c-format
 msgid ""
 "bfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 instead"
 msgstr ""
 
-#: mach-o.c:3591
+#: mach-o.c:3719
 #, c-format
 msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %u"
 msgstr ""
 
-#: mach-o.c:3610
+#: mach-o.c:3738
 #, c-format
 msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)"
 msgstr ""
 
-#: mach-o.c:3693
+#: mach-o.c:3821
 #, c-format
 msgid ""
 "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d "
 "(max %lu): setting to undefined"
 msgstr ""
 
-#: mach-o.c:3712
+#: mach-o.c:3840
 #, c-format
 msgid ""
 "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x"
 "%x: setting to undefined"
 msgstr ""
 
-#: mach-o.c:3789
+#: mach-o.c:3917
 msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
 msgstr ""
 
-#: mach-o.c:4762
-msgid "%B: unknown load command %#x"
+#: mach-o.c:4890
+#, c-format
+msgid "%pB: unknown load command %#x"
 msgstr ""
 
-#: mach-o.c:4953
+#: mach-o.c:5081
 #, c-format
 msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
 msgstr ""
 
-#: mach-o.c:5058
+#: mach-o.c:5186
 #, c-format
 msgid "unknown header byte-order value %#x"
 msgstr ""
 
-#: merge.c:864
+#: merge.c:868
 #, c-format
-msgid "%B: access beyond end of merged section (%Ld)"
+msgid "%pB: access beyond end of merged section (%<PRId64>)"
 msgstr ""
 
 #: mmo.c:468
 #, c-format
-msgid "%B: No core to allocate section name %s\n"
+msgid "%pB: no core to allocate section name %s"
 msgstr ""
 
 #: mmo.c:544
 #, c-format
-msgid "%B: No core to allocate a symbol %d bytes long\n"
+msgid "%pB: no core to allocate a symbol %d bytes long"
 msgstr ""
 
 #: mmo.c:958
 #, c-format
-msgid "%B: attempt to emit contents at non-multiple-of-4 address %#Lx"
+msgid "%pB: attempt to emit contents at non-multiple-of-4 address %#<PRIx64>"
 msgstr ""
 
 #: mmo.c:1255
-msgid "%B: invalid mmo file: initialization value for $255 is not `Main'\n"
+#, c-format
+msgid "%pB: invalid mmo file: initialization value for $255 is not `Main'\n"
 msgstr ""
 
 #: mmo.c:1402
 #, c-format
 msgid ""
-"%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name "
+"%pB: unsupported wide character sequence 0x%02X 0x%02X after symbol name "
 "starting with `%s'\n"
 msgstr ""
 
 #: mmo.c:1636
 #, c-format
-msgid "%B: invalid mmo file: unsupported lopcode `%d'\n"
+msgid "%pB: invalid mmo file: unsupported lopcode `%d'\n"
 msgstr ""
 
 #: mmo.c:1647
 #, c-format
-msgid "%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
+msgid "%pB: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
 msgstr ""
 
 #: mmo.c:1685
 #, c-format
-msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
+msgid ""
+"%pB: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
 msgstr ""
 
 #: mmo.c:1736
 #, c-format
 msgid ""
-"%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
+"%pB: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
 msgstr ""
 
 #: mmo.c:1777
 #, c-format
-msgid "%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
+msgid "%pB: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
 msgstr ""
 
 #: mmo.c:1788
 #, c-format
 msgid ""
-"%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
+"%pB: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
 msgstr ""
 
 #: mmo.c:1813
 #, c-format
 msgid ""
-"%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d "
+"%pB: invalid mmo file: leading byte of operand word must be 0 or 1, got %d "
 "for lop_fixrx\n"
 msgstr ""
 
 #: mmo.c:1838
 #, c-format
-msgid "%B: cannot allocate file name for file number %d, %d bytes\n"
+msgid "%pB: cannot allocate file name for file number %d, %d bytes\n"
 msgstr ""
 
 #: mmo.c:1860
 #, c-format
 msgid ""
-"%B: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
+"%pB: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
 msgstr ""
 
 #: mmo.c:1874
 #, c-format
 msgid ""
-"%B: invalid mmo file: file name for number %d was not specified before use\n"
+"%pB: invalid mmo file: file name for number %d was not specified before use\n"
 msgstr ""
 
 #: mmo.c:1981
 #, c-format
 msgid ""
-"%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
+"%pB: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
 msgstr ""
 
 #: mmo.c:2018
 #, c-format
-msgid "%B: invalid mmo file: lop_end not last item in file\n"
+msgid "%pB: invalid mmo file: lop_end not last item in file\n"
 msgstr ""
 
 #: mmo.c:2032
 #, c-format
 msgid ""
-"%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras "
+"%pB: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras "
 "to the preceding lop_stab (%ld)\n"
 msgstr ""
 
 #: mmo.c:2743
 #, c-format
-msgid "%B: invalid symbol table: duplicate symbol `%s'\n"
+msgid "%pB: invalid symbol table: duplicate symbol `%s'\n"
 msgstr ""
 
 #: mmo.c:2986
 #, c-format
 msgid ""
-"%B: Bad symbol definition: `Main' set to %s rather than the start address "
+"%pB: bad symbol definition: `Main' set to %s rather than the start address "
 "%s\n"
 msgstr ""
 
 #: mmo.c:3085
 #, c-format
 msgid ""
-"%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: "
-"%d.  Only `Main' will be emitted.\n"
+"%pB: warning: symbol table too large for mmo, larger than 65535 32-bit "
+"words: %d.  Only `Main' will be emitted.\n"
 msgstr ""
 
 #: mmo.c:3131
 #, c-format
-msgid "%B: internal error, symbol table changed size from %d to %d words\n"
+msgid "%pB: internal error, symbol table changed size from %d to %d words\n"
 msgstr ""
 
 #: mmo.c:3184
 #, c-format
-msgid "%B: internal error, internal register section %A had contents\n"
+msgid "%pB: internal error, internal register section %pA had contents\n"
 msgstr ""
 
 #: mmo.c:3235
-msgid "%B: no initialized registers; section length 0\n"
+#, c-format
+msgid "%pB: no initialized registers; section length 0\n"
 msgstr ""
 
 #: mmo.c:3242
 #, c-format
-msgid "%B: too many initialized registers; section length %Ld"
+msgid "%pB: too many initialized registers; section length %<PRId64>"
 msgstr ""
 
 #: mmo.c:3247
 #, c-format
-msgid "%B: invalid start address for initialized registers of length %Ld: %#Lx"
-msgstr ""
-
-#: oasys.c:881
-#, c-format
-msgid "%B: can not represent section `%A' in oasys"
+msgid ""
+"%pB: invalid start address for initialized registers of length %<PRId64>: "
+"%#<PRIx64>"
 msgstr ""
 
 #: osf-core.c:127
 #, c-format
-msgid "Unhandled OSF/1 core file section type %d\n"
-msgstr ""
-
-#: pe-mips.c:609
-msgid "%B: `ld -r' not supported with PE MIPS objects\n"
+msgid "unhandled OSF/1 core file section type %d"
 msgstr ""
 
-#. OK, at this point the following variables are set up:
-#. src = VMA of the memory we're fixing up
-#. mem = pointer to memory we're fixing up
-#. val = VMA of what we need to refer to.
-#: pe-mips.c:720
+#: pef.c:527
 #, c-format
-msgid "%B: unimplemented %s\n"
-msgstr ""
-
-#: pe-mips.c:746
-msgid "%B: jump too far away\n"
-msgstr ""
-
-#: pe-mips.c:772
-msgid "%B: bad pair/reflo after refhi\n"
+msgid "bfd_pef_scan: unknown architecture 0x%lx"
 msgstr ""
 
-#: pef.c:526
+#: pei-x86_64.c:177 pei-x86_64.c:191 pei-x86_64.c:220
 #, c-format
-msgid "bfd_pef_scan: unknown architecture 0x%lx"
+msgid "warning: corrupt unwind data\n"
 msgstr ""
 
 #. PR 17512: file: 2245-7442-0.004.
-#: pei-x86_64.c:281
+#: pei-x86_64.c:315
 #, c-format
 msgid "Unknown: %x"
 msgstr ""
 
-#: pei-x86_64.c:331
+#: pei-x86_64.c:365 pei-x86_64.c:375 pei-x86_64.c:384
 #, c-format
 msgid "warning: xdata section corrupt\n"
 msgstr ""
 
-#: pei-x86_64.c:341
-#, c-format
-msgid "warning: xdata section corrupt"
-msgstr ""
-
-#: pei-x86_64.c:401
+#: pei-x86_64.c:439
 #, c-format
 msgid "Too many unwind codes (%ld)\n"
 msgstr ""
 
-#: pei-x86_64.c:491
+#: pei-x86_64.c:529
 #, c-format
 msgid "Warning: %s section size (%ld) is not a multiple of %d\n"
 msgstr ""
 
-#: pei-x86_64.c:498
+#: pei-x86_64.c:536
 #, c-format
 msgid "Warning: %s section size is zero\n"
 msgstr ""
 
-#: pei-x86_64.c:513
+#: pei-x86_64.c:551
 #, c-format
 msgid "Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"
 msgstr ""
 
-#: pei-x86_64.c:522
+#: pei-x86_64.c:560
 #, c-format
 msgid ""
 "\n"
 "The Function Table (interpreted %s section contents)\n"
 msgstr ""
 
-#: pei-x86_64.c:525
+#: pei-x86_64.c:563
 #, c-format
 msgid "vma:\t\t\tBeginAddress\t EndAddress\t  UnwindData\n"
 msgstr ""
 
-#: pei-x86_64.c:654
+#: pei-x86_64.c:692
 #, c-format
 msgid ""
 "\n"
@@ -5851,124 +5608,128 @@ msgstr ""
 #. XXX code yet to be written.
 #: peicode.h:775
 #, c-format
-msgid "%B: Unhandled import type; %x"
+msgid "%pB: unhandled import type; %x"
 msgstr ""
 
 #: peicode.h:781
 #, c-format
-msgid "%B: Unrecognised import type; %x"
+msgid "%pB: unrecognized import type; %x"
 msgstr ""
 
 #: peicode.h:796
 #, c-format
-msgid "%B: Unrecognised import name type; %x"
+msgid "%pB: unrecognized import name type; %x"
 msgstr ""
 
-#: peicode.h:1217
+#: peicode.h:1211
 #, c-format
-msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
+msgid "%pB: unrecognised machine type (0x%x) in Import Library Format archive"
 msgstr ""
 
-#: peicode.h:1230
+#: peicode.h:1224
 #, c-format
 msgid ""
-"%B: Recognised but unhandled machine type (0x%x) in Import Library Format "
+"%pB: recognised but unhandled machine type (0x%x) in Import Library Format "
 "archive"
 msgstr ""
 
-#: peicode.h:1248
-msgid "%B: size field is zero in Import Library Format header"
+#: peicode.h:1242
+#, c-format
+msgid "%pB: size field is zero in Import Library Format header"
 msgstr ""
 
-#: peicode.h:1280
-msgid "%B: string not null terminated in ILF object file."
+#: peicode.h:1274
+#, c-format
+msgid "%pB: string not null terminated in ILF object file"
 msgstr ""
 
-#: peicode.h:1333
-msgid "%B: Error: Debug Data ends beyond end of debug directory."
+#: peicode.h:1330
+#, c-format
+msgid "%pB: error: debug data ends beyond end of debug directory"
 msgstr ""
 
-#: ppcboot.c:393
+#: ppcboot.c:392
 #, c-format
 msgid ""
 "\n"
 "ppcboot header:\n"
 msgstr ""
 
-#: ppcboot.c:394
+#: ppcboot.c:393
 #, c-format
 msgid "Entry offset        = 0x%.8lx (%ld)\n"
 msgstr ""
 
-#: ppcboot.c:396
+#: ppcboot.c:395
 #, c-format
 msgid "Length              = 0x%.8lx (%ld)\n"
 msgstr ""
 
-#: ppcboot.c:400
+#: ppcboot.c:399
 #, c-format
 msgid "Flag field          = 0x%.2x\n"
 msgstr ""
 
-#: ppcboot.c:406
+#: ppcboot.c:405
 #, c-format
 msgid "Partition name      = \"%s\"\n"
 msgstr ""
 
-#: ppcboot.c:426
+#: ppcboot.c:425
 #, c-format
 msgid ""
 "\n"
 "Partition[%d] start  = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 msgstr ""
 
-#: ppcboot.c:433
+#: ppcboot.c:432
 #, c-format
 msgid "Partition[%d] end    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 msgstr ""
 
-#: ppcboot.c:440
+#: ppcboot.c:439
 #, c-format
 msgid "Partition[%d] sector = 0x%.8lx (%ld)\n"
 msgstr ""
 
-#: ppcboot.c:444
+#: ppcboot.c:443
 #, c-format
 msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
 msgstr ""
 
-#: reloc.c:8067
-msgid "INPUT_SECTION_FLAGS are not supported.\n"
+#: reloc.c:8163
+msgid "INPUT_SECTION_FLAGS are not supported"
 msgstr ""
 
-#: reloc.c:8168
+#: reloc.c:8264
 #, c-format
-msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n"
+msgid "%X%P: %pB(%pA): error: relocation for offset %V has no value\n"
 msgstr ""
 
-#: reloc.c:8244
+#: reloc.c:8340
 #, c-format
-msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n"
+msgid "%X%P: %pB(%pA): relocation \"%pR\" is not supported\n"
 msgstr ""
 
-#: reloc.c:8253
+#: reloc.c:8349
 #, c-format
-msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"
+msgid "%X%P: %pB(%pA): relocation \"%pR\" returns an unrecognized value %x\n"
 msgstr ""
 
-#: reloc.c:8315
+#: reloc.c:8411
 #, c-format
-msgid "%B: unrecognized relocation (%#x) in section `%A'"
+msgid "%pB: unrecognized relocation type %#x in section `%pA'"
 msgstr ""
 
 #. PR 21803: Suggest the most likely cause of this error.
-#: reloc.c:8319
+#: reloc.c:8415
 #, c-format
-msgid "Is this version of the linker - %s - out of date ?"
+msgid "is this version of the linker - %s - out of date ?"
 msgstr ""
 
 #: rs6000-core.c:471
-msgid "%B: warning core file truncated"
+#, c-format
+msgid "%pB: warning core file truncated"
 msgstr ""
 
 #: som.c:5478
@@ -5984,91 +5745,91 @@ msgstr ""
 
 #: srec.c:260
 #, c-format
-msgid "%B:%d: Unexpected character `%s' in S-record file\n"
+msgid "%pB:%d: unexpected character `%s' in S-record file"
 msgstr ""
 
 #: srec.c:488
 #, c-format
-msgid "%B:%d: byte count %d too small\n"
+msgid "%pB:%d: byte count %d too small"
 msgstr ""
 
 #: srec.c:581 srec.c:615
 #, c-format
-msgid "%B:%d: Bad checksum in S-record file\n"
+msgid "%pB:%d: bad checksum in S-record file"
 msgstr ""
 
 #: stabs.c:279
 #, c-format
-msgid "%B(%A+%#lx): Stabs entry has invalid string index."
+msgid "%pB(%pA+%#lx): stabs entry has invalid string index"
 msgstr ""
 
 #: syms.c:1079
-msgid "Unsupported .stab relocation"
+msgid "unsupported .stab relocation"
 msgstr ""
 
 #: vms-alpha.c:479
-msgid "Corrupt EIHD record - size is too small"
+msgid "corrupt EIHD record - size is too small"
 msgstr ""
 
 #: vms-alpha.c:660
 #, c-format
-msgid "Unable to read EIHS record at offset %#x"
+msgid "unable to read EIHS record at offset %#x"
 msgstr ""
 
-#: vms-alpha.c:1172
+#: vms-alpha.c:1173
 #, c-format
-msgid "Corrupt EGSD record: its size (%#x) is too small"
+msgid "corrupt EGSD record: its size (%#x) is too small"
 msgstr ""
 
-#: vms-alpha.c:1196
+#: vms-alpha.c:1197
 #, c-format
-msgid "Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
+msgid "corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
 msgstr ""
 
-#: vms-alpha.c:1204
+#: vms-alpha.c:1205
 #, c-format
-msgid "Corrupt EGSD record: size (%#x) is too small"
+msgid "corrupt EGSD record: size (%#x) is too small"
 msgstr ""
 
-#: vms-alpha.c:1333 vms-alpha.c:1349 vms-alpha.c:1389
+#: vms-alpha.c:1334 vms-alpha.c:1350 vms-alpha.c:1390
 #, c-format
-msgid "Corrupt EGSD record: its psindx field is too big (%#lx)"
+msgid "corrupt EGSD record: its psindx field is too big (%#lx)"
 msgstr ""
 
-#: vms-alpha.c:1418
+#: vms-alpha.c:1419
 #, c-format
-msgid "Unknown EGSD subtype %d"
+msgid "unknown EGSD subtype %d"
 msgstr ""
 
-#: vms-alpha.c:1451
+#: vms-alpha.c:1452
 #, c-format
-msgid "Stack overflow (%d) in _bfd_vms_push"
+msgid "stack overflow (%d) in _bfd_vms_push"
 msgstr ""
 
-#: vms-alpha.c:1464
-msgid "Stack underflow in _bfd_vms_pop"
+#: vms-alpha.c:1465
+msgid "stack underflow in _bfd_vms_pop"
 msgstr ""
 
 #. These names have not yet been added to this switch statement.
-#: vms-alpha.c:1706
+#: vms-alpha.c:1707
 #, c-format
 msgid "unknown ETIR command %d"
 msgstr ""
 
-#: vms-alpha.c:1737
-msgid "Corrupt vms value"
+#: vms-alpha.c:1738
+msgid "corrupt vms value"
 msgstr ""
 
-#: vms-alpha.c:1865
-msgid "Corrupt ETIR record encountered"
+#: vms-alpha.c:1866
+msgid "corrupt ETIR record encountered"
 msgstr ""
 
-#: vms-alpha.c:1922
+#: vms-alpha.c:1923
 #, c-format
 msgid "bad section index in %s"
 msgstr ""
 
-#: vms-alpha.c:1935
+#: vms-alpha.c:1936
 #, c-format
 msgid "unsupported STA cmd %s"
 msgstr ""
@@ -6078,1961 +5839,1932 @@ msgstr ""
 #. Rotate.
 #. Redefine symbol to current location.
 #. Define a literal.
-#: vms-alpha.c:2115 vms-alpha.c:2146 vms-alpha.c:2237 vms-alpha.c:2395
+#: vms-alpha.c:2116 vms-alpha.c:2147 vms-alpha.c:2238 vms-alpha.c:2396
 #, c-format
 msgid "%s: not supported"
 msgstr ""
 
-#: vms-alpha.c:2121
+#: vms-alpha.c:2122
 #, c-format
 msgid "%s: not implemented"
 msgstr ""
 
-#: vms-alpha.c:2379
+#: vms-alpha.c:2380
 #, c-format
 msgid "invalid use of %s with contexts"
 msgstr ""
 
-#: vms-alpha.c:2413
+#: vms-alpha.c:2414
 #, c-format
 msgid "reserved cmd %d"
 msgstr ""
 
-#: vms-alpha.c:2497
-msgid "Corrupt EEOM record - size is too small"
+#: vms-alpha.c:2498
+msgid "corrupt EEOM record - size is too small"
 msgstr ""
 
-#: vms-alpha.c:2506
-msgid "Object module NOT error-free !\n"
+#: vms-alpha.c:2507
+msgid "object module not error-free !"
 msgstr ""
 
-#: vms-alpha.c:3830
+#: vms-alpha.c:3831
 #, c-format
-msgid "SEC_RELOC with no relocs in section %A"
+msgid "SEC_RELOC with no relocs in section %pA"
 msgstr ""
 
-#: vms-alpha.c:3882 vms-alpha.c:4095
+#: vms-alpha.c:3883 vms-alpha.c:4096
 #, c-format
-msgid "Size error in section %A"
+msgid "size error in section %pA"
 msgstr ""
 
-#: vms-alpha.c:4041
-msgid "Spurious ALPHA_R_BSR reloc"
+#: vms-alpha.c:4042
+msgid "spurious ALPHA_R_BSR reloc"
 msgstr ""
 
-#: vms-alpha.c:4082
+#: vms-alpha.c:4083
 #, c-format
-msgid "Unhandled relocation %s"
+msgid "unhandled relocation %s"
 msgstr ""
 
-#: vms-alpha.c:4375
+#: vms-alpha.c:4376
 #, c-format
 msgid "unknown source command %d"
 msgstr ""
 
-#: vms-alpha.c:4436
-msgid "DST__K_SET_LINUM_INCR not implemented"
-msgstr ""
-
-#: vms-alpha.c:4442
-msgid "DST__K_SET_LINUM_INCR_W not implemented"
-msgstr ""
-
-#: vms-alpha.c:4448
-msgid "DST__K_RESET_LINUM_INCR not implemented"
-msgstr ""
-
-#: vms-alpha.c:4454
-msgid "DST__K_BEG_STMT_MODE not implemented"
-msgstr ""
-
-#: vms-alpha.c:4460
-msgid "DST__K_END_STMT_MODE not implemented"
-msgstr ""
-
-#: vms-alpha.c:4487
-msgid "DST__K_SET_PC not implemented"
-msgstr ""
-
-#: vms-alpha.c:4493
-msgid "DST__K_SET_PC_W not implemented"
-msgstr ""
-
-#: vms-alpha.c:4499
-msgid "DST__K_SET_PC_L not implemented"
-msgstr ""
-
-#: vms-alpha.c:4505
-msgid "DST__K_SET_STMTNUM not implemented"
+#: vms-alpha.c:4437 vms-alpha.c:4443 vms-alpha.c:4449 vms-alpha.c:4455
+#: vms-alpha.c:4461 vms-alpha.c:4488 vms-alpha.c:4494 vms-alpha.c:4500
+#: vms-alpha.c:4506
+#, c-format
+msgid "%s not implemented"
 msgstr ""
 
-#: vms-alpha.c:4548
+#: vms-alpha.c:4549
 #, c-format
 msgid "unknown line command %d"
 msgstr ""
 
-#: vms-alpha.c:5008 vms-alpha.c:5026 vms-alpha.c:5041 vms-alpha.c:5057
-#: vms-alpha.c:5070 vms-alpha.c:5082 vms-alpha.c:5095
+#: vms-alpha.c:5009 vms-alpha.c:5027 vms-alpha.c:5042 vms-alpha.c:5058
+#: vms-alpha.c:5071 vms-alpha.c:5083 vms-alpha.c:5096
 #, c-format
-msgid "Unknown reloc %s + %s"
+msgid "unknown reloc %s + %s"
 msgstr ""
 
-#: vms-alpha.c:5150
+#: vms-alpha.c:5151
 #, c-format
-msgid "Unknown reloc %s"
+msgid "unknown reloc %s"
 msgstr ""
 
-#: vms-alpha.c:5163
-msgid "Invalid section index in ETIR"
+#: vms-alpha.c:5164
+msgid "invalid section index in ETIR"
 msgstr ""
 
-#: vms-alpha.c:5172
-msgid "Relocation for non-REL psect"
+#: vms-alpha.c:5173
+msgid "relocation for non-REL psect"
 msgstr ""
 
-#: vms-alpha.c:5219
+#: vms-alpha.c:5220
 #, c-format
-msgid "Unknown symbol in command %s"
+msgid "unknown symbol in command %s"
 msgstr ""
 
-#: vms-alpha.c:5629
+#: vms-alpha.c:5630
 #, c-format
 msgid "reloc (%d) is *UNKNOWN*"
 msgstr ""
 
-#: vms-alpha.c:5745
+#: vms-alpha.c:5746
 #, c-format
 msgid "  EMH %u (len=%u): "
 msgstr ""
 
-#: vms-alpha.c:5750
+#: vms-alpha.c:5751
 #, c-format
 msgid "   Error: The length is less than the length of an EMH record\n"
 msgstr ""
 
-#: vms-alpha.c:5767
+#: vms-alpha.c:5768
 #, c-format
 msgid ""
 "   Error: The record length is less than the size of an EMH_MHD record\n"
 msgstr ""
 
-#: vms-alpha.c:5770
+#: vms-alpha.c:5771
 #, c-format
 msgid "Module header\n"
 msgstr ""
 
-#: vms-alpha.c:5771
+#: vms-alpha.c:5772
 #, c-format
 msgid "   structure level: %u\n"
 msgstr ""
 
-#: vms-alpha.c:5772
+#: vms-alpha.c:5773
 #, c-format
 msgid "   max record size: %u\n"
 msgstr ""
 
-#: vms-alpha.c:5778
+#: vms-alpha.c:5779
 #, c-format
 msgid "   Error: The module name is missing\n"
 msgstr ""
 
-#: vms-alpha.c:5784
+#: vms-alpha.c:5785
 #, c-format
 msgid "   Error: The module name is too long\n"
 msgstr ""
 
-#: vms-alpha.c:5787
+#: vms-alpha.c:5788
 #, c-format
 msgid "   module name    : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5791
+#: vms-alpha.c:5792
 #, c-format
 msgid "   Error: The module version is missing\n"
 msgstr ""
 
-#: vms-alpha.c:5797
+#: vms-alpha.c:5798
 #, c-format
 msgid "   Error: The module version is too long\n"
 msgstr ""
 
-#: vms-alpha.c:5800
+#: vms-alpha.c:5801
 #, c-format
 msgid "   module version : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5803
+#: vms-alpha.c:5804
 #, c-format
 msgid "   Error: The compile date is truncated\n"
 msgstr ""
 
-#: vms-alpha.c:5805
+#: vms-alpha.c:5806
 #, c-format
 msgid "   compile date   : %.17s\n"
 msgstr ""
 
-#: vms-alpha.c:5810
+#: vms-alpha.c:5811
 #, c-format
 msgid "Language Processor Name\n"
 msgstr ""
 
-#: vms-alpha.c:5811
+#: vms-alpha.c:5812
 #, c-format
 msgid "   language name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5815
+#: vms-alpha.c:5816
 #, c-format
 msgid "Source Files Header\n"
 msgstr ""
 
-#: vms-alpha.c:5816
+#: vms-alpha.c:5817
 #, c-format
 msgid "   file: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5820
+#: vms-alpha.c:5821
 #, c-format
 msgid "Title Text Header\n"
 msgstr ""
 
-#: vms-alpha.c:5821
+#: vms-alpha.c:5822
 #, c-format
 msgid "   title: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5825
+#: vms-alpha.c:5826
 #, c-format
 msgid "Copyright Header\n"
 msgstr ""
 
-#: vms-alpha.c:5826
+#: vms-alpha.c:5827
 #, c-format
 msgid "   copyright: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5830
+#: vms-alpha.c:5831
 #, c-format
 msgid "unhandled emh subtype %u\n"
 msgstr ""
 
-#: vms-alpha.c:5840
+#: vms-alpha.c:5841
 #, c-format
 msgid "  EEOM (len=%u):\n"
 msgstr ""
 
-#: vms-alpha.c:5845
+#: vms-alpha.c:5846
 #, c-format
 msgid "   Error: The length is less than the length of an EEOM record\n"
 msgstr ""
 
-#: vms-alpha.c:5849
+#: vms-alpha.c:5850
 #, c-format
 msgid "   number of cond linkage pairs: %u\n"
 msgstr ""
 
-#: vms-alpha.c:5851
+#: vms-alpha.c:5852
 #, c-format
 msgid "   completion code: %u\n"
 msgstr ""
 
-#: vms-alpha.c:5855
+#: vms-alpha.c:5856
 #, c-format
 msgid "   transfer addr flags: 0x%02x\n"
 msgstr ""
 
-#: vms-alpha.c:5856
+#: vms-alpha.c:5857
 #, c-format
 msgid "   transfer addr psect: %u\n"
 msgstr ""
 
-#: vms-alpha.c:5858
+#: vms-alpha.c:5859
 #, c-format
 msgid "   transfer address   : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:5867
+#: vms-alpha.c:5868
 msgid " WEAK"
 msgstr ""
 
-#: vms-alpha.c:5869
+#: vms-alpha.c:5870
 msgid " DEF"
 msgstr ""
 
-#: vms-alpha.c:5871
+#: vms-alpha.c:5872
 msgid " UNI"
 msgstr ""
 
-#: vms-alpha.c:5873 vms-alpha.c:5894
+#: vms-alpha.c:5874 vms-alpha.c:5895
 msgid " REL"
 msgstr ""
 
-#: vms-alpha.c:5875
+#: vms-alpha.c:5876
 msgid " COMM"
 msgstr ""
 
-#: vms-alpha.c:5877
+#: vms-alpha.c:5878
 msgid " VECEP"
 msgstr ""
 
-#: vms-alpha.c:5879
+#: vms-alpha.c:5880
 msgid " NORM"
 msgstr ""
 
-#: vms-alpha.c:5881
+#: vms-alpha.c:5882
 msgid " QVAL"
 msgstr ""
 
-#: vms-alpha.c:5888
+#: vms-alpha.c:5889
 msgid " PIC"
 msgstr ""
 
-#: vms-alpha.c:5890
+#: vms-alpha.c:5891
 msgid " LIB"
 msgstr ""
 
-#: vms-alpha.c:5892
+#: vms-alpha.c:5893
 msgid " OVR"
 msgstr ""
 
-#: vms-alpha.c:5896
+#: vms-alpha.c:5897
 msgid " GBL"
 msgstr ""
 
-#: vms-alpha.c:5898
+#: vms-alpha.c:5899
 msgid " SHR"
 msgstr ""
 
-#: vms-alpha.c:5900
+#: vms-alpha.c:5901
 msgid " EXE"
 msgstr ""
 
-#: vms-alpha.c:5902
+#: vms-alpha.c:5903
 msgid " RD"
 msgstr ""
 
-#: vms-alpha.c:5904
+#: vms-alpha.c:5905
 msgid " WRT"
 msgstr ""
 
-#: vms-alpha.c:5906
+#: vms-alpha.c:5907
 msgid " VEC"
 msgstr ""
 
-#: vms-alpha.c:5908
+#: vms-alpha.c:5909
 msgid " NOMOD"
 msgstr ""
 
-#: vms-alpha.c:5910
+#: vms-alpha.c:5911
 msgid " COM"
 msgstr ""
 
-#: vms-alpha.c:5912
+#: vms-alpha.c:5913
 msgid " 64B"
 msgstr ""
 
-#: vms-alpha.c:5921
+#: vms-alpha.c:5922
 #, c-format
 msgid "  EGSD (len=%u):\n"
 msgstr ""
 
-#: vms-alpha.c:5934
+#: vms-alpha.c:5935
 #, c-format
 msgid "  EGSD entry %2u (type: %u, len: %u): "
 msgstr ""
 
-#: vms-alpha.c:5940 vms-alpha.c:6191
+#: vms-alpha.c:5941 vms-alpha.c:6192
 #, c-format
 msgid "   Error: length larger than remaining space in record\n"
 msgstr ""
 
-#: vms-alpha.c:5952
+#: vms-alpha.c:5953
 #, c-format
 msgid "PSC - Program section definition\n"
 msgstr ""
 
-#: vms-alpha.c:5953 vms-alpha.c:5970
+#: vms-alpha.c:5954 vms-alpha.c:5971
 #, c-format
 msgid "   alignment  : 2**%u\n"
 msgstr ""
 
-#: vms-alpha.c:5954 vms-alpha.c:5971
+#: vms-alpha.c:5955 vms-alpha.c:5972
 #, c-format
 msgid "   flags      : 0x%04x"
 msgstr ""
 
-#: vms-alpha.c:5958
+#: vms-alpha.c:5959
 #, c-format
 msgid "   alloc (len): %u (0x%08x)\n"
 msgstr ""
 
-#: vms-alpha.c:5959 vms-alpha.c:6016 vms-alpha.c:6065
+#: vms-alpha.c:5960 vms-alpha.c:6017 vms-alpha.c:6066
 #, c-format
 msgid "   name       : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5969
+#: vms-alpha.c:5970
 #, c-format
 msgid "SPSC - Shared Image Program section def\n"
 msgstr ""
 
-#: vms-alpha.c:5975
+#: vms-alpha.c:5976
 #, c-format
 msgid "   alloc (len)   : %u (0x%08x)\n"
 msgstr ""
 
-#: vms-alpha.c:5976
+#: vms-alpha.c:5977
 #, c-format
 msgid "   image offset  : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:5978
+#: vms-alpha.c:5979
 #, c-format
 msgid "   symvec offset : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:5980
+#: vms-alpha.c:5981
 #, c-format
 msgid "   name          : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5993
+#: vms-alpha.c:5994
 #, c-format
 msgid "SYM - Global symbol definition\n"
 msgstr ""
 
-#: vms-alpha.c:5994 vms-alpha.c:6054 vms-alpha.c:6075 vms-alpha.c:6094
+#: vms-alpha.c:5995 vms-alpha.c:6055 vms-alpha.c:6076 vms-alpha.c:6095
 #, c-format
 msgid "   flags: 0x%04x"
 msgstr ""
 
-#: vms-alpha.c:5997
+#: vms-alpha.c:5998
 #, c-format
 msgid "   psect offset: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6001
+#: vms-alpha.c:6002
 #, c-format
 msgid "   code address: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6003
+#: vms-alpha.c:6004
 #, c-format
 msgid "   psect index for entry point : %u\n"
 msgstr ""
 
-#: vms-alpha.c:6006 vms-alpha.c:6082 vms-alpha.c:6101
+#: vms-alpha.c:6007 vms-alpha.c:6083 vms-alpha.c:6102
 #, c-format
 msgid "   psect index : %u\n"
 msgstr ""
 
-#: vms-alpha.c:6008 vms-alpha.c:6084 vms-alpha.c:6103
+#: vms-alpha.c:6009 vms-alpha.c:6085 vms-alpha.c:6104
 #, c-format
 msgid "   name        : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6015
+#: vms-alpha.c:6016
 #, c-format
 msgid "SYM - Global symbol reference\n"
 msgstr ""
 
-#: vms-alpha.c:6027
+#: vms-alpha.c:6028
 #, c-format
 msgid "IDC - Ident Consistency check\n"
 msgstr ""
 
-#: vms-alpha.c:6028
+#: vms-alpha.c:6029
 #, c-format
 msgid "   flags         : 0x%08x"
 msgstr ""
 
-#: vms-alpha.c:6032
+#: vms-alpha.c:6033
 #, c-format
 msgid "   id match      : %x\n"
 msgstr ""
 
-#: vms-alpha.c:6034
+#: vms-alpha.c:6035
 #, c-format
 msgid "   error severity: %x\n"
 msgstr ""
 
-#: vms-alpha.c:6037
+#: vms-alpha.c:6038
 #, c-format
 msgid "   entity name   : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6039
+#: vms-alpha.c:6040
 #, c-format
 msgid "   object name   : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6042
+#: vms-alpha.c:6043
 #, c-format
 msgid "   binary ident  : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6045
+#: vms-alpha.c:6046
 #, c-format
 msgid "   ascii ident   : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6053
+#: vms-alpha.c:6054
 #, c-format
 msgid "SYMG - Universal symbol definition\n"
 msgstr ""
 
-#: vms-alpha.c:6057
+#: vms-alpha.c:6058
 #, c-format
 msgid "   symbol vector offset: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6059
+#: vms-alpha.c:6060
 #, c-format
 msgid "   entry point: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6061
+#: vms-alpha.c:6062
 #, c-format
 msgid "   proc descr : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6063
+#: vms-alpha.c:6064
 #, c-format
 msgid "   psect index: %u\n"
 msgstr ""
 
-#: vms-alpha.c:6074
+#: vms-alpha.c:6075
 #, c-format
 msgid "SYMV - Vectored symbol definition\n"
 msgstr ""
 
-#: vms-alpha.c:6078
+#: vms-alpha.c:6079
 #, c-format
 msgid "   vector      : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6080 vms-alpha.c:6099
+#: vms-alpha.c:6081 vms-alpha.c:6100
 #, c-format
 msgid "   psect offset: %u\n"
 msgstr ""
 
-#: vms-alpha.c:6093
+#: vms-alpha.c:6094
 #, c-format
 msgid "SYMM - Global symbol definition with version\n"
 msgstr ""
 
-#: vms-alpha.c:6097
+#: vms-alpha.c:6098
 #, c-format
 msgid "   version mask: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6108
+#: vms-alpha.c:6109
 #, c-format
 msgid "unhandled egsd entry type %u\n"
 msgstr ""
 
-#: vms-alpha.c:6143
+#: vms-alpha.c:6144
 #, c-format
 msgid "    linkage index: %u, replacement insn: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6147
+#: vms-alpha.c:6148
 #, c-format
 msgid "    psect idx 1: %u, offset 1: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6152
+#: vms-alpha.c:6153
 #, c-format
 msgid "    psect idx 2: %u, offset 2: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6158
+#: vms-alpha.c:6159
 #, c-format
 msgid "    psect idx 3: %u, offset 3: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6163
+#: vms-alpha.c:6164
 #, c-format
 msgid "    global name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6174
+#: vms-alpha.c:6175
 #, c-format
 msgid "  %s (len=%u+%u):\n"
 msgstr ""
 
-#: vms-alpha.c:6196
+#: vms-alpha.c:6197
 #, c-format
 msgid "   (type: %3u, size: 4+%3u): "
 msgstr ""
 
-#: vms-alpha.c:6200
+#: vms-alpha.c:6201
 #, c-format
 msgid "STA_GBL (stack global) %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6204
+#: vms-alpha.c:6205
 #, c-format
 msgid "STA_LW (stack longword) 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6208
+#: vms-alpha.c:6209
 #, c-format
 msgid "STA_QW (stack quadword) 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6213
+#: vms-alpha.c:6214
 #, c-format
 msgid "STA_PQ (stack psect base + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6215
+#: vms-alpha.c:6216
 #, c-format
 msgid "    psect: %u, offset: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6221
+#: vms-alpha.c:6222
 #, c-format
 msgid "STA_LI (stack literal)\n"
 msgstr ""
 
-#: vms-alpha.c:6224
+#: vms-alpha.c:6225
 #, c-format
 msgid "STA_MOD (stack module)\n"
 msgstr ""
 
-#: vms-alpha.c:6227
+#: vms-alpha.c:6228
 #, c-format
 msgid "STA_CKARG (compare procedure argument)\n"
 msgstr ""
 
-#: vms-alpha.c:6231
+#: vms-alpha.c:6232
 #, c-format
 msgid "STO_B (store byte)\n"
 msgstr ""
 
-#: vms-alpha.c:6234
+#: vms-alpha.c:6235
 #, c-format
 msgid "STO_W (store word)\n"
 msgstr ""
 
-#: vms-alpha.c:6237
+#: vms-alpha.c:6238
 #, c-format
 msgid "STO_LW (store longword)\n"
 msgstr ""
 
-#: vms-alpha.c:6240
+#: vms-alpha.c:6241
 #, c-format
 msgid "STO_QW (store quadword)\n"
 msgstr ""
 
-#: vms-alpha.c:6246
+#: vms-alpha.c:6247
 #, c-format
 msgid "STO_IMMR (store immediate repeat) %u bytes\n"
 msgstr ""
 
-#: vms-alpha.c:6253
+#: vms-alpha.c:6254
 #, c-format
 msgid "STO_GBL (store global) %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6257
+#: vms-alpha.c:6258
 #, c-format
 msgid "STO_CA (store code address) %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6261
+#: vms-alpha.c:6262
 #, c-format
 msgid "STO_RB (store relative branch)\n"
 msgstr ""
 
-#: vms-alpha.c:6264
+#: vms-alpha.c:6265
 #, c-format
 msgid "STO_AB (store absolute branch)\n"
 msgstr ""
 
-#: vms-alpha.c:6267
+#: vms-alpha.c:6268
 #, c-format
 msgid "STO_OFF (store offset to psect)\n"
 msgstr ""
 
-#: vms-alpha.c:6273
+#: vms-alpha.c:6274
 #, c-format
 msgid "STO_IMM (store immediate) %u bytes\n"
 msgstr ""
 
-#: vms-alpha.c:6280
+#: vms-alpha.c:6281
 #, c-format
 msgid "STO_GBL_LW (store global longword) %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6284
+#: vms-alpha.c:6285
 #, c-format
 msgid "STO_OFF (store LP with procedure signature)\n"
 msgstr ""
 
-#: vms-alpha.c:6287
+#: vms-alpha.c:6288
 #, c-format
 msgid "STO_BR_GBL (store branch global) *todo*\n"
 msgstr ""
 
-#: vms-alpha.c:6290
+#: vms-alpha.c:6291
 #, c-format
 msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
 msgstr ""
 
-#: vms-alpha.c:6294
+#: vms-alpha.c:6295
 #, c-format
 msgid "OPR_NOP (no-operation)\n"
 msgstr ""
 
-#: vms-alpha.c:6297
+#: vms-alpha.c:6298
 #, c-format
 msgid "OPR_ADD (add)\n"
 msgstr ""
 
-#: vms-alpha.c:6300
+#: vms-alpha.c:6301
 #, c-format
 msgid "OPR_SUB (subtract)\n"
 msgstr ""
 
-#: vms-alpha.c:6303
+#: vms-alpha.c:6304
 #, c-format
 msgid "OPR_MUL (multiply)\n"
 msgstr ""
 
-#: vms-alpha.c:6306
+#: vms-alpha.c:6307
 #, c-format
 msgid "OPR_DIV (divide)\n"
 msgstr ""
 
-#: vms-alpha.c:6309
+#: vms-alpha.c:6310
 #, c-format
 msgid "OPR_AND (logical and)\n"
 msgstr ""
 
-#: vms-alpha.c:6312
+#: vms-alpha.c:6313
 #, c-format
 msgid "OPR_IOR (logical inclusive or)\n"
 msgstr ""
 
-#: vms-alpha.c:6315
+#: vms-alpha.c:6316
 #, c-format
 msgid "OPR_EOR (logical exclusive or)\n"
 msgstr ""
 
-#: vms-alpha.c:6318
+#: vms-alpha.c:6319
 #, c-format
 msgid "OPR_NEG (negate)\n"
 msgstr ""
 
-#: vms-alpha.c:6321
+#: vms-alpha.c:6322
 #, c-format
 msgid "OPR_COM (complement)\n"
 msgstr ""
 
-#: vms-alpha.c:6324
+#: vms-alpha.c:6325
 #, c-format
 msgid "OPR_INSV (insert field)\n"
 msgstr ""
 
-#: vms-alpha.c:6327
+#: vms-alpha.c:6328
 #, c-format
 msgid "OPR_ASH (arithmetic shift)\n"
 msgstr ""
 
-#: vms-alpha.c:6330
+#: vms-alpha.c:6331
 #, c-format
 msgid "OPR_USH (unsigned shift)\n"
 msgstr ""
 
-#: vms-alpha.c:6333
+#: vms-alpha.c:6334
 #, c-format
 msgid "OPR_ROT (rotate)\n"
 msgstr ""
 
-#: vms-alpha.c:6336
+#: vms-alpha.c:6337
 #, c-format
 msgid "OPR_SEL (select)\n"
 msgstr ""
 
-#: vms-alpha.c:6339
+#: vms-alpha.c:6340
 #, c-format
 msgid "OPR_REDEF (redefine symbol to curr location)\n"
 msgstr ""
 
-#: vms-alpha.c:6342
+#: vms-alpha.c:6343
 #, c-format
 msgid "OPR_REDEF (define a literal)\n"
 msgstr ""
 
-#: vms-alpha.c:6346
+#: vms-alpha.c:6347
 #, c-format
 msgid "STC_LP (store cond linkage pair)\n"
 msgstr ""
 
-#: vms-alpha.c:6350
+#: vms-alpha.c:6351
 #, c-format
 msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
 msgstr ""
 
-#: vms-alpha.c:6352
+#: vms-alpha.c:6353
 #, c-format
 msgid "   linkage index: %u, procedure: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6355
+#: vms-alpha.c:6356
 #, c-format
 msgid "   signature: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6358
+#: vms-alpha.c:6359
 #, c-format
 msgid "STC_GBL (store cond global)\n"
 msgstr ""
 
-#: vms-alpha.c:6360
+#: vms-alpha.c:6361
 #, c-format
 msgid "   linkage index: %u, global: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6364
+#: vms-alpha.c:6365
 #, c-format
 msgid "STC_GCA (store cond code address)\n"
 msgstr ""
 
-#: vms-alpha.c:6366
+#: vms-alpha.c:6367
 #, c-format
 msgid "   linkage index: %u, procedure name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6370
+#: vms-alpha.c:6371
 #, c-format
 msgid "STC_PS (store cond psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6373
+#: vms-alpha.c:6374
 #, c-format
 msgid "   linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6380
+#: vms-alpha.c:6381
 #, c-format
 msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
 msgstr ""
 
-#: vms-alpha.c:6384
+#: vms-alpha.c:6385
 #, c-format
 msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6388
+#: vms-alpha.c:6389
 #, c-format
 msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
 msgstr ""
 
-#: vms-alpha.c:6392
+#: vms-alpha.c:6393
 #, c-format
 msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6396
+#: vms-alpha.c:6397
 #, c-format
 msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
 msgstr ""
 
-#: vms-alpha.c:6400
+#: vms-alpha.c:6401
 #, c-format
 msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6404
+#: vms-alpha.c:6405
 #, c-format
 msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
 msgstr ""
 
-#: vms-alpha.c:6408
+#: vms-alpha.c:6409
 #, c-format
 msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6413
+#: vms-alpha.c:6414
 #, c-format
 msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
 msgstr ""
 
-#: vms-alpha.c:6417
+#: vms-alpha.c:6418
 #, c-format
 msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6421
+#: vms-alpha.c:6422
 #, c-format
 msgid "CTL_SETRB (set relocation base)\n"
 msgstr ""
 
-#: vms-alpha.c:6427
+#: vms-alpha.c:6428
 #, c-format
 msgid "CTL_AUGRB (augment relocation base) %u\n"
 msgstr ""
 
-#: vms-alpha.c:6431
+#: vms-alpha.c:6432
 #, c-format
 msgid "CTL_DFLOC (define location)\n"
 msgstr ""
 
-#: vms-alpha.c:6434
+#: vms-alpha.c:6435
 #, c-format
 msgid "CTL_STLOC (set location)\n"
 msgstr ""
 
-#: vms-alpha.c:6437
+#: vms-alpha.c:6438
 #, c-format
 msgid "CTL_STKDL (stack defined location)\n"
 msgstr ""
 
-#: vms-alpha.c:6440 vms-alpha.c:6864 vms-alpha.c:6990
+#: vms-alpha.c:6441 vms-alpha.c:6865 vms-alpha.c:6991
 #, c-format
 msgid "*unhandled*\n"
 msgstr ""
 
-#: vms-alpha.c:6470 vms-alpha.c:6509
+#: vms-alpha.c:6471 vms-alpha.c:6510
 #, c-format
 msgid "cannot read GST record length\n"
 msgstr ""
 
 #. Ill-formed.
-#: vms-alpha.c:6491
+#: vms-alpha.c:6492
 #, c-format
 msgid "cannot find EMH in first GST record\n"
 msgstr ""
 
-#: vms-alpha.c:6517
+#: vms-alpha.c:6518
 #, c-format
 msgid "cannot read GST record header\n"
 msgstr ""
 
-#: vms-alpha.c:6530
+#: vms-alpha.c:6531
 #, c-format
 msgid " corrupted GST\n"
 msgstr ""
 
-#: vms-alpha.c:6538
+#: vms-alpha.c:6539
 #, c-format
 msgid "cannot read GST record\n"
 msgstr ""
 
-#: vms-alpha.c:6567
+#: vms-alpha.c:6568
 #, c-format
 msgid " unhandled EOBJ record type %u\n"
 msgstr ""
 
-#: vms-alpha.c:6591
+#: vms-alpha.c:6592
 #, c-format
 msgid "  bitcount: %u, base addr: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6605
+#: vms-alpha.c:6606
 #, c-format
 msgid "   bitmap: 0x%08x (count: %u):\n"
 msgstr ""
 
-#: vms-alpha.c:6612
+#: vms-alpha.c:6613
 #, c-format
 msgid " %08x"
 msgstr ""
 
-#: vms-alpha.c:6638
+#: vms-alpha.c:6639
 #, c-format
 msgid "  image %u (%u entries)\n"
 msgstr ""
 
-#: vms-alpha.c:6644
+#: vms-alpha.c:6645
 #, c-format
 msgid "   offset: 0x%08x, val: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6666
+#: vms-alpha.c:6667
 #, c-format
 msgid "  image %u (%u entries), offsets:\n"
 msgstr ""
 
-#: vms-alpha.c:6673
+#: vms-alpha.c:6674
 #, c-format
 msgid " 0x%08x"
 msgstr ""
 
 #. 64 bits.
-#: vms-alpha.c:6795
+#: vms-alpha.c:6796
 #, c-format
 msgid "64 bits *unhandled*\n"
 msgstr ""
 
-#: vms-alpha.c:6800
+#: vms-alpha.c:6801
 #, c-format
 msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6811
+#: vms-alpha.c:6812
 #, c-format
 msgid "non-contiguous array of %s\n"
 msgstr ""
 
-#: vms-alpha.c:6816
+#: vms-alpha.c:6817
 #, c-format
 msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
 msgstr ""
 
-#: vms-alpha.c:6821
+#: vms-alpha.c:6822
 #, c-format
 msgid "arsize: %u, a0: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6825
+#: vms-alpha.c:6826
 #, c-format
 msgid "Strides:\n"
 msgstr ""
 
-#: vms-alpha.c:6835
+#: vms-alpha.c:6836
 #, c-format
 msgid "Bounds:\n"
 msgstr ""
 
-#: vms-alpha.c:6841
+#: vms-alpha.c:6842
 #, c-format
 msgid "[%u]: Lower: %u, upper: %u\n"
 msgstr ""
 
-#: vms-alpha.c:6853
+#: vms-alpha.c:6854
 #, c-format
 msgid "unaligned bit-string of %s\n"
 msgstr ""
 
-#: vms-alpha.c:6858
+#: vms-alpha.c:6859
 #, c-format
 msgid "base: %u, pos: %u\n"
 msgstr ""
 
-#: vms-alpha.c:6879
+#: vms-alpha.c:6880
 #, c-format
 msgid "vflags: 0x%02x, value: 0x%08x "
 msgstr ""
 
-#: vms-alpha.c:6885
+#: vms-alpha.c:6886
 #, c-format
 msgid "(no value)\n"
 msgstr ""
 
-#: vms-alpha.c:6888
+#: vms-alpha.c:6889
 #, c-format
 msgid "(not active)\n"
 msgstr ""
 
-#: vms-alpha.c:6891
+#: vms-alpha.c:6892
 #, c-format
 msgid "(not allocated)\n"
 msgstr ""
 
-#: vms-alpha.c:6894
+#: vms-alpha.c:6895
 #, c-format
 msgid "(descriptor)\n"
 msgstr ""
 
-#: vms-alpha.c:6898
+#: vms-alpha.c:6899
 #, c-format
 msgid "(trailing value)\n"
 msgstr ""
 
-#: vms-alpha.c:6901
+#: vms-alpha.c:6902
 #, c-format
 msgid "(value spec follows)\n"
 msgstr ""
 
-#: vms-alpha.c:6904
+#: vms-alpha.c:6905
 #, c-format
 msgid "(at bit offset %u)\n"
 msgstr ""
 
-#: vms-alpha.c:6908
+#: vms-alpha.c:6909
 #, c-format
 msgid "(reg: %u, disp: %u, indir: %u, kind: "
 msgstr ""
 
-#: vms-alpha.c:6915
+#: vms-alpha.c:6916
 msgid "literal"
 msgstr ""
 
-#: vms-alpha.c:6918
+#: vms-alpha.c:6919
 msgid "address"
 msgstr ""
 
-#: vms-alpha.c:6921
+#: vms-alpha.c:6922
 msgid "desc"
 msgstr ""
 
-#: vms-alpha.c:6924
+#: vms-alpha.c:6925
 msgid "reg"
 msgstr ""
 
-#: vms-alpha.c:6941
+#: vms-alpha.c:6942
 #, c-format
 msgid "len: %2u, kind: %2u "
 msgstr ""
 
-#: vms-alpha.c:6947
+#: vms-alpha.c:6948
 #, c-format
 msgid "atomic, type=0x%02x %s\n"
 msgstr ""
 
-#: vms-alpha.c:6951
+#: vms-alpha.c:6952
 #, c-format
 msgid "indirect, defined at 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6955
+#: vms-alpha.c:6956
 #, c-format
 msgid "typed pointer\n"
 msgstr ""
 
-#: vms-alpha.c:6959
+#: vms-alpha.c:6960
 #, c-format
 msgid "pointer\n"
 msgstr ""
 
-#: vms-alpha.c:6967
+#: vms-alpha.c:6968
 #, c-format
 msgid "array, dim: %u, bitmap: "
 msgstr ""
 
-#: vms-alpha.c:6974
+#: vms-alpha.c:6975
 #, c-format
 msgid "array descriptor:\n"
 msgstr ""
 
-#: vms-alpha.c:6981
+#: vms-alpha.c:6982
 #, c-format
 msgid "type spec for element:\n"
 msgstr ""
 
-#: vms-alpha.c:6983
+#: vms-alpha.c:6984
 #, c-format
 msgid "type spec for subscript %u:\n"
 msgstr ""
 
-#: vms-alpha.c:7001
+#: vms-alpha.c:7002
 #, c-format
 msgid "Debug symbol table:\n"
 msgstr ""
 
-#: vms-alpha.c:7012
+#: vms-alpha.c:7013
 #, c-format
 msgid "cannot read DST header\n"
 msgstr ""
 
-#: vms-alpha.c:7018
+#: vms-alpha.c:7019
 #, c-format
 msgid " type: %3u, len: %3u (at 0x%08x): "
 msgstr ""
 
-#: vms-alpha.c:7032
+#: vms-alpha.c:7033
 #, c-format
 msgid "cannot read DST symbol\n"
 msgstr ""
 
-#: vms-alpha.c:7075
+#: vms-alpha.c:7076
 #, c-format
 msgid "standard data: %s\n"
 msgstr ""
 
-#: vms-alpha.c:7078 vms-alpha.c:7166
+#: vms-alpha.c:7079 vms-alpha.c:7167
 #, c-format
 msgid "    name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7085
+#: vms-alpha.c:7086
 #, c-format
 msgid "modbeg\n"
 msgstr ""
 
-#: vms-alpha.c:7087
+#: vms-alpha.c:7088
 #, c-format
 msgid "   flags: %d, language: %u, major: %u, minor: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7093 vms-alpha.c:7367
+#: vms-alpha.c:7094 vms-alpha.c:7368
 #, c-format
 msgid "   module name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7096
+#: vms-alpha.c:7097
 #, c-format
 msgid "   compiler   : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7101
+#: vms-alpha.c:7102
 #, c-format
 msgid "modend\n"
 msgstr ""
 
-#: vms-alpha.c:7108
+#: vms-alpha.c:7109
 msgid "rtnbeg\n"
 msgstr ""
 
-#: vms-alpha.c:7110
+#: vms-alpha.c:7111
 #, c-format
 msgid "    flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7115
+#: vms-alpha.c:7116
 #, c-format
 msgid "    routine name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7123
+#: vms-alpha.c:7124
 #, c-format
 msgid "rtnend: size 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7131
+#: vms-alpha.c:7132
 #, c-format
 msgid "prolog: bkpt address 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7140
+#: vms-alpha.c:7141
 #, c-format
 msgid "epilog: flags: %u, count: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7150
+#: vms-alpha.c:7151
 #, c-format
 msgid "blkbeg: address: 0x%08x, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7159
+#: vms-alpha.c:7160
 #, c-format
 msgid "blkend: size: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7165
+#: vms-alpha.c:7166
 #, c-format
 msgid "typspec (len: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7172
+#: vms-alpha.c:7173
 #, c-format
 msgid "septyp, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7181
+#: vms-alpha.c:7182
 #, c-format
 msgid "recbeg: name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7183
+#: vms-alpha.c:7184
 #, c-format
 msgid "    len: %u bits\n"
 msgstr ""
 
-#: vms-alpha.c:7188
+#: vms-alpha.c:7189
 #, c-format
 msgid "recend\n"
 msgstr ""
 
-#: vms-alpha.c:7192
+#: vms-alpha.c:7193
 #, c-format
 msgid "enumbeg, len: %u, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7196
+#: vms-alpha.c:7197
 #, c-format
 msgid "enumelt, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7200
+#: vms-alpha.c:7201
 #, c-format
 msgid "enumend\n"
 msgstr ""
 
-#: vms-alpha.c:7205
+#: vms-alpha.c:7206
 #, c-format
 msgid "label, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7207
+#: vms-alpha.c:7208
 #, c-format
 msgid "    address: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7217
+#: vms-alpha.c:7218
 #, c-format
 msgid "discontiguous range (nbr: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7220
+#: vms-alpha.c:7221
 #, c-format
 msgid "    address: 0x%08x, size: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7230
+#: vms-alpha.c:7231
 #, c-format
 msgid "line num  (len: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7247
+#: vms-alpha.c:7248
 #, c-format
 msgid "delta_pc_w %u\n"
 msgstr ""
 
-#: vms-alpha.c:7254
+#: vms-alpha.c:7255
 #, c-format
 msgid "incr_linum(b): +%u\n"
 msgstr ""
 
-#: vms-alpha.c:7260
+#: vms-alpha.c:7261
 #, c-format
 msgid "incr_linum_w: +%u\n"
 msgstr ""
 
-#: vms-alpha.c:7266
+#: vms-alpha.c:7267
 #, c-format
 msgid "incr_linum_l: +%u\n"
 msgstr ""
 
-#: vms-alpha.c:7272
+#: vms-alpha.c:7273
 #, c-format
 msgid "set_line_num(w) %u\n"
 msgstr ""
 
-#: vms-alpha.c:7277
+#: vms-alpha.c:7278
 #, c-format
 msgid "set_line_num_b %u\n"
 msgstr ""
 
-#: vms-alpha.c:7282
+#: vms-alpha.c:7283
 #, c-format
 msgid "set_line_num_l %u\n"
 msgstr ""
 
-#: vms-alpha.c:7287
+#: vms-alpha.c:7288
 #, c-format
 msgid "set_abs_pc: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7291
+#: vms-alpha.c:7292
 #, c-format
 msgid "delta_pc_l: +0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7296
+#: vms-alpha.c:7297
 #, c-format
 msgid "term(b): 0x%02x"
 msgstr ""
 
-#: vms-alpha.c:7298
+#: vms-alpha.c:7299
 #, c-format
 msgid "        pc: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7303
+#: vms-alpha.c:7304
 #, c-format
 msgid "term_w: 0x%04x"
 msgstr ""
 
-#: vms-alpha.c:7305
+#: vms-alpha.c:7306
 #, c-format
 msgid "    pc: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7311
+#: vms-alpha.c:7312
 #, c-format
 msgid "delta pc +%-4d"
 msgstr ""
 
-#: vms-alpha.c:7315
+#: vms-alpha.c:7316
 #, c-format
 msgid "    pc: 0x%08x line: %5u\n"
 msgstr ""
 
-#: vms-alpha.c:7320
+#: vms-alpha.c:7321
 #, c-format
 msgid "    *unhandled* cmd %u\n"
 msgstr ""
 
-#: vms-alpha.c:7335
+#: vms-alpha.c:7336
 #, c-format
 msgid "source (len: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7350
+#: vms-alpha.c:7351
 #, c-format
 msgid "   declfile: len: %u, flags: %u, fileid: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7355
+#: vms-alpha.c:7356
 #, c-format
 msgid "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7364
+#: vms-alpha.c:7365
 #, c-format
 msgid "   filename   : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7373
+#: vms-alpha.c:7374
 #, c-format
 msgid "   setfile %u\n"
 msgstr ""
 
-#: vms-alpha.c:7378 vms-alpha.c:7383
+#: vms-alpha.c:7379 vms-alpha.c:7384
 #, c-format
 msgid "   setrec %u\n"
 msgstr ""
 
-#: vms-alpha.c:7388 vms-alpha.c:7393
+#: vms-alpha.c:7389 vms-alpha.c:7394
 #, c-format
 msgid "   setlnum %u\n"
 msgstr ""
 
-#: vms-alpha.c:7398 vms-alpha.c:7403
+#: vms-alpha.c:7399 vms-alpha.c:7404
 #, c-format
 msgid "   deflines %u\n"
 msgstr ""
 
-#: vms-alpha.c:7407
+#: vms-alpha.c:7408
 #, c-format
 msgid "   formfeed\n"
 msgstr ""
 
-#: vms-alpha.c:7411
+#: vms-alpha.c:7412
 #, c-format
 msgid "   *unhandled* cmd %u\n"
 msgstr ""
 
-#: vms-alpha.c:7423
+#: vms-alpha.c:7424
 #, c-format
 msgid "*unhandled* dst type %u\n"
 msgstr ""
 
-#: vms-alpha.c:7455
+#: vms-alpha.c:7456
 #, c-format
 msgid "cannot read EIHD\n"
 msgstr ""
 
-#: vms-alpha.c:7459
+#: vms-alpha.c:7460
 #, c-format
 msgid "EIHD: (size: %u, nbr blocks: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7463
+#: vms-alpha.c:7464
 #, c-format
 msgid " majorid: %u, minorid: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7471
+#: vms-alpha.c:7472
 msgid "executable"
 msgstr ""
 
-#: vms-alpha.c:7474
+#: vms-alpha.c:7475
 msgid "linkable image"
 msgstr ""
 
-#: vms-alpha.c:7481
+#: vms-alpha.c:7482
 #, c-format
 msgid " image type: %u (%s)"
 msgstr ""
 
-#: vms-alpha.c:7487
+#: vms-alpha.c:7488
 msgid "native"
 msgstr ""
 
-#: vms-alpha.c:7490
+#: vms-alpha.c:7491
 msgid "CLI"
 msgstr ""
 
-#: vms-alpha.c:7497
+#: vms-alpha.c:7498
 #, c-format
 msgid ", subtype: %u (%s)\n"
 msgstr ""
 
-#: vms-alpha.c:7504
+#: vms-alpha.c:7505
 #, c-format
 msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7508
+#: vms-alpha.c:7509
 #, c-format
 msgid " fixup info rva: "
 msgstr ""
 
-#: vms-alpha.c:7510
+#: vms-alpha.c:7511
 #, c-format
 msgid ", symbol vector rva: "
 msgstr ""
 
-#: vms-alpha.c:7513
+#: vms-alpha.c:7514
 #, c-format
 msgid ""
 "\n"
 " version array off: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7518
+#: vms-alpha.c:7519
 #, c-format
 msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7524
+#: vms-alpha.c:7525
 #, c-format
 msgid " linker flags: %08x:"
 msgstr ""
 
-#: vms-alpha.c:7555
+#: vms-alpha.c:7556
 #, c-format
 msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7561
+#: vms-alpha.c:7562
 #, c-format
 msgid " BPAGE: %u"
 msgstr ""
 
-#: vms-alpha.c:7568
+#: vms-alpha.c:7569
 #, c-format
 msgid ", ext fixup offset: %u, no_opt psect off: %u"
 msgstr ""
 
-#: vms-alpha.c:7571
+#: vms-alpha.c:7572
 #, c-format
 msgid ", alias: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7579
+#: vms-alpha.c:7580
 #, c-format
 msgid "system version array information:\n"
 msgstr ""
 
-#: vms-alpha.c:7583
+#: vms-alpha.c:7584
 #, c-format
 msgid "cannot read EIHVN header\n"
 msgstr ""
 
-#: vms-alpha.c:7593
+#: vms-alpha.c:7594
 #, c-format
 msgid "cannot read EIHVN version\n"
 msgstr ""
 
-#: vms-alpha.c:7596
+#: vms-alpha.c:7597
 #, c-format
 msgid "   %02u "
 msgstr ""
 
-#: vms-alpha.c:7600
+#: vms-alpha.c:7601
 msgid "BASE_IMAGE       "
 msgstr ""
 
-#: vms-alpha.c:7603
+#: vms-alpha.c:7604
 msgid "MEMORY_MANAGEMENT"
 msgstr ""
 
-#: vms-alpha.c:7606
+#: vms-alpha.c:7607
 msgid "IO               "
 msgstr ""
 
-#: vms-alpha.c:7609
+#: vms-alpha.c:7610
 msgid "FILES_VOLUMES    "
 msgstr ""
 
-#: vms-alpha.c:7612
+#: vms-alpha.c:7613
 msgid "PROCESS_SCHED    "
 msgstr ""
 
-#: vms-alpha.c:7615
+#: vms-alpha.c:7616
 msgid "SYSGEN           "
 msgstr ""
 
-#: vms-alpha.c:7618
+#: vms-alpha.c:7619
 msgid "CLUSTERS_LOCKMGR "
 msgstr ""
 
-#: vms-alpha.c:7621
+#: vms-alpha.c:7622
 msgid "LOGICAL_NAMES    "
 msgstr ""
 
-#: vms-alpha.c:7624
+#: vms-alpha.c:7625
 msgid "SECURITY         "
 msgstr ""
 
-#: vms-alpha.c:7627
+#: vms-alpha.c:7628
 msgid "IMAGE_ACTIVATOR  "
 msgstr ""
 
-#: vms-alpha.c:7630
+#: vms-alpha.c:7631
 msgid "NETWORKS         "
 msgstr ""
 
-#: vms-alpha.c:7633
+#: vms-alpha.c:7634
 msgid "COUNTERS         "
 msgstr ""
 
-#: vms-alpha.c:7636
+#: vms-alpha.c:7637
 msgid "STABLE           "
 msgstr ""
 
-#: vms-alpha.c:7639
+#: vms-alpha.c:7640
 msgid "MISC             "
 msgstr ""
 
-#: vms-alpha.c:7642
+#: vms-alpha.c:7643
 msgid "CPU              "
 msgstr ""
 
-#: vms-alpha.c:7645
+#: vms-alpha.c:7646
 msgid "VOLATILE         "
 msgstr ""
 
-#: vms-alpha.c:7648
+#: vms-alpha.c:7649
 msgid "SHELL            "
 msgstr ""
 
-#: vms-alpha.c:7651
+#: vms-alpha.c:7652
 msgid "POSIX            "
 msgstr ""
 
-#: vms-alpha.c:7654
+#: vms-alpha.c:7655
 msgid "MULTI_PROCESSING "
 msgstr ""
 
-#: vms-alpha.c:7657
+#: vms-alpha.c:7658
 msgid "GALAXY           "
 msgstr ""
 
-#: vms-alpha.c:7660
+#: vms-alpha.c:7661
 msgid "*unknown*        "
 msgstr ""
 
-#: vms-alpha.c:7676 vms-alpha.c:7951
+#: vms-alpha.c:7677 vms-alpha.c:7952
 #, c-format
 msgid "cannot read EIHA\n"
 msgstr ""
 
-#: vms-alpha.c:7679
+#: vms-alpha.c:7680
 #, c-format
 msgid "Image activation:  (size=%u)\n"
 msgstr ""
 
-#: vms-alpha.c:7682
+#: vms-alpha.c:7683
 #, c-format
 msgid " First address : 0x%08x 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7686
+#: vms-alpha.c:7687
 #, c-format
 msgid " Second address: 0x%08x 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7690
+#: vms-alpha.c:7691
 #, c-format
 msgid " Third address : 0x%08x 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7694
+#: vms-alpha.c:7695
 #, c-format
 msgid " Fourth address: 0x%08x 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7698
+#: vms-alpha.c:7699
 #, c-format
 msgid " Shared image  : 0x%08x 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7709
+#: vms-alpha.c:7710
 #, c-format
 msgid "cannot read EIHI\n"
 msgstr ""
 
-#: vms-alpha.c:7713
+#: vms-alpha.c:7714
 #, c-format
 msgid "Image identification: (major: %u, minor: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7716
+#: vms-alpha.c:7717
 #, c-format
 msgid " image name       : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7718
+#: vms-alpha.c:7719
 #, c-format
 msgid " link time        : %s\n"
 msgstr ""
 
-#: vms-alpha.c:7720
+#: vms-alpha.c:7721
 #, c-format
 msgid " image ident      : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7722
+#: vms-alpha.c:7723
 #, c-format
 msgid " linker ident     : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7724
+#: vms-alpha.c:7725
 #, c-format
 msgid " image build ident: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7734
+#: vms-alpha.c:7735
 #, c-format
 msgid "cannot read EIHS\n"
 msgstr ""
 
-#: vms-alpha.c:7738
+#: vms-alpha.c:7739
 #, c-format
 msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7744
+#: vms-alpha.c:7745
 #, c-format
 msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
 msgstr ""
 
-#: vms-alpha.c:7749
+#: vms-alpha.c:7750
 #, c-format
 msgid " global symbol table: vbn: %u, records: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7754
+#: vms-alpha.c:7755
 #, c-format
 msgid " debug module table : vbn: %u, size: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7767
+#: vms-alpha.c:7768
 #, c-format
 msgid "cannot read EISD\n"
 msgstr ""
 
-#: vms-alpha.c:7778
+#: vms-alpha.c:7779
 #, c-format
 msgid ""
 "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7786
+#: vms-alpha.c:7787
 #, c-format
 msgid " section: base: 0x%08x%08x size: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7791
+#: vms-alpha.c:7792
 #, c-format
 msgid " flags: 0x%04x"
 msgstr ""
 
-#: vms-alpha.c:7829
+#: vms-alpha.c:7830
 #, c-format
 msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
 msgstr ""
 
-#: vms-alpha.c:7835
+#: vms-alpha.c:7836
 msgid "NORMAL"
 msgstr ""
 
-#: vms-alpha.c:7838
+#: vms-alpha.c:7839
 msgid "SHRFXD"
 msgstr ""
 
-#: vms-alpha.c:7841
+#: vms-alpha.c:7842
 msgid "PRVFXD"
 msgstr ""
 
-#: vms-alpha.c:7844
+#: vms-alpha.c:7845
 msgid "SHRPIC"
 msgstr ""
 
-#: vms-alpha.c:7847
+#: vms-alpha.c:7848
 msgid "PRVPIC"
 msgstr ""
 
-#: vms-alpha.c:7850
+#: vms-alpha.c:7851
 msgid "USRSTACK"
 msgstr ""
 
-#: vms-alpha.c:7856
+#: vms-alpha.c:7857
 msgid ")\n"
 msgstr ""
 
-#: vms-alpha.c:7859
+#: vms-alpha.c:7860
 #, c-format
 msgid " ident: 0x%08x, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7869
+#: vms-alpha.c:7870
 #, c-format
 msgid "cannot read DMT\n"
 msgstr ""
 
-#: vms-alpha.c:7873
+#: vms-alpha.c:7874
 #, c-format
 msgid "Debug module table:\n"
 msgstr ""
 
-#: vms-alpha.c:7882
+#: vms-alpha.c:7883
 #, c-format
 msgid "cannot read DMT header\n"
 msgstr ""
 
-#: vms-alpha.c:7888
+#: vms-alpha.c:7889
 #, c-format
 msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
 msgstr ""
 
-#: vms-alpha.c:7898
+#: vms-alpha.c:7899
 #, c-format
 msgid "cannot read DMT psect\n"
 msgstr ""
 
-#: vms-alpha.c:7902
+#: vms-alpha.c:7903
 #, c-format
 msgid "  psect start: 0x%08x, length: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7915
+#: vms-alpha.c:7916
 #, c-format
 msgid "cannot read DST\n"
 msgstr ""
 
-#: vms-alpha.c:7925
+#: vms-alpha.c:7926
 #, c-format
 msgid "cannot read GST\n"
 msgstr ""
 
-#: vms-alpha.c:7929
+#: vms-alpha.c:7930
 #, c-format
 msgid "Global symbol table:\n"
 msgstr ""
 
-#: vms-alpha.c:7958
+#: vms-alpha.c:7959
 #, c-format
 msgid "Image activator fixup: (major: %u, minor: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7962
+#: vms-alpha.c:7963
 #, c-format
 msgid "  iaflink : 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:7966
+#: vms-alpha.c:7967
 #, c-format
 msgid "  fixuplnk: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:7969
+#: vms-alpha.c:7970
 #, c-format
 msgid "  size : %u\n"
 msgstr ""
 
-#: vms-alpha.c:7971
+#: vms-alpha.c:7972
 #, c-format
 msgid "  flags: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7976
+#: vms-alpha.c:7977
 #, c-format
 msgid "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 msgstr ""
 
-#: vms-alpha.c:7981
+#: vms-alpha.c:7982
 #, c-format
 msgid "  qdotadroff: %5u, ldotadroff: %5u\n"
 msgstr ""
 
-#: vms-alpha.c:7986
+#: vms-alpha.c:7987
 #, c-format
 msgid "  codeadroff: %5u, lpfixoff  : %5u\n"
 msgstr ""
 
-#: vms-alpha.c:7989
+#: vms-alpha.c:7990
 #, c-format
 msgid "  chgprtoff : %5u\n"
 msgstr ""
 
-#: vms-alpha.c:7993
+#: vms-alpha.c:7994
 #, c-format
 msgid "  shlstoff  : %5u, shrimgcnt : %5u\n"
 msgstr ""
 
-#: vms-alpha.c:7996
+#: vms-alpha.c:7997
 #, c-format
 msgid "  shlextra  : %5u, permctx   : %5u\n"
 msgstr ""
 
-#: vms-alpha.c:7999
+#: vms-alpha.c:8000
 #, c-format
 msgid "  base_va : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:8001
+#: vms-alpha.c:8002
 #, c-format
 msgid "  lppsbfixoff: %5u\n"
 msgstr ""
 
-#: vms-alpha.c:8009
+#: vms-alpha.c:8010
 #, c-format
 msgid " Shareable images:\n"
 msgstr ""
 
-#: vms-alpha.c:8014
+#: vms-alpha.c:8015
 #, c-format
 msgid "  %u: size: %u, flags: 0x%02x, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:8021
+#: vms-alpha.c:8022
 #, c-format
 msgid " quad-word relocation fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8026
+#: vms-alpha.c:8027
 #, c-format
 msgid " long-word relocation fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8031
+#: vms-alpha.c:8032
 #, c-format
 msgid " quad-word .address reference fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8036
+#: vms-alpha.c:8037
 #, c-format
 msgid " long-word .address reference fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8041
+#: vms-alpha.c:8042
 #, c-format
 msgid " Code Address Reference Fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8046
+#: vms-alpha.c:8047
 #, c-format
 msgid " Linkage Pairs Reference Fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8055
+#: vms-alpha.c:8056
 #, c-format
 msgid " Change Protection (%u entries):\n"
 msgstr ""
 
-#: vms-alpha.c:8061
+#: vms-alpha.c:8062
 #, c-format
 msgid "  base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
 msgstr ""
 
 #. FIXME: we do not yet support relocatable link.  It is not obvious
 #. how to do it for debug infos.
-#: vms-alpha.c:8901
+#: vms-alpha.c:8902
 msgid "%P: relocatable link is not supported\n"
 msgstr ""
 
-#: vms-alpha.c:8972
+#: vms-alpha.c:8973
 #, c-format
-msgid "%P: multiple entry points: in modules %B and %B\n"
+msgid "%P: multiple entry points: in modules %pB and %pB\n"
 msgstr ""
 
 #: vms-lib.c:1445
@@ -8049,336 +7781,378 @@ msgid "_bfd_vms_output_counted called wi
 msgstr ""
 
 #: xcofflink.c:832
-msgid "%B: XCOFF shared object when not producing XCOFF output"
+#, c-format
+msgid "%pB: XCOFF shared object when not producing XCOFF output"
 msgstr ""
 
 #: xcofflink.c:853
-msgid "%B: dynamic object with no .loader section"
+#, c-format
+msgid "%pB: dynamic object with no .loader section"
 msgstr ""
 
 #: xcofflink.c:1413
 #, c-format
-msgid "%B: `%s' has line numbers but no enclosing section"
+msgid "%pB: `%s' has line numbers but no enclosing section"
 msgstr ""
 
 #: xcofflink.c:1466
 #, c-format
-msgid "%B: class %d symbol `%s' has no aux entries"
+msgid "%pB: class %d symbol `%s' has no aux entries"
 msgstr ""
 
 #: xcofflink.c:1489
 #, c-format
-msgid "%B: symbol `%s' has unrecognized csect type %d"
+msgid "%pB: symbol `%s' has unrecognized csect type %d"
 msgstr ""
 
 #: xcofflink.c:1502
 #, c-format
-msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld"
+msgid "%pB: bad XTY_ER symbol `%s': class %d scnum %d scnlen %<PRId64>"
 msgstr ""
 
-#: xcofflink.c:1532
+#: xcofflink.c:1533
 #, c-format
-msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld"
+msgid "%pB: XMC_TC0 symbol `%s' is class %d scnlen %<PRId64>"
 msgstr ""
 
-#: xcofflink.c:1679
+#: xcofflink.c:1680
 #, c-format
-msgid "%B: csect `%s' not in enclosing section"
+msgid "%pB: csect `%s' not in enclosing section"
 msgstr ""
 
-#: xcofflink.c:1787
+#: xcofflink.c:1788
 #, c-format
-msgid "%B: misplaced XTY_LD `%s'"
+msgid "%pB: misplaced XTY_LD `%s'"
 msgstr ""
 
-#: xcofflink.c:2108
+#: xcofflink.c:2109
 #, c-format
-msgid "%B: reloc %s:%Ld not in csect"
+msgid "%pB: reloc %s:%<PRId64> not in csect"
 msgstr ""
 
-#: xcofflink.c:3198
+#: xcofflink.c:3199
 #, c-format
 msgid "%s: no such symbol"
 msgstr ""
 
-#: xcofflink.c:3303
+#: xcofflink.c:3304
 #, c-format
 msgid "warning: attempt to export undefined symbol `%s'"
 msgstr ""
 
-#: xcofflink.c:3682
+#: xcofflink.c:3683
 msgid "error: undefined symbol __rtinit"
 msgstr ""
 
-#: xcofflink.c:4062
+#: xcofflink.c:4063
 #, c-format
-msgid "%B: loader reloc in unrecognized section `%s'"
+msgid "%pB: loader reloc in unrecognized section `%s'"
 msgstr ""
 
-#: xcofflink.c:4074
+#: xcofflink.c:4075
 #, c-format
-msgid "%B: `%s' in loader reloc but not loader sym"
+msgid "%pB: `%s' in loader reloc but not loader sym"
 msgstr ""
 
-#: xcofflink.c:4091
+#: xcofflink.c:4092
 #, c-format
-msgid "%B: loader reloc in read-only section %A"
+msgid "%pB: loader reloc in read-only section %pA"
 msgstr ""
 
-#: xcofflink.c:5115
+#: xcofflink.c:5116
 #, c-format
-msgid "TOC overflow: %#Lx > 0x10000; try -mminimal-toc when compiling"
+msgid "TOC overflow: %#<PRIx64> > 0x10000; try -mminimal-toc when compiling"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:1890
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5027
 #, c-format
-msgid "Invalid AArch64 reloc number: %d"
-msgstr ""
-
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:4777
-msgid "%B: error: Erratum 835769 stub out of range (input file too large)"
+msgid "%pB: error: erratum 835769 stub out of range (input file too large)"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:4858
-msgid "%B: error: Erratum 843419 stub out of range (input file too large)"
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5108
+#, c-format
+msgid "%pB: error: erratum 843419 stub out of range (input file too large)"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5340
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5638
 #, c-format
 msgid ""
-"%B: relocation %s against symbol `%s' which may bind externally can not be "
+"%pB: relocation %s against symbol `%s' which may bind externally can not be "
 "used when making a shared object; recompile with -fPIC"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5431
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5729
 #, c-format
 msgid ""
-"%B: Local symbol descriptor table be NULL when applying relocation %s "
+"%pB: local symbol descriptor table be NULL when applying relocation %s "
 "against local symbol"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6453
-msgid "Too many GOT entries for -fpic, please recompile with -fPIC"
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6761
+msgid "too many GOT entries for -fpic, please recompile with -fPIC"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6481
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6789
 msgid ""
-"One possible cause of this error is that the symbol is being referenced in "
+"one possible cause of this error is that the symbol is being referenced in "
 "the indicated code as if it had a larger alignment than was declared where "
-"it was defined."
+"it was defined"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7375
+#, c-format
+msgid ""
+"%pB: relocation %s against `%s' can not be used when making a shared object"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2281
+msgid "%X%P: internal error: out of range error\n"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2285
+msgid "%X%P: internal error: unsupported relocation error\n"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2600
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2295
+msgid "%X%P: internal error: unknown error\n"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2621
+#, c-format
 msgid ""
-"%B: ABI is incompatible with that of the selected emulation:\n"
+"%pB: ABI is incompatible with that of the selected emulation:\n"
 "  target emulation `%s' does not match `%s'"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2620
-msgid "%B: can't link hard-float modules with soft-float modules"
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2641
+#, c-format
+msgid "%pB: can't link hard-float modules with soft-float modules"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2649
+#, c-format
+msgid "%pB: can't link RVE with other target"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3167
+#, c-format
+msgid ""
+"%pB(%pA+%#<PRIx64>): %<PRId64> bytes required for alignment to %<PRId64>-"
+"byte boundary, but only %<PRId64> present"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3235
+#, c-format
+msgid ""
+"%pB(%pA+%#<PRIx64>): Unable to clear RISCV_PCREL_HI20 reloc for "
+"corresponding RISCV_PCREL_LO12 reloc"
 msgstr ""
 
 #: peigen.c:157 pepigen.c:157 pex64igen.c:157
-msgid "%B: unable to find name for empty section"
+#, c-format
+msgid "%pB: unable to find name for empty section"
 msgstr ""
 
 #: peigen.c:183 pepigen.c:183 pex64igen.c:183
-msgid "%B: out of memory creating name for empty section"
+#, c-format
+msgid "%pB: out of memory creating name for empty section"
 msgstr ""
 
 #: peigen.c:194 pepigen.c:194 pex64igen.c:194
-msgid "%B: unable to create fake empty section"
+#, c-format
+msgid "%pB: unable to create fake empty section"
 msgstr ""
 
 #: peigen.c:532 pepigen.c:532 pex64igen.c:532
+#, c-format
 msgid ""
-"%B: aout header specifies an invalid number of data-directory entries: %ld"
+"%pB: aout header specifies an invalid number of data-directory entries: %ld"
 msgstr ""
 
-#: peigen.c:1089 pepigen.c:1089 pex64igen.c:1089
+#: peigen.c:1090 pepigen.c:1090 pex64igen.c:1090
 #, c-format
-msgid "%B: line number overflow: 0x%lx > 0xffff"
+msgid "%pB: line number overflow: 0x%lx > 0xffff"
 msgstr ""
 
-#: peigen.c:1233 pepigen.c:1233 pex64igen.c:1233
+#: peigen.c:1234 pepigen.c:1234 pex64igen.c:1234
 msgid "Export Directory [.edata (or where ever we found it)]"
 msgstr ""
 
-#: peigen.c:1234 pepigen.c:1234 pex64igen.c:1234
+#: peigen.c:1235 pepigen.c:1235 pex64igen.c:1235
 msgid "Import Directory [parts of .idata]"
 msgstr ""
 
-#: peigen.c:1235 pepigen.c:1235 pex64igen.c:1235
+#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236
 msgid "Resource Directory [.rsrc]"
 msgstr ""
 
-#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236
+#: peigen.c:1237 pepigen.c:1237 pex64igen.c:1237
 msgid "Exception Directory [.pdata]"
 msgstr ""
 
-#: peigen.c:1237 pepigen.c:1237 pex64igen.c:1237
+#: peigen.c:1238 pepigen.c:1238 pex64igen.c:1238
 msgid "Security Directory"
 msgstr ""
 
-#: peigen.c:1238 pepigen.c:1238 pex64igen.c:1238
+#: peigen.c:1239 pepigen.c:1239 pex64igen.c:1239
 msgid "Base Relocation Directory [.reloc]"
 msgstr ""
 
-#: peigen.c:1239 pepigen.c:1239 pex64igen.c:1239
+#: peigen.c:1240 pepigen.c:1240 pex64igen.c:1240
 msgid "Debug Directory"
 msgstr ""
 
-#: peigen.c:1240 pepigen.c:1240 pex64igen.c:1240
+#: peigen.c:1241 pepigen.c:1241 pex64igen.c:1241
 msgid "Description Directory"
 msgstr ""
 
-#: peigen.c:1241 pepigen.c:1241 pex64igen.c:1241
+#: peigen.c:1242 pepigen.c:1242 pex64igen.c:1242
 msgid "Special Directory"
 msgstr ""
 
-#: peigen.c:1242 pepigen.c:1242 pex64igen.c:1242
+#: peigen.c:1243 pepigen.c:1243 pex64igen.c:1243
 msgid "Thread Storage Directory [.tls]"
 msgstr ""
 
-#: peigen.c:1243 pepigen.c:1243 pex64igen.c:1243
+#: peigen.c:1244 pepigen.c:1244 pex64igen.c:1244
 msgid "Load Configuration Directory"
 msgstr ""
 
-#: peigen.c:1244 pepigen.c:1244 pex64igen.c:1244
+#: peigen.c:1245 pepigen.c:1245 pex64igen.c:1245
 msgid "Bound Import Directory"
 msgstr ""
 
-#: peigen.c:1245 pepigen.c:1245 pex64igen.c:1245
+#: peigen.c:1246 pepigen.c:1246 pex64igen.c:1246
 msgid "Import Address Table Directory"
 msgstr ""
 
-#: peigen.c:1246 pepigen.c:1246 pex64igen.c:1246
+#: peigen.c:1247 pepigen.c:1247 pex64igen.c:1247
 msgid "Delay Import Directory"
 msgstr ""
 
-#: peigen.c:1247 pepigen.c:1247 pex64igen.c:1247
+#: peigen.c:1248 pepigen.c:1248 pex64igen.c:1248
 msgid "CLR Runtime Header"
 msgstr ""
 
-#: peigen.c:1248 pepigen.c:1248 pex64igen.c:1248
+#: peigen.c:1249 pepigen.c:1249 pex64igen.c:1249
 msgid "Reserved"
 msgstr ""
 
-#: peigen.c:1308 pepigen.c:1308 pex64igen.c:1308
+#: peigen.c:1309 pepigen.c:1309 pex64igen.c:1309
 #, c-format
 msgid ""
 "\n"
 "There is an import table, but the section containing it could not be found\n"
 msgstr ""
 
-#: peigen.c:1314 pepigen.c:1314 pex64igen.c:1314
+#: peigen.c:1315 pepigen.c:1315 pex64igen.c:1315
 #, c-format
 msgid ""
 "\n"
 "There is an import table in %s, but that section has no contents\n"
 msgstr ""
 
-#: peigen.c:1321 pepigen.c:1321 pex64igen.c:1321
+#: peigen.c:1322 pepigen.c:1322 pex64igen.c:1322
 #, c-format
 msgid ""
 "\n"
 "There is an import table in %s at 0x%lx\n"
 msgstr ""
 
-#: peigen.c:1363 pepigen.c:1363 pex64igen.c:1363
+#: peigen.c:1364 pepigen.c:1364 pex64igen.c:1364
 #, c-format
 msgid ""
 "\n"
 "Function descriptor located at the start address: %04lx\n"
 msgstr ""
 
-#: peigen.c:1367 pepigen.c:1367 pex64igen.c:1367
+#: peigen.c:1368 pepigen.c:1368 pex64igen.c:1368
 #, c-format
 msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
 msgstr ""
 
-#: peigen.c:1375 pepigen.c:1375 pex64igen.c:1375
+#: peigen.c:1376 pepigen.c:1376 pex64igen.c:1376
 #, c-format
 msgid ""
 "\n"
 "No reldata section! Function descriptor not decoded.\n"
 msgstr ""
 
-#: peigen.c:1380 pepigen.c:1380 pex64igen.c:1380
+#: peigen.c:1381 pepigen.c:1381 pex64igen.c:1381
 #, c-format
 msgid ""
 "\n"
 "The Import Tables (interpreted %s section contents)\n"
 msgstr ""
 
-#: peigen.c:1383 pepigen.c:1383 pex64igen.c:1383
+#: peigen.c:1384 pepigen.c:1384 pex64igen.c:1384
 #, c-format
 msgid ""
 " vma:            Hint    Time      Forward  DLL       First\n"
 "                 Table   Stamp     Chain    Name      Thunk\n"
 msgstr ""
 
-#: peigen.c:1433 pepigen.c:1433 pex64igen.c:1433
+#: peigen.c:1434 pepigen.c:1434 pex64igen.c:1434
 #, c-format
 msgid ""
 "\n"
 "\tDLL Name: %.*s\n"
 msgstr ""
 
-#: peigen.c:1449 pepigen.c:1449 pex64igen.c:1449
+#: peigen.c:1450 pepigen.c:1450 pex64igen.c:1450
 #, c-format
 msgid "\tvma:  Hint/Ord Member-Name Bound-To\n"
 msgstr ""
 
-#: peigen.c:1474 pepigen.c:1474 pex64igen.c:1474
+#: peigen.c:1475 pepigen.c:1475 pex64igen.c:1475
 #, c-format
 msgid ""
 "\n"
 "There is a first thunk, but the section containing it could not be found\n"
 msgstr ""
 
-#: peigen.c:1518 peigen.c:1556 pepigen.c:1518 pepigen.c:1556 pex64igen.c:1518
-#: pex64igen.c:1556
+#: peigen.c:1519 peigen.c:1558 pepigen.c:1519 pepigen.c:1558 pex64igen.c:1519
+#: pex64igen.c:1558
 #, c-format
 msgid "\t<corrupt: 0x%04lx>"
 msgstr ""
 
-#: peigen.c:1649 pepigen.c:1649 pex64igen.c:1649
+#: peigen.c:1651 pepigen.c:1651 pex64igen.c:1651
 #, c-format
 msgid ""
 "\n"
 "There is an export table, but the section containing it could not be found\n"
 msgstr ""
 
-#: peigen.c:1655 pepigen.c:1655 pex64igen.c:1655
+#: peigen.c:1657 pepigen.c:1657 pex64igen.c:1657
 #, c-format
 msgid ""
 "\n"
 "There is an export table in %s, but that section has no contents\n"
 msgstr ""
 
-#: peigen.c:1665 pepigen.c:1665 pex64igen.c:1665
+#: peigen.c:1667 pepigen.c:1667 pex64igen.c:1667
 #, c-format
 msgid ""
 "\n"
 "There is an export table in %s, but it does not fit into that section\n"
 msgstr ""
 
-#: peigen.c:1676 pepigen.c:1676 pex64igen.c:1676
+#: peigen.c:1678 pepigen.c:1678 pex64igen.c:1678
 #, c-format
 msgid ""
 "\n"
 "There is an export table in %s, but it is too small (%d)\n"
 msgstr ""
 
-#: peigen.c:1682 pepigen.c:1682 pex64igen.c:1682
+#: peigen.c:1684 pepigen.c:1684 pex64igen.c:1684
 #, c-format
 msgid ""
 "\n"
 "There is an export table in %s at 0x%lx\n"
 msgstr ""
 
-#: peigen.c:1710 pepigen.c:1710 pex64igen.c:1710
+#: peigen.c:1712 pepigen.c:1712 pex64igen.c:1712
 #, c-format
 msgid ""
 "\n"
@@ -8386,162 +8160,162 @@ msgid ""
 "\n"
 msgstr ""
 
-#: peigen.c:1714 pepigen.c:1714 pex64igen.c:1714
+#: peigen.c:1716 pepigen.c:1716 pex64igen.c:1716
 #, c-format
 msgid "Export Flags \t\t\t%lx\n"
 msgstr ""
 
-#: peigen.c:1717 pepigen.c:1717 pex64igen.c:1717
+#: peigen.c:1719 pepigen.c:1719 pex64igen.c:1719
 #, c-format
 msgid "Time/Date stamp \t\t%lx\n"
 msgstr ""
 
-#: peigen.c:1721 pepigen.c:1721 pex64igen.c:1721
+#: peigen.c:1723 pepigen.c:1723 pex64igen.c:1723
 #, c-format
 msgid "Major/Minor \t\t\t%d/%d\n"
 msgstr ""
 
-#: peigen.c:1724 pepigen.c:1724 pex64igen.c:1724
+#: peigen.c:1726 pepigen.c:1726 pex64igen.c:1726
 #, c-format
 msgid "Name \t\t\t\t"
 msgstr ""
 
-#: peigen.c:1735 pepigen.c:1735 pex64igen.c:1735
+#: peigen.c:1737 pepigen.c:1737 pex64igen.c:1737
 #, c-format
 msgid "Ordinal Base \t\t\t%ld\n"
 msgstr ""
 
-#: peigen.c:1738 pepigen.c:1738 pex64igen.c:1738
+#: peigen.c:1740 pepigen.c:1740 pex64igen.c:1740
 #, c-format
 msgid "Number in:\n"
 msgstr ""
 
-#: peigen.c:1741 pepigen.c:1741 pex64igen.c:1741
+#: peigen.c:1743 pepigen.c:1743 pex64igen.c:1743
 #, c-format
 msgid "\tExport Address Table \t\t%08lx\n"
 msgstr ""
 
-#: peigen.c:1745 pepigen.c:1745 pex64igen.c:1745
+#: peigen.c:1747 pepigen.c:1747 pex64igen.c:1747
 #, c-format
 msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
 msgstr ""
 
-#: peigen.c:1748 pepigen.c:1748 pex64igen.c:1748
+#: peigen.c:1750 pepigen.c:1750 pex64igen.c:1750
 #, c-format
 msgid "Table Addresses\n"
 msgstr ""
 
-#: peigen.c:1751 pepigen.c:1751 pex64igen.c:1751
+#: peigen.c:1753 pepigen.c:1753 pex64igen.c:1753
 #, c-format
 msgid "\tExport Address Table \t\t"
 msgstr ""
 
-#: peigen.c:1756 pepigen.c:1756 pex64igen.c:1756
+#: peigen.c:1758 pepigen.c:1758 pex64igen.c:1758
 #, c-format
 msgid "\tName Pointer Table \t\t"
 msgstr ""
 
-#: peigen.c:1761 pepigen.c:1761 pex64igen.c:1761
+#: peigen.c:1763 pepigen.c:1763 pex64igen.c:1763
 #, c-format
 msgid "\tOrdinal Table \t\t\t"
 msgstr ""
 
-#: peigen.c:1775 pepigen.c:1775 pex64igen.c:1775
+#: peigen.c:1777 pepigen.c:1777 pex64igen.c:1777
 #, c-format
 msgid ""
 "\n"
 "Export Address Table -- Ordinal Base %ld\n"
 msgstr ""
 
-#: peigen.c:1784 pepigen.c:1784 pex64igen.c:1784
+#: peigen.c:1786 pepigen.c:1786 pex64igen.c:1786
 #, c-format
 msgid "\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"
 msgstr ""
 
-#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
+#: peigen.c:1805 pepigen.c:1805 pex64igen.c:1805
 msgid "Forwarder RVA"
 msgstr ""
 
-#: peigen.c:1815 pepigen.c:1815 pex64igen.c:1815
+#: peigen.c:1817 pepigen.c:1817 pex64igen.c:1817
 msgid "Export RVA"
 msgstr ""
 
-#: peigen.c:1822 pepigen.c:1822 pex64igen.c:1822
+#: peigen.c:1824 pepigen.c:1824 pex64igen.c:1824
 #, c-format
 msgid ""
 "\n"
 "[Ordinal/Name Pointer] Table\n"
 msgstr ""
 
-#: peigen.c:1830 pepigen.c:1830 pex64igen.c:1830
+#: peigen.c:1832 pepigen.c:1832 pex64igen.c:1832
 #, c-format
 msgid "\tInvalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)\n"
 msgstr ""
 
-#: peigen.c:1837 pepigen.c:1837 pex64igen.c:1837
+#: peigen.c:1839 pepigen.c:1839 pex64igen.c:1839
 #, c-format
 msgid "\tInvalid Ordinal Table rva (0x%lx) or entry count (0x%lx)\n"
 msgstr ""
 
-#: peigen.c:1851 pepigen.c:1851 pex64igen.c:1851
+#: peigen.c:1853 pepigen.c:1853 pex64igen.c:1853
 #, c-format
 msgid "\t[%4ld] <corrupt offset: %lx>\n"
 msgstr ""
 
-#: peigen.c:1905 peigen.c:2102 pepigen.c:1905 pepigen.c:2102 pex64igen.c:1905
-#: pex64igen.c:2102
+#: peigen.c:1907 peigen.c:2104 pepigen.c:1907 pepigen.c:2104 pex64igen.c:1907
+#: pex64igen.c:2104
 #, c-format
-msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
+msgid "warning, .pdata section size (%ld) is not a multiple of %d\n"
 msgstr ""
 
-#: peigen.c:1909 peigen.c:2106 pepigen.c:1909 pepigen.c:2106 pex64igen.c:1909
-#: pex64igen.c:2106
+#: peigen.c:1911 peigen.c:2108 pepigen.c:1911 pepigen.c:2108 pex64igen.c:1911
+#: pex64igen.c:2108
 #, c-format
 msgid ""
 "\n"
 "The Function Table (interpreted .pdata section contents)\n"
 msgstr ""
 
-#: peigen.c:1912 pepigen.c:1912 pex64igen.c:1912
+#: peigen.c:1914 pepigen.c:1914 pex64igen.c:1914
 #, c-format
 msgid " vma:\t\t\tBegin Address    End Address      Unwind Info\n"
 msgstr ""
 
-#: peigen.c:1914 pepigen.c:1914 pex64igen.c:1914
+#: peigen.c:1916 pepigen.c:1916 pex64igen.c:1916
 #, c-format
 msgid ""
 " vma:\t\tBegin    End      EH       EH       PrologEnd  Exception\n"
 "     \t\tAddress  Address  Handler  Data     Address    Mask\n"
 msgstr ""
 
-#: peigen.c:1927 pepigen.c:1927 pex64igen.c:1927
+#: peigen.c:1929 pepigen.c:1929 pex64igen.c:1929
 #, c-format
 msgid "Virtual size of .pdata section (%ld) larger than real size (%ld)\n"
 msgstr ""
 
-#: peigen.c:1997 pepigen.c:1997 pex64igen.c:1997
+#: peigen.c:1999 pepigen.c:1999 pex64igen.c:1999
 #, c-format
 msgid " Register save millicode"
 msgstr ""
 
-#: peigen.c:2000 pepigen.c:2000 pex64igen.c:2000
+#: peigen.c:2002 pepigen.c:2002 pex64igen.c:2002
 #, c-format
 msgid " Register restore millicode"
 msgstr ""
 
-#: peigen.c:2003 pepigen.c:2003 pex64igen.c:2003
+#: peigen.c:2005 pepigen.c:2005 pex64igen.c:2005
 #, c-format
 msgid " Glue code sequence"
 msgstr ""
 
-#: peigen.c:2108 pepigen.c:2108 pex64igen.c:2108
+#: peigen.c:2110 pepigen.c:2110 pex64igen.c:2110
 #, c-format
 msgid ""
 " vma:\t\tBegin    Prolog   Function Flags    Exception EH\n"
 "     \t\tAddress  Length   Length   32b exc  Handler   Data\n"
 msgstr ""
 
-#: peigen.c:2230 pepigen.c:2230 pex64igen.c:2230
+#: peigen.c:2232 pepigen.c:2232 pex64igen.c:2232
 #, c-format
 msgid ""
 "\n"
@@ -8549,86 +8323,86 @@ msgid ""
 "PE File Base Relocations (interpreted .reloc section contents)\n"
 msgstr ""
 
-#: peigen.c:2260 pepigen.c:2260 pex64igen.c:2260
+#: peigen.c:2262 pepigen.c:2262 pex64igen.c:2262
 #, c-format
 msgid ""
 "\n"
 "Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n"
 msgstr ""
 
-#: peigen.c:2278 pepigen.c:2278 pex64igen.c:2278
+#: peigen.c:2280 pepigen.c:2280 pex64igen.c:2280
 #, c-format
 msgid "\treloc %4d offset %4x [%4lx] %s"
 msgstr ""
 
-#: peigen.c:2339 pepigen.c:2339 pex64igen.c:2339
+#: peigen.c:2341 pepigen.c:2341 pex64igen.c:2341
 #, c-format
 msgid "%03x %*.s Entry: "
 msgstr ""
 
-#: peigen.c:2363 pepigen.c:2363 pex64igen.c:2363
+#: peigen.c:2365 pepigen.c:2365 pex64igen.c:2365
 #, c-format
 msgid "name: [val: %08lx len %d]: "
 msgstr ""
 
-#: peigen.c:2383 pepigen.c:2383 pex64igen.c:2383
+#: peigen.c:2385 pepigen.c:2385 pex64igen.c:2385
 #, c-format
 msgid "<corrupt string length: %#x>\n"
 msgstr ""
 
-#: peigen.c:2393 pepigen.c:2393 pex64igen.c:2393
+#: peigen.c:2395 pepigen.c:2395 pex64igen.c:2395
 #, c-format
 msgid "<corrupt string offset: %#lx>\n"
 msgstr ""
 
-#: peigen.c:2398 pepigen.c:2398 pex64igen.c:2398
+#: peigen.c:2400 pepigen.c:2400 pex64igen.c:2400
 #, c-format
 msgid "ID: %#08lx"
 msgstr ""
 
-#: peigen.c:2401 pepigen.c:2401 pex64igen.c:2401
+#: peigen.c:2403 pepigen.c:2403 pex64igen.c:2403
 #, c-format
 msgid ", Value: %#08lx\n"
 msgstr ""
 
-#: peigen.c:2423 pepigen.c:2423 pex64igen.c:2423
+#: peigen.c:2425 pepigen.c:2425 pex64igen.c:2425
 #, c-format
 msgid "%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n"
 msgstr ""
 
-#: peigen.c:2465 pepigen.c:2465 pex64igen.c:2465
+#: peigen.c:2467 pepigen.c:2467 pex64igen.c:2467
 #, c-format
 msgid "<unknown directory type: %d>\n"
 msgstr ""
 
-#: peigen.c:2473 pepigen.c:2473 pex64igen.c:2473
+#: peigen.c:2475 pepigen.c:2475 pex64igen.c:2475
 #, c-format
 msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"
 msgstr ""
 
-#: peigen.c:2562 pepigen.c:2562 pex64igen.c:2562
+#: peigen.c:2564 pepigen.c:2564 pex64igen.c:2564
 #, c-format
 msgid "Corrupt .rsrc section detected!\n"
 msgstr ""
 
-#: peigen.c:2586 pepigen.c:2586 pex64igen.c:2586
+#: peigen.c:2588 pepigen.c:2588 pex64igen.c:2588
 #, c-format
 msgid ""
 "\n"
 "WARNING: Extra data in .rsrc section - it will be ignored by Windows:\n"
 msgstr ""
 
-#: peigen.c:2592 pepigen.c:2592 pex64igen.c:2592
+#: peigen.c:2594 pepigen.c:2594 pex64igen.c:2594
 #, c-format
 msgid " String table starts at offset: %#03x\n"
 msgstr ""
 
-#: peigen.c:2595 pepigen.c:2595 pex64igen.c:2595
+#: peigen.c:2597 pepigen.c:2597 pex64igen.c:2597
 #, c-format
 msgid " Resources start at offset: %#03x\n"
 msgstr ""
 
-#: peigen.c:2647 pepigen.c:2647 pex64igen.c:2647
+#: peigen.c:2649 pepigen.c:2649 pex64igen.c:2649
 #, c-format
 msgid ""
 "\n"
@@ -8636,14 +8410,14 @@ msgid ""
 "found\n"
 msgstr ""
 
-#: peigen.c:2653 pepigen.c:2653 pex64igen.c:2653
+#: peigen.c:2655 pepigen.c:2655 pex64igen.c:2655
 #, c-format
 msgid ""
 "\n"
 "There is a debug directory in %s, but that section has no contents\n"
 msgstr ""
 
-#: peigen.c:2660 pepigen.c:2660 pex64igen.c:2660
+#: peigen.c:2662 pepigen.c:2662 pex64igen.c:2662
 #, c-format
 msgid ""
 "\n"
@@ -8651,7 +8425,7 @@ msgid ""
 "small\n"
 msgstr ""
 
-#: peigen.c:2665 pepigen.c:2665 pex64igen.c:2665
+#: peigen.c:2667 pepigen.c:2667 pex64igen.c:2667
 #, c-format
 msgid ""
 "\n"
@@ -8659,23 +8433,23 @@ msgid ""
 "\n"
 msgstr ""
 
-#: peigen.c:2672 pepigen.c:2672 pex64igen.c:2672
+#: peigen.c:2674 pepigen.c:2674 pex64igen.c:2674
 #, c-format
 msgid ""
 "The debug data size field in the data directory is too big for the section"
 msgstr ""
 
-#: peigen.c:2677 pepigen.c:2677 pex64igen.c:2677
+#: peigen.c:2679 pepigen.c:2679 pex64igen.c:2679
 #, c-format
 msgid "Type                Size     Rva      Offset\n"
 msgstr ""
 
-#: peigen.c:2725 pepigen.c:2725 pex64igen.c:2725
+#: peigen.c:2727 pepigen.c:2727 pex64igen.c:2727
 #, c-format
 msgid "(format %c%c%c%c signature %s age %ld)\n"
 msgstr ""
 
-#: peigen.c:2733 pepigen.c:2733 pex64igen.c:2733
+#: peigen.c:2735 pepigen.c:2735 pex64igen.c:2735
 #, c-format
 msgid ""
 "The debug directory size is not a multiple of the debug directory entry "
@@ -8685,89 +8459,104 @@ msgstr ""
 #. The MS dumpbin program reportedly ands with 0xff0f before
 #. printing the characteristics field.  Not sure why.  No reason to
 #. emulate it here.
-#: peigen.c:2753 pepigen.c:2753 pex64igen.c:2753
+#: peigen.c:2755 pepigen.c:2755 pex64igen.c:2755
 #, c-format
 msgid ""
 "\n"
 "Characteristics 0x%x\n"
 msgstr ""
 
-#: peigen.c:2988 pepigen.c:2988 pex64igen.c:2988
+#: peigen.c:2991 pepigen.c:2991 pex64igen.c:2991
+#, c-format
+msgid ""
+"%pB: Data Directory size (%lx) exceeds space left in section (%<PRIx64>)"
+msgstr ""
+
+#: peigen.c:3002 pepigen.c:3002 pex64igen.c:3002
 #, c-format
-msgid "%B: Data Directory size (%lx) exceeds space left in section (%Lx)"
+msgid "%pB: Data Directory size (%#lx) is negative"
 msgstr ""
 
-#: peigen.c:3018 pepigen.c:3018 pex64igen.c:3018
-msgid "Failed to update file offsets in debug directory"
+#: peigen.c:3031 pepigen.c:3031 pex64igen.c:3031
+msgid "failed to update file offsets in debug directory"
 msgstr ""
 
-#: peigen.c:3024 pepigen.c:3024 pex64igen.c:3024
-msgid "%B: Failed to read debug data section"
+#: peigen.c:3037 pepigen.c:3037 pex64igen.c:3037
+#, c-format
+msgid "%pB: failed to read debug data section"
 msgstr ""
 
-#: peigen.c:3840 pepigen.c:3840 pex64igen.c:3840
+#: peigen.c:3853 pepigen.c:3853 pex64igen.c:3853
 #, c-format
 msgid ".rsrc merge failure: duplicate string resource: %d"
 msgstr ""
 
-#: peigen.c:3975 pepigen.c:3975 pex64igen.c:3975
+#: peigen.c:3988 pepigen.c:3988 pex64igen.c:3988
 msgid ".rsrc merge failure: multiple non-default manifests"
 msgstr ""
 
-#: peigen.c:3993 pepigen.c:3993 pex64igen.c:3993
+#: peigen.c:4006 pepigen.c:4006 pex64igen.c:4006
 msgid ".rsrc merge failure: a directory matches a leaf"
 msgstr ""
 
-#: peigen.c:4035 pepigen.c:4035 pex64igen.c:4035
+#: peigen.c:4048 pepigen.c:4048 pex64igen.c:4048
 msgid ".rsrc merge failure: duplicate leaf"
 msgstr ""
 
-#: peigen.c:4037 pepigen.c:4037 pex64igen.c:4037
+#: peigen.c:4050 pepigen.c:4050 pex64igen.c:4050
 #, c-format
 msgid ".rsrc merge failure: duplicate leaf: %s"
 msgstr ""
 
-#: peigen.c:4103 pepigen.c:4103 pex64igen.c:4103
-msgid ".rsrc merge failure: dirs with differing characteristics\n"
+#: peigen.c:4116 pepigen.c:4116 pex64igen.c:4116
+msgid ".rsrc merge failure: dirs with differing characteristics"
 msgstr ""
 
-#: peigen.c:4110 pepigen.c:4110 pex64igen.c:4110
-msgid ".rsrc merge failure: differing directory versions\n"
+#: peigen.c:4123 pepigen.c:4123 pex64igen.c:4123
+msgid ".rsrc merge failure: differing directory versions"
 msgstr ""
 
 #. Corrupted .rsrc section - cannot merge.
-#: peigen.c:4227 pepigen.c:4227 pex64igen.c:4227
-msgid "%B: .rsrc merge failure: corrupt .rsrc section"
+#: peigen.c:4240 pepigen.c:4240 pex64igen.c:4240
+#, c-format
+msgid "%pB: .rsrc merge failure: corrupt .rsrc section"
 msgstr ""
 
-#: peigen.c:4235 pepigen.c:4235 pex64igen.c:4235
-msgid "%B: .rsrc merge failure: unexpected .rsrc size"
+#: peigen.c:4248 pepigen.c:4248 pex64igen.c:4248
+#, c-format
+msgid "%pB: .rsrc merge failure: unexpected .rsrc size"
 msgstr ""
 
-#: peigen.c:4374 pepigen.c:4374 pex64igen.c:4374
-msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
+#: peigen.c:4387 pepigen.c:4387 pex64igen.c:4387
+#, c-format
+msgid "%pB: unable to fill in DataDictionary[1] because .idata$2 is missing"
 msgstr ""
 
-#: peigen.c:4394 pepigen.c:4394 pex64igen.c:4394
-msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
+#: peigen.c:4407 pepigen.c:4407 pex64igen.c:4407
+#, c-format
+msgid "%pB: unable to fill in DataDictionary[1] because .idata$4 is missing"
 msgstr ""
 
-#: peigen.c:4415 pepigen.c:4415 pex64igen.c:4415
-msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
+#: peigen.c:4428 pepigen.c:4428 pex64igen.c:4428
+#, c-format
+msgid "%pB: unable to fill in DataDictionary[12] because .idata$5 is missing"
 msgstr ""
 
-#: peigen.c:4435 pepigen.c:4435 pex64igen.c:4435
+#: peigen.c:4448 pepigen.c:4448 pex64igen.c:4448
+#, c-format
 msgid ""
-"%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because ."
+"%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because ."
 "idata$6 is missing"
 msgstr ""
 
-#: peigen.c:4477 pepigen.c:4477 pex64igen.c:4477
+#: peigen.c:4490 pepigen.c:4490 pex64igen.c:4490
+#, c-format
 msgid ""
-"%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because ."
+"%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because ."
 "idata$6 is missing"
 msgstr ""
 
-#: peigen.c:4502 pepigen.c:4502 pex64igen.c:4502
-msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
+#: peigen.c:4515 pepigen.c:4515 pex64igen.c:4515
+#, c-format
+msgid "%pB: unable to fill in DataDictionary[9] because __tls_used is missing"
 msgstr ""
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/es.gmo ./bfd/po/es.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/es.gmo	2018-07-03 02:10:52.000000000 +0000
+++ ./bfd/po/es.gmo	2018-07-10 02:10:41.000000000 +0000
@@ -1,69 +1,73 @@
-Þ•!$)Ù,R�m‘mªmÉmàm$óm3nLn%ln’nA¢n&äno$o=oVofo …o¦oÆoßoöo	p*!p9Lp6†p;½pùpFq6Rq:‰q5ÄqJúq)ErGorL·r)sL.s{s‘sD¨sístt2tJt3it�t0´tåtõtu+u+Ku+wu#£uÇußuèuôuv)v@v`v}v–v±vÑvêvww3w,Gwtw„w�wµwÌwÛwñwx1"xTxexrx‰x¤x#¼x+àx&y53yiy�y›y±yËyäyûy$z6zOzoz‡z$œzÁzÕzêz<{@{O{
^{l{€{ ˜{¹{Ô{ä{| |@|Y|r|…|*‘|¼|Î|&à|}0}L}"`}	ƒ}�}# }Ä}Ý}î}~" ~C~"W~#z~#ž~Â~#×~#û~.,[ain
-‹–›!¡ Ãäéî€.€3€G€ L€m€t€z€€„€Š€Ž€“€¯€È€Í€í€�!�A�F�K�R�X�]�o�v�Š�‘�ª�¾�Ï�à�ñ�‚‚	"‚
,‚
:‚
-H‚
-S‚
-^‚i‚
-~‚‰‚$�‚
-µ‚#À‚%ä‚
-
-ƒƒ(ƒ$@ƒeƒƒƒ!�ƒ¿ƒÔƒ
-ãƒ
îƒ	üƒ„
-„"„)„A„[„j„�„œ„«„Ä„Ó„Ú„ê„þ„(…/@…p…‰…›…°…+¿…ë…A†I†c†}†—†8¬†å†ý†‡&,‡S‡r‡†‡2¡‡Ô‡?î‡&.ˆUˆtˆ(‡ˆ°ˆ"Äˆçˆ*‰62‰{i‰rå‰xXŠÑŠDçŠ*,‹7W‹$�‹'´‹*Ü‹!Œ=)ŒAgŒE©ŒïŒ%�D4�.y�,¨�*Õ�%Ž4&Ž[Ž>zŽG¹Ž�J
-�5U�8‹�(Ä�,í�P�Ek�F±�Fø�3?‘<s‘%°‘AÖ‘n’K‡’7Ó’*“86“.o“<ž“9Û“@”HV”BŸ”Jâ”B-•Tp•TÅ•T–To–‰Ä–<N—m‹—[ù—PU˜<¦˜Dã˜^(™D‡™€Ì™1MšJšIÊš>›mS›6Á›mø›!fœ#ˆœ8¬œ)åœ.�0>�>o�>®�/í�/žFMž>”ž-Óž(Ÿ*Ÿ7HŸ1€Ÿ0²Ÿ/ãŸ) /= ;m <© <æ /#¡-S¡&�¡3¨¡3Ü¡O¢W`¢O¸¢o£+x£5¤£#Ú£7þ£E6¤>|¤2»¤:î¤2)¥(\¥+…¥<±¥?î¥Q.¦3€¦'´¦=Ü¦<§MW§K¥§Dñ§!6¨:X¨7“¨Ë¨.é¨©18©'j©%’© ¸©EÙ©4ªHTª?�ª<ÝªG«-b«7�«1È«8ú«23¬+f¬/’¬7Â¬ú¬+­LF­$“­+¸­ä­®®;®+V®5‚®@¸®@ù®I:¯I„¯9Î¯$°,-°'Z°=‚°QÀ°D±1W±5‰±¿±2Ü±.²?>²A~²EÀ²$³9+³5e³&›³4Â³1÷³$)´$N´/s´%£´<É´*µ'1µ3Yµ&�µ´µ4Ðµ¶4$¶Y¶.p¶(Ÿ¶*È¶6ó¶2*·5]·8“·WÌ·Z$¸B¸5Â¸=ø¸<6¹(s¹-œ¹0Ê¹û¹Pº fº@‡ºkÈº44»;i»$¥»'Ê»ò»2¼OB¼K’¼GÞ¼`&½A‡½YÉ½S#¾<w¾g´¾a¿l~¿Fë¿-2À2`À(“À3¼À1ðÀ-"ÁDPÁB•Á6ØÁ*Â2:Â.mÂ*œÂ(ÇÂðÂ4ÃD@ÃC…ÃCÉÃE
Ä^SÄ]²Ä)Å+:Å$fÅ)‹Å8µÅ:îÅ&)Æ&PÆ2wÆ+ªÆ=ÖÆ,ÇAÇ+_Ç‹Ç-¡Ç+ÏÇûÇ*È2EÈ"xÈ#›È"¿È-âÈ,ÉG=ÉG…ÉGÍÉ(Ê@>ÊDÊ2ÄÊ7÷Ê5/Ë/eË*•Ë1ÀË;òËW.Ì-†Ì-´ÌâÌ)Í%*Í2PÍ2ƒÍ=¶Í;ôÍB0ÎAsÎ:µÎ2ðÎ?#ÏcÏ›ƒÏ6Ð6VÐA�ÐGÏÐ6Ñ=NÑ:ŒÑ:ÇÑDÒ8GÒ9€ÒCºÒ:þÒ79Ó8qÓ9ªÓ,äÓ6ÔHÔ;dÔ: Ô.ÛÔ
-Õ1*Õ$\Õ5�Õ9·ÕOñÕ#AÖ1eÖC—Ö6ÛÖ(×&;×:b×#�×'Á×pé×'ZØ1‚Ø;´Ø£ðØ7”Ù(ÌÙ5õÙ8+Ú>dÚ £ÚÄÚ!âÚ Û%%ÛbKÛ'®Û)ÖÛ=ÜG>Ü%†Ü*¬Ü0×Ü&Ý&/Ý7VÝ8ŽÝ9ÇÝ6Þ/8ÞChÞQ¬ÞþÞß-ßBß2Xß&‹ß²ßMÁßTà2dà|—à(á[=á+™á/Åá(õáRâFqâF¸â:ÿâ6:ãDqã7¶ã*îã-ä0GäAxäHºä>å+BåInå;¸åôå;æ;Pæ.Œæ.»æ=êæI(ç.rç/¡ç@Ñç*è)=è;gè£è>ÁèBélCé@°é?ñéG1êFyêJÀêHëKTëG ëBèëX+ì4„ì/¹ìNéì08í(ií/’íÂíÕíéí0ûí=,îDjî0¯î5àî)ï7@ïxï’ï'±ï&Ùï[ðG\ðO¤ð9ôð.ñ>Nñ2�ñ5ÀñPöñ=Gò/…òoµò%ó
9óGó
Sóaó%ró\˜ó;õó1ôCôYô\ôyô†ô	Ÿô©ô»ô,Èôõô	õ/õOõ;_õ›õ°õÀõÉõÝõòõöö	;ö"Eö+hö#”ö,¸ö:åö ÷2÷.N÷4}÷?²÷=ò÷	0ø":ø]øtø}ø�ø”ø¦ø¸ø'Êøòø ù#0ùTùnù$€ù$¥ù$Êù'ïù%ú'=úeúƒú£ú"Ãúæúöúû û7û)Mûwû#�û#±û-Õû8ü1<üAnü.°üYßü_9ý;™ý)Õý!ÿý$!þFþH[þ%¤þÊþ5çþÿ
-2ÿ"=ÿ`ÿrÿ‹ÿ¦ÿ»ÿÈÿ×ÿ
õÿ/+E8qªÀß'ñ+.I-xG¦3î""AId%®Ôçù":L$eŠ§5¹ï#9Kk…–¥·	¾ÈÑ
-è"ó%<HWnŠ ²Òë1I-g•§¹Îè)/Gw‰›¢!©.Ë,ú':C%~%¤Ê=ãC!	=e	"£	[Æ	?"
-b
-�
-)ž
-È
-Ñ
-*ì
-&)Pp‚‰(�¹'Ëó(H#`$„,©.Ö,
.2
a
"~
,¡
.Î
!ý
10Q2‚,µ.â#5U(i/’!Âä(#*+Nz,“ Àáú.N#m-‘"¿âô7Pew2’$Å&ê	1!;]DwD¼/1/C?s³ÄäûJ7bš*´ß÷%6L#i%�³ÆãJJ]J¨Ió:=;x:´Eï659l7¦9ÞQ/jBš@Ý.=M&‹.²/á-i?D©dî,SF€fÇC.r#‘@µ8ö7/g	‡‘­¿Ñ<æ2# .V … � ¤ ¼ dÔ 9!6L!@ƒ!=Ä!d"gg"bÏ"=2#Ep#1¶#(è#$$6$4L$'�$$©$7Î$%%/%F%W%o%‡%™%«%½%Ï%é%&&'&?&^&2}&°&-É&+÷&+#'*O'	z'	„'
-Ž'™'®'½'Ò'á'1æ'(7('V("~(¡(¿(Ô(Ý(]û(=Y)(—)ZÀ)Z*Ev*A¼*Gþ*WF+Wž+9ö+90,4j,9Ÿ,4Ù,2-7A-5y-7¯-.ç-2. I.[j.@Æ.:/#B/=f/<¤/Ná/-00O^0 ®0>Ï091
-H11S1&…1&¬1!Ó1õ1,27A2
y2‡2š2®2Á27Ô23$,3"Q3At3¶3,Ô32444¾D4»5¿5Ú5õ5B6DX6*�6LÈ67*7y97³70»7ì78888298Ol8¼8*Û8 9'9KE9‘9ž9 ¸9Ù9í9::,:B:Y:v:‡:›:N£:ò:#ö:6;Q; q;8’;Ë;Ý;í;õ;
-<<2<F<Y<Ll< ¹<DÚ<=1=D=3_=!“=µ="¼=ß=ï=þ=%>'7>$_>)„>*®>Ù>0õ>,&?S?q?‹?“?
«?%¹?ß?'÷?@9@P@b@y@7�@È@á@ó@AA.ADA-cA)‘A>»AgúAxbB-ÛB!	C7+CcC!|C;žC0ÚC5D<AD<~D2»D/îD.E=ME/‹E6»E,òE§F(ÇG.ðG"HBH&UHF|H.ÃH(òHI[3I'�I·IÔIðIJ"J$>J#cJ‡J¤J¼J#ÒJ:öJJ1KN|K<ËKLS#LQwLOÉLPMNjM.¹MCèMW,N.„NW³NO&OTBO"—OºOÓOçO$P3&PZP/sP£PµPÅP*áP*Q*7Q"bQ…Q�Q¦Q²QÏQèQR R=RVR"qR”R³RÎRäRS*SASQSjS‡SžS°SÆSàS/÷S'T
;TIT`T{T$•T2ºT+íT5UOUhUƒUšU¶UÏUæU'üU$V=V\VtV,‹V¸VÎVãV<ûV8WGWVWeWuW!�W¯WÊW!ÜWþW X?XXXvX‰X*•XÀXÒX'äXY/ YPY&dY	‹Y•Y#¨YÌYåYöYZ+*ZVZ!jZ#ŒZ#°ZÔZ#ìZ#[4[2A[t[z[‚[%‡[
-­[¸[½[$Ã[6è[\$\)\I\i\n\Ž\1“\Å\Ì\Ò\×\Ü\â\æ\$ë\"]3]8]X]r]’]²]·]¼]Ã]É]Î]â]é]	^$^5^U^f^w^ˆ^™^ª^	½^
Ç^
Õ^
-ã^
-î^
-ù^_
_'_9._
-h_As_8µ_
î_ü_`34`h`†`(¡`Ê`æ`÷`a	a%a9aHaOala…a˜a#¸aÜa!ïabb%b4bHb6ab=˜bÖbïbcc;'ccc@�cÂcÝc÷cd8'd`dxd–d/°d(àd	ee18eje?„e/Äe(ôef(0fYf"mf&�f*·fEâf‚(gv«gz"h�hN»h4
-i7?i0wi5¨i+Þi$
-j>/jHnjM·j k2&kXYk5²k-èk+l(Bl<kl&¨lHÏlMmfmaom:Ñm=n/Jn9zn]´nJoQ]oQ¯oEpWGp,ŸpGÌp’qi§q@r0RrJƒr;ÎrE
-sBPsD“sLØsF%tNltV»t[u[nu[Êu[&v‘‚vEw†Zwbáw\DxK¡xRíxy@yOºy›
-z2¦zXÙzW2{HŠ{{Ó{=O|s�|'}*)}OT}3¤}1Ø}3
-~K>~KŠ~GÖ~7kVCÂ<€3C€!w€F™€@à€5!�7W�4��7Ä�Dü�DA‚D†‚8Ë‚<ƒ8AƒCzƒC¾ƒl„do„eÔ„…:…4À…Mõ…/C†Fs†Yº†T‡>i‡=¨‡Aæ‡5(ˆ?^ˆVžˆPõˆtF‰6»‰+ò‰GŠQfŠT¸ŠL
‹NZ‹%©‹GÏ‹GŒ(_Œ6ˆŒ(¿Œ?èŒ*(�8S�/Œ�e¼�F"ŽWiŽEÁŽT�T\�/±�Gá�@)�Hj�B³�Lö�-C‘>q‘*°‘AÛ‘}’4›’6Ð’,“%4“+Z“†“7¡“BÙ“G”Gd”R¬”Rÿ”QR•2¤•6×•1–G@–[ˆ–Oä–54—?j—%ª—9Ð—7
-˜IB˜KŒ˜hØ˜.A™Gp™=¸™1ö™>(š<gš-¤š+Òš9þš68›Ho›4¸›&í›=œ.Rœ�œI¡œ%ëœF�X�3s�5§�8Ý�NžKež=±žHïž`8Ÿe™ŸMÿŸ=M O‹ LÛ @(¡Di¡;®¡ê¡[¢4b¢N—¢–æ¢>}£G¼£(¤0-¤+^¤AŠ¤\Ì¤\)¥R†¥lÙ¥GF¦hŽ¦`÷¦KX§w¤§o¨zŒ¨Y©<a©>ž©,Ý©L
-ª:Wª3’ªLÆªK«\_«8¼«;õ«>1¬7p¬7¨¬à¬>þ¬?=­>}­>¼­@û­Y<®X–®9ï®;)¯0e¯4–¯BË¯E°+T°1€°;²°.î°E±:c±#ž±0Â±ó±9²3E²'y²3¡²LÕ²+"³,N³+{³7§³6ß³Y´Mp´Y¾´<µMUµM£µ<ñµA.¶Dp¶;µ¶;ñ¶>-·Vl·sÃ·:7¸1r¸,¤¸+Ñ¸=ý¸8;¹Ct¹g¸¹_ ºf€ºdçº]L»Hª»Eó»9¼ Y¼Mú¼JH½Q“½Wå½:=¾Ax¾=º¾>ø¾G7¿;¿=»¿Fù¿@@À;�À;½ÀQùÀDKÁB�Á!ÓÁPõÁ?FÂ,†Â&³ÂCÚÂ0Ã<OÃAŒÃ]ÎÃ(,Ä@UÄN–ÄBåÄ.(Å1WÅL‰Å*ÖÅ4Æ�6Æ+¸ÆBäÆF'Ç®nÇ@È7^ÈS–È=êÈK(É.tÉ"£É9ÆÉ8ÊK9Êx…Ê2þÊD1Ë;vËT²Ë.ÌI6Ì:€Ì&»Ì4âÌ:Í@RÍJ“ÍPÞÍG/ÎQwÎ\ÉÎ*&Ï
QÏ_Ï#sÏE—Ï6ÝÏÐk#Ðq�Ð4Ñ“6Ñ5ÊÑbÒ?cÒA£Ò6åÒgÓZ„ÓZßÓM:Ô@ˆÔNÉÔ=Õ,VÕ=ƒÕNÁÕRÖ]cÖRÁÖ5×cJ×U®×+ØP0ØP�Ø8ÒØ8Ù>DÙRƒÙ9ÖÙ9ÚKJÚ)–Ú4ÀÚIõÚ"?ÛGbÛMªÛnøÛOgÜN·ÜVÝU]ÝY³ÝR
Þi`Þ\ÊÞJ'ßjrßKÝßH)à`rà:Óà7á7Fá~á–áªáD»áLâWMâ0¥â:Öâ?ã=Qã�ã'¬ã1Ôã/äu6äM¬äbúäL]å ªåDËå3æBDæV‡æEÞæ;$ç‡`çèç
èèè
)è(7èe`è?Æèéé6é 9éZéié
„é’é¤é+±éÝéñéE	êOêGaê©êÀêÒêÛêðêëë/2ë
bë-pë<žë.Ûë0
-ìA;ì}ì#�ì3³ì9çìR!íJtí¿í(Îí(÷í
- î+î&/îVîhîzî,Œî¹î(Øî(ï!*ïLï'eï$�ï$²ï'×ï%ÿï'%ðMðkð‹ð"«ðÎð!èð#
-ñ%.ñTñ5tñªñ5Æñ5üñC2òBvò:¹òXôò4Móx‚ó|ûóVxô8Ïô%õ*.õYõUnõ0Äõ"õõEö ^öö0Žö¿ö!Ñö%óö÷5÷T÷#e÷‰÷™÷C«÷7ï÷@'øhø-„ø²ø"Äøçøùø:ù2TùM‡ùAÕù3ú-KúRyú,Ìúùúû%%û4Kû€û!’û*´û&ßû
üAüVühüzü‘ü§ü"ºüÝüüüý#ý5ý<ýHýUýuý&†ý8­ýæýóýþþ;þRþgþ‡þ¢þÂþÝþòþÿ5+ÿaÿvÿŒÿ¤ÿ1¿ÿñÿ<BC†˜ª±*¸6ã4"O;r(®&×þMSk@¿>r?O²,%/6U	Œ–4µê-ü-*Xjq2x«1½ï"A!Y#{5Ÿ0Õ50<m.�5¼0ò%#1I9{4µ5ê0 	%Q	!w	™	*°	0Û	&
-3
-+S
-&
-0¦
-×
-1ó
-$%J!fˆ%Ÿ$Å)ê3+Ht†¥½"Õø
 +
7L
/„
?´
4ô

-)24$gNŒNÛF*q3�HÄ
,&SnŽa—=ù79V�¬Ëç #$%H/nž+½"éZVzVÑU(C~GÂ:
-WE6�5Ô3
-5>dt;ÙIP_4°Bå-(0V5‡1½qïUa�·69]ppÎN?,Ž)»Då9*Kd2°	ã!í$9BU6˜0Ï
-&2"I{lè=ûC9A}j¿z* s¥ @!KZ!5¦!,Ü!)	"3"LH"?•"4Õ"Q
-#\##r#–#µ##Ë#!ï#$($?$V$%m$#“$·$Î$!ä$0%.7%0f%—%?²%=ò%=0&6n&	¥&	¯&
-¹&Ä&Û&ê&ÿ&'2''F'n'6‹'-Â'ð'(%(-(mJ(@¸(*ù(w$)wœ)T*Ni*U¸*u+u„+Dú+B?,7‚,<º,7÷,@/-Hp-C¹-Hý-2F.7y.!±.uÓ.RI/Nœ/*ë/W0Gn0]¶001XE1$ž1EÃ1@	2
-J2<U2/’2/Â2ò2*3493Dn3³3Ã3ã3÷3
-464T4%s4#™4U½4 5445<i5¦5Þ·5Û–6$r7!—7 ¹7MÚ7O(84x8X­899Ž-9¼97Ä9+ü9(:0:8:?:HY:{¢:0;7O;"‡;7ª;fâ;I<)X<;‚<¾<Ö<ï<	=!=;=V=v=‰=Ÿ=_§=>*>K6>*‚>'­>:Õ>?"?5?=?Q?g?{?�?¢?iµ?"@]B@ @²@$Ç@Hì@/5AeA/nAžA®A½A5ÑA7B+?B0kB4œB ÑB?òB52C$hC�C©CµCÏC6áCD17DiD…D¢D$¿DäDEE GEhEzE�E¡EµEËE:èE*#FBNFg‘F€ùF3zG+®GFÚG!H(<HGeH7­HAåHL'IMtI8ÂI9ûI55JHkJ@´JBõJ(8Kê:Š;–Îý#ë¾>ÏÅÏÊýˆ>ñ†)Œô-ÌšúüeÆFR KÔú>N<Ù•º;9/½ÞZ~24ÊlŠbuƒ÷P’‚»O�,æ´è-ÆM³4	‰.¥±Rÿ¡—«ì�”@�€°^Ð
ã÷ª=×äW@©D�
ÇÝL_ð¡ºàßÍœS5¦óà’Ê¿}ti›û(cÁs^8]ñPž]®*º™qûZ7Ë„¹PŸqÀóÛŽïa6Àç¨/TõË{Ev®‚xQÍ¸Ãƒ/œ7ô€ëž›Å¤Ò©cyM!A†¦
-ÿ�ÖÏþî—*Zïu�àXˆ! Èõ&$x.˜„
-.c�ÿ“%^îeÉý‰é00¹�¥#o¿2?“íßHx$úd':a­‚YJ‹íÜUso©˜"öF¯AÐLaT³ì’»t~Ì}ÕØP¸·w`´�øÙ¸õ£ïÂÅ¢EúIÃ°ƒ>$=N&'�j]h[ð¸.jòÓÿÄþFúò�{åãkö°q‚ÝXpkÈNŠòå5ˆ
ï§*…çÖÏÑÑ#ÁŸ';ÄšÞØÂjŽ„®¥a–rÃU¿~¾Û7”'ùÐ¤Ú_%­âévÑÁ­Mhj`ˆC¤né§Sül(•
	ã^|ÁoÇžäCÖ‹ùŠVX)†u=lRF¨nøRzÕYÄ¬b5fšÛN
-—<œðì½T^€|Â¤v¼½pW	—ûþçÐÅÞWã¬f\’T9×pzæþ…b„8[¡1è”K%)ÕCñMtG(,wdå ðwmñÒ:þ»ÿ7EÑ®Ã‘¸ž¾‘$HiêuÔcDŒæ<Æá3I¨›f9 6N@Ø"\#Ÿ·!]åªÏV(ÂÜšÇ�r§p¨ãY; ¼ä)ÛB°D �BÝ]�ŸïÜ
-ñ²Õáô* ³4»gÀ©ÜÍ‡Þ9kíîO…w¦¶Õ¿ý8Y|Ò²åõ÷eÚâë{¢ÓÍsRl¤
&× B6÷Œ�ä!n3 ±#_ªâ¼¯e¯bÉülzä�‹£ë<h_ÈíM†Æ­‰ù.¬3ý«­·?œÎôÒK®|(™ËHiDÉèmmàvîßJT°ó1æ[Úƒ›„¦Æö0DùˆìSüg£\eøµèÌv,é¡4È©ðµÇA
-x{+Ë+†¶yªrd[5±ÂJ>‰XŸ"â¢æZ\¡? ÓALÉ¢G%‘õ+Èrc·�µ2\ÍŠ•«£Q›‡”¥™0<Ëºâs¼gÖ¯�–ø@OoCsçJÔóy€nÔ5¶Ugë}Ý�Ý•;Q"
Pi²I1”ôÎØO}‡B=…`|øof™b6QÌªqpLÄÙ`÷¢K•,“tkyÎÉ
-Ó7òW�ízÔàF0Ž‘Ùi¹¦¹4Où�yG–&Å«£µ±¶2ó×-~}ÚG²Ò‹�?gu/J¨E,!/V¹S3`	dŒnèÖ	ÁéQÜ=€X¾³E˜·fêÊç‘hß+Y-B$Lî:?q¬±'_áÀ“À´9œa%ÊÄòÌ³t…§Œ‡áÚ!Þ“ê-½ÓÑCÇmG8¼‡~ßH�á¥{UÃZ«˜m28ê1´ìØ¿Vƒ13�ŽxÛ¶[’wj—ž‚–6¯kA:‹‰�rÐz&§UW× "ü	»IÙ*¬IHV@d+ûû™ö)´˜KŽh½²ÎºSµöš¾	Export Address Table 			Export Address Table 		%08lx
-	Name Pointer Table 			Ordinal Table 				[Name Pointer/Ordinal] Table	%08lx
+Þ•ì|7C	Ünè“é“ö“
+”#”AB”?„”:Ä”ÿ”•)•$H•3m•¡•®•%Î•ô•A–&H–o–ˆ–¡–º–Ê– é–
+—*—C—Z—g—Pz—Ë—*ã—9˜6H˜;˜»˜FÍ˜6™6K™:‚™5½™,ó™D šNešJ´š)ÿšG)›:q›B¬›Lï›)<œBfœL©œöœ�D#�Gh�°�Ï�á�õ�
ž"ž3AžužŒž0žžÏžßžïž+	Ÿ+5Ÿ+aŸ#�Ÿ±ŸÉŸÒŸðŸ( ?0 >p %¯ &Õ (ü )%¡GO¡7—¡Ï¡æ¡¢#¢<¢W¢w¢�¢«¢Á¢Ù¢,í¢£*£C£[£r£�£—£±£1È£ú£¤¤/¤J¤#b¤+†¤&²¤5Ù¤¥'¥A¥W¥q¥Š¥¡¥$·¥Ü¥õ¥¦-¦$B¦g¦{¦�¦<©¦æ¦õ¦
§§&§ >§_§z§Š§ª§Æ§æ§ÿ§¨*+¨V¨h¨&z¨¡¨0µ¨æ¨"ú¨„©	¢©¬©#¿©ã©ü©
ª&ª"?ªbª"vª#™ª#½ªáª#öª#«>«K«i«‡«�«•«š«
+·«Â«Ç«!Í« ï«¬¬¬2¬R¬r¬w¬‹¬!�¬²¬¹¬¿¬Ä¬É¬Ï¬Ó¬Ø¬ô¬"
­0­5­U­i­&‰­B°­ó­®®®$®*®/®A®H®\®c®|®�®¡®²®Ã®Ô®å®ý®	¯
¯
$¯
+2¯
+=¯
+H¯
+S¯^¯
+s¯$~¯
+£¯#®¯%Ò¯
+ø¯°°$-°R°p°!Š°¬°Á°
+Ð°
Û°	é°ó°
+±±±.±H±Z±i±€±›±ª±Ã±Ò±Ù±ù±(	²/2²b²t²+ƒ²¯²AË²
³'³A³[³8p³©³Á³Ö³&ð³´6´2Q´?„´&Ä´ë´(
+µ3µ"Fµiµ*‰µ6´µ{ëµrg¶xÚ¶S·:i·¤·D¶·*û·7&¸$^¸'ƒ¸*«¸!Ö¸=ø¸A6¹Ax¹º¹%Ù¹Dÿ¹Dºsbº.Öº,»*2»%]»4ƒ»¸»-×»2¼L8¼;…¼©Á¼Gk½8³½Hì½45¾7j¾9¢¾'Ü¾+¿U0¿Z†¿Oá¿C1À;uÀ$±ÀÖÀ@óÀm4ÁJ¢Á6íÁ6$Â)[Â7…Â@½ÂHþÂBGÃJŠÃ-ÕÃ;Ä8?Ä2xÄ¿«ÄVkÅ\ÂÅ:Æ:ZÆB•ÆTØÆT-ÇT‚Ç‰×Ç;aÈm�È[ÉMgÉ<µÉDòÉ^7Ê|–ÊDË€XË1ÙËKÌJWÌ>¢ÌmáÌ6OÍ>†Í>ÅÍ.Î-3ÎEaÎ<§Î=äÎB"Ï?eÏ?¥ÏDåÏB*Ð?mÐ?­Ð,íÐ'ÑBÑ6_Ñ0–Ñ/ÇÑ!÷ÑÒ&-Ò(TÒ;}Ò@¹Ò$úÒÓ73Ó!kÓ#�Ó&±Ó8ØÓCÔ UÔ vÔ)—Ô.ÁÔ0ðÔ?!Õ.aÕ.�Õ/¿Õ)ïÕ/Ö;IÖh…Ö<îÖA+×<m×/ª×-Ú×&ØM/Ø2}Ø2°ØNãØU2ÙNˆÙo×Ù+GÚAsÚ7µÚ9íÚT'Û5|Û#²Û.ÖÛ.Ü%4Ü7ZÜ2’Ü7ÅÜEýÜ>CÝ1‚Ý:´ÝUïÝ2EÞoxÞ(èÞ(ß3:ß[nßZÊß+%à+Qà}à/—à(Çà7ðà<(á?eáQ¥á3÷á5+â'aâ=‰â:ÇâGã<Jã"‡ãLªã6÷ãK.äDzä!¿ä:áä7åTårå.Žå.½åìå1æ>æ'[æ%ƒæ ©æEÊæ4ç(Eç;nçHªç?óç<3èGpè@¸è7ùè.1é*`é<‹é7Èé1ê82ê:kê2¦ê+Ùêtë/zë ªë-Ëë]ùë0WìJˆì>ÓìAí.Tí+ƒí8¯íèí*îI3î$}î+¢îÎîìîAïHGï>�ï+ÏïIûï9Eð;ð»ð;Ûð;ñSñ+nñGšñ.âñ.ò5@ò@vò@·òIøò=BóI€óIÊó4ôIô9hô,¢ô.Ïô/þô'.õkVõuÂõ@8ö5yö¯ö2Ìö.ÿö*.÷>Y÷1˜÷)Ê÷?ô÷!4ø#Vø.zø8©ø*âø 
ùA.ùEpùB¶ùBùù:<ú3wú$«ú2ÐúIû:Mû<ˆû3Åû5ùû&/ü%Vü4|ü&±ü4Øü&
ý14ý$fý$‹ý.°ýßý&ýý&$þ<Kþ#ˆþ*¬þ'×þ>ÿþB>ÿ3�ÿ&µÿ Üÿ"ýÿ! !B!d%†!¬ Î!ï#!5!W!y$›$À å"!)#K$o”"´"×!ú!>^!z#œ"À#ã!')3Ql…@ò?3GsF»JHMK–GâB*Xm4Æ/û+4J ! GÂ4
+	0?	p	(‡	.°	(ß	*
+63
+2j
+5�
+8Ó
+WZdB¿5=8<v(³-Ü0
+
;
OU
"¥
/È
&ø
!@Ai‚Eì021c*•!À4â;&S$z'Ÿ=ÇDJ2h0›CÌLG]C¥Jé`4r•A�JSÌ< a]a¿f!fˆFï-62d(—3À1ô,&-SD�BÆ4	6>*u# 2Ä*÷-".P*(ª]ÓJ16|³Î4è'DECŠCÎE^X]·)(?+h$”)¹)ã7
9E&&¦&Í2ô,' =T ,’ ¿ +Ý 	!-!M!j!,‰!#¶!1Ú!*"'7"&_"%†"&¬"'Ó")û",%#%R#*x#$£#%È#%î#1$'F$*n$"™$#¼$"à$&%-*%,X%[…%Cá%G%&Cm&K±&Wý&GU'9�'(×'*(+(3K(4(>´(2ó(5&)@\)P�)3î)P"*2s*A¦*Kè*@4+Ku+-Á+`ï+>P,J�,2Ú,<
-;J-7†-3¾-/ò-?".7b.Aš.*Ü.1/;9/2u/W¨/O0&P03w0[«0W1-_1o�1+ý1])2-‡2+µ2á22ÿ2)23V\3<³3(ð334#M4%q42—4Ê42ê4$53B5=v5;´5Bð5A36:u62°6?ã6#7<B7879¸7ò78&08W8›p8D9'Q9,y91¦9'Ø9$:/%:-U:0ƒ:&´:8Û:6;6K;‚;.¡;+Ð;$ü;"!<7D<!|<%ž<AÄ<G=6N==…=:Ã=:þ=D9>8~>9·>Cñ>:5?7p?8¨?Pá?D2@9w@,±@0Þ@#A3A-NA6|A³A7ÏA;B:CB:~B!¹B3ÛB%C.5CdCL„C1ÑC*D%.D$TD9yDO³D#E,'E1TEC†E6ÊE(F5*F"`F.ƒF8²FGëFU3G>‰G ÈGéG!H )H'JHbrH3ÕH)	I=3I%qI*—I0ÂI&óI&J7AJfyJ7àJ]K8vK¯KOÎK,L+KLYwL)ÑL;ûL07M/hM?˜M9ØM6N/INCyN&½NWäNQ<OŽO®O½O!ÒOôOR
+PF]PF¤P:ëP&Q9QMQ_QyQ
�Q'›QÃQ
ÏQÝQ%îQ\R;qR­R¿RÕRØRõRS	S%S7SHS,US‚S–S¬S"ÆS/éS/T2IT9|T#¶T'ÚT2U35UiU;yUµU¼UÄUÙUéUðUøUV!V6VHV[VrV�V¡V¿V	ÞVèV	W"W+3W#_W,ƒW:°WëWýW)X/CX?sX=³X	ñX"ûXY5Y+>YjYvYzY�YŸY±Y'ÃYëY Z#)ZMZ>gZ<¦ZãZ õZ'[7>[0v[D§[,ì['\A\a\s\$‘\$¶\'Û\%]')]Q]o]�]"¯]Ò]â]÷]^#^)9^c^2y^#¬^-Ð^Iþ^:H_/ƒ_8³_2ì_[`1{`<­`Bê`,-a-Za)ˆa.²a-áab6/bYfbbÀb;#c)_c!‰cG«c1óc$%dJdH_d5¨d%Þde5!eWe
+le"weše¬e´e0¼eíef!f6fCfRf
pf~fB�f/Óf+g8/ghg$~g!£g1Åg÷gh+5hah
+uh€h9ŸhÙh'ëhi%i.Ci-riG i3èij";j)^j*ˆjK³j ÿj k%=kckvk•k.§kÖk2ôk,'l)Tl"~l¡l³l$Ìl*ñl+mHm em†m5˜mÎm	àmêmümn$nDn^non~n�n	—n4¡nÖnßn
+öno"o%)oOo[ojo�o�o³oÅoåoþop2pDp\p-zp¨pºpÌpàpúpDq¥_qr)r/Dr'trœr«r½rÏrÖr!Ýr.ÿr,.s[s:ws%²s%Øsþs?t9WtC‘t=ÕtCu=Wu"•u[¸u?vTvsv)�vºvÃvvÞv*Uw€w&’w¹wÙwëwòw
+ùw(x-x'?xgx„xœx¼x#Ôx$øx,y.Jy,yy.¦yÕy"òy,z.Bz!qz1“z0Åz2öz,){.V{#…{©{É{(Ý{/|!6|X|(u|#ž|+Â|î|,} 4}U}n}Ž}¢}Â}#á}-~"3~V~h~€~“~¬~¸~Í~ß~2ú~$-&Ry6™	Ð!ÚDüDA€/†€?¶€ö€/�>8�w�Jˆ�MÓ�8!‚Z‚z‚‘‚;¤‚à‚7ý‚-5ƒcƒJlƒ‰·ƒ(A„7j„¢„*¼„ç„ÿ„……5…F…\…y…"……#¨…%Ì…ò…†',†T†Jf†J±†Jü†IG‡:‘‡AÌ‡;ˆ:Jˆ6…ˆ+¼ˆ;èˆF$‰@k‰;¬‰:è‰Q#Š/uŠB¥Š;èŠK$‹Fp‹a·‹/Œ<IŒ-†Œ-´Œ/âŒ7�BJ�!��i¯�DŽd^Ž.ÃŽ,òŽf�C†�Ê�#é�@
�4N�8ƒ�H¼�7‘=‘˜]‘ö‘’$’6’2K’.~’$­’Ò’ß’ì’ü’““.“G“_“w“d�“ô“6”M>”MŒ”<Ú”g•b•<â•E–1e–(—–$À–å–û–4—'L—$t—7™—Ñ—â—ú—˜"˜:˜R˜d˜v˜ˆ˜š˜´˜Ï˜á˜ò˜
+™)™2H™{™”™-®™+Ü™+š*4š	_š	iš
+sš
+~š‰šžš­šÂšÑš1Öš›-'›U›'t›"œ›¿›Ý›ò›û›,œ]Fœ=¤œ(âœZ�Zf�EÁ�AžGIžC‘žWÕžW-Ÿ9…Ÿ9¿Ÿ-ùŸ8' 4` 3• 9É 4¡28¡7k¡5£¡7Ù¡B¢ET¢Bš¢CÝ¢A!£'c£.‹£,º£+ç£*¤.>¤2m¤  ¤[Á¤@¥:^¥#™¥6½¥<ô¥&1¦2X¦=‹¦;É¦8§<>§%{§¡§¾§NÔ§-#¨OQ¨ ¡¨>Â¨9©
+;©*F©1q©&£©&Ê©!ñ©ª,2ªJ_ª7ªª
âªðªÿª«&«9«L«7i«6¡«6Ø«¬$/¬_T¬"´¬A×¬­,7­2d­—­§­¾¸­»w®3¯N¯i¯;‰¯=Å¯*°L.°{°Ž°£°¸°4Ç°ü°0±95±o±‰±‘±™±µ±H¼±²²2$²OW²§²Æ²*Ë² ö²³5³=³J³ d³…³Ž³¢³·³Í³á³÷³´+´<´N´b´Nj´¹´½´#Õ´ù´6µHµ hµ8‰µÂµÔµäµìµ4¶6¶J¶^¶r¶…¶
˜¶L¦¶ ó¶D·PY·ª·¼·Ï·3ê·!¸@¸G¸"O¸r¸‚¸M‘¸ß¸÷¸¹#¹,6¹%c¹'‰¹)±¹$Û¹(º)º0Eº
+vº,�º®ºÌºæºîº
»#»8»'P»x»’»¬»"¸»Û»ú»¼#¼:¼7Q¼‰¼¢¼·¼É¼Ü¼ð¼½½0½-O½)}½>§½7æ½E¾gd¾xÌ¾7E¿E}¿4Ã¿%ø¿-À;LÀ!ˆÀªÀ!ÃÀ0åÀ5Á&LÁ<sÁ<°Á2íÁ/ Â.PÂ=Â/½Â6íÂ?$ÃdÃƒÃ£Ã,§ÃÜÔÃ±Å¾Å(ÓÅ.üÅY+ÆY…ÆKßÆ"+ÇNÇ'aÇ&‰ÇI°ÇúÇ.È(5È^È[rÈ'ÎÈöÈÉ/ÉJÉ"ZÉ$}É#¢ÉÆÉãÉûÉÊd!Ê#†Ê5ªÊJàÊN+Ë=zË¸ËRÓËM&ÌDtÌL¹Ì@Í2GÍQzÍVÌÍN#Î0rÎE£ÎJéÎH4ÏY}Ï0×ÏIÐYRÐ¬ÐÇÐTãÐV8Ñ"�Ñ²ÑËÑßÑùÑ$Ò36ÒjÒƒÒ/•ÒÅÒ×ÒçÒ*Ó*.Ó*YÓ"„Ó§Ó¿ÓÈÓåÓ2þÓC1ÔBuÔ.¸Ô2çÔ0Õ5KÕR�Õ@ÔÕÖ-ÖMÖjÖƒÖ#žÖÂÖáÖüÖ×0×*D×o×€×™×´×Ë×Ý×ó×
Ø/$ØTØ
hØvØ�Ø¨Ø$ÂØ2çØ+Ù5FÙ|Ù•Ù°ÙÇÙãÙüÙÚ')ÚQÚjÚ‰Ú¡Ú*¸ÚãÚùÚÛ<&ÛcÛrÛ�Û�Û Û!¸ÛÚÛõÛ!Ü)Ü IÜjÜƒÜœÜ*¯ÜÚÜìÜ'þÜ&Ý/:ÝjÝ&~Ý˜¥Ý>ÞKÞ#^Þ‚ÞžÞ¯ÞÈÞ%ãÞ	ß!ß#?ß#cß‡ß#œß#Àß
äß&òß%à?àEàMàRà
+màxà}à$ƒà6¨àßàäàéàá$áDáIáiá'ná–á�á£á¨á­á³á·á$¼á"áá+â0â5âUâoâ2�âAÂâã$ã)ã.ã5ã;ã@ãTã[ã{ã$‚ã§ã¿ãÐãáãòãää+ä	>ä
Hä
Vä
+dä
+oä
+zä
+…ä�ä
¦ä9´ä
+îä1ùä(+å
Tåbåtå+’å¾åÝå*ùå$æ@æQæ^æ	uææ“æ¢æ©æÅæÞæðæ"ç#&çJç$]ç‚ç�ç%–ç¼ç9Ëç@èFèYè>iè¨è@Æèé"é<éVé8lé¥é½éÙé/óé(#êLê1gê?™ê/Ùê(	ë(2ë[ë"pë&“ë*ºëEåë„+ìv°ìz'í¢í<ÀíýíNî4`î7•î3Íî-ï+/ï$[ï>€ïH¿ïQð Zð2{ðT®ð0ñ}4ñ7²ñ-êñ+ò(Dò<mò)ªò1ÔòAó^HóD§ó»ìóO¨ôPøôPIõ6šõ=ÑõEö,Uö0‚ö]³ö^÷\p÷QÍ÷Xø*xø%£øCÉø}
ùg‹ù7óù<+ú-húI–úDàúL%ûFrûM¹û8ü?@ü?€ü4ÀüÈõü_¾ýnþ@�þ@ÎþVÿ[fÿ[Âÿ[‘z@ƒMhÑU:M�TÞx3£¬JP–›/2abUÄJ}e=ãK!KmF¹1c2;–<ÒA	>Q	>�	IÏ	A
+>[
+>š
+=Ù
+4$LAq>³7ò+*V3n5¢:Ø?
4S
ˆ
:›
'Ö
*þ
?)>iI¨%ò$3=1q3£O×1'2Y4Œ1Á4óD(umDãA(Dj8¯<è6%m\8Ê8m<dª^„n4óY(>‚NÁz;‹0ÇEø>>/}F­4ô>)YhTÂ7<O[Œ>è†'+®5Ú:bKo®6?U•F°8÷K0V|PÓv$6›:Ò+
 H9 G‚ RÊ W!$u!Wš!Jò!L="PŠ"%Û"G#GI#(‘#º#6Ú#6$(H$=q$ ¯$*Ð$8û$.4%ec%DÉ%3&CB&U†&GÜ&X$'V}'<Ô'=(2O(,‚(L¯(Iü(BF)J‰)?Ô)D*NY*‹¨*-4+*b+1�+o¿+M/,W},BÕ,D-,]->Š-CÉ-%
.B3.nv.6å.6/1S/'…/O­/Zý/WX07°0eè0LN1V›1+ò1V2Pu2Æ29ã2N35l35¢3BØ3G4Gc4R«4>þ4R=5R�5Lã5&06QW66©66à667:N7|‰7ƒ8EŠ8?Ð8%99697p93¨9OÜ9;,:Ch:F¬:*ó:*;0I;Kz;2Æ;)ù;K#<ho<XØ<X1=FŠ=6Ñ=.>B7>Vz>HÑ>J?=e?=£?*á?+@:8@.s@>¢@.á@;A,LA+yA5¥A"ÛA2þA21BHdB,­B8ÚB&CB:CW}C?ÕC0D-FD+tD* D*ËD*öD.!E*PE){E*¥E,ÐE*ýE*(F*SF-~F-¬F)ÚF+G*0G,[G-ˆG(¶G+ßG+H*7H*bH(�H¶H*ÖH,I+.I,ZI*‡I<²IHïIm8JO¦JNöJUEKT›KXðKVILi La
+MJlMi·MK!NFmN%´NMÚN((O&QOYxOHÒO>PZPAvP3¸P5ìP8"QN[QKªQ=öQH4R`}ReÞRMDS=’SOÐSL T@mTD®T=óT1U\OU0¬U6ÝU8V/MVR}VšÐVTkW=ÀW8þW67X1nX> XGßX5'Y(]Y2†YC¹YNýY&LZ?sZ1³ZOåZe5[S›[Lï[Z<\o—\‚]FŠ] Ñ]`r^KÓ^p_q�_t`ww`Tï`<Da?�a(ÁaXêa:Cb;~b3ºbLîbI;c>…c\Äc8!d1Zd;Œd1Èd.úd@)e9je9¤eoÞeZNf:©fäfg<g-\g?Šg>Êg>	h@HhY‰hXãh=<i/zi?ªi2êi5j4Sj=ˆj@Æj/k-7k3ek;™k/ÕkGl:Ml#ˆl2¬lßl7÷l"/m'Rm;zm*¶m8ám3n.Nn-}n,«n-Øn.o05o3fo,šo1Ço+ùo,%p,Rp:p-ºp+èp'q,<q+iq+•q7Áq6ùqk0rUœrWòrHJs`“sgôsY\tI¶t<u1=u"ou@’u2ÓuEv3LvB€vOÃvXw4lwX¡w/úw=*xFhx;¯xGëx;3yvoyBæyJ)z:tzB¯zGòzC:{B~{;Á{Sý{2Q|W„|<Ü|>}VX}>¯}fî}\U~)²~?Ü~ts‘:€ƒ@€/Ä€lô€1a�:“�,Î�9û�,5‚ib‚@Ì‚6
ƒBDƒ'‡ƒ@¯ƒ:ðƒ.+„:Z„,•„6Â„fù„\`…c½…a!†Zƒ†=Þ†G‡#d‡Rˆ‡]Û‡L9ˆ†ˆ*¦ˆ4Ñˆ‰¢"‰IÅ‰(Š08Š2iŠ(œŠ$ÅŠ/êŠ.‹4I‹&~‹.¥‹MÔ‹J"ŒmŒ1�Œ6¿Œ)öŒ( �JI�&”�)»�Qå�W7Ž8�Ž?ÈŽ;�<D�E��9Ç�;�D=�>‚�9Á�9û�Z5‘H�‘QÙ‘D+’4p’$¥’-Ê’?ø’D8“#}“;¡“OÝ“?-”>m”!¬”7Î”"•,)•&V•Z}•CØ•3–&P–0w–A¨–]ê–(H—6q—@¨—Lé—>6˜7u˜S­˜6™68™=o™S­™UšKWš.£š"Òš;õš:1›7l›v¤›?œD[œ> œ.ßœK�:Z�&•�4¼�Añ�q3ž:¥ž‚àžBcŸ ¦ŸRÇŸ/ (J ^s *Ò Pý 1N¡5€¡E¶¡Iü¡PF¢G—¢Qß¢)1£|[£\Ø£*5¤
`¤n¤)‚¤#¬¤gÐ¤Z8¥Z“¥Mî¥<¦T¦h¦y¦–¦
¯¦3½¦ñ¦þ¦§(§eC§?©§é§û§¨ ¨=¨L¨
g¨u¨‡¨˜¨+¥¨Ñ¨å¨ý¨(©EB©:ˆ©:Ã©<þ©%;ª)aª5‹ªCÁª«G«_«f«n«†«˜«Ÿ«§«¼«Ò«è«û«¬/%¬U¬h¬�¬
+¡¬!¬¬
Î¬#Ü¬9­0:­0k­Aœ­Þ­#ð­)®0>®Ro®JÂ®
¯(¯(G¯
+p¯<{¯¸¯Ë¯&Ï¯ö¯°°,,°Y°(x°(¡°!Ê°Qì°Y>±˜±&®±6Õ±H²>U²L”²;á²6³!T³v³"‰³$¬³$Ñ³'ö³%´'D´l´Š´ª´"Ê´í´µµ%<µbµ5‚µ¸µ9Ôµ2¶?A¶M�¶DÏ¶<·?Q·:‘·mÌ·D:¸V¸SÖ¸/*¹-Z¹1ˆ¹3º¹8î¹#'ºGKºy“ºx
»U†»5Ü»%¼G8¼;€¼*¼¼ç¼Uü¼+R½,~½"«½>Î½
¾%¾-2¾`¾r¾z¾<‚¾¿¾%Þ¾¿"¿;¿#L¿p¿€¿F’¿>Ù¿5À=NÀŒÀ'¨À*ÐÀ=ûÀ)9Á,cÁ0�ÁÁÁ
+×Á-âÁPÂaÂ"sÂ–Â©Â:ÉÂ2ÃK7ÃDƒÃ3ÈÃ-üÃ;*Ä;fÄW¢Ä)úÄ%$Å.JÅyÅ$�ÅµÅ5ÊÅ#Æ8$Æ/]Æ=�Æ+ËÆ÷Æ!	Ç*+Ç4VÇ/‹Ç&»Ç)âÇ
È=ÈXÈjÈ€È’È¨È"»ÈÞÈýÈ
É$É6É=ÉAIÉ‹É˜É¸ÉÉÉ&ÑÉ8øÉ1Ê>ÊRÊgÊ„Ê›Ê°ÊÏÊêÊ
+Ë%Ë:ËSË5sË©Ë¾ËÔËèË1Ì_5Ì»•ÌQÍ>fÍD¥Í.êÍÎ(Î:ÎLÎSÎ(ZÎ6ƒÎ4ºÎ$ïÎ;Ï(PÏ&yÏ ÏJ¿ÏD
+ÐKOÐM›ÐSéÐ>=Ñ>|Ñt»ÑO0Ò,€Ò"­Ò:ÐÒ	ÓÓ‘4Ó2ÆÓùÓ1Ô-=ÔkÔ}Ô„Ô
‹Ô2™ÔÌÔ1ÞÔÕ,ÕCÕbÕ!zÕ#œÕ5ÀÕ0öÕ5'Ö0]ÖŽÖ.®Ö5ÝÖ0×%D×1j×9œ×4Ö×5Ø0AØ%rØ!˜ØºØ*ÑØ0üØ&-ÙTÙ+tÙ& Ù0ÇÙøÙ1Ú$FÚkÚ!‡Ú©Ú%ÀÚ$æÚ)Û35Û+iÛ•Û§ÛÆÛÞÛþÛ
Ü,Ü @Ü1aÜ.“Ü<ÂÜ(ÿÜ@(Ý
+iÝ2tÝP§ÝPøÝFIÞB�ÞÓÞ5ïÞQ%ßwßL�ßjÝß<Hà,…à²àÊà7êà!"áBDá0‡á¸áeÀá–&â3½â?ñâ1ã9PãŠã¨ã´ãÓãïã ä#,äPä)`ä%Šä/°ä+àä"å-/å]å\påXÍåX&æWæE×æOçGmç:µç6ðç6'èL^èS«èDÿèBDé>‡éjÆéA1êOsêJÃêPëI_ë|©ë5&ìA\ì1žì1Ðì3í>6íJuí$ÀíqåíUWî�­î8/ï6hïrŸïPð,cð)�ðIºð6ñ;;ñ^wñKÖñ7"ò§Zò!ó$ó6óHó6dó0›ó0Ìó
ýó
ôô
+.ô&9ô`ô'wôŸô¶ô"Ðô{óôoõ=‚õ^Àõ^ö@~ö|¿öu<÷?²÷Kò÷5>ø,tø)¡øËø$àøLù?Rù4’ùSÇùú#1úUútú#Šú!®úÐúçúþúû%,û#Rûvû�û!£û0Åû.öû0%üVü qü?’ü=Òü=ý:Ný	‰ý	“ý
+�ý
+¨ý³ýÊýÙýîýýý2þ'5þ4]þ’þ6¯þ/æþÿ5ÿKÿSÿ2pÿl£ÿ@*Qw|wôTlQÁU^iuÈu>D´Bù4<Cq7µ@í<.7k@£HäC-HqYºPUeV»T.g5–5Ì7	*:	2e	7˜	$Ð	|õ	Rr
+NÅ
+*G??‡&Ç1îW BxE»G
0I
!z
 œ
]½
0XL#¥EÉ@
+P0[;Œ.È/÷',C4pZ¥DEUf†š­À:ß9;T�%¯oÕ#EUi ¿4à<RcÞuÛT$0!U wE˜HÞ7'c_ÃÛó	:U7]6•+Ìø&X-†‰H£{ì0h™7¡"Ù7ü4<)K;u±ºÒë5Nn�•«_³(2[Bw*º'å:
HZmu:‰ÄÚî(i:"¤]ÇW% } � $¢ HÇ /!@!	I!/S!ƒ!“!I¢! ì!%
"3"C"/W"9‡";Á"4ý"+2#2^# ‘#?²#ò#5þ#&4$[$y$…$Ÿ$4±$æ$1%7%S%q%)�%!«%Í%ê%$&,&EI& �&°&Å&×&ê&þ&'('C'3`'*”'B¿'F(XI(|¢(ƒ)9£)JÝ)7(*)`*5Š*<À*+ý*)+(=+9f+A +(â+L,MX,8¦,;ß,5-JQ-@œ-BÝ-R .'s.(›.Ä.(È.nâ(_€9¥{Õñ”Á«Âq|äät‚µH*îkÔ©8¸ä\V	Ûò»ºÊ3¨2wõˆˆ‡ù±æ/|d‚dˆ‹oÈ´ß@+Ï+hòp¹’�1Î­5MâJŒK+ ã�ÍW·ÂÅÁ§Ÿ÷Õ5{qª!-ÒË@iÖøÓ&œ™	+É$4ô'¶ÂTÌØ›k~¶|€0F�£Œy¶6Æ\Ó©R´þ‰;)tEBì—¥ø—ZSAOÑÓ	�ú¯óû‡ hçìÛv–�îàä‘[�/T„4jX)Šº$ÂáèÆÿYk]ö²BB”pWW«è?šPF¼u†üGè'•e#Çö¡§"ñHÄØÑïÚå~ªÝ¤$W[”SÖ°ÌFs>6·˜O—’±~0Í¾2å'É?CU”Å�ÁÀŸG<îÆp6—/rHg¡ÌPSèasb«¹ÇQ£H×ƒ‹8´ßL°ü¿u´4UË0ôAÚi·•;®o§™&ë4@Ù›!…},šl�“ƒˆ#/…Zóé.ÇUþÏ—‰xÅëvÖ˜ŒŠí%_ECíÜÖ¦=Ì!¿ƒ.`áh¢Ÿ›�›_úÚzTŸõÊ<·Ý¦tðØ]ÂØÎåF Íeí*‚)7�ou Ð®„G¤#„œ<…±xÒ�' ýÒ,(ƒöFÓá=�½1Ù¤?°"¾V~>%±¨+ª“g€U8³ü®‰ù/ëmkšx¬ð@Nz;¤©bõÜþ‘XM70“�e,Uâ3øz6ƒlòJ–ÝÀ}ºt²áLU?Ä¸
ÓÃ€J%™Ô	Ç,=K@Gèºf¯ÑLyEq9>Xg»Œc"C­éª‰*ÖÆP"	Äz9‚Í£¯%uXN�üiû–{§nm&‡ö�Èå’4J4°ñ¡Ãæ¸2RÆ°[-<åmyú�¥[ž-ÚJ\§Ð«úÔvùÑ0±)8a.Œ²ý¹*Á‹£Ðfõ%6®p5„>[I’;T²!¤SX¦¿
Åe¹çq˜A™PLa(ž«"Vchw¢o‡p•ºRÆ\ÃÒ]+»)¹<í�2Ð¬¾*Ð¶»d<æØ¿�í¼0ÜÝÃ–ôvàNu

+ñ¡î¬ž´ÔëËT‘µíéWhÕ˜’|¼-ÈÑÜ{ŒðQ5˜hlC(ª§Ö¬Qýà3¿á
+˜×ÇWÀ³d2ï÷÷Çb;ìøÃ³³½Éˆ¢æ‡RuÉ2oqà
+Y¯·ÞœÁ`¬j�æYMe�”r�Ù¦Ö…GäHÙ�xæ[Ø…cóµ¢1ç™$QFE¬ýÕRKr‘£mÊXž+QM…àHrs TÓbú¨á½pÊòF£«¢êÕA&â¿ÎÏCúàÔãìYÞÿùI¿Z¾|­¾‘G„ÂËâ'	?©mWéœû›r=0;Êi“éœZg”]Ì3Ð®,VßÜ:fðŒVÑô2}7ïÕSî >½ˆÎ•#'µZvD°¥ÑPõÝ°^„9-Üà:®ÝÉ¡:È-âûÄ‰¢ßLC»ýOû×evóêÏqì}­A§ÞƒƒšB†Ú
m{ånc¨ˆ¼óä»Â]‰|ßñô‰»øý¸³Ž4Z9p%¾}‚QL©Š,w]¶·*":DÅ9Z×wÅ–ÚNTBŸI\½Ò{@Mÿ�f•}ëÀDþáö›la jioŠ^xd8k€|CïD†1 ™O¢×3V^bÈb3sIµyÿP²�c¥¨ŽÞ‡aÌ¹ê«$œù
+ï–·ÛKêéq_‹Ž†nÏE�³ã3ö—?þ÷­#V!w,Å´¯=Šsë�ËzÍ8ò
Ô{Û„`Jš±äsènÃ€ŽAËo‚t âRjçf?(=ê¸dÍŠ#Bw\ŸÜ7ÞëÀì¥&M_m÷”&X¨:9ÊÃ± $ÌN/d5´æ³c'À•^š¼Ø$r:½ÞB�ôÕ•HyfÁñõ.çj¤¦ðž;²L—Çègt&~×Ô¨füc­¡êÝ56žÓÏ)!‡GUOÍ½º!éêQ…ïl:@ šçJ7w£8j
%‹7‹Éð5M}ò€O~yPŽ¯Ixœ`Sªs�®¾ADÄü¹>ìÎDÀ†¯
+b1YÒ.çþgy=ÎãÙ1\ß‚-™aãK¶g×Ð^Ž`"�O¥I/r©ÛãŸ“�‹^ª��~û¼E	K¦’_YÙÒt‘ã]È“#“Ä_<h>u­`(IlÈ¸xÛž)Ra¤¬.
+ßŽ¡1ºŠ†ÿi
+^�ËåÎDµ¦Ev¸¶jizN[kù `lÿ(k²¼É’†Êó�ÛzÚY6 î�ÞÙ7øÁÏµ©SÄ.*Kn÷–eÆ
›‘n˜N	    TLS: %A	<corrupt: 0x%04lx>	Export Address Table 			Export Address Table 		%08lx
+	Invalid Export Address Table rva (0x%lx) or entry count (0x%lx)
+	Invalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)
+	Invalid Ordinal Table rva (0x%lx) or entry count (0x%lx)
+	Name Pointer Table 			Ordinal Table 				[%4ld] <corrupt offset: %lx>
+	[Name Pointer/Ordinal] Table	%08lx
 	code-base %08lx toc (loadable/actual) %08lx/%08lx
-	reloc %4d offset %4x [%4lx] %s	vma:  Hint/Ord Member-Name Bound-To
+	non-TLS: %A	reloc %4d offset %4x [%4lx] %s	vma:  Hint/Ord Member-Name Bound-To
 
-	DLL Name: %s
+	DLL Name: %.*s
 
 
 PE File Base Relocations (interpreted .reloc section contents)
@@ -80,8 +84,12 @@ PE File Base Relocations (interpreted .r
 
 Characteristics 0x%x
 
+Dump of %s
+
 Dynamic Section:
 
+Error: section %s contains the debug data starting address but it is too small
+
 Exec Auxiliary Header
 
 Export Address Table -- Ordinal Base %ld
@@ -99,20 +107,35 @@ Stack size for functions.  Annotations: 
 The Export Tables (interpreted %s section contents)
 
 
+The Function Table (interpreted %s section contents)
+
 The Function Table (interpreted .pdata section contents)
 
 The Import Tables (interpreted %s section contents)
 
+There is a debug directory in %s at 0x%lx
+
+
+There is a debug directory in %s, but that section has no contents
+
+There is a debug directory, but the section containing it could not be found
+
 There is a first thunk, but the section containing it could not be found
 
 There is an export table in %s at 0x%lx
 
 There is an export table in %s, but it does not fit into that section
 
+There is an export table in %s, but it is too small (%d)
+
+There is an export table in %s, but that section has no contents
+
 There is an export table, but the section containing it could not be found
 
 There is an import table in %s at 0x%lx
 
+There is an import table in %s, but that section has no contents
+
 There is an import table, but the section containing it could not be found
 
 Version References:
@@ -121,14 +144,18 @@ Version definitions:
 
 Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld
 
+WARNING: Extra data in .rsrc section - it will be ignored by Windows:
+
 [Ordinal/Name Pointer] Table
 
 ppcboot header:
         pc: 0x%08x
     *unhandled* cmd %u
+    address: 0x%08x
     address: 0x%08x, size: %u
     flags: %u, address: 0x%08x, pd-address: 0x%08x
     global name: %.*s
+    len: %u bits
     linkage index: %u, replacement insn: 0x%08x
     name: %.*s
     pc: 0x%08x
@@ -138,8 +165,16 @@ ppcboot header:
     psect idx 3: %u, offset 3: 0x%08x %08x
     psect: %u, offset: 0x%08x %08x
     routine name: %.*s
-   %02u    %s%s %s
-   (type: %3u, size: 4+%3u):    *unhandled* cmd %u
+   %02u    (type: %3u, size: 4+%3u):    *unhandled* cmd %u
+   Error: The compile date is truncated
+   Error: The length is less than the length of an EEOM record
+   Error: The length is less than the length of an EMH record
+   Error: The module name is missing
+   Error: The module name is too long
+   Error: The module version is missing
+   Error: The module version is too long
+   Error: The record length is less than the size of an EMH_MHD record
+   Error: length larger than remaining space in record
    alignment  : 2**%u
    alloc (len)   : %u (0x%08x)
    alloc (len): %u (0x%08x)
@@ -198,13 +233,18 @@ ppcboot header:
    vector      : 0x%08x
    version mask: 0x%08x
   %s (len=%u+%u):
-  %s: 0x%v
   %u: size: %u, flags: 0x%02x, name: %.*s
   EEOM (len=%u):
   EGSD (len=%u):
   EGSD entry %2u (type: %u, len: %u):   EMH %u (len=%u):   base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x   base_va : 0x%08x
   bitcount: %u, base addr: 0x%08x
-  calls:
+  branch       %lu
+  toc adjust   %lu
+  long branch  %lu
+  long toc adj %lu
+  plt call     %lu
+  plt call toc %lu
+  global entry %lu  calls:
   chgprtoff : %5u
   codeadroff: %5u, lpfixoff  : %5u
   fixuplnk: 0x%08x %08x
@@ -220,23 +260,22 @@ ppcboot header:
   shlextra  : %5u, permctx   : %5u
   shlstoff  : %5u, shrimgcnt : %5u
   size : %u
- #: Segment name     Section name     Address
- %08x 0x%08x 64B <EABI version unrecognised> BPAGE: %u COM COMM Change Protection (%u entries):
+  the input  file's flags: %s  the output file's flags: %s %08x 0x%08x 64B <EABI version unrecognised> BPAGE: %u COM COMM Change Protection (%u entries):
  Code Address Reference Fixups:
- DEF EXE First address : 0x%08x 0x%08x
+ DEF EXE FPU support required:  First address : 0x%08x 0x%08x
  Fourth address: 0x%08x 0x%08x
- GBL Glue code sequence LIB Linkage Pairs Referece Fixups:
- NOMOD NORM OVR PIC QVAL RD REL Register restore millicode Register save millicode SHR Second address: 0x%08x 0x%08x
+ GBL Glue code sequence LIB Linkage Pairs Reference Fixups:
+ NOMOD NORM OVR PIC QVAL RD REL Register restore millicode Register save millicode Resources start at offset: %#03x
+ SHR Second address: 0x%08x 0x%08x
  Shareable images:
  Shared image  : 0x%08x 0x%08x
+ String table starts at offset: %#03x
+ Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d
  Third address : 0x%08x 0x%08x
- UNI VEC VECEP WEAK WRT [64-bit doubles] [BE8] [FPA float format] [LE8] [Maverick float format] [VFP float format] [Version1 EABI] [Version2 EABI] [Version3 EABI] [Version4 EABI] [Version5 EABI] [abi unknown] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [absolute position] [d-float] [dsp] [dynamic symbols use segment index] [fix dep] [floats passed in float registers] [floats passed in integer registers] [g-float] [has entry point] [interworking enabled] [interworking flag not initialised] [interworking not supported] [interworking supported] [mapping symbols precede others] [memory=bank-model] [memory=flat] [new ABI] [no abi set] [nonpic] [not 32bitmode] [old ABI] [pic] [position independent] [relocatable executable] [software FP] [sorted symbol table] [symbols have a _ prefix] [unknown ISA] [unsorted symbol table] [v10 and v32] [v32] corrupted GST
- cpusubtype: %08lx
- cputype   : %08lx (%s)
+ UNI VEC VECEP WEAK WRT [64-bit doubles] [BE8] [FPA float format] [LE8] [Maverick float format] [VFP float format] [Version1 EABI] [Version2 EABI] [Version3 EABI] [Version4 EABI] [Version5 EABI] [XGATE RAM offsetting] [abi unknown] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [absolute position] [d-float] [dynamic symbols use segment index] [fix dep] [floats passed in float registers] [floats passed in integer registers] [g-float] [hard-float ABI] [interworking enabled] [interworking flag not initialised] [interworking not supported] [interworking supported] [mapping symbols precede others] [memory=bank-model] [memory=flat] [new ABI] [no abi set] [nonpic] [not 32bitmode] [old ABI] [pic] [position independent] [relocatable executable] [soft-float ABI] [software FP] [sorted symbol table] [symbols have a _ prefix] [unknown ISA] [unsorted symbol table] [v10 and v32] [v32] alignment of 8-byte entities:  corrupted GST
  debug module table : vbn: %u, size: %u
  debug symbol table : vbn: %u, size: %u (0x%x)
- filetype  : %08lx (%s)
- fixup info rva:  flags     : %08lx ( flags: 0x%04x global symbol table: vbn: %u, records: %u
+ fixup info rva:  flags: 0x%04x global symbol table: vbn: %u, records: %u
  ident: 0x%08x, name: %.*s
  ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u
  image build ident: %.*s
@@ -247,17 +286,13 @@ ppcboot header:
  linker flags: %08x: linker ident     : %.*s
  long-word .address reference fixups:
  long-word relocation fixups:
- magic     : %08lx
  majorid: %u, minorid: %u
  module offset: 0x%08x, size: 0x%08x, (%u psects)
- ncmds     : %08lx (%lu)
  offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u
  quad-word .address reference fixups:
  quad-word relocation fixups:
- reserved  : %08x
  section: base: 0x%08x%08x size: 0x%08x
- sizeofcmds: %08lx
- type: %3u, len: %3u (at 0x%08x):  unhandled EOBJ record type %u
+ size of doubles:  type: %3u, len: %3u (at 0x%08x):  unhandled EOBJ record type %u
  vbn: %u, pfc: %u, matchctl: %u type: %u ( vma:			Begin Address    End Address      Unwind Info
  vma:		Begin    End      EH       EH       PrologEnd  Exception
      		Address  Address  Handler  Data     Address    Mask
@@ -265,42 +300,98 @@ ppcboot header:
      		Address  Length   Length   32b exc  Handler   Data
  vma:            Hint    Time      Forward  DLL       First
                  Table   Stamp     Chain    Name      Thunk
-#<Invalid error code>%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections%A has both ordered and unordered sections%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)
+#<Invalid error code>%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d
+%03x %*.s Entry: %A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections%A has both ordered and unordered sections%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)
 %A:0x%v not found in function table
-%B (%s): Section flag %s (0x%x) ignored%B and %B are for different configurations%B and %B are for different cores%B contains CRIS v32 code, incompatible with previous objects%B contains non-CRIS-v32 code, incompatible with previous objects%B has has both the current and legacy Tag_MPextension_use attributes%B is not allowed to define %s%B section %A exceeds stub group size%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section%B(%A): error: call to undefined function '%s'%B(%A): internal error: dangerous relocation%B(%A): internal error: out of range error%B(%A): internal error: unknown error%B(%A): internal error: unsupported relocation error%B(%A): invalid property table%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)%B(%A): warning: unaligned access to symbol '%s' in the small data area%B(%A+0x%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link%B(%A+0x%lx): %s relocation against SEC_MERGE section%B(%A+0x%lx): %s relocation against external symbol "%s"%B(%A+0x%lx): %s used with TLS symbol %s%B(%A+0x%lx): %s used with non-TLS symbol %s%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): Stabs entry has invalid string index.%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section%B(%A+0x%lx): cannot handle %s for %s%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch%B(%A+0x%lx): could not decode instruction; possible configuration mismatch%B(%A+0x%lx): invalid instruction for TLS relocation %s%B(%A+0x%lx): reloc against `%s': error %d%B(%A+0x%lx): relocation offset out of range (size=0x%x)%B(%A+0x%lx): unexpected fix for %s relocation%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'%B(%A+0x%lx): unresolvable relocation against symbol `%s'%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete
+%B (%s): Section flag %s (%#lx) ignored%B and %B are for different configurations%B and %B are for different cores%B contains CRIS v32 code, incompatible with previous objects%B contains non-CRIS-v32 code, incompatible with previous objects%B has both the current and legacy Tag_MPextension_use attributes%B is not allowed to define %s%B section %A exceeds stub group size%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section%B uses unknown e_flags 0x%lx%B(%#Lx): error: Cannot create STM32L4XX veneer. Jump out of range by %Ld bytes. Cannot encode branch instruction. %B(%A): error: call to undefined function '%s'%B(%A): internal error: dangerous relocation%B(%A): internal error: out of range error%B(%A): internal error: unknown error%B(%A): internal error: unsupported relocation error%B(%A): invalid property table%B(%A): multiple TLS models are not supported%B(%A): relocation %d has invalid symbol index %ld%B(%A): shared library symbol %s encountered whilst performing a static link%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction.%B(%A): warning: unaligned access to symbol '%s' in the small data area%B(%A): warning: unaligned small data access of type %d.%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link%B(%A+%#Lx): %s relocation against SEC_MERGE section%B(%A+%#Lx): %s relocation against external symbol "%s"%B(%A+%#Lx): %s relocation not permitted in shared object%B(%A+%#Lx): %s used with TLS symbol %s%B(%A+%#Lx): %s used with non-TLS symbol %s%B(%A+%#Lx): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value is %#Lx)%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, 16 MSB should be %#x (value is %#Lx)%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group relocations%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section%B(%A+%#Lx): cannot handle %s for %s%B(%A+%#Lx): cannot reach %s%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections%B(%A+%#Lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch%B(%A+%#Lx): could not decode instruction; possible configuration mismatch%B(%A+%#Lx): error: %s with unexpected instruction %#x%B(%A+%#Lx): invalid instruction for TLS relocation %s%B(%A+%#Lx): reloc against `%s': error %d%B(%A+%#Lx): relocation offset out of range (size=%#Lx)%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC%B(%A+%#Lx): unexpected fix for %s relocation%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'%B(%A+%#Lx): unresolvable relocation against symbol `%s'%B(%A+%#lx): Stabs entry has invalid string index.%B(%A+%#x): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.
+Use gcc option -mrestrict-it to generate only one instruction per IT block.
+%B(%A+0x%lx): %d bytes required for alignment to %d-byte boundary, but only %d present%B(%A+0x%lx): Unable to clear RISCV_PCREL_HI20 relocfor cooresponding RISCV_PCREL_LO12 reloc%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete
 %B(%s): warning: interworking not enabled.
   first occurrence: %B: ARM call to Thumb%B(%s): warning: interworking not enabled.
   first occurrence: %B: Thumb call to ARM%B(%s): warning: interworking not enabled.
   first occurrence: %B: arm call to thumb%B(%s): warning: interworking not enabled.
-  first occurrence: %B: thumb call to arm%B(%s): warning: interworking not enabled.
   first occurrence: %B: thumb call to arm
-  consider relinking with --support-old-code enabled%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'%B, section %A:
+  consider relinking with --support-old-code enabled%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'%B, section %A:
   relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC%B, section %A:
   relocation %s should not be used in a shared object; recompile with -fPIC%B, section %A:
-  v10/v32 compatible object %s must not contain a PIC relocation%B, section %A: No PLT for relocation %s against symbol `%s'%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for global symbol: `%s'%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?%B, section %A: relocation %s with no GOT created%B, section %A: relocation %s with non-zero addend %d against local symbol%B, section %A: relocation %s with non-zero addend %d against symbol `%s'%B, section %A: unresolvable relocation %s against symbol `%s'%B, section `%A', to symbol `%s':
-  relocation %s should not be used in a shared object; recompile with -fPIC%B: !samegp reloc against symbol without .prologue: %s%B: %A+0x%lx: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled.%B: %s: invalid needed version %d%B: %s: invalid version %u (max %d)%B: '%s' accessed both as normal and thread local symbol%B: .got subsegment exceeds 64K (size %d)%B: .opd is not a regular array of opd entries%B: .preinit_array section is not allowed in DSO%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32%B: 0x%lx: fatal: reloc overflow while relaxing%B: 0x%lx: fatal: unaligned %s relocation 0x%lx%B: 0x%lx: fatal: unaligned branch target for relax-support relocation%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x%B: 0x%lx: warning: bad R_SH_USES load offset%B: 0x%lx: warning: bad R_SH_USES offset%B: 0x%lx: warning: bad count%B: 0x%lx: warning: could not find expected COUNT reloc%B: 0x%lx: warning: could not find expected reloc%B: 0x%lx: warning: symbol in unexpected section%B: @gprel relocation against dynamic symbol %s%B: @internal branch to dynamic symbol %s%B: @pcrel relocation against dynamic symbol %s%B: ABI is incompatible with that of the selected emulation%B: ABI mismatch: linking %s module with previous %s modules%B: ASE mismatch: linking %s module with previous %s modules%B: Architecture mismatch with previous modules%B: BE8 images only valid in big-endian mode.%B: Bad relocation record imported: %d%B: CALL15 reloc at 0x%lx not against global symbol%B: CALL16 reloc at 0x%lx not against global symbol%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000).%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch.%B: Cannot handle compressed Alpha binaries.
-   Use compiler flags, or objZ, to generate uncompressed binaries.%B: Cannot link together %s and %s objects.%B: Corrupt size field in group section header: 0x%lx%B: Failed to add renamed symbol %s%B: Function descriptor relocation with non-zero addend%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d%B: GOT overflow: Number of relocations with 8-bit offset > %d%B: GOT reloc at 0x%lx not expected in executables%B: IMPORT AS directive for %s conceals previous IMPORT AS%B: Instruction set mismatch with previous modules%B: Invalid relocation type imported: %d%B: Malformed reloc detected for section %s%B: Not enough room for program headers, try linking with -N%B: Only registers %%g[2367] can be declared using STT_REGISTER%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive%B: Relocation %s (%d) is not currently supported.
-%B: Relocations in generic ELF (EM: %d)%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined%B: TLS local exec code cannot be linked into shared objects%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed%B: The first section in the PT_DYNAMIC segment is not the .dynamic section%B: The target (%s) of an %s relocation is in the wrong section (%A)%B: Too many sections: %d (>= %d)%B: Unable to sort relocs - they are in more than one size%B: Unable to sort relocs - they are of an unknown size%B: Unhandled import type; %x%B: Unknown mandatory EABI object attribute %d%B: Unknown relocation type %d
+  v10/v32 compatible object must not contain a PIC relocation%B, section %A: No PLT for relocation %s against symbol `%s'%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for global symbol: `%s'%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?%B, section %A: relocation %s with no GOT created%B, section %A: relocation %s with non-zero addend %Ld against local symbol%B, section %A: relocation %s with non-zero addend %Ld against symbol `%s'%B, section %A: unresolvable relocation %s against symbol `%s'%B, section `%A', to symbol `%s':
+  relocation %s should not be used in a shared object; recompile with -fPIC%B: !samegp reloc against symbol without .prologue: %s%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32%B: %#Lx: fatal: reloc overflow while relaxing%B: %#Lx: fatal: unaligned %s relocation %#Lx%B: %#Lx: fatal: unaligned branch target for relax-support relocation%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insn %#x%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insns%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc %#Lx%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insn %#x%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insns%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized reloc%B: %#Lx: warning: bad R_SH_USES load offset%B: %#Lx: warning: bad R_SH_USES offset%B: %#Lx: warning: bad count%B: %#Lx: warning: could not find expected COUNT reloc%B: %#Lx: warning: could not find expected reloc%B: %#Lx: warning: symbol in unexpected section%B: %A invalid input section size%B: %A not in order%B: %A points past end of text section%B: %A+%#Lx: No symbol found for INHERIT%B: %A+%#Lx: warning: %s relocation against unexpected insn%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn%B: %A: reloc overflow: %#x > 0xffff%B: %s not absolute%B: %s' accessed both as normal and thread local symbol%B: %s: invalid needed version %d%B: %s: invalid version %u (max %d)%B: %s: reloc overflow: 0x%lx > 0xffff%B: '%s' accessed both as normal and thread local symbol%B: --in-implib only supported for Secure Gateway import libraries.%B: .gnu.version_d invalid entry%B: .gnu.version_r invalid entry%B: .got subsegment exceeds 64K (size %d)%B: .opd is not a regular array of opd entries%B: .preinit_array section is not allowed in DSO%B: .reginfo section size should be %d bytes, actual size is %d%B: .rsrc merge failure: corrupt .rsrc section%B: .rsrc merge failure: unexpected .rsrc size%B: @gprel relocation against dynamic symbol %s%B: @internal branch to dynamic symbol %s%B: @pcrel relocation against dynamic symbol %s%B: ABI is incompatible with that of the selected emulation%B: ABI is incompatible with that of the selected emulation:
+  target emulation `%s' does not match `%s'%B: ABI mismatch: linking %s module with previous %s modules%B: ABI version %ld is not compatible with ABI version %ld output%B: ASE mismatch: linking %s module with previous %s modules%B: Architecture mismatch with previous modules%B: BE8 images only valid in big-endian mode.%B: Bad relocation record imported: %d%B: Bad symbol definition: `Main' set to %s rather than the start address %s
+%B: CALL15 reloc at %#Lx not against global symbol%B: CALL16 reloc at %#Lx not against global symbol%B: Can't find matching LO16 reloc against `%s' for %s at %#Lx in section `%A'%B: Can't relax br (%s) to `%s' at %#Lx in section `%A' with size %#Lx (> 0x1000000).%B: Can't relax br at %#Lx in section `%A'. Please use brl or indirect branch.%B: Cannot handle compressed Alpha binaries.
+   Use compiler flags, or objZ, to generate uncompressed binaries.%B: Cannot link together %s and %s objects.%B: Data Directory size (%lx) exceeds space left in section (%Lx)%B: EF_OR1K_NODELAY flag mismatch with previous modules%B: Error: Debug Data ends beyond end of debug directory.%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file
+%B: Error: search_nds32_elf_blank reports wrong node
+%B: Failed to add renamed symbol %s%B: Failed to find info section for section %d%B: Failed to find link section for section %d%B: Failed to read debug data section%B: Function descriptor relocation with non-zero addend%B: GAS error: unexpected PTB insn with R_SH_PT_16%B: GNU_MBIN section `%A' has invalid sh_info field: %d%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d%B: GOT overflow: Number of relocations with 8-bit offset > %d%B: GOT reloc at %#Lx not expected in executables%B: IMPORT AS directive for %s conceals previous IMPORT AS%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte%B: Instruction set mismatch with previous modules%B: Internal inconsistency error for value for
+ linker-allocated global register: linked: %#Lx != relaxed: %#Lx%B: Invalid relocation type exported: %d%B: Invalid relocation type imported: %d%B: Invalid sh_link field (%d) in section number %d%B: LOCAL directive: Register $%Ld is not a local register.  First global register is $%Ld.%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol%B: Malformed reloc detected for section %A%B: Malformed reloc detected for section %s%B: Nested OMIT_FP in %A.%B: No core to allocate a symbol %d bytes long
+%B: No core to allocate section name %s
+%B: No symbol version section for versioned symbol `%s'%B: Not enough room for program headers, try linking with -N%B: Only registers %%g[2367] can be declared using STT_REGISTER%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive%B: Relocation %s (%d) is not currently supported.
+%B: Relocation %s is not yet supported for symbol %s.%B: Relocations in generic ELF (EM: %d)%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined%B: SHT_GROUP section [index %d] has no SHF_GROUP sections%B: Special symbol `%s' only allowed for ARMv8-M architecture or later.%B: TLS local exec code cannot be linked into shared objects%B: TLS sections are not adjacent:%B: TLS transition from %s to %s against `%s' at %#Lx in section `%A' failed%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry%B: The first section in the PT_DYNAMIC segment is not the .dynamic section%B: The target (%s) of an %s relocation is in the wrong section (%A)%B: Too many sections: %d (>= %d)%B: Unable to sort relocs - they are in more than one size%B: Unable to sort relocs - they are of an unknown size%B: Unhandled import type; %x%B: Unknown architecture %s%B: Unknown mandatory ARC object attribute %d.%B: Unknown mandatory EABI object attribute %d%B: Unknown relocation type %d
 %B: Unknown section type in a.out.adobe file: %x
-%B: Unrecognised .directive command: %s%B: Unrecognised import name type; %x%B: Unrecognised import type; %x%B: Unrecognised machine type (0x%x) in Import Library Format archive%B: Unrecognized storage class %d for %s symbol `%s'%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s%B: Warning: Thumb BLX instruction targets thumb function '%s'.%B: Warning: bad `%s' option size %u smaller than its header%B: Warning: cannot determine the target function for stub section `%s'%B: XMC_TC0 symbol `%s' is class %d scnlen %d%B: `%s' accessed both as FDPIC and thread local symbol%B: `%s' accessed both as normal and FDPIC symbol%B: `%s' accessed both as normal and thread local symbol%B: `%s' has line numbers but no enclosing section%B: `%s' in loader reloc but not loader sym%B: `ld -r' not supported with PE MIPS objects
-%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d%B: bad pair/reflo after refhi
-%B: bad reloc address 0x%lx in section `%A'%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'%B: bad relocation section name `%s'%B: bad section length in ihex_read_section%B: bad string table size %lu%B: bad symbol index: %d%B: cannot create stub entry %s%B: change in gp: BRSGP %s%B: class %d symbol `%s' has no aux entries%B: compiled for a 64 bit system and target is 32 bit%B: compiled for a big endian system and target is little endian%B: compiled for a little endian system and target is big endian%B: compiled normally and linked with modules compiled with -mrelocatable%B: compiled with -mrelocatable and linked with modules compiled normally%B: could not find output section %A for input section %A%B: could not find output section %s%B: could not read contents of section `%A'
-%B: csect `%s' not in enclosing section%B: don't know how to handle OS specific section `%s' [0x%8x]%B: don't know how to handle allocated, application specific section `%s' [0x%8x]%B: don't know how to handle processor specific section `%s' [0x%8x]%B: don't know how to handle section `%s' [0x%8x]%B: dtp-relative relocation against dynamic symbol %s%B: duplicate export stub %s%B: duplicate section `%A' has different contents
+%B: Unmatched OMIT_FP in %A.%B: Unrecognised .directive command: %s%B: Unrecognised import name type; %x%B: Unrecognised import type; %x%B: Unrecognised machine type (0x%x) in Import Library Format archive%B: Unrecognized storage class %d for %s symbol `%s'%B: Unsupported transition from %s to %s%B: Warning: Arm BLX instruction targets Arm function '%s'.%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s%B: Warning: Thumb BLX instruction targets thumb function '%s'.%B: Warning: bad `%s' option size %u smaller than its header%B: Warning: cannot determine the target function for stub section `%s'%B: Warning: thumb-1 mode PLT generation not currently supported%B: XCOFF shared object when not producing XCOFF output%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld%B: __gp does not cover short data segment%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC%B: `%s' accessed both as FDPIC and thread local symbol%B: `%s' accessed both as normal and FDPIC symbol%B: `%s' accessed both as normal and thread local symbol%B: `%s' and its special symbol are in different sections.%B: `%s' has line numbers but no enclosing section%B: `%s' in loader reloc but not loader sym%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)%B: `ld -r' not supported with PE MIPS objects
+%B: absent standard symbol `%s'.%B: access beyond end of merged section (%Ld)%B: addend %s%#x in relocation %s against symbol `%s' at %#Lx in section `%A' is out of range%B: address %#Lx out of range for Intel Hex file%B: aout header specifies an invalid number of data-directory entries: %ld%B: attempt to emit contents at non-multiple-of-4 address %#Lx%B: attempt to load strings from a non-string section (number %d)%B: attempt to mix FDPIC and non-FDPIC objects%B: attempt to write out unknown reloc type%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld%B: bad pair/reflo after refhi
+%B: bad reloc address %#Lx in section `%A'%B: bad reloc symbol index (%#Lx >= %#lx) for offset %#Lx in section `%A'%B: bad relocation section name `%s'%B: bad section length in ihex_read_section%B: bad string table size %Lu%B: bad symbol index: %d%B: base-plus-offset relocation against register symbol: %s in %A%B: base-plus-offset relocation against register symbol: (unknown) in %A%B: can not represent section `%A' in a.out object file format%B: can not represent section `%A' in oasys%B: can not represent section for symbol `%s' in a.out object file format%B: can't link hard-float modules with soft-float modules%B: cannot allocate file name for file number %d, %d bytes
+%B: cannot create stub entry %s%B: cannot link fdpic object file into non-fdpic executable%B: cannot link non-fdpic object file into fdpic executable%B: change in gp: BRSGP %s%B: class %d symbol `%s' has no aux entries%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s%B: compiled as 32-bit object and %B is 64-bit%B: compiled as 64-bit object and %B is 32-bit%B: compiled for a 64 bit system and target is 32 bit%B: compiled for a big endian system and target is little endian%B: compiled for a little endian system and target is big endian%B: compiled normally and linked with modules compiled with -mrelocatable%B: compiled with %s and linked with modules compiled with %s%B: compiled with %s and linked with modules that use non-pic relocations%B: compiled with -mrelocatable and linked with modules compiled normally%B: corrupt size field in group section header: %#Lx%B: corrupt symbol count: %#Lx%B: could not find output section %A for input section %A%B: could not read contents of section `%A'
+%B: could not write out added .cranges entries%B: could not write out sorted .cranges entries%B: csect `%s' not in enclosing section%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object%B: directive LOCAL valid only with a register or absolute value%B: dtp-relative relocation against dynamic symbol %s%B: duplicate export stub %s%B: duplicate section `%A' has different contents
 %B: duplicate section `%A' has different size
-%B: endianness incompatible with that of the selected emulation%B: error: Cortex-A8 erratum stub is allocated in unsafe location%B: error: Cortex-A8 erratum stub out of range (input file too large)%B: error: VFP11 veneer out of range%B: error: unaligned relocation type %d at %08x reloc %p
-%B: error: unknown mandatory EABI object attribute %d%B: file class %s incompatible with %s%B: gp-relative relocation against dynamic symbol %s%B: hidden symbol `%s' in %B is referenced by DSO%B: hidden symbol `%s' isn't defined%B: ignoring duplicate section `%A'
-%B: illegal relocation type %d at address 0x%lx%B: illegal symbol index in reloc: %d%B: incompatible machine type. Output is 0x%x. Input is 0x%x%B: indirect symbol `%s' to `%s' is a loop%B: internal error in ihex_read_section%B: internal symbol `%s' in %B is referenced by DSO%B: internal symbol `%s' isn't defined%B: invalid SHT_GROUP entry%B: invalid link %lu for reloc section %s (index %u)%B: invalid relocation type %d%B: invalid string offset %u >= %lu for section `%s'%B: jump too far away
-%B: linking %s module with previous %s modules%B: linking 32-bit code with 64-bit code%B: linking 64-bit files with 32-bit files%B: linking UltraSPARC specific with HAL specific code%B: linking auto-pic files with non-auto-pic files%B: linking big-endian files with little-endian files%B: linking constant-gp files with non-constant-gp files%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double%B: linking files compiled for HCS12 with others compiled for HC12%B: linking little endian files with big endian files%B: linking non-pic code in a position independent executable%B: linking trap-on-NULL-dereference with non-trapping files%B: loader reloc in read-only section %A%B: loader reloc in unrecognized section `%s'%B: local symbol `%s' in %B is referenced by DSO%B: misplaced XTY_LD `%s'%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'.%B: no group info for section %A%B: non-pic code with imm relocation against dynamic symbol `%s'%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table%B: pc-relative relocation against dynamic symbol %s%B: pc-relative relocation against undefined weak symbol %s%B: probably compiled without -fPIC?%B: protected symbol `%s' isn't defined%B: reloc %s:%d not in csect%B: reloc against a non-existant symbol index: %ld%B: relocation %s against %s `%s' can not be used when making a shared object%s%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC%B: relocation %s against symbol `%s' isn't supported in x32 mode%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s%B: relocation %s can not be used when making a shared object; recompile with -fPIC%B: relocation %s cannot be used when making a shared object%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend%B: relocation size mismatch in %B section %A%B: relocs in section `%A', but it has no contents%B: section %A lma %#lx adjusted to %#lx%B: section %s: string table overflow at offset %ld%B: section `%A' can't be allocated in segment %d%B: sh_link [%d] in section `%A' is incorrect%B: sh_link of section `%A' points to discarded section `%A' of `%B'%B: sh_link of section `%A' points to removed section `%A' of `%B'%B: size field is zero in Import Library Format header%B: speculation fixup to dynamic symbol %s%B: string not null terminated in ILF object file.%B: symbol `%s' has unrecognized csect type %d%B: symbol `%s' has unrecognized smclas %d%B: symbol `%s' required but not present%B: too many sections (%d)%B: tp-relative relocation against dynamic symbol %s%B: unable to fill in DataDictionary[12] because .idata$5 is missing%B: unable to fill in DataDictionary[1] because .idata$2 is missing%B: unable to fill in DataDictionary[1] because .idata$4 is missing%B: unable to fill in DataDictionary[9] because __tls_used is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing%B: unable to find ARM glue '%s' for `%s'%B: unable to find THUMB glue '%s' for `%s'%B: unable to find VFP11 veneer `%s'%B: unable to get decompressed section %A%B: unable to initialize commpress status for section %s%B: unable to initialize decommpress status for section %s%B: undefined reference to symbol '%s'%B: undefined sym `%s' in .opd section%B: undefined symbol on R_PPC64_TOCSAVE relocation%B: unexpected ATN type %d in external part%B: unexpected redefinition of indirect versioned symbol `%s'%B: unexpected reloc type %u in .opd section%B: unexpected type after ATN%B: unhandled dynamic relocation against %s%B: unimplemented %s
-%B: unimplemented ATI record %u for symbol %u%B: unknown [%d] section `%s' in group [%s]%B: unknown relocation type %d%B: unknown/unsupported relocation type %d%B: unrecognized relocation (0x%x) in section `%A'%B: unsupported relocation type %i%B: unsupported relocation type %i
-%B: unsupported relocation type %s%B: unsupported relocation: ALPHA_R_GPRELHIGH%B: unsupported relocation: ALPHA_R_GPRELLOW%B: uses _-prefixed symbols, but writing file with non-prefixed symbols%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)%B: uses non-prefixed symbols, but writing file with _-prefixed symbols%B: version node not found for symbol %s%B: warning: COMDAT symbol '%s' does not match section name '%s'%B: warning: Empty loadable segment detected, is this intentional ?
-%B: warning: allocated section `%s' not in segment%B: warning: duplicate line number information for `%s'%B: warning: illegal symbol index %ld in line numbers%B: warning: illegal symbol index %ld in relocs%B: warning: line number table read failed%B: warning: linking PIC files with non-PIC files%B: warning: linking abicalls files with non-abicalls files%B: warning: selected VFP11 erratum workaround is not necessary for target architecture%B: warning: sh_link not set for section `%A'%B: warning: unknown EABI object attribute %d%B:%A%s exceeds overlay size
-%B:%A: Warning: deprecated Red Hat reloc %B:%d: Bad checksum in S-record file
+%B: dynamic object with no .loader section%B: dynamic relocation against `%T' in read-only section `%A'
+%B: dynamic relocation in read-only section `%A'
+%B: encountered datalabel symbol in input%B: endianness incompatible with that of the selected emulation%B: entry function `%s' is empty.%B: entry function `%s' not output.%B: error: ABI mismatch with previous modules.%B: error: Alignment power %d of section `%A' is too big%B: error: Cannot create STM32L4XX veneer.%B: error: Cannot set _ITB_BASE_%B: error: Cortex-A8 erratum stub is allocated in unsafe location%B: error: Cortex-A8 erratum stub out of range (input file too large)%B: error: Erratum 835769 stub out of range (input file too large)%B: error: Erratum 843419 stub out of range (input file too large)%B: error: Instruction set mismatch with previous modules.%B: error: PHDR segment not covered by LOAD segment%B: error: VFP11 veneer out of range%B: error: attribute section length too small: %ld%B: error: non-load segment %d includes file header and/or program header%B: error: unaligned relocation type %d at %#Lx reloc %#Lx%B: error: unaligned relocation type %d at %08Lx reloc %08Lx%B: error: unexpected symbol '%s' in COMDAT section%B: error: unknown mandatory EABI object attribute %d%B: error: unknown relocation type %d.%B: failed to generate import library%B: fatal: generic symbols retrieved before relaxing%B: file class %s incompatible with %s%B: gp-relative relocation against dynamic symbol %s%B: group section '%A' has no contents%B: hidden symbol `%s' in %B is referenced by DSO%B: hidden symbol `%s' isn't defined%B: ignoring duplicate section `%A'
+%B: illegal relocation type %d at address %#Lx%B: illegal section name `%A'%B: illegal symbol index %ld in relocs%B: illegal symbol index in reloc: %ld%B: incompatible machine type. Output is 0x%x. Input is 0x%x%B: incorrect size for symbol `%s'.%B: indirect symbol `%s' to `%s' is a loop%B: internal error in ihex_read_section%B: internal error, internal register section %A had contents
+%B: internal error, symbol table changed size from %d to %d words
+%B: internal symbol `%s' in %B is referenced by DSO%B: internal symbol `%s' isn't defined%B: invalid AVR reloc number: %d%B: invalid CR16C reloc number: %d%B: invalid CRIS reloc number: %d%B: invalid D10V reloc number: %d%B: invalid D30V reloc number: %d%B: invalid Epiphany reloc number: %d%B: invalid FR30 reloc number: %d%B: invalid FRV reloc number: %d%B: invalid IP2K reloc number: %d%B: invalid IQ2000 reloc number: %d%B: invalid LM32 reloc number: %d%B: invalid M32C reloc number: %d%B: invalid M32R reloc number: %d%B: invalid M68HC11 reloc number: %d%B: invalid M68HC12 reloc number: %d%B: invalid MEP reloc number: %d%B: invalid METAG reloc number: %d%B: invalid MMIX reloc number: %d%B: invalid MSP430 reloc number: %d%B: invalid MSP430X reloc number: %d%B: invalid MT reloc number: %d%B: invalid Moxie reloc number: %d%B: invalid NDS32 reloc number: %d%B: invalid OR1K reloc number: %d%B: invalid RL78 reloc number: %d%B: invalid RX reloc number: %d%B: invalid SHT_GROUP entry%B: invalid V850 reloc number: %d%B: invalid Visium reloc number: %d%B: invalid XGate reloc number: %d%B: invalid XTENSA reloc number: %d%B: invalid i960 reloc number: %d%B: invalid import library entry: `%s'.%B: invalid link %u for reloc section %s (index %u)%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)
+%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote
+%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx
+%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo
+%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc
+%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx
+%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d
+%B: invalid mmo file: file name for number %d was not specified before use
+%B: invalid mmo file: file number %d `%s', was already entered as `%s'
+%B: invalid mmo file: initialization value for $255 is not `Main'
+%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx
+%B: invalid mmo file: lop_end not last item in file
+%B: invalid mmo file: unsupported lopcode `%d'
+%B: invalid relocation type %d%B: invalid size field in group section header: %#Lx%B: invalid special symbol `%s'.%B: invalid standard symbol `%s'.%B: invalid start address for initialized registers of length %Ld: %#Lx%B: invalid string offset %u >= %Lu for section `%s'%B: invalid symbol table: duplicate symbol `%s'
+%B: jump too far away
+%B: line number overflow: 0x%lx > 0xffff%B: linking %s module with previous %s modules%B: linking 32-bit code with 64-bit code%B: linking 64-bit files with 32-bit files%B: linking UltraSPARC specific with HAL specific code%B: linking auto-pic files with non-auto-pic files%B: linking big-endian files with little-endian files%B: linking constant-gp files with non-constant-gp files%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double%B: linking files compiled for HCS12 with others compiled for HC12%B: linking little endian files with big endian files%B: linking non-pic code in a position independent executable%B: linking trap-on-NULL-dereference with non-trapping files%B: loader reloc in read-only section %A%B: loader reloc in unrecognized section `%s'%B: local symbol `%s' in %B is referenced by DSO%B: misplaced XTY_LD `%s'%B: missing TLS section for relocation %s against `%s' at %#Lx in section `%A'.%B: no group info for section '%A'%B: no initialized registers; section length 0
+%B: no symbol found for import library%B: no valid group sections found%B: non-pic code with imm relocation against dynamic symbol `%s'%B: non-zero symbol index (%#Lx) for offset %#Lx in section `%A' when the object file has no symbol table%B: not enough memory to allocate space for %#Lx symbols of size %#Lx%B: object size does not match that of target %B%B: out of memory creating name for empty section%B: out of memory in _bfd_elf_get_property%B: page size is too large (0x%x)%B: pc-relative relocation against dynamic symbol %s%B: pc-relative relocation against undefined weak symbol %s%B: plugin needed to handle lto object%B: probably compiled without -fPIC?%B: protected symbol `%s' isn't defined%B: register relocation against non-register symbol: %s in %A%B: register relocation against non-register symbol: (unknown) in %A%B: reloc %s:%Ld not in csect%B: reloc against a non-existent symbol index: %ld%B: relocatable link from %s to %s not supported%B: relocation %s against %s%s`%s' can not be used when making %s%s%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %Ld%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported%B: relocation %s against `%s' can not be used when making a shared object%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC%B: relocation %s against symbol `%s' isn't supported in x32 mode%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC%B: relocation %s can not be used when making a shared object; recompile with -fPIC%B: relocation %s cannot be used when making a shared object%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend%B: relocation size mismatch in %B section %A%B: relocs in section `%A', but it has no contents%B: section %A lma %#Lx adjusted to %#Lx%B: section %A: string table overflow at offset %ld%B: section `%A' can't be allocated in segment %d%B: section group entry number %u is corrupt%B: sh_link [%d] in section `%A' is incorrect%B: sh_link of section `%A' points to discarded section `%A' of `%B'%B: sh_link of section `%A' points to removed section `%A' of `%B'%B: short data segment overflowed (%#Lx >= 0x400000)%B: size field is zero in Import Library Format header%B: speculation fixup to dynamic symbol %s%B: stack size specified and %s set%B: string not null terminated in ILF object file.%B: string too long (%ld chars, max 65535)%B: support for local dynamic not implemented%B: symbol `%s' has unrecognized csect type %d%B: symbol `%s' has unrecognized smclas %d%B: symbol `%s' required but not present%B: taking the address of protected function '%s' cannot be done when making a shared library%B: the target (%s) of a %s relocation is in the wrong output section (%s)%B: too many initialized registers; section length %Ld%B: too many sections (%d)%B: too many sections: %u%B: tp-relative relocation against dynamic symbol %s%B: unable to create fake empty section%B: unable to fill in DataDictionary[12] because .idata$5 is missing%B: unable to fill in DataDictionary[1] because .idata$2 is missing%B: unable to fill in DataDictionary[1] because .idata$4 is missing%B: unable to fill in DataDictionary[9] because __tls_used is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing%B: unable to find ARM glue '%s' for `%s'%B: unable to find STM32L4XX veneer `%s'%B: unable to find THUMB glue '%s' for `%s'%B: unable to find VFP11 veneer `%s'%B: unable to find name for empty section%B: unable to get decompressed section %A%B: unable to initialize compress status for section %s%B: unable to initialize decompress status for section %s%B: unable to load COMDAT section name%B: undefined reference to symbol '%s'%B: undefined sym `%s' in .opd section%B: undefined symbol on R_PPC64_TOCSAVE relocation%B: unexpected ATN type %Ld in external part%B: unexpected redefinition of indirect versioned symbol `%s'%B: unexpected reloc type %u in .opd section%B: unexpected type after ATN%B: unhandled dynamic relocation against %s%B: unimplemented %s
+%B: unimplemented ATI record %u for symbol %u%B: unknown load command %#x%B: unknown relocation type %d%B: unknown relocation type %d for symbol %s%B: unknown type [%#x] section `%s'%B: unknown type [%#x] section `%s' in group [%A]%B: unknown/unsupported relocation type %d%B: unrecognised Alpha reloc number: %d%B: unrecognised CR16 reloc number: %d%B: unrecognised CRX reloc number: %d%B: unrecognised I370 reloc number: %d%B: unrecognised MCore reloc number: %d%B: unrecognised MN10300 reloc number: %d%B: unrecognised MicroBlaze reloc number: %d%B: unrecognised PPC reloc number: %d%B: unrecognised PicoJava reloc number: %d%B: unrecognised SH reloc number: %d%B: unrecognised SPU reloc number: %d%B: unrecognised VAX reloc number: %d%B: unrecognized relocation (%#x) in section `%A'%B: unrecognized symbol `%s' flags 0x%x%B: unsupported non-PIC call to IFUNC `%s'%B: unsupported relocation type %d%B: unsupported relocation type %i
+%B: unsupported relocation type %s%B: unsupported relocation type 0x%02x%B: unsupported relocation: ALPHA_R_GPRELHIGH%B: unsupported relocation: ALPHA_R_GPRELLOW%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'
+%B: uses %s instructions while previous modules use %s instructions%B: uses _-prefixed symbols, but writing file with non-prefixed symbols%B: uses different e_flags (%#x) fields than previous modules (%#x)%B: uses different unknown e_flags (%#x) fields than previous modules (%#x)%B: uses instructions which are incompatible with instructions used in previous modules%B: uses non-prefixed symbols, but writing file with _-prefixed symbols%B: version count (%Ld) does not match symbol count (%ld)%B: version node not found for symbol %s%B: visibility of symbol `%s' has changed.%B: warning core file truncated%B: warning: %A: line number overflow: %#x > 0xffff%B: warning: %s points to unrecognized reloc at %#Lx%B: warning: %s relocation against symbol `%s' from %A section%B: warning: %s relocation to %#Lx from %A section%B: warning: %s: line number overflow: 0x%lx > 0xffff%B: warning: COMDAT symbol '%s' does not match section name '%s'%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?%B: warning: Endian mismatch with previous modules.%B: warning: GOT addend of %Ld to `%s' does not match previous GOT addend of %Ld%B: warning: Incompatible elf-versions %s and  %s.%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags%B: warning: No symbol for section '%s' found%B: warning: Older version of object file encountered, Please recompile with current tool chain.%B: warning: PLT addend of %Ld to `%s' from %A section ignored%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)%B: warning: allocated section `%s' not in segment%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode.%B: warning: claims to have 0xffff relocs, without overflow%B: warning: duplicate line number information for `%s'%B: warning: illegal symbol in line number entry %d%B: warning: illegal symbol index %ld in relocs%B: warning: illegal symbol index 0x%lx in line number entry %d%B: warning: isymMax (%ld) is greater than ifdMax (%ld)%B: warning: line number count (%#lx) exceeds section size (%#lx)%B: warning: line number table read failed%B: warning: linking PIC files with non-PIC files%B: warning: linking abicalls files with non-abicalls files%B: warning: loop in section dependencies detected%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u%B: warning: multiple symbol tables detected - ignoring the table in section %u%B: warning: relocate SDA_BASE failed.%B: warning: segment alignment of %#Lx is too large%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture%B: warning: selected VFP11 erratum workaround is not necessary for target architecture%B: warning: sh_link not set for section `%A'%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.
+%B: warning: unaligned access to GOT entry.%B: warning: unaligned small data access for entry: {%Ld, %Ld, %Ld}, addr = %#Lx, align = %#x%B: warning: unknown EABI object attribute %d%B: will not resolve runtime TLS relocation%B:%A%s exceeds overlay size
+%B:%A: %s and %s must be in the same input section%B:%A: Warning: deprecated Red Hat reloc %B:%A: error: relocation references symbol %s which was removed by garbage collection.%B:%A: error: try relinking with --gc-keep-exported enabled.%B:%A: table %s missing corresponding %s%B:%A: table entry %s not word-aligned within table%B:%A: table entry %s outside table%B:%d: Bad checksum in S-record file
 %B:%d: Unexpected character `%s' in S-record file
-%B:%d: unexpected character `%s' in Intel Hex file%B:%u: bad checksum in Intel Hex file (expected %u, found %u)%B:%u: bad extended address record length in Intel Hex file%B:%u: bad extended linear address record length in Intel Hex file%B:%u: bad extended linear start address length in Intel Hex file%B:%u: bad extended start address length in Intel Hex file%B:%u: unrecognized ihex type %u in Intel Hex file%C: warning: relocation to "%s" references a different segment
+%B:%d: byte count %d too small
+%B:%d: unexpected character `%s' in Intel Hex file%B:%s has both normal and TLS relocs%B:%s section %s: alignment 2**%u not representable%B:%u: bad checksum in Intel Hex file (expected %u, found %u)%B:%u: bad extended address record length in Intel Hex file%B:%u: bad extended linear address record length in Intel Hex file%B:%u: bad extended linear start address length in Intel Hex file%B:%u: bad extended start address length in Intel Hex file%B:%u: unrecognized ihex type %u in Intel Hex file%C: warning: relocation to "%s" references a different segment
+%F%A: failed to align section
+%F%B: PC-relative offset overflow in GOT PLT entry for `%s'
+%F%B: PC-relative offset overflow in PLT entry for `%s'
+%F%B: branch displacement overflow in PLT entry for `%s'
 %F%P: already_linked_table: %E
+%F%P: auto overlay error: %E
+%F%P: can not build overlay stubs: %E
+%F%P: corrupt input: %B
 %F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie
+%F%P: failed to convert GOTPCREL relocation; relink with --no-relax
+%F%P: failed to create BND PLT section
+%F%P: failed to create GNU property section
+%F%P: failed to create GOT PLT .eh_frame section
+%F%P: failed to create GOT PLT section
+%F%P: failed to create GOT sections
+%F%P: failed to create IBT-enabled PLT section
+%F%P: failed to create PLT .eh_frame section
+%F%P: failed to create VxWorks dynamic sections
+%F%P: failed to create ifunc sections
+%F%P: failed to create the second PLT .eh_frame section
 %H __tls_get_addr lost arg, TLS optimization disabled
 %H arg lost __tls_get_addr, TLS optimization disabled
+%H: %s against `%T': error %d
+%H: %s for indirect function `%T' unsupported
+%H: %s references optimized away TOC entry
+%H: %s reloc against `%s': error %d
+%H: %s reloc against local symbol
+%H: %s reloc unsupported in shared libraries and PIEs.
+%H: %s used with TLS symbol `%T'
+%H: %s used with non-TLS symbol `%T'
 %H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend
 %H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend
 %H: R_FRV_GETTLSOFF not applied to a call instruction
@@ -314,93 +405,85 @@ ppcboot header:
 %H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction
 %H: R_FRV_TLSMOFFHI not applied to a sethi instruction
 %H: R_FRV_TLSOFF_RELAX not applied to an ld instruction
+%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)
+%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC
 %H: cannot emit dynamic relocations in read-only section
 %H: cannot emit fixups in read-only section
+%H: error: %s against `%s' not a multiple of %u
+%H: error: %s not a multiple of %u
+%H: fixup branch overflow
+%H: non-zero addend on %s reloc against `%s'
 %H: reloc against `%s' references a different segment
 %H: reloc against `%s': %s
+%H: relocation %s for indirect function %s unsupported
 %H: relocation references symbol not defined in the module
 %H: relocation to `%s+%v' may have caused the error above
+%H: toc optimization is not supported for %s instruction.
+%H: unresolvable %s against `%T'
+%H: unresolvable %s relocation against symbol `%s'
+%H: warning: %s unexpected insn %#x.
 %P%F: --relax and -r may not be used together
 %P%X: can not read symbols: %E
+%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC
 %P%X: read-only segment has dynamic relocations.
+%P: %B .opd not allowed in ABI version %d
+%P: %B: %s is not supported for `%T'
 %P: %B: cannot create stub entry %s
-%P: %B: relocation %s is not supported for symbol %s
 %P: %B: relocation %s is not yet supported for symbol %s
 %P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)
 %P: %B: unexpected relocation type
+%P: %B: unknown relocation type %d for `%T'
 %P: %B: unknown relocation type %d for symbol %s
-%P: %B: warning: relocation against `%s' in readonly section `%A'.
-%P: %B: warning: relocation in readonly section `%A'.
-%P: %H: %s reloc against `%s': error %d
-%P: %H: %s reloc against local symbol
-%P: %H: %s relocation references optimized away TOC entry
-%P: %H: %s used with TLS symbol %s
-%P: %H: %s used with non-TLS symbol %s
-%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc
-%P: %H: error: %s not a multiple of %u
-%P: %H: non-zero addend on %s reloc against `%s'
-%P: %H: relocation %s for indirect function %s unsupported
-%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern
-%P: %H: unresolvable %s relocation against symbol `%s'
+%P: %B: warning: relocation against `%s' in read-only section `%A'
+%P: %B: warning: relocation in read-only section `%A'
 %P: %s not defined in linker created %s
-%P: %s offset too large for .eh_frame sdata4 encoding%P: DW_EH_PE_datarel unspecified for this architecture.
+%P: %s offset too large for .eh_frame sdata4 encoding%P: .eh_frame_hdr entry overflow.
+%P: .eh_frame_hdr refers to overlapping FDEs.
+%P: DW_EH_PE_datarel unspecified for this architecture.
+%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.
+%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.
 %P: alternate ELF machine code found (%d) in %B, expecting %d
 %P: bss-plt forced by profiling
 %P: bss-plt forced due to %B
 %P: can't build branch stub `%s'
 %P: can't find branch stub `%s'
-%P: cannot find opd entry toc for %s
-%P: copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc
-%P: dynamic variable `%s' is zero size
+%P: cannot find opd entry toc for `%T'
+%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc
+%P: copy reloc against protected `%T' is dangerous
 %P: dynreloc miscount for %B, section %A
 %P: error in %B(%A); no .eh_frame_hdr table will be created.
-%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.
-%P: linkage table error against `%s'
+%P: linkage table error against `%T'
 %P: long branch stub `%s' offset overflow
 %P: multiple entry points: in modules %B and %B
 %P: relocatable link is not supported
 %P: stubs don't match calculated size
+%P: symbol '%s' has invalid st_other for ABI version 1
+%P: warning: --plt-localentry is especially dangerous without ld.so support to detect ABI violations.
 %P: warning: creating a DT_TEXTREL in a shared object.
+%P: warning: text relocations and GNU indirect functions may result in a segfault at runtime
 %X%C: relocation to "%s" references a different segment
+%X%H: @local call to ifunc %s
+%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range
+%X%H: Unsupported JALX to the same ISA mode
+%X%H: Unsupported branch between ISA modes
+%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled
+%X%H: unsupported bss-plt -fPIC ifunc %s
+%X%P: %B(%A): error: relocation for offset %V has no value
+%X%P: %B(%A): relocation "%R" goes out of range
+%X%P: %B(%A): relocation "%R" is not supported
+%X%P: %B(%A): relocation "%R" returns an unrecognized value %x
 %X%P: overlay section %A does not start on a cache line.
 %X%P: overlay section %A is larger than a cache line.
 %X%P: overlay section %A is not in cache area.
 %X%P: overlay sections %A and %A do not start at the same address.
+%X%P: stack/lrlive analysis error: %E
+%X%P: text relocations and GNU indirect functions will result in a segfault at runtime
 %X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B
 %s defined on removed toc entry%s duplicated
 %s duplicated in %s
-%s in overlay section%s(%s): relocation %d has invalid symbol index %ld%s: %s: reloc overflow: 0x%lx > 0xffff%s: 0x%v 0x%v
-%s: Bad symbol definition: `Main' set to %s rather than the start address %s
-%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file
-%s: GAS error: unexpected PTB insn with R_SH_PT_16%s: Internal inconsistency error for value for
- linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx
-%s: Invalid relocation type exported: %d%s: LOCAL directive: Register $%ld is not a local register.  First global register is $%ld.%s: Malformed reloc detected for section %s%s: No core to allocate a symbol %d bytes long
-%s: No core to allocate section name %s
-%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A%s: TLS definition in %B section %A mismatches non-TLS reference in %B%s: TLS reference in %B mismatches non-TLS definition in %B section %A%s: TLS reference in %B mismatches non-TLS reference in %B%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry%s: The target (%s) of an %s relocation is in the wrong section (%s)%s: XCOFF shared object when not producing XCOFF output%s: __gp does not cover short data segment%s: access beyond end of merged section (%ld)%s: address 0x%s out of range for Intel Hex file%s: base-plus-offset relocation against register symbol: %s in %s%s: base-plus-offset relocation against register symbol: (unknown) in %s%s: can not represent section `%s' in a.out object file format%s: can not represent section `%s' in oasys%s: can not represent section for symbol `%s' in a.out object file format%s: cannot allocate file name for file number %d, %d bytes
-%s: cannot create stub entry %s%s: cannot link fdpic object file into non-fdpic executable%s: cannot link non-fdpic object file into fdpic executable%s: compiled as 32-bit object and %s is 64-bit%s: compiled as 64-bit object and %s is 32-bit%s: compiled with %s and linked with modules compiled with %s%s: compiled with %s and linked with modules that use non-pic relocations%s: could not write out added .cranges entries%s: could not write out sorted .cranges entries%s: directive LOCAL valid only with a register or absolute value%s: dynamic object with no .loader section%s: encountered datalabel symbol in input%s: error: unaligned relocation type %d at %08x reloc %08x
-%s: illegal section name `%s'%s: internal error, internal register section %s had contents
-%s: internal error, symbol table changed size from %d to %d words
-%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)
-%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote
-%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx
-%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo
-%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc
-%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx
-%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d
-%s: invalid mmo file: file name for number %d was not specified before use
-%s: invalid mmo file: file number %d `%s', was already entered as `%s'
-%s: invalid mmo file: initialization value for $255 is not `Main'
-%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx
-%s: invalid mmo file: lop_end not last item in file
-%s: invalid mmo file: unsupported lopcode `%d'
-%s: invalid start address for initialized registers of length %ld: 0x%lx%08lx
-%s: invalid symbol table: duplicate symbol `%s'
-%s: line number overflow: 0x%lx > 0xffff%s: no initialized registers; section length 0
-%s: no such symbol%s: not implemented%s: not supported%s: object size does not match that of target %s%s: register relocation against non-register symbol: %s in %s%s: register relocation against non-register symbol: (unknown) in %s%s: relocatable link from %s to %s not supported%s: short data segment overflowed (0x%lx >= 0x400000)%s: string too long (%d chars, max 65535)%s: too many initialized registers; section length %ld
-%s: undefined version: %s%s: unknown relocation type %d%s: unrecognized symbol `%s' flags 0x%x%s: unsupported relocation type 0x%02x%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'
-%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)%s: version count (%ld) does not match symbol count (%ld)%s: warning core file truncated%s: warning: %s relocation against symbol `%s' from %s section%s: warning: %s relocation to 0x%x from %s section%s: warning: %s: line number overflow: 0x%lx > 0xffff%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld%s: warning: PLT addend of %d to `%s' from %s section ignored%s: warning: illegal symbol index %ld in relocs%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.
-(at bit offset %u)
+%s has both normal and TLS relocs%s in overlay section%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A%s: TLS definition in %B section %A mismatches non-TLS reference in %B%s: TLS reference in %B mismatches non-TLS definition in %B section %A%s: TLS reference in %B mismatches non-TLS reference in %B%s: no such symbol%s: not implemented%s: not supported%s: undefined version: %s(at bit offset %u)
 (descriptor)
+(format %c%c%c%c signature %s age %ld)
 (no value)
 (not active)
 (not allocated)
@@ -409,43 +492,59 @@ ppcboot header:
 )
 *** check this relocation %s*unhandled*
 *unhandled* dst type %u
-*unknown**unknown*        , alias: %u
+*unknown**unknown*        , Value: %#08lx
+, alias: %u
 , ext fixup offset: %u, no_opt psect off: %u, subtype: %u (%s)
-, symbol vector rva: .got section not immediately after .plt section32-bit double, 32bits gp relative relocation occurs for an external symbol64 bits *unhandled*
-64-bit double, : %u.%u
-: m32r instructions: m32r2 instructions: m32rx instructions; recompile with -fPIC<Unrecognised flag bits set><unknown>@pltoff reloc against local symbolArchive has no index; run ranlib to add oneArchive object file in wrong formatAttempt to convert L32R/CALLX to CALL failedAttempt to do relocatable link with %s input and %s outputBASE_IMAGE       BFD %s assertion fail %s:%dBFD %s internal error, aborting at %s line %d
-BFD %s internal error, aborting at %s line %d in %s
+, symbol vector rva: - %B is 64-bit, %B is not-mips32r2 -mfp64 (12 callee-saved).got section not immediately after .plt section.rsrc merge failure: a directory matches a leaf.rsrc merge failure: differing directory versions
+.rsrc merge failure: dirs with differing characteristics
+.rsrc merge failure: duplicate leaf.rsrc merge failure: duplicate leaf: %s.rsrc merge failure: duplicate string resource: %d.rsrc merge failure: multiple non-default manifests32-bit double, 32bits gp relative relocation occurs for an external symbol4-byte4-bytes64 bits *unhandled*
+64-bit double, 8-byte8-bytes: m32r instructions: m32r2 instructions: m32rx instructions: n1 instructions: n1h instructions; recompile with -fPIC<Unrecognised flag bits set><corrupt info> %s<corrupt string length: %#x>
+<corrupt string offset: %#lx>
+<corrupt><unknown directory type: %d>
+<unknown>@pltoff reloc against local symbolArchive has no index; run ranlib to add oneArchive object file in wrong formatAttempt to convert L32R/CALLX to CALL failedAttempt to do relocatable link with %s input and %s outputBASE_IMAGE       BFD %s assertion fail %s:%dBFD %s internal error, aborting at %s:%d
+BFD %s internal error, aborting at %s:%d in %s
 BFD Link Error: branch (PC rel16) to section (%s) not supportedBFD Link Error: jump (PC rel26) to section (%s) not supportedBad valueBase Relocation Directory [.reloc]Bound Import DirectoryBounds:
-CLICLR Runtime HeaderCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (augment relocation base) %u
+Branch to a non-instruction-aligned addressCACHE use: CLICLR Runtime HeaderCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (augment relocation base) %u
 CTL_DFLOC (define location)
 CTL_SETRB (set relocation base)
 CTL_STKDL (stack defined location)
 CTL_STLOC (set location)
-Copyright Header
-DIV usage mismatch between %B and %BDST__K_BEG_STMT_MODE not implementedDST__K_END_STMT_MODE not implementedDST__K_RESET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR_W not implementedDST__K_SET_PC not implementedDST__K_SET_PC_L not implementedDST__K_SET_PC_W not implementedDST__K_SET_STMTNUM not implementedDebug DirectoryDebug module table:
+Cannot convert a branch to JALX for a non-word-aligned addressCannot convert a jump to JALX for a non-word-aligned addressCopyright Header
+Corrupt .rsrc section detected!
+Corrupt EEOM record - size is too smallCorrupt EGSD record: its psindx field is too big (%#lx)Corrupt EGSD record: its size (%#x) is too smallCorrupt EGSD record: size (%#x) is larger than remaining space (%#x)Corrupt EGSD record: size (%#x) is too smallCorrupt EIHD record - size is too smallCorrupt ETIR record encounteredCorrupt vms valueDSO missing from command lineDST__K_BEG_STMT_MODE not implementedDST__K_END_STMT_MODE not implementedDST__K_RESET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR_W not implementedDST__K_SET_PC not implementedDST__K_SET_PC_L not implementedDST__K_SET_PC_W not implementedDST__K_SET_STMTNUM not implementedDebug DirectoryDebug module table:
 Debug symbol table:
 Delay Import DirectoryDeprecated %s called
 Deprecated %s called at %s line %d in %s
-Description DirectoryDwarf Error: Bad abbrev number: %u.Dwarf Error: Can't find %s section.Dwarf Error: Could not find abbrev number %u.Dwarf Error: Invalid maximum operations per instruction.Dwarf Error: Invalid or unhandled FORM value: %u.Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu).Dwarf Error: Unhandled .debug_line version %d.Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'.Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information.Dwarf Error: mangled line number section (bad file number).Dwarf Error: mangled line number section.EIHD: (size: %u, nbr blocks: %u)
-Entry offset        = 0x%.8lx (%ld)
-Error reading %s: %sError: %B has both the current and legacy Tag_MPextension_use attributesErrors encountered processing file %sException Directory [.pdata]Export Directory [.edata (or where ever we found it)]Export Flags 			%lx
-Export RVAFAILED to find previous HI16 relocFILES_VOLUMES    File format is ambiguousFile format not recognizedFile in wrong formatFile too bigFile truncatedFlag field          = 0x%.2x
-Forwarder RVAGALAXY           GP relative relocation used when GP not definedGP relative relocation when _gp not definedGPDISP relocation did not find ldah and lda instructionsGlobal symbol table:
-IDC - Ident Consistency check
-IMAGE_ACTIVATOR  INPUT_SECTION_FLAGS are not supported.
+Description DirectoryDwarf Error: Abstract instance recursion detected.Dwarf Error: Can't find %s section.Dwarf Error: Could not find abbrev number %u.Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form.Dwarf Error: Info pointer extends beyond end of attributesDwarf Error: Invalid abstract instance DIE ref.Dwarf Error: Invalid maximum operations per instruction.Dwarf Error: Invalid or unhandled FORM value: %#x.Dwarf Error: Line info data is bigger (%#Lx) than the space remaining in the section (%#lx)Dwarf Error: Line info section is too small (%Ld)Dwarf Error: Line info unsupported segment selector size %u.Dwarf Error: Offset (%llu) greater than or equal to %s size (%Lu).Dwarf Error: Ran out of room reading opcodesDwarf Error: Ran out of room reading prologueDwarf Error: Unable to read alt ref %llu.Dwarf Error: Unhandled .debug_line version %d.Dwarf Error: Unknown format content type %Lu.Dwarf Error: Zero format count.Dwarf Error: data count (%Lx) larger than buffer size.Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'.Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3, 4 and 5 information.Dwarf Error: mangled line number section (bad file number).Dwarf Error: mangled line number section.EIHD: (size: %u, nbr blocks: %u)
+ERROR: Attempting to link %B with a binary %B of different architectureEntry function `%s' disappeared from secure code.Entry offset        = 0x%.8lx (%ld)
+Error reading %s: %sError: %B has both the current and legacy Tag_MPextension_use attributesError: The ARC4 architecture is no longer supported.
+Errors encountered processing file %BException Directory [.pdata]Export Directory [.edata (or where ever we found it)]Export Flags 			%lx
+Export RVAFAILED to find previous HI16 relocFILES_VOLUMES    FPU-2.0FPU-3.0Failed to update file offsets in debug directoryFile format is ambiguousFile format not recognizedFile in wrong formatFile too bigFile truncatedFlag field          = 0x%.2x
+Forwarder RVAGALAXY           GOT and PLT relocations cannot be fixed with a non dynamic linker.GP relative relocation used when GP not definedGP relative relocation when _gp not definedGPDISP relocation did not find ldah and lda instructionsGlobal symbol table:
+Hard float (32-bit CPU, 64-bit FPU)
+Hard float (32-bit CPU, Any FPU)
+Hard float (MIPS32r2 64-bit FPU 12 callee-saved)
+Hard float (double precision)
+Hard float (single precision)
+Hard float compat (32-bit CPU, 64-bit FPU)
+Hard or soft float
+ID: %#08lxIDC - Ident Consistency check
+IEEE parser: string length: %#lx longer than buffer: %#lxIMAGE_ACTIVATOR  INPUT_SECTION_FLAGS are not supported.
 IO               Image activation:  (size=%u)
 Image activator fixup: (major: %u, minor: %u)
 Image identification: (major: %u, minor: %u)
 Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)
 Image symbol & debug table: (major: %u, minor: %u)
-Import Address Table DirectoryImport Directory [parts of .idata]Internal inconsistency: remaining %u != max %u.
-  Please report this bug.Invalid TARGET2 relocation type '%s'.Invalid bfd targetInvalid operationInvalid section index in ETIRJALX to a non-word-aligned addressLOGICAL_NAMES    Language Processor Name
+Import Address Table DirectoryImport Directory [parts of .idata]Internal Error: RL78 reloc stack overflowInternal Error: RL78 reloc stack underflowInternal inconsistency: remaining %lu != max %lu.
+  Please report this bug.Invalid AArch64 reloc number: %dInvalid DLX reloc number: %dInvalid TARGET2 relocation type '%s'.Invalid bfd targetInvalid contents in %A sectionInvalid operationInvalid output section for .eh_frame_entry: %AInvalid section index in ETIRIs this version of the linker - %s - out of date ?It must be a global or weak function symbol.Jump to a non-instruction-aligned addressJump to a non-word-aligned addressLOGICAL_NAMES    Language Processor Name
 Length              = 0x%.8lx (%ld)
-Load Configuration DirectoryMEMORY_MANAGEMENTMIPS16 and microMIPS functions cannot call each otherMISC             MULTI_PROCESSING Mach-O header:
-Major/Minor 			%d/%d
+Linker: cannot init ex9 hash table error 
+Linker: error cannot fixed ex9 relocation 
+Load Configuration DirectoryLocal IFUNC function `%s' in %B
+MEMORY_MANAGEMENTMIPS16 and microMIPS functions cannot call each otherMISC             MMU use: MULTI_PROCESSING Major/Minor 			%d/%d
 Malformed archiveMaximum stack required is 0x%v
 MeP: howto %d has type %dMemory exhaustedModule header
-NETWORKS         NORMALName 				No errorNo more archived filesNo symbolsNonrepresentable section on outputNot enough memory to sort relocationsNumber in:
+NETWORKS         NORMALName 				No address assigned to the veneers output section %sNo errorNo more archived filesNo symbolsNoneNonrepresentable section on outputNot enough memory to sort relocationsNumber in:
 OPR_ADD (add)
 OPR_AND (logical and)
 OPR_ASH (arithmetic shift)
@@ -461,21 +560,21 @@ ppcboot header:
 OPR_REDEF (redefine symbol to curr location)
 OPR_ROT (rotate)
 OPR_SEL (select)
-OPR_SUB (substract)
+OPR_SUB (subtract)
 OPR_USH (unsigned shift)
 Object module NOT error-free !
-Ordinal Base 			%ld
+Offset of veneer for entry function `%s' not a multiple of its size.One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined.Ordinal Base 			%ld
 Output file requires shared library `%s'
 Output file requires shared library `%s.so.%s'
-POSIX            PROCESS_SCHED    PRVFXDPRVPICPSC - Program section definition
+PC-relative load from unaligned addressPIE executablePOSIX            PROCESS_SCHED    PRVFXDPRVPICPSC - Program section definition
 PTA mismatch: a SHcompact address (bit 0 == 0)PTB mismatch: a SHmedia address (bit 0 == 1)Partition name      = "%s"
 Partition[%d] end    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
 Partition[%d] length = 0x%.8lx (%ld)
 Partition[%d] sector = 0x%.8lx (%ld)
 Please report this bug.
-R_BFIN_FUNCDESC references dynamic symbol with nonzero addendR_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addendR_FRV_TLSMOFFLO not applied to a setlo or setlos instruction
+RL78 ABI conflict: G10 file %B cannot be linked with %s file %BRL78 ABI conflict: cannot link %s file %B with %s file %BRL78 merge conflict: cannot link 32-bit and 64-bit objects togetherR_BFIN_FUNCDESC references dynamic symbol with nonzero addendR_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addendR_FRV_TLSMOFFLO not applied to a setlo or setlos instruction
 Reading archive file mod timestampReference to the far symbol `%s' using a wrong relocation may result in incorrect executionRegister %%g%d used incompatibly: %s in %B, previously %s in %BRegister section has contents
-Relocation for non-REL psectRemoving unused section '%s' in file '%B'ReservedResource Directory [.rsrc]SDA relocation when _SDA_BASE_ not definedSECURITY         SEC_RELOC with no relocs in section %sSH Error: unknown reloc type %dSHELL            SHRFXDSHRPICSPSC - Shared Image Program section def
+Relocation for non-REL psectRemoving unused section '%A' in file '%B'ReservedResource Directory [.rsrc]S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your codeSDA relocation when _SDA_BASE_ not definedSECURITY         SEC_RELOC with no relocs in section %ASH Error: unknown reloc type %dSHELL            SHRFXDSHRPICSIMD use: SPSC - Shared Image Program section def
 STABLE           STA_CKARG (compare procedure argument)
 STA_GBL (stack global) %.*s
 STA_LI (stack literal)
@@ -518,28 +617,40 @@ ppcboot header:
 SYMG - Universal symbol definition
 SYMM - Global symbol definition with version
 SYMV - Vectored symbol definition
-SYSGEN           Section has no contentsSecurity DirectorySegments and Sections:
-Size error in section %sSource Files Header
+SYSGEN           Section has no contentsSecurity DirectorySize error in section %ASoft float
+Source Files Header
 Special DirectorySpurious ALPHA_R_BSR relocStack analysis will ignore the call from %s to %s
 Stack overflow (%d) in _bfd_vms_pushStack size for call graph root nodes.
-Stack underflow in _bfd_vms_popStrides:
+Stack underflow in _bfd_vms_popStart address of `%s' is different from previous link.Strides:
 Symbol %s not defined for fixups
-Symbol %s replaced by %s
-Symbol `%s' has differing types: %s in %B, previously REGISTER in %BSymbol `%s' has differing types: REGISTER in %B, previously %s in %BSymbol needs debug section which does not existSystem call errorTLS relocation invalid without dynamic sectionsTOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compilingTable Addresses
-Thread Storage Directory [.tls]Time/Date stamp 		%lx
+Symbol `%s' has differing types: %s in %B, previously REGISTER in %BSymbol `%s' has differing types: REGISTER in %B, previously %s in %BSymbol needs debug section which does not existSymbol should be absolute, global and refer to Thumb functions.System call errorTLS relocation invalid without dynamic sectionsTOC overflow: %#Lx > 0x10000; try -mminimal-toc when compilingTable Addresses
+The debug data size field in the data directory is too big for the sectionThe debug directory size is not a multiple of the debug directory entry size
+There is a conflict merging the ELF header flags from %BThread Storage Directory [.tls]Time/Date stamp 		%lx
 Title Text Header
-USRSTACKUnable to find equivalent output section for symbol '%s' from section '%s'Unexpected STO_SH5_ISA32 on local symbol is not handledUnexpected machine numberUnhandled OSF/1 core file section type %d
-Unhandled relocation %sUnknown EGSD subtype %dUnknown basic type %dUnknown reloc %sUnknown reloc %s + %sUnknown symbol in command %sUnrecognized INPUT_SECTION_FLAG %s
-Unrecognized TI COFF target id '0x%x'Unrecognized relocUnrecognized reloc type 0x%xUnsupported .stab relocationVOLATILE         Variable `%s' can only be in one of the small, zero, and tiny data regionsVariable `%s' cannot be in both small and tiny data regions simultaneouslyVariable `%s' cannot be in both small and zero data regions simultaneouslyVariable `%s' cannot be in both zero and tiny data regions simultaneouslyVariable `%s' cannot occupy in multiple small data regionsWarning, .pdata section size (%ld) is not a multiple of %d
-Warning: %B does not support interworking, whereas %B doesWarning: %B is truncated: expected core file size >= %lu, found: %lu.Warning: %B supports interworking, whereas %B does notWarning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64Warning: %B uses -msingle-float, %B uses -mdouble-floatWarning: %B uses -msingle-float, %B uses -mips32r2 -mfp64Warning: %B uses double-precision hard float, %B uses single-precision hard floatWarning: %B uses hard float, %B uses soft floatWarning: %B uses r3/r4 for small structure returns, %B uses memoryWarning: %B uses soft float, %B uses single-precision hard floatWarning: %B uses unknown floating point ABI %dWarning: %B uses unknown small structure return convention %dWarning: %B uses unknown vector ABI %dWarning: %B uses vector ABI "%s", %B uses "%s"Warning: %B: Conflicting platform configurationWarning: %B: Unknown EABI object attribute %dWarning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with itWarning: Clearing the interworking flag of %B due to outside requestWarning: Not setting interworking flag of %B since it has already been specified as non-interworkingWarning: RX_SYM reloc with an unknown symbolWarning: Writing section `%s' to huge (ie negative) file offset 0x%lx.Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %AWarning: alignment %u of symbol `%s' in %B is smaller than %u in %BWarning: fixup count mismatch
-Warning: gc-sections option ignoredWarning: size of symbol `%s' changed from %lu in %B to %lu in %BWarning: type of symbol `%s' changed from %d to %d in %BWarning: writing archive was slow: rewriting timestamp
-Writing updated armap timestamp[%u]: %u
-[%u]: Lower: %u, upper: %u
-[abi=16-bit int, [abi=32-bit int, [whose name is lost]\%B: Warning: Arm BLX instruction targets Arm function '%s'._bfd_vms_output_counted called with too many bytes_bfd_vms_output_counted called with zero bytesaddressaddress not word alignarsize: %u, a0: 0x%08x
+Too many GOT entries for -fpic, please recompile with -fPICToo many unwind codes (%ld)
+Try enabling relaxation to avoid relocation truncationsType                Size     Rva      Offset
+USRSTACKUnable to find equivalent output section for symbol '%s' from section '%s'Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.
+Unable to read EIHS record at offset %#xUnexpected STO_SH5_ISA32 on local symbol is not handledUnexpected machine numberUnhandled OSF/1 core file section type %d
+Unhandled relocation %sUnknownUnknown EGSD subtype %dUnknown basic type %dUnknown reloc %sUnknown reloc %s + %sUnknown symbol in command %sUnknown: %xUnrecognised MIPS reloc number: %dUnrecognized INPUT_SECTION_FLAG %s
+Unrecognized TI COFF target id '0x%x'Unrecognized reloc type 0x%xUnsupported .stab relocationUnsupported CR16 relocation type: 0x%x
+VOLATILE         Variable `%s' can only be in one of the small, zero, and tiny data regionsVariable `%s' cannot be in both small and tiny data regions simultaneouslyVariable `%s' cannot be in both small and zero data regions simultaneouslyVariable `%s' cannot be in both zero and tiny data regions simultaneouslyVariable `%s' cannot occupy in multiple small data regionsVirtual size of .pdata section (%ld) larger than real size (%ld)
+Warning, .pdata section size (%ld) is not a multiple of %d
+Warning: %B does not support interworking, whereas %B doesWarning: %B supports interworking, whereas %B does notWarning: %B uses %s (set by %B), %B uses %sWarning: %B uses %s (set by %B), %B uses unknown MSA ABI %dWarning: %B uses %s (set by %B), %B uses unknown floating point ABI %dWarning: %B uses 64-bit long double, %B uses 128-bit long doubleWarning: %B uses AltiVec vector ABI, %B uses SPE vector ABIWarning: %B uses IBM long double, %B uses IEEE long doubleWarning: %B uses double-precision hard float, %B uses single-precision hard floatWarning: %B uses hard float, %B uses soft floatWarning: %B uses r3/r4 for small structure returns, %B uses memoryWarning: %B uses unknown MSA ABI %d (set by %B), %B uses %sWarning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %dWarning: %B uses unknown floating point ABI %d (set by %B), %B uses %sWarning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %dWarning: %B: Conflicting platform configurationWarning: %B: Conflicting platform configuration %s with %s.
+Warning: %B: Unknown ARC object attribute %d.Warning: %B: Unknown EABI object attribute %dWarning: %B: Unknown MSPABI object attribute %dWarning: %s section size (%ld) is not a multiple of %d
+Warning: %s section size (%ld) is smaller than virtual size (%ld)
+Warning: %s section size is zero
+Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with itWarning: Clearing the interworking flag of %B due to outside requestWarning: Not setting interworking flag of %B since it has already been specified as non-interworkingWarning: RL78_SYM reloc with an unknown symbolWarning: RX_SYM reloc with an unknown symbolWarning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %AWarning: alignment %u of symbol `%s' in %B is smaller than %u in %BWarning: fixup count mismatch
+Warning: gc-sections option ignoredWarning: size of symbol `%s' changed from %Lu in %B to %Lu in %BWarning: symbol `%s' is both section and non-sectionWarning: type of symbol `%s' changed from %d to %d in %BWarning: unset or old architecture flags. 
+	       Use default machine.
+Warning: writing archive was slow: rewriting timestamp
+Writing updated armap timestampXGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code.[%u]: Lower: %u, upper: %u
+[abi=16-bit int, [abi=32-bit int, [whose name is lost]_bfd_vms_output_counted called with too many bytes_bfd_vms_output_counted called with zero bytes`%s' refers to a non entry function.a PDE objecta PIE objecta shared objectaddressaddress not word alignarray descriptor:
+array, dim: %u, bitmap: arsize: %u, a0: 0x%08x
+atomic, type=0x%02x %s
 bad section index in %sbanked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)base: %u, pos: %u
-bfd_mach_o_canonicalize_symtab: unable to load symbolsbfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lubfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)bfd_mach_o_read_symtab_symbol: symbol "%s" is unsupported 'indirect' reference: setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid section %d (max %lu): setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid type field 0x%x: setting to undefinedbfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lubfd_mach_o_read_symtab_symbols: unable to allocate memory for symbolsbfd_mach_o_scan: unknown architecture 0x%lx/0x%lxbfd_pef_scan: unknown architecture 0x%lxblkbeg: address: 0x%08x, name: %.*s
+bfd_mach_o_canonicalize_symtab: unable to load symbolsbfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 insteadbfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 insteadbfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)bfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid section %d (max %lu): setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid type field 0x%x: setting to undefinedbfd_mach_o_read_symtab_symbol: unable to read %d bytes at %ubfd_mach_o_read_symtab_symbols: unable to allocate memory for symbolsbfd_mach_o_scan: unknown architecture 0x%lx/0x%lxbfd_pef_scan: unknown architecture 0x%lxblkbeg: address: 0x%08x, name: %.*s
 blkend: size: 0x%08x
-cannot emit dynamic relocations in read-only sectioncannot emit fixups in read-only sectioncannot find EMH in first GST record
+cannot create stub entry %scannot emit dynamic relocations in read-only sectioncannot emit fixups in read-only sectioncannot find EMH in first GST record
 cannot handle R_MEM_INDIRECT reloc when using %s outputcannot read DMT
 cannot read DMT header
 cannot read DMT psect
@@ -558,74 +669,92 @@ ppcboot header:
 cannot read GST record header
 cannot read GST record length
 class: %u, dtype: %u, length: %u, pointer: 0x%08x
-corrupt %s section in %Bcould not locate special linker symbol __ctbpcould not locate special linker symbol __epcould not locate special linker symbol __gpcould not open shared image '%s' from '%s'cpu=HC11]cpu=HC12]cpu=HCS12]dangerous relocationdelta pc +%-4ddelta_pc_l: +0x%08x
+corrupt %s section in %Bcould not find section %scould not locate special linker symbol __ctbpcould not locate special linker symbol __epcould not locate special linker symbol __gpcould not open shared image '%s' from '%s'cpu=HC11]cpu=HC12]cpu=HCS12]cpu=XGATE]dangerous relocationdelta pc +%-4ddelta_pc_l: +0x%08x
 delta_pc_w %u
 descdimct: %u, aflags: 0x%02x, digits: %u, scale: %u
-discarded output section: `%A'discontiguous range (nbr: %u)
+discarded output section: `%A'discarding zero address range FDE in %B(%A).
+discontiguous range (nbr: %u)
 dynamic relocation in read-only sectiondynamic variable `%s' is zero sizeenumbeg, len: %u, name: %.*s
 enumelt, name: %.*s
 enumend
 epilog: flags: %u, count: %u
-error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbolerror: %B does not use Maverick instructions, whereas %B doeserror: %B is already in final BE8 formaterror: %B is compiled as absolute position code, whereas target %B is position independenterror: %B is compiled as position independent code, whereas target %B is absolute positionerror: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%derror: %B is compiled for APCS-%d, whereas target %B uses APCS-%derror: %B is compiled for the EP9312, whereas %B is compiled for XScaleerror: %B passes floats in float registers, whereas %B passes them in integer registerserror: %B passes floats in integer registers, whereas %B passes them in float registerserror: %B requires more array alignment than %B preserveserror: %B requires more stack alignment than %B preserveserror: %B uses FPA instructions, whereas %B does noterror: %B uses Maverick instructions, whereas %B does noterror: %B uses VFP instructions, whereas %B does noterror: %B uses VFP register arguments, %B does noterror: %B uses hardware FP, whereas %B uses software FPerror: %B uses iWMMXt register arguments, %B does noterror: %B uses software FP, whereas %B uses hardware FPerror: %B: Conflicting CPU architectures %d/%derror: %B: Conflicting architecture profiles %c/%cerror: %B: Conflicting use of R9error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchainerror: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'error: %B: SB relative addressing conflicts with use of R9error: %B: Unknown CPU architectureerror: %B: size of section %A is not multiple of address sizeerror: %B: unable to merge virtualization attributes with %Berror: Source object %B has EABI version %d, but target %B has EABI version %derror: fp16 format mismatch between %B and %Berror: inappropriate relocation type for shared library (did you forget -fpic?)error: undefined symbol __rtiniterror: unknown Tag_ABI_array_object_align_expected value in %Berror: unknown Tag_ABI_array_object_alignment value in %Bexecutablefailed to allocate space for new APUinfo section.failed to compute new APUinfo section.failed to install new APUinfo section.fatal error while creating .fixupgeneric linker can't handle %sglobal pointer relative address out of rangeglobal pointer relative relocation when _gp not definedhidden symbolignoring reloc %s
+error reading cpu type from elf private dataerror: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbolerror: %B does not use Maverick instructions, whereas %B doeserror: %B is already in final BE8 formaterror: %B is compiled as absolute position code, whereas target %B is position independenterror: %B is compiled as position independent code, whereas target %B is absolute positionerror: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%derror: %B is compiled for APCS-%d, whereas target %B uses APCS-%derror: %B is compiled for the EP9312, whereas %B is compiled for XScaleerror: %B needs 8-byte alignment but %B is set for 4-byte alignmenterror: %B passes floats in float registers, whereas %B passes them in integer registerserror: %B passes floats in integer registers, whereas %B passes them in float registerserror: %B requires more array alignment than %B preserveserror: %B requires more stack alignment than %B preserveserror: %B uses %s instructions but %B uses %serror: %B uses 64-bit doubles but %B uses 32-bit doubleserror: %B uses FPA instructions, whereas %B does noterror: %B uses FPU-3.0 but %B only supports FPU-2.0error: %B uses Maverick instructions, whereas %B does noterror: %B uses VFP instructions, whereas %B does noterror: %B uses VFP register arguments, %B does noterror: %B uses hardware FP, whereas %B uses software FPerror: %B uses iWMMXt register arguments, %B does noterror: %B uses software FP, whereas %B uses hardware FPerror: %B uses the %s code model whereas %B uses the %s code modelerror: %B uses the %s data model but %B only uses MSP430 instructionserror: %B uses the %s data model whereas %B uses the %s data modelerror: %B uses the large code model but %B uses MSP430 instructionserror: %B uses the small code model but %B uses the %s data modelerror: %B(%A) is too large (%#Lx bytes)error: %B: <corrupt x86 ISA needed size: 0x%x>error: %B: <corrupt x86 ISA used size: 0x%x>error: %B: <corrupt x86 feature size: 0x%x>error: %B: Big-endian R2 is not supported.error: %B: Conflicting CPU architectures %d/%derror: %B: Conflicting architecture profiles %c/%cerror: %B: Conflicting use of R9error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchainerror: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'error: %B: SB relative addressing conflicts with use of R9error: %B: Unknown CPU architectureerror: %B: cannot mix rf16 with full register set %B.
+error: %B: conflicting ISA extension attributes %s with %s.
+error: %B: conflicting attributes %s.
+error: %B: conflicting attributes %s: %s with %s.
+error: %B: size of section %A is not multiple of address sizeerror: %B: unable to merge CPU base attributes %s with %s.
+error: %B: unable to merge ISA extension attributes %s.
+error: %B: unable to merge virtualization attributes with %Berror: Can't find symbol: _SDA_BASE_.error: IFC relocation error.error: Jump IFC Fail.error: Source object %B has EABI version %d, but target %B has EABI version %derror: fp16 format mismatch between %B and %Berror: inappropriate relocation type for shared library (did you forget -fpic?)error: undefined symbol __rtiniterror: unknown Tag_ABI_array_object_align_expected value in %Berror: unknown Tag_ABI_array_object_alignment value in %Bexecutablefailed creating ex9.it %s hash table entryfailed to allocate space for new APUinfo section.failed to compute new APUinfo section.failed to install new APUinfo section.fatal error while creating .fixupgeneric linker can't handle %sglobal pointer relative address out of rangeglobal pointer relative relocation at address 0x%08x when _gp not defined
+global pointer relative relocation when _gp not definedhidden symbolhidden symbol ignoring reloc %s
 incr_linum(b): +%u
 incr_linum_l: +%u
 incr_linum_w: +%u
-internal error: addend should be zero for R_LM32_16_GOTinternal error: dangerous errorinternal error: dangerous relocationinternal error: out of range errorinternal error: suspicious relocation type used in shared libraryinternal error: unknown errorinternal error: unsupported relocation errorinternal inconsistency in size of .got.loc sectioninternal symbolinvalid input relocation when producing non-ELF, non-mmo format output.
+indirect, defined at 0x%08x
+internal error: addend should be zero for R_LM32_16_GOTinternal error: addend should be zero for R_OR1K_GOT16internal error: branch/jump to an odd address detectedinternal error: dangerous errorinternal error: dangerous relocationinternal error: merge of architecture '%s' with architecture '%s' produced unknown architectureinternal error: out of range errorinternal error: suspicious relocation type used in shared libraryinternal error: unknown errorinternal error: unsupported relocation errorinternal inconsistency in size of .got.loc sectioninternal symbolinternal symbol invalid input relocation when producing non-ELF, non-mmo format output.
  Please use the objcopy program to convert from ELF or mmo,
  or assemble using "-no-expand" (for gcc, "-Wa,-no-expand"invalid input relocation when producing non-ELF, non-mmo format output.
  Please use the objcopy program to convert from ELF or mmo,
- or compile using the gcc-option "-mno-base-addresses".invalid relocation addressinvalid relocation type %dinvalid use of %s with contextsip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx).ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx).ip2k relaxer: switch table header corrupt.ip2k relaxer: switch table without complete matching relocation information.line num  (len: %u)
-linkable imagelinker stubs in %u group%s
-  branch       %lu
-  toc adjust   %lu
-  long branch  %lu
-  long toc adj %lu
-  plt call     %luliteralliteral relocation occurs for an external symbolmep: no reloc for code %dmodbeg
+ or compile using the gcc-option "-mno-base-addresses".invalid relocation addressinvalid relocation type %dinvalid use of %s with contextsip2k linker: missing page instruction at %#Lx (dest = %#Lx)ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)ip2k relaxer: switch table header corrupt.ip2k relaxer: switch table without complete matching relocation information.label, name: %.*s
+len: %2u, kind: %2u line num  (len: %u)
+linkable imagelinker stubs in %u group
+linker stubs in %u groups
+literalliteral relocation occurs for an external symbolmach-o: there are too many sections (%u) maximum is 255,
+mep: no reloc for code %dmodbeg
 modend
-nativenon-contiguous array of %s
+name: [val: %08lx len %d]: nativenew entry function(s) introduced but no output import library specified:nonon-contiguous array of %s
 non-dynamic relocations refer to dynamic symbol %snon-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store
-non-zero addend in @fptr relocnot enough GOT space for local GOT entriesnot mapping: data=%lx mapped=%d
+non-zero addend in @fptr relocnonenot enough GOT space for local GOT entriesnot mapping: data=%lx mapped=%d
 not mapping: env var not set
-note: '%s' is defined in DSO %B so try adding it to the linker command lineout of rangeoverflow after relaxationoverlay stub relocation overflowprivate flags = %lxprivate flags = %lx:private flags = %lx: private flags = %x:private flags = 0x%lxprivate flags = 0x%lx:prolog: bkpt address 0x%08x
-protected symbolrecbeg: name: %.*s
+not setout of rangeoverflow after relaxationoverlay stub relocation overflowpointer
+private flags = %lxprivate flags = %lx:private flags = %lx: private flags = %x:private flags = 0x%lxprivate flags = 0x%lx:prolog: bkpt address 0x%08x
+protected symbolprotected symbol recbeg: name: %.*s
 recend
-reference to a banked address [%lx:%04lx] in the normal address space at %04lxregrelocation `%s' not yet implementedrelocation references symbol not defined in the modulerelocation requires zero addendrelocation should be even numberrelocations between different segments are not supportedreopening %B: %s
+reference to a banked address [%lx:%04lx] in the normal address space at %04lxregreloc (%d) is *UNKNOWN*relocation `%s' not yet implementedrelocation out of rangerelocation references symbol not defined in the modulerelocation requires zero addendrelocation should be even numberrelocations between different segments are not supportedreopening %B: %s
 reserved cmd %drtnbeg
 rtnend: size 0x%08x
-septyp, name: %.*s
+section address (%#Lx) below start of segment (%#Lx)septyp, name: %.*s
 set_abs_pc: 0x%08x
 set_line_num(w) %u
 set_line_num_b %u
 set_line_num_l %u
-small-data section exceeds 64KB; lower small-data size limit (see option -G)som_sizeof_headers unimplementedsorry, no support for duplicate object files in auto-overlay script
-source (len: %u)
+shared objectsmall-data section exceeds 64KB; lower small-data size limit (see option -G)som_sizeof_headers unimplementedsorry, no support for duplicate object files in auto-overlay script
+sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands.source (len: %u)
 standard data: %s
-static procedure (no name)stub entry for %s cannot load .plt, dp offset = %ldstubs don't match calculated sizesymbolsystem version array information:
-term(b): 0x%02xterm_w: 0x%04xtypspec (len: %u)
-unable to find ARM glue '%s' for '%s'unable to find THUMB glue '%s' for '%s'unable to read in %s section from %Bunable to read unknown load command 0x%lxunable to write unknown load command 0x%lxunaligned bit-string of %s
-uncertain calling convention for non-COFF symbolundefined %s reference in complex symbol: %sunhandled egsd entry type %u
+static procedure (no name)stub entry for %s cannot load .plt, dp offset = %Ldstubs don't match calculated sizesymbolsymbol system version array information:
+term(b): 0x%02xterm_w: 0x%04xthe bfin target does not currently support the generation of copy relocationstype spec for element:
+type spec for subscript %u:
+typed pointer
+typspec (len: %u)
+unable to allocate data for load command %#xunable to find ARM glue '%s' for '%s'unable to find THUMB glue '%s' for '%s'unable to layout unknown load command %#xunable to read in %s section from %Bunable to write unknown load command %#xunaligned bit-string of %s
+uncertain calling convention for non-COFF symbolundefined undefined %s reference in complex symbol: %sunhandled egsd entry type %u
 unhandled emh subtype %u
-unknownunknown ETIR command %dunknown errorunknown header byte-order value 0x%lxunknown line command %dunknown operator '%c' in complex symbolunknown source command %dunsupported STA cmd %sunsupported relocunsupported reloc typeunsupported relocationunsupported relocation between data/insn address spacesusing multiple gp valuesv850 architecturev850e architecturev850e1 architecturev850e2 architecturev850e2v3 architecturevflags: 0x%02x, value: 0x%08x vma:			BeginAddress	 EndAddress	  UnwindData
-warning: %B and %B differ in wchar_t sizewarning: %B and %B differ in whether code is compiled for DSBTwarning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may failwarning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may failwarning: %B: local symbol `%s' has no sectionwarning: %s exceeds section size
-warning: %s has a corrupt string table index - ignoringwarning: %s overlaps %s
-warning: %s section has zero sizewarning: .pdata section size (%ld) is not a multiple of %d
-warning: attempt to export undefined symbol `%s'warning: call to non-function symbol %s defined in %Bwarning: generating a shared library containing non-PIC codewarning: generating a shared library containing non-PID codewarning: relocation references a different segmentwarning: section '%s' is being made into a notewarning: section `%A' type changed to PROGBITSwarning: type and size of dynamic symbol `%s' are not definedwarning: unable to set size of %s section in %Bwarning: unable to update contents of %s section in %syou are not allowed to define %s in a scriptProject-Id-Version: bfd 2.22.90
+unknownunknown ETIR command %dunknown errorunknown header byte-order value %#xunknown line command %dunknown operator '%c' in complex symbolunknown source command %dunknown v850 architectureunknown: %xunrecognised MIPS reloc number: %dunrecognized relocation (0x%x)unsupported STA cmd %sunsupported relocunsupported reloc typeunsupported relocationunsupported relocation between data/insn address spacesusing multiple gp valuesv850 E3 architecturev850 architecturev850e architecturev850e1 architecturev850e2 architecturev850e2v3 architecturev850e3v5 architecturevflags: 0x%02x, value: 0x%08x vma:			BeginAddress	 EndAddress	  UnwindData
+warning: %B and %B differ in wchar_t sizewarning: %B and %B differ in whether code is compiled for DSBTwarning: %B has a corrupt string table index - ignoringwarning: %B is truncated: expected core file size >= %Lu, found: %lluwarning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may failwarning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may failwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lxwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%xwarning: %B: corrupt no copy on protected size: 0x%xwarning: %B: corrupt stack size: 0x%xwarning: %B: local symbol `%s' has no sectionwarning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%xwarning: %s exceeds section size
+warning: %s overlaps %s
+warning: %s section has zero sizewarning: attempt to export undefined symbol `%s'warning: call to non-function symbol %s defined in %Bwarning: discarding dynamic section %swarning: generating a shared library containing non-PIC codewarning: generating a shared library containing non-PID codewarning: relocation references a different segmentwarning: section '%s' is being made into a notewarning: section `%A' type changed to PROGBITSwarning: type and size of dynamic symbol `%s' are not definedwarning: unable to set size of %s section in %Bwarning: unable to update contents of %s section in %Bwarning: writing section `%A' at huge (ie negative) file offsetwarning: xdata section corruptwarning: xdata section corrupt
+yesyou are not allowed to define %s in a scriptProject-Id-Version: bfd 2.30.0
 Report-Msgid-Bugs-To: bug-binutils@gnu.org
-POT-Creation-Date: 2011-10-25 11:58+0100
-PO-Revision-Date: 2012-07-27 12:29-0500
-Last-Translator: Cristian OthÃ³n MartÃ­nez Vera <cfuga@cfuga.mx>
-Language-Team: Spanish <es@li.org>
+POT-Creation-Date: 2018-01-13 13:44+0000
+PO-Revision-Date: 2018-03-18 12:38+0200
+Last-Translator: Javier <fserrador@gmail.com>
+Language-Team: Spanish <es@tp.org.es>
 Language: es
-X-Bugs: Report translation errors to the Language-Team address.
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
-	Tabla de ExportaciÃ³n de Direcciones 			Tabla de ExportaciÃ³n de Direcciones 		%08lx
-	Nombre de la Tabla de Punteros 			Tabla Ordinal 				Tabla [Nombre Puntero/Ordinal]	%08lx
-	cÃ³digo-base %08lx tabla-de-contenidos (cargable/actual) %08lx/%08lx
-	reubicaciÃ³n %4d desplazamiento %4x [%4lx] %s	vma:  Pista/Ord Nombre-Miembro Unido-A
+Plural-Forms: nplurals=2; plural=(n != 1);
+X-Generator: Virtaal 0.7.1
+X-Bugs: Report translation errors to the Language-Team address.
+	    TLS: %A	<corrupto: 0x%04lx>	Tabla de ExportaciÃ³n de Direcciones 			Tabla de ExportaciÃ³n de Direcciones 		%08lx
+	DistribuciÃ³n Direccional Exportada InvÃ¡lida rva (0x%lx) o contador de entrada (0x%lx)
+	DistribuciÃ³n de nombres de punteros Invalido rva (0x%lx) o contador de entrada (0x%lx)
+	DistribuciÃ³n Ordinal InvÃ¡lida rva (0x%lx) o contador de entrada (0x%lx)
+	Nombre de la Tabla de Punteros 			Tabla Ordinal 				[%4ld] <desplazamiento corrupto: %lx>
+	Tabla [Nombre Puntero/Ordinal]	%08lx
+	cÃ³digo-base %08lx segmento-de-contenidos (cargable/actual) %08lx/%08lx
+	no-TLS: %A	reubicaciÃ³n %4d desplazamiento %4x [%4lx] %s	vma:  Pista/Ord Nombre-Miembro Unido-A
 
-	Nombre de la DLL: %s
+	Nombre DLL: %.*s
 
 
 Reubicaciones de Fichero Base PE (se interpretaron los contenidos de la secciÃ³n .reloc)
@@ -642,40 +771,61 @@ Reubicaciones de Fichero Base PE (se int
 
 CaracterÃ­sticas 0x%x
 
-SecciÃ³n DinÃ¡mica:
+Volcado de %s
+
+SecciÃ³n dinÃ¡mica:
+
+Error: secciÃ³n %s contiene los datos depurados iniciando en direcciÃ³n pero es demasiado pequeÃ±o
 
 Encabezado Auxiliar de EjecuciÃ³n
 
-Tabla de ExportaciÃ³n de Direcciones -- Base Ordinal %ld
+Tabla Exportante de Direcciones -- Base Ordinal %ld
 
 Se localizÃ³ el descriptor de funciÃ³n en la direcciÃ³n de inicio: %04lx
 
 Â¡No estÃ¡ la secciÃ³n reldata! No se decodificÃ³ el descriptor de funciÃ³n.
 
-ParticiÃ³n[%d] inicio = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
+ParticiÃ³n[%d] inicio  = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
 
 Encabezado del Programa:
 
-TamaÃ±o de la pila para funciones. Anotaciones: '*' max de pila, 't' llamada cola
+TamaÃ±o de la pila para funciones.  Anotaciones: '*' pila mÃ¡x, 't' llamada cola
 
-Las Tablas de ExportaciÃ³n (se interpretaron los contenidos de la secciÃ³n %s)
+Las Tablas Exportables (se interpretaron los contenidos de la secciÃ³n %s)
 
 
-La Tabla de Funciones (se interpretaron los contenidos de la secciÃ³n .pdata)
+La Tabla Funcional (se interpretaron %s contenidos de la secciÃ³n)
 
-Las Tablas de ImportaciÃ³n (se interpretaron los contenidos de la secciÃ³n %s)
+La Tabla Funcional (se interpretaron los contenidos de la secciÃ³n .pdata)
 
-Hay un thunk inicial, pero no se puede encontrar la secciÃ³n que lo contiene
+Las Tablas Importables (interpretados contenidos seccional %s)
 
-Hay una tabla de exportaciÃ³n en %s en 0x%lx
+Hay un directorio depurante dentro de %s en %lx
+
+
+Hay un directorio depurante dentro de %s, pero esa secciÃ³n no tiene contenidos
 
-Hay una tabla de exportaciÃ³n en %s, pero no cabe en esa secciÃ³n
+Hay un directorio depurante, pero la secciÃ³n conteniÃ©ndola no pudo ser encontrada
+
 
-Hay una tabla de exportaciÃ³n, pero no se puede encontrar la secciÃ³n que la contiene
+Hay un trozo inicial, pero no se puede encontrar la secciÃ³n que lo contiene
 
-Hay una tabla de importaciÃ³n en %s en 0x%lx
+Hay un segmento de exportaciÃ³n en %s en 0x%lx
 
-Hay una tabla de importaciÃ³n, pero no se puede encontrar la secciÃ³n que la contiene
+Hay un segmento de exportaciÃ³n en %s, pero no cabe en esa secciÃ³n
+
+Hay un segmento exportador dentro de %s, pero es demasiado pequeÃ±a (%d)
+
+Hay un segmento exportado en %s, pero esa secciÃ³n no tiene contenidos
+
+Hay un segmento de exportaciÃ³n, pero no se puede encontrar la secciÃ³n que la contiene
+
+Hay un segmento de importaciÃ³n en %s en 0x%lx
+
+Hay un segmento importada en %s, pero esa secciÃ³n no tiene contenidos
+
+
+Hay un segmento de importaciÃ³n, pero no se puede encontrar la secciÃ³n que la contiene
 
 Referencias de versiÃ³n:
 
@@ -683,14 +833,18 @@ Definiciones de versiÃ³n:
 
 DirecciÃ³n Virtual: %08lx TamaÃ±o del trozo %ld (0x%lx) NÃºmero de composturas %ld
 
+ATENCIÃ“N: Datos adicionales dentro en secciÃ³n .rsrc - serÃ¡ ignorado por Ventanas:
+
 Tabla [Puntero a Ordinal/Nombre]
 
 encabezado de ppcboot:
         pc: 0x%08x
     *sin manejar* ord %u
+    direcciÃ³n: 0x%08x
     direcciÃ³n: 0x%08x, tamaÃ±o: %u
     ops: %u, direcciÃ³n: 0x%08x, direcc-pd: 0x%08x
     nombre global: %.*s
+    lon: %u bits
     Ã­ndice enlace: %u, insn reemplazo: 0x%08x
     nombre: %.*s
     pc: 0x%08x
@@ -700,23 +854,31 @@ encabezado de ppcboot:
     ind psect 3: %u, despl 3: 0x%08x %08x
     psect: %u, despl: 0x%08x %08x
     nom rutina  : %.*s
-   %02u    %s%s %s
-   (tipo: %3u, tam: 4+%3u):    *sin manejar* ord %u
+   %02u    (tipo: %3u, tam: 4+%3u):    *sin manejar* ord %u
+   Error: la fecha de compilaciÃ³n estÃ¡ truncada
+   Error: la longitud es menor que la longitud de un registro EEOM
+   Error: la longitud es menor que la longitud de un registro EMH
+   Error: el nombre del mÃ³dulo estÃ¡ ausente
+   Error: el nombre de mÃ³dulo es demasiado largo
+   Error: la versiÃ³n de mÃ³dulo estÃ¡ faltando
+   Error: la versiÃ³n del mÃ³dulo es demasiado largo
+   Error: La longitud del registro es menor que el tamaÃ±o de un registro EMH_MHD
+   Error: longitud mÃ±as larga que espacio restante en registro
    alineaciÃ³n : 2**%u
    aloj (lon)    : %u (0x%08x)
    aloj (lon) : %u (0x%08x)
    ident ascii   : %.*s
    ident binaria : 0x%08x
-   mapa bit: 0x%08x (cuenta: %u):
+   bitdistri: 0x%08x (cuenta: %u):
    direcciÃ³n cÃ³digo: 0x%08x
    fecha compil   : %.17s
    compilador : %.*s
    cÃ³digo de completado: %u
    copyright: %.*s
    declfich: lon: %u, ops: %u, fichid: %u
-   deflines %u
+   deflineas %u
    nombre entidad: %.*s
-   punto de entrada: 0x%08x
+   punto entrante: 0x%08x
    severidad err : %x
    fichero: %.*s
    nomfichero : %.*s
@@ -733,7 +895,7 @@ encabezado de ppcboot:
    nombre mÃ³dulo  : %.*s
    nom mÃ³dulo : %.*s
    versiÃ³n mÃ³dulo : %.*s
-   name          : %.*s
+   nombre        : %.*s
    nombre      : %.*s
    nombre     : %.*s
    nÃºmero de pares de enlace cond: %u
@@ -741,7 +903,7 @@ encabezado de ppcboot:
    despl: 0x%08x, val: 0x%08x
    descr proc : 0x%08x
    Ã­ndice psect : %u
-   Ã­ndice psect para punto de entrada : %u
+   Ã­ndice psect para punto entrante : %u
    Ã­ndice psect: %u
    despl psect : %u
    despl psect: 0x%08x
@@ -758,262 +920,332 @@ encabezado de ppcboot:
    psect direcciÃ³n transf: %u
    direcciÃ³n transf   : 0x%08x
    vector      : 0x%08x
-   mÃ¡scara versiÃ³n: 0x%08x
+   mÃ¡scara ver: 0x%08x
   %s (lon=%u+%u):
-  %s: 0x%v
   %u: tam: %u, opts: 0x%02x, nombre: %.*s
   EEOM (lon=%u):
   EGSD (lon=%u):
  entrada EGSD %2u (tipo: %u, lon: %u):   EMH %u (lon=%u):   base: 0x%08x %08x, tam: 0x%08x, prot: 0x%08x   base_va : 0x%08x
   cuenta bit: %u, direcc base: 0x%08x
-  llama:
+  rama            %lu
+  ajuste toc      %lu
+  rama long       %lu
+  ajuste toc long %lu
+  llamada plt     %lu
+  llamada plt toc %lu
+  entrada global %lu  llamadas:
   chgprtoff : %5u
   codeadroff: %5u, lpfixoff  : %5u
-  compenl : 0x%08x %08x
-  ops  : 0x%08x
+  compenlace : 0x%08x %08x
+  opcis: 0x%08x
   iafenl  : 0x%08x %08x
-  imagen %u (%u entradas)
- imagen %u (%u entradas), desplazamientos:
+  imagen %u (%u asientos)
+ imagen %u (%u asientos), desplazs.:
   lppsbfixoff: %5u
   psect inicio: 0x%08x, long: %u
   qdotadroff: %5u, ldotadroff: %5u
   qrelfixoff: %5u, lrelfixoff: %5u
-  se requere desde %s:
+  requer. desde %s:
   shlextra  : %5u, permctx   : %5u
   shlstoff  : %5u, shrimgcnt : %5u
-  tam  : %u
- #: Nombre segmento  Nombre secciÃ³n   DirecciÃ³n
- %08x 0x%08x 64B <no se reconoce la versiÃ³n de EABI> BPAGE: %u COM COMM Cambiar ProtecciÃ³n (%u entradas):
+  tamÃ± : %u
+  las marcas de entrada de fichero: %s  las marcas de salida de fichero: %s %08x 0x%08x 64B <vers EABI no reconocido> BPAGE: %u COM COMM Cambiar ProtecciÃ³n (%u entradas):
  Composturas de Referencias de DirecciÃ³n de CÃ³digo:
- DEF EXE Primera direcc: 0x%08x 0x%08x
+ DEF EXE FPU soportado requerido:  Primera direcc: 0x%08x 0x%08x
  Cuarta direcc : 0x%08x 0x%08x
- GBL Secuencia de cÃ³digo pegamento LIB Composturas de Referencias de Pares de Enlazado
- NOMOD NORM OVR PIC QVAL RD REL Registro para restaurar milicÃ³digo Registro para guardar milicÃ³digo SHR Segunda direcc: 0x%08x 0x%08x
+ GBL Secuencia de cÃ³digo pegamento BIB Recuperar Referencia Pares Enlazada:
+
+ NOMOD NORM SOB PIC QVAL RD REL Registro para restaurar milicÃ³digo Registro para guardar milicÃ³digo Recursos inician en desplazamiento: %#03x
+ SHR Segunda direcc: 0x%08x 0x%08x
  ImÃ¡genes compartibles:
- Imagen compar : 0x%08x 0x%08x
+ Img compartbl : 0x%08x 0x%08x
+ Tabla de cadenas inicia en desplazamiento: %#03x
+ Tabla: Car: %d, Tiempo: %08lx, Ver: %d/%d, NÃºm Nombres: %d, %d
  Tercera direcc: 0x%08x 0x%08x
- UNI VEC VECEP WEAK WRT [dobles de 64-bit] [BE8] [formato de coma flotante FPA] [LE8] [formato de coma flotante Maverick] [formato de coma flotante VFP] [EABI Version1] [EABI Version2] [EABI Version3] [EABI Version4] [EABI Version5] [abi desconocido] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64][posiciÃ³n absoluta] [flotante-d] [dsp] [los sÃ­mbolos dinÃ¡micos utilizan Ã­ndices de segmento] [fix dep][nÃºmeros de coma flotante pasados en registros de coma flotante][nÃºmeros de coma flotante pasados en registros enteros] [flotante-g] [tiene punto de entrada] [interoperabilidad activada][no se inicializÃ³ la opciÃ³n de interoperabilidad][no admite interoperabilidad][admite interoperabilidad] [el mapeo de sÃ­mbolos precede a otros] [memoria=modelo de bancos] [memoria=plana] [ABI nuevo] [no hay conjunto abi] [no pic] [no es modo 32bit] [ABI antiguo] [pic][independiente de posiciÃ³n] [ejecutable reubicable] [FP por software] [tabla de sÃ­mbolos ordenados] [los sÃ­mbolos tiene un prefijo _] [ISA desconocido] [tabla de sÃ­mbolos sin ordenar] [v10 y v32] [v32] GST corrupto
- subtipocpu: %08lx
- tipocpu   : %08lx (%s)
- tabla de mÃ³dulo de depuraciÃ³n   : vbn: %u, tam: %u
- tabla de sÃ­mbolos de depuraciÃ³n : vbn: %u, tam: %u (0x%x)
- tipofich  : %08lx (%s)
- info compos rva:  opciones  : %08lx ( opciones: %04x tabla de sÃ­mbolos globales      : vbn: %u, registros: %u
+ UNI VEC VECEP WEAK WRT [dobles de 64-bit] [BE8] [formato de coma flotante FPA] [LE8] [formato de coma flotante Maverick] [formato flotante VFP] [EABI Version1] [EABI Version2] [EABI Version3] [EABI Version4] [EABI Version5] [XGATE retirando RAM] [abi desconocido] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [posiciÃ³n absoluta] [flotante-d] [los sÃ­mbolos dinÃ¡micos utilizan Ã­ndices de segmento] [fix dep] [flotante pasados en registros de coma flotante] [flotante pasados en registros enteros] [flotante-g] [hard-float ABI] [interoperabilidad activada] [opciÃ³n de interoperabilidad no iniciada] [no admite interoperabilidad] [admite interoperabilidad] [distribuyendo sÃ­mbolos precede a otros] [memoria=modelo de bancos] [memoria=plana] [ABI nuevo] [no hay conjunto abi] [no pic] [no es modo 32bit] [ABI antiguo] [pic] [independiente posicional] [ejecutable reubicable] [soft-float ABI] [FP por software] [segmento de sÃ­mbolos ordenados] [los sÃ­mbolos tiene un prefijo _] [ISA desconocido] [segmento de sÃ­mbolos sin ordenar] [v10 y v32] [v32] alineaciÃ³n de entidades de 8-byte:  GST corrupto
+ segmento de mÃ³dulo de depuraciÃ³n   : vbn: %u, tam: %u
+ segmento de sÃ­mbolos de depuraciÃ³n : vbn: %u, tam: %u (0x%x)
+ info compos rva:  opciones: %04x segmento de sÃ­mbolos globales      : vbn: %u, registros: %u
  ident: 0x%08x, nombre: %.*s
  ident: 0x%08x, versis: 0x%08x, ctrl coinc: %u, tam_vectsim: %u
  ident const imagen: %.*s
  ident imagen     : %.*s
  nombre de imagen : %.*s
- tipo imagen: %u (%s) cuenta I/O img: %u, canales nbr: %u, pri req: %08x%08x
+ tipo imagen: %u (%s) cuenta E/S img: %u, canales nbr: %u, pri req: %08x%08x
  hora enlazado    : %s
- opciones de enlazador: %08x: ident enlazador  : %.*s
+ opciones enlazadora: %08x: ident enlazador  : %.*s
  composturas de referencia .address long-word:
  composturas de reubicaciÃ³n long-word:
- magic     : %08lx
  idmayor: %u, idmenor: %u
  despl mÃ³dulo: 0x%08x, tam: 0x%08x, (%u psects)
- nordenes  : %08lx (%lu)
  despls: isd: %u, activ: %u, simdep: %u, idimg: %u, parche: %u
  composturas de referencia .address quad-word:
  composturas de reubicaciÃ³n quad-word:
- reservado : %08x
  secciÃ³n: base: 0x%08x%08x tam: 0x%08x
- tamordenes: %08lx
- tipo: %3u, lon: %3u (en 0x%08x):  tipo de registro EOBJ %u sin manejar
+ tamaÃ±o de dobles:  tipo: %3u, lon: %3u (en 0x%08x):  tipo de registro EOBJ %u sin manejar
  vbn: %u, pfc: %u, coincctl: %u tipo: %u ( vma:			DirecciÃ³n Inicio DirecciÃ³n Fin    InformaciÃ³n Desenvuelta
- vma:		Inicio   Fin      EH       EH       FinPrÃ³logo ExcepciÃ³n
-     		Direcc   Direcc   Asa      Datos    DirecciÃ³n  MÃ¡scara
+ vma:		Inicio   Final    EH       EH       FinPrÃ³log   ExcepciÃ³n
+     		Direcc   Direcc   Asa      Datos    DirecciÃ³n   MÃ¡scara
  vma:		Inicio   PrÃ³logo  FunciÃ³n  Opciones ExcepciÃ³n EH
      		Direcc   Longitud Longitud 32b exc  Manejador Datos
  vma:            Pista   Fecha     Adelante DLL       Primero
                  Tabla   Estampa   Cadena   Nombre    Thunk
-#<CÃ³digo de error invÃ¡lido>%A tiene tanto secciones ordenadas [`%A' en %B] como desordenadas [`%A' en %B]%A tiene secciones tanto ordenadas como desordenadas%A:0x%v lrlive .brinfo (%u) difiere del anÃ¡lisis (%u)
-%A:0x%v no se encuentra en la tabla de funciÃ³n
-%B (%s): Se descarta la opciÃ³n de secciÃ³n %s (0x%x)%B y %B son para configuraciones diferentes%B y %B son para nÃºcleos diferentes%B contiene cÃ³digo CRIS v32, incompatible con objetos previos%B contiene cÃ³digo que no es CRIS v32, incompatible con objetos previos%B tiene al mismo tiempo los atributos actuales y antiguos de Tag_MPextension%B no tiene permitido definir %s%B secciÃ³n %A excede el tamaÃ±o de grupo de cabos%B el nÃºmero de sÃ­mbolo %lu hace referencia a la secciÃ³n inexistente SHT_SYMTAB_SHNDX%B(%A): error: llamada a la funciÃ³n sin definir '%s'%B(%A): error interno: reubicaciÃ³n peligrosa%B(%A): error interno: error fuera de rango%B(%A): error interno: error desconocido%B(%A): error interno: no se admite el error de reubicaciÃ³n%B(%A): tabla de propiedades invÃ¡lida%B(%A): aviso: reubicaciÃ³n PID %s insegura en 0x%08lx (contra %s en %s)%B(%A): aviso: acceso sin alinear al sÃ­mbolo '%s' en el Ã¡rea de datos small%B(%A+0x%B(%A+0x%lx): la compostura %s para la insn 0x%x no se admite en un enlazado que no es compartido%B(%A+0x%lx): reubicaciÃ³n %s contra la secciÃ³n SEC_MERGE%B(%A+0x%lx): reubicaciÃ³n %s contra el sÃ­mbolo externo "%s"%B(%A+0x%lx): se usÃ³ %s con el sÃ­mbolo TLS %s%B(%A+0x%lx): se usÃ³ %s con el sÃ­mbolo %s que no es TLS%B(%A+0x%lx): SÃ³lo se permiten las instrucciones ADD o SUB en las reubicaciones de grupo ALU%B(%A+0x%lx): Desborde al dividirse 0x%lx para la reubicaciÃ³n de grupo %s%B(%A+0x%lx): la reubicaciÃ³n R_68K_TLS_LE32 no se permite en objetos compartidos%B(%A+0x%lx): la reubicaciÃ³n R_ARM_TLS_LE32 no se permite en objetos compartidos%B(%A+0x%lx): La entrada de cabos tiene una cadena Ã­ndice invÃ¡lida.%B(%A+0x%lx): no se pueden emitir composturas para `%s' en la secciÃ³n de sÃ³lo lectura%B(%A+0x%lx): no se puede manejar %s para %s%B(%A+0x%lx): no se puede alcanzar %s, recompile con -ffuntion-sections%B(%A+0x%lx): no se puede decodificar la instrucciÃ³n para la reubicaciÃ³n XTENSA_ASM_SIMPLIFY; posible falta de coincidencia de la configuraciÃ³n%B(%A+0x%lx): no se puede decodificar la instrucciÃ³n; posible falta de coincidencia de la configuraciÃ³n%B(%A+0x%lx): instrucciÃ³n invÃ¡lida para la reubicaciÃ³n TLS %s%B(%A+0x%lx): reubicaciÃ³n contra `%s': error %d%B(%A+0x%lx): desplazamiento de reubicaciÃ³n fuera de rango (tamaÃ±o=0x%x)%B(%A+0x%lx): compostura inesperada para la reubicaciÃ³n %s%B(%A+0x%lx): reubicaciÃ³n %s sin resoluciÃ³n contra el sÃ­mbolo `%s'%B(%A+0x%lx): reubicaciÃ³n sin resoluciÃ³n contra el sÃ­mbolo `%s'%B(%A+0x%lx):instrucciÃ³n ARM '0x%x' inesperada en el trampolÃ­n TLS%B(%A+0x%lx):instrucciÃ³n ARM '0x%x' inesperada referenciada por TLS_GOTDESC%B(%A+0x%lx):instrucciÃ³n Thumb '0x%x' inesperada en el trampolÃ­n TLS%B(%A+0x%lx):instrucciÃ³n Thumb '0x%x' inesperada referenciada por TLS_GOTDESC%B(%A+0x%v): se llama a la secciÃ³n %B(%A) que no es de cÃ³digo, anÃ¡lisis incompleto
+#<CÃ³digo de error invÃ¡lido>%03x %*.s  Hoja: Direc: %#08lx, Tam: %#08lx, PÃ¡gCodigo: %d
+%03x %*.s Entrada: %A tiene tanto secciones ordenadas [`%A' en %B] como desordenadas [`%A' en %B]%A tiene secciones tanto ordenadas como desordenadas%A:0x%v lrlive .brinfo (%u) difiere del anÃ¡lisis (%u)
+%A:0x%v no se encuentra en el segmento de funciÃ³n
+%B (%s): marca de secciÃ³n %s (%#lx) ignorado%B y %B son para configuraciones diferentes%B y %B son para nÃºcleos diferentes%B contiene cÃ³digo CRIS v32, incompatible con objetos previos%B contiene cÃ³digo que no es CRIS v32, incompatible con objetos previos%B tiene al mismo tiempo los atributos actuales y antiguos de Tag_MPextension_use%B no estÃ¡ permitido definir %s%B secciÃ³n %A excede el tamaÃ±o de grupo de cabos%B nÃºmero simbÃ³lico %lu hace referencia a la secciÃ³n inexistente SHT_SYMTAB_SHNDX%B emplea indicadores e_flags 0x%lx desconocidos%B(%#Lx): error: no puede crear veneer STM32L4XX. OmisiÃ³n de lÃ­mite por %Ld bytes. No puede codificar intrucciÃ³n de rama. %B(%A): error: llamada a la funciÃ³n sin definir Â«%sÂ»%B(%A): error interno: reubicaciÃ³n peligrosa%B(%A): error interno: error fuera de rango%B(%A): error interno: error desconocido%B(%A): error interno: no se admite el error de reubicaciÃ³n%B(%A): segmento de propiedades invÃ¡lida%B(%A): mÃºltiples modelos TLS no estÃ¡n apoyados%B(%A): reubicaciÃ³n %d tiene un Ã­ndice simbÃ³lico %ld invÃ¡lido%B(%A): sÃ­mbolo de biblioteca compartido %s encontrado mientras efectuaba un enlace estÃ¡tico%B(%A): PID de reubicaciÃ³n %s no segura en %#Lx (frente a %s en %s)%B(%A): aviso: rama larga recubierta utilizada en secciÃ³n con atributo seccional SHF_ARM_PURECODE solo estÃ¡ soportado para objetivos M-profile que implementa la instrucciÃ³n â€œmovwâ€�.%B(%A): aviso: acceso sin alinear al sÃ­mbolo Â«%sÂ» en el Ã¡rea de datos small%B(%A): aviso: acceso sin alinear al sÃ­mbolo Â«%sÂ» en el Ã¡rea de datos small.%B(%A+%#Lx): compostura %s para insn %#x no se admite en un enlace no compartido%B(%A+%#Lx): reubicaciÃ³n %s contra secciÃ³n SEC_MERGE%B(%A+%#Lx): %s reubicaciÃ³n frente a sÃ­mbolo externo Â«%sÂ»%B(%A+%#Lx): reubicaciÃ³n %s no permitida dentro de objeto compartido%B(%A+%#Lx): %s empleado con sÃ­mbolo TLS %s%B(%A+%#Lx): %s utilizado con sÃ­mbolo no-TLS %s%B(%A+%#Lx): reubicaciÃ³n CMEM a Â«%sÂ» es invÃ¡lido, 16 MSB deberÃ­a ser %#x (valor es %#Lx)%B(%A+%#Lx): CMEM reubicando a `%s+%#Lx' es invÃ¡lido, 16 MSB deberÃ­a ser %#x (valor es %#Lx)%B(%A+%#Lx): SÃ³lo se permiten las instrucciones ADD o SUB en las reubicaciones de grupo ALU%B(%A+%#Lx): Desborde superior al dividirse %#Lx para la reubicaciÃ³n de grupo %s%B(%A+%#Lx): no se pueden emitir composturas para Â«%sÂ» en la secciÃ³n de sÃ³lo lectura%B(%A+%#Lx): no puede manipular %s para %s%B(%A+%#Lx): no se pueden alcanzar %s%B(%A+%#Lx): no puede alcanzar %s, recompile con -ffuntion-sections%B(%A+%#Lx): no pudo decodificar instrucciÃ³n para reubicaciÃ³n XTENSA_ASM_SIMPLIFY; posible incoincidencia de configuraciÃ³n%B(%A+%#Lx): no se pudo decodificar la instrucciÃ³n; posible falta de coincidencia de la configuraciÃ³n%B(%A+%#Lx): error: %s con instrucciÃ³n no esperada %#x%B(%A+%#Lx): instrucciÃ³n invÃ¡lida para reubicaciÃ³n TLS %s%B(%A+%#Lx): reubicar frente Â«%sÂ»: error %d%B(%A+%#Lx): desplazamiento de reubicaciÃ³n fuera de rango (tamaÃ±o=%#Lx)%B(%A+%#Lx): instrucciÃ³n ARM '%#lx' inesperada en el trampolÃ­n TLS%B(%A+%#Lx): instrucciÃ³n ARM '%#lx' inesperada referenciada por TLS_GOTDESC%B(%A+%#Lx): instrucciÃ³n Thumb '%#lx' inesperada en el trampolÃ­n TLS%B(%A+%#Lx):instrucciÃ³n Thumb '%#lx' inesperada referenciada por TLS_GOTDESC%B(%A+%#Lx): reparaciÃ³n inesperado para %s reubicaciÃ³n%B(%A+%#Lx): reubicaciÃ³n %s irresoluble frente a sÃ­mbolo `%s'%B(%A+%#Lx): reubicaciÃ³n %s irresoluble frente a sÃ­mbolo `%s'%B(%A+%#lx): Entrada de cabos tiene cadena indexada.%B(%A+%#x): error: carga mÃºltiple detectada en bloque IT no Ãºltima instrucciÃ³n : STM32L4XX no puede ser generada.
+Emplee opciÃ³n gcc -mrestrict-it para generar solo una instrucciÃ³n por bloque IT.
+%B(%A+0x%lx): %d bytes requiriÃ³ para alineamiento para %d-byte frontera, pero solo %d presente%B(%A+0x%lx): Incapaz de vaciar RISCV_PCREL_HI20 reubicando para correspondiente reubicaciÃ³n RISCV_PCREL_LO12%B(%A+0x%lx): esperada reubicaciÃ³n de estilo 16A en 0x%08x insn%B(%A+0x%lx): esperada reubicaciÃ³n de estilo 16D en 0x%08x insn%B(%A+0x%v): se llama a la secciÃ³n %B(%A) que no es de cÃ³digo, anÃ¡lisis incompleto
 %B(%s): aviso: no se activÃ³ la interoperabilidad.
   primer suceso: %B: llamada ARM a Thumb%B(%s): aviso: no se activÃ³ la interoperabilidad.
   primer suceso: %B: llamada Thumb a ARM%B(%s): aviso: no se activÃ³ la interoperabilidad.
-  primer suceso: %B: llamada arm a thumb%s(%s): aviso: no se activÃ³ la interoperabilidad.
-  primer suceso: %B: llamada thumb a arm%B(%s): aviso: no se activÃ³ la interoperabilidad.
+  primer suceso: %B: llamada arm a thumb%B(%s): aviso: no se activÃ³ la interoperabilidad.
   primer suceso: %B: llamada thumb a arm
-  considere reenlazar con --support-old-code activado%B(%s+0x%lx): reubicaciÃ³n %s sin resoluciÃ³n contra el sÃ­mbolo `%s'%B, secciÃ³n %A:
-  la reubicaciÃ³n %s no es vÃ¡lida en un objeto compartido; es una confusiÃ³n de opciÃ³n tÃ­pica, recompile con -fPIC%B, secciÃ³n %A:
-  la reubicaciÃ³n %s no se debe usar en un objeto compartido; recompile con -fPIC%B, secciÃ³n %A:
-  el objeto %s compatible con v10/v32 no debe contener una reubicaciÃ³n PIC%B, secciÃ³n %A: No hay PLT para la reubicaciÃ³n %s contra el sÃ­mbolo `%s'%B, secciÃ³n %A: No hay PLT ni GOT para la reubicaciÃ³n %s contra el sÃ­mbolo `%s'%B, secciÃ³n %A: la reubicaciÃ³n %s tiene una referencia sin definir a `%s', Â¿tal vez una confusiÃ³n en la declaraciÃ³n?%B, secciÃ³n %A: no se permite la reubicaciÃ³n %s para el sÃ­mbolo global: `%s'%B, secciÃ³n %A: no se permite la reubicaciÃ³n %s para el sÃ­mbolo: `%s' el cual se define fuera del programa, Â¿tal vez una confusiÃ³n en la declaraciÃ³n?%B, secciÃ³n %A: la reubicaciÃ³n %s sin GOT creado%B, secciÃ³n %A: reubicaciÃ³n %s con adiciÃ³n %d que no es cero contra el sÃ­mbolo local%B, secciÃ³n %A: reubicaciÃ³n %s con adiciÃ³n %d que no es cero contra el sÃ­mbolo `%s'%B, secciÃ³n %A: reubicaciÃ³n %s sin resoluciÃ³n contra el sÃ­mbolo `%s'%B, secciÃ³n `%A', para el sÃ­mbolo `%s':
-  la reubicaciÃ³n %s no se debe usar en un objeto compartido; recompile con -fPIC%B: reubicaciÃ³n !samegp contra un sÃ­mbolo sin .prologue: %s%B: %A+0x%lx: No se permiten los saltos directos entre modos ISA; considere recompilar con el entrelazado activado.%B: %s: versiÃ³n requerida %d invÃ¡lida%B: %s: versiÃ³n %u invÃ¡lida (mÃ¡ximo %d)%B: se accediÃ³ a '%s' como un sÃ­mbolo normal y como un sÃ­mbolo local de hilo%B: el subsegmento .got excede los 64K (tamaÃ±o %d)%B: .opd no es una matriz regular de entradas opd%B: no se permite la secciÃ³n .preinit_array en DSO%B: 0x%lx: fatal: la reubicaciÃ³n R_SH_PSHA %d no estÃ¡ en el rango -32..32%B: 0x%lx: fatal: la reubicaciÃ³n R_SH_PSHL %d no estÃ¡ en el rango -32..32%B: 0x%lx: fatal: desbordamiento de reubicaciÃ³n durante la relajaciÃ³n%B: 0x%lx: fatal: reubicaciÃ³n %s sin alineaciÃ³n 0x%lx%B: 0x%lx: fatal: objetivo de ramificaciÃ³n sin alineaciÃ³n para la reubicaciÃ³n de soporte de relajamiento%B: 0x%lx: aviso: R_SH_USES seÃ±ala al insn 0x%x que no se reconoce%B: 0x%lx: aviso: desplazamiento de carga R_SH_USES errÃ³neo%B: 0x%lx: aviso: desplazamiento R_SH_USES errÃ³neo%B: 0x%lx: aviso: cuenta errÃ³nea%B: 0x%lx: aviso: no se puede encontrar la reubicaciÃ³n COUNT esperada%B: 0x%lx: aviso: no se puede encontrar la reubicaciÃ³n esperada%B: 0x%lx: aviso: sÃ­mbolo en una secciÃ³n inesperada%B: reubicaciÃ³n @gprel contra el sÃ­mbolo dinÃ¡mico %s%B: ramificaciÃ³n @internal al sÃ­mbolo dinÃ¡mico %s%B: reubicaciÃ³n @pcrel contra el sÃ­mbolo dinÃ¡mico %s%B: la ABI es incompatible con aquella de la emulaciÃ³n seleccionada%B: no coincide ABI: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos%B: no coincide ASE: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos%B: No coincide la arquitectura con los mÃ³dulos previos%B: las imÃ¡genes BE8 sÃ³lo son vÃ¡lidas en modo big-endian.%B: Se importÃ³ un registro de reubicaciÃ³n errÃ³neo: %d%B: la reubicaciÃ³n CALL15 en 0x%lx no es contra un sÃ­mbolo global%B: la reubicaciÃ³n CALL16 en 0x%lx no es contra un sÃ­mbolo global%B: No se puede encontrar una reubicaciÃ³n LO16 coincidente contra `%s' para %s en 0x%lx en la secciÃ³n `%A'%B: No se puede relajar br (%s) a `%s' en 0x%lx en la secciÃ³n `%A' con tamaÃ±o 0x%lx (> 0x1000000).%B: No se puede relajar br en 0x%lx en la secciÃ³n `%A'. Por favor use brl o ramificaciÃ³n indirecta.%B: No se pueden manejar binarios Alpha comprimidos.
-   Use las opciones del compilador, o objZ, para generar binarios sin comprimir.%B: No se pueden enlazar juntos los objetos %s y %s.%B: Campo de tamaÃ±o corrupto en el encabezado de la secciÃ³n de grupo: 0x%lx%B: FallÃ³ al agregar el sÃ­mbolo renombrado %s%B: ReubicaciÃ³n de descriptor de funciÃ³n con adiciÃ³n que no es cero%B: desbordamiento de GOT: NÃºmero de reubicaciones con desplazamiento de 8 o 16-bit > %d%B: desbordamiento de GOT: NÃºmero de reubicaciones con desplazamiento de 8-bit > %d%B: no se esperaba la reubicaciÃ³n GOT en 0x%lx en ejecutables%B: la directiva IMPORT AS para %s oculta un IMPORT AS previo%B: El conjunto de instrucciones no coincide con mÃ³dulos previos%B: Se importÃ³ un tipo de reubicaciÃ³n invÃ¡lido: %d%B: Se detectÃ³ una reubicaciÃ³n malformada para la secciÃ³n %s%B: No hay suficiente espacio para los encabezados del programa, pruebe enlazar con -N%B: Solamente los registros %%g[2367] se pueden declarar utilizando STT_REGISTER%B: Se reconoce el tipo de mÃ¡quina (0x%x) pero no se maneja en el archivo de Formato de ImportaciÃ³n de Bibliotecas%B: Actualmente no se admite la reubicaciÃ³n %s (%d).
-%B: Reubicaciones en ELF genÃ©rico (EM: %d)%B: reubicaciÃ³n relativa a SB pero _c6xabi_DSBT_BASE no estÃ¡ definido%B: el cÃ³digo de ejecuciÃ³n local TLS no se puede enlazar en objetos compartidos%B: fallÃ³ la transiciÃ³n TLS de %s para %s contra `%s' en 0x%lx en la secciÃ³n `%A'%B: La primera secciÃ³n en el segmento PT_DYNAMIC no es la secciÃ³n .dynamic%B: El objetivo (%s) de una reubicaciÃ³n %s estÃ¡ en la secciÃ³n errÃ³nea (%A)%B: Demasiadas secciones:  %d (>= %d)%B: No se pueden ordenar las reubicaciones - son de tamaÃ±os diferentes%B: No se pueden ordenar las reubicaciones - son de tamaÃ±o desconocido%B: Tipo de importaciÃ³n sin manejar; %x%B: Atributo de objeto EABI obligatorio %d desconocido%B: Tipo de reubicaciÃ³n %d desconocido
-%B: Tipo de secciÃ³n desconocido en el fichero a.out.adobe: %x
-%B: No se reconoce la orden .directive: %s%B: No se reconoce el tipo de nombre de importaciÃ³n; %x%B: No se reconocer el tipo de importaciÃ³n; %x%B: No se reconoce el tipo de mÃ¡quina (0x%x) en el archivo de Formato de ImportaciÃ³n de Bibliotecas%B: No se reconoce la clase de almacenamiento %d para %s sÃ­mbolo `%s'%B: Aviso: Se descarta la opciÃ³n de secciÃ³n IMAGE_SCN_MEM_NOT_PAGED en la secciÃ³n %s%B: Aviso: La instrucciÃ³n Thumb BLX apunta a la funciÃ³n thumb '%s'.%B: Aviso: el tamaÃ±o de opciÃ³n `%s' %u errÃ³neo es mÃ¡s pequeÃ±o que su encabezado%B: Aviso: no se puede determinar la funciÃ³n objetivo para la secciÃ³n de cabo `%s'%B: sÃ­mbolo XMC_TCO `%s' es clase %d scnlen %d%B: se accediÃ³ `%s' como un sÃ­mbolo FDPIC y un sÃ­mbolo local de hilo%B: se accediÃ³ `%s' como un sÃ­mbolo normal y un sÃ­mbolo FDPIC%B: se accediÃ³ `%s' como un sÃ­mbolo normal y un sÃ­mbolo local de hilo%B: `%s' tiene nÃºmeros de lÃ­nea pero no una secciÃ³n contenedora%B: `%s' en la reubicaciÃ³n del cargador pero no es un sÃ­mbolo del cargador%B: `ld -r' no se admite con objetos PE MIPS
-%B: sÃ­mbolo XTY_ER `%s' errÃ³neo: clase %d scnum %d scnlen %d%B: pair/reflo errÃ³neo despuÃ©s de refhi
-%B: direcciÃ³n de reubicaciÃ³n 0x%lx errÃ³nea en la secciÃ³n `%A'%B: Ã­ndice de sÃ­mbolos de reubicaciÃ³n invÃ¡lido (0x%lx >= 0x%lx) errÃ³neo para el desplazamiento 0x%lx en la secciÃ³n `%A'%B: nombre de secciÃ³n de reubicaciÃ³n `%s' errÃ³neo%B: longitud de secciÃ³n errÃ³nea en ihex_read_section%B: tamaÃ±o de tabla de cadenas %lu errÃ³neo%B: Ã­ndice de sÃ­mbolos errÃ³neo: %d%B: no se puede crear la entrada de cabo %s%B: cambio en gp: BRSGP %s%B: clase %d sÃ­mbolo `%s' no tiene entradas auxiliares%B: compilado para un sistema de 64 bit y el objetivo es de 32 bit%B: compilado para un sistema big endian y el objetivo es little endian%B: compilado para un sistema little endian y el objetivo es big endian%B: compilado de forma normal y enlazado con mÃ³dulos compilados con -mrelocatable%B: compilado con -mrelocatable y enlazado con mÃ³dulos compilados de forma normal%B: no se puede encontrar la secciÃ³n de salida %A para la secciÃ³n de entrada %A%B: no se puede encontrar la secciÃ³n de salida %s%B: no se puede leer el contenido de la secciÃ³n `%A'
-%B: csect `%s' no estÃ¡ contenido en una secciÃ³n%B: no se sabe cÃ³mo manejar la secciÃ³n especÃ­fica de SO `%s' [0x%8x]%B: no se sabe cÃ³mo manejar la secciÃ³n especÃ­fica alojada de la aplicaciÃ³n `%s' [0x%8x]%B: no se sabe cÃ³mo manejar la secciÃ³n especÃ­fica de procesador `%s' [0x%8x]%B: no se sabe cÃ³mo manejar la secciÃ³n `%s' [0x%8x]%B: reubicaciÃ³n relativa a dtp contra el sÃ­mbolo dinÃ¡mico %s%B: cabo de exportaciÃ³n %s duplicado%B: la secciÃ³n duplicada `%A' tiene contenido diferente
+  considere reenlazar con --support-old-code activado%B(%s+%#Lx): reubicaciÃ³n %s irresoluble frente al sÃ­mbolo `%s'%B, secciÃ³n %A:
+  reubicaciÃ³n %s no es vÃ¡lida en un objeto compartido; es una confusiÃ³n de opciÃ³n tÃ­pica, recompile con -fPIC%B, secciÃ³n %A:
+  reubicaciÃ³n %s no se deberÃ­a emplearse en un objeto compartido; recompile con -fPIC%B, secciÃ³n %A:
+  el objeto compatible v10/v32 no debe contener una reubicaciÃ³n PIC%B, secciÃ³n %A: No hay PLT para la reubicaciÃ³n %s contra el sÃ­mbolo Â«%sÂ»%B, secciÃ³n %A: No hay PLT ni GOT para la reubicaciÃ³n %s contra el sÃ­mbolo Â«%sÂ»%B, secciÃ³n %A: reubicaciÃ³n %s tiene una referencia sin definir a Â«%sÂ», Â¿tal vez una confusiÃ³n en la declaraciÃ³n?%B, secciÃ³n %A: la reubicaciÃ³n %s  no estÃ¡ permitida para Â«%sÂ», un sÃ­mbolo global con visibilidad predeterminada, Â¿quizÃ¡ una confusiÃ³n en la declaraciÃ³n?%B, secciÃ³n %A: reubicaciÃ³n %s no permitida para sÃ­mbolo global: Â«%sÂ»%B, secciÃ³n %A: reubicaciÃ³n %s no permitida para sÃ­mbolo: Â«%sÂ» el cual se define fuera del programa, Â¿tal vez una confusiÃ³n en la declaraciÃ³n?%B, secciÃ³n %A: reubicaciÃ³n %s sin GOT creado%B, secciÃ³n %A: reubicaciÃ³n %s con adiciÃ³n de direcciÃ³n sin cero %Ld contra el sÃ­mbolo local%B, secciÃ³n %A: reubicaciÃ³n %s con adiciÃ³n %Ld sin ceros contra el sÃ­mbolo Â«%sÂ»%B, secciÃ³n %A: reubicaciÃ³n %s sin resoluciÃ³n contra el sÃ­mbolo Â«%sÂ»%B, secciÃ³n `%A', para el sÃ­mbolo Â«%sÂ»:
+  la reubicaciÃ³n %s no se debe usar en un objeto compartido; recompile con -fPIC%B: reubicaciÃ³n !samegp contra un sÃ­mbolo sin .prologue: %s%B: %#Lx: fatal: la reubicaciÃ³n R_SH_PSHA %Ld no estÃ¡ en el rango -32..32%B: %#Lx: fatal: la reubicaciÃ³n R_SH_PSHL %Ld no estÃ¡ en el rango -32..32%B: %#Lx: fatal: desbordamiento de reubicaciÃ³n durante la relajaciÃ³n%B: %#Lx: fatal: reubicaciÃ³n %s no alineada %#Lx%B: %#Lx: fatal: objetivo de ramificaciÃ³n sin alineaciÃ³n para la reubicaciÃ³n de soporte relajado%B: %#Lx: aviso: R_SH_USES apunta al insn %#x no reconocido%B: %#Lx: aviso: R_SH_USES apunta al insn 0x%x no reconocido%B: %#Lx: aviso: R_V850_LONGCALL apunta al insn %#x no reconocido%B: %#Lx: aviso: R_V850_LONGCALL apunta al insns no reconocido%B: %#Lx: aviso: R_V850_LONGCALL apunta al reloc no reconocido%B: %#Lx: aviso: R_V850_LONGCALL apunta a reubicaciÃ³n %#Lx no reconocido%B: %#Lx: aviso: R_V850_LONGJUMP apunta al insn %#x no reconocido%B: %#Lx: aviso: R_V850_LONGJUMP apunta al insns no reconocido%B: %#Lx: aviso: R_V850_LONGJUMP apunta al reloc no reconocido%B: %#Lx: aviso: desplazamiento de carga R_SH_USES equivocado%B: %#Lx: aviso: desplazamiento R_SH_USES equivocado%B: %#Lx: aviso: contador equivocado%B: %#Lx: aviso: no pudo encontrar la reubicaciÃ³n COUNT esperada%B: %#Lx: aviso: no se pudo encontrar la reubicaciÃ³n esperada%B: %#Lx: aviso: sÃ­mbolo dentro de secciÃ³n inesperada%B: %A tamaÃ±o seccional entrante invÃ¡lido%B: %A no en operaciÃ³n%B: %A puntos pasados finales de selecciÃ³n textual%B: %A+%#Lx: NingÃºn sÃ­mbolo encontrado para INHERIT%B: %A+%#Lx: aviso: reubicaciÃ³n %s contra insn inesperado%B: %A+%#Lx: aviso: reubicaciÃ³n LITERAL contra insn inesperado%B: %A: desbordamiento de reubicaciÃ³n: %#x > 0xffff%B: %s no absoluto%B: %s accedidos ambos como comÃºn e hilo simbÃ³lico local%B: %s: versiÃ³n requerida %d invÃ¡lida%B: %s: versiÃ³n %u invÃ¡lida (mÃ¡ximo %d)%B: %s: desbordamiento superior de reubicaciÃ³n: 0x%lx > 0xffff%B: Â«%sÂ» accedido ambos como un sÃ­mbolo comÃºn e hilo local%B: --in-implib solo compatible para importar bibliotecas Secure Gateway.%B: entrada  .gnu.version_d invÃ¡lida%B: entrada .gnu.version_r invÃ¡lida%B: el subsegmento .got excede los 64K (tamaÃ±o %d)%B: .opd no es una matriz regular de entradas opd%B: no se permite la secciÃ³n .preinit_array en DSO%B: tamaÃ±o de secciÃ³n .reginfo deberÃ­a ser de %d bytes, tamaÃ±o actual es %d%B: uniÃ³n .rsrc fallada: secciÃ³n .rsrc corrupta%B: uniÃ³n .rsrc fallada: tamaÃ±o inesperado .rsrc%B: @gprel reubicado contra el sÃ­mbolo dinÃ¡mico %s%B: @internal ramificado al sÃ­mbolo dinÃ¡mico %s%B: @pcrel reubicado contra el sÃ­mbolo dinÃ¡mico %s%B: la ABI es incompatible con aquella de la emulaciÃ³n seleccionada%B: la ABI es incompatible con esa de la emulaciÃ³n seleccionada:
+  emulaciÃ³n objetivo Â«%sÂ» no coincide con Â«%sÂ»%B: no coincide ABI: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos%B: VersiÃ³n ABI %ld no es compatible con versiÃ³n ABI %ld salida%B: no coincide ASE: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos%B: No coincide la arquitectura con los mÃ³dulos previos%B: las imÃ¡genes BE8 sÃ³lo son vÃ¡lidas en modo big-endian.%B: equivocaciÃ³n de registro reubicable importado: %d%B: DefiniciÃ³n de sÃ­mbolo equivocada: `Main' se estableciÃ³ como %s en lugar de la direcciÃ³n de inicio %s
+%B: reubicaciÃ³n CALL15 en %Lx no contra sÃ­mbolo global%B: reubicaciÃ³n CALL16 en %Lx no contra sÃ­mbolo global%B: no se puede encontrar una reubicaciÃ³n LO16 coincidente contra Â«%sÂ» para %s en %#Lx en la secciÃ³n `%A'%B: no se puede relajar br (%s) a Â«%sÂ» en %#Lx en la secciÃ³n `%A' con tamaÃ±o %#Lx (> 0x1000000).%B: no se puede relajar br en %#Lx en la secciÃ³n `%A'. Utilice brl o ramificaciÃ³n indirecta.%B: No se pueden manejar binarios Alpha comprimidos.
+   Emplee opciones del compilador, o objZ, para generar binarios sin comprimir.%B: No se pueden enlazar juntos los objetos %s y %s.%B: tamaÃ±o de Directorio e Datos (%lx) excede espacio izquierdo dentro de secciÃ³n (%Lx)%B: marca EF_OR1K_NODELAY no coincide con los mÃ³dulos previos%B: Error: Depura Datos finales mÃ¡s allÃ¡ del final del directorio depurante.%B: error: definiciÃ³n mÃºltiple de Â«%sÂ»; el inicio de %s estÃ¡ definido dentro de un fichero enlazado con anterioridad
+%B: Error: search_nds32_elf_blank devuelve nodo equivocado
+%B: fallaba al aÃ±adir el sÃ­mbolo renombrado %s%B: fallaba al encontrar secciÃ³n de informaciÃ³n para la secciÃ³n %d%B: fallado para encontrar secciÃ³n de enlace para secciÃ³n %d%B: fallaba al leer secciÃ³n de datos depurados%B: reubicaciÃ³n de descriptor de funciÃ³n con adiciÃ³n que no es cero%B: error de GAS: insn PTB inesperada con R_SH_PT_16%B: secciÃ³n GNU_MBIN Â«%AÂ» tiene campo sh_info invÃ¡lido: %d%B: desbordamiento de GOT: NÃºmero de reubicaciones con desplazamiento de 8 o 16-bit > %d%B: desbordamiento de GOT: NÃºmero de reubicaciones con desplazamiento de 8-bit > %d%B: reubicaciÃ³n GOT en %#Lx no esperado en ejecutables%B: directiva IMPORT AS para %s concilia un IMPORT AS previo%B: tamaÃ±o de vector ISR no coincide con mÃ³dulos previos, previos %u-byte, actual %u-byte%B: Conjunto de instrucciones no coincide con mÃ³dulos previos%B: error de inconsistencia interna para el valor para
+ un registro global colocado por el enlazador: enlazado: %#Lx != relajado: %#Lx%B: tipo reubicante invÃ¡lido exportado: %d%B: Se importÃ³ un tipo de reubicaciÃ³n invÃ¡lido: %d%B: campo sh_link invÃ¡lido (%d) en nÃºmero de secciÃ³n %d%B: directiva LOCAL: El registro $%Ld no es un registro local.  El primer registro global es $%Ld.%B: tabla de descripciÃ³n simbÃ³lica local es NULO cuando estÃ© aplicando reubicaciÃ³n %s frente sÃ­mbolo local%B: detectada reubicaciÃ³n malformada para secciÃ³n %A%B: Se detectÃ³ una reubicaciÃ³n malformada para la secciÃ³n %s%B: OMIT_FP anidado en %A.%B: ningÃºn nÃºcleo para reservar un sÃ­mbolo de %d bytes de longitud
+%B: ningÃºn nÃºcleo para reservar nombre de secciÃ³n %s
+%B: ninguna secciÃ³n de versiÃ³n simbÃ³lica para sÃ­mbolo Â«%sÂ» versionado%B: No hay suficiente espacio para los encabezados del programa, pruebe enlazar con -N%B: Solamente los registros %%g[2367] se pueden declarar utilizando STT_REGISTER%B: Se reconoce el tipo de mÃ¡quina (0x%x) pero no se manipula en el archivo de Formato de ImportaciÃ³n de Bibliotecas%B: Actualmente no se admite la reubicaciÃ³n %s (%d).
+%B: reubicaciÃ³n %s aÃºn no se admite para el sÃ­mbolo %s.%B: Reubicaciones en ELF genÃ©rico (EM: %d)%B: reubicaciÃ³n relativa a SB pero __c6xabi_DSBT_BASE no estÃ¡ definido%B: secciÃ³n SHT_GROUP [Ã­ndice %d] no tiene ninguna secciÃ³n SHF_GROUP%B: sÃ­mbolo especial Â«%sÂ» solo permitido para arquitectura ARMv8-M o posterior.%B: cÃ³digo local ejecutable TLS no se puede ser enlazado dentro de objetos compartidos%B: secciones TLS no son adyacentes:%B: transiciÃ³n TLS desde %s hasta %s contra Â«%sÂ» en %#Lx en la secciÃ³n `%A' fallada%B: reubicaciÃ³n de TOC en %#Lx al sÃ­mbolo Â«%sÂ» sin ninguna entrada TOC%B: La primera secciÃ³n en el segmento PT_DYNAMIC no es la secciÃ³n .dynamic%B: El objetivo (%s) de una reubicaciÃ³n %s estÃ¡ en la secciÃ³n equivocada (%A)%B: Demasiadas secciones:  %d (>= %d)%B: no se pueden ordenar las reubicaciones - son de tamaÃ±os diferentes%B: no se pueden ordenar las reubicaciones - son de tamaÃ±o desconocido%B: Tipo de importaciÃ³n sin manejar; %x%B: arquitectura %d desconocida%B: Atributo de objeto ARC obligatorio %d desconocido.%B: Atributo de objeto EABI obligatorio %d desconocido%B: Tipo de reubicaciÃ³n %d desconocido
+%B: Tipo seccional desconocido en el fichero a.out.adobe: %x
+%B: OMIT_FP desemparejado en %A.%B: No se reconoce la orden .directive: %s%B: No se reconoce el tipo de nombre de importaciÃ³n; %x%B: No se reconoce el tipo de importaciÃ³n; %x%B: No se reconoce el tipo de mÃ¡quina (0x%x) en el archivo de Formato de ImportaciÃ³n de Bibliotecas%B: Clase de almacenamiento %d no reconocida para %s sÃ­mbolo Â«%sÂ»%B: transiciÃ³n desde %s hasta %s no estÃ¡ admitido%B: Aviso: La instrucciÃ³n Arm BLX apunta a la funciÃ³n Arm Â«%sÂ».%B: Aviso: Se descarta la opciÃ³n seccional IMAGE_SCN_MEM_NOT_PAGED en la secciÃ³n %s%B: Aviso: La instrucciÃ³n Thumb BLX apunta a la funciÃ³n thumb Â«%sÂ».%B: Aviso: el tamaÃ±o de opciÃ³n Â«%sÂ» %u equivocado es mÃ¡s pequeÃ±o que su encabezado%B: Aviso: no se puede determinar la funciÃ³n objetivo para la secciÃ³n de cabo Â«%sÂ»%B: Aviso: mode PLT actualmente no se admite la reubicaciÃ³n%B: objeto compartido XCOFF cuando no se produce salida XCOFF%B: sÃ­mbolo XMC_TCO Â«%sÂ» es clase %d scnlen %Ld%B: __gp no cubre el segmento corto de datos%B: desplazamiento `%A' de %Ld desde `%A' mÃ¡s allÃ¡ que el rango de ADDIUPC%B: se accediÃ³ Â«%sÂ» como un sÃ­mbolo FDPIC y un sÃ­mbolo local de hilo%B: se accediÃ³ Â«%sÂ» como un sÃ­mbolo normal y un sÃ­mbolo FDPIC%B: se accediÃ³ Â«%sÂ» como un sÃ­mbolo normal y un sÃ­mbolo local de hilo%B: `%s' y su sÃ­mbolo especial estÃ¡n en secciones diferentes.%B: Â«%sÂ» tiene nÃºmeros de lÃ­nea pero no una secciÃ³n contenedora%B: Â«%sÂ» en la reubicaciÃ³n del cargador pero no es un sÃ­mbolo del cargador%B: `%s' no-PLT reubica para sÃ­mbolo definido dentro de biblioteca compartida y accedido desde ejecutable (recompilar fichero con -fPIC ?)%B: `ld -r' no se admite con objetos PE MIPS
+%B: sÃ­mbolo estandarizado ausente Â«%sÂ».%B: acceso mÃ¡s allÃ¡ de secciÃ³n combinada (%Ld)%B: aÃ±adir final %s%#x en reubicaciÃ³n %s frente sÃ­mbolo Â«%sÂ» en %#Lx en secciÃ³n `%A' estÃ¡ fuera de rango%B: direcciÃ³n %#Lx estÃ¡ fuera de rango para el fichero Hexadecimal de Intel%B: cabecera aout especifica un nÃºmero de entradas de datos-directorio no vÃ¡lido: %ld%B: intenta emitir contenidos en direcciÃ³n no mÃºltiplo de 4 %#Lx%B: intenta cargar cadenas desde una secciÃ³n no-cadena (nÃºmero %d)%B: intenta mezclar objetos FDPIC y no-FDPIC%B: intenta escribir fuera de tipo de reubicaciÃ³n desconocida%B: sÃ­mbolo XTY_ER Â«%sÂ» equivocado: clase %d scnum %d scnlen %Ld%B: pair/reflo equivocado tras refhi
+%B: direcciÃ³n de reubicaciÃ³n %#Lx equivocada en la secciÃ³n `%A'%B: indexado simbÃ³lico de reubicaciÃ³n equivocado (%#Lx >= %#lx)  para desplazar %#Lx dentro de secciÃ³n `%A'%B: equivocado nombre seccional de reubicaciÃ³n Â«%sÂ»%B: longitud seccional equivocada en ihex_read_section%B: tamaÃ±o equivocado de segmento de cadenas %Lu%B: Ã­ndice de sÃ­mbolos equivocado: %d%B: reubicaciÃ³n base-suma-desplazamiento contra sÃ­mbolo registrador: %s en %A%B: reubicaciÃ³n base-suma-desplazamiento contra sÃ­mbolo registrador: (desconocido) en %A%B: no se puede representar la secciÃ³n `%A' dentro del formato de fichero objeto a.out%B: no se puede representar la secciÃ³n Â«%AÂ» en oasys%B: no se puede representar la secciÃ³n para el sÃ­mbolo Â«%sÂ» en el formato de fichero objeto a.out%B: no puede enlazar mÃ³dulos flotantes-duros con mÃ³dulos flotantes-blandos%B: no se puede reservar el nombre de fichero para el nÃºmero de fichero %d, %d bytes
+%B: no se puede crear la entrada de cabo %s%B: no se puede enlazar el fichero objeto â€˜fdpicâ€™ en un ejecutable que no es fdpic%B: no se puede enlazar el fichero objeto que no es fdpic en un ejecutable fdpic%B: modifica en gp: BRSGP %s%B: clase %d sÃ­mbolo Â«%sÂ» no tiene entradas auxiliares%B: %s compilado -mtune=%s y enlazado con mÃ³dulos compilados con %s -mtune=%s%B: compilado como objeto de 32-bit y %B es de 64-bit%B: compilado como objeto de 64-bit y %B es de 32-bit%B: compilado para un sistema de 64 bit y el objetivo es de 32 bit%B: compilado para un sistema big endian y el objetivo es little endian%B: compilado para un sistema little endian y el objetivo es big endian%B: compilado de forma normal y enlazado con mÃ³dulos compilados con -mrelocatable%B: compilado con %s y enlazado con mÃ³dulos compilados con %s%B: compilado con %s y enlazado con mÃ³dulos que usan reubicaciones que no son pic%B: compilado con -mrelocatable y enlazado con mÃ³dulos compilados de forma normal%B: campo de tamaÃ±o corrupto en el encabezado de la secciÃ³n de grupo: %#Lx%B: contador simbÃ³lico corrupto: %#Lx%B: no se puede encontrar la secciÃ³n de salida %A para la secciÃ³n de entrada %A%B: no se puede leer el contenido de la secciÃ³n `%A'
+%B: no pudo escribir fuera entradas .cranges aÃ±adidas%B: no pudo escribir fuera entradas .cranges ordenadas%B: csect Â«%sÂ» no estÃ¡ contenido en un cierre seccional%B: reubicaciÃ³n GOT directa %s frente a Â«%sÂ» sin  registro base no puede ser empleado cuando se crea un objeto compartido%B: reubicaciÃ³n GOT directa R_386_GOT32X contra Â«%sÂ» sin registrador base no puede ser empleado cuando cree un objeto compartido%B: directiva LOCAL vÃ¡lida sÃ³lo con un registro o un valor absoluto%B: reubicaciÃ³n relativa a dtp contra el sÃ­mbolo dinÃ¡mico %s%B: cabo de exportaciÃ³n %s duplicado%B: la secciÃ³n duplicada `%A' tiene contenido diferente
 %B: la secciÃ³n duplicada `%A' tiene tamaÃ±o diferente
-%B: la endianez es incompatible con aquella de la emulaciÃ³n seleccionada%B: error: el cabo de errores Cortex-A8 se aloja en una ubicaciÃ³n insegura%B: error: el cabo de errores Cortex-A8 estÃ¡ fuera de rango (el fichero de entrada es demasiado grande)%B: error: la chapa VFP11 estÃ¡ fuera de rango%B: error: tipo de reubicaciÃ³n %d sin alinear en %08x reubicaciÃ³n %p
-%B: error: atributo de objeto EABI obligatorio %d desconocido%B: el fichero de clase %s es incompatible con %s%B: reubicaciÃ³n relativa a gp contra el sÃ­mbolo dinÃ¡mico %s%B: el sÃ­mbolo oculto `%s' en %B estÃ¡ referenciado por DSO%B: el sÃ­mbolo oculto `%s' no estÃ¡ definido%B: se descarta la secciÃ³n duplicada `%A'
-%B: tipo de reubicaciÃ³n %d ilegal en la direcciÃ³n 0x%lx%B: Ã­ndice de sÃ­mbolos ilegal en la reubicaciÃ³n: %d%B: tipo de mÃ¡quina incompatible. La salida es 0x%x. La entrada es 0x%x%B: el sÃ­mbolo indirecto `%s' para `%s' es un ciclo%B: error interno en ihex_read_section%B: el sÃ­mbolo interno `%s' en %B estÃ¡ referenciado por DSO%B: el sÃ­mbolo interno `%s' no estÃ¡ definido%B: entrada SHT_GROUP invÃ¡lida%B: enlace %lu invÃ¡lido para la secciÃ³n de reubicaciÃ³n %s (Ã­ndice %u)%B: tipo de reubicaciÃ³n %d invÃ¡lido%B: desplazamiento de cadena invÃ¡lido %u >= %lu para la secciÃ³n `%s'%B: salto demasiado lejos
-%B: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos%B: se enlaza cÃ³digo de 32-bit con cÃ³digo de 64-bit%B: se enlazan ficheros de 64-bit con ficheros de 32-bit%B: se enlaza cÃ³digo especÃ­fico de UltraSPARC con cÃ³digo especÃ­fico de HAL%B: se enlazan ficheros de pic automÃ¡tico con ficheros sin pic automÃ¡tico%B: se enlazan ficheros big-endian con ficheros little-endian%B: se enlazan ficheros de gp constante con ficheros con gp no constante%B: se enlazan ficheros compilados con enteros de 16-bit (-mshort) y otros con enteros de 32-bit%B: se enlazan ficheros compilados con dobles de 32-bit (-fshort-double) y otros con dobles de 64-bit%B: se enlazan ficheros compilados para HCS12, con otros compilados para HC12%B: se enlazan ficheros little endian con ficheros big endian%B: se enlaza cÃ³digo que no es pic en un ejecutable independiente de posiciÃ³n%B: se enlaza deferencias-captura-en-NULL con ficheros que no son de captura%B: reubicaciÃ³n del cargador en la secciÃ³n de sÃ³lo lectura %A%B: reubicaciÃ³n del cargador en la secciÃ³n `%s' que no se reconoce%B: el sÃ­mbolo local `%s' en %B estÃ¡ referenciado por DSO%B: XTY_LD `%s' mal ubicado%B: falta la secciÃ³n TLS para la reubicaciÃ³n %s contra `%s' en 0x%lx en la secciÃ³n `%A'.%B: no hay informaciÃ³n de grupo para la secciÃ³n %A%B: cÃ³digo que no es pic con reubicaciÃ³n imm contra el sÃ­mbolo dinÃ¡mico %s%B: Ã­ndice de sÃ­mbolos que no es cero (0x%lx) para el desplazamiento 0x%lx) en la secciÃ³n `%A' cuando el fichero objeto no tiene tabla de sÃ­mbolos%B: reubicaciÃ³n relativa a pc contra el sÃ­mbolo dinÃ¡mico %s%B: reubicaciÃ³n relativa a pc contra el sÃ­mbolo dÃ©bil sin definir %s%B: Â¿Compilado probablemente sin -fPIC?%B: el sÃ­mbolo protegido `%s' no estÃ¡ definido%B: la reubicaciÃ³n %s:%d no estÃ¡ en csect%B: reubicaciÃ³n contra un Ã­ndice de sÃ­mbolo que no existe: %ld%B: no se puede usar la reubicaciÃ³n %s contra %s `%s' cuando se hace un objeto compartido%s%B: la reubicaciÃ³n %s contra el sÃ­mbolo STT_GNU_IFUNC `%s' con adiciÃ³n que no es cero: %d%B: la reubicaciÃ³n %s contra el sÃ­mbolo STT_GNU_IFUNC `%s' no es manejada por %s%B: no se puede usar la reubicaciÃ³n %s contra `%s' cuando se hace un objeto compartido; recompile con -fPIC%B: la reubicaciÃ³n %s contra el sÃ­mbolo `%s' no se admite en modo x32%B: no se puede usar la reubicaciÃ³n %s contra %s sin definir `%s' cuando se hace un objeto compartido%s%B: no se puede usar la reubicaciÃ³n %s cuando se hace un objeto compartido; recompile con -fPIC%B: no se puede usar la reubicaciÃ³n %s cuando se hace un objeto compartido%B: no se puede usar la reubicaciÃ³n R_386_GOTOFF contra la funciÃ³n protegida `%s' cuando se hace un objeto compartido%B: no se puede usar la reubicaciÃ³n R_386_GOTOFF contra %s indefinida `%s' cuando se hace un objeto compartido%B: no se puede usar la reubicaciÃ³n R_X86_64_GOTOFF contra la funciÃ³n protegida `%s' cuando se hace un objeto compartido%B: la reubicaciÃ³n en `%A+0x%x' referencÃ­a al sÃ­mbolo `%s' con adiciÃ³n que no es cero%B: el tamaÃ±o de reubicaciÃ³n no coincide en %B secciÃ³n %A%B: reubicaciones en la secciÃ³n `%A', pero no tiene contenido%B: la secciÃ³n %A lma %#lx se ajusta a %#lx%B: secciÃ³n %s: desbordamiento de tabla de cadenas en el desplazamiento %ld%B: la secciÃ³n `%A' no se puede asignar en el segmento %d%B: sh_link [%d] en la secciÃ³n `%A', es incorrecto%B: sh_link de la secciÃ³n `%A' apunta a la secciÃ³n descartada `%A' de `%B'%B: sh_link de la secciÃ³n `%A' apunta a la secciÃ³n eliminada `%A' de `%B'%B: el tamaÃ±o del campo es cero en el encabezado del Formato de ImportaciÃ³n de Bibliotecas%B: compostura de especulaciÃ³n al sÃ­mbolo dinÃ¡mico %s%B: cadena que no termina en null en el fichero objeto ILF.%B: el sÃ­mbolo `%s' tiene un tipo csect %d que no se reconoce%B: el sÃ­mbolo `%s' tiene smclas %d que no se reconoce%B: se requiere el sÃ­mbolo `%s' pero no estÃ¡ presente%B: Demasiadas secciones (%d)%B: reubicaciÃ³n relativa a tp contra el sÃ­mbolo dinÃ¡mico %s%B: no se puede llenar DataDictionary[12] porque falta .idata$5%B: no se puede llenar DataDictionary[1] porque falta .idata$2%B: no se puede llenar DataDictionary[1] porque falta .idata$4%B: no se puede llenar DataDictionary[9] porque falta __tls_used%B: no se puede llenar DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] porque falta .idata$6%B: no se puede llenar DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] porque falta .idata$6%B: no se puede encontrar el pegamento ARM '%s' para `%s'%B: no se puede encontrar el pegamento THUMB '%s' para `%s'%B: no se puede encontrar la chapa de VFP11 `%s'%B: no se puede obtener la secciÃ³n %A descomprimida%B: no se puede inicializar el estado comprimido de la secciÃ³n %s%B: no se puede inicializar el estado descomprimido de la secciÃ³n %s%B: referencia sin definir al sÃ­mbolo '%s'%B: sÃ­mbolo `%s' sin definir en la secciÃ³n .opd%B: sÃ­mbolo sin definir en la reubicaciÃ³n R_PPC64_TOCSAVE%B: tipo ATN %d inesperado en la parte externa%B: redefiniciÃ³n inesperada del sÃ­mbolo con versiÃ³n indirecta `%s'%B: tipo de reubicaciÃ³n %u inesperado en la secciÃ³n .opd%B: tipo inesperado despuÃ©s de ATN%B: reubicaciÃ³n dinÃ¡mica sin manejar contra %s%B: %s sin implementar
-%B: grabaciÃ³n ATI %u sin implementar para el sÃ­mbolo %u%B: secciÃ³n [%d] desconocida `%s' en el grupo [%s]%B: tipo de reubicaciÃ³n %d desconocido%B: tipo de reubicaciÃ³n %d desconocida/no admitida%B: no se reconoce la direcciÃ³n de reubicaciÃ³n (0x%lx) en la secciÃ³n `%A'%B: no se admite el tipo de reubicaciÃ³n %i%B: no se admite el tipo de reubicaciÃ³n %i
-%B: no se admite el tipo de reubicaciÃ³n %s%B: tipo de reubicaciÃ³n no admitida: ALPHA_R_GPRELHIGH%B: tipo de reubicaciÃ³n no admitida: ALPHA_R_GPRELLOW%B: se usan sÃ­mbolos con prefijo _, pero se escribe el fichero con sÃ­mbolos sin prefijo%B: usa campos de e_flags diferentes (0x%lx) que los mÃ³dulos previos (0x%lx)%B: se usan sÃ­mbolos sin prefijo, pero se escribe el fichero con sÃ­mbolos con prefijo _%B: no se encuentra la versiÃ³n del nodo para el sÃ­mbolo %s%B: aviso: el sÃ­mbolo COMDAT '%s' no coincide con el nombre de secciÃ³n '%s'%B: aviso: Se detectÃ³ un segmento cargable vacÃ­o, Â¿ esto es intencional ?
-%B: aviso: la secciÃ³n asignada `%s' no estÃ¡ en el segmento%B: aviso: informaciÃ³n de nÃºmeros de lÃ­nea duplicada para `%s'%B: aviso: Ã­ndice de sÃ­mbolos %ld ilegal en los nÃºmeros de lÃ­nea%B: aviso: Ã­ndice de sÃ­mbolos %ld ilegal en reubicaciones%B: aviso: fallÃ³ la lectura de tabla de nÃºmeros de lÃ­nea%B: aviso: se enlazan ficheros PIC con ficheros que no son PIC%B: aviso: se enlazan ficheros de llamadas abi con ficheros que no son de llamadas abi%B: aviso: no se necesita la alternativa para evitar la errata del VFP11 seleccionado para la arquitectura objetivo%B: aviso: no se estableciÃ³ sh_link para la secciÃ³n `%A'%B: aviso: atributo de objeto EABI %d desconocido%B:%A%s excede el tamaÃ±o de sobreescritura
-%B:%A: Aviso: reubicaciÃ³n Red Hat obsoleta%B:%d: Suma de comprobaciÃ³n errÃ³nea en el fichero S-record
-%B:%d: CarÃ¡cter `%s' inesperado en el fichero S-record
-%B:%d: carÃ¡cter `%s' inesperado en el fichero Hexadecimal de Intel%B:%u: suma de comprobaciÃ³n errÃ³nea en el fichero Hexadecimal de Intel (se esperaba %u, se obtuvo %u)%B:%u: longitud de registro de direcciÃ³n extendida errÃ³nea en el fichero Hexadecimal de Intel%B:%u: longitud de registro de direcciÃ³n lineal extendida errÃ³nea en el fichero Hexadecimal de Intel%B:%u: longitud de direcciÃ³n de inicio lineal extendida errÃ³nea en el fichero Hexadecimal de Intel%B:%u: longitud de direcciÃ³n de inicio extendida errÃ³nea en el fichero Hexadecimal de Intel%B:%u: no se reconoce el tipo ihex %u en el fichero Hexadecimal de Intel%C: aviso: la reubicaciÃ³n de "%s" referencÃ­a un segmento diferente
+%B: objeto dinÃ¡mico sin secciÃ³n cargadora .loader%B: reubicaciÃ³n dinÃ¡mica frente a Â«%TÂ» en secciÃ³n de sÃ³lo lectura Â«%AÂ»
+%B: ubicaciÃ³n dinÃ¡mica en secciÃ³n de sÃ³lo lectura `%A'
+%B: se encontrÃ³ un sÃ­mbolo etiqueta de datos dentro de la entrada%B: endianez es incompatible con aquella de la emulaciÃ³n seleccionada%B: funciÃ³n entrante Â«%sÂ» estÃ¡ vacÃ­a.%B: funciÃ³n entrante Â«%sÂ» no de salida.%B: error: ABI no coincide con mÃ³dulos previos.%B: error: alineamiento potencial %s de secciÃ³n Â«%AÂ» es demasiado grande%B: error: no puede crear recubrimiento STM32L4XX.%B: error: no puede establecer _ITB_BASE_%B: error: el cabo de errores Cortex-A8 se aloja en una ubicaciÃ³n insegura%B: error: el cabo de errores Cortex-A8 estÃ¡ fuera de rango (el fichero de entrada es demasiado grande)%B: error: error 835769 de cabo estÃ¡ fuera de rango (fichero entrante demasiado grande)%B: error: error 843419 de cabo estÃ¡ fuera de rango (fichero entrante demasiado grande)%B: error: conjunto de instrucciones no coincide con mÃ³dulos previos.%B: error: segmento PHDR no cubierto por segmento LOAD%B: error: la chapa VFP11 estÃ¡ fuera de rango%B: error: longitud de secciÃ³n atributiva demasiado pequeÃ±a: %ld%B: error: segmento no-cargado %d incluye cabecera de fichero y/o cabecera de programa%B: error: tipo de reubicaciÃ³n %d sin alinear en %#Lx reubicaciÃ³n %#Lx%B: error: tipo de reubicaciÃ³n %d sin alinear en %08Lx reubicaciÃ³n %08Lx%B: error: sÃ­mbolo Â«%sÂ» sin esperado en la secciÃ³n COMDAT%B: error: atributo de objeto EABI obligatorio %d desconocido%B: error: tipo reubicante %d desconocido.%B: fallaba al generar biblioteca importada%B: fatal: sÃ­mbolos genÃ©ricos obtenidos antes de relajar%B: fichero de clase %s es incompatible con %s%B: reubicaciÃ³n relativa a gp contra el sÃ­mbolo dinÃ¡mico %s%B: secciÃ³n agrupada '%A' no tiene contenidos%B: sÃ­mbolo oculto Â«%sÂ» en %B estÃ¡ referenciado por DSO%B: sÃ­mbolo oculto Â«%sÂ» no estÃ¡ definido%B: se descarta la secciÃ³n duplicada `%A'
+%B: tipo de reubicaciÃ³n %d ilegal en direcciÃ³n %#Lx%B: nombre de secciÃ³n ilegal `%A'%B: Ã­ndice simbÃ³lico %ld ilegal en reubicaciones%B: Ã­ndice simbÃ³lico ilegal en reubicaciÃ³n: %ld%B: tipo de mÃ¡quina incompatible. La salida es 0x%x. La entrada es 0x%x%B: tamaÃ±o incorrecto para sÃ­mbolo Â«%sÂ».%B: el sÃ­mbolo indirecto Â«%sÂ» para Â«%sÂ» es un bucle%B: error interno en ihex_read_section%B: error interno, secciÃ³n interna registrada %A tuvo contenidos
+%B: error interno, el segmento simbÃ³lico modificÃ³ el tamaÃ±o desde %d hasta %d words
+%B: el sÃ­mbolo interno Â«%sÂ» en %B estÃ¡ referenciado por DSO%B: el sÃ­mbolo interno Â«%sÂ» no estÃ¡ definido%B: nÃºmero reubicante AArch64 no vÃ¡lido: %d%B: nÃºmero reubicante CR16C no vÃ¡lido: %d%B: nÃºmero reubicante CRIS no vÃ¡lido: %d%B: nÃºmero reubicante D10V no vÃ¡lido: %d%B: nÃºmero reubicante D30V no vÃ¡lido: %d%B: nÃºmero reubicante Epiphany no vÃ¡lido: %d%B: nÃºmero reubicante FR30 no vÃ¡lido: %d%B: nÃºmero reubicante FRV no vÃ¡lido: %d%B: nÃºmero reubicante IP2K no vÃ¡lido: %d%B: nÃºmero reubicante IQ2000 no vÃ¡lido: %d%B: nÃºmero reubicante LM32 no vÃ¡lido: %d%B: nÃºmero reubicante M32C no vÃ¡lido: %d%B: nÃºmero reubicante M32R no vÃ¡lido: %d%B: nÃºmero reubicante M68HC11 no vÃ¡lido: %d%B: nÃºmero reubicante M68HC12 no vÃ¡lido: %d%B: nÃºmero reubicante MEP no vÃ¡lido: %d%B: nÃºmero reubicante METAG no vÃ¡lido: %d%B: nÃºmero reubicante MMIX no vÃ¡lido: %d%B: nÃºmero reubicante MSP430 no vÃ¡lido: %d%B: nÃºmero reubicante MSP430X no vÃ¡lido: %d%B: nÃºmero reubicante MT no vÃ¡lido: %d%B: nÃºmero reubicante Moxie no vÃ¡lido: %d%B: nÃºmero reubicante NDS32 no vÃ¡lido: %d%B: nÃºmero reubicante OR1K no vÃ¡lido: %d%B: nÃºmero reubicante RL78 no vÃ¡lido: %d%B: nÃºmero reubicante RX no vÃ¡lido: %d%B: entrada SHT_GROUP invÃ¡lida%B: nÃºmero reubicante V850 no vÃ¡lido: %d%B: nÃºmero reubicante Visium no vÃ¡lido: %d%B: nÃºmero reubicante XGate no vÃ¡lido: %d%B: nÃºmero reubicante XTENSA no vÃ¡lido: %d%B: nÃºmero reubicante i960 no vÃ¡lido: %d%B: importaciÃ³n de entrada de biblioteca invÃ¡lida: Â«%sÂ».%B: enlace %u invÃ¡lido para la secciÃ³n de reubicaciÃ³n %s (Ã­ndice %u)%B: fichero mmo invÃ¡lido: YZ de lop_end (%ld) no es igual al nÃºmero de tetras al lop_stab precedente (%ld)
+%B: fichero mmo invÃ¡lido: se esperaba YZ = 1 se obtuvo YZ = %d para lop_quote
+%B: fichero mmo invÃ¡lido: se esperaba y = 0, se obtuvo y = %d para lop_fixrx
+%B: fichero mmo invÃ¡lido: se esperaba z = 1 o z = 2, se obtuvo z = %d para lop_fixo
+%B: fichero mmo invÃ¡lido: se esperaba z = 1 o z = 2, se obtuvo z = %d para lop_loc
+%B: fichero mmo invÃ¡lido: se esperaba z = 16 o z = 24, se obtuvo z = %d para lop_fixrx
+%B: fichero mmo invÃ¡lido: campos â€˜yâ€™ y â€˜zâ€™ de lop_stab no cero, y: %d, z: %d
+%B: fichero mmo invÃ¡lido: no se especificÃ³ un nombre de fichero para el nÃºmero %d antes de utilizarse
+%B: fichero mmo invÃ¡lido: el nÃºmero de fichero %d Â«%sÂ», ya se habÃ­a introducido como Â«%sÂ»
+%B: fichero mmo invÃ¡lido: el valor de iniciaciÃ³n para $255 no es `Main'
+%B: fichero mmo invÃ¡lido: el byte inicial del operando word debe ser 0 o 1, se obtuvo %d para lop_fixrx
+%B: fichero mmo invÃ¡lido: lop_end no es el Ãºltimo elemento en el fichero
+%B: fichero mmo invÃ¡lido: cÃ³digo de operaciÃ³n-l `%d' no compatible
+%B: tipo de reubicaciÃ³n %d invÃ¡lido%B: campo de tamaÃ±o invÃ¡lido en el encabezado de la secciÃ³n de grupo: %#Lx%B: sÃ­mbolo especial no vÃ¡lido Â«%sÂ».%B: sÃ­mbolo comÃºn no vÃ¡lido Â«%sÂ».%B: direcciÃ³n de inicio invÃ¡lida para los registros inicializados de longitud %Ld: %#Lx%B: desplazamiento de cadena invÃ¡lido %u >= %Lu para la secciÃ³n Â«%sÂ»%B: segmento simbÃ³lico no vÃ¡lido: sÃ­mbolo duplicado Â«%sÂ»
+%B: omitir demasiado lejos
+%B: nÃºmero de lÃ­nea del desbordamiento superior: 0x%lx > 0xffff%B: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos%B: se enlaza cÃ³digo de 32-bit con cÃ³digo de 64-bit%B: se enlazan ficheros de 64-bit con ficheros de 32-bit%B: se enlaza cÃ³digo especÃ­fico de UltraSPARC con cÃ³digo especÃ­fico de HAL%B: se enlazan ficheros de pic automÃ¡tico con ficheros sin pic automÃ¡tico%B: se enlazan ficheros big-endian con ficheros little-endian%B: se enlazan ficheros de gp constante con ficheros con gp no constante%B: se enlazan ficheros compilados con enteros de 16-bit (-mshort) y otros con enteros de 32-bit%B: se enlazan ficheros compilados con dobles de 32-bit (-fshort-double) y otros con dobles de 64-bit%B: se enlazan ficheros compilados para HCS12, con otros compilados para HC12%B: se enlazan ficheros little endian con ficheros big endian%B: se enlaza cÃ³digo que no es pic en un ejecutable independiente de posiciÃ³n%B: se enlaza deferencias-captura-en-NULL con ficheros que no son de captura%B: reubicaciÃ³n del cargador en la secciÃ³n de sÃ³lo lectura %A%B: reubicaciÃ³n del cargador en la secciÃ³n que no se reconoce `%s'%B: el sÃ­mbolo local Â«%sÂ» en %B estÃ¡ referenciado por DSO%B: XTY_LD mal ubicado Â«%sÂ»%B: falta la secciÃ³n TLS para la reubicaciÃ³n %s contra Â«%sÂ» en %#Lx en la secciÃ³n `%A'.%B: ningÃºn grupo informado para secciÃ³n Â«%AÂ»%B: sin registros inicializados: longitud seccional 0
+%B: ningÃºn sÃ­mbolo encontrado para importar biblioteca%B: encontradas secciones agrupadas no vÃ¡lidas%B: cÃ³digo que no es pic con reubicaciÃ³n imm contra el sÃ­mbolo dinÃ¡mico Â«%sÂ»%B: Ã­ndice simbÃ³licos distinto de cero (%#Lx) para desplazamiento %#Lx en la secciÃ³n `%A' cuando el fichero objeto no tiene ningÃºn segmento simbÃ³lico%B: sin suficiente memoria para reservar espacio para sÃ­mbolos %#Lx de tamaÃ±o %#Lx%B: tamaÃ±o del objeto no coincide con el tamaÃ±o objetivo %B%B: memoria agotada al crear nombre para secciÃ³n vacÃ­a%B: memoria agotada en propiedad _bfd_elf_get_property%B: tamaÃ±o de pÃ¡gina es demasiado grande (0x%x)%B: reubicaciÃ³n relativa a pc contra el sÃ­mbolo dinÃ¡mico %s%B: reubicaciÃ³n relativa a pc contra el sÃ­mbolo dÃ©bil sin definir %s%B: complementos requeridos para manipular objeto lto%B: Â¿Compilado probablemente sin -fPIC?%B: el sÃ­mbolo protegido Â«%sÂ» no estÃ¡ definido%B: reubicaciÃ³n registrada frente sÃ­mbolo no registrado: %s en %A%B: reubicaciÃ³n registrada frente sÃ­mbolo no registrado: (desconocido) en %A%B: reloc %s:%Ld no contenido en csect%B: reubicaciÃ³n contra un Ã­ndice de sÃ­mbolo inexistente: %ld%B: enlace reubicable desde %s hasta %s sin apoyo%B: reubicaciÃ³n %s frente a %s%s Â«%sÂ» no puede emplearse cuando se crea %s%s%B: reubicaciÃ³n %s frente al sÃ­mbolo STT_GNU_IFUNC Â«%sÂ» tiene aÃ±adido algo distinto de cero: %Ld%B: reubicaciÃ³n %s frente al sÃ­mbolo STT_GNU_IFUNC Â«%sÂ» no es manipulada por %s%B: reubicaciÃ³n %s frente al sÃ­mbolo STT_GNU_IFUNC Â«%sÂ» no estÃ¡ apoyado%B: reubicaciÃ³n %s frente a Â«%sÂ» no puede emplearse cuando se crea un objeto compartido%B: reubicaciÃ³n %s frente a Â«%sÂ» no puede emplearse cuando se crea un objeto compartido; recompile con -fPIC%B: reubicaciÃ³n %s frente sÃ­mbolos externos o indefinidos Â«%sÂ» pueden no ser empleados cuando hacen un %s; recompile con -fPIC%B: reubicaciÃ³n %s frente al sÃ­mbolo Â«%sÂ» no se admite en modo x32%B: reubicaciÃ³n %s frente al sÃ­mbolo Â«%sÂ» el cual quizÃ¡ externamente enlazado no puede ser empleada cuando se cra un objeto compartido; recompile con -fPIC%B: reubicaciÃ³n %s no puede utilizarse cuando se crea un objeto compartido; recompile con -fPIC%B: reubicaciÃ³n %s no puede utilizarse cuando se crea un objeto compartido%B: reubicaciÃ³n R_386_GOTOFF contra %s protegida Â«%sÂ» no puede ser utilizada cuando crea un objeto compartido%B: no se puede usar la reubicaciÃ³n R_386_GOTOFF contra %s indefinida Â«%sÂ» cuando se hace un objeto compartido%B: reubicaciÃ³n R_X86_64_GOTOFF64 contra %s protegida Â«%sÂ» puede no ser empleada cuando crea un objeto compartido%B: no se puede usar la reubicaciÃ³n R_X86_64_GOTOFF64  contra %s indefinida Â«%sÂ» cuando se hace un objeto compartido%B: la reubicaciÃ³n en `%A+%#Lx' referencia al sÃ­mbolo Â«%sÂ» con adiciÃ³n sin cero%B: el tamaÃ±o de reubicaciÃ³n no coincide en %B secciÃ³n %A%B: reubicaciones en la secciÃ³n `%A', pero no tiene contenidos%B: secciÃ³n %A lma %#lx ajustado a %#Lx%B: secciÃ³n %A: desbordamiento superior de segmento de cadenas en el desplazamiento %ld%B: la secciÃ³n `%A' no se puede asignar en el segmento %d%B: nÃºmero de entrada de grupo seccional %u estÃ¡ corrupto%B: sh_link [%d] en la secciÃ³n `%A', es incorrecto%B: sh_link de la secciÃ³n `%A' apunta a la secciÃ³n descartada `%A' de `%B'%B: sh_link de la secciÃ³n `%A' apunta a la secciÃ³n quitada `%A' de `%B'%B: segmento de datos short sobredesbordado (%#Lx >= 0x400000)%B: el tamaÃ±o del campo es cero en el encabezado del Formato de ImportaciÃ³n de Bibliotecas%B: compostura de especulaciÃ³n al sÃ­mbolo dinÃ¡mico %s%B: tamaÃ±o de pila especificado y %s establecido%B: cadena que no termina en null en el fichero objeto ILF.%B: cadena muy larga (%ld caracteres, mÃ¡x 65535)%B: apoyo para dinÃ¡mico local no implementado%B: el sÃ­mbolo Â«%sÂ» tiene un tipo csect %d que no se reconoce%B: el sÃ­mbolo Â«%sÂ» tiene smclas %d que no se reconoce%B: el sÃ­mbolo Â«%sÂ» se requiere pero no estÃ¡ presente%B: tomando la direcciÃ³n de funciÃ³n protegida Â«%sÂ» no puede ser hecha cuando crea una biblioteca compartida%B: el objetivo (%s) de una reubicaciÃ³n %s estÃ¡ en la secciÃ³n de salida equivocada (%s)%B: demasiados registros iniciados: longitud seccional %Ld%B: Demasiadas secciones (%d)%B: demasiadas secciones: %u%B: reubicaciÃ³n tp-relativa contra el sÃ­mbolo dinÃ¡mico %s%B: incapaz de crear secciÃ³n vacÃ­a simulada%B: no se puede llenar DataDictionary[12] porque falta .idata$5%B: no se puede llenar DataDictionary[1] porque falta .idata$2%B: no se puede llenar DataDictionary[1] porque falta .idata$4%B: no se puede llenar DataDictionary[9] porque falta __tls_used%B: no se puede llenar DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] porque falta .idata$6%B: no se puede llenar DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] porque falta .idata$6%B: no se puede encontrar el pegamento ARM Â«%sÂ» para Â«%sÂ»%B: incapaz de encontrar chapa STM32L4XX Â«%sÂ»%B: no se puede encontrar el pegamento THUMB Â«%sÂ» para Â«%sÂ»%B: no se puede encontrar la chapa de VFP11 Â«%sÂ»%B: no se puede encontrar nombre para secciÃ³n vacÃ­a%B: no se puede obtener la secciÃ³n %A descomprimida%B: incapaz de inicializar estado compresivo para secciÃ³n %s%B: incapaz de inicializar estado descompresivo para secciÃ³n %s%B: incapaz de cargar nombre de secciÃ³n COMDAT%B: referencia sin definir al sÃ­mbolo Â«%sÂ»%B: sÃ­mbolo Â«%sÂ» sin definir en la secciÃ³n .opd%B: sÃ­mbolo sin definir en la reubicaciÃ³n R_PPC64_TOCSAVE%B: tipo ATN %Ld inesperado en la parte externa%B: redefiniciÃ³n inesperada del sÃ­mbolo con versiÃ³n indirecta Â«%sÂ»%B: tipo de reubicaciÃ³n %u inesperado en la secciÃ³n .opd%B: tipo inesperado despuÃ©s de ATN%B: reubicaciÃ³n dinÃ¡mica sin manipular contra %s%B: %s sin implementar
+%B: registro ATI %u sin implementar para el sÃ­mbolo %u%B: orden de carga desconocida %#x%B: tipo de reubicaciÃ³n %d desconocido%B: tipo de reubicaciÃ³n %d desconocida para el sÃ­mbolo %s%B: tipo desconocido [%#x] secciÃ³n Â«%sÂ»%B: tipo desconocido [%#x] secciÃ³n Â«%sÂ» en grupo [%A]%B: tipo de reubicaciÃ³n %d desconocida/no admitida%B: nÃºmero reubicante Alpha no reconocido: %d%B: nÃºmero reubicante CR16 no reconocido: %d%B: nÃºmero reubicante CRX no reconocido: %d%B: nÃºmero reubicante I370 no reconocido: %d%B: nÃºmero reubicante MCore no reconocido: %d%B: nÃºmero reubicante MN10300 no reconocido: %d%B: nÃºmero reubicante MicroBlaze no reconocido: %d%B: nÃºmero reubicante PPC no reconocido: %d%B: nÃºmero reubicante PicoJava no reconocido: %d%B: nÃºmero reubicante SH no reconocido: %d%B: nÃºmero reubicante SPU no reconocido: %d%B: nÃºmero reubicante VAX no reconocido: %d%B: reubicaciÃ³n no reconocida (%#x) en la secciÃ³n Â«%AÂ»%B: sÃ­mbolo Â«%sÂ» marcas 0x%x no reconocido%B: llamada no-PIC a IFUNC Â«%sÂ» sin apoyo%B: tipo de reubicaciÃ³n %d no admitido%B: no se admite el tipo de reubicaciÃ³n %i
+%B: no se admite el tipo de reubicaciÃ³n %s%B: tipo de reubicaciÃ³n 0x%02x no admitido%B: tipo de reubicaciÃ³n no admitida: ALPHA_R_GPRELHIGH%B: tipo de reubicaciÃ³n no admitida: ALPHA_R_GPRELLOW%B: secuencia de anchura de carÃ¡cter 0x%02X 0x%02X tras nombre simbÃ³lico iniciada con Â«%sÂ» no admitida
+%B: emplea %s instrucciones mientras que mÃ³dulos anteriores emplean %s instrucciones%B: se usan sÃ­mbolos _-prefijo, pero escribiÃ©ndo el fichero con sÃ­mbolos sin prefijo%B: emplea diferentes campos e_flags (%#x) que mÃ³dulos (%#x) anteriores%B: emplea campos e_flags (%#x) desconocidos diferentes a aquellos de los mÃ³dulos previos (%#x)%B: utiliza instrucciones las cuales son incompatibles con instrucciones utilizadas en mÃ³dulos previos%B: se usan sÃ­mbolos sin prefijo, pero se escribe el fichero con sÃ­mbolos con _-prefijo%B: contador de versiÃ³n (%Ld) no coincide con la cuenta simbÃ³lica (%ld)%B: no se encuentra la versiÃ³n del nodo para el sÃ­mbolo %s%B: visibilidad de sÃ­mbolo Â«%sÂ» ha modificado.%B: aviso de fichero core truncado%B: aviso: %A: desbordamiento de nÃºmero de lÃ­nea: %#x > 0xffff%B: aviso: %s apunta a reloc no reconocido en %#Lx%B: aviso: reubicaciÃ³n %s frente a sÃ­mbolo Â«%sÂ» desde secciÃ³n %A%B: aviso: reubicaciÃ³n %s a %#Lx desde secciÃ³n %A%B: aviso: %s: desbordamiento de nÃºmero de lÃ­nea: 0x%lx > 0xffff%B: aviso: el sÃ­mbolo COMDAT Â«%sÂ» no coincide con el nombre seccional Â«%sÂ»%B: aviso: Se detectÃ³ un segmento cargable vacÃ­o en vaddr=%#Lx, Â¿esto es intencional?%B: aviso: Coincidencia endian con mÃ³dulos previos.%B: aviso: la adiciÃ³n GOT de %Ld a Â«%sÂ» no coincide con la adiciÃ³n previa GOT de %Ld%B: aviso: versiones elf incompatibles %s y %s.%B: aviso: ASEs inconsistentes entre e_flags y .MIPS.abiflags%B: aviso: ABI FP inconsistente entre .gnu.attributes y .MIPS.abiflags%B: aviso: ISA inconsistente entre e_flags y .MIPS.abiflags%B: aviso: Extensiones ISA inconsistente entre e_flags y .MIPS.abiflags%B: aviso: ningÃºn sÃ­mbolo para secciÃ³n Â«%sÂ» encontrado%B: aviso: versiÃ³n de fichero objeto anterior encontrado, por favor recompile con la cadena de herramientas actuales.%B: aviso: adiciÃ³n PLT de %Ld a Â«%sÂ» desde secciÃ³n %A ignorada%B: aviso: Marca inesperada den el campo flags2 de  .MIPS.abiflags (0x%lx)%B: aviso: secciÃ³n asignada Â«%sÂ» no dentro del segmento%B: aviso: se crea un R_NDS32_25_ABS_RELA en un objeto compartido.%B: aviso: reclama tener reubicados 0xffff, sin desbordamiento superior%B: aviso: informaciÃ³n de nÃºmeros de lÃ­nea duplicada para Â«%sÂ»%B: aviso: sÃ­mbolos ilegal en la entrada del nÃºmero de lÃ­nea %d%B: aviso: Ã­ndice de sÃ­mbolos %ld ilegal en reubicaciones%B: aviso: Ã­ndice simbÃ³lico 0x%ld ilegal en las entradas del nÃºmero de lÃ­nea %d%B: aviso: isymMax (%ld) es mayor que ifdMax (%ld)%B: aviso: contador de nÃºmero de lÃ­nea (%#lx) excede el tamaÃ±o (%#lx) de la secciÃ³n%B: aviso: lectura de segmento de nÃºmeros de lÃ­nea fallada%B: aviso: se enlazan ficheros PIC con ficheros que no son PIC%B: aviso: se enlazan ficheros de llamadas ABI con ficheros que no son de llamadas ABI%B: aviso: bucle dentro de dependencias de secciÃ³n detectadas%B: aviso: mÃºltiples tablas sÃ­mbÃ³licas dinÃ¡micas detectadas - ignorando el segmento en secciÃ³n %u%B: aviso: mÃºltiples segmento simbÃ³licos detectados - ignorando el segmento en secciÃ³n %u%B: aviso: reubicaciÃ³n SDA_BASE fallada.%B: aviso: alineamiento de segmento de %#Lx es demasiado grande%B: aviso: no se necesita la alternativa para evitar la errata del STM32L4XX seleccionado para arquitectura objetivo%B: aviso: no se necesita la alternativa para evitar la errata del VFP11 seleccionado para la arquitectura objetivo%B: aviso: no se estableciÃ³ sh_link para la secciÃ³n `%A'%B: aviso: segmento simbÃ³lico es muy grande para mmo, mÃ¡s grande que 65535 words de 32-bit: %d.  Solamente serÃ¡ emitida `Main'.
+%B: aviso: acceso no alineado a la entrada GOT.%B: aviso: acceso de datos pequeÃ±o desalineados para entradas: {%Ld, %Ld, %Ld}, direc = %#Lx, alineam = %#x%B: aviso: atributo de objeto EABI %d desconocido%B: no resolverÃ¡ reubicaciÃ³n TLS en tiempo de ejecuciÃ³n%B:%A%s excede el tamaÃ±o de sobreescritura
+%B:%A: %s y %s debe estar en la misma secciÃ³n de entrada%B:%A: Aviso: reubicaciÃ³n Red Hat obsoleta %B:%A: error: referencias simbÃ³licas %s reubicadas las cuales fueron quitadas para colecciÃ³n de basura.%B:%A: error: intente reenlazar con --gc-keep-exported activado.%B:%A: segmento %s requiere correspondiente ausente %d%B:%A: entrada de tabla %s no alineada por palabra dentro de tabla%B:%A: entrada de mesa %s fuera de mesa%B:%d: EquivocaciÃ³n de suma comprobante en el fichero S-record
+%B:%d: CarÃ¡cter Â«%sÂ» inesperado en el fichero S-record
+%B:%d: contador de byte %d demasiado pequeÃ±o
+%B:%d: carÃ¡cter Â«%sÂ» inesperado en el fichero Hex Intel%B:%s tiene ambas reubicaciones normal y TLS%B:%s secciÃ³n %s: alineamiento 2**%u no representable%B:%u: equivocaciÃ³n de comprobaciÃ³n sumatoria en el fichero Hex Intel (se esperaba %u, se obtuvo %u)%B:%u: equivocaciÃ³n de longitud de registro de direcciÃ³n extendida en el fichero Hex Intel%B:%u: equivocaciÃ³n de longitud de registro de direcciÃ³n lineal extendida en el fichero Hex Intel%B:%u: equivocaciÃ³n de longitud de direcciÃ³n de inicio lineal extendida en el fichero Hex Intel%B:%u: equivocaciÃ³n de longitud de direcciÃ³n de inicio extendida en el fichero Hex Intel%B:%u: no se reconoce el tipo ihex %u en el fichero Hex Intel%C: aviso: la reubicaciÃ³n de Â«%sÂ» referencÃ­a un segmento diferente
+%F%A: fallÃ³ para alinear secciÃ³n
+%F%B: desplazamiento PC-relativo desborda por encima el asiento GOT PLT para `%s'
+%F%B: desbordamiento superior de desplazamiento relativo Pc dentro e asiento PLT para Â«%sÂ»
+%F%B: desbordamiento superior de rama desplazada en entrada PLT para Â«%sÂ»
 %F%P: already_linked_table: %E
-%F%P: el sÃ­mbolo STT_GNU_IFUNC dinÃ¡mico `%s' con igualdad de puntero en `%B' no se puede usar al hacer un ejecutable; recompile con -fPIE y reenlace con -pie
+%F%P: error de sobrecarga automÃ¡tica: %E
+%F%P: no se puede construir sobrecarga de cabos %E
+
+%F%P: entrada corrupta: %B
+%F%P: el sÃ­mbolo STT_GNU_IFUNC dinÃ¡mico Â«%sÂ» con igualdad de puntero en `%B' no se puede usar al hacer un ejecutable; recompile con -fPIE y reenlace con -pie
+%F%P: fallado al convertir reubicaciÃ³n GOTPCREL; renlaza con --no-relax
+%F%P: fallado al crear secciÃ³n BND PLT
+%F%P: fallado al crear secciÃ³n propietaria GNU
+%F%P: fallado al crear secciÃ³n GOT PLT .eh_frame
+%F%P: fallado al crear secciÃ³n GOT PLT
+%F%P: fallado al crear secciÃ³n GOT
+%F%P: fallado al crear secciÃ³n PLT IBT-activo
+%F%P: fallado al crear secciÃ³n PLT .eh_frame
+%F%P: fallado al crear secciones dinÃ¡micas VxWorks
+%F%P: fallado al crear secciÃ³n ifunc
+%F%P: fallado al crear secciÃ³n PLT .eh_frame
 %H se perdiÃ³ el argumento __tls_get_addr, se desactiva la optimizaciÃ³n TLS
 %H el argumento perdiÃ³ __tls_get_addr, se desactiva la optimizaciÃ³n TLS
+%H: %s frente a `%T': error %d
+%H: %s para funciÃ³n `%T' indirecta no admitida
+
+%H: reubicaciones %s optimizada externa a entrada TOC
+%H: reubicaciÃ³n contra Â«%sÂ»: error %d
+%H: %s reubica frente al sÃ­mbolo local
+%H: %s reubicaciÃ³n no soportada en bibliotecas compartidas y varios PIE.
+%H: %s empleado con sÃ­mbolo TLS `%T'
+%H: %s empleado con sÃ­mbolo no-TLS `%T'
 %H: R_FRV_FUNCDESC referencÃ­a un sÃ­mbolo dinÃ¡mico con adiciÃ³n que no es cero
 %H: R_FRV_FUNCDESC_VALUE referencÃ­a un sÃ­mbolo dinÃ¡mico con adiciÃ³n que no es cero
-%H: no se aplicÃ³ R_FRV_GETTLSOFF a una instrucciÃ³n call
-%H: no se aplicÃ³ R_FRV_GETTLSOFF_RELAX a una instrucciÃ³n calll
-%H: no se aplicÃ³ R_FRV_GOTTLSDESC12 a una instrucciÃ³n lddi
-%H: no se aplicÃ³ R_FRV_GOTTLSDESCHI a una instrucciÃ³n sethi
-%H: no se aplicÃ³ R_FRV_GOTTLSDESCLO a una instrucciÃ³n setlo o setlos
-%H: no se aplicÃ³ R_FRV_GOTTLSOFF12 a una instrucciÃ³n ldi
-%H: no se aplicÃ³ R_FRV_GOTTLSOFFHI a una instrucciÃ³n sethi
-%H: no se aplicÃ³ R_FRV_GOTTLSOFFLO a una instrucciÃ³n setlo o setlos
-%H: no se aplicÃ³ R_FRV_GOTTLSDESC_RELAX a una instrucciÃ³n ldd
-%H: no se aplicÃ³ R_FRV_TLSMOFFHI a una instrucciÃ³n sethi
-%H: no se aplicÃ³ R_FRV_TLSOFF_RELAX a una instrucciÃ³n ld
+%H: no aplicado R_FRV_GETTLSOFF a una instrucciÃ³n call
+%H: no aplicado R_FRV_GETTLSOFF_RELAX a una instrucciÃ³n calll
+%H: no aplicado R_FRV_GOTTLSDESC12 a una instrucciÃ³n lddi
+%H: no aplicado R_FRV_GOTTLSDESCHI a una instrucciÃ³n sethi
+%H: no aplicado R_FRV_GOTTLSDESCLO a una instrucciÃ³n setlo o setlos
+%H: no aplicado R_FRV_GOTTLSOFF12 a una instrucciÃ³n ldi
+%H: no aplicado R_FRV_GOTTLSOFFHI a una instrucciÃ³n sethi
+%H: no aplicado R_FRV_GOTTLSOFFLO a una instrucciÃ³n setlo o setlos
+%H: no aplicado R_FRV_GOTTLSDESC_RELAX a una instrucciÃ³n ldd
+%H: no aplicado R_FRV_TLSMOFFHI a una instrucciÃ³n sethi
+%H: no aplicado R_FRV_TLSOFF_RELAX a una instrucciÃ³n ld
+%H: llama a Â«%TÂ» le falta nop, no puede restaurar toc; (-mcmodel=small toc ajusta cabo)
+%H: llamar a`%T' falta nop, no puede restaurar toc; recompile con -fPIC
 %H: no se pueden emitir reubicaciones dinÃ¡micas en la secciÃ³n de sÃ³lo lectura
 %H: no se pueden emitir composturas en la secciÃ³n de sÃ³lo lectura
-%H: la reubicaciÃ³n contra `%s' referencÃ­a un segmento diferente
-%H: reubicaciÃ³n contra `%s': %s
-%H: la reubicaciÃ³n referencÃ­a un sÃ­mbolo que no estÃ¡ definido en el mÃ³dulo
+%H: error: %s frente a Â«%sÂ» no un mÃºltiplo de %u
+%H: error: %s no un mÃºltiplo de %u
+%H: reparar desbordamiento superior de rama 
+%H: adiciÃ³n distinta de cero en reubicaciÃ³n %s contra Â«%sÂ»
+%H: la reubicaciÃ³n contra Â«%sÂ» referencÃ­a un segmento diferente
+%H: reubicaciÃ³n contra Â«%sÂ»: %s
+%H: reubicaciÃ³n %s para funciÃ³n indirecta %s no admitida
+%H: la reubicaciÃ³n referencia un sÃ­mbolo que no estÃ¡ definido en el mÃ³dulo
 %H: la reubicaciÃ³n a `%s+%v' tal vez causÃ³ el error anterior
+%H: optimizaciÃ³n toc no estÃ¡ admitida para instrucciÃ³n %s.
+%H: irresoluble %s frente a `%T'
+%H: reubicaciÃ³n %s irresoluble frente a sÃ­mbolo `%s'
+%H: aviso: %s inesperado ins %#x.
 %P%F: --relax y -r no se pueden usar juntos
 %P%X: no se pueden leer sÃ­mbolos: %E
+%P%X: segmento de sÃ³lo lectura tiene reubicaciones dinÃ¡micas IFUNC; recompile con -fPIC
 %P%X: un segmento de sÃ³lo lectura tiene reubicaciones dinÃ¡micas.
+%P: %B .opd no permitido dentro de versiÃ³n ABI %d
+%P: %B: %s no estÃ¡ apoyado para `%T'
 %P: %B: no se puede crear la entrada de cabo %s
-%P: %B: no se admite la reubicaciÃ³n %s para el sÃ­mbolo %s
 %P: %B: la reubicaciÃ³n %s aÃºn no se admite para el sÃ­mbolo %s
 %P: %B: el objetivo (%s) de una reubicaciÃ³n %s estÃ¡ en la secciÃ³n de salida errÃ³nea (%s)
 %P: %B: tipo de reubicaciÃ³n inesperado
+%P: %B: tipo de reubicaciÃ³n %d desconocido para `%T'
 %P: %B: tipo de reubicaciÃ³n %d desconocida para el sÃ­mbolo %s
-%P: %B: aviso: reubicaciÃ³n contra `%s' en la secciÃ³n de sÃ³lo lectura `%A'.
-%P: %B: aviso: reubicaciÃ³n en la secciÃ³n de sÃ³lo lectura `%A'.
-%P: %H: reubicaciÃ³n %s contra `%s': error %d
-%P: %H: reubicaciÃ³n %s contra un sÃ­mbolo local
-%P: %H: la reubicaciÃ³n %s referencÃ­a una entrada TOC optimizada por fuera
-%P: %H: se usÃ³ %s con el sÃ­mbolo TLS %s
-%P: %H: se usÃ³ %s con el sÃ­mbolo %s que no es TLS
-%P: %H: no se admiten los TOCs mÃºltiples automÃ¡ticos, utilizando sus ficheros crt; recompile con -mminimal-toc o actualice gcc
-%P: %H: error: %s no es un mÃºltiplo de %u
-%P: %H: adiciÃ³n que no es cero en la reubicaciÃ³n %s contra `%s'
-%P: %H: no se admite la reubicaciÃ³n %s para la funciÃ³n indirecta %s
-%P: %H: la optimizaciÃ³n de llamada hermana a `%s' no permite TOCs mÃºltiples automÃ¡ticos; recompile con -mminimal-toc Ã³ -fno-optimize-sibling-calls, o vuelva `%s' externa
-%P: %H: reubicaciÃ³n %s sin resoluciÃ³n contra el sÃ­mbolo `%s'
+%P: %B: aviso: reubicaciÃ³n contra Â«%sÂ» en secciÃ³n `%A' de sÃ³lo lectura
+%P: %B: aviso: reubicaciÃ³n en secciÃ³n de sÃ³lo lectura `%A'
 %P: no se definiÃ³ %s en el %s creado por el enlazador
-%P: el desplazamiento %s es demasiado grande para la codificaciÃ³n sdata4 .eh_frame%P: DW_EH_PE_datarel sin especificar para esta arquitectura.
+%P: el desplazamiento %s es demasiado grande para la codificaciÃ³n sdata4 .eh_frame%P: desbordamiento superior de asiento .eh_frame_hdr.
+%P: .eh_frame_hdr refiere a superponiendo varios FDE.
+%P: DW_EH_PE_datarel sin especificar para esta arquitectura.
+%P: codificaciÃ³n FDE en %B(%A) previene creaciÃ³n de distribuciÃ³n .eh_frame_hdr.
+%P: la codificaciÃ³n FDE en %B(%A) previene la creaciÃ³n del segmento .eh_frame_hdr.
 %P: se encontrÃ³ cÃ³digo mÃ¡quina ELF alternativo (%d) en %B, se espera %d
 %P: se fuerza bss-plt por anÃ¡lisis de perfil
 %P: se fuerza bss-plt debido a %B
-%P: no se puede construir la ramificaciÃ³n de cabos `%s'
-%P: no se puede encontrar la ramificaciÃ³n de cabo `%s'
-%P: no se puede encontrar la tabla de contenidos de la entrada opd para %s
-%P: la reubicaciÃ³n de copia contra `%s' requiere de enlazado plt flojo; evite establecer LD_BIND_NOW=1 o actualice gcc
-%P: la variable dinÃ¡mica `%s' es de tamaÃ±o cero
+%P: no se puede construir la ramificaciÃ³n de cabos Â«%sÂ»
+%P: no se puede encontrar la ramificaciÃ³n de cabo Â«%sÂ»
+%P: no se puede encontrar la entrada opd toc para `%T'
+%P: reubicaciÃ³n copiada contra Â«%TÂ» requiere de enlazado plt flojo; evite establecer LD_BIND_NOW=1 o modernice gcc
+%P: copiar reubicaciÃ³n frente a Â«%TÂ» protegido es peligroso
 %P: cuenta errÃ³nea de la reubicaciÃ³n dinÃ¡mica de %B, secciÃ³n %A
-%P: error en %B(%A); no se crearÃ¡ la tabla .eh_frame_hdr.
-%P: la codificaciÃ³n fde en %B(%A) previene la creaciÃ³n de la tabla .eh_frame_hdr.
-%P: error de la tabla de enlazado contra `%s'
-%P: desbordamiento del desplazamiento de stub de ramificaciÃ³n long `%s'
+%P: error en %B(%A); no se crearÃ¡ el segmento .eh_frame_hdr.
+%P: error del segmento enlazada frente a `%T'
+%P: desbordamiento del desplazamiento de stub de ramificaciÃ³n long Â«%sÂ»
 %P: puntos de entrada mÃºltiples: en los mÃ³dulos %B y %B
 %P: no se admite el enlace reubicable
 %P: los cabos no coinciden con el tamaÃ±o calculado
+%P: sÃ­mbolo Â«%sÂ» tiene st_other invÃ¡lido para versiÃ³n ABI 1
+%P: aviso: --plt-localentry es especialmente peligroso sin compatibilidad ld.so para detectar violaciones ABI.
+ 
 %P: aviso: se crea un DT_TEXTREL en un objeto compartido.
-%X%C: la reubicaciÃ³n de "%s" referencÃ­a un segmento diferente
-%X%P: la secciÃ³n de sobreescritura %A no inicia en una lÃ­nea de cachÃ©.
+%P: aviso:reubicaciones textuales y funciones indirectas GNU quizÃ¡ resulten dentro de un fallo segmental en tiempo de ejecuciÃ³n
+%X%C: la reubicaciÃ³n de Â«%sÂ» referencÃ­a un segmento diferente
+%X%H: llamada @local a ifunc %s
+%X%H: no puede convertir rama entre modos ISA a JALX: reubicando fuera de lÃ­mite
+%X%H: JALX no soportado para el mismo modo ISA
+%X%H: rama no soportada entre modos ISA
+%X%H: omisiÃ³n no permitido entre modos ISA; considere recompilar con el entrelazado activado
+%X%H: bss-plt no soportado -fPIC ifunc %s
+%X%P: %B(%A): error: reubicaciÃ³n para desplazamiento %V no tiene ningÃºn valor
+%X%P: %B(%A): reubicaciÃ³n Â«%RÂ» sale del rango
+%X%P: %B(%A): reubicaciÃ³n Â«%RÂ» no estÃ¡ soportado
+%X%P: %B(%A): reubicaciÃ³n Â«%RÂ» devuelve un valor no reconocido %x
+%X%P: la secciÃ³n de sobrescritura %A no inicia en una lÃ­nea de cachÃ©.
 %X%P: la secciÃ³n de sobreescritura %A es mÃ¡s grande que una lÃ­nea de cachÃ©.
 %X%P: la secciÃ³n de sobreescritura %A no estÃ¡ en el Ã¡rea de cachÃ©.
 %X%P: las secciones de sobreescritura %A y %A no inician en la misma direcciÃ³n.
+%X%P: pila/lrlive error de anÃ¡lisis: %E
+%X%P: reubicaciones textuales y funciones indirectas GNU resultarÃ¡n dentro de un fallo de segmento en tiempo de ejecuciÃ³n
 %X`%s' referido en la secciÃ³n `%A' de %B: se definiÃ³ en la secciÃ³n descartada `%A' de %B
 se definiÃ³ %s en la entrada toc eliminada%s duplicado
 %s duplicado en %s
-%s en la secciÃ³n de sobreescritura%s(%s): la reubicaciÃ³n %d tiene un Ã­ndice de sÃ­mbolo %ld invÃ¡lido%s: %s: desbordamiento de reubicaciÃ³n: 0x%lx > 0xffff%s: 0x%v 0x%v
-%s: DefiniciÃ³n de sÃ­mbolo errÃ³nea: `Main' se estableciÃ³ como %s en lugar de la direcciÃ³n de inicio %s
-%s: Error: definiciÃ³n mÃºltiple de `%s'; el inicio de %s estÃ¡ definido en un fichero enlazado con anterioridad
-%s: error de GAS: insn PTB inesperada con R_SH_PT_16%s: Error de inconsistencia interna para el valor para
- un registro global colocado por el enlazador: enlazado: 0x%lx%08lx != relajado: 0x%lx%08lx
-%s: Se exportÃ³ un tipo de reubicaciÃ³n invÃ¡lido: %d%s: directiva LOCAL: El registro $%ld no es un registro local.  El primer registro global es $%ld.%s: Se detectÃ³ una reubicaciÃ³n malformada para la secciÃ³n %s%s: No hay core para asignar un sÃ­mbolo de %d bytes de longitud
-%s: No hay core para asignar el nombre de secciÃ³n %s
-%s: la definiciÃ³n TLS en %B secciÃ³n %A no coincide con la definiciÃ³n que no es TLS en %B secciÃ³n %A%s: la definiciÃ³n TLS en %B secciÃ³n %A no coincide con la referencia que no es TLS en %B%s: la referencia TLS en %B no coincide con la definiciÃ³n que no es TLS en %B secciÃ³n %A%s: la referencia TLS en %B no coincide con la referencia que no es TLS en %B%s: reubicaciÃ³n de TOC en 0x%x al sÃ­mbolo `%s' sin entrada TOC%s: El objetivo (%s) de una reubicaciÃ³n %s estÃ¡ en la secciÃ³n errÃ³nea (%s)%s: objeto compartido XCOFF cuando no se produce salida XCOFF%s: __gp no cubre el segmento de datos short%s: acceso mÃ¡s allÃ¡ del final de la secciÃ³n mezclada (%ld)%s: la direcciÃ³n 0x%s estÃ¡ fuera de rango en el fichero Hexadecimal de Intel%s: reubicaciÃ³n base-mÃ¡s-desplazamiento contra un sÃ­mbolo de registro: %s en %s%s: reubicaciÃ³n base-mÃ¡s-desplazamiento contra un sÃ­mbolo de registro: (desconocido) en %s%s: no se puede representar la secciÃ³n `%s' en el formato de fichero objeto a.out%s: no se puede representar la secciÃ³n `%s' en oasys%s: no se puede representar la secciÃ³n para el sÃ­mbolo `%s' en el formato de fichero objeto a.out%s: no se puede asignar el nombre de fichero para el nÃºmero de fichero %d, %d bytes
-%s: no se puede crear la entrada de cabo %s%s: no se puede enlazar el fichero objeto fdpic en un ejecutable que no es fdpic%s: no se puede enlazar el fichero objeto que no es fdpic en un ejecutable fdpic%s: compilado como un objeto de 32-bit y %s es de 64-bit%s: compilado como un objeto de 64-bit y %s es de 32-bit%s: compilado con %s y enlazado con mÃ³dulos compilados con %s%s: compilado con %s y enlazado con mÃ³dulos que usan reubicaciones que no son pic%s: no se pueden escribir las entradas .cranges agregadas%s: no se pueden escribir las entradas .cranges ordenadas%s: la directiva LOCAL sÃ³lo es vÃ¡lida con un registro o un valor absoluto%s: objeto dinÃ¡mico sin secciÃ³n .loader%s: se encontrÃ³ un sÃ­mbolo datalabel en la entrada%s: error: tipo de reubicaciÃ³n %d sin alinear en %08x reubicaciÃ³n %08x
-%s: nombre de secciÃ³n `%s' ilegal%s: error interno, la secciÃ³n interna de registros %s tiene contenido
-%s: error interno, la tabla de sÃ­mbolos cambiÃ³ de tamaÃ±o de %d a %d words
-%s: fichero mmo invÃ¡lido: YZ de lop_end (%ld) no es igual al nÃºmero de tetras del lop_stab precedente (%ld)
-%s: fichero mmo invÃ¡lido: se esperaba YZ = 1 se obtuvo YZ = %d para lop_quote
-%s: fichero mmo invÃ¡lido: se esperaba y = 0, se obtuvo y = %d para lop_fixrx
-%s: fichero mmo invÃ¡lido: se esperaba z = 1 Ã³ z = 2, se obtuvo z = %d para lop_fixo
-%s: fichero mmo invÃ¡lido: se esperaba z = 1 Ã³ z = 2, se obtuvo z = %d para lop_loc
-%s: fichero mmo invÃ¡lido: se esperaba z = 16 Ã³ z = 24, se obtuvo z = %d para lop_fixrx
-%s: fichero mmo invÃ¡lido: los campos y y z de lop_stab no son cero, y: %d, z: %d
-%s: fichero mmo invÃ¡lido: no se especificÃ³ un nombre de fichero para el nÃºmero %d antes de utilizarse
-%s: fichero mmo invÃ¡lido: el nÃºmero de fichero %d `%s' ya se habÃ­a introducido como `%s'
-%s: fichero mmo invÃ¡lido: el valor de iniciaciÃ³n para $255 no es `Main'
-%s: fichero mmo invÃ¡lido: el byte inicial del operando word debe ser 0 Ã³ 1, se obtuvo %d para lop_fixrx
-%s: fichero mmo invÃ¡lido: lop_end no es el Ãºltimo elemento en el fichero
-%s: fichero mmo invÃ¡lido: no se admite el cÃ³digo de operaciÃ³n-l `%d'
-%s: direcciÃ³n de inicio invÃ¡lida para los registros inicializados de longitud %ld: 0x%lx%08lx
-%s: tabla de sÃ­mbolos invÃ¡lida: sÃ­mbolo `%s' duplicado
-%s: desbordamiento de nÃºmero de lÃ­nea: 0x%lx > 0xffff%s: no hay registros iniciados; longitud de secciÃ³n 0
-%s: no hay tal sÃ­mbolo%s: sin implementar%s: no se admite%s: el tamaÃ±o del objeto no coincide con el tamaÃ±o del objetivo %s%s: reubicaciÃ³n de registro contra un sÃ­mbolo que no es registro: %s en %s%s: reubicaciÃ³n de registro contra un sÃ­mbolo que no es registro: (desconocido) en %s%s: no se admite el enlace reubicable de %s a %s%s: segmento de datos short desbordado (0x%lx >= 0x400000)%s: la cadena es demasiado larga (%d caracteres, mÃ¡ximo 65535)%s: demasiados registros iniciados: longitud de secciÃ³n %ld
-%s: versiÃ³n sin definir: %s%s: tipo de reubicaciÃ³n %d desconocido%s: no se reconoce el sÃ­mbolo `%s' opciones 0x%x%s: no se admite el tipo de reubicaciÃ³n 0x%02x%s: no se admite la secuencia de caracteres anchos 0x%02X 0x%02X despuÃ©s del nombre de sÃ­mbolo que inicia con `%s'
-%s: usa campos de e_flags diferentes (0x%lx) que los mÃ³dulos previos (0x%lx)%s: usa campos e_flags desconocidos (0x%lx) diferentes a aquÃ©llos de los mÃ³dulos previos (0x%lx)%s: la cuenta de versiÃ³n (%ld) no coincide con la cuenta de sÃ­mbolos (%ld)%s: aviso de fichero core trunco%s: aviso: reubicaciÃ³n %s contra el sÃ­mbolo `%s' de la secciÃ³n %s%s: aviso: reubicaciÃ³n %s a 0x%x de la secciÃ³n %s%s: aviso: %s: desbordamiento de nÃºmero de lÃ­nea: 0x%lx > 0xffff%s: aviso: la adiciÃ³n GOT de %ld a `%s' no coincide con la adiciÃ³n previa GOT de %ld%s: aviso: se descarta la adiciÃ³n PLT de %d a `%s' de la secciÃ³n %s%s: aviso: Ã­ndice de sÃ­mbolos %ld ilegal en reubicaciones%s: aviso: la tabla de sÃ­mbolos es demasiado grande para mmo, es mÃ¡s grande que 65535 words de 32-bit: %d. SÃ³lo se emitirÃ¡ `Main'.
-(en el despl de bit %u)
+%s tiene ambas reubicaciones normal y TLS%s en la secciÃ³n de sobreescritura%s: la definiciÃ³n TLS en %B secciÃ³n %A no coincide con la definiciÃ³n que no es TLS en %B secciÃ³n %A%s: la definiciÃ³n TLS en %B secciÃ³n %A no coincide con la referencia que no es TLS en %B%s: la referencia TLS en %B no coincide con la definiciÃ³n que no es TLS en %B secciÃ³n %A%s: la referencia TLS en %B no coincide con la referencia que no es TLS en %B%s: no hay tal sÃ­mbolo%s: sin implementar%s: no se admite%s: versiÃ³n sin definir: %s(en el despl de bit %u)
 (descriptor)
+(formato %c%c%c%c signatura %s envejecimiento %ld)
 (sin valor)
 (no activo)
-(sin ubicar)
+(sin ubicado)
 (reg: %u, disp: %u, indir: %u, gÃ©nero: (datos thread-local demasiado grandes para -fpic o -msmall-tls: recompile con -fPIC o -mno-small-tls)(demasiadas variables globales para -fpic: recompile con -fPIC)(valor restante)
 (valor spec a continuaciÃ³n)
 )
 *** revisar esta reubicaciÃ³n %s*sin manejar*
 tipo dst %u *sin manejar*
-*desconocido**desconocido*    , alias: %u
+*desconocido**desconocido*    , Valor: %#08lx
+, alias: %u
 , ext comp despl: %u, no_opt desp psect: %u, subtipo: %u (%s)
-  vector sÃ­mbolo rva: la secciÃ³n .got no estÃ¡ inmediatamente despuÃ©s de la secciÃ³n .pltdoble de 32-bit, la reubicaciÃ³n relativa a gp de 32bits sucede para un sÃ­mbolo externo64 bits *sin manejar*
-doble de 64-bit, : %u.%u
-: instrucciones m32r: instrucciones m32r2: instrucciones m32rx; recompile con -fPIC<No se reconoce el conjunto de bits de opciÃ³n><desconocido>reubicaciÃ³n @pltoff contra un sÃ­mbolo localEl archivo no tiene Ã­ndice; ejecute ranlib para agregar unoArchivo de ficheros objeto en formato errÃ³neoFallÃ³ el intento de convertir L32R/CALLX a CALLSe intentÃ³ hacer un enlace reubicable con entrada %s y salida %sIMAGEN_BASE      fallÃ³ la aseveraciÃ³n BFD %s %s:%derror interno de BFD %s, se aborta en %s lÃ­nea %d
-error interno de BFD %s, se aborta en %s lÃ­nea %d en %s
-Error de Enlazado BFD: no se admite la ramificaciÃ³n (PC rel16) a la secciÃ³n (%s)Error de Enlazado BFD: no se admite el salto (PC rel26) a la secciÃ³n (%s)Valor errÃ³neoDirectorio de ReubicaciÃ³n Base [.reloc]Directorio de ImportaciÃ³n de RelacionesLÃ­mites:
-CLIEncabezado de Tiempo de EjecuciÃ³n CLRADMBLOQ_CLUSTERS CONTADORES       CPU              CTL_AUGRB (aumenta base de reubicaciÃ³n) %u
+, vector sÃ­mbolo rva: - %B es 64-bit, %B no lo es-mips32r2 -mfp64 (12 llamadas-guardadas)la secciÃ³n .got no estÃ¡ inmediatamente despuÃ©s de la secciÃ³n .pltfallo de mezcla .rsrc: un directorio coincide con una hojafallo de mezcla .rsrc: versiones de directorio diferentes
+fallo de mezcla .rsrc: dirs con caracterÃ­sticas diferentes
+fallo de mezcla .rsrc: hoja duplicadafallo de mezcla .rsrc: hoja duplicada: %s.rsrc uniÃ³n fallado: recurso de cadena duplicada: %duniÃ³n .rsrc fallada: mÃºltiples manifestaciones no-predeterminadasdoble de 32-bit, la reubicaciÃ³n relativa a gp de 32bits sucede para un sÃ­mbolo externo4-byte4-bytes64 bits *inmanipulado*
+doble de 64-bit, 8-byte8-bytes: instrucciones m32r: instrucciones m32r2: instrucciones m32rx: instrucciones ni: instrucciones n1h; recompile con -fPIC<No se reconoce el conjunto de bits de opciÃ³n><corrupto info> %s<anchura corrupta: %#x>
+<cadena desplz corrupto: %#lx>
+<corrupto><tipo directivo desconocido: %d>
+<desconocido>reubica @pltoff contra sÃ­mb. localArchivo no tiene Ã­ndice; ejecute ranlib para aÃ±adir unoArchivo de ficheros objeto en formato equivocadoFallÃ³ el intento de convertir L32R/CALLX a CALLSe intentÃ³ hacer un enlace reubicable con entrada %s y salida %sIMAGEN_BASE      FallÃ³ la aseveraciÃ³n BFD %s %s:%dError interno %s BFD: se aborta en %s:%d
+Error interno %s BFD: se aborta en %s:%d en %s
+
+Error de Enlazado BFD: no se admite la ramificaciÃ³n (PC rel16) a la secciÃ³n (%s)Error de Enlazado BFD: no se admite el salto (PC rel26) a la secciÃ³n (%s)Valor equivocadoDirectorio de ReubicaciÃ³n Base [.reloc]Directorio de ImportaciÃ³n de RelacionesLÃ­mites:
+Rama a una direcciÃ³n que no estÃ¡ alineada con instrucciÃ³nEmpleo de cachÃ©: CLIEncabezado de Tiempo de EjecuciÃ³n CLRADMBLOQ_CLUSTERS CONTADORES       CPU              CTL_AUGRB (aumenta base de reubicaciÃ³n) %u
 CTL_DFLOC (define ubicaciÃ³n)
 CTL_SETRB (define base de reubicaciÃ³n)
 CTL_STKDL (ubicaciÃ³n definida de pila)
 CTL_STLOC (establece ubicaciÃ³n)
-Encabezado de Copyright
-no coincide el uso de DIV entre %B y %BDST__K_BEG_STMT_MODE sin implementarDST__K_END_STMT_MODE sin implementarDST__K_RESET_LINUM_INCR sin implementarDST__K_SET_LINUM_INCR sin implementarDST__K_SET_LINUM_INCR_W sin implementarDST__K_SET_PC sin implementarDST__K_SET_PC_L sin implementarDST__K_SET_PC_W sin implementarDST__K_SET_STMTNUM sin implementarDirectorio de DepuraciÃ³nTabla de mÃ³dulos de depuraciÃ³n
-Tabla de sÃ­mbolos de depuraciÃ³n:
+No puede convertir una rama a JALX para una direcciÃ³n no estÃ¡ alineada con wordNo puede convertir una omisiÃ³n a JALX para una direcciÃ³n que no estÃ¡ alineada con wordEncabezado Copyright
+Â¡Detectada secciÃ³n .rsrc corrupta!
+
+Registro corrupto EEOM - tamaÃ±o es demasiado pequeÃ±oRegistro corrupto EGSD: su campo â€˜psindxâ€™ es demasiado grande (%#lx)Registro corrupto EGSD: su tamaÃ±o (%#x) es demasiado pequeÃ±oRegistro corrupto EGSD: tamaÃ±o (%#x) es mayor que el espacio restante (%#x)Registro corrupto EGSD: tamaÃ±o (%#x) es demasiado pequeÃ±oRegistro corrupto EIHD - tamaÃ±o es demasiado pequeÃ±oEncontrado registro ETIR corruptoValor vms corruptoDSO faltante desde lÃ­nea de ordenDST__K_BEG_STMT_MODE no implementadoDST__K_END_STMT_MODE no implementadoDST__K_RESET_LINUM_INCR no implementadoDST__K_SET_LINUM_INCR no implementadoDST__K_SET_LINUM_INCR_W no implementadoDST__K_SET_PC no implementadoDST__K_SET_PC_L no implementadoDST__K_SET_PC_W no implementadoDST__K_SET_STMTNUM no implementadoDirectorio DepuranteTabla de mÃ³dulos depurante
+Tabla simbÃ³lica depurante:
 Directorio de Retardo de ImportaciÃ³nSe llamÃ³ a %s que es obsoleto
 Se llamÃ³ a %s que es obsoleto en %s lÃ­nea %d en %s
-Directorio de DescripcionesError de Dwarf: NÃºmero de abreviaciÃ³n errÃ³neo: %u.Error de Dwarf: No se puede encontrar la secciÃ³n %s.Error de Dwarf: No se puede encontrar el nÃºmero de abreviatura %u.Error de Dwarf: MÃ¡ximo de operaciones por instrucciÃ³n invÃ¡lido.Error de Dwarf: Valor de FORM sin manejar o invÃ¡lido: %u.Error de Dwarf: El desplazamiento (%lu) es mayor que o igual que el tamaÃ±o de %s (%lu).Error de Dwarf: .debug_line versiÃ³n %d sin manejar.Error de Dwarf: se encontrÃ³ el tamaÃ±o de direcciÃ³n '%u', este lector no puede manejar tamaÃ±os mÃ¡s grandes que '%u'.Error de Dwarf: se encontrÃ³ la versiÃ³n de dwarf '%u', este lector solamente maneja informaciÃ³n de las versiones 2, 3 y 4.Error de Dwarf: secciÃ³n de nÃºmeros de lÃ­nea revuelta (nÃºmero de fichero errÃ³neo).Error de Dwarf: secciÃ³n de nÃºmeros de lÃ­nea revuelta.EIHD: (tamaÃ±o: %u, bloques nbr: %u)
-Desplazamiento de entrada = 0x%.8lx (%ld)
-Error al leer %s: %sError: %B tiene al mismo tiempo los atributos Tag_MPextension_use actuales y antiguosSe encontraron errores al procesar el fichero %sDirectorio de Excepciones [.pdata]Directorio de ExportaciÃ³n [.edata (o donde quiera que se encuentre)]Opciones de ExportaciÃ³n 			%lx
-RVA ExportadorFALLO para encontrar la reubicaciÃ³n HI16 previaVOL_FICHEROS     El formato del fichero es ambiguoNo se reconoce el formato del ficheroFichero en formato errÃ³neoEl fichero es demasiado grandeFichero truncadoCampo de opciones         = 0x%.2x
-RVA AdelantadorGALAXIA          se usÃ³ una reubicaciÃ³n relativa a GP cuando GP no estaba definidoreubicaciÃ³n relativa a GP cuando _gp no estÃ¡ definidola reubicaciÃ³n GPDISP no encontrÃ³ las instrucciones ldah y ldaTabla de sÃ­mbolos global:
-IDC - Revisor de Consistencia de IdentaciÃ³n
-ACTIVADOR_IMAGEN No se admite INPUT_SECTION_FLAGS.
-ES               Activa imagen   : (tamaÃ±o=%u)
+Directorio de DescripcionesError enano: RecursiÃ³n de instancia abstracta detectada.Error enano: no se puede encontrar la secciÃ³n %s.Error enano: no se pudo encontrar el nÃºmero de abreviatura %u.Error enano: atributo DW_AT_comp_dir encontrado con un formato no encadenado.Error enano: puntero info extiende mÃ¡s allÃ¡ del final de atributosError enano: instancia DIE abstracta invÃ¡lida referenciada.Error enano: mÃ¡ximo de operaciones por instrucciÃ³n invÃ¡lido.Error enano: valor de FORM no manipulado o invÃ¡lido: %#x.Error enano: informaciÃ³n lineal de datos es mÃ¡s grande (%#Lx) que el espacio restante en la secciÃ³n (%#lx)Error enano: LÃ­nea informativa de secciÃ³n es demasiado corta (%Ld)Error enano: lÃ­nea informativa incompatible con segmento seleccionador de tamaÃ±o %u.Error enano: desplazamiento (%llu) es mayor que o igual que el tamaÃ±o de %s (%Lu).Error enano: Agotado de espacio leyendo opcodesError enano: Agotado espacio leyendo prÃ³logoError enano: incapaz de leer referencia alt %llu.Error enano: .debug_line versiÃ³n %d sin manipular.Error enano: formato de tipo continente %Lu desconocido.Error enano: formato contador cero.Error enano: contador de datos (%Lx) mÃ¡s grande que tamaÃ±o de bÃºfer.Error enano: se encontrÃ³ el tamaÃ±o de direcciÃ³n Â«%uÂ», este lector no puede manipular tamaÃ±os mÃ¡s grandes que '%u'.Error enano: encontrada versiÃ³n dwarf Â«%uÂ», este lector solamente manipula informaciÃ³n de las versiones 2, 3, 4 y 5.Error enano: secciÃ³n de nÃºmeros de lÃ­nea revuelta (nÃºmero de fichero equivocado).Error enano: secciÃ³n de nÃºmeros de lÃ­nea revuelta.EIHD: (tamaÃ±o: %u, bloques nbr: %u)
+ERROR: intentando enlazar %B con un binario %B de arquitectura distintaFunciÃ³n entrante Â«%sÂ» desaparecida desde cÃ³digo seguro.Desplazamiento de entrada = 0x%.8lx (%ld)
+Error al leer %s: %sError: %B tiene al mismo tiempo los atributos Tag_MPextension_use actuales y antiguosError: arquitectura ARC4 sin mÃ¡s soporte.
+Errores encontrados procesando el fichero %BDirectorio de Excepciones [.pdata]Exportar Directorio [.edata (o donde quiera que se encuentre)]Exportar Marcas 			%lx
+Exportar RVAFALLADO al encontrar reubicaciÃ³n HI16 previaVOL_FICHEROS     FPU-2.0FPU-3.0Fallado al actualizar desplazamiento en directorio depuranteFormato del fichero es ambiguoNo se reconoce el formato del ficheroFichero en formato equivocadoFichero demasiado grandeFichero truncadoCampo de opciones         = 0x%.2x
+RVA AdelantadorGALAXIA          GOT y PLT reubicados no pueden ser fijados con enlazador no dinÃ¡mico.ReubicaciÃ³n relativa GP empleada cuando GP no estaba definidoReubicaciÃ³n relativa GP cuando _gp no estÃ¡ definidoReubicaciÃ³n GPDISP no encontrÃ³ las instrucciones ldah y ldaTabla de sÃ­mbolos global:
+Flotante Hard (32-bit CPU, 64-bit FPU)
+Flotante Hard (32-bit CPU, cualquier FPU)
+Flotante hard (FPU 12 llamadas-guardadas MIPS32r2 de 64-bit)
+Coma flotante de hard (precisiÃ³n doble)
+Coma flotante de hard (precisiÃ³n sencilla)
+Flotante Hard compacto (32-bit CPU, 64-bit FPU)
+Hard o soft flotante
+ID: %#08lxIDC - Revisor de Consistencia de IdentaciÃ³n
+Interpretador IEEE: longitud de cadena textual: %#lx mÃ¡s largo que bÃºfer: %#lxACTIVADOR_IMAGEN No se admite INPUT_SECTION_FLAGS.
+E/S               Activa imagen   : (tamaÃ±o=%u)
 Compostura de activador de imagen: (mayor: %u, menor: %u)
 IdentificaciÃ³n de imagen: (mayor: %u, menor: %u)
-Descriptor de secciÃ³n de imagen: (mayor: %u, menor: %u, tam: %u, despl: %u)
-SÃ­mbolo de imagen y tabla de depuraciÃ³n: (mayor: %u, menor %u)
-Directorio de Tablas de Direcciones de ImportaciÃ³nDirectorio de ImportaciÃ³n [partes de .idata]Inconsistencia interna: %u restante != %u mÃ¡ximo.
-  Por favor reporte este bicho.Tipo de reubicaciÃ³n TARGET2 '%s' invÃ¡lido.Objetivo bfd invÃ¡lidoOperaciÃ³n invÃ¡lidaÃ�ndice de secciÃ³n invÃ¡lido en ETIRJALX a una direcciÃ³n que no estÃ¡ alineada con wordNOMBRES_LOGICOS  Nombre de Procesador de Lenguaje
+Descriptor seccional de imagen: (mayor: %u, menor: %u, tam: %u, despl: %u)
+SÃ­mbolo de imagen y segmento de depuraciÃ³n: (mayor: %u, menor %u)
+Directorio de Tablas de Direcciones de ImportaciÃ³nDirectorio de ImportaciÃ³n [partes de .idata]Error Interno: RL78 reubica desbordamiento superior de pilaError Interno: RL78 reubica desbordamiento inferior de pilaInconsistencia interna: %lu restante != %lu mÃ¡ximo.
+  Por favor boletine este defecto.NÃºmero reubicante AArch64 no vÃ¡lido: %dNÃºmero reubicante DLX no vÃ¡lido: %dTipo de reubicaciÃ³n TARGET2 Â«%sÂ» invÃ¡lido.Objetivo bfd invÃ¡lidoContenidos invÃ¡lidos en secciÃ³n %AOperaciÃ³n invÃ¡lidaSalida de secciÃ³n invÃ¡lida para .eh_frame_entry: %AÃ�ndice seccional invÃ¡lido en ETIRÂ¿Es esta versiÃ³n del enlazador - %s - fuera de fecha ?Debe ser un sÃ­mbolo funcional global o dÃ©bil.Omite a una direcciÃ³n que no estÃ¡ alineada con instrucciÃ³nOmite a una direcciÃ³n no alineada con wordNOMBRES_LOGICOS  Nombre de Procesador de Lenguaje
 Longitud                  = 0x%.8lx (%ld)
-Directorio de Carga de ConfiguracionesADMIN_MEMORIAlas funciones MIPS16 y microMIPS no se pueden llamar unas a otrasMISC             MULTI_PROCESAM   encabezado de Mach-O:
-Mayor/Menor 			%d/%d
+Enlazador: error de tabla hash no puede iniciar ex9
+Enlazador: error no solucionado ex9 reubicado 
+Directorio de Carga de ConfiguracionesFunciÃ³n local IFUNC Â«%sÂ» dentro de %B
+ADMIN_MEMORIAFunciones MIPS16 y microMIPS no se pueden llamar unas a otrasMISC             UtilizaciÃ³n de MMU: MULTI_PROCESAM   Mayor/Menor 			%d/%d
 Archivo malformadoLa pila mÃ¡xima requerida es 0x%v
-MeP: howto %d tiene el tipo %dMemoria agotadaEncabezado de mÃ³dulo
-REDES            NORMALNombre 				No hay errorNo hay mÃ¡s ficheros archivadosNo hay sÃ­mbolosSecciÃ³n no representable en la salidaNo hay suficiente memoria para ordenar las reubicacionesNÃºmero en:
+MeP: para que %d tenga tipo %dMemoria agotadaEncabezado de mÃ³dulo
+REDES            COMÃšNNombre 				Ninguna direcciÃ³n asignada a la secciÃ³n de salida recubierta %sNo hay errorNo hay mÃ¡s ficheros archivadosNo hay sÃ­mbolosNingunoSecciÃ³n no representable en la salidaNo hay suficiente memoria para ordenar las reubicacionesNÃºmero en:
 OPR_ADD (adiciÃ³n)
-OPR_AND (and lÃ³gico)
+OPR_AND (y lÃ³gico)
 OPR_ASH (despl aritmÃ©tico)
 OPR_COM (complemento)
 OPR_DIV (divisiÃ³n)
-OPR_EOR (or lÃ³gico exclusivo)
+OPR_EOR (o lÃ³gico exclusivo)
 OPR_INSV (insertar campo)
 OPR_IOR (or lÃ³gico inclusivo)
 OPR_MUL (multiplicaciÃ³n)
@@ -1023,21 +1255,21 @@ encabezado de ppcboot:
 OPR_REDEF (redefine sÃ­mbolo a la ubicaciÃ³n actual)
 OPR_ROT (rotaciÃ³n)
 OPR_SEL (selecciÃ³n)
-OPR_SUB (sustracciÃ³n)
+OPR_SUB (subtract)
 OPR_USH (despl sin signo)
 Â¡ El mÃ³dulo objeto NO estÃ¡ libre de errores !
-Base Ordinal 			%ld
-El fichero de salida requiere la biblioteca compartida `%s'
-El fichero de salida requiere la biblioteca compartida `%s.so.%s'
-POSIX            CALEND_PROCESOS  PRVFXDPRVPICPSC - DefiniciÃ³n de secciÃ³n de programa
-No coincide PTA: una direcciÃ³n SHcompact (bit 0 == 0)No coincide PTB: una direcciÃ³n SHmedia (bit 0 == 1)Nombre de la particiÃ³n    = "%s"
+Desplazamiento de recubrimiento para funciÃ³n de entrante Â«%sÂ» no un mÃºltiplo de su tamaÃ±o.Una causa posible de este error es que el sÃ­mbolo estÃ¡ siendo referenciado dentro del cÃ³digo indicado como si tuvo un alineamiento mayor que lo que fue declarado donde estuvo definido.Base Ordinal 			%ld
+El fichero de salida requiere la biblioteca compartida Â«%sÂ»
+El fichero de salida requiere la biblioteca compartida Â«%s.so.%sÂ»
+Carga relativa PC desde direcciÃ³n no alineadaPIE ejecutablePOSIX            CALEND_PROCESOS  PRVFXDPRVPICPSC - DefiniciÃ³n seccional de programa
+No coincide PTA: una direcciÃ³n SHcompact (bit 0 == 0)No coincide PTB: una direcciÃ³n SHmedia (bit 0 == 1)Nombre de la particiÃ³n    = Â«%sÂ»
 ParticiÃ³n[%d] fin    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
 ParticiÃ³n[%d] longitud = 0x%.8lx (%ld)
 ParticiÃ³n[%d] sector = 0x%.8lx (%ld)
 Por favor reporte este bicho.
-R_BFIN_FUNCDESC referencÃ­a un sÃ­mbolo dinÃ¡mico con adiciÃ³n que no es ceroR_BFIN_FUNCDESC_VALUE referencÃ­a un sÃ­mbolo dinÃ¡mico con adiciÃ³n que no es cerono se aplicÃ³ R_FRV_TLSMOFFLO a una instrucciÃ³n setlo o setlos
-Se lee la marca de tiempo modificada del fichero en el archivoEl referenciar al sÃ­mbolo far `%s' usando una reubicaciÃ³n incorrecta puede resultar en una ejecuciÃ³n incorrectaEl registro %%g%d se usÃ³ de forma incompatible: %s en %B, previamente %s en %BLa secciÃ³n de registros no tiene contenido
-ReubicaciÃ³n para psect que no es RELSe elimina la secciÃ³n sin uso '%s' en el fichero '%B'ReservadoDirectorio de Recursos [.rsrc]reubicaciÃ³n SDA cuando _SDA_BASE_ no estÃ¡ definidoSEGURIDAD        SEC_RELOC sin reubicaciones en la secciÃ³n %sError SH: tipo de reubicaciÃ³n %d desconocidoSHELL            SHRFXDSHRPICSPSC - def secciÃ³n Programa de Imagen Compartida
+Conflicto ABI RL78: fichero G10 %B no puede ser enlazado con fichero %s %BConflicto ABI RL78: no puede enlazar fichero %s %B con fichero %s %BConflicto de reenlace RL78: no puede enlazar objetos 32-bit y 64-bit juntosR_BFIN_FUNCDESC referencÃ­a un sÃ­mbolo dinÃ¡mico con adiciÃ³n que no es ceroR_BFIN_FUNCDESC_VALUE referencÃ­a un sÃ­mbolo dinÃ¡mico con adiciÃ³n que no es ceroR_FRV_TLSMOFFLO no aplicado a una instrucciÃ³n setlo o setlos
+Se lee la marca de tiempo modificada del fichero en el archivoEl referenciar al sÃ­mbolo far Â«%sÂ» usando una reubicaciÃ³n incorrecta puede resultar en una ejecuciÃ³n incorrectaEl registro %%g%d se usÃ³ de forma incompatible: %s en %B, previamente %s en %BLa secciÃ³n de registros no tiene contenido
+ReubicaciÃ³n para psect que no-RELQuitando secciÃ³n Â«%AÂ» no utilizada en el fichero Â«%BÂ»ReservadoDirectorio de Recursos [.rsrc]DirecciÃ³n S12 (%lx) no estÃ¡ dentro de RAM(0x2000-0x4000) compartida, por lo tanto debe desplazar manualmente la direcciÃ³n dentro de su cÃ³digoSDA reubicable cuando _SDA_BASE_ no estÃ¡ definidoSEGURIDAD        SEC_RELOC con ninguna reubicaciÃ³n en secciÃ³n %AError SH: tipo de reubicaciÃ³n %d desconocidoSHELL            SHRFXDSHRPICEmpleo SIMD: SPSC - def secciÃ³n Programa de Imagen Compartida
 ESTABLE          STA_CKARG (compara argumentos de procedimientos)
 STA_GBL (pila global) %.*s
 STA_LI (pila literal)
@@ -1080,29 +1312,42 @@ encabezado de ppcboot:
 SYMG - DefiniciÃ³n de sÃ­mbolo universal
 SYMM - DefiniciÃ³n de sÃ­mbolo global con versiÃ³n
 SYMV - DefiniciÃ³n de sÃ­mbolo vectorizado
-GENSIS           La secciÃ³n no tiene contenidoDirectorio de SeguridadSegmentos y Secciones:
-Error de tamaÃ±o en la secciÃ³n %sEncabezado de Ficheros Fuente
-Directorio EspecialReubicaciÃ³n ALPHA_R_BSR espuriaEl anÃ¡lisis de pila descartarÃ¡ la llamada de %s a %s
-Desbordamiento de la pila (%d) en _bfd_vms_pushTamaÃ±o de la pila para los nodos raÃ­z del grafo de llamadas.
-Desbordamiento por debajo de la pila en _bfd_vms_popEstribos:
+GENSIS           La secciÃ³n no tiene contenidoDirectorio de SeguridadTamaÃ±o errÃ³neo en secciÃ³n %AFlotante soft
+Encabezado de Ficheros Fuente
+Directorio EspecialReubicaciÃ³n ALPHA_R_BSR espuriaPila analizada descartarÃ¡ la llamada de %s a %s
+Pila desbordada superior (%d) en _bfd_vms_pushPila de tamaÃ±o para los nodos raÃ­z del grafo de llamadas.
+Pila desbordada inferior en _bfd_vms_popDirecciÃ³n inicial de Â«%sÂ» es diferente desde enlace anterior.Estribos:
 El sÃ­mbolo %s no estÃ¡ definido para composturas
-Se reemplazÃ³ el sÃ­mbolo %s por %s
-El sÃ­mbolo `%s' tiene tipos divergentes: %s en %B, previamente REGISTER en %BEl sÃ­mbolo `%s' tiene tipos divergentes: REGISTER en %B, previamente %s en %BUn sÃ­mbolo requiere de una secciÃ³n de depuraciÃ³n, la cual no existeError en la llamada al sistemareubicaciÃ³n TLS invÃ¡lida sin secciones dinÃ¡micasDesbordamiento de TOC: 0x%lx > 0x10000; pruebe -mminimal-toc al compilarDirecciones de la Tabla
-Directorio de Almacenamiento de Hilos [.tls]marca de Hora/Fecha 		%lx
+El sÃ­mbolo Â«%sÂ» tiene tipos divergentes: %s en %B, previamente REGISTER en %BEl sÃ­mbolo Â«%sÂ» tiene tipos divergentes: REGISTER en %B, previamente %s en %BUn sÃ­mbolo requiere de una secciÃ³n de depuraciÃ³n, la cual no existeSÃ­mbolo deberÃ­a ser absoluto, global y refiere a funciÃ³n Thumb.Error en llamada al sistemaTLS reubicado invÃ¡lidamente sin secciones dinÃ¡micasDesbordamiento superior de TOC: %#Lx > 0x10000; intente -mminimal-toc al compilarDirecciones de la Tabla
+El tamaÃ±o del campo de datos depurados es demasiado grande para la secciÃ³nEl tamaÃ±o de directorio de depuraciÃ³n no es un mÃºltiplo del tamaÃ±o de entrada de directorio depurador
+Hay un conflicto uniendo las marcas de cabecera ELF desde %BDirectorio de Almacenamiento de Hilos [.tls]Marca Hora/Fecha 		%lx
 Encabezado de Texto de TÃ­tulo
-USRSTACKNo se puede encontrar la secciÃ³n de salida equivalente para el sÃ­mbolo '%s' de la secciÃ³n '%s'No se maneja un STO_SH5_ISA32 inesperado en un sÃ­mbolo localNÃºmero de mÃ¡quina inesperadoTipo de secciÃ³n de fichero nÃºcleo OSF/1 %d sin manejar
-ReubicaciÃ³n %s sin manejarSubtipo de EGSD %d desconocidoTipo bÃ¡sico %d desconocidoReubicaciÃ³n %s desconocidaReubicaciÃ³n %s + %s desconocidaSÃ­mbolo desconocido en la orden %sNo se reconoce INPUT_SECTION_FLAG %s
-No se reconoce el id de objetivo COFF TI '0x%x'No se reconoce la reubicaciÃ³nNo se reconoce el tipo de reubicaciÃ³n 0x%xNo se admite la reubicaciÃ³n .stabVOLÃ�TIL          La variable `%s' solamente puede estar en una de las regiones de datos small, zero, y tinyLa variable `%s' no puede estar simultÃ¡neamente en las regiones de datos small y tinyLa variable `%s' no puede estar simultÃ¡neamente en las regiones de datos small y zeroLa variable `%s' no puede estar simultÃ¡neamente en las regiones de datos zero y tinyLa variable `%s' no puede ocupar mÃºltiples regiones de datos smallAviso, el tamaÃ±o de la secciÃ³n .pdata (%ld) no es un mÃºltiplo de %d
-Aviso: %B no admite interoperabilidad, mientras que %B sÃ­Aviso: se truncÃ³ %B: se esperaba el tamaÃ±o de fichero core >= %lu, se encontrÃ³: %lu.Aviso: %B admite interoperabilidad, mientras que %B noAviso: %B usa -mdouble-float, %B usa -mips32r2 -mfp64Aviso: %B usa -msingle-float, %B usa -mdouble-floatAviso: %B usa -msingle-float, %B usa -mips32r2 -mfp64Aviso: %B usa coma flotante hard de doble precisiÃ³n, %B usa coma flotante hard de precisiÃ³n simpleAviso: %B usa coma flotante hard, %B usa coma flotante softAviso: %B usa r3/r4 para devoluciones de estructura small, %B usa memoriaAviso: %B usa coma flotante soft, %B usa coma flotante hard de precisiÃ³n simpleAviso: %B usa la ABI de coma flotante desconocida %dAviso: %B usa la convenciÃ³n de devoluciÃ³n de estructura small %dAviso: %B usa la ABI de vector desconocida %dAviso: %B usa la ABI de vector "%s", %B usa "%s"Aviso: %B: ConfiguraciÃ³n de plataformas en conflictoAviso: %B: Atributo de objeto EABI %d desconocidoAviso: Se limpia la opciÃ³n de interoperaciÃ³n en %B porque se ha enlazado con Ã©l cÃ³digo no interoperable en %BAviso: Se limpia la opciÃ³n de interoperabilidad de %B debido a una peticiÃ³n externaAviso: No se establece la opciÃ³n de interoperabilidad de %B ya que se habÃ­a especificado con anterioridad como no interoperableAviso: reubicaciÃ³n RX_SYM con un sÃ­mbolo desconocidoAviso: Se escribe la secciÃ³n `%s' a un desplazamiento de fichero grande (pe negativo) 0x%lx.Aviso: la alineaciÃ³n %u del sÃ­mbolo comÃºn `%s' en %B es mÃ¡s grande que la alineaciÃ³n (%u) de su secciÃ³n %AAviso: la alineaciÃ³n %u del sÃ­mbolo `%s' en %B es mÃ¡s pequeÃ±a que %u en %BAviso: no coincide la cuenta de composturas
-Aviso: se descarta la opciÃ³n gc-sectionsAviso: el tamaÃ±o del sÃ­mbolo `%s' cambiÃ³ de %lu en %B a %lu en %BAviso: el tipo del sÃ­mbolo `%s' cambiÃ³ de %d a %d en %BAviso: la escritura del fichero fue lenta: se reescribe la marca de tiempo
-Se escribe la marca de tiempo actualizada de armap[%u]: %u
-[%u]: Inferior: %u, superior: %u
-[abi=int de 16-bit, [abi=int de 32-bit, [cuyo nombre estÃ¡ perdido]\%B: Aviso: La instrucciÃ³n Arm BLX apunta a la funciÃ³n Arm '%s'.se llamÃ³ _bfd_vms_output_counted con demasiados bytesse llamÃ³ _bfd_vms_output_counted con cero bytesdirecciÃ³nla direcciÃ³n no estÃ¡ alineada a wordartam: %u, a0: 0x%08x
-Ã­ndice de secciÃ³n errÃ³neo en %sla direcciÃ³n almacenada [%lx:%04lx] (%lx) no estÃ¡ en el mismo banco que la direcciÃ³n almacenada actual [%lx:%04lx] (%lx)base: %u, pos: %u
-bfd_mach_o_canonicalize_symtab: no se pueden cargar sÃ­mbolosbfd_mach_o_read_dysymtab_symbol: no se pueden leer %lu bytes en %lubfd_mach_o_read_symtab_symbol: nombre fuera de rango (%lu >= %lu)bfd_mach_o_read_symtab_symbol: el sÃ­mbolo "%s" no admite la referencia 'indirect': se cambia a indefinidobfd_mach_o_read_symtab_symbol: el sÃ­mbolo "%s" especificÃ³ la secciÃ³n invÃ¡lida %d (mÃ¡ximo %lu): se cambia a indefinidobfd_mach_o_read_symtab_symbol: el sÃ­mbolo "%s" especificÃ³ el campo de tipo 0x%x invÃ¡lido: se cambia a indefinidobfd_mach_o_read_symtab_symbol: no se pueden leer %d bytes en %lubfd_mach_o_read_symtab_symbols: no se puede reservar memoria para sÃ­mbolosbfd_mach_o_scan: arquitectura 0x%lx/0x%lx desconocidabfd_pef_scan: arquitectura 0x%lx desconocidablkini: direcciÃ³n: 0x%08x, nombre: %.*s
+Demasiadas entradas GOT para -fpic, recompile con -fPICDemasiados cÃ³digos unwind (%ld)
+Intente activando relajaciÃ³n para evitar truncaciones reubicantesTipo             TamaÃ±o         Rva      Despl
+USRPILANo se puede encontrar la secciÃ³n de salida equivalente para el sÃ­mbolo Â«%sÂ» de la secciÃ³n Â«%sÂ»Incapaz de alcanzar %s (en 0x%08x) desde el puntero global (en 0x%08x) porque el desplazamiento (%d) estÃ¡ fuera del rango permitido, -32678 a 32767.
+Incapaz de leer registro EIHS en desplazamiento %#xNo se manipula un STO_SH5_ISA32 inesperado en un sÃ­mbolo localNÃºmero de mÃ¡quina inesperadoTipo seccional de fichero nÃºcleo OSF/1 %d sin manipular
+ReubicaciÃ³n %s sin manipularDesconocidaSubtipo de EGSD %d desconocidoTipo bÃ¡sico %d desconocidoReubicaciÃ³n %s desconocidaReubicaciÃ³n %s + %s desconocidaSÃ­mbolo desconocido en la orden %sDesconocido: %xNÃºmero reubicante MIPS no reconocido: %dNo se reconoce INPUT_SECTION_FLAG %s
+No se reconoce el id de objetivo COFF TI '0x%x'No se reconoce el tipo de reubicaciÃ³n 0x%xNo se admite la reubicaciÃ³n .stabReubicaciÃ³n de tipo CR16 no soportado: 0x%x
+VOLÃ�TIL          La variable Â«%sÂ» solamente puede estar en una de las regiones de datos small, zero, y tinyLa variable Â«%sÂ» no puede estar simultÃ¡neamente en las regiones de datos small y tinyLa variable Â«%sÂ» no puede estar simultÃ¡neamente en las regiones de datos small y zeroLa variable Â«%sÂ» no puede estar simultÃ¡neamente en las regiones de datos zero y tinyLa variable Â«%sÂ» no puede ocupar mÃºltiples regiones de datos smallTamaÃ±o virtual de secciÃ³n .pdata (%ld) mÃ¡s grande que el tamaÃ±o real (%ld)
+Aviso, el tamaÃ±o de la secciÃ³n .pdata (%ld) no es un mÃºltiplo de %d
+Aviso: %B no admite interoperabilidad, mientras que %B sÃ­Aviso: %B admite interoperabilidad, mientras que %B noAviso: %B emplea %s (establecido por %B), %B emplea %sAviso: %B utiliza %s (establecido por %B), %B utiliza ABI MSA desconocido %dAviso: %B emplea %s (establece por %B), %B emplea punto flotante ABI desconocido %dAviso: %B utiliza 64 bit doble largo, %B utiliza 128 bit doble largoAviso: %B emplea la ABI de vectorAltiVec, %B emplea vector SPE ABIAviso: %B utiliza doble largo IBM, %B utiliza doble largo IEEEAviso: %B emplea coma flotante hard de doble precisiÃ³n, %B emplea coma flotante hard de precisiÃ³n simpleAviso: %B emplea coma flotante hard, %B emplea coma flotante softAviso: %B emplea r3/r4 para devoluciones de estructura small, %B emplea memoriaAviso: %B emplea la ABI MSA desconocida%d (establece por %B), %B emplea %sAviso: %B emplea MSA ABI %d desconocida (establece por %B), %B emplea MSA ABI %dAviso: %B utiliza coma flotante ABI %d (establecido por %B), %B emplea %sAviso: %B emplea la ABI de coma flotante desconocida %d (establecida por %B), %B emplea ABI con coma flotante %d desconocidaAviso: %B: ConfiguraciÃ³n de plataformas en conflictoAviso: %B: ConfiguraciÃ³n de plataformas en conflicto %s con %s.
+Aviso: %B: Atributo de objeto ARC %d desconocido.Aviso: %B: Atributo de objeto EABI %d desconocidoAviso: %B: Atributo desconocido de objeto MSPABI %dAviso: tamaÃ±o de secciÃ³n %s (%ld) no es un mÃºltiplo de %d
+
+Aviso: tamaÃ±o de secciÃ³n %s (%ld) es menor que el tamaÃ±o virtual (%ld)
+Aviso: tamaÃ±o seccional %s es cero
+Aviso: Se limpia la opciÃ³n de interoperaciÃ³n en %B porque se ha enlazado con Ã©l cÃ³digo no interoperable en %BAviso: Se limpia la opciÃ³n de interoperabilidad de %B debido a una peticiÃ³n externaAviso: No se establece la opciÃ³n de interoperabilidad de %B ya que se habÃ­a especificado con anterioridad como no interoperableAviso: reubicaciÃ³n RL78_SYM con un sÃ­mbolo desconocidoAviso: reubicaciÃ³n RX_SYM con un sÃ­mbolo desconocidoAviso: la alineaciÃ³n %u del sÃ­mbolo comÃºn Â«%sÂ» en %B es mÃ¡s grande que la alineaciÃ³n (%u) de su secciÃ³n %AAviso: la alineaciÃ³n %u del sÃ­mbolo Â«%sÂ» en %B es mÃ¡s pequeÃ±a que %u en %BAviso: no coincide la cuenta de composturas
+Aviso: se descarta la opciÃ³n gc-sectionsAviso: el tamaÃ±o del sÃ­mbolo Â«%sÂ» modificado de %Lu en %B a %Lu en %BAviso: sÃ­mbolo Â«%sÂ» es ambas secciÃ³n y no secciÃ³nAviso: el tipo del sÃ­mbolo Â«%sÂ» cambiÃ³ de %d a %d en %BAviso: destablece o marcas arquitecturales antiguas. 
+	       Emplee mÃ¡quina predeterminada.
+Aviso: la escritura del fichero fue lenta: se reescribe la marca de tiempo
+Se escribe la marca temporal actualizada de â€˜armapâ€™DirecciÃ³n XGATE (%lx) no estÃ¡ dentro de RAM(0xE000-0xFFFF) compartida, por lo que debe desplazar manualmente la direcciÃ³n, y posiblemente la pÃ¡gina, en su cÃ³digo.[%u]: Inferior: %u, superior: %u
+[abi=16-bit ent, [abi=32-bit ent, [cuyo nombre estÃ¡ perdido]se llamÃ³ _bfd_vms_output_counted con demasiados bytesse llamÃ³ _bfd_vms_output_counted con cero bytes`%s' refiere a una funciÃ³n distinta de entrada.un objeto PDEun objeto PIEun objeto compartidodirecciÃ³nla direcciÃ³n no estÃ¡ alineada a worddescriptor matricial:
+unimatriz, dim: %u, distribuciÃ³n bit: artam: %u, a0: 0x%08x
+atÃ³mico, tipo=0x%02x %s
+Ã­ndice seccional equivocado en %sla direcciÃ³n almacenada [%lx:%04lx] (%lx) no estÃ¡ en el mismo banco que la direcciÃ³n almacenada actual [%lx:%04lx] (%lx)base: %u, pos: %u
+bfd_mach_o_canonicalize_symtab: no se pueden cargar sÃ­mbolosbfd_mach_o_read_section_32: valor de alineamiento sobrepasado: %#lx, utilizando 32 en su lugarbfd_mach_o_read_section_64: valor de alineamiento sobrepasado: %#lx, utilizando 32 en su lugarbfd_mach_o_read_symtab_symbol: nombre fuera de rango (%lu >= %u)bfd_mach_o_read_symtab_symbol: el sÃ­mbolo Â«%sÂ» especificÃ³ la secciÃ³n invÃ¡lida %d (mÃ¡ximo %lu): se cambia a indefinidobfd_mach_o_read_symtab_symbol: el sÃ­mbolo Â«%sÂ» especificÃ³ el campo de tipo 0x%x invÃ¡lido: se cambia a indefinidobfd_mach_o_read_symtab_symbol: no se pueden leer %d bytes en %ubfd_mach_o_read_symtab_symbols: no se puede reservar memoria para sÃ­mbolosbfd_mach_o_scan: arquitectura 0x%lx/0x%lx desconocidabfd_pef_scan: arquitectura 0x%lx desconocidablkini: direcciÃ³n: 0x%08x, nombre: %.*s
 blkfin: tam: 0x%08x
-no se pueden emitir reubicaciones dinÃ¡micas en la secciÃ³n de sÃ³lo lecturano se pueden emitir composturas en la secciÃ³n de sÃ³lo lecturano se puede encontrar EMH en el primer registro GST
-no se puede manejar la reubicaciÃ³n R_MEM_INDIRECT cuando se utiliza la salida %sno se puede leer DMT
+no puede crear la entrada de cabo %sno se pueden emitir reubicaciones dinÃ¡micas en la secciÃ³n de sÃ³lo lecturano se pueden emitir composturas en la secciÃ³n de sÃ³lo lecturano se puede encontrar EMH en el primer registro GST
+no se puede manipular la reubicaciÃ³n R_MEM_INDIRECT cuando se utiliza la salida %sno se puede leer DMT
 no se puede leer el encabezado DMT
 no se puede leer el psect DMT
 no se puede leer DST
@@ -1120,55 +1365,68 @@ encabezado de ppcboot:
 no se puede leer el encabezado del registro GST
 no se puede leer la longitud del registro GST
 clase: %u, tipod: %u, long: %u, puntero: 0x%08x
-secciÃ³n %s corrupta en %Bno se puede localizar el sÃ­mbolo especial del enlazador __ctbpno se puede localizar el sÃ­mbolo especial del enlazador __epno se puede localizar el sÃ­mbolo especial del enlazador __gpno se puede abrir la imagen compartida '%s' desde '%s'cpu=HC11]cpu=HC12]cpu=HCS12]reubicaciÃ³n peligrosadelta pc +%-4ddelta_pc_l: +0x%08x
+secciÃ³n %s corrupta en %Bno pudo encontrar la secciÃ³n %sno se puede localizar el sÃ­mbolo especial del enlazador __ctbpno se puede localizar el sÃ­mbolo especial del enlazador __epno se puede localizar el sÃ­mbolo especial del enlazador __gpno se puede abrir la imagen compartida Â«%sÂ» desde Â«%sÂ»cpu=HC11]cpu=HC12]cpu=HCS12]cpu=XGATE]reubicaciÃ³n peligrosadelta pc +%-4ddelta_pc_l: +0x%08x
 delta_pc_w %u
 descdimct: %u, aops: 0x%02x, dÃ­gitos: %u, escala: %u
-se descarta la secciÃ³n de salida: `%A'rango discontinuo (nbr: %u)
-reubicaciÃ³n dinÃ¡mica en la secciÃ³n de sÃ³lo lecturala variable dinÃ¡mica `%s' es de tamaÃ±o ceroenuini, lon: %u, nombre: %.*s
+se descarta la secciÃ³n de salida: `%A'descartando lÃ­mite direccional cero FDE en %B(%A).
+rango discontinuo (nbr: %u)
+reubicaciÃ³n dinÃ¡mica en la secciÃ³n de sÃ³lo lecturala variable dinÃ¡mica Â«%sÂ» es de tamaÃ±o ceroenuini, lon: %u, nombre: %.*s
 enufin, nombre: %.*s
 enufin
 epilog: ops: %u, cuenta: %u
-error: %B contiene una reubicaciÃ³n (0x%s) para la secciÃ³n %A que refiere a un sÃ­mbolo global que no existeerror: %B no utiliza instrucciones Maverick, mientras que %B sÃ­error: %B ya estÃ¡ en el formato BE8 finalerror: %B estÃ¡ compilado como cÃ³digo de posiciÃ³n absoluta, mientras que el objetivo %B es independiente de posiciÃ³nerror: %B estÃ¡ compilado como cÃ³digo independiente de posiciÃ³n, mientras que el objetivo %B es de posiciÃ³n absolutaerror: %B estÃ¡ compilado para APCS-%d, mientras que %B estÃ¡ compilado para APCS-%derror: %B estÃ¡ compilado para APCS-%d mientras que el objetivo %B usa APCS-%derror: %B estÃ¡ compilado para el EP9312, mientras que %B estÃ¡ compilado para XScaleerror: %B pasa nÃºmeros de coma flotante en registros de coma flotante, mientras que %B los pasa en registros enteroserror: %B pasa nÃºmeros de coma flotante en registros enteros, mientras que %B los pasa en registros de coma flotanteerror: %B requiere mÃ¡s alineaciÃ³n de matriz que la que %B preservaerror: %B requiere mÃ¡s alineaciÃ³n de pila que la que %B preservaerror: %B utiliza instrucciones FPA, mientras que %B noerror: %B utiliza instrucciones Maverick, mientras que %B noerror: %B utiliza instrucciones VFP, mientras que %B noerror: %B utiliza argumentos de registro VFP, mientras que %B noerror: %B utiliza FP de hardware, mientras que %B utiliza FP de softwareerror: %B utiliza argumentos de registro iWMMXt, mientras que %B noerror: %B utiliza FP de software, mientras que %B utiliza FP de hardwareerror: %B: Arquitecturas de CPU en conflicto %d/%derror: %B: Perfiles de arquitecturas en conflicto %c/%cerror: %B: Uso en conflicto de R9error: %B: El objeto tiene contenido especÃ­fico del vendedor que se debe procesar con la cadena de compilaciÃ³n '%s'error: %B: La etiqueta de objeto '%d, %s' es incompatible con la etiqueta '%d, %s'error: %B: El direccionamiento relativo a SB tiene conflictos con el uso de R9error: %B: Arquitectura de CPU desconocidaerror: %B: el tamaÃ±o de la secciÃ³n %A no es un mÃºltiplo del tamaÃ±o de la direcciÃ³nerror: %B: no se pueden mezclar los atributos de virtualizaciÃ³n con %Berror: El objeto fuente %B tiene EABI versiÃ³n %d, pero el objetivo %B tiene EABI versiÃ³n %derror: no coincide el formato fp16 entre %B y %Berror: tipo de reubicaciÃ³n inapropiada para la biblioteca compartida (Â¿olvidÃ³ -fpic?)error: sÃ­mbolo __rtinit sin definirerror: valor de Tag_ABI_array_object_align_expected desconocido en %Berror: valor de Tag_ABI_array_object_alignment desconocido en %Bejecutableno se puede reservar espacio para la nueva secciÃ³n APUinfo.no se puede calcular la nueva secciÃ³n APUinfo.no se puede instalar la nueva secciÃ³n APUinfo.error fatal al crear .fixupel enlazador genÃ©rico no puede manejar %sdirecciÃ³n relativa al puntero global fuera de rangoreubicaciÃ³n relativa al puntero global cuando _gp no estÃ¡ definidosÃ­mbolo ocultose descarta la reubicaciÃ³n %s
+error leyendo tipo de cpu desde datos privados elferror: %B contiene una reubicaciÃ³n (%#Lx) para la secciÃ³n %A que refiere a un sÃ­mbolo global no existenteerror: %B no utiliza instrucciones Maverick, mientras que %B sÃ­error: %B ya estÃ¡ en el formato BE8 finalerror: %B estÃ¡ compilado como cÃ³digo de posiciÃ³n absoluta, mientras que el objetivo %B es independiente de posiciÃ³nerror: %B estÃ¡ compilado como cÃ³digo independiente de posiciÃ³n, mientras que el objetivo %B es de posiciÃ³n absolutaerror: %B estÃ¡ compilado para APCS-%d, mientras que %B estÃ¡ compilado para APCS-%derror: %B estÃ¡ compilado para APCS-%d mientras que el objetivo %B emplea APCS-%derror: %B estÃ¡ compilado para el EP9312, mientras que %B estÃ¡ compilado para XScaleerror: %B necesita alineaciÃ³n de 8-byte pero %B estÃ¡ establecido para alineamiento de 4-byteerror: %B pasa nÃºmeros de coma flotante en registros de coma flotante, mientras que %B los pasa en registros enteroserror: %B pasa nÃºmeros de coma flotante en registros enteros, mientras que %B los pasa en registros de coma flotanteerror: %B requiere mÃ¡s alineaciÃ³n de matriz que la que %B preservaerror: %B requiere mÃ¡s alineaciÃ³n de pila que la que %B preservaerror: %B utiliza %s instrucciones pero %B emplea %serror: %B utiliza dobles de 64-bit pero %B utiliza dobles de 32-biterror: %B utiliza instrucciones FPA, mientras que %B noerror: %B utiliza FPU-3.0 pero %B solo es compatible con FPU-2.0error: %B utiliza instrucciones Maverick, mientras que %B noerror: %B utiliza instrucciones VFP, mientras que %B noerror: %B utiliza argumentos de registro VFP, mientras que %B noerror: %B utiliza FP de hardware, mientras que %B utiliza FP de softwareerror: %B utiliza argumentos de registro iWMMXt, mientras que %B noerror: %B utiliza FP de software, mientras que %B utiliza FP de hardwareerror: %B utiliza el modelo de cÃ³digo %s mientras que %B utiliza el modelo de cÃ³digo %serror: %B utiliza el modelo de datos %s pero %B solo emplea instrucciones MSP430error: %B utiliza el modelo de datos %s mientras que %B utiliza el modelo de datos %serror: %B utiliza el modelo de cÃ³digo grande pero %B solo emplea instrucciones MSP430error: %B utiliza el modelo de cÃ³digo pequeÃ±o pero %B emplea el modelo de datos %serror: %B(%A) es demasiado grande (%#Lx bytes)error: %B: <corrompe tamaÃ±o ISA x86 requerido: 0x%x>error: %B: <corrompe tamaÃ±o ISA x86 utilizado: 0x%x>error: %B: <corrompe tamaÃ±o caracterÃ­stico x86: 0x%x>error: %B: Big-endian R2 no estÃ¡ apoyado.error: %B: Arquitecturas de CPU en conflicto %d/%derror: %B: Perfiles de arquitecturas en conflicto %c/%cerror: %B: Empleo en conflicto de R9error: %B: El objeto tiene contenidos especÃ­ficos del proveedor que debe ser procesado por la cadena Â«%sÂ» de compilaciÃ³nerror: %B: La etiqueta de objeto '%d, %s' es incompatible con la etiqueta '%d, %s'error: %B: El direccionamiento relativo a SB tiene conflictos con el uso de R9error: %B: Arquitectura de CPU desconocidaerror: %B: no puede mezclar rf16 con conjunto de registro completo %B.
+error: %B: conflicto de atributos de extensiÃ³n ISA %s con %s.
+error: %B: conflicto de atributos %s.
+error: %B: atributos conflictivos %s: %s con %s.
+error: %B: el tamaÃ±o de la secciÃ³n %A no es un mÃºltiplo del tamaÃ±o de la direcciÃ³nerror: %B: no se pueden combinar atributos base de CPU %s con %s.
+error: %B: no se pueden combinar los atributos de extensiÃ³n ISA %s.
+error: %B: no se pueden mezclar los atributos de virtualizaciÃ³n con %Berror: no puede encontrar sÃ­mbolo: __SDA_BASE_.error: reubicaciÃ³n IFC errÃ³nea.error: reubicaciÃ³n IFC fallada.error: El objeto fuente %B tiene EABI versiÃ³n %d, pero el objetivo %B tiene EABI versiÃ³n %derror: no coincide el formato fp16 entre %B y %Berror: tipo de reubicaciÃ³n inapropiada para la biblioteca compartida (Â¿olvidÃ³ -fpic?)error: sÃ­mbolo __rtinit indefinidoerror: valor de Tag_ABI_array_object_align_expected desconocido en %Berror: valor de Tag_ABI_array_object_alignment desconocido en %Bejecutablefallaba al crear ex9.it %s asiento de tabla hashfallaba al reservar espacio para la nueva secciÃ³n APUinfo.fallaba al calcular la nueva secciÃ³n APUinfo.no se puede instalar la nueva secciÃ³n APUinfo.error fatal al crear .fixupel enlazador genÃ©rico no puede manipular %sdirecciÃ³n relativa al puntero global fuera de rangoreubicaciÃ³n relativa al puntero global en direcciÃ³n 0x%08x cuando _gp no estÃ¡ definido
+reubicaciÃ³n relativa al puntero global cuando _gp no estÃ¡ definidosÃ­mbolo ocultosÃ­mbolo oculto se descarta la reubicaciÃ³n %s
 incr_linum(b): +%u
 incr_linum_l: +%u
 incr_linum_w: +%u
-error interno: addend debe ser cero para R_LM32_16_GOTerror interno: error peligrosoerror interno: reubicaciÃ³n peligrosaerror interno: error fuera de rangoerror interno: se usÃ³ un tipo de reubicaciÃ³n sospechosa en la biblioteca compartidaerror interno: error desconocidoerror interno: no se admite el error de reubicaciÃ³ninconsistencia interna en el tamaÃ±o de la secciÃ³n .got.locsÃ­mbolo internoreubicaciÃ³n de entrada invÃ¡lida al producir el formato de salida que no
+indirecto, definido en 0x%08x
+error interno: addend deberÃ­a ser cero para R_LM32_16_GOTerror interno: addend deberÃ­a ser cero para R_OR1K_GOT16error interno: rama/omisiÃ³n a una direcciÃ³n par detectadaerror interno: error peligrosoerror interno: reubicaciÃ³n peligrosaerror interno: combinaciÃ³n de arquitectura Â«%sÂ» con arquitectura Â«%sÂ» produjo una arquitectura desconocidaerror interno: error fuera de rangoerror interno: se usÃ³ un tipo de reubicaciÃ³n sospechosa en la biblioteca compartidaerror interno: error desconocidoerror interno: no se admite el error de reubicaciÃ³ninconsistencia interna en el tamaÃ±o de la secciÃ³n .got.locsÃ­mbolo internosÃ­mbolo interno reubicaciÃ³n de entrada invÃ¡lida al producir el formato de salida que no
  es mmo ni ELF.  Por favor utilice el programa objcopy para convertir de
  ELF o mmo, o ensamble utilizando "-no-expand" (para gcc, "-Wa, -no-expand"reubicaciÃ³n de entrada invÃ¡lida al producir el formato de salida que no
  es mmo ni ELF. Por favor utilice el programa objcopy para converitr de
- ELF o mmo, o compile utilizando la opciÃ³n de gcc "-mno-base-addresses".direcciÃ³n de reubicaciÃ³n invÃ¡lidatipo de reubicaciÃ³n %d invÃ¡lidouso invÃ¡lido de %s en contextosenlazador ip2k: falta la instrucciÃ³n de pÃ¡gina en 0x%08lx (dest = 0x%08lx).enlazador ip2k: instrucciÃ³n de pÃ¡gina redundante en 0x%08lx (dest = 0x%08lx).relajador ip2k: encabezado de tabla switch corrupto.relajador ip2k: tabla switch sin informaciÃ³n completa de reubicaciÃ³n de coincidencias.num lÃ­nea (lon: %u)
-imagen enlazablecabos de enlazador en %u grupo%s
-  rama            %lu
-  ajuste toc      %lu
-  rama long       %lu
-  ajuste toc long %lu
-  llamada plt     %luliteralla reubicaciÃ³n literal sucede para un sÃ­mbolo externomep: no hay reubicaciÃ³n para el cÃ³digo %dmodini
+ ELF o mmo, o compile utilizando la opciÃ³n de gcc "-mno-base-addresses".direcciÃ³n de reubicaciÃ³n invÃ¡lidatipo de reubicaciÃ³n %d invÃ¡lidouso invÃ¡lido de %s en contextosip2k enlazante: instrucciÃ³n de pÃ¡gina ausente en %#Lx (dest = %#Lx)ip2k enlazante: instrucciÃ³n de pÃ¡gina redundante en %#Lx (dest = %#Lx)ip2k relajante: encabezado de segmento switch corrupto.ip2k relajante: intercambio de segmento sin informaciÃ³n completa de reubicaciÃ³n de coincidencias.etiqueta, nombre: %.*s
+lon: %2u, familia: %2u num lÃ­nea (lon: %u)
+imagen enlazableenlazador stubs en grupo %u
+enlazador stubs en grupos %u
+literalla reubicaciÃ³n literal sucede para un sÃ­mbolo externomach-o: hay demasiadas secciones (%u) mÃ¡ximo es 255.
+mep: no hay reubicaciÃ³n para el cÃ³digo %dmodini
 modfin
-nativamatriz no contigua de %s
+nombre: [val: %08lx len %d]: nativaentrada funcional nueva introducida pero ninguna salida importa biblioteca especificada:nomatriz no contigua de %s
 reubicaciones que no son dinÃ¡micas se refieren al sÃ­mbolo dinÃ¡mico %seltamaÃ±o 0x%v que no es de sobreescritura mas el tamaÃ±o de sobreescritura mÃ¡ximo de 0x%v excede el almacenamiento local
-adiciÃ³n que no es cero en la reubicaciÃ³n @fptrno hay suficiente espacio GOT para entradas GOT localesno se mapea: datos=%lx mapeados%d
+adiciÃ³n que no es cero en la reubicaciÃ³n @fptrningunono hay suficiente espacio GOT para entradas GOT localesno se mapea: datos=%lx mapeados%d
 no se mapea: no se estableciÃ³ la variable de ambiente
-nota: se define '%s' en DSO %B asÃ­ que se tratarÃ¡ de agregarlo a la lÃ­nea de Ã³rdenes del enlazadorfuera de rangodesbordamiento despuÃ©s de la relajaciÃ³ndesbordamiento de la reubicaciÃ³n de cabo de sobreescrituraopciones privadas = %lxopciones privadas = %lx:opciones privadas = %lx: opciones privadas = %x:opciones privadas = 0x%lxopciones privadas = 0x%lx:prolog: direcciÃ³n bkpt 0x%08x
-sÃ­mbolo protegidorecini: nombre: %.*s
+sin deffuera de rangodesbordamiento despuÃ©s de la relajaciÃ³ndesbordamiento de la reubicaciÃ³n de cabo de sobreescriturapuntero
+opciones privadas = %lxopciones privadas = %lx:opciones privadas = %lx: opciones privadas = %x:marcas privadas = 0x%lxmarcas privadas = 0x%lx:prolog: direcciÃ³n bkpt 0x%08x
+sÃ­mbolo protegidosÃ­mbolo protegido recini: nombre: %.*s
 recfin
-referencia a una direcciÃ³n almacenada [%lx:%04lx] en el espacio normal de direcciones en %04lxregla reubicaciÃ³n `%s' aÃºn no se implementala reubicaciÃ³n referencÃ­a un sÃ­mbolo que no estÃ¡ definido en el mÃ³dulola reubicaciÃ³n requiere una adiciÃ³n cerola reubicaciÃ³n debe ser un nÃºmero nonno se admiten las reubicaciones entre segmentos diferentesse reabre %B: %s
+referencia a una direcciÃ³n almacenada [%lx:%04lx] en el espacio normal de direcciones en %04lxregreub (%d) es *DESCONOCIDA*reubicaciÃ³n Â«%sÂ» aÃºn no implementadareubicaciÃ³n fuera de rangola referencia reubicante simbÃ³lica no definida dentro del mÃ³dulola reubicaciÃ³n requiere una adiciÃ³n cerola reubicaciÃ³n debe ser un nÃºmero parno se admiten las reubicaciones entre segmentos diferentesse reabre %B: %s
 orden %d reservadartnini
 rtnfin: tam 0x%08x
-septip, nombre: %.*s
+secciÃ³n direccional (%#Lx) bajo inicio de segmento (%#Lx)septip, nombre: %.*s
 set_abs_pc: 0x%08x
 set_line_num(w) %u
 set_line_num_b %u
 set_line_num_l %u
-la secciÃ³n small-data excede los 64KB; disminuya el lÃ­mite de tamaÃ±o de small-data (vea la opciÃ³n -G)som_sizeof_headers sin implementarperdÃ³n, no se admiten ficheros objeto duplicados en el guiÃ³n de sobreescritura automÃ¡tica
-fuente (lon: %u)
-datos estÃ¡ndar: %s
-procedimiento estÃ¡tico (sin nombre)la entrada de cabo para %s no puede cargar .plt, desplazamiento dp = %ldlos cabos no coinciden con el tamaÃ±o calculadosÃ­mboloinformaciÃ³n de matriz de versiÃ³n de sistema:
-term(b): 0x%02xterm_w: 0x%04xespectip (lon: %u)
-no se puede encontrar el pegamento ARM '%s' para `%s'no se puede encontrar el pegamento THUMB '%s' para `%s'no se puede leer en la secciÃ³n %s desde %Bno se puede leer la orden load 0x%lx desconocidano se puede escribir la orden load 0x%lx desconocidacadena de bit sin alinear de %s
-convenciÃ³n de llamada incierta para un sÃ­mbolo que no es COFFreferencia %s sin definir en el sÃ­mbolo complejo: %stipo de entrada egsd %u sin manejar
-subtipo emh %u sin manejar
-desconocidoorden ETIR %d desconocidaerror desconocidovalor de encabezado de orden de byte 0x%lx desconocidoorden de lÃ­nea %d desconocidaoperador desconocido '%c' en el sÃ­mbolo complejoorden fuente %d desconocidano se admite la orden STA %sno se admite la reubicaciÃ³nno se admite el tipo de reubicaciÃ³nno se admite la reubicaciÃ³nno se admite la reubicaciÃ³n entre espacios de direcciones datos/insnse usan valores mÃºltiples de gparquitectura v850arquitectura v850earquitectura v850e1arquitectura v850e2arquitectura v850e2v3vops: 0x%02x, valor: 0x%08x vma:			DireccInicio	 DireccFin 	  InformaciÃ³nDesenvuelta
-aviso: %B y %B difieren en tamaÃ±o wchar_taviso: %B y %B difieren en si el cÃ³digo estÃ¡ compilado para DSBTaviso: %B usa enums %s aunque la salida usa enums %s; el uso de valores enum entre objetos puede fallaraviso: %B usa wchar_t de %u bytes aunque la salida usa wchar_t de %u bytes; el uso de valores wchar_t entre objetos puede fallaraviso: %B: el sÃ­mbolo local `%s' no tiene secciÃ³naviso: %s excede el tamaÃ±o de la secciÃ³n
-aviso: %s tiene un Ã­ndice de tablas de cadenas corrupto - se descartaaviso: %s sobreescribe %s
-aviso: la secciÃ³n %s es de tamaÃ±o ceroaviso: el tamaÃ±o de la secciÃ³n .pdata (%ld) no es un mÃºltiplo de %d
-aviso: se intenta exportar el sÃ­mbolo sin definir `%s'aviso: se llama al sÃ­mbolo %s que no es funciÃ³n, definido en %Baviso: se genera una biblioteca compartida que contiene cÃ³digo que no esPICaviso: se genera una biblioteca compartida que contiene cÃ³digo que no es PIDaviso: la reubicaciÃ³n referencÃ­a un segmento diferenteaviso: la secciÃ³n '%s' se estÃ¡ convirtiendo en una notaaviso: el tipo de la secciÃ³n `%A' cambiÃ³ a PROGBITSaviso: el tipo y tamaÃ±o del sÃ­mbolo dinÃ¡mico `%s' no estÃ¡n definidosaviso: no se puede establecer el tamaÃ±o de la secciÃ³n %s en %Baviso: no se puede actualizar el contenido de la secciÃ³n %s en %sno se le permite definir %s en un guiÃ³n
\ No newline at end of file
+objeto compartidola secciÃ³n small-data excede los 64KB; disminuya el lÃ­mite de tamaÃ±o de small-data (vea la opciÃ³n -G)som_sizeof_headers sin implementarperdÃ³n, no se admiten ficheros objeto duplicados en el guiÃ³n de sobreescritura automÃ¡tica
+disculpe: modtab, toc y extrefsyms aÃºn no estÃ¡n implementados para Ã³rdenes dysymtab.fuente (lon: %u)
+datos comunes: %s
+procedimiento estÃ¡tico (sin nombre)la entrada de cabo para %s no puede cargar .plt, desplazamiento dp = %Ldlos cabos no coinciden con el tamaÃ±o calculadosÃ­mbolosÃ­mbolo informaciÃ³n de matriz de versiÃ³n de sistema:
+term(b): 0x%02xterm_w: 0x%04xel destino bfin no soporta actualmente la generaciÃ³n de copia reubicabletipo especÃ­fico para elemento:
+tipo especÃ­fico para subcadena %u:
+
+puntero tipado
+espectip (lon: %u)
+incapaz de ubicar datos para orden de carga %#xno se puede encontrar el pegamento ARM Â«%sÂ» para Â«%sÂ»no se puede encontrar el pegamento THUMB Â«%sÂ» para Â«%sÂ»incapaz de distribuir orden de carga desconocida %#xno se puede leer en la secciÃ³n %s desde %Bincapaz de escribir orden de carga desconocida %#xcadena de bit sin alinear de %s
+convenciÃ³n de llamada incierta para un sÃ­mbolo que no es COFFindefinido referencia %s sin definir en el sÃ­mbolo complejo: %stipo de entrada egsd %u sin manipular
+subtipo emh %u sin manipular
+desconocidoorden ETIR %d desconocidaerror desconocidovalor de encabezado de orden de byte %#x desconocidoorden de lÃ­nea %d desconocidaoperador desconocido '%c' en el sÃ­mbolo complejoorden fuente %d desconocidaarquitectura v850 desconocidadesconocido: %xnÃºmero reubicante MIPS no reconocido: %dreubicaciÃ³n no reconocida (0x%x)no se admite la orden STA %sno se admite la reubicaciÃ³nno se admite el tipo de reubicaciÃ³nno se admite la reubicaciÃ³nno se admite la reubicaciÃ³n entre espacios de direcciones datos/insnse usan valores mÃºltiples de gparquitectura v850 E3arquitectura v850arquitectura v850earquitectura v850e1arquitectura v850e2arquitectura v850e2v3v850e3v5 como arquitecturavops: 0x%02x, valor: 0x%08x vma:			DireccInicio	 DireccFin 	  DatosDesenvuelta
+aviso: %B y %B difieren en tamaÃ±o wchar_taviso: %B y %B difieren en si el cÃ³digo estÃ¡ compilado para DSBTaviso: %B tiene un Ã­ndice de tablas de cadenas corrupto - se descartaaviso: %B estÃ¡ truncado: esperaba el tamaÃ±o de fichero core >= %Lu, se encontrÃ³: %lluaviso: %B emplea â€˜enumsâ€™ %s aunque la salida emplea â€˜enumsâ€™ %s; emplea valores â€˜enumâ€™ entre objetos quizÃ¡ fallaaviso: %B emplea wchar_t de %u bytes aunque la salida usa wchar_t de %u bytes; el uso de valores wchar_t entre objetos puede fallaraviso: %B: tamaÃ±o GNU_PROPERTY_TYPE (%ld) corrupto: %#lxadvertencia: %B: GNU_PROPERTY_TYPE corrupto (%ld) tipo (0x%x) datosz: 0x%xaviso: %B: corrupto no copia en tamaÃ±o protegido: 0x%xaviso: %B; tamaÃ±o de pila corrupta: 0x%xaviso: %B: el sÃ­mbolo local Â«%sÂ» no tiene secciÃ³ncuidado: %B: tipo GNU_PROPERTY_TYPE (%ld) no soportado: 0x%xaviso: %s excede el tamaÃ±o de la secciÃ³n
+aviso: %s cubre %s
+aviso: la secciÃ³n %s es de tamaÃ±o ceroaviso: se intenta exportar el sÃ­mbolo sin definir Â«%sÂ»aviso: se llama al sÃ­mbolo %s que no es funciÃ³n, definido en %Baviso: descartando secciÃ³n dinÃ¡mica %saviso: se genera una biblioteca compartida que contiene cÃ³digo que no esPICaviso: se genera una biblioteca compartida que contiene cÃ³digo que no es PIDaviso: la reubicaciÃ³n referencÃ­a un segmento diferenteaviso: la secciÃ³n Â«%sÂ» se estÃ¡ convirtiendo en una notaaviso: el tipo de la secciÃ³n `%A' cambiÃ³ a PROGBITSaviso: el tipo y tamaÃ±o del sÃ­mbolo dinÃ¡mico Â«%sÂ» no estÃ¡n definidosaviso: no se puede establecer el tamaÃ±o de la secciÃ³n %s en %Baviso: no se puede actualizar el contenido de la secciÃ³n %s en %Baviso: escribiendo secciÃ³n `%A' en desplazamiento de fichero enorme (pe negativo)aviso: secciÃ³n de datos xdata corruptaaviso: secciÃ³n de datos xdata corrupto
+sÃ­no se le permite definir %s en un guiÃ³n
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/es.po ./bfd/po/es.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/es.po	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/po/es.po	2018-07-10 02:06:11.000000000 +0000
@@ -1,176 +1,195 @@
-# Mensajes en espaÃ±ol para bfd 2.22.90.
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Spanish transaltion for bfd 2.30.0
+# Copyright (C) 2002 - 2018 Free Software Foundation, Inc.
 # This file is distributed under the same license as the binutils package.
-# Cristian OthÃ³n MartÃ­nez Vera <cfuga@cfuga.mx>, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-#
+# Cristian OthÃ³n MartÃ­nez Vera <cfuga@cfuga.mx>, 2002 - 2012
+# Francisco Javier Serrador <fserrador@gmail.com>, 2018
 msgid ""
 msgstr ""
-"Project-Id-Version: bfd 2.22.90\n"
+"Project-Id-Version: bfd 2.30.0\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2011-10-25 11:58+0100\n"
-"PO-Revision-Date: 2012-07-27 12:29-0500\n"
-"Last-Translator: Cristian OthÃ³n MartÃ­nez Vera <cfuga@cfuga.mx>\n"
-"Language-Team: Spanish <es@li.org>\n"
+"POT-Creation-Date: 2018-01-13 13:44+0000\n"
+"PO-Revision-Date: 2018-03-18 12:38+0200\n"
+"Last-Translator: Javier <fserrador@gmail.com>\n"
+"Language-Team: Spanish <es@tp.org.es>\n"
 "Language: es\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Virtaal 0.7.1\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: aout-adobe.c:127
+#: aout-adobe.c:126
+#, c-format
 msgid "%B: Unknown section type in a.out.adobe file: %x\n"
-msgstr "%B: Tipo de secciÃ³n desconocido en el fichero a.out.adobe: %x\n"
+msgstr "%B: Tipo seccional desconocido en el fichero a.out.adobe: %x\n"
 
-#: aout-cris.c:199
+#: aout-cris.c:200
 #, c-format
-msgid "%s: Invalid relocation type exported: %d"
-msgstr "%s: Se exportÃ³ un tipo de reubicaciÃ³n invÃ¡lido: %d"
+msgid "%B: Invalid relocation type exported: %d"
+msgstr "%B: tipo reubicante invÃ¡lido exportado: %d"
 
-#: aout-cris.c:242
+#: aout-cris.c:244
+#, c-format
 msgid "%B: Invalid relocation type imported: %d"
 msgstr "%B: Se importÃ³ un tipo de reubicaciÃ³n invÃ¡lido: %d"
 
-#: aout-cris.c:253
+#: aout-cris.c:256
+#, c-format
 msgid "%B: Bad relocation record imported: %d"
-msgstr "%B: Se importÃ³ un registro de reubicaciÃ³n errÃ³neo: %d"
+msgstr "%B: equivocaciÃ³n de registro reubicable importado: %d"
 
-#: aoutx.h:1273 aoutx.h:1611
+#: aoutx.h:1284 aoutx.h:1636 pdp11.c:1152 pdp11.c:1413
 #, c-format
-msgid "%s: can not represent section `%s' in a.out object file format"
-msgstr "%s: no se puede representar la secciÃ³n `%s' en el formato de fichero objeto a.out"
+msgid "%B: can not represent section `%A' in a.out object file format"
+msgstr "%B: no se puede representar la secciÃ³n `%A' dentro del formato de fichero objeto a.out"
 
-#: aoutx.h:1577
+#: aoutx.h:1600 pdp11.c:1385
 #, c-format
-msgid "%s: can not represent section for symbol `%s' in a.out object file format"
-msgstr "%s: no se puede representar la secciÃ³n para el sÃ­mbolo `%s' en el formato de fichero objeto a.out"
+msgid "%B: can not represent section for symbol `%s' in a.out object file format"
+msgstr "%B: no se puede representar la secciÃ³n para el sÃ­mbolo Â«%sÂ» en el formato de fichero objeto a.out"
 
-#: aoutx.h:1579 vms-alpha.c:7671
+#: aoutx.h:1603 vms-alpha.c:7853
 msgid "*unknown*"
 msgstr "*desconocido*"
 
-#: aoutx.h:4018 aoutx.h:4344
+#: aoutx.h:2422 aoutx.h:2440
+msgid "%B: attempt to write out unknown reloc type"
+msgstr "%B: intenta escribir fuera de tipo de reubicaciÃ³n desconocida"
+
+#: aoutx.h:4093 aoutx.h:4414
 msgid "%P: %B: unexpected relocation type\n"
 msgstr "%P: %B: tipo de reubicaciÃ³n inesperado\n"
 
-#: aoutx.h:5375
+#: aoutx.h:5440 pdp11.c:3708
 #, c-format
-msgid "%s: relocatable link from %s to %s not supported"
-msgstr "%s: no se admite el enlace reubicable de %s a %s"
+msgid "%B: relocatable link from %s to %s not supported"
+msgstr "%B: enlace reubicable desde %s hasta %s sin apoyo"
 
-#: archive.c:2203
+#: archive.c:2305
 msgid "Warning: writing archive was slow: rewriting timestamp\n"
 msgstr "Aviso: la escritura del fichero fue lenta: se reescribe la marca de tiempo\n"
 
+#: archive.c:2421 linker.c:1410
+msgid "%B: plugin needed to handle lto object"
+msgstr "%B: complementos requeridos para manipular objeto lto"
+
 # Â¡Uff! Si utilizÃ¡ramos file=archivo, esta traducciÃ³n serÃ­a imposible. cfuga
-#: archive.c:2491
+#: archive.c:2650
 msgid "Reading archive file mod timestamp"
 msgstr "Se lee la marca de tiempo modificada del fichero en el archivo"
 
-#: archive.c:2515
+#: archive.c:2674
 msgid "Writing updated armap timestamp"
-msgstr "Se escribe la marca de tiempo actualizada de armap"
+msgstr "Se escribe la marca temporal actualizada de â€˜armapâ€™"
 
-#: bfd.c:398
+#: bfd.c:454
 msgid "No error"
 msgstr "No hay error"
 
-#: bfd.c:399
+#: bfd.c:455
 msgid "System call error"
-msgstr "Error en la llamada al sistema"
+msgstr "Error en llamada al sistema"
 
-#: bfd.c:400
+#: bfd.c:456
 msgid "Invalid bfd target"
 msgstr "Objetivo bfd invÃ¡lido"
 
-#: bfd.c:401
+#: bfd.c:457
 msgid "File in wrong format"
-msgstr "Fichero en formato errÃ³neo"
+msgstr "Fichero en formato equivocado"
 
-#: bfd.c:402
+#: bfd.c:458
 msgid "Archive object file in wrong format"
-msgstr "Archivo de ficheros objeto en formato errÃ³neo"
+msgstr "Archivo de ficheros objeto en formato equivocado"
 
-#: bfd.c:403
+#: bfd.c:459
 msgid "Invalid operation"
 msgstr "OperaciÃ³n invÃ¡lida"
 
-#: bfd.c:404
+#: bfd.c:460
 msgid "Memory exhausted"
 msgstr "Memoria agotada"
 
-#: bfd.c:405
+#: bfd.c:461
 msgid "No symbols"
 msgstr "No hay sÃ­mbolos"
 
-#: bfd.c:406
+#: bfd.c:462
 msgid "Archive has no index; run ranlib to add one"
-msgstr "El archivo no tiene Ã­ndice; ejecute ranlib para agregar uno"
+msgstr "Archivo no tiene Ã­ndice; ejecute ranlib para aÃ±adir uno"
 
-#: bfd.c:407
+#: bfd.c:463
 msgid "No more archived files"
 msgstr "No hay mÃ¡s ficheros archivados"
 
-#: bfd.c:408
+#: bfd.c:464
 msgid "Malformed archive"
 msgstr "Archivo malformado"
 
-#: bfd.c:409
+#: bfd.c:465
+msgid "DSO missing from command line"
+msgstr "DSO faltante desde lÃ­nea de orden"
+
+#: bfd.c:466
 msgid "File format not recognized"
 msgstr "No se reconoce el formato del fichero"
 
-#: bfd.c:410
+#: bfd.c:467
 msgid "File format is ambiguous"
-msgstr "El formato del fichero es ambiguo"
+msgstr "Formato del fichero es ambiguo"
 
-#: bfd.c:411
+#: bfd.c:468
 msgid "Section has no contents"
 msgstr "La secciÃ³n no tiene contenido"
 
-#: bfd.c:412
+#: bfd.c:469
 msgid "Nonrepresentable section on output"
 msgstr "SecciÃ³n no representable en la salida"
 
-#: bfd.c:413
+#: bfd.c:470
 msgid "Symbol needs debug section which does not exist"
 msgstr "Un sÃ­mbolo requiere de una secciÃ³n de depuraciÃ³n, la cual no existe"
 
-#: bfd.c:414
+#: bfd.c:471
 msgid "Bad value"
-msgstr "Valor errÃ³neo"
+msgstr "Valor equivocado"
 
-#: bfd.c:415
+#: bfd.c:472
 msgid "File truncated"
 msgstr "Fichero truncado"
 
-#: bfd.c:416
+#: bfd.c:473
 msgid "File too big"
-msgstr "El fichero es demasiado grande"
+msgstr "Fichero demasiado grande"
 
-#: bfd.c:417
+#: bfd.c:474
 #, c-format
 msgid "Error reading %s: %s"
 msgstr "Error al leer %s: %s"
 
-#: bfd.c:418
+#: bfd.c:475
 msgid "#<Invalid error code>"
 msgstr "#<CÃ³digo de error invÃ¡lido>"
 
-#: bfd.c:945
+#: bfd.c:1442
 #, c-format
 msgid "BFD %s assertion fail %s:%d"
-msgstr "fallÃ³ la aseveraciÃ³n BFD %s %s:%d"
+msgstr "FallÃ³ la aseveraciÃ³n BFD %s %s:%d"
 
-#: bfd.c:957
+#: bfd.c:1455
 #, c-format
-msgid "BFD %s internal error, aborting at %s line %d in %s\n"
-msgstr "error interno de BFD %s, se aborta en %s lÃ­nea %d en %s\n"
+msgid "BFD %s internal error, aborting at %s:%d in %s\n"
+msgstr ""
+"Error interno %s BFD: se aborta en %s:%d en %s\n"
+"\n"
 
-#: bfd.c:961
+#: bfd.c:1460
 #, c-format
-msgid "BFD %s internal error, aborting at %s line %d\n"
-msgstr "error interno de BFD %s, se aborta en %s lÃ­nea %d\n"
+msgid "BFD %s internal error, aborting at %s:%d\n"
+msgstr "Error interno %s BFD: se aborta en %s:%d\n"
 
-#: bfd.c:963
+#: bfd.c:1462
 msgid "Please report this bug.\n"
 msgstr "Por favor reporte este bicho.\n"
 
@@ -184,65 +203,68 @@ msgstr "no se mapea: datos=%lx mapeados%
 msgid "not mapping: env var not set\n"
 msgstr "no se mapea: no se estableciÃ³ la variable de ambiente\n"
 
-#: binary.c:271
+#: binary.c:276
 #, c-format
-msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx."
-msgstr "Aviso: Se escribe la secciÃ³n `%s' a un desplazamiento de fichero grande (pe negativo) 0x%lx."
+msgid "warning: writing section `%A' at huge (ie negative) file offset"
+msgstr "aviso: escribiendo secciÃ³n `%A' en desplazamiento de fichero enorme (pe negativo)"
 
-#: bout.c:1146 elf-m10300.c:2063 elf32-avr.c:1654 elf32-frv.c:5734
-#: elfxx-sparc.c:2802 reloc.c:6115 reloc16.c:162 elf32-ia64.c:360
-#: elf64-ia64.c:360
+#: bout.c:1142 elf-m10300.c:2647 elf32-avr.c:2484 elf32-frv.c:5633
+#: elf64-ia64-vms.c:353 elfxx-sparc.c:2817 reloc.c:8059 reloc16.c:156
+#: elf32-ia64.c:351 elf64-ia64.c:351
 msgid "%P%F: --relax and -r may not be used together\n"
 msgstr "%P%F: --relax y -r no se pueden usar juntos\n"
 
-#: cache.c:227
+#: cache.c:273
+#, c-format
 msgid "reopening %B: %s\n"
 msgstr "se reabre %B: %s\n"
 
-#: coff-alpha.c:491
+#: coff-alpha.c:450
 msgid ""
 "%B: Cannot handle compressed Alpha binaries.\n"
 "   Use compiler flags, or objZ, to generate uncompressed binaries."
 msgstr ""
 "%B: No se pueden manejar binarios Alpha comprimidos.\n"
-"   Use las opciones del compilador, o objZ, para generar binarios sin comprimir."
+"   Emplee opciones del compilador, o objZ, para generar binarios sin comprimir."
 
-#: coff-alpha.c:648
+#: coff-alpha.c:602
 msgid "%B: unknown/unsupported relocation type %d"
 msgstr "%B: tipo de reubicaciÃ³n %d desconocida/no admitida"
 
-#: coff-alpha.c:900 coff-alpha.c:937 coff-alpha.c:2025 coff-mips.c:1003
+#: coff-alpha.c:851 coff-alpha.c:888 coff-alpha.c:1961 coff-mips.c:950
 msgid "GP relative relocation used when GP not defined"
-msgstr "se usÃ³ una reubicaciÃ³n relativa a GP cuando GP no estaba definido"
+msgstr "ReubicaciÃ³n relativa GP empleada cuando GP no estaba definido"
 
-#: coff-alpha.c:1502
+#: coff-alpha.c:1444
 msgid "using multiple gp values"
 msgstr "se usan valores mÃºltiples de gp"
 
-#: coff-alpha.c:1561
+#: coff-alpha.c:1503
 msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH"
 msgstr "%B: tipo de reubicaciÃ³n no admitida: ALPHA_R_GPRELHIGH"
 
-#: coff-alpha.c:1568
+#: coff-alpha.c:1510
 msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
 msgstr "%B: tipo de reubicaciÃ³n no admitida: ALPHA_R_GPRELLOW"
 
-#: coff-alpha.c:1575 elf32-m32r.c:2484 elf64-alpha.c:4074 elf64-alpha.c:4224
-#: elf32-ia64.c:3839 elf64-ia64.c:3839
+#: coff-alpha.c:1518 elf32-i370.c:1081 elf32-m32r.c:2404
+#: elf32-microblaze.c:932 elf64-alpha.c:4098 elf64-alpha.c:4246
+#: elf64-ia64-vms.c:3430 elf32-ia64.c:3847 elf64-ia64.c:3847
+#, c-format
 msgid "%B: unknown relocation type %d"
 msgstr "%B: tipo de reubicaciÃ³n %d desconocido"
 
-#: coff-arm.c:1038
+#: coff-arm.c:1037
 #, c-format
 msgid "%B: unable to find THUMB glue '%s' for `%s'"
-msgstr "%B: no se puede encontrar el pegamento THUMB '%s' para `%s'"
+msgstr "%B: no se puede encontrar el pegamento THUMB Â«%sÂ» para Â«%sÂ»"
 
-#: coff-arm.c:1067
+#: coff-arm.c:1066
 #, c-format
 msgid "%B: unable to find ARM glue '%s' for `%s'"
-msgstr "%B: no se puede encontrar el pegamento ARM '%s' para `%s'"
+msgstr "%B: no se puede encontrar el pegamento ARM Â«%sÂ» para Â«%sÂ»"
 
-#: coff-arm.c:1369 elf32-arm.c:7023
+#: coff-arm.c:1368 elf32-arm.c:8896
 #, c-format
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
@@ -251,7 +273,7 @@ msgstr ""
 "%B(%s): aviso: no se activÃ³ la interoperabilidad.\n"
 "  primer suceso: %B: llamada arm a thumb"
 
-#: coff-arm.c:1459
+#: coff-arm.c:1458
 #, c-format
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
@@ -262,317 +284,534 @@ msgstr ""
 "  primer suceso: %B: llamada thumb a arm\n"
 "  considere reenlazar con --support-old-code activado"
 
-#: coff-arm.c:1754 coff-tic80.c:695 cofflink.c:3081
-msgid "%B: bad reloc address 0x%lx in section `%A'"
-msgstr "%B: direcciÃ³n de reubicaciÃ³n 0x%lx errÃ³nea en la secciÃ³n `%A'"
-
-#: coff-arm.c:2079
-msgid "%B: illegal symbol index in reloc: %d"
-msgstr "%B: Ã­ndice de sÃ­mbolos ilegal en la reubicaciÃ³n: %d"
+#: coff-arm.c:1751 coff-tic80.c:672 cofflink.c:3127
+#, c-format
+msgid "%B: bad reloc address %#Lx in section `%A'"
+msgstr "%B: direcciÃ³n de reubicaciÃ³n %#Lx equivocada en la secciÃ³n `%A'"
+
+#: coff-arm.c:2076
+#, c-format
+msgid "%B: illegal symbol index in reloc: %ld"
+msgstr "%B: Ã­ndice simbÃ³lico ilegal en reubicaciÃ³n: %ld"
 
-#: coff-arm.c:2210
+#: coff-arm.c:2208
 #, c-format
 msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
 msgstr "error: %B estÃ¡ compilado para APCS-%d, mientras que %B estÃ¡ compilado para APCS-%d"
 
-#: coff-arm.c:2226 elf32-arm.c:15621
+#: coff-arm.c:2221 elf32-arm.c:19582
 #, c-format
 msgid "error: %B passes floats in float registers, whereas %B passes them in integer registers"
 msgstr "error: %B pasa nÃºmeros de coma flotante en registros de coma flotante, mientras que %B los pasa en registros enteros"
 
-#: coff-arm.c:2229 elf32-arm.c:15625
+#: coff-arm.c:2226 elf32-arm.c:19586
 #, c-format
 msgid "error: %B passes floats in integer registers, whereas %B passes them in float registers"
 msgstr "error: %B pasa nÃºmeros de coma flotante en registros enteros, mientras que %B los pasa en registros de coma flotante"
 
-#: coff-arm.c:2243
+#: coff-arm.c:2238
 #, c-format
 msgid "error: %B is compiled as position independent code, whereas target %B is absolute position"
 msgstr "error: %B estÃ¡ compilado como cÃ³digo independiente de posiciÃ³n, mientras que el objetivo %B es de posiciÃ³n absoluta"
 
-#: coff-arm.c:2246
+#: coff-arm.c:2243
 #, c-format
 msgid "error: %B is compiled as absolute position code, whereas target %B is position independent"
 msgstr "error: %B estÃ¡ compilado como cÃ³digo de posiciÃ³n absoluta, mientras que el objetivo %B es independiente de posiciÃ³n"
 
-#: coff-arm.c:2274 elf32-arm.c:15690
+#: coff-arm.c:2270 elf32-arm.c:19651
 #, c-format
 msgid "Warning: %B supports interworking, whereas %B does not"
 msgstr "Aviso: %B admite interoperabilidad, mientras que %B no"
 
-#: coff-arm.c:2277 elf32-arm.c:15696
+#: coff-arm.c:2275 elf32-arm.c:19657
 #, c-format
 msgid "Warning: %B does not support interworking, whereas %B does"
 msgstr "Aviso: %B no admite interoperabilidad, mientras que %B sÃ­"
 
-#: coff-arm.c:2301
+#: coff-arm.c:2298
 #, c-format
 msgid "private flags = %x:"
 msgstr "opciones privadas = %x:"
 
-#: coff-arm.c:2309 elf32-arm.c:11806
+#: coff-arm.c:2306 elf32-arm.c:14160
 #, c-format
 msgid " [floats passed in float registers]"
-msgstr "[nÃºmeros de coma flotante pasados en registros de coma flotante]"
+msgstr " [flotante pasados en registros de coma flotante]"
 
-#: coff-arm.c:2311
+#: coff-arm.c:2308
 #, c-format
 msgid " [floats passed in integer registers]"
-msgstr "[nÃºmeros de coma flotante pasados en registros enteros]"
+msgstr " [flotante pasados en registros enteros]"
 
-#: coff-arm.c:2314 elf32-arm.c:11809
+#: coff-arm.c:2311 elf32-arm.c:14163
 #, c-format
 msgid " [position independent]"
-msgstr "[independiente de posiciÃ³n]"
+msgstr " [independiente posicional]"
 
-#: coff-arm.c:2316
+#: coff-arm.c:2313
 #, c-format
 msgid " [absolute position]"
-msgstr "[posiciÃ³n absoluta]"
+msgstr " [posiciÃ³n absoluta]"
 
-#: coff-arm.c:2320
+#: coff-arm.c:2317
 #, c-format
 msgid " [interworking flag not initialised]"
-msgstr "[no se inicializÃ³ la opciÃ³n de interoperabilidad]"
+msgstr " [opciÃ³n de interoperabilidad no iniciada]"
 
-#: coff-arm.c:2322
+#: coff-arm.c:2319
 #, c-format
 msgid " [interworking supported]"
-msgstr "[admite interoperabilidad]"
+msgstr " [admite interoperabilidad]"
 
-#: coff-arm.c:2324
+#: coff-arm.c:2321
 #, c-format
 msgid " [interworking not supported]"
-msgstr "[no admite interoperabilidad]"
+msgstr " [no admite interoperabilidad]"
 
-#: coff-arm.c:2370 elf32-arm.c:10841
-#, c-format
+#: coff-arm.c:2366 elf32-arm.c:13021
 msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"
 msgstr "Aviso: No se establece la opciÃ³n de interoperabilidad de %B ya que se habÃ­a especificado con anterioridad como no interoperable"
 
-#: coff-arm.c:2374 elf32-arm.c:10845
-#, c-format
+#: coff-arm.c:2369 elf32-arm.c:13025
 msgid "Warning: Clearing the interworking flag of %B due to outside request"
 msgstr "Aviso: Se limpia la opciÃ³n de interoperabilidad de %B debido a una peticiÃ³n externa"
 
-#: coff-h8300.c:1122
+#: coff-arm.c:2426 elf32-arm.c:13070
+#, c-format
+msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
+msgstr "Aviso: Se limpia la opciÃ³n de interoperaciÃ³n en %B porque se ha enlazado con Ã©l cÃ³digo no interoperable en %B"
+
+#: coff-h8300.c:1068
 #, c-format
 msgid "cannot handle R_MEM_INDIRECT reloc when using %s output"
-msgstr "no se puede manejar la reubicaciÃ³n R_MEM_INDIRECT cuando se utiliza la salida %s"
+msgstr "no se puede manipular la reubicaciÃ³n R_MEM_INDIRECT cuando se utiliza la salida %s"
 
-#: coff-i860.c:147
+#: coff-i860.c:151
 #, c-format
 msgid "relocation `%s' not yet implemented"
-msgstr "la reubicaciÃ³n `%s' aÃºn no se implementa"
+msgstr "reubicaciÃ³n Â«%sÂ» aÃºn no implementada"
 
-#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5198
+#: coff-i860.c:613 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5343
+#, c-format
 msgid "%B: warning: illegal symbol index %ld in relocs"
 msgstr "%B: aviso: Ã­ndice de sÃ­mbolos %ld ilegal en reubicaciones"
 
-#: coff-i960.c:144 coff-i960.c:507
+#: coff-i960.c:122 coff-i960.c:475
 msgid "uncertain calling convention for non-COFF symbol"
 msgstr "convenciÃ³n de llamada incierta para un sÃ­mbolo que no es COFF"
 
-#: coff-m68k.c:506 elf32-bfin.c:5690 elf32-cr16.c:2897 elf32-m68k.c:4677
+#: coff-m68k.c:488 elf32-bfin.c:5340 elf32-cr16.c:2801 elf32-m68k.c:4385
 msgid "unsupported reloc type"
 msgstr "no se admite el tipo de reubicaciÃ³n"
 
-#: coff-mips.c:688 elf32-mips.c:1516 elf32-score.c:431 elf32-score7.c:330
-#: elf64-mips.c:2618 elfn32-mips.c:2431
+#: coff-mips.c:640 elf32-mips.c:1744 elf32-score.c:430 elf32-score7.c:330
+#: elf64-mips.c:3135 elfn32-mips.c:2958
 msgid "GP relative relocation when _gp not defined"
-msgstr "reubicaciÃ³n relativa a GP cuando _gp no estÃ¡ definido"
+msgstr "ReubicaciÃ³n relativa GP cuando _gp no estÃ¡ definido"
 
-#: coff-or32.c:229
-msgid "Unrecognized reloc"
-msgstr "No se reconoce la reubicaciÃ³n"
-
-#: coff-rs6000.c:2720
+#: coff-rs6000.c:2773
 #, c-format
-msgid "%s: unsupported relocation type 0x%02x"
-msgstr "%s: no se admite el tipo de reubicaciÃ³n 0x%02x"
+msgid "%B: unsupported relocation type 0x%02x"
+msgstr "%B: tipo de reubicaciÃ³n 0x%02x no admitido"
 
-#: coff-rs6000.c:2805
+#: coff-rs6000.c:2859
 #, c-format
-msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
-msgstr "%s: reubicaciÃ³n de TOC en 0x%x al sÃ­mbolo `%s' sin entrada TOC"
+msgid "%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry"
+msgstr "%B: reubicaciÃ³n de TOC en %#Lx al sÃ­mbolo Â«%sÂ» sin ninguna entrada TOC"
 
-#: coff-rs6000.c:3556 coff64-rs6000.c:2111
+#: coff-rs6000.c:3605 coff64-rs6000.c:2150
+#, c-format
 msgid "%B: symbol `%s' has unrecognized smclas %d"
-msgstr "%B: el sÃ­mbolo `%s' tiene smclas %d que no se reconoce"
+msgstr "%B: el sÃ­mbolo Â«%sÂ» tiene smclas %d que no se reconoce"
 
-#: coff-sh.c:521
+#: coff-sh.c:504
 #, c-format
 msgid "SH Error: unknown reloc type %d"
 msgstr "Error SH: tipo de reubicaciÃ³n %d desconocido"
 
-#: coff-tic4x.c:195 coff-tic54x.c:299 coff-tic80.c:458
+#: coff-sh.c:778 elf32-sh.c:580
 #, c-format
-msgid "Unrecognized reloc type 0x%x"
-msgstr "No se reconoce el tipo de reubicaciÃ³n 0x%x"
+msgid "%B: %#Lx: warning: bad R_SH_USES offset"
+msgstr "%B: %#Lx: aviso: desplazamiento R_SH_USES equivocado"
+
+#: coff-sh.c:789
+#, c-format
+msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x"
+msgstr "%B: %#Lx: aviso: R_SH_USES apunta al insn %#x no reconocido"
+
+#: coff-sh.c:807 elf32-sh.c:610
+#, c-format
+msgid "%B: %#Lx: warning: bad R_SH_USES load offset"
+msgstr "%B: %#Lx: aviso: desplazamiento de carga R_SH_USES equivocado"
 
-#: coff-tic4x.c:240
+#: coff-sh.c:832 elf32-sh.c:626
 #, c-format
-msgid "%s: warning: illegal symbol index %ld in relocs"
-msgstr "%s: aviso: Ã­ndice de sÃ­mbolos %ld ilegal en reubicaciones"
+msgid "%B: %#Lx: warning: could not find expected reloc"
+msgstr "%B: %#Lx: aviso: no se pudo encontrar la reubicaciÃ³n esperada"
 
-#: coff-w65.c:367
+#: coff-sh.c:849 elf32-sh.c:655
+#, c-format
+msgid "%B: %#Lx: warning: symbol in unexpected section"
+msgstr "%B: %#Lx: aviso: sÃ­mbolo dentro de secciÃ³n inesperada"
+
+#: coff-sh.c:975 elf32-sh.c:785
+#, c-format
+msgid "%B: %#Lx: warning: could not find expected COUNT reloc"
+msgstr "%B: %#Lx: aviso: no pudo encontrar la reubicaciÃ³n COUNT esperada"
+
+#: coff-sh.c:985 elf32-sh.c:795
+#, c-format
+msgid "%B: %#Lx: warning: bad count"
+msgstr "%B: %#Lx: aviso: contador equivocado"
+
+#: coff-sh.c:1357 coff-sh.c:2645 elf32-sh.c:1199 elf32-sh.c:1570
+#, c-format
+msgid "%B: %#Lx: fatal: reloc overflow while relaxing"
+msgstr "%B: %#Lx: fatal: desbordamiento de reubicaciÃ³n durante la relajaciÃ³n"
+
+#: coff-sh.c:1452
+msgid "%B: fatal: generic symbols retrieved before relaxing"
+msgstr "%B: fatal: sÃ­mbolos genÃ©ricos obtenidos antes de relajar"
+
+#: coff-sh.c:2783 cofflink.c:2965
+#, c-format
+msgid "%B: illegal symbol index %ld in relocs"
+msgstr "%B: Ã­ndice simbÃ³lico %ld ilegal en reubicaciones"
+
+#: coff-tic4x.c:183 coff-tic54x.c:278 coff-tic80.c:441
+#, c-format
+msgid "Unrecognized reloc type 0x%x"
+msgstr "No se reconoce el tipo de reubicaciÃ³n 0x%x"
+
+#: coff-w65.c:352
 #, c-format
 msgid "ignoring reloc %s\n"
 msgstr "se descarta la reubicaciÃ³n %s\n"
 
-#: coffcode.h:997
+#: coffcode.h:968
+msgid "%B: unable to load COMDAT section name"
+msgstr "%B: incapaz de cargar nombre de secciÃ³n COMDAT"
+
+#. Malformed input files can trigger this test.
+#. cf PR 21781.
+#: coffcode.h:1003
+msgid "%B: error: unexpected symbol '%s' in COMDAT section"
+msgstr "%B: error: sÃ­mbolo Â«%sÂ» sin esperado en la secciÃ³n COMDAT"
+
+#: coffcode.h:1015
+#, c-format
 msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
-msgstr "%B: aviso: el sÃ­mbolo COMDAT '%s' no coincide con el nombre de secciÃ³n '%s'"
+msgstr "%B: aviso: el sÃ­mbolo COMDAT Â«%sÂ» no coincide con el nombre seccional Â«%sÂ»"
+
+#: coffcode.h:1025
+#, c-format
+msgid "%B: warning: No symbol for section '%s' found"
+msgstr "%B: aviso: ningÃºn sÃ­mbolo para secciÃ³n Â«%sÂ» encontrado"
 
 #. Generate a warning message rather using the 'unhandled'
 #. variable as this will allow some .sys files generate by
 #. other toolchains to be processed.  See bugzilla issue 196.
-#: coffcode.h:1221
+#: coffcode.h:1251
+#, c-format
 msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
-msgstr "%B: Aviso: Se descarta la opciÃ³n de secciÃ³n IMAGE_SCN_MEM_NOT_PAGED en la secciÃ³n %s"
+msgstr "%B: Aviso: Se descarta la opciÃ³n seccional IMAGE_SCN_MEM_NOT_PAGED en la secciÃ³n %s"
 
-#: coffcode.h:1288
-msgid "%B (%s): Section flag %s (0x%x) ignored"
-msgstr "%B (%s): Se descarta la opciÃ³n de secciÃ³n %s (0x%x)"
+#: coffcode.h:1320
+#, c-format
+msgid "%B (%s): Section flag %s (%#lx) ignored"
+msgstr "%B (%s): marca de secciÃ³n %s (%#lx) ignorado"
+
+#: coffcode.h:1950
+msgid "%B: warning: claims to have 0xffff relocs, without overflow"
+msgstr "%B: aviso: reclama tener reubicados 0xffff, sin desbordamiento superior"
 
-#: coffcode.h:2430
+#: coffcode.h:2466
 #, c-format
 msgid "Unrecognized TI COFF target id '0x%x'"
 msgstr "No se reconoce el id de objetivo COFF TI '0x%x'"
 
-#: coffcode.h:2744
-msgid "%B: reloc against a non-existant symbol index: %ld"
-msgstr "%B: reubicaciÃ³n contra un Ã­ndice de sÃ­mbolo que no existe: %ld"
+#: coffcode.h:2784
+#, c-format
+msgid "%B: reloc against a non-existent symbol index: %ld"
+msgstr "%B: reubicaciÃ³n contra un Ã­ndice de sÃ­mbolo inexistente: %ld"
+
+#: coffcode.h:3187
+#, c-format
+msgid "%B: page size is too large (0x%x)"
+msgstr "%B: tamaÃ±o de pÃ¡gina es demasiado grande (0x%x)"
 
-#: coffcode.h:3302
+#: coffcode.h:3347
+#, c-format
 msgid "%B: too many sections (%d)"
 msgstr "%B: Demasiadas secciones (%d)"
 
-#: coffcode.h:3718
-msgid "%B: section %s: string table overflow at offset %ld"
-msgstr "%B: secciÃ³n %s: desbordamiento de tabla de cadenas en el desplazamiento %ld"
+#: coffcode.h:3768
+#, c-format
+msgid "%B: section %A: string table overflow at offset %ld"
+msgstr "%B: secciÃ³n %A: desbordamiento superior de segmento de cadenas en el desplazamiento %ld"
+
+#: coffcode.h:3873
+#, c-format
+msgid "%B:%s section %s: alignment 2**%u not representable"
+msgstr "%B:%s secciÃ³n %s: alineamiento 2**%u no representable"
+
+#: coffcode.h:4592
+msgid "%B: warning: line number count (%#lx) exceeds section size (%#lx)"
+msgstr "%B: aviso: contador de nÃºmero de lÃ­nea (%#lx) excede el tamaÃ±o (%#lx) de la secciÃ³n"
 
-#: coffcode.h:4523
+#: coffcode.h:4607
 msgid "%B: warning: line number table read failed"
-msgstr "%B: aviso: fallÃ³ la lectura de tabla de nÃºmeros de lÃ­nea"
+msgstr "%B: aviso: lectura de segmento de nÃºmeros de lÃ­nea fallada"
+
+#: coffcode.h:4641 coffcode.h:4655
+#, c-format
+msgid "%B: warning: illegal symbol index 0x%lx in line number entry %d"
+msgstr "%B: aviso: Ã­ndice simbÃ³lico 0x%ld ilegal en las entradas del nÃºmero de lÃ­nea %d"
 
-#: coffcode.h:4553
-msgid "%B: warning: illegal symbol index %ld in line numbers"
-msgstr "%B: aviso: Ã­ndice de sÃ­mbolos %ld ilegal en los nÃºmeros de lÃ­nea"
+#: coffcode.h:4669
+#, c-format
+msgid "%B: warning: illegal symbol in line number entry %d"
+msgstr "%B: aviso: sÃ­mbolos ilegal en la entrada del nÃºmero de lÃ­nea %d"
 
-#: coffcode.h:4567
+#: coffcode.h:4682
+#, c-format
 msgid "%B: warning: duplicate line number information for `%s'"
-msgstr "%B: aviso: informaciÃ³n de nÃºmeros de lÃ­nea duplicada para `%s'"
+msgstr "%B: aviso: informaciÃ³n de nÃºmeros de lÃ­nea duplicada para Â«%sÂ»"
 
-#: coffcode.h:4967
+#: coffcode.h:5103
+#, c-format
 msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
-msgstr "%B: No se reconoce la clase de almacenamiento %d para %s sÃ­mbolo `%s'"
+msgstr "%B: Clase de almacenamiento %d no reconocida para %s sÃ­mbolo Â«%sÂ»"
 
-#: coffcode.h:5093
+#: coffcode.h:5236
+#, c-format
 msgid "warning: %B: local symbol `%s' has no section"
-msgstr "aviso: %B: el sÃ­mbolo local `%s' no tiene secciÃ³n"
+msgstr "aviso: %B: el sÃ­mbolo local Â«%sÂ» no tiene secciÃ³n"
+
+#: coffcode.h:5383
+#, c-format
+msgid "%B: illegal relocation type %d at address %#Lx"
+msgstr "%B: tipo de reubicaciÃ³n %d ilegal en direcciÃ³n %#Lx"
+
+#: coffgen.c:178 elf.c:1198
+#, c-format
+msgid "%B: unable to initialize compress status for section %s"
+msgstr "%B: incapaz de inicializar estado compresivo para secciÃ³n %s"
 
-#: coffcode.h:5237
-msgid "%B: illegal relocation type %d at address 0x%lx"
-msgstr "%B: tipo de reubicaciÃ³n %d ilegal en la direcciÃ³n 0x%lx"
+#: coffgen.c:202 elf.c:1209
+#, c-format
+msgid "%B: unable to initialize decompress status for section %s"
+msgstr "%B: incapaz de inicializar estado descompresivo para secciÃ³n %s"
+
+#: coffgen.c:1649
+msgid "%B: corrupt symbol count: %#Lx"
+msgstr "%B: contador simbÃ³lico corrupto: %#Lx"
+
+#. PR 21013: Provide an error message when the alloc fails.
+#: coffgen.c:1658
+msgid "%B: not enough memory to allocate space for %#Lx symbols of size %#Lx"
+msgstr "%B: sin suficiente memoria para reservar espacio para sÃ­mbolos %#Lx de tamaÃ±o %#Lx"
+
+#: coffgen.c:1725
+#, c-format
+msgid "%B: bad string table size %Lu"
+msgstr "%B: tamaÃ±o equivocado de segmento de cadenas %Lu"
+
+#: coffgen.c:1902 coffgen.c:1962 coffgen.c:1980 cofflink.c:2045
+#: xcofflink.c:4507
+msgid "<corrupt>"
+msgstr "<corrupto>"
 
-#: coffgen.c:1595
-msgid "%B: bad string table size %lu"
-msgstr "%B: tamaÃ±o de tabla de cadenas %lu errÃ³neo"
+#: coffgen.c:2104
+#, c-format
+msgid "<corrupt info> %s"
+msgstr "<corrupto info> %s"
 
-#: coffgen.c:2500 elflink.c:12689 linker.c:3122
+#: coffgen.c:2683 elflink.c:14149 linker.c:2940
 msgid "%F%P: already_linked_table: %E\n"
 msgstr "%F%P: already_linked_table: %E\n"
 
-#: cofflink.c:533 elflink.c:4323
+#: coffgen.c:3024 elflink.c:13151
+#, c-format
+msgid "Removing unused section '%A' in file '%B'"
+msgstr "Quitando secciÃ³n Â«%AÂ» no utilizada en el fichero Â«%BÂ»"
+
+#: coffgen.c:3101 elflink.c:13369
+msgid "Warning: gc-sections option ignored"
+msgstr "Aviso: se descarta la opciÃ³n gc-sections"
+
+#: cofflink.c:352
+#, c-format
+msgid "Warning: symbol `%s' is both section and non-section"
+msgstr "Aviso: sÃ­mbolo Â«%sÂ» es ambas secciÃ³n y no secciÃ³n"
+
+#: cofflink.c:454 elf64-ia64-vms.c:5186 elflink.c:4831
+#, c-format
 msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
-msgstr "Aviso: el tipo del sÃ­mbolo `%s' cambiÃ³ de %d a %d en %B"
+msgstr "Aviso: el tipo del sÃ­mbolo Â«%sÂ» cambiÃ³ de %d a %d en %B"
 
-#: cofflink.c:2329
+#: cofflink.c:2373
+#, c-format
 msgid "%B: relocs in section `%A', but it has no contents"
-msgstr "%B: reubicaciones en la secciÃ³n `%A', pero no tiene contenido"
+msgstr "%B: reubicaciones en la secciÃ³n `%A', pero no tiene contenidos"
 
-#: cofflink.c:2391 elflink.c:9545
+#: cofflink.c:2436 elflink.c:10664
+#, c-format
 msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
 msgstr "%X`%s' referido en la secciÃ³n `%A' de %B: se definiÃ³ en la secciÃ³n descartada `%A' de %B\n"
 
-#: cofflink.c:2690 coffswap.h:826
+#: cofflink.c:2734
+#, c-format
+msgid "%B: %A: reloc overflow: %#x > 0xffff"
+msgstr "%B: %A: desbordamiento de reubicaciÃ³n: %#x > 0xffff"
+
+#: cofflink.c:2742
+#, c-format
+msgid "%B: warning: %A: line number overflow: %#x > 0xffff"
+msgstr "%B: aviso: %A: desbordamiento de nÃºmero de lÃ­nea: %#x > 0xffff"
+
+#: coffswap.h:811
+#, c-format
+msgid "%B: warning: %s: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: aviso: %s: desbordamiento de nÃºmero de lÃ­nea: 0x%lx > 0xffff"
+
+#: coffswap.h:825
 #, c-format
-msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
-msgstr "%s: %s: desbordamiento de reubicaciÃ³n: 0x%lx > 0xffff"
+msgid "%B: %s: reloc overflow: 0x%lx > 0xffff"
+msgstr "%B: %s: desbordamiento superior de reubicaciÃ³n: 0x%lx > 0xffff"
 
-#: cofflink.c:2699 coffswap.h:812
+#: compress.c:255
 #, c-format
-msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
-msgstr "%s: aviso: %s: desbordamiento de nÃºmero de lÃ­nea: 0x%lx > 0xffff"
+msgid "error: %B(%A) is too large (%#Lx bytes)"
+msgstr "error: %B(%A) es demasiado grande (%#Lx bytes)"
 
-#: cpu-arm.c:189 cpu-arm.c:200
+#: cpu-arm.c:192 cpu-arm.c:204
+#, c-format
 msgid "error: %B is compiled for the EP9312, whereas %B is compiled for XScale"
 msgstr "error: %B estÃ¡ compilado para el EP9312, mientras que %B estÃ¡ compilado para XScale"
 
-#: cpu-arm.c:333
+#: cpu-arm.c:338
 #, c-format
-msgid "warning: unable to update contents of %s section in %s"
-msgstr "aviso: no se puede actualizar el contenido de la secciÃ³n %s en %s"
+msgid "warning: unable to update contents of %s section in %B"
+msgstr "aviso: no se puede actualizar el contenido de la secciÃ³n %s en %B"
 
-#: dwarf2.c:496
+#: dwarf2.c:543
 #, c-format
 msgid "Dwarf Error: Can't find %s section."
-msgstr "Error de Dwarf: No se puede encontrar la secciÃ³n %s."
+msgstr "Error enano: no se puede encontrar la secciÃ³n %s."
 
-#: dwarf2.c:525
+#: dwarf2.c:572
 #, c-format
-msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."
-msgstr "Error de Dwarf: El desplazamiento (%lu) es mayor que o igual que el tamaÃ±o de %s (%lu)."
+msgid "Dwarf Error: Offset (%llu) greater than or equal to %s size (%Lu)."
+msgstr "Error enano: desplazamiento (%llu) es mayor que o igual que el tamaÃ±o de %s (%Lu)."
 
-#: dwarf2.c:949
+#: dwarf2.c:1089
+msgid "Dwarf Error: Info pointer extends beyond end of attributes"
+msgstr "Error enano: puntero info extiende mÃ¡s allÃ¡ del final de atributos"
+
+#: dwarf2.c:1261
 #, c-format
-msgid "Dwarf Error: Invalid or unhandled FORM value: %u."
-msgstr "Error de Dwarf: Valor de FORM sin manejar o invÃ¡lido: %u."
+msgid "Dwarf Error: Invalid or unhandled FORM value: %#x."
+msgstr "Error enano: valor de FORM no manipulado o invÃ¡lido: %#x."
 
-#: dwarf2.c:1200
+#: dwarf2.c:1567
 msgid "Dwarf Error: mangled line number section (bad file number)."
-msgstr "Error de Dwarf: secciÃ³n de nÃºmeros de lÃ­nea revuelta (nÃºmero de fichero errÃ³neo)."
+msgstr "Error enano: secciÃ³n de nÃºmeros de lÃ­nea revuelta (nÃºmero de fichero equivocado)."
+
+#: dwarf2.c:1912
+msgid "Dwarf Error: Zero format count."
+msgstr "Error enano: formato contador cero."
+
+#: dwarf2.c:1921
+#, c-format
+msgid "Dwarf Error: data count (%Lx) larger than buffer size."
+msgstr "Error enano: contador de datos (%Lx) mÃ¡s grande que tamaÃ±o de bÃºfer."
+
+#: dwarf2.c:1962
+#, c-format
+msgid "Dwarf Error: Unknown format content type %Lu."
+msgstr "Error enano: formato de tipo continente %Lu desconocido."
+
+#: dwarf2.c:2042
+#, c-format
+msgid "Dwarf Error: Line info section is too small (%Ld)"
+msgstr "Error enano: LÃ­nea informativa de secciÃ³n es demasiado corta (%Ld)"
 
-#: dwarf2.c:1453
+#: dwarf2.c:2072
+#, c-format
+msgid "Dwarf Error: Line info data is bigger (%#Lx) than the space remaining in the section (%#lx)"
+msgstr "Error enano: informaciÃ³n lineal de datos es mÃ¡s grande (%#Lx) que el espacio restante en la secciÃ³n (%#lx)"
+
+#: dwarf2.c:2085
 #, c-format
 msgid "Dwarf Error: Unhandled .debug_line version %d."
-msgstr "Error de Dwarf: .debug_line versiÃ³n %d sin manejar."
+msgstr "Error enano: .debug_line versiÃ³n %d sin manipular."
+
+#: dwarf2.c:2095
+msgid "Dwarf Error: Ran out of room reading prologue"
+msgstr "Error enano: Agotado espacio leyendo prÃ³logo"
+
+#: dwarf2.c:2113
+#, c-format
+msgid "Dwarf Error: Line info unsupported segment selector size %u."
+msgstr "Error enano: lÃ­nea informativa incompatible con segmento seleccionador de tamaÃ±o %u."
 
-#: dwarf2.c:1475
+#: dwarf2.c:2140
 msgid "Dwarf Error: Invalid maximum operations per instruction."
-msgstr "Error de Dwarf: MÃ¡ximo de operaciones por instrucciÃ³n invÃ¡lido."
+msgstr "Error enano: mÃ¡ximo de operaciones por instrucciÃ³n invÃ¡lido."
+
+#: dwarf2.c:2159
+msgid "Dwarf Error: Ran out of room reading opcodes"
+msgstr "Error enano: Agotado de espacio leyendo opcodes"
 
-#: dwarf2.c:1662
+#: dwarf2.c:2332
 msgid "Dwarf Error: mangled line number section."
-msgstr "Error de Dwarf: secciÃ³n de nÃºmeros de lÃ­nea revuelta."
+msgstr "Error enano: secciÃ³n de nÃºmeros de lÃ­nea revuelta."
+
+#: dwarf2.c:2833 dwarf2.c:2894
+msgid "Dwarf Error: Invalid abstract instance DIE ref."
+msgstr "Error enano: instancia DIE abstracta invÃ¡lida referenciada."
+
+#: dwarf2.c:2870
+#, c-format
+msgid "Dwarf Error: Unable to read alt ref %llu."
+msgstr "Error enano: incapaz de leer referencia alt %llu."
 
-#: dwarf2.c:1989 dwarf2.c:2109 dwarf2.c:2394
+#: dwarf2.c:2911 dwarf2.c:3076 dwarf2.c:3428
 #, c-format
 msgid "Dwarf Error: Could not find abbrev number %u."
-msgstr "Error de Dwarf: No se puede encontrar el nÃºmero de abreviatura %u."
+msgstr "Error enano: no se pudo encontrar el nÃºmero de abreviatura %u."
+
+#: dwarf2.c:2928
+msgid "Dwarf Error: Abstract instance recursion detected."
+msgstr "Error enano: RecursiÃ³n de instancia abstracta detectada."
 
-#: dwarf2.c:2355
+#: dwarf2.c:3347
 #, c-format
-msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information."
-msgstr "Error de Dwarf: se encontrÃ³ la versiÃ³n de dwarf '%u', este lector solamente maneja informaciÃ³n de las versiones 2, 3 y 4."
+msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3, 4 and 5 information."
+msgstr "Error enano: encontrada versiÃ³n dwarf Â«%uÂ», este lector solamente manipula informaciÃ³n de las versiones 2, 3, 4 y 5."
 
-#: dwarf2.c:2362
+#: dwarf2.c:3391
 #, c-format
 msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'."
-msgstr "Error de Dwarf: se encontrÃ³ el tamaÃ±o de direcciÃ³n '%u', este lector no puede manejar tamaÃ±os mÃ¡s grandes que '%u'."
+msgstr "Error enano: se encontrÃ³ el tamaÃ±o de direcciÃ³n Â«%uÂ», este lector no puede manipular tamaÃ±os mÃ¡s grandes que '%u'."
 
-#: dwarf2.c:2385
+#: dwarf2.c:3494
+msgid "Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form."
+msgstr "Error enano: atributo DW_AT_comp_dir encontrado con un formato no encadenado."
+
+#: ecoff.c:964
 #, c-format
-msgid "Dwarf Error: Bad abbrev number: %u."
-msgstr "Error de Dwarf: NÃºmero de abreviaciÃ³n errÃ³neo: %u."
+msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%ld)"
+msgstr "%B: aviso: isymMax (%ld) es mayor que ifdMax (%ld)"
 
-#: ecoff.c:1239
+#: ecoff.c:1261
 #, c-format
 msgid "Unknown basic type %d"
 msgstr "Tipo bÃ¡sico %d desconocido"
 
-#: ecoff.c:1496
+#: ecoff.c:1518
 #, c-format
 msgid ""
 "\n"
@@ -581,7 +820,7 @@ msgstr ""
 "\n"
 "      SÃ­mbolo final+1: %ld"
 
-#: ecoff.c:1503 ecoff.c:1506
+#: ecoff.c:1525 ecoff.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -590,7 +829,7 @@ msgstr ""
 "\n"
 "      Primer sÃ­mbolo: %ld"
 
-#: ecoff.c:1518
+#: ecoff.c:1541
 #, c-format
 msgid ""
 "\n"
@@ -599,7 +838,7 @@ msgstr ""
 "\n"
 "      SÃ­mbolo final+1: %-7ld Tipo: %s"
 
-#: ecoff.c:1525
+#: ecoff.c:1548
 #, c-format
 msgid ""
 "\n"
@@ -608,7 +847,7 @@ msgstr ""
 "\n"
 "      SÃ­mbolo local: %ld"
 
-#: ecoff.c:1533
+#: ecoff.c:1556
 #, c-format
 msgid ""
 "\n"
@@ -617,7 +856,7 @@ msgstr ""
 "\n"
 "      struct; sÃ­mbolo final+1: %ld"
 
-#: ecoff.c:1538
+#: ecoff.c:1561
 #, c-format
 msgid ""
 "\n"
@@ -626,7 +865,7 @@ msgstr ""
 "\n"
 "      union; sÃ­mbolo final+1: %ld"
 
-#: ecoff.c:1543
+#: ecoff.c:1566
 #, c-format
 msgid ""
 "\n"
@@ -635,7 +874,7 @@ msgstr ""
 "\n"
 "      enum; sÃ­mbolo final+1: %ld"
 
-#: ecoff.c:1549
+#: ecoff.c:1572
 #, c-format
 msgid ""
 "\n"
@@ -644,140 +883,280 @@ msgstr ""
 "\n"
 "      Tipo: %s"
 
-#: elf-attrs.c:569
+#: elf-attrs.c:475
+msgid "%B: error: attribute section length too small: %ld"
+msgstr "%B: error: longitud de secciÃ³n atributiva demasiado pequeÃ±a: %ld"
+
+#: elf-attrs.c:603
+#, c-format
 msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain"
-msgstr "error: %B: El objeto tiene contenido especÃ­fico del vendedor que se debe procesar con la cadena de compilaciÃ³n '%s'"
+msgstr "error: %B: El objeto tiene contenidos especÃ­ficos del proveedor que debe ser procesado por la cadena Â«%sÂ» de compilaciÃ³n"
 
-#: elf-attrs.c:578
+#: elf-attrs.c:613
+#, c-format
 msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
 msgstr "error: %B: La etiqueta de objeto '%d, %s' es incompatible con la etiqueta '%d, %s'"
 
-#: elf-eh-frame.c:917
+#: elf-eh-frame.c:942
+#, c-format
+msgid "discarding zero address range FDE in %B(%A).\n"
+msgstr "descartando lÃ­mite direccional cero FDE en %B(%A).\n"
+
+#: elf-eh-frame.c:1047
+#, c-format
 msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
-msgstr "%P: error en %B(%A); no se crearÃ¡ la tabla .eh_frame_hdr.\n"
+msgstr "%P: error en %B(%A); no se crearÃ¡ el segmento .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:1537
+#, c-format
+msgid "%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
+msgstr "%P: codificaciÃ³n FDE en %B(%A) previene creaciÃ³n de distribuciÃ³n .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:1544
+msgid "%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n"
+msgstr "%P: la codificaciÃ³n FDE en %B(%A) previene la creaciÃ³n del segmento .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:1866
+#, c-format
+msgid "%B: %A not in order"
+msgstr "%B: %A no en operaciÃ³n"
 
-#: elf-eh-frame.c:1189
-msgid "%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
-msgstr "%P: la codificaciÃ³n fde en %B(%A) previene la creaciÃ³n de la tabla .eh_frame_hdr.\n"
+#: elf-eh-frame.c:1880
+#, c-format
+msgid "%B: %A invalid input section size"
+msgstr "%B: %A tamaÃ±o seccional entrante invÃ¡lido"
+
+#: elf-eh-frame.c:1888
+#, c-format
+msgid "%B: %A points past end of text section"
+msgstr "%B: %A puntos pasados finales de selecciÃ³n textual"
 
-#: elf-eh-frame.c:1605
+#: elf-eh-frame.c:2137
 msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
 msgstr "%P: DW_EH_PE_datarel sin especificar para esta arquitectura.\n"
 
-#: elf-ifunc.c:179
+#: elf-eh-frame.c:2307
+#, c-format
+msgid "Invalid output section for .eh_frame_entry: %A"
+msgstr "Salida de secciÃ³n invÃ¡lida para .eh_frame_entry: %A"
+
+#: elf-eh-frame.c:2330
+#, c-format
+msgid "Invalid contents in %A section"
+msgstr "Contenidos invÃ¡lidos en secciÃ³n %A"
+
+#: elf-eh-frame.c:2486
+msgid "%P: .eh_frame_hdr entry overflow.\n"
+msgstr "%P: desbordamiento superior de asiento .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:2489
+msgid "%P: .eh_frame_hdr refers to overlapping FDEs.\n"
+msgstr "%P: .eh_frame_hdr refiere a superponiendo varios FDE.\n"
+
+#: elf-ifunc.c:142
+#, c-format
 msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
-msgstr "%F%P: el sÃ­mbolo STT_GNU_IFUNC dinÃ¡mico `%s' con igualdad de puntero en `%B' no se puede usar al hacer un ejecutable; recompile con -fPIE y reenlace con -pie\n"
+msgstr "%F%P: el sÃ­mbolo STT_GNU_IFUNC dinÃ¡mico Â«%sÂ» con igualdad de puntero en `%B' no se puede usar al hacer un ejecutable; recompile con -fPIE y reenlace con -pie\n"
 
-#: elf-m10200.c:450 elf-m10300.c:1563 elf32-avr.c:1221 elf32-bfin.c:3213
-#: elf32-cr16.c:1482 elf32-cr16c.c:780 elf32-cris.c:2081 elf32-crx.c:922
-#: elf32-d10v.c:509 elf32-epiphany.c:556 elf32-fr30.c:609 elf32-frv.c:4105
-#: elf32-h8300.c:509 elf32-i860.c:1211 elf32-ip2k.c:1468 elf32-iq2000.c:684
-#: elf32-lm32.c:1168 elf32-m32c.c:553 elf32-m32r.c:3106 elf32-m68hc1x.c:1138
-#: elf32-mep.c:535 elf32-microblaze.c:1231 elf32-moxie.c:282
-#: elf32-msp430.c:486 elf32-mt.c:395 elf32-openrisc.c:404 elf32-score.c:2729
-#: elf32-score7.c:2537 elf32-spu.c:5044 elf32-tilepro.c:3214 elf32-v850.c:2143
-#: elf32-xstormy16.c:935 elf64-mmix.c:1590 elfxx-tilegx.c:3577
+#: elf-m10200.c:425 elf-m10300.c:2145 elf32-avr.c:1502 elf32-bfin.c:3116
+#: elf32-cr16.c:1462 elf32-cr16c.c:780 elf32-cris.c:2030 elf32-crx.c:924
+#: elf32-d10v.c:509 elf32-epiphany.c:563 elf32-fr30.c:591 elf32-frv.c:4041
+#: elf32-ft32.c:485 elf32-h8300.c:522 elf32-i860.c:1210 elf32-ip2k.c:1475
+#: elf32-iq2000.c:689 elf32-lm32.c:1106 elf32-m32c.c:622 elf32-m32r.c:3031
+#: elf32-m68hc1x.c:1265 elf32-mep.c:524 elf32-metag.c:1985
+#: elf32-microblaze.c:1556 elf32-moxie.c:285 elf32-mt.c:400 elf32-nds32.c:5328
+#: elf32-or1k.c:1238 elf32-score.c:2731 elf32-score7.c:2540 elf32-spu.c:5076
+#: elf32-tilepro.c:3497 elf32-v850.c:2283 elf32-visium.c:677
+#: elf32-xstormy16.c:923 elf64-mmix.c:1538 elfxx-tilegx.c:3857
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2237
 msgid "internal error: out of range error"
 msgstr "error interno: error fuera de rango"
 
-#: elf-m10200.c:454 elf-m10300.c:1567 elf32-avr.c:1225 elf32-bfin.c:3217
-#: elf32-cr16.c:1486 elf32-cr16c.c:784 elf32-cris.c:2085 elf32-crx.c:926
-#: elf32-d10v.c:513 elf32-fr30.c:613 elf32-frv.c:4109 elf32-h8300.c:513
-#: elf32-i860.c:1215 elf32-iq2000.c:688 elf32-lm32.c:1172 elf32-m32c.c:557
-#: elf32-m32r.c:3110 elf32-m68hc1x.c:1142 elf32-mep.c:539
-#: elf32-microblaze.c:1235 elf32-moxie.c:286 elf32-msp430.c:490
-#: elf32-openrisc.c:408 elf32-score.c:2733 elf32-score7.c:2541
-#: elf32-spu.c:5048 elf32-tilepro.c:3218 elf32-v850.c:2147
-#: elf32-xstormy16.c:939 elf64-mmix.c:1594 elfxx-mips.c:9465
-#: elfxx-tilegx.c:3581
+#: elf-m10200.c:429 elf-m10300.c:2149 elf32-avr.c:1506 elf32-bfin.c:3120
+#: elf32-cr16.c:1466 elf32-cr16c.c:784 elf32-cris.c:2034 elf32-crx.c:928
+#: elf32-d10v.c:513 elf32-fr30.c:595 elf32-frv.c:4045 elf32-ft32.c:489
+#: elf32-h8300.c:526 elf32-i860.c:1214 elf32-iq2000.c:693 elf32-lm32.c:1110
+#: elf32-m32c.c:626 elf32-m32r.c:3035 elf32-m68hc1x.c:1269 elf32-mep.c:528
+#: elf32-metag.c:1989 elf32-microblaze.c:1560 elf32-moxie.c:289
+#: elf32-msp430.c:1357 elf32-nds32.c:5332 elf32-or1k.c:1242 elf32-score.c:2735
+#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3501 elf32-v850.c:2287
+#: elf32-visium.c:681 elf32-xstormy16.c:927 elf64-mmix.c:1542
+#: elfxx-mips.c:10265 elfxx-tilegx.c:3861
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2241
 msgid "internal error: unsupported relocation error"
 msgstr "error interno: no se admite el error de reubicaciÃ³n"
 
-#: elf-m10200.c:458 elf32-cr16.c:1490 elf32-cr16c.c:788 elf32-crx.c:930
-#: elf32-d10v.c:517 elf32-h8300.c:517 elf32-lm32.c:1176 elf32-m32r.c:3114
-#: elf32-m68hc1x.c:1146 elf32-microblaze.c:1239 elf32-score.c:2737
-#: elf32-score7.c:2545 elf32-spu.c:5052
+#: elf-m10200.c:433 elf32-cr16.c:1470 elf32-cr16c.c:788 elf32-crx.c:932
+#: elf32-d10v.c:517 elf32-h8300.c:530 elf32-lm32.c:1114 elf32-m32r.c:3039
+#: elf32-m68hc1x.c:1273 elf32-microblaze.c:1564 elf32-nds32.c:5336
+#: elf32-score.c:2739 elf32-score7.c:2548 elf32-spu.c:5084
 msgid "internal error: dangerous error"
 msgstr "error interno: error peligroso"
 
-#: elf-m10200.c:462 elf-m10300.c:1580 elf32-avr.c:1233 elf32-bfin.c:3225
-#: elf32-cr16.c:1494 elf32-cr16c.c:792 elf32-cris.c:2093 elf32-crx.c:934
-#: elf32-d10v.c:521 elf32-epiphany.c:571 elf32-fr30.c:621 elf32-frv.c:4117
-#: elf32-h8300.c:521 elf32-i860.c:1223 elf32-ip2k.c:1483 elf32-iq2000.c:696
-#: elf32-lm32.c:1180 elf32-m32c.c:565 elf32-m32r.c:3118 elf32-m68hc1x.c:1150
-#: elf32-mep.c:547 elf32-microblaze.c:1243 elf32-moxie.c:294
-#: elf32-msp430.c:498 elf32-mt.c:403 elf32-openrisc.c:416 elf32-score.c:2746
-#: elf32-score7.c:2549 elf32-spu.c:5056 elf32-tilepro.c:3226 elf32-v850.c:2167
-#: elf32-xstormy16.c:947 elf64-mmix.c:1602 elfxx-tilegx.c:3589
+#: elf-m10200.c:437 elf-m10300.c:2166 elf32-avr.c:1514 elf32-bfin.c:3128
+#: elf32-cr16.c:1474 elf32-cr16c.c:792 elf32-cris.c:2042 elf32-crx.c:936
+#: elf32-d10v.c:521 elf32-epiphany.c:578 elf32-fr30.c:603 elf32-frv.c:4053
+#: elf32-ft32.c:497 elf32-h8300.c:534 elf32-i860.c:1222 elf32-ip2k.c:1490
+#: elf32-iq2000.c:701 elf32-lm32.c:1118 elf32-m32c.c:634 elf32-m32r.c:3043
+#: elf32-m68hc1x.c:1277 elf32-mep.c:536 elf32-metag.c:1997
+#: elf32-microblaze.c:1568 elf32-moxie.c:297 elf32-msp430.c:1365
+#: elf32-mt.c:408 elf32-nds32.c:5340 elf32-or1k.c:1250 elf32-score.c:2748
+#: elf32-score7.c:2552 elf32-spu.c:5088 elf32-tilepro.c:3509 elf32-v850.c:2307
+#: elf32-visium.c:689 elf32-xstormy16.c:935 elf64-mmix.c:1550
+#: elfxx-tilegx.c:3869
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2249
 msgid "internal error: unknown error"
 msgstr "error interno: error desconocido"
 
-#: elf-m10300.c:1507 elf32-arm.c:10419 elf32-i386.c:4264 elf32-m32r.c:2599
-#: elf32-m68k.c:4156 elf32-s390.c:3003 elf32-sh.c:4218 elf32-tilepro.c:3117
-#: elf32-xtensa.c:3066 elf64-s390.c:2978 elf64-sh64.c:1640 elf64-x86-64.c:4110
-#: elfxx-sparc.c:3835 elfxx-tilegx.c:3500
-msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%A+0x%lx): reubicaciÃ³n %s sin resoluciÃ³n contra el sÃ­mbolo `%s'"
+#: elf-m10300.c:812
+#, c-format
+msgid "%B: unrecognised MN10300 reloc number: %d"
+msgstr "%B: nÃºmero reubicante MN10300 no reconocido: %d"
+
+#: elf-m10300.c:1028
+#, c-format
+msgid "%B: Unsupported transition from %s to %s"
+msgstr "%B: transiciÃ³n desde %s hasta %s no estÃ¡ admitido"
+
+#: elf-m10300.c:1197
+#, c-format
+msgid "%B: %s' accessed both as normal and thread local symbol"
+msgstr "%B: %s accedidos ambos como comÃºn e hilo simbÃ³lico local"
+
+#: elf-m10300.c:2093 elf32-arm.c:12536 elf32-i386.c:3433 elf32-m32r.c:2526
+#: elf32-m68k.c:3895 elf32-s390.c:3204 elf32-sh.c:4121 elf32-tilepro.c:3401
+#: elf32-xtensa.c:2939 elf64-s390.c:3118 elf64-sh64.c:1636 elf64-x86-64.c:3790
+#: elfxx-sparc.c:3918 elfxx-tilegx.c:3781
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5001
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6457
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2206
+#, c-format
+msgid "%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"
+msgstr "%B(%A+%#Lx): reubicaciÃ³n %s irresoluble frente a sÃ­mbolo `%s'"
 
-#: elf-m10300.c:1572
+#: elf-m10300.c:2154
 msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)"
 msgstr "error: tipo de reubicaciÃ³n inapropiada para la biblioteca compartida (Â¿olvidÃ³ -fpic?)"
 
-#: elf-m10300.c:1575
+#: elf-m10300.c:2158
+#, c-format
+msgid "%B: taking the address of protected function '%s' cannot be done when making a shared library"
+msgstr "%B: tomando la direcciÃ³n de funciÃ³n protegida Â«%sÂ» no puede ser hecha cuando crea una biblioteca compartida"
+
+#: elf-m10300.c:2161
 msgid "internal error: suspicious relocation type used in shared library"
 msgstr "error interno: se usÃ³ un tipo de reubicaciÃ³n sospechosa en la biblioteca compartida"
 
-#: elf-m10300.c:4372 elf32-arm.c:12800 elf32-cr16.c:2451 elf32-cris.c:3057
-#: elf32-hppa.c:1894 elf32-i370.c:503 elf32-i386.c:2182 elf32-lm32.c:1868
-#: elf32-m32r.c:1927 elf32-m68k.c:3253 elf32-s390.c:1652 elf32-sh.c:2931
-#: elf32-tic6x.c:2162 elf32-tilepro.c:1940 elf32-vax.c:1041 elf64-s390.c:1635
-#: elf64-sh64.c:3381 elf64-x86-64.c:2176 elfxx-sparc.c:2119
-#: elfxx-tilegx.c:2261
+#: elf-properties.c:65
+msgid "%B: out of memory in _bfd_elf_get_property"
+msgstr "%B: memoria agotada en propiedad _bfd_elf_get_property"
+
+#: elf-properties.c:91
+msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"
+msgstr "aviso: %B: tamaÃ±o GNU_PROPERTY_TYPE (%ld) corrupto: %#lx"
+
+#: elf-properties.c:112
+msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"
+msgstr "advertencia: %B: GNU_PROPERTY_TYPE corrupto (%ld) tipo (0x%x) datosz: 0x%x"
+
+#: elf-properties.c:151
+msgid "warning: %B: corrupt stack size: 0x%x"
+msgstr "aviso: %B; tamaÃ±o de pila corrupta: 0x%x"
+
+#: elf-properties.c:169
+msgid "warning: %B: corrupt no copy on protected size: 0x%x"
+msgstr "aviso: %B: corrupto no copia en tamaÃ±o protegido: 0x%x"
+
+#: elf-properties.c:186
+msgid "warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"
+msgstr "cuidado: %B: tipo GNU_PROPERTY_TYPE (%ld) no soportado: 0x%x"
+
+#. PR 17512: file: f057ec89.
+#: elf.c:343
 #, c-format
-msgid "dynamic variable `%s' is zero size"
-msgstr "la variable dinÃ¡mica `%s' es de tamaÃ±o cero"
+msgid "%B: attempt to load strings from a non-string section (number %d)"
+msgstr "%B: intenta cargar cadenas desde una secciÃ³n no-cadena (nÃºmero %d)"
 
-#: elf.c:334
-msgid "%B: invalid string offset %u >= %lu for section `%s'"
-msgstr "%B: desplazamiento de cadena invÃ¡lido %u >= %lu para la secciÃ³n `%s'"
+#: elf.c:358
+#, c-format
+msgid "%B: invalid string offset %u >= %Lu for section `%s'"
+msgstr "%B: desplazamiento de cadena invÃ¡lido %u >= %Lu para la secciÃ³n Â«%sÂ»"
 
-#: elf.c:446
+#: elf.c:497 /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7535
+#, c-format
 msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
-msgstr "%B el nÃºmero de sÃ­mbolo %lu hace referencia a la secciÃ³n inexistente SHT_SYMTAB_SHNDX"
+msgstr "%B nÃºmero simbÃ³lico %lu hace referencia a la secciÃ³n inexistente SHT_SYMTAB_SHNDX"
 
-#: elf.c:602
-msgid "%B: Corrupt size field in group section header: 0x%lx"
-msgstr "%B: Campo de tamaÃ±o corrupto en el encabezado de la secciÃ³n de grupo: 0x%lx"
+#: elf.c:661
+#, c-format
+msgid "%B: corrupt size field in group section header: %#Lx"
+msgstr "%B: campo de tamaÃ±o corrupto en el encabezado de la secciÃ³n de grupo: %#Lx"
+
+#: elf.c:676
+#, c-format
+msgid "%B: invalid size field in group section header: %#Lx"
+msgstr "%B: campo de tamaÃ±o invÃ¡lido en el encabezado de la secciÃ³n de grupo: %#Lx"
 
-#: elf.c:638
+#: elf.c:712
 msgid "%B: invalid SHT_GROUP entry"
 msgstr "%B: entrada SHT_GROUP invÃ¡lida"
 
-#: elf.c:708
-msgid "%B: no group info for section %A"
-msgstr "%B: no hay informaciÃ³n de grupo para la secciÃ³n %A"
+#: elf.c:731
+msgid "%B: no valid group sections found"
+msgstr "%B: encontradas secciones agrupadas no vÃ¡lidas"
+
+#. See PR 21957 for a reproducer.
+#: elf.c:760
+#, c-format
+msgid "%B: group section '%A' has no contents"
+msgstr "%B: secciÃ³n agrupada '%A' no tiene contenidos"
+
+#: elf.c:820
+#, c-format
+msgid "%B: no group info for section '%A'"
+msgstr "%B: ningÃºn grupo informado para secciÃ³n Â«%AÂ»"
 
-#: elf.c:737 elf.c:3121 elflink.c:10135
+#: elf.c:851 elf.c:3862 elflink.c:11252
+#, c-format
 msgid "%B: warning: sh_link not set for section `%A'"
 msgstr "%B: aviso: no se estableciÃ³ sh_link para la secciÃ³n `%A'"
 
-#: elf.c:756
+#: elf.c:871
+#, c-format
 msgid "%B: sh_link [%d] in section `%A' is incorrect"
 msgstr "%B: sh_link [%d] en la secciÃ³n `%A', es incorrecto"
 
-#: elf.c:791
-msgid "%B: unknown [%d] section `%s' in group [%s]"
-msgstr "%B: secciÃ³n [%d] desconocida `%s' en el grupo [%s]"
-
-#: elf.c:1041
-msgid "%B: unable to initialize commpress status for section %s"
-msgstr "%B: no se puede inicializar el estado comprimido de la secciÃ³n %s"
-
-#: elf.c:1061
-msgid "%B: unable to initialize decommpress status for section %s"
-msgstr "%B: no se puede inicializar el estado descomprimido de la secciÃ³n %s"
+#: elf.c:884
+#, c-format
+msgid "%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"
+msgstr "%B: secciÃ³n SHT_GROUP [Ã­ndice %d] no tiene ninguna secciÃ³n SHF_GROUP"
+
+#: elf.c:905
+#, c-format
+msgid "%B: section group entry number %u is corrupt"
+msgstr "%B: nÃºmero de entrada de grupo seccional %u estÃ¡ corrupto"
+
+#: elf.c:928
+#, c-format
+msgid "%B: unknown type [%#x] section `%s' in group [%A]"
+msgstr "%B: tipo desconocido [%#x] secciÃ³n Â«%sÂ» en grupo [%A]"
+
+#: elf.c:1390
+#, c-format
+msgid "%B: Invalid sh_link field (%d) in section number %d"
+msgstr "%B: campo sh_link invÃ¡lido (%d) en nÃºmero de secciÃ³n %d"
+
+#: elf.c:1406
+#, c-format
+msgid "%B: Failed to find link section for section %d"
+msgstr "%B: fallado para encontrar secciÃ³n de enlace para secciÃ³n %d"
+
+#: elf.c:1433
+#, c-format
+msgid "%B: Failed to find info section for section %d"
+msgstr "%B: fallaba al encontrar secciÃ³n de informaciÃ³n para la secciÃ³n %d"
 
-#: elf.c:1181
+#: elf.c:1605
 #, c-format
 msgid ""
 "\n"
@@ -786,16 +1165,16 @@ msgstr ""
 "\n"
 "Encabezado del Programa:\n"
 
-#: elf.c:1223
+#: elf.c:1647
 #, c-format
 msgid ""
 "\n"
 "Dynamic Section:\n"
 msgstr ""
 "\n"
-"SecciÃ³n DinÃ¡mica:\n"
+"SecciÃ³n dinÃ¡mica:\n"
 
-#: elf.c:1359
+#: elf.c:1788
 #, c-format
 msgid ""
 "\n"
@@ -804,7 +1183,7 @@ msgstr ""
 "\n"
 "Definiciones de versiÃ³n:\n"
 
-#: elf.c:1384
+#: elf.c:1813
 #, c-format
 msgid ""
 "\n"
@@ -813,650 +1192,1047 @@ msgstr ""
 "\n"
 "Referencias de versiÃ³n:\n"
 
-#: elf.c:1389
+#: elf.c:1818
 #, c-format
 msgid "  required from %s:\n"
-msgstr "  se requere desde %s:\n"
+msgstr "  requer. desde %s:\n"
 
-#: elf.c:1796
-msgid "%B: invalid link %lu for reloc section %s (index %u)"
-msgstr "%B: enlace %lu invÃ¡lido para la secciÃ³n de reubicaciÃ³n %s (Ã­ndice %u)"
+#: elf.c:2016
+msgid "%B: warning: loop in section dependencies detected"
+msgstr "%B: aviso: bucle dentro de dependencias de secciÃ³n detectadas"
 
-#: elf.c:1966
-msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
-msgstr "%B: no se sabe cÃ³mo manejar la secciÃ³n especÃ­fica alojada de la aplicaciÃ³n `%s' [0x%8x]"
+#: elf.c:2124
+#, c-format
+msgid "%B: warning: multiple symbol tables detected - ignoring the table in section %u"
+msgstr "%B: aviso: mÃºltiples segmento simbÃ³licos detectados - ignorando el segmento en secciÃ³n %u"
+
+#: elf.c:2208
+#, c-format
+msgid "%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u"
+msgstr "%B: aviso: mÃºltiples tablas sÃ­mbÃ³licas dinÃ¡micas detectadas - ignorando el segmento en secciÃ³n %u"
 
-#: elf.c:1978
-msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
-msgstr "%B: no se sabe cÃ³mo manejar la secciÃ³n especÃ­fica de procesador `%s' [0x%8x]"
+#: elf.c:2321
+#, c-format
+msgid "%B: invalid link %u for reloc section %s (index %u)"
+msgstr "%B: enlace %u invÃ¡lido para la secciÃ³n de reubicaciÃ³n %s (Ã­ndice %u)"
 
-#: elf.c:1989
-msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
-msgstr "%B: no se sabe cÃ³mo manejar la secciÃ³n especÃ­fica de SO `%s' [0x%8x]"
+#: elf.c:2480 elf.c:2495 elf.c:2506 elf.c:2519
+#, c-format
+msgid "%B: unknown type [%#x] section `%s'"
+msgstr "%B: tipo desconocido [%#x] secciÃ³n Â«%sÂ»"
 
-#: elf.c:1999
-msgid "%B: don't know how to handle section `%s' [0x%8x]"
-msgstr "%B: no se sabe cÃ³mo manejar la secciÃ³n `%s' [0x%8x]"
+#: elf.c:3224
+#, c-format
+msgid "%B: error: Alignment power %d of section `%A' is too big"
+msgstr "%B: error: alineamiento potencial %s de secciÃ³n Â«%AÂ» es demasiado grande"
 
-#: elf.c:2634
+#: elf.c:3254
 #, c-format
 msgid "warning: section `%A' type changed to PROGBITS"
 msgstr "aviso: el tipo de la secciÃ³n `%A' cambiÃ³ a PROGBITS"
 
-#: elf.c:3078
+#: elf.c:3730
+#, c-format
+msgid "%B: too many sections: %u"
+msgstr "%B: demasiadas secciones: %u"
+
+#: elf.c:3815
+#, c-format
 msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
 msgstr "%B: sh_link de la secciÃ³n `%A' apunta a la secciÃ³n descartada `%A' de `%B'"
 
-#: elf.c:3101
+#: elf.c:3840
+#, c-format
 msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
-msgstr "%B: sh_link de la secciÃ³n `%A' apunta a la secciÃ³n eliminada `%A' de `%B'"
+msgstr "%B: sh_link de la secciÃ³n `%A' apunta a la secciÃ³n quitada `%A' de `%B'"
+
+#: elf.c:4392
+#, c-format
+msgid "%B: GNU_MBIN section `%A' has invalid sh_info field: %d"
+msgstr "%B: secciÃ³n GNU_MBIN Â«%AÂ» tiene campo sh_info invÃ¡lido: %d"
+
+#: elf.c:4951
+msgid "%B: TLS sections are not adjacent:"
+msgstr "%B: secciones TLS no son adyacentes:"
+
+#: elf.c:4958
+#, c-format
+msgid "\t    TLS: %A"
+msgstr "\t    TLS: %A"
+
+#: elf.c:4962
+#, c-format
+msgid "\tnon-TLS: %A"
+msgstr "\tno-TLS: %A"
 
-#: elf.c:4527
+#: elf.c:5458
 msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
 msgstr "%B: La primera secciÃ³n en el segmento PT_DYNAMIC no es la secciÃ³n .dynamic"
 
-#: elf.c:4554
+#: elf.c:5486
 msgid "%B: Not enough room for program headers, try linking with -N"
 msgstr "%B: No hay suficiente espacio para los encabezados del programa, pruebe enlazar con -N"
 
-#: elf.c:4641
-msgid "%B: section %A lma %#lx adjusted to %#lx"
-msgstr "%B: la secciÃ³n %A lma %#lx se ajusta a %#lx"
+#: elf.c:5574
+#, c-format
+msgid "%B: section %A lma %#Lx adjusted to %#Lx"
+msgstr "%B: secciÃ³n %A lma %#lx ajustado a %#Lx"
 
-#: elf.c:4776
+#: elf.c:5711
+#, c-format
 msgid "%B: section `%A' can't be allocated in segment %d"
 msgstr "%B: la secciÃ³n `%A' no se puede asignar en el segmento %d"
 
-#: elf.c:4824
+#: elf.c:5759
+#, c-format
 msgid "%B: warning: allocated section `%s' not in segment"
-msgstr "%B: aviso: la secciÃ³n asignada `%s' no estÃ¡ en el segmento"
+msgstr "%B: aviso: secciÃ³n asignada Â«%sÂ» no dentro del segmento"
 
-#: elf.c:5324
+#: elf.c:5957
+msgid "%B: error: non-load segment %d includes file header and/or program header"
+msgstr "%B: error: segmento no-cargado %d incluye cabecera de fichero y/o cabecera de programa"
+
+#. The fix for this error is usually to edit the linker script being
+#. used and set up the program headers manually.  Either that or
+#. leave room for the headers at the start of the SECTIONS.
+#: elf.c:6134
+msgid "%B: error: PHDR segment not covered by LOAD segment"
+msgstr "%B: error: segmento PHDR no cubierto por segmento LOAD"
+
+#: elf.c:6478
+#, c-format
 msgid "%B: symbol `%s' required but not present"
-msgstr "%B: se requiere el sÃ­mbolo `%s' pero no estÃ¡ presente"
+msgstr "%B: el sÃ­mbolo Â«%sÂ» se requiere pero no estÃ¡ presente"
+
+#: elf.c:6821
+#, c-format
+msgid "%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?"
+msgstr "%B: aviso: Se detectÃ³ un segmento cargable vacÃ­o en vaddr=%#Lx, Â¿esto es intencional?"
 
-#: elf.c:5662
-msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n"
-msgstr "%B: aviso: Se detectÃ³ un segmento cargable vacÃ­o, Â¿ esto es intencional ?\n"
+#: elf.c:7435
+#, c-format
+msgid "%B: warning: segment alignment of %#Lx is too large"
+msgstr "%B: aviso: alineamiento de segmento de %#Lx es demasiado grande"
 
-#: elf.c:6692
+#: elf.c:7916
 #, c-format
 msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
-msgstr "No se puede encontrar la secciÃ³n de salida equivalente para el sÃ­mbolo '%s' de la secciÃ³n '%s'"
+msgstr "No se puede encontrar la secciÃ³n de salida equivalente para el sÃ­mbolo Â«%sÂ» de la secciÃ³n Â«%sÂ»"
+
+#: elf.c:8249
+msgid "%B: .gnu.version_r invalid entry"
+msgstr "%B: entrada .gnu.version_r invÃ¡lida"
 
-#: elf.c:7692
+#: elf.c:8376
+msgid "%B: .gnu.version_d invalid entry"
+msgstr "%B: entrada  .gnu.version_d invÃ¡lida"
+
+#: elf.c:8928
+#, c-format
 msgid "%B: unsupported relocation type %s"
 msgstr "%B: no se admite el tipo de reubicaciÃ³n %s"
 
-#: elf32-arm.c:3617
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: Thumb call to ARM"
-msgstr ""
-"%B(%s): aviso: no se activÃ³ la interoperabilidad.\n"
-"  primer suceso: %B: llamada Thumb a ARM"
+#: elf32-arc.c:433 elf32-frv.c:6623 elf32-iq2000.c:866 elf32-m32c.c:912
+#: elf32-mt.c:560 elf32-rl78.c:1257 elf32-rx.c:3178 elf32-visium.c:837
+#: elf64-ppc.c:6067
+#, c-format
+msgid "private flags = 0x%lx:"
+msgstr "marcas privadas = 0x%lx:"
 
-#: elf32-arm.c:3664
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: ARM call to Thumb"
-msgstr ""
-"%B(%s): aviso: no se activÃ³ la interoperabilidad.\n"
-"  primer suceso: %B: llamada ARM a Thumb"
+#: elf32-arc.c:611
+msgid "Warning: %B: Conflicting platform configuration %s with %s.\n"
+msgstr "Aviso: %B: ConfiguraciÃ³n de plataformas en conflicto %s con %s.\n"
 
-#: elf32-arm.c:3878 elf32-arm.c:5315
-#, c-format
-msgid "%s: cannot create stub entry %s"
-msgstr "%s: no se puede crear la entrada de cabo %s"
+#: elf32-arc.c:630
+msgid "error: %B: unable to merge CPU base attributes %s with %s.\n"
+msgstr "error: %B: no se pueden combinar atributos base de CPU %s con %s.\n"
 
-#: elf32-arm.c:5431
-#, c-format
-msgid "unable to find THUMB glue '%s' for '%s'"
-msgstr "no se puede encontrar el pegamento THUMB '%s' para `%s'"
+#: elf32-arc.c:667
+msgid "error: %B: unable to merge ISA extension attributes %s.\n"
+msgstr "error: %B: no se pueden combinar los atributos de extensiÃ³n ISA %s.\n"
 
-#: elf32-arm.c:5467
-#, c-format
-msgid "unable to find ARM glue '%s' for '%s'"
-msgstr "no se puede encontrar el pegamento ARM '%s' para `%s'"
+#: elf32-arc.c:691
+msgid "error: %B: conflicting ISA extension attributes %s with %s.\n"
+msgstr "error: %B: conflicto de atributos de extensiÃ³n ISA %s con %s.\n"
 
-#: elf32-arm.c:6005
-msgid "%B: BE8 images only valid in big-endian mode."
-msgstr "%B: las imÃ¡genes BE8 sÃ³lo son vÃ¡lidas en modo big-endian."
+#: elf32-arc.c:726
+msgid "error: %B: cannot mix rf16 with full register set %B.\n"
+msgstr "error: %B: no puede mezclar rf16 con conjunto de registro completo %B.\n"
 
-#. Give a warning, but do as the user requests anyway.
-#: elf32-arm.c:6235
-msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture"
-msgstr "%B: aviso: no se necesita la alternativa para evitar la errata del VFP11 seleccionado para la arquitectura objetivo"
+#: elf32-arc.c:752
+msgid "error: %B: conflicting attributes %s: %s with %s.\n"
+msgstr "error: %B: atributos conflictivos %s: %s con %s.\n"
 
-#: elf32-arm.c:6779 elf32-arm.c:6799
-msgid "%B: unable to find VFP11 veneer `%s'"
-msgstr "%B: no se puede encontrar la chapa de VFP11 `%s'"
+#: elf32-arc.c:777
+msgid "error: %B: conflicting attributes %s.\n"
+msgstr "error: %B: conflicto de atributos %s.\n"
 
-#: elf32-arm.c:6848
+#: elf32-arc.c:877
 #, c-format
-msgid "Invalid TARGET2 relocation type '%s'."
-msgstr "Tipo de reubicaciÃ³n TARGET2 '%s' invÃ¡lido."
+msgid "ERROR: Attempting to link %B with a binary %B of different architecture"
+msgstr "ERROR: intentando enlazar %B con un binario %B de arquitectura distinta"
+
+#: elf32-arc.c:891 elf32-i370.c:359 elf32-iq2000.c:842 elf32-m32c.c:887
+#: elf32-m68hc1x.c:1384 elf32-ppc.c:4846 elf64-sparc.c:727 elfxx-mips.c:15082
+#, c-format
+msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%B: emplea diferentes campos e_flags (%#x) que mÃ³dulos (%#x) anteriores"
 
-#: elf32-arm.c:6933
+#: elf32-arc.c:980
+msgid "Error: The ARC4 architecture is no longer supported.\n"
+msgstr "Error: arquitectura ARC4 sin mÃ¡s soporte.\n"
+
+#: elf32-arc.c:986
 msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: thumb call to arm"
+"Warning: unset or old architecture flags. \n"
+"\t       Use default machine.\n"
 msgstr ""
-"%s(%s): aviso: no se activÃ³ la interoperabilidad.\n"
-"  primer suceso: %B: llamada thumb a arm"
+"Aviso: destablece o marcas arquitecturales antiguas. \n"
+"\t       Emplee mÃ¡quina predeterminada.\n"
 
-#: elf32-arm.c:7717
-msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline"
-msgstr "%B(%A+0x%lx):instrucciÃ³n Thumb '0x%x' inesperada en el trampolÃ­n TLS"
-
-#: elf32-arm.c:7756
-msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline"
-msgstr "%B(%A+0x%lx):instrucciÃ³n ARM '0x%x' inesperada en el trampolÃ­n TLS"
+#: elf32-arc.c:1119
+#, c-format
+msgid "%B(%A+%#Lx): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value is %#Lx)"
+msgstr "%B(%A+%#Lx): reubicaciÃ³n CMEM a Â«%sÂ» es invÃ¡lido, 16 MSB deberÃ­a ser %#x (valor es %#Lx)"
 
-#: elf32-arm.c:8209
-msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
-msgstr "\\%B: Aviso: La instrucciÃ³n Arm BLX apunta a la funciÃ³n Arm '%s'."
+#: elf32-arc.c:1130
+#, c-format
+msgid "%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, 16 MSB should be %#x (value is %#Lx)"
+msgstr "%B(%A+%#Lx): CMEM reubicando a `%s+%#Lx' es invÃ¡lido, 16 MSB deberÃ­a ser %#x (valor es %#Lx)"
 
-#: elf32-arm.c:8622
-msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
-msgstr "%B: Aviso: La instrucciÃ³n Thumb BLX apunta a la funciÃ³n thumb '%s'."
+#: elf32-arc.c:1836
+msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker."
+msgstr "GOT y PLT reubicados no pueden ser fijados con enlazador no dinÃ¡mico."
 
-#: elf32-arm.c:9460
-msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
-msgstr "%B(%A+0x%lx):instrucciÃ³n Thumb '0x%x' inesperada referenciada por TLS_GOTDESC"
+#: elf32-arc.c:1860 elf32-rl78.c:1095 elf32-rx.c:1449
+#, c-format
+msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
+msgstr "%B(%A): aviso: acceso sin alinear al sÃ­mbolo Â«%sÂ» en el Ã¡rea de datos small"
 
-#: elf32-arm.c:9483
-msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
-msgstr "%B(%A+0x%lx):instrucciÃ³n ARM '0x%x' inesperada referenciada por TLS_GOTDESC"
+#: elf32-arc.c:1865 elf32-rl78.c:1100 elf32-rx.c:1454
+#, c-format
+msgid "%B(%A): internal error: out of range error"
+msgstr "%B(%A): error interno: error fuera de rango"
 
-#: elf32-arm.c:9512
-msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): la reubicaciÃ³n R_ARM_TLS_LE32 no se permite en objetos compartidos"
+#: elf32-arc.c:1870 elf32-rl78.c:1105 elf32-rx.c:1459
+#, c-format
+msgid "%B(%A): internal error: unsupported relocation error"
+msgstr "%B(%A): error interno: no se admite el error de reubicaciÃ³n"
 
-#: elf32-arm.c:9727
-msgid "%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations"
-msgstr "%B(%A+0x%lx): SÃ³lo se permiten las instrucciones ADD o SUB en las reubicaciones de grupo ALU"
+#: elf32-arc.c:1875 elf32-rl78.c:1110 elf32-rx.c:1464
+#, c-format
+msgid "%B(%A): internal error: dangerous relocation"
+msgstr "%B(%A): error interno: reubicaciÃ³n peligrosa"
 
-#: elf32-arm.c:9767 elf32-arm.c:9854 elf32-arm.c:9937 elf32-arm.c:10022
-msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"
-msgstr "%B(%A+0x%lx): Desborde al dividirse 0x%lx para la reubicaciÃ³n de grupo %s"
+#: elf32-arc.c:1880 elf32-rl78.c:1115 elf32-rx.c:1469
+#, c-format
+msgid "%B(%A): internal error: unknown error"
+msgstr "%B(%A): error interno: error desconocido"
 
-#: elf32-arm.c:10261 elf32-sh.c:4103 elf64-sh64.c:1544
-msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
-msgstr "%B(%A+0x%lx): reubicaciÃ³n %s contra la secciÃ³n SEC_MERGE"
+#: elf32-arc.c:1968 elf32-arm.c:14521 elf32-metag.c:2252 elfxx-mips.c:8889
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7103
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:471
+#, c-format
+msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
+msgstr "%B: reubicaciÃ³n %s frente a Â«%sÂ» no puede emplearse cuando se crea un objeto compartido; recompile con -fPIC"
 
-#: elf32-arm.c:10372 elf32-m68k.c:4191 elf32-xtensa.c:2802
-msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
-msgstr "%B(%A+0x%lx): se usÃ³ %s con el sÃ­mbolo TLS %s"
+#: elf32-arc.c:2860
+msgid "%B: Unknown mandatory ARC object attribute %d."
+msgstr "%B: Atributo de objeto ARC obligatorio %d desconocido."
 
-#: elf32-arm.c:10373 elf32-m68k.c:4192 elf32-xtensa.c:2803
-msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
-msgstr "%B(%A+0x%lx): se usÃ³ %s con el sÃ­mbolo %s que no es TLS"
+#: elf32-arc.c:2868
+msgid "Warning: %B: Unknown ARC object attribute %d."
+msgstr "Aviso: %B: Atributo de objeto ARC %d desconocido."
 
-#: elf32-arm.c:10453 elf32-tic6x.c:2753
-msgid "out of range"
-msgstr "fuera de rango"
+#: elf32-arm.c:4022 elf32-arm.c:4056 elf32-arm.c:4075 elf32-arm.c:4127
+msgid "%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction."
+msgstr "%B(%A): aviso: rama larga recubierta utilizada en secciÃ³n con atributo seccional SHF_ARM_PURECODE solo estÃ¡ soportado para objetivos M-profile que implementa la instrucciÃ³n â€œmovwâ€�."
 
-#: elf32-arm.c:10457 elf32-tic6x.c:2757
+#: elf32-arm.c:4087 elf32-arm.c:8806
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+"  first occurrence: %B: Thumb call to ARM"
+msgstr ""
+"%B(%s): aviso: no se activÃ³ la interoperabilidad.\n"
+"  primer suceso: %B: llamada Thumb a ARM"
+
+#: elf32-arm.c:4141
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+"  first occurrence: %B: ARM call to Thumb"
+msgstr ""
+"%B(%s): aviso: no se activÃ³ la interoperabilidad.\n"
+"  primer suceso: %B: llamada ARM a Thumb"
+
+#: elf32-arm.c:4415
+#, c-format
+msgid "No address assigned to the veneers output section %s"
+msgstr "Ninguna direcciÃ³n asignada a la secciÃ³n de salida recubierta %s"
+
+#: elf32-arm.c:4490 elf32-arm.c:6627 elf32-hppa.c:577 elf32-m68hc1x.c:165
+#: elf32-metag.c:1183 elf32-nios2.c:2207
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:2854
+#, c-format
+msgid "%B: cannot create stub entry %s"
+msgstr "%B: no se puede crear la entrada de cabo %s"
+
+#: elf32-arm.c:5675
+msgid "%B: Special symbol `%s' only allowed for ARMv8-M architecture or later."
+msgstr "%B: sÃ­mbolo especial Â«%sÂ» solo permitido para arquitectura ARMv8-M o posterior."
+
+#: elf32-arm.c:5684
+msgid "%B: invalid special symbol `%s'."
+msgstr "%B: sÃ­mbolo especial no vÃ¡lido Â«%sÂ»."
+
+#: elf32-arm.c:5686 elf32-arm.c:5726
+msgid "It must be a global or weak function symbol."
+msgstr "Debe ser un sÃ­mbolo funcional global o dÃ©bil."
+
+#: elf32-arm.c:5724
+msgid "%B: invalid standard symbol `%s'."
+msgstr "%B: sÃ­mbolo comÃºn no vÃ¡lido Â«%sÂ»."
+
+#: elf32-arm.c:5730
+msgid "%B: absent standard symbol `%s'."
+msgstr "%B: sÃ­mbolo estandarizado ausente Â«%sÂ»."
+
+#: elf32-arm.c:5742
+msgid "%B: `%s' and its special symbol are in different sections."
+msgstr "%B: `%s' y su sÃ­mbolo especial estÃ¡n en secciones diferentes."
+
+#: elf32-arm.c:5754
+msgid "%B: entry function `%s' not output."
+msgstr "%B: funciÃ³n entrante Â«%sÂ» no de salida."
+
+#: elf32-arm.c:5761
+msgid "%B: entry function `%s' is empty."
+msgstr "%B: funciÃ³n entrante Â«%sÂ» estÃ¡ vacÃ­a."
+
+#: elf32-arm.c:5890
+msgid "%B: --in-implib only supported for Secure Gateway import libraries."
+msgstr "%B: --in-implib solo compatible para importar bibliotecas Secure Gateway."
+
+#: elf32-arm.c:5936
+msgid "%B: invalid import library entry: `%s'."
+msgstr "%B: importaciÃ³n de entrada de biblioteca invÃ¡lida: Â«%sÂ»."
+
+#: elf32-arm.c:5938
+msgid "Symbol should be absolute, global and refer to Thumb functions."
+msgstr "SÃ­mbolo deberÃ­a ser absoluto, global y refiere a funciÃ³n Thumb."
+
+#: elf32-arm.c:5958
+#, c-format
+msgid "Entry function `%s' disappeared from secure code."
+msgstr "FunciÃ³n entrante Â«%sÂ» desaparecida desde cÃ³digo seguro."
+
+#: elf32-arm.c:5982
+#, c-format
+msgid "`%s' refers to a non entry function."
+msgstr "`%s' refiere a una funciÃ³n distinta de entrada."
+
+#: elf32-arm.c:5997
+msgid "%B: visibility of symbol `%s' has changed."
+msgstr "%B: visibilidad de sÃ­mbolo Â«%sÂ» ha modificado."
+
+#: elf32-arm.c:6006
+msgid "%B: incorrect size for symbol `%s'."
+msgstr "%B: tamaÃ±o incorrecto para sÃ­mbolo Â«%sÂ»."
+
+#: elf32-arm.c:6025
+#, c-format
+msgid "Offset of veneer for entry function `%s' not a multiple of its size."
+msgstr "Desplazamiento de recubrimiento para funciÃ³n de entrante Â«%sÂ» no un mÃºltiplo de su tamaÃ±o."
+
+#: elf32-arm.c:6045
+msgid "new entry function(s) introduced but no output import library specified:"
+msgstr "entrada funcional nueva introducida pero ninguna salida importa biblioteca especificada:"
+
+#: elf32-arm.c:6053
+#, c-format
+msgid "Start address of `%s' is different from previous link."
+msgstr "DirecciÃ³n inicial de Â«%sÂ» es diferente desde enlace anterior."
+
+#: elf32-arm.c:6760
+#, c-format
+msgid "unable to find THUMB glue '%s' for '%s'"
+msgstr "no se puede encontrar el pegamento THUMB Â«%sÂ» para Â«%sÂ»"
+
+#: elf32-arm.c:6796
+#, c-format
+msgid "unable to find ARM glue '%s' for '%s'"
+msgstr "no se puede encontrar el pegamento ARM Â«%sÂ» para Â«%sÂ»"
+
+#: elf32-arm.c:7511
+msgid "%B: BE8 images only valid in big-endian mode."
+msgstr "%B: las imÃ¡genes BE8 sÃ³lo son vÃ¡lidas en modo big-endian."
+
+#. Give a warning, but do as the user requests anyway.
+#: elf32-arm.c:7742
+msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture"
+msgstr "%B: aviso: no se necesita la alternativa para evitar la errata del VFP11 seleccionado para la arquitectura objetivo"
+
+#: elf32-arm.c:7769
+msgid "%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture"
+msgstr "%B: aviso: no se necesita la alternativa para evitar la errata del STM32L4XX seleccionado para arquitectura objetivo"
+
+#: elf32-arm.c:8306 elf32-arm.c:8326
+msgid "%B: unable to find VFP11 veneer `%s'"
+msgstr "%B: no se puede encontrar la chapa de VFP11 Â«%sÂ»"
+
+#: elf32-arm.c:8392 elf32-arm.c:8411
+msgid "%B: unable to find STM32L4XX veneer `%s'"
+msgstr "%B: incapaz de encontrar chapa STM32L4XX Â«%sÂ»"
+
+#: elf32-arm.c:8618
+#, c-format
+msgid ""
+"%B(%A+%#x): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.\n"
+"Use gcc option -mrestrict-it to generate only one instruction per IT block.\n"
+msgstr ""
+"%B(%A+%#x): error: carga mÃºltiple detectada en bloque IT no Ãºltima instrucciÃ³n : STM32L4XX no puede ser generada.\n"
+"Emplee opciÃ³n gcc -mrestrict-it para generar solo una instrucciÃ³n por bloque IT.\n"
+
+#: elf32-arm.c:8716
+#, c-format
+msgid "Invalid TARGET2 relocation type '%s'."
+msgstr "Tipo de reubicaciÃ³n TARGET2 Â«%sÂ» invÃ¡lido."
+
+#. FIXME: We ought to be able to generate thumb-1 PLT
+#. instructions...
+#: elf32-arm.c:9458
+msgid "%B: Warning: thumb-1 mode PLT generation not currently supported"
+msgstr "%B: Aviso: mode PLT actualmente no se admite la reubicaciÃ³n"
+
+#: elf32-arm.c:9723
+#, c-format
+msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline"
+msgstr "%B(%A+%#Lx): instrucciÃ³n Thumb '%#lx' inesperada en el trampolÃ­n TLS"
+
+#: elf32-arm.c:9763
+#, c-format
+msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline"
+msgstr "%B(%A+%#Lx): instrucciÃ³n ARM '%#lx' inesperada en el trampolÃ­n TLS"
+
+#: elf32-arm.c:10103
+msgid "shared object"
+msgstr "objeto compartido"
+
+#: elf32-arm.c:10106
+msgid "PIE executable"
+msgstr "PIE ejecutable"
+
+#: elf32-arm.c:10109
+msgid "%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC"
+msgstr "%B: reubicaciÃ³n %s frente sÃ­mbolos externos o indefinidos Â«%sÂ» pueden no ser empleados cuando hacen un %s; recompile con -fPIC"
+
+#: elf32-arm.c:10240
+msgid "%B: Warning: Arm BLX instruction targets Arm function '%s'."
+msgstr "%B: Aviso: La instrucciÃ³n Arm BLX apunta a la funciÃ³n Arm Â«%sÂ»."
+
+#: elf32-arm.c:10666
+msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
+msgstr "%B: Aviso: La instrucciÃ³n Thumb BLX apunta a la funciÃ³n thumb Â«%sÂ»."
+
+#: elf32-arm.c:11534
+#, c-format
+msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC"
+msgstr "%B(%A+%#Lx):instrucciÃ³n Thumb '%#lx' inesperada referenciada por TLS_GOTDESC"
+
+#: elf32-arm.c:11557
+#, c-format
+msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC"
+msgstr "%B(%A+%#Lx): instrucciÃ³n ARM '%#lx' inesperada referenciada por TLS_GOTDESC"
+
+#: elf32-arm.c:11586 elf32-m68k.c:3701 elf32-metag.c:1916 elf32-nios2.c:4358
+#, c-format
+msgid "%B(%A+%#Lx): %s relocation not permitted in shared object"
+msgstr "%B(%A+%#Lx): reubicaciÃ³n %s no permitida dentro de objeto compartido"
+
+#: elf32-arm.c:11799
+#, c-format
+msgid "%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group relocations"
+msgstr "%B(%A+%#Lx): SÃ³lo se permiten las instrucciones ADD o SUB en las reubicaciones de grupo ALU"
+
+#: elf32-arm.c:11839 elf32-arm.c:11929 elf32-arm.c:12015 elf32-arm.c:12103
+#, c-format
+msgid "%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"
+msgstr "%B(%A+%#Lx): Desborde superior al dividirse %#Lx para la reubicaciÃ³n de grupo %s"
+
+#: elf32-arm.c:12369 elf32-sh.c:4003 elf64-sh64.c:1539
+#, c-format
+msgid "%B(%A+%#Lx): %s relocation against SEC_MERGE section"
+msgstr "%B(%A+%#Lx): reubicaciÃ³n %s contra secciÃ³n SEC_MERGE"
+
+#: elf32-arm.c:12481 elf32-m68k.c:3931 elf32-xtensa.c:2681
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6185
+#, c-format
+msgid "%B(%A+%#Lx): %s used with TLS symbol %s"
+msgstr "%B(%A+%#Lx): %s empleado con sÃ­mbolo TLS %s"
+
+#: elf32-arm.c:12483 elf32-m68k.c:3933 elf32-xtensa.c:2683
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6187
+#, c-format
+msgid "%B(%A+%#Lx): %s used with non-TLS symbol %s"
+msgstr "%B(%A+%#Lx): %s utilizado con sÃ­mbolo no-TLS %s"
+
+#: elf32-arm.c:12565 elf32-tic6x.c:2674
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6520
+msgid "out of range"
+msgstr "fuera de rango"
+
+#: elf32-arm.c:12569 elf32-nios2.c:4492 elf32-pru.c:821 elf32-tic6x.c:2678
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6524
 msgid "unsupported relocation"
 msgstr "no se admite la reubicaciÃ³n"
 
-#: elf32-arm.c:10465 elf32-tic6x.c:2765
+#: elf32-arm.c:12577 elf32-nios2.c:4502 elf32-pru.c:831 elf32-tic6x.c:2686
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6532
 msgid "unknown error"
 msgstr "error desconocido"
 
-#: elf32-arm.c:10890
-msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
-msgstr "Aviso: Se limpia la opciÃ³n de interoperaciÃ³n en %B porque se ha enlazado con Ã©l cÃ³digo no interoperable en %B"
-
-#: elf32-arm.c:10984
+#: elf32-arm.c:13157
 msgid "%B: Unknown mandatory EABI object attribute %d"
 msgstr "%B: Atributo de objeto EABI obligatorio %d desconocido"
 
-#: elf32-arm.c:10992
+#: elf32-arm.c:13165
 msgid "Warning: %B: Unknown EABI object attribute %d"
 msgstr "Aviso: %B: Atributo de objeto EABI %d desconocido"
 
-#: elf32-arm.c:11173
+#: elf32-arm.c:13432
 msgid "error: %B: Unknown CPU architecture"
 msgstr "error: %B: Arquitectura de CPU desconocida"
 
-#: elf32-arm.c:11211
+#: elf32-arm.c:13470 elf32-nios2.c:2945
+#, c-format
 msgid "error: %B: Conflicting CPU architectures %d/%d"
 msgstr "error: %B: Arquitecturas de CPU en conflicto %d/%d"
 
-#: elf32-arm.c:11260
+#: elf32-arm.c:13567
 msgid "Error: %B has both the current and legacy Tag_MPextension_use attributes"
 msgstr "Error: %B tiene al mismo tiempo los atributos Tag_MPextension_use actuales y antiguos"
 
-#: elf32-arm.c:11285
+#: elf32-arm.c:13596
 msgid "error: %B uses VFP register arguments, %B does not"
 msgstr "error: %B utiliza argumentos de registro VFP, mientras que %B no"
 
-#: elf32-arm.c:11430
+#: elf32-arm.c:13754
 msgid "error: %B: unable to merge virtualization attributes with %B"
 msgstr "error: %B: no se pueden mezclar los atributos de virtualizaciÃ³n con %B"
 
-#: elf32-arm.c:11456
+#: elf32-arm.c:13780
 msgid "error: %B: Conflicting architecture profiles %c/%c"
 msgstr "error: %B: Perfiles de arquitecturas en conflicto %c/%c"
 
-#: elf32-arm.c:11557
+#: elf32-arm.c:13919
 msgid "Warning: %B: Conflicting platform configuration"
 msgstr "Aviso: %B: ConfiguraciÃ³n de plataformas en conflicto"
 
-#: elf32-arm.c:11566
+#: elf32-arm.c:13928
 msgid "error: %B: Conflicting use of R9"
-msgstr "error: %B: Uso en conflicto de R9"
+msgstr "error: %B: Empleo en conflicto de R9"
 
-#: elf32-arm.c:11578
+#: elf32-arm.c:13940
 msgid "error: %B: SB relative addressing conflicts with use of R9"
 msgstr "error: %B: El direccionamiento relativo a SB tiene conflictos con el uso de R9"
 
-#: elf32-arm.c:11591
+#: elf32-arm.c:13953
 msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
-msgstr "aviso: %B usa wchar_t de %u bytes aunque la salida usa wchar_t de %u bytes; el uso de valores wchar_t entre objetos puede fallar"
+msgstr "aviso: %B emplea wchar_t de %u bytes aunque la salida usa wchar_t de %u bytes; el uso de valores wchar_t entre objetos puede fallar"
 
-#: elf32-arm.c:11622
+#: elf32-arm.c:13984
 msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
-msgstr "aviso: %B usa enums %s aunque la salida usa enums %s; el uso de valores enum entre objetos puede fallar"
+msgstr "aviso: %B emplea â€˜enumsâ€™ %s aunque la salida emplea â€˜enumsâ€™ %s; emplea valores â€˜enumâ€™ entre objetos quizÃ¡ falla"
 
-#: elf32-arm.c:11634
+#: elf32-arm.c:13996
 msgid "error: %B uses iWMMXt register arguments, %B does not"
 msgstr "error: %B utiliza argumentos de registro iWMMXt, mientras que %B no"
 
-#: elf32-arm.c:11651
+#: elf32-arm.c:14013
 msgid "error: fp16 format mismatch between %B and %B"
 msgstr "error: no coincide el formato fp16 entre %B y %B"
 
-#: elf32-arm.c:11675
-msgid "DIV usage mismatch between %B and %B"
-msgstr "no coincide el uso de DIV entre %B y %B"
-
-#: elf32-arm.c:11694
-msgid "%B has has both the current and legacy Tag_MPextension_use attributes"
-msgstr "%B tiene al mismo tiempo los atributos actuales y antiguos de Tag_MPextension"
+#: elf32-arm.c:14049
+msgid "%B has both the current and legacy Tag_MPextension_use attributes"
+msgstr "%B tiene al mismo tiempo los atributos actuales y antiguos de Tag_MPextension_use"
 
 #. Ignore init flag - it may not be set, despite the flags field
 #. containing valid data.
 #. Ignore init flag - it may not be set, despite the flags field containing valid data.
-#: elf32-arm.c:11782 elf32-bfin.c:5079 elf32-cris.c:4169 elf32-m68hc1x.c:1282
-#: elf32-m68k.c:1236 elf32-score.c:3994 elf32-score7.c:3800 elf32-vax.c:529
-#: elfxx-mips.c:14103
+#. Ignore init flag - it may not be set, despite the flags field
+#. containing valid data.
+#: elf32-arm.c:14136 elf32-bfin.c:4729 elf32-cris.c:3905 elf32-m68hc1x.c:1409
+#: elf32-m68k.c:1199 elf32-score.c:3998 elf32-score7.c:3803 elf32-vax.c:536
+#: elf32-xgate.c:669 elfxx-mips.c:15756
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6686
 #, c-format
 msgid "private flags = %lx:"
 msgstr "opciones privadas = %lx:"
 
-#: elf32-arm.c:11791
+#: elf32-arm.c:14145
 #, c-format
 msgid " [interworking enabled]"
 msgstr " [interoperabilidad activada]"
 
-#: elf32-arm.c:11799
+#: elf32-arm.c:14153
 #, c-format
 msgid " [VFP float format]"
-msgstr " [formato de coma flotante VFP]"
+msgstr " [formato flotante VFP]"
 
-#: elf32-arm.c:11801
+#: elf32-arm.c:14155
 #, c-format
 msgid " [Maverick float format]"
 msgstr " [formato de coma flotante Maverick]"
 
-#: elf32-arm.c:11803
+#: elf32-arm.c:14157
 #, c-format
 msgid " [FPA float format]"
 msgstr " [formato de coma flotante FPA]"
 
-#: elf32-arm.c:11812
+#: elf32-arm.c:14166
 #, c-format
 msgid " [new ABI]"
 msgstr " [ABI nuevo]"
 
-#: elf32-arm.c:11815
+#: elf32-arm.c:14169
 #, c-format
 msgid " [old ABI]"
 msgstr " [ABI antiguo]"
 
-#: elf32-arm.c:11818
+#: elf32-arm.c:14172
 #, c-format
 msgid " [software FP]"
 msgstr " [FP por software]"
 
-#: elf32-arm.c:11827
+#: elf32-arm.c:14181
 #, c-format
 msgid " [Version1 EABI]"
 msgstr " [EABI Version1]"
 
-#: elf32-arm.c:11830 elf32-arm.c:11841
+#: elf32-arm.c:14184 elf32-arm.c:14195
 #, c-format
 msgid " [sorted symbol table]"
-msgstr " [tabla de sÃ­mbolos ordenados]"
+msgstr " [segmento de sÃ­mbolos ordenados]"
 
-#: elf32-arm.c:11832 elf32-arm.c:11843
+#: elf32-arm.c:14186 elf32-arm.c:14197
 #, c-format
 msgid " [unsorted symbol table]"
-msgstr " [tabla de sÃ­mbolos sin ordenar]"
+msgstr " [segmento de sÃ­mbolos sin ordenar]"
 
-#: elf32-arm.c:11838
+#: elf32-arm.c:14192
 #, c-format
 msgid " [Version2 EABI]"
 msgstr " [EABI Version2]"
 
-#: elf32-arm.c:11846
+#: elf32-arm.c:14200
 #, c-format
 msgid " [dynamic symbols use segment index]"
 msgstr " [los sÃ­mbolos dinÃ¡micos utilizan Ã­ndices de segmento]"
 
-#: elf32-arm.c:11849
+#: elf32-arm.c:14203
 #, c-format
 msgid " [mapping symbols precede others]"
-msgstr " [el mapeo de sÃ­mbolos precede a otros]"
+msgstr " [distribuyendo sÃ­mbolos precede a otros]"
 
-#: elf32-arm.c:11856
+#: elf32-arm.c:14210
 #, c-format
 msgid " [Version3 EABI]"
 msgstr " [EABI Version3]"
 
-#: elf32-arm.c:11860
+#: elf32-arm.c:14214
 #, c-format
 msgid " [Version4 EABI]"
 msgstr " [EABI Version4]"
 
-#: elf32-arm.c:11864
+#: elf32-arm.c:14218
 #, c-format
 msgid " [Version5 EABI]"
 msgstr " [EABI Version5]"
 
-#: elf32-arm.c:11867
+#: elf32-arm.c:14221
+#, c-format
+msgid " [soft-float ABI]"
+msgstr " [soft-float ABI]"
+
+#: elf32-arm.c:14224
+#, c-format
+msgid " [hard-float ABI]"
+msgstr " [hard-float ABI]"
+
+#: elf32-arm.c:14230
 #, c-format
 msgid " [BE8]"
 msgstr " [BE8]"
 
-#: elf32-arm.c:11870
+#: elf32-arm.c:14233
 #, c-format
 msgid " [LE8]"
 msgstr " [LE8]"
 
-#: elf32-arm.c:11876
+#: elf32-arm.c:14239
 #, c-format
 msgid " <EABI version unrecognised>"
-msgstr " <no se reconoce la versiÃ³n de EABI>"
+msgstr " <vers EABI no reconocido>"
 
-#: elf32-arm.c:11883
+#: elf32-arm.c:14246
 #, c-format
 msgid " [relocatable executable]"
 msgstr " [ejecutable reubicable]"
 
-#: elf32-arm.c:11886
-#, c-format
-msgid " [has entry point]"
-msgstr " [tiene punto de entrada]"
-
-#: elf32-arm.c:11891
+#: elf32-arm.c:14251
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6689
 #, c-format
 msgid "<Unrecognised flag bits set>"
 msgstr "<No se reconoce el conjunto de bits de opciÃ³n>"
 
-#: elf32-arm.c:12189 elf32-i386.c:1461 elf32-s390.c:1000 elf32-tic6x.c:2829
-#: elf32-tilepro.c:1336 elf32-xtensa.c:1009 elf64-s390.c:960
-#: elf64-x86-64.c:1364 elfxx-sparc.c:1371 elfxx-tilegx.c:1586
+#: elf32-arm.c:14368 elf32-i386.c:1510 elf32-s390.c:956 elf32-tic6x.c:2749
+#: elf32-tilepro.c:1471 elf32-xtensa.c:1018 elf64-s390.c:875
+#: elf64-x86-64.c:1823 elfxx-sparc.c:1420 elfxx-tilegx.c:1688
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6978
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:513
+#, c-format
 msgid "%B: bad symbol index: %d"
-msgstr "%B: Ã­ndice de sÃ­mbolos errÃ³neo: %d"
+msgstr "%B: Ã­ndice de sÃ­mbolos equivocado: %d"
 
-#: elf32-arm.c:12337 elf64-x86-64.c:1561 elf64-x86-64.c:1732 elfxx-mips.c:8223
-msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
-msgstr "%B: no se puede usar la reubicaciÃ³n %s contra `%s' cuando se hace un objeto compartido; recompile con -fPIC"
+#: elf32-arm.c:15636 elf32-hppa.c:2082 elf32-lm32.c:1989 elf32-m32r.c:2097
+#: elf32-metag.c:2792 elf32-nds32.c:3844 elf32-or1k.c:2281 elf32-ppc.c:6156
+#: elf32-s390.c:1851 elf32-sh.c:3289 elf32-tic6x.c:3205 elf32-tilepro.c:2237
+#: elf64-ppc.c:9893 elf64-s390.c:1785 elfxx-sparc.c:2457 elfxx-tilegx.c:2479
+#: elfxx-x86.c:563
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:8319
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:1112
+#, c-format
+msgid "%B: dynamic relocation against `%T' in read-only section `%A'\n"
+msgstr "%B: reubicaciÃ³n dinÃ¡mica frente a Â«%TÂ» en secciÃ³n de sÃ³lo lectura Â«%AÂ»\n"
+
+#: elf32-arm.c:15881
+msgid "Errors encountered processing file %B"
+msgstr "Errores encontrados procesando el fichero %B"
 
-#: elf32-arm.c:13460
+#: elf32-arm.c:16318 elflink.c:12394 elflink.c:12441
 #, c-format
-msgid "Errors encountered processing file %s"
-msgstr "Se encontraron errores al procesar el fichero %s"
+msgid "could not find section %s"
+msgstr "no pudo encontrar la secciÃ³n %s"
 
-#: elf32-arm.c:14837
+#: elf32-arm.c:17494
 msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
 msgstr "%B: error: el cabo de errores Cortex-A8 se aloja en una ubicaciÃ³n insegura"
 
 #. There's not much we can do apart from complain if this
 #. happens.
-#: elf32-arm.c:14864
+#: elf32-arm.c:17521
 msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
 msgstr "%B: error: el cabo de errores Cortex-A8 estÃ¡ fuera de rango (el fichero de entrada es demasiado grande)"
 
-#: elf32-arm.c:14958 elf32-arm.c:14980
+#: elf32-arm.c:18348 elf32-arm.c:18370
 msgid "%B: error: VFP11 veneer out of range"
 msgstr "%B: error: la chapa VFP11 estÃ¡ fuera de rango"
 
-#: elf32-arm.c:15518
+#: elf32-arm.c:18421
+msgid "%B(%#Lx): error: Cannot create STM32L4XX veneer. Jump out of range by %Ld bytes. Cannot encode branch instruction. "
+msgstr "%B(%#Lx): error: no puede crear veneer STM32L4XX. OmisiÃ³n de lÃ­mite por %Ld bytes. No puede codificar intrucciÃ³n de rama. "
+
+#: elf32-arm.c:18459
+msgid "%B: error: Cannot create STM32L4XX veneer."
+msgstr "%B: error: no puede crear recubrimiento STM32L4XX."
+
+#: elf32-arm.c:19481
 msgid "error: %B is already in final BE8 format"
 msgstr "error: %B ya estÃ¡ en el formato BE8 final"
 
-#: elf32-arm.c:15594
+#: elf32-arm.c:19557
 msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d"
 msgstr "error: El objeto fuente %B tiene EABI versiÃ³n %d, pero el objetivo %B tiene EABI versiÃ³n %d"
 
-#: elf32-arm.c:15610
+#: elf32-arm.c:19572
 msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
-msgstr "error: %B estÃ¡ compilado para APCS-%d mientras que el objetivo %B usa APCS-%d"
+msgstr "error: %B estÃ¡ compilado para APCS-%d mientras que el objetivo %B emplea APCS-%d"
 
-#: elf32-arm.c:15635
+#: elf32-arm.c:19596
 msgid "error: %B uses VFP instructions, whereas %B does not"
 msgstr "error: %B utiliza instrucciones VFP, mientras que %B no"
 
-#: elf32-arm.c:15639
+#: elf32-arm.c:19600
 msgid "error: %B uses FPA instructions, whereas %B does not"
 msgstr "error: %B utiliza instrucciones FPA, mientras que %B no"
 
-#: elf32-arm.c:15649
+#: elf32-arm.c:19610
 msgid "error: %B uses Maverick instructions, whereas %B does not"
 msgstr "error: %B utiliza instrucciones Maverick, mientras que %B no"
 
-#: elf32-arm.c:15653
+#: elf32-arm.c:19614
 msgid "error: %B does not use Maverick instructions, whereas %B does"
 msgstr "error: %B no utiliza instrucciones Maverick, mientras que %B sÃ­"
 
-#: elf32-arm.c:15672
+#: elf32-arm.c:19633
 msgid "error: %B uses software FP, whereas %B uses hardware FP"
 msgstr "error: %B utiliza FP de software, mientras que %B utiliza FP de hardware"
 
-#: elf32-arm.c:15676
+#: elf32-arm.c:19637
 msgid "error: %B uses hardware FP, whereas %B uses software FP"
 msgstr "error: %B utiliza FP de hardware, mientras que %B utiliza FP de software"
 
-#: elf32-avr.c:1229 elf32-bfin.c:3221 elf32-cris.c:2089 elf32-epiphany.c:567
-#: elf32-fr30.c:617 elf32-frv.c:4113 elf32-i860.c:1219 elf32-ip2k.c:1479
-#: elf32-iq2000.c:692 elf32-m32c.c:561 elf32-mep.c:543 elf32-moxie.c:290
-#: elf32-msp430.c:494 elf32-mt.c:399 elf32-openrisc.c:412 elf32-tilepro.c:3222
-#: elf32-v850.c:2151 elf32-xstormy16.c:943 elf64-mmix.c:1598
-#: elfxx-tilegx.c:3585
+#: elf32-avr.c:959
+#, c-format
+msgid "%B: invalid AVR reloc number: %d"
+msgstr "%B: nÃºmero reubicante AArch64 no vÃ¡lido: %d"
+
+#: elf32-avr.c:1510 elf32-bfin.c:3124 elf32-cris.c:2038 elf32-epiphany.c:574
+#: elf32-fr30.c:599 elf32-frv.c:4049 elf32-ft32.c:493 elf32-i860.c:1218
+#: elf32-ip2k.c:1486 elf32-iq2000.c:697 elf32-m32c.c:630 elf32-mep.c:532
+#: elf32-metag.c:1993 elf32-moxie.c:293 elf32-msp430.c:1361 elf32-mt.c:404
+#: elf32-or1k.c:1246 elf32-tilepro.c:3505 elf32-v850.c:2291 elf32-visium.c:685
+#: elf32-xstormy16.c:931 elf64-mmix.c:1546 elfxx-tilegx.c:3865
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2245
 msgid "internal error: dangerous relocation"
 msgstr "error interno: reubicaciÃ³n peligrosa"
 
-#: elf32-avr.c:2415 elf32-hppa.c:598 elf32-m68hc1x.c:166
-msgid "%B: cannot create stub entry %s"
-msgstr "%B: no se puede crear la entrada de cabo %s"
+#: elf32-avr.c:3319
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:2882
+#, c-format
+msgid "cannot create stub entry %s"
+msgstr "no puede crear la entrada de cabo %s"
 
-#: elf32-bfin.c:107 elf32-bfin.c:363
+#: elf32-bfin.c:106 elf32-bfin.c:362
 msgid "relocation should be even number"
-msgstr "la reubicaciÃ³n debe ser un nÃºmero non"
+msgstr "la reubicaciÃ³n debe ser un nÃºmero par"
 
-#: elf32-bfin.c:1593
-msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
-msgstr "%B(%A+0x%lx): reubicaciÃ³n sin resoluciÃ³n contra el sÃ­mbolo `%s'"
-
-#: elf32-bfin.c:1626 elf32-i386.c:4307 elf32-m68k.c:4233 elf32-s390.c:3055
-#: elf64-s390.c:3030 elf64-x86-64.c:4151
-msgid "%B(%A+0x%lx): reloc against `%s': error %d"
-msgstr "%B(%A+0x%lx): reubicaciÃ³n contra `%s': error %d"
-
-#: elf32-bfin.c:2725
-msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
-msgstr "%B: la reubicaciÃ³n en `%A+0x%x' referencÃ­a al sÃ­mbolo `%s' con adiciÃ³n que no es cero"
+#: elf32-bfin.c:1577
+#, c-format
+msgid "%B(%A+%#Lx): unresolvable relocation against symbol `%s'"
+msgstr "%B(%A+%#Lx): reubicaciÃ³n %s irresoluble frente a sÃ­mbolo `%s'"
 
-#: elf32-bfin.c:2741
+#: elf32-bfin.c:1608 elf32-i386.c:3473 elf32-m68k.c:3971 elf32-s390.c:3261
+#: elf64-s390.c:3175 elf64-x86-64.c:3839
+#, c-format
+msgid "%B(%A+%#Lx): reloc against `%s': error %d"
+msgstr "%B(%A+%#Lx): reubicar frente Â«%sÂ»: error %d"
+
+#: elf32-bfin.c:2628
+#, c-format
+msgid "%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend"
+msgstr "%B: la reubicaciÃ³n en `%A+%#Lx' referencia al sÃ­mbolo Â«%sÂ» con adiciÃ³n sin cero"
+
+#: elf32-bfin.c:2644
 msgid "relocation references symbol not defined in the module"
-msgstr "la reubicaciÃ³n referencÃ­a un sÃ­mbolo que no estÃ¡ definido en el mÃ³dulo"
+msgstr "la referencia reubicante simbÃ³lica no definida dentro del mÃ³dulo"
 
-#: elf32-bfin.c:2838
+#: elf32-bfin.c:2741
 msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
 msgstr "R_BFIN_FUNCDESC referencÃ­a un sÃ­mbolo dinÃ¡mico con adiciÃ³n que no es cero"
 
-#: elf32-bfin.c:2879 elf32-bfin.c:3002
+#: elf32-bfin.c:2782 elf32-bfin.c:2905
 msgid "cannot emit fixups in read-only section"
 msgstr "no se pueden emitir composturas en la secciÃ³n de sÃ³lo lectura"
 
-#: elf32-bfin.c:2910 elf32-bfin.c:3040 elf32-lm32.c:1103 elf32-sh.c:5016
+#: elf32-bfin.c:2813 elf32-bfin.c:2943 elf32-lm32.c:1044 elf32-sh.c:4926
 msgid "cannot emit dynamic relocations in read-only section"
 msgstr "no se pueden emitir reubicaciones dinÃ¡micas en la secciÃ³n de sÃ³lo lectura"
 
-#: elf32-bfin.c:2960
+#: elf32-bfin.c:2863
 msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
 msgstr "R_BFIN_FUNCDESC_VALUE referencÃ­a un sÃ­mbolo dinÃ¡mico con adiciÃ³n que no es cero"
 
-#: elf32-bfin.c:3125
+#: elf32-bfin.c:3028
 msgid "relocations between different segments are not supported"
 msgstr "no se admiten las reubicaciones entre segmentos diferentes"
 
-#: elf32-bfin.c:3126
+#: elf32-bfin.c:3029
 msgid "warning: relocation references a different segment"
 msgstr "aviso: la reubicaciÃ³n referencÃ­a un segmento diferente"
 
-#: elf32-bfin.c:4971
-msgid "%B: unsupported relocation type %i"
-msgstr "%B: no se admite el tipo de reubicaciÃ³n %i"
-
-#: elf32-bfin.c:5125 elf32-frv.c:6808
+#: elf32-bfin.c:4687
 #, c-format
-msgid "%s: cannot link non-fdpic object file into fdpic executable"
-msgstr "%s: no se puede enlazar el fichero objeto que no es fdpic en un ejecutable fdpic"
+msgid "%B: unsupported relocation type %d"
+msgstr "%B: tipo de reubicaciÃ³n %d no admitido"
 
-#: elf32-bfin.c:5129 elf32-frv.c:6812
-#, c-format
-msgid "%s: cannot link fdpic object file into non-fdpic executable"
-msgstr "%s: no se puede enlazar el fichero objeto fdpic en un ejecutable que no es fdpic"
+#: elf32-bfin.c:4776 elf32-frv.c:6596
+msgid "%B: cannot link non-fdpic object file into fdpic executable"
+msgstr "%B: no se puede enlazar el fichero objeto que no es fdpic en un ejecutable fdpic"
+
+#: elf32-bfin.c:4780 elf32-frv.c:6600
+msgid "%B: cannot link fdpic object file into non-fdpic executable"
+msgstr "%B: no se puede enlazar el fichero objeto â€˜fdpicâ€™ en un ejecutable que no es fdpic"
 
-#: elf32-bfin.c:5283
+#: elf32-bfin.c:4930
 #, c-format
 msgid "*** check this relocation %s"
 msgstr "*** revisar esta reubicaciÃ³n %s"
 
-#: elf32-cris.c:1176
+#: elf32-bfin.c:5046
+msgid "the bfin target does not currently support the generation of copy relocations"
+msgstr "el destino bfin no soporta actualmente la generaciÃ³n de copia reubicable"
+
+#: elf32-cr16.c:653
+#, c-format
+msgid "Unsupported CR16 relocation type: 0x%x\n"
+msgstr "ReubicaciÃ³n de tipo CR16 no soportado: 0x%x\n"
+
+#: elf32-cr16.c:682
+#, c-format
+msgid "%B: unrecognised CR16 reloc number: %d"
+msgstr "%B: nÃºmero reubicante CR16 no reconocido: %d"
+
+#: elf32-cr16c.c:186
+#, c-format
+msgid "%B: invalid CR16C reloc number: %d"
+msgstr "%B: nÃºmero reubicante CR16C no vÃ¡lido: %d"
+
+#: elf32-cris.c:467
+#, c-format
+msgid "%B: invalid CRIS reloc number: %d"
+msgstr "%B: nÃºmero reubicante CRIS no vÃ¡lido: %d"
+
+#: elf32-cris.c:1116
+#, c-format
 msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
-msgstr "%B, secciÃ³n %A: reubicaciÃ³n %s sin resoluciÃ³n contra el sÃ­mbolo `%s'"
+msgstr "%B, secciÃ³n %A: reubicaciÃ³n %s sin resoluciÃ³n contra el sÃ­mbolo Â«%sÂ»"
 
-#: elf32-cris.c:1238
+#: elf32-cris.c:1181
+#, c-format
 msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'"
-msgstr "%B, secciÃ³n %A: No hay PLT ni GOT para la reubicaciÃ³n %s contra el sÃ­mbolo `%s'"
+msgstr "%B, secciÃ³n %A: No hay PLT ni GOT para la reubicaciÃ³n %s contra el sÃ­mbolo Â«%sÂ»"
 
-#: elf32-cris.c:1240
+#: elf32-cris.c:1184
+#, c-format
 msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
-msgstr "%B, secciÃ³n %A: No hay PLT para la reubicaciÃ³n %s contra el sÃ­mbolo `%s'"
+msgstr "%B, secciÃ³n %A: No hay PLT para la reubicaciÃ³n %s contra el sÃ­mbolo Â«%sÂ»"
 
-#: elf32-cris.c:1246 elf32-cris.c:1379 elf32-cris.c:1639 elf32-cris.c:1722
-#: elf32-cris.c:1875 elf32-tic6x.c:2662
+#: elf32-cris.c:1190 elf32-cris.c:1323 elf32-cris.c:1588 elf32-cris.c:1671
+#: elf32-cris.c:1824 elf32-tic6x.c:2586
 msgid "[whose name is lost]"
 msgstr "[cuyo nombre estÃ¡ perdido]"
 
-#: elf32-cris.c:1365 elf32-tic6x.c:2647
-msgid "%B, section %A: relocation %s with non-zero addend %d against local symbol"
-msgstr "%B, secciÃ³n %A: reubicaciÃ³n %s con adiciÃ³n %d que no es cero contra el sÃ­mbolo local"
-
-#: elf32-cris.c:1373 elf32-cris.c:1716 elf32-cris.c:1869 elf32-tic6x.c:2655
-msgid "%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
-msgstr "%B, secciÃ³n %A: reubicaciÃ³n %s con adiciÃ³n %d que no es cero contra el sÃ­mbolo `%s'"
+#: elf32-cris.c:1308 elf32-tic6x.c:2570
+#, c-format
+msgid "%B, section %A: relocation %s with non-zero addend %Ld against local symbol"
+msgstr "%B, secciÃ³n %A: reubicaciÃ³n %s con adiciÃ³n de direcciÃ³n sin cero %Ld contra el sÃ­mbolo local"
+
+#: elf32-cris.c:1317 elf32-cris.c:1665 elf32-cris.c:1818 elf32-tic6x.c:2579
+#, c-format
+msgid "%B, section %A: relocation %s with non-zero addend %Ld against symbol `%s'"
+msgstr "%B, secciÃ³n %A: reubicaciÃ³n %s con adiciÃ³n %Ld sin ceros contra el sÃ­mbolo Â«%sÂ»"
 
-#: elf32-cris.c:1399
+#: elf32-cris.c:1344
+#, c-format
 msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'"
-msgstr "%B, secciÃ³n %A: no se permite la reubicaciÃ³n %s para el sÃ­mbolo global: `%s'"
+msgstr "%B, secciÃ³n %A: reubicaciÃ³n %s no permitida para sÃ­mbolo global: Â«%sÂ»"
 
-#: elf32-cris.c:1415
+#: elf32-cris.c:1361
+#, c-format
 msgid "%B, section %A: relocation %s with no GOT created"
-msgstr "%B, secciÃ³n %A: la reubicaciÃ³n %s sin GOT creado"
+msgstr "%B, secciÃ³n %A: reubicaciÃ³n %s sin GOT creado"
 
 #. We shouldn't get here for GCC-emitted code.
-#: elf32-cris.c:1630
+#: elf32-cris.c:1578
+#, c-format
 msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
-msgstr "%B, secciÃ³n %A: la reubicaciÃ³n %s tiene una referencia sin definir a `%s', Â¿tal vez una confusiÃ³n en la declaraciÃ³n?"
+msgstr "%B, secciÃ³n %A: reubicaciÃ³n %s tiene una referencia sin definir a Â«%sÂ», Â¿tal vez una confusiÃ³n en la declaraciÃ³n?"
+
+#: elf32-cris.c:1581
+#, c-format
+msgid "%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?"
+msgstr "%B, secciÃ³n %A: la reubicaciÃ³n %s  no estÃ¡ permitida para Â«%sÂ», un sÃ­mbolo global con visibilidad predeterminada, Â¿quizÃ¡ una confusiÃ³n en la declaraciÃ³n?"
 
-#: elf32-cris.c:2002
+#: elf32-cris.c:1952
+#, c-format
 msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
-msgstr "%B, secciÃ³n %A: no se permite la reubicaciÃ³n %s para el sÃ­mbolo: `%s' el cual se define fuera del programa, Â¿tal vez una confusiÃ³n en la declaraciÃ³n?"
+msgstr "%B, secciÃ³n %A: reubicaciÃ³n %s no permitida para sÃ­mbolo: Â«%sÂ» el cual se define fuera del programa, Â¿tal vez una confusiÃ³n en la declaraciÃ³n?"
 
-#: elf32-cris.c:2055
+#: elf32-cris.c:2005
 msgid "(too many global variables for -fpic: recompile with -fPIC)"
 msgstr "(demasiadas variables globales para -fpic: recompile con -fPIC)"
 
-#: elf32-cris.c:2062
+#: elf32-cris.c:2012
 msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)"
 msgstr "(datos thread-local demasiado grandes para -fpic o -msmall-tls: recompile con -fPIC o -mno-small-tls)"
 
-#: elf32-cris.c:3261
+#: elf32-cris.c:3047
+#, c-format
 msgid ""
 "%B, section %A:\n"
-"  v10/v32 compatible object %s must not contain a PIC relocation"
+"  v10/v32 compatible object must not contain a PIC relocation"
 msgstr ""
 "%B, secciÃ³n %A:\n"
-"  el objeto %s compatible con v10/v32 no debe contener una reubicaciÃ³n PIC"
+"  el objeto compatible v10/v32 no debe contener una reubicaciÃ³n PIC"
 
-#: elf32-cris.c:3366
+#: elf32-cris.c:3101
+#, c-format
 msgid ""
 "%B, section %A:\n"
 "  relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC"
 msgstr ""
 "%B, secciÃ³n %A:\n"
-"  la reubicaciÃ³n %s no es vÃ¡lida en un objeto compartido; es una confusiÃ³n de opciÃ³n tÃ­pica, recompile con -fPIC"
+"  reubicaciÃ³n %s no es vÃ¡lida en un objeto compartido; es una confusiÃ³n de opciÃ³n tÃ­pica, recompile con -fPIC"
 
-#: elf32-cris.c:3580
+#: elf32-cris.c:3319
+#, c-format
 msgid ""
 "%B, section %A:\n"
 "  relocation %s should not be used in a shared object; recompile with -fPIC"
 msgstr ""
 "%B, secciÃ³n %A:\n"
-"  la reubicaciÃ³n %s no se debe usar en un objeto compartido; recompile con -fPIC"
+"  reubicaciÃ³n %s no se deberÃ­a emplearse en un objeto compartido; recompile con -fPIC"
 
-#: elf32-cris.c:4002
+#: elf32-cris.c:3744
+#, c-format
 msgid ""
 "%B, section `%A', to symbol `%s':\n"
 "  relocation %s should not be used in a shared object; recompile with -fPIC"
 msgstr ""
-"%B, secciÃ³n `%A', para el sÃ­mbolo `%s':\n"
+"%B, secciÃ³n `%A', para el sÃ­mbolo Â«%sÂ»:\n"
 "  la reubicaciÃ³n %s no se debe usar en un objeto compartido; recompile con -fPIC"
 
-#: elf32-cris.c:4118
+#: elf32-cris.c:3857
 msgid "Unexpected machine number"
 msgstr "NÃºmero de mÃ¡quina inesperado"
 
-#: elf32-cris.c:4172
+#: elf32-cris.c:3908
 #, c-format
 msgid " [symbols have a _ prefix]"
 msgstr " [los sÃ­mbolos tiene un prefijo _]"
 
-#: elf32-cris.c:4175
+#: elf32-cris.c:3911
 #, c-format
 msgid " [v10 and v32]"
 msgstr " [v10 y v32]"
 
-#: elf32-cris.c:4178
+#: elf32-cris.c:3914
 #, c-format
 msgid " [v32]"
 msgstr " [v32]"
 
-#: elf32-cris.c:4223
+#: elf32-cris.c:3958
 msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
-msgstr "%B: se usan sÃ­mbolos con prefijo _, pero se escribe el fichero con sÃ­mbolos sin prefijo"
+msgstr "%B: se usan sÃ­mbolos _-prefijo, pero escribiÃ©ndo el fichero con sÃ­mbolos sin prefijo"
 
-#: elf32-cris.c:4224
+#: elf32-cris.c:3959
 msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
-msgstr "%B: se usan sÃ­mbolos sin prefijo, pero se escribe el fichero con sÃ­mbolos con prefijo _"
+msgstr "%B: se usan sÃ­mbolos sin prefijo, pero se escribe el fichero con sÃ­mbolos con _-prefijo"
 
-#: elf32-cris.c:4243
+#: elf32-cris.c:3978
 msgid "%B contains CRIS v32 code, incompatible with previous objects"
 msgstr "%B contiene cÃ³digo CRIS v32, incompatible con objetos previos"
 
-#: elf32-cris.c:4245
+#: elf32-cris.c:3980
 msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
 msgstr "%B contiene cÃ³digo que no es CRIS v32, incompatible con objetos previos"
 
-#: elf32-dlx.c:142
+#: elf32-crx.c:429
+#, c-format
+msgid "%B: unrecognised CRX reloc number: %d"
+msgstr "%B: nÃºmero reubicante CRX no reconocido: %d"
+
+#: elf32-d10v.c:234
+#, c-format
+msgid "%B: invalid D10V reloc number: %d"
+msgstr "%B: nÃºmero reubicante D10V no vÃ¡lido: %d"
+
+#: elf32-d30v.c:522 elf32-d30v.c:541
+#, c-format
+msgid "%B: invalid D30V reloc number: %d"
+msgstr "%B: nÃºmero reubicante D30V no vÃ¡lido: %d"
+
+#: elf32-dlx.c:141
 #, c-format
 msgid "BFD Link Error: branch (PC rel16) to section (%s) not supported"
 msgstr "Error de Enlazado BFD: no se admite la ramificaciÃ³n (PC rel16) a la secciÃ³n (%s)"
@@ -1466,515 +2242,896 @@ msgstr "Error de Enlazado BFD: no se adm
 msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported"
 msgstr "Error de Enlazado BFD: no se admite el salto (PC rel26) a la secciÃ³n (%s)"
 
+#: elf32-dlx.c:548
+#, c-format
+msgid "Invalid DLX reloc number: %d"
+msgstr "NÃºmero reubicante DLX no vÃ¡lido: %d"
+
+#: elf32-epiphany.c:376
+#, c-format
+msgid "%B: invalid Epiphany reloc number: %d"
+msgstr "%B: nÃºmero reubicante Epiphany no vÃ¡lido: %d"
+
 #. Only if it's not an unresolved symbol.
-#: elf32-epiphany.c:563 elf32-ip2k.c:1475
+#: elf32-epiphany.c:570 elf32-ip2k.c:1482
 msgid "unsupported relocation between data/insn address spaces"
 msgstr "no se admite la reubicaciÃ³n entre espacios de direcciones datos/insn"
 
-#: elf32-frv.c:1509 elf32-frv.c:1658
+#: elf32-fr30.c:381
+#, c-format
+msgid "%B: invalid FR30 reloc number: %d"
+msgstr "%B: nÃºmero reubicante FR30 no vÃ¡lido: %d"
+
+#: elf32-frv.c:1451 elf32-frv.c:1602
 msgid "relocation requires zero addend"
 msgstr "la reubicaciÃ³n requiere una adiciÃ³n cero"
 
-#: elf32-frv.c:2888
+#: elf32-frv.c:2557
+#, c-format
+msgid "%B: invalid FRV reloc number: %d"
+msgstr "%B: nÃºmero reubicante FRV no vÃ¡lido: %d"
+
+#: elf32-frv.c:2823
+#, c-format
 msgid "%H: relocation to `%s+%v' may have caused the error above\n"
 msgstr "%H: la reubicaciÃ³n a `%s+%v' tal vez causÃ³ el error anterior\n"
 
-#: elf32-frv.c:2905
+#: elf32-frv.c:2840
 msgid "%H: relocation references symbol not defined in the module\n"
-msgstr "%H: la reubicaciÃ³n referencÃ­a un sÃ­mbolo que no estÃ¡ definido en el mÃ³dulo\n"
+msgstr "%H: la reubicaciÃ³n referencia un sÃ­mbolo que no estÃ¡ definido en el mÃ³dulo\n"
 
-#: elf32-frv.c:2981
+#: elf32-frv.c:2916
 msgid "%H: R_FRV_GETTLSOFF not applied to a call instruction\n"
-msgstr "%H: no se aplicÃ³ R_FRV_GETTLSOFF a una instrucciÃ³n call\n"
+msgstr "%H: no aplicado R_FRV_GETTLSOFF a una instrucciÃ³n call\n"
 
-#: elf32-frv.c:3022
+#: elf32-frv.c:2957
 msgid "%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction\n"
-msgstr "%H: no se aplicÃ³ R_FRV_GOTTLSDESC12 a una instrucciÃ³n lddi\n"
+msgstr "%H: no aplicado R_FRV_GOTTLSDESC12 a una instrucciÃ³n lddi\n"
 
-#: elf32-frv.c:3093
+#: elf32-frv.c:3028
 msgid "%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction\n"
-msgstr "%H: no se aplicÃ³ R_FRV_GOTTLSDESCHI a una instrucciÃ³n sethi\n"
+msgstr "%H: no aplicado R_FRV_GOTTLSDESCHI a una instrucciÃ³n sethi\n"
 
-#: elf32-frv.c:3130
+#: elf32-frv.c:3065
 msgid "%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction\n"
-msgstr "%H: no se aplicÃ³ R_FRV_GOTTLSDESCLO a una instrucciÃ³n setlo o setlos\n"
+msgstr "%H: no aplicado R_FRV_GOTTLSDESCLO a una instrucciÃ³n setlo o setlos\n"
 
-#: elf32-frv.c:3177
+#: elf32-frv.c:3112
 msgid "%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction\n"
-msgstr "%H: no se aplicÃ³ R_FRV_GOTTLSDESC_RELAX a una instrucciÃ³n ldd\n"
+msgstr "%H: no aplicado R_FRV_GOTTLSDESC_RELAX a una instrucciÃ³n ldd\n"
 
-#: elf32-frv.c:3261
+#: elf32-frv.c:3196
 msgid "%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction\n"
-msgstr "%H: no se aplicÃ³ R_FRV_GETTLSOFF_RELAX a una instrucciÃ³n calll\n"
+msgstr "%H: no aplicado R_FRV_GETTLSOFF_RELAX a una instrucciÃ³n calll\n"
 
-#: elf32-frv.c:3315
+#: elf32-frv.c:3250
 msgid "%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction\n"
-msgstr "%H: no se aplicÃ³ R_FRV_GOTTLSOFF12 a una instrucciÃ³n ldi\n"
+msgstr "%H: no aplicado R_FRV_GOTTLSOFF12 a una instrucciÃ³n ldi\n"
 
-#: elf32-frv.c:3345
+#: elf32-frv.c:3280
 msgid "%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction\n"
-msgstr "%H: no se aplicÃ³ R_FRV_GOTTLSOFFHI a una instrucciÃ³n sethi\n"
+msgstr "%H: no aplicado R_FRV_GOTTLSOFFHI a una instrucciÃ³n sethi\n"
 
-#: elf32-frv.c:3374
+#: elf32-frv.c:3309
 msgid "%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction\n"
-msgstr "%H: no se aplicÃ³ R_FRV_GOTTLSOFFLO a una instrucciÃ³n setlo o setlos\n"
+msgstr "%H: no aplicado R_FRV_GOTTLSOFFLO a una instrucciÃ³n setlo o setlos\n"
 
-#: elf32-frv.c:3404
+#: elf32-frv.c:3339
 msgid "%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction\n"
-msgstr "%H: no se aplicÃ³ R_FRV_TLSOFF_RELAX a una instrucciÃ³n ld\n"
+msgstr "%H: no aplicado R_FRV_TLSOFF_RELAX a una instrucciÃ³n ld\n"
 
-#: elf32-frv.c:3449
+#: elf32-frv.c:3384
 msgid "%H: R_FRV_TLSMOFFHI not applied to a sethi instruction\n"
-msgstr "%H: no se aplicÃ³ R_FRV_TLSMOFFHI a una instrucciÃ³n sethi\n"
+msgstr "%H: no aplicado R_FRV_TLSMOFFHI a una instrucciÃ³n sethi\n"
 
-#: elf32-frv.c:3476
+#: elf32-frv.c:3411
 msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n"
-msgstr "no se aplicÃ³ R_FRV_TLSMOFFLO a una instrucciÃ³n setlo o setlos\n"
+msgstr "R_FRV_TLSMOFFLO no aplicado a una instrucciÃ³n setlo o setlos\n"
 
-#: elf32-frv.c:3597
+#: elf32-frv.c:3532
 msgid "%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend\n"
 msgstr "%H: R_FRV_FUNCDESC referencÃ­a un sÃ­mbolo dinÃ¡mico con adiciÃ³n que no es cero\n"
 
-#: elf32-frv.c:3638 elf32-frv.c:3760
+#: elf32-frv.c:3573 elf32-frv.c:3695
 msgid "%H: cannot emit fixups in read-only section\n"
 msgstr "%H: no se pueden emitir composturas en la secciÃ³n de sÃ³lo lectura\n"
 
-#: elf32-frv.c:3669 elf32-frv.c:3803
+#: elf32-frv.c:3604 elf32-frv.c:3738
 msgid "%H: cannot emit dynamic relocations in read-only section\n"
 msgstr "%H: no se pueden emitir reubicaciones dinÃ¡micas en la secciÃ³n de sÃ³lo lectura\n"
 
-#: elf32-frv.c:3718
+#: elf32-frv.c:3653
 msgid "%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend\n"
 msgstr "%H: R_FRV_FUNCDESC_VALUE referencÃ­a un sÃ­mbolo dinÃ¡mico con adiciÃ³n que no es cero\n"
 
-#: elf32-frv.c:3974
+#: elf32-frv.c:3910
+#, c-format
 msgid "%H: reloc against `%s' references a different segment\n"
-msgstr "%H: la reubicaciÃ³n contra `%s' referencÃ­a un segmento diferente\n"
+msgstr "%H: la reubicaciÃ³n contra Â«%sÂ» referencÃ­a un segmento diferente\n"
 
-#: elf32-frv.c:4124
+#: elf32-frv.c:4061
+#, c-format
 msgid "%H: reloc against `%s': %s\n"
-msgstr "%H: reubicaciÃ³n contra `%s': %s\n"
+msgstr "%H: reubicaciÃ³n contra Â«%sÂ»: %s\n"
 
-#: elf32-frv.c:6400
+#: elf32-frv.c:6255
+#, c-format
 msgid "%B: unsupported relocation type %i\n"
 msgstr "%B: no se admite el tipo de reubicaciÃ³n %i\n"
 
-#: elf32-frv.c:6722
+#: elf32-frv.c:6507
 #, c-format
-msgid "%s: compiled with %s and linked with modules that use non-pic relocations"
-msgstr "%s: compilado con %s y enlazado con mÃ³dulos que usan reubicaciones que no son pic"
+msgid "%B: compiled with %s and linked with modules that use non-pic relocations"
+msgstr "%B: compilado con %s y enlazado con mÃ³dulos que usan reubicaciones que no son pic"
 
-#: elf32-frv.c:6775 elf32-iq2000.c:845 elf32-m32c.c:807
+#: elf32-frv.c:6561 elf32-iq2000.c:828 elf32-m32c.c:874
 #, c-format
-msgid "%s: compiled with %s and linked with modules compiled with %s"
-msgstr "%s: compilado con %s y enlazado con mÃ³dulos compilados con %s"
+msgid "%B: compiled with %s and linked with modules compiled with %s"
+msgstr "%B: compilado con %s y enlazado con mÃ³dulos compilados con %s"
 
-#: elf32-frv.c:6787
+#: elf32-frv.c:6574
 #, c-format
-msgid "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%s: usa campos e_flags desconocidos (0x%lx) diferentes a aquÃ©llos de los mÃ³dulos previos (0x%lx)"
-
-#: elf32-frv.c:6837 elf32-iq2000.c:882 elf32-m32c.c:843 elf32-mt.c:576
-#: elf32-rx.c:3001
-#, c-format
-msgid "private flags = 0x%lx:"
-msgstr "opciones privadas = 0x%lx:"
+msgid "%B: uses different unknown e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%B: emplea campos e_flags (%#x) desconocidos diferentes a aquellos de los mÃ³dulos previos (%#x)"
 
 #: elf32-gen.c:69 elf64-gen.c:69
+#, c-format
 msgid "%B: Relocations in generic ELF (EM: %d)"
 msgstr "%B: Reubicaciones en ELF genÃ©rico (EM: %d)"
 
-#: elf32-hppa.c:850 elf32-hppa.c:3598
-msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"
-msgstr "%B(%A+0x%lx): no se puede alcanzar %s, recompile con -ffuntion-sections"
+#: elf32-hppa.c:829 elf32-hppa.c:3499
+#, c-format
+msgid "%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections"
+msgstr "%B(%A+%#Lx): no puede alcanzar %s, recompile con -ffuntion-sections"
 
-#: elf32-hppa.c:1284
+#: elf32-hppa.c:1242
+#, c-format
 msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC"
-msgstr "%B: no se puede usar la reubicaciÃ³n %s cuando se hace un objeto compartido; recompile con -fPIC"
+msgstr "%B: reubicaciÃ³n %s no puede utilizarse cuando se crea un objeto compartido; recompile con -fPIC"
 
-#: elf32-hppa.c:2791
+#: elf32-hppa.c:2680
+#, c-format
 msgid "%B: duplicate export stub %s"
 msgstr "%B: cabo de exportaciÃ³n %s duplicado"
 
-#: elf32-hppa.c:3437
-msgid "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"
-msgstr "%B(%A+0x%lx): la compostura %s para la insn 0x%x no se admite en un enlazado que no es compartido"
-
-#: elf32-hppa.c:4284
-msgid "%B(%A+0x%lx): cannot handle %s for %s"
-msgstr "%B(%A+0x%lx): no se puede manejar %s para %s"
+#: elf32-hppa.c:3333
+#, c-format
+msgid "%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link"
+msgstr "%B(%A+%#Lx): compostura %s para insn %#x no se admite en un enlace no compartido"
+
+#: elf32-hppa.c:4124
+#, c-format
+msgid "%s has both normal and TLS relocs"
+msgstr "%s tiene ambas reubicaciones normal y TLS"
+
+#: elf32-hppa.c:4142
+msgid "%B:%s has both normal and TLS relocs"
+msgstr "%B:%s tiene ambas reubicaciones normal y TLS"
+
+#: elf32-hppa.c:4201
+#, c-format
+msgid "%B(%A+%#Lx): cannot handle %s for %s"
+msgstr "%B(%A+%#Lx): no puede manipular %s para %s"
 
-#: elf32-hppa.c:4603
+#: elf32-hppa.c:4505
 msgid ".got section not immediately after .plt section"
 msgstr "la secciÃ³n .got no estÃ¡ inmediatamente despuÃ©s de la secciÃ³n .plt"
 
+#: elf32-i370.c:307
+#, c-format
+msgid "%B: unrecognised I370 reloc number: %d"
+msgstr "%B: nÃºmero reubicante I370 no reconocido: %d"
+
+#: elf32-i370.c:1164
+msgid "%B: unknown relocation type %d for symbol %s"
+msgstr "%B: tipo de reubicaciÃ³n %d desconocida para el sÃ­mbolo %s"
+
+#: elf32-i370.c:1306
+#, c-format
+msgid "%B: Relocation %s is not yet supported for symbol %s."
+msgstr "%B: reubicaciÃ³n %s aÃºn no se admite para el sÃ­mbolo %s."
+
 #. Unknown relocation.
-#: elf32-i386.c:373 elf32-m68k.c:384 elf32-ppc.c:1676 elf32-s390.c:379
-#: elf32-tic6x.c:2684 elf64-ppc.c:2300 elf64-s390.c:403 elf64-x86-64.c:265
+#: elf32-i386.c:384 elf32-m68k.c:352 elf32-ppc.c:2039 elf32-s390.c:346
+#: elf32-tic6x.c:2609 elf32-wasm32.c:106 elf64-ppc.c:2516 elf64-s390.c:373
+#: elf64-x86-64.c:285
+#, c-format
 msgid "%B: invalid relocation type %d"
 msgstr "%B: tipo de reubicaciÃ³n %d invÃ¡lido"
 
-#: elf32-i386.c:1404 elf64-x86-64.c:1308
-msgid "%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
-msgstr "%B: fallÃ³ la transiciÃ³n TLS de %s para %s contra `%s' en 0x%lx en la secciÃ³n `%A'"
+#: elf32-i386.c:1159 elf64-x86-64.c:1335
+#, c-format
+msgid "%B: TLS transition from %s to %s against `%s' at %#Lx in section `%A' failed"
+msgstr "%B: transiciÃ³n TLS desde %s hasta %s contra Â«%sÂ» en %#Lx en la secciÃ³n `%A' fallada"
 
-#: elf32-i386.c:1549 elf32-i386.c:3244 elf64-x86-64.c:1487 elf64-x86-64.c:3125
-#: elfxx-sparc.c:3083
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
-msgstr "%B: la reubicaciÃ³n %s contra el sÃ­mbolo STT_GNU_IFUNC `%s' no es manejada por %s"
+#: elf32-i386.c:1250
+#, c-format
+msgid "%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object"
+msgstr "%B: reubicaciÃ³n GOT directa R_386_GOT32X contra Â«%sÂ» sin registrador base no puede ser empleado cuando cree un objeto compartido"
 
-#: elf32-i386.c:1711 elf32-s390.c:1182 elf32-sh.c:6362 elf32-tilepro.c:1434
-#: elf32-xtensa.c:1182 elf64-s390.c:1151 elfxx-sparc.c:1548
-#: elfxx-tilegx.c:1701
+#: elf32-i386.c:1703 elf32-s390.c:1184 elf32-sh.c:6057 elf32-tilepro.c:1584
+#: elf32-xtensa.c:1192 elf64-s390.c:1113 elfxx-sparc.c:1601
+#: elfxx-tilegx.c:1793
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:427
+#, c-format
 msgid "%B: `%s' accessed both as normal and thread local symbol"
-msgstr "%B: se accediÃ³ `%s' como un sÃ­mbolo normal y un sÃ­mbolo local de hilo"
+msgstr "%B: se accediÃ³ Â«%sÂ» como un sÃ­mbolo normal y un sÃ­mbolo local de hilo"
+
+#: elf32-i386.c:1767
+#, c-format
+msgid "%B: unsupported non-PIC call to IFUNC `%s'"
+msgstr "%B: llamada no-PIC a IFUNC Â«%sÂ» sin apoyo"
 
-#: elf32-i386.c:2539 elf64-x86-64.c:2506
-msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'.\n"
-msgstr "%P: %B: aviso: reubicaciÃ³n contra `%s' en la secciÃ³n de sÃ³lo lectura `%A'.\n"
+#: elf32-i386.c:2345 elf64-x86-64.c:2625
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
+msgstr "%B: reubicaciÃ³n %s frente al sÃ­mbolo STT_GNU_IFUNC Â«%sÂ» no estÃ¡ apoyado"
 
-#: elf32-i386.c:2629 elf64-x86-64.c:2593
-msgid "%P: %B: warning: relocation in readonly section `%A'.\n"
-msgstr "%P: %B: aviso: reubicaciÃ³n en la secciÃ³n de sÃ³lo lectura `%A'.\n"
+#: elf32-i386.c:2378 elf32-i386.c:3684 elf32-i386.c:3823 elf64-x86-64.c:2682
+#: elf64-x86-64.c:4012 elf64-x86-64.c:4166
+msgid "Local IFUNC function `%s' in %B\n"
+msgstr "FunciÃ³n local IFUNC Â«%sÂ» dentro de %B\n"
 
-#: elf32-i386.c:3086 elf32-tilepro.c:2557 elfxx-tilegx.c:2871
-msgid "%B: unrecognized relocation (0x%x) in section `%A'"
-msgstr "%B: no se reconoce la direcciÃ³n de reubicaciÃ³n (0x%lx) en la secciÃ³n `%A'"
+#: elf32-i386.c:2593
+#, c-format
+msgid "%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object"
+msgstr "%B: reubicaciÃ³n GOT directa %s frente a Â«%sÂ» sin  registro base no puede ser empleado cuando se crea un objeto compartido"
 
-#: elf32-i386.c:3494 elf64-x86-64.c:3513
+#: elf32-i386.c:2628 elf64-x86-64.c:2873
 msgid "hidden symbol"
 msgstr "sÃ­mbolo oculto"
 
-#: elf32-i386.c:3497 elf64-x86-64.c:3516
+#: elf32-i386.c:2631 elf64-x86-64.c:2876
 msgid "internal symbol"
 msgstr "sÃ­mbolo interno"
 
-#: elf32-i386.c:3500 elf64-x86-64.c:3519
+#: elf32-i386.c:2634 elf64-x86-64.c:2879
 msgid "protected symbol"
 msgstr "sÃ­mbolo protegido"
 
-#: elf32-i386.c:3503 elf64-x86-64.c:3522
+#: elf32-i386.c:2637 elf64-x86-64.c:2882
 msgid "symbol"
 msgstr "sÃ­mbolo"
 
-#: elf32-i386.c:3508
+#: elf32-i386.c:2643
+#, c-format
 msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
-msgstr "%B: no se puede usar la reubicaciÃ³n R_386_GOTOFF contra %s indefinida `%s' cuando se hace un objeto compartido"
+msgstr "%B: no se puede usar la reubicaciÃ³n R_386_GOTOFF contra %s indefinida Â«%sÂ» cuando se hace un objeto compartido"
 
-#: elf32-i386.c:3518
-msgid "%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object"
-msgstr "%B: no se puede usar la reubicaciÃ³n R_386_GOTOFF contra la funciÃ³n protegida `%s' cuando se hace un objeto compartido"
+#: elf32-i386.c:2656
+#, c-format
+msgid "%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object"
+msgstr "%B: reubicaciÃ³n R_386_GOTOFF contra %s protegida Â«%sÂ» no puede ser utilizada cuando crea un objeto compartido"
 
-#: elf32-i386.c:4839 elf32-tilepro.c:3467 elf64-x86-64.c:4609
-#: elfxx-tilegx.c:3847
+#: elf32-i960.c:140
 #, c-format
-msgid "discarded output section: `%A'"
-msgstr "se descarta la secciÃ³n de salida: `%A'"
+msgid "%B: invalid i960 reloc number: %d"
+msgstr "%B: nÃºmero reubicante i960 no vÃ¡lido: %d"
 
-#: elf32-ip2k.c:857 elf32-ip2k.c:863 elf32-ip2k.c:930 elf32-ip2k.c:936
+#: elf32-ip2k.c:856 elf32-ip2k.c:862 elf32-ip2k.c:929 elf32-ip2k.c:935
 msgid "ip2k relaxer: switch table without complete matching relocation information."
-msgstr "relajador ip2k: tabla switch sin informaciÃ³n completa de reubicaciÃ³n de coincidencias."
+msgstr "ip2k relajante: intercambio de segmento sin informaciÃ³n completa de reubicaciÃ³n de coincidencias."
 
-#: elf32-ip2k.c:880 elf32-ip2k.c:963
+#: elf32-ip2k.c:879 elf32-ip2k.c:962
 msgid "ip2k relaxer: switch table header corrupt."
-msgstr "relajador ip2k: encabezado de tabla switch corrupto."
+msgstr "ip2k relajante: encabezado de segmento switch corrupto."
+
+#: elf32-ip2k.c:1245
+#, c-format
+msgid "%B: invalid IP2K reloc number: %d"
+msgstr "%B: nÃºmero reubicante IP2K no vÃ¡lido: %d"
+
+#: elf32-ip2k.c:1298
+#, c-format
+msgid "ip2k linker: missing page instruction at %#Lx (dest = %#Lx)"
+msgstr "ip2k enlazante: instrucciÃ³n de pÃ¡gina ausente en %#Lx (dest = %#Lx)"
 
-#: elf32-ip2k.c:1292
+#: elf32-ip2k.c:1315
 #, c-format
-msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)."
-msgstr "enlazador ip2k: falta la instrucciÃ³n de pÃ¡gina en 0x%08lx (dest = 0x%08lx)."
+msgid "ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)"
+msgstr "ip2k enlazante: instrucciÃ³n de pÃ¡gina redundante en %#Lx (dest = %#Lx)"
 
-#: elf32-ip2k.c:1308
+#: elf32-iq2000.c:441
 #, c-format
-msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."
-msgstr "enlazador ip2k: instrucciÃ³n de pÃ¡gina redundante en 0x%08lx (dest = 0x%08lx)."
+msgid "%B: invalid IQ2000 reloc number: %d"
+msgstr "%B: nÃºmero reubicante IQ2000 no vÃ¡lido: %d"
 
-#: elf32-iq2000.c:858 elf32-m32c.c:819
+#: elf32-lm32.c:539
 #, c-format
-msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%s: usa campos de e_flags diferentes (0x%lx) que los mÃ³dulos previos (0x%lx)"
+msgid "%B: invalid LM32 reloc number: %d"
+msgstr "%B: nÃºmero reubicante LM32 no vÃ¡lido: %d"
 
-#: elf32-lm32.c:706
+#: elf32-lm32.c:648 elf32-nios2.c:3133
 msgid "global pointer relative relocation when _gp not defined"
 msgstr "reubicaciÃ³n relativa al puntero global cuando _gp no estÃ¡ definido"
 
-#: elf32-lm32.c:761
+#: elf32-lm32.c:703 elf32-nios2.c:3570
 msgid "global pointer relative address out of range"
 msgstr "direcciÃ³n relativa al puntero global fuera de rango"
 
-#: elf32-lm32.c:1057
+#: elf32-lm32.c:998
 msgid "internal error: addend should be zero for R_LM32_16_GOT"
-msgstr "error interno: addend debe ser cero para R_LM32_16_GOT"
+msgstr "error interno: addend deberÃ­a ser cero para R_LM32_16_GOT"
+
+#: elf32-m32c.c:306
+#, c-format
+msgid "%B: invalid M32C reloc number: %d"
+msgstr "%B: nÃºmero reubicante M32C no vÃ¡lido: %d"
+
+#: elf32-m32r.c:1286
+#, c-format
+msgid "%B: invalid M32R reloc number: %d"
+msgstr "%B: nÃºmero reubicante M32R no vÃ¡lido: %d"
 
-#: elf32-m32r.c:1453
+#: elf32-m32r.c:1458
 msgid "SDA relocation when _SDA_BASE_ not defined"
-msgstr "reubicaciÃ³n SDA cuando _SDA_BASE_ no estÃ¡ definido"
+msgstr "SDA reubicable cuando _SDA_BASE_ no estÃ¡ definido"
 
-#: elf32-m32r.c:3043
+#: elf32-m32r.c:2971 elf32-microblaze.c:1064 elf32-microblaze.c:1112
+#, c-format
 msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
-msgstr "%B: El objetivo (%s) de una reubicaciÃ³n %s estÃ¡ en la secciÃ³n errÃ³nea (%A)"
+msgstr "%B: El objetivo (%s) de una reubicaciÃ³n %s estÃ¡ en la secciÃ³n equivocada (%A)"
 
-#: elf32-m32r.c:3571
+#: elf32-m32r.c:3473
 msgid "%B: Instruction set mismatch with previous modules"
-msgstr "%B: El conjunto de instrucciones no coincide con mÃ³dulos previos"
+msgstr "%B: Conjunto de instrucciones no coincide con mÃ³dulos previos"
 
-#: elf32-m32r.c:3592
+#: elf32-m32r.c:3494 elf32-nds32.c:6037
 #, c-format
 msgid "private flags = %lx"
 msgstr "opciones privadas = %lx"
 
-#: elf32-m32r.c:3597
+#: elf32-m32r.c:3499
 #, c-format
 msgid ": m32r instructions"
 msgstr ": instrucciones m32r"
 
-#: elf32-m32r.c:3598
+#: elf32-m32r.c:3500
 #, c-format
 msgid ": m32rx instructions"
 msgstr ": instrucciones m32rx"
 
-#: elf32-m32r.c:3599
+#: elf32-m32r.c:3501
 #, c-format
 msgid ": m32r2 instructions"
 msgstr ": instrucciones m32r2"
 
-#: elf32-m68hc1x.c:1050
+#: elf32-m68hc11.c:390
+#, c-format
+msgid "%B: invalid M68HC11 reloc number: %d"
+msgstr "%B: nÃºmero reubicante M68HC11 no vÃ¡lido: %d"
+
+#: elf32-m68hc12.c:510
+#, c-format
+msgid "%B: invalid M68HC12 reloc number: %d"
+msgstr "%B: nÃºmero reubicante M68HC12 no vÃ¡lido: %d"
+
+#: elf32-m68hc1x.c:1115
 #, c-format
 msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
-msgstr "El referenciar al sÃ­mbolo far `%s' usando una reubicaciÃ³n incorrecta puede resultar en una ejecuciÃ³n incorrecta"
+msgstr "El referenciar al sÃ­mbolo far Â«%sÂ» usando una reubicaciÃ³n incorrecta puede resultar en una ejecuciÃ³n incorrecta"
 
-#: elf32-m68hc1x.c:1073
+#: elf32-m68hc1x.c:1149
+#, c-format
+msgid "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code."
+msgstr "DirecciÃ³n XGATE (%lx) no estÃ¡ dentro de RAM(0xE000-0xFFFF) compartida, por lo que debe desplazar manualmente la direcciÃ³n, y posiblemente la pÃ¡gina, en su cÃ³digo."
+
+#: elf32-m68hc1x.c:1167
 #, c-format
 msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)"
 msgstr "la direcciÃ³n almacenada [%lx:%04lx] (%lx) no estÃ¡ en el mismo banco que la direcciÃ³n almacenada actual [%lx:%04lx] (%lx)"
 
-#: elf32-m68hc1x.c:1092
+#: elf32-m68hc1x.c:1183
 #, c-format
 msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx"
 msgstr "referencia a una direcciÃ³n almacenada [%lx:%04lx] en el espacio normal de direcciones en %04lx"
 
-#: elf32-m68hc1x.c:1225
+#: elf32-m68hc1x.c:1224
+#, c-format
+msgid "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your code"
+msgstr "DirecciÃ³n S12 (%lx) no estÃ¡ dentro de RAM(0x2000-0x4000) compartida, por lo tanto debe desplazar manualmente la direcciÃ³n dentro de su cÃ³digo"
+
+#: elf32-m68hc1x.c:1351
 msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers"
 msgstr "%B: se enlazan ficheros compilados con enteros de 16-bit (-mshort) y otros con enteros de 32-bit"
 
-#: elf32-m68hc1x.c:1232
+#: elf32-m68hc1x.c:1358
 msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double"
 msgstr "%B: se enlazan ficheros compilados con dobles de 32-bit (-fshort-double) y otros con dobles de 64-bit"
 
-#: elf32-m68hc1x.c:1241
+#: elf32-m68hc1x.c:1367
 msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
 msgstr "%B: se enlazan ficheros compilados para HCS12, con otros compilados para HC12"
 
-#: elf32-m68hc1x.c:1257 elf32-ppc.c:4227 elf64-sparc.c:706 elfxx-mips.c:13965
-msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%B: usa campos de e_flags diferentes (0x%lx) que los mÃ³dulos previos (0x%lx)"
-
-#: elf32-m68hc1x.c:1285
+#: elf32-m68hc1x.c:1412 elf32-xgate.c:672
 #, c-format
 msgid "[abi=32-bit int, "
-msgstr "[abi=int de 32-bit, "
+msgstr "[abi=32-bit ent, "
 
-#: elf32-m68hc1x.c:1287
+#: elf32-m68hc1x.c:1414 elf32-xgate.c:674
 #, c-format
 msgid "[abi=16-bit int, "
-msgstr "[abi=int de 16-bit, "
+msgstr "[abi=16-bit ent, "
 
-#: elf32-m68hc1x.c:1290
+#: elf32-m68hc1x.c:1417 elf32-xgate.c:677
 #, c-format
 msgid "64-bit double, "
 msgstr "doble de 64-bit, "
 
-#: elf32-m68hc1x.c:1292
+#: elf32-m68hc1x.c:1419 elf32-xgate.c:679
 #, c-format
 msgid "32-bit double, "
 msgstr "doble de 32-bit, "
 
-#: elf32-m68hc1x.c:1295
+#: elf32-m68hc1x.c:1422
 #, c-format
 msgid "cpu=HC11]"
 msgstr "cpu=HC11]"
 
-#: elf32-m68hc1x.c:1297
+#: elf32-m68hc1x.c:1424
 #, c-format
 msgid "cpu=HCS12]"
 msgstr "cpu=HCS12]"
 
-#: elf32-m68hc1x.c:1299
+#: elf32-m68hc1x.c:1426
 #, c-format
 msgid "cpu=HC12]"
 msgstr "cpu=HC12]"
 
-#: elf32-m68hc1x.c:1302
+#: elf32-m68hc1x.c:1429
 #, c-format
 msgid " [memory=bank-model]"
 msgstr " [memoria=modelo de bancos]"
 
-#: elf32-m68hc1x.c:1304
+#: elf32-m68hc1x.c:1431
 #, c-format
 msgid " [memory=flat]"
 msgstr " [memoria=plana]"
 
-#: elf32-m68k.c:1251 elf32-m68k.c:1252 vms-alpha.c:7314 vms-alpha.c:7329
+#: elf32-m68hc1x.c:1434
+#, c-format
+msgid " [XGATE RAM offsetting]"
+msgstr " [XGATE retirando RAM]"
+
+#: elf32-m68k.c:1214 elf32-m68k.c:1215 vms-alpha.c:7477 vms-alpha.c:7493
 msgid "unknown"
 msgstr "desconocido"
 
-#: elf32-m68k.c:1715
+#: elf32-m68k.c:1658
+#, c-format
 msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
 msgstr "%B: desbordamiento de GOT: NÃºmero de reubicaciones con desplazamiento de 8-bit > %d"
 
-#: elf32-m68k.c:1721
+#: elf32-m68k.c:1665
+#, c-format
 msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
 msgstr "%B: desbordamiento de GOT: NÃºmero de reubicaciones con desplazamiento de 8 o 16-bit > %d"
 
-#: elf32-m68k.c:3957
-msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): la reubicaciÃ³n R_68K_TLS_LE32 no se permite en objetos compartidos"
-
-#: elf32-mcore.c:99 elf32-mcore.c:442
+#: elf32-mcore.c:100 elf32-mcore.c:455
+#, c-format
 msgid "%B: Relocation %s (%d) is not currently supported.\n"
 msgstr "%B: Actualmente no se admite la reubicaciÃ³n %s (%d).\n"
 
-#: elf32-mcore.c:428
+#: elf32-mcore.c:355
+#, c-format
+msgid "%B: unrecognised MCore reloc number: %d"
+msgstr "%B: nÃºmero reubicante MCore no reconocido: %d"
+
+#: elf32-mcore.c:440
+#, c-format
 msgid "%B: Unknown relocation type %d\n"
 msgstr "%B: Tipo de reubicaciÃ³n %d desconocido\n"
 
 #. Pacify gcc -Wall.
-#: elf32-mep.c:157
+#: elf32-mep.c:139
 #, c-format
 msgid "mep: no reloc for code %d"
 msgstr "mep: no hay reubicaciÃ³n para el cÃ³digo %d"
 
-#: elf32-mep.c:163
+#: elf32-mep.c:146
 #, c-format
 msgid "MeP: howto %d has type %d"
-msgstr "MeP: howto %d tiene el tipo %d"
+msgstr "MeP: para que %d tenga tipo %d"
+
+#: elf32-mep.c:390
+#, c-format
+msgid "%B: invalid MEP reloc number: %d"
+msgstr "%B: nÃºmero reubicante MEP no vÃ¡lido: %d"
 
-#: elf32-mep.c:648
+#: elf32-mep.c:620
+#, c-format
 msgid "%B and %B are for different cores"
 msgstr "%B y %B son para nÃºcleos diferentes"
 
-#: elf32-mep.c:665
+#: elf32-mep.c:639
+#, c-format
 msgid "%B and %B are for different configurations"
 msgstr "%B y %B son para configuraciones diferentes"
 
-#: elf32-mep.c:702
+#: elf32-mep.c:677
 #, c-format
 msgid "private flags = 0x%lx"
-msgstr "opciones privadas = 0x%lx"
+msgstr "marcas privadas = 0x%lx"
 
-#: elf32-microblaze.c:742
+#: elf32-metag.c:878
 #, c-format
-msgid "%s: unknown relocation type %d"
-msgstr "%s: tipo de reubicaciÃ³n %d desconocido"
+msgid "%B: invalid METAG reloc number: %d"
+msgstr "%B: nÃºmero reubicante METAG no vÃ¡lido: %d"
+
+#: elf32-metag.c:1860
+msgid "%B(%A): multiple TLS models are not supported"
+msgstr "%B(%A): mÃºltiples modelos TLS no estÃ¡n apoyados"
+
+#: elf32-metag.c:1863
+msgid "%B(%A): shared library symbol %s encountered whilst performing a static link"
+msgstr "%B(%A): sÃ­mbolo de biblioteca compartido %s encontrado mientras efectuaba un enlace estÃ¡tico"
 
-#: elf32-microblaze.c:867 elf32-microblaze.c:912
+#: elf32-microblaze.c:656
 #, c-format
-msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
-msgstr "%s: El objetivo (%s) de una reubicaciÃ³n %s estÃ¡ en la secciÃ³n errÃ³nea (%s)"
+msgid "%B: unrecognised MicroBlaze reloc number: %d"
+msgstr "%B: nÃºmero reubicante MicroBlaze no reconocido: %d"
 
-#: elf32-microblaze.c:1155 elf32-tilepro.c:2891 elfxx-sparc.c:3457
-#: elfxx-tilegx.c:3230
+#: elf32-microblaze.c:1482 elf32-or1k.c:1052 elf32-tilepro.c:3147
+#: elfxx-sparc.c:3537 elfxx-tilegx.c:3531
 msgid "%B: probably compiled without -fPIC?"
 msgstr "%B: Â¿Compilado probablemente sin -fPIC?"
 
-#: elf32-microblaze.c:2074
-msgid "%B: bad relocation section name `%s'"
-msgstr "%B: nombre de secciÃ³n de reubicaciÃ³n `%s' errÃ³neo"
-
-#: elf32-mips.c:1549 elf64-mips.c:2683 elfn32-mips.c:2487
+#: elf32-mips.c:1777 elf64-mips.c:3200 elfn32-mips.c:3014
 msgid "literal relocation occurs for an external symbol"
 msgstr "la reubicaciÃ³n literal sucede para un sÃ­mbolo externo"
 
-#: elf32-mips.c:1596 elf32-score.c:570 elf32-score7.c:469 elf64-mips.c:2726
-#: elfn32-mips.c:2528
+#: elf32-mips.c:1824 elf32-score.c:569 elf32-score7.c:469 elf64-mips.c:3243
+#: elfn32-mips.c:3055
 msgid "32bits gp relative relocation occurs for an external symbol"
 msgstr "la reubicaciÃ³n relativa a gp de 32bits sucede para un sÃ­mbolo externo"
 
-#: elf32-ppc.c:1741
+#: elf32-mips.c:2225
 #, c-format
-msgid "generic linker can't handle %s"
-msgstr "el enlazador genÃ©rico no puede manejar %s"
+msgid "Unrecognised MIPS reloc number: %d"
+msgstr "NÃºmero reubicante MIPS no reconocido: %d"
 
-#: elf32-ppc.c:2184
-msgid "corrupt %s section in %B"
-msgstr "secciÃ³n %s corrupta en %B"
+#: elf32-moxie.c:137
+#, c-format
+msgid "%B: invalid Moxie reloc number: %d"
+msgstr "%B: nÃºmero reubicante Moxie no vÃ¡lido: %d"
 
-#: elf32-ppc.c:2203
-msgid "unable to read in %s section from %B"
-msgstr "no se puede leer en la secciÃ³n %s desde %B"
+#: elf32-msp430.c:648
+#, c-format
+msgid "%B: invalid MSP430X reloc number: %d"
+msgstr "%B: nÃºmero reubicante MSP430X no vÃ¡lido: %d"
 
-#: elf32-ppc.c:2244
-msgid "warning: unable to set size of %s section in %B"
-msgstr "aviso: no se puede establecer el tamaÃ±o de la secciÃ³n %s en %B"
+#: elf32-msp430.c:658
+#, c-format
+msgid "%B: invalid MSP430 reloc number: %d"
+msgstr "%B: nÃºmero reubicante MSP430 no vÃ¡lido: %d"
 
-#: elf32-ppc.c:2294
-msgid "failed to allocate space for new APUinfo section."
-msgstr "no se puede reservar espacio para la nueva secciÃ³n APUinfo."
+#: elf32-msp430.c:832 elf32-msp430.c:1146
+msgid "Try enabling relaxation to avoid relocation truncations"
+msgstr "Intente activando relajaciÃ³n para evitar truncaciones reubicantes"
 
-#: elf32-ppc.c:2313
-msgid "failed to compute new APUinfo section."
-msgstr "no se puede calcular la nueva secciÃ³n APUinfo."
+#: elf32-msp430.c:1353
+msgid "internal error: branch/jump to an odd address detected"
+msgstr "error interno: rama/omisiÃ³n a una direcciÃ³n par detectada"
 
-#: elf32-ppc.c:2316
-msgid "failed to install new APUinfo section."
-msgstr "no se puede instalar la nueva secciÃ³n APUinfo."
+#: elf32-msp430.c:2352
+#, c-format
+msgid "Warning: %B: Unknown MSPABI object attribute %d"
+msgstr "Aviso: %B: Atributo desconocido de objeto MSPABI %d"
+
+#: elf32-msp430.c:2445
+#, c-format
+msgid "error: %B uses %s instructions but %B uses %s"
+msgstr "error: %B utiliza %s instrucciones pero %B emplea %s"
+
+#: elf32-msp430.c:2457
+#, c-format
+msgid "error: %B uses the %s code model whereas %B uses the %s code model"
+msgstr "error: %B utiliza el modelo de cÃ³digo %s mientras que %B utiliza el modelo de cÃ³digo %s"
+
+#: elf32-msp430.c:2469
+#, c-format
+msgid "error: %B uses the large code model but %B uses MSP430 instructions"
+msgstr "error: %B utiliza el modelo de cÃ³digo grande pero %B solo emplea instrucciones MSP430"
+
+#: elf32-msp430.c:2480
+#, c-format
+msgid "error: %B uses the %s data model whereas %B uses the %s data model"
+msgstr "error: %B utiliza el modelo de datos %s mientras que %B utiliza el modelo de datos %s"
+
+#: elf32-msp430.c:2492
+#, c-format
+msgid "error: %B uses the small code model but %B uses the %s data model"
+msgstr "error: %B utiliza el modelo de cÃ³digo pequeÃ±o pero %B emplea el modelo de datos %s"
+
+#: elf32-msp430.c:2504
+#, c-format
+msgid "error: %B uses the %s data model but %B only uses MSP430 instructions"
+msgstr "error: %B utiliza el modelo de datos %s pero %B solo emplea instrucciones MSP430"
+
+#: elf32-mt.c:242
+#, c-format
+msgid "%B: invalid MT reloc number: %d"
+msgstr "%B: nÃºmero reubicante MT no vÃ¡lido: %d"
+
+#: elf32-nds32.c:2897
+#, c-format
+msgid "%B: invalid NDS32 reloc number: %d"
+msgstr "%B: nÃºmero reubicante NDS32 no vÃ¡lido: %d"
+
+#: elf32-nds32.c:3232
+msgid "error: Can't find symbol: _SDA_BASE_."
+msgstr "error: no puede encontrar sÃ­mbolo: __SDA_BASE_."
+
+#: elf32-nds32.c:4410 elf32-nds32.c:11783
+msgid "%B: error: Cannot set _ITB_BASE_"
+msgstr "%B: error: no puede establecer _ITB_BASE_"
+
+#: elf32-nds32.c:4418
+msgid "error: IFC relocation error."
+msgstr "error: reubicaciÃ³n IFC errÃ³nea."
+
+#: elf32-nds32.c:4452
+#, c-format
+msgid "%B: error: unknown relocation type %d."
+msgstr "%B: error: tipo reubicante %d desconocido."
+
+#: elf32-nds32.c:4898
+msgid "%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode."
+msgstr "%B: aviso: se crea un R_NDS32_25_ABS_RELA en un objeto compartido."
+
+#: elf32-nds32.c:5032
+msgid "%B: warning: unaligned access to GOT entry."
+msgstr "%B: aviso: acceso no alineado a la entrada GOT."
+
+#: elf32-nds32.c:5074
+msgid "%B: warning: relocate SDA_BASE failed."
+msgstr "%B: aviso: reubicaciÃ³n SDA_BASE fallada."
+
+#: elf32-nds32.c:5096
+#, c-format
+msgid "%B(%A): warning: unaligned small data access of type %d."
+msgstr "%B(%A): aviso: acceso sin alinear al sÃ­mbolo Â«%sÂ» en el Ã¡rea de datos small."
+
+#: elf32-nds32.c:5844
+#, c-format
+msgid "%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte"
+msgstr "%B: tamaÃ±o de vector ISR no coincide con mÃ³dulos previos, previos %u-byte, actual %u-byte"
+
+#: elf32-nds32.c:5888
+msgid "%B: warning: Endian mismatch with previous modules."
+msgstr "%B: aviso: Coincidencia endian con mÃ³dulos previos."
+
+#: elf32-nds32.c:5898
+msgid "%B: warning: Older version of object file encountered, Please recompile with current tool chain."
+msgstr "%B: aviso: versiÃ³n de fichero objeto anterior encontrado, por favor recompile con la cadena de herramientas actuales."
+
+#: elf32-nds32.c:5976
+msgid "%B: error: ABI mismatch with previous modules."
+msgstr "%B: error: ABI no coincide con mÃ³dulos previos."
+
+#: elf32-nds32.c:5987
+msgid "%B: error: Instruction set mismatch with previous modules."
+msgstr "%B: error: conjunto de instrucciones no coincide con mÃ³dulos previos."
+
+#: elf32-nds32.c:6013
+#, c-format
+msgid "%B: warning: Incompatible elf-versions %s and  %s."
+msgstr "%B: aviso: versiones elf incompatibles %s y %s."
+
+#: elf32-nds32.c:6043
+#, c-format
+msgid ": n1 instructions"
+msgstr ": instrucciones ni"
+
+#: elf32-nds32.c:6046
+#, c-format
+msgid ": n1h instructions"
+msgstr ": instrucciones n1h"
+
+#: elf32-nds32.c:8535
+msgid "%B: Error: search_nds32_elf_blank reports wrong node\n"
+msgstr "%B: Error: search_nds32_elf_blank devuelve nodo equivocado\n"
+
+#: elf32-nds32.c:8794
+#, c-format
+msgid "%B: warning: %s points to unrecognized reloc at %#Lx"
+msgstr "%B: aviso: %s apunta a reloc no reconocido en %#Lx"
 
-#: elf32-ppc.c:3356
+#: elf32-nds32.c:11655 elf32-nds32.c:11672
+msgid "error: Jump IFC Fail."
+msgstr "error: reubicaciÃ³n IFC fallada."
+
+#: elf32-nds32.c:12529
+#, c-format
+msgid "%B: Nested OMIT_FP in %A."
+msgstr "%B: OMIT_FP anidado en %A."
+
+#: elf32-nds32.c:12548
+#, c-format
+msgid "%B: Unmatched OMIT_FP in %A."
+msgstr "%B: OMIT_FP desemparejado en %A."
+
+#: elf32-nds32.c:12831 reloc.c:8273
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n"
+msgstr "%X%P: %B(%A): reubicaciÃ³n Â«%RÂ» sale del rango\n"
+
+#: elf32-nds32.c:14607
+msgid "Linker: cannot init ex9 hash table error \n"
+msgstr "Enlazador: error de tabla hash no puede iniciar ex9\n"
+
+#: elf32-nds32.c:15016 elf32-nds32.c:15030
+msgid "Linker: error cannot fixed ex9 relocation \n"
+msgstr "Enlazador: error no solucionado ex9 reubicado \n"
+
+#: elf32-nds32.c:15241
+#, c-format
+msgid "%B: warning: unaligned small data access for entry: {%Ld, %Ld, %Ld}, addr = %#Lx, align = %#x"
+msgstr "%B: aviso: acceso de datos pequeÃ±o desalineados para entradas: {%Ld, %Ld, %Ld}, direc = %#Lx, alineam = %#x"
+
+#: elf32-nds32.c:15274
+#, c-format
+msgid "failed creating ex9.it %s hash table entry"
+msgstr "fallaba al crear ex9.it %s asiento de tabla hash"
+
+#: elf32-nios2.c:2929
+msgid "error: %B: Big-endian R2 is not supported."
+msgstr "error: %B: Big-endian R2 no estÃ¡ apoyado."
+
+#: elf32-nios2.c:3814
+#, c-format
+msgid "global pointer relative relocation at address 0x%08x when _gp not defined\n"
+msgstr "reubicaciÃ³n relativa al puntero global en direcciÃ³n 0x%08x cuando _gp no estÃ¡ definido\n"
+
+#: elf32-nios2.c:3834
+#, c-format
+msgid "Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.\n"
+msgstr "Incapaz de alcanzar %s (en 0x%08x) desde el puntero global (en 0x%08x) porque el desplazamiento (%d) estÃ¡ fuera del rango permitido, -32678 a 32767.\n"
+
+#: elf32-nios2.c:4487 elf32-pru.c:816
+msgid "relocation out of range"
+msgstr "reubicaciÃ³n fuera de rango"
+
+#: elf32-nios2.c:4497 elf32-pru.c:826 elf32-tic6x.c:2682
+msgid "dangerous relocation"
+msgstr "reubicaciÃ³n peligrosa"
+
+#: elf32-nios2.c:5370
+#, c-format
+msgid "dynamic variable `%s' is zero size"
+msgstr "la variable dinÃ¡mica Â«%sÂ» es de tamaÃ±o cero"
+
+#: elf32-or1k.c:715
+#, c-format
+msgid "%B: invalid OR1K reloc number: %d"
+msgstr "%B: nÃºmero reubicante OR1K no vÃ¡lido: %d"
+
+#: elf32-or1k.c:965
+msgid "internal error: addend should be zero for R_OR1K_GOT16"
+msgstr "error interno: addend deberÃ­a ser cero para R_OR1K_GOT16"
+
+#: elf32-or1k.c:1074
+msgid "%B: support for local dynamic not implemented"
+msgstr "%B: apoyo para dinÃ¡mico local no implementado"
+
+#: elf32-or1k.c:1209
+msgid "%B: will not resolve runtime TLS relocation"
+msgstr "%B: no resolverÃ¡ reubicaciÃ³n TLS en tiempo de ejecuciÃ³n"
+
+#: elf32-or1k.c:1529
+#, c-format
+msgid "%B: bad relocation section name `%s'"
+msgstr "%B: equivocado nombre seccional de reubicaciÃ³n Â«%sÂ»"
+
+#: elf32-or1k.c:2641
+msgid "%B: EF_OR1K_NODELAY flag mismatch with previous modules"
+msgstr "%B: marca EF_OR1K_NODELAY no coincide con los mÃ³dulos previos"
+
+#: elf32-pj.c:325
+#, c-format
+msgid "%B: unrecognised PicoJava reloc number: %d"
+msgstr "%B: nÃºmero reubicante PicoJava no reconocido: %d"
+
+#: elf32-ppc.c:2027
+#, c-format
+msgid "%B: unrecognised PPC reloc number: %d"
+msgstr "%B: nÃºmero reubicante PPC no reconocido: %d"
+
+#: elf32-ppc.c:2112
+#, c-format
+msgid "generic linker can't handle %s"
+msgstr "el enlazador genÃ©rico no puede manipular %s"
+
+#: elf32-ppc.c:2732
+#, c-format
+msgid "corrupt %s section in %B"
+msgstr "secciÃ³n %s corrupta en %B"
+
+#: elf32-ppc.c:2752
+#, c-format
+msgid "unable to read in %s section from %B"
+msgstr "no se puede leer en la secciÃ³n %s desde %B"
+
+#: elf32-ppc.c:2794
+#, c-format
+msgid "warning: unable to set size of %s section in %B"
+msgstr "aviso: no se puede establecer el tamaÃ±o de la secciÃ³n %s en %B"
+
+#: elf32-ppc.c:2844
+msgid "failed to allocate space for new APUinfo section."
+msgstr "fallaba al reservar espacio para la nueva secciÃ³n APUinfo."
+
+#: elf32-ppc.c:2863
+msgid "failed to compute new APUinfo section."
+msgstr "fallaba al calcular la nueva secciÃ³n APUinfo."
+
+#: elf32-ppc.c:2866
+msgid "failed to install new APUinfo section."
+msgstr "no se puede instalar la nueva secciÃ³n APUinfo."
+
+#: elf32-ppc.c:3915
+#, c-format
 msgid "%B: relocation %s cannot be used when making a shared object"
-msgstr "%B: no se puede usar la reubicaciÃ³n %s cuando se hace un objeto compartido"
+msgstr "%B: reubicaciÃ³n %s no puede utilizarse cuando se crea un objeto compartido"
 
-#. It does not make sense to have a procedure linkage
-#. table entry for a local symbol.
-#: elf32-ppc.c:3700
-msgid "%P: %H: %s reloc against local symbol\n"
-msgstr "%P: %H: reubicaciÃ³n %s contra un sÃ­mbolo local\n"
+#: elf32-ppc.c:4266 elf64-ppc.c:5597
+#, c-format
+msgid "%H: %s reloc against local symbol\n"
+msgstr "%H: %s reubica frente al sÃ­mbolo local\n"
 
-#: elf32-ppc.c:4039 elf32-ppc.c:4054 elfxx-mips.c:13651 elfxx-mips.c:13677
-#: elfxx-mips.c:13699 elfxx-mips.c:13725
+#: elf32-ppc.c:4628 elf32-ppc.c:4632
+#, c-format
 msgid "Warning: %B uses hard float, %B uses soft float"
-msgstr "Aviso: %B usa coma flotante hard, %B usa coma flotante soft"
+msgstr "Aviso: %B emplea coma flotante hard, %B emplea coma flotante soft"
 
-#: elf32-ppc.c:4042 elf32-ppc.c:4046
+#: elf32-ppc.c:4636 elf32-ppc.c:4641
+#, c-format
 msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float"
-msgstr "Aviso: %B usa coma flotante hard de doble precisiÃ³n, %B usa coma flotante hard de precisiÃ³n simple"
-
-#: elf32-ppc.c:4050
-msgid "Warning: %B uses soft float, %B uses single-precision hard float"
-msgstr "Aviso: %B usa coma flotante soft, %B usa coma flotante hard de precisiÃ³n simple"
+msgstr "Aviso: %B emplea coma flotante hard de doble precisiÃ³n, %B emplea coma flotante hard de precisiÃ³n simple"
 
-#: elf32-ppc.c:4057 elf32-ppc.c:4061 elfxx-mips.c:13631 elfxx-mips.c:13635
-msgid "Warning: %B uses unknown floating point ABI %d"
-msgstr "Aviso: %B usa la ABI de coma flotante desconocida %d"
+#: elf32-ppc.c:4656 elf32-ppc.c:4661
+#, c-format
+msgid "Warning: %B uses 64-bit long double, %B uses 128-bit long double"
+msgstr "Aviso: %B utiliza 64 bit doble largo, %B utiliza 128 bit doble largo"
 
-#: elf32-ppc.c:4103 elf32-ppc.c:4107
-msgid "Warning: %B uses unknown vector ABI %d"
-msgstr "Aviso: %B usa la ABI de vector desconocida %d"
+#: elf32-ppc.c:4666 elf32-ppc.c:4671
+#, c-format
+msgid "Warning: %B uses IBM long double, %B uses IEEE long double"
+msgstr "Aviso: %B utiliza doble largo IBM, %B utiliza doble largo IEEE"
 
-#: elf32-ppc.c:4111
-msgid "Warning: %B uses vector ABI \"%s\", %B uses \"%s\""
-msgstr "Aviso: %B usa la ABI de vector \"%s\", %B usa \"%s\""
+#: elf32-ppc.c:4722 elf32-ppc.c:4727
+#, c-format
+msgid "Warning: %B uses AltiVec vector ABI, %B uses SPE vector ABI"
+msgstr "Aviso: %B emplea la ABI de vectorAltiVec, %B emplea vector SPE ABI"
 
-#: elf32-ppc.c:4128 elf32-ppc.c:4131
+#: elf32-ppc.c:4750 elf32-ppc.c:4755
+#, c-format
 msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
-msgstr "Aviso: %B usa r3/r4 para devoluciones de estructura small, %B usa memoria"
+msgstr "Aviso: %B emplea r3/r4 para devoluciones de estructura small, %B emplea memoria"
 
-#: elf32-ppc.c:4134 elf32-ppc.c:4138
-msgid "Warning: %B uses unknown small structure return convention %d"
-msgstr "Aviso: %B usa la convenciÃ³n de devoluciÃ³n de estructura small %d"
-
-#: elf32-ppc.c:4192
+#: elf32-ppc.c:4810
 msgid "%B: compiled with -mrelocatable and linked with modules compiled normally"
 msgstr "%B: compilado con -mrelocatable y enlazado con mÃ³dulos compilados de forma normal"
 
-#: elf32-ppc.c:4200
+#: elf32-ppc.c:4818
 msgid "%B: compiled normally and linked with modules compiled with -mrelocatable"
 msgstr "%B: compilado de forma normal y enlazado con mÃ³dulos compilados con -mrelocatable"
 
-#: elf32-ppc.c:4309
+#: elf32-ppc.c:4887
+#, c-format
+msgid "%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn"
+msgstr "%B(%A+0x%lx): esperada reubicaciÃ³n de estilo 16A en 0x%08x insn"
+
+#: elf32-ppc.c:4906
+#, c-format
+msgid "%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn"
+msgstr "%B(%A+0x%lx): esperada reubicaciÃ³n de estilo 16D en 0x%08x insn"
+
+#: elf32-ppc.c:4997
 msgid "%P: bss-plt forced due to %B\n"
 msgstr "%P: se fuerza bss-plt debido a %B\n"
 
-#: elf32-ppc.c:4312
+#: elf32-ppc.c:5000
 msgid "%P: bss-plt forced by profiling\n"
 msgstr "%P: se fuerza bss-plt por anÃ¡lisis de perfil\n"
 
@@ -1982,681 +3139,1148 @@ msgstr "%P: se fuerza bss-plt por anÃ¡li
 #. could just mark this symbol to exclude it
 #. from tls optimization but it's safer to skip
 #. the entire optimization.
-#: elf32-ppc.c:4809 elf64-ppc.c:7858
+#: elf32-ppc.c:5322 elf64-ppc.c:8654
+#, c-format
 msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
 msgstr "%H el argumento perdiÃ³ __tls_get_addr, se desactiva la optimizaciÃ³n TLS\n"
 
-#: elf32-ppc.c:5044 elf64-ppc.c:6528
-msgid "%P: dynamic variable `%s' is zero size\n"
-msgstr "%P: la variable dinÃ¡mica `%s' es de tamaÃ±o cero\n"
+#: elf32-ppc.c:6264 elf32-sh.c:3392 elf32-tilepro.c:2331 elfxx-sparc.c:2556
+#: elfxx-tilegx.c:2567
+msgid "%B: dynamic relocation in read-only section `%A'\n"
+msgstr "%B: ubicaciÃ³n dinÃ¡mica en secciÃ³n de sÃ³lo lectura `%A'\n"
+
+#: elf32-ppc.c:8100
+msgid "%H: fixup branch overflow\n"
+msgstr "%H: reparar desbordamiento superior de rama \n"
+
+#: elf32-ppc.c:8140 elf32-ppc.c:8175
+#, c-format
+msgid "%B(%A+%#Lx): error: %s with unexpected instruction %#x"
+msgstr "%B(%A+%#Lx): error: %s con instrucciÃ³n no esperada %#x"
+
+#: elf32-ppc.c:8231
+#, c-format
+msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
+msgstr "%X%H: bss-plt no soportado -fPIC ifunc %s\n"
+
+#: elf32-ppc.c:8294 elf64-ppc.c:15070
+msgid "%H: warning: %s unexpected insn %#x.\n"
+msgstr "%H: aviso: %s inesperado ins %#x.\n"
 
-#: elf32-ppc.c:7263 elf64-ppc.c:12675
+#: elf32-ppc.c:8319
+#, c-format
 msgid "%P: %B: unknown relocation type %d for symbol %s\n"
 msgstr "%P: %B: tipo de reubicaciÃ³n %d desconocida para el sÃ­mbolo %s\n"
 
-#: elf32-ppc.c:7524
-msgid "%P: %H: non-zero addend on %s reloc against `%s'\n"
-msgstr "%P: %H: adiciÃ³n que no es cero en la reubicaciÃ³n %s contra `%s'\n"
-
-#: elf32-ppc.c:7720 elf64-ppc.c:13181
-msgid "%P: %H: relocation %s for indirect function %s unsupported\n"
-msgstr "%P: %H: no se admite la reubicaciÃ³n %s para la funciÃ³n indirecta %s\n"
+#: elf32-ppc.c:8606
+#, c-format
+msgid "%H: non-zero addend on %s reloc against `%s'\n"
+msgstr "%H: adiciÃ³n distinta de cero en reubicaciÃ³n %s contra Â«%sÂ»\n"
+
+#. @local on an ifunc does not really make sense since
+#. the ifunc resolver can take you anywhere.  More
+#. seriously, calls to ifuncs must go through a plt call
+#. stub, and for pic the plt call stubs uses r30 to
+#. access the PLT.  The problem is that a call that is
+#. local won't have the +32k reloc addend trick marking
+#. -fPIC code, so the linker won't know whether r30 is
+#. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section.
+#: elf32-ppc.c:8638
+#, c-format
+msgid "%X%H: @local call to ifunc %s\n"
+msgstr "%X%H: llamada @local a ifunc %s\n"
 
-#: elf32-ppc.c:7948 elf32-ppc.c:7978 elf32-ppc.c:8025
+#: elf32-ppc.c:8808
+#, c-format
+msgid "%H: relocation %s for indirect function %s unsupported\n"
+msgstr "%H: reubicaciÃ³n %s para funciÃ³n indirecta %s no admitida\n"
+
+#: elf32-ppc.c:9077 elf32-ppc.c:9108 elf32-ppc.c:9199
+#, c-format
 msgid "%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)\n"
 msgstr "%P: %B: el objetivo (%s) de una reubicaciÃ³n %s estÃ¡ en la secciÃ³n de salida errÃ³nea (%s)\n"
 
-#: elf32-ppc.c:8097
+#: elf32-ppc.c:9287
+#, c-format
+msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
+msgstr "%B: el objetivo (%s) de una reubicaciÃ³n %s estÃ¡ en la secciÃ³n de salida equivocada (%s)"
+
+#: elf32-ppc.c:9395
+#, c-format
 msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
 msgstr "%P: %B: la reubicaciÃ³n %s aÃºn no se admite para el sÃ­mbolo %s\n"
 
-#: elf32-ppc.c:8158 elf64-ppc.c:13467
-msgid "%P: %H: unresolvable %s relocation against symbol `%s'\n"
-msgstr "%P: %H: reubicaciÃ³n %s sin resoluciÃ³n contra el sÃ­mbolo `%s'\n"
-
-#: elf32-ppc.c:8205 elf64-ppc.c:13512
-msgid "%P: %H: %s reloc against `%s': error %d\n"
-msgstr "%P: %H: reubicaciÃ³n %s contra `%s': error %d\n"
+#: elf32-ppc.c:9480
+#, c-format
+msgid "%H: error: %s against `%s' not a multiple of %u\n"
+msgstr "%H: error: %s frente a Â«%sÂ» no un mÃºltiplo de %u\n"
+
+#: elf32-ppc.c:9509
+#, c-format
+msgid "%H: unresolvable %s relocation against symbol `%s'\n"
+msgstr "%H: reubicaciÃ³n %s irresoluble frente a sÃ­mbolo `%s'\n"
+
+#: elf32-ppc.c:9590
+#, c-format
+msgid "%H: %s reloc against `%s': error %d\n"
+msgstr "%H: reubicaciÃ³n contra Â«%sÂ»: error %d\n"
 
-#: elf32-ppc.c:8696
+#: elf32-ppc.c:10354 elf64-ppc.c:15601
+msgid "%X%P: text relocations and GNU indirect functions will result in a segfault at runtime\n"
+msgstr "%X%P: reubicaciones textuales y funciones indirectas GNU resultarÃ¡n dentro de un fallo de segmento en tiempo de ejecuciÃ³n\n"
+
+#: elf32-ppc.c:10358 elf64-ppc.c:15605
+msgid "%P: warning: text relocations and GNU indirect functions may result in a segfault at runtime\n"
+msgstr "%P: aviso:reubicaciones textuales y funciones indirectas GNU quizÃ¡ resulten dentro de un fallo segmental en tiempo de ejecuciÃ³n\n"
+
+#: elf32-ppc.c:10403
+#, c-format
 msgid "%P: %s not defined in linker created %s\n"
 msgstr "%P: no se definiÃ³ %s en el %s creado por el enlazador\n"
 
-#: elf32-rx.c:563
+#: elf32-rl78.c:292
+#, c-format
+msgid "%B: invalid RL78 reloc number: %d"
+msgstr "%B: nÃºmero reubicante RL78 no vÃ¡lido: %d"
+
+#: elf32-rl78.c:370
+msgid "Internal Error: RL78 reloc stack overflow"
+msgstr "Error Interno: RL78 reubica desbordamiento superior de pila"
+
+#: elf32-rl78.c:381
+msgid "Internal Error: RL78 reloc stack underflow"
+msgstr "Error Interno: RL78 reubica desbordamiento inferior de pila"
+
+#: elf32-rl78.c:1050
+msgid "Warning: RL78_SYM reloc with an unknown symbol"
+msgstr "Aviso: reubicaciÃ³n RL78_SYM con un sÃ­mbolo desconocido"
+
+#: elf32-rl78.c:1081 elf32-rx.c:1435
+#, c-format
+msgid "%B(%A): error: call to undefined function '%s'"
+msgstr "%B(%A): error: llamada a la funciÃ³n sin definir Â«%sÂ»"
+
+#: elf32-rl78.c:1202
+#, c-format
+msgid "RL78 ABI conflict: G10 file %B cannot be linked with %s file %B"
+msgstr "Conflicto ABI RL78: fichero G10 %B no puede ser enlazado con fichero %s %B"
+
+#: elf32-rl78.c:1219
+#, c-format
+msgid "RL78 ABI conflict: cannot link %s file %B with %s file %B"
+msgstr "Conflicto ABI RL78: no puede enlazar fichero %s %B con fichero %s %B"
+
+#: elf32-rl78.c:1228
+msgid "RL78 merge conflict: cannot link 32-bit and 64-bit objects together"
+msgstr "Conflicto de reenlace RL78: no puede enlazar objetos 32-bit y 64-bit juntos"
+
+#: elf32-rl78.c:1232 elf32-rl78.c:1236
+#, c-format
+msgid "- %B is 64-bit, %B is not"
+msgstr "- %B es 64-bit, %B no lo es"
+
+#: elf32-rl78.c:1263
+#, c-format
+msgid " [64-bit doubles]"
+msgstr " [dobles de 64-bit]"
+
+#: elf32-rx.c:314
+#, c-format
+msgid "%B: invalid RX reloc number: %d"
+msgstr "%B: nÃºmero reubicante RX no vÃ¡lido: %d"
+
+#: elf32-rx.c:595
+#, c-format
+msgid "%B:%A: table entry %s outside table"
+msgstr "%B:%A: entrada de mesa %s fuera de mesa"
+
+#: elf32-rx.c:602
+#, c-format
+msgid "%B:%A: table entry %s not word-aligned within table"
+msgstr "%B:%A: entrada de tabla %s no alineada por palabra dentro de tabla"
+
+#: elf32-rx.c:668
+#, c-format
 msgid "%B:%A: Warning: deprecated Red Hat reloc "
-msgstr "%B:%A: Aviso: reubicaciÃ³n Red Hat obsoleta"
+msgstr "%B:%A: Aviso: reubicaciÃ³n Red Hat obsoleta "
 
 #. Check for unsafe relocs in PID mode.  These are any relocs where
 #. an absolute address is being computed.  There are special cases
 #. for relocs against symbols that are known to be referenced in
 #. crt0.o before the PID base address register has been initialised.
-#: elf32-rx.c:581
-msgid "%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"
-msgstr "%B(%A): aviso: reubicaciÃ³n PID %s insegura en 0x%08lx (contra %s en %s)"
+#: elf32-rx.c:687
+#, c-format
+msgid "%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)"
+msgstr "%B(%A): PID de reubicaciÃ³n %s no segura en %#Lx (frente a %s en %s)"
 
-#: elf32-rx.c:1157
+#: elf32-rx.c:1267
 msgid "Warning: RX_SYM reloc with an unknown symbol"
 msgstr "Aviso: reubicaciÃ³n RX_SYM con un sÃ­mbolo desconocido"
 
-#: elf32-rx.c:1324
-msgid "%B(%A): error: call to undefined function '%s'"
-msgstr "%B(%A): error: llamada a la funciÃ³n sin definir '%s'"
-
-#: elf32-rx.c:1338
-msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
-msgstr "%B(%A): aviso: acceso sin alinear al sÃ­mbolo '%s' en el Ã¡rea de datos small"
-
-#: elf32-rx.c:1342
-msgid "%B(%A): internal error: out of range error"
-msgstr "%B(%A): error interno: error fuera de rango"
+#: elf32-rx.c:3146
+msgid "There is a conflict merging the ELF header flags from %B"
+msgstr "Hay un conflicto uniendo las marcas de cabecera ELF desde %B"
 
-#: elf32-rx.c:1346
-msgid "%B(%A): internal error: unsupported relocation error"
-msgstr "%B(%A): error interno: no se admite el error de reubicaciÃ³n"
-
-#: elf32-rx.c:1350
-msgid "%B(%A): internal error: dangerous relocation"
-msgstr "%B(%A): error interno: reubicaciÃ³n peligrosa"
+#: elf32-rx.c:3149
+#, c-format
+msgid "  the input  file's flags: %s"
+msgstr "  las marcas de entrada de fichero: %s"
 
-#: elf32-rx.c:1354
-msgid "%B(%A): internal error: unknown error"
-msgstr "%B(%A): error interno: error desconocido"
+#: elf32-rx.c:3151
+#, c-format
+msgid "  the output file's flags: %s"
+msgstr "  las marcas de salida de fichero: %s"
 
-#: elf32-rx.c:3004
+#: elf32-rx.c:3758
 #, c-format
-msgid " [64-bit doubles]"
-msgstr " [dobles de 64-bit]"
+msgid "%B:%A: table %s missing corresponding %s"
+msgstr "%B:%A: segmento %s requiere correspondiente ausente %d"
 
-#: elf32-rx.c:3006
+#: elf32-rx.c:3766
 #, c-format
-msgid " [dsp]"
-msgstr " [dsp]"
+msgid "%B:%A: %s and %s must be in the same input section"
+msgstr "%B:%A: %s y %s debe estar en la misma secciÃ³n de entrada"
 
-#: elf32-s390.c:2200 elf64-s390.c:2187
-msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s"
-msgstr "%B(%A+0x%lx): instrucciÃ³n invÃ¡lida para la reubicaciÃ³n TLS %s"
+#: elf32-s390.c:2137 elf64-s390.c:2075
+#, c-format
+msgid "%B(%A+%#Lx): invalid instruction for TLS relocation %s"
+msgstr "%B(%A+%#Lx): instrucciÃ³n invÃ¡lida para reubicaciÃ³n TLS %s"
 
-#: elf32-score.c:1520 elf32-score7.c:1379 elfxx-mips.c:3435
+#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3756
 msgid "not enough GOT space for local GOT entries"
 msgstr "no hay suficiente espacio GOT para entradas GOT locales"
 
-#: elf32-score.c:2742
+#: elf32-score.c:2744
 msgid "address not word align"
 msgstr "la direcciÃ³n no estÃ¡ alineada a word"
 
-#: elf32-score.c:2827 elf32-score7.c:2631
+#: elf32-score.c:2825 elf32-score7.c:2630
 #, c-format
-msgid "%s: Malformed reloc detected for section %s"
-msgstr "%s: Se detectÃ³ una reubicaciÃ³n malformada para la secciÃ³n %s"
+msgid "%B: Malformed reloc detected for section %A"
+msgstr "%B: detectada reubicaciÃ³n malformada para secciÃ³n %A"
 
-#: elf32-score.c:2878 elf32-score7.c:2682
-msgid "%B: CALL15 reloc at 0x%lx not against global symbol"
-msgstr "%B: la reubicaciÃ³n CALL15 en 0x%lx no es contra un sÃ­mbolo global"
+#: elf32-score.c:2879 elf32-score7.c:2684
+#, c-format
+msgid "%B: CALL15 reloc at %#Lx not against global symbol"
+msgstr "%B: reubicaciÃ³n CALL15 en %Lx no contra sÃ­mbolo global"
 
-#: elf32-score.c:3997 elf32-score7.c:3803
+#: elf32-score.c:4001 elf32-score7.c:3806
 #, c-format
 msgid " [pic]"
 msgstr " [pic]"
 
-#: elf32-score.c:4001 elf32-score7.c:3807
+#: elf32-score.c:4005 elf32-score7.c:3810
 #, c-format
 msgid " [fix dep]"
 msgstr " [fix dep]"
 
-#: elf32-score.c:4043 elf32-score7.c:3849
+#: elf32-score.c:4048 elf32-score7.c:3853
 msgid "%B: warning: linking PIC files with non-PIC files"
 msgstr "%B: aviso: se enlazan ficheros PIC con ficheros que no son PIC"
 
 #: elf32-sh-symbian.c:130
+#, c-format
 msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS"
-msgstr "%B: la directiva IMPORT AS para %s oculta un IMPORT AS previo"
+msgstr "%B: directiva IMPORT AS para %s concilia un IMPORT AS previo"
 
-#: elf32-sh-symbian.c:383
+#: elf32-sh-symbian.c:384
+#, c-format
 msgid "%B: Unrecognised .directive command: %s"
 msgstr "%B: No se reconoce la orden .directive: %s"
 
-#: elf32-sh-symbian.c:504
+#: elf32-sh-symbian.c:502
+#, c-format
 msgid "%B: Failed to add renamed symbol %s"
-msgstr "%B: FallÃ³ al agregar el sÃ­mbolo renombrado %s"
-
-#: elf32-sh.c:568
-msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
-msgstr "%B: 0x%lx: aviso: desplazamiento R_SH_USES errÃ³neo"
-
-#: elf32-sh.c:580
-msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
-msgstr "%B: 0x%lx: aviso: R_SH_USES seÃ±ala al insn 0x%x que no se reconoce"
-
-#: elf32-sh.c:597
-msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
-msgstr "%B: 0x%lx: aviso: desplazamiento de carga R_SH_USES errÃ³neo"
-
-#: elf32-sh.c:612
-msgid "%B: 0x%lx: warning: could not find expected reloc"
-msgstr "%B: 0x%lx: aviso: no se puede encontrar la reubicaciÃ³n esperada"
-
-#: elf32-sh.c:640
-msgid "%B: 0x%lx: warning: symbol in unexpected section"
-msgstr "%B: 0x%lx: aviso: sÃ­mbolo en una secciÃ³n inesperada"
+msgstr "%B: fallaba al aÃ±adir el sÃ­mbolo renombrado %s"
 
-#: elf32-sh.c:766
-msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
-msgstr "%B: 0x%lx: aviso: no se puede encontrar la reubicaciÃ³n COUNT esperada"
-
-#: elf32-sh.c:775
-msgid "%B: 0x%lx: warning: bad count"
-msgstr "%B: 0x%lx: aviso: cuenta errÃ³nea"
+#: elf32-sh.c:491
+#, c-format
+msgid "%B: unrecognised SH reloc number: %d"
+msgstr "%B: nÃºmero reubicante SH no reconocido: %d"
 
-#: elf32-sh.c:1179 elf32-sh.c:1549
-msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
-msgstr "%B: 0x%lx: fatal: desbordamiento de reubicaciÃ³n durante la relajaciÃ³n"
+#: elf32-sh.c:592
+#, c-format
+msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x"
+msgstr "%B: %#Lx: aviso: R_SH_USES apunta al insn 0x%x no reconocido"
 
-#: elf32-sh.c:4048 elf64-sh64.c:1514
+#: elf32-sh.c:3947 elf64-sh64.c:1508
 msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
-msgstr "No se maneja un STO_SH5_ISA32 inesperado en un sÃ­mbolo local"
+msgstr "No se manipula un STO_SH5_ISA32 inesperado en un sÃ­mbolo local"
 
-#: elf32-sh.c:4299
-msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"
-msgstr "%B: 0x%lx: fatal: objetivo de ramificaciÃ³n sin alineaciÃ³n para la reubicaciÃ³n de soporte de relajamiento"
+#: elf32-sh.c:4200
+#, c-format
+msgid "%B: %#Lx: fatal: unaligned branch target for relax-support relocation"
+msgstr "%B: %#Lx: fatal: objetivo de ramificaciÃ³n sin alineaciÃ³n para la reubicaciÃ³n de soporte relajado"
 
-#: elf32-sh.c:4332 elf32-sh.c:4347
-msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"
-msgstr "%B: 0x%lx: fatal: reubicaciÃ³n %s sin alineaciÃ³n 0x%lx"
+#: elf32-sh.c:4234 elf32-sh.c:4250
+#, c-format
+msgid "%B: %#Lx: fatal: unaligned %s relocation %#Lx"
+msgstr "%B: %#Lx: fatal: reubicaciÃ³n %s no alineada %#Lx"
 
-#: elf32-sh.c:4361
-msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
-msgstr "%B: 0x%lx: fatal: la reubicaciÃ³n R_SH_PSHA %d no estÃ¡ en el rango -32..32"
+#: elf32-sh.c:4265
+#, c-format
+msgid "%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32"
+msgstr "%B: %#Lx: fatal: la reubicaciÃ³n R_SH_PSHA %Ld no estÃ¡ en el rango -32..32"
 
-#: elf32-sh.c:4375
-msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
-msgstr "%B: 0x%lx: fatal: la reubicaciÃ³n R_SH_PSHL %d no estÃ¡ en el rango -32..32"
+#: elf32-sh.c:4280
+#, c-format
+msgid "%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32"
+msgstr "%B: %#Lx: fatal: la reubicaciÃ³n R_SH_PSHL %Ld no estÃ¡ en el rango -32..32"
 
-#: elf32-sh.c:4519 elf32-sh.c:4989
-msgid "%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"
-msgstr "%B(%A+0x%lx): no se pueden emitir composturas para `%s' en la secciÃ³n de sÃ³lo lectura"
+#: elf32-sh.c:4426 elf32-sh.c:4899
+#, c-format
+msgid "%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section"
+msgstr "%B(%A+%#Lx): no se pueden emitir composturas para Â«%sÂ» en la secciÃ³n de sÃ³lo lectura"
 
-#: elf32-sh.c:5096
-msgid "%B(%A+0x%lx): %s relocation against external symbol \"%s\""
-msgstr "%B(%A+0x%lx): reubicaciÃ³n %s contra el sÃ­mbolo externo \"%s\""
+#: elf32-sh.c:5001
+#, c-format
+msgid "%B(%A+%#Lx): %s relocation against external symbol \"%s\""
+msgstr "%B(%A+%#Lx): %s reubicaciÃ³n frente a sÃ­mbolo externo Â«%sÂ»"
 
-#: elf32-sh.c:5569
+#: elf32-sh.c:5465
 #, c-format
 msgid "%X%C: relocation to \"%s\" references a different segment\n"
-msgstr "%X%C: la reubicaciÃ³n de \"%s\" referencÃ­a un segmento diferente\n"
+msgstr "%X%C: la reubicaciÃ³n de Â«%sÂ» referencÃ­a un segmento diferente\n"
 
-#: elf32-sh.c:5575
+#: elf32-sh.c:5472
 #, c-format
 msgid "%C: warning: relocation to \"%s\" references a different segment\n"
-msgstr "%C: aviso: la reubicaciÃ³n de \"%s\" referencÃ­a un segmento diferente\n"
+msgstr "%C: aviso: la reubicaciÃ³n de Â«%sÂ» referencÃ­a un segmento diferente\n"
 
-#: elf32-sh.c:6353 elf32-sh.c:6436
+#: elf32-sh.c:6046 elf32-sh.c:6132
+#, c-format
 msgid "%B: `%s' accessed both as normal and FDPIC symbol"
-msgstr "%B: se accediÃ³ `%s' como un sÃ­mbolo normal y un sÃ­mbolo FDPIC"
+msgstr "%B: se accediÃ³ Â«%sÂ» como un sÃ­mbolo normal y un sÃ­mbolo FDPIC"
 
-#: elf32-sh.c:6358 elf32-sh.c:6440
+#: elf32-sh.c:6052 elf32-sh.c:6137
+#, c-format
 msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
-msgstr "%B: se accediÃ³ `%s' como un sÃ­mbolo FDPIC y un sÃ­mbolo local de hilo"
+msgstr "%B: se accediÃ³ Â«%sÂ» como un sÃ­mbolo FDPIC y un sÃ­mbolo local de hilo"
 
-#: elf32-sh.c:6388
+#: elf32-sh.c:6083
 msgid "%B: Function descriptor relocation with non-zero addend"
-msgstr "%B: ReubicaciÃ³n de descriptor de funciÃ³n con adiciÃ³n que no es cero"
+msgstr "%B: reubicaciÃ³n de descriptor de funciÃ³n con adiciÃ³n que no es cero"
 
-#: elf32-sh.c:6624 elf64-alpha.c:4652
+#: elf32-sh.c:6321 elf64-alpha.c:4688
+#, c-format
 msgid "%B: TLS local exec code cannot be linked into shared objects"
-msgstr "%B: el cÃ³digo de ejecuciÃ³n local TLS no se puede enlazar en objetos compartidos"
+msgstr "%B: cÃ³digo local ejecutable TLS no se puede ser enlazado dentro de objetos compartidos"
 
-#: elf32-sh64.c:223 elf64-sh64.c:2318
+#: elf32-sh.c:6436
 #, c-format
-msgid "%s: compiled as 32-bit object and %s is 64-bit"
-msgstr "%s: compilado como un objeto de 32-bit y %s es de 64-bit"
+msgid "%B: uses %s instructions while previous modules use %s instructions"
+msgstr "%B: emplea %s instrucciones mientras que mÃ³dulos anteriores emplean %s instrucciones"
 
-#: elf32-sh64.c:226 elf64-sh64.c:2321
+#: elf32-sh.c:6448
 #, c-format
-msgid "%s: compiled as 64-bit object and %s is 32-bit"
-msgstr "%s: compilado como un objeto de 64-bit y %s es de 32-bit"
+msgid "internal error: merge of architecture '%s' with architecture '%s' produced unknown architecture"
+msgstr "error interno: combinaciÃ³n de arquitectura Â«%sÂ» con arquitectura Â«%sÂ» produjo una arquitectura desconocida"
+
+#: elf32-sh.c:6485
+msgid "%B: uses instructions which are incompatible with instructions used in previous modules"
+msgstr "%B: utiliza instrucciones las cuales son incompatibles con instrucciones utilizadas en mÃ³dulos previos"
 
-#: elf32-sh64.c:228 elf64-sh64.c:2323
+#: elf32-sh.c:6498
+msgid "%B: attempt to mix FDPIC and non-FDPIC objects"
+msgstr "%B: intenta mezclar objetos FDPIC y no-FDPIC"
+
+#: elf32-sh64.c:225 elf64-sh64.c:2277
 #, c-format
-msgid "%s: object size does not match that of target %s"
-msgstr "%s: el tamaÃ±o del objeto no coincide con el tamaÃ±o del objetivo %s"
+msgid "%B: compiled as 32-bit object and %B is 64-bit"
+msgstr "%B: compilado como objeto de 32-bit y %B es de 64-bit"
 
-#: elf32-sh64.c:451 elf64-sh64.c:2837
+#: elf32-sh64.c:229 elf64-sh64.c:2281
 #, c-format
-msgid "%s: encountered datalabel symbol in input"
-msgstr "%s: se encontrÃ³ un sÃ­mbolo datalabel en la entrada"
+msgid "%B: compiled as 64-bit object and %B is 32-bit"
+msgstr "%B: compilado como objeto de 64-bit y %B es de 32-bit"
 
-#: elf32-sh64.c:528
+#: elf32-sh64.c:232 elf64-sh64.c:2284
+#, c-format
+msgid "%B: object size does not match that of target %B"
+msgstr "%B: tamaÃ±o del objeto no coincide con el tamaÃ±o objetivo %B"
+
+#: elf32-sh64.c:455 elf64-sh64.c:2772
+msgid "%B: encountered datalabel symbol in input"
+msgstr "%B: se encontrÃ³ un sÃ­mbolo etiqueta de datos dentro de la entrada"
+
+#: elf32-sh64.c:531
 msgid "PTB mismatch: a SHmedia address (bit 0 == 1)"
 msgstr "No coincide PTB: una direcciÃ³n SHmedia (bit 0 == 1)"
 
-#: elf32-sh64.c:531
+#: elf32-sh64.c:534
 msgid "PTA mismatch: a SHcompact address (bit 0 == 0)"
 msgstr "No coincide PTA: una direcciÃ³n SHcompact (bit 0 == 0)"
 
-#: elf32-sh64.c:549
-#, c-format
-msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16"
-msgstr "%s: error de GAS: insn PTB inesperada con R_SH_PT_16"
-
-#: elf32-sh64.c:598
-msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n"
-msgstr "%B: error: tipo de reubicaciÃ³n %d sin alinear en %08x reubicaciÃ³n %p\n"
+#: elf32-sh64.c:550
+msgid "%B: GAS error: unexpected PTB insn with R_SH_PT_16"
+msgstr "%B: error de GAS: insn PTB inesperada con R_SH_PT_16"
 
-#: elf32-sh64.c:674
+#: elf32-sh64.c:600
 #, c-format
-msgid "%s: could not write out added .cranges entries"
-msgstr "%s: no se pueden escribir las entradas .cranges agregadas"
+msgid "%B: error: unaligned relocation type %d at %#Lx reloc %#Lx"
+msgstr "%B: error: tipo de reubicaciÃ³n %d sin alinear en %#Lx reubicaciÃ³n %#Lx"
 
-#: elf32-sh64.c:734
-#, c-format
-msgid "%s: could not write out sorted .cranges entries"
-msgstr "%s: no se pueden escribir las entradas .cranges ordenadas"
+#: elf32-sh64.c:676
+msgid "%B: could not write out added .cranges entries"
+msgstr "%B: no pudo escribir fuera entradas .cranges aÃ±adidas"
+
+#: elf32-sh64.c:735
+msgid "%B: could not write out sorted .cranges entries"
+msgstr "%B: no pudo escribir fuera entradas .cranges ordenadas"
 
-#: elf32-sparc.c:90
+#: elf32-sparc.c:89
 msgid "%B: compiled for a 64 bit system and target is 32 bit"
 msgstr "%B: compilado para un sistema de 64 bit y el objetivo es de 32 bit"
 
-#: elf32-sparc.c:103
+#: elf32-sparc.c:102
 msgid "%B: linking little endian files with big endian files"
 msgstr "%B: se enlazan ficheros little endian con ficheros big endian"
 
-#: elf32-spu.c:719
+#: elf32-spu.c:160
+#, c-format
+msgid "%B: unrecognised SPU reloc number: %d"
+msgstr "%B: nÃºmero reubicante SPU no reconocido: %d"
+
+#: elf32-spu.c:726
 msgid "%X%P: overlay section %A does not start on a cache line.\n"
-msgstr "%X%P: la secciÃ³n de sobreescritura %A no inicia en una lÃ­nea de cachÃ©.\n"
+msgstr "%X%P: la secciÃ³n de sobrescritura %A no inicia en una lÃ­nea de cachÃ©.\n"
 
-#: elf32-spu.c:727
+#: elf32-spu.c:734
 msgid "%X%P: overlay section %A is larger than a cache line.\n"
 msgstr "%X%P: la secciÃ³n de sobreescritura %A es mÃ¡s grande que una lÃ­nea de cachÃ©.\n"
 
-#: elf32-spu.c:747
+#: elf32-spu.c:754
 msgid "%X%P: overlay section %A is not in cache area.\n"
 msgstr "%X%P: la secciÃ³n de sobreescritura %A no estÃ¡ en el Ã¡rea de cachÃ©.\n"
 
-#: elf32-spu.c:787
+#: elf32-spu.c:795
+#, c-format
 msgid "%X%P: overlay sections %A and %A do not start at the same address.\n"
 msgstr "%X%P: las secciones de sobreescritura %A y %A no inician en la misma direcciÃ³n.\n"
 
-#: elf32-spu.c:1011
+#: elf32-spu.c:1021
+#, c-format
 msgid "warning: call to non-function symbol %s defined in %B"
 msgstr "aviso: se llama al sÃ­mbolo %s que no es funciÃ³n, definido en %B"
 
-#: elf32-spu.c:1361
+#: elf32-spu.c:1371
+#, c-format
 msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
 msgstr "%A:0x%v lrlive .brinfo (%u) difiere del anÃ¡lisis (%u)\n"
 
-#: elf32-spu.c:1880
+#: elf32-spu.c:1903
+#, c-format
 msgid "%B is not allowed to define %s"
-msgstr "%B no tiene permitido definir %s"
+msgstr "%B no estÃ¡ permitido definir %s"
 
-#: elf32-spu.c:1888
+#: elf32-spu.c:1911
 #, c-format
 msgid "you are not allowed to define %s in a script"
 msgstr "no se le permite definir %s en un guiÃ³n"
 
-#: elf32-spu.c:1922
+#: elf32-spu.c:1945
 #, c-format
 msgid "%s in overlay section"
 msgstr "%s en la secciÃ³n de sobreescritura"
 
-#: elf32-spu.c:1951
+#: elf32-spu.c:1974
 msgid "overlay stub relocation overflow"
 msgstr "desbordamiento de la reubicaciÃ³n de cabo de sobreescritura"
 
-#: elf32-spu.c:1960
+#: elf32-spu.c:1983
 msgid "stubs don't match calculated size"
 msgstr "los cabos no coinciden con el tamaÃ±o calculado"
 
-#: elf32-spu.c:2542
+#: elf32-spu.c:2566
 #, c-format
 msgid "warning: %s overlaps %s\n"
-msgstr "aviso: %s sobreescribe %s\n"
+msgstr "aviso: %s cubre %s\n"
 
-#: elf32-spu.c:2558
+#: elf32-spu.c:2582
 #, c-format
 msgid "warning: %s exceeds section size\n"
 msgstr "aviso: %s excede el tamaÃ±o de la secciÃ³n\n"
 
-#: elf32-spu.c:2589
+#: elf32-spu.c:2614
+#, c-format
 msgid "%A:0x%v not found in function table\n"
-msgstr "%A:0x%v no se encuentra en la tabla de funciÃ³n\n"
+msgstr "%A:0x%v no se encuentra en el segmento de funciÃ³n\n"
 
-#: elf32-spu.c:2729
+#: elf32-spu.c:2755
+#, c-format
 msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n"
 msgstr "%B(%A+0x%v): se llama a la secciÃ³n %B(%A) que no es de cÃ³digo, anÃ¡lisis incompleto\n"
 
-#: elf32-spu.c:3297
+#: elf32-spu.c:3324
 #, c-format
 msgid "Stack analysis will ignore the call from %s to %s\n"
-msgstr "El anÃ¡lisis de pila descartarÃ¡ la llamada de %s a %s\n"
+msgstr "Pila analizada descartarÃ¡ la llamada de %s a %s\n"
 
-#: elf32-spu.c:3988
-msgid "  %s: 0x%v\n"
-msgstr "  %s: 0x%v\n"
-
-#: elf32-spu.c:3989
-msgid "%s: 0x%v 0x%v\n"
-msgstr "%s: 0x%v 0x%v\n"
-
-#: elf32-spu.c:3994
+#: elf32-spu.c:4021
 msgid "  calls:\n"
-msgstr "  llama:\n"
+msgstr "  llamadas:\n"
 
-#: elf32-spu.c:4002
-#, c-format
-msgid "   %s%s %s\n"
-msgstr "   %s%s %s\n"
-
-#: elf32-spu.c:4307
+#: elf32-spu.c:4335
 #, c-format
 msgid "%s duplicated in %s\n"
 msgstr "%s duplicado en %s\n"
 
-#: elf32-spu.c:4311
+#: elf32-spu.c:4339
 #, c-format
 msgid "%s duplicated\n"
 msgstr "%s duplicado\n"
 
-#: elf32-spu.c:4318
+#: elf32-spu.c:4346
 msgid "sorry, no support for duplicate object files in auto-overlay script\n"
 msgstr "perdÃ³n, no se admiten ficheros objeto duplicados en el guiÃ³n de sobreescritura automÃ¡tica\n"
 
-#: elf32-spu.c:4359
+#: elf32-spu.c:4388
+#, c-format
 msgid "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store\n"
 msgstr "eltamaÃ±o 0x%v que no es de sobreescritura mas el tamaÃ±o de sobreescritura mÃ¡ximo de 0x%v excede el almacenamiento local\n"
 
-#: elf32-spu.c:4514
+#: elf32-spu.c:4544
+#, c-format
 msgid "%B:%A%s exceeds overlay size\n"
 msgstr "%B:%A%s excede el tamaÃ±o de sobreescritura\n"
 
-#: elf32-spu.c:4676
+#: elf32-spu.c:4685
+msgid "%F%P: auto overlay error: %E\n"
+msgstr "%F%P: error de sobrecarga automÃ¡tica: %E\n"
+
+#: elf32-spu.c:4706
 msgid "Stack size for call graph root nodes.\n"
-msgstr "TamaÃ±o de la pila para los nodos raÃ­z del grafo de llamadas.\n"
+msgstr "Pila de tamaÃ±o para los nodos raÃ­z del grafo de llamadas.\n"
 
-#: elf32-spu.c:4677
+#: elf32-spu.c:4707
 msgid ""
 "\n"
 "Stack size for functions.  Annotations: '*' max stack, 't' tail call\n"
 msgstr ""
 "\n"
-"TamaÃ±o de la pila para funciones. Anotaciones: '*' max de pila, 't' llamada cola\n"
+"TamaÃ±o de la pila para funciones.  Anotaciones: '*' pila mÃ¡x, 't' llamada cola\n"
 
-#: elf32-spu.c:4687
+#: elf32-spu.c:4717
 msgid "Maximum stack required is 0x%v\n"
 msgstr "La pila mÃ¡xima requerida es 0x%v\n"
 
-#: elf32-spu.c:4778
+#: elf32-spu.c:4736
+msgid "%X%P: stack/lrlive analysis error: %E\n"
+msgstr "%X%P: pila/lrlive error de anÃ¡lisis: %E\n"
+
+#: elf32-spu.c:4739
+msgid "%F%P: can not build overlay stubs: %E\n"
+msgstr ""
+"%F%P: no se puede construir sobrecarga de cabos %E\n"
+"\n"
+
+#: elf32-spu.c:4808
 msgid "fatal error while creating .fixup"
 msgstr "error fatal al crear .fixup"
 
-#: elf32-spu.c:5008
-msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%s+0x%lx): reubicaciÃ³n %s sin resoluciÃ³n contra el sÃ­mbolo `%s'"
+#: elf32-spu.c:5043
+#, c-format
+msgid "%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'"
+msgstr "%B(%s+%#Lx): reubicaciÃ³n %s irresoluble frente al sÃ­mbolo `%s'"
 
-#: elf32-tic6x.c:1602
+#: elf32-tic6x.c:1596
 msgid "warning: generating a shared library containing non-PIC code"
 msgstr "aviso: se genera una biblioteca compartida que contiene cÃ³digo que no esPIC"
 
-#: elf32-tic6x.c:1607
+#: elf32-tic6x.c:1601
 msgid "warning: generating a shared library containing non-PID code"
 msgstr "aviso: se genera una biblioteca compartida que contiene cÃ³digo que no es PID"
 
-#: elf32-tic6x.c:2541
+#: elf32-tic6x.c:2460
 msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
-msgstr "%B: reubicaciÃ³n relativa a SB pero _c6xabi_DSBT_BASE no estÃ¡ definido"
-
-#: elf32-tic6x.c:2761
-msgid "dangerous relocation"
-msgstr "reubicaciÃ³n peligrosa"
+msgstr "%B: reubicaciÃ³n relativa a SB pero __c6xabi_DSBT_BASE no estÃ¡ definido"
 
-#: elf32-tic6x.c:3733
+#: elf32-tic6x.c:3582
+#, c-format
 msgid "%B: error: unknown mandatory EABI object attribute %d"
 msgstr "%B: error: atributo de objeto EABI obligatorio %d desconocido"
 
-#: elf32-tic6x.c:3741
+#: elf32-tic6x.c:3591
+#, c-format
 msgid "%B: warning: unknown EABI object attribute %d"
 msgstr "%B: aviso: atributo de objeto EABI %d desconocido"
 
-#: elf32-tic6x.c:3853 elf32-tic6x.c:3861
+#: elf32-tic6x.c:3705 elf32-tic6x.c:3714
+#, c-format
 msgid "error: %B requires more stack alignment than %B preserves"
 msgstr "error: %B requiere mÃ¡s alineaciÃ³n de pila que la que %B preserva"
 
-#: elf32-tic6x.c:3871 elf32-tic6x.c:3880
+#: elf32-tic6x.c:3724 elf32-tic6x.c:3733
 msgid "error: unknown Tag_ABI_array_object_alignment value in %B"
 msgstr "error: valor de Tag_ABI_array_object_alignment desconocido en %B"
 
-#: elf32-tic6x.c:3889 elf32-tic6x.c:3898
+#: elf32-tic6x.c:3742 elf32-tic6x.c:3751
 msgid "error: unknown Tag_ABI_array_object_align_expected value in %B"
 msgstr "error: valor de Tag_ABI_array_object_align_expected desconocido en %B"
 
-#: elf32-tic6x.c:3906 elf32-tic6x.c:3913
+#: elf32-tic6x.c:3760 elf32-tic6x.c:3768
+#, c-format
 msgid "error: %B requires more array alignment than %B preserves"
 msgstr "error: %B requiere mÃ¡s alineaciÃ³n de matriz que la que %B preserva"
 
-#: elf32-tic6x.c:3935
+#: elf32-tic6x.c:3791
+#, c-format
 msgid "warning: %B and %B differ in wchar_t size"
 msgstr "aviso: %B y %B difieren en tamaÃ±o wchar_t"
 
-#: elf32-tic6x.c:3953
+#: elf32-tic6x.c:3810
+#, c-format
 msgid "warning: %B and %B differ in whether code is compiled for DSBT"
 msgstr "aviso: %B y %B difieren en si el cÃ³digo estÃ¡ compilado para DSBT"
 
-#: elf32-v850.c:173
+#: elf32-tilepro.c:3752 elfxx-tilegx.c:4132 elfxx-x86.c:1336
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:9172
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2492
+#, c-format
+msgid "discarded output section: `%A'"
+msgstr "se descarta la secciÃ³n de salida: `%A'"
+
+#: elf32-v850.c:153
 #, c-format
 msgid "Variable `%s' cannot occupy in multiple small data regions"
-msgstr "La variable `%s' no puede ocupar mÃºltiples regiones de datos small"
+msgstr "La variable Â«%sÂ» no puede ocupar mÃºltiples regiones de datos small"
 
-#: elf32-v850.c:176
+#: elf32-v850.c:156
 #, c-format
 msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions"
-msgstr "La variable `%s' solamente puede estar en una de las regiones de datos small, zero, y tiny"
+msgstr "La variable Â«%sÂ» solamente puede estar en una de las regiones de datos small, zero, y tiny"
 
-#: elf32-v850.c:179
+#: elf32-v850.c:159
 #, c-format
 msgid "Variable `%s' cannot be in both small and zero data regions simultaneously"
-msgstr "La variable `%s' no puede estar simultÃ¡neamente en las regiones de datos small y zero"
+msgstr "La variable Â«%sÂ» no puede estar simultÃ¡neamente en las regiones de datos small y zero"
 
-#: elf32-v850.c:182
+#: elf32-v850.c:162
 #, c-format
 msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously"
-msgstr "La variable `%s' no puede estar simultÃ¡neamente en las regiones de datos small y tiny"
+msgstr "La variable Â«%sÂ» no puede estar simultÃ¡neamente en las regiones de datos small y tiny"
 
-#: elf32-v850.c:185
+#: elf32-v850.c:165
 #, c-format
 msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
-msgstr "La variable `%s' no puede estar simultÃ¡neamente en las regiones de datos zero y tiny"
+msgstr "La variable Â«%sÂ» no puede estar simultÃ¡neamente en las regiones de datos zero y tiny"
 
-#: elf32-v850.c:483
+#: elf32-v850.c:463
 msgid "FAILED to find previous HI16 reloc"
-msgstr "FALLO para encontrar la reubicaciÃ³n HI16 previa"
+msgstr "FALLADO al encontrar reubicaciÃ³n HI16 previa"
 
-#: elf32-v850.c:2155
+#: elf32-v850.c:1898 elf32-v850.c:1917
+#, c-format
+msgid "%B: invalid V850 reloc number: %d"
+msgstr "%B: nÃºmero reubicante V850 no vÃ¡lido: %d"
+
+#: elf32-v850.c:2295
 msgid "could not locate special linker symbol __gp"
 msgstr "no se puede localizar el sÃ­mbolo especial del enlazador __gp"
 
-#: elf32-v850.c:2159
+#: elf32-v850.c:2299
 msgid "could not locate special linker symbol __ep"
 msgstr "no se puede localizar el sÃ­mbolo especial del enlazador __ep"
 
-#: elf32-v850.c:2163
+#: elf32-v850.c:2303
 msgid "could not locate special linker symbol __ctbp"
 msgstr "no se puede localizar el sÃ­mbolo especial del enlazador __ctbp"
 
-#: elf32-v850.c:2341
+#: elf32-v850.c:2524
+#, c-format
+msgid "error: %B needs 8-byte alignment but %B is set for 4-byte alignment"
+msgstr "error: %B necesita alineaciÃ³n de 8-byte pero %B estÃ¡ establecido para alineamiento de 4-byte"
+
+#: elf32-v850.c:2540
+#, c-format
+msgid "error: %B uses 64-bit doubles but %B uses 32-bit doubles"
+msgstr "error: %B utiliza dobles de 64-bit pero %B utiliza dobles de 32-bit"
+
+#: elf32-v850.c:2555
+#, c-format
+msgid "error: %B uses FPU-3.0 but %B only supports FPU-2.0"
+msgstr "error: %B utiliza FPU-3.0 pero %B solo es compatible con FPU-2.0"
+
+#: elf32-v850.c:2587
+#, c-format
+msgid " alignment of 8-byte entities: "
+msgstr " alineaciÃ³n de entidades de 8-byte: "
+
+#: elf32-v850.c:2590
+#, c-format
+msgid "4-byte"
+msgstr "4-byte"
+
+#: elf32-v850.c:2591
+#, c-format
+msgid "8-byte"
+msgstr "8-byte"
+
+#: elf32-v850.c:2592 elf32-v850.c:2604
+#, c-format
+msgid "not set"
+msgstr "sin def"
+
+#: elf32-v850.c:2593 elf32-v850.c:2605 elf32-v850.c:2617 elf32-v850.c:2628
+#: elf32-v850.c:2639 elf32-v850.c:2650
+#, c-format
+msgid "unknown: %x"
+msgstr "desconocido: %x"
+
+#: elf32-v850.c:2599
+#, c-format
+msgid " size of doubles: "
+msgstr " tamaÃ±o de dobles: "
+
+#: elf32-v850.c:2602
+#, c-format
+msgid "4-bytes"
+msgstr "4-bytes"
+
+#: elf32-v850.c:2603
+#, c-format
+msgid "8-bytes"
+msgstr "8-bytes"
+
+#: elf32-v850.c:2611
+#, c-format
+msgid " FPU support required: "
+msgstr " FPU soportado requerido: "
+
+#: elf32-v850.c:2614
+#, c-format
+msgid "FPU-2.0"
+msgstr "FPU-2.0"
+
+#: elf32-v850.c:2615
+#, c-format
+msgid "FPU-3.0"
+msgstr "FPU-3.0"
+
+#: elf32-v850.c:2616
+#, c-format
+msgid "none"
+msgstr "ninguno"
+
+#: elf32-v850.c:2623
+#, c-format
+msgid "SIMD use: "
+msgstr "Empleo SIMD: "
+
+#: elf32-v850.c:2626 elf32-v850.c:2637 elf32-v850.c:2648
+#, c-format
+msgid "yes"
+msgstr "sÃ­"
+
+#: elf32-v850.c:2627 elf32-v850.c:2638 elf32-v850.c:2649
+#, c-format
+msgid "no"
+msgstr "no"
+
+#: elf32-v850.c:2634
+#, c-format
+msgid "CACHE use: "
+msgstr "Empleo de cachÃ©: "
+
+#: elf32-v850.c:2645
+#, c-format
+msgid "MMU use: "
+msgstr "UtilizaciÃ³n de MMU: "
+
+#: elf32-v850.c:2812 elf32-v850.c:2868
 msgid "%B: Architecture mismatch with previous modules"
 msgstr "%B: No coincide la arquitectura con los mÃ³dulos previos"
 
 #. xgettext:c-format.
-#: elf32-v850.c:2360
+#: elf32-v850.c:2886
 #, c-format
 msgid "private flags = %lx: "
 msgstr "opciones privadas = %lx: "
 
-#: elf32-v850.c:2365
+#: elf32-v850.c:2891
+#, c-format
+msgid "unknown v850 architecture"
+msgstr "arquitectura v850 desconocida"
+
+#: elf32-v850.c:2893
+#, c-format
+msgid "v850 E3 architecture"
+msgstr "arquitectura v850 E3"
+
+#: elf32-v850.c:2895 elf32-v850.c:2902
 #, c-format
 msgid "v850 architecture"
 msgstr "arquitectura v850"
 
-#: elf32-v850.c:2366
+#: elf32-v850.c:2903
 #, c-format
 msgid "v850e architecture"
 msgstr "arquitectura v850e"
 
-#: elf32-v850.c:2367
+#: elf32-v850.c:2904
 #, c-format
 msgid "v850e1 architecture"
 msgstr "arquitectura v850e1"
 
-#: elf32-v850.c:2368
+#: elf32-v850.c:2905
 #, c-format
 msgid "v850e2 architecture"
 msgstr "arquitectura v850e2"
 
-#: elf32-v850.c:2369
+#: elf32-v850.c:2906
 #, c-format
 msgid "v850e2v3 architecture"
 msgstr "arquitectura v850e2v3"
 
-#: elf32-vax.c:532
+#: elf32-v850.c:2907
+#, c-format
+msgid "v850e3v5 architecture"
+msgstr "v850e3v5 como arquitectura"
+
+#: elf32-v850.c:3601
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insns"
+msgstr "%B: %#Lx: aviso: R_V850_LONGCALL apunta al insns no reconocido"
+
+#: elf32-v850.c:3611
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insn %#x"
+msgstr "%B: %#Lx: aviso: R_V850_LONGCALL apunta al insn %#x no reconocido"
+
+#: elf32-v850.c:3656
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc"
+msgstr "%B: %#Lx: aviso: R_V850_LONGCALL apunta al reloc no reconocido"
+
+#: elf32-v850.c:3696
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc %#Lx"
+msgstr "%B: %#Lx: aviso: R_V850_LONGCALL apunta a reubicaciÃ³n %#Lx no reconocido"
+
+#: elf32-v850.c:3839
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insns"
+msgstr "%B: %#Lx: aviso: R_V850_LONGJUMP apunta al insns no reconocido"
+
+#: elf32-v850.c:3849
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insn %#x"
+msgstr "%B: %#Lx: aviso: R_V850_LONGJUMP apunta al insn %#x no reconocido"
+
+#: elf32-v850.c:3883
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized reloc"
+msgstr "%B: %#Lx: aviso: R_V850_LONGJUMP apunta al reloc no reconocido"
+
+#: elf32-vax.c:290
+#, c-format
+msgid "%B: unrecognised VAX reloc number: %d"
+msgstr "%B: nÃºmero reubicante VAX no reconocido: %d"
+
+#: elf32-vax.c:539
 #, c-format
 msgid " [nonpic]"
 msgstr " [no pic]"
 
-#: elf32-vax.c:535
+#: elf32-vax.c:542
 #, c-format
 msgid " [d-float]"
 msgstr " [flotante-d]"
 
-#: elf32-vax.c:538
+#: elf32-vax.c:545
 #, c-format
 msgid " [g-float]"
 msgstr " [flotante-g]"
 
-#: elf32-vax.c:655
+#: elf32-vax.c:631
+#, c-format
+msgid "%B: warning: GOT addend of %Ld to `%s' does not match previous GOT addend of %Ld"
+msgstr "%B: aviso: la adiciÃ³n GOT de %Ld a Â«%sÂ» no coincide con la adiciÃ³n previa GOT de %Ld"
+
+#: elf32-vax.c:1445
+#, c-format
+msgid "%B: warning: PLT addend of %Ld to `%s' from %A section ignored"
+msgstr "%B: aviso: adiciÃ³n PLT de %Ld a Â«%sÂ» desde secciÃ³n %A ignorada"
+
+#: elf32-vax.c:1570
+#, c-format
+msgid "%B: warning: %s relocation against symbol `%s' from %A section"
+msgstr "%B: aviso: reubicaciÃ³n %s frente a sÃ­mbolo Â«%sÂ» desde secciÃ³n %A"
+
+#: elf32-vax.c:1577
+#, c-format
+msgid "%B: warning: %s relocation to %#Lx from %A section"
+msgstr "%B: aviso: reubicaciÃ³n %s a %#Lx desde secciÃ³n %A"
+
+#: elf32-visium.c:481
+#, c-format
+msgid "%B: invalid Visium reloc number: %d"
+msgstr "%B: nÃºmero reubicante Visium no vÃ¡lido: %d"
+
+#: elf32-visium.c:817
 #, c-format
-msgid "%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
-msgstr "%s: aviso: la adiciÃ³n GOT de %ld a `%s' no coincide con la adiciÃ³n previa GOT de %ld"
+msgid "%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s"
+msgstr "%B: %s compilado -mtune=%s y enlazado con mÃ³dulos compilados con %s -mtune=%s"
 
-#: elf32-vax.c:1585
+#: elf32-xgate.c:428
 #, c-format
-msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored"
-msgstr "%s: aviso: se descarta la adiciÃ³n PLT de %d a `%s' de la secciÃ³n %s"
+msgid "%B: invalid XGate reloc number: %d"
+msgstr "%B: nÃºmero reubicante XGate no vÃ¡lido: %d"
 
-#: elf32-vax.c:1712
+#: elf32-xgate.c:681
 #, c-format
-msgid "%s: warning: %s relocation against symbol `%s' from %s section"
-msgstr "%s: aviso: reubicaciÃ³n %s contra el sÃ­mbolo `%s' de la secciÃ³n %s"
+msgid "cpu=XGATE]"
+msgstr "cpu=XGATE]"
 
-#: elf32-vax.c:1718
+#: elf32-xgate.c:683
 #, c-format
-msgid "%s: warning: %s relocation to 0x%x from %s section"
-msgstr "%s: aviso: reubicaciÃ³n %s a 0x%x de la secciÃ³n %s"
+msgid "error reading cpu type from elf private data"
+msgstr "error leyendo tipo de cpu desde datos privados elf"
 
-#: elf32-xstormy16.c:451 elf32-ia64.c:2336 elf64-ia64.c:2336
+#: elf32-xstormy16.c:449 elf64-ia64-vms.c:2074 elf32-ia64.c:2337
+#: elf64-ia64.c:2337
 msgid "non-zero addend in @fptr reloc"
 msgstr "adiciÃ³n que no es cero en la reubicaciÃ³n @fptr"
 
-#: elf32-xtensa.c:918
+#: elf32-xtensa.c:485
+#, c-format
+msgid "%B: invalid XTENSA reloc number: %d"
+msgstr "%B: nÃºmero reubicante XTENSA no vÃ¡lido: %d"
+
+#: elf32-xtensa.c:926
+#, c-format
 msgid "%B(%A): invalid property table"
-msgstr "%B(%A): tabla de propiedades invÃ¡lida"
+msgstr "%B(%A): segmento de propiedades invÃ¡lida"
 
-#: elf32-xtensa.c:2777
-msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)"
-msgstr "%B(%A+0x%lx): desplazamiento de reubicaciÃ³n fuera de rango (tamaÃ±o=0x%x)"
+#: elf32-xtensa.c:2655
+#, c-format
+msgid "%B(%A+%#Lx): relocation offset out of range (size=%#Lx)"
+msgstr "%B(%A+%#Lx): desplazamiento de reubicaciÃ³n fuera de rango (tamaÃ±o=%#Lx)"
 
-#: elf32-xtensa.c:2856 elf32-xtensa.c:2977
+#: elf32-xtensa.c:2736 elf32-xtensa.c:2855
 msgid "dynamic relocation in read-only section"
 msgstr "reubicaciÃ³n dinÃ¡mica en la secciÃ³n de sÃ³lo lectura"
 
-#: elf32-xtensa.c:2953
+#: elf32-xtensa.c:2832
 msgid "TLS relocation invalid without dynamic sections"
-msgstr "reubicaciÃ³n TLS invÃ¡lida sin secciones dinÃ¡micas"
+msgstr "TLS reubicado invÃ¡lidamente sin secciones dinÃ¡micas"
 
-#: elf32-xtensa.c:3172
+#: elf32-xtensa.c:3043
 msgid "internal inconsistency in size of .got.loc section"
 msgstr "inconsistencia interna en el tamaÃ±o de la secciÃ³n .got.loc"
 
-#: elf32-xtensa.c:3485
+#: elf32-xtensa.c:3350
+#, c-format
 msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x"
 msgstr "%B: tipo de mÃ¡quina incompatible. La salida es 0x%x. La entrada es 0x%x"
 
-#: elf32-xtensa.c:4714 elf32-xtensa.c:4722
+#: elf32-xtensa.c:4581 elf32-xtensa.c:4589
 msgid "Attempt to convert L32R/CALLX to CALL failed"
 msgstr "FallÃ³ el intento de convertir L32R/CALLX a CALL"
 
-#: elf32-xtensa.c:6332 elf32-xtensa.c:6408 elf32-xtensa.c:7524
-msgid "%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"
-msgstr "%B(%A+0x%lx): no se puede decodificar la instrucciÃ³n; posible falta de coincidencia de la configuraciÃ³n"
-
-#: elf32-xtensa.c:7264
-msgid "%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
-msgstr "%B(%A+0x%lx): no se puede decodificar la instrucciÃ³n para la reubicaciÃ³n XTENSA_ASM_SIMPLIFY; posible falta de coincidencia de la configuraciÃ³n"
+#: elf32-xtensa.c:6417 elf32-xtensa.c:6495 elf32-xtensa.c:7871
+#, c-format
+msgid "%B(%A+%#Lx): could not decode instruction; possible configuration mismatch"
+msgstr "%B(%A+%#Lx): no se pudo decodificar la instrucciÃ³n; posible falta de coincidencia de la configuraciÃ³n"
 
-#: elf32-xtensa.c:9023
+#: elf32-xtensa.c:7610
+#, c-format
+msgid "%B(%A+%#Lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
+msgstr "%B(%A+%#Lx): no pudo decodificar instrucciÃ³n para reubicaciÃ³n XTENSA_ASM_SIMPLIFY; posible incoincidencia de configuraciÃ³n"
+
+#: elf32-xtensa.c:9455
 msgid "invalid relocation address"
 msgstr "direcciÃ³n de reubicaciÃ³n invÃ¡lida"
 
-#: elf32-xtensa.c:9072
+#: elf32-xtensa.c:9505
 msgid "overflow after relaxation"
 msgstr "desbordamiento despuÃ©s de la relajaciÃ³n"
 
-#: elf32-xtensa.c:10204
-msgid "%B(%A+0x%lx): unexpected fix for %s relocation"
-msgstr "%B(%A+0x%lx): compostura inesperada para la reubicaciÃ³n %s"
+#: elf32-xtensa.c:10649
+#, c-format
+msgid "%B(%A+%#Lx): unexpected fix for %s relocation"
+msgstr "%B(%A+%#Lx): reparaciÃ³n inesperado para %s reubicaciÃ³n"
 
-#: elf64-alpha.c:460
+#: elf64-alpha.c:472
 msgid "GPDISP relocation did not find ldah and lda instructions"
-msgstr "la reubicaciÃ³n GPDISP no encontrÃ³ las instrucciones ldah y lda"
+msgstr "ReubicaciÃ³n GPDISP no encontrÃ³ las instrucciones ldah y lda"
 
-#: elf64-alpha.c:2497
+#: elf64-alpha.c:1112
+#, c-format
+msgid "%B: unrecognised Alpha reloc number: %d"
+msgstr "%B: nÃºmero reubicante Alpha no reconocido: %d"
+
+#: elf64-alpha.c:2462
+#, c-format
 msgid "%B: .got subsegment exceeds 64K (size %d)"
 msgstr "%B: el subsegmento .got excede los 64K (tamaÃ±o %d)"
 
-#: elf64-alpha.c:4387 elf64-alpha.c:4399
+#: elf64-alpha.c:3017
+#, c-format
+msgid "%B: %A+%#Lx: warning: %s relocation against unexpected insn"
+msgstr "%B: %A+%#Lx: aviso: reubicaciÃ³n %s contra insn inesperado"
+
+#: elf64-alpha.c:3212
+#, c-format
+msgid "%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn"
+msgstr "%B: %A+%#Lx: aviso: reubicaciÃ³n LITERAL contra insn inesperado"
+
+#: elf64-alpha.c:4412 elf64-alpha.c:4425
+#, c-format
 msgid "%B: gp-relative relocation against dynamic symbol %s"
 msgstr "%B: reubicaciÃ³n relativa a gp contra el sÃ­mbolo dinÃ¡mico %s"
 
-#: elf64-alpha.c:4425 elf64-alpha.c:4565
+#: elf64-alpha.c:4452 elf64-alpha.c:4596
+#, c-format
 msgid "%B: pc-relative relocation against dynamic symbol %s"
 msgstr "%B: reubicaciÃ³n relativa a pc contra el sÃ­mbolo dinÃ¡mico %s"
 
-#: elf64-alpha.c:4453
+#: elf64-alpha.c:4481
+#, c-format
 msgid "%B: change in gp: BRSGP %s"
-msgstr "%B: cambio en gp: BRSGP %s"
+msgstr "%B: modifica en gp: BRSGP %s"
 
-#: elf64-alpha.c:4478
+#: elf64-alpha.c:4506
 msgid "<unknown>"
 msgstr "<desconocido>"
 
-#: elf64-alpha.c:4483
+#: elf64-alpha.c:4512
+#, c-format
 msgid "%B: !samegp reloc against symbol without .prologue: %s"
 msgstr "%B: reubicaciÃ³n !samegp contra un sÃ­mbolo sin .prologue: %s"
 
-#: elf64-alpha.c:4540
+#: elf64-alpha.c:4570
+#, c-format
 msgid "%B: unhandled dynamic relocation against %s"
-msgstr "%B: reubicaciÃ³n dinÃ¡mica sin manejar contra %s"
+msgstr "%B: reubicaciÃ³n dinÃ¡mica sin manipular contra %s"
 
-#: elf64-alpha.c:4572
+#: elf64-alpha.c:4605
+#, c-format
 msgid "%B: pc-relative relocation against undefined weak symbol %s"
 msgstr "%B: reubicaciÃ³n relativa a pc contra el sÃ­mbolo dÃ©bil sin definir %s"
 
-#: elf64-alpha.c:4636
+#: elf64-alpha.c:4671
+#, c-format
 msgid "%B: dtp-relative relocation against dynamic symbol %s"
 msgstr "%B: reubicaciÃ³n relativa a dtp contra el sÃ­mbolo dinÃ¡mico %s"
 
-#: elf64-alpha.c:4659
+#: elf64-alpha.c:4696
+#, c-format
 msgid "%B: tp-relative relocation against dynamic symbol %s"
-msgstr "%B: reubicaciÃ³n relativa a tp contra el sÃ­mbolo dinÃ¡mico %s"
+msgstr "%B: reubicaciÃ³n tp-relativa contra el sÃ­mbolo dinÃ¡mico %s"
+
+#: elf64-hppa.c:2081
+#, c-format
+msgid "stub entry for %s cannot load .plt, dp offset = %Ld"
+msgstr "la entrada de cabo para %s no puede cargar .plt, desplazamiento dp = %Ld"
+
+#: elf64-hppa.c:3286
+#, c-format
+msgid "%B(%A+%#Lx): cannot reach %s"
+msgstr "%B(%A+%#Lx): no se pueden alcanzar %s"
+
+#: elf64-ia64-vms.c:587 elf32-ia64.c:620 elf64-ia64.c:620
+#, c-format
+msgid "%B: Can't relax br at %#Lx in section `%A'. Please use brl or indirect branch."
+msgstr "%B: no se puede relajar br en %#Lx en la secciÃ³n `%A'. Utilice brl o ramificaciÃ³n indirecta."
+
+#: elf64-ia64-vms.c:2029 elf32-ia64.c:2285 elf64-ia64.c:2285
+msgid "@pltoff reloc against local symbol"
+msgstr "reubica @pltoff contra sÃ­mb. local"
+
+#: elf64-ia64-vms.c:3281 elf32-ia64.c:3696 elf64-ia64.c:3696
+#, c-format
+msgid "%B: short data segment overflowed (%#Lx >= 0x400000)"
+msgstr "%B: segmento de datos short sobredesbordado (%#Lx >= 0x400000)"
+
+#: elf64-ia64-vms.c:3291 elf32-ia64.c:3706 elf64-ia64.c:3706
+msgid "%B: __gp does not cover short data segment"
+msgstr "%B: __gp no cubre el segmento corto de datos"
+
+#: elf64-ia64-vms.c:3557 elf32-ia64.c:3974 elf64-ia64.c:3974
+#, c-format
+msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
+msgstr "%B: cÃ³digo que no es pic con reubicaciÃ³n imm contra el sÃ­mbolo dinÃ¡mico Â«%sÂ»"
+
+#: elf64-ia64-vms.c:3621 elf32-ia64.c:4042 elf64-ia64.c:4042
+#, c-format
+msgid "%B: @gprel relocation against dynamic symbol %s"
+msgstr "%B: @gprel reubicado contra el sÃ­mbolo dinÃ¡mico %s"
+
+#: elf64-ia64-vms.c:3680 elf32-ia64.c:4105 elf64-ia64.c:4105
+msgid "%B: linking non-pic code in a position independent executable"
+msgstr "%B: se enlaza cÃ³digo que no es pic en un ejecutable independiente de posiciÃ³n"
+
+#: elf64-ia64-vms.c:3782 elf32-ia64.c:4243 elf64-ia64.c:4243
+#, c-format
+msgid "%B: @internal branch to dynamic symbol %s"
+msgstr "%B: @internal ramificado al sÃ­mbolo dinÃ¡mico %s"
+
+#: elf64-ia64-vms.c:3785 elf32-ia64.c:4246 elf64-ia64.c:4246
+#, c-format
+msgid "%B: speculation fixup to dynamic symbol %s"
+msgstr "%B: compostura de especulaciÃ³n al sÃ­mbolo dinÃ¡mico %s"
+
+#: elf64-ia64-vms.c:3788 elf32-ia64.c:4249 elf64-ia64.c:4249
+#, c-format
+msgid "%B: @pcrel relocation against dynamic symbol %s"
+msgstr "%B: @pcrel reubicado contra el sÃ­mbolo dinÃ¡mico %s"
+
+#: elf64-ia64-vms.c:3912 elf32-ia64.c:4446 elf64-ia64.c:4446
+msgid "unsupported reloc"
+msgstr "no se admite la reubicaciÃ³n"
+
+#: elf64-ia64-vms.c:3949 elf32-ia64.c:4484 elf64-ia64.c:4484
+#, c-format
+msgid "%B: missing TLS section for relocation %s against `%s' at %#Lx in section `%A'."
+msgstr "%B: falta la secciÃ³n TLS para la reubicaciÃ³n %s contra Â«%sÂ» en %#Lx en la secciÃ³n `%A'."
+
+#: elf64-ia64-vms.c:3966 elf32-ia64.c:4501 elf64-ia64.c:4501
+#, c-format
+msgid "%B: Can't relax br (%s) to `%s' at %#Lx in section `%A' with size %#Lx (> 0x1000000)."
+msgstr "%B: no se puede relajar br (%s) a Â«%sÂ» en %#Lx en la secciÃ³n `%A' con tamaÃ±o %#Lx (> 0x1000000)."
+
+#: elf64-ia64-vms.c:4257 elf32-ia64.c:4758 elf64-ia64.c:4758
+msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
+msgstr "%B: se enlaza deferencias-captura-en-NULL con ficheros que no son de captura"
+
+#: elf64-ia64-vms.c:4266 elf32-ia64.c:4767 elf64-ia64.c:4767
+msgid "%B: linking big-endian files with little-endian files"
+msgstr "%B: se enlazan ficheros big-endian con ficheros little-endian"
+
+#: elf64-ia64-vms.c:4275 elf32-ia64.c:4776 elf64-ia64.c:4776
+msgid "%B: linking 64-bit files with 32-bit files"
+msgstr "%B: se enlazan ficheros de 64-bit con ficheros de 32-bit"
+
+#: elf64-ia64-vms.c:4284 elf32-ia64.c:4785 elf64-ia64.c:4785
+msgid "%B: linking constant-gp files with non-constant-gp files"
+msgstr "%B: se enlazan ficheros de gp constante con ficheros con gp no constante"
 
-#: elf64-hppa.c:2083
+#: elf64-ia64-vms.c:4294 elf32-ia64.c:4795 elf64-ia64.c:4795
+msgid "%B: linking auto-pic files with non-auto-pic files"
+msgstr "%B: se enlazan ficheros de pic automÃ¡tico con ficheros sin pic automÃ¡tico"
+
+#: elf64-ia64-vms.c:5137 elflink.c:4773
+#, c-format
+msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
+msgstr "Aviso: la alineaciÃ³n %u del sÃ­mbolo comÃºn Â«%sÂ» en %B es mÃ¡s grande que la alineaciÃ³n (%u) de su secciÃ³n %A"
+
+#: elf64-ia64-vms.c:5144 elflink.c:4780
+#, c-format
+msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
+msgstr "Aviso: la alineaciÃ³n %u del sÃ­mbolo Â«%sÂ» en %B es mÃ¡s pequeÃ±a que %u en %B"
+
+#: elf64-ia64-vms.c:5160 elflink.c:4797
 #, c-format
-msgid "stub entry for %s cannot load .plt, dp offset = %ld"
-msgstr "la entrada de cabo para %s no puede cargar .plt, desplazamiento dp = %ld"
+msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B"
+msgstr "Aviso: el tamaÃ±o del sÃ­mbolo Â«%sÂ» modificado de %Lu en %B a %Lu en %B"
 
-#: elf64-hppa.c:3275
-msgid "%B(%A+0x"
-msgstr "%B(%A+0x"
+#: elf64-mips.c:3615 elfn32-mips.c:3443
+#, c-format
+msgid "unrecognised MIPS reloc number: %d"
+msgstr "nÃºmero reubicante MIPS no reconocido: %d"
 
-#: elf64-mmix.c:1034
+#: elf64-mmix.c:984
 msgid ""
 "invalid input relocation when producing non-ELF, non-mmo format output.\n"
 " Please use the objcopy program to convert from ELF or mmo,\n"
@@ -2666,7 +4290,7 @@ msgstr ""
 " es mmo ni ELF.  Por favor utilice el programa objcopy para convertir de\n"
 " ELF o mmo, o ensamble utilizando \"-no-expand\" (para gcc, \"-Wa, -no-expand\""
 
-#: elf64-mmix.c:1218
+#: elf64-mmix.c:1168
 msgid ""
 "invalid input relocation when producing non-ELF, non-mmo format output.\n"
 " Please use the objcopy program to convert from ELF or mmo,\n"
@@ -2676,983 +4300,1411 @@ msgstr ""
 " es mmo ni ELF. Por favor utilice el programa objcopy para converitr de\n"
 " ELF o mmo, o compile utilizando la opciÃ³n de gcc \"-mno-base-addresses\"."
 
-#: elf64-mmix.c:1244
+#: elf64-mmix.c:1195
 #, c-format
 msgid ""
-"%s: Internal inconsistency error for value for\n"
-" linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx\n"
+"%B: Internal inconsistency error for value for\n"
+" linker-allocated global register: linked: %#Lx != relaxed: %#Lx"
 msgstr ""
-"%s: Error de inconsistencia interna para el valor para\n"
-" un registro global colocado por el enlazador: enlazado: 0x%lx%08lx != relajado: 0x%lx%08lx\n"
+"%B: error de inconsistencia interna para el valor para\n"
+" un registro global colocado por el enlazador: enlazado: %#Lx != relajado: %#Lx"
 
-#: elf64-mmix.c:1670
+#: elf64-mmix.c:1264
 #, c-format
-msgid "%s: base-plus-offset relocation against register symbol: (unknown) in %s"
-msgstr "%s: reubicaciÃ³n base-mÃ¡s-desplazamiento contra un sÃ­mbolo de registro: (desconocido) en %s"
+msgid "%B: invalid MMIX reloc number: %d"
+msgstr "%B: nÃºmero reubicante MMIX no vÃ¡lido: %d"
 
-#: elf64-mmix.c:1675
+#: elf64-mmix.c:1616
 #, c-format
-msgid "%s: base-plus-offset relocation against register symbol: %s in %s"
-msgstr "%s: reubicaciÃ³n base-mÃ¡s-desplazamiento contra un sÃ­mbolo de registro: %s en %s"
+msgid "%B: base-plus-offset relocation against register symbol: (unknown) in %A"
+msgstr "%B: reubicaciÃ³n base-suma-desplazamiento contra sÃ­mbolo registrador: (desconocido) en %A"
 
-#: elf64-mmix.c:1719
+#: elf64-mmix.c:1622
 #, c-format
-msgid "%s: register relocation against non-register symbol: (unknown) in %s"
-msgstr "%s: reubicaciÃ³n de registro contra un sÃ­mbolo que no es registro: (desconocido) en %s"
+msgid "%B: base-plus-offset relocation against register symbol: %s in %A"
+msgstr "%B: reubicaciÃ³n base-suma-desplazamiento contra sÃ­mbolo registrador: %s en %A"
 
-#: elf64-mmix.c:1724
+#: elf64-mmix.c:1667
 #, c-format
-msgid "%s: register relocation against non-register symbol: %s in %s"
-msgstr "%s: reubicaciÃ³n de registro contra un sÃ­mbolo que no es registro: %s en %s"
+msgid "%B: register relocation against non-register symbol: (unknown) in %A"
+msgstr "%B: reubicaciÃ³n registrada frente sÃ­mbolo no registrado: (desconocido) en %A"
 
-#: elf64-mmix.c:1761
+#: elf64-mmix.c:1673
 #, c-format
-msgid "%s: directive LOCAL valid only with a register or absolute value"
-msgstr "%s: la directiva LOCAL sÃ³lo es vÃ¡lida con un registro o un valor absoluto"
+msgid "%B: register relocation against non-register symbol: %s in %A"
+msgstr "%B: reubicaciÃ³n registrada frente sÃ­mbolo no registrado: %s en %A"
 
-#: elf64-mmix.c:1789
+#: elf64-mmix.c:1710
+msgid "%B: directive LOCAL valid only with a register or absolute value"
+msgstr "%B: directiva LOCAL vÃ¡lida sÃ³lo con un registro o un valor absoluto"
+
+#: elf64-mmix.c:1741
 #, c-format
-msgid "%s: LOCAL directive: Register $%ld is not a local register.  First global register is $%ld."
-msgstr "%s: directiva LOCAL: El registro $%ld no es un registro local.  El primer registro global es $%ld."
+msgid "%B: LOCAL directive: Register $%Ld is not a local register.  First global register is $%Ld."
+msgstr "%B: directiva LOCAL: El registro $%Ld no es un registro local.  El primer registro global es $%Ld."
 
-#: elf64-mmix.c:2253
+#: elf64-mmix.c:2169
 #, c-format
-msgid "%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
-msgstr "%s: Error: definiciÃ³n mÃºltiple de `%s'; el inicio de %s estÃ¡ definido en un fichero enlazado con anterioridad\n"
+msgid "%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
+msgstr "%B: error: definiciÃ³n mÃºltiple de Â«%sÂ»; el inicio de %s estÃ¡ definido dentro de un fichero enlazado con anterioridad\n"
 
-#: elf64-mmix.c:2311
+#: elf64-mmix.c:2224
 msgid "Register section has contents\n"
 msgstr "La secciÃ³n de registros no tiene contenido\n"
 
-#: elf64-mmix.c:2503
+#: elf64-mmix.c:2414
 #, c-format
 msgid ""
-"Internal inconsistency: remaining %u != max %u.\n"
+"Internal inconsistency: remaining %lu != max %lu.\n"
 "  Please report this bug."
 msgstr ""
-"Inconsistencia interna: %u restante != %u mÃ¡ximo.\n"
-"  Por favor reporte este bicho."
+"Inconsistencia interna: %lu restante != %lu mÃ¡ximo.\n"
+"  Por favor boletine este defecto."
 
-#: elf64-ppc.c:4185
+#: elf64-ppc.c:4640
+#, c-format
 msgid "%P: %B: cannot create stub entry %s\n"
 msgstr "%P: %B: no se puede crear la entrada de cabo %s\n"
 
-#: elf64-ppc.c:6518
-msgid "%P: copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
-msgstr "%P: la reubicaciÃ³n de copia contra `%s' requiere de enlazado plt flojo; evite establecer LD_BIND_NOW=1 o actualice gcc\n"
+#: elf64-ppc.c:4971
+msgid "%P: symbol '%s' has invalid st_other for ABI version 1\n"
+msgstr "%P: sÃ­mbolo Â«%sÂ» tiene st_other invÃ¡lido para versiÃ³n ABI 1\n"
+
+#: elf64-ppc.c:5146
+#, c-format
+msgid "%P: %B .opd not allowed in ABI version %d\n"
+msgstr "%P: %B .opd no permitido dentro de versiÃ³n ABI %d\n"
+
+#: elf64-ppc.c:5645
+#, c-format
+msgid "%H: %s reloc unsupported in shared libraries and PIEs.\n"
+msgstr "%H: %s reubicaciÃ³n no soportada en bibliotecas compartidas y varios PIE.\n"
+
+#: elf64-ppc.c:6035
+#, c-format
+msgid "%B uses unknown e_flags 0x%lx"
+msgstr "%B emplea indicadores e_flags 0x%lx desconocidos"
+
+#: elf64-ppc.c:6043
+#, c-format
+msgid "%B: ABI version %ld is not compatible with ABI version %ld output"
+msgstr "%B: VersiÃ³n ABI %ld no es compatible con versiÃ³n ABI %ld salida"
+
+#: elf64-ppc.c:6071
+#, c-format
+msgid " [abiv%ld]"
+msgstr " [abiv%ld]"
+
+#: elf64-ppc.c:7255
+msgid "%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
+msgstr "%P: reubicaciÃ³n copiada contra Â«%TÂ» requiere de enlazado plt flojo; evite establecer LD_BIND_NOW=1 o modernice gcc\n"
 
-#: elf64-ppc.c:6788
+#: elf64-ppc.c:7522
 msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
 msgstr "%B: sÃ­mbolo sin definir en la reubicaciÃ³n R_PPC64_TOCSAVE"
 
-#: elf64-ppc.c:6992
+#: elf64-ppc.c:7749
+#, c-format
 msgid "%P: dynreloc miscount for %B, section %A\n"
 msgstr "%P: cuenta errÃ³nea de la reubicaciÃ³n dinÃ¡mica de %B, secciÃ³n %A\n"
 
-#: elf64-ppc.c:7076
+#: elf64-ppc.c:7838
 msgid "%B: .opd is not a regular array of opd entries"
 msgstr "%B: .opd no es una matriz regular de entradas opd"
 
-#: elf64-ppc.c:7085
+#: elf64-ppc.c:7848
+#, c-format
 msgid "%B: unexpected reloc type %u in .opd section"
 msgstr "%B: tipo de reubicaciÃ³n %u inesperado en la secciÃ³n .opd"
 
-#: elf64-ppc.c:7106
+#: elf64-ppc.c:7870
+#, c-format
 msgid "%B: undefined sym `%s' in .opd section"
-msgstr "%B: sÃ­mbolo `%s' sin definir en la secciÃ³n .opd"
+msgstr "%B: sÃ­mbolo Â«%sÂ» sin definir en la secciÃ³n .opd"
+
+#: elf64-ppc.c:8207
+msgid "%P: warning: --plt-localentry is especially dangerous without ld.so support to detect ABI violations.\n"
+msgstr ""
+"%P: aviso: --plt-localentry es especialmente peligroso sin compatibilidad ld.so para detectar violaciones ABI.\n"
+" \n"
 
-#: elf64-ppc.c:7664
+#: elf64-ppc.c:8456
 msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
 msgstr "%H se perdiÃ³ el argumento __tls_get_addr, se desactiva la optimizaciÃ³n TLS\n"
 
-#: elf64-ppc.c:8003 elf64-ppc.c:8564
+#: elf64-ppc.c:8800 elf64-ppc.c:9437
 #, c-format
 msgid "%s defined on removed toc entry"
 msgstr "se definiÃ³ %s en la entrada toc eliminada"
 
-#: elf64-ppc.c:8521
-msgid "%P: %H: %s relocation references optimized away TOC entry\n"
-msgstr "%P: %H: la reubicaciÃ³n %s referencÃ­a una entrada TOC optimizada por fuera\n"
-
-#: elf64-ppc.c:9598
-msgid "%P: cannot find opd entry toc for %s\n"
-msgstr "%P: no se puede encontrar la tabla de contenidos de la entrada opd para %s\n"
+#: elf64-ppc.c:9165
+#, c-format
+msgid "%H: toc optimization is not supported for %s instruction.\n"
+msgstr "%H: optimizaciÃ³n toc no estÃ¡ admitida para instrucciÃ³n %s.\n"
+
+#: elf64-ppc.c:9394
+#, c-format
+msgid "%H: %s references optimized away TOC entry\n"
+msgstr "%H: reubicaciones %s optimizada externa a entrada TOC\n"
+
+#: elf64-ppc.c:10157
+#, c-format
+msgid "warning: discarding dynamic section %s"
+msgstr "aviso: descartando secciÃ³n dinÃ¡mica %s"
+
+#: elf64-ppc.c:10746
+msgid "%P: cannot find opd entry toc for `%T'\n"
+msgstr "%P: no se puede encontrar la entrada opd toc para `%T'\n"
 
-#: elf64-ppc.c:9680
+#: elf64-ppc.c:10837
 msgid "%P: long branch stub `%s' offset overflow\n"
-msgstr "%P: desbordamiento del desplazamiento de stub de ramificaciÃ³n long `%s'\n"
+msgstr "%P: desbordamiento del desplazamiento de stub de ramificaciÃ³n long Â«%sÂ»\n"
 
-#: elf64-ppc.c:9739
+#: elf64-ppc.c:10896
 msgid "%P: can't find branch stub `%s'\n"
-msgstr "%P: no se puede encontrar la ramificaciÃ³n de cabo `%s'\n"
+msgstr "%P: no se puede encontrar la ramificaciÃ³n de cabo Â«%sÂ»\n"
 
-#: elf64-ppc.c:9801 elf64-ppc.c:9943
-msgid "%P: linkage table error against `%s'\n"
-msgstr "%P: error de la tabla de enlazado contra `%s'\n"
+#: elf64-ppc.c:10960 elf64-ppc.c:11112 elf64-ppc.c:12974
+#, c-format
+msgid "%P: linkage table error against `%T'\n"
+msgstr "%P: error del segmento enlazada frente a `%T'\n"
 
-#: elf64-ppc.c:10126
+#: elf64-ppc.c:11331
 msgid "%P: can't build branch stub `%s'\n"
-msgstr "%P: no se puede construir la ramificaciÃ³n de cabos `%s'\n"
+msgstr "%P: no se puede construir la ramificaciÃ³n de cabos Â«%sÂ»\n"
 
-#: elf64-ppc.c:10941
+#: elf64-ppc.c:12104
+#, c-format
 msgid "%B section %A exceeds stub group size"
 msgstr "%B secciÃ³n %A excede el tamaÃ±o de grupo de cabos"
 
-#: elf64-ppc.c:11666 elf64-ppc.c:11699
-msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
-msgstr "%P: el desplazamiento %s es demasiado grande para la codificaciÃ³n sdata4 .eh_frame"
-
-#: elf64-ppc.c:11744
+#: elf64-ppc.c:13242
 msgid "%P: stubs don't match calculated size\n"
 msgstr "%P: los cabos no coinciden con el tamaÃ±o calculado\n"
 
-#: elf64-ppc.c:11756
+#: elf64-ppc.c:13256
+#, c-format
+msgid "linker stubs in %u group\n"
+msgid_plural "linker stubs in %u groups\n"
+msgstr[0] "enlazador stubs en grupo %u\n"
+msgstr[1] "enlazador stubs en grupos %u\n"
+
+#: elf64-ppc.c:13260
 #, c-format
 msgid ""
-"linker stubs in %u group%s\n"
 "  branch       %lu\n"
 "  toc adjust   %lu\n"
 "  long branch  %lu\n"
 "  long toc adj %lu\n"
-"  plt call     %lu"
+"  plt call     %lu\n"
+"  plt call toc %lu\n"
+"  global entry %lu"
 msgstr ""
-"cabos de enlazador en %u grupo%s\n"
 "  rama            %lu\n"
 "  ajuste toc      %lu\n"
 "  rama long       %lu\n"
 "  ajuste toc long %lu\n"
-"  llamada plt     %lu"
+"  llamada plt     %lu\n"
+"  llamada plt toc %lu\n"
+"  entrada global %lu"
+
+#: elf64-ppc.c:13579
+#, c-format
+msgid "%H: %s used with TLS symbol `%T'\n"
+msgstr "%H: %s empleado con sÃ­mbolo TLS `%T'\n"
+
+#: elf64-ppc.c:13581
+#, c-format
+msgid "%H: %s used with non-TLS symbol `%T'\n"
+msgstr "%H: %s empleado con sÃ­mbolo no-TLS `%T'\n"
+
+#: elf64-ppc.c:14191
+#, c-format
+msgid "%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC\n"
+msgstr "%H: llamar a`%T' falta nop, no puede restaurar toc; recompile con -fPIC\n"
+
+#: elf64-ppc.c:14197
+#, c-format
+msgid "%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)\n"
+msgstr "%H: llama a Â«%TÂ» le falta nop, no puede restaurar toc; (-mcmodel=small toc ajusta cabo)\n"
+
+#: elf64-ppc.c:14325
+#, c-format
+msgid "%P: %B: unknown relocation type %d for `%T'\n"
+msgstr "%P: %B: tipo de reubicaciÃ³n %d desconocido para `%T'\n"
+
+#: elf64-ppc.c:14874
+#, c-format
+msgid "%H: %s for indirect function `%T' unsupported\n"
+msgstr ""
+"%H: %s para funciÃ³n `%T' indirecta no admitida\n"
+"\n"
 
-#: elf64-ppc.c:12042
-msgid "%P: %H: %s used with TLS symbol %s\n"
-msgstr "%P: %H: se usÃ³ %s con el sÃ­mbolo TLS %s\n"
+#: elf64-ppc.c:14986
+#, c-format
+msgid "%P: %B: %s is not supported for `%T'\n"
+msgstr "%P: %B: %s no estÃ¡ apoyado para `%T'\n"
 
-#: elf64-ppc.c:12043
-msgid "%P: %H: %s used with non-TLS symbol %s\n"
-msgstr "%P: %H: se usÃ³ %s con el sÃ­mbolo %s que no es TLS\n"
+#: elf64-ppc.c:15169
+#, c-format
+msgid "%H: error: %s not a multiple of %u\n"
+msgstr "%H: error: %s no un mÃºltiplo de %u\n"
 
-#: elf64-ppc.c:12556
-msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
-msgstr "%P: %H: no se admiten los TOCs mÃºltiples automÃ¡ticos, utilizando sus ficheros crt; recompile con -mminimal-toc o actualice gcc\n"
+#: elf64-ppc.c:15191
+#, c-format
+msgid "%H: unresolvable %s against `%T'\n"
+msgstr "%H: irresoluble %s frente a `%T'\n"
 
-#: elf64-ppc.c:12562
-msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
-msgstr "%P: %H: la optimizaciÃ³n de llamada hermana a `%s' no permite TOCs mÃºltiples automÃ¡ticos; recompile con -mminimal-toc Ã³ -fno-optimize-sibling-calls, o vuelva `%s' externa\n"
+#: elf64-ppc.c:15288
+#, c-format
+msgid "%H: %s against `%T': error %d\n"
+msgstr "%H: %s frente a `%T': error %d\n"
 
-#: elf64-ppc.c:13286
-msgid "%P: %B: relocation %s is not supported for symbol %s\n"
-msgstr "%P: %B: no se admite la reubicaciÃ³n %s para el sÃ­mbolo %s\n"
+#: elf64-ppc.c:15678 elf64-ppc.c:15697
+msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
+msgstr "%P: el desplazamiento %s es demasiado grande para la codificaciÃ³n sdata4 .eh_frame"
 
-#: elf64-ppc.c:13446
-msgid "%P: %H: error: %s not a multiple of %u\n"
-msgstr "%P: %H: error: %s no es un mÃºltiplo de %u\n"
+#: elf64-s390.c:2533
+msgid "%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)"
+msgstr "%B: `%s' no-PLT reubica para sÃ­mbolo definido dentro de biblioteca compartida y accedido desde ejecutable (recompilar fichero con -fPIC ?)"
 
-#: elf64-sh64.c:1686
+#: elf64-sh64.c:1680
 #, c-format
-msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n"
-msgstr "%s: error: tipo de reubicaciÃ³n %d sin alinear en %08x reubicaciÃ³n %08x\n"
+msgid "%B: error: unaligned relocation type %d at %08Lx reloc %08Lx"
+msgstr "%B: error: tipo de reubicaciÃ³n %d sin alinear en %08Lx reubicaciÃ³n %08Lx"
 
-#: elf64-sparc.c:446
+#: elf64-sparc.c:460
 msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER"
 msgstr "%B: Solamente los registros %%g[2367] se pueden declarar utilizando STT_REGISTER"
 
-#: elf64-sparc.c:466
+#: elf64-sparc.c:481
+#, c-format
 msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B"
 msgstr "El registro %%g%d se usÃ³ de forma incompatible: %s en %B, previamente %s en %B"
 
-#: elf64-sparc.c:489
+#: elf64-sparc.c:505
+#, c-format
 msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B"
-msgstr "El sÃ­mbolo `%s' tiene tipos divergentes: REGISTER en %B, previamente %s en %B"
+msgstr "El sÃ­mbolo Â«%sÂ» tiene tipos divergentes: REGISTER en %B, previamente %s en %B"
 
-#: elf64-sparc.c:534
+#: elf64-sparc.c:552
+#, c-format
 msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B"
-msgstr "El sÃ­mbolo `%s' tiene tipos divergentes: %s en %B, previamente REGISTER en %B"
+msgstr "El sÃ­mbolo Â«%sÂ» tiene tipos divergentes: %s en %B, previamente REGISTER en %B"
 
-#: elf64-sparc.c:687
+#: elf64-sparc.c:707
 msgid "%B: linking UltraSPARC specific with HAL specific code"
 msgstr "%B: se enlaza cÃ³digo especÃ­fico de UltraSPARC con cÃ³digo especÃ­fico de HAL"
 
-#: elf64-x86-64.c:1427
+#: elf64-x86-64.c:1370
+msgid "hidden symbol "
+msgstr "sÃ­mbolo oculto "
+
+#: elf64-x86-64.c:1373
+msgid "internal symbol "
+msgstr "sÃ­mbolo interno "
+
+#: elf64-x86-64.c:1376 elf64-x86-64.c:1380
+msgid "protected symbol "
+msgstr "sÃ­mbolo protegido "
+
+#: elf64-x86-64.c:1382
+msgid "symbol "
+msgstr "sÃ­mbolo "
+
+#: elf64-x86-64.c:1383 elf64-x86-64.c:1393
+msgid "; recompile with -fPIC"
+msgstr "; recompile con -fPIC"
+
+#: elf64-x86-64.c:1388
+msgid "undefined "
+msgstr "indefinido "
+
+#: elf64-x86-64.c:1397
+msgid "a shared object"
+msgstr "un objeto compartido"
+
+#: elf64-x86-64.c:1399
+msgid "a PIE object"
+msgstr "un objeto PIE"
+
+#: elf64-x86-64.c:1401
+msgid "a PDE object"
+msgstr "un objeto PDE"
+
+#: elf64-x86-64.c:1404
+#, c-format
+msgid "%B: relocation %s against %s%s`%s' can not be used when making %s%s"
+msgstr "%B: reubicaciÃ³n %s frente a %s%s Â«%sÂ» no puede emplearse cuando se crea %s%s"
+
+#: elf64-x86-64.c:1889
+#, c-format
 msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
-msgstr "%B: la reubicaciÃ³n %s contra el sÃ­mbolo `%s' no se admite en modo x32"
+msgstr "%B: reubicaciÃ³n %s frente al sÃ­mbolo Â«%sÂ» no se admite en modo x32"
 
-#: elf64-x86-64.c:1656
+#: elf64-x86-64.c:2027
+#, c-format
 msgid "%B: '%s' accessed both as normal and thread local symbol"
-msgstr "%B: se accediÃ³ a '%s' como un sÃ­mbolo normal y como un sÃ­mbolo local de hilo"
+msgstr "%B: Â«%sÂ» accedido ambos como un sÃ­mbolo comÃºn e hilo local"
 
-#: elf64-x86-64.c:3150
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
-msgstr "%B: la reubicaciÃ³n %s contra el sÃ­mbolo STT_GNU_IFUNC `%s' con adiciÃ³n que no es cero: %d"
+#: elf64-x86-64.c:2651
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5040
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %Ld"
+msgstr "%B: reubicaciÃ³n %s frente al sÃ­mbolo STT_GNU_IFUNC Â«%sÂ» tiene aÃ±adido algo distinto de cero: %Ld"
 
-#: elf64-x86-64.c:3411
-msgid "%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object"
-msgstr "%B: no se puede usar la reubicaciÃ³n R_X86_64_GOTOFF contra la funciÃ³n protegida `%s' cuando se hace un objeto compartido"
+#: elf64-x86-64.c:2888
+#, c-format
+msgid "%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object"
+msgstr "%B: no se puede usar la reubicaciÃ³n R_X86_64_GOTOFF64  contra %s indefinida Â«%sÂ» cuando se hace un objeto compartido"
 
-#: elf64-x86-64.c:3523
-msgid "; recompile with -fPIC"
-msgstr "; recompile con -fPIC"
+#: elf64-x86-64.c:2902
+#, c-format
+msgid "%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object"
+msgstr "%B: reubicaciÃ³n R_X86_64_GOTOFF64 contra %s protegida Â«%sÂ» puede no ser empleada cuando crea un objeto compartido"
+
+#: elf64-x86-64.c:3153
+#, c-format
+msgid "%B: addend %s%#x in relocation %s against symbol `%s' at %#Lx in section `%A' is out of range"
+msgstr "%B: aÃ±adir final %s%#x en reubicaciÃ³n %s frente sÃ­mbolo Â«%sÂ» en %#Lx en secciÃ³n `%A' estÃ¡ fuera de rango"
+
+#: elf64-x86-64.c:3828
+msgid "%F%P: failed to convert GOTPCREL relocation; relink with --no-relax\n"
+msgstr "%F%P: fallado al convertir reubicaciÃ³n GOTPCREL; renlaza con --no-relax\n"
 
-#: elf64-x86-64.c:3528
-msgid "%B: relocation %s against %s `%s' can not be used when making a shared object%s"
-msgstr "%B: no se puede usar la reubicaciÃ³n %s contra %s `%s' cuando se hace un objeto compartido%s"
+#: elf64-x86-64.c:3986
+#, c-format
+msgid "%F%B: PC-relative offset overflow in PLT entry for `%s'\n"
+msgstr "%F%B: desbordamiento superior de desplazamiento relativo Pc dentro e asiento PLT para Â«%sÂ»\n"
 
-#: elf64-x86-64.c:3530
-msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
-msgstr "%B: no se puede usar la reubicaciÃ³n %s contra %s sin definir `%s' cuando se hace un objeto compartido%s"
+#: elf64-x86-64.c:4049
+#, c-format
+msgid "%F%B: branch displacement overflow in PLT entry for `%s'\n"
+msgstr "%F%B: desbordamiento superior de rama desplazada en entrada PLT para Â«%sÂ»\n"
 
-#: elfcode.h:767
+#: elf64-x86-64.c:4102
 #, c-format
-msgid "warning: %s has a corrupt string table index - ignoring"
-msgstr "aviso: %s tiene un Ã­ndice de tablas de cadenas corrupto - se descarta"
+msgid "%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n"
+msgstr "%F%B: desplazamiento PC-relativo desborda por encima el asiento GOT PLT para `%s'\n"
 
-#: elfcode.h:1177
+#: elfcode.h:760
+msgid "warning: %B has a corrupt string table index - ignoring"
+msgstr "aviso: %B tiene un Ã­ndice de tablas de cadenas corrupto - se descarta"
+
+#: elfcode.h:1199
 #, c-format
-msgid "%s: version count (%ld) does not match symbol count (%ld)"
-msgstr "%s: la cuenta de versiÃ³n (%ld) no coincide con la cuenta de sÃ­mbolos (%ld)"
+msgid "%B: version count (%Ld) does not match symbol count (%ld)"
+msgstr "%B: contador de versiÃ³n (%Ld) no coincide con la cuenta simbÃ³lica (%ld)"
 
-#: elfcode.h:1431
+#: elfcode.h:1456
 #, c-format
-msgid "%s(%s): relocation %d has invalid symbol index %ld"
-msgstr "%s(%s): la reubicaciÃ³n %d tiene un Ã­ndice de sÃ­mbolo %ld invÃ¡lido"
+msgid "%B(%A): relocation %d has invalid symbol index %ld"
+msgstr "%B(%A): reubicaciÃ³n %d tiene un Ã­ndice simbÃ³lico %ld invÃ¡lido"
 
-#: elfcore.h:312
-msgid "Warning: %B is truncated: expected core file size >= %lu, found: %lu."
-msgstr "Aviso: se truncÃ³ %B: se esperaba el tamaÃ±o de fichero core >= %lu, se encontrÃ³: %lu."
+#: elfcore.h:300
+#, c-format
+msgid "warning: %B is truncated: expected core file size >= %Lu, found: %llu"
+msgstr "aviso: %B estÃ¡ truncado: esperaba el tamaÃ±o de fichero core >= %Lu, se encontrÃ³: %llu"
 
-#: elflink.c:1117
+#: elflink.c:1353
+#, c-format
 msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"
 msgstr "%s: la definiciÃ³n TLS en %B secciÃ³n %A no coincide con la definiciÃ³n que no es TLS en %B secciÃ³n %A"
 
-#: elflink.c:1121
+#: elflink.c:1359
+#, c-format
 msgid "%s: TLS reference in %B mismatches non-TLS reference in %B"
 msgstr "%s: la referencia TLS en %B no coincide con la referencia que no es TLS en %B"
 
-#: elflink.c:1125
+#: elflink.c:1365
+#, c-format
 msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B"
 msgstr "%s: la definiciÃ³n TLS en %B secciÃ³n %A no coincide con la referencia que no es TLS en %B"
 
-#: elflink.c:1129
+#: elflink.c:1371
+#, c-format
 msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A"
 msgstr "%s: la referencia TLS en %B no coincide con la definiciÃ³n que no es TLS en %B secciÃ³n %A"
 
-#: elflink.c:1762
+#: elflink.c:2052
+#, c-format
 msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
-msgstr "%B: redefiniciÃ³n inesperada del sÃ­mbolo con versiÃ³n indirecta `%s'"
+msgstr "%B: redefiniciÃ³n inesperada del sÃ­mbolo con versiÃ³n indirecta Â«%sÂ»"
 
-#: elflink.c:2063
+#: elflink.c:2345
+#, c-format
 msgid "%B: version node not found for symbol %s"
 msgstr "%B: no se encuentra la versiÃ³n del nodo para el sÃ­mbolo %s"
 
-#: elflink.c:2154
-msgid "%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'"
-msgstr "%B: Ã­ndice de sÃ­mbolos de reubicaciÃ³n invÃ¡lido (0x%lx >= 0x%lx) errÃ³neo para el desplazamiento 0x%lx en la secciÃ³n `%A'"
-
-#: elflink.c:2165
-msgid "%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table"
-msgstr "%B: Ã­ndice de sÃ­mbolos que no es cero (0x%lx) para el desplazamiento 0x%lx) en la secciÃ³n `%A' cuando el fichero objeto no tiene tabla de sÃ­mbolos"
+#: elflink.c:2434
+#, c-format
+msgid "%B: bad reloc symbol index (%#Lx >= %#lx) for offset %#Lx in section `%A'"
+msgstr "%B: indexado simbÃ³lico de reubicaciÃ³n equivocado (%#Lx >= %#lx)  para desplazar %#Lx dentro de secciÃ³n `%A'"
+
+#: elflink.c:2446
+#, c-format
+msgid "%B: non-zero symbol index (%#Lx) for offset %#Lx in section `%A' when the object file has no symbol table"
+msgstr "%B: Ã­ndice simbÃ³licos distinto de cero (%#Lx) para desplazamiento %#Lx en la secciÃ³n `%A' cuando el fichero objeto no tiene ningÃºn segmento simbÃ³lico"
 
-#: elflink.c:2355
+#: elflink.c:2637
+#, c-format
 msgid "%B: relocation size mismatch in %B section %A"
 msgstr "%B: el tamaÃ±o de reubicaciÃ³n no coincide en %B secciÃ³n %A"
 
-#: elflink.c:2639
+#: elflink.c:2955
 #, c-format
 msgid "warning: type and size of dynamic symbol `%s' are not defined"
-msgstr "aviso: el tipo y tamaÃ±o del sÃ­mbolo dinÃ¡mico `%s' no estÃ¡n definidos"
+msgstr "aviso: el tipo y tamaÃ±o del sÃ­mbolo dinÃ¡mico Â«%sÂ» no estÃ¡n definidos"
 
-#: elflink.c:3391
+#: elflink.c:3017
+msgid "%P: copy reloc against protected `%T' is dangerous\n"
+msgstr "%P: copiar reubicaciÃ³n frente a Â«%TÂ» protegido es peligroso\n"
+
+#: elflink.c:3818
+#, c-format
 msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
 msgstr "%P: se encontrÃ³ cÃ³digo mÃ¡quina ELF alternativo (%d) en %B, se espera %d\n"
 
-#: elflink.c:4037
+#: elflink.c:4484
+#, c-format
 msgid "%B: %s: invalid version %u (max %d)"
 msgstr "%B: %s: versiÃ³n %u invÃ¡lida (mÃ¡ximo %d)"
 
-#: elflink.c:4073
+#: elflink.c:4521
+#, c-format
 msgid "%B: %s: invalid needed version %d"
 msgstr "%B: %s: versiÃ³n requerida %d invÃ¡lida"
 
-#: elflink.c:4269
-msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
-msgstr "Aviso: la alineaciÃ³n %u del sÃ­mbolo comÃºn `%s' en %B es mÃ¡s grande que la alineaciÃ³n (%u) de su secciÃ³n %A"
-
-#: elflink.c:4275
-msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
-msgstr "Aviso: la alineaciÃ³n %u del sÃ­mbolo `%s' en %B es mÃ¡s pequeÃ±a que %u en %B"
-
-#: elflink.c:4290
-msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
-msgstr "Aviso: el tamaÃ±o del sÃ­mbolo `%s' cambiÃ³ de %lu en %B a %lu en %B"
-
-#: elflink.c:4463
+#: elflink.c:4932
+#, c-format
 msgid "%B: undefined reference to symbol '%s'"
-msgstr "%B: referencia sin definir al sÃ­mbolo '%s'"
+msgstr "%B: referencia sin definir al sÃ­mbolo Â«%sÂ»"
 
-#: elflink.c:4466
-msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
-msgstr "nota: se define '%s' en DSO %B asÃ­ que se tratarÃ¡ de agregarlo a la lÃ­nea de Ã³rdenes del enlazador"
+#: elflink.c:6008
+#, c-format
+msgid "%B: stack size specified and %s set"
+msgstr "%B: tamaÃ±o de pila especificado y %s establecido"
+
+#: elflink.c:6012
+#, c-format
+msgid "%B: %s not absolute"
+msgstr "%B: %s no absoluto"
 
-#: elflink.c:5781
+#: elflink.c:6209
 #, c-format
 msgid "%s: undefined version: %s"
 msgstr "%s: versiÃ³n sin definir: %s"
 
-#: elflink.c:5849
+#: elflink.c:6780
 msgid "%B: .preinit_array section is not allowed in DSO"
 msgstr "%B: no se permite la secciÃ³n .preinit_array en DSO"
 
-#: elflink.c:7604
+#: elflink.c:8217
 #, c-format
 msgid "undefined %s reference in complex symbol: %s"
 msgstr "referencia %s sin definir en el sÃ­mbolo complejo: %s"
 
-#: elflink.c:7758
+#: elflink.c:8372
 #, c-format
 msgid "unknown operator '%c' in complex symbol"
 msgstr "operador desconocido '%c' en el sÃ­mbolo complejo"
 
-#: elflink.c:8097 elflink.c:8114 elflink.c:8151 elflink.c:8168
+#. PR 21524: Let the user know if a symbol was removed by garbage collection.
+#: elflink.c:8710
+msgid "%B:%A: error: relocation references symbol %s which was removed by garbage collection."
+msgstr "%B:%A: error: referencias simbÃ³licas %s reubicadas las cuales fueron quitadas para colecciÃ³n de basura."
+
+#: elflink.c:8713
+msgid "%B:%A: error: try relinking with --gc-keep-exported enabled."
+msgstr "%B:%A: error: intente reenlazar con --gc-keep-exported activado."
+
+#: elflink.c:8949 elflink.c:8967 elflink.c:9006 elflink.c:9024
 msgid "%B: Unable to sort relocs - they are in more than one size"
-msgstr "%B: No se pueden ordenar las reubicaciones - son de tamaÃ±os diferentes"
+msgstr "%B: no se pueden ordenar las reubicaciones - son de tamaÃ±os diferentes"
 
-#: elflink.c:8128 elflink.c:8182
+#. The section size is not divisible by either -
+#. something is wrong.
+#: elflink.c:8983 elflink.c:9040
 msgid "%B: Unable to sort relocs - they are of an unknown size"
-msgstr "%B: No se pueden ordenar las reubicaciones - son de tamaÃ±o desconocido"
+msgstr "%B: no se pueden ordenar las reubicaciones - son de tamaÃ±o desconocido"
 
-#: elflink.c:8233
+#: elflink.c:9092
 msgid "Not enough memory to sort relocations"
 msgstr "No hay suficiente memoria para ordenar las reubicaciones"
 
-#: elflink.c:8426
+#: elflink.c:9360
+#, c-format
 msgid "%B: Too many sections: %d (>= %d)"
 msgstr "%B: Demasiadas secciones:  %d (>= %d)"
 
-#: elflink.c:8675
+#: elflink.c:9640
+#, c-format
 msgid "%B: internal symbol `%s' in %B is referenced by DSO"
-msgstr "%B: el sÃ­mbolo interno `%s' en %B estÃ¡ referenciado por DSO"
+msgstr "%B: el sÃ­mbolo interno Â«%sÂ» en %B estÃ¡ referenciado por DSO"
 
-#: elflink.c:8677
+#: elflink.c:9643
+#, c-format
 msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
-msgstr "%B: el sÃ­mbolo oculto `%s' en %B estÃ¡ referenciado por DSO"
+msgstr "%B: sÃ­mbolo oculto Â«%sÂ» en %B estÃ¡ referenciado por DSO"
 
-#: elflink.c:8679
+#: elflink.c:9646
+#, c-format
 msgid "%B: local symbol `%s' in %B is referenced by DSO"
-msgstr "%B: el sÃ­mbolo local `%s' en %B estÃ¡ referenciado por DSO"
+msgstr "%B: el sÃ­mbolo local Â«%sÂ» en %B estÃ¡ referenciado por DSO"
 
-#: elflink.c:8776
+#: elflink.c:9732
+#, c-format
 msgid "%B: could not find output section %A for input section %A"
 msgstr "%B: no se puede encontrar la secciÃ³n de salida %A para la secciÃ³n de entrada %A"
 
-#: elflink.c:8899
+#: elflink.c:9886
+#, c-format
 msgid "%B: protected symbol `%s' isn't defined"
-msgstr "%B: el sÃ­mbolo protegido `%s' no estÃ¡ definido"
+msgstr "%B: el sÃ­mbolo protegido Â«%sÂ» no estÃ¡ definido"
 
-#: elflink.c:8901
+#: elflink.c:9889
+#, c-format
 msgid "%B: internal symbol `%s' isn't defined"
-msgstr "%B: el sÃ­mbolo interno `%s' no estÃ¡ definido"
+msgstr "%B: el sÃ­mbolo interno Â«%sÂ» no estÃ¡ definido"
 
-#: elflink.c:8903
+#: elflink.c:9892
+#, c-format
 msgid "%B: hidden symbol `%s' isn't defined"
-msgstr "%B: el sÃ­mbolo oculto `%s' no estÃ¡ definido"
+msgstr "%B: sÃ­mbolo oculto Â«%sÂ» no estÃ¡ definido"
 
-#: elflink.c:9432
+#: elflink.c:9923
+#, c-format
+msgid "%B: No symbol version section for versioned symbol `%s'"
+msgstr "%B: ninguna secciÃ³n de versiÃ³n simbÃ³lica para sÃ­mbolo Â«%sÂ» versionado"
+
+#: elflink.c:10533
+#, c-format
 msgid "error: %B: size of section %A is not multiple of address size"
 msgstr "error: %B: el tamaÃ±o de la secciÃ³n %A no es un mÃºltiplo del tamaÃ±o de la direcciÃ³n"
 
-#: elflink.c:9479
-msgid "error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbol"
-msgstr "error: %B contiene una reubicaciÃ³n (0x%s) para la secciÃ³n %A que refiere a un sÃ­mbolo global que no existe"
+#: elflink.c:10578
+#, c-format
+msgid "error: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbol"
+msgstr "error: %B contiene una reubicaciÃ³n (%#Lx) para la secciÃ³n %A que refiere a un sÃ­mbolo global no existente"
 
-#: elflink.c:10214
+#: elflink.c:11333
+#, c-format
 msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
 msgstr "%A tiene tanto secciones ordenadas [`%A' en %B] como desordenadas [`%A' en %B]"
 
-#: elflink.c:10219
+#: elflink.c:11339
 #, c-format
 msgid "%A has both ordered and unordered sections"
 msgstr "%A tiene secciones tanto ordenadas como desordenadas"
 
-#: elflink.c:10784
+#: elflink.c:11441
+msgid "%B: no symbol found for import library"
+msgstr "%B: ningÃºn sÃ­mbolo encontrado para importar biblioteca"
+
+#: elflink.c:12063
+#, c-format
 msgid "%B: file class %s incompatible with %s"
-msgstr "%B: el fichero de clase %s es incompatible con %s"
+msgstr "%B: fichero de clase %s es incompatible con %s"
 
-#: elflink.c:11093 elflink.c:11137
-msgid "%B: could not find output section %s"
-msgstr "%B: no se puede encontrar la secciÃ³n de salida %s"
+#: elflink.c:12280
+msgid "%B: failed to generate import library"
+msgstr "%B: fallaba al generar biblioteca importada"
 
-#: elflink.c:11098
+#: elflink.c:12399
 #, c-format
 msgid "warning: %s section has zero size"
 msgstr "aviso: la secciÃ³n %s es de tamaÃ±o cero"
 
-#: elflink.c:11143
+#: elflink.c:12447
 #, c-format
 msgid "warning: section '%s' is being made into a note"
-msgstr "aviso: la secciÃ³n '%s' se estÃ¡ convirtiendo en una nota"
+msgstr "aviso: la secciÃ³n Â«%sÂ» se estÃ¡ convirtiendo en una nota"
 
-#: elflink.c:11212
+#: elflink.c:12539
 msgid "%P%X: read-only segment has dynamic relocations.\n"
 msgstr "%P%X: un segmento de sÃ³lo lectura tiene reubicaciones dinÃ¡micas.\n"
 
-#: elflink.c:11215
+#: elflink.c:12542
 msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
 msgstr "%P: aviso: se crea un DT_TEXTREL en un objeto compartido.\n"
 
-#: elflink.c:11402
+#: elflink.c:12667
 msgid "%P%X: can not read symbols: %E\n"
 msgstr "%P%X: no se pueden leer sÃ­mbolos: %E\n"
 
-#: elflink.c:11792
-msgid "Removing unused section '%s' in file '%B'"
-msgstr "Se elimina la secciÃ³n sin uso '%s' en el fichero '%B'"
+#: elflink.c:12829
+msgid "%F%P: corrupt input: %B\n"
+msgstr "%F%P: entrada corrupta: %B\n"
 
-#: elflink.c:11998
-msgid "Warning: gc-sections option ignored"
-msgstr "Aviso: se descarta la opciÃ³n gc-sections"
+#: elflink.c:13495
+#, c-format
+msgid "%B: %A+%#Lx: No symbol found for INHERIT"
+msgstr "%B: %A+%#Lx: NingÃºn sÃ­mbolo encontrado para INHERIT"
 
-#: elflink.c:12277
+#: elflink.c:13671
 #, c-format
 msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
 msgstr "No se reconoce INPUT_SECTION_FLAG %s\n"
 
-#: elfxx-mips.c:1234
+#: elfxx-mips.c:1444
 msgid "static procedure (no name)"
 msgstr "procedimiento estÃ¡tico (sin nombre)"
 
-#: elfxx-mips.c:5259
+#: elfxx-mips.c:5628
 msgid "MIPS16 and microMIPS functions cannot call each other"
-msgstr "las funciones MIPS16 y microMIPS no se pueden llamar unas a otras"
+msgstr "Funciones MIPS16 y microMIPS no se pueden llamar unas a otras"
+
+#: elfxx-mips.c:6376
+msgid "%X%H: Unsupported JALX to the same ISA mode\n"
+msgstr "%X%H: JALX no soportado para el mismo modo ISA\n"
+
+#: elfxx-mips.c:6409
+msgid "%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled\n"
+msgstr "%X%H: omisiÃ³n no permitido entre modos ISA; considere recompilar con el entrelazado activado\n"
 
-#: elfxx-mips.c:5856
-msgid "%B: %A+0x%lx: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled."
-msgstr "%B: %A+0x%lx: No se permiten los saltos directos entre modos ISA; considere recompilar con el entrelazado activado."
+#: elfxx-mips.c:6454
+msgid "%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range\n"
+msgstr "%X%H: no puede convertir rama entre modos ISA a JALX: reubicando fuera de lÃ­mite\n"
 
-#: elfxx-mips.c:6519 elfxx-mips.c:6742
+#: elfxx-mips.c:6466
+msgid "%X%H: Unsupported branch between ISA modes\n"
+msgstr "%X%H: rama no soportada entre modos ISA\n"
+
+#: elfxx-mips.c:7144 elfxx-mips.c:7379
+#, c-format
 msgid "%B: Warning: bad `%s' option size %u smaller than its header"
-msgstr "%B: Aviso: el tamaÃ±o de opciÃ³n `%s' %u errÃ³neo es mÃ¡s pequeÃ±o que su encabezado"
+msgstr "%B: Aviso: el tamaÃ±o de opciÃ³n Â«%sÂ» %u equivocado es mÃ¡s pequeÃ±o que su encabezado"
 
-#: elfxx-mips.c:7495 elfxx-mips.c:7620
+#: elfxx-mips.c:8135 elfxx-mips.c:8261
+#, c-format
 msgid "%B: Warning: cannot determine the target function for stub section `%s'"
-msgstr "%B: Aviso: no se puede determinar la funciÃ³n objetivo para la secciÃ³n de cabo `%s'"
+msgstr "%B: Aviso: no se puede determinar la funciÃ³n objetivo para la secciÃ³n de cabo Â«%sÂ»"
 
-#: elfxx-mips.c:7749
+#: elfxx-mips.c:8393
+#, c-format
 msgid "%B: Malformed reloc detected for section %s"
 msgstr "%B: Se detectÃ³ una reubicaciÃ³n malformada para la secciÃ³n %s"
 
-#: elfxx-mips.c:7801
-msgid "%B: GOT reloc at 0x%lx not expected in executables"
-msgstr "%B: no se esperaba la reubicaciÃ³n GOT en 0x%lx en ejecutables"
-
-#: elfxx-mips.c:7930
-msgid "%B: CALL16 reloc at 0x%lx not against global symbol"
-msgstr "%B: la reubicaciÃ³n CALL16 en 0x%lx no es contra un sÃ­mbolo global"
+#: elfxx-mips.c:8465
+#, c-format
+msgid "%B: GOT reloc at %#Lx not expected in executables"
+msgstr "%B: reubicaciÃ³n GOT en %#Lx no esperado en ejecutables"
+
+#: elfxx-mips.c:8603
+#, c-format
+msgid "%B: CALL16 reloc at %#Lx not against global symbol"
+msgstr "%B: reubicaciÃ³n CALL16 en %Lx no contra sÃ­mbolo global"
 
-#: elfxx-mips.c:8645
+#: elfxx-mips.c:9226
 #, c-format
 msgid "non-dynamic relocations refer to dynamic symbol %s"
 msgstr "reubicaciones que no son dinÃ¡micas se refieren al sÃ­mbolo dinÃ¡mico %s"
 
-#: elfxx-mips.c:9347
-msgid "%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'"
-msgstr "%B: No se puede encontrar una reubicaciÃ³n LO16 coincidente contra `%s' para %s en 0x%lx en la secciÃ³n `%A'"
+#: elfxx-mips.c:10146
+#, c-format
+msgid "%B: Can't find matching LO16 reloc against `%s' for %s at %#Lx in section `%A'"
+msgstr "%B: no se puede encontrar una reubicaciÃ³n LO16 coincidente contra Â«%sÂ» para %s en %#Lx en la secciÃ³n `%A'"
 
-#: elfxx-mips.c:9486
+#: elfxx-mips.c:10286
 msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
 msgstr "la secciÃ³n small-data excede los 64KB; disminuya el lÃ­mite de tamaÃ±o de small-data (vea la opciÃ³n -G)"
 
-#: elfxx-mips.c:9505
-msgid "JALX to a non-word-aligned address"
-msgstr "JALX a una direcciÃ³n que no estÃ¡ alineada con word"
+#: elfxx-mips.c:10305
+msgid "Cannot convert a jump to JALX for a non-word-aligned address"
+msgstr "No puede convertir una omisiÃ³n a JALX para una direcciÃ³n que no estÃ¡ alineada con word"
+
+#: elfxx-mips.c:10308
+msgid "Jump to a non-word-aligned address"
+msgstr "Omite a una direcciÃ³n no alineada con word"
+
+#: elfxx-mips.c:10309
+msgid "Jump to a non-instruction-aligned address"
+msgstr "Omite a una direcciÃ³n que no estÃ¡ alineada con instrucciÃ³n"
+
+#: elfxx-mips.c:10312
+msgid "Cannot convert a branch to JALX for a non-word-aligned address"
+msgstr "No puede convertir una rama a JALX para una direcciÃ³n no estÃ¡ alineada con word"
+
+#: elfxx-mips.c:10314
+msgid "Branch to a non-instruction-aligned address"
+msgstr "Rama a una direcciÃ³n que no estÃ¡ alineada con instrucciÃ³n"
+
+#: elfxx-mips.c:10316
+msgid "PC-relative load from unaligned address"
+msgstr "Carga relativa PC desde direcciÃ³n no alineada"
+
+#: elfxx-mips.c:10690 elfxx-mips.c:11258
+#, c-format
+msgid "%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC"
+msgstr "%B: desplazamiento `%A' de %Ld desde `%A' mÃ¡s allÃ¡ que el rango de ADDIUPC"
+
+#: elfxx-mips.c:14121
+#, c-format
+msgid "%B: Unknown architecture %s"
+msgstr "%B: arquitectura %d desconocida"
+
+#: elfxx-mips.c:14380
+msgid "%B: .reginfo section size should be %d bytes, actual size is %d"
+msgstr "%B: tamaÃ±o de secciÃ³n .reginfo deberÃ­a ser de %d bytes, tamaÃ±o actual es %d"
+
+#: elfxx-mips.c:14659
+#, c-format
+msgid "%B: illegal section name `%A'"
+msgstr "%B: nombre de secciÃ³n ilegal `%A'"
+
+#: elfxx-mips.c:14936
+msgid "%B: warning: linking abicalls files with non-abicalls files"
+msgstr "%B: aviso: se enlazan ficheros de llamadas ABI con ficheros que no son de llamadas ABI"
+
+#: elfxx-mips.c:14953
+msgid "%B: linking 32-bit code with 64-bit code"
+msgstr "%B: se enlaza cÃ³digo de 32-bit con cÃ³digo de 64-bit"
+
+#: elfxx-mips.c:14985 elfxx-mips.c:15051 elfxx-mips.c:15066
+#, c-format
+msgid "%B: linking %s module with previous %s modules"
+msgstr "%B: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos"
+
+#: elfxx-mips.c:15009
+#, c-format
+msgid "%B: ABI mismatch: linking %s module with previous %s modules"
+msgstr "%B: no coincide ABI: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos"
+
+#: elfxx-mips.c:15034
+#, c-format
+msgid "%B: ASE mismatch: linking %s module with previous %s modules"
+msgstr "%B: no coincide ASE: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos"
+
+#: elfxx-mips.c:15168
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %d"
+msgstr "Aviso: %B emplea la ABI de coma flotante desconocida %d (establecida por %B), %B emplea ABI con coma flotante %d desconocida"
+
+#: elfxx-mips.c:15174
+#, c-format
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses %s"
+msgstr "Aviso: %B utiliza coma flotante ABI %d (establecido por %B), %B emplea %s"
+
+#: elfxx-mips.c:15180
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses unknown floating point ABI %d"
+msgstr "Aviso: %B emplea %s (establece por %B), %B emplea punto flotante ABI desconocido %d"
 
-#: elfxx-mips.c:13266
+#: elfxx-mips.c:15194
 #, c-format
-msgid "%s: illegal section name `%s'"
-msgstr "%s: nombre de secciÃ³n `%s' ilegal"
+msgid "Warning: %B uses %s (set by %B), %B uses %s"
+msgstr "Aviso: %B emplea %s (establecido por %B), %B emplea %s"
 
-#: elfxx-mips.c:13645 elfxx-mips.c:13671
-msgid "Warning: %B uses -msingle-float, %B uses -mdouble-float"
-msgstr "Aviso: %B usa -msingle-float, %B usa -mdouble-float"
+#: elfxx-mips.c:15213
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses unknown MSA ABI %d"
+msgstr "Aviso: %B utiliza %s (establecido por %B), %B utiliza ABI MSA desconocido %d"
 
-#: elfxx-mips.c:13657 elfxx-mips.c:13713
-msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
-msgstr "Aviso: %B usa -msingle-float, %B usa -mips32r2 -mfp64"
+#: elfxx-mips.c:15225
+#, c-format
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses %s"
+msgstr "Aviso: %B emplea la ABI MSA desconocida%d (establece por %B), %B emplea %s"
 
-#: elfxx-mips.c:13683 elfxx-mips.c:13719
-msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
-msgstr "Aviso: %B usa -mdouble-float, %B usa -mips32r2 -mfp64"
+#: elfxx-mips.c:15234
+#, c-format
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %d"
+msgstr "Aviso: %B emplea MSA ABI %d desconocida (establece por %B), %B emplea MSA ABI %d"
 
-#: elfxx-mips.c:13761
+#: elfxx-mips.c:15296
 msgid "%B: endianness incompatible with that of the selected emulation"
-msgstr "%B: la endianez es incompatible con aquella de la emulaciÃ³n seleccionada"
+msgstr "%B: endianez es incompatible con aquella de la emulaciÃ³n seleccionada"
+
+#: elfxx-mips.c:15310
+msgid "%B: ABI is incompatible with that of the selected emulation"
+msgstr "%B: la ABI es incompatible con aquella de la emulaciÃ³n seleccionada"
+
+#: elfxx-mips.c:15362
+msgid "%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags"
+msgstr "%B: aviso: ISA inconsistente entre e_flags y .MIPS.abiflags"
+
+#: elfxx-mips.c:15367
+msgid "%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
+msgstr "%B: aviso: ABI FP inconsistente entre .gnu.attributes y .MIPS.abiflags"
+
+#: elfxx-mips.c:15371
+msgid "%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags"
+msgstr "%B: aviso: ASEs inconsistentes entre e_flags y .MIPS.abiflags"
+
+#: elfxx-mips.c:15378
+msgid "%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags"
+msgstr "%B: aviso: Extensiones ISA inconsistente entre e_flags y .MIPS.abiflags"
+
+#: elfxx-mips.c:15382
+msgid "%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
+msgstr "%B: aviso: Marca inesperada den el campo flags2 de  .MIPS.abiflags (0x%lx)"
+
+#: elfxx-mips.c:15571
+msgid "-mips32r2 -mfp64 (12 callee-saved)"
+msgstr "-mips32r2 -mfp64 (12 llamadas-guardadas)"
+
+#: elfxx-mips.c:15621 elfxx-mips.c:15632
+msgid "None"
+msgstr "Ninguno"
+
+#: elfxx-mips.c:15623 elfxx-mips.c:15695
+msgid "Unknown"
+msgstr "Desconocida"
+
+#: elfxx-mips.c:15706
+#, c-format
+msgid "Hard or soft float\n"
+msgstr "Hard o soft flotante\n"
+
+#: elfxx-mips.c:15709
+#, c-format
+msgid "Hard float (double precision)\n"
+msgstr "Coma flotante de hard (precisiÃ³n doble)\n"
 
-#: elfxx-mips.c:13772
-msgid "%B: ABI is incompatible with that of the selected emulation"
-msgstr "%B: la ABI es incompatible con aquella de la emulaciÃ³n seleccionada"
+#: elfxx-mips.c:15712
+#, c-format
+msgid "Hard float (single precision)\n"
+msgstr "Coma flotante de hard (precisiÃ³n sencilla)\n"
 
-#: elfxx-mips.c:13856
-msgid "%B: warning: linking abicalls files with non-abicalls files"
-msgstr "%B: aviso: se enlazan ficheros de llamadas abi con ficheros que no son de llamadas abi"
+#: elfxx-mips.c:15715
+#, c-format
+msgid "Soft float\n"
+msgstr "Flotante soft\n"
 
-#: elfxx-mips.c:13873
-msgid "%B: linking 32-bit code with 64-bit code"
-msgstr "%B: se enlaza cÃ³digo de 32-bit con cÃ³digo de 64-bit"
+#: elfxx-mips.c:15718
+#, c-format
+msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
+msgstr "Flotante hard (FPU 12 llamadas-guardadas MIPS32r2 de 64-bit)\n"
 
-#: elfxx-mips.c:13901
-msgid "%B: linking %s module with previous %s modules"
-msgstr "%B: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos"
+#: elfxx-mips.c:15721
+#, c-format
+msgid "Hard float (32-bit CPU, Any FPU)\n"
+msgstr "Flotante Hard (32-bit CPU, cualquier FPU)\n"
 
-#: elfxx-mips.c:13924
-msgid "%B: ABI mismatch: linking %s module with previous %s modules"
-msgstr "%B: no coincide ABI: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos"
+#: elfxx-mips.c:15724
+#, c-format
+msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
+msgstr "Flotante Hard (32-bit CPU, 64-bit FPU)\n"
 
-#: elfxx-mips.c:13948
-msgid "%B: ASE mismatch: linking %s module with previous %s modules"
-msgstr "%B: no coincide ASE: se enlaza el mÃ³dulo %s con mÃ³dulos %s previos"
+#: elfxx-mips.c:15727
+#, c-format
+msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
+msgstr "Flotante Hard compacto (32-bit CPU, 64-bit FPU)\n"
 
-#: elfxx-mips.c:14106
+#: elfxx-mips.c:15759
 #, c-format
 msgid " [abi=O32]"
 msgstr " [abi=O32]"
 
-#: elfxx-mips.c:14108
+#: elfxx-mips.c:15761
 #, c-format
 msgid " [abi=O64]"
 msgstr " [abi=O64]"
 
-#: elfxx-mips.c:14110
+#: elfxx-mips.c:15763
 #, c-format
 msgid " [abi=EABI32]"
 msgstr " [abi=EABI32]"
 
-#: elfxx-mips.c:14112
+#: elfxx-mips.c:15765
 #, c-format
 msgid " [abi=EABI64]"
 msgstr " [abi=EABI64]"
 
-#: elfxx-mips.c:14114
+#: elfxx-mips.c:15767
 #, c-format
 msgid " [abi unknown]"
 msgstr " [abi desconocido]"
 
-#: elfxx-mips.c:14116
+#: elfxx-mips.c:15769
 #, c-format
 msgid " [abi=N32]"
 msgstr " [abi=N32]"
 
-#: elfxx-mips.c:14118
+#: elfxx-mips.c:15771
 #, c-format
 msgid " [abi=64]"
 msgstr " [abi=64]"
 
-#: elfxx-mips.c:14120
+#: elfxx-mips.c:15773
 #, c-format
 msgid " [no abi set]"
 msgstr " [no hay conjunto abi]"
 
-#: elfxx-mips.c:14141
+#: elfxx-mips.c:15798
 #, c-format
 msgid " [unknown ISA]"
 msgstr " [ISA desconocido]"
 
-#: elfxx-mips.c:14155
+#: elfxx-mips.c:15818
 #, c-format
 msgid " [not 32bitmode]"
 msgstr " [no es modo 32bit]"
 
-#: elfxx-sparc.c:596
+#: elfxx-riscv.c:955
+#, c-format
+msgid "unrecognized relocation (0x%x)"
+msgstr "reubicaciÃ³n no reconocida (0x%x)"
+
+#: elfxx-sparc.c:639
 #, c-format
 msgid "invalid relocation type %d"
 msgstr "tipo de reubicaciÃ³n %d invÃ¡lido"
 
-#: elfxx-tilegx.c:3952
+#: elfxx-sparc.c:3129
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5024
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
+msgstr "%B: reubicaciÃ³n %s frente al sÃ­mbolo STT_GNU_IFUNC Â«%sÂ» no es manipulada por %s"
+
+#: elfxx-tilegx.c:4241
+#, c-format
 msgid "%B: Cannot link together %s and %s objects."
 msgstr "%B: No se pueden enlazar juntos los objetos %s y %s."
 
-#: i386linux.c:451 m68klinux.c:456 sparclinux.c:450
+#: elfxx-x86.c:570
+#, c-format
+msgid "%P: %B: warning: relocation against `%s' in read-only section `%A'\n"
+msgstr "%P: %B: aviso: reubicaciÃ³n contra Â«%sÂ» en secciÃ³n `%A' de sÃ³lo lectura\n"
+
+#: elfxx-x86.c:954
+msgid "%P: %B: warning: relocation in read-only section `%A'\n"
+msgstr "%P: %B: aviso: reubicaciÃ³n en secciÃ³n de sÃ³lo lectura `%A'\n"
+
+#: elfxx-x86.c:1287
+msgid "%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
+msgstr "%P%X: segmento de sÃ³lo lectura tiene reubicaciones dinÃ¡micas IFUNC; recompile con -fPIC\n"
+
+#: elfxx-x86.c:2241
+msgid "error: %B: <corrupt x86 ISA used size: 0x%x>"
+msgstr "error: %B: <corrompe tamaÃ±o ISA x86 utilizado: 0x%x>"
+
+#: elfxx-x86.c:2243
+msgid "error: %B: <corrupt x86 ISA needed size: 0x%x>"
+msgstr "error: %B: <corrompe tamaÃ±o ISA x86 requerido: 0x%x>"
+
+#: elfxx-x86.c:2244
+msgid "error: %B: <corrupt x86 feature size: 0x%x>"
+msgstr "error: %B: <corrompe tamaÃ±o caracterÃ­stico x86: 0x%x>"
+
+#: elfxx-x86.c:2416
+msgid "%F%P: failed to create GNU property section\n"
+msgstr "%F%P: fallado al crear secciÃ³n propietaria GNU\n"
+
+#: elfxx-x86.c:2421
+#, c-format
+msgid "%F%A: failed to align section\n"
+msgstr "%F%A: fallÃ³ para alinear secciÃ³n\n"
+
+#: elfxx-x86.c:2571
+msgid "%F%P: failed to create VxWorks dynamic sections\n"
+msgstr "%F%P: fallado al crear secciones dinÃ¡micas VxWorks\n"
+
+#: elfxx-x86.c:2580
+msgid "%F%P: failed to create GOT sections\n"
+msgstr "%F%P: fallado al crear secciÃ³n GOT\n"
+
+#: elfxx-x86.c:2598
+msgid "%F%P: failed to create ifunc sections\n"
+msgstr "%F%P: fallado al crear secciÃ³n ifunc\n"
+
+#: elfxx-x86.c:2639
+msgid "%F%P: failed to create GOT PLT section\n"
+msgstr "%F%P: fallado al crear secciÃ³n GOT PLT\n"
+
+#: elfxx-x86.c:2660
+msgid "%F%P: failed to create IBT-enabled PLT section\n"
+msgstr "%F%P: fallado al crear secciÃ³n PLT IBT-activo\n"
+
+#: elfxx-x86.c:2675
+msgid "%F%P: failed to create BND PLT section\n"
+msgstr "%F%P: fallado al crear secciÃ³n BND PLT\n"
+
+#: elfxx-x86.c:2696
+msgid "%F%P: failed to create PLT .eh_frame section\n"
+msgstr "%F%P: fallado al crear secciÃ³n PLT .eh_frame\n"
+
+#: elfxx-x86.c:2709
+msgid "%F%P: failed to create GOT PLT .eh_frame section\n"
+msgstr "%F%P: fallado al crear secciÃ³n GOT PLT .eh_frame\n"
+
+#: elfxx-x86.c:2723
+msgid "%F%P: failed to create the second PLT .eh_frame section\n"
+msgstr "%F%P: fallado al crear secciÃ³n PLT .eh_frame\n"
+
+#: i386linux.c:416 m68klinux.c:419 sparclinux.c:412
 #, c-format
 msgid "Output file requires shared library `%s'\n"
-msgstr "El fichero de salida requiere la biblioteca compartida `%s'\n"
+msgstr "El fichero de salida requiere la biblioteca compartida Â«%sÂ»\n"
 
-#: i386linux.c:459 m68klinux.c:464 sparclinux.c:458
+#: i386linux.c:424 m68klinux.c:428 sparclinux.c:421
 #, c-format
 msgid "Output file requires shared library `%s.so.%s'\n"
-msgstr "El fichero de salida requiere la biblioteca compartida `%s.so.%s'\n"
+msgstr "El fichero de salida requiere la biblioteca compartida Â«%s.so.%sÂ»\n"
 
-#: i386linux.c:648 i386linux.c:698 m68klinux.c:656 m68klinux.c:704
-#: sparclinux.c:648 sparclinux.c:698
+#: i386linux.c:611 i386linux.c:661 m68klinux.c:617 m68klinux.c:665
+#: sparclinux.c:608 sparclinux.c:658
 #, c-format
 msgid "Symbol %s not defined for fixups\n"
 msgstr "El sÃ­mbolo %s no estÃ¡ definido para composturas\n"
 
-#: i386linux.c:722 m68klinux.c:728 sparclinux.c:722
+#: i386linux.c:685 m68klinux.c:689 sparclinux.c:682
 msgid "Warning: fixup count mismatch\n"
 msgstr "Aviso: no coincide la cuenta de composturas\n"
 
 #: ieee.c:159
 #, c-format
-msgid "%s: string too long (%d chars, max 65535)"
-msgstr "%s: la cadena es demasiado larga (%d caracteres, mÃ¡ximo 65535)"
+msgid "%B: string too long (%ld chars, max 65535)"
+msgstr "%B: cadena muy larga (%ld caracteres, mÃ¡x 65535)"
+
+#: ieee.c:226
+#, c-format
+msgid "IEEE parser: string length: %#lx longer than buffer: %#lx"
+msgstr "Interpretador IEEE: longitud de cadena textual: %#lx mÃ¡s largo que bÃºfer: %#lx"
 
-#: ieee.c:286
+#: ieee.c:302
 #, c-format
-msgid "%s: unrecognized symbol `%s' flags 0x%x"
-msgstr "%s: no se reconoce el sÃ­mbolo `%s' opciones 0x%x"
+msgid "%B: unrecognized symbol `%s' flags 0x%x"
+msgstr "%B: sÃ­mbolo Â«%sÂ» marcas 0x%x no reconocido"
 
-#: ieee.c:792
+#: ieee.c:837
+#, c-format
 msgid "%B: unimplemented ATI record %u for symbol %u"
-msgstr "%B: grabaciÃ³n ATI %u sin implementar para el sÃ­mbolo %u"
+msgstr "%B: registro ATI %u sin implementar para el sÃ­mbolo %u"
 
-#: ieee.c:816
-msgid "%B: unexpected ATN type %d in external part"
-msgstr "%B: tipo ATN %d inesperado en la parte externa"
+#: ieee.c:862
+#, c-format
+msgid "%B: unexpected ATN type %Ld in external part"
+msgstr "%B: tipo ATN %Ld inesperado en la parte externa"
 
-#: ieee.c:838
+#: ieee.c:884
 msgid "%B: unexpected type after ATN"
 msgstr "%B: tipo inesperado despuÃ©s de ATN"
 
 #: ihex.c:230
+#, c-format
 msgid "%B:%d: unexpected character `%s' in Intel Hex file"
-msgstr "%B:%d: carÃ¡cter `%s' inesperado en el fichero Hexadecimal de Intel"
+msgstr "%B:%d: carÃ¡cter Â«%sÂ» inesperado en el fichero Hex Intel"
 
-#: ihex.c:337
+#: ihex.c:338
+#, c-format
 msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)"
-msgstr "%B:%u: suma de comprobaciÃ³n errÃ³nea en el fichero Hexadecimal de Intel (se esperaba %u, se obtuvo %u)"
+msgstr "%B:%u: equivocaciÃ³n de comprobaciÃ³n sumatoria en el fichero Hex Intel (se esperaba %u, se obtuvo %u)"
 
-#: ihex.c:392
+#: ihex.c:394
+#, c-format
 msgid "%B:%u: bad extended address record length in Intel Hex file"
-msgstr "%B:%u: longitud de registro de direcciÃ³n extendida errÃ³nea en el fichero Hexadecimal de Intel"
+msgstr "%B:%u: equivocaciÃ³n de longitud de registro de direcciÃ³n extendida en el fichero Hex Intel"
 
-#: ihex.c:409
+#: ihex.c:412
+#, c-format
 msgid "%B:%u: bad extended start address length in Intel Hex file"
-msgstr "%B:%u: longitud de direcciÃ³n de inicio extendida errÃ³nea en el fichero Hexadecimal de Intel"
+msgstr "%B:%u: equivocaciÃ³n de longitud de direcciÃ³n de inicio extendida en el fichero Hex Intel"
 
-#: ihex.c:426
+#: ihex.c:430
+#, c-format
 msgid "%B:%u: bad extended linear address record length in Intel Hex file"
-msgstr "%B:%u: longitud de registro de direcciÃ³n lineal extendida errÃ³nea en el fichero Hexadecimal de Intel"
+msgstr "%B:%u: equivocaciÃ³n de longitud de registro de direcciÃ³n lineal extendida en el fichero Hex Intel"
 
-#: ihex.c:443
+#: ihex.c:448
+#, c-format
 msgid "%B:%u: bad extended linear start address length in Intel Hex file"
-msgstr "%B:%u: longitud de direcciÃ³n de inicio lineal extendida errÃ³nea en el fichero Hexadecimal de Intel"
+msgstr "%B:%u: equivocaciÃ³n de longitud de direcciÃ³n de inicio lineal extendida en el fichero Hex Intel"
 
-#: ihex.c:460
+#: ihex.c:466
+#, c-format
 msgid "%B:%u: unrecognized ihex type %u in Intel Hex file"
-msgstr "%B:%u: no se reconoce el tipo ihex %u en el fichero Hexadecimal de Intel"
+msgstr "%B:%u: no se reconoce el tipo ihex %u en el fichero Hex Intel"
 
-#: ihex.c:579
+#: ihex.c:585
 msgid "%B: internal error in ihex_read_section"
 msgstr "%B: error interno en ihex_read_section"
 
-#: ihex.c:613
+#: ihex.c:619
 msgid "%B: bad section length in ihex_read_section"
-msgstr "%B: longitud de secciÃ³n errÃ³nea en ihex_read_section"
+msgstr "%B: longitud seccional equivocada en ihex_read_section"
 
-#: ihex.c:826
+#: ihex.c:830
 #, c-format
-msgid "%s: address 0x%s out of range for Intel Hex file"
-msgstr "%s: la direcciÃ³n 0x%s estÃ¡ fuera de rango en el fichero Hexadecimal de Intel"
+msgid "%B: address %#Lx out of range for Intel Hex file"
+msgstr "%B: direcciÃ³n %#Lx estÃ¡ fuera de rango para el fichero Hexadecimal de Intel"
 
-#: libbfd.c:863
+#: libbfd.c:799
+#, c-format
 msgid "%B: unable to get decompressed section %A"
 msgstr "%B: no se puede obtener la secciÃ³n %A descomprimida"
 
-#: libbfd.c:1012
-msgid "%B: compiled for a big endian system and target is little endian"
-msgstr "%B: compilado para un sistema big endian y el objetivo es little endian"
-
-#: libbfd.c:1014
-msgid "%B: compiled for a little endian system and target is big endian"
-msgstr "%B: compilado para un sistema little endian y el objetivo es big endian"
-
-#: libbfd.c:1043
+#: libbfd.c:963
 #, c-format
 msgid "Deprecated %s called at %s line %d in %s\n"
 msgstr "Se llamÃ³ a %s que es obsoleto en %s lÃ­nea %d en %s\n"
 
-#: libbfd.c:1046
+#: libbfd.c:966
 #, c-format
 msgid "Deprecated %s called\n"
 msgstr "Se llamÃ³ a %s que es obsoleto\n"
 
-#: linker.c:1872
+#: linker.c:1678
+#, c-format
 msgid "%B: indirect symbol `%s' to `%s' is a loop"
-msgstr "%B: el sÃ­mbolo indirecto `%s' para `%s' es un ciclo"
+msgstr "%B: el sÃ­mbolo indirecto Â«%sÂ» para Â«%sÂ» es un bucle"
 
-#: linker.c:2736
+#: linker.c:2548
 #, c-format
 msgid "Attempt to do relocatable link with %s input and %s output"
 msgstr "Se intentÃ³ hacer un enlace reubicable con entrada %s y salida %s"
 
-#: linker.c:3021
+#: linker.c:2834
+#, c-format
 msgid "%B: ignoring duplicate section `%A'\n"
 msgstr "%B: se descarta la secciÃ³n duplicada `%A'\n"
 
-#: linker.c:3030 linker.c:3039
+#: linker.c:2844 linker.c:2854
+#, c-format
 msgid "%B: duplicate section `%A' has different size\n"
 msgstr "%B: la secciÃ³n duplicada `%A' tiene tamaÃ±o diferente\n"
 
-#: linker.c:3047 linker.c:3052
+#: linker.c:2863 linker.c:2869
+#, c-format
 msgid "%B: could not read contents of section `%A'\n"
 msgstr "%B: no se puede leer el contenido de la secciÃ³n `%A'\n"
 
-#: linker.c:3056
+#: linker.c:2874
+#, c-format
 msgid "%B: duplicate section `%A' has different contents\n"
 msgstr "%B: la secciÃ³n duplicada `%A' tiene contenido diferente\n"
 
-#: mach-o.c:407
+#: linker.c:3362
+msgid "%B: compiled for a big endian system and target is little endian"
+msgstr "%B: compilado para un sistema big endian y el objetivo es little endian"
+
+#: linker.c:3365
+msgid "%B: compiled for a little endian system and target is big endian"
+msgstr "%B: compilado para un sistema little endian y el objetivo es big endian"
+
+#: mach-o.c:779
 msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
 msgstr "bfd_mach_o_canonicalize_symtab: no se pueden cargar sÃ­mbolos"
 
-#: mach-o.c:1301
-#, c-format
-msgid "unable to write unknown load command 0x%lx"
-msgstr "no se puede escribir la orden load 0x%lx desconocida"
-
-#: mach-o.c:1789
-#, c-format
-msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
-msgstr "bfd_mach_o_read_symtab_symbol: no se pueden leer %d bytes en %lu"
+#: mach-o.c:1981
+msgid "sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands."
+msgstr "disculpe: modtab, toc y extrefsyms aÃºn no estÃ¡n implementados para Ã³rdenes dysymtab."
 
-#: mach-o.c:1807
+#: mach-o.c:2424
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"
-msgstr "bfd_mach_o_read_symtab_symbol: nombre fuera de rango (%lu >= %lu)"
+msgid "mach-o: there are too many sections (%u) maximum is 255,\n"
+msgstr "mach-o: hay demasiadas secciones (%u) mÃ¡ximo es 255.\n"
 
-#: mach-o.c:1892
+#: mach-o.c:2531
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: el sÃ­mbolo \"%s\" especificÃ³ la secciÃ³n invÃ¡lida %d (mÃ¡ximo %lu): se cambia a indefinido"
+msgid "unable to allocate data for load command %#x"
+msgstr "incapaz de ubicar datos para orden de carga %#x"
 
-#: mach-o.c:1900
+#: mach-o.c:2636
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: el sÃ­mbolo \"%s\" no admite la referencia 'indirect': se cambia a indefinido"
+msgid "unable to write unknown load command %#x"
+msgstr "incapaz de escribir orden de carga desconocida %#x"
 
-#: mach-o.c:1906
+#: mach-o.c:2820
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: el sÃ­mbolo \"%s\" especificÃ³ el campo de tipo 0x%x invÃ¡lido: se cambia a indefinido"
+msgid "section address (%#Lx) below start of segment (%#Lx)"
+msgstr "secciÃ³n direccional (%#Lx) bajo inicio de segmento (%#Lx)"
 
-#: mach-o.c:1979
-msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
-msgstr "bfd_mach_o_read_symtab_symbols: no se puede reservar memoria para sÃ­mbolos"
-
-#: mach-o.c:2014
+#: mach-o.c:2961
 #, c-format
-msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
-msgstr "bfd_mach_o_read_dysymtab_symbol: no se pueden leer %lu bytes en %lu"
+msgid "unable to layout unknown load command %#x"
+msgstr "incapaz de distribuir orden de carga desconocida %#x"
 
-#: mach-o.c:2734
+#: mach-o.c:3497
 #, c-format
-msgid "unable to read unknown load command 0x%lx"
-msgstr "no se puede leer la orden load 0x%lx desconocida"
+msgid "bfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 instead"
+msgstr "bfd_mach_o_read_section_32: valor de alineamiento sobrepasado: %#lx, utilizando 32 en su lugar"
 
-#: mach-o.c:2915
+#: mach-o.c:3540
 #, c-format
-msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
-msgstr "bfd_mach_o_scan: arquitectura 0x%lx/0x%lx desconocida"
+msgid "bfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 instead"
+msgstr "bfd_mach_o_read_section_64: valor de alineamiento sobrepasado: %#lx, utilizando 32 en su lugar"
 
-#: mach-o.c:3011
+#: mach-o.c:3591
 #, c-format
-msgid "unknown header byte-order value 0x%lx"
-msgstr "valor de encabezado de orden de byte 0x%lx desconocido"
-
-#: mach-o.c:3577
-msgid "Mach-O header:\n"
-msgstr "encabezado de Mach-O:\n"
+msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %u"
+msgstr "bfd_mach_o_read_symtab_symbol: no se pueden leer %d bytes en %u"
 
-#: mach-o.c:3578
+#: mach-o.c:3610
 #, c-format
-msgid " magic     : %08lx\n"
-msgstr " magic     : %08lx\n"
+msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)"
+msgstr "bfd_mach_o_read_symtab_symbol: nombre fuera de rango (%lu >= %u)"
 
-#: mach-o.c:3579
+#: mach-o.c:3693
 #, c-format
-msgid " cputype   : %08lx (%s)\n"
-msgstr " tipocpu   : %08lx (%s)\n"
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
+msgstr "bfd_mach_o_read_symtab_symbol: el sÃ­mbolo Â«%sÂ» especificÃ³ la secciÃ³n invÃ¡lida %d (mÃ¡ximo %lu): se cambia a indefinido"
 
-#: mach-o.c:3581
+#: mach-o.c:3712
 #, c-format
-msgid " cpusubtype: %08lx\n"
-msgstr " subtipocpu: %08lx\n"
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
+msgstr "bfd_mach_o_read_symtab_symbol: el sÃ­mbolo Â«%sÂ» especificÃ³ el campo de tipo 0x%x invÃ¡lido: se cambia a indefinido"
 
-#: mach-o.c:3582
-#, c-format
-msgid " filetype  : %08lx (%s)\n"
-msgstr " tipofich  : %08lx (%s)\n"
+#: mach-o.c:3789
+msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
+msgstr "bfd_mach_o_read_symtab_symbols: no se puede reservar memoria para sÃ­mbolos"
 
-#: mach-o.c:3585
-#, c-format
-msgid " ncmds     : %08lx (%lu)\n"
-msgstr " nordenes  : %08lx (%lu)\n"
+#: mach-o.c:4762
+msgid "%B: unknown load command %#x"
+msgstr "%B: orden de carga desconocida %#x"
 
-#: mach-o.c:3586
+#: mach-o.c:4953
 #, c-format
-msgid " sizeofcmds: %08lx\n"
-msgstr " tamordenes: %08lx\n"
+msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
+msgstr "bfd_mach_o_scan: arquitectura 0x%lx/0x%lx desconocida"
 
-#: mach-o.c:3587
+#: mach-o.c:5058
 #, c-format
-msgid " flags     : %08lx ("
-msgstr " opciones  : %08lx ("
-
-#: mach-o.c:3589 vms-alpha.c:7674
-msgid ")\n"
-msgstr ")\n"
+msgid "unknown header byte-order value %#x"
+msgstr "valor de encabezado de orden de byte %#x desconocido"
 
-#: mach-o.c:3590
+#: merge.c:868
 #, c-format
-msgid " reserved  : %08x\n"
-msgstr " reservado : %08x\n"
-
-#: mach-o.c:3600
-msgid "Segments and Sections:\n"
-msgstr "Segmentos y Secciones:\n"
+msgid "%B: access beyond end of merged section (%Ld)"
+msgstr "%B: acceso mÃ¡s allÃ¡ de secciÃ³n combinada (%Ld)"
 
-#: mach-o.c:3601
-msgid " #: Segment name     Section name     Address\n"
-msgstr " #: Nombre segmento  Nombre secciÃ³n   DirecciÃ³n\n"
-
-#: merge.c:832
+#: mmo.c:468
 #, c-format
-msgid "%s: access beyond end of merged section (%ld)"
-msgstr "%s: acceso mÃ¡s allÃ¡ del final de la secciÃ³n mezclada (%ld)"
+msgid "%B: No core to allocate section name %s\n"
+msgstr "%B: ningÃºn nÃºcleo para reservar nombre de secciÃ³n %s\n"
 
-#: mmo.c:456
+#: mmo.c:544
 #, c-format
-msgid "%s: No core to allocate section name %s\n"
-msgstr "%s: No hay core para asignar el nombre de secciÃ³n %s\n"
+msgid "%B: No core to allocate a symbol %d bytes long\n"
+msgstr "%B: ningÃºn nÃºcleo para reservar un sÃ­mbolo de %d bytes de longitud\n"
 
-#: mmo.c:531
+#: mmo.c:958
 #, c-format
-msgid "%s: No core to allocate a symbol %d bytes long\n"
-msgstr "%s: No hay core para asignar un sÃ­mbolo de %d bytes de longitud\n"
+msgid "%B: attempt to emit contents at non-multiple-of-4 address %#Lx"
+msgstr "%B: intenta emitir contenidos en direcciÃ³n no mÃºltiplo de 4 %#Lx"
 
-#: mmo.c:1187
-#, c-format
-msgid "%s: invalid mmo file: initialization value for $255 is not `Main'\n"
-msgstr "%s: fichero mmo invÃ¡lido: el valor de iniciaciÃ³n para $255 no es `Main'\n"
+#: mmo.c:1255
+msgid "%B: invalid mmo file: initialization value for $255 is not `Main'\n"
+msgstr "%B: fichero mmo invÃ¡lido: el valor de iniciaciÃ³n para $255 no es `Main'\n"
 
-#: mmo.c:1332
+#: mmo.c:1402
 #, c-format
-msgid "%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
-msgstr "%s: no se admite la secuencia de caracteres anchos 0x%02X 0x%02X despuÃ©s del nombre de sÃ­mbolo que inicia con `%s'\n"
+msgid "%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
+msgstr "%B: secuencia de anchura de carÃ¡cter 0x%02X 0x%02X tras nombre simbÃ³lico iniciada con Â«%sÂ» no admitida\n"
 
-#: mmo.c:1565
+#: mmo.c:1636
 #, c-format
-msgid "%s: invalid mmo file: unsupported lopcode `%d'\n"
-msgstr "%s: fichero mmo invÃ¡lido: no se admite el cÃ³digo de operaciÃ³n-l `%d'\n"
+msgid "%B: invalid mmo file: unsupported lopcode `%d'\n"
+msgstr "%B: fichero mmo invÃ¡lido: cÃ³digo de operaciÃ³n-l `%d' no compatible\n"
 
-#: mmo.c:1575
+#: mmo.c:1647
 #, c-format
-msgid "%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
-msgstr "%s: fichero mmo invÃ¡lido: se esperaba YZ = 1 se obtuvo YZ = %d para lop_quote\n"
+msgid "%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
+msgstr "%B: fichero mmo invÃ¡lido: se esperaba YZ = 1 se obtuvo YZ = %d para lop_quote\n"
 
-#: mmo.c:1611
+#: mmo.c:1685
 #, c-format
-msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
-msgstr "%s: fichero mmo invÃ¡lido: se esperaba z = 1 Ã³ z = 2, se obtuvo z = %d para lop_loc\n"
+msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
+msgstr "%B: fichero mmo invÃ¡lido: se esperaba z = 1 o z = 2, se obtuvo z = %d para lop_loc\n"
 
-#: mmo.c:1657
+#: mmo.c:1736
 #, c-format
-msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
-msgstr "%s: fichero mmo invÃ¡lido: se esperaba z = 1 Ã³ z = 2, se obtuvo z = %d para lop_fixo\n"
+msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
+msgstr "%B: fichero mmo invÃ¡lido: se esperaba z = 1 o z = 2, se obtuvo z = %d para lop_fixo\n"
 
-#: mmo.c:1696
+#: mmo.c:1777
 #, c-format
-msgid "%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
-msgstr "%s: fichero mmo invÃ¡lido: se esperaba y = 0, se obtuvo y = %d para lop_fixrx\n"
+msgid "%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
+msgstr "%B: fichero mmo invÃ¡lido: se esperaba y = 0, se obtuvo y = %d para lop_fixrx\n"
 
-#: mmo.c:1705
+#: mmo.c:1788
 #, c-format
-msgid "%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
-msgstr "%s: fichero mmo invÃ¡lido: se esperaba z = 16 Ã³ z = 24, se obtuvo z = %d para lop_fixrx\n"
+msgid "%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
+msgstr "%B: fichero mmo invÃ¡lido: se esperaba z = 16 o z = 24, se obtuvo z = %d para lop_fixrx\n"
 
-#: mmo.c:1728
+#: mmo.c:1813
 #, c-format
-msgid "%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
-msgstr "%s: fichero mmo invÃ¡lido: el byte inicial del operando word debe ser 0 Ã³ 1, se obtuvo %d para lop_fixrx\n"
+msgid "%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
+msgstr "%B: fichero mmo invÃ¡lido: el byte inicial del operando word debe ser 0 o 1, se obtuvo %d para lop_fixrx\n"
 
-#: mmo.c:1751
+#: mmo.c:1838
 #, c-format
-msgid "%s: cannot allocate file name for file number %d, %d bytes\n"
-msgstr "%s: no se puede asignar el nombre de fichero para el nÃºmero de fichero %d, %d bytes\n"
+msgid "%B: cannot allocate file name for file number %d, %d bytes\n"
+msgstr "%B: no se puede reservar el nombre de fichero para el nÃºmero de fichero %d, %d bytes\n"
 
-#: mmo.c:1771
+#: mmo.c:1860
 #, c-format
-msgid "%s: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
-msgstr "%s: fichero mmo invÃ¡lido: el nÃºmero de fichero %d `%s' ya se habÃ­a introducido como `%s'\n"
+msgid "%B: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
+msgstr "%B: fichero mmo invÃ¡lido: el nÃºmero de fichero %d Â«%sÂ», ya se habÃ­a introducido como Â«%sÂ»\n"
 
-#: mmo.c:1784
+#: mmo.c:1874
 #, c-format
-msgid "%s: invalid mmo file: file name for number %d was not specified before use\n"
-msgstr "%s: fichero mmo invÃ¡lido: no se especificÃ³ un nombre de fichero para el nÃºmero %d antes de utilizarse\n"
+msgid "%B: invalid mmo file: file name for number %d was not specified before use\n"
+msgstr "%B: fichero mmo invÃ¡lido: no se especificÃ³ un nombre de fichero para el nÃºmero %d antes de utilizarse\n"
 
-#: mmo.c:1890
+#: mmo.c:1981
 #, c-format
-msgid "%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
-msgstr "%s: fichero mmo invÃ¡lido: los campos y y z de lop_stab no son cero, y: %d, z: %d\n"
+msgid "%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
+msgstr "%B: fichero mmo invÃ¡lido: campos â€˜yâ€™ y â€˜zâ€™ de lop_stab no cero, y: %d, z: %d\n"
 
-#: mmo.c:1926
+#: mmo.c:2018
 #, c-format
-msgid "%s: invalid mmo file: lop_end not last item in file\n"
-msgstr "%s: fichero mmo invÃ¡lido: lop_end no es el Ãºltimo elemento en el fichero\n"
+msgid "%B: invalid mmo file: lop_end not last item in file\n"
+msgstr "%B: fichero mmo invÃ¡lido: lop_end no es el Ãºltimo elemento en el fichero\n"
 
-#: mmo.c:1939
+#: mmo.c:2032
 #, c-format
-msgid "%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
-msgstr "%s: fichero mmo invÃ¡lido: YZ de lop_end (%ld) no es igual al nÃºmero de tetras del lop_stab precedente (%ld)\n"
+msgid "%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
+msgstr "%B: fichero mmo invÃ¡lido: YZ de lop_end (%ld) no es igual al nÃºmero de tetras al lop_stab precedente (%ld)\n"
 
-#: mmo.c:2649
+#: mmo.c:2743
 #, c-format
-msgid "%s: invalid symbol table: duplicate symbol `%s'\n"
-msgstr "%s: tabla de sÃ­mbolos invÃ¡lida: sÃ­mbolo `%s' duplicado\n"
+msgid "%B: invalid symbol table: duplicate symbol `%s'\n"
+msgstr "%B: segmento simbÃ³lico no vÃ¡lido: sÃ­mbolo duplicado Â«%sÂ»\n"
 
-#: mmo.c:2889
+#: mmo.c:2986
 #, c-format
-msgid "%s: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
-msgstr "%s: DefiniciÃ³n de sÃ­mbolo errÃ³nea: `Main' se estableciÃ³ como %s en lugar de la direcciÃ³n de inicio %s\n"
+msgid "%B: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
+msgstr "%B: DefiniciÃ³n de sÃ­mbolo equivocada: `Main' se estableciÃ³ como %s en lugar de la direcciÃ³n de inicio %s\n"
 
-#: mmo.c:2981
+#: mmo.c:3085
 #, c-format
-msgid "%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.\n"
-msgstr "%s: aviso: la tabla de sÃ­mbolos es demasiado grande para mmo, es mÃ¡s grande que 65535 words de 32-bit: %d. SÃ³lo se emitirÃ¡ `Main'.\n"
+msgid "%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.\n"
+msgstr "%B: aviso: segmento simbÃ³lico es muy grande para mmo, mÃ¡s grande que 65535 words de 32-bit: %d.  Solamente serÃ¡ emitida `Main'.\n"
 
-#: mmo.c:3026
+#: mmo.c:3131
 #, c-format
-msgid "%s: internal error, symbol table changed size from %d to %d words\n"
-msgstr "%s: error interno, la tabla de sÃ­mbolos cambiÃ³ de tamaÃ±o de %d a %d words\n"
+msgid "%B: internal error, symbol table changed size from %d to %d words\n"
+msgstr "%B: error interno, el segmento simbÃ³lico modificÃ³ el tamaÃ±o desde %d hasta %d words\n"
 
-#: mmo.c:3078
+#: mmo.c:3184
 #, c-format
-msgid "%s: internal error, internal register section %s had contents\n"
-msgstr "%s: error interno, la secciÃ³n interna de registros %s tiene contenido\n"
+msgid "%B: internal error, internal register section %A had contents\n"
+msgstr "%B: error interno, secciÃ³n interna registrada %A tuvo contenidos\n"
 
-#: mmo.c:3129
-#, c-format
-msgid "%s: no initialized registers; section length 0\n"
-msgstr "%s: no hay registros iniciados; longitud de secciÃ³n 0\n"
+#: mmo.c:3235
+msgid "%B: no initialized registers; section length 0\n"
+msgstr "%B: sin registros inicializados: longitud seccional 0\n"
 
-#: mmo.c:3135
+#: mmo.c:3242
 #, c-format
-msgid "%s: too many initialized registers; section length %ld\n"
-msgstr "%s: demasiados registros iniciados: longitud de secciÃ³n %ld\n"
+msgid "%B: too many initialized registers; section length %Ld"
+msgstr "%B: demasiados registros iniciados: longitud seccional %Ld"
 
-#: mmo.c:3140
+#: mmo.c:3247
 #, c-format
-msgid "%s: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n"
-msgstr "%s: direcciÃ³n de inicio invÃ¡lida para los registros inicializados de longitud %ld: 0x%lx%08lx\n"
+msgid "%B: invalid start address for initialized registers of length %Ld: %#Lx"
+msgstr "%B: direcciÃ³n de inicio invÃ¡lida para los registros inicializados de longitud %Ld: %#Lx"
 
-#: oasys.c:882
+#: oasys.c:881
 #, c-format
-msgid "%s: can not represent section `%s' in oasys"
-msgstr "%s: no se puede representar la secciÃ³n `%s' en oasys"
+msgid "%B: can not represent section `%A' in oasys"
+msgstr "%B: no se puede representar la secciÃ³n Â«%AÂ» en oasys"
 
-#: osf-core.c:140
+#: osf-core.c:127
 #, c-format
 msgid "Unhandled OSF/1 core file section type %d\n"
-msgstr "Tipo de secciÃ³n de fichero nÃºcleo OSF/1 %d sin manejar\n"
+msgstr "Tipo seccional de fichero nÃºcleo OSF/1 %d sin manipular\n"
 
-#: pe-mips.c:607
+#: pe-mips.c:609
 msgid "%B: `ld -r' not supported with PE MIPS objects\n"
 msgstr "%B: `ld -r' no se admite con objetos PE MIPS\n"
 
@@ -3660,73 +5712,124 @@ msgstr "%B: `ld -r' no se admite con obj
 #. src = VMA of the memory we're fixing up
 #. mem = pointer to memory we're fixing up
 #. val = VMA of what we need to refer to.
-#: pe-mips.c:719
+#: pe-mips.c:720
+#, c-format
 msgid "%B: unimplemented %s\n"
 msgstr "%B: %s sin implementar\n"
 
-#: pe-mips.c:745
+#: pe-mips.c:746
 msgid "%B: jump too far away\n"
-msgstr "%B: salto demasiado lejos\n"
+msgstr "%B: omitir demasiado lejos\n"
 
-#: pe-mips.c:771
+#: pe-mips.c:772
 msgid "%B: bad pair/reflo after refhi\n"
-msgstr "%B: pair/reflo errÃ³neo despuÃ©s de refhi\n"
+msgstr "%B: pair/reflo equivocado tras refhi\n"
 
-#: pef.c:520
+#: pef.c:526
 #, c-format
 msgid "bfd_pef_scan: unknown architecture 0x%lx"
 msgstr "bfd_pef_scan: arquitectura 0x%lx desconocida"
 
-#: pei-x86_64.c:444
+#. PR 17512: file: 2245-7442-0.004.
+#: pei-x86_64.c:281
+#, c-format
+msgid "Unknown: %x"
+msgstr "Desconocido: %x"
+
+#: pei-x86_64.c:331
+#, c-format
+msgid "warning: xdata section corrupt\n"
+msgstr "aviso: secciÃ³n de datos xdata corrupto\n"
+
+#: pei-x86_64.c:341
+#, c-format
+msgid "warning: xdata section corrupt"
+msgstr "aviso: secciÃ³n de datos xdata corrupta"
+
+#: pei-x86_64.c:401
+#, c-format
+msgid "Too many unwind codes (%ld)\n"
+msgstr "Demasiados cÃ³digos unwind (%ld)\n"
+
+#: pei-x86_64.c:491
+#, c-format
+msgid "Warning: %s section size (%ld) is not a multiple of %d\n"
+msgstr ""
+"Aviso: tamaÃ±o de secciÃ³n %s (%ld) no es un mÃºltiplo de %d\n"
+"\n"
+
+#: pei-x86_64.c:498
+#, c-format
+msgid "Warning: %s section size is zero\n"
+msgstr "Aviso: tamaÃ±o seccional %s es cero\n"
+
+#: pei-x86_64.c:513
 #, c-format
-msgid "warning: .pdata section size (%ld) is not a multiple of %d\n"
-msgstr "aviso: el tamaÃ±o de la secciÃ³n .pdata (%ld) no es un mÃºltiplo de %d\n"
+msgid "Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"
+msgstr "Aviso: tamaÃ±o de secciÃ³n %s (%ld) es menor que el tamaÃ±o virtual (%ld)\n"
 
-#: pei-x86_64.c:448 peigen.c:1618 peigen.c:1801 pepigen.c:1618 pepigen.c:1801
-#: pex64igen.c:1618 pex64igen.c:1801
+#: pei-x86_64.c:522
 #, c-format
 msgid ""
 "\n"
-"The Function Table (interpreted .pdata section contents)\n"
+"The Function Table (interpreted %s section contents)\n"
 msgstr ""
 "\n"
-"La Tabla de Funciones (se interpretaron los contenidos de la secciÃ³n .pdata)\n"
+"La Tabla Funcional (se interpretaron %s contenidos de la secciÃ³n)\n"
 
-#: pei-x86_64.c:450
+#: pei-x86_64.c:525
 #, c-format
 msgid "vma:\t\t\tBeginAddress\t EndAddress\t  UnwindData\n"
-msgstr "vma:\t\t\tDireccInicio\t DireccFin \t  InformaciÃ³nDesenvuelta\n"
+msgstr "vma:\t\t\tDireccInicio\t DireccFin \t  DatosDesenvuelta\n"
+
+#: pei-x86_64.c:654
+#, c-format
+msgid ""
+"\n"
+"Dump of %s\n"
+msgstr ""
+"\n"
+"Volcado de %s\n"
 
 #. XXX code yet to be written.
-#: peicode.h:751
+#: peicode.h:775
+#, c-format
 msgid "%B: Unhandled import type; %x"
 msgstr "%B: Tipo de importaciÃ³n sin manejar; %x"
 
-#: peicode.h:756
+#: peicode.h:781
+#, c-format
 msgid "%B: Unrecognised import type; %x"
-msgstr "%B: No se reconocer el tipo de importaciÃ³n; %x"
+msgstr "%B: No se reconoce el tipo de importaciÃ³n; %x"
 
-#: peicode.h:770
+#: peicode.h:796
+#, c-format
 msgid "%B: Unrecognised import name type; %x"
 msgstr "%B: No se reconoce el tipo de nombre de importaciÃ³n; %x"
 
-#: peicode.h:1166
+#: peicode.h:1217
+#, c-format
 msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
 msgstr "%B: No se reconoce el tipo de mÃ¡quina (0x%x) en el archivo de Formato de ImportaciÃ³n de Bibliotecas"
 
-#: peicode.h:1178
+#: peicode.h:1230
+#, c-format
 msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive"
-msgstr "%B: Se reconoce el tipo de mÃ¡quina (0x%x) pero no se maneja en el archivo de Formato de ImportaciÃ³n de Bibliotecas"
+msgstr "%B: Se reconoce el tipo de mÃ¡quina (0x%x) pero no se manipula en el archivo de Formato de ImportaciÃ³n de Bibliotecas"
 
-#: peicode.h:1196
+#: peicode.h:1248
 msgid "%B: size field is zero in Import Library Format header"
 msgstr "%B: el tamaÃ±o del campo es cero en el encabezado del Formato de ImportaciÃ³n de Bibliotecas"
 
-#: peicode.h:1227
+#: peicode.h:1280
 msgid "%B: string not null terminated in ILF object file."
 msgstr "%B: cadena que no termina en null en el fichero objeto ILF."
 
-#: ppcboot.c:414
+#: peicode.h:1335
+msgid "%B: Error: Debug Data ends beyond end of debug directory."
+msgstr "%B: Error: Depura Datos finales mÃ¡s allÃ¡ del final del directorio depurante."
+
+#: ppcboot.c:393
 #, c-format
 msgid ""
 "\n"
@@ -3735,60 +5838,85 @@ msgstr ""
 "\n"
 "encabezado de ppcboot:\n"
 
-#: ppcboot.c:415
+#: ppcboot.c:394
 #, c-format
 msgid "Entry offset        = 0x%.8lx (%ld)\n"
 msgstr "Desplazamiento de entrada = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:417
+#: ppcboot.c:396
 #, c-format
 msgid "Length              = 0x%.8lx (%ld)\n"
 msgstr "Longitud                  = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:421
+#: ppcboot.c:400
 #, c-format
 msgid "Flag field          = 0x%.2x\n"
 msgstr "Campo de opciones         = 0x%.2x\n"
 
-#: ppcboot.c:427
+#: ppcboot.c:406
 #, c-format
 msgid "Partition name      = \"%s\"\n"
-msgstr "Nombre de la particiÃ³n    = \"%s\"\n"
+msgstr "Nombre de la particiÃ³n    = Â«%sÂ»\n"
 
-#: ppcboot.c:446
+#: ppcboot.c:426
 #, c-format
 msgid ""
 "\n"
 "Partition[%d] start  = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 msgstr ""
 "\n"
-"ParticiÃ³n[%d] inicio = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
+"ParticiÃ³n[%d] inicio  = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 
-#: ppcboot.c:452
+#: ppcboot.c:433
 #, c-format
 msgid "Partition[%d] end    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 msgstr "ParticiÃ³n[%d] fin    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 
-#: ppcboot.c:458
+#: ppcboot.c:440
 #, c-format
 msgid "Partition[%d] sector = 0x%.8lx (%ld)\n"
 msgstr "ParticiÃ³n[%d] sector = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:460
+#: ppcboot.c:444
 #, c-format
 msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
 msgstr "ParticiÃ³n[%d] longitud = 0x%.8lx (%ld)\n"
 
-#: reloc.c:6160
+#: reloc.c:8106
 msgid "INPUT_SECTION_FLAGS are not supported.\n"
 msgstr "No se admite INPUT_SECTION_FLAGS.\n"
 
-#: rs6000-core.c:448
+#: reloc.c:8207
+#, c-format
+msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n"
+msgstr "%X%P: %B(%A): error: reubicaciÃ³n para desplazamiento %V no tiene ningÃºn valor\n"
+
+#: reloc.c:8283
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n"
+msgstr "%X%P: %B(%A): reubicaciÃ³n Â«%RÂ» no estÃ¡ soportado\n"
+
+#: reloc.c:8292
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"
+msgstr "%X%P: %B(%A): reubicaciÃ³n Â«%RÂ» devuelve un valor no reconocido %x\n"
+
+#: reloc.c:8354
+#, c-format
+msgid "%B: unrecognized relocation (%#x) in section `%A'"
+msgstr "%B: reubicaciÃ³n no reconocida (%#x) en la secciÃ³n Â«%AÂ»"
+
+#. PR 21803: Suggest the most likely cause of this error.
+#: reloc.c:8358
 #, c-format
-msgid "%s: warning core file truncated"
-msgstr "%s: aviso de fichero core trunco"
+msgid "Is this version of the linker - %s - out of date ?"
+msgstr "Â¿Es esta versiÃ³n del enlazador - %s - fuera de fecha ?"
+
+#: rs6000-core.c:471
+msgid "%B: warning core file truncated"
+msgstr "%B: aviso de fichero core truncado"
 
-#: som.c:5471
+#: som.c:5478
 #, c-format
 msgid ""
 "\n"
@@ -3797,52 +5925,97 @@ msgstr ""
 "\n"
 "Encabezado Auxiliar de EjecuciÃ³n\n"
 
-#: som.c:5776
+#: som.c:5787
 msgid "som_sizeof_headers unimplemented"
 msgstr "som_sizeof_headers sin implementar"
 
-#: srec.c:261
+#: srec.c:260
+#, c-format
 msgid "%B:%d: Unexpected character `%s' in S-record file\n"
-msgstr "%B:%d: CarÃ¡cter `%s' inesperado en el fichero S-record\n"
+msgstr "%B:%d: CarÃ¡cter Â«%sÂ» inesperado en el fichero S-record\n"
+
+#: srec.c:488
+#, c-format
+msgid "%B:%d: byte count %d too small\n"
+msgstr "%B:%d: contador de byte %d demasiado pequeÃ±o\n"
 
-#: srec.c:567 srec.c:600
+#: srec.c:581 srec.c:615
+#, c-format
 msgid "%B:%d: Bad checksum in S-record file\n"
-msgstr "%B:%d: Suma de comprobaciÃ³n errÃ³nea en el fichero S-record\n"
+msgstr "%B:%d: EquivocaciÃ³n de suma comprobante en el fichero S-record\n"
 
 #: stabs.c:279
-msgid "%B(%A+0x%lx): Stabs entry has invalid string index."
-msgstr "%B(%A+0x%lx): La entrada de cabos tiene una cadena Ã­ndice invÃ¡lida."
+#, c-format
+msgid "%B(%A+%#lx): Stabs entry has invalid string index."
+msgstr "%B(%A+%#lx): Entrada de cabos tiene cadena indexada."
 
 #: syms.c:1079
 msgid "Unsupported .stab relocation"
 msgstr "No se admite la reubicaciÃ³n .stab"
 
-#: vms-alpha.c:1299
+#: vms-alpha.c:479
+msgid "Corrupt EIHD record - size is too small"
+msgstr "Registro corrupto EIHD - tamaÃ±o es demasiado pequeÃ±o"
+
+#: vms-alpha.c:660
+#, c-format
+msgid "Unable to read EIHS record at offset %#x"
+msgstr "Incapaz de leer registro EIHS en desplazamiento %#x"
+
+#: vms-alpha.c:1172
+#, c-format
+msgid "Corrupt EGSD record: its size (%#x) is too small"
+msgstr "Registro corrupto EGSD: su tamaÃ±o (%#x) es demasiado pequeÃ±o"
+
+#: vms-alpha.c:1196
+#, c-format
+msgid "Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
+msgstr "Registro corrupto EGSD: tamaÃ±o (%#x) es mayor que el espacio restante (%#x)"
+
+#: vms-alpha.c:1204
+#, c-format
+msgid "Corrupt EGSD record: size (%#x) is too small"
+msgstr "Registro corrupto EGSD: tamaÃ±o (%#x) es demasiado pequeÃ±o"
+
+#: vms-alpha.c:1333 vms-alpha.c:1349 vms-alpha.c:1389
+#, c-format
+msgid "Corrupt EGSD record: its psindx field is too big (%#lx)"
+msgstr "Registro corrupto EGSD: su campo â€˜psindxâ€™ es demasiado grande (%#lx)"
+
+#: vms-alpha.c:1418
 #, c-format
 msgid "Unknown EGSD subtype %d"
 msgstr "Subtipo de EGSD %d desconocido"
 
-#: vms-alpha.c:1330
+#: vms-alpha.c:1451
 #, c-format
 msgid "Stack overflow (%d) in _bfd_vms_push"
-msgstr "Desbordamiento de la pila (%d) en _bfd_vms_push"
+msgstr "Pila desbordada superior (%d) en _bfd_vms_push"
 
-#: vms-alpha.c:1343
+#: vms-alpha.c:1464
 msgid "Stack underflow in _bfd_vms_pop"
-msgstr "Desbordamiento por debajo de la pila en _bfd_vms_pop"
+msgstr "Pila desbordada inferior en _bfd_vms_pop"
 
 #. These names have not yet been added to this switch statement.
-#: vms-alpha.c:1580
+#: vms-alpha.c:1706
 #, c-format
 msgid "unknown ETIR command %d"
 msgstr "orden ETIR %d desconocida"
 
-#: vms-alpha.c:1767
+#: vms-alpha.c:1737
+msgid "Corrupt vms value"
+msgstr "Valor vms corrupto"
+
+#: vms-alpha.c:1865
+msgid "Corrupt ETIR record encountered"
+msgstr "Encontrado registro ETIR corrupto"
+
+#: vms-alpha.c:1922
 #, c-format
 msgid "bad section index in %s"
-msgstr "Ã­ndice de secciÃ³n errÃ³neo en %s"
+msgstr "Ã­ndice seccional equivocado en %s"
 
-#: vms-alpha.c:1780
+#: vms-alpha.c:1935
 #, c-format
 msgid "unsupported STA cmd %s"
 msgstr "no se admite la orden STA %s"
@@ -3852,1393 +6025,1499 @@ msgstr "no se admite la orden STA %s"
 #. Rotate.
 #. Redefine symbol to current location.
 #. Define a literal.
-#: vms-alpha.c:1956 vms-alpha.c:1987 vms-alpha.c:2234
+#: vms-alpha.c:2115 vms-alpha.c:2146 vms-alpha.c:2237 vms-alpha.c:2395
 #, c-format
 msgid "%s: not supported"
 msgstr "%s: no se admite"
 
-#: vms-alpha.c:1962
+#: vms-alpha.c:2121
 #, c-format
 msgid "%s: not implemented"
 msgstr "%s: sin implementar"
 
-#: vms-alpha.c:2218
+#: vms-alpha.c:2379
 #, c-format
 msgid "invalid use of %s with contexts"
 msgstr "uso invÃ¡lido de %s en contextos"
 
-#: vms-alpha.c:2252
+#: vms-alpha.c:2413
 #, c-format
 msgid "reserved cmd %d"
 msgstr "orden %d reservada"
 
-#: vms-alpha.c:2337
+#: vms-alpha.c:2497
+msgid "Corrupt EEOM record - size is too small"
+msgstr "Registro corrupto EEOM - tamaÃ±o es demasiado pequeÃ±o"
+
+#: vms-alpha.c:2506
 msgid "Object module NOT error-free !\n"
 msgstr "Â¡ El mÃ³dulo objeto NO estÃ¡ libre de errores !\n"
 
-#: vms-alpha.c:2766
+#: vms-alpha.c:3830
 #, c-format
-msgid "Symbol %s replaced by %s\n"
-msgstr "Se reemplazÃ³ el sÃ­mbolo %s por %s\n"
+msgid "SEC_RELOC with no relocs in section %A"
+msgstr "SEC_RELOC con ninguna reubicaciÃ³n en secciÃ³n %A"
 
-#: vms-alpha.c:3769
+#: vms-alpha.c:3882 vms-alpha.c:4095
 #, c-format
-msgid "SEC_RELOC with no relocs in section %s"
-msgstr "SEC_RELOC sin reubicaciones en la secciÃ³n %s"
+msgid "Size error in section %A"
+msgstr "TamaÃ±o errÃ³neo en secciÃ³n %A"
 
-#: vms-alpha.c:3822 vms-alpha.c:4049
-#, c-format
-msgid "Size error in section %s"
-msgstr "Error de tamaÃ±o en la secciÃ³n %s"
-
-#: vms-alpha.c:3991
+#: vms-alpha.c:4041
 msgid "Spurious ALPHA_R_BSR reloc"
 msgstr "ReubicaciÃ³n ALPHA_R_BSR espuria"
 
-#: vms-alpha.c:4036
+#: vms-alpha.c:4082
 #, c-format
 msgid "Unhandled relocation %s"
-msgstr "ReubicaciÃ³n %s sin manejar"
+msgstr "ReubicaciÃ³n %s sin manipular"
 
-#: vms-alpha.c:4326
+#: vms-alpha.c:4375
 #, c-format
 msgid "unknown source command %d"
 msgstr "orden fuente %d desconocida"
 
-#: vms-alpha.c:4387
+#: vms-alpha.c:4436
 msgid "DST__K_SET_LINUM_INCR not implemented"
-msgstr "DST__K_SET_LINUM_INCR sin implementar"
+msgstr "DST__K_SET_LINUM_INCR no implementado"
 
-#: vms-alpha.c:4393
+#: vms-alpha.c:4442
 msgid "DST__K_SET_LINUM_INCR_W not implemented"
-msgstr "DST__K_SET_LINUM_INCR_W sin implementar"
+msgstr "DST__K_SET_LINUM_INCR_W no implementado"
 
-#: vms-alpha.c:4399
+#: vms-alpha.c:4448
 msgid "DST__K_RESET_LINUM_INCR not implemented"
-msgstr "DST__K_RESET_LINUM_INCR sin implementar"
+msgstr "DST__K_RESET_LINUM_INCR no implementado"
 
-#: vms-alpha.c:4405
+#: vms-alpha.c:4454
 msgid "DST__K_BEG_STMT_MODE not implemented"
-msgstr "DST__K_BEG_STMT_MODE sin implementar"
+msgstr "DST__K_BEG_STMT_MODE no implementado"
 
-#: vms-alpha.c:4411
+#: vms-alpha.c:4460
 msgid "DST__K_END_STMT_MODE not implemented"
-msgstr "DST__K_END_STMT_MODE sin implementar"
+msgstr "DST__K_END_STMT_MODE no implementado"
 
-#: vms-alpha.c:4438
+#: vms-alpha.c:4487
 msgid "DST__K_SET_PC not implemented"
-msgstr "DST__K_SET_PC sin implementar"
+msgstr "DST__K_SET_PC no implementado"
 
-#: vms-alpha.c:4444
+#: vms-alpha.c:4493
 msgid "DST__K_SET_PC_W not implemented"
-msgstr "DST__K_SET_PC_W sin implementar"
+msgstr "DST__K_SET_PC_W no implementado"
 
-#: vms-alpha.c:4450
+#: vms-alpha.c:4499
 msgid "DST__K_SET_PC_L not implemented"
-msgstr "DST__K_SET_PC_L sin implementar"
+msgstr "DST__K_SET_PC_L no implementado"
 
-#: vms-alpha.c:4456
+#: vms-alpha.c:4505
 msgid "DST__K_SET_STMTNUM not implemented"
-msgstr "DST__K_SET_STMTNUM sin implementar"
+msgstr "DST__K_SET_STMTNUM no implementado"
 
-#: vms-alpha.c:4499
+#: vms-alpha.c:4548
 #, c-format
 msgid "unknown line command %d"
 msgstr "orden de lÃ­nea %d desconocida"
 
-#: vms-alpha.c:4953 vms-alpha.c:4970 vms-alpha.c:4984 vms-alpha.c:4999
-#: vms-alpha.c:5011 vms-alpha.c:5022 vms-alpha.c:5034
+#: vms-alpha.c:5008 vms-alpha.c:5026 vms-alpha.c:5041 vms-alpha.c:5057
+#: vms-alpha.c:5070 vms-alpha.c:5082 vms-alpha.c:5095
 #, c-format
 msgid "Unknown reloc %s + %s"
 msgstr "ReubicaciÃ³n %s + %s desconocida"
 
-#: vms-alpha.c:5089
+#: vms-alpha.c:5150
 #, c-format
 msgid "Unknown reloc %s"
 msgstr "ReubicaciÃ³n %s desconocida"
 
-#: vms-alpha.c:5102
+#: vms-alpha.c:5163
 msgid "Invalid section index in ETIR"
-msgstr "Ã�ndice de secciÃ³n invÃ¡lido en ETIR"
+msgstr "Ã�ndice seccional invÃ¡lido en ETIR"
 
-#: vms-alpha.c:5109
+#: vms-alpha.c:5172
 msgid "Relocation for non-REL psect"
-msgstr "ReubicaciÃ³n para psect que no es REL"
+msgstr "ReubicaciÃ³n para psect que no-REL"
 
-#: vms-alpha.c:5156
+#: vms-alpha.c:5219
 #, c-format
 msgid "Unknown symbol in command %s"
 msgstr "SÃ­mbolo desconocido en la orden %s"
 
-#: vms-alpha.c:5671
+#: vms-alpha.c:5629
+#, c-format
+msgid "reloc (%d) is *UNKNOWN*"
+msgstr "reub (%d) es *DESCONOCIDA*"
+
+#: vms-alpha.c:5745
 #, c-format
 msgid "  EMH %u (len=%u): "
 msgstr "  EMH %u (lon=%u): "
 
-#: vms-alpha.c:5680
+#: vms-alpha.c:5750
+#, c-format
+msgid "   Error: The length is less than the length of an EMH record\n"
+msgstr "   Error: la longitud es menor que la longitud de un registro EMH\n"
+
+#: vms-alpha.c:5767
+#, c-format
+msgid "   Error: The record length is less than the size of an EMH_MHD record\n"
+msgstr "   Error: La longitud del registro es menor que el tamaÃ±o de un registro EMH_MHD\n"
+
+#: vms-alpha.c:5770
 #, c-format
 msgid "Module header\n"
 msgstr "Encabezado de mÃ³dulo\n"
 
-#: vms-alpha.c:5681
+#: vms-alpha.c:5771
 #, c-format
 msgid "   structure level: %u\n"
 msgstr "   nivel estruct  : %u\n"
 
-#: vms-alpha.c:5682
+#: vms-alpha.c:5772
 #, c-format
 msgid "   max record size: %u\n"
 msgstr "   tam reg mÃ¡ximo : %u\n"
 
-#: vms-alpha.c:5685
+#: vms-alpha.c:5778
+#, c-format
+msgid "   Error: The module name is missing\n"
+msgstr "   Error: el nombre del mÃ³dulo estÃ¡ ausente\n"
+
+#: vms-alpha.c:5784
+#, c-format
+msgid "   Error: The module name is too long\n"
+msgstr "   Error: el nombre de mÃ³dulo es demasiado largo\n"
+
+#: vms-alpha.c:5787
 #, c-format
 msgid "   module name    : %.*s\n"
 msgstr "   nombre mÃ³dulo  : %.*s\n"
 
-#: vms-alpha.c:5687
+#: vms-alpha.c:5791
+#, c-format
+msgid "   Error: The module version is missing\n"
+msgstr "   Error: la versiÃ³n de mÃ³dulo estÃ¡ faltando\n"
+
+#: vms-alpha.c:5797
+#, c-format
+msgid "   Error: The module version is too long\n"
+msgstr "   Error: la versiÃ³n del mÃ³dulo es demasiado largo\n"
+
+#: vms-alpha.c:5800
 #, c-format
 msgid "   module version : %.*s\n"
 msgstr "   versiÃ³n mÃ³dulo : %.*s\n"
 
-#: vms-alpha.c:5689
+#: vms-alpha.c:5803
+#, c-format
+msgid "   Error: The compile date is truncated\n"
+msgstr "   Error: la fecha de compilaciÃ³n estÃ¡ truncada\n"
+
+#: vms-alpha.c:5805
 #, c-format
 msgid "   compile date   : %.17s\n"
 msgstr "   fecha compil   : %.17s\n"
 
-#: vms-alpha.c:5694
+#: vms-alpha.c:5810
 #, c-format
 msgid "Language Processor Name\n"
 msgstr "Nombre de Procesador de Lenguaje\n"
 
-#: vms-alpha.c:5695
+#: vms-alpha.c:5811
 #, c-format
 msgid "   language name: %.*s\n"
 msgstr "   nombre lenguaje: %.*s\n"
 
-#: vms-alpha.c:5702
+#: vms-alpha.c:5815
 #, c-format
 msgid "Source Files Header\n"
 msgstr "Encabezado de Ficheros Fuente\n"
 
-#: vms-alpha.c:5703
+#: vms-alpha.c:5816
 #, c-format
 msgid "   file: %.*s\n"
 msgstr "   fichero: %.*s\n"
 
-#: vms-alpha.c:5710
+#: vms-alpha.c:5820
 #, c-format
 msgid "Title Text Header\n"
 msgstr "Encabezado de Texto de TÃ­tulo\n"
 
-#: vms-alpha.c:5711
+#: vms-alpha.c:5821
 #, c-format
 msgid "   title: %.*s\n"
 msgstr "   tÃ­tulo: %.*s\n"
 
-#: vms-alpha.c:5718
+#: vms-alpha.c:5825
 #, c-format
 msgid "Copyright Header\n"
-msgstr "Encabezado de Copyright\n"
+msgstr "Encabezado Copyright\n"
 
-#: vms-alpha.c:5719
+#: vms-alpha.c:5826
 #, c-format
 msgid "   copyright: %.*s\n"
 msgstr "   copyright: %.*s\n"
 
-#: vms-alpha.c:5725
+#: vms-alpha.c:5830
 #, c-format
 msgid "unhandled emh subtype %u\n"
-msgstr "subtipo emh %u sin manejar\n"
+msgstr "subtipo emh %u sin manipular\n"
 
-#: vms-alpha.c:5735
+#: vms-alpha.c:5840
 #, c-format
 msgid "  EEOM (len=%u):\n"
 msgstr "  EEOM (lon=%u):\n"
 
-#: vms-alpha.c:5736
+#: vms-alpha.c:5845
+#, c-format
+msgid "   Error: The length is less than the length of an EEOM record\n"
+msgstr "   Error: la longitud es menor que la longitud de un registro EEOM\n"
+
+#: vms-alpha.c:5849
 #, c-format
 msgid "   number of cond linkage pairs: %u\n"
 msgstr "   nÃºmero de pares de enlace cond: %u\n"
 
-#: vms-alpha.c:5738
+#: vms-alpha.c:5851
 #, c-format
 msgid "   completion code: %u\n"
 msgstr "   cÃ³digo de completado: %u\n"
 
-#: vms-alpha.c:5742
+#: vms-alpha.c:5855
 #, c-format
 msgid "   transfer addr flags: 0x%02x\n"
 msgstr "   ops direcciÃ³n transf: 0x%02x\n"
 
-#: vms-alpha.c:5743
+#: vms-alpha.c:5856
 #, c-format
 msgid "   transfer addr psect: %u\n"
 msgstr "   psect direcciÃ³n transf: %u\n"
 
-#: vms-alpha.c:5745
+#: vms-alpha.c:5858
 #, c-format
 msgid "   transfer address   : 0x%08x\n"
 msgstr "   direcciÃ³n transf   : 0x%08x\n"
 
-#: vms-alpha.c:5754
+#: vms-alpha.c:5867
 msgid " WEAK"
 msgstr " WEAK"
 
-#: vms-alpha.c:5756
+#: vms-alpha.c:5869
 msgid " DEF"
 msgstr " DEF"
 
-#: vms-alpha.c:5758
+#: vms-alpha.c:5871
 msgid " UNI"
 msgstr " UNI"
 
-#: vms-alpha.c:5760 vms-alpha.c:5781
+#: vms-alpha.c:5873 vms-alpha.c:5894
 msgid " REL"
 msgstr " REL"
 
-#: vms-alpha.c:5762
+#: vms-alpha.c:5875
 msgid " COMM"
 msgstr " COMM"
 
-#: vms-alpha.c:5764
+#: vms-alpha.c:5877
 msgid " VECEP"
 msgstr " VECEP"
 
-#: vms-alpha.c:5766
+#: vms-alpha.c:5879
 msgid " NORM"
 msgstr " NORM"
 
-#: vms-alpha.c:5768
+#: vms-alpha.c:5881
 msgid " QVAL"
 msgstr " QVAL"
 
-#: vms-alpha.c:5775
+#: vms-alpha.c:5888
 msgid " PIC"
 msgstr " PIC"
 
-#: vms-alpha.c:5777
+#: vms-alpha.c:5890
 msgid " LIB"
-msgstr " LIB"
+msgstr " BIB"
 
-#: vms-alpha.c:5779
+#: vms-alpha.c:5892
 msgid " OVR"
-msgstr " OVR"
+msgstr " SOB"
 
-#: vms-alpha.c:5783
+#: vms-alpha.c:5896
 msgid " GBL"
 msgstr " GBL"
 
-#: vms-alpha.c:5785
+#: vms-alpha.c:5898
 msgid " SHR"
 msgstr " SHR"
 
-#: vms-alpha.c:5787
+#: vms-alpha.c:5900
 msgid " EXE"
 msgstr " EXE"
 
-#: vms-alpha.c:5789
+#: vms-alpha.c:5902
 msgid " RD"
 msgstr " RD"
 
-#: vms-alpha.c:5791
+#: vms-alpha.c:5904
 msgid " WRT"
 msgstr " WRT"
 
-#: vms-alpha.c:5793
+#: vms-alpha.c:5906
 msgid " VEC"
 msgstr " VEC"
 
-#: vms-alpha.c:5795
+#: vms-alpha.c:5908
 msgid " NOMOD"
 msgstr " NOMOD"
 
-#: vms-alpha.c:5797
+#: vms-alpha.c:5910
 msgid " COM"
 msgstr " COM"
 
-#: vms-alpha.c:5799
+#: vms-alpha.c:5912
 msgid " 64B"
 msgstr " 64B"
 
-#: vms-alpha.c:5808
+#: vms-alpha.c:5921
 #, c-format
 msgid "  EGSD (len=%u):\n"
 msgstr "  EGSD (lon=%u):\n"
 
-#: vms-alpha.c:5820
+#: vms-alpha.c:5934
 #, c-format
 msgid "  EGSD entry %2u (type: %u, len: %u): "
 msgstr " entrada EGSD %2u (tipo: %u, lon: %u): "
 
-#: vms-alpha.c:5832
+#: vms-alpha.c:5940 vms-alpha.c:6191
+#, c-format
+msgid "   Error: length larger than remaining space in record\n"
+msgstr "   Error: longitud mÃ±as larga que espacio restante en registro\n"
+
+#: vms-alpha.c:5952
 #, c-format
 msgid "PSC - Program section definition\n"
-msgstr "PSC - DefiniciÃ³n de secciÃ³n de programa\n"
+msgstr "PSC - DefiniciÃ³n seccional de programa\n"
 
-#: vms-alpha.c:5833 vms-alpha.c:5850
+#: vms-alpha.c:5953 vms-alpha.c:5970
 #, c-format
 msgid "   alignment  : 2**%u\n"
 msgstr "   alineaciÃ³n : 2**%u\n"
 
-#: vms-alpha.c:5834 vms-alpha.c:5851
+#: vms-alpha.c:5954 vms-alpha.c:5971
 #, c-format
 msgid "   flags      : 0x%04x"
 msgstr "   opciones   : 0x%04x"
 
-#: vms-alpha.c:5838
+#: vms-alpha.c:5958
 #, c-format
 msgid "   alloc (len): %u (0x%08x)\n"
 msgstr "   aloj (lon) : %u (0x%08x)\n"
 
-#: vms-alpha.c:5839 vms-alpha.c:5896 vms-alpha.c:5945
+#: vms-alpha.c:5959 vms-alpha.c:6016 vms-alpha.c:6065
 #, c-format
 msgid "   name       : %.*s\n"
 msgstr "   nombre     : %.*s\n"
 
-#: vms-alpha.c:5849
+#: vms-alpha.c:5969
 #, c-format
 msgid "SPSC - Shared Image Program section def\n"
 msgstr "SPSC - def secciÃ³n Programa de Imagen Compartida\n"
 
-#: vms-alpha.c:5855
+#: vms-alpha.c:5975
 #, c-format
 msgid "   alloc (len)   : %u (0x%08x)\n"
 msgstr "   aloj (lon)    : %u (0x%08x)\n"
 
-#: vms-alpha.c:5856
+#: vms-alpha.c:5976
 #, c-format
 msgid "   image offset  : 0x%08x\n"
 msgstr "   despl imagen  : 0x%08x\n"
 
-#: vms-alpha.c:5858
+#: vms-alpha.c:5978
 #, c-format
 msgid "   symvec offset : 0x%08x\n"
 msgstr "   despl symvec  : 0x%08x\n"
 
-#: vms-alpha.c:5860
+#: vms-alpha.c:5980
 #, c-format
 msgid "   name          : %.*s\n"
-msgstr "   name          : %.*s\n"
+msgstr "   nombre        : %.*s\n"
 
-#: vms-alpha.c:5873
+#: vms-alpha.c:5993
 #, c-format
 msgid "SYM - Global symbol definition\n"
 msgstr "SYM - DefiniciÃ³n de sÃ­mbolo global\n"
 
-#: vms-alpha.c:5874 vms-alpha.c:5934 vms-alpha.c:5955 vms-alpha.c:5974
+#: vms-alpha.c:5994 vms-alpha.c:6054 vms-alpha.c:6075 vms-alpha.c:6094
 #, c-format
 msgid "   flags: 0x%04x"
 msgstr "   opciones: 0x%04x"
 
-#: vms-alpha.c:5877
+#: vms-alpha.c:5997
 #, c-format
 msgid "   psect offset: 0x%08x\n"
 msgstr "   despl psect: 0x%08x\n"
 
-#: vms-alpha.c:5881
+#: vms-alpha.c:6001
 #, c-format
 msgid "   code address: 0x%08x\n"
 msgstr "   direcciÃ³n cÃ³digo: 0x%08x\n"
 
-#: vms-alpha.c:5883
+#: vms-alpha.c:6003
 #, c-format
 msgid "   psect index for entry point : %u\n"
-msgstr "   Ã­ndice psect para punto de entrada : %u\n"
+msgstr "   Ã­ndice psect para punto entrante : %u\n"
 
-#: vms-alpha.c:5886 vms-alpha.c:5962 vms-alpha.c:5981
+#: vms-alpha.c:6006 vms-alpha.c:6082 vms-alpha.c:6101
 #, c-format
 msgid "   psect index : %u\n"
 msgstr "   Ã­ndice psect : %u\n"
 
-#: vms-alpha.c:5888 vms-alpha.c:5964 vms-alpha.c:5983
+#: vms-alpha.c:6008 vms-alpha.c:6084 vms-alpha.c:6103
 #, c-format
 msgid "   name        : %.*s\n"
 msgstr "   nombre      : %.*s\n"
 
-#: vms-alpha.c:5895
+#: vms-alpha.c:6015
 #, c-format
 msgid "SYM - Global symbol reference\n"
 msgstr "SYM - Referencia de sÃ­mbolo global\n"
 
-#: vms-alpha.c:5907
+#: vms-alpha.c:6027
 #, c-format
 msgid "IDC - Ident Consistency check\n"
 msgstr "IDC - Revisor de Consistencia de IdentaciÃ³n\n"
 
-#: vms-alpha.c:5908
+#: vms-alpha.c:6028
 #, c-format
 msgid "   flags         : 0x%08x"
 msgstr "   opciones      : 0x%08x"
 
-#: vms-alpha.c:5912
+#: vms-alpha.c:6032
 #, c-format
 msgid "   id match      : %x\n"
 msgstr "   coinc id      : %x\n"
 
-#: vms-alpha.c:5914
+#: vms-alpha.c:6034
 #, c-format
 msgid "   error severity: %x\n"
 msgstr "   severidad err : %x\n"
 
-#: vms-alpha.c:5917
+#: vms-alpha.c:6037
 #, c-format
 msgid "   entity name   : %.*s\n"
 msgstr "   nombre entidad: %.*s\n"
 
-#: vms-alpha.c:5919
+#: vms-alpha.c:6039
 #, c-format
 msgid "   object name   : %.*s\n"
 msgstr "   nombre objeto : %.*s\n"
 
-#: vms-alpha.c:5922
+#: vms-alpha.c:6042
 #, c-format
 msgid "   binary ident  : 0x%08x\n"
 msgstr "   ident binaria : 0x%08x\n"
 
-#: vms-alpha.c:5925
+#: vms-alpha.c:6045
 #, c-format
 msgid "   ascii ident   : %.*s\n"
 msgstr "   ident ascii   : %.*s\n"
 
-#: vms-alpha.c:5933
+#: vms-alpha.c:6053
 #, c-format
 msgid "SYMG - Universal symbol definition\n"
 msgstr "SYMG - DefiniciÃ³n de sÃ­mbolo universal\n"
 
-#: vms-alpha.c:5937
+#: vms-alpha.c:6057
 #, c-format
 msgid "   symbol vector offset: 0x%08x\n"
 msgstr "   despl vector sÃ­mbolo: 0x%08x\n"
 
-#: vms-alpha.c:5939
+#: vms-alpha.c:6059
 #, c-format
 msgid "   entry point: 0x%08x\n"
-msgstr "   punto de entrada: 0x%08x\n"
+msgstr "   punto entrante: 0x%08x\n"
 
-#: vms-alpha.c:5941
+#: vms-alpha.c:6061
 #, c-format
 msgid "   proc descr : 0x%08x\n"
 msgstr "   descr proc : 0x%08x\n"
 
-#: vms-alpha.c:5943
+#: vms-alpha.c:6063
 #, c-format
 msgid "   psect index: %u\n"
 msgstr "   Ã­ndice psect: %u\n"
 
-#: vms-alpha.c:5954
+#: vms-alpha.c:6074
 #, c-format
 msgid "SYMV - Vectored symbol definition\n"
 msgstr "SYMV - DefiniciÃ³n de sÃ­mbolo vectorizado\n"
 
-#: vms-alpha.c:5958
+#: vms-alpha.c:6078
 #, c-format
 msgid "   vector      : 0x%08x\n"
 msgstr "   vector      : 0x%08x\n"
 
-#: vms-alpha.c:5960 vms-alpha.c:5979
+#: vms-alpha.c:6080 vms-alpha.c:6099
 #, c-format
 msgid "   psect offset: %u\n"
 msgstr "   despl psect : %u\n"
 
-#: vms-alpha.c:5973
+#: vms-alpha.c:6093
 #, c-format
 msgid "SYMM - Global symbol definition with version\n"
 msgstr "SYMM - DefiniciÃ³n de sÃ­mbolo global con versiÃ³n\n"
 
-#: vms-alpha.c:5977
+#: vms-alpha.c:6097
 #, c-format
 msgid "   version mask: 0x%08x\n"
-msgstr "   mÃ¡scara versiÃ³n: 0x%08x\n"
+msgstr "   mÃ¡scara ver: 0x%08x\n"
 
-#: vms-alpha.c:5988
+#: vms-alpha.c:6108
 #, c-format
 msgid "unhandled egsd entry type %u\n"
-msgstr "tipo de entrada egsd %u sin manejar\n"
+msgstr "tipo de entrada egsd %u sin manipular\n"
 
-#: vms-alpha.c:6022
+#: vms-alpha.c:6143
 #, c-format
 msgid "    linkage index: %u, replacement insn: 0x%08x\n"
 msgstr "    Ã­ndice enlace: %u, insn reemplazo: 0x%08x\n"
 
-#: vms-alpha.c:6025
+#: vms-alpha.c:6147
 #, c-format
 msgid "    psect idx 1: %u, offset 1: 0x%08x %08x\n"
 msgstr "    ind psect 1: %u, despl 1: 0x%08x %08x\n"
 
-#: vms-alpha.c:6029
+#: vms-alpha.c:6152
 #, c-format
 msgid "    psect idx 2: %u, offset 2: 0x%08x %08x\n"
 msgstr "    ind psect 2: %u, despl 2: 0x%08x %08x\n"
 
-#: vms-alpha.c:6034
+#: vms-alpha.c:6158
 #, c-format
 msgid "    psect idx 3: %u, offset 3: 0x%08x %08x\n"
 msgstr "    ind psect 3: %u, despl 3: 0x%08x %08x\n"
 
-#: vms-alpha.c:6039
+#: vms-alpha.c:6163
 #, c-format
 msgid "    global name: %.*s\n"
 msgstr "    nombre global: %.*s\n"
 
-#: vms-alpha.c:6049
+#: vms-alpha.c:6174
 #, c-format
 msgid "  %s (len=%u+%u):\n"
 msgstr "  %s (lon=%u+%u):\n"
 
-#: vms-alpha.c:6064
+#: vms-alpha.c:6196
 #, c-format
 msgid "   (type: %3u, size: 4+%3u): "
 msgstr "   (tipo: %3u, tam: 4+%3u): "
 
-#: vms-alpha.c:6068
+#: vms-alpha.c:6200
 #, c-format
 msgid "STA_GBL (stack global) %.*s\n"
 msgstr "STA_GBL (pila global) %.*s\n"
 
-#: vms-alpha.c:6072
+#: vms-alpha.c:6204
 #, c-format
 msgid "STA_LW (stack longword) 0x%08x\n"
 msgstr "STA_LW (pila longword) 0x%08x\n"
 
-#: vms-alpha.c:6076
+#: vms-alpha.c:6208
 #, c-format
 msgid "STA_QW (stack quadword) 0x%08x %08x\n"
 msgstr "STA_QW (pila quadword) 0x%08x %08x\n"
 
-#: vms-alpha.c:6081
+#: vms-alpha.c:6213
 #, c-format
 msgid "STA_PQ (stack psect base + offset)\n"
 msgstr "STA_PQ (pila psect base + despl)\n"
 
-#: vms-alpha.c:6082
+#: vms-alpha.c:6215
 #, c-format
 msgid "    psect: %u, offset: 0x%08x %08x\n"
 msgstr "    psect: %u, despl: 0x%08x %08x\n"
 
-#: vms-alpha.c:6088
+#: vms-alpha.c:6221
 #, c-format
 msgid "STA_LI (stack literal)\n"
 msgstr "STA_LI (pila literal)\n"
 
-#: vms-alpha.c:6091
+#: vms-alpha.c:6224
 #, c-format
 msgid "STA_MOD (stack module)\n"
 msgstr "STA_MOD (pila mÃ³dulo)\n"
 
-#: vms-alpha.c:6094
+#: vms-alpha.c:6227
 #, c-format
 msgid "STA_CKARG (compare procedure argument)\n"
 msgstr "STA_CKARG (compara argumentos de procedimientos)\n"
 
-#: vms-alpha.c:6098
+#: vms-alpha.c:6231
 #, c-format
 msgid "STO_B (store byte)\n"
 msgstr "STO_B (almacena byte)\n"
 
-#: vms-alpha.c:6101
+#: vms-alpha.c:6234
 #, c-format
 msgid "STO_W (store word)\n"
 msgstr "STO_W (almacena word)\n"
 
-#: vms-alpha.c:6104
+#: vms-alpha.c:6237
 #, c-format
 msgid "STO_LW (store longword)\n"
 msgstr "STO_LW (almacena longword)\n"
 
-#: vms-alpha.c:6107
+#: vms-alpha.c:6240
 #, c-format
 msgid "STO_QW (store quadword)\n"
 msgstr "STO_QW (almacena quadword)\n"
 
-#: vms-alpha.c:6113
+#: vms-alpha.c:6246
 #, c-format
 msgid "STO_IMMR (store immediate repeat) %u bytes\n"
 msgstr "STO_IMMR (almacena inmediato repetido) %u bytes\n"
 
-#: vms-alpha.c:6120
+#: vms-alpha.c:6253
 #, c-format
 msgid "STO_GBL (store global) %.*s\n"
 msgstr "STO_GBL (almacena global) %.*s\n"
 
-#: vms-alpha.c:6124
+#: vms-alpha.c:6257
 #, c-format
 msgid "STO_CA (store code address) %.*s\n"
 msgstr "STO_CA (almacena direcc cÃ³digo) %.*s\n"
 
-#: vms-alpha.c:6128
+#: vms-alpha.c:6261
 #, c-format
 msgid "STO_RB (store relative branch)\n"
 msgstr "STO_RB (almacena ramif relativa)\n"
 
-#: vms-alpha.c:6131
+#: vms-alpha.c:6264
 #, c-format
 msgid "STO_AB (store absolute branch)\n"
 msgstr "STO_AB (almacena ramif absoluta)\n"
 
-#: vms-alpha.c:6134
+#: vms-alpha.c:6267
 #, c-format
 msgid "STO_OFF (store offset to psect)\n"
 msgstr "STO_OFF (almacena despl para psect)\n"
 
-#: vms-alpha.c:6140
+#: vms-alpha.c:6273
 #, c-format
 msgid "STO_IMM (store immediate) %u bytes\n"
 msgstr "STO_IMM (almacena inmediato) %u bytes\n"
 
-#: vms-alpha.c:6147
+#: vms-alpha.c:6280
 #, c-format
 msgid "STO_GBL_LW (store global longword) %.*s\n"
 msgstr "STO_GBL_LW (almacena global longword) %.*s\n"
 
-#: vms-alpha.c:6151
+#: vms-alpha.c:6284
 #, c-format
 msgid "STO_OFF (store LP with procedure signature)\n"
 msgstr "STO_OFF (almacena LP con firma de procedimiento)\n"
 
-#: vms-alpha.c:6154
+#: vms-alpha.c:6287
 #, c-format
 msgid "STO_BR_GBL (store branch global) *todo*\n"
 msgstr "STO_BR_GBL (almacena ramif global) *pend*\n"
 
-#: vms-alpha.c:6157
+#: vms-alpha.c:6290
 #, c-format
 msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
 msgstr "STO_BR_PS (almacena ramif psect + despl) *pend*\n"
 
-#: vms-alpha.c:6161
+#: vms-alpha.c:6294
 #, c-format
 msgid "OPR_NOP (no-operation)\n"
 msgstr "OPR_NOP (no operaciÃ³n)\n"
 
-#: vms-alpha.c:6164
+#: vms-alpha.c:6297
 #, c-format
 msgid "OPR_ADD (add)\n"
 msgstr "OPR_ADD (adiciÃ³n)\n"
 
-#: vms-alpha.c:6167
+#: vms-alpha.c:6300
 #, c-format
-msgid "OPR_SUB (substract)\n"
-msgstr "OPR_SUB (sustracciÃ³n)\n"
+msgid "OPR_SUB (subtract)\n"
+msgstr "OPR_SUB (subtract)\n"
 
-#: vms-alpha.c:6170
+#: vms-alpha.c:6303
 #, c-format
 msgid "OPR_MUL (multiply)\n"
 msgstr "OPR_MUL (multiplicaciÃ³n)\n"
 
-#: vms-alpha.c:6173
+#: vms-alpha.c:6306
 #, c-format
 msgid "OPR_DIV (divide)\n"
 msgstr "OPR_DIV (divisiÃ³n)\n"
 
-#: vms-alpha.c:6176
+#: vms-alpha.c:6309
 #, c-format
 msgid "OPR_AND (logical and)\n"
-msgstr "OPR_AND (and lÃ³gico)\n"
+msgstr "OPR_AND (y lÃ³gico)\n"
 
-#: vms-alpha.c:6179
+#: vms-alpha.c:6312
 #, c-format
 msgid "OPR_IOR (logical inclusive or)\n"
 msgstr "OPR_IOR (or lÃ³gico inclusivo)\n"
 
-#: vms-alpha.c:6182
+#: vms-alpha.c:6315
 #, c-format
 msgid "OPR_EOR (logical exclusive or)\n"
-msgstr "OPR_EOR (or lÃ³gico exclusivo)\n"
+msgstr "OPR_EOR (o lÃ³gico exclusivo)\n"
 
-#: vms-alpha.c:6185
+#: vms-alpha.c:6318
 #, c-format
 msgid "OPR_NEG (negate)\n"
 msgstr "OPR_NEG (negaciÃ³n)\n"
 
-#: vms-alpha.c:6188
+#: vms-alpha.c:6321
 #, c-format
 msgid "OPR_COM (complement)\n"
 msgstr "OPR_COM (complemento)\n"
 
-#: vms-alpha.c:6191
+#: vms-alpha.c:6324
 #, c-format
 msgid "OPR_INSV (insert field)\n"
 msgstr "OPR_INSV (insertar campo)\n"
 
-#: vms-alpha.c:6194
+#: vms-alpha.c:6327
 #, c-format
 msgid "OPR_ASH (arithmetic shift)\n"
 msgstr "OPR_ASH (despl aritmÃ©tico)\n"
 
-#: vms-alpha.c:6197
+#: vms-alpha.c:6330
 #, c-format
 msgid "OPR_USH (unsigned shift)\n"
 msgstr "OPR_USH (despl sin signo)\n"
 
-#: vms-alpha.c:6200
+#: vms-alpha.c:6333
 #, c-format
 msgid "OPR_ROT (rotate)\n"
 msgstr "OPR_ROT (rotaciÃ³n)\n"
 
-#: vms-alpha.c:6203
+#: vms-alpha.c:6336
 #, c-format
 msgid "OPR_SEL (select)\n"
 msgstr "OPR_SEL (selecciÃ³n)\n"
 
-#: vms-alpha.c:6206
+#: vms-alpha.c:6339
 #, c-format
 msgid "OPR_REDEF (redefine symbol to curr location)\n"
 msgstr "OPR_REDEF (redefine sÃ­mbolo a la ubicaciÃ³n actual)\n"
 
-#: vms-alpha.c:6209
+#: vms-alpha.c:6342
 #, c-format
 msgid "OPR_REDEF (define a literal)\n"
 msgstr "OPR_REDEF (define una literal)\n"
 
-#: vms-alpha.c:6213
+#: vms-alpha.c:6346
 #, c-format
 msgid "STC_LP (store cond linkage pair)\n"
 msgstr "STC_LP (almacena par de enlace cond)\n"
 
-#: vms-alpha.c:6217
+#: vms-alpha.c:6350
 #, c-format
 msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
 msgstr "STC_LP_PSB (almacena par de enlace cond + firma)\n"
 
-#: vms-alpha.c:6218
+#: vms-alpha.c:6352
 #, c-format
 msgid "   linkage index: %u, procedure: %.*s\n"
 msgstr "   Ã­ndice enlace: %u, procedimiento: %.*s\n"
 
-#: vms-alpha.c:6221
+#: vms-alpha.c:6355
 #, c-format
 msgid "   signature: %.*s\n"
 msgstr "   firma: %.*s\n"
 
-#: vms-alpha.c:6224
+#: vms-alpha.c:6358
 #, c-format
 msgid "STC_GBL (store cond global)\n"
 msgstr "STC_GBL (almacena cond global)\n"
 
-#: vms-alpha.c:6225
+#: vms-alpha.c:6360
 #, c-format
 msgid "   linkage index: %u, global: %.*s\n"
 msgstr "   Ã­ndice enlace: %u, global: %.*s\n"
 
-#: vms-alpha.c:6229
+#: vms-alpha.c:6364
 #, c-format
 msgid "STC_GCA (store cond code address)\n"
 msgstr "STC_GCA (almacena direcciÃ³n de cÃ³digo cond)\n"
 
-#: vms-alpha.c:6230
+#: vms-alpha.c:6366
 #, c-format
 msgid "   linkage index: %u, procedure name: %.*s\n"
 msgstr "   Ã­ndice enlace: %u, nombre procedimiento: %.*s\n"
 
-#: vms-alpha.c:6234
+#: vms-alpha.c:6370
 #, c-format
 msgid "STC_PS (store cond psect + offset)\n"
 msgstr "STC_PS (almacena psect cond + despl)\n"
 
-#: vms-alpha.c:6236
+#: vms-alpha.c:6373
 #, c-format
 msgid "   linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
 msgstr "   Ã­ndice enlace: %u, psect: %u, despl: 0x%08x %08x\n"
 
-#: vms-alpha.c:6243
+#: vms-alpha.c:6380
 #, c-format
 msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
 msgstr "STC_NOP_GBL (almacena NOP cond en direcciÃ³n global)\n"
 
-#: vms-alpha.c:6247
+#: vms-alpha.c:6384
 #, c-format
 msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
 msgstr "STC_NOP_PS (almacena NOP cond en psect + despl)\n"
 
-#: vms-alpha.c:6251
+#: vms-alpha.c:6388
 #, c-format
 msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
 msgstr "STC_BSR_GBL (almacena BSR cond en direcciÃ³n global)\n"
 
-#: vms-alpha.c:6255
+#: vms-alpha.c:6392
 #, c-format
 msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
 msgstr "STC_BSR_PS (almacena BSR cond en psect + despl)\n"
 
-#: vms-alpha.c:6259
+#: vms-alpha.c:6396
 #, c-format
 msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
 msgstr "STC_LDA_GBL (almacena LDA cond en direcciÃ³n global)\n"
 
-#: vms-alpha.c:6263
+#: vms-alpha.c:6400
 #, c-format
 msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
 msgstr "STC_LDA_PS (almacena LDA cond en psect + despl)\n"
 
-#: vms-alpha.c:6267
+#: vms-alpha.c:6404
 #, c-format
 msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
 msgstr "STC_BOH_GBL (almacena BOH cond en direcciÃ³n global)\n"
 
-#: vms-alpha.c:6271
+#: vms-alpha.c:6408
 #, c-format
 msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
 msgstr "STC_BOH_PS (almacena BOH cond en psect + despl)\n"
 
-#: vms-alpha.c:6276
+#: vms-alpha.c:6413
 #, c-format
 msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
 msgstr "STC_NBH_GBL (almacena cond o pista en direcciÃ³n global)\n"
 
-#: vms-alpha.c:6280
+#: vms-alpha.c:6417
 #, c-format
 msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
 msgstr "STC_NBH_PS (almacena cond o pista en psect + despl)\n"
 
-#: vms-alpha.c:6284
+#: vms-alpha.c:6421
 #, c-format
 msgid "CTL_SETRB (set relocation base)\n"
 msgstr "CTL_SETRB (define base de reubicaciÃ³n)\n"
 
-#: vms-alpha.c:6290
+#: vms-alpha.c:6427
 #, c-format
 msgid "CTL_AUGRB (augment relocation base) %u\n"
 msgstr "CTL_AUGRB (aumenta base de reubicaciÃ³n) %u\n"
 
-#: vms-alpha.c:6294
+#: vms-alpha.c:6431
 #, c-format
 msgid "CTL_DFLOC (define location)\n"
 msgstr "CTL_DFLOC (define ubicaciÃ³n)\n"
 
-#: vms-alpha.c:6297
+#: vms-alpha.c:6434
 #, c-format
 msgid "CTL_STLOC (set location)\n"
 msgstr "CTL_STLOC (establece ubicaciÃ³n)\n"
 
-#: vms-alpha.c:6300
+#: vms-alpha.c:6437
 #, c-format
 msgid "CTL_STKDL (stack defined location)\n"
 msgstr "CTL_STKDL (ubicaciÃ³n definida de pila)\n"
 
-#: vms-alpha.c:6303 vms-alpha.c:6717
+#: vms-alpha.c:6440 vms-alpha.c:6864 vms-alpha.c:6990
 #, c-format
 msgid "*unhandled*\n"
 msgstr "*sin manejar*\n"
 
-#: vms-alpha.c:6333 vms-alpha.c:6372
+#: vms-alpha.c:6470 vms-alpha.c:6509
 #, c-format
 msgid "cannot read GST record length\n"
 msgstr "no se puede leer la longitud del registro GST\n"
 
 #. Ill-formed.
-#: vms-alpha.c:6354
+#: vms-alpha.c:6491
 #, c-format
 msgid "cannot find EMH in first GST record\n"
 msgstr "no se puede encontrar EMH en el primer registro GST\n"
 
-#: vms-alpha.c:6380
+#: vms-alpha.c:6517
 #, c-format
 msgid "cannot read GST record header\n"
 msgstr "no se puede leer el encabezado del registro GST\n"
 
-#: vms-alpha.c:6393
+#: vms-alpha.c:6530
 #, c-format
 msgid " corrupted GST\n"
 msgstr " GST corrupto\n"
 
-#: vms-alpha.c:6401
+#: vms-alpha.c:6538
 #, c-format
 msgid "cannot read GST record\n"
 msgstr "no se puede leer el registro GST\n"
 
-#: vms-alpha.c:6430
+#: vms-alpha.c:6567
 #, c-format
 msgid " unhandled EOBJ record type %u\n"
 msgstr " tipo de registro EOBJ %u sin manejar\n"
 
-#: vms-alpha.c:6453
+#: vms-alpha.c:6591
 #, c-format
 msgid "  bitcount: %u, base addr: 0x%08x\n"
 msgstr "  cuenta bit: %u, direcc base: 0x%08x\n"
 
-#: vms-alpha.c:6466
+#: vms-alpha.c:6605
 #, c-format
 msgid "   bitmap: 0x%08x (count: %u):\n"
-msgstr "   mapa bit: 0x%08x (cuenta: %u):\n"
+msgstr "   bitdistri: 0x%08x (cuenta: %u):\n"
 
-#: vms-alpha.c:6473
+#: vms-alpha.c:6612
 #, c-format
 msgid " %08x"
 msgstr " %08x"
 
-#: vms-alpha.c:6498
+#: vms-alpha.c:6638
 #, c-format
 msgid "  image %u (%u entries)\n"
-msgstr "  imagen %u (%u entradas)\n"
+msgstr "  imagen %u (%u asientos)\n"
 
-#: vms-alpha.c:6503
+#: vms-alpha.c:6644
 #, c-format
 msgid "   offset: 0x%08x, val: 0x%08x\n"
 msgstr "   despl: 0x%08x, val: 0x%08x\n"
 
-#: vms-alpha.c:6524
+#: vms-alpha.c:6666
 #, c-format
 msgid "  image %u (%u entries), offsets:\n"
-msgstr " imagen %u (%u entradas), desplazamientos:\n"
+msgstr " imagen %u (%u asientos), desplazs.:\n"
 
-#: vms-alpha.c:6531
+#: vms-alpha.c:6673
 #, c-format
 msgid " 0x%08x"
 msgstr " 0x%08x"
 
 #. 64 bits.
-#: vms-alpha.c:6653
+#: vms-alpha.c:6795
 #, c-format
 msgid "64 bits *unhandled*\n"
-msgstr "64 bits *sin manejar*\n"
+msgstr "64 bits *inmanipulado*\n"
 
-#: vms-alpha.c:6657
+#: vms-alpha.c:6800
 #, c-format
 msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
 msgstr "clase: %u, tipod: %u, long: %u, puntero: 0x%08x\n"
 
-#: vms-alpha.c:6668
+#: vms-alpha.c:6811
 #, c-format
 msgid "non-contiguous array of %s\n"
 msgstr "matriz no contigua de %s\n"
 
-#: vms-alpha.c:6672
+#: vms-alpha.c:6816
 #, c-format
 msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
 msgstr "dimct: %u, aops: 0x%02x, dÃ­gitos: %u, escala: %u\n"
 
-#: vms-alpha.c:6676
+#: vms-alpha.c:6821
 #, c-format
 msgid "arsize: %u, a0: 0x%08x\n"
 msgstr "artam: %u, a0: 0x%08x\n"
 
-#: vms-alpha.c:6680
+#: vms-alpha.c:6825
 #, c-format
 msgid "Strides:\n"
 msgstr "Estribos:\n"
 
-#: vms-alpha.c:6685
-#, c-format
-msgid "[%u]: %u\n"
-msgstr "[%u]: %u\n"
-
-#: vms-alpha.c:6690
+#: vms-alpha.c:6835
 #, c-format
 msgid "Bounds:\n"
 msgstr "LÃ­mites:\n"
 
-#: vms-alpha.c:6695
+#: vms-alpha.c:6841
 #, c-format
 msgid "[%u]: Lower: %u, upper: %u\n"
 msgstr "[%u]: Inferior: %u, superior: %u\n"
 
-#: vms-alpha.c:6707
+#: vms-alpha.c:6853
 #, c-format
 msgid "unaligned bit-string of %s\n"
 msgstr "cadena de bit sin alinear de %s\n"
 
-#: vms-alpha.c:6711
+#: vms-alpha.c:6858
 #, c-format
 msgid "base: %u, pos: %u\n"
 msgstr "base: %u, pos: %u\n"
 
-#: vms-alpha.c:6731
+#: vms-alpha.c:6879
 #, c-format
 msgid "vflags: 0x%02x, value: 0x%08x "
 msgstr "vops: 0x%02x, valor: 0x%08x "
 
-#: vms-alpha.c:6737
+#: vms-alpha.c:6885
 #, c-format
 msgid "(no value)\n"
 msgstr "(sin valor)\n"
 
-#: vms-alpha.c:6740
+#: vms-alpha.c:6888
 #, c-format
 msgid "(not active)\n"
 msgstr "(no activo)\n"
 
-#: vms-alpha.c:6743
+#: vms-alpha.c:6891
 #, c-format
 msgid "(not allocated)\n"
-msgstr "(sin ubicar)\n"
+msgstr "(sin ubicado)\n"
 
-#: vms-alpha.c:6746
+#: vms-alpha.c:6894
 #, c-format
 msgid "(descriptor)\n"
 msgstr "(descriptor)\n"
 
-#: vms-alpha.c:6750
+#: vms-alpha.c:6898
 #, c-format
 msgid "(trailing value)\n"
 msgstr "(valor restante)\n"
 
-#: vms-alpha.c:6753
+#: vms-alpha.c:6901
 #, c-format
 msgid "(value spec follows)\n"
 msgstr "(valor spec a continuaciÃ³n)\n"
 
-#: vms-alpha.c:6756
+#: vms-alpha.c:6904
 #, c-format
 msgid "(at bit offset %u)\n"
 msgstr "(en el despl de bit %u)\n"
 
-#: vms-alpha.c:6759
+#: vms-alpha.c:6908
 #, c-format
 msgid "(reg: %u, disp: %u, indir: %u, kind: "
 msgstr "(reg: %u, disp: %u, indir: %u, gÃ©nero: "
 
-#: vms-alpha.c:6766
+#: vms-alpha.c:6915
 msgid "literal"
 msgstr "literal"
 
-#: vms-alpha.c:6769
+#: vms-alpha.c:6918
 msgid "address"
 msgstr "direcciÃ³n"
 
-#: vms-alpha.c:6772
+#: vms-alpha.c:6921
 msgid "desc"
 msgstr "desc"
 
-#: vms-alpha.c:6775
+#: vms-alpha.c:6924
 msgid "reg"
 msgstr "reg"
 
-#: vms-alpha.c:6850
+#: vms-alpha.c:6941
+#, c-format
+msgid "len: %2u, kind: %2u "
+msgstr "lon: %2u, familia: %2u "
+
+#: vms-alpha.c:6947
+#, c-format
+msgid "atomic, type=0x%02x %s\n"
+msgstr "atÃ³mico, tipo=0x%02x %s\n"
+
+#: vms-alpha.c:6951
+#, c-format
+msgid "indirect, defined at 0x%08x\n"
+msgstr "indirecto, definido en 0x%08x\n"
+
+#: vms-alpha.c:6955
+#, c-format
+msgid "typed pointer\n"
+msgstr "puntero tipado\n"
+
+#: vms-alpha.c:6959
+#, c-format
+msgid "pointer\n"
+msgstr "puntero\n"
+
+#: vms-alpha.c:6967
+#, c-format
+msgid "array, dim: %u, bitmap: "
+msgstr "unimatriz, dim: %u, distribuciÃ³n bit: "
+
+#: vms-alpha.c:6974
+#, c-format
+msgid "array descriptor:\n"
+msgstr "descriptor matricial:\n"
+
+#: vms-alpha.c:6981
+#, c-format
+msgid "type spec for element:\n"
+msgstr "tipo especÃ­fico para elemento:\n"
+
+#: vms-alpha.c:6983
+#, c-format
+msgid "type spec for subscript %u:\n"
+msgstr ""
+"tipo especÃ­fico para subcadena %u:\n"
+"\n"
+
+#: vms-alpha.c:7001
 #, c-format
 msgid "Debug symbol table:\n"
-msgstr "Tabla de sÃ­mbolos de depuraciÃ³n:\n"
+msgstr "Tabla simbÃ³lica depurante:\n"
 
-#: vms-alpha.c:6861
+#: vms-alpha.c:7012
 #, c-format
 msgid "cannot read DST header\n"
 msgstr "no se puede leer el encabezado DST\n"
 
-#: vms-alpha.c:6866
+#: vms-alpha.c:7018
 #, c-format
 msgid " type: %3u, len: %3u (at 0x%08x): "
 msgstr " tipo: %3u, lon: %3u (en 0x%08x): "
 
-#: vms-alpha.c:6880
+#: vms-alpha.c:7032
 #, c-format
 msgid "cannot read DST symbol\n"
 msgstr "no se puede leer el sÃ­mbolo DST\n"
 
-#: vms-alpha.c:6923
+#: vms-alpha.c:7075
 #, c-format
 msgid "standard data: %s\n"
-msgstr "datos estÃ¡ndar: %s\n"
+msgstr "datos comunes: %s\n"
 
-#: vms-alpha.c:6926 vms-alpha.c:7010
+#: vms-alpha.c:7078 vms-alpha.c:7166
 #, c-format
 msgid "    name: %.*s\n"
 msgstr "    nombre: %.*s\n"
 
-#: vms-alpha.c:6933
+#: vms-alpha.c:7085
 #, c-format
 msgid "modbeg\n"
 msgstr "modini\n"
 
-#: vms-alpha.c:6934
+#: vms-alpha.c:7087
 #, c-format
 msgid "   flags: %d, language: %u, major: %u, minor: %u\n"
 msgstr "   ops: %d, lenguaje: %u, mayor: %u, menor: %u\n"
 
-#: vms-alpha.c:6940 vms-alpha.c:7206
+#: vms-alpha.c:7093 vms-alpha.c:7367
 #, c-format
 msgid "   module name: %.*s\n"
 msgstr "   nom mÃ³dulo : %.*s\n"
 
-#: vms-alpha.c:6943
+#: vms-alpha.c:7096
 #, c-format
 msgid "   compiler   : %.*s\n"
 msgstr "   compilador : %.*s\n"
 
-#: vms-alpha.c:6948
+#: vms-alpha.c:7101
 #, c-format
 msgid "modend\n"
 msgstr "modfin\n"
 
-#: vms-alpha.c:6955
+#: vms-alpha.c:7108
 msgid "rtnbeg\n"
 msgstr "rtnini\n"
 
-#: vms-alpha.c:6956
+#: vms-alpha.c:7110
 #, c-format
 msgid "    flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
 msgstr "    ops: %u, direcciÃ³n: 0x%08x, direcc-pd: 0x%08x\n"
 
-#: vms-alpha.c:6961
+#: vms-alpha.c:7115
 #, c-format
 msgid "    routine name: %.*s\n"
 msgstr "    nom rutina  : %.*s\n"
 
-#: vms-alpha.c:6969
+#: vms-alpha.c:7123
 #, c-format
 msgid "rtnend: size 0x%08x\n"
 msgstr "rtnfin: tam 0x%08x\n"
 
-#: vms-alpha.c:6977
+#: vms-alpha.c:7131
 #, c-format
 msgid "prolog: bkpt address 0x%08x\n"
 msgstr "prolog: direcciÃ³n bkpt 0x%08x\n"
 
-#: vms-alpha.c:6985
+#: vms-alpha.c:7140
 #, c-format
 msgid "epilog: flags: %u, count: %u\n"
 msgstr "epilog: ops: %u, cuenta: %u\n"
 
-#: vms-alpha.c:6994
+#: vms-alpha.c:7150
 #, c-format
 msgid "blkbeg: address: 0x%08x, name: %.*s\n"
 msgstr "blkini: direcciÃ³n: 0x%08x, nombre: %.*s\n"
 
-#: vms-alpha.c:7003
+#: vms-alpha.c:7159
 #, c-format
 msgid "blkend: size: 0x%08x\n"
 msgstr "blkfin: tam: 0x%08x\n"
 
-#: vms-alpha.c:7009
+#: vms-alpha.c:7165
 #, c-format
 msgid "typspec (len: %u)\n"
 msgstr "espectip (lon: %u)\n"
 
-#: vms-alpha.c:7016
+#: vms-alpha.c:7172
 #, c-format
 msgid "septyp, name: %.*s\n"
 msgstr "septip, nombre: %.*s\n"
 
-#: vms-alpha.c:7025
+#: vms-alpha.c:7181
 #, c-format
 msgid "recbeg: name: %.*s\n"
 msgstr "recini: nombre: %.*s\n"
 
-#: vms-alpha.c:7032
+#: vms-alpha.c:7183
+#, c-format
+msgid "    len: %u bits\n"
+msgstr "    lon: %u bits\n"
+
+#: vms-alpha.c:7188
 #, c-format
 msgid "recend\n"
 msgstr "recfin\n"
 
-#: vms-alpha.c:7035
+#: vms-alpha.c:7192
 #, c-format
 msgid "enumbeg, len: %u, name: %.*s\n"
 msgstr "enuini, lon: %u, nombre: %.*s\n"
 
-#: vms-alpha.c:7039
+#: vms-alpha.c:7196
 #, c-format
 msgid "enumelt, name: %.*s\n"
 msgstr "enufin, nombre: %.*s\n"
 
-#: vms-alpha.c:7043
+#: vms-alpha.c:7200
 #, c-format
 msgid "enumend\n"
 msgstr "enufin\n"
 
-#: vms-alpha.c:7060
+#: vms-alpha.c:7205
+#, c-format
+msgid "label, name: %.*s\n"
+msgstr "etiqueta, nombre: %.*s\n"
+
+#: vms-alpha.c:7207
+#, c-format
+msgid "    address: 0x%08x\n"
+msgstr "    direcciÃ³n: 0x%08x\n"
+
+#: vms-alpha.c:7217
 #, c-format
 msgid "discontiguous range (nbr: %u)\n"
 msgstr "rango discontinuo (nbr: %u)\n"
 
-#: vms-alpha.c:7062
+#: vms-alpha.c:7220
 #, c-format
 msgid "    address: 0x%08x, size: %u\n"
 msgstr "    direcciÃ³n: 0x%08x, tamaÃ±o: %u\n"
 
-#: vms-alpha.c:7072
+#: vms-alpha.c:7230
 #, c-format
 msgid "line num  (len: %u)\n"
 msgstr "num lÃ­nea (lon: %u)\n"
 
-#: vms-alpha.c:7089
+#: vms-alpha.c:7247
 #, c-format
 msgid "delta_pc_w %u\n"
 msgstr "delta_pc_w %u\n"
 
-#: vms-alpha.c:7096
+#: vms-alpha.c:7254
 #, c-format
 msgid "incr_linum(b): +%u\n"
 msgstr "incr_linum(b): +%u\n"
 
-#: vms-alpha.c:7102
+#: vms-alpha.c:7260
 #, c-format
 msgid "incr_linum_w: +%u\n"
 msgstr "incr_linum_w: +%u\n"
 
-#: vms-alpha.c:7108
+#: vms-alpha.c:7266
 #, c-format
 msgid "incr_linum_l: +%u\n"
 msgstr "incr_linum_l: +%u\n"
 
-#: vms-alpha.c:7114
+#: vms-alpha.c:7272
 #, c-format
 msgid "set_line_num(w) %u\n"
 msgstr "set_line_num(w) %u\n"
 
-#: vms-alpha.c:7119
+#: vms-alpha.c:7277
 #, c-format
 msgid "set_line_num_b %u\n"
 msgstr "set_line_num_b %u\n"
 
-#: vms-alpha.c:7124
+#: vms-alpha.c:7282
 #, c-format
 msgid "set_line_num_l %u\n"
 msgstr "set_line_num_l %u\n"
 
-#: vms-alpha.c:7129
+#: vms-alpha.c:7287
 #, c-format
 msgid "set_abs_pc: 0x%08x\n"
 msgstr "set_abs_pc: 0x%08x\n"
 
-#: vms-alpha.c:7133
+#: vms-alpha.c:7291
 #, c-format
 msgid "delta_pc_l: +0x%08x\n"
 msgstr "delta_pc_l: +0x%08x\n"
 
-#: vms-alpha.c:7138
+#: vms-alpha.c:7296
 #, c-format
 msgid "term(b): 0x%02x"
 msgstr "term(b): 0x%02x"
 
-#: vms-alpha.c:7140
+#: vms-alpha.c:7298
 #, c-format
 msgid "        pc: 0x%08x\n"
 msgstr "        pc: 0x%08x\n"
 
-#: vms-alpha.c:7145
+#: vms-alpha.c:7303
 #, c-format
 msgid "term_w: 0x%04x"
 msgstr "term_w: 0x%04x"
 
-#: vms-alpha.c:7147
+#: vms-alpha.c:7305
 #, c-format
 msgid "    pc: 0x%08x\n"
 msgstr "    pc: 0x%08x\n"
 
-#: vms-alpha.c:7153
+#: vms-alpha.c:7311
 #, c-format
 msgid "delta pc +%-4d"
 msgstr "delta pc +%-4d"
 
-#: vms-alpha.c:7156
+#: vms-alpha.c:7315
 #, c-format
 msgid "    pc: 0x%08x line: %5u\n"
 msgstr "    pc: 0x%08x lÃ­nea: %5u\n"
 
-#: vms-alpha.c:7161
+#: vms-alpha.c:7320
 #, c-format
 msgid "    *unhandled* cmd %u\n"
 msgstr "    *sin manejar* ord %u\n"
 
-#: vms-alpha.c:7176
+#: vms-alpha.c:7335
 #, c-format
 msgid "source (len: %u)\n"
 msgstr "fuente (lon: %u)\n"
 
-#: vms-alpha.c:7190
+#: vms-alpha.c:7350
 #, c-format
 msgid "   declfile: len: %u, flags: %u, fileid: %u\n"
 msgstr "   declfich: lon: %u, ops: %u, fichid: %u\n"
 
-#: vms-alpha.c:7194
+#: vms-alpha.c:7355
 #, c-format
 msgid "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 msgstr "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 
-#: vms-alpha.c:7203
+#: vms-alpha.c:7364
 #, c-format
 msgid "   filename   : %.*s\n"
 msgstr "   nomfichero : %.*s\n"
 
-#: vms-alpha.c:7212
+#: vms-alpha.c:7373
 #, c-format
 msgid "   setfile %u\n"
 msgstr "   setfile %u\n"
 
-#: vms-alpha.c:7217 vms-alpha.c:7222
+#: vms-alpha.c:7378 vms-alpha.c:7383
 #, c-format
 msgid "   setrec %u\n"
 msgstr "   setrect %u\n"
 
-#: vms-alpha.c:7227 vms-alpha.c:7232
+#: vms-alpha.c:7388 vms-alpha.c:7393
 #, c-format
 msgid "   setlnum %u\n"
 msgstr "   setlnum %u\n"
 
-#: vms-alpha.c:7237 vms-alpha.c:7242
+#: vms-alpha.c:7398 vms-alpha.c:7403
 #, c-format
 msgid "   deflines %u\n"
-msgstr "   deflines %u\n"
+msgstr "   deflineas %u\n"
 
-#: vms-alpha.c:7246
+#: vms-alpha.c:7407
 #, c-format
 msgid "   formfeed\n"
 msgstr "   alimforma\n"
 
-#: vms-alpha.c:7250
+#: vms-alpha.c:7411
 #, c-format
 msgid "   *unhandled* cmd %u\n"
 msgstr "   *sin manejar* ord %u\n"
 
-#: vms-alpha.c:7262
+#: vms-alpha.c:7423
 #, c-format
 msgid "*unhandled* dst type %u\n"
 msgstr "tipo dst %u *sin manejar*\n"
 
-#: vms-alpha.c:7294
+#: vms-alpha.c:7455
 #, c-format
 msgid "cannot read EIHD\n"
 msgstr "no se puede leer EIHD\n"
 
-#: vms-alpha.c:7297
+#: vms-alpha.c:7459
 #, c-format
 msgid "EIHD: (size: %u, nbr blocks: %u)\n"
 msgstr "EIHD: (tamaÃ±o: %u, bloques nbr: %u)\n"
 
-#: vms-alpha.c:7300
+#: vms-alpha.c:7463
 #, c-format
 msgid " majorid: %u, minorid: %u\n"
 msgstr " idmayor: %u, idmenor: %u\n"
 
-#: vms-alpha.c:7308
+#: vms-alpha.c:7471
 msgid "executable"
 msgstr "ejecutable"
 
-#: vms-alpha.c:7311
+#: vms-alpha.c:7474
 msgid "linkable image"
 msgstr "imagen enlazable"
 
-#: vms-alpha.c:7317
+#: vms-alpha.c:7481
 #, c-format
 msgid " image type: %u (%s)"
 msgstr " tipo imagen: %u (%s)"
 
-#: vms-alpha.c:7323
+#: vms-alpha.c:7487
 msgid "native"
 msgstr "nativa"
 
-#: vms-alpha.c:7326
+#: vms-alpha.c:7490
 msgid "CLI"
 msgstr "CLI"
 
-#: vms-alpha.c:7332
+#: vms-alpha.c:7497
 #, c-format
 msgid ", subtype: %u (%s)\n"
 msgstr ", subtipo: %u (%s)\n"
 
-#: vms-alpha.c:7338
+#: vms-alpha.c:7504
 #, c-format
 msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
 msgstr " despls: isd: %u, activ: %u, simdep: %u, idimg: %u, parche: %u\n"
 
-#: vms-alpha.c:7342
+#: vms-alpha.c:7508
 #, c-format
 msgid " fixup info rva: "
 msgstr " info compos rva: "
 
-#: vms-alpha.c:7344
+#: vms-alpha.c:7510
 #, c-format
 msgid ", symbol vector rva: "
-msgstr "  vector sÃ­mbolo rva: "
+msgstr ", vector sÃ­mbolo rva: "
 
-#: vms-alpha.c:7347
+#: vms-alpha.c:7513
 #, c-format
 msgid ""
 "\n"
@@ -5247,712 +7526,731 @@ msgstr ""
 "\n"
 " matriz versiÃ³n despl: %u\n"
 
-#: vms-alpha.c:7351
+#: vms-alpha.c:7518
 #, c-format
 msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
-msgstr " cuenta I/O img: %u, canales nbr: %u, pri req: %08x%08x\n"
+msgstr " cuenta E/S img: %u, canales nbr: %u, pri req: %08x%08x\n"
 
-#: vms-alpha.c:7357
+#: vms-alpha.c:7524
 #, c-format
 msgid " linker flags: %08x:"
-msgstr " opciones de enlazador: %08x:"
+msgstr " opciones enlazadora: %08x:"
 
-#: vms-alpha.c:7387
+#: vms-alpha.c:7555
 #, c-format
 msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
 msgstr " ident: 0x%08x, versis: 0x%08x, ctrl coinc: %u, tam_vectsim: %u\n"
 
-#: vms-alpha.c:7393
+#: vms-alpha.c:7561
 #, c-format
 msgid " BPAGE: %u"
 msgstr " BPAGE: %u"
 
-#: vms-alpha.c:7399
+#: vms-alpha.c:7568
 #, c-format
 msgid ", ext fixup offset: %u, no_opt psect off: %u"
 msgstr ", ext comp despl: %u, no_opt desp psect: %u"
 
-#: vms-alpha.c:7402
+#: vms-alpha.c:7571
 #, c-format
 msgid ", alias: %u\n"
 msgstr ", alias: %u\n"
 
-#: vms-alpha.c:7410
+#: vms-alpha.c:7579
 #, c-format
 msgid "system version array information:\n"
 msgstr "informaciÃ³n de matriz de versiÃ³n de sistema:\n"
 
-#: vms-alpha.c:7414
+#: vms-alpha.c:7583
 #, c-format
 msgid "cannot read EIHVN header\n"
 msgstr "no se puede leer el encabezado EIHVN\n"
 
-#: vms-alpha.c:7424
+#: vms-alpha.c:7593
 #, c-format
 msgid "cannot read EIHVN version\n"
 msgstr "no se puede leer la versiÃ³n EIHVN\n"
 
-#: vms-alpha.c:7427
+#: vms-alpha.c:7596
 #, c-format
 msgid "   %02u "
 msgstr "   %02u "
 
-#: vms-alpha.c:7431
+#: vms-alpha.c:7600
 msgid "BASE_IMAGE       "
 msgstr "IMAGEN_BASE      "
 
-#: vms-alpha.c:7434
+#: vms-alpha.c:7603
 msgid "MEMORY_MANAGEMENT"
 msgstr "ADMIN_MEMORIA"
 
-#: vms-alpha.c:7437
+#: vms-alpha.c:7606
 msgid "IO               "
-msgstr "ES               "
+msgstr "E/S               "
 
-#: vms-alpha.c:7440
+#: vms-alpha.c:7609
 msgid "FILES_VOLUMES    "
 msgstr "VOL_FICHEROS     "
 
-#: vms-alpha.c:7443
+#: vms-alpha.c:7612
 msgid "PROCESS_SCHED    "
 msgstr "CALEND_PROCESOS  "
 
-#: vms-alpha.c:7446
+#: vms-alpha.c:7615
 msgid "SYSGEN           "
 msgstr "GENSIS           "
 
-#: vms-alpha.c:7449
+#: vms-alpha.c:7618
 msgid "CLUSTERS_LOCKMGR "
 msgstr "ADMBLOQ_CLUSTERS "
 
-#: vms-alpha.c:7452
+#: vms-alpha.c:7621
 msgid "LOGICAL_NAMES    "
 msgstr "NOMBRES_LOGICOS  "
 
-#: vms-alpha.c:7455
+#: vms-alpha.c:7624
 msgid "SECURITY         "
 msgstr "SEGURIDAD        "
 
-#: vms-alpha.c:7458
+#: vms-alpha.c:7627
 msgid "IMAGE_ACTIVATOR  "
 msgstr "ACTIVADOR_IMAGEN "
 
-#: vms-alpha.c:7461
+#: vms-alpha.c:7630
 msgid "NETWORKS         "
 msgstr "REDES            "
 
-#: vms-alpha.c:7464
+#: vms-alpha.c:7633
 msgid "COUNTERS         "
 msgstr "CONTADORES       "
 
-#: vms-alpha.c:7467
+#: vms-alpha.c:7636
 msgid "STABLE           "
 msgstr "ESTABLE          "
 
-#: vms-alpha.c:7470
+#: vms-alpha.c:7639
 msgid "MISC             "
 msgstr "MISC             "
 
-#: vms-alpha.c:7473
+#: vms-alpha.c:7642
 msgid "CPU              "
 msgstr "CPU              "
 
-#: vms-alpha.c:7476
+#: vms-alpha.c:7645
 msgid "VOLATILE         "
 msgstr "VOLÃ�TIL          "
 
-#: vms-alpha.c:7479
+#: vms-alpha.c:7648
 msgid "SHELL            "
 msgstr "SHELL            "
 
-#: vms-alpha.c:7482
+#: vms-alpha.c:7651
 msgid "POSIX            "
 msgstr "POSIX            "
 
-#: vms-alpha.c:7485
+#: vms-alpha.c:7654
 msgid "MULTI_PROCESSING "
 msgstr "MULTI_PROCESAM   "
 
-#: vms-alpha.c:7488
+#: vms-alpha.c:7657
 msgid "GALAXY           "
 msgstr "GALAXIA          "
 
-#: vms-alpha.c:7491
+#: vms-alpha.c:7660
 msgid "*unknown*        "
 msgstr "*desconocido*    "
 
-#: vms-alpha.c:7494
-#, c-format
-msgid ": %u.%u\n"
-msgstr ": %u.%u\n"
-
-#: vms-alpha.c:7507 vms-alpha.c:7766
+#: vms-alpha.c:7676 vms-alpha.c:7951
 #, c-format
 msgid "cannot read EIHA\n"
 msgstr "no se puede leer EIHA\n"
 
-#: vms-alpha.c:7510
+#: vms-alpha.c:7679
 #, c-format
 msgid "Image activation:  (size=%u)\n"
 msgstr "Activa imagen   : (tamaÃ±o=%u)\n"
 
-#: vms-alpha.c:7512
+#: vms-alpha.c:7682
 #, c-format
 msgid " First address : 0x%08x 0x%08x\n"
 msgstr " Primera direcc: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7515
+#: vms-alpha.c:7686
 #, c-format
 msgid " Second address: 0x%08x 0x%08x\n"
 msgstr " Segunda direcc: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7518
+#: vms-alpha.c:7690
 #, c-format
 msgid " Third address : 0x%08x 0x%08x\n"
 msgstr " Tercera direcc: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7521
+#: vms-alpha.c:7694
 #, c-format
 msgid " Fourth address: 0x%08x 0x%08x\n"
 msgstr " Cuarta direcc : 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7524
+#: vms-alpha.c:7698
 #, c-format
 msgid " Shared image  : 0x%08x 0x%08x\n"
-msgstr " Imagen compar : 0x%08x 0x%08x\n"
+msgstr " Img compartbl : 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7535
+#: vms-alpha.c:7709
 #, c-format
 msgid "cannot read EIHI\n"
 msgstr "no se puede leer EIHI\n"
 
-#: vms-alpha.c:7538
+#: vms-alpha.c:7713
 #, c-format
 msgid "Image identification: (major: %u, minor: %u)\n"
 msgstr "IdentificaciÃ³n de imagen: (mayor: %u, menor: %u)\n"
 
-#: vms-alpha.c:7541
+#: vms-alpha.c:7716
 #, c-format
 msgid " image name       : %.*s\n"
 msgstr " nombre de imagen : %.*s\n"
 
-#: vms-alpha.c:7543
+#: vms-alpha.c:7718
 #, c-format
 msgid " link time        : %s\n"
 msgstr " hora enlazado    : %s\n"
 
-#: vms-alpha.c:7545
+#: vms-alpha.c:7720
 #, c-format
 msgid " image ident      : %.*s\n"
 msgstr " ident imagen     : %.*s\n"
 
-#: vms-alpha.c:7547
+#: vms-alpha.c:7722
 #, c-format
 msgid " linker ident     : %.*s\n"
 msgstr " ident enlazador  : %.*s\n"
 
-#: vms-alpha.c:7549
+#: vms-alpha.c:7724
 #, c-format
 msgid " image build ident: %.*s\n"
 msgstr " ident const imagen: %.*s\n"
 
-#: vms-alpha.c:7559
+#: vms-alpha.c:7734
 #, c-format
 msgid "cannot read EIHS\n"
 msgstr "no se puede leer EIHS\n"
 
-#: vms-alpha.c:7562
+#: vms-alpha.c:7738
 #, c-format
 msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
-msgstr "SÃ­mbolo de imagen y tabla de depuraciÃ³n: (mayor: %u, menor %u)\n"
+msgstr "SÃ­mbolo de imagen y segmento de depuraciÃ³n: (mayor: %u, menor %u)\n"
 
-#: vms-alpha.c:7567
+#: vms-alpha.c:7744
 #, c-format
 msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
-msgstr " tabla de sÃ­mbolos de depuraciÃ³n : vbn: %u, tam: %u (0x%x)\n"
+msgstr " segmento de sÃ­mbolos de depuraciÃ³n : vbn: %u, tam: %u (0x%x)\n"
 
-#: vms-alpha.c:7571
+#: vms-alpha.c:7749
 #, c-format
 msgid " global symbol table: vbn: %u, records: %u\n"
-msgstr " tabla de sÃ­mbolos globales      : vbn: %u, registros: %u\n"
+msgstr " segmento de sÃ­mbolos globales      : vbn: %u, registros: %u\n"
 
-#: vms-alpha.c:7575
+#: vms-alpha.c:7754
 #, c-format
 msgid " debug module table : vbn: %u, size: %u\n"
-msgstr " tabla de mÃ³dulo de depuraciÃ³n   : vbn: %u, tam: %u\n"
+msgstr " segmento de mÃ³dulo de depuraciÃ³n   : vbn: %u, tam: %u\n"
 
-#: vms-alpha.c:7588
+#: vms-alpha.c:7767
 #, c-format
 msgid "cannot read EISD\n"
 msgstr "no se puede leer EISD\n"
 
-#: vms-alpha.c:7598
+#: vms-alpha.c:7778
 #, c-format
 msgid "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
-msgstr "Descriptor de secciÃ³n de imagen: (mayor: %u, menor: %u, tam: %u, despl: %u)\n"
+msgstr "Descriptor seccional de imagen: (mayor: %u, menor: %u, tam: %u, despl: %u)\n"
 
-#: vms-alpha.c:7605
+#: vms-alpha.c:7786
 #, c-format
 msgid " section: base: 0x%08x%08x size: 0x%08x\n"
 msgstr " secciÃ³n: base: 0x%08x%08x tam: 0x%08x\n"
 
-#: vms-alpha.c:7610
+#: vms-alpha.c:7791
 #, c-format
 msgid " flags: 0x%04x"
 msgstr " opciones: %04x"
 
-#: vms-alpha.c:7647
+#: vms-alpha.c:7829
 #, c-format
 msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
 msgstr " vbn: %u, pfc: %u, coincctl: %u tipo: %u ("
 
-#: vms-alpha.c:7653
+#: vms-alpha.c:7835
 msgid "NORMAL"
-msgstr "NORMAL"
+msgstr "COMÃšN"
 
-#: vms-alpha.c:7656
+#: vms-alpha.c:7838
 msgid "SHRFXD"
 msgstr "SHRFXD"
 
-#: vms-alpha.c:7659
+#: vms-alpha.c:7841
 msgid "PRVFXD"
 msgstr "PRVFXD"
 
-#: vms-alpha.c:7662
+#: vms-alpha.c:7844
 msgid "SHRPIC"
 msgstr "SHRPIC"
 
-#: vms-alpha.c:7665
+#: vms-alpha.c:7847
 msgid "PRVPIC"
 msgstr "PRVPIC"
 
-#: vms-alpha.c:7668
+#: vms-alpha.c:7850
 msgid "USRSTACK"
-msgstr "USRSTACK"
+msgstr "USRPILA"
+
+#: vms-alpha.c:7856
+msgid ")\n"
+msgstr ")\n"
 
-#: vms-alpha.c:7676
+#: vms-alpha.c:7859
 #, c-format
 msgid " ident: 0x%08x, name: %.*s\n"
 msgstr " ident: 0x%08x, nombre: %.*s\n"
 
-#: vms-alpha.c:7686
+#: vms-alpha.c:7869
 #, c-format
 msgid "cannot read DMT\n"
 msgstr "no se puede leer DMT\n"
 
-#: vms-alpha.c:7690
+#: vms-alpha.c:7873
 #, c-format
 msgid "Debug module table:\n"
-msgstr "Tabla de mÃ³dulos de depuraciÃ³n\n"
+msgstr "Tabla de mÃ³dulos depurante\n"
 
-#: vms-alpha.c:7699
+#: vms-alpha.c:7882
 #, c-format
 msgid "cannot read DMT header\n"
 msgstr "no se puede leer el encabezado DMT\n"
 
-#: vms-alpha.c:7704
+#: vms-alpha.c:7888
 #, c-format
 msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
 msgstr " despl mÃ³dulo: 0x%08x, tam: 0x%08x, (%u psects)\n"
 
-#: vms-alpha.c:7714
+#: vms-alpha.c:7898
 #, c-format
 msgid "cannot read DMT psect\n"
 msgstr "no se puede leer el psect DMT\n"
 
-#: vms-alpha.c:7717
+#: vms-alpha.c:7902
 #, c-format
 msgid "  psect start: 0x%08x, length: %u\n"
 msgstr "  psect inicio: 0x%08x, long: %u\n"
 
-#: vms-alpha.c:7730
+#: vms-alpha.c:7915
 #, c-format
 msgid "cannot read DST\n"
 msgstr "no se puede leer DST\n"
 
-#: vms-alpha.c:7740
+#: vms-alpha.c:7925
 #, c-format
 msgid "cannot read GST\n"
 msgstr "no se puede leer GST\n"
 
-#: vms-alpha.c:7744
+#: vms-alpha.c:7929
 #, c-format
 msgid "Global symbol table:\n"
 msgstr "Tabla de sÃ­mbolos global:\n"
 
-#: vms-alpha.c:7772
+#: vms-alpha.c:7958
 #, c-format
 msgid "Image activator fixup: (major: %u, minor: %u)\n"
 msgstr "Compostura de activador de imagen: (mayor: %u, menor: %u)\n"
 
-#: vms-alpha.c:7775
+#: vms-alpha.c:7962
 #, c-format
 msgid "  iaflink : 0x%08x %08x\n"
 msgstr "  iafenl  : 0x%08x %08x\n"
 
-#: vms-alpha.c:7778
+#: vms-alpha.c:7966
 #, c-format
 msgid "  fixuplnk: 0x%08x %08x\n"
-msgstr "  compenl : 0x%08x %08x\n"
+msgstr "  compenlace : 0x%08x %08x\n"
 
-#: vms-alpha.c:7781
+#: vms-alpha.c:7969
 #, c-format
 msgid "  size : %u\n"
-msgstr "  tam  : %u\n"
+msgstr "  tamÃ± : %u\n"
 
-#: vms-alpha.c:7783
+#: vms-alpha.c:7971
 #, c-format
 msgid "  flags: 0x%08x\n"
-msgstr "  ops  : 0x%08x\n"
+msgstr "  opcis: 0x%08x\n"
 
-#: vms-alpha.c:7787
+#: vms-alpha.c:7976
 #, c-format
 msgid "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 msgstr "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 
-#: vms-alpha.c:7791
+#: vms-alpha.c:7981
 #, c-format
 msgid "  qdotadroff: %5u, ldotadroff: %5u\n"
 msgstr "  qdotadroff: %5u, ldotadroff: %5u\n"
 
-#: vms-alpha.c:7795
+#: vms-alpha.c:7986
 #, c-format
 msgid "  codeadroff: %5u, lpfixoff  : %5u\n"
 msgstr "  codeadroff: %5u, lpfixoff  : %5u\n"
 
-#: vms-alpha.c:7798
+#: vms-alpha.c:7989
 #, c-format
 msgid "  chgprtoff : %5u\n"
 msgstr "  chgprtoff : %5u\n"
 
-#: vms-alpha.c:7801
+#: vms-alpha.c:7993
 #, c-format
 msgid "  shlstoff  : %5u, shrimgcnt : %5u\n"
 msgstr "  shlstoff  : %5u, shrimgcnt : %5u\n"
 
-#: vms-alpha.c:7803
+#: vms-alpha.c:7996
 #, c-format
 msgid "  shlextra  : %5u, permctx   : %5u\n"
 msgstr "  shlextra  : %5u, permctx   : %5u\n"
 
-#: vms-alpha.c:7806
+#: vms-alpha.c:7999
 #, c-format
 msgid "  base_va : 0x%08x\n"
 msgstr "  base_va : 0x%08x\n"
 
-#: vms-alpha.c:7808
+#: vms-alpha.c:8001
 #, c-format
 msgid "  lppsbfixoff: %5u\n"
 msgstr "  lppsbfixoff: %5u\n"
 
-#: vms-alpha.c:7816
+#: vms-alpha.c:8009
 #, c-format
 msgid " Shareable images:\n"
 msgstr " ImÃ¡genes compartibles:\n"
 
-#: vms-alpha.c:7820
+#: vms-alpha.c:8014
 #, c-format
 msgid "  %u: size: %u, flags: 0x%02x, name: %.*s\n"
 msgstr "  %u: tam: %u, opts: 0x%02x, nombre: %.*s\n"
 
-#: vms-alpha.c:7827
+#: vms-alpha.c:8021
 #, c-format
 msgid " quad-word relocation fixups:\n"
 msgstr " composturas de reubicaciÃ³n quad-word:\n"
 
-#: vms-alpha.c:7832
+#: vms-alpha.c:8026
 #, c-format
 msgid " long-word relocation fixups:\n"
 msgstr " composturas de reubicaciÃ³n long-word:\n"
 
-#: vms-alpha.c:7837
+#: vms-alpha.c:8031
 #, c-format
 msgid " quad-word .address reference fixups:\n"
 msgstr " composturas de referencia .address quad-word:\n"
 
-#: vms-alpha.c:7842
+#: vms-alpha.c:8036
 #, c-format
 msgid " long-word .address reference fixups:\n"
 msgstr " composturas de referencia .address long-word:\n"
 
-#: vms-alpha.c:7847
+#: vms-alpha.c:8041
 #, c-format
 msgid " Code Address Reference Fixups:\n"
 msgstr " Composturas de Referencias de DirecciÃ³n de CÃ³digo:\n"
 
-#: vms-alpha.c:7852
+#: vms-alpha.c:8046
 #, c-format
-msgid " Linkage Pairs Referece Fixups:\n"
-msgstr " Composturas de Referencias de Pares de Enlazado\n"
+msgid " Linkage Pairs Reference Fixups:\n"
+msgstr ""
+" Recuperar Referencia Pares Enlazada:\n"
+"\n"
 
-#: vms-alpha.c:7861
+#: vms-alpha.c:8055
 #, c-format
 msgid " Change Protection (%u entries):\n"
 msgstr " Cambiar ProtecciÃ³n (%u entradas):\n"
 
-#: vms-alpha.c:7866
+#: vms-alpha.c:8061
 #, c-format
 msgid "  base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
 msgstr "  base: 0x%08x %08x, tam: 0x%08x, prot: 0x%08x "
 
 #. FIXME: we do not yet support relocatable link.  It is not obvious
 #. how to do it for debug infos.
-#: vms-alpha.c:8706
+#: vms-alpha.c:8901
 msgid "%P: relocatable link is not supported\n"
 msgstr "%P: no se admite el enlace reubicable\n"
 
-#: vms-alpha.c:8776
+#: vms-alpha.c:8972
+#, c-format
 msgid "%P: multiple entry points: in modules %B and %B\n"
 msgstr "%P: puntos de entrada mÃºltiples: en los mÃ³dulos %B y %B\n"
 
-#: vms-lib.c:1423
+#: vms-lib.c:1445
 #, c-format
 msgid "could not open shared image '%s' from '%s'"
-msgstr "no se puede abrir la imagen compartida '%s' desde '%s'"
+msgstr "no se puede abrir la imagen compartida Â«%sÂ» desde Â«%sÂ»"
 
-#: vms-misc.c:360
+#: vms-misc.c:361
 msgid "_bfd_vms_output_counted called with zero bytes"
 msgstr "se llamÃ³ _bfd_vms_output_counted con cero bytes"
 
-#: vms-misc.c:365
+#: vms-misc.c:366
 msgid "_bfd_vms_output_counted called with too many bytes"
 msgstr "se llamÃ³ _bfd_vms_output_counted con demasiados bytes"
 
-#: xcofflink.c:836
-#, c-format
-msgid "%s: XCOFF shared object when not producing XCOFF output"
-msgstr "%s: objeto compartido XCOFF cuando no se produce salida XCOFF"
+#: xcofflink.c:832
+msgid "%B: XCOFF shared object when not producing XCOFF output"
+msgstr "%B: objeto compartido XCOFF cuando no se produce salida XCOFF"
+
+#: xcofflink.c:853
+msgid "%B: dynamic object with no .loader section"
+msgstr "%B: objeto dinÃ¡mico sin secciÃ³n cargadora .loader"
 
-#: xcofflink.c:857
+#: xcofflink.c:1413
 #, c-format
-msgid "%s: dynamic object with no .loader section"
-msgstr "%s: objeto dinÃ¡mico sin secciÃ³n .loader"
-
-#: xcofflink.c:1416
 msgid "%B: `%s' has line numbers but no enclosing section"
-msgstr "%B: `%s' tiene nÃºmeros de lÃ­nea pero no una secciÃ³n contenedora"
+msgstr "%B: Â«%sÂ» tiene nÃºmeros de lÃ­nea pero no una secciÃ³n contenedora"
 
-#: xcofflink.c:1468
+#: xcofflink.c:1466
+#, c-format
 msgid "%B: class %d symbol `%s' has no aux entries"
-msgstr "%B: clase %d sÃ­mbolo `%s' no tiene entradas auxiliares"
+msgstr "%B: clase %d sÃ­mbolo Â«%sÂ» no tiene entradas auxiliares"
 
-#: xcofflink.c:1490
+#: xcofflink.c:1489
+#, c-format
 msgid "%B: symbol `%s' has unrecognized csect type %d"
-msgstr "%B: el sÃ­mbolo `%s' tiene un tipo csect %d que no se reconoce"
+msgstr "%B: el sÃ­mbolo Â«%sÂ» tiene un tipo csect %d que no se reconoce"
 
 #: xcofflink.c:1502
-msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"
-msgstr "%B: sÃ­mbolo XTY_ER `%s' errÃ³neo: clase %d scnum %d scnlen %d"
+#, c-format
+msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld"
+msgstr "%B: sÃ­mbolo XTY_ER Â«%sÂ» equivocado: clase %d scnum %d scnlen %Ld"
 
-#: xcofflink.c:1531
-msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d"
-msgstr "%B: sÃ­mbolo XMC_TCO `%s' es clase %d scnlen %d"
+#: xcofflink.c:1532
+#, c-format
+msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld"
+msgstr "%B: sÃ­mbolo XMC_TCO Â«%sÂ» es clase %d scnlen %Ld"
 
-#: xcofflink.c:1677
+#: xcofflink.c:1679
+#, c-format
 msgid "%B: csect `%s' not in enclosing section"
-msgstr "%B: csect `%s' no estÃ¡ contenido en una secciÃ³n"
+msgstr "%B: csect Â«%sÂ» no estÃ¡ contenido en un cierre seccional"
 
-#: xcofflink.c:1784
+#: xcofflink.c:1787
+#, c-format
 msgid "%B: misplaced XTY_LD `%s'"
-msgstr "%B: XTY_LD `%s' mal ubicado"
+msgstr "%B: XTY_LD mal ubicado Â«%sÂ»"
 
-#: xcofflink.c:2103
-msgid "%B: reloc %s:%d not in csect"
-msgstr "%B: la reubicaciÃ³n %s:%d no estÃ¡ en csect"
+#: xcofflink.c:2108
+#, c-format
+msgid "%B: reloc %s:%Ld not in csect"
+msgstr "%B: reloc %s:%Ld no contenido en csect"
 
-#: xcofflink.c:3194
+#: xcofflink.c:3198
 #, c-format
 msgid "%s: no such symbol"
 msgstr "%s: no hay tal sÃ­mbolo"
 
-#: xcofflink.c:3299
+#: xcofflink.c:3303
 #, c-format
 msgid "warning: attempt to export undefined symbol `%s'"
-msgstr "aviso: se intenta exportar el sÃ­mbolo sin definir `%s'"
+msgstr "aviso: se intenta exportar el sÃ­mbolo sin definir Â«%sÂ»"
 
-#: xcofflink.c:3678
+#: xcofflink.c:3682
 msgid "error: undefined symbol __rtinit"
-msgstr "error: sÃ­mbolo __rtinit sin definir"
+msgstr "error: sÃ­mbolo __rtinit indefinido"
 
-#: xcofflink.c:4057
+#: xcofflink.c:4062
+#, c-format
 msgid "%B: loader reloc in unrecognized section `%s'"
-msgstr "%B: reubicaciÃ³n del cargador en la secciÃ³n `%s' que no se reconoce"
+msgstr "%B: reubicaciÃ³n del cargador en la secciÃ³n que no se reconoce `%s'"
 
-#: xcofflink.c:4068
+#: xcofflink.c:4074
+#, c-format
 msgid "%B: `%s' in loader reloc but not loader sym"
-msgstr "%B: `%s' en la reubicaciÃ³n del cargador pero no es un sÃ­mbolo del cargador"
+msgstr "%B: Â«%sÂ» en la reubicaciÃ³n del cargador pero no es un sÃ­mbolo del cargador"
 
-#: xcofflink.c:4084
+#: xcofflink.c:4091
+#, c-format
 msgid "%B: loader reloc in read-only section %A"
 msgstr "%B: reubicaciÃ³n del cargador en la secciÃ³n de sÃ³lo lectura %A"
 
-#: xcofflink.c:5106
+#: xcofflink.c:5115
 #, c-format
-msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
-msgstr "Desbordamiento de TOC: 0x%lx > 0x10000; pruebe -mminimal-toc al compilar"
+msgid "TOC overflow: %#Lx > 0x10000; try -mminimal-toc when compiling"
+msgstr "Desbordamiento superior de TOC: %#Lx > 0x10000; intente -mminimal-toc al compilar"
 
-#: elf32-ia64.c:628 elf64-ia64.c:628
-msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
-msgstr "%B: No se puede relajar br en 0x%lx en la secciÃ³n `%A'. Por favor use brl o ramificaciÃ³n indirecta."
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:1890
+#, c-format
+msgid "Invalid AArch64 reloc number: %d"
+msgstr "NÃºmero reubicante AArch64 no vÃ¡lido: %d"
 
-#: elf32-ia64.c:2284 elf64-ia64.c:2284
-msgid "@pltoff reloc against local symbol"
-msgstr "reubicaciÃ³n @pltoff contra un sÃ­mbolo local"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:4779
+msgid "%B: error: Erratum 835769 stub out of range (input file too large)"
+msgstr "%B: error: error 835769 de cabo estÃ¡ fuera de rango (fichero entrante demasiado grande)"
 
-#: elf32-ia64.c:3687 elf64-ia64.c:3687
-#, c-format
-msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
-msgstr "%s: segmento de datos short desbordado (0x%lx >= 0x400000)"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:4860
+msgid "%B: error: Erratum 843419 stub out of range (input file too large)"
+msgstr "%B: error: error 843419 de cabo estÃ¡ fuera de rango (fichero entrante demasiado grande)"
 
-#: elf32-ia64.c:3698 elf64-ia64.c:3698
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5366
 #, c-format
-msgid "%s: __gp does not cover short data segment"
-msgstr "%s: __gp no cubre el segmento de datos short"
-
-#: elf32-ia64.c:3965 elf64-ia64.c:3965
-msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
-msgstr "%B: cÃ³digo que no es pic con reubicaciÃ³n imm contra el sÃ­mbolo dinÃ¡mico %s"
+msgid "%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC"
+msgstr "%B: reubicaciÃ³n %s frente al sÃ­mbolo Â«%sÂ» el cual quizÃ¡ externamente enlazado no puede ser empleada cuando se cra un objeto compartido; recompile con -fPIC"
 
-#: elf32-ia64.c:4032 elf64-ia64.c:4032
-msgid "%B: @gprel relocation against dynamic symbol %s"
-msgstr "%B: reubicaciÃ³n @gprel contra el sÃ­mbolo dinÃ¡mico %s"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5457
+#, c-format
+msgid "%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol"
+msgstr "%B: tabla de descripciÃ³n simbÃ³lica local es NULO cuando estÃ© aplicando reubicaciÃ³n %s frente sÃ­mbolo local"
 
-#: elf32-ia64.c:4095 elf64-ia64.c:4095
-msgid "%B: linking non-pic code in a position independent executable"
-msgstr "%B: se enlaza cÃ³digo que no es pic en un ejecutable independiente de posiciÃ³n"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6479
+msgid "Too many GOT entries for -fpic, please recompile with -fPIC"
+msgstr "Demasiadas entradas GOT para -fpic, recompile con -fPIC"
 
-#: elf32-ia64.c:4232 elf64-ia64.c:4232
-msgid "%B: @internal branch to dynamic symbol %s"
-msgstr "%B: ramificaciÃ³n @internal al sÃ­mbolo dinÃ¡mico %s"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6507
+msgid "One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined."
+msgstr "Una causa posible de este error es que el sÃ­mbolo estÃ¡ siendo referenciado dentro del cÃ³digo indicado como si tuvo un alineamiento mayor que lo que fue declarado donde estuvo definido."
 
-#: elf32-ia64.c:4234 elf64-ia64.c:4234
-msgid "%B: speculation fixup to dynamic symbol %s"
-msgstr "%B: compostura de especulaciÃ³n al sÃ­mbolo dinÃ¡mico %s"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7084
+#, c-format
+msgid "%B: relocation %s against `%s' can not be used when making a shared object"
+msgstr "%B: reubicaciÃ³n %s frente a Â«%sÂ» no puede emplearse cuando se crea un objeto compartido"
 
-#: elf32-ia64.c:4236 elf64-ia64.c:4236
-msgid "%B: @pcrel relocation against dynamic symbol %s"
-msgstr "%B: reubicaciÃ³n @pcrel contra el sÃ­mbolo dinÃ¡mico %s"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2570
+msgid ""
+"%B: ABI is incompatible with that of the selected emulation:\n"
+"  target emulation `%s' does not match `%s'"
+msgstr ""
+"%B: la ABI es incompatible con esa de la emulaciÃ³n seleccionada:\n"
+"  emulaciÃ³n objetivo Â«%sÂ» no coincide con Â«%sÂ»"
 
-#: elf32-ia64.c:4433 elf64-ia64.c:4433
-msgid "unsupported reloc"
-msgstr "no se admite la reubicaciÃ³n"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2590
+msgid "%B: can't link hard-float modules with soft-float modules"
+msgstr "%B: no puede enlazar mÃ³dulos flotantes-duros con mÃ³dulos flotantes-blandos"
 
-#: elf32-ia64.c:4471 elf64-ia64.c:4471
-msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
-msgstr "%B: falta la secciÃ³n TLS para la reubicaciÃ³n %s contra `%s' en 0x%lx en la secciÃ³n `%A'."
-
-#: elf32-ia64.c:4486 elf64-ia64.c:4486
-msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
-msgstr "%B: No se puede relajar br (%s) a `%s' en 0x%lx en la secciÃ³n `%A' con tamaÃ±o 0x%lx (> 0x1000000)."
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:3070
+msgid "%B(%A+0x%lx): %d bytes required for alignment to %d-byte boundary, but only %d present"
+msgstr "%B(%A+0x%lx): %d bytes requiriÃ³ para alineamiento para %d-byte frontera, pero solo %d presente"
 
-#: elf32-ia64.c:4748 elf64-ia64.c:4748
-msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
-msgstr "%B: se enlaza deferencias-captura-en-NULL con ficheros que no son de captura"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:3136
+msgid "%B(%A+0x%lx): Unable to clear RISCV_PCREL_HI20 relocfor cooresponding RISCV_PCREL_LO12 reloc"
+msgstr "%B(%A+0x%lx): Incapaz de vaciar RISCV_PCREL_HI20 reubicando para correspondiente reubicaciÃ³n RISCV_PCREL_LO12"
 
-#: elf32-ia64.c:4757 elf64-ia64.c:4757
-msgid "%B: linking big-endian files with little-endian files"
-msgstr "%B: se enlazan ficheros big-endian con ficheros little-endian"
+#: peigen.c:157 pepigen.c:157 pex64igen.c:157
+msgid "%B: unable to find name for empty section"
+msgstr "%B: no se puede encontrar nombre para secciÃ³n vacÃ­a"
 
-#: elf32-ia64.c:4766 elf64-ia64.c:4766
-msgid "%B: linking 64-bit files with 32-bit files"
-msgstr "%B: se enlazan ficheros de 64-bit con ficheros de 32-bit"
+#: peigen.c:183 pepigen.c:183 pex64igen.c:183
+msgid "%B: out of memory creating name for empty section"
+msgstr "%B: memoria agotada al crear nombre para secciÃ³n vacÃ­a"
 
-#: elf32-ia64.c:4775 elf64-ia64.c:4775
-msgid "%B: linking constant-gp files with non-constant-gp files"
-msgstr "%B: se enlazan ficheros de gp constante con ficheros con gp no constante"
+#: peigen.c:194 pepigen.c:194 pex64igen.c:194
+msgid "%B: unable to create fake empty section"
+msgstr "%B: incapaz de crear secciÃ³n vacÃ­a simulada"
 
-#: elf32-ia64.c:4785 elf64-ia64.c:4785
-msgid "%B: linking auto-pic files with non-auto-pic files"
-msgstr "%B: se enlazan ficheros de pic automÃ¡tico con ficheros sin pic automÃ¡tico"
+#: peigen.c:532 pepigen.c:532 pex64igen.c:532
+msgid "%B: aout header specifies an invalid number of data-directory entries: %ld"
+msgstr "%B: cabecera aout especifica un nÃºmero de entradas de datos-directorio no vÃ¡lido: %ld"
 
-#: peigen.c:1002 pepigen.c:1002 pex64igen.c:1002
+#: peigen.c:1089 pepigen.c:1089 pex64igen.c:1089
 #, c-format
-msgid "%s: line number overflow: 0x%lx > 0xffff"
-msgstr "%s: desbordamiento de nÃºmero de lÃ­nea: 0x%lx > 0xffff"
+msgid "%B: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: nÃºmero de lÃ­nea del desbordamiento superior: 0x%lx > 0xffff"
 
-#: peigen.c:1029 pepigen.c:1029 pex64igen.c:1029
+#: peigen.c:1233 pepigen.c:1233 pex64igen.c:1233
 msgid "Export Directory [.edata (or where ever we found it)]"
-msgstr "Directorio de ExportaciÃ³n [.edata (o donde quiera que se encuentre)]"
+msgstr "Exportar Directorio [.edata (o donde quiera que se encuentre)]"
 
-#: peigen.c:1030 pepigen.c:1030 pex64igen.c:1030
+#: peigen.c:1234 pepigen.c:1234 pex64igen.c:1234
 msgid "Import Directory [parts of .idata]"
 msgstr "Directorio de ImportaciÃ³n [partes de .idata]"
 
-#: peigen.c:1031 pepigen.c:1031 pex64igen.c:1031
+#: peigen.c:1235 pepigen.c:1235 pex64igen.c:1235
 msgid "Resource Directory [.rsrc]"
 msgstr "Directorio de Recursos [.rsrc]"
 
-#: peigen.c:1032 pepigen.c:1032 pex64igen.c:1032
+#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236
 msgid "Exception Directory [.pdata]"
 msgstr "Directorio de Excepciones [.pdata]"
 
-#: peigen.c:1033 pepigen.c:1033 pex64igen.c:1033
+#: peigen.c:1237 pepigen.c:1237 pex64igen.c:1237
 msgid "Security Directory"
 msgstr "Directorio de Seguridad"
 
-#: peigen.c:1034 pepigen.c:1034 pex64igen.c:1034
+#: peigen.c:1238 pepigen.c:1238 pex64igen.c:1238
 msgid "Base Relocation Directory [.reloc]"
 msgstr "Directorio de ReubicaciÃ³n Base [.reloc]"
 
-#: peigen.c:1035 pepigen.c:1035 pex64igen.c:1035
+#: peigen.c:1239 pepigen.c:1239 pex64igen.c:1239
 msgid "Debug Directory"
-msgstr "Directorio de DepuraciÃ³n"
+msgstr "Directorio Depurante"
 
-#: peigen.c:1036 pepigen.c:1036 pex64igen.c:1036
+#: peigen.c:1240 pepigen.c:1240 pex64igen.c:1240
 msgid "Description Directory"
 msgstr "Directorio de Descripciones"
 
-#: peigen.c:1037 pepigen.c:1037 pex64igen.c:1037
+#: peigen.c:1241 pepigen.c:1241 pex64igen.c:1241
 msgid "Special Directory"
 msgstr "Directorio Especial"
 
-#: peigen.c:1038 pepigen.c:1038 pex64igen.c:1038
+#: peigen.c:1242 pepigen.c:1242 pex64igen.c:1242
 msgid "Thread Storage Directory [.tls]"
 msgstr "Directorio de Almacenamiento de Hilos [.tls]"
 
-#: peigen.c:1039 pepigen.c:1039 pex64igen.c:1039
+#: peigen.c:1243 pepigen.c:1243 pex64igen.c:1243
 msgid "Load Configuration Directory"
 msgstr "Directorio de Carga de Configuraciones"
 
-#: peigen.c:1040 pepigen.c:1040 pex64igen.c:1040
+#: peigen.c:1244 pepigen.c:1244 pex64igen.c:1244
 msgid "Bound Import Directory"
 msgstr "Directorio de ImportaciÃ³n de Relaciones"
 
-#: peigen.c:1041 pepigen.c:1041 pex64igen.c:1041
+#: peigen.c:1245 pepigen.c:1245 pex64igen.c:1245
 msgid "Import Address Table Directory"
 msgstr "Directorio de Tablas de Direcciones de ImportaciÃ³n"
 
-#: peigen.c:1042 pepigen.c:1042 pex64igen.c:1042
+#: peigen.c:1246 pepigen.c:1246 pex64igen.c:1246
 msgid "Delay Import Directory"
 msgstr "Directorio de Retardo de ImportaciÃ³n"
 
-#: peigen.c:1043 pepigen.c:1043 pex64igen.c:1043
+#: peigen.c:1247 pepigen.c:1247 pex64igen.c:1247
 msgid "CLR Runtime Header"
 msgstr "Encabezado de Tiempo de EjecuciÃ³n CLR"
 
-#: peigen.c:1044 pepigen.c:1044 pex64igen.c:1044
+#: peigen.c:1248 pepigen.c:1248 pex64igen.c:1248
 msgid "Reserved"
 msgstr "Reservado"
 
-#: peigen.c:1104 pepigen.c:1104 pex64igen.c:1104
+#: peigen.c:1308 pepigen.c:1308 pex64igen.c:1308
 #, c-format
 msgid ""
 "\n"
 "There is an import table, but the section containing it could not be found\n"
 msgstr ""
 "\n"
-"Hay una tabla de importaciÃ³n, pero no se puede encontrar la secciÃ³n que la contiene\n"
+"Hay un segmento de importaciÃ³n, pero no se puede encontrar la secciÃ³n que la contiene\n"
+
+#: peigen.c:1314 pepigen.c:1314 pex64igen.c:1314
+#, c-format
+msgid ""
+"\n"
+"There is an import table in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"Hay un segmento importada en %s, pero esa secciÃ³n no tiene contenidos\n"
+"\n"
 
-#: peigen.c:1109 pepigen.c:1109 pex64igen.c:1109
+#: peigen.c:1321 pepigen.c:1321 pex64igen.c:1321
 #, c-format
 msgid ""
 "\n"
 "There is an import table in %s at 0x%lx\n"
 msgstr ""
 "\n"
-"Hay una tabla de importaciÃ³n en %s en 0x%lx\n"
+"Hay un segmento de importaciÃ³n en %s en 0x%lx\n"
 
-#: peigen.c:1151 pepigen.c:1151 pex64igen.c:1151
+#: peigen.c:1363 pepigen.c:1363 pex64igen.c:1363
 #, c-format
 msgid ""
 "\n"
@@ -5961,12 +8259,12 @@ msgstr ""
 "\n"
 "Se localizÃ³ el descriptor de funciÃ³n en la direcciÃ³n de inicio: %04lx\n"
 
-#: peigen.c:1154 pepigen.c:1154 pex64igen.c:1154
+#: peigen.c:1367 pepigen.c:1367 pex64igen.c:1367
 #, c-format
 msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
-msgstr "\tcÃ³digo-base %08lx tabla-de-contenidos (cargable/actual) %08lx/%08lx\n"
+msgstr "\tcÃ³digo-base %08lx segmento-de-contenidos (cargable/actual) %08lx/%08lx\n"
 
-#: peigen.c:1162 pepigen.c:1162 pex64igen.c:1162
+#: peigen.c:1375 pepigen.c:1375 pex64igen.c:1375
 #, c-format
 msgid ""
 "\n"
@@ -5975,16 +8273,16 @@ msgstr ""
 "\n"
 "Â¡No estÃ¡ la secciÃ³n reldata! No se decodificÃ³ el descriptor de funciÃ³n.\n"
 
-#: peigen.c:1167 pepigen.c:1167 pex64igen.c:1167
+#: peigen.c:1380 pepigen.c:1380 pex64igen.c:1380
 #, c-format
 msgid ""
 "\n"
 "The Import Tables (interpreted %s section contents)\n"
 msgstr ""
 "\n"
-"Las Tablas de ImportaciÃ³n (se interpretaron los contenidos de la secciÃ³n %s)\n"
+"Las Tablas Importables (interpretados contenidos seccional %s)\n"
 
-#: peigen.c:1170 pepigen.c:1170 pex64igen.c:1170
+#: peigen.c:1383 pepigen.c:1383 pex64igen.c:1383
 #, c-format
 msgid ""
 " vma:            Hint    Time      Forward  DLL       First\n"
@@ -5993,57 +8291,81 @@ msgstr ""
 " vma:            Pista   Fecha     Adelante DLL       Primero\n"
 "                 Tabla   Estampa   Cadena   Nombre    Thunk\n"
 
-#: peigen.c:1218 pepigen.c:1218 pex64igen.c:1218
+#: peigen.c:1433 pepigen.c:1433 pex64igen.c:1433
 #, c-format
 msgid ""
 "\n"
-"\tDLL Name: %s\n"
+"\tDLL Name: %.*s\n"
 msgstr ""
 "\n"
-"\tNombre de la DLL: %s\n"
+"\tNombre DLL: %.*s\n"
 
-#: peigen.c:1229 pepigen.c:1229 pex64igen.c:1229
+#: peigen.c:1449 pepigen.c:1449 pex64igen.c:1449
 #, c-format
 msgid "\tvma:  Hint/Ord Member-Name Bound-To\n"
 msgstr "\tvma:  Pista/Ord Nombre-Miembro Unido-A\n"
 
-#: peigen.c:1254 pepigen.c:1254 pex64igen.c:1254
+#: peigen.c:1474 pepigen.c:1474 pex64igen.c:1474
 #, c-format
 msgid ""
 "\n"
 "There is a first thunk, but the section containing it could not be found\n"
 msgstr ""
 "\n"
-"Hay un thunk inicial, pero no se puede encontrar la secciÃ³n que lo contiene\n"
+"Hay un trozo inicial, pero no se puede encontrar la secciÃ³n que lo contiene\n"
+
+#: peigen.c:1518 peigen.c:1557 pepigen.c:1518 pepigen.c:1557 pex64igen.c:1518
+#: pex64igen.c:1557
+#, c-format
+msgid "\t<corrupt: 0x%04lx>"
+msgstr "\t<corrupto: 0x%04lx>"
 
-#: peigen.c:1415 pepigen.c:1415 pex64igen.c:1415
+#: peigen.c:1650 pepigen.c:1650 pex64igen.c:1650
 #, c-format
 msgid ""
 "\n"
 "There is an export table, but the section containing it could not be found\n"
 msgstr ""
 "\n"
-"Hay una tabla de exportaciÃ³n, pero no se puede encontrar la secciÃ³n que la contiene\n"
+"Hay un segmento de exportaciÃ³n, pero no se puede encontrar la secciÃ³n que la contiene\n"
+
+#: peigen.c:1656 pepigen.c:1656 pex64igen.c:1656
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"Hay un segmento exportado en %s, pero esa secciÃ³n no tiene contenidos\n"
 
-#: peigen.c:1424 pepigen.c:1424 pex64igen.c:1424
+#: peigen.c:1666 pepigen.c:1666 pex64igen.c:1666
 #, c-format
 msgid ""
 "\n"
 "There is an export table in %s, but it does not fit into that section\n"
 msgstr ""
 "\n"
-"Hay una tabla de exportaciÃ³n en %s, pero no cabe en esa secciÃ³n\n"
+"Hay un segmento de exportaciÃ³n en %s, pero no cabe en esa secciÃ³n\n"
+
+#: peigen.c:1677 pepigen.c:1677 pex64igen.c:1677
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but it is too small (%d)\n"
+msgstr ""
+"\n"
+"Hay un segmento exportador dentro de %s, pero es demasiado pequeÃ±a (%d)\n"
 
-#: peigen.c:1430 pepigen.c:1430 pex64igen.c:1430
+#: peigen.c:1683 pepigen.c:1683 pex64igen.c:1683
 #, c-format
 msgid ""
 "\n"
 "There is an export table in %s at 0x%lx\n"
 msgstr ""
 "\n"
-"Hay una tabla de exportaciÃ³n en %s en 0x%lx\n"
+"Hay un segmento de exportaciÃ³n en %s en 0x%lx\n"
 
-#: peigen.c:1458 pepigen.c:1458 pex64igen.c:1458
+#: peigen.c:1711 pepigen.c:1711 pex64igen.c:1711
 #, c-format
 msgid ""
 "\n"
@@ -6051,88 +8373,93 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Las Tablas de ExportaciÃ³n (se interpretaron los contenidos de la secciÃ³n %s)\n"
+"Las Tablas Exportables (se interpretaron los contenidos de la secciÃ³n %s)\n"
 "\n"
 
-#: peigen.c:1462 pepigen.c:1462 pex64igen.c:1462
+#: peigen.c:1715 pepigen.c:1715 pex64igen.c:1715
 #, c-format
 msgid "Export Flags \t\t\t%lx\n"
-msgstr "Opciones de ExportaciÃ³n \t\t\t%lx\n"
+msgstr "Exportar Marcas \t\t\t%lx\n"
 
-#: peigen.c:1465 pepigen.c:1465 pex64igen.c:1465
+#: peigen.c:1718 pepigen.c:1718 pex64igen.c:1718
 #, c-format
 msgid "Time/Date stamp \t\t%lx\n"
-msgstr "marca de Hora/Fecha \t\t%lx\n"
+msgstr "Marca Hora/Fecha \t\t%lx\n"
 
-#: peigen.c:1468 pepigen.c:1468 pex64igen.c:1468
+#: peigen.c:1722 pepigen.c:1722 pex64igen.c:1722
 #, c-format
 msgid "Major/Minor \t\t\t%d/%d\n"
 msgstr "Mayor/Menor \t\t\t%d/%d\n"
 
-#: peigen.c:1471 pepigen.c:1471 pex64igen.c:1471
+#: peigen.c:1725 pepigen.c:1725 pex64igen.c:1725
 #, c-format
 msgid "Name \t\t\t\t"
 msgstr "Nombre \t\t\t\t"
 
-#: peigen.c:1477 pepigen.c:1477 pex64igen.c:1477
+#: peigen.c:1736 pepigen.c:1736 pex64igen.c:1736
 #, c-format
 msgid "Ordinal Base \t\t\t%ld\n"
 msgstr "Base Ordinal \t\t\t%ld\n"
 
-#: peigen.c:1480 pepigen.c:1480 pex64igen.c:1480
+#: peigen.c:1739 pepigen.c:1739 pex64igen.c:1739
 #, c-format
 msgid "Number in:\n"
 msgstr "NÃºmero en:\n"
 
-#: peigen.c:1483 pepigen.c:1483 pex64igen.c:1483
+#: peigen.c:1742 pepigen.c:1742 pex64igen.c:1742
 #, c-format
 msgid "\tExport Address Table \t\t%08lx\n"
 msgstr "\tTabla de ExportaciÃ³n de Direcciones \t\t%08lx\n"
 
-#: peigen.c:1487 pepigen.c:1487 pex64igen.c:1487
+#: peigen.c:1746 pepigen.c:1746 pex64igen.c:1746
 #, c-format
 msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
 msgstr "\tTabla [Nombre Puntero/Ordinal]\t%08lx\n"
 
-#: peigen.c:1490 pepigen.c:1490 pex64igen.c:1490
+#: peigen.c:1749 pepigen.c:1749 pex64igen.c:1749
 #, c-format
 msgid "Table Addresses\n"
 msgstr "Direcciones de la Tabla\n"
 
-#: peigen.c:1493 pepigen.c:1493 pex64igen.c:1493
+#: peigen.c:1752 pepigen.c:1752 pex64igen.c:1752
 #, c-format
 msgid "\tExport Address Table \t\t"
 msgstr "\tTabla de ExportaciÃ³n de Direcciones \t\t"
 
-#: peigen.c:1498 pepigen.c:1498 pex64igen.c:1498
+#: peigen.c:1757 pepigen.c:1757 pex64igen.c:1757
 #, c-format
 msgid "\tName Pointer Table \t\t"
 msgstr "\tNombre de la Tabla de Punteros \t\t"
 
 # continuar aqui
-#: peigen.c:1503 pepigen.c:1503 pex64igen.c:1503
+#: peigen.c:1762 pepigen.c:1762 pex64igen.c:1762
 #, c-format
 msgid "\tOrdinal Table \t\t\t"
 msgstr "\tTabla Ordinal \t\t\t"
 
-#: peigen.c:1517 pepigen.c:1517 pex64igen.c:1517
+#: peigen.c:1776 pepigen.c:1776 pex64igen.c:1776
 #, c-format
 msgid ""
 "\n"
 "Export Address Table -- Ordinal Base %ld\n"
 msgstr ""
 "\n"
-"Tabla de ExportaciÃ³n de Direcciones -- Base Ordinal %ld\n"
+"Tabla Exportante de Direcciones -- Base Ordinal %ld\n"
+
+#: peigen.c:1785 pepigen.c:1785 pex64igen.c:1785
+#, c-format
+msgid "\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tDistribuciÃ³n Direccional Exportada InvÃ¡lida rva (0x%lx) o contador de entrada (0x%lx)\n"
 
-#: peigen.c:1536 pepigen.c:1536 pex64igen.c:1536
+#: peigen.c:1804 pepigen.c:1804 pex64igen.c:1804
 msgid "Forwarder RVA"
 msgstr "RVA Adelantador"
 
-#: peigen.c:1547 pepigen.c:1547 pex64igen.c:1547
+#: peigen.c:1816 pepigen.c:1816 pex64igen.c:1816
 msgid "Export RVA"
-msgstr "RVA Exportador"
+msgstr "Exportar RVA"
 
-#: peigen.c:1554 pepigen.c:1554 pex64igen.c:1554
+#: peigen.c:1823 pepigen.c:1823 pex64igen.c:1823
 #, c-format
 msgid ""
 "\n"
@@ -6141,42 +8468,72 @@ msgstr ""
 "\n"
 "Tabla [Puntero a Ordinal/Nombre]\n"
 
-#: peigen.c:1614 peigen.c:1797 pepigen.c:1614 pepigen.c:1797 pex64igen.c:1614
-#: pex64igen.c:1797
+#: peigen.c:1831 pepigen.c:1831 pex64igen.c:1831
+#, c-format
+msgid "\tInvalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tDistribuciÃ³n de nombres de punteros Invalido rva (0x%lx) o contador de entrada (0x%lx)\n"
+
+#: peigen.c:1838 pepigen.c:1838 pex64igen.c:1838
+#, c-format
+msgid "\tInvalid Ordinal Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tDistribuciÃ³n Ordinal InvÃ¡lida rva (0x%lx) o contador de entrada (0x%lx)\n"
+
+#: peigen.c:1852 pepigen.c:1852 pex64igen.c:1852
+#, c-format
+msgid "\t[%4ld] <corrupt offset: %lx>\n"
+msgstr "\t[%4ld] <desplazamiento corrupto: %lx>\n"
+
+#: peigen.c:1906 peigen.c:2103 pepigen.c:1906 pepigen.c:2103 pex64igen.c:1906
+#: pex64igen.c:2103
 #, c-format
 msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
 msgstr "Aviso, el tamaÃ±o de la secciÃ³n .pdata (%ld) no es un mÃºltiplo de %d\n"
 
-#: peigen.c:1621 pepigen.c:1621 pex64igen.c:1621
+#: peigen.c:1910 peigen.c:2107 pepigen.c:1910 pepigen.c:2107 pex64igen.c:1910
+#: pex64igen.c:2107
+#, c-format
+msgid ""
+"\n"
+"The Function Table (interpreted .pdata section contents)\n"
+msgstr ""
+"\n"
+"La Tabla Funcional (se interpretaron los contenidos de la secciÃ³n .pdata)\n"
+
+#: peigen.c:1913 pepigen.c:1913 pex64igen.c:1913
 #, c-format
 msgid " vma:\t\t\tBegin Address    End Address      Unwind Info\n"
 msgstr " vma:\t\t\tDirecciÃ³n Inicio DirecciÃ³n Fin    InformaciÃ³n Desenvuelta\n"
 
-#: peigen.c:1623 pepigen.c:1623 pex64igen.c:1623
+#: peigen.c:1915 pepigen.c:1915 pex64igen.c:1915
 #, c-format
 msgid ""
 " vma:\t\tBegin    End      EH       EH       PrologEnd  Exception\n"
 "     \t\tAddress  Address  Handler  Data     Address    Mask\n"
 msgstr ""
-" vma:\t\tInicio   Fin      EH       EH       FinPrÃ³logo ExcepciÃ³n\n"
-"     \t\tDirecc   Direcc   Asa      Datos    DirecciÃ³n  MÃ¡scara\n"
+" vma:\t\tInicio   Final    EH       EH       FinPrÃ³log   ExcepciÃ³n\n"
+"     \t\tDirecc   Direcc   Asa      Datos    DirecciÃ³n   MÃ¡scara\n"
+
+#: peigen.c:1928 pepigen.c:1928 pex64igen.c:1928
+#, c-format
+msgid "Virtual size of .pdata section (%ld) larger than real size (%ld)\n"
+msgstr "TamaÃ±o virtual de secciÃ³n .pdata (%ld) mÃ¡s grande que el tamaÃ±o real (%ld)\n"
 
-#: peigen.c:1697 pepigen.c:1697 pex64igen.c:1697
+#: peigen.c:1998 pepigen.c:1998 pex64igen.c:1998
 #, c-format
 msgid " Register save millicode"
 msgstr " Registro para guardar milicÃ³digo"
 
-#: peigen.c:1700 pepigen.c:1700 pex64igen.c:1700
+#: peigen.c:2001 pepigen.c:2001 pex64igen.c:2001
 #, c-format
 msgid " Register restore millicode"
 msgstr " Registro para restaurar milicÃ³digo"
 
-#: peigen.c:1703 pepigen.c:1703 pex64igen.c:1703
+#: peigen.c:2004 pepigen.c:2004 pex64igen.c:2004
 #, c-format
 msgid " Glue code sequence"
 msgstr " Secuencia de cÃ³digo pegamento"
 
-#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
+#: peigen.c:2109 pepigen.c:2109 pex64igen.c:2109
 #, c-format
 msgid ""
 " vma:\t\tBegin    Prolog   Function Flags    Exception EH\n"
@@ -6185,7 +8542,7 @@ msgstr ""
 " vma:\t\tInicio   PrÃ³logo  FunciÃ³n  Opciones ExcepciÃ³n EH\n"
 "     \t\tDirecc   Longitud Longitud 32b exc  Manejador Datos\n"
 
-#: peigen.c:1929 pepigen.c:1929 pex64igen.c:1929
+#: peigen.c:2231 pepigen.c:2231 pex64igen.c:2231
 #, c-format
 msgid ""
 "\n"
@@ -6196,7 +8553,7 @@ msgstr ""
 "\n"
 "Reubicaciones de Fichero Base PE (se interpretaron los contenidos de la secciÃ³n .reloc)\n"
 
-#: peigen.c:1958 pepigen.c:1958 pex64igen.c:1958
+#: peigen.c:2261 pepigen.c:2261 pex64igen.c:2261
 #, c-format
 msgid ""
 "\n"
@@ -6205,15 +8562,145 @@ msgstr ""
 "\n"
 "DirecciÃ³n Virtual: %08lx TamaÃ±o del trozo %ld (0x%lx) NÃºmero de composturas %ld\n"
 
-#: peigen.c:1971 pepigen.c:1971 pex64igen.c:1971
+#: peigen.c:2279 pepigen.c:2279 pex64igen.c:2279
 #, c-format
 msgid "\treloc %4d offset %4x [%4lx] %s"
 msgstr "\treubicaciÃ³n %4d desplazamiento %4x [%4lx] %s"
 
+#: peigen.c:2340 pepigen.c:2340 pex64igen.c:2340
+#, c-format
+msgid "%03x %*.s Entry: "
+msgstr "%03x %*.s Entrada: "
+
+#: peigen.c:2364 pepigen.c:2364 pex64igen.c:2364
+#, c-format
+msgid "name: [val: %08lx len %d]: "
+msgstr "nombre: [val: %08lx len %d]: "
+
+#: peigen.c:2384 pepigen.c:2384 pex64igen.c:2384
+#, c-format
+msgid "<corrupt string length: %#x>\n"
+msgstr "<anchura corrupta: %#x>\n"
+
+#: peigen.c:2394 pepigen.c:2394 pex64igen.c:2394
+#, c-format
+msgid "<corrupt string offset: %#lx>\n"
+msgstr "<cadena desplz corrupto: %#lx>\n"
+
+#: peigen.c:2399 pepigen.c:2399 pex64igen.c:2399
+#, c-format
+msgid "ID: %#08lx"
+msgstr "ID: %#08lx"
+
+#: peigen.c:2402 pepigen.c:2402 pex64igen.c:2402
+#, c-format
+msgid ", Value: %#08lx\n"
+msgstr ", Valor: %#08lx\n"
+
+#: peigen.c:2424 pepigen.c:2424 pex64igen.c:2424
+#, c-format
+msgid "%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n"
+msgstr "%03x %*.s  Hoja: Direc: %#08lx, Tam: %#08lx, PÃ¡gCodigo: %d\n"
+
+#: peigen.c:2466 pepigen.c:2466 pex64igen.c:2466
+#, c-format
+msgid "<unknown directory type: %d>\n"
+msgstr "<tipo directivo desconocido: %d>\n"
+
+#: peigen.c:2474 pepigen.c:2474 pex64igen.c:2474
+#, c-format
+msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"
+msgstr " Tabla: Car: %d, Tiempo: %08lx, Ver: %d/%d, NÃºm Nombres: %d, %d\n"
+
+#: peigen.c:2563 pepigen.c:2563 pex64igen.c:2563
+#, c-format
+msgid "Corrupt .rsrc section detected!\n"
+msgstr ""
+"Â¡Detectada secciÃ³n .rsrc corrupta!\n"
+"\n"
+
+#: peigen.c:2587 pepigen.c:2587 pex64igen.c:2587
+#, c-format
+msgid ""
+"\n"
+"WARNING: Extra data in .rsrc section - it will be ignored by Windows:\n"
+msgstr ""
+"\n"
+"ATENCIÃ“N: Datos adicionales dentro en secciÃ³n .rsrc - serÃ¡ ignorado por Ventanas:\n"
+
+#: peigen.c:2593 pepigen.c:2593 pex64igen.c:2593
+#, c-format
+msgid " String table starts at offset: %#03x\n"
+msgstr " Tabla de cadenas inicia en desplazamiento: %#03x\n"
+
+#: peigen.c:2596 pepigen.c:2596 pex64igen.c:2596
+#, c-format
+msgid " Resources start at offset: %#03x\n"
+msgstr " Recursos inician en desplazamiento: %#03x\n"
+
+#: peigen.c:2648 pepigen.c:2648 pex64igen.c:2648
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory, but the section containing it could not be found\n"
+msgstr ""
+"\n"
+"Hay un directorio depurante, pero la secciÃ³n conteniÃ©ndola no pudo ser encontrada\n"
+"\n"
+
+#: peigen.c:2654 pepigen.c:2654 pex64igen.c:2654
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"Hay un directorio depurante dentro de %s, pero esa secciÃ³n no tiene contenidos\n"
+
+#: peigen.c:2661 pepigen.c:2661 pex64igen.c:2661
+#, c-format
+msgid ""
+"\n"
+"Error: section %s contains the debug data starting address but it is too small\n"
+msgstr ""
+"\n"
+"Error: secciÃ³n %s contiene los datos depurados iniciando en direcciÃ³n pero es demasiado pequeÃ±o\n"
+
+#: peigen.c:2666 pepigen.c:2666 pex64igen.c:2666
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory in %s at 0x%lx\n"
+"\n"
+msgstr ""
+"\n"
+"Hay un directorio depurante dentro de %s en %lx\n"
+"\n"
+
+#: peigen.c:2673 pepigen.c:2673 pex64igen.c:2673
+#, c-format
+msgid "The debug data size field in the data directory is too big for the section"
+msgstr "El tamaÃ±o del campo de datos depurados es demasiado grande para la secciÃ³n"
+
+#: peigen.c:2678 pepigen.c:2678 pex64igen.c:2678
+#, c-format
+msgid "Type                Size     Rva      Offset\n"
+msgstr "Tipo             TamaÃ±o         Rva      Despl\n"
+
+#: peigen.c:2726 pepigen.c:2726 pex64igen.c:2726
+#, c-format
+msgid "(format %c%c%c%c signature %s age %ld)\n"
+msgstr "(formato %c%c%c%c signatura %s envejecimiento %ld)\n"
+
+#: peigen.c:2734 pepigen.c:2734 pex64igen.c:2734
+#, c-format
+msgid "The debug directory size is not a multiple of the debug directory entry size\n"
+msgstr "El tamaÃ±o de directorio de depuraciÃ³n no es un mÃºltiplo del tamaÃ±o de entrada de directorio depurador\n"
+
 #. The MS dumpbin program reportedly ands with 0xff0f before
 #. printing the characteristics field.  Not sure why.  No reason to
 #. emulate it here.
-#: peigen.c:2010 pepigen.c:2010 pex64igen.c:2010
+#: peigen.c:2754 pepigen.c:2754 pex64igen.c:2754
 #, c-format
 msgid ""
 "\n"
@@ -6222,38 +8709,220 @@ msgstr ""
 "\n"
 "CaracterÃ­sticas 0x%x\n"
 
-#: peigen.c:2310 pepigen.c:2310 pex64igen.c:2310
+#: peigen.c:2989 pepigen.c:2989 pex64igen.c:2989
+#, c-format
+msgid "%B: Data Directory size (%lx) exceeds space left in section (%Lx)"
+msgstr "%B: tamaÃ±o de Directorio e Datos (%lx) excede espacio izquierdo dentro de secciÃ³n (%Lx)"
+
+#: peigen.c:3019 pepigen.c:3019 pex64igen.c:3019
+msgid "Failed to update file offsets in debug directory"
+msgstr "Fallado al actualizar desplazamiento en directorio depurante"
+
+#: peigen.c:3025 pepigen.c:3025 pex64igen.c:3025
+msgid "%B: Failed to read debug data section"
+msgstr "%B: fallaba al leer secciÃ³n de datos depurados"
+
+#: peigen.c:3841 pepigen.c:3841 pex64igen.c:3841
+#, c-format
+msgid ".rsrc merge failure: duplicate string resource: %d"
+msgstr ".rsrc uniÃ³n fallado: recurso de cadena duplicada: %d"
+
+#: peigen.c:3976 pepigen.c:3976 pex64igen.c:3976
+msgid ".rsrc merge failure: multiple non-default manifests"
+msgstr "uniÃ³n .rsrc fallada: mÃºltiples manifestaciones no-predeterminadas"
+
+#: peigen.c:3994 pepigen.c:3994 pex64igen.c:3994
+msgid ".rsrc merge failure: a directory matches a leaf"
+msgstr "fallo de mezcla .rsrc: un directorio coincide con una hoja"
+
+#: peigen.c:4036 pepigen.c:4036 pex64igen.c:4036
+msgid ".rsrc merge failure: duplicate leaf"
+msgstr "fallo de mezcla .rsrc: hoja duplicada"
+
+#: peigen.c:4038 pepigen.c:4038 pex64igen.c:4038
+#, c-format
+msgid ".rsrc merge failure: duplicate leaf: %s"
+msgstr "fallo de mezcla .rsrc: hoja duplicada: %s"
+
+#: peigen.c:4104 pepigen.c:4104 pex64igen.c:4104
+msgid ".rsrc merge failure: dirs with differing characteristics\n"
+msgstr "fallo de mezcla .rsrc: dirs con caracterÃ­sticas diferentes\n"
+
+#: peigen.c:4111 pepigen.c:4111 pex64igen.c:4111
+msgid ".rsrc merge failure: differing directory versions\n"
+msgstr "fallo de mezcla .rsrc: versiones de directorio diferentes\n"
+
+#. Corrupted .rsrc section - cannot merge.
+#: peigen.c:4228 pepigen.c:4228 pex64igen.c:4228
+msgid "%B: .rsrc merge failure: corrupt .rsrc section"
+msgstr "%B: uniÃ³n .rsrc fallada: secciÃ³n .rsrc corrupta"
+
+#: peigen.c:4236 pepigen.c:4236 pex64igen.c:4236
+msgid "%B: .rsrc merge failure: unexpected .rsrc size"
+msgstr "%B: uniÃ³n .rsrc fallada: tamaÃ±o inesperado .rsrc"
+
+#: peigen.c:4375 pepigen.c:4375 pex64igen.c:4375
 msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
 msgstr "%B: no se puede llenar DataDictionary[1] porque falta .idata$2"
 
-#: peigen.c:2330 pepigen.c:2330 pex64igen.c:2330
+#: peigen.c:4395 pepigen.c:4395 pex64igen.c:4395
 msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
 msgstr "%B: no se puede llenar DataDictionary[1] porque falta .idata$4"
 
-#: peigen.c:2351 pepigen.c:2351 pex64igen.c:2351
+#: peigen.c:4416 pepigen.c:4416 pex64igen.c:4416
 msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
 msgstr "%B: no se puede llenar DataDictionary[12] porque falta .idata$5"
 
-#: peigen.c:2371 pepigen.c:2371 pex64igen.c:2371
+#: peigen.c:4436 pepigen.c:4436 pex64igen.c:4436
 msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"
 msgstr "%B: no se puede llenar DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] porque falta .idata$6"
 
-#: peigen.c:2413 pepigen.c:2413 pex64igen.c:2413
+#: peigen.c:4478 pepigen.c:4478 pex64igen.c:4478
 msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing"
 msgstr "%B: no se puede llenar DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] porque falta .idata$6"
 
-#: peigen.c:2438 pepigen.c:2438 pex64igen.c:2438
+#: peigen.c:4503 pepigen.c:4503 pex64igen.c:4503
 msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
 msgstr "%B: no se puede llenar DataDictionary[9] porque falta __tls_used"
 
-#~ msgid "%B: error: taking the address of protected function '%s' cannot be done when making a shared library"
-#~ msgstr "%B: error: no se puede tomar la direcciÃ³n de la funciÃ³n protegida '%s' cuando se hace una biblioteca compartida"
+#~ msgid "Unrecognized reloc"
+#~ msgstr "No se reconoce la reubicaciÃ³n"
+
+#~ msgid "%s: warning: illegal symbol index %ld in relocs"
+#~ msgstr "%s: aviso: Ã­ndice de sÃ­mbolos %ld ilegal en reubicaciones"
+
+#~ msgid "Dwarf Error: Bad abbrev number: %u."
+#~ msgstr "Error de Dwarf: NÃºmero de abreviaciÃ³n errÃ³neo: %u."
+
+#~ msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
+#~ msgstr "%B: no se sabe cÃ³mo manejar la secciÃ³n especÃ­fica alojada de la aplicaciÃ³n `%s' [0x%8x]"
+
+#~ msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
+#~ msgstr "%B: no se sabe cÃ³mo manejar la secciÃ³n especÃ­fica de procesador `%s' [0x%8x]"
+
+#~ msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
+#~ msgstr "%B: no se sabe cÃ³mo manejar la secciÃ³n especÃ­fica de SO `%s' [0x%8x]"
+
+#~ msgid "%B: don't know how to handle section `%s' [0x%8x]"
+#~ msgstr "%B: no se sabe cÃ³mo manejar la secciÃ³n `%s' [0x%8x]"
+
+#~ msgid ""
+#~ "%B(%s): warning: interworking not enabled.\n"
+#~ "  first occurrence: %B: thumb call to arm"
+#~ msgstr ""
+#~ "%s(%s): aviso: no se activÃ³ la interoperabilidad.\n"
+#~ "  primer suceso: %B: llamada thumb a arm"
+
+#~ msgid "DIV usage mismatch between %B and %B"
+#~ msgstr "no coincide el uso de DIV entre %B y %B"
+
+#~ msgid " [has entry point]"
+#~ msgstr " [tiene punto de entrada]"
+
+#~ msgid "%B: unsupported relocation type %i"
+#~ msgstr "%B: no se admite el tipo de reubicaciÃ³n %i"
+
+#~ msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
+#~ msgstr "%s: usa campos de e_flags diferentes (0x%lx) que los mÃ³dulos previos (0x%lx)"
+
+#~ msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
+#~ msgstr "%B(%A+0x%lx): la reubicaciÃ³n R_68K_TLS_LE32 no se permite en objetos compartidos"
+
+#~ msgid "%s: unknown relocation type %d"
+#~ msgstr "%s: tipo de reubicaciÃ³n %d desconocido"
+
+#~ msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
+#~ msgstr "%s: El objetivo (%s) de una reubicaciÃ³n %s estÃ¡ en la secciÃ³n errÃ³nea (%s)"
 
-#~ msgid "%B(%A+0x%lx): cannot reach %s"
-#~ msgstr "%B(%A+0x%lx): no se puede alcanzar %s"
+#~ msgid "Warning: %B uses soft float, %B uses single-precision hard float"
+#~ msgstr "Aviso: %B usa coma flotante soft, %B usa coma flotante hard de precisiÃ³n simple"
 
-#~ msgid "%B: warning: ignoring duplicate section `%A'\n"
-#~ msgstr "%B: aviso: se descarta la secciÃ³n duplicada `%A'\n"
+#~ msgid "Warning: %B uses unknown small structure return convention %d"
+#~ msgstr "Aviso: %B usa la convenciÃ³n de devoluciÃ³n de estructura small %d"
+
+#~ msgid "%P: dynamic variable `%s' is zero size\n"
+#~ msgstr "%P: la variable dinÃ¡mica `%s' es de tamaÃ±o cero\n"
+
+#~ msgid " [dsp]"
+#~ msgstr " [dsp]"
+
+#~ msgid "%s: Malformed reloc detected for section %s"
+#~ msgstr "%s: Se detectÃ³ una reubicaciÃ³n malformada para la secciÃ³n %s"
+
+#~ msgid "  %s: 0x%v\n"
+#~ msgstr "  %s: 0x%v\n"
+
+#~ msgid "%s: 0x%v 0x%v\n"
+#~ msgstr "%s: 0x%v 0x%v\n"
+
+#~ msgid "   %s%s %s\n"
+#~ msgstr "   %s%s %s\n"
+
+#~ msgid "%B(%A+0x"
+#~ msgstr "%B(%A+0x"
+
+#~ msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
+#~ msgstr "%P: %H: no se admiten los TOCs mÃºltiples automÃ¡ticos, utilizando sus ficheros crt; recompile con -mminimal-toc o actualice gcc\n"
+
+#~ msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
+#~ msgstr "%P: %H: la optimizaciÃ³n de llamada hermana a `%s' no permite TOCs mÃºltiples automÃ¡ticos; recompile con -mminimal-toc Ã³ -fno-optimize-sibling-calls, o vuelva `%s' externa\n"
+
+#~ msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
+#~ msgstr "%B: no se puede usar la reubicaciÃ³n %s contra %s sin definir `%s' cuando se hace un objeto compartido%s"
+
+#~ msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
+#~ msgstr "nota: se define '%s' en DSO %B asÃ­ que se tratarÃ¡ de agregarlo a la lÃ­nea de Ã³rdenes del enlazador"
+
+#~ msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
+#~ msgstr "Aviso: %B usa -msingle-float, %B usa -mips32r2 -mfp64"
+
+#~ msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
+#~ msgstr "Aviso: %B usa -mdouble-float, %B usa -mips32r2 -mfp64"
+
+#~ msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
+#~ msgstr "bfd_mach_o_read_symtab_symbol: el sÃ­mbolo \"%s\" no admite la referencia 'indirect': se cambia a indefinido"
+
+#~ msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
+#~ msgstr "bfd_mach_o_read_dysymtab_symbol: no se pueden leer %lu bytes en %lu"
+
+#~ msgid "Mach-O header:\n"
+#~ msgstr "encabezado de Mach-O:\n"
+
+#~ msgid " magic     : %08lx\n"
+#~ msgstr " magic     : %08lx\n"
+
+#~ msgid " cputype   : %08lx (%s)\n"
+#~ msgstr " tipocpu   : %08lx (%s)\n"
+
+#~ msgid " filetype  : %08lx (%s)\n"
+#~ msgstr " tipofich  : %08lx (%s)\n"
+
+#~ msgid " ncmds     : %08lx (%lu)\n"
+#~ msgstr " nordenes  : %08lx (%lu)\n"
+
+#~ msgid " sizeofcmds: %08lx\n"
+#~ msgstr " tamordenes: %08lx\n"
+
+#~ msgid " flags     : %08lx ("
+#~ msgstr " opciones  : %08lx ("
+
+#~ msgid " reserved  : %08x\n"
+#~ msgstr " reservado : %08x\n"
+
+#~ msgid "Segments and Sections:\n"
+#~ msgstr "Segmentos y Secciones:\n"
+
+#~ msgid " #: Segment name     Section name     Address\n"
+#~ msgstr " #: Nombre segmento  Nombre secciÃ³n   DirecciÃ³n\n"
+
+#~ msgid "Symbol %s replaced by %s\n"
+#~ msgstr "Se reemplazÃ³ el sÃ­mbolo %s por %s\n"
+
+#~ msgid "[%u]: %u\n"
+#~ msgstr "[%u]: %u\n"
+
+#~ msgid ": %u.%u\n"
+#~ msgstr ": %u.%u\n"
 
 #~ msgid "%B: warning: duplicate section `%A' has different size\n"
 #~ msgstr "%B: aviso: la secciÃ³n duplicada `%A' es de tamaÃ±o diferente\n"
@@ -6261,9 +8930,6 @@ msgstr "%B: no se puede llenar DataDicti
 #~ msgid "relocation references a different segment"
 #~ msgstr "la reubicaciÃ³n referencÃ­a un segmento diferente"
 
-#~ msgid "%B: relocation type %d not implemented"
-#~ msgstr "%B: el tipo de reubicaciÃ³n %d aÃºn no estÃ¡ implementado"
-
 #~ msgid "warning: %B and %B differ in position-dependence of data addressing"
 #~ msgstr "aviso: %B y %B difieren en el direccionamiento de datos dependiente de posiciÃ³n"
 
@@ -6480,9 +9146,6 @@ msgstr "%B: no se puede llenar DataDicti
 #~ msgid "  first occurrence: %s: thumb call to arm"
 #~ msgstr "  primera ocurrencia: %s: llamada thumb a arm"
 
-#~ msgid "  consider relinking with --support-old-code enabled"
-#~ msgstr "  considere el reenlace con --support-old-code activado"
-
 #~ msgid "reloc against unsupported section"
 #~ msgstr "reubicaciÃ³n contra una secciÃ³n no admitida"
 
@@ -6656,15 +9319,9 @@ msgstr "%B: no se puede llenar DataDicti
 #~ msgid "TIR_S_C_CTL_STKDL not fully implemented"
 #~ msgstr "TIR_S_C_CTL_STKDL no estÃ¡ completamente implementado"
 
-#~ msgid " vma:            Hint    Time      Forward  DLL       First\n"
-#~ msgstr " vma:            Pista   Tiempo    Adelante DLL       Primero\n"
-
 #~ msgid "     \t\tAddress  Address  Handler  Data     Address    Mask\n"
 #~ msgstr "      \t\tDirecciÃ³n DirecciÃ³n Manejador Datos DirecciÃ³n MÃ¡scara\n"
 
-#~ msgid "integer"
-#~ msgstr "entero"
-
 # FIXME: Revisar el contexto en el cÃ³digo para confirmar esta traducciÃ³n. cfuga
 #~ msgid "soft"
 #~ msgstr "suave"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/fr.gmo ./bfd/po/fr.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/fr.gmo	2018-07-03 02:10:53.000000000 +0000
+++ ./bfd/po/fr.gmo	2018-07-10 02:10:41.000000000 +0000
@@ -1,70 +1,68 @@
-Þ•Ët6	Ìl@‘A‘N‘b‘{‘Aš‘?Ü‘:’W’n’�’$ ’3Å’ù’“%&“L“A^“& “Ç“à“ù“”"” A”b”‚”›”²”¿”PÒ”#•*;•9f•6 •;×•–F%–6l–6£–:Ú–5—,K—Dx—N½—J˜)W˜G�˜:É˜B™LG™)”™B¾™LšNšdšD{šGÀš›'›9›M›e›z›3™›Í›ä›0ö›'œ7œGœ+aœ+�œ+¹œ#åœ	�!�*�H�?_�>Ÿ�7Þ�ž-žMžjžƒžžž¾ž×žòžŸ Ÿ,4ŸaŸqŸŠŸ¢Ÿ¹ŸÈŸÞŸøŸ1 A R _ v ‘ #© +Í &ù 5 ¡V¡n¡ˆ¡ž¡¸¡Ñ¡è¡$þ¡#¢<¢\¢t¢$‰¢®¢Â¢×¢<ð¢-£<£
K£Y£m£ …£¦£Á£Ñ£ñ£
¤-¤F¤_¤*r¤�¤¯¤&Á¤è¤0ü¤-¥"A¥	d¥n¥#�¥¥¥¾¥Ï¥è¥"¦$¦"8¦#[¦#¦£¦#¸¦#Ü¦§
§+§I§O§W§\§
-y§„§‰§!�§ ±§Ò§×§Ü§ô§¨4¨9¨M¨!R¨t¨{¨�¨†¨‹¨‘¨•¨š¨¶¨"Ï¨ò¨÷¨©+©&K©Br©µ©Õ©Ú©ß©æ©ì©ñ©ª
-ªª%ª>ªRªcªtª…ª–ª§ª¿ª	Îª
Øª
æª
-ôª
-ÿª
-
-«
-« «
-5«$@«
-e«#p«%”«
-º«Å«×«$ï«¬2¬!L¬n¬ƒ¬
-’¬
�¬	«¬µ¬
-Æ¬Ñ¬Ø¬ð¬
-­­+­B­]­l­…­”­›­»­(Ë­/ô­$®6®+E®q®A�®Ï®é®¯¯82¯k¯ƒ¯˜¯&²¯Ù¯ø¯2°?F°&†°­°(Ì°õ°"±+±*K±6v±{­±r)²xœ²³:+³f³Dx³*½³7è³$ ´'E´*m´!˜´=º´Aø´E:µ€µ%ŸµDÅµ
-¶r(¶.›¶,Ê¶*÷¶%"·4H·}·-œ·2Ê·Lý·>J¸©‰¸G3¹8{¹	´¹J¾¹5	º8?º(xº,¡ºZÎº`)»PŠ»EÛ»F!¼Fh¼O¯¼Hÿ¼3H½<|½%¹½Aß½n!¾K�¾ÁÜ¾:ž¿:Ù¿7À*LÀ8wÀA°ÀIòÀC<ÁK€Á.ÌÁ<ûÁ98ÂBrÂTµÂT
-ÃT_Ã‰´Ã<>Äm{Ä[éÄPEÅ<–ÅDÓÅ^Æ|wÆDôÆ€9Ç1ºÇJìÇI7È>�ÈmÀÈ6.É!eÉ‡É&›É(ÂÉ<ëÉA(Ê&jÊ‘Ê7¥Ê!ÝÊ#ÿÊ&#Ë8JËCƒË ÇË èË)	Ì.3Ì0bÌ.“Ì.ÂÌ>ñÌ>0Í/oÍ/ŸÍFÏÍ>ÎDUÎ@šÎ@ÛÎFÏDcÏ@¨Ï@éÏ-*Ð(XÐ�Ð7ŸÐ1×Ð0	Ñ/:Ñ)jÑ/”Ñ;ÄÑhÒ<iÒA¦Ò<èÒ/%Ó-UÓ&ƒÓMªÓ3øÓ3,ÔO`ÔW°ÔOÕoXÕ+ÈÕAôÕ76Ö9nÖT¨Ö5ýÖ#3×.W×.†×%µ×7Û×2Ø7FØE~Ø>ÄØ2Ù:6ÙUqÙ2ÇÙ|úÙ(wÚ( Ú3ÉÚ[ýÚZYÛ+´Û+àÛÜ/&Ü(VÜ7Ü7·Ü<ïÜ?,ÝQlÝ3¾Ý5òÝ'(Þ=PÞ:ŽÞGÉÞ<ß"NßMqß6¿ßKößDBà!‡à:©à7äàá:á.Vá.…á´á1Ôáâ'#â%Kâ qâE’â4Øâ(
ãH6ã?ã<¿ãGüã@Dä7…ä-½ä*ëä<å7Så1‹å8½å:öå21æ+dæt�æ/ç 5ç-Vç^„ç]ãç0AèIrè@¼èAýè.?é+né7šéÒé+òéIê$hê+�ê¹ê×êAðêH2ë>{ë+ºëIæë90ì;jì¦ì;Æì;í>í+YíG…í.Íí.üí5+î@aî@¢îIãî=-ïIkïIµï4ÿï94ð,nð.›ð/Êð'úðk"ñuŽñ@ò5Eò{ò2˜ò.Ëò*úò)%ó?Oó!�ó#±ó.Õó8ô*=ô hôA‰ôEËôBõBTõ:—õ3Òõ$öI+ö;uö9±ö5ëö&!÷%H÷4n÷&£÷4Ê÷1ÿ÷$1ø$Vø/{ø«ø&Éø%ðø<ù#Sù*wù'¢ù>ÊùB	ú3Lú&€ú §ú"Èú!ëú!
û!/û%Qû!wû ™û!ºû#Üû!ü!"ü!Dü$fü$‹ü °ü"Ñü!ôü#ý$:ý_ý"ý"¢ý!Åý!çý	þ)þ!Eþ#gþ"‹þ#®þ!Òþ'ôþ3ÿlPÿ@½ÿ?þÿG>F†JÍHKaG­BõX84‘/Æö4 J!kN�4Ü0B(Y.‚(±*Ú62<5o8¥WÞZ6B‘5Ô=
-<H(…-®0Ü
P' x/™&É!ð@	iS	0½	1î	* 
-!K
-4m
-;¢
-&Þ
-$'*=RD�Õ2ò0%PVK§GóC;
`
rà
AS�•S<ka¨a
-flfÓF:-�2¯(â31?,q-žDÌB5T6Š*Á#ì2)C-m.›*Ê(õ]J|7Çÿ44'iD‘CÖCE^^¤])a(‹+´$à))/7Y9‘&Ë&ò&2@+s=Ÿ,Ý
-+(T-j˜·,Ö#1'*Y'„&¬%Ó&ù' )H,r%Ÿ*Å$ð%%;2a'”*¼"ç#
-".&Q-x,¦[ÓC/ Gs C» Gÿ OG!W—!Gï!97"(q"*š"Å"5å"6#>R#2‘#5Ä#@ú#P;$3Œ$PÀ$2%AD%K†%@Ò%K&-_&`�&=î&J,'2w'<ª';ç'7#(3[(/�(?¿(7ÿ(*7)1b);”)2Ð)W*O[*&«*3Ò*[+Wb+-º+oè++X,]„,-â,+-<-2Z-)�-V·-<.(K.3t.#¨.%Ì.2ò.%/2E/=x/;¶/Bò/A50:w02²0?å0%1<D18�19º1ô12&22Y2›r2/3%>3*d3/�3%¿3"å3-4+64.b4$‘46¶46í4$5.C5+r5$ž5"Ã57æ5!6%@6Af6G¨66ð6='7:e7: 7DÛ78 89Y8C“8:×8798J9Pƒ9DÔ99:,S:0€:#±:-Õ:;-;6L;ƒ;7Ÿ;;×;:<:N<!‰<3«<.ß</=>=L^=1«=*Ý=%>$.>9S>O�>#Ý>,?1.?B`?5£?(Ù?5@"8@.[@8Š@GÃ@UA>aA  AÁA!ßA B'"BbJB3­B)áB=C%IC*oC0šC&ËC&òC7D7QD]‰D8çD EO?E,�E+¼EYèE)BF;lF0¨F/ÙF?	G9IG6ƒG/ºGCêG&.HWUHQ­HÿHI.ICIRYIF¬IFóI::JuJˆJœJ®JÈJ
ÜJ'êJK
K,K%=K\cK;ÀKüKL$L'LDLQL	jLtL†L—L,¤LÑLåLûL"M/8M/hM2˜M9ËM#N')N2QN3„N¸N;ÈNOOO(O8O?OGO[OpO…O—OªOÁOÞOðOP	-P7P	UP"_P+‚P#®P,ÒP:ÿP:QLQ)hQ/’Q?ÂQ=R	@R"JRmR„R+�R¹RÅRÉRÜRîRS'S:S WS#xSœS>¶S<õS2T DT0eTD–T,ÛTU(U:U$XU$}U'¢U%ÊU'ðUV6VVV"vV™V©V¾VÓVêV)W*W#@W-dWI’W:ÜW8X2PXFƒX1ÊXAüX,>Y-kY'™Y.ÁYYðY_JZ;ªZ)æZ![G2[1z[$¬[Ñ[Hæ[5/\%e\‹\5¨\Þ\
-ó\"þ\!]3];]0C]t]�]¨]½]Ê]Ù]
÷]^B^/Z^+Š^8¶^ï^$_!*_1L_~_�_+¼_è_
-ü_`9&```'r`š`¬`.Ê`-ù`G'a3oa£a"Âa)åa*bI:b „b¥b%Âbèbûbc.,c[c,yc)¦c"Ðcócd$d*Cd+ndšd ·dØd5êd e	2e<eNedeve–e°eÁeÐeâe	ée4óe(f1f
-HfSf"Xf%{f¡f­f¼fÓfïfgg7gPgpg„g–g®g-Ìgúghh3hMhDmh¥²hXi)mi/—i'Çiïiþij"j)j!0j.Rj,�j®j:Êj%k%+kQk?jk9ªkCäk=(lCfl=ªl"èl[m?gm§mÆm)ãm
nnv1n*¨nÓn&åno,o>oEo
-Lo(Wo€o'’oºo×oïop#'p$Kp,pp.�p,Ìp.ùp(q"Eq,hq.•q!Äq1æq0r2Ir,|r.©r#Ørürs(0s/Ys!‰s«s(Ès#ñs+tAt,Zt ‡t¨tÁtátõtu#4u-Xu"†u©u»uÓuæuÿuv v2v2Mv$€v&¥vÌv6ìv	#w!-wDOwD”w/Ùw?	xIx/[x?‹xËxJÜxM'y8uy®yÎyåy;øy4z7Qz-‰z·zJÀz‰{(•{7¾{ö{*|;|S|[|s|‰|š|°|Í|"Ù|#ü|% }F}c}'€}¨}Jº}J~JP~I›~:å~A ;b:žEÙ6€+V€;‚€F¾€@�;F�:‚�Q½�/‚B?‚;‚‚K¾‚F
-ƒaQƒ/³ƒ<ãƒ- „-N„/|„7¬„Bä„!'…iI…D³…dø….]†,Œ†f¹†C ‡d‡#ƒ‡@§‡@è‡4)ˆ8^ˆH—ˆ7àˆ‰˜8‰Ñ‰í‰ÿ‰Š<&Š2cŠ.–Š$ÅŠêŠòŠ	‹‹5‹M‹e‹d}‹â‹6õ‹M,ŒMzŒ=ÈŒg�bn�=Ñ�EŽ1UŽ(‡Ž$°ŽÕŽëŽ4�'<�$d�7‰�Á�Ò�ê���*�B�T�f�x�Š�¤�¿�Ñ�â�ú�‘28‘k‘„‘-ž‘+Ì‘+ø‘*$’	O’	Y’
-c’
-n’y’Ž’�’²’Á’1Æ’ø’-“E“'d“"Œ“¯“Í“â“ë“,	”]6”=””(Ò”Zû”ZV•E±•A÷•G9–B�–WÄ–W—9t—9®—-è—8˜4O˜3„˜9¸˜4ò˜2'™7Z™5’™7È™BšECšB‰šCÌšA›'R›.z›,©›+Ö›*œ.-œ2\œ �œ[°œ@�:M�#ˆ�6¬�<ã�& ž2Gž=zž;¸ž8ôž<-Ÿ%jŸ�Ÿ­ŸNÃŸ- O@  � >± 9ð 
-*¡15¡&g¡&Ž¡!µ¡×¡,ö¡J#¢7n¢
¦¢´¢Ã¢Ö¢ê¢ý¢£7-£6e£6œ£Ó£$ó£_¤"x¤A›¤Ý¤,û¤2(¥[¥k¥¾|¥»;¦÷¦§-§BM§D�§*Õ§L¨M¨`¨u¨Š¨Ÿ™¨9©0A©9r©¬©Æ©Î©Ö©ò©Hù©BªEª2aªO”ªäª«*« 3«T«r«z«‡« ¡«Â«Ë«ß«ô«
-¬¬4¬K¬h¬y¬‹¬Ÿ¬N§¬ö¬ú¬#­6­6N­…­ ¥­8Æ­ÿ­®!®)®2>®q®…®™®­®À®
Ó®Lá® .¯DO¯P”¯å¯÷¯
-°3%°!Y°{°‚°"Š°­°½°MÌ°±2±O±^±.q±% ±'Æ±+î±$²*?²j²0†²
-·²,Â²ï²
³'³/³
G³%U³{³'“³»³Õ³ï³"û³´=´T´f´}´7”´Ì´å´ú´µµ3µGµ]µsµ-’µ)Àµ>êµ7)¶ga¶xÉ¶7B·Ez·4À·%õ·-¸;I¸!…¸§¸!À¸0â¸5¹<I¹<†¹2Ã¹/ö¹.&º=Uº/“º6ÃºFúºA»`»€»,„»Ð±»‚½�½!¤½(Æ½wï½lg¾_Ô¾4¿T¿l¿+Œ¿C¸¿ü¿)	À!3ÀUÀUfÀ+¼ÀèÀÁ"Á<Á"LÁ!oÁ$‘Á¶ÁÔÁíÁýÁiÂ|Â>œÂBÛÂ?Ã>^Ã�Ãb¶ÃDÄE^ÄI¤ÄCîÄ52ÅShÅ\¼ÅWÆ1qÆQ£ÆHõÆO>ÇUŽÇ1äÇOÈVfÈ½ÈØÈSõÈ[IÉ!¥ÉÇÉÜÉðÉ
-Ê Ê5@ÊvÊ‹Ê=�ÊÛÊêÊúÊ,Ë,BË,oË"œË¿Ë×ËàËÌPÌOjÌKºÌÍÍ=ÍZÍsÍ,ŽÍ»ÍÔÍôÍÎ(Î3<ÎpÎ€ÎšÎ¶ÎÓÎåÎûÎÏ5,ÏbÏuÏ‚Ï�Ï¸Ï$ÒÏ+÷Ï'#Ð5KÐ#�Ð¥ÐÄÐÜÐûÐÑ+Ñ)AÑkÑ„Ñ¤Ñ¼Ñ(ÑÑúÑÒ#Ò<<ÒyÒˆÒ
—Ò¥Ò¹Ò"ÕÒøÒÓ&#ÓJÓeÓ…ÓžÓ¼Ó-ÐÓþÓÔ)$ÔNÔ2cÔ–Ô+ªÔ
-ÖÔáÔ#ôÔÕ7ÕJÕdÕ#~Õ¢Õ%¶Õ#ÜÕ#Ö$Ö#5Ö#YÖ}Ö&ŒÖ&³ÖÚÖàÖèÖíÖ
-
-×××) ×3J×~×ƒ×ˆ×#¡×#Å×é×î×Ø4ØEØLØRØWØ\ØbØfØ"kØ#ŽØ/²ØâØ#çØÙ#"Ù4FÙ@{Ù#¼ÙàÙåÙêÙñÙùÙþÙÚÚ2Ú9ÚUÚlÚ}ÚŽÚŸÚ°ÚÁÚØÚ	çÚ
ñÚ
ÿÚ
-
Û
-Û
-#Û
-.Û9Û
-MÛ4XÛ
-�Û[˜ÛPôÛ
-EÜPÜbÜ7�Ü"¹ÜÜÜ,ûÜ(Ý=Ý
LÝZÝ	kÝuÝ
‹Ý™Ý ÝºÝ×ÝéÝÞ+$ÞPÞ _Þ
€ÞŽÞ#•Þ¹Þ1ÈÞ:úÞ5ßKß:\ß—ßG²ß úßà6àQà;fà¢à»àÑà:ìà,'áTá7sáH«á9ôá+.â*Zâ…â#›â-¿â*íâ7ãPãwÐã{HäÄä?Þäåe2å;˜åCÔå0æ,Iæ2væ)©æFÓæJçDeçªç5ÅçVûç#Rè¤vè<é.Xé#‡é'«é2Óé%êC,ê:pêf«ê@ëÛSë]/ìG�ì	ÕìXßì88í@qí0²í4ãírîx‹îOïNTïK£ïKïïT;ðM�ðCÞðc"ñ,†ñG³ñŠûña†òèòA÷óA9ô>{ô5ºôAðôL2õMõNÍõUö;röF®öCõöM9÷l‡÷oô÷jdø“ÏøFcùˆªùp3úX¤úHýúRFû‚™û§üYÄü¦ý+ÅýTñýYFþE þ”æþ;{ÿ+·ÿãÿ4ûÿ00CaE¥4ë Z5#�$´4ÙPU_#µ#Ù0ý6.5e9›<ÕIO\I¬3ö^*@‰FÊEMWO¥HõI>Mˆ?Ö6'MKu>Á9	4:	6o	4¦	CÛ	‹
-W«
-OWS@«=ì7*gbSÊN
nm
wÜ
oTšÄ._]ŽFì\3o�=,>EkB±EôA:3|B°SóMG?•?ÕrDˆŽÍ.\.‹:ºbõwX:Ð:FBf3©PÝA.RpbÃm&;”AÐ4HG@�kÑE=,ƒ`°cQuFÇ J/Dz'¿ç67;$s<˜!Õ(÷- &N[uAÑ) U= U“ Ré \<!M™!Cç!8+"3d"O˜"Wè"N@#Y�#Né#L8$T…$£Ú$8~%'·%<ß%|&{™&?'ZU'X°'R	(8\(7•(CÍ(-)E?)g…)5í)6#*0Z*‹*I©*Pó*QD+9–+aÐ+x2,O«,-û,E)-Eo- µ-=Ö-I.;^.;š.CÖ.r/r�/a0?b0S¢0aö0GX1I 19ê1=$2;b2<ž2‹Û2Ÿg3K4<S4'�4=¸4@ö4(75C`5\¤5.6.06C_6S£6E÷6'=7Ue7\»7Y8Yr8MÌ889$S9Yx9IÒ9G:?d:,¤:?Ñ:?;-Q;;;>»;/ú;/*<7Z<&’<5¹<3ï<C#=1g=>™=)Ø=J>JM>?˜>0Ø>,	?.6?-e?-“?-Á?1ï?-!@,O@-|@/ª@-Ú@-A-6A0dA0•A,ÆA.óA-"B/PB0€B+±B.ÝB.C-;C-iC+—CÃC-âC/D.@D/oD-ŸD;ÍDC	EpMEG¾EFFNMFMœFQêFJ<G[‡GeãGSIHk�HP	I;ZI$–IG»I*J).J\XJFµJ=üJ:K4TKC‰K:ÍK@LOILF™LjàLLKMj˜MqNRuNkÈNI4OM~OAÌOEP=TP ’Pe³P,Q7FQ=~Q-¼QPêQƒ;RC¿RAS4ES,zS;§SDãS&(T%OT2uTE¨TLîT+;UCgU8«UmäUYRVV¬VRW„VW“ÛWPoX±ÀXmrYSàY‚4ZŠ·Z‡B[�Ê[dZ\=¿\9ý\-7]De]Gª]3ò]=&^cd^bÈ^A+_Vm_;Ä_,`G-`3u`8©`5â`:a)Sau}aRóa<Fbƒb�b;¶b1òbF$cEkcE±cG÷c`?d_ dAeLBeH�eHØe6!f5XfFŽfIÕf2g1Rg5„g9ºg0ôgS%h:yh´h.Òhi:i)Ri#|i6 i1×i@	j4Jj1j0±j/âj0k1Ck3uk6©k/àk4l.El/tl/¤l:Ôl0m5@m)vm* m)Ëm-õm9#n8]nr–na	obkoOÎoSpSrprÆp]9qO—q4çq3r)PrOzrCÊrJs9YsO“sZãsV>tW•taít5Ou?…uLÅu@vKSv@ŸvyàvFZwN¡wDðwC5xEyxJ¿xH
-y@SyV”y<ëyJ(zKszU¿zB{yX{dÒ{07|>h|c§|_}Ck}‚¯}52~uh~/Þ~;+J=v3´gèOP€. €KÏ€9�<U�@’�%Ó�Iù�]C‚b¡‚lƒcqƒXÕƒA.„Vp„0Ç„Uø„QN…U …ö…%†;<†x†Ì•†@b‡6£‡CÚ‡@ˆ6_ˆ1–ˆDÈˆ<
‰@J‰3‹‰D¿‰DŠ"IŠ;lŠI¨Š/òŠ7"‹ZZ‹/µ‹3å‹VŒ\pŒ=ÍŒA�=M�>‹�HÊ�;Ž=OŽG�Ž=ÕŽ;�;O�}‹�b	�Xl�LÅ�E‘+X‘0„‘.µ‘Gä‘M,’$z’@Ÿ’Nà’N/“C~“7Â“Dú“B?”B‚”(Å”^î”?M•4�•:Â•2ý•F0–Ww–+Ï–8û–;4—[p—LÌ—:˜<T˜-‘˜B¿˜=™N@™z�™E
-š$Pš"uš<˜š:Õš6›…G›HÍ›FœD]œ2¢œJÕœ: �%[�B��LÄ�Až|SžPÐž!ŸdAŸ6¦Ÿ0ÝŸ_ +n Mš ?è =(¡Mf¡L´¡J¢FL¢P“¢*ä¢k£q{£*í£
¤&¤#<¤e`¤VÆ¤Z¥Ox¥È¥ß¥ô¥¦#¦<¦'K¦s¦
„¦’¦$¢¦iÇ¦>1§p§&‡§®§ ±§Ò§è§	¨¨¨0¨7=¨u¨‹¨!¥¨"Ç¨6ê¨F!©Dh©P­©0þ©1/ª>aªB ªãªA÷ª9«B«K«d«x«�«Š«ž«³«Ç«Ù«ì«¬#¬(7¬'`¬
-ˆ¬"“¬	¶¬*À¬>ë¬.*­6Y­K�­Ü­!î­(®09®Tj®M¿®
¯,¯&J¯	q¯={¯¹¯Í¯Ñ¯ê¯ü¯°0 °Q°)p°+š°Æ°Yâ°R<±�±,¦±=Ó±X²=j²'¨²Ð²&å²%³%2³(X³&�³(¨³Ñ³ ð³ ´#2´V´l´‡´%¥´Ë´6á´µ,3µ6`µL—µDäµ;)¶=e¶f£¶I
-·FT·C›·Lß·/,¸9\¸v–¸t
¹J‚¹2Í¹"ºN#º8rº&«º#ÒºLöº3C»8w»#°»BÔ»¼4¼4D¼y¼‹¼“¼Y›¼õ¼½,½K½]½n½
Œ½š½d¬½?¾4Q¾D†¾Ë¾>è¾;'¿:c¿'ž¿'Æ¿Mî¿<À
-\À2gÀIšÀäÀ$öÀÁ$-Á@RÁ1“ÁQÅÁ<Â/TÂ4„Â=¹ÂH÷ÂO@Ã,�Ã(½Ã0æÃÄ#*ÄNÄ3bÄ$–Ä6»Ä6òÄ-)ÅWÅiÅ$‡Å4¬Å&áÅ*Æ)3Æ]ÆHoÆ¸ÆÊÆÜÆîÆÇÇ9ÇWÇjÇ{Ç�Ç”ÇM�ÇëÇøÇ
È$È(*È2SÈ†È•È¦È!¼ÈÞÈõÈ	É(ÉDÉcÉ}É’É!­É9ÏÉ	ÊÊ2ÊJÊ%jÊq�ÊÁËÄË5ãËGÌ8aÌšÌªÌ¼ÌÎÌÕÌ*ÜÌ3Í1;Í!mÍ=�Í-ÍÍ,ûÍ#(ÎMLÎYšÎRôÎRGÏXšÏAóÏ:5ÐspÐVäÐ;ÑYÑKyÑ	ÅÑ!ÏÑ™ñÑ7‹ÒÃÒ/ÕÒ*Ó0ÓBÓIÓPÓ8cÓœÓ3®ÓâÓÿÓÔ6Ô"MÔ#pÔ3”Ô/ÈÔ3øÔ/,Õ\Õ#{Õ3ŸÕ/ÓÕ%Ö5)Ö=_Ö9�Ö3×Ö/×$;× `×�×+—×1Ã×!õ×Ø)6Ø$`Ø3…Ø¹Ø7ÓØ!Ù-Ù!GÙiÙ#}Ù$¡Ù(ÆÙ3ïÙ&#ÚJÚ\ÚqÚ#ŽÚ²ÚÅÚäÚ"ùÚ2Û/OÛ6Û+¶Û`âÛCÜ2IÜZ|ÜZ×Ü?2ÝTrÝÇÝ2ßÝhÞ{Þk�ÞsùÞAmß(¯ßØßñß5
à#CàHgà0°àáàWêà”Bá8×á>âOâ5lâ¢â¾âÆâàâøâã#-ãQã,]ã"Šã8­ã%æã#ä.0ä_ä`qä]ÒäY0å\ŠåMçå[5æI‘æFÛæT"ç?wç@·çKøçYDèSžèQòèHDé‡�ébêZxêLÓê_ ëZ€ë{Ûë7WìA�ì/Ñì/í01íHbíZ«í0îx7î]°î~ï8�ï8ÆïsÿïTsð/Èð1øðO*ñOzñNÊñCòl]òWÊò1"ó»Tó'ô8ôJô\ôDtô2¹ô=ìôR*õ}õ…õ¥õ¾õÙõñõ!öu-ö£öB¶öYùöYS÷<­÷tê÷o_øBÏøRù2eù)˜ù'Âùêù&úS*úG~ú@ÆúPûXûjû‡û¢û"´û×ûôûüü-ü@ü_ü~ü‘ü"£ü6Æü7ýü65ýlý‰ý>¨ý<çý<$þ<aþ	žþ	¨þ
-²þ
-½þÈþßþîþÿÿ4ÿ&Lÿ<sÿ°ÿ8Íÿ3*:$eŠ#�GÁr	K|)ÈgòhZKÃFIVd zz€QûNM>œOÛG+:sL®GûQCn•LnQSÀd	[y	XÕ	Z.
-+‰
-Fµ
-Cü
-D@1…2·5ê+ rL[¿J
%f
TŒ
=á
'3G\{JØI#Jm5¸#îW/0‡b¸$C@>„Ã>Ï34B,w&¤0ËYüDV›ªºÓçú
@*?kC«!ï&y8²RÎ!5A:w²ÂëÓß¿"Ÿ Â/ãIJ]9¨_âBYo†î“	‚9Œ9Æ()8D`ofÖÚEõm;(©Ò;Ø@FUœ¨´:Ô	/E]s‹¤ÃÕèÿY b "f /‰ ¹ IÒ &!-C!Cq!µ!Í!ä!ð!="F"Y"m"�"”"§"�¶"#8#S\#a°#$%$=$F]$=¤$â$ê$+ó$%/%S>%’%°%Ð%à%Fô%=;&Dy&?¾&4þ&=3'"q'6”'Ë'8Ø'%($7(\(d(~(:Ž(É(6ç():)U))a)‹)«)Ê)"æ)	*A$*#f*Š*Ÿ*±*Ä*Ø*ì*++28+:k+M¦+@ô+‹5,�Á,@_-S -Eô-.:.:i.?¤./ä./(//FX/IŸ/Ié/I30A}01¿0<ñ0N.1E}1JÃ1p2"2#¢2Æ2-Ê2¥¾–¹îŠÓ¢ílbÝåRøª#ðÕYš™+ÊÇÁI{¦bO5�;Ä•ä3	ßn^k|´DçX˜B``ºt÷Xæ#ÇOFZFy§e¸þqº?®_l¨†¤ˆFQD+›ßæ(¹ÿ	?¹ø¼žw@{MHïµýÄÛÍ,\�%dÍBJŒŒû­^ƒ<¨å¦�…}2�jß.dž“˜MýUÄ²«�Ž¡õ¦BÚjp‚�P÷Á
çèiäQÀÛSÉ[}ši¶hÛÔ½•7iÿß$-Î¤YŽÈ¤�ë°·òûv¯b2—XGmÀ°ãÞ´WçYPwˆòs¾|¥àö~‡—S�HÊ³ÚOJ�düÈã“{U7qá%w~�œêÞªÜãa×œ‰Às±©‡\€Mq Ð§p„ö¢Þ±²"÷¯=¾Ì)©×:j™¸�\Œ›Rã.�RT:­œP`!,‰\žÌsÀÝtgL£"�.KÏ!wˆ½àÆOþŠ€~Ó„%=žš|èúP–Ø|eG.°¼žï„UûTL�Ãª]î’V¢›_©Ô4[�Ê¨ ¬ïêLOØå$‚�Òâ1gRíºéó(N>©çíŠt‹c'�/¶Ç$«š�Ó¯6™UhàwHêA	@§q€Â:…(F)Ùå½‡Ó^0ŸÒNÆÑsLyY„¥¼aq>P4’½oæŸ~ÛÂ>šOŸ/IêÆí[ è
-A`Dól€‚ìW�ÜÅ³I±	áüÑ¤vf0ñ§0°CÄ?Æ¼ua�ûÜµ¥«m2�/®^«(ZtÕìulàzÁ…nNÂÑþ½¥ŸÙˆ'±–fMQ	¾›}Z‚¡·“�Ûó¡Áý“‚ä­(›ë
±SfÆ%»Öý¤¶ÈHÙ}¯ÿá?TÍ´ @Ò‹#7/-ÂCjUåP—d'ê‘ýK ­nç<43y ßöØS¶o.ð1StZªÔÃVz
6‘�õøyuÈ*3Ecó8ZzxS'â®U^Õ_¤ôÍ‰¸ *™1Já&ŸŸÉ
-ñ.<­o=ô9’·`0H�T…’Ae·æáõÅ�¸$•;n,œÙªÙ"¿6Œ7²²‘”¡®*p¦¶1=”¸îùÅ¾.9ÞbËˆ�”‰Ë’åGÇ}?x*¿%ù¬–_‘Ü×¿kø¿_³Ö+lÅäV»6²b~'”Aâ‹’@~^dû´g<Ò¶†õì´y†¨€=J:ºC2ŽrgŠ°+â-|)ÔžÓ5HÊ•r�écJk“4ÔµSÙ›¿1˜]No&XfBÍ2"7ŽvNùø¥W8õc\UŠ‘!Œk†×ª”d‰I
-¬gÉ#>÷)(ƒî{&=µNµ±ïBRgL*«Xxr—¾+ÖoQ°e„xXfìº@È;RIG÷KŒèQräÁÈònÿ]·Ò¢RØØŽË^aq•ÆÎËo;]J·Ênâº—Á’ÇÁ`¼Fš“/;k+©öOÌÏ0ò<,”hÏñ[ÉÏ],»¡u9t×Ü%ÐM™¬YvèæNz¦A,9ÓDÿsE‡õMI«4©ú5Ý3�ì€x¸ ™a;‹s
—¿8i{�0Âöc;®Eü6úÝô‚ð“ë‰P€"*CÎ
-u™Ð‹#Kó:&…³'Y$Àù-DÚÖbz:»,¸:CñFœh¹
>ô³ñ§¯>2´H5£s8ã¯Eiv£Œör_p«8ç‰9WÐ9´g4~LEÚ˜r)ÑÅ?
-p(#Çvü!Ze²x=Ž7×Ð|{°‡†ñøÂMÌË½h|<mL9î•þ§Åz¯ôQ¡»þZôŠÍ·&¹ÉðÒ'‡
ãE+&ìTóý�E	§¶ <3ÃBAëÚê��Ëu$­$ÃÆf„]Ðƒ”3–m£5_¢5Ñûuújb5V³ÀƒDÝÃú]fmµëÖ#Þw³vc
-"•\ârVÜ8�ÊI›Qé&Ä
-òjxqmnÅ©CÈÏVà)¬®œ"�)ßÌÖ»ÎaiºëÂ¨¨£Êé>¤£}e4þÎ¥hk�äéW/c%D !06[ï½-ü¹—‘X†3ú‹ÉK*Vï2¾è±-˜@ÏÑ!Ga÷w\œžŸµ j[Äòh»m‚ª¼ÄÎ…K…®‘{¬Éš¨¦1Ã¬Kp?²6ŠÚé- G˜T dlÌ1Ô t‹!FÿŽàíe£y8G­ðËÃy¡BW¹„ùØƒzTÀAùÕ‡æiƒ˜–Õî}[ˆÕüWJÝC
ˆk@¿Yðl`Ûp†¦ƒ/áo¢	7¼–Ç¢íÞ	    TLS: %A	<corrupt: 0x%04lx>	Export Address Table 			Export Address Table 		%08lx
+Þ•ì|7C	Ünè“é“ö“
+”#”AB”?„”:Ä”ÿ”•)•$H•3m•¡•®•%Î•ô•A–&H–o–ˆ–¡–º–Ê– é–
+—*—C—Z—g—Pz—Ë—*ã—9˜6H˜;˜»˜FÍ˜6™6K™:‚™5½™,ó™D šNešJ´š)ÿšG)›:q›B¬›Lï›)<œBfœL©œöœ�D#�Gh�°�Ï�á�õ�
ž"ž3AžužŒž0žžÏžßžïž+	Ÿ+5Ÿ+aŸ#�Ÿ±ŸÉŸÒŸðŸ( ?0 >p %¯ &Õ (ü )%¡GO¡7—¡Ï¡æ¡¢#¢<¢W¢w¢�¢«¢Á¢Ù¢,í¢£*£C£[£r£�£—£±£1È£ú£¤¤/¤J¤#b¤+†¤&²¤5Ù¤¥'¥A¥W¥q¥Š¥¡¥$·¥Ü¥õ¥¦-¦$B¦g¦{¦�¦<©¦æ¦õ¦
§§&§ >§_§z§Š§ª§Æ§æ§ÿ§¨*+¨V¨h¨&z¨¡¨0µ¨æ¨"ú¨„©	¢©¬©#¿©ã©ü©
ª&ª"?ªbª"vª#™ª#½ªáª#öª#«>«K«i«‡«�«•«š«
+·«Â«Ç«!Í« ï«¬¬¬2¬R¬r¬w¬‹¬!�¬²¬¹¬¿¬Ä¬É¬Ï¬Ó¬Ø¬ô¬"
­0­5­U­i­&‰­B°­ó­®®®$®*®/®A®H®\®c®|®�®¡®²®Ã®Ô®å®ý®	¯
¯
$¯
+2¯
+=¯
+H¯
+S¯^¯
+s¯$~¯
+£¯#®¯%Ò¯
+ø¯°°$-°R°p°!Š°¬°Á°
+Ð°
Û°	é°ó°
+±±±.±H±Z±i±€±›±ª±Ã±Ò±Ù±ù±(	²/2²b²t²+ƒ²¯²AË²
³'³A³[³8p³©³Á³Ö³&ð³´6´2Q´?„´&Ä´ë´(
+µ3µ"Fµiµ*‰µ6´µ{ëµrg¶xÚ¶S·:i·¤·D¶·*û·7&¸$^¸'ƒ¸*«¸!Ö¸=ø¸A6¹Ax¹º¹%Ù¹Dÿ¹Dºsbº.Öº,»*2»%]»4ƒ»¸»-×»2¼L8¼;…¼©Á¼Gk½8³½Hì½45¾7j¾9¢¾'Ü¾+¿U0¿Z†¿Oá¿C1À;uÀ$±ÀÖÀ@óÀm4ÁJ¢Á6íÁ6$Â)[Â7…Â@½ÂHþÂBGÃJŠÃ-ÕÃ;Ä8?Ä2xÄ¿«ÄVkÅ\ÂÅ:Æ:ZÆB•ÆTØÆT-ÇT‚Ç‰×Ç;aÈm�È[ÉMgÉ<µÉDòÉ^7Ê|–ÊDË€XË1ÙËKÌJWÌ>¢ÌmáÌ6OÍ>†Í>ÅÍ.Î-3ÎEaÎ<§Î=äÎB"Ï?eÏ?¥ÏDåÏB*Ð?mÐ?­Ð,íÐ'ÑBÑ6_Ñ0–Ñ/ÇÑ!÷ÑÒ&-Ò(TÒ;}Ò@¹Ò$úÒÓ73Ó!kÓ#�Ó&±Ó8ØÓCÔ UÔ vÔ)—Ô.ÁÔ0ðÔ?!Õ.aÕ.�Õ/¿Õ)ïÕ/Ö;IÖh…Ö<îÖA+×<m×/ª×-Ú×&ØM/Ø2}Ø2°ØNãØU2ÙNˆÙo×Ù+GÚAsÚ7µÚ9íÚT'Û5|Û#²Û.ÖÛ.Ü%4Ü7ZÜ2’Ü7ÅÜEýÜ>CÝ1‚Ý:´ÝUïÝ2EÞoxÞ(èÞ(ß3:ß[nßZÊß+%à+Qà}à/—à(Çà7ðà<(á?eáQ¥á3÷á5+â'aâ=‰â:ÇâGã<Jã"‡ãLªã6÷ãK.äDzä!¿ä:áä7åTårå.Žå.½åìå1æ>æ'[æ%ƒæ ©æEÊæ4ç(Eç;nçHªç?óç<3èGpè@¸è7ùè.1é*`é<‹é7Èé1ê82ê:kê2¦ê+Ùêtë/zë ªë-Ëë]ùë0WìJˆì>ÓìAí.Tí+ƒí8¯íèí*îI3î$}î+¢îÎîìîAïHGï>�ï+ÏïIûï9Eð;ð»ð;Ûð;ñSñ+nñGšñ.âñ.ò5@ò@vò@·òIøò=BóI€óIÊó4ôIô9hô,¢ô.Ïô/þô'.õkVõuÂõ@8ö5yö¯ö2Ìö.ÿö*.÷>Y÷1˜÷)Ê÷?ô÷!4ø#Vø.zø8©ø*âø 
ùA.ùEpùB¶ùBùù:<ú3wú$«ú2ÐúIû:Mû<ˆû3Åû5ùû&/ü%Vü4|ü&±ü4Øü&
ý14ý$fý$‹ý.°ýßý&ýý&$þ<Kþ#ˆþ*¬þ'×þ>ÿþB>ÿ3�ÿ&µÿ Üÿ"ýÿ! !B!d%†!¬ Î!ï#!5!W!y$›$À å"!)#K$o”"´"×!ú!>^!z#œ"À#ã!')3Ql…@ò?3GsF»JHMK–GâB*Xm4Æ/û+4J ! GÂ4
+	0?	p	(‡	.°	(ß	*
+63
+2j
+5�
+8Ó
+WZdB¿5=8<v(³-Ü0
+
;
OU
"¥
/È
&ø
!@Ai‚Eì021c*•!À4â;&S$z'Ÿ=ÇDJ2h0›CÌLG]C¥Jé`4r•A�JSÌ< a]a¿f!fˆFï-62d(—3À1ô,&-SD�BÆ4	6>*u# 2Ä*÷-".P*(ª]ÓJ16|³Î4è'DECŠCÎE^X]·)(?+h$”)¹)ã7
9E&&¦&Í2ô,' =T ,’ ¿ +Ý 	!-!M!j!,‰!#¶!1Ú!*"'7"&_"%†"&¬"'Ó")û",%#%R#*x#$£#%È#%î#1$'F$*n$"™$#¼$"à$&%-*%,X%[…%Cá%G%&Cm&K±&Wý&GU'9�'(×'*(+(3K(4(>´(2ó(5&)@\)P�)3î)P"*2s*A¦*Kè*@4+Ku+-Á+`ï+>P,J�,2Ú,<
-;J-7†-3¾-/ò-?".7b.Aš.*Ü.1/;9/2u/W¨/O0&P03w0[«0W1-_1o�1+ý1])2-‡2+µ2á22ÿ2)23V\3<³3(ð334#M4%q42—4Ê42ê4$53B5=v5;´5Bð5A36:u62°6?ã6#7<B7879¸7ò78&08W8›p8D9'Q9,y91¦9'Ø9$:/%:-U:0ƒ:&´:8Û:6;6K;‚;.¡;+Ð;$ü;"!<7D<!|<%ž<AÄ<G=6N==…=:Ã=:þ=D9>8~>9·>Cñ>:5?7p?8¨?Pá?D2@9w@,±@0Þ@#A3A-NA6|A³A7ÏA;B:CB:~B!¹B3ÛB%C.5CdCL„C1ÑC*D%.D$TD9yDO³D#E,'E1TEC†E6ÊE(F5*F"`F.ƒF8²FGëFU3G>‰G ÈGéG!H )H'JHbrH3ÕH)	I=3I%qI*—I0ÂI&óI&J7AJfyJ7àJ]K8vK¯KOÎK,L+KLYwL)ÑL;ûL07M/hM?˜M9ØM6N/INCyN&½NWäNQ<OŽO®O½O!ÒOôOR
+PF]PF¤P:ëP&Q9QMQ_QyQ
�Q'›QÃQ
ÏQÝQ%îQ\R;qR­R¿RÕRØRõRS	S%S7SHS,US‚S–S¬S"ÆS/éS/T2IT9|T#¶T'ÚT2U35UiU;yUµU¼UÄUÙUéUðUøUV!V6VHV[VrV�V¡V¿V	ÞVèV	W"W+3W#_W,ƒW:°WëWýW)X/CX?sX=³X	ñX"ûXY5Y+>YjYvYzY�YŸY±Y'ÃYëY Z#)ZMZ>gZ<¦ZãZ õZ'[7>[0v[D§[,ì['\A\a\s\$‘\$¶\'Û\%]')]Q]o]�]"¯]Ò]â]÷]^#^)9^c^2y^#¬^-Ð^Iþ^:H_/ƒ_8³_2ì_[`1{`<­`Bê`,-a-Za)ˆa.²a-áab6/bYfbbÀb;#c)_c!‰cG«c1óc$%dJdH_d5¨d%Þde5!eWe
+le"weše¬e´e0¼eíef!f6fCfRf
pf~fB�f/Óf+g8/ghg$~g!£g1Åg÷gh+5hah
+uh€h9ŸhÙh'ëhi%i.Ci-riG i3èij";j)^j*ˆjK³j ÿj k%=kckvk•k.§kÖk2ôk,'l)Tl"~l¡l³l$Ìl*ñl+mHm em†m5˜mÎm	àmêmümn$nDn^non~n�n	—n4¡nÖnßn
+öno"o%)oOo[ojo�o�o³oÅoåoþop2pDp\p-zp¨pºpÌpàpúpDq¥_qr)r/Dr'trœr«r½rÏrÖr!Ýr.ÿr,.s[s:ws%²s%Øsþs?t9WtC‘t=ÕtCu=Wu"•u[¸u?vTvsv)�vºvÃvvÞv*Uw€w&’w¹wÙwëwòw
+ùw(x-x'?xgx„xœx¼x#Ôx$øx,y.Jy,yy.¦yÕy"òy,z.Bz!qz1“z0Åz2öz,){.V{#…{©{É{(Ý{/|!6|X|(u|#ž|+Â|î|,} 4}U}n}Ž}¢}Â}#á}-~"3~V~h~€~“~¬~¸~Í~ß~2ú~$-&Ry6™	Ð!ÚDüDA€/†€?¶€ö€/�>8�w�Jˆ�MÓ�8!‚Z‚z‚‘‚;¤‚à‚7ý‚-5ƒcƒJlƒ‰·ƒ(A„7j„¢„*¼„ç„ÿ„……5…F…\…y…"……#¨…%Ì…ò…†',†T†Jf†J±†Jü†IG‡:‘‡AÌ‡;ˆ:Jˆ6…ˆ+¼ˆ;èˆF$‰@k‰;¬‰:è‰Q#Š/uŠB¥Š;èŠK$‹Fp‹a·‹/Œ<IŒ-†Œ-´Œ/âŒ7�BJ�!��i¯�DŽd^Ž.ÃŽ,òŽf�C†�Ê�#é�@
�4N�8ƒ�H¼�7‘=‘˜]‘ö‘’$’6’2K’.~’$­’Ò’ß’ì’ü’““.“G“_“w“d�“ô“6”M>”MŒ”<Ú”g•b•<â•E–1e–(—–$À–å–û–4—'L—$t—7™—Ñ—â—ú—˜"˜:˜R˜d˜v˜ˆ˜š˜´˜Ï˜á˜ò˜
+™)™2H™{™”™-®™+Ü™+š*4š	_š	iš
+sš
+~š‰šžš­šÂšÑš1Öš›-'›U›'t›"œ›¿›Ý›ò›û›,œ]Fœ=¤œ(âœZ�Zf�EÁ�AžGIžC‘žWÕžW-Ÿ9…Ÿ9¿Ÿ-ùŸ8' 4` 3• 9É 4¡28¡7k¡5£¡7Ù¡B¢ET¢Bš¢CÝ¢A!£'c£.‹£,º£+ç£*¤.>¤2m¤  ¤[Á¤@¥:^¥#™¥6½¥<ô¥&1¦2X¦=‹¦;É¦8§<>§%{§¡§¾§NÔ§-#¨OQ¨ ¡¨>Â¨9©
+;©*F©1q©&£©&Ê©!ñ©ª,2ªJ_ª7ªª
âªðªÿª«&«9«L«7i«6¡«6Ø«¬$/¬_T¬"´¬A×¬­,7­2d­—­§­¾¸­»w®3¯N¯i¯;‰¯=Å¯*°L.°{°Ž°£°¸°4Ç°ü°0±95±o±‰±‘±™±µ±H¼±²²2$²OW²§²Æ²*Ë² ö²³5³=³J³ d³…³Ž³¢³·³Í³á³÷³´+´<´N´b´Nj´¹´½´#Õ´ù´6µHµ hµ8‰µÂµÔµäµìµ4¶6¶J¶^¶r¶…¶
˜¶L¦¶ ó¶D·PY·ª·¼·Ï·3ê·!¸@¸G¸"O¸r¸‚¸M‘¸ß¸÷¸¹#¹,6¹%c¹'‰¹)±¹$Û¹(º)º0Eº
+vº,�º®ºÌºæºîº
»#»8»'P»x»’»¬»"¸»Û»ú»¼#¼:¼7Q¼‰¼¢¼·¼É¼Ü¼ð¼½½0½-O½)}½>§½7æ½E¾gd¾xÌ¾7E¿E}¿4Ã¿%ø¿-À;LÀ!ˆÀªÀ!ÃÀ0åÀ5Á&LÁ<sÁ<°Á2íÁ/ Â.PÂ=Â/½Â6íÂ?$ÃdÃƒÃ£Ã,§ÃÏÔÃ¤Å±Å!ÆÅ(èÅwÆl‰Æ_öÆVÇvÇŽÇ+®ÇCÚÇÈ)+È!UÈwÈUˆÈ+ÞÈ
+É(ÉDÉ^É"nÉ!‘É$³ÉØÉöÉÊÊi4ÊžÊ>¾ÊBýÊ?@Ë>€Ë¿ËbØËD;ÌE€ÌIÆÌCÍ5TÍSŠÍ\ÞÍW;Î1“ÎQÅÎHÏO`ÏU°Ï1ÐO8ÐVˆÐßÐúÐSÑ[kÑ!ÇÑéÑþÑÒ,Ò AÒ5bÒ˜Ò­Ò=¿ÒýÒÓÓ,7Ó,dÓ,‘Ó"¾ÓáÓùÓÔ"Ô0;ÔPlÔO½Ô)
Õ*7Õ.bÕ0‘ÕdÂÕK'ÖsÖŠÖªÖÇÖàÖ,ûÖ(×A×a×y×•×3©×Ý×í×Ø#Ø@ØRØhØ‚Ø5™ØÏØâØïØ
+Ù%Ù$?Ù+dÙ'�Ù5¸Ù#îÙÚ1ÚIÚhÚ�Ú˜Ú)®ÚØÚñÚÛ)Û(>ÛgÛ{Û�Û<©ÛæÛõÛ
ÜÜ&Ü"BÜeÜ€Ü&�Ü·ÜÒÜòÜÝ)Ý-=ÝkÝ~Ý)‘Ý»Ý2ÐÝÞ+Þ½CÞ
+ßß#ßCßbßuß�ß#©ßÍß%áß#à#+àOà#`à#„à¨à&·à&Þàáááá
+5á@áEá)Ká3uá©á®á³á#Ìá#ðáââ6â4;âpâwâ}â‚â‡â�â‘â"–â#¹â/Ýâ
ã#ã6ã#Mã4qã@¦ã#çãääää$ä)ä?äFä]ädä€ä—ä¨ä¹äÊäÛäìäå	å
å
*å
+8å
+Cå
+Nå
+Yådå
+xå4ƒå
+¸å[ÃåPæ
+pæ{æ�æ7¬æ"äæç,&çSçhç
wç…ç	–ç ç
¶çÄçËçåçèè2è+Oè{è Šè
«è¹è#Àèäè1óè:%é`évé:‡éÂéGÝé %êFêaê|ê;‘êÍêæêüê:ë,Rëë7žëHÖë9ì+Yì*…ì°ì#Æì-êì*í7Cí{íwûí{sîïî?	ïIïe]ï;ÃïCÿï0Cð,tð2¡ð)ÔðFþðJEñD�ñÕñ5ðñV&ò#}ò¥¡ò<Gó.„ó#³ó'×ó2ÿó%2ôCXô:œôf×ô<>õÛ{õ]WöGµöVýö7T÷?Œ÷>Ì÷/ø3;ømoøqÝøNOùLžùbëù+Nú!zúFœú‰ãú`mû9Îû=ü3Fü@züJ»üLýMSýT¡ý:öýE1þBwþBºþýþk
+wvAîA0MrlÀo-j�“EœˆâpkUÜH2R{‚Î§QYù¦S+úU&Z|E×”	;²	Iî	O8
+Hˆ
+1Ñ
+]=a?ŸDßD$LiM¶F
HK
L”
>á
5 &VJ}=È8+?k4ƒ0¸BéD,2q¤Y¹#$74\P‘Uâ#8#\0€6±5èW9v<°4í6"4YCŽ‹ÒW^O¶W@^=Ÿ7ÝgR}BÐlv€n÷šf.]0FŽ\Õo2=¢,àE
BSE–AÜ3BRS•Mé>7?vr¶D)�n.ð. :N b‰ wì :d!:Ÿ!Ú!Bú!3="Pq"RÂ"b#mx#;æ#A"$4d$H™$@â$k#%E�%,Õ%_&bb&QÅ&F' ^'J'DÊ''(7(6T(7‹($Ã(<è(!%)(G)-p)&ž)[Å)A!*)c*C�*UÑ*U'+R}+\Ð+M-,C{,9¿,3ù,O--W}-NÕ-Y$.N~.LÍ.T/£o/80'L0<t0{±0?-1[m1VÉ1R 28s27¬2Dä2-)3DW3gœ3546:40q4¢4IÀ4P
+5Q[59­5aç5xI6OÂ6-7E@7E†7 Ì7=í7I+8;u8;±8Cí8r19r¤9a:?y:S¹:a
;Go;'·;Iß;9)<=c<;¡<<Ý<‹=Ÿ¦=KF><’>'Ï>=÷>@5?(v?VŸ?Hö?C?@\ƒ@.à@.AC>AS‚AEÖA'BUDB\šBY÷BYQCM«C8ùC$2D<WDY”DHîDJ7E?‚E?ÂE,F?/F?oF-¯F;ÝF6G>PG/�G/¿G6ïG&&H5MH4ƒHC¸H1üH>.I)mIJ—IJâI?-J0mJ,žJ.ËJ-úJ-(K-VK1„K-¶K,äK-L/?L-oL-�L-ËL0ùL0*M,[M.ˆM-·M/åM0N+FN.rN.¡N-ÐN-þN+,OXO-wO/¥O.ÕO/P-4P;bPCžPpâPGSQF›QNâQM1RQRJÑR[SexSSÞSk2TPžT;ïT$+UGPU*˜U)ÃUUíUFCV=ŠVÈV4âVCW:[W@–WO×WF'XjnXLÙXj&Yq‘YRZkVZIÂZM[AZ[Eœ[=â[  \dA\4¦\7Û\=]-Q]P]ƒÐ]QT^C¦^Aê^4,_,a_;Ž_DÊ_&`%6`2\`E�`LÕ`/"aCRa8–aRÏaZ"bV}bRÔb^'c„†c“dPŸd±ðdm¢eSf‚dfŠçf‡rg�úgdŠh=ïh9-i-giD•iGÚi3"j=Vjc”jbøj@[kVœk;ók,/lG\l4¤l8Ùl5m:Hm)ƒmu­mR#n;vn²nÌn;ån1!oFSoEšoEàoG&p`np_ÏpA/qLqqH¾qHr6Pr5‡rF½rIs2Ns1�s5³s9és1#tSUt:©tät.u1u:Gu'‚u#ªu6Îu1v@7v4xv1­v0ßv/w0@w1qw3£w6×w/x4>x.sx/¢x/Òx9y0<y5my)£y*Íy)øy-"z9Pz8ŠzrÃza6{b˜{Oû{SK|rŸ|]}Op}4À}3õ}))~MS~B¡~Jä~9/OiZ¹V€Wk€aÃ€5%�?[�L›�@è�K)‚@u‚y¶‚G0ƒNxƒDÇƒC„EP„J–„Há„@*…Vk…<Â…^ÿ…J^†K©†Uõ†BK‡yŽ‡dˆ0mˆ>žˆcÝˆ_A‰C¡‰‚å‰5hŠvžŠ/‹;E‹+�‹=­‹3ë‹gŒO‡Œ.×ŒK�9R�<Œ�@É�%
+ŽI0Ž5zŽ=°Ž]îŽbL�l¯�c�X€�AÙ�V‘0r‘U£‘Qù‘UK’¡’%Á’;ç’#“Ì@“e
”8s”E¬”Bò”85•3n•F¢•>é•B(–5k–>¡–Dà–D%—"j—;�—IÉ—/˜7C˜Z{˜/Ö˜3™V:™\‘™=î™A,š=nš>¬šHëš;4›=p›G®›=ö›;4œ;pœ}¬œb*�X��Læ�E3ž+yž.¥žGÔžMŸ$jŸ@�ŸNÐŸN Cn 7² Dê '/¡BW¡(š¡^Ã¡?"¢4b¢:—¢2Ò¢F£WL£+¤£8Ð£;	¤[E¤L¡¤:î¤<)¥-f¥B”¥=×¥N¦zd¦Eß¦$%§"J§<m§:ª§6å§…¨H¢¨Fë¨D2©2w©Jª©:õ©%0ªBVªL™ª�æªAh«|ª«P'¬x¬d˜¬6ý¬04­_e­+Å­Mñ­??®=®M½®L¯JX¯F£¯Pê¯*;°kf°qÒ°*D±
o±}±2“±#Æ±eê±VP²Z§²O³R³i³~³�³­³Æ³'Õ³ý³
´´$,´iQ´>»´ú´&µ8µ ;µ\µrµ	Œµ–µ¨µºµ7Çµÿµ¶!/¶"Q¶6t¶F«¶Dò¶P7·0ˆ·1¹·>ë·B*¸m¸A�¸Ã¸Ì¸Õ¸î¸¹¹¹(¹=¹Q¹c¹v¹Ž¹­¹(Á¹'ê¹
+º"º	@º*Jº>uº.´º6ãºK»f»!x»(š»0Ã»Tô»MI¼—¼,§¼&Ô¼	û¼=½C½W½[½t½†½˜½0ª½Û½)ú½+$¾P¾Yl¾RÆ¾¿,0¿3]¿D‘¿=Ö¿XÀ=mÀ:«À'æÀÁ&#Á%JÁ%pÁ(–Á&¿Á(æÁÂ .Â OÂ#pÂ”ÂªÂÅÂ%ãÂ	Ã6ÃVÃ=qÃ,¯Ã6ÜÃLÄD`Ä5¥Ä;ÛÄ=ÅzUÅIÐÅ`ÆL{ÆCÈÆLÇ1YÇ9‹Ç4ÅÇ&úÇM!ÈvoÈwæÈJ^É2©É"ÜÉNÿÉ8NÊ&‡Ê#®ÊLÒÊ3Ë8SË#ŒËB°ËóËÌ4 ÌUÌgÌoÌYwÌÑÌêÌÍ'Í9ÍJÍ
hÍvÍdˆÍ?íÍ4-ÎDbÎ§Î>ÄÎ;Ï:?Ï'zÏ'¢ÏMÊÏÐ
+8Ð2CÐIvÐÀÐ$ÒÐ÷Ð$	Ñ@.Ñ1oÑQ¡Ñ<óÑ/0Ò4`Ò=•ÒHÓÒQÓ,nÓ(›Ó0ÄÓõÓ#Ô,Ô3@Ô$tÔC™Ô6ÝÔ6Õ-KÕyÕ‹Õ$©Õ4ÎÕ&Ö**Ö)UÖÖH‘ÖÚÖìÖþÖ×(×<×[×y×Œ×�×¯×¶×M¿×
ØØ
8ØFØ(LØ2uØ¨Ø·ØÈØ!ÞØÙÙ+ÙJÙfÙ…ÙŸÙ´Ù!ÏÙ9ñÙ+Ú?ÚTÚlÚ%ŒÚq²ÚÁ$ÛæÛ5ÜG;Ü8ƒÜ¼ÜÌÜÞÜðÜ÷Ü*þÜ3)Ý1]Ý!�Ý=±Ý-ïÝ,Þ#JÞMnÞY¼ÞRßRißX¼ßAà:Wàs’àVá]á{áK›á	çá!ñá™â7­âåâ/÷â*'ãRãdãkãrã8…ã¾ã3Ðãä!ä9äXä"oä#’ä3¶ä/êä3å/Nå~å#�å3Áå/õå%%æ5Kæ=�æ9¿æ3ùæ/-ç$]ç ‚ç£ç+¹ç1åç!è9è)Xè$‚è3§èÛè7õè!-éOé!ié‹é#Ÿé$Ãé(èé3ê&Eêlê~ê“ê#°êÔêçêë"ë2>ë/që6¡ë+Øë`ìeì2kìZžìZùì?TíT”íéí2îg4îœîk®îsïAŽï(Ðïùïð5.ð#dðHˆð0ÑðñWñ”cñ8øñ>1òpò5�òÃòßòçòóó1ó#Nóró,~ó"«ó8Îó%ô#-ô.Qô€ô`’ô]óôYQõ\«õMö[VöI²öFüö?C÷@ƒ÷KÄ÷YøSjøQ¾øHù‡YùbáùZDúLŸú_ìúZLû{§û7#üA[ü/�ü/Íü0ýüH.ýZwý0Òýxþ]|þ~Úþ8Yÿ8’ÿsËÿT?/”1ÄOöNFC•lÙWF1ž»Ð'Œ´ÆØ2ð=#Ra´ÁÎàè!<T!nu�BY\Y¶;tLoÁA1Rs2Æ)ù'#	K	&d	S‹	Gß	@'
+Ph
+¹
+Ë
+è
+"8Uh{Ž¡Àßò"6'7^6–Íê>	
<H
<…
<Â
	ÿ
		
+
+)@Ods4x&­<Ô8.3g*›$Æë#þG"rjKÝ))gSh»K$FpI·dzfzáQ\N®>ýO<GŒ:ÔLG\Q¤nöLen²S!du[ÚX6Z�+êFC]D¡1æ25K+�r­[ J|%ÇTí=B'€3¨\ÜJ9I„JÎ5#OsW�0èb $| C¡ >å $!70!>h!3§!4Û!,"&="0d"Y•"Dï"4#C#S#l#€#“#¦#@Ã#?$CD$!ˆ$&ª$yÑ$K%Rg%º%5Ú%:&K&[&ël&ßX'"8( [(/|(M¬(Nú(9I)_ƒ)ã)ú)*'*b4*	—*9¡*9Û*(+>+M+Y+u+o{+ë+ï+E
+,mP,(¾,ç,;í,@)-Fj-±-½-É-:é-	$...D.Z.r.ˆ. .¹.Ø.ê.ý./Y/w/"{//ž/Î/Iç/&10-X0C†0Ê0â0ù01?1]1p1„1˜1«1¾1�Í1#O2Ss2aÇ2)3<3T3Ht3=½3û34+484H4SW4«4É4é4ù4D
5=R5D�5=Õ546;H6"„66§6Þ68ë6%$7$J7o7w7‘7;¡7Ý76û728N8i8)u8Ÿ8¿8Þ8"ú89A89#z9ž9³9Å9Ø9ì9::,:2L:::Mº:@;TI;‹ž;�*<@È<S	=E]=.£=:Ò=?
>/M>}>(˜>FÁ>I?-R?I€?IÊ?A@1V@<ˆ@NÅ@EAJZAi¥A"B#2BVB-ZBnâ(_€9¥{Õñ”Á«Âq|äät‚µH*îkÔ©8¸ä\V	Ûò»ºÊ3¨2wõˆˆ‡ù±æ/|d‚dˆ‹oÈ´ß@+Ï+hòp¹’�1Î­5MâJŒK+ ã�ÍW·ÂÅÁ§Ÿ÷Õ5{qª!-ÒË@iÖøÓ&œ™	+É$4ô'¶ÂTÌØ›k~¶|€0F�£Œy¶6Æ\Ó©R´þ‰;)tEBì—¥ø—ZSAOÑÓ	�ú¯óû‡ hçìÛv–�îàä‘[�/T„4jX)Šº$ÂáèÆÿYk]ö²BB”pWW«è?šPF¼u†üGè'•e#Çö¡§"ñHÄØÑïÚå~ªÝ¤$W[”SÖ°ÌFs>6·˜O—’±~0Í¾2å'É?CU”Å�ÁÀŸG<îÆp6—/rHg¡ÌPSèasb«¹ÇQ£H×ƒ‹8´ßL°ü¿u´4UË0ôAÚi·•;®o§™&ë4@Ù›!…},šl�“ƒˆ#/…Zóé.ÇUþÏ—‰xÅëvÖ˜ŒŠí%_ECíÜÖ¦=Ì!¿ƒ.`áh¢Ÿ›�›_úÚzTŸõÊ<·Ý¦tðØ]ÂØÎåF Íeí*‚)7�ou Ð®„G¤#„œ<…±xÒ�' ýÒ,(ƒöFÓá=�½1Ù¤?°"¾V~>%±¨+ª“g€U8³ü®‰ù/ëmkšx¬ð@Nz;¤©bõÜþ‘XM70“�e,Uâ3øz6ƒlòJ–ÝÀ}ºt²áLU?Ä¸
ÓÃ€J%™Ô	Ç,=K@Gèºf¯ÑLyEq9>Xg»Œc"C­éª‰*ÖÆP"	Äz9‚Í£¯%uXN�üiû–{§nm&‡ö�Èå’4J4°ñ¡Ãæ¸2RÆ°[-<åmyú�¥[ž-ÚJ\§Ð«úÔvùÑ0±)8a.Œ²ý¹*Á‹£Ðfõ%6®p5„>[I’;T²!¤SX¦¿
Åe¹çq˜A™PLa(ž«"Vchw¢o‡p•ºRÆ\ÃÒ]+»)¹<í�2Ð¬¾*Ð¶»d<æØ¿�í¼0ÜÝÃ–ôvàNu

+ñ¡î¬ž´ÔëËT‘µíéWhÕ˜’|¼-ÈÑÜ{ŒðQ5˜hlC(ª§Ö¬Qýà3¿á
+˜×ÇWÀ³d2ï÷÷Çb;ìøÃ³³½Éˆ¢æ‡RuÉ2oqà
+Y¯·ÞœÁ`¬j�æYMe�”r�Ù¦Ö…GäHÙ�xæ[Ø…cóµ¢1ç™$QFE¬ýÕRKr‘£mÊXž+QM…àHrs TÓbú¨á½pÊòF£«¢êÕA&â¿ÎÏCúàÔãìYÞÿùI¿Z¾|­¾‘G„ÂËâ'	?©mWéœû›r=0;Êi“éœZg”]Ì3Ð®,VßÜ:fðŒVÑô2}7ïÕSî >½ˆÎ•#'µZvD°¥ÑPõÝ°^„9-Üà:®ÝÉ¡:È-âûÄ‰¢ßLC»ýOû×evóêÏqì}­A§ÞƒƒšB†Ú
m{ånc¨ˆ¼óä»Â]‰|ßñô‰»øý¸³Ž4Z9p%¾}‚QL©Š,w]¶·*":DÅ9Z×wÅ–ÚNTBŸI\½Ò{@Mÿ�f•}ëÀDþáö›la jioŠ^xd8k€|CïD†1 ™O¢×3V^bÈb3sIµyÿP²�c¥¨ŽÞ‡aÌ¹ê«$œù
+ï–·ÛKêéq_‹Ž†nÏE�³ã3ö—?þ÷­#V!w,Å´¯=Šsë�ËzÍ8ò
Ô{Û„`Jš±äsènÃ€ŽAËo‚t âRjçf?(=ê¸dÍŠ#Bw\ŸÜ7ÞëÀì¥&M_m÷”&X¨:9ÊÃ± $ÌN/d5´æ³c'À•^š¼Ø$r:½ÞB�ôÕ•HyfÁñõ.çj¤¦ðž;²L—Çègt&~×Ô¨füc­¡êÝ56žÓÏ)!‡GUOÍ½º!éêQ…ïl:@ šçJ7w£8j
%‹7‹Éð5M}ò€O~yPŽ¯Ixœ`Sªs�®¾ADÄü¹>ìÎDÀ†¯
+b1YÒ.çþgy=ÎãÙ1\ß‚-™aãK¶g×Ð^Ž`"�O¥I/r©ÛãŸ“�‹^ª��~û¼E	K¦’_YÙÒt‘ã]È“#“Ä_<h>u­`(IlÈ¸xÛž)Ra¤¬.
+ßŽ¡1ºŠ†ÿi
+^�ËåÎDµ¦Ev¸¶jizN[kù `lÿ(k²¼É’†Êó�ÛzÚY6 î�ÞÙ7øÁÏµ©SÄ.*Kn÷–eÆ
›‘n˜N	    TLS: %A	<corrupt: 0x%04lx>	Export Address Table 			Export Address Table 		%08lx
 	Invalid Export Address Table rva (0x%lx) or entry count (0x%lx)
 	Invalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)
 	Invalid Ordinal Table rva (0x%lx) or entry count (0x%lx)
@@ -172,8 +170,14 @@ ppcboot header:
     psect: %u, offset: 0x%08x %08x
     routine name: %.*s
    %02u    (type: %3u, size: 4+%3u):    *unhandled* cmd %u
+   Error: The compile date is truncated
    Error: The length is less than the length of an EEOM record
    Error: The length is less than the length of an EMH record
+   Error: The module name is missing
+   Error: The module name is too long
+   Error: The module version is missing
+   Error: The module version is too long
+   Error: The record length is less than the size of an EMH_MHD record
    Error: length larger than remaining space in record
    alignment  : 2**%u
    alloc (len)   : %u (0x%08x)
@@ -238,7 +242,13 @@ ppcboot header:
   EGSD (len=%u):
   EGSD entry %2u (type: %u, len: %u):   EMH %u (len=%u):   base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x   base_va : 0x%08x
   bitcount: %u, base addr: 0x%08x
-  calls:
+  branch       %lu
+  toc adjust   %lu
+  long branch  %lu
+  long toc adj %lu
+  plt call     %lu
+  plt call toc %lu
+  global entry %lu  calls:
   chgprtoff : %5u
   codeadroff: %5u, lpfixoff  : %5u
   fixuplnk: 0x%08x %08x
@@ -297,41 +307,39 @@ ppcboot header:
 #<Invalid error code>%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d
 %03x %*.s Entry: %A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections%A has both ordered and unordered sections%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)
 %A:0x%v not found in function table
-%B (%s): Section flag %s (0x%x) ignored%B and %B are for different configurations%B and %B are for different cores%B contains CRIS v32 code, incompatible with previous objects%B contains non-CRIS-v32 code, incompatible with previous objects%B has has both the current and legacy Tag_MPextension_use attributes%B is not allowed to define %s%B section %A exceeds stub group size%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section%B uses unknown e_flags 0x%lx%B(%#x): error: Cannot create STM32L4XX veneer. Jump out of range by %ld bytes. Cannot encode branch instruction. %B(%A): error: call to undefined function '%s'%B(%A): internal error: dangerous relocation%B(%A): internal error: out of range error%B(%A): internal error: unknown error%B(%A): internal error: unsupported relocation error%B(%A): invalid property table%B(%A): multiple TLS models are not supported%B(%A): relocation %d has invalid symbol index %ld%B(%A): shared library symbol %s encountered whilst performing a static link%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction.%B(%A): warning: unaligned access to symbol '%s' in the small data area%B(%A): warning: unaligned small data access of type %d.%B(%A+0x%%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link%B(%A+0x%lx): %s relocation against SEC_MERGE section%B(%A+0x%lx): %s relocation against external symbol "%s"%B(%A+0x%lx): %s used with TLS symbol %s%B(%A+0x%lx): %s used with non-TLS symbol %s%B(%A+0x%lx): CMEM relocation to `%s' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)%B(%A+0x%lx): CMEM relocation to `%s+0x%lx' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC relocation not permitted in shared object%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not permitted in shared object%B(%A+0x%lx): Stabs entry has invalid string index.%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section%B(%A+0x%lx): cannot handle %s for %s%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch%B(%A+0x%lx): could not decode instruction; possible configuration mismatch%B(%A+0x%lx): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.
+%B (%s): Section flag %s (%#lx) ignored%B and %B are for different configurations%B and %B are for different cores%B contains CRIS v32 code, incompatible with previous objects%B contains non-CRIS-v32 code, incompatible with previous objects%B has both the current and legacy Tag_MPextension_use attributes%B is not allowed to define %s%B section %A exceeds stub group size%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section%B uses unknown e_flags 0x%lx%B(%#Lx): error: Cannot create STM32L4XX veneer. Jump out of range by %Ld bytes. Cannot encode branch instruction. %B(%A): error: call to undefined function '%s'%B(%A): internal error: dangerous relocation%B(%A): internal error: out of range error%B(%A): internal error: unknown error%B(%A): internal error: unsupported relocation error%B(%A): invalid property table%B(%A): multiple TLS models are not supported%B(%A): relocation %d has invalid symbol index %ld%B(%A): shared library symbol %s encountered whilst performing a static link%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction.%B(%A): warning: unaligned access to symbol '%s' in the small data area%B(%A): warning: unaligned small data access of type %d.%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link%B(%A+%#Lx): %s relocation against SEC_MERGE section%B(%A+%#Lx): %s relocation against external symbol "%s"%B(%A+%#Lx): %s relocation not permitted in shared object%B(%A+%#Lx): %s used with TLS symbol %s%B(%A+%#Lx): %s used with non-TLS symbol %s%B(%A+%#Lx): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value is %#Lx)%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, 16 MSB should be %#x (value is %#Lx)%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group relocations%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section%B(%A+%#Lx): cannot handle %s for %s%B(%A+%#Lx): cannot reach %s%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections%B(%A+%#Lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch%B(%A+%#Lx): could not decode instruction; possible configuration mismatch%B(%A+%#Lx): error: %s with unexpected instruction %#x%B(%A+%#Lx): invalid instruction for TLS relocation %s%B(%A+%#Lx): reloc against `%s': error %d%B(%A+%#Lx): relocation offset out of range (size=%#Lx)%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC%B(%A+%#Lx): unexpected fix for %s relocation%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'%B(%A+%#Lx): unresolvable relocation against symbol `%s'%B(%A+%#lx): Stabs entry has invalid string index.%B(%A+%#x): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.
 Use gcc option -mrestrict-it to generate only one instruction per IT block.
-%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn%B(%A+0x%lx): invalid instruction for TLS relocation %s%B(%A+0x%lx): reloc against `%s': error %d%B(%A+0x%lx): relocation offset out of range (size=0x%x)%B(%A+0x%lx): unexpected ARM instruction '0x%x' in TLS trampoline%B(%A+0x%lx): unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%lx): unexpected Thumb instruction '0x%x' in TLS trampoline%B(%A+0x%lx): unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%lx): unexpected fix for %s relocation%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'%B(%A+0x%lx): unresolvable relocation against symbol `%s'%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete
+%B(%A+0x%lx): %d bytes required for alignment to %d-byte boundary, but only %d present%B(%A+0x%lx): Unable to clear RISCV_PCREL_HI20 relocfor cooresponding RISCV_PCREL_LO12 reloc%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete
 %B(%s): warning: interworking not enabled.
   first occurrence: %B: ARM call to Thumb%B(%s): warning: interworking not enabled.
   first occurrence: %B: Thumb call to ARM%B(%s): warning: interworking not enabled.
   first occurrence: %B: arm call to thumb%B(%s): warning: interworking not enabled.
   first occurrence: %B: thumb call to arm
-  consider relinking with --support-old-code enabled%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'%B, section %A:
+  consider relinking with --support-old-code enabled%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'%B, section %A:
   relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC%B, section %A:
   relocation %s should not be used in a shared object; recompile with -fPIC%B, section %A:
-  v10/v32 compatible object %s must not contain a PIC relocation%B, section %A: No PLT for relocation %s against symbol `%s'%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for global symbol: `%s'%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?%B, section %A: relocation %s with no GOT created%B, section %A: relocation %s with non-zero addend %d against local symbol%B, section %A: relocation %s with non-zero addend %d against symbol `%s'%B, section %A: unresolvable relocation %s against symbol `%s'%B, section `%A', to symbol `%s':
-  relocation %s should not be used in a shared object; recompile with -fPIC%B: !samegp reloc against symbol without .prologue: %s%B: %A invalid input section size%B: %A not in order%B: %A points past end of text section%B: %A+%#Lx: No symbol found for INHERIT%B: %A+0x%lx: warning: %s relocation against unexpected insn%B: %A+0x%lx: warning: LITERAL relocation against unexpected insn%B: %A: reloc overflow: 0x%lx > 0xffff%B: %s not absolute%B: %s' accessed both as normal and thread local symbol%B: %s: invalid needed version %d%B: %s: invalid version %u (max %d)%B: %s: reloc overflow: 0x%lx > 0xffff%B: '%s' accessed both as normal and thread local symbol%B: --in-implib only supported for Secure Gateway import libraries.%B: .gnu.version_d invalid entry%B: .gnu.version_r invalid entry%B: .got subsegment exceeds 64K (size %d)%B: .opd is not a regular array of opd entries%B: .preinit_array section is not allowed in DSO%B: .rsrc merge failure: corrupt .rsrc section%B: .rsrc merge failure: unexpected .rsrc size%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32%B: 0x%lx: fatal: reloc overflow while relaxing%B: 0x%lx: fatal: unaligned %s relocation 0x%lx%B: 0x%lx: fatal: unaligned branch target for relax-support relocation%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insn 0x%x%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insns%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc 0x%lx%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insn 0x%x%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insns%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized reloc%B: 0x%lx: warning: bad R_SH_USES load offset%B: 0x%lx: warning: bad R_SH_USES offset%B: 0x%lx: warning: bad count%B: 0x%lx: warning: could not find expected COUNT reloc%B: 0x%lx: warning: could not find expected reloc%B: 0x%lx: warning: symbol in unexpected section%B: @gprel relocation against dynamic symbol %s%B: @internal branch to dynamic symbol %s%B: @pcrel relocation against dynamic symbol %s%B: ABI is incompatible with that of the selected emulation%B: ABI is incompatible with that of the selected emulation:
+  v10/v32 compatible object must not contain a PIC relocation%B, section %A: No PLT for relocation %s against symbol `%s'%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for global symbol: `%s'%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?%B, section %A: relocation %s with no GOT created%B, section %A: relocation %s with non-zero addend %Ld against local symbol%B, section %A: relocation %s with non-zero addend %Ld against symbol `%s'%B, section %A: unresolvable relocation %s against symbol `%s'%B, section `%A', to symbol `%s':
+  relocation %s should not be used in a shared object; recompile with -fPIC%B: !samegp reloc against symbol without .prologue: %s%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32%B: %#Lx: fatal: reloc overflow while relaxing%B: %#Lx: fatal: unaligned %s relocation %#Lx%B: %#Lx: fatal: unaligned branch target for relax-support relocation%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insn %#x%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insns%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc %#Lx%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insn %#x%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insns%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized reloc%B: %#Lx: warning: bad R_SH_USES load offset%B: %#Lx: warning: bad R_SH_USES offset%B: %#Lx: warning: bad count%B: %#Lx: warning: could not find expected COUNT reloc%B: %#Lx: warning: could not find expected reloc%B: %#Lx: warning: symbol in unexpected section%B: %A invalid input section size%B: %A not in order%B: %A points past end of text section%B: %A+%#Lx: No symbol found for INHERIT%B: %A+%#Lx: warning: %s relocation against unexpected insn%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn%B: %A: reloc overflow: %#x > 0xffff%B: %s not absolute%B: %s' accessed both as normal and thread local symbol%B: %s: invalid needed version %d%B: %s: invalid version %u (max %d)%B: %s: reloc overflow: 0x%lx > 0xffff%B: '%s' accessed both as normal and thread local symbol%B: --in-implib only supported for Secure Gateway import libraries.%B: .gnu.version_d invalid entry%B: .gnu.version_r invalid entry%B: .got subsegment exceeds 64K (size %d)%B: .opd is not a regular array of opd entries%B: .preinit_array section is not allowed in DSO%B: .reginfo section size should be %d bytes, actual size is %d%B: .rsrc merge failure: corrupt .rsrc section%B: .rsrc merge failure: unexpected .rsrc size%B: @gprel relocation against dynamic symbol %s%B: @internal branch to dynamic symbol %s%B: @pcrel relocation against dynamic symbol %s%B: ABI is incompatible with that of the selected emulation%B: ABI is incompatible with that of the selected emulation:
   target emulation `%s' does not match `%s'%B: ABI mismatch: linking %s module with previous %s modules%B: ABI version %ld is not compatible with ABI version %ld output%B: ASE mismatch: linking %s module with previous %s modules%B: Architecture mismatch with previous modules%B: BE8 images only valid in big-endian mode.%B: Bad relocation record imported: %d%B: Bad symbol definition: `Main' set to %s rather than the start address %s
-%B: CALL15 reloc at 0x%lx not against global symbol%B: CALL16 reloc at 0x%lx not against global symbol%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000).%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch.%B: Cannot handle compressed Alpha binaries.
-   Use compiler flags, or objZ, to generate uncompressed binaries.%B: Cannot link together %s and %s objects.%B: Data Directory size (%lx) exceeds space left in section (%lx)%B: EF_OR1K_NODELAY flag mismatch with previous modules%B: Error: Debug Data ends beyond end of debug directory.%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file
+%B: CALL15 reloc at %#Lx not against global symbol%B: CALL16 reloc at %#Lx not against global symbol%B: Can't find matching LO16 reloc against `%s' for %s at %#Lx in section `%A'%B: Can't relax br (%s) to `%s' at %#Lx in section `%A' with size %#Lx (> 0x1000000).%B: Can't relax br at %#Lx in section `%A'. Please use brl or indirect branch.%B: Cannot handle compressed Alpha binaries.
+   Use compiler flags, or objZ, to generate uncompressed binaries.%B: Cannot link together %s and %s objects.%B: Data Directory size (%lx) exceeds space left in section (%Lx)%B: EF_OR1K_NODELAY flag mismatch with previous modules%B: Error: Debug Data ends beyond end of debug directory.%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file
 %B: Error: search_nds32_elf_blank reports wrong node
-%B: Failed to add renamed symbol %s%B: Failed to find info section for section %d%B: Failed to find link section for section %d%B: Failed to read debug data section%B: Function descriptor relocation with non-zero addend%B: GAS error: unexpected PTB insn with R_SH_PT_16%B: GNU_MBIN section `%A' has invalid sh_info field: %d%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d%B: GOT overflow: Number of relocations with 8-bit offset > %d%B: GOT reloc at 0x%lx not expected in executables%B: IMPORT AS directive for %s conceals previous IMPORT AS%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte%B: Instruction set mismatch with previous modules%B: Internal inconsistency error for value for
- linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx
-%B: Invalid relocation type exported: %d%B: Invalid relocation type imported: %d%B: Invalid sh_link field (%d) in section number %d%B: LOCAL directive: Register $%ld is not a local register.  First global register is $%ld.%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol%B: Malformed reloc detected for section %A%B: Malformed reloc detected for section %s%B: Nested OMIT_FP in %A.%B: No core to allocate a symbol %d bytes long
+%B: Failed to add renamed symbol %s%B: Failed to find info section for section %d%B: Failed to find link section for section %d%B: Failed to read debug data section%B: Function descriptor relocation with non-zero addend%B: GAS error: unexpected PTB insn with R_SH_PT_16%B: GNU_MBIN section `%A' has invalid sh_info field: %d%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d%B: GOT overflow: Number of relocations with 8-bit offset > %d%B: GOT reloc at %#Lx not expected in executables%B: IMPORT AS directive for %s conceals previous IMPORT AS%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte%B: Instruction set mismatch with previous modules%B: Internal inconsistency error for value for
+ linker-allocated global register: linked: %#Lx != relaxed: %#Lx%B: Invalid relocation type exported: %d%B: Invalid relocation type imported: %d%B: Invalid sh_link field (%d) in section number %d%B: LOCAL directive: Register $%Ld is not a local register.  First global register is $%Ld.%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol%B: Malformed reloc detected for section %A%B: Malformed reloc detected for section %s%B: Nested OMIT_FP in %A.%B: No core to allocate a symbol %d bytes long
 %B: No core to allocate section name %s
-%B: No symbol version section for versioned symbol `%s'%B: Not enough memory to allocate space for %lu symbols%B: Not enough room for program headers, try linking with -N%B: Only registers %%g[2367] can be declared using STT_REGISTER%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive%B: Relocation %s (%d) is not currently supported.
-%B: Relocation %s is not yet supported for symbol %s.%B: Relocations in generic ELF (EM: %d)%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined%B: SHT_GROUP section [index %d] has no SHF_GROUP sections%B: Special symbol `%s' only allowed for ARMv8-M architecture or later.%B: TLS local exec code cannot be linked into shared objects%B: TLS sections are not adjacent:%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed%B: TOC reloc at 0x%x to symbol `%s' with no TOC entry%B: The first section in the PT_DYNAMIC segment is not the .dynamic section%B: The target (%s) of an %s relocation is in the wrong section (%A)%B: Too many sections: %d (>= %d)%B: Unable to sort relocs - they are in more than one size%B: Unable to sort relocs - they are of an unknown size%B: Unhandled import type; %x%B: Unknown architecture %s%B: Unknown mandatory ARC object attribute %d.%B: Unknown mandatory EABI object attribute %d%B: Unknown relocation type %d
+%B: No symbol version section for versioned symbol `%s'%B: Not enough room for program headers, try linking with -N%B: Only registers %%g[2367] can be declared using STT_REGISTER%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive%B: Relocation %s (%d) is not currently supported.
+%B: Relocation %s is not yet supported for symbol %s.%B: Relocations in generic ELF (EM: %d)%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined%B: SHT_GROUP section [index %d] has no SHF_GROUP sections%B: Special symbol `%s' only allowed for ARMv8-M architecture or later.%B: TLS local exec code cannot be linked into shared objects%B: TLS sections are not adjacent:%B: TLS transition from %s to %s against `%s' at %#Lx in section `%A' failed%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry%B: The first section in the PT_DYNAMIC segment is not the .dynamic section%B: The target (%s) of an %s relocation is in the wrong section (%A)%B: Too many sections: %d (>= %d)%B: Unable to sort relocs - they are in more than one size%B: Unable to sort relocs - they are of an unknown size%B: Unhandled import type; %x%B: Unknown architecture %s%B: Unknown mandatory ARC object attribute %d.%B: Unknown mandatory EABI object attribute %d%B: Unknown relocation type %d
 %B: Unknown section type in a.out.adobe file: %x
-%B: Unmatched OMIT_FP in %A.%B: Unrecognised .directive command: %s%B: Unrecognised import name type; %x%B: Unrecognised import type; %x%B: Unrecognised machine type (0x%x) in Import Library Format archive%B: Unrecognized storage class %d for %s symbol `%s'%B: Unsupported transition from %s to %s%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s%B: Warning: Thumb BLX instruction targets thumb function '%s'.%B: Warning: bad `%s' option size %u smaller than its header%B: Warning: cannot determine the target function for stub section `%s'%B: Warning: thumb-1 mode PLT generation not currently supported%B: XCOFF shared object when not producing XCOFF output%B: XMC_TC0 symbol `%s' is class %d scnlen %d%B: __gp does not cover short data segment%B: `%A' offset of %ld from `%A' beyond the range of ADDIUPC%B: `%s' accessed both as FDPIC and thread local symbol%B: `%s' accessed both as normal and FDPIC symbol%B: `%s' accessed both as normal and thread local symbol%B: `%s' and its special symbol are in different sections.%B: `%s' has line numbers but no enclosing section%B: `%s' in loader reloc but not loader sym%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)%B: `ld -r' not supported with PE MIPS objects
-%B: absent standard symbol `%s'.%B: access beyond end of merged section (%ld)%B: addend -0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range%B: addend 0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range%B: address 0x%s out of range for Intel Hex file%B: aout header specifies an invalid number of data-directory entries: %d%B: attempt to emit contents at non-multiple-of-4 address 0x%lx
-%B: attempt to load strings from a non-string section (number %d)%B: attempt to mix FDPIC and non-FDPIC objects%B: attempt to write out unknown reloc type%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d%B: bad pair/reflo after refhi
-%B: bad reloc address 0x%lx in section `%A'%B: bad reloc symbol index (%#lx >= %#lx) for offset %#Lx in section `%A'%B: bad relocation section name `%s'%B: bad section length in ihex_read_section%B: bad string table size %lu%B: bad symbol index: %d%B: base-plus-offset relocation against register symbol: %s in %A%B: base-plus-offset relocation against register symbol: (unknown) in %A%B: can not represent section `%A' in a.out object file format%B: can not represent section `%A' in oasys%B: can not represent section for symbol `%s' in a.out object file format%B: can't link hard-float modules with soft-float modules%B: cannot allocate file name for file number %d, %d bytes
-%B: cannot create stub entry %s%B: cannot link fdpic object file into non-fdpic executable%B: cannot link non-fdpic object file into fdpic executable%B: change in gp: BRSGP %s%B: class %d symbol `%s' has no aux entries%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s%B: compiled as 32-bit object and %B is 64-bit%B: compiled as 64-bit object and %B is 32-bit%B: compiled for a 64 bit system and target is 32 bit%B: compiled for a big endian system and target is little endian%B: compiled for a little endian system and target is big endian%B: compiled normally and linked with modules compiled with -mrelocatable%B: compiled with %s and linked with modules compiled with %s%B: compiled with %s and linked with modules that use non-pic relocations%B: compiled with -mrelocatable and linked with modules compiled normally%B: corrupt size field in group section header: %#Lx%B: could not find output section %A for input section %A%B: could not read contents of section `%A'
+%B: Unmatched OMIT_FP in %A.%B: Unrecognised .directive command: %s%B: Unrecognised import name type; %x%B: Unrecognised import type; %x%B: Unrecognised machine type (0x%x) in Import Library Format archive%B: Unrecognized storage class %d for %s symbol `%s'%B: Unsupported transition from %s to %s%B: Warning: Arm BLX instruction targets Arm function '%s'.%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s%B: Warning: Thumb BLX instruction targets thumb function '%s'.%B: Warning: bad `%s' option size %u smaller than its header%B: Warning: cannot determine the target function for stub section `%s'%B: Warning: thumb-1 mode PLT generation not currently supported%B: XCOFF shared object when not producing XCOFF output%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld%B: __gp does not cover short data segment%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC%B: `%s' accessed both as FDPIC and thread local symbol%B: `%s' accessed both as normal and FDPIC symbol%B: `%s' accessed both as normal and thread local symbol%B: `%s' and its special symbol are in different sections.%B: `%s' has line numbers but no enclosing section%B: `%s' in loader reloc but not loader sym%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)%B: `ld -r' not supported with PE MIPS objects
+%B: absent standard symbol `%s'.%B: access beyond end of merged section (%Ld)%B: addend %s%#x in relocation %s against symbol `%s' at %#Lx in section `%A' is out of range%B: address %#Lx out of range for Intel Hex file%B: aout header specifies an invalid number of data-directory entries: %ld%B: attempt to emit contents at non-multiple-of-4 address %#Lx%B: attempt to load strings from a non-string section (number %d)%B: attempt to mix FDPIC and non-FDPIC objects%B: attempt to write out unknown reloc type%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld%B: bad pair/reflo after refhi
+%B: bad reloc address %#Lx in section `%A'%B: bad reloc symbol index (%#Lx >= %#lx) for offset %#Lx in section `%A'%B: bad relocation section name `%s'%B: bad section length in ihex_read_section%B: bad string table size %Lu%B: bad symbol index: %d%B: base-plus-offset relocation against register symbol: %s in %A%B: base-plus-offset relocation against register symbol: (unknown) in %A%B: can not represent section `%A' in a.out object file format%B: can not represent section `%A' in oasys%B: can not represent section for symbol `%s' in a.out object file format%B: can't link hard-float modules with soft-float modules%B: cannot allocate file name for file number %d, %d bytes
+%B: cannot create stub entry %s%B: cannot link fdpic object file into non-fdpic executable%B: cannot link non-fdpic object file into fdpic executable%B: change in gp: BRSGP %s%B: class %d symbol `%s' has no aux entries%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s%B: compiled as 32-bit object and %B is 64-bit%B: compiled as 64-bit object and %B is 32-bit%B: compiled for a 64 bit system and target is 32 bit%B: compiled for a big endian system and target is little endian%B: compiled for a little endian system and target is big endian%B: compiled normally and linked with modules compiled with -mrelocatable%B: compiled with %s and linked with modules compiled with %s%B: compiled with %s and linked with modules that use non-pic relocations%B: compiled with -mrelocatable and linked with modules compiled normally%B: corrupt size field in group section header: %#Lx%B: corrupt symbol count: %#Lx%B: could not find output section %A for input section %A%B: could not read contents of section `%A'
 %B: could not write out added .cranges entries%B: could not write out sorted .cranges entries%B: csect `%s' not in enclosing section%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object%B: directive LOCAL valid only with a register or absolute value%B: dtp-relative relocation against dynamic symbol %s%B: duplicate export stub %s%B: duplicate section `%A' has different contents
 %B: duplicate section `%A' has different size
-%B: dynamic object with no .loader section%B: encountered datalabel symbol in input%B: endianness incompatible with that of the selected emulation%B: entry function `%s' is empty.%B: entry function `%s' not output.%B: error: ABI mismatch with previous modules.%B: error: Alignment power %d of section `%A' is too big%B: error: Cannot create STM32L4XX veneer.%B: error: Cannot set _ITB_BASE_%B: error: Cortex-A8 erratum stub is allocated in unsafe location%B: error: Cortex-A8 erratum stub out of range (input file too large)%B: error: Erratum 835769 stub out of range (input file too large)%B: error: Erratum 843419 stub out of range (input file too large)%B: error: Instruction set mismatch with previous modules.%B: error: PHDR segment not covered by LOAD segment%B: error: VFP11 veneer out of range%B: error: non-load segment %d includes file header and/or program header%B: error: unaligned relocation type %d at %08x reloc %08x
-%B: error: unaligned relocation type %d at %08x reloc %p
-%B: error: unknown mandatory EABI object attribute %d%B: error: unknown relocation type %d.%B: failed to generate import library%B: fatal: generic symbols retrieved before relaxing%B: file class %s incompatible with %s%B: gp-relative relocation against dynamic symbol %s%B: hidden symbol `%s' in %B is referenced by DSO%B: hidden symbol `%s' isn't defined%B: ignoring duplicate section `%A'
-%B: illegal relocation type %d at address 0x%lx%B: illegal section name `%A'%B: illegal symbol index %ld in relocs%B: illegal symbol index in reloc: %d%B: incompatible machine type. Output is 0x%x. Input is 0x%x%B: incorrect size for symbol `%s'.%B: indirect symbol `%s' to `%s' is a loop%B: internal error in ihex_read_section%B: internal error, internal register section %A had contents
+%B: dynamic object with no .loader section%B: dynamic relocation against `%T' in read-only section `%A'
+%B: dynamic relocation in read-only section `%A'
+%B: encountered datalabel symbol in input%B: endianness incompatible with that of the selected emulation%B: entry function `%s' is empty.%B: entry function `%s' not output.%B: error: ABI mismatch with previous modules.%B: error: Alignment power %d of section `%A' is too big%B: error: Cannot create STM32L4XX veneer.%B: error: Cannot set _ITB_BASE_%B: error: Cortex-A8 erratum stub is allocated in unsafe location%B: error: Cortex-A8 erratum stub out of range (input file too large)%B: error: Erratum 835769 stub out of range (input file too large)%B: error: Erratum 843419 stub out of range (input file too large)%B: error: Instruction set mismatch with previous modules.%B: error: PHDR segment not covered by LOAD segment%B: error: VFP11 veneer out of range%B: error: attribute section length too small: %ld%B: error: non-load segment %d includes file header and/or program header%B: error: unaligned relocation type %d at %#Lx reloc %#Lx%B: error: unaligned relocation type %d at %08Lx reloc %08Lx%B: error: unexpected symbol '%s' in COMDAT section%B: error: unknown mandatory EABI object attribute %d%B: error: unknown relocation type %d.%B: failed to generate import library%B: fatal: generic symbols retrieved before relaxing%B: file class %s incompatible with %s%B: gp-relative relocation against dynamic symbol %s%B: group section '%A' has no contents%B: hidden symbol `%s' in %B is referenced by DSO%B: hidden symbol `%s' isn't defined%B: ignoring duplicate section `%A'
+%B: illegal relocation type %d at address %#Lx%B: illegal section name `%A'%B: illegal symbol index %ld in relocs%B: illegal symbol index in reloc: %ld%B: incompatible machine type. Output is 0x%x. Input is 0x%x%B: incorrect size for symbol `%s'.%B: indirect symbol `%s' to `%s' is a loop%B: internal error in ihex_read_section%B: internal error, internal register section %A had contents
 %B: internal error, symbol table changed size from %d to %d words
 %B: internal symbol `%s' in %B is referenced by DSO%B: internal symbol `%s' isn't defined%B: invalid AVR reloc number: %d%B: invalid CR16C reloc number: %d%B: invalid CRIS reloc number: %d%B: invalid D10V reloc number: %d%B: invalid D30V reloc number: %d%B: invalid Epiphany reloc number: %d%B: invalid FR30 reloc number: %d%B: invalid FRV reloc number: %d%B: invalid IP2K reloc number: %d%B: invalid IQ2000 reloc number: %d%B: invalid LM32 reloc number: %d%B: invalid M32C reloc number: %d%B: invalid M32R reloc number: %d%B: invalid M68HC11 reloc number: %d%B: invalid M68HC12 reloc number: %d%B: invalid MEP reloc number: %d%B: invalid METAG reloc number: %d%B: invalid MMIX reloc number: %d%B: invalid MSP430 reloc number: %d%B: invalid MSP430X reloc number: %d%B: invalid MT reloc number: %d%B: invalid Moxie reloc number: %d%B: invalid NDS32 reloc number: %d%B: invalid OR1K reloc number: %d%B: invalid RL78 reloc number: %d%B: invalid RX reloc number: %d%B: invalid SHT_GROUP entry%B: invalid V850 reloc number: %d%B: invalid Visium reloc number: %d%B: invalid XGate reloc number: %d%B: invalid XTENSA reloc number: %d%B: invalid i960 reloc number: %d%B: invalid import library entry: `%s'.%B: invalid link %u for reloc section %s (index %u)%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)
 %B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote
@@ -346,21 +354,18 @@ Use gcc option -mrestrict-it to generate
 %B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx
 %B: invalid mmo file: lop_end not last item in file
 %B: invalid mmo file: unsupported lopcode `%d'
-%B: invalid relocation type %d%B: invalid size field in group section header: %#Lx%B: invalid special symbol `%s'.%B: invalid standard symbol `%s'.%B: invalid start address for initialized registers of length %ld: 0x%lx%08lx
-%B: invalid string offset %u >= %lu for section `%s'%B: invalid symbol table: duplicate symbol `%s'
+%B: invalid relocation type %d%B: invalid size field in group section header: %#Lx%B: invalid special symbol `%s'.%B: invalid standard symbol `%s'.%B: invalid start address for initialized registers of length %Ld: %#Lx%B: invalid string offset %u >= %Lu for section `%s'%B: invalid symbol table: duplicate symbol `%s'
 %B: jump too far away
-%B: line number overflow: 0x%lx > 0xffff%B: linking %s module with previous %s modules%B: linking 32-bit code with 64-bit code%B: linking 64-bit files with 32-bit files%B: linking UltraSPARC specific with HAL specific code%B: linking auto-pic files with non-auto-pic files%B: linking big-endian files with little-endian files%B: linking constant-gp files with non-constant-gp files%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double%B: linking files compiled for HCS12 with others compiled for HC12%B: linking little endian files with big endian files%B: linking non-pic code in a position independent executable%B: linking trap-on-NULL-dereference with non-trapping files%B: loader reloc in read-only section %A%B: loader reloc in unrecognized section `%s'%B: local symbol `%s' in %B is referenced by DSO%B: misplaced XTY_LD `%s'%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'.%B: no group info for section %A%B: no initialized registers; section length 0
-%B: no symbol found for import library%B: no valid group sections found%B: non-pic code with imm relocation against dynamic symbol `%s'%B: non-zero symbol index (%#lx) for offset %#Lx in section `%A' when the object file has no symbol table%B: object size does not match that of target %B%B: out of memory creating name for empty section%B: out of memory in _bfd_elf_get_property%B: page size is too large (0x%x)%B: pc-relative relocation against dynamic symbol %s%B: pc-relative relocation against undefined weak symbol %s%B: plugin needed to handle lto object%B: probably compiled without -fPIC?%B: protected symbol `%s' isn't defined%B: register relocation against non-register symbol: %s in %A%B: register relocation against non-register symbol: (unknown) in %A%B: reloc %s:%d not in csect%B: reloc against a non-existent symbol index: %ld%B: relocatable link from %s to %s not supported%B: relocation %s against %s%s`%s' can not be used when making a shared object%s%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC%B: relocation %s against symbol `%s' isn't supported in x32 mode%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC%B: relocation %s can not be used when making a shared object; recompile with -fPIC%B: relocation %s cannot be used when making a shared object%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend%B: relocation size mismatch in %B section %A%B: relocs in section `%A', but it has no contents%B: section %A lma %#Lx adjusted to %#Lx%B: section %A: string table overflow at offset %ld%B: section `%A' can't be allocated in segment %d%B: section group entry number %u is corrupt%B: sh_link [%d] in section `%A' is incorrect%B: sh_link of section `%A' points to discarded section `%A' of `%B'%B: sh_link of section `%A' points to removed section `%A' of `%B'%B: short data segment overflowed (0x%lx >= 0x400000)%B: size field is zero in Import Library Format header%B: speculation fixup to dynamic symbol %s%B: stack size specified and %s set%B: string not null terminated in ILF object file.%B: string too long (%d chars, max 65535)%B: support for local dynamic not implemented%B: symbol `%s' has unrecognized csect type %d%B: symbol `%s' has unrecognized smclas %d%B: symbol `%s' required but not present%B: taking the address of protected function '%s' cannot be done when making a shared library%B: the target (%s) of a %s relocation is in the wrong output section (%s)%B: too many initialized registers; section length %ld
-%B: too many sections (%d)%B: too many sections: %u%B: tp-relative relocation against dynamic symbol %s%B: unable to create fake empty section%B: unable to fill in DataDictionary[12] because .idata$5 is missing%B: unable to fill in DataDictionary[1] because .idata$2 is missing%B: unable to fill in DataDictionary[1] because .idata$4 is missing%B: unable to fill in DataDictionary[9] because __tls_used is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing%B: unable to find ARM glue '%s' for `%s'%B: unable to find STM32L4XX veneer `%s'%B: unable to find THUMB glue '%s' for `%s'%B: unable to find VFP11 veneer `%s'%B: unable to find name for empty section%B: unable to get decompressed section %A%B: unable to initialize compress status for section %s%B: unable to initialize decompress status for section %s%B: unable to load COMDAT section name%B: undefined reference to symbol '%s'%B: undefined sym `%s' in .opd section%B: undefined symbol on R_PPC64_TOCSAVE relocation%B: unexpected ATN type %d in external part%B: unexpected redefinition of indirect versioned symbol `%s'%B: unexpected reloc type %u in .opd section%B: unexpected type after ATN%B: unhandled dynamic relocation against %s%B: unimplemented %s
-%B: unimplemented ATI record %u for symbol %u%B: unknown load command 0x%lx%B: unknown relocation type %d%B: unknown relocation type %d for symbol %s%B: unknown type [%#x] section `%s'%B: unknown type [%#x] section `%s' in group [%A]%B: unknown/unsupported relocation type %d%B: unrecognised Alpha reloc number: %d%B: unrecognised CR16 reloc number: %d%B: unrecognised CRX reloc number: %d%B: unrecognised I370 reloc number: %d%B: unrecognised MCore reloc number: %d%B: unrecognised MN10300 reloc number: %d%B: unrecognised MicroBlaze reloc number: %d%B: unrecognised PPC reloc number: %d%B: unrecognised PicoJava reloc number: %d%B: unrecognised SH reloc number: %d%B: unrecognised SPU reloc number: %d%B: unrecognised VAX reloc number: %d%B: unrecognized relocation (0x%x) in section `%A'%B: unrecognized symbol `%s' flags 0x%x%B: unsupported non-PIC call to IFUNC `%s'%B: unsupported relocation type %i%B: unsupported relocation type %i
+%B: line number overflow: 0x%lx > 0xffff%B: linking %s module with previous %s modules%B: linking 32-bit code with 64-bit code%B: linking 64-bit files with 32-bit files%B: linking UltraSPARC specific with HAL specific code%B: linking auto-pic files with non-auto-pic files%B: linking big-endian files with little-endian files%B: linking constant-gp files with non-constant-gp files%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double%B: linking files compiled for HCS12 with others compiled for HC12%B: linking little endian files with big endian files%B: linking non-pic code in a position independent executable%B: linking trap-on-NULL-dereference with non-trapping files%B: loader reloc in read-only section %A%B: loader reloc in unrecognized section `%s'%B: local symbol `%s' in %B is referenced by DSO%B: misplaced XTY_LD `%s'%B: missing TLS section for relocation %s against `%s' at %#Lx in section `%A'.%B: no group info for section '%A'%B: no initialized registers; section length 0
+%B: no symbol found for import library%B: no valid group sections found%B: non-pic code with imm relocation against dynamic symbol `%s'%B: non-zero symbol index (%#Lx) for offset %#Lx in section `%A' when the object file has no symbol table%B: not enough memory to allocate space for %#Lx symbols of size %#Lx%B: object size does not match that of target %B%B: out of memory creating name for empty section%B: out of memory in _bfd_elf_get_property%B: page size is too large (0x%x)%B: pc-relative relocation against dynamic symbol %s%B: pc-relative relocation against undefined weak symbol %s%B: plugin needed to handle lto object%B: probably compiled without -fPIC?%B: protected symbol `%s' isn't defined%B: register relocation against non-register symbol: %s in %A%B: register relocation against non-register symbol: (unknown) in %A%B: reloc %s:%Ld not in csect%B: reloc against a non-existent symbol index: %ld%B: relocatable link from %s to %s not supported%B: relocation %s against %s%s`%s' can not be used when making %s%s%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %Ld%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported%B: relocation %s against `%s' can not be used when making a shared object%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC%B: relocation %s against symbol `%s' isn't supported in x32 mode%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC%B: relocation %s can not be used when making a shared object; recompile with -fPIC%B: relocation %s cannot be used when making a shared object%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend%B: relocation size mismatch in %B section %A%B: relocs in section `%A', but it has no contents%B: section %A lma %#Lx adjusted to %#Lx%B: section %A: string table overflow at offset %ld%B: section `%A' can't be allocated in segment %d%B: section group entry number %u is corrupt%B: sh_link [%d] in section `%A' is incorrect%B: sh_link of section `%A' points to discarded section `%A' of `%B'%B: sh_link of section `%A' points to removed section `%A' of `%B'%B: short data segment overflowed (%#Lx >= 0x400000)%B: size field is zero in Import Library Format header%B: speculation fixup to dynamic symbol %s%B: stack size specified and %s set%B: string not null terminated in ILF object file.%B: string too long (%ld chars, max 65535)%B: support for local dynamic not implemented%B: symbol `%s' has unrecognized csect type %d%B: symbol `%s' has unrecognized smclas %d%B: symbol `%s' required but not present%B: taking the address of protected function '%s' cannot be done when making a shared library%B: the target (%s) of a %s relocation is in the wrong output section (%s)%B: too many initialized registers; section length %Ld%B: too many sections (%d)%B: too many sections: %u%B: tp-relative relocation against dynamic symbol %s%B: unable to create fake empty section%B: unable to fill in DataDictionary[12] because .idata$5 is missing%B: unable to fill in DataDictionary[1] because .idata$2 is missing%B: unable to fill in DataDictionary[1] because .idata$4 is missing%B: unable to fill in DataDictionary[9] because __tls_used is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing%B: unable to find ARM glue '%s' for `%s'%B: unable to find STM32L4XX veneer `%s'%B: unable to find THUMB glue '%s' for `%s'%B: unable to find VFP11 veneer `%s'%B: unable to find name for empty section%B: unable to get decompressed section %A%B: unable to initialize compress status for section %s%B: unable to initialize decompress status for section %s%B: unable to load COMDAT section name%B: undefined reference to symbol '%s'%B: undefined sym `%s' in .opd section%B: undefined symbol on R_PPC64_TOCSAVE relocation%B: unexpected ATN type %Ld in external part%B: unexpected redefinition of indirect versioned symbol `%s'%B: unexpected reloc type %u in .opd section%B: unexpected type after ATN%B: unhandled dynamic relocation against %s%B: unimplemented %s
+%B: unimplemented ATI record %u for symbol %u%B: unknown load command %#x%B: unknown relocation type %d%B: unknown relocation type %d for symbol %s%B: unknown type [%#x] section `%s'%B: unknown type [%#x] section `%s' in group [%A]%B: unknown/unsupported relocation type %d%B: unrecognised Alpha reloc number: %d%B: unrecognised CR16 reloc number: %d%B: unrecognised CRX reloc number: %d%B: unrecognised I370 reloc number: %d%B: unrecognised MCore reloc number: %d%B: unrecognised MN10300 reloc number: %d%B: unrecognised MicroBlaze reloc number: %d%B: unrecognised PPC reloc number: %d%B: unrecognised PicoJava reloc number: %d%B: unrecognised SH reloc number: %d%B: unrecognised SPU reloc number: %d%B: unrecognised VAX reloc number: %d%B: unrecognized relocation (%#x) in section `%A'%B: unrecognized symbol `%s' flags 0x%x%B: unsupported non-PIC call to IFUNC `%s'%B: unsupported relocation type %d%B: unsupported relocation type %i
 %B: unsupported relocation type %s%B: unsupported relocation type 0x%02x%B: unsupported relocation: ALPHA_R_GPRELHIGH%B: unsupported relocation: ALPHA_R_GPRELLOW%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'
-%B: uses %s instructions while previous modules use %s instructions%B: uses _-prefixed symbols, but writing file with non-prefixed symbols%B: uses different e_flags (%#x) fields than previous modules (%#x)%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)%B: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)%B: uses instructions which are incompatible with instructions used in previous modules%B: uses non-prefixed symbols, but writing file with _-prefixed symbols%B: version count (%ld) does not match symbol count (%ld)%B: version node not found for symbol %s%B: visibility of symbol `%s' has changed.%B: warning core file truncated%B: warning: %A: line number overflow: 0x%lx > 0xffff%B: warning: %s points to unrecognized reloc at 0x%lx.%B: warning: %s relocation against symbol `%s' from %A section%B: warning: %s relocation to 0x%x from %A section%B: warning: %s: line number overflow: 0x%lx > 0xffff%B: warning: COMDAT symbol '%s' does not match section name '%s'%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?%B: warning: Endian mismatch with previous modules.%B: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld%B: warning: Incompatible elf-versions %s and  %s.%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags%B: warning: No symbol for section '%s' found%B: warning: Older version of object file encountered, Please recompile with current tool chain.%B: warning: PLT addend of %d to `%s' from %A section ignored%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)%B: warning: allocated section `%s' not in segment%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode.%B: warning: claims to have 0xffff relocs, without overflow%B: warning: duplicate line number information for `%s'%B: warning: illegal symbol in line number entry %d%B: warning: illegal symbol index %ld in relocs%B: warning: illegal symbol index 0x%lx in line number entry %d%B: warning: isymMax (%ld) is greater than ifdMax (%d)
-%B: warning: line number table read failed%B: warning: linking PIC files with non-PIC files%B: warning: linking abicalls files with non-abicalls files%B: warning: loop in section dependencies detected%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u%B: warning: multiple symbol tables detected - ignoring the table in section %u%B: warning: relocate SDA_BASE failed.%B: warning: segment alignment of %#Lx is too large%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture%B: warning: selected VFP11 erratum workaround is not necessary for target architecture%B: warning: sh_link not set for section `%A'%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.
-%B: warning: unaligned access to GOT entry.%B: warning: unaligned small data access. For entry: {%d, %d, %d}, addr = 0x%x, align = 0x%x.%B: warning: unknown EABI object attribute %d%B: will not resolve runtime TLS relocation%B:%A%s exceeds overlay size
+%B: uses %s instructions while previous modules use %s instructions%B: uses _-prefixed symbols, but writing file with non-prefixed symbols%B: uses different e_flags (%#x) fields than previous modules (%#x)%B: uses different unknown e_flags (%#x) fields than previous modules (%#x)%B: uses instructions which are incompatible with instructions used in previous modules%B: uses non-prefixed symbols, but writing file with _-prefixed symbols%B: version count (%Ld) does not match symbol count (%ld)%B: version node not found for symbol %s%B: visibility of symbol `%s' has changed.%B: warning core file truncated%B: warning: %A: line number overflow: %#x > 0xffff%B: warning: %s points to unrecognized reloc at %#Lx%B: warning: %s relocation against symbol `%s' from %A section%B: warning: %s relocation to %#Lx from %A section%B: warning: %s: line number overflow: 0x%lx > 0xffff%B: warning: COMDAT symbol '%s' does not match section name '%s'%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?%B: warning: Endian mismatch with previous modules.%B: warning: GOT addend of %Ld to `%s' does not match previous GOT addend of %Ld%B: warning: Incompatible elf-versions %s and  %s.%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags%B: warning: No symbol for section '%s' found%B: warning: Older version of object file encountered, Please recompile with current tool chain.%B: warning: PLT addend of %Ld to `%s' from %A section ignored%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)%B: warning: allocated section `%s' not in segment%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode.%B: warning: claims to have 0xffff relocs, without overflow%B: warning: duplicate line number information for `%s'%B: warning: illegal symbol in line number entry %d%B: warning: illegal symbol index %ld in relocs%B: warning: illegal symbol index 0x%lx in line number entry %d%B: warning: isymMax (%ld) is greater than ifdMax (%ld)%B: warning: line number count (%#lx) exceeds section size (%#lx)%B: warning: line number table read failed%B: warning: linking PIC files with non-PIC files%B: warning: linking abicalls files with non-abicalls files%B: warning: loop in section dependencies detected%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u%B: warning: multiple symbol tables detected - ignoring the table in section %u%B: warning: relocate SDA_BASE failed.%B: warning: segment alignment of %#Lx is too large%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture%B: warning: selected VFP11 erratum workaround is not necessary for target architecture%B: warning: sh_link not set for section `%A'%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.
+%B: warning: unaligned access to GOT entry.%B: warning: unaligned small data access for entry: {%Ld, %Ld, %Ld}, addr = %#Lx, align = %#x%B: warning: unknown EABI object attribute %d%B: will not resolve runtime TLS relocation%B:%A%s exceeds overlay size
 %B:%A: %s and %s must be in the same input section%B:%A: Warning: deprecated Red Hat reloc %B:%A: error: relocation references symbol %s which was removed by garbage collection.%B:%A: error: try relinking with --gc-keep-exported enabled.%B:%A: table %s missing corresponding %s%B:%A: table entry %s not word-aligned within table%B:%A: table entry %s outside table%B:%d: Bad checksum in S-record file
 %B:%d: Unexpected character `%s' in S-record file
 %B:%d: byte count %d too small
-%B:%d: unexpected character `%s' in Intel Hex file%B:%u: bad checksum in Intel Hex file (expected %u, found %u)%B:%u: bad extended address record length in Intel Hex file%B:%u: bad extended linear address record length in Intel Hex file%B:%u: bad extended linear start address length in Intel Hex file%B:%u: bad extended start address length in Intel Hex file%B:%u: unrecognized ihex type %u in Intel Hex file%C: warning: relocation to "%s" references a different segment
+%B:%d: unexpected character `%s' in Intel Hex file%B:%s has both normal and TLS relocs%B:%s section %s: alignment 2**%u not representable%B:%u: bad checksum in Intel Hex file (expected %u, found %u)%B:%u: bad extended address record length in Intel Hex file%B:%u: bad extended linear address record length in Intel Hex file%B:%u: bad extended linear start address length in Intel Hex file%B:%u: bad extended start address length in Intel Hex file%B:%u: unrecognized ihex type %u in Intel Hex file%C: warning: relocation to "%s" references a different segment
 %F%A: failed to align section
 %F%B: PC-relative offset overflow in GOT PLT entry for `%s'
 %F%B: PC-relative offset overflow in PLT entry for `%s'
@@ -370,16 +375,17 @@ Use gcc option -mrestrict-it to generate
 %F%P: can not build overlay stubs: %E
 %F%P: corrupt input: %B
 %F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie
-%F: failed to create BND PLT .eh_frame section
-%F: failed to create BND PLT section
-%F: failed to create GNU property section
-%F: failed to create GOT PLT .eh_frame section
-%F: failed to create GOT PLT section
-%F: failed to create GOT sections
-%F: failed to create IBT-enabled PLT section
-%F: failed to create PLT .eh_frame section
-%F: failed to create VxWorks dynamic sections
-%F: failed to create ifunc sections
+%F%P: failed to convert GOTPCREL relocation; relink with --no-relax
+%F%P: failed to create BND PLT section
+%F%P: failed to create GNU property section
+%F%P: failed to create GOT PLT .eh_frame section
+%F%P: failed to create GOT PLT section
+%F%P: failed to create GOT sections
+%F%P: failed to create IBT-enabled PLT section
+%F%P: failed to create PLT .eh_frame section
+%F%P: failed to create VxWorks dynamic sections
+%F%P: failed to create ifunc sections
+%F%P: failed to create the second PLT .eh_frame section
 %H __tls_get_addr lost arg, TLS optimization disabled
 %H arg lost __tls_get_addr, TLS optimization disabled
 %H: %s against `%T': error %d
@@ -409,7 +415,6 @@ Use gcc option -mrestrict-it to generate
 %H: cannot emit fixups in read-only section
 %H: error: %s against `%s' not a multiple of %u
 %H: error: %s not a multiple of %u
-%H: error: %s with unexpected instruction %x
 %H: fixup branch overflow
 %H: non-zero addend on %s reloc against `%s'
 %H: reloc against `%s' references a different segment
@@ -420,8 +425,8 @@ Use gcc option -mrestrict-it to generate
 %H: toc optimization is not supported for %s instruction.
 %H: unresolvable %s against `%T'
 %H: unresolvable %s relocation against symbol `%s'
+%H: warning: %s unexpected insn %#x.
 %P%F: --relax and -r may not be used together
-%P%F: failed creating ex9.it %s hash table: %E
 %P%X: can not read symbols: %E
 %P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC
 %P%X: read-only segment has dynamic relocations.
@@ -433,8 +438,8 @@ Use gcc option -mrestrict-it to generate
 %P: %B: unexpected relocation type
 %P: %B: unknown relocation type %d for `%T'
 %P: %B: unknown relocation type %d for symbol %s
-%P: %B: warning: relocation against `%s' in readonly section `%A'
-%P: %B: warning: relocation in readonly section `%A'
+%P: %B: warning: relocation against `%s' in read-only section `%A'
+%P: %B: warning: relocation in read-only section `%A'
 %P: %s not defined in linker created %s
 %P: %s offset too large for .eh_frame sdata4 encoding%P: .eh_frame_hdr entry overflow.
 %P: .eh_frame_hdr refers to overlapping FDEs.
@@ -457,6 +462,7 @@ Use gcc option -mrestrict-it to generate
 %P: relocatable link is not supported
 %P: stubs don't match calculated size
 %P: symbol '%s' has invalid st_other for ABI version 1
+%P: warning: --plt-localentry is especially dangerous without ld.so support to detect ABI violations.
 %P: warning: creating a DT_TEXTREL in a shared object.
 %P: warning: text relocations and GNU indirect functions may result in a segfault at runtime
 %X%C: relocation to "%s" references a different segment
@@ -479,7 +485,7 @@ Use gcc option -mrestrict-it to generate
 %X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B
 %s defined on removed toc entry%s duplicated
 %s duplicated in %s
-%s in overlay section%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A%s: TLS definition in %B section %A mismatches non-TLS reference in %B%s: TLS reference in %B mismatches non-TLS definition in %B section %A%s: TLS reference in %B mismatches non-TLS reference in %B%s: no such symbol%s: not implemented%s: not supported%s: undefined version: %s(at bit offset %u)
+%s has both normal and TLS relocs%s in overlay section%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A%s: TLS definition in %B section %A mismatches non-TLS reference in %B%s: TLS reference in %B mismatches non-TLS definition in %B section %A%s: TLS reference in %B mismatches non-TLS reference in %B%s: no such symbol%s: not implemented%s: not supported%s: undefined version: %s(at bit offset %u)
 (descriptor)
 (format %c%c%c%c signature %s age %ld)
 (no value)
@@ -509,11 +515,11 @@ Use gcc option -mrestrict-it to generate
 CTL_STLOC (set location)
 Cannot convert a branch to JALX for a non-word-aligned addressCannot convert a jump to JALX for a non-word-aligned addressCopyright Header
 Corrupt .rsrc section detected!
-Corrupt EGSD record: its size (%#x) is too smallCorrupt EGSD record: size (%#x) is larger than remaining space (%#x)Corrupt EGSD record: size (%#x) is too smallCorrupt ETIR record encounteredCorrupt vms valueDSO missing from command lineDST__K_BEG_STMT_MODE not implementedDST__K_END_STMT_MODE not implementedDST__K_RESET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR_W not implementedDST__K_SET_PC not implementedDST__K_SET_PC_L not implementedDST__K_SET_PC_W not implementedDST__K_SET_STMTNUM not implementedDebug DirectoryDebug module table:
+Corrupt EEOM record - size is too smallCorrupt EGSD record: its psindx field is too big (%#lx)Corrupt EGSD record: its size (%#x) is too smallCorrupt EGSD record: size (%#x) is larger than remaining space (%#x)Corrupt EGSD record: size (%#x) is too smallCorrupt EIHD record - size is too smallCorrupt ETIR record encounteredCorrupt vms valueDSO missing from command lineDST__K_BEG_STMT_MODE not implementedDST__K_END_STMT_MODE not implementedDST__K_RESET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR_W not implementedDST__K_SET_PC not implementedDST__K_SET_PC_L not implementedDST__K_SET_PC_W not implementedDST__K_SET_STMTNUM not implementedDebug DirectoryDebug module table:
 Debug symbol table:
 Delay Import DirectoryDeprecated %s called
 Deprecated %s called at %s line %d in %s
-Description DirectoryDwarf Error: Can't find %s section.Dwarf Error: Could not find abbrev number %u.Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form.Dwarf Error: Info pointer extends beyond end of attributesDwarf Error: Invalid maximum operations per instruction.Dwarf Error: Invalid or unhandled FORM value: %#x.Dwarf Error: Line info data is bigger (0x%lx) than the section (0x%lx)Dwarf Error: Line info section is too small (%ld)Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu).Dwarf Error: Ran out of room reading opcodesDwarf Error: Ran out of room reading prologueDwarf Error: Unable to read alt ref %u.Dwarf Error: Unhandled .debug_line version %d.Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'.Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information.Dwarf Error: mangled line number section (bad file number).Dwarf Error: mangled line number section.EIHD: (size: %u, nbr blocks: %u)
+Description DirectoryDwarf Error: Abstract instance recursion detected.Dwarf Error: Can't find %s section.Dwarf Error: Could not find abbrev number %u.Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form.Dwarf Error: Info pointer extends beyond end of attributesDwarf Error: Invalid abstract instance DIE ref.Dwarf Error: Invalid maximum operations per instruction.Dwarf Error: Invalid or unhandled FORM value: %#x.Dwarf Error: Line info data is bigger (%#Lx) than the space remaining in the section (%#lx)Dwarf Error: Line info section is too small (%Ld)Dwarf Error: Line info unsupported segment selector size %u.Dwarf Error: Offset (%llu) greater than or equal to %s size (%Lu).Dwarf Error: Ran out of room reading opcodesDwarf Error: Ran out of room reading prologueDwarf Error: Unable to read alt ref %llu.Dwarf Error: Unhandled .debug_line version %d.Dwarf Error: Unknown format content type %Lu.Dwarf Error: Zero format count.Dwarf Error: data count (%Lx) larger than buffer size.Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'.Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3, 4 and 5 information.Dwarf Error: mangled line number section (bad file number).Dwarf Error: mangled line number section.EIHD: (size: %u, nbr blocks: %u)
 ERROR: Attempting to link %B with a binary %B of different architectureEntry function `%s' disappeared from secure code.Entry offset        = 0x%.8lx (%ld)
 Error reading %s: %sError: %B has both the current and legacy Tag_MPextension_use attributesError: The ARC4 architecture is no longer supported.
 Errors encountered processing file %BException Directory [.pdata]Export Directory [.edata (or where ever we found it)]Export Flags 			%lx
@@ -533,8 +539,8 @@ Use gcc option -mrestrict-it to generate
 Image identification: (major: %u, minor: %u)
 Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)
 Image symbol & debug table: (major: %u, minor: %u)
-Import Address Table DirectoryImport Directory [parts of .idata]Internal Error: RL78 reloc stack overflowInternal Error: RL78 reloc stack underflowInternal inconsistency: remaining %u != max %u.
-  Please report this bug.Invalid AArch64 reloc number: %dInvalid DLX reloc number: %dInvalid TARGET2 relocation type '%s'.Invalid bfd targetInvalid contents in %A sectionInvalid operationInvalid output section for .eh_frame_entry: %AInvalid section index in ETIRIt must be a global or weak function symbol.Jump to a non-instruction-aligned addressJump to a non-word-aligned addressLOGICAL_NAMES    Language Processor Name
+Import Address Table DirectoryImport Directory [parts of .idata]Internal Error: RL78 reloc stack overflowInternal Error: RL78 reloc stack underflowInternal inconsistency: remaining %lu != max %lu.
+  Please report this bug.Invalid AArch64 reloc number: %dInvalid DLX reloc number: %dInvalid TARGET2 relocation type '%s'.Invalid bfd targetInvalid contents in %A sectionInvalid operationInvalid output section for .eh_frame_entry: %AInvalid section index in ETIRIs this version of the linker - %s - out of date ?It must be a global or weak function symbol.Jump to a non-instruction-aligned addressJump to a non-word-aligned addressLOGICAL_NAMES    Language Processor Name
 Length              = 0x%.8lx (%ld)
 Linker: cannot init ex9 hash table error 
 Linker: error cannot fixed ex9 relocation 
@@ -558,7 +564,7 @@ Use gcc option -mrestrict-it to generate
 OPR_REDEF (redefine symbol to curr location)
 OPR_ROT (rotate)
 OPR_SEL (select)
-OPR_SUB (substract)
+OPR_SUB (subtract)
 OPR_USH (unsigned shift)
 Object module NOT error-free !
 Offset of veneer for entry function `%s' not a multiple of its size.One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined.Ordinal Base 			%ld
@@ -621,7 +627,7 @@ Use gcc option -mrestrict-it to generate
 Stack overflow (%d) in _bfd_vms_pushStack size for call graph root nodes.
 Stack underflow in _bfd_vms_popStart address of `%s' is different from previous link.Strides:
 Symbol %s not defined for fixups
-Symbol `%s' has differing types: %s in %B, previously REGISTER in %BSymbol `%s' has differing types: REGISTER in %B, previously %s in %BSymbol needs debug section which does not existSymbol should be absolute, global and refer to Thumb functions.System call errorTLS relocation invalid without dynamic sectionsTOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compilingTable Addresses
+Symbol `%s' has differing types: %s in %B, previously REGISTER in %BSymbol `%s' has differing types: REGISTER in %B, previously %s in %BSymbol needs debug section which does not existSymbol should be absolute, global and refer to Thumb functions.System call errorTLS relocation invalid without dynamic sectionsTOC overflow: %#Lx > 0x10000; try -mminimal-toc when compilingTable Addresses
 The debug data size field in the data directory is too big for the sectionThe debug directory size is not a multiple of the debug directory entry size
 There is a conflict merging the ELF header flags from %BThread Storage Directory [.tls]Time/Date stamp 		%lx
 Title Text Header
@@ -633,20 +639,20 @@ Use gcc option -mrestrict-it to generate
 Unrecognized TI COFF target id '0x%x'Unrecognized reloc type 0x%xUnsupported .stab relocationUnsupported CR16 relocation type: 0x%x
 VOLATILE         Variable `%s' can only be in one of the small, zero, and tiny data regionsVariable `%s' cannot be in both small and tiny data regions simultaneouslyVariable `%s' cannot be in both small and zero data regions simultaneouslyVariable `%s' cannot be in both zero and tiny data regions simultaneouslyVariable `%s' cannot occupy in multiple small data regionsVirtual size of .pdata section (%ld) larger than real size (%ld)
 Warning, .pdata section size (%ld) is not a multiple of %d
-Warning: %B does not support interworking, whereas %B doesWarning: %B is truncated: expected core file size >= %lu, found: %lu.Warning: %B supports interworking, whereas %B does notWarning: %B uses %s (set by %B), %B uses %sWarning: %B uses %s (set by %B), %B uses unknown MSA ABI %dWarning: %B uses %s (set by %B), %B uses unknown floating point ABI %dWarning: %B uses 64-bit long double, %B uses 128-bit long doubleWarning: %B uses AltiVec vector ABI, %B uses SPE vector ABIWarning: %B uses IBM long double, %B uses IEEE long doubleWarning: %B uses double-precision hard float, %B uses single-precision hard floatWarning: %B uses hard float, %B uses soft floatWarning: %B uses r3/r4 for small structure returns, %B uses memoryWarning: %B uses unknown MSA ABI %d (set by %B), %B uses %sWarning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %dWarning: %B uses unknown floating point ABI %d (set by %B), %B uses %sWarning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %dWarning: %B: Conflicting platform configurationWarning: %B: Conflicting platform configuration %s with %s.
+Warning: %B does not support interworking, whereas %B doesWarning: %B supports interworking, whereas %B does notWarning: %B uses %s (set by %B), %B uses %sWarning: %B uses %s (set by %B), %B uses unknown MSA ABI %dWarning: %B uses %s (set by %B), %B uses unknown floating point ABI %dWarning: %B uses 64-bit long double, %B uses 128-bit long doubleWarning: %B uses AltiVec vector ABI, %B uses SPE vector ABIWarning: %B uses IBM long double, %B uses IEEE long doubleWarning: %B uses double-precision hard float, %B uses single-precision hard floatWarning: %B uses hard float, %B uses soft floatWarning: %B uses r3/r4 for small structure returns, %B uses memoryWarning: %B uses unknown MSA ABI %d (set by %B), %B uses %sWarning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %dWarning: %B uses unknown floating point ABI %d (set by %B), %B uses %sWarning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %dWarning: %B: Conflicting platform configurationWarning: %B: Conflicting platform configuration %s with %s.
 Warning: %B: Unknown ARC object attribute %d.Warning: %B: Unknown EABI object attribute %dWarning: %B: Unknown MSPABI object attribute %dWarning: %s section size (%ld) is not a multiple of %d
 Warning: %s section size (%ld) is smaller than virtual size (%ld)
 Warning: %s section size is zero
 Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with itWarning: Clearing the interworking flag of %B due to outside requestWarning: Not setting interworking flag of %B since it has already been specified as non-interworkingWarning: RL78_SYM reloc with an unknown symbolWarning: RX_SYM reloc with an unknown symbolWarning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %AWarning: alignment %u of symbol `%s' in %B is smaller than %u in %BWarning: fixup count mismatch
-Warning: gc-sections option ignoredWarning: size of symbol `%s' changed from %Lu in %B to %Lu in %BWarning: size of symbol `%s' changed from %lu in %B to %lu in %BWarning: symbol `%s' is both section and non-sectionWarning: type of symbol `%s' changed from %d to %d in %BWarning: unset or old architecture flags. 
+Warning: gc-sections option ignoredWarning: size of symbol `%s' changed from %Lu in %B to %Lu in %BWarning: symbol `%s' is both section and non-sectionWarning: type of symbol `%s' changed from %d to %d in %BWarning: unset or old architecture flags. 
 	       Use default machine.
 Warning: writing archive was slow: rewriting timestamp
 Writing updated armap timestampXGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code.[%u]: Lower: %u, upper: %u
-[abi=16-bit int, [abi=32-bit int, [whose name is lost]\%B: Warning: Arm BLX instruction targets Arm function '%s'._bfd_vms_output_counted called with too many bytes_bfd_vms_output_counted called with zero bytes`%s' refers to a non entry function.addressaddress not word alignarray descriptor:
+[abi=16-bit int, [abi=32-bit int, [whose name is lost]_bfd_vms_output_counted called with too many bytes_bfd_vms_output_counted called with zero bytes`%s' refers to a non entry function.a PDE objecta PIE objecta shared objectaddressaddress not word alignarray descriptor:
 array, dim: %u, bitmap: arsize: %u, a0: 0x%08x
 atomic, type=0x%02x %s
 bad section index in %sbanked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)base: %u, pos: %u
-bfd_mach_o_canonicalize_symtab: unable to load symbolsbfd_mach_o_read_section_32: overlarge alignment value: 0x%x, using 32 insteadbfd_mach_o_read_section_64: overlarge alignment value: 0x%x, using 32 insteadbfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)bfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid section %d (max %lu): setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid type field 0x%x: setting to undefinedbfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lubfd_mach_o_read_symtab_symbols: unable to allocate memory for symbolsbfd_mach_o_scan: unknown architecture 0x%lx/0x%lxbfd_pef_scan: unknown architecture 0x%lxblkbeg: address: 0x%08x, name: %.*s
+bfd_mach_o_canonicalize_symtab: unable to load symbolsbfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 insteadbfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 insteadbfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)bfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid section %d (max %lu): setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid type field 0x%x: setting to undefinedbfd_mach_o_read_symtab_symbol: unable to read %d bytes at %ubfd_mach_o_read_symtab_symbols: unable to allocate memory for symbolsbfd_mach_o_scan: unknown architecture 0x%lx/0x%lxbfd_pef_scan: unknown architecture 0x%lxblkbeg: address: 0x%08x, name: %.*s
 blkend: size: 0x%08x
 cannot create stub entry %scannot emit dynamic relocations in read-only sectioncannot emit fixups in read-only sectioncannot find EMH in first GST record
 cannot handle R_MEM_INDIRECT reloc when using %s outputcannot read DMT
@@ -676,13 +682,13 @@ Use gcc option -mrestrict-it to generate
 enumelt, name: %.*s
 enumend
 epilog: flags: %u, count: %u
-error reading cpu type from elf private dataerror: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbolerror: %B does not use Maverick instructions, whereas %B doeserror: %B is already in final BE8 formaterror: %B is compiled as absolute position code, whereas target %B is position independenterror: %B is compiled as position independent code, whereas target %B is absolute positionerror: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%derror: %B is compiled for APCS-%d, whereas target %B uses APCS-%derror: %B is compiled for the EP9312, whereas %B is compiled for XScaleerror: %B needs 8-byte aligment but %B is set for 4-byte alignmenterror: %B passes floats in float registers, whereas %B passes them in integer registerserror: %B passes floats in integer registers, whereas %B passes them in float registerserror: %B requires more array alignment than %B preserveserror: %B requires more stack alignment than %B preserveserror: %B uses %s instructions but %B uses %serror: %B uses 64-bit doubles but %B uses 32-bit doubleserror: %B uses FPA instructions, whereas %B does noterror: %B uses FPU-3.0 but %B only supports FPU-2.0error: %B uses Maverick instructions, whereas %B does noterror: %B uses VFP instructions, whereas %B does noterror: %B uses VFP register arguments, %B does noterror: %B uses hardware FP, whereas %B uses software FPerror: %B uses iWMMXt register arguments, %B does noterror: %B uses software FP, whereas %B uses hardware FPerror: %B uses the %s code model whereas %B uses the %s code modelerror: %B uses the %s data model but %B only uses MSP430 instructionserror: %B uses the %s data model whereas %B uses the %s data modelerror: %B uses the large code model but %B uses MSP430 instructionserror: %B uses the small code model but %B uses the %s data modelerror: %B(%A) is too large (%#lx bytes)error: %B: <corrupt x86 ISA needed size: 0x%x>error: %B: <corrupt x86 ISA used size: 0x%x>error: %B: <corrupt x86 feature size: 0x%x>error: %B: Big-endian R2 is not supported.error: %B: Conflicting CPU architectures %d/%derror: %B: Conflicting architecture profiles %c/%cerror: %B: Conflicting use of R9error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchainerror: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'error: %B: SB relative addressing conflicts with use of R9error: %B: Unknown CPU architectureerror: %B: cannot mix rf16 with full register set %B.
+error reading cpu type from elf private dataerror: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbolerror: %B does not use Maverick instructions, whereas %B doeserror: %B is already in final BE8 formaterror: %B is compiled as absolute position code, whereas target %B is position independenterror: %B is compiled as position independent code, whereas target %B is absolute positionerror: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%derror: %B is compiled for APCS-%d, whereas target %B uses APCS-%derror: %B is compiled for the EP9312, whereas %B is compiled for XScaleerror: %B needs 8-byte alignment but %B is set for 4-byte alignmenterror: %B passes floats in float registers, whereas %B passes them in integer registerserror: %B passes floats in integer registers, whereas %B passes them in float registerserror: %B requires more array alignment than %B preserveserror: %B requires more stack alignment than %B preserveserror: %B uses %s instructions but %B uses %serror: %B uses 64-bit doubles but %B uses 32-bit doubleserror: %B uses FPA instructions, whereas %B does noterror: %B uses FPU-3.0 but %B only supports FPU-2.0error: %B uses Maverick instructions, whereas %B does noterror: %B uses VFP instructions, whereas %B does noterror: %B uses VFP register arguments, %B does noterror: %B uses hardware FP, whereas %B uses software FPerror: %B uses iWMMXt register arguments, %B does noterror: %B uses software FP, whereas %B uses hardware FPerror: %B uses the %s code model whereas %B uses the %s code modelerror: %B uses the %s data model but %B only uses MSP430 instructionserror: %B uses the %s data model whereas %B uses the %s data modelerror: %B uses the large code model but %B uses MSP430 instructionserror: %B uses the small code model but %B uses the %s data modelerror: %B(%A) is too large (%#Lx bytes)error: %B: <corrupt x86 ISA needed size: 0x%x>error: %B: <corrupt x86 ISA used size: 0x%x>error: %B: <corrupt x86 feature size: 0x%x>error: %B: Big-endian R2 is not supported.error: %B: Conflicting CPU architectures %d/%derror: %B: Conflicting architecture profiles %c/%cerror: %B: Conflicting use of R9error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchainerror: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'error: %B: SB relative addressing conflicts with use of R9error: %B: Unknown CPU architectureerror: %B: cannot mix rf16 with full register set %B.
 error: %B: conflicting ISA extension attributes %s with %s.
 error: %B: conflicting attributes %s.
 error: %B: conflicting attributes %s: %s with %s.
 error: %B: size of section %A is not multiple of address sizeerror: %B: unable to merge CPU base attributes %s with %s.
 error: %B: unable to merge ISA extension attributes %s.
-error: %B: unable to merge virtualization attributes with %Berror: Can't find symbol: _SDA_BASE_.error: IFC relocation error.error: Jump IFC Fail.error: Source object %B has EABI version %d, but target %B has EABI version %derror: fp16 format mismatch between %B and %Berror: inappropriate relocation type for shared library (did you forget -fpic?)error: undefined symbol __rtiniterror: unknown Tag_ABI_array_object_align_expected value in %Berror: unknown Tag_ABI_array_object_alignment value in %Bexecutablefailed to allocate space for new APUinfo section.failed to compute new APUinfo section.failed to install new APUinfo section.fatal error while creating .fixupgeneric linker can't handle %sglobal pointer relative address out of rangeglobal pointer relative relocation at address 0x%08x when _gp not defined
+error: %B: unable to merge virtualization attributes with %Berror: Can't find symbol: _SDA_BASE_.error: IFC relocation error.error: Jump IFC Fail.error: Source object %B has EABI version %d, but target %B has EABI version %derror: fp16 format mismatch between %B and %Berror: inappropriate relocation type for shared library (did you forget -fpic?)error: undefined symbol __rtiniterror: unknown Tag_ABI_array_object_align_expected value in %Berror: unknown Tag_ABI_array_object_alignment value in %Bexecutablefailed creating ex9.it %s hash table entryfailed to allocate space for new APUinfo section.failed to compute new APUinfo section.failed to install new APUinfo section.fatal error while creating .fixupgeneric linker can't handle %sglobal pointer relative address out of rangeglobal pointer relative relocation at address 0x%08x when _gp not defined
 global pointer relative relocation when _gp not definedhidden symbolhidden symbol ignoring reloc %s
 incr_linum(b): +%u
 incr_linum_l: +%u
@@ -692,16 +698,11 @@ Use gcc option -mrestrict-it to generate
  Please use the objcopy program to convert from ELF or mmo,
  or assemble using "-no-expand" (for gcc, "-Wa,-no-expand"invalid input relocation when producing non-ELF, non-mmo format output.
  Please use the objcopy program to convert from ELF or mmo,
- or compile using the gcc-option "-mno-base-addresses".invalid relocation addressinvalid relocation type %dinvalid use of %s with contextsip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx).ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx).ip2k relaxer: switch table header corrupt.ip2k relaxer: switch table without complete matching relocation information.label, name: %.*s
+ or compile using the gcc-option "-mno-base-addresses".invalid relocation addressinvalid relocation type %dinvalid use of %s with contextsip2k linker: missing page instruction at %#Lx (dest = %#Lx)ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)ip2k relaxer: switch table header corrupt.ip2k relaxer: switch table without complete matching relocation information.label, name: %.*s
 len: %2u, kind: %2u line num  (len: %u)
-linkable imagelinker stubs in %u group%s
-  branch       %lu
-  toc adjust   %lu
-  long branch  %lu
-  long toc adj %lu
-  plt call     %lu
-  plt call toc %lu
-  global entry %luliteralliteral relocation occurs for an external symbolmach-o: there are too many sections (%u) maximum is 255,
+linkable imagelinker stubs in %u group
+linker stubs in %u groups
+literalliteral relocation occurs for an external symbolmach-o: there are too many sections (%u) maximum is 255,
 mep: no reloc for code %dmodbeg
 modend
 name: [val: %08lx len %d]: nativenew entry function(s) introduced but no output import library specified:nonon-contiguous array of %s
@@ -715,7 +716,7 @@ Use gcc option -mrestrict-it to generate
 reference to a banked address [%lx:%04lx] in the normal address space at %04lxregreloc (%d) is *UNKNOWN*relocation `%s' not yet implementedrelocation out of rangerelocation references symbol not defined in the modulerelocation requires zero addendrelocation should be even numberrelocations between different segments are not supportedreopening %B: %s
 reserved cmd %drtnbeg
 rtnend: size 0x%08x
-section address (%lx) below start of segment (%lx)septyp, name: %.*s
+section address (%#Lx) below start of segment (%#Lx)septyp, name: %.*s
 set_abs_pc: 0x%08x
 set_line_num(w) %u
 set_line_num_b %u
@@ -723,22 +724,22 @@ Use gcc option -mrestrict-it to generate
 shared objectsmall-data section exceeds 64KB; lower small-data size limit (see option -G)som_sizeof_headers unimplementedsorry, no support for duplicate object files in auto-overlay script
 sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands.source (len: %u)
 standard data: %s
-static procedure (no name)stub entry for %s cannot load .plt, dp offset = %ldstubs don't match calculated sizesymbolsymbol system version array information:
+static procedure (no name)stub entry for %s cannot load .plt, dp offset = %Ldstubs don't match calculated sizesymbolsymbol system version array information:
 term(b): 0x%02xterm_w: 0x%04xthe bfin target does not currently support the generation of copy relocationstype spec for element:
 type spec for subscript %u:
 typed pointer
 typspec (len: %u)
-unable to allocate data for load command 0x%lxunable to find ARM glue '%s' for '%s'unable to find THUMB glue '%s' for '%s'unable to layout unknown load command 0x%lxunable to read in %s section from %Bunable to write unknown load command 0x%lxunaligned bit-string of %s
+unable to allocate data for load command %#xunable to find ARM glue '%s' for '%s'unable to find THUMB glue '%s' for '%s'unable to layout unknown load command %#xunable to read in %s section from %Bunable to write unknown load command %#xunaligned bit-string of %s
 uncertain calling convention for non-COFF symbolundefined undefined %s reference in complex symbol: %sunhandled egsd entry type %u
 unhandled emh subtype %u
-unknownunknown ETIR command %dunknown errorunknown header byte-order value 0x%lxunknown line command %dunknown operator '%c' in complex symbolunknown source command %dunknown v850 architectureunknown: %xunrecognised MIPS reloc number: %dunrecognized relocation (0x%x)unsupported STA cmd %sunsupported relocunsupported reloc typeunsupported relocationunsupported relocation between data/insn address spacesusing multiple gp valuesv850 E3 architecturev850 architecturev850e architecturev850e1 architecturev850e2 architecturev850e2v3 architecturev850e3v5 architecturevflags: 0x%02x, value: 0x%08x vma:			BeginAddress	 EndAddress	  UnwindData
-warning: %B and %B differ in wchar_t sizewarning: %B and %B differ in whether code is compiled for DSBTwarning: %B has a corrupt string table index - ignoringwarning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may failwarning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may failwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lxwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%xwarning: %B: corrupt no copy on protected size: 0x%xwarning: %B: corrupt stack size: 0x%xwarning: %B: local symbol `%s' has no sectionwarning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%xwarning: %s exceeds section size
+unknownunknown ETIR command %dunknown errorunknown header byte-order value %#xunknown line command %dunknown operator '%c' in complex symbolunknown source command %dunknown v850 architectureunknown: %xunrecognised MIPS reloc number: %dunrecognized relocation (0x%x)unsupported STA cmd %sunsupported relocunsupported reloc typeunsupported relocationunsupported relocation between data/insn address spacesusing multiple gp valuesv850 E3 architecturev850 architecturev850e architecturev850e1 architecturev850e2 architecturev850e2v3 architecturev850e3v5 architecturevflags: 0x%02x, value: 0x%08x vma:			BeginAddress	 EndAddress	  UnwindData
+warning: %B and %B differ in wchar_t sizewarning: %B and %B differ in whether code is compiled for DSBTwarning: %B has a corrupt string table index - ignoringwarning: %B is truncated: expected core file size >= %Lu, found: %lluwarning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may failwarning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may failwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lxwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%xwarning: %B: corrupt no copy on protected size: 0x%xwarning: %B: corrupt stack size: 0x%xwarning: %B: local symbol `%s' has no sectionwarning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%xwarning: %s exceeds section size
 warning: %s overlaps %s
-warning: %s section has zero sizewarning: attempt to export undefined symbol `%s'warning: call to non-function symbol %s defined in %Bwarning: generating a shared library containing non-PIC codewarning: generating a shared library containing non-PID codewarning: relocation references a different segmentwarning: section '%s' is being made into a notewarning: section `%A' type changed to PROGBITSwarning: type and size of dynamic symbol `%s' are not definedwarning: unable to set size of %s section in %Bwarning: unable to update contents of %s section in %Bwarning: writing section `%A' at huge (ie negative) file offset 0x%lx.warning: xdata section corruptwarning: xdata section corrupt
-yesyou are not allowed to define %s in a scriptProject-Id-Version: bfd-2.28.90
+warning: %s section has zero sizewarning: attempt to export undefined symbol `%s'warning: call to non-function symbol %s defined in %Bwarning: discarding dynamic section %swarning: generating a shared library containing non-PIC codewarning: generating a shared library containing non-PID codewarning: relocation references a different segmentwarning: section '%s' is being made into a notewarning: section `%A' type changed to PROGBITSwarning: type and size of dynamic symbol `%s' are not definedwarning: unable to set size of %s section in %Bwarning: unable to update contents of %s section in %Bwarning: writing section `%A' at huge (ie negative) file offsetwarning: xdata section corruptwarning: xdata section corrupt
+yesyou are not allowed to define %s in a scriptProject-Id-Version: bfd-2.30.0
 Report-Msgid-Bugs-To: bug-binutils@gnu.org
-POT-Creation-Date: 2017-07-03 16:54+0200
-PO-Revision-Date: 2017-07-23 16:42+0200
+POT-Creation-Date: 2018-01-13 13:44+0000
+PO-Revision-Date: 2018-01-18 20:37+0100
 Last-Translator: FrÃ©dÃ©ric Marchal <fmarchal@perso.be>
 Language-Team: French <traduc@traduc.org>
 Language: fr
@@ -854,8 +855,14 @@ En-tÃªtes ppcboot:
    psect: %u, offset: 0x%08x %08x
     nom routine : %.*s
    %02u    (type: %3u, taille: 4+%3u):    cmd %u *non gÃ©rÃ©e*
+   Erreur: La date de compilation est tronquÃ©e
    Erreur: La longueur est plus petite que la longueur d'un enregistrement EEOM
    Erreur: La longueur est plus petite que la longueur d'un enregistrement EMH
+   Erreur: Le nom du module est manquant
+   Erreur: Le nom du module est trop long
+   Erreur: La version du module est manquante
+   Erreur: La version du module est trop longue
+   Erreur: La longueur de l'enregistrement est infÃ©rieure Ã  la taille de l'enregistrement EMH_MHD
    Erreur: longueur plus grande que l'espace restant dans l'enregistrement
    alignement : 2**%u
    alloc (long)  : %u (0x%08x)
@@ -920,7 +927,13 @@ En-tÃªtes ppcboot:
   EGSD (long=%u):
   entrÃ©e EGSD %2u (type: %u, long: %u):   EMH %u (long=%u):   base: 0x%08x %08x, taille: 0x%08x, prot: 0x%08x   base_va : 0x%08x
   dÃ©compte des bits: %u, adr base: 0x%08x
-  appels:
+  branchements         %lu
+  ajustements toc      %lu
+  long branchements    %lu
+  long ajustements toc %lu
+  appels plt           %lu
+  appels plt toc       %lu
+  entrÃ©es globales     %lu  appels:
   chgprtoff : %5u
   codeadroff: %5u, lpfixoff  : %5u
   lien correctif: 0x%08x %08x
@@ -979,43 +992,41 @@ En-tÃªtes ppcboot:
 #<Code d'erreur invalide>%03x %*.s  Feuilles: Adr: %#08lx, Taille: %#08lx, Codepage: %d
 %03x %*.s EntrÃ©e: %A a, Ã  la fois, des sections ordonnÃ©es [Â«Â %AÂ Â» dans %B] et dÃ©sordonnÃ©es [Â«Â %AÂ Â» dans %B]%A a, Ã  la fois, des sections ordonnÃ©es et dÃ©sordonnÃ©es%A:0x%v le lrlive .brinfo (%u) diffÃ¨re de celui de l'analyse (%u)
 %A:%0x%v pas trouvÃ© dans la table de fonctions
-%B (%s): Fanion de section %s (0x%x) ignorÃ©%B et %B sont pour des configurations diffÃ©rentes%B et %B sont pour des noyaux diffÃ©rents%B contient du code CRIS v32 incompatible avec les objets prÃ©cÃ©dents%B contient du code non CRIS v32 incompatible avec les objets prÃ©cÃ©dents%B utilise les deux attributs Tag_MPextension_use actuel et hÃ©ritÃ©%B ne peut pas dÃ©finir %s%B section %A dÃ©passe la taille du groupe d'Ã©bauche%B le symbole numÃ©ro %lu fait rÃ©fÃ©rence Ã  une section SHT_SYMTAB_SHNDX inexistante%B utilise le e_flags 0x%lx inconnu%B(%#x): erreur: Impossible de crÃ©er le trampoline (veneer) du STM32L4XX. Saut hors de portÃ©e pour %ld octets. Impossible d'encoder l'instruction de branchement. %B(%A): erreur: appel Ã  la fonction non dÃ©finie Â«Â %sÂ Â»%B(%A): erreur interne: rÃ©adressage dangereux%B(%A): erreur interne: hors limite%B(%A): erreur interne: erreur inconnue%B(%A): erreur interne: rÃ©adressage non supportÃ©%B(%A): table de propriÃ©tÃ© invalide%B(%A): l'utilisation de plusieurs modÃ¨les TLS n'est pas supportÃ©%B(%A): rÃ©adressage %d a un index de symbole %ld invalide%B(%A): symbole de bibliothÃ¨que partagÃ©e %s rencontrÃ© en rÃ©alisant une Ã©dition de liens statiques%B(%A): rÃ©adressage PID %s non sÃ»r Ã  0x%08lx (sur %s dans %s)%B(%A): attention: les trampolines (aka veneers) de branchements longs utilisÃ©s dans la section avec l'attribut de section SHF_ARM_PURECODE n'est supportÃ© que sur les cibles M-profile implÃ©mentant l'instruction movw.%B(%A): attention: accÃ¨s non alignÃ© au symbole Â«Â %sÂ Â» dans la zone des petites donnÃ©es%B(%A): attention: accÃ¨s non alignÃ© Ã  une petite donnÃ©e de type %d.%B(%A+0x%%B(%A+0x%lx): correction %s pour insn 0x%x n'est pas supportÃ© dans un lien non partagÃ©%B(%A+0x%lx): %s rÃ©adressage vers une section SEC_MERGE%B(%A+0x%lx): %s rÃ©adressage vers le symbole externe Â«Â %sÂ Â»%B(%A+0x%lx): %s utilisÃ© avec le symbole TLS %s%B(%A+0x%lx): %s utilisÃ© avec le symbole non-TLS %s%B(%A+0x%lx): le rÃ©adressage CMEM vers Â«Â %sÂ Â» est invalide. 16 MSB devrait Ãªtre 0x%04x (la valeur est 0x%lx)%B(%A+0x%lx): le rÃ©adressage CMEM vers Â«Â %s+0x%lxÂ Â» est invalide, 16 MSB devrait Ãªtre 0x%04x (la valeur est 0x%lx)%B(%A+0x%lx): Seuls ADD ou SUB sont permis dans les rÃ©adressages du groupe ALU%B(%A+0x%lx): DÃ©bordement en scindant 0x%lx pour le rÃ©adressage du groupe %s%B(%A+0x%lx): rÃ©adressage R_68K_TLS_LE32 pas permis dans un objet partagÃ©%B(%A+0x%lx): rÃ©adressage R_ARM_TLS_LE32 pas permis dans un objet partagÃ©%B(%A+0x%lx): rÃ©adressage R_METAG_TLS_LE/IENONPIC pas permis dans un objet partagÃ©%B(%A+0x%lx): rÃ©adressage R_NIOS2_TLS_LE16 pas permis dans un objet partagÃ©%B(%A+0x%lx): EntrÃ©e des Ã©bauches a un indexe de chaÃ®ne invalide%B(%A+0x%lx): impossible d'apporter des corrections Ã  Â«Â %sÂ Â» dans une section en lecture seule%B(%A+0x%lx): ne sait pas traiter %s pour %s%B(%A+0x%lx): ne peut atteindre %s, recompilez avec -ffunction-sections%B(%A+0x%lx): l'instruction ne peut pas Ãªtre dÃ©codÃ©e pour un rÃ©adressage XTENSA_ASM_SIMPLIFY; la configuration est peut-Ãªtre erronÃ©e%B(%A+0x%lx): l'instruction ne peut pas Ãªtre dÃ©codÃ©e; la configuration est peut-Ãªtre erronÃ©e%B(%A+0x%lx): erreur: chargements multiples dÃ©tectÃ©s dans un bloc d'instruction IT qui n'est pas le dernier : le trampoline (veneer) du STM32L4XX ne peut pas Ãªtre gÃ©nÃ©rÃ©.
+%B (%s): Fanion de section %s (%#lx) ignorÃ©%B et %B sont pour des configurations diffÃ©rentes%B et %B sont pour des noyaux diffÃ©rents%B contient du code CRIS v32 incompatible avec les objets prÃ©cÃ©dents%B contient du code non CRIS v32 incompatible avec les objets prÃ©cÃ©dents%B utilise les deux attributs Tag_MPextension_use actuel et hÃ©ritÃ©%B ne peut pas dÃ©finir %s%B section %A dÃ©passe la taille du groupe d'Ã©bauche%B le symbole numÃ©ro %lu fait rÃ©fÃ©rence Ã  une section SHT_SYMTAB_SHNDX inexistante%B utilise le e_flags 0x%lx inconnu%B(%#Lx): erreur: Impossible de crÃ©er le trampoline (veneer) du STM32L4XX. Saut hors de portÃ©e pour %Ld octets. Impossible d'encoder l'instruction de branchement. %B(%A): erreur: appel Ã  la fonction non dÃ©finie Â«Â %sÂ Â»%B(%A): erreur interne: rÃ©adressage dangereux%B(%A): erreur interne: hors limite%B(%A): erreur interne: erreur inconnue%B(%A): erreur interne: rÃ©adressage non supportÃ©%B(%A): table de propriÃ©tÃ© invalide%B(%A): l'utilisation de plusieurs modÃ¨les TLS n'est pas supportÃ©%B(%A): rÃ©adressage %d a un index de symbole %ld invalide%B(%A): symbole de bibliothÃ¨que partagÃ©e %s rencontrÃ© en rÃ©alisant une Ã©dition de liens statiques%B(%A): rÃ©adressage PID %s non sÃ»r Ã  %Lx (sur %s dans %s)%B(%A): attention: les trampolines (aka veneers) de branchements longs utilisÃ©s dans la section avec l'attribut de section SHF_ARM_PURECODE n'est supportÃ© que sur les cibles M-profile implÃ©mentant l'instruction movw.%B(%A): attention: accÃ¨s non alignÃ© au symbole Â«Â %sÂ Â» dans la zone des petites donnÃ©es%B(%A): attention: accÃ¨s non alignÃ© Ã  une petite donnÃ©e de type %d.%B(%A+%#Lx): correction %s pour insn %#x n'est pas supportÃ© dans un lien non partagÃ©%B(%A+%#Lx): %s rÃ©adressage vers une section SEC_MERGE%B(%A+%#Lx): %s rÃ©adressage vers le symbole externe Â«Â %sÂ Â»%B(%A+%#Lx): rÃ©adressage %s pas permis dans un objet partagÃ©%B(%A+%#Lx): %s utilisÃ© avec le symbole TLS %s%B(%A+%#Lx): %s utilisÃ© avec le symbole non-TLS %s%B(%A+%#Lx): le rÃ©adressage CMEM vers Â«Â %sÂ Â» est invalide. 16 MSB devrait Ãªtre %#x (la valeur est %#Lx)%B(%A+%#Lx): le rÃ©adressage CMEM vers Â«Â %s+%#LxÂ Â» est invalide, 16 MSB devrait Ãªtre %#x (la valeur est %Lx)%B(%A+%#Lx): Seuls ADD ou SUB sont permis dans les rÃ©adressages du groupe ALU%B(%A+%#Lx): DÃ©bordement en scindant %#Lx pour le rÃ©adressage du groupe %s%B(%A+%#Lx): impossible d'apporter des corrections Ã  Â«Â %sÂ Â» dans une section en lecture seule%B(%A+%#Lx): ne sait pas traiter %s pour %s%B(%A+%#Lx): ne peut atteindre %s%B(%A+%#Lx): ne peut atteindre %s, recompilez avec -ffunction-sections%B(%A+%#Lx): l'instruction ne peut pas Ãªtre dÃ©codÃ©e pour un rÃ©adressage XTENSA_ASM_SIMPLIFY; la configuration est peut-Ãªtre erronÃ©e%B(%A+%#Lx): l'instruction ne peut pas Ãªtre dÃ©codÃ©e; la configuration est peut-Ãªtre erronÃ©e%B(%A+%#Lx): erreur: %s avec l'instruction inattendue %#x%B(%A+%#Lx): instruction invalide pour le rÃ©adressage TLS %s%B(%A+%#Lx): rÃ©adressage sur Â«Â %sÂ Â»: erreur %d%B(%A+%#Lx): dÃ©calage de rÃ©adressage hors limite (taille=%#Lx)%B(%A+%#Lx): instruction ARM Â«Â %lxÂ Â» inattendue dans le trampoline TLS%B(%A+%#Lx): instruction ARM '%#lx' inattendue rÃ©fÃ©rencÃ©e par TLS_GOTDESC%B(%A+%#Lx): instruction Thumb Â«Â %#lxÂ Â» inattendue dans le trampoline TLS%B(%A+%#Lx): instruction Thumb Â«Â %#lxÂ Â» inattendue rÃ©fÃ©rencÃ©e par TLS_GOTDESC%B(%A+%#Lx): correction inattendue pour le rÃ©adressage %s%B(%A+%#Lx): rÃ©adressage %s sans solution vers le symbole Â«Â %sÂ Â»%B(%A+%#Lx): rÃ©adressage sans solution vers le symbole Â«Â %sÂ Â»%B(%A+%#lx): EntrÃ©e des Ã©bauches a un indexe de chaÃ®ne invalide%B(%A+%#x): erreur: chargements multiples dÃ©tectÃ©s dans un bloc d'instruction IT qui n'est pas le dernier : le trampoline (veneer) du STM32L4XX ne peut pas Ãªtre gÃ©nÃ©rÃ©.
 Utilisez l'option -mrestrict-it de gcc pour gÃ©nÃ©rer seulement une instruction par bloc IT.
-%B(%A+0x%lx): rÃ©adressage du style 16A attendu sur l'insn 0x%08x%B(%A+0x%lx): rÃ©adressage du style 16D attendu sur l'insn 0x%08x%B(%A+0x%lx): instruction invalide pour le rÃ©adressage TLS %s%B(%A+0x%lx): rÃ©adressage vers Â«Â %sÂ Â»: erreur %d%B(%A+0x%lx): dÃ©calage de rÃ©adressage hors limite (taille=0x%x)%B(%A+0x%lx): instruction ARM Â«Â 0x%xÂ Â» inattendue dans le trampoline TLS%B(%A+0x%lx): instruction ARM '0x%x' inattendue rÃ©fÃ©rencÃ©e par TLS_GOTDESC%B(%A+0x%lx): instruction Thumb Â«Â 0x%xÂ Â» inattendue dans le trampoline TLS%B(%A+0x%lx): instruction Thumb Â«Â 0x%xÂ Â» inattendue rÃ©fÃ©rencÃ©e par TLS_GOTDESC%B(%A+0x%lx): correction inattendue pour le rÃ©adressage %s%B(%A+0x%lx): rÃ©adressage %s sans solution vers le symbole Â«Â %sÂ Â»%B(%A+0x%lx): rÃ©adressage sans solution vers le symbole Â«Â %sÂ Â»%B(%A+0x%v): appel Ã  la section non exÃ©cutable %B(%A), analyse incomplÃ¨te
+%B(%A+0x%lx: %d octets requis pour aligner sur une frontiÃ¨re de %d octets mais seulement %d sont prÃ©sents%B(%A+0x%lx): Impossible d'effacer le rÃ©adressage RISCV_PCREL_HI20 pour le rÃ©adressage RISCV_PCREL_LO12 correspondant%B(%A+0x%lx): rÃ©adressage du style 16A attendu sur l'insn 0x%08x%B(%A+0x%lx): rÃ©adressage du style 16D attendu sur l'insn 0x%08x%B(%A+0x%v): appel Ã  la section non exÃ©cutable %B(%A), analyse incomplÃ¨te
 %B(%s): attention: l'inter-rÃ©seautage n'est pas activÃ©.
   premiÃ¨re occurrence: %B: appel ARM vers repÃ¨re%B(%s): attention: l'inter-rÃ©seautage n'est pas activÃ©.
   premiÃ¨re occurrence: %B: appel de repÃ¨re vers ARM%B(%s): attention: l'inter-rÃ©seautage n'est pas activÃ©.
   premiÃ¨re occurrence: %B: appel arm au repÃ¨re%B(%s): attention: l'inter-rÃ©seautage n'est pas activÃ©.
   premiÃ¨re occurrence: %B: appel arm au repÃ¨re
-  reliez avec --support-old-code activÃ©%B(%A+0x%lx): rÃ©adressage %s sans solution vers le symbole Â«Â %sÂ Â»%B, section %A:
+  reliez avec --support-old-code activÃ©%B(%s+%#Lx): rÃ©adressage %s sans solution vers le symbole Â«Â %sÂ Â»%B, section %A:
   rÃ©adressage de %s pas valable dans un objet partagÃ©; typiquement un mÃ©lange dans les options. Recompilez avec -fPIC%B, section %A:
   rÃ©adressage de %s ne devrait pas Ãªtre utilisÃ© dans un objet partagÃ©; recompilez avec -fPIC%B, section %A:
-  l'objet compatible v10/v32 %s ne peut pas contenir de rÃ©adressage PIC%B, section %A: Pas de PLT pour rÃ©adresser %s sur le symbole Â«Â %sÂ Â»%B, section %a: Pas de PLT ni de GOT pour rÃ©adresser %s sur le symbole Â«Â %sÂ Â»%B, section %A: rÃ©adressage de %s a une rÃ©fÃ©rence non dÃ©finie vers Â«Â %sÂ Â», peut-Ãªtre un mÃ©lange dans les dÃ©clarations ?%B, section %A: rÃ©adressage de %s n'est pas permis pour Â«Â %sÂ Â», un symbole global avec la visibilitÃ© par dÃ©faut, peut-Ãªtre un mÃ©lange dans les dÃ©clarations ?%B, section %A: le rÃ©adressage de %s n'est pas permis pour le symbole global: Â«Â %sÂ Â»%B, section %A: rÃ©adressage de %s n'est pas permis pour le symbole Â«Â %sÂ Â» qui est dÃ©fini en dehors du programme, peut-Ãªtre un mÃ©lange dans les dÃ©clarations ?%B, section %A: rÃ©adressage de %s sans GOT%B, section %A: rÃ©adressage de %s avec un opÃ©rande non nul %d sur le symbole local%B, section %A: rÃ©adressage de %s avec un opÃ©rande non nul %d sur le symbole Â«Â %sÂ Â»%B, section %A: rÃ©adressage %s non rÃ©solu sur le symbole Â«Â %sÂ Â»%B, section Â«Â %AÂ Â», vers le symbole Â«Â %sÂ Â»:
-  rÃ©adressage de %s ne devrait pas Ãªtre utilisÃ© dans un objet partagÃ©; recompilez avec -fPIC%B: rÃ©adressage !samegp vers le symbole sans .prologue: %s%B: %A taille de section d'entrÃ©e invalide%B: %A pas dans l'ordre%B: %A pointe au delÃ  de la fin de la section texte%B: %A+%#Lx: Pas de symbole trouvÃ© pour INHERIT%B: %A+0x%lx: attention: rÃ©adressage de %s sur une insn inattendue%B: %A+0x%lx: attention: rÃ©adressage LITERAL sur une insn inattendue%B: %A: dÃ©bordement de rÃ©adressage: 0x%lx > 0xffff%B: %s pas supportÃ©%B: Â«Â %s Â Â» accÃ©dÃ© Ã  la fois comme symbole normal et comme symbole locale au thread%B: %s: version requise invalide %d%B: %s: version invalide %u (max %d)%B: %s: dÃ©bordement de rÃ©adressage: 0x%lx > 0xffff%B: symbole Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme normal et comme local au thread%B: --in-implib uniquement supportÃ© pour les bibliothÃ¨ques d'import Secure Gateway.%B: entrÃ©e .gnu.version_d invalide%B: entrÃ©e .gnu.version_r invalide%B: le sous-segment .got excÃ¨de 64K (taille %d)%B: .opd n'est pas un tableau rÃ©gulier d'entrÃ©es opd%B: section .preinit_array n'est pas permise dans DSO%B: Ã©chec de la fusion de .rsrc: section .rsrc corrompue%B: Ã©chec de la fusion de .rsrc: taille de .rsrc inattendue%B: 0x%lx: fatal: rÃ©adressage R_SH_PSHA %d pas dans l'intervalle -32..32%B: 0x%lx: fatal: rÃ©adressage R_SH_PSHL %d n'est pas dans l'intervalle -32..32%B: 0x%lx: erreur fatale: dÃ©bordement de rÃ©adressage lors des relÃ¢ches%B: 0x%lx: fatal: rÃ©adressage %s non alignÃ© 0x%lx%B: 0x%lx: fatal: cible de branchement non alignÃ©e pour un rÃ©adressage de type relax-support%B: 0x%lx: attention: R_SH_USES pointe vers un insn inconnu 0x%x%B: 0x%lx: attention: R_V850_LONGCALL pointe vers l'insn inconnue 0x%x%B: 0x%lx: attention: R_V850_LONGCALL pointe vers des insns inconnues%B: 0x%lx: attention: R_V850_LONGCALL pointe vers un rÃ©adressage non reconnu%B: 0x%lx: attention: R_V850_LONGCALL pointe vers le rÃ©adressage inconnu 0x%lx%B: 0x%lx: attention: R_V850_LONGJUMP pointe vers une insn inconnue 0x%x%B: 0x%lx: attention: R_V850_LONGJUMP pointe vers des insns non reconnues%B: 0x%lx: attention: R_V850_LONGJUMP pointe vers un rÃ©adressage non reconnu%B: 0x%lx: attention: mauvais dÃ©calage de chargement R_SH_USES%B: 0x%lx: attention: mauvais dÃ©calage pour R_SH_USES%B: 0x%lx: attention: mauvais dÃ©compte%B: 0x%lx: attention: ne peut repÃ©rer le compteur de rÃ©adressages attendu%B: 0x%lx: attention: ne peut repÃ©rer le rÃ©adressage attendu%B: 0x%lx: attention: symbole dans une section inattendue%B: rÃ©adressage @gprel vers le symbole dynamique %s%B: branchement @internal vers le symbole dynamique %s%B: rÃ©adressage @pcrel vers le symbole dynamique %s%B: ABI est incompatible avec celui sÃ©lectionnÃ© pour l'Ã©mulation%B: l'ABI est incompatible avec celle de l'Ã©mulation sÃ©lectionnÃ©e:
+  l'objet compatible v10/v32 ne peut pas contenir de rÃ©adressage PIC%B, section %A: Pas de PLT pour rÃ©adresser %s sur le symbole Â«Â %sÂ Â»%B, section %A: Pas de PLT ni de GOT pour rÃ©adresser %s sur le symbole Â«Â %sÂ Â»%B, section %A: rÃ©adressage de %s a une rÃ©fÃ©rence non dÃ©finie vers Â«Â %sÂ Â», peut-Ãªtre un mÃ©lange dans les dÃ©clarations ?%B, section %A: rÃ©adressage de %s n'est pas permis pour Â«Â %sÂ Â», un symbole global avec la visibilitÃ© par dÃ©faut, peut-Ãªtre un mÃ©lange dans les dÃ©clarations ?%B, section %A: le rÃ©adressage de %s n'est pas permis pour le symbole global: Â«Â %sÂ Â»%B, section %A: rÃ©adressage de %s n'est pas permis pour le symbole Â«Â %sÂ Â» qui est dÃ©fini en dehors du programme, peut-Ãªtre un mÃ©lange dans les dÃ©clarations ?%B, section %A: rÃ©adressage de %s sans GOT%B, section %A: rÃ©adressage de %s avec un opÃ©rande non nul %Ld sur le symbole local%B, section %A: rÃ©adressage de %s avec un opÃ©rande non nul %Ld sur le symbole Â«Â %sÂ Â»%B, section %A: rÃ©adressage %s non rÃ©solu sur le symbole Â«Â %sÂ Â»%B, section Â«Â %AÂ Â», vers le symbole Â«Â %sÂ Â»:
+  rÃ©adressage de %s ne devrait pas Ãªtre utilisÃ© dans un objet partagÃ©; recompilez avec -fPIC%B: rÃ©adressage !samegp vers le symbole sans .prologue: %s%B: %#Lx: fatal: rÃ©adressage R_SH_PSHA %Ld pas dans l'intervalle -32..32%B: %#Lx: fatal: rÃ©adressage R_SH_PSHL %Ld n'est pas dans l'intervalle -32..32%B: %#Lx: erreur fatale: dÃ©bordement de rÃ©adressage lors des relÃ¢ches%B: %#Lx: fatal: rÃ©adressage %s non alignÃ© %#Lx%B: %#Lx: fatal: cible de branchement non alignÃ©e pour un rÃ©adressage de type relax-support%B: %#Lx: attention: R_SH_USES pointe vers l'insn inconnu %#x%B: %#Lx: attention: R_SH_USES pointe vers un insn inconnu 0x%x%B: %#Lx: attention: R_V850_LONGCALL pointe vers l'insn inconnue %#x%B: %#Lx: attention: R_V850_LONGCALL pointe vers des insns inconnues%B: %#Lx: attention: R_V850_LONGCALL pointe vers un rÃ©adressage non reconnu%B: %#Lx: attention: R_V850_LONGCALL pointe vers le rÃ©adressage inconnu %#Lx%B: %#Lx: attention: R_V850_LONGJUMP pointe vers une insn inconnue %#x%B: %#Lx: attention: R_V850_LONGJUMP pointe vers des insns non reconnues%B: %#Lx: attention: R_V850_LONGJUMP pointe vers un rÃ©adressage non reconnu%B: %#Lx: attention: mauvais dÃ©calage de chargement R_SH_USES%B: %#Lx: attention: mauvais dÃ©calage pour R_SH_USES%B: %#Lx: attention: mauvais dÃ©compte%B: %#Lx: attention: ne peut repÃ©rer le compteur de rÃ©adressages attendu%B: %#Lx: attention: ne peut repÃ©rer le rÃ©adressage attendu%B: %#Lx: attention: symbole dans une section inattendue%B: %A taille de section d'entrÃ©e invalide%B: %A pas dans l'ordre%B: %A pointe au delÃ  de la fin de la section texte%B: %A+%#Lx: Pas de symbole trouvÃ© pour INHERIT%B: %A+%#Lx: attention: rÃ©adressage de %s sur une insn inattendue%B: %A+%#Lx: attention: rÃ©adressage LITERAL sur une insn inattendue%B: %A: dÃ©bordement de rÃ©adressage: %#x > 0xffff%B: %s pas supportÃ©%B: Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme symbole normal et comme symbole locale au thread%B: %s: version requise invalide %d%B: %s: version invalide %u (max %d)%B: %s: dÃ©bordement de rÃ©adressage: 0x%lx > 0xffff%B: symbole Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme normal et comme local au thread%B: --in-implib uniquement supportÃ© pour les bibliothÃ¨ques d'import Secure Gateway.%B: entrÃ©e .gnu.version_d invalide%B: entrÃ©e .gnu.version_r invalide%B: le sous-segment .got excÃ¨de 64K (taille %d)%B: .opd n'est pas un tableau rÃ©gulier d'entrÃ©es opd%B: section .preinit_array n'est pas permise dans DSO%B: la taille de la section .reginfo devrait Ãªtre %d octets, la taille actuelle est %d%B: Ã©chec de la fusion de .rsrc: section .rsrc corrompue%B: Ã©chec de la fusion de .rsrc: taille de .rsrc inattendue%B: rÃ©adressage @gprel vers le symbole dynamique %s%B: branchement @internal vers le symbole dynamique %s%B: rÃ©adressage @pcrel vers le symbole dynamique %s%B: ABI est incompatible avec celui sÃ©lectionnÃ© pour l'Ã©mulation%B: l'ABI est incompatible avec celle de l'Ã©mulation sÃ©lectionnÃ©e:
   l'Ã©mulation de la cible Â«Â %sÂ Â» ne correspond pas Ã  Â«Â %sÂ Â»%B: ABI ne concorde pas: Ã©dition de lien du module %s avec les modules prÃ©cÃ©dents %s%B: la version ABI %ld n'est pas compatible avec la sortie de l'ABI version %ld%B: ASE ne concorde pas: Ã©dition de lien du module %s avec les modules prÃ©cÃ©dents %s%B: L'architecture ne concorde pas avec les modules prÃ©cÃ©dents%B: les images BE8 ne sont valables qu'en mode gros boutiste.%B: Mauvais enregistrement de rÃ©adressage importÃ©: %d%B: DÃ©finition de symbole erronÃ©e: Â«Â MainÂ Â» initialisÃ© Ã  %s au lieu de l'adresse de dÃ©part %s
-%B: appel CALL15 de rÃ©adressage Ã  0x%lx n'est pas appliquÃ© sur un symbole global%B: appel CALL16 de rÃ©adressage Ã  0x%lx qui n'est pas pour un symbole global%B: Ne trouve pas de rÃ©adressage LO16 correspondant vers Â«Â %sÂ Â» pour %s Ã  0x%lx de la section Â«Â %AÂ Â»%B:Ne peut pas relÃ¢cher br (%s) sur Â«Â %sÂ Â» Ã  0x%lx dans la section Â«Â %AÂ Â» avec la taille 0x%lx (> 0x1000000).%B: Ne peut relÃ¢cher br Ã  0x%lx dans la section Â«Â %AÂ Â». Veuillez utiliser brl ou un branchement indirect.%B: Les binaires compressÃ©s pour Alpha ne sont pas supportÃ©s.
-   Utilisez les options du compilateur ou objZ pour produire des binaires non compressÃ©s.%B: Ne peut lier ensemble les objets %s et %s.%B: La taille du rÃ©pertoire de donnÃ©es (%lx) excÃ¨de l'espace restant dans la section (%lx)%B: dÃ©saccord du fanion EF_OR1K_NODELAY avec les modules prÃ©cÃ©dents%B: Erreur: Les donnÃ©es de dÃ©bogage s'arrÃªtent aprÃ¨s la fin du rÃ©pertoire de dÃ©bogage.%B: erreur: multiple dÃ©finitions de Â«Â %sÂ Â»; dÃ©but de %s est initialisÃ© dans un prÃ©cÃ©dent fichier liÃ©
+%B: appel CALL15 de rÃ©adressage Ã  %#Lx n'est pas appliquÃ© sur un symbole global%B: Le rÃ©adressage CALL16 Ã  %#Lx n'est pas sur un symbole global%B: Ne trouve pas de rÃ©adressage LO16 correspondant sur Â«Â %sÂ Â» pour %s Ã  %#Lx de la section Â«Â %AÂ Â»%B: Ne peut pas relÃ¢cher br (%s) sur Â«Â %sÂ Â» Ã  %#Lx dans la section Â«Â %AÂ Â» avec la taille %#Lx (> 0x1000000).%B: Ne peut relÃ¢cher br Ã  %#Lx dans la section Â«Â %AÂ Â». Veuillez utiliser brl ou un branchement indirect.%B: Les binaires compressÃ©s pour Alpha ne sont pas supportÃ©s.
+   Utilisez les options du compilateur ou objZ pour produire des binaires non compressÃ©s.%B: Ne peut lier ensemble les objets %s et %s.%B: La taille du rÃ©pertoire de donnÃ©es (%lx) excÃ¨de l'espace restant dans la section (%Lx)%B: dÃ©saccord du fanion EF_OR1K_NODELAY avec les modules prÃ©cÃ©dents%B: Erreur: Les donnÃ©es de dÃ©bogage s'arrÃªtent aprÃ¨s la fin du rÃ©pertoire de dÃ©bogage.%B: erreur: multiple dÃ©finitions de Â«Â %sÂ Â»; dÃ©but de %s est initialisÃ© dans un prÃ©cÃ©dent fichier liÃ©
 %B: Erreur: search_nds32_elf_blank rapporte le mauvais nÅ“ud
-%B: Ã‰chec de l'ajout du symbole renommÃ© %s%B: Impossible de trouver la section d'information pour la section %d%B: Impossible de trouver la section de liaison pour la section %d%B: Ã‰chec lors de la lecture de la section des donnÃ©es de dÃ©bogage%B: Descripteur de fonction rÃ©adressÃ© avec un opÃ©rande non nul%B: Erreur GAS: insn PTB inattendue avec R_SH_PT_16%B: la section GNU_MBIN Â«Â %AÂ Â» a un champ sh_info invalide: %d%B: dÃ©bordement GOT: Nombre de rÃ©adressages avec des offsets de 8 ou 16 bits > %d%B: dÃ©bordement GOT: Nombre de rÃ©adressages avec des offsets de 8 bits > %d%B: RÃ©adressage GOT Ã  0x%lx pas attendu dans les exÃ©cutables%B: la directive IMPORT AS de %s masque l'IMPORT AS prÃ©cÃ©dent%B: Taille de vecteur ISR en dÃ©saccord avec les modules prÃ©cÃ©dents: prÃ©cÃ©dent a %u octets; actuel a %u octets%B: jeu d'instructions ne concorde par avec les modules prÃ©cÃ©dents%B: erreur d'incohÃ©rence interne pour la valeur du registre global
- allouÃ© Ã  l'Ã©dition de lien: liÃ©: 0x%lx%08lx != relÃ¢chÃ©: 0x%lx%08lx
-%B: Type de rÃ©adressage exportÃ© invalide: %d%B: Type de rÃ©adressage importÃ© invalide: %d%B: Champ sh_link (%d) invalide dans la section numÃ©ro %d%B: directive LOCAL: registre $%ld n'est pas un registre local.  Premier registre global est $%ld.%B: La table des descripteurs de symboles locaux peut Ãªtre NULL en application le rÃ©adressage %s sur un symbole local%B: RÃ©adressage mal composÃ© dÃ©tectÃ© dans la section %A%B: RÃ©adressage mal composÃ© dÃ©tectÃ© dans la section %s%B: OMIT_FP imbriquÃ©s dans %A.%B: pas de corps pour allouer un symbole de %d octets de longueur
+%B: Ã‰chec de l'ajout du symbole renommÃ© %s%B: Impossible de trouver la section d'information pour la section %d%B: Impossible de trouver la section de liaison pour la section %d%B: Ã‰chec lors de la lecture de la section des donnÃ©es de dÃ©bogage%B: Descripteur de fonction rÃ©adressÃ© avec un opÃ©rande non nul%B: Erreur GAS: insn PTB inattendue avec R_SH_PT_16%B: la section GNU_MBIN Â«Â %AÂ Â» a un champ sh_info invalide: %d%B: dÃ©bordement GOT: Nombre de rÃ©adressages avec des offsets de 8 ou 16 bits > %d%B: dÃ©bordement GOT: Nombre de rÃ©adressages avec des offsets de 8 bits > %d%B: RÃ©adressage GOT Ã  %#Lx pas attendu dans les exÃ©cutables%B: la directive IMPORT AS de %s masque l'IMPORT AS prÃ©cÃ©dent%B: Taille de vecteur ISR en dÃ©saccord avec les modules prÃ©cÃ©dents: prÃ©cÃ©dent a %u octets; actuel a %u octets%B: jeu d'instructions ne concorde par avec les modules prÃ©cÃ©dents%B: Erreur d'incohÃ©rence interne pour la valeur du registre global
+ allouÃ© Ã  l'Ã©dition de lien: liÃ©: %#Lx != relÃ¢chÃ©: %#Lx%B: Type de rÃ©adressage exportÃ© invalide: %d%B: Type de rÃ©adressage importÃ© invalide: %d%B: Champ sh_link (%d) invalide dans la section numÃ©ro %d%B: directive LOCAL: registre $%Ld n'est pas un registre local.  Premier registre global est $%Ld.%B: La table des descripteurs de symboles locaux peut Ãªtre NULL en application le rÃ©adressage %s sur un symbole local%B: RÃ©adressage mal composÃ© dÃ©tectÃ© dans la section %A%B: RÃ©adressage mal composÃ© dÃ©tectÃ© dans la section %s%B: OMIT_FP imbriquÃ©s dans %A.%B: pas de corps pour allouer un symbole de %d octets de longueur
 %B: Pas de corps pour allouer un nom de section %s
-%B: Pas de section de version de symbole pour le symbole avec version Â«Â %sÂ Â»%B: Pas assez de mÃ©moire pour allouer l'espace pour %lu symboles%B: Pas suffisamment d'espace pour les en-tÃªtes du programme, essayer l'option -N%B: Seuls les registres %%g[2367] peuvent Ãªtre dÃ©clarÃ©s en utilisant les registres STT_REGISTER%B: type de machine reconnue mais non traitÃ©e (0x%x) dans l'archive da la librairie de formats d'importation%B: RÃ©adressage %s (%d) n'est pas actuellement supportÃ©.
-%B: rÃ©adressage %s n'est pas encore supportÃ© pour le symbole %s%B: RÃ©adressages en format ELF gÃ©nÃ©rique (EM: %d)%B: rÃ©adressage relatif Ã  SB mais __c6xabi_DSBT_BASE n'est pas dÃ©fini%B: la section SHT_GROUP [index %d] n'a pas de section SHF_GROUP%B: Le symbole spÃ©cial Â«Â %sÂ Â» est uniquement autorisÃ© pour les architectures ARMv8-M ou ultÃ©rieures.%B: code exÃ©cutable local TLS ne peut Ãªtre liÃ© en objets partagÃ©s%B: Les sections TLS ne sont pas adjacentes:%B: Ã‰chec de la transition TLS de %s vers %s sur Â«Â %sÂ Â» Ã  0x%lx dans la section Â«Â %AÂ Â»%B: la table des matiÃ¨res des rÃ©adressages Ã  0x%x pour le symbole Â«Â %sÂ Â» sans aucune entrÃ©e%B: La premiÃ¨re section dans le segment PT_DYNAMIC n'est pas la section .dynamic%B: la cible (%s) du rÃ©adressage %s est dans la mauvaise section (%A)%B: Trop de sections: %d (>= %d)%B: Impossible de trier les rÃ©adressages - plusieurs tailles rencontrÃ©es%B: Impossible de trier les rÃ©adressages - leur taille est inconnue%B: type d'importation non traitÃ©e; %x%B: Architecture %s inconnue%B: L'attribut d'objet ARC obligatoire %d est inconnu.%B: L'attribut d'objet EABI obligatoire %d est manquant%B: Type de rÃ©adressage %d inconnu
+%B: Pas de section de version de symbole pour le symbole avec version Â«Â %sÂ Â»%B: Pas suffisamment d'espace pour les en-tÃªtes du programme, essayer l'option -N%B: Seuls les registres %%g[2367] peuvent Ãªtre dÃ©clarÃ©s en utilisant les registres STT_REGISTER%B: type de machine reconnue mais non traitÃ©e (0x%x) dans l'archive da la librairie de formats d'importation%B: RÃ©adressage %s (%d) n'est pas actuellement supportÃ©.
+%B: rÃ©adressage %s n'est pas encore supportÃ© pour le symbole %s%B: RÃ©adressages en format ELF gÃ©nÃ©rique (EM: %d)%B: rÃ©adressage relatif Ã  SB mais __c6xabi_DSBT_BASE n'est pas dÃ©fini%B: la section SHT_GROUP [index %d] n'a pas de section SHF_GROUP%B: Le symbole spÃ©cial Â«Â %sÂ Â» est uniquement autorisÃ© pour les architectures ARMv8-M ou ultÃ©rieures.%B: code exÃ©cutable local TLS ne peut Ãªtre liÃ© en objets partagÃ©s%B: Les sections TLS ne sont pas adjacentes:%B: Ã‰chec de la transition TLS de %s vers %s sur Â«Â %sÂ Â» Ã  %#Lx dans la section Â«Â %AÂ Â»%B: la table des matiÃ¨res des rÃ©adressages Ã  %Lx pour le symbole Â«Â %sÂ Â» sans aucune entrÃ©e%B: La premiÃ¨re section dans le segment PT_DYNAMIC n'est pas la section .dynamic%B: la cible (%s) du rÃ©adressage %s est dans la mauvaise section (%A)%B: Trop de sections: %d (>= %d)%B: Impossible de trier les rÃ©adressages - plusieurs tailles rencontrÃ©es%B: Impossible de trier les rÃ©adressages - leur taille est inconnue%B: type d'importation non traitÃ©e; %x%B: Architecture %s inconnue%B: L'attribut d'objet ARC obligatoire %d est inconnu.%B: L'attribut d'objet EABI obligatoire %d est manquant%B: Type de rÃ©adressage %d inconnu
 %B: Type de section inconnu dans le fichier a.out.adobe: %x
-%B: OMIT_FP non appariÃ© dans %A.%B: Commande .directive non reconnue: %s%B: type de nom d'importation non reconnu: %x%B: type d'importation non reconnu; %x%B: type de machine non reconnu (0x%x) dans l'archive de librairie de formats d'importation%B: Classe de stockage %d non reconnue pour %s symbole Â«Â %sÂ Â»%B: Transition de %s Ã  %s non supportÃ©e%B: Attention: Ignore le fanion de section IMAGE_SCN_MEM_NOT_PAGED dans la section %s%B: Attention: instruction de repÃ©rage BLX vise la fonction de repÃ©rage Â«Â %sÂ Â».%B: Attention: mauvaise Â«Â %sÂ Â» taille d'option %u plus petite que son en-tÃªte%B: Attention: ne peut pas dÃ©terminer la fonction cible de la section d'Ã©bauche Â«Â %sÂ Â»%B: Attention: gÃ©nÃ©ration de PLT dans le mode thumb-1 pas encore supportÃ©e%B: objet XCOFF partagÃ© alors qu'on ne produit pas de sortie XCOFF%B: XMC_TC0 symbol Â«Â %sÂ Â» est la classe %d scnlen %d%B: __gp ne couvre pas le segment de donnÃ©es court%B: Â«Â %AÂ Â» offset de %ld depuis Â«Â %AÂ Â» au delÃ  de la limite de ADDIUPC%B: Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme symbole FDPIC et comme symbole local au thread%B: Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme symbole normal et comme symbole FDPIC%B: Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme symbole normal et comme symbole locale au thread%B: Â«Â %sÂ Â» est ses symboles spÃ©ciaux sont dans des sections diffÃ©rentes.%B: Â«Â %sÂ Â» contient des numÃ©ros de lignes mais de section d'encadrement%B: Â«Â %sÂ Â» est dans le chargeur de rÃ©adressage mais pas dans celui des symboles%B: rÃ©adressage non-PLT Â«Â %sÂ Â» pour le symbole dÃ©fini dans une bibliothÃ¨que partagÃ©e et accÃ©dÃ© depuis l'exÃ©cutable (recompiler le fichier avec -fPICÂ ?)%B: Â«Â ld -rÂ Â» non supportÃ© avec les objets PE MIPS
-%B: symbole standard Â«Â %sÂ Â» absent.%B: accÃ¨s au-delÃ  de la fin de la section fusionnÃ©e (%ld)%B: l'opÃ©rande -0x%x dans le rÃ©adressage %s vers le symbole Â«Â %sÂ Â» Ã  0x%lx dans la section Â«Â %AÂ Â» est hors limite%B: l'opÃ©rande 0x%x dans le rÃ©adressage %s vers le symbole Â«Â %sÂ Â» Ã  0x%lx dans la section Â«Â %AÂ Â» est hors limite%B: adresse 0x%s hors limite pour le fichier Intel hexadÃ©cimal%B: l'en-tÃªte aout spÃ©cifie un nombre invalide d'entrÃ©es de rÃ©pertoire de donnÃ©es: %d%B: tentative d'Ã©mettre du contenu Ã  une adresse 0x%lx qui n'est pas un multiple de 4
-%B: tentative de charger des chaÃ®nes depuis une section non-chaÃ®nes (numÃ©ro %d)%B: tentative de mÃ©langer des objets FDPIC et non-FDPIC%B: tentative d'Ã©crire un type de rÃ©adressage inconnu%B: symbole XTY_ER Â«Â %sÂ Â» erronÃ©: classe %d scnum %d scnlen %d%B: pairage erronÃ©e pair/reflo aprÃ¨s refhi
-%B: mauvaise adresse de rÃ©adressage 0x%lx dans la section Â«Â %AÂ Â»%B: mauvais index du symbole de rÃ©adressage (%#lx >= %#lx) pour l'offset %#Lx de la section Â«Â %AÂ Â»%B: nom de section de rÃ©adressage erronÃ© Â«Â %sÂ Â»%B: longuer erronÃ©e de section dans ihex_read_section%B: mauvaise taille de la table des chaÃ®nes %lu%B: symbole index erronÃ©: %d%B: rÃ©adressage base plus dÃ©calage vers le symbole registre: %s dans %A%B: rÃ©adressage base plus dÃ©calage vers le symbole registre: (inconnu) dans %A%B: ne peut reprÃ©senter la section Â«Â %AÂ Â» dans le fichier format objet a.out%B: ne peut reprÃ©senter la section Â«Â %AÂ Â» dans oasys%B: ne peut reprÃ©senter la section pour le symbole Â«Â %sÂ Â» dans le fichier format objet a.out%B: impossible de lier des modules utilisant des flottants matÃ©riels avec des modules utilisant des flottants logiciels%B: ne paut pas allouer un nom de ficheir pour le no. de fichier %d, %d octets
+%B: OMIT_FP non appariÃ© dans %A.%B: Commande .directive non reconnue: %s%B: type de nom d'importation non reconnu: %x%B: type d'importation non reconnu; %x%B: type de machine non reconnu (0x%x) dans l'archive de librairie de formats d'importation%B: Classe de stockage %d non reconnue pour %s symbole Â«Â %sÂ Â»%B: Transition de %s Ã  %s non supportÃ©e%B: Attention: instruction Arm BLX vise la fonction Arm Â«Â %sÂ Â».%B: Attention: Ignore le fanion de section IMAGE_SCN_MEM_NOT_PAGED dans la section %s%B: Attention: instruction de repÃ©rage BLX vise la fonction de repÃ©rage Â«Â %sÂ Â».%B: Attention: mauvaise Â«Â %sÂ Â» taille d'option %u plus petite que son en-tÃªte%B: Attention: ne peut pas dÃ©terminer la fonction cible de la section d'Ã©bauche Â«Â %sÂ Â»%B: Attention: gÃ©nÃ©ration de PLT dans le mode thumb-1 pas encore supportÃ©e%B: objet XCOFF partagÃ© alors qu'on ne produit pas de sortie XCOFF%B: XMC_TC0 symbol Â«Â %sÂ Â» est la classe %d scnlen %Ld%B: __gp ne couvre pas le segment de donnÃ©es court%B: Â«Â %AÂ Â» offset de %Ld depuis Â«Â %AÂ Â» au delÃ  de la limite de ADDIUPC%B: Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme symbole FDPIC et comme symbole local au thread%B: Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme symbole normal et comme symbole FDPIC%B: Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme symbole normal et comme symbole locale au thread%B: Â«Â %sÂ Â» est ses symboles spÃ©ciaux sont dans des sections diffÃ©rentes.%B: Â«Â %sÂ Â» contient des numÃ©ros de lignes mais de section d'encadrement%B: Â«Â %sÂ Â» est dans le chargeur de rÃ©adressage mais pas dans celui des symboles%B: rÃ©adressage non-PLT Â«Â %sÂ Â» pour le symbole dÃ©fini dans une bibliothÃ¨que partagÃ©e et accÃ©dÃ© depuis l'exÃ©cutable (recompiler le fichier avec -fPICÂ ?)%B: Â«Â ld -rÂ Â» non supportÃ© avec les objets PE MIPS
+%B: symbole standard Â«Â %sÂ Â» absent.%B: accÃ¨s au-delÃ  de la fin de la section fusionnÃ©e (%Ld)%B: l'opÃ©rande %s%#x dans le rÃ©adressage %s vers le symbole Â«Â %sÂ Â» Ã  %#Lx dans la section Â«Â %AÂ Â» est hors limite%B: adresse %#Lx hors limite pour le fichier Intel hexadÃ©cimal%B: l'en-tÃªte aout spÃ©cifie un nombre invalide d'entrÃ©es de rÃ©pertoire de donnÃ©es: %ld%B: tentative d'Ã©mettre du contenu Ã  une adresse %#Lx qui n'est pas un multiple de 4%B: tentative de charger des chaÃ®nes depuis une section non-chaÃ®nes (numÃ©ro %d)%B: tentative de mÃ©langer des objets FDPIC et non-FDPIC%B: tentative d'Ã©crire un type de rÃ©adressage inconnu%B: symbole XTY_ER Â«Â %sÂ Â» erronÃ©: classe %d scnum %d scnlen %Ld%B: pairage erronÃ©e pair/reflo aprÃ¨s refhi
+%B: mauvaise adresse de rÃ©adressage %#Lx dans la section Â«Â %AÂ Â»%B: mauvais index du symbole de rÃ©adressage (%#Lx >= %#lx) pour l'offset %#Lx de la section Â«Â %AÂ Â»%B: nom de section de rÃ©adressage erronÃ© Â«Â %sÂ Â»%B: longuer erronÃ©e de section dans ihex_read_section%B: mauvaise taille de la table des chaÃ®nes %Lu%B: symbole index erronÃ©: %d%B: rÃ©adressage base plus dÃ©calage vers le symbole registre: %s dans %A%B: rÃ©adressage base plus dÃ©calage vers le symbole registre: (inconnu) dans %A%B: ne peut reprÃ©senter la section Â«Â %AÂ Â» dans le fichier format objet a.out%B: ne peut reprÃ©senter la section Â«Â %AÂ Â» dans oasys%B: ne peut reprÃ©senter la section pour le symbole Â«Â %sÂ Â» dans le fichier format objet a.out%B: impossible de lier des modules utilisant des flottants matÃ©riels avec des modules utilisant des flottants logiciels%B: ne paut pas allouer un nom de ficheir pour le no. de fichier %d, %d octets
 %B: ne peut crÃ©er l'entrÃ©e de l'Ã©bauche %s%B: ne peut lier un fichier objet fdpic dans un exÃ©cutable non fdpic%B: ne peut lier un fichier objet non fdpic dans un exÃ©cutable fdpic%B: changÃ© dans le GP: BRSGP %s%B: classe %d symbole Â«Â %sÂ Â» n'a pas d'entrÃ©e auxiliaire%B: compilÃ© %s -mtune=%s et liÃ© avec des modules compilÃ©s %s -mtune=%s%B: compilÃ© comme un objet de 32 bits et %B est de 64 bits%B: compilÃ© comme un objet de 64 bits et %B est de 32 bits%B: compilÃ© pour un systÃ¨me Ã  64 bits et la cible est de 32 bits%B: compilÃ© pour un systÃ¨me Ã  octets de poids fort alors que la cible
 est un systÃ¨me Ã  octets de poids faible%B: compilÃ© pour un systÃ¨me Ã  octets de poids faible alors que la cible
-est un systÃ¨me Ã  octets de poids fort%B: compilÃ© normalement et fait l'Ã©dition de lien avec les modules compilÃ©s avec -mrelocatable%B: compilÃ© avec %s et liÃ© avec les modules compilÃ©s avec %s%B: compilÃ© avec %s et liÃ© avec les modules qui utilisent le rÃ©adressage non PIC%B: compilÃ© avec -mrelocatable et fait l'Ã©dition de lien avec les modules compilÃ©s normalement%B: champ de taille corrompu dans l'en-tÃªte du groupe de section: %#Lx%B: ne peut repÃ©rer la section de sortie %A pour la section d'entrÃ©e %A%B: ne peut pas lire le contenu de la section Â«Â %AÂ Â»
+est un systÃ¨me Ã  octets de poids fort%B: compilÃ© normalement et fait l'Ã©dition de lien avec les modules compilÃ©s avec -mrelocatable%B: compilÃ© avec %s et liÃ© avec les modules compilÃ©s avec %s%B: compilÃ© avec %s et liÃ© avec les modules qui utilisent le rÃ©adressage non PIC%B: compilÃ© avec -mrelocatable et fait l'Ã©dition de lien avec les modules compilÃ©s normalement%B: champ de taille corrompu dans l'en-tÃªte du groupe de section: %#Lx%B: dÃ©compte de symbole corrompu: %#Lx%B: ne peut repÃ©rer la section de sortie %A pour la section d'entrÃ©e %A%B: ne peut pas lire le contenu de la section Â«Â %AÂ Â»
 %B: ne peut Ã©crire en sortie des entrÃ©es .cranges ajoutÃ©es%B: ne peut Ã©crire en sortie des entrÃ©es .cranges triÃ©es%B: csect Â«Â %sÂ Â» n'est pas dans un section d'encadrement%B: le rÃ©adressage GOT direct %s vers Â«Â %sÂ Â» sans registre de base ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: le rÃ©adressage GOT direct R_386_GOT32X sur le symbole Â«Â %sÂ Â» sans registre de base ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: directive LOCAL valide seulement avec un registre ou une valeur absolue%B: rÃ©adressage relatif au dtp vers le symbole dynamique %s%B: Ã©bauche d'exportation en double %s%B: section dupliquÃ©e Â«Â %AÂ Â» a des contenus diffÃ©rents
 %B: section dupliquÃ©e Â«Â %AÂ Â» avec des tailles diffÃ©rentes
-%B: objet dynamique sans section .loader%B: rencontre du symbole d'une Ã©tiquette de donnÃ©e dans l'entrÃ©e%B: systÃ¨me de poids fort ou faible incompatible avec celui sÃ©lectionnÃ© pour l'Ã©mulation%B: la fonction Â«Â %sÂ Â» d'entrÃ©e est vide.%B: fonction Â«Â %sÂ Â» d'entrÃ©e par Ã©crite.%B: erreur: non concordance de l'ABI avec les modules prÃ©cÃ©dents.%B: erreur: L'alignement Ã  la puissance %d de la section Â«Â %AÂ Â» est trop grand%B: erreur: Impossible de crÃ©er le trampoline (veneer) du STM32L4XX.%B: erreur: Ne peut dÃ©finir _ITB_BASE_%B: erreur: L'Ã©bauche d'erratum du Cortex A8 est allouÃ©e Ã  un emplacement peu sÃ»r%B: erreur: L'Ã©bauche d'erratum du Cortex A8 est hors limite (fichier d'entrÃ©e trop grand)%B: erreur: L'Ã©bauche d'erratum du 835769 est hors limite (fichier d'entrÃ©e trop grand)%B: erreur: L'Ã©bauche d'erratum du 843419 est hors limite (fichier d'entrÃ©e trop grand)%B: erreur: Jeu d'instructions ne concorde par avec les modules prÃ©cÃ©dents.%B: erreur: segment PHDR non couvert par le segment LOAD%B: erreur: vernis VFP11 hors limite%B: erreur: le segment de non-chargement %d inclus un en-tÃªte de fichier ou de programme%B: erreur: type de rÃ©adressage %d non alignÃ© Ã  %08x rÃ©adressÃ©`%08x
-%B: erreur: type de rÃ©adressage %d non alignÃ© Ã  %08x rÃ©adressÃ© %p
-%B: erreur: l'attribut d'objet EABI obligatoire %d est manquant%B: erreur: type de rÃ©adressage %d inconnu.%B: Ã©chec de la gÃ©nÃ©ration de la bibliothÃ¨que d'importation%B: fatal: symboles gÃ©nÃ©riques rÃ©cupÃ©rÃ©s avant la relÃ¢che%B: classe de fichier %s incompatible avec %s%B: rÃ©adressage relatif au gp vers le symbole dynamique %s%B: symbole cachÃ© Â«Â %sÂ Â» dans %B est rÃ©fÃ©rencÃ© par DSO%B: symbole cachÃ© Â«Â %sÂ Â» n'est pas dÃ©fini%B: ignore les sections dupliquÃ©es Â«Â %AÂ Â»
-%B: type de rÃ©adressage %d illÃ©gal Ã  l'adresse 0x%lx%B: nom illÃ©gal de section Â«Â %AÂ Â»%B: symbole index %ld illÃ©gal dans les rÃ©adressages%B: symbole index illÃ©gal dans le rÃ©adressage: %d%B: type de machine incompatible. Sortie est 0x%x. EntrÃ©e est 0x%x%B: taille incorrecte pour le symbole Â«Â %sÂ Â».%B: symbole indirect Â«Â %sÂ Â» vers Â«Â %sÂ Â» est une boucle%B: erreur interne dans ihex_read_section%B: erreur interne, registre interne de section %A contient quelque chose
+%B: objet dynamique sans section .loader%B: rÃ©adressage dynamique sur Â«Â %TÂ Â» dans la section en lecture seule Â«Â %AÂ Â»
+%B: rÃ©adressage dynamique dans une section en lecture seule Â«Â %AÂ Â»
+%B: rencontre du symbole d'une Ã©tiquette de donnÃ©e dans l'entrÃ©e%B: systÃ¨me de poids fort ou faible incompatible avec celui sÃ©lectionnÃ© pour l'Ã©mulation%B: la fonction Â«Â %sÂ Â» d'entrÃ©e est vide.%B: fonction Â«Â %sÂ Â» d'entrÃ©e par Ã©crite.%B: erreur: non concordance de l'ABI avec les modules prÃ©cÃ©dents.%B: erreur: L'alignement Ã  la puissance %d de la section Â«Â %AÂ Â» est trop grand%B: erreur: Impossible de crÃ©er le trampoline (veneer) du STM32L4XX.%B: erreur: Ne peut dÃ©finir _ITB_BASE_%B: erreur: L'Ã©bauche d'erratum du Cortex A8 est allouÃ©e Ã  un emplacement peu sÃ»r%B: erreur: L'Ã©bauche d'erratum du Cortex A8 est hors limite (fichier d'entrÃ©e trop grand)%B: erreur: L'Ã©bauche d'erratum du 835769 est hors limite (fichier d'entrÃ©e trop grand)%B: erreur: L'Ã©bauche d'erratum du 843419 est hors limite (fichier d'entrÃ©e trop grand)%B: erreur: Jeu d'instructions ne concorde par avec les modules prÃ©cÃ©dents.%B: erreur: segment PHDR non couvert par le segment LOAD%B: erreur: vernis VFP11 hors limite%B: erreur: longueur de section d'attributs trop petite: %ld%B: erreur: le segment de non-chargement %d inclus un en-tÃªte de fichier ou de programme%B: erreur: type de rÃ©adressage %d non alignÃ© Ã  %#Lx rÃ©adressÃ© %#Lx%B: erreur: type de rÃ©adressage %d non alignÃ© Ã  %08Lx rÃ©adressÃ©`%08Lx%B: erreur: symbole Â«Â %sÂ Â» inattendu dans la section COMDAT%B: erreur: l'attribut d'objet EABI obligatoire %d est manquant%B: erreur: type de rÃ©adressage %d inconnu.%B: Ã©chec de la gÃ©nÃ©ration de la bibliothÃ¨que d'importation%B: fatal: symboles gÃ©nÃ©riques rÃ©cupÃ©rÃ©s avant la relÃ¢che%B: classe de fichier %s incompatible avec %s%B: rÃ©adressage relatif au gp vers le symbole dynamique %s%B: la section de groupe Â«Â %AÂ Â» n'a pas de contenu%B: symbole cachÃ© Â«Â %sÂ Â» dans %B est rÃ©fÃ©rencÃ© par DSO%B: symbole cachÃ© Â«Â %sÂ Â» n'est pas dÃ©fini%B: ignore les sections dupliquÃ©es Â«Â %AÂ Â»
+%B: type de rÃ©adressage %d illÃ©gal Ã  l'adresse %#Lx%B: nom illÃ©gal de section Â«Â %AÂ Â»%B: symbole index %ld illÃ©gal dans les rÃ©adressages%B: symbole index illÃ©gal dans le rÃ©adressage: %ld%B: type de machine incompatible. Sortie est 0x%x. EntrÃ©e est 0x%x%B: taille incorrecte pour le symbole Â«Â %sÂ Â».%B: symbole indirect Â«Â %sÂ Â» vers Â«Â %sÂ Â» est une boucle%B: erreur interne dans ihex_read_section%B: erreur interne, registre interne de section %A contient quelque chose
 %B: erreur interne, table de symbole a changÃ© de taille de %d Ã  %d mots
 %B: symbole interne Â«Â %sÂ Â» dans %B est rÃ©fÃ©rencÃ© par DSO%B: symbole interne Â«Â %sÂ Â» n'est pas dÃ©fini%B: numÃ©ro de rÃ©adressage AVR invalide: %d%B: numÃ©ro de rÃ©adressage CR16C invalide: %d%B: numÃ©ro de rÃ©adressage CRIS invalide: %d%B: numÃ©ro de rÃ©adressage D10V invalide: %d%B: numÃ©ro de rÃ©adressage D30V invalide: %d%B: numÃ©ro de rÃ©adressage Epiphany invalide: %d%B: numÃ©ro de rÃ©adressage FR30 invalide: %d%B: numÃ©ro de rÃ©adressage FRV invalide: %d%B: numÃ©ro de rÃ©adressage IP2K invalide: %d%B: numÃ©ro de rÃ©adressage IQ2000 invalide: %d%B: numÃ©ro de rÃ©adressage LM32 invalide: %d%B: numÃ©ro de rÃ©adressage M32C invalide: %d%B: numÃ©ro de rÃ©adressage M32R invalide: %d%B: numÃ©ro de rÃ©adressage M68HC11 invalide: %d%B: numÃ©ro de rÃ©adressage M68HC12 invalide: %d%B: numÃ©ro de rÃ©adressage MEP invalide: %d%B: numÃ©ro de rÃ©adressage METAG invalide: %d%B: numÃ©ro de rÃ©adressage MMIX invalide: %d%B: numÃ©ro de rÃ©adressage MSP430 invalide: %d%B: numÃ©ro de rÃ©adressage MSP430X invalide: %d%B: numÃ©ro de rÃ©adressage MT invalide: %d%B: numÃ©ro de rÃ©adressage Moxie invalide: %d%B: numÃ©ro de rÃ©adressage NDS32 invalide: %d%B: numÃ©ro de rÃ©adressage OR1K invalide: %d%B: numÃ©ro de rÃ©adressage RL78 invalide: %d%B: numÃ©ro de rÃ©adressage RX invalide: %d%B: entrÃ©e SHT_GROUP invalide%B: numÃ©ro de rÃ©adressage V850 invalide: %d%B: numÃ©ro de rÃ©adressage Visium invalide: %d%B: numÃ©ro de rÃ©adressage XGate invalide: %d%B: numÃ©ro de rÃ©adressage XTENSA invalide: %d%B: numÃ©ro de rÃ©adressage i960 invalide: %d%B: entrÃ©e de bibliothÃ¨que d'import invalide: Â«Â %sÂ Â».%B: lien %u invalide pour la section de rÃ©adressages %s (index %u)%B: fichier mmo invalide: YZ de lop_end (%ld) n'est pas Ã©gal au nombre de tetras du lop_stab prÃ©cÃ©dent (%ld)
 %B: fichier mmo invalide: attendu YZ = 1 obtenu YZ = %d pour lop_quote
@@ -1030,21 +1041,18 @@ est un systÃ¨me Ã  octets de poids fort
 %B: fichier mmo invalide: octet de tÃªte du mot de l'opÃ©rande doit Ãªtre 0 ou 1, obtenu %d pour lop_fixrx
 %B: fichier mmo invalide: lop_end n'est pas le dernier Ã©lement dans le fichier
 %B: fichier mmo invalide: lopcode Â«Â %dÂ Â» non supportÃ©
-%B: type de rÃ©adressage %d invalide%B: champ de taille invalide dans l'en-tÃªte du groupe de section: %#Lx%B: symbole spÃ©ciale Â«Â %sÂ Â» invalide.%B: symbole standard Â«Â %sÂ Â» invalide.%B: adresse de dÃ©part invalide pour des registres initialisÃ©s de longueur %ld: 0x%lx%08lx
-%B: chaÃ®ne de dÃ©calage invalide %u >= %lu pour la section Â«Â %sÂ Â»%B: table de symboles invalide: symbole Â«Â %sÂ Â» dupliquÃ©
+%B: type de rÃ©adressage %d invalide%B: champ de taille invalide dans l'en-tÃªte du groupe de section: %#Lx%B: symbole spÃ©ciale Â«Â %sÂ Â» invalide.%B: symbole standard Â«Â %sÂ Â» invalide.%B: adresse de dÃ©part invalide pour des registres initialisÃ©s de longueur %Ld: %#Lx%B: chaÃ®ne de dÃ©calage invalide %u >= %Lu pour la section Â«Â %sÂ Â»%B: table de symboles invalide: symbole Â«Â %sÂ Â» dupliquÃ©
 %B: le saut va trop loin
-%B: dÃ©bordement du nombre de lignes: 0x%lx > 0xffff%B: Ã©dition de liens du module %s avec les modules prÃ©cÃ©dents %s%B: Ã©dition de liens de code 32 bits avec du code 64 bits%B: Ã©dition de liens entre fichiers 64 bits et fichiers 32 bits%B: Ã©dition de liens spÃ©cifiques pour UltraSPARC avec du code spÃ©cifique HAL%B: Ã©dition de liens entre fichiers auto-pic et fichiers non-auto-pic%B: Ã©dition de liens entre des fichiers Ã  octets de poids fort et des fichiers Ã  octets de poids faible%B: Ã©dition de liens entre fichiers constant-gp et fichiers non-constant-gp%B: fichiers liÃ©s compilÃ©s pour des entiers de 16 bits (-mshort) et d'autres pour des entiers de 32 bits%B: fichiers liÃ©s compilÃ©s pour des doubles de 32 bits (-fshort-double) et d'autres pour des doubles de 64 bits%B: certains fichiers liÃ©s compilÃ©s pour HCS12 avec d'autres compilÃ©s pour HC12%B: Ã©dition de liens pour des fichiers Ã  octets de poids faible avec des fichiers Ã  octets de poids fort%B: liaison de code non-pic dans un exÃ©cutable Ã  position indÃ©pendante%B: Ã©dition de liens trap-on-NULL-dereference avec des fichiers non-trapping%B: chargeur de rÃ©adressages dans la section %A en lecture seule%B: chargeur de rÃ©adressage dans une section non reconnue Â«Â %sÂ Â»%B: symbole local Â«Â %sÂ Â» dans %B est rÃ©fÃ©rencÃ© par DSO%B: XTY_LD Â«Â %sÂ Â» mal placÃ©%B: setion TLS manquante pour le rÃ©adressage %s vers Â«Â %sÂ Â» Ã  0x%lx dans la section Â«Â %AÂ Â».%B: aucune info de groupe pour la section %A%B: pas de registre initialisÃ©; section de longueur 0
-%B: aucun symbole trouvÃ© dans la bibliothÃ¨que d'importation%B: aucune section de groupe valable trouvÃ©e%B: code non pic avec des rÃ©adressages imm vers le symbole dynamique Â«Â %sÂ Â»%B: index de symbole non nul (%#lx) pour l'offset %#Lx de la section Â«Â %AÂ Â» quand le fichier objet n'a pas de table de symboles%B: taille de l'objet ne concorde pas avec la taille de la cible %B%B: pas assez de mÃ©moire en crÃ©ant le nom pour une section vide%B: pas assez de mÃ©moire dans _bfd_elf_get_property%B: la taille de page est trop grande (0x%x)%B: rÃ©adressage relatif au PC vers le symbole dynamique %s%B: rÃ©adressage relatif au PC vers le symbole faible non dÃ©fini %s%B: le greffon doit gÃ©rer l'objet lto%B: probablement compilÃ© sans -fPIC?%B: symbole protÃ©gÃ© Â«Â %sÂ Â» n'est pas dÃ©fini%B: rÃ©adressage de registre vers le symbole non-registre: %s dans %A%B: rÃ©adressage de registre vers le symbole non-registre: (inconnu) dans %A%B: rÃ©adressage %s:%d n'est pas dans csect%B: rÃ©adressage par rapport Ã  un index de symbole inexistant: %ld%B: lien relocalisable de %s vers %s n'est pas supportÃ©%1$B: rÃ©adressage %2$s vers %4$s%3$sÂ«Â %5$sÂ Â» ne peut pas Ãªtre utilisÃ© en crÃ©ant un objet partagÃ©%6$s%B: le rÃ©adressage %s vers le symbole STT_GNU_IFUNC Â«Â %sÂ Â» a l'opÃ©rande non nul: %d%B: le rÃ©adressage %s sur le symbole STT_GNU_IFUNC Â«Â %sÂ Â» n'est pas gÃ©rÃ© par %s%B: le rÃ©adressage %s sur le symbole STT_GNU_IFUNC Â«Â %sÂ Â» n'est pas supportÃ©%B: rÃ©adressage de %s en vertu de Â«Â %sÂ Â» ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©; recompilez avec -fPIC%B: le rÃ©adressage de %s vers le symbole externe ou non dÃ©fini Â«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© en construisant un %s; recompilez avec -fPIC%B: le rÃ©adressage %s sur le symbole Â«Â %sÂ Â» n'est pas supportÃ© en mode x32%B: rÃ©adressage de %s en vertu du symbol Â«Â %sÂ Â» qui peut Ãªtre liÃ© avec l'extÃ©rieur ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©; recompilez avec -fPIC%B: rÃ©adressage de %s ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©; recompilez avec -fPIC%B: rÃ©adressage %s ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: rÃ©adressage R_386_GOTOFF vers la %s protÃ©gÃ©e Â«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: rÃ©adressage R_386_GOTOFF sur le symbole %s Â«Â %sÂ Â» non dÃ©fini ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: rÃ©adressage R_X86_64_GOTOFF64 vers la %s protÃ©gÃ©e Â«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: rÃ©adressage R_X86_64_GOTOFF64 sur le symbole %s Â«Â %sÂ Â» non dÃ©fini ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: rÃ©adressage Ã  Â«Â %A+0x%xÂ Â» fait rÃ©fÃ©rence au symbole Â«Â %sÂ Â» avec un opÃ©rande non nul%B: taille du rÃ©adressage ne concorde pas dans %B section %A%B: rÃ©adressages dans la section Â«Â %AÂ Â» qui est vide%B: section %A avec lma %#Lx ajustÃ©e Ã  %#Lx%B: section %A: dÃ©bordement de la table de chaÃ®nes Ã  l'offset %ld%B: la section Â«Â %AÂ Â» ne peut pas Ãªtre allouÃ©e dans le segment %d%B: l'entrÃ©e de groupe de section %u est corrompue%B: sh_link [%d] n'est pas correct dans la section Â«Â %AÂ Â»%B: le sh_link de la section Â«Â %AÂ Â» pointe vers la section abandonnÃ©e Â«Â %AÂ Â» de Â«Â %BÂ Â»%B: le sh_link de la section Â«Â %AÂ Â» pointe vers la section supprimÃ©e Â«Â %AÂ Â» de Â«Â %BÂ Â»%B: dÃ©bordement du segment de donnÃ©es court (0x%lx >= 0x400000)%B: taille du champ est zÃ©ro dans l'en-tÃªte de la librairie de formats d'importation%B: spÃ©culation d'ajustements vers le symbole dynamique %s%B: taille de pile spÃ©cifiÃ©e et %s dÃ©fini%B: chaÃ®ne n'est pas terminÃ©e par un zÃ©ro dans le fichier objet ILF.%B: chaÃ®ne trop longue (%d caractÃ¨res, max 65535)%B: support pour les dynamiques locaux pas implÃ©mentÃ©e%B: symbole Â«Â %sÂ Â» a un type csect %d non reconnu%B: symbole Â«Â %sÂ Â» a une classe smclas %d non reconnue%B: symbole Â«Â %sÂ Â» requis mais absent%B: l'adresse de la fonction protÃ©gÃ©e Â«Â %sÂ Â» ne peut Ãªtre prise lors de la crÃ©ation d'une librairie partagÃ©e%B: la cible (%s) d'un rÃ©adressage %s est dans la mauvaise section de sortie (%s)%B: trop de registres initialisÃ©s; longueur de section %ld
-%B: trop de sections (%d)%B: trop de sections: %u%B: rÃ©adressage relatif au tp vers le symbole dynamique %s%B: impossible de crÃ©er une section vide factice%B: impossible de remplir DataDictionary[12] car .idata$5 est manquant%B: impossible de remplir DataDictionary[1] car .idata$2 est manquant%B: impossible de remplir DataDictionary[1] car .idata$4 est manquant%B: impossible de remplir DataDictionary[9] car __tls_used est manquant%B: impossible de remplir DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] car .idata$6 est manquant%B: impossible de remplir DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] car .idata$6 est manquant%B: incapable de repÃ©rer le liant ARM Â«Â %sÂ Â» pour Â«Â %sÂ Â»%B: incapable de trouver le trampoline (veneer) Â«Â %sÂ Â» pour le STM32L4XX%B: incapable de repÃ©rer le REPÃˆRE de liant Â«Â %sÂ Â» pour Â«Â %sÂ Â»%B: incapable de trouver le trampoline (veneer) Â«Â %sÂ Â» pour le VFP11%B: impossible de trouver le nom pour une section vide%B: impossible d'obtenir la section dÃ©compressÃ©e %A%B: impossible d'initialiser le statut de compression de la section %s%B: impossible d'initialiser le statut de dÃ©compression de la section %s%B: impossible de charger le nom de section COMDAT%B: rÃ©fÃ©rence au symbole non dÃ©fini Â«Â %sÂ Â»%B: symbole Â«Â %sÂ Â» indÃ©fini dans la section .opd%B: symbole indÃ©fini sur le rÃ©adressage R_PPC64_TOCSAVE%B: type ATN %d inattendu dans la partie externe%B: attention: redÃ©finition inattendue du symbole indirect avec version Â«Â %sÂ Â»%B: type de rÃ©adressage %u inattendu dans la section .opd%B: type inattendu aprÃ¨s ATN%B: rÃ©adressage dynamique non traitÃ© vers %s%B: non implantÃ© %s
-%B: enregistrement ATI non implantÃ© %u pour le symbole %u%B: commande de chargement inconnue 0x%lx%B: type de rÃ©adressage %d inconnu%B: type de rÃ©adressage %d inconnu pour le symbole %s%B: type [%#x] inconnu dans la section Â«Â %sÂ Â»%B: type [%#x] de section Â«Â %sÂ Â» inconnu dans le groupe [%A]%B: type de rÃ©adressage %d inconnu ou non supportÃ©%B: numÃ©ro de rÃ©adressage Alpha non reconnu: %d%B: numÃ©ro de rÃ©adressage CR16 non reconnu: %d%B: numÃ©ro de rÃ©adressage CRX non reconnu: %d%B: numÃ©ro de rÃ©adressage I370 non reconnu: %d%B: numÃ©ro de rÃ©adressage MCore non reconnu: %d%B: numÃ©ro de rÃ©adressage MN10300 non reconnu: %d%B: numÃ©ro de rÃ©adressage MicroBlaze non reconnu: %d%B: numÃ©ro de rÃ©adressage PPC non reconnu: %d%B: numÃ©ro de rÃ©adressage PicoJava non reconnu: %d%B: numÃ©ro de rÃ©adressage SH non reconnu: %d%B: numÃ©ro de rÃ©adressage SPU non reconnu: %d%B: numÃ©ro de rÃ©adressage VAX non reconnu: %d%B: rÃ©adressage inconnu (0x%x) dans la section Â«Â %AÂ Â»%B: symbole non reconnue Â«Â %sÂ Â» fanions 0x%x%B: appel non-PIC non supportÃ© vers IFUNC Â«Â %sÂ Â»%B: type de rÃ©adressage %i non supportÃ©%B: type de rÃ©adressage %i non supportÃ©
+%B: dÃ©bordement du nombre de lignes: 0x%lx > 0xffff%B: Ã©dition de liens du module %s avec les modules prÃ©cÃ©dents %s%B: Ã©dition de liens de code 32 bits avec du code 64 bits%B: Ã©dition de liens entre fichiers 64 bits et fichiers 32 bits%B: Ã©dition de liens spÃ©cifiques pour UltraSPARC avec du code spÃ©cifique HAL%B: Ã©dition de liens entre fichiers auto-pic et fichiers non-auto-pic%B: Ã©dition de liens entre des fichiers Ã  octets de poids fort et des fichiers Ã  octets de poids faible%B: Ã©dition de liens entre fichiers constant-gp et fichiers non-constant-gp%B: fichiers liÃ©s compilÃ©s pour des entiers de 16 bits (-mshort) et d'autres pour des entiers de 32 bits%B: fichiers liÃ©s compilÃ©s pour des doubles de 32 bits (-fshort-double) et d'autres pour des doubles de 64 bits%B: certains fichiers liÃ©s compilÃ©s pour HCS12 avec d'autres compilÃ©s pour HC12%B: Ã©dition de liens pour des fichiers Ã  octets de poids faible avec des fichiers Ã  octets de poids fort%B: liaison de code non-pic dans un exÃ©cutable Ã  position indÃ©pendante%B: Ã©dition de liens trap-on-NULL-dereference avec des fichiers non-trapping%B: chargeur de rÃ©adressages dans la section %A en lecture seule%B: chargeur de rÃ©adressage dans une section non reconnue Â«Â %sÂ Â»%B: symbole local Â«Â %sÂ Â» dans %B est rÃ©fÃ©rencÃ© par DSO%B: XTY_LD Â«Â %sÂ Â» mal placÃ©%B: setion TLS manquante pour le rÃ©adressage %s vers Â«Â %sÂ Â» Ã  %#Lx dans la section Â«Â %AÂ Â».%B: aucune info de groupe pour la section Â«Â %AÂ Â»%B: pas de registre initialisÃ©; section de longueur 0
+%B: aucun symbole trouvÃ© dans la bibliothÃ¨que d'importation%B: aucune section de groupe valable trouvÃ©e%B: code non pic avec des rÃ©adressages imm vers le symbole dynamique Â«Â %sÂ Â»%B: index de symbole non nul (%#Lx) pour l'offset %#Lx de la section Â«Â %AÂ Â» quand le fichier objet n'a pas de table de symboles%B: Pas assez de mÃ©moire pour allouer l'espace pour %#Lx symboles de taille %#Lx%B: taille de l'objet ne concorde pas avec la taille de la cible %B%B: pas assez de mÃ©moire en crÃ©ant le nom pour une section vide%B: pas assez de mÃ©moire dans _bfd_elf_get_property%B: la taille de page est trop grande (0x%x)%B: rÃ©adressage relatif au PC vers le symbole dynamique %s%B: rÃ©adressage relatif au PC vers le symbole faible non dÃ©fini %s%B: le greffon doit gÃ©rer l'objet lto%B: probablement compilÃ© sans -fPIC?%B: symbole protÃ©gÃ© Â«Â %sÂ Â» n'est pas dÃ©fini%B: rÃ©adressage de registre vers le symbole non-registre: %s dans %A%B: rÃ©adressage de registre vers le symbole non-registre: (inconnu) dans %A%B: le rÃ©adressage %s:%Ld n'est pas dans csect%B: rÃ©adressage par rapport Ã  un index de symbole inexistant: %ld%B: lien relocalisable de %s vers %s n'est pas supportÃ©%B: rÃ©adressage %s vers %s%sÂ«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© en crÃ©ant %s%s%B: le rÃ©adressage %s vers le symbole STT_GNU_IFUNC Â«Â %sÂ Â» a l'opÃ©rande non nul: %Ld%B: le rÃ©adressage %s sur le symbole STT_GNU_IFUNC Â«Â %sÂ Â» n'est pas gÃ©rÃ© par %s%B: le rÃ©adressage %s sur le symbole STT_GNU_IFUNC Â«Â %sÂ Â» n'est pas supportÃ©%B: le rÃ©adressage %s vers Â«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© en crÃ©ant un objet partagÃ©%B: rÃ©adressage de %s en vertu de Â«Â %sÂ Â» ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©; recompilez avec -fPIC%B: le rÃ©adressage de %s vers le symbole externe ou non dÃ©fini Â«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© en construisant un %s; recompilez avec -fPIC%B: le rÃ©adressage %s sur le symbole Â«Â %sÂ Â» n'est pas supportÃ© en mode x32%B: rÃ©adressage de %s en vertu du symbol Â«Â %sÂ Â» qui peut Ãªtre liÃ© avec l'extÃ©rieur ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©; recompilez avec -fPIC%B: rÃ©adressage de %s ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©; recompilez avec -fPIC%B: rÃ©adressage %s ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: rÃ©adressage R_386_GOTOFF vers la %s protÃ©gÃ©e Â«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: rÃ©adressage R_386_GOTOFF sur le symbole %s Â«Â %sÂ Â» non dÃ©fini ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: rÃ©adressage R_X86_64_GOTOFF64 vers la %s protÃ©gÃ©e Â«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: rÃ©adressage R_X86_64_GOTOFF64 sur le symbole %s Â«Â %sÂ Â» non dÃ©fini ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©%B: rÃ©adressage Ã  Â«Â %A+%#LxÂ Â» fait rÃ©fÃ©rence au symbole Â«Â %sÂ Â» avec un opÃ©rande non nul%B: taille du rÃ©adressage ne concorde pas dans %B section %A%B: rÃ©adressages dans la section Â«Â %AÂ Â» qui est vide%B: section %A avec lma %#Lx ajustÃ©e Ã  %#Lx%B: section %A: dÃ©bordement de la table de chaÃ®nes Ã  l'offset %ld%B: la section Â«Â %AÂ Â» ne peut pas Ãªtre allouÃ©e dans le segment %d%B: l'entrÃ©e de groupe de section %u est corrompue%B: sh_link [%d] n'est pas correct dans la section Â«Â %AÂ Â»%B: le sh_link de la section Â«Â %AÂ Â» pointe vers la section abandonnÃ©e Â«Â %AÂ Â» de Â«Â %BÂ Â»%B: le sh_link de la section Â«Â %AÂ Â» pointe vers la section supprimÃ©e Â«Â %AÂ Â» de Â«Â %BÂ Â»%B: dÃ©bordement du segment de donnÃ©es court (%#Lx >= 0x400000)%B: taille du champ est zÃ©ro dans l'en-tÃªte de la librairie de formats d'importation%B: spÃ©culation d'ajustements vers le symbole dynamique %s%B: taille de pile spÃ©cifiÃ©e et %s dÃ©fini%B: chaÃ®ne n'est pas terminÃ©e par un zÃ©ro dans le fichier objet ILF.%B: chaÃ®ne trop longue (%ld caractÃ¨res, max 65535)%B: support pour les dynamiques locaux pas implÃ©mentÃ©e%B: symbole Â«Â %sÂ Â» a un type csect %d non reconnu%B: symbole Â«Â %sÂ Â» a une classe smclas %d non reconnue%B: symbole Â«Â %sÂ Â» requis mais absent%B: l'adresse de la fonction protÃ©gÃ©e Â«Â %sÂ Â» ne peut Ãªtre prise lors de la crÃ©ation d'une librairie partagÃ©e%B: la cible (%s) d'un rÃ©adressage %s est dans la mauvaise section de sortie (%s)%B: trop de registres initialisÃ©s; longueur de section %Ld%B: trop de sections (%d)%B: trop de sections: %u%B: rÃ©adressage relatif au tp vers le symbole dynamique %s%B: impossible de crÃ©er une section vide factice%B: impossible de remplir DataDictionary[12] car .idata$5 est manquant%B: impossible de remplir DataDictionary[1] car .idata$2 est manquant%B: impossible de remplir DataDictionary[1] car .idata$4 est manquant%B: impossible de remplir DataDictionary[9] car __tls_used est manquant%B: impossible de remplir DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] car .idata$6 est manquant%B: impossible de remplir DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] car .idata$6 est manquant%B: incapable de repÃ©rer le liant ARM Â«Â %sÂ Â» pour Â«Â %sÂ Â»%B: incapable de trouver le trampoline (veneer) Â«Â %sÂ Â» pour le STM32L4XX%B: incapable de repÃ©rer le REPÃˆRE de liant Â«Â %sÂ Â» pour Â«Â %sÂ Â»%B: incapable de trouver le trampoline (veneer) Â«Â %sÂ Â» pour le VFP11%B: impossible de trouver le nom pour une section vide%B: impossible d'obtenir la section dÃ©compressÃ©e %A%B: impossible d'initialiser le statut de compression de la section %s%B: impossible d'initialiser le statut de dÃ©compression de la section %s%B: impossible de charger le nom de section COMDAT%B: rÃ©fÃ©rence au symbole non dÃ©fini Â«Â %sÂ Â»%B: symbole Â«Â %sÂ Â» indÃ©fini dans la section .opd%B: symbole indÃ©fini sur le rÃ©adressage R_PPC64_TOCSAVE%B: type ATN %Ld inattendu dans la partie externe%B: attention: redÃ©finition inattendue du symbole indirect avec version Â«Â %sÂ Â»%B: type de rÃ©adressage %u inattendu dans la section .opd%B: type inattendu aprÃ¨s ATN%B: rÃ©adressage dynamique non traitÃ© vers %s%B: non implantÃ© %s
+%B: enregistrement ATI non implantÃ© %u pour le symbole %u%B: commande de chargement inconnue %#x%B: type de rÃ©adressage %d inconnu%B: type de rÃ©adressage %d inconnu pour le symbole %s%B: type [%#x] inconnu dans la section Â«Â %sÂ Â»%B: type [%#x] de section Â«Â %sÂ Â» inconnu dans le groupe [%A]%B: type de rÃ©adressage %d inconnu ou non supportÃ©%B: numÃ©ro de rÃ©adressage Alpha non reconnu: %d%B: numÃ©ro de rÃ©adressage CR16 non reconnu: %d%B: numÃ©ro de rÃ©adressage CRX non reconnu: %d%B: numÃ©ro de rÃ©adressage I370 non reconnu: %d%B: numÃ©ro de rÃ©adressage MCore non reconnu: %d%B: numÃ©ro de rÃ©adressage MN10300 non reconnu: %d%B: numÃ©ro de rÃ©adressage MicroBlaze non reconnu: %d%B: numÃ©ro de rÃ©adressage PPC non reconnu: %d%B: numÃ©ro de rÃ©adressage PicoJava non reconnu: %d%B: numÃ©ro de rÃ©adressage SH non reconnu: %d%B: numÃ©ro de rÃ©adressage SPU non reconnu: %d%B: numÃ©ro de rÃ©adressage VAX non reconnu: %d%B: rÃ©adressage inconnu (%#x) dans la section Â«Â %AÂ Â»%B: symbole non reconnue Â«Â %sÂ Â» fanions 0x%x%B: appel non-PIC non supportÃ© vers IFUNC Â«Â %sÂ Â»%B: type de rÃ©adressage %d non supportÃ©%B: type de rÃ©adressage %i non supportÃ©
 %B: type de rÃ©adressage %s non supportÃ©%B: type de rÃ©adressage non supportÃ© 0x%02x%B: type de rÃ©adressage non supportÃ©: ALPHA_R_GPRELHIGH%B: type de rÃ©adressage non supportÃ©: ALPHA_R_GPRELLOW%B: sÃ©quence de caractÃ¨res large 0x%02X 0x%02X non supportÃ©e aprÃ¨s le nom de symbole dÃ©butant par Â«Â %sÂ Â»
-%B: utilise les instructions %s tandis que les modules prÃ©cÃ©dents utilisent les instructions %s%B: utilise des symboles prÃ©fixÃ©s par _ mais Ã©crits les symboles sans prÃ©fixes dans le fichier%B: utilise des champs e_flags (%#x) diffÃ©rents des modules prÃ©cÃ©dents (%#x)%B: utilise des champs e_flags (0x%lx) diffÃ©rents des modules prÃ©cÃ©dents (0x%lx)%B: utilise diffÃ©rents champs e_flags (0x%lx) que les modules prÃ©cÃ©dents (0x%lx)%B: utilise des instructions qui sont incompatibles avec les instructions utilisÃ©es dans les modules prÃ©cÃ©dents%B: utilise des symboles sans prÃ©fixe mais ajoute le prÃ©fixe _ aux symboles dans le fichier%B: compteur de version (%ld) ne concorde pas avec le symbole du compteur (%ld)%B: version du nÅ“ud pas trouvÃ©e pour le symbole %s%B: la visibilitÃ© du symbole Â«Â %sÂ Â» a changÃ©.%B: fichier core d'avertissement tronquÃ©%B: attention: %A: dÃ©bordement du compteur de numÃ©ro de ligne: 0x%lx > 0xffff%B: attention: %s pointe vers le rÃ©adressage non reconnu Ã  0x%lx.%B: attention: rÃ©adressage %s vers le symbole Â«Â %sÂ Â» de la section %A%B: attention: rÃ©adressage %s vers 0x%x de la section %A%B: attention: %s: dÃ©bordement du compteur de numÃ©ro de ligne: 0x%lx > 0xffff%B: attention: symbole COMDAT Â«Â %sÂ Â» ne concorde par avec le nom de section Â«Â %sÂ Â»%B: attention: Segment chargeable vide dÃ©tectÃ© Ã  vaddr=%#Lx, est-ce intentionnelÂ ?%B: attention: L'ordre des octets n'est pas le mÃªme que dans les modules prÃ©cÃ©dents.%B: attention: ajout GOT de %ld Ã  Â«Â %sÂ Â» ne concorde par avec l'ajout GOT prÃ©cÃ©dent de %ld%B: attention: Versions elf %s et %s non compatibles.%B: attention: ASE incohÃ©rents entre e_flags et .MIPS.abiflags%B: attention: ABI FP incohÃ©rentes entre .gnu.attributes and .MIPS.abiflags%B: attention: ISA incohÃ©rentes entre e_flags et .MIPS.abiflags%B: attention: Extensions ISA incohÃ©rentes entre e_flags et .MIPS.abiflags%B: attention: Pas de symbole trouvÃ© pour la section Â«Â %sÂ Â»%B: attention: Version plus ancienne du fichier objet rencontrÃ©e. Veuillez recompiler avec la chaÃ®ne d'outils actuelle.%B: attention: ignore l'ajout PLT de %d Ã  Â«Â %sÂ Â» de la section %A%B: attention: Fanion inattendu dans le champ flags2 de .MIPS.abiflags (0x%lx)%B: attention: section allouÃ©e Â«Â %sÂ Â» n'est pas dans le segment%B: attention: ne peut gÃ©rer R_NDS32_25_ABS_RELA en mode partagÃ©.%B: attention: prÃ©tend avoir 0xffff rÃ©adressages, sans dÃ©bordement%B: attention: information de numÃ©ro de ligne dÃ©doublÃ©e pour Â«Â %sÂ Â»%B: attention: symbole illÃ©gal dans l'entrÃ©e %d des numÃ©ros de lignes%B: attention: symbole index illÃ©gal %ld dans les rÃ©adressages%B: attention: symbole d'index 0x%lx illÃ©gal dans l'entrÃ©e %d des numÃ©ros de lignes%B: attention: isymMax (%ld) est plus grand que ifdMax (%d)
-%B: attention: erreur lors de la lecture de la table des numÃ©ros de ligne%B: attention: Ã©dition de liens des fichiers PIC avec des fichiers non PIC%B: attention: Ã©dition de liens des fichiers abicalls avec des fichiers non abicalls%B: attention: boucle dÃ©tectÃ©e dans les dÃ©pendances de sections%B: attention: plusieurs tables de symboles dynamiques ont Ã©tÃ© dÃ©tectÃ©es â€” la table dans la section %u est ignorÃ©e%B: attention: plusieurs tables de symboles dÃ©tectÃ©es â€” la table dans la section %u est ignorÃ©e%B: attention: rÃ©adressage SDA_BASE a Ã©chouÃ©.%B: attention: un alignement de segment de %#Lx est trop grand%B: attention: le palliatif STM32L4XX sÃ©lectionnÃ© n'est pas nÃ©cessaire avec l'architecture cible%B: attention: le palliatif VFP11 sÃ©lectionnÃ© n'est pas nÃ©cessaire avec l'architecture cible%B: attention: sh_link n'a pas de valeur pour la section Â«Â %AÂ Â»%B: attention: table de symboles trop grande pour mmo, plus grande que 65535 mots de 32 bits: %d. Seul Â«Â MainÂ Â» sera produit.
-%B: attention: accÃ¨s non alignÃ© Ã  une entrÃ©e GOT.%B: attention: accÃ¨s non alignÃ© Ã  une petite donnÃ©e. Pour l'entrÃ©e: {%d, %d, %d}, adr = 0x%x, alignement = 0x%x.%B: attention: attribut d'objet EABI %d inconnu%B: le rÃ©adressage TLS ne sera pas rÃ©solu Ã  l'exÃ©cution%B:%A%s dÃ©passe la taille de recouvrement
+%B: utilise les instructions %s tandis que les modules prÃ©cÃ©dents utilisent les instructions %s%B: utilise des symboles prÃ©fixÃ©s par _ mais Ã©crits les symboles sans prÃ©fixes dans le fichier%B: utilise des champs e_flags (%#x) diffÃ©rents des modules prÃ©cÃ©dents (%#x)%B: utilise diffÃ©rents champs e_flags (%#x) de ceux des modules prÃ©cÃ©dents (%#x)%B: utilise des instructions qui sont incompatibles avec les instructions utilisÃ©es dans les modules prÃ©cÃ©dents%B: utilise des symboles sans prÃ©fixe mais ajoute le prÃ©fixe _ aux symboles dans le fichier%B: compteur de version (%Ld) ne concorde pas avec le symbole du compteur (%ld)%B: version du nÅ“ud pas trouvÃ©e pour le symbole %s%B: la visibilitÃ© du symbole Â«Â %sÂ Â» a changÃ©.%B: fichier core d'avertissement tronquÃ©%B: attention: %A: dÃ©bordement du compteur de numÃ©ro de ligne: %#x > 0xffff%B: attention: %s pointe vers le rÃ©adressage non reconnu Ã  %#Lx.%B: attention: rÃ©adressage %s vers le symbole Â«Â %sÂ Â» de la section %A%B: attention: rÃ©adressage %s vers %#Lx de la section %A%B: attention: %s: dÃ©bordement du compteur de numÃ©ro de ligne: 0x%lx > 0xffff%B: attention: symbole COMDAT Â«Â %sÂ Â» ne concorde par avec le nom de section Â«Â %sÂ Â»%B: attention: Segment chargeable vide dÃ©tectÃ© Ã  vaddr=%#Lx, est-ce intentionnelÂ ?%B: attention: L'ordre des octets n'est pas le mÃªme que dans les modules prÃ©cÃ©dents.%B: attention: ajout GOT de %Ld Ã  Â«Â %sÂ Â» ne concorde par avec l'ajout GOT prÃ©cÃ©dent de %Ld%B: attention: Versions elf %s et %s non compatibles.%B: attention: ASE incohÃ©rents entre e_flags et .MIPS.abiflags%B: attention: ABI FP incohÃ©rentes entre .gnu.attributes and .MIPS.abiflags%B: attention: ISA incohÃ©rentes entre e_flags et .MIPS.abiflags%B: attention: Extensions ISA incohÃ©rentes entre e_flags et .MIPS.abiflags%B: attention: Pas de symbole trouvÃ© pour la section Â«Â %sÂ Â»%B: attention: Version plus ancienne du fichier objet rencontrÃ©e. Veuillez recompiler avec la chaÃ®ne d'outils actuelle.%B: attention: ignore l'ajout PLT de %Ld Ã  Â«Â %sÂ Â» de la section %A%B: attention: Fanion inattendu dans le champ flags2 de .MIPS.abiflags (0x%lx)%B: attention: section allouÃ©e Â«Â %sÂ Â» n'est pas dans le segment%B: attention: ne peut gÃ©rer R_NDS32_25_ABS_RELA en mode partagÃ©.%B: attention: prÃ©tend avoir 0xffff rÃ©adressages, sans dÃ©bordement%B: attention: information de numÃ©ro de ligne dÃ©doublÃ©e pour Â«Â %sÂ Â»%B: attention: symbole illÃ©gal dans l'entrÃ©e %d des numÃ©ros de lignes%B: attention: symbole index illÃ©gal %ld dans les rÃ©adressages%B: attention: symbole d'index 0x%lx illÃ©gal dans l'entrÃ©e %d des numÃ©ros de lignes%B: attention: isymMax (%ld) est plus grand que ifdMax (%ld)%B: attention: le dÃ©compte du nombre de lignes (%#lx) dÃ©passe la taille de la section (%#lx)%B: attention: erreur lors de la lecture de la table des numÃ©ros de ligne%B: attention: Ã©dition de liens des fichiers PIC avec des fichiers non PIC%B: attention: Ã©dition de liens des fichiers abicalls avec des fichiers non abicalls%B: attention: boucle dÃ©tectÃ©e dans les dÃ©pendances de sections%B: attention: plusieurs tables de symboles dynamiques ont Ã©tÃ© dÃ©tectÃ©es â€” la table dans la section %u est ignorÃ©e%B: attention: plusieurs tables de symboles dÃ©tectÃ©es â€” la table dans la section %u est ignorÃ©e%B: attention: rÃ©adressage SDA_BASE a Ã©chouÃ©.%B: attention: un alignement de segment de %#Lx est trop grand%B: attention: le palliatif STM32L4XX sÃ©lectionnÃ© n'est pas nÃ©cessaire avec l'architecture cible%B: attention: le palliatif VFP11 sÃ©lectionnÃ© n'est pas nÃ©cessaire avec l'architecture cible%B: attention: sh_link n'a pas de valeur pour la section Â«Â %AÂ Â»%B: attention: table de symboles trop grande pour mmo, plus grande que 65535 mots de 32 bits: %d. Seul Â«Â MainÂ Â» sera produit.
+%B: attention: accÃ¨s non alignÃ© Ã  une entrÃ©e GOT.%B: attention: accÃ¨s non alignÃ© Ã  une petite donnÃ©e pour l'entrÃ©e: {%Ld, %Ld, %Ld}, adr = %#Lx, alignement = %#x.%B: attention: attribut d'objet EABI %d inconnu%B: le rÃ©adressage TLS ne sera pas rÃ©solu Ã  l'exÃ©cution%B:%A%s dÃ©passe la taille de recouvrement
 %B:%A: %s et %s doivent Ãªtre dans la mÃªme section d'entrÃ©e%B:%A: Attention: rÃ©adressage Red Hat rÃ©prouvÃ©e %B:%A: erreur: symbole de rÃ©fÃ©rence des rÃ©adressages %s qui a Ã©tÃ© supprimÃ© par le ramasse miettes%B:%A: erreur: essayez de rÃ©Ã©diter les liens avec --gc-keep-exported enabled.%B:%A: la table %s n'a pas de %s correspondant%B:%A: l'entrÃ©e %s de la table n'est pas alignÃ©e sur un mot dans la table%B:%A: l'entrÃ©e %s de la table est en dehors de la table%B:%d: Mauvaise somme de contrÃ´le dans le fichier S-record
 %B:%d: caractÃ¨re inattendu Â«Â %sÂ Â» dans le fichier S-record
 %B:%d: nombre d'octets %d trop petit
-%B:%d: caractÃ¨re inattendu Â«Â %sÂ Â» dans le fichier Intel hexadÃ©cimal%B:%u: somme de contrÃ´le erronÃ©e dans le fichier Intel hexadÃ©cimal (attendu %u, obtenu %u)%B:%u: longueur erronÃ©e de l'enregistrement d'adresse Ã©tendue dans le fichier Intel hexadÃ©cimal%B:%u: longueur erronÃ©e de l'enregistrement d'adresse Ã©tendue linÃ©aire dans le fichier Intel hexadÃ©cimal%B:%u: longueur erronÃ©e d'adresse Ã©tendue linÃ©raire de dÃ©but dans le fichier Intel hexadÃ©cimal%B:%u: longueur erronÃ©e d'adresse Ã©tendue de dÃ©but dans le fichier Intel hexadÃ©cimal%B:%u: type ihex %u non reconnu dans le fichier Intel hexadÃ©cima%C: attention: rÃ©adressage vers Â«Â %sÂ Â» fait rÃ©fÃ©rence Ã  un segment diffÃ©rent
+%B:%d: caractÃ¨re inattendu Â«Â %sÂ Â» dans le fichier Intel hexadÃ©cimal%B:%s a, Ã  la fois, des rÃ©adressages normaux et TLS%B:%s section %s: l'alignement 2**%u n'est pas reprÃ©sentable%B:%u: somme de contrÃ´le erronÃ©e dans le fichier Intel hexadÃ©cimal (attendu %u, obtenu %u)%B:%u: longueur erronÃ©e de l'enregistrement d'adresse Ã©tendue dans le fichier Intel hexadÃ©cimal%B:%u: longueur erronÃ©e de l'enregistrement d'adresse Ã©tendue linÃ©aire dans le fichier Intel hexadÃ©cimal%B:%u: longueur erronÃ©e d'adresse Ã©tendue linÃ©raire de dÃ©but dans le fichier Intel hexadÃ©cimal%B:%u: longueur erronÃ©e d'adresse Ã©tendue de dÃ©but dans le fichier Intel hexadÃ©cimal%B:%u: type ihex %u non reconnu dans le fichier Intel hexadÃ©cima%C: attention: rÃ©adressage vers Â«Â %sÂ Â» fait rÃ©fÃ©rence Ã  un segment diffÃ©rent
 %F%A: Ã©chec lors de l'alignement de la section
 %F%B: dÃ©bordement du dÃ©calage relatif au PC dans l'entrÃ©e PLT GOT pour Â«Â %sÂ Â»
 %F%B: dÃ©bordement du dÃ©calage relatif au PC dans l'entrÃ©e PLT pour Â«Â %sÂ Â»
@@ -1054,16 +1062,17 @@ est un systÃ¨me Ã  octets de poids fort
 %F%P: ne peut construire les Ã©bauches de recouvrement: %E
 %F%P: entrÃ©e corrompue: %B
 %P%P: symbole dynamique STT_GNU_IFUNC Â«Â %sÂ Â» avec une Ã©galitÃ© de pointeur dans Â«Â %BÂ Â» ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un exÃ©cutable. Recompilez avec -fPIE et reliez avec -pie
-%F: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT BND
-%F: Ã©chec lors de la crÃ©ation de la section PLT BND
-%F: Ã©chec lors de la crÃ©ation de la section des propriÃ©tÃ©s GNU
-%F: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT GOT
-%F: Ã©chec lors de la crÃ©ation de la section PLT GOT
-%F: Ã©chec lors de la crÃ©ation des sections GOT
-%F: Ã©chec lors de la crÃ©ation de la section PLT activÃ©e pour IBT
-%F: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT
-%F: Ã©chec lors de la crÃ©ation des sections dynamiques VxWorks
-%F: Ã©chec lors de la crÃ©ation des sections ifunc
+%F%P: impossible de convertir le rÃ©adressage GOTPCREL: Ã©ditez les liens Ã  nouveau avec --no-relax
+%F%P: Ã©chec lors de la crÃ©ation de la section PLT BND
+%F%P: Ã©chec lors de la crÃ©ation de la section des propriÃ©tÃ©s GNU
+%F%P: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT GOT
+%F%P: Ã©chec lors de la crÃ©ation de la section PLT GOT
+%F%P: Ã©chec lors de la crÃ©ation des sections GOT
+%F%P: Ã©chec lors de la crÃ©ation de la section PLT activÃ©e pour IBT
+%F%P: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT
+%F%P: Ã©chec lors de la crÃ©ation des sections dynamiques VxWorks
+%F%P: Ã©chec lors de la crÃ©ation des sections ifunc
+%F%P: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT
 %H __tls_get_addr a perdu l'argument, optimisation TLS dÃ©sactivÃ©e
 %H l'argument a perdu __tls_get_addr, optimisation TLS dÃ©sactivÃ©e
 %H: %s vers Â«Â %TÂ Â»: erreur %d
@@ -1093,7 +1102,6 @@ est un systÃ¨me Ã  octets de poids fort
 %H: impossible d'apporter des corrections dans une section en lecture seule
 %H: erreur: %s par rapport Ã  Â«Â %sÂ Â» n'est pas un multiple de %u
 %H: erreur: %s n'est pas un multiple de %u
-%H: erreur: %s avec l'instruction inattendue %x
 %H: dÃ©bordement du branchement de correction
 %H: opÃ©rande non nul sur le rÃ©adressage %s par rapport Ã  Â«Â %sÂ Â»
 %H: le rÃ©adressage sur Â«Â %sÂ Â» fait rÃ©fÃ©rence Ã  un segment diffÃ©rent
@@ -1104,8 +1112,8 @@ est un systÃ¨me Ã  octets de poids fort
 %H: l'optimisation toc n'est pas supportÃ©e pour l'instruction %s.
 %H: %s ne peut Ãªtre rÃ©solu par rapport Ã  Â«Â %TÂ Â»
 %H: rÃ©adressage %s sans solution par rapport au symbole Â«Â %sÂ Â»
+%H: attention: %s insn %#x inattendue.
 %P%F: --relax et -r ne peuvent pas Ãªtre utilisÃ©s en mÃªme temps
-%P%F: Ã©chec de la crÃ©ation de la table de hachage ex9.it %s: %E
 %P%X: ne peut pas lire les symboles: %E
 %P%X: le segment en lecture seule a des rÃ©adressages IFUNC dynamiques; recompilez avec -fPIC
 %P%X: segment en lecture seule a des rÃ©adressages dynamiques.
@@ -1120,7 +1128,7 @@ est un systÃ¨me Ã  octets de poids fort
 %P: %B: attention: rÃ©adressage sur Â«Â %sÂ Â» dans la section en lecture seule Â«Â %AÂ Â»
 %P: %B: attention: rÃ©adressage dans la section Â«Â %AÂ Â» en lecture seule
 %P: %s pas dÃ©fini dans %s crÃ©Ã© par l'Ã©diteur de liens
-%P: dÃ©calage %s trop grand pour l'encodage .eh_frame sdata4*P: dÃ©bordement de l'entrÃ©e .eh_frame_hrd.
+%P: dÃ©calage %s trop grand pour l'encodage .eh_frame sdata4%P: dÃ©bordement de l'entrÃ©e .eh_frame_hrd.
 %P: .eh_frame_hdr fait rÃ©fÃ©rence Ã  des FDE qui se chevauchent.
 %P: DW_EH_PE_datarel non spÃ©cifiÃ© pour cette architecture.
 %P: encodage FDE dans %B(%A) empÃªche la crÃ©ation de la table .eh_frame_hdr.
@@ -1141,6 +1149,7 @@ est un systÃ¨me Ã  octets de poids fort
 %P: lien relocalisable pas supportÃ©
 %P: taille des Ã©bauches ne concorde pas avec la taille calculÃ©e
 %P: le symbole Â«Â %sÂ Â» a un st_other invalide pour l'ABI Ã  la version 1
+%P: attention: --plt-localentry est particuliÃ¨rement dangereux sans le support de ld.so pour dÃ©tecter des violations de l'ABI.
 %P: attention: crÃ©ation d'un DT_TEXTREL dans un objet partagÃ©.
 %P: attention: les rÃ©adressages de textes et les fonctions indirectes GNU pourraient rÃ©sulter en un crash Ã  l'exÃ©cution
 %X%C: le rÃ©adressage vers Â«Â %sÂ Â» fait rÃ©fÃ©rence Ã  un segment diffÃ©rent
@@ -1163,7 +1172,7 @@ est un systÃ¨me Ã  octets de poids fort
 %XÂ«Â %sÂ Â» rÃ©fÃ©rencÃ© dans la section Â«Â %AÂ Â» de %B: dÃ©fini dans la section abandonnÃ©e Â«Â %AÂ Â» de %B
 %s dÃ©fini dans une entrÃ©e toc supprimÃ©e%s dupliquÃ©
 %s dupliquÃ© dans %s
-%s dans une section de recouvrement%s: dÃ©finition TLS dans %B section %A ne correspond pas Ã  la dÃ©finition non TLS dans %B section %A%s: dÃ©finition TLS dans %B section %A ne correspond pas Ã  la rÃ©fÃ©rence TLS dans %B%s: rÃ©fÃ©rence TLS dans %B ne correspond pas Ã  la dÃ©finition non TLS dans %B section %A%s: rÃ©fÃ©rence TLS dans %B ne correspond pas Ã  la rÃ©fÃ©rence non TLS dans %B%s: pas de tel symbole%s: non implÃ©mentÃ©%s: pas supportÃ©%s: version non dÃ©finie: %s(Ã  l'offset de bit %u)
+%s a, Ã  la fois, des rÃ©adressages normaux et TLS%s dans une section de recouvrement%s: dÃ©finition TLS dans %B section %A ne correspond pas Ã  la dÃ©finition non TLS dans %B section %A%s: dÃ©finition TLS dans %B section %A ne correspond pas Ã  la rÃ©fÃ©rence TLS dans %B%s: rÃ©fÃ©rence TLS dans %B ne correspond pas Ã  la dÃ©finition non TLS dans %B section %A%s: rÃ©fÃ©rence TLS dans %B ne correspond pas Ã  la rÃ©fÃ©rence non TLS dans %B%s: pas de tel symbole%s: non implÃ©mentÃ©%s: pas supportÃ©%s: version non dÃ©finie: %s(Ã  l'offset de bit %u)
 (descripteur)
 (format %c%c%c%c signature %s age %ld)
 (pas de valeur)
@@ -1193,11 +1202,11 @@ est un systÃ¨me Ã  octets de poids fort
 CTL_STLOC (fixer position)
 Impossible de convertir un branchement vers JALX pour une adresse non alignÃ©e sur un motImpossible de convertir un saut vers JALX pour une adresse non alignÃ©e sur un motEn-tÃªte du copyright
 DÃ©tection d'une section .rsrc corrompueÂ !
-Enregistrement EGSD corrompu: sa taille (%#x) est trop petiteEnregistrement EGSD corrompu: la taille (%#x) est plus grande que l'espace restant (%#x)Enregistrement EGSD corrompu: la taille (%#x) est trop petiteEnregistrement ETIR corrompu rencontrÃ©Valeur vms corrompueDSO manquant dans la ligne de commandeDST__K_BEG_STMT_MODE pas implÃ©mentÃ©DST__K_END_STMT_MODE pas implÃ©mentÃ©DST__K_RESET_LINUM_INCR pas implÃ©mentÃ©DST__K_SET_LINUM_INCR pas implÃ©mentÃ©DST__K_SET_LINUM_INCR_W pas implÃ©mentÃ©DST__K_SET_PC pas implÃ©mentÃ©DST__K_SET_PC_L pas implÃ©mentÃ©DST__K_SET_PC_W pas implÃ©mentÃ©DST__K_SET_STMTNUM pas implÃ©mentÃ©RÃ©pertoire de dÃ©bugTable de debug du module:
+Enregistrement EEOM corrompu â€“ taille trop petiteEnregistrement EGSD corrompu: son champ psindx est trop grand (%#lx)Enregistrement EGSD corrompu: sa taille (%#x) est trop petiteEnregistrement EGSD corrompu: la taille (%#x) est plus grande que l'espace restant (%#x)Enregistrement EGSD corrompu: la taille (%#x) est trop petiteEnregistrement EIHD corrompu â€“ la taille est trop petiteEnregistrement ETIR corrompu rencontrÃ©Valeur vms corrompueDSO manquant dans la ligne de commandeDST__K_BEG_STMT_MODE pas implÃ©mentÃ©DST__K_END_STMT_MODE pas implÃ©mentÃ©DST__K_RESET_LINUM_INCR pas implÃ©mentÃ©DST__K_SET_LINUM_INCR pas implÃ©mentÃ©DST__K_SET_LINUM_INCR_W pas implÃ©mentÃ©DST__K_SET_PC pas implÃ©mentÃ©DST__K_SET_PC_L pas implÃ©mentÃ©DST__K_SET_PC_W pas implÃ©mentÃ©DST__K_SET_STMTNUM pas implÃ©mentÃ©RÃ©pertoire de dÃ©bugTable de debug du module:
 Table des symboles de debug:
 RÃ©pertoire des dÃ©lais d'importation%s appel dÃ©prÃ©ciÃ©
 %s dÃ©prÃ©ciÃ© appelÃ© Ã  %s dans la ligne %d dans %s
-RÃ©pertoire de descriptionErreur Dwarf: ne peut repÃ©rer la section %sErreur Dwarf: ne peut repÃ©rer le numÃ©ro abrÃ©gÃ© %u.Erreur Dwarf: attribut DW_AT_comp_dir rencontrÃ© sous une forme non-chaÃ®ne.Erreur Dwarf: Le pointeur d'info va au delÃ  de la fin des attributsErreur Dwarf: OpÃ©rations maximum par instruction invalide.Erreur Dwarf: valeur de FORM invalide ou non supportÃ©e: %#x.Erreur Dwarf: Les donnÃ©es des informations de lignes sont plus grandes (0x%lx) que la section (0x%lx)Erreur Dwarf: Le section des informations de lignes est trop petite (%ld)Erreur Dwarf: dÃ©calage de ligne (%lu) est >= Ã  la taille de %s (%lu)Erreur Dwarf: On est tombÃ© Ã  cours de place en lisant les opcodesErreur Dwarf: On est tombÃ© Ã  cours de place lors de la lecture du prologueErreur Dwarf: Impossible de lire la ref alt %u.Erreur Dwarf: Version .debug_line %d non prise en charge.Erreur Dwarf: taille d'adresse obtenue Â«Â %uÂ Â», ce lecteur ne peut traiter des tailles plus grandes que Â«Â %uÂ Â».Erreur Dwarf: version DWARF trouvÃ©e Â«Â %uÂ Â», ce lecteur ne supporte que les informations des versions 2, 3 et 4.Erreur Dwarf: numÃ©ro de ligne de section mutilÃ© (mauvais no. de fichier)Erreur Dwarf: numÃ©ro de ligne de section mutilÃ©.EIHD: (taille: %u, nbr blocs: %u)
+RÃ©pertoire de descriptionErreur Dwarf: RÃ©cursion d'une instance abstraite dÃ©tectÃ©e.Erreur Dwarf: ne peut repÃ©rer la section %sErreur Dwarf: ne peut repÃ©rer le numÃ©ro abrÃ©gÃ© %u.Erreur Dwarf: attribut DW_AT_comp_dir rencontrÃ© sous une forme non-chaÃ®ne.Erreur Dwarf: Le pointeur d'info va au delÃ  de la fin des attributsErreur Dwarf: RÃ©f DIE d'instance abstraite invalide.Erreur Dwarf: OpÃ©rations maximum par instruction invalide.Erreur Dwarf: valeur de FORM invalide ou non supportÃ©e: %#x.Erreur Dwarf: Les donnÃ©es des informations de lignes sont plus grandes (%#Lx) que l'espace restant dans la section (%#lx)Erreur Dwarf: Le section des informations de lignes est trop petite (%Ld)Erreur Dwarf: Taille de sÃ©lecteur de segment %u non supportÃ©e pour les informations de lignes.Erreur Dwarf: DÃ©calage (%llu) plus grand ou Ã©gal Ã  la taille de %s (%Lu).Erreur Dwarf: On est tombÃ© Ã  cours de place en lisant les opcodesErreur Dwarf: On est tombÃ© Ã  cours de place lors de la lecture du prologueErreur Dwarf: Impossible de lire la ref alt %llu.Erreur Dwarf: Version .debug_line %d non prise en charge.Erreur Dwarf: Type de contenu de format %Lu inconnu.Erreur Dwarf: DÃ©compte de format nul.Erreur Dwarf: dÃ©compte de donnÃ©es (%Lx) plus grand que la taille du tampon.Erreur Dwarf: taille d'adresse obtenue Â«Â %uÂ Â», ce lecteur ne peut traiter des tailles plus grandes que Â«Â %uÂ Â».Erreur Dwarf: version DWARF trouvÃ©e Â«Â %uÂ Â», ce lecteur ne supporte que les informations des versions 2, 3, 4 et 5.Erreur Dwarf: numÃ©ro de ligne de section mutilÃ© (mauvais no. de fichier)Erreur Dwarf: numÃ©ro de ligne de section mutilÃ©.EIHD: (taille: %u, nbr blocs: %u)
 ERREUR: Tentative de lier %B avec un binaire %B d'une architecture diffÃ©renteLa fonction d'entrÃ©e Â«Â %sÂ Â» a disparu du code sÃ»r.DÃ©calage de l'entrÃ©e= 0x%.8lx (%ld)
 Erreur lors de la lecture de %s: %sErreur: %B utilise les deux attributs Tag_MPextension_use actuel et hÃ©ritÃ©Erreur: L'architecture ARC4 n'est plus supportÃ©e.
 Erreurs rencontrÃ©es pendant le traitement du fichier %BRÃ©pertoire des exceptions [.pdata]RÃ©pertoire d'exportation [.edata (ou lÃ  oÃ¹ il a Ã©tÃ© trouvÃ©)]Fanion d'exportation 			%lx
@@ -1217,8 +1226,8 @@ est un systÃ¨me Ã  octets de poids fort
 Identification d'image: (majeur: %u, mineur: %u)
 Descripteur de section d'image: (majeur: %u, mineur: %u, taille: %u, offset: %u)
 Image des symboles et table debug: (majeur: %u, mineur: %u)
-RÃ©pertoire de la table d'adresse d'importationRÃ©pertoire d'importation [faisant partie de .idata]Erreur interne: dÃ©bordement de la pile de rÃ©adressages RL78Erreur interne: dÃ©bordement par le bas de la pile de rÃ©adressages RL78Inconsistance interne: reste %u != max %u.
-  Merci de rapporter cette anomalie.NumÃ©ro de rÃ©adressage AArch64 invalide: %dNumÃ©ro de rÃ©adressage DLX invalide: %dType de rÃ©adressage TARGET2 Â«Â %sÂ Â» invalideCible bfd invalideContenu invalide dans la section %AOpÃ©ration invalideSection de sortie invalide pour .eh_frame_entry: %AIndex de section incorrect dans ETIRIl doit Ãªtre un symbole de fonction global ou faible.Saut vers une adresse non alignÃ©e sur une instructionSaut vers une adresse non alignÃ©e sur un motLOGICAL_NAMES    Nom du Processeur de Langage
+RÃ©pertoire de la table d'adresse d'importationRÃ©pertoire d'importation [faisant partie de .idata]Erreur interne: dÃ©bordement de la pile de rÃ©adressages RL78Erreur interne: dÃ©bordement par le bas de la pile de rÃ©adressages RL78Inconsistance interne: reste %lu != max %lu.
+  Merci de rapporter cette anomalie.NumÃ©ro de rÃ©adressage AArch64 invalide: %dNumÃ©ro de rÃ©adressage DLX invalide: %dType de rÃ©adressage TARGET2 Â«Â %sÂ Â» invalideCible bfd invalideContenu invalide dans la section %AOpÃ©ration invalideSection de sortie invalide pour .eh_frame_entry: %AIndex de section incorrect dans ETIRLa version de l'Ã©diteur de liens â€“ %s â€“ est-elle dÃ©passÃ©eÂ ?Il doit Ãªtre un symbole de fonction global ou faible.Saut vers une adresse non alignÃ©e sur une instructionSaut vers une adresse non alignÃ©e sur un motLOGICAL_NAMES    Nom du Processeur de Langage
 Longueur            = 0x%.8lx (%ld)
 Lieur: ne peut initialiser la table de hachage ex9 
 Lieur: ne peut rÃ©adresser ex9 fixÃ© 
@@ -1305,7 +1314,7 @@ est un systÃ¨me Ã  octets de poids fort
 DÃ©bordement de la pile (%d) dans _bfd_vms_pushTaille de la pile des nÅ“uds racine du graph d'appel.
 Sous dÃ©pilage de la pile dans _bfd_vms_popL'adresse de dÃ©part de Â«Â %sÂ Â» est diffÃ©rente de celle de l'Ã©dition de liens prÃ©cÃ©dente.Pas:
 Symbole %s n'est pas dÃ©fini pour les corrections
-Symbole Â«Â %sÂ Â» a des types qui diffÃ¨rent: %s dans %B, prÃ©cÃ©demment REGISTRE dans %BSymbole Â«Â %sÂ Â» a des types qui diffÃ¨rent: REGISTRE dans %B, prÃ©cÃ©demment %s dans %BSymboles ont besoin de la section de dÃ©bug qui est inexistenteLe symbole devrait Ãªtre absolu, global et faire rÃ©fÃ©rence Ã  des fonctions Thumb.Erreur d'appel systÃ¨merÃ©adressage TLS incorrecte sans section dynamiqueDÃ©bordement de la table des entrÃ©es: 0x%lx > 0x10000; essayez l'option -mminimal-toc Ã  la compilationTable d'adresses
+Symbole Â«Â %sÂ Â» a des types qui diffÃ¨rent: %s dans %B, prÃ©cÃ©demment REGISTRE dans %BSymbole Â«Â %sÂ Â» a des types qui diffÃ¨rent: REGISTRE dans %B, prÃ©cÃ©demment %s dans %BSymboles ont besoin de la section de dÃ©bug qui est inexistenteLe symbole devrait Ãªtre absolu, global et faire rÃ©fÃ©rence Ã  des fonctions Thumb.Erreur d'appel systÃ¨merÃ©adressage TLS incorrecte sans section dynamiqueDÃ©bordement de la table des entrÃ©es: %#Lx > 0x10000; essayez l'option -mminimal-toc Ã  la compilationTable d'adresses
 Le champ de taille des donnÃ©es de dÃ©bogage dans le rÃ©pertoire de donnÃ©es est trop grand pour la sectionLa taille du rÃ©pertoire de dÃ©bogage n'est pas un multiple de la taille d'une entrÃ©e du rÃ©pertoire de dÃ©bogage
 Il y a un conflit en fusionnant les fanions d'en-tÃªtes ELF de %BRÃ©pertoire des files de stockage [.tls]Tampon Heure/Date 		%lx
 En-tÃªte du texte du titre
@@ -1317,20 +1326,20 @@ est un systÃ¨me Ã  octets de poids fort
 Identificateur de cible TI COFF non reconnu Â«Â 0x%xÂ Â»Type de rÃ©adressage non reconnu 0x%xRÃ©adressage du .stab non supportÃ©Type de rÃ©adressage CR16 non supportÃ©: 0x%x
 VOLATILE         Variable Â«Â %sÂ Â» peut seulement Ãªtre dans une rÃ©gion de donnÃ©es petite, zÃ©ro ou minusculeVariable Â«Â %sÂ Â» ne peut Ãªtre dans une rÃ©gion de donnÃ©es petite et minuscule Ã  la foisVariable Â«Â %sÂ Â» ne peut Ãªtre dans une rÃ©gion de donnÃ©es petite et zÃ©ro Ã  la foisVariable Â«Â %sÂ Â» ne peut Ãªtre dans une rÃ©gion de donnÃ©es zÃ©ro et minuscule Ã  la foisVariable Â«Â %sÂ Â» ne peut occuper de multiples petites rÃ©gions de donnÃ©esLa taille virtuelle de la section .pdata (%ld) est plus grande que la taille rÃ©elle (%ld)
 Attention, taille de la section .pdata (%ld) n'est pas un multiple de %d
-Attention: %B ne supporte pas l'inter-rÃ©seautage, contrairement Ã  %BAttention: %B est tronquÃ©: taille attendue du cÅ“ur du fichier >= %lu, obtenu: %lu.Attention: %B supporte l'inter-rÃ©seautage, contrairement Ã  %BAttention: %B utilise %s (dÃ©fini par %B), %B utilise Â«Â %sÂ Â»Attention: %B utilise %s (dÃ©fini par %B), %B utilise l'ABI MSA inconnue %dAttention: %B utilise %s (dÃ©fini par %B), %B utilise l'ABI virgule flottante inconnue %dAttention: %B utilise un double long 64 bits, %B utilise un double long de 128 bitsAttention: %B utilise l'ABI de vecteurs AltiVec, %B utilise l'ABI de vecteurs SPEAttention: %B utilise un double long IBM, %B utilise un double long IEEEAttention: %B utilise la virgule flottante double prÃ©cision matÃ©rielle, %B utilise la virgule flottante simple prÃ©cision matÃ©rielleAttention: %B utilise la virgule flottante matÃ©rielle, %B utilise la virgule flottante logicielleAttention: %B utilise r3/r4 pour les retours de petites structures, %B utilise la mÃ©moireAttention: %B utilise l'ABI MSA inconnue %d (dÃ©finie par %B), %B utilise %sAttention: %B utilise l'ABI MSA inconnue %d (dÃ©finie par %B), %B utilise l'ABI MSA inconnue %dAttention: %B utilise l'ABI virgule flottante inconnue %d (dÃ©finie par %B), %B utilise %sAttention: %B utilise l'ABI virgule flottante inconnue %d (dÃ©finie par %B), %B utilise l'ABI virgule flottante inconnue %dAttention: %B: Configuration de platforme conflictuelleAttention: %B: Configuration de platforme %s en conflit avec %s.
+Attention: %B ne supporte pas l'inter-rÃ©seautage, contrairement Ã  %BAttention: %B supporte l'inter-rÃ©seautage, contrairement Ã  %BAttention: %B utilise %s (dÃ©fini par %B), %B utilise Â«Â %sÂ Â»Attention: %B utilise %s (dÃ©fini par %B), %B utilise l'ABI MSA inconnue %dAttention: %B utilise %s (dÃ©fini par %B), %B utilise l'ABI virgule flottante inconnue %dAttention: %B utilise un double long 64 bits, %B utilise un double long de 128 bitsAttention: %B utilise l'ABI de vecteurs AltiVec, %B utilise l'ABI de vecteurs SPEAttention: %B utilise un double long IBM, %B utilise un double long IEEEAttention: %B utilise la virgule flottante double prÃ©cision matÃ©rielle, %B utilise la virgule flottante simple prÃ©cision matÃ©rielleAttention: %B utilise la virgule flottante matÃ©rielle, %B utilise la virgule flottante logicielleAttention: %B utilise r3/r4 pour les retours de petites structures, %B utilise la mÃ©moireAttention: %B utilise l'ABI MSA inconnue %d (dÃ©finie par %B), %B utilise %sAttention: %B utilise l'ABI MSA inconnue %d (dÃ©finie par %B), %B utilise l'ABI MSA inconnue %dAttention: %B utilise l'ABI virgule flottante inconnue %d (dÃ©finie par %B), %B utilise %sAttention: %B utilise l'ABI virgule flottante inconnue %d (dÃ©finie par %B), %B utilise l'ABI virgule flottante inconnue %dAttention: %B: Configuration de platforme conflictuelleAttention: %B: Configuration de platforme %s en conflit avec %s.
 Attention: %B: Attribut d'objet ARC %d inconnu.Attention: %B: Attribut d'objet EABI %d inconnuAttention: %B: Attribut d'objet MSPBI %d inconnuAttention: la taille de la section %s (%ld) n'est pas un multiple de %d
 Attention: la taille de la section %s (%ld) est plus petite que la taille virtuelle (%ld)
 Attention: la taille de la section %s est nulle
 Attention: mise Ã  zÃ©ro du fanion d'inter-rÃ©seautage %B en raison du code sans inter-rÃ©seautage dans %B liÃ© avec luiAttention: Mise Ã  zÃ©ro du fanion d'inter-rÃ©seautage de %B en raison d'une requÃªte externeAttention: Pas d'initialisation du fanion d'inter-rÃ©seautage de %B puisqu'il a dÃ©jÃ  Ã©tÃ© spÃ©cifiÃ© sans inter-rÃ©seautageAttention: RÃ©adressage RL78_SYM avec un symbole inconnuAttention: Relocalistaion RX_SYM avec un symbole inconnuAttention: alignement %u du symbole commun Â«Â %sÂ Â» dans %B est plus grand que l'alignement (%u) de sa section %AAttention: alignement %u du symbole Â«Â %sÂ Â» dans %B est plus petit que %u dans %BAttention: nombre de corrections en dÃ©saccord
-Attention: l'option de la section gc est ignorÃ©eAttention: taille du symbole Â«Â %sÂ Â» a changÃ© de %Lu dans %B Ã  %Lu dans %BAttention: taille du symbole Â«Â %sÂ Â» a changÃ© de %lu dans %B Ã  %lu dans %BAttention: le symbole Â«Â %sÂ Â» est Ã  la fois une section et une non-sectionAttention: type de symbole Â«Â %sÂ Â» a changÃ© de %d Ã  %d dans %BAttention: fanions d'architecture non dÃ©finis ou trop anciens. 
+Attention: l'option de la section gc est ignorÃ©eAttention: taille du symbole Â«Â %sÂ Â» a changÃ© de %Lu dans %B Ã  %Lu dans %BAttention: le symbole Â«Â %sÂ Â» est Ã  la fois une section et une non-sectionAttention: type de symbole Â«Â %sÂ Â» a changÃ© de %d Ã  %d dans %BAttention: fanions d'architecture non dÃ©finis ou trop anciens. 
            Utilise la machine par dÃ©faut.
 Attention: l'Ã©criture de l'archive Ã©tait lente: rÃ©Ã©criture du cachet de date-heure
 Ã‰criture du cachet date-heure armap mise Ã  jourl'adresse XGATE (%lx) n'est pas dans la mÃ©moire RAM partagÃ©e (0xE000-0xFFFF), par consÃ©quent, vous devez dÃ©caler l'adresse manuellement, et peut-Ãªtre gÃ©rer la page, dans votre code.[%u]: InfÃ©rieure: %u, supÃ©rieure: %u
-[abi=16-bit int, [abi=32-bit int, [dont le nom est perdu]\%B: Attention: instruction Arm BLX vise la fonction Arm Â«Â %sÂ Â»._bfd_vms_output_counted appelÃ© avec trop d'octets_bfd_vms_output_counted appelÃ© avec un compte de zÃ©ro octetÂ«Â %sÂ Â» fait rÃ©fÃ©rence Ã  quelque chose qui n'est pas une fonction d'entrÃ©e.adresseadresse pas alignÃ©e sur un motdescripteur de tableau:
+[abi=16-bit int, [abi=32-bit int, [dont le nom est perdu]_bfd_vms_output_counted appelÃ© avec trop d'octets_bfd_vms_output_counted appelÃ© avec un compte de zÃ©ro octetÂ«Â %sÂ Â» fait rÃ©fÃ©rence Ã  quelque chose qui n'est pas une fonction d'entrÃ©e.un objet PDEun objet PIEun objet partagÃ©adresseadresse pas alignÃ©e sur un motdescripteur de tableau:
 tableau, dim: %u, bitmpa: arsize: %u, a0: 0x%08x
 atomique, type=0x%02x %s
 index de section erronÃ©e dans %sbanque d'adresses [%lx:%04lx] (%lx) n'es pas dans la mÃªme banque que la banque courante d'adresses [%lx:%04lx] (%lx)base: %u, pos: %u
-bfd_mach_o_canonicalize_symtab: impossible de charger les symbolesbfd_mach_o_read_section_32: valeur d'alignement dÃ©mesurÃ©e: 0x%x, utilise 32 Ã  la placebfd_mach_o_read_section_64: valeur d'alignement dÃ©mesurÃ©e: 0x%x, utilise 32 Ã  la placebfd_mach_o_read_symtab_symbol: nom hors limites (%lu >= %lu)bfd_mach_o_read_symtab_symbol: le symbole Â«Â %sÂ Â» spÃ©cifie la section %d invalide (max %lu): laissÃ© non dÃ©finibfd_mach_o_read_symtab_symbol: symbole Â«Â %sÂ Â» spÃ©cifie le champ de type 0x%x invalide: laissÃ© non dÃ©finibfd_mach_o_read_symtab_symbol: impossible de lire %d octets Ã  %lubfd_mach_o_read_symtab_symbols: impossible d'allouer la mÃ©moire pour les symbolesbfd_mach_o_scan: architecture 0x%lx/0x%lx inconnuebfd_pef_scan: architecture 0x%lx inconnuedÃ©but blk: adresse: 0x%08x, nom: %.*s
+bfd_mach_o_canonicalize_symtab: impossible de charger les symbolesbfd_mach_o_read_section_32: valeur d'alignement dÃ©mesurÃ©e: %#lx, utilise 32 Ã  la placebfd_mach_o_read_section_64: valeur d'alignement dÃ©mesurÃ©e: %#lx, utilise 32 Ã  la placebfd_mach_o_read_symtab_symbol: nom hors limites (%lu >= %u)bfd_mach_o_read_symtab_symbol: le symbole Â«Â %sÂ Â» spÃ©cifie la section %d invalide (max %lu): laissÃ© non dÃ©finibfd_mach_o_read_symtab_symbol: symbole Â«Â %sÂ Â» spÃ©cifie le champ de type 0x%x invalide: laissÃ© non dÃ©finibfd_mach_o_read_symtab_symbol: impossible de lire %d octets Ã  %ubfd_mach_o_read_symtab_symbols: impossible d'allouer la mÃ©moire pour les symbolesbfd_mach_o_scan: architecture 0x%lx/0x%lx inconnuebfd_pef_scan: architecture 0x%lx inconnuedÃ©but blk: adresse: 0x%08x, nom: %.*s
 fin blk: taille: 0x%08x
 ne peut crÃ©er l'entrÃ©e d'Ã©bauche %simpossible d'Ã©diter les rÃ©adressages dynamiques dans une section en lecture seuleimpossible d'apporter des corrections dans une section en lecture seuleimpossible de trouver le EMH dans le premier enregistrement GST
 ne peut traiter le rÃ©adressage R_MEM_INDIRECT lorsque %s est utilisÃ© en sortiene peut lire DMT
@@ -1360,13 +1369,13 @@ est un systÃ¨me Ã  octets de poids fort
 Ã©numÃ©ration Ã©lÃ©ments, nom: %.*s
 fin Ã©numÃ©ration
 Ã©pilogue: fanions: %u, nombre: %u
-erreur lors de la lecture du type de CPU dans les donnÃ©es elf privÃ©eserreur: %B contient un rÃ©adressage (%#Lx) pour la section %A qui fait rÃ©fÃ©rence Ã  un symbole global inexistanterreur: %B n'utilise pas les instructions Maverick alors que %B les utiliseerreur: %B est dÃ©jÃ  au format final BE8erreur: %B compilÃ© avec du code Ã  position absolu alors que la cible %B est Ã  position indÃ©pendanteerreur: %B compilÃ© avec du code Ã  position indÃ©pendante alors que la cible %B est Ã  position absolueerreur: %B compilÃ© pour APCS-%d alors que %B a Ã©tÃ© compilÃ© pour APCS-%derreur: %B compilÃ© pour APCS-%d alors que la cible %B utilise APCS-%derreur: %B compilÃ© pour EP9312 alors que %B a Ã©tÃ© compilÃ© pour XScaleerreur: %B a besoin d'un alignement sur 8 octets mais %B est dÃ©fini pour un alignement sur 4 octetserreur: %B passage de valeurs en virgule flottante dans les registres FP alors que %B les passe dans les registres entierserreur: %B passage de valeurs en virgule flottante dans les registres entiers alors que %B les passe dans les registres FPerreur: %B nÃ©cessite un plus grand alignement de tableau que ce que %B prÃ©serveerreur: %B nÃ©cessite un plus grand alignement de pile que ce que %B prÃ©serveerreur: %B utilise les instructions %s alors que %B utilise %serreur: %B utilise des doubles 64 bits alors que %B utilise des doubles 32 bitserreur: %B utilise les instructions FPA alors que %B ne les utilise paserreur: %B utilise FPU-3.0 mais %B ne supporte que FPU-2.0erreur: %B utilise les instructions Maverick alors que %B ne les utilise paserreur: %B utilise les instructions VFP alors que %B ne les utilise paserreur: %B passe les paramÃ¨tres dans un registre VFP alors que %B ne le fait paserreur: %B utilise le matÃ©riel pour virgule flottante alors que %B utilise le logiciel pour virgule flottanteerreur: %B passe les paramÃ¨tres dans le registre iWMMXt contrairement Ã  %Berreur: %B utilise le logiciel pour virgule flottante alors que %B utilise le matÃ©riel pour virgule flottanteerreur: %B utilise le modÃ¨le de code %s alors que %B utilise le modÃ¨le de code %serreur: %B utilise le modÃ¨le de donnÃ©es %s alors que %B utilise uniquement des instructions MSP430erreur: %B utilise le modÃ¨le de donnÃ©es %s alors que %B utilise le modÃ¨le de donnÃ©es %serreur: %B utilise le grand modÃ¨le de code alors que %B utilise les instructions MSP430erreur: %B utilise le petit modÃ¨le de code alors que %B utilise le modÃ¨le de donnÃ©es %serreur: %B(%A) est trop grand (%#lx octets)erreur: %B: <la taille nÃ©cessaire pour l'ISA x86 est corrompue: 0x%x>erreur: %B: <la taille utilisÃ©e par l'ISA x86 est corrompue: 0x%x>erreur: %B: <la taille des fonctionnalitÃ©s x86 est corrompue: 0x%x>erreur: %B: R2 gros boutiste n'est pas supportÃ©.erreur: %B: Architectures CPU conflictuelles %d/%derreur: %B: Profils d'architecture conflictuels %c/%cerreur: %B: Utilisation conflictuelle de R9erreur: %B: L'objet a un contenu spÃ©cific Ã  un vendeur qui doit Ãªtre traitÃ© par la chaÃ®ne d'outils Â«Â %sÂ Â»erreur: %B: Ã‰tiquette d'objet Â«Â %d, %sÂ Â» incompatible avec l'Ã©tiquette Â«Â %d, %sÂ Â»erreur: %B: Adressage relatif SB entre en conflit avec l'utilisation de R9erreur: %B: Architecture CPU inconnueerreur: %B: impossible de mÃ©langer rf16 avec l'ensemble des registres complets %B.
+erreur lors de la lecture du type de CPU dans les donnÃ©es elf privÃ©eserreur: %B contient un rÃ©adressage (%#Lx) pour la section %A qui fait rÃ©fÃ©rence Ã  un symbole global inexistanterreur: %B n'utilise pas les instructions Maverick alors que %B les utiliseerreur: %B est dÃ©jÃ  au format final BE8erreur: %B compilÃ© avec du code Ã  position absolu alors que la cible %B est Ã  position indÃ©pendanteerreur: %B compilÃ© avec du code Ã  position indÃ©pendante alors que la cible %B est Ã  position absolueerreur: %B compilÃ© pour APCS-%d alors que %B a Ã©tÃ© compilÃ© pour APCS-%derreur: %B compilÃ© pour APCS-%d alors que la cible %B utilise APCS-%derreur: %B compilÃ© pour EP9312 alors que %B a Ã©tÃ© compilÃ© pour XScaleerreur: %B a besoin d'un alignement sur 8 octets mais %B est dÃ©fini pour un alignement sur 4 octetserreur: %B passage de valeurs en virgule flottante dans les registres FP alors que %B les passe dans les registres entierserreur: %B passage de valeurs en virgule flottante dans les registres entiers alors que %B les passe dans les registres FPerreur: %B nÃ©cessite un plus grand alignement de tableau que ce que %B prÃ©serveerreur: %B nÃ©cessite un plus grand alignement de pile que ce que %B prÃ©serveerreur: %B utilise les instructions %s alors que %B utilise %serreur: %B utilise des doubles 64 bits alors que %B utilise des doubles 32 bitserreur: %B utilise les instructions FPA alors que %B ne les utilise paserreur: %B utilise FPU-3.0 mais %B ne supporte que FPU-2.0erreur: %B utilise les instructions Maverick alors que %B ne les utilise paserreur: %B utilise les instructions VFP alors que %B ne les utilise paserreur: %B passe les paramÃ¨tres dans un registre VFP alors que %B ne le fait paserreur: %B utilise le matÃ©riel pour virgule flottante alors que %B utilise le logiciel pour virgule flottanteerreur: %B passe les paramÃ¨tres dans le registre iWMMXt contrairement Ã  %Berreur: %B utilise le logiciel pour virgule flottante alors que %B utilise le matÃ©riel pour virgule flottanteerreur: %B utilise le modÃ¨le de code %s alors que %B utilise le modÃ¨le de code %serreur: %B utilise le modÃ¨le de donnÃ©es %s alors que %B utilise uniquement des instructions MSP430erreur: %B utilise le modÃ¨le de donnÃ©es %s alors que %B utilise le modÃ¨le de donnÃ©es %serreur: %B utilise le grand modÃ¨le de code alors que %B utilise les instructions MSP430erreur: %B utilise le petit modÃ¨le de code alors que %B utilise le modÃ¨le de donnÃ©es %serreur: %B(%A) est trop grand (%#Lx octets)erreur: %B: <la taille nÃ©cessaire pour l'ISA x86 est corrompue: 0x%x>erreur: %B: <la taille utilisÃ©e par l'ISA x86 est corrompue: 0x%x>erreur: %B: <la taille des fonctionnalitÃ©s x86 est corrompue: 0x%x>erreur: %B: R2 gros boutiste n'est pas supportÃ©.erreur: %B: Architectures CPU conflictuelles %d/%derreur: %B: Profils d'architecture conflictuels %c/%cerreur: %B: Utilisation conflictuelle de R9erreur: %B: L'objet a un contenu spÃ©cific Ã  un vendeur qui doit Ãªtre traitÃ© par la chaÃ®ne d'outils Â«Â %sÂ Â»erreur: %B: Ã‰tiquette d'objet Â«Â %d, %sÂ Â» incompatible avec l'Ã©tiquette Â«Â %d, %sÂ Â»erreur: %B: Adressage relatif SB entre en conflit avec l'utilisation de R9erreur: %B: Architecture CPU inconnueerreur: %B: impossible de mÃ©langer rf16 avec l'ensemble des registres complets %B.
 erreur: %B: attributs d'extension ISA %s en conflit avec %s.
 erreur: %B: attributs %s conflictuels.
 erreur: %B: attributs %s conflictuels: %s avec %s.
 erreur: %B: le rÃ©adressage de la section %A n'est pas un multiple de la taille des adresseserreur: %B: impossible de fusionner les attributs de base CPU %s avec %s.
 erreur: %B: impossible de fusionner les attributs de l'extension ISA %s.
-erreur: %B: impossible de fusionner les attributs de visualisation avec %Berreur: Le symbole ne peut Ãªtre trouvÃ©: _SDA_BASE_.erreur: erreur de rÃ©adressage IFC.erreur: Saut IFC a Ã©chouÃ©.erreur: L'objet source %B a l'EABI version %d alors que la cible %B a l'EABI version %derreur: dÃ©saccord de format fp16 entre %B et %Berreur: type de rÃ©adressage inappropriÃ© pour une librairie partagÃ©e (avez-vous oubliÃ© -fpic ?)erreur: symbole __rtinit non dÃ©finierreur: valeur Tag_ABI_array_object_align_expected inconnue dans %Berreur: valeur Tag_ABI_array_object_alignment inconnue dans %BexÃ©cutableÃ©chec d'allocation d'espace pour une nouvelle section APUinfoÃ©chec d'Ã©valuation de la nouvelle section APUinfoÃ©chec d'installation de la nouvelle section APUinfoerreur fatale lors de la crÃ©ation de .fixupliaison gÃ©nÃ©rique ne peut traiter %sadresse relative du pointeur global hors limitesrÃ©adressage relatif au pointeur global Ã  l'adresse 0x%08x sans que _gp ne soit dÃ©fini
+erreur: %B: impossible de fusionner les attributs de visualisation avec %Berreur: Le symbole ne peut Ãªtre trouvÃ©: _SDA_BASE_.erreur: erreur de rÃ©adressage IFC.erreur: Saut IFC a Ã©chouÃ©.erreur: L'objet source %B a l'EABI version %d alors que la cible %B a l'EABI version %derreur: dÃ©saccord de format fp16 entre %B et %Berreur: type de rÃ©adressage inappropriÃ© pour une librairie partagÃ©e (avez-vous oubliÃ© -fpic ?)erreur: symbole __rtinit non dÃ©finierreur: valeur Tag_ABI_array_object_align_expected inconnue dans %Berreur: valeur Tag_ABI_array_object_alignment inconnue dans %BexÃ©cutableÃ©chec de la crÃ©ation de la table de hachage ex9.it %sÃ©chec d'allocation d'espace pour une nouvelle section APUinfoÃ©chec d'Ã©valuation de la nouvelle section APUinfoÃ©chec d'installation de la nouvelle section APUinfoerreur fatale lors de la crÃ©ation de .fixupliaison gÃ©nÃ©rique ne peut traiter %sadresse relative du pointeur global hors limitesrÃ©adressage relatif au pointeur global Ã  l'adresse 0x%08x sans que _gp ne soit dÃ©fini
 rÃ©adressage relatif au pointeur global sans que _gp ne soit dÃ©finisymbole cachÃ©symbole cachÃ© rÃ©adressage %s ignorÃ©
 incr_linum(b): +%u
 incr_linum_l: +%u
@@ -1376,16 +1385,11 @@ est un systÃ¨me Ã  octets de poids fort
  Veuillez utiliser le programme objcopy pour convertir de ELF ou mmo,
  ou assembler en utilisant Â«Â -no-expandÂ Â» (pour gcc, Â«Â -Wa,-no-expandÂ Â»rÃ©adressage d'entrÃ©e invalide en produisant un format de sortie non ELF et non mmo.
  Veuillez utiliser le programme objcopy pour convertir de ELF ou mmo,
- ou compiler en utilisant l'option gcc Â«Â -mno-base-addressesÂ Â».adresse de rÃ©adressage incorrectetype de rÃ©adressage %d invalideutilisation incorrecte de %s avec des contextesliaison ip2k: instruction de page manquante Ã  0x%08lx (cible = 0x%08lx).liaison ip2k: instruction de page redondante Ã  0x%08lx (cible = 0x%08lx).relÃ¢che ip2k: en-tÃªte de table de commutation corrompuerelÃ¢che ip2k: table de commutation sans concordance complÃ¨te des informations de rÃ©adressageÃ©tiquette, nom: %.*s
+ ou compiler en utilisant l'option gcc Â«Â -mno-base-addressesÂ Â».adresse de rÃ©adressage incorrectetype de rÃ©adressage %d invalideutilisation incorrecte de %s avec des contextesÃ©diteur de liens ip2k: instruction de page manquante Ã  %#Lx (cible = %#Lx).Ã©diteur de liens ip2k: instruction de page redondante Ã  %#Lx (cible = %#Lx).relÃ¢che ip2k: en-tÃªte de table de commutation corrompuerelÃ¢che ip2k: table de commutation sans concordance complÃ¨te des informations de rÃ©adressageÃ©tiquette, nom: %.*s
 long: %2u, type: %2u num ligne  (long: %u)
-image liableÃ©diteur de liens des Ã©bauches dans %u groupe%s
-  branchements         %lu
-  ajustements toc      %lu
-  long branchements    %lu
-  long ajustements toc %lu
-  appels plt           %lu
-  appels plt toc       %lu
-  entrÃ©es globales     %lulitÃ©ralerÃ©adressage littÃ©ral rencontrÃ© pour un symbole externemach-o: il y a trop de sections (%u) le maximum est 255,
+image liableÃ©bauches de l'Ã©diteur de liens dans %u groupe
+Ã©bauches de l'Ã©diteur de liens dans %u groupes
+litÃ©ralerÃ©adressage littÃ©ral rencontrÃ© pour un symbole externemach-o: il y a trop de sections (%u) le maximum est 255,
 mep: pas de rÃ©adressage pour le code %ddÃ©but module
 fin module
 nom: [val: %08lx long %d]: natifune ou plusieurs nouvelles fonctions d'entrÃ©e spÃ©cifiÃ©es mais aucune bibliothÃ¨que d'import est spÃ©cifiÃ©e:nontable de %s non contiguÃ«
@@ -1399,7 +1403,7 @@ est un systÃ¨me Ã  octets de poids fort
 rÃ©fÃ©rence Ã  une banque d'adresses [%lx:%04lx] dans l'espace normal d'adresses Ã  %04lxregle rÃ©adressage (%d) est *INCONNU*rÃ©adressage Â«Â %sÂ Â» pas encore implÃ©mentÃ©rÃ©adressage hors limitele rÃ©adressage fait rÃ©fÃ©rence Ã  un symbole non dÃ©fini dans le modulele rÃ©adressage exige un opÃ©rande nulle rÃ©adressage devrait Ãªtre un nombre paireles rÃ©adressages entre segments diffÃ©rents ne sont pas supportÃ©srÃ©ouverture de %B: %s
 commande %d rÃ©servÃ©edÃ©but rtn
 fin rtn: taille 0x%08x
-adresse de section (%lx) en deÃ§Ã  du dÃ©but du segment (%lx)septyp, nom: %.*s
+adresse de section (%#Lx) en deÃ§Ã  du dÃ©but du segment (%#Lx)septyp, nom: %.*s
 set_abs_pc: 0x%08x
 set_line_num(w) %u
 set_line_num_b %u
@@ -1407,16 +1411,16 @@ est un systÃ¨me Ã  octets de poids fort
 objet partagÃ©la taille des petites donnÃ©es de la section dÃ©passe 64KB; abaissez la limite de taille des petites donnÃ©es (voyez l'option -G)som_sizeof_headers non implÃ©mentÃ©dÃ©solÃ©, pas de support des fichiers objet dupliquÃ©s dans un script auto-overlay
 dÃ©solÃ©: modtab, toc et extrefsyms ne sont pas encore implÃ©mentÃ©s pour les commandes dysymtab.source (long: %u)
 donnÃ©es standards: %s
-procÃ©dure statique (sans name)entrÃ©e de l'Ã©bauche pour %s ne peut charger .plt, dÃ©calage dp = %ldtaille des Ã©bauches ne concorde pas avec la taille calculÃ©esymbolesymbole information sur table de version systÃ¨me:
+procÃ©dure statique (sans name)l'entrÃ©e de l'Ã©bauche pour %s ne peut charger .plt, dÃ©calage dp = %Ldtaille des Ã©bauches ne concorde pas avec la taille calculÃ©esymbolesymbole information sur table de version systÃ¨me:
 term(b): 0x%02xterm_w: 0x%04xla cible bfin ne supporte actuellement pas la gÃ©nÃ©ration de rÃ©adressages copiÃ©sspec de type pour Ã©lÃ©ment:
 spec de type pour l'indice %u:
 pointeur typÃ©
 typspec (long: %u)
-impossible d'allouer les donnÃ©es pour la commande de chargement 0x%lxincapable de repÃ©rer le liant ARM Â«Â %sÂ Â» pour Â«Â %sÂ Â»incapable de repÃ©rer le REPÃˆRE de liant Â«Â %sÂ Â» pour Â«Â %sÂ Â»impossible de disposer la commande de chargement inconnue 0x%lxincapable de lire dans la section %s Ã  partir de %Bimpossible d'Ã©crire la commande de chargement inconnue 0x%lxchaine de bits de %s dÃ©salignÃ©e
+impossible d'allouer les donnÃ©es pour la commande de chargement %#xincapable de repÃ©rer le liant ARM Â«Â %sÂ Â» pour Â«Â %sÂ Â»incapable de repÃ©rer le REPÃˆRE de liant Â«Â %sÂ Â» pour Â«Â %sÂ Â»impossible de disposer la commande de chargement inconnue %#xincapable de lire dans la section %s Ã  partir de %Bimpossible d'Ã©crire la commande de chargement inconnue %#xchaine de bits de %s dÃ©salignÃ©e
 convention d'appel incertaine pour un symbole non COFFnon dÃ©fini rÃ©fÃ©rence %s non dÃ©finie dans le symbole complexe: %stype d'entrÃ©e egsd %u non supportÃ©
 sous-type emh %u non pris en charge
-inconnucommande ETIR %d inconnueerreur inconnuevaleur d'ordre des octets de l'en-tÃªte 0x%lx est inconnuecommande de ligne %d inconnueopÃ©rateur Â«Â %cÂ Â» inconnu dans le symbole complexecommande source %d inconnuearchitecture v850 inconnueinconnu: %xtype de rÃ©adressage MIPS non reconnu: %dRÃ©adressage non reconnu (0x%x)commande STA %s non supportÃ©erÃ©adressage non supportÃ©etype de rÃ©adressage non supportÃ©rÃ©adressage non supportÃ©rÃ©adressage non supportÃ© entre les espaces d'adresses data/insnutilisation de valeurs gp multiplesarchitecture v850 E3architecture v850architecture v850earchitecture v850e1architecture v850e2architecture v850e2v3architecture v850e3v5vflags: 0x%02x, valeur: 0x%08x  vma:			Adresse DÃ©but	 Adresse Fin	  Unwind Info
-attention: %B et %B on des tailles de wchar_t diffÃ©rentesattention: %B et %B ne sont pas d'accord sur la compilation du code pour DSBTattention: %B a un index de table de chaÃ®nes corrompu - ignorÃ©attantion: %B utilise des enums %s alors que la sortie doit utiliser des enums %s. L'utilisation des valeurs enum entre objets peu Ã©chouerattention: %B utilise des wchar_t de %u octets alors que la sortie doit utiliser des wchar_t de %u octets. L'utilisation de wchar_t entre objets peu Ã©chouerattention: %B: taille de GNU_PROPERTY_TYPE (%ld) corrompue: %#lxattention: %1$B: datasz du type (0x%3$x) GNU_PROPERTY_TYPE (%2$ld) corrompu: 0x%4$xattention: %B: taille de Â«Â no copy on protectedÂ Â» corrompue: 0x%xattention: %B: taille de pille corrompue: 0x%xattention: %B: symbole local Â«Â %sÂ Â» n'a pas de sectionattention: %B: type GNU_PROPERTY_TYPE (%ld) non supportÃ©: 0x%xattention: %s dÃ©passe la taille de la section
+inconnucommande ETIR %d inconnueerreur inconnuela valeur d'ordre des octets de l'en-tÃªte %#x est inconnuecommande de ligne %d inconnueopÃ©rateur Â«Â %cÂ Â» inconnu dans le symbole complexecommande source %d inconnuearchitecture v850 inconnueinconnu: %xtype de rÃ©adressage MIPS non reconnu: %dRÃ©adressage non reconnu (0x%x)commande STA %s non supportÃ©erÃ©adressage non supportÃ©etype de rÃ©adressage non supportÃ©rÃ©adressage non supportÃ©rÃ©adressage non supportÃ© entre les espaces d'adresses data/insnutilisation de valeurs gp multiplesarchitecture v850 E3architecture v850architecture v850earchitecture v850e1architecture v850e2architecture v850e2v3architecture v850e3v5vflags: 0x%02x, valeur: 0x%08x  vma:			Adresse DÃ©but	 Adresse Fin	  Unwind Info
+attention: %B et %B on des tailles de wchar_t diffÃ©rentesattention: %B et %B ne sont pas d'accord sur la compilation du code pour DSBTattention: %B a un index de table de chaÃ®nes corrompu - ignorÃ©attention: %B est tronquÃ©: taille attendue du cÅ“ur du fichier >= %Lu, obtenu: %lluattention: %B utilise des enums %s alors que la sortie doit utiliser des enums %s. L'utilisation des valeurs enum entre objets peu Ã©chouerattention: %B utilise des wchar_t de %u octets alors que la sortie doit utiliser des wchar_t de %u octets. L'utilisation de wchar_t entre objets peu Ã©chouerattention: %B: taille de GNU_PROPERTY_TYPE (%ld) corrompue: %#lxattention: %1$B: datasz du type (0x%3$x) GNU_PROPERTY_TYPE (%2$ld) corrompu: 0x%4$xattention: %B: taille de Â«Â no copy on protectedÂ Â» corrompue: 0x%xattention: %B: taille de pille corrompue: 0x%xattention: %B: symbole local Â«Â %sÂ Â» n'a pas de sectionattention: %B: type GNU_PROPERTY_TYPE (%ld) non supportÃ©: 0x%xattention: %s dÃ©passe la taille de la section
 attention: %s recouvre %s
-attention: section %s a une taille nulleattention: tentative d'exportation d'un symbole non dÃ©fini Â«Â %sÂ Â»attention: appel au symbole %s dÃ©fini dans %B qui n'est pas une fonctionattention: production d'une librairie partagÃ©e contenant du code non-PICattention: production d'une librairie partagÃ©e contenant du code non-PIDattention: rÃ©adressage fait rÃ©fÃ©rence Ã  un segment diffÃ©rentattention: section Â«Â %sÂ Â» changÃ© en une noteattention: type de la section Â«Â %AÂ Â» changÃ© en PROGBITSattention: type et taille du symbole dynamique Â«Â %sÂ Â» ne sont pas dÃ©finisattention: incapable d'initialiser la taille de la section %s dans %Battention: incapable de mettre Ã  jour le contenu de la section %s dans %BAttention: Ã©criture de la section Â«Â %AÂ Â» vers un Ã©norme dÃ©calage (c-Ã -d nÃ©gatif) dans le fichier 0x%lx.attention: section xdata corrompueattention: section xdata corrompue
+attention: section %s a une taille nulleattention: tentative d'exportation d'un symbole non dÃ©fini Â«Â %sÂ Â»attention: appel au symbole %s dÃ©fini dans %B qui n'est pas une fonctionattention: abandon de la section dynamique %sattention: production d'une librairie partagÃ©e contenant du code non-PICattention: production d'une librairie partagÃ©e contenant du code non-PIDattention: rÃ©adressage fait rÃ©fÃ©rence Ã  un segment diffÃ©rentattention: section Â«Â %sÂ Â» changÃ© en une noteattention: type de la section Â«Â %AÂ Â» changÃ© en PROGBITSattention: type et taille du symbole dynamique Â«Â %sÂ Â» ne sont pas dÃ©finisattention: incapable d'initialiser la taille de la section %s dans %Battention: incapable de mettre Ã  jour le contenu de la section %s dans %Battention: Ã©criture de la section Â«Â %AÂ Â» vers un Ã©norme dÃ©calage (c-Ã -d nÃ©gatif) dans le fichierattention: section xdata corrompueattention: section xdata corrompue
 ouivous ne pouvez pas dÃ©finir %s dans un script
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/fr.po ./bfd/po/fr.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/fr.po	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/po/fr.po	2018-07-10 02:06:11.000000000 +0000
@@ -1,14 +1,14 @@
 # Messages franÃ§ais pour GNU concernant bfd.
-# Copyright (C) 2017 Free Software Foundation, Inc.
+# Copyright (C) 2018 Free Software Foundation, Inc.
 # This file is distributed under the same license as the binutils package.
 # Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
-# FrÃ©dÃ©ric Marchal <fmarchal@perso.be>, 2017.
+# FrÃ©dÃ©ric Marchal <fmarchal@perso.be>, 2018.
 msgid ""
 msgstr ""
-"Project-Id-Version: bfd-2.28.90\n"
+"Project-Id-Version: bfd-2.30.0\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2017-07-03 16:54+0200\n"
-"PO-Revision-Date: 2017-07-23 16:42+0200\n"
+"POT-Creation-Date: 2018-01-13 13:44+0000\n"
+"PO-Revision-Date: 2018-01-18 20:37+0100\n"
 "Last-Translator: FrÃ©dÃ©ric Marchal <fmarchal@perso.be>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -38,46 +38,46 @@ msgstr "%B: Type de rÃ©adressage importÃ
 msgid "%B: Bad relocation record imported: %d"
 msgstr "%B: Mauvais enregistrement de rÃ©adressage importÃ©: %d"
 
-#: aoutx.h:1284 aoutx.h:1621 pdp11.c:1152 pdp11.c:1413
+#: aoutx.h:1284 aoutx.h:1636 pdp11.c:1152 pdp11.c:1413
 #, c-format
 msgid "%B: can not represent section `%A' in a.out object file format"
 msgstr "%B: ne peut reprÃ©senter la section Â«Â %AÂ Â» dans le fichier format objet a.out"
 
-#: aoutx.h:1585 pdp11.c:1385
+#: aoutx.h:1600 pdp11.c:1385
 #, c-format
 msgid "%B: can not represent section for symbol `%s' in a.out object file format"
 msgstr "%B: ne peut reprÃ©senter la section pour le symbole Â«Â %sÂ Â» dans le fichier format objet a.out"
 
-#: aoutx.h:1588 vms-alpha.c:7776
+#: aoutx.h:1603 vms-alpha.c:7853
 msgid "*unknown*"
 msgstr "*inconnu*"
 
-#: aoutx.h:2407 aoutx.h:2425
+#: aoutx.h:2422 aoutx.h:2440
 msgid "%B: attempt to write out unknown reloc type"
 msgstr "%B: tentative d'Ã©crire un type de rÃ©adressage inconnu"
 
-#: aoutx.h:4077 aoutx.h:4398
+#: aoutx.h:4093 aoutx.h:4414
 msgid "%P: %B: unexpected relocation type\n"
 msgstr "%P: %B: type de rÃ©adressage non supportÃ©\n"
 
-#: aoutx.h:5424 pdp11.c:3708
+#: aoutx.h:5440 pdp11.c:3708
 #, c-format
 msgid "%B: relocatable link from %s to %s not supported"
 msgstr "%B: lien relocalisable de %s vers %s n'est pas supportÃ©"
 
-#: archive.c:2293
+#: archive.c:2305
 msgid "Warning: writing archive was slow: rewriting timestamp\n"
 msgstr "Attention: l'Ã©criture de l'archive Ã©tait lente: rÃ©Ã©criture du cachet de date-heure\n"
 
-#: archive.c:2405 linker.c:1408
+#: archive.c:2421 linker.c:1410
 msgid "%B: plugin needed to handle lto object"
 msgstr "%B: le greffon doit gÃ©rer l'objet lto"
 
-#: archive.c:2634
+#: archive.c:2650
 msgid "Reading archive file mod timestamp"
 msgstr "Lecture du cachet date-heure modifiÃ© du fichier d'archive"
 
-#: archive.c:2658
+#: archive.c:2674
 msgid "Writing updated armap timestamp"
 msgstr "Ã‰criture du cachet date-heure armap mise Ã  jour"
 
@@ -170,22 +170,22 @@ msgstr "Erreur lors de la lecture de %s:
 msgid "#<Invalid error code>"
 msgstr "#<Code d'erreur invalide>"
 
-#: bfd.c:1138
+#: bfd.c:1442
 #, c-format
 msgid "BFD %s assertion fail %s:%d"
 msgstr "BFD assertion %s a Ã©chouÃ© %s:%d"
 
-#: bfd.c:1151
+#: bfd.c:1455
 #, c-format
 msgid "BFD %s internal error, aborting at %s:%d in %s\n"
 msgstr "BFD erreur interne %s, abandon Ã  %s:%d dans %s\n"
 
-#: bfd.c:1156
+#: bfd.c:1460
 #, c-format
 msgid "BFD %s internal error, aborting at %s:%d\n"
 msgstr "BFD erreur interne %s, abandon Ã  %s:%d\n"
 
-#: bfd.c:1158
+#: bfd.c:1462
 msgid "Please report this bug.\n"
 msgstr "Merci de rapporter cette anomalie.\n"
 
@@ -201,11 +201,11 @@ msgstr "pas de table de projection: vari
 
 #: binary.c:276
 #, c-format
-msgid "warning: writing section `%A' at huge (ie negative) file offset 0x%lx."
-msgstr "Attention: Ã©criture de la section Â«Â %AÂ Â» vers un Ã©norme dÃ©calage (c-Ã -d nÃ©gatif) dans le fichier 0x%lx."
+msgid "warning: writing section `%A' at huge (ie negative) file offset"
+msgstr "attention: Ã©criture de la section Â«Â %AÂ Â» vers un Ã©norme dÃ©calage (c-Ã -d nÃ©gatif) dans le fichier"
 
-#: bout.c:1142 elf-m10300.c:2651 elf32-avr.c:2484 elf32-frv.c:5633
-#: elf64-ia64-vms.c:353 elfxx-sparc.c:2989 reloc.c:8017 reloc16.c:156
+#: bout.c:1142 elf-m10300.c:2647 elf32-avr.c:2484 elf32-frv.c:5633
+#: elf64-ia64-vms.c:353 elfxx-sparc.c:2817 reloc.c:8059 reloc16.c:156
 #: elf32-ia64.c:351 elf64-ia64.c:351
 msgid "%P%F: --relax and -r may not be used together\n"
 msgstr "%P%F: --relax et -r ne peuvent pas Ãªtre utilisÃ©s en mÃªme temps\n"
@@ -227,7 +227,7 @@ msgstr ""
 msgid "%B: unknown/unsupported relocation type %d"
 msgstr "%B: type de rÃ©adressage %d inconnu ou non supportÃ©"
 
-#: coff-alpha.c:851 coff-alpha.c:888 coff-alpha.c:1961 coff-mips.c:944
+#: coff-alpha.c:851 coff-alpha.c:888 coff-alpha.c:1961 coff-mips.c:950
 msgid "GP relative relocation used when GP not defined"
 msgstr "RÃ©adressage relatif GP utilisÃ© alors que GP n'est pas dÃ©fini"
 
@@ -243,24 +243,24 @@ msgstr "%B: type de rÃ©adressage non sup
 msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
 msgstr "%B: type de rÃ©adressage non supportÃ©: ALPHA_R_GPRELLOW"
 
-#: coff-alpha.c:1518 elf32-i370.c:1085 elf32-m32r.c:2418
-#: elf32-microblaze.c:952 elf64-alpha.c:4167 elf64-alpha.c:4315
-#: elf64-ia64-vms.c:3431 elf32-ia64.c:3839 elf64-ia64.c:3839
+#: coff-alpha.c:1518 elf32-i370.c:1081 elf32-m32r.c:2404
+#: elf32-microblaze.c:932 elf64-alpha.c:4098 elf64-alpha.c:4246
+#: elf64-ia64-vms.c:3430 elf32-ia64.c:3847 elf64-ia64.c:3847
 #, c-format
 msgid "%B: unknown relocation type %d"
 msgstr "%B: type de rÃ©adressage %d inconnu"
 
-#: coff-arm.c:1032
+#: coff-arm.c:1037
 #, c-format
 msgid "%B: unable to find THUMB glue '%s' for `%s'"
 msgstr "%B: incapable de repÃ©rer le REPÃˆRE de liant Â«Â %sÂ Â» pour Â«Â %sÂ Â»"
 
-#: coff-arm.c:1061
+#: coff-arm.c:1066
 #, c-format
 msgid "%B: unable to find ARM glue '%s' for `%s'"
 msgstr "%B: incapable de repÃ©rer le liant ARM Â«Â %sÂ Â» pour Â«Â %sÂ Â»"
 
-#: coff-arm.c:1363 elf32-arm.c:8896
+#: coff-arm.c:1368 elf32-arm.c:8896
 #, c-format
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
@@ -269,7 +269,7 @@ msgstr ""
 "%B(%s): attention: l'inter-rÃ©seautage n'est pas activÃ©.\n"
 "  premiÃ¨re occurrence: %B: appel arm au repÃ¨re"
 
-#: coff-arm.c:1453
+#: coff-arm.c:1458
 #, c-format
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
@@ -280,100 +280,100 @@ msgstr ""
 "  premiÃ¨re occurrence: %B: appel arm au repÃ¨re\n"
 "  reliez avec --support-old-code activÃ©"
 
-#: coff-arm.c:1746 coff-tic80.c:670 cofflink.c:3123
+#: coff-arm.c:1751 coff-tic80.c:672 cofflink.c:3127
 #, c-format
-msgid "%B: bad reloc address 0x%lx in section `%A'"
-msgstr "%B: mauvaise adresse de rÃ©adressage 0x%lx dans la section Â«Â %AÂ Â»"
+msgid "%B: bad reloc address %#Lx in section `%A'"
+msgstr "%B: mauvaise adresse de rÃ©adressage %#Lx dans la section Â«Â %AÂ Â»"
 
-#: coff-arm.c:2071
+#: coff-arm.c:2076
 #, c-format
-msgid "%B: illegal symbol index in reloc: %d"
-msgstr "%B: symbole index illÃ©gal dans le rÃ©adressage: %d"
+msgid "%B: illegal symbol index in reloc: %ld"
+msgstr "%B: symbole index illÃ©gal dans le rÃ©adressage: %ld"
 
-#: coff-arm.c:2203
+#: coff-arm.c:2208
 #, c-format
 msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
 msgstr "erreur: %B compilÃ© pour APCS-%d alors que %B a Ã©tÃ© compilÃ© pour APCS-%d"
 
-#: coff-arm.c:2216 elf32-arm.c:19756
+#: coff-arm.c:2221 elf32-arm.c:19582
 #, c-format
 msgid "error: %B passes floats in float registers, whereas %B passes them in integer registers"
 msgstr "erreur: %B passage de valeurs en virgule flottante dans les registres FP alors que %B les passe dans les registres entiers"
 
-#: coff-arm.c:2221 elf32-arm.c:19760
+#: coff-arm.c:2226 elf32-arm.c:19586
 #, c-format
 msgid "error: %B passes floats in integer registers, whereas %B passes them in float registers"
 msgstr "erreur: %B passage de valeurs en virgule flottante dans les registres entiers alors que %B les passe dans les registres FP"
 
-#: coff-arm.c:2233
+#: coff-arm.c:2238
 #, c-format
 msgid "error: %B is compiled as position independent code, whereas target %B is absolute position"
 msgstr "erreur: %B compilÃ© avec du code Ã  position indÃ©pendante alors que la cible %B est Ã  position absolue"
 
-#: coff-arm.c:2238
+#: coff-arm.c:2243
 #, c-format
 msgid "error: %B is compiled as absolute position code, whereas target %B is position independent"
 msgstr "erreur: %B compilÃ© avec du code Ã  position absolu alors que la cible %B est Ã  position indÃ©pendante"
 
-#: coff-arm.c:2265 elf32-arm.c:19825
+#: coff-arm.c:2270 elf32-arm.c:19651
 #, c-format
 msgid "Warning: %B supports interworking, whereas %B does not"
 msgstr "Attention: %B supporte l'inter-rÃ©seautage, contrairement Ã  %B"
 
-#: coff-arm.c:2270 elf32-arm.c:19831
+#: coff-arm.c:2275 elf32-arm.c:19657
 #, c-format
 msgid "Warning: %B does not support interworking, whereas %B does"
 msgstr "Attention: %B ne supporte pas l'inter-rÃ©seautage, contrairement Ã  %B"
 
-#: coff-arm.c:2293
+#: coff-arm.c:2298
 #, c-format
 msgid "private flags = %x:"
 msgstr "fanions privÃ©s = %x:"
 
-#: coff-arm.c:2301 elf32-arm.c:14156
+#: coff-arm.c:2306 elf32-arm.c:14160
 #, c-format
 msgid " [floats passed in float registers]"
 msgstr " [valeurs en virgule flottante passÃ©es dans des registres de valeurs en virgule flottante]"
 
-#: coff-arm.c:2303
+#: coff-arm.c:2308
 #, c-format
 msgid " [floats passed in integer registers]"
 msgstr " [valeurs en virgule flottante passÃ©es dans des registres de valeurs entiÃ¨res]"
 
-#: coff-arm.c:2306 elf32-arm.c:14159
+#: coff-arm.c:2311 elf32-arm.c:14163
 #, c-format
 msgid " [position independent]"
 msgstr " [position indÃ©pendante]"
 
-#: coff-arm.c:2308
+#: coff-arm.c:2313
 #, c-format
 msgid " [absolute position]"
 msgstr " [position absolue]"
 
-#: coff-arm.c:2312
+#: coff-arm.c:2317
 #, c-format
 msgid " [interworking flag not initialised]"
 msgstr " [fanion d'inter-rÃ©seautage n'a pas Ã©tÃ© initialisÃ©]"
 
-#: coff-arm.c:2314
+#: coff-arm.c:2319
 #, c-format
 msgid " [interworking supported]"
 msgstr " [inter-rÃ©seautage supportÃ©]"
 
-#: coff-arm.c:2316
+#: coff-arm.c:2321
 #, c-format
 msgid " [interworking not supported]"
 msgstr " [inter-rÃ©seautage non supportÃ©]"
 
-#: coff-arm.c:2361 elf32-arm.c:13017
+#: coff-arm.c:2366 elf32-arm.c:13021
 msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"
 msgstr "Attention: Pas d'initialisation du fanion d'inter-rÃ©seautage de %B puisqu'il a dÃ©jÃ  Ã©tÃ© spÃ©cifiÃ© sans inter-rÃ©seautage"
 
-#: coff-arm.c:2364 elf32-arm.c:13021
+#: coff-arm.c:2369 elf32-arm.c:13025
 msgid "Warning: Clearing the interworking flag of %B due to outside request"
 msgstr "Attention: Mise Ã  zÃ©ro du fanion d'inter-rÃ©seautage de %B en raison d'une requÃªte externe"
 
-#: coff-arm.c:2421 elf32-arm.c:13066
+#: coff-arm.c:2426 elf32-arm.c:13070
 #, c-format
 msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
 msgstr "Attention: mise Ã  zÃ©ro du fanion d'inter-rÃ©seautage %B en raison du code sans inter-rÃ©seautage dans %B liÃ© avec lui"
@@ -383,12 +383,12 @@ msgstr "Attention: mise Ã  zÃ©ro du fani
 msgid "cannot handle R_MEM_INDIRECT reloc when using %s output"
 msgstr "ne peut traiter le rÃ©adressage R_MEM_INDIRECT lorsque %s est utilisÃ© en sortie"
 
-#: coff-i860.c:146
+#: coff-i860.c:151
 #, c-format
 msgid "relocation `%s' not yet implemented"
 msgstr "rÃ©adressage Â«Â %sÂ Â» pas encore implÃ©mentÃ©"
 
-#: coff-i860.c:608 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5314
+#: coff-i860.c:613 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5343
 #, c-format
 msgid "%B: warning: illegal symbol index %ld in relocs"
 msgstr "%B: attention: symbole index illÃ©gal %ld dans les rÃ©adressages"
@@ -397,26 +397,26 @@ msgstr "%B: attention: symbole index ill
 msgid "uncertain calling convention for non-COFF symbol"
 msgstr "convention d'appel incertaine pour un symbole non COFF"
 
-#: coff-m68k.c:483 elf32-bfin.c:5530 elf32-cr16.c:2817 elf32-m68k.c:4574
+#: coff-m68k.c:488 elf32-bfin.c:5340 elf32-cr16.c:2801 elf32-m68k.c:4385
 msgid "unsupported reloc type"
 msgstr "type de rÃ©adressage non supportÃ©"
 
-#: coff-mips.c:634 elf32-mips.c:1744 elf32-score.c:430 elf32-score7.c:330
-#: elf64-mips.c:3135 elfn32-mips.c:2954
+#: coff-mips.c:640 elf32-mips.c:1744 elf32-score.c:430 elf32-score7.c:330
+#: elf64-mips.c:3135 elfn32-mips.c:2958
 msgid "GP relative relocation when _gp not defined"
 msgstr "rÃ©adressage relatif GP sans que _gp ne soit dÃ©fini"
 
-#: coff-rs6000.c:2747
+#: coff-rs6000.c:2773
 #, c-format
 msgid "%B: unsupported relocation type 0x%02x"
 msgstr "%B: type de rÃ©adressage non supportÃ© 0x%02x"
 
-#: coff-rs6000.c:2833
+#: coff-rs6000.c:2859
 #, c-format
-msgid "%B: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
-msgstr "%B: la table des matiÃ¨res des rÃ©adressages Ã  0x%x pour le symbole Â«Â %sÂ Â» sans aucune entrÃ©e"
+msgid "%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry"
+msgstr "%B: la table des matiÃ¨res des rÃ©adressages Ã  %Lx pour le symbole Â«Â %sÂ Â» sans aucune entrÃ©e"
 
-#: coff-rs6000.c:3579 coff64-rs6000.c:2110
+#: coff-rs6000.c:3605 coff64-rs6000.c:2150
 #, c-format
 msgid "%B: symbol `%s' has unrecognized smclas %d"
 msgstr "%B: symbole Â«Â %sÂ Â» a une classe smclas %d non reconnue"
@@ -428,54 +428,54 @@ msgstr "Erreur SH: type de rÃ©adressage 
 
 #: coff-sh.c:778 elf32-sh.c:580
 #, c-format
-msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
-msgstr "%B: 0x%lx: attention: mauvais dÃ©calage pour R_SH_USES"
+msgid "%B: %#Lx: warning: bad R_SH_USES offset"
+msgstr "%B: %#Lx: attention: mauvais dÃ©calage pour R_SH_USES"
 
-#: coff-sh.c:789 elf32-sh.c:592
+#: coff-sh.c:789
 #, c-format
-msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
-msgstr "%B: 0x%lx: attention: R_SH_USES pointe vers un insn inconnu 0x%x"
+msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x"
+msgstr "%B: %#Lx: attention: R_SH_USES pointe vers l'insn inconnu %#x"
 
 #: coff-sh.c:807 elf32-sh.c:610
 #, c-format
-msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
-msgstr "%B: 0x%lx: attention: mauvais dÃ©calage de chargement R_SH_USES"
+msgid "%B: %#Lx: warning: bad R_SH_USES load offset"
+msgstr "%B: %#Lx: attention: mauvais dÃ©calage de chargement R_SH_USES"
 
 #: coff-sh.c:832 elf32-sh.c:626
 #, c-format
-msgid "%B: 0x%lx: warning: could not find expected reloc"
-msgstr "%B: 0x%lx: attention: ne peut repÃ©rer le rÃ©adressage attendu"
+msgid "%B: %#Lx: warning: could not find expected reloc"
+msgstr "%B: %#Lx: attention: ne peut repÃ©rer le rÃ©adressage attendu"
 
 #: coff-sh.c:849 elf32-sh.c:655
 #, c-format
-msgid "%B: 0x%lx: warning: symbol in unexpected section"
-msgstr "%B: 0x%lx: attention: symbole dans une section inattendue"
+msgid "%B: %#Lx: warning: symbol in unexpected section"
+msgstr "%B: %#Lx: attention: symbole dans une section inattendue"
 
 #: coff-sh.c:975 elf32-sh.c:785
 #, c-format
-msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
-msgstr "%B: 0x%lx: attention: ne peut repÃ©rer le compteur de rÃ©adressages attendu"
+msgid "%B: %#Lx: warning: could not find expected COUNT reloc"
+msgstr "%B: %#Lx: attention: ne peut repÃ©rer le compteur de rÃ©adressages attendu"
 
 #: coff-sh.c:985 elf32-sh.c:795
 #, c-format
-msgid "%B: 0x%lx: warning: bad count"
-msgstr "%B: 0x%lx: attention: mauvais dÃ©compte"
+msgid "%B: %#Lx: warning: bad count"
+msgstr "%B: %#Lx: attention: mauvais dÃ©compte"
 
 #: coff-sh.c:1357 coff-sh.c:2645 elf32-sh.c:1199 elf32-sh.c:1570
 #, c-format
-msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
-msgstr "%B: 0x%lx: erreur fatale: dÃ©bordement de rÃ©adressage lors des relÃ¢ches"
+msgid "%B: %#Lx: fatal: reloc overflow while relaxing"
+msgstr "%B: %#Lx: erreur fatale: dÃ©bordement de rÃ©adressage lors des relÃ¢ches"
 
 #: coff-sh.c:1452
 msgid "%B: fatal: generic symbols retrieved before relaxing"
 msgstr "%B: fatal: symboles gÃ©nÃ©riques rÃ©cupÃ©rÃ©s avant la relÃ¢che"
 
-#: coff-sh.c:2783 cofflink.c:2961
+#: coff-sh.c:2783 cofflink.c:2965
 #, c-format
 msgid "%B: illegal symbol index %ld in relocs"
 msgstr "%B: symbole index %ld illÃ©gal dans les rÃ©adressages"
 
-#: coff-tic4x.c:183 coff-tic54x.c:278 coff-tic80.c:439
+#: coff-tic4x.c:183 coff-tic54x.c:278 coff-tic80.c:441
 #, c-format
 msgid "Unrecognized reloc type 0x%x"
 msgstr "Type de rÃ©adressage non reconnu 0x%x"
@@ -489,12 +489,18 @@ msgstr "rÃ©adressage %s ignorÃ©\n"
 msgid "%B: unable to load COMDAT section name"
 msgstr "%B: impossible de charger le nom de section COMDAT"
 
-#: coffcode.h:1009
+#. Malformed input files can trigger this test.
+#. cf PR 21781.
+#: coffcode.h:1003
+msgid "%B: error: unexpected symbol '%s' in COMDAT section"
+msgstr "%B: erreur: symbole Â«Â %sÂ Â» inattendu dans la section COMDAT"
+
+#: coffcode.h:1015
 #, c-format
 msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
 msgstr "%B: attention: symbole COMDAT Â«Â %sÂ Â» ne concorde par avec le nom de section Â«Â %sÂ Â»"
 
-#: coffcode.h:1019
+#: coffcode.h:1025
 #, c-format
 msgid "%B: warning: No symbol for section '%s' found"
 msgstr "%B: attention: Pas de symbole trouvÃ© pour la section Â«Â %sÂ Â»"
@@ -502,151 +508,164 @@ msgstr "%B: attention: Pas de symbole tr
 #. Generate a warning message rather using the 'unhandled'
 #. variable as this will allow some .sys files generate by
 #. other toolchains to be processed.  See bugzilla issue 196.
-#: coffcode.h:1245
+#: coffcode.h:1251
 #, c-format
 msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
 msgstr "%B: Attention: Ignore le fanion de section IMAGE_SCN_MEM_NOT_PAGED dans la section %s"
 
-#: coffcode.h:1314
+#: coffcode.h:1320
 #, c-format
-msgid "%B (%s): Section flag %s (0x%x) ignored"
-msgstr "%B (%s): Fanion de section %s (0x%x) ignorÃ©"
+msgid "%B (%s): Section flag %s (%#lx) ignored"
+msgstr "%B (%s): Fanion de section %s (%#lx) ignorÃ©"
 
-#: coffcode.h:1949
+#: coffcode.h:1950
 msgid "%B: warning: claims to have 0xffff relocs, without overflow"
 msgstr "%B: attention: prÃ©tend avoir 0xffff rÃ©adressages, sans dÃ©bordement"
 
-#: coffcode.h:2465
+#: coffcode.h:2466
 #, c-format
 msgid "Unrecognized TI COFF target id '0x%x'"
 msgstr "Identificateur de cible TI COFF non reconnu Â«Â 0x%xÂ Â»"
 
-#: coffcode.h:2783
+#: coffcode.h:2784
 #, c-format
 msgid "%B: reloc against a non-existent symbol index: %ld"
 msgstr "%B: rÃ©adressage par rapport Ã  un index de symbole inexistant: %ld"
 
-#: coffcode.h:3186
+#: coffcode.h:3187
 #, c-format
 msgid "%B: page size is too large (0x%x)"
 msgstr "%B: la taille de page est trop grande (0x%x)"
 
-#: coffcode.h:3346
+#: coffcode.h:3347
 #, c-format
 msgid "%B: too many sections (%d)"
 msgstr "%B: trop de sections (%d)"
 
-#: coffcode.h:3767
+#: coffcode.h:3768
 #, c-format
 msgid "%B: section %A: string table overflow at offset %ld"
 msgstr "%B: section %A: dÃ©bordement de la table de chaÃ®nes Ã  l'offset %ld"
 
-#: coffcode.h:4585
+#: coffcode.h:3873
+#, c-format
+msgid "%B:%s section %s: alignment 2**%u not representable"
+msgstr "%B:%s section %s: l'alignement 2**%u n'est pas reprÃ©sentable"
+
+#: coffcode.h:4592
+msgid "%B: warning: line number count (%#lx) exceeds section size (%#lx)"
+msgstr "%B: attention: le dÃ©compte du nombre de lignes (%#lx) dÃ©passe la taille de la section (%#lx)"
+
+#: coffcode.h:4607
 msgid "%B: warning: line number table read failed"
 msgstr "%B: attention: erreur lors de la lecture de la table des numÃ©ros de ligne"
 
-#: coffcode.h:4619 coffcode.h:4633
+#: coffcode.h:4641 coffcode.h:4655
 #, c-format
 msgid "%B: warning: illegal symbol index 0x%lx in line number entry %d"
 msgstr "%B: attention: symbole d'index 0x%lx illÃ©gal dans l'entrÃ©e %d des numÃ©ros de lignes"
 
-#: coffcode.h:4647
+#: coffcode.h:4669
 #, c-format
 msgid "%B: warning: illegal symbol in line number entry %d"
 msgstr "%B: attention: symbole illÃ©gal dans l'entrÃ©e %d des numÃ©ros de lignes"
 
-#: coffcode.h:4660
+#: coffcode.h:4682
 #, c-format
 msgid "%B: warning: duplicate line number information for `%s'"
 msgstr "%B: attention: information de numÃ©ro de ligne dÃ©doublÃ©e pour Â«Â %sÂ Â»"
 
-#: coffcode.h:5074
+#: coffcode.h:5103
 #, c-format
 msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
 msgstr "%B: Classe de stockage %d non reconnue pour %s symbole Â«Â %sÂ Â»"
 
-#: coffcode.h:5207
+#: coffcode.h:5236
 #, c-format
 msgid "warning: %B: local symbol `%s' has no section"
 msgstr "attention: %B: symbole local Â«Â %sÂ Â» n'a pas de section"
 
-#: coffcode.h:5354
+#: coffcode.h:5383
 #, c-format
-msgid "%B: illegal relocation type %d at address 0x%lx"
-msgstr "%B: type de rÃ©adressage %d illÃ©gal Ã  l'adresse 0x%lx"
+msgid "%B: illegal relocation type %d at address %#Lx"
+msgstr "%B: type de rÃ©adressage %d illÃ©gal Ã  l'adresse %#Lx"
 
-#: coffgen.c:178 elf.c:1181
+#: coffgen.c:178 elf.c:1198
 #, c-format
 msgid "%B: unable to initialize compress status for section %s"
 msgstr "%B: impossible d'initialiser le statut de compression de la section %s"
 
-#: coffgen.c:202 elf.c:1192
+#: coffgen.c:202 elf.c:1209
 #, c-format
 msgid "%B: unable to initialize decompress status for section %s"
 msgstr "%B: impossible d'initialiser le statut de dÃ©compression de la section %s"
 
+#: coffgen.c:1649
+msgid "%B: corrupt symbol count: %#Lx"
+msgstr "%B: dÃ©compte de symbole corrompu: %#Lx"
+
 #. PR 21013: Provide an error message when the alloc fails.
-#: coffgen.c:1648
-msgid "%B: Not enough memory to allocate space for %lu symbols"
-msgstr "%B: Pas assez de mÃ©moire pour allouer l'espace pour %lu symboles"
+#: coffgen.c:1658
+msgid "%B: not enough memory to allocate space for %#Lx symbols of size %#Lx"
+msgstr "%B: Pas assez de mÃ©moire pour allouer l'espace pour %#Lx symboles de taille %#Lx"
 
-#: coffgen.c:1716
+#: coffgen.c:1725
 #, c-format
-msgid "%B: bad string table size %lu"
-msgstr "%B: mauvaise taille de la table des chaÃ®nes %lu"
+msgid "%B: bad string table size %Lu"
+msgstr "%B: mauvaise taille de la table des chaÃ®nes %Lu"
 
-#: coffgen.c:1885 coffgen.c:1945 coffgen.c:1963 cofflink.c:2041
+#: coffgen.c:1902 coffgen.c:1962 coffgen.c:1980 cofflink.c:2045
 #: xcofflink.c:4507
 msgid "<corrupt>"
 msgstr "<corrompu>"
 
-#: coffgen.c:2087
+#: coffgen.c:2104
 #, c-format
 msgid "<corrupt info> %s"
 msgstr "<info corrompue> %s"
 
-#: coffgen.c:2666 elflink.c:14044 linker.c:2931
+#: coffgen.c:2683 elflink.c:14149 linker.c:2940
 msgid "%F%P: already_linked_table: %E\n"
 msgstr "%F%P: already_linked_table: %E\n"
 
-#: coffgen.c:3007 elflink.c:13059
+#: coffgen.c:3024 elflink.c:13151
 #, c-format
 msgid "Removing unused section '%A' in file '%B'"
 msgstr "Suppression de la section inutilisÃ©e Â«Â %AÂ Â» dans le fichier Â«Â %BÂ Â»"
 
-#: coffgen.c:3084 elflink.c:13304
+#: coffgen.c:3101 elflink.c:13369
 msgid "Warning: gc-sections option ignored"
 msgstr "Attention: l'option de la section gc est ignorÃ©e"
 
-#: cofflink.c:348
+#: cofflink.c:352
 #, c-format
 msgid "Warning: symbol `%s' is both section and non-section"
 msgstr "Attention: le symbole Â«Â %sÂ Â» est Ã  la fois une section et une non-section"
 
-#: cofflink.c:450 elf64-ia64-vms.c:5188 elflink.c:4788
+#: cofflink.c:454 elf64-ia64-vms.c:5186 elflink.c:4831
 #, c-format
 msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
 msgstr "Attention: type de symbole Â«Â %sÂ Â» a changÃ© de %d Ã  %d dans %B"
 
-#: cofflink.c:2369
+#: cofflink.c:2373
 #, c-format
 msgid "%B: relocs in section `%A', but it has no contents"
 msgstr "%B: rÃ©adressages dans la section Â«Â %AÂ Â» qui est vide"
 
-#: cofflink.c:2432 elflink.c:10567
+#: cofflink.c:2436 elflink.c:10664
 #, c-format
 msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
 msgstr "%XÂ«Â %sÂ Â» rÃ©fÃ©rencÃ© dans la section Â«Â %AÂ Â» de %B: dÃ©fini dans la section abandonnÃ©e Â«Â %AÂ Â» de %B\n"
 
-#: cofflink.c:2730
+#: cofflink.c:2734
 #, c-format
-msgid "%B: %A: reloc overflow: 0x%lx > 0xffff"
-msgstr "%B: %A: dÃ©bordement de rÃ©adressage: 0x%lx > 0xffff"
+msgid "%B: %A: reloc overflow: %#x > 0xffff"
+msgstr "%B: %A: dÃ©bordement de rÃ©adressage: %#x > 0xffff"
 
-#: cofflink.c:2738
+#: cofflink.c:2742
 #, c-format
-msgid "%B: warning: %A: line number overflow: 0x%lx > 0xffff"
-msgstr "%B: attention: %A: dÃ©bordement du compteur de numÃ©ro de ligne: 0x%lx > 0xffff"
+msgid "%B: warning: %A: line number overflow: %#x > 0xffff"
+msgstr "%B: attention: %A: dÃ©bordement du compteur de numÃ©ro de ligne: %#x > 0xffff"
 
 #: coffswap.h:811
 #, c-format
@@ -660,8 +679,8 @@ msgstr "%B: %s: dÃ©bordement de rÃ©adres
 
 #: compress.c:255
 #, c-format
-msgid "error: %B(%A) is too large (%#lx bytes)"
-msgstr "erreur: %B(%A) est trop grand (%#lx octets)"
+msgid "error: %B(%A) is too large (%#Lx bytes)"
+msgstr "erreur: %B(%A) est trop grand (%#Lx octets)"
 
 #: cpu-arm.c:192 cpu-arm.c:204
 #, c-format
@@ -673,88 +692,115 @@ msgstr "erreur: %B compilÃ© pour EP9312 
 msgid "warning: unable to update contents of %s section in %B"
 msgstr "attention: incapable de mettre Ã  jour le contenu de la section %s dans %B"
 
-#: dwarf2.c:532
+#: dwarf2.c:543
 #, c-format
 msgid "Dwarf Error: Can't find %s section."
 msgstr "Erreur Dwarf: ne peut repÃ©rer la section %s"
 
-#: dwarf2.c:562
+#: dwarf2.c:572
 #, c-format
-msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."
-msgstr "Erreur Dwarf: dÃ©calage de ligne (%lu) est >= Ã  la taille de %s (%lu)"
+msgid "Dwarf Error: Offset (%llu) greater than or equal to %s size (%Lu)."
+msgstr "Erreur Dwarf: DÃ©calage (%llu) plus grand ou Ã©gal Ã  la taille de %s (%Lu)."
 
-#: dwarf2.c:1028
+#: dwarf2.c:1089
 msgid "Dwarf Error: Info pointer extends beyond end of attributes"
 msgstr "Erreur Dwarf: Le pointeur d'info va au delÃ  de la fin des attributs"
 
-#: dwarf2.c:1185
+#: dwarf2.c:1261
 #, c-format
 msgid "Dwarf Error: Invalid or unhandled FORM value: %#x."
 msgstr "Erreur Dwarf: valeur de FORM invalide ou non supportÃ©e: %#x."
 
-#: dwarf2.c:1491
+#: dwarf2.c:1567
 msgid "Dwarf Error: mangled line number section (bad file number)."
 msgstr "Erreur Dwarf: numÃ©ro de ligne de section mutilÃ© (mauvais no. de fichier)"
 
-#: dwarf2.c:1779
+#: dwarf2.c:1912
+msgid "Dwarf Error: Zero format count."
+msgstr "Erreur Dwarf: DÃ©compte de format nul."
+
+#: dwarf2.c:1921
 #, c-format
-msgid "Dwarf Error: Line info section is too small (%ld)"
-msgstr "Erreur Dwarf: Le section des informations de lignes est trop petite (%ld)"
+msgid "Dwarf Error: data count (%Lx) larger than buffer size."
+msgstr "Erreur Dwarf: dÃ©compte de donnÃ©es (%Lx) plus grand que la taille du tampon."
 
-#: dwarf2.c:1809
+#: dwarf2.c:1962
 #, c-format
-msgid "Dwarf Error: Line info data is bigger (0x%lx) than the section (0x%lx)"
-msgstr "Erreur Dwarf: Les donnÃ©es des informations de lignes sont plus grandes (0x%lx) que la section (0x%lx)"
+msgid "Dwarf Error: Unknown format content type %Lu."
+msgstr "Erreur Dwarf: Type de contenu de format %Lu inconnu."
 
-#: dwarf2.c:1821
+#: dwarf2.c:2042
+#, c-format
+msgid "Dwarf Error: Line info section is too small (%Ld)"
+msgstr "Erreur Dwarf: Le section des informations de lignes est trop petite (%Ld)"
+
+#: dwarf2.c:2072
+#, c-format
+msgid "Dwarf Error: Line info data is bigger (%#Lx) than the space remaining in the section (%#lx)"
+msgstr "Erreur Dwarf: Les donnÃ©es des informations de lignes sont plus grandes (%#Lx) que l'espace restant dans la section (%#lx)"
+
+#: dwarf2.c:2085
 #, c-format
 msgid "Dwarf Error: Unhandled .debug_line version %d."
 msgstr "Erreur Dwarf: Version .debug_line %d non prise en charge."
 
-#: dwarf2.c:1830
+#: dwarf2.c:2095
 msgid "Dwarf Error: Ran out of room reading prologue"
 msgstr "Erreur Dwarf: On est tombÃ© Ã  cours de place lors de la lecture du prologue"
 
-#: dwarf2.c:1855
+#: dwarf2.c:2113
+#, c-format
+msgid "Dwarf Error: Line info unsupported segment selector size %u."
+msgstr "Erreur Dwarf: Taille de sÃ©lecteur de segment %u non supportÃ©e pour les informations de lignes."
+
+#: dwarf2.c:2140
 msgid "Dwarf Error: Invalid maximum operations per instruction."
 msgstr "Erreur Dwarf: OpÃ©rations maximum par instruction invalide."
 
-#: dwarf2.c:1874
+#: dwarf2.c:2159
 msgid "Dwarf Error: Ran out of room reading opcodes"
 msgstr "Erreur Dwarf: On est tombÃ© Ã  cours de place en lisant les opcodes"
 
-#: dwarf2.c:2069
+#: dwarf2.c:2332
 msgid "Dwarf Error: mangled line number section."
 msgstr "Erreur Dwarf: numÃ©ro de ligne de section mutilÃ©."
 
-#: dwarf2.c:2575
+#: dwarf2.c:2833 dwarf2.c:2894
+msgid "Dwarf Error: Invalid abstract instance DIE ref."
+msgstr "Erreur Dwarf: RÃ©f DIE d'instance abstraite invalide."
+
+#: dwarf2.c:2870
 #, c-format
-msgid "Dwarf Error: Unable to read alt ref %u."
-msgstr "Erreur Dwarf: Impossible de lire la ref alt %u."
+msgid "Dwarf Error: Unable to read alt ref %llu."
+msgstr "Erreur Dwarf: Impossible de lire la ref alt %llu."
 
-#: dwarf2.c:2600 dwarf2.c:2750 dwarf2.c:3071
+#: dwarf2.c:2911 dwarf2.c:3076 dwarf2.c:3428
 #, c-format
 msgid "Dwarf Error: Could not find abbrev number %u."
 msgstr "Erreur Dwarf: ne peut repÃ©rer le numÃ©ro abrÃ©gÃ© %u."
 
-#: dwarf2.c:3023
+#: dwarf2.c:2928
+msgid "Dwarf Error: Abstract instance recursion detected."
+msgstr "Erreur Dwarf: RÃ©cursion d'une instance abstraite dÃ©tectÃ©e."
+
+#: dwarf2.c:3347
 #, c-format
-msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information."
-msgstr "Erreur Dwarf: version DWARF trouvÃ©e Â«Â %uÂ Â», ce lecteur ne supporte que les informations des versions 2, 3 et 4."
+msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3, 4 and 5 information."
+msgstr "Erreur Dwarf: version DWARF trouvÃ©e Â«Â %uÂ Â», ce lecteur ne supporte que les informations des versions 2, 3, 4 et 5."
 
-#: dwarf2.c:3034
+#: dwarf2.c:3391
 #, c-format
 msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'."
 msgstr "Erreur Dwarf: taille d'adresse obtenue Â«Â %uÂ Â», ce lecteur ne peut traiter des tailles plus grandes que Â«Â %uÂ Â»."
 
-#: dwarf2.c:3137
+#: dwarf2.c:3494
 msgid "Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form."
 msgstr "Erreur Dwarf: attribut DW_AT_comp_dir rencontrÃ© sous une forme non-chaÃ®ne."
 
 #: ecoff.c:964
 #, c-format
-msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%d)\n"
-msgstr "%B: attention: isymMax (%ld) est plus grand que ifdMax (%d)\n"
+msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%ld)"
+msgstr "%B: attention: isymMax (%ld) est plus grand que ifdMax (%ld)"
 
 #: ecoff.c:1261
 #, c-format
@@ -833,69 +879,73 @@ msgstr ""
 "\n"
 "      Type: %s"
 
-#: elf-attrs.c:595
+#: elf-attrs.c:475
+msgid "%B: error: attribute section length too small: %ld"
+msgstr "%B: erreur: longueur de section d'attributs trop petite: %ld"
+
+#: elf-attrs.c:603
 #, c-format
 msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain"
 msgstr "erreur: %B: L'objet a un contenu spÃ©cific Ã  un vendeur qui doit Ãªtre traitÃ© par la chaÃ®ne d'outils Â«Â %sÂ Â»"
 
-#: elf-attrs.c:605
+#: elf-attrs.c:613
 #, c-format
 msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
 msgstr "erreur: %B: Ã‰tiquette d'objet Â«Â %d, %sÂ Â» incompatible avec l'Ã©tiquette Â«Â %d, %sÂ Â»"
 
-#: elf-eh-frame.c:946
+#: elf-eh-frame.c:942
 #, c-format
 msgid "discarding zero address range FDE in %B(%A).\n"
 msgstr "abandon du FDE avec une plage d'adresses nulle dans %B(%A).\n"
 
-#: elf-eh-frame.c:1051
+#: elf-eh-frame.c:1047
 #, c-format
 msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
 msgstr "%P: erreur dans %B(%A); aucune table .eh_frame_hdr ne sera crÃ©Ã©e.\n"
 
-#: elf-eh-frame.c:1541
+#: elf-eh-frame.c:1537
 #, c-format
 msgid "%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
 msgstr "%P: encodage FDE dans %B(%A) empÃªche la crÃ©ation de la table .eh_frame_hdr.\n"
 
-#: elf-eh-frame.c:1548
+#: elf-eh-frame.c:1544
 msgid "%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n"
 msgstr "%P: Les avertissements suivants Ã  propos de l'encodage FDE empÃªchant la gÃ©nÃ©ration de .eh_frame_hdr sont abandonnÃ©s.\n"
 
-#: elf-eh-frame.c:1879
+#: elf-eh-frame.c:1866
 #, c-format
 msgid "%B: %A not in order"
 msgstr "%B: %A pas dans l'ordre"
 
-#: elf-eh-frame.c:1893
+#: elf-eh-frame.c:1880
 #, c-format
 msgid "%B: %A invalid input section size"
 msgstr "%B: %A taille de section d'entrÃ©e invalide"
 
-#: elf-eh-frame.c:1901
+#: elf-eh-frame.c:1888
 #, c-format
 msgid "%B: %A points past end of text section"
 msgstr "%B: %A pointe au delÃ  de la fin de la section texte"
 
-#: elf-eh-frame.c:2150
+#: elf-eh-frame.c:2137
 msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
 msgstr "%P: DW_EH_PE_datarel non spÃ©cifiÃ© pour cette architecture.\n"
 
-#: elf-eh-frame.c:2320
+#: elf-eh-frame.c:2307
 #, c-format
 msgid "Invalid output section for .eh_frame_entry: %A"
 msgstr "Section de sortie invalide pour .eh_frame_entry: %A"
 
-#: elf-eh-frame.c:2343
+#: elf-eh-frame.c:2330
 #, c-format
 msgid "Invalid contents in %A section"
 msgstr "Contenu invalide dans la section %A"
 
-#: elf-eh-frame.c:2499
+#: elf-eh-frame.c:2486
 msgid "%P: .eh_frame_hdr entry overflow.\n"
-msgstr "*P: dÃ©bordement de l'entrÃ©e .eh_frame_hrd.\n"
+msgstr "%P: dÃ©bordement de l'entrÃ©e .eh_frame_hrd.\n"
 
-#: elf-eh-frame.c:2502
+#: elf-eh-frame.c:2489
 msgid "%P: .eh_frame_hdr refers to overlapping FDEs.\n"
 msgstr "%P: .eh_frame_hdr fait rÃ©fÃ©rence Ã  des FDE qui se chevauchent.\n"
 
@@ -904,53 +954,53 @@ msgstr "%P: .eh_frame_hdr fait rÃ©fÃ©ren
 msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
 msgstr "%P%P: symbole dynamique STT_GNU_IFUNC Â«Â %sÂ Â» avec une Ã©galitÃ© de pointeur dans Â«Â %BÂ Â» ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un exÃ©cutable. Recompilez avec -fPIE et reliez avec -pie\n"
 
-#: elf-m10200.c:425 elf-m10300.c:2149 elf32-avr.c:1502 elf32-bfin.c:3194
-#: elf32-cr16.c:1466 elf32-cr16c.c:780 elf32-cris.c:2025 elf32-crx.c:924
-#: elf32-d10v.c:513 elf32-epiphany.c:563 elf32-fr30.c:591 elf32-frv.c:4041
-#: elf32-ft32.c:334 elf32-h8300.c:522 elf32-i860.c:1210 elf32-ip2k.c:1475
-#: elf32-iq2000.c:693 elf32-lm32.c:1126 elf32-m32c.c:621 elf32-m32r.c:3044
-#: elf32-m68hc1x.c:1269 elf32-mep.c:524 elf32-metag.c:2001
-#: elf32-microblaze.c:1570 elf32-moxie.c:285 elf32-mt.c:400 elf32-nds32.c:5402
-#: elf32-or1k.c:1258 elf32-score.c:2731 elf32-score7.c:2540 elf32-spu.c:5076
-#: elf32-tilepro.c:3665 elf32-v850.c:2287 elf32-visium.c:677
-#: elf32-xstormy16.c:927 elf64-mmix.c:1540 elfxx-tilegx.c:4052
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2267
+#: elf-m10200.c:425 elf-m10300.c:2145 elf32-avr.c:1502 elf32-bfin.c:3116
+#: elf32-cr16.c:1462 elf32-cr16c.c:780 elf32-cris.c:2030 elf32-crx.c:924
+#: elf32-d10v.c:509 elf32-epiphany.c:563 elf32-fr30.c:591 elf32-frv.c:4041
+#: elf32-ft32.c:485 elf32-h8300.c:522 elf32-i860.c:1210 elf32-ip2k.c:1475
+#: elf32-iq2000.c:689 elf32-lm32.c:1106 elf32-m32c.c:622 elf32-m32r.c:3031
+#: elf32-m68hc1x.c:1265 elf32-mep.c:524 elf32-metag.c:1985
+#: elf32-microblaze.c:1556 elf32-moxie.c:285 elf32-mt.c:400 elf32-nds32.c:5328
+#: elf32-or1k.c:1238 elf32-score.c:2731 elf32-score7.c:2540 elf32-spu.c:5076
+#: elf32-tilepro.c:3497 elf32-v850.c:2283 elf32-visium.c:677
+#: elf32-xstormy16.c:923 elf64-mmix.c:1538 elfxx-tilegx.c:3857
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2237
 msgid "internal error: out of range error"
 msgstr "erreur interne: hors limite"
 
-#: elf-m10200.c:429 elf-m10300.c:2153 elf32-avr.c:1506 elf32-bfin.c:3198
-#: elf32-cr16.c:1470 elf32-cr16c.c:784 elf32-cris.c:2029 elf32-crx.c:928
-#: elf32-d10v.c:517 elf32-fr30.c:595 elf32-frv.c:4045 elf32-ft32.c:338
-#: elf32-h8300.c:526 elf32-i860.c:1214 elf32-iq2000.c:697 elf32-lm32.c:1130
-#: elf32-m32c.c:625 elf32-m32r.c:3048 elf32-m68hc1x.c:1273 elf32-mep.c:528
-#: elf32-metag.c:2005 elf32-microblaze.c:1574 elf32-moxie.c:289
-#: elf32-msp430.c:1361 elf32-nds32.c:5406 elf32-or1k.c:1262 elf32-score.c:2735
-#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3669 elf32-v850.c:2291
-#: elf32-visium.c:681 elf32-xstormy16.c:931 elf64-mmix.c:1544
-#: elfxx-mips.c:10258 elfxx-tilegx.c:4056
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2271
+#: elf-m10200.c:429 elf-m10300.c:2149 elf32-avr.c:1506 elf32-bfin.c:3120
+#: elf32-cr16.c:1466 elf32-cr16c.c:784 elf32-cris.c:2034 elf32-crx.c:928
+#: elf32-d10v.c:513 elf32-fr30.c:595 elf32-frv.c:4045 elf32-ft32.c:489
+#: elf32-h8300.c:526 elf32-i860.c:1214 elf32-iq2000.c:693 elf32-lm32.c:1110
+#: elf32-m32c.c:626 elf32-m32r.c:3035 elf32-m68hc1x.c:1269 elf32-mep.c:528
+#: elf32-metag.c:1989 elf32-microblaze.c:1560 elf32-moxie.c:289
+#: elf32-msp430.c:1357 elf32-nds32.c:5332 elf32-or1k.c:1242 elf32-score.c:2735
+#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3501 elf32-v850.c:2287
+#: elf32-visium.c:681 elf32-xstormy16.c:927 elf64-mmix.c:1542
+#: elfxx-mips.c:10265 elfxx-tilegx.c:3861
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2241
 msgid "internal error: unsupported relocation error"
 msgstr "erreur interne: erreur de rÃ©adressage non supportÃ©e"
 
-#: elf-m10200.c:433 elf32-cr16.c:1474 elf32-cr16c.c:788 elf32-crx.c:932
-#: elf32-d10v.c:521 elf32-h8300.c:530 elf32-lm32.c:1134 elf32-m32r.c:3052
-#: elf32-m68hc1x.c:1277 elf32-microblaze.c:1578 elf32-nds32.c:5410
+#: elf-m10200.c:433 elf32-cr16.c:1470 elf32-cr16c.c:788 elf32-crx.c:932
+#: elf32-d10v.c:517 elf32-h8300.c:530 elf32-lm32.c:1114 elf32-m32r.c:3039
+#: elf32-m68hc1x.c:1273 elf32-microblaze.c:1564 elf32-nds32.c:5336
 #: elf32-score.c:2739 elf32-score7.c:2548 elf32-spu.c:5084
 msgid "internal error: dangerous error"
 msgstr "erreur interne: erreur dangereuse"
 
-#: elf-m10200.c:437 elf-m10300.c:2170 elf32-avr.c:1514 elf32-bfin.c:3206
-#: elf32-cr16.c:1478 elf32-cr16c.c:792 elf32-cris.c:2037 elf32-crx.c:936
-#: elf32-d10v.c:525 elf32-epiphany.c:578 elf32-fr30.c:603 elf32-frv.c:4053
-#: elf32-ft32.c:346 elf32-h8300.c:534 elf32-i860.c:1222 elf32-ip2k.c:1490
-#: elf32-iq2000.c:705 elf32-lm32.c:1138 elf32-m32c.c:633 elf32-m32r.c:3056
-#: elf32-m68hc1x.c:1281 elf32-mep.c:536 elf32-metag.c:2013
-#: elf32-microblaze.c:1582 elf32-moxie.c:297 elf32-msp430.c:1369
-#: elf32-mt.c:408 elf32-nds32.c:5414 elf32-or1k.c:1270 elf32-score.c:2748
-#: elf32-score7.c:2552 elf32-spu.c:5088 elf32-tilepro.c:3677 elf32-v850.c:2311
-#: elf32-visium.c:689 elf32-xstormy16.c:939 elf64-mmix.c:1552
-#: elfxx-tilegx.c:4064
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2279
+#: elf-m10200.c:437 elf-m10300.c:2166 elf32-avr.c:1514 elf32-bfin.c:3128
+#: elf32-cr16.c:1474 elf32-cr16c.c:792 elf32-cris.c:2042 elf32-crx.c:936
+#: elf32-d10v.c:521 elf32-epiphany.c:578 elf32-fr30.c:603 elf32-frv.c:4053
+#: elf32-ft32.c:497 elf32-h8300.c:534 elf32-i860.c:1222 elf32-ip2k.c:1490
+#: elf32-iq2000.c:701 elf32-lm32.c:1118 elf32-m32c.c:634 elf32-m32r.c:3043
+#: elf32-m68hc1x.c:1277 elf32-mep.c:536 elf32-metag.c:1997
+#: elf32-microblaze.c:1568 elf32-moxie.c:297 elf32-msp430.c:1365
+#: elf32-mt.c:408 elf32-nds32.c:5340 elf32-or1k.c:1250 elf32-score.c:2748
+#: elf32-score7.c:2552 elf32-spu.c:5088 elf32-tilepro.c:3509 elf32-v850.c:2307
+#: elf32-visium.c:689 elf32-xstormy16.c:935 elf64-mmix.c:1550
+#: elfxx-tilegx.c:3869
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2249
 msgid "internal error: unknown error"
 msgstr "erreur interne: erreur inconnue"
 
@@ -964,31 +1014,32 @@ msgstr "%B: numÃ©ro de rÃ©adressage MN10
 msgid "%B: Unsupported transition from %s to %s"
 msgstr "%B: Transition de %s Ã  %s non supportÃ©e"
 
-#: elf-m10300.c:1201
+#: elf-m10300.c:1197
 #, c-format
 msgid "%B: %s' accessed both as normal and thread local symbol"
-msgstr "%B: Â«Â %s Â Â» accÃ©dÃ© Ã  la fois comme symbole normal et comme symbole locale au thread"
+msgstr "%B: Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme symbole normal et comme symbole locale au thread"
 
-#: elf-m10300.c:2097 elf32-arm.c:12532 elf32-i386.c:5372 elf32-m32r.c:2540
-#: elf32-m68k.c:4084 elf32-s390.c:3372 elf32-sh.c:4127 elf32-tilepro.c:3569
-#: elf32-xtensa.c:3074 elf64-s390.c:3296 elf64-sh64.c:1636 elf64-x86-64.c:5753
-#: elfxx-sparc.c:4086 elfxx-tilegx.c:3976
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6437
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2236
+#: elf-m10300.c:2093 elf32-arm.c:12536 elf32-i386.c:3433 elf32-m32r.c:2526
+#: elf32-m68k.c:3895 elf32-s390.c:3204 elf32-sh.c:4121 elf32-tilepro.c:3401
+#: elf32-xtensa.c:2939 elf64-s390.c:3118 elf64-sh64.c:1636 elf64-x86-64.c:3790
+#: elfxx-sparc.c:3918 elfxx-tilegx.c:3781
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5001
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6457
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2206
 #, c-format
-msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%A+0x%lx): rÃ©adressage %s sans solution vers le symbole Â«Â %sÂ Â»"
+msgid "%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"
+msgstr "%B(%A+%#Lx): rÃ©adressage %s sans solution vers le symbole Â«Â %sÂ Â»"
 
-#: elf-m10300.c:2158
+#: elf-m10300.c:2154
 msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)"
 msgstr "erreur: type de rÃ©adressage inappropriÃ© pour une librairie partagÃ©e (avez-vous oubliÃ© -fpic ?)"
 
-#: elf-m10300.c:2162
+#: elf-m10300.c:2158
 #, c-format
 msgid "%B: taking the address of protected function '%s' cannot be done when making a shared library"
 msgstr "%B: l'adresse de la fonction protÃ©gÃ©e Â«Â %sÂ Â» ne peut Ãªtre prise lors de la crÃ©ation d'une librairie partagÃ©e"
 
-#: elf-m10300.c:2165
+#: elf-m10300.c:2161
 msgid "internal error: suspicious relocation type used in shared library"
 msgstr "erreur interne: type de rÃ©adressage douteux utilisÃ© dans une librairie partagÃ©e"
 
@@ -1000,102 +1051,108 @@ msgstr "%B: pas assez de mÃ©moire dans _
 msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"
 msgstr "attention: %B: taille de GNU_PROPERTY_TYPE (%ld) corrompue: %#lx"
 
-#: elf-properties.c:107
+#: elf-properties.c:112
 msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"
 msgstr "attention: %1$B: datasz du type (0x%3$x) GNU_PROPERTY_TYPE (%2$ld) corrompu: 0x%4$x"
 
-#: elf-properties.c:146
+#: elf-properties.c:151
 msgid "warning: %B: corrupt stack size: 0x%x"
 msgstr "attention: %B: taille de pille corrompue: 0x%x"
 
-#: elf-properties.c:164
+#: elf-properties.c:169
 msgid "warning: %B: corrupt no copy on protected size: 0x%x"
 msgstr "attention: %B: taille de Â«Â no copy on protectedÂ Â» corrompue: 0x%x"
 
-#: elf-properties.c:180
+#: elf-properties.c:186
 msgid "warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"
 msgstr "attention: %B: type GNU_PROPERTY_TYPE (%ld) non supportÃ©: 0x%x"
 
 #. PR 17512: file: f057ec89.
-#: elf.c:342
+#: elf.c:343
 #, c-format
 msgid "%B: attempt to load strings from a non-string section (number %d)"
 msgstr "%B: tentative de charger des chaÃ®nes depuis une section non-chaÃ®nes (numÃ©ro %d)"
 
-#: elf.c:357
+#: elf.c:358
 #, c-format
-msgid "%B: invalid string offset %u >= %lu for section `%s'"
-msgstr "%B: chaÃ®ne de dÃ©calage invalide %u >= %lu pour la section Â«Â %sÂ Â»"
+msgid "%B: invalid string offset %u >= %Lu for section `%s'"
+msgstr "%B: chaÃ®ne de dÃ©calage invalide %u >= %Lu pour la section Â«Â %sÂ Â»"
 
-#: elf.c:496
+#: elf.c:497 /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7535
 #, c-format
 msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
 msgstr "%B le symbole numÃ©ro %lu fait rÃ©fÃ©rence Ã  une section SHT_SYMTAB_SHNDX inexistante"
 
-#: elf.c:660
+#: elf.c:661
 #, c-format
 msgid "%B: corrupt size field in group section header: %#Lx"
 msgstr "%B: champ de taille corrompu dans l'en-tÃªte du groupe de section: %#Lx"
 
-#: elf.c:675
+#: elf.c:676
 #, c-format
 msgid "%B: invalid size field in group section header: %#Lx"
 msgstr "%B: champ de taille invalide dans l'en-tÃªte du groupe de section: %#Lx"
 
-#: elf.c:711
+#: elf.c:712
 msgid "%B: invalid SHT_GROUP entry"
 msgstr "%B: entrÃ©e SHT_GROUP invalide"
 
-#: elf.c:730
+#: elf.c:731
 msgid "%B: no valid group sections found"
 msgstr "%B: aucune section de groupe valable trouvÃ©e"
 
-#: elf.c:804
+#. See PR 21957 for a reproducer.
+#: elf.c:760
+#, c-format
+msgid "%B: group section '%A' has no contents"
+msgstr "%B: la section de groupe Â«Â %AÂ Â» n'a pas de contenu"
+
+#: elf.c:820
 #, c-format
-msgid "%B: no group info for section %A"
-msgstr "%B: aucune info de groupe pour la section %A"
+msgid "%B: no group info for section '%A'"
+msgstr "%B: aucune info de groupe pour la section Â«Â %AÂ Â»"
 
-#: elf.c:835 elf.c:3819 elflink.c:11155
+#: elf.c:851 elf.c:3862 elflink.c:11252
 #, c-format
 msgid "%B: warning: sh_link not set for section `%A'"
 msgstr "%B: attention: sh_link n'a pas de valeur pour la section Â«Â %AÂ Â»"
 
-#: elf.c:855
+#: elf.c:871
 #, c-format
 msgid "%B: sh_link [%d] in section `%A' is incorrect"
 msgstr "%B: sh_link [%d] n'est pas correct dans la section Â«Â %AÂ Â»"
 
-#: elf.c:868
+#: elf.c:884
 #, c-format
 msgid "%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"
 msgstr "%B: la section SHT_GROUP [index %d] n'a pas de section SHF_GROUP"
 
-#: elf.c:889
+#: elf.c:905
 #, c-format
 msgid "%B: section group entry number %u is corrupt"
 msgstr "%B: l'entrÃ©e de groupe de section %u est corrompue"
 
-#: elf.c:914
+#: elf.c:928
 #, c-format
 msgid "%B: unknown type [%#x] section `%s' in group [%A]"
 msgstr "%B: type [%#x] de section Â«Â %sÂ Â» inconnu dans le groupe [%A]"
 
-#: elf.c:1373
+#: elf.c:1390
 #, c-format
 msgid "%B: Invalid sh_link field (%d) in section number %d"
 msgstr "%B: Champ sh_link (%d) invalide dans la section numÃ©ro %d"
 
-#: elf.c:1389
+#: elf.c:1406
 #, c-format
 msgid "%B: Failed to find link section for section %d"
 msgstr "%B: Impossible de trouver la section de liaison pour la section %d"
 
-#: elf.c:1416
+#: elf.c:1433
 #, c-format
 msgid "%B: Failed to find info section for section %d"
 msgstr "%B: Impossible de trouver la section d'information pour la section %d"
 
-#: elf.c:1588
+#: elf.c:1605
 #, c-format
 msgid ""
 "\n"
@@ -1104,7 +1161,7 @@ msgstr ""
 "\n"
 "En-tÃªte de programme:\n"
 
-#: elf.c:1630
+#: elf.c:1647
 #, c-format
 msgid ""
 "\n"
@@ -1113,7 +1170,7 @@ msgstr ""
 "\n"
 "Section dynamique:\n"
 
-#: elf.c:1771
+#: elf.c:1788
 #, c-format
 msgid ""
 "\n"
@@ -1122,7 +1179,7 @@ msgstr ""
 "\n"
 "DÃ©finitions des versions:\n"
 
-#: elf.c:1796
+#: elf.c:1813
 #, c-format
 msgid ""
 "\n"
@@ -1131,149 +1188,149 @@ msgstr ""
 "\n"
 "RÃ©fÃ©rences de version:\n"
 
-#: elf.c:1801
+#: elf.c:1818
 #, c-format
 msgid "  required from %s:\n"
 msgstr " requis par %s:\n"
 
-#: elf.c:1999
+#: elf.c:2016
 msgid "%B: warning: loop in section dependencies detected"
 msgstr "%B: attention: boucle dÃ©tectÃ©e dans les dÃ©pendances de sections"
 
-#: elf.c:2107
+#: elf.c:2124
 #, c-format
 msgid "%B: warning: multiple symbol tables detected - ignoring the table in section %u"
 msgstr "%B: attention: plusieurs tables de symboles dÃ©tectÃ©es â€” la table dans la section %u est ignorÃ©e"
 
-#: elf.c:2191
+#: elf.c:2208
 #, c-format
 msgid "%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u"
 msgstr "%B: attention: plusieurs tables de symboles dynamiques ont Ã©tÃ© dÃ©tectÃ©es â€” la table dans la section %u est ignorÃ©e"
 
-#: elf.c:2304
+#: elf.c:2321
 #, c-format
 msgid "%B: invalid link %u for reloc section %s (index %u)"
 msgstr "%B: lien %u invalide pour la section de rÃ©adressages %s (index %u)"
 
-#: elf.c:2463 elf.c:2478 elf.c:2489 elf.c:2502
+#: elf.c:2480 elf.c:2495 elf.c:2506 elf.c:2519
 #, c-format
 msgid "%B: unknown type [%#x] section `%s'"
 msgstr "%B: type [%#x] inconnu dans la section Â«Â %sÂ Â»"
 
-#: elf.c:3206
+#: elf.c:3224
 #, c-format
 msgid "%B: error: Alignment power %d of section `%A' is too big"
 msgstr "%B: erreur: L'alignement Ã  la puissance %d de la section Â«Â %AÂ Â» est trop grand"
 
-#: elf.c:3236
+#: elf.c:3254
 #, c-format
 msgid "warning: section `%A' type changed to PROGBITS"
 msgstr "attention: type de la section Â«Â %AÂ Â» changÃ© en PROGBITS"
 
-#: elf.c:3687
+#: elf.c:3730
 #, c-format
 msgid "%B: too many sections: %u"
 msgstr "%B: trop de sections: %u"
 
-#: elf.c:3772
+#: elf.c:3815
 #, c-format
 msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
 msgstr "%B: le sh_link de la section Â«Â %AÂ Â» pointe vers la section abandonnÃ©e Â«Â %AÂ Â» de Â«Â %BÂ Â»"
 
-#: elf.c:3797
+#: elf.c:3840
 #, c-format
 msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
 msgstr "%B: le sh_link de la section Â«Â %AÂ Â» pointe vers la section supprimÃ©e Â«Â %AÂ Â» de Â«Â %BÂ Â»"
 
-#: elf.c:4349
+#: elf.c:4392
 #, c-format
 msgid "%B: GNU_MBIN section `%A' has invalid sh_info field: %d"
 msgstr "%B: la section GNU_MBIN Â«Â %AÂ Â» a un champ sh_info invalide: %d"
 
-#: elf.c:4891
+#: elf.c:4951
 msgid "%B: TLS sections are not adjacent:"
 msgstr "%B: Les sections TLS ne sont pas adjacentes:"
 
-#: elf.c:4898
+#: elf.c:4958
 #, c-format
 msgid "\t    TLS: %A"
 msgstr "\t    TLS: %A"
 
-#: elf.c:4902
+#: elf.c:4962
 #, c-format
 msgid "\tnon-TLS: %A"
 msgstr "\tnon-TLS: %A"
 
-#: elf.c:5398
+#: elf.c:5458
 msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
 msgstr "%B: La premiÃ¨re section dans le segment PT_DYNAMIC n'est pas la section .dynamic"
 
-#: elf.c:5426
+#: elf.c:5486
 msgid "%B: Not enough room for program headers, try linking with -N"
 msgstr "%B: Pas suffisamment d'espace pour les en-tÃªtes du programme, essayer l'option -N"
 
-#: elf.c:5514
+#: elf.c:5574
 #, c-format
 msgid "%B: section %A lma %#Lx adjusted to %#Lx"
 msgstr "%B: section %A avec lma %#Lx ajustÃ©e Ã  %#Lx"
 
-#: elf.c:5651
+#: elf.c:5711
 #, c-format
 msgid "%B: section `%A' can't be allocated in segment %d"
 msgstr "%B: la section Â«Â %AÂ Â» ne peut pas Ãªtre allouÃ©e dans le segment %d"
 
-#: elf.c:5699
+#: elf.c:5759
 #, c-format
 msgid "%B: warning: allocated section `%s' not in segment"
 msgstr "%B: attention: section allouÃ©e Â«Â %sÂ Â» n'est pas dans le segment"
 
-#: elf.c:5897
+#: elf.c:5957
 msgid "%B: error: non-load segment %d includes file header and/or program header"
 msgstr "%B: erreur: le segment de non-chargement %d inclus un en-tÃªte de fichier ou de programme"
 
 #. The fix for this error is usually to edit the linker script being
 #. used and set up the program headers manually.  Either that or
 #. leave room for the headers at the start of the SECTIONS.
-#: elf.c:6074
+#: elf.c:6134
 msgid "%B: error: PHDR segment not covered by LOAD segment"
 msgstr "%B: erreur: segment PHDR non couvert par le segment LOAD"
 
-#: elf.c:6418
+#: elf.c:6478
 #, c-format
 msgid "%B: symbol `%s' required but not present"
 msgstr "%B: symbole Â«Â %sÂ Â» requis mais absent"
 
-#: elf.c:6761
+#: elf.c:6821
 #, c-format
 msgid "%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?"
 msgstr "%B: attention: Segment chargeable vide dÃ©tectÃ© Ã  vaddr=%#Lx, est-ce intentionnelÂ ?"
 
-#: elf.c:7375
+#: elf.c:7435
 #, c-format
 msgid "%B: warning: segment alignment of %#Lx is too large"
 msgstr "%B: attention: un alignement de segment de %#Lx est trop grand"
 
-#: elf.c:7856
+#: elf.c:7916
 #, c-format
 msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
 msgstr "Incapable de trouver un Ã©quivalent pour le symbole Â«Â %sÂ Â» de la section Â«Â %sÂ Â»"
 
-#: elf.c:8188
+#: elf.c:8249
 msgid "%B: .gnu.version_r invalid entry"
 msgstr "%B: entrÃ©e .gnu.version_r invalide"
 
-#: elf.c:8315
+#: elf.c:8376
 msgid "%B: .gnu.version_d invalid entry"
 msgstr "%B: entrÃ©e .gnu.version_d invalide"
 
-#: elf.c:8867
+#: elf.c:8928
 #, c-format
 msgid "%B: unsupported relocation type %s"
 msgstr "%B: type de rÃ©adressage %s non supportÃ©"
 
-#: elf32-arc.c:433 elf32-frv.c:6626 elf32-iq2000.c:870 elf32-m32c.c:915
-#: elf32-mt.c:564 elf32-rl78.c:1256 elf32-rx.c:3177 elf32-visium.c:837
-#: elf64-ppc.c:6078
+#: elf32-arc.c:433 elf32-frv.c:6623 elf32-iq2000.c:866 elf32-m32c.c:912
+#: elf32-mt.c:560 elf32-rl78.c:1257 elf32-rx.c:3178 elf32-visium.c:837
+#: elf64-ppc.c:6067
 #, c-format
 msgid "private flags = 0x%lx:"
 msgstr "fanions privÃ©s = 0x%lx:"
@@ -1311,11 +1368,11 @@ msgstr "erreur: %B: attributs %s conflic
 msgid "ERROR: Attempting to link %B with a binary %B of different architecture"
 msgstr "ERREUR: Tentative de lier %B avec un binaire %B d'une architecture diffÃ©rente"
 
-#: elf32-arc.c:891 elf32-i370.c:359 elf32-iq2000.c:846 elf32-m32c.c:890
-#: elf32-m68hc1x.c:1388 elf64-sparc.c:727 elfxx-mips.c:15127
+#: elf32-arc.c:891 elf32-i370.c:359 elf32-iq2000.c:842 elf32-m32c.c:887
+#: elf32-m68hc1x.c:1384 elf32-ppc.c:4846 elf64-sparc.c:727 elfxx-mips.c:15082
 #, c-format
-msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%B: utilise des champs e_flags (0x%lx) diffÃ©rents des modules prÃ©cÃ©dents (0x%lx)"
+msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%B: utilise des champs e_flags (%#x) diffÃ©rents des modules prÃ©cÃ©dents (%#x)"
 
 #: elf32-arc.c:980
 msgid "Error: The ARC4 architecture is no longer supported.\n"
@@ -1331,55 +1388,55 @@ msgstr ""
 
 #: elf32-arc.c:1119
 #, c-format
-msgid "%B(%A+0x%lx): CMEM relocation to `%s' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)"
-msgstr "%B(%A+0x%lx): le rÃ©adressage CMEM vers Â«Â %sÂ Â» est invalide. 16 MSB devrait Ãªtre 0x%04x (la valeur est 0x%lx)"
+msgid "%B(%A+%#Lx): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value is %#Lx)"
+msgstr "%B(%A+%#Lx): le rÃ©adressage CMEM vers Â«Â %sÂ Â» est invalide. 16 MSB devrait Ãªtre %#x (la valeur est %#Lx)"
 
 #: elf32-arc.c:1130
 #, c-format
-msgid "%B(%A+0x%lx): CMEM relocation to `%s+0x%lx' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)"
-msgstr "%B(%A+0x%lx): le rÃ©adressage CMEM vers Â«Â %s+0x%lxÂ Â» est invalide, 16 MSB devrait Ãªtre 0x%04x (la valeur est 0x%lx)"
+msgid "%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, 16 MSB should be %#x (value is %#Lx)"
+msgstr "%B(%A+%#Lx): le rÃ©adressage CMEM vers Â«Â %s+%#LxÂ Â» est invalide, 16 MSB devrait Ãªtre %#x (la valeur est %Lx)"
 
-#: elf32-arc.c:1835
+#: elf32-arc.c:1836
 msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker."
 msgstr "les rÃ©adressages GOT et PLT ne peuvent pas Ãªtre corrigÃ©s avec un Ã©diteur de liens non dynamique."
 
-#: elf32-arc.c:1859 elf32-rl78.c:1094 elf32-rx.c:1448
+#: elf32-arc.c:1860 elf32-rl78.c:1095 elf32-rx.c:1449
 #, c-format
 msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
 msgstr "%B(%A): attention: accÃ¨s non alignÃ© au symbole Â«Â %sÂ Â» dans la zone des petites donnÃ©es"
 
-#: elf32-arc.c:1864 elf32-rl78.c:1099 elf32-rx.c:1453
+#: elf32-arc.c:1865 elf32-rl78.c:1100 elf32-rx.c:1454
 #, c-format
 msgid "%B(%A): internal error: out of range error"
 msgstr "%B(%A): erreur interne: hors limite"
 
-#: elf32-arc.c:1869 elf32-rl78.c:1104 elf32-rx.c:1458
+#: elf32-arc.c:1870 elf32-rl78.c:1105 elf32-rx.c:1459
 #, c-format
 msgid "%B(%A): internal error: unsupported relocation error"
 msgstr "%B(%A): erreur interne: rÃ©adressage non supportÃ©"
 
-#: elf32-arc.c:1874 elf32-rl78.c:1109 elf32-rx.c:1463
+#: elf32-arc.c:1875 elf32-rl78.c:1110 elf32-rx.c:1464
 #, c-format
 msgid "%B(%A): internal error: dangerous relocation"
 msgstr "%B(%A): erreur interne: rÃ©adressage dangereux"
 
-#: elf32-arc.c:1879 elf32-rl78.c:1114 elf32-rx.c:1468
+#: elf32-arc.c:1880 elf32-rl78.c:1115 elf32-rx.c:1469
 #, c-format
 msgid "%B(%A): internal error: unknown error"
 msgstr "%B(%A): erreur interne: erreur inconnue"
 
-#: elf32-arc.c:1967 elf32-arm.c:14714 elf32-metag.c:2272 elfxx-mips.c:8883
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:7224
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:484
+#: elf32-arc.c:1968 elf32-arm.c:14521 elf32-metag.c:2252 elfxx-mips.c:8889
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7103
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:471
 #, c-format
 msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
 msgstr "%B: rÃ©adressage de %s en vertu de Â«Â %sÂ Â» ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©; recompilez avec -fPIC"
 
-#: elf32-arc.c:2859
+#: elf32-arc.c:2860
 msgid "%B: Unknown mandatory ARC object attribute %d."
 msgstr "%B: L'attribut d'objet ARC obligatoire %d est inconnu."
 
-#: elf32-arc.c:2867
+#: elf32-arc.c:2868
 msgid "Warning: %B: Unknown ARC object attribute %d."
 msgstr "Attention: %B: Attribut d'objet ARC %d inconnu."
 
@@ -1411,9 +1468,9 @@ msgstr ""
 msgid "No address assigned to the veneers output section %s"
 msgstr "Aucune adresse assignÃ©e Ã  la section de sortie %s des trampolines (veneers)"
 
-#: elf32-arm.c:4490 elf32-arm.c:6627 elf32-hppa.c:587 elf32-m68hc1x.c:165
-#: elf32-metag.c:1198 elf32-nios2.c:2227
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:2852
+#: elf32-arm.c:4490 elf32-arm.c:6627 elf32-hppa.c:577 elf32-m68hc1x.c:165
+#: elf32-metag.c:1183 elf32-nios2.c:2207
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:2854
 #, c-format
 msgid "%B: cannot create stub entry %s"
 msgstr "%B: ne peut crÃ©er l'entrÃ©e de l'Ã©bauche %s"
@@ -1528,10 +1585,10 @@ msgstr "%B: incapable de trouver le tram
 #: elf32-arm.c:8618
 #, c-format
 msgid ""
-"%B(%A+0x%lx): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.\n"
+"%B(%A+%#x): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.\n"
 "Use gcc option -mrestrict-it to generate only one instruction per IT block.\n"
 msgstr ""
-"%B(%A+0x%lx): erreur: chargements multiples dÃ©tectÃ©s dans un bloc d'instruction IT qui n'est pas le dernier : le trampoline (veneer) du STM32L4XX ne peut pas Ãªtre gÃ©nÃ©rÃ©.\n"
+"%B(%A+%#x): erreur: chargements multiples dÃ©tectÃ©s dans un bloc d'instruction IT qui n'est pas le dernier : le trampoline (veneer) du STM32L4XX ne peut pas Ãªtre gÃ©nÃ©rÃ©.\n"
 "Utilisez l'option -mrestrict-it de gcc pour gÃ©nÃ©rer seulement une instruction par bloc IT.\n"
 
 #: elf32-arm.c:8716
@@ -1547,154 +1604,154 @@ msgstr "%B: Attention: gÃ©nÃ©ration de P
 
 #: elf32-arm.c:9723
 #, c-format
-msgid "%B(%A+0x%lx): unexpected Thumb instruction '0x%x' in TLS trampoline"
-msgstr "%B(%A+0x%lx): instruction Thumb Â«Â 0x%xÂ Â» inattendue dans le trampoline TLS"
+msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline"
+msgstr "%B(%A+%#Lx): instruction Thumb Â«Â %#lxÂ Â» inattendue dans le trampoline TLS"
 
 #: elf32-arm.c:9763
 #, c-format
-msgid "%B(%A+0x%lx): unexpected ARM instruction '0x%x' in TLS trampoline"
-msgstr "%B(%A+0x%lx): instruction ARM Â«Â 0x%xÂ Â» inattendue dans le trampoline TLS"
+msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline"
+msgstr "%B(%A+%#Lx): instruction ARM Â«Â %lxÂ Â» inattendue dans le trampoline TLS"
 
-#: elf32-arm.c:10097
+#: elf32-arm.c:10103
 msgid "shared object"
 msgstr "objet partagÃ©"
 
-#: elf32-arm.c:10100
+#: elf32-arm.c:10106
 msgid "PIE executable"
 msgstr "exÃ©cutable PIE"
 
-#: elf32-arm.c:10103
+#: elf32-arm.c:10109
 msgid "%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC"
 msgstr "%B: le rÃ©adressage de %s vers le symbole externe ou non dÃ©fini Â«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© en construisant un %s; recompilez avec -fPIC"
 
-#: elf32-arm.c:10234
-msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
-msgstr "\\%B: Attention: instruction Arm BLX vise la fonction Arm Â«Â %sÂ Â»."
+#: elf32-arm.c:10240
+msgid "%B: Warning: Arm BLX instruction targets Arm function '%s'."
+msgstr "%B: Attention: instruction Arm BLX vise la fonction Arm Â«Â %sÂ Â»."
 
-#: elf32-arm.c:10660
+#: elf32-arm.c:10666
 msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
 msgstr "%B: Attention: instruction de repÃ©rage BLX vise la fonction de repÃ©rage Â«Â %sÂ Â»."
 
-#: elf32-arm.c:11527
+#: elf32-arm.c:11534
 #, c-format
-msgid "%B(%A+0x%lx): unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
-msgstr "%B(%A+0x%lx): instruction Thumb Â«Â 0x%xÂ Â» inattendue rÃ©fÃ©rencÃ©e par TLS_GOTDESC"
+msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC"
+msgstr "%B(%A+%#Lx): instruction Thumb Â«Â %#lxÂ Â» inattendue rÃ©fÃ©rencÃ©e par TLS_GOTDESC"
 
-#: elf32-arm.c:11551
+#: elf32-arm.c:11557
 #, c-format
-msgid "%B(%A+0x%lx): unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
-msgstr "%B(%A+0x%lx): instruction ARM '0x%x' inattendue rÃ©fÃ©rencÃ©e par TLS_GOTDESC"
+msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC"
+msgstr "%B(%A+%#Lx): instruction ARM '%#lx' inattendue rÃ©fÃ©rencÃ©e par TLS_GOTDESC"
 
-#: elf32-arm.c:11581
+#: elf32-arm.c:11586 elf32-m68k.c:3701 elf32-metag.c:1916 elf32-nios2.c:4358
 #, c-format
-msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): rÃ©adressage R_ARM_TLS_LE32 pas permis dans un objet partagÃ©"
+msgid "%B(%A+%#Lx): %s relocation not permitted in shared object"
+msgstr "%B(%A+%#Lx): rÃ©adressage %s pas permis dans un objet partagÃ©"
 
-#: elf32-arm.c:11795
+#: elf32-arm.c:11799
 #, c-format
-msgid "%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations"
-msgstr "%B(%A+0x%lx): Seuls ADD ou SUB sont permis dans les rÃ©adressages du groupe ALU"
+msgid "%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group relocations"
+msgstr "%B(%A+%#Lx): Seuls ADD ou SUB sont permis dans les rÃ©adressages du groupe ALU"
 
-#: elf32-arm.c:11836 elf32-arm.c:11927 elf32-arm.c:12013 elf32-arm.c:12101
+#: elf32-arm.c:11839 elf32-arm.c:11929 elf32-arm.c:12015 elf32-arm.c:12103
 #, c-format
-msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"
-msgstr "%B(%A+0x%lx): DÃ©bordement en scindant 0x%lx pour le rÃ©adressage du groupe %s"
+msgid "%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"
+msgstr "%B(%A+%#Lx): DÃ©bordement en scindant %#Lx pour le rÃ©adressage du groupe %s"
 
-#: elf32-arm.c:12365 elf32-sh.c:4009 elf64-sh64.c:1539
+#: elf32-arm.c:12369 elf32-sh.c:4003 elf64-sh64.c:1539
 #, c-format
-msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
-msgstr "%B(%A+0x%lx): %s rÃ©adressage vers une section SEC_MERGE"
+msgid "%B(%A+%#Lx): %s relocation against SEC_MERGE section"
+msgstr "%B(%A+%#Lx): %s rÃ©adressage vers une section SEC_MERGE"
 
-#: elf32-arm.c:12477 elf32-m68k.c:4120 elf32-xtensa.c:2816
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6165
+#: elf32-arm.c:12481 elf32-m68k.c:3931 elf32-xtensa.c:2681
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6185
 #, c-format
-msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
-msgstr "%B(%A+0x%lx): %s utilisÃ© avec le symbole TLS %s"
+msgid "%B(%A+%#Lx): %s used with TLS symbol %s"
+msgstr "%B(%A+%#Lx): %s utilisÃ© avec le symbole TLS %s"
 
-#: elf32-arm.c:12479 elf32-m68k.c:4122 elf32-xtensa.c:2818
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6167
+#: elf32-arm.c:12483 elf32-m68k.c:3933 elf32-xtensa.c:2683
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6187
 #, c-format
-msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
-msgstr "%B(%A+0x%lx): %s utilisÃ© avec le symbole non-TLS %s"
+msgid "%B(%A+%#Lx): %s used with non-TLS symbol %s"
+msgstr "%B(%A+%#Lx): %s utilisÃ© avec le symbole non-TLS %s"
 
-#: elf32-arm.c:12561 elf32-tic6x.c:2739
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6500
+#: elf32-arm.c:12565 elf32-tic6x.c:2674
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6520
 msgid "out of range"
 msgstr "hors limite"
 
-#: elf32-arm.c:12565 elf32-nios2.c:4505 elf32-pru.c:821 elf32-tic6x.c:2743
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6504
+#: elf32-arm.c:12569 elf32-nios2.c:4492 elf32-pru.c:821 elf32-tic6x.c:2678
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6524
 msgid "unsupported relocation"
 msgstr "rÃ©adressage non supportÃ©"
 
-#: elf32-arm.c:12573 elf32-nios2.c:4515 elf32-pru.c:831 elf32-tic6x.c:2751
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6512
+#: elf32-arm.c:12577 elf32-nios2.c:4502 elf32-pru.c:831 elf32-tic6x.c:2686
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6532
 msgid "unknown error"
 msgstr "erreur inconnue"
 
-#: elf32-arm.c:13153
+#: elf32-arm.c:13157
 msgid "%B: Unknown mandatory EABI object attribute %d"
 msgstr "%B: L'attribut d'objet EABI obligatoire %d est manquant"
 
-#: elf32-arm.c:13161
+#: elf32-arm.c:13165
 msgid "Warning: %B: Unknown EABI object attribute %d"
 msgstr "Attention: %B: Attribut d'objet EABI %d inconnu"
 
-#: elf32-arm.c:13428
+#: elf32-arm.c:13432
 msgid "error: %B: Unknown CPU architecture"
 msgstr "erreur: %B: Architecture CPU inconnue"
 
-#: elf32-arm.c:13466 elf32-nios2.c:2965
+#: elf32-arm.c:13470 elf32-nios2.c:2945
 #, c-format
 msgid "error: %B: Conflicting CPU architectures %d/%d"
 msgstr "erreur: %B: Architectures CPU conflictuelles %d/%d"
 
-#: elf32-arm.c:13563
+#: elf32-arm.c:13567
 msgid "Error: %B has both the current and legacy Tag_MPextension_use attributes"
 msgstr "Erreur: %B utilise les deux attributs Tag_MPextension_use actuel et hÃ©ritÃ©"
 
-#: elf32-arm.c:13592
+#: elf32-arm.c:13596
 msgid "error: %B uses VFP register arguments, %B does not"
 msgstr "erreur: %B passe les paramÃ¨tres dans un registre VFP alors que %B ne le fait pas"
 
-#: elf32-arm.c:13750
+#: elf32-arm.c:13754
 msgid "error: %B: unable to merge virtualization attributes with %B"
 msgstr "erreur: %B: impossible de fusionner les attributs de visualisation avec %B"
 
-#: elf32-arm.c:13776
+#: elf32-arm.c:13780
 msgid "error: %B: Conflicting architecture profiles %c/%c"
 msgstr "erreur: %B: Profils d'architecture conflictuels %c/%c"
 
-#: elf32-arm.c:13915
+#: elf32-arm.c:13919
 msgid "Warning: %B: Conflicting platform configuration"
 msgstr "Attention: %B: Configuration de platforme conflictuelle"
 
-#: elf32-arm.c:13924
+#: elf32-arm.c:13928
 msgid "error: %B: Conflicting use of R9"
 msgstr "erreur: %B: Utilisation conflictuelle de R9"
 
-#: elf32-arm.c:13936
+#: elf32-arm.c:13940
 msgid "error: %B: SB relative addressing conflicts with use of R9"
 msgstr "erreur: %B: Adressage relatif SB entre en conflit avec l'utilisation de R9"
 
-#: elf32-arm.c:13949
+#: elf32-arm.c:13953
 msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
 msgstr "attention: %B utilise des wchar_t de %u octets alors que la sortie doit utiliser des wchar_t de %u octets. L'utilisation de wchar_t entre objets peu Ã©chouer"
 
-#: elf32-arm.c:13980
+#: elf32-arm.c:13984
 msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
-msgstr "attantion: %B utilise des enums %s alors que la sortie doit utiliser des enums %s. L'utilisation des valeurs enum entre objets peu Ã©chouer"
+msgstr "attention: %B utilise des enums %s alors que la sortie doit utiliser des enums %s. L'utilisation des valeurs enum entre objets peu Ã©chouer"
 
-#: elf32-arm.c:13992
+#: elf32-arm.c:13996
 msgid "error: %B uses iWMMXt register arguments, %B does not"
 msgstr "erreur: %B passe les paramÃ¨tres dans le registre iWMMXt contrairement Ã  %B"
 
-#: elf32-arm.c:14009
+#: elf32-arm.c:14013
 msgid "error: fp16 format mismatch between %B and %B"
 msgstr "erreur: dÃ©saccord de format fp16 entre %B et %B"
 
-#: elf32-arm.c:14045
-msgid "%B has has both the current and legacy Tag_MPextension_use attributes"
+#: elf32-arm.c:14049
+msgid "%B has both the current and legacy Tag_MPextension_use attributes"
 msgstr "%B utilise les deux attributs Tag_MPextension_use actuel et hÃ©ritÃ©"
 
 #. Ignore init flag - it may not be set, despite the flags field
@@ -1702,203 +1759,214 @@ msgstr "%B utilise les deux attributs Ta
 #. Ignore init flag - it may not be set, despite the flags field containing valid data.
 #. Ignore init flag - it may not be set, despite the flags field
 #. containing valid data.
-#: elf32-arm.c:14132 elf32-bfin.c:4919 elf32-cris.c:4089 elf32-m68hc1x.c:1413
-#: elf32-m68k.c:1200 elf32-score.c:4002 elf32-score7.c:3807 elf32-vax.c:536
-#: elf32-xgate.c:669 elfxx-mips.c:15802
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6666
+#: elf32-arm.c:14136 elf32-bfin.c:4729 elf32-cris.c:3905 elf32-m68hc1x.c:1409
+#: elf32-m68k.c:1199 elf32-score.c:3998 elf32-score7.c:3803 elf32-vax.c:536
+#: elf32-xgate.c:669 elfxx-mips.c:15756
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6686
 #, c-format
 msgid "private flags = %lx:"
 msgstr "fanions privÃ©s = %lx"
 
-#: elf32-arm.c:14141
+#: elf32-arm.c:14145
 #, c-format
 msgid " [interworking enabled]"
 msgstr " [inter-rÃ©seautage autorisÃ©]"
 
-#: elf32-arm.c:14149
+#: elf32-arm.c:14153
 #, c-format
 msgid " [VFP float format]"
 msgstr " [format flottant VFP]"
 
-#: elf32-arm.c:14151
+#: elf32-arm.c:14155
 #, c-format
 msgid " [Maverick float format]"
 msgstr " [format flottant Maverick]"
 
-#: elf32-arm.c:14153
+#: elf32-arm.c:14157
 #, c-format
 msgid " [FPA float format]"
 msgstr " [format flottant FPA]"
 
-#: elf32-arm.c:14162
+#: elf32-arm.c:14166
 #, c-format
 msgid " [new ABI]"
 msgstr " [nouvel ABI]"
 
-#: elf32-arm.c:14165
+#: elf32-arm.c:14169
 #, c-format
 msgid " [old ABI]"
 msgstr " [ancien ABI]"
 
-#: elf32-arm.c:14168
+#: elf32-arm.c:14172
 #, c-format
 msgid " [software FP]"
 msgstr " [virgule flottante logiciel]"
 
-#: elf32-arm.c:14177
+#: elf32-arm.c:14181
 #, c-format
 msgid " [Version1 EABI]"
 msgstr " [Version1 EABI]"
 
-#: elf32-arm.c:14180 elf32-arm.c:14191
+#: elf32-arm.c:14184 elf32-arm.c:14195
 #, c-format
 msgid " [sorted symbol table]"
 msgstr " [table des symboles triÃ©s]"
 
-#: elf32-arm.c:14182 elf32-arm.c:14193
+#: elf32-arm.c:14186 elf32-arm.c:14197
 #, c-format
 msgid " [unsorted symbol table]"
 msgstr " [table des symboles non triÃ©s]"
 
-#: elf32-arm.c:14188
+#: elf32-arm.c:14192
 #, c-format
 msgid " [Version2 EABI]"
 msgstr " [Version2 EABI]"
 
-#: elf32-arm.c:14196
+#: elf32-arm.c:14200
 #, c-format
 msgid " [dynamic symbols use segment index]"
 msgstr " [symboles dynamiques utilisent un index de segment]"
 
-#: elf32-arm.c:14199
+#: elf32-arm.c:14203
 #, c-format
 msgid " [mapping symbols precede others]"
 msgstr " [mapping de symboles prÃ©cÃ¨des les autres]"
 
-#: elf32-arm.c:14206
+#: elf32-arm.c:14210
 #, c-format
 msgid " [Version3 EABI]"
 msgstr " [Version3 EABI]"
 
-#: elf32-arm.c:14210
+#: elf32-arm.c:14214
 #, c-format
 msgid " [Version4 EABI]"
 msgstr " [Version4 EABI]"
 
-#: elf32-arm.c:14214
+#: elf32-arm.c:14218
 #, c-format
 msgid " [Version5 EABI]"
 msgstr " [Version5 EABI]"
 
-#: elf32-arm.c:14217
+#: elf32-arm.c:14221
 #, c-format
 msgid " [soft-float ABI]"
 msgstr " [soft-float ABI]"
 
-#: elf32-arm.c:14220
+#: elf32-arm.c:14224
 #, c-format
 msgid " [hard-float ABI]"
 msgstr " [hard-float ABI]"
 
-#: elf32-arm.c:14226
+#: elf32-arm.c:14230
 #, c-format
 msgid " [BE8]"
 msgstr " [BE8]"
 
-#: elf32-arm.c:14229
+#: elf32-arm.c:14233
 #, c-format
 msgid " [LE8]"
 msgstr " [LE8]"
 
-#: elf32-arm.c:14235
+#: elf32-arm.c:14239
 #, c-format
 msgid " <EABI version unrecognised>"
 msgstr " <Version EABI non reconnue>"
 
-#: elf32-arm.c:14242
+#: elf32-arm.c:14246
 #, c-format
 msgid " [relocatable executable]"
 msgstr " [exÃ©cutables relocalisÃ©s]"
 
-#: elf32-arm.c:14247
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6669
+#: elf32-arm.c:14251
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6689
 #, c-format
 msgid "<Unrecognised flag bits set>"
 msgstr "<Bits de fanions non reconnus>"
 
-#: elf32-arm.c:14557 elf32-i386.c:2053 elf32-s390.c:956 elf32-tic6x.c:2814
-#: elf32-tilepro.c:1491 elf32-xtensa.c:1018 elf64-s390.c:875
-#: elf64-x86-64.c:2444 elfxx-sparc.c:1440 elfxx-tilegx.c:1708
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:7115
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:526
+#: elf32-arm.c:14368 elf32-i386.c:1510 elf32-s390.c:956 elf32-tic6x.c:2749
+#: elf32-tilepro.c:1471 elf32-xtensa.c:1018 elf64-s390.c:875
+#: elf64-x86-64.c:1823 elfxx-sparc.c:1420 elfxx-tilegx.c:1688
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6978
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:513
 #, c-format
 msgid "%B: bad symbol index: %d"
 msgstr "%B: symbole index erronÃ©: %d"
 
-#: elf32-arm.c:16055
+#: elf32-arm.c:15636 elf32-hppa.c:2082 elf32-lm32.c:1989 elf32-m32r.c:2097
+#: elf32-metag.c:2792 elf32-nds32.c:3844 elf32-or1k.c:2281 elf32-ppc.c:6156
+#: elf32-s390.c:1851 elf32-sh.c:3289 elf32-tic6x.c:3205 elf32-tilepro.c:2237
+#: elf64-ppc.c:9893 elf64-s390.c:1785 elfxx-sparc.c:2457 elfxx-tilegx.c:2479
+#: elfxx-x86.c:563
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:8319
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:1112
+#, c-format
+msgid "%B: dynamic relocation against `%T' in read-only section `%A'\n"
+msgstr "%B: rÃ©adressage dynamique sur Â«Â %TÂ Â» dans la section en lecture seule Â«Â %AÂ Â»\n"
+
+#: elf32-arm.c:15881
 msgid "Errors encountered processing file %B"
 msgstr "Erreurs rencontrÃ©es pendant le traitement du fichier %B"
 
-#: elf32-arm.c:16493 elflink.c:12297 elflink.c:12344
+#: elf32-arm.c:16318 elflink.c:12394 elflink.c:12441
 #, c-format
 msgid "could not find section %s"
 msgstr "ne peut repÃ©rer la section %s"
 
-#: elf32-arm.c:17669
+#: elf32-arm.c:17494
 msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
 msgstr "%B: erreur: L'Ã©bauche d'erratum du Cortex A8 est allouÃ©e Ã  un emplacement peu sÃ»r"
 
 #. There's not much we can do apart from complain if this
 #. happens.
-#: elf32-arm.c:17696
+#: elf32-arm.c:17521
 msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
 msgstr "%B: erreur: L'Ã©bauche d'erratum du Cortex A8 est hors limite (fichier d'entrÃ©e trop grand)"
 
-#: elf32-arm.c:18523 elf32-arm.c:18545
+#: elf32-arm.c:18348 elf32-arm.c:18370
 msgid "%B: error: VFP11 veneer out of range"
 msgstr "%B: erreur: vernis VFP11 hors limite"
 
-#: elf32-arm.c:18596
-msgid "%B(%#x): error: Cannot create STM32L4XX veneer. Jump out of range by %ld bytes. Cannot encode branch instruction. "
-msgstr "%B(%#x): erreur: Impossible de crÃ©er le trampoline (veneer) du STM32L4XX. Saut hors de portÃ©e pour %ld octets. Impossible d'encoder l'instruction de branchement. "
+#: elf32-arm.c:18421
+msgid "%B(%#Lx): error: Cannot create STM32L4XX veneer. Jump out of range by %Ld bytes. Cannot encode branch instruction. "
+msgstr "%B(%#Lx): erreur: Impossible de crÃ©er le trampoline (veneer) du STM32L4XX. Saut hors de portÃ©e pour %Ld octets. Impossible d'encoder l'instruction de branchement. "
 
-#: elf32-arm.c:18634
+#: elf32-arm.c:18459
 msgid "%B: error: Cannot create STM32L4XX veneer."
 msgstr "%B: erreur: Impossible de crÃ©er le trampoline (veneer) du STM32L4XX."
 
-#: elf32-arm.c:19655
+#: elf32-arm.c:19481
 msgid "error: %B is already in final BE8 format"
 msgstr "erreur: %B est dÃ©jÃ  au format final BE8"
 
-#: elf32-arm.c:19731
+#: elf32-arm.c:19557
 msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d"
 msgstr "erreur: L'objet source %B a l'EABI version %d alors que la cible %B a l'EABI version %d"
 
-#: elf32-arm.c:19746
+#: elf32-arm.c:19572
 msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
 msgstr "erreur: %B compilÃ© pour APCS-%d alors que la cible %B utilise APCS-%d"
 
-#: elf32-arm.c:19770
+#: elf32-arm.c:19596
 msgid "error: %B uses VFP instructions, whereas %B does not"
 msgstr "erreur: %B utilise les instructions VFP alors que %B ne les utilise pas"
 
-#: elf32-arm.c:19774
+#: elf32-arm.c:19600
 msgid "error: %B uses FPA instructions, whereas %B does not"
 msgstr "erreur: %B utilise les instructions FPA alors que %B ne les utilise pas"
 
-#: elf32-arm.c:19784
+#: elf32-arm.c:19610
 msgid "error: %B uses Maverick instructions, whereas %B does not"
 msgstr "erreur: %B utilise les instructions Maverick alors que %B ne les utilise pas"
 
-#: elf32-arm.c:19788
+#: elf32-arm.c:19614
 msgid "error: %B does not use Maverick instructions, whereas %B does"
 msgstr "erreur: %B n'utilise pas les instructions Maverick alors que %B les utilise"
 
-#: elf32-arm.c:19807
+#: elf32-arm.c:19633
 msgid "error: %B uses software FP, whereas %B uses hardware FP"
 msgstr "erreur: %B utilise le logiciel pour virgule flottante alors que %B utilise le matÃ©riel pour virgule flottante"
 
-#: elf32-arm.c:19811
+#: elf32-arm.c:19637
 msgid "error: %B uses hardware FP, whereas %B uses software FP"
 msgstr "erreur: %B utilise le matÃ©riel pour virgule flottante alors que %B utilise le logiciel pour virgule flottante"
 
@@ -1907,18 +1975,18 @@ msgstr "erreur: %B utilise le matÃ©riel 
 msgid "%B: invalid AVR reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage AVR invalide: %d"
 
-#: elf32-avr.c:1510 elf32-bfin.c:3202 elf32-cris.c:2033 elf32-epiphany.c:574
-#: elf32-fr30.c:599 elf32-frv.c:4049 elf32-ft32.c:342 elf32-i860.c:1218
-#: elf32-ip2k.c:1486 elf32-iq2000.c:701 elf32-m32c.c:629 elf32-mep.c:532
-#: elf32-metag.c:2009 elf32-moxie.c:293 elf32-msp430.c:1365 elf32-mt.c:404
-#: elf32-or1k.c:1266 elf32-tilepro.c:3673 elf32-v850.c:2295 elf32-visium.c:685
-#: elf32-xstormy16.c:935 elf64-mmix.c:1548 elfxx-tilegx.c:4060
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2275
+#: elf32-avr.c:1510 elf32-bfin.c:3124 elf32-cris.c:2038 elf32-epiphany.c:574
+#: elf32-fr30.c:599 elf32-frv.c:4049 elf32-ft32.c:493 elf32-i860.c:1218
+#: elf32-ip2k.c:1486 elf32-iq2000.c:697 elf32-m32c.c:630 elf32-mep.c:532
+#: elf32-metag.c:1993 elf32-moxie.c:293 elf32-msp430.c:1361 elf32-mt.c:404
+#: elf32-or1k.c:1246 elf32-tilepro.c:3505 elf32-v850.c:2291 elf32-visium.c:685
+#: elf32-xstormy16.c:931 elf64-mmix.c:1546 elfxx-tilegx.c:3865
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2245
 msgid "internal error: dangerous relocation"
 msgstr "erreur interne: rÃ©adressage dangereux"
 
 #: elf32-avr.c:3319
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:2880
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:2882
 #, c-format
 msgid "cannot create stub entry %s"
 msgstr "ne peut crÃ©er l'entrÃ©e d'Ã©bauche %s"
@@ -1927,69 +1995,69 @@ msgstr "ne peut crÃ©er l'entrÃ©e d'Ã©bau
 msgid "relocation should be even number"
 msgstr "le rÃ©adressage devrait Ãªtre un nombre paire"
 
-#: elf32-bfin.c:1581
+#: elf32-bfin.c:1577
 #, c-format
-msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
-msgstr "%B(%A+0x%lx): rÃ©adressage sans solution vers le symbole Â«Â %sÂ Â»"
+msgid "%B(%A+%#Lx): unresolvable relocation against symbol `%s'"
+msgstr "%B(%A+%#Lx): rÃ©adressage sans solution vers le symbole Â«Â %sÂ Â»"
 
-#: elf32-bfin.c:1612 elf32-i386.c:5412 elf32-m68k.c:4160 elf32-s390.c:3429
-#: elf64-s390.c:3353 elf64-x86-64.c:5793
+#: elf32-bfin.c:1608 elf32-i386.c:3473 elf32-m68k.c:3971 elf32-s390.c:3261
+#: elf64-s390.c:3175 elf64-x86-64.c:3839
 #, c-format
-msgid "%B(%A+0x%lx): reloc against `%s': error %d"
-msgstr "%B(%A+0x%lx): rÃ©adressage vers Â«Â %sÂ Â»: erreur %d"
+msgid "%B(%A+%#Lx): reloc against `%s': error %d"
+msgstr "%B(%A+%#Lx): rÃ©adressage sur Â«Â %sÂ Â»: erreur %d"
 
-#: elf32-bfin.c:2706
+#: elf32-bfin.c:2628
 #, c-format
-msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
-msgstr "%B: rÃ©adressage Ã  Â«Â %A+0x%xÂ Â» fait rÃ©fÃ©rence au symbole Â«Â %sÂ Â» avec un opÃ©rande non nul"
+msgid "%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend"
+msgstr "%B: rÃ©adressage Ã  Â«Â %A+%#LxÂ Â» fait rÃ©fÃ©rence au symbole Â«Â %sÂ Â» avec un opÃ©rande non nul"
 
-#: elf32-bfin.c:2722
+#: elf32-bfin.c:2644
 msgid "relocation references symbol not defined in the module"
 msgstr "le rÃ©adressage fait rÃ©fÃ©rence Ã  un symbole non dÃ©fini dans le module"
 
-#: elf32-bfin.c:2819
+#: elf32-bfin.c:2741
 msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
 msgstr "R_BFIN_FUNCDESC fait rÃ©fÃ©rence Ã  un symbole dynamique avec un opÃ©rande non nul"
 
-#: elf32-bfin.c:2860 elf32-bfin.c:2983
+#: elf32-bfin.c:2782 elf32-bfin.c:2905
 msgid "cannot emit fixups in read-only section"
 msgstr "impossible d'apporter des corrections dans une section en lecture seule"
 
-#: elf32-bfin.c:2891 elf32-bfin.c:3021 elf32-lm32.c:1064 elf32-sh.c:4930
+#: elf32-bfin.c:2813 elf32-bfin.c:2943 elf32-lm32.c:1044 elf32-sh.c:4926
 msgid "cannot emit dynamic relocations in read-only section"
 msgstr "impossible d'Ã©diter les rÃ©adressages dynamiques dans une section en lecture seule"
 
-#: elf32-bfin.c:2941
+#: elf32-bfin.c:2863
 msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
 msgstr "R_BFIN_FUNCDESC_VALUE fait rÃ©fÃ©rence Ã  un symbole dynamique avec un opÃ©rande non nul"
 
-#: elf32-bfin.c:3106
+#: elf32-bfin.c:3028
 msgid "relocations between different segments are not supported"
 msgstr "les rÃ©adressages entre segments diffÃ©rents ne sont pas supportÃ©s"
 
-#: elf32-bfin.c:3107
+#: elf32-bfin.c:3029
 msgid "warning: relocation references a different segment"
 msgstr "attention: rÃ©adressage fait rÃ©fÃ©rence Ã  un segment diffÃ©rent"
 
-#: elf32-bfin.c:4877
+#: elf32-bfin.c:4687
 #, c-format
-msgid "%B: unsupported relocation type %i"
-msgstr "%B: type de rÃ©adressage %i non supportÃ©"
+msgid "%B: unsupported relocation type %d"
+msgstr "%B: type de rÃ©adressage %d non supportÃ©"
 
-#: elf32-bfin.c:4966 elf32-frv.c:6599
+#: elf32-bfin.c:4776 elf32-frv.c:6596
 msgid "%B: cannot link non-fdpic object file into fdpic executable"
 msgstr "%B: ne peut lier un fichier objet non fdpic dans un exÃ©cutable fdpic"
 
-#: elf32-bfin.c:4970 elf32-frv.c:6603
+#: elf32-bfin.c:4780 elf32-frv.c:6600
 msgid "%B: cannot link fdpic object file into non-fdpic executable"
 msgstr "%B: ne peut lier un fichier objet fdpic dans un exÃ©cutable non fdpic"
 
-#: elf32-bfin.c:5120
+#: elf32-bfin.c:4930
 #, c-format
 msgid "*** check this relocation %s"
 msgstr "*** vÃ©rifiez ce rÃ©adressage %s"
 
-#: elf32-bfin.c:5236
+#: elf32-bfin.c:5046
 msgid "the bfin target does not currently support the generation of copy relocations"
 msgstr "la cible bfin ne supporte actuellement pas la gÃ©nÃ©ration de rÃ©adressages copiÃ©s"
 
@@ -2013,80 +2081,80 @@ msgstr "%B: numÃ©ro de rÃ©adressage CR16
 msgid "%B: invalid CRIS reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage CRIS invalide: %d"
 
-#: elf32-cris.c:1115
+#: elf32-cris.c:1116
 #, c-format
 msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
 msgstr "%B, section %A: rÃ©adressage %s non rÃ©solu sur le symbole Â«Â %sÂ Â»"
 
-#: elf32-cris.c:1177
+#: elf32-cris.c:1181
 #, c-format
 msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'"
-msgstr "%B, section %a: Pas de PLT ni de GOT pour rÃ©adresser %s sur le symbole Â«Â %sÂ Â»"
+msgstr "%B, section %A: Pas de PLT ni de GOT pour rÃ©adresser %s sur le symbole Â«Â %sÂ Â»"
 
-#: elf32-cris.c:1180
+#: elf32-cris.c:1184
 #, c-format
 msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
 msgstr "%B, section %A: Pas de PLT pour rÃ©adresser %s sur le symbole Â«Â %sÂ Â»"
 
-#: elf32-cris.c:1186 elf32-cris.c:1319 elf32-cris.c:1583 elf32-cris.c:1666
-#: elf32-cris.c:1819 elf32-tic6x.c:2651
+#: elf32-cris.c:1190 elf32-cris.c:1323 elf32-cris.c:1588 elf32-cris.c:1671
+#: elf32-cris.c:1824 elf32-tic6x.c:2586
 msgid "[whose name is lost]"
 msgstr "[dont le nom est perdu]"
 
-#: elf32-cris.c:1304 elf32-tic6x.c:2635
+#: elf32-cris.c:1308 elf32-tic6x.c:2570
 #, c-format
-msgid "%B, section %A: relocation %s with non-zero addend %d against local symbol"
-msgstr "%B, section %A: rÃ©adressage de %s avec un opÃ©rande non nul %d sur le symbole local"
+msgid "%B, section %A: relocation %s with non-zero addend %Ld against local symbol"
+msgstr "%B, section %A: rÃ©adressage de %s avec un opÃ©rande non nul %Ld sur le symbole local"
 
-#: elf32-cris.c:1313 elf32-cris.c:1660 elf32-cris.c:1813 elf32-tic6x.c:2644
+#: elf32-cris.c:1317 elf32-cris.c:1665 elf32-cris.c:1818 elf32-tic6x.c:2579
 #, c-format
-msgid "%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
-msgstr "%B, section %A: rÃ©adressage de %s avec un opÃ©rande non nul %d sur le symbole Â«Â %sÂ Â»"
+msgid "%B, section %A: relocation %s with non-zero addend %Ld against symbol `%s'"
+msgstr "%B, section %A: rÃ©adressage de %s avec un opÃ©rande non nul %Ld sur le symbole Â«Â %sÂ Â»"
 
-#: elf32-cris.c:1340
+#: elf32-cris.c:1344
 #, c-format
 msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'"
 msgstr "%B, section %A: le rÃ©adressage de %s n'est pas permis pour le symbole global: Â«Â %sÂ Â»"
 
-#: elf32-cris.c:1357
+#: elf32-cris.c:1361
 #, c-format
 msgid "%B, section %A: relocation %s with no GOT created"
 msgstr "%B, section %A: rÃ©adressage de %s sans GOT"
 
 #. We shouldn't get here for GCC-emitted code.
-#: elf32-cris.c:1573
+#: elf32-cris.c:1578
 #, c-format
 msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
 msgstr "%B, section %A: rÃ©adressage de %s a une rÃ©fÃ©rence non dÃ©finie vers Â«Â %sÂ Â», peut-Ãªtre un mÃ©lange dans les dÃ©clarations ?"
 
-#: elf32-cris.c:1576
+#: elf32-cris.c:1581
 #, c-format
 msgid "%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?"
 msgstr "%B, section %A: rÃ©adressage de %s n'est pas permis pour Â«Â %sÂ Â», un symbole global avec la visibilitÃ© par dÃ©faut, peut-Ãªtre un mÃ©lange dans les dÃ©clarations ?"
 
-#: elf32-cris.c:1947
+#: elf32-cris.c:1952
 #, c-format
 msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
 msgstr "%B, section %A: rÃ©adressage de %s n'est pas permis pour le symbole Â«Â %sÂ Â» qui est dÃ©fini en dehors du programme, peut-Ãªtre un mÃ©lange dans les dÃ©clarations ?"
 
-#: elf32-cris.c:2000
+#: elf32-cris.c:2005
 msgid "(too many global variables for -fpic: recompile with -fPIC)"
 msgstr "(trop de variables globales pour -fpic: recompilez avec -fPIC)"
 
-#: elf32-cris.c:2007
+#: elf32-cris.c:2012
 msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)"
 msgstr "(donnÃ©e locale au thread trop grande pour -fpic or -msmall-tls: recompilez avec -fPIC ou -mno-small-tls)"
 
-#: elf32-cris.c:3233
+#: elf32-cris.c:3047
 #, c-format
 msgid ""
 "%B, section %A:\n"
-"  v10/v32 compatible object %s must not contain a PIC relocation"
+"  v10/v32 compatible object must not contain a PIC relocation"
 msgstr ""
 "%B, section %A:\n"
-"  l'objet compatible v10/v32 %s ne peut pas contenir de rÃ©adressage PIC"
+"  l'objet compatible v10/v32 ne peut pas contenir de rÃ©adressage PIC"
 
-#: elf32-cris.c:3287
+#: elf32-cris.c:3101
 #, c-format
 msgid ""
 "%B, section %A:\n"
@@ -2095,7 +2163,7 @@ msgstr ""
 "%B, section %A:\n"
 "  rÃ©adressage de %s pas valable dans un objet partagÃ©; typiquement un mÃ©lange dans les options. Recompilez avec -fPIC"
 
-#: elf32-cris.c:3505
+#: elf32-cris.c:3319
 #, c-format
 msgid ""
 "%B, section %A:\n"
@@ -2104,7 +2172,7 @@ msgstr ""
 "%B, section %A:\n"
 "  rÃ©adressage de %s ne devrait pas Ãªtre utilisÃ© dans un objet partagÃ©; recompilez avec -fPIC"
 
-#: elf32-cris.c:3929
+#: elf32-cris.c:3744
 #, c-format
 msgid ""
 "%B, section `%A', to symbol `%s':\n"
@@ -2113,38 +2181,38 @@ msgstr ""
 "%B, section Â«Â %AÂ Â», vers le symbole Â«Â %sÂ Â»:\n"
 "  rÃ©adressage de %s ne devrait pas Ãªtre utilisÃ© dans un objet partagÃ©; recompilez avec -fPIC"
 
-#: elf32-cris.c:4041
+#: elf32-cris.c:3857
 msgid "Unexpected machine number"
 msgstr "NumÃ©ro de machine inattendu"
 
-#: elf32-cris.c:4092
+#: elf32-cris.c:3908
 #, c-format
 msgid " [symbols have a _ prefix]"
 msgstr " [symboles sont prÃ©fixÃ©s par Â«Â  _ Â Â»]"
 
-#: elf32-cris.c:4095
+#: elf32-cris.c:3911
 #, c-format
 msgid " [v10 and v32]"
 msgstr " [v10 et v32]"
 
-#: elf32-cris.c:4098
+#: elf32-cris.c:3914
 #, c-format
 msgid " [v32]"
 msgstr " [v32]"
 
-#: elf32-cris.c:4142
+#: elf32-cris.c:3958
 msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
 msgstr "%B: utilise des symboles prÃ©fixÃ©s par _ mais Ã©crits les symboles sans prÃ©fixes dans le fichier"
 
-#: elf32-cris.c:4143
+#: elf32-cris.c:3959
 msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
 msgstr "%B: utilise des symboles sans prÃ©fixe mais ajoute le prÃ©fixe _ aux symboles dans le fichier"
 
-#: elf32-cris.c:4162
+#: elf32-cris.c:3978
 msgid "%B contains CRIS v32 code, incompatible with previous objects"
 msgstr "%B contient du code CRIS v32 incompatible avec les objets prÃ©cÃ©dents"
 
-#: elf32-cris.c:4164
+#: elf32-cris.c:3980
 msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
 msgstr "%B contient du code non CRIS v32 incompatible avec les objets prÃ©cÃ©dents"
 
@@ -2173,7 +2241,7 @@ msgstr "Erreur de liaison BFD: brancheme
 msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported"
 msgstr "Erreur de liaison BFD: saut (PC rel26) Ã  la section (%s) n'est pas supportÃ©"
 
-#: elf32-dlx.c:552
+#: elf32-dlx.c:548
 #, c-format
 msgid "Invalid DLX reloc number: %d"
 msgstr "NumÃ©ro de rÃ©adressage DLX invalide: %d"
@@ -2285,57 +2353,66 @@ msgstr "%H: le rÃ©adressage sur Â«Â %sÂ 
 msgid "%H: reloc against `%s': %s\n"
 msgstr "%H: rÃ©adressage sur Â«Â %sÂ Â»: %s\n"
 
-#: elf32-frv.c:6258
+#: elf32-frv.c:6255
 #, c-format
 msgid "%B: unsupported relocation type %i\n"
 msgstr "%B: type de rÃ©adressage %i non supportÃ©\n"
 
-#: elf32-frv.c:6510
+#: elf32-frv.c:6507
 #, c-format
 msgid "%B: compiled with %s and linked with modules that use non-pic relocations"
 msgstr "%B: compilÃ© avec %s et liÃ© avec les modules qui utilisent le rÃ©adressage non PIC"
 
-#: elf32-frv.c:6564 elf32-iq2000.c:832 elf32-m32c.c:877
+#: elf32-frv.c:6561 elf32-iq2000.c:828 elf32-m32c.c:874
 #, c-format
 msgid "%B: compiled with %s and linked with modules compiled with %s"
 msgstr "%B: compilÃ© avec %s et liÃ© avec les modules compilÃ©s avec %s"
 
-#: elf32-frv.c:6577
+#: elf32-frv.c:6574
 #, c-format
-msgid "%B: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%B: utilise diffÃ©rents champs e_flags (0x%lx) que les modules prÃ©cÃ©dents (0x%lx)"
+msgid "%B: uses different unknown e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%B: utilise diffÃ©rents champs e_flags (%#x) de ceux des modules prÃ©cÃ©dents (%#x)"
 
 #: elf32-gen.c:69 elf64-gen.c:69
 #, c-format
 msgid "%B: Relocations in generic ELF (EM: %d)"
 msgstr "%B: RÃ©adressages en format ELF gÃ©nÃ©rique (EM: %d)"
 
-#: elf32-hppa.c:839 elf32-hppa.c:3599
+#: elf32-hppa.c:829 elf32-hppa.c:3499
 #, c-format
-msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"
-msgstr "%B(%A+0x%lx): ne peut atteindre %s, recompilez avec -ffunction-sections"
+msgid "%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections"
+msgstr "%B(%A+%#Lx): ne peut atteindre %s, recompilez avec -ffunction-sections"
 
-#: elf32-hppa.c:1270
+#: elf32-hppa.c:1242
 #, c-format
 msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC"
 msgstr "%B: rÃ©adressage de %s ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©; recompilez avec -fPIC"
 
-#: elf32-hppa.c:2778
+#: elf32-hppa.c:2680
 #, c-format
 msgid "%B: duplicate export stub %s"
 msgstr "%B: Ã©bauche d'exportation en double %s"
 
-#: elf32-hppa.c:3433
+#: elf32-hppa.c:3333
 #, c-format
-msgid "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"
-msgstr "%B(%A+0x%lx): correction %s pour insn 0x%x n'est pas supportÃ© dans un lien non partagÃ©"
+msgid "%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link"
+msgstr "%B(%A+%#Lx): correction %s pour insn %#x n'est pas supportÃ© dans un lien non partagÃ©"
 
-#: elf32-hppa.c:4290
+#: elf32-hppa.c:4124
 #, c-format
-msgid "%B(%A+0x%lx): cannot handle %s for %s"
-msgstr "%B(%A+0x%lx): ne sait pas traiter %s pour %s"
+msgid "%s has both normal and TLS relocs"
+msgstr "%s a, Ã  la fois, des rÃ©adressages normaux et TLS"
 
-#: elf32-hppa.c:4588
+#: elf32-hppa.c:4142
+msgid "%B:%s has both normal and TLS relocs"
+msgstr "%B:%s a, Ã  la fois, des rÃ©adressages normaux et TLS"
+
+#: elf32-hppa.c:4201
+#, c-format
+msgid "%B(%A+%#Lx): cannot handle %s for %s"
+msgstr "%B(%A+%#Lx): ne sait pas traiter %s pour %s"
+
+#: elf32-hppa.c:4505
 msgid ".got section not immediately after .plt section"
 msgstr "section .got pas immÃ©diatement aprÃ¨s la section .plt"
 
@@ -2344,175 +2421,89 @@ msgstr "section .got pas immÃ©diatement 
 msgid "%B: unrecognised I370 reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage I370 non reconnu: %d"
 
-#: elf32-i370.c:1168
+#: elf32-i370.c:1164
 msgid "%B: unknown relocation type %d for symbol %s"
 msgstr "%B: type de rÃ©adressage %d inconnu pour le symbole %s"
 
-#: elf32-i370.c:1310
+#: elf32-i370.c:1306
 #, c-format
 msgid "%B: Relocation %s is not yet supported for symbol %s."
 msgstr "%B: rÃ©adressage %s n'est pas encore supportÃ© pour le symbole %s"
 
 #. Unknown relocation.
-#: elf32-i386.c:387 elf32-m68k.c:352 elf32-ppc.c:2074 elf32-s390.c:346
-#: elf32-tic6x.c:2674 elf32-wasm32.c:106 elf64-ppc.c:2516 elf64-s390.c:373
-#: elf64-x86-64.c:289
+#: elf32-i386.c:384 elf32-m68k.c:352 elf32-ppc.c:2039 elf32-s390.c:346
+#: elf32-tic6x.c:2609 elf32-wasm32.c:106 elf64-ppc.c:2516 elf64-s390.c:373
+#: elf64-x86-64.c:285
 #, c-format
 msgid "%B: invalid relocation type %d"
 msgstr "%B: type de rÃ©adressage %d invalide"
 
-#: elf32-i386.c:1711 elf64-x86-64.c:1888
+#: elf32-i386.c:1159 elf64-x86-64.c:1335
 #, c-format
-msgid "%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
-msgstr "%B: Ã‰chec de la transition TLS de %s vers %s sur Â«Â %sÂ Â» Ã  0x%lx dans la section Â«Â %AÂ Â»"
+msgid "%B: TLS transition from %s to %s against `%s' at %#Lx in section `%A' failed"
+msgstr "%B: Ã‰chec de la transition TLS de %s vers %s sur Â«Â %sÂ Â» Ã  %#Lx dans la section Â«Â %AÂ Â»"
 
-#: elf32-i386.c:1799
+#: elf32-i386.c:1250
 #, c-format
 msgid "%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object"
 msgstr "%B: le rÃ©adressage GOT direct R_386_GOT32X sur le symbole Â«Â %sÂ Â» sans registre de base ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©"
 
-#: elf32-i386.c:2237 elf32-s390.c:1188 elf32-sh.c:6056 elf32-tilepro.c:1608
-#: elf32-xtensa.c:1196 elf64-s390.c:1117 elfxx-sparc.c:1625
-#: elfxx-tilegx.c:1817
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:440
+#: elf32-i386.c:1703 elf32-s390.c:1184 elf32-sh.c:6057 elf32-tilepro.c:1584
+#: elf32-xtensa.c:1192 elf64-s390.c:1113 elfxx-sparc.c:1601
+#: elfxx-tilegx.c:1793
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:427
 #, c-format
 msgid "%B: `%s' accessed both as normal and thread local symbol"
 msgstr "%B: Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme symbole normal et comme symbole locale au thread"
 
-#: elf32-i386.c:2314
+#: elf32-i386.c:1767
 #, c-format
 msgid "%B: unsupported non-PIC call to IFUNC `%s'"
 msgstr "%B: appel non-PIC non supportÃ© vers IFUNC Â«Â %sÂ Â»"
 
-#: elf32-i386.c:3189 elf64-x86-64.c:3589
-#, c-format
-msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'\n"
-msgstr "%P: %B: attention: rÃ©adressage sur Â«Â %sÂ Â» dans la section en lecture seule Â«Â %AÂ Â»\n"
-
-#: elf32-i386.c:3402 elf64-x86-64.c:3798
-#, c-format
-msgid "%P: %B: warning: relocation in readonly section `%A'\n"
-msgstr "%P: %B: attention: rÃ©adressage dans la section Â«Â %AÂ Â» en lecture seule\n"
-
-#: elf32-i386.c:3705 elf64-x86-64.c:4114
-msgid "%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
-msgstr "%P%X: le segment en lecture seule a des rÃ©adressages IFUNC dynamiques; recompilez avec -fPIC\n"
-
-#: elf32-i386.c:3945 elf32-tilepro.c:2868 elf64-x86-64.c:4321
-#: elfxx-tilegx.c:3167
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6082
-#, c-format
-msgid "%B: unrecognized relocation (0x%x) in section `%A'"
-msgstr "%B: rÃ©adressage inconnu (0x%x) dans la section Â«Â %AÂ Â»"
-
-#: elf32-i386.c:4240 elf64-x86-64.c:4550
+#: elf32-i386.c:2345 elf64-x86-64.c:2625
 #, c-format
 msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
 msgstr "%B: le rÃ©adressage %s sur le symbole STT_GNU_IFUNC Â«Â %sÂ Â» n'est pas supportÃ©"
 
-#: elf32-i386.c:4275 elf32-i386.c:5642 elf32-i386.c:5781 elf64-x86-64.c:4609
-#: elf64-x86-64.c:5982 elf64-x86-64.c:6136
+#: elf32-i386.c:2378 elf32-i386.c:3684 elf32-i386.c:3823 elf64-x86-64.c:2682
+#: elf64-x86-64.c:4012 elf64-x86-64.c:4166
 msgid "Local IFUNC function `%s' in %B\n"
 msgstr "Fonction IFUNC locale Â«Â %sÂ Â» dans %B\n"
 
-#: elf32-i386.c:4508
+#: elf32-i386.c:2593
 #, c-format
 msgid "%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object"
 msgstr "%B: le rÃ©adressage GOT direct %s vers Â«Â %sÂ Â» sans registre de base ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©"
 
-#: elf32-i386.c:4543 elf64-x86-64.c:4816
+#: elf32-i386.c:2628 elf64-x86-64.c:2873
 msgid "hidden symbol"
 msgstr "symbole cachÃ©"
 
-#: elf32-i386.c:4546 elf64-x86-64.c:4819
+#: elf32-i386.c:2631 elf64-x86-64.c:2876
 msgid "internal symbol"
 msgstr "symbole interne"
 
-#: elf32-i386.c:4549 elf64-x86-64.c:4822
+#: elf32-i386.c:2634 elf64-x86-64.c:2879
 msgid "protected symbol"
 msgstr "symbole protÃ©gÃ©"
 
-#: elf32-i386.c:4552 elf64-x86-64.c:4825
+#: elf32-i386.c:2637 elf64-x86-64.c:2882
 msgid "symbol"
 msgstr "symbole"
 
-#: elf32-i386.c:4558
+#: elf32-i386.c:2643
 #, c-format
 msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
 msgstr "%B: rÃ©adressage R_386_GOTOFF sur le symbole %s Â«Â %sÂ Â» non dÃ©fini ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©"
 
 # Â«Â la %s progÃ©tÃ©eÂ Â» a un %s qui est remplacÃ© par le texte non traduit Â«Â functionÂ Â» ou Â«Â dataÂ Â».
 # Heureusement, cette ligne n'existe plus dans le code source actuel.
-#: elf32-i386.c:4571
+#: elf32-i386.c:2656
 #, c-format
 msgid "%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object"
 msgstr "%B: rÃ©adressage R_386_GOTOFF vers la %s protÃ©gÃ©e Â«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©"
 
-#: elf32-i386.c:6116 elf32-tilepro.c:3920 elf64-x86-64.c:6483
-#: elfxx-tilegx.c:4327
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:9261
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2522
-#, c-format
-msgid "discarded output section: `%A'"
-msgstr "section de sortie rejetÃ©e: Â«Â %AÂ Â»"
-
-#: elf32-i386.c:6693 elf64-x86-64.c:7228
-msgid "error: %B: <corrupt x86 ISA used size: 0x%x>"
-msgstr "erreur: %B: <la taille utilisÃ©e par l'ISA x86 est corrompue: 0x%x>"
-
-#: elf32-i386.c:6695 elf64-x86-64.c:7230
-msgid "error: %B: <corrupt x86 ISA needed size: 0x%x>"
-msgstr "erreur: %B: <la taille nÃ©cessaire pour l'ISA x86 est corrompue: 0x%x>"
-
-#: elf32-i386.c:6696 elf64-x86-64.c:7231
-msgid "error: %B: <corrupt x86 feature size: 0x%x>"
-msgstr "erreur: %B: <la taille des fonctionnalitÃ©s x86 est corrompue: 0x%x>"
-
-#: elf32-i386.c:6873 elf64-x86-64.c:7408
-#, c-format
-msgid "%F: failed to create GNU property section\n"
-msgstr "%F: Ã©chec lors de la crÃ©ation de la section des propriÃ©tÃ©s GNU\n"
-
-#: elf32-i386.c:6959
-#, c-format
-msgid "%F: failed to create VxWorks dynamic sections\n"
-msgstr "%F: Ã©chec lors de la crÃ©ation des sections dynamiques VxWorks\n"
-
-#: elf32-i386.c:7026 elf64-x86-64.c:7568
-#, c-format
-msgid "%F: failed to create GOT sections\n"
-msgstr "%F: Ã©chec lors de la crÃ©ation des sections GOT\n"
-
-#: elf32-i386.c:7031 elf64-x86-64.c:7584
-#, c-format
-msgid "%F: failed to create ifunc sections\n"
-msgstr "%F: Ã©chec lors de la crÃ©ation des sections ifunc\n"
-
-#: elf32-i386.c:7074 elf64-x86-64.c:7627
-#, c-format
-msgid "%F: failed to create GOT PLT section\n"
-msgstr "%F: Ã©chec lors de la crÃ©ation de la section PLT GOT\n"
-
-#: elf32-i386.c:7095 elf64-x86-64.c:7648
-#, c-format
-msgid "%F: failed to create IBT-enabled PLT section\n"
-msgstr "%F: Ã©chec lors de la crÃ©ation de la section PLT activÃ©e pour IBT\n"
-
-#: elf32-i386.c:7116 elf64-x86-64.c:7684
-#, c-format
-msgid "%F: failed to create PLT .eh_frame section\n"
-msgstr "%F: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT\n"
-
-#: elf32-i386.c:7129 elf64-x86-64.c:7698
-#, c-format
-msgid "%F: failed to create GOT PLT .eh_frame section\n"
-msgstr "%F: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT GOT\n"
-
-#: elf32-i386.c:7149 elf64-x86-64.c:7414
-#, c-format
-msgid "%F%A: failed to align section\n"
-msgstr "%F%A: Ã©chec lors de l'alignement de la section\n"
-
 #: elf32-i960.c:140
 #, c-format
 msgid "%B: invalid i960 reloc number: %d"
@@ -2533,37 +2524,37 @@ msgstr "%B: numÃ©ro de rÃ©adressage IP2K
 
 #: elf32-ip2k.c:1298
 #, c-format
-msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)."
-msgstr "liaison ip2k: instruction de page manquante Ã  0x%08lx (cible = 0x%08lx)."
+msgid "ip2k linker: missing page instruction at %#Lx (dest = %#Lx)"
+msgstr "Ã©diteur de liens ip2k: instruction de page manquante Ã  %#Lx (cible = %#Lx)."
 
 #: elf32-ip2k.c:1315
 #, c-format
-msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."
-msgstr "liaison ip2k: instruction de page redondante Ã  0x%08lx (cible = 0x%08lx)."
+msgid "ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)"
+msgstr "Ã©diteur de liens ip2k: instruction de page redondante Ã  %#Lx (cible = %#Lx)."
 
 #: elf32-iq2000.c:441
 #, c-format
 msgid "%B: invalid IQ2000 reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage IQ2000 invalide: %d"
 
-#: elf32-lm32.c:559
+#: elf32-lm32.c:539
 #, c-format
 msgid "%B: invalid LM32 reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage LM32 invalide: %d"
 
-#: elf32-lm32.c:668 elf32-nios2.c:3153
+#: elf32-lm32.c:648 elf32-nios2.c:3133
 msgid "global pointer relative relocation when _gp not defined"
 msgstr "rÃ©adressage relatif au pointeur global sans que _gp ne soit dÃ©fini"
 
-#: elf32-lm32.c:723 elf32-nios2.c:3590
+#: elf32-lm32.c:703 elf32-nios2.c:3570
 msgid "global pointer relative address out of range"
 msgstr "adresse relative du pointeur global hors limites"
 
-#: elf32-lm32.c:1018
+#: elf32-lm32.c:998
 msgid "internal error: addend should be zero for R_LM32_16_GOT"
 msgstr "erreur interne: opÃ©rande devrait Ãªtre zÃ©ro pour R_LM32_16_GOT"
 
-#: elf32-m32c.c:305
+#: elf32-m32c.c:306
 #, c-format
 msgid "%B: invalid M32C reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage M32C invalide: %d"
@@ -2577,31 +2568,31 @@ msgstr "%B: numÃ©ro de rÃ©adressage M32R
 msgid "SDA relocation when _SDA_BASE_ not defined"
 msgstr "rÃ©adressage SDA alors que _SDA_BASE_ n'est pas dÃ©fini"
 
-#: elf32-m32r.c:2984 elf32-microblaze.c:1080 elf32-microblaze.c:1128
+#: elf32-m32r.c:2971 elf32-microblaze.c:1064 elf32-microblaze.c:1112
 #, c-format
 msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
 msgstr "%B: la cible (%s) du rÃ©adressage %s est dans la mauvaise section (%A)"
 
-#: elf32-m32r.c:3486
+#: elf32-m32r.c:3473
 msgid "%B: Instruction set mismatch with previous modules"
 msgstr "%B: jeu d'instructions ne concorde par avec les modules prÃ©cÃ©dents"
 
-#: elf32-m32r.c:3507 elf32-nds32.c:6111
+#: elf32-m32r.c:3494 elf32-nds32.c:6037
 #, c-format
 msgid "private flags = %lx"
 msgstr "fanions privÃ©s = %lx"
 
-#: elf32-m32r.c:3512
+#: elf32-m32r.c:3499
 #, c-format
 msgid ": m32r instructions"
 msgstr ": instructions m32r"
 
-#: elf32-m32r.c:3513
+#: elf32-m32r.c:3500
 #, c-format
 msgid ": m32rx instructions"
 msgstr ": instruction m32rx"
 
-#: elf32-m32r.c:3514
+#: elf32-m32r.c:3501
 #, c-format
 msgid ": m32r2 instructions"
 msgstr ": instructions m32r2"
@@ -2616,112 +2607,107 @@ msgstr "%B: numÃ©ro de rÃ©adressage M68H
 msgid "%B: invalid M68HC12 reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage M68HC12 invalide: %d"
 
-#: elf32-m68hc1x.c:1119
+#: elf32-m68hc1x.c:1115
 #, c-format
 msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
 msgstr "RÃ©fÃ©rence Ã  un symbole far Â«Â %sÂ Â» utilisant le mauvais rÃ©adressage peut provoquer une exÃ©cution incorrecte"
 
-#: elf32-m68hc1x.c:1153
+#: elf32-m68hc1x.c:1149
 #, c-format
 msgid "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code."
 msgstr "l'adresse XGATE (%lx) n'est pas dans la mÃ©moire RAM partagÃ©e (0xE000-0xFFFF), par consÃ©quent, vous devez dÃ©caler l'adresse manuellement, et peut-Ãªtre gÃ©rer la page, dans votre code."
 
-#: elf32-m68hc1x.c:1171
+#: elf32-m68hc1x.c:1167
 #, c-format
 msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)"
 msgstr "banque d'adresses [%lx:%04lx] (%lx) n'es pas dans la mÃªme banque que la banque courante d'adresses [%lx:%04lx] (%lx)"
 
-#: elf32-m68hc1x.c:1187
+#: elf32-m68hc1x.c:1183
 #, c-format
 msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx"
 msgstr "rÃ©fÃ©rence Ã  une banque d'adresses [%lx:%04lx] dans l'espace normal d'adresses Ã  %04lx"
 
-#: elf32-m68hc1x.c:1228
+#: elf32-m68hc1x.c:1224
 #, c-format
 msgid "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your code"
 msgstr "l'adresse S12 (%lx) n'est pas dans la mÃ©moire RAM partagÃ©e (0x2000-0x4000), par consÃ©quent, vous devez dÃ©caler l'adresse manuellement dans votre code"
 
-#: elf32-m68hc1x.c:1355
+#: elf32-m68hc1x.c:1351
 msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers"
 msgstr "%B: fichiers liÃ©s compilÃ©s pour des entiers de 16 bits (-mshort) et d'autres pour des entiers de 32 bits"
 
-#: elf32-m68hc1x.c:1362
+#: elf32-m68hc1x.c:1358
 msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double"
 msgstr "%B: fichiers liÃ©s compilÃ©s pour des doubles de 32 bits (-fshort-double) et d'autres pour des doubles de 64 bits"
 
-#: elf32-m68hc1x.c:1371
+#: elf32-m68hc1x.c:1367
 msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
 msgstr "%B: certains fichiers liÃ©s compilÃ©s pour HCS12 avec d'autres compilÃ©s pour HC12"
 
-#: elf32-m68hc1x.c:1416 elf32-xgate.c:672
+#: elf32-m68hc1x.c:1412 elf32-xgate.c:672
 #, c-format
 msgid "[abi=32-bit int, "
 msgstr "[abi=32-bit int, "
 
-#: elf32-m68hc1x.c:1418 elf32-xgate.c:674
+#: elf32-m68hc1x.c:1414 elf32-xgate.c:674
 #, c-format
 msgid "[abi=16-bit int, "
 msgstr "[abi=16-bit int, "
 
-#: elf32-m68hc1x.c:1421 elf32-xgate.c:677
+#: elf32-m68hc1x.c:1417 elf32-xgate.c:677
 #, c-format
 msgid "64-bit double, "
 msgstr "double de 64 bits, "
 
-#: elf32-m68hc1x.c:1423 elf32-xgate.c:679
+#: elf32-m68hc1x.c:1419 elf32-xgate.c:679
 #, c-format
 msgid "32-bit double, "
 msgstr "double de 32 bits, "
 
-#: elf32-m68hc1x.c:1426
+#: elf32-m68hc1x.c:1422
 #, c-format
 msgid "cpu=HC11]"
 msgstr "cpu=HC11]"
 
-#: elf32-m68hc1x.c:1428
+#: elf32-m68hc1x.c:1424
 #, c-format
 msgid "cpu=HCS12]"
 msgstr "cpu=HCS12]"
 
-#: elf32-m68hc1x.c:1430
+#: elf32-m68hc1x.c:1426
 #, c-format
 msgid "cpu=HC12]"
 msgstr "cpu=HC12]"
 
-#: elf32-m68hc1x.c:1433
+#: elf32-m68hc1x.c:1429
 #, c-format
 msgid " [memory=bank-model]"
 msgstr " [memory=bank-model]"
 
-#: elf32-m68hc1x.c:1435
+#: elf32-m68hc1x.c:1431
 #, c-format
 msgid " [memory=flat]"
 msgstr " [memory=flat]"
 
-#: elf32-m68hc1x.c:1438
+#: elf32-m68hc1x.c:1434
 #, c-format
 msgid " [XGATE RAM offsetting]"
 msgstr " [dÃ©calage RAM XGATE]"
 
-#: elf32-m68k.c:1215 elf32-m68k.c:1216 vms-alpha.c:7400 vms-alpha.c:7416
+#: elf32-m68k.c:1214 elf32-m68k.c:1215 vms-alpha.c:7477 vms-alpha.c:7493
 msgid "unknown"
 msgstr "inconnu"
 
-#: elf32-m68k.c:1680
+#: elf32-m68k.c:1658
 #, c-format
 msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
 msgstr "%B: dÃ©bordement GOT: Nombre de rÃ©adressages avec des offsets de 8 bits > %d"
 
-#: elf32-m68k.c:1687
+#: elf32-m68k.c:1665
 #, c-format
 msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
 msgstr "%B: dÃ©bordement GOT: Nombre de rÃ©adressages avec des offsets de 8 ou 16 bits > %d"
 
-#: elf32-m68k.c:3890
-#, c-format
-msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): rÃ©adressage R_68K_TLS_LE32 pas permis dans un objet partagÃ©"
-
 #: elf32-mcore.c:100 elf32-mcore.c:455
 #, c-format
 msgid "%B: Relocation %s (%d) is not currently supported.\n"
@@ -2768,40 +2754,35 @@ msgstr "%B et %B sont pour des configura
 msgid "private flags = 0x%lx"
 msgstr "fanions privÃ©s = 0x%lx"
 
-#: elf32-metag.c:893
+#: elf32-metag.c:878
 #, c-format
 msgid "%B: invalid METAG reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage METAG invalide: %d"
 
-#: elf32-metag.c:1875
+#: elf32-metag.c:1860
 msgid "%B(%A): multiple TLS models are not supported"
 msgstr "%B(%A): l'utilisation de plusieurs modÃ¨les TLS n'est pas supportÃ©"
 
-#: elf32-metag.c:1878
+#: elf32-metag.c:1863
 msgid "%B(%A): shared library symbol %s encountered whilst performing a static link"
 msgstr "%B(%A): symbole de bibliothÃ¨que partagÃ©e %s rencontrÃ© en rÃ©alisant une Ã©dition de liens statiques"
 
-#: elf32-metag.c:1931
-#, c-format
-msgid "%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): rÃ©adressage R_METAG_TLS_LE/IENONPIC pas permis dans un objet partagÃ©"
-
 #: elf32-microblaze.c:656
 #, c-format
 msgid "%B: unrecognised MicroBlaze reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage MicroBlaze non reconnu: %d"
 
-#: elf32-microblaze.c:1496 elf32-or1k.c:1072 elf32-tilepro.c:3317
-#: elfxx-sparc.c:3705 elfxx-tilegx.c:3726
+#: elf32-microblaze.c:1482 elf32-or1k.c:1052 elf32-tilepro.c:3147
+#: elfxx-sparc.c:3537 elfxx-tilegx.c:3531
 msgid "%B: probably compiled without -fPIC?"
 msgstr "%B: probablement compilÃ© sans -fPIC?"
 
-#: elf32-mips.c:1777 elf64-mips.c:3200 elfn32-mips.c:3010
+#: elf32-mips.c:1777 elf64-mips.c:3200 elfn32-mips.c:3014
 msgid "literal relocation occurs for an external symbol"
 msgstr "rÃ©adressage littÃ©ral rencontrÃ© pour un symbole externe"
 
 #: elf32-mips.c:1824 elf32-score.c:569 elf32-score7.c:469 elf64-mips.c:3243
-#: elfn32-mips.c:3051
+#: elfn32-mips.c:3055
 msgid "32bits gp relative relocation occurs for an external symbol"
 msgstr "rÃ©adressage relatif gp 32bits rencontrÃ© pour un symbole externe"
 
@@ -2825,45 +2806,45 @@ msgstr "%B: numÃ©ro de rÃ©adressage MSP4
 msgid "%B: invalid MSP430 reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage MSP430 invalide: %d"
 
-#: elf32-msp430.c:836 elf32-msp430.c:1150
+#: elf32-msp430.c:832 elf32-msp430.c:1146
 msgid "Try enabling relaxation to avoid relocation truncations"
 msgstr "Essayez d'activer la relaxation pour Ã©viter des rÃ©adressages tronquÃ©s"
 
-#: elf32-msp430.c:1357
+#: elf32-msp430.c:1353
 msgid "internal error: branch/jump to an odd address detected"
 msgstr "erreur interne: branchement/saut vers une adresse impaire dÃ©tectÃ©"
 
-#: elf32-msp430.c:2354
+#: elf32-msp430.c:2352
 #, c-format
 msgid "Warning: %B: Unknown MSPABI object attribute %d"
 msgstr "Attention: %B: Attribut d'objet MSPBI %d inconnu"
 
-#: elf32-msp430.c:2447
+#: elf32-msp430.c:2445
 #, c-format
 msgid "error: %B uses %s instructions but %B uses %s"
 msgstr "erreur: %B utilise les instructions %s alors que %B utilise %s"
 
-#: elf32-msp430.c:2459
+#: elf32-msp430.c:2457
 #, c-format
 msgid "error: %B uses the %s code model whereas %B uses the %s code model"
 msgstr "erreur: %B utilise le modÃ¨le de code %s alors que %B utilise le modÃ¨le de code %s"
 
-#: elf32-msp430.c:2471
+#: elf32-msp430.c:2469
 #, c-format
 msgid "error: %B uses the large code model but %B uses MSP430 instructions"
 msgstr "erreur: %B utilise le grand modÃ¨le de code alors que %B utilise les instructions MSP430"
 
-#: elf32-msp430.c:2482
+#: elf32-msp430.c:2480
 #, c-format
 msgid "error: %B uses the %s data model whereas %B uses the %s data model"
 msgstr "erreur: %B utilise le modÃ¨le de donnÃ©es %s alors que %B utilise le modÃ¨le de donnÃ©es %s"
 
-#: elf32-msp430.c:2494
+#: elf32-msp430.c:2492
 #, c-format
 msgid "error: %B uses the small code model but %B uses the %s data model"
 msgstr "erreur: %B utilise le petit modÃ¨le de code alors que %B utilise le modÃ¨le de donnÃ©es %s"
 
-#: elf32-msp430.c:2506
+#: elf32-msp430.c:2504
 #, c-format
 msgid "error: %B uses the %s data model but %B only uses MSP430 instructions"
 msgstr "erreur: %B utilise le modÃ¨le de donnÃ©es %s alors que %B utilise uniquement des instructions MSP430"
@@ -2873,181 +2854,177 @@ msgstr "erreur: %B utilise le modÃ¨le de
 msgid "%B: invalid MT reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage MT invalide: %d"
 
-#: elf32-nds32.c:2974
+#: elf32-nds32.c:2897
 #, c-format
 msgid "%B: invalid NDS32 reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage NDS32 invalide: %d"
 
-#: elf32-nds32.c:3309
+#: elf32-nds32.c:3232
 msgid "error: Can't find symbol: _SDA_BASE_."
 msgstr "erreur: Le symbole ne peut Ãªtre trouvÃ©: _SDA_BASE_."
 
-#: elf32-nds32.c:4484 elf32-nds32.c:11978
+#: elf32-nds32.c:4410 elf32-nds32.c:11783
 msgid "%B: error: Cannot set _ITB_BASE_"
 msgstr "%B: erreur: Ne peut dÃ©finir _ITB_BASE_"
 
-#: elf32-nds32.c:4492
+#: elf32-nds32.c:4418
 msgid "error: IFC relocation error."
 msgstr "erreur: erreur de rÃ©adressage IFC."
 
-#: elf32-nds32.c:4526
+#: elf32-nds32.c:4452
 #, c-format
 msgid "%B: error: unknown relocation type %d."
 msgstr "%B: erreur: type de rÃ©adressage %d inconnu."
 
-#: elf32-nds32.c:4972
+#: elf32-nds32.c:4898
 msgid "%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode."
 msgstr "%B: attention: ne peut gÃ©rer R_NDS32_25_ABS_RELA en mode partagÃ©."
 
-#: elf32-nds32.c:5106
+#: elf32-nds32.c:5032
 msgid "%B: warning: unaligned access to GOT entry."
 msgstr "%B: attention: accÃ¨s non alignÃ© Ã  une entrÃ©e GOT."
 
-#: elf32-nds32.c:5148
+#: elf32-nds32.c:5074
 msgid "%B: warning: relocate SDA_BASE failed."
 msgstr "%B: attention: rÃ©adressage SDA_BASE a Ã©chouÃ©."
 
-#: elf32-nds32.c:5170
+#: elf32-nds32.c:5096
 #, c-format
 msgid "%B(%A): warning: unaligned small data access of type %d."
 msgstr "%B(%A): attention: accÃ¨s non alignÃ© Ã  une petite donnÃ©e de type %d."
 
-#: elf32-nds32.c:5918
+#: elf32-nds32.c:5844
 #, c-format
 msgid "%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte"
 msgstr "%B: Taille de vecteur ISR en dÃ©saccord avec les modules prÃ©cÃ©dents: prÃ©cÃ©dent a %u octets; actuel a %u octets"
 
-#: elf32-nds32.c:5962
+#: elf32-nds32.c:5888
 msgid "%B: warning: Endian mismatch with previous modules."
 msgstr "%B: attention: L'ordre des octets n'est pas le mÃªme que dans les modules prÃ©cÃ©dents."
 
-#: elf32-nds32.c:5972
+#: elf32-nds32.c:5898
 msgid "%B: warning: Older version of object file encountered, Please recompile with current tool chain."
 msgstr "%B: attention: Version plus ancienne du fichier objet rencontrÃ©e. Veuillez recompiler avec la chaÃ®ne d'outils actuelle."
 
-#: elf32-nds32.c:6050
+#: elf32-nds32.c:5976
 msgid "%B: error: ABI mismatch with previous modules."
 msgstr "%B: erreur: non concordance de l'ABI avec les modules prÃ©cÃ©dents."
 
-#: elf32-nds32.c:6061
+#: elf32-nds32.c:5987
 msgid "%B: error: Instruction set mismatch with previous modules."
 msgstr "%B: erreur: Jeu d'instructions ne concorde par avec les modules prÃ©cÃ©dents."
 
-#: elf32-nds32.c:6087
+#: elf32-nds32.c:6013
 #, c-format
 msgid "%B: warning: Incompatible elf-versions %s and  %s."
 msgstr "%B: attention: Versions elf %s et %s non compatibles."
 
-#: elf32-nds32.c:6117
+#: elf32-nds32.c:6043
 #, c-format
 msgid ": n1 instructions"
 msgstr ": instructions n1"
 
-#: elf32-nds32.c:6120
+#: elf32-nds32.c:6046
 #, c-format
 msgid ": n1h instructions"
 msgstr ": instructions n1h"
 
-#: elf32-nds32.c:8730
+#: elf32-nds32.c:8535
 msgid "%B: Error: search_nds32_elf_blank reports wrong node\n"
 msgstr "%B: Erreur: search_nds32_elf_blank rapporte le mauvais nÅ“ud\n"
 
-#: elf32-nds32.c:8989
+#: elf32-nds32.c:8794
 #, c-format
-msgid "%B: warning: %s points to unrecognized reloc at 0x%lx."
-msgstr "%B: attention: %s pointe vers le rÃ©adressage non reconnu Ã  0x%lx."
+msgid "%B: warning: %s points to unrecognized reloc at %#Lx"
+msgstr "%B: attention: %s pointe vers le rÃ©adressage non reconnu Ã  %#Lx."
 
-#: elf32-nds32.c:11850 elf32-nds32.c:11867
+#: elf32-nds32.c:11655 elf32-nds32.c:11672
 msgid "error: Jump IFC Fail."
 msgstr "erreur: Saut IFC a Ã©chouÃ©."
 
-#: elf32-nds32.c:12724
+#: elf32-nds32.c:12529
 #, c-format
 msgid "%B: Nested OMIT_FP in %A."
 msgstr "%B: OMIT_FP imbriquÃ©s dans %A."
 
-#: elf32-nds32.c:12743
+#: elf32-nds32.c:12548
 #, c-format
 msgid "%B: Unmatched OMIT_FP in %A."
 msgstr "%B: OMIT_FP non appariÃ© dans %A."
 
-#: elf32-nds32.c:13026 reloc.c:8231
+#: elf32-nds32.c:12831 reloc.c:8273
 #, c-format
 msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n"
 msgstr "%X%P: %B(%A): rÃ©adressage Â«Â %RÂ Â» va en dehors des limites\n"
 
-#: elf32-nds32.c:14802
+#: elf32-nds32.c:14607
 msgid "Linker: cannot init ex9 hash table error \n"
 msgstr "Lieur: ne peut initialiser la table de hachage ex9 \n"
 
-#: elf32-nds32.c:15211 elf32-nds32.c:15225
+#: elf32-nds32.c:15016 elf32-nds32.c:15030
 msgid "Linker: error cannot fixed ex9 relocation \n"
 msgstr "Lieur: ne peut rÃ©adresser ex9 fixÃ© \n"
 
-#: elf32-nds32.c:15436
+#: elf32-nds32.c:15241
 #, c-format
-msgid "%B: warning: unaligned small data access. For entry: {%d, %d, %d}, addr = 0x%x, align = 0x%x."
-msgstr "%B: attention: accÃ¨s non alignÃ© Ã  une petite donnÃ©e. Pour l'entrÃ©e: {%d, %d, %d}, adr = 0x%x, alignement = 0x%x."
+msgid "%B: warning: unaligned small data access for entry: {%Ld, %Ld, %Ld}, addr = %#Lx, align = %#x"
+msgstr "%B: attention: accÃ¨s non alignÃ© Ã  une petite donnÃ©e pour l'entrÃ©e: {%Ld, %Ld, %Ld}, adr = %#Lx, alignement = %#x."
 
-#: elf32-nds32.c:15469
-msgid "%P%F: failed creating ex9.it %s hash table: %E\n"
-msgstr "%P%F: Ã©chec de la crÃ©ation de la table de hachage ex9.it %s: %E\n"
+#: elf32-nds32.c:15274
+#, c-format
+msgid "failed creating ex9.it %s hash table entry"
+msgstr "Ã©chec de la crÃ©ation de la table de hachage ex9.it %s"
 
-#: elf32-nios2.c:2949
+#: elf32-nios2.c:2929
 msgid "error: %B: Big-endian R2 is not supported."
 msgstr "erreur: %B: R2 gros boutiste n'est pas supportÃ©."
 
-#: elf32-nios2.c:3830
+#: elf32-nios2.c:3814
 #, c-format
 msgid "global pointer relative relocation at address 0x%08x when _gp not defined\n"
 msgstr "rÃ©adressage relatif au pointeur global Ã  l'adresse 0x%08x sans que _gp ne soit dÃ©fini\n"
 
-#: elf32-nios2.c:3850
+#: elf32-nios2.c:3834
 #, c-format
 msgid "Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.\n"
 msgstr "Impossible d'atteindre %s (Ã  0x%08x) depuis le pointeur global (Ã  0x%08x) car l'offset (%d) est en dehors de la plage autorisÃ©e -32768 Ã  32767.\n"
 
-#: elf32-nios2.c:4372
-#, c-format
-msgid "%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): rÃ©adressage R_NIOS2_TLS_LE16 pas permis dans un objet partagÃ©"
-
-#: elf32-nios2.c:4500 elf32-pru.c:816
+#: elf32-nios2.c:4487 elf32-pru.c:816
 msgid "relocation out of range"
 msgstr "rÃ©adressage hors limite"
 
-#: elf32-nios2.c:4510 elf32-pru.c:826 elf32-tic6x.c:2747
+#: elf32-nios2.c:4497 elf32-pru.c:826 elf32-tic6x.c:2682
 msgid "dangerous relocation"
 msgstr "rÃ©adressage dangereux"
 
-#: elf32-nios2.c:5491
+#: elf32-nios2.c:5370
 #, c-format
 msgid "dynamic variable `%s' is zero size"
 msgstr "la variable dynamique Â«Â %sÂ Â» a une taille nulle"
 
-#: elf32-or1k.c:735
+#: elf32-or1k.c:715
 #, c-format
 msgid "%B: invalid OR1K reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage OR1K invalide: %d"
 
-#: elf32-or1k.c:985
+#: elf32-or1k.c:965
 msgid "internal error: addend should be zero for R_OR1K_GOT16"
 msgstr "erreur interne: opÃ©rande devrait Ãªtre zÃ©ro pour R_OR1K_GOT16"
 
-#: elf32-or1k.c:1094
+#: elf32-or1k.c:1074
 msgid "%B: support for local dynamic not implemented"
 msgstr "%B: support pour les dynamiques locaux pas implÃ©mentÃ©e"
 
-#: elf32-or1k.c:1229
+#: elf32-or1k.c:1209
 msgid "%B: will not resolve runtime TLS relocation"
 msgstr "%B: le rÃ©adressage TLS ne sera pas rÃ©solu Ã  l'exÃ©cution"
 
-#: elf32-or1k.c:1599
+#: elf32-or1k.c:1529
 #, c-format
 msgid "%B: bad relocation section name `%s'"
 msgstr "%B: nom de section de rÃ©adressage erronÃ© Â«Â %sÂ Â»"
 
-#: elf32-or1k.c:2704
+#: elf32-or1k.c:2641
 msgid "%B: EF_OR1K_NODELAY flag mismatch with previous modules"
 msgstr "%B: dÃ©saccord du fanion EF_OR1K_NODELAY avec les modules prÃ©cÃ©dents"
 
@@ -3056,111 +3033,106 @@ msgstr "%B: dÃ©saccord du fanion EF_OR1K
 msgid "%B: unrecognised PicoJava reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage PicoJava non reconnu: %d"
 
-#: elf32-ppc.c:2062
+#: elf32-ppc.c:2027
 #, c-format
 msgid "%B: unrecognised PPC reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage PPC non reconnu: %d"
 
-#: elf32-ppc.c:2147
+#: elf32-ppc.c:2112
 #, c-format
 msgid "generic linker can't handle %s"
 msgstr "liaison gÃ©nÃ©rique ne peut traiter %s"
 
-#: elf32-ppc.c:2781
+#: elf32-ppc.c:2732
 #, c-format
 msgid "corrupt %s section in %B"
 msgstr "section %s corrompue dans %B"
 
-#: elf32-ppc.c:2801
+#: elf32-ppc.c:2752
 #, c-format
 msgid "unable to read in %s section from %B"
 msgstr "incapable de lire dans la section %s Ã  partir de %B"
 
-#: elf32-ppc.c:2843
+#: elf32-ppc.c:2794
 #, c-format
 msgid "warning: unable to set size of %s section in %B"
 msgstr "attention: incapable d'initialiser la taille de la section %s dans %B"
 
-#: elf32-ppc.c:2893
+#: elf32-ppc.c:2844
 msgid "failed to allocate space for new APUinfo section."
 msgstr "Ã©chec d'allocation d'espace pour une nouvelle section APUinfo"
 
-#: elf32-ppc.c:2912
+#: elf32-ppc.c:2863
 msgid "failed to compute new APUinfo section."
 msgstr "Ã©chec d'Ã©valuation de la nouvelle section APUinfo"
 
-#: elf32-ppc.c:2915
+#: elf32-ppc.c:2866
 msgid "failed to install new APUinfo section."
 msgstr "Ã©chec d'installation de la nouvelle section APUinfo"
 
-#: elf32-ppc.c:3975
+#: elf32-ppc.c:3915
 #, c-format
 msgid "%B: relocation %s cannot be used when making a shared object"
 msgstr "%B: rÃ©adressage %s ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©"
 
-#: elf32-ppc.c:4329 elf64-ppc.c:5591
+#: elf32-ppc.c:4266 elf64-ppc.c:5597
 #, c-format
 msgid "%H: %s reloc against local symbol\n"
 msgstr "%H: %s est rÃ©adressÃ© par rapport Ã  un symbole local\n"
 
-#: elf32-ppc.c:4691 elf32-ppc.c:4695
+#: elf32-ppc.c:4628 elf32-ppc.c:4632
 #, c-format
 msgid "Warning: %B uses hard float, %B uses soft float"
 msgstr "Attention: %B utilise la virgule flottante matÃ©rielle, %B utilise la virgule flottante logicielle"
 
-#: elf32-ppc.c:4699 elf32-ppc.c:4704
+#: elf32-ppc.c:4636 elf32-ppc.c:4641
 #, c-format
 msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float"
 msgstr "Attention: %B utilise la virgule flottante double prÃ©cision matÃ©rielle, %B utilise la virgule flottante simple prÃ©cision matÃ©rielle"
 
-#: elf32-ppc.c:4719 elf32-ppc.c:4724
+#: elf32-ppc.c:4656 elf32-ppc.c:4661
 #, c-format
 msgid "Warning: %B uses 64-bit long double, %B uses 128-bit long double"
 msgstr "Attention: %B utilise un double long 64 bits, %B utilise un double long de 128 bits"
 
-#: elf32-ppc.c:4729 elf32-ppc.c:4734
+#: elf32-ppc.c:4666 elf32-ppc.c:4671
 #, c-format
 msgid "Warning: %B uses IBM long double, %B uses IEEE long double"
 msgstr "Attention: %B utilise un double long IBM, %B utilise un double long IEEE"
 
-#: elf32-ppc.c:4785 elf32-ppc.c:4790
+#: elf32-ppc.c:4722 elf32-ppc.c:4727
 #, c-format
 msgid "Warning: %B uses AltiVec vector ABI, %B uses SPE vector ABI"
 msgstr "Attention: %B utilise l'ABI de vecteurs AltiVec, %B utilise l'ABI de vecteurs SPE"
 
-#: elf32-ppc.c:4813 elf32-ppc.c:4818
+#: elf32-ppc.c:4750 elf32-ppc.c:4755
 #, c-format
 msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
 msgstr "Attention: %B utilise r3/r4 pour les retours de petites structures, %B utilise la mÃ©moire"
 
-#: elf32-ppc.c:4873
+#: elf32-ppc.c:4810
 msgid "%B: compiled with -mrelocatable and linked with modules compiled normally"
 msgstr "%B: compilÃ© avec -mrelocatable et fait l'Ã©dition de lien avec les modules compilÃ©s normalement"
 
-#: elf32-ppc.c:4881
+#: elf32-ppc.c:4818
 msgid "%B: compiled normally and linked with modules compiled with -mrelocatable"
 msgstr "%B: compilÃ© normalement et fait l'Ã©dition de lien avec les modules compilÃ©s avec -mrelocatable"
 
-#: elf32-ppc.c:4909
-#, c-format
-msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)"
-msgstr "%B: utilise des champs e_flags (%#x) diffÃ©rents des modules prÃ©cÃ©dents (%#x)"
-
-#: elf32-ppc.c:4950
+#: elf32-ppc.c:4887
 #, c-format
 msgid "%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn"
 msgstr "%B(%A+0x%lx): rÃ©adressage du style 16A attendu sur l'insn 0x%08x"
 
-#: elf32-ppc.c:4969
+#: elf32-ppc.c:4906
 #, c-format
 msgid "%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn"
 msgstr "%B(%A+0x%lx): rÃ©adressage du style 16D attendu sur l'insn 0x%08x"
 
-#: elf32-ppc.c:5043
+#: elf32-ppc.c:4997
 msgid "%P: bss-plt forced due to %B\n"
 msgstr "%P: bss-plt forcÃ© Ã  cause de %B\n"
 
-#: elf32-ppc.c:5046
+#: elf32-ppc.c:5000
 msgid "%P: bss-plt forced by profiling\n"
 msgstr "%P: bss-plt forcÃ© par le profilage\n"
 
@@ -3168,31 +3140,40 @@ msgstr "%P: bss-plt forcÃ© par le profil
 #. could just mark this symbol to exclude it
 #. from tls optimization but it's safer to skip
 #. the entire optimization.
-#: elf32-ppc.c:5544 elf64-ppc.c:8798
+#: elf32-ppc.c:5322 elf64-ppc.c:8654
 #, c-format
 msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
 msgstr "%H l'argument a perdu __tls_get_addr, optimisation TLS dÃ©sactivÃ©e\n"
 
-#: elf32-ppc.c:8249
+#: elf32-ppc.c:6264 elf32-sh.c:3392 elf32-tilepro.c:2331 elfxx-sparc.c:2556
+#: elfxx-tilegx.c:2567
+msgid "%B: dynamic relocation in read-only section `%A'\n"
+msgstr "%B: rÃ©adressage dynamique dans une section en lecture seule Â«Â %AÂ Â»\n"
+
+#: elf32-ppc.c:8100
 msgid "%H: fixup branch overflow\n"
 msgstr "%H: dÃ©bordement du branchement de correction\n"
 
-#: elf32-ppc.c:8289 elf32-ppc.c:8324
+#: elf32-ppc.c:8140 elf32-ppc.c:8175
 #, c-format
-msgid "%H: error: %s with unexpected instruction %x\n"
-msgstr "%H: erreur: %s avec l'instruction inattendue %x\n"
+msgid "%B(%A+%#Lx): error: %s with unexpected instruction %#x"
+msgstr "%B(%A+%#Lx): erreur: %s avec l'instruction inattendue %#x"
 
-#: elf32-ppc.c:8380
+#: elf32-ppc.c:8231
 #, c-format
 msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
 msgstr "%X%H: bss-plt -fPIC ifunc %s non supportÃ©\n"
 
-#: elf32-ppc.c:8434
+#: elf32-ppc.c:8294 elf64-ppc.c:15070
+msgid "%H: warning: %s unexpected insn %#x.\n"
+msgstr "%H: attention: %s insn %#x inattendue.\n"
+
+#: elf32-ppc.c:8319
 #, c-format
 msgid "%P: %B: unknown relocation type %d for symbol %s\n"
 msgstr "%P: %B: type de rÃ©adressage %d inconnu pour le symbole %s\n"
 
-#: elf32-ppc.c:8723
+#: elf32-ppc.c:8606
 #, c-format
 msgid "%H: non-zero addend on %s reloc against `%s'\n"
 msgstr "%H: opÃ©rande non nul sur le rÃ©adressage %s par rapport Ã  Â«Â %sÂ Â»\n"
@@ -3205,122 +3186,122 @@ msgstr "%H: opÃ©rande non nul sur le rÃ©
 #. local won't have the +32k reloc addend trick marking
 #. -fPIC code, so the linker won't know whether r30 is
 #. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section.
-#: elf32-ppc.c:8755
+#: elf32-ppc.c:8638
 #, c-format
 msgid "%X%H: @local call to ifunc %s\n"
 msgstr "%X%H: appel @local Ã  ifunc %s\n"
 
-#: elf32-ppc.c:8935
+#: elf32-ppc.c:8808
 #, c-format
 msgid "%H: relocation %s for indirect function %s unsupported\n"
 msgstr "%H: rÃ©adressage %s non supportÃ© pour la fonction indirecte %s\n"
 
-#: elf32-ppc.c:9232 elf32-ppc.c:9263 elf32-ppc.c:9354
+#: elf32-ppc.c:9077 elf32-ppc.c:9108 elf32-ppc.c:9199
 #, c-format
 msgid "%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)\n"
 msgstr "%P: %B: la cible (%s) d'un rÃ©adressage %s est dans la mauvaise section de sortie (%s)\n"
 
-#: elf32-ppc.c:9442
+#: elf32-ppc.c:9287
 #, c-format
 msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
 msgstr "%B: la cible (%s) d'un rÃ©adressage %s est dans la mauvaise section de sortie (%s)"
 
-#: elf32-ppc.c:9546
+#: elf32-ppc.c:9395
 #, c-format
 msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
 msgstr "%P: %B: rÃ©adressage %s n'est pas encore supportÃ© pour le symbole %s\n"
 
-#: elf32-ppc.c:9631
+#: elf32-ppc.c:9480
 #, c-format
 msgid "%H: error: %s against `%s' not a multiple of %u\n"
 msgstr "%H: erreur: %s par rapport Ã  Â«Â %sÂ Â» n'est pas un multiple de %u\n"
 
-#: elf32-ppc.c:9660
+#: elf32-ppc.c:9509
 #, c-format
 msgid "%H: unresolvable %s relocation against symbol `%s'\n"
 msgstr "%H: rÃ©adressage %s sans solution par rapport au symbole Â«Â %sÂ Â»\n"
 
-#: elf32-ppc.c:9741
+#: elf32-ppc.c:9590
 #, c-format
 msgid "%H: %s reloc against `%s': error %d\n"
 msgstr "%H: rÃ©adressage %s vers Â«Â %sÂ Â»: erreur %d\n"
 
-#: elf32-ppc.c:10505 elf64-ppc.c:15719
+#: elf32-ppc.c:10354 elf64-ppc.c:15601
 msgid "%X%P: text relocations and GNU indirect functions will result in a segfault at runtime\n"
 msgstr "%X%P: les rÃ©adressages de textes et les fonctions indirectes GNU rÃ©sulteront en un crash Ã  l'exÃ©cution\n"
 
-#: elf32-ppc.c:10509 elf64-ppc.c:15723
+#: elf32-ppc.c:10358 elf64-ppc.c:15605
 msgid "%P: warning: text relocations and GNU indirect functions may result in a segfault at runtime\n"
 msgstr "%P: attention: les rÃ©adressages de textes et les fonctions indirectes GNU pourraient rÃ©sulter en un crash Ã  l'exÃ©cution\n"
 
-#: elf32-ppc.c:10554
+#: elf32-ppc.c:10403
 #, c-format
 msgid "%P: %s not defined in linker created %s\n"
 msgstr "%P: %s pas dÃ©fini dans %s crÃ©Ã© par l'Ã©diteur de liens\n"
 
-#: elf32-rl78.c:291
+#: elf32-rl78.c:292
 #, c-format
 msgid "%B: invalid RL78 reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage RL78 invalide: %d"
 
-#: elf32-rl78.c:369
+#: elf32-rl78.c:370
 msgid "Internal Error: RL78 reloc stack overflow"
 msgstr "Erreur interne: dÃ©bordement de la pile de rÃ©adressages RL78"
 
-#: elf32-rl78.c:380
+#: elf32-rl78.c:381
 msgid "Internal Error: RL78 reloc stack underflow"
 msgstr "Erreur interne: dÃ©bordement par le bas de la pile de rÃ©adressages RL78"
 
-#: elf32-rl78.c:1049
+#: elf32-rl78.c:1050
 msgid "Warning: RL78_SYM reloc with an unknown symbol"
 msgstr "Attention: RÃ©adressage RL78_SYM avec un symbole inconnu"
 
-#: elf32-rl78.c:1080 elf32-rx.c:1434
+#: elf32-rl78.c:1081 elf32-rx.c:1435
 #, c-format
 msgid "%B(%A): error: call to undefined function '%s'"
 msgstr "%B(%A): erreur: appel Ã  la fonction non dÃ©finie Â«Â %sÂ Â»"
 
-#: elf32-rl78.c:1201
+#: elf32-rl78.c:1202
 #, c-format
 msgid "RL78 ABI conflict: G10 file %B cannot be linked with %s file %B"
 msgstr "Conflit ABI RL78: Le fichier G10 %B ne peut pas Ãªtre liÃ© avec %s fichier %B"
 
 # les deux %s sont des noms de processeurs
-#: elf32-rl78.c:1218
+#: elf32-rl78.c:1219
 #, c-format
 msgid "RL78 ABI conflict: cannot link %s file %B with %s file %B"
 msgstr "Conflit d'ABI RL78: ne peut lier le fichier %2$B pour %1$s avec le fichier %4$B pour %3$s"
 
-#: elf32-rl78.c:1227
+#: elf32-rl78.c:1228
 msgid "RL78 merge conflict: cannot link 32-bit and 64-bit objects together"
 msgstr "Conflit de fusion RL78: ne peut lier ensemble un objet 32 bits et un objet 64 bits"
 
-#: elf32-rl78.c:1231 elf32-rl78.c:1235
+#: elf32-rl78.c:1232 elf32-rl78.c:1236
 #, c-format
 msgid "- %B is 64-bit, %B is not"
 msgstr "- %B est 64 bits, %B ne l'est pas"
 
-#: elf32-rl78.c:1262
+#: elf32-rl78.c:1263
 #, c-format
 msgid " [64-bit doubles]"
 msgstr " [doubles de 64 bits]"
 
-#: elf32-rx.c:313
+#: elf32-rx.c:314
 #, c-format
 msgid "%B: invalid RX reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage RX invalide: %d"
 
-#: elf32-rx.c:594
+#: elf32-rx.c:595
 #, c-format
 msgid "%B:%A: table entry %s outside table"
 msgstr "%B:%A: l'entrÃ©e %s de la table est en dehors de la table"
 
-#: elf32-rx.c:601
+#: elf32-rx.c:602
 #, c-format
 msgid "%B:%A: table entry %s not word-aligned within table"
 msgstr "%B:%A: l'entrÃ©e %s de la table n'est pas alignÃ©e sur un mot dans la table"
 
-#: elf32-rx.c:667
+#: elf32-rx.c:668
 #, c-format
 msgid "%B:%A: Warning: deprecated Red Hat reloc "
 msgstr "%B:%A: Attention: rÃ©adressage Red Hat rÃ©prouvÃ©e "
@@ -3329,43 +3310,43 @@ msgstr "%B:%A: Attention: rÃ©adressage R
 #. an absolute address is being computed.  There are special cases
 #. for relocs against symbols that are known to be referenced in
 #. crt0.o before the PID base address register has been initialised.
-#: elf32-rx.c:686
+#: elf32-rx.c:687
 #, c-format
-msgid "%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"
-msgstr "%B(%A): rÃ©adressage PID %s non sÃ»r Ã  0x%08lx (sur %s dans %s)"
+msgid "%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)"
+msgstr "%B(%A): rÃ©adressage PID %s non sÃ»r Ã  %Lx (sur %s dans %s)"
 
-#: elf32-rx.c:1266
+#: elf32-rx.c:1267
 msgid "Warning: RX_SYM reloc with an unknown symbol"
 msgstr "Attention: Relocalistaion RX_SYM avec un symbole inconnu"
 
-#: elf32-rx.c:3145
+#: elf32-rx.c:3146
 msgid "There is a conflict merging the ELF header flags from %B"
 msgstr "Il y a un conflit en fusionnant les fanions d'en-tÃªtes ELF de %B"
 
-#: elf32-rx.c:3148
+#: elf32-rx.c:3149
 #, c-format
 msgid "  the input  file's flags: %s"
 msgstr "  les fanions du fichier d'entrÃ©e: %s"
 
-#: elf32-rx.c:3150
+#: elf32-rx.c:3151
 #, c-format
 msgid "  the output file's flags: %s"
 msgstr "  les fanions du fichier de sortie: %s"
 
-#: elf32-rx.c:3757
+#: elf32-rx.c:3758
 #, c-format
 msgid "%B:%A: table %s missing corresponding %s"
 msgstr "%B:%A: la table %s n'a pas de %s correspondant"
 
-#: elf32-rx.c:3765
+#: elf32-rx.c:3766
 #, c-format
 msgid "%B:%A: %s and %s must be in the same input section"
 msgstr "%B:%A: %s et %s doivent Ãªtre dans la mÃªme section d'entrÃ©e"
 
-#: elf32-s390.c:2310 elf64-s390.c:2257
+#: elf32-s390.c:2137 elf64-s390.c:2075
 #, c-format
-msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s"
-msgstr "%B(%A+0x%lx): instruction invalide pour le rÃ©adressage TLS %s"
+msgid "%B(%A+%#Lx): invalid instruction for TLS relocation %s"
+msgstr "%B(%A+%#Lx): instruction invalide pour le rÃ©adressage TLS %s"
 
 #: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3756
 msgid "not enough GOT space for local GOT entries"
@@ -3380,22 +3361,22 @@ msgstr "adresse pas alignÃ©e sur un mot"
 msgid "%B: Malformed reloc detected for section %A"
 msgstr "%B: RÃ©adressage mal composÃ© dÃ©tectÃ© dans la section %A"
 
-#: elf32-score.c:2883 elf32-score7.c:2688
+#: elf32-score.c:2879 elf32-score7.c:2684
 #, c-format
-msgid "%B: CALL15 reloc at 0x%lx not against global symbol"
-msgstr "%B: appel CALL15 de rÃ©adressage Ã  0x%lx n'est pas appliquÃ© sur un symbole global"
+msgid "%B: CALL15 reloc at %#Lx not against global symbol"
+msgstr "%B: appel CALL15 de rÃ©adressage Ã  %#Lx n'est pas appliquÃ© sur un symbole global"
 
-#: elf32-score.c:4005 elf32-score7.c:3810
+#: elf32-score.c:4001 elf32-score7.c:3806
 #, c-format
 msgid " [pic]"
 msgstr " [pic]"
 
-#: elf32-score.c:4009 elf32-score7.c:3814
+#: elf32-score.c:4005 elf32-score7.c:3810
 #, c-format
 msgid " [fix dep]"
 msgstr " [fix dep]"
 
-#: elf32-score.c:4052 elf32-score7.c:3857
+#: elf32-score.c:4048 elf32-score7.c:3853
 msgid "%B: warning: linking PIC files with non-PIC files"
 msgstr "%B: attention: Ã©dition de liens des fichiers PIC avec des fichiers non PIC"
 
@@ -3419,85 +3400,90 @@ msgstr "%B: Ã‰chec de l'ajout du symbole
 msgid "%B: unrecognised SH reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage SH non reconnu: %d"
 
-#: elf32-sh.c:3953 elf64-sh64.c:1508
+#: elf32-sh.c:592
+#, c-format
+msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x"
+msgstr "%B: %#Lx: attention: R_SH_USES pointe vers un insn inconnu 0x%x"
+
+#: elf32-sh.c:3947 elf64-sh64.c:1508
 msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
 msgstr "STO_SH5_ISA32 inattendu sur le symbole local n'est pas traitÃ©"
 
-#: elf32-sh.c:4206
+#: elf32-sh.c:4200
 #, c-format
-msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"
-msgstr "%B: 0x%lx: fatal: cible de branchement non alignÃ©e pour un rÃ©adressage de type relax-support"
+msgid "%B: %#Lx: fatal: unaligned branch target for relax-support relocation"
+msgstr "%B: %#Lx: fatal: cible de branchement non alignÃ©e pour un rÃ©adressage de type relax-support"
 
-#: elf32-sh.c:4240 elf32-sh.c:4256
+#: elf32-sh.c:4234 elf32-sh.c:4250
 #, c-format
-msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"
-msgstr "%B: 0x%lx: fatal: rÃ©adressage %s non alignÃ© 0x%lx"
+msgid "%B: %#Lx: fatal: unaligned %s relocation %#Lx"
+msgstr "%B: %#Lx: fatal: rÃ©adressage %s non alignÃ© %#Lx"
 
-#: elf32-sh.c:4271
+#: elf32-sh.c:4265
 #, c-format
-msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
-msgstr "%B: 0x%lx: fatal: rÃ©adressage R_SH_PSHA %d pas dans l'intervalle -32..32"
+msgid "%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32"
+msgstr "%B: %#Lx: fatal: rÃ©adressage R_SH_PSHA %Ld pas dans l'intervalle -32..32"
 
-#: elf32-sh.c:4286
+#: elf32-sh.c:4280
 #, c-format
-msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
-msgstr "%B: 0x%lx: fatal: rÃ©adressage R_SH_PSHL %d n'est pas dans l'intervalle -32..32"
+msgid "%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32"
+msgstr "%B: %#Lx: fatal: rÃ©adressage R_SH_PSHL %Ld n'est pas dans l'intervalle -32..32"
 
-#: elf32-sh.c:4431 elf32-sh.c:4903
+#: elf32-sh.c:4426 elf32-sh.c:4899
 #, c-format
-msgid "%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"
-msgstr "%B(%A+0x%lx): impossible d'apporter des corrections Ã  Â«Â %sÂ Â» dans une section en lecture seule"
+msgid "%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section"
+msgstr "%B(%A+%#Lx): impossible d'apporter des corrections Ã  Â«Â %sÂ Â» dans une section en lecture seule"
 
-#: elf32-sh.c:5005
+#: elf32-sh.c:5001
 #, c-format
-msgid "%B(%A+0x%lx): %s relocation against external symbol \"%s\""
-msgstr "%B(%A+0x%lx): %s rÃ©adressage vers le symbole externe Â«Â %sÂ Â»"
+msgid "%B(%A+%#Lx): %s relocation against external symbol \"%s\""
+msgstr "%B(%A+%#Lx): %s rÃ©adressage vers le symbole externe Â«Â %sÂ Â»"
 
-#: elf32-sh.c:5469
+#: elf32-sh.c:5465
 #, c-format
 msgid "%X%C: relocation to \"%s\" references a different segment\n"
 msgstr "%X%C: le rÃ©adressage vers Â«Â %sÂ Â» fait rÃ©fÃ©rence Ã  un segment diffÃ©rent\n"
 
-#: elf32-sh.c:5476
+#: elf32-sh.c:5472
 #, c-format
 msgid "%C: warning: relocation to \"%s\" references a different segment\n"
 msgstr "%C: attention: rÃ©adressage vers Â«Â %sÂ Â» fait rÃ©fÃ©rence Ã  un segment diffÃ©rent\n"
 
-#: elf32-sh.c:6045 elf32-sh.c:6131
+#: elf32-sh.c:6046 elf32-sh.c:6132
 #, c-format
 msgid "%B: `%s' accessed both as normal and FDPIC symbol"
 msgstr "%B: Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme symbole normal et comme symbole FDPIC"
 
-#: elf32-sh.c:6051 elf32-sh.c:6136
+#: elf32-sh.c:6052 elf32-sh.c:6137
 #, c-format
 msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
 msgstr "%B: Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme symbole FDPIC et comme symbole local au thread"
 
-#: elf32-sh.c:6082
+#: elf32-sh.c:6083
 msgid "%B: Function descriptor relocation with non-zero addend"
 msgstr "%B: Descripteur de fonction rÃ©adressÃ© avec un opÃ©rande non nul"
 
-#: elf32-sh.c:6320 elf64-alpha.c:4757
+#: elf32-sh.c:6321 elf64-alpha.c:4688
 #, c-format
 msgid "%B: TLS local exec code cannot be linked into shared objects"
 msgstr "%B: code exÃ©cutable local TLS ne peut Ãªtre liÃ© en objets partagÃ©s"
 
 # %s sont Â«Â dspÂ Â» ou Â«Â floating pointÂ Â» non traduits
-#: elf32-sh.c:6435
+#: elf32-sh.c:6436
 #, c-format
 msgid "%B: uses %s instructions while previous modules use %s instructions"
 msgstr "%B: utilise les instructions %s tandis que les modules prÃ©cÃ©dents utilisent les instructions %s"
 
-#: elf32-sh.c:6447
+#: elf32-sh.c:6448
 #, c-format
 msgid "internal error: merge of architecture '%s' with architecture '%s' produced unknown architecture"
 msgstr "erreur interne: la fusion de l'architecture Â«Â %sÂ Â» avec l'architecture Â«Â %sÂ Â» a produit une architecture inconnue"
 
-#: elf32-sh.c:6484
+#: elf32-sh.c:6485
 msgid "%B: uses instructions which are incompatible with instructions used in previous modules"
 msgstr "%B: utilise des instructions qui sont incompatibles avec les instructions utilisÃ©es dans les modules prÃ©cÃ©dents"
 
-#: elf32-sh.c:6497
+#: elf32-sh.c:6498
 msgid "%B: attempt to mix FDPIC and non-FDPIC objects"
 msgstr "%B: tentative de mÃ©langer des objets FDPIC et non-FDPIC"
 
@@ -3516,7 +3502,7 @@ msgstr "%B: compilÃ© comme un objet de 6
 msgid "%B: object size does not match that of target %B"
 msgstr "%B: taille de l'objet ne concorde pas avec la taille de la cible %B"
 
-#: elf32-sh64.c:455 elf64-sh64.c:2776
+#: elf32-sh64.c:455 elf64-sh64.c:2772
 msgid "%B: encountered datalabel symbol in input"
 msgstr "%B: rencontre du symbole d'une Ã©tiquette de donnÃ©e dans l'entrÃ©e"
 
@@ -3534,8 +3520,8 @@ msgstr "%B: Erreur GAS: insn PTB inatten
 
 #: elf32-sh64.c:600
 #, c-format
-msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n"
-msgstr "%B: erreur: type de rÃ©adressage %d non alignÃ© Ã  %08x rÃ©adressÃ© %p\n"
+msgid "%B: error: unaligned relocation type %d at %#Lx reloc %#Lx"
+msgstr "%B: erreur: type de rÃ©adressage %d non alignÃ© Ã  %#Lx rÃ©adressÃ© %#Lx"
 
 #: elf32-sh64.c:676
 msgid "%B: could not write out added .cranges entries"
@@ -3695,8 +3681,8 @@ msgstr "erreur fatale lors de la crÃ©ati
 
 #: elf32-spu.c:5043
 #, c-format
-msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%A+0x%lx): rÃ©adressage %s sans solution vers le symbole Â«Â %sÂ Â»"
+msgid "%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'"
+msgstr "%B(%s+%#Lx): rÃ©adressage %s sans solution vers le symbole Â«Â %sÂ Â»"
 
 #: elf32-tic6x.c:1596
 msgid "warning: generating a shared library containing non-PIC code"
@@ -3706,279 +3692,286 @@ msgstr "attention: production d'une libr
 msgid "warning: generating a shared library containing non-PID code"
 msgstr "attention: production d'une librairie partagÃ©e contenant du code non-PID"
 
-#: elf32-tic6x.c:2525
+#: elf32-tic6x.c:2460
 msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
 msgstr "%B: rÃ©adressage relatif Ã  SB mais __c6xabi_DSBT_BASE n'est pas dÃ©fini"
 
-#: elf32-tic6x.c:3651
+#: elf32-tic6x.c:3582
 #, c-format
 msgid "%B: error: unknown mandatory EABI object attribute %d"
 msgstr "%B: erreur: l'attribut d'objet EABI obligatoire %d est manquant"
 
-#: elf32-tic6x.c:3660
+#: elf32-tic6x.c:3591
 #, c-format
 msgid "%B: warning: unknown EABI object attribute %d"
 msgstr "%B: attention: attribut d'objet EABI %d inconnu"
 
-#: elf32-tic6x.c:3774 elf32-tic6x.c:3783
+#: elf32-tic6x.c:3705 elf32-tic6x.c:3714
 #, c-format
 msgid "error: %B requires more stack alignment than %B preserves"
 msgstr "erreur: %B nÃ©cessite un plus grand alignement de pile que ce que %B prÃ©serve"
 
-#: elf32-tic6x.c:3793 elf32-tic6x.c:3802
+#: elf32-tic6x.c:3724 elf32-tic6x.c:3733
 msgid "error: unknown Tag_ABI_array_object_alignment value in %B"
 msgstr "erreur: valeur Tag_ABI_array_object_alignment inconnue dans %B"
 
-#: elf32-tic6x.c:3811 elf32-tic6x.c:3820
+#: elf32-tic6x.c:3742 elf32-tic6x.c:3751
 msgid "error: unknown Tag_ABI_array_object_align_expected value in %B"
 msgstr "erreur: valeur Tag_ABI_array_object_align_expected inconnue dans %B"
 
-#: elf32-tic6x.c:3829 elf32-tic6x.c:3837
+#: elf32-tic6x.c:3760 elf32-tic6x.c:3768
 #, c-format
 msgid "error: %B requires more array alignment than %B preserves"
 msgstr "erreur: %B nÃ©cessite un plus grand alignement de tableau que ce que %B prÃ©serve"
 
-#: elf32-tic6x.c:3860
+#: elf32-tic6x.c:3791
 #, c-format
 msgid "warning: %B and %B differ in wchar_t size"
 msgstr "attention: %B et %B on des tailles de wchar_t diffÃ©rentes"
 
-#: elf32-tic6x.c:3879
+#: elf32-tic6x.c:3810
 #, c-format
 msgid "warning: %B and %B differ in whether code is compiled for DSBT"
 msgstr "attention: %B et %B ne sont pas d'accord sur la compilation du code pour DSBT"
 
-#: elf32-v850.c:157
+#: elf32-tilepro.c:3752 elfxx-tilegx.c:4132 elfxx-x86.c:1336
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:9172
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2492
+#, c-format
+msgid "discarded output section: `%A'"
+msgstr "section de sortie rejetÃ©e: Â«Â %AÂ Â»"
+
+#: elf32-v850.c:153
 #, c-format
 msgid "Variable `%s' cannot occupy in multiple small data regions"
 msgstr "Variable Â«Â %sÂ Â» ne peut occuper de multiples petites rÃ©gions de donnÃ©es"
 
-#: elf32-v850.c:160
+#: elf32-v850.c:156
 #, c-format
 msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions"
 msgstr "Variable Â«Â %sÂ Â» peut seulement Ãªtre dans une rÃ©gion de donnÃ©es petite, zÃ©ro ou minuscule"
 
-#: elf32-v850.c:163
+#: elf32-v850.c:159
 #, c-format
 msgid "Variable `%s' cannot be in both small and zero data regions simultaneously"
 msgstr "Variable Â«Â %sÂ Â» ne peut Ãªtre dans une rÃ©gion de donnÃ©es petite et zÃ©ro Ã  la fois"
 
-#: elf32-v850.c:166
+#: elf32-v850.c:162
 #, c-format
 msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously"
 msgstr "Variable Â«Â %sÂ Â» ne peut Ãªtre dans une rÃ©gion de donnÃ©es petite et minuscule Ã  la fois"
 
-#: elf32-v850.c:169
+#: elf32-v850.c:165
 #, c-format
 msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
 msgstr "Variable Â«Â %sÂ Â» ne peut Ãªtre dans une rÃ©gion de donnÃ©es zÃ©ro et minuscule Ã  la fois"
 
-#: elf32-v850.c:467
+#: elf32-v850.c:463
 msgid "FAILED to find previous HI16 reloc"
 msgstr "Ã‰CHEC de repÃ©rage du rÃ©adressage HI16 prÃ©cÃ©dent"
 
-#: elf32-v850.c:1902 elf32-v850.c:1921
+#: elf32-v850.c:1898 elf32-v850.c:1917
 #, c-format
 msgid "%B: invalid V850 reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage V850 invalide: %d"
 
-#: elf32-v850.c:2299
+#: elf32-v850.c:2295
 msgid "could not locate special linker symbol __gp"
 msgstr "ne peut repÃ©rer le symbole spÃ©cial d'Ã©dition de lien __gp"
 
-#: elf32-v850.c:2303
+#: elf32-v850.c:2299
 msgid "could not locate special linker symbol __ep"
 msgstr "ne peut repÃ©rer le symbole spÃ©cial d'Ã©dition de lien __ep"
 
-#: elf32-v850.c:2307
+#: elf32-v850.c:2303
 msgid "could not locate special linker symbol __ctbp"
 msgstr "ne peut repÃ©rer le symbole spÃ©cial d'Ã©dition de lien __ctbp"
 
-#: elf32-v850.c:2528
+#: elf32-v850.c:2524
 #, c-format
-msgid "error: %B needs 8-byte aligment but %B is set for 4-byte alignment"
+msgid "error: %B needs 8-byte alignment but %B is set for 4-byte alignment"
 msgstr "erreur: %B a besoin d'un alignement sur 8 octets mais %B est dÃ©fini pour un alignement sur 4 octets"
 
-#: elf32-v850.c:2544
+#: elf32-v850.c:2540
 #, c-format
 msgid "error: %B uses 64-bit doubles but %B uses 32-bit doubles"
 msgstr "erreur: %B utilise des doubles 64 bits alors que %B utilise des doubles 32 bits"
 
-#: elf32-v850.c:2559
+#: elf32-v850.c:2555
 #, c-format
 msgid "error: %B uses FPU-3.0 but %B only supports FPU-2.0"
 msgstr "erreur: %B utilise FPU-3.0 mais %B ne supporte que FPU-2.0"
 
-#: elf32-v850.c:2591
+#: elf32-v850.c:2587
 #, c-format
 msgid " alignment of 8-byte entities: "
 msgstr " alignement d'entitÃ©s de 8 octets:"
 
-#: elf32-v850.c:2594
+#: elf32-v850.c:2590
 #, c-format
 msgid "4-byte"
 msgstr "4 octets"
 
-#: elf32-v850.c:2595
+#: elf32-v850.c:2591
 #, c-format
 msgid "8-byte"
 msgstr "8 octets"
 
-#: elf32-v850.c:2596 elf32-v850.c:2608
+#: elf32-v850.c:2592 elf32-v850.c:2604
 #, c-format
 msgid "not set"
 msgstr "pas dÃ©fini"
 
-#: elf32-v850.c:2597 elf32-v850.c:2609 elf32-v850.c:2621 elf32-v850.c:2632
-#: elf32-v850.c:2643 elf32-v850.c:2654
+#: elf32-v850.c:2593 elf32-v850.c:2605 elf32-v850.c:2617 elf32-v850.c:2628
+#: elf32-v850.c:2639 elf32-v850.c:2650
 #, c-format
 msgid "unknown: %x"
 msgstr "inconnu: %x"
 
-#: elf32-v850.c:2603
+#: elf32-v850.c:2599
 #, c-format
 msgid " size of doubles: "
 msgstr " taille des doubles: "
 
-#: elf32-v850.c:2606
+#: elf32-v850.c:2602
 #, c-format
 msgid "4-bytes"
 msgstr "4 octets"
 
-#: elf32-v850.c:2607
+#: elf32-v850.c:2603
 #, c-format
 msgid "8-bytes"
 msgstr "8 octets"
 
-#: elf32-v850.c:2615
+#: elf32-v850.c:2611
 #, c-format
 msgid " FPU support required: "
 msgstr " support du FPU requis: "
 
-#: elf32-v850.c:2618
+#: elf32-v850.c:2614
 #, c-format
 msgid "FPU-2.0"
 msgstr "FPU-2.0"
 
-#: elf32-v850.c:2619
+#: elf32-v850.c:2615
 #, c-format
 msgid "FPU-3.0"
 msgstr "FPU-3.0"
 
-#: elf32-v850.c:2620
+#: elf32-v850.c:2616
 #, c-format
 msgid "none"
 msgstr "aucun"
 
-#: elf32-v850.c:2627
+#: elf32-v850.c:2623
 #, c-format
 msgid "SIMD use: "
 msgstr "utilisation SIMD: "
 
-#: elf32-v850.c:2630 elf32-v850.c:2641 elf32-v850.c:2652
+#: elf32-v850.c:2626 elf32-v850.c:2637 elf32-v850.c:2648
 #, c-format
 msgid "yes"
 msgstr "oui"
 
-#: elf32-v850.c:2631 elf32-v850.c:2642 elf32-v850.c:2653
+#: elf32-v850.c:2627 elf32-v850.c:2638 elf32-v850.c:2649
 #, c-format
 msgid "no"
 msgstr "non"
 
-#: elf32-v850.c:2638
+#: elf32-v850.c:2634
 #, c-format
 msgid "CACHE use: "
 msgstr "utilisation CACHE: "
 
-#: elf32-v850.c:2649
+#: elf32-v850.c:2645
 #, c-format
 msgid "MMU use: "
 msgstr "utilisation MMU: "
 
-#: elf32-v850.c:2816 elf32-v850.c:2872
+#: elf32-v850.c:2812 elf32-v850.c:2868
 msgid "%B: Architecture mismatch with previous modules"
 msgstr "%B: L'architecture ne concorde pas avec les modules prÃ©cÃ©dents"
 
 #. xgettext:c-format.
-#: elf32-v850.c:2890
+#: elf32-v850.c:2886
 #, c-format
 msgid "private flags = %lx: "
 msgstr "fanions privÃ©s = %lx: "
 
-#: elf32-v850.c:2895
+#: elf32-v850.c:2891
 #, c-format
 msgid "unknown v850 architecture"
 msgstr "architecture v850 inconnue"
 
-#: elf32-v850.c:2897
+#: elf32-v850.c:2893
 #, c-format
 msgid "v850 E3 architecture"
 msgstr "architecture v850 E3"
 
-#: elf32-v850.c:2899 elf32-v850.c:2906
+#: elf32-v850.c:2895 elf32-v850.c:2902
 #, c-format
 msgid "v850 architecture"
 msgstr "architecture v850"
 
-#: elf32-v850.c:2907
+#: elf32-v850.c:2903
 #, c-format
 msgid "v850e architecture"
 msgstr "architecture v850e"
 
-#: elf32-v850.c:2908
+#: elf32-v850.c:2904
 #, c-format
 msgid "v850e1 architecture"
 msgstr "architecture v850e1"
 
-#: elf32-v850.c:2909
+#: elf32-v850.c:2905
 #, c-format
 msgid "v850e2 architecture"
 msgstr "architecture v850e2"
 
-#: elf32-v850.c:2910
+#: elf32-v850.c:2906
 #, c-format
 msgid "v850e2v3 architecture"
 msgstr "architecture v850e2v3"
 
-#: elf32-v850.c:2911
+#: elf32-v850.c:2907
 #, c-format
 msgid "v850e3v5 architecture"
 msgstr "architecture v850e3v5"
 
-#: elf32-v850.c:3605
+#: elf32-v850.c:3601
 #, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insns"
-msgstr "%B: 0x%lx: attention: R_V850_LONGCALL pointe vers des insns inconnues"
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insns"
+msgstr "%B: %#Lx: attention: R_V850_LONGCALL pointe vers des insns inconnues"
 
-#: elf32-v850.c:3615
+#: elf32-v850.c:3611
 #, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insn 0x%x"
-msgstr "%B: 0x%lx: attention: R_V850_LONGCALL pointe vers l'insn inconnue 0x%x"
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insn %#x"
+msgstr "%B: %#Lx: attention: R_V850_LONGCALL pointe vers l'insn inconnue %#x"
 
-#: elf32-v850.c:3660
+#: elf32-v850.c:3656
 #, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc"
-msgstr "%B: 0x%lx: attention: R_V850_LONGCALL pointe vers un rÃ©adressage non reconnu"
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc"
+msgstr "%B: %#Lx: attention: R_V850_LONGCALL pointe vers un rÃ©adressage non reconnu"
 
-#: elf32-v850.c:3700
+#: elf32-v850.c:3696
 #, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc 0x%lx"
-msgstr "%B: 0x%lx: attention: R_V850_LONGCALL pointe vers le rÃ©adressage inconnu 0x%lx"
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc %#Lx"
+msgstr "%B: %#Lx: attention: R_V850_LONGCALL pointe vers le rÃ©adressage inconnu %#Lx"
 
-#: elf32-v850.c:3843
+#: elf32-v850.c:3839
 #, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insns"
-msgstr "%B: 0x%lx: attention: R_V850_LONGJUMP pointe vers des insns non reconnues"
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insns"
+msgstr "%B: %#Lx: attention: R_V850_LONGJUMP pointe vers des insns non reconnues"
 
-#: elf32-v850.c:3853
+#: elf32-v850.c:3849
 #, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insn 0x%x"
-msgstr "%B: 0x%lx: attention: R_V850_LONGJUMP pointe vers une insn inconnue 0x%x"
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insn %#x"
+msgstr "%B: %#Lx: attention: R_V850_LONGJUMP pointe vers une insn inconnue %#x"
 
-#: elf32-v850.c:3887
+#: elf32-v850.c:3883
 #, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized reloc"
-msgstr "%B: 0x%lx: attention: R_V850_LONGJUMP pointe vers un rÃ©adressage non reconnu"
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized reloc"
+msgstr "%B: %#Lx: attention: R_V850_LONGJUMP pointe vers un rÃ©adressage non reconnu"
 
 #: elf32-vax.c:290
 #, c-format
@@ -4000,25 +3993,25 @@ msgstr " [d-float]"
 msgid " [g-float]"
 msgstr " [g-float]"
 
-#: elf32-vax.c:635
+#: elf32-vax.c:631
 #, c-format
-msgid "%B: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
-msgstr "%B: attention: ajout GOT de %ld Ã  Â«Â %sÂ Â» ne concorde par avec l'ajout GOT prÃ©cÃ©dent de %ld"
+msgid "%B: warning: GOT addend of %Ld to `%s' does not match previous GOT addend of %Ld"
+msgstr "%B: attention: ajout GOT de %Ld Ã  Â«Â %sÂ Â» ne concorde par avec l'ajout GOT prÃ©cÃ©dent de %Ld"
 
-#: elf32-vax.c:1511
+#: elf32-vax.c:1445
 #, c-format
-msgid "%B: warning: PLT addend of %d to `%s' from %A section ignored"
-msgstr "%B: attention: ignore l'ajout PLT de %d Ã  Â«Â %sÂ Â» de la section %A"
+msgid "%B: warning: PLT addend of %Ld to `%s' from %A section ignored"
+msgstr "%B: attention: ignore l'ajout PLT de %Ld Ã  Â«Â %sÂ Â» de la section %A"
 
-#: elf32-vax.c:1636
+#: elf32-vax.c:1570
 #, c-format
 msgid "%B: warning: %s relocation against symbol `%s' from %A section"
 msgstr "%B: attention: rÃ©adressage %s vers le symbole Â«Â %sÂ Â» de la section %A"
 
-#: elf32-vax.c:1643
+#: elf32-vax.c:1577
 #, c-format
-msgid "%B: warning: %s relocation to 0x%x from %A section"
-msgstr "%B: attention: rÃ©adressage %s vers 0x%x de la section %A"
+msgid "%B: warning: %s relocation to %#Lx from %A section"
+msgstr "%B: attention: rÃ©adressage %s vers %#Lx de la section %A"
 
 #: elf32-visium.c:481
 #, c-format
@@ -4047,8 +4040,8 @@ msgstr "cpu=XGATE]"
 msgid "error reading cpu type from elf private data"
 msgstr "erreur lors de la lecture du type de CPU dans les donnÃ©es elf privÃ©es"
 
-#: elf32-xstormy16.c:453 elf64-ia64-vms.c:2074 elf32-ia64.c:2334
-#: elf64-ia64.c:2334
+#: elf32-xstormy16.c:449 elf64-ia64-vms.c:2074 elf32-ia64.c:2337
+#: elf64-ia64.c:2337
 msgid "non-zero addend in @fptr reloc"
 msgstr "ajout non nul dans le rÃ©adressage @fptr"
 
@@ -4062,54 +4055,54 @@ msgstr "%B: numÃ©ro de rÃ©adressage XTEN
 msgid "%B(%A): invalid property table"
 msgstr "%B(%A): table de propriÃ©tÃ© invalide"
 
-#: elf32-xtensa.c:2790
+#: elf32-xtensa.c:2655
 #, c-format
-msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)"
-msgstr "%B(%A+0x%lx): dÃ©calage de rÃ©adressage hors limite (taille=0x%x)"
+msgid "%B(%A+%#Lx): relocation offset out of range (size=%#Lx)"
+msgstr "%B(%A+%#Lx): dÃ©calage de rÃ©adressage hors limite (taille=%#Lx)"
 
-#: elf32-xtensa.c:2871 elf32-xtensa.c:2990
+#: elf32-xtensa.c:2736 elf32-xtensa.c:2855
 msgid "dynamic relocation in read-only section"
 msgstr "rÃ©adressage dynamique dans une section en lecture seule"
 
-#: elf32-xtensa.c:2967
+#: elf32-xtensa.c:2832
 msgid "TLS relocation invalid without dynamic sections"
 msgstr "rÃ©adressage TLS incorrecte sans section dynamique"
 
-#: elf32-xtensa.c:3178
+#: elf32-xtensa.c:3043
 msgid "internal inconsistency in size of .got.loc section"
 msgstr "incohÃ©rence interne dans la taille de la section .got.loc"
 
-#: elf32-xtensa.c:3485
+#: elf32-xtensa.c:3350
 #, c-format
 msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x"
 msgstr "%B: type de machine incompatible. Sortie est 0x%x. EntrÃ©e est 0x%x"
 
-#: elf32-xtensa.c:4716 elf32-xtensa.c:4724
+#: elf32-xtensa.c:4581 elf32-xtensa.c:4589
 msgid "Attempt to convert L32R/CALLX to CALL failed"
 msgstr "Ã‰chec de la tentative de convertir L32R/CALLX en CALL"
 
-#: elf32-xtensa.c:6552 elf32-xtensa.c:6629 elf32-xtensa.c:8002
+#: elf32-xtensa.c:6417 elf32-xtensa.c:6495 elf32-xtensa.c:7871
 #, c-format
-msgid "%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"
-msgstr "%B(%A+0x%lx): l'instruction ne peut pas Ãªtre dÃ©codÃ©e; la configuration est peut-Ãªtre erronÃ©e"
+msgid "%B(%A+%#Lx): could not decode instruction; possible configuration mismatch"
+msgstr "%B(%A+%#Lx): l'instruction ne peut pas Ãªtre dÃ©codÃ©e; la configuration est peut-Ãªtre erronÃ©e"
 
-#: elf32-xtensa.c:7743
+#: elf32-xtensa.c:7610
 #, c-format
-msgid "%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
-msgstr "%B(%A+0x%lx): l'instruction ne peut pas Ãªtre dÃ©codÃ©e pour un rÃ©adressage XTENSA_ASM_SIMPLIFY; la configuration est peut-Ãªtre erronÃ©e"
+msgid "%B(%A+%#Lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
+msgstr "%B(%A+%#Lx): l'instruction ne peut pas Ãªtre dÃ©codÃ©e pour un rÃ©adressage XTENSA_ASM_SIMPLIFY; la configuration est peut-Ãªtre erronÃ©e"
 
-#: elf32-xtensa.c:9585
+#: elf32-xtensa.c:9455
 msgid "invalid relocation address"
 msgstr "adresse de rÃ©adressage incorrecte"
 
-#: elf32-xtensa.c:9635
+#: elf32-xtensa.c:9505
 msgid "overflow after relaxation"
 msgstr "dÃ©bordement aprÃ¨s la relÃ¢che"
 
-#: elf32-xtensa.c:10779
+#: elf32-xtensa.c:10649
 #, c-format
-msgid "%B(%A+0x%lx): unexpected fix for %s relocation"
-msgstr "%B(%A+0x%lx): correction inattendue pour le rÃ©adressage %s"
+msgid "%B(%A+%#Lx): unexpected fix for %s relocation"
+msgstr "%B(%A+%#Lx): correction inattendue pour le rÃ©adressage %s"
 
 #: elf64-alpha.c:472
 msgid "GPDISP relocation did not find ldah and lda instructions"
@@ -4120,172 +4113,172 @@ msgstr "le rÃ©adressage GPDISP n'a pas r
 msgid "%B: unrecognised Alpha reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage Alpha non reconnu: %d"
 
-#: elf64-alpha.c:2529
+#: elf64-alpha.c:2462
 #, c-format
 msgid "%B: .got subsegment exceeds 64K (size %d)"
 msgstr "%B: le sous-segment .got excÃ¨de 64K (taille %d)"
 
-#: elf64-alpha.c:3084
+#: elf64-alpha.c:3017
 #, c-format
-msgid "%B: %A+0x%lx: warning: %s relocation against unexpected insn"
-msgstr "%B: %A+0x%lx: attention: rÃ©adressage de %s sur une insn inattendue"
+msgid "%B: %A+%#Lx: warning: %s relocation against unexpected insn"
+msgstr "%B: %A+%#Lx: attention: rÃ©adressage de %s sur une insn inattendue"
 
-#: elf64-alpha.c:3280
+#: elf64-alpha.c:3212
 #, c-format
-msgid "%B: %A+0x%lx: warning: LITERAL relocation against unexpected insn"
-msgstr "%B: %A+0x%lx: attention: rÃ©adressage LITERAL sur une insn inattendue"
+msgid "%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn"
+msgstr "%B: %A+%#Lx: attention: rÃ©adressage LITERAL sur une insn inattendue"
 
-#: elf64-alpha.c:4481 elf64-alpha.c:4494
+#: elf64-alpha.c:4412 elf64-alpha.c:4425
 #, c-format
 msgid "%B: gp-relative relocation against dynamic symbol %s"
 msgstr "%B: rÃ©adressage relatif au gp vers le symbole dynamique %s"
 
-#: elf64-alpha.c:4521 elf64-alpha.c:4665
+#: elf64-alpha.c:4452 elf64-alpha.c:4596
 #, c-format
 msgid "%B: pc-relative relocation against dynamic symbol %s"
 msgstr "%B: rÃ©adressage relatif au PC vers le symbole dynamique %s"
 
-#: elf64-alpha.c:4550
+#: elf64-alpha.c:4481
 #, c-format
 msgid "%B: change in gp: BRSGP %s"
 msgstr "%B: changÃ© dans le GP: BRSGP %s"
 
-#: elf64-alpha.c:4575
+#: elf64-alpha.c:4506
 msgid "<unknown>"
 msgstr "<inconnu>"
 
-#: elf64-alpha.c:4581
+#: elf64-alpha.c:4512
 #, c-format
 msgid "%B: !samegp reloc against symbol without .prologue: %s"
 msgstr "%B: rÃ©adressage !samegp vers le symbole sans .prologue: %s"
 
-#: elf64-alpha.c:4639
+#: elf64-alpha.c:4570
 #, c-format
 msgid "%B: unhandled dynamic relocation against %s"
 msgstr "%B: rÃ©adressage dynamique non traitÃ© vers %s"
 
-#: elf64-alpha.c:4674
+#: elf64-alpha.c:4605
 #, c-format
 msgid "%B: pc-relative relocation against undefined weak symbol %s"
 msgstr "%B: rÃ©adressage relatif au PC vers le symbole faible non dÃ©fini %s"
 
-#: elf64-alpha.c:4740
+#: elf64-alpha.c:4671
 #, c-format
 msgid "%B: dtp-relative relocation against dynamic symbol %s"
 msgstr "%B: rÃ©adressage relatif au dtp vers le symbole dynamique %s"
 
-#: elf64-alpha.c:4765
+#: elf64-alpha.c:4696
 #, c-format
 msgid "%B: tp-relative relocation against dynamic symbol %s"
 msgstr "%B: rÃ©adressage relatif au tp vers le symbole dynamique %s"
 
-#: elf64-hppa.c:2082
+#: elf64-hppa.c:2081
 #, c-format
-msgid "stub entry for %s cannot load .plt, dp offset = %ld"
-msgstr "entrÃ©e de l'Ã©bauche pour %s ne peut charger .plt, dÃ©calage dp = %ld"
+msgid "stub entry for %s cannot load .plt, dp offset = %Ld"
+msgstr "l'entrÃ©e de l'Ã©bauche pour %s ne peut charger .plt, dÃ©calage dp = %Ld"
 
-#: elf64-hppa.c:3287
+#: elf64-hppa.c:3286
 #, c-format
-msgid "%B(%A+0x%"
-msgstr "%B(%A+0x%"
+msgid "%B(%A+%#Lx): cannot reach %s"
+msgstr "%B(%A+%#Lx): ne peut atteindre %s"
 
 #: elf64-ia64-vms.c:587 elf32-ia64.c:620 elf64-ia64.c:620
 #, c-format
-msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
-msgstr "%B: Ne peut relÃ¢cher br Ã  0x%lx dans la section Â«Â %AÂ Â». Veuillez utiliser brl ou un branchement indirect."
+msgid "%B: Can't relax br at %#Lx in section `%A'. Please use brl or indirect branch."
+msgstr "%B: Ne peut relÃ¢cher br Ã  %#Lx dans la section Â«Â %AÂ Â». Veuillez utiliser brl ou un branchement indirect."
 
-#: elf64-ia64-vms.c:2029 elf32-ia64.c:2282 elf64-ia64.c:2282
+#: elf64-ia64-vms.c:2029 elf32-ia64.c:2285 elf64-ia64.c:2285
 msgid "@pltoff reloc against local symbol"
 msgstr "rÃ©adressage @pltoff vers un symbole local"
 
-#: elf64-ia64-vms.c:3282 elf32-ia64.c:3688 elf64-ia64.c:3688
+#: elf64-ia64-vms.c:3281 elf32-ia64.c:3696 elf64-ia64.c:3696
 #, c-format
-msgid "%B: short data segment overflowed (0x%lx >= 0x400000)"
-msgstr "%B: dÃ©bordement du segment de donnÃ©es court (0x%lx >= 0x400000)"
+msgid "%B: short data segment overflowed (%#Lx >= 0x400000)"
+msgstr "%B: dÃ©bordement du segment de donnÃ©es court (%#Lx >= 0x400000)"
 
-#: elf64-ia64-vms.c:3292 elf32-ia64.c:3698 elf64-ia64.c:3698
+#: elf64-ia64-vms.c:3291 elf32-ia64.c:3706 elf64-ia64.c:3706
 msgid "%B: __gp does not cover short data segment"
 msgstr "%B: __gp ne couvre pas le segment de donnÃ©es court"
 
-#: elf64-ia64-vms.c:3558 elf32-ia64.c:3965 elf64-ia64.c:3965
+#: elf64-ia64-vms.c:3557 elf32-ia64.c:3974 elf64-ia64.c:3974
 #, c-format
 msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
 msgstr "%B: code non pic avec des rÃ©adressages imm vers le symbole dynamique Â«Â %sÂ Â»"
 
-#: elf64-ia64-vms.c:3622 elf32-ia64.c:4033 elf64-ia64.c:4033
+#: elf64-ia64-vms.c:3621 elf32-ia64.c:4042 elf64-ia64.c:4042
 #, c-format
 msgid "%B: @gprel relocation against dynamic symbol %s"
 msgstr "%B: rÃ©adressage @gprel vers le symbole dynamique %s"
 
-#: elf64-ia64-vms.c:3681 elf32-ia64.c:4096 elf64-ia64.c:4096
+#: elf64-ia64-vms.c:3680 elf32-ia64.c:4105 elf64-ia64.c:4105
 msgid "%B: linking non-pic code in a position independent executable"
 msgstr "%B: liaison de code non-pic dans un exÃ©cutable Ã  position indÃ©pendante"
 
-#: elf64-ia64-vms.c:3783 elf32-ia64.c:4234 elf64-ia64.c:4234
+#: elf64-ia64-vms.c:3782 elf32-ia64.c:4243 elf64-ia64.c:4243
 #, c-format
 msgid "%B: @internal branch to dynamic symbol %s"
 msgstr "%B: branchement @internal vers le symbole dynamique %s"
 
-#: elf64-ia64-vms.c:3786 elf32-ia64.c:4237 elf64-ia64.c:4237
+#: elf64-ia64-vms.c:3785 elf32-ia64.c:4246 elf64-ia64.c:4246
 #, c-format
 msgid "%B: speculation fixup to dynamic symbol %s"
 msgstr "%B: spÃ©culation d'ajustements vers le symbole dynamique %s"
 
-#: elf64-ia64-vms.c:3789 elf32-ia64.c:4240 elf64-ia64.c:4240
+#: elf64-ia64-vms.c:3788 elf32-ia64.c:4249 elf64-ia64.c:4249
 #, c-format
 msgid "%B: @pcrel relocation against dynamic symbol %s"
 msgstr "%B: rÃ©adressage @pcrel vers le symbole dynamique %s"
 
-#: elf64-ia64-vms.c:3913 elf32-ia64.c:4437 elf64-ia64.c:4437
+#: elf64-ia64-vms.c:3912 elf32-ia64.c:4446 elf64-ia64.c:4446
 msgid "unsupported reloc"
 msgstr "rÃ©adressage non supportÃ©e"
 
-#: elf64-ia64-vms.c:3950 elf32-ia64.c:4475 elf64-ia64.c:4475
+#: elf64-ia64-vms.c:3949 elf32-ia64.c:4484 elf64-ia64.c:4484
 #, c-format
-msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
-msgstr "%B: setion TLS manquante pour le rÃ©adressage %s vers Â«Â %sÂ Â» Ã  0x%lx dans la section Â«Â %AÂ Â»."
+msgid "%B: missing TLS section for relocation %s against `%s' at %#Lx in section `%A'."
+msgstr "%B: setion TLS manquante pour le rÃ©adressage %s vers Â«Â %sÂ Â» Ã  %#Lx dans la section Â«Â %AÂ Â»."
 
-#: elf64-ia64-vms.c:3967 elf32-ia64.c:4492 elf64-ia64.c:4492
+#: elf64-ia64-vms.c:3966 elf32-ia64.c:4501 elf64-ia64.c:4501
 #, c-format
-msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
-msgstr "%B:Ne peut pas relÃ¢cher br (%s) sur Â«Â %sÂ Â» Ã  0x%lx dans la section Â«Â %AÂ Â» avec la taille 0x%lx (> 0x1000000)."
+msgid "%B: Can't relax br (%s) to `%s' at %#Lx in section `%A' with size %#Lx (> 0x1000000)."
+msgstr "%B: Ne peut pas relÃ¢cher br (%s) sur Â«Â %sÂ Â» Ã  %#Lx dans la section Â«Â %AÂ Â» avec la taille %#Lx (> 0x1000000)."
 
-#: elf64-ia64-vms.c:4258 elf32-ia64.c:4749 elf64-ia64.c:4749
+#: elf64-ia64-vms.c:4257 elf32-ia64.c:4758 elf64-ia64.c:4758
 msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
 msgstr "%B: Ã©dition de liens trap-on-NULL-dereference avec des fichiers non-trapping"
 
-#: elf64-ia64-vms.c:4267 elf32-ia64.c:4758 elf64-ia64.c:4758
+#: elf64-ia64-vms.c:4266 elf32-ia64.c:4767 elf64-ia64.c:4767
 msgid "%B: linking big-endian files with little-endian files"
 msgstr "%B: Ã©dition de liens entre des fichiers Ã  octets de poids fort et des fichiers Ã  octets de poids faible"
 
-#: elf64-ia64-vms.c:4276 elf32-ia64.c:4767 elf64-ia64.c:4767
+#: elf64-ia64-vms.c:4275 elf32-ia64.c:4776 elf64-ia64.c:4776
 msgid "%B: linking 64-bit files with 32-bit files"
 msgstr "%B: Ã©dition de liens entre fichiers 64 bits et fichiers 32 bits"
 
-#: elf64-ia64-vms.c:4285 elf32-ia64.c:4776 elf64-ia64.c:4776
+#: elf64-ia64-vms.c:4284 elf32-ia64.c:4785 elf64-ia64.c:4785
 msgid "%B: linking constant-gp files with non-constant-gp files"
 msgstr "%B: Ã©dition de liens entre fichiers constant-gp et fichiers non-constant-gp"
 
-#: elf64-ia64-vms.c:4295 elf32-ia64.c:4786 elf64-ia64.c:4786
+#: elf64-ia64-vms.c:4294 elf32-ia64.c:4795 elf64-ia64.c:4795
 msgid "%B: linking auto-pic files with non-auto-pic files"
 msgstr "%B: Ã©dition de liens entre fichiers auto-pic et fichiers non-auto-pic"
 
-#: elf64-ia64-vms.c:5138 elflink.c:4730
+#: elf64-ia64-vms.c:5137 elflink.c:4773
 #, c-format
 msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
 msgstr "Attention: alignement %u du symbole commun Â«Â %sÂ Â» dans %B est plus grand que l'alignement (%u) de sa section %A"
 
-#: elf64-ia64-vms.c:5145 elflink.c:4737
+#: elf64-ia64-vms.c:5144 elflink.c:4780
 #, c-format
 msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
 msgstr "Attention: alignement %u du symbole Â«Â %sÂ Â» dans %B est plus petit que %u dans %B"
 
-#: elf64-ia64-vms.c:5161
+#: elf64-ia64-vms.c:5160 elflink.c:4797
 #, c-format
-msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
-msgstr "Attention: taille du symbole Â«Â %sÂ Â» a changÃ© de %lu dans %B Ã  %lu dans %B"
+msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B"
+msgstr "Attention: taille du symbole Â«Â %sÂ Â» a changÃ© de %Lu dans %B Ã  %Lu dans %B"
 
-#: elf64-mips.c:3615 elfn32-mips.c:3439
+#: elf64-mips.c:3615 elfn32-mips.c:3443
 #, c-format
 msgid "unrecognised MIPS reloc number: %d"
 msgstr "type de rÃ©adressage MIPS non reconnu: %d"
@@ -4314,177 +4307,192 @@ msgstr ""
 #, c-format
 msgid ""
 "%B: Internal inconsistency error for value for\n"
-" linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx\n"
+" linker-allocated global register: linked: %#Lx != relaxed: %#Lx"
 msgstr ""
-"%B: erreur d'incohÃ©rence interne pour la valeur du registre global\n"
-" allouÃ© Ã  l'Ã©dition de lien: liÃ©: 0x%lx%08lx != relÃ¢chÃ©: 0x%lx%08lx\n"
+"%B: Erreur d'incohÃ©rence interne pour la valeur du registre global\n"
+" allouÃ© Ã  l'Ã©dition de lien: liÃ©: %#Lx != relÃ¢chÃ©: %#Lx"
 
-#: elf64-mmix.c:1266
+#: elf64-mmix.c:1264
 #, c-format
 msgid "%B: invalid MMIX reloc number: %d"
 msgstr "%B: numÃ©ro de rÃ©adressage MMIX invalide: %d"
 
-#: elf64-mmix.c:1618
+#: elf64-mmix.c:1616
 #, c-format
 msgid "%B: base-plus-offset relocation against register symbol: (unknown) in %A"
 msgstr "%B: rÃ©adressage base plus dÃ©calage vers le symbole registre: (inconnu) dans %A"
 
-#: elf64-mmix.c:1624
+#: elf64-mmix.c:1622
 #, c-format
 msgid "%B: base-plus-offset relocation against register symbol: %s in %A"
 msgstr "%B: rÃ©adressage base plus dÃ©calage vers le symbole registre: %s dans %A"
 
-#: elf64-mmix.c:1669
+#: elf64-mmix.c:1667
 #, c-format
 msgid "%B: register relocation against non-register symbol: (unknown) in %A"
 msgstr "%B: rÃ©adressage de registre vers le symbole non-registre: (inconnu) dans %A"
 
-#: elf64-mmix.c:1675
+#: elf64-mmix.c:1673
 #, c-format
 msgid "%B: register relocation against non-register symbol: %s in %A"
 msgstr "%B: rÃ©adressage de registre vers le symbole non-registre: %s dans %A"
 
-#: elf64-mmix.c:1712
+#: elf64-mmix.c:1710
 msgid "%B: directive LOCAL valid only with a register or absolute value"
 msgstr "%B: directive LOCAL valide seulement avec un registre ou une valeur absolue"
 
-#: elf64-mmix.c:1743
+#: elf64-mmix.c:1741
 #, c-format
-msgid "%B: LOCAL directive: Register $%ld is not a local register.  First global register is $%ld."
-msgstr "%B: directive LOCAL: registre $%ld n'est pas un registre local.  Premier registre global est $%ld."
+msgid "%B: LOCAL directive: Register $%Ld is not a local register.  First global register is $%Ld."
+msgstr "%B: directive LOCAL: registre $%Ld n'est pas un registre local.  Premier registre global est $%Ld."
 
-#: elf64-mmix.c:2202
+#: elf64-mmix.c:2169
 #, c-format
 msgid "%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
 msgstr "%B: erreur: multiple dÃ©finitions de Â«Â %sÂ Â»; dÃ©but de %s est initialisÃ© dans un prÃ©cÃ©dent fichier liÃ©\n"
 
-#: elf64-mmix.c:2257
+#: elf64-mmix.c:2224
 msgid "Register section has contents\n"
 msgstr "Registre de section contient\n"
 
-#: elf64-mmix.c:2447
+#: elf64-mmix.c:2414
 #, c-format
 msgid ""
-"Internal inconsistency: remaining %u != max %u.\n"
+"Internal inconsistency: remaining %lu != max %lu.\n"
 "  Please report this bug."
 msgstr ""
-"Inconsistance interne: reste %u != max %u.\n"
+"Inconsistance interne: reste %lu != max %lu.\n"
 "  Merci de rapporter cette anomalie."
 
-#: elf64-ppc.c:4625
+#: elf64-ppc.c:4640
 #, c-format
 msgid "%P: %B: cannot create stub entry %s\n"
 msgstr "%P: %B: ne peut crÃ©er l'entrÃ©e de l'Ã©bauche %s\n"
 
-#: elf64-ppc.c:4993
+#: elf64-ppc.c:4971
 msgid "%P: symbol '%s' has invalid st_other for ABI version 1\n"
 msgstr "%P: le symbole Â«Â %sÂ Â» a un st_other invalide pour l'ABI Ã  la version 1\n"
 
-#: elf64-ppc.c:5163
+#: elf64-ppc.c:5146
 #, c-format
 msgid "%P: %B .opd not allowed in ABI version %d\n"
 msgstr "%P: %B: .opd pas permis dans l'ABI Ã  la version %d\n"
 
-#: elf64-ppc.c:5639
+#: elf64-ppc.c:5645
 #, c-format
 msgid "%H: %s reloc unsupported in shared libraries and PIEs.\n"
 msgstr "%H: le rÃ©adressage %s n'est pas supportÃ© dans les bibliothÃ¨ques partagÃ©es et les PIE.\n"
 
-#: elf64-ppc.c:6046
+#: elf64-ppc.c:6035
 #, c-format
 msgid "%B uses unknown e_flags 0x%lx"
 msgstr "%B utilise le e_flags 0x%lx inconnu"
 
-#: elf64-ppc.c:6054
+#: elf64-ppc.c:6043
 #, c-format
 msgid "%B: ABI version %ld is not compatible with ABI version %ld output"
 msgstr "%B: la version ABI %ld n'est pas compatible avec la sortie de l'ABI version %ld"
 
-#: elf64-ppc.c:6082
+#: elf64-ppc.c:6071
 #, c-format
 msgid " [abiv%ld]"
 msgstr " [abiv%ld]"
 
-#: elf64-ppc.c:7413
+#: elf64-ppc.c:7255
 msgid "%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
 msgstr "%P: le rÃ©adressage par copie sur Â«Â %TÂ Â» nÃ©cessite un lien plt paresseux; Ã©vitez de mettre LD_BIND_NOW=1 ou mettez Ã  jour gcc\n"
 
-#: elf64-ppc.c:7680
+#: elf64-ppc.c:7522
 msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
 msgstr "%B: symbole indÃ©fini sur le rÃ©adressage R_PPC64_TOCSAVE"
 
-#: elf64-ppc.c:7910
+#: elf64-ppc.c:7749
 #, c-format
 msgid "%P: dynreloc miscount for %B, section %A\n"
 msgstr "%P: erreur de dÃ©compte de rÃ©adressage dynamique pour %B, section %A\n"
 
-#: elf64-ppc.c:7999
+#: elf64-ppc.c:7838
 msgid "%B: .opd is not a regular array of opd entries"
 msgstr "%B: .opd n'est pas un tableau rÃ©gulier d'entrÃ©es opd"
 
-#: elf64-ppc.c:8009
+#: elf64-ppc.c:7848
 #, c-format
 msgid "%B: unexpected reloc type %u in .opd section"
 msgstr "%B: type de rÃ©adressage %u inattendu dans la section .opd"
 
-#: elf64-ppc.c:8031
+#: elf64-ppc.c:7870
 #, c-format
 msgid "%B: undefined sym `%s' in .opd section"
 msgstr "%B: symbole Â«Â %sÂ Â» indÃ©fini dans la section .opd"
 
-#: elf64-ppc.c:8600
+#: elf64-ppc.c:8207
+msgid "%P: warning: --plt-localentry is especially dangerous without ld.so support to detect ABI violations.\n"
+msgstr "%P: attention: --plt-localentry est particuliÃ¨rement dangereux sans le support de ld.so pour dÃ©tecter des violations de l'ABI.\n"
+
+#: elf64-ppc.c:8456
 msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
 msgstr "%H __tls_get_addr a perdu l'argument, optimisation TLS dÃ©sactivÃ©e\n"
 
-#: elf64-ppc.c:8943 elf64-ppc.c:9580
+#: elf64-ppc.c:8800 elf64-ppc.c:9437
 #, c-format
 msgid "%s defined on removed toc entry"
 msgstr "%s dÃ©fini dans une entrÃ©e toc supprimÃ©e"
 
-#: elf64-ppc.c:9308
+#: elf64-ppc.c:9165
 #, c-format
 msgid "%H: toc optimization is not supported for %s instruction.\n"
 msgstr "%H: l'optimisation toc n'est pas supportÃ©e pour l'instruction %s.\n"
 
-#: elf64-ppc.c:9537
+#: elf64-ppc.c:9394
 #, c-format
 msgid "%H: %s references optimized away TOC entry\n"
 msgstr "%H: %s fait rÃ©fÃ©rence Ã  une entrÃ©e TOC supprimÃ©e par l'optimisation\n"
 
-#: elf64-ppc.c:10878
+#: elf64-ppc.c:10157
+#, c-format
+msgid "warning: discarding dynamic section %s"
+msgstr "attention: abandon de la section dynamique %s"
+
+#: elf64-ppc.c:10746
 msgid "%P: cannot find opd entry toc for `%T'\n"
 msgstr "%P: l'entrÃ©e toc de opd non trouvÃ©e pour Â«Â %TÂ Â»\n"
 
-#: elf64-ppc.c:10969
+#: elf64-ppc.c:10837
 msgid "%P: long branch stub `%s' offset overflow\n"
 msgstr "%P: dÃ©bordement de l'offset du branchement long de l'Ã©bauche Â«Â %sÂ Â»\n"
 
-#: elf64-ppc.c:11028
+#: elf64-ppc.c:10896
 msgid "%P: can't find branch stub `%s'\n"
 msgstr "%P: ne peut repÃ©rer l'Ã©bauche de branchement Â«Â %sÂ Â»\n"
 
-#: elf64-ppc.c:11092 elf64-ppc.c:11244 elf64-ppc.c:13052
+#: elf64-ppc.c:10960 elf64-ppc.c:11112 elf64-ppc.c:12974
 #, c-format
 msgid "%P: linkage table error against `%T'\n"
 msgstr "%P: erreur de la table de liaison vers Â«Â %TÂ Â»\n"
 
-#: elf64-ppc.c:11454
+#: elf64-ppc.c:11331
 msgid "%P: can't build branch stub `%s'\n"
 msgstr "%P: ne peut construire l'Ã©bauche de branchement Â«Â %sÂ Â»\n"
 
-#: elf64-ppc.c:12227
+#: elf64-ppc.c:12104
 #, c-format
 msgid "%B section %A exceeds stub group size"
 msgstr "%B section %A dÃ©passe la taille du groupe d'Ã©bauche"
 
-#: elf64-ppc.c:13331
+#: elf64-ppc.c:13242
 msgid "%P: stubs don't match calculated size\n"
 msgstr "%P: taille des Ã©bauches ne concorde pas avec la taille calculÃ©e\n"
 
-#: elf64-ppc.c:13343
+#: elf64-ppc.c:13256
+#, c-format
+msgid "linker stubs in %u group\n"
+msgid_plural "linker stubs in %u groups\n"
+msgstr[0] "Ã©bauches de l'Ã©diteur de liens dans %u groupe\n"
+msgstr[1] "Ã©bauches de l'Ã©diteur de liens dans %u groupes\n"
+
+#: elf64-ppc.c:13260
 #, c-format
 msgid ""
-"linker stubs in %u group%s\n"
 "  branch       %lu\n"
 "  toc adjust   %lu\n"
 "  long branch  %lu\n"
@@ -4493,7 +4501,6 @@ msgid ""
 "  plt call toc %lu\n"
 "  global entry %lu"
 msgstr ""
-"Ã©diteur de liens des Ã©bauches dans %u groupe%s\n"
 "  branchements         %lu\n"
 "  ajustements toc      %lu\n"
 "  long branchements    %lu\n"
@@ -4502,68 +4509,68 @@ msgstr ""
 "  appels plt toc       %lu\n"
 "  entrÃ©es globales     %lu"
 
-#: elf64-ppc.c:13665
+#: elf64-ppc.c:13579
 #, c-format
 msgid "%H: %s used with TLS symbol `%T'\n"
 msgstr "%H: %s utilisÃ© avec le symbole TLS Â«Â %TÂ Â»\n"
 
-#: elf64-ppc.c:13667
+#: elf64-ppc.c:13581
 #, c-format
 msgid "%H: %s used with non-TLS symbol `%T'\n"
 msgstr "%H: %s utilisÃ© avec le symbole non-TLS Â«Â %TÂ Â»\n"
 
-#: elf64-ppc.c:14306
+#: elf64-ppc.c:14191
 #, c-format
 msgid "%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC\n"
 msgstr "%H: il manque un nop Ã  l'appel Ã  Â«Â %TÂ Â», toc ne peut Ãªtre rÃ©tablie, recompilez avec -fPIC\n"
 
-#: elf64-ppc.c:14312
+#: elf64-ppc.c:14197
 #, c-format
 msgid "%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)\n"
 msgstr "%H: il manque un nop Ã  l'appel Ã  Â«Â %TÂ Â», toc ne peut Ãªtre rÃ©tablie, (Ã©bauche d'ajustement de la toc -mcmodel=small)\n"
 
-#: elf64-ppc.c:14440
+#: elf64-ppc.c:14325
 #, c-format
 msgid "%P: %B: unknown relocation type %d for `%T'\n"
 msgstr "%P: %B: type de rÃ©adressage %d inconnu pour Â«Â %TÂ Â»\n"
 
-#: elf64-ppc.c:14994
+#: elf64-ppc.c:14874
 #, c-format
 msgid "%H: %s for indirect function `%T' unsupported\n"
 msgstr "%H: %s non supportÃ© pour la fonction indirecte Â«Â %TÂ Â»\n"
 
-#: elf64-ppc.c:15132
+#: elf64-ppc.c:14986
 #, c-format
 msgid "%P: %B: %s is not supported for `%T'\n"
 msgstr "%P: %B: %s n'est pas supportÃ© pour le symbole Â«Â %TÂ Â»\n"
 
-#: elf64-ppc.c:15287
+#: elf64-ppc.c:15169
 #, c-format
 msgid "%H: error: %s not a multiple of %u\n"
 msgstr "%H: erreur: %s n'est pas un multiple de %u\n"
 
-#: elf64-ppc.c:15309
+#: elf64-ppc.c:15191
 #, c-format
 msgid "%H: unresolvable %s against `%T'\n"
 msgstr "%H: %s ne peut Ãªtre rÃ©solu par rapport Ã  Â«Â %TÂ Â»\n"
 
-#: elf64-ppc.c:15406
+#: elf64-ppc.c:15288
 #, c-format
 msgid "%H: %s against `%T': error %d\n"
 msgstr "%H: %s vers Â«Â %TÂ Â»: erreur %d\n"
 
-#: elf64-ppc.c:15801 elf64-ppc.c:15830
+#: elf64-ppc.c:15678 elf64-ppc.c:15697
 msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
 msgstr "%P: dÃ©calage %s trop grand pour l'encodage .eh_frame sdata4"
 
-#: elf64-s390.c:2712
+#: elf64-s390.c:2533
 msgid "%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)"
 msgstr "%B: rÃ©adressage non-PLT Â«Â %sÂ Â» pour le symbole dÃ©fini dans une bibliothÃ¨que partagÃ©e et accÃ©dÃ© depuis l'exÃ©cutable (recompiler le fichier avec -fPICÂ ?)"
 
 #: elf64-sh64.c:1680
 #, c-format
-msgid "%B: error: unaligned relocation type %d at %08x reloc %08x\n"
-msgstr "%B: erreur: type de rÃ©adressage %d non alignÃ© Ã  %08x rÃ©adressÃ©`%08x\n"
+msgid "%B: error: unaligned relocation type %d at %08Lx reloc %08Lx"
+msgstr "%B: erreur: type de rÃ©adressage %d non alignÃ© Ã  %08Lx rÃ©adressÃ©`%08Lx"
 
 #: elf64-sparc.c:460
 msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER"
@@ -4588,361 +4595,360 @@ msgstr "Symbole Â«Â %sÂ Â» a des types q
 msgid "%B: linking UltraSPARC specific with HAL specific code"
 msgstr "%B: Ã©dition de liens spÃ©cifiques pour UltraSPARC avec du code spÃ©cifique HAL"
 
-#: elf64-x86-64.c:1923
+#: elf64-x86-64.c:1370
 msgid "hidden symbol "
 msgstr "symbole cachÃ© "
 
-#: elf64-x86-64.c:1926
+#: elf64-x86-64.c:1373
 msgid "internal symbol "
 msgstr "symbole interne "
 
-#: elf64-x86-64.c:1929
+#: elf64-x86-64.c:1376 elf64-x86-64.c:1380
 msgid "protected symbol "
 msgstr "symbole protÃ©gÃ© "
 
-#: elf64-x86-64.c:1932
+#: elf64-x86-64.c:1382
 msgid "symbol "
 msgstr "symbole "
 
-#: elf64-x86-64.c:1933 elf64-x86-64.c:1943
+#: elf64-x86-64.c:1383 elf64-x86-64.c:1393
 msgid "; recompile with -fPIC"
 msgstr "; recompilÃ© avec -fPIC"
 
-#: elf64-x86-64.c:1938
+#: elf64-x86-64.c:1388
 msgid "undefined "
 msgstr "non dÃ©fini "
 
+#: elf64-x86-64.c:1397
+msgid "a shared object"
+msgstr "un objet partagÃ©"
+
+#: elf64-x86-64.c:1399
+msgid "a PIE object"
+msgstr "un objet PIE"
+
+#: elf64-x86-64.c:1401
+msgid "a PDE object"
+msgstr "un objet PDE"
+
 # Les %s%s au dÃ©but de %s%sÂ«Â %sÂ Â» peuvent Ãªtre Â«Â non dÃ©finiÂ Â» ou rien pour le premier et
 # un des fragments ci-dessus pour le second ce qui donne par exemple Â«Â symbole interneÂ non dÃ©finiÂ» en inversant les deux %s.
-# Le dernier %s collÃ© au dernier mot peut Ãªtre rien ou un des fragments traduits ci-dessus et commenÃ§ant par un point-virgule.
-#: elf64-x86-64.c:1947
+# Malheureusement, on ne peut pas inverser les %s car la syntaxe %1$s a Ã©tÃ© ajoutÃ©e le 5/11/2017 Ã  bfd comme indiquÃ©
+# dans le bug https://sourceware.org/bugzilla/show_bug.cgi?id=22717.
+# L'avant dernier %s est l'un des trois messages ci-dessus telle que "un objet partagÃ©".
+# Le dernier %s collÃ© au dernier %s peut Ãªtre rien ou un des fragments traduits ci-dessus et commenÃ§ant par un point-virgule.
+#: elf64-x86-64.c:1404
 #, c-format
-msgid "%B: relocation %s against %s%s`%s' can not be used when making a shared object%s"
-msgstr "%1$B: rÃ©adressage %2$s vers %4$s%3$sÂ«Â %5$sÂ Â» ne peut pas Ãªtre utilisÃ© en crÃ©ant un objet partagÃ©%6$s"
+msgid "%B: relocation %s against %s%s`%s' can not be used when making %s%s"
+msgstr "%B: rÃ©adressage %s vers %s%sÂ«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© en crÃ©ant %s%s"
 
-#: elf64-x86-64.c:2510
+#: elf64-x86-64.c:1889
 #, c-format
 msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
 msgstr "%B: le rÃ©adressage %s sur le symbole Â«Â %sÂ Â» n'est pas supportÃ© en mode x32"
 
-#: elf64-x86-64.c:2633
+#: elf64-x86-64.c:2027
 #, c-format
 msgid "%B: '%s' accessed both as normal and thread local symbol"
 msgstr "%B: symbole Â«Â %sÂ Â» accÃ©dÃ© Ã  la fois comme normal et comme local au thread"
 
-#: elf64-x86-64.c:4576
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5018
+#: elf64-x86-64.c:2651
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5040
 #, c-format
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
-msgstr "%B: le rÃ©adressage %s vers le symbole STT_GNU_IFUNC Â«Â %sÂ Â» a l'opÃ©rande non nul: %d"
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %Ld"
+msgstr "%B: le rÃ©adressage %s vers le symbole STT_GNU_IFUNC Â«Â %sÂ Â» a l'opÃ©rande non nul: %Ld"
 
-#: elf64-x86-64.c:4831
+#: elf64-x86-64.c:2888
 #, c-format
 msgid "%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object"
 msgstr "%B: rÃ©adressage R_X86_64_GOTOFF64 sur le symbole %s Â«Â %sÂ Â» non dÃ©fini ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©"
 
 # Le %s protÃ©gÃ©e est soit Â«Â functionÂ Â» ou Â«Â dataÂ Â» sans traduction.
 # Cette construction scabreuse a dÃ©jÃ  Ã©tÃ© enlevÃ©e dans les sources.
-#: elf64-x86-64.c:4845
+#: elf64-x86-64.c:2902
 #, c-format
 msgid "%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object"
 msgstr "%B: rÃ©adressage R_X86_64_GOTOFF64 vers la %s protÃ©gÃ©e Â«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©"
 
-#: elf64-x86-64.c:5122
+#: elf64-x86-64.c:3153
 #, c-format
-msgid "%B: addend -0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range"
-msgstr "%B: l'opÃ©rande -0x%x dans le rÃ©adressage %s vers le symbole Â«Â %sÂ Â» Ã  0x%lx dans la section Â«Â %AÂ Â» est hors limite"
+msgid "%B: addend %s%#x in relocation %s against symbol `%s' at %#Lx in section `%A' is out of range"
+msgstr "%B: l'opÃ©rande %s%#x dans le rÃ©adressage %s vers le symbole Â«Â %sÂ Â» Ã  %#Lx dans la section Â«Â %AÂ Â» est hors limite"
 
-#: elf64-x86-64.c:5130
-#, c-format
-msgid "%B: addend 0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range"
-msgstr "%B: l'opÃ©rande 0x%x dans le rÃ©adressage %s vers le symbole Â«Â %sÂ Â» Ã  0x%lx dans la section Â«Â %AÂ Â» est hors limite"
+#: elf64-x86-64.c:3828
+msgid "%F%P: failed to convert GOTPCREL relocation; relink with --no-relax\n"
+msgstr "%F%P: impossible de convertir le rÃ©adressage GOTPCREL: Ã©ditez les liens Ã  nouveau avec --no-relax\n"
 
-#: elf64-x86-64.c:5952
+#: elf64-x86-64.c:3986
 #, c-format
 msgid "%F%B: PC-relative offset overflow in PLT entry for `%s'\n"
 msgstr "%F%B: dÃ©bordement du dÃ©calage relatif au PC dans l'entrÃ©e PLT pour Â«Â %sÂ Â»\n"
 
-#: elf64-x86-64.c:6019
+#: elf64-x86-64.c:4049
 #, c-format
 msgid "%F%B: branch displacement overflow in PLT entry for `%s'\n"
 msgstr "%F%B: dÃ©bordement du dÃ©placement de branchement dans l'entrÃ©e PLT pour Â«Â %sÂ Â»\n"
 
-#: elf64-x86-64.c:6072
+#: elf64-x86-64.c:4102
 #, c-format
 msgid "%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n"
 msgstr "%F%B: dÃ©bordement du dÃ©calage relatif au PC dans l'entrÃ©e PLT GOT pour Â«Â %sÂ Â»\n"
 
-#: elf64-x86-64.c:7663
-#, c-format
-msgid "%F: failed to create BND PLT section\n"
-msgstr "%F: Ã©chec lors de la crÃ©ation de la section PLT BND\n"
-
-#: elf64-x86-64.c:7713
-#, c-format
-msgid "%F: failed to create BND PLT .eh_frame section\n"
-msgstr "%F: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT BND\n"
-
 #: elfcode.h:760
 msgid "warning: %B has a corrupt string table index - ignoring"
 msgstr "attention: %B a un index de table de chaÃ®nes corrompu - ignorÃ©"
 
-#: elfcode.h:1193
+#: elfcode.h:1199
 #, c-format
-msgid "%B: version count (%ld) does not match symbol count (%ld)"
-msgstr "%B: compteur de version (%ld) ne concorde pas avec le symbole du compteur (%ld)"
+msgid "%B: version count (%Ld) does not match symbol count (%ld)"
+msgstr "%B: compteur de version (%Ld) ne concorde pas avec le symbole du compteur (%ld)"
 
-#: elfcode.h:1448
+#: elfcode.h:1456
 #, c-format
 msgid "%B(%A): relocation %d has invalid symbol index %ld"
 msgstr "%B(%A): rÃ©adressage %d a un index de symbole %ld invalide"
 
 #: elfcore.h:300
 #, c-format
-msgid "Warning: %B is truncated: expected core file size >= %lu, found: %lu."
-msgstr "Attention: %B est tronquÃ©: taille attendue du cÅ“ur du fichier >= %lu, obtenu: %lu."
+msgid "warning: %B is truncated: expected core file size >= %Lu, found: %llu"
+msgstr "attention: %B est tronquÃ©: taille attendue du cÅ“ur du fichier >= %Lu, obtenu: %llu"
 
-#: elflink.c:1336
+#: elflink.c:1353
 #, c-format
 msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"
 msgstr "%s: dÃ©finition TLS dans %B section %A ne correspond pas Ã  la dÃ©finition non TLS dans %B section %A"
 
-#: elflink.c:1342
+#: elflink.c:1359
 #, c-format
 msgid "%s: TLS reference in %B mismatches non-TLS reference in %B"
 msgstr "%s: rÃ©fÃ©rence TLS dans %B ne correspond pas Ã  la rÃ©fÃ©rence non TLS dans %B"
 
-#: elflink.c:1348
+#: elflink.c:1365
 #, c-format
 msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B"
 msgstr "%s: dÃ©finition TLS dans %B section %A ne correspond pas Ã  la rÃ©fÃ©rence TLS dans %B"
 
-#: elflink.c:1354
+#: elflink.c:1371
 #, c-format
 msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A"
 msgstr "%s: rÃ©fÃ©rence TLS dans %B ne correspond pas Ã  la dÃ©finition non TLS dans %B section %A"
 
-#: elflink.c:2015
+#: elflink.c:2052
 #, c-format
 msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
 msgstr "%B: attention: redÃ©finition inattendue du symbole indirect avec version Â«Â %sÂ Â»"
 
-#: elflink.c:2308
+#: elflink.c:2345
 #, c-format
 msgid "%B: version node not found for symbol %s"
 msgstr "%B: version du nÅ“ud pas trouvÃ©e pour le symbole %s"
 
-#: elflink.c:2397
+#: elflink.c:2434
 #, c-format
-msgid "%B: bad reloc symbol index (%#lx >= %#lx) for offset %#Lx in section `%A'"
-msgstr "%B: mauvais index du symbole de rÃ©adressage (%#lx >= %#lx) pour l'offset %#Lx de la section Â«Â %AÂ Â»"
+msgid "%B: bad reloc symbol index (%#Lx >= %#lx) for offset %#Lx in section `%A'"
+msgstr "%B: mauvais index du symbole de rÃ©adressage (%#Lx >= %#lx) pour l'offset %#Lx de la section Â«Â %AÂ Â»"
 
-#: elflink.c:2409
+#: elflink.c:2446
 #, c-format
-msgid "%B: non-zero symbol index (%#lx) for offset %#Lx in section `%A' when the object file has no symbol table"
-msgstr "%B: index de symbole non nul (%#lx) pour l'offset %#Lx de la section Â«Â %AÂ Â» quand le fichier objet n'a pas de table de symboles"
+msgid "%B: non-zero symbol index (%#Lx) for offset %#Lx in section `%A' when the object file has no symbol table"
+msgstr "%B: index de symbole non nul (%#Lx) pour l'offset %#Lx de la section Â«Â %AÂ Â» quand le fichier objet n'a pas de table de symboles"
 
-#: elflink.c:2600
+#: elflink.c:2637
 #, c-format
 msgid "%B: relocation size mismatch in %B section %A"
 msgstr "%B: taille du rÃ©adressage ne concorde pas dans %B section %A"
 
-#: elflink.c:2911
+#: elflink.c:2955
 #, c-format
 msgid "warning: type and size of dynamic symbol `%s' are not defined"
 msgstr "attention: type et taille du symbole dynamique Â«Â %sÂ Â» ne sont pas dÃ©finis"
 
-#: elflink.c:2976
+#: elflink.c:3017
 msgid "%P: copy reloc against protected `%T' is dangerous\n"
 msgstr "%P: un rÃ©adressage copiÃ© envers un Â«Â %TÂ Â» protÃ©gÃ© est dangereux\n"
 
-#: elflink.c:3777
+#: elflink.c:3818
 #, c-format
 msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
 msgstr "%P: code machine ELF alternatif trouvÃ© (%d) dans %B, %d est attendu\n"
 
-#: elflink.c:4438
+#: elflink.c:4484
 #, c-format
 msgid "%B: %s: invalid version %u (max %d)"
 msgstr "%B: %s: version invalide %u (max %d)"
 
-#: elflink.c:4475
+#: elflink.c:4521
 #, c-format
 msgid "%B: %s: invalid needed version %d"
 msgstr "%B: %s: version requise invalide %d"
 
-#: elflink.c:4754
-#, c-format
-msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B"
-msgstr "Attention: taille du symbole Â«Â %sÂ Â» a changÃ© de %Lu dans %B Ã  %Lu dans %B"
-
-#: elflink.c:4890
+#: elflink.c:4932
 #, c-format
 msgid "%B: undefined reference to symbol '%s'"
 msgstr "%B: rÃ©fÃ©rence au symbole non dÃ©fini Â«Â %sÂ Â»"
 
-#: elflink.c:5903
+#: elflink.c:6008
 #, c-format
 msgid "%B: stack size specified and %s set"
 msgstr "%B: taille de pile spÃ©cifiÃ©e et %s dÃ©fini"
 
-#: elflink.c:5907
+#: elflink.c:6012
 #, c-format
 msgid "%B: %s not absolute"
 msgstr "%B: %s pas supportÃ©"
 
-#: elflink.c:6105
+#: elflink.c:6209
 #, c-format
 msgid "%s: undefined version: %s"
 msgstr "%s: version non dÃ©finie: %s"
 
-#: elflink.c:6682
+#: elflink.c:6780
 msgid "%B: .preinit_array section is not allowed in DSO"
 msgstr "%B: section .preinit_array n'est pas permise dans DSO"
 
-#: elflink.c:8122
+#: elflink.c:8217
 #, c-format
 msgid "undefined %s reference in complex symbol: %s"
 msgstr "rÃ©fÃ©rence %s non dÃ©finie dans le symbole complexe: %s"
 
-#: elflink.c:8277
+#: elflink.c:8372
 #, c-format
 msgid "unknown operator '%c' in complex symbol"
 msgstr "opÃ©rateur Â«Â %cÂ Â» inconnu dans le symbole complexe"
 
 #. PR 21524: Let the user know if a symbol was removed by garbage collection.
-#: elflink.c:8615
+#: elflink.c:8710
 msgid "%B:%A: error: relocation references symbol %s which was removed by garbage collection."
 msgstr "%B:%A: erreur: symbole de rÃ©fÃ©rence des rÃ©adressages %s qui a Ã©tÃ© supprimÃ© par le ramasse miettes"
 
-#: elflink.c:8618
+#: elflink.c:8713
 msgid "%B:%A: error: try relinking with --gc-keep-exported enabled."
 msgstr "%B:%A: erreur: essayez de rÃ©Ã©diter les liens avec --gc-keep-exported enabled."
 
-#: elflink.c:8855 elflink.c:8873 elflink.c:8912 elflink.c:8930
+#: elflink.c:8949 elflink.c:8967 elflink.c:9006 elflink.c:9024
 msgid "%B: Unable to sort relocs - they are in more than one size"
 msgstr "%B: Impossible de trier les rÃ©adressages - plusieurs tailles rencontrÃ©es"
 
 #. The section size is not divisible by either -
 #. something is wrong.
-#: elflink.c:8889 elflink.c:8946
+#: elflink.c:8983 elflink.c:9040
 msgid "%B: Unable to sort relocs - they are of an unknown size"
 msgstr "%B: Impossible de trier les rÃ©adressages - leur taille est inconnue"
 
-#: elflink.c:8998
+#: elflink.c:9092
 msgid "Not enough memory to sort relocations"
 msgstr "Pas assez de mÃ©moire pour trier les rÃ©adressages"
 
-#: elflink.c:9266
+#: elflink.c:9360
 #, c-format
 msgid "%B: Too many sections: %d (>= %d)"
 msgstr "%B: Trop de sections: %d (>= %d)"
 
-#: elflink.c:9546
+#: elflink.c:9640
 #, c-format
 msgid "%B: internal symbol `%s' in %B is referenced by DSO"
 msgstr "%B: symbole interne Â«Â %sÂ Â» dans %B est rÃ©fÃ©rencÃ© par DSO"
 
-#: elflink.c:9549
+#: elflink.c:9643
 #, c-format
 msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
 msgstr "%B: symbole cachÃ© Â«Â %sÂ Â» dans %B est rÃ©fÃ©rencÃ© par DSO"
 
-#: elflink.c:9552
+#: elflink.c:9646
 #, c-format
 msgid "%B: local symbol `%s' in %B is referenced by DSO"
 msgstr "%B: symbole local Â«Â %sÂ Â» dans %B est rÃ©fÃ©rencÃ© par DSO"
 
-#: elflink.c:9638
+#: elflink.c:9732
 #, c-format
 msgid "%B: could not find output section %A for input section %A"
 msgstr "%B: ne peut repÃ©rer la section de sortie %A pour la section d'entrÃ©e %A"
 
-#: elflink.c:9792
+#: elflink.c:9886
 #, c-format
 msgid "%B: protected symbol `%s' isn't defined"
 msgstr "%B: symbole protÃ©gÃ© Â«Â %sÂ Â» n'est pas dÃ©fini"
 
-#: elflink.c:9795
+#: elflink.c:9889
 #, c-format
 msgid "%B: internal symbol `%s' isn't defined"
 msgstr "%B: symbole interne Â«Â %sÂ Â» n'est pas dÃ©fini"
 
-#: elflink.c:9798
+#: elflink.c:9892
 #, c-format
 msgid "%B: hidden symbol `%s' isn't defined"
 msgstr "%B: symbole cachÃ© Â«Â %sÂ Â» n'est pas dÃ©fini"
 
-#: elflink.c:9829
+#: elflink.c:9923
 #, c-format
 msgid "%B: No symbol version section for versioned symbol `%s'"
 msgstr "%B: Pas de section de version de symbole pour le symbole avec version Â«Â %sÂ Â»"
 
-#: elflink.c:10436
+#: elflink.c:10533
 #, c-format
 msgid "error: %B: size of section %A is not multiple of address size"
 msgstr "erreur: %B: le rÃ©adressage de la section %A n'est pas un multiple de la taille des adresses"
 
-#: elflink.c:10481
+#: elflink.c:10578
 #, c-format
 msgid "error: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbol"
 msgstr "erreur: %B contient un rÃ©adressage (%#Lx) pour la section %A qui fait rÃ©fÃ©rence Ã  un symbole global inexistant"
 
-#: elflink.c:11236
+#: elflink.c:11333
 #, c-format
 msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
 msgstr "%A a, Ã  la fois, des sections ordonnÃ©es [Â«Â %AÂ Â» dans %B] et dÃ©sordonnÃ©es [Â«Â %AÂ Â» dans %B]"
 
-#: elflink.c:11242
+#: elflink.c:11339
 #, c-format
 msgid "%A has both ordered and unordered sections"
 msgstr "%A a, Ã  la fois, des sections ordonnÃ©es et dÃ©sordonnÃ©es"
 
-#: elflink.c:11344
+#: elflink.c:11441
 msgid "%B: no symbol found for import library"
 msgstr "%B: aucun symbole trouvÃ© dans la bibliothÃ¨que d'importation"
 
-#: elflink.c:11966
+#: elflink.c:12063
 #, c-format
 msgid "%B: file class %s incompatible with %s"
 msgstr "%B: classe de fichier %s incompatible avec %s"
 
-#: elflink.c:12183
+#: elflink.c:12280
 msgid "%B: failed to generate import library"
 msgstr "%B: Ã©chec de la gÃ©nÃ©ration de la bibliothÃ¨que d'importation"
 
-#: elflink.c:12302
+#: elflink.c:12399
 #, c-format
 msgid "warning: %s section has zero size"
 msgstr "attention: section %s a une taille nulle"
 
-#: elflink.c:12350
+#: elflink.c:12447
 #, c-format
 msgid "warning: section '%s' is being made into a note"
 msgstr "attention: section Â«Â %sÂ Â» changÃ© en une note"
 
-#: elflink.c:12442
+#: elflink.c:12539
 msgid "%P%X: read-only segment has dynamic relocations.\n"
 msgstr "%P%X: segment en lecture seule a des rÃ©adressages dynamiques.\n"
 
-#: elflink.c:12445
+#: elflink.c:12542
 msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
 msgstr "%P: attention: crÃ©ation d'un DT_TEXTREL dans un objet partagÃ©.\n"
 
-#: elflink.c:12570
+#: elflink.c:12667
 msgid "%P%X: can not read symbols: %E\n"
 msgstr "%P%X: ne peut pas lire les symboles: %E\n"
 
-#: elflink.c:12732
+#: elflink.c:12829
 msgid "%F%P: corrupt input: %B\n"
 msgstr "%F%P: entrÃ©e corrompue: %B\n"
 
-#: elflink.c:13421
+#: elflink.c:13495
 #, c-format
 msgid "%B: %A+%#Lx: No symbol found for INHERIT"
 msgstr "%B: %A+%#Lx: Pas de symbole trouvÃ© pour INHERIT"
 
-#: elflink.c:13597
+#: elflink.c:13671
 #, c-format
 msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
 msgstr "INPUT_SECTION_FLAG %s non reconnu\n"
@@ -4951,292 +4957,296 @@ msgstr "INPUT_SECTION_FLAG %s non reconn
 msgid "static procedure (no name)"
 msgstr "procÃ©dure statique (sans name)"
 
-#: elfxx-mips.c:5627
+#: elfxx-mips.c:5628
 msgid "MIPS16 and microMIPS functions cannot call each other"
 msgstr "Des fonctions MIPS16 et microMIPS ne peuvent pas s'appeler l'une l'autre"
 
-#: elfxx-mips.c:6370
+#: elfxx-mips.c:6376
 msgid "%X%H: Unsupported JALX to the same ISA mode\n"
 msgstr "%X%H: JALX vers le mÃªme mode ISA n'est pas supportÃ©\n"
 
-#: elfxx-mips.c:6403
+#: elfxx-mips.c:6409
 msgid "%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled\n"
 msgstr "%X%H: Saut non supportÃ© entre modes ISAÂ ; envisagez de recompiler avec l'interliage activÃ©.\n"
 
-#: elfxx-mips.c:6444
+#: elfxx-mips.c:6454
 msgid "%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range\n"
 msgstr "%X%H: Impossible de convertir les branchements vers JALX entre modes ISA: rÃ©adressage hors portÃ©e\n"
 
-#: elfxx-mips.c:6456
+#: elfxx-mips.c:6466
 msgid "%X%H: Unsupported branch between ISA modes\n"
 msgstr "%X%H: Branchement entre modes ISA non supportÃ©\n"
 
-#: elfxx-mips.c:7134 elfxx-mips.c:7369
+#: elfxx-mips.c:7144 elfxx-mips.c:7379
 #, c-format
 msgid "%B: Warning: bad `%s' option size %u smaller than its header"
 msgstr "%B: Attention: mauvaise Â«Â %sÂ Â» taille d'option %u plus petite que son en-tÃªte"
 
-#: elfxx-mips.c:8125 elfxx-mips.c:8251
+#: elfxx-mips.c:8135 elfxx-mips.c:8261
 #, c-format
 msgid "%B: Warning: cannot determine the target function for stub section `%s'"
 msgstr "%B: Attention: ne peut pas dÃ©terminer la fonction cible de la section d'Ã©bauche Â«Â %sÂ Â»"
 
-#: elfxx-mips.c:8383
+#: elfxx-mips.c:8393
 #, c-format
 msgid "%B: Malformed reloc detected for section %s"
 msgstr "%B: RÃ©adressage mal composÃ© dÃ©tectÃ© dans la section %s"
 
-#: elfxx-mips.c:8459
+#: elfxx-mips.c:8465
 #, c-format
-msgid "%B: GOT reloc at 0x%lx not expected in executables"
-msgstr "%B: RÃ©adressage GOT Ã  0x%lx pas attendu dans les exÃ©cutables"
+msgid "%B: GOT reloc at %#Lx not expected in executables"
+msgstr "%B: RÃ©adressage GOT Ã  %#Lx pas attendu dans les exÃ©cutables"
 
-#: elfxx-mips.c:8597
+#: elfxx-mips.c:8603
 #, c-format
-msgid "%B: CALL16 reloc at 0x%lx not against global symbol"
-msgstr "%B: appel CALL16 de rÃ©adressage Ã  0x%lx qui n'est pas pour un symbole global"
+msgid "%B: CALL16 reloc at %#Lx not against global symbol"
+msgstr "%B: Le rÃ©adressage CALL16 Ã  %#Lx n'est pas sur un symbole global"
 
-#: elfxx-mips.c:9219
+#: elfxx-mips.c:9226
 #, c-format
 msgid "non-dynamic relocations refer to dynamic symbol %s"
 msgstr "rÃ©adressages non dynamiques font rÃ©fÃ©rence au symbole dynamique %s"
 
-#: elfxx-mips.c:10139
+#: elfxx-mips.c:10146
 #, c-format
-msgid "%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'"
-msgstr "%B: Ne trouve pas de rÃ©adressage LO16 correspondant vers Â«Â %sÂ Â» pour %s Ã  0x%lx de la section Â«Â %AÂ Â»"
+msgid "%B: Can't find matching LO16 reloc against `%s' for %s at %#Lx in section `%A'"
+msgstr "%B: Ne trouve pas de rÃ©adressage LO16 correspondant sur Â«Â %sÂ Â» pour %s Ã  %#Lx de la section Â«Â %AÂ Â»"
 
-#: elfxx-mips.c:10279
+#: elfxx-mips.c:10286
 msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
 msgstr "la taille des petites donnÃ©es de la section dÃ©passe 64KB; abaissez la limite de taille des petites donnÃ©es (voyez l'option -G)"
 
-#: elfxx-mips.c:10298
+#: elfxx-mips.c:10305
 msgid "Cannot convert a jump to JALX for a non-word-aligned address"
 msgstr "Impossible de convertir un saut vers JALX pour une adresse non alignÃ©e sur un mot"
 
-#: elfxx-mips.c:10301
+#: elfxx-mips.c:10308
 msgid "Jump to a non-word-aligned address"
 msgstr "Saut vers une adresse non alignÃ©e sur un mot"
 
-#: elfxx-mips.c:10302
+#: elfxx-mips.c:10309
 msgid "Jump to a non-instruction-aligned address"
 msgstr "Saut vers une adresse non alignÃ©e sur une instruction"
 
-#: elfxx-mips.c:10305
+#: elfxx-mips.c:10312
 msgid "Cannot convert a branch to JALX for a non-word-aligned address"
 msgstr "Impossible de convertir un branchement vers JALX pour une adresse non alignÃ©e sur un mot"
 
-#: elfxx-mips.c:10307
+#: elfxx-mips.c:10314
 msgid "Branch to a non-instruction-aligned address"
 msgstr "Branchement vers une adresse non alignÃ©e sur une instruction"
 
-#: elfxx-mips.c:10309
+#: elfxx-mips.c:10316
 msgid "PC-relative load from unaligned address"
 msgstr "Chargement relatif au PC depuis une adresse non alignÃ©e"
 
-#: elfxx-mips.c:10683 elfxx-mips.c:11251
+#: elfxx-mips.c:10690 elfxx-mips.c:11258
 #, c-format
-msgid "%B: `%A' offset of %ld from `%A' beyond the range of ADDIUPC"
-msgstr "%B: Â«Â %AÂ Â» offset de %ld depuis Â«Â %AÂ Â» au delÃ  de la limite de ADDIUPC"
+msgid "%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC"
+msgstr "%B: Â«Â %AÂ Â» offset de %Ld depuis Â«Â %AÂ Â» au delÃ  de la limite de ADDIUPC"
 
-#: elfxx-mips.c:14174
+#: elfxx-mips.c:14121
 #, c-format
 msgid "%B: Unknown architecture %s"
 msgstr "%B: Architecture %s inconnue"
 
-#: elfxx-mips.c:14704
+#: elfxx-mips.c:14380
+msgid "%B: .reginfo section size should be %d bytes, actual size is %d"
+msgstr "%B: la taille de la section .reginfo devrait Ãªtre %d octets, la taille actuelle est %d"
+
+#: elfxx-mips.c:14659
 #, c-format
 msgid "%B: illegal section name `%A'"
 msgstr "%B: nom illÃ©gal de section Â«Â %AÂ Â»"
 
-#: elfxx-mips.c:14981
+#: elfxx-mips.c:14936
 msgid "%B: warning: linking abicalls files with non-abicalls files"
 msgstr "%B: attention: Ã©dition de liens des fichiers abicalls avec des fichiers non abicalls"
 
-#: elfxx-mips.c:14998
+#: elfxx-mips.c:14953
 msgid "%B: linking 32-bit code with 64-bit code"
 msgstr "%B: Ã©dition de liens de code 32 bits avec du code 64 bits"
 
-#: elfxx-mips.c:15030 elfxx-mips.c:15096 elfxx-mips.c:15111
+#: elfxx-mips.c:14985 elfxx-mips.c:15051 elfxx-mips.c:15066
 #, c-format
 msgid "%B: linking %s module with previous %s modules"
 msgstr "%B: Ã©dition de liens du module %s avec les modules prÃ©cÃ©dents %s"
 
-#: elfxx-mips.c:15054
+#: elfxx-mips.c:15009
 #, c-format
 msgid "%B: ABI mismatch: linking %s module with previous %s modules"
 msgstr "%B: ABI ne concorde pas: Ã©dition de lien du module %s avec les modules prÃ©cÃ©dents %s"
 
-#: elfxx-mips.c:15079
+#: elfxx-mips.c:15034
 #, c-format
 msgid "%B: ASE mismatch: linking %s module with previous %s modules"
 msgstr "%B: ASE ne concorde pas: Ã©dition de lien du module %s avec les modules prÃ©cÃ©dents %s"
 
-#: elfxx-mips.c:15214
+#: elfxx-mips.c:15168
 msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %d"
 msgstr "Attention: %B utilise l'ABI virgule flottante inconnue %d (dÃ©finie par %B), %B utilise l'ABI virgule flottante inconnue %d"
 
-#: elfxx-mips.c:15220
+#: elfxx-mips.c:15174
 #, c-format
 msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses %s"
 msgstr "Attention: %B utilise l'ABI virgule flottante inconnue %d (dÃ©finie par %B), %B utilise %s"
 
-#: elfxx-mips.c:15226
+#: elfxx-mips.c:15180
 #, c-format
 msgid "Warning: %B uses %s (set by %B), %B uses unknown floating point ABI %d"
 msgstr "Attention: %B utilise %s (dÃ©fini par %B), %B utilise l'ABI virgule flottante inconnue %d"
 
-#: elfxx-mips.c:15240
+#: elfxx-mips.c:15194
 #, c-format
 msgid "Warning: %B uses %s (set by %B), %B uses %s"
 msgstr "Attention: %B utilise %s (dÃ©fini par %B), %B utilise Â«Â %sÂ Â»"
 
-#: elfxx-mips.c:15259
+#: elfxx-mips.c:15213
 #, c-format
 msgid "Warning: %B uses %s (set by %B), %B uses unknown MSA ABI %d"
 msgstr "Attention: %B utilise %s (dÃ©fini par %B), %B utilise l'ABI MSA inconnue %d"
 
-#: elfxx-mips.c:15271
+#: elfxx-mips.c:15225
 #, c-format
 msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses %s"
 msgstr "Attention: %B utilise l'ABI MSA inconnue %d (dÃ©finie par %B), %B utilise %s"
 
-#: elfxx-mips.c:15280
+#: elfxx-mips.c:15234
 #, c-format
 msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %d"
 msgstr "Attention: %B utilise l'ABI MSA inconnue %d (dÃ©finie par %B), %B utilise l'ABI MSA inconnue %d"
 
-#: elfxx-mips.c:15342
+#: elfxx-mips.c:15296
 msgid "%B: endianness incompatible with that of the selected emulation"
 msgstr "%B: systÃ¨me de poids fort ou faible incompatible avec celui sÃ©lectionnÃ© pour l'Ã©mulation"
 
-#: elfxx-mips.c:15356
+#: elfxx-mips.c:15310
 msgid "%B: ABI is incompatible with that of the selected emulation"
 msgstr "%B: ABI est incompatible avec celui sÃ©lectionnÃ© pour l'Ã©mulation"
 
-#: elfxx-mips.c:15408
+#: elfxx-mips.c:15362
 msgid "%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags"
 msgstr "%B: attention: ISA incohÃ©rentes entre e_flags et .MIPS.abiflags"
 
-#: elfxx-mips.c:15413
+#: elfxx-mips.c:15367
 msgid "%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
 msgstr "%B: attention: ABI FP incohÃ©rentes entre .gnu.attributes and .MIPS.abiflags"
 
-#: elfxx-mips.c:15417
+#: elfxx-mips.c:15371
 msgid "%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags"
 msgstr "%B: attention: ASE incohÃ©rents entre e_flags et .MIPS.abiflags"
 
-#: elfxx-mips.c:15424
+#: elfxx-mips.c:15378
 msgid "%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags"
 msgstr "%B: attention: Extensions ISA incohÃ©rentes entre e_flags et .MIPS.abiflags"
 
-#: elfxx-mips.c:15428
+#: elfxx-mips.c:15382
 msgid "%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
 msgstr "%B: attention: Fanion inattendu dans le champ flags2 de .MIPS.abiflags (0x%lx)"
 
-#: elfxx-mips.c:15617
+#: elfxx-mips.c:15571
 msgid "-mips32r2 -mfp64 (12 callee-saved)"
 msgstr "-mips32r2 -mfp64 (12 callee-saved)"
 
-#: elfxx-mips.c:15667 elfxx-mips.c:15678
+#: elfxx-mips.c:15621 elfxx-mips.c:15632
 msgid "None"
 msgstr "aucun"
 
-#: elfxx-mips.c:15669 elfxx-mips.c:15741
+#: elfxx-mips.c:15623 elfxx-mips.c:15695
 msgid "Unknown"
 msgstr "Inconnu"
 
-#: elfxx-mips.c:15752
+#: elfxx-mips.c:15706
 #, c-format
 msgid "Hard or soft float\n"
 msgstr "Flottant matÃ©riel ou logiciel\n"
 
-#: elfxx-mips.c:15755
+#: elfxx-mips.c:15709
 #, c-format
 msgid "Hard float (double precision)\n"
 msgstr "Flottant matÃ©riel (double prÃ©cision)\n"
 
-#: elfxx-mips.c:15758
+#: elfxx-mips.c:15712
 #, c-format
 msgid "Hard float (single precision)\n"
 msgstr "Flottant matÃ©riel (simple prÃ©cision)\n"
 
-#: elfxx-mips.c:15761
+#: elfxx-mips.c:15715
 #, c-format
 msgid "Soft float\n"
 msgstr "Flottant logiciel\n"
 
-#: elfxx-mips.c:15764
+#: elfxx-mips.c:15718
 #, c-format
 msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
 msgstr "Flottant matÃ©riel (MIPS32r2 64 bits FPU 12 callee-saved)\n"
 
-#: elfxx-mips.c:15767
+#: elfxx-mips.c:15721
 #, c-format
 msgid "Hard float (32-bit CPU, Any FPU)\n"
 msgstr "Flottant matÃ©riel (processeur 32 bits, tout coprocesseur)\n"
 
-#: elfxx-mips.c:15770
+#: elfxx-mips.c:15724
 #, c-format
 msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
 msgstr "Flottant matÃ©riel (processeur 32 bits, coprocesseur 64 bits)\n"
 
-#: elfxx-mips.c:15773
+#: elfxx-mips.c:15727
 #, c-format
 msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
 msgstr "CompatibilitÃ© flottant matÃ©riel (processeur 32 bits, coprocesseur 64 bits)\n"
 
-#: elfxx-mips.c:15805
+#: elfxx-mips.c:15759
 #, c-format
 msgid " [abi=O32]"
 msgstr " [abi=O32]"
 
-#: elfxx-mips.c:15807
+#: elfxx-mips.c:15761
 #, c-format
 msgid " [abi=O64]"
 msgstr " [abi=O64]"
 
-#: elfxx-mips.c:15809
+#: elfxx-mips.c:15763
 #, c-format
 msgid " [abi=EABI32]"
 msgstr " [abi=EABI32]"
 
-#: elfxx-mips.c:15811
+#: elfxx-mips.c:15765
 #, c-format
 msgid " [abi=EABI64]"
 msgstr " [abi=EABI64]"
 
-#: elfxx-mips.c:15813
+#: elfxx-mips.c:15767
 #, c-format
 msgid " [abi unknown]"
 msgstr " [abi inconnu]"
 
-#: elfxx-mips.c:15815
+#: elfxx-mips.c:15769
 #, c-format
 msgid " [abi=N32]"
 msgstr " [abi=N32]"
 
-#: elfxx-mips.c:15817
+#: elfxx-mips.c:15771
 #, c-format
 msgid " [abi=64]"
 msgstr " [abi=64]"
 
-#: elfxx-mips.c:15819
+#: elfxx-mips.c:15773
 #, c-format
 msgid " [no abi set]"
 msgstr " [aucun jeu abi]"
 
-#: elfxx-mips.c:15844
+#: elfxx-mips.c:15798
 #, c-format
 msgid " [unknown ISA]"
 msgstr " [ISA inconnu]"
 
-#: elfxx-mips.c:15864
+#: elfxx-mips.c:15818
 #, c-format
 msgid " [not 32bitmode]"
 msgstr " [aucun mode 32 bits]"
 
-#: elfxx-riscv.c:948
+#: elfxx-riscv.c:955
 #, c-format
 msgid "unrecognized relocation (0x%x)"
 msgstr "RÃ©adressage non reconnu (0x%x)"
@@ -5246,17 +5256,87 @@ msgstr "RÃ©adressage non reconnu (0x%x)"
 msgid "invalid relocation type %d"
 msgstr "type de rÃ©adressage %d invalide"
 
-#: elfxx-sparc.c:3301
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5002
+#: elfxx-sparc.c:3129
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5024
 #, c-format
 msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
 msgstr "%B: le rÃ©adressage %s sur le symbole STT_GNU_IFUNC Â«Â %sÂ Â» n'est pas gÃ©rÃ© par %s"
 
-#: elfxx-tilegx.c:4436
+#: elfxx-tilegx.c:4241
 #, c-format
 msgid "%B: Cannot link together %s and %s objects."
 msgstr "%B: Ne peut lier ensemble les objets %s et %s."
 
+#: elfxx-x86.c:570
+#, c-format
+msgid "%P: %B: warning: relocation against `%s' in read-only section `%A'\n"
+msgstr "%P: %B: attention: rÃ©adressage sur Â«Â %sÂ Â» dans la section en lecture seule Â«Â %AÂ Â»\n"
+
+#: elfxx-x86.c:954
+msgid "%P: %B: warning: relocation in read-only section `%A'\n"
+msgstr "%P: %B: attention: rÃ©adressage dans la section Â«Â %AÂ Â» en lecture seule\n"
+
+#: elfxx-x86.c:1287
+msgid "%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
+msgstr "%P%X: le segment en lecture seule a des rÃ©adressages IFUNC dynamiques; recompilez avec -fPIC\n"
+
+#: elfxx-x86.c:2241
+msgid "error: %B: <corrupt x86 ISA used size: 0x%x>"
+msgstr "erreur: %B: <la taille utilisÃ©e par l'ISA x86 est corrompue: 0x%x>"
+
+#: elfxx-x86.c:2243
+msgid "error: %B: <corrupt x86 ISA needed size: 0x%x>"
+msgstr "erreur: %B: <la taille nÃ©cessaire pour l'ISA x86 est corrompue: 0x%x>"
+
+#: elfxx-x86.c:2244
+msgid "error: %B: <corrupt x86 feature size: 0x%x>"
+msgstr "erreur: %B: <la taille des fonctionnalitÃ©s x86 est corrompue: 0x%x>"
+
+#: elfxx-x86.c:2416
+msgid "%F%P: failed to create GNU property section\n"
+msgstr "%F%P: Ã©chec lors de la crÃ©ation de la section des propriÃ©tÃ©s GNU\n"
+
+#: elfxx-x86.c:2421
+#, c-format
+msgid "%F%A: failed to align section\n"
+msgstr "%F%A: Ã©chec lors de l'alignement de la section\n"
+
+#: elfxx-x86.c:2571
+msgid "%F%P: failed to create VxWorks dynamic sections\n"
+msgstr "%F%P: Ã©chec lors de la crÃ©ation des sections dynamiques VxWorks\n"
+
+#: elfxx-x86.c:2580
+msgid "%F%P: failed to create GOT sections\n"
+msgstr "%F%P: Ã©chec lors de la crÃ©ation des sections GOT\n"
+
+#: elfxx-x86.c:2598
+msgid "%F%P: failed to create ifunc sections\n"
+msgstr "%F%P: Ã©chec lors de la crÃ©ation des sections ifunc\n"
+
+#: elfxx-x86.c:2639
+msgid "%F%P: failed to create GOT PLT section\n"
+msgstr "%F%P: Ã©chec lors de la crÃ©ation de la section PLT GOT\n"
+
+#: elfxx-x86.c:2660
+msgid "%F%P: failed to create IBT-enabled PLT section\n"
+msgstr "%F%P: Ã©chec lors de la crÃ©ation de la section PLT activÃ©e pour IBT\n"
+
+#: elfxx-x86.c:2675
+msgid "%F%P: failed to create BND PLT section\n"
+msgstr "%F%P: Ã©chec lors de la crÃ©ation de la section PLT BND\n"
+
+#: elfxx-x86.c:2696
+msgid "%F%P: failed to create PLT .eh_frame section\n"
+msgstr "%F%P: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT\n"
+
+#: elfxx-x86.c:2709
+msgid "%F%P: failed to create GOT PLT .eh_frame section\n"
+msgstr "%F%P: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT GOT\n"
+
+#: elfxx-x86.c:2723
+msgid "%F%P: failed to create the second PLT .eh_frame section\n"
+msgstr "%F%P: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT\n"
+
 #: i386linux.c:416 m68klinux.c:419 sparclinux.c:412
 #, c-format
 msgid "Output file requires shared library `%s'\n"
@@ -5279,8 +5359,8 @@ msgstr "Attention: nombre de corrections
 
 #: ieee.c:159
 #, c-format
-msgid "%B: string too long (%d chars, max 65535)"
-msgstr "%B: chaÃ®ne trop longue (%d caractÃ¨res, max 65535)"
+msgid "%B: string too long (%ld chars, max 65535)"
+msgstr "%B: chaÃ®ne trop longue (%ld caractÃ¨res, max 65535)"
 
 #: ieee.c:226
 #, c-format
@@ -5299,8 +5379,8 @@ msgstr "%B: enregistrement ATI non impla
 
 #: ieee.c:862
 #, c-format
-msgid "%B: unexpected ATN type %d in external part"
-msgstr "%B: type ATN %d inattendu dans la partie externe"
+msgid "%B: unexpected ATN type %Ld in external part"
+msgstr "%B: type ATN %Ld inattendu dans la partie externe"
 
 #: ieee.c:884
 msgid "%B: unexpected type after ATN"
@@ -5349,10 +5429,10 @@ msgstr "%B: erreur interne dans ihex_rea
 msgid "%B: bad section length in ihex_read_section"
 msgstr "%B: longuer erronÃ©e de section dans ihex_read_section"
 
-#: ihex.c:833
+#: ihex.c:830
 #, c-format
-msgid "%B: address 0x%s out of range for Intel Hex file"
-msgstr "%B: adresse 0x%s hors limite pour le fichier Intel hexadÃ©cimal"
+msgid "%B: address %#Lx out of range for Intel Hex file"
+msgstr "%B: adresse %#Lx hors limite pour le fichier Intel hexadÃ©cimal"
 
 #: libbfd.c:799
 #, c-format
@@ -5369,43 +5449,43 @@ msgstr "%s dÃ©prÃ©ciÃ© appelÃ© Ã  %s dan
 msgid "Deprecated %s called\n"
 msgstr "%s appel dÃ©prÃ©ciÃ©\n"
 
-#: linker.c:1669
+#: linker.c:1678
 #, c-format
 msgid "%B: indirect symbol `%s' to `%s' is a loop"
 msgstr "%B: symbole indirect Â«Â %sÂ Â» vers Â«Â %sÂ Â» est une boucle"
 
-#: linker.c:2539
+#: linker.c:2548
 #, c-format
 msgid "Attempt to do relocatable link with %s input and %s output"
 msgstr "Tentative de rÃ©adressage d'un lien avec %s Ã  l'entrÃ©e et %s Ã  la sortie"
 
-#: linker.c:2825
+#: linker.c:2834
 #, c-format
 msgid "%B: ignoring duplicate section `%A'\n"
 msgstr "%B: ignore les sections dupliquÃ©es Â«Â %AÂ Â»\n"
 
-#: linker.c:2835 linker.c:2845
+#: linker.c:2844 linker.c:2854
 #, c-format
 msgid "%B: duplicate section `%A' has different size\n"
 msgstr "%B: section dupliquÃ©e Â«Â %AÂ Â» avec des tailles diffÃ©rentes\n"
 
-#: linker.c:2854 linker.c:2860
+#: linker.c:2863 linker.c:2869
 #, c-format
 msgid "%B: could not read contents of section `%A'\n"
 msgstr "%B: ne peut pas lire le contenu de la section Â«Â %AÂ Â»\n"
 
-#: linker.c:2865
+#: linker.c:2874
 #, c-format
 msgid "%B: duplicate section `%A' has different contents\n"
 msgstr "%B: section dupliquÃ©e Â«Â %AÂ Â» a des contenus diffÃ©rents\n"
 
-#: linker.c:3353
+#: linker.c:3362
 msgid "%B: compiled for a big endian system and target is little endian"
 msgstr ""
 "%B: compilÃ© pour un systÃ¨me Ã  octets de poids fort alors que la cible\n"
 "est un systÃ¨me Ã  octets de poids faible"
 
-#: linker.c:3356
+#: linker.c:3365
 msgid "%B: compiled for a little endian system and target is big endian"
 msgstr ""
 "%B: compilÃ© pour un systÃ¨me Ã  octets de poids faible alors que la cible\n"
@@ -5426,43 +5506,43 @@ msgstr "mach-o: il y a trop de sections 
 
 #: mach-o.c:2531
 #, c-format
-msgid "unable to allocate data for load command 0x%lx"
-msgstr "impossible d'allouer les donnÃ©es pour la commande de chargement 0x%lx"
+msgid "unable to allocate data for load command %#x"
+msgstr "impossible d'allouer les donnÃ©es pour la commande de chargement %#x"
 
 #: mach-o.c:2636
 #, c-format
-msgid "unable to write unknown load command 0x%lx"
-msgstr "impossible d'Ã©crire la commande de chargement inconnue 0x%lx"
+msgid "unable to write unknown load command %#x"
+msgstr "impossible d'Ã©crire la commande de chargement inconnue %#x"
 
 #: mach-o.c:2820
 #, c-format
-msgid "section address (%lx) below start of segment (%lx)"
-msgstr "adresse de section (%lx) en deÃ§Ã  du dÃ©but du segment (%lx)"
+msgid "section address (%#Lx) below start of segment (%#Lx)"
+msgstr "adresse de section (%#Lx) en deÃ§Ã  du dÃ©but du segment (%#Lx)"
 
 #: mach-o.c:2961
 #, c-format
-msgid "unable to layout unknown load command 0x%lx"
-msgstr "impossible de disposer la commande de chargement inconnue 0x%lx"
+msgid "unable to layout unknown load command %#x"
+msgstr "impossible de disposer la commande de chargement inconnue %#x"
 
 #: mach-o.c:3497
 #, c-format
-msgid "bfd_mach_o_read_section_32: overlarge alignment value: 0x%x, using 32 instead"
-msgstr "bfd_mach_o_read_section_32: valeur d'alignement dÃ©mesurÃ©e: 0x%x, utilise 32 Ã  la place"
+msgid "bfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 instead"
+msgstr "bfd_mach_o_read_section_32: valeur d'alignement dÃ©mesurÃ©e: %#lx, utilise 32 Ã  la place"
 
 #: mach-o.c:3540
 #, c-format
-msgid "bfd_mach_o_read_section_64: overlarge alignment value: 0x%x, using 32 instead"
-msgstr "bfd_mach_o_read_section_64: valeur d'alignement dÃ©mesurÃ©e: 0x%x, utilise 32 Ã  la place"
+msgid "bfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 instead"
+msgstr "bfd_mach_o_read_section_64: valeur d'alignement dÃ©mesurÃ©e: %#lx, utilise 32 Ã  la place"
 
 #: mach-o.c:3591
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
-msgstr "bfd_mach_o_read_symtab_symbol: impossible de lire %d octets Ã  %lu"
+msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %u"
+msgstr "bfd_mach_o_read_symtab_symbol: impossible de lire %d octets Ã  %u"
 
 #: mach-o.c:3610
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"
-msgstr "bfd_mach_o_read_symtab_symbol: nom hors limites (%lu >= %lu)"
+msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)"
+msgstr "bfd_mach_o_read_symtab_symbol: nom hors limites (%lu >= %u)"
 
 #: mach-o.c:3693
 #, c-format
@@ -5474,28 +5554,28 @@ msgstr "bfd_mach_o_read_symtab_symbol: l
 msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
 msgstr "bfd_mach_o_read_symtab_symbol: symbole Â«Â %sÂ Â» spÃ©cifie le champ de type 0x%x invalide: laissÃ© non dÃ©fini"
 
-#: mach-o.c:3786
+#: mach-o.c:3789
 msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
 msgstr "bfd_mach_o_read_symtab_symbols: impossible d'allouer la mÃ©moire pour les symboles"
 
-#: mach-o.c:4759
-msgid "%B: unknown load command 0x%lx"
-msgstr "%B: commande de chargement inconnue 0x%lx"
+#: mach-o.c:4762
+msgid "%B: unknown load command %#x"
+msgstr "%B: commande de chargement inconnue %#x"
 
-#: mach-o.c:4950
+#: mach-o.c:4953
 #, c-format
 msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
 msgstr "bfd_mach_o_scan: architecture 0x%lx/0x%lx inconnue"
 
-#: mach-o.c:5055
+#: mach-o.c:5058
 #, c-format
-msgid "unknown header byte-order value 0x%lx"
-msgstr "valeur d'ordre des octets de l'en-tÃªte 0x%lx est inconnue"
+msgid "unknown header byte-order value %#x"
+msgstr "la valeur d'ordre des octets de l'en-tÃªte %#x est inconnue"
 
-#: merge.c:864
+#: merge.c:868
 #, c-format
-msgid "%B: access beyond end of merged section (%ld)"
-msgstr "%B: accÃ¨s au-delÃ  de la fin de la section fusionnÃ©e (%ld)"
+msgid "%B: access beyond end of merged section (%Ld)"
+msgstr "%B: accÃ¨s au-delÃ  de la fin de la section fusionnÃ©e (%Ld)"
 
 #: mmo.c:468
 #, c-format
@@ -5509,8 +5589,8 @@ msgstr "%B: pas de corps pour allouer un
 
 #: mmo.c:958
 #, c-format
-msgid "%B: attempt to emit contents at non-multiple-of-4 address 0x%lx\n"
-msgstr "%B: tentative d'Ã©mettre du contenu Ã  une adresse 0x%lx qui n'est pas un multiple de 4\n"
+msgid "%B: attempt to emit contents at non-multiple-of-4 address %#Lx"
+msgstr "%B: tentative d'Ã©mettre du contenu Ã  une adresse %#Lx qui n'est pas un multiple de 4"
 
 #: mmo.c:1255
 msgid "%B: invalid mmo file: initialization value for $255 is not `Main'\n"
@@ -5617,13 +5697,13 @@ msgstr "%B: pas de registre initialisÃ©;
 
 #: mmo.c:3242
 #, c-format
-msgid "%B: too many initialized registers; section length %ld\n"
-msgstr "%B: trop de registres initialisÃ©s; longueur de section %ld\n"
+msgid "%B: too many initialized registers; section length %Ld"
+msgstr "%B: trop de registres initialisÃ©s; longueur de section %Ld"
 
 #: mmo.c:3247
 #, c-format
-msgid "%B: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n"
-msgstr "%B: adresse de dÃ©part invalide pour des registres initialisÃ©s de longueur %ld: 0x%lx%08lx\n"
+msgid "%B: invalid start address for initialized registers of length %Ld: %#Lx"
+msgstr "%B: adresse de dÃ©part invalide pour des registres initialisÃ©s de longueur %Ld: %#Lx"
 
 #: oasys.c:881
 #, c-format
@@ -5754,7 +5834,7 @@ msgstr "%B: taille du champ est zÃ©ro da
 msgid "%B: string not null terminated in ILF object file."
 msgstr "%B: chaÃ®ne n'est pas terminÃ©e par un zÃ©ro dans le fichier objet ILF."
 
-#: peicode.h:1333
+#: peicode.h:1335
 msgid "%B: Error: Debug Data ends beyond end of debug directory."
 msgstr "%B: Erreur: Les donnÃ©es de dÃ©bogage s'arrÃªtent aprÃ¨s la fin du rÃ©pertoire de dÃ©bogage."
 
@@ -5811,25 +5891,36 @@ msgstr "Secteur de la partition[%d] = 0x
 msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
 msgstr "Longueur de la partition[%d] = 0x%.8lx (%ld)\n"
 
-#: reloc.c:8064
+#: reloc.c:8106
 msgid "INPUT_SECTION_FLAGS are not supported.\n"
 msgstr "INPUT_SECTION_FLAGS pas supportÃ©s.\n"
 
-#: reloc.c:8165
+#: reloc.c:8207
 #, c-format
 msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n"
 msgstr "%X%P: %B(%A): erreur: le rÃ©adressage pour le dÃ©calage %V n'a pas de valeur\n"
 
-#: reloc.c:8241
+#: reloc.c:8283
 #, c-format
 msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n"
 msgstr "%X%P: %B(%A): le rÃ©adressage Â«Â %RÂ Â» n'est pas supportÃ©\n"
 
-#: reloc.c:8250
+#: reloc.c:8292
 #, c-format
 msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"
 msgstr "%X%P: %B(%A): le rÃ©adressage Â«Â %RÂ Â» retourne une valeur %x non reconnue\n"
 
+#: reloc.c:8354
+#, c-format
+msgid "%B: unrecognized relocation (%#x) in section `%A'"
+msgstr "%B: rÃ©adressage inconnu (%#x) dans la section Â«Â %AÂ Â»"
+
+#. PR 21803: Suggest the most likely cause of this error.
+#: reloc.c:8358
+#, c-format
+msgid "Is this version of the linker - %s - out of date ?"
+msgstr "La version de l'Ã©diteur de liens â€“ %s â€“ est-elle dÃ©passÃ©eÂ ?"
+
 #: rs6000-core.c:471
 msgid "%B: warning core file truncated"
 msgstr "%B: fichier core d'avertissement tronquÃ©"
@@ -5864,67 +5955,76 @@ msgstr "%B:%d: Mauvaise somme de contrÃ´
 
 #: stabs.c:279
 #, c-format
-msgid "%B(%A+0x%lx): Stabs entry has invalid string index."
-msgstr "%B(%A+0x%lx): EntrÃ©e des Ã©bauches a un indexe de chaÃ®ne invalide"
+msgid "%B(%A+%#lx): Stabs entry has invalid string index."
+msgstr "%B(%A+%#lx): EntrÃ©e des Ã©bauches a un indexe de chaÃ®ne invalide"
 
 #: syms.c:1079
 msgid "Unsupported .stab relocation"
 msgstr "RÃ©adressage du .stab non supportÃ©"
 
-#: vms-alpha.c:652
+#: vms-alpha.c:479
+msgid "Corrupt EIHD record - size is too small"
+msgstr "Enregistrement EIHD corrompu â€“ la taille est trop petite"
+
+#: vms-alpha.c:660
 #, c-format
 msgid "Unable to read EIHS record at offset %#x"
 msgstr "Impossible de lire l'enregistrement EIHS Ã  l'offset %#x"
 
-#: vms-alpha.c:1164
+#: vms-alpha.c:1172
 #, c-format
 msgid "Corrupt EGSD record: its size (%#x) is too small"
 msgstr "Enregistrement EGSD corrompu: sa taille (%#x) est trop petite"
 
-#: vms-alpha.c:1188
+#: vms-alpha.c:1196
 #, c-format
 msgid "Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
 msgstr "Enregistrement EGSD corrompu: la taille (%#x) est plus grande que l'espace restant (%#x)"
 
-#: vms-alpha.c:1196
+#: vms-alpha.c:1204
 #, c-format
 msgid "Corrupt EGSD record: size (%#x) is too small"
 msgstr "Enregistrement EGSD corrompu: la taille (%#x) est trop petite"
 
-#: vms-alpha.c:1380
+#: vms-alpha.c:1333 vms-alpha.c:1349 vms-alpha.c:1389
+#, c-format
+msgid "Corrupt EGSD record: its psindx field is too big (%#lx)"
+msgstr "Enregistrement EGSD corrompu: son champ psindx est trop grand (%#lx)"
+
+#: vms-alpha.c:1418
 #, c-format
 msgid "Unknown EGSD subtype %d"
 msgstr "Sous type EGSD %d inconnu"
 
-#: vms-alpha.c:1413
+#: vms-alpha.c:1451
 #, c-format
 msgid "Stack overflow (%d) in _bfd_vms_push"
 msgstr "DÃ©bordement de la pile (%d) dans _bfd_vms_push"
 
-#: vms-alpha.c:1426
+#: vms-alpha.c:1464
 msgid "Stack underflow in _bfd_vms_pop"
 msgstr "Sous dÃ©pilage de la pile dans _bfd_vms_pop"
 
 #. These names have not yet been added to this switch statement.
-#: vms-alpha.c:1665
+#: vms-alpha.c:1706
 #, c-format
 msgid "unknown ETIR command %d"
 msgstr "commande ETIR %d inconnue"
 
-#: vms-alpha.c:1696
+#: vms-alpha.c:1737
 msgid "Corrupt vms value"
 msgstr "Valeur vms corrompue"
 
-#: vms-alpha.c:1824
+#: vms-alpha.c:1865
 msgid "Corrupt ETIR record encountered"
 msgstr "Enregistrement ETIR corrompu rencontrÃ©"
 
-#: vms-alpha.c:1881
+#: vms-alpha.c:1922
 #, c-format
 msgid "bad section index in %s"
 msgstr "index de section erronÃ©e dans %s"
 
-#: vms-alpha.c:1894
+#: vms-alpha.c:1935
 #, c-format
 msgid "unsupported STA cmd %s"
 msgstr "commande STA %s non supportÃ©e"
@@ -5934,1463 +6034,1497 @@ msgstr "commande STA %s non supportÃ©e"
 #. Rotate.
 #. Redefine symbol to current location.
 #. Define a literal.
-#: vms-alpha.c:2074 vms-alpha.c:2105 vms-alpha.c:2196 vms-alpha.c:2354
+#: vms-alpha.c:2115 vms-alpha.c:2146 vms-alpha.c:2237 vms-alpha.c:2395
 #, c-format
 msgid "%s: not supported"
 msgstr "%s: pas supportÃ©"
 
-#: vms-alpha.c:2080
+#: vms-alpha.c:2121
 #, c-format
 msgid "%s: not implemented"
 msgstr "%s: non implÃ©mentÃ©"
 
-#: vms-alpha.c:2338
+#: vms-alpha.c:2379
 #, c-format
 msgid "invalid use of %s with contexts"
 msgstr "utilisation incorrecte de %s avec des contextes"
 
-#: vms-alpha.c:2372
+#: vms-alpha.c:2413
 #, c-format
 msgid "reserved cmd %d"
 msgstr "commande %d rÃ©servÃ©e"
 
-#: vms-alpha.c:2457
+#: vms-alpha.c:2497
+msgid "Corrupt EEOM record - size is too small"
+msgstr "Enregistrement EEOM corrompu â€“ taille trop petite"
+
+#: vms-alpha.c:2506
 msgid "Object module NOT error-free !\n"
 msgstr "Module objet N'EST PAS sans erreur !\n"
 
-#: vms-alpha.c:3778
+#: vms-alpha.c:3830
 #, c-format
 msgid "SEC_RELOC with no relocs in section %A"
 msgstr "SEC_RELOC sans rÃ©adressages dans la section %A"
 
-#: vms-alpha.c:3830 vms-alpha.c:4043
+#: vms-alpha.c:3882 vms-alpha.c:4095
 #, c-format
 msgid "Size error in section %A"
 msgstr "Erreur de taille dans la section %A"
 
-#: vms-alpha.c:3989
+#: vms-alpha.c:4041
 msgid "Spurious ALPHA_R_BSR reloc"
 msgstr "RÃ©adressages ALPHA_R_BSR parasite"
 
-#: vms-alpha.c:4030
+#: vms-alpha.c:4082
 #, c-format
 msgid "Unhandled relocation %s"
 msgstr "RÃ©adressage %s non traitÃ©"
 
-#: vms-alpha.c:4323
+#: vms-alpha.c:4375
 #, c-format
 msgid "unknown source command %d"
 msgstr "commande source %d inconnue"
 
-#: vms-alpha.c:4384
+#: vms-alpha.c:4436
 msgid "DST__K_SET_LINUM_INCR not implemented"
 msgstr "DST__K_SET_LINUM_INCR pas implÃ©mentÃ©"
 
-#: vms-alpha.c:4390
+#: vms-alpha.c:4442
 msgid "DST__K_SET_LINUM_INCR_W not implemented"
 msgstr "DST__K_SET_LINUM_INCR_W pas implÃ©mentÃ©"
 
-#: vms-alpha.c:4396
+#: vms-alpha.c:4448
 msgid "DST__K_RESET_LINUM_INCR not implemented"
 msgstr "DST__K_RESET_LINUM_INCR pas implÃ©mentÃ©"
 
-#: vms-alpha.c:4402
+#: vms-alpha.c:4454
 msgid "DST__K_BEG_STMT_MODE not implemented"
 msgstr "DST__K_BEG_STMT_MODE pas implÃ©mentÃ©"
 
-#: vms-alpha.c:4408
+#: vms-alpha.c:4460
 msgid "DST__K_END_STMT_MODE not implemented"
 msgstr "DST__K_END_STMT_MODE pas implÃ©mentÃ©"
 
-#: vms-alpha.c:4435
+#: vms-alpha.c:4487
 msgid "DST__K_SET_PC not implemented"
 msgstr "DST__K_SET_PC pas implÃ©mentÃ©"
 
-#: vms-alpha.c:4441
+#: vms-alpha.c:4493
 msgid "DST__K_SET_PC_W not implemented"
 msgstr "DST__K_SET_PC_W pas implÃ©mentÃ©"
 
-#: vms-alpha.c:4447
+#: vms-alpha.c:4499
 msgid "DST__K_SET_PC_L not implemented"
 msgstr "DST__K_SET_PC_L pas implÃ©mentÃ©"
 
-#: vms-alpha.c:4453
+#: vms-alpha.c:4505
 msgid "DST__K_SET_STMTNUM not implemented"
 msgstr "DST__K_SET_STMTNUM pas implÃ©mentÃ©"
 
-#: vms-alpha.c:4496
+#: vms-alpha.c:4548
 #, c-format
 msgid "unknown line command %d"
 msgstr "commande de ligne %d inconnue"
 
-#: vms-alpha.c:4956 vms-alpha.c:4974 vms-alpha.c:4989 vms-alpha.c:5005
-#: vms-alpha.c:5018 vms-alpha.c:5030 vms-alpha.c:5043
+#: vms-alpha.c:5008 vms-alpha.c:5026 vms-alpha.c:5041 vms-alpha.c:5057
+#: vms-alpha.c:5070 vms-alpha.c:5082 vms-alpha.c:5095
 #, c-format
 msgid "Unknown reloc %s + %s"
 msgstr "RÃ©adressage %s + %s inconnu"
 
-#: vms-alpha.c:5098
+#: vms-alpha.c:5150
 #, c-format
 msgid "Unknown reloc %s"
 msgstr "RÃ©adressage %s inconnu"
 
-#: vms-alpha.c:5111
+#: vms-alpha.c:5163
 msgid "Invalid section index in ETIR"
 msgstr "Index de section incorrect dans ETIR"
 
-#: vms-alpha.c:5120
+#: vms-alpha.c:5172
 msgid "Relocation for non-REL psect"
 msgstr "RÃ©adressage pour psect non-REL"
 
-#: vms-alpha.c:5167
+#: vms-alpha.c:5219
 #, c-format
 msgid "Unknown symbol in command %s"
 msgstr "Symbole inconnu dans la commande %s"
 
-#: vms-alpha.c:5577
+#: vms-alpha.c:5629
 #, c-format
 msgid "reloc (%d) is *UNKNOWN*"
 msgstr "le rÃ©adressage (%d) est *INCONNU*"
 
-#: vms-alpha.c:5692
+#: vms-alpha.c:5745
 #, c-format
 msgid "  EMH %u (len=%u): "
 msgstr "  EMH %u (long=%u): "
 
-#: vms-alpha.c:5697
+#: vms-alpha.c:5750
 #, c-format
 msgid "   Error: The length is less than the length of an EMH record\n"
 msgstr "   Erreur: La longueur est plus petite que la longueur d'un enregistrement EMH\n"
 
-#: vms-alpha.c:5708
+#: vms-alpha.c:5767
+#, c-format
+msgid "   Error: The record length is less than the size of an EMH_MHD record\n"
+msgstr "   Erreur: La longueur de l'enregistrement est infÃ©rieure Ã  la taille de l'enregistrement EMH_MHD\n"
+
+#: vms-alpha.c:5770
 #, c-format
 msgid "Module header\n"
 msgstr "En-tÃªte module\n"
 
-#: vms-alpha.c:5709
+#: vms-alpha.c:5771
 #, c-format
 msgid "   structure level: %u\n"
 msgstr "   niveau de structure: %u\n"
 
-#: vms-alpha.c:5710
+#: vms-alpha.c:5772
 #, c-format
 msgid "   max record size: %u\n"
 msgstr "   taille max d'enregistrement: %u\n"
 
-#: vms-alpha.c:5713
+#: vms-alpha.c:5778
+#, c-format
+msgid "   Error: The module name is missing\n"
+msgstr "   Erreur: Le nom du module est manquant\n"
+
+#: vms-alpha.c:5784
+#, c-format
+msgid "   Error: The module name is too long\n"
+msgstr "   Erreur: Le nom du module est trop long\n"
+
+#: vms-alpha.c:5787
 #, c-format
 msgid "   module name    : %.*s\n"
 msgstr "   nom du module       : %.*s\n"
 
-#: vms-alpha.c:5715
+#: vms-alpha.c:5791
+#, c-format
+msgid "   Error: The module version is missing\n"
+msgstr "   Erreur: La version du module est manquante\n"
+
+#: vms-alpha.c:5797
+#, c-format
+msgid "   Error: The module version is too long\n"
+msgstr "   Erreur: La version du module est trop longue\n"
+
+#: vms-alpha.c:5800
 #, c-format
 msgid "   module version : %.*s\n"
 msgstr "   version du module   : %.*s\n"
 
-#: vms-alpha.c:5717
+#: vms-alpha.c:5803
+#, c-format
+msgid "   Error: The compile date is truncated\n"
+msgstr "   Erreur: La date de compilation est tronquÃ©e\n"
+
+#: vms-alpha.c:5805
 #, c-format
 msgid "   compile date   : %.17s\n"
 msgstr "   date de compilation : %.17s\n"
 
-#: vms-alpha.c:5722
+#: vms-alpha.c:5810
 #, c-format
 msgid "Language Processor Name\n"
 msgstr "Nom du Processeur de Langage\n"
 
-#: vms-alpha.c:5723
+#: vms-alpha.c:5811
 #, c-format
 msgid "   language name: %.*s\n"
 msgstr "   nom du language: %.*s\n"
 
-#: vms-alpha.c:5730
+#: vms-alpha.c:5815
 #, c-format
 msgid "Source Files Header\n"
 msgstr "En-tÃªte des fichiers sources\n"
 
-#: vms-alpha.c:5731
+#: vms-alpha.c:5816
 #, c-format
 msgid "   file: %.*s\n"
 msgstr "   fichier: %.*s\n"
 
-#: vms-alpha.c:5738
+#: vms-alpha.c:5820
 #, c-format
 msgid "Title Text Header\n"
 msgstr "En-tÃªte du texte du titre\n"
 
-#: vms-alpha.c:5739
+#: vms-alpha.c:5821
 #, c-format
 msgid "   title: %.*s\n"
 msgstr "   titre: %.*s\n"
 
-#: vms-alpha.c:5746
+#: vms-alpha.c:5825
 #, c-format
 msgid "Copyright Header\n"
 msgstr "En-tÃªte du copyright\n"
 
-#: vms-alpha.c:5747
+#: vms-alpha.c:5826
 #, c-format
 msgid "   copyright: %.*s\n"
 msgstr "   copyright: %.*s\n"
 
-#: vms-alpha.c:5753
+#: vms-alpha.c:5830
 #, c-format
 msgid "unhandled emh subtype %u\n"
 msgstr "sous-type emh %u non pris en charge\n"
 
-#: vms-alpha.c:5763
+#: vms-alpha.c:5840
 #, c-format
 msgid "  EEOM (len=%u):\n"
 msgstr "  EEOM (long=%u):\n"
 
-#: vms-alpha.c:5768
+#: vms-alpha.c:5845
 #, c-format
 msgid "   Error: The length is less than the length of an EEOM record\n"
 msgstr "   Erreur: La longueur est plus petite que la longueur d'un enregistrement EEOM\n"
 
-#: vms-alpha.c:5772
+#: vms-alpha.c:5849
 #, c-format
 msgid "   number of cond linkage pairs: %u\n"
 msgstr "   nombre de paires de liaisons cond: %u\n"
 
-#: vms-alpha.c:5774
+#: vms-alpha.c:5851
 #, c-format
 msgid "   completion code: %u\n"
 msgstr "   code de complÃ©tion: %u\n"
 
-#: vms-alpha.c:5778
+#: vms-alpha.c:5855
 #, c-format
 msgid "   transfer addr flags: 0x%02x\n"
 msgstr "   fanions de transfert d'adr: 0x%02x\n"
 
-#: vms-alpha.c:5779
+#: vms-alpha.c:5856
 #, c-format
 msgid "   transfer addr psect: %u\n"
 msgstr "   psect transert adr: %u\n"
 
-#: vms-alpha.c:5781
+#: vms-alpha.c:5858
 #, c-format
 msgid "   transfer address   : 0x%08x\n"
 msgstr "   adresse de transert: 0x%08x\n"
 
-#: vms-alpha.c:5790
+#: vms-alpha.c:5867
 msgid " WEAK"
 msgstr " FAIBLE"
 
-#: vms-alpha.c:5792
+#: vms-alpha.c:5869
 msgid " DEF"
 msgstr " DEF"
 
-#: vms-alpha.c:5794
+#: vms-alpha.c:5871
 msgid " UNI"
 msgstr " UNI"
 
-#: vms-alpha.c:5796 vms-alpha.c:5817
+#: vms-alpha.c:5873 vms-alpha.c:5894
 msgid " REL"
 msgstr " REL"
 
-#: vms-alpha.c:5798
+#: vms-alpha.c:5875
 msgid " COMM"
 msgstr " COMM"
 
-#: vms-alpha.c:5800
+#: vms-alpha.c:5877
 msgid " VECEP"
 msgstr " VECEP"
 
-#: vms-alpha.c:5802
+#: vms-alpha.c:5879
 msgid " NORM"
 msgstr " NORM"
 
-#: vms-alpha.c:5804
+#: vms-alpha.c:5881
 msgid " QVAL"
 msgstr " QVAL"
 
-#: vms-alpha.c:5811
+#: vms-alpha.c:5888
 msgid " PIC"
 msgstr " PIC"
 
-#: vms-alpha.c:5813
+#: vms-alpha.c:5890
 msgid " LIB"
 msgstr " LIB"
 
-#: vms-alpha.c:5815
+#: vms-alpha.c:5892
 msgid " OVR"
 msgstr " OVR"
 
-#: vms-alpha.c:5819
+#: vms-alpha.c:5896
 msgid " GBL"
 msgstr " GBL"
 
-#: vms-alpha.c:5821
+#: vms-alpha.c:5898
 msgid " SHR"
 msgstr " SHR"
 
-#: vms-alpha.c:5823
+#: vms-alpha.c:5900
 msgid " EXE"
 msgstr " EXE"
 
-#: vms-alpha.c:5825
+#: vms-alpha.c:5902
 msgid " RD"
 msgstr " RD"
 
-#: vms-alpha.c:5827
+#: vms-alpha.c:5904
 msgid " WRT"
 msgstr " WRT"
 
-#: vms-alpha.c:5829
+#: vms-alpha.c:5906
 msgid " VEC"
 msgstr " VEC"
 
-#: vms-alpha.c:5831
+#: vms-alpha.c:5908
 msgid " NOMOD"
 msgstr " NOMOD"
 
-#: vms-alpha.c:5833
+#: vms-alpha.c:5910
 msgid " COM"
 msgstr " COM"
 
-#: vms-alpha.c:5835
+#: vms-alpha.c:5912
 msgid " 64B"
 msgstr " 64B"
 
-#: vms-alpha.c:5844
+#: vms-alpha.c:5921
 #, c-format
 msgid "  EGSD (len=%u):\n"
 msgstr "  EGSD (long=%u):\n"
 
-#: vms-alpha.c:5857
+#: vms-alpha.c:5934
 #, c-format
 msgid "  EGSD entry %2u (type: %u, len: %u): "
 msgstr "  entrÃ©e EGSD %2u (type: %u, long: %u): "
 
-#: vms-alpha.c:5863 vms-alpha.c:6114
+#: vms-alpha.c:5940 vms-alpha.c:6191
 #, c-format
 msgid "   Error: length larger than remaining space in record\n"
 msgstr "   Erreur: longueur plus grande que l'espace restant dans l'enregistrement\n"
 
-#: vms-alpha.c:5875
+#: vms-alpha.c:5952
 #, c-format
 msgid "PSC - Program section definition\n"
 msgstr "PSC - DÃ©finition de section du programme\n"
 
-#: vms-alpha.c:5876 vms-alpha.c:5893
+#: vms-alpha.c:5953 vms-alpha.c:5970
 #, c-format
 msgid "   alignment  : 2**%u\n"
 msgstr "   alignement : 2**%u\n"
 
-#: vms-alpha.c:5877 vms-alpha.c:5894
+#: vms-alpha.c:5954 vms-alpha.c:5971
 #, c-format
 msgid "   flags      : 0x%04x"
 msgstr "   fanions    : 0x%04x"
 
-#: vms-alpha.c:5881
+#: vms-alpha.c:5958
 #, c-format
 msgid "   alloc (len): %u (0x%08x)\n"
 msgstr "  alloc (long): %u (0x%08x)\n"
 
-#: vms-alpha.c:5882 vms-alpha.c:5939 vms-alpha.c:5988
+#: vms-alpha.c:5959 vms-alpha.c:6016 vms-alpha.c:6065
 #, c-format
 msgid "   name       : %.*s\n"
 msgstr "   nom        : %.*s\n"
 
-#: vms-alpha.c:5892
+#: vms-alpha.c:5969
 #, c-format
 msgid "SPSC - Shared Image Program section def\n"
 msgstr "SPSC - Def de section de l'image partagÃ©e du programme\n"
 
-#: vms-alpha.c:5898
+#: vms-alpha.c:5975
 #, c-format
 msgid "   alloc (len)   : %u (0x%08x)\n"
 msgstr "   alloc (long)  : %u (0x%08x)\n"
 
-#: vms-alpha.c:5899
+#: vms-alpha.c:5976
 #, c-format
 msgid "   image offset  : 0x%08x\n"
 msgstr "   offset d'image: 0x%08x\n"
 
-#: vms-alpha.c:5901
+#: vms-alpha.c:5978
 #, c-format
 msgid "   symvec offset : 0x%08x\n"
 msgstr "   offset symvec : 0x%08x\n"
 
-#: vms-alpha.c:5903
+#: vms-alpha.c:5980
 #, c-format
 msgid "   name          : %.*s\n"
 msgstr "   nom           : %.*s\n"
 
-#: vms-alpha.c:5916
+#: vms-alpha.c:5993
 #, c-format
 msgid "SYM - Global symbol definition\n"
 msgstr "SYM - DÃ©finition du symbol global\n"
 
-#: vms-alpha.c:5917 vms-alpha.c:5977 vms-alpha.c:5998 vms-alpha.c:6017
+#: vms-alpha.c:5994 vms-alpha.c:6054 vms-alpha.c:6075 vms-alpha.c:6094
 #, c-format
 msgid "   flags: 0x%04x"
 msgstr "   fanions: 0x%04x"
 
-#: vms-alpha.c:5920
+#: vms-alpha.c:5997
 #, c-format
 msgid "   psect offset: 0x%08x\n"
 msgstr "   offset psect: 0x%08x\n"
 
-#: vms-alpha.c:5924
+#: vms-alpha.c:6001
 #, c-format
 msgid "   code address: 0x%08x\n"
 msgstr "   adresse code: 0x%08x\n"
 
-#: vms-alpha.c:5926
+#: vms-alpha.c:6003
 #, c-format
 msgid "   psect index for entry point : %u\n"
 msgstr "   index psect pour point d'entrÃ©e: %u\n"
 
-#: vms-alpha.c:5929 vms-alpha.c:6005 vms-alpha.c:6024
+#: vms-alpha.c:6006 vms-alpha.c:6082 vms-alpha.c:6101
 #, c-format
 msgid "   psect index : %u\n"
 msgstr "   index psect : %u\n"
 
-#: vms-alpha.c:5931 vms-alpha.c:6007 vms-alpha.c:6026
+#: vms-alpha.c:6008 vms-alpha.c:6084 vms-alpha.c:6103
 #, c-format
 msgid "   name        : %.*s\n"
 msgstr "   nom         : %.*s\n"
 
-#: vms-alpha.c:5938
+#: vms-alpha.c:6015
 #, c-format
 msgid "SYM - Global symbol reference\n"
 msgstr "SYM - RÃ©fÃ©rence du symbol globaux\n"
 
-#: vms-alpha.c:5950
+#: vms-alpha.c:6027
 #, c-format
 msgid "IDC - Ident Consistency check\n"
 msgstr "IDC - VÃ©rification de la consistance d'identitÃ©\n"
 
-#: vms-alpha.c:5951
+#: vms-alpha.c:6028
 #, c-format
 msgid "   flags         : 0x%08x"
 msgstr "   fanions       : 0x%08x"
 
-#: vms-alpha.c:5955
+#: vms-alpha.c:6032
 #, c-format
 msgid "   id match      : %x\n"
 msgstr "   correspondance id : %x\n"
 
-#: vms-alpha.c:5957
+#: vms-alpha.c:6034
 #, c-format
 msgid "   error severity: %x\n"
 msgstr "   sÃ©vÃ©ritÃ© d'erreur: %x\n"
 
-#: vms-alpha.c:5960
+#: vms-alpha.c:6037
 #, c-format
 msgid "   entity name   : %.*s\n"
 msgstr "   nom d'entitÃ©  : %.*s\n"
 
-#: vms-alpha.c:5962
+#: vms-alpha.c:6039
 #, c-format
 msgid "   object name   : %.*s\n"
 msgstr "   nom d'objet   : %.*s\n"
 
-#: vms-alpha.c:5965
+#: vms-alpha.c:6042
 #, c-format
 msgid "   binary ident  : 0x%08x\n"
 msgstr "   ident binaire : 0x%08x\n"
 
-#: vms-alpha.c:5968
+#: vms-alpha.c:6045
 #, c-format
 msgid "   ascii ident   : %.*s\n"
 msgstr "   ident ascii   : %.*s\n"
 
-#: vms-alpha.c:5976
+#: vms-alpha.c:6053
 #, c-format
 msgid "SYMG - Universal symbol definition\n"
 msgstr "SYMG - DÃ©finition de symbole universel\n"
 
-#: vms-alpha.c:5980
+#: vms-alpha.c:6057
 #, c-format
 msgid "   symbol vector offset: 0x%08x\n"
 msgstr "   offset vecteur symbole: 0x%08x\n"
 
-#: vms-alpha.c:5982
+#: vms-alpha.c:6059
 #, c-format
 msgid "   entry point: 0x%08x\n"
 msgstr "   point d'entrÃ©e: 0x%08x\n"
 
-#: vms-alpha.c:5984
+#: vms-alpha.c:6061
 #, c-format
 msgid "   proc descr : 0x%08x\n"
 msgstr "   descr proc : 0x%08x\n"
 
-#: vms-alpha.c:5986
+#: vms-alpha.c:6063
 #, c-format
 msgid "   psect index: %u\n"
 msgstr "   index psect: %u\n"
 
-#: vms-alpha.c:5997
+#: vms-alpha.c:6074
 #, c-format
 msgid "SYMV - Vectored symbol definition\n"
 msgstr "SYMV - DÃ©finition symbole vectorisÃ©\n"
 
-#: vms-alpha.c:6001
+#: vms-alpha.c:6078
 #, c-format
 msgid "   vector      : 0x%08x\n"
 msgstr "   vecteur     : 0x%08x\n"
 
-#: vms-alpha.c:6003 vms-alpha.c:6022
+#: vms-alpha.c:6080 vms-alpha.c:6099
 #, c-format
 msgid "   psect offset: %u\n"
 msgstr "   offset psect: %u\n"
 
-#: vms-alpha.c:6016
+#: vms-alpha.c:6093
 #, c-format
 msgid "SYMM - Global symbol definition with version\n"
 msgstr "SYMM - DÃ©finition de symbole globale avec version\n"
 
-#: vms-alpha.c:6020
+#: vms-alpha.c:6097
 #, c-format
 msgid "   version mask: 0x%08x\n"
 msgstr "   masque de version: 0x%08x\n"
 
-#: vms-alpha.c:6031
+#: vms-alpha.c:6108
 #, c-format
 msgid "unhandled egsd entry type %u\n"
 msgstr "type d'entrÃ©e egsd %u non supportÃ©\n"
 
-#: vms-alpha.c:6066
+#: vms-alpha.c:6143
 #, c-format
 msgid "    linkage index: %u, replacement insn: 0x%08x\n"
 msgstr "   index de liaison: %u, instruction de remplacement: 0x%08x\n"
 
-#: vms-alpha.c:6070
+#: vms-alpha.c:6147
 #, c-format
 msgid "    psect idx 1: %u, offset 1: 0x%08x %08x\n"
 msgstr "   index psect 1: %u, offset 1: 0x%08x %08x\n"
 
-#: vms-alpha.c:6075
+#: vms-alpha.c:6152
 #, c-format
 msgid "    psect idx 2: %u, offset 2: 0x%08x %08x\n"
 msgstr "   index psect 2: %u, offset 2: 0x%08x %08x\n"
 
-#: vms-alpha.c:6081
+#: vms-alpha.c:6158
 #, c-format
 msgid "    psect idx 3: %u, offset 3: 0x%08x %08x\n"
 msgstr "   index psect 3: %u, offset 3: 0x%08x %08x\n"
 
-#: vms-alpha.c:6086
+#: vms-alpha.c:6163
 #, c-format
 msgid "    global name: %.*s\n"
 msgstr "   nom global: %.*s\n"
 
-#: vms-alpha.c:6097
+#: vms-alpha.c:6174
 #, c-format
 msgid "  %s (len=%u+%u):\n"
 msgstr "  %s (long=%u+%u):\n"
 
-#: vms-alpha.c:6119
+#: vms-alpha.c:6196
 #, c-format
 msgid "   (type: %3u, size: 4+%3u): "
 msgstr "   (type: %3u, taille: 4+%3u): "
 
-#: vms-alpha.c:6123
+#: vms-alpha.c:6200
 #, c-format
 msgid "STA_GBL (stack global) %.*s\n"
 msgstr "STA_GBL (pile globals) %.*s\n"
 
-#: vms-alpha.c:6127
+#: vms-alpha.c:6204
 #, c-format
 msgid "STA_LW (stack longword) 0x%08x\n"
 msgstr "STA_LW (pile mot long) 0x%08x\n"
 
-#: vms-alpha.c:6131
+#: vms-alpha.c:6208
 #, c-format
 msgid "STA_QW (stack quadword) 0x%08x %08x\n"
 msgstr "STA_QW (pile quad mot) 0x%08x %08x\n"
 
-#: vms-alpha.c:6136
+#: vms-alpha.c:6213
 #, c-format
 msgid "STA_PQ (stack psect base + offset)\n"
 msgstr "STA_PQ (base pile psect + offset)\n"
 
-#: vms-alpha.c:6138
+#: vms-alpha.c:6215
 #, c-format
 msgid "    psect: %u, offset: 0x%08x %08x\n"
 msgstr "   psect: %u, offset: 0x%08x %08x\n"
 
-#: vms-alpha.c:6144
+#: vms-alpha.c:6221
 #, c-format
 msgid "STA_LI (stack literal)\n"
 msgstr "STA_LI (pile literale)\n"
 
-#: vms-alpha.c:6147
+#: vms-alpha.c:6224
 #, c-format
 msgid "STA_MOD (stack module)\n"
 msgstr "STA_MOD (pile module)\n"
 
-#: vms-alpha.c:6150
+#: vms-alpha.c:6227
 #, c-format
 msgid "STA_CKARG (compare procedure argument)\n"
 msgstr "STA_CKARG (compare les arguments de la procÃ©dure)\n"
 
-#: vms-alpha.c:6154
+#: vms-alpha.c:6231
 #, c-format
 msgid "STO_B (store byte)\n"
 msgstr "STO_B (stocke octet)\n"
 
-#: vms-alpha.c:6157
+#: vms-alpha.c:6234
 #, c-format
 msgid "STO_W (store word)\n"
 msgstr "STO_W (stocke mot)\n"
 
-#: vms-alpha.c:6160
+#: vms-alpha.c:6237
 #, c-format
 msgid "STO_LW (store longword)\n"
 msgstr "STO_LW (stocke mot long)\n"
 
-#: vms-alpha.c:6163
+#: vms-alpha.c:6240
 #, c-format
 msgid "STO_QW (store quadword)\n"
 msgstr "STO_QW (stocke quad mot)\n"
 
-#: vms-alpha.c:6169
+#: vms-alpha.c:6246
 #, c-format
 msgid "STO_IMMR (store immediate repeat) %u bytes\n"
 msgstr "STO_IMMR (stock rÃ©pÃ©tition immÃ©diate) %u octets\n"
 
-#: vms-alpha.c:6176
+#: vms-alpha.c:6253
 #, c-format
 msgid "STO_GBL (store global) %.*s\n"
 msgstr "STO_GBL (stocke globale) %.*s\n"
 
-#: vms-alpha.c:6180
+#: vms-alpha.c:6257
 #, c-format
 msgid "STO_CA (store code address) %.*s\n"
 msgstr "STO_CA (stock adresse code) %.*s\n"
 
-#: vms-alpha.c:6184
+#: vms-alpha.c:6261
 #, c-format
 msgid "STO_RB (store relative branch)\n"
 msgstr "STO_RB (stocke branche relative)\n"
 
-#: vms-alpha.c:6187
+#: vms-alpha.c:6264
 #, c-format
 msgid "STO_AB (store absolute branch)\n"
 msgstr "STO_AB (stocke branche absolue)\n"
 
-#: vms-alpha.c:6190
+#: vms-alpha.c:6267
 #, c-format
 msgid "STO_OFF (store offset to psect)\n"
 msgstr "STO_OFF (stocke offset de psect)\n"
 
-#: vms-alpha.c:6196
+#: vms-alpha.c:6273
 #, c-format
 msgid "STO_IMM (store immediate) %u bytes\n"
 msgstr "STO_IMM (stocke immediat) %u octets\n"
 
-#: vms-alpha.c:6203
+#: vms-alpha.c:6280
 #, c-format
 msgid "STO_GBL_LW (store global longword) %.*s\n"
 msgstr "STO_GBL_LW (stocke mot long global) %.*s\n"
 
-#: vms-alpha.c:6207
+#: vms-alpha.c:6284
 #, c-format
 msgid "STO_OFF (store LP with procedure signature)\n"
 msgstr "STO_OFF (stocke LP avec la signature de la procÃ©dure)\n"
 
-#: vms-alpha.c:6210
+#: vms-alpha.c:6287
 #, c-format
 msgid "STO_BR_GBL (store branch global) *todo*\n"
 msgstr "STO_BR_GBL (stocke branche globale) *todo*\n"
 
-#: vms-alpha.c:6213
+#: vms-alpha.c:6290
 #, c-format
 msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
 msgstr "STO_BR_PS (stocke branche psect + offset) *todo*\n"
 
-#: vms-alpha.c:6217
+#: vms-alpha.c:6294
 #, c-format
 msgid "OPR_NOP (no-operation)\n"
 msgstr "OPR_NOP (pas d'operation)\n"
 
-#: vms-alpha.c:6220
+#: vms-alpha.c:6297
 #, c-format
 msgid "OPR_ADD (add)\n"
 msgstr "OPR_ADD (ajout)\n"
 
-#: vms-alpha.c:6223
+#: vms-alpha.c:6300
 #, c-format
-msgid "OPR_SUB (substract)\n"
+msgid "OPR_SUB (subtract)\n"
 msgstr "OPR_SUB (soustraction)\n"
 
-#: vms-alpha.c:6226
+#: vms-alpha.c:6303
 #, c-format
 msgid "OPR_MUL (multiply)\n"
 msgstr "OPR_MUL (multiplication)\n"
 
-#: vms-alpha.c:6229
+#: vms-alpha.c:6306
 #, c-format
 msgid "OPR_DIV (divide)\n"
 msgstr "OPR_DIV (division)\n"
 
-#: vms-alpha.c:6232
+#: vms-alpha.c:6309
 #, c-format
 msgid "OPR_AND (logical and)\n"
 msgstr "OPR_AND (et logique)\n"
 
-#: vms-alpha.c:6235
+#: vms-alpha.c:6312
 #, c-format
 msgid "OPR_IOR (logical inclusive or)\n"
 msgstr "OPR_IOR (ou inclusif logique)\n"
 
-#: vms-alpha.c:6238
+#: vms-alpha.c:6315
 #, c-format
 msgid "OPR_EOR (logical exclusive or)\n"
 msgstr "OPR_EOR (ou exclusif logique)\n"
 
-#: vms-alpha.c:6241
+#: vms-alpha.c:6318
 #, c-format
 msgid "OPR_NEG (negate)\n"
 msgstr "OPR_NEG (nÃ©gation)\n"
 
-#: vms-alpha.c:6244
+#: vms-alpha.c:6321
 #, c-format
 msgid "OPR_COM (complement)\n"
 msgstr "OPR_COM (complÃ©ment)\n"
 
-#: vms-alpha.c:6247
+#: vms-alpha.c:6324
 #, c-format
 msgid "OPR_INSV (insert field)\n"
 msgstr "OPR_INSV (insertion champ)\n"
 
-#: vms-alpha.c:6250
+#: vms-alpha.c:6327
 #, c-format
 msgid "OPR_ASH (arithmetic shift)\n"
 msgstr "OPR_ASH (dÃ©calage arithmetique)\n"
 
-#: vms-alpha.c:6253
+#: vms-alpha.c:6330
 #, c-format
 msgid "OPR_USH (unsigned shift)\n"
 msgstr "OPR_USH (dÃ©calage non signÃ©)\n"
 
-#: vms-alpha.c:6256
+#: vms-alpha.c:6333
 #, c-format
 msgid "OPR_ROT (rotate)\n"
 msgstr "OPR_ROT (rotation)\n"
 
-#: vms-alpha.c:6259
+#: vms-alpha.c:6336
 #, c-format
 msgid "OPR_SEL (select)\n"
 msgstr "OPR_SEL (selection)\n"
 
-#: vms-alpha.c:6262
+#: vms-alpha.c:6339
 #, c-format
 msgid "OPR_REDEF (redefine symbol to curr location)\n"
 msgstr "OPR_REDEF (redÃ©fini le symbole Ã  la position actuelle)\n"
 
-#: vms-alpha.c:6265
+#: vms-alpha.c:6342
 #, c-format
 msgid "OPR_REDEF (define a literal)\n"
 msgstr "OPR_REDEF (dÃ©finir un litÃ©ral)\n"
 
-#: vms-alpha.c:6269
+#: vms-alpha.c:6346
 #, c-format
 msgid "STC_LP (store cond linkage pair)\n"
 msgstr "STC_LP (stocke pair de liaison cond)\n"
 
-#: vms-alpha.c:6273
+#: vms-alpha.c:6350
 #, c-format
 msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
 msgstr "STC_LP_PSB (stocke pair de liaison cond + signature)\n"
 
-#: vms-alpha.c:6275
+#: vms-alpha.c:6352
 #, c-format
 msgid "   linkage index: %u, procedure: %.*s\n"
 msgstr "   index liaison: %u, procÃ©dure: %.*s\n"
 
-#: vms-alpha.c:6278
+#: vms-alpha.c:6355
 #, c-format
 msgid "   signature: %.*s\n"
 msgstr "   signature: %.*s\n"
 
-#: vms-alpha.c:6281
+#: vms-alpha.c:6358
 #, c-format
 msgid "STC_GBL (store cond global)\n"
 msgstr "STC_GBL (stocke cond globale)\n"
 
-#: vms-alpha.c:6283
+#: vms-alpha.c:6360
 #, c-format
 msgid "   linkage index: %u, global: %.*s\n"
 msgstr "   index liaison: %u, globale: %.*s\n"
 
-#: vms-alpha.c:6287
+#: vms-alpha.c:6364
 #, c-format
 msgid "STC_GCA (store cond code address)\n"
 msgstr "STC_GCA (stocke adresse code cond)\n"
 
-#: vms-alpha.c:6289
+#: vms-alpha.c:6366
 #, c-format
 msgid "   linkage index: %u, procedure name: %.*s\n"
 msgstr "   index liaison: %u, nom procÃ©dure: %.*s\n"
 
-#: vms-alpha.c:6293
+#: vms-alpha.c:6370
 #, c-format
 msgid "STC_PS (store cond psect + offset)\n"
 msgstr "STC_PS (stocke psect cond + offset)\n"
 
-#: vms-alpha.c:6296
+#: vms-alpha.c:6373
 #, c-format
 msgid "   linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
 msgstr "   index liaison: %u, psect: %u, offset: 0x%08x %08x\n"
 
-#: vms-alpha.c:6303
+#: vms-alpha.c:6380
 #, c-format
 msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
 msgstr "STC_NOP_GBL (stocke NOP cond Ã  l'adresse globale)\n"
 
-#: vms-alpha.c:6307
+#: vms-alpha.c:6384
 #, c-format
 msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
 msgstr "STC_NOP_PS (stocke NOP cond Ã  psect + offset)\n"
 
-#: vms-alpha.c:6311
+#: vms-alpha.c:6388
 #, c-format
 msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
 msgstr "STC_BSR_GBL (stocke BSR cond Ã  l'adresse globale)\n"
 
-#: vms-alpha.c:6315
+#: vms-alpha.c:6392
 #, c-format
 msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
 msgstr "STC_BSR_PS (stocke BSR cond Ã  psect + offset)\n"
 
-#: vms-alpha.c:6319
+#: vms-alpha.c:6396
 #, c-format
 msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
 msgstr "STC_LDA_GBL (stocke LDA cond Ã  l'adresse globale)\n"
 
-#: vms-alpha.c:6323
+#: vms-alpha.c:6400
 #, c-format
 msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
 msgstr "STC_LDA_PS (stocke LDA cond Ã  psect + offset)\n"
 
-#: vms-alpha.c:6327
+#: vms-alpha.c:6404
 #, c-format
 msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
 msgstr "STC_BOH_GBL (stocke BOH cond Ã  l'adresse globale)\n"
 
-#: vms-alpha.c:6331
+#: vms-alpha.c:6408
 #, c-format
 msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
 msgstr "STC_BOH_PS (stocke BOH cond Ã  psect + offset)\n"
 
-#: vms-alpha.c:6336
+#: vms-alpha.c:6413
 #, c-format
 msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
 msgstr "STC_NBH_GBL (stocke cond ou suggestion Ã  l'adresse globale)\n"
 
-#: vms-alpha.c:6340
+#: vms-alpha.c:6417
 #, c-format
 msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
 msgstr "STC_NBH_PS (stocke cond or suggestion Ã  psect + offset)\n"
 
-#: vms-alpha.c:6344
+#: vms-alpha.c:6421
 #, c-format
 msgid "CTL_SETRB (set relocation base)\n"
 msgstr "CTL_SETRB (fixe la base du rÃ©adressage)\n"
 
-#: vms-alpha.c:6350
+#: vms-alpha.c:6427
 #, c-format
 msgid "CTL_AUGRB (augment relocation base) %u\n"
 msgstr "CTL_AUGRB (augmente la base du rÃ©adressage) %u\n"
 
-#: vms-alpha.c:6354
+#: vms-alpha.c:6431
 #, c-format
 msgid "CTL_DFLOC (define location)\n"
 msgstr "CTL_DFLOC (dÃ©finir position)\n"
 
-#: vms-alpha.c:6357
+#: vms-alpha.c:6434
 #, c-format
 msgid "CTL_STLOC (set location)\n"
 msgstr "CTL_STLOC (fixer position)\n"
 
-#: vms-alpha.c:6360
+#: vms-alpha.c:6437
 #, c-format
 msgid "CTL_STKDL (stack defined location)\n"
 msgstr "CTL_STKDL (position dÃ©finie dans la pile)\n"
 
-#: vms-alpha.c:6363 vms-alpha.c:6787 vms-alpha.c:6913
+#: vms-alpha.c:6440 vms-alpha.c:6864 vms-alpha.c:6990
 #, c-format
 msgid "*unhandled*\n"
 msgstr "*non pris en charge*\n"
 
-#: vms-alpha.c:6393 vms-alpha.c:6432
+#: vms-alpha.c:6470 vms-alpha.c:6509
 #, c-format
 msgid "cannot read GST record length\n"
 msgstr "impossible de lire la longueur de l'enregistrement GST\n"
 
 #. Ill-formed.
-#: vms-alpha.c:6414
+#: vms-alpha.c:6491
 #, c-format
 msgid "cannot find EMH in first GST record\n"
 msgstr "impossible de trouver le EMH dans le premier enregistrement GST\n"
 
-#: vms-alpha.c:6440
+#: vms-alpha.c:6517
 #, c-format
 msgid "cannot read GST record header\n"
 msgstr "impossible de lire l'en-tÃªte de l'enregistrement GST\n"
 
-#: vms-alpha.c:6453
+#: vms-alpha.c:6530
 #, c-format
 msgid " corrupted GST\n"
 msgstr " GST corrompu\n"
 
-#: vms-alpha.c:6461
+#: vms-alpha.c:6538
 #, c-format
 msgid "cannot read GST record\n"
 msgstr "ne peut lire l'enregistrement GST\n"
 
-#: vms-alpha.c:6490
+#: vms-alpha.c:6567
 #, c-format
 msgid " unhandled EOBJ record type %u\n"
 msgstr " type d'enregistrement EOBJ %u non supportÃ©\n"
 
-#: vms-alpha.c:6514
+#: vms-alpha.c:6591
 #, c-format
 msgid "  bitcount: %u, base addr: 0x%08x\n"
 msgstr "  dÃ©compte des bits: %u, adr base: 0x%08x\n"
 
-#: vms-alpha.c:6528
+#: vms-alpha.c:6605
 #, c-format
 msgid "   bitmap: 0x%08x (count: %u):\n"
 msgstr "   carte des bits: 0x%08x (occurrence: %u):\n"
 
-#: vms-alpha.c:6535
+#: vms-alpha.c:6612
 #, c-format
 msgid " %08x"
 msgstr " %08x"
 
-#: vms-alpha.c:6561
+#: vms-alpha.c:6638
 #, c-format
 msgid "  image %u (%u entries)\n"
 msgstr "  image %u (%u entrÃ©es)\n"
 
-#: vms-alpha.c:6567
+#: vms-alpha.c:6644
 #, c-format
 msgid "   offset: 0x%08x, val: 0x%08x\n"
 msgstr "   offset: 0x%08x, val: 0x%08x\n"
 
-#: vms-alpha.c:6589
+#: vms-alpha.c:6666
 #, c-format
 msgid "  image %u (%u entries), offsets:\n"
 msgstr "  image %u (%u entrÃ©es), offsets:\n"
 
-#: vms-alpha.c:6596
+#: vms-alpha.c:6673
 #, c-format
 msgid " 0x%08x"
 msgstr " 0x%08x"
 
 #. 64 bits.
-#: vms-alpha.c:6718
+#: vms-alpha.c:6795
 #, c-format
 msgid "64 bits *unhandled*\n"
 msgstr "64 bits *non supportÃ©*\n"
 
-#: vms-alpha.c:6723
+#: vms-alpha.c:6800
 #, c-format
 msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
 msgstr "classe: %u, dtype: %u, longueur: %u, pointeur: 0x%08x\n"
 
-#: vms-alpha.c:6734
+#: vms-alpha.c:6811
 #, c-format
 msgid "non-contiguous array of %s\n"
 msgstr "table de %s non contiguÃ«\n"
 
-#: vms-alpha.c:6739
+#: vms-alpha.c:6816
 #, c-format
 msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
 msgstr "dimct: %u, aflags: 0x%02x, digits: %u, Ã©chelle: %u\n"
 
-#: vms-alpha.c:6744
+#: vms-alpha.c:6821
 #, c-format
 msgid "arsize: %u, a0: 0x%08x\n"
 msgstr "arsize: %u, a0: 0x%08x\n"
 
-#: vms-alpha.c:6748
+#: vms-alpha.c:6825
 #, c-format
 msgid "Strides:\n"
 msgstr "Pas:\n"
 
-#: vms-alpha.c:6758
+#: vms-alpha.c:6835
 #, c-format
 msgid "Bounds:\n"
 msgstr "Limites:\n"
 
-#: vms-alpha.c:6764
+#: vms-alpha.c:6841
 #, c-format
 msgid "[%u]: Lower: %u, upper: %u\n"
 msgstr "[%u]: InfÃ©rieure: %u, supÃ©rieure: %u\n"
 
-#: vms-alpha.c:6776
+#: vms-alpha.c:6853
 #, c-format
 msgid "unaligned bit-string of %s\n"
 msgstr "chaine de bits de %s dÃ©salignÃ©e\n"
 
-#: vms-alpha.c:6781
+#: vms-alpha.c:6858
 #, c-format
 msgid "base: %u, pos: %u\n"
 msgstr "base: %u, pos: %u\n"
 
-#: vms-alpha.c:6802
+#: vms-alpha.c:6879
 #, c-format
 msgid "vflags: 0x%02x, value: 0x%08x "
 msgstr "vflags: 0x%02x, valeur: 0x%08x "
 
-#: vms-alpha.c:6808
+#: vms-alpha.c:6885
 #, c-format
 msgid "(no value)\n"
 msgstr "(pas de valeur)\n"
 
-#: vms-alpha.c:6811
+#: vms-alpha.c:6888
 #, c-format
 msgid "(not active)\n"
 msgstr "(pas active)\n"
 
-#: vms-alpha.c:6814
+#: vms-alpha.c:6891
 #, c-format
 msgid "(not allocated)\n"
 msgstr "(pas allouÃ©e)\n"
 
-#: vms-alpha.c:6817
+#: vms-alpha.c:6894
 #, c-format
 msgid "(descriptor)\n"
 msgstr "(descripteur)\n"
 
-#: vms-alpha.c:6821
+#: vms-alpha.c:6898
 #, c-format
 msgid "(trailing value)\n"
 msgstr "(valeur postÃ©rieure)\n"
 
-#: vms-alpha.c:6824
+#: vms-alpha.c:6901
 #, c-format
 msgid "(value spec follows)\n"
 msgstr "(spÃ©cificitÃ©s de la valeur suivent)\n"
 
-#: vms-alpha.c:6827
+#: vms-alpha.c:6904
 #, c-format
 msgid "(at bit offset %u)\n"
 msgstr "(Ã  l'offset de bit %u)\n"
 
-#: vms-alpha.c:6831
+#: vms-alpha.c:6908
 #, c-format
 msgid "(reg: %u, disp: %u, indir: %u, kind: "
 msgstr "(reg: %u, aff: %u, indir: %u, type: "
 
-#: vms-alpha.c:6838
+#: vms-alpha.c:6915
 msgid "literal"
 msgstr "litÃ©rale"
 
-#: vms-alpha.c:6841
+#: vms-alpha.c:6918
 msgid "address"
 msgstr "adresse"
 
-#: vms-alpha.c:6844
+#: vms-alpha.c:6921
 msgid "desc"
 msgstr "desc"
 
-#: vms-alpha.c:6847
+#: vms-alpha.c:6924
 msgid "reg"
 msgstr "reg"
 
-#: vms-alpha.c:6864
+#: vms-alpha.c:6941
 #, c-format
 msgid "len: %2u, kind: %2u "
 msgstr "long: %2u, type: %2u "
 
-#: vms-alpha.c:6870
+#: vms-alpha.c:6947
 #, c-format
 msgid "atomic, type=0x%02x %s\n"
 msgstr "atomique, type=0x%02x %s\n"
 
-#: vms-alpha.c:6874
+#: vms-alpha.c:6951
 #, c-format
 msgid "indirect, defined at 0x%08x\n"
 msgstr "indirect, dÃ©fini Ã  0x%08x\n"
 
-#: vms-alpha.c:6878
+#: vms-alpha.c:6955
 #, c-format
 msgid "typed pointer\n"
 msgstr "pointeur typÃ©\n"
 
-#: vms-alpha.c:6882
+#: vms-alpha.c:6959
 #, c-format
 msgid "pointer\n"
 msgstr "pointeur\n"
 
-#: vms-alpha.c:6890
+#: vms-alpha.c:6967
 #, c-format
 msgid "array, dim: %u, bitmap: "
 msgstr "tableau, dim: %u, bitmpa: "
 
-#: vms-alpha.c:6897
+#: vms-alpha.c:6974
 #, c-format
 msgid "array descriptor:\n"
 msgstr "descripteur de tableau:\n"
 
-#: vms-alpha.c:6904
+#: vms-alpha.c:6981
 #, c-format
 msgid "type spec for element:\n"
 msgstr "spec de type pour Ã©lÃ©ment:\n"
 
-#: vms-alpha.c:6906
+#: vms-alpha.c:6983
 #, c-format
 msgid "type spec for subscript %u:\n"
 msgstr "spec de type pour l'indice %u:\n"
 
-#: vms-alpha.c:6924
+#: vms-alpha.c:7001
 #, c-format
 msgid "Debug symbol table:\n"
 msgstr "Table des symboles de debug:\n"
 
-#: vms-alpha.c:6935
+#: vms-alpha.c:7012
 #, c-format
 msgid "cannot read DST header\n"
 msgstr "impossible de lire l'en-tÃªte DST\n"
 
-#: vms-alpha.c:6941
+#: vms-alpha.c:7018
 #, c-format
 msgid " type: %3u, len: %3u (at 0x%08x): "
 msgstr " type: %3u, long: %3u (Ã  0x%08x): "
 
-#: vms-alpha.c:6955
+#: vms-alpha.c:7032
 #, c-format
 msgid "cannot read DST symbol\n"
 msgstr "ne peut lire le symbole DST\n"
 
-#: vms-alpha.c:6998
+#: vms-alpha.c:7075
 #, c-format
 msgid "standard data: %s\n"
 msgstr "donnÃ©es standards: %s\n"
 
-#: vms-alpha.c:7001 vms-alpha.c:7089
+#: vms-alpha.c:7078 vms-alpha.c:7166
 #, c-format
 msgid "    name: %.*s\n"
 msgstr "    nom: %.*s\n"
 
-#: vms-alpha.c:7008
+#: vms-alpha.c:7085
 #, c-format
 msgid "modbeg\n"
 msgstr "dÃ©but module\n"
 
-#: vms-alpha.c:7010
+#: vms-alpha.c:7087
 #, c-format
 msgid "   flags: %d, language: %u, major: %u, minor: %u\n"
 msgstr "   fanions: %d, language: %u, majeur: %u, mineur: %u\n"
 
-#: vms-alpha.c:7016 vms-alpha.c:7290
+#: vms-alpha.c:7093 vms-alpha.c:7367
 #, c-format
 msgid "   module name: %.*s\n"
 msgstr "   nom du module: %.*s\n"
 
-#: vms-alpha.c:7019
+#: vms-alpha.c:7096
 #, c-format
 msgid "   compiler   : %.*s\n"
 msgstr "   compilateur  : %.*s\n"
 
-#: vms-alpha.c:7024
+#: vms-alpha.c:7101
 #, c-format
 msgid "modend\n"
 msgstr "fin module\n"
 
-#: vms-alpha.c:7031
+#: vms-alpha.c:7108
 msgid "rtnbeg\n"
 msgstr "dÃ©but rtn\n"
 
-#: vms-alpha.c:7033
+#: vms-alpha.c:7110
 #, c-format
 msgid "    flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
 msgstr "    fanions: %u, adresse: 0x%08x, pd-adresse: 0x%08x\n"
 
-#: vms-alpha.c:7038
+#: vms-alpha.c:7115
 #, c-format
 msgid "    routine name: %.*s\n"
 msgstr "    nom routine : %.*s\n"
 
-#: vms-alpha.c:7046
+#: vms-alpha.c:7123
 #, c-format
 msgid "rtnend: size 0x%08x\n"
 msgstr "fin rtn: taille 0x%08x\n"
 
-#: vms-alpha.c:7054
+#: vms-alpha.c:7131
 #, c-format
 msgid "prolog: bkpt address 0x%08x\n"
 msgstr "prologue: adresse bkpt 0x%08x\n"
 
-#: vms-alpha.c:7063
+#: vms-alpha.c:7140
 #, c-format
 msgid "epilog: flags: %u, count: %u\n"
 msgstr "Ã©pilogue: fanions: %u, nombre: %u\n"
 
-#: vms-alpha.c:7073
+#: vms-alpha.c:7150
 #, c-format
 msgid "blkbeg: address: 0x%08x, name: %.*s\n"
 msgstr "dÃ©but blk: adresse: 0x%08x, nom: %.*s\n"
 
-#: vms-alpha.c:7082
+#: vms-alpha.c:7159
 #, c-format
 msgid "blkend: size: 0x%08x\n"
 msgstr "fin blk: taille: 0x%08x\n"
 
-#: vms-alpha.c:7088
+#: vms-alpha.c:7165
 #, c-format
 msgid "typspec (len: %u)\n"
 msgstr "typspec (long: %u)\n"
 
-#: vms-alpha.c:7095
+#: vms-alpha.c:7172
 #, c-format
 msgid "septyp, name: %.*s\n"
 msgstr "septyp, nom: %.*s\n"
 
-#: vms-alpha.c:7104
+#: vms-alpha.c:7181
 #, c-format
 msgid "recbeg: name: %.*s\n"
 msgstr "dÃ©but rec: nom: %.*s\n"
 
-#: vms-alpha.c:7106
+#: vms-alpha.c:7183
 #, c-format
 msgid "    len: %u bits\n"
 msgstr "   long: %u bits\n"
 
-#: vms-alpha.c:7111
+#: vms-alpha.c:7188
 #, c-format
 msgid "recend\n"
 msgstr "fin rec\n"
 
-#: vms-alpha.c:7115
+#: vms-alpha.c:7192
 #, c-format
 msgid "enumbeg, len: %u, name: %.*s\n"
 msgstr "dÃ©but Ã©numÃ©ration, long: %u, nom: %.*s\n"
 
-#: vms-alpha.c:7119
+#: vms-alpha.c:7196
 #, c-format
 msgid "enumelt, name: %.*s\n"
 msgstr "Ã©numÃ©ration Ã©lÃ©ments, nom: %.*s\n"
 
-#: vms-alpha.c:7123
+#: vms-alpha.c:7200
 #, c-format
 msgid "enumend\n"
 msgstr "fin Ã©numÃ©ration\n"
 
-#: vms-alpha.c:7128
+#: vms-alpha.c:7205
 #, c-format
 msgid "label, name: %.*s\n"
 msgstr "Ã©tiquette, nom: %.*s\n"
 
-#: vms-alpha.c:7130
+#: vms-alpha.c:7207
 #, c-format
 msgid "    address: 0x%08x\n"
 msgstr "    adresse: 0x%08x\n"
 
-#: vms-alpha.c:7140
+#: vms-alpha.c:7217
 #, c-format
 msgid "discontiguous range (nbr: %u)\n"
 msgstr "plage discontinue (nbr: %u)\n"
 
-#: vms-alpha.c:7143
+#: vms-alpha.c:7220
 #, c-format
 msgid "    address: 0x%08x, size: %u\n"
 msgstr "    adresse: 0x%08x, taille: %u\n"
 
-#: vms-alpha.c:7153
+#: vms-alpha.c:7230
 #, c-format
 msgid "line num  (len: %u)\n"
 msgstr "num ligne  (long: %u)\n"
 
-#: vms-alpha.c:7170
+#: vms-alpha.c:7247
 #, c-format
 msgid "delta_pc_w %u\n"
 msgstr "delta_pc_w %u\n"
 
-#: vms-alpha.c:7177
+#: vms-alpha.c:7254
 #, c-format
 msgid "incr_linum(b): +%u\n"
 msgstr "incr_linum(b): +%u\n"
 
-#: vms-alpha.c:7183
+#: vms-alpha.c:7260
 #, c-format
 msgid "incr_linum_w: +%u\n"
 msgstr "incr_linum_w: +%u\n"
 
-#: vms-alpha.c:7189
+#: vms-alpha.c:7266
 #, c-format
 msgid "incr_linum_l: +%u\n"
 msgstr "incr_linum_l: +%u\n"
 
-#: vms-alpha.c:7195
+#: vms-alpha.c:7272
 #, c-format
 msgid "set_line_num(w) %u\n"
 msgstr "set_line_num(w) %u\n"
 
-#: vms-alpha.c:7200
+#: vms-alpha.c:7277
 #, c-format
 msgid "set_line_num_b %u\n"
 msgstr "set_line_num_b %u\n"
 
-#: vms-alpha.c:7205
+#: vms-alpha.c:7282
 #, c-format
 msgid "set_line_num_l %u\n"
 msgstr "set_line_num_l %u\n"
 
-#: vms-alpha.c:7210
+#: vms-alpha.c:7287
 #, c-format
 msgid "set_abs_pc: 0x%08x\n"
 msgstr "set_abs_pc: 0x%08x\n"
 
-#: vms-alpha.c:7214
+#: vms-alpha.c:7291
 #, c-format
 msgid "delta_pc_l: +0x%08x\n"
 msgstr "delta_pc_l: +0x%08x\n"
 
-#: vms-alpha.c:7219
+#: vms-alpha.c:7296
 #, c-format
 msgid "term(b): 0x%02x"
 msgstr "term(b): 0x%02x"
 
-#: vms-alpha.c:7221
+#: vms-alpha.c:7298
 #, c-format
 msgid "        pc: 0x%08x\n"
 msgstr "        pc: 0x%08x\n"
 
-#: vms-alpha.c:7226
+#: vms-alpha.c:7303
 #, c-format
 msgid "term_w: 0x%04x"
 msgstr "term_w: 0x%04x"
 
-#: vms-alpha.c:7228
+#: vms-alpha.c:7305
 #, c-format
 msgid "    pc: 0x%08x\n"
 msgstr "    pc: 0x%08x\n"
 
-#: vms-alpha.c:7234
+#: vms-alpha.c:7311
 #, c-format
 msgid "delta pc +%-4d"
 msgstr "delta pc +%-4d"
 
-#: vms-alpha.c:7238
+#: vms-alpha.c:7315
 #, c-format
 msgid "    pc: 0x%08x line: %5u\n"
 msgstr "    pc: 0x%08x ligne: %5u\n"
 
-#: vms-alpha.c:7243
+#: vms-alpha.c:7320
 #, c-format
 msgid "    *unhandled* cmd %u\n"
 msgstr "    cmd %u *non gÃ©rÃ©e*\n"
 
-#: vms-alpha.c:7258
+#: vms-alpha.c:7335
 #, c-format
 msgid "source (len: %u)\n"
 msgstr "source (long: %u)\n"
 
-#: vms-alpha.c:7273
+#: vms-alpha.c:7350
 #, c-format
 msgid "   declfile: len: %u, flags: %u, fileid: %u\n"
 msgstr "   declfile: long: %u, fanions: %u, id fichier: %u\n"
 
-#: vms-alpha.c:7278
+#: vms-alpha.c:7355
 #, c-format
 msgid "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 msgstr "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 
-#: vms-alpha.c:7287
+#: vms-alpha.c:7364
 #, c-format
 msgid "   filename   : %.*s\n"
 msgstr "   nom fichier: %.*s\n"
 
-#: vms-alpha.c:7296
+#: vms-alpha.c:7373
 #, c-format
 msgid "   setfile %u\n"
 msgstr "   setfile %u\n"
 
-#: vms-alpha.c:7301 vms-alpha.c:7306
+#: vms-alpha.c:7378 vms-alpha.c:7383
 #, c-format
 msgid "   setrec %u\n"
 msgstr "   setrec %u\n"
 
-#: vms-alpha.c:7311 vms-alpha.c:7316
+#: vms-alpha.c:7388 vms-alpha.c:7393
 #, c-format
 msgid "   setlnum %u\n"
 msgstr "   setlnum %u\n"
 
-#: vms-alpha.c:7321 vms-alpha.c:7326
+#: vms-alpha.c:7398 vms-alpha.c:7403
 #, c-format
 msgid "   deflines %u\n"
 msgstr "   deflines %u\n"
 
-#: vms-alpha.c:7330
+#: vms-alpha.c:7407
 #, c-format
 msgid "   formfeed\n"
 msgstr "   formfeed\n"
 
-#: vms-alpha.c:7334
+#: vms-alpha.c:7411
 #, c-format
 msgid "   *unhandled* cmd %u\n"
 msgstr "   cmd %u *non gÃ©rÃ©e*\n"
 
-#: vms-alpha.c:7346
+#: vms-alpha.c:7423
 #, c-format
 msgid "*unhandled* dst type %u\n"
 msgstr "type dst %u *non gÃ©rÃ©*\n"
 
-#: vms-alpha.c:7378
+#: vms-alpha.c:7455
 #, c-format
 msgid "cannot read EIHD\n"
 msgstr "ne peut lire EIHD\n"
 
-#: vms-alpha.c:7382
+#: vms-alpha.c:7459
 #, c-format
 msgid "EIHD: (size: %u, nbr blocks: %u)\n"
 msgstr "EIHD: (taille: %u, nbr blocs: %u)\n"
 
-#: vms-alpha.c:7386
+#: vms-alpha.c:7463
 #, c-format
 msgid " majorid: %u, minorid: %u\n"
 msgstr " id majeur: %u, id mineur: %u\n"
 
-#: vms-alpha.c:7394
+#: vms-alpha.c:7471
 msgid "executable"
 msgstr "exÃ©cutable"
 
-#: vms-alpha.c:7397
+#: vms-alpha.c:7474
 msgid "linkable image"
 msgstr "image liable"
 
-#: vms-alpha.c:7404
+#: vms-alpha.c:7481
 #, c-format
 msgid " image type: %u (%s)"
 msgstr " type image: %u (%s)"
 
-#: vms-alpha.c:7410
+#: vms-alpha.c:7487
 msgid "native"
 msgstr "natif"
 
-#: vms-alpha.c:7413
+#: vms-alpha.c:7490
 msgid "CLI"
 msgstr "CLI"
 
-#: vms-alpha.c:7420
+#: vms-alpha.c:7497
 #, c-format
 msgid ", subtype: %u (%s)\n"
 msgstr ", sous-type: %u (%s)\n"
 
-#: vms-alpha.c:7427
+#: vms-alpha.c:7504
 #, c-format
 msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
 msgstr " offsets: isd: %u, actif: %u, debug symbol: %u, id image: %u, patch: %u\n"
 
-#: vms-alpha.c:7431
+#: vms-alpha.c:7508
 #, c-format
 msgid " fixup info rva: "
 msgstr " correctif info rva: "
 
-#: vms-alpha.c:7433
+#: vms-alpha.c:7510
 #, c-format
 msgid ", symbol vector rva: "
 msgstr ", vecteur de symbol rva: "
 
-#: vms-alpha.c:7436
+#: vms-alpha.c:7513
 #, c-format
 msgid ""
 "\n"
@@ -7399,460 +7533,460 @@ msgstr ""
 "\n"
 " offset tableau version: %u\n"
 
-#: vms-alpha.c:7441
+#: vms-alpha.c:7518
 #, c-format
 msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
 msgstr " dÃ©compte E/S img: %u, nbr canaux: %u, priv req: %08x%08x\n"
 
-#: vms-alpha.c:7447
+#: vms-alpha.c:7524
 #, c-format
 msgid " linker flags: %08x:"
 msgstr " fanions lieur: %08x:"
 
-#: vms-alpha.c:7478
+#: vms-alpha.c:7555
 #, c-format
 msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
 msgstr " ident: 0x%08x, ver sys: 0x%08x, apparier ctrl: %u, taille vectsym: %u\n"
 
-#: vms-alpha.c:7484
+#: vms-alpha.c:7561
 #, c-format
 msgid " BPAGE: %u"
 msgstr " BPAGE: %u"
 
-#: vms-alpha.c:7491
+#: vms-alpha.c:7568
 #, c-format
 msgid ", ext fixup offset: %u, no_opt psect off: %u"
 msgstr ", offset correctif Ã©tendu: %u, offset no_opt psect: %u"
 
-#: vms-alpha.c:7494
+#: vms-alpha.c:7571
 #, c-format
 msgid ", alias: %u\n"
 msgstr ", alias: %u\n"
 
-#: vms-alpha.c:7502
+#: vms-alpha.c:7579
 #, c-format
 msgid "system version array information:\n"
 msgstr "information sur table de version systÃ¨me:\n"
 
-#: vms-alpha.c:7506
+#: vms-alpha.c:7583
 #, c-format
 msgid "cannot read EIHVN header\n"
 msgstr "ne peut lire l'en-tÃªte EIHVN\n"
 
-#: vms-alpha.c:7516
+#: vms-alpha.c:7593
 #, c-format
 msgid "cannot read EIHVN version\n"
 msgstr "ne peut lire la version EIHVN\n"
 
-#: vms-alpha.c:7519
+#: vms-alpha.c:7596
 #, c-format
 msgid "   %02u "
 msgstr "   %02u "
 
-#: vms-alpha.c:7523
+#: vms-alpha.c:7600
 msgid "BASE_IMAGE       "
 msgstr "BASE_IMAGE       "
 
-#: vms-alpha.c:7526
+#: vms-alpha.c:7603
 msgid "MEMORY_MANAGEMENT"
 msgstr "MEMORY_MANAGEMENT"
 
-#: vms-alpha.c:7529
+#: vms-alpha.c:7606
 msgid "IO               "
 msgstr "IO               "
 
-#: vms-alpha.c:7532
+#: vms-alpha.c:7609
 msgid "FILES_VOLUMES    "
 msgstr "FILES_VOLUMES    "
 
-#: vms-alpha.c:7535
+#: vms-alpha.c:7612
 msgid "PROCESS_SCHED    "
 msgstr "PROCESS_SCHED    "
 
-#: vms-alpha.c:7538
+#: vms-alpha.c:7615
 msgid "SYSGEN           "
 msgstr "SYSGEN           "
 
-#: vms-alpha.c:7541
+#: vms-alpha.c:7618
 msgid "CLUSTERS_LOCKMGR "
 msgstr "CLUSTERS_LOCKMGR "
 
-#: vms-alpha.c:7544
+#: vms-alpha.c:7621
 msgid "LOGICAL_NAMES    "
 msgstr "LOGICAL_NAMES    "
 
-#: vms-alpha.c:7547
+#: vms-alpha.c:7624
 msgid "SECURITY         "
 msgstr "SECURITY         "
 
-#: vms-alpha.c:7550
+#: vms-alpha.c:7627
 msgid "IMAGE_ACTIVATOR  "
 msgstr "IMAGE_ACTIVATOR  "
 
-#: vms-alpha.c:7553
+#: vms-alpha.c:7630
 msgid "NETWORKS         "
 msgstr "NETWORKS         "
 
-#: vms-alpha.c:7556
+#: vms-alpha.c:7633
 msgid "COUNTERS         "
 msgstr "COUNTERS         "
 
-#: vms-alpha.c:7559
+#: vms-alpha.c:7636
 msgid "STABLE           "
 msgstr "STABLE           "
 
-#: vms-alpha.c:7562
+#: vms-alpha.c:7639
 msgid "MISC             "
 msgstr "MISC             "
 
-#: vms-alpha.c:7565
+#: vms-alpha.c:7642
 msgid "CPU              "
 msgstr "CPU              "
 
-#: vms-alpha.c:7568
+#: vms-alpha.c:7645
 msgid "VOLATILE         "
 msgstr "VOLATILE         "
 
-#: vms-alpha.c:7571
+#: vms-alpha.c:7648
 msgid "SHELL            "
 msgstr "SHELL            "
 
-#: vms-alpha.c:7574
+#: vms-alpha.c:7651
 msgid "POSIX            "
 msgstr "POSIX            "
 
-#: vms-alpha.c:7577
+#: vms-alpha.c:7654
 msgid "MULTI_PROCESSING "
 msgstr "MULTI_PROCESSING "
 
-#: vms-alpha.c:7580
+#: vms-alpha.c:7657
 msgid "GALAXY           "
 msgstr "GALAXY           "
 
-#: vms-alpha.c:7583
+#: vms-alpha.c:7660
 msgid "*unknown*        "
 msgstr "*inconnu*        "
 
-#: vms-alpha.c:7599 vms-alpha.c:7874
+#: vms-alpha.c:7676 vms-alpha.c:7951
 #, c-format
 msgid "cannot read EIHA\n"
 msgstr "ne peut lire EIHA\n"
 
-#: vms-alpha.c:7602
+#: vms-alpha.c:7679
 #, c-format
 msgid "Image activation:  (size=%u)\n"
 msgstr "Activation de l'image:  (taille=%u)\n"
 
-#: vms-alpha.c:7605
+#: vms-alpha.c:7682
 #, c-format
 msgid " First address : 0x%08x 0x%08x\n"
 msgstr " PremiÃ¨re adresse : 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7609
+#: vms-alpha.c:7686
 #, c-format
 msgid " Second address: 0x%08x 0x%08x\n"
 msgstr " DeuxiÃ¨me adresse : 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7613
+#: vms-alpha.c:7690
 #, c-format
 msgid " Third address : 0x%08x 0x%08x\n"
 msgstr " TroisiÃ¨me adresse: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7617
+#: vms-alpha.c:7694
 #, c-format
 msgid " Fourth address: 0x%08x 0x%08x\n"
 msgstr " QuatriÃ¨me adresse: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7621
+#: vms-alpha.c:7698
 #, c-format
 msgid " Shared image  : 0x%08x 0x%08x\n"
 msgstr " Image partagÃ©e   : 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7632
+#: vms-alpha.c:7709
 #, c-format
 msgid "cannot read EIHI\n"
 msgstr "ne peut lire EIHI\n"
 
-#: vms-alpha.c:7636
+#: vms-alpha.c:7713
 #, c-format
 msgid "Image identification: (major: %u, minor: %u)\n"
 msgstr "Identification d'image: (majeur: %u, mineur: %u)\n"
 
-#: vms-alpha.c:7639
+#: vms-alpha.c:7716
 #, c-format
 msgid " image name       : %.*s\n"
 msgstr " nom de l'image    : %.*s\n"
 
-#: vms-alpha.c:7641
+#: vms-alpha.c:7718
 #, c-format
 msgid " link time        : %s\n"
 msgstr " heure de liaison  : %s\n"
 
-#: vms-alpha.c:7643
+#: vms-alpha.c:7720
 #, c-format
 msgid " image ident      : %.*s\n"
 msgstr " ident image       : %.*s\n"
 
-#: vms-alpha.c:7645
+#: vms-alpha.c:7722
 #, c-format
 msgid " linker ident     : %.*s\n"
 msgstr " ident lieur       : %.*s\n"
 
-#: vms-alpha.c:7647
+#: vms-alpha.c:7724
 #, c-format
 msgid " image build ident: %.*s\n"
 msgstr " ident construction image: %.*s\n"
 
-#: vms-alpha.c:7657
+#: vms-alpha.c:7734
 #, c-format
 msgid "cannot read EIHS\n"
 msgstr "ne peut lire EIHS\n"
 
-#: vms-alpha.c:7661
+#: vms-alpha.c:7738
 #, c-format
 msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
 msgstr "Image des symboles et table debug: (majeur: %u, mineur: %u)\n"
 
-#: vms-alpha.c:7667
+#: vms-alpha.c:7744
 #, c-format
 msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
 msgstr " table des symboles de debug : vbn: %u, taille: %u (0x%x)\n"
 
-#: vms-alpha.c:7672
+#: vms-alpha.c:7749
 #, c-format
 msgid " global symbol table: vbn: %u, records: %u\n"
 msgstr " table des symboles globale: vbn: %u, enregistrements: %u\n"
 
-#: vms-alpha.c:7677
+#: vms-alpha.c:7754
 #, c-format
 msgid " debug module table : vbn: %u, size: %u\n"
 msgstr " table des modules de debug: vbn: %u, taille: %u\n"
 
-#: vms-alpha.c:7690
+#: vms-alpha.c:7767
 #, c-format
 msgid "cannot read EISD\n"
 msgstr "ne peut lire EISD\n"
 
-#: vms-alpha.c:7701
+#: vms-alpha.c:7778
 #, c-format
 msgid "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
 msgstr "Descripteur de section d'image: (majeur: %u, mineur: %u, taille: %u, offset: %u)\n"
 
-#: vms-alpha.c:7709
+#: vms-alpha.c:7786
 #, c-format
 msgid " section: base: 0x%08x%08x size: 0x%08x\n"
 msgstr " section: base: 0x%08x%08x taille: 0x%08x\n"
 
-#: vms-alpha.c:7714
+#: vms-alpha.c:7791
 #, c-format
 msgid " flags: 0x%04x"
 msgstr " fanions: 0x%04x"
 
-#: vms-alpha.c:7752
+#: vms-alpha.c:7829
 #, c-format
 msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
 msgstr " vbn: %u, pfc: %u, matchctl: %u type: %u ("
 
-#: vms-alpha.c:7758
+#: vms-alpha.c:7835
 msgid "NORMAL"
 msgstr "NORMAL"
 
-#: vms-alpha.c:7761
+#: vms-alpha.c:7838
 msgid "SHRFXD"
 msgstr "SHRFXD"
 
-#: vms-alpha.c:7764
+#: vms-alpha.c:7841
 msgid "PRVFXD"
 msgstr "PRVFXD"
 
-#: vms-alpha.c:7767
+#: vms-alpha.c:7844
 msgid "SHRPIC"
 msgstr "SHRPIC"
 
-#: vms-alpha.c:7770
+#: vms-alpha.c:7847
 msgid "PRVPIC"
 msgstr "PRVPIC"
 
-#: vms-alpha.c:7773
+#: vms-alpha.c:7850
 msgid "USRSTACK"
 msgstr "USRSTACK"
 
-#: vms-alpha.c:7779
+#: vms-alpha.c:7856
 msgid ")\n"
 msgstr ")\n"
 
-#: vms-alpha.c:7782
+#: vms-alpha.c:7859
 #, c-format
 msgid " ident: 0x%08x, name: %.*s\n"
 msgstr " ident: 0x%08x, nom: %.*s\n"
 
-#: vms-alpha.c:7792
+#: vms-alpha.c:7869
 #, c-format
 msgid "cannot read DMT\n"
 msgstr "ne peut lire DMT\n"
 
-#: vms-alpha.c:7796
+#: vms-alpha.c:7873
 #, c-format
 msgid "Debug module table:\n"
 msgstr "Table de debug du module:\n"
 
-#: vms-alpha.c:7805
+#: vms-alpha.c:7882
 #, c-format
 msgid "cannot read DMT header\n"
 msgstr "ne peut lire l'en-tÃªte DMT\n"
 
-#: vms-alpha.c:7811
+#: vms-alpha.c:7888
 #, c-format
 msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
 msgstr " offset du module: 0x%08x, taille: 0x%08x, (%u psects)\n"
 
-#: vms-alpha.c:7821
+#: vms-alpha.c:7898
 #, c-format
 msgid "cannot read DMT psect\n"
 msgstr "ne peut lire le psect DMT\n"
 
-#: vms-alpha.c:7825
+#: vms-alpha.c:7902
 #, c-format
 msgid "  psect start: 0x%08x, length: %u\n"
 msgstr "  dÃ©but psect: 0x%08x, longueur: %u\n"
 
-#: vms-alpha.c:7838
+#: vms-alpha.c:7915
 #, c-format
 msgid "cannot read DST\n"
 msgstr "ne peut lire DST\n"
 
-#: vms-alpha.c:7848
+#: vms-alpha.c:7925
 #, c-format
 msgid "cannot read GST\n"
 msgstr "ne peut lire GST\n"
 
-#: vms-alpha.c:7852
+#: vms-alpha.c:7929
 #, c-format
 msgid "Global symbol table:\n"
 msgstr "Table des symboles globaux:\n"
 
-#: vms-alpha.c:7881
+#: vms-alpha.c:7958
 #, c-format
 msgid "Image activator fixup: (major: %u, minor: %u)\n"
 msgstr "Correction de l'activateur de l'image: (majeur: %u, mineur: %u)\n"
 
-#: vms-alpha.c:7885
+#: vms-alpha.c:7962
 #, c-format
 msgid "  iaflink : 0x%08x %08x\n"
 msgstr "  lien iaf : 0x%08x %08x\n"
 
-#: vms-alpha.c:7889
+#: vms-alpha.c:7966
 #, c-format
 msgid "  fixuplnk: 0x%08x %08x\n"
 msgstr "  lien correctif: 0x%08x %08x\n"
 
-#: vms-alpha.c:7892
+#: vms-alpha.c:7969
 #, c-format
 msgid "  size : %u\n"
 msgstr "  taille : %u\n"
 
-#: vms-alpha.c:7894
+#: vms-alpha.c:7971
 #, c-format
 msgid "  flags: 0x%08x\n"
 msgstr "  fanions: 0x%08x\n"
 
-#: vms-alpha.c:7899
+#: vms-alpha.c:7976
 #, c-format
 msgid "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 msgstr "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 
-#: vms-alpha.c:7904
+#: vms-alpha.c:7981
 #, c-format
 msgid "  qdotadroff: %5u, ldotadroff: %5u\n"
 msgstr "  qdotadroff: %5u, ldotadroff: %5u\n"
 
-#: vms-alpha.c:7909
+#: vms-alpha.c:7986
 #, c-format
 msgid "  codeadroff: %5u, lpfixoff  : %5u\n"
 msgstr "  codeadroff: %5u, lpfixoff  : %5u\n"
 
-#: vms-alpha.c:7912
+#: vms-alpha.c:7989
 #, c-format
 msgid "  chgprtoff : %5u\n"
 msgstr "  chgprtoff : %5u\n"
 
-#: vms-alpha.c:7916
+#: vms-alpha.c:7993
 #, c-format
 msgid "  shlstoff  : %5u, shrimgcnt : %5u\n"
 msgstr "  shlstoff  : %5u, shrimgcnt : %5u\n"
 
-#: vms-alpha.c:7919
+#: vms-alpha.c:7996
 #, c-format
 msgid "  shlextra  : %5u, permctx   : %5u\n"
 msgstr "  shlextra  : %5u, permctx   : %5u\n"
 
-#: vms-alpha.c:7922
+#: vms-alpha.c:7999
 #, c-format
 msgid "  base_va : 0x%08x\n"
 msgstr "  base_va : 0x%08x\n"
 
-#: vms-alpha.c:7924
+#: vms-alpha.c:8001
 #, c-format
 msgid "  lppsbfixoff: %5u\n"
 msgstr "  lppsbfixoff: %5u\n"
 
-#: vms-alpha.c:7932
+#: vms-alpha.c:8009
 #, c-format
 msgid " Shareable images:\n"
 msgstr " Images partageables:\n"
 
-#: vms-alpha.c:7937
+#: vms-alpha.c:8014
 #, c-format
 msgid "  %u: size: %u, flags: 0x%02x, name: %.*s\n"
 msgstr "  %u: taille: %u, fanions: 0x%02x, nom: %.*s\n"
 
-#: vms-alpha.c:7944
+#: vms-alpha.c:8021
 #, c-format
 msgid " quad-word relocation fixups:\n"
 msgstr " correctifs du rÃ©adressage des quad-mots:\n"
 
-#: vms-alpha.c:7949
+#: vms-alpha.c:8026
 #, c-format
 msgid " long-word relocation fixups:\n"
 msgstr " correctifs du rÃ©adressage des mots longs:\n"
 
-#: vms-alpha.c:7954
+#: vms-alpha.c:8031
 #, c-format
 msgid " quad-word .address reference fixups:\n"
 msgstr " correctifs des rÃ©fÃ©rences quad-mots Â«Â .addressÂ Â»:\n"
 
-#: vms-alpha.c:7959
+#: vms-alpha.c:8036
 #, c-format
 msgid " long-word .address reference fixups:\n"
 msgstr " correctifs des rÃ©fÃ©rences mots longs Â«Â .addressÂ Â»:\n"
 
-#: vms-alpha.c:7964
+#: vms-alpha.c:8041
 #, c-format
 msgid " Code Address Reference Fixups:\n"
 msgstr " Correctifs des rÃ©fÃ©rences des adresses de code:\n"
 
-#: vms-alpha.c:7969
+#: vms-alpha.c:8046
 #, c-format
 msgid " Linkage Pairs Reference Fixups:\n"
 msgstr " Correctifs des rÃ©fÃ©rences des paires de liaison:\n"
 
-#: vms-alpha.c:7978
+#: vms-alpha.c:8055
 #, c-format
 msgid " Change Protection (%u entries):\n"
 msgstr " Changement de protection (%u entrÃ©es):\n"
 
-#: vms-alpha.c:7984
+#: vms-alpha.c:8061
 #, c-format
 msgid "  base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
 msgstr "  base: 0x%08x %08x, taille: 0x%08x, prot: 0x%08x "
 
 #. FIXME: we do not yet support relocatable link.  It is not obvious
 #. how to do it for debug infos.
-#: vms-alpha.c:8824
+#: vms-alpha.c:8901
 msgid "%P: relocatable link is not supported\n"
 msgstr "%P: lien relocalisable pas supportÃ©\n"
 
-#: vms-alpha.c:8895
+#: vms-alpha.c:8972
 #, c-format
 msgid "%P: multiple entry points: in modules %B and %B\n"
 msgstr "%P: points d'entrÃ©e multiples: dans les modules %B et %B\n"
@@ -7895,13 +8029,13 @@ msgstr "%B: symbole Â«Â %sÂ Â» a un type
 
 #: xcofflink.c:1502
 #, c-format
-msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"
-msgstr "%B: symbole XTY_ER Â«Â %sÂ Â» erronÃ©: classe %d scnum %d scnlen %d"
+msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld"
+msgstr "%B: symbole XTY_ER Â«Â %sÂ Â» erronÃ©: classe %d scnum %d scnlen %Ld"
 
 #: xcofflink.c:1532
 #, c-format
-msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d"
-msgstr "%B: XMC_TC0 symbol Â«Â %sÂ Â» est la classe %d scnlen %d"
+msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld"
+msgstr "%B: XMC_TC0 symbol Â«Â %sÂ Â» est la classe %d scnlen %Ld"
 
 #: xcofflink.c:1679
 #, c-format
@@ -7915,8 +8049,8 @@ msgstr "%B: XTY_LD Â«Â %sÂ Â» mal placÃ©
 
 #: xcofflink.c:2108
 #, c-format
-msgid "%B: reloc %s:%d not in csect"
-msgstr "%B: rÃ©adressage %s:%d n'est pas dans csect"
+msgid "%B: reloc %s:%Ld not in csect"
+msgstr "%B: le rÃ©adressage %s:%Ld n'est pas dans csect"
 
 #: xcofflink.c:3198
 #, c-format
@@ -7949,41 +8083,46 @@ msgstr "%B: chargeur de rÃ©adressages da
 
 #: xcofflink.c:5115
 #, c-format
-msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
-msgstr "DÃ©bordement de la table des entrÃ©es: 0x%lx > 0x10000; essayez l'option -mminimal-toc Ã  la compilation"
+msgid "TOC overflow: %#Lx > 0x10000; try -mminimal-toc when compiling"
+msgstr "DÃ©bordement de la table des entrÃ©es: %#Lx > 0x10000; essayez l'option -mminimal-toc Ã  la compilation"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:1890
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:1890
 #, c-format
 msgid "Invalid AArch64 reloc number: %d"
 msgstr "NumÃ©ro de rÃ©adressage AArch64 invalide: %d"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:4777
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:4779
 msgid "%B: error: Erratum 835769 stub out of range (input file too large)"
 msgstr "%B: erreur: L'Ã©bauche d'erratum du 835769 est hors limite (fichier d'entrÃ©e trop grand)"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:4858
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:4860
 msgid "%B: error: Erratum 843419 stub out of range (input file too large)"
 msgstr "%B: erreur: L'Ã©bauche d'erratum du 843419 est hors limite (fichier d'entrÃ©e trop grand)"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5340
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5366
 #, c-format
 msgid "%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC"
 msgstr "%B: rÃ©adressage de %s en vertu du symbol Â«Â %sÂ Â» qui peut Ãªtre liÃ© avec l'extÃ©rieur ne peut Ãªtre utilisÃ© lors de la crÃ©ation d'un objet partagÃ©; recompilez avec -fPIC"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5431
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5457
 #, c-format
 msgid "%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol"
 msgstr "%B: La table des descripteurs de symboles locaux peut Ãªtre NULL en application le rÃ©adressage %s sur un symbole local"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6459
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6479
 msgid "Too many GOT entries for -fpic, please recompile with -fPIC"
 msgstr "Trop d'entrÃ©es GOT pour -fpic, recompilez avec -fPIC"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6487
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6507
 msgid "One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined."
 msgstr "Une cause possible pour cette erreur est que le symbole est rÃ©fÃ©rencÃ© dans le code indiquÃ© comme si il avait un alignement plus grand que celui qui a Ã©tÃ© dÃ©clarÃ© lors de sa dÃ©finition."
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2600
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7084
+#, c-format
+msgid "%B: relocation %s against `%s' can not be used when making a shared object"
+msgstr "%B: le rÃ©adressage %s vers Â«Â %sÂ Â» ne peut pas Ãªtre utilisÃ© en crÃ©ant un objet partagÃ©"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2570
 msgid ""
 "%B: ABI is incompatible with that of the selected emulation:\n"
 "  target emulation `%s' does not match `%s'"
@@ -7991,10 +8130,18 @@ msgstr ""
 "%B: l'ABI est incompatible avec celle de l'Ã©mulation sÃ©lectionnÃ©e:\n"
 "  l'Ã©mulation de la cible Â«Â %sÂ Â» ne correspond pas Ã  Â«Â %sÂ Â»"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2620
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2590
 msgid "%B: can't link hard-float modules with soft-float modules"
 msgstr "%B: impossible de lier des modules utilisant des flottants matÃ©riels avec des modules utilisant des flottants logiciels"
 
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:3070
+msgid "%B(%A+0x%lx): %d bytes required for alignment to %d-byte boundary, but only %d present"
+msgstr "%B(%A+0x%lx: %d octets requis pour aligner sur une frontiÃ¨re de %d octets mais seulement %d sont prÃ©sents"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:3136
+msgid "%B(%A+0x%lx): Unable to clear RISCV_PCREL_HI20 relocfor cooresponding RISCV_PCREL_LO12 reloc"
+msgstr "%B(%A+0x%lx): Impossible d'effacer le rÃ©adressage RISCV_PCREL_HI20 pour le rÃ©adressage RISCV_PCREL_LO12 correspondant"
+
 #: peigen.c:157 pepigen.c:157 pex64igen.c:157
 msgid "%B: unable to find name for empty section"
 msgstr "%B: impossible de trouver le nom pour une section vide"
@@ -8008,8 +8155,8 @@ msgid "%B: unable to create fake empty s
 msgstr "%B: impossible de crÃ©er une section vide factice"
 
 #: peigen.c:532 pepigen.c:532 pex64igen.c:532
-msgid "%B: aout header specifies an invalid number of data-directory entries: %d"
-msgstr "%B: l'en-tÃªte aout spÃ©cifie un nombre invalide d'entrÃ©es de rÃ©pertoire de donnÃ©es: %d"
+msgid "%B: aout header specifies an invalid number of data-directory entries: %ld"
+msgstr "%B: l'en-tÃªte aout spÃ©cifie un nombre invalide d'entrÃ©es de rÃ©pertoire de donnÃ©es: %ld"
 
 #: peigen.c:1089 pepigen.c:1089 pex64igen.c:1089
 #, c-format
@@ -8171,13 +8318,13 @@ msgstr ""
 "\n"
 "Il y a un premier Â«Â thunkÂ Â», mais la section le contenant ne peut Ãªtre repÃ©rÃ©e\n"
 
-#: peigen.c:1518 peigen.c:1556 pepigen.c:1518 pepigen.c:1556 pex64igen.c:1518
-#: pex64igen.c:1556
+#: peigen.c:1518 peigen.c:1557 pepigen.c:1518 pepigen.c:1557 pex64igen.c:1518
+#: pex64igen.c:1557
 #, c-format
 msgid "\t<corrupt: 0x%04lx>"
 msgstr "\t<corrompu: 0x%04lx>"
 
-#: peigen.c:1649 pepigen.c:1649 pex64igen.c:1649
+#: peigen.c:1650 pepigen.c:1650 pex64igen.c:1650
 #, c-format
 msgid ""
 "\n"
@@ -8186,7 +8333,7 @@ msgstr ""
 "\n"
 "Il y a une table d'exportation, mais la section la contenant n'a pu Ãªtre repÃ©rÃ©e\n"
 
-#: peigen.c:1655 pepigen.c:1655 pex64igen.c:1655
+#: peigen.c:1656 pepigen.c:1656 pex64igen.c:1656
 #, c-format
 msgid ""
 "\n"
@@ -8195,7 +8342,7 @@ msgstr ""
 "\n"
 "Il y a une table d'exportation dans %s, mais cette section n'a pas de contenu\n"
 
-#: peigen.c:1665 pepigen.c:1665 pex64igen.c:1665
+#: peigen.c:1666 pepigen.c:1666 pex64igen.c:1666
 #, c-format
 msgid ""
 "\n"
@@ -8204,7 +8351,7 @@ msgstr ""
 "\n"
 "Il y a une table d'exportation dans %s, mais elle ne rentre pas dans la section\n"
 
-#: peigen.c:1676 pepigen.c:1676 pex64igen.c:1676
+#: peigen.c:1677 pepigen.c:1677 pex64igen.c:1677
 #, c-format
 msgid ""
 "\n"
@@ -8213,7 +8360,7 @@ msgstr ""
 "\n"
 "Il y a une table d'exportation dans %s, mais elle est trop petite (%d)\n"
 
-#: peigen.c:1682 pepigen.c:1682 pex64igen.c:1682
+#: peigen.c:1683 pepigen.c:1683 pex64igen.c:1683
 #, c-format
 msgid ""
 "\n"
@@ -8222,7 +8369,7 @@ msgstr ""
 "\n"
 "Il y a une table d'exportation dans %s Ã  0x%lx\n"
 
-#: peigen.c:1710 pepigen.c:1710 pex64igen.c:1710
+#: peigen.c:1711 pepigen.c:1711 pex64igen.c:1711
 #, c-format
 msgid ""
 "\n"
@@ -8233,67 +8380,67 @@ msgstr ""
 "Les tables d'exportation (contenus interprÃ©tÃ© de la section %s)\n"
 "\n"
 
-#: peigen.c:1714 pepigen.c:1714 pex64igen.c:1714
+#: peigen.c:1715 pepigen.c:1715 pex64igen.c:1715
 #, c-format
 msgid "Export Flags \t\t\t%lx\n"
 msgstr "Fanion d'exportation \t\t\t%lx\n"
 
-#: peigen.c:1717 pepigen.c:1717 pex64igen.c:1717
+#: peigen.c:1718 pepigen.c:1718 pex64igen.c:1718
 #, c-format
 msgid "Time/Date stamp \t\t%lx\n"
 msgstr "Tampon Heure/Date \t\t%lx\n"
 
-#: peigen.c:1721 pepigen.c:1721 pex64igen.c:1721
+#: peigen.c:1722 pepigen.c:1722 pex64igen.c:1722
 #, c-format
 msgid "Major/Minor \t\t\t%d/%d\n"
 msgstr "Majeur/Mineur \t\t\t%d/%d\n"
 
-#: peigen.c:1724 pepigen.c:1724 pex64igen.c:1724
+#: peigen.c:1725 pepigen.c:1725 pex64igen.c:1725
 #, c-format
 msgid "Name \t\t\t\t"
 msgstr "Nom \t\t\t\t"
 
-#: peigen.c:1735 pepigen.c:1735 pex64igen.c:1735
+#: peigen.c:1736 pepigen.c:1736 pex64igen.c:1736
 #, c-format
 msgid "Ordinal Base \t\t\t%ld\n"
 msgstr "base de nombre ordinal \t\t\t%ld\n"
 
-#: peigen.c:1738 pepigen.c:1738 pex64igen.c:1738
+#: peigen.c:1739 pepigen.c:1739 pex64igen.c:1739
 #, c-format
 msgid "Number in:\n"
 msgstr "NumÃ©ro dans:\n"
 
-#: peigen.c:1741 pepigen.c:1741 pex64igen.c:1741
+#: peigen.c:1742 pepigen.c:1742 pex64igen.c:1742
 #, c-format
 msgid "\tExport Address Table \t\t%08lx\n"
 msgstr "\tTable d'adresses d'exportation \t\t%08lx\n"
 
-#: peigen.c:1745 pepigen.c:1745 pex64igen.c:1745
+#: peigen.c:1746 pepigen.c:1746 pex64igen.c:1746
 #, c-format
 msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
 msgstr "\tTable [Nom pointeur/Nombre ordinal]\t%08lx\n"
 
-#: peigen.c:1748 pepigen.c:1748 pex64igen.c:1748
+#: peigen.c:1749 pepigen.c:1749 pex64igen.c:1749
 #, c-format
 msgid "Table Addresses\n"
 msgstr "Table d'adresses\n"
 
-#: peigen.c:1751 pepigen.c:1751 pex64igen.c:1751
+#: peigen.c:1752 pepigen.c:1752 pex64igen.c:1752
 #, c-format
 msgid "\tExport Address Table \t\t"
 msgstr "\tTable d'adresse d'exportation \t\t"
 
-#: peigen.c:1756 pepigen.c:1756 pex64igen.c:1756
+#: peigen.c:1757 pepigen.c:1757 pex64igen.c:1757
 #, c-format
 msgid "\tName Pointer Table \t\t"
 msgstr "\tTable des noms de pointeurs \t\t"
 
-#: peigen.c:1761 pepigen.c:1761 pex64igen.c:1761
+#: peigen.c:1762 pepigen.c:1762 pex64igen.c:1762
 #, c-format
 msgid "\tOrdinal Table \t\t\t"
 msgstr "\tTable des ordinals \t\t\t"
 
-#: peigen.c:1775 pepigen.c:1775 pex64igen.c:1775
+#: peigen.c:1776 pepigen.c:1776 pex64igen.c:1776
 #, c-format
 msgid ""
 "\n"
@@ -8302,20 +8449,20 @@ msgstr ""
 "\n"
 "Table d'adresses d'exportation -- base de nombre ordinal %ld\n"
 
-#: peigen.c:1784 pepigen.c:1784 pex64igen.c:1784
+#: peigen.c:1785 pepigen.c:1785 pex64igen.c:1785
 #, c-format
 msgid "\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"
 msgstr "\tL'adresse virtuelle relative de la table des adresses exportÃ©es (0x%lx) ou le nombre d'entrÃ©es (0x%lx) est invalide\n"
 
-#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
+#: peigen.c:1804 pepigen.c:1804 pex64igen.c:1804
 msgid "Forwarder RVA"
 msgstr "Adresseur RVA"
 
-#: peigen.c:1815 pepigen.c:1815 pex64igen.c:1815
+#: peigen.c:1816 pepigen.c:1816 pex64igen.c:1816
 msgid "Export RVA"
 msgstr "Exportation RVA"
 
-#: peigen.c:1822 pepigen.c:1822 pex64igen.c:1822
+#: peigen.c:1823 pepigen.c:1823 pex64igen.c:1823
 #, c-format
 msgid ""
 "\n"
@@ -8324,29 +8471,29 @@ msgstr ""
 "\n"
 "Table [Ordinal/Nom de pointeur]\n"
 
-#: peigen.c:1830 pepigen.c:1830 pex64igen.c:1830
+#: peigen.c:1831 pepigen.c:1831 pex64igen.c:1831
 #, c-format
 msgid "\tInvalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)\n"
 msgstr "\tAdresse virtuelle relative de la table des pointeurs de noms (0x%lx) ou nombre d'entrÃ©es (0x%lx) invalide\n"
 
-#: peigen.c:1837 pepigen.c:1837 pex64igen.c:1837
+#: peigen.c:1838 pepigen.c:1838 pex64igen.c:1838
 #, c-format
 msgid "\tInvalid Ordinal Table rva (0x%lx) or entry count (0x%lx)\n"
 msgstr "\tAdresse virtuelle relative de la table ordinale (0x%lx) ou nombre d'entrÃ©es (0x%lx) invalide\n"
 
-#: peigen.c:1851 pepigen.c:1851 pex64igen.c:1851
+#: peigen.c:1852 pepigen.c:1852 pex64igen.c:1852
 #, c-format
 msgid "\t[%4ld] <corrupt offset: %lx>\n"
 msgstr "\t[%4ld] <offset corrompu: %lx>\n"
 
-#: peigen.c:1905 peigen.c:2102 pepigen.c:1905 pepigen.c:2102 pex64igen.c:1905
-#: pex64igen.c:2102
+#: peigen.c:1906 peigen.c:2103 pepigen.c:1906 pepigen.c:2103 pex64igen.c:1906
+#: pex64igen.c:2103
 #, c-format
 msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
 msgstr "Attention, taille de la section .pdata (%ld) n'est pas un multiple de %d\n"
 
-#: peigen.c:1909 peigen.c:2106 pepigen.c:1909 pepigen.c:2106 pex64igen.c:1909
-#: pex64igen.c:2106
+#: peigen.c:1910 peigen.c:2107 pepigen.c:1910 pepigen.c:2107 pex64igen.c:1910
+#: pex64igen.c:2107
 #, c-format
 msgid ""
 "\n"
@@ -8355,12 +8502,12 @@ msgstr ""
 "\n"
 "La table de fonctions (interprÃ©tation du contenu de la section .pdata)\n"
 
-#: peigen.c:1912 pepigen.c:1912 pex64igen.c:1912
+#: peigen.c:1913 pepigen.c:1913 pex64igen.c:1913
 #, c-format
 msgid " vma:\t\t\tBegin Address    End Address      Unwind Info\n"
 msgstr " vma:\t\t\tDÃ©but Adresse    Fin Adresse      Unwind Info\n"
 
-#: peigen.c:1914 pepigen.c:1914 pex64igen.c:1914
+#: peigen.c:1915 pepigen.c:1915 pex64igen.c:1915
 #, c-format
 msgid ""
 " vma:\t\tBegin    End      EH       EH       PrologEnd  Exception\n"
@@ -8369,27 +8516,27 @@ msgstr ""
 " vma:\t\tDÃ©but    Fin      EH       EH       FinProlog  Exception\n"
 "     \t\tAdresse  Adresse  Handler  DonnÃ©es  Adresse    Masque\n"
 
-#: peigen.c:1927 pepigen.c:1927 pex64igen.c:1927
+#: peigen.c:1928 pepigen.c:1928 pex64igen.c:1928
 #, c-format
 msgid "Virtual size of .pdata section (%ld) larger than real size (%ld)\n"
 msgstr "La taille virtuelle de la section .pdata (%ld) est plus grande que la taille rÃ©elle (%ld)\n"
 
-#: peigen.c:1997 pepigen.c:1997 pex64igen.c:1997
+#: peigen.c:1998 pepigen.c:1998 pex64igen.c:1998
 #, c-format
 msgid " Register save millicode"
 msgstr " Registre a prÃ©servÃ© le millicode"
 
-#: peigen.c:2000 pepigen.c:2000 pex64igen.c:2000
+#: peigen.c:2001 pepigen.c:2001 pex64igen.c:2001
 #, c-format
 msgid " Register restore millicode"
 msgstr " Registre a restaurÃ© le millicode"
 
-#: peigen.c:2003 pepigen.c:2003 pex64igen.c:2003
+#: peigen.c:2004 pepigen.c:2004 pex64igen.c:2004
 #, c-format
 msgid " Glue code sequence"
 msgstr " SÃ©quence du code de liants"
 
-#: peigen.c:2108 pepigen.c:2108 pex64igen.c:2108
+#: peigen.c:2109 pepigen.c:2109 pex64igen.c:2109
 #, c-format
 msgid ""
 " vma:\t\tBegin    Prolog   Function Flags    Exception EH\n"
@@ -8398,7 +8545,7 @@ msgstr ""
 " vma:\t\tDÃ©but    Long.    Long.    Fanions  Gestion.  EH\n"
 "     \t\tAdresse  Prolog.  Fonction 32b exc  Exception DonnÃ©es\n"
 
-#: peigen.c:2230 pepigen.c:2230 pex64igen.c:2230
+#: peigen.c:2231 pepigen.c:2231 pex64igen.c:2231
 #, c-format
 msgid ""
 "\n"
@@ -8409,7 +8556,7 @@ msgstr ""
 "\n"
 "Fichier de base des rÃ©adressages PE (contenus interprÃ©tÃ©s de la section .reloc)\n"
 
-#: peigen.c:2260 pepigen.c:2260 pex64igen.c:2260
+#: peigen.c:2261 pepigen.c:2261 pex64igen.c:2261
 #, c-format
 msgid ""
 "\n"
@@ -8418,62 +8565,62 @@ msgstr ""
 "\n"
 "Adresse virtuelle: %08lx taille des morceaux %ld (0x%lx) nombre de correctifs %ld\n"
 
-#: peigen.c:2278 pepigen.c:2278 pex64igen.c:2278
+#: peigen.c:2279 pepigen.c:2279 pex64igen.c:2279
 #, c-format
 msgid "\treloc %4d offset %4x [%4lx] %s"
 msgstr "\trÃ©adressage %4d dÃ©calage %4x [%4lx] %s"
 
-#: peigen.c:2339 pepigen.c:2339 pex64igen.c:2339
+#: peigen.c:2340 pepigen.c:2340 pex64igen.c:2340
 #, c-format
 msgid "%03x %*.s Entry: "
 msgstr "%03x %*.s EntrÃ©e: "
 
-#: peigen.c:2363 pepigen.c:2363 pex64igen.c:2363
+#: peigen.c:2364 pepigen.c:2364 pex64igen.c:2364
 #, c-format
 msgid "name: [val: %08lx len %d]: "
 msgstr "nom: [val: %08lx long %d]: "
 
-#: peigen.c:2383 pepigen.c:2383 pex64igen.c:2383
+#: peigen.c:2384 pepigen.c:2384 pex64igen.c:2384
 #, c-format
 msgid "<corrupt string length: %#x>\n"
 msgstr "<longueur de la chaÃ®ne corrompue: %#x>\n"
 
-#: peigen.c:2393 pepigen.c:2393 pex64igen.c:2393
+#: peigen.c:2394 pepigen.c:2394 pex64igen.c:2394
 #, c-format
 msgid "<corrupt string offset: %#lx>\n"
 msgstr "<offset de la chaÃ®ne corrompue: %#lx>\n"
 
-#: peigen.c:2398 pepigen.c:2398 pex64igen.c:2398
+#: peigen.c:2399 pepigen.c:2399 pex64igen.c:2399
 #, c-format
 msgid "ID: %#08lx"
 msgstr "ID: %#08lx"
 
-#: peigen.c:2401 pepigen.c:2401 pex64igen.c:2401
+#: peigen.c:2402 pepigen.c:2402 pex64igen.c:2402
 #, c-format
 msgid ", Value: %#08lx\n"
 msgstr ", Valeur: %#08lx\n"
 
-#: peigen.c:2423 pepigen.c:2423 pex64igen.c:2423
+#: peigen.c:2424 pepigen.c:2424 pex64igen.c:2424
 #, c-format
 msgid "%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n"
 msgstr "%03x %*.s  Feuilles: Adr: %#08lx, Taille: %#08lx, Codepage: %d\n"
 
-#: peigen.c:2465 pepigen.c:2465 pex64igen.c:2465
+#: peigen.c:2466 pepigen.c:2466 pex64igen.c:2466
 #, c-format
 msgid "<unknown directory type: %d>\n"
 msgstr "<type de rÃ©pertoire inconnu: %d>\n"
 
-#: peigen.c:2473 pepigen.c:2473 pex64igen.c:2473
+#: peigen.c:2474 pepigen.c:2474 pex64igen.c:2474
 #, c-format
 msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"
 msgstr "Table: Car: %d, Temps: %08lx, Ver: %d/%d, Nbr Noms: %d, IDs: %d\n"
 
-#: peigen.c:2562 pepigen.c:2562 pex64igen.c:2562
+#: peigen.c:2563 pepigen.c:2563 pex64igen.c:2563
 #, c-format
 msgid "Corrupt .rsrc section detected!\n"
 msgstr "DÃ©tection d'une section .rsrc corrompueÂ !\n"
 
-#: peigen.c:2586 pepigen.c:2586 pex64igen.c:2586
+#: peigen.c:2587 pepigen.c:2587 pex64igen.c:2587
 #, c-format
 msgid ""
 "\n"
@@ -8482,17 +8629,17 @@ msgstr ""
 "\n"
 "ATTENTION: DonnÃ©es en trop dans la section .rsrc â€“ elles seront ignorÃ©es par Windows:\n"
 
-#: peigen.c:2592 pepigen.c:2592 pex64igen.c:2592
+#: peigen.c:2593 pepigen.c:2593 pex64igen.c:2593
 #, c-format
 msgid " String table starts at offset: %#03x\n"
 msgstr " La table des chaÃ®nes dÃ©marre au dÃ©calage: %#03x\n"
 
-#: peigen.c:2595 pepigen.c:2595 pex64igen.c:2595
+#: peigen.c:2596 pepigen.c:2596 pex64igen.c:2596
 #, c-format
 msgid " Resources start at offset: %#03x\n"
 msgstr " Les ressources dÃ©marrent au dÃ©calage: %#03x\n"
 
-#: peigen.c:2647 pepigen.c:2647 pex64igen.c:2647
+#: peigen.c:2648 pepigen.c:2648 pex64igen.c:2648
 #, c-format
 msgid ""
 "\n"
@@ -8501,7 +8648,7 @@ msgstr ""
 "\n"
 "Ceci est un rÃ©pertoire de dÃ©bogage, mais la section le contenant ne peut Ãªtre repÃ©rÃ©e\n"
 
-#: peigen.c:2653 pepigen.c:2653 pex64igen.c:2653
+#: peigen.c:2654 pepigen.c:2654 pex64igen.c:2654
 #, c-format
 msgid ""
 "\n"
@@ -8510,7 +8657,7 @@ msgstr ""
 "\n"
 "Il y a un rÃ©pertoire de dÃ©bogage dans %s, mais cette section n'a pas de contenu\n"
 
-#: peigen.c:2660 pepigen.c:2660 pex64igen.c:2660
+#: peigen.c:2661 pepigen.c:2661 pex64igen.c:2661
 #, c-format
 msgid ""
 "\n"
@@ -8519,7 +8666,7 @@ msgstr ""
 "\n"
 "Erreur: la section %s contient l'adresse de dÃ©part des donnÃ©es de dÃ©bogage mais elle est trop petite\n"
 
-#: peigen.c:2665 pepigen.c:2665 pex64igen.c:2665
+#: peigen.c:2666 pepigen.c:2666 pex64igen.c:2666
 #, c-format
 msgid ""
 "\n"
@@ -8529,24 +8676,24 @@ msgstr ""
 "\n"
 "Il y a un rÃ©pertoire de dÃ©bogage dans %s Ã  0x%lx\n"
 
-#: peigen.c:2672 pepigen.c:2672 pex64igen.c:2672
+#: peigen.c:2673 pepigen.c:2673 pex64igen.c:2673
 #, c-format
 msgid "The debug data size field in the data directory is too big for the section"
 msgstr "Le champ de taille des donnÃ©es de dÃ©bogage dans le rÃ©pertoire de donnÃ©es est trop grand pour la section"
 
 # RVA = Adresse Virtuelle Relative mais AVR semble inconnu sur internet. Gageons que les utilisateurs trouverons plus
 # facilement la signification de RVA dans ce contexte.
-#: peigen.c:2677 pepigen.c:2677 pex64igen.c:2677
+#: peigen.c:2678 pepigen.c:2678 pex64igen.c:2678
 #, c-format
 msgid "Type                Size     Rva      Offset\n"
 msgstr "Type                Taille   Rva      DÃ©calage\n"
 
-#: peigen.c:2725 pepigen.c:2725 pex64igen.c:2725
+#: peigen.c:2726 pepigen.c:2726 pex64igen.c:2726
 #, c-format
 msgid "(format %c%c%c%c signature %s age %ld)\n"
 msgstr "(format %c%c%c%c signature %s age %ld)\n"
 
-#: peigen.c:2733 pepigen.c:2733 pex64igen.c:2733
+#: peigen.c:2734 pepigen.c:2734 pex64igen.c:2734
 #, c-format
 msgid "The debug directory size is not a multiple of the debug directory entry size\n"
 msgstr "La taille du rÃ©pertoire de dÃ©bogage n'est pas un multiple de la taille d'une entrÃ©e du rÃ©pertoire de dÃ©bogage\n"
@@ -8554,7 +8701,7 @@ msgstr "La taille du rÃ©pertoire de dÃ©b
 #. The MS dumpbin program reportedly ands with 0xff0f before
 #. printing the characteristics field.  Not sure why.  No reason to
 #. emulate it here.
-#: peigen.c:2753 pepigen.c:2753 pex64igen.c:2753
+#: peigen.c:2754 pepigen.c:2754 pex64igen.c:2754
 #, c-format
 msgid ""
 "\n"
@@ -8563,82 +8710,112 @@ msgstr ""
 "\n"
 "CaractÃ©ristiques 0x%x\n"
 
-#: peigen.c:2988 pepigen.c:2988 pex64igen.c:2988
+#: peigen.c:2989 pepigen.c:2989 pex64igen.c:2989
 #, c-format
-msgid "%B: Data Directory size (%lx) exceeds space left in section (%lx)"
-msgstr "%B: La taille du rÃ©pertoire de donnÃ©es (%lx) excÃ¨de l'espace restant dans la section (%lx)"
+msgid "%B: Data Directory size (%lx) exceeds space left in section (%Lx)"
+msgstr "%B: La taille du rÃ©pertoire de donnÃ©es (%lx) excÃ¨de l'espace restant dans la section (%Lx)"
 
-#: peigen.c:3018 pepigen.c:3018 pex64igen.c:3018
+#: peigen.c:3019 pepigen.c:3019 pex64igen.c:3019
 msgid "Failed to update file offsets in debug directory"
 msgstr "Ã‰chec lors de la mise Ã  jour des dÃ©calages du fichier dans le rÃ©pertoire de dÃ©bogage"
 
-#: peigen.c:3024 pepigen.c:3024 pex64igen.c:3024
+#: peigen.c:3025 pepigen.c:3025 pex64igen.c:3025
 msgid "%B: Failed to read debug data section"
 msgstr "%B: Ã‰chec lors de la lecture de la section des donnÃ©es de dÃ©bogage"
 
-#: peigen.c:3840 pepigen.c:3840 pex64igen.c:3840
+#: peigen.c:3841 pepigen.c:3841 pex64igen.c:3841
 #, c-format
 msgid ".rsrc merge failure: duplicate string resource: %d"
 msgstr "Ã©chec de la fusion de .rsrc: ressource chaÃ®ne dupliquÃ©e: %d"
 
-#: peigen.c:3975 pepigen.c:3975 pex64igen.c:3975
+#: peigen.c:3976 pepigen.c:3976 pex64igen.c:3976
 msgid ".rsrc merge failure: multiple non-default manifests"
 msgstr "Ã©chec de la fusion de .rsrc: plusieurs manifestes pas par dÃ©faut"
 
-#: peigen.c:3993 pepigen.c:3993 pex64igen.c:3993
+#: peigen.c:3994 pepigen.c:3994 pex64igen.c:3994
 msgid ".rsrc merge failure: a directory matches a leaf"
 msgstr "Ã©chec de la fusion de .rsrc: un rÃ©pertoire correspond Ã  une feuille"
 
-#: peigen.c:4035 pepigen.c:4035 pex64igen.c:4035
+#: peigen.c:4036 pepigen.c:4036 pex64igen.c:4036
 msgid ".rsrc merge failure: duplicate leaf"
 msgstr "Ã©chec de la fusion de .rsrc: feuille dupliquÃ©e"
 
-#: peigen.c:4037 pepigen.c:4037 pex64igen.c:4037
+#: peigen.c:4038 pepigen.c:4038 pex64igen.c:4038
 #, c-format
 msgid ".rsrc merge failure: duplicate leaf: %s"
 msgstr "Ã©chec de la fusion .rsrc: feuille dupliquÃ©e: %s"
 
-#: peigen.c:4103 pepigen.c:4103 pex64igen.c:4103
+#: peigen.c:4104 pepigen.c:4104 pex64igen.c:4104
 msgid ".rsrc merge failure: dirs with differing characteristics\n"
 msgstr "Ã©chec de la fusion .rsrc: rÃ©pertoires avec des caractÃ©ristiques diffÃ©rentes\n"
 
-#: peigen.c:4110 pepigen.c:4110 pex64igen.c:4110
+#: peigen.c:4111 pepigen.c:4111 pex64igen.c:4111
 msgid ".rsrc merge failure: differing directory versions\n"
 msgstr "Ã©chec de la fusion de .rsrc: versions de rÃ©pertoires diffÃ©rentes\n"
 
 #. Corrupted .rsrc section - cannot merge.
-#: peigen.c:4227 pepigen.c:4227 pex64igen.c:4227
+#: peigen.c:4228 pepigen.c:4228 pex64igen.c:4228
 msgid "%B: .rsrc merge failure: corrupt .rsrc section"
 msgstr "%B: Ã©chec de la fusion de .rsrc: section .rsrc corrompue"
 
-#: peigen.c:4235 pepigen.c:4235 pex64igen.c:4235
+#: peigen.c:4236 pepigen.c:4236 pex64igen.c:4236
 msgid "%B: .rsrc merge failure: unexpected .rsrc size"
 msgstr "%B: Ã©chec de la fusion de .rsrc: taille de .rsrc inattendue"
 
-#: peigen.c:4374 pepigen.c:4374 pex64igen.c:4374
+#: peigen.c:4375 pepigen.c:4375 pex64igen.c:4375
 msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
 msgstr "%B: impossible de remplir DataDictionary[1] car .idata$2 est manquant"
 
-#: peigen.c:4394 pepigen.c:4394 pex64igen.c:4394
+#: peigen.c:4395 pepigen.c:4395 pex64igen.c:4395
 msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
 msgstr "%B: impossible de remplir DataDictionary[1] car .idata$4 est manquant"
 
-#: peigen.c:4415 pepigen.c:4415 pex64igen.c:4415
+#: peigen.c:4416 pepigen.c:4416 pex64igen.c:4416
 msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
 msgstr "%B: impossible de remplir DataDictionary[12] car .idata$5 est manquant"
 
-#: peigen.c:4435 pepigen.c:4435 pex64igen.c:4435
+#: peigen.c:4436 pepigen.c:4436 pex64igen.c:4436
 msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"
 msgstr "%B: impossible de remplir DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] car .idata$6 est manquant"
 
-#: peigen.c:4477 pepigen.c:4477 pex64igen.c:4477
+#: peigen.c:4478 pepigen.c:4478 pex64igen.c:4478
 msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing"
 msgstr "%B: impossible de remplir DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] car .idata$6 est manquant"
 
-#: peigen.c:4502 pepigen.c:4502 pex64igen.c:4502
+#: peigen.c:4503 pepigen.c:4503 pex64igen.c:4503
 msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
 msgstr "%B: impossible de remplir DataDictionary[9] car __tls_used est manquant"
 
+#~ msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
+#~ msgstr "%B: utilise des champs e_flags (0x%lx) diffÃ©rents des modules prÃ©cÃ©dents (0x%lx)"
+
+#~ msgid "%B: unsupported relocation type %i"
+#~ msgstr "%B: type de rÃ©adressage %i non supportÃ©"
+
+#~ msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
+#~ msgstr "%B(%A+0x%lx): rÃ©adressage R_68K_TLS_LE32 pas permis dans un objet partagÃ©"
+
+#~ msgid "%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC relocation not permitted in shared object"
+#~ msgstr "%B(%A+0x%lx): rÃ©adressage R_METAG_TLS_LE/IENONPIC pas permis dans un objet partagÃ©"
+
+#~ msgid "%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not permitted in shared object"
+#~ msgstr "%B(%A+0x%lx): rÃ©adressage R_NIOS2_TLS_LE16 pas permis dans un objet partagÃ©"
+
+#~ msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n"
+#~ msgstr "%B: erreur: type de rÃ©adressage %d non alignÃ© Ã  %08x rÃ©adressÃ© %p\n"
+
+#~ msgid "%B(%A+0x%"
+#~ msgstr "%B(%A+0x%"
+
+#~ msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
+#~ msgstr "Attention: taille du symbole Â«Â %sÂ Â» a changÃ© de %lu dans %B Ã  %lu dans %B"
+
+#~ msgid "%B: addend -0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range"
+#~ msgstr "%B: l'opÃ©rande -0x%x dans le rÃ©adressage %s vers le symbole Â«Â %sÂ Â» Ã  0x%lx dans la section Â«Â %AÂ Â» est hors limite"
+
+#~ msgid "%F: failed to create BND PLT .eh_frame section\n"
+#~ msgstr "%F: Ã©chec lors de la crÃ©ation de la section .eh_frame PLT BND\n"
+
 #~ msgid "Unrecognized reloc"
 #~ msgstr "Relocalisation non reconnue"
 
@@ -8790,12 +8967,6 @@ msgstr "%B: impossible de remplir DataDi
 #~ msgid "Symbol %s replaced by %s\n"
 #~ msgstr "Symbole %s remplacÃ© par %s\n"
 
-#~ msgid "%B(%A+0x%lx): cannot reach %s"
-#~ msgstr "%B(%A+0x%lx): ne peut atteindre %s"
-
-#~ msgid "%B: warning: ignoring duplicate section `%A'\n"
-#~ msgstr "%B: attention: ignore la section dupliquÃ©e Â«Â %AÂ Â»\n"
-
 #~ msgid "%B: warning: duplicate section `%A' has different size\n"
 #~ msgstr "%B: attention: section dupliquÃ©e Â«Â %AÂ Â» avec des tailles diffÃ©rentes\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.1.0.20180703/bfd/po/pt.gmo ./bfd/po/pt.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/pt.gmo	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/po/pt.gmo	2018-07-10 02:10:41.000000000 +0000
@@ -0,0 +1,1430 @@
+Þ•ì|7C	Ünè“é“ö“
+”#”AB”?„”:Ä”ÿ”•)•$H•3m•¡•®•%Î•ô•A–&H–o–ˆ–¡–º–Ê– é–
+—*—C—Z—g—Pz—Ë—*ã—9˜6H˜;˜»˜FÍ˜6™6K™:‚™5½™,ó™D šNešJ´š)ÿšG)›:q›B¬›Lï›)<œBfœL©œöœ�D#�Gh�°�Ï�á�õ�
ž"ž3AžužŒž0žžÏžßžïž+	Ÿ+5Ÿ+aŸ#�Ÿ±ŸÉŸÒŸðŸ( ?0 >p %¯ &Õ (ü )%¡GO¡7—¡Ï¡æ¡¢#¢<¢W¢w¢�¢«¢Á¢Ù¢,í¢£*£C£[£r£�£—£±£1È£ú£¤¤/¤J¤#b¤+†¤&²¤5Ù¤¥'¥A¥W¥q¥Š¥¡¥$·¥Ü¥õ¥¦-¦$B¦g¦{¦�¦<©¦æ¦õ¦
§§&§ >§_§z§Š§ª§Æ§æ§ÿ§¨*+¨V¨h¨&z¨¡¨0µ¨æ¨"ú¨„©	¢©¬©#¿©ã©ü©
ª&ª"?ªbª"vª#™ª#½ªáª#öª#«>«K«i«‡«�«•«š«
+·«Â«Ç«!Í« ï«¬¬¬2¬R¬r¬w¬‹¬!�¬²¬¹¬¿¬Ä¬É¬Ï¬Ó¬Ø¬ô¬"
­0­5­U­i­&‰­B°­ó­®®®$®*®/®A®H®\®c®|®�®¡®²®Ã®Ô®å®ý®	¯
¯
$¯
+2¯
+=¯
+H¯
+S¯^¯
+s¯$~¯
+£¯#®¯%Ò¯
+ø¯°°$-°R°p°!Š°¬°Á°
+Ð°
Û°	é°ó°
+±±±.±H±Z±i±€±›±ª±Ã±Ò±Ù±ù±(	²/2²b²t²+ƒ²¯²AË²
³'³A³[³8p³©³Á³Ö³&ð³´6´2Q´?„´&Ä´ë´(
+µ3µ"Fµiµ*‰µ6´µ{ëµrg¶xÚ¶S·:i·¤·D¶·*û·7&¸$^¸'ƒ¸*«¸!Ö¸=ø¸A6¹Ax¹º¹%Ù¹Dÿ¹Dºsbº.Öº,»*2»%]»4ƒ»¸»-×»2¼L8¼;…¼©Á¼Gk½8³½Hì½45¾7j¾9¢¾'Ü¾+¿U0¿Z†¿Oá¿C1À;uÀ$±ÀÖÀ@óÀm4ÁJ¢Á6íÁ6$Â)[Â7…Â@½ÂHþÂBGÃJŠÃ-ÕÃ;Ä8?Ä2xÄ¿«ÄVkÅ\ÂÅ:Æ:ZÆB•ÆTØÆT-ÇT‚Ç‰×Ç;aÈm�È[ÉMgÉ<µÉDòÉ^7Ê|–ÊDË€XË1ÙËKÌJWÌ>¢ÌmáÌ6OÍ>†Í>ÅÍ.Î-3ÎEaÎ<§Î=äÎB"Ï?eÏ?¥ÏDåÏB*Ð?mÐ?­Ð,íÐ'ÑBÑ6_Ñ0–Ñ/ÇÑ!÷ÑÒ&-Ò(TÒ;}Ò@¹Ò$úÒÓ73Ó!kÓ#�Ó&±Ó8ØÓCÔ UÔ vÔ)—Ô.ÁÔ0ðÔ?!Õ.aÕ.�Õ/¿Õ)ïÕ/Ö;IÖh…Ö<îÖA+×<m×/ª×-Ú×&ØM/Ø2}Ø2°ØNãØU2ÙNˆÙo×Ù+GÚAsÚ7µÚ9íÚT'Û5|Û#²Û.ÖÛ.Ü%4Ü7ZÜ2’Ü7ÅÜEýÜ>CÝ1‚Ý:´ÝUïÝ2EÞoxÞ(èÞ(ß3:ß[nßZÊß+%à+Qà}à/—à(Çà7ðà<(á?eáQ¥á3÷á5+â'aâ=‰â:ÇâGã<Jã"‡ãLªã6÷ãK.äDzä!¿ä:áä7åTårå.Žå.½åìå1æ>æ'[æ%ƒæ ©æEÊæ4ç(Eç;nçHªç?óç<3èGpè@¸è7ùè.1é*`é<‹é7Èé1ê82ê:kê2¦ê+Ùêtë/zë ªë-Ëë]ùë0WìJˆì>ÓìAí.Tí+ƒí8¯íèí*îI3î$}î+¢îÎîìîAïHGï>�ï+ÏïIûï9Eð;ð»ð;Ûð;ñSñ+nñGšñ.âñ.ò5@ò@vò@·òIøò=BóI€óIÊó4ôIô9hô,¢ô.Ïô/þô'.õkVõuÂõ@8ö5yö¯ö2Ìö.ÿö*.÷>Y÷1˜÷)Ê÷?ô÷!4ø#Vø.zø8©ø*âø 
ùA.ùEpùB¶ùBùù:<ú3wú$«ú2ÐúIû:Mû<ˆû3Åû5ùû&/ü%Vü4|ü&±ü4Øü&
ý14ý$fý$‹ý.°ýßý&ýý&$þ<Kþ#ˆþ*¬þ'×þ>ÿþB>ÿ3�ÿ&µÿ Üÿ"ýÿ! !B!d%†!¬ Î!ï#!5!W!y$›$À å"!)#K$o”"´"×!ú!>^!z#œ"À#ã!')3Ql…@ò?3GsF»JHMK–GâB*Xm4Æ/û+4J ! GÂ4
+	0?	p	(‡	.°	(ß	*
+63
+2j
+5�
+8Ó
+WZdB¿5=8<v(³-Ü0
+
;
OU
"¥
/È
&ø
!@Ai‚Eì021c*•!À4â;&S$z'Ÿ=ÇDJ2h0›CÌLG]C¥Jé`4r•A�JSÌ< a]a¿f!fˆFï-62d(—3À1ô,&-SD�BÆ4	6>*u# 2Ä*÷-".P*(ª]ÓJ16|³Î4è'DECŠCÎE^X]·)(?+h$”)¹)ã7
9E&&¦&Í2ô,' =T ,’ ¿ +Ý 	!-!M!j!,‰!#¶!1Ú!*"'7"&_"%†"&¬"'Ó")û",%#%R#*x#$£#%È#%î#1$'F$*n$"™$#¼$"à$&%-*%,X%[…%Cá%G%&Cm&K±&Wý&GU'9�'(×'*(+(3K(4(>´(2ó(5&)@\)P�)3î)P"*2s*A¦*Kè*@4+Ku+-Á+`ï+>P,J�,2Ú,<
-;J-7†-3¾-/ò-?".7b.Aš.*Ü.1/;9/2u/W¨/O0&P03w0[«0W1-_1o�1+ý1])2-‡2+µ2á22ÿ2)23V\3<³3(ð334#M4%q42—4Ê42ê4$53B5=v5;´5Bð5A36:u62°6?ã6#7<B7879¸7ò78&08W8›p8D9'Q9,y91¦9'Ø9$:/%:-U:0ƒ:&´:8Û:6;6K;‚;.¡;+Ð;$ü;"!<7D<!|<%ž<AÄ<G=6N==…=:Ã=:þ=D9>8~>9·>Cñ>:5?7p?8¨?Pá?D2@9w@,±@0Þ@#A3A-NA6|A³A7ÏA;B:CB:~B!¹B3ÛB%C.5CdCL„C1ÑC*D%.D$TD9yDO³D#E,'E1TEC†E6ÊE(F5*F"`F.ƒF8²FGëFU3G>‰G ÈGéG!H )H'JHbrH3ÕH)	I=3I%qI*—I0ÂI&óI&J7AJfyJ7àJ]K8vK¯KOÎK,L+KLYwL)ÑL;ûL07M/hM?˜M9ØM6N/INCyN&½NWäNQ<OŽO®O½O!ÒOôOR
+PF]PF¤P:ëP&Q9QMQ_QyQ
�Q'›QÃQ
ÏQÝQ%îQ\R;qR­R¿RÕRØRõRS	S%S7SHS,US‚S–S¬S"ÆS/éS/T2IT9|T#¶T'ÚT2U35UiU;yUµU¼UÄUÙUéUðUøUV!V6VHV[VrV�V¡V¿V	ÞVèV	W"W+3W#_W,ƒW:°WëWýW)X/CX?sX=³X	ñX"ûXY5Y+>YjYvYzY�YŸY±Y'ÃYëY Z#)ZMZ>gZ<¦ZãZ õZ'[7>[0v[D§[,ì['\A\a\s\$‘\$¶\'Û\%]')]Q]o]�]"¯]Ò]â]÷]^#^)9^c^2y^#¬^-Ð^Iþ^:H_/ƒ_8³_2ì_[`1{`<­`Bê`,-a-Za)ˆa.²a-áab6/bYfbbÀb;#c)_c!‰cG«c1óc$%dJdH_d5¨d%Þde5!eWe
+le"weše¬e´e0¼eíef!f6fCfRf
pf~fB�f/Óf+g8/ghg$~g!£g1Åg÷gh+5hah
+uh€h9ŸhÙh'ëhi%i.Ci-riG i3èij";j)^j*ˆjK³j ÿj k%=kckvk•k.§kÖk2ôk,'l)Tl"~l¡l³l$Ìl*ñl+mHm em†m5˜mÎm	àmêmümn$nDn^non~n�n	—n4¡nÖnßn
+öno"o%)oOo[ojo�o�o³oÅoåoþop2pDp\p-zp¨pºpÌpàpúpDq¥_qr)r/Dr'trœr«r½rÏrÖr!Ýr.ÿr,.s[s:ws%²s%Øsþs?t9WtC‘t=ÕtCu=Wu"•u[¸u?vTvsv)�vºvÃvvÞv*Uw€w&’w¹wÙwëwòw
+ùw(x-x'?xgx„xœx¼x#Ôx$øx,y.Jy,yy.¦yÕy"òy,z.Bz!qz1“z0Åz2öz,){.V{#…{©{É{(Ý{/|!6|X|(u|#ž|+Â|î|,} 4}U}n}Ž}¢}Â}#á}-~"3~V~h~€~“~¬~¸~Í~ß~2ú~$-&Ry6™	Ð!ÚDüDA€/†€?¶€ö€/�>8�w�Jˆ�MÓ�8!‚Z‚z‚‘‚;¤‚à‚7ý‚-5ƒcƒJlƒ‰·ƒ(A„7j„¢„*¼„ç„ÿ„……5…F…\…y…"……#¨…%Ì…ò…†',†T†Jf†J±†Jü†IG‡:‘‡AÌ‡;ˆ:Jˆ6…ˆ+¼ˆ;èˆF$‰@k‰;¬‰:è‰Q#Š/uŠB¥Š;èŠK$‹Fp‹a·‹/Œ<IŒ-†Œ-´Œ/âŒ7�BJ�!��i¯�DŽd^Ž.ÃŽ,òŽf�C†�Ê�#é�@
�4N�8ƒ�H¼�7‘=‘˜]‘ö‘’$’6’2K’.~’$­’Ò’ß’ì’ü’““.“G“_“w“d�“ô“6”M>”MŒ”<Ú”g•b•<â•E–1e–(—–$À–å–û–4—'L—$t—7™—Ñ—â—ú—˜"˜:˜R˜d˜v˜ˆ˜š˜´˜Ï˜á˜ò˜
+™)™2H™{™”™-®™+Ü™+š*4š	_š	iš
+sš
+~š‰šžš­šÂšÑš1Öš›-'›U›'t›"œ›¿›Ý›ò›û›,œ]Fœ=¤œ(âœZ�Zf�EÁ�AžGIžC‘žWÕžW-Ÿ9…Ÿ9¿Ÿ-ùŸ8' 4` 3• 9É 4¡28¡7k¡5£¡7Ù¡B¢ET¢Bš¢CÝ¢A!£'c£.‹£,º£+ç£*¤.>¤2m¤  ¤[Á¤@¥:^¥#™¥6½¥<ô¥&1¦2X¦=‹¦;É¦8§<>§%{§¡§¾§NÔ§-#¨OQ¨ ¡¨>Â¨9©
+;©*F©1q©&£©&Ê©!ñ©ª,2ªJ_ª7ªª
âªðªÿª«&«9«L«7i«6¡«6Ø«¬$/¬_T¬"´¬A×¬­,7­2d­—­§­¾¸­»w®3¯N¯i¯;‰¯=Å¯*°L.°{°Ž°£°¸°4Ç°ü°0±95±o±‰±‘±™±µ±H¼±²²2$²OW²§²Æ²*Ë² ö²³5³=³J³ d³…³Ž³¢³·³Í³á³÷³´+´<´N´b´Nj´¹´½´#Õ´ù´6µHµ hµ8‰µÂµÔµäµìµ4¶6¶J¶^¶r¶…¶
˜¶L¦¶ ó¶D·PY·ª·¼·Ï·3ê·!¸@¸G¸"O¸r¸‚¸M‘¸ß¸÷¸¹#¹,6¹%c¹'‰¹)±¹$Û¹(º)º0Eº
+vº,�º®ºÌºæºîº
»#»8»'P»x»’»¬»"¸»Û»ú»¼#¼:¼7Q¼‰¼¢¼·¼É¼Ü¼ð¼½½0½-O½)}½>§½7æ½E¾gd¾xÌ¾7E¿E}¿4Ã¿%ø¿-À;LÀ!ˆÀªÀ!ÃÀ0åÀ5Á&LÁ<sÁ<°Á2íÁ/ Â.PÂ=Â/½Â6íÂ?$ÃdÃƒÃ£Ã,§ÃÔÃæÅóÅÆ"%ÆWHÆS ÆGôÆ<ÇUÇiÇ&‰Ç6°Ç
çÇõÇ%È;ÈTMÈ(¢ÈËÈæÈÉÉ /É"PÉ!sÉ•É²ÉÊÉÚÉVðÉGÊ._Ê>ŽÊAÍÊ@ËPËPjËE»Ë>ÌB@ÌDƒÌ.ÈÌJ÷ÌVBÍO™Í/éÍEÎE_ÎL¥ÎXòÎ/KÏL{ÏXÈÏ!Ð<ÐQWÐE©Ð ïÐÑ&Ñ:ÑTÑ#kÑ7�ÑÇÑÞÑ=ðÑ.Ò>ÒNÒ,hÒ,•Ò,ÂÒ#ïÒÓ-Ó6ÓTÓ'mÓ=•Ó<ÓÓ"Ô%3Ô%YÔ(ÔK¨Ô9ôÔ.ÕGÕgÕ„Õ�Õ¹ÕÙÕóÕÖ&ÖDÖ,XÖ…Ö•Ö®ÖËÖæÖùÖ×*×6A×x×�×š×³×Î×*ç×8Ø.KØ<zØ·ØÑØìØÙ Ù9ÙPÙ1fÙ˜Ù±Ù'ÑÙùÙ)Ú:ÚPÚeÚ<~Ú»ÚÊÚ
ÙÚçÚüÚ(ÛAÛ\ÛnÛŽÛ ¬ÛÍÛæÛÜ*ÜDÜVÜ,hÜ•Ü0©ÜÚÜ'îÜ’Ý©Ý¶Ý#ÉÝíÝÞÞ4Þ$OÞtÞ%ˆÞ#®Þ#ÒÞöÞ#
+ß#.ßRßaßßžß¤ß¬ß ±ß
+ÒßÝßâß$èß0
à>àCàHàaà€àŸà¤àÁà-Æàôàûàáááááá6á$Oátáyá˜á"±á+ÔáDâEâdâiânâuâ{â€â’â™â²â¹â×âðâãã#ã4ãEãYã	mã
wã
…ã
+“ã
+žã
+©ã
+´ã¿ã
+Õã0àã
+ä-ä+Jä
+vä�ä“ä*ªäÕäôä*å9åPåaåmå	�å‹å
�å«å²åÌåêåüåæ*æIæ!]ææŒæ"“æ¶æ8ÇæAçBçTç2gçšçA¶çøçè-èGè6`è—è±èÆè1àè)é<é9Wé?‘é1Ñé)ê,-êZê"pê%“ê*¹ê6äê…ëz¡ëyì–ì>³ìòìRí8Yí4’í.Çí0öí,'î"TîEwîJ½î=ï&Fï3mïN¡ï!ðï…ð3˜ð.Ìð,ûð'(ñ9Pñ'Šñ3²ñAæñW(òA€ò®ÂòOqó@ÁóRô9Uô<�ôDÌô)õ.;õbjõgÍõ[5öH‘öGÚö)"÷#L÷Fp÷}·÷T5ø4Šø>¿ø'þøG&ù?nùK®ùAúùM<ú3ŠúA¾ú<û;=ûÅyû_?üaŸü@ý@BýIƒýXÍýX&þXþŽØþ?gÿ§ÿd'WŒEäL*lw”äPyˆÊ2SR†QÙC+xo3èHHe,®4ÛK@\A�FßC&CjH®F÷C>C‚.Æ%õ	29	5l	0¢	/Ó	
+2
+&Q
+=x
+B¶
+)ù
+#B8({&¤+ËC÷L;$ˆ$­-Ò2
43
Ih
2²
3å
7-Q76·nî:]G˜:à15M6ƒXº44H`}bÞ]A~Ÿ'NF<•AÒf4{,°AÝ>1^A�0Ò=LAEŽ3Ô;[D? yà3Z3Ž:Â^ýe\/Â0ò#5?0uH¦@ïC0Xt8Í=.DFs@ºVûFR"™M¼8
+JCGŽ$Ö8û=4(r ›9¼@ö,7 >d £ +Â 5î -$!MR!E !)æ!>"PO"B "Dã"N(#Cw#6»#1ò#.$$<S$B�$<Ó$C%BT%:—%0Ò%�&0‘&#Â&/æ&l'<ƒ'SÀ'G(F\(5£(3Ù(;
)I)-i)U—)0í)0*(O*x*I˜*Vâ*O9+2‰+\¼+A,N[,*ª,EÕ,E-a-1�-H³-0ü-0-.7^.B–.BÙ.L/<i/M¦/Lô/FA0%ˆ0O®0/þ06.14e10š1rË1|>2F»2=3*@34k32 3*Ó3Jþ3>I4,ˆ4=µ4)ó4)5.G5Bv5,¹5(æ5N6Y^6W¸6W7Ch77¬7'ä7<8OI8E™8Eß85%9?[92›9-Î98ü9.5:<d:-¡:6Ï:,;&3;7Z; ’;,³;,à;C
<(Q<1z<%¬<AÒ<N=7c=%›=&Á=(è='>(9>(b>+‹>'·>&ß>'?).?'X?'€?'¨?$Ð?*õ?& @(G@!p@)’@*¼@%ç@(
A(6A'_A'‡A%¯AÕA'õA)B2GB)zB'¤B3ÌB>Cq?CK±CIýCQGDP™DTêDM?E`�ETîENCFi’FGüF8DG(}GG¦G%îG%HP:H;‹H:ÇHI."I/QI-�I1¯I>áI9 J<ZJ@—JcØJf<KK£K<ïKF,L@sL.´L2ãL5MLMWiM0ÁM6òM0)N#ZNK~N~ÊNQIO5›O2ÑO)P*.P<YPC–P+ÚP&Q/-QE]QQ£QõQ8R9MRH‡RSÐRO$SHtSU½SiTv}TIôT�>U^ÎUF-VltVmáVqOWsÁWP5X8†X3¿X+óX?Y6_Y<–Y2ÓYIZGPZ=˜Z@ÖZ5[4M[6‚[5¹[/ï[4\0T\-…\g³\Q]>m]¬]Ê]<ç]*$^KO^J›^Jæ^L1_e~_dä_1I`0{`3¬`,à`2
a/@a>paA¯a0ña*"b-Mb:{b,¶bCãb0'cXc3vcªc5Äc%úc+ dBLd*�d7ºd:òd/-e.]e-Œe.ºe/ée.f4Hf-}f2«f,Þf7g-Cg;qg1­g0ßg-h.>h-mh1›h5Íh4ik8iL¤iZñiELjS’jRæjZ9kC”k3Øk*l$7l;\l8˜lAÑl6m=JmIˆmNÒm2!nPTn/¥n<ÕnFo;YoG•o6Ýoep<zpH·p7qD8q3}q?±q<ñq3.rMbr2°rMãr21s7dsAœs7ÞsbtXyt)Òt:üth7ud u5vv;v.²vgáv3Iw;}w+¹w9åw%xZEx; x/Üx:y*Gy)ry6œy&Óy6úy,1z8^zB—zJÚzQ%{Nw{GÆ{:|FI| �|D±|@ö|A7}y}&™}=À}þ}¨~JÃ~&150g&˜#¿.ã,€3?€%s€4™€<Î€B�N�3k�)Ÿ�"É�#ì�?‚#P‚(t‚F�‚Lä‚91ƒ@kƒ<¬ƒ=éƒG'„:o„<ª„Fç„<.…:k…:¦…aá…TC†N˜†9ç†2!‡%T‡z‡-˜‡7Æ‡þ‡AˆA[ˆB�ˆ?àˆ ‰7?‰#w‰5›‰'Ñ‰Yù‰?SŠ-“Š'ÁŠ/éŠD‹V^‹+µ‹:á‹AŒK^Œ?ªŒ)êŒ>�)S�+}�?©�Lé�Y6ŽH�Ž!ÙŽ!ûŽ1�1O�4��j¶�6!�3X�DŒ�,Ñ�9þ�78‘,p‘6�‘>Ô‘i’:}’r¸’A+“ m“^Ž“0í“*”[I”,¥”BÒ”9•5O•H…•FÎ•E–D[–L –(í–j—W�—#Ù—
ý—˜)˜ I˜_j˜SÊ˜S™Gr™º™Ï™å™ø™š*š+7šcšpšš%�šbµš;›T›e›|›%›¥›´›Ï›Þ›ð›
œ,œ<œQœiœ"„œ4§œ8Üœ4�>J�&‰�*°�6Û�>žQžB`ž£žªž²žÊžÙžàžèžüžŸ&Ÿ8ŸKŸ.aŸ�Ÿ"«Ÿ"ÎŸ
+ñŸ!üŸ #- 5Q -‡ 2µ Fè /¡ A¡(b¡.‹¡Hº¡I¢	M¢&W¢~¢ž¢4ª¢ß¢ë¢ï¢££0£0B£"s£,–£-Ã£"ñ£P¤Qe¤·¤%Ð¤1ö¤7(¥2`¥G“¥2Û¥-¦ <¦]¦!p¦&’¦&¹¦)à¦'
+§)2§\§!|§!ž§$À§å§"ú§$¨B¨b¨)w¨¡¨<¶¨0ó¨4$©IY©A£©3å©=ª5Wªd�ªAòªV4«<‹«&È«)ï«:¬7T¬:Œ¬"Ç¬?ê¬b*­f�­Jô­4?®$t®H™®>â®$!¯F¯CZ¯1ž¯,Ð¯ý¯7°!S°u°%†°¬°¾°Æ°?Î°±$+±P±k±�±“±±±Ä±QÖ±1(²1Z²=Œ²Ê²+æ²-³8@³$y³&ž³1Å³÷³
+´&´AE´‡´*™´Ä´!Ö´9ø´62µUiµG¿µ-¶(5¶/^¶3Ž¶OÂ¶&·"9·/\·Œ·"Ÿ·Â·5×·%
¸43¸3h¸5œ¸.Ò¸¹!¹$5¹8Z¹3“¹'Ç¹ ï¹º:"º]º	oºyº‹º¥º ¹ºÚºôº»»/»	6»<@»}»†»
¤»²»&¹»5à»¼#¼8¼M¼m¼…¼˜¼¸¼Ò¼ò¼	½½4½9T½Ž½Ÿ½¶½!Ê½%ì½O¾¦b¾	¿9¿?X¿,˜¿Å¿Õ¿ç¿ù¿À&À+.À)ZÀ„À>¢À*áÀ)Á6ÁHUÁFžÁCåÁB)ÂHlÂ@µÂ+öÂk"ÃCŽÃ"ÒÃ#õÃ3Ä	MÄWÄ{qÄ0íÄÅ#0Å(TÅ}Å�Å–Å
+�Å4¨ÅÝÅ/ïÅÆ<ÆTÆtÆ#�Æ$±Æ<ÖÆ9Ç<MÇ9ŠÇ'ÄÇ5ìÇ<"È9_È0™ÈAÊÈ@É=MÉ<‹É9ÈÉ.Ê!1ÊSÊ(kÊ/”Ê-ÄÊ òÊ,Ë&@Ë3gË›Ë4¸Ë&íËÌ!1ÌSÌ%kÌ%‘Ì·Ì2ÕÌ(Í1ÍCÍZÍnÍ�ÍžÍ½Í$ÌÍ1ñÍ)#Î2MÎ'€Î<¨ÎåÎ&îÎHÏH^Ï;§ÏDãÏ(Ð6CÐ?zÐºÐaÐÐb2Ñ>•Ñ'ÔÑüÑÒ72Ò!jÒBŒÒ-ÏÒýÒXÓŠ_Ó*êÓ9ÔOÔ:nÔ©ÔÈÔÕÔóÔÕ&Õ#AÕeÕ*vÕ'¡Õ*ÉÕ#ôÕ$Ö2=ÖpÖS‚ÖXÖÖR/×U‚×EØ×HØ@gØ4¨Ø0ÝØ-ÙB<ÙQÙ<ÑÙ7Ú6FÚ_}Ú5ÝÚKÛB_ÛW¢ÛQúÛuLÜ3ÂÜ?öÜ36Ý3jÝ4žÝ<ÓÝIÞ&ZÞg�ÞCéÞc-ß/‘ß-ÁßdïßBTà —à#¸àAÜà?á9^á`˜á8ùá$2â¢Wâ!úâã.ã@ã4Zã.�ã*¾ãéãøãä	ä 'äHä^äxä�äªägÈä0å>CåN‚åNÑåA ætbæp×æ=HçJ†ç6Ñç-è&6è]è&vèI�è4çè2é=Oé�é¢éÂéÝéòéê0êFê\êrê!ˆêªêÉêßêôê*ë'<ë5dëšë#µë5Ùë3ì3Cì0wì	¨ì	²ì
+¼ì
+ÇìÒìëìúìíí4#í#Xí7|í ´í4Õí)
+î4îRîgî#pî-”îbÂî8%ï'^ïm†ïmôïObðE²ðMøðTFñ[›ñ[÷ñ=Sò<‘ò*Îò5ùò//ó/_ó4�ó/Äó/ôó8$ô2]ô8�ôJÉôDõFYõF õHçõ)0ö6Zö*‘ö8¼ö*õö- ÷2N÷�÷[¡÷Mý÷AKø'�øIµø<ÿø$<ù/aùJ‘ù9Üù:ú>Qú1�ú"ÂúåúMÿú)Mû]wû"ÕûBøû=;üyü/…ü3µü(éü(ý;ý#Vý7zýV²ýA	þKþ[þlþ€þ”þ§þºþ6Ùþ5ÿ;Fÿ‚ÿ&žÿhÅÿ$.MS¡1Á7ó+<ÑNÎ &ï$!;B]D 7å[y�¤ºDÊ79O‰¨°¸Ô\Û8=CZož.15#g$‹
°¾Ð9è	",E_z“® Êëþ	&	W.	†	Š	,¢	!Ï	Bñ	"4
+&W
+@~
+¿
+Ñ
+æ
+î
+AH\p„—ª\½$Y?Z™ô
!
B;
1~
°
	¹
.Ã
ò
N` ~Ÿ²2Å-ø/&4V$‹6°#ç6
+B2M$€¥ÂÏì/þ ./O�¼*Í'ø >SpE�Õò,@Tj€-Ÿ)ÍA÷C9V}tÔ…I9ÏE	=O)�0·=è'&N#k5�9Å(ÿB(Bk9®4è5FS7š<ÒGWv–.šnâ(_€9¥{Õñ”Á«Âq|äät‚µH*îkÔ©8¸ä\V	Ûò»ºÊ3¨2wõˆˆ‡ù±æ/|d‚dˆ‹oÈ´ß@+Ï+hòp¹’�1Î­5MâJŒK+ ã�ÍW·ÂÅÁ§Ÿ÷Õ5{qª!-ÒË@iÖøÓ&œ™	+É$4ô'¶ÂTÌØ›k~¶|€0F�£Œy¶6Æ\Ó©R´þ‰;)tEBì—¥ø—ZSAOÑÓ	�ú¯óû‡ hçìÛv–�îàä‘[�/T„4jX)Šº$ÂáèÆÿYk]ö²BB”pWW«è?šPF¼u†üGè'•e#Çö¡§"ñHÄØÑïÚå~ªÝ¤$W[”SÖ°ÌFs>6·˜O—’±~0Í¾2å'É?CU”Å�ÁÀŸG<îÆp6—/rHg¡ÌPSèasb«¹ÇQ£H×ƒ‹8´ßL°ü¿u´4UË0ôAÚi·•;®o§™&ë4@Ù›!…},šl�“ƒˆ#/…Zóé.ÇUþÏ—‰xÅëvÖ˜ŒŠí%_ECíÜÖ¦=Ì!¿ƒ.`áh¢Ÿ›�›_úÚzTŸõÊ<·Ý¦tðØ]ÂØÎåF Íeí*‚)7�ou Ð®„G¤#„œ<…±xÒ�' ýÒ,(ƒöFÓá=�½1Ù¤?°"¾V~>%±¨+ª“g€U8³ü®‰ù/ëmkšx¬ð@Nz;¤©bõÜþ‘XM70“�e,Uâ3øz6ƒlòJ–ÝÀ}ºt²áLU?Ä¸
ÓÃ€J%™Ô	Ç,=K@Gèºf¯ÑLyEq9>Xg»Œc"C­éª‰*ÖÆP"	Äz9‚Í£¯%uXN�üiû–{§nm&‡ö�Èå’4J4°ñ¡Ãæ¸2RÆ°[-<åmyú�¥[ž-ÚJ\§Ð«úÔvùÑ0±)8a.Œ²ý¹*Á‹£Ðfõ%6®p5„>[I’;T²!¤SX¦¿
Åe¹çq˜A™PLa(ž«"Vchw¢o‡p•ºRÆ\ÃÒ]+»)¹<í�2Ð¬¾*Ð¶»d<æØ¿�í¼0ÜÝÃ–ôvàNu

+ñ¡î¬ž´ÔëËT‘µíéWhÕ˜’|¼-ÈÑÜ{ŒðQ5˜hlC(ª§Ö¬Qýà3¿á
+˜×ÇWÀ³d2ï÷÷Çb;ìøÃ³³½Éˆ¢æ‡RuÉ2oqà
+Y¯·ÞœÁ`¬j�æYMe�”r�Ù¦Ö…GäHÙ�xæ[Ø…cóµ¢1ç™$QFE¬ýÕRKr‘£mÊXž+QM…àHrs TÓbú¨á½pÊòF£«¢êÕA&â¿ÎÏCúàÔãìYÞÿùI¿Z¾|­¾‘G„ÂËâ'	?©mWéœû›r=0;Êi“éœZg”]Ì3Ð®,VßÜ:fðŒVÑô2}7ïÕSî >½ˆÎ•#'µZvD°¥ÑPõÝ°^„9-Üà:®ÝÉ¡:È-âûÄ‰¢ßLC»ýOû×evóêÏqì}­A§ÞƒƒšB†Ú
m{ånc¨ˆ¼óä»Â]‰|ßñô‰»øý¸³Ž4Z9p%¾}‚QL©Š,w]¶·*":DÅ9Z×wÅ–ÚNTBŸI\½Ò{@Mÿ�f•}ëÀDþáö›la jioŠ^xd8k€|CïD†1 ™O¢×3V^bÈb3sIµyÿP²�c¥¨ŽÞ‡aÌ¹ê«$œù
+ï–·ÛKêéq_‹Ž†nÏE�³ã3ö—?þ÷­#V!w,Å´¯=Šsë�ËzÍ8ò
Ô{Û„`Jš±äsènÃ€ŽAËo‚t âRjçf?(=ê¸dÍŠ#Bw\ŸÜ7ÞëÀì¥&M_m÷”&X¨:9ÊÃ± $ÌN/d5´æ³c'À•^š¼Ø$r:½ÞB�ôÕ•HyfÁñõ.çj¤¦ðž;²L—Çègt&~×Ô¨füc­¡êÝ56žÓÏ)!‡GUOÍ½º!éêQ…ïl:@ šçJ7w£8j
%‹7‹Éð5M}ò€O~yPŽ¯Ixœ`Sªs�®¾ADÄü¹>ìÎDÀ†¯
+b1YÒ.çþgy=ÎãÙ1\ß‚-™aãK¶g×Ð^Ž`"�O¥I/r©ÛãŸ“�‹^ª��~û¼E	K¦’_YÙÒt‘ã]È“#“Ä_<h>u­`(IlÈ¸xÛž)Ra¤¬.
+ßŽ¡1ºŠ†ÿi
+^�ËåÎDµ¦Ev¸¶jizN[kù `lÿ(k²¼É’†Êó�ÛzÚY6 î�ÞÙ7øÁÏµ©SÄ.*Kn÷–eÆ
›‘n˜N	    TLS: %A	<corrupt: 0x%04lx>	Export Address Table 			Export Address Table 		%08lx
+	Invalid Export Address Table rva (0x%lx) or entry count (0x%lx)
+	Invalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)
+	Invalid Ordinal Table rva (0x%lx) or entry count (0x%lx)
+	Name Pointer Table 			Ordinal Table 				[%4ld] <corrupt offset: %lx>
+	[Name Pointer/Ordinal] Table	%08lx
+	code-base %08lx toc (loadable/actual) %08lx/%08lx
+	non-TLS: %A	reloc %4d offset %4x [%4lx] %s	vma:  Hint/Ord Member-Name Bound-To
+
+	DLL Name: %.*s
+
+
+PE File Base Relocations (interpreted .reloc section contents)
+
+      End+1 symbol: %-7ld   Type:  %s
+      End+1 symbol: %ld
+      First symbol: %ld
+      Local symbol: %ld
+      Type: %s
+      enum; End+1 symbol: %ld
+      struct; End+1 symbol: %ld
+      union; End+1 symbol: %ld
+ version array off: %u
+
+Characteristics 0x%x
+
+Dump of %s
+
+Dynamic Section:
+
+Error: section %s contains the debug data starting address but it is too small
+
+Exec Auxiliary Header
+
+Export Address Table -- Ordinal Base %ld
+
+Function descriptor located at the start address: %04lx
+
+No reldata section! Function descriptor not decoded.
+
+Partition[%d] start  = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
+
+Program Header:
+
+Stack size for functions.  Annotations: '*' max stack, 't' tail call
+
+The Export Tables (interpreted %s section contents)
+
+
+The Function Table (interpreted %s section contents)
+
+The Function Table (interpreted .pdata section contents)
+
+The Import Tables (interpreted %s section contents)
+
+There is a debug directory in %s at 0x%lx
+
+
+There is a debug directory in %s, but that section has no contents
+
+There is a debug directory, but the section containing it could not be found
+
+There is a first thunk, but the section containing it could not be found
+
+There is an export table in %s at 0x%lx
+
+There is an export table in %s, but it does not fit into that section
+
+There is an export table in %s, but it is too small (%d)
+
+There is an export table in %s, but that section has no contents
+
+There is an export table, but the section containing it could not be found
+
+There is an import table in %s at 0x%lx
+
+There is an import table in %s, but that section has no contents
+
+There is an import table, but the section containing it could not be found
+
+Version References:
+
+Version definitions:
+
+Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld
+
+WARNING: Extra data in .rsrc section - it will be ignored by Windows:
+
+[Ordinal/Name Pointer] Table
+
+ppcboot header:
+        pc: 0x%08x
+    *unhandled* cmd %u
+    address: 0x%08x
+    address: 0x%08x, size: %u
+    flags: %u, address: 0x%08x, pd-address: 0x%08x
+    global name: %.*s
+    len: %u bits
+    linkage index: %u, replacement insn: 0x%08x
+    name: %.*s
+    pc: 0x%08x
+    pc: 0x%08x line: %5u
+    psect idx 1: %u, offset 1: 0x%08x %08x
+    psect idx 2: %u, offset 2: 0x%08x %08x
+    psect idx 3: %u, offset 3: 0x%08x %08x
+    psect: %u, offset: 0x%08x %08x
+    routine name: %.*s
+   %02u    (type: %3u, size: 4+%3u):    *unhandled* cmd %u
+   Error: The compile date is truncated
+   Error: The length is less than the length of an EEOM record
+   Error: The length is less than the length of an EMH record
+   Error: The module name is missing
+   Error: The module name is too long
+   Error: The module version is missing
+   Error: The module version is too long
+   Error: The record length is less than the size of an EMH_MHD record
+   Error: length larger than remaining space in record
+   alignment  : 2**%u
+   alloc (len)   : %u (0x%08x)
+   alloc (len): %u (0x%08x)
+   ascii ident   : %.*s
+   binary ident  : 0x%08x
+   bitmap: 0x%08x (count: %u):
+   code address: 0x%08x
+   compile date   : %.17s
+   compiler   : %.*s
+   completion code: %u
+   copyright: %.*s
+   declfile: len: %u, flags: %u, fileid: %u
+   deflines %u
+   entity name   : %.*s
+   entry point: 0x%08x
+   error severity: %x
+   file: %.*s
+   filename   : %.*s
+   flags         : 0x%08x   flags      : 0x%04x   flags: %d, language: %u, major: %u, minor: %u
+   flags: 0x%04x   formfeed
+   id match      : %x
+   image offset  : 0x%08x
+   language name: %.*s
+   linkage index: %u, global: %.*s
+   linkage index: %u, procedure name: %.*s
+   linkage index: %u, procedure: %.*s
+   linkage index: %u, psect: %u, offset: 0x%08x %08x
+   max record size: %u
+   module name    : %.*s
+   module name: %.*s
+   module version : %.*s
+   name          : %.*s
+   name        : %.*s
+   name       : %.*s
+   number of cond linkage pairs: %u
+   object name   : %.*s
+   offset: 0x%08x, val: 0x%08x
+   proc descr : 0x%08x
+   psect index : %u
+   psect index for entry point : %u
+   psect index: %u
+   psect offset: %u
+   psect offset: 0x%08x
+   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u
+   setfile %u
+   setlnum %u
+   setrec %u
+   signature: %.*s
+   structure level: %u
+   symbol vector offset: 0x%08x
+   symvec offset : 0x%08x
+   title: %.*s
+   transfer addr flags: 0x%02x
+   transfer addr psect: %u
+   transfer address   : 0x%08x
+   vector      : 0x%08x
+   version mask: 0x%08x
+  %s (len=%u+%u):
+  %u: size: %u, flags: 0x%02x, name: %.*s
+  EEOM (len=%u):
+  EGSD (len=%u):
+  EGSD entry %2u (type: %u, len: %u):   EMH %u (len=%u):   base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x   base_va : 0x%08x
+  bitcount: %u, base addr: 0x%08x
+  branch       %lu
+  toc adjust   %lu
+  long branch  %lu
+  long toc adj %lu
+  plt call     %lu
+  plt call toc %lu
+  global entry %lu  calls:
+  chgprtoff : %5u
+  codeadroff: %5u, lpfixoff  : %5u
+  fixuplnk: 0x%08x %08x
+  flags: 0x%08x
+  iaflink : 0x%08x %08x
+  image %u (%u entries)
+  image %u (%u entries), offsets:
+  lppsbfixoff: %5u
+  psect start: 0x%08x, length: %u
+  qdotadroff: %5u, ldotadroff: %5u
+  qrelfixoff: %5u, lrelfixoff: %5u
+  required from %s:
+  shlextra  : %5u, permctx   : %5u
+  shlstoff  : %5u, shrimgcnt : %5u
+  size : %u
+  the input  file's flags: %s  the output file's flags: %s %08x 0x%08x 64B <EABI version unrecognised> BPAGE: %u COM COMM Change Protection (%u entries):
+ Code Address Reference Fixups:
+ DEF EXE FPU support required:  First address : 0x%08x 0x%08x
+ Fourth address: 0x%08x 0x%08x
+ GBL Glue code sequence LIB Linkage Pairs Reference Fixups:
+ NOMOD NORM OVR PIC QVAL RD REL Register restore millicode Register save millicode Resources start at offset: %#03x
+ SHR Second address: 0x%08x 0x%08x
+ Shareable images:
+ Shared image  : 0x%08x 0x%08x
+ String table starts at offset: %#03x
+ Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d
+ Third address : 0x%08x 0x%08x
+ UNI VEC VECEP WEAK WRT [64-bit doubles] [BE8] [FPA float format] [LE8] [Maverick float format] [VFP float format] [Version1 EABI] [Version2 EABI] [Version3 EABI] [Version4 EABI] [Version5 EABI] [XGATE RAM offsetting] [abi unknown] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [absolute position] [d-float] [dynamic symbols use segment index] [fix dep] [floats passed in float registers] [floats passed in integer registers] [g-float] [hard-float ABI] [interworking enabled] [interworking flag not initialised] [interworking not supported] [interworking supported] [mapping symbols precede others] [memory=bank-model] [memory=flat] [new ABI] [no abi set] [nonpic] [not 32bitmode] [old ABI] [pic] [position independent] [relocatable executable] [soft-float ABI] [software FP] [sorted symbol table] [symbols have a _ prefix] [unknown ISA] [unsorted symbol table] [v10 and v32] [v32] alignment of 8-byte entities:  corrupted GST
+ debug module table : vbn: %u, size: %u
+ debug symbol table : vbn: %u, size: %u (0x%x)
+ fixup info rva:  flags: 0x%04x global symbol table: vbn: %u, records: %u
+ ident: 0x%08x, name: %.*s
+ ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u
+ image build ident: %.*s
+ image ident      : %.*s
+ image name       : %.*s
+ image type: %u (%s) img I/O count: %u, nbr channels: %u, req pri: %08x%08x
+ link time        : %s
+ linker flags: %08x: linker ident     : %.*s
+ long-word .address reference fixups:
+ long-word relocation fixups:
+ majorid: %u, minorid: %u
+ module offset: 0x%08x, size: 0x%08x, (%u psects)
+ offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u
+ quad-word .address reference fixups:
+ quad-word relocation fixups:
+ section: base: 0x%08x%08x size: 0x%08x
+ size of doubles:  type: %3u, len: %3u (at 0x%08x):  unhandled EOBJ record type %u
+ vbn: %u, pfc: %u, matchctl: %u type: %u ( vma:			Begin Address    End Address      Unwind Info
+ vma:		Begin    End      EH       EH       PrologEnd  Exception
+     		Address  Address  Handler  Data     Address    Mask
+ vma:		Begin    Prolog   Function Flags    Exception EH
+     		Address  Length   Length   32b exc  Handler   Data
+ vma:            Hint    Time      Forward  DLL       First
+                 Table   Stamp     Chain    Name      Thunk
+#<Invalid error code>%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d
+%03x %*.s Entry: %A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections%A has both ordered and unordered sections%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)
+%A:0x%v not found in function table
+%B (%s): Section flag %s (%#lx) ignored%B and %B are for different configurations%B and %B are for different cores%B contains CRIS v32 code, incompatible with previous objects%B contains non-CRIS-v32 code, incompatible with previous objects%B has both the current and legacy Tag_MPextension_use attributes%B is not allowed to define %s%B section %A exceeds stub group size%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section%B uses unknown e_flags 0x%lx%B(%#Lx): error: Cannot create STM32L4XX veneer. Jump out of range by %Ld bytes. Cannot encode branch instruction. %B(%A): error: call to undefined function '%s'%B(%A): internal error: dangerous relocation%B(%A): internal error: out of range error%B(%A): internal error: unknown error%B(%A): internal error: unsupported relocation error%B(%A): invalid property table%B(%A): multiple TLS models are not supported%B(%A): relocation %d has invalid symbol index %ld%B(%A): shared library symbol %s encountered whilst performing a static link%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction.%B(%A): warning: unaligned access to symbol '%s' in the small data area%B(%A): warning: unaligned small data access of type %d.%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link%B(%A+%#Lx): %s relocation against SEC_MERGE section%B(%A+%#Lx): %s relocation against external symbol "%s"%B(%A+%#Lx): %s relocation not permitted in shared object%B(%A+%#Lx): %s used with TLS symbol %s%B(%A+%#Lx): %s used with non-TLS symbol %s%B(%A+%#Lx): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value is %#Lx)%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, 16 MSB should be %#x (value is %#Lx)%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group relocations%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section%B(%A+%#Lx): cannot handle %s for %s%B(%A+%#Lx): cannot reach %s%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections%B(%A+%#Lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch%B(%A+%#Lx): could not decode instruction; possible configuration mismatch%B(%A+%#Lx): error: %s with unexpected instruction %#x%B(%A+%#Lx): invalid instruction for TLS relocation %s%B(%A+%#Lx): reloc against `%s': error %d%B(%A+%#Lx): relocation offset out of range (size=%#Lx)%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC%B(%A+%#Lx): unexpected fix for %s relocation%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'%B(%A+%#Lx): unresolvable relocation against symbol `%s'%B(%A+%#lx): Stabs entry has invalid string index.%B(%A+%#x): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.
+Use gcc option -mrestrict-it to generate only one instruction per IT block.
+%B(%A+0x%lx): %d bytes required for alignment to %d-byte boundary, but only %d present%B(%A+0x%lx): Unable to clear RISCV_PCREL_HI20 relocfor cooresponding RISCV_PCREL_LO12 reloc%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete
+%B(%s): warning: interworking not enabled.
+  first occurrence: %B: ARM call to Thumb%B(%s): warning: interworking not enabled.
+  first occurrence: %B: Thumb call to ARM%B(%s): warning: interworking not enabled.
+  first occurrence: %B: arm call to thumb%B(%s): warning: interworking not enabled.
+  first occurrence: %B: thumb call to arm
+  consider relinking with --support-old-code enabled%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'%B, section %A:
+  relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC%B, section %A:
+  relocation %s should not be used in a shared object; recompile with -fPIC%B, section %A:
+  v10/v32 compatible object must not contain a PIC relocation%B, section %A: No PLT for relocation %s against symbol `%s'%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for global symbol: `%s'%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?%B, section %A: relocation %s with no GOT created%B, section %A: relocation %s with non-zero addend %Ld against local symbol%B, section %A: relocation %s with non-zero addend %Ld against symbol `%s'%B, section %A: unresolvable relocation %s against symbol `%s'%B, section `%A', to symbol `%s':
+  relocation %s should not be used in a shared object; recompile with -fPIC%B: !samegp reloc against symbol without .prologue: %s%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32%B: %#Lx: fatal: reloc overflow while relaxing%B: %#Lx: fatal: unaligned %s relocation %#Lx%B: %#Lx: fatal: unaligned branch target for relax-support relocation%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insn %#x%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insns%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc %#Lx%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insn %#x%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insns%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized reloc%B: %#Lx: warning: bad R_SH_USES load offset%B: %#Lx: warning: bad R_SH_USES offset%B: %#Lx: warning: bad count%B: %#Lx: warning: could not find expected COUNT reloc%B: %#Lx: warning: could not find expected reloc%B: %#Lx: warning: symbol in unexpected section%B: %A invalid input section size%B: %A not in order%B: %A points past end of text section%B: %A+%#Lx: No symbol found for INHERIT%B: %A+%#Lx: warning: %s relocation against unexpected insn%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn%B: %A: reloc overflow: %#x > 0xffff%B: %s not absolute%B: %s' accessed both as normal and thread local symbol%B: %s: invalid needed version %d%B: %s: invalid version %u (max %d)%B: %s: reloc overflow: 0x%lx > 0xffff%B: '%s' accessed both as normal and thread local symbol%B: --in-implib only supported for Secure Gateway import libraries.%B: .gnu.version_d invalid entry%B: .gnu.version_r invalid entry%B: .got subsegment exceeds 64K (size %d)%B: .opd is not a regular array of opd entries%B: .preinit_array section is not allowed in DSO%B: .reginfo section size should be %d bytes, actual size is %d%B: .rsrc merge failure: corrupt .rsrc section%B: .rsrc merge failure: unexpected .rsrc size%B: @gprel relocation against dynamic symbol %s%B: @internal branch to dynamic symbol %s%B: @pcrel relocation against dynamic symbol %s%B: ABI is incompatible with that of the selected emulation%B: ABI is incompatible with that of the selected emulation:
+  target emulation `%s' does not match `%s'%B: ABI mismatch: linking %s module with previous %s modules%B: ABI version %ld is not compatible with ABI version %ld output%B: ASE mismatch: linking %s module with previous %s modules%B: Architecture mismatch with previous modules%B: BE8 images only valid in big-endian mode.%B: Bad relocation record imported: %d%B: Bad symbol definition: `Main' set to %s rather than the start address %s
+%B: CALL15 reloc at %#Lx not against global symbol%B: CALL16 reloc at %#Lx not against global symbol%B: Can't find matching LO16 reloc against `%s' for %s at %#Lx in section `%A'%B: Can't relax br (%s) to `%s' at %#Lx in section `%A' with size %#Lx (> 0x1000000).%B: Can't relax br at %#Lx in section `%A'. Please use brl or indirect branch.%B: Cannot handle compressed Alpha binaries.
+   Use compiler flags, or objZ, to generate uncompressed binaries.%B: Cannot link together %s and %s objects.%B: Data Directory size (%lx) exceeds space left in section (%Lx)%B: EF_OR1K_NODELAY flag mismatch with previous modules%B: Error: Debug Data ends beyond end of debug directory.%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file
+%B: Error: search_nds32_elf_blank reports wrong node
+%B: Failed to add renamed symbol %s%B: Failed to find info section for section %d%B: Failed to find link section for section %d%B: Failed to read debug data section%B: Function descriptor relocation with non-zero addend%B: GAS error: unexpected PTB insn with R_SH_PT_16%B: GNU_MBIN section `%A' has invalid sh_info field: %d%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d%B: GOT overflow: Number of relocations with 8-bit offset > %d%B: GOT reloc at %#Lx not expected in executables%B: IMPORT AS directive for %s conceals previous IMPORT AS%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte%B: Instruction set mismatch with previous modules%B: Internal inconsistency error for value for
+ linker-allocated global register: linked: %#Lx != relaxed: %#Lx%B: Invalid relocation type exported: %d%B: Invalid relocation type imported: %d%B: Invalid sh_link field (%d) in section number %d%B: LOCAL directive: Register $%Ld is not a local register.  First global register is $%Ld.%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol%B: Malformed reloc detected for section %A%B: Malformed reloc detected for section %s%B: Nested OMIT_FP in %A.%B: No core to allocate a symbol %d bytes long
+%B: No core to allocate section name %s
+%B: No symbol version section for versioned symbol `%s'%B: Not enough room for program headers, try linking with -N%B: Only registers %%g[2367] can be declared using STT_REGISTER%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive%B: Relocation %s (%d) is not currently supported.
+%B: Relocation %s is not yet supported for symbol %s.%B: Relocations in generic ELF (EM: %d)%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined%B: SHT_GROUP section [index %d] has no SHF_GROUP sections%B: Special symbol `%s' only allowed for ARMv8-M architecture or later.%B: TLS local exec code cannot be linked into shared objects%B: TLS sections are not adjacent:%B: TLS transition from %s to %s against `%s' at %#Lx in section `%A' failed%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry%B: The first section in the PT_DYNAMIC segment is not the .dynamic section%B: The target (%s) of an %s relocation is in the wrong section (%A)%B: Too many sections: %d (>= %d)%B: Unable to sort relocs - they are in more than one size%B: Unable to sort relocs - they are of an unknown size%B: Unhandled import type; %x%B: Unknown architecture %s%B: Unknown mandatory ARC object attribute %d.%B: Unknown mandatory EABI object attribute %d%B: Unknown relocation type %d
+%B: Unknown section type in a.out.adobe file: %x
+%B: Unmatched OMIT_FP in %A.%B: Unrecognised .directive command: %s%B: Unrecognised import name type; %x%B: Unrecognised import type; %x%B: Unrecognised machine type (0x%x) in Import Library Format archive%B: Unrecognized storage class %d for %s symbol `%s'%B: Unsupported transition from %s to %s%B: Warning: Arm BLX instruction targets Arm function '%s'.%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s%B: Warning: Thumb BLX instruction targets thumb function '%s'.%B: Warning: bad `%s' option size %u smaller than its header%B: Warning: cannot determine the target function for stub section `%s'%B: Warning: thumb-1 mode PLT generation not currently supported%B: XCOFF shared object when not producing XCOFF output%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld%B: __gp does not cover short data segment%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC%B: `%s' accessed both as FDPIC and thread local symbol%B: `%s' accessed both as normal and FDPIC symbol%B: `%s' accessed both as normal and thread local symbol%B: `%s' and its special symbol are in different sections.%B: `%s' has line numbers but no enclosing section%B: `%s' in loader reloc but not loader sym%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)%B: `ld -r' not supported with PE MIPS objects
+%B: absent standard symbol `%s'.%B: access beyond end of merged section (%Ld)%B: addend %s%#x in relocation %s against symbol `%s' at %#Lx in section `%A' is out of range%B: address %#Lx out of range for Intel Hex file%B: aout header specifies an invalid number of data-directory entries: %ld%B: attempt to emit contents at non-multiple-of-4 address %#Lx%B: attempt to load strings from a non-string section (number %d)%B: attempt to mix FDPIC and non-FDPIC objects%B: attempt to write out unknown reloc type%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld%B: bad pair/reflo after refhi
+%B: bad reloc address %#Lx in section `%A'%B: bad reloc symbol index (%#Lx >= %#lx) for offset %#Lx in section `%A'%B: bad relocation section name `%s'%B: bad section length in ihex_read_section%B: bad string table size %Lu%B: bad symbol index: %d%B: base-plus-offset relocation against register symbol: %s in %A%B: base-plus-offset relocation against register symbol: (unknown) in %A%B: can not represent section `%A' in a.out object file format%B: can not represent section `%A' in oasys%B: can not represent section for symbol `%s' in a.out object file format%B: can't link hard-float modules with soft-float modules%B: cannot allocate file name for file number %d, %d bytes
+%B: cannot create stub entry %s%B: cannot link fdpic object file into non-fdpic executable%B: cannot link non-fdpic object file into fdpic executable%B: change in gp: BRSGP %s%B: class %d symbol `%s' has no aux entries%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s%B: compiled as 32-bit object and %B is 64-bit%B: compiled as 64-bit object and %B is 32-bit%B: compiled for a 64 bit system and target is 32 bit%B: compiled for a big endian system and target is little endian%B: compiled for a little endian system and target is big endian%B: compiled normally and linked with modules compiled with -mrelocatable%B: compiled with %s and linked with modules compiled with %s%B: compiled with %s and linked with modules that use non-pic relocations%B: compiled with -mrelocatable and linked with modules compiled normally%B: corrupt size field in group section header: %#Lx%B: corrupt symbol count: %#Lx%B: could not find output section %A for input section %A%B: could not read contents of section `%A'
+%B: could not write out added .cranges entries%B: could not write out sorted .cranges entries%B: csect `%s' not in enclosing section%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object%B: directive LOCAL valid only with a register or absolute value%B: dtp-relative relocation against dynamic symbol %s%B: duplicate export stub %s%B: duplicate section `%A' has different contents
+%B: duplicate section `%A' has different size
+%B: dynamic object with no .loader section%B: dynamic relocation against `%T' in read-only section `%A'
+%B: dynamic relocation in read-only section `%A'
+%B: encountered datalabel symbol in input%B: endianness incompatible with that of the selected emulation%B: entry function `%s' is empty.%B: entry function `%s' not output.%B: error: ABI mismatch with previous modules.%B: error: Alignment power %d of section `%A' is too big%B: error: Cannot create STM32L4XX veneer.%B: error: Cannot set _ITB_BASE_%B: error: Cortex-A8 erratum stub is allocated in unsafe location%B: error: Cortex-A8 erratum stub out of range (input file too large)%B: error: Erratum 835769 stub out of range (input file too large)%B: error: Erratum 843419 stub out of range (input file too large)%B: error: Instruction set mismatch with previous modules.%B: error: PHDR segment not covered by LOAD segment%B: error: VFP11 veneer out of range%B: error: attribute section length too small: %ld%B: error: non-load segment %d includes file header and/or program header%B: error: unaligned relocation type %d at %#Lx reloc %#Lx%B: error: unaligned relocation type %d at %08Lx reloc %08Lx%B: error: unexpected symbol '%s' in COMDAT section%B: error: unknown mandatory EABI object attribute %d%B: error: unknown relocation type %d.%B: failed to generate import library%B: fatal: generic symbols retrieved before relaxing%B: file class %s incompatible with %s%B: gp-relative relocation against dynamic symbol %s%B: group section '%A' has no contents%B: hidden symbol `%s' in %B is referenced by DSO%B: hidden symbol `%s' isn't defined%B: ignoring duplicate section `%A'
+%B: illegal relocation type %d at address %#Lx%B: illegal section name `%A'%B: illegal symbol index %ld in relocs%B: illegal symbol index in reloc: %ld%B: incompatible machine type. Output is 0x%x. Input is 0x%x%B: incorrect size for symbol `%s'.%B: indirect symbol `%s' to `%s' is a loop%B: internal error in ihex_read_section%B: internal error, internal register section %A had contents
+%B: internal error, symbol table changed size from %d to %d words
+%B: internal symbol `%s' in %B is referenced by DSO%B: internal symbol `%s' isn't defined%B: invalid AVR reloc number: %d%B: invalid CR16C reloc number: %d%B: invalid CRIS reloc number: %d%B: invalid D10V reloc number: %d%B: invalid D30V reloc number: %d%B: invalid Epiphany reloc number: %d%B: invalid FR30 reloc number: %d%B: invalid FRV reloc number: %d%B: invalid IP2K reloc number: %d%B: invalid IQ2000 reloc number: %d%B: invalid LM32 reloc number: %d%B: invalid M32C reloc number: %d%B: invalid M32R reloc number: %d%B: invalid M68HC11 reloc number: %d%B: invalid M68HC12 reloc number: %d%B: invalid MEP reloc number: %d%B: invalid METAG reloc number: %d%B: invalid MMIX reloc number: %d%B: invalid MSP430 reloc number: %d%B: invalid MSP430X reloc number: %d%B: invalid MT reloc number: %d%B: invalid Moxie reloc number: %d%B: invalid NDS32 reloc number: %d%B: invalid OR1K reloc number: %d%B: invalid RL78 reloc number: %d%B: invalid RX reloc number: %d%B: invalid SHT_GROUP entry%B: invalid V850 reloc number: %d%B: invalid Visium reloc number: %d%B: invalid XGate reloc number: %d%B: invalid XTENSA reloc number: %d%B: invalid i960 reloc number: %d%B: invalid import library entry: `%s'.%B: invalid link %u for reloc section %s (index %u)%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)
+%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote
+%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx
+%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo
+%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc
+%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx
+%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d
+%B: invalid mmo file: file name for number %d was not specified before use
+%B: invalid mmo file: file number %d `%s', was already entered as `%s'
+%B: invalid mmo file: initialization value for $255 is not `Main'
+%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx
+%B: invalid mmo file: lop_end not last item in file
+%B: invalid mmo file: unsupported lopcode `%d'
+%B: invalid relocation type %d%B: invalid size field in group section header: %#Lx%B: invalid special symbol `%s'.%B: invalid standard symbol `%s'.%B: invalid start address for initialized registers of length %Ld: %#Lx%B: invalid string offset %u >= %Lu for section `%s'%B: invalid symbol table: duplicate symbol `%s'
+%B: jump too far away
+%B: line number overflow: 0x%lx > 0xffff%B: linking %s module with previous %s modules%B: linking 32-bit code with 64-bit code%B: linking 64-bit files with 32-bit files%B: linking UltraSPARC specific with HAL specific code%B: linking auto-pic files with non-auto-pic files%B: linking big-endian files with little-endian files%B: linking constant-gp files with non-constant-gp files%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double%B: linking files compiled for HCS12 with others compiled for HC12%B: linking little endian files with big endian files%B: linking non-pic code in a position independent executable%B: linking trap-on-NULL-dereference with non-trapping files%B: loader reloc in read-only section %A%B: loader reloc in unrecognized section `%s'%B: local symbol `%s' in %B is referenced by DSO%B: misplaced XTY_LD `%s'%B: missing TLS section for relocation %s against `%s' at %#Lx in section `%A'.%B: no group info for section '%A'%B: no initialized registers; section length 0
+%B: no symbol found for import library%B: no valid group sections found%B: non-pic code with imm relocation against dynamic symbol `%s'%B: non-zero symbol index (%#Lx) for offset %#Lx in section `%A' when the object file has no symbol table%B: not enough memory to allocate space for %#Lx symbols of size %#Lx%B: object size does not match that of target %B%B: out of memory creating name for empty section%B: out of memory in _bfd_elf_get_property%B: page size is too large (0x%x)%B: pc-relative relocation against dynamic symbol %s%B: pc-relative relocation against undefined weak symbol %s%B: plugin needed to handle lto object%B: probably compiled without -fPIC?%B: protected symbol `%s' isn't defined%B: register relocation against non-register symbol: %s in %A%B: register relocation against non-register symbol: (unknown) in %A%B: reloc %s:%Ld not in csect%B: reloc against a non-existent symbol index: %ld%B: relocatable link from %s to %s not supported%B: relocation %s against %s%s`%s' can not be used when making %s%s%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %Ld%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported%B: relocation %s against `%s' can not be used when making a shared object%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC%B: relocation %s against symbol `%s' isn't supported in x32 mode%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC%B: relocation %s can not be used when making a shared object; recompile with -fPIC%B: relocation %s cannot be used when making a shared object%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend%B: relocation size mismatch in %B section %A%B: relocs in section `%A', but it has no contents%B: section %A lma %#Lx adjusted to %#Lx%B: section %A: string table overflow at offset %ld%B: section `%A' can't be allocated in segment %d%B: section group entry number %u is corrupt%B: sh_link [%d] in section `%A' is incorrect%B: sh_link of section `%A' points to discarded section `%A' of `%B'%B: sh_link of section `%A' points to removed section `%A' of `%B'%B: short data segment overflowed (%#Lx >= 0x400000)%B: size field is zero in Import Library Format header%B: speculation fixup to dynamic symbol %s%B: stack size specified and %s set%B: string not null terminated in ILF object file.%B: string too long (%ld chars, max 65535)%B: support for local dynamic not implemented%B: symbol `%s' has unrecognized csect type %d%B: symbol `%s' has unrecognized smclas %d%B: symbol `%s' required but not present%B: taking the address of protected function '%s' cannot be done when making a shared library%B: the target (%s) of a %s relocation is in the wrong output section (%s)%B: too many initialized registers; section length %Ld%B: too many sections (%d)%B: too many sections: %u%B: tp-relative relocation against dynamic symbol %s%B: unable to create fake empty section%B: unable to fill in DataDictionary[12] because .idata$5 is missing%B: unable to fill in DataDictionary[1] because .idata$2 is missing%B: unable to fill in DataDictionary[1] because .idata$4 is missing%B: unable to fill in DataDictionary[9] because __tls_used is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing%B: unable to find ARM glue '%s' for `%s'%B: unable to find STM32L4XX veneer `%s'%B: unable to find THUMB glue '%s' for `%s'%B: unable to find VFP11 veneer `%s'%B: unable to find name for empty section%B: unable to get decompressed section %A%B: unable to initialize compress status for section %s%B: unable to initialize decompress status for section %s%B: unable to load COMDAT section name%B: undefined reference to symbol '%s'%B: undefined sym `%s' in .opd section%B: undefined symbol on R_PPC64_TOCSAVE relocation%B: unexpected ATN type %Ld in external part%B: unexpected redefinition of indirect versioned symbol `%s'%B: unexpected reloc type %u in .opd section%B: unexpected type after ATN%B: unhandled dynamic relocation against %s%B: unimplemented %s
+%B: unimplemented ATI record %u for symbol %u%B: unknown load command %#x%B: unknown relocation type %d%B: unknown relocation type %d for symbol %s%B: unknown type [%#x] section `%s'%B: unknown type [%#x] section `%s' in group [%A]%B: unknown/unsupported relocation type %d%B: unrecognised Alpha reloc number: %d%B: unrecognised CR16 reloc number: %d%B: unrecognised CRX reloc number: %d%B: unrecognised I370 reloc number: %d%B: unrecognised MCore reloc number: %d%B: unrecognised MN10300 reloc number: %d%B: unrecognised MicroBlaze reloc number: %d%B: unrecognised PPC reloc number: %d%B: unrecognised PicoJava reloc number: %d%B: unrecognised SH reloc number: %d%B: unrecognised SPU reloc number: %d%B: unrecognised VAX reloc number: %d%B: unrecognized relocation (%#x) in section `%A'%B: unrecognized symbol `%s' flags 0x%x%B: unsupported non-PIC call to IFUNC `%s'%B: unsupported relocation type %d%B: unsupported relocation type %i
+%B: unsupported relocation type %s%B: unsupported relocation type 0x%02x%B: unsupported relocation: ALPHA_R_GPRELHIGH%B: unsupported relocation: ALPHA_R_GPRELLOW%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'
+%B: uses %s instructions while previous modules use %s instructions%B: uses _-prefixed symbols, but writing file with non-prefixed symbols%B: uses different e_flags (%#x) fields than previous modules (%#x)%B: uses different unknown e_flags (%#x) fields than previous modules (%#x)%B: uses instructions which are incompatible with instructions used in previous modules%B: uses non-prefixed symbols, but writing file with _-prefixed symbols%B: version count (%Ld) does not match symbol count (%ld)%B: version node not found for symbol %s%B: visibility of symbol `%s' has changed.%B: warning core file truncated%B: warning: %A: line number overflow: %#x > 0xffff%B: warning: %s points to unrecognized reloc at %#Lx%B: warning: %s relocation against symbol `%s' from %A section%B: warning: %s relocation to %#Lx from %A section%B: warning: %s: line number overflow: 0x%lx > 0xffff%B: warning: COMDAT symbol '%s' does not match section name '%s'%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?%B: warning: Endian mismatch with previous modules.%B: warning: GOT addend of %Ld to `%s' does not match previous GOT addend of %Ld%B: warning: Incompatible elf-versions %s and  %s.%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags%B: warning: No symbol for section '%s' found%B: warning: Older version of object file encountered, Please recompile with current tool chain.%B: warning: PLT addend of %Ld to `%s' from %A section ignored%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)%B: warning: allocated section `%s' not in segment%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode.%B: warning: claims to have 0xffff relocs, without overflow%B: warning: duplicate line number information for `%s'%B: warning: illegal symbol in line number entry %d%B: warning: illegal symbol index %ld in relocs%B: warning: illegal symbol index 0x%lx in line number entry %d%B: warning: isymMax (%ld) is greater than ifdMax (%ld)%B: warning: line number count (%#lx) exceeds section size (%#lx)%B: warning: line number table read failed%B: warning: linking PIC files with non-PIC files%B: warning: linking abicalls files with non-abicalls files%B: warning: loop in section dependencies detected%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u%B: warning: multiple symbol tables detected - ignoring the table in section %u%B: warning: relocate SDA_BASE failed.%B: warning: segment alignment of %#Lx is too large%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture%B: warning: selected VFP11 erratum workaround is not necessary for target architecture%B: warning: sh_link not set for section `%A'%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.
+%B: warning: unaligned access to GOT entry.%B: warning: unaligned small data access for entry: {%Ld, %Ld, %Ld}, addr = %#Lx, align = %#x%B: warning: unknown EABI object attribute %d%B: will not resolve runtime TLS relocation%B:%A%s exceeds overlay size
+%B:%A: %s and %s must be in the same input section%B:%A: Warning: deprecated Red Hat reloc %B:%A: error: relocation references symbol %s which was removed by garbage collection.%B:%A: error: try relinking with --gc-keep-exported enabled.%B:%A: table %s missing corresponding %s%B:%A: table entry %s not word-aligned within table%B:%A: table entry %s outside table%B:%d: Bad checksum in S-record file
+%B:%d: Unexpected character `%s' in S-record file
+%B:%d: byte count %d too small
+%B:%d: unexpected character `%s' in Intel Hex file%B:%s has both normal and TLS relocs%B:%s section %s: alignment 2**%u not representable%B:%u: bad checksum in Intel Hex file (expected %u, found %u)%B:%u: bad extended address record length in Intel Hex file%B:%u: bad extended linear address record length in Intel Hex file%B:%u: bad extended linear start address length in Intel Hex file%B:%u: bad extended start address length in Intel Hex file%B:%u: unrecognized ihex type %u in Intel Hex file%C: warning: relocation to "%s" references a different segment
+%F%A: failed to align section
+%F%B: PC-relative offset overflow in GOT PLT entry for `%s'
+%F%B: PC-relative offset overflow in PLT entry for `%s'
+%F%B: branch displacement overflow in PLT entry for `%s'
+%F%P: already_linked_table: %E
+%F%P: auto overlay error: %E
+%F%P: can not build overlay stubs: %E
+%F%P: corrupt input: %B
+%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie
+%F%P: failed to convert GOTPCREL relocation; relink with --no-relax
+%F%P: failed to create BND PLT section
+%F%P: failed to create GNU property section
+%F%P: failed to create GOT PLT .eh_frame section
+%F%P: failed to create GOT PLT section
+%F%P: failed to create GOT sections
+%F%P: failed to create IBT-enabled PLT section
+%F%P: failed to create PLT .eh_frame section
+%F%P: failed to create VxWorks dynamic sections
+%F%P: failed to create ifunc sections
+%F%P: failed to create the second PLT .eh_frame section
+%H __tls_get_addr lost arg, TLS optimization disabled
+%H arg lost __tls_get_addr, TLS optimization disabled
+%H: %s against `%T': error %d
+%H: %s for indirect function `%T' unsupported
+%H: %s references optimized away TOC entry
+%H: %s reloc against `%s': error %d
+%H: %s reloc against local symbol
+%H: %s reloc unsupported in shared libraries and PIEs.
+%H: %s used with TLS symbol `%T'
+%H: %s used with non-TLS symbol `%T'
+%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend
+%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend
+%H: R_FRV_GETTLSOFF not applied to a call instruction
+%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction
+%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction
+%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction
+%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction
+%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction
+%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction
+%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction
+%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction
+%H: R_FRV_TLSMOFFHI not applied to a sethi instruction
+%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction
+%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)
+%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC
+%H: cannot emit dynamic relocations in read-only section
+%H: cannot emit fixups in read-only section
+%H: error: %s against `%s' not a multiple of %u
+%H: error: %s not a multiple of %u
+%H: fixup branch overflow
+%H: non-zero addend on %s reloc against `%s'
+%H: reloc against `%s' references a different segment
+%H: reloc against `%s': %s
+%H: relocation %s for indirect function %s unsupported
+%H: relocation references symbol not defined in the module
+%H: relocation to `%s+%v' may have caused the error above
+%H: toc optimization is not supported for %s instruction.
+%H: unresolvable %s against `%T'
+%H: unresolvable %s relocation against symbol `%s'
+%H: warning: %s unexpected insn %#x.
+%P%F: --relax and -r may not be used together
+%P%X: can not read symbols: %E
+%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC
+%P%X: read-only segment has dynamic relocations.
+%P: %B .opd not allowed in ABI version %d
+%P: %B: %s is not supported for `%T'
+%P: %B: cannot create stub entry %s
+%P: %B: relocation %s is not yet supported for symbol %s
+%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)
+%P: %B: unexpected relocation type
+%P: %B: unknown relocation type %d for `%T'
+%P: %B: unknown relocation type %d for symbol %s
+%P: %B: warning: relocation against `%s' in read-only section `%A'
+%P: %B: warning: relocation in read-only section `%A'
+%P: %s not defined in linker created %s
+%P: %s offset too large for .eh_frame sdata4 encoding%P: .eh_frame_hdr entry overflow.
+%P: .eh_frame_hdr refers to overlapping FDEs.
+%P: DW_EH_PE_datarel unspecified for this architecture.
+%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.
+%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.
+%P: alternate ELF machine code found (%d) in %B, expecting %d
+%P: bss-plt forced by profiling
+%P: bss-plt forced due to %B
+%P: can't build branch stub `%s'
+%P: can't find branch stub `%s'
+%P: cannot find opd entry toc for `%T'
+%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc
+%P: copy reloc against protected `%T' is dangerous
+%P: dynreloc miscount for %B, section %A
+%P: error in %B(%A); no .eh_frame_hdr table will be created.
+%P: linkage table error against `%T'
+%P: long branch stub `%s' offset overflow
+%P: multiple entry points: in modules %B and %B
+%P: relocatable link is not supported
+%P: stubs don't match calculated size
+%P: symbol '%s' has invalid st_other for ABI version 1
+%P: warning: --plt-localentry is especially dangerous without ld.so support to detect ABI violations.
+%P: warning: creating a DT_TEXTREL in a shared object.
+%P: warning: text relocations and GNU indirect functions may result in a segfault at runtime
+%X%C: relocation to "%s" references a different segment
+%X%H: @local call to ifunc %s
+%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range
+%X%H: Unsupported JALX to the same ISA mode
+%X%H: Unsupported branch between ISA modes
+%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled
+%X%H: unsupported bss-plt -fPIC ifunc %s
+%X%P: %B(%A): error: relocation for offset %V has no value
+%X%P: %B(%A): relocation "%R" goes out of range
+%X%P: %B(%A): relocation "%R" is not supported
+%X%P: %B(%A): relocation "%R" returns an unrecognized value %x
+%X%P: overlay section %A does not start on a cache line.
+%X%P: overlay section %A is larger than a cache line.
+%X%P: overlay section %A is not in cache area.
+%X%P: overlay sections %A and %A do not start at the same address.
+%X%P: stack/lrlive analysis error: %E
+%X%P: text relocations and GNU indirect functions will result in a segfault at runtime
+%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B
+%s defined on removed toc entry%s duplicated
+%s duplicated in %s
+%s has both normal and TLS relocs%s in overlay section%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A%s: TLS definition in %B section %A mismatches non-TLS reference in %B%s: TLS reference in %B mismatches non-TLS definition in %B section %A%s: TLS reference in %B mismatches non-TLS reference in %B%s: no such symbol%s: not implemented%s: not supported%s: undefined version: %s(at bit offset %u)
+(descriptor)
+(format %c%c%c%c signature %s age %ld)
+(no value)
+(not active)
+(not allocated)
+(reg: %u, disp: %u, indir: %u, kind: (thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)(too many global variables for -fpic: recompile with -fPIC)(trailing value)
+(value spec follows)
+)
+*** check this relocation %s*unhandled*
+*unhandled* dst type %u
+*unknown**unknown*        , Value: %#08lx
+, alias: %u
+, ext fixup offset: %u, no_opt psect off: %u, subtype: %u (%s)
+, symbol vector rva: - %B is 64-bit, %B is not-mips32r2 -mfp64 (12 callee-saved).got section not immediately after .plt section.rsrc merge failure: a directory matches a leaf.rsrc merge failure: differing directory versions
+.rsrc merge failure: dirs with differing characteristics
+.rsrc merge failure: duplicate leaf.rsrc merge failure: duplicate leaf: %s.rsrc merge failure: duplicate string resource: %d.rsrc merge failure: multiple non-default manifests32-bit double, 32bits gp relative relocation occurs for an external symbol4-byte4-bytes64 bits *unhandled*
+64-bit double, 8-byte8-bytes: m32r instructions: m32r2 instructions: m32rx instructions: n1 instructions: n1h instructions; recompile with -fPIC<Unrecognised flag bits set><corrupt info> %s<corrupt string length: %#x>
+<corrupt string offset: %#lx>
+<corrupt><unknown directory type: %d>
+<unknown>@pltoff reloc against local symbolArchive has no index; run ranlib to add oneArchive object file in wrong formatAttempt to convert L32R/CALLX to CALL failedAttempt to do relocatable link with %s input and %s outputBASE_IMAGE       BFD %s assertion fail %s:%dBFD %s internal error, aborting at %s:%d
+BFD %s internal error, aborting at %s:%d in %s
+BFD Link Error: branch (PC rel16) to section (%s) not supportedBFD Link Error: jump (PC rel26) to section (%s) not supportedBad valueBase Relocation Directory [.reloc]Bound Import DirectoryBounds:
+Branch to a non-instruction-aligned addressCACHE use: CLICLR Runtime HeaderCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (augment relocation base) %u
+CTL_DFLOC (define location)
+CTL_SETRB (set relocation base)
+CTL_STKDL (stack defined location)
+CTL_STLOC (set location)
+Cannot convert a branch to JALX for a non-word-aligned addressCannot convert a jump to JALX for a non-word-aligned addressCopyright Header
+Corrupt .rsrc section detected!
+Corrupt EEOM record - size is too smallCorrupt EGSD record: its psindx field is too big (%#lx)Corrupt EGSD record: its size (%#x) is too smallCorrupt EGSD record: size (%#x) is larger than remaining space (%#x)Corrupt EGSD record: size (%#x) is too smallCorrupt EIHD record - size is too smallCorrupt ETIR record encounteredCorrupt vms valueDSO missing from command lineDST__K_BEG_STMT_MODE not implementedDST__K_END_STMT_MODE not implementedDST__K_RESET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR_W not implementedDST__K_SET_PC not implementedDST__K_SET_PC_L not implementedDST__K_SET_PC_W not implementedDST__K_SET_STMTNUM not implementedDebug DirectoryDebug module table:
+Debug symbol table:
+Delay Import DirectoryDeprecated %s called
+Deprecated %s called at %s line %d in %s
+Description DirectoryDwarf Error: Abstract instance recursion detected.Dwarf Error: Can't find %s section.Dwarf Error: Could not find abbrev number %u.Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form.Dwarf Error: Info pointer extends beyond end of attributesDwarf Error: Invalid abstract instance DIE ref.Dwarf Error: Invalid maximum operations per instruction.Dwarf Error: Invalid or unhandled FORM value: %#x.Dwarf Error: Line info data is bigger (%#Lx) than the space remaining in the section (%#lx)Dwarf Error: Line info section is too small (%Ld)Dwarf Error: Line info unsupported segment selector size %u.Dwarf Error: Offset (%llu) greater than or equal to %s size (%Lu).Dwarf Error: Ran out of room reading opcodesDwarf Error: Ran out of room reading prologueDwarf Error: Unable to read alt ref %llu.Dwarf Error: Unhandled .debug_line version %d.Dwarf Error: Unknown format content type %Lu.Dwarf Error: Zero format count.Dwarf Error: data count (%Lx) larger than buffer size.Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'.Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3, 4 and 5 information.Dwarf Error: mangled line number section (bad file number).Dwarf Error: mangled line number section.EIHD: (size: %u, nbr blocks: %u)
+ERROR: Attempting to link %B with a binary %B of different architectureEntry function `%s' disappeared from secure code.Entry offset        = 0x%.8lx (%ld)
+Error reading %s: %sError: %B has both the current and legacy Tag_MPextension_use attributesError: The ARC4 architecture is no longer supported.
+Errors encountered processing file %BException Directory [.pdata]Export Directory [.edata (or where ever we found it)]Export Flags 			%lx
+Export RVAFAILED to find previous HI16 relocFILES_VOLUMES    FPU-2.0FPU-3.0Failed to update file offsets in debug directoryFile format is ambiguousFile format not recognizedFile in wrong formatFile too bigFile truncatedFlag field          = 0x%.2x
+Forwarder RVAGALAXY           GOT and PLT relocations cannot be fixed with a non dynamic linker.GP relative relocation used when GP not definedGP relative relocation when _gp not definedGPDISP relocation did not find ldah and lda instructionsGlobal symbol table:
+Hard float (32-bit CPU, 64-bit FPU)
+Hard float (32-bit CPU, Any FPU)
+Hard float (MIPS32r2 64-bit FPU 12 callee-saved)
+Hard float (double precision)
+Hard float (single precision)
+Hard float compat (32-bit CPU, 64-bit FPU)
+Hard or soft float
+ID: %#08lxIDC - Ident Consistency check
+IEEE parser: string length: %#lx longer than buffer: %#lxIMAGE_ACTIVATOR  INPUT_SECTION_FLAGS are not supported.
+IO               Image activation:  (size=%u)
+Image activator fixup: (major: %u, minor: %u)
+Image identification: (major: %u, minor: %u)
+Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)
+Image symbol & debug table: (major: %u, minor: %u)
+Import Address Table DirectoryImport Directory [parts of .idata]Internal Error: RL78 reloc stack overflowInternal Error: RL78 reloc stack underflowInternal inconsistency: remaining %lu != max %lu.
+  Please report this bug.Invalid AArch64 reloc number: %dInvalid DLX reloc number: %dInvalid TARGET2 relocation type '%s'.Invalid bfd targetInvalid contents in %A sectionInvalid operationInvalid output section for .eh_frame_entry: %AInvalid section index in ETIRIs this version of the linker - %s - out of date ?It must be a global or weak function symbol.Jump to a non-instruction-aligned addressJump to a non-word-aligned addressLOGICAL_NAMES    Language Processor Name
+Length              = 0x%.8lx (%ld)
+Linker: cannot init ex9 hash table error 
+Linker: error cannot fixed ex9 relocation 
+Load Configuration DirectoryLocal IFUNC function `%s' in %B
+MEMORY_MANAGEMENTMIPS16 and microMIPS functions cannot call each otherMISC             MMU use: MULTI_PROCESSING Major/Minor 			%d/%d
+Malformed archiveMaximum stack required is 0x%v
+MeP: howto %d has type %dMemory exhaustedModule header
+NETWORKS         NORMALName 				No address assigned to the veneers output section %sNo errorNo more archived filesNo symbolsNoneNonrepresentable section on outputNot enough memory to sort relocationsNumber in:
+OPR_ADD (add)
+OPR_AND (logical and)
+OPR_ASH (arithmetic shift)
+OPR_COM (complement)
+OPR_DIV (divide)
+OPR_EOR (logical exclusive or)
+OPR_INSV (insert field)
+OPR_IOR (logical inclusive or)
+OPR_MUL (multiply)
+OPR_NEG (negate)
+OPR_NOP (no-operation)
+OPR_REDEF (define a literal)
+OPR_REDEF (redefine symbol to curr location)
+OPR_ROT (rotate)
+OPR_SEL (select)
+OPR_SUB (subtract)
+OPR_USH (unsigned shift)
+Object module NOT error-free !
+Offset of veneer for entry function `%s' not a multiple of its size.One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined.Ordinal Base 			%ld
+Output file requires shared library `%s'
+Output file requires shared library `%s.so.%s'
+PC-relative load from unaligned addressPIE executablePOSIX            PROCESS_SCHED    PRVFXDPRVPICPSC - Program section definition
+PTA mismatch: a SHcompact address (bit 0 == 0)PTB mismatch: a SHmedia address (bit 0 == 1)Partition name      = "%s"
+Partition[%d] end    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
+Partition[%d] length = 0x%.8lx (%ld)
+Partition[%d] sector = 0x%.8lx (%ld)
+Please report this bug.
+RL78 ABI conflict: G10 file %B cannot be linked with %s file %BRL78 ABI conflict: cannot link %s file %B with %s file %BRL78 merge conflict: cannot link 32-bit and 64-bit objects togetherR_BFIN_FUNCDESC references dynamic symbol with nonzero addendR_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addendR_FRV_TLSMOFFLO not applied to a setlo or setlos instruction
+Reading archive file mod timestampReference to the far symbol `%s' using a wrong relocation may result in incorrect executionRegister %%g%d used incompatibly: %s in %B, previously %s in %BRegister section has contents
+Relocation for non-REL psectRemoving unused section '%A' in file '%B'ReservedResource Directory [.rsrc]S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your codeSDA relocation when _SDA_BASE_ not definedSECURITY         SEC_RELOC with no relocs in section %ASH Error: unknown reloc type %dSHELL            SHRFXDSHRPICSIMD use: SPSC - Shared Image Program section def
+STABLE           STA_CKARG (compare procedure argument)
+STA_GBL (stack global) %.*s
+STA_LI (stack literal)
+STA_LW (stack longword) 0x%08x
+STA_MOD (stack module)
+STA_PQ (stack psect base + offset)
+STA_QW (stack quadword) 0x%08x %08x
+STC_BOH_GBL (store cond BOH at global addr)
+STC_BOH_PS (store cond BOH at psect + offset)
+STC_BSR_GBL (store cond BSR at global addr)
+STC_BSR_PS (store cond BSR at psect + offset)
+STC_GBL (store cond global)
+STC_GCA (store cond code address)
+STC_LDA_GBL (store cond LDA at global addr)
+STC_LDA_PS (store cond LDA at psect + offset)
+STC_LP (store cond linkage pair)
+STC_LP_PSB (store cond linkage pair + signature)
+STC_NBH_GBL (store cond or hint at global addr)
+STC_NBH_PS (store cond or hint at psect + offset)
+STC_NOP_GBL (store cond NOP at global addr)
+STC_NOP_PS (store cond NOP at psect + offset)
+STC_PS (store cond psect + offset)
+STO_AB (store absolute branch)
+STO_B (store byte)
+STO_BR_GBL (store branch global) *todo*
+STO_BR_PS (store branch psect + offset) *todo*
+STO_CA (store code address) %.*s
+STO_GBL (store global) %.*s
+STO_GBL_LW (store global longword) %.*s
+STO_IMM (store immediate) %u bytes
+STO_IMMR (store immediate repeat) %u bytes
+STO_LW (store longword)
+STO_OFF (store LP with procedure signature)
+STO_OFF (store offset to psect)
+STO_QW (store quadword)
+STO_RB (store relative branch)
+STO_W (store word)
+SYM - Global symbol definition
+SYM - Global symbol reference
+SYMG - Universal symbol definition
+SYMM - Global symbol definition with version
+SYMV - Vectored symbol definition
+SYSGEN           Section has no contentsSecurity DirectorySize error in section %ASoft float
+Source Files Header
+Special DirectorySpurious ALPHA_R_BSR relocStack analysis will ignore the call from %s to %s
+Stack overflow (%d) in _bfd_vms_pushStack size for call graph root nodes.
+Stack underflow in _bfd_vms_popStart address of `%s' is different from previous link.Strides:
+Symbol %s not defined for fixups
+Symbol `%s' has differing types: %s in %B, previously REGISTER in %BSymbol `%s' has differing types: REGISTER in %B, previously %s in %BSymbol needs debug section which does not existSymbol should be absolute, global and refer to Thumb functions.System call errorTLS relocation invalid without dynamic sectionsTOC overflow: %#Lx > 0x10000; try -mminimal-toc when compilingTable Addresses
+The debug data size field in the data directory is too big for the sectionThe debug directory size is not a multiple of the debug directory entry size
+There is a conflict merging the ELF header flags from %BThread Storage Directory [.tls]Time/Date stamp 		%lx
+Title Text Header
+Too many GOT entries for -fpic, please recompile with -fPICToo many unwind codes (%ld)
+Try enabling relaxation to avoid relocation truncationsType                Size     Rva      Offset
+USRSTACKUnable to find equivalent output section for symbol '%s' from section '%s'Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.
+Unable to read EIHS record at offset %#xUnexpected STO_SH5_ISA32 on local symbol is not handledUnexpected machine numberUnhandled OSF/1 core file section type %d
+Unhandled relocation %sUnknownUnknown EGSD subtype %dUnknown basic type %dUnknown reloc %sUnknown reloc %s + %sUnknown symbol in command %sUnknown: %xUnrecognised MIPS reloc number: %dUnrecognized INPUT_SECTION_FLAG %s
+Unrecognized TI COFF target id '0x%x'Unrecognized reloc type 0x%xUnsupported .stab relocationUnsupported CR16 relocation type: 0x%x
+VOLATILE         Variable `%s' can only be in one of the small, zero, and tiny data regionsVariable `%s' cannot be in both small and tiny data regions simultaneouslyVariable `%s' cannot be in both small and zero data regions simultaneouslyVariable `%s' cannot be in both zero and tiny data regions simultaneouslyVariable `%s' cannot occupy in multiple small data regionsVirtual size of .pdata section (%ld) larger than real size (%ld)
+Warning, .pdata section size (%ld) is not a multiple of %d
+Warning: %B does not support interworking, whereas %B doesWarning: %B supports interworking, whereas %B does notWarning: %B uses %s (set by %B), %B uses %sWarning: %B uses %s (set by %B), %B uses unknown MSA ABI %dWarning: %B uses %s (set by %B), %B uses unknown floating point ABI %dWarning: %B uses 64-bit long double, %B uses 128-bit long doubleWarning: %B uses AltiVec vector ABI, %B uses SPE vector ABIWarning: %B uses IBM long double, %B uses IEEE long doubleWarning: %B uses double-precision hard float, %B uses single-precision hard floatWarning: %B uses hard float, %B uses soft floatWarning: %B uses r3/r4 for small structure returns, %B uses memoryWarning: %B uses unknown MSA ABI %d (set by %B), %B uses %sWarning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %dWarning: %B uses unknown floating point ABI %d (set by %B), %B uses %sWarning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %dWarning: %B: Conflicting platform configurationWarning: %B: Conflicting platform configuration %s with %s.
+Warning: %B: Unknown ARC object attribute %d.Warning: %B: Unknown EABI object attribute %dWarning: %B: Unknown MSPABI object attribute %dWarning: %s section size (%ld) is not a multiple of %d
+Warning: %s section size (%ld) is smaller than virtual size (%ld)
+Warning: %s section size is zero
+Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with itWarning: Clearing the interworking flag of %B due to outside requestWarning: Not setting interworking flag of %B since it has already been specified as non-interworkingWarning: RL78_SYM reloc with an unknown symbolWarning: RX_SYM reloc with an unknown symbolWarning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %AWarning: alignment %u of symbol `%s' in %B is smaller than %u in %BWarning: fixup count mismatch
+Warning: gc-sections option ignoredWarning: size of symbol `%s' changed from %Lu in %B to %Lu in %BWarning: symbol `%s' is both section and non-sectionWarning: type of symbol `%s' changed from %d to %d in %BWarning: unset or old architecture flags. 
+	       Use default machine.
+Warning: writing archive was slow: rewriting timestamp
+Writing updated armap timestampXGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code.[%u]: Lower: %u, upper: %u
+[abi=16-bit int, [abi=32-bit int, [whose name is lost]_bfd_vms_output_counted called with too many bytes_bfd_vms_output_counted called with zero bytes`%s' refers to a non entry function.a PDE objecta PIE objecta shared objectaddressaddress not word alignarray descriptor:
+array, dim: %u, bitmap: arsize: %u, a0: 0x%08x
+atomic, type=0x%02x %s
+bad section index in %sbanked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)base: %u, pos: %u
+bfd_mach_o_canonicalize_symtab: unable to load symbolsbfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 insteadbfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 insteadbfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)bfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid section %d (max %lu): setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid type field 0x%x: setting to undefinedbfd_mach_o_read_symtab_symbol: unable to read %d bytes at %ubfd_mach_o_read_symtab_symbols: unable to allocate memory for symbolsbfd_mach_o_scan: unknown architecture 0x%lx/0x%lxbfd_pef_scan: unknown architecture 0x%lxblkbeg: address: 0x%08x, name: %.*s
+blkend: size: 0x%08x
+cannot create stub entry %scannot emit dynamic relocations in read-only sectioncannot emit fixups in read-only sectioncannot find EMH in first GST record
+cannot handle R_MEM_INDIRECT reloc when using %s outputcannot read DMT
+cannot read DMT header
+cannot read DMT psect
+cannot read DST
+cannot read DST header
+cannot read DST symbol
+cannot read EIHA
+cannot read EIHD
+cannot read EIHI
+cannot read EIHS
+cannot read EIHVN header
+cannot read EIHVN version
+cannot read EISD
+cannot read GST
+cannot read GST record
+cannot read GST record header
+cannot read GST record length
+class: %u, dtype: %u, length: %u, pointer: 0x%08x
+corrupt %s section in %Bcould not find section %scould not locate special linker symbol __ctbpcould not locate special linker symbol __epcould not locate special linker symbol __gpcould not open shared image '%s' from '%s'cpu=HC11]cpu=HC12]cpu=HCS12]cpu=XGATE]dangerous relocationdelta pc +%-4ddelta_pc_l: +0x%08x
+delta_pc_w %u
+descdimct: %u, aflags: 0x%02x, digits: %u, scale: %u
+discarded output section: `%A'discarding zero address range FDE in %B(%A).
+discontiguous range (nbr: %u)
+dynamic relocation in read-only sectiondynamic variable `%s' is zero sizeenumbeg, len: %u, name: %.*s
+enumelt, name: %.*s
+enumend
+epilog: flags: %u, count: %u
+error reading cpu type from elf private dataerror: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbolerror: %B does not use Maverick instructions, whereas %B doeserror: %B is already in final BE8 formaterror: %B is compiled as absolute position code, whereas target %B is position independenterror: %B is compiled as position independent code, whereas target %B is absolute positionerror: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%derror: %B is compiled for APCS-%d, whereas target %B uses APCS-%derror: %B is compiled for the EP9312, whereas %B is compiled for XScaleerror: %B needs 8-byte alignment but %B is set for 4-byte alignmenterror: %B passes floats in float registers, whereas %B passes them in integer registerserror: %B passes floats in integer registers, whereas %B passes them in float registerserror: %B requires more array alignment than %B preserveserror: %B requires more stack alignment than %B preserveserror: %B uses %s instructions but %B uses %serror: %B uses 64-bit doubles but %B uses 32-bit doubleserror: %B uses FPA instructions, whereas %B does noterror: %B uses FPU-3.0 but %B only supports FPU-2.0error: %B uses Maverick instructions, whereas %B does noterror: %B uses VFP instructions, whereas %B does noterror: %B uses VFP register arguments, %B does noterror: %B uses hardware FP, whereas %B uses software FPerror: %B uses iWMMXt register arguments, %B does noterror: %B uses software FP, whereas %B uses hardware FPerror: %B uses the %s code model whereas %B uses the %s code modelerror: %B uses the %s data model but %B only uses MSP430 instructionserror: %B uses the %s data model whereas %B uses the %s data modelerror: %B uses the large code model but %B uses MSP430 instructionserror: %B uses the small code model but %B uses the %s data modelerror: %B(%A) is too large (%#Lx bytes)error: %B: <corrupt x86 ISA needed size: 0x%x>error: %B: <corrupt x86 ISA used size: 0x%x>error: %B: <corrupt x86 feature size: 0x%x>error: %B: Big-endian R2 is not supported.error: %B: Conflicting CPU architectures %d/%derror: %B: Conflicting architecture profiles %c/%cerror: %B: Conflicting use of R9error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchainerror: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'error: %B: SB relative addressing conflicts with use of R9error: %B: Unknown CPU architectureerror: %B: cannot mix rf16 with full register set %B.
+error: %B: conflicting ISA extension attributes %s with %s.
+error: %B: conflicting attributes %s.
+error: %B: conflicting attributes %s: %s with %s.
+error: %B: size of section %A is not multiple of address sizeerror: %B: unable to merge CPU base attributes %s with %s.
+error: %B: unable to merge ISA extension attributes %s.
+error: %B: unable to merge virtualization attributes with %Berror: Can't find symbol: _SDA_BASE_.error: IFC relocation error.error: Jump IFC Fail.error: Source object %B has EABI version %d, but target %B has EABI version %derror: fp16 format mismatch between %B and %Berror: inappropriate relocation type for shared library (did you forget -fpic?)error: undefined symbol __rtiniterror: unknown Tag_ABI_array_object_align_expected value in %Berror: unknown Tag_ABI_array_object_alignment value in %Bexecutablefailed creating ex9.it %s hash table entryfailed to allocate space for new APUinfo section.failed to compute new APUinfo section.failed to install new APUinfo section.fatal error while creating .fixupgeneric linker can't handle %sglobal pointer relative address out of rangeglobal pointer relative relocation at address 0x%08x when _gp not defined
+global pointer relative relocation when _gp not definedhidden symbolhidden symbol ignoring reloc %s
+incr_linum(b): +%u
+incr_linum_l: +%u
+incr_linum_w: +%u
+indirect, defined at 0x%08x
+internal error: addend should be zero for R_LM32_16_GOTinternal error: addend should be zero for R_OR1K_GOT16internal error: branch/jump to an odd address detectedinternal error: dangerous errorinternal error: dangerous relocationinternal error: merge of architecture '%s' with architecture '%s' produced unknown architectureinternal error: out of range errorinternal error: suspicious relocation type used in shared libraryinternal error: unknown errorinternal error: unsupported relocation errorinternal inconsistency in size of .got.loc sectioninternal symbolinternal symbol invalid input relocation when producing non-ELF, non-mmo format output.
+ Please use the objcopy program to convert from ELF or mmo,
+ or assemble using "-no-expand" (for gcc, "-Wa,-no-expand"invalid input relocation when producing non-ELF, non-mmo format output.
+ Please use the objcopy program to convert from ELF or mmo,
+ or compile using the gcc-option "-mno-base-addresses".invalid relocation addressinvalid relocation type %dinvalid use of %s with contextsip2k linker: missing page instruction at %#Lx (dest = %#Lx)ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)ip2k relaxer: switch table header corrupt.ip2k relaxer: switch table without complete matching relocation information.label, name: %.*s
+len: %2u, kind: %2u line num  (len: %u)
+linkable imagelinker stubs in %u group
+linker stubs in %u groups
+literalliteral relocation occurs for an external symbolmach-o: there are too many sections (%u) maximum is 255,
+mep: no reloc for code %dmodbeg
+modend
+name: [val: %08lx len %d]: nativenew entry function(s) introduced but no output import library specified:nonon-contiguous array of %s
+non-dynamic relocations refer to dynamic symbol %snon-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store
+non-zero addend in @fptr relocnonenot enough GOT space for local GOT entriesnot mapping: data=%lx mapped=%d
+not mapping: env var not set
+not setout of rangeoverflow after relaxationoverlay stub relocation overflowpointer
+private flags = %lxprivate flags = %lx:private flags = %lx: private flags = %x:private flags = 0x%lxprivate flags = 0x%lx:prolog: bkpt address 0x%08x
+protected symbolprotected symbol recbeg: name: %.*s
+recend
+reference to a banked address [%lx:%04lx] in the normal address space at %04lxregreloc (%d) is *UNKNOWN*relocation `%s' not yet implementedrelocation out of rangerelocation references symbol not defined in the modulerelocation requires zero addendrelocation should be even numberrelocations between different segments are not supportedreopening %B: %s
+reserved cmd %drtnbeg
+rtnend: size 0x%08x
+section address (%#Lx) below start of segment (%#Lx)septyp, name: %.*s
+set_abs_pc: 0x%08x
+set_line_num(w) %u
+set_line_num_b %u
+set_line_num_l %u
+shared objectsmall-data section exceeds 64KB; lower small-data size limit (see option -G)som_sizeof_headers unimplementedsorry, no support for duplicate object files in auto-overlay script
+sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands.source (len: %u)
+standard data: %s
+static procedure (no name)stub entry for %s cannot load .plt, dp offset = %Ldstubs don't match calculated sizesymbolsymbol system version array information:
+term(b): 0x%02xterm_w: 0x%04xthe bfin target does not currently support the generation of copy relocationstype spec for element:
+type spec for subscript %u:
+typed pointer
+typspec (len: %u)
+unable to allocate data for load command %#xunable to find ARM glue '%s' for '%s'unable to find THUMB glue '%s' for '%s'unable to layout unknown load command %#xunable to read in %s section from %Bunable to write unknown load command %#xunaligned bit-string of %s
+uncertain calling convention for non-COFF symbolundefined undefined %s reference in complex symbol: %sunhandled egsd entry type %u
+unhandled emh subtype %u
+unknownunknown ETIR command %dunknown errorunknown header byte-order value %#xunknown line command %dunknown operator '%c' in complex symbolunknown source command %dunknown v850 architectureunknown: %xunrecognised MIPS reloc number: %dunrecognized relocation (0x%x)unsupported STA cmd %sunsupported relocunsupported reloc typeunsupported relocationunsupported relocation between data/insn address spacesusing multiple gp valuesv850 E3 architecturev850 architecturev850e architecturev850e1 architecturev850e2 architecturev850e2v3 architecturev850e3v5 architecturevflags: 0x%02x, value: 0x%08x vma:			BeginAddress	 EndAddress	  UnwindData
+warning: %B and %B differ in wchar_t sizewarning: %B and %B differ in whether code is compiled for DSBTwarning: %B has a corrupt string table index - ignoringwarning: %B is truncated: expected core file size >= %Lu, found: %lluwarning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may failwarning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may failwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lxwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%xwarning: %B: corrupt no copy on protected size: 0x%xwarning: %B: corrupt stack size: 0x%xwarning: %B: local symbol `%s' has no sectionwarning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%xwarning: %s exceeds section size
+warning: %s overlaps %s
+warning: %s section has zero sizewarning: attempt to export undefined symbol `%s'warning: call to non-function symbol %s defined in %Bwarning: discarding dynamic section %swarning: generating a shared library containing non-PIC codewarning: generating a shared library containing non-PID codewarning: relocation references a different segmentwarning: section '%s' is being made into a notewarning: section `%A' type changed to PROGBITSwarning: type and size of dynamic symbol `%s' are not definedwarning: unable to set size of %s section in %Bwarning: unable to update contents of %s section in %Bwarning: writing section `%A' at huge (ie negative) file offsetwarning: xdata section corruptwarning: xdata section corrupt
+yesyou are not allowed to define %s in a scriptProject-Id-Version: bfd-2.30.0
+Report-Msgid-Bugs-To: bug-binutils@gnu.org
+POT-Creation-Date: 2018-01-13 13:44+0000
+PO-Revision-Date: 2018-05-11 10:07+0100
+Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>
+Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>
+Language: pt
+X-Bugs: Report translation errors to the Language-Team address.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Plural-Forms: nplurals=2; plural=(n != 1);
+X-Generator: Gtranslator 2.91.6
+	    TLS: %A	<corrupto: 0x%04lx>	Tabela end. exportaÃ§Ã£o 			Tabela end. exportaÃ§Ã£o 		%08lx
+	rva de tabela de end. de exportaÃ§Ã£o (0x%lx) ou total de entradas (0x%lx) invÃ¡lidos
+	rva de tabela de ponteiro de nome (0x%lx) ou total de entradas (0x%lx) invÃ¡lidos
+	rva de tabela ordinal (0x%lx) ou total de entradas (0x%lx) invÃ¡lidos
+	Tabela Nome Ponteiro 			Tabela ordinal 				[%4ld] <desvio corrupto: %lx>
+	[Nome Ponteiro/Ordinal] Tabela	%08lx
+	code-base %08lx toc (carregÃ¡vel/actual) %08lx/%08lx
+	nÃ£o-TLS: %A	reloc %4d desvio %4x [%4lx] %s	vma:  Dica/Ord Nome-membro ligado a
+
+	Nome DLL: %.*s
+
+
+RelocalizaÃ§Ãµes base de ficheiros PE (interpretado conteÃºdo de secÃ§Ã£o .reloc)
+
+      SÃ­mbolo End+1: %-7ld   Tipo:  %s
+      SÃ­mbolo End+1: %ld
+      Primeiro sÃ­mbolo: %ld
+      SÃ­mbolo local: %ld
+      Tipo: %s
+      enum; sÃ­mbolo End+1: %ld
+      struct; sÃ­mbolo End+1: %ld
+      union; sÃ­mbolo End+1: %ld
+ matriz de versÃ£o off: %u
+
+CaracterÃ­sticas 0x%x
+
+Despejo de %s
+
+SecÃ§Ã£o dinÃ¢mica:
+
+Erro: secÃ§Ã£o %s contÃ©m o endereÃ§o dos dados de depuraÃ§Ã£o, mas Ã© muito pequena
+
+Exec Auxiliary Header
+
+Tabela end. exportaÃ§Ã£o -- Base ordinal %ld
+
+Descritor de funÃ§Ã£o localizado no endereÃ§o inicial: %04lx
+
+Sem secÃ§Ã£o reldata! Descritor de funÃ§Ã£o nÃ£o descodificado.
+
+InÃ­cio da partiÃ§Ã£o[%d] = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
+
+CabeÃ§alho do programa:
+
+Tamanho de stack para funÃ§Ãµes. AnotaÃ§Ãµes: "*" stack mÃ¡x, "t" chamada tail
+
+As tabelas de exportaÃ§Ã£o (interpretado %s conteÃºdo de secÃ§Ã£o)
+
+
+A tabela de funÃ§Ã£o (interpretado %s conteÃºdo de secÃ§Ã£o)
+
+A tabela de funÃ§Ã£o (interpretado conteÃºdo de secÃ§Ã£o .pdata)
+
+As tabelas de importaÃ§Ã£o (interpretado %s conteÃºdo de secÃ§Ã£o)
+
+HÃ¡ uma pasta de depuraÃ§Ã£o em %s em 0x%lx
+
+
+HÃ¡ uma pasta de depuraÃ§Ã£o em %s, mas essa secÃ§Ã£o nÃ£o tem conteÃºdo
+
+HÃ¡ uma pasta de depuraÃ§Ã£o, mas a secÃ§Ã£o que a contÃ©m nÃ£o pÃ´de ser encontrada
+
+HÃ¡ um primeiro thunk, mas a secÃ§Ã£o que o contÃ©m nÃ£o pÃ´de ser encontrada
+
+HÃ¡ uma tabela de exportaÃ§Ã£o em %s em 0x%lx
+
+HÃ¡ uma tabela de exportaÃ§Ã£o em %s, mas nÃ£o serve nessa secÃ§Ã£o
+
+HÃ¡ uma tabela de exportaÃ§Ã£o em %s, mas Ã© demasiado pequena (%d)
+
+HÃ¡ uma tabela de exportaÃ§Ã£o em %s, mas essa secÃ§Ã£o nÃ£o tem conteÃºdo
+
+HÃ¡ uma tabela de exportaÃ§Ã£o, mas a secÃ§Ã£o que a contÃ©m nÃ£o pÃ´de ser encontrada
+
+HÃ¡ uma tabela de importaÃ§Ã£o em %s em 0x%lx
+
+HÃ¡ uma tabela de importaÃ§Ã£o em %s, mas essa secÃ§Ã£o nÃ£o tem conteÃºdo
+
+HÃ¡ uma tabela de importaÃ§Ã£o, mas a secÃ§Ã£o que a contÃ©m nÃ£o pÃ´de ser encontrada
+
+ReferÃªncias da versÃ£o:
+
+DefiniÃ§Ãµes da versÃ£o:
+
+EndereÃ§o virtual: %08lx, tamanho do pedaÃ§o %ld (0x%lx), nÃºmero de fixups %ld
+
+AVISO: dados extra em secÃ§Ã£o .rsrc - serÃ¡ ignorada pelo Windows:
+
+Tabela [Ordinal/Nome Ponteiro]
+
+cabeÃ§alho ppcboot:
+        pc: 0x%08x
+    cmd *nÃ£o gerido* %u
+    endereÃ§o: 0x%08x
+    endereÃ§o: 0x%08x, tamanho: %u
+    bands: %u, endereÃ§o: 0x%08x, endereÃ§o pd: 0x%08x
+    nome global: %.*s
+    tam: %u bits
+    Ã­ndice de ligaÃ§Ã£o: %u, insn de substituiÃ§Ã£o: 0x%08x
+    nome: %.*s
+    pc: 0x%08x
+    pc: 0x%08x line: %5u
+    Ã­nd psect 1: %u, desvio 1: 0x%08x %08x
+    Ã­nd psect 2: %u, desvio 2: 0x%08x %08x
+    Ã­nd psect 3: %u, desvio 3: 0x%08x %08x
+    psect: %u, desvio: 0x%08x %08x
+    nome da rotina: %.*s
+   %02u    (tipo: %3u, tam.: 4+%3u):    cmd *nÃ£o gerido* %u
+   Erro: data de compilaÃ§Ã£o truncada
+   Erro: o tamanho Ã© menor que o tamanho de um registo EEOM
+   Erro: o tamanho Ã© menor que o tamanho de um registo EMH
+   Erro: nome de mÃ³dulo em falta
+   Erro: nome de mÃ³dulo muito longo
+   Erro: versÃ£o de mÃ³dulo em falta
+   Erro: versÃ£o de mÃ³dulo muito longa
+   Erro: o tamanho do registo Ã© menor que o tamanho de um registo EMH_MHD
+   Erro: tamanho maior que o espaÃ§o restante no registo
+   alinhamento  : 2**%u
+   aloc. (tam)   : %u (0x%08x)
+   aloc. (tam): %u (0x%08x)
+   ident. ascii  : %.*s
+   ident. binÃ¡ria: 0x%08x
+   bitmap: 0x%08x (total: %u):
+   end. de cÃ³d.: 0x%08x
+   data compilaÃ§Ã£o: %.17s
+   compilador : %.*s
+   cÃ³digo de conclusÃ£o: %u
+   copyright: %.*s
+   declfile: tam: %u, bands: %u, idfich: %u
+   deflines %u
+   nome entidade : %.*s
+   ponto de entrada: 0x%08x
+   severidade do erro: %x
+   ficheiro: %.*s
+   nomeficheiro: %.*s
+   bandeiras     : 0x%08x   bandeiras  : 0x%04x   bands: %d, linguagem: %u, principal: %u, menor: %u
+   bandeiras: 0x%04x   formfeed
+   comparaÃ§Ã£o id : %x
+   desvio imagem : 0x%08x
+   nome linguagem: %.*s
+   Ã­ndice de ligaÃ§Ã£o: %u, global: %.*s
+   Ã­ndice de ligaÃ§Ã£o: %u, nome do procedimento: %.*s
+   Ã­ndice de ligaÃ£o: %u, procedimento: %.*s
+   Ã­ndice de ligaÃ§Ã£o: %u, psect: %u, desvio: 0x%08x %08x
+   tam. mÃ¡x registo: %u
+   nome de mÃ³dulo : %.*s
+   nome mÃ³dulo: %.*s
+   versÃ£o de mÃ³dulo: %.*s
+   nome          : %.*s
+   nome        : %.*s
+   nome       : %.*s
+   nÃºmero de pares de ligaÃ§Ã£o condicional: %u
+   nome objecto  : %.*s
+   desvio: 0x%08x, val: 0x%08x
+   descriÃ§Ã£o de procedimento: 0x%08x
+   Ã­ndice psect : %u
+   Ã­ndice psect do ponto de entrada: %u
+   Ã­ndice psect: %u
+   desvio psect: %u
+   desvio psect: 0x%08x
+   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u
+   setfile %u
+   setlnum %u
+   setrec %u
+   assinatura: %.*s
+   nÃ­vel de estrutura: %u
+   desvio do vector de sÃ­mbolo: 0x%08x
+   desvio symvec : 0x%08x
+   tÃ­tulo: %.*s
+   transferir band end: 0x%02x
+   transferir psect end.: %u
+   transferir endereÃ§o: 0x%08x
+   vector      : 0x%08x
+   mÃ¡scara de versÃ£o: 0x%08x
+  %s (tam=%u+%u):
+  %u: tam.: %u, bands: 0x%02x, nome: %.*s
+  EEOM (tam=%u):
+  EGSD (tam=%u):
+  entrada EGSD %2u (tipo: %u, tamanho: %u):   EMH %u (tam=%u):   base: 0x%08x %08x, tam.: 0x%08x, prot: 0x%08x   base_va : 0x%08x
+  bitcount: %u, endereÃ§o base: 0x%08x
+  ramo           %lu
+  ajuste toc     %lu
+  ramo longo     %lu
+  aj. toc longo  %lu
+  chamada plt    %lu
+  toc cham. plt  %lu
+  entrada global %lu  chamadas:
+  chgprtoff : %5u
+  codeadroff: %5u, lpfixoff  : %5u
+  fixuplnk: 0x%08x %08x
+  bandeiras: 0x%08x
+  iaflink : 0x%08x %08x
+  imagem %u (%u entradas)
+  imagem %u (%u entradas), desvios:
+  lppsbfixoff: %5u
+  inÃ­cio psect: 0x%08x, tamanho: %u
+  qdotadroff: %5u, ldotadroff: %5u
+  qrelfixoff: %5u, lrelfixoff: %5u
+  requerido de %s:
+  shlextra  : %5u, permctx   : %5u
+  shlstoff  : %5u, shrimgcnt : %5u
+  tamanho: %u
+  bandeiras fich. entrada: %s  bandeiras fich. saÃ­da:   %s %08x 0x%08x 64B <versÃ£o EABI nÃ£o reconhecida> BPAGE: %u COM COMM Alterar protecÃ§Ã£o (%u entradas):
+ Fixups de referÃªncia de endereÃ§o de cÃ³digo:
+ DEF EXE requerido suporte FPU:  1Âº endereÃ§o: 0x%08x 0x%08x
+ 4Âº endereÃ§o: 0x%08x 0x%08x
+ GBL Colar sequÃªncia de cÃ³digo LIBFixups de referÃªncia de pares de ligaÃ§Ã£o:
+ NOMOD NORM OVR PIC QVAL RD REL Register restore millicode Register save millicode Recursos comeÃ§am no desvio: %#03x
+ SHR 2Âº endereÃ§o: 0x%08x 0x%08x
+ Imagens partilhÃ¡veis:
+ Imagem partilhada: 0x%08x 0x%08x
+ Tabela de cadeia comeÃ§a no desvio: %#03x
+ Tabela: Car.: %d, Hora: %08lx, Ver: %d/%d, Nomes NÃºm: %d, IDs: %d
+ 3Âº endereÃ§o: 0x%08x 0x%08x
+ UNI VEC VECEP WEAK WRT [64-bit doubles] [BE8] [formato flutuante FPA] [LE8] [formato flutuante Maverick] [formato flutuante VFP] [Version1 EABI] [Version2 EABI] [Version3 EABI] [Version4 EABI] [Version5 EABI] [desvio XGATE RAM] [abi desconhecida] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [posiÃ§Ã£o absoluta] [d-float] [sÃ­mbolos dinÃ¢micos usam Ã­ndice de segmento] [fix dep] [flutuantes passados em registos flutuantes] [flutuantes passados em registos inteiros] [g-float] [hard-float ABI] [interworking activo] [bandeira interworking nÃ£o inicializada] [interworking nÃ£o suportado] [interworking suportado] [sÃ­mbolos de mapeamento precedem outros] [memÃ³ria=bank-model] [memÃ³ria=flat] [novo ABI] [sem abi definida] [nonpic] [nÃ£o 32bitmode] [ABI antigo] [pic] [posiÃ§Ã£o independente] [executÃ¡vel relocalizÃ¡vel] [soft-float ABI] [software FP] [tabela de sÃ­mbolo ordenada] [sÃ­mbolos tÃªm um prefixo _] [ISA desconhecida] [tabela de sÃ­mbolo desordenada] [v10 e v32] [v32] alinhamento de entidades 8-byte:  GST corrompido
+ tabela de mÃ³dulo de depuraÃ§Ã£o: vbn: %u, tamanho: %u
+ tabela de sÃ­mbolo de depuraÃ§Ã£o : vbn: %u, tamanho: %u (0x%x)
+ fixup info rva:  bandeiras: 0x%04x tabela de sÃ­mbolo global: vbn: %u, registos: %u
+ ident: 0x%08x, nome: %.*s
+ ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u
+ ident build imagem: %.*s
+ ident imagem     : %.*s
+ nome da imagem   : %.*s
+ tipo de imagem: %u (%s) total img I/O: %u, nÂº canais: %u, req pri: %08x%08x
+ hora de ligaÃ§Ã£o  : %s
+ bands linker: %08x: ident linker     : %.*s
+ fixups de referÃªncia de .address de long-word:
+ fixups de relocalizaÃ§Ã£o de long-word:
+ majorid: %u, minorid: %u
+ desvio do mÃ³dulo: 0x%08x, tamanho: 0x%08x, (%u psects)
+ desvios: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u
+ fixups de referÃªncia de .address de quad-word:
+ fixups de relocalizaÃ§Ã£o de quad-word:
+ secÃ§Ã£o: base: 0x%08x%08x tamanho: 0x%08x
+ tamanho de doubles:  tipo: %3u, tam: %3u (em 0x%08x):  tipo de registo EOBJ %u nÃ£o gerido
+ vbn: %u, pfc: %u, matchctl: %u tipo: %u ( vma:			End. inicial     End. final       Info Unwind
+ vma:		InÃ­cio   Fim      EH       EH       PrÃ³logFim  ExcepÃ§Ã£o
+     		EndereÃ§o EndereÃ§o Gestor   Dados    EndereÃ§o   MÃ¡scara
+ vma:		InÃ­cio   PrÃ³logo  FunÃ§Ã£o   Bands    ExcepÃ§Ã£o  EH
+     		EndereÃ§o Tam.     Tam.     32b exc  Gestor    Dados
+ vma:            Dica    Hora      AvanÃ§o   DLL       Prim.
+                 Tabela  Selo      Cadeia   Nome      Thunk
+#<CÃ³digo de erro invÃ¡lido>%03x %*.s  Folha: End.: %#08lx, Tamanho: %#08lx, Codepage: %d
+%03x %*.s Entrada: %A tem secÃ§Ãµes ordenadas ["%A" em %B] e desordenadas ["%A" em %B] em simultÃ¢neo%A tem secÃ§Ãµes ordenadas e desordenadas em simultÃ¢neo%A:0x%v lrlive .brinfo (%u) difere da anÃ¡lise (%u)
+%A:0x%v nÃ£o encontrado na tabela de funÃ§Ã£o
+%B (%s): bandeira de secÃ§Ã£o %s (%#lx) ignorada%B e %B sÃ£o para configuraÃ§Ãµes diferentes%B e %B sÃ£o para cores diferentes%B contÃ©m cÃ³digo CRIS v32, incompatÃ­vel com os objectos anteriores%B contÃ©m cÃ³digo nÃ£o-CRIS-v32, incompatÃ­vel com os objectos anteriores%B tem ambos os atributos Tag_MPextension_use actual e legado%B nÃ£o tem permissÃ£o para definir %s%B secÃ§Ã£o %A excede tamanho de grupo de fictÃ­cio%B nÃºmero de sÃ­mbolo %lu referencia secÃ§Ã£o SHT_SYMTAB_SHNDX nÃ£o existente%B usa e_flags 0x%lx desconhecido%B(%#Lx): erro: impossÃ­vel criar folha STM32L4XX. Sai fora do intervalo por %Ld bytes. ImpossÃ­vel codificar a instruÃ§Ã£o do ramo. %B(%A): erro: chamada a funÃ§Ã£o nÃ£o definida "%s"%B(%A): erro interno: relocalizaÃ§Ã£o perigosa%B(%A): erro interno: erro fora do intervalo%B(%A): erro interno: erro desconhecido%B(%A): erro interno: erro relocalizaÃ§Ã£o nÃ£o suportada%B(%A): tabela de propriedade invÃ¡lida%B(%A): mÃºltiplos modelos TLS nÃ£o sÃ£o suportados%B(%A): relocalizaÃ§Ã£o %d tem Ã­ndice de sÃ­mbolos invÃ¡lido %ld%B(%A): encontrado sÃ­mbolo de biblioteca partilhada %s ao realizar ligaÃ§Ã£o estÃ¡tica%B(%A): relocalizaÃ§Ã£o PID insegura %s em %#Lx (contra %s em %s)%B(%A): aviso: o uso de folhas de ramos longos na secÃ§Ã£o com atributo de secÃ§Ã£o SHF_ARM_PURECODE sÃ³ Ã© suportado para alvos M-profile que implementem a instruÃ§Ã£o movw.%B(%A): aviso: acesso nÃ£o alinhado ao sÃ­mbolo "%s" na Ã¡rea de dados pequenos%B(%A): aviso: acesso nÃ£o alinhado a dados pequenos de tipo %d.%B(%A+%#Lx): %s fixup para insn %#x nÃ£o Ã© suportado em ligaÃ§Ã£o nÃ£o partilhada%B(%A+%#Lx): relocalizaÃ§Ã£o %s contra secÃ§Ã£o SEC_MERGE%B(%A+%#Lx): relocalizaÃ§Ã£o %s contra sÃ­mbolo externo "%s"%B(%A+%#Lx): relocalizaÃ§Ã£o %s nÃ£o permitida em objecto partilhado%B(%A+%#Lx): %s usado com sÃ­mbolo TLS %s%B(%A+%#Lx): %s usado com sÃ­mbolo nÃ£o-TLS %s%B(%A+%#Lx): relocalizaÃ§Ã£o CMEM para "%s" Ã© invÃ¡lida, 16 MSB deveria ser %#x (o valor Ã© %#Lx)%B(%A+%#Lx): relocalizaÃ§Ã£o CMEM para "%s+%#Lx" Ã© invÃ¡lida, 16 MSB deveria ser %#x (o valor Ã© %#Lx)%B(%A+%#Lx): sÃ³ sÃ£o permitidas instruÃ§Ãµes ADD ou SUB para relocalizaÃ§Ãµes de grupo ALU%B(%A+%#Lx): transporte ao dividir %#Lx para relocalizaÃ§Ã£o de grupo %s%B(%A+%#Lx): impossÃ­vel emitir fixup a "%s" em secÃ§Ã£o sÃ³ de leitura%B(%A+%#Lx): impossÃ­vel gerir %s para %s%B(%A+%#Lx): impossÃ­vel atingir %s%B(%A+%#Lx): impossÃ­vel atingir %s, recompile com -ffunction-sections%B(%A+%#Lx): impossÃ­vel descodificar instruÃ§Ã£o para relocalizaÃ§Ã£o XTENSA_ASM_SIMPLIFY; possÃ­vel troca de configuraÃ§Ã£o%B(%A+%#Lx): impossÃ­vel descodificar instruÃ§Ã£o; possÃ­vel troca de configuraÃ§Ã£o%B(%A+%#Lx): erro: %s com instruÃ§Ã£o inesperada %#x%B(%A+%#Lx): instruÃ§Ã£o invÃ¡lida para relocalizaÃ§Ã£o TLS %s%B(%A+%#Lx): reloc contra "%s": erro %d%B(%A+%#Lx): desvio de relocalizaÃ§Ã£o fora do intervalo (tamanho=%#Lx)%B(%A+%#Lx): instruÃ§Ã£o ARM "%#lx" inesperada em trampolim TLS%B(%A+%#Lx): instruÃ§Ã£o ARM "%#lx" inesperada referenciada por TLS_GOTDESC%B(%A+%#Lx): instruÃ§Ã£o Thumb "%#lx" inesperada em trampolim TLS%B(%A+%#Lx): instruÃ§Ã£o Thumb "%#lx" inesperada referenciada por TLS_GOTDESC%B(%A+%#Lx): fix inesperado para relocalizaÃ§Ã£o %s%B(%A+%#Lx): relocalizaÃ§Ã£o %s insolÃºvel contra o sÃ­mbolo "%s"%B(%A+%#Lx): relocalizaÃ§Ã£o insolÃºvel contra sÃ­mbolo "%s"%B(%A+%#lx): entrada Stabs tem Ã­ndice de cadeia invÃ¡lido.%B(%A+%#x): erro: detectada mÃºltipla carga em bloco de instruÃ§Ã£o IT nÃ£o-Ãºltimo: impossÃ­vel gerar folha STM32L4XX.
+Use a opÃ§Ã£o gcc -mrestrict-it para gerar sÃ³ uma instruÃ§Ã£o por bloco IT.
+%B(%A+0x%lx): %d bytes requeridos para alinhamento com limite %d-byte, mas sÃ³ hÃ¡ %d presentes%B(%A+0x%lx): impossÃ­vel limpar RISCV_PCREL_HI20 relocfor corespondente a reloc RISCV_PCREL_LO12%B(%A+0x%lx): esperada relocalizaÃ§Ã£o estilo 16A em 0x%08x insn%B(%A+0x%lx): esperada relocalizaÃ§Ã£o estilo 16D em 0x%08x insn%B(%A+0x%v): chamada a secÃ§Ã£o nÃ£o-cÃ³digo %B(%A), anÃ¡lise incompleta
+%B(%s): aviso: interworking nÃ£o activo.
+  primeira ocorrÃªncia: %B: chamada ARM a Thumb%B(%s): aviso: interworking nÃ£o activo.
+  primeira ocorrÃªncia: %B: chamada Thumb a ARM%B(%s): aviso: interworking nÃ£o activo.
+  primeira ocorrÃªncia: %B: chamada arm a thumb%B(%s): aviso: interworking nÃ£o activo.
+  primeira ocorrÃªncia: %B: chamada thumb a arm
+  considere religaÃ§Ã£o com --support-old-code activo%B(%s+%#Lx): relocalizaÃ§Ã£o %s insolÃºvel comtra sÃ­mbolo "%s"%B, secÃ§Ã£o %A:
+  relocalizaÃ§Ã£o %s invÃ¡lida em objecto partilhado; tipicamente uma mistura de opÃ§Ãµes, recompile com -fPIC%B, secÃ§Ã£o %A:
+  relocalizaÃ§Ã£o %s nÃ£o deve ser usada em objecto partilhado; recompile com -fPIC%B, secÃ§Ã£o %A:
+  objecto compatÃ­vel v10/v32 nÃ£o deve conter uma relocalizaÃ§Ã£o PIC%B, secÃ§Ã£o %A: sem PLT para relocalizaÃ§Ã£o %s contra sÃ­mbolo "%s"%B, secÃ§Ã£o %A: sem PLT ou GOT para relocalizaÃ§Ã£o %s contra sÃ­mbolo "%s"%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s tem referÃªncia nÃ£o definida a "%s", talvez uma declaraÃ§Ã£o misturada?%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s nÃ£o Ã© permitida para "%s", um sÃ­mbolo global com visibilidade predefinida, talvez uma declaraÃ§Ã£o misturada?%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s nÃ£o Ã© permitida para sÃ­mbolo global: "%s"%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s nÃ£o Ã© permitida para "%s", que estÃ¡ definido fora do programa, talvez uma declaraÃ§Ã£o misturada?%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s sem GOT criado%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s com adenda nÃ£o-zero %Ld contra sÃ­mbolo local%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s com adenda nÃ£o-zero %Ld contra sÃ­mbolo "%s"%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o insolÃºvel %s contra sÃ­mbolo "%s"%B, secÃ§Ã£o %A, para sÃ­mbolo "%s":
+  relocalizaÃ§Ã£o %s nÃ£o deve ser usada em objecto partilhado; recompile com -fPIC%B: reloc !samegp contra sÃ­mbolo sem .prologue: %s%B: %#Lx: fatal: R_SH_PSHA relocalizaÃ§Ã£o %Ld fora do intervalo -32..32%B: %#Lx: fatal: R_SH_PSHL relocalizaÃ§Ã£o %Ld fora do intervalo -32..32%B: %#Lx: fatal: transporte reloc ao relaxar%B: %#Lx: fatal: relocalizaÃ§Ã£o %s desalinhada %#Lx%B: %#Lx: fatal: ramo alvo nÃ£o alinhado para relocalizaÃ§Ã£o relax-support%B: %#Lx: aviso: R_SH_USES aponta para insn %#x nÃ£o reconhecido%B: %#Lx: aviso: R_SH_USES aponta para insn 0x%x nÃ£o reconhecido%B: %#Lx: aviso: R_V850_LONGCALL aponta para insn %#x nÃ£o reconhecido%B: %#Lx: aviso: R_V850_LONGCALL aponta para insns nÃ£o reconhecido%B: %#Lx: aviso: R_V850_LONGCALL aponta para reloc nÃ£o reconhecida%B: %#Lx: aviso: R_V850_LONGCALL aponta para reloc %#Lx nÃ£o reconhecida%B: %#Lx: aviso: R_V850_LONGJUMP aponta para insn %#x nÃ£o reconhecido%B: %#Lx: aviso: R_V850_LONGJUMP aponta para insns nÃ£o reconhecido%B: %#Lx: aviso: R_V850_LONGJUMP aponta para reloc nÃ£o reconhecida%B: %#Lx: aviso: mau desvio de carga R_SH_USES%B: %#Lx: aviso: mau desvio R_SH_USES%B: %#Lx: aviso: mÃ¡ contagem%B: %#Lx: aviso: impossÃ­vel encontrar reloc COUNT%B: %#Lx: aviso: impossÃ­vel encontrar reloc esperado%B: %#Lx: aviso: sÃ­mbolo em secÃ§Ã£o inesperada%B: %A tamanho invÃ¡lido de secÃ§Ã£o de entrada%B: %A nÃ£o estÃ¡ em ordem%B: %A aponta para lÃ¡ do fim da secÃ§Ã£o de texto%B: %A+%#Lx: sem sÃ­mbolo para INHERIT%B: %A+%#Lx: aviso: relocalizaÃ§Ã£o %s contra insn inesperado%B: %A+%#Lx: aviso: relocalizaÃ§Ã£o LITERAL contra insn inesperado%B: %A: transporte de reloc: %#x > 0xffff%B: %s nÃ£o absoluto%B: %s acedido como sÃ­mbolo local normal e de fio, em simultÃ¢neo%B: %s: versÃ£o necessÃ¡ria %d invÃ¡lida%B: %s: versÃ£o %u invÃ¡lida (mÃ¡x %d)%B: %s: transporte de reloc: 0x%lx > 0xffff%B: "%s" acedido como sÃ­mbolo local normal e thread em simultÃ¢neo%B: --in-implib sÃ³ Ã© suportado para bibliotecas importadas Secure Gateway.%B: entrada .gnu.version_d invÃ¡lida%B: entrada .gnu.version_r invÃ¡lida%B: sub-segmento .got excede 64K (tamanho %d)%B: .opd nÃ£o Ã© uma matriz normal de entradas opd%B: secÃ§Ã£o .preinit_array nÃ£o Ã© permitida em DSO%B: tamanho da secÃ§Ã£o .reginfo devia ser %d bytes, tamanho actual Ã© %d%B: falha de uniÃ£o .rsrc: secÃ§Ã£o .rsrc corrupta%B: falha de uniÃ£o .rsrc: tamanho .rsrc inesperado%B: relocalizaÃ§Ã£o @gprel contra sÃ­mbolo dinÃ¢mico %s%B: ramo @internal para sÃ­mbolo dinÃ¢mico %s%B: relocalizaÃ§Ã£o @pcrel contra sÃ­mbolo dinÃ¢mico %s%B: ABI incompatÃ­vel com a da emulaÃ§Ã£o seleccionada%B: ABI Ã© incompatÃ­vel com aquele da emulaÃ§Ã£o seleccionada:
+  emulaÃ§Ã£o alvo "%s" nÃ£o corresponde a "%s"%B: troca ABI: a ligar mÃ³dulo %s com mÃ³dulos prÃ©vios %s%B: versÃ£o ABI %ld nÃ£o Ã© compatÃ­vel com a saÃ­da da versÃ£o ABI %ld%B: troca ASE: a ligar mÃ³dulo %s com mÃ³dulos prÃ©vios %s%B: troca de arquitectura com mÃ³dulos anteriores%B: imagens BE8 sÃ³ sÃ£o vÃ¡lidas em modo big-endian.%B: registo de relocalizaÃ§Ã£o importado invÃ¡lido: %d%B: mÃ¡ definiÃ§Ã£o de sÃ­mbolo: "Main" definido como %s em vez do endereÃ§o inicial %s
+%B: reloc CALL15 em %#Lx nÃ£o contra sÃ­mbolo global%B: reloc CALL16 em %#Lx nÃ£o contra sÃ­mbolo global%B: impossÃ­vel encontrar reloc LO16 correspondente contra "%s" para %s em %#Lx na secÃ§Ã£o "%A"%B: impossÃ­vel relaxar br (%s) para "%s" em %#Lx na secÃ§Ã£o "%A" com tamanho %#Lx (> 0x1000000).%B: impossÃ­vel relaxar br em %#Lx na secÃ§Ã£o "%A". Por favor, use brl ou um ramo indirecto.%B: impossÃ­vel gerir binÃ¡rios Alpha comprimidos.
+   Use bandeiras do compilador ou objZ para gerar binÃ¡rios descomprimidos.%B: impossÃ­vel ligar objectos %s e %s.%B: tamanho da pasta de dados (%lx) excede o espaÃ§o deixado na secÃ§Ã£o (%Lx)%B: bandeira EF_OR1K_NODELAY trocada com mÃ³dulos anteriores%B: erro: Debug Data termina apÃ³s o fim da pasta de depuraÃ§Ã£o.%B: Erro: definiÃ§Ã£o mÃºltipla de "%s"; inÃ­cio de %s estÃ¡ definido num ficheiro previamente ligado
+%B: erro: search_nds32_elf_blank reporta nÃ³ errado
+%B: falha ao adicionar sÃ­mbolo %s renomeado%B: falha ao procurar secÃ§Ã£o de informaÃ§Ã£o para a secÃ§Ã£o %d%B: falha ao procurar secÃ§Ã£o de ligaÃ§Ã£o para a secÃ§Ã£o %d%B: falha ao ler secÃ§Ã£o de dados de depuraÃ§Ã£o%B: relocalizaÃ§Ã£o de descritor de funÃ§Ã£o com adenda nÃ£o-zero%B: erro GAS: PTB insn inesperado com R_SH_PT_16%B: secÃ§Ã£o "%A" de GNU_MBIN tem campo sh_info invÃ¡lido: %d%B: transporte GOT: nÃºmero de relocalizaÃ§Ãµes com desvio 8- ou 16-bit > %d%B: transporte GOT: nÃºmero de relocalizaÃ§Ãµes com desvio 8-bit > %d%B: reloc GOT em %#Lx nÃ£o esperada em executÃ¡veis%B: directiva IMPORT AS para %s oculta a IMPORT AS anterior%B: tamanho do vector ISR trocado com mÃ³dulos anteriores, anterior %u-byte, actual %u-byte%B: conjunto de instruÃ§Ãµes trocado com os mÃ³dulos anteriores%B: erro interno de inconsistÃªncia no valor para o
+ registo global alocado para o linker: ligado: %#Lx != relaxado: %#Lx%B: tipo de relocalizaÃ§Ã£o exportado invÃ¡lido: %d%B: tipo de relocalizaÃ§Ã£o importado invÃ¡lido: %d%B: sh_link field (%d) invÃ¡lido no nÃºmero da secÃ§Ã£o %d%B: directiva LOCAL: registo $%Ld nÃ£o Ã© um registo local. O primeiro registo global Ã© $%Ld.%B: tabela de descritor de sÃ­mbolo local Ã© NULL ao aplicar relocalizaÃ§Ã£o %s contra sÃ­mbolo local%B: reloc malformada detectada para secÃ§Ã£o %A%B: reloc mal formada detectada para secÃ§Ã£o %s%B: OMIT_FP aninhado em %A.%B: sem nÃºcleo para alocar um sÃ­mbolo com %d bytes
+%B: sem nÃºcleo para alocar nome de secÃ§Ã£o %s
+%B: sem secÃ§Ã£o de versÃ£o de sÃ­mbolo para o sÃ­mbolo com versÃ£o "%s"%B: sem espaÃ§o para cabeÃ§alhos do programa, tente ligar com -N%B: sÃ³ registos %%g[2367] podem ser declarados usando STT_REGISTER%B: tipo de mÃ¡quina reconhecido mas nÃ£o gerido (0x%x) em arquivo Import Library Format%B: RelocalizaÃ§Ã£o %s (%d) actualmente nÃ£o suportada.
+%B: RelocalizaÃ§Ã£o %s ainda nÃ£o suportada para sÃ­mbolo %s.%B: relocalizaÃ§Ãµes em ELF (EM: %d) genÃ©rico%B: relocalizaÃ§Ã£o relativa a SB mas __c6xabi_DSBT_BASE nÃ£o definido%B: secÃ§Ã£o SHT_GROUP [Ã­ndice %d] nÃ£o tem secÃ§Ãµes SHF_GROUP%B: sÃ­mbolo especial "%s" sÃ³ Ã© permitido para arquitecturas ARMv8-M ou posteriores.%B: cÃ³digo exec TLS local nÃ£o pode ser ligado a objectos partilhados%B: secÃ§Ãµes TLS nÃ£o adjacentes:%B: transiÃ§Ã£o TLS de %s para %s contra "%s" em %#Lx na secÃ§Ã£o "%A" falhou%B: reloc TOC em %#Lx para sÃ­mbolo "%s" sem entrada TOC%B: a primeira secÃ§Ã£o no segmento PT_DYNAMIC nÃ£o Ã© a secÃ§Ã£o .dynamic%B: o alvo (%s) de uma relocalizaÃ§Ã£o %s estÃ¡ na secÃ§Ã£o errada (%A)%B: demasiadas secÃ§Ãµes: %d (>= %d)%B: impossÃ­vel ordenar relocs - tÃªm mais de um tamanho%B: impossÃ­vel ordenar relocs - tÃªm um tamanho desconhecido%B: tipo de importaÃ§Ã£o nÃ£o gerido; %x%B: arquitectura desconhecida %s%B: atributo de objecto ARC %d obrigatÃ³rio desconhecido.Aviso: %B: atributo de objecto EABI %d obrigatÃ³rio desconhecido%B: tipo de relocalizaÃ§Ã£o %d desconhecido
+%B: tipo de secÃ§Ã£o desconhecido em ficheiro a.out.adobe: %x
+%B: OMIT_FP desirmanado em %A.%B: comando .directive nÃ£o reconhecido: %s%B: tipo de nome de importaÃ§Ã£o nÃ£o reconhecido; %x%B: tipo de importaÃ§Ã£o nÃ£o reconhecido; %x%B: tipo de mÃ¡quina nÃ£o reconhecido (0x%x) em arquivo Import Library Format%B: classe de armazenamento %d nÃ£o reconhecida para %s sÃ­mbolo "%s"%B: transiÃ§Ã£o %s para %s nÃ£o suportada%B: aviso: instruÃ§Ã£o Arm BLX destina-se a funÃ§Ã£o Arm "%s".%B: aviso: a ignorar bandeira de secÃ§Ã£o IMAGE_SCN_MEM_NOT_PAGED na secÃ§Ã£o %s%B: aviso: instruÃ§Ã£o Thumb BLX destina-se a funÃ§Ã£o thumb "%s".%B: aviso: mau tamanho de opÃ§Ã£o "%s" %u menor que o seu cabeÃ§alho%B: aviso: impossÃ­vel determinar a funÃ§Ã£o alvo para secÃ§Ã£o fictÃ­cia "%s"%B: aviso: geraÃ§Ã£o PLT modo thumb-1 nÃ£o Ã© actualmente suportada%B: objecto partilhado XCOFF sem produzir saÃ­da XCOFF%B: XMC_TC0 sÃ­mbolo "%s" Ã© classe %d scnlen %Ld%B: __gp nÃ£o cobre o segmento de dados curtos%B: desvio "%A" de %Ld de "%A" alÃ©m do intervalo de ADDIUPC%B: "%s" acedido como sÃ­mbolo local FDPIC e thread em simultÃ¢neo%B: "%s" acedido como sÃ­mbolo normal e FDPIC em simultÃ¢neo%B: "%s" acedido como sÃ­mbolo local normal e thread em simultÃ¢neo%B: "%s" e o seu sÃ­mbolo especial estÃ£o em secÃ§Ãµes diferentes.%B: "%s" tem nÃºmeros de linha mas sem secÃ§Ã£o envolvente%B: "%s" em reloc loader mas sem sÃ­mbolo loader%B: "%s" reloc nÃ£o-PLT para sÃ­mbolo definido em biblioteca partilhada e acedido a partir de executÃ¡vel (reconstrua o ficheiro com -fPIC ?)%B: "ld -r" nÃ£o suportado com objectos PE MIPS
+%B: sÃ­mbolo standard "%s" ausente.%B: acesso alÃ©m do fim da secÃ§Ã£o unida (%Ld)%B: adenda %s%#x em relocalizaÃ§Ã£o %s contra sÃ­mbolo "%s" em %#Lx na secÃ§Ã£o "%A" estÃ¡ fora do intervalo%B: endereÃ§o %#Lx fora do intervalo para ficheiro Intel Hex%B: cabeÃ§alho aout especifica um nÃºmero invÃ¡lido de entradas data-directory: %ld%B: tentativa de emitir conteÃºdo em endereÃ§o nÃ£o mÃºltiplo de 4 %#Lx%B: tentativa de carregar cadeias de secÃ§Ã£o nÃ£o-cadeia (nÃºmero %d)%B: tentativa de misturar objectos FDPIC e nÃ£o-FDPIC%B tentativa de escrever tipo de reloc desconhecido%B: mau sÃ­mbolo XTY_ER "%s": classe %d scnum %d scnlen %Ld%B: mau pair/reflo apÃ³s refhi
+%B: mau endereÃ§o reloc %#Lx na secÃ§Ã£o "%A"%B: mau Ã­ndice de sÃ­mbolo de reloc (%#Lx >= %#lx) para desvio %#Lx na secÃ§Ã£o "%A"%B: mau nome de secÃ§Ã£o de relocalizaÃ§Ã£o "%s"%B: mau tamanho de secÃ§Ã£o em ihex_read_section%B: mau tamanho de tabela de cadeias %Lu%B: mau Ã­ndice de sÃ­mbolo: %d%B: relocalizaÃ§Ã£o base-plus-offset contra sÃ­mbolo de registo: %s em %A%B: relocalizaÃ§Ã£o base-plus-offset  contra sÃ­mbolo de registo: (desconhecido) em %A%B: impossÃ­vel representar secÃ§Ã£o "%A" num formato de ficheiro objecto a.out%B: impossÃ­vel representar secÃ§Ã£o "%A" em oasys%B: impossÃ­vel representar secÃ§Ã£o para sÃ­mbolo"%s" num formato de ficheiro objecto a.out%B: impossÃ­vel ligar mÃ³dulos hard-float com mÃ³dulos soft-float%B: impossÃ­vel alocar nome de ficheiro para nÃºmero de ficheiro %d, %d bytes
+%B: impossÃ­vel criar entrada fictÃ­cia %s%B: impossÃ­vel ligar ficheiro objecto fdpic a executÃ¡vel nÃ£o-fdpic%B: impossÃ­vel ligar ficheiro objecto nÃ£o-fdpic a executÃ¡vel fdpic%B: alteraÃ§Ã£o em gp: BRSGP %s%B: classe %d sÃ­mbolo "%s" nÃ£o tem entradas aux%B: compilado %s -mtune=%s e ligado com mÃ³dulos compilados %s -mtune=%s%B: compilado como objecto 32-bit e %B Ã© 64-bit%B: compilado como objecto 64-bit e %B Ã© 32-bit%B: compilado para um sistema 64 bit e o alvo Ã© 32 bit%B: compilado para um sistema big endian e o alvo Ã© little endian%B: compilado para um sistema little endian e o alvo Ã© big endian%B: compilado normalmente e ligado com mÃ³dulos compilados com -mrelocatable%B: compilado com %s e ligado com mÃ³dulos compilados com %s%B: compilado com %s e ligado com mÃ³dulos que usam relocalizaÃ§Ãµes nÃ£o-pic%B: compilado com -mrelocatable e ligado com mÃ³dulos compilados normalmente%B: campo de tamanho corrupto no cabeÃ§alho da secÃ§Ã£o de grupo: %#Lx%B: total de sÃ­mbolos corrupto: %#Lx%B: impossÃ­vel encontrar a secÃ§Ã£o de saÃ­da %A para a secÃ§Ã£o de entrada %A%B: impossÃ­vel ler conteÃºdo da secÃ§Ã£o "%A"
+%B: impossÃ­vel escrever entradas .cranges adicionadas%B: impossÃ­vel escrever entradas .cranges ordenadas%B: csect "%s" nÃ£o estÃ¡ em secÃ§Ã£o envolvente%B: relocalizaÃ§Ã£o GOT directa %s contra "%s" sem registo-base nÃ£o pode ser usada ao fazer um objecto partilhado%B: relocalizaÃ§Ã£o GOT directa R_386_GOT32X contra "%s" sem registo-base nÃ£o pode ser usada ao fazer um objecto partilhado%B: directiva LOCAL sÃ³ Ã© vÃ¡lida com um registo ou um valor absoluto%B: relocalizaÃ§Ã£o dtp-relative contra sÃ­mbolo dinÃ¢mico %s%B: fictÃ­cio de exportaÃ§Ã£o duplicado %s%B: secÃ§Ã£o "%A" duplicada tem conteÃºdo diferente
+%B: secÃ§Ã£o "%A" duplicada tem tamanho diferente
+%B: objecto dinÃ¢mico sem secÃ§Ã£o .loader%B: relocalizaÃ§Ã£o dinÃ¢mica contra "%T" em secÃ§Ã£o sÃ³ de leitura "%A"
+%B: relocalizaÃ§Ã£o dinÃ¢mica em secÃ§Ã£o "%A" sÃ³ de leitura
+%B: encontrado sÃ­mbolo datalabel na entrada%B: endianness incompatÃ­vel com a da emulaÃ§Ã£o seleccionada%B: funÃ§Ã£o de entrada "%s" estÃ¡ vazia.%B: funÃ§Ã£o de entrada "%s" nÃ£o saÃ­da.%B: erro: ABI trocado com mÃ³dulos anteriores.%B: erro: poder de alinhamento %d da secÃ§Ã£o "%A" Ã© muito grande%B: erro: impossÃ­vel criar folha STM32L4XX.%B: erro: impossÃ­vel definir _ITB_BASE_%B: erro: errata Cortex-A8 fictÃ­cia estÃ¡ alocada a localizaÃ§Ã£o nÃ£o-segura%B: erro: errata Cortex-A8 fictÃ­cia fora do intervalo (ficheiro de entrada muito grande)%B: erro: Erratum 835769 fictÃ­cio fora do intervalo (ficheiro de entrada muito grande)%B: erro: Erratum 843419 fictÃ­cio fora do intervalo (ficheiro de entrada muito grande)%B: erro: conjunto de instruÃ§Ãµes trocado com mÃ³dulos anteriores.%B: erro: segmento PHDR nÃ£o coberto pelo segmento LOAD%B: erro: folha VFP11 fora do intervalo%B: erro: tamanho da secÃ§Ã£o de atributo muito pequeno: %ld%B: erro: segmento %d nÃ£o carga inclui cabeÃ§alho de ficheiro e/ou de programa%B: erro: tipo de relocalizaÃ§Ã£o %d nÃ£o alinhado em %#Lx reloc %#Lx%B: erro: tipo de relocalizaÃ§Ã£o %d desalinhado em %08Lx reloc %08Lx%B: erro: sÃ­mbolo "%s" inesperado em secÃ§Ã£o COMDAT%B: erro: atributo de objecto EABI obrigatÃ³rio desconhecido %d%B: erro: tipo de relocalizaÃ§Ã£o %d desconhecido.%B: falha ao gerar biblioteca de importaÃ§Ã£o%B: fatal: obtidos sÃ­mbolos genÃ©ricos antes de relaxar%B: classe de ficheiro %s incompatÃ­vel com %s%B: relocalizaÃ§Ã£o gp-relative contra sÃ­mbolo dinÃ¢mico %s%B: secÃ§Ã£o de grupo "%A" nÃ£o tem conteÃºdo%B: sÃ­mbolo "%s" oculto em %B Ã© referenciado por DSO%B: sÃ­mbolo "%s" oculto nÃ£o estÃ¡ definido%B: a ignorar secÃ§Ã£o "%A" duplicada
+%B: tipo de relocalizaÃ§Ã£o %d ilegal no endereÃ§o %#Lx%B: nome de secÃ§Ã£o ilegal "%A"%B: Ã­ndice de sÃ­mbolo %ld ilegal em relocs%B: Ã­ndice de sÃ­mbolo ilegal na reloc: %ld%B: tipo de mÃ¡quina incompatÃ­vel. SaÃ­da Ã© 0x%x. Entrada Ã© 0x%x%B: tamanho incorrecto do sÃ­mbolo "%s".%B: sÃ­mbolo indirecto "%s" para "%s" Ã© um ciclo%B: erro interno em ihex_read_section%B: erro interno, secÃ§Ã£o de registo interna %A tinha conteÃºdo
+%B: erro interno, tabela de sÃ­mbolo alterou o tamanho de %d para %d palavras
+%B: sÃ­mbolo "%s" interno em %B Ã© referenciado por DSO%B: sÃ­mbolo "%s" nÃ£o estÃ¡ definido%B: nÃºmero de reloc AVR invÃ¡lido: %d%B: nÃºmero de reloc CR16C invÃ¡lido: %d%B: nÃºmero de reloc CRIS invÃ¡lido: %d%B: nÃºmero de reloc D10V invÃ¡lido : %d%B: nÃºmero de reloc D30V invÃ¡lido : %d%B: nÃºmero de reloc Epiphany invÃ¡lido: %d%B: nÃºmero de reloc FR30 invÃ¡lido: %d%B: nÃºmero de reloc FRV invÃ¡lido: %d%B: nÃºmero de reloc IP2K invÃ¡lido: %d%B: nÃºmero de reloc IQ2000 invÃ¡lido: %d%B: nÃºmero de reloc LM32 invÃ¡lido: %d%B: nÃºmero de reloc M32C invÃ¡lido: %d%B: nÃºmero de reloc M32R invÃ¡lido: %d%B: invalid M68HC11 reloc number: %d%B: nÃºmero de reloc M68HC12 invÃ¡lido: %d%B: nÃºmero de reloc MEP invÃ¡lido: %d%B: nÃºmero de reloc METAG invÃ¡lido: %d%B: invalid MMIX reloc number: %d%B: nÃºmero de reloc MSP430 invÃ¡lido: %d%B: nÃºmero de reloc MSP430X invÃ¡lido: %d%B: nÃºmero de reloc MT invÃ¡lido: %d%B: nÃºmero de reloc Moxie invÃ¡lido: %d%B: nÃºmero de reloc NDS32 invÃ¡lido: %d%B: nÃºmero de reloc OR1K invÃ¡lido: %d%B: nÃºmero de reloc RL78 invÃ¡lido: %d%B: nÃºmero de reloc RX invÃ¡lido: %d%B: entrada SHT_GROUP invÃ¡lida%B: nÃºmero de reloc V850 invÃ¡lido: %d%B: nÃºmero de reloc Visium invÃ¡lido: %d%B: nÃºmero de relocalizaÃ§Ã£o XGate invÃ¡lido: %d%B: nÃºmero de reloc XTENSA invÃ¡lido: %d%B: nÃºmero de reloc i960 invÃ¡lido: %d%B: entrada de biblioteca importada "%s" invÃ¡lida.%B: ligaÃ§Ã£o invÃ¡lida %u para secÃ§Ã£o reloc %s (Ã­ndice %u)%B: ficheiro mmo invÃ¡lido: YZ de lop_end (%ld) nÃ£o igual ao nÃºmero de tetras para o lop_stab (%ld) precedente
+%B: ficheiro mmo invÃ¡lido: esperado YZ = 1, obtido YZ = %d para lop_quote
+%B: ficheiro mmo invÃ¡lido: esperado y = 0, obtido y = %d para lop_fixrx
+%B: ficheiro mmo invÃ¡lido: esperado z = 1 ou z = 2, obtido z = %d para lop_fixo
+%B: ficheiro mmo invÃ¡lido: esperado z = 1 ou z = 2, obtido z = %d para lop_loc
+%B: ficheiro mmo invÃ¡lido: esperado z = 16 ou z = 24, obtido z = %d para lop_fixrx
+%B: ficheiro mmo invÃ¡lido: campos y e z de lop_stab nÃ£o-zero, y: %d, z: %d
+%B: ficheiro mmo invÃ¡lido: nome de ficheiro para nÃºmero %d nÃ£o foi especificado antes do uso
+%B: ficheiro mmo invÃ¡lido: nÃºmero de ficheiro %d "%s", jÃ¡ foi inserido como "%s"
+%B: ficheiro mmo invÃ¡lido: valor de initializaÃ§Ã£o para $255 nÃ£o Ã© "Main"
+%B: ficheiro mmo invÃ¡lido: byte inicial da palavra operando tem de ser 0 ou 1, obtido %d para lop_fixrx
+%B: ficheiro mmo invÃ¡lido: lop_end nÃ£o Ã© o Ãºltimo item no ficheiro
+%B: ficheiro mmo invÃ¡lido: lopcode "%d" nÃ£o suportado
+%B: tipo de relocalizaÃ§Ã£o %d invÃ¡lido%B: campo de tamanho invÃ¡lido no cabeÃ§alho da secÃ§Ã£o de grupo: %#Lx%B: sÃ­mbolo especial "%s" invÃ¡lido.%B: sÃ­mbolo standard "%s" invÃ¡lido.%B: endereÃ§o inicial invÃ¡lido para registos inicializados de tamanho %Ld: %#Lx%B: desvio de cadeia invÃ¡lido %u >= %Lu para secÃ§Ã£o "%s"%B: tabela de sÃ­mbolo invÃ¡lida: sÃ­mbolo duplicado "%s"
+%B: salto para demasiado longe
+%B: transporte de nÂº de linha: 0x%lx > 0xffff%B: a ligar mÃ³dulo %s com mÃ³dulos prÃ©vios %s%B: a ligar cÃ³digo 32-bit com cÃ³digo 64-bit%B: a ligar ficheiros 64-bit com ficheiros 32-bit%B: a ligar especÃ­fico UltraSPARC com cÃ³digo especÃ­fico HAL%B: a ligar ficheiros auto-pic com ficheiro nÃ£o auto-pic%B: a ligar ficheiros big-endian com ficheiros little-endian%B: a ligar ficheiros constant-gp com ficheiros nÃ£o constant-gp%B: a ligar ficheiros compilados para inteiros de 16-bit (-mshort) e outros para inteiros de 32-bit%B: a ligar ficheiros compilados para duplos de 32-bit (-fshort-double) e outros para duplos de 64-bit%B: a ligar ficheiros compilados para HCS12 com outros compilados para HC12%B: a ligar ficheiros little endian com ficheiros big endian%B: a ligar cÃ³digo nÃ£o-pic num executÃ¡vel de posiÃ§Ã£o independente%B: a ligar trap-on-NULL-dereference com ficheiros nÃ£o-trapping%B: reloc loader em secÃ§Ã£o sÃ³ de leitura %A%B: reloc loader em secÃ§Ã£o "%s" nÃ£o reconhecida%B: sÃ­mbolo "%s" local em %B Ã© referenciado por DSO%B: XTY_LD "%s" mal colocado%B: secÃ§Ã£o TLS em falta para relocalizaÃ§Ã£o %s contra "%s" em %#Lx na secÃ§Ã£o "%A".%B: sem informaÃ§Ã£o de grupo para secÃ§Ã£o "%A"%B: sem registos inicializados; tamanho de secÃ§Ã£o 0
+%B: sem sÃ­mbolo para biblioteca de importaÃ§Ã£o%B: sem secÃ§Ãµes de grupo vÃ¡lidas%B: cÃ³digo nÃ£o-pic com relocalizaÃ§Ã£o imm contra sÃ­mbolo dinÃ¢mico "%s"%B: Ã­ndice de sÃ­mbolo nÃ£o-zero (%#Lx) para desvio %#Lx na secÃ§Ã£o "%A" onde o ficheiro objecto nÃ£o tem tabela de sÃ­mbolo%B: memÃ³ria insuficiente para alocar espaÃ§o para %#Lx sÃ­mbolos de tamanho %#Lx%B: tamanho do objecto nÃ£o corresponde ao do alvo %B%B: sem memÃ³ria ao criar nome para secÃ§Ã£o vazia%B: sem memÃ³ria em _bfd_elf_get_property%B: tamanho de pÃ¡gina muito grande (0x%x)%B: relocalizaÃ§Ã£o pc-relative contra sÃ­mbolo dinÃ¢mico %s%B: relocalizaÃ§Ã£o pc-relative contra sÃ­mbolo fraco %s indefinido%B: extensÃ£o precisou de gerir objecto lto%B: provavelmente compilado com -fPIC?%B: sÃ­mbolo "%s" protegido nÃ£o estÃ¡ definido%B: relocalizaÃ§Ã£o de registo contra sÃ­mbolo nÃ£o-registo: %s em %A%B: relocalizaÃ§Ã£o de registo contra sÃ­mbolo nÃ£o-registo: (desconhecido) em %A%B: reloc %s:%Ld fora de csect%B: reloc contra Ã­ndice de sÃ­mbolo nÃ£o existente: %ld%B: ligaÃ§Ã£o relocalizÃ¡vel de %s para %s nÃ£o suportado%B: relocalizaÃ§Ã£o %s contra %s%s"%s" nÃ£o pode ser usada ao fazer %s%s%B: relocalizaÃ§Ã£o %s contra STT_GNU_IFUNC sÃ­mbolo "%s" tem adenda nÃ£o-zero: %Ld%B: relocalizaÃ§Ã£o %s contra sÃ­mbolo STT_GNU_IFUNC "%s" nÃ£o Ã© gerido por %s%B: relocalizaÃ§Ã£o %s contra STT_GNU_IFUNC sÃ­mbolo "%s" nÃ£o suportada%B: relocalizaÃ§Ã£o %s contra "%s" nÃ£o pode ser usada ao fazer um objecto partilhado%B: relocalizaÃ§Ã£o %s contra "%s" nÃ£o pode ser usada a fazer um objecto partilhado; recompile com -fPIC%B: relocalizaÃ§Ã£o %s contra sÃ­mbolo "%s" externo ou indefinido nÃ£o pode ser usada ao fazer %s; recompile com -fPIC%B: relocalizaÃ§Ã£o %s contra sÃ­mbolo "%s" nÃ£o Ã© suportada em modo x32%B: relocalizaÃ§Ã£o %s contra sÃ­mbolo "%s" que pode ligar externamente nÃ£o pode ser usada ao fazer um objecto partilhado; recompile com -fPIC%B: relocalizaÃ§Ã£o %s nÃ£o pode ser usada ao fazer um objecto partilhado; recompile com -fPIC%B: relocalizaÃ§Ã£o %s nÃ£o pode ser usada ao fazer objecto partilhado%B: relocalizaÃ§Ã£o R_386_GOTOFF contra %s "%s" protegido nÃ£o pode ser usada ao fazer um objecto partilhado%B: relocalizaÃ§Ã£o R_386_GOTOFF contra %s "%s" indefinido nÃ£o pode ser usada ao fazer um objecto partilhado%B: relocalizaÃ§Ã£o R_X86_64_GOTOFF64 contra %s "%s" protegido nÃ£o pode ser usado ao fazer um objecto partilhado%B: relocalizaÃ§Ã£o R_X86_64_GOTOFF64 contra  %s "%s" indefinido nÃ£o pode ser usado ao fazer um objecto partilhado%B: relocalizaÃ§Ã£o em "%A+%#Lx" referencia o sÃ­mbolo "%s" com adenda nÃ£o-zero%B: tamanho de relocalizaÃ§Ã£o trocado na secÃ§Ã£o %B %A%B: relocs na secÃ§Ã£o "%A", mas nÃ£o tem conteÃºdo%B: secÃ§Ã£o %A lma %#Lx ajustada para %#Lx%B: secÃ§Ã£o %A: transporte na tabela de sÃ­mbolo no desvio %ld%B: secÃ§Ã£o "%A" nÃ£o pode ser alocada no segmento %d%B: entrada do grupo de secÃ§Ã£o nÃºmero %u estÃ¡ corrompida%B: sh_link [%d] na secÃ§Ã£o "%A" estÃ¡ incorrecto%B: sh_link da secÃ§Ã£o "%A" aponta para secÃ§Ã£o descartada "%A" de "%B"%B: sh_link da secÃ§Ã£o "%A" aponta para secÃ§Ã£o removida "%A" de "%B"%B: transporte no segmento de dados curtos (%#Lx >= 0x400000)%B: tamanho de campo Ã© zero em cabeÃ§alho Import Library Format%B: fixup de especulaÃ§Ã£o para sÃ­mbolo dinÃ¢mico %s%B: tamanho de stack especificado e definido como %s%B: cadeia nÃ£-null terminada em ficheiro objecto ILF.%B: cadeia muito grande (%ld caracteres, mÃ¡x. 65535)%B: suporte a dinÃ¢mica local nÃ£o implementado%B: sÃ­mbolo "%s" tem tipo csect %d nÃ£o reconhecido%B: sÃ­mbolo "%s" tem smclas %d nÃ£o reconhecido%B: sÃ­mbolo "%s" requerido mas nÃ£o presente%B: tirar o endereÃ§o da funÃ§Ã£o protegida "%s" nÃ£o pode ser feito ao fazer uma biblioteca partilhada%B: o alvo (%s) de uma relocalizaÃ§Ã£o %s estÃ¡ na secÃ§Ã£o de saÃ­da errada (%s)%B: demasiados registos inicializados; tamanho de secÃ§Ã£o %Ld%B: demasiadas secÃ§Ãµes (%d)%B: demasiadas secÃ§Ãµes: %u%B: relocalizaÃ§Ã£o tp-relative contra sÃ­mbolo dinÃ¢mico %s%B: impossÃ­vel criar secÃ§Ã£o vazia falsa%B: impossÃ­vel preencher DataDictionary[12] porque .idata$5 estÃ¡ em falta%B: impossÃ­vel preencher DataDictionary[1] porque .idata$2 estÃ¡ em falta%B: impossÃ­vel preencher DataDictionary[1] porque .idata$4 estÃ¡ em falta%B: impossÃ­vel preencher DataDictionary[9] porque __tls_used estÃ¡ em falta%B: impossÃ­vel preencher DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] porque .idata$6 estÃ¡ em falta%B: impossÃ­vel preencher DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] porque .idata$6 estÃ¡ em falta%B: impossÃ­vel encontrar cola ARM "%s" para "%s"%B: impossÃ­vel encontrar a folha STM32L4XX "%s"%B: impossÃ­vel encontrar cola THUMB "%s" para "%s"%B: impossÃ­vel encontrar a folha VFP11 "%s"%B: impossÃ­vel encontrar nome para secÃ§Ã£o vazia%B: impossÃ­vel obter secÃ§Ã£o %A descomprimida%B: impossÃ­vel inicializar estado comprimido para secÃ§Ã£o %s%B: impossÃ­vel inicializar estado descomprimido para secÃ§Ã£o %s%B: impossÃ­vel carregar nome de secÃ§Ã£o COMDAT%B: referÃªncia indefinida a sÃ­mbolo "%s"%B: sÃ­mbolo indefinido "%s" em secÃ§Ã£o .opd%B: sÃ­mbolo indefinido em relocalizaÃ§Ã£o R_PPC64_TOCSAVE%B: tipo ATN inesperado %Ld em parte externa%B: redefiniÃ§Ã£o de sÃ­mbolo com versÃ£o indirecto "%s" inesperada%B: tipo de reloc inesperado %u em secÃ§Ã£o .opd%B: tipo inesperado apÃ³s ATN%B: relocalizaÃ§Ã£o dinÃ¢mica contra %s nÃ£o gerida%B: %s nÃ£o implementado
+%B: registo ATI %u nÃ£o implementado para sÃ­mbolo %u%B: comando de carga %#x desconhecido%B: tipo de relocalizaÃ§Ã£o desconhecido %d%B: tipo de relocalizaÃ§Ã£o %d  nÃ£o desconhecido para sÃ­mbolo %s%B: tipo desconhecido [%#x], secÃ§Ã£o "%s"%B: secÃ§Ã£o tipo [%#x] "%s" desconhecida no grupo [%A]%B: tipo de relocalizaÃ§Ã£o %d desconhecido/nÃ£o suportado%B: nÃºmero de reloc Alpha nÃ£o reconhecido: %d%B: nÃºmero de reloc CR16 nÃ£o reconhecido: %d%B: nÃºmero de reloc CRX nÃ£o reconhecido: %d%B: nÃºmero de reloc I370 nÃ£o reconhecido: %d%B: nÃºmero de reloc MCore nÃ£o reconhecido: %d%B: nÃºmero reloc MN10300 nÃ£o reconhecido: %d%B: nÃºmero de reloc MicroBlaze nÃ£o reconhecido: %d%B: nÃºmero de reloc PPC nÃ£o reconhecido: %d%B: nÃºmero de reloc PicoJava nÃ£o reconhecido: %d%B: nÃºmero de reloc SH nÃ£o reconhecido: %d%B: nÃºmero de relocalizaÃ§Ã£o SPU nÃ£o reconhecido: %d%B: nÃºmero de reloc VAX nÃ£o reconhecido: %d%B: relocalizaÃ§Ã£o nÃ£o reconhecida (%#x) na secÃ§Ã£o "%A"%B: sÃ­mbolo "%s" nÃ£o reconhecido bandeiras 0x%x%B: chamada nÃ£o-PIC a IFUNC "%s" nÃ£o suportada%B: tipo de relocalizaÃ§Ã£o nÃ£o suportado %d%B: tipo de relocalizaÃ§Ã£o nÃ£o suportado %i
+%B: tipo de relocalizaÃ§Ã£o %s nÃ£o suportado%B: tipo de relocalizaÃ§Ã£o 0x%02x nÃ£o suportado%B: relocalizaÃ§Ã£o nÃ£o suportada: ALPHA_R_GPRELHIGH%B: relocalizaÃ§Ã£o nÃ£o suportada: ALPHA_R_GPRELLOW%B: sequÃªncia de caracteres largos 0x%02X 0x%02X nÃ£o suportada apÃ³s nome de sÃ­mbolo comeÃ§ado por "%s"
+%B: usa instruÃ§Ãµes %s enquanto os mÃ³dulos anteriores usam instruÃ§Ãµes %s%B: usa sÃ­mbolos prefixados com _, mas o ficheiro serÃ¡ escrito com sÃ­mbolos sem prefixo%B: usa campos e_flags diferentes (%#x) dos mÃ³dulos anteriores (%#x)%B: usa campos e_flags (%#x) desconhecidos diferentes dos mÃ³dulos anteriores (%#x)%B: usa instruÃ§Ãµes incompatÃ­veis com instruÃ§Ãµes usadas em mÃ³dulos anteriores%B: usa sÃ­mbolos sem prefixo, mas o ficheiro serÃ¡ escrito com sÃ­mbolos prefixados com _%B: nÂº de versÃ£o (%Ld) nÃ£o corresponde ao nÂº de sÃ­mbolos (%ld)%B: nÃ³ de versÃ£o nÃ£o encontrado para sÃ­mbolo %s%B: a visibilidade do sÃ­mbolo "%s" mudou.%B: aviso: ficheiro nÃºcleo truncado%B: aviso: %A: transporte de nÃºmero de linha: %#x > 0xffff%B: aviso: %s aponta para reloc nÃ£o reconhecida em %#Lx%B: aviso: relocalizaÃ§Ã£o %s contra sÃ­mbolo "%s" da secÃ§Ã£o %A%B: aviso: relocalizaÃ§Ã£o %s para %#Lx da secÃ§Ã£o %A%B: aviso: %s: transporte de nÃºmero de linha: 0x%lx > 0xffff%B: aviso: sÃ­mbolo "%s" COMDAT nÃ£o corresponde ao nome de secÃ§Ã£o "%s"%B: aviso: detectado segmento carregÃ¡vel vazio em vaddr=%#Lx, Ã© intencional?%B: aviso: Endian trocado com mÃ³dulos anteriores.%B: aviso: adenda GOT de %Ld a "%s" nÃ£o corresponde a adenda GOT de %Ld prÃ©via%B: aviso: versÃµes elf %s e %s incompatÃ­veis.%B: aviso: ASEs inconsistente entre e_flags e .MIPS.abiflags%B: aviso: FP ABI inconsistente entre .gnu.attributes e .MIPS.abiflags%B: aviso: ISA inconsistente entre e_flags e .MIPS.abiflags%B: aviso: extensÃµes ISA inconsistentes entre e_flags e .MIPS.abiflags%B: aviso: sÃ­mbolo para secÃ§Ã£o "%s" nÃ£o encontrado%B: aviso: encontradas versÃµes anteriores do ficheiro objecto, recompile com as ferramentas actuais.%B: aviso: adenda PLT de %Ld a c"%s" da secÃ§Ã£o %A ignorada%B: aviso: bandeira inesperada no campo flags2 de .MIPS.abiflags (0x%lx)%B: aviso: secÃ§Ã£o alocada "%s" nÃ£o estÃ¡ no segmento%B: aviso: impossÃ­vel gerir R_NDS32_25_ABS_RELA em modo partilhado.%B: aviso: afirma ter 0xffff relocs, sem transporte%B: aviso: informaÃ§Ã£o de nÃºmero de linha duplicada para "%s"%B: aviso: sÃ­mbolo ilegal em entrada de nÃºmero de linha %d%B: aviso: Ã­ndice de sÃ­mbolo %ld ilegal em relocs%B: aviso: Ã­ndice de sÃ­mbolo 0x%lx ilegal em entrada de nÃºmero de linha %d%B: aviso: isymMax (%ld) Ã© maior que ifdMax (%ld)%B: aviso: total de nÃºmero de linha (%#lx) excede tamanho de secÃ§Ã£o (%#lx)%B: aviso: falha ao ler tabela de nÃºmero de linha%B: aviso: a ligar ficheiros PIC com ficheiros nÃ£o-PIC%B: aviso: a ligar ficheiros abicalls com ficheiros nÃ£o-abicalls%B: aviso: detectado ciclo em dependÃªncias da secÃ§Ã£o%B: aviso: detectadas mÃºltiplas tabelas de sÃ­mbolo dinÃ¢mico - a ignorar a tabela na secÃ§Ã£o %u%B: aviso: detectadas mÃºltiplas tabelas de sÃ­mbolo - a ignorar a tabela na secÃ§Ã£o %u%B: aviso: falha ao relocalizar SDA_BASE.%B: aviso: alinhamento do segmento de %#Lx Ã© muito grande%B: aviso: a soluÃ§Ã£o de errata STM32L4XX seleccionada nÃ£o Ã© necessÃ¡ria para arquitectura de destino%B: aviso: a soluÃ§Ã£o de errata VFP11 seleccionada nÃ£o Ã© necessÃ¡ria para arquitectura de destino%B: aviso: sh_link nÃ£o definido para a secÃ§Ã£o "%A"%B: aviso: tabela de simbolo muito grande para mmo, maior que palavras de 65535 32-bit: %d. SÃ³ "Main" serÃ¡ emitido.
+%B: aviso: acesso nÃ£o alinhado a entrada GOT.%B: aviso: acesso nÃ£o alinhado a dados pequenos para entrada: {%Ld, %Ld, %Ld}, end = %#Lx, alinh = %#x%B: aviso: atributo de objecto EABI desconhecido %d%B: nÃ£o resolve relocalizaÃ§Ã£o TLS em tempo de execuÃ§Ã£o%B:%A%s excede o tamanho de sobreposiÃ§Ã£o
+%B:%A: %s e %s tÃªm de estar na mesma secÃ§Ã£o de entrada%B:%A: aviso: reloc Red Hat obsoleta %B:%A: erro: relocalizaÃ§Ã£o referencia sÃ­mbolo %s que foi removido pela recolha de lixo.%B:%A: erro: tente religar com --gc-keep-exported activado.%B:%A: tabela %s com correspondente %s em falta%B:%A: entrada de tabela %s nÃ£o alinhado dentro da tabela%B:%A: entrada de tabela %s fora da tabela%B:%d: mau checksum em ficheiro S-record
+%B:%d: carÃ¡cter "%s" inesperado em ficheiro S-record
+%B:%d: total de byte %d muito pequeno
+%B:%d: carÃ¡cter "%s" inesperado em ficheiro Intel Hex%B:%s tem relocs normal e TLS em simultÃ¢neo%B:%s secÃ§Ã£o %s: alinhamento 2**%u nÃ£o representÃ¡vel%B:%u: mau checksum em ficheiro Intel Hex (esperado %u, obtido %u)%B:%u: mau tamanho de registo de endereÃ§o estendido em ficheiro Intel Hex%B:%u: mau tamanho de registo em endereÃ§o linear estendido em ficheiro Intel Hex%B:%u: mau tamanho de endereÃ§o linear inicial estendido em ficheiro Intel Hex%B:%u: mau tamanho de endereÃ§o inicial estendido em ficheiro Intel Hex%B:%u: tipo ihex nÃ£o reconhecido %u em ficheiro Intel Hex%C: aviso: relocalizaÃ§Ã£o para "%s" referencia um segmento diferente
+%F%A: falha ao alinhar secÃ§Ã£o
+%F%B: transporte de desvio PC-relative em entrada GOT PLT para "%s"
+%F%B: transporte de desvio PC-relative em entrada PLT para "%s"
+%F%B: transporte em deslocamento do ramo em entrada PLT para "%s
+%F%P: already_linked_table: %E
+%F%P: erro de auto-sobreposiÃ§Ã£o: %E
+%F%P: impossÃ­vel construir fictÃ­cios de sobreposiÃ§Ã£o: %E
+%F%P: entrada corrupta: %B
+%F%P: sÃ­mbolo "%s" STT_GNU_IFUNC dinÃ¢mico com igualdade de ponteiro em "%B" nÃ£o pode ser usado ao fazer um executÃ¡vel; recompile com -fPIE e volte a ligar com -pie
+%F%P: falha ao converter relocalizaÃ§Ã£o GOTPCREL; religue com --no-relax
+%F%P: falha ao criar secÃ§Ã£o BND PLT
+%F%P: falha ao criar secÃ§Ã£o de propriedade GNU
+%F%P: falha ao criar secÃ§Ã£o GOT PLT .eh_frame
+%F%P: falha ao criar secÃ§Ã£o GOT PLT
+%F%P: falha ao criar secÃ§Ãµes GOT
+%F%P: falha ao criar secÃ§Ã£o IBT-enabled PLT
+%F%P: falha ao criar secÃ§Ã£o PLT .eh_frame
+%F%P: falha ao criar secÃ§Ãµes dinÃ¢micas VxWorks 
+%F%P: falha ao criar secÃ§Ãµes ifunc
+%F%P: falha ao criar segunda secÃ§Ã£o PLT .eh_frame
+%H __tls_get_addr perdeu arg, optimizaÃ§Ã£o TLS desactivada
+argumento %H perdeu __tls_get_addr, optimizaÃ§Ã£o TLS desactivada
+%H: %s contra "%T": erro %d
+%H: %s para funÃ§Ã£o indirecta "%T" nÃ£o suportado
+%H: %s referencia entrada TOC optimizada
+%H: %s reloc contra "%s": erro %d
+%H: reloc %s contra sÃ­mbolo local
+%H: %s reloc nÃ£o suportada em bibliotecas partilhadas e PIEs.
+%H: %s usado com sÃ­mbolo TLS "%T"
+%H: %s usado com sÃ­mbolo nÃ£o-TLS "%T"
+%H: R_FRV_FUNCDESC referencia sÃ­mbolo dinÃ¢mico com adenda nÃ£o zero
+%H: R_FRV_FUNCDESC_VALUE referencia sÃ­mbolo dinÃ¢mico com adenda nÃ£o-zero
+%H: R_FRV_GETTLSOFF nÃ£o aplicado a uma instruÃ§Ã£o call
+%H: R_FRV_GETTLSOFF_RELAX nÃ£o aplicado a uma instruÃ§Ã£o calll
+%H: R_FRV_GOTTLSDESC12 nÃ£o aplicado a uma instruÃ§Ã£o lddi
+%H: R_FRV_GOTTLSDESCHI nÃ£o aplicado a uma instruÃ§Ã£o sethi
+%H: R_FRV_GOTTLSDESCLO nÃ£o aplicado a uma instruÃ§Ã£o setlo ou setlos
+%H: R_FRV_GOTTLSOFF12 nÃ£o aplicado a uma instruÃ§Ã£o ldi
+%H: R_FRV_GOTTLSOFFHI nÃ£o aplicado a uma instruÃ§Ã£o sethi
+%H: R_FRV_GOTTLSOFFLO nÃ£o aplicado a uma instruÃ§Ã£o setlo ou setlos
+%H: R_FRV_TLSDESC_RELAX nÃ£o aplicado a uma instruÃ§Ã£o ldd
+%H: R_FRV_TLSMOFFHI nÃ£o aplicado a uma instruÃ§Ã£o sethi
+%H: R_FRV_TLSOFF_RELAX nÃ£o aplicado a uma instruÃ§Ã£o ld
+%H: chamada a "%T" com nop em falta, impossÃ­vel restaurar toc; (-mcmodel=small toc adjust stub)
+%H: chamada a "%T" com nop em falta, impossÃ­vel restaurar toc; recompile com -fPIC
+%H: impossÃ­vel emitir relocalizaÃ§Ãµes dinÃ¢micas em secÃ§Ã£o sÃ³ de leitura
+%H: impossÃ­vel emitir fixups em secÃ§Ã£o sÃ³ de leitura
+%H: erro: %s contra "%s" nÃ£o Ã©  mÃºltiplo de %u
+%H: erro: %s nÃ£o Ã© mÃºltiplo de %u
+%H: transporte em ramo fixup
+%H: adenda nÃ£o-zero em reloc %s contra "%s"
+%H: reloc contra "%s" referencia um segmento diferente
+%H: reloc contra "%s": %s
+%H: relocalizaÃ§Ã£o %s para funÃ§Ã£o indirecta %s nÃ£o suportada
+%H: relocalizaÃ§Ã£o referencia sÃ­mbolo nÃ£o definido no mÃ³dulo
+%H: relocalizaÃ§Ã£o para "%s+%v" poderÃ¡ ter causado o erro acima
+%H: optimizaÃ§Ã£o toc nÃ£o Ã© suportada para instreuÃ§Ãµes %s.
+%H: %s insolÃºvel contra "%T"
+%H: relocalizaÃ§Ã£o %s insolÃºvel contra sÃ­mbolo "%s"
+%H: aviso: %s insn %#x inesperado.
+%P%F: --relax e -r nÃ£o podem ser usadas em conjunto
+%P%X: impossÃ­vel ler os sÃ­mbolos: %E
+%P%X: segmento sÃ³ de leitura tem relocalizaÃ§Ãµes dinÃ¢micas IFUNC; recompile com -fPIC
+%P%X: segmento sÃ³ de leitura tem relocalizaÃ§Ãµes dinÃ¢micas.
+%P: %B .opd nÃ£o permitida na versÃ£o ABI %d
+%P: %B: %s nÃ£o Ã© suportado para "%T"
+%P: %B: impossÃ­vel criar entrada fictÃ­cia %s
+%P: %B: relocalizaÃ§Ã£o %s ainda nÃ£o Ã© suportada para sÃ­mbolo %s
+%P: %B: o alvo (%s) de uma relocalizaÃ§Ã£o %s estÃ¡ na secÃ§Ã£o de saÃ­da errada (%s)
+%P: %B: tipo de relocalizaÃ§Ã£o inesperado
+%P: %B: tipo de relocalizaÃ§Ã£o %d desconhecido para "%T"
+%P: %B: tipo de relocalizaÃ§Ã£o %d desconhecido para sÃ­mbolo %s
+%P: %B: aviso: relocalizaÃ§Ã£o contra "%s" em secÃ§Ã£o sÃ³ de leitura "%A"
+%P: %B: aviso: relocalizaÃ§Ã£o em secÃ§Ã£o sÃ³ de leitura "%A"
+%P: %s nÃ£o definido em linker criado %s
+%P: desvio %s muito grande para codificaÃ§Ã£o .eh_frame sdata4%P: transporte na entrada .eh_frame_hdr.
+%P: .eh_frame_hdr refere FDEs sobrepostos.
+%P: DW_EH_PE_datarel nÃ£o especificado para esta arquitectura.
+%P: codificaÃ§Ã£o FDE em %B(%A) impede a criaÃ§Ã£o de tabela .eh_frame_hdr.
+%P: largados mais avisos sobre a codificaÃ§Ã£o FDE impedir a geraÃ§Ã£o de .eh_frame_hdr.
+%P: encontrado cÃ³digo mÃ¡quina ELF alternativo (%d) em %B, esperado %d
+%P: bss-plt forÃ§ado pelo perfil
+%P: bss-plt forÃ§ado devido a %B
+%P: impossÃ­vel construir fictÃ­cio de ramo "%s"
+%P: impossÃ­vel encontrar fictÃ­cio de ramo "%s"
+%P: impossÃ­vel encontrar entrada opd toc para "%T"
+%P: cÃ³pia da reloc contra "%T" requer ligaÃ§Ã£o lazy plt; evite definir LD_BIND_NOW=1 ou actualize o gcc
+%P: cÃ³pia de reloc contra "%T" protegido Ã© perigosa
+%P: erro de contagem dynreloc para %B, secÃ§Ã£o %A
+%P: erro em %B(%A); nÃ£o serÃ¡ criada nenhuma tabela .eh_frame_hdr.
+%P: erro na tabela de ligaÃ§Ã£o contra "%T"
+%P: transporte em desvio "%s" em fictÃ­cio de ramo longo
+%P: mÃºltiplos pontos de entrada: nos mÃ³dulos %B e %B
+%P: ligaÃ§Ã£o relocalizÃ¡vel nÃ£o suportada
+%P: fictÃ­cios nÃ£o correspondem ao tamanho calculado
+%P: sÃ­mbolo "%s" tem st_other invÃ¡lido para a versÃ£o ABI 1
+%P: aviso: --plt-localentry Ã© particularmente perigosa sem suporte ld.so para detectar violaÃ§Ãµes ABI.
+%P: aviso: a criar uma DT_TEXTREL num objecto partilhado.
+%P: aviso: relocalizaÃ§Ãµes de texto e funÃ§Ãµes indirectas GNU podem resultar em segfault em tempo de execuÃ§Ã£o
+%X%C: relocalizaÃ§Ã£o para "%s" referencia um segmento diferente
+%X%H: chamada @local a ifunc %s
+%X%H: impossÃ­vel converter ramo entre modos ISA para JALX: relocalizaÃ§Ã£o fora do intervalo
+%X%H: JALX nÃ£o suportado para o mesmo modo ISA
+%X%H: ramo nÃ£o suportado entre modos ISA
+%X%H: salto nÃ£o suportado entre modos ISA; considere recompilar com interlinking activado
+%X%H: bss-plt -fPIC ifunc %s nÃ£o suportada
+%X%P: %B(%A): erro: relocalizaÃ§Ã£o para desvio %V nÃ£o tem valor
+%X%P: %B(%A): relocalizaÃ§Ã£o "%R" sai fora do intervalo
+%X%P: %B(%A): relocalizaÃ§Ã£o "%R" nÃ£o Ã© suportada
+%X%P: %B(%A): relocalizaÃ§Ã£o "%R" devolve um valor nÃ£o reconhecido %x
+%X%P: secÃ§Ã£o de sobreposiÃ§Ã£o %A nÃ£o comeÃ§a numa linha de cache.
+%X%P: secÃ§Ã£o de sobreposiÃ§Ã£o %A Ã© maior que uma linha de cache.
+%X%P: secÃ§Ã£o de sobreposiÃ§Ã£o %A nÃ£o estÃ¡ numa Ã¡rea de cache.
+%X%P: secÃ§Ãµes de sobreposiÃ§Ã£o %A e %A nÃ£o comeÃ§am no mesmo endereÃ§o.
+%X%P: erro de anÃ¡lise stack/lrlive: %E
+%X%P: relocalizaÃ§Ãµes de texto e funÃ§Ãµes indirectas GNU resultarÃ£o em segfault em tempo de execuÃ§Ã£o
+%X"%s" referenciado na secÃ§Ã£o "%A" de %B: definido em secÃ§Ã£o descartada "%A" de %B
+%s defenido em entrada toc removida%s duplicado
+%s duplicado em %s
+%s tem relocs normal e TLS em simultÃ¢neo%s em secÃ§Ã£o de sobreposiÃ§Ã£o%s: definiÃ§Ã£o TLS em secÃ§Ã£o %B %A nÃ£o corresponde a definiÃ§Ã£o nÃ£o-TLS em secÃ§Ã£o %B %A%s: definiÃ§Ã£o TLS em secÃ§Ã£o %B %A nÃ£o corresponde a referÃªncia nÃ£o-TLS em %B%s: referÃªncia TLS em %B nÃ£o corresponde a definiÃ§Ã£o nÃ£o-TLS em secÃ§Ã£o %B %A%s: referÃªncia TLS em %B nÃ£o corresponde a referÃªncia nÃ£o-TLS em %B%s: sem tal sÃ­mbolo%s: nÃ£o implementado%s: nÃ£o suportado%s: versÃ£o indefinida: %s(no desvio de bit %u)
+(descritor)
+(formato %c%c%c%c assinatura %s idade %ld)
+(sem valor)
+(nÃ£o activo)
+(nÃ£o alocada)
+(reg: %u, disp: %u, indir: %u, tipo: (dados thread-local muito grandes para -fpic ou -msmall-tls: recompile com -fPIC ou -mno-small-tls(muitas variÃ¡veis globais para -fpic: recompile com -fPIC)(valor inicial)
+(spec de valor segue)
+)
+*** verificar esta relocalizaÃ§Ã£o %s*nÃ£o gerido*
+tipo DST *nÃ£o gerido* %u
+*desconhecido**desconhecido*   , Valor: %#08lx
+, aliÃ¡s: %u
+, desvio ext fixup: %u, no_opt psect off: %u, sub-tipo: %u (%s)
+, vector sÃ­mbolo rva: - %B Ã© 64-bit, %B nÃ£o Ã©-mips32r2 -mfp64 (12 callee-saved)secÃ§Ã£o .got nÃ£o imediatamente apÃ³s secÃ§Ã£o .pltfalha de uniÃ£o .rsrc: uma pasta corresponde a uma folhafalha de uniÃ£o .rsrc: versÃµes de pasta diferentes
+falha de uniÃ£o .rsrc: pastas com caracterÃ­sticas diferentes
+falha de uniÃ£o .rsrc: folha duplicadafalha de uniÃ£o .rsrc: folha duplicada: %sfalha de uniÃ£o .rsrc: recurso de cadeia duplicado: %dfalha de uniÃ£o .rsrc: mÃºltiplos manifestos nÃ£o-predefinidos32-bit duplo, relocalizaÃ§Ã£o relativa 32bits gp ocorre para um sÃ­mbolo externo4-byte4-bytes64 bits *nÃ£o geridos*
+64-bit duplo, 8-byte8-bytes: instruÃ§Ãµes m32r: instruÃ§Ãµes m32r2: instruÃ§Ãµes m32rx: instruÃ§Ãµes n1: instruÃ§Ãµes n1h; recompile com -fPIC<bits de bandeira definidos nÃ£o reconhecidos><informaÃ§Ã£o corrupta> %s<tamanho de cadeia corrupto: %#x>
+<desvio de cadeia corrupto: %#lx>
+<corrupto><tipo de pasta desconhecido: %d>
+<desconhecido>reloc @pltoff contra sÃ­mbolo localArquivo sem Ã­ndice; execute ranlib para adicionar umFicheiro objecto de arquivo em formato erradoTentativa de converter L32R/CALLX para CALL falhouTentativa de fazer ligaÃ§Ã£o relocalizÃ¡vel com entrada %s e saÃ­da %sBASE_IMAGE       BFD falha de asserÃ§Ã£o %s %s:%dBFD erro interno %s, a abortar em %s:%d
+BFD erro interno %s, a abortar em %s:%d em %s
+Erro de ligaÃ§Ã£o BFD: ramo (PC rel16) para secÃ§Ã£o (%s) nÃ£o suportadoErro de ligaÃ§Ã£o BFD: salto (PC rel26) para secÃ§Ã£o (%s) nÃ£o suportadoMau valorPasta de relocalizaÃ§Ã£o base [.reloc]Pasta de importaÃ§Ã£o vinculadaVÃ­nculos:
+Ramo para um endereÃ§o nÃ£o alinhado por instruÃ§Ã£ouso CACHE: CLICabeÃ§alho de execuÃ§Ã£o CLRCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (aumentar base de relocalizaÃ§Ã£o) %u
+CTL_DFLOC (definir localizaÃ§Ã£o)
+CTL_SETRB (definir base de relocalizaÃ§Ã£o)
+CTL_STKDL (localizaÃ§Ã£o definida por stack)
+CTL_STLOC (definir localizaÃ§Ã£o)
+ImpossÃ­vel converter um ramo para JALX para um endereÃ§o nÃ£o alinhado por wordImpossÃ­vel converter um salto para JALX para um endereÃ§o nÃ£o alinhado por wordCabeÃ§alho de copyright
+SecÃ§Ã£o .rsrc corrompida detectada!
+Registo EEOM corrupto - tamanho demasiado pequenoRegisto EGSD corrupto: campo psindx muito grande (%#lx)Registo EGSD corrupto: tamanho (%#x) muito pequenoRegisto EGSD corrupto: tamanho (%#x) maior que o espaÃ§o restante (%#x)Registo EGSD corrupto: tamanho (%#x) muito pequenoRegisto EIHD corrupto - tamanho muito pequenoEncontrado registo ETIR corruptoValor vms corruptoDSO em falta da linha de comandosDST__K_BEG_STMT_MODE nÃ£o implementadoDST__K_END_STMT_MODE nÃ£o implementadoDST__K_RESET_LINUM_INCR nÃ£o implementadoDST__K_SET_LINUM_INCR nÃ£o implementadoDST__K_SET_LINUM_INCR_W nÃ£o implementadoDST__K_SET_PC nÃ£o implementadoDST__K_SET_PC_L nÃ£o implementadoDST__K_SET_PC_W nÃ£o implementadoDST__K_SET_STMTNUM nÃ£o implementadoPasta de depuraÃ§Ã£oTabela de mÃ³dulo de depuraÃ§Ã£o:
+Tabela de sÃ­mbolos de depuraÃ§Ã£o:
+Pasta de atraso de importaÃ§Ã£o%s obsoleto chamado
+%s obsoleto chamado em %s linha %d em %s
+Pasta de descriÃ§Ã£oErro Dwarf: detectada recursividade em instÃ¢ncia abstracta.Erro Dwarf: impossÃ­vel encontrar a secÃ§Ã£o %s.Erro Dwarf: impossÃ­vel encontrar nÃºmero abbrev %u.Erro Dwarf: encontrado atributo DW_AT_comp_dir com uma forma nÃ£o-cadeia.Erro Dwarf: ponteiro de informaÃ§Ã£o excede o final dos atributosErro Dwarf: instÃ¢ncia DIE ref abstracta invÃ¡lida.Erro Dwarf: mÃ¡ximo de operaÃ§Ãµes por instruÃ§Ã£o invÃ¡lido.Erro Dwarf: valor FORM invÃ¡lido ou nÃ£o gerido: %#x.Erro Dwarf: secÃ§Ã£o de informaÃ§Ã£o da linha maior (%#Lx) que o espaÃ§o restante na secÃ§Ã£o (%#lx)Erro Dwarf: secÃ§Ã£o de informaÃ§Ã£o da linha muito pequena (%Ld)Erro Dwarf: tamanho %u do selector de segmento de informaÃ§Ã£o de linha nÃ£o suportadoErro Dwarf: desvio (%llu) maior ou igual a tamanho %s (%Lu).Erro Dwarf: sem espaÃ§o ao ler opcodesErro Dwarf: sem espaÃ§o ao ler o prÃ³logoErro Dwarf:  impossÃ­vel ler referÃªncia alternativa %llu.Erro Dwarf: versÃ£o %d .debug_line version nÃ£o gerida.Erro Dwarf: tipo de formato de conteÃºdo %Lu desconhecido.Erro Dwarf: total de formato zero.Erro Dwarf: total de dados (%Lx) maior que o tamanho do buffer.Erro Dwarf: encontrado tamanho de endereÃ§o "%u", este leitor nÃ£o gere tamanhos maiores que "%u".Erro Dwarf: encontrada versÃ£o dwarf "%u", este leitor sÃ³ gere informaÃ§Ã£o das versÃµes 2, 3, 4 e 5.Erro Dwarf: secÃ§Ã£o de nÃºmero de linha modificada (mau nÂº de ficheiro).Erro Dwarf: secÃ§Ã£o de nÃºmero de linha modificada.EIHD: (tamanho: %u, nÂº blocos: %u)
+ERRO: tentativa de ligar %B com um binÃ¡rio %B de diferente arquitecturaFunÃ§Ã£o de entrada "%s" desapareceu do cÃ³digo de seguranÃ§a.Desvio da entrada   = 0x%.8lx (%ld)
+Erro  ao ler %s: %sErro: %B tem ambos os atributos Tag_MPextension_use actual e legadoErro: a arquitectura ARC4 jÃ¡ nÃ£o Ã© suportada.
+Encontrados erros ao processar o ficheiro %BPasta de excepÃ§Ãµes [.pdata]Pasta de exportaÃ§Ã£o [.edata (ou onde o encontrÃ¡mos)]Bandeiras de exportaÃ§Ã£o 			%lx
+ExportaÃ§Ã£o RVAFalha ao procurar reloc HI16 anteriorFILES_VOLUMES    FPU-2.0FPU-3.0Falha ao actualizar desvios de ficheiro na pasta de depuraÃ§Ã£oFormato de ficheiro ambÃ­guoFormato de ficheiro nÃ£o reconhecidoFicheiro em formato erradoFicheiro muito grandeFicheiro truncadoCampo de bandeira   = 0x%.2x
+Reencaminhador RVAGALAXY           RelocalizaÃ§Ãµes GOT e PLT nÃ£o podem ser reparadas com um linker nÃ£o dinÃ¢mico.Usada relocalizaÃ§Ã£o relativa GP sem GP definidoRelocalizaÃ§Ã£o relativa GP com _gp nÃ£o definidorelocalizaÃ§Ã£o GPDISP nÃ£o encontrou instruÃ§Ãµes ldah e ldaTabela de sÃ­mbolo global:
+Flutuante rÃ­gido (32-bit CPU, 64-bit FPU)
+Flutuante rÃ­gido (32-bit CPU, qualquer FPU)
+Flutuante rÃ­gido (MIPS32r2 64-bit FPU 12 callee-saved)
+Flutuante rÃ­gido (precisÃ£o dupla)
+Flutuante rÃ­gido (precisÃ£o simples)
+Comp. flutuante rÃ­gido (32-bit CPU, 64-bit FPU)
+Flutuante rÃ­gido ou suave
+ID: %#08lxIDC - verificaÃ§Ã£o Ident Consistency
+Analisador IEEE: tamanho da cadeia: %#lx maior que o buffer: %#lxIMAGE_ACTIVATOR  INPUT_SECTION_FLAGS nÃ£o sÃ£o suportadas.
+IO               ActivaÃ§Ã£o da imagem:  (tam=%u)
+Fixup do activador de imagem: (principal: %u, menor: %u)
+IdentificaÃ§Ã£o da imagem: (principal: %u, menor: %u)
+Descritor de secÃ§Ã£o de imagem: (principal: %u, menor: %u, tamanho: %u, desvio: %u)
+Tabela de sÃ­mbolo de imagem e depuraÃ§Ã£o: (principal: %u, menor: %u)
+Pasta de tabela de endereÃ§os de importaÃ§Ã£oPasta de importaÃ§Ã£o [partes de .idata]Erro interno: transporte de stack em reloc RL78Erro interno: sub-transporte de stack em reloc RL78InconsistÃªncia interna: resta %lu != mÃ¡x %lu.
+  Por favor, reporte este erro.NÃºmero de reloc AArch64 invÃ¡lido: %dNÃºmero de reloc DLX invÃ¡lido: %dTipo de relocalizaÃ§Ã£o "%s" TARGET2 invÃ¡lido.Alvo bfd invÃ¡lidoConteÃºdo invÃ¡lido na secÃ§Ã£o %AOperaÃ§Ã£o invÃ¡lidaSecÃ§Ã£o de saÃ­da invÃ¡lida para .eh_frame_entry: %AÃ�ndice de secÃ§Ã£o invÃ¡lido em ETIREstarÃ¡ esta versÃ£o do linker - %s - fora do prazo?Tem de ser um sÃ­mbolo de funÃ§Ã£o global ou fraco.Salto para um endereÃ§o nÃ£o alinhado por instruÃ§Ã£oSalto para um endereÃ§o nÃ£o alinhado por wordLOGICAL_NAMES    Nome do processador de linguagem
+Tamanho             = 0x%.8lx (%ld)
+Linker: impossÃ­vel iniciar erro da tabela de hash ex9 
+Linker: erro impossÃ­vel relocalizaÃ§Ã£o fixa ex9 
+Pasta de configuraÃ§Ã£o de carregamentoFunÃ§Ã£o IFUNC local "%s" em %B
+MEMORY_MANAGEMENTfunÃ§Ãµes MIPS16 e microMIPS nÃ£o se podem chamar entre siMISC             uso MMU: MULTI_PROCESSING Principal/Menor 			%d/%d
+Arquivo mal formadoStack mÃ¡ximo requerido Ã© 0x%v
+MeP: howto %d tem tipo %dMemÃ³ria esgotadaCabeÃ§alho de mÃ³dulo
+NETWORKS         NORMALNome 				Sem endereÃ§o atribuÃ­do Ã  secÃ§Ã£o de saÃ­da das folhas %sSem erroSem mais ficheiros de arquivoSem sÃ­mbolosNenhumSecÃ§Ã£o nÃ£o representÃ¡vel na saÃ­daSem memÃ³ria suficiente para ordenar relocalizaÃ§ÃµesNÃºmero em:
+OPR_ADD (adicionar)
+OPR_AND (e lÃ³gico)
+OPR_ASH (mudanÃ§a aritmÃ©tica)
+OPR_COM (complementar)
+OPR_DIV (dividir)
+OPR_EOR (ou exclusivo lÃ³gico)
+OPR_INSV (inserir campo)
+OPR_IOR (ou inclusivo lÃ³gico)
+OPR_MUL (multiplicar)
+OPR_NEG (negar)
+OPR_NOP (sem-operaÃ§Ã£o)
+OPR_REDEF (definir um literal)
+OPR_REDEF (redefinir sÃ­mbolo para localizaÃ§Ã£o actual)
+OPR_ROT (rodar)
+OPR_SEL (seleccionar)
+OPR_SUB (subtrair)
+OPR_USH (mudanÃ§a nÃ£o assinada)
+MÃ³dulo objecto NÃƒO livre de erros!
+Desvio "%s" da folha para funÃ§Ã£o de entrada nÃ£o Ã© mÃºltiplo do seu tamanho.Uma causa possÃ­vel deste erro Ã© o sÃ­mbolo ser referenciado no cÃ³digo indicado como se tivesse um alinhamento maior do que aquele que foi declarado na definiÃ§Ã£o.Base ordinal 			%ld
+O ficheiro de saÃ­da requer a biblioteca partilhada "%s"
+O ficheiro de saÃ­da requer a biblioteca partilhada "%s.so.%s"
+Carga PC-relative de endereÃ§o nÃ£o alinhadoExecutÃ¡vel PIEPOSIX            PROCESS_SCHED    PRVFXDPRVPICPSC - definiÃ§Ã£o da secÃ§Ã£o Program
+troca PTA: endereÃ§o SHcompact (bit 0 == 0)troca PTB: endereÃ§o SHmedia (bit 0 == 1)Nome da partiÃ§Ã£o    = "%s"
+Fim da partiÃ§Ã£o[%d]    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
+Tamanho da partiÃ§Ã£o[%d] = 0x%.8lx (%ld)
+Sector da partiÃ§Ã£o[%d] = 0x%.8lx (%ld)
+Por favor, reporte este erro.
+conflito RL78 ABI: ficheiro G10 %B nÃ£o pode ser ligado a ficheiro %s %Bconflito RL78 ABI: impossÃ­vel ligar ficheiro %s %B com ficheiro %s %Bconflito de uniÃ£o RL78: impossÃ­vel ligar objectos 32-bit e 64-bitR_BFIN_FUNCDESC referencia sÃ­mbolo dinÃ¢mico com adenda nÃ£o-zeroR_BFIN_FUNCDESC_VALUE referencia sÃ­mbolo dinÃ¢mico com adenda nÃ£o-zeroR_FRV_TLSMOFFLO nÃ£o aplicado a uma instruÃ§Ã£o setlo ou setlos
+A ler carimbo de mod de ficheiro de arquivoReferÃªncia ao sÃ­mbolo distante "%s" com uma relocalizaÃ§Ã£o errada pode resultar em execuÃ§Ã£o incorrectaRegisto %%g%d usa incompatibilidade: %s em %B, previamente %s em %BSecÃ§Ã£o de registo tem conteÃºdo
+RelocalizaÃ§Ã£o para psect nÃ£o-RELA remover secÃ§Ã£o "%A" nÃ£o usada no ficheiro "%B"ReservadoPasta de recursos [.rsrc]endereÃ§o S12 (%lx) nÃ£o estÃ¡ dentro de RAM(0x2000-0x4000) partilhado, deve desviar manualmente o endereÃ§o no seu cÃ³digorelocalizaÃ§Ã£o SDA com _SDA_BASE_ nÃ£o definidoSECURITY         SEC_RELOC sem relocs na secÃ§Ã£o %AErro SH: tipo de reloc %d nÃ£o suportadoSHELL            SHRFXDSHRPICuso SIMD: SPSC - definiÃ§Ã£o de secÃ§Ã£o Shared Image Program
+STABLE           STA_CKARG (comparar argumento de procedimento)
+STA_GBL (stack global) %.*s
+STA_LI (stack literal)
+STA_LW (stack longword) 0x%08x
+STA_MOD (stack mÃ³dulo)
+STA_PQ (stack psect base + desvio)
+STA_QW (stack quadword) 0x%08x %08x
+STC_BOH_GBL (armazenar BOH condicional em endereÃ§o global)
+STC_BOH_PS (armazenar BOH condicional em psect + desvio)
+STC_BSR_GBL (armazenar BSR condicional em endereÃ§o global)
+STC_BSR_PS (armazenar BSR condicional em psect + desvio)
+STC_GBL (armazenar global condicional)
+STC_GCA (armazenar endereÃ§o de cÃ³digo condicional)
+STC_LDA_GBL (armazenar LDA condicional em endereÃ§o global)
+STC_LDA_PS (armazenar LDA condicional em psect + desvio)
+STC_LP (armazenar par de ligaÃ§Ã£o condicional)
+STC_LP_PSB (armazenar par de ligaÃ§Ã£o condicional + assinatura)
+STC_NBH_GBL (armazenar condicional ou dica em endereÃ§o global)
+STC_NBH_PS (armazenar condicional ou dica em psect + desvio)
+STC_NOP_GBL (armazenar NOP condicional em endereÃ§o global)
+STC_NOP_PS (armazenar NOP condicional em psect + desvio)
+STC_PS (armazenar psect condicional + desvio)
+STO_AB (armazenar ramo absoluto)
+STO_B (armazenar byte)
+STO_BR_GBL ( global ramo global) *todo*
+STO_BR_PS ( global ramo psect + desvio) *todo*
+STO_CA (armazenar endereÃ§o de cÃ³digo) %.*s
+STO_GBL (armazenar global) %.*s
+STO_GBL_LW (armazenar longword global) %.*s
+STO_IMM (armazenar imediato) %u bytes
+STO_IMMR (armazenar repetiÃ§Ã£o imediata) %u bytes
+STO_LW (armazenar longword)
+STO_OFF ( global LP com assinatura de procedimento)
+STO_OFF (armazenar desvio para psect)
+STO_QW (armazenar quadword)
+STO_RB (armazenar ramo relativo)
+STO_W (armazenar word)
+SYM - definiÃ§Ã£o de sÃ­mbolo Global
+SYM - referÃªncia de sÃ­mbolo Global
+SYMG - definiÃ§Ã£o Universal
+SYMM - definiÃ§Ã£o de sÃ­mbolo Global com versÃ£o
+SYMV - definiÃ§Ã£o de sÃ­mbolo Vectored
+SYSGEN           SecÃ§Ã£o sem conteÃºdoPasta de seguranÃ§aErro de tamanho na secÃ§Ã£o %AFlutuante suave
+CabeÃ§alho de ficheiros fonte
+Pasta especialRelocalizaÃ§Ã£o ALPHA_R_BSR espÃºriaAnÃ¡lise de stack ignorarÃ¡ a chamada de %s a %s
+Transporte de stack (%d) em _bfd_vms_pushTamanho de stack para chamar nÃ³s raiz grÃ¡ficos.
+Sub-transporte de stack em _bfd_vms_popEndereÃ§o inicial de "%s" Ã© diferente da ligaÃ§Ã£o prÃ©via.Passos:
+SÃ­mbolo %s nÃ£o definido para fixups
+SÃ­mbolo "%s" tem tipos diferentes: %s em %B, previamente REGISTER em %BSÃ­mbolo "%s" tem tipos diferentes: REGISTER em %B, previamente %s em %BSÃ­mbolo precisa de secÃ§Ã£o de depuraÃ§Ã£o que nÃ£o existeO sÃ­mbolo deve ser absoluto, global e referir-se a funÃ§Ãµes Thumb.Erro de chamada do sistemarelocalizaÃ§Ã£o TLS invÃ¡lida sem secÃ§Ãµes dinÃ¢micasTransporte TOC: %#Lx > 0x10000; tente -mminimal-toc ao compilarEndereÃ§os da tabela
+O campo de tamanho dos dados de depuraÃ§Ã£o na pasta de dados Ã© demasiado grande para a secÃ§Ã£oO tamanho da pasta de depuraÃ§Ã£o nÃ£o Ã© mÃºltiplo do tamanho da entrada da pasta de depuraÃ§Ã£o
+HÃ¡ um conflito na uniÃ£o das bandeira do cabeÃ§alho ELF de %BPasta de armazenamento de Thread [.tls]Selo Hora/Data 		%lx
+CabeÃ§alho do texto de tÃ­tulo
+Demasiadas entradas GOT para -fpic, recompile com -fPICDemasiados cÃ³digos unwind (%ld)
+Tente activar relaxe para evitar truncamentos nas relocalizaÃ§ÃµesTipo                Tam.     Rva      Desvio
+USRSTACKImpossÃ­vel encontrar secÃ§Ã£o de saÃ­da equivalente para sÃ­mbolo "%s" da secÃ§Ã£o "%s"ImpossÃ­vel atingir %s (at 0x%08x) do ponteiro global (em 0x%08x) porque o desvio (%d) estÃ¡ fora do intervalo permitido, -32678 a 32767.
+ImpossÃ­vel ler registo EIHS no desvio %#xSTO_SH5_ISA32 inesperado em sÃ­mbolo local nÃ£o Ã© geridoNÃºmero de mÃ¡quina inesperadoTipo de secÃ§Ã£o %d de ficheiro nÃºcleo OSF/1 nÃ£o gerida
+RelocalizaÃ§Ã£o %s nÃ£o geridaDesconhecidoSub-tipo EGSD %d desconhecidoTipo bÃ¡sico %d desconhecidoReloc %s desconhecidaReloc %s + %s desconhecidaSÃ­mbolo desconhecido em comando %sDesconhecido: %xNÃºmero de reloc MIPS nÃ£o reconhecido: %dINPUT_SECTION_FLAG %s nÃ£o reconhecida
+TI COFF id de alvo "0x%x" nÃ£o reconhecidatipo de reloc 0x%x nÃ£o reconhecidoRelocalizaÃ§Ã£o .stab nÃ£o suportadaTipo de relocalizaÃ§Ã£o CR16 nÃ£o suportado: 0x%x
+VOLATILE         VariÃ¡vel "%s" sÃ³ pode estar numa das regiÃµes de dados pequena, zero e minÃºsculaVariÃ¡vel "%s" nÃ£o pode estar nas regiÃµes de dados pequena e minÃºscula em simultÃ¢neoVariÃ¡vel "%s" nÃ£o pode estar nas regiÃµes de dados pequena e zero em simultÃ¢neoVariÃ¡vel "%s" nÃ£o pode estar nas regiÃµes de dados zero e minÃºscula em simultÃ¢neoVariÃ¡vel "%s" nÃ£o pode ocupar mÃºltiplas pequenas regiÃµes de dadosTamanho virtual da secÃ§Ã£o .pdata (%ld) maior que o tamanho real (%ld)
+Aviso, .tamanho da secÃ§Ã£o pdata (%ld) nÃ£o Ã© mÃºltiplo de %d
+Aviso: %B nÃ£o suporta interworking, enquanto %B simAviso: %B suporta interworking, enquanto %B nÃ£oAviso: %B usa %s (definida por %B), %B usa %sAviso: %B usa %s (definida por %B), %B usa MSA ABI %d desconhecidaAbiso: %B usa %s (definida por %B), %B usa vÃ­rgula flutuante ABI %d desconhecidaAviso: %B usa 64-bit long double, %B usa 128-bit long doubleAviso: %B usa AltiVec vector ABI, %B usa SPE vector ABIAviso: %B usa IBM long double, %B usa IEEE long doubleAviso: %B usa vÃ­rgula rÃ­gida de precisÃ£o dupla, %B usa vÃ­rgula rÃ­gida de precisÃ£o simplesAviso: %B usa vÃ­rgula rÃ­gida, %B usa vÃ­rgula suaveAviso: %B usa r3/r4 para devoluÃ§Ãµes de estrutura pequena, %B usa memÃ³riaAviso: %B usa MSA ABI %d desconhecida (definida por %B), %B usa %sAviso: %B usa MSA ABI %d desconhecida (definida por %B), %B usa MSA ABI %d desconhecidaAviso: %B usa vÃ­rgula flutuante ABI %d desconhecida (definida por %B), %B usa %sAviso: %B usa vÃ­rgula flutuante ABI %d desconhecida (definida por %B), %B usa vÃ­rgula flutuante ABI %d desconhecidaAviso: %B: configuraÃ§Ã£o de plataforma em conflitoAviso: %B: conflito na configuraÃ§Ã£o de plataforma %s com %s.
+Aviso: %B: atributo de objecto ARC %d desconhecido.Aviso: %B: atributo de objecto EABI %d desconhecidoAviso: %B: atributo de objecto MSABI %d desconhecidoAviso: tamanho de secÃ§Ã£o %s (%ld) nÃ£o Ã© mÃºltiplo de %d
+Aviso: tamanho de secÃ§Ã£o %s (%ld) Ã© menor que o tamanho virtual (%ld)
+Aviso: tamanho de secÃ§Ã£o %s Ã© zero
+Aviso: a limpar bandeira %B de interworking devido a cÃ³digo nÃ£o interworking em %B que lhe foi ligadoAviso: a limpar bandeira %B de interworking devido a pedido externoAviso: bandeira %B de interworking nÃ£o definida porque jÃ¡ foi especificada como nÃ£o-interworkingAviso: reloc RL78_SYM com sÃ­mbolo desconhecidoAviso: reloc RX_SYM com sÃ­mbolo desconhecidoAviso: alihamento %u de sÃ­mbolo comum "%s" em %B Ã© maior que o alinhamento (%u) da sua secÃ§Ã£o %AAviso: alinhamento %u do sÃ­mbolo "%s" em %B Ã© menor que %u em %BAviso: troca de total de fixups
+Aviso: opÃ§Ã£o gc-sections ignoradaAviso: tamanho do sÃ­mbolo "%s" mudou de %Lu em %B para %Lu em %BAviso: sÃ­mbolo "%s" Ã© secÃ§Ã£o e nÃ£o-secÃ§Ã£o em simultÃ¢neoAviso: tipo de sÃ­mbolo "%s" alterado de %d para %d em %BAviso: bandeiras nÃ£o definidas ou de arquitectura antiga. 
+	       Use a mÃ¡quina predefinida.
+Aviso: escrita do arquivo lenta: a reescrever o carimbo
+A escrever carimbo armap actualizadoO endereÃ§o XGATE (%lx) nÃ£o estÃ¡ dentro de RAM(0xE000-0xFFFF) partilhado, deve desviar manualmente o endereÃ§o e, possivelmente gerir a pÃ¡gina, no seu cÃ³digo.[%u]: inferior: %u, superior: %u
+[abi=16-bit int, [abi=32-bit int, 8cujo nome estÃ¡ perdido]_bfd_vms_output_counted chamado com demasiados bytes_bfd_vms_output_counted chamado com zero bytes"%s" refere-se a funÃ§Ã£o nÃ£o de entrada.um objecto PDEum objecto PIEum objecto partilhadoendereÃ§oendereÃ§o nÃ£o alinhado por worddescritor de matriz:
+matriz, dim: %u, bitmap: arsize: %u, a0: 0x%08x
+atÃ³mico, tipo=0x%02x %s
+mau Ã­ndice de secÃ§Ã£o em %sendereÃ§o de banco [%lx:%04lx] (%lx) nÃ£o estÃ¡ no mesmo banco que o endereÃ§o actual [%lx:%04lx] (%lx)base: %u, pos: %u
+bfd_mach_o_canonicalize_symtab: impossÃ­vel carregar sÃ­mbolosbfd_mach_o_read_section_32: valor de alinhamento muito grande: %#lx, a usar 32bfd_mach_o_read_section_64: valor de alinhamento muito grande: %#lx, a usar 32bfd_mach_o_read_symtab_symbol: nome fora do intervalo (%lu >= %u)bfd_mach_o_read_symtab_symbol: sÃ­mbolo "%s" especificou secÃ§Ã£o invÃ¡lida %d (mÃ¡x %lu): a definir como indefinidabfd_mach_o_read_symtab_symbol: sÃ­mbolo "%s" especificou campo de tipo invÃ¡lido 0x%x: a definir como indefinidabfd_mach_o_read_symtab_symbol: impossÃ­vel ler %d bytes em %ubfd_mach_o_read_symtab_symbols: impossÃ­vel alocar memÃ³ria para sÃ­mbolosbfd_mach_o_scan: arquitectura desconhecida 0x%lx/0x%lxbfd_pef_scan: arquitectura desconhecida 0x%lxblkbeg: endereÃ§o: 0x%08x, nome: %.*s
+blkend: tamanho: 0x%08x
+impossÃ­vel criar entrada fictÃ­cia %simpossÃ­vel emitir relocalizaÃ§Ãµes dinÃ¢micas em secÃ§Ã£o sÃ³ de leituraimpossÃ­vel emitir fixups em secÃ§Ã£o sÃ³ de leituraimpossÃ­vel encontrar EMH no primeiro registo GST
+impossÃ­vel gerir reloc R_MEM_INDIRECT enquanto usa saÃ­da %simpossÃ­vel ler DMT
+impossÃ­vel ler cabeÃ§alho DMT
+impossÃ­vel ler psect DMT
+impossÃ­vel ler DST
+impossÃ­vel ler cabeÃ§alho DST
+impossÃ­vel ler sÃ­mbolo DST
+impossÃ­vel ler EIHA
+impossÃ­vel ler EIHD
+impossÃ­vel ler EIHI
+impossÃ­vel ler EIHS
+impossÃ­vel ler cabeÃ§alho EIHVN
+impossÃ­vel ler versÃ£o EIHVN
+impossÃ­vel ler EISD
+impossÃ­vel ler GST
+impossÃ­vel ler registo GST
+impossÃ­vel ler cabeÃ§alho de registo GST
+impossÃ­vel ler tamanho do registo GST
+classe: %u, dtype: %u, tamanho: %u, ponteiro: 0x%08x
+secÃ§Ã£o %s corrupta em %BimpossÃ­vel encontrar a secÃ§Ã£o %simpossÃ­vel localizar sÃ­mbolo linker especial __ctbpimpossÃ­vel localizar sÃ­mbolo linker especial __epimpossÃ­vel localizar sÃ­mbolo linker especial __gpimpossÃ­vel abrir imagem partilhada "%s" de "%s"cpu=HC11]cpu=HC12]cpu=HCS12]cpu=XGATE]relocalizaÃ§Ã£o perigosadelta pc +%-4ddelta_pc_l: +0x%08x
+delta_pc_w %u
+descdimct: %u, aflags: 0x%02x, dÃ­gitos: %u, escala: %u
+secÃ§Ã£o de saÃ­da descartada: "%A"a descartar intervalo FDE de endereÃ§o zero em %B(%A).
+intervalo descontÃ­nuo (nr: %u)
+relocalizaÃ§Ã£o dinÃ¢mica em secÃ§Ã£o sÃ³ de leituravariÃ¡vel dinÃ¢mica "%s" tem tamanho zeroenumbeg, tam: %u, nome: %.*s
+enumelt, nome: %.*s
+enumend
+epÃ­logo: bandeiras: %u, total: %u
+erro ao ler tipo de cpu de dados privados elferro: %B contÃ©m uma reloc (%#Lx) para a secÃ§Ã£o %A que referencia um sÃ­mbolo global inexistenteerro: %B nÃ£o usa instruÃ§Ãµes Maverick, enquanto %B simerro: %B jÃ¡ estÃ¡ no formato final BE8erro: %B estÃ¡ compilado como cÃ³digo de posiÃ§Ã£o absoluta, enquanto destino %B Ã© de posiÃ§Ã£o independenteerro: %B estÃ¡ compilado como cÃ³digo independente da posiÃ§Ã£o, enquanto destino %B Ã© de posiÃ§Ã£o absolutaerro: %B estÃ¡ compilado para APCS-%d, enquanto %B estÃ¡ compilado para APCS-%derro: %B estÃ¡ compilado para APCS-%d, enquanto o alvo %B usa APCS-%derro: %B estÃ¡ compilado para EP9312, enquanto %B estÃ¡ compilado para XScaleerro: %B precisa de alinhamento 8-byte mas %B estÃ¡ definido para alinhamento 4-byteerro: %B passa flutuantes em registos flutuantes, enquanto %B os passa em registos inteiroserro: %B passa flutuantes em registos inteiros, enquanto %B os passa em registos flutuanteserro: %B requer mais alinhamento de matriz do que %B preservaerro: %B requer mais alinhamento de stack do que %B preservaerro: %B usa instruÃ§Ãµes %s mas %B usa %serro: %B usa doubles 64-bit mas %B usa doubles 32-biterro: %B usa instruÃ§Ãµes FPA, enquanto %B nÃ£oerro: %B usa FPU-3.0 mas %B sÃ³ suporta FPU-2.0erro: %B usa instruÃ§Ãµes Maverick, enquanto %B nÃ£oerro: %B usa instruÃ§Ãµes VFP, enquanto %B nÃ£oerro: %B usa argumentos de registo VFP, %B nÃ£oerro: %B usa equipamento FP, enquanto %B usa programa FPerro: %B usa argumentos de registo iWMMXt, %B nÃ£oerro: %B usa programa FP, enquanto %B usa equipamento FPerro: %B usa o modelo de cÃ³digo %s enquanto %B usa o modelo de cÃ³digo %serro: %B usa o modelo de dados %s mas %B sÃ³ usa instruÃ§Ãµes MSP430erro: %B usa o modelo de dados %s enquanto %B usa o modelo de dados %serro: %B usa o modelo de cÃ³digo grande mas %B usa instruÃ§Ãµes MSP430erro: %B usa o modelo de cÃ³digo pequeno mas %B usa o modelo de dados %serro: %B(%A) Ã© muito grande (%#Lx bytes)erro: %B: <tamanho necessÃ¡rio x86 ISA corrupto: 0x%x>erro: %B: <tamanho ISA x86 corrupto: 0x%x>erro: %B: <tamanho de funcionalidade x86 corrupto: 0x%x>erro: %B: Big-endian R2 nÃ£o Ã© suportado.erro: %B: arquitecturas CPU %d/%d em conflitoerro: %B: perfis de arquitectura %c/%c em conflitoerro: %B: uso de R9 em conflitoerro: %B: objecto tem conteÃºdo especifico do fabricante que tem de ser processado por "%s"erro: %B: etiqueta do objecto "%d, %s" Ã© incompatÃ­vel com etiqueta "%d, %s"erro: %B: conflitos de endereÃ§amento relativo SB com o uso de R9erro: %B: arquitectura CPU desconhecidaerro: %B: impossÃ­vel misturar rf16 com conjunto de registo completo %B.
+erro: %B: conflito de atributos de extensÃ£o ISA %s com %s.
+erro: %B: conflito de atributos %s.
+erro: %B: conflito de atributos %s: %s com %s.
+erro: %B: tamanho da secÃ§Ã£o %A nÃ£o Ã© mÃºltiplo do tamanho do endereÃ§oerro: %B: impossÃ­vel unir atributos base CPU %s com %s.
+erro: %B: impossÃ­vel unir atributos de extensÃ£o ISA %s.
+erro: %B: impossÃ­vel unir atributos de virtualizaÃ§Ã£o com %Berro: impossÃ­vel encontrar sÃ­mbolo: _SDA_BASE_.erro: erro de relocalizaÃ§Ã£o IFC.erro: falha em salto IFC.erro: objecto fonte %B tem versÃ£o EABI %d, mas o alvo %B tem versÃ£o EABI %derro: formato fp16 enganado entre %B e %Berro: tipo de relocalizaÃ§Ã£o inapropriado para biblioteca partilhada (esqueceu-se de -fpic?)erro: sÃ­mbolo __rtinit indefinidoerro: valor Tag_ABI_array_object_align_expected desconhecido em %Berro: valor Tag_ABI_array_object_alignment desconhecido em %BexecutÃ¡velfalha ao criar entrada de tabela hash ex9.it %sfalha ao alocar espaÃ§o para nova secÃ§Ã£o APUinfo.falha ao computar nova secÃ§Ã£o APUinfo.falha ao instalar nova secÃ§Ã£o APUinfo.erro fatal ao criar .fixuplinker genÃ©rico nÃ£o pode gerir %sendereÃ§o relativo de ponteiro global fora do intervalorelocalizaÃ§Ã£o relativa de ponteiro global no endereÃ§o 0x%08x com _gp nÃ£o definido
+relocalizaÃ§Ã£o relativa de ponteiro global com _gp nÃ£o definidosÃ­mbolo ocultosÃ­mbolo oculto a ignorar reloc %s
+incr_linum(b): +%u
+incr_linum_l: +%u
+incr_linum_w: +%u
+indirecto, definido em 0x%08x
+erro interno: adenda devia ser zero para R_LM32_16_GOTerro interno: adenda devia ser zero para R_OR1K_GOT16erro interno: detectado ramo/salto para um endereÃ§o Ã­mparerro interno: erro perigosoerro interno: relocalizaÃ§Ã£o perigosaerro interno: uniÃ£o da arquitectura "%s" com a arquitectura "%s" produziu uma arquitectura desconhecidaerro interno: erro fora do intervaloerro interno: tipo de relocalizaÃ§Ã£o suspeito usado em biblioteca partilhadaerro interno: erro desconhecidoerro interno: erro relocalizaÃ§Ã£o nÃ£o suportadainconsistÃªncia interna no tamanho da secÃ§Ã£o .got.locsÃ­mbolo internosÃ­mbolo interno RelocalizaÃ§Ã£o de entrada invÃ¡lida ao produzir saÃ­da de formato nÃ£o-ELF, nÃ£o-mmo.
+ Por favor, use o programa objcopy para converter de ELF ou mmo,
+ ou monte usando "-no-expand" (para gcc, "-Wa,-no-expand"RelocalizaÃ§Ã£o de entrada invÃ¡lida ao produzir saÃ­da de formato nÃ£o-ELF, nÃ£o-mmo.
+ Por favor, use o programa objcopy para converter de ELF ou mmo,
+ou compile usando a opÃ§Ã£o gcc "-mno-base-addresses".EndereÃ§o de relocalizaÃ§Ã£o invÃ¡lidotipo de relocalizaÃ§Ã£o %d invÃ¡lidouso invÃ¡lido de %s com contextosip2k linker: pÃ¡gina de instruÃ§Ã£o em falta em %#Lx (dest = %#Lx)ip2k linker: pÃ¡gina de instruÃ§Ã£o redundante em %#Lx (dest = %#Lx)ip2k relaxer: cabeÃ§alho da tabela de troca corrompido.ip2k relaxer: tabela de troca sem informaÃ§Ã£o completa de comparaÃ§Ã£o de relocalizaÃ§Ã£o.etiqueta, nome: %.*s
+tam: %2u, tipo: %2u nÂº linha  (tam: %u)
+imagem ligÃ¡velfictÃ­cios de linker em grupo %u
+fictÃ­cios de linker em grupos %u
+literalrelocalizaÃ§Ã£o literal ocorre para um sÃ­mbolo externomach-o: hÃ¡ demasiadas secÃ§Ãµes (%u), o mÃ¡ximo Ã© 255,
+mep: sem reloc para cÃ³digo %dmodbeg
+modend
+nome: [val: %08lx tam %d]: nativointroduzidas novas funÃ§Ãµes de entrada mas nÃ£o especificou biblioteca importada de saÃ­da:nÃ£omatriz nÃ£o contÃ­nua de %s
+relocalizaÃ§Ãµes nÃ£o-dinÃ¢micas referem-se a sÃ­mbolo dinÃ¢mico %stamanho nÃ£o-sobreposiÃ§Ã£o de 0x%v mais o tamanho mÃ¡ximo de sobreposiÃ§Ã£o de 0x%v excede a capacidade local
+adenda nÃ£o-zero em reloc @fptrnenhumespaÃ§o GOT insuficiente para entradas GOT locaisnÃ£o mapeado: dados=%lx mapeado=%d
+nÃ£o mapeado: env var nÃ£o definida
+nÃ£o definidofora do intervalotransporte apÃ³s relaxetransporte de relocalizaÃ§Ã£o fictÃ­cia de sobreposiÃ§Ã£oponteiro
+bandeiras privadas = %lxbandeiras provadas = %lx:bandeiras privadas = %lx: bandeiras privadas = %x:bandeiras privadas = 0x%lxbandeiras privadas = 0x%lx:prÃ³logo: bkpt endereÃ§o 0x%08x
+sÃ­mbolo protegidosÃ­mbolo protegido recbeg: nome: %.*s
+recend
+referÃªncia a um endereÃ§o de banco [%lx:%04lx] no espaÃ§o de endereÃ§o normal em %04lxregreloc (%d) Ã© *UNKNOWN*relocalizaÃ§Ã£o "%s" ainda nÃ£o implementadarelocalizaÃ§Ã£o fora do intervalorelocalizaÃ§Ã£o referencia sÃ­mbolo ainda nÃ£o definido no mÃ³dulorelocalizaÃ§Ã£o requer adenda zeroa relocalizaÃ§Ã£o deve ser nÃºmero parrelocalizaÃ§Ãµes entre diferentes segmentos nÃ£o sÃ£o suportadasa reabrir %B: %s
+comando reservado %drtnbeg
+rtnend: tamanho 0x%08x
+endereÃ§o de secÃ§Ã£o (%#Lx) abaixo do inÃ­cio do segmento (%#Lx)septyp, nome: %.*s
+set_abs_pc: 0x%08x
+set_line_num(w) %u
+set_line_num_b %u
+set_line_num_l %u
+objecto partilhadosecÃ§Ã£o small-data excede 64KB; baixe o limite de tamanho de small-data (veja a opÃ§Ã£o -G)som_sizeof_headers nÃ£o implementadodesculpe, sem suporte para ficheiros objecto duplicados no script de auto-sobreposiÃ§Ã£o
+desculpe: modtab, toc e extrefsyms ainda nÃ£o estÃ£o implementados para comandos dysymtab.fonte (tam: %u)
+dados standard: %s
+procedimento estÃ¡tico (sem nome)entrada fictÃ­cia para %s nÃ£o pode carregar .plt, desvio dp = %LdfictÃ­cios nÃ£o correspondem ao tamanho calculadosÃ­mbolosÃ­mbolo informaÃ§Ã£o da matriz de versÃ£o do sistema:
+term(b): 0x%02xterm_w: 0x%04xo alvo bfin actualmente nÃ£o suporta a geraÃ§Ã£o de relocalizaÃ§Ãµes de cÃ³piatipo de  spec para elemento:
+tipo de spec para subscrito %u:
+ponteiro com tipo
+typspec (tam: %u)
+impossÃ­vel alocar dados para comando de carga %#ximpossÃ­vel encontrar cola ARM "%s" para "%s"impossÃ­vel encontrar cola THUMB "%s" para "%s"impossÃ­vel dispor comando de carga %#x desconhecidoimpossÃ­vel ler na secÃ§Ã£o %s de %BimpossÃ­vel escrever comando de carga %#x desconhecidocadeia de bits nÃ£o alinhada de %s
+convenÃ§Ã£o de chamada incerta para sÃ­mbolo nÃ£o-COFFindefinidoreferÃªncia %s indefinida em sÃ­mbolo complexo: %stipo de entrada egsd %u nÃ£o gerida
+sub-tipo emh %u nÃ£o gerido
+desconhecidocomando ETIR %d desconhecidoerro desconhecidovalor de cabeÃ§alho byte-order %#x desconhecidocomando de linha %d desconhecidooperador "%c" desconhecido em sÃ­mbolo complexoComando fonte %d desconhecidoarquitectura V850 desconhecidadesconhecido: %xnÃºmero de reloc MIPS nÃ£o reconhecido: %drelocalizaÃ§Ã£o nÃ£o reconhecida (0x%x)comando STA %s nÃ£o suportadoreloc nÃ£o suportadotipo de reloc nÃ£o suportadorelocalizaÃ§Ã£o nÃ£o suportadarelocalizaÃ§Ã£o nÃ£o suportada entre dados/espaÃ§os de endereÃ§o insna usar mÃºltiplos valores gparquitectura v850 E3arquitectura v850arquitectura v850earquitectura v850e1arquitectura v850e2arquitectura v850e2v3arquitectura v850e3v5vflags: 0x%02x, valor: 0x%08x vma:			EndInicial  	 EndFinal  	 DadosUnwind
+aviso: %B e %B diferem em tamanho wchar_taviso: %B e %B diferem sobre se o cÃ³digo foi compilado para DSBTaviso: %B tem um Ã­ndice de tabela de cadeia corrompido - a ignoraraviso: %B estÃ¡ truncado: esperado tamanho do ficheiro de nÃºcleo >= %Lu, obtido: %lluaviso: %B usa %s enums mas a saÃ­da deve usar %s enums; uso de valores enum atravÃ©s de vÃ¡rios objectos pode falharaviso: %B usa %u-byte wchar_t mas a saÃ­da deve usar %u-byte wchar_t; uso de valores wchar_t atravÃ©s de vÃ¡rios objectos pode falharaviso: %B: tamanho GNU_PROPERTY_TYPE (%ld) corrupto: %#lxaviso: %B: GNU_PROPERTY_TYPE (%ld) corrupto ,tipo (0x%x) datasz: 0x%xaviso: %B: tamanho corrupto de nÃ£o copiar se protegido: 0x%xaviso: %B:tamanho de stack corrupto: 0x%xaviso: %B: sÃ­mbolo local "%s" nÃ£o tem secÃ§Ã£oaviso: %B: GNU_PROPERTY_TYPE (%ld) nÃ£o suportada, tipo: 0x%xaviso: %s excede o tamanho da secÃ§Ã£o
+aviso: %s sobrepÃµe-se a %s
+aviso: secÃ§Ã£o %s tem tamanho zeroaviso: tentativa de exportar sÃ­mbolo "%s" indefinidoaviso: chamada a sÃ­mbolo nÃ£o-funÃ§Ã£o %s definida em %Baviso: a descartar secÃ§Ã£o dinÃ¢mica %saviso: a gerar uma biblioteca partilhada contendo cÃ³digo nÃ£o PICaviso: a gerar uma biblioteca partilhada contendo cÃ³digo nÃ£o PIDaviso: a relocalizaÃ§Ã£o referencia um segmento diferenteaviso: a secÃ§Ã£o "%s" estÃ¡ a ser tornada numa notaaviso: tipo da secÃ§Ã£o "%A" alterou-se para PROGBITSaviso: tipo e tamanho do sÃ­mbolo dinÃ¢mico "%s" nÃ£o estÃ£o definidosaviso: impossÃ­vel definir tamanho da secÃ§Ã£o %s em %Baviso: impossÃ­vel actualizar conteÃºdo da secÃ§Ã£o %s em %Baviso: secÃ§Ã£o de escrita "%A" em enorme (negativo) desvio de ficheiroaviso: secÃ§Ã£o xdata corruptaaviso: secÃ§Ã£o xdata corrupta
+simnÃ£o tem permissÃ£o para definir %s num script
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/pt.po ./bfd/po/pt.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/pt.po	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/po/pt.po	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1,8766 @@
+# Portuguese translations for GNU binutils package.
+# Copyright (C) 2018 Free Software Foundation, Inc.
+# This file is distributed under the same license as the binutils package.
+# Pedro Albuquerque <palbuquerque73@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bfd-2.30.0\n"
+"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
+"POT-Creation-Date: 2018-01-13 13:44+0000\n"
+"PO-Revision-Date: 2018-05-11 10:07+0100\n"
+"Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n"
+"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
+"Language: pt\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Gtranslator 2.91.6\n"
+
+#: aout-adobe.c:126
+#, c-format
+msgid "%B: Unknown section type in a.out.adobe file: %x\n"
+msgstr "%B: tipo de secÃ§Ã£o desconhecido em ficheiro a.out.adobe: %x\n"
+
+#: aout-cris.c:200
+#, c-format
+msgid "%B: Invalid relocation type exported: %d"
+msgstr "%B: tipo de relocalizaÃ§Ã£o exportado invÃ¡lido: %d"
+
+#: aout-cris.c:244
+#, c-format
+msgid "%B: Invalid relocation type imported: %d"
+msgstr "%B: tipo de relocalizaÃ§Ã£o importado invÃ¡lido: %d"
+
+#: aout-cris.c:256
+#, c-format
+msgid "%B: Bad relocation record imported: %d"
+msgstr "%B: registo de relocalizaÃ§Ã£o importado invÃ¡lido: %d"
+
+#: aoutx.h:1284 aoutx.h:1636 pdp11.c:1152 pdp11.c:1413
+#, c-format
+msgid "%B: can not represent section `%A' in a.out object file format"
+msgstr "%B: impossÃ­vel representar secÃ§Ã£o \"%A\" num formato de ficheiro objecto a.out"
+
+#: aoutx.h:1600 pdp11.c:1385
+#, c-format
+msgid "%B: can not represent section for symbol `%s' in a.out object file format"
+msgstr "%B: impossÃ­vel representar secÃ§Ã£o para sÃ­mbolo\"%s\" num formato de ficheiro objecto a.out"
+
+#: aoutx.h:1603 vms-alpha.c:7853
+msgid "*unknown*"
+msgstr "*desconhecido*"
+
+#: aoutx.h:2422 aoutx.h:2440
+msgid "%B: attempt to write out unknown reloc type"
+msgstr "%B tentativa de escrever tipo de reloc desconhecido"
+
+#: aoutx.h:4093 aoutx.h:4414
+msgid "%P: %B: unexpected relocation type\n"
+msgstr "%P: %B: tipo de relocalizaÃ§Ã£o inesperado\n"
+
+#: aoutx.h:5440 pdp11.c:3708
+#, c-format
+msgid "%B: relocatable link from %s to %s not supported"
+msgstr "%B: ligaÃ§Ã£o relocalizÃ¡vel de %s para %s nÃ£o suportado"
+
+#: archive.c:2305
+msgid "Warning: writing archive was slow: rewriting timestamp\n"
+msgstr "Aviso: escrita do arquivo lenta: a reescrever o carimbo\n"
+
+#: archive.c:2421 linker.c:1410
+msgid "%B: plugin needed to handle lto object"
+msgstr "%B: extensÃ£o precisou de gerir objecto lto"
+
+#: archive.c:2650
+msgid "Reading archive file mod timestamp"
+msgstr "A ler carimbo de mod de ficheiro de arquivo"
+
+#: archive.c:2674
+msgid "Writing updated armap timestamp"
+msgstr "A escrever carimbo armap actualizado"
+
+#: bfd.c:454
+msgid "No error"
+msgstr "Sem erro"
+
+#: bfd.c:455
+msgid "System call error"
+msgstr "Erro de chamada do sistema"
+
+#: bfd.c:456
+msgid "Invalid bfd target"
+msgstr "Alvo bfd invÃ¡lido"
+
+#: bfd.c:457
+msgid "File in wrong format"
+msgstr "Ficheiro em formato errado"
+
+#: bfd.c:458
+msgid "Archive object file in wrong format"
+msgstr "Ficheiro objecto de arquivo em formato errado"
+
+#: bfd.c:459
+msgid "Invalid operation"
+msgstr "OperaÃ§Ã£o invÃ¡lida"
+
+#: bfd.c:460
+msgid "Memory exhausted"
+msgstr "MemÃ³ria esgotada"
+
+#: bfd.c:461
+msgid "No symbols"
+msgstr "Sem sÃ­mbolos"
+
+#: bfd.c:462
+msgid "Archive has no index; run ranlib to add one"
+msgstr "Arquivo sem Ã­ndice; execute ranlib para adicionar um"
+
+#: bfd.c:463
+msgid "No more archived files"
+msgstr "Sem mais ficheiros de arquivo"
+
+#: bfd.c:464
+msgid "Malformed archive"
+msgstr "Arquivo mal formado"
+
+#: bfd.c:465
+msgid "DSO missing from command line"
+msgstr "DSO em falta da linha de comandos"
+
+#: bfd.c:466
+msgid "File format not recognized"
+msgstr "Formato de ficheiro nÃ£o reconhecido"
+
+#: bfd.c:467
+msgid "File format is ambiguous"
+msgstr "Formato de ficheiro ambÃ­guo"
+
+#: bfd.c:468
+msgid "Section has no contents"
+msgstr "SecÃ§Ã£o sem conteÃºdo"
+
+#: bfd.c:469
+msgid "Nonrepresentable section on output"
+msgstr "SecÃ§Ã£o nÃ£o representÃ¡vel na saÃ­da"
+
+#: bfd.c:470
+msgid "Symbol needs debug section which does not exist"
+msgstr "SÃ­mbolo precisa de secÃ§Ã£o de depuraÃ§Ã£o que nÃ£o existe"
+
+#: bfd.c:471
+msgid "Bad value"
+msgstr "Mau valor"
+
+#: bfd.c:472
+msgid "File truncated"
+msgstr "Ficheiro truncado"
+
+#: bfd.c:473
+msgid "File too big"
+msgstr "Ficheiro muito grande"
+
+#: bfd.c:474
+#, c-format
+msgid "Error reading %s: %s"
+msgstr "Erro  ao ler %s: %s"
+
+#: bfd.c:475
+msgid "#<Invalid error code>"
+msgstr "#<CÃ³digo de erro invÃ¡lido>"
+
+#: bfd.c:1442
+#, c-format
+msgid "BFD %s assertion fail %s:%d"
+msgstr "BFD falha de asserÃ§Ã£o %s %s:%d"
+
+#: bfd.c:1455
+#, c-format
+msgid "BFD %s internal error, aborting at %s:%d in %s\n"
+msgstr "BFD erro interno %s, a abortar em %s:%d em %s\n"
+
+#: bfd.c:1460
+#, c-format
+msgid "BFD %s internal error, aborting at %s:%d\n"
+msgstr "BFD erro interno %s, a abortar em %s:%d\n"
+
+#: bfd.c:1462
+msgid "Please report this bug.\n"
+msgstr "Por favor, reporte este erro.\n"
+
+#: bfdwin.c:206
+#, c-format
+msgid "not mapping: data=%lx mapped=%d\n"
+msgstr "nÃ£o mapeado: dados=%lx mapeado=%d\n"
+
+#: bfdwin.c:209
+#, c-format
+msgid "not mapping: env var not set\n"
+msgstr "nÃ£o mapeado: env var nÃ£o definida\n"
+
+#: binary.c:276
+#, c-format
+msgid "warning: writing section `%A' at huge (ie negative) file offset"
+msgstr "aviso: secÃ§Ã£o de escrita \"%A\" em enorme (negativo) desvio de ficheiro"
+
+#: bout.c:1142 elf-m10300.c:2647 elf32-avr.c:2484 elf32-frv.c:5633
+#: elf64-ia64-vms.c:353 elfxx-sparc.c:2817 reloc.c:8059 reloc16.c:156
+#: elf32-ia64.c:351 elf64-ia64.c:351
+msgid "%P%F: --relax and -r may not be used together\n"
+msgstr "%P%F: --relax e -r nÃ£o podem ser usadas em conjunto\n"
+
+#: cache.c:273
+#, c-format
+msgid "reopening %B: %s\n"
+msgstr "a reabrir %B: %s\n"
+
+#: coff-alpha.c:450
+msgid ""
+"%B: Cannot handle compressed Alpha binaries.\n"
+"   Use compiler flags, or objZ, to generate uncompressed binaries."
+msgstr ""
+"%B: impossÃ­vel gerir binÃ¡rios Alpha comprimidos.\n"
+"   Use bandeiras do compilador ou objZ para gerar binÃ¡rios descomprimidos."
+
+#: coff-alpha.c:602
+msgid "%B: unknown/unsupported relocation type %d"
+msgstr "%B: tipo de relocalizaÃ§Ã£o %d desconhecido/nÃ£o suportado"
+
+#: coff-alpha.c:851 coff-alpha.c:888 coff-alpha.c:1961 coff-mips.c:950
+msgid "GP relative relocation used when GP not defined"
+msgstr "Usada relocalizaÃ§Ã£o relativa GP sem GP definido"
+
+#: coff-alpha.c:1444
+msgid "using multiple gp values"
+msgstr "a usar mÃºltiplos valores gp"
+
+#: coff-alpha.c:1503
+msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH"
+msgstr "%B: relocalizaÃ§Ã£o nÃ£o suportada: ALPHA_R_GPRELHIGH"
+
+#: coff-alpha.c:1510
+msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
+msgstr "%B: relocalizaÃ§Ã£o nÃ£o suportada: ALPHA_R_GPRELLOW"
+
+#: coff-alpha.c:1518 elf32-i370.c:1081 elf32-m32r.c:2404
+#: elf32-microblaze.c:932 elf64-alpha.c:4098 elf64-alpha.c:4246
+#: elf64-ia64-vms.c:3430 elf32-ia64.c:3847 elf64-ia64.c:3847
+#, c-format
+msgid "%B: unknown relocation type %d"
+msgstr "%B: tipo de relocalizaÃ§Ã£o desconhecido %d"
+
+#: coff-arm.c:1037
+#, c-format
+msgid "%B: unable to find THUMB glue '%s' for `%s'"
+msgstr "%B: impossÃ­vel encontrar cola THUMB \"%s\" para \"%s\""
+
+#: coff-arm.c:1066
+#, c-format
+msgid "%B: unable to find ARM glue '%s' for `%s'"
+msgstr "%B: impossÃ­vel encontrar cola ARM \"%s\" para \"%s\""
+
+#: coff-arm.c:1368 elf32-arm.c:8896
+#, c-format
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+"  first occurrence: %B: arm call to thumb"
+msgstr ""
+"%B(%s): aviso: interworking nÃ£o activo.\n"
+"  primeira ocorrÃªncia: %B: chamada arm a thumb"
+
+#: coff-arm.c:1458
+#, c-format
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+"  first occurrence: %B: thumb call to arm\n"
+"  consider relinking with --support-old-code enabled"
+msgstr ""
+"%B(%s): aviso: interworking nÃ£o activo.\n"
+"  primeira ocorrÃªncia: %B: chamada thumb a arm\n"
+"  considere religaÃ§Ã£o com --support-old-code activo"
+
+#: coff-arm.c:1751 coff-tic80.c:672 cofflink.c:3127
+#, c-format
+msgid "%B: bad reloc address %#Lx in section `%A'"
+msgstr "%B: mau endereÃ§o reloc %#Lx na secÃ§Ã£o \"%A\""
+
+#: coff-arm.c:2076
+#, c-format
+msgid "%B: illegal symbol index in reloc: %ld"
+msgstr "%B: Ã­ndice de sÃ­mbolo ilegal na reloc: %ld"
+
+#: coff-arm.c:2208
+#, c-format
+msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
+msgstr "erro: %B estÃ¡ compilado para APCS-%d, enquanto %B estÃ¡ compilado para APCS-%d"
+
+#: coff-arm.c:2221 elf32-arm.c:19582
+#, c-format
+msgid "error: %B passes floats in float registers, whereas %B passes them in integer registers"
+msgstr "erro: %B passa flutuantes em registos flutuantes, enquanto %B os passa em registos inteiros"
+
+#: coff-arm.c:2226 elf32-arm.c:19586
+#, c-format
+msgid "error: %B passes floats in integer registers, whereas %B passes them in float registers"
+msgstr "erro: %B passa flutuantes em registos inteiros, enquanto %B os passa em registos flutuantes"
+
+#: coff-arm.c:2238
+#, c-format
+msgid "error: %B is compiled as position independent code, whereas target %B is absolute position"
+msgstr "erro: %B estÃ¡ compilado como cÃ³digo independente da posiÃ§Ã£o, enquanto destino %B Ã© de posiÃ§Ã£o absoluta"
+
+#: coff-arm.c:2243
+#, c-format
+msgid "error: %B is compiled as absolute position code, whereas target %B is position independent"
+msgstr "erro: %B estÃ¡ compilado como cÃ³digo de posiÃ§Ã£o absoluta, enquanto destino %B Ã© de posiÃ§Ã£o independente"
+
+#: coff-arm.c:2270 elf32-arm.c:19651
+#, c-format
+msgid "Warning: %B supports interworking, whereas %B does not"
+msgstr "Aviso: %B suporta interworking, enquanto %B nÃ£o"
+
+#: coff-arm.c:2275 elf32-arm.c:19657
+#, c-format
+msgid "Warning: %B does not support interworking, whereas %B does"
+msgstr "Aviso: %B nÃ£o suporta interworking, enquanto %B sim"
+
+#: coff-arm.c:2298
+#, c-format
+msgid "private flags = %x:"
+msgstr "bandeiras privadas = %x:"
+
+#: coff-arm.c:2306 elf32-arm.c:14160
+#, c-format
+msgid " [floats passed in float registers]"
+msgstr " [flutuantes passados em registos flutuantes]"
+
+#: coff-arm.c:2308
+#, c-format
+msgid " [floats passed in integer registers]"
+msgstr " [flutuantes passados em registos inteiros]"
+
+#: coff-arm.c:2311 elf32-arm.c:14163
+#, c-format
+msgid " [position independent]"
+msgstr " [posiÃ§Ã£o independente]"
+
+#: coff-arm.c:2313
+#, c-format
+msgid " [absolute position]"
+msgstr " [posiÃ§Ã£o absoluta]"
+
+#: coff-arm.c:2317
+#, c-format
+msgid " [interworking flag not initialised]"
+msgstr " [bandeira interworking nÃ£o inicializada]"
+
+#: coff-arm.c:2319
+#, c-format
+msgid " [interworking supported]"
+msgstr " [interworking suportado]"
+
+#: coff-arm.c:2321
+#, c-format
+msgid " [interworking not supported]"
+msgstr " [interworking nÃ£o suportado]"
+
+#: coff-arm.c:2366 elf32-arm.c:13021
+msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"
+msgstr "Aviso: bandeira %B de interworking nÃ£o definida porque jÃ¡ foi especificada como nÃ£o-interworking"
+
+#: coff-arm.c:2369 elf32-arm.c:13025
+msgid "Warning: Clearing the interworking flag of %B due to outside request"
+msgstr "Aviso: a limpar bandeira %B de interworking devido a pedido externo"
+
+#: coff-arm.c:2426 elf32-arm.c:13070
+#, c-format
+msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
+msgstr "Aviso: a limpar bandeira %B de interworking devido a cÃ³digo nÃ£o interworking em %B que lhe foi ligado"
+
+#: coff-h8300.c:1068
+#, c-format
+msgid "cannot handle R_MEM_INDIRECT reloc when using %s output"
+msgstr "impossÃ­vel gerir reloc R_MEM_INDIRECT enquanto usa saÃ­da %s"
+
+#: coff-i860.c:151
+#, c-format
+msgid "relocation `%s' not yet implemented"
+msgstr "relocalizaÃ§Ã£o \"%s\" ainda nÃ£o implementada"
+
+#: coff-i860.c:613 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5343
+#, c-format
+msgid "%B: warning: illegal symbol index %ld in relocs"
+msgstr "%B: aviso: Ã­ndice de sÃ­mbolo %ld ilegal em relocs"
+
+#: coff-i960.c:122 coff-i960.c:475
+msgid "uncertain calling convention for non-COFF symbol"
+msgstr "convenÃ§Ã£o de chamada incerta para sÃ­mbolo nÃ£o-COFF"
+
+#: coff-m68k.c:488 elf32-bfin.c:5340 elf32-cr16.c:2801 elf32-m68k.c:4385
+msgid "unsupported reloc type"
+msgstr "tipo de reloc nÃ£o suportado"
+
+#: coff-mips.c:640 elf32-mips.c:1744 elf32-score.c:430 elf32-score7.c:330
+#: elf64-mips.c:3135 elfn32-mips.c:2958
+msgid "GP relative relocation when _gp not defined"
+msgstr "RelocalizaÃ§Ã£o relativa GP com _gp nÃ£o definido"
+
+#: coff-rs6000.c:2773
+#, c-format
+msgid "%B: unsupported relocation type 0x%02x"
+msgstr "%B: tipo de relocalizaÃ§Ã£o 0x%02x nÃ£o suportado"
+
+#: coff-rs6000.c:2859
+#, c-format
+msgid "%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry"
+msgstr "%B: reloc TOC em %#Lx para sÃ­mbolo \"%s\" sem entrada TOC"
+
+#: coff-rs6000.c:3605 coff64-rs6000.c:2150
+#, c-format
+msgid "%B: symbol `%s' has unrecognized smclas %d"
+msgstr "%B: sÃ­mbolo \"%s\" tem smclas %d nÃ£o reconhecido"
+
+#: coff-sh.c:504
+#, c-format
+msgid "SH Error: unknown reloc type %d"
+msgstr "Erro SH: tipo de reloc %d nÃ£o suportado"
+
+#: coff-sh.c:778 elf32-sh.c:580
+#, c-format
+msgid "%B: %#Lx: warning: bad R_SH_USES offset"
+msgstr "%B: %#Lx: aviso: mau desvio R_SH_USES"
+
+#: coff-sh.c:789
+#, c-format
+msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x"
+msgstr "%B: %#Lx: aviso: R_SH_USES aponta para insn %#x nÃ£o reconhecido"
+
+#: coff-sh.c:807 elf32-sh.c:610
+#, c-format
+msgid "%B: %#Lx: warning: bad R_SH_USES load offset"
+msgstr "%B: %#Lx: aviso: mau desvio de carga R_SH_USES"
+
+#: coff-sh.c:832 elf32-sh.c:626
+#, c-format
+msgid "%B: %#Lx: warning: could not find expected reloc"
+msgstr "%B: %#Lx: aviso: impossÃ­vel encontrar reloc esperado"
+
+#: coff-sh.c:849 elf32-sh.c:655
+#, c-format
+msgid "%B: %#Lx: warning: symbol in unexpected section"
+msgstr "%B: %#Lx: aviso: sÃ­mbolo em secÃ§Ã£o inesperada"
+
+#: coff-sh.c:975 elf32-sh.c:785
+#, c-format
+msgid "%B: %#Lx: warning: could not find expected COUNT reloc"
+msgstr "%B: %#Lx: aviso: impossÃ­vel encontrar reloc COUNT"
+
+#: coff-sh.c:985 elf32-sh.c:795
+#, c-format
+msgid "%B: %#Lx: warning: bad count"
+msgstr "%B: %#Lx: aviso: mÃ¡ contagem"
+
+#: coff-sh.c:1357 coff-sh.c:2645 elf32-sh.c:1199 elf32-sh.c:1570
+#, c-format
+msgid "%B: %#Lx: fatal: reloc overflow while relaxing"
+msgstr "%B: %#Lx: fatal: transporte reloc ao relaxar"
+
+#: coff-sh.c:1452
+msgid "%B: fatal: generic symbols retrieved before relaxing"
+msgstr "%B: fatal: obtidos sÃ­mbolos genÃ©ricos antes de relaxar"
+
+#: coff-sh.c:2783 cofflink.c:2965
+#, c-format
+msgid "%B: illegal symbol index %ld in relocs"
+msgstr "%B: Ã­ndice de sÃ­mbolo %ld ilegal em relocs"
+
+#: coff-tic4x.c:183 coff-tic54x.c:278 coff-tic80.c:441
+#, c-format
+msgid "Unrecognized reloc type 0x%x"
+msgstr "tipo de reloc 0x%x nÃ£o reconhecido"
+
+#: coff-w65.c:352
+#, c-format
+msgid "ignoring reloc %s\n"
+msgstr "a ignorar reloc %s\n"
+
+#: coffcode.h:968
+msgid "%B: unable to load COMDAT section name"
+msgstr "%B: impossÃ­vel carregar nome de secÃ§Ã£o COMDAT"
+
+#. Malformed input files can trigger this test.
+#. cf PR 21781.
+#: coffcode.h:1003
+msgid "%B: error: unexpected symbol '%s' in COMDAT section"
+msgstr "%B: erro: sÃ­mbolo \"%s\" inesperado em secÃ§Ã£o COMDAT"
+
+#: coffcode.h:1015
+#, c-format
+msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
+msgstr "%B: aviso: sÃ­mbolo \"%s\" COMDAT nÃ£o corresponde ao nome de secÃ§Ã£o \"%s\""
+
+#: coffcode.h:1025
+#, c-format
+msgid "%B: warning: No symbol for section '%s' found"
+msgstr "%B: aviso: sÃ­mbolo para secÃ§Ã£o \"%s\" nÃ£o encontrado"
+
+#. Generate a warning message rather using the 'unhandled'
+#. variable as this will allow some .sys files generate by
+#. other toolchains to be processed.  See bugzilla issue 196.
+#: coffcode.h:1251
+#, c-format
+msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
+msgstr "%B: aviso: a ignorar bandeira de secÃ§Ã£o IMAGE_SCN_MEM_NOT_PAGED na secÃ§Ã£o %s"
+
+#: coffcode.h:1320
+#, c-format
+msgid "%B (%s): Section flag %s (%#lx) ignored"
+msgstr "%B (%s): bandeira de secÃ§Ã£o %s (%#lx) ignorada"
+
+#: coffcode.h:1950
+msgid "%B: warning: claims to have 0xffff relocs, without overflow"
+msgstr "%B: aviso: afirma ter 0xffff relocs, sem transporte"
+
+#: coffcode.h:2466
+#, c-format
+msgid "Unrecognized TI COFF target id '0x%x'"
+msgstr "TI COFF id de alvo \"0x%x\" nÃ£o reconhecida"
+
+#: coffcode.h:2784
+#, c-format
+msgid "%B: reloc against a non-existent symbol index: %ld"
+msgstr "%B: reloc contra Ã­ndice de sÃ­mbolo nÃ£o existente: %ld"
+
+#: coffcode.h:3187
+#, c-format
+msgid "%B: page size is too large (0x%x)"
+msgstr "%B: tamanho de pÃ¡gina muito grande (0x%x)"
+
+#: coffcode.h:3347
+#, c-format
+msgid "%B: too many sections (%d)"
+msgstr "%B: demasiadas secÃ§Ãµes (%d)"
+
+#: coffcode.h:3768
+#, c-format
+msgid "%B: section %A: string table overflow at offset %ld"
+msgstr "%B: secÃ§Ã£o %A: transporte na tabela de sÃ­mbolo no desvio %ld"
+
+#: coffcode.h:3873
+#, c-format
+msgid "%B:%s section %s: alignment 2**%u not representable"
+msgstr "%B:%s secÃ§Ã£o %s: alinhamento 2**%u nÃ£o representÃ¡vel"
+
+#: coffcode.h:4592
+msgid "%B: warning: line number count (%#lx) exceeds section size (%#lx)"
+msgstr "%B: aviso: total de nÃºmero de linha (%#lx) excede tamanho de secÃ§Ã£o (%#lx)"
+
+#: coffcode.h:4607
+msgid "%B: warning: line number table read failed"
+msgstr "%B: aviso: falha ao ler tabela de nÃºmero de linha"
+
+#: coffcode.h:4641 coffcode.h:4655
+#, c-format
+msgid "%B: warning: illegal symbol index 0x%lx in line number entry %d"
+msgstr "%B: aviso: Ã­ndice de sÃ­mbolo 0x%lx ilegal em entrada de nÃºmero de linha %d"
+
+#: coffcode.h:4669
+#, c-format
+msgid "%B: warning: illegal symbol in line number entry %d"
+msgstr "%B: aviso: sÃ­mbolo ilegal em entrada de nÃºmero de linha %d"
+
+#: coffcode.h:4682
+#, c-format
+msgid "%B: warning: duplicate line number information for `%s'"
+msgstr "%B: aviso: informaÃ§Ã£o de nÃºmero de linha duplicada para \"%s\""
+
+#: coffcode.h:5103
+#, c-format
+msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
+msgstr "%B: classe de armazenamento %d nÃ£o reconhecida para %s sÃ­mbolo \"%s\""
+
+#: coffcode.h:5236
+#, c-format
+msgid "warning: %B: local symbol `%s' has no section"
+msgstr "aviso: %B: sÃ­mbolo local \"%s\" nÃ£o tem secÃ§Ã£o"
+
+#: coffcode.h:5383
+#, c-format
+msgid "%B: illegal relocation type %d at address %#Lx"
+msgstr "%B: tipo de relocalizaÃ§Ã£o %d ilegal no endereÃ§o %#Lx"
+
+#: coffgen.c:178 elf.c:1198
+#, c-format
+msgid "%B: unable to initialize compress status for section %s"
+msgstr "%B: impossÃ­vel inicializar estado comprimido para secÃ§Ã£o %s"
+
+#: coffgen.c:202 elf.c:1209
+#, c-format
+msgid "%B: unable to initialize decompress status for section %s"
+msgstr "%B: impossÃ­vel inicializar estado descomprimido para secÃ§Ã£o %s"
+
+#: coffgen.c:1649
+msgid "%B: corrupt symbol count: %#Lx"
+msgstr "%B: total de sÃ­mbolos corrupto: %#Lx"
+
+#. PR 21013: Provide an error message when the alloc fails.
+#: coffgen.c:1658
+msgid "%B: not enough memory to allocate space for %#Lx symbols of size %#Lx"
+msgstr "%B: memÃ³ria insuficiente para alocar espaÃ§o para %#Lx sÃ­mbolos de tamanho %#Lx"
+
+#: coffgen.c:1725
+#, c-format
+msgid "%B: bad string table size %Lu"
+msgstr "%B: mau tamanho de tabela de cadeias %Lu"
+
+#: coffgen.c:1902 coffgen.c:1962 coffgen.c:1980 cofflink.c:2045
+#: xcofflink.c:4507
+msgid "<corrupt>"
+msgstr "<corrupto>"
+
+#: coffgen.c:2104
+#, c-format
+msgid "<corrupt info> %s"
+msgstr "<informaÃ§Ã£o corrupta> %s"
+
+#: coffgen.c:2683 elflink.c:14149 linker.c:2940
+msgid "%F%P: already_linked_table: %E\n"
+msgstr "%F%P: already_linked_table: %E\n"
+
+#: coffgen.c:3024 elflink.c:13151
+#, c-format
+msgid "Removing unused section '%A' in file '%B'"
+msgstr "A remover secÃ§Ã£o \"%A\" nÃ£o usada no ficheiro \"%B\""
+
+#: coffgen.c:3101 elflink.c:13369
+msgid "Warning: gc-sections option ignored"
+msgstr "Aviso: opÃ§Ã£o gc-sections ignorada"
+
+#: cofflink.c:352
+#, c-format
+msgid "Warning: symbol `%s' is both section and non-section"
+msgstr "Aviso: sÃ­mbolo \"%s\" Ã© secÃ§Ã£o e nÃ£o-secÃ§Ã£o em simultÃ¢neo"
+
+#: cofflink.c:454 elf64-ia64-vms.c:5186 elflink.c:4831
+#, c-format
+msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
+msgstr "Aviso: tipo de sÃ­mbolo \"%s\" alterado de %d para %d em %B"
+
+#: cofflink.c:2373
+#, c-format
+msgid "%B: relocs in section `%A', but it has no contents"
+msgstr "%B: relocs na secÃ§Ã£o \"%A\", mas nÃ£o tem conteÃºdo"
+
+#: cofflink.c:2436 elflink.c:10664
+#, c-format
+msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
+msgstr "%X\"%s\" referenciado na secÃ§Ã£o \"%A\" de %B: definido em secÃ§Ã£o descartada \"%A\" de %B\n"
+
+#: cofflink.c:2734
+#, c-format
+msgid "%B: %A: reloc overflow: %#x > 0xffff"
+msgstr "%B: %A: transporte de reloc: %#x > 0xffff"
+
+#: cofflink.c:2742
+#, c-format
+msgid "%B: warning: %A: line number overflow: %#x > 0xffff"
+msgstr "%B: aviso: %A: transporte de nÃºmero de linha: %#x > 0xffff"
+
+#: coffswap.h:811
+#, c-format
+msgid "%B: warning: %s: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: aviso: %s: transporte de nÃºmero de linha: 0x%lx > 0xffff"
+
+#: coffswap.h:825
+#, c-format
+msgid "%B: %s: reloc overflow: 0x%lx > 0xffff"
+msgstr "%B: %s: transporte de reloc: 0x%lx > 0xffff"
+
+#: compress.c:255
+#, c-format
+msgid "error: %B(%A) is too large (%#Lx bytes)"
+msgstr "erro: %B(%A) Ã© muito grande (%#Lx bytes)"
+
+#: cpu-arm.c:192 cpu-arm.c:204
+#, c-format
+msgid "error: %B is compiled for the EP9312, whereas %B is compiled for XScale"
+msgstr "erro: %B estÃ¡ compilado para EP9312, enquanto %B estÃ¡ compilado para XScale"
+
+#: cpu-arm.c:338
+#, c-format
+msgid "warning: unable to update contents of %s section in %B"
+msgstr "aviso: impossÃ­vel actualizar conteÃºdo da secÃ§Ã£o %s em %B"
+
+#: dwarf2.c:543
+#, c-format
+msgid "Dwarf Error: Can't find %s section."
+msgstr "Erro Dwarf: impossÃ­vel encontrar a secÃ§Ã£o %s."
+
+#: dwarf2.c:572
+#, c-format
+msgid "Dwarf Error: Offset (%llu) greater than or equal to %s size (%Lu)."
+msgstr "Erro Dwarf: desvio (%llu) maior ou igual a tamanho %s (%Lu)."
+
+#: dwarf2.c:1089
+msgid "Dwarf Error: Info pointer extends beyond end of attributes"
+msgstr "Erro Dwarf: ponteiro de informaÃ§Ã£o excede o final dos atributos"
+
+#: dwarf2.c:1261
+#, c-format
+msgid "Dwarf Error: Invalid or unhandled FORM value: %#x."
+msgstr "Erro Dwarf: valor FORM invÃ¡lido ou nÃ£o gerido: %#x."
+
+#: dwarf2.c:1567
+msgid "Dwarf Error: mangled line number section (bad file number)."
+msgstr "Erro Dwarf: secÃ§Ã£o de nÃºmero de linha modificada (mau nÂº de ficheiro)."
+
+#: dwarf2.c:1912
+msgid "Dwarf Error: Zero format count."
+msgstr "Erro Dwarf: total de formato zero."
+
+#: dwarf2.c:1921
+#, c-format
+msgid "Dwarf Error: data count (%Lx) larger than buffer size."
+msgstr "Erro Dwarf: total de dados (%Lx) maior que o tamanho do buffer."
+
+#: dwarf2.c:1962
+#, c-format
+msgid "Dwarf Error: Unknown format content type %Lu."
+msgstr "Erro Dwarf: tipo de formato de conteÃºdo %Lu desconhecido."
+
+#: dwarf2.c:2042
+#, c-format
+msgid "Dwarf Error: Line info section is too small (%Ld)"
+msgstr "Erro Dwarf: secÃ§Ã£o de informaÃ§Ã£o da linha muito pequena (%Ld)"
+
+#: dwarf2.c:2072
+#, c-format
+msgid "Dwarf Error: Line info data is bigger (%#Lx) than the space remaining in the section (%#lx)"
+msgstr "Erro Dwarf: secÃ§Ã£o de informaÃ§Ã£o da linha maior (%#Lx) que o espaÃ§o restante na secÃ§Ã£o (%#lx)"
+
+#: dwarf2.c:2085
+#, c-format
+msgid "Dwarf Error: Unhandled .debug_line version %d."
+msgstr "Erro Dwarf: versÃ£o %d .debug_line version nÃ£o gerida."
+
+#: dwarf2.c:2095
+msgid "Dwarf Error: Ran out of room reading prologue"
+msgstr "Erro Dwarf: sem espaÃ§o ao ler o prÃ³logo"
+
+#: dwarf2.c:2113
+#, c-format
+msgid "Dwarf Error: Line info unsupported segment selector size %u."
+msgstr "Erro Dwarf: tamanho %u do selector de segmento de informaÃ§Ã£o de linha nÃ£o suportado"
+
+#: dwarf2.c:2140
+msgid "Dwarf Error: Invalid maximum operations per instruction."
+msgstr "Erro Dwarf: mÃ¡ximo de operaÃ§Ãµes por instruÃ§Ã£o invÃ¡lido."
+
+#: dwarf2.c:2159
+msgid "Dwarf Error: Ran out of room reading opcodes"
+msgstr "Erro Dwarf: sem espaÃ§o ao ler opcodes"
+
+#: dwarf2.c:2332
+msgid "Dwarf Error: mangled line number section."
+msgstr "Erro Dwarf: secÃ§Ã£o de nÃºmero de linha modificada."
+
+#: dwarf2.c:2833 dwarf2.c:2894
+msgid "Dwarf Error: Invalid abstract instance DIE ref."
+msgstr "Erro Dwarf: instÃ¢ncia DIE ref abstracta invÃ¡lida."
+
+#: dwarf2.c:2870
+#, c-format
+msgid "Dwarf Error: Unable to read alt ref %llu."
+msgstr "Erro Dwarf:  impossÃ­vel ler referÃªncia alternativa %llu."
+
+#: dwarf2.c:2911 dwarf2.c:3076 dwarf2.c:3428
+#, c-format
+msgid "Dwarf Error: Could not find abbrev number %u."
+msgstr "Erro Dwarf: impossÃ­vel encontrar nÃºmero abbrev %u."
+
+#: dwarf2.c:2928
+msgid "Dwarf Error: Abstract instance recursion detected."
+msgstr "Erro Dwarf: detectada recursividade em instÃ¢ncia abstracta."
+
+#: dwarf2.c:3347
+#, c-format
+msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3, 4 and 5 information."
+msgstr "Erro Dwarf: encontrada versÃ£o dwarf \"%u\", este leitor sÃ³ gere informaÃ§Ã£o das versÃµes 2, 3, 4 e 5."
+
+#: dwarf2.c:3391
+#, c-format
+msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'."
+msgstr "Erro Dwarf: encontrado tamanho de endereÃ§o \"%u\", este leitor nÃ£o gere tamanhos maiores que \"%u\"."
+
+#: dwarf2.c:3494
+msgid "Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form."
+msgstr "Erro Dwarf: encontrado atributo DW_AT_comp_dir com uma forma nÃ£o-cadeia."
+
+#: ecoff.c:964
+#, c-format
+msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%ld)"
+msgstr "%B: aviso: isymMax (%ld) Ã© maior que ifdMax (%ld)"
+
+#: ecoff.c:1261
+#, c-format
+msgid "Unknown basic type %d"
+msgstr "Tipo bÃ¡sico %d desconhecido"
+
+#: ecoff.c:1518
+#, c-format
+msgid ""
+"\n"
+"      End+1 symbol: %ld"
+msgstr ""
+"\n"
+"      SÃ­mbolo End+1: %ld"
+
+#: ecoff.c:1525 ecoff.c:1528
+#, c-format
+msgid ""
+"\n"
+"      First symbol: %ld"
+msgstr ""
+"\n"
+"      Primeiro sÃ­mbolo: %ld"
+
+#: ecoff.c:1541
+#, c-format
+msgid ""
+"\n"
+"      End+1 symbol: %-7ld   Type:  %s"
+msgstr ""
+"\n"
+"      SÃ­mbolo End+1: %-7ld   Tipo:  %s"
+
+#: ecoff.c:1548
+#, c-format
+msgid ""
+"\n"
+"      Local symbol: %ld"
+msgstr ""
+"\n"
+"      SÃ­mbolo local: %ld"
+
+#: ecoff.c:1556
+#, c-format
+msgid ""
+"\n"
+"      struct; End+1 symbol: %ld"
+msgstr ""
+"\n"
+"      struct; sÃ­mbolo End+1: %ld"
+
+#: ecoff.c:1561
+#, c-format
+msgid ""
+"\n"
+"      union; End+1 symbol: %ld"
+msgstr ""
+"\n"
+"      union; sÃ­mbolo End+1: %ld"
+
+#: ecoff.c:1566
+#, c-format
+msgid ""
+"\n"
+"      enum; End+1 symbol: %ld"
+msgstr ""
+"\n"
+"      enum; sÃ­mbolo End+1: %ld"
+
+#: ecoff.c:1572
+#, c-format
+msgid ""
+"\n"
+"      Type: %s"
+msgstr ""
+"\n"
+"      Tipo: %s"
+
+#: elf-attrs.c:475
+msgid "%B: error: attribute section length too small: %ld"
+msgstr "%B: erro: tamanho da secÃ§Ã£o de atributo muito pequeno: %ld"
+
+#: elf-attrs.c:603
+#, c-format
+msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain"
+msgstr "erro: %B: objecto tem conteÃºdo especifico do fabricante que tem de ser processado por \"%s\""
+
+#: elf-attrs.c:613
+#, c-format
+msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
+msgstr "erro: %B: etiqueta do objecto \"%d, %s\" Ã© incompatÃ­vel com etiqueta \"%d, %s\""
+
+#: elf-eh-frame.c:942
+#, c-format
+msgid "discarding zero address range FDE in %B(%A).\n"
+msgstr "a descartar intervalo FDE de endereÃ§o zero em %B(%A).\n"
+
+#: elf-eh-frame.c:1047
+#, c-format
+msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
+msgstr "%P: erro em %B(%A); nÃ£o serÃ¡ criada nenhuma tabela .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:1537
+#, c-format
+msgid "%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
+msgstr "%P: codificaÃ§Ã£o FDE em %B(%A) impede a criaÃ§Ã£o de tabela .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:1544
+msgid "%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n"
+msgstr "%P: largados mais avisos sobre a codificaÃ§Ã£o FDE impedir a geraÃ§Ã£o de .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:1866
+#, c-format
+msgid "%B: %A not in order"
+msgstr "%B: %A nÃ£o estÃ¡ em ordem"
+
+#: elf-eh-frame.c:1880
+#, c-format
+msgid "%B: %A invalid input section size"
+msgstr "%B: %A tamanho invÃ¡lido de secÃ§Ã£o de entrada"
+
+#: elf-eh-frame.c:1888
+#, c-format
+msgid "%B: %A points past end of text section"
+msgstr "%B: %A aponta para lÃ¡ do fim da secÃ§Ã£o de texto"
+
+#: elf-eh-frame.c:2137
+msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
+msgstr "%P: DW_EH_PE_datarel nÃ£o especificado para esta arquitectura.\n"
+
+#: elf-eh-frame.c:2307
+#, c-format
+msgid "Invalid output section for .eh_frame_entry: %A"
+msgstr "SecÃ§Ã£o de saÃ­da invÃ¡lida para .eh_frame_entry: %A"
+
+#: elf-eh-frame.c:2330
+#, c-format
+msgid "Invalid contents in %A section"
+msgstr "ConteÃºdo invÃ¡lido na secÃ§Ã£o %A"
+
+#: elf-eh-frame.c:2486
+msgid "%P: .eh_frame_hdr entry overflow.\n"
+msgstr "%P: transporte na entrada .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:2489
+msgid "%P: .eh_frame_hdr refers to overlapping FDEs.\n"
+msgstr "%P: .eh_frame_hdr refere FDEs sobrepostos.\n"
+
+#: elf-ifunc.c:142
+#, c-format
+msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
+msgstr "%F%P: sÃ­mbolo \"%s\" STT_GNU_IFUNC dinÃ¢mico com igualdade de ponteiro em \"%B\" nÃ£o pode ser usado ao fazer um executÃ¡vel; recompile com -fPIE e volte a ligar com -pie\n"
+
+#: elf-m10200.c:425 elf-m10300.c:2145 elf32-avr.c:1502 elf32-bfin.c:3116
+#: elf32-cr16.c:1462 elf32-cr16c.c:780 elf32-cris.c:2030 elf32-crx.c:924
+#: elf32-d10v.c:509 elf32-epiphany.c:563 elf32-fr30.c:591 elf32-frv.c:4041
+#: elf32-ft32.c:485 elf32-h8300.c:522 elf32-i860.c:1210 elf32-ip2k.c:1475
+#: elf32-iq2000.c:689 elf32-lm32.c:1106 elf32-m32c.c:622 elf32-m32r.c:3031
+#: elf32-m68hc1x.c:1265 elf32-mep.c:524 elf32-metag.c:1985
+#: elf32-microblaze.c:1556 elf32-moxie.c:285 elf32-mt.c:400 elf32-nds32.c:5328
+#: elf32-or1k.c:1238 elf32-score.c:2731 elf32-score7.c:2540 elf32-spu.c:5076
+#: elf32-tilepro.c:3497 elf32-v850.c:2283 elf32-visium.c:677
+#: elf32-xstormy16.c:923 elf64-mmix.c:1538 elfxx-tilegx.c:3857
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2237
+msgid "internal error: out of range error"
+msgstr "erro interno: erro fora do intervalo"
+
+#: elf-m10200.c:429 elf-m10300.c:2149 elf32-avr.c:1506 elf32-bfin.c:3120
+#: elf32-cr16.c:1466 elf32-cr16c.c:784 elf32-cris.c:2034 elf32-crx.c:928
+#: elf32-d10v.c:513 elf32-fr30.c:595 elf32-frv.c:4045 elf32-ft32.c:489
+#: elf32-h8300.c:526 elf32-i860.c:1214 elf32-iq2000.c:693 elf32-lm32.c:1110
+#: elf32-m32c.c:626 elf32-m32r.c:3035 elf32-m68hc1x.c:1269 elf32-mep.c:528
+#: elf32-metag.c:1989 elf32-microblaze.c:1560 elf32-moxie.c:289
+#: elf32-msp430.c:1357 elf32-nds32.c:5332 elf32-or1k.c:1242 elf32-score.c:2735
+#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3501 elf32-v850.c:2287
+#: elf32-visium.c:681 elf32-xstormy16.c:927 elf64-mmix.c:1542
+#: elfxx-mips.c:10265 elfxx-tilegx.c:3861
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2241
+msgid "internal error: unsupported relocation error"
+msgstr "erro interno: erro relocalizaÃ§Ã£o nÃ£o suportada"
+
+#: elf-m10200.c:433 elf32-cr16.c:1470 elf32-cr16c.c:788 elf32-crx.c:932
+#: elf32-d10v.c:517 elf32-h8300.c:530 elf32-lm32.c:1114 elf32-m32r.c:3039
+#: elf32-m68hc1x.c:1273 elf32-microblaze.c:1564 elf32-nds32.c:5336
+#: elf32-score.c:2739 elf32-score7.c:2548 elf32-spu.c:5084
+msgid "internal error: dangerous error"
+msgstr "erro interno: erro perigoso"
+
+#: elf-m10200.c:437 elf-m10300.c:2166 elf32-avr.c:1514 elf32-bfin.c:3128
+#: elf32-cr16.c:1474 elf32-cr16c.c:792 elf32-cris.c:2042 elf32-crx.c:936
+#: elf32-d10v.c:521 elf32-epiphany.c:578 elf32-fr30.c:603 elf32-frv.c:4053
+#: elf32-ft32.c:497 elf32-h8300.c:534 elf32-i860.c:1222 elf32-ip2k.c:1490
+#: elf32-iq2000.c:701 elf32-lm32.c:1118 elf32-m32c.c:634 elf32-m32r.c:3043
+#: elf32-m68hc1x.c:1277 elf32-mep.c:536 elf32-metag.c:1997
+#: elf32-microblaze.c:1568 elf32-moxie.c:297 elf32-msp430.c:1365
+#: elf32-mt.c:408 elf32-nds32.c:5340 elf32-or1k.c:1250 elf32-score.c:2748
+#: elf32-score7.c:2552 elf32-spu.c:5088 elf32-tilepro.c:3509 elf32-v850.c:2307
+#: elf32-visium.c:689 elf32-xstormy16.c:935 elf64-mmix.c:1550
+#: elfxx-tilegx.c:3869
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2249
+msgid "internal error: unknown error"
+msgstr "erro interno: erro desconhecido"
+
+#: elf-m10300.c:812
+#, c-format
+msgid "%B: unrecognised MN10300 reloc number: %d"
+msgstr "%B: nÃºmero reloc MN10300 nÃ£o reconhecido: %d"
+
+#: elf-m10300.c:1028
+#, c-format
+msgid "%B: Unsupported transition from %s to %s"
+msgstr "%B: transiÃ§Ã£o %s para %s nÃ£o suportada"
+
+#: elf-m10300.c:1197
+#, c-format
+msgid "%B: %s' accessed both as normal and thread local symbol"
+msgstr "%B: %s acedido como sÃ­mbolo local normal e de fio, em simultÃ¢neo"
+
+#: elf-m10300.c:2093 elf32-arm.c:12536 elf32-i386.c:3433 elf32-m32r.c:2526
+#: elf32-m68k.c:3895 elf32-s390.c:3204 elf32-sh.c:4121 elf32-tilepro.c:3401
+#: elf32-xtensa.c:2939 elf64-s390.c:3118 elf64-sh64.c:1636 elf64-x86-64.c:3790
+#: elfxx-sparc.c:3918 elfxx-tilegx.c:3781
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5001
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6457
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2206
+#, c-format
+msgid "%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"
+msgstr "%B(%A+%#Lx): relocalizaÃ§Ã£o %s insolÃºvel contra o sÃ­mbolo \"%s\""
+
+#: elf-m10300.c:2154
+msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)"
+msgstr "erro: tipo de relocalizaÃ§Ã£o inapropriado para biblioteca partilhada (esqueceu-se de -fpic?)"
+
+#: elf-m10300.c:2158
+#, c-format
+msgid "%B: taking the address of protected function '%s' cannot be done when making a shared library"
+msgstr "%B: tirar o endereÃ§o da funÃ§Ã£o protegida \"%s\" nÃ£o pode ser feito ao fazer uma biblioteca partilhada"
+
+#: elf-m10300.c:2161
+msgid "internal error: suspicious relocation type used in shared library"
+msgstr "erro interno: tipo de relocalizaÃ§Ã£o suspeito usado em biblioteca partilhada"
+
+#: elf-properties.c:65
+msgid "%B: out of memory in _bfd_elf_get_property"
+msgstr "%B: sem memÃ³ria em _bfd_elf_get_property"
+
+#: elf-properties.c:91
+msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"
+msgstr "aviso: %B: tamanho GNU_PROPERTY_TYPE (%ld) corrupto: %#lx"
+
+#: elf-properties.c:112
+msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"
+msgstr "aviso: %B: GNU_PROPERTY_TYPE (%ld) corrupto ,tipo (0x%x) datasz: 0x%x"
+
+#: elf-properties.c:151
+msgid "warning: %B: corrupt stack size: 0x%x"
+msgstr "aviso: %B:tamanho de stack corrupto: 0x%x"
+
+#: elf-properties.c:169
+msgid "warning: %B: corrupt no copy on protected size: 0x%x"
+msgstr "aviso: %B: tamanho corrupto de nÃ£o copiar se protegido: 0x%x"
+
+#: elf-properties.c:186
+msgid "warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"
+msgstr "aviso: %B: GNU_PROPERTY_TYPE (%ld) nÃ£o suportada, tipo: 0x%x"
+
+#. PR 17512: file: f057ec89.
+#: elf.c:343
+#, c-format
+msgid "%B: attempt to load strings from a non-string section (number %d)"
+msgstr "%B: tentativa de carregar cadeias de secÃ§Ã£o nÃ£o-cadeia (nÃºmero %d)"
+
+#: elf.c:358
+#, c-format
+msgid "%B: invalid string offset %u >= %Lu for section `%s'"
+msgstr "%B: desvio de cadeia invÃ¡lido %u >= %Lu para secÃ§Ã£o \"%s\""
+
+#: elf.c:497 /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7535
+#, c-format
+msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
+msgstr "%B nÃºmero de sÃ­mbolo %lu referencia secÃ§Ã£o SHT_SYMTAB_SHNDX nÃ£o existente"
+
+#: elf.c:661
+#, c-format
+msgid "%B: corrupt size field in group section header: %#Lx"
+msgstr "%B: campo de tamanho corrupto no cabeÃ§alho da secÃ§Ã£o de grupo: %#Lx"
+
+#: elf.c:676
+#, c-format
+msgid "%B: invalid size field in group section header: %#Lx"
+msgstr "%B: campo de tamanho invÃ¡lido no cabeÃ§alho da secÃ§Ã£o de grupo: %#Lx"
+
+#: elf.c:712
+msgid "%B: invalid SHT_GROUP entry"
+msgstr "%B: entrada SHT_GROUP invÃ¡lida"
+
+#: elf.c:731
+msgid "%B: no valid group sections found"
+msgstr "%B: sem secÃ§Ãµes de grupo vÃ¡lidas"
+
+#. See PR 21957 for a reproducer.
+#: elf.c:760
+#, c-format
+msgid "%B: group section '%A' has no contents"
+msgstr "%B: secÃ§Ã£o de grupo \"%A\" nÃ£o tem conteÃºdo"
+
+#: elf.c:820
+#, c-format
+msgid "%B: no group info for section '%A'"
+msgstr "%B: sem informaÃ§Ã£o de grupo para secÃ§Ã£o \"%A\""
+
+#: elf.c:851 elf.c:3862 elflink.c:11252
+#, c-format
+msgid "%B: warning: sh_link not set for section `%A'"
+msgstr "%B: aviso: sh_link nÃ£o definido para a secÃ§Ã£o \"%A\""
+
+#: elf.c:871
+#, c-format
+msgid "%B: sh_link [%d] in section `%A' is incorrect"
+msgstr "%B: sh_link [%d] na secÃ§Ã£o \"%A\" estÃ¡ incorrecto"
+
+#: elf.c:884
+#, c-format
+msgid "%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"
+msgstr "%B: secÃ§Ã£o SHT_GROUP [Ã­ndice %d] nÃ£o tem secÃ§Ãµes SHF_GROUP"
+
+#: elf.c:905
+#, c-format
+msgid "%B: section group entry number %u is corrupt"
+msgstr "%B: entrada do grupo de secÃ§Ã£o nÃºmero %u estÃ¡ corrompida"
+
+#: elf.c:928
+#, c-format
+msgid "%B: unknown type [%#x] section `%s' in group [%A]"
+msgstr "%B: secÃ§Ã£o tipo [%#x] \"%s\" desconhecida no grupo [%A]"
+
+#: elf.c:1390
+#, c-format
+msgid "%B: Invalid sh_link field (%d) in section number %d"
+msgstr "%B: sh_link field (%d) invÃ¡lido no nÃºmero da secÃ§Ã£o %d"
+
+#: elf.c:1406
+#, c-format
+msgid "%B: Failed to find link section for section %d"
+msgstr "%B: falha ao procurar secÃ§Ã£o de ligaÃ§Ã£o para a secÃ§Ã£o %d"
+
+#: elf.c:1433
+#, c-format
+msgid "%B: Failed to find info section for section %d"
+msgstr "%B: falha ao procurar secÃ§Ã£o de informaÃ§Ã£o para a secÃ§Ã£o %d"
+
+#: elf.c:1605
+#, c-format
+msgid ""
+"\n"
+"Program Header:\n"
+msgstr ""
+"\n"
+"CabeÃ§alho do programa:\n"
+
+#: elf.c:1647
+#, c-format
+msgid ""
+"\n"
+"Dynamic Section:\n"
+msgstr ""
+"\n"
+"SecÃ§Ã£o dinÃ¢mica:\n"
+
+#: elf.c:1788
+#, c-format
+msgid ""
+"\n"
+"Version definitions:\n"
+msgstr ""
+"\n"
+"DefiniÃ§Ãµes da versÃ£o:\n"
+
+#: elf.c:1813
+#, c-format
+msgid ""
+"\n"
+"Version References:\n"
+msgstr ""
+"\n"
+"ReferÃªncias da versÃ£o:\n"
+
+#: elf.c:1818
+#, c-format
+msgid "  required from %s:\n"
+msgstr "  requerido de %s:\n"
+
+#: elf.c:2016
+msgid "%B: warning: loop in section dependencies detected"
+msgstr "%B: aviso: detectado ciclo em dependÃªncias da secÃ§Ã£o"
+
+#: elf.c:2124
+#, c-format
+msgid "%B: warning: multiple symbol tables detected - ignoring the table in section %u"
+msgstr "%B: aviso: detectadas mÃºltiplas tabelas de sÃ­mbolo - a ignorar a tabela na secÃ§Ã£o %u"
+
+#: elf.c:2208
+#, c-format
+msgid "%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u"
+msgstr "%B: aviso: detectadas mÃºltiplas tabelas de sÃ­mbolo dinÃ¢mico - a ignorar a tabela na secÃ§Ã£o %u"
+
+#: elf.c:2321
+#, c-format
+msgid "%B: invalid link %u for reloc section %s (index %u)"
+msgstr "%B: ligaÃ§Ã£o invÃ¡lida %u para secÃ§Ã£o reloc %s (Ã­ndice %u)"
+
+#: elf.c:2480 elf.c:2495 elf.c:2506 elf.c:2519
+#, c-format
+msgid "%B: unknown type [%#x] section `%s'"
+msgstr "%B: tipo desconhecido [%#x], secÃ§Ã£o \"%s\""
+
+#: elf.c:3224
+#, c-format
+msgid "%B: error: Alignment power %d of section `%A' is too big"
+msgstr "%B: erro: poder de alinhamento %d da secÃ§Ã£o \"%A\" Ã© muito grande"
+
+#: elf.c:3254
+#, c-format
+msgid "warning: section `%A' type changed to PROGBITS"
+msgstr "aviso: tipo da secÃ§Ã£o \"%A\" alterou-se para PROGBITS"
+
+#: elf.c:3730
+#, c-format
+msgid "%B: too many sections: %u"
+msgstr "%B: demasiadas secÃ§Ãµes: %u"
+
+#: elf.c:3815
+#, c-format
+msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
+msgstr "%B: sh_link da secÃ§Ã£o \"%A\" aponta para secÃ§Ã£o descartada \"%A\" de \"%B\""
+
+#: elf.c:3840
+#, c-format
+msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
+msgstr "%B: sh_link da secÃ§Ã£o \"%A\" aponta para secÃ§Ã£o removida \"%A\" de \"%B\""
+
+#: elf.c:4392
+#, c-format
+msgid "%B: GNU_MBIN section `%A' has invalid sh_info field: %d"
+msgstr "%B: secÃ§Ã£o \"%A\" de GNU_MBIN tem campo sh_info invÃ¡lido: %d"
+
+#: elf.c:4951
+msgid "%B: TLS sections are not adjacent:"
+msgstr "%B: secÃ§Ãµes TLS nÃ£o adjacentes:"
+
+#: elf.c:4958
+#, c-format
+msgid "\t    TLS: %A"
+msgstr "\t    TLS: %A"
+
+#: elf.c:4962
+#, c-format
+msgid "\tnon-TLS: %A"
+msgstr "\tnÃ£o-TLS: %A"
+
+#: elf.c:5458
+msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
+msgstr "%B: a primeira secÃ§Ã£o no segmento PT_DYNAMIC nÃ£o Ã© a secÃ§Ã£o .dynamic"
+
+#: elf.c:5486
+msgid "%B: Not enough room for program headers, try linking with -N"
+msgstr "%B: sem espaÃ§o para cabeÃ§alhos do programa, tente ligar com -N"
+
+#: elf.c:5574
+#, c-format
+msgid "%B: section %A lma %#Lx adjusted to %#Lx"
+msgstr "%B: secÃ§Ã£o %A lma %#Lx ajustada para %#Lx"
+
+#: elf.c:5711
+#, c-format
+msgid "%B: section `%A' can't be allocated in segment %d"
+msgstr "%B: secÃ§Ã£o \"%A\" nÃ£o pode ser alocada no segmento %d"
+
+#: elf.c:5759
+#, c-format
+msgid "%B: warning: allocated section `%s' not in segment"
+msgstr "%B: aviso: secÃ§Ã£o alocada \"%s\" nÃ£o estÃ¡ no segmento"
+
+#: elf.c:5957
+msgid "%B: error: non-load segment %d includes file header and/or program header"
+msgstr "%B: erro: segmento %d nÃ£o carga inclui cabeÃ§alho de ficheiro e/ou de programa"
+
+#. The fix for this error is usually to edit the linker script being
+#. used and set up the program headers manually.  Either that or
+#. leave room for the headers at the start of the SECTIONS.
+#: elf.c:6134
+msgid "%B: error: PHDR segment not covered by LOAD segment"
+msgstr "%B: erro: segmento PHDR nÃ£o coberto pelo segmento LOAD"
+
+#: elf.c:6478
+#, c-format
+msgid "%B: symbol `%s' required but not present"
+msgstr "%B: sÃ­mbolo \"%s\" requerido mas nÃ£o presente"
+
+#: elf.c:6821
+#, c-format
+msgid "%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?"
+msgstr "%B: aviso: detectado segmento carregÃ¡vel vazio em vaddr=%#Lx, Ã© intencional?"
+
+#: elf.c:7435
+#, c-format
+msgid "%B: warning: segment alignment of %#Lx is too large"
+msgstr "%B: aviso: alinhamento do segmento de %#Lx Ã© muito grande"
+
+#: elf.c:7916
+#, c-format
+msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
+msgstr "ImpossÃ­vel encontrar secÃ§Ã£o de saÃ­da equivalente para sÃ­mbolo \"%s\" da secÃ§Ã£o \"%s\""
+
+#: elf.c:8249
+msgid "%B: .gnu.version_r invalid entry"
+msgstr "%B: entrada .gnu.version_r invÃ¡lida"
+
+#: elf.c:8376
+msgid "%B: .gnu.version_d invalid entry"
+msgstr "%B: entrada .gnu.version_d invÃ¡lida"
+
+#: elf.c:8928
+#, c-format
+msgid "%B: unsupported relocation type %s"
+msgstr "%B: tipo de relocalizaÃ§Ã£o %s nÃ£o suportado"
+
+#: elf32-arc.c:433 elf32-frv.c:6623 elf32-iq2000.c:866 elf32-m32c.c:912
+#: elf32-mt.c:560 elf32-rl78.c:1257 elf32-rx.c:3178 elf32-visium.c:837
+#: elf64-ppc.c:6067
+#, c-format
+msgid "private flags = 0x%lx:"
+msgstr "bandeiras privadas = 0x%lx:"
+
+#: elf32-arc.c:611
+msgid "Warning: %B: Conflicting platform configuration %s with %s.\n"
+msgstr "Aviso: %B: conflito na configuraÃ§Ã£o de plataforma %s com %s.\n"
+
+#: elf32-arc.c:630
+msgid "error: %B: unable to merge CPU base attributes %s with %s.\n"
+msgstr "erro: %B: impossÃ­vel unir atributos base CPU %s com %s.\n"
+
+#: elf32-arc.c:667
+msgid "error: %B: unable to merge ISA extension attributes %s.\n"
+msgstr "erro: %B: impossÃ­vel unir atributos de extensÃ£o ISA %s.\n"
+
+#: elf32-arc.c:691
+msgid "error: %B: conflicting ISA extension attributes %s with %s.\n"
+msgstr "erro: %B: conflito de atributos de extensÃ£o ISA %s com %s.\n"
+
+#: elf32-arc.c:726
+msgid "error: %B: cannot mix rf16 with full register set %B.\n"
+msgstr "erro: %B: impossÃ­vel misturar rf16 com conjunto de registo completo %B.\n"
+
+#: elf32-arc.c:752
+msgid "error: %B: conflicting attributes %s: %s with %s.\n"
+msgstr "erro: %B: conflito de atributos %s: %s com %s.\n"
+
+#: elf32-arc.c:777
+msgid "error: %B: conflicting attributes %s.\n"
+msgstr "erro: %B: conflito de atributos %s.\n"
+
+#: elf32-arc.c:877
+#, c-format
+msgid "ERROR: Attempting to link %B with a binary %B of different architecture"
+msgstr "ERRO: tentativa de ligar %B com um binÃ¡rio %B de diferente arquitectura"
+
+#: elf32-arc.c:891 elf32-i370.c:359 elf32-iq2000.c:842 elf32-m32c.c:887
+#: elf32-m68hc1x.c:1384 elf32-ppc.c:4846 elf64-sparc.c:727 elfxx-mips.c:15082
+#, c-format
+msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%B: usa campos e_flags diferentes (%#x) dos mÃ³dulos anteriores (%#x)"
+
+#: elf32-arc.c:980
+msgid "Error: The ARC4 architecture is no longer supported.\n"
+msgstr "Erro: a arquitectura ARC4 jÃ¡ nÃ£o Ã© suportada.\n"
+
+#: elf32-arc.c:986
+msgid ""
+"Warning: unset or old architecture flags. \n"
+"\t       Use default machine.\n"
+msgstr ""
+"Aviso: bandeiras nÃ£o definidas ou de arquitectura antiga. \n"
+"\t       Use a mÃ¡quina predefinida.\n"
+
+#: elf32-arc.c:1119
+#, c-format
+msgid "%B(%A+%#Lx): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value is %#Lx)"
+msgstr "%B(%A+%#Lx): relocalizaÃ§Ã£o CMEM para \"%s\" Ã© invÃ¡lida, 16 MSB deveria ser %#x (o valor Ã© %#Lx)"
+
+#: elf32-arc.c:1130
+#, c-format
+msgid "%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, 16 MSB should be %#x (value is %#Lx)"
+msgstr "%B(%A+%#Lx): relocalizaÃ§Ã£o CMEM para \"%s+%#Lx\" Ã© invÃ¡lida, 16 MSB deveria ser %#x (o valor Ã© %#Lx)"
+
+#: elf32-arc.c:1836
+msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker."
+msgstr "RelocalizaÃ§Ãµes GOT e PLT nÃ£o podem ser reparadas com um linker nÃ£o dinÃ¢mico."
+
+#: elf32-arc.c:1860 elf32-rl78.c:1095 elf32-rx.c:1449
+#, c-format
+msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
+msgstr "%B(%A): aviso: acesso nÃ£o alinhado ao sÃ­mbolo \"%s\" na Ã¡rea de dados pequenos"
+
+#: elf32-arc.c:1865 elf32-rl78.c:1100 elf32-rx.c:1454
+#, c-format
+msgid "%B(%A): internal error: out of range error"
+msgstr "%B(%A): erro interno: erro fora do intervalo"
+
+#: elf32-arc.c:1870 elf32-rl78.c:1105 elf32-rx.c:1459
+#, c-format
+msgid "%B(%A): internal error: unsupported relocation error"
+msgstr "%B(%A): erro interno: erro relocalizaÃ§Ã£o nÃ£o suportada"
+
+#: elf32-arc.c:1875 elf32-rl78.c:1110 elf32-rx.c:1464
+#, c-format
+msgid "%B(%A): internal error: dangerous relocation"
+msgstr "%B(%A): erro interno: relocalizaÃ§Ã£o perigosa"
+
+#: elf32-arc.c:1880 elf32-rl78.c:1115 elf32-rx.c:1469
+#, c-format
+msgid "%B(%A): internal error: unknown error"
+msgstr "%B(%A): erro interno: erro desconhecido"
+
+#: elf32-arc.c:1968 elf32-arm.c:14521 elf32-metag.c:2252 elfxx-mips.c:8889
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7103
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:471
+#, c-format
+msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
+msgstr "%B: relocalizaÃ§Ã£o %s contra \"%s\" nÃ£o pode ser usada a fazer um objecto partilhado; recompile com -fPIC"
+
+#: elf32-arc.c:2860
+msgid "%B: Unknown mandatory ARC object attribute %d."
+msgstr "%B: atributo de objecto ARC %d obrigatÃ³rio desconhecido."
+
+#: elf32-arc.c:2868
+msgid "Warning: %B: Unknown ARC object attribute %d."
+msgstr "Aviso: %B: atributo de objecto ARC %d desconhecido."
+
+#: elf32-arm.c:4022 elf32-arm.c:4056 elf32-arm.c:4075 elf32-arm.c:4127
+msgid "%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction."
+msgstr "%B(%A): aviso: o uso de folhas de ramos longos na secÃ§Ã£o com atributo de secÃ§Ã£o SHF_ARM_PURECODE sÃ³ Ã© suportado para alvos M-profile que implementem a instruÃ§Ã£o movw."
+
+#: elf32-arm.c:4087 elf32-arm.c:8806
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+"  first occurrence: %B: Thumb call to ARM"
+msgstr ""
+"%B(%s): aviso: interworking nÃ£o activo.\n"
+"  primeira ocorrÃªncia: %B: chamada Thumb a ARM"
+
+#: elf32-arm.c:4141
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+"  first occurrence: %B: ARM call to Thumb"
+msgstr ""
+"%B(%s): aviso: interworking nÃ£o activo.\n"
+"  primeira ocorrÃªncia: %B: chamada ARM a Thumb"
+
+#: elf32-arm.c:4415
+#, c-format
+msgid "No address assigned to the veneers output section %s"
+msgstr "Sem endereÃ§o atribuÃ­do Ã  secÃ§Ã£o de saÃ­da das folhas %s"
+
+#: elf32-arm.c:4490 elf32-arm.c:6627 elf32-hppa.c:577 elf32-m68hc1x.c:165
+#: elf32-metag.c:1183 elf32-nios2.c:2207
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:2854
+#, c-format
+msgid "%B: cannot create stub entry %s"
+msgstr "%B: impossÃ­vel criar entrada fictÃ­cia %s"
+
+#: elf32-arm.c:5675
+msgid "%B: Special symbol `%s' only allowed for ARMv8-M architecture or later."
+msgstr "%B: sÃ­mbolo especial \"%s\" sÃ³ Ã© permitido para arquitecturas ARMv8-M ou posteriores."
+
+#: elf32-arm.c:5684
+msgid "%B: invalid special symbol `%s'."
+msgstr "%B: sÃ­mbolo especial \"%s\" invÃ¡lido."
+
+#: elf32-arm.c:5686 elf32-arm.c:5726
+msgid "It must be a global or weak function symbol."
+msgstr "Tem de ser um sÃ­mbolo de funÃ§Ã£o global ou fraco."
+
+#: elf32-arm.c:5724
+msgid "%B: invalid standard symbol `%s'."
+msgstr "%B: sÃ­mbolo standard \"%s\" invÃ¡lido."
+
+#: elf32-arm.c:5730
+msgid "%B: absent standard symbol `%s'."
+msgstr "%B: sÃ­mbolo standard \"%s\" ausente."
+
+#: elf32-arm.c:5742
+msgid "%B: `%s' and its special symbol are in different sections."
+msgstr "%B: \"%s\" e o seu sÃ­mbolo especial estÃ£o em secÃ§Ãµes diferentes."
+
+#: elf32-arm.c:5754
+msgid "%B: entry function `%s' not output."
+msgstr "%B: funÃ§Ã£o de entrada \"%s\" nÃ£o saÃ­da."
+
+#: elf32-arm.c:5761
+msgid "%B: entry function `%s' is empty."
+msgstr "%B: funÃ§Ã£o de entrada \"%s\" estÃ¡ vazia."
+
+#: elf32-arm.c:5890
+msgid "%B: --in-implib only supported for Secure Gateway import libraries."
+msgstr "%B: --in-implib sÃ³ Ã© suportado para bibliotecas importadas Secure Gateway."
+
+#: elf32-arm.c:5936
+msgid "%B: invalid import library entry: `%s'."
+msgstr "%B: entrada de biblioteca importada \"%s\" invÃ¡lida."
+
+#: elf32-arm.c:5938
+msgid "Symbol should be absolute, global and refer to Thumb functions."
+msgstr "O sÃ­mbolo deve ser absoluto, global e referir-se a funÃ§Ãµes Thumb."
+
+#: elf32-arm.c:5958
+#, c-format
+msgid "Entry function `%s' disappeared from secure code."
+msgstr "FunÃ§Ã£o de entrada \"%s\" desapareceu do cÃ³digo de seguranÃ§a."
+
+#: elf32-arm.c:5982
+#, c-format
+msgid "`%s' refers to a non entry function."
+msgstr "\"%s\" refere-se a funÃ§Ã£o nÃ£o de entrada."
+
+#: elf32-arm.c:5997
+msgid "%B: visibility of symbol `%s' has changed."
+msgstr "%B: a visibilidade do sÃ­mbolo \"%s\" mudou."
+
+#: elf32-arm.c:6006
+msgid "%B: incorrect size for symbol `%s'."
+msgstr "%B: tamanho incorrecto do sÃ­mbolo \"%s\"."
+
+#: elf32-arm.c:6025
+#, c-format
+msgid "Offset of veneer for entry function `%s' not a multiple of its size."
+msgstr "Desvio \"%s\" da folha para funÃ§Ã£o de entrada nÃ£o Ã© mÃºltiplo do seu tamanho."
+
+#: elf32-arm.c:6045
+msgid "new entry function(s) introduced but no output import library specified:"
+msgstr "introduzidas novas funÃ§Ãµes de entrada mas nÃ£o especificou biblioteca importada de saÃ­da:"
+
+#: elf32-arm.c:6053
+#, c-format
+msgid "Start address of `%s' is different from previous link."
+msgstr "EndereÃ§o inicial de \"%s\" Ã© diferente da ligaÃ§Ã£o prÃ©via."
+
+#: elf32-arm.c:6760
+#, c-format
+msgid "unable to find THUMB glue '%s' for '%s'"
+msgstr "impossÃ­vel encontrar cola THUMB \"%s\" para \"%s\""
+
+#: elf32-arm.c:6796
+#, c-format
+msgid "unable to find ARM glue '%s' for '%s'"
+msgstr "impossÃ­vel encontrar cola ARM \"%s\" para \"%s\""
+
+#: elf32-arm.c:7511
+msgid "%B: BE8 images only valid in big-endian mode."
+msgstr "%B: imagens BE8 sÃ³ sÃ£o vÃ¡lidas em modo big-endian."
+
+#. Give a warning, but do as the user requests anyway.
+#: elf32-arm.c:7742
+msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture"
+msgstr "%B: aviso: a soluÃ§Ã£o de errata VFP11 seleccionada nÃ£o Ã© necessÃ¡ria para arquitectura de destino"
+
+#: elf32-arm.c:7769
+msgid "%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture"
+msgstr "%B: aviso: a soluÃ§Ã£o de errata STM32L4XX seleccionada nÃ£o Ã© necessÃ¡ria para arquitectura de destino"
+
+#: elf32-arm.c:8306 elf32-arm.c:8326
+msgid "%B: unable to find VFP11 veneer `%s'"
+msgstr "%B: impossÃ­vel encontrar a folha VFP11 \"%s\""
+
+#: elf32-arm.c:8392 elf32-arm.c:8411
+msgid "%B: unable to find STM32L4XX veneer `%s'"
+msgstr "%B: impossÃ­vel encontrar a folha STM32L4XX \"%s\""
+
+#: elf32-arm.c:8618
+#, c-format
+msgid ""
+"%B(%A+%#x): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.\n"
+"Use gcc option -mrestrict-it to generate only one instruction per IT block.\n"
+msgstr ""
+"%B(%A+%#x): erro: detectada mÃºltipla carga em bloco de instruÃ§Ã£o IT nÃ£o-Ãºltimo: impossÃ­vel gerar folha STM32L4XX.\n"
+"Use a opÃ§Ã£o gcc -mrestrict-it para gerar sÃ³ uma instruÃ§Ã£o por bloco IT.\n"
+
+#: elf32-arm.c:8716
+#, c-format
+msgid "Invalid TARGET2 relocation type '%s'."
+msgstr "Tipo de relocalizaÃ§Ã£o \"%s\" TARGET2 invÃ¡lido."
+
+#. FIXME: We ought to be able to generate thumb-1 PLT
+#. instructions...
+#: elf32-arm.c:9458
+msgid "%B: Warning: thumb-1 mode PLT generation not currently supported"
+msgstr "%B: aviso: geraÃ§Ã£o PLT modo thumb-1 nÃ£o Ã© actualmente suportada"
+
+#: elf32-arm.c:9723
+#, c-format
+msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline"
+msgstr "%B(%A+%#Lx): instruÃ§Ã£o Thumb \"%#lx\" inesperada em trampolim TLS"
+
+#: elf32-arm.c:9763
+#, c-format
+msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline"
+msgstr "%B(%A+%#Lx): instruÃ§Ã£o ARM \"%#lx\" inesperada em trampolim TLS"
+
+#: elf32-arm.c:10103
+msgid "shared object"
+msgstr "objecto partilhado"
+
+#: elf32-arm.c:10106
+msgid "PIE executable"
+msgstr "ExecutÃ¡vel PIE"
+
+#: elf32-arm.c:10109
+msgid "%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC"
+msgstr "%B: relocalizaÃ§Ã£o %s contra sÃ­mbolo \"%s\" externo ou indefinido nÃ£o pode ser usada ao fazer %s; recompile com -fPIC"
+
+#: elf32-arm.c:10240
+msgid "%B: Warning: Arm BLX instruction targets Arm function '%s'."
+msgstr "%B: aviso: instruÃ§Ã£o Arm BLX destina-se a funÃ§Ã£o Arm \"%s\"."
+
+#: elf32-arm.c:10666
+msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
+msgstr "%B: aviso: instruÃ§Ã£o Thumb BLX destina-se a funÃ§Ã£o thumb \"%s\"."
+
+#: elf32-arm.c:11534
+#, c-format
+msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC"
+msgstr "%B(%A+%#Lx): instruÃ§Ã£o Thumb \"%#lx\" inesperada referenciada por TLS_GOTDESC"
+
+#: elf32-arm.c:11557
+#, c-format
+msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC"
+msgstr "%B(%A+%#Lx): instruÃ§Ã£o ARM \"%#lx\" inesperada referenciada por TLS_GOTDESC"
+
+#: elf32-arm.c:11586 elf32-m68k.c:3701 elf32-metag.c:1916 elf32-nios2.c:4358
+#, c-format
+msgid "%B(%A+%#Lx): %s relocation not permitted in shared object"
+msgstr "%B(%A+%#Lx): relocalizaÃ§Ã£o %s nÃ£o permitida em objecto partilhado"
+
+#: elf32-arm.c:11799
+#, c-format
+msgid "%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group relocations"
+msgstr "%B(%A+%#Lx): sÃ³ sÃ£o permitidas instruÃ§Ãµes ADD ou SUB para relocalizaÃ§Ãµes de grupo ALU"
+
+#: elf32-arm.c:11839 elf32-arm.c:11929 elf32-arm.c:12015 elf32-arm.c:12103
+#, c-format
+msgid "%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"
+msgstr "%B(%A+%#Lx): transporte ao dividir %#Lx para relocalizaÃ§Ã£o de grupo %s"
+
+#: elf32-arm.c:12369 elf32-sh.c:4003 elf64-sh64.c:1539
+#, c-format
+msgid "%B(%A+%#Lx): %s relocation against SEC_MERGE section"
+msgstr "%B(%A+%#Lx): relocalizaÃ§Ã£o %s contra secÃ§Ã£o SEC_MERGE"
+
+#: elf32-arm.c:12481 elf32-m68k.c:3931 elf32-xtensa.c:2681
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6185
+#, c-format
+msgid "%B(%A+%#Lx): %s used with TLS symbol %s"
+msgstr "%B(%A+%#Lx): %s usado com sÃ­mbolo TLS %s"
+
+#: elf32-arm.c:12483 elf32-m68k.c:3933 elf32-xtensa.c:2683
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6187
+#, c-format
+msgid "%B(%A+%#Lx): %s used with non-TLS symbol %s"
+msgstr "%B(%A+%#Lx): %s usado com sÃ­mbolo nÃ£o-TLS %s"
+
+#: elf32-arm.c:12565 elf32-tic6x.c:2674
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6520
+msgid "out of range"
+msgstr "fora do intervalo"
+
+#: elf32-arm.c:12569 elf32-nios2.c:4492 elf32-pru.c:821 elf32-tic6x.c:2678
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6524
+msgid "unsupported relocation"
+msgstr "relocalizaÃ§Ã£o nÃ£o suportada"
+
+#: elf32-arm.c:12577 elf32-nios2.c:4502 elf32-pru.c:831 elf32-tic6x.c:2686
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6532
+msgid "unknown error"
+msgstr "erro desconhecido"
+
+#: elf32-arm.c:13157
+msgid "%B: Unknown mandatory EABI object attribute %d"
+msgstr "Aviso: %B: atributo de objecto EABI %d obrigatÃ³rio desconhecido"
+
+#: elf32-arm.c:13165
+msgid "Warning: %B: Unknown EABI object attribute %d"
+msgstr "Aviso: %B: atributo de objecto EABI %d desconhecido"
+
+#: elf32-arm.c:13432
+msgid "error: %B: Unknown CPU architecture"
+msgstr "erro: %B: arquitectura CPU desconhecida"
+
+#: elf32-arm.c:13470 elf32-nios2.c:2945
+#, c-format
+msgid "error: %B: Conflicting CPU architectures %d/%d"
+msgstr "erro: %B: arquitecturas CPU %d/%d em conflito"
+
+#: elf32-arm.c:13567
+msgid "Error: %B has both the current and legacy Tag_MPextension_use attributes"
+msgstr "Erro: %B tem ambos os atributos Tag_MPextension_use actual e legado"
+
+#: elf32-arm.c:13596
+msgid "error: %B uses VFP register arguments, %B does not"
+msgstr "erro: %B usa argumentos de registo VFP, %B nÃ£o"
+
+#: elf32-arm.c:13754
+msgid "error: %B: unable to merge virtualization attributes with %B"
+msgstr "erro: %B: impossÃ­vel unir atributos de virtualizaÃ§Ã£o com %B"
+
+#: elf32-arm.c:13780
+msgid "error: %B: Conflicting architecture profiles %c/%c"
+msgstr "erro: %B: perfis de arquitectura %c/%c em conflito"
+
+#: elf32-arm.c:13919
+msgid "Warning: %B: Conflicting platform configuration"
+msgstr "Aviso: %B: configuraÃ§Ã£o de plataforma em conflito"
+
+#: elf32-arm.c:13928
+msgid "error: %B: Conflicting use of R9"
+msgstr "erro: %B: uso de R9 em conflito"
+
+#: elf32-arm.c:13940
+msgid "error: %B: SB relative addressing conflicts with use of R9"
+msgstr "erro: %B: conflitos de endereÃ§amento relativo SB com o uso de R9"
+
+#: elf32-arm.c:13953
+msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
+msgstr "aviso: %B usa %u-byte wchar_t mas a saÃ­da deve usar %u-byte wchar_t; uso de valores wchar_t atravÃ©s de vÃ¡rios objectos pode falhar"
+
+#: elf32-arm.c:13984
+msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
+msgstr "aviso: %B usa %s enums mas a saÃ­da deve usar %s enums; uso de valores enum atravÃ©s de vÃ¡rios objectos pode falhar"
+
+#: elf32-arm.c:13996
+msgid "error: %B uses iWMMXt register arguments, %B does not"
+msgstr "erro: %B usa argumentos de registo iWMMXt, %B nÃ£o"
+
+#: elf32-arm.c:14013
+msgid "error: fp16 format mismatch between %B and %B"
+msgstr "erro: formato fp16 enganado entre %B e %B"
+
+#: elf32-arm.c:14049
+msgid "%B has both the current and legacy Tag_MPextension_use attributes"
+msgstr "%B tem ambos os atributos Tag_MPextension_use actual e legado"
+
+#. Ignore init flag - it may not be set, despite the flags field
+#. containing valid data.
+#. Ignore init flag - it may not be set, despite the flags field containing valid data.
+#. Ignore init flag - it may not be set, despite the flags field
+#. containing valid data.
+#: elf32-arm.c:14136 elf32-bfin.c:4729 elf32-cris.c:3905 elf32-m68hc1x.c:1409
+#: elf32-m68k.c:1199 elf32-score.c:3998 elf32-score7.c:3803 elf32-vax.c:536
+#: elf32-xgate.c:669 elfxx-mips.c:15756
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6686
+#, c-format
+msgid "private flags = %lx:"
+msgstr "bandeiras provadas = %lx:"
+
+#: elf32-arm.c:14145
+#, c-format
+msgid " [interworking enabled]"
+msgstr " [interworking activo]"
+
+#: elf32-arm.c:14153
+#, c-format
+msgid " [VFP float format]"
+msgstr " [formato flutuante VFP]"
+
+#: elf32-arm.c:14155
+#, c-format
+msgid " [Maverick float format]"
+msgstr " [formato flutuante Maverick]"
+
+#: elf32-arm.c:14157
+#, c-format
+msgid " [FPA float format]"
+msgstr " [formato flutuante FPA]"
+
+#: elf32-arm.c:14166
+#, c-format
+msgid " [new ABI]"
+msgstr " [novo ABI]"
+
+#: elf32-arm.c:14169
+#, c-format
+msgid " [old ABI]"
+msgstr " [ABI antigo]"
+
+#: elf32-arm.c:14172
+#, c-format
+msgid " [software FP]"
+msgstr " [software FP]"
+
+#: elf32-arm.c:14181
+#, c-format
+msgid " [Version1 EABI]"
+msgstr " [Version1 EABI]"
+
+#: elf32-arm.c:14184 elf32-arm.c:14195
+#, c-format
+msgid " [sorted symbol table]"
+msgstr " [tabela de sÃ­mbolo ordenada]"
+
+#: elf32-arm.c:14186 elf32-arm.c:14197
+#, c-format
+msgid " [unsorted symbol table]"
+msgstr " [tabela de sÃ­mbolo desordenada]"
+
+#: elf32-arm.c:14192
+#, c-format
+msgid " [Version2 EABI]"
+msgstr " [Version2 EABI]"
+
+#: elf32-arm.c:14200
+#, c-format
+msgid " [dynamic symbols use segment index]"
+msgstr " [sÃ­mbolos dinÃ¢micos usam Ã­ndice de segmento]"
+
+#: elf32-arm.c:14203
+#, c-format
+msgid " [mapping symbols precede others]"
+msgstr " [sÃ­mbolos de mapeamento precedem outros]"
+
+#: elf32-arm.c:14210
+#, c-format
+msgid " [Version3 EABI]"
+msgstr " [Version3 EABI]"
+
+#: elf32-arm.c:14214
+#, c-format
+msgid " [Version4 EABI]"
+msgstr " [Version4 EABI]"
+
+#: elf32-arm.c:14218
+#, c-format
+msgid " [Version5 EABI]"
+msgstr " [Version5 EABI]"
+
+#: elf32-arm.c:14221
+#, c-format
+msgid " [soft-float ABI]"
+msgstr " [soft-float ABI]"
+
+#: elf32-arm.c:14224
+#, c-format
+msgid " [hard-float ABI]"
+msgstr " [hard-float ABI]"
+
+#: elf32-arm.c:14230
+#, c-format
+msgid " [BE8]"
+msgstr " [BE8]"
+
+#: elf32-arm.c:14233
+#, c-format
+msgid " [LE8]"
+msgstr " [LE8]"
+
+#: elf32-arm.c:14239
+#, c-format
+msgid " <EABI version unrecognised>"
+msgstr " <versÃ£o EABI nÃ£o reconhecida>"
+
+#: elf32-arm.c:14246
+#, c-format
+msgid " [relocatable executable]"
+msgstr " [executÃ¡vel relocalizÃ¡vel]"
+
+#: elf32-arm.c:14251
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6689
+#, c-format
+msgid "<Unrecognised flag bits set>"
+msgstr "<bits de bandeira definidos nÃ£o reconhecidos>"
+
+#: elf32-arm.c:14368 elf32-i386.c:1510 elf32-s390.c:956 elf32-tic6x.c:2749
+#: elf32-tilepro.c:1471 elf32-xtensa.c:1018 elf64-s390.c:875
+#: elf64-x86-64.c:1823 elfxx-sparc.c:1420 elfxx-tilegx.c:1688
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6978
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:513
+#, c-format
+msgid "%B: bad symbol index: %d"
+msgstr "%B: mau Ã­ndice de sÃ­mbolo: %d"
+
+#: elf32-arm.c:15636 elf32-hppa.c:2082 elf32-lm32.c:1989 elf32-m32r.c:2097
+#: elf32-metag.c:2792 elf32-nds32.c:3844 elf32-or1k.c:2281 elf32-ppc.c:6156
+#: elf32-s390.c:1851 elf32-sh.c:3289 elf32-tic6x.c:3205 elf32-tilepro.c:2237
+#: elf64-ppc.c:9893 elf64-s390.c:1785 elfxx-sparc.c:2457 elfxx-tilegx.c:2479
+#: elfxx-x86.c:563
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:8319
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:1112
+#, c-format
+msgid "%B: dynamic relocation against `%T' in read-only section `%A'\n"
+msgstr "%B: relocalizaÃ§Ã£o dinÃ¢mica contra \"%T\" em secÃ§Ã£o sÃ³ de leitura \"%A\"\n"
+
+#: elf32-arm.c:15881
+msgid "Errors encountered processing file %B"
+msgstr "Encontrados erros ao processar o ficheiro %B"
+
+#: elf32-arm.c:16318 elflink.c:12394 elflink.c:12441
+#, c-format
+msgid "could not find section %s"
+msgstr "impossÃ­vel encontrar a secÃ§Ã£o %s"
+
+#: elf32-arm.c:17494
+msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
+msgstr "%B: erro: errata Cortex-A8 fictÃ­cia estÃ¡ alocada a localizaÃ§Ã£o nÃ£o-segura"
+
+#. There's not much we can do apart from complain if this
+#. happens.
+#: elf32-arm.c:17521
+msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
+msgstr "%B: erro: errata Cortex-A8 fictÃ­cia fora do intervalo (ficheiro de entrada muito grande)"
+
+#: elf32-arm.c:18348 elf32-arm.c:18370
+msgid "%B: error: VFP11 veneer out of range"
+msgstr "%B: erro: folha VFP11 fora do intervalo"
+
+#: elf32-arm.c:18421
+msgid "%B(%#Lx): error: Cannot create STM32L4XX veneer. Jump out of range by %Ld bytes. Cannot encode branch instruction. "
+msgstr "%B(%#Lx): erro: impossÃ­vel criar folha STM32L4XX. Sai fora do intervalo por %Ld bytes. ImpossÃ­vel codificar a instruÃ§Ã£o do ramo. "
+
+#: elf32-arm.c:18459
+msgid "%B: error: Cannot create STM32L4XX veneer."
+msgstr "%B: erro: impossÃ­vel criar folha STM32L4XX."
+
+#: elf32-arm.c:19481
+msgid "error: %B is already in final BE8 format"
+msgstr "erro: %B jÃ¡ estÃ¡ no formato final BE8"
+
+#: elf32-arm.c:19557
+msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d"
+msgstr "erro: objecto fonte %B tem versÃ£o EABI %d, mas o alvo %B tem versÃ£o EABI %d"
+
+#: elf32-arm.c:19572
+msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
+msgstr "erro: %B estÃ¡ compilado para APCS-%d, enquanto o alvo %B usa APCS-%d"
+
+#: elf32-arm.c:19596
+msgid "error: %B uses VFP instructions, whereas %B does not"
+msgstr "erro: %B usa instruÃ§Ãµes VFP, enquanto %B nÃ£o"
+
+#: elf32-arm.c:19600
+msgid "error: %B uses FPA instructions, whereas %B does not"
+msgstr "erro: %B usa instruÃ§Ãµes FPA, enquanto %B nÃ£o"
+
+#: elf32-arm.c:19610
+msgid "error: %B uses Maverick instructions, whereas %B does not"
+msgstr "erro: %B usa instruÃ§Ãµes Maverick, enquanto %B nÃ£o"
+
+#: elf32-arm.c:19614
+msgid "error: %B does not use Maverick instructions, whereas %B does"
+msgstr "erro: %B nÃ£o usa instruÃ§Ãµes Maverick, enquanto %B sim"
+
+#: elf32-arm.c:19633
+msgid "error: %B uses software FP, whereas %B uses hardware FP"
+msgstr "erro: %B usa programa FP, enquanto %B usa equipamento FP"
+
+#: elf32-arm.c:19637
+msgid "error: %B uses hardware FP, whereas %B uses software FP"
+msgstr "erro: %B usa equipamento FP, enquanto %B usa programa FP"
+
+#: elf32-avr.c:959
+#, c-format
+msgid "%B: invalid AVR reloc number: %d"
+msgstr "%B: nÃºmero de reloc AVR invÃ¡lido: %d"
+
+#: elf32-avr.c:1510 elf32-bfin.c:3124 elf32-cris.c:2038 elf32-epiphany.c:574
+#: elf32-fr30.c:599 elf32-frv.c:4049 elf32-ft32.c:493 elf32-i860.c:1218
+#: elf32-ip2k.c:1486 elf32-iq2000.c:697 elf32-m32c.c:630 elf32-mep.c:532
+#: elf32-metag.c:1993 elf32-moxie.c:293 elf32-msp430.c:1361 elf32-mt.c:404
+#: elf32-or1k.c:1246 elf32-tilepro.c:3505 elf32-v850.c:2291 elf32-visium.c:685
+#: elf32-xstormy16.c:931 elf64-mmix.c:1546 elfxx-tilegx.c:3865
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2245
+msgid "internal error: dangerous relocation"
+msgstr "erro interno: relocalizaÃ§Ã£o perigosa"
+
+#: elf32-avr.c:3319
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:2882
+#, c-format
+msgid "cannot create stub entry %s"
+msgstr "impossÃ­vel criar entrada fictÃ­cia %s"
+
+#: elf32-bfin.c:106 elf32-bfin.c:362
+msgid "relocation should be even number"
+msgstr "a relocalizaÃ§Ã£o deve ser nÃºmero par"
+
+#: elf32-bfin.c:1577
+#, c-format
+msgid "%B(%A+%#Lx): unresolvable relocation against symbol `%s'"
+msgstr "%B(%A+%#Lx): relocalizaÃ§Ã£o insolÃºvel contra sÃ­mbolo \"%s\""
+
+#: elf32-bfin.c:1608 elf32-i386.c:3473 elf32-m68k.c:3971 elf32-s390.c:3261
+#: elf64-s390.c:3175 elf64-x86-64.c:3839
+#, c-format
+msgid "%B(%A+%#Lx): reloc against `%s': error %d"
+msgstr "%B(%A+%#Lx): reloc contra \"%s\": erro %d"
+
+#: elf32-bfin.c:2628
+#, c-format
+msgid "%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend"
+msgstr "%B: relocalizaÃ§Ã£o em \"%A+%#Lx\" referencia o sÃ­mbolo \"%s\" com adenda nÃ£o-zero"
+
+#: elf32-bfin.c:2644
+msgid "relocation references symbol not defined in the module"
+msgstr "relocalizaÃ§Ã£o referencia sÃ­mbolo ainda nÃ£o definido no mÃ³dulo"
+
+#: elf32-bfin.c:2741
+msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
+msgstr "R_BFIN_FUNCDESC referencia sÃ­mbolo dinÃ¢mico com adenda nÃ£o-zero"
+
+#: elf32-bfin.c:2782 elf32-bfin.c:2905
+msgid "cannot emit fixups in read-only section"
+msgstr "impossÃ­vel emitir fixups em secÃ§Ã£o sÃ³ de leitura"
+
+#: elf32-bfin.c:2813 elf32-bfin.c:2943 elf32-lm32.c:1044 elf32-sh.c:4926
+msgid "cannot emit dynamic relocations in read-only section"
+msgstr "impossÃ­vel emitir relocalizaÃ§Ãµes dinÃ¢micas em secÃ§Ã£o sÃ³ de leitura"
+
+#: elf32-bfin.c:2863
+msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
+msgstr "R_BFIN_FUNCDESC_VALUE referencia sÃ­mbolo dinÃ¢mico com adenda nÃ£o-zero"
+
+#: elf32-bfin.c:3028
+msgid "relocations between different segments are not supported"
+msgstr "relocalizaÃ§Ãµes entre diferentes segmentos nÃ£o sÃ£o suportadas"
+
+#: elf32-bfin.c:3029
+msgid "warning: relocation references a different segment"
+msgstr "aviso: a relocalizaÃ§Ã£o referencia um segmento diferente"
+
+#: elf32-bfin.c:4687
+#, c-format
+msgid "%B: unsupported relocation type %d"
+msgstr "%B: tipo de relocalizaÃ§Ã£o nÃ£o suportado %d"
+
+#: elf32-bfin.c:4776 elf32-frv.c:6596
+msgid "%B: cannot link non-fdpic object file into fdpic executable"
+msgstr "%B: impossÃ­vel ligar ficheiro objecto nÃ£o-fdpic a executÃ¡vel fdpic"
+
+#: elf32-bfin.c:4780 elf32-frv.c:6600
+msgid "%B: cannot link fdpic object file into non-fdpic executable"
+msgstr "%B: impossÃ­vel ligar ficheiro objecto fdpic a executÃ¡vel nÃ£o-fdpic"
+
+#: elf32-bfin.c:4930
+#, c-format
+msgid "*** check this relocation %s"
+msgstr "*** verificar esta relocalizaÃ§Ã£o %s"
+
+#: elf32-bfin.c:5046
+msgid "the bfin target does not currently support the generation of copy relocations"
+msgstr "o alvo bfin actualmente nÃ£o suporta a geraÃ§Ã£o de relocalizaÃ§Ãµes de cÃ³pia"
+
+#: elf32-cr16.c:653
+#, c-format
+msgid "Unsupported CR16 relocation type: 0x%x\n"
+msgstr "Tipo de relocalizaÃ§Ã£o CR16 nÃ£o suportado: 0x%x\n"
+
+#: elf32-cr16.c:682
+#, c-format
+msgid "%B: unrecognised CR16 reloc number: %d"
+msgstr "%B: nÃºmero de reloc CR16 nÃ£o reconhecido: %d"
+
+#: elf32-cr16c.c:186
+#, c-format
+msgid "%B: invalid CR16C reloc number: %d"
+msgstr "%B: nÃºmero de reloc CR16C invÃ¡lido: %d"
+
+#: elf32-cris.c:467
+#, c-format
+msgid "%B: invalid CRIS reloc number: %d"
+msgstr "%B: nÃºmero de reloc CRIS invÃ¡lido: %d"
+
+#: elf32-cris.c:1116
+#, c-format
+msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
+msgstr "%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o insolÃºvel %s contra sÃ­mbolo \"%s\""
+
+#: elf32-cris.c:1181
+#, c-format
+msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'"
+msgstr "%B, secÃ§Ã£o %A: sem PLT ou GOT para relocalizaÃ§Ã£o %s contra sÃ­mbolo \"%s\""
+
+#: elf32-cris.c:1184
+#, c-format
+msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
+msgstr "%B, secÃ§Ã£o %A: sem PLT para relocalizaÃ§Ã£o %s contra sÃ­mbolo \"%s\""
+
+#: elf32-cris.c:1190 elf32-cris.c:1323 elf32-cris.c:1588 elf32-cris.c:1671
+#: elf32-cris.c:1824 elf32-tic6x.c:2586
+msgid "[whose name is lost]"
+msgstr "8cujo nome estÃ¡ perdido]"
+
+#: elf32-cris.c:1308 elf32-tic6x.c:2570
+#, c-format
+msgid "%B, section %A: relocation %s with non-zero addend %Ld against local symbol"
+msgstr "%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s com adenda nÃ£o-zero %Ld contra sÃ­mbolo local"
+
+#: elf32-cris.c:1317 elf32-cris.c:1665 elf32-cris.c:1818 elf32-tic6x.c:2579
+#, c-format
+msgid "%B, section %A: relocation %s with non-zero addend %Ld against symbol `%s'"
+msgstr "%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s com adenda nÃ£o-zero %Ld contra sÃ­mbolo \"%s\""
+
+#: elf32-cris.c:1344
+#, c-format
+msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'"
+msgstr "%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s nÃ£o Ã© permitida para sÃ­mbolo global: \"%s\""
+
+#: elf32-cris.c:1361
+#, c-format
+msgid "%B, section %A: relocation %s with no GOT created"
+msgstr "%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s sem GOT criado"
+
+#. We shouldn't get here for GCC-emitted code.
+#: elf32-cris.c:1578
+#, c-format
+msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
+msgstr "%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s tem referÃªncia nÃ£o definida a \"%s\", talvez uma declaraÃ§Ã£o misturada?"
+
+#: elf32-cris.c:1581
+#, c-format
+msgid "%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?"
+msgstr "%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s nÃ£o Ã© permitida para \"%s\", um sÃ­mbolo global com visibilidade predefinida, talvez uma declaraÃ§Ã£o misturada?"
+
+#: elf32-cris.c:1952
+#, c-format
+msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
+msgstr "%B, secÃ§Ã£o %A: relocalizaÃ§Ã£o %s nÃ£o Ã© permitida para \"%s\", que estÃ¡ definido fora do programa, talvez uma declaraÃ§Ã£o misturada?"
+
+#: elf32-cris.c:2005
+msgid "(too many global variables for -fpic: recompile with -fPIC)"
+msgstr "(muitas variÃ¡veis globais para -fpic: recompile com -fPIC)"
+
+#: elf32-cris.c:2012
+msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)"
+msgstr "(dados thread-local muito grandes para -fpic ou -msmall-tls: recompile com -fPIC ou -mno-small-tls"
+
+#: elf32-cris.c:3047
+#, c-format
+msgid ""
+"%B, section %A:\n"
+"  v10/v32 compatible object must not contain a PIC relocation"
+msgstr ""
+"%B, secÃ§Ã£o %A:\n"
+"  objecto compatÃ­vel v10/v32 nÃ£o deve conter uma relocalizaÃ§Ã£o PIC"
+
+#: elf32-cris.c:3101
+#, c-format
+msgid ""
+"%B, section %A:\n"
+"  relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC"
+msgstr ""
+"%B, secÃ§Ã£o %A:\n"
+"  relocalizaÃ§Ã£o %s invÃ¡lida em objecto partilhado; tipicamente uma mistura de opÃ§Ãµes, recompile com -fPIC"
+
+#: elf32-cris.c:3319
+#, c-format
+msgid ""
+"%B, section %A:\n"
+"  relocation %s should not be used in a shared object; recompile with -fPIC"
+msgstr ""
+"%B, secÃ§Ã£o %A:\n"
+"  relocalizaÃ§Ã£o %s nÃ£o deve ser usada em objecto partilhado; recompile com -fPIC"
+
+#: elf32-cris.c:3744
+#, c-format
+msgid ""
+"%B, section `%A', to symbol `%s':\n"
+"  relocation %s should not be used in a shared object; recompile with -fPIC"
+msgstr ""
+"%B, secÃ§Ã£o %A, para sÃ­mbolo \"%s\":\n"
+"  relocalizaÃ§Ã£o %s nÃ£o deve ser usada em objecto partilhado; recompile com -fPIC"
+
+#: elf32-cris.c:3857
+msgid "Unexpected machine number"
+msgstr "NÃºmero de mÃ¡quina inesperado"
+
+#: elf32-cris.c:3908
+#, c-format
+msgid " [symbols have a _ prefix]"
+msgstr " [sÃ­mbolos tÃªm um prefixo _]"
+
+#: elf32-cris.c:3911
+#, c-format
+msgid " [v10 and v32]"
+msgstr " [v10 e v32]"
+
+#: elf32-cris.c:3914
+#, c-format
+msgid " [v32]"
+msgstr " [v32]"
+
+#: elf32-cris.c:3958
+msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
+msgstr "%B: usa sÃ­mbolos prefixados com _, mas o ficheiro serÃ¡ escrito com sÃ­mbolos sem prefixo"
+
+#: elf32-cris.c:3959
+msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
+msgstr "%B: usa sÃ­mbolos sem prefixo, mas o ficheiro serÃ¡ escrito com sÃ­mbolos prefixados com _"
+
+#: elf32-cris.c:3978
+msgid "%B contains CRIS v32 code, incompatible with previous objects"
+msgstr "%B contÃ©m cÃ³digo CRIS v32, incompatÃ­vel com os objectos anteriores"
+
+#: elf32-cris.c:3980
+msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
+msgstr "%B contÃ©m cÃ³digo nÃ£o-CRIS-v32, incompatÃ­vel com os objectos anteriores"
+
+#: elf32-crx.c:429
+#, c-format
+msgid "%B: unrecognised CRX reloc number: %d"
+msgstr "%B: nÃºmero de reloc CRX nÃ£o reconhecido: %d"
+
+#: elf32-d10v.c:234
+#, c-format
+msgid "%B: invalid D10V reloc number: %d"
+msgstr "%B: nÃºmero de reloc D10V invÃ¡lido : %d"
+
+#: elf32-d30v.c:522 elf32-d30v.c:541
+#, c-format
+msgid "%B: invalid D30V reloc number: %d"
+msgstr "%B: nÃºmero de reloc D30V invÃ¡lido : %d"
+
+#: elf32-dlx.c:141
+#, c-format
+msgid "BFD Link Error: branch (PC rel16) to section (%s) not supported"
+msgstr "Erro de ligaÃ§Ã£o BFD: ramo (PC rel16) para secÃ§Ã£o (%s) nÃ£o suportado"
+
+#: elf32-dlx.c:204
+#, c-format
+msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported"
+msgstr "Erro de ligaÃ§Ã£o BFD: salto (PC rel26) para secÃ§Ã£o (%s) nÃ£o suportado"
+
+#: elf32-dlx.c:548
+#, c-format
+msgid "Invalid DLX reloc number: %d"
+msgstr "NÃºmero de reloc DLX invÃ¡lido: %d"
+
+#: elf32-epiphany.c:376
+#, c-format
+msgid "%B: invalid Epiphany reloc number: %d"
+msgstr "%B: nÃºmero de reloc Epiphany invÃ¡lido: %d"
+
+#. Only if it's not an unresolved symbol.
+#: elf32-epiphany.c:570 elf32-ip2k.c:1482
+msgid "unsupported relocation between data/insn address spaces"
+msgstr "relocalizaÃ§Ã£o nÃ£o suportada entre dados/espaÃ§os de endereÃ§o insn"
+
+#: elf32-fr30.c:381
+#, c-format
+msgid "%B: invalid FR30 reloc number: %d"
+msgstr "%B: nÃºmero de reloc FR30 invÃ¡lido: %d"
+
+#: elf32-frv.c:1451 elf32-frv.c:1602
+msgid "relocation requires zero addend"
+msgstr "relocalizaÃ§Ã£o requer adenda zero"
+
+#: elf32-frv.c:2557
+#, c-format
+msgid "%B: invalid FRV reloc number: %d"
+msgstr "%B: nÃºmero de reloc FRV invÃ¡lido: %d"
+
+#: elf32-frv.c:2823
+#, c-format
+msgid "%H: relocation to `%s+%v' may have caused the error above\n"
+msgstr "%H: relocalizaÃ§Ã£o para \"%s+%v\" poderÃ¡ ter causado o erro acima\n"
+
+#: elf32-frv.c:2840
+msgid "%H: relocation references symbol not defined in the module\n"
+msgstr "%H: relocalizaÃ§Ã£o referencia sÃ­mbolo nÃ£o definido no mÃ³dulo\n"
+
+#: elf32-frv.c:2916
+msgid "%H: R_FRV_GETTLSOFF not applied to a call instruction\n"
+msgstr "%H: R_FRV_GETTLSOFF nÃ£o aplicado a uma instruÃ§Ã£o call\n"
+
+#: elf32-frv.c:2957
+msgid "%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction\n"
+msgstr "%H: R_FRV_GOTTLSDESC12 nÃ£o aplicado a uma instruÃ§Ã£o lddi\n"
+
+#: elf32-frv.c:3028
+msgid "%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction\n"
+msgstr "%H: R_FRV_GOTTLSDESCHI nÃ£o aplicado a uma instruÃ§Ã£o sethi\n"
+
+#: elf32-frv.c:3065
+msgid "%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction\n"
+msgstr "%H: R_FRV_GOTTLSDESCLO nÃ£o aplicado a uma instruÃ§Ã£o setlo ou setlos\n"
+
+#: elf32-frv.c:3112
+msgid "%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction\n"
+msgstr "%H: R_FRV_TLSDESC_RELAX nÃ£o aplicado a uma instruÃ§Ã£o ldd\n"
+
+#: elf32-frv.c:3196
+msgid "%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction\n"
+msgstr "%H: R_FRV_GETTLSOFF_RELAX nÃ£o aplicado a uma instruÃ§Ã£o calll\n"
+
+#: elf32-frv.c:3250
+msgid "%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction\n"
+msgstr "%H: R_FRV_GOTTLSOFF12 nÃ£o aplicado a uma instruÃ§Ã£o ldi\n"
+
+#: elf32-frv.c:3280
+msgid "%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction\n"
+msgstr "%H: R_FRV_GOTTLSOFFHI nÃ£o aplicado a uma instruÃ§Ã£o sethi\n"
+
+#: elf32-frv.c:3309
+msgid "%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction\n"
+msgstr "%H: R_FRV_GOTTLSOFFLO nÃ£o aplicado a uma instruÃ§Ã£o setlo ou setlos\n"
+
+#: elf32-frv.c:3339
+msgid "%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction\n"
+msgstr "%H: R_FRV_TLSOFF_RELAX nÃ£o aplicado a uma instruÃ§Ã£o ld\n"
+
+#: elf32-frv.c:3384
+msgid "%H: R_FRV_TLSMOFFHI not applied to a sethi instruction\n"
+msgstr "%H: R_FRV_TLSMOFFHI nÃ£o aplicado a uma instruÃ§Ã£o sethi\n"
+
+#: elf32-frv.c:3411
+msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n"
+msgstr "R_FRV_TLSMOFFLO nÃ£o aplicado a uma instruÃ§Ã£o setlo ou setlos\n"
+
+#: elf32-frv.c:3532
+msgid "%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend\n"
+msgstr "%H: R_FRV_FUNCDESC referencia sÃ­mbolo dinÃ¢mico com adenda nÃ£o zero\n"
+
+#: elf32-frv.c:3573 elf32-frv.c:3695
+msgid "%H: cannot emit fixups in read-only section\n"
+msgstr "%H: impossÃ­vel emitir fixups em secÃ§Ã£o sÃ³ de leitura\n"
+
+#: elf32-frv.c:3604 elf32-frv.c:3738
+msgid "%H: cannot emit dynamic relocations in read-only section\n"
+msgstr "%H: impossÃ­vel emitir relocalizaÃ§Ãµes dinÃ¢micas em secÃ§Ã£o sÃ³ de leitura\n"
+
+#: elf32-frv.c:3653
+msgid "%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend\n"
+msgstr "%H: R_FRV_FUNCDESC_VALUE referencia sÃ­mbolo dinÃ¢mico com adenda nÃ£o-zero\n"
+
+#: elf32-frv.c:3910
+#, c-format
+msgid "%H: reloc against `%s' references a different segment\n"
+msgstr "%H: reloc contra \"%s\" referencia um segmento diferente\n"
+
+#: elf32-frv.c:4061
+#, c-format
+msgid "%H: reloc against `%s': %s\n"
+msgstr "%H: reloc contra \"%s\": %s\n"
+
+#: elf32-frv.c:6255
+#, c-format
+msgid "%B: unsupported relocation type %i\n"
+msgstr "%B: tipo de relocalizaÃ§Ã£o nÃ£o suportado %i\n"
+
+#: elf32-frv.c:6507
+#, c-format
+msgid "%B: compiled with %s and linked with modules that use non-pic relocations"
+msgstr "%B: compilado com %s e ligado com mÃ³dulos que usam relocalizaÃ§Ãµes nÃ£o-pic"
+
+#: elf32-frv.c:6561 elf32-iq2000.c:828 elf32-m32c.c:874
+#, c-format
+msgid "%B: compiled with %s and linked with modules compiled with %s"
+msgstr "%B: compilado com %s e ligado com mÃ³dulos compilados com %s"
+
+#: elf32-frv.c:6574
+#, c-format
+msgid "%B: uses different unknown e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%B: usa campos e_flags (%#x) desconhecidos diferentes dos mÃ³dulos anteriores (%#x)"
+
+#: elf32-gen.c:69 elf64-gen.c:69
+#, c-format
+msgid "%B: Relocations in generic ELF (EM: %d)"
+msgstr "%B: relocalizaÃ§Ãµes em ELF (EM: %d) genÃ©rico"
+
+#: elf32-hppa.c:829 elf32-hppa.c:3499
+#, c-format
+msgid "%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections"
+msgstr "%B(%A+%#Lx): impossÃ­vel atingir %s, recompile com -ffunction-sections"
+
+#: elf32-hppa.c:1242
+#, c-format
+msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC"
+msgstr "%B: relocalizaÃ§Ã£o %s nÃ£o pode ser usada ao fazer um objecto partilhado; recompile com -fPIC"
+
+#: elf32-hppa.c:2680
+#, c-format
+msgid "%B: duplicate export stub %s"
+msgstr "%B: fictÃ­cio de exportaÃ§Ã£o duplicado %s"
+
+#: elf32-hppa.c:3333
+#, c-format
+msgid "%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link"
+msgstr "%B(%A+%#Lx): %s fixup para insn %#x nÃ£o Ã© suportado em ligaÃ§Ã£o nÃ£o partilhada"
+
+#: elf32-hppa.c:4124
+#, c-format
+msgid "%s has both normal and TLS relocs"
+msgstr "%s tem relocs normal e TLS em simultÃ¢neo"
+
+#: elf32-hppa.c:4142
+msgid "%B:%s has both normal and TLS relocs"
+msgstr "%B:%s tem relocs normal e TLS em simultÃ¢neo"
+
+#: elf32-hppa.c:4201
+#, c-format
+msgid "%B(%A+%#Lx): cannot handle %s for %s"
+msgstr "%B(%A+%#Lx): impossÃ­vel gerir %s para %s"
+
+#: elf32-hppa.c:4505
+msgid ".got section not immediately after .plt section"
+msgstr "secÃ§Ã£o .got nÃ£o imediatamente apÃ³s secÃ§Ã£o .plt"
+
+#: elf32-i370.c:307
+#, c-format
+msgid "%B: unrecognised I370 reloc number: %d"
+msgstr "%B: nÃºmero de reloc I370 nÃ£o reconhecido: %d"
+
+#: elf32-i370.c:1164
+msgid "%B: unknown relocation type %d for symbol %s"
+msgstr "%B: tipo de relocalizaÃ§Ã£o %d  nÃ£o desconhecido para sÃ­mbolo %s"
+
+#: elf32-i370.c:1306
+#, c-format
+msgid "%B: Relocation %s is not yet supported for symbol %s."
+msgstr "%B: RelocalizaÃ§Ã£o %s ainda nÃ£o suportada para sÃ­mbolo %s."
+
+#. Unknown relocation.
+#: elf32-i386.c:384 elf32-m68k.c:352 elf32-ppc.c:2039 elf32-s390.c:346
+#: elf32-tic6x.c:2609 elf32-wasm32.c:106 elf64-ppc.c:2516 elf64-s390.c:373
+#: elf64-x86-64.c:285
+#, c-format
+msgid "%B: invalid relocation type %d"
+msgstr "%B: tipo de relocalizaÃ§Ã£o %d invÃ¡lido"
+
+#: elf32-i386.c:1159 elf64-x86-64.c:1335
+#, c-format
+msgid "%B: TLS transition from %s to %s against `%s' at %#Lx in section `%A' failed"
+msgstr "%B: transiÃ§Ã£o TLS de %s para %s contra \"%s\" em %#Lx na secÃ§Ã£o \"%A\" falhou"
+
+#: elf32-i386.c:1250
+#, c-format
+msgid "%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object"
+msgstr "%B: relocalizaÃ§Ã£o GOT directa R_386_GOT32X contra \"%s\" sem registo-base nÃ£o pode ser usada ao fazer um objecto partilhado"
+
+#: elf32-i386.c:1703 elf32-s390.c:1184 elf32-sh.c:6057 elf32-tilepro.c:1584
+#: elf32-xtensa.c:1192 elf64-s390.c:1113 elfxx-sparc.c:1601
+#: elfxx-tilegx.c:1793
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:427
+#, c-format
+msgid "%B: `%s' accessed both as normal and thread local symbol"
+msgstr "%B: \"%s\" acedido como sÃ­mbolo local normal e thread em simultÃ¢neo"
+
+#: elf32-i386.c:1767
+#, c-format
+msgid "%B: unsupported non-PIC call to IFUNC `%s'"
+msgstr "%B: chamada nÃ£o-PIC a IFUNC \"%s\" nÃ£o suportada"
+
+#: elf32-i386.c:2345 elf64-x86-64.c:2625
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
+msgstr "%B: relocalizaÃ§Ã£o %s contra STT_GNU_IFUNC sÃ­mbolo \"%s\" nÃ£o suportada"
+
+#: elf32-i386.c:2378 elf32-i386.c:3684 elf32-i386.c:3823 elf64-x86-64.c:2682
+#: elf64-x86-64.c:4012 elf64-x86-64.c:4166
+msgid "Local IFUNC function `%s' in %B\n"
+msgstr "FunÃ§Ã£o IFUNC local \"%s\" em %B\n"
+
+#: elf32-i386.c:2593
+#, c-format
+msgid "%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object"
+msgstr "%B: relocalizaÃ§Ã£o GOT directa %s contra \"%s\" sem registo-base nÃ£o pode ser usada ao fazer um objecto partilhado"
+
+#: elf32-i386.c:2628 elf64-x86-64.c:2873
+msgid "hidden symbol"
+msgstr "sÃ­mbolo oculto"
+
+#: elf32-i386.c:2631 elf64-x86-64.c:2876
+msgid "internal symbol"
+msgstr "sÃ­mbolo interno"
+
+#: elf32-i386.c:2634 elf64-x86-64.c:2879
+msgid "protected symbol"
+msgstr "sÃ­mbolo protegido"
+
+#: elf32-i386.c:2637 elf64-x86-64.c:2882
+msgid "symbol"
+msgstr "sÃ­mbolo"
+
+#: elf32-i386.c:2643
+#, c-format
+msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
+msgstr "%B: relocalizaÃ§Ã£o R_386_GOTOFF contra %s \"%s\" indefinido nÃ£o pode ser usada ao fazer um objecto partilhado"
+
+#: elf32-i386.c:2656
+#, c-format
+msgid "%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object"
+msgstr "%B: relocalizaÃ§Ã£o R_386_GOTOFF contra %s \"%s\" protegido nÃ£o pode ser usada ao fazer um objecto partilhado"
+
+#: elf32-i960.c:140
+#, c-format
+msgid "%B: invalid i960 reloc number: %d"
+msgstr "%B: nÃºmero de reloc i960 invÃ¡lido: %d"
+
+#: elf32-ip2k.c:856 elf32-ip2k.c:862 elf32-ip2k.c:929 elf32-ip2k.c:935
+msgid "ip2k relaxer: switch table without complete matching relocation information."
+msgstr "ip2k relaxer: tabela de troca sem informaÃ§Ã£o completa de comparaÃ§Ã£o de relocalizaÃ§Ã£o."
+
+#: elf32-ip2k.c:879 elf32-ip2k.c:962
+msgid "ip2k relaxer: switch table header corrupt."
+msgstr "ip2k relaxer: cabeÃ§alho da tabela de troca corrompido."
+
+#: elf32-ip2k.c:1245
+#, c-format
+msgid "%B: invalid IP2K reloc number: %d"
+msgstr "%B: nÃºmero de reloc IP2K invÃ¡lido: %d"
+
+#: elf32-ip2k.c:1298
+#, c-format
+msgid "ip2k linker: missing page instruction at %#Lx (dest = %#Lx)"
+msgstr "ip2k linker: pÃ¡gina de instruÃ§Ã£o em falta em %#Lx (dest = %#Lx)"
+
+#: elf32-ip2k.c:1315
+#, c-format
+msgid "ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)"
+msgstr "ip2k linker: pÃ¡gina de instruÃ§Ã£o redundante em %#Lx (dest = %#Lx)"
+
+#: elf32-iq2000.c:441
+#, c-format
+msgid "%B: invalid IQ2000 reloc number: %d"
+msgstr "%B: nÃºmero de reloc IQ2000 invÃ¡lido: %d"
+
+#: elf32-lm32.c:539
+#, c-format
+msgid "%B: invalid LM32 reloc number: %d"
+msgstr "%B: nÃºmero de reloc LM32 invÃ¡lido: %d"
+
+#: elf32-lm32.c:648 elf32-nios2.c:3133
+msgid "global pointer relative relocation when _gp not defined"
+msgstr "relocalizaÃ§Ã£o relativa de ponteiro global com _gp nÃ£o definido"
+
+#: elf32-lm32.c:703 elf32-nios2.c:3570
+msgid "global pointer relative address out of range"
+msgstr "endereÃ§o relativo de ponteiro global fora do intervalo"
+
+#: elf32-lm32.c:998
+msgid "internal error: addend should be zero for R_LM32_16_GOT"
+msgstr "erro interno: adenda devia ser zero para R_LM32_16_GOT"
+
+#: elf32-m32c.c:306
+#, c-format
+msgid "%B: invalid M32C reloc number: %d"
+msgstr "%B: nÃºmero de reloc M32C invÃ¡lido: %d"
+
+#: elf32-m32r.c:1286
+#, c-format
+msgid "%B: invalid M32R reloc number: %d"
+msgstr "%B: nÃºmero de reloc M32R invÃ¡lido: %d"
+
+#: elf32-m32r.c:1458
+msgid "SDA relocation when _SDA_BASE_ not defined"
+msgstr "relocalizaÃ§Ã£o SDA com _SDA_BASE_ nÃ£o definido"
+
+#: elf32-m32r.c:2971 elf32-microblaze.c:1064 elf32-microblaze.c:1112
+#, c-format
+msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
+msgstr "%B: o alvo (%s) de uma relocalizaÃ§Ã£o %s estÃ¡ na secÃ§Ã£o errada (%A)"
+
+#: elf32-m32r.c:3473
+msgid "%B: Instruction set mismatch with previous modules"
+msgstr "%B: conjunto de instruÃ§Ãµes trocado com os mÃ³dulos anteriores"
+
+#: elf32-m32r.c:3494 elf32-nds32.c:6037
+#, c-format
+msgid "private flags = %lx"
+msgstr "bandeiras privadas = %lx"
+
+#: elf32-m32r.c:3499
+#, c-format
+msgid ": m32r instructions"
+msgstr ": instruÃ§Ãµes m32r"
+
+#: elf32-m32r.c:3500
+#, c-format
+msgid ": m32rx instructions"
+msgstr ": instruÃ§Ãµes m32rx"
+
+#: elf32-m32r.c:3501
+#, c-format
+msgid ": m32r2 instructions"
+msgstr ": instruÃ§Ãµes m32r2"
+
+#: elf32-m68hc11.c:390
+#, c-format
+msgid "%B: invalid M68HC11 reloc number: %d"
+msgstr "%B: invalid M68HC11 reloc number: %d"
+
+#: elf32-m68hc12.c:510
+#, c-format
+msgid "%B: invalid M68HC12 reloc number: %d"
+msgstr "%B: nÃºmero de reloc M68HC12 invÃ¡lido: %d"
+
+#: elf32-m68hc1x.c:1115
+#, c-format
+msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
+msgstr "ReferÃªncia ao sÃ­mbolo distante \"%s\" com uma relocalizaÃ§Ã£o errada pode resultar em execuÃ§Ã£o incorrecta"
+
+#: elf32-m68hc1x.c:1149
+#, c-format
+msgid "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code."
+msgstr "O endereÃ§o XGATE (%lx) nÃ£o estÃ¡ dentro de RAM(0xE000-0xFFFF) partilhado, deve desviar manualmente o endereÃ§o e, possivelmente gerir a pÃ¡gina, no seu cÃ³digo."
+
+#: elf32-m68hc1x.c:1167
+#, c-format
+msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)"
+msgstr "endereÃ§o de banco [%lx:%04lx] (%lx) nÃ£o estÃ¡ no mesmo banco que o endereÃ§o actual [%lx:%04lx] (%lx)"
+
+#: elf32-m68hc1x.c:1183
+#, c-format
+msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx"
+msgstr "referÃªncia a um endereÃ§o de banco [%lx:%04lx] no espaÃ§o de endereÃ§o normal em %04lx"
+
+#: elf32-m68hc1x.c:1224
+#, c-format
+msgid "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your code"
+msgstr "endereÃ§o S12 (%lx) nÃ£o estÃ¡ dentro de RAM(0x2000-0x4000) partilhado, deve desviar manualmente o endereÃ§o no seu cÃ³digo"
+
+#: elf32-m68hc1x.c:1351
+msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers"
+msgstr "%B: a ligar ficheiros compilados para inteiros de 16-bit (-mshort) e outros para inteiros de 32-bit"
+
+#: elf32-m68hc1x.c:1358
+msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double"
+msgstr "%B: a ligar ficheiros compilados para duplos de 32-bit (-fshort-double) e outros para duplos de 64-bit"
+
+#: elf32-m68hc1x.c:1367
+msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
+msgstr "%B: a ligar ficheiros compilados para HCS12 com outros compilados para HC12"
+
+#: elf32-m68hc1x.c:1412 elf32-xgate.c:672
+#, c-format
+msgid "[abi=32-bit int, "
+msgstr "[abi=32-bit int, "
+
+#: elf32-m68hc1x.c:1414 elf32-xgate.c:674
+#, c-format
+msgid "[abi=16-bit int, "
+msgstr "[abi=16-bit int, "
+
+#: elf32-m68hc1x.c:1417 elf32-xgate.c:677
+#, c-format
+msgid "64-bit double, "
+msgstr "64-bit duplo, "
+
+#: elf32-m68hc1x.c:1419 elf32-xgate.c:679
+#, c-format
+msgid "32-bit double, "
+msgstr "32-bit duplo, "
+
+#: elf32-m68hc1x.c:1422
+#, c-format
+msgid "cpu=HC11]"
+msgstr "cpu=HC11]"
+
+#: elf32-m68hc1x.c:1424
+#, c-format
+msgid "cpu=HCS12]"
+msgstr "cpu=HCS12]"
+
+#: elf32-m68hc1x.c:1426
+#, c-format
+msgid "cpu=HC12]"
+msgstr "cpu=HC12]"
+
+#: elf32-m68hc1x.c:1429
+#, c-format
+msgid " [memory=bank-model]"
+msgstr " [memÃ³ria=bank-model]"
+
+#: elf32-m68hc1x.c:1431
+#, c-format
+msgid " [memory=flat]"
+msgstr " [memÃ³ria=flat]"
+
+#: elf32-m68hc1x.c:1434
+#, c-format
+msgid " [XGATE RAM offsetting]"
+msgstr " [desvio XGATE RAM]"
+
+#: elf32-m68k.c:1214 elf32-m68k.c:1215 vms-alpha.c:7477 vms-alpha.c:7493
+msgid "unknown"
+msgstr "desconhecido"
+
+#: elf32-m68k.c:1658
+#, c-format
+msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
+msgstr "%B: transporte GOT: nÃºmero de relocalizaÃ§Ãµes com desvio 8-bit > %d"
+
+#: elf32-m68k.c:1665
+#, c-format
+msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
+msgstr "%B: transporte GOT: nÃºmero de relocalizaÃ§Ãµes com desvio 8- ou 16-bit > %d"
+
+#: elf32-mcore.c:100 elf32-mcore.c:455
+#, c-format
+msgid "%B: Relocation %s (%d) is not currently supported.\n"
+msgstr "%B: RelocalizaÃ§Ã£o %s (%d) actualmente nÃ£o suportada.\n"
+
+#: elf32-mcore.c:355
+#, c-format
+msgid "%B: unrecognised MCore reloc number: %d"
+msgstr "%B: nÃºmero de reloc MCore nÃ£o reconhecido: %d"
+
+#: elf32-mcore.c:440
+#, c-format
+msgid "%B: Unknown relocation type %d\n"
+msgstr "%B: tipo de relocalizaÃ§Ã£o %d desconhecido\n"
+
+#. Pacify gcc -Wall.
+#: elf32-mep.c:139
+#, c-format
+msgid "mep: no reloc for code %d"
+msgstr "mep: sem reloc para cÃ³digo %d"
+
+#: elf32-mep.c:146
+#, c-format
+msgid "MeP: howto %d has type %d"
+msgstr "MeP: howto %d tem tipo %d"
+
+#: elf32-mep.c:390
+#, c-format
+msgid "%B: invalid MEP reloc number: %d"
+msgstr "%B: nÃºmero de reloc MEP invÃ¡lido: %d"
+
+#: elf32-mep.c:620
+#, c-format
+msgid "%B and %B are for different cores"
+msgstr "%B e %B sÃ£o para cores diferentes"
+
+#: elf32-mep.c:639
+#, c-format
+msgid "%B and %B are for different configurations"
+msgstr "%B e %B sÃ£o para configuraÃ§Ãµes diferentes"
+
+#: elf32-mep.c:677
+#, c-format
+msgid "private flags = 0x%lx"
+msgstr "bandeiras privadas = 0x%lx"
+
+#: elf32-metag.c:878
+#, c-format
+msgid "%B: invalid METAG reloc number: %d"
+msgstr "%B: nÃºmero de reloc METAG invÃ¡lido: %d"
+
+#: elf32-metag.c:1860
+msgid "%B(%A): multiple TLS models are not supported"
+msgstr "%B(%A): mÃºltiplos modelos TLS nÃ£o sÃ£o suportados"
+
+#: elf32-metag.c:1863
+msgid "%B(%A): shared library symbol %s encountered whilst performing a static link"
+msgstr "%B(%A): encontrado sÃ­mbolo de biblioteca partilhada %s ao realizar ligaÃ§Ã£o estÃ¡tica"
+
+#: elf32-microblaze.c:656
+#, c-format
+msgid "%B: unrecognised MicroBlaze reloc number: %d"
+msgstr "%B: nÃºmero de reloc MicroBlaze nÃ£o reconhecido: %d"
+
+#: elf32-microblaze.c:1482 elf32-or1k.c:1052 elf32-tilepro.c:3147
+#: elfxx-sparc.c:3537 elfxx-tilegx.c:3531
+msgid "%B: probably compiled without -fPIC?"
+msgstr "%B: provavelmente compilado com -fPIC?"
+
+#: elf32-mips.c:1777 elf64-mips.c:3200 elfn32-mips.c:3014
+msgid "literal relocation occurs for an external symbol"
+msgstr "relocalizaÃ§Ã£o literal ocorre para um sÃ­mbolo externo"
+
+#: elf32-mips.c:1824 elf32-score.c:569 elf32-score7.c:469 elf64-mips.c:3243
+#: elfn32-mips.c:3055
+msgid "32bits gp relative relocation occurs for an external symbol"
+msgstr "relocalizaÃ§Ã£o relativa 32bits gp ocorre para um sÃ­mbolo externo"
+
+#: elf32-mips.c:2225
+#, c-format
+msgid "Unrecognised MIPS reloc number: %d"
+msgstr "NÃºmero de reloc MIPS nÃ£o reconhecido: %d"
+
+#: elf32-moxie.c:137
+#, c-format
+msgid "%B: invalid Moxie reloc number: %d"
+msgstr "%B: nÃºmero de reloc Moxie invÃ¡lido: %d"
+
+#: elf32-msp430.c:648
+#, c-format
+msgid "%B: invalid MSP430X reloc number: %d"
+msgstr "%B: nÃºmero de reloc MSP430X invÃ¡lido: %d"
+
+#: elf32-msp430.c:658
+#, c-format
+msgid "%B: invalid MSP430 reloc number: %d"
+msgstr "%B: nÃºmero de reloc MSP430 invÃ¡lido: %d"
+
+#: elf32-msp430.c:832 elf32-msp430.c:1146
+msgid "Try enabling relaxation to avoid relocation truncations"
+msgstr "Tente activar relaxe para evitar truncamentos nas relocalizaÃ§Ãµes"
+
+#: elf32-msp430.c:1353
+msgid "internal error: branch/jump to an odd address detected"
+msgstr "erro interno: detectado ramo/salto para um endereÃ§o Ã­mpar"
+
+#: elf32-msp430.c:2352
+#, c-format
+msgid "Warning: %B: Unknown MSPABI object attribute %d"
+msgstr "Aviso: %B: atributo de objecto MSABI %d desconhecido"
+
+#: elf32-msp430.c:2445
+#, c-format
+msgid "error: %B uses %s instructions but %B uses %s"
+msgstr "erro: %B usa instruÃ§Ãµes %s mas %B usa %s"
+
+#: elf32-msp430.c:2457
+#, c-format
+msgid "error: %B uses the %s code model whereas %B uses the %s code model"
+msgstr "erro: %B usa o modelo de cÃ³digo %s enquanto %B usa o modelo de cÃ³digo %s"
+
+#: elf32-msp430.c:2469
+#, c-format
+msgid "error: %B uses the large code model but %B uses MSP430 instructions"
+msgstr "erro: %B usa o modelo de cÃ³digo grande mas %B usa instruÃ§Ãµes MSP430"
+
+#: elf32-msp430.c:2480
+#, c-format
+msgid "error: %B uses the %s data model whereas %B uses the %s data model"
+msgstr "erro: %B usa o modelo de dados %s enquanto %B usa o modelo de dados %s"
+
+#: elf32-msp430.c:2492
+#, c-format
+msgid "error: %B uses the small code model but %B uses the %s data model"
+msgstr "erro: %B usa o modelo de cÃ³digo pequeno mas %B usa o modelo de dados %s"
+
+#: elf32-msp430.c:2504
+#, c-format
+msgid "error: %B uses the %s data model but %B only uses MSP430 instructions"
+msgstr "erro: %B usa o modelo de dados %s mas %B sÃ³ usa instruÃ§Ãµes MSP430"
+
+#: elf32-mt.c:242
+#, c-format
+msgid "%B: invalid MT reloc number: %d"
+msgstr "%B: nÃºmero de reloc MT invÃ¡lido: %d"
+
+#: elf32-nds32.c:2897
+#, c-format
+msgid "%B: invalid NDS32 reloc number: %d"
+msgstr "%B: nÃºmero de reloc NDS32 invÃ¡lido: %d"
+
+#: elf32-nds32.c:3232
+msgid "error: Can't find symbol: _SDA_BASE_."
+msgstr "erro: impossÃ­vel encontrar sÃ­mbolo: _SDA_BASE_."
+
+#: elf32-nds32.c:4410 elf32-nds32.c:11783
+msgid "%B: error: Cannot set _ITB_BASE_"
+msgstr "%B: erro: impossÃ­vel definir _ITB_BASE_"
+
+#: elf32-nds32.c:4418
+msgid "error: IFC relocation error."
+msgstr "erro: erro de relocalizaÃ§Ã£o IFC."
+
+#: elf32-nds32.c:4452
+#, c-format
+msgid "%B: error: unknown relocation type %d."
+msgstr "%B: erro: tipo de relocalizaÃ§Ã£o %d desconhecido."
+
+#: elf32-nds32.c:4898
+msgid "%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode."
+msgstr "%B: aviso: impossÃ­vel gerir R_NDS32_25_ABS_RELA em modo partilhado."
+
+#: elf32-nds32.c:5032
+msgid "%B: warning: unaligned access to GOT entry."
+msgstr "%B: aviso: acesso nÃ£o alinhado a entrada GOT."
+
+#: elf32-nds32.c:5074
+msgid "%B: warning: relocate SDA_BASE failed."
+msgstr "%B: aviso: falha ao relocalizar SDA_BASE."
+
+#: elf32-nds32.c:5096
+#, c-format
+msgid "%B(%A): warning: unaligned small data access of type %d."
+msgstr "%B(%A): aviso: acesso nÃ£o alinhado a dados pequenos de tipo %d."
+
+#: elf32-nds32.c:5844
+#, c-format
+msgid "%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte"
+msgstr "%B: tamanho do vector ISR trocado com mÃ³dulos anteriores, anterior %u-byte, actual %u-byte"
+
+#: elf32-nds32.c:5888
+msgid "%B: warning: Endian mismatch with previous modules."
+msgstr "%B: aviso: Endian trocado com mÃ³dulos anteriores."
+
+#: elf32-nds32.c:5898
+msgid "%B: warning: Older version of object file encountered, Please recompile with current tool chain."
+msgstr "%B: aviso: encontradas versÃµes anteriores do ficheiro objecto, recompile com as ferramentas actuais."
+
+#: elf32-nds32.c:5976
+msgid "%B: error: ABI mismatch with previous modules."
+msgstr "%B: erro: ABI trocado com mÃ³dulos anteriores."
+
+#: elf32-nds32.c:5987
+msgid "%B: error: Instruction set mismatch with previous modules."
+msgstr "%B: erro: conjunto de instruÃ§Ãµes trocado com mÃ³dulos anteriores."
+
+#: elf32-nds32.c:6013
+#, c-format
+msgid "%B: warning: Incompatible elf-versions %s and  %s."
+msgstr "%B: aviso: versÃµes elf %s e %s incompatÃ­veis."
+
+#: elf32-nds32.c:6043
+#, c-format
+msgid ": n1 instructions"
+msgstr ": instruÃ§Ãµes n1"
+
+#: elf32-nds32.c:6046
+#, c-format
+msgid ": n1h instructions"
+msgstr ": instruÃ§Ãµes n1h"
+
+#: elf32-nds32.c:8535
+msgid "%B: Error: search_nds32_elf_blank reports wrong node\n"
+msgstr "%B: erro: search_nds32_elf_blank reporta nÃ³ errado\n"
+
+#: elf32-nds32.c:8794
+#, c-format
+msgid "%B: warning: %s points to unrecognized reloc at %#Lx"
+msgstr "%B: aviso: %s aponta para reloc nÃ£o reconhecida em %#Lx"
+
+#: elf32-nds32.c:11655 elf32-nds32.c:11672
+msgid "error: Jump IFC Fail."
+msgstr "erro: falha em salto IFC."
+
+#: elf32-nds32.c:12529
+#, c-format
+msgid "%B: Nested OMIT_FP in %A."
+msgstr "%B: OMIT_FP aninhado em %A."
+
+#: elf32-nds32.c:12548
+#, c-format
+msgid "%B: Unmatched OMIT_FP in %A."
+msgstr "%B: OMIT_FP desirmanado em %A."
+
+#: elf32-nds32.c:12831 reloc.c:8273
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n"
+msgstr "%X%P: %B(%A): relocalizaÃ§Ã£o \"%R\" sai fora do intervalo\n"
+
+#: elf32-nds32.c:14607
+msgid "Linker: cannot init ex9 hash table error \n"
+msgstr "Linker: impossÃ­vel iniciar erro da tabela de hash ex9 \n"
+
+#: elf32-nds32.c:15016 elf32-nds32.c:15030
+msgid "Linker: error cannot fixed ex9 relocation \n"
+msgstr "Linker: erro impossÃ­vel relocalizaÃ§Ã£o fixa ex9 \n"
+
+#: elf32-nds32.c:15241
+#, c-format
+msgid "%B: warning: unaligned small data access for entry: {%Ld, %Ld, %Ld}, addr = %#Lx, align = %#x"
+msgstr "%B: aviso: acesso nÃ£o alinhado a dados pequenos para entrada: {%Ld, %Ld, %Ld}, end = %#Lx, alinh = %#x"
+
+#: elf32-nds32.c:15274
+#, c-format
+msgid "failed creating ex9.it %s hash table entry"
+msgstr "falha ao criar entrada de tabela hash ex9.it %s"
+
+#: elf32-nios2.c:2929
+msgid "error: %B: Big-endian R2 is not supported."
+msgstr "erro: %B: Big-endian R2 nÃ£o Ã© suportado."
+
+#: elf32-nios2.c:3814
+#, c-format
+msgid "global pointer relative relocation at address 0x%08x when _gp not defined\n"
+msgstr "relocalizaÃ§Ã£o relativa de ponteiro global no endereÃ§o 0x%08x com _gp nÃ£o definido\n"
+
+#: elf32-nios2.c:3834
+#, c-format
+msgid "Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.\n"
+msgstr "ImpossÃ­vel atingir %s (at 0x%08x) do ponteiro global (em 0x%08x) porque o desvio (%d) estÃ¡ fora do intervalo permitido, -32678 a 32767.\n"
+
+#: elf32-nios2.c:4487 elf32-pru.c:816
+msgid "relocation out of range"
+msgstr "relocalizaÃ§Ã£o fora do intervalo"
+
+#: elf32-nios2.c:4497 elf32-pru.c:826 elf32-tic6x.c:2682
+msgid "dangerous relocation"
+msgstr "relocalizaÃ§Ã£o perigosa"
+
+#: elf32-nios2.c:5370
+#, c-format
+msgid "dynamic variable `%s' is zero size"
+msgstr "variÃ¡vel dinÃ¢mica \"%s\" tem tamanho zero"
+
+#: elf32-or1k.c:715
+#, c-format
+msgid "%B: invalid OR1K reloc number: %d"
+msgstr "%B: nÃºmero de reloc OR1K invÃ¡lido: %d"
+
+#: elf32-or1k.c:965
+msgid "internal error: addend should be zero for R_OR1K_GOT16"
+msgstr "erro interno: adenda devia ser zero para R_OR1K_GOT16"
+
+#: elf32-or1k.c:1074
+msgid "%B: support for local dynamic not implemented"
+msgstr "%B: suporte a dinÃ¢mica local nÃ£o implementado"
+
+#: elf32-or1k.c:1209
+msgid "%B: will not resolve runtime TLS relocation"
+msgstr "%B: nÃ£o resolve relocalizaÃ§Ã£o TLS em tempo de execuÃ§Ã£o"
+
+#: elf32-or1k.c:1529
+#, c-format
+msgid "%B: bad relocation section name `%s'"
+msgstr "%B: mau nome de secÃ§Ã£o de relocalizaÃ§Ã£o \"%s\""
+
+#: elf32-or1k.c:2641
+msgid "%B: EF_OR1K_NODELAY flag mismatch with previous modules"
+msgstr "%B: bandeira EF_OR1K_NODELAY trocada com mÃ³dulos anteriores"
+
+#: elf32-pj.c:325
+#, c-format
+msgid "%B: unrecognised PicoJava reloc number: %d"
+msgstr "%B: nÃºmero de reloc PicoJava nÃ£o reconhecido: %d"
+
+#: elf32-ppc.c:2027
+#, c-format
+msgid "%B: unrecognised PPC reloc number: %d"
+msgstr "%B: nÃºmero de reloc PPC nÃ£o reconhecido: %d"
+
+#: elf32-ppc.c:2112
+#, c-format
+msgid "generic linker can't handle %s"
+msgstr "linker genÃ©rico nÃ£o pode gerir %s"
+
+#: elf32-ppc.c:2732
+#, c-format
+msgid "corrupt %s section in %B"
+msgstr "secÃ§Ã£o %s corrupta em %B"
+
+#: elf32-ppc.c:2752
+#, c-format
+msgid "unable to read in %s section from %B"
+msgstr "impossÃ­vel ler na secÃ§Ã£o %s de %B"
+
+#: elf32-ppc.c:2794
+#, c-format
+msgid "warning: unable to set size of %s section in %B"
+msgstr "aviso: impossÃ­vel definir tamanho da secÃ§Ã£o %s em %B"
+
+#: elf32-ppc.c:2844
+msgid "failed to allocate space for new APUinfo section."
+msgstr "falha ao alocar espaÃ§o para nova secÃ§Ã£o APUinfo."
+
+#: elf32-ppc.c:2863
+msgid "failed to compute new APUinfo section."
+msgstr "falha ao computar nova secÃ§Ã£o APUinfo."
+
+#: elf32-ppc.c:2866
+msgid "failed to install new APUinfo section."
+msgstr "falha ao instalar nova secÃ§Ã£o APUinfo."
+
+#: elf32-ppc.c:3915
+#, c-format
+msgid "%B: relocation %s cannot be used when making a shared object"
+msgstr "%B: relocalizaÃ§Ã£o %s nÃ£o pode ser usada ao fazer objecto partilhado"
+
+#: elf32-ppc.c:4266 elf64-ppc.c:5597
+#, c-format
+msgid "%H: %s reloc against local symbol\n"
+msgstr "%H: reloc %s contra sÃ­mbolo local\n"
+
+#: elf32-ppc.c:4628 elf32-ppc.c:4632
+#, c-format
+msgid "Warning: %B uses hard float, %B uses soft float"
+msgstr "Aviso: %B usa vÃ­rgula rÃ­gida, %B usa vÃ­rgula suave"
+
+#: elf32-ppc.c:4636 elf32-ppc.c:4641
+#, c-format
+msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float"
+msgstr "Aviso: %B usa vÃ­rgula rÃ­gida de precisÃ£o dupla, %B usa vÃ­rgula rÃ­gida de precisÃ£o simples"
+
+#: elf32-ppc.c:4656 elf32-ppc.c:4661
+#, c-format
+msgid "Warning: %B uses 64-bit long double, %B uses 128-bit long double"
+msgstr "Aviso: %B usa 64-bit long double, %B usa 128-bit long double"
+
+#: elf32-ppc.c:4666 elf32-ppc.c:4671
+#, c-format
+msgid "Warning: %B uses IBM long double, %B uses IEEE long double"
+msgstr "Aviso: %B usa IBM long double, %B usa IEEE long double"
+
+#: elf32-ppc.c:4722 elf32-ppc.c:4727
+#, c-format
+msgid "Warning: %B uses AltiVec vector ABI, %B uses SPE vector ABI"
+msgstr "Aviso: %B usa AltiVec vector ABI, %B usa SPE vector ABI"
+
+#: elf32-ppc.c:4750 elf32-ppc.c:4755
+#, c-format
+msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
+msgstr "Aviso: %B usa r3/r4 para devoluÃ§Ãµes de estrutura pequena, %B usa memÃ³ria"
+
+#: elf32-ppc.c:4810
+msgid "%B: compiled with -mrelocatable and linked with modules compiled normally"
+msgstr "%B: compilado com -mrelocatable e ligado com mÃ³dulos compilados normalmente"
+
+#: elf32-ppc.c:4818
+msgid "%B: compiled normally and linked with modules compiled with -mrelocatable"
+msgstr "%B: compilado normalmente e ligado com mÃ³dulos compilados com -mrelocatable"
+
+#: elf32-ppc.c:4887
+#, c-format
+msgid "%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn"
+msgstr "%B(%A+0x%lx): esperada relocalizaÃ§Ã£o estilo 16A em 0x%08x insn"
+
+#: elf32-ppc.c:4906
+#, c-format
+msgid "%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn"
+msgstr "%B(%A+0x%lx): esperada relocalizaÃ§Ã£o estilo 16D em 0x%08x insn"
+
+#: elf32-ppc.c:4997
+msgid "%P: bss-plt forced due to %B\n"
+msgstr "%P: bss-plt forÃ§ado devido a %B\n"
+
+#: elf32-ppc.c:5000
+msgid "%P: bss-plt forced by profiling\n"
+msgstr "%P: bss-plt forÃ§ado pelo perfil\n"
+
+#. Uh oh, we didn't find the expected call.  We
+#. could just mark this symbol to exclude it
+#. from tls optimization but it's safer to skip
+#. the entire optimization.
+#: elf32-ppc.c:5322 elf64-ppc.c:8654
+#, c-format
+msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
+msgstr "argumento %H perdeu __tls_get_addr, optimizaÃ§Ã£o TLS desactivada\n"
+
+#: elf32-ppc.c:6264 elf32-sh.c:3392 elf32-tilepro.c:2331 elfxx-sparc.c:2556
+#: elfxx-tilegx.c:2567
+msgid "%B: dynamic relocation in read-only section `%A'\n"
+msgstr "%B: relocalizaÃ§Ã£o dinÃ¢mica em secÃ§Ã£o \"%A\" sÃ³ de leitura\n"
+
+#: elf32-ppc.c:8100
+msgid "%H: fixup branch overflow\n"
+msgstr "%H: transporte em ramo fixup\n"
+
+#: elf32-ppc.c:8140 elf32-ppc.c:8175
+#, c-format
+msgid "%B(%A+%#Lx): error: %s with unexpected instruction %#x"
+msgstr "%B(%A+%#Lx): erro: %s com instruÃ§Ã£o inesperada %#x"
+
+#: elf32-ppc.c:8231
+#, c-format
+msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
+msgstr "%X%H: bss-plt -fPIC ifunc %s nÃ£o suportada\n"
+
+#: elf32-ppc.c:8294 elf64-ppc.c:15070
+msgid "%H: warning: %s unexpected insn %#x.\n"
+msgstr "%H: aviso: %s insn %#x inesperado.\n"
+
+#: elf32-ppc.c:8319
+#, c-format
+msgid "%P: %B: unknown relocation type %d for symbol %s\n"
+msgstr "%P: %B: tipo de relocalizaÃ§Ã£o %d desconhecido para sÃ­mbolo %s\n"
+
+#: elf32-ppc.c:8606
+#, c-format
+msgid "%H: non-zero addend on %s reloc against `%s'\n"
+msgstr "%H: adenda nÃ£o-zero em reloc %s contra \"%s\"\n"
+
+#. @local on an ifunc does not really make sense since
+#. the ifunc resolver can take you anywhere.  More
+#. seriously, calls to ifuncs must go through a plt call
+#. stub, and for pic the plt call stubs uses r30 to
+#. access the PLT.  The problem is that a call that is
+#. local won't have the +32k reloc addend trick marking
+#. -fPIC code, so the linker won't know whether r30 is
+#. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section.
+#: elf32-ppc.c:8638
+#, c-format
+msgid "%X%H: @local call to ifunc %s\n"
+msgstr "%X%H: chamada @local a ifunc %s\n"
+
+#: elf32-ppc.c:8808
+#, c-format
+msgid "%H: relocation %s for indirect function %s unsupported\n"
+msgstr "%H: relocalizaÃ§Ã£o %s para funÃ§Ã£o indirecta %s nÃ£o suportada\n"
+
+#: elf32-ppc.c:9077 elf32-ppc.c:9108 elf32-ppc.c:9199
+#, c-format
+msgid "%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)\n"
+msgstr "%P: %B: o alvo (%s) de uma relocalizaÃ§Ã£o %s estÃ¡ na secÃ§Ã£o de saÃ­da errada (%s)\n"
+
+#: elf32-ppc.c:9287
+#, c-format
+msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
+msgstr "%B: o alvo (%s) de uma relocalizaÃ§Ã£o %s estÃ¡ na secÃ§Ã£o de saÃ­da errada (%s)"
+
+#: elf32-ppc.c:9395
+#, c-format
+msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
+msgstr "%P: %B: relocalizaÃ§Ã£o %s ainda nÃ£o Ã© suportada para sÃ­mbolo %s\n"
+
+#: elf32-ppc.c:9480
+#, c-format
+msgid "%H: error: %s against `%s' not a multiple of %u\n"
+msgstr "%H: erro: %s contra \"%s\" nÃ£o Ã©  mÃºltiplo de %u\n"
+
+#: elf32-ppc.c:9509
+#, c-format
+msgid "%H: unresolvable %s relocation against symbol `%s'\n"
+msgstr "%H: relocalizaÃ§Ã£o %s insolÃºvel contra sÃ­mbolo \"%s\"\n"
+
+#: elf32-ppc.c:9590
+#, c-format
+msgid "%H: %s reloc against `%s': error %d\n"
+msgstr "%H: %s reloc contra \"%s\": erro %d\n"
+
+#: elf32-ppc.c:10354 elf64-ppc.c:15601
+msgid "%X%P: text relocations and GNU indirect functions will result in a segfault at runtime\n"
+msgstr "%X%P: relocalizaÃ§Ãµes de texto e funÃ§Ãµes indirectas GNU resultarÃ£o em segfault em tempo de execuÃ§Ã£o\n"
+
+#: elf32-ppc.c:10358 elf64-ppc.c:15605
+msgid "%P: warning: text relocations and GNU indirect functions may result in a segfault at runtime\n"
+msgstr "%P: aviso: relocalizaÃ§Ãµes de texto e funÃ§Ãµes indirectas GNU podem resultar em segfault em tempo de execuÃ§Ã£o\n"
+
+#: elf32-ppc.c:10403
+#, c-format
+msgid "%P: %s not defined in linker created %s\n"
+msgstr "%P: %s nÃ£o definido em linker criado %s\n"
+
+#: elf32-rl78.c:292
+#, c-format
+msgid "%B: invalid RL78 reloc number: %d"
+msgstr "%B: nÃºmero de reloc RL78 invÃ¡lido: %d"
+
+#: elf32-rl78.c:370
+msgid "Internal Error: RL78 reloc stack overflow"
+msgstr "Erro interno: transporte de stack em reloc RL78"
+
+#: elf32-rl78.c:381
+msgid "Internal Error: RL78 reloc stack underflow"
+msgstr "Erro interno: sub-transporte de stack em reloc RL78"
+
+#: elf32-rl78.c:1050
+msgid "Warning: RL78_SYM reloc with an unknown symbol"
+msgstr "Aviso: reloc RL78_SYM com sÃ­mbolo desconhecido"
+
+#: elf32-rl78.c:1081 elf32-rx.c:1435
+#, c-format
+msgid "%B(%A): error: call to undefined function '%s'"
+msgstr "%B(%A): erro: chamada a funÃ§Ã£o nÃ£o definida \"%s\""
+
+#: elf32-rl78.c:1202
+#, c-format
+msgid "RL78 ABI conflict: G10 file %B cannot be linked with %s file %B"
+msgstr "conflito RL78 ABI: ficheiro G10 %B nÃ£o pode ser ligado a ficheiro %s %B"
+
+#: elf32-rl78.c:1219
+#, c-format
+msgid "RL78 ABI conflict: cannot link %s file %B with %s file %B"
+msgstr "conflito RL78 ABI: impossÃ­vel ligar ficheiro %s %B com ficheiro %s %B"
+
+#: elf32-rl78.c:1228
+msgid "RL78 merge conflict: cannot link 32-bit and 64-bit objects together"
+msgstr "conflito de uniÃ£o RL78: impossÃ­vel ligar objectos 32-bit e 64-bit"
+
+#: elf32-rl78.c:1232 elf32-rl78.c:1236
+#, c-format
+msgid "- %B is 64-bit, %B is not"
+msgstr "- %B Ã© 64-bit, %B nÃ£o Ã©"
+
+#: elf32-rl78.c:1263
+#, c-format
+msgid " [64-bit doubles]"
+msgstr " [64-bit doubles]"
+
+#: elf32-rx.c:314
+#, c-format
+msgid "%B: invalid RX reloc number: %d"
+msgstr "%B: nÃºmero de reloc RX invÃ¡lido: %d"
+
+#: elf32-rx.c:595
+#, c-format
+msgid "%B:%A: table entry %s outside table"
+msgstr "%B:%A: entrada de tabela %s fora da tabela"
+
+#: elf32-rx.c:602
+#, c-format
+msgid "%B:%A: table entry %s not word-aligned within table"
+msgstr "%B:%A: entrada de tabela %s nÃ£o alinhado dentro da tabela"
+
+#: elf32-rx.c:668
+#, c-format
+msgid "%B:%A: Warning: deprecated Red Hat reloc "
+msgstr "%B:%A: aviso: reloc Red Hat obsoleta "
+
+#. Check for unsafe relocs in PID mode.  These are any relocs where
+#. an absolute address is being computed.  There are special cases
+#. for relocs against symbols that are known to be referenced in
+#. crt0.o before the PID base address register has been initialised.
+#: elf32-rx.c:687
+#, c-format
+msgid "%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)"
+msgstr "%B(%A): relocalizaÃ§Ã£o PID insegura %s em %#Lx (contra %s em %s)"
+
+#: elf32-rx.c:1267
+msgid "Warning: RX_SYM reloc with an unknown symbol"
+msgstr "Aviso: reloc RX_SYM com sÃ­mbolo desconhecido"
+
+#: elf32-rx.c:3146
+msgid "There is a conflict merging the ELF header flags from %B"
+msgstr "HÃ¡ um conflito na uniÃ£o das bandeira do cabeÃ§alho ELF de %B"
+
+#: elf32-rx.c:3149
+#, c-format
+msgid "  the input  file's flags: %s"
+msgstr "  bandeiras fich. entrada: %s"
+
+#: elf32-rx.c:3151
+#, c-format
+msgid "  the output file's flags: %s"
+msgstr "  bandeiras fich. saÃ­da:   %s"
+
+#: elf32-rx.c:3758
+#, c-format
+msgid "%B:%A: table %s missing corresponding %s"
+msgstr "%B:%A: tabela %s com correspondente %s em falta"
+
+#: elf32-rx.c:3766
+#, c-format
+msgid "%B:%A: %s and %s must be in the same input section"
+msgstr "%B:%A: %s e %s tÃªm de estar na mesma secÃ§Ã£o de entrada"
+
+#: elf32-s390.c:2137 elf64-s390.c:2075
+#, c-format
+msgid "%B(%A+%#Lx): invalid instruction for TLS relocation %s"
+msgstr "%B(%A+%#Lx): instruÃ§Ã£o invÃ¡lida para relocalizaÃ§Ã£o TLS %s"
+
+#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3756
+msgid "not enough GOT space for local GOT entries"
+msgstr "espaÃ§o GOT insuficiente para entradas GOT locais"
+
+#: elf32-score.c:2744
+msgid "address not word align"
+msgstr "endereÃ§o nÃ£o alinhado por word"
+
+#: elf32-score.c:2825 elf32-score7.c:2630
+#, c-format
+msgid "%B: Malformed reloc detected for section %A"
+msgstr "%B: reloc malformada detectada para secÃ§Ã£o %A"
+
+#: elf32-score.c:2879 elf32-score7.c:2684
+#, c-format
+msgid "%B: CALL15 reloc at %#Lx not against global symbol"
+msgstr "%B: reloc CALL15 em %#Lx nÃ£o contra sÃ­mbolo global"
+
+#: elf32-score.c:4001 elf32-score7.c:3806
+#, c-format
+msgid " [pic]"
+msgstr " [pic]"
+
+#: elf32-score.c:4005 elf32-score7.c:3810
+#, c-format
+msgid " [fix dep]"
+msgstr " [fix dep]"
+
+#: elf32-score.c:4048 elf32-score7.c:3853
+msgid "%B: warning: linking PIC files with non-PIC files"
+msgstr "%B: aviso: a ligar ficheiros PIC com ficheiros nÃ£o-PIC"
+
+#: elf32-sh-symbian.c:130
+#, c-format
+msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS"
+msgstr "%B: directiva IMPORT AS para %s oculta a IMPORT AS anterior"
+
+#: elf32-sh-symbian.c:384
+#, c-format
+msgid "%B: Unrecognised .directive command: %s"
+msgstr "%B: comando .directive nÃ£o reconhecido: %s"
+
+#: elf32-sh-symbian.c:502
+#, c-format
+msgid "%B: Failed to add renamed symbol %s"
+msgstr "%B: falha ao adicionar sÃ­mbolo %s renomeado"
+
+#: elf32-sh.c:491
+#, c-format
+msgid "%B: unrecognised SH reloc number: %d"
+msgstr "%B: nÃºmero de reloc SH nÃ£o reconhecido: %d"
+
+#: elf32-sh.c:592
+#, c-format
+msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x"
+msgstr "%B: %#Lx: aviso: R_SH_USES aponta para insn 0x%x nÃ£o reconhecido"
+
+#: elf32-sh.c:3947 elf64-sh64.c:1508
+msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
+msgstr "STO_SH5_ISA32 inesperado em sÃ­mbolo local nÃ£o Ã© gerido"
+
+#: elf32-sh.c:4200
+#, c-format
+msgid "%B: %#Lx: fatal: unaligned branch target for relax-support relocation"
+msgstr "%B: %#Lx: fatal: ramo alvo nÃ£o alinhado para relocalizaÃ§Ã£o relax-support"
+
+#: elf32-sh.c:4234 elf32-sh.c:4250
+#, c-format
+msgid "%B: %#Lx: fatal: unaligned %s relocation %#Lx"
+msgstr "%B: %#Lx: fatal: relocalizaÃ§Ã£o %s desalinhada %#Lx"
+
+#: elf32-sh.c:4265
+#, c-format
+msgid "%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32"
+msgstr "%B: %#Lx: fatal: R_SH_PSHA relocalizaÃ§Ã£o %Ld fora do intervalo -32..32"
+
+#: elf32-sh.c:4280
+#, c-format
+msgid "%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32"
+msgstr "%B: %#Lx: fatal: R_SH_PSHL relocalizaÃ§Ã£o %Ld fora do intervalo -32..32"
+
+#: elf32-sh.c:4426 elf32-sh.c:4899
+#, c-format
+msgid "%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section"
+msgstr "%B(%A+%#Lx): impossÃ­vel emitir fixup a \"%s\" em secÃ§Ã£o sÃ³ de leitura"
+
+#: elf32-sh.c:5001
+#, c-format
+msgid "%B(%A+%#Lx): %s relocation against external symbol \"%s\""
+msgstr "%B(%A+%#Lx): relocalizaÃ§Ã£o %s contra sÃ­mbolo externo \"%s\""
+
+#: elf32-sh.c:5465
+#, c-format
+msgid "%X%C: relocation to \"%s\" references a different segment\n"
+msgstr "%X%C: relocalizaÃ§Ã£o para \"%s\" referencia um segmento diferente\n"
+
+#: elf32-sh.c:5472
+#, c-format
+msgid "%C: warning: relocation to \"%s\" references a different segment\n"
+msgstr "%C: aviso: relocalizaÃ§Ã£o para \"%s\" referencia um segmento diferente\n"
+
+#: elf32-sh.c:6046 elf32-sh.c:6132
+#, c-format
+msgid "%B: `%s' accessed both as normal and FDPIC symbol"
+msgstr "%B: \"%s\" acedido como sÃ­mbolo normal e FDPIC em simultÃ¢neo"
+
+#: elf32-sh.c:6052 elf32-sh.c:6137
+#, c-format
+msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
+msgstr "%B: \"%s\" acedido como sÃ­mbolo local FDPIC e thread em simultÃ¢neo"
+
+#: elf32-sh.c:6083
+msgid "%B: Function descriptor relocation with non-zero addend"
+msgstr "%B: relocalizaÃ§Ã£o de descritor de funÃ§Ã£o com adenda nÃ£o-zero"
+
+#: elf32-sh.c:6321 elf64-alpha.c:4688
+#, c-format
+msgid "%B: TLS local exec code cannot be linked into shared objects"
+msgstr "%B: cÃ³digo exec TLS local nÃ£o pode ser ligado a objectos partilhados"
+
+#: elf32-sh.c:6436
+#, c-format
+msgid "%B: uses %s instructions while previous modules use %s instructions"
+msgstr "%B: usa instruÃ§Ãµes %s enquanto os mÃ³dulos anteriores usam instruÃ§Ãµes %s"
+
+#: elf32-sh.c:6448
+#, c-format
+msgid "internal error: merge of architecture '%s' with architecture '%s' produced unknown architecture"
+msgstr "erro interno: uniÃ£o da arquitectura \"%s\" com a arquitectura \"%s\" produziu uma arquitectura desconhecida"
+
+#: elf32-sh.c:6485
+msgid "%B: uses instructions which are incompatible with instructions used in previous modules"
+msgstr "%B: usa instruÃ§Ãµes incompatÃ­veis com instruÃ§Ãµes usadas em mÃ³dulos anteriores"
+
+#: elf32-sh.c:6498
+msgid "%B: attempt to mix FDPIC and non-FDPIC objects"
+msgstr "%B: tentativa de misturar objectos FDPIC e nÃ£o-FDPIC"
+
+#: elf32-sh64.c:225 elf64-sh64.c:2277
+#, c-format
+msgid "%B: compiled as 32-bit object and %B is 64-bit"
+msgstr "%B: compilado como objecto 32-bit e %B Ã© 64-bit"
+
+#: elf32-sh64.c:229 elf64-sh64.c:2281
+#, c-format
+msgid "%B: compiled as 64-bit object and %B is 32-bit"
+msgstr "%B: compilado como objecto 64-bit e %B Ã© 32-bit"
+
+#: elf32-sh64.c:232 elf64-sh64.c:2284
+#, c-format
+msgid "%B: object size does not match that of target %B"
+msgstr "%B: tamanho do objecto nÃ£o corresponde ao do alvo %B"
+
+#: elf32-sh64.c:455 elf64-sh64.c:2772
+msgid "%B: encountered datalabel symbol in input"
+msgstr "%B: encontrado sÃ­mbolo datalabel na entrada"
+
+#: elf32-sh64.c:531
+msgid "PTB mismatch: a SHmedia address (bit 0 == 1)"
+msgstr "troca PTB: endereÃ§o SHmedia (bit 0 == 1)"
+
+#: elf32-sh64.c:534
+msgid "PTA mismatch: a SHcompact address (bit 0 == 0)"
+msgstr "troca PTA: endereÃ§o SHcompact (bit 0 == 0)"
+
+#: elf32-sh64.c:550
+msgid "%B: GAS error: unexpected PTB insn with R_SH_PT_16"
+msgstr "%B: erro GAS: PTB insn inesperado com R_SH_PT_16"
+
+#: elf32-sh64.c:600
+#, c-format
+msgid "%B: error: unaligned relocation type %d at %#Lx reloc %#Lx"
+msgstr "%B: erro: tipo de relocalizaÃ§Ã£o %d nÃ£o alinhado em %#Lx reloc %#Lx"
+
+#: elf32-sh64.c:676
+msgid "%B: could not write out added .cranges entries"
+msgstr "%B: impossÃ­vel escrever entradas .cranges adicionadas"
+
+#: elf32-sh64.c:735
+msgid "%B: could not write out sorted .cranges entries"
+msgstr "%B: impossÃ­vel escrever entradas .cranges ordenadas"
+
+#: elf32-sparc.c:89
+msgid "%B: compiled for a 64 bit system and target is 32 bit"
+msgstr "%B: compilado para um sistema 64 bit e o alvo Ã© 32 bit"
+
+#: elf32-sparc.c:102
+msgid "%B: linking little endian files with big endian files"
+msgstr "%B: a ligar ficheiros little endian com ficheiros big endian"
+
+#: elf32-spu.c:160
+#, c-format
+msgid "%B: unrecognised SPU reloc number: %d"
+msgstr "%B: nÃºmero de relocalizaÃ§Ã£o SPU nÃ£o reconhecido: %d"
+
+#: elf32-spu.c:726
+msgid "%X%P: overlay section %A does not start on a cache line.\n"
+msgstr "%X%P: secÃ§Ã£o de sobreposiÃ§Ã£o %A nÃ£o comeÃ§a numa linha de cache.\n"
+
+#: elf32-spu.c:734
+msgid "%X%P: overlay section %A is larger than a cache line.\n"
+msgstr "%X%P: secÃ§Ã£o de sobreposiÃ§Ã£o %A Ã© maior que uma linha de cache.\n"
+
+#: elf32-spu.c:754
+msgid "%X%P: overlay section %A is not in cache area.\n"
+msgstr "%X%P: secÃ§Ã£o de sobreposiÃ§Ã£o %A nÃ£o estÃ¡ numa Ã¡rea de cache.\n"
+
+#: elf32-spu.c:795
+#, c-format
+msgid "%X%P: overlay sections %A and %A do not start at the same address.\n"
+msgstr "%X%P: secÃ§Ãµes de sobreposiÃ§Ã£o %A e %A nÃ£o comeÃ§am no mesmo endereÃ§o.\n"
+
+#: elf32-spu.c:1021
+#, c-format
+msgid "warning: call to non-function symbol %s defined in %B"
+msgstr "aviso: chamada a sÃ­mbolo nÃ£o-funÃ§Ã£o %s definida em %B"
+
+#: elf32-spu.c:1371
+#, c-format
+msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
+msgstr "%A:0x%v lrlive .brinfo (%u) difere da anÃ¡lise (%u)\n"
+
+#: elf32-spu.c:1903
+#, c-format
+msgid "%B is not allowed to define %s"
+msgstr "%B nÃ£o tem permissÃ£o para definir %s"
+
+#: elf32-spu.c:1911
+#, c-format
+msgid "you are not allowed to define %s in a script"
+msgstr "nÃ£o tem permissÃ£o para definir %s num script"
+
+#: elf32-spu.c:1945
+#, c-format
+msgid "%s in overlay section"
+msgstr "%s em secÃ§Ã£o de sobreposiÃ§Ã£o"
+
+#: elf32-spu.c:1974
+msgid "overlay stub relocation overflow"
+msgstr "transporte de relocalizaÃ§Ã£o fictÃ­cia de sobreposiÃ§Ã£o"
+
+#: elf32-spu.c:1983
+msgid "stubs don't match calculated size"
+msgstr "fictÃ­cios nÃ£o correspondem ao tamanho calculado"
+
+#: elf32-spu.c:2566
+#, c-format
+msgid "warning: %s overlaps %s\n"
+msgstr "aviso: %s sobrepÃµe-se a %s\n"
+
+#: elf32-spu.c:2582
+#, c-format
+msgid "warning: %s exceeds section size\n"
+msgstr "aviso: %s excede o tamanho da secÃ§Ã£o\n"
+
+#: elf32-spu.c:2614
+#, c-format
+msgid "%A:0x%v not found in function table\n"
+msgstr "%A:0x%v nÃ£o encontrado na tabela de funÃ§Ã£o\n"
+
+#: elf32-spu.c:2755
+#, c-format
+msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n"
+msgstr "%B(%A+0x%v): chamada a secÃ§Ã£o nÃ£o-cÃ³digo %B(%A), anÃ¡lise incompleta\n"
+
+#: elf32-spu.c:3324
+#, c-format
+msgid "Stack analysis will ignore the call from %s to %s\n"
+msgstr "AnÃ¡lise de stack ignorarÃ¡ a chamada de %s a %s\n"
+
+#: elf32-spu.c:4021
+msgid "  calls:\n"
+msgstr "  chamadas:\n"
+
+#: elf32-spu.c:4335
+#, c-format
+msgid "%s duplicated in %s\n"
+msgstr "%s duplicado em %s\n"
+
+#: elf32-spu.c:4339
+#, c-format
+msgid "%s duplicated\n"
+msgstr "%s duplicado\n"
+
+#: elf32-spu.c:4346
+msgid "sorry, no support for duplicate object files in auto-overlay script\n"
+msgstr "desculpe, sem suporte para ficheiros objecto duplicados no script de auto-sobreposiÃ§Ã£o\n"
+
+#: elf32-spu.c:4388
+#, c-format
+msgid "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store\n"
+msgstr "tamanho nÃ£o-sobreposiÃ§Ã£o de 0x%v mais o tamanho mÃ¡ximo de sobreposiÃ§Ã£o de 0x%v excede a capacidade local\n"
+
+#: elf32-spu.c:4544
+#, c-format
+msgid "%B:%A%s exceeds overlay size\n"
+msgstr "%B:%A%s excede o tamanho de sobreposiÃ§Ã£o\n"
+
+#: elf32-spu.c:4685
+msgid "%F%P: auto overlay error: %E\n"
+msgstr "%F%P: erro de auto-sobreposiÃ§Ã£o: %E\n"
+
+#: elf32-spu.c:4706
+msgid "Stack size for call graph root nodes.\n"
+msgstr "Tamanho de stack para chamar nÃ³s raiz grÃ¡ficos.\n"
+
+#: elf32-spu.c:4707
+msgid ""
+"\n"
+"Stack size for functions.  Annotations: '*' max stack, 't' tail call\n"
+msgstr ""
+"\n"
+"Tamanho de stack para funÃ§Ãµes. AnotaÃ§Ãµes: \"*\" stack mÃ¡x, \"t\" chamada tail\n"
+
+#: elf32-spu.c:4717
+msgid "Maximum stack required is 0x%v\n"
+msgstr "Stack mÃ¡ximo requerido Ã© 0x%v\n"
+
+#: elf32-spu.c:4736
+msgid "%X%P: stack/lrlive analysis error: %E\n"
+msgstr "%X%P: erro de anÃ¡lise stack/lrlive: %E\n"
+
+#: elf32-spu.c:4739
+msgid "%F%P: can not build overlay stubs: %E\n"
+msgstr "%F%P: impossÃ­vel construir fictÃ­cios de sobreposiÃ§Ã£o: %E\n"
+
+#: elf32-spu.c:4808
+msgid "fatal error while creating .fixup"
+msgstr "erro fatal ao criar .fixup"
+
+#: elf32-spu.c:5043
+#, c-format
+msgid "%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'"
+msgstr "%B(%s+%#Lx): relocalizaÃ§Ã£o %s insolÃºvel comtra sÃ­mbolo \"%s\""
+
+#: elf32-tic6x.c:1596
+msgid "warning: generating a shared library containing non-PIC code"
+msgstr "aviso: a gerar uma biblioteca partilhada contendo cÃ³digo nÃ£o PIC"
+
+#: elf32-tic6x.c:1601
+msgid "warning: generating a shared library containing non-PID code"
+msgstr "aviso: a gerar uma biblioteca partilhada contendo cÃ³digo nÃ£o PID"
+
+#: elf32-tic6x.c:2460
+msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
+msgstr "%B: relocalizaÃ§Ã£o relativa a SB mas __c6xabi_DSBT_BASE nÃ£o definido"
+
+#: elf32-tic6x.c:3582
+#, c-format
+msgid "%B: error: unknown mandatory EABI object attribute %d"
+msgstr "%B: erro: atributo de objecto EABI obrigatÃ³rio desconhecido %d"
+
+#: elf32-tic6x.c:3591
+#, c-format
+msgid "%B: warning: unknown EABI object attribute %d"
+msgstr "%B: aviso: atributo de objecto EABI desconhecido %d"
+
+#: elf32-tic6x.c:3705 elf32-tic6x.c:3714
+#, c-format
+msgid "error: %B requires more stack alignment than %B preserves"
+msgstr "erro: %B requer mais alinhamento de stack do que %B preserva"
+
+#: elf32-tic6x.c:3724 elf32-tic6x.c:3733
+msgid "error: unknown Tag_ABI_array_object_alignment value in %B"
+msgstr "erro: valor Tag_ABI_array_object_alignment desconhecido em %B"
+
+#: elf32-tic6x.c:3742 elf32-tic6x.c:3751
+msgid "error: unknown Tag_ABI_array_object_align_expected value in %B"
+msgstr "erro: valor Tag_ABI_array_object_align_expected desconhecido em %B"
+
+#: elf32-tic6x.c:3760 elf32-tic6x.c:3768
+#, c-format
+msgid "error: %B requires more array alignment than %B preserves"
+msgstr "erro: %B requer mais alinhamento de matriz do que %B preserva"
+
+#: elf32-tic6x.c:3791
+#, c-format
+msgid "warning: %B and %B differ in wchar_t size"
+msgstr "aviso: %B e %B diferem em tamanho wchar_t"
+
+#: elf32-tic6x.c:3810
+#, c-format
+msgid "warning: %B and %B differ in whether code is compiled for DSBT"
+msgstr "aviso: %B e %B diferem sobre se o cÃ³digo foi compilado para DSBT"
+
+#: elf32-tilepro.c:3752 elfxx-tilegx.c:4132 elfxx-x86.c:1336
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:9172
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2492
+#, c-format
+msgid "discarded output section: `%A'"
+msgstr "secÃ§Ã£o de saÃ­da descartada: \"%A\""
+
+#: elf32-v850.c:153
+#, c-format
+msgid "Variable `%s' cannot occupy in multiple small data regions"
+msgstr "VariÃ¡vel \"%s\" nÃ£o pode ocupar mÃºltiplas pequenas regiÃµes de dados"
+
+#: elf32-v850.c:156
+#, c-format
+msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions"
+msgstr "VariÃ¡vel \"%s\" sÃ³ pode estar numa das regiÃµes de dados pequena, zero e minÃºscula"
+
+#: elf32-v850.c:159
+#, c-format
+msgid "Variable `%s' cannot be in both small and zero data regions simultaneously"
+msgstr "VariÃ¡vel \"%s\" nÃ£o pode estar nas regiÃµes de dados pequena e zero em simultÃ¢neo"
+
+#: elf32-v850.c:162
+#, c-format
+msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously"
+msgstr "VariÃ¡vel \"%s\" nÃ£o pode estar nas regiÃµes de dados pequena e minÃºscula em simultÃ¢neo"
+
+#: elf32-v850.c:165
+#, c-format
+msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
+msgstr "VariÃ¡vel \"%s\" nÃ£o pode estar nas regiÃµes de dados zero e minÃºscula em simultÃ¢neo"
+
+#: elf32-v850.c:463
+msgid "FAILED to find previous HI16 reloc"
+msgstr "Falha ao procurar reloc HI16 anterior"
+
+#: elf32-v850.c:1898 elf32-v850.c:1917
+#, c-format
+msgid "%B: invalid V850 reloc number: %d"
+msgstr "%B: nÃºmero de reloc V850 invÃ¡lido: %d"
+
+#: elf32-v850.c:2295
+msgid "could not locate special linker symbol __gp"
+msgstr "impossÃ­vel localizar sÃ­mbolo linker especial __gp"
+
+#: elf32-v850.c:2299
+msgid "could not locate special linker symbol __ep"
+msgstr "impossÃ­vel localizar sÃ­mbolo linker especial __ep"
+
+#: elf32-v850.c:2303
+msgid "could not locate special linker symbol __ctbp"
+msgstr "impossÃ­vel localizar sÃ­mbolo linker especial __ctbp"
+
+#: elf32-v850.c:2524
+#, c-format
+msgid "error: %B needs 8-byte alignment but %B is set for 4-byte alignment"
+msgstr "erro: %B precisa de alinhamento 8-byte mas %B estÃ¡ definido para alinhamento 4-byte"
+
+#: elf32-v850.c:2540
+#, c-format
+msgid "error: %B uses 64-bit doubles but %B uses 32-bit doubles"
+msgstr "erro: %B usa doubles 64-bit mas %B usa doubles 32-bit"
+
+#: elf32-v850.c:2555
+#, c-format
+msgid "error: %B uses FPU-3.0 but %B only supports FPU-2.0"
+msgstr "erro: %B usa FPU-3.0 mas %B sÃ³ suporta FPU-2.0"
+
+#: elf32-v850.c:2587
+#, c-format
+msgid " alignment of 8-byte entities: "
+msgstr " alinhamento de entidades 8-byte: "
+
+#: elf32-v850.c:2590
+#, c-format
+msgid "4-byte"
+msgstr "4-byte"
+
+#: elf32-v850.c:2591
+#, c-format
+msgid "8-byte"
+msgstr "8-byte"
+
+#: elf32-v850.c:2592 elf32-v850.c:2604
+#, c-format
+msgid "not set"
+msgstr "nÃ£o definido"
+
+#: elf32-v850.c:2593 elf32-v850.c:2605 elf32-v850.c:2617 elf32-v850.c:2628
+#: elf32-v850.c:2639 elf32-v850.c:2650
+#, c-format
+msgid "unknown: %x"
+msgstr "desconhecido: %x"
+
+#: elf32-v850.c:2599
+#, c-format
+msgid " size of doubles: "
+msgstr " tamanho de doubles: "
+
+#: elf32-v850.c:2602
+#, c-format
+msgid "4-bytes"
+msgstr "4-bytes"
+
+#: elf32-v850.c:2603
+#, c-format
+msgid "8-bytes"
+msgstr "8-bytes"
+
+#: elf32-v850.c:2611
+#, c-format
+msgid " FPU support required: "
+msgstr " requerido suporte FPU: "
+
+#: elf32-v850.c:2614
+#, c-format
+msgid "FPU-2.0"
+msgstr "FPU-2.0"
+
+#: elf32-v850.c:2615
+#, c-format
+msgid "FPU-3.0"
+msgstr "FPU-3.0"
+
+#: elf32-v850.c:2616
+#, c-format
+msgid "none"
+msgstr "nenhum"
+
+#: elf32-v850.c:2623
+#, c-format
+msgid "SIMD use: "
+msgstr "uso SIMD: "
+
+#: elf32-v850.c:2626 elf32-v850.c:2637 elf32-v850.c:2648
+#, c-format
+msgid "yes"
+msgstr "sim"
+
+#: elf32-v850.c:2627 elf32-v850.c:2638 elf32-v850.c:2649
+#, c-format
+msgid "no"
+msgstr "nÃ£o"
+
+#: elf32-v850.c:2634
+#, c-format
+msgid "CACHE use: "
+msgstr "uso CACHE: "
+
+#: elf32-v850.c:2645
+#, c-format
+msgid "MMU use: "
+msgstr "uso MMU: "
+
+#: elf32-v850.c:2812 elf32-v850.c:2868
+msgid "%B: Architecture mismatch with previous modules"
+msgstr "%B: troca de arquitectura com mÃ³dulos anteriores"
+
+#. xgettext:c-format.
+#: elf32-v850.c:2886
+#, c-format
+msgid "private flags = %lx: "
+msgstr "bandeiras privadas = %lx: "
+
+#: elf32-v850.c:2891
+#, c-format
+msgid "unknown v850 architecture"
+msgstr "arquitectura V850 desconhecida"
+
+#: elf32-v850.c:2893
+#, c-format
+msgid "v850 E3 architecture"
+msgstr "arquitectura v850 E3"
+
+#: elf32-v850.c:2895 elf32-v850.c:2902
+#, c-format
+msgid "v850 architecture"
+msgstr "arquitectura v850"
+
+#: elf32-v850.c:2903
+#, c-format
+msgid "v850e architecture"
+msgstr "arquitectura v850e"
+
+#: elf32-v850.c:2904
+#, c-format
+msgid "v850e1 architecture"
+msgstr "arquitectura v850e1"
+
+#: elf32-v850.c:2905
+#, c-format
+msgid "v850e2 architecture"
+msgstr "arquitectura v850e2"
+
+#: elf32-v850.c:2906
+#, c-format
+msgid "v850e2v3 architecture"
+msgstr "arquitectura v850e2v3"
+
+#: elf32-v850.c:2907
+#, c-format
+msgid "v850e3v5 architecture"
+msgstr "arquitectura v850e3v5"
+
+#: elf32-v850.c:3601
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insns"
+msgstr "%B: %#Lx: aviso: R_V850_LONGCALL aponta para insns nÃ£o reconhecido"
+
+#: elf32-v850.c:3611
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insn %#x"
+msgstr "%B: %#Lx: aviso: R_V850_LONGCALL aponta para insn %#x nÃ£o reconhecido"
+
+#: elf32-v850.c:3656
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc"
+msgstr "%B: %#Lx: aviso: R_V850_LONGCALL aponta para reloc nÃ£o reconhecida"
+
+#: elf32-v850.c:3696
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc %#Lx"
+msgstr "%B: %#Lx: aviso: R_V850_LONGCALL aponta para reloc %#Lx nÃ£o reconhecida"
+
+#: elf32-v850.c:3839
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insns"
+msgstr "%B: %#Lx: aviso: R_V850_LONGJUMP aponta para insns nÃ£o reconhecido"
+
+#: elf32-v850.c:3849
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insn %#x"
+msgstr "%B: %#Lx: aviso: R_V850_LONGJUMP aponta para insn %#x nÃ£o reconhecido"
+
+#: elf32-v850.c:3883
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized reloc"
+msgstr "%B: %#Lx: aviso: R_V850_LONGJUMP aponta para reloc nÃ£o reconhecida"
+
+#: elf32-vax.c:290
+#, c-format
+msgid "%B: unrecognised VAX reloc number: %d"
+msgstr "%B: nÃºmero de reloc VAX nÃ£o reconhecido: %d"
+
+#: elf32-vax.c:539
+#, c-format
+msgid " [nonpic]"
+msgstr " [nonpic]"
+
+#: elf32-vax.c:542
+#, c-format
+msgid " [d-float]"
+msgstr " [d-float]"
+
+#: elf32-vax.c:545
+#, c-format
+msgid " [g-float]"
+msgstr " [g-float]"
+
+#: elf32-vax.c:631
+#, c-format
+msgid "%B: warning: GOT addend of %Ld to `%s' does not match previous GOT addend of %Ld"
+msgstr "%B: aviso: adenda GOT de %Ld a \"%s\" nÃ£o corresponde a adenda GOT de %Ld prÃ©via"
+
+#: elf32-vax.c:1445
+#, c-format
+msgid "%B: warning: PLT addend of %Ld to `%s' from %A section ignored"
+msgstr "%B: aviso: adenda PLT de %Ld a c\"%s\" da secÃ§Ã£o %A ignorada"
+
+#: elf32-vax.c:1570
+#, c-format
+msgid "%B: warning: %s relocation against symbol `%s' from %A section"
+msgstr "%B: aviso: relocalizaÃ§Ã£o %s contra sÃ­mbolo \"%s\" da secÃ§Ã£o %A"
+
+#: elf32-vax.c:1577
+#, c-format
+msgid "%B: warning: %s relocation to %#Lx from %A section"
+msgstr "%B: aviso: relocalizaÃ§Ã£o %s para %#Lx da secÃ§Ã£o %A"
+
+#: elf32-visium.c:481
+#, c-format
+msgid "%B: invalid Visium reloc number: %d"
+msgstr "%B: nÃºmero de reloc Visium invÃ¡lido: %d"
+
+#: elf32-visium.c:817
+#, c-format
+msgid "%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s"
+msgstr "%B: compilado %s -mtune=%s e ligado com mÃ³dulos compilados %s -mtune=%s"
+
+#: elf32-xgate.c:428
+#, c-format
+msgid "%B: invalid XGate reloc number: %d"
+msgstr "%B: nÃºmero de relocalizaÃ§Ã£o XGate invÃ¡lido: %d"
+
+#: elf32-xgate.c:681
+#, c-format
+msgid "cpu=XGATE]"
+msgstr "cpu=XGATE]"
+
+#: elf32-xgate.c:683
+#, c-format
+msgid "error reading cpu type from elf private data"
+msgstr "erro ao ler tipo de cpu de dados privados elf"
+
+#: elf32-xstormy16.c:449 elf64-ia64-vms.c:2074 elf32-ia64.c:2337
+#: elf64-ia64.c:2337
+msgid "non-zero addend in @fptr reloc"
+msgstr "adenda nÃ£o-zero em reloc @fptr"
+
+#: elf32-xtensa.c:485
+#, c-format
+msgid "%B: invalid XTENSA reloc number: %d"
+msgstr "%B: nÃºmero de reloc XTENSA invÃ¡lido: %d"
+
+#: elf32-xtensa.c:926
+#, c-format
+msgid "%B(%A): invalid property table"
+msgstr "%B(%A): tabela de propriedade invÃ¡lida"
+
+#: elf32-xtensa.c:2655
+#, c-format
+msgid "%B(%A+%#Lx): relocation offset out of range (size=%#Lx)"
+msgstr "%B(%A+%#Lx): desvio de relocalizaÃ§Ã£o fora do intervalo (tamanho=%#Lx)"
+
+#: elf32-xtensa.c:2736 elf32-xtensa.c:2855
+msgid "dynamic relocation in read-only section"
+msgstr "relocalizaÃ§Ã£o dinÃ¢mica em secÃ§Ã£o sÃ³ de leitura"
+
+#: elf32-xtensa.c:2832
+msgid "TLS relocation invalid without dynamic sections"
+msgstr "relocalizaÃ§Ã£o TLS invÃ¡lida sem secÃ§Ãµes dinÃ¢micas"
+
+#: elf32-xtensa.c:3043
+msgid "internal inconsistency in size of .got.loc section"
+msgstr "inconsistÃªncia interna no tamanho da secÃ§Ã£o .got.loc"
+
+#: elf32-xtensa.c:3350
+#, c-format
+msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x"
+msgstr "%B: tipo de mÃ¡quina incompatÃ­vel. SaÃ­da Ã© 0x%x. Entrada Ã© 0x%x"
+
+#: elf32-xtensa.c:4581 elf32-xtensa.c:4589
+msgid "Attempt to convert L32R/CALLX to CALL failed"
+msgstr "Tentativa de converter L32R/CALLX para CALL falhou"
+
+#: elf32-xtensa.c:6417 elf32-xtensa.c:6495 elf32-xtensa.c:7871
+#, c-format
+msgid "%B(%A+%#Lx): could not decode instruction; possible configuration mismatch"
+msgstr "%B(%A+%#Lx): impossÃ­vel descodificar instruÃ§Ã£o; possÃ­vel troca de configuraÃ§Ã£o"
+
+#: elf32-xtensa.c:7610
+#, c-format
+msgid "%B(%A+%#Lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
+msgstr "%B(%A+%#Lx): impossÃ­vel descodificar instruÃ§Ã£o para relocalizaÃ§Ã£o XTENSA_ASM_SIMPLIFY; possÃ­vel troca de configuraÃ§Ã£o"
+
+#: elf32-xtensa.c:9455
+msgid "invalid relocation address"
+msgstr "EndereÃ§o de relocalizaÃ§Ã£o invÃ¡lido"
+
+#: elf32-xtensa.c:9505
+msgid "overflow after relaxation"
+msgstr "transporte apÃ³s relaxe"
+
+#: elf32-xtensa.c:10649
+#, c-format
+msgid "%B(%A+%#Lx): unexpected fix for %s relocation"
+msgstr "%B(%A+%#Lx): fix inesperado para relocalizaÃ§Ã£o %s"
+
+#: elf64-alpha.c:472
+msgid "GPDISP relocation did not find ldah and lda instructions"
+msgstr "relocalizaÃ§Ã£o GPDISP nÃ£o encontrou instruÃ§Ãµes ldah e lda"
+
+#: elf64-alpha.c:1112
+#, c-format
+msgid "%B: unrecognised Alpha reloc number: %d"
+msgstr "%B: nÃºmero de reloc Alpha nÃ£o reconhecido: %d"
+
+#: elf64-alpha.c:2462
+#, c-format
+msgid "%B: .got subsegment exceeds 64K (size %d)"
+msgstr "%B: sub-segmento .got excede 64K (tamanho %d)"
+
+#: elf64-alpha.c:3017
+#, c-format
+msgid "%B: %A+%#Lx: warning: %s relocation against unexpected insn"
+msgstr "%B: %A+%#Lx: aviso: relocalizaÃ§Ã£o %s contra insn inesperado"
+
+#: elf64-alpha.c:3212
+#, c-format
+msgid "%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn"
+msgstr "%B: %A+%#Lx: aviso: relocalizaÃ§Ã£o LITERAL contra insn inesperado"
+
+#: elf64-alpha.c:4412 elf64-alpha.c:4425
+#, c-format
+msgid "%B: gp-relative relocation against dynamic symbol %s"
+msgstr "%B: relocalizaÃ§Ã£o gp-relative contra sÃ­mbolo dinÃ¢mico %s"
+
+#: elf64-alpha.c:4452 elf64-alpha.c:4596
+#, c-format
+msgid "%B: pc-relative relocation against dynamic symbol %s"
+msgstr "%B: relocalizaÃ§Ã£o pc-relative contra sÃ­mbolo dinÃ¢mico %s"
+
+#: elf64-alpha.c:4481
+#, c-format
+msgid "%B: change in gp: BRSGP %s"
+msgstr "%B: alteraÃ§Ã£o em gp: BRSGP %s"
+
+#: elf64-alpha.c:4506
+msgid "<unknown>"
+msgstr "<desconhecido>"
+
+#: elf64-alpha.c:4512
+#, c-format
+msgid "%B: !samegp reloc against symbol without .prologue: %s"
+msgstr "%B: reloc !samegp contra sÃ­mbolo sem .prologue: %s"
+
+#: elf64-alpha.c:4570
+#, c-format
+msgid "%B: unhandled dynamic relocation against %s"
+msgstr "%B: relocalizaÃ§Ã£o dinÃ¢mica contra %s nÃ£o gerida"
+
+#: elf64-alpha.c:4605
+#, c-format
+msgid "%B: pc-relative relocation against undefined weak symbol %s"
+msgstr "%B: relocalizaÃ§Ã£o pc-relative contra sÃ­mbolo fraco %s indefinido"
+
+#: elf64-alpha.c:4671
+#, c-format
+msgid "%B: dtp-relative relocation against dynamic symbol %s"
+msgstr "%B: relocalizaÃ§Ã£o dtp-relative contra sÃ­mbolo dinÃ¢mico %s"
+
+#: elf64-alpha.c:4696
+#, c-format
+msgid "%B: tp-relative relocation against dynamic symbol %s"
+msgstr "%B: relocalizaÃ§Ã£o tp-relative contra sÃ­mbolo dinÃ¢mico %s"
+
+#: elf64-hppa.c:2081
+#, c-format
+msgid "stub entry for %s cannot load .plt, dp offset = %Ld"
+msgstr "entrada fictÃ­cia para %s nÃ£o pode carregar .plt, desvio dp = %Ld"
+
+#: elf64-hppa.c:3286
+#, c-format
+msgid "%B(%A+%#Lx): cannot reach %s"
+msgstr "%B(%A+%#Lx): impossÃ­vel atingir %s"
+
+#: elf64-ia64-vms.c:587 elf32-ia64.c:620 elf64-ia64.c:620
+#, c-format
+msgid "%B: Can't relax br at %#Lx in section `%A'. Please use brl or indirect branch."
+msgstr "%B: impossÃ­vel relaxar br em %#Lx na secÃ§Ã£o \"%A\". Por favor, use brl ou um ramo indirecto."
+
+#: elf64-ia64-vms.c:2029 elf32-ia64.c:2285 elf64-ia64.c:2285
+msgid "@pltoff reloc against local symbol"
+msgstr "reloc @pltoff contra sÃ­mbolo local"
+
+#: elf64-ia64-vms.c:3281 elf32-ia64.c:3696 elf64-ia64.c:3696
+#, c-format
+msgid "%B: short data segment overflowed (%#Lx >= 0x400000)"
+msgstr "%B: transporte no segmento de dados curtos (%#Lx >= 0x400000)"
+
+#: elf64-ia64-vms.c:3291 elf32-ia64.c:3706 elf64-ia64.c:3706
+msgid "%B: __gp does not cover short data segment"
+msgstr "%B: __gp nÃ£o cobre o segmento de dados curtos"
+
+#: elf64-ia64-vms.c:3557 elf32-ia64.c:3974 elf64-ia64.c:3974
+#, c-format
+msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
+msgstr "%B: cÃ³digo nÃ£o-pic com relocalizaÃ§Ã£o imm contra sÃ­mbolo dinÃ¢mico \"%s\""
+
+#: elf64-ia64-vms.c:3621 elf32-ia64.c:4042 elf64-ia64.c:4042
+#, c-format
+msgid "%B: @gprel relocation against dynamic symbol %s"
+msgstr "%B: relocalizaÃ§Ã£o @gprel contra sÃ­mbolo dinÃ¢mico %s"
+
+#: elf64-ia64-vms.c:3680 elf32-ia64.c:4105 elf64-ia64.c:4105
+msgid "%B: linking non-pic code in a position independent executable"
+msgstr "%B: a ligar cÃ³digo nÃ£o-pic num executÃ¡vel de posiÃ§Ã£o independente"
+
+#: elf64-ia64-vms.c:3782 elf32-ia64.c:4243 elf64-ia64.c:4243
+#, c-format
+msgid "%B: @internal branch to dynamic symbol %s"
+msgstr "%B: ramo @internal para sÃ­mbolo dinÃ¢mico %s"
+
+#: elf64-ia64-vms.c:3785 elf32-ia64.c:4246 elf64-ia64.c:4246
+#, c-format
+msgid "%B: speculation fixup to dynamic symbol %s"
+msgstr "%B: fixup de especulaÃ§Ã£o para sÃ­mbolo dinÃ¢mico %s"
+
+#: elf64-ia64-vms.c:3788 elf32-ia64.c:4249 elf64-ia64.c:4249
+#, c-format
+msgid "%B: @pcrel relocation against dynamic symbol %s"
+msgstr "%B: relocalizaÃ§Ã£o @pcrel contra sÃ­mbolo dinÃ¢mico %s"
+
+#: elf64-ia64-vms.c:3912 elf32-ia64.c:4446 elf64-ia64.c:4446
+msgid "unsupported reloc"
+msgstr "reloc nÃ£o suportado"
+
+#: elf64-ia64-vms.c:3949 elf32-ia64.c:4484 elf64-ia64.c:4484
+#, c-format
+msgid "%B: missing TLS section for relocation %s against `%s' at %#Lx in section `%A'."
+msgstr "%B: secÃ§Ã£o TLS em falta para relocalizaÃ§Ã£o %s contra \"%s\" em %#Lx na secÃ§Ã£o \"%A\"."
+
+#: elf64-ia64-vms.c:3966 elf32-ia64.c:4501 elf64-ia64.c:4501
+#, c-format
+msgid "%B: Can't relax br (%s) to `%s' at %#Lx in section `%A' with size %#Lx (> 0x1000000)."
+msgstr "%B: impossÃ­vel relaxar br (%s) para \"%s\" em %#Lx na secÃ§Ã£o \"%A\" com tamanho %#Lx (> 0x1000000)."
+
+#: elf64-ia64-vms.c:4257 elf32-ia64.c:4758 elf64-ia64.c:4758
+msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
+msgstr "%B: a ligar trap-on-NULL-dereference com ficheiros nÃ£o-trapping"
+
+#: elf64-ia64-vms.c:4266 elf32-ia64.c:4767 elf64-ia64.c:4767
+msgid "%B: linking big-endian files with little-endian files"
+msgstr "%B: a ligar ficheiros big-endian com ficheiros little-endian"
+
+#: elf64-ia64-vms.c:4275 elf32-ia64.c:4776 elf64-ia64.c:4776
+msgid "%B: linking 64-bit files with 32-bit files"
+msgstr "%B: a ligar ficheiros 64-bit com ficheiros 32-bit"
+
+#: elf64-ia64-vms.c:4284 elf32-ia64.c:4785 elf64-ia64.c:4785
+msgid "%B: linking constant-gp files with non-constant-gp files"
+msgstr "%B: a ligar ficheiros constant-gp com ficheiros nÃ£o constant-gp"
+
+#: elf64-ia64-vms.c:4294 elf32-ia64.c:4795 elf64-ia64.c:4795
+msgid "%B: linking auto-pic files with non-auto-pic files"
+msgstr "%B: a ligar ficheiros auto-pic com ficheiro nÃ£o auto-pic"
+
+#: elf64-ia64-vms.c:5137 elflink.c:4773
+#, c-format
+msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
+msgstr "Aviso: alihamento %u de sÃ­mbolo comum \"%s\" em %B Ã© maior que o alinhamento (%u) da sua secÃ§Ã£o %A"
+
+#: elf64-ia64-vms.c:5144 elflink.c:4780
+#, c-format
+msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
+msgstr "Aviso: alinhamento %u do sÃ­mbolo \"%s\" em %B Ã© menor que %u em %B"
+
+#: elf64-ia64-vms.c:5160 elflink.c:4797
+#, c-format
+msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B"
+msgstr "Aviso: tamanho do sÃ­mbolo \"%s\" mudou de %Lu em %B para %Lu em %B"
+
+#: elf64-mips.c:3615 elfn32-mips.c:3443
+#, c-format
+msgid "unrecognised MIPS reloc number: %d"
+msgstr "nÃºmero de reloc MIPS nÃ£o reconhecido: %d"
+
+#: elf64-mmix.c:984
+msgid ""
+"invalid input relocation when producing non-ELF, non-mmo format output.\n"
+" Please use the objcopy program to convert from ELF or mmo,\n"
+" or assemble using \"-no-expand\" (for gcc, \"-Wa,-no-expand\""
+msgstr ""
+"RelocalizaÃ§Ã£o de entrada invÃ¡lida ao produzir saÃ­da de formato nÃ£o-ELF, nÃ£o-mmo.\n"
+" Por favor, use o programa objcopy para converter de ELF ou mmo,\n"
+" ou monte usando \"-no-expand\" (para gcc, \"-Wa,-no-expand\""
+
+#: elf64-mmix.c:1168
+msgid ""
+"invalid input relocation when producing non-ELF, non-mmo format output.\n"
+" Please use the objcopy program to convert from ELF or mmo,\n"
+" or compile using the gcc-option \"-mno-base-addresses\"."
+msgstr ""
+"RelocalizaÃ§Ã£o de entrada invÃ¡lida ao produzir saÃ­da de formato nÃ£o-ELF, nÃ£o-mmo.\n"
+" Por favor, use o programa objcopy para converter de ELF ou mmo,\n"
+"ou compile usando a opÃ§Ã£o gcc \"-mno-base-addresses\"."
+
+#: elf64-mmix.c:1195
+#, c-format
+msgid ""
+"%B: Internal inconsistency error for value for\n"
+" linker-allocated global register: linked: %#Lx != relaxed: %#Lx"
+msgstr ""
+"%B: erro interno de inconsistÃªncia no valor para o\n"
+" registo global alocado para o linker: ligado: %#Lx != relaxado: %#Lx"
+
+#: elf64-mmix.c:1264
+#, c-format
+msgid "%B: invalid MMIX reloc number: %d"
+msgstr "%B: invalid MMIX reloc number: %d"
+
+#: elf64-mmix.c:1616
+#, c-format
+msgid "%B: base-plus-offset relocation against register symbol: (unknown) in %A"
+msgstr "%B: relocalizaÃ§Ã£o base-plus-offset  contra sÃ­mbolo de registo: (desconhecido) em %A"
+
+#: elf64-mmix.c:1622
+#, c-format
+msgid "%B: base-plus-offset relocation against register symbol: %s in %A"
+msgstr "%B: relocalizaÃ§Ã£o base-plus-offset contra sÃ­mbolo de registo: %s em %A"
+
+#: elf64-mmix.c:1667
+#, c-format
+msgid "%B: register relocation against non-register symbol: (unknown) in %A"
+msgstr "%B: relocalizaÃ§Ã£o de registo contra sÃ­mbolo nÃ£o-registo: (desconhecido) em %A"
+
+#: elf64-mmix.c:1673
+#, c-format
+msgid "%B: register relocation against non-register symbol: %s in %A"
+msgstr "%B: relocalizaÃ§Ã£o de registo contra sÃ­mbolo nÃ£o-registo: %s em %A"
+
+#: elf64-mmix.c:1710
+msgid "%B: directive LOCAL valid only with a register or absolute value"
+msgstr "%B: directiva LOCAL sÃ³ Ã© vÃ¡lida com um registo ou um valor absoluto"
+
+#: elf64-mmix.c:1741
+#, c-format
+msgid "%B: LOCAL directive: Register $%Ld is not a local register.  First global register is $%Ld."
+msgstr "%B: directiva LOCAL: registo $%Ld nÃ£o Ã© um registo local. O primeiro registo global Ã© $%Ld."
+
+#: elf64-mmix.c:2169
+#, c-format
+msgid "%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
+msgstr "%B: Erro: definiÃ§Ã£o mÃºltipla de \"%s\"; inÃ­cio de %s estÃ¡ definido num ficheiro previamente ligado\n"
+
+#: elf64-mmix.c:2224
+msgid "Register section has contents\n"
+msgstr "SecÃ§Ã£o de registo tem conteÃºdo\n"
+
+#: elf64-mmix.c:2414
+#, c-format
+msgid ""
+"Internal inconsistency: remaining %lu != max %lu.\n"
+"  Please report this bug."
+msgstr ""
+"InconsistÃªncia interna: resta %lu != mÃ¡x %lu.\n"
+"  Por favor, reporte este erro."
+
+#: elf64-ppc.c:4640
+#, c-format
+msgid "%P: %B: cannot create stub entry %s\n"
+msgstr "%P: %B: impossÃ­vel criar entrada fictÃ­cia %s\n"
+
+#: elf64-ppc.c:4971
+msgid "%P: symbol '%s' has invalid st_other for ABI version 1\n"
+msgstr "%P: sÃ­mbolo \"%s\" tem st_other invÃ¡lido para a versÃ£o ABI 1\n"
+
+#: elf64-ppc.c:5146
+#, c-format
+msgid "%P: %B .opd not allowed in ABI version %d\n"
+msgstr "%P: %B .opd nÃ£o permitida na versÃ£o ABI %d\n"
+
+#: elf64-ppc.c:5645
+#, c-format
+msgid "%H: %s reloc unsupported in shared libraries and PIEs.\n"
+msgstr "%H: %s reloc nÃ£o suportada em bibliotecas partilhadas e PIEs.\n"
+
+#: elf64-ppc.c:6035
+#, c-format
+msgid "%B uses unknown e_flags 0x%lx"
+msgstr "%B usa e_flags 0x%lx desconhecido"
+
+#: elf64-ppc.c:6043
+#, c-format
+msgid "%B: ABI version %ld is not compatible with ABI version %ld output"
+msgstr "%B: versÃ£o ABI %ld nÃ£o Ã© compatÃ­vel com a saÃ­da da versÃ£o ABI %ld"
+
+#: elf64-ppc.c:6071
+#, c-format
+msgid " [abiv%ld]"
+msgstr " [abiv%ld]"
+
+#: elf64-ppc.c:7255
+msgid "%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
+msgstr "%P: cÃ³pia da reloc contra \"%T\" requer ligaÃ§Ã£o lazy plt; evite definir LD_BIND_NOW=1 ou actualize o gcc\n"
+
+#: elf64-ppc.c:7522
+msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
+msgstr "%B: sÃ­mbolo indefinido em relocalizaÃ§Ã£o R_PPC64_TOCSAVE"
+
+#: elf64-ppc.c:7749
+#, c-format
+msgid "%P: dynreloc miscount for %B, section %A\n"
+msgstr "%P: erro de contagem dynreloc para %B, secÃ§Ã£o %A\n"
+
+#: elf64-ppc.c:7838
+msgid "%B: .opd is not a regular array of opd entries"
+msgstr "%B: .opd nÃ£o Ã© uma matriz normal de entradas opd"
+
+#: elf64-ppc.c:7848
+#, c-format
+msgid "%B: unexpected reloc type %u in .opd section"
+msgstr "%B: tipo de reloc inesperado %u em secÃ§Ã£o .opd"
+
+#: elf64-ppc.c:7870
+#, c-format
+msgid "%B: undefined sym `%s' in .opd section"
+msgstr "%B: sÃ­mbolo indefinido \"%s\" em secÃ§Ã£o .opd"
+
+#: elf64-ppc.c:8207
+msgid "%P: warning: --plt-localentry is especially dangerous without ld.so support to detect ABI violations.\n"
+msgstr "%P: aviso: --plt-localentry Ã© particularmente perigosa sem suporte ld.so para detectar violaÃ§Ãµes ABI.\n"
+
+#: elf64-ppc.c:8456
+msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
+msgstr "%H __tls_get_addr perdeu arg, optimizaÃ§Ã£o TLS desactivada\n"
+
+#: elf64-ppc.c:8800 elf64-ppc.c:9437
+#, c-format
+msgid "%s defined on removed toc entry"
+msgstr "%s defenido em entrada toc removida"
+
+#: elf64-ppc.c:9165
+#, c-format
+msgid "%H: toc optimization is not supported for %s instruction.\n"
+msgstr "%H: optimizaÃ§Ã£o toc nÃ£o Ã© suportada para instreuÃ§Ãµes %s.\n"
+
+#: elf64-ppc.c:9394
+#, c-format
+msgid "%H: %s references optimized away TOC entry\n"
+msgstr "%H: %s referencia entrada TOC optimizada\n"
+
+#: elf64-ppc.c:10157
+#, c-format
+msgid "warning: discarding dynamic section %s"
+msgstr "aviso: a descartar secÃ§Ã£o dinÃ¢mica %s"
+
+#: elf64-ppc.c:10746
+msgid "%P: cannot find opd entry toc for `%T'\n"
+msgstr "%P: impossÃ­vel encontrar entrada opd toc para \"%T\"\n"
+
+#: elf64-ppc.c:10837
+msgid "%P: long branch stub `%s' offset overflow\n"
+msgstr "%P: transporte em desvio \"%s\" em fictÃ­cio de ramo longo\n"
+
+#: elf64-ppc.c:10896
+msgid "%P: can't find branch stub `%s'\n"
+msgstr "%P: impossÃ­vel encontrar fictÃ­cio de ramo \"%s\"\n"
+
+#: elf64-ppc.c:10960 elf64-ppc.c:11112 elf64-ppc.c:12974
+#, c-format
+msgid "%P: linkage table error against `%T'\n"
+msgstr "%P: erro na tabela de ligaÃ§Ã£o contra \"%T\"\n"
+
+#: elf64-ppc.c:11331
+msgid "%P: can't build branch stub `%s'\n"
+msgstr "%P: impossÃ­vel construir fictÃ­cio de ramo \"%s\"\n"
+
+#: elf64-ppc.c:12104
+#, c-format
+msgid "%B section %A exceeds stub group size"
+msgstr "%B secÃ§Ã£o %A excede tamanho de grupo de fictÃ­cio"
+
+#: elf64-ppc.c:13242
+msgid "%P: stubs don't match calculated size\n"
+msgstr "%P: fictÃ­cios nÃ£o correspondem ao tamanho calculado\n"
+
+#: elf64-ppc.c:13256
+#, c-format
+msgid "linker stubs in %u group\n"
+msgid_plural "linker stubs in %u groups\n"
+msgstr[0] "fictÃ­cios de linker em grupo %u\n"
+msgstr[1] "fictÃ­cios de linker em grupos %u\n"
+
+#: elf64-ppc.c:13260
+#, c-format
+msgid ""
+"  branch       %lu\n"
+"  toc adjust   %lu\n"
+"  long branch  %lu\n"
+"  long toc adj %lu\n"
+"  plt call     %lu\n"
+"  plt call toc %lu\n"
+"  global entry %lu"
+msgstr ""
+"  ramo           %lu\n"
+"  ajuste toc     %lu\n"
+"  ramo longo     %lu\n"
+"  aj. toc longo  %lu\n"
+"  chamada plt    %lu\n"
+"  toc cham. plt  %lu\n"
+"  entrada global %lu"
+
+#: elf64-ppc.c:13579
+#, c-format
+msgid "%H: %s used with TLS symbol `%T'\n"
+msgstr "%H: %s usado com sÃ­mbolo TLS \"%T\"\n"
+
+#: elf64-ppc.c:13581
+#, c-format
+msgid "%H: %s used with non-TLS symbol `%T'\n"
+msgstr "%H: %s usado com sÃ­mbolo nÃ£o-TLS \"%T\"\n"
+
+#: elf64-ppc.c:14191
+#, c-format
+msgid "%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC\n"
+msgstr "%H: chamada a \"%T\" com nop em falta, impossÃ­vel restaurar toc; recompile com -fPIC\n"
+
+#: elf64-ppc.c:14197
+#, c-format
+msgid "%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)\n"
+msgstr "%H: chamada a \"%T\" com nop em falta, impossÃ­vel restaurar toc; (-mcmodel=small toc adjust stub)\n"
+
+#: elf64-ppc.c:14325
+#, c-format
+msgid "%P: %B: unknown relocation type %d for `%T'\n"
+msgstr "%P: %B: tipo de relocalizaÃ§Ã£o %d desconhecido para \"%T\"\n"
+
+#: elf64-ppc.c:14874
+#, c-format
+msgid "%H: %s for indirect function `%T' unsupported\n"
+msgstr "%H: %s para funÃ§Ã£o indirecta \"%T\" nÃ£o suportado\n"
+
+#: elf64-ppc.c:14986
+#, c-format
+msgid "%P: %B: %s is not supported for `%T'\n"
+msgstr "%P: %B: %s nÃ£o Ã© suportado para \"%T\"\n"
+
+#: elf64-ppc.c:15169
+#, c-format
+msgid "%H: error: %s not a multiple of %u\n"
+msgstr "%H: erro: %s nÃ£o Ã© mÃºltiplo de %u\n"
+
+#: elf64-ppc.c:15191
+#, c-format
+msgid "%H: unresolvable %s against `%T'\n"
+msgstr "%H: %s insolÃºvel contra \"%T\"\n"
+
+#: elf64-ppc.c:15288
+#, c-format
+msgid "%H: %s against `%T': error %d\n"
+msgstr "%H: %s contra \"%T\": erro %d\n"
+
+#: elf64-ppc.c:15678 elf64-ppc.c:15697
+msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
+msgstr "%P: desvio %s muito grande para codificaÃ§Ã£o .eh_frame sdata4"
+
+#: elf64-s390.c:2533
+msgid "%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)"
+msgstr "%B: \"%s\" reloc nÃ£o-PLT para sÃ­mbolo definido em biblioteca partilhada e acedido a partir de executÃ¡vel (reconstrua o ficheiro com -fPIC ?)"
+
+#: elf64-sh64.c:1680
+#, c-format
+msgid "%B: error: unaligned relocation type %d at %08Lx reloc %08Lx"
+msgstr "%B: erro: tipo de relocalizaÃ§Ã£o %d desalinhado em %08Lx reloc %08Lx"
+
+#: elf64-sparc.c:460
+msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER"
+msgstr "%B: sÃ³ registos %%g[2367] podem ser declarados usando STT_REGISTER"
+
+#: elf64-sparc.c:481
+#, c-format
+msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B"
+msgstr "Registo %%g%d usa incompatibilidade: %s em %B, previamente %s em %B"
+
+#: elf64-sparc.c:505
+#, c-format
+msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B"
+msgstr "SÃ­mbolo \"%s\" tem tipos diferentes: REGISTER em %B, previamente %s em %B"
+
+#: elf64-sparc.c:552
+#, c-format
+msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B"
+msgstr "SÃ­mbolo \"%s\" tem tipos diferentes: %s em %B, previamente REGISTER em %B"
+
+#: elf64-sparc.c:707
+msgid "%B: linking UltraSPARC specific with HAL specific code"
+msgstr "%B: a ligar especÃ­fico UltraSPARC com cÃ³digo especÃ­fico HAL"
+
+#: elf64-x86-64.c:1370
+msgid "hidden symbol "
+msgstr "sÃ­mbolo oculto "
+
+#: elf64-x86-64.c:1373
+msgid "internal symbol "
+msgstr "sÃ­mbolo interno "
+
+#: elf64-x86-64.c:1376 elf64-x86-64.c:1380
+msgid "protected symbol "
+msgstr "sÃ­mbolo protegido "
+
+#: elf64-x86-64.c:1382
+msgid "symbol "
+msgstr "sÃ­mbolo "
+
+#: elf64-x86-64.c:1383 elf64-x86-64.c:1393
+msgid "; recompile with -fPIC"
+msgstr "; recompile com -fPIC"
+
+#: elf64-x86-64.c:1388
+msgid "undefined "
+msgstr "indefinido"
+
+#: elf64-x86-64.c:1397
+msgid "a shared object"
+msgstr "um objecto partilhado"
+
+#: elf64-x86-64.c:1399
+msgid "a PIE object"
+msgstr "um objecto PIE"
+
+#: elf64-x86-64.c:1401
+msgid "a PDE object"
+msgstr "um objecto PDE"
+
+#: elf64-x86-64.c:1404
+#, c-format
+msgid "%B: relocation %s against %s%s`%s' can not be used when making %s%s"
+msgstr "%B: relocalizaÃ§Ã£o %s contra %s%s\"%s\" nÃ£o pode ser usada ao fazer %s%s"
+
+#: elf64-x86-64.c:1889
+#, c-format
+msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
+msgstr "%B: relocalizaÃ§Ã£o %s contra sÃ­mbolo \"%s\" nÃ£o Ã© suportada em modo x32"
+
+#: elf64-x86-64.c:2027
+#, c-format
+msgid "%B: '%s' accessed both as normal and thread local symbol"
+msgstr "%B: \"%s\" acedido como sÃ­mbolo local normal e thread em simultÃ¢neo"
+
+#: elf64-x86-64.c:2651
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5040
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %Ld"
+msgstr "%B: relocalizaÃ§Ã£o %s contra STT_GNU_IFUNC sÃ­mbolo \"%s\" tem adenda nÃ£o-zero: %Ld"
+
+#: elf64-x86-64.c:2888
+#, c-format
+msgid "%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object"
+msgstr "%B: relocalizaÃ§Ã£o R_X86_64_GOTOFF64 contra  %s \"%s\" indefinido nÃ£o pode ser usado ao fazer um objecto partilhado"
+
+#: elf64-x86-64.c:2902
+#, c-format
+msgid "%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object"
+msgstr "%B: relocalizaÃ§Ã£o R_X86_64_GOTOFF64 contra %s \"%s\" protegido nÃ£o pode ser usado ao fazer um objecto partilhado"
+
+#: elf64-x86-64.c:3153
+#, c-format
+msgid "%B: addend %s%#x in relocation %s against symbol `%s' at %#Lx in section `%A' is out of range"
+msgstr "%B: adenda %s%#x em relocalizaÃ§Ã£o %s contra sÃ­mbolo \"%s\" em %#Lx na secÃ§Ã£o \"%A\" estÃ¡ fora do intervalo"
+
+#: elf64-x86-64.c:3828
+msgid "%F%P: failed to convert GOTPCREL relocation; relink with --no-relax\n"
+msgstr "%F%P: falha ao converter relocalizaÃ§Ã£o GOTPCREL; religue com --no-relax\n"
+
+#: elf64-x86-64.c:3986
+#, c-format
+msgid "%F%B: PC-relative offset overflow in PLT entry for `%s'\n"
+msgstr "%F%B: transporte de desvio PC-relative em entrada PLT para \"%s\"\n"
+
+#: elf64-x86-64.c:4049
+#, c-format
+msgid "%F%B: branch displacement overflow in PLT entry for `%s'\n"
+msgstr "%F%B: transporte em deslocamento do ramo em entrada PLT para \"%s\n"
+
+#: elf64-x86-64.c:4102
+#, c-format
+msgid "%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n"
+msgstr "%F%B: transporte de desvio PC-relative em entrada GOT PLT para \"%s\"\n"
+
+#: elfcode.h:760
+msgid "warning: %B has a corrupt string table index - ignoring"
+msgstr "aviso: %B tem um Ã­ndice de tabela de cadeia corrompido - a ignorar"
+
+#: elfcode.h:1199
+#, c-format
+msgid "%B: version count (%Ld) does not match symbol count (%ld)"
+msgstr "%B: nÂº de versÃ£o (%Ld) nÃ£o corresponde ao nÂº de sÃ­mbolos (%ld)"
+
+#: elfcode.h:1456
+#, c-format
+msgid "%B(%A): relocation %d has invalid symbol index %ld"
+msgstr "%B(%A): relocalizaÃ§Ã£o %d tem Ã­ndice de sÃ­mbolos invÃ¡lido %ld"
+
+#: elfcore.h:300
+#, c-format
+msgid "warning: %B is truncated: expected core file size >= %Lu, found: %llu"
+msgstr "aviso: %B estÃ¡ truncado: esperado tamanho do ficheiro de nÃºcleo >= %Lu, obtido: %llu"
+
+#: elflink.c:1353
+#, c-format
+msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"
+msgstr "%s: definiÃ§Ã£o TLS em secÃ§Ã£o %B %A nÃ£o corresponde a definiÃ§Ã£o nÃ£o-TLS em secÃ§Ã£o %B %A"
+
+#: elflink.c:1359
+#, c-format
+msgid "%s: TLS reference in %B mismatches non-TLS reference in %B"
+msgstr "%s: referÃªncia TLS em %B nÃ£o corresponde a referÃªncia nÃ£o-TLS em %B"
+
+#: elflink.c:1365
+#, c-format
+msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B"
+msgstr "%s: definiÃ§Ã£o TLS em secÃ§Ã£o %B %A nÃ£o corresponde a referÃªncia nÃ£o-TLS em %B"
+
+#: elflink.c:1371
+#, c-format
+msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A"
+msgstr "%s: referÃªncia TLS em %B nÃ£o corresponde a definiÃ§Ã£o nÃ£o-TLS em secÃ§Ã£o %B %A"
+
+#: elflink.c:2052
+#, c-format
+msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
+msgstr "%B: redefiniÃ§Ã£o de sÃ­mbolo com versÃ£o indirecto \"%s\" inesperada"
+
+#: elflink.c:2345
+#, c-format
+msgid "%B: version node not found for symbol %s"
+msgstr "%B: nÃ³ de versÃ£o nÃ£o encontrado para sÃ­mbolo %s"
+
+#: elflink.c:2434
+#, c-format
+msgid "%B: bad reloc symbol index (%#Lx >= %#lx) for offset %#Lx in section `%A'"
+msgstr "%B: mau Ã­ndice de sÃ­mbolo de reloc (%#Lx >= %#lx) para desvio %#Lx na secÃ§Ã£o \"%A\""
+
+#: elflink.c:2446
+#, c-format
+msgid "%B: non-zero symbol index (%#Lx) for offset %#Lx in section `%A' when the object file has no symbol table"
+msgstr "%B: Ã­ndice de sÃ­mbolo nÃ£o-zero (%#Lx) para desvio %#Lx na secÃ§Ã£o \"%A\" onde o ficheiro objecto nÃ£o tem tabela de sÃ­mbolo"
+
+#: elflink.c:2637
+#, c-format
+msgid "%B: relocation size mismatch in %B section %A"
+msgstr "%B: tamanho de relocalizaÃ§Ã£o trocado na secÃ§Ã£o %B %A"
+
+#: elflink.c:2955
+#, c-format
+msgid "warning: type and size of dynamic symbol `%s' are not defined"
+msgstr "aviso: tipo e tamanho do sÃ­mbolo dinÃ¢mico \"%s\" nÃ£o estÃ£o definidos"
+
+#: elflink.c:3017
+msgid "%P: copy reloc against protected `%T' is dangerous\n"
+msgstr "%P: cÃ³pia de reloc contra \"%T\" protegido Ã© perigosa\n"
+
+#: elflink.c:3818
+#, c-format
+msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
+msgstr "%P: encontrado cÃ³digo mÃ¡quina ELF alternativo (%d) em %B, esperado %d\n"
+
+#: elflink.c:4484
+#, c-format
+msgid "%B: %s: invalid version %u (max %d)"
+msgstr "%B: %s: versÃ£o %u invÃ¡lida (mÃ¡x %d)"
+
+#: elflink.c:4521
+#, c-format
+msgid "%B: %s: invalid needed version %d"
+msgstr "%B: %s: versÃ£o necessÃ¡ria %d invÃ¡lida"
+
+#: elflink.c:4932
+#, c-format
+msgid "%B: undefined reference to symbol '%s'"
+msgstr "%B: referÃªncia indefinida a sÃ­mbolo \"%s\""
+
+#: elflink.c:6008
+#, c-format
+msgid "%B: stack size specified and %s set"
+msgstr "%B: tamanho de stack especificado e definido como %s"
+
+#: elflink.c:6012
+#, c-format
+msgid "%B: %s not absolute"
+msgstr "%B: %s nÃ£o absoluto"
+
+#: elflink.c:6209
+#, c-format
+msgid "%s: undefined version: %s"
+msgstr "%s: versÃ£o indefinida: %s"
+
+#: elflink.c:6780
+msgid "%B: .preinit_array section is not allowed in DSO"
+msgstr "%B: secÃ§Ã£o .preinit_array nÃ£o Ã© permitida em DSO"
+
+#: elflink.c:8217
+#, c-format
+msgid "undefined %s reference in complex symbol: %s"
+msgstr "referÃªncia %s indefinida em sÃ­mbolo complexo: %s"
+
+#: elflink.c:8372
+#, c-format
+msgid "unknown operator '%c' in complex symbol"
+msgstr "operador \"%c\" desconhecido em sÃ­mbolo complexo"
+
+#. PR 21524: Let the user know if a symbol was removed by garbage collection.
+#: elflink.c:8710
+msgid "%B:%A: error: relocation references symbol %s which was removed by garbage collection."
+msgstr "%B:%A: erro: relocalizaÃ§Ã£o referencia sÃ­mbolo %s que foi removido pela recolha de lixo."
+
+#: elflink.c:8713
+msgid "%B:%A: error: try relinking with --gc-keep-exported enabled."
+msgstr "%B:%A: erro: tente religar com --gc-keep-exported activado."
+
+#: elflink.c:8949 elflink.c:8967 elflink.c:9006 elflink.c:9024
+msgid "%B: Unable to sort relocs - they are in more than one size"
+msgstr "%B: impossÃ­vel ordenar relocs - tÃªm mais de um tamanho"
+
+#. The section size is not divisible by either -
+#. something is wrong.
+#: elflink.c:8983 elflink.c:9040
+msgid "%B: Unable to sort relocs - they are of an unknown size"
+msgstr "%B: impossÃ­vel ordenar relocs - tÃªm um tamanho desconhecido"
+
+#: elflink.c:9092
+msgid "Not enough memory to sort relocations"
+msgstr "Sem memÃ³ria suficiente para ordenar relocalizaÃ§Ãµes"
+
+#: elflink.c:9360
+#, c-format
+msgid "%B: Too many sections: %d (>= %d)"
+msgstr "%B: demasiadas secÃ§Ãµes: %d (>= %d)"
+
+#: elflink.c:9640
+#, c-format
+msgid "%B: internal symbol `%s' in %B is referenced by DSO"
+msgstr "%B: sÃ­mbolo \"%s\" interno em %B Ã© referenciado por DSO"
+
+#: elflink.c:9643
+#, c-format
+msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
+msgstr "%B: sÃ­mbolo \"%s\" oculto em %B Ã© referenciado por DSO"
+
+#: elflink.c:9646
+#, c-format
+msgid "%B: local symbol `%s' in %B is referenced by DSO"
+msgstr "%B: sÃ­mbolo \"%s\" local em %B Ã© referenciado por DSO"
+
+#: elflink.c:9732
+#, c-format
+msgid "%B: could not find output section %A for input section %A"
+msgstr "%B: impossÃ­vel encontrar a secÃ§Ã£o de saÃ­da %A para a secÃ§Ã£o de entrada %A"
+
+#: elflink.c:9886
+#, c-format
+msgid "%B: protected symbol `%s' isn't defined"
+msgstr "%B: sÃ­mbolo \"%s\" protegido nÃ£o estÃ¡ definido"
+
+#: elflink.c:9889
+#, c-format
+msgid "%B: internal symbol `%s' isn't defined"
+msgstr "%B: sÃ­mbolo \"%s\" nÃ£o estÃ¡ definido"
+
+#: elflink.c:9892
+#, c-format
+msgid "%B: hidden symbol `%s' isn't defined"
+msgstr "%B: sÃ­mbolo \"%s\" oculto nÃ£o estÃ¡ definido"
+
+#: elflink.c:9923
+#, c-format
+msgid "%B: No symbol version section for versioned symbol `%s'"
+msgstr "%B: sem secÃ§Ã£o de versÃ£o de sÃ­mbolo para o sÃ­mbolo com versÃ£o \"%s\""
+
+#: elflink.c:10533
+#, c-format
+msgid "error: %B: size of section %A is not multiple of address size"
+msgstr "erro: %B: tamanho da secÃ§Ã£o %A nÃ£o Ã© mÃºltiplo do tamanho do endereÃ§o"
+
+#: elflink.c:10578
+#, c-format
+msgid "error: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbol"
+msgstr "erro: %B contÃ©m uma reloc (%#Lx) para a secÃ§Ã£o %A que referencia um sÃ­mbolo global inexistente"
+
+#: elflink.c:11333
+#, c-format
+msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
+msgstr "%A tem secÃ§Ãµes ordenadas [\"%A\" em %B] e desordenadas [\"%A\" em %B] em simultÃ¢neo"
+
+#: elflink.c:11339
+#, c-format
+msgid "%A has both ordered and unordered sections"
+msgstr "%A tem secÃ§Ãµes ordenadas e desordenadas em simultÃ¢neo"
+
+#: elflink.c:11441
+msgid "%B: no symbol found for import library"
+msgstr "%B: sem sÃ­mbolo para biblioteca de importaÃ§Ã£o"
+
+#: elflink.c:12063
+#, c-format
+msgid "%B: file class %s incompatible with %s"
+msgstr "%B: classe de ficheiro %s incompatÃ­vel com %s"
+
+#: elflink.c:12280
+msgid "%B: failed to generate import library"
+msgstr "%B: falha ao gerar biblioteca de importaÃ§Ã£o"
+
+#: elflink.c:12399
+#, c-format
+msgid "warning: %s section has zero size"
+msgstr "aviso: secÃ§Ã£o %s tem tamanho zero"
+
+#: elflink.c:12447
+#, c-format
+msgid "warning: section '%s' is being made into a note"
+msgstr "aviso: a secÃ§Ã£o \"%s\" estÃ¡ a ser tornada numa nota"
+
+#: elflink.c:12539
+msgid "%P%X: read-only segment has dynamic relocations.\n"
+msgstr "%P%X: segmento sÃ³ de leitura tem relocalizaÃ§Ãµes dinÃ¢micas.\n"
+
+#: elflink.c:12542
+msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
+msgstr "%P: aviso: a criar uma DT_TEXTREL num objecto partilhado.\n"
+
+#: elflink.c:12667
+msgid "%P%X: can not read symbols: %E\n"
+msgstr "%P%X: impossÃ­vel ler os sÃ­mbolos: %E\n"
+
+#: elflink.c:12829
+msgid "%F%P: corrupt input: %B\n"
+msgstr "%F%P: entrada corrupta: %B\n"
+
+#: elflink.c:13495
+#, c-format
+msgid "%B: %A+%#Lx: No symbol found for INHERIT"
+msgstr "%B: %A+%#Lx: sem sÃ­mbolo para INHERIT"
+
+#: elflink.c:13671
+#, c-format
+msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
+msgstr "INPUT_SECTION_FLAG %s nÃ£o reconhecida\n"
+
+#: elfxx-mips.c:1444
+msgid "static procedure (no name)"
+msgstr "procedimento estÃ¡tico (sem nome)"
+
+#: elfxx-mips.c:5628
+msgid "MIPS16 and microMIPS functions cannot call each other"
+msgstr "funÃ§Ãµes MIPS16 e microMIPS nÃ£o se podem chamar entre si"
+
+#: elfxx-mips.c:6376
+msgid "%X%H: Unsupported JALX to the same ISA mode\n"
+msgstr "%X%H: JALX nÃ£o suportado para o mesmo modo ISA\n"
+
+#: elfxx-mips.c:6409
+msgid "%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled\n"
+msgstr "%X%H: salto nÃ£o suportado entre modos ISA; considere recompilar com interlinking activado\n"
+
+#: elfxx-mips.c:6454
+msgid "%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range\n"
+msgstr "%X%H: impossÃ­vel converter ramo entre modos ISA para JALX: relocalizaÃ§Ã£o fora do intervalo\n"
+
+#: elfxx-mips.c:6466
+msgid "%X%H: Unsupported branch between ISA modes\n"
+msgstr "%X%H: ramo nÃ£o suportado entre modos ISA\n"
+
+#: elfxx-mips.c:7144 elfxx-mips.c:7379
+#, c-format
+msgid "%B: Warning: bad `%s' option size %u smaller than its header"
+msgstr "%B: aviso: mau tamanho de opÃ§Ã£o \"%s\" %u menor que o seu cabeÃ§alho"
+
+#: elfxx-mips.c:8135 elfxx-mips.c:8261
+#, c-format
+msgid "%B: Warning: cannot determine the target function for stub section `%s'"
+msgstr "%B: aviso: impossÃ­vel determinar a funÃ§Ã£o alvo para secÃ§Ã£o fictÃ­cia \"%s\""
+
+#: elfxx-mips.c:8393
+#, c-format
+msgid "%B: Malformed reloc detected for section %s"
+msgstr "%B: reloc mal formada detectada para secÃ§Ã£o %s"
+
+#: elfxx-mips.c:8465
+#, c-format
+msgid "%B: GOT reloc at %#Lx not expected in executables"
+msgstr "%B: reloc GOT em %#Lx nÃ£o esperada em executÃ¡veis"
+
+#: elfxx-mips.c:8603
+#, c-format
+msgid "%B: CALL16 reloc at %#Lx not against global symbol"
+msgstr "%B: reloc CALL16 em %#Lx nÃ£o contra sÃ­mbolo global"
+
+#: elfxx-mips.c:9226
+#, c-format
+msgid "non-dynamic relocations refer to dynamic symbol %s"
+msgstr "relocalizaÃ§Ãµes nÃ£o-dinÃ¢micas referem-se a sÃ­mbolo dinÃ¢mico %s"
+
+#: elfxx-mips.c:10146
+#, c-format
+msgid "%B: Can't find matching LO16 reloc against `%s' for %s at %#Lx in section `%A'"
+msgstr "%B: impossÃ­vel encontrar reloc LO16 correspondente contra \"%s\" para %s em %#Lx na secÃ§Ã£o \"%A\""
+
+#: elfxx-mips.c:10286
+msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
+msgstr "secÃ§Ã£o small-data excede 64KB; baixe o limite de tamanho de small-data (veja a opÃ§Ã£o -G)"
+
+#: elfxx-mips.c:10305
+msgid "Cannot convert a jump to JALX for a non-word-aligned address"
+msgstr "ImpossÃ­vel converter um salto para JALX para um endereÃ§o nÃ£o alinhado por word"
+
+#: elfxx-mips.c:10308
+msgid "Jump to a non-word-aligned address"
+msgstr "Salto para um endereÃ§o nÃ£o alinhado por word"
+
+#: elfxx-mips.c:10309
+msgid "Jump to a non-instruction-aligned address"
+msgstr "Salto para um endereÃ§o nÃ£o alinhado por instruÃ§Ã£o"
+
+#: elfxx-mips.c:10312
+msgid "Cannot convert a branch to JALX for a non-word-aligned address"
+msgstr "ImpossÃ­vel converter um ramo para JALX para um endereÃ§o nÃ£o alinhado por word"
+
+#: elfxx-mips.c:10314
+msgid "Branch to a non-instruction-aligned address"
+msgstr "Ramo para um endereÃ§o nÃ£o alinhado por instruÃ§Ã£o"
+
+#: elfxx-mips.c:10316
+msgid "PC-relative load from unaligned address"
+msgstr "Carga PC-relative de endereÃ§o nÃ£o alinhado"
+
+#: elfxx-mips.c:10690 elfxx-mips.c:11258
+#, c-format
+msgid "%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC"
+msgstr "%B: desvio \"%A\" de %Ld de \"%A\" alÃ©m do intervalo de ADDIUPC"
+
+#: elfxx-mips.c:14121
+#, c-format
+msgid "%B: Unknown architecture %s"
+msgstr "%B: arquitectura desconhecida %s"
+
+#: elfxx-mips.c:14380
+msgid "%B: .reginfo section size should be %d bytes, actual size is %d"
+msgstr "%B: tamanho da secÃ§Ã£o .reginfo devia ser %d bytes, tamanho actual Ã© %d"
+
+#: elfxx-mips.c:14659
+#, c-format
+msgid "%B: illegal section name `%A'"
+msgstr "%B: nome de secÃ§Ã£o ilegal \"%A\""
+
+#: elfxx-mips.c:14936
+msgid "%B: warning: linking abicalls files with non-abicalls files"
+msgstr "%B: aviso: a ligar ficheiros abicalls com ficheiros nÃ£o-abicalls"
+
+#: elfxx-mips.c:14953
+msgid "%B: linking 32-bit code with 64-bit code"
+msgstr "%B: a ligar cÃ³digo 32-bit com cÃ³digo 64-bit"
+
+#: elfxx-mips.c:14985 elfxx-mips.c:15051 elfxx-mips.c:15066
+#, c-format
+msgid "%B: linking %s module with previous %s modules"
+msgstr "%B: a ligar mÃ³dulo %s com mÃ³dulos prÃ©vios %s"
+
+#: elfxx-mips.c:15009
+#, c-format
+msgid "%B: ABI mismatch: linking %s module with previous %s modules"
+msgstr "%B: troca ABI: a ligar mÃ³dulo %s com mÃ³dulos prÃ©vios %s"
+
+#: elfxx-mips.c:15034
+#, c-format
+msgid "%B: ASE mismatch: linking %s module with previous %s modules"
+msgstr "%B: troca ASE: a ligar mÃ³dulo %s com mÃ³dulos prÃ©vios %s"
+
+#: elfxx-mips.c:15168
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %d"
+msgstr "Aviso: %B usa vÃ­rgula flutuante ABI %d desconhecida (definida por %B), %B usa vÃ­rgula flutuante ABI %d desconhecida"
+
+#: elfxx-mips.c:15174
+#, c-format
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses %s"
+msgstr "Aviso: %B usa vÃ­rgula flutuante ABI %d desconhecida (definida por %B), %B usa %s"
+
+#: elfxx-mips.c:15180
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses unknown floating point ABI %d"
+msgstr "Abiso: %B usa %s (definida por %B), %B usa vÃ­rgula flutuante ABI %d desconhecida"
+
+#: elfxx-mips.c:15194
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses %s"
+msgstr "Aviso: %B usa %s (definida por %B), %B usa %s"
+
+#: elfxx-mips.c:15213
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses unknown MSA ABI %d"
+msgstr "Aviso: %B usa %s (definida por %B), %B usa MSA ABI %d desconhecida"
+
+#: elfxx-mips.c:15225
+#, c-format
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses %s"
+msgstr "Aviso: %B usa MSA ABI %d desconhecida (definida por %B), %B usa %s"
+
+#: elfxx-mips.c:15234
+#, c-format
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %d"
+msgstr "Aviso: %B usa MSA ABI %d desconhecida (definida por %B), %B usa MSA ABI %d desconhecida"
+
+#: elfxx-mips.c:15296
+msgid "%B: endianness incompatible with that of the selected emulation"
+msgstr "%B: endianness incompatÃ­vel com a da emulaÃ§Ã£o seleccionada"
+
+#: elfxx-mips.c:15310
+msgid "%B: ABI is incompatible with that of the selected emulation"
+msgstr "%B: ABI incompatÃ­vel com a da emulaÃ§Ã£o seleccionada"
+
+#: elfxx-mips.c:15362
+msgid "%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags"
+msgstr "%B: aviso: ISA inconsistente entre e_flags e .MIPS.abiflags"
+
+#: elfxx-mips.c:15367
+msgid "%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
+msgstr "%B: aviso: FP ABI inconsistente entre .gnu.attributes e .MIPS.abiflags"
+
+#: elfxx-mips.c:15371
+msgid "%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags"
+msgstr "%B: aviso: ASEs inconsistente entre e_flags e .MIPS.abiflags"
+
+#: elfxx-mips.c:15378
+msgid "%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags"
+msgstr "%B: aviso: extensÃµes ISA inconsistentes entre e_flags e .MIPS.abiflags"
+
+#: elfxx-mips.c:15382
+msgid "%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
+msgstr "%B: aviso: bandeira inesperada no campo flags2 de .MIPS.abiflags (0x%lx)"
+
+#: elfxx-mips.c:15571
+msgid "-mips32r2 -mfp64 (12 callee-saved)"
+msgstr "-mips32r2 -mfp64 (12 callee-saved)"
+
+#: elfxx-mips.c:15621 elfxx-mips.c:15632
+msgid "None"
+msgstr "Nenhum"
+
+#: elfxx-mips.c:15623 elfxx-mips.c:15695
+msgid "Unknown"
+msgstr "Desconhecido"
+
+#: elfxx-mips.c:15706
+#, c-format
+msgid "Hard or soft float\n"
+msgstr "Flutuante rÃ­gido ou suave\n"
+
+#: elfxx-mips.c:15709
+#, c-format
+msgid "Hard float (double precision)\n"
+msgstr "Flutuante rÃ­gido (precisÃ£o dupla)\n"
+
+#: elfxx-mips.c:15712
+#, c-format
+msgid "Hard float (single precision)\n"
+msgstr "Flutuante rÃ­gido (precisÃ£o simples)\n"
+
+#: elfxx-mips.c:15715
+#, c-format
+msgid "Soft float\n"
+msgstr "Flutuante suave\n"
+
+#: elfxx-mips.c:15718
+#, c-format
+msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
+msgstr "Flutuante rÃ­gido (MIPS32r2 64-bit FPU 12 callee-saved)\n"
+
+#: elfxx-mips.c:15721
+#, c-format
+msgid "Hard float (32-bit CPU, Any FPU)\n"
+msgstr "Flutuante rÃ­gido (32-bit CPU, qualquer FPU)\n"
+
+#: elfxx-mips.c:15724
+#, c-format
+msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
+msgstr "Flutuante rÃ­gido (32-bit CPU, 64-bit FPU)\n"
+
+#: elfxx-mips.c:15727
+#, c-format
+msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
+msgstr "Comp. flutuante rÃ­gido (32-bit CPU, 64-bit FPU)\n"
+
+#: elfxx-mips.c:15759
+#, c-format
+msgid " [abi=O32]"
+msgstr " [abi=O32]"
+
+#: elfxx-mips.c:15761
+#, c-format
+msgid " [abi=O64]"
+msgstr " [abi=O64]"
+
+#: elfxx-mips.c:15763
+#, c-format
+msgid " [abi=EABI32]"
+msgstr " [abi=EABI32]"
+
+#: elfxx-mips.c:15765
+#, c-format
+msgid " [abi=EABI64]"
+msgstr " [abi=EABI64]"
+
+#: elfxx-mips.c:15767
+#, c-format
+msgid " [abi unknown]"
+msgstr " [abi desconhecida]"
+
+#: elfxx-mips.c:15769
+#, c-format
+msgid " [abi=N32]"
+msgstr " [abi=N32]"
+
+#: elfxx-mips.c:15771
+#, c-format
+msgid " [abi=64]"
+msgstr " [abi=64]"
+
+#: elfxx-mips.c:15773
+#, c-format
+msgid " [no abi set]"
+msgstr " [sem abi definida]"
+
+#: elfxx-mips.c:15798
+#, c-format
+msgid " [unknown ISA]"
+msgstr " [ISA desconhecida]"
+
+#: elfxx-mips.c:15818
+#, c-format
+msgid " [not 32bitmode]"
+msgstr " [nÃ£o 32bitmode]"
+
+#: elfxx-riscv.c:955
+#, c-format
+msgid "unrecognized relocation (0x%x)"
+msgstr "relocalizaÃ§Ã£o nÃ£o reconhecida (0x%x)"
+
+#: elfxx-sparc.c:639
+#, c-format
+msgid "invalid relocation type %d"
+msgstr "tipo de relocalizaÃ§Ã£o %d invÃ¡lido"
+
+#: elfxx-sparc.c:3129
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5024
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
+msgstr "%B: relocalizaÃ§Ã£o %s contra sÃ­mbolo STT_GNU_IFUNC \"%s\" nÃ£o Ã© gerido por %s"
+
+#: elfxx-tilegx.c:4241
+#, c-format
+msgid "%B: Cannot link together %s and %s objects."
+msgstr "%B: impossÃ­vel ligar objectos %s e %s."
+
+#: elfxx-x86.c:570
+#, c-format
+msgid "%P: %B: warning: relocation against `%s' in read-only section `%A'\n"
+msgstr "%P: %B: aviso: relocalizaÃ§Ã£o contra \"%s\" em secÃ§Ã£o sÃ³ de leitura \"%A\"\n"
+
+#: elfxx-x86.c:954
+msgid "%P: %B: warning: relocation in read-only section `%A'\n"
+msgstr "%P: %B: aviso: relocalizaÃ§Ã£o em secÃ§Ã£o sÃ³ de leitura \"%A\"\n"
+
+#: elfxx-x86.c:1287
+msgid "%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
+msgstr "%P%X: segmento sÃ³ de leitura tem relocalizaÃ§Ãµes dinÃ¢micas IFUNC; recompile com -fPIC\n"
+
+#: elfxx-x86.c:2241
+msgid "error: %B: <corrupt x86 ISA used size: 0x%x>"
+msgstr "erro: %B: <tamanho ISA x86 corrupto: 0x%x>"
+
+#: elfxx-x86.c:2243
+msgid "error: %B: <corrupt x86 ISA needed size: 0x%x>"
+msgstr "erro: %B: <tamanho necessÃ¡rio x86 ISA corrupto: 0x%x>"
+
+#: elfxx-x86.c:2244
+msgid "error: %B: <corrupt x86 feature size: 0x%x>"
+msgstr "erro: %B: <tamanho de funcionalidade x86 corrupto: 0x%x>"
+
+#: elfxx-x86.c:2416
+msgid "%F%P: failed to create GNU property section\n"
+msgstr "%F%P: falha ao criar secÃ§Ã£o de propriedade GNU\n"
+
+#: elfxx-x86.c:2421
+#, c-format
+msgid "%F%A: failed to align section\n"
+msgstr "%F%A: falha ao alinhar secÃ§Ã£o\n"
+
+#: elfxx-x86.c:2571
+msgid "%F%P: failed to create VxWorks dynamic sections\n"
+msgstr "%F%P: falha ao criar secÃ§Ãµes dinÃ¢micas VxWorks \n"
+
+#: elfxx-x86.c:2580
+msgid "%F%P: failed to create GOT sections\n"
+msgstr "%F%P: falha ao criar secÃ§Ãµes GOT\n"
+
+#: elfxx-x86.c:2598
+msgid "%F%P: failed to create ifunc sections\n"
+msgstr "%F%P: falha ao criar secÃ§Ãµes ifunc\n"
+
+#: elfxx-x86.c:2639
+msgid "%F%P: failed to create GOT PLT section\n"
+msgstr "%F%P: falha ao criar secÃ§Ã£o GOT PLT\n"
+
+#: elfxx-x86.c:2660
+msgid "%F%P: failed to create IBT-enabled PLT section\n"
+msgstr "%F%P: falha ao criar secÃ§Ã£o IBT-enabled PLT\n"
+
+#: elfxx-x86.c:2675
+msgid "%F%P: failed to create BND PLT section\n"
+msgstr "%F%P: falha ao criar secÃ§Ã£o BND PLT\n"
+
+#: elfxx-x86.c:2696
+msgid "%F%P: failed to create PLT .eh_frame section\n"
+msgstr "%F%P: falha ao criar secÃ§Ã£o PLT .eh_frame\n"
+
+#: elfxx-x86.c:2709
+msgid "%F%P: failed to create GOT PLT .eh_frame section\n"
+msgstr "%F%P: falha ao criar secÃ§Ã£o GOT PLT .eh_frame\n"
+
+#: elfxx-x86.c:2723
+msgid "%F%P: failed to create the second PLT .eh_frame section\n"
+msgstr "%F%P: falha ao criar segunda secÃ§Ã£o PLT .eh_frame\n"
+
+#: i386linux.c:416 m68klinux.c:419 sparclinux.c:412
+#, c-format
+msgid "Output file requires shared library `%s'\n"
+msgstr "O ficheiro de saÃ­da requer a biblioteca partilhada \"%s\"\n"
+
+#: i386linux.c:424 m68klinux.c:428 sparclinux.c:421
+#, c-format
+msgid "Output file requires shared library `%s.so.%s'\n"
+msgstr "O ficheiro de saÃ­da requer a biblioteca partilhada \"%s.so.%s\"\n"
+
+#: i386linux.c:611 i386linux.c:661 m68klinux.c:617 m68klinux.c:665
+#: sparclinux.c:608 sparclinux.c:658
+#, c-format
+msgid "Symbol %s not defined for fixups\n"
+msgstr "SÃ­mbolo %s nÃ£o definido para fixups\n"
+
+#: i386linux.c:685 m68klinux.c:689 sparclinux.c:682
+msgid "Warning: fixup count mismatch\n"
+msgstr "Aviso: troca de total de fixups\n"
+
+#: ieee.c:159
+#, c-format
+msgid "%B: string too long (%ld chars, max 65535)"
+msgstr "%B: cadeia muito grande (%ld caracteres, mÃ¡x. 65535)"
+
+#: ieee.c:226
+#, c-format
+msgid "IEEE parser: string length: %#lx longer than buffer: %#lx"
+msgstr "Analisador IEEE: tamanho da cadeia: %#lx maior que o buffer: %#lx"
+
+#: ieee.c:302
+#, c-format
+msgid "%B: unrecognized symbol `%s' flags 0x%x"
+msgstr "%B: sÃ­mbolo \"%s\" nÃ£o reconhecido bandeiras 0x%x"
+
+#: ieee.c:837
+#, c-format
+msgid "%B: unimplemented ATI record %u for symbol %u"
+msgstr "%B: registo ATI %u nÃ£o implementado para sÃ­mbolo %u"
+
+#: ieee.c:862
+#, c-format
+msgid "%B: unexpected ATN type %Ld in external part"
+msgstr "%B: tipo ATN inesperado %Ld em parte externa"
+
+#: ieee.c:884
+msgid "%B: unexpected type after ATN"
+msgstr "%B: tipo inesperado apÃ³s ATN"
+
+#: ihex.c:230
+#, c-format
+msgid "%B:%d: unexpected character `%s' in Intel Hex file"
+msgstr "%B:%d: carÃ¡cter \"%s\" inesperado em ficheiro Intel Hex"
+
+#: ihex.c:338
+#, c-format
+msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)"
+msgstr "%B:%u: mau checksum em ficheiro Intel Hex (esperado %u, obtido %u)"
+
+#: ihex.c:394
+#, c-format
+msgid "%B:%u: bad extended address record length in Intel Hex file"
+msgstr "%B:%u: mau tamanho de registo de endereÃ§o estendido em ficheiro Intel Hex"
+
+#: ihex.c:412
+#, c-format
+msgid "%B:%u: bad extended start address length in Intel Hex file"
+msgstr "%B:%u: mau tamanho de endereÃ§o inicial estendido em ficheiro Intel Hex"
+
+#: ihex.c:430
+#, c-format
+msgid "%B:%u: bad extended linear address record length in Intel Hex file"
+msgstr "%B:%u: mau tamanho de registo em endereÃ§o linear estendido em ficheiro Intel Hex"
+
+#: ihex.c:448
+#, c-format
+msgid "%B:%u: bad extended linear start address length in Intel Hex file"
+msgstr "%B:%u: mau tamanho de endereÃ§o linear inicial estendido em ficheiro Intel Hex"
+
+#: ihex.c:466
+#, c-format
+msgid "%B:%u: unrecognized ihex type %u in Intel Hex file"
+msgstr "%B:%u: tipo ihex nÃ£o reconhecido %u em ficheiro Intel Hex"
+
+#: ihex.c:585
+msgid "%B: internal error in ihex_read_section"
+msgstr "%B: erro interno em ihex_read_section"
+
+#: ihex.c:619
+msgid "%B: bad section length in ihex_read_section"
+msgstr "%B: mau tamanho de secÃ§Ã£o em ihex_read_section"
+
+#: ihex.c:830
+#, c-format
+msgid "%B: address %#Lx out of range for Intel Hex file"
+msgstr "%B: endereÃ§o %#Lx fora do intervalo para ficheiro Intel Hex"
+
+#: libbfd.c:799
+#, c-format
+msgid "%B: unable to get decompressed section %A"
+msgstr "%B: impossÃ­vel obter secÃ§Ã£o %A descomprimida"
+
+#: libbfd.c:963
+#, c-format
+msgid "Deprecated %s called at %s line %d in %s\n"
+msgstr "%s obsoleto chamado em %s linha %d em %s\n"
+
+#: libbfd.c:966
+#, c-format
+msgid "Deprecated %s called\n"
+msgstr "%s obsoleto chamado\n"
+
+#: linker.c:1678
+#, c-format
+msgid "%B: indirect symbol `%s' to `%s' is a loop"
+msgstr "%B: sÃ­mbolo indirecto \"%s\" para \"%s\" Ã© um ciclo"
+
+#: linker.c:2548
+#, c-format
+msgid "Attempt to do relocatable link with %s input and %s output"
+msgstr "Tentativa de fazer ligaÃ§Ã£o relocalizÃ¡vel com entrada %s e saÃ­da %s"
+
+#: linker.c:2834
+#, c-format
+msgid "%B: ignoring duplicate section `%A'\n"
+msgstr "%B: a ignorar secÃ§Ã£o \"%A\" duplicada\n"
+
+#: linker.c:2844 linker.c:2854
+#, c-format
+msgid "%B: duplicate section `%A' has different size\n"
+msgstr "%B: secÃ§Ã£o \"%A\" duplicada tem tamanho diferente\n"
+
+#: linker.c:2863 linker.c:2869
+#, c-format
+msgid "%B: could not read contents of section `%A'\n"
+msgstr "%B: impossÃ­vel ler conteÃºdo da secÃ§Ã£o \"%A\"\n"
+
+#: linker.c:2874
+#, c-format
+msgid "%B: duplicate section `%A' has different contents\n"
+msgstr "%B: secÃ§Ã£o \"%A\" duplicada tem conteÃºdo diferente\n"
+
+#: linker.c:3362
+msgid "%B: compiled for a big endian system and target is little endian"
+msgstr "%B: compilado para um sistema big endian e o alvo Ã© little endian"
+
+#: linker.c:3365
+msgid "%B: compiled for a little endian system and target is big endian"
+msgstr "%B: compilado para um sistema little endian e o alvo Ã© big endian"
+
+#: mach-o.c:779
+msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
+msgstr "bfd_mach_o_canonicalize_symtab: impossÃ­vel carregar sÃ­mbolos"
+
+#: mach-o.c:1981
+msgid "sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands."
+msgstr "desculpe: modtab, toc e extrefsyms ainda nÃ£o estÃ£o implementados para comandos dysymtab."
+
+#: mach-o.c:2424
+#, c-format
+msgid "mach-o: there are too many sections (%u) maximum is 255,\n"
+msgstr "mach-o: hÃ¡ demasiadas secÃ§Ãµes (%u), o mÃ¡ximo Ã© 255,\n"
+
+#: mach-o.c:2531
+#, c-format
+msgid "unable to allocate data for load command %#x"
+msgstr "impossÃ­vel alocar dados para comando de carga %#x"
+
+#: mach-o.c:2636
+#, c-format
+msgid "unable to write unknown load command %#x"
+msgstr "impossÃ­vel escrever comando de carga %#x desconhecido"
+
+#: mach-o.c:2820
+#, c-format
+msgid "section address (%#Lx) below start of segment (%#Lx)"
+msgstr "endereÃ§o de secÃ§Ã£o (%#Lx) abaixo do inÃ­cio do segmento (%#Lx)"
+
+#: mach-o.c:2961
+#, c-format
+msgid "unable to layout unknown load command %#x"
+msgstr "impossÃ­vel dispor comando de carga %#x desconhecido"
+
+#: mach-o.c:3497
+#, c-format
+msgid "bfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 instead"
+msgstr "bfd_mach_o_read_section_32: valor de alinhamento muito grande: %#lx, a usar 32"
+
+#: mach-o.c:3540
+#, c-format
+msgid "bfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 instead"
+msgstr "bfd_mach_o_read_section_64: valor de alinhamento muito grande: %#lx, a usar 32"
+
+#: mach-o.c:3591
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %u"
+msgstr "bfd_mach_o_read_symtab_symbol: impossÃ­vel ler %d bytes em %u"
+
+#: mach-o.c:3610
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)"
+msgstr "bfd_mach_o_read_symtab_symbol: nome fora do intervalo (%lu >= %u)"
+
+#: mach-o.c:3693
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
+msgstr "bfd_mach_o_read_symtab_symbol: sÃ­mbolo \"%s\" especificou secÃ§Ã£o invÃ¡lida %d (mÃ¡x %lu): a definir como indefinida"
+
+#: mach-o.c:3712
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
+msgstr "bfd_mach_o_read_symtab_symbol: sÃ­mbolo \"%s\" especificou campo de tipo invÃ¡lido 0x%x: a definir como indefinida"
+
+#: mach-o.c:3789
+msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
+msgstr "bfd_mach_o_read_symtab_symbols: impossÃ­vel alocar memÃ³ria para sÃ­mbolos"
+
+#: mach-o.c:4762
+msgid "%B: unknown load command %#x"
+msgstr "%B: comando de carga %#x desconhecido"
+
+#: mach-o.c:4953
+#, c-format
+msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
+msgstr "bfd_mach_o_scan: arquitectura desconhecida 0x%lx/0x%lx"
+
+#: mach-o.c:5058
+#, c-format
+msgid "unknown header byte-order value %#x"
+msgstr "valor de cabeÃ§alho byte-order %#x desconhecido"
+
+#: merge.c:868
+#, c-format
+msgid "%B: access beyond end of merged section (%Ld)"
+msgstr "%B: acesso alÃ©m do fim da secÃ§Ã£o unida (%Ld)"
+
+#: mmo.c:468
+#, c-format
+msgid "%B: No core to allocate section name %s\n"
+msgstr "%B: sem nÃºcleo para alocar nome de secÃ§Ã£o %s\n"
+
+#: mmo.c:544
+#, c-format
+msgid "%B: No core to allocate a symbol %d bytes long\n"
+msgstr "%B: sem nÃºcleo para alocar um sÃ­mbolo com %d bytes\n"
+
+#: mmo.c:958
+#, c-format
+msgid "%B: attempt to emit contents at non-multiple-of-4 address %#Lx"
+msgstr "%B: tentativa de emitir conteÃºdo em endereÃ§o nÃ£o mÃºltiplo de 4 %#Lx"
+
+#: mmo.c:1255
+msgid "%B: invalid mmo file: initialization value for $255 is not `Main'\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: valor de initializaÃ§Ã£o para $255 nÃ£o Ã© \"Main\"\n"
+
+#: mmo.c:1402
+#, c-format
+msgid "%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
+msgstr "%B: sequÃªncia de caracteres largos 0x%02X 0x%02X nÃ£o suportada apÃ³s nome de sÃ­mbolo comeÃ§ado por \"%s\"\n"
+
+#: mmo.c:1636
+#, c-format
+msgid "%B: invalid mmo file: unsupported lopcode `%d'\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: lopcode \"%d\" nÃ£o suportado\n"
+
+#: mmo.c:1647
+#, c-format
+msgid "%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: esperado YZ = 1, obtido YZ = %d para lop_quote\n"
+
+#: mmo.c:1685
+#, c-format
+msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: esperado z = 1 ou z = 2, obtido z = %d para lop_loc\n"
+
+#: mmo.c:1736
+#, c-format
+msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: esperado z = 1 ou z = 2, obtido z = %d para lop_fixo\n"
+
+#: mmo.c:1777
+#, c-format
+msgid "%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: esperado y = 0, obtido y = %d para lop_fixrx\n"
+
+#: mmo.c:1788
+#, c-format
+msgid "%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: esperado z = 16 ou z = 24, obtido z = %d para lop_fixrx\n"
+
+#: mmo.c:1813
+#, c-format
+msgid "%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: byte inicial da palavra operando tem de ser 0 ou 1, obtido %d para lop_fixrx\n"
+
+#: mmo.c:1838
+#, c-format
+msgid "%B: cannot allocate file name for file number %d, %d bytes\n"
+msgstr "%B: impossÃ­vel alocar nome de ficheiro para nÃºmero de ficheiro %d, %d bytes\n"
+
+#: mmo.c:1860
+#, c-format
+msgid "%B: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: nÃºmero de ficheiro %d \"%s\", jÃ¡ foi inserido como \"%s\"\n"
+
+#: mmo.c:1874
+#, c-format
+msgid "%B: invalid mmo file: file name for number %d was not specified before use\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: nome de ficheiro para nÃºmero %d nÃ£o foi especificado antes do uso\n"
+
+#: mmo.c:1981
+#, c-format
+msgid "%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: campos y e z de lop_stab nÃ£o-zero, y: %d, z: %d\n"
+
+#: mmo.c:2018
+#, c-format
+msgid "%B: invalid mmo file: lop_end not last item in file\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: lop_end nÃ£o Ã© o Ãºltimo item no ficheiro\n"
+
+#: mmo.c:2032
+#, c-format
+msgid "%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
+msgstr "%B: ficheiro mmo invÃ¡lido: YZ de lop_end (%ld) nÃ£o igual ao nÃºmero de tetras para o lop_stab (%ld) precedente\n"
+
+#: mmo.c:2743
+#, c-format
+msgid "%B: invalid symbol table: duplicate symbol `%s'\n"
+msgstr "%B: tabela de sÃ­mbolo invÃ¡lida: sÃ­mbolo duplicado \"%s\"\n"
+
+#: mmo.c:2986
+#, c-format
+msgid "%B: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
+msgstr "%B: mÃ¡ definiÃ§Ã£o de sÃ­mbolo: \"Main\" definido como %s em vez do endereÃ§o inicial %s\n"
+
+#: mmo.c:3085
+#, c-format
+msgid "%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.\n"
+msgstr "%B: aviso: tabela de simbolo muito grande para mmo, maior que palavras de 65535 32-bit: %d. SÃ³ \"Main\" serÃ¡ emitido.\n"
+
+#: mmo.c:3131
+#, c-format
+msgid "%B: internal error, symbol table changed size from %d to %d words\n"
+msgstr "%B: erro interno, tabela de sÃ­mbolo alterou o tamanho de %d para %d palavras\n"
+
+#: mmo.c:3184
+#, c-format
+msgid "%B: internal error, internal register section %A had contents\n"
+msgstr "%B: erro interno, secÃ§Ã£o de registo interna %A tinha conteÃºdo\n"
+
+#: mmo.c:3235
+msgid "%B: no initialized registers; section length 0\n"
+msgstr "%B: sem registos inicializados; tamanho de secÃ§Ã£o 0\n"
+
+#: mmo.c:3242
+#, c-format
+msgid "%B: too many initialized registers; section length %Ld"
+msgstr "%B: demasiados registos inicializados; tamanho de secÃ§Ã£o %Ld"
+
+#: mmo.c:3247
+#, c-format
+msgid "%B: invalid start address for initialized registers of length %Ld: %#Lx"
+msgstr "%B: endereÃ§o inicial invÃ¡lido para registos inicializados de tamanho %Ld: %#Lx"
+
+#: oasys.c:881
+#, c-format
+msgid "%B: can not represent section `%A' in oasys"
+msgstr "%B: impossÃ­vel representar secÃ§Ã£o \"%A\" em oasys"
+
+#: osf-core.c:127
+#, c-format
+msgid "Unhandled OSF/1 core file section type %d\n"
+msgstr "Tipo de secÃ§Ã£o %d de ficheiro nÃºcleo OSF/1 nÃ£o gerida\n"
+
+#: pe-mips.c:609
+msgid "%B: `ld -r' not supported with PE MIPS objects\n"
+msgstr "%B: \"ld -r\" nÃ£o suportado com objectos PE MIPS\n"
+
+#. OK, at this point the following variables are set up:
+#. src = VMA of the memory we're fixing up
+#. mem = pointer to memory we're fixing up
+#. val = VMA of what we need to refer to.
+#: pe-mips.c:720
+#, c-format
+msgid "%B: unimplemented %s\n"
+msgstr "%B: %s nÃ£o implementado\n"
+
+#: pe-mips.c:746
+msgid "%B: jump too far away\n"
+msgstr "%B: salto para demasiado longe\n"
+
+#: pe-mips.c:772
+msgid "%B: bad pair/reflo after refhi\n"
+msgstr "%B: mau pair/reflo apÃ³s refhi\n"
+
+#: pef.c:526
+#, c-format
+msgid "bfd_pef_scan: unknown architecture 0x%lx"
+msgstr "bfd_pef_scan: arquitectura desconhecida 0x%lx"
+
+#. PR 17512: file: 2245-7442-0.004.
+#: pei-x86_64.c:281
+#, c-format
+msgid "Unknown: %x"
+msgstr "Desconhecido: %x"
+
+#: pei-x86_64.c:331
+#, c-format
+msgid "warning: xdata section corrupt\n"
+msgstr "aviso: secÃ§Ã£o xdata corrupta\n"
+
+#: pei-x86_64.c:341
+#, c-format
+msgid "warning: xdata section corrupt"
+msgstr "aviso: secÃ§Ã£o xdata corrupta"
+
+#: pei-x86_64.c:401
+#, c-format
+msgid "Too many unwind codes (%ld)\n"
+msgstr "Demasiados cÃ³digos unwind (%ld)\n"
+
+#: pei-x86_64.c:491
+#, c-format
+msgid "Warning: %s section size (%ld) is not a multiple of %d\n"
+msgstr "Aviso: tamanho de secÃ§Ã£o %s (%ld) nÃ£o Ã© mÃºltiplo de %d\n"
+
+#: pei-x86_64.c:498
+#, c-format
+msgid "Warning: %s section size is zero\n"
+msgstr "Aviso: tamanho de secÃ§Ã£o %s Ã© zero\n"
+
+#: pei-x86_64.c:513
+#, c-format
+msgid "Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"
+msgstr "Aviso: tamanho de secÃ§Ã£o %s (%ld) Ã© menor que o tamanho virtual (%ld)\n"
+
+#: pei-x86_64.c:522
+#, c-format
+msgid ""
+"\n"
+"The Function Table (interpreted %s section contents)\n"
+msgstr ""
+"\n"
+"A tabela de funÃ§Ã£o (interpretado %s conteÃºdo de secÃ§Ã£o)\n"
+
+#: pei-x86_64.c:525
+#, c-format
+msgid "vma:\t\t\tBeginAddress\t EndAddress\t  UnwindData\n"
+msgstr "vma:\t\t\tEndInicial  \t EndFinal  \t DadosUnwind\n"
+
+#: pei-x86_64.c:654
+#, c-format
+msgid ""
+"\n"
+"Dump of %s\n"
+msgstr ""
+"\n"
+"Despejo de %s\n"
+
+#. XXX code yet to be written.
+#: peicode.h:775
+#, c-format
+msgid "%B: Unhandled import type; %x"
+msgstr "%B: tipo de importaÃ§Ã£o nÃ£o gerido; %x"
+
+#: peicode.h:781
+#, c-format
+msgid "%B: Unrecognised import type; %x"
+msgstr "%B: tipo de importaÃ§Ã£o nÃ£o reconhecido; %x"
+
+#: peicode.h:796
+#, c-format
+msgid "%B: Unrecognised import name type; %x"
+msgstr "%B: tipo de nome de importaÃ§Ã£o nÃ£o reconhecido; %x"
+
+#: peicode.h:1217
+#, c-format
+msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
+msgstr "%B: tipo de mÃ¡quina nÃ£o reconhecido (0x%x) em arquivo Import Library Format"
+
+#: peicode.h:1230
+#, c-format
+msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive"
+msgstr "%B: tipo de mÃ¡quina reconhecido mas nÃ£o gerido (0x%x) em arquivo Import Library Format"
+
+#: peicode.h:1248
+msgid "%B: size field is zero in Import Library Format header"
+msgstr "%B: tamanho de campo Ã© zero em cabeÃ§alho Import Library Format"
+
+#: peicode.h:1280
+msgid "%B: string not null terminated in ILF object file."
+msgstr "%B: cadeia nÃ£-null terminada em ficheiro objecto ILF."
+
+#: peicode.h:1335
+msgid "%B: Error: Debug Data ends beyond end of debug directory."
+msgstr "%B: erro: Debug Data termina apÃ³s o fim da pasta de depuraÃ§Ã£o."
+
+#: ppcboot.c:393
+#, c-format
+msgid ""
+"\n"
+"ppcboot header:\n"
+msgstr ""
+"\n"
+"cabeÃ§alho ppcboot:\n"
+
+#: ppcboot.c:394
+#, c-format
+msgid "Entry offset        = 0x%.8lx (%ld)\n"
+msgstr "Desvio da entrada   = 0x%.8lx (%ld)\n"
+
+#: ppcboot.c:396
+#, c-format
+msgid "Length              = 0x%.8lx (%ld)\n"
+msgstr "Tamanho             = 0x%.8lx (%ld)\n"
+
+#: ppcboot.c:400
+#, c-format
+msgid "Flag field          = 0x%.2x\n"
+msgstr "Campo de bandeira   = 0x%.2x\n"
+
+#: ppcboot.c:406
+#, c-format
+msgid "Partition name      = \"%s\"\n"
+msgstr "Nome da partiÃ§Ã£o    = \"%s\"\n"
+
+#: ppcboot.c:426
+#, c-format
+msgid ""
+"\n"
+"Partition[%d] start  = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
+msgstr ""
+"\n"
+"InÃ­cio da partiÃ§Ã£o[%d] = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
+
+#: ppcboot.c:433
+#, c-format
+msgid "Partition[%d] end    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
+msgstr "Fim da partiÃ§Ã£o[%d]    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
+
+#: ppcboot.c:440
+#, c-format
+msgid "Partition[%d] sector = 0x%.8lx (%ld)\n"
+msgstr "Sector da partiÃ§Ã£o[%d] = 0x%.8lx (%ld)\n"
+
+#: ppcboot.c:444
+#, c-format
+msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
+msgstr "Tamanho da partiÃ§Ã£o[%d] = 0x%.8lx (%ld)\n"
+
+#: reloc.c:8106
+msgid "INPUT_SECTION_FLAGS are not supported.\n"
+msgstr "INPUT_SECTION_FLAGS nÃ£o sÃ£o suportadas.\n"
+
+#: reloc.c:8207
+#, c-format
+msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n"
+msgstr "%X%P: %B(%A): erro: relocalizaÃ§Ã£o para desvio %V nÃ£o tem valor\n"
+
+#: reloc.c:8283
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n"
+msgstr "%X%P: %B(%A): relocalizaÃ§Ã£o \"%R\" nÃ£o Ã© suportada\n"
+
+#: reloc.c:8292
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"
+msgstr "%X%P: %B(%A): relocalizaÃ§Ã£o \"%R\" devolve um valor nÃ£o reconhecido %x\n"
+
+#: reloc.c:8354
+#, c-format
+msgid "%B: unrecognized relocation (%#x) in section `%A'"
+msgstr "%B: relocalizaÃ§Ã£o nÃ£o reconhecida (%#x) na secÃ§Ã£o \"%A\""
+
+#. PR 21803: Suggest the most likely cause of this error.
+#: reloc.c:8358
+#, c-format
+msgid "Is this version of the linker - %s - out of date ?"
+msgstr "EstarÃ¡ esta versÃ£o do linker - %s - fora do prazo?"
+
+#: rs6000-core.c:471
+msgid "%B: warning core file truncated"
+msgstr "%B: aviso: ficheiro nÃºcleo truncado"
+
+#: som.c:5478
+#, c-format
+msgid ""
+"\n"
+"Exec Auxiliary Header\n"
+msgstr ""
+"\n"
+"Exec Auxiliary Header\n"
+
+#: som.c:5787
+msgid "som_sizeof_headers unimplemented"
+msgstr "som_sizeof_headers nÃ£o implementado"
+
+#: srec.c:260
+#, c-format
+msgid "%B:%d: Unexpected character `%s' in S-record file\n"
+msgstr "%B:%d: carÃ¡cter \"%s\" inesperado em ficheiro S-record\n"
+
+#: srec.c:488
+#, c-format
+msgid "%B:%d: byte count %d too small\n"
+msgstr "%B:%d: total de byte %d muito pequeno\n"
+
+#: srec.c:581 srec.c:615
+#, c-format
+msgid "%B:%d: Bad checksum in S-record file\n"
+msgstr "%B:%d: mau checksum em ficheiro S-record\n"
+
+#: stabs.c:279
+#, c-format
+msgid "%B(%A+%#lx): Stabs entry has invalid string index."
+msgstr "%B(%A+%#lx): entrada Stabs tem Ã­ndice de cadeia invÃ¡lido."
+
+#: syms.c:1079
+msgid "Unsupported .stab relocation"
+msgstr "RelocalizaÃ§Ã£o .stab nÃ£o suportada"
+
+#: vms-alpha.c:479
+msgid "Corrupt EIHD record - size is too small"
+msgstr "Registo EIHD corrupto - tamanho muito pequeno"
+
+#: vms-alpha.c:660
+#, c-format
+msgid "Unable to read EIHS record at offset %#x"
+msgstr "ImpossÃ­vel ler registo EIHS no desvio %#x"
+
+#: vms-alpha.c:1172
+#, c-format
+msgid "Corrupt EGSD record: its size (%#x) is too small"
+msgstr "Registo EGSD corrupto: tamanho (%#x) muito pequeno"
+
+#: vms-alpha.c:1196
+#, c-format
+msgid "Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
+msgstr "Registo EGSD corrupto: tamanho (%#x) maior que o espaÃ§o restante (%#x)"
+
+#: vms-alpha.c:1204
+#, c-format
+msgid "Corrupt EGSD record: size (%#x) is too small"
+msgstr "Registo EGSD corrupto: tamanho (%#x) muito pequeno"
+
+#: vms-alpha.c:1333 vms-alpha.c:1349 vms-alpha.c:1389
+#, c-format
+msgid "Corrupt EGSD record: its psindx field is too big (%#lx)"
+msgstr "Registo EGSD corrupto: campo psindx muito grande (%#lx)"
+
+#: vms-alpha.c:1418
+#, c-format
+msgid "Unknown EGSD subtype %d"
+msgstr "Sub-tipo EGSD %d desconhecido"
+
+#: vms-alpha.c:1451
+#, c-format
+msgid "Stack overflow (%d) in _bfd_vms_push"
+msgstr "Transporte de stack (%d) em _bfd_vms_push"
+
+#: vms-alpha.c:1464
+msgid "Stack underflow in _bfd_vms_pop"
+msgstr "Sub-transporte de stack em _bfd_vms_pop"
+
+#. These names have not yet been added to this switch statement.
+#: vms-alpha.c:1706
+#, c-format
+msgid "unknown ETIR command %d"
+msgstr "comando ETIR %d desconhecido"
+
+#: vms-alpha.c:1737
+msgid "Corrupt vms value"
+msgstr "Valor vms corrupto"
+
+#: vms-alpha.c:1865
+msgid "Corrupt ETIR record encountered"
+msgstr "Encontrado registo ETIR corrupto"
+
+#: vms-alpha.c:1922
+#, c-format
+msgid "bad section index in %s"
+msgstr "mau Ã­ndice de secÃ§Ã£o em %s"
+
+#: vms-alpha.c:1935
+#, c-format
+msgid "unsupported STA cmd %s"
+msgstr "comando STA %s nÃ£o suportado"
+
+#. Insert field.
+#. Unsigned shift.
+#. Rotate.
+#. Redefine symbol to current location.
+#. Define a literal.
+#: vms-alpha.c:2115 vms-alpha.c:2146 vms-alpha.c:2237 vms-alpha.c:2395
+#, c-format
+msgid "%s: not supported"
+msgstr "%s: nÃ£o suportado"
+
+#: vms-alpha.c:2121
+#, c-format
+msgid "%s: not implemented"
+msgstr "%s: nÃ£o implementado"
+
+#: vms-alpha.c:2379
+#, c-format
+msgid "invalid use of %s with contexts"
+msgstr "uso invÃ¡lido de %s com contextos"
+
+#: vms-alpha.c:2413
+#, c-format
+msgid "reserved cmd %d"
+msgstr "comando reservado %d"
+
+#: vms-alpha.c:2497
+msgid "Corrupt EEOM record - size is too small"
+msgstr "Registo EEOM corrupto - tamanho demasiado pequeno"
+
+#: vms-alpha.c:2506
+msgid "Object module NOT error-free !\n"
+msgstr "MÃ³dulo objecto NÃƒO livre de erros!\n"
+
+#: vms-alpha.c:3830
+#, c-format
+msgid "SEC_RELOC with no relocs in section %A"
+msgstr "SEC_RELOC sem relocs na secÃ§Ã£o %A"
+
+#: vms-alpha.c:3882 vms-alpha.c:4095
+#, c-format
+msgid "Size error in section %A"
+msgstr "Erro de tamanho na secÃ§Ã£o %A"
+
+#: vms-alpha.c:4041
+msgid "Spurious ALPHA_R_BSR reloc"
+msgstr "RelocalizaÃ§Ã£o ALPHA_R_BSR espÃºria"
+
+#: vms-alpha.c:4082
+#, c-format
+msgid "Unhandled relocation %s"
+msgstr "RelocalizaÃ§Ã£o %s nÃ£o gerida"
+
+#: vms-alpha.c:4375
+#, c-format
+msgid "unknown source command %d"
+msgstr "Comando fonte %d desconhecido"
+
+#: vms-alpha.c:4436
+msgid "DST__K_SET_LINUM_INCR not implemented"
+msgstr "DST__K_SET_LINUM_INCR nÃ£o implementado"
+
+#: vms-alpha.c:4442
+msgid "DST__K_SET_LINUM_INCR_W not implemented"
+msgstr "DST__K_SET_LINUM_INCR_W nÃ£o implementado"
+
+#: vms-alpha.c:4448
+msgid "DST__K_RESET_LINUM_INCR not implemented"
+msgstr "DST__K_RESET_LINUM_INCR nÃ£o implementado"
+
+#: vms-alpha.c:4454
+msgid "DST__K_BEG_STMT_MODE not implemented"
+msgstr "DST__K_BEG_STMT_MODE nÃ£o implementado"
+
+#: vms-alpha.c:4460
+msgid "DST__K_END_STMT_MODE not implemented"
+msgstr "DST__K_END_STMT_MODE nÃ£o implementado"
+
+#: vms-alpha.c:4487
+msgid "DST__K_SET_PC not implemented"
+msgstr "DST__K_SET_PC nÃ£o implementado"
+
+#: vms-alpha.c:4493
+msgid "DST__K_SET_PC_W not implemented"
+msgstr "DST__K_SET_PC_W nÃ£o implementado"
+
+#: vms-alpha.c:4499
+msgid "DST__K_SET_PC_L not implemented"
+msgstr "DST__K_SET_PC_L nÃ£o implementado"
+
+#: vms-alpha.c:4505
+msgid "DST__K_SET_STMTNUM not implemented"
+msgstr "DST__K_SET_STMTNUM nÃ£o implementado"
+
+#: vms-alpha.c:4548
+#, c-format
+msgid "unknown line command %d"
+msgstr "comando de linha %d desconhecido"
+
+#: vms-alpha.c:5008 vms-alpha.c:5026 vms-alpha.c:5041 vms-alpha.c:5057
+#: vms-alpha.c:5070 vms-alpha.c:5082 vms-alpha.c:5095
+#, c-format
+msgid "Unknown reloc %s + %s"
+msgstr "Reloc %s + %s desconhecida"
+
+#: vms-alpha.c:5150
+#, c-format
+msgid "Unknown reloc %s"
+msgstr "Reloc %s desconhecida"
+
+#: vms-alpha.c:5163
+msgid "Invalid section index in ETIR"
+msgstr "Ã�ndice de secÃ§Ã£o invÃ¡lido em ETIR"
+
+#: vms-alpha.c:5172
+msgid "Relocation for non-REL psect"
+msgstr "RelocalizaÃ§Ã£o para psect nÃ£o-REL"
+
+#: vms-alpha.c:5219
+#, c-format
+msgid "Unknown symbol in command %s"
+msgstr "SÃ­mbolo desconhecido em comando %s"
+
+#: vms-alpha.c:5629
+#, c-format
+msgid "reloc (%d) is *UNKNOWN*"
+msgstr "reloc (%d) Ã© *UNKNOWN*"
+
+#: vms-alpha.c:5745
+#, c-format
+msgid "  EMH %u (len=%u): "
+msgstr "  EMH %u (tam=%u): "
+
+#: vms-alpha.c:5750
+#, c-format
+msgid "   Error: The length is less than the length of an EMH record\n"
+msgstr "   Erro: o tamanho Ã© menor que o tamanho de um registo EMH\n"
+
+#: vms-alpha.c:5767
+#, c-format
+msgid "   Error: The record length is less than the size of an EMH_MHD record\n"
+msgstr "   Erro: o tamanho do registo Ã© menor que o tamanho de um registo EMH_MHD\n"
+
+#: vms-alpha.c:5770
+#, c-format
+msgid "Module header\n"
+msgstr "CabeÃ§alho de mÃ³dulo\n"
+
+#: vms-alpha.c:5771
+#, c-format
+msgid "   structure level: %u\n"
+msgstr "   nÃ­vel de estrutura: %u\n"
+
+#: vms-alpha.c:5772
+#, c-format
+msgid "   max record size: %u\n"
+msgstr "   tam. mÃ¡x registo: %u\n"
+
+#: vms-alpha.c:5778
+#, c-format
+msgid "   Error: The module name is missing\n"
+msgstr "   Erro: nome de mÃ³dulo em falta\n"
+
+#: vms-alpha.c:5784
+#, c-format
+msgid "   Error: The module name is too long\n"
+msgstr "   Erro: nome de mÃ³dulo muito longo\n"
+
+#: vms-alpha.c:5787
+#, c-format
+msgid "   module name    : %.*s\n"
+msgstr "   nome de mÃ³dulo : %.*s\n"
+
+#: vms-alpha.c:5791
+#, c-format
+msgid "   Error: The module version is missing\n"
+msgstr "   Erro: versÃ£o de mÃ³dulo em falta\n"
+
+#: vms-alpha.c:5797
+#, c-format
+msgid "   Error: The module version is too long\n"
+msgstr "   Erro: versÃ£o de mÃ³dulo muito longa\n"
+
+#: vms-alpha.c:5800
+#, c-format
+msgid "   module version : %.*s\n"
+msgstr "   versÃ£o de mÃ³dulo: %.*s\n"
+
+#: vms-alpha.c:5803
+#, c-format
+msgid "   Error: The compile date is truncated\n"
+msgstr "   Erro: data de compilaÃ§Ã£o truncada\n"
+
+#: vms-alpha.c:5805
+#, c-format
+msgid "   compile date   : %.17s\n"
+msgstr "   data compilaÃ§Ã£o: %.17s\n"
+
+#: vms-alpha.c:5810
+#, c-format
+msgid "Language Processor Name\n"
+msgstr "Nome do processador de linguagem\n"
+
+#: vms-alpha.c:5811
+#, c-format
+msgid "   language name: %.*s\n"
+msgstr "   nome linguagem: %.*s\n"
+
+#: vms-alpha.c:5815
+#, c-format
+msgid "Source Files Header\n"
+msgstr "CabeÃ§alho de ficheiros fonte\n"
+
+#: vms-alpha.c:5816
+#, c-format
+msgid "   file: %.*s\n"
+msgstr "   ficheiro: %.*s\n"
+
+#: vms-alpha.c:5820
+#, c-format
+msgid "Title Text Header\n"
+msgstr "CabeÃ§alho do texto de tÃ­tulo\n"
+
+#: vms-alpha.c:5821
+#, c-format
+msgid "   title: %.*s\n"
+msgstr "   tÃ­tulo: %.*s\n"
+
+#: vms-alpha.c:5825
+#, c-format
+msgid "Copyright Header\n"
+msgstr "CabeÃ§alho de copyright\n"
+
+#: vms-alpha.c:5826
+#, c-format
+msgid "   copyright: %.*s\n"
+msgstr "   copyright: %.*s\n"
+
+#: vms-alpha.c:5830
+#, c-format
+msgid "unhandled emh subtype %u\n"
+msgstr "sub-tipo emh %u nÃ£o gerido\n"
+
+#: vms-alpha.c:5840
+#, c-format
+msgid "  EEOM (len=%u):\n"
+msgstr "  EEOM (tam=%u):\n"
+
+#: vms-alpha.c:5845
+#, c-format
+msgid "   Error: The length is less than the length of an EEOM record\n"
+msgstr "   Erro: o tamanho Ã© menor que o tamanho de um registo EEOM\n"
+
+#: vms-alpha.c:5849
+#, c-format
+msgid "   number of cond linkage pairs: %u\n"
+msgstr "   nÃºmero de pares de ligaÃ§Ã£o condicional: %u\n"
+
+#: vms-alpha.c:5851
+#, c-format
+msgid "   completion code: %u\n"
+msgstr "   cÃ³digo de conclusÃ£o: %u\n"
+
+#: vms-alpha.c:5855
+#, c-format
+msgid "   transfer addr flags: 0x%02x\n"
+msgstr "   transferir band end: 0x%02x\n"
+
+#: vms-alpha.c:5856
+#, c-format
+msgid "   transfer addr psect: %u\n"
+msgstr "   transferir psect end.: %u\n"
+
+#: vms-alpha.c:5858
+#, c-format
+msgid "   transfer address   : 0x%08x\n"
+msgstr "   transferir endereÃ§o: 0x%08x\n"
+
+#: vms-alpha.c:5867
+msgid " WEAK"
+msgstr " WEAK"
+
+#: vms-alpha.c:5869
+msgid " DEF"
+msgstr " DEF"
+
+#: vms-alpha.c:5871
+msgid " UNI"
+msgstr " UNI"
+
+#: vms-alpha.c:5873 vms-alpha.c:5894
+msgid " REL"
+msgstr " REL"
+
+#: vms-alpha.c:5875
+msgid " COMM"
+msgstr " COMM"
+
+#: vms-alpha.c:5877
+msgid " VECEP"
+msgstr " VECEP"
+
+#: vms-alpha.c:5879
+msgid " NORM"
+msgstr " NORM"
+
+#: vms-alpha.c:5881
+msgid " QVAL"
+msgstr " QVAL"
+
+#: vms-alpha.c:5888
+msgid " PIC"
+msgstr " PIC"
+
+#: vms-alpha.c:5890
+msgid " LIB"
+msgstr " LIB"
+
+#: vms-alpha.c:5892
+msgid " OVR"
+msgstr " OVR"
+
+#: vms-alpha.c:5896
+msgid " GBL"
+msgstr " GBL"
+
+#: vms-alpha.c:5898
+msgid " SHR"
+msgstr " SHR"
+
+#: vms-alpha.c:5900
+msgid " EXE"
+msgstr " EXE"
+
+#: vms-alpha.c:5902
+msgid " RD"
+msgstr " RD"
+
+#: vms-alpha.c:5904
+msgid " WRT"
+msgstr " WRT"
+
+#: vms-alpha.c:5906
+msgid " VEC"
+msgstr " VEC"
+
+#: vms-alpha.c:5908
+msgid " NOMOD"
+msgstr " NOMOD"
+
+#: vms-alpha.c:5910
+msgid " COM"
+msgstr " COM"
+
+#: vms-alpha.c:5912
+msgid " 64B"
+msgstr " 64B"
+
+#: vms-alpha.c:5921
+#, c-format
+msgid "  EGSD (len=%u):\n"
+msgstr "  EGSD (tam=%u):\n"
+
+#: vms-alpha.c:5934
+#, c-format
+msgid "  EGSD entry %2u (type: %u, len: %u): "
+msgstr "  entrada EGSD %2u (tipo: %u, tamanho: %u): "
+
+#: vms-alpha.c:5940 vms-alpha.c:6191
+#, c-format
+msgid "   Error: length larger than remaining space in record\n"
+msgstr "   Erro: tamanho maior que o espaÃ§o restante no registo\n"
+
+#: vms-alpha.c:5952
+#, c-format
+msgid "PSC - Program section definition\n"
+msgstr "PSC - definiÃ§Ã£o da secÃ§Ã£o Program\n"
+
+#: vms-alpha.c:5953 vms-alpha.c:5970
+#, c-format
+msgid "   alignment  : 2**%u\n"
+msgstr "   alinhamento  : 2**%u\n"
+
+#: vms-alpha.c:5954 vms-alpha.c:5971
+#, c-format
+msgid "   flags      : 0x%04x"
+msgstr "   bandeiras  : 0x%04x"
+
+#: vms-alpha.c:5958
+#, c-format
+msgid "   alloc (len): %u (0x%08x)\n"
+msgstr "   aloc. (tam): %u (0x%08x)\n"
+
+#: vms-alpha.c:5959 vms-alpha.c:6016 vms-alpha.c:6065
+#, c-format
+msgid "   name       : %.*s\n"
+msgstr "   nome       : %.*s\n"
+
+#: vms-alpha.c:5969
+#, c-format
+msgid "SPSC - Shared Image Program section def\n"
+msgstr "SPSC - definiÃ§Ã£o de secÃ§Ã£o Shared Image Program\n"
+
+#: vms-alpha.c:5975
+#, c-format
+msgid "   alloc (len)   : %u (0x%08x)\n"
+msgstr "   aloc. (tam)   : %u (0x%08x)\n"
+
+#: vms-alpha.c:5976
+#, c-format
+msgid "   image offset  : 0x%08x\n"
+msgstr "   desvio imagem : 0x%08x\n"
+
+#: vms-alpha.c:5978
+#, c-format
+msgid "   symvec offset : 0x%08x\n"
+msgstr "   desvio symvec : 0x%08x\n"
+
+#: vms-alpha.c:5980
+#, c-format
+msgid "   name          : %.*s\n"
+msgstr "   nome          : %.*s\n"
+
+#: vms-alpha.c:5993
+#, c-format
+msgid "SYM - Global symbol definition\n"
+msgstr "SYM - definiÃ§Ã£o de sÃ­mbolo Global\n"
+
+#: vms-alpha.c:5994 vms-alpha.c:6054 vms-alpha.c:6075 vms-alpha.c:6094
+#, c-format
+msgid "   flags: 0x%04x"
+msgstr "   bandeiras: 0x%04x"
+
+#: vms-alpha.c:5997
+#, c-format
+msgid "   psect offset: 0x%08x\n"
+msgstr "   desvio psect: 0x%08x\n"
+
+#: vms-alpha.c:6001
+#, c-format
+msgid "   code address: 0x%08x\n"
+msgstr "   end. de cÃ³d.: 0x%08x\n"
+
+#: vms-alpha.c:6003
+#, c-format
+msgid "   psect index for entry point : %u\n"
+msgstr "   Ã­ndice psect do ponto de entrada: %u\n"
+
+#: vms-alpha.c:6006 vms-alpha.c:6082 vms-alpha.c:6101
+#, c-format
+msgid "   psect index : %u\n"
+msgstr "   Ã­ndice psect : %u\n"
+
+#: vms-alpha.c:6008 vms-alpha.c:6084 vms-alpha.c:6103
+#, c-format
+msgid "   name        : %.*s\n"
+msgstr "   nome        : %.*s\n"
+
+#: vms-alpha.c:6015
+#, c-format
+msgid "SYM - Global symbol reference\n"
+msgstr "SYM - referÃªncia de sÃ­mbolo Global\n"
+
+#: vms-alpha.c:6027
+#, c-format
+msgid "IDC - Ident Consistency check\n"
+msgstr "IDC - verificaÃ§Ã£o Ident Consistency\n"
+
+#: vms-alpha.c:6028
+#, c-format
+msgid "   flags         : 0x%08x"
+msgstr "   bandeiras     : 0x%08x"
+
+#: vms-alpha.c:6032
+#, c-format
+msgid "   id match      : %x\n"
+msgstr "   comparaÃ§Ã£o id : %x\n"
+
+#: vms-alpha.c:6034
+#, c-format
+msgid "   error severity: %x\n"
+msgstr "   severidade do erro: %x\n"
+
+#: vms-alpha.c:6037
+#, c-format
+msgid "   entity name   : %.*s\n"
+msgstr "   nome entidade : %.*s\n"
+
+#: vms-alpha.c:6039
+#, c-format
+msgid "   object name   : %.*s\n"
+msgstr "   nome objecto  : %.*s\n"
+
+#: vms-alpha.c:6042
+#, c-format
+msgid "   binary ident  : 0x%08x\n"
+msgstr "   ident. binÃ¡ria: 0x%08x\n"
+
+#: vms-alpha.c:6045
+#, c-format
+msgid "   ascii ident   : %.*s\n"
+msgstr "   ident. ascii  : %.*s\n"
+
+#: vms-alpha.c:6053
+#, c-format
+msgid "SYMG - Universal symbol definition\n"
+msgstr "SYMG - definiÃ§Ã£o Universal\n"
+
+#: vms-alpha.c:6057
+#, c-format
+msgid "   symbol vector offset: 0x%08x\n"
+msgstr "   desvio do vector de sÃ­mbolo: 0x%08x\n"
+
+#: vms-alpha.c:6059
+#, c-format
+msgid "   entry point: 0x%08x\n"
+msgstr "   ponto de entrada: 0x%08x\n"
+
+#: vms-alpha.c:6061
+#, c-format
+msgid "   proc descr : 0x%08x\n"
+msgstr "   descriÃ§Ã£o de procedimento: 0x%08x\n"
+
+#: vms-alpha.c:6063
+#, c-format
+msgid "   psect index: %u\n"
+msgstr "   Ã­ndice psect: %u\n"
+
+#: vms-alpha.c:6074
+#, c-format
+msgid "SYMV - Vectored symbol definition\n"
+msgstr "SYMV - definiÃ§Ã£o de sÃ­mbolo Vectored\n"
+
+#: vms-alpha.c:6078
+#, c-format
+msgid "   vector      : 0x%08x\n"
+msgstr "   vector      : 0x%08x\n"
+
+#: vms-alpha.c:6080 vms-alpha.c:6099
+#, c-format
+msgid "   psect offset: %u\n"
+msgstr "   desvio psect: %u\n"
+
+#: vms-alpha.c:6093
+#, c-format
+msgid "SYMM - Global symbol definition with version\n"
+msgstr "SYMM - definiÃ§Ã£o de sÃ­mbolo Global com versÃ£o\n"
+
+#: vms-alpha.c:6097
+#, c-format
+msgid "   version mask: 0x%08x\n"
+msgstr "   mÃ¡scara de versÃ£o: 0x%08x\n"
+
+#: vms-alpha.c:6108
+#, c-format
+msgid "unhandled egsd entry type %u\n"
+msgstr "tipo de entrada egsd %u nÃ£o gerida\n"
+
+#: vms-alpha.c:6143
+#, c-format
+msgid "    linkage index: %u, replacement insn: 0x%08x\n"
+msgstr "    Ã­ndice de ligaÃ§Ã£o: %u, insn de substituiÃ§Ã£o: 0x%08x\n"
+
+#: vms-alpha.c:6147
+#, c-format
+msgid "    psect idx 1: %u, offset 1: 0x%08x %08x\n"
+msgstr "    Ã­nd psect 1: %u, desvio 1: 0x%08x %08x\n"
+
+#: vms-alpha.c:6152
+#, c-format
+msgid "    psect idx 2: %u, offset 2: 0x%08x %08x\n"
+msgstr "    Ã­nd psect 2: %u, desvio 2: 0x%08x %08x\n"
+
+#: vms-alpha.c:6158
+#, c-format
+msgid "    psect idx 3: %u, offset 3: 0x%08x %08x\n"
+msgstr "    Ã­nd psect 3: %u, desvio 3: 0x%08x %08x\n"
+
+#: vms-alpha.c:6163
+#, c-format
+msgid "    global name: %.*s\n"
+msgstr "    nome global: %.*s\n"
+
+#: vms-alpha.c:6174
+#, c-format
+msgid "  %s (len=%u+%u):\n"
+msgstr "  %s (tam=%u+%u):\n"
+
+#: vms-alpha.c:6196
+#, c-format
+msgid "   (type: %3u, size: 4+%3u): "
+msgstr "   (tipo: %3u, tam.: 4+%3u): "
+
+#: vms-alpha.c:6200
+#, c-format
+msgid "STA_GBL (stack global) %.*s\n"
+msgstr "STA_GBL (stack global) %.*s\n"
+
+#: vms-alpha.c:6204
+#, c-format
+msgid "STA_LW (stack longword) 0x%08x\n"
+msgstr "STA_LW (stack longword) 0x%08x\n"
+
+#: vms-alpha.c:6208
+#, c-format
+msgid "STA_QW (stack quadword) 0x%08x %08x\n"
+msgstr "STA_QW (stack quadword) 0x%08x %08x\n"
+
+#: vms-alpha.c:6213
+#, c-format
+msgid "STA_PQ (stack psect base + offset)\n"
+msgstr "STA_PQ (stack psect base + desvio)\n"
+
+#: vms-alpha.c:6215
+#, c-format
+msgid "    psect: %u, offset: 0x%08x %08x\n"
+msgstr "    psect: %u, desvio: 0x%08x %08x\n"
+
+#: vms-alpha.c:6221
+#, c-format
+msgid "STA_LI (stack literal)\n"
+msgstr "STA_LI (stack literal)\n"
+
+#: vms-alpha.c:6224
+#, c-format
+msgid "STA_MOD (stack module)\n"
+msgstr "STA_MOD (stack mÃ³dulo)\n"
+
+#: vms-alpha.c:6227
+#, c-format
+msgid "STA_CKARG (compare procedure argument)\n"
+msgstr "STA_CKARG (comparar argumento de procedimento)\n"
+
+#: vms-alpha.c:6231
+#, c-format
+msgid "STO_B (store byte)\n"
+msgstr "STO_B (armazenar byte)\n"
+
+#: vms-alpha.c:6234
+#, c-format
+msgid "STO_W (store word)\n"
+msgstr "STO_W (armazenar word)\n"
+
+#: vms-alpha.c:6237
+#, c-format
+msgid "STO_LW (store longword)\n"
+msgstr "STO_LW (armazenar longword)\n"
+
+#: vms-alpha.c:6240
+#, c-format
+msgid "STO_QW (store quadword)\n"
+msgstr "STO_QW (armazenar quadword)\n"
+
+#: vms-alpha.c:6246
+#, c-format
+msgid "STO_IMMR (store immediate repeat) %u bytes\n"
+msgstr "STO_IMMR (armazenar repetiÃ§Ã£o imediata) %u bytes\n"
+
+#: vms-alpha.c:6253
+#, c-format
+msgid "STO_GBL (store global) %.*s\n"
+msgstr "STO_GBL (armazenar global) %.*s\n"
+
+#: vms-alpha.c:6257
+#, c-format
+msgid "STO_CA (store code address) %.*s\n"
+msgstr "STO_CA (armazenar endereÃ§o de cÃ³digo) %.*s\n"
+
+#: vms-alpha.c:6261
+#, c-format
+msgid "STO_RB (store relative branch)\n"
+msgstr "STO_RB (armazenar ramo relativo)\n"
+
+#: vms-alpha.c:6264
+#, c-format
+msgid "STO_AB (store absolute branch)\n"
+msgstr "STO_AB (armazenar ramo absoluto)\n"
+
+#: vms-alpha.c:6267
+#, c-format
+msgid "STO_OFF (store offset to psect)\n"
+msgstr "STO_OFF (armazenar desvio para psect)\n"
+
+#: vms-alpha.c:6273
+#, c-format
+msgid "STO_IMM (store immediate) %u bytes\n"
+msgstr "STO_IMM (armazenar imediato) %u bytes\n"
+
+#: vms-alpha.c:6280
+#, c-format
+msgid "STO_GBL_LW (store global longword) %.*s\n"
+msgstr "STO_GBL_LW (armazenar longword global) %.*s\n"
+
+#: vms-alpha.c:6284
+#, c-format
+msgid "STO_OFF (store LP with procedure signature)\n"
+msgstr "STO_OFF ( global LP com assinatura de procedimento)\n"
+
+#: vms-alpha.c:6287
+#, c-format
+msgid "STO_BR_GBL (store branch global) *todo*\n"
+msgstr "STO_BR_GBL ( global ramo global) *todo*\n"
+
+#: vms-alpha.c:6290
+#, c-format
+msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
+msgstr "STO_BR_PS ( global ramo psect + desvio) *todo*\n"
+
+#: vms-alpha.c:6294
+#, c-format
+msgid "OPR_NOP (no-operation)\n"
+msgstr "OPR_NOP (sem-operaÃ§Ã£o)\n"
+
+#: vms-alpha.c:6297
+#, c-format
+msgid "OPR_ADD (add)\n"
+msgstr "OPR_ADD (adicionar)\n"
+
+#: vms-alpha.c:6300
+#, c-format
+msgid "OPR_SUB (subtract)\n"
+msgstr "OPR_SUB (subtrair)\n"
+
+#: vms-alpha.c:6303
+#, c-format
+msgid "OPR_MUL (multiply)\n"
+msgstr "OPR_MUL (multiplicar)\n"
+
+#: vms-alpha.c:6306
+#, c-format
+msgid "OPR_DIV (divide)\n"
+msgstr "OPR_DIV (dividir)\n"
+
+#: vms-alpha.c:6309
+#, c-format
+msgid "OPR_AND (logical and)\n"
+msgstr "OPR_AND (e lÃ³gico)\n"
+
+#: vms-alpha.c:6312
+#, c-format
+msgid "OPR_IOR (logical inclusive or)\n"
+msgstr "OPR_IOR (ou inclusivo lÃ³gico)\n"
+
+#: vms-alpha.c:6315
+#, c-format
+msgid "OPR_EOR (logical exclusive or)\n"
+msgstr "OPR_EOR (ou exclusivo lÃ³gico)\n"
+
+#: vms-alpha.c:6318
+#, c-format
+msgid "OPR_NEG (negate)\n"
+msgstr "OPR_NEG (negar)\n"
+
+#: vms-alpha.c:6321
+#, c-format
+msgid "OPR_COM (complement)\n"
+msgstr "OPR_COM (complementar)\n"
+
+#: vms-alpha.c:6324
+#, c-format
+msgid "OPR_INSV (insert field)\n"
+msgstr "OPR_INSV (inserir campo)\n"
+
+#: vms-alpha.c:6327
+#, c-format
+msgid "OPR_ASH (arithmetic shift)\n"
+msgstr "OPR_ASH (mudanÃ§a aritmÃ©tica)\n"
+
+#: vms-alpha.c:6330
+#, c-format
+msgid "OPR_USH (unsigned shift)\n"
+msgstr "OPR_USH (mudanÃ§a nÃ£o assinada)\n"
+
+#: vms-alpha.c:6333
+#, c-format
+msgid "OPR_ROT (rotate)\n"
+msgstr "OPR_ROT (rodar)\n"
+
+#: vms-alpha.c:6336
+#, c-format
+msgid "OPR_SEL (select)\n"
+msgstr "OPR_SEL (seleccionar)\n"
+
+#: vms-alpha.c:6339
+#, c-format
+msgid "OPR_REDEF (redefine symbol to curr location)\n"
+msgstr "OPR_REDEF (redefinir sÃ­mbolo para localizaÃ§Ã£o actual)\n"
+
+#: vms-alpha.c:6342
+#, c-format
+msgid "OPR_REDEF (define a literal)\n"
+msgstr "OPR_REDEF (definir um literal)\n"
+
+#: vms-alpha.c:6346
+#, c-format
+msgid "STC_LP (store cond linkage pair)\n"
+msgstr "STC_LP (armazenar par de ligaÃ§Ã£o condicional)\n"
+
+#: vms-alpha.c:6350
+#, c-format
+msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
+msgstr "STC_LP_PSB (armazenar par de ligaÃ§Ã£o condicional + assinatura)\n"
+
+#: vms-alpha.c:6352
+#, c-format
+msgid "   linkage index: %u, procedure: %.*s\n"
+msgstr "   Ã­ndice de ligaÃ£o: %u, procedimento: %.*s\n"
+
+#: vms-alpha.c:6355
+#, c-format
+msgid "   signature: %.*s\n"
+msgstr "   assinatura: %.*s\n"
+
+#: vms-alpha.c:6358
+#, c-format
+msgid "STC_GBL (store cond global)\n"
+msgstr "STC_GBL (armazenar global condicional)\n"
+
+#: vms-alpha.c:6360
+#, c-format
+msgid "   linkage index: %u, global: %.*s\n"
+msgstr "   Ã­ndice de ligaÃ§Ã£o: %u, global: %.*s\n"
+
+#: vms-alpha.c:6364
+#, c-format
+msgid "STC_GCA (store cond code address)\n"
+msgstr "STC_GCA (armazenar endereÃ§o de cÃ³digo condicional)\n"
+
+#: vms-alpha.c:6366
+#, c-format
+msgid "   linkage index: %u, procedure name: %.*s\n"
+msgstr "   Ã­ndice de ligaÃ§Ã£o: %u, nome do procedimento: %.*s\n"
+
+#: vms-alpha.c:6370
+#, c-format
+msgid "STC_PS (store cond psect + offset)\n"
+msgstr "STC_PS (armazenar psect condicional + desvio)\n"
+
+#: vms-alpha.c:6373
+#, c-format
+msgid "   linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
+msgstr "   Ã­ndice de ligaÃ§Ã£o: %u, psect: %u, desvio: 0x%08x %08x\n"
+
+#: vms-alpha.c:6380
+#, c-format
+msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
+msgstr "STC_NOP_GBL (armazenar NOP condicional em endereÃ§o global)\n"
+
+#: vms-alpha.c:6384
+#, c-format
+msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
+msgstr "STC_NOP_PS (armazenar NOP condicional em psect + desvio)\n"
+
+#: vms-alpha.c:6388
+#, c-format
+msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
+msgstr "STC_BSR_GBL (armazenar BSR condicional em endereÃ§o global)\n"
+
+#: vms-alpha.c:6392
+#, c-format
+msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
+msgstr "STC_BSR_PS (armazenar BSR condicional em psect + desvio)\n"
+
+#: vms-alpha.c:6396
+#, c-format
+msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
+msgstr "STC_LDA_GBL (armazenar LDA condicional em endereÃ§o global)\n"
+
+#: vms-alpha.c:6400
+#, c-format
+msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
+msgstr "STC_LDA_PS (armazenar LDA condicional em psect + desvio)\n"
+
+#: vms-alpha.c:6404
+#, c-format
+msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
+msgstr "STC_BOH_GBL (armazenar BOH condicional em endereÃ§o global)\n"
+
+#: vms-alpha.c:6408
+#, c-format
+msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
+msgstr "STC_BOH_PS (armazenar BOH condicional em psect + desvio)\n"
+
+#: vms-alpha.c:6413
+#, c-format
+msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
+msgstr "STC_NBH_GBL (armazenar condicional ou dica em endereÃ§o global)\n"
+
+#: vms-alpha.c:6417
+#, c-format
+msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
+msgstr "STC_NBH_PS (armazenar condicional ou dica em psect + desvio)\n"
+
+#: vms-alpha.c:6421
+#, c-format
+msgid "CTL_SETRB (set relocation base)\n"
+msgstr "CTL_SETRB (definir base de relocalizaÃ§Ã£o)\n"
+
+#: vms-alpha.c:6427
+#, c-format
+msgid "CTL_AUGRB (augment relocation base) %u\n"
+msgstr "CTL_AUGRB (aumentar base de relocalizaÃ§Ã£o) %u\n"
+
+#: vms-alpha.c:6431
+#, c-format
+msgid "CTL_DFLOC (define location)\n"
+msgstr "CTL_DFLOC (definir localizaÃ§Ã£o)\n"
+
+#: vms-alpha.c:6434
+#, c-format
+msgid "CTL_STLOC (set location)\n"
+msgstr "CTL_STLOC (definir localizaÃ§Ã£o)\n"
+
+#: vms-alpha.c:6437
+#, c-format
+msgid "CTL_STKDL (stack defined location)\n"
+msgstr "CTL_STKDL (localizaÃ§Ã£o definida por stack)\n"
+
+#: vms-alpha.c:6440 vms-alpha.c:6864 vms-alpha.c:6990
+#, c-format
+msgid "*unhandled*\n"
+msgstr "*nÃ£o gerido*\n"
+
+#: vms-alpha.c:6470 vms-alpha.c:6509
+#, c-format
+msgid "cannot read GST record length\n"
+msgstr "impossÃ­vel ler tamanho do registo GST\n"
+
+#. Ill-formed.
+#: vms-alpha.c:6491
+#, c-format
+msgid "cannot find EMH in first GST record\n"
+msgstr "impossÃ­vel encontrar EMH no primeiro registo GST\n"
+
+#: vms-alpha.c:6517
+#, c-format
+msgid "cannot read GST record header\n"
+msgstr "impossÃ­vel ler cabeÃ§alho de registo GST\n"
+
+#: vms-alpha.c:6530
+#, c-format
+msgid " corrupted GST\n"
+msgstr " GST corrompido\n"
+
+#: vms-alpha.c:6538
+#, c-format
+msgid "cannot read GST record\n"
+msgstr "impossÃ­vel ler registo GST\n"
+
+#: vms-alpha.c:6567
+#, c-format
+msgid " unhandled EOBJ record type %u\n"
+msgstr " tipo de registo EOBJ %u nÃ£o gerido\n"
+
+#: vms-alpha.c:6591
+#, c-format
+msgid "  bitcount: %u, base addr: 0x%08x\n"
+msgstr "  bitcount: %u, endereÃ§o base: 0x%08x\n"
+
+#: vms-alpha.c:6605
+#, c-format
+msgid "   bitmap: 0x%08x (count: %u):\n"
+msgstr "   bitmap: 0x%08x (total: %u):\n"
+
+#: vms-alpha.c:6612
+#, c-format
+msgid " %08x"
+msgstr " %08x"
+
+#: vms-alpha.c:6638
+#, c-format
+msgid "  image %u (%u entries)\n"
+msgstr "  imagem %u (%u entradas)\n"
+
+#: vms-alpha.c:6644
+#, c-format
+msgid "   offset: 0x%08x, val: 0x%08x\n"
+msgstr "   desvio: 0x%08x, val: 0x%08x\n"
+
+#: vms-alpha.c:6666
+#, c-format
+msgid "  image %u (%u entries), offsets:\n"
+msgstr "  imagem %u (%u entradas), desvios:\n"
+
+#: vms-alpha.c:6673
+#, c-format
+msgid " 0x%08x"
+msgstr " 0x%08x"
+
+#. 64 bits.
+#: vms-alpha.c:6795
+#, c-format
+msgid "64 bits *unhandled*\n"
+msgstr "64 bits *nÃ£o geridos*\n"
+
+#: vms-alpha.c:6800
+#, c-format
+msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
+msgstr "classe: %u, dtype: %u, tamanho: %u, ponteiro: 0x%08x\n"
+
+#: vms-alpha.c:6811
+#, c-format
+msgid "non-contiguous array of %s\n"
+msgstr "matriz nÃ£o contÃ­nua de %s\n"
+
+#: vms-alpha.c:6816
+#, c-format
+msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
+msgstr "dimct: %u, aflags: 0x%02x, dÃ­gitos: %u, escala: %u\n"
+
+#: vms-alpha.c:6821
+#, c-format
+msgid "arsize: %u, a0: 0x%08x\n"
+msgstr "arsize: %u, a0: 0x%08x\n"
+
+#: vms-alpha.c:6825
+#, c-format
+msgid "Strides:\n"
+msgstr "Passos:\n"
+
+#: vms-alpha.c:6835
+#, c-format
+msgid "Bounds:\n"
+msgstr "VÃ­nculos:\n"
+
+#: vms-alpha.c:6841
+#, c-format
+msgid "[%u]: Lower: %u, upper: %u\n"
+msgstr "[%u]: inferior: %u, superior: %u\n"
+
+#: vms-alpha.c:6853
+#, c-format
+msgid "unaligned bit-string of %s\n"
+msgstr "cadeia de bits nÃ£o alinhada de %s\n"
+
+#: vms-alpha.c:6858
+#, c-format
+msgid "base: %u, pos: %u\n"
+msgstr "base: %u, pos: %u\n"
+
+#: vms-alpha.c:6879
+#, c-format
+msgid "vflags: 0x%02x, value: 0x%08x "
+msgstr "vflags: 0x%02x, valor: 0x%08x "
+
+#: vms-alpha.c:6885
+#, c-format
+msgid "(no value)\n"
+msgstr "(sem valor)\n"
+
+#: vms-alpha.c:6888
+#, c-format
+msgid "(not active)\n"
+msgstr "(nÃ£o activo)\n"
+
+#: vms-alpha.c:6891
+#, c-format
+msgid "(not allocated)\n"
+msgstr "(nÃ£o alocada)\n"
+
+#: vms-alpha.c:6894
+#, c-format
+msgid "(descriptor)\n"
+msgstr "(descritor)\n"
+
+#: vms-alpha.c:6898
+#, c-format
+msgid "(trailing value)\n"
+msgstr "(valor inicial)\n"
+
+#: vms-alpha.c:6901
+#, c-format
+msgid "(value spec follows)\n"
+msgstr "(spec de valor segue)\n"
+
+#: vms-alpha.c:6904
+#, c-format
+msgid "(at bit offset %u)\n"
+msgstr "(no desvio de bit %u)\n"
+
+#: vms-alpha.c:6908
+#, c-format
+msgid "(reg: %u, disp: %u, indir: %u, kind: "
+msgstr "(reg: %u, disp: %u, indir: %u, tipo: "
+
+#: vms-alpha.c:6915
+msgid "literal"
+msgstr "literal"
+
+#: vms-alpha.c:6918
+msgid "address"
+msgstr "endereÃ§o"
+
+#: vms-alpha.c:6921
+msgid "desc"
+msgstr "desc"
+
+#: vms-alpha.c:6924
+msgid "reg"
+msgstr "reg"
+
+#: vms-alpha.c:6941
+#, c-format
+msgid "len: %2u, kind: %2u "
+msgstr "tam: %2u, tipo: %2u "
+
+#: vms-alpha.c:6947
+#, c-format
+msgid "atomic, type=0x%02x %s\n"
+msgstr "atÃ³mico, tipo=0x%02x %s\n"
+
+#: vms-alpha.c:6951
+#, c-format
+msgid "indirect, defined at 0x%08x\n"
+msgstr "indirecto, definido em 0x%08x\n"
+
+#: vms-alpha.c:6955
+#, c-format
+msgid "typed pointer\n"
+msgstr "ponteiro com tipo\n"
+
+#: vms-alpha.c:6959
+#, c-format
+msgid "pointer\n"
+msgstr "ponteiro\n"
+
+#: vms-alpha.c:6967
+#, c-format
+msgid "array, dim: %u, bitmap: "
+msgstr "matriz, dim: %u, bitmap: "
+
+#: vms-alpha.c:6974
+#, c-format
+msgid "array descriptor:\n"
+msgstr "descritor de matriz:\n"
+
+#: vms-alpha.c:6981
+#, c-format
+msgid "type spec for element:\n"
+msgstr "tipo de  spec para elemento:\n"
+
+#: vms-alpha.c:6983
+#, c-format
+msgid "type spec for subscript %u:\n"
+msgstr "tipo de spec para subscrito %u:\n"
+
+#: vms-alpha.c:7001
+#, c-format
+msgid "Debug symbol table:\n"
+msgstr "Tabela de sÃ­mbolos de depuraÃ§Ã£o:\n"
+
+#: vms-alpha.c:7012
+#, c-format
+msgid "cannot read DST header\n"
+msgstr "impossÃ­vel ler cabeÃ§alho DST\n"
+
+#: vms-alpha.c:7018
+#, c-format
+msgid " type: %3u, len: %3u (at 0x%08x): "
+msgstr " tipo: %3u, tam: %3u (em 0x%08x): "
+
+#: vms-alpha.c:7032
+#, c-format
+msgid "cannot read DST symbol\n"
+msgstr "impossÃ­vel ler sÃ­mbolo DST\n"
+
+#: vms-alpha.c:7075
+#, c-format
+msgid "standard data: %s\n"
+msgstr "dados standard: %s\n"
+
+#: vms-alpha.c:7078 vms-alpha.c:7166
+#, c-format
+msgid "    name: %.*s\n"
+msgstr "    nome: %.*s\n"
+
+#: vms-alpha.c:7085
+#, c-format
+msgid "modbeg\n"
+msgstr "modbeg\n"
+
+#: vms-alpha.c:7087
+#, c-format
+msgid "   flags: %d, language: %u, major: %u, minor: %u\n"
+msgstr "   bands: %d, linguagem: %u, principal: %u, menor: %u\n"
+
+#: vms-alpha.c:7093 vms-alpha.c:7367
+#, c-format
+msgid "   module name: %.*s\n"
+msgstr "   nome mÃ³dulo: %.*s\n"
+
+#: vms-alpha.c:7096
+#, c-format
+msgid "   compiler   : %.*s\n"
+msgstr "   compilador : %.*s\n"
+
+#: vms-alpha.c:7101
+#, c-format
+msgid "modend\n"
+msgstr "modend\n"
+
+#: vms-alpha.c:7108
+msgid "rtnbeg\n"
+msgstr "rtnbeg\n"
+
+#: vms-alpha.c:7110
+#, c-format
+msgid "    flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
+msgstr "    bands: %u, endereÃ§o: 0x%08x, endereÃ§o pd: 0x%08x\n"
+
+#: vms-alpha.c:7115
+#, c-format
+msgid "    routine name: %.*s\n"
+msgstr "    nome da rotina: %.*s\n"
+
+#: vms-alpha.c:7123
+#, c-format
+msgid "rtnend: size 0x%08x\n"
+msgstr "rtnend: tamanho 0x%08x\n"
+
+#: vms-alpha.c:7131
+#, c-format
+msgid "prolog: bkpt address 0x%08x\n"
+msgstr "prÃ³logo: bkpt endereÃ§o 0x%08x\n"
+
+#: vms-alpha.c:7140
+#, c-format
+msgid "epilog: flags: %u, count: %u\n"
+msgstr "epÃ­logo: bandeiras: %u, total: %u\n"
+
+#: vms-alpha.c:7150
+#, c-format
+msgid "blkbeg: address: 0x%08x, name: %.*s\n"
+msgstr "blkbeg: endereÃ§o: 0x%08x, nome: %.*s\n"
+
+#: vms-alpha.c:7159
+#, c-format
+msgid "blkend: size: 0x%08x\n"
+msgstr "blkend: tamanho: 0x%08x\n"
+
+#: vms-alpha.c:7165
+#, c-format
+msgid "typspec (len: %u)\n"
+msgstr "typspec (tam: %u)\n"
+
+#: vms-alpha.c:7172
+#, c-format
+msgid "septyp, name: %.*s\n"
+msgstr "septyp, nome: %.*s\n"
+
+#: vms-alpha.c:7181
+#, c-format
+msgid "recbeg: name: %.*s\n"
+msgstr "recbeg: nome: %.*s\n"
+
+#: vms-alpha.c:7183
+#, c-format
+msgid "    len: %u bits\n"
+msgstr "    tam: %u bits\n"
+
+#: vms-alpha.c:7188
+#, c-format
+msgid "recend\n"
+msgstr "recend\n"
+
+#: vms-alpha.c:7192
+#, c-format
+msgid "enumbeg, len: %u, name: %.*s\n"
+msgstr "enumbeg, tam: %u, nome: %.*s\n"
+
+#: vms-alpha.c:7196
+#, c-format
+msgid "enumelt, name: %.*s\n"
+msgstr "enumelt, nome: %.*s\n"
+
+#: vms-alpha.c:7200
+#, c-format
+msgid "enumend\n"
+msgstr "enumend\n"
+
+#: vms-alpha.c:7205
+#, c-format
+msgid "label, name: %.*s\n"
+msgstr "etiqueta, nome: %.*s\n"
+
+#: vms-alpha.c:7207
+#, c-format
+msgid "    address: 0x%08x\n"
+msgstr "    endereÃ§o: 0x%08x\n"
+
+#: vms-alpha.c:7217
+#, c-format
+msgid "discontiguous range (nbr: %u)\n"
+msgstr "intervalo descontÃ­nuo (nr: %u)\n"
+
+#: vms-alpha.c:7220
+#, c-format
+msgid "    address: 0x%08x, size: %u\n"
+msgstr "    endereÃ§o: 0x%08x, tamanho: %u\n"
+
+#: vms-alpha.c:7230
+#, c-format
+msgid "line num  (len: %u)\n"
+msgstr "nÂº linha  (tam: %u)\n"
+
+#: vms-alpha.c:7247
+#, c-format
+msgid "delta_pc_w %u\n"
+msgstr "delta_pc_w %u\n"
+
+#: vms-alpha.c:7254
+#, c-format
+msgid "incr_linum(b): +%u\n"
+msgstr "incr_linum(b): +%u\n"
+
+#: vms-alpha.c:7260
+#, c-format
+msgid "incr_linum_w: +%u\n"
+msgstr "incr_linum_w: +%u\n"
+
+#: vms-alpha.c:7266
+#, c-format
+msgid "incr_linum_l: +%u\n"
+msgstr "incr_linum_l: +%u\n"
+
+#: vms-alpha.c:7272
+#, c-format
+msgid "set_line_num(w) %u\n"
+msgstr "set_line_num(w) %u\n"
+
+#: vms-alpha.c:7277
+#, c-format
+msgid "set_line_num_b %u\n"
+msgstr "set_line_num_b %u\n"
+
+#: vms-alpha.c:7282
+#, c-format
+msgid "set_line_num_l %u\n"
+msgstr "set_line_num_l %u\n"
+
+#: vms-alpha.c:7287
+#, c-format
+msgid "set_abs_pc: 0x%08x\n"
+msgstr "set_abs_pc: 0x%08x\n"
+
+#: vms-alpha.c:7291
+#, c-format
+msgid "delta_pc_l: +0x%08x\n"
+msgstr "delta_pc_l: +0x%08x\n"
+
+#: vms-alpha.c:7296
+#, c-format
+msgid "term(b): 0x%02x"
+msgstr "term(b): 0x%02x"
+
+#: vms-alpha.c:7298
+#, c-format
+msgid "        pc: 0x%08x\n"
+msgstr "        pc: 0x%08x\n"
+
+#: vms-alpha.c:7303
+#, c-format
+msgid "term_w: 0x%04x"
+msgstr "term_w: 0x%04x"
+
+#: vms-alpha.c:7305
+#, c-format
+msgid "    pc: 0x%08x\n"
+msgstr "    pc: 0x%08x\n"
+
+#: vms-alpha.c:7311
+#, c-format
+msgid "delta pc +%-4d"
+msgstr "delta pc +%-4d"
+
+#: vms-alpha.c:7315
+#, c-format
+msgid "    pc: 0x%08x line: %5u\n"
+msgstr "    pc: 0x%08x line: %5u\n"
+
+#: vms-alpha.c:7320
+#, c-format
+msgid "    *unhandled* cmd %u\n"
+msgstr "    cmd *nÃ£o gerido* %u\n"
+
+#: vms-alpha.c:7335
+#, c-format
+msgid "source (len: %u)\n"
+msgstr "fonte (tam: %u)\n"
+
+#: vms-alpha.c:7350
+#, c-format
+msgid "   declfile: len: %u, flags: %u, fileid: %u\n"
+msgstr "   declfile: tam: %u, bands: %u, idfich: %u\n"
+
+#: vms-alpha.c:7355
+#, c-format
+msgid "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
+msgstr "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
+
+#: vms-alpha.c:7364
+#, c-format
+msgid "   filename   : %.*s\n"
+msgstr "   nomeficheiro: %.*s\n"
+
+#: vms-alpha.c:7373
+#, c-format
+msgid "   setfile %u\n"
+msgstr "   setfile %u\n"
+
+#: vms-alpha.c:7378 vms-alpha.c:7383
+#, c-format
+msgid "   setrec %u\n"
+msgstr "   setrec %u\n"
+
+#: vms-alpha.c:7388 vms-alpha.c:7393
+#, c-format
+msgid "   setlnum %u\n"
+msgstr "   setlnum %u\n"
+
+#: vms-alpha.c:7398 vms-alpha.c:7403
+#, c-format
+msgid "   deflines %u\n"
+msgstr "   deflines %u\n"
+
+#: vms-alpha.c:7407
+#, c-format
+msgid "   formfeed\n"
+msgstr "   formfeed\n"
+
+#: vms-alpha.c:7411
+#, c-format
+msgid "   *unhandled* cmd %u\n"
+msgstr "   cmd *nÃ£o gerido* %u\n"
+
+#: vms-alpha.c:7423
+#, c-format
+msgid "*unhandled* dst type %u\n"
+msgstr "tipo DST *nÃ£o gerido* %u\n"
+
+#: vms-alpha.c:7455
+#, c-format
+msgid "cannot read EIHD\n"
+msgstr "impossÃ­vel ler EIHD\n"
+
+#: vms-alpha.c:7459
+#, c-format
+msgid "EIHD: (size: %u, nbr blocks: %u)\n"
+msgstr "EIHD: (tamanho: %u, nÂº blocos: %u)\n"
+
+#: vms-alpha.c:7463
+#, c-format
+msgid " majorid: %u, minorid: %u\n"
+msgstr " majorid: %u, minorid: %u\n"
+
+#: vms-alpha.c:7471
+msgid "executable"
+msgstr "executÃ¡vel"
+
+#: vms-alpha.c:7474
+msgid "linkable image"
+msgstr "imagem ligÃ¡vel"
+
+#: vms-alpha.c:7481
+#, c-format
+msgid " image type: %u (%s)"
+msgstr " tipo de imagem: %u (%s)"
+
+#: vms-alpha.c:7487
+msgid "native"
+msgstr "nativo"
+
+#: vms-alpha.c:7490
+msgid "CLI"
+msgstr "CLI"
+
+#: vms-alpha.c:7497
+#, c-format
+msgid ", subtype: %u (%s)\n"
+msgstr ", sub-tipo: %u (%s)\n"
+
+#: vms-alpha.c:7504
+#, c-format
+msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
+msgstr " desvios: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
+
+#: vms-alpha.c:7508
+#, c-format
+msgid " fixup info rva: "
+msgstr " fixup info rva: "
+
+#: vms-alpha.c:7510
+#, c-format
+msgid ", symbol vector rva: "
+msgstr ", vector sÃ­mbolo rva: "
+
+#: vms-alpha.c:7513
+#, c-format
+msgid ""
+"\n"
+" version array off: %u\n"
+msgstr ""
+"\n"
+" matriz de versÃ£o off: %u\n"
+
+#: vms-alpha.c:7518
+#, c-format
+msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
+msgstr " total img I/O: %u, nÂº canais: %u, req pri: %08x%08x\n"
+
+#: vms-alpha.c:7524
+#, c-format
+msgid " linker flags: %08x:"
+msgstr " bands linker: %08x:"
+
+#: vms-alpha.c:7555
+#, c-format
+msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
+msgstr " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
+
+#: vms-alpha.c:7561
+#, c-format
+msgid " BPAGE: %u"
+msgstr " BPAGE: %u"
+
+#: vms-alpha.c:7568
+#, c-format
+msgid ", ext fixup offset: %u, no_opt psect off: %u"
+msgstr ", desvio ext fixup: %u, no_opt psect off: %u"
+
+#: vms-alpha.c:7571
+#, c-format
+msgid ", alias: %u\n"
+msgstr ", aliÃ¡s: %u\n"
+
+#: vms-alpha.c:7579
+#, c-format
+msgid "system version array information:\n"
+msgstr "informaÃ§Ã£o da matriz de versÃ£o do sistema:\n"
+
+#: vms-alpha.c:7583
+#, c-format
+msgid "cannot read EIHVN header\n"
+msgstr "impossÃ­vel ler cabeÃ§alho EIHVN\n"
+
+#: vms-alpha.c:7593
+#, c-format
+msgid "cannot read EIHVN version\n"
+msgstr "impossÃ­vel ler versÃ£o EIHVN\n"
+
+#: vms-alpha.c:7596
+#, c-format
+msgid "   %02u "
+msgstr "   %02u "
+
+#: vms-alpha.c:7600
+msgid "BASE_IMAGE       "
+msgstr "BASE_IMAGE       "
+
+#: vms-alpha.c:7603
+msgid "MEMORY_MANAGEMENT"
+msgstr "MEMORY_MANAGEMENT"
+
+#: vms-alpha.c:7606
+msgid "IO               "
+msgstr "IO               "
+
+#: vms-alpha.c:7609
+msgid "FILES_VOLUMES    "
+msgstr "FILES_VOLUMES    "
+
+#: vms-alpha.c:7612
+msgid "PROCESS_SCHED    "
+msgstr "PROCESS_SCHED    "
+
+#: vms-alpha.c:7615
+msgid "SYSGEN           "
+msgstr "SYSGEN           "
+
+#: vms-alpha.c:7618
+msgid "CLUSTERS_LOCKMGR "
+msgstr "CLUSTERS_LOCKMGR "
+
+#: vms-alpha.c:7621
+msgid "LOGICAL_NAMES    "
+msgstr "LOGICAL_NAMES    "
+
+#: vms-alpha.c:7624
+msgid "SECURITY         "
+msgstr "SECURITY         "
+
+#: vms-alpha.c:7627
+msgid "IMAGE_ACTIVATOR  "
+msgstr "IMAGE_ACTIVATOR  "
+
+#: vms-alpha.c:7630
+msgid "NETWORKS         "
+msgstr "NETWORKS         "
+
+#: vms-alpha.c:7633
+msgid "COUNTERS         "
+msgstr "COUNTERS         "
+
+#: vms-alpha.c:7636
+msgid "STABLE           "
+msgstr "STABLE           "
+
+#: vms-alpha.c:7639
+msgid "MISC             "
+msgstr "MISC             "
+
+#: vms-alpha.c:7642
+msgid "CPU              "
+msgstr "CPU              "
+
+#: vms-alpha.c:7645
+msgid "VOLATILE         "
+msgstr "VOLATILE         "
+
+#: vms-alpha.c:7648
+msgid "SHELL            "
+msgstr "SHELL            "
+
+#: vms-alpha.c:7651
+msgid "POSIX            "
+msgstr "POSIX            "
+
+#: vms-alpha.c:7654
+msgid "MULTI_PROCESSING "
+msgstr "MULTI_PROCESSING "
+
+#: vms-alpha.c:7657
+msgid "GALAXY           "
+msgstr "GALAXY           "
+
+#: vms-alpha.c:7660
+msgid "*unknown*        "
+msgstr "*desconhecido*   "
+
+#: vms-alpha.c:7676 vms-alpha.c:7951
+#, c-format
+msgid "cannot read EIHA\n"
+msgstr "impossÃ­vel ler EIHA\n"
+
+#: vms-alpha.c:7679
+#, c-format
+msgid "Image activation:  (size=%u)\n"
+msgstr "ActivaÃ§Ã£o da imagem:  (tam=%u)\n"
+
+#: vms-alpha.c:7682
+#, c-format
+msgid " First address : 0x%08x 0x%08x\n"
+msgstr " 1Âº endereÃ§o: 0x%08x 0x%08x\n"
+
+#: vms-alpha.c:7686
+#, c-format
+msgid " Second address: 0x%08x 0x%08x\n"
+msgstr " 2Âº endereÃ§o: 0x%08x 0x%08x\n"
+
+#: vms-alpha.c:7690
+#, c-format
+msgid " Third address : 0x%08x 0x%08x\n"
+msgstr " 3Âº endereÃ§o: 0x%08x 0x%08x\n"
+
+#: vms-alpha.c:7694
+#, c-format
+msgid " Fourth address: 0x%08x 0x%08x\n"
+msgstr " 4Âº endereÃ§o: 0x%08x 0x%08x\n"
+
+#: vms-alpha.c:7698
+#, c-format
+msgid " Shared image  : 0x%08x 0x%08x\n"
+msgstr " Imagem partilhada: 0x%08x 0x%08x\n"
+
+#: vms-alpha.c:7709
+#, c-format
+msgid "cannot read EIHI\n"
+msgstr "impossÃ­vel ler EIHI\n"
+
+#: vms-alpha.c:7713
+#, c-format
+msgid "Image identification: (major: %u, minor: %u)\n"
+msgstr "IdentificaÃ§Ã£o da imagem: (principal: %u, menor: %u)\n"
+
+#: vms-alpha.c:7716
+#, c-format
+msgid " image name       : %.*s\n"
+msgstr " nome da imagem   : %.*s\n"
+
+#: vms-alpha.c:7718
+#, c-format
+msgid " link time        : %s\n"
+msgstr " hora de ligaÃ§Ã£o  : %s\n"
+
+#: vms-alpha.c:7720
+#, c-format
+msgid " image ident      : %.*s\n"
+msgstr " ident imagem     : %.*s\n"
+
+#: vms-alpha.c:7722
+#, c-format
+msgid " linker ident     : %.*s\n"
+msgstr " ident linker     : %.*s\n"
+
+#: vms-alpha.c:7724
+#, c-format
+msgid " image build ident: %.*s\n"
+msgstr " ident build imagem: %.*s\n"
+
+#: vms-alpha.c:7734
+#, c-format
+msgid "cannot read EIHS\n"
+msgstr "impossÃ­vel ler EIHS\n"
+
+#: vms-alpha.c:7738
+#, c-format
+msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
+msgstr "Tabela de sÃ­mbolo de imagem e depuraÃ§Ã£o: (principal: %u, menor: %u)\n"
+
+#: vms-alpha.c:7744
+#, c-format
+msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
+msgstr " tabela de sÃ­mbolo de depuraÃ§Ã£o : vbn: %u, tamanho: %u (0x%x)\n"
+
+#: vms-alpha.c:7749
+#, c-format
+msgid " global symbol table: vbn: %u, records: %u\n"
+msgstr " tabela de sÃ­mbolo global: vbn: %u, registos: %u\n"
+
+#: vms-alpha.c:7754
+#, c-format
+msgid " debug module table : vbn: %u, size: %u\n"
+msgstr " tabela de mÃ³dulo de depuraÃ§Ã£o: vbn: %u, tamanho: %u\n"
+
+#: vms-alpha.c:7767
+#, c-format
+msgid "cannot read EISD\n"
+msgstr "impossÃ­vel ler EISD\n"
+
+#: vms-alpha.c:7778
+#, c-format
+msgid "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
+msgstr "Descritor de secÃ§Ã£o de imagem: (principal: %u, menor: %u, tamanho: %u, desvio: %u)\n"
+
+#: vms-alpha.c:7786
+#, c-format
+msgid " section: base: 0x%08x%08x size: 0x%08x\n"
+msgstr " secÃ§Ã£o: base: 0x%08x%08x tamanho: 0x%08x\n"
+
+#: vms-alpha.c:7791
+#, c-format
+msgid " flags: 0x%04x"
+msgstr " bandeiras: 0x%04x"
+
+#: vms-alpha.c:7829
+#, c-format
+msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
+msgstr " vbn: %u, pfc: %u, matchctl: %u tipo: %u ("
+
+#: vms-alpha.c:7835
+msgid "NORMAL"
+msgstr "NORMAL"
+
+#: vms-alpha.c:7838
+msgid "SHRFXD"
+msgstr "SHRFXD"
+
+#: vms-alpha.c:7841
+msgid "PRVFXD"
+msgstr "PRVFXD"
+
+#: vms-alpha.c:7844
+msgid "SHRPIC"
+msgstr "SHRPIC"
+
+#: vms-alpha.c:7847
+msgid "PRVPIC"
+msgstr "PRVPIC"
+
+#: vms-alpha.c:7850
+msgid "USRSTACK"
+msgstr "USRSTACK"
+
+#: vms-alpha.c:7856
+msgid ")\n"
+msgstr ")\n"
+
+#: vms-alpha.c:7859
+#, c-format
+msgid " ident: 0x%08x, name: %.*s\n"
+msgstr " ident: 0x%08x, nome: %.*s\n"
+
+#: vms-alpha.c:7869
+#, c-format
+msgid "cannot read DMT\n"
+msgstr "impossÃ­vel ler DMT\n"
+
+#: vms-alpha.c:7873
+#, c-format
+msgid "Debug module table:\n"
+msgstr "Tabela de mÃ³dulo de depuraÃ§Ã£o:\n"
+
+#: vms-alpha.c:7882
+#, c-format
+msgid "cannot read DMT header\n"
+msgstr "impossÃ­vel ler cabeÃ§alho DMT\n"
+
+#: vms-alpha.c:7888
+#, c-format
+msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
+msgstr " desvio do mÃ³dulo: 0x%08x, tamanho: 0x%08x, (%u psects)\n"
+
+#: vms-alpha.c:7898
+#, c-format
+msgid "cannot read DMT psect\n"
+msgstr "impossÃ­vel ler psect DMT\n"
+
+#: vms-alpha.c:7902
+#, c-format
+msgid "  psect start: 0x%08x, length: %u\n"
+msgstr "  inÃ­cio psect: 0x%08x, tamanho: %u\n"
+
+#: vms-alpha.c:7915
+#, c-format
+msgid "cannot read DST\n"
+msgstr "impossÃ­vel ler DST\n"
+
+#: vms-alpha.c:7925
+#, c-format
+msgid "cannot read GST\n"
+msgstr "impossÃ­vel ler GST\n"
+
+#: vms-alpha.c:7929
+#, c-format
+msgid "Global symbol table:\n"
+msgstr "Tabela de sÃ­mbolo global:\n"
+
+#: vms-alpha.c:7958
+#, c-format
+msgid "Image activator fixup: (major: %u, minor: %u)\n"
+msgstr "Fixup do activador de imagem: (principal: %u, menor: %u)\n"
+
+#: vms-alpha.c:7962
+#, c-format
+msgid "  iaflink : 0x%08x %08x\n"
+msgstr "  iaflink : 0x%08x %08x\n"
+
+#: vms-alpha.c:7966
+#, c-format
+msgid "  fixuplnk: 0x%08x %08x\n"
+msgstr "  fixuplnk: 0x%08x %08x\n"
+
+#: vms-alpha.c:7969
+#, c-format
+msgid "  size : %u\n"
+msgstr "  tamanho: %u\n"
+
+#: vms-alpha.c:7971
+#, c-format
+msgid "  flags: 0x%08x\n"
+msgstr "  bandeiras: 0x%08x\n"
+
+#: vms-alpha.c:7976
+#, c-format
+msgid "  qrelfixoff: %5u, lrelfixoff: %5u\n"
+msgstr "  qrelfixoff: %5u, lrelfixoff: %5u\n"
+
+#: vms-alpha.c:7981
+#, c-format
+msgid "  qdotadroff: %5u, ldotadroff: %5u\n"
+msgstr "  qdotadroff: %5u, ldotadroff: %5u\n"
+
+#: vms-alpha.c:7986
+#, c-format
+msgid "  codeadroff: %5u, lpfixoff  : %5u\n"
+msgstr "  codeadroff: %5u, lpfixoff  : %5u\n"
+
+#: vms-alpha.c:7989
+#, c-format
+msgid "  chgprtoff : %5u\n"
+msgstr "  chgprtoff : %5u\n"
+
+#: vms-alpha.c:7993
+#, c-format
+msgid "  shlstoff  : %5u, shrimgcnt : %5u\n"
+msgstr "  shlstoff  : %5u, shrimgcnt : %5u\n"
+
+#: vms-alpha.c:7996
+#, c-format
+msgid "  shlextra  : %5u, permctx   : %5u\n"
+msgstr "  shlextra  : %5u, permctx   : %5u\n"
+
+#: vms-alpha.c:7999
+#, c-format
+msgid "  base_va : 0x%08x\n"
+msgstr "  base_va : 0x%08x\n"
+
+#: vms-alpha.c:8001
+#, c-format
+msgid "  lppsbfixoff: %5u\n"
+msgstr "  lppsbfixoff: %5u\n"
+
+#: vms-alpha.c:8009
+#, c-format
+msgid " Shareable images:\n"
+msgstr " Imagens partilhÃ¡veis:\n"
+
+#: vms-alpha.c:8014
+#, c-format
+msgid "  %u: size: %u, flags: 0x%02x, name: %.*s\n"
+msgstr "  %u: tam.: %u, bands: 0x%02x, nome: %.*s\n"
+
+#: vms-alpha.c:8021
+#, c-format
+msgid " quad-word relocation fixups:\n"
+msgstr " fixups de relocalizaÃ§Ã£o de quad-word:\n"
+
+#: vms-alpha.c:8026
+#, c-format
+msgid " long-word relocation fixups:\n"
+msgstr " fixups de relocalizaÃ§Ã£o de long-word:\n"
+
+#: vms-alpha.c:8031
+#, c-format
+msgid " quad-word .address reference fixups:\n"
+msgstr " fixups de referÃªncia de .address de quad-word:\n"
+
+#: vms-alpha.c:8036
+#, c-format
+msgid " long-word .address reference fixups:\n"
+msgstr " fixups de referÃªncia de .address de long-word:\n"
+
+#: vms-alpha.c:8041
+#, c-format
+msgid " Code Address Reference Fixups:\n"
+msgstr " Fixups de referÃªncia de endereÃ§o de cÃ³digo:\n"
+
+#: vms-alpha.c:8046
+#, c-format
+msgid " Linkage Pairs Reference Fixups:\n"
+msgstr "Fixups de referÃªncia de pares de ligaÃ§Ã£o:\n"
+
+#: vms-alpha.c:8055
+#, c-format
+msgid " Change Protection (%u entries):\n"
+msgstr " Alterar protecÃ§Ã£o (%u entradas):\n"
+
+#: vms-alpha.c:8061
+#, c-format
+msgid "  base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
+msgstr "  base: 0x%08x %08x, tam.: 0x%08x, prot: 0x%08x "
+
+#. FIXME: we do not yet support relocatable link.  It is not obvious
+#. how to do it for debug infos.
+#: vms-alpha.c:8901
+msgid "%P: relocatable link is not supported\n"
+msgstr "%P: ligaÃ§Ã£o relocalizÃ¡vel nÃ£o suportada\n"
+
+#: vms-alpha.c:8972
+#, c-format
+msgid "%P: multiple entry points: in modules %B and %B\n"
+msgstr "%P: mÃºltiplos pontos de entrada: nos mÃ³dulos %B e %B\n"
+
+#: vms-lib.c:1445
+#, c-format
+msgid "could not open shared image '%s' from '%s'"
+msgstr "impossÃ­vel abrir imagem partilhada \"%s\" de \"%s\""
+
+#: vms-misc.c:361
+msgid "_bfd_vms_output_counted called with zero bytes"
+msgstr "_bfd_vms_output_counted chamado com zero bytes"
+
+#: vms-misc.c:366
+msgid "_bfd_vms_output_counted called with too many bytes"
+msgstr "_bfd_vms_output_counted chamado com demasiados bytes"
+
+#: xcofflink.c:832
+msgid "%B: XCOFF shared object when not producing XCOFF output"
+msgstr "%B: objecto partilhado XCOFF sem produzir saÃ­da XCOFF"
+
+#: xcofflink.c:853
+msgid "%B: dynamic object with no .loader section"
+msgstr "%B: objecto dinÃ¢mico sem secÃ§Ã£o .loader"
+
+#: xcofflink.c:1413
+#, c-format
+msgid "%B: `%s' has line numbers but no enclosing section"
+msgstr "%B: \"%s\" tem nÃºmeros de linha mas sem secÃ§Ã£o envolvente"
+
+#: xcofflink.c:1466
+#, c-format
+msgid "%B: class %d symbol `%s' has no aux entries"
+msgstr "%B: classe %d sÃ­mbolo \"%s\" nÃ£o tem entradas aux"
+
+#: xcofflink.c:1489
+#, c-format
+msgid "%B: symbol `%s' has unrecognized csect type %d"
+msgstr "%B: sÃ­mbolo \"%s\" tem tipo csect %d nÃ£o reconhecido"
+
+#: xcofflink.c:1502
+#, c-format
+msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld"
+msgstr "%B: mau sÃ­mbolo XTY_ER \"%s\": classe %d scnum %d scnlen %Ld"
+
+#: xcofflink.c:1532
+#, c-format
+msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld"
+msgstr "%B: XMC_TC0 sÃ­mbolo \"%s\" Ã© classe %d scnlen %Ld"
+
+#: xcofflink.c:1679
+#, c-format
+msgid "%B: csect `%s' not in enclosing section"
+msgstr "%B: csect \"%s\" nÃ£o estÃ¡ em secÃ§Ã£o envolvente"
+
+#: xcofflink.c:1787
+#, c-format
+msgid "%B: misplaced XTY_LD `%s'"
+msgstr "%B: XTY_LD \"%s\" mal colocado"
+
+#: xcofflink.c:2108
+#, c-format
+msgid "%B: reloc %s:%Ld not in csect"
+msgstr "%B: reloc %s:%Ld fora de csect"
+
+#: xcofflink.c:3198
+#, c-format
+msgid "%s: no such symbol"
+msgstr "%s: sem tal sÃ­mbolo"
+
+#: xcofflink.c:3303
+#, c-format
+msgid "warning: attempt to export undefined symbol `%s'"
+msgstr "aviso: tentativa de exportar sÃ­mbolo \"%s\" indefinido"
+
+#: xcofflink.c:3682
+msgid "error: undefined symbol __rtinit"
+msgstr "erro: sÃ­mbolo __rtinit indefinido"
+
+#: xcofflink.c:4062
+#, c-format
+msgid "%B: loader reloc in unrecognized section `%s'"
+msgstr "%B: reloc loader em secÃ§Ã£o \"%s\" nÃ£o reconhecida"
+
+#: xcofflink.c:4074
+#, c-format
+msgid "%B: `%s' in loader reloc but not loader sym"
+msgstr "%B: \"%s\" em reloc loader mas sem sÃ­mbolo loader"
+
+#: xcofflink.c:4091
+#, c-format
+msgid "%B: loader reloc in read-only section %A"
+msgstr "%B: reloc loader em secÃ§Ã£o sÃ³ de leitura %A"
+
+#: xcofflink.c:5115
+#, c-format
+msgid "TOC overflow: %#Lx > 0x10000; try -mminimal-toc when compiling"
+msgstr "Transporte TOC: %#Lx > 0x10000; tente -mminimal-toc ao compilar"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:1890
+#, c-format
+msgid "Invalid AArch64 reloc number: %d"
+msgstr "NÃºmero de reloc AArch64 invÃ¡lido: %d"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:4779
+msgid "%B: error: Erratum 835769 stub out of range (input file too large)"
+msgstr "%B: erro: Erratum 835769 fictÃ­cio fora do intervalo (ficheiro de entrada muito grande)"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:4860
+msgid "%B: error: Erratum 843419 stub out of range (input file too large)"
+msgstr "%B: erro: Erratum 843419 fictÃ­cio fora do intervalo (ficheiro de entrada muito grande)"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5366
+#, c-format
+msgid "%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC"
+msgstr "%B: relocalizaÃ§Ã£o %s contra sÃ­mbolo \"%s\" que pode ligar externamente nÃ£o pode ser usada ao fazer um objecto partilhado; recompile com -fPIC"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5457
+#, c-format
+msgid "%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol"
+msgstr "%B: tabela de descritor de sÃ­mbolo local Ã© NULL ao aplicar relocalizaÃ§Ã£o %s contra sÃ­mbolo local"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6479
+msgid "Too many GOT entries for -fpic, please recompile with -fPIC"
+msgstr "Demasiadas entradas GOT para -fpic, recompile com -fPIC"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6507
+msgid "One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined."
+msgstr "Uma causa possÃ­vel deste erro Ã© o sÃ­mbolo ser referenciado no cÃ³digo indicado como se tivesse um alinhamento maior do que aquele que foi declarado na definiÃ§Ã£o."
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7084
+#, c-format
+msgid "%B: relocation %s against `%s' can not be used when making a shared object"
+msgstr "%B: relocalizaÃ§Ã£o %s contra \"%s\" nÃ£o pode ser usada ao fazer um objecto partilhado"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2570
+msgid ""
+"%B: ABI is incompatible with that of the selected emulation:\n"
+"  target emulation `%s' does not match `%s'"
+msgstr ""
+"%B: ABI Ã© incompatÃ­vel com aquele da emulaÃ§Ã£o seleccionada:\n"
+"  emulaÃ§Ã£o alvo \"%s\" nÃ£o corresponde a \"%s\""
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2590
+msgid "%B: can't link hard-float modules with soft-float modules"
+msgstr "%B: impossÃ­vel ligar mÃ³dulos hard-float com mÃ³dulos soft-float"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:3070
+msgid "%B(%A+0x%lx): %d bytes required for alignment to %d-byte boundary, but only %d present"
+msgstr "%B(%A+0x%lx): %d bytes requeridos para alinhamento com limite %d-byte, mas sÃ³ hÃ¡ %d presentes"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:3136
+msgid "%B(%A+0x%lx): Unable to clear RISCV_PCREL_HI20 relocfor cooresponding RISCV_PCREL_LO12 reloc"
+msgstr "%B(%A+0x%lx): impossÃ­vel limpar RISCV_PCREL_HI20 relocfor corespondente a reloc RISCV_PCREL_LO12"
+
+#: peigen.c:157 pepigen.c:157 pex64igen.c:157
+msgid "%B: unable to find name for empty section"
+msgstr "%B: impossÃ­vel encontrar nome para secÃ§Ã£o vazia"
+
+#: peigen.c:183 pepigen.c:183 pex64igen.c:183
+msgid "%B: out of memory creating name for empty section"
+msgstr "%B: sem memÃ³ria ao criar nome para secÃ§Ã£o vazia"
+
+#: peigen.c:194 pepigen.c:194 pex64igen.c:194
+msgid "%B: unable to create fake empty section"
+msgstr "%B: impossÃ­vel criar secÃ§Ã£o vazia falsa"
+
+#: peigen.c:532 pepigen.c:532 pex64igen.c:532
+msgid "%B: aout header specifies an invalid number of data-directory entries: %ld"
+msgstr "%B: cabeÃ§alho aout especifica um nÃºmero invÃ¡lido de entradas data-directory: %ld"
+
+#: peigen.c:1089 pepigen.c:1089 pex64igen.c:1089
+#, c-format
+msgid "%B: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: transporte de nÂº de linha: 0x%lx > 0xffff"
+
+#: peigen.c:1233 pepigen.c:1233 pex64igen.c:1233
+msgid "Export Directory [.edata (or where ever we found it)]"
+msgstr "Pasta de exportaÃ§Ã£o [.edata (ou onde o encontrÃ¡mos)]"
+
+#: peigen.c:1234 pepigen.c:1234 pex64igen.c:1234
+msgid "Import Directory [parts of .idata]"
+msgstr "Pasta de importaÃ§Ã£o [partes de .idata]"
+
+#: peigen.c:1235 pepigen.c:1235 pex64igen.c:1235
+msgid "Resource Directory [.rsrc]"
+msgstr "Pasta de recursos [.rsrc]"
+
+#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236
+msgid "Exception Directory [.pdata]"
+msgstr "Pasta de excepÃ§Ãµes [.pdata]"
+
+#: peigen.c:1237 pepigen.c:1237 pex64igen.c:1237
+msgid "Security Directory"
+msgstr "Pasta de seguranÃ§a"
+
+#: peigen.c:1238 pepigen.c:1238 pex64igen.c:1238
+msgid "Base Relocation Directory [.reloc]"
+msgstr "Pasta de relocalizaÃ§Ã£o base [.reloc]"
+
+#: peigen.c:1239 pepigen.c:1239 pex64igen.c:1239
+msgid "Debug Directory"
+msgstr "Pasta de depuraÃ§Ã£o"
+
+#: peigen.c:1240 pepigen.c:1240 pex64igen.c:1240
+msgid "Description Directory"
+msgstr "Pasta de descriÃ§Ã£o"
+
+#: peigen.c:1241 pepigen.c:1241 pex64igen.c:1241
+msgid "Special Directory"
+msgstr "Pasta especial"
+
+#: peigen.c:1242 pepigen.c:1242 pex64igen.c:1242
+msgid "Thread Storage Directory [.tls]"
+msgstr "Pasta de armazenamento de Thread [.tls]"
+
+#: peigen.c:1243 pepigen.c:1243 pex64igen.c:1243
+msgid "Load Configuration Directory"
+msgstr "Pasta de configuraÃ§Ã£o de carregamento"
+
+#: peigen.c:1244 pepigen.c:1244 pex64igen.c:1244
+msgid "Bound Import Directory"
+msgstr "Pasta de importaÃ§Ã£o vinculada"
+
+#: peigen.c:1245 pepigen.c:1245 pex64igen.c:1245
+msgid "Import Address Table Directory"
+msgstr "Pasta de tabela de endereÃ§os de importaÃ§Ã£o"
+
+#: peigen.c:1246 pepigen.c:1246 pex64igen.c:1246
+msgid "Delay Import Directory"
+msgstr "Pasta de atraso de importaÃ§Ã£o"
+
+#: peigen.c:1247 pepigen.c:1247 pex64igen.c:1247
+msgid "CLR Runtime Header"
+msgstr "CabeÃ§alho de execuÃ§Ã£o CLR"
+
+#: peigen.c:1248 pepigen.c:1248 pex64igen.c:1248
+msgid "Reserved"
+msgstr "Reservado"
+
+#: peigen.c:1308 pepigen.c:1308 pex64igen.c:1308
+#, c-format
+msgid ""
+"\n"
+"There is an import table, but the section containing it could not be found\n"
+msgstr ""
+"\n"
+"HÃ¡ uma tabela de importaÃ§Ã£o, mas a secÃ§Ã£o que a contÃ©m nÃ£o pÃ´de ser encontrada\n"
+
+#: peigen.c:1314 pepigen.c:1314 pex64igen.c:1314
+#, c-format
+msgid ""
+"\n"
+"There is an import table in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"HÃ¡ uma tabela de importaÃ§Ã£o em %s, mas essa secÃ§Ã£o nÃ£o tem conteÃºdo\n"
+
+#: peigen.c:1321 pepigen.c:1321 pex64igen.c:1321
+#, c-format
+msgid ""
+"\n"
+"There is an import table in %s at 0x%lx\n"
+msgstr ""
+"\n"
+"HÃ¡ uma tabela de importaÃ§Ã£o em %s em 0x%lx\n"
+
+#: peigen.c:1363 pepigen.c:1363 pex64igen.c:1363
+#, c-format
+msgid ""
+"\n"
+"Function descriptor located at the start address: %04lx\n"
+msgstr ""
+"\n"
+"Descritor de funÃ§Ã£o localizado no endereÃ§o inicial: %04lx\n"
+
+#: peigen.c:1367 pepigen.c:1367 pex64igen.c:1367
+#, c-format
+msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
+msgstr "\tcode-base %08lx toc (carregÃ¡vel/actual) %08lx/%08lx\n"
+
+#: peigen.c:1375 pepigen.c:1375 pex64igen.c:1375
+#, c-format
+msgid ""
+"\n"
+"No reldata section! Function descriptor not decoded.\n"
+msgstr ""
+"\n"
+"Sem secÃ§Ã£o reldata! Descritor de funÃ§Ã£o nÃ£o descodificado.\n"
+
+#: peigen.c:1380 pepigen.c:1380 pex64igen.c:1380
+#, c-format
+msgid ""
+"\n"
+"The Import Tables (interpreted %s section contents)\n"
+msgstr ""
+"\n"
+"As tabelas de importaÃ§Ã£o (interpretado %s conteÃºdo de secÃ§Ã£o)\n"
+
+#: peigen.c:1383 pepigen.c:1383 pex64igen.c:1383
+#, c-format
+msgid ""
+" vma:            Hint    Time      Forward  DLL       First\n"
+"                 Table   Stamp     Chain    Name      Thunk\n"
+msgstr ""
+" vma:            Dica    Hora      AvanÃ§o   DLL       Prim.\n"
+"                 Tabela  Selo      Cadeia   Nome      Thunk\n"
+
+#: peigen.c:1433 pepigen.c:1433 pex64igen.c:1433
+#, c-format
+msgid ""
+"\n"
+"\tDLL Name: %.*s\n"
+msgstr ""
+"\n"
+"\tNome DLL: %.*s\n"
+
+#: peigen.c:1449 pepigen.c:1449 pex64igen.c:1449
+#, c-format
+msgid "\tvma:  Hint/Ord Member-Name Bound-To\n"
+msgstr "\tvma:  Dica/Ord Nome-membro ligado a\n"
+
+#: peigen.c:1474 pepigen.c:1474 pex64igen.c:1474
+#, c-format
+msgid ""
+"\n"
+"There is a first thunk, but the section containing it could not be found\n"
+msgstr ""
+"\n"
+"HÃ¡ um primeiro thunk, mas a secÃ§Ã£o que o contÃ©m nÃ£o pÃ´de ser encontrada\n"
+
+#: peigen.c:1518 peigen.c:1557 pepigen.c:1518 pepigen.c:1557 pex64igen.c:1518
+#: pex64igen.c:1557
+#, c-format
+msgid "\t<corrupt: 0x%04lx>"
+msgstr "\t<corrupto: 0x%04lx>"
+
+#: peigen.c:1650 pepigen.c:1650 pex64igen.c:1650
+#, c-format
+msgid ""
+"\n"
+"There is an export table, but the section containing it could not be found\n"
+msgstr ""
+"\n"
+"HÃ¡ uma tabela de exportaÃ§Ã£o, mas a secÃ§Ã£o que a contÃ©m nÃ£o pÃ´de ser encontrada\n"
+
+#: peigen.c:1656 pepigen.c:1656 pex64igen.c:1656
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"HÃ¡ uma tabela de exportaÃ§Ã£o em %s, mas essa secÃ§Ã£o nÃ£o tem conteÃºdo\n"
+
+#: peigen.c:1666 pepigen.c:1666 pex64igen.c:1666
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but it does not fit into that section\n"
+msgstr ""
+"\n"
+"HÃ¡ uma tabela de exportaÃ§Ã£o em %s, mas nÃ£o serve nessa secÃ§Ã£o\n"
+
+#: peigen.c:1677 pepigen.c:1677 pex64igen.c:1677
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but it is too small (%d)\n"
+msgstr ""
+"\n"
+"HÃ¡ uma tabela de exportaÃ§Ã£o em %s, mas Ã© demasiado pequena (%d)\n"
+
+#: peigen.c:1683 pepigen.c:1683 pex64igen.c:1683
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s at 0x%lx\n"
+msgstr ""
+"\n"
+"HÃ¡ uma tabela de exportaÃ§Ã£o em %s em 0x%lx\n"
+
+#: peigen.c:1711 pepigen.c:1711 pex64igen.c:1711
+#, c-format
+msgid ""
+"\n"
+"The Export Tables (interpreted %s section contents)\n"
+"\n"
+msgstr ""
+"\n"
+"As tabelas de exportaÃ§Ã£o (interpretado %s conteÃºdo de secÃ§Ã£o)\n"
+"\n"
+
+#: peigen.c:1715 pepigen.c:1715 pex64igen.c:1715
+#, c-format
+msgid "Export Flags \t\t\t%lx\n"
+msgstr "Bandeiras de exportaÃ§Ã£o \t\t\t%lx\n"
+
+#: peigen.c:1718 pepigen.c:1718 pex64igen.c:1718
+#, c-format
+msgid "Time/Date stamp \t\t%lx\n"
+msgstr "Selo Hora/Data \t\t%lx\n"
+
+#: peigen.c:1722 pepigen.c:1722 pex64igen.c:1722
+#, c-format
+msgid "Major/Minor \t\t\t%d/%d\n"
+msgstr "Principal/Menor \t\t\t%d/%d\n"
+
+#: peigen.c:1725 pepigen.c:1725 pex64igen.c:1725
+#, c-format
+msgid "Name \t\t\t\t"
+msgstr "Nome \t\t\t\t"
+
+#: peigen.c:1736 pepigen.c:1736 pex64igen.c:1736
+#, c-format
+msgid "Ordinal Base \t\t\t%ld\n"
+msgstr "Base ordinal \t\t\t%ld\n"
+
+#: peigen.c:1739 pepigen.c:1739 pex64igen.c:1739
+#, c-format
+msgid "Number in:\n"
+msgstr "NÃºmero em:\n"
+
+#: peigen.c:1742 pepigen.c:1742 pex64igen.c:1742
+#, c-format
+msgid "\tExport Address Table \t\t%08lx\n"
+msgstr "\tTabela end. exportaÃ§Ã£o \t\t%08lx\n"
+
+#: peigen.c:1746 pepigen.c:1746 pex64igen.c:1746
+#, c-format
+msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
+msgstr "\t[Nome Ponteiro/Ordinal] Tabela\t%08lx\n"
+
+#: peigen.c:1749 pepigen.c:1749 pex64igen.c:1749
+#, c-format
+msgid "Table Addresses\n"
+msgstr "EndereÃ§os da tabela\n"
+
+#: peigen.c:1752 pepigen.c:1752 pex64igen.c:1752
+#, c-format
+msgid "\tExport Address Table \t\t"
+msgstr "\tTabela end. exportaÃ§Ã£o \t\t"
+
+#: peigen.c:1757 pepigen.c:1757 pex64igen.c:1757
+#, c-format
+msgid "\tName Pointer Table \t\t"
+msgstr "\tTabela Nome Ponteiro \t\t"
+
+#: peigen.c:1762 pepigen.c:1762 pex64igen.c:1762
+#, c-format
+msgid "\tOrdinal Table \t\t\t"
+msgstr "\tTabela ordinal \t\t\t"
+
+#: peigen.c:1776 pepigen.c:1776 pex64igen.c:1776
+#, c-format
+msgid ""
+"\n"
+"Export Address Table -- Ordinal Base %ld\n"
+msgstr ""
+"\n"
+"Tabela end. exportaÃ§Ã£o -- Base ordinal %ld\n"
+
+#: peigen.c:1785 pepigen.c:1785 pex64igen.c:1785
+#, c-format
+msgid "\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\trva de tabela de end. de exportaÃ§Ã£o (0x%lx) ou total de entradas (0x%lx) invÃ¡lidos\n"
+
+#: peigen.c:1804 pepigen.c:1804 pex64igen.c:1804
+msgid "Forwarder RVA"
+msgstr "Reencaminhador RVA"
+
+#: peigen.c:1816 pepigen.c:1816 pex64igen.c:1816
+msgid "Export RVA"
+msgstr "ExportaÃ§Ã£o RVA"
+
+#: peigen.c:1823 pepigen.c:1823 pex64igen.c:1823
+#, c-format
+msgid ""
+"\n"
+"[Ordinal/Name Pointer] Table\n"
+msgstr ""
+"\n"
+"Tabela [Ordinal/Nome Ponteiro]\n"
+
+#: peigen.c:1831 pepigen.c:1831 pex64igen.c:1831
+#, c-format
+msgid "\tInvalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\trva de tabela de ponteiro de nome (0x%lx) ou total de entradas (0x%lx) invÃ¡lidos\n"
+
+#: peigen.c:1838 pepigen.c:1838 pex64igen.c:1838
+#, c-format
+msgid "\tInvalid Ordinal Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\trva de tabela ordinal (0x%lx) ou total de entradas (0x%lx) invÃ¡lidos\n"
+
+#: peigen.c:1852 pepigen.c:1852 pex64igen.c:1852
+#, c-format
+msgid "\t[%4ld] <corrupt offset: %lx>\n"
+msgstr "\t[%4ld] <desvio corrupto: %lx>\n"
+
+#: peigen.c:1906 peigen.c:2103 pepigen.c:1906 pepigen.c:2103 pex64igen.c:1906
+#: pex64igen.c:2103
+#, c-format
+msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
+msgstr "Aviso, .tamanho da secÃ§Ã£o pdata (%ld) nÃ£o Ã© mÃºltiplo de %d\n"
+
+#: peigen.c:1910 peigen.c:2107 pepigen.c:1910 pepigen.c:2107 pex64igen.c:1910
+#: pex64igen.c:2107
+#, c-format
+msgid ""
+"\n"
+"The Function Table (interpreted .pdata section contents)\n"
+msgstr ""
+"\n"
+"A tabela de funÃ§Ã£o (interpretado conteÃºdo de secÃ§Ã£o .pdata)\n"
+
+#: peigen.c:1913 pepigen.c:1913 pex64igen.c:1913
+#, c-format
+msgid " vma:\t\t\tBegin Address    End Address      Unwind Info\n"
+msgstr " vma:\t\t\tEnd. inicial     End. final       Info Unwind\n"
+
+#: peigen.c:1915 pepigen.c:1915 pex64igen.c:1915
+#, c-format
+msgid ""
+" vma:\t\tBegin    End      EH       EH       PrologEnd  Exception\n"
+"     \t\tAddress  Address  Handler  Data     Address    Mask\n"
+msgstr ""
+" vma:\t\tInÃ­cio   Fim      EH       EH       PrÃ³logFim  ExcepÃ§Ã£o\n"
+"     \t\tEndereÃ§o EndereÃ§o Gestor   Dados    EndereÃ§o   MÃ¡scara\n"
+
+#: peigen.c:1928 pepigen.c:1928 pex64igen.c:1928
+#, c-format
+msgid "Virtual size of .pdata section (%ld) larger than real size (%ld)\n"
+msgstr "Tamanho virtual da secÃ§Ã£o .pdata (%ld) maior que o tamanho real (%ld)\n"
+
+#: peigen.c:1998 pepigen.c:1998 pex64igen.c:1998
+#, c-format
+msgid " Register save millicode"
+msgstr " Register save millicode"
+
+#: peigen.c:2001 pepigen.c:2001 pex64igen.c:2001
+#, c-format
+msgid " Register restore millicode"
+msgstr " Register restore millicode"
+
+#: peigen.c:2004 pepigen.c:2004 pex64igen.c:2004
+#, c-format
+msgid " Glue code sequence"
+msgstr " Colar sequÃªncia de cÃ³digo"
+
+#: peigen.c:2109 pepigen.c:2109 pex64igen.c:2109
+#, c-format
+msgid ""
+" vma:\t\tBegin    Prolog   Function Flags    Exception EH\n"
+"     \t\tAddress  Length   Length   32b exc  Handler   Data\n"
+msgstr ""
+" vma:\t\tInÃ­cio   PrÃ³logo  FunÃ§Ã£o   Bands    ExcepÃ§Ã£o  EH\n"
+"     \t\tEndereÃ§o Tam.     Tam.     32b exc  Gestor    Dados\n"
+
+#: peigen.c:2231 pepigen.c:2231 pex64igen.c:2231
+#, c-format
+msgid ""
+"\n"
+"\n"
+"PE File Base Relocations (interpreted .reloc section contents)\n"
+msgstr ""
+"\n"
+"\n"
+"RelocalizaÃ§Ãµes base de ficheiros PE (interpretado conteÃºdo de secÃ§Ã£o .reloc)\n"
+
+#: peigen.c:2261 pepigen.c:2261 pex64igen.c:2261
+#, c-format
+msgid ""
+"\n"
+"Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n"
+msgstr ""
+"\n"
+"EndereÃ§o virtual: %08lx, tamanho do pedaÃ§o %ld (0x%lx), nÃºmero de fixups %ld\n"
+
+#: peigen.c:2279 pepigen.c:2279 pex64igen.c:2279
+#, c-format
+msgid "\treloc %4d offset %4x [%4lx] %s"
+msgstr "\treloc %4d desvio %4x [%4lx] %s"
+
+#: peigen.c:2340 pepigen.c:2340 pex64igen.c:2340
+#, c-format
+msgid "%03x %*.s Entry: "
+msgstr "%03x %*.s Entrada: "
+
+#: peigen.c:2364 pepigen.c:2364 pex64igen.c:2364
+#, c-format
+msgid "name: [val: %08lx len %d]: "
+msgstr "nome: [val: %08lx tam %d]: "
+
+#: peigen.c:2384 pepigen.c:2384 pex64igen.c:2384
+#, c-format
+msgid "<corrupt string length: %#x>\n"
+msgstr "<tamanho de cadeia corrupto: %#x>\n"
+
+#: peigen.c:2394 pepigen.c:2394 pex64igen.c:2394
+#, c-format
+msgid "<corrupt string offset: %#lx>\n"
+msgstr "<desvio de cadeia corrupto: %#lx>\n"
+
+#: peigen.c:2399 pepigen.c:2399 pex64igen.c:2399
+#, c-format
+msgid "ID: %#08lx"
+msgstr "ID: %#08lx"
+
+#: peigen.c:2402 pepigen.c:2402 pex64igen.c:2402
+#, c-format
+msgid ", Value: %#08lx\n"
+msgstr ", Valor: %#08lx\n"
+
+#: peigen.c:2424 pepigen.c:2424 pex64igen.c:2424
+#, c-format
+msgid "%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n"
+msgstr "%03x %*.s  Folha: End.: %#08lx, Tamanho: %#08lx, Codepage: %d\n"
+
+#: peigen.c:2466 pepigen.c:2466 pex64igen.c:2466
+#, c-format
+msgid "<unknown directory type: %d>\n"
+msgstr "<tipo de pasta desconhecido: %d>\n"
+
+#: peigen.c:2474 pepigen.c:2474 pex64igen.c:2474
+#, c-format
+msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"
+msgstr " Tabela: Car.: %d, Hora: %08lx, Ver: %d/%d, Nomes NÃºm: %d, IDs: %d\n"
+
+#: peigen.c:2563 pepigen.c:2563 pex64igen.c:2563
+#, c-format
+msgid "Corrupt .rsrc section detected!\n"
+msgstr "SecÃ§Ã£o .rsrc corrompida detectada!\n"
+
+#: peigen.c:2587 pepigen.c:2587 pex64igen.c:2587
+#, c-format
+msgid ""
+"\n"
+"WARNING: Extra data in .rsrc section - it will be ignored by Windows:\n"
+msgstr ""
+"\n"
+"AVISO: dados extra em secÃ§Ã£o .rsrc - serÃ¡ ignorada pelo Windows:\n"
+
+#: peigen.c:2593 pepigen.c:2593 pex64igen.c:2593
+#, c-format
+msgid " String table starts at offset: %#03x\n"
+msgstr " Tabela de cadeia comeÃ§a no desvio: %#03x\n"
+
+#: peigen.c:2596 pepigen.c:2596 pex64igen.c:2596
+#, c-format
+msgid " Resources start at offset: %#03x\n"
+msgstr " Recursos comeÃ§am no desvio: %#03x\n"
+
+#: peigen.c:2648 pepigen.c:2648 pex64igen.c:2648
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory, but the section containing it could not be found\n"
+msgstr ""
+"\n"
+"HÃ¡ uma pasta de depuraÃ§Ã£o, mas a secÃ§Ã£o que a contÃ©m nÃ£o pÃ´de ser encontrada\n"
+
+#: peigen.c:2654 pepigen.c:2654 pex64igen.c:2654
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"HÃ¡ uma pasta de depuraÃ§Ã£o em %s, mas essa secÃ§Ã£o nÃ£o tem conteÃºdo\n"
+
+#: peigen.c:2661 pepigen.c:2661 pex64igen.c:2661
+#, c-format
+msgid ""
+"\n"
+"Error: section %s contains the debug data starting address but it is too small\n"
+msgstr ""
+"\n"
+"Erro: secÃ§Ã£o %s contÃ©m o endereÃ§o dos dados de depuraÃ§Ã£o, mas Ã© muito pequena\n"
+
+#: peigen.c:2666 pepigen.c:2666 pex64igen.c:2666
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory in %s at 0x%lx\n"
+"\n"
+msgstr ""
+"\n"
+"HÃ¡ uma pasta de depuraÃ§Ã£o em %s em 0x%lx\n"
+"\n"
+
+#: peigen.c:2673 pepigen.c:2673 pex64igen.c:2673
+#, c-format
+msgid "The debug data size field in the data directory is too big for the section"
+msgstr "O campo de tamanho dos dados de depuraÃ§Ã£o na pasta de dados Ã© demasiado grande para a secÃ§Ã£o"
+
+#: peigen.c:2678 pepigen.c:2678 pex64igen.c:2678
+#, c-format
+msgid "Type                Size     Rva      Offset\n"
+msgstr "Tipo                Tam.     Rva      Desvio\n"
+
+#: peigen.c:2726 pepigen.c:2726 pex64igen.c:2726
+#, c-format
+msgid "(format %c%c%c%c signature %s age %ld)\n"
+msgstr "(formato %c%c%c%c assinatura %s idade %ld)\n"
+
+#: peigen.c:2734 pepigen.c:2734 pex64igen.c:2734
+#, c-format
+msgid "The debug directory size is not a multiple of the debug directory entry size\n"
+msgstr "O tamanho da pasta de depuraÃ§Ã£o nÃ£o Ã© mÃºltiplo do tamanho da entrada da pasta de depuraÃ§Ã£o\n"
+
+#. The MS dumpbin program reportedly ands with 0xff0f before
+#. printing the characteristics field.  Not sure why.  No reason to
+#. emulate it here.
+#: peigen.c:2754 pepigen.c:2754 pex64igen.c:2754
+#, c-format
+msgid ""
+"\n"
+"Characteristics 0x%x\n"
+msgstr ""
+"\n"
+"CaracterÃ­sticas 0x%x\n"
+
+#: peigen.c:2989 pepigen.c:2989 pex64igen.c:2989
+#, c-format
+msgid "%B: Data Directory size (%lx) exceeds space left in section (%Lx)"
+msgstr "%B: tamanho da pasta de dados (%lx) excede o espaÃ§o deixado na secÃ§Ã£o (%Lx)"
+
+#: peigen.c:3019 pepigen.c:3019 pex64igen.c:3019
+msgid "Failed to update file offsets in debug directory"
+msgstr "Falha ao actualizar desvios de ficheiro na pasta de depuraÃ§Ã£o"
+
+#: peigen.c:3025 pepigen.c:3025 pex64igen.c:3025
+msgid "%B: Failed to read debug data section"
+msgstr "%B: falha ao ler secÃ§Ã£o de dados de depuraÃ§Ã£o"
+
+#: peigen.c:3841 pepigen.c:3841 pex64igen.c:3841
+#, c-format
+msgid ".rsrc merge failure: duplicate string resource: %d"
+msgstr "falha de uniÃ£o .rsrc: recurso de cadeia duplicado: %d"
+
+#: peigen.c:3976 pepigen.c:3976 pex64igen.c:3976
+msgid ".rsrc merge failure: multiple non-default manifests"
+msgstr "falha de uniÃ£o .rsrc: mÃºltiplos manifestos nÃ£o-predefinidos"
+
+#: peigen.c:3994 pepigen.c:3994 pex64igen.c:3994
+msgid ".rsrc merge failure: a directory matches a leaf"
+msgstr "falha de uniÃ£o .rsrc: uma pasta corresponde a uma folha"
+
+#: peigen.c:4036 pepigen.c:4036 pex64igen.c:4036
+msgid ".rsrc merge failure: duplicate leaf"
+msgstr "falha de uniÃ£o .rsrc: folha duplicada"
+
+#: peigen.c:4038 pepigen.c:4038 pex64igen.c:4038
+#, c-format
+msgid ".rsrc merge failure: duplicate leaf: %s"
+msgstr "falha de uniÃ£o .rsrc: folha duplicada: %s"
+
+#: peigen.c:4104 pepigen.c:4104 pex64igen.c:4104
+msgid ".rsrc merge failure: dirs with differing characteristics\n"
+msgstr "falha de uniÃ£o .rsrc: pastas com caracterÃ­sticas diferentes\n"
+
+#: peigen.c:4111 pepigen.c:4111 pex64igen.c:4111
+msgid ".rsrc merge failure: differing directory versions\n"
+msgstr "falha de uniÃ£o .rsrc: versÃµes de pasta diferentes\n"
+
+#. Corrupted .rsrc section - cannot merge.
+#: peigen.c:4228 pepigen.c:4228 pex64igen.c:4228
+msgid "%B: .rsrc merge failure: corrupt .rsrc section"
+msgstr "%B: falha de uniÃ£o .rsrc: secÃ§Ã£o .rsrc corrupta"
+
+#: peigen.c:4236 pepigen.c:4236 pex64igen.c:4236
+msgid "%B: .rsrc merge failure: unexpected .rsrc size"
+msgstr "%B: falha de uniÃ£o .rsrc: tamanho .rsrc inesperado"
+
+#: peigen.c:4375 pepigen.c:4375 pex64igen.c:4375
+msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
+msgstr "%B: impossÃ­vel preencher DataDictionary[1] porque .idata$2 estÃ¡ em falta"
+
+#: peigen.c:4395 pepigen.c:4395 pex64igen.c:4395
+msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
+msgstr "%B: impossÃ­vel preencher DataDictionary[1] porque .idata$4 estÃ¡ em falta"
+
+#: peigen.c:4416 pepigen.c:4416 pex64igen.c:4416
+msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
+msgstr "%B: impossÃ­vel preencher DataDictionary[12] porque .idata$5 estÃ¡ em falta"
+
+#: peigen.c:4436 pepigen.c:4436 pex64igen.c:4436
+msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"
+msgstr "%B: impossÃ­vel preencher DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] porque .idata$6 estÃ¡ em falta"
+
+#: peigen.c:4478 pepigen.c:4478 pex64igen.c:4478
+msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing"
+msgstr "%B: impossÃ­vel preencher DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] porque .idata$6 estÃ¡ em falta"
+
+#: peigen.c:4503 pepigen.c:4503 pex64igen.c:4503
+msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
+msgstr "%B: impossÃ­vel preencher DataDictionary[9] porque __tls_used estÃ¡ em falta"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/ru.gmo ./bfd/po/ru.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/ru.gmo	2018-07-03 02:10:52.000000000 +0000
+++ ./bfd/po/ru.gmo	2018-07-10 02:10:41.000000000 +0000
@@ -1,59 +1,72 @@
-Þ•!$)Ù,R�m‘mªmÉmàm$óm3nLn%ln’nA¢n&äno$o=oVofo …o¦oÆoßoöo	p*!p9Lp6†p;½pùpFq6Rq:‰q5ÄqJúq)ErGorL·r)sL.s{s‘sD¨sístt2tJt3it�t0´tåtõtu+u+Ku+wu#£uÇußuèuôuv)v@v`v}v–v±vÑvêvww3w,Gwtw„w�wµwÌwÛwñwx1"xTxexrx‰x¤x#¼x+àx&y53yiy�y›y±yËyäyûy$z6zOzoz‡z$œzÁzÕzêz<{@{O{
^{l{€{ ˜{¹{Ô{ä{| |@|Y|r|…|*‘|¼|Î|&à|}0}L}"`}	ƒ}�}# }Ä}Ý}î}~" ~C~"W~#z~#ž~Â~#×~#û~.,[ain
-‹–›!¡ Ãäéî€.€3€G€ L€m€t€z€€„€Š€Ž€“€¯€È€Í€í€�!�A�F�K�R�X�]�o�v�Š�‘�ª�¾�Ï�à�ñ�‚‚	"‚
,‚
:‚
-H‚
-S‚
-^‚i‚
-~‚‰‚$�‚
-µ‚#À‚%ä‚
-
-ƒƒ(ƒ$@ƒeƒƒƒ!�ƒ¿ƒÔƒ
-ãƒ
îƒ	üƒ„
-„"„)„A„[„j„�„œ„«„Ä„Ó„Ú„ê„þ„(…/@…p…‰…›…°…+¿…ë…A†I†c†}†—†8¬†å†ý†‡&,‡S‡r‡†‡2¡‡Ô‡?î‡&.ˆUˆtˆ(‡ˆ°ˆ"Äˆçˆ*‰62‰{i‰rå‰xXŠÑŠDçŠ*,‹7W‹$�‹'´‹*Ü‹!Œ=)ŒAgŒE©ŒïŒ%�D4�.y�,¨�*Õ�%Ž4&Ž[Ž>zŽG¹Ž�J
-�5U�8‹�(Ä�,í�P�Ek�F±�Fø�3?‘<s‘%°‘AÖ‘n’K‡’7Ó’*“86“.o“<ž“9Û“@”HV”BŸ”Jâ”B-•Tp•TÅ•T–To–‰Ä–<N—m‹—[ù—PU˜<¦˜Dã˜^(™D‡™€Ì™1MšJšIÊš>›mS›6Á›mø›!fœ#ˆœ8¬œ)åœ.�0>�>o�>®�/í�/žFMž>”ž-Óž(Ÿ*Ÿ7HŸ1€Ÿ0²Ÿ/ãŸ) /= ;m <© <æ /#¡-S¡&�¡3¨¡3Ü¡O¢W`¢O¸¢o£+x£5¤£#Ú£7þ£E6¤>|¤2»¤:î¤2)¥(\¥+…¥<±¥?î¥Q.¦3€¦'´¦=Ü¦<§MW§K¥§Dñ§!6¨:X¨7“¨Ë¨.é¨©18©'j©%’© ¸©EÙ©4ªHTª?�ª<ÝªG«-b«7�«1È«8ú«23¬+f¬/’¬7Â¬ú¬+­LF­$“­+¸­ä­®®;®+V®5‚®@¸®@ù®I:¯I„¯9Î¯$°,-°'Z°=‚°QÀ°D±1W±5‰±¿±2Ü±.²?>²A~²EÀ²$³9+³5e³&›³4Â³1÷³$)´$N´/s´%£´<É´*µ'1µ3Yµ&�µ´µ4Ðµ¶4$¶Y¶.p¶(Ÿ¶*È¶6ó¶2*·5]·8“·WÌ·Z$¸B¸5Â¸=ø¸<6¹(s¹-œ¹0Ê¹û¹Pº fº@‡ºkÈº44»;i»$¥»'Ê»ò»2¼OB¼K’¼GÞ¼`&½A‡½YÉ½S#¾<w¾g´¾a¿l~¿Fë¿-2À2`À(“À3¼À1ðÀ-"ÁDPÁB•Á6ØÁ*Â2:Â.mÂ*œÂ(ÇÂðÂ4ÃD@ÃC…ÃCÉÃE
Ä^SÄ]²Ä)Å+:Å$fÅ)‹Å8µÅ:îÅ&)Æ&PÆ2wÆ+ªÆ=ÖÆ,ÇAÇ+_Ç‹Ç-¡Ç+ÏÇûÇ*È2EÈ"xÈ#›È"¿È-âÈ,ÉG=ÉG…ÉGÍÉ(Ê@>ÊDÊ2ÄÊ7÷Ê5/Ë/eË*•Ë1ÀË;òËW.Ì-†Ì-´ÌâÌ)Í%*Í2PÍ2ƒÍ=¶Í;ôÍB0ÎAsÎ:µÎ2ðÎ?#ÏcÏ›ƒÏ6Ð6VÐA�ÐGÏÐ6Ñ=NÑ:ŒÑ:ÇÑDÒ8GÒ9€ÒCºÒ:þÒ79Ó8qÓ9ªÓ,äÓ6ÔHÔ;dÔ: Ô.ÛÔ
-Õ1*Õ$\Õ5�Õ9·ÕOñÕ#AÖ1eÖC—Ö6ÛÖ(×&;×:b×#�×'Á×pé×'ZØ1‚Ø;´Ø£ðØ7”Ù(ÌÙ5õÙ8+Ú>dÚ £ÚÄÚ!âÚ Û%%ÛbKÛ'®Û)ÖÛ=ÜG>Ü%†Ü*¬Ü0×Ü&Ý&/Ý7VÝ8ŽÝ9ÇÝ6Þ/8ÞChÞQ¬ÞþÞß-ßBß2Xß&‹ß²ßMÁßTà2dà|—à(á[=á+™á/Åá(õáRâFqâF¸â:ÿâ6:ãDqã7¶ã*îã-ä0GäAxäHºä>å+BåInå;¸åôå;æ;Pæ.Œæ.»æ=êæI(ç.rç/¡ç@Ñç*è)=è;gè£è>ÁèBélCé@°é?ñéG1êFyêJÀêHëKTëG ëBèëX+ì4„ì/¹ìNéì08í(ií/’íÂíÕíéí0ûí=,îDjî0¯î5àî)ï7@ïxï’ï'±ï&Ùï[ðG\ðO¤ð9ôð.ñ>Nñ2�ñ5ÀñPöñ=Gò/…òoµò%ó
9óGó
Sóaó%ró\˜ó;õó1ôCôYô\ôyô†ô	Ÿô©ô»ô,Èôõô	õ/õOõ;_õ›õ°õÀõÉõÝõòõöö	;ö"Eö+hö#”ö,¸ö:åö ÷2÷.N÷4}÷?²÷=ò÷	0ø":ø]øtø}ø�ø”ø¦ø¸ø'Êøòø ù#0ùTùnù$€ù$¥ù$Êù'ïù%ú'=úeúƒú£ú"Ãúæúöúû û7û)Mûwû#�û#±û-Õû8ü1<üAnü.°üYßü_9ý;™ý)Õý!ÿý$!þFþH[þ%¤þÊþ5çþÿ
-2ÿ"=ÿ`ÿrÿ‹ÿ¦ÿ»ÿÈÿ×ÿ
õÿ/+E8qªÀß'ñ+.I-xG¦3î""AId%®Ôçù":L$eŠ§5¹ï#9Kk…–¥·	¾ÈÑ
-è"ó%<HWnŠ ²Òë1I-g•§¹Îè)/Gw‰›¢!©.Ë,ú':C%~%¤Ê=ãC!	=e	"£	[Æ	?"
-b
-�
-)ž
-È
-Ñ
-*ì
-&)Pp‚‰(�¹'Ëó(H#`$„,©.Ö,
.2
a
"~
,¡
.Î
!ý
10Q2‚,µ.â#5U(i/’!Âä(#*+Nz,“ Àáú.N#m-‘"¿âô7Pew2’$Å&ê	1!;]DwD¼/1/C?s³ÄäûJ7bš*´ß÷%6L#i%�³ÆãJJ]J¨Ió:=;x:´Eï659l7¦9ÞQ/jBš@Ý.=M&‹.²/á-i?D©dî,SF€fÇC.r#‘@µ8ö7/g	‡‘­¿Ñ<æ2# .V … � ¤ ¼ dÔ 9!6L!@ƒ!=Ä!d"gg"bÏ"=2#Ep#1¶#(è#$$6$4L$'�$$©$7Î$%%/%F%W%o%‡%™%«%½%Ï%é%&&'&?&^&2}&°&-É&+÷&+#'*O'	z'	„'
-Ž'™'®'½'Ò'á'1æ'(7('V("~(¡(¿(Ô(Ý(]û(=Y)(—)ZÀ)Z*Ev*A¼*Gþ*WF+Wž+9ö+90,4j,9Ÿ,4Ù,2-7A-5y-7¯-.ç-2. I.[j.@Æ.:/#B/=f/<¤/Ná/-00O^0 ®0>Ï091
-H11S1&…1&¬1!Ó1õ1,27A2
y2‡2š2®2Á27Ô23$,3"Q3At3¶3,Ô32444¾D4»5¿5Ú5õ5B6DX6*�6LÈ67*7y97³70»7ì78888298Ol8¼8*Û8 9'9KE9‘9ž9 ¸9Ù9í9::,:B:Y:v:‡:›:N£:ò:#ö:6;Q; q;8’;Ë;Ý;í;õ;
-<<2<F<Y<Ll< ¹<DÚ<=1=D=3_=!“=µ="¼=ß=ï=þ=%>'7>$_>)„>*®>Ù>0õ>,&?S?q?‹?“?
«?%¹?ß?'÷?@9@P@b@y@7�@È@á@ó@AA.ADA-cA)‘A>»AgúAxbB-ÛB!	C7+CcC!|C;žC0ÚC5D<AD<~D2»D/îD.E=ME/‹E6»E,òE(F>HHD‡H0ÌH7ýHZ5IK�I:ÜI<JTJ`fJ.ÇJöJ%K+;KgK$yK&žK%ÅK3ëK#L(CL8lLv¥LHM_eMGÅM(
N6NG¶NHþNDGO~ŒOTP|`PŠÝPLhQˆµQ>R$[Rz€RTûRPSnS5‚S)¸S>âS&!TMHT–T¨T!¸TDÚTDUDdU-©U$×UüUV'V49V%nV”V´V*ÑV7üV(4W]W,}W!ªW%ÌW'òW8XSX-cX!‘X+³XßXòXY0YHLY•Y«Y$¸Y*ÝY*ZE3ZJyZCÄZS[+\[&ˆ[¯[)Í[÷[\+\@C\„\6¤\Û\ó\7]F]a]"€]<£]à]ï]
þ]^+)^BU^#˜^¼^/Ø^)_*2_]_#|_ _³_9¿_ù_`6`T`<h`¥`?¹`ù`
-a#aAaZapa(‰a;²aîa-b#0b#Tbxb#—b#»bßbzóbnctc|c1�c
-³c¾cÃc:ÉcHdMdRd(Wd.€d¯dC´dødPýdNeUe[e`eeekeoe?te7´eìe(ñef&5f(\f…fŠf�f–fœf¡fºf1Áfóf6úf11gcgyg�g¥g»gÑg	íg
÷g
h
-h
-h
-)h/4h
-dhohavh
-Øh~ãhvbi
-Ùi#äi5jG>jF†jAÍjNk.^k�k¬k¾kÕk"ákll.l2Nl�lAžl3àlmA2m
tm‚m‰m¨mÄmOâmX2n ‹n¬n¾nØnSìn#@oAdo/¦o(Öo"ÿo"p8@p&yp+ p.ÌpUûpRQq¤qÀqJÛq&rHErYŽrVèr?s9Zs”s-°s:Þs,tsFtÜºtÁ—u¼Yv'w}>w_¼wXx=uxC³x5÷x%-yxSy}ÌyyJz2ÄzV÷zyN{SÈ{P|\m|NÊ|q}>‹}|Ê}�G~Ø~{á~C]U¡D÷I<€|†€�nƒ�nò�aa‚—Ã‚D[ƒm ƒÆ„”Õ„`j…?Ë…c†Zo†oÊ†l:‡`§‡zˆbƒˆ|æˆbc‰ŸÆ‰ŸfŠŸ‹€¦‹	'Œ_1�à‘�§rŽ…�Y �gú�©b�{‘Ûˆ‘Nd’…³’w9“`±“Å”MØ”Ã&•Gê•>2–kq–DÝ–U"—Bx—`»—`˜f}˜Uä˜¨:™qã™sUš\ÉšP&›xw›rð›^cœUÂœP�Ui�I¿�t	žt~ž]óžPQŸb¢Ÿk †q ™ø —’¡§*¢ãÒ¢W¶£k¤Wz¤mÒ¤†@¥wÇ¥u?¦^µ¦t§O‰§YÙ§¢3¨lÖ¨yC©c½©E!ªigª‹Ñª|]«lÚ«UG¬:�¬qØ¬{J­:Æ­Y®<[®O˜®>è®I'¯:q¯e¬¯^°q°_ñ°|Q±�Î±Ll²[¹²N³kd³bÐ³h3´Nœ´Që´1=µ]oµ›ÍµTi¶K¾¶G
-·BR·J•·&à·N¸aV¸›¸¸›T¹­ð¹®žºnM»D¼»u¼>w¼l¶¼”#½|¸½P5¾m†¾9ô¾~.¿X­¿]À~dÀ¥ãÀ@‰ÁÊÁgJÂ?²ÂlòÂO_Ã>¯ÃLîÃU;Ä\‘ÄbîÄ\QÅ:®ÅUéÅD?Æ5„ÆoºÆ5*Ça`Ç<ÂÇVÿÇQVÈY¨ÈcÉNfÉ�µÉTEÊÌšÊËgË—3Ì¨ËÌptÍQåÍy7Îe±ÎSÏCkÏŒ¯ÏH<Ðk…ÐÔñÐlÆÑ3Ò8³ÒDìÒ.1Ói`Ó•ÊÓŠ`ÔxëÔ·dÕpÖ´�Ö©B×tì×ºaØ¸Ù¿ÕÙ•ÚWÛemÛ9ÓÛ`
Ü\nÜBËÜpÝlÝYìÝ\FÞa£ÞPßIVßL ß4íßl"àm�àlýàlján×á‡Fâ†ÎâJUãL ã?íã\-äjŠänõäFdåK«åY÷åGQæ{™æRç0hçZ™ç#ôçOèHhè<±è\îèWKéE£éFééE0êNvêMÅê—ë‰«ë—5ìFÍìyí‘Žík î|Œî}	ï|‡ïqðyvðlðð—]ñVõñ^Lò7«òYãòQ=óI�óIÙó‰#ôu­ô’#õš¶õ}QöJÏö…÷ ÷WÀ÷[ùWtù~Ìù„KúMÐúTûOsûQÃû_üNuüPÄü^ýPtýNÅýNþ—cþ„ûþg€ÿ>èÿm'o•GAM–�O&]vfÔu;=±Yï™IwãA[M�{ë?gD§íì.Ú[	|eAâq$
-T–
-eë
-WQr©L2iSœCðF4
º{
`6F—WÞl6F£jêIULŸ]ì^Ji©[IoF¹q‡rBú= X%yeŸGM�\§ìC”þØQ×¦)]ÐY.Uˆ‹ÞojoÚSJgžUL\M©P÷IHv’Š	q”L‡S‚ÛJ^ x© x"!Y›!Yõ!|O"žÌ"Yk#aÅ#�'$G©$\ñ$�N%9Ð%}
-&�ˆ&—
-'p¢'n(z‚(yý(}w)nõ)�d*uõ*„k+µð+h¦,[-•k-d.Ff.j­.&/?/%_/T…/nÚ/‚I0YÌ0a&1Uˆ1€Þ11_2;‘2HÍ2I3Ã`3ˆ$4ˆ­4j65<¡5oÞ5ZN6h©6¡7|´7|18×®8,†9³9Ë9æ9ý9%:¼<:’ù:$Œ;7±;é;7ì;$<>A<€<—<¶<,Ð<ý<)=X@=™=²=(2>[>t>}>™>¶>@Ó>??T?Ik?Mµ?W@f[@kÂ@.AN@AR�AXâA{;Bu·B)-C?WC8—CÐCáC:åC D2DDDDVD6›D?ÒDEE.XE3‡E?»E.ûE.*F1YF/‹F1»F'íF)G)?G,iG–G4´G0éG4H/OHYHÙHNùH9HI\‚I�ßInaJeÐJS6KÁŠK¡LL|îLSkM/¿M5ïM %N‡FNIÎN,OLEO#’O ¶OO×O'P09P/jP3šP&ÎPõP'Q 3QTQpfQX×QY0R6ŠRKÁR
S7SWS4iSgžSRTƒYThÝT;FU1‚Ux´UI-VwV!•V4·VdìVQW7cW)›W8ÅWþWWXhXzXŒX'¨XÐXEðX"6Y#YY }YžY°Y·YÃY2×Y
-Z>"ZXaZºZÊZ"æZ2	[<[\[@v[#·[;Û[\5\"Q\4t\[©\,]2]H],f]2“]:Æ]_^ea^Ç^Ù^ë^ò^Eù^B?_@‚_%Ã_Eé_0/`1``C’`zÖ`€QaXÒaH+bÅtbk:cM¦c,ôcT!dvd'•dE½de<eHRe›e­e´eb»efC0f-tf#¢f1Æf"øf4g:Pg[‹gOçg[7hO“h?ãhB#i[fiOÂiIjb\jo¿jc/k[“kOïkB?lB‚l"ÅlMèlP6m3‡m5»mRñmFDnV‹n4ânIo7ao>™oHØo$!pCFp9ŠpJÄpVqBfq©q3»q'ïq$r0<r1mr%Ÿr7År^ýr9\sT–sFës
-2tL=t'Št_²t_uqru.äubvqvvèv3w);w1ew—w wj x2‹xU¾x6y+Ky3wy0«y5Üy8z3KzOz3Ïz?{=C{�{¦“{—:|“Ò|“f}€ú}P{~—Ì~}d€ânc€lÒ€n?�ø®�¶§‚Ÿ^ƒÅþƒqÄ„ 6…d×…m<†dª†^‡Àn‡Š/ˆÝºˆf˜‰¹ÿ‰®¹Šsh‹bÜ‹S?Œo“Œ]�~a�Cà�	$Ž+.ŽZŽuŽ �Ž[±Že
�Ts�
-È�?Ó��2+�¤^�!‘V%‘^|‘LÛ‘´(’ÉÝ’ž§“[F”j¢”J
•AX•)š•Ä•’â•u–Dõ–‰:—+Ä—>ð—1/˜+a˜>�˜8Ì˜,™,2™,_™,Œ™@¹™:ú™,5š+bš8ŽšKÇšC›FW›.ž›eÍ›c3œc—œKûœ
-G�
-R�]�%i���ž�³�Â�8Ë�<ž.Ažbpž[Óž&/ŸVŸmŸ1vŸ¿¨Ÿ{h >ä Ï#¡Ïó¡fÃ¢~*£€©£í*¤Ê¥‚ã¥~f¦vå¦{\§vØ§tO¨ŠÄ¨wO©ŠÇ©^Rª^±ªL«ß]«_=¬€�¬X­^w­lÖ­~C®@Â®†¯@Š¯_Ë¯Z+°†°[�°Gù°IA±D‹±WÐ±g(²{�²³3(³\³p³ƒ³m–³:´H?´Tˆ´€Ý´F^µi¥µ^¶!n¶J�¶MÛ·:)¹9d¹Pž¹}ï¹�mº]ïº�M»)Þ»!¼*¼E½iT½5¾½ô½ü½¾#¾u5¾¨«¾GT¿fœ¿DÀFHÀ¡�À1Á8KÁU„Á'ÚÁ(Â)+Â'UÂ)}Â*§Â%ÒÂ!øÂÃ0Ã“8ÃÌÃBÓÃhÄTÄWÔÄm,Å&šÅ)ÁÅëÅóÅÆ&Æ:ÆNÆaÆvtÆ,ëÆŒÇ"¥Ç(ÈÇ=ñÇl/ÈXœÈõÈ?ÉBÉRÉaÉB{ÉD¾É>ÊdBÊb§Ê2
-ËS=ËQ‘Ë=ãË1!ÌSÌ-hÌ#–Ì[ºÌ5ÍMLÍ9šÍ+ÔÍ7Î>8Î7wÎ€¯Î?0ÏpÏŒÏ©ÏÇÏåÏ)ÐK/ÐU{ÐkÑÐð=Ñ.ÒgJÓP²Ó€ÔB„ÔTÇÔ\ÕzyÕgôÕu\ÖuÒÖhH×d±×WØ}nØkìØoXÙJÈÙê:Š;–Îý#ë¾>ÏÅÏÊýˆ>ñ†)Œô-ÌšúüeÆFR KÔú>N<Ù•º;9/½ÞZ~24ÊlŠbuƒ÷P’‚»O�,æ´è-ÆM³4	‰.¥±Rÿ¡—«ì�”@�€°^Ð
ã÷ª=×äW@©D�
ÇÝL_ð¡ºàßÍœS5¦óà’Ê¿}ti›û(cÁs^8]ñPž]®*º™qûZ7Ë„¹PŸqÀóÛŽïa6Àç¨/TõË{Ev®‚xQÍ¸Ãƒ/œ7ô€ëž›Å¤Ò©cyM!A†¦
-ÿ�ÖÏþî—*Zïu�àXˆ! Èõ&$x.˜„
-.c�ÿ“%^îeÉý‰é00¹�¥#o¿2?“íßHx$úd':a­‚YJ‹íÜUso©˜"öF¯AÐLaT³ì’»t~Ì}ÕØP¸·w`´�øÙ¸õ£ïÂÅ¢EúIÃ°ƒ>$=N&'�j]h[ð¸.jòÓÿÄþFúò�{åãkö°q‚ÝXpkÈNŠòå5ˆ
ï§*…çÖÏÑÑ#ÁŸ';ÄšÞØÂjŽ„®¥a–rÃU¿~¾Û7”'ùÐ¤Ú_%­âévÑÁ­Mhj`ˆC¤né§Sül(•
	ã^|ÁoÇžäCÖ‹ùŠVX)†u=lRF¨nøRzÕYÄ¬b5fšÛN
-—<œðì½T^€|Â¤v¼½pW	—ûþçÐÅÞWã¬f\’T9×pzæþ…b„8[¡1è”K%)ÕCñMtG(,wdå ðwmñÒ:þ»ÿ7EÑ®Ã‘¸ž¾‘$HiêuÔcDŒæ<Æá3I¨›f9 6N@Ø"\#Ÿ·!]åªÏV(ÂÜšÇ�r§p¨ãY; ¼ä)ÛB°D �BÝ]�ŸïÜ
-ñ²Õáô* ³4»gÀ©ÜÍ‡Þ9kíîO…w¦¶Õ¿ý8Y|Ò²åõ÷eÚâë{¢ÓÍsRl¤
&× B6÷Œ�ä!n3 ±#_ªâ¼¯e¯bÉülzä�‹£ë<h_ÈíM†Æ­‰ù.¬3ý«­·?œÎôÒK®|(™ËHiDÉèmmàvîßJT°ó1æ[Úƒ›„¦Æö0DùˆìSüg£\eøµèÌv,é¡4È©ðµÇA
-x{+Ë+†¶yªrd[5±ÂJ>‰XŸ"â¢æZ\¡? ÓALÉ¢G%‘õ+Èrc·�µ2\ÍŠ•«£Q›‡”¥™0<Ëºâs¼gÖ¯�–ø@OoCsçJÔóy€nÔ5¶Ugë}Ý�Ý•;Q"
Pi²I1”ôÎØO}‡B=…`|øof™b6QÌªqpLÄÙ`÷¢K•,“tkyÎÉ
-Ó7òW�ízÔàF0Ž‘Ùi¹¦¹4Où�yG–&Å«£µ±¶2ó×-~}ÚG²Ò‹�?gu/J¨E,!/V¹S3`	dŒnèÖ	ÁéQÜ=€X¾³E˜·fêÊç‘hß+Y-B$Lî:?q¬±'_áÀ“À´9œa%ÊÄòÌ³t…§Œ‡áÚ!Þ“ê-½ÓÑCÇmG8¼‡~ßH�á¥{UÃZ«˜m28ê1´ìØ¿Vƒ13�ŽxÛ¶[’wj—ž‚–6¯kA:‹‰�rÐz&§UW× "ü	»IÙ*¬IHV@d+ûû™ö)´˜KŽh½²ÎºSµöš¾	Export Address Table 			Export Address Table 		%08lx
-	Name Pointer Table 			Ordinal Table 				[Name Pointer/Ordinal] Table	%08lx
+Þ•ì|7C	Ünè“é“ö“
+”#”AB”?„”:Ä”ÿ”•)•$H•3m•¡•®•%Î•ô•A–&H–o–ˆ–¡–º–Ê– é–
+—*—C—Z—g—Pz—Ë—*ã—9˜6H˜;˜»˜FÍ˜6™6K™:‚™5½™,ó™D šNešJ´š)ÿšG)›:q›B¬›Lï›)<œBfœL©œöœ�D#�Gh�°�Ï�á�õ�
ž"ž3AžužŒž0žžÏžßžïž+	Ÿ+5Ÿ+aŸ#�Ÿ±ŸÉŸÒŸðŸ( ?0 >p %¯ &Õ (ü )%¡GO¡7—¡Ï¡æ¡¢#¢<¢W¢w¢�¢«¢Á¢Ù¢,í¢£*£C£[£r£�£—£±£1È£ú£¤¤/¤J¤#b¤+†¤&²¤5Ù¤¥'¥A¥W¥q¥Š¥¡¥$·¥Ü¥õ¥¦-¦$B¦g¦{¦�¦<©¦æ¦õ¦
§§&§ >§_§z§Š§ª§Æ§æ§ÿ§¨*+¨V¨h¨&z¨¡¨0µ¨æ¨"ú¨„©	¢©¬©#¿©ã©ü©
ª&ª"?ªbª"vª#™ª#½ªáª#öª#«>«K«i«‡«�«•«š«
+·«Â«Ç«!Í« ï«¬¬¬2¬R¬r¬w¬‹¬!�¬²¬¹¬¿¬Ä¬É¬Ï¬Ó¬Ø¬ô¬"
­0­5­U­i­&‰­B°­ó­®®®$®*®/®A®H®\®c®|®�®¡®²®Ã®Ô®å®ý®	¯
¯
$¯
+2¯
+=¯
+H¯
+S¯^¯
+s¯$~¯
+£¯#®¯%Ò¯
+ø¯°°$-°R°p°!Š°¬°Á°
+Ð°
Û°	é°ó°
+±±±.±H±Z±i±€±›±ª±Ã±Ò±Ù±ù±(	²/2²b²t²+ƒ²¯²AË²
³'³A³[³8p³©³Á³Ö³&ð³´6´2Q´?„´&Ä´ë´(
+µ3µ"Fµiµ*‰µ6´µ{ëµrg¶xÚ¶S·:i·¤·D¶·*û·7&¸$^¸'ƒ¸*«¸!Ö¸=ø¸A6¹Ax¹º¹%Ù¹Dÿ¹Dºsbº.Öº,»*2»%]»4ƒ»¸»-×»2¼L8¼;…¼©Á¼Gk½8³½Hì½45¾7j¾9¢¾'Ü¾+¿U0¿Z†¿Oá¿C1À;uÀ$±ÀÖÀ@óÀm4ÁJ¢Á6íÁ6$Â)[Â7…Â@½ÂHþÂBGÃJŠÃ-ÕÃ;Ä8?Ä2xÄ¿«ÄVkÅ\ÂÅ:Æ:ZÆB•ÆTØÆT-ÇT‚Ç‰×Ç;aÈm�È[ÉMgÉ<µÉDòÉ^7Ê|–ÊDË€XË1ÙËKÌJWÌ>¢ÌmáÌ6OÍ>†Í>ÅÍ.Î-3ÎEaÎ<§Î=äÎB"Ï?eÏ?¥ÏDåÏB*Ð?mÐ?­Ð,íÐ'ÑBÑ6_Ñ0–Ñ/ÇÑ!÷ÑÒ&-Ò(TÒ;}Ò@¹Ò$úÒÓ73Ó!kÓ#�Ó&±Ó8ØÓCÔ UÔ vÔ)—Ô.ÁÔ0ðÔ?!Õ.aÕ.�Õ/¿Õ)ïÕ/Ö;IÖh…Ö<îÖA+×<m×/ª×-Ú×&ØM/Ø2}Ø2°ØNãØU2ÙNˆÙo×Ù+GÚAsÚ7µÚ9íÚT'Û5|Û#²Û.ÖÛ.Ü%4Ü7ZÜ2’Ü7ÅÜEýÜ>CÝ1‚Ý:´ÝUïÝ2EÞoxÞ(èÞ(ß3:ß[nßZÊß+%à+Qà}à/—à(Çà7ðà<(á?eáQ¥á3÷á5+â'aâ=‰â:ÇâGã<Jã"‡ãLªã6÷ãK.äDzä!¿ä:áä7åTårå.Žå.½åìå1æ>æ'[æ%ƒæ ©æEÊæ4ç(Eç;nçHªç?óç<3èGpè@¸è7ùè.1é*`é<‹é7Èé1ê82ê:kê2¦ê+Ùêtë/zë ªë-Ëë]ùë0WìJˆì>ÓìAí.Tí+ƒí8¯íèí*îI3î$}î+¢îÎîìîAïHGï>�ï+ÏïIûï9Eð;ð»ð;Ûð;ñSñ+nñGšñ.âñ.ò5@ò@vò@·òIøò=BóI€óIÊó4ôIô9hô,¢ô.Ïô/þô'.õkVõuÂõ@8ö5yö¯ö2Ìö.ÿö*.÷>Y÷1˜÷)Ê÷?ô÷!4ø#Vø.zø8©ø*âø 
ùA.ùEpùB¶ùBùù:<ú3wú$«ú2ÐúIû:Mû<ˆû3Åû5ùû&/ü%Vü4|ü&±ü4Øü&
ý14ý$fý$‹ý.°ýßý&ýý&$þ<Kþ#ˆþ*¬þ'×þ>ÿþB>ÿ3�ÿ&µÿ Üÿ"ýÿ! !B!d%†!¬ Î!ï#!5!W!y$›$À å"!)#K$o”"´"×!ú!>^!z#œ"À#ã!')3Ql…@ò?3GsF»JHMK–GâB*Xm4Æ/û+4J ! GÂ4
+	0?	p	(‡	.°	(ß	*
+63
+2j
+5�
+8Ó
+WZdB¿5=8<v(³-Ü0
+
;
OU
"¥
/È
&ø
!@Ai‚Eì021c*•!À4â;&S$z'Ÿ=ÇDJ2h0›CÌLG]C¥Jé`4r•A�JSÌ< a]a¿f!fˆFï-62d(—3À1ô,&-SD�BÆ4	6>*u# 2Ä*÷-".P*(ª]ÓJ16|³Î4è'DECŠCÎE^X]·)(?+h$”)¹)ã7
9E&&¦&Í2ô,' =T ,’ ¿ +Ý 	!-!M!j!,‰!#¶!1Ú!*"'7"&_"%†"&¬"'Ó")û",%#%R#*x#$£#%È#%î#1$'F$*n$"™$#¼$"à$&%-*%,X%[…%Cá%G%&Cm&K±&Wý&GU'9�'(×'*(+(3K(4(>´(2ó(5&)@\)P�)3î)P"*2s*A¦*Kè*@4+Ku+-Á+`ï+>P,J�,2Ú,<
-;J-7†-3¾-/ò-?".7b.Aš.*Ü.1/;9/2u/W¨/O0&P03w0[«0W1-_1o�1+ý1])2-‡2+µ2á22ÿ2)23V\3<³3(ð334#M4%q42—4Ê42ê4$53B5=v5;´5Bð5A36:u62°6?ã6#7<B7879¸7ò78&08W8›p8D9'Q9,y91¦9'Ø9$:/%:-U:0ƒ:&´:8Û:6;6K;‚;.¡;+Ð;$ü;"!<7D<!|<%ž<AÄ<G=6N==…=:Ã=:þ=D9>8~>9·>Cñ>:5?7p?8¨?Pá?D2@9w@,±@0Þ@#A3A-NA6|A³A7ÏA;B:CB:~B!¹B3ÛB%C.5CdCL„C1ÑC*D%.D$TD9yDO³D#E,'E1TEC†E6ÊE(F5*F"`F.ƒF8²FGëFU3G>‰G ÈGéG!H )H'JHbrH3ÕH)	I=3I%qI*—I0ÂI&óI&J7AJfyJ7àJ]K8vK¯KOÎK,L+KLYwL)ÑL;ûL07M/hM?˜M9ØM6N/INCyN&½NWäNQ<OŽO®O½O!ÒOôOR
+PF]PF¤P:ëP&Q9QMQ_QyQ
�Q'›QÃQ
ÏQÝQ%îQ\R;qR­R¿RÕRØRõRS	S%S7SHS,US‚S–S¬S"ÆS/éS/T2IT9|T#¶T'ÚT2U35UiU;yUµU¼UÄUÙUéUðUøUV!V6VHV[VrV�V¡V¿V	ÞVèV	W"W+3W#_W,ƒW:°WëWýW)X/CX?sX=³X	ñX"ûXY5Y+>YjYvYzY�YŸY±Y'ÃYëY Z#)ZMZ>gZ<¦ZãZ õZ'[7>[0v[D§[,ì['\A\a\s\$‘\$¶\'Û\%]')]Q]o]�]"¯]Ò]â]÷]^#^)9^c^2y^#¬^-Ð^Iþ^:H_/ƒ_8³_2ì_[`1{`<­`Bê`,-a-Za)ˆa.²a-áab6/bYfbbÀb;#c)_c!‰cG«c1óc$%dJdH_d5¨d%Þde5!eWe
+le"weše¬e´e0¼eíef!f6fCfRf
pf~fB�f/Óf+g8/ghg$~g!£g1Åg÷gh+5hah
+uh€h9ŸhÙh'ëhi%i.Ci-riG i3èij";j)^j*ˆjK³j ÿj k%=kckvk•k.§kÖk2ôk,'l)Tl"~l¡l³l$Ìl*ñl+mHm em†m5˜mÎm	àmêmümn$nDn^non~n�n	—n4¡nÖnßn
+öno"o%)oOo[ojo�o�o³oÅoåoþop2pDp\p-zp¨pºpÌpàpúpDq¥_qr)r/Dr'trœr«r½rÏrÖr!Ýr.ÿr,.s[s:ws%²s%Øsþs?t9WtC‘t=ÕtCu=Wu"•u[¸u?vTvsv)�vºvÃvvÞv*Uw€w&’w¹wÙwëwòw
+ùw(x-x'?xgx„xœx¼x#Ôx$øx,y.Jy,yy.¦yÕy"òy,z.Bz!qz1“z0Åz2öz,){.V{#…{©{É{(Ý{/|!6|X|(u|#ž|+Â|î|,} 4}U}n}Ž}¢}Â}#á}-~"3~V~h~€~“~¬~¸~Í~ß~2ú~$-&Ry6™	Ð!ÚDüDA€/†€?¶€ö€/�>8�w�Jˆ�MÓ�8!‚Z‚z‚‘‚;¤‚à‚7ý‚-5ƒcƒJlƒ‰·ƒ(A„7j„¢„*¼„ç„ÿ„……5…F…\…y…"……#¨…%Ì…ò…†',†T†Jf†J±†Jü†IG‡:‘‡AÌ‡;ˆ:Jˆ6…ˆ+¼ˆ;èˆF$‰@k‰;¬‰:è‰Q#Š/uŠB¥Š;èŠK$‹Fp‹a·‹/Œ<IŒ-†Œ-´Œ/âŒ7�BJ�!��i¯�DŽd^Ž.ÃŽ,òŽf�C†�Ê�#é�@
�4N�8ƒ�H¼�7‘=‘˜]‘ö‘’$’6’2K’.~’$­’Ò’ß’ì’ü’““.“G“_“w“d�“ô“6”M>”MŒ”<Ú”g•b•<â•E–1e–(—–$À–å–û–4—'L—$t—7™—Ñ—â—ú—˜"˜:˜R˜d˜v˜ˆ˜š˜´˜Ï˜á˜ò˜
+™)™2H™{™”™-®™+Ü™+š*4š	_š	iš
+sš
+~š‰šžš­šÂšÑš1Öš›-'›U›'t›"œ›¿›Ý›ò›û›,œ]Fœ=¤œ(âœZ�Zf�EÁ�AžGIžC‘žWÕžW-Ÿ9…Ÿ9¿Ÿ-ùŸ8' 4` 3• 9É 4¡28¡7k¡5£¡7Ù¡B¢ET¢Bš¢CÝ¢A!£'c£.‹£,º£+ç£*¤.>¤2m¤  ¤[Á¤@¥:^¥#™¥6½¥<ô¥&1¦2X¦=‹¦;É¦8§<>§%{§¡§¾§NÔ§-#¨OQ¨ ¡¨>Â¨9©
+;©*F©1q©&£©&Ê©!ñ©ª,2ªJ_ª7ªª
âªðªÿª«&«9«L«7i«6¡«6Ø«¬$/¬_T¬"´¬A×¬­,7­2d­—­§­¾¸­»w®3¯N¯i¯;‰¯=Å¯*°L.°{°Ž°£°¸°4Ç°ü°0±95±o±‰±‘±™±µ±H¼±²²2$²OW²§²Æ²*Ë² ö²³5³=³J³ d³…³Ž³¢³·³Í³á³÷³´+´<´N´b´Nj´¹´½´#Õ´ù´6µHµ hµ8‰µÂµÔµäµìµ4¶6¶J¶^¶r¶…¶
˜¶L¦¶ ó¶D·PY·ª·¼·Ï·3ê·!¸@¸G¸"O¸r¸‚¸M‘¸ß¸÷¸¹#¹,6¹%c¹'‰¹)±¹$Û¹(º)º0Eº
+vº,�º®ºÌºæºîº
»#»8»'P»x»’»¬»"¸»Û»ú»¼#¼:¼7Q¼‰¼¢¼·¼É¼Ü¼ð¼½½0½-O½)}½>§½7æ½E¾gd¾xÌ¾7E¿E}¿4Ã¿%ø¿-À;LÀ!ˆÀªÀ!ÃÀ0åÀ5Á&LÁ<sÁ<°Á2íÁ/ Â.PÂ=Â/½Â6íÂ?$ÃdÃƒÃ£Ã,§Ã(ÔÃýÅ 
+Æ>+ÆDjÆ’¯Æ€BÇuÃÇ09È7jÈ5¢ÈZØÈK3ÉÉ:ŽÉ<ÉÉÊ`Ê.{ÊªÊ%ÉÊ+ïÊË$-Ë&RË%yË3ŸË#ÓË
÷Ë(Ì˜.Ì8ÇÌvÍHwÍ_ÀÍG Î(hÎ‘ÎGÏ]YÏH·ÏDÐSEÐz™ÐŒÑ~¡ÑT Ò|uÒpòÒvcÓŠÚÓLeÔt²Ôˆ'Õ°Õ$ÍÕzòÕ˜mÖT×[×y×5�×Ã×)Ú×>Ø&CØjØM…ØÓØåØ!õØDÙD\ÙD¡Ù-æÙ$Ú9Ú'BÚ4jÚ@ŸÚFàÚE'Û<mÛCªÛBîÛI1ÜZ{ÜiÖÜ%@ÝfÝ†Ý*£Ý7ÎÝ(Þ/Þ,OÞ!|Þ%žÞ'ÄÞ8ìÞ%ß-5ß!cß+…ß±ßÄßãßàHàgà}à$Šà*¯à*ÚàEáJKáC–áSÚá+.â&Zâ�â)ŸâÉâäâýâ@ãVã6vã­ãÅã7àãä3ä"Rä<uä²äÁä
ÐäÞä+ûäB'å#jåŽå/ªå)Úå*æ/æ#Næræ9…æ¿æÑæ6ãæç<.çkç?ç0¿çðèé#é8éQégé(€é;©éåé-ùé#'ê#Kêoê#Žê#²êÖê,êê.ëFëLëTë1Yë
+‹ë–ë›ë:¡ëHÜë%ì*ì,/ì(\ì.…ì´ìC¹ìýìPíSíZí`íeíjípítí?yí7¹íBñí4î(9îbî&}îM¤îlòî(_ïˆï�ï’ï™ïŸï¤ï½ï1Äïöï6ýï14ðfð|ð’ð¨ð¾ð&Ôðûð	ñ
!ñ
/ñ
+=ñ
+Hñ
+Sñ
+^ñ/iñ
+™ña¤ñ
+ò~òv�ò
+óó5$óGZóF¢óAéóN+ô.zô©ôÈôÚôñô"ýô õ4õ.;õ2jõ�õ¯õAÌõ3öBöA`ö
¢ö°öA·öùöO÷Xh÷Á÷Ó÷Sç÷#;øA_ø/¡ø(Ñø"úøù8;ù&tù+›ù.ÇùUöùRLúŸúJºúHûYNûV¨û9ÿû9ü-Pü:~ü,¹üsæüÜZýÁ7þ¼ùþ'¶ÿcÞÿB}]_ÛX;=”CÒ5%Lxr}ëyi2ãVymMçì5S"Pv\ÇN$qs>åG$el’Òge	EÍ	�z¤~BžTáa6
C˜
HÜ
�%r¶{)}¥–#Cº<þl;Å¨“nR_U>µbô_Wy·a1{“YniWØ`0o‘‘«“k?k«bŸzŸŸº	Z\dàÁ§¢‚J YÍ g'!©�!å9"{#Û›#Nw$†Æ$xM%`Æ%Å'&Mí&`;'`œ'eý'Uc(§¹(oa)pÑ)uB*q¸*ƒ*+ˆ®+u7,q­,ƒ-r£-[.Or.wÂ.q:/]¬/W
+0"b0E…0:Ë0r1zy1Eô11:2dl2GÑ2>3GX3k 3r4:4:º4Dõ4U:5B�5|Ó5SP6e¤6U
+7P`7U±7I8�Q8tá8\V9t³9](:P†:b×:�:;j¼;j'<˜’<•+=¦Á=ãh>WL?¤?_$@�„@§AW®AWBe^BUÄBYCmtCSâC[6D†’DwEt‘E^F eFtGñ{GQmHO¿HTI¦dIÄJYÐJY*K%„KEªKGðKy8L¢²LlUMyÂMc<Nb NEOiIO]³OŒP‹žP:*Q†eQjìQlWRUÄR:SqUS{ÇS:CT4~TY³TY
U<gUO¤U+ôU> VI_V:©VeäV^JWA©W`ëWLXdÌX|1Y�®Y{LZLÈZM[Mc[T±[[\Nb\k±\m]b‹]hî]W^NY_F¨_Pï_†@`IÇ`…ak—apbDtbX¹bRc1ec\—c˜ôcT�dKâdG.eBvev¹eŠ0fs»fL/g‰|gÙhàhJ`i�«i�9j&ÇjNîj�=k]Îk],laŠl›ìl›ˆm­$n|ÒnžOo®îoj�pBqnKquºqY0raŠr>ìrÁ+sËís�¹tm;u9©u~ãuXbvG»vxwn|w\ëw]Hx4¦xPÛxY,yr†yOùy>Iz~ˆz¥{¢­{¢P|uó|Yi}@Ã}[~§`~�‚ŠU
€gc€JË€b�`y�?Ú�l‚I‡‚OÑ‚>!ƒL`ƒT­ƒ9„^<„]›„bù„@\…\�…:ú…}5†�³†U5‡D‹‡FÐ‡HˆG`ˆG¨ˆGðˆK8‰G„‰FÌ‰GŠI[ŠG¥ŠGíŠG5‹J}‹JÈ‹FŒHZŒG£ŒIëŒJ5�E€�HÆ�HŽGXŽG ŽEèŽ5.�Gd�I¬�Hö�I?�G‰�dÑ�n6‘—¥‘p=’n®’z“y˜“}”n�”�ÿ”t�•„–µŠ–h@—[©—5˜j;˜H¦˜Hï˜Ž8™aÇ™m)š<—šJÔšV›Qv›YÈ›c"œN†œ�ÕœTe�Ìº�Ë‡ž—SŸ¨ëŸp” Q¡yW¡eÑ¡S7¢C‹¢‹Ï¢L[£j¨£R¤Hf¤k¯¤Ò¥�î¥ep¦eÖ¦=<§Fz§lÁ§.¨P®¨8ÿ¨D8©n}©‚ì©/oªiŸªY	«yc«‹Ý«xi¬hâ¬�K­·Û­ä“®px¯øé¯©â°tŒ±®²¸°²µi³½´‘Ý´WoµeÇµ9-¶ag¶\É¶S&·Bz·p½·l.¸`›¸Yü¸\V¹C³¹a÷¹VYºq°ºP"»Is»L½»²
+¼p½¼.½3®½2â½l¾T‚¾m×¾lE¿l²¿nÀ‡ŽÀ†ÁJ�ÁCèÁL,Â?yÂG¹Â\Ãk^ÃoÊÃH:ÄFƒÄKÊÄYÅHpÅ{¹ÅR5Æ0ˆÆZ¹Æ#ÇO8Ç>ˆÇ<ÇÇTÈ=YÈR—È\êÈLGÉK”ÉJàÉK+ÊLwÊNÄÊQËJeËO°ËIÌJJÌJ•ÌVàÌF7ÍE~ÍEÄÍF
+ÎEQÎI—ÎNáÎM0Ï·~Ïš6Ð—ÑÐœiÑ³ÒµºÒ—pÓjÔFsÔBºÔ<ýÔf:Õ‡¡Õo)ÖZ™ÖhôÖ}]× Û×}|Ø¡úØWœÙmôÙxbÚmÛÚ‚IÛ]ÌÛÊ*Ü}õÜnsÝkâÝNÞ‚ÎÞ|Qß�Îß|\à“ÙàQmá�¿áqMây¿âl9ã|¦ã½#ä¤áäi†ålðå›]æ—ùæV‘çÓèçb¼èÀé^àé_?ê7ŸêQ×êY)ë˜ƒëtìR‘ìnäìPSíQ¤íIöí8@îIyîZÃîQï‰pïuúï’pðšñ}žñJò…gò:íò€(ó|©ói&ô�ôE°ôNöô,EõWrõ�Êö>L÷I‹÷HÕ÷>ø<]øVšøDñøY6ù>�ùQÏù[!úW}ú&Õúdüú`aû=ÂûIümJü?¸üDøü~=ý„¼ýMAþT�þOäþQ4ÿ_†ÿNæÿP5^†PåN6N…¨Ô•}—„«40*eE�WÖg.>–wÕmMo»c+=�TÍJ"GmAµÆ÷–¾	6U
+;Œ
+OÈ
+fu=õN3Y‚˜Üwu
Tí
eB=¨NæW5l�·úr²L%2rS¥CùM=º‹^FF¥YìFFj�IøLB]�eí£S^÷áVi8!¢®ÄRsZÆ´!>ÖvQŒNÞr-[ IüFFq�?ÿ»?‡ûBƒÆ áW %Z ‹€ o!o|!Sì!&@"g"%‡"1­",ß"#=$#b#}#”#%­#¼Ó#’�$$#%7H%€%7ƒ%»%>Ø%&.&M&i&,ƒ&°&)É&3ó&A''Xi'[Â'_(l~(Më(Q9)\‹)nè)W*p*ð*+(+?+X+k+~+š+·+Ô+î+@	,?J,3Š,4¾,;ó,/-5F-|-I“-MÝ-W+.fƒ.kê.V/Nh/D·/Jü/{G0uÃ0)91?c18£1Ü1kí1"Y2|2:€2»2Í2ß2Dñ2663?m3E­3.ó3›"4•¾43T5@ˆ5MÉ5_6Uw6}Í6PK7Mœ7?ê7)*88T8.�8.¼81ë8/91M9'9)§9)Ñ9,û9(:4F:0{:4¬:/á:Y;k;k‹;9÷;\1<jŽ<xù<kr=�Þ=o`>­Ð>f~?–å?f|@dã@WHAn ASB_cBIÃBb
CÁpC¤2D|×DSTE/¨EuØEYNF5¨F ÞF‡ÿFZ‡GIâG,,HLYH#¦H ÊHOëH;IMIUIh]I0ÆI/÷I3'J&[J‚J'˜J ÀJáJŽóJp‚KXóKYLL6¦LcÝL^AM| MYN]wNzÕNUPO
+¦OK±O\ýOZP7lP¤P4¶PgëPRSQƒ¦Qh*R;“R1ÏRqS„sSzøSFsTBºTFýTDUBbU!¥UQÇU4VONVdžVeW[iWÅW7×W)Xv9X\°X8
Y5FY|YWŽYæY øYZ'+ZSZEsZ"¹Z#ÜZ [![3[:[WF[ž[2²[å[ý[>\XS\¬\¼\"Ø\2û\.]N]@h]#©];Í]	^'^"C^4f^[›^,÷^$_:_,X_2…_k¸_%$`:Ja_…aeåa\Kb¨bÃbÕbçbîbEõbB;c@~c%¿cEåc0+d1\dCŽdvÒdyIešÃez^f€ÙfXZgW³gÅhkÑhM=i,‹iX¸ij'0jÙXjE2kxk<ŠkHÇkl"l)l!0lbRlµlCÇl-m#9m1]m"�m4²m:çm["nO~n[ÎnO*o?zoBºo[ýoOYpI©pbópoVqcÆq[*rO†rBÖrBs"\sMsPÍs3t5RtRˆtFÛtV"u4yuI®u7øu>0vHov$¸vCÝv9!wJ[wV¦wBýw@x3Rx'†x0®x9ßx1y%Ky7qy^©y9zTBzF—zaÞz
+@{LK{_˜{_ø{qX|‚Ê|.M}b|}pß}P~Žo~�þ~`Ž3ï)#€1M€}€Dý€�B�AÄ�‚„‚”‚S–ƒjêƒ2U„Uˆ„6Þ„…+*…3V…0Š…5»…8ñ…*†GC†3‹†Q¿†?‡=Q‡J�‡Ú‡¦ì‡—“ˆ“+‰“¿‰€SŠxÔŠPM‹—ž‹€6Œj·Œ‰"�£¬�‡PŽ„ØŽo]�øÍ�¶Æ�Ÿ}‘‰’¨§’£P“Üô“dÑ”o6•^¦•^–`d–XÅ–~—Q�—Àï—Š°˜Ý;™hšf‚š®éšs˜›bœSoœoÃœ~3�]²�²ž~ÃžCBŸ†Ÿ+Ÿ Ë æ  ¡e"¡Tˆ¡OÝ¡-¢>¢O¢
+g¢?r¢#²¢(Ö¢ÿ¢#£2;£¤n£!¤V5¤†Œ¤†¥Kš¥Éæ¥ž°¦gO§j·§J"¨Am¨)¯¨Ù¨F÷¨’>©Ñ©DQª‰–ª+ «>L«1‹«+½«>é«8(¬,a¬,Ž¬,»¬,è¬@­:V­,‘­+¾­8ê­K#®Co®F³®.ú®/)¯eY¯c¿¯c#°K‡°
+Ó°
+Þ°é°õ°%±5±D±Y±h±8q±<ª±Uç±.=²bl²[Ï²&+³R³i³1r³^¤³¿´{Ã´>?µÏ~µÏN¶f·~…·€¸Ÿ…¸í%¹Êº‚Þº~a»sà»{T¼vÐ¼€G½{È½vD¾t»¾Š0¿w»¿Š3ÀŠ¾ÀžIÁ’èÁ›{ÂšÃ@²Ã`óÃbTÄT·ÄpÅ^}Å^ÜÅL;ÆßˆÆfhÇ€ÏÇXPÈf©ÈfÉGwÉQ¿É^ÊlpÊiÝÊlGËG´Ë6üËF3Ì~zÌ@ùÌ†:Í@ÁÍ_ÎZbÎ½ÎUÔÎ[*ÏG†ÏIÎÏDÐW]ÐgµÐ™Ñ{·Ñ3ÒOÒ3lÒ Ò´ÒÇÒ@ÚÒmÓl‰Ó|öÓ>sÔH²Ô·ûÔT³Õ€ÖF‰ÖiÐÖ^:×!™×"»×JÞ×M)Ù:wÚ9²ÚPìÚ†=ÛŠÄÛ]OÜ�­Ü>ÝXÝ)mÝ!—Ý½¹ÝwÞi†ÞdðÞ5Uß‹ß“ß1›ßÍß“Úßnà#uàu™à¨áG¸áâfâDâFÄâã ã8:ãUsãÉã'Ýã(ä).ä'Xä)€ä*ªä%Õä!ûä"å@åVå“^åòå2ùåB,æ;oæh«æTçWiçmÁç&/è)Vè€èˆèR¥èøèé"é6éIé\évté,ëéŒên¥ê"ë(7ë=`ëlžëXìdì
qì?ì¿ìÏì€Þì;_í7›í0Óíî\îF{îHÂîjï>vï`µï2ðSIð�ðQ¸ð=
+ñ1Hñzñ-�ñ#½ñYáñ5;òMqò9¿ò2ùò,óGEó:�ó+Èó7ôó>,ô7kô€£ô?$õdõƒõŸõ¼õÚõøõö)8öKböU®ök÷€p÷yñ÷ðkø\ùexú�Þú¨nûXügpügØüP@ýB‘ýTÔýz)þg¤þaÿunÿuäÿhZdÃW(}€kþpj»ÛC—DÛ J%nâ(_€9¥{Õñ”Á«Âq|äät‚µH*îkÔ©8¸ä\V	Ûò»ºÊ3¨2wõˆˆ‡ù±æ/|d‚dˆ‹oÈ´ß@+Ï+hòp¹’�1Î­5MâJŒK+ ã�ÍW·ÂÅÁ§Ÿ÷Õ5{qª!-ÒË@iÖøÓ&œ™	+É$4ô'¶ÂTÌØ›k~¶|€0F�£Œy¶6Æ\Ó©R´þ‰;)tEBì—¥ø—ZSAOÑÓ	�ú¯óû‡ hçìÛv–�îàä‘[�/T„4jX)Šº$ÂáèÆÿYk]ö²BB”pWW«è?šPF¼u†üGè'•e#Çö¡§"ñHÄØÑïÚå~ªÝ¤$W[”SÖ°ÌFs>6·˜O—’±~0Í¾2å'É?CU”Å�ÁÀŸG<îÆp6—/rHg¡ÌPSèasb«¹ÇQ£H×ƒ‹8´ßL°ü¿u´4UË0ôAÚi·•;®o§™&ë4@Ù›!…},šl�“ƒˆ#/…Zóé.ÇUþÏ—‰xÅëvÖ˜ŒŠí%_ECíÜÖ¦=Ì!¿ƒ.`áh¢Ÿ›�›_úÚzTŸõÊ<·Ý¦tðØ]ÂØÎåF Íeí*‚)7�ou Ð®„G¤#„œ<…±xÒ�' ýÒ,(ƒöFÓá=�½1Ù¤?°"¾V~>%±¨+ª“g€U8³ü®‰ù/ëmkšx¬ð@Nz;¤©bõÜþ‘XM70“�e,Uâ3øz6ƒlòJ–ÝÀ}ºt²áLU?Ä¸
ÓÃ€J%™Ô	Ç,=K@Gèºf¯ÑLyEq9>Xg»Œc"C­éª‰*ÖÆP"	Äz9‚Í£¯%uXN�üiû–{§nm&‡ö�Èå’4J4°ñ¡Ãæ¸2RÆ°[-<åmyú�¥[ž-ÚJ\§Ð«úÔvùÑ0±)8a.Œ²ý¹*Á‹£Ðfõ%6®p5„>[I’;T²!¤SX¦¿
Åe¹çq˜A™PLa(ž«"Vchw¢o‡p•ºRÆ\ÃÒ]+»)¹<í�2Ð¬¾*Ð¶»d<æØ¿�í¼0ÜÝÃ–ôvàNu

+ñ¡î¬ž´ÔëËT‘µíéWhÕ˜’|¼-ÈÑÜ{ŒðQ5˜hlC(ª§Ö¬Qýà3¿á
+˜×ÇWÀ³d2ï÷÷Çb;ìøÃ³³½Éˆ¢æ‡RuÉ2oqà
+Y¯·ÞœÁ`¬j�æYMe�”r�Ù¦Ö…GäHÙ�xæ[Ø…cóµ¢1ç™$QFE¬ýÕRKr‘£mÊXž+QM…àHrs TÓbú¨á½pÊòF£«¢êÕA&â¿ÎÏCúàÔãìYÞÿùI¿Z¾|­¾‘G„ÂËâ'	?©mWéœû›r=0;Êi“éœZg”]Ì3Ð®,VßÜ:fðŒVÑô2}7ïÕSî >½ˆÎ•#'µZvD°¥ÑPõÝ°^„9-Üà:®ÝÉ¡:È-âûÄ‰¢ßLC»ýOû×evóêÏqì}­A§ÞƒƒšB†Ú
m{ånc¨ˆ¼óä»Â]‰|ßñô‰»øý¸³Ž4Z9p%¾}‚QL©Š,w]¶·*":DÅ9Z×wÅ–ÚNTBŸI\½Ò{@Mÿ�f•}ëÀDþáö›la jioŠ^xd8k€|CïD†1 ™O¢×3V^bÈb3sIµyÿP²�c¥¨ŽÞ‡aÌ¹ê«$œù
+ï–·ÛKêéq_‹Ž†nÏE�³ã3ö—?þ÷­#V!w,Å´¯=Šsë�ËzÍ8ò
Ô{Û„`Jš±äsènÃ€ŽAËo‚t âRjçf?(=ê¸dÍŠ#Bw\ŸÜ7ÞëÀì¥&M_m÷”&X¨:9ÊÃ± $ÌN/d5´æ³c'À•^š¼Ø$r:½ÞB�ôÕ•HyfÁñõ.çj¤¦ðž;²L—Çègt&~×Ô¨füc­¡êÝ56žÓÏ)!‡GUOÍ½º!éêQ…ïl:@ šçJ7w£8j
%‹7‹Éð5M}ò€O~yPŽ¯Ixœ`Sªs�®¾ADÄü¹>ìÎDÀ†¯
+b1YÒ.çþgy=ÎãÙ1\ß‚-™aãK¶g×Ð^Ž`"�O¥I/r©ÛãŸ“�‹^ª��~û¼E	K¦’_YÙÒt‘ã]È“#“Ä_<h>u­`(IlÈ¸xÛž)Ra¤¬.
+ßŽ¡1ºŠ†ÿi
+^�ËåÎDµ¦Ev¸¶jizN[kù `lÿ(k²¼É’†Êó�ÛzÚY6 î�ÞÙ7øÁÏµ©SÄ.*Kn÷–eÆ
›‘n˜N	    TLS: %A	<corrupt: 0x%04lx>	Export Address Table 			Export Address Table 		%08lx
+	Invalid Export Address Table rva (0x%lx) or entry count (0x%lx)
+	Invalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)
+	Invalid Ordinal Table rva (0x%lx) or entry count (0x%lx)
+	Name Pointer Table 			Ordinal Table 				[%4ld] <corrupt offset: %lx>
+	[Name Pointer/Ordinal] Table	%08lx
 	code-base %08lx toc (loadable/actual) %08lx/%08lx
-	reloc %4d offset %4x [%4lx] %s	vma:  Hint/Ord Member-Name Bound-To
+	non-TLS: %A	reloc %4d offset %4x [%4lx] %s	vma:  Hint/Ord Member-Name Bound-To
 
-	DLL Name: %s
+	DLL Name: %.*s
 
 
 PE File Base Relocations (interpreted .reloc section contents)
@@ -70,8 +83,12 @@ PE File Base Relocations (interpreted .r
 
 Characteristics 0x%x
 
+Dump of %s
+
 Dynamic Section:
 
+Error: section %s contains the debug data starting address but it is too small
+
 Exec Auxiliary Header
 
 Export Address Table -- Ordinal Base %ld
@@ -89,20 +106,35 @@ Stack size for functions.  Annotations: 
 The Export Tables (interpreted %s section contents)
 
 
+The Function Table (interpreted %s section contents)
+
 The Function Table (interpreted .pdata section contents)
 
 The Import Tables (interpreted %s section contents)
 
+There is a debug directory in %s at 0x%lx
+
+
+There is a debug directory in %s, but that section has no contents
+
+There is a debug directory, but the section containing it could not be found
+
 There is a first thunk, but the section containing it could not be found
 
 There is an export table in %s at 0x%lx
 
 There is an export table in %s, but it does not fit into that section
 
+There is an export table in %s, but it is too small (%d)
+
+There is an export table in %s, but that section has no contents
+
 There is an export table, but the section containing it could not be found
 
 There is an import table in %s at 0x%lx
 
+There is an import table in %s, but that section has no contents
+
 There is an import table, but the section containing it could not be found
 
 Version References:
@@ -111,14 +143,18 @@ Version definitions:
 
 Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld
 
+WARNING: Extra data in .rsrc section - it will be ignored by Windows:
+
 [Ordinal/Name Pointer] Table
 
 ppcboot header:
         pc: 0x%08x
     *unhandled* cmd %u
+    address: 0x%08x
     address: 0x%08x, size: %u
     flags: %u, address: 0x%08x, pd-address: 0x%08x
     global name: %.*s
+    len: %u bits
     linkage index: %u, replacement insn: 0x%08x
     name: %.*s
     pc: 0x%08x
@@ -128,8 +164,16 @@ ppcboot header:
     psect idx 3: %u, offset 3: 0x%08x %08x
     psect: %u, offset: 0x%08x %08x
     routine name: %.*s
-   %02u    %s%s %s
-   (type: %3u, size: 4+%3u):    *unhandled* cmd %u
+   %02u    (type: %3u, size: 4+%3u):    *unhandled* cmd %u
+   Error: The compile date is truncated
+   Error: The length is less than the length of an EEOM record
+   Error: The length is less than the length of an EMH record
+   Error: The module name is missing
+   Error: The module name is too long
+   Error: The module version is missing
+   Error: The module version is too long
+   Error: The record length is less than the size of an EMH_MHD record
+   Error: length larger than remaining space in record
    alignment  : 2**%u
    alloc (len)   : %u (0x%08x)
    alloc (len): %u (0x%08x)
@@ -188,13 +232,18 @@ ppcboot header:
    vector      : 0x%08x
    version mask: 0x%08x
   %s (len=%u+%u):
-  %s: 0x%v
   %u: size: %u, flags: 0x%02x, name: %.*s
   EEOM (len=%u):
   EGSD (len=%u):
   EGSD entry %2u (type: %u, len: %u):   EMH %u (len=%u):   base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x   base_va : 0x%08x
   bitcount: %u, base addr: 0x%08x
-  calls:
+  branch       %lu
+  toc adjust   %lu
+  long branch  %lu
+  long toc adj %lu
+  plt call     %lu
+  plt call toc %lu
+  global entry %lu  calls:
   chgprtoff : %5u
   codeadroff: %5u, lpfixoff  : %5u
   fixuplnk: 0x%08x %08x
@@ -210,23 +259,22 @@ ppcboot header:
   shlextra  : %5u, permctx   : %5u
   shlstoff  : %5u, shrimgcnt : %5u
   size : %u
- #: Segment name     Section name     Address
- %08x 0x%08x 64B <EABI version unrecognised> BPAGE: %u COM COMM Change Protection (%u entries):
+  the input  file's flags: %s  the output file's flags: %s %08x 0x%08x 64B <EABI version unrecognised> BPAGE: %u COM COMM Change Protection (%u entries):
  Code Address Reference Fixups:
- DEF EXE First address : 0x%08x 0x%08x
+ DEF EXE FPU support required:  First address : 0x%08x 0x%08x
  Fourth address: 0x%08x 0x%08x
- GBL Glue code sequence LIB Linkage Pairs Referece Fixups:
- NOMOD NORM OVR PIC QVAL RD REL Register restore millicode Register save millicode SHR Second address: 0x%08x 0x%08x
+ GBL Glue code sequence LIB Linkage Pairs Reference Fixups:
+ NOMOD NORM OVR PIC QVAL RD REL Register restore millicode Register save millicode Resources start at offset: %#03x
+ SHR Second address: 0x%08x 0x%08x
  Shareable images:
  Shared image  : 0x%08x 0x%08x
+ String table starts at offset: %#03x
+ Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d
  Third address : 0x%08x 0x%08x
- UNI VEC VECEP WEAK WRT [64-bit doubles] [BE8] [FPA float format] [LE8] [Maverick float format] [VFP float format] [Version1 EABI] [Version2 EABI] [Version3 EABI] [Version4 EABI] [Version5 EABI] [abi unknown] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [absolute position] [d-float] [dsp] [dynamic symbols use segment index] [fix dep] [floats passed in float registers] [floats passed in integer registers] [g-float] [has entry point] [interworking enabled] [interworking flag not initialised] [interworking not supported] [interworking supported] [mapping symbols precede others] [memory=bank-model] [memory=flat] [new ABI] [no abi set] [nonpic] [not 32bitmode] [old ABI] [pic] [position independent] [relocatable executable] [software FP] [sorted symbol table] [symbols have a _ prefix] [unknown ISA] [unsorted symbol table] [v10 and v32] [v32] corrupted GST
- cpusubtype: %08lx
- cputype   : %08lx (%s)
+ UNI VEC VECEP WEAK WRT [64-bit doubles] [BE8] [FPA float format] [LE8] [Maverick float format] [VFP float format] [Version1 EABI] [Version2 EABI] [Version3 EABI] [Version4 EABI] [Version5 EABI] [XGATE RAM offsetting] [abi unknown] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [absolute position] [d-float] [dynamic symbols use segment index] [fix dep] [floats passed in float registers] [floats passed in integer registers] [g-float] [hard-float ABI] [interworking enabled] [interworking flag not initialised] [interworking not supported] [interworking supported] [mapping symbols precede others] [memory=bank-model] [memory=flat] [new ABI] [no abi set] [nonpic] [not 32bitmode] [old ABI] [pic] [position independent] [relocatable executable] [soft-float ABI] [software FP] [sorted symbol table] [symbols have a _ prefix] [unknown ISA] [unsorted symbol table] [v10 and v32] [v32] alignment of 8-byte entities:  corrupted GST
  debug module table : vbn: %u, size: %u
  debug symbol table : vbn: %u, size: %u (0x%x)
- filetype  : %08lx (%s)
- fixup info rva:  flags     : %08lx ( flags: 0x%04x global symbol table: vbn: %u, records: %u
+ fixup info rva:  flags: 0x%04x global symbol table: vbn: %u, records: %u
  ident: 0x%08x, name: %.*s
  ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u
  image build ident: %.*s
@@ -237,17 +285,13 @@ ppcboot header:
  linker flags: %08x: linker ident     : %.*s
  long-word .address reference fixups:
  long-word relocation fixups:
- magic     : %08lx
  majorid: %u, minorid: %u
  module offset: 0x%08x, size: 0x%08x, (%u psects)
- ncmds     : %08lx (%lu)
  offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u
  quad-word .address reference fixups:
  quad-word relocation fixups:
- reserved  : %08x
  section: base: 0x%08x%08x size: 0x%08x
- sizeofcmds: %08lx
- type: %3u, len: %3u (at 0x%08x):  unhandled EOBJ record type %u
+ size of doubles:  type: %3u, len: %3u (at 0x%08x):  unhandled EOBJ record type %u
  vbn: %u, pfc: %u, matchctl: %u type: %u ( vma:			Begin Address    End Address      Unwind Info
  vma:		Begin    End      EH       EH       PrologEnd  Exception
      		Address  Address  Handler  Data     Address    Mask
@@ -255,42 +299,98 @@ ppcboot header:
      		Address  Length   Length   32b exc  Handler   Data
  vma:            Hint    Time      Forward  DLL       First
                  Table   Stamp     Chain    Name      Thunk
-#<Invalid error code>%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections%A has both ordered and unordered sections%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)
+#<Invalid error code>%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d
+%03x %*.s Entry: %A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections%A has both ordered and unordered sections%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)
 %A:0x%v not found in function table
-%B (%s): Section flag %s (0x%x) ignored%B and %B are for different configurations%B and %B are for different cores%B contains CRIS v32 code, incompatible with previous objects%B contains non-CRIS-v32 code, incompatible with previous objects%B has has both the current and legacy Tag_MPextension_use attributes%B is not allowed to define %s%B section %A exceeds stub group size%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section%B(%A): error: call to undefined function '%s'%B(%A): internal error: dangerous relocation%B(%A): internal error: out of range error%B(%A): internal error: unknown error%B(%A): internal error: unsupported relocation error%B(%A): invalid property table%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)%B(%A): warning: unaligned access to symbol '%s' in the small data area%B(%A+0x%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link%B(%A+0x%lx): %s relocation against SEC_MERGE section%B(%A+0x%lx): %s relocation against external symbol "%s"%B(%A+0x%lx): %s used with TLS symbol %s%B(%A+0x%lx): %s used with non-TLS symbol %s%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): Stabs entry has invalid string index.%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section%B(%A+0x%lx): cannot handle %s for %s%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch%B(%A+0x%lx): could not decode instruction; possible configuration mismatch%B(%A+0x%lx): invalid instruction for TLS relocation %s%B(%A+0x%lx): reloc against `%s': error %d%B(%A+0x%lx): relocation offset out of range (size=0x%x)%B(%A+0x%lx): unexpected fix for %s relocation%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'%B(%A+0x%lx): unresolvable relocation against symbol `%s'%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete
+%B (%s): Section flag %s (%#lx) ignored%B and %B are for different configurations%B and %B are for different cores%B contains CRIS v32 code, incompatible with previous objects%B contains non-CRIS-v32 code, incompatible with previous objects%B has both the current and legacy Tag_MPextension_use attributes%B is not allowed to define %s%B section %A exceeds stub group size%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section%B uses unknown e_flags 0x%lx%B(%#Lx): error: Cannot create STM32L4XX veneer. Jump out of range by %Ld bytes. Cannot encode branch instruction. %B(%A): error: call to undefined function '%s'%B(%A): internal error: dangerous relocation%B(%A): internal error: out of range error%B(%A): internal error: unknown error%B(%A): internal error: unsupported relocation error%B(%A): invalid property table%B(%A): multiple TLS models are not supported%B(%A): relocation %d has invalid symbol index %ld%B(%A): shared library symbol %s encountered whilst performing a static link%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction.%B(%A): warning: unaligned access to symbol '%s' in the small data area%B(%A): warning: unaligned small data access of type %d.%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link%B(%A+%#Lx): %s relocation against SEC_MERGE section%B(%A+%#Lx): %s relocation against external symbol "%s"%B(%A+%#Lx): %s relocation not permitted in shared object%B(%A+%#Lx): %s used with TLS symbol %s%B(%A+%#Lx): %s used with non-TLS symbol %s%B(%A+%#Lx): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value is %#Lx)%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, 16 MSB should be %#x (value is %#Lx)%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group relocations%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section%B(%A+%#Lx): cannot handle %s for %s%B(%A+%#Lx): cannot reach %s%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections%B(%A+%#Lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch%B(%A+%#Lx): could not decode instruction; possible configuration mismatch%B(%A+%#Lx): error: %s with unexpected instruction %#x%B(%A+%#Lx): invalid instruction for TLS relocation %s%B(%A+%#Lx): reloc against `%s': error %d%B(%A+%#Lx): relocation offset out of range (size=%#Lx)%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC%B(%A+%#Lx): unexpected fix for %s relocation%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'%B(%A+%#Lx): unresolvable relocation against symbol `%s'%B(%A+%#lx): Stabs entry has invalid string index.%B(%A+%#x): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.
+Use gcc option -mrestrict-it to generate only one instruction per IT block.
+%B(%A+0x%lx): %d bytes required for alignment to %d-byte boundary, but only %d present%B(%A+0x%lx): Unable to clear RISCV_PCREL_HI20 relocfor cooresponding RISCV_PCREL_LO12 reloc%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete
 %B(%s): warning: interworking not enabled.
   first occurrence: %B: ARM call to Thumb%B(%s): warning: interworking not enabled.
   first occurrence: %B: Thumb call to ARM%B(%s): warning: interworking not enabled.
   first occurrence: %B: arm call to thumb%B(%s): warning: interworking not enabled.
-  first occurrence: %B: thumb call to arm%B(%s): warning: interworking not enabled.
   first occurrence: %B: thumb call to arm
-  consider relinking with --support-old-code enabled%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'%B, section %A:
+  consider relinking with --support-old-code enabled%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'%B, section %A:
   relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC%B, section %A:
   relocation %s should not be used in a shared object; recompile with -fPIC%B, section %A:
-  v10/v32 compatible object %s must not contain a PIC relocation%B, section %A: No PLT for relocation %s against symbol `%s'%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for global symbol: `%s'%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?%B, section %A: relocation %s with no GOT created%B, section %A: relocation %s with non-zero addend %d against local symbol%B, section %A: relocation %s with non-zero addend %d against symbol `%s'%B, section %A: unresolvable relocation %s against symbol `%s'%B, section `%A', to symbol `%s':
-  relocation %s should not be used in a shared object; recompile with -fPIC%B: !samegp reloc against symbol without .prologue: %s%B: %A+0x%lx: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled.%B: %s: invalid needed version %d%B: %s: invalid version %u (max %d)%B: '%s' accessed both as normal and thread local symbol%B: .got subsegment exceeds 64K (size %d)%B: .opd is not a regular array of opd entries%B: .preinit_array section is not allowed in DSO%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32%B: 0x%lx: fatal: reloc overflow while relaxing%B: 0x%lx: fatal: unaligned %s relocation 0x%lx%B: 0x%lx: fatal: unaligned branch target for relax-support relocation%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x%B: 0x%lx: warning: bad R_SH_USES load offset%B: 0x%lx: warning: bad R_SH_USES offset%B: 0x%lx: warning: bad count%B: 0x%lx: warning: could not find expected COUNT reloc%B: 0x%lx: warning: could not find expected reloc%B: 0x%lx: warning: symbol in unexpected section%B: @gprel relocation against dynamic symbol %s%B: @internal branch to dynamic symbol %s%B: @pcrel relocation against dynamic symbol %s%B: ABI is incompatible with that of the selected emulation%B: ABI mismatch: linking %s module with previous %s modules%B: ASE mismatch: linking %s module with previous %s modules%B: Architecture mismatch with previous modules%B: BE8 images only valid in big-endian mode.%B: Bad relocation record imported: %d%B: CALL15 reloc at 0x%lx not against global symbol%B: CALL16 reloc at 0x%lx not against global symbol%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000).%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch.%B: Cannot handle compressed Alpha binaries.
-   Use compiler flags, or objZ, to generate uncompressed binaries.%B: Cannot link together %s and %s objects.%B: Corrupt size field in group section header: 0x%lx%B: Failed to add renamed symbol %s%B: Function descriptor relocation with non-zero addend%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d%B: GOT overflow: Number of relocations with 8-bit offset > %d%B: GOT reloc at 0x%lx not expected in executables%B: IMPORT AS directive for %s conceals previous IMPORT AS%B: Instruction set mismatch with previous modules%B: Invalid relocation type imported: %d%B: Malformed reloc detected for section %s%B: Not enough room for program headers, try linking with -N%B: Only registers %%g[2367] can be declared using STT_REGISTER%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive%B: Relocation %s (%d) is not currently supported.
-%B: Relocations in generic ELF (EM: %d)%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined%B: TLS local exec code cannot be linked into shared objects%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed%B: The first section in the PT_DYNAMIC segment is not the .dynamic section%B: The target (%s) of an %s relocation is in the wrong section (%A)%B: Too many sections: %d (>= %d)%B: Unable to sort relocs - they are in more than one size%B: Unable to sort relocs - they are of an unknown size%B: Unhandled import type; %x%B: Unknown mandatory EABI object attribute %d%B: Unknown relocation type %d
+  v10/v32 compatible object must not contain a PIC relocation%B, section %A: No PLT for relocation %s against symbol `%s'%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for global symbol: `%s'%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?%B, section %A: relocation %s with no GOT created%B, section %A: relocation %s with non-zero addend %Ld against local symbol%B, section %A: relocation %s with non-zero addend %Ld against symbol `%s'%B, section %A: unresolvable relocation %s against symbol `%s'%B, section `%A', to symbol `%s':
+  relocation %s should not be used in a shared object; recompile with -fPIC%B: !samegp reloc against symbol without .prologue: %s%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32%B: %#Lx: fatal: reloc overflow while relaxing%B: %#Lx: fatal: unaligned %s relocation %#Lx%B: %#Lx: fatal: unaligned branch target for relax-support relocation%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insn %#x%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insns%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc %#Lx%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insn %#x%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insns%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized reloc%B: %#Lx: warning: bad R_SH_USES load offset%B: %#Lx: warning: bad R_SH_USES offset%B: %#Lx: warning: bad count%B: %#Lx: warning: could not find expected COUNT reloc%B: %#Lx: warning: could not find expected reloc%B: %#Lx: warning: symbol in unexpected section%B: %A invalid input section size%B: %A not in order%B: %A points past end of text section%B: %A+%#Lx: No symbol found for INHERIT%B: %A+%#Lx: warning: %s relocation against unexpected insn%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn%B: %A: reloc overflow: %#x > 0xffff%B: %s not absolute%B: %s' accessed both as normal and thread local symbol%B: %s: invalid needed version %d%B: %s: invalid version %u (max %d)%B: %s: reloc overflow: 0x%lx > 0xffff%B: '%s' accessed both as normal and thread local symbol%B: --in-implib only supported for Secure Gateway import libraries.%B: .gnu.version_d invalid entry%B: .gnu.version_r invalid entry%B: .got subsegment exceeds 64K (size %d)%B: .opd is not a regular array of opd entries%B: .preinit_array section is not allowed in DSO%B: .reginfo section size should be %d bytes, actual size is %d%B: .rsrc merge failure: corrupt .rsrc section%B: .rsrc merge failure: unexpected .rsrc size%B: @gprel relocation against dynamic symbol %s%B: @internal branch to dynamic symbol %s%B: @pcrel relocation against dynamic symbol %s%B: ABI is incompatible with that of the selected emulation%B: ABI is incompatible with that of the selected emulation:
+  target emulation `%s' does not match `%s'%B: ABI mismatch: linking %s module with previous %s modules%B: ABI version %ld is not compatible with ABI version %ld output%B: ASE mismatch: linking %s module with previous %s modules%B: Architecture mismatch with previous modules%B: BE8 images only valid in big-endian mode.%B: Bad relocation record imported: %d%B: Bad symbol definition: `Main' set to %s rather than the start address %s
+%B: CALL15 reloc at %#Lx not against global symbol%B: CALL16 reloc at %#Lx not against global symbol%B: Can't find matching LO16 reloc against `%s' for %s at %#Lx in section `%A'%B: Can't relax br (%s) to `%s' at %#Lx in section `%A' with size %#Lx (> 0x1000000).%B: Can't relax br at %#Lx in section `%A'. Please use brl or indirect branch.%B: Cannot handle compressed Alpha binaries.
+   Use compiler flags, or objZ, to generate uncompressed binaries.%B: Cannot link together %s and %s objects.%B: Data Directory size (%lx) exceeds space left in section (%Lx)%B: EF_OR1K_NODELAY flag mismatch with previous modules%B: Error: Debug Data ends beyond end of debug directory.%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file
+%B: Error: search_nds32_elf_blank reports wrong node
+%B: Failed to add renamed symbol %s%B: Failed to find info section for section %d%B: Failed to find link section for section %d%B: Failed to read debug data section%B: Function descriptor relocation with non-zero addend%B: GAS error: unexpected PTB insn with R_SH_PT_16%B: GNU_MBIN section `%A' has invalid sh_info field: %d%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d%B: GOT overflow: Number of relocations with 8-bit offset > %d%B: GOT reloc at %#Lx not expected in executables%B: IMPORT AS directive for %s conceals previous IMPORT AS%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte%B: Instruction set mismatch with previous modules%B: Internal inconsistency error for value for
+ linker-allocated global register: linked: %#Lx != relaxed: %#Lx%B: Invalid relocation type exported: %d%B: Invalid relocation type imported: %d%B: Invalid sh_link field (%d) in section number %d%B: LOCAL directive: Register $%Ld is not a local register.  First global register is $%Ld.%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol%B: Malformed reloc detected for section %A%B: Malformed reloc detected for section %s%B: Nested OMIT_FP in %A.%B: No core to allocate a symbol %d bytes long
+%B: No core to allocate section name %s
+%B: No symbol version section for versioned symbol `%s'%B: Not enough room for program headers, try linking with -N%B: Only registers %%g[2367] can be declared using STT_REGISTER%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive%B: Relocation %s (%d) is not currently supported.
+%B: Relocation %s is not yet supported for symbol %s.%B: Relocations in generic ELF (EM: %d)%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined%B: SHT_GROUP section [index %d] has no SHF_GROUP sections%B: Special symbol `%s' only allowed for ARMv8-M architecture or later.%B: TLS local exec code cannot be linked into shared objects%B: TLS sections are not adjacent:%B: TLS transition from %s to %s against `%s' at %#Lx in section `%A' failed%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry%B: The first section in the PT_DYNAMIC segment is not the .dynamic section%B: The target (%s) of an %s relocation is in the wrong section (%A)%B: Too many sections: %d (>= %d)%B: Unable to sort relocs - they are in more than one size%B: Unable to sort relocs - they are of an unknown size%B: Unhandled import type; %x%B: Unknown architecture %s%B: Unknown mandatory ARC object attribute %d.%B: Unknown mandatory EABI object attribute %d%B: Unknown relocation type %d
 %B: Unknown section type in a.out.adobe file: %x
-%B: Unrecognised .directive command: %s%B: Unrecognised import name type; %x%B: Unrecognised import type; %x%B: Unrecognised machine type (0x%x) in Import Library Format archive%B: Unrecognized storage class %d for %s symbol `%s'%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s%B: Warning: Thumb BLX instruction targets thumb function '%s'.%B: Warning: bad `%s' option size %u smaller than its header%B: Warning: cannot determine the target function for stub section `%s'%B: XMC_TC0 symbol `%s' is class %d scnlen %d%B: `%s' accessed both as FDPIC and thread local symbol%B: `%s' accessed both as normal and FDPIC symbol%B: `%s' accessed both as normal and thread local symbol%B: `%s' has line numbers but no enclosing section%B: `%s' in loader reloc but not loader sym%B: `ld -r' not supported with PE MIPS objects
-%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d%B: bad pair/reflo after refhi
-%B: bad reloc address 0x%lx in section `%A'%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'%B: bad relocation section name `%s'%B: bad section length in ihex_read_section%B: bad string table size %lu%B: bad symbol index: %d%B: cannot create stub entry %s%B: change in gp: BRSGP %s%B: class %d symbol `%s' has no aux entries%B: compiled for a 64 bit system and target is 32 bit%B: compiled for a big endian system and target is little endian%B: compiled for a little endian system and target is big endian%B: compiled normally and linked with modules compiled with -mrelocatable%B: compiled with -mrelocatable and linked with modules compiled normally%B: could not find output section %A for input section %A%B: could not find output section %s%B: could not read contents of section `%A'
-%B: csect `%s' not in enclosing section%B: don't know how to handle OS specific section `%s' [0x%8x]%B: don't know how to handle allocated, application specific section `%s' [0x%8x]%B: don't know how to handle processor specific section `%s' [0x%8x]%B: don't know how to handle section `%s' [0x%8x]%B: dtp-relative relocation against dynamic symbol %s%B: duplicate export stub %s%B: duplicate section `%A' has different contents
+%B: Unmatched OMIT_FP in %A.%B: Unrecognised .directive command: %s%B: Unrecognised import name type; %x%B: Unrecognised import type; %x%B: Unrecognised machine type (0x%x) in Import Library Format archive%B: Unrecognized storage class %d for %s symbol `%s'%B: Unsupported transition from %s to %s%B: Warning: Arm BLX instruction targets Arm function '%s'.%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s%B: Warning: Thumb BLX instruction targets thumb function '%s'.%B: Warning: bad `%s' option size %u smaller than its header%B: Warning: cannot determine the target function for stub section `%s'%B: Warning: thumb-1 mode PLT generation not currently supported%B: XCOFF shared object when not producing XCOFF output%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld%B: __gp does not cover short data segment%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC%B: `%s' accessed both as FDPIC and thread local symbol%B: `%s' accessed both as normal and FDPIC symbol%B: `%s' accessed both as normal and thread local symbol%B: `%s' and its special symbol are in different sections.%B: `%s' has line numbers but no enclosing section%B: `%s' in loader reloc but not loader sym%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)%B: `ld -r' not supported with PE MIPS objects
+%B: absent standard symbol `%s'.%B: access beyond end of merged section (%Ld)%B: addend %s%#x in relocation %s against symbol `%s' at %#Lx in section `%A' is out of range%B: address %#Lx out of range for Intel Hex file%B: aout header specifies an invalid number of data-directory entries: %ld%B: attempt to emit contents at non-multiple-of-4 address %#Lx%B: attempt to load strings from a non-string section (number %d)%B: attempt to mix FDPIC and non-FDPIC objects%B: attempt to write out unknown reloc type%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld%B: bad pair/reflo after refhi
+%B: bad reloc address %#Lx in section `%A'%B: bad reloc symbol index (%#Lx >= %#lx) for offset %#Lx in section `%A'%B: bad relocation section name `%s'%B: bad section length in ihex_read_section%B: bad string table size %Lu%B: bad symbol index: %d%B: base-plus-offset relocation against register symbol: %s in %A%B: base-plus-offset relocation against register symbol: (unknown) in %A%B: can not represent section `%A' in a.out object file format%B: can not represent section `%A' in oasys%B: can not represent section for symbol `%s' in a.out object file format%B: can't link hard-float modules with soft-float modules%B: cannot allocate file name for file number %d, %d bytes
+%B: cannot create stub entry %s%B: cannot link fdpic object file into non-fdpic executable%B: cannot link non-fdpic object file into fdpic executable%B: change in gp: BRSGP %s%B: class %d symbol `%s' has no aux entries%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s%B: compiled as 32-bit object and %B is 64-bit%B: compiled as 64-bit object and %B is 32-bit%B: compiled for a 64 bit system and target is 32 bit%B: compiled for a big endian system and target is little endian%B: compiled for a little endian system and target is big endian%B: compiled normally and linked with modules compiled with -mrelocatable%B: compiled with %s and linked with modules compiled with %s%B: compiled with %s and linked with modules that use non-pic relocations%B: compiled with -mrelocatable and linked with modules compiled normally%B: corrupt size field in group section header: %#Lx%B: corrupt symbol count: %#Lx%B: could not find output section %A for input section %A%B: could not read contents of section `%A'
+%B: could not write out added .cranges entries%B: could not write out sorted .cranges entries%B: csect `%s' not in enclosing section%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object%B: directive LOCAL valid only with a register or absolute value%B: dtp-relative relocation against dynamic symbol %s%B: duplicate export stub %s%B: duplicate section `%A' has different contents
 %B: duplicate section `%A' has different size
-%B: endianness incompatible with that of the selected emulation%B: error: Cortex-A8 erratum stub is allocated in unsafe location%B: error: Cortex-A8 erratum stub out of range (input file too large)%B: error: VFP11 veneer out of range%B: error: unaligned relocation type %d at %08x reloc %p
-%B: error: unknown mandatory EABI object attribute %d%B: file class %s incompatible with %s%B: gp-relative relocation against dynamic symbol %s%B: hidden symbol `%s' in %B is referenced by DSO%B: hidden symbol `%s' isn't defined%B: ignoring duplicate section `%A'
-%B: illegal relocation type %d at address 0x%lx%B: illegal symbol index in reloc: %d%B: incompatible machine type. Output is 0x%x. Input is 0x%x%B: indirect symbol `%s' to `%s' is a loop%B: internal error in ihex_read_section%B: internal symbol `%s' in %B is referenced by DSO%B: internal symbol `%s' isn't defined%B: invalid SHT_GROUP entry%B: invalid link %lu for reloc section %s (index %u)%B: invalid relocation type %d%B: invalid string offset %u >= %lu for section `%s'%B: jump too far away
-%B: linking %s module with previous %s modules%B: linking 32-bit code with 64-bit code%B: linking 64-bit files with 32-bit files%B: linking UltraSPARC specific with HAL specific code%B: linking auto-pic files with non-auto-pic files%B: linking big-endian files with little-endian files%B: linking constant-gp files with non-constant-gp files%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double%B: linking files compiled for HCS12 with others compiled for HC12%B: linking little endian files with big endian files%B: linking non-pic code in a position independent executable%B: linking trap-on-NULL-dereference with non-trapping files%B: loader reloc in read-only section %A%B: loader reloc in unrecognized section `%s'%B: local symbol `%s' in %B is referenced by DSO%B: misplaced XTY_LD `%s'%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'.%B: no group info for section %A%B: non-pic code with imm relocation against dynamic symbol `%s'%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table%B: pc-relative relocation against dynamic symbol %s%B: pc-relative relocation against undefined weak symbol %s%B: probably compiled without -fPIC?%B: protected symbol `%s' isn't defined%B: reloc %s:%d not in csect%B: reloc against a non-existant symbol index: %ld%B: relocation %s against %s `%s' can not be used when making a shared object%s%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC%B: relocation %s against symbol `%s' isn't supported in x32 mode%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s%B: relocation %s can not be used when making a shared object; recompile with -fPIC%B: relocation %s cannot be used when making a shared object%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend%B: relocation size mismatch in %B section %A%B: relocs in section `%A', but it has no contents%B: section %A lma %#lx adjusted to %#lx%B: section %s: string table overflow at offset %ld%B: section `%A' can't be allocated in segment %d%B: sh_link [%d] in section `%A' is incorrect%B: sh_link of section `%A' points to discarded section `%A' of `%B'%B: sh_link of section `%A' points to removed section `%A' of `%B'%B: size field is zero in Import Library Format header%B: speculation fixup to dynamic symbol %s%B: string not null terminated in ILF object file.%B: symbol `%s' has unrecognized csect type %d%B: symbol `%s' has unrecognized smclas %d%B: symbol `%s' required but not present%B: too many sections (%d)%B: tp-relative relocation against dynamic symbol %s%B: unable to fill in DataDictionary[12] because .idata$5 is missing%B: unable to fill in DataDictionary[1] because .idata$2 is missing%B: unable to fill in DataDictionary[1] because .idata$4 is missing%B: unable to fill in DataDictionary[9] because __tls_used is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing%B: unable to find ARM glue '%s' for `%s'%B: unable to find THUMB glue '%s' for `%s'%B: unable to find VFP11 veneer `%s'%B: unable to get decompressed section %A%B: unable to initialize commpress status for section %s%B: unable to initialize decommpress status for section %s%B: undefined reference to symbol '%s'%B: undefined sym `%s' in .opd section%B: undefined symbol on R_PPC64_TOCSAVE relocation%B: unexpected ATN type %d in external part%B: unexpected redefinition of indirect versioned symbol `%s'%B: unexpected reloc type %u in .opd section%B: unexpected type after ATN%B: unhandled dynamic relocation against %s%B: unimplemented %s
-%B: unimplemented ATI record %u for symbol %u%B: unknown [%d] section `%s' in group [%s]%B: unknown relocation type %d%B: unknown/unsupported relocation type %d%B: unrecognized relocation (0x%x) in section `%A'%B: unsupported relocation type %i%B: unsupported relocation type %i
-%B: unsupported relocation type %s%B: unsupported relocation: ALPHA_R_GPRELHIGH%B: unsupported relocation: ALPHA_R_GPRELLOW%B: uses _-prefixed symbols, but writing file with non-prefixed symbols%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)%B: uses non-prefixed symbols, but writing file with _-prefixed symbols%B: version node not found for symbol %s%B: warning: COMDAT symbol '%s' does not match section name '%s'%B: warning: Empty loadable segment detected, is this intentional ?
-%B: warning: allocated section `%s' not in segment%B: warning: duplicate line number information for `%s'%B: warning: illegal symbol index %ld in line numbers%B: warning: illegal symbol index %ld in relocs%B: warning: line number table read failed%B: warning: linking PIC files with non-PIC files%B: warning: linking abicalls files with non-abicalls files%B: warning: selected VFP11 erratum workaround is not necessary for target architecture%B: warning: sh_link not set for section `%A'%B: warning: unknown EABI object attribute %d%B:%A%s exceeds overlay size
-%B:%A: Warning: deprecated Red Hat reloc %B:%d: Bad checksum in S-record file
+%B: dynamic object with no .loader section%B: dynamic relocation against `%T' in read-only section `%A'
+%B: dynamic relocation in read-only section `%A'
+%B: encountered datalabel symbol in input%B: endianness incompatible with that of the selected emulation%B: entry function `%s' is empty.%B: entry function `%s' not output.%B: error: ABI mismatch with previous modules.%B: error: Alignment power %d of section `%A' is too big%B: error: Cannot create STM32L4XX veneer.%B: error: Cannot set _ITB_BASE_%B: error: Cortex-A8 erratum stub is allocated in unsafe location%B: error: Cortex-A8 erratum stub out of range (input file too large)%B: error: Erratum 835769 stub out of range (input file too large)%B: error: Erratum 843419 stub out of range (input file too large)%B: error: Instruction set mismatch with previous modules.%B: error: PHDR segment not covered by LOAD segment%B: error: VFP11 veneer out of range%B: error: attribute section length too small: %ld%B: error: non-load segment %d includes file header and/or program header%B: error: unaligned relocation type %d at %#Lx reloc %#Lx%B: error: unaligned relocation type %d at %08Lx reloc %08Lx%B: error: unexpected symbol '%s' in COMDAT section%B: error: unknown mandatory EABI object attribute %d%B: error: unknown relocation type %d.%B: failed to generate import library%B: fatal: generic symbols retrieved before relaxing%B: file class %s incompatible with %s%B: gp-relative relocation against dynamic symbol %s%B: group section '%A' has no contents%B: hidden symbol `%s' in %B is referenced by DSO%B: hidden symbol `%s' isn't defined%B: ignoring duplicate section `%A'
+%B: illegal relocation type %d at address %#Lx%B: illegal section name `%A'%B: illegal symbol index %ld in relocs%B: illegal symbol index in reloc: %ld%B: incompatible machine type. Output is 0x%x. Input is 0x%x%B: incorrect size for symbol `%s'.%B: indirect symbol `%s' to `%s' is a loop%B: internal error in ihex_read_section%B: internal error, internal register section %A had contents
+%B: internal error, symbol table changed size from %d to %d words
+%B: internal symbol `%s' in %B is referenced by DSO%B: internal symbol `%s' isn't defined%B: invalid AVR reloc number: %d%B: invalid CR16C reloc number: %d%B: invalid CRIS reloc number: %d%B: invalid D10V reloc number: %d%B: invalid D30V reloc number: %d%B: invalid Epiphany reloc number: %d%B: invalid FR30 reloc number: %d%B: invalid FRV reloc number: %d%B: invalid IP2K reloc number: %d%B: invalid IQ2000 reloc number: %d%B: invalid LM32 reloc number: %d%B: invalid M32C reloc number: %d%B: invalid M32R reloc number: %d%B: invalid M68HC11 reloc number: %d%B: invalid M68HC12 reloc number: %d%B: invalid MEP reloc number: %d%B: invalid METAG reloc number: %d%B: invalid MMIX reloc number: %d%B: invalid MSP430 reloc number: %d%B: invalid MSP430X reloc number: %d%B: invalid MT reloc number: %d%B: invalid Moxie reloc number: %d%B: invalid NDS32 reloc number: %d%B: invalid OR1K reloc number: %d%B: invalid RL78 reloc number: %d%B: invalid RX reloc number: %d%B: invalid SHT_GROUP entry%B: invalid V850 reloc number: %d%B: invalid Visium reloc number: %d%B: invalid XGate reloc number: %d%B: invalid XTENSA reloc number: %d%B: invalid i960 reloc number: %d%B: invalid import library entry: `%s'.%B: invalid link %u for reloc section %s (index %u)%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)
+%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote
+%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx
+%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo
+%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc
+%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx
+%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d
+%B: invalid mmo file: file name for number %d was not specified before use
+%B: invalid mmo file: file number %d `%s', was already entered as `%s'
+%B: invalid mmo file: initialization value for $255 is not `Main'
+%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx
+%B: invalid mmo file: lop_end not last item in file
+%B: invalid mmo file: unsupported lopcode `%d'
+%B: invalid relocation type %d%B: invalid size field in group section header: %#Lx%B: invalid special symbol `%s'.%B: invalid standard symbol `%s'.%B: invalid start address for initialized registers of length %Ld: %#Lx%B: invalid string offset %u >= %Lu for section `%s'%B: invalid symbol table: duplicate symbol `%s'
+%B: jump too far away
+%B: line number overflow: 0x%lx > 0xffff%B: linking %s module with previous %s modules%B: linking 32-bit code with 64-bit code%B: linking 64-bit files with 32-bit files%B: linking UltraSPARC specific with HAL specific code%B: linking auto-pic files with non-auto-pic files%B: linking big-endian files with little-endian files%B: linking constant-gp files with non-constant-gp files%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double%B: linking files compiled for HCS12 with others compiled for HC12%B: linking little endian files with big endian files%B: linking non-pic code in a position independent executable%B: linking trap-on-NULL-dereference with non-trapping files%B: loader reloc in read-only section %A%B: loader reloc in unrecognized section `%s'%B: local symbol `%s' in %B is referenced by DSO%B: misplaced XTY_LD `%s'%B: missing TLS section for relocation %s against `%s' at %#Lx in section `%A'.%B: no group info for section '%A'%B: no initialized registers; section length 0
+%B: no symbol found for import library%B: no valid group sections found%B: non-pic code with imm relocation against dynamic symbol `%s'%B: non-zero symbol index (%#Lx) for offset %#Lx in section `%A' when the object file has no symbol table%B: not enough memory to allocate space for %#Lx symbols of size %#Lx%B: object size does not match that of target %B%B: out of memory creating name for empty section%B: out of memory in _bfd_elf_get_property%B: page size is too large (0x%x)%B: pc-relative relocation against dynamic symbol %s%B: pc-relative relocation against undefined weak symbol %s%B: plugin needed to handle lto object%B: probably compiled without -fPIC?%B: protected symbol `%s' isn't defined%B: register relocation against non-register symbol: %s in %A%B: register relocation against non-register symbol: (unknown) in %A%B: reloc %s:%Ld not in csect%B: reloc against a non-existent symbol index: %ld%B: relocatable link from %s to %s not supported%B: relocation %s against %s%s`%s' can not be used when making %s%s%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %Ld%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported%B: relocation %s against `%s' can not be used when making a shared object%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC%B: relocation %s against symbol `%s' isn't supported in x32 mode%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC%B: relocation %s can not be used when making a shared object; recompile with -fPIC%B: relocation %s cannot be used when making a shared object%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend%B: relocation size mismatch in %B section %A%B: relocs in section `%A', but it has no contents%B: section %A lma %#Lx adjusted to %#Lx%B: section %A: string table overflow at offset %ld%B: section `%A' can't be allocated in segment %d%B: section group entry number %u is corrupt%B: sh_link [%d] in section `%A' is incorrect%B: sh_link of section `%A' points to discarded section `%A' of `%B'%B: sh_link of section `%A' points to removed section `%A' of `%B'%B: short data segment overflowed (%#Lx >= 0x400000)%B: size field is zero in Import Library Format header%B: speculation fixup to dynamic symbol %s%B: stack size specified and %s set%B: string not null terminated in ILF object file.%B: string too long (%ld chars, max 65535)%B: support for local dynamic not implemented%B: symbol `%s' has unrecognized csect type %d%B: symbol `%s' has unrecognized smclas %d%B: symbol `%s' required but not present%B: taking the address of protected function '%s' cannot be done when making a shared library%B: the target (%s) of a %s relocation is in the wrong output section (%s)%B: too many initialized registers; section length %Ld%B: too many sections (%d)%B: too many sections: %u%B: tp-relative relocation against dynamic symbol %s%B: unable to create fake empty section%B: unable to fill in DataDictionary[12] because .idata$5 is missing%B: unable to fill in DataDictionary[1] because .idata$2 is missing%B: unable to fill in DataDictionary[1] because .idata$4 is missing%B: unable to fill in DataDictionary[9] because __tls_used is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing%B: unable to find ARM glue '%s' for `%s'%B: unable to find STM32L4XX veneer `%s'%B: unable to find THUMB glue '%s' for `%s'%B: unable to find VFP11 veneer `%s'%B: unable to find name for empty section%B: unable to get decompressed section %A%B: unable to initialize compress status for section %s%B: unable to initialize decompress status for section %s%B: unable to load COMDAT section name%B: undefined reference to symbol '%s'%B: undefined sym `%s' in .opd section%B: undefined symbol on R_PPC64_TOCSAVE relocation%B: unexpected ATN type %Ld in external part%B: unexpected redefinition of indirect versioned symbol `%s'%B: unexpected reloc type %u in .opd section%B: unexpected type after ATN%B: unhandled dynamic relocation against %s%B: unimplemented %s
+%B: unimplemented ATI record %u for symbol %u%B: unknown load command %#x%B: unknown relocation type %d%B: unknown relocation type %d for symbol %s%B: unknown type [%#x] section `%s'%B: unknown type [%#x] section `%s' in group [%A]%B: unknown/unsupported relocation type %d%B: unrecognised Alpha reloc number: %d%B: unrecognised CR16 reloc number: %d%B: unrecognised CRX reloc number: %d%B: unrecognised I370 reloc number: %d%B: unrecognised MCore reloc number: %d%B: unrecognised MN10300 reloc number: %d%B: unrecognised MicroBlaze reloc number: %d%B: unrecognised PPC reloc number: %d%B: unrecognised PicoJava reloc number: %d%B: unrecognised SH reloc number: %d%B: unrecognised SPU reloc number: %d%B: unrecognised VAX reloc number: %d%B: unrecognized relocation (%#x) in section `%A'%B: unrecognized symbol `%s' flags 0x%x%B: unsupported non-PIC call to IFUNC `%s'%B: unsupported relocation type %d%B: unsupported relocation type %i
+%B: unsupported relocation type %s%B: unsupported relocation type 0x%02x%B: unsupported relocation: ALPHA_R_GPRELHIGH%B: unsupported relocation: ALPHA_R_GPRELLOW%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'
+%B: uses %s instructions while previous modules use %s instructions%B: uses _-prefixed symbols, but writing file with non-prefixed symbols%B: uses different e_flags (%#x) fields than previous modules (%#x)%B: uses different unknown e_flags (%#x) fields than previous modules (%#x)%B: uses instructions which are incompatible with instructions used in previous modules%B: uses non-prefixed symbols, but writing file with _-prefixed symbols%B: version count (%Ld) does not match symbol count (%ld)%B: version node not found for symbol %s%B: visibility of symbol `%s' has changed.%B: warning core file truncated%B: warning: %A: line number overflow: %#x > 0xffff%B: warning: %s points to unrecognized reloc at %#Lx%B: warning: %s relocation against symbol `%s' from %A section%B: warning: %s relocation to %#Lx from %A section%B: warning: %s: line number overflow: 0x%lx > 0xffff%B: warning: COMDAT symbol '%s' does not match section name '%s'%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?%B: warning: Endian mismatch with previous modules.%B: warning: GOT addend of %Ld to `%s' does not match previous GOT addend of %Ld%B: warning: Incompatible elf-versions %s and  %s.%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags%B: warning: No symbol for section '%s' found%B: warning: Older version of object file encountered, Please recompile with current tool chain.%B: warning: PLT addend of %Ld to `%s' from %A section ignored%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)%B: warning: allocated section `%s' not in segment%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode.%B: warning: claims to have 0xffff relocs, without overflow%B: warning: duplicate line number information for `%s'%B: warning: illegal symbol in line number entry %d%B: warning: illegal symbol index %ld in relocs%B: warning: illegal symbol index 0x%lx in line number entry %d%B: warning: isymMax (%ld) is greater than ifdMax (%ld)%B: warning: line number count (%#lx) exceeds section size (%#lx)%B: warning: line number table read failed%B: warning: linking PIC files with non-PIC files%B: warning: linking abicalls files with non-abicalls files%B: warning: loop in section dependencies detected%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u%B: warning: multiple symbol tables detected - ignoring the table in section %u%B: warning: relocate SDA_BASE failed.%B: warning: segment alignment of %#Lx is too large%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture%B: warning: selected VFP11 erratum workaround is not necessary for target architecture%B: warning: sh_link not set for section `%A'%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.
+%B: warning: unaligned access to GOT entry.%B: warning: unaligned small data access for entry: {%Ld, %Ld, %Ld}, addr = %#Lx, align = %#x%B: warning: unknown EABI object attribute %d%B: will not resolve runtime TLS relocation%B:%A%s exceeds overlay size
+%B:%A: %s and %s must be in the same input section%B:%A: Warning: deprecated Red Hat reloc %B:%A: error: relocation references symbol %s which was removed by garbage collection.%B:%A: error: try relinking with --gc-keep-exported enabled.%B:%A: table %s missing corresponding %s%B:%A: table entry %s not word-aligned within table%B:%A: table entry %s outside table%B:%d: Bad checksum in S-record file
 %B:%d: Unexpected character `%s' in S-record file
-%B:%d: unexpected character `%s' in Intel Hex file%B:%u: bad checksum in Intel Hex file (expected %u, found %u)%B:%u: bad extended address record length in Intel Hex file%B:%u: bad extended linear address record length in Intel Hex file%B:%u: bad extended linear start address length in Intel Hex file%B:%u: bad extended start address length in Intel Hex file%B:%u: unrecognized ihex type %u in Intel Hex file%C: warning: relocation to "%s" references a different segment
+%B:%d: byte count %d too small
+%B:%d: unexpected character `%s' in Intel Hex file%B:%s has both normal and TLS relocs%B:%s section %s: alignment 2**%u not representable%B:%u: bad checksum in Intel Hex file (expected %u, found %u)%B:%u: bad extended address record length in Intel Hex file%B:%u: bad extended linear address record length in Intel Hex file%B:%u: bad extended linear start address length in Intel Hex file%B:%u: bad extended start address length in Intel Hex file%B:%u: unrecognized ihex type %u in Intel Hex file%C: warning: relocation to "%s" references a different segment
+%F%A: failed to align section
+%F%B: PC-relative offset overflow in GOT PLT entry for `%s'
+%F%B: PC-relative offset overflow in PLT entry for `%s'
+%F%B: branch displacement overflow in PLT entry for `%s'
 %F%P: already_linked_table: %E
+%F%P: auto overlay error: %E
+%F%P: can not build overlay stubs: %E
+%F%P: corrupt input: %B
 %F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie
+%F%P: failed to convert GOTPCREL relocation; relink with --no-relax
+%F%P: failed to create BND PLT section
+%F%P: failed to create GNU property section
+%F%P: failed to create GOT PLT .eh_frame section
+%F%P: failed to create GOT PLT section
+%F%P: failed to create GOT sections
+%F%P: failed to create IBT-enabled PLT section
+%F%P: failed to create PLT .eh_frame section
+%F%P: failed to create VxWorks dynamic sections
+%F%P: failed to create ifunc sections
+%F%P: failed to create the second PLT .eh_frame section
 %H __tls_get_addr lost arg, TLS optimization disabled
 %H arg lost __tls_get_addr, TLS optimization disabled
+%H: %s against `%T': error %d
+%H: %s for indirect function `%T' unsupported
+%H: %s references optimized away TOC entry
+%H: %s reloc against `%s': error %d
+%H: %s reloc against local symbol
+%H: %s reloc unsupported in shared libraries and PIEs.
+%H: %s used with TLS symbol `%T'
+%H: %s used with non-TLS symbol `%T'
 %H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend
 %H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend
 %H: R_FRV_GETTLSOFF not applied to a call instruction
@@ -304,93 +404,85 @@ ppcboot header:
 %H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction
 %H: R_FRV_TLSMOFFHI not applied to a sethi instruction
 %H: R_FRV_TLSOFF_RELAX not applied to an ld instruction
+%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)
+%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC
 %H: cannot emit dynamic relocations in read-only section
 %H: cannot emit fixups in read-only section
+%H: error: %s against `%s' not a multiple of %u
+%H: error: %s not a multiple of %u
+%H: fixup branch overflow
+%H: non-zero addend on %s reloc against `%s'
 %H: reloc against `%s' references a different segment
 %H: reloc against `%s': %s
+%H: relocation %s for indirect function %s unsupported
 %H: relocation references symbol not defined in the module
 %H: relocation to `%s+%v' may have caused the error above
+%H: toc optimization is not supported for %s instruction.
+%H: unresolvable %s against `%T'
+%H: unresolvable %s relocation against symbol `%s'
+%H: warning: %s unexpected insn %#x.
 %P%F: --relax and -r may not be used together
 %P%X: can not read symbols: %E
+%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC
 %P%X: read-only segment has dynamic relocations.
+%P: %B .opd not allowed in ABI version %d
+%P: %B: %s is not supported for `%T'
 %P: %B: cannot create stub entry %s
-%P: %B: relocation %s is not supported for symbol %s
 %P: %B: relocation %s is not yet supported for symbol %s
 %P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)
 %P: %B: unexpected relocation type
+%P: %B: unknown relocation type %d for `%T'
 %P: %B: unknown relocation type %d for symbol %s
-%P: %B: warning: relocation against `%s' in readonly section `%A'.
-%P: %B: warning: relocation in readonly section `%A'.
-%P: %H: %s reloc against `%s': error %d
-%P: %H: %s reloc against local symbol
-%P: %H: %s relocation references optimized away TOC entry
-%P: %H: %s used with TLS symbol %s
-%P: %H: %s used with non-TLS symbol %s
-%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc
-%P: %H: error: %s not a multiple of %u
-%P: %H: non-zero addend on %s reloc against `%s'
-%P: %H: relocation %s for indirect function %s unsupported
-%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern
-%P: %H: unresolvable %s relocation against symbol `%s'
+%P: %B: warning: relocation against `%s' in read-only section `%A'
+%P: %B: warning: relocation in read-only section `%A'
 %P: %s not defined in linker created %s
-%P: %s offset too large for .eh_frame sdata4 encoding%P: DW_EH_PE_datarel unspecified for this architecture.
+%P: %s offset too large for .eh_frame sdata4 encoding%P: .eh_frame_hdr entry overflow.
+%P: .eh_frame_hdr refers to overlapping FDEs.
+%P: DW_EH_PE_datarel unspecified for this architecture.
+%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.
+%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.
 %P: alternate ELF machine code found (%d) in %B, expecting %d
 %P: bss-plt forced by profiling
 %P: bss-plt forced due to %B
 %P: can't build branch stub `%s'
 %P: can't find branch stub `%s'
-%P: cannot find opd entry toc for %s
-%P: copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc
-%P: dynamic variable `%s' is zero size
+%P: cannot find opd entry toc for `%T'
+%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc
+%P: copy reloc against protected `%T' is dangerous
 %P: dynreloc miscount for %B, section %A
 %P: error in %B(%A); no .eh_frame_hdr table will be created.
-%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.
-%P: linkage table error against `%s'
+%P: linkage table error against `%T'
 %P: long branch stub `%s' offset overflow
 %P: multiple entry points: in modules %B and %B
 %P: relocatable link is not supported
 %P: stubs don't match calculated size
+%P: symbol '%s' has invalid st_other for ABI version 1
+%P: warning: --plt-localentry is especially dangerous without ld.so support to detect ABI violations.
 %P: warning: creating a DT_TEXTREL in a shared object.
+%P: warning: text relocations and GNU indirect functions may result in a segfault at runtime
 %X%C: relocation to "%s" references a different segment
+%X%H: @local call to ifunc %s
+%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range
+%X%H: Unsupported JALX to the same ISA mode
+%X%H: Unsupported branch between ISA modes
+%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled
+%X%H: unsupported bss-plt -fPIC ifunc %s
+%X%P: %B(%A): error: relocation for offset %V has no value
+%X%P: %B(%A): relocation "%R" goes out of range
+%X%P: %B(%A): relocation "%R" is not supported
+%X%P: %B(%A): relocation "%R" returns an unrecognized value %x
 %X%P: overlay section %A does not start on a cache line.
 %X%P: overlay section %A is larger than a cache line.
 %X%P: overlay section %A is not in cache area.
 %X%P: overlay sections %A and %A do not start at the same address.
+%X%P: stack/lrlive analysis error: %E
+%X%P: text relocations and GNU indirect functions will result in a segfault at runtime
 %X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B
 %s defined on removed toc entry%s duplicated
 %s duplicated in %s
-%s in overlay section%s(%s): relocation %d has invalid symbol index %ld%s: %s: reloc overflow: 0x%lx > 0xffff%s: 0x%v 0x%v
-%s: Bad symbol definition: `Main' set to %s rather than the start address %s
-%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file
-%s: GAS error: unexpected PTB insn with R_SH_PT_16%s: Internal inconsistency error for value for
- linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx
-%s: Invalid relocation type exported: %d%s: LOCAL directive: Register $%ld is not a local register.  First global register is $%ld.%s: Malformed reloc detected for section %s%s: No core to allocate a symbol %d bytes long
-%s: No core to allocate section name %s
-%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A%s: TLS definition in %B section %A mismatches non-TLS reference in %B%s: TLS reference in %B mismatches non-TLS definition in %B section %A%s: TLS reference in %B mismatches non-TLS reference in %B%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry%s: The target (%s) of an %s relocation is in the wrong section (%s)%s: XCOFF shared object when not producing XCOFF output%s: __gp does not cover short data segment%s: access beyond end of merged section (%ld)%s: address 0x%s out of range for Intel Hex file%s: base-plus-offset relocation against register symbol: %s in %s%s: base-plus-offset relocation against register symbol: (unknown) in %s%s: can not represent section `%s' in a.out object file format%s: can not represent section `%s' in oasys%s: can not represent section for symbol `%s' in a.out object file format%s: cannot allocate file name for file number %d, %d bytes
-%s: cannot create stub entry %s%s: cannot link fdpic object file into non-fdpic executable%s: cannot link non-fdpic object file into fdpic executable%s: compiled as 32-bit object and %s is 64-bit%s: compiled as 64-bit object and %s is 32-bit%s: compiled with %s and linked with modules compiled with %s%s: compiled with %s and linked with modules that use non-pic relocations%s: could not write out added .cranges entries%s: could not write out sorted .cranges entries%s: directive LOCAL valid only with a register or absolute value%s: dynamic object with no .loader section%s: encountered datalabel symbol in input%s: error: unaligned relocation type %d at %08x reloc %08x
-%s: illegal section name `%s'%s: internal error, internal register section %s had contents
-%s: internal error, symbol table changed size from %d to %d words
-%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)
-%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote
-%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx
-%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo
-%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc
-%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx
-%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d
-%s: invalid mmo file: file name for number %d was not specified before use
-%s: invalid mmo file: file number %d `%s', was already entered as `%s'
-%s: invalid mmo file: initialization value for $255 is not `Main'
-%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx
-%s: invalid mmo file: lop_end not last item in file
-%s: invalid mmo file: unsupported lopcode `%d'
-%s: invalid start address for initialized registers of length %ld: 0x%lx%08lx
-%s: invalid symbol table: duplicate symbol `%s'
-%s: line number overflow: 0x%lx > 0xffff%s: no initialized registers; section length 0
-%s: no such symbol%s: not implemented%s: not supported%s: object size does not match that of target %s%s: register relocation against non-register symbol: %s in %s%s: register relocation against non-register symbol: (unknown) in %s%s: relocatable link from %s to %s not supported%s: short data segment overflowed (0x%lx >= 0x400000)%s: string too long (%d chars, max 65535)%s: too many initialized registers; section length %ld
-%s: undefined version: %s%s: unknown relocation type %d%s: unrecognized symbol `%s' flags 0x%x%s: unsupported relocation type 0x%02x%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'
-%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)%s: version count (%ld) does not match symbol count (%ld)%s: warning core file truncated%s: warning: %s relocation against symbol `%s' from %s section%s: warning: %s relocation to 0x%x from %s section%s: warning: %s: line number overflow: 0x%lx > 0xffff%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld%s: warning: PLT addend of %d to `%s' from %s section ignored%s: warning: illegal symbol index %ld in relocs%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.
-(at bit offset %u)
+%s has both normal and TLS relocs%s in overlay section%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A%s: TLS definition in %B section %A mismatches non-TLS reference in %B%s: TLS reference in %B mismatches non-TLS definition in %B section %A%s: TLS reference in %B mismatches non-TLS reference in %B%s: no such symbol%s: not implemented%s: not supported%s: undefined version: %s(at bit offset %u)
 (descriptor)
+(format %c%c%c%c signature %s age %ld)
 (no value)
 (not active)
 (not allocated)
@@ -399,43 +491,59 @@ ppcboot header:
 )
 *** check this relocation %s*unhandled*
 *unhandled* dst type %u
-*unknown**unknown*        , alias: %u
+*unknown**unknown*        , Value: %#08lx
+, alias: %u
 , ext fixup offset: %u, no_opt psect off: %u, subtype: %u (%s)
-, symbol vector rva: .got section not immediately after .plt section32-bit double, 32bits gp relative relocation occurs for an external symbol64 bits *unhandled*
-64-bit double, : %u.%u
-: m32r instructions: m32r2 instructions: m32rx instructions; recompile with -fPIC<Unrecognised flag bits set><unknown>@pltoff reloc against local symbolArchive has no index; run ranlib to add oneArchive object file in wrong formatAttempt to convert L32R/CALLX to CALL failedAttempt to do relocatable link with %s input and %s outputBASE_IMAGE       BFD %s assertion fail %s:%dBFD %s internal error, aborting at %s line %d
-BFD %s internal error, aborting at %s line %d in %s
+, symbol vector rva: - %B is 64-bit, %B is not-mips32r2 -mfp64 (12 callee-saved).got section not immediately after .plt section.rsrc merge failure: a directory matches a leaf.rsrc merge failure: differing directory versions
+.rsrc merge failure: dirs with differing characteristics
+.rsrc merge failure: duplicate leaf.rsrc merge failure: duplicate leaf: %s.rsrc merge failure: duplicate string resource: %d.rsrc merge failure: multiple non-default manifests32-bit double, 32bits gp relative relocation occurs for an external symbol4-byte4-bytes64 bits *unhandled*
+64-bit double, 8-byte8-bytes: m32r instructions: m32r2 instructions: m32rx instructions: n1 instructions: n1h instructions; recompile with -fPIC<Unrecognised flag bits set><corrupt info> %s<corrupt string length: %#x>
+<corrupt string offset: %#lx>
+<corrupt><unknown directory type: %d>
+<unknown>@pltoff reloc against local symbolArchive has no index; run ranlib to add oneArchive object file in wrong formatAttempt to convert L32R/CALLX to CALL failedAttempt to do relocatable link with %s input and %s outputBASE_IMAGE       BFD %s assertion fail %s:%dBFD %s internal error, aborting at %s:%d
+BFD %s internal error, aborting at %s:%d in %s
 BFD Link Error: branch (PC rel16) to section (%s) not supportedBFD Link Error: jump (PC rel26) to section (%s) not supportedBad valueBase Relocation Directory [.reloc]Bound Import DirectoryBounds:
-CLICLR Runtime HeaderCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (augment relocation base) %u
+Branch to a non-instruction-aligned addressCACHE use: CLICLR Runtime HeaderCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (augment relocation base) %u
 CTL_DFLOC (define location)
 CTL_SETRB (set relocation base)
 CTL_STKDL (stack defined location)
 CTL_STLOC (set location)
-Copyright Header
-DIV usage mismatch between %B and %BDST__K_BEG_STMT_MODE not implementedDST__K_END_STMT_MODE not implementedDST__K_RESET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR_W not implementedDST__K_SET_PC not implementedDST__K_SET_PC_L not implementedDST__K_SET_PC_W not implementedDST__K_SET_STMTNUM not implementedDebug DirectoryDebug module table:
+Cannot convert a branch to JALX for a non-word-aligned addressCannot convert a jump to JALX for a non-word-aligned addressCopyright Header
+Corrupt .rsrc section detected!
+Corrupt EEOM record - size is too smallCorrupt EGSD record: its psindx field is too big (%#lx)Corrupt EGSD record: its size (%#x) is too smallCorrupt EGSD record: size (%#x) is larger than remaining space (%#x)Corrupt EGSD record: size (%#x) is too smallCorrupt EIHD record - size is too smallCorrupt ETIR record encounteredCorrupt vms valueDSO missing from command lineDST__K_BEG_STMT_MODE not implementedDST__K_END_STMT_MODE not implementedDST__K_RESET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR_W not implementedDST__K_SET_PC not implementedDST__K_SET_PC_L not implementedDST__K_SET_PC_W not implementedDST__K_SET_STMTNUM not implementedDebug DirectoryDebug module table:
 Debug symbol table:
 Delay Import DirectoryDeprecated %s called
 Deprecated %s called at %s line %d in %s
-Description DirectoryDwarf Error: Bad abbrev number: %u.Dwarf Error: Can't find %s section.Dwarf Error: Could not find abbrev number %u.Dwarf Error: Invalid maximum operations per instruction.Dwarf Error: Invalid or unhandled FORM value: %u.Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu).Dwarf Error: Unhandled .debug_line version %d.Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'.Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information.Dwarf Error: mangled line number section (bad file number).Dwarf Error: mangled line number section.EIHD: (size: %u, nbr blocks: %u)
-Entry offset        = 0x%.8lx (%ld)
-Error reading %s: %sError: %B has both the current and legacy Tag_MPextension_use attributesErrors encountered processing file %sException Directory [.pdata]Export Directory [.edata (or where ever we found it)]Export Flags 			%lx
-Export RVAFAILED to find previous HI16 relocFILES_VOLUMES    File format is ambiguousFile format not recognizedFile in wrong formatFile too bigFile truncatedFlag field          = 0x%.2x
-Forwarder RVAGALAXY           GP relative relocation used when GP not definedGP relative relocation when _gp not definedGPDISP relocation did not find ldah and lda instructionsGlobal symbol table:
-IDC - Ident Consistency check
-IMAGE_ACTIVATOR  INPUT_SECTION_FLAGS are not supported.
+Description DirectoryDwarf Error: Abstract instance recursion detected.Dwarf Error: Can't find %s section.Dwarf Error: Could not find abbrev number %u.Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form.Dwarf Error: Info pointer extends beyond end of attributesDwarf Error: Invalid abstract instance DIE ref.Dwarf Error: Invalid maximum operations per instruction.Dwarf Error: Invalid or unhandled FORM value: %#x.Dwarf Error: Line info data is bigger (%#Lx) than the space remaining in the section (%#lx)Dwarf Error: Line info section is too small (%Ld)Dwarf Error: Line info unsupported segment selector size %u.Dwarf Error: Offset (%llu) greater than or equal to %s size (%Lu).Dwarf Error: Ran out of room reading opcodesDwarf Error: Ran out of room reading prologueDwarf Error: Unable to read alt ref %llu.Dwarf Error: Unhandled .debug_line version %d.Dwarf Error: Unknown format content type %Lu.Dwarf Error: Zero format count.Dwarf Error: data count (%Lx) larger than buffer size.Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'.Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3, 4 and 5 information.Dwarf Error: mangled line number section (bad file number).Dwarf Error: mangled line number section.EIHD: (size: %u, nbr blocks: %u)
+ERROR: Attempting to link %B with a binary %B of different architectureEntry function `%s' disappeared from secure code.Entry offset        = 0x%.8lx (%ld)
+Error reading %s: %sError: %B has both the current and legacy Tag_MPextension_use attributesError: The ARC4 architecture is no longer supported.
+Errors encountered processing file %BException Directory [.pdata]Export Directory [.edata (or where ever we found it)]Export Flags 			%lx
+Export RVAFAILED to find previous HI16 relocFILES_VOLUMES    FPU-2.0FPU-3.0Failed to update file offsets in debug directoryFile format is ambiguousFile format not recognizedFile in wrong formatFile too bigFile truncatedFlag field          = 0x%.2x
+Forwarder RVAGALAXY           GOT and PLT relocations cannot be fixed with a non dynamic linker.GP relative relocation used when GP not definedGP relative relocation when _gp not definedGPDISP relocation did not find ldah and lda instructionsGlobal symbol table:
+Hard float (32-bit CPU, 64-bit FPU)
+Hard float (32-bit CPU, Any FPU)
+Hard float (MIPS32r2 64-bit FPU 12 callee-saved)
+Hard float (double precision)
+Hard float (single precision)
+Hard float compat (32-bit CPU, 64-bit FPU)
+Hard or soft float
+ID: %#08lxIDC - Ident Consistency check
+IEEE parser: string length: %#lx longer than buffer: %#lxIMAGE_ACTIVATOR  INPUT_SECTION_FLAGS are not supported.
 IO               Image activation:  (size=%u)
 Image activator fixup: (major: %u, minor: %u)
 Image identification: (major: %u, minor: %u)
 Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)
 Image symbol & debug table: (major: %u, minor: %u)
-Import Address Table DirectoryImport Directory [parts of .idata]Internal inconsistency: remaining %u != max %u.
-  Please report this bug.Invalid TARGET2 relocation type '%s'.Invalid bfd targetInvalid operationInvalid section index in ETIRJALX to a non-word-aligned addressLOGICAL_NAMES    Language Processor Name
+Import Address Table DirectoryImport Directory [parts of .idata]Internal Error: RL78 reloc stack overflowInternal Error: RL78 reloc stack underflowInternal inconsistency: remaining %lu != max %lu.
+  Please report this bug.Invalid AArch64 reloc number: %dInvalid DLX reloc number: %dInvalid TARGET2 relocation type '%s'.Invalid bfd targetInvalid contents in %A sectionInvalid operationInvalid output section for .eh_frame_entry: %AInvalid section index in ETIRIs this version of the linker - %s - out of date ?It must be a global or weak function symbol.Jump to a non-instruction-aligned addressJump to a non-word-aligned addressLOGICAL_NAMES    Language Processor Name
 Length              = 0x%.8lx (%ld)
-Load Configuration DirectoryMEMORY_MANAGEMENTMIPS16 and microMIPS functions cannot call each otherMISC             MULTI_PROCESSING Mach-O header:
-Major/Minor 			%d/%d
+Linker: cannot init ex9 hash table error 
+Linker: error cannot fixed ex9 relocation 
+Load Configuration DirectoryLocal IFUNC function `%s' in %B
+MEMORY_MANAGEMENTMIPS16 and microMIPS functions cannot call each otherMISC             MMU use: MULTI_PROCESSING Major/Minor 			%d/%d
 Malformed archiveMaximum stack required is 0x%v
 MeP: howto %d has type %dMemory exhaustedModule header
-NETWORKS         NORMALName 				No errorNo more archived filesNo symbolsNonrepresentable section on outputNot enough memory to sort relocationsNumber in:
+NETWORKS         NORMALName 				No address assigned to the veneers output section %sNo errorNo more archived filesNo symbolsNoneNonrepresentable section on outputNot enough memory to sort relocationsNumber in:
 OPR_ADD (add)
 OPR_AND (logical and)
 OPR_ASH (arithmetic shift)
@@ -451,21 +559,21 @@ ppcboot header:
 OPR_REDEF (redefine symbol to curr location)
 OPR_ROT (rotate)
 OPR_SEL (select)
-OPR_SUB (substract)
+OPR_SUB (subtract)
 OPR_USH (unsigned shift)
 Object module NOT error-free !
-Ordinal Base 			%ld
+Offset of veneer for entry function `%s' not a multiple of its size.One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined.Ordinal Base 			%ld
 Output file requires shared library `%s'
 Output file requires shared library `%s.so.%s'
-POSIX            PROCESS_SCHED    PRVFXDPRVPICPSC - Program section definition
+PC-relative load from unaligned addressPIE executablePOSIX            PROCESS_SCHED    PRVFXDPRVPICPSC - Program section definition
 PTA mismatch: a SHcompact address (bit 0 == 0)PTB mismatch: a SHmedia address (bit 0 == 1)Partition name      = "%s"
 Partition[%d] end    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
 Partition[%d] length = 0x%.8lx (%ld)
 Partition[%d] sector = 0x%.8lx (%ld)
 Please report this bug.
-R_BFIN_FUNCDESC references dynamic symbol with nonzero addendR_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addendR_FRV_TLSMOFFLO not applied to a setlo or setlos instruction
+RL78 ABI conflict: G10 file %B cannot be linked with %s file %BRL78 ABI conflict: cannot link %s file %B with %s file %BRL78 merge conflict: cannot link 32-bit and 64-bit objects togetherR_BFIN_FUNCDESC references dynamic symbol with nonzero addendR_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addendR_FRV_TLSMOFFLO not applied to a setlo or setlos instruction
 Reading archive file mod timestampReference to the far symbol `%s' using a wrong relocation may result in incorrect executionRegister %%g%d used incompatibly: %s in %B, previously %s in %BRegister section has contents
-Relocation for non-REL psectRemoving unused section '%s' in file '%B'ReservedResource Directory [.rsrc]SDA relocation when _SDA_BASE_ not definedSECURITY         SEC_RELOC with no relocs in section %sSH Error: unknown reloc type %dSHELL            SHRFXDSHRPICSPSC - Shared Image Program section def
+Relocation for non-REL psectRemoving unused section '%A' in file '%B'ReservedResource Directory [.rsrc]S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your codeSDA relocation when _SDA_BASE_ not definedSECURITY         SEC_RELOC with no relocs in section %ASH Error: unknown reloc type %dSHELL            SHRFXDSHRPICSIMD use: SPSC - Shared Image Program section def
 STABLE           STA_CKARG (compare procedure argument)
 STA_GBL (stack global) %.*s
 STA_LI (stack literal)
@@ -508,28 +616,40 @@ ppcboot header:
 SYMG - Universal symbol definition
 SYMM - Global symbol definition with version
 SYMV - Vectored symbol definition
-SYSGEN           Section has no contentsSecurity DirectorySegments and Sections:
-Size error in section %sSource Files Header
+SYSGEN           Section has no contentsSecurity DirectorySize error in section %ASoft float
+Source Files Header
 Special DirectorySpurious ALPHA_R_BSR relocStack analysis will ignore the call from %s to %s
 Stack overflow (%d) in _bfd_vms_pushStack size for call graph root nodes.
-Stack underflow in _bfd_vms_popStrides:
+Stack underflow in _bfd_vms_popStart address of `%s' is different from previous link.Strides:
 Symbol %s not defined for fixups
-Symbol %s replaced by %s
-Symbol `%s' has differing types: %s in %B, previously REGISTER in %BSymbol `%s' has differing types: REGISTER in %B, previously %s in %BSymbol needs debug section which does not existSystem call errorTLS relocation invalid without dynamic sectionsTOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compilingTable Addresses
-Thread Storage Directory [.tls]Time/Date stamp 		%lx
+Symbol `%s' has differing types: %s in %B, previously REGISTER in %BSymbol `%s' has differing types: REGISTER in %B, previously %s in %BSymbol needs debug section which does not existSymbol should be absolute, global and refer to Thumb functions.System call errorTLS relocation invalid without dynamic sectionsTOC overflow: %#Lx > 0x10000; try -mminimal-toc when compilingTable Addresses
+The debug data size field in the data directory is too big for the sectionThe debug directory size is not a multiple of the debug directory entry size
+There is a conflict merging the ELF header flags from %BThread Storage Directory [.tls]Time/Date stamp 		%lx
 Title Text Header
-USRSTACKUnable to find equivalent output section for symbol '%s' from section '%s'Unexpected STO_SH5_ISA32 on local symbol is not handledUnexpected machine numberUnhandled OSF/1 core file section type %d
-Unhandled relocation %sUnknown EGSD subtype %dUnknown basic type %dUnknown reloc %sUnknown reloc %s + %sUnknown symbol in command %sUnrecognized INPUT_SECTION_FLAG %s
-Unrecognized TI COFF target id '0x%x'Unrecognized relocUnrecognized reloc type 0x%xUnsupported .stab relocationVOLATILE         Variable `%s' can only be in one of the small, zero, and tiny data regionsVariable `%s' cannot be in both small and tiny data regions simultaneouslyVariable `%s' cannot be in both small and zero data regions simultaneouslyVariable `%s' cannot be in both zero and tiny data regions simultaneouslyVariable `%s' cannot occupy in multiple small data regionsWarning, .pdata section size (%ld) is not a multiple of %d
-Warning: %B does not support interworking, whereas %B doesWarning: %B is truncated: expected core file size >= %lu, found: %lu.Warning: %B supports interworking, whereas %B does notWarning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64Warning: %B uses -msingle-float, %B uses -mdouble-floatWarning: %B uses -msingle-float, %B uses -mips32r2 -mfp64Warning: %B uses double-precision hard float, %B uses single-precision hard floatWarning: %B uses hard float, %B uses soft floatWarning: %B uses r3/r4 for small structure returns, %B uses memoryWarning: %B uses soft float, %B uses single-precision hard floatWarning: %B uses unknown floating point ABI %dWarning: %B uses unknown small structure return convention %dWarning: %B uses unknown vector ABI %dWarning: %B uses vector ABI "%s", %B uses "%s"Warning: %B: Conflicting platform configurationWarning: %B: Unknown EABI object attribute %dWarning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with itWarning: Clearing the interworking flag of %B due to outside requestWarning: Not setting interworking flag of %B since it has already been specified as non-interworkingWarning: RX_SYM reloc with an unknown symbolWarning: Writing section `%s' to huge (ie negative) file offset 0x%lx.Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %AWarning: alignment %u of symbol `%s' in %B is smaller than %u in %BWarning: fixup count mismatch
-Warning: gc-sections option ignoredWarning: size of symbol `%s' changed from %lu in %B to %lu in %BWarning: type of symbol `%s' changed from %d to %d in %BWarning: writing archive was slow: rewriting timestamp
-Writing updated armap timestamp[%u]: %u
-[%u]: Lower: %u, upper: %u
-[abi=16-bit int, [abi=32-bit int, [whose name is lost]\%B: Warning: Arm BLX instruction targets Arm function '%s'._bfd_vms_output_counted called with too many bytes_bfd_vms_output_counted called with zero bytesaddressaddress not word alignarsize: %u, a0: 0x%08x
+Too many GOT entries for -fpic, please recompile with -fPICToo many unwind codes (%ld)
+Try enabling relaxation to avoid relocation truncationsType                Size     Rva      Offset
+USRSTACKUnable to find equivalent output section for symbol '%s' from section '%s'Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.
+Unable to read EIHS record at offset %#xUnexpected STO_SH5_ISA32 on local symbol is not handledUnexpected machine numberUnhandled OSF/1 core file section type %d
+Unhandled relocation %sUnknownUnknown EGSD subtype %dUnknown basic type %dUnknown reloc %sUnknown reloc %s + %sUnknown symbol in command %sUnknown: %xUnrecognised MIPS reloc number: %dUnrecognized INPUT_SECTION_FLAG %s
+Unrecognized TI COFF target id '0x%x'Unrecognized reloc type 0x%xUnsupported .stab relocationUnsupported CR16 relocation type: 0x%x
+VOLATILE         Variable `%s' can only be in one of the small, zero, and tiny data regionsVariable `%s' cannot be in both small and tiny data regions simultaneouslyVariable `%s' cannot be in both small and zero data regions simultaneouslyVariable `%s' cannot be in both zero and tiny data regions simultaneouslyVariable `%s' cannot occupy in multiple small data regionsVirtual size of .pdata section (%ld) larger than real size (%ld)
+Warning, .pdata section size (%ld) is not a multiple of %d
+Warning: %B does not support interworking, whereas %B doesWarning: %B supports interworking, whereas %B does notWarning: %B uses %s (set by %B), %B uses %sWarning: %B uses %s (set by %B), %B uses unknown MSA ABI %dWarning: %B uses %s (set by %B), %B uses unknown floating point ABI %dWarning: %B uses 64-bit long double, %B uses 128-bit long doubleWarning: %B uses AltiVec vector ABI, %B uses SPE vector ABIWarning: %B uses IBM long double, %B uses IEEE long doubleWarning: %B uses double-precision hard float, %B uses single-precision hard floatWarning: %B uses hard float, %B uses soft floatWarning: %B uses r3/r4 for small structure returns, %B uses memoryWarning: %B uses unknown MSA ABI %d (set by %B), %B uses %sWarning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %dWarning: %B uses unknown floating point ABI %d (set by %B), %B uses %sWarning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %dWarning: %B: Conflicting platform configurationWarning: %B: Conflicting platform configuration %s with %s.
+Warning: %B: Unknown ARC object attribute %d.Warning: %B: Unknown EABI object attribute %dWarning: %B: Unknown MSPABI object attribute %dWarning: %s section size (%ld) is not a multiple of %d
+Warning: %s section size (%ld) is smaller than virtual size (%ld)
+Warning: %s section size is zero
+Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with itWarning: Clearing the interworking flag of %B due to outside requestWarning: Not setting interworking flag of %B since it has already been specified as non-interworkingWarning: RL78_SYM reloc with an unknown symbolWarning: RX_SYM reloc with an unknown symbolWarning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %AWarning: alignment %u of symbol `%s' in %B is smaller than %u in %BWarning: fixup count mismatch
+Warning: gc-sections option ignoredWarning: size of symbol `%s' changed from %Lu in %B to %Lu in %BWarning: symbol `%s' is both section and non-sectionWarning: type of symbol `%s' changed from %d to %d in %BWarning: unset or old architecture flags. 
+	       Use default machine.
+Warning: writing archive was slow: rewriting timestamp
+Writing updated armap timestampXGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code.[%u]: Lower: %u, upper: %u
+[abi=16-bit int, [abi=32-bit int, [whose name is lost]_bfd_vms_output_counted called with too many bytes_bfd_vms_output_counted called with zero bytes`%s' refers to a non entry function.a PDE objecta PIE objecta shared objectaddressaddress not word alignarray descriptor:
+array, dim: %u, bitmap: arsize: %u, a0: 0x%08x
+atomic, type=0x%02x %s
 bad section index in %sbanked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)base: %u, pos: %u
-bfd_mach_o_canonicalize_symtab: unable to load symbolsbfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lubfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)bfd_mach_o_read_symtab_symbol: symbol "%s" is unsupported 'indirect' reference: setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid section %d (max %lu): setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid type field 0x%x: setting to undefinedbfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lubfd_mach_o_read_symtab_symbols: unable to allocate memory for symbolsbfd_mach_o_scan: unknown architecture 0x%lx/0x%lxbfd_pef_scan: unknown architecture 0x%lxblkbeg: address: 0x%08x, name: %.*s
+bfd_mach_o_canonicalize_symtab: unable to load symbolsbfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 insteadbfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 insteadbfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)bfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid section %d (max %lu): setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid type field 0x%x: setting to undefinedbfd_mach_o_read_symtab_symbol: unable to read %d bytes at %ubfd_mach_o_read_symtab_symbols: unable to allocate memory for symbolsbfd_mach_o_scan: unknown architecture 0x%lx/0x%lxbfd_pef_scan: unknown architecture 0x%lxblkbeg: address: 0x%08x, name: %.*s
 blkend: size: 0x%08x
-cannot emit dynamic relocations in read-only sectioncannot emit fixups in read-only sectioncannot find EMH in first GST record
+cannot create stub entry %scannot emit dynamic relocations in read-only sectioncannot emit fixups in read-only sectioncannot find EMH in first GST record
 cannot handle R_MEM_INDIRECT reloc when using %s outputcannot read DMT
 cannot read DMT header
 cannot read DMT psect
@@ -548,76 +668,92 @@ ppcboot header:
 cannot read GST record header
 cannot read GST record length
 class: %u, dtype: %u, length: %u, pointer: 0x%08x
-corrupt %s section in %Bcould not locate special linker symbol __ctbpcould not locate special linker symbol __epcould not locate special linker symbol __gpcould not open shared image '%s' from '%s'cpu=HC11]cpu=HC12]cpu=HCS12]dangerous relocationdelta pc +%-4ddelta_pc_l: +0x%08x
+corrupt %s section in %Bcould not find section %scould not locate special linker symbol __ctbpcould not locate special linker symbol __epcould not locate special linker symbol __gpcould not open shared image '%s' from '%s'cpu=HC11]cpu=HC12]cpu=HCS12]cpu=XGATE]dangerous relocationdelta pc +%-4ddelta_pc_l: +0x%08x
 delta_pc_w %u
 descdimct: %u, aflags: 0x%02x, digits: %u, scale: %u
-discarded output section: `%A'discontiguous range (nbr: %u)
+discarded output section: `%A'discarding zero address range FDE in %B(%A).
+discontiguous range (nbr: %u)
 dynamic relocation in read-only sectiondynamic variable `%s' is zero sizeenumbeg, len: %u, name: %.*s
 enumelt, name: %.*s
 enumend
 epilog: flags: %u, count: %u
-error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbolerror: %B does not use Maverick instructions, whereas %B doeserror: %B is already in final BE8 formaterror: %B is compiled as absolute position code, whereas target %B is position independenterror: %B is compiled as position independent code, whereas target %B is absolute positionerror: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%derror: %B is compiled for APCS-%d, whereas target %B uses APCS-%derror: %B is compiled for the EP9312, whereas %B is compiled for XScaleerror: %B passes floats in float registers, whereas %B passes them in integer registerserror: %B passes floats in integer registers, whereas %B passes them in float registerserror: %B requires more array alignment than %B preserveserror: %B requires more stack alignment than %B preserveserror: %B uses FPA instructions, whereas %B does noterror: %B uses Maverick instructions, whereas %B does noterror: %B uses VFP instructions, whereas %B does noterror: %B uses VFP register arguments, %B does noterror: %B uses hardware FP, whereas %B uses software FPerror: %B uses iWMMXt register arguments, %B does noterror: %B uses software FP, whereas %B uses hardware FPerror: %B: Conflicting CPU architectures %d/%derror: %B: Conflicting architecture profiles %c/%cerror: %B: Conflicting use of R9error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchainerror: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'error: %B: SB relative addressing conflicts with use of R9error: %B: Unknown CPU architectureerror: %B: size of section %A is not multiple of address sizeerror: %B: unable to merge virtualization attributes with %Berror: Source object %B has EABI version %d, but target %B has EABI version %derror: fp16 format mismatch between %B and %Berror: inappropriate relocation type for shared library (did you forget -fpic?)error: undefined symbol __rtiniterror: unknown Tag_ABI_array_object_align_expected value in %Berror: unknown Tag_ABI_array_object_alignment value in %Bexecutablefailed to allocate space for new APUinfo section.failed to compute new APUinfo section.failed to install new APUinfo section.fatal error while creating .fixupgeneric linker can't handle %sglobal pointer relative address out of rangeglobal pointer relative relocation when _gp not definedhidden symbolignoring reloc %s
+error reading cpu type from elf private dataerror: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbolerror: %B does not use Maverick instructions, whereas %B doeserror: %B is already in final BE8 formaterror: %B is compiled as absolute position code, whereas target %B is position independenterror: %B is compiled as position independent code, whereas target %B is absolute positionerror: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%derror: %B is compiled for APCS-%d, whereas target %B uses APCS-%derror: %B is compiled for the EP9312, whereas %B is compiled for XScaleerror: %B needs 8-byte alignment but %B is set for 4-byte alignmenterror: %B passes floats in float registers, whereas %B passes them in integer registerserror: %B passes floats in integer registers, whereas %B passes them in float registerserror: %B requires more array alignment than %B preserveserror: %B requires more stack alignment than %B preserveserror: %B uses %s instructions but %B uses %serror: %B uses 64-bit doubles but %B uses 32-bit doubleserror: %B uses FPA instructions, whereas %B does noterror: %B uses FPU-3.0 but %B only supports FPU-2.0error: %B uses Maverick instructions, whereas %B does noterror: %B uses VFP instructions, whereas %B does noterror: %B uses VFP register arguments, %B does noterror: %B uses hardware FP, whereas %B uses software FPerror: %B uses iWMMXt register arguments, %B does noterror: %B uses software FP, whereas %B uses hardware FPerror: %B uses the %s code model whereas %B uses the %s code modelerror: %B uses the %s data model but %B only uses MSP430 instructionserror: %B uses the %s data model whereas %B uses the %s data modelerror: %B uses the large code model but %B uses MSP430 instructionserror: %B uses the small code model but %B uses the %s data modelerror: %B(%A) is too large (%#Lx bytes)error: %B: <corrupt x86 ISA needed size: 0x%x>error: %B: <corrupt x86 ISA used size: 0x%x>error: %B: <corrupt x86 feature size: 0x%x>error: %B: Big-endian R2 is not supported.error: %B: Conflicting CPU architectures %d/%derror: %B: Conflicting architecture profiles %c/%cerror: %B: Conflicting use of R9error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchainerror: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'error: %B: SB relative addressing conflicts with use of R9error: %B: Unknown CPU architectureerror: %B: cannot mix rf16 with full register set %B.
+error: %B: conflicting ISA extension attributes %s with %s.
+error: %B: conflicting attributes %s.
+error: %B: conflicting attributes %s: %s with %s.
+error: %B: size of section %A is not multiple of address sizeerror: %B: unable to merge CPU base attributes %s with %s.
+error: %B: unable to merge ISA extension attributes %s.
+error: %B: unable to merge virtualization attributes with %Berror: Can't find symbol: _SDA_BASE_.error: IFC relocation error.error: Jump IFC Fail.error: Source object %B has EABI version %d, but target %B has EABI version %derror: fp16 format mismatch between %B and %Berror: inappropriate relocation type for shared library (did you forget -fpic?)error: undefined symbol __rtiniterror: unknown Tag_ABI_array_object_align_expected value in %Berror: unknown Tag_ABI_array_object_alignment value in %Bexecutablefailed creating ex9.it %s hash table entryfailed to allocate space for new APUinfo section.failed to compute new APUinfo section.failed to install new APUinfo section.fatal error while creating .fixupgeneric linker can't handle %sglobal pointer relative address out of rangeglobal pointer relative relocation at address 0x%08x when _gp not defined
+global pointer relative relocation when _gp not definedhidden symbolhidden symbol ignoring reloc %s
 incr_linum(b): +%u
 incr_linum_l: +%u
 incr_linum_w: +%u
-internal error: addend should be zero for R_LM32_16_GOTinternal error: dangerous errorinternal error: dangerous relocationinternal error: out of range errorinternal error: suspicious relocation type used in shared libraryinternal error: unknown errorinternal error: unsupported relocation errorinternal inconsistency in size of .got.loc sectioninternal symbolinvalid input relocation when producing non-ELF, non-mmo format output.
+indirect, defined at 0x%08x
+internal error: addend should be zero for R_LM32_16_GOTinternal error: addend should be zero for R_OR1K_GOT16internal error: branch/jump to an odd address detectedinternal error: dangerous errorinternal error: dangerous relocationinternal error: merge of architecture '%s' with architecture '%s' produced unknown architectureinternal error: out of range errorinternal error: suspicious relocation type used in shared libraryinternal error: unknown errorinternal error: unsupported relocation errorinternal inconsistency in size of .got.loc sectioninternal symbolinternal symbol invalid input relocation when producing non-ELF, non-mmo format output.
  Please use the objcopy program to convert from ELF or mmo,
  or assemble using "-no-expand" (for gcc, "-Wa,-no-expand"invalid input relocation when producing non-ELF, non-mmo format output.
  Please use the objcopy program to convert from ELF or mmo,
- or compile using the gcc-option "-mno-base-addresses".invalid relocation addressinvalid relocation type %dinvalid use of %s with contextsip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx).ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx).ip2k relaxer: switch table header corrupt.ip2k relaxer: switch table without complete matching relocation information.line num  (len: %u)
-linkable imagelinker stubs in %u group%s
-  branch       %lu
-  toc adjust   %lu
-  long branch  %lu
-  long toc adj %lu
-  plt call     %luliteralliteral relocation occurs for an external symbolmep: no reloc for code %dmodbeg
+ or compile using the gcc-option "-mno-base-addresses".invalid relocation addressinvalid relocation type %dinvalid use of %s with contextsip2k linker: missing page instruction at %#Lx (dest = %#Lx)ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)ip2k relaxer: switch table header corrupt.ip2k relaxer: switch table without complete matching relocation information.label, name: %.*s
+len: %2u, kind: %2u line num  (len: %u)
+linkable imagelinker stubs in %u group
+linker stubs in %u groups
+literalliteral relocation occurs for an external symbolmach-o: there are too many sections (%u) maximum is 255,
+mep: no reloc for code %dmodbeg
 modend
-nativenon-contiguous array of %s
+name: [val: %08lx len %d]: nativenew entry function(s) introduced but no output import library specified:nonon-contiguous array of %s
 non-dynamic relocations refer to dynamic symbol %snon-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store
-non-zero addend in @fptr relocnot enough GOT space for local GOT entriesnot mapping: data=%lx mapped=%d
+non-zero addend in @fptr relocnonenot enough GOT space for local GOT entriesnot mapping: data=%lx mapped=%d
 not mapping: env var not set
-note: '%s' is defined in DSO %B so try adding it to the linker command lineout of rangeoverflow after relaxationoverlay stub relocation overflowprivate flags = %lxprivate flags = %lx:private flags = %lx: private flags = %x:private flags = 0x%lxprivate flags = 0x%lx:prolog: bkpt address 0x%08x
-protected symbolrecbeg: name: %.*s
+not setout of rangeoverflow after relaxationoverlay stub relocation overflowpointer
+private flags = %lxprivate flags = %lx:private flags = %lx: private flags = %x:private flags = 0x%lxprivate flags = 0x%lx:prolog: bkpt address 0x%08x
+protected symbolprotected symbol recbeg: name: %.*s
 recend
-reference to a banked address [%lx:%04lx] in the normal address space at %04lxregrelocation `%s' not yet implementedrelocation references symbol not defined in the modulerelocation requires zero addendrelocation should be even numberrelocations between different segments are not supportedreopening %B: %s
+reference to a banked address [%lx:%04lx] in the normal address space at %04lxregreloc (%d) is *UNKNOWN*relocation `%s' not yet implementedrelocation out of rangerelocation references symbol not defined in the modulerelocation requires zero addendrelocation should be even numberrelocations between different segments are not supportedreopening %B: %s
 reserved cmd %drtnbeg
 rtnend: size 0x%08x
-septyp, name: %.*s
+section address (%#Lx) below start of segment (%#Lx)septyp, name: %.*s
 set_abs_pc: 0x%08x
 set_line_num(w) %u
 set_line_num_b %u
 set_line_num_l %u
-small-data section exceeds 64KB; lower small-data size limit (see option -G)som_sizeof_headers unimplementedsorry, no support for duplicate object files in auto-overlay script
-source (len: %u)
+shared objectsmall-data section exceeds 64KB; lower small-data size limit (see option -G)som_sizeof_headers unimplementedsorry, no support for duplicate object files in auto-overlay script
+sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands.source (len: %u)
 standard data: %s
-static procedure (no name)stub entry for %s cannot load .plt, dp offset = %ldstubs don't match calculated sizesymbolsystem version array information:
-term(b): 0x%02xterm_w: 0x%04xtypspec (len: %u)
-unable to find ARM glue '%s' for '%s'unable to find THUMB glue '%s' for '%s'unable to read in %s section from %Bunable to read unknown load command 0x%lxunable to write unknown load command 0x%lxunaligned bit-string of %s
-uncertain calling convention for non-COFF symbolundefined %s reference in complex symbol: %sunhandled egsd entry type %u
+static procedure (no name)stub entry for %s cannot load .plt, dp offset = %Ldstubs don't match calculated sizesymbolsymbol system version array information:
+term(b): 0x%02xterm_w: 0x%04xthe bfin target does not currently support the generation of copy relocationstype spec for element:
+type spec for subscript %u:
+typed pointer
+typspec (len: %u)
+unable to allocate data for load command %#xunable to find ARM glue '%s' for '%s'unable to find THUMB glue '%s' for '%s'unable to layout unknown load command %#xunable to read in %s section from %Bunable to write unknown load command %#xunaligned bit-string of %s
+uncertain calling convention for non-COFF symbolundefined undefined %s reference in complex symbol: %sunhandled egsd entry type %u
 unhandled emh subtype %u
-unknownunknown ETIR command %dunknown errorunknown header byte-order value 0x%lxunknown line command %dunknown operator '%c' in complex symbolunknown source command %dunsupported STA cmd %sunsupported relocunsupported reloc typeunsupported relocationunsupported relocation between data/insn address spacesusing multiple gp valuesv850 architecturev850e architecturev850e1 architecturev850e2 architecturev850e2v3 architecturevflags: 0x%02x, value: 0x%08x vma:			BeginAddress	 EndAddress	  UnwindData
-warning: %B and %B differ in wchar_t sizewarning: %B and %B differ in whether code is compiled for DSBTwarning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may failwarning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may failwarning: %B: local symbol `%s' has no sectionwarning: %s exceeds section size
-warning: %s has a corrupt string table index - ignoringwarning: %s overlaps %s
-warning: %s section has zero sizewarning: .pdata section size (%ld) is not a multiple of %d
-warning: attempt to export undefined symbol `%s'warning: call to non-function symbol %s defined in %Bwarning: generating a shared library containing non-PIC codewarning: generating a shared library containing non-PID codewarning: relocation references a different segmentwarning: section '%s' is being made into a notewarning: section `%A' type changed to PROGBITSwarning: type and size of dynamic symbol `%s' are not definedwarning: unable to set size of %s section in %Bwarning: unable to update contents of %s section in %syou are not allowed to define %s in a scriptProject-Id-Version: bfd 2.22.90
+unknownunknown ETIR command %dunknown errorunknown header byte-order value %#xunknown line command %dunknown operator '%c' in complex symbolunknown source command %dunknown v850 architectureunknown: %xunrecognised MIPS reloc number: %dunrecognized relocation (0x%x)unsupported STA cmd %sunsupported relocunsupported reloc typeunsupported relocationunsupported relocation between data/insn address spacesusing multiple gp valuesv850 E3 architecturev850 architecturev850e architecturev850e1 architecturev850e2 architecturev850e2v3 architecturev850e3v5 architecturevflags: 0x%02x, value: 0x%08x vma:			BeginAddress	 EndAddress	  UnwindData
+warning: %B and %B differ in wchar_t sizewarning: %B and %B differ in whether code is compiled for DSBTwarning: %B has a corrupt string table index - ignoringwarning: %B is truncated: expected core file size >= %Lu, found: %lluwarning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may failwarning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may failwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lxwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%xwarning: %B: corrupt no copy on protected size: 0x%xwarning: %B: corrupt stack size: 0x%xwarning: %B: local symbol `%s' has no sectionwarning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%xwarning: %s exceeds section size
+warning: %s overlaps %s
+warning: %s section has zero sizewarning: attempt to export undefined symbol `%s'warning: call to non-function symbol %s defined in %Bwarning: discarding dynamic section %swarning: generating a shared library containing non-PIC codewarning: generating a shared library containing non-PID codewarning: relocation references a different segmentwarning: section '%s' is being made into a notewarning: section `%A' type changed to PROGBITSwarning: type and size of dynamic symbol `%s' are not definedwarning: unable to set size of %s section in %Bwarning: unable to update contents of %s section in %Bwarning: writing section `%A' at huge (ie negative) file offsetwarning: xdata section corruptwarning: xdata section corrupt
+yesyou are not allowed to define %s in a scriptProject-Id-Version: bfd 2.30.0
 Report-Msgid-Bugs-To: bug-binutils@gnu.org
-POT-Creation-Date: 2011-10-25 11:58+0100
-PO-Revision-Date: 2012-07-29 11:48+0400
+POT-Creation-Date: 2018-01-13 13:44+0000
+PO-Revision-Date: 2018-01-26 20:53+0300
 Last-Translator: Yuri Kozlov <yuray@komyakino.ru>
-Language-Team: Russian <gnu@mx.ru>
+Language-Team: Russian <gnu@d07.ru>
 Language: ru
-X-Bugs: Report translation errors to the Language-Team address.
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
-X-Generator: Lokalize 1.4
+X-Bugs: Report translation errors to the Language-Team address.
+X-Generator: Lokalize 2.0
 Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
-	Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² 			Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² 		%08lx
-	Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸Ð¼Ñ‘Ð½ 			Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ñ… Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² 				Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° [ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸Ð¼Ñ‘Ð½/Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ñ… Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð²]	%08lx
+	    TLS: %A	<Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¾: 0x%04lx>	Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² 			Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² 		%08lx
+	Ð�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² rva (0x%lx) Ð¸Ð»Ð¸ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² (0x%lx)
+	Ð�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸Ð¼Ñ‘Ð½ (0x%lx) Ð¸Ð»Ð¸ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² (0x%lx)
+	Ð�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ð¾Ð±Ñ‹Ñ‡Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° rva (0x%lx) Ð¸Ð»Ð¸ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² (0x%lx)
+	Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸Ð¼Ñ‘Ð½ 			Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ñ… Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² 				[%4ld] <Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: %lx>
+	Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° [ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸Ð¼Ñ‘Ð½/Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ñ… Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð²]	%08lx
 	code-base %08lx toc (Ð·Ð°Ð³Ñ€ÑƒÐ¶Ð°ÐµÐ¼Ñ‹Ð¹/Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ð¹) %08lx/%08lx
-	Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %4d Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %4x [%4lx] %s	vma:  Hint/Ord Ð˜Ð¼Ñ�-Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° ÐŸÑ€Ð¸Ð²Ñ�Ð·Ð°Ð½-Ðº
+	 Ð½Ðµ-TLS: %A	Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %4d Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %4x [%4lx] %s	vma:  Hint/Ord Ð˜Ð¼Ñ�-Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° ÐŸÑ€Ð¸Ð²Ñ�Ð·Ð°Ð½-Ðº
 
-	Ð˜Ð¼Ñ� DLL: %s
+	Ð˜Ð¼Ñ� DLL: %.*s
 
 
 Ð�Ð°Ñ‡Ð°Ð»Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ð² PE-Ñ„Ð°Ð¹Ð»Ðµ (Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» .reloc)
@@ -634,8 +770,12 @@ Plural-Forms:  nplurals=3; plural=(n%10=
 
 Ð¥Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñ�Ñ‚Ð¸ÐºÐ¸ 0x%x
 
+Ð”Ð°Ð¼Ð¿ %s
+
 Ð”Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ»:
 
+ÐžÑˆÐ¸Ð±ÐºÐ°: Ñ€Ð°Ð·Ð´ÐµÐ» %s Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ðµ Ð´Ð°Ð½Ð½Ñ‹Ðµ, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ� Ñ� Ð°Ð´Ñ€ÐµÑ�Ð°, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»
+
 Ð’Ñ�Ð¿Ð¾Ð¼Ð¾Ð³Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Exec
 
 Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² -- Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %ld
@@ -653,20 +793,35 @@ Plural-Forms:  nplurals=3; plural=(n%10=
 Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° (Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» %s)
 
 
+Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ (Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð¾ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s)
+
 Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ (Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» .pdata)
 
 Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° (Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» %s)
 
+Ð’ %s Ð¸Ð¼ÐµÐµÑ‚Ñ�Ñ� Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ð¹ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx
+
+
+Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ð¹ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð² %s, Ð½Ð¾ Ñ�Ñ‚Ð¾Ñ‚ Ñ€Ð°Ð·Ð´ÐµÐ» Ð±ÐµÐ· Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾
+
+Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ð¹ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³, Ð½Ð¾ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ€Ð°Ð·Ð´ÐµÐ», Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¼ Ð¾Ð½ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚Ñ�Ñ�
+
 Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ð¿ÐµÑ€Ð²Ñ‹Ð¹ ÑˆÐ»ÑŽÐ·, Ð½Ð¾ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ€Ð°Ð·Ð´ÐµÐ», Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¼ Ð¾Ð½ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚Ñ�Ñ�
 
 Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° Ð² %s Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx
 
 Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° Ð² %s, Ð½Ð¾ Ð¾Ð½Ð° Ð½Ðµ Ð¿Ð¾Ð¼ÐµÑ‰Ð°ÐµÑ‚Ñ�Ñ� Ð² Ñ�Ñ‚Ð¾Ñ‚ Ñ€Ð°Ð·Ð´ÐµÐ»
 
+Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° Ð² %s, Ð½Ð¾ Ð¾Ð½Ð° Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ°Ñ� (%d)
+
+Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° Ð² %s, Ð½Ð¾ Ñ�Ñ‚Ð¾Ñ‚ Ñ€Ð°Ð·Ð´ÐµÐ» Ð±ÐµÐ· Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾
+
 Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð°, Ð½Ð¾ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ€Ð°Ð·Ð´ÐµÐ», Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¼ Ð¾Ð½Ð° Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚Ñ�Ñ�
 
 Ð’ %s Ð¸Ð¼ÐµÐµÑ‚Ñ�Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx
 
+Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° Ð² %s, Ð½Ð¾ Ñ�Ñ‚Ð¾Ñ‚ Ñ€Ð°Ð·Ð´ÐµÐ» Ð±ÐµÐ· Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾
+
 Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°, Ð½Ð¾ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ€Ð°Ð·Ð´ÐµÐ», Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¼ Ð¾Ð½Ð° Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚Ñ�Ñ�
 
 Ð’ÐµÑ€Ñ�Ð¸Ð¸ Ñ�Ñ�Ñ‹Ð»Ð¾Ðº:
@@ -675,14 +830,18 @@ Plural-Forms:  nplurals=3; plural=(n%10=
 
 Ð’Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�: %08lx Ð Ð°Ð·Ð¼ÐµÑ€ Ð±Ð»Ð¾ÐºÐ° %ld (0x%lx) Ð§Ð¸Ñ�Ð»Ð¾ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ %ld
 
+ÐŸÐ Ð•Ð”Ð£ÐŸÐ Ð•Ð–Ð”Ð•Ð�Ð˜Ð•: Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ðµ Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ .rsrc â€” Ð±ÑƒÐ´ÑƒÑ‚ Ð¿Ñ€Ð¾Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ñ‹ Windows:
+
 Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° [Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ñ… Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð²/ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸Ð¼Ñ‘Ð½]
 
 Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº ppcboot:
         pc: 0x%08x
     *Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð°Ñ�* ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %u
+   Ð°Ð´Ñ€ÐµÑ�: 0x%08x
     Ð°Ð´Ñ€ÐµÑ�: 0x%08x, Ñ€Ð°Ð·Ð¼ÐµÑ€: %u
     Ñ„Ð»Ð°Ð³Ð¸: %u, Ð°Ð´Ñ€ÐµÑ�: 0x%08x, pd-Ð°Ð´Ñ€ÐµÑ�: 0x%08x
     Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ðµ Ð¸Ð¼Ñ�: %.*s
+    Ð´Ð»Ð¸Ð½Ð°: %u Ð±Ð¸Ñ‚
     Ð¸Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸: %u, Ð·Ð°Ð¼ÐµÐ½Ð¸Ñ‚ÐµÐ»ÑŒ insn: 0x%08x
     Ð¸Ð¼Ñ�: %.*s
     pc: 0x%08x
@@ -692,8 +851,16 @@ Plural-Forms:  nplurals=3; plural=(n%10=
     3-Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� psect: %u, 3-Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: 0x%08x %08x
     psect: %u, Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: 0x%08x %08x
     Ð¸Ð¼Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹: %.*s
-   %02u    %s%s %s
-   (Ñ‚Ð¸Ð¿: %3u, Ñ€Ð°Ð·Ð¼ÐµÑ€: 4+%3u):    *Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð°Ñ�* ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %u
+   %02u    (Ñ‚Ð¸Ð¿: %3u, Ñ€Ð°Ð·Ð¼ÐµÑ€: 4+%3u):    *Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð°Ñ�* ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %u
+   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð±Ñ€ÐµÐ·Ð°Ð½Ð° Ð´Ð°Ñ‚Ð° ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñ�Ñ†Ð¸Ð¸
+   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ð¸Ð½Ð° Ð¼ÐµÐ½ÑŒÑˆÐµ Ð´Ð»Ð¸Ð½Ñ‹ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ EEOM
+   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ð¸Ð½Ð° Ð¼ÐµÐ½ÑŒÑˆÐµ Ð´Ð»Ð¸Ð½Ñ‹ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ EMH
+   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð¸Ð¼Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�
+   ÐžÑˆÐ¸Ð±ÐºÐ°: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ Ð¸Ð¼Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�
+   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð²ÐµÑ€Ñ�Ð¸Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�
+   ÐžÑˆÐ¸Ð±ÐºÐ°: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð»Ð¸Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�
+   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ Ð¼ÐµÐ½ÑŒÑˆÐµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ EMH_MHD
+   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ð¸Ð½Ð° Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¾Ñ�Ñ‚Ð°Ð²ÑˆÐµÐ³Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð° Ð² Ð·Ð°Ð¿Ð¸Ñ�Ð¸
    Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ  : 2**%u
    alloc (len)   : %u (0x%08x)
    alloc (len): %u (0x%08x)
@@ -752,13 +919,18 @@ Plural-Forms:  nplurals=3; plural=(n%10=
    Ð²ÐµÐºÑ‚Ð¾Ñ€      : 0x%08x
    Ð¼Ð°Ñ�ÐºÐ° Ð²ÐµÑ€Ñ�Ð¸Ð¸: 0x%08x
   %s (len=%u+%u):
-  %s: 0x%v
   %u: Ñ€Ð°Ð·Ð¼ÐµÑ€: %u, Ñ„Ð»Ð°Ð³Ð¸: 0x%02x, Ð¸Ð¼Ñ�: %.*s
   EEOM (len=%u):
   EGSD (len=%u):
   Ð·Ð°Ð¿Ð¸Ñ�ÑŒ EGSD %2u (Ñ‚Ð¸Ð¿: %u, Ð´Ð»Ð¸Ð½Ð°: %u):   EMH %u (len=%u):   Ð±Ð°Ð·Ð°: 0x%08x %08x, Ñ€Ð°Ð·Ð¼ÐµÑ€: 0x%08x, prot: 0x%08x   base_va : 0x%08x
   Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð±Ð¸Ñ‚: %u, Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x
-  Ð²Ñ‹Ð·Ð¾Ð²Ñ‹:
+  Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ                 %lu
+  Ð¸Ñ�Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ toc           %lu
+  Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ         %lu
+  Ð¸Ñ�Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð´Ð»Ð¸Ð½Ð½Ð¾Ð³Ð¾ toc %lu
+  plt-Ð²Ñ‹Ð·Ð¾Ð²                 %lu
+  plt-Ð²Ñ‹Ð·Ð¾Ð² toc             %lu
+  Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚        %lu  Ð²Ñ‹Ð·Ð¾Ð²Ñ‹:
   chgprtoff : %5u
   codeadroff: %5u, lpfixoff  : %5u
   fixuplnk: 0x%08x %08x
@@ -774,24 +946,22 @@ Plural-Forms:  nplurals=3; plural=(n%10=
   shlextra  : %5u, permctx   : %5u
   shlstoff  : %5u, shrimgcnt : %5u
   Ñ€Ð°Ð·Ð¼ÐµÑ€: %u
- #: Segment name     Section name     Address
- #: Ð�Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ñ�ÐµÐ³Ð¼    Ð�Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð�Ð´Ñ€ÐµÑ�
- %08x 0x%08x 64B <Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� EABI> BPAGE: %u COM COMM Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð·Ð°Ñ‰Ð¸Ñ‚Ñ‹ (%u Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð²):
+  Ñ„Ð»Ð°Ð³Ð¸ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°: %s  Ñ„Ð»Ð°Ð³Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°: %s %08x 0x%08x 64B <Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� EABI> BPAGE: %u COM COMM Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð·Ð°Ñ‰Ð¸Ñ‚Ñ‹ (%u Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð²):
  Ð¡Ñ�Ñ‹Ð»Ð¾Ñ‡Ð½Ñ‹Ðµ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð°Ð´Ñ€ÐµÑ�Ð° ÐºÐ¾Ð´Ð°:
- DEF EXE ÐŸÐµÑ€Ð²Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x 0x%08x
+ DEF EXE Ñ‚Ñ€ÐµÐ±ÑƒÐµÐ¼Ð°Ñ� Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° FPU:  ÐŸÐµÑ€Ð²Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x 0x%08x
  Ð§ÐµÑ‚Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x 0x%08x
  GBL ÐŸÐ¾Ñ�Ð»ÐµÐ´Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñ�Ñ‚ÑŒ Ñ�Ð²Ñ�Ð·ÑƒÑŽÑ‰ÐµÐ³Ð¾ ÐºÐ¾Ð´Ð° LIB Ð¡Ñ�Ñ‹Ð»Ð¾Ñ‡Ð½Ñ‹Ðµ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÐ¼Ñ‹Ñ… Ð¿Ð°Ñ€:
- NOMOD NORM OVR PIC QVAL RD REL ÐœÐ¸Ð»Ð»Ð¸ÐºÐ¾Ð´ Ð²Ð¾Ñ�Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° ÐœÐ¸Ð»Ð»Ð¸ÐºÐ¾Ð´ Ñ�Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° SHR Ð’Ñ‚Ð¾Ñ€Ð¾Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x 0x%08x
+ NOMOD NORM OVR PIC QVAL RD REL ÐœÐ¸Ð»Ð»Ð¸ÐºÐ¾Ð´ Ð²Ð¾Ñ�Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° ÐœÐ¸Ð»Ð»Ð¸ÐºÐ¾Ð´ Ñ�Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° Ð ÐµÑ�ÑƒÑ€Ñ�Ñ‹ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÑŽÑ‚Ñ�Ñ� Ñ�Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %#03x
+ SHR Ð’Ñ‚Ð¾Ñ€Ð¾Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x 0x%08x
  ÐžÐ±Ñ‰Ð¸Ðµ Ð¾Ð±Ñ€Ð°Ð·Ñ‹:
  ÐžÐ±Ñ‰Ð¸Ð¹ Ð¾Ð±Ñ€Ð°Ð·: 0x%08x 0x%08x
+ Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ñ‚Ñ€Ð¾Ðº Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚Ñ�Ñ� Ñ�Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %#03x
+ Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð°: Ð¡Ð¸Ð¼Ð²Ð¾Ð»: %d, Ð’Ñ€ÐµÐ¼Ñ�: %08lx, Ð’ÐµÑ€Ñ�Ð¸Ñ�: %d/%d, ÐšÐ¾Ð»-Ð²Ð¾ Ð¸Ð¼Ñ‘Ð½: %d, ID: %d
  Ð¢Ñ€ÐµÑ‚Ð¸Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x 0x%08x
- UNI VEC VECEP WEAK WRT[64-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ double] [BE8] [FPA Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸] [LE8] [Maverick Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸] [VFP Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸] [Ð’ÐµÑ€Ñ�Ð¸Ñ�1 EABI] [Ð’ÐµÑ€Ñ�Ð¸Ñ�2 EABI] [Ð’ÐµÑ€Ñ�Ð¸Ñ�3 EABI] [Ð’ÐµÑ€Ñ�Ð¸Ñ�4 EABI] [Ð’ÐµÑ€Ñ�Ð¸Ñ�5 EABI] [abi Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚ÐµÐ½] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [Ñ� Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸ÐµÐ¹] [d-float] [dsp] [Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ�] [fix dep] [Ñ‡Ð¸Ñ�Ð»Ð° Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ð¿ÐµÑ€ÐµÐ´Ð°ÑŽÑ‚Ñ�Ñ� Ð² Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ… Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹] [Ñ‡Ð¸Ñ�Ð»Ð° Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ð¿ÐµÑ€ÐµÐ´Ð°ÑŽÑ‚Ñ�Ñ� Ð² Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ…] [g-float] [Ð¸Ð¼ÐµÐµÑ‚ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð²Ñ…Ð¾Ð´Ð°] [Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°] [Ñ„Ð»Ð°Ð³ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð½Ðµ ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½] [Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�] [Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð°] [Ð¿Ñ€Ð¾ÐµÑ†Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ€Ð°Ð½ÑŒÑˆÐµ] [Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ=Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ñ� Ð±Ð°Ð½ÐºÐ°Ð¼Ð¸] [Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ=Ð¿Ð»Ð¾Ñ�ÐºÐ°Ñ�] [Ð½Ð¾Ð²Ñ‹Ð¹ ABI] [abi Ð½Ðµ Ð·Ð°Ð´Ð°Ð½] [Ð½Ðµ-pic] [Ð½Ðµ 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼] [Ñ�Ñ‚Ð°Ñ€Ñ‹Ð¹ ABI] [pic] [Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹] [Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ñ‹Ð¹ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹] [Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð°Ñ� FP] [Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²] [Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ� _] [Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ISA] [Ð½ÐµÑ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²] [v10 Ð¸ v32] [v32] Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ GST
- Ð¿Ð¾Ð´Ñ‚Ð¸Ð¿ Ð¦ÐŸ : %08lx
- Ñ‚Ð¸Ð¿ Ð¦ÐŸ    : %08lx (%s)
+ UNI VEC VECEP WEAK WRT[64-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ double] [BE8] [FPA Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸] [LE8] [Maverick Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸] [VFP Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸] [Ð’ÐµÑ€Ñ�Ð¸Ñ�1 EABI] [Ð’ÐµÑ€Ñ�Ð¸Ñ�2 EABI] [Ð’ÐµÑ€Ñ�Ð¸Ñ�3 EABI] [Ð’ÐµÑ€Ñ�Ð¸Ñ�4 EABI] [Ð’ÐµÑ€Ñ�Ð¸Ñ�5 EABI] [Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ XGATE Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸] [abi Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚ÐµÐ½] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [Ñ� Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸ÐµÐ¹] [d-float] [Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ�] [fix dep] [Ñ‡Ð¸Ñ�Ð»Ð° Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ð¿ÐµÑ€ÐµÐ´Ð°ÑŽÑ‚Ñ�Ñ� Ð² Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ… Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹] [Ñ‡Ð¸Ñ�Ð»Ð° Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ð¿ÐµÑ€ÐµÐ´Ð°ÑŽÑ‚Ñ�Ñ� Ð² Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ…] [g-float] [hard-float ABI] [Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°] [Ñ„Ð»Ð°Ð³ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð½Ðµ ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½] [Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�] [Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð°] [Ð¿Ñ€Ð¾ÐµÑ†Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ€Ð°Ð½ÑŒÑˆÐµ] [Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ=Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ñ� Ð±Ð°Ð½ÐºÐ°Ð¼Ð¸] [Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ=Ð¿Ð»Ð¾Ñ�ÐºÐ°Ñ�] [Ð½Ð¾Ð²Ñ‹Ð¹ ABI] [abi Ð½Ðµ Ð·Ð°Ð´Ð°Ð½] [Ð½Ðµ-pic] [Ð½Ðµ 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼] [Ñ�Ñ‚Ð°Ñ€Ñ‹Ð¹ ABI] [pic] [Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹] [Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ñ‹Ð¹ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹] [soft-float ABI] [Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð°Ñ� FP] [Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²] [Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ� _] [Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ISA] [Ð½ÐµÑ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²] [v10 Ð¸ v32] [v32] Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ñ… Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð²:  Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ GST
  Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹: vbn: %u, Ñ€Ð°Ð·Ð¼ÐµÑ€: %u
  Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²: vbn: %u, Ñ€Ð°Ð·Ð¼ÐµÑ€: %u (0x%x)
- Ñ‚Ð¸Ð¿ Ñ„Ð°Ð¹Ð»Ð° : %08lx (%s)
- fixup info rva:  Ñ„Ð»Ð°Ð³Ð¸     : %08lx ( Ñ„Ð»Ð°Ð³Ð¸: 0x%04x Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²: vbn: %u, Ð·Ð°Ð¿Ð¸Ñ�ÐµÐ¹: %u
+ fixup info rva:  Ñ„Ð»Ð°Ð³Ð¸: 0x%04x Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²: vbn: %u, Ð·Ð°Ð¿Ð¸Ñ�ÐµÐ¹: %u
  Ð¸Ð´ÐµÐ½-Ñ€: 0x%08x, Ð¸Ð¼Ñ�: %.*s
  ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u
  Ð¸Ð´ÐµÐ½Ñ‚-Ñ€ Ñ�Ð±Ð¾Ñ€ÐºÐ¸ Ð¾Ð±Ñ€Ð°Ð·Ð°: %.*s
@@ -802,17 +972,13 @@ Plural-Forms:  nplurals=3; plural=(n%10=
  Ñ„Ð»Ð°Ð³Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ°: %08x: Ð¸Ð´ÐµÐ½Ñ‚-Ñ€ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ°: %.*s
  Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾ Ñ�Ñ�Ñ‹Ð»Ð¾Ñ‡Ð½Ñ‹Ñ… Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ .address:
  Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ñ‹Ñ… Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹:
- Ð¾Ñ‚Ð».Ð¿Ñ€Ð¸Ð·Ð½ : %08lx
  majorid: %u, minorid: %u
  Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¼Ð¾Ð´ÑƒÐ»Ñ�: 0x%08x, Ñ€Ð°Ð·Ð¼ÐµÑ€: 0x%08x, (%u psects)
- Ñ‡_ÐºÐ¼Ð½Ð´    : %08lx (%lu)
  Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u
  Ñ‡ÐµÑ‚Ð²ÐµÑ€Ð½Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾ Ñ�Ñ�Ñ‹Ð»Ð¾Ñ‡Ð½Ñ‹Ñ… Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ .address:
  Ñ‡ÐµÑ‚Ð²ÐµÑ€Ð½Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ñ‹Ñ… Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹:
- Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð²  : %08x
  Ñ€Ð°Ð·Ð´ÐµÐ»: Ð±Ð°Ð·Ð°: 0x%08x%08x Ñ€Ð°Ð·Ð¼ÐµÑ€: 0x%08x
- Ñ€Ð°Ð·Ð¼_ÐºÐ¼Ð½Ð´ : %08lx
- Ñ‚Ð¸Ð¿: %3u, Ð´Ð»Ð¸Ð½Ð°: %3u (Ð¿Ð¾ 0x%08x):  Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ EOBJ %u
+ Ñ€Ð°Ð·Ð¼ÐµÑ€ double:  Ñ‚Ð¸Ð¿: %3u, Ð´Ð»Ð¸Ð½Ð°: %3u (Ð¿Ð¾ 0x%08x):  Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ EOBJ %u
  vbn: %u, pfc: %u, matchctl: %u Ñ‚Ð¸Ð¿: %u ( vma:			Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�  ÐšÐ¾Ð½ÐµÑ‡Ð½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�   Ð Ð°Ñ�ÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ�
  vma:		Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹  ÐšÐ¾Ð½ÐµÑ‡Ð½Ñ‹Ð¹   EH          EH       Ð�Ð´Ñ€ÐµÑ�         ÐœÐ°Ñ�ÐºÐ°
      		Ð�Ð´Ñ€ÐµÑ�      Ð�Ð´Ñ€ÐµÑ�      ÐžÐ±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸Ðº  Ð”Ð°Ð½Ð½Ñ‹Ðµ   ÐšÐ¾Ð½Ñ†Ð°ÐŸÑ€Ð¾Ð»Ð¾Ð³Ð°  Ð˜Ñ�ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ�
@@ -820,42 +986,98 @@ Plural-Forms:  nplurals=3; plural=(n%10=
      		Ð�Ð´Ñ€ÐµÑ�     ÐŸÑ€Ð¾Ð»Ð¾Ð³Ð°  Ð¤ÑƒÐ½ÐºÑ†Ð¸Ð¸ 32b exc     Ð˜Ñ�ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹ Ð”Ð°Ð½Ð½Ñ‹Ðµ
  vma:            Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð°    ÐžÑ‚Ð¼ÐµÑ‚ÐºÐ°   Ð¦ÐµÐ¿Ð¾Ñ‡ÐºÐ°    Ð˜Ð¼Ñ�       ÐŸÐµÑ€Ð²Ñ‹Ð¹
                   Ð£ÐºÐ°Ð·Ð°Ð½Ð¸Ð¹  Ð’Ñ€ÐµÐ¼ÐµÐ½Ð¸   ÐŸÐµÑ€ÐµÑ�Ñ‹Ð»ÐºÐ¸  DLL       Ð¨Ð»ÑŽÐ·
-#<Ð�ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ ÐºÐ¾Ð´ Ð¾ÑˆÐ¸Ð±ÐºÐ¸>%A Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ [Â«%AÂ» Ð² %B] Ð¸ Ð½ÐµÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ [Â«%AÂ» Ð² %B] Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹%A Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ Ð¸ Ð½ÐµÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹%A:0x%v lrlive .brinfo (%u) Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÐµÑ‚Ñ�Ñ� Ð¾Ñ‚ Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð³Ð¾ (%u)
+#<Ð�ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ ÐºÐ¾Ð´ Ð¾ÑˆÐ¸Ð±ÐºÐ¸>%03x %*.s  Ð»Ð¸Ñ�Ñ‚: Ð°Ð´Ñ€ÐµÑ�: %#08lx, Ñ€Ð°Ð·Ð¼ÐµÑ€: %#08lx, ÐºÐ¾Ð´Ð¾Ð²Ð°Ñ� Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð°: %d
+%03x %*.s Ð­Ð»ÐµÐ¼ÐµÐ½Ñ‚: %A Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ [Â«%AÂ» Ð² %B] Ð¸ Ð½ÐµÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ [Â«%AÂ» Ð² %B] Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹%A Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ Ð¸ Ð½ÐµÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹%A:0x%v lrlive .brinfo (%u) Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÐµÑ‚Ñ�Ñ� Ð¾Ñ‚ Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð³Ð¾ (%u)
 %A:0x%v Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð² Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ðµ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹
-%B (%s): Ð˜Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ„Ð»Ð°Ð³ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s (0x%x)%B Ð¸ %B Ð´Ð»Ñ� Ñ€Ð°Ð·Ð½Ñ‹Ñ… ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¹%B Ð¸ %B Ð´Ð»Ñ� Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ñ�Ð´ÐµÑ€%B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÐºÐ¾Ð´ CRIS v32, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸%B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÐºÐ¾Ð´ Ð½Ðµ-CRIS v32, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸%B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ Ð¸ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹ Ð¸ ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ²ÑˆÐ¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Tag_MPextension_use%B Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°ÐµÑ‚ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ�Ñ‚ÑŒ %s%B Ñ€Ð°Ð·Ð´ÐµÐ» %A Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸%B Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %lu Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð½ÐµÑ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÑŽÑ‰Ð¸Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» SHT_SYMTAB_SHNDX%B(%A): Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð²Ñ‹Ð·Ð¾Ð² Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ»%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð²Ñ‹Ñ…Ð¾Ð´Ð° Ð¸Ð· Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�%B(%A): Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð²Ð¾Ð¹Ñ�Ñ‚Ð²%B(%A): Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ PID %s Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08lx (Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ %s Ð² %s)%B(%A): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð² Ð¼Ð°Ð»Ð¾Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ð¸ Ð´Ð°Ð½Ð½Ñ‹Ñ…%B(%A+0x%B(%A+0x%lx): %s Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� insn 0x%x Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¹ Ñ�Ñ�Ñ‹Ð»ÐºÐµ%B(%A+0x%lx): %s Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ SEC_MERGE%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B(%A+0x%lx): %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s%B(%A+0x%lx): %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð½Ðµ-TLS Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s%B(%A+0x%lx): Ð’ Ð³Ñ€ÑƒÐ¿Ð¿Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ ALU Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� ADD Ð¸Ð»Ð¸ SUB%B(%A+0x%lx): ÐŸÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� 0x%lx Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ %s%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_68K_TLS_LE32 Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_ARM_TLS_LE32 Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B(%A+0x%lx): Ð­Ð»ÐµÐ¼ÐµÐ½Ñ‚ Stabs Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸.%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ðº Â«%sÂ» Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ %s Ð´Ð»Ñ� %s%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ñ�Ñ‚Ð¸Ñ‡ÑŒ %s, Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -ffunction-sections%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� XTENSA_ASM_SIMPLIFY; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸%B(%A+0x%lx): Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Ð´Ð»Ñ� TLS-Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ðº Â«%sÂ»: Ð¾ÑˆÐ¸Ð±ÐºÐ° %d%B(%A+0x%lx): Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (Ñ€Ð°Ð·Ð¼ÐµÑ€=0x%x)%B(%A+0x%lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ðµ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s%B(%A+0x%lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B(%A+0x%lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B(%A+0x%lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� ARM-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«0x%xÂ» Ð² Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ð¸Ð½Ðµ TLS%B(%A+0x%lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� ARM-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«0x%xÂ», Ð½Ð° ÐºÐ¾Ñ‚Ð¾Ñ€ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� TLS_GOTDESC%B(%A+0x%lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� Thumb-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«0x%xÂ» Ð² Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ð¸Ð½Ðµ TLS%B(%A+0x%lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� Thumb-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«0x%xÂ», Ð½Ð° ÐºÐ¾Ñ‚Ð¾Ñ€ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� TLS_GOTDESC%B(%A+0x%v): Ð²Ñ‹Ð·Ð¾Ð² Ð½Ðµ ÐºÐ¾Ð´Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %B(%A), Ð°Ð½Ð°Ð»Ð¸Ð· Ð½Ðµ Ð¿Ð¾Ð»Ð¾Ð½
+%B (%s): Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ„Ð»Ð°Ð³ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s (%#lx)%B Ð¸ %B Ð´Ð»Ñ� Ñ€Ð°Ð·Ð½Ñ‹Ñ… ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¹%B Ð¸ %B Ð´Ð»Ñ� Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ñ�Ð´ÐµÑ€%B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÐºÐ¾Ð´ CRIS v32, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸%B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÐºÐ¾Ð´ Ð½Ðµ-CRIS v32, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸%B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ Ð¸ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹ Ð¸ ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ²ÑˆÐ¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Tag_MPextension_use%B Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°ÐµÑ‚ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ�Ñ‚ÑŒ %s%B Ñ€Ð°Ð·Ð´ÐµÐ» %A Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸%B Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %lu Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð½ÐµÑ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÑŽÑ‰Ð¸Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» SHT_SYMTAB_SHNDX%B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ e_flags 0x%lx%B(%#Lx): Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ STM32L4XX. ÐŸÑ€Ñ‹Ð¶Ð¾Ðº Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð·Ð° Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ %Ld Ð±Ð°Ð¹Ñ‚. Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ�.%B(%A): Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð²Ñ‹Ð·Ð¾Ð² Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ»%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð²Ñ‹Ñ…Ð¾Ð´Ð° Ð¸Ð· Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�%B(%A): Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð²Ð¾Ð¹Ñ�Ñ‚Ð²%B(%A): Ð¼Ð½Ð¾Ð³Ð¾ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ TLS Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�%B(%A): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %d Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %ld%B(%A): Ð¿Ñ€Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ð¸ Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð¹ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸%B(%A): Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ PID %s Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx (Ð´Ð»Ñ� %s Ð² %s)%B(%A): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�ÐºÐ»ÐµÐ¹ÐºÐ¸ Ð´Ð»Ð¸Ð½Ð½Ñ‹Ñ… Ð²ÐµÑ‚Ð²ÐµÐ¹, Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° SHF_ARM_PURECODE Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ†ÐµÐ»ÐµÐ¹ M-Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ�, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÐµÐ¹ movw.%B(%A): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð² Ð¼Ð°Ð»Ð¾Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ð¸ Ð´Ð°Ð½Ð½Ñ‹Ñ…%B(%A): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ðº Ð¼Ð°Ð»Ñ‹Ð¼ Ð´Ð°Ð½Ð½Ñ‹Ð¼ Ñ� Ñ‚Ð¸Ð¿Ð¾Ð¼ %d.%B(%A+%#Lx): %s Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� insn %#x Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð² Ð½Ðµ Ð¾Ð±Ñ‰ÐµÐ¹ Ñ�Ñ�Ñ‹Ð»ÐºÐµ%B(%A+%#Lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ SEC_MERGE%B(%A+%#Lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B(%A+%#Lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B(%A+%#Lx): %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s%B(%A+%#Lx): %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð½Ðµ TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s%B(%A+%#Lx): Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CMEM Ð² Â«%sÂ», 16 MSB Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ %#x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñ€Ð°Ð²Ð½Ð¾ %#Lx)%B(%A+%#Lx): Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CMEM Ð² Â«%s+%#LxÂ», 16 MSB Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ %#x%B(%A+%#Lx): Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ ALU Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ñ‹ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ ADD Ð¸Ð»Ð¸ SUB%B(%A+%#Lx): Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� %#Lx Ð´Ð»Ñ� Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ %s%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ðº Â«%sÂ» Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ %s Ð´Ð»Ñ� %s%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ð±Ñ€Ð°Ñ‚ÑŒÑ�Ñ� Ð´Ð¾ %s%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ñ�Ñ‚Ð¸Ñ‡ÑŒ %s, Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -ffunction-sections%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� XTENSA_ASM_SIMPLIFY; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸%B(%A+%#Lx): Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s Ñ� Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ð¹ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÐµÐ¹ %#x%B(%A+%#Lx): Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Ð´Ð»Ñ� TLS-Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s%B(%A+%#Lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ� Â«%sÂ»: Ð¾ÑˆÐ¸Ð±ÐºÐ° %d%B(%A+%#Lx): Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (Ñ€Ð°Ð·Ð¼ÐµÑ€=%#Lx)%B(%A+%#Lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� ARM-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«%#lxÂ» Ð² Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ð¸Ð½Ðµ TLS%B(%A+%#Lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� ARM-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«%#lxÂ», Ð½Ð° ÐºÐ¾Ñ‚Ð¾Ñ€ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� TLS_GOTDESC%B(%A+%#Lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� Thumb-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«%#lxÂ» Ð² Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ð¸Ð½Ðµ TLS%B(%A+%#Lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� Thumb-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«%#lxÂ», Ð½Ð° ÐºÐ¾Ñ‚Ð¾Ñ€ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� TLS_GOTDESC%B(%A+%#Lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ðµ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s%B(%A+%#Lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B(%A+%#Lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ»%B(%A+%#lx): Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Stabs Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸.%B(%A+%#x): Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¾Ðº Ð² Ð½Ðµ Ð¿Ð¾Ñ�Ð»ÐµÐ´Ð½ÐµÐ¼ Ð±Ð»Ð¾ÐºÐµ IT: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ STM32L4XX.
+Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ gcc -mrestrict-it Ð´Ð»Ñ� Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¾Ð´Ð½Ð¾Ð¹ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Ð² Ð±Ð»Ð¾ÐºÐµ IT.
+%B(%A+0x%lx): Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� %d Ð±Ð°Ð¹Ñ‚ Ð´Ð»Ñ� Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ� Ð¿Ð¾ %d-Ð±Ð°Ð¹Ñ‚Ð½Ð¾Ð¹ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ, Ð½Ð¾ ÐµÑ�Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ %d%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‡Ð¸Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ RISCV_PCREL_HI20 Ð´Ð»Ñ� Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÑŽÑ‰ÐµÐ³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� RISCV_PCREL_LO12%B(%A+0x%lx): Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚Ñ�Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ 16A Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x insn%B(%A+0x%lx): Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚Ñ�Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ 16D Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x insn%B(%A+0x%v): Ð²Ñ‹Ð·Ð¾Ð² Ð½Ðµ ÐºÐ¾Ð´Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %B(%A), Ð°Ð½Ð°Ð»Ð¸Ð· Ð½Ðµ Ð¿Ð¾Ð»Ð¾Ð½
 %B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°.
   Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: ARM-Ð²Ñ‹Ð·Ð¾Ð² Ð² Thumb%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°.
   Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: Thumb-Ð²Ñ‹Ð·Ð¾Ð² Ð² ARM%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°.
-  Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: arm-Ð²Ñ‹Ð·Ð¾Ð² Ð² thumb%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: interworking not enabled.
-  Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: thumb-Ð²Ñ‹Ð·Ð¾Ð² Ð² arm%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°.
+  Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: arm-Ð²Ñ‹Ð·Ð¾Ð² Ð² thumb%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°.
   Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: thumb-Ð²Ñ‹Ð·Ð¾Ð² Ð² arm
-  Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚Ðµ Ð¿ÐµÑ€ÐµÑ�Ð±Ð¾Ñ€ÐºÑƒ Ñ� Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ñ‹Ð¼ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --support-old-code%B(%s+0x%lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÑ‘Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A:
+  Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚Ðµ Ð¿ÐµÑ€ÐµÑ�Ð±Ð¾Ñ€ÐºÑƒ Ñ� Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ñ‹Ð¼ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --support-old-code%B(%s+%#Lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A:
   Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¼ Ð¾Ð±ÑŠÐµÐºÑ‚Ðµ; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ�Ð¼ÐµÑˆÐµÐ½Ð¸Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð², Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A:
   Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¼ Ð¾Ð±ÑŠÐµÐºÑ‚Ðµ; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A:
-  v10/v32 Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ %s Ð½Ðµ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� PIC%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð�ÐµÑ‚ PLT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð�ÐµÑ‚ Ð½Ð¸ PLT Ð½Ð¸ GOT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»ÐºÑƒ Ð½Ð° Â«%sÂ»; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ�Ð¼ÐµÑˆÐµÐ½Ð¸Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ð¹?%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: Â«%sÂ», ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð²Ð½Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ�Ð¼ÐµÑˆÐµÐ½Ð¸Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ð¹?%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð±ÐµÐ· Ñ�Ð¾Ð·Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ GOT%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ %d Ñƒ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ %d Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ», Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»:
-  Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¼ Ð¾Ð±ÑŠÐµÐºÑ‚Ðµ; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ !samegp Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð±ÐµÐ· .prologue: %s%B: %A+0x%lx: Ð¿Ñ€Ñ�Ð¼Ñ‹Ðµ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñ‹ Ð¼ÐµÐ¶Ð´Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹; Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ð¾Ð¹ ÑƒÐ²Ñ�Ð·ÐºÐ¾Ð¹.%B: %s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� %d%B: %s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� %u (Ð¼Ð°ÐºÑ� %d)%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ð¸ ÐºÐ°Ðº Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð´Ð»Ñ� Ð½Ð¸Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»%B: Ð¿Ð¾Ð´Ñ€Ð°Ð·Ð´ÐµÐ» .got Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ 64K (Ñ€Ð°Ð·Ð¼ÐµÑ€ %d)%B: .opd Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ Ð¼Ð°Ñ�Ñ�Ð¸Ð²Ð¾Ð¼ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² opd%B: Ñ€Ð°Ð·Ð´ÐµÐ» .preinit_array Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°ÐµÑ‚Ñ�Ñ� Ð² DSO%B: 0x%lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: R_SH_PSHA Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %d Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° -32..32%B: 0x%lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: R_SH_PSHL Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %d Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° -32..32%B: 0x%lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¿Ñ€Ð¸ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ð¸%B: 0x%lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ðµ %s Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ 0x%lx%B: 0x%lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ðµ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ñ� Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ñ�%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_SH_USES ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ insn 0x%x%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¾Ñ‡Ð½Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_USES%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_USES%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ COUNT%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @gprel Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ @internal Ðº Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @pcrel Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: ABI Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ Ð² Ñ�Ð¼ÑƒÐ»Ñ�Ñ†Ð¸Ð¸%B: Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ABI: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%B: Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ASE: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%B: Ð�Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸%B: Ð¾Ð±Ñ€Ð°Ð·Ñ‹ BE8 Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ñ‹ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð² Ñ€ÐµÐ¶Ð¸Ð¼Ðµ big-endian.%B: Ð˜Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð° Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸: %d%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CALL15 Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð½Ðµ Ð´Ð»Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CALL16 Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð½Ðµ Ð¿Ñ€ÐµÐ´Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ñ�Ñ‰ÐµÐµ LO16 Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñƒ Â«%sÂ» Ð´Ð»Ñ� %s Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ�Ð»Ð°Ð±Ð¸Ñ‚ÑŒ br (%s) Ð´Ð¾ Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ» Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ 0x%lx (> 0x1000000).%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ�Ð»Ð°Ð±Ð¸Ñ‚ÑŒ br Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ». Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ brl Ð¸Ð»Ð¸ ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ.%B: Ð�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¶Ð°Ñ‚Ñ‹Ðµ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ñ‹Ðµ Ñ„Ð°Ð¹Ð»Ñ‹ Alpha.
-   Ð”Ð»Ñ� Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ� Ð½ÐµÑ�Ð¶Ð°Ñ‚Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð² Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñ�Ñ‚Ð¾Ñ€Ð° Ð¸Ð»Ð¸ objZ.%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹ %s Ð¸ %s Ð²Ð¼ÐµÑ�Ñ‚Ðµ.%B: ÐŸÐ¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ð¾Ðµ Ð¿Ð¾Ð»Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð³Ñ€ÑƒÐ¿Ð¿: 0x%lx%B: Ð�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ GOT: ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ñ� 8-Ð¼Ð¸ Ð¸Ð»Ð¸ 16-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ > %d%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ GOT: ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ñ� 8-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ > %d%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GOT Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð½Ðµ Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚Ñ�Ñ� Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð°Ñ…%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° IMPORT AS Ð´Ð»Ñ� %s Ñ�ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ IMPORT AS%B: Ð�Ð°Ð±Ð¾Ñ€ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñƒ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ñ… Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹%s: Ð˜Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %d%B: ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %s%B: Ð�ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¼ÐµÑ�Ñ‚Ð° Ð´Ð»Ñ� Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹, Ð¿Ð¾Ð¿Ñ‹Ñ‚Ð°Ð¹Ñ‚ÐµÑ�ÑŒ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -N%B: Ð¢Ð¾Ð»ÑŒÐºÐ¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ñ‹ %%g[2367] Ð¼Ð¾Ð³ÑƒÑ‚ Ð¾Ð±ÑŠÑ�Ð²Ð»Ñ�Ñ‚ÑŒÑ�Ñ� Ñ� Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ STT_REGISTER%B: Ð Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½, Ð½Ð¾ Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ (0x%x) Ð² Ð°Ñ€Ñ…Ð¸Ð²Ðµ Import Library Format%B: ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s (%d) Ð² Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ð¼Ð¾Ð¼ÐµÐ½Ñ‚ Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�.
-%B: ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² ÑƒÐ½Ð¸Ð²ÐµÑ€Ñ�Ð°Ð»ÑŒÐ½Ð¾Ð¼ ELF (EM: %d)%B: Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ SB, Ð½Ð¾ __c6xabi_DSBT_BASE Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½%B: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ ÐºÐ¾Ð´ TLS Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½ Ñ� Ð¾Ð±Ñ‰Ð¸Ð¼Ð¸ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸%B: TLS-Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ Ð¸Ð· %s Ð² %s Ð´Ð»Ñ� Â«%sÂ» Ð¿Ð¾ 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ» Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ñ�Ñ� Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾%B: ÐŸÐµÑ€Ð²Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ðµ PT_DYNAMIC Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð¼ .dynamic%B: Ð¦ÐµÐ»ÑŒ (%s) Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð² Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ (%A)%B: Ð¡Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²: %d (>= %d)%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� - Ð¾Ð½Ð¸ Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð²%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� - Ð¾Ð½Ð¸ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°%B: Ð�ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°; %x%B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %d%B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d
+  v10/v32 Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ Ð½Ðµ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ PIC%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð�ÐµÑ‚ PLT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð�ÐµÑ‚ Ð½Ð¸ PLT Ð½Ð¸ GOT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»ÐºÑƒ Ð½Ð° Â«%sÂ»; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ�Ð¼ÐµÑˆÐµÐ½Ð¸Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ð¹?%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Â«%sÂ», Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ñ� Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ñ�Ñ‚ÑŒÑŽ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ�Ð¼ÐµÑˆÐµÐ½Ð¸Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ð¹?%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: Â«%sÂ», ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð²Ð½Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ�Ð¼ÐµÑˆÐµÐ½Ð¸Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ð¹?%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð±ÐµÐ· Ñ�Ð¾Ð·Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ GOT%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ %Ld Ñƒ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ %Ld Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B, Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ», Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»:
+  Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¼ Ð¾Ð±ÑŠÐµÐºÑ‚Ðµ; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ !samegp Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð±ÐµÐ· .prologue: %s%B: %#Lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_PSHA %Ld Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° -32..32%B: %#Lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_PSHL %Ld Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° -32..32%B: %#Lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¿Ñ€Ð¸ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ð¸%B: %#Lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s (%#Lx)%B: %#Lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ðµ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ñ� Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ñ�%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_SH_USES ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ insn %#x%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_SH_USES ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ insn 0x%x%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGCALL ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½ÑƒÑŽ insn %#x%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGCALL ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ðµ insn%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGCALL ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGCALL ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %#Lx%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGJUMP ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½ÑƒÑŽ insn %#x%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGJUMP ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ðµ insn%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGJUMP ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¾Ñ‡Ð½Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_USES%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_USES%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ COUNT%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ%B: %A Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°%B: %A Ð½Ðµ ÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð¾%B: %A ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð·Ð° ÐºÐ¾Ð½ÐµÑ† Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ‚ÐµÐºÑ�Ñ‚Ð°%B: %A+%#Lx: Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ� INHERIT%B: %A+%#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ� Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ð¹ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÐµÐ¹%B: %A+%#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ LITERAL Ñ� Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ð¹ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÐµÐ¹%B: %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %#x > 0xffff%B: %s Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ñ‹Ð¼%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ð¸ ÐºÐ°Ðº Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð½Ð¸Ñ‚Ð¸%B: %s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� %d%B: %s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� %u (Ð¼Ð°ÐºÑ� %d)%B: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: 0x%lx > 0xffff%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ð¸ ÐºÐ°Ðº Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð´Ð»Ñ� Ð½Ð¸Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»%B: --in-implib Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐº Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° Secure Gateway.%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ .gnu.version_d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ .gnu.version_r%B: Ð¿Ð¾Ð´Ñ€Ð°Ð·Ð´ÐµÐ» .got Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ 64K (Ñ€Ð°Ð·Ð¼ÐµÑ€ %d)%B: .opd Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ Ð¼Ð°Ñ�Ñ�Ð¸Ð²Ð¾Ð¼ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² opd%B: Ñ€Ð°Ð·Ð´ÐµÐ» .preinit_array Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°ÐµÑ‚Ñ�Ñ� Ð² DSO%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .reginfo Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ‹Ñ‚ÑŒ %d Ð±Ð°Ð¹Ñ‚, Ð´ÐµÐ¹Ñ�Ñ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ â€” %d%B: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ñ€Ð°Ð·Ð´ÐµÐ» .rsrc Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½%B: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ rsrc: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .rsrc%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @gprel Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ @internal Ðº Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @pcrel Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: ABI Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ Ð² Ñ�Ð¼ÑƒÐ»Ñ�Ñ†Ð¸Ð¸%B: ABI Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ Ð² Ñ�Ð¼ÑƒÐ»Ñ�Ñ†Ð¸Ð¸:
+  Ñ†ÐµÐ»ÑŒ Ñ�Ð¼ÑƒÐ»Ñ�Ñ†Ð¸Ð¸ Â«%sÂ» Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Â«%sÂ»%B: Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ABI: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%B: ABI Ð²ÐµÑ€Ñ�Ð¸Ð¸ %ld Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ð¾ Ñ� Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð¼ Ñ� ABI Ð²ÐµÑ€Ñ�Ð¸Ð¸ %ld%B: Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ASE: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%B: Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸%B: Ð¾Ð±Ñ€Ð°Ð·Ñ‹ BE8 Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ñ‹ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð² Ñ€ÐµÐ¶Ð¸Ð¼Ðµ big-endian.%B: Ð˜Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð° Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸: %d%B: Ð½ÐµÐ²ÐµÑ€Ð½Ð¾Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: Â«MainÂ» Ñ€Ð°Ð²ÐµÐ½ %s, Ð° Ð½Ðµ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ %s
+%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CALL15 Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð½Ðµ Ð´Ð»Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CALL16 Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð½Ðµ Ð´Ð»Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ñ�Ñ‰ÐµÐµ LO16 Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñƒ Â«%sÂ» Ð´Ð»Ñ� %s Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ�Ð»Ð°Ð±Ð¸Ñ‚ÑŒ br (%s) Ð´Ð¾ Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ» Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ %#Lx (> 0x1000000).%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ�Ð»Ð°Ð±Ð¸Ñ‚ÑŒ br Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ». Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ brl Ð¸Ð»Ð¸ ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ.%B: Ð�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¶Ð°Ñ‚Ñ‹Ðµ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ñ‹Ðµ Ñ„Ð°Ð¹Ð»Ñ‹ Alpha.
+   Ð”Ð»Ñ� Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ� Ð½ÐµÑ�Ð¶Ð°Ñ‚Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð² Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñ�Ñ‚Ð¾Ñ€Ð° Ð¸Ð»Ð¸ objZ.%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹ %s Ð¸ %s Ð²Ð¼ÐµÑ�Ñ‚Ðµ.%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ð´Ð°Ð½Ð½Ñ‹Ñ… (%lx) Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ð¾Ñ�Ñ‚Ð°Ð²ÑˆÐµÐµÑ�Ñ� Ð¼ÐµÑ�Ñ‚Ð¾ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ (%Lx)%B: Ñ„Ð»Ð°Ð³ EF_OR1K_NODELAY Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: ÐºÐ¾Ð½ÐµÑ† Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð·Ð° Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸ÐµÐ¼ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°.%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¼Ð½Ð¾Ð¶ÐµÑ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ñ� Â«%sÂ»; Ð½Ð°Ñ‡Ð°Ð»Ð¾ %s ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð² Ñ€Ð°Ð½ÐµÐµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ
+%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: search_nds32_elf_blank Ñ�Ð¾Ð¾Ð±Ñ‰Ð°ÐµÑ‚ Ð¾ Ð½ÐµÐ²ÐµÑ€Ð½Ð¾Ð¼ ÑƒÐ·Ð»Ðµ
+%B: Ð�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ» Ñ�Ñ�Ñ‹Ð»Ð¾Ðº Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %d%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ…%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼%B: Ð¾ÑˆÐ¸Ð±ÐºÐ° GAS: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð°Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� PTB Ñ� R_SH_PT_16%B: GNU_MBIN Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð¿Ð¾Ð»Ðµ sh_info: %d%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ GOT: ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ñ� 8-Ð¼Ð¸ Ð¸Ð»Ð¸ 16-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ > %d%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ GOT: ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ñ� 8-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ > %d%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GOT Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð½Ðµ Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚Ñ�Ñ� Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð°Ñ…%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° IMPORT AS Ð´Ð»Ñ� %s Ñ�ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ IMPORT AS%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð° ISR Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð±Ñ‹Ð» %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ð¹, Ñ�Ñ‚Ð°Ð» %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ð¹%B: Ð�Ð°Ð±Ð¾Ñ€ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñƒ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ñ… Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹%B: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ³Ð¾ Ð½ÐµÑ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²Ð¸Ñ� Ð´Ð»Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ�
+ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° Ð½Ð°Ð·Ð½Ð°Ñ‡Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ¾Ð¼: Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½: %#Lx != Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½: %#Lx%B: Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %d%B: Ð˜Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð¿Ð¾Ð»Ðµ sh_link (%d) Ð² Ð½Ð¾Ð¼ÐµÑ€Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %d%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL: Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€ $%Ld Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð¼. ÐŸÐµÑ€Ð²Ñ‹Ð¹ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€: $%Ld.%B: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¾Ð¿Ð¸Ñ�Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð±ÑƒÐ´ÐµÑ‚ Ñ€Ð°Ð²Ð½Ð° NULL, ÐµÑ�Ð»Ð¸ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼%B: ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %A%B: ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %s%B: Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ðµ OMIT_FP Ð² %A.%B: Ð�ÐµÑ‚ core Ð´Ð»Ñ� Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� %d Ð±Ð°Ð¹Ñ‚ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°
+%B: Ð�ÐµÑ‚ core Ð´Ð»Ñ� Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� Ð¸Ð¼ÐµÐ½Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s
+%B: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ€Ð°Ð·Ð´ÐµÐ» Ð²ÐµÑ€Ñ�Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð´Ð»Ñ� Ð²ÐµÑ€Ñ�Ð¸Ð¾Ð½Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¼ÐµÑ�Ñ‚Ð° Ð´Ð»Ñ� Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹, Ð¿Ð¾Ð¿Ñ‹Ñ‚Ð°Ð¹Ñ‚ÐµÑ�ÑŒ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -N%B: Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ñ‹ %%g[2367] Ð¼Ð¾Ð³ÑƒÑ‚ Ð¾Ð±ÑŠÑ�Ð²Ð»Ñ�Ñ‚ÑŒÑ�Ñ� Ñ� Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ STT_REGISTER%B: Ð Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½, Ð½Ð¾ Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ (0x%x) Ð² Ð°Ñ€Ñ…Ð¸Ð²Ðµ Import Library Format%B: ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s (%d) Ð² Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ð¼Ð¾Ð¼ÐµÐ½Ñ‚ Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�.
+%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¿Ð¾ÐºÐ° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s.%B: ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² ÑƒÐ½Ð¸Ð²ÐµÑ€Ñ�Ð°Ð»ÑŒÐ½Ð¾Ð¼ ELF (EM: %d)%B: Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ SB, Ð½Ð¾ __c6xabi_DSBT_BASE Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½%B: Ñ€Ð°Ð·Ð´ÐµÐ» SHT_GROUP [Ð¸Ð½Ð´ÐµÐºÑ� %d] Ð½Ðµ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² SHF_GROUP%B: Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ€Ð°Ð·Ñ€ÐµÑˆÑ‘Ð½ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹ ARMv8-M Ð¸ Ð±Ð¾Ð»ÐµÐµ Ð½Ð¾Ð²Ð¾Ð¹.%B: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ ÐºÐ¾Ð´ TLS Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½ Ñ� Ð¾Ð±Ñ‰Ð¸Ð¼Ð¸ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸%B: Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹ TLS Ð½Ð°Ñ…Ð¾Ð´Ñ�Ñ‚Ñ�Ñ� Ð½Ðµ Ñ€Ñ�Ð´Ð¾Ð¼:%B: TLS-Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ Ð¸Ð· %s Ð² %s Ð´Ð»Ñ� Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ» Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ TOC Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð±ÐµÐ· Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° TOC%B: Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ðµ PT_DYNAMIC Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð¼ .dynamic%B: Ð¦ÐµÐ»ÑŒ (%s) Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð² Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ (%A)%B: Ð¡Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²: %d (>= %d)%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� - Ð¾Ð½Ð¸ Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð²%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� - Ð¾Ð½Ð¸ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°%B: Ð�ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°; %x%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° %s%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° ARC %d.%B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %d%B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d
 %B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð² Ñ„Ð°Ð¹Ð»Ðµ a.out.adobe: %x
-%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° .directive: %s%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð¸Ð¼ÐµÐ½Ð½Ð¾Ð¹ Ñ‚Ð¸Ð¿ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°; %x%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°; %x%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ (0x%x) Ð² Ð°Ñ€Ñ…Ð¸Ð²Ðµ Import Library Format%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ ÐºÐ»Ð°Ñ�Ñ� Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ� %d Ð´Ð»Ñ� %s, Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»%B: ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð˜Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ„Ð»Ð°Ð³ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° IMAGE_SCN_MEM_NOT_PAGED Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %s\%B: ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Thumb Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� BLX Ð² Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ thumb '%s'.%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° Â«%sÂ» (%u) Ð¼ÐµÐ½ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ ÐµÐ³Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº%B: ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÑŽ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Â«%sÂ»%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» XMC_TC0 Â«%sÂ» Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� ÐºÐ»Ð°Ñ�Ñ�Ð¾Ð¼ %d scnlen %d%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº FDPIC Ð¸ ÐºÐ°Ðº Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð½Ð¸Ñ‚Ð¸%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ð¸ ÐºÐ°Ðº FDPIC Ñ�Ð¸Ð¼Ð²Ð¾Ð»%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ð¸ ÐºÐ°Ðº Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð´Ð»Ñ� Ð½Ð¸Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»%B: Â«%sÂ» Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾Ðº, Ð½Ð¾ Ð² Ð¾Ð±Ñ€Ð°Ð¼Ð»Ñ�ÑŽÑ‰ÐµÐ¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ%B: Â«%sÂ» Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ°, Ð½Ð¾ Ð½Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ°%B: Â«ld -rÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ� Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸ PE MIPS
-%B: Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» XTY_ER Â«%sÂ»: ÐºÐ»Ð°Ñ�Ñ� %d scnum %d scnlen %d%B: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ� pair/reflo Ð¿Ð¾Ñ�Ð»Ðµ refhi
-%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (0x%lx >= 0x%lx) Ð´Ð»Ñ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð¸Ð¼Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð² ihex_read_section%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ñ‚Ñ€Ð¾Ðº %lu%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ�: %d%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s%B: Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð² gp: BRSGP %s%B: ÐºÐ»Ð°Ñ�Ñ� %d Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² aux%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� 64-Ð±Ð¸Ñ‚Ð½Ð¾Ð¹ Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹, Ð° Ñ†ÐµÐ»ÑŒ 32-Ð±Ð¸Ñ‚Ð½Ð°Ñ�%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹ Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚, Ð° Ñ†ÐµÐ»ÑŒ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚, Ð° Ñ†ÐµÐ»ÑŒ Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚%B: Ð½Ð¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð° Ð¸ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð° Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mrelocatable%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð° Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mrelocatable Ð¸ Ð½Ð¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð° Ñ�Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %A Ð´Ð»Ñ� Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %s%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ»
-%B: csect Â«%sÂ» Ð½Ðµ Ð² Ð¾Ð±Ñ€Ð°Ð¼Ð»Ñ�ÑŽÑ‰ÐµÐ¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» ÐžÐ¡ Â«%sÂ» [0x%8x]%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ‰Ñ‘Ð½Ð½Ñ‹Ð¹, Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Â«%sÂ» [0x%8x]%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€Ð° Â«%sÂ» [0x%8x]%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» [0x%8x]%B: dtp-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ñ‹Ð¹ Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ
+%B: Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ OMIT_FP Ð² %A.%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° .directive: %s%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð¸Ð¼ÐµÐ½Ð½Ð¾Ð¹ Ñ‚Ð¸Ð¿ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°; %x%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°; %x%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ (0x%x) Ð² Ð°Ñ€Ñ…Ð¸Ð²Ðµ Import Library Format%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ ÐºÐ»Ð°Ñ�Ñ� Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ� %d Ð´Ð»Ñ� %s, Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ Ð¸Ð· %s Ð² %s%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Arm-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� BLX Ð´Ð»Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Arm Â«%sÂ».%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ„Ð»Ð°Ð³ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° IMAGE_SCN_MEM_NOT_PAGED Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %s%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Thumb-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� BLX Ð´Ð»Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ thumb Â«%sÂ».%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° Â«%sÂ» (%u) Ð¼ÐµÐ½ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ ÐµÐ³Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº%B: ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÑŽ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Â«%sÂ»%B: ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ� PLT Ð² Ñ€ÐµÐ¶Ð¸Ð¼Ðµ thumb-1 Ð¿Ð¾ÐºÐ° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�%B: Ð¾Ð±Ñ‰Ð¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ XCOFF Ð±ÐµÐ· Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ� Ð²Ñ‹Ð²Ð¾Ð´Ð° XCOFF%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» XMC_TC0 Â«%sÂ» Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� ÐºÐ»Ð°Ñ�Ñ�Ð¾Ð¼ %d scnlen %Ld%B: __gp Ð½Ðµ Ð¿Ð¾ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð´Ð°Ð½Ð½Ñ‹Ñ…%B: Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%AÂ» Ð´Ð»Ñ� %Ld Ð¸Ð· Â«%AÂ» Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° ADDIUPC%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº FDPIC Ð¸ ÐºÐ°Ðº Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð½Ð¸Ñ‚Ð¸%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ð¸ ÐºÐ°Ðº FDPIC Ñ�Ð¸Ð¼Ð²Ð¾Ð»%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ð¸ ÐºÐ°Ðº Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð´Ð»Ñ� Ð½Ð¸Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»%B: Â«%sÂ» Ð¸ ÐµÐ³Ð¾ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð½Ð°Ñ…Ð¾Ð´Ñ�Ñ‚Ñ�Ñ� Ð² Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ñ€Ð°Ð·Ð´ÐµÐ»Ð°Ñ….%B: Â«%sÂ» Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾Ðº, Ð½Ð¾ Ð² Ð¾Ð±Ñ€Ð°Ð¼Ð»Ñ�ÑŽÑ‰ÐµÐ¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ%B: Â«%sÂ» Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ°, Ð½Ð¾ Ð½Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ°%B: Ð½Ðµ PLT Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%sÂ» Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°, Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ð² Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐµ, Ðº ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¼Ñƒ Ð¾Ð±Ñ€Ð°Ñ‰Ð°ÑŽÑ‚Ñ�Ñ� Ð¸Ð· Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° (Ð¿ÐµÑ€ÐµÑ�Ð¾Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ñ„Ð°Ð¹Ð» Ñ� -fPIC ?)%B: Â«ld -rÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ� Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸ PE MIPS
+%B: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ».%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð·Ð° ÐºÐ¾Ð½ÐµÑ† Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° (%Ld)%B: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ %s%#x Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ».%B: Ð°Ð´Ñ€ÐµÑ� %#Lx Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° Ð´Ð»Ñ� Intel Hex Ñ„Ð°Ð¹Ð»Ð°%B: Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ aout ÑƒÐºÐ°Ð·Ð°Ð½ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ð´Ð°Ð½Ð½Ñ‹Ñ…: %ld%B: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° Ð²Ñ‹Ð¿ÑƒÑ�Ñ‚Ð¸Ñ‚ÑŒ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð½Ðµ ÐºÑ€Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ 4 (%#Lx)%B: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ Ð¸Ð· Ð½Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° (Ð½Ð¾Ð¼ÐµÑ€ %d)%B: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° Ñ�Ð¼ÐµÑˆÐ°Ñ‚ÑŒ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹ FDPIC Ð¸ Ð½Ðµ FDPIC%B: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ð³Ð¾ Ñ‚Ð¸Ð¿Ð° Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�%B: Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» XTY_ER Â«%sÂ»: ÐºÐ»Ð°Ñ�Ñ� %d scnum %d scnlen %Ld%B: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ� pair/reflo Ð¿Ð¾Ñ�Ð»Ðµ refhi
+%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (%#Lx >= %#lx) Ð´Ð»Ñ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð¸Ð¼Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð² ihex_read_section%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ñ‚Ñ€Ð¾Ðº %Lu%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ�: %d%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ð°-Ð¿Ð»ÑŽÑ�-Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: %s Ð² %A%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ð°-Ð¿Ð»ÑŽÑ�-Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: (Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾) Ð² %A%B: Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° a.out%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð² oasys%B: Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° a.out%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼Ð¾Ð´ÑƒÐ»Ð¸ Ñ� Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾Ð¹ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‰Ð¸Ð¼Ð¸ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾ Ð´Ð»Ñ� Ð¸Ð¼ÐµÐ½Ð¸ Ñ„Ð°Ð¹Ð»Ð° Ñ„Ð°Ð¹Ð»Ñƒ Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d, %d Ð±Ð°Ð¹Ñ‚
+%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ñ�Ð²Ð»Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� fdpic Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ Ð½Ðµ fdpic%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ð½Ðµ Ñ�Ð²Ð»Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� fdpic Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ fdpic%B: Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð² gp: BRSGP %s%B: ÐºÐ»Ð°Ñ�Ñ� %d Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² aux%B: ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ� %s -mtune=%s Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ñ� %s -mtune=%s%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚, Ð° %B â€” 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚, Ð° %B â€” 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� 64-Ð±Ð¸Ñ‚Ð½Ð¾Ð¹ Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹, Ð° Ñ†ÐµÐ»ÑŒ 32-Ð±Ð¸Ñ‚Ð½Ð°Ñ�%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹ Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚, Ð° Ñ†ÐµÐ»ÑŒ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚, Ð° Ñ†ÐµÐ»ÑŒ Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚%B: Ð½Ð¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð° Ð¸ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð° Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mrelocatable%B: ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ� %s Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ñ� %s%B: ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ� %s Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð½Ðµ-pic Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð° Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mrelocatable Ð¸ Ð½Ð¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð° Ñ�Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸%B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ð¾Ðµ Ð¿Ð¾Ð»Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð³Ñ€ÑƒÐ¿Ð¿: %#Lx%B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²: %#Lx%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %A Ð´Ð»Ñ� Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ»
+%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ðµ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ñ‹ .cranges%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ñ‹ .cranges%B: csect Â«%sÂ» Ð½Ðµ Ð² Ð¾Ð±Ñ€Ð°Ð¼Ð»Ñ�ÑŽÑ‰ÐµÐ¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ%B: Ð¿Ñ€Ñ�Ð¼Ð¾Ðµ GOT Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s c Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð¿Ñ€Ñ�Ð¼Ð¾Ðµ GOT Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_386_GOT32X c Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¸Ð»Ð¸ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ñ‹Ð¼ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸ÐµÐ¼%B: dtp-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ñ‹Ð¹ Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ
 %B: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€
-%B: Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚ Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ Ð² Ñ�Ð¼ÑƒÐ»Ñ�Ñ†Ð¸Ð¸%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð´Ð»Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¸ Cortex-A8 Ñ€Ð°Ñ�Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð° Ð² Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ð¼ Ð¼ÐµÑ�Ñ‚Ðµ%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð´Ð»Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¸ Cortex-A8 Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ„Ð°Ð¹Ð»)%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ñ�ÐºÐ»ÐµÐ¹ÐºÐ° VFP11 Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %08x Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %p
-%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %d%B: Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ð¹ ÐºÐ»Ð°Ñ�Ñ� %s Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� %s%B: gp-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð½Ð° Ñ�ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð· %B Ñ�Ñ�Ñ‹Ð»Ð°ÑŽÑ‚Ñ�Ñ� Ð¸Ð· DSO%B: Ñ�ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½%B: Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ»
-%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸: %d%B: Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿. Ð’Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ 0x%x. Ð’Ñ…Ð¾Ð´Ð½Ð¾Ð¹ 0x%x%B: ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ðº Â«%sÂ» Ñ�Ð¾Ð·Ð´Ð°Ñ‘Ñ‚ Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ðµ%B: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² ihex_read_section%B: Ð½Ð° Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð· %B Ñ�Ñ�Ñ‹Ð»Ð°ÑŽÑ‚Ñ�Ñ� Ð¸Ð· DSO%B: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ SHT_GROUP%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° %lu Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ %s (Ð¸Ð½Ð´ÐµÐºÑ� %u)%B: Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ %u >= %lu Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»%B: Ñ‚Ð¾Ñ‡ÐºÐ° Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð° Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð°Ð»ÐµÐºÐ¾
-%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° 32-Ð±Ð¸Ñ‚Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° Ñ� 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼ ÐºÐ¾Ð´Ð¾Ð¼%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼Ð¸ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%B: UltraSPARC-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ð¸Ñ‡Ð½Ð°Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ� HAL-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ð¸Ñ‡Ð½Ñ‹Ð¼ ÐºÐ¾Ð´Ð¾Ð¼%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° auto-pic Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð½Ðµ-auto-pic Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚ Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° constant-gp Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð½Ðµ-constant-gp Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð², Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ� 16-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ†ÐµÐ»Ñ‹Ñ… (-mshort), Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ� 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ†ÐµÐ»Ñ‹Ñ…%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð², Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ� 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… double (-fshort-double), Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ� 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… double%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð², Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ� HCS12, Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ� HC12%B: Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚ Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð½Ðµ-pic ÐºÐ¾Ð´Ð° Ð² Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° trap-on-NULL-dereference Ñ� Ð½Ðµ-trapping Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ° Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %A, Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð¼ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ° Ð² Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%sÂ»%B: Ð½Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð· %B Ñ�Ñ�Ñ‹Ð»Ð°ÑŽÑ‚Ñ�Ñ� Ð¸Ð· DSO%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ Ñ€Ð°Ñ�Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ð¹ XTY_LD Â«%sÂ»%B: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ TLS-Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð´Ð»Ñ� Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ».%B: Ð½ÐµÑ‚ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ð³Ñ€ÑƒÐ¿Ð¿Ðµ Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%B: Ð½Ðµ-pic ÐºÐ¾Ð´ Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ imm Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B: Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (0x%lx) Ð´Ð»Ñ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ», Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ð² Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ Ð½ÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²%B: pc-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: pc-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ�Ð»Ð°Ð±Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð²ÐµÑ€Ð¾Ñ�Ñ‚Ð½Ð¾, ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñ�Ñ†Ð¸Ñ� Ð±ÐµÐ· -fPIC?%B: Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s:%d Ð½Ðµ Ð² csect%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿Ð¾ Ð½ÐµÑ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÑŽÑ‰ÐµÐ¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¸Ð½Ð´ÐµÐºÑ�Ñƒ: %ld%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°(Ð¾Ð²)%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð²Ð¼ÐµÑ�Ñ‚Ðµ Ñ� STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ: %d%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð²Ð¼ÐµÑ�Ñ‚Ðµ Ñ� STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ» Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� %s%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð² Ñ€ÐµÐ¶Ð¸Ð¼Ðµ x32%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°(Ð¾Ð²)%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC%B: Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_386_GOTOFF Ð´Ð»Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_386_GOTOFF Ð´Ð»Ñ� Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_X86_64_GOTOFF64 Ð´Ð»Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%A+0x%xÂ» Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ», Ð½Ð¾ Ð¾Ð½ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾%B: lma %#lx Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð¿Ð¾Ð´Ð¾Ð³Ð½Ð°Ð½Ð¾ Ðº %#lx%B: Ñ€Ð°Ð·Ð´ÐµÐ» %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ñ‚Ñ€Ð¾Ðº Ð¿Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ %d%B: Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ñ€Ð°Ñ�Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ sh_link [%d] Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»%B: sh_link Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð¾Ñ‚Ð±Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð· Â«%BÂ»%B: sh_link Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð· Â«%BÂ»%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¿Ð¾Ð»Ñ� Ñ€Ð°Ð²ÐµÐ½ Ð½ÑƒÐ»ÑŽ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Import Library Format%B: Ð´Ð¾Ð³Ð°Ð´ÐºÐ° Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ñ�Ñ‚Ñ€Ð¾ÐºÐ° Ð½Ðµ Ð·Ð°ÐºÐ°Ð½Ñ‡Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð½ÑƒÐ»Ñ‘Ð¼ Ð² Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ ILF.%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ csect: %d%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ smclas %d%B: Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ», Ð½Ð¾ Ð¾Ð½ Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²: (%d)%B: tp-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[12], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$5%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[1], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$2%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[1], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$4%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[9], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ __tls_used%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$6%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$6%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ ARM-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ THUMB-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ VFP11 Â«%sÂ»ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ Ñ€Ð°Ñ�Ð¶Ð°Ñ‚Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %A%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ�Ð¾Ñ�Ñ‚Ð¾Ñ�Ð½Ð¸Ðµ Ñ�Ð¶Ð°Ñ‚Ð¸Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ�Ð¾Ñ�Ñ‚Ð¾Ñ�Ð½Ð¸Ðµ Ñ€Ð°Ð·Ð¶Ð°Ñ‚Ð¸Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s%B: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»%B: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ .opd%B: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¿Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ R_PPC64_TOCSAVE%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ ATN-Ñ‚Ð¸Ð¿ %d Ð²Ð¾ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ Ñ‡Ð°Ñ�Ñ‚Ð¸%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð²ÐµÑ€Ñ�Ð¸Ð¾Ð½Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %u Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ .opd%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ð¾Ñ�Ð»Ðµ ATN%B: Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð¾Ðµ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� %s%B: Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾ %s
-%B: Ð½ÐµÑ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½Ð°Ñ� ATI-Ð·Ð°Ð¿Ð¸Ñ�ÑŒ %u Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %u%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ [%d] Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ [%s]%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %d%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹/Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (0x%x) Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %i%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %i
-%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: ALPHA_R_GPRELHIGH%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: ALPHA_R_GPRELLOW%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ñ� Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð¾Ð¼ _, Ð½Ð¾ Ð² Ñ„Ð°Ð¹Ð» Ð·Ð°Ð¿Ð¸Ñ�Ñ‹Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð¾Ð²%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¸Ðµ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ e_flags (0x%lx), Ñ‡ÐµÐ¼ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ðµ Ð¼Ð¾Ð´ÑƒÐ»Ð¸ (0x%lx)%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð° _, Ð½Ð¾ Ð² Ñ„Ð°Ð¹Ð» Ð·Ð°Ð¿Ð¸Ñ�Ñ‹Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ñ� Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð¾Ð¼ _%B: Ð²ÐµÑ€Ñ�Ð¸Ñ� ÑƒÐ·Ð»Ð° Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: COMDAT Ñ�Ð¸Ð¼Ð²Ð¾Ð» '%s' Ð½Ðµ Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð¸Ð¼ÐµÐ½Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° '%s'%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ð¿ÑƒÑ�Ñ‚Ð¾Ð¹ Ð·Ð°Ð³Ñ€ÑƒÐ¶Ð°ÐµÐ¼Ñ‹Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚, Ñ�Ñ‚Ð¾ Ñ‚Ð°Ðº Ð·Ð°Ð´ÑƒÐ¼Ñ‹Ð²Ð°Ð»Ð¾Ñ�ÑŒ?
-%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ñ�Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð½Ðµ Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ðµ%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð°Ñ�Ñ�Ñ� Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ� Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ� Â«%sÂ»%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %ld Ð² Ð½Ð¾Ð¼ÐµÑ€Ð°Ñ… Ñ�Ñ‚Ñ€Ð¾Ðº%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %ld Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ñ…%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñƒ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñ�ÐµÑ‚Ñ�Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° PIC-Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð½Ðµ-PIC Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² abicalls Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð½Ðµ-abicalls%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¹ Ð¾Ð±Ñ…Ð¾Ð´ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ VFP11 Ð½Ðµ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ Ð·Ð°Ð´Ð°Ð½ sh_link Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ»%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %d%B:%A%s Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¾Ð²ÐµÑ€Ð»ÐµÑ�
-%B:%A: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ²ÑˆÐµÐµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Red Hat %B:%d: Ð�ÐµÐ²ÐµÑ€Ð½Ð°Ñ� ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ� Ñ�ÑƒÐ¼Ð¼Ð° Ð² Ñ„Ð°Ð¹Ð»Ðµ S-record
+%B: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ Ð±ÐµÐ· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .loader%B: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ� Â«%TÂ» Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ»
+%B: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ»
+%B: Ð²Ð¾ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼ÐµÑ‚ÐºÐ¸ Ð´Ð°Ð½Ð½Ñ‹Ñ…%B: Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚ Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ Ð² Ñ�Ð¼ÑƒÐ»Ñ�Ñ†Ð¸Ð¸%B: Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Â«%sÂ» Ð¿ÑƒÑ�Ñ‚Ð°.%B: Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Â«%sÂ» Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð² Ð²Ñ‹Ð²Ð¾Ð´Ðµ.%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: ABI Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸.%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ñƒ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð²ÐµÐ»Ð¸ÐºÐ¾ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ, ÐºÑ€Ð°Ñ‚Ð½Ð¾Ðµ %d%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ STM32L4XX.%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð´Ð°Ñ‚ÑŒ _ITB_BASE_%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð´Ð»Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¸ Cortex-A8 Ñ€Ð°Ñ�Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð° Ð² Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ð¼ Ð¼ÐµÑ�Ñ‚Ðµ%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð´Ð»Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¸ Cortex-A8 Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ„Ð°Ð¹Ð»)%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð´Ð»Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¸ 835769 Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ„Ð°Ð¹Ð»)%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð´Ð»Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¸ 843419 Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ„Ð°Ð¹Ð»)%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½Ð°Ð±Ð¾Ñ€ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸.%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ PHDR Ð½Ðµ Ð¿Ð¾ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¾Ð¼ LOAD%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ñ�ÐºÐ»ÐµÐ¹ÐºÐ° VFP11 Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»Ð°: %ld%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ·Ð°Ð³Ñ€ÑƒÐ¶Ð°ÐµÐ¼Ñ‹Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ %d Ð²ÐºÐ»ÑŽÑ‡Ð°ÐµÑ‚ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¸/Ð¸Ð»Ð¸ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ñ‹Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx, Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %#Lx%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %08Lx Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %08Lx%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ COMDAT%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %d%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d.%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼ÑƒÑŽ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÑƒ%B: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð¿ÐµÑ€ÐµÐ´ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸ÐµÐ¼ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ñ‹ Ð¾Ð±Ñ‰Ð¸Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹%B: Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ð¹ ÐºÐ»Ð°Ñ�Ñ� %s Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� %s%B: gp-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ñ€Ð°Ð·Ð´ÐµÐ» Ð³Ñ€ÑƒÐ¿Ð¿ Â«%AÂ» Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾%B: Ð½Ð° Ñ�ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð· %B Ñ�Ñ�Ñ‹Ð»Ð°ÑŽÑ‚Ñ�Ñ� Ð¸Ð· DSO%B: Ñ�ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½%B: Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ»
+%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ð¸Ð¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ»%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %ld Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ñ…%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸: %ld%B: Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿. Ð’Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ 0x%x. Ð’Ñ…Ð¾Ð´Ð½Ð¾Ð¹ 0x%x%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ».%B: ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ðº Â«%sÂ» Ñ�Ð¾Ð·Ð´Ð°Ñ‘Ñ‚ Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ðµ%B: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² ihex_read_section%B: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°, Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð² %A Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð´Ð°Ð½Ð½Ñ‹Ðµ
+%B: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°, Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ñ�Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ� %d Ñ�Ð»Ð¾Ð² Ð´Ð¾ %d
+%B: Ð½Ð° Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð· %B Ñ�Ñ�Ñ‹Ð»Ð°ÑŽÑ‚Ñ�Ñ� Ð¸Ð· DSO%B: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� AVR: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� CR16C: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� CRIS: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� D10V: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� D30V: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Epiphany: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� FR30: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� FRV: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� IP2K: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� IQ2000: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� LM32: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� M32C: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� M32R: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� M68HC11: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� M68HC12: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MEP: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� METAG: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MMIX: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MSP430: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MSP430X: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MT: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Moxie: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� NDS32: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� OR1K: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� RL78: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� RX: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ SHT_GROUP%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� V850: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Visium: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� XGate: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� XTENSA: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� i960: %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸: Â«%sÂ».%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° %u Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ %s (Ð¸Ð½Ð´ÐµÐºÑ� %u)%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: YZ Ð² lop_end (%ld) Ð½Ðµ Ñ€Ð°Ð²Ð½Ð¾ Ñ‡Ð¸Ñ�Ð»Ñƒ Ñ‚ÐµÑ‚Ñ€Ð°Ð´ Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ñ€Ð°Ð½ÐµÐµ lop_stab (%ld)
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_quote Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ YZ = 1, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ YZ = %d
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_fixrx Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ y = 0, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ y = %d
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_fixo Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 1 Ð¸Ð»Ð¸ z = 2, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_loc Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 1 Ð¸Ð»Ð¸ z = 2, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_fixrx Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 16 Ð¸Ð»Ð¸ z = 24, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¿Ð¾Ð»Ñ� y Ð¸ z Ð² lop_stab Ð½Ðµ Ñ€Ð°Ð²Ð½Ñ‹ Ð½ÑƒÐ»ÑŽ, y: %d, z: %d
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¸Ð¼Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° %d Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½Ð¾ Ð¿ÐµÑ€ÐµÐ´ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð° %d Â«%sÂ» Ð±Ñ‹Ð» ÑƒÐ¶Ðµ Ð²Ð²ÐµÐ´Ñ‘Ð½ ÐºÐ°Ðº Â«%sÂ»
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� $255 Ð½Ðµ Ñ€Ð°Ð²Ð½Ð¾ Â«MainÂ»
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_fixrx Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð±Ð°Ð¹Ñ‚ Ñ�Ð»Ð¾Ð²Ð° Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ‹Ñ‚ÑŒ Ñ€Ð°Ð²ÐµÐ½ 0 Ð¸Ð»Ð¸ 1, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ %d
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: lop_end Ð½Ðµ Ð¿Ð¾Ñ�Ð»ÐµÐ´Ð½Ð¸Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð² Ñ„Ð°Ð¹Ð»Ðµ
+%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ lopcode Â«%dÂ»
+%B: Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð¿Ð¾Ð»Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð³Ñ€ÑƒÐ¿Ð¿: %#Lx%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ».%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ».%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð´Ð»Ñ� Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð² Ð´Ð»Ð¸Ð½Ñ‹ %Ld: %#Lx%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ %u >= %Lu Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»
+%B: Ñ‚Ð¾Ñ‡ÐºÐ° Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð° Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð°Ð»ÐµÐºÐ¾
+%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñ�Ñ‚Ñ€Ð¾Ðº: 0x%lx > 0xffff%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° 32-Ð±Ð¸Ñ‚Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° Ñ� 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼ ÐºÐ¾Ð´Ð¾Ð¼%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼Ð¸ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%B: UltraSPARC-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ð¸Ñ‡Ð½Ð°Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ� HAL-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ð¸Ñ‡Ð½Ñ‹Ð¼ ÐºÐ¾Ð´Ð¾Ð¼%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° auto-pic Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð½Ðµ-auto-pic Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚ Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° constant-gp Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð½Ðµ-constant-gp Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð², Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ� 16-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ†ÐµÐ»Ñ‹Ñ… (-mshort), Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ� 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ†ÐµÐ»Ñ‹Ñ…%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð², Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ� 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… double (-fshort-double), Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ� 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… double%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð², Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ� HCS12, Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ� HC12%B: Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚ Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð½Ðµ-pic ÐºÐ¾Ð´Ð° Ð² Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° trap-on-NULL-dereference Ñ� Ð½Ðµ-trapping Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ° Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %A, Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð¼ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ° Ð² Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%sÂ»%B: Ð½Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð· %B Ñ�Ñ�Ñ‹Ð»Ð°ÑŽÑ‚Ñ�Ñ� Ð¸Ð· DSO%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ Ñ€Ð°Ñ�Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ð¹ XTY_LD Â«%sÂ»%B: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ TLS-Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð´Ð»Ñ� Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ».%B: Ð½ÐµÑ‚ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ð³Ñ€ÑƒÐ¿Ð¿Ðµ Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ»%B:Ð½ÐµÑ‚ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²; Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ€Ð°Ð²Ð½Ð° 0
+%B: Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸%B: Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ñ… Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² Ð³Ñ€ÑƒÐ¿Ð¿%B: Ð½Ðµ-pic ÐºÐ¾Ð´ Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ imm Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B: Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (%#Lx) Ð´Ð»Ñ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ», Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ð² Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ Ð½ÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²%B: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ Ð´Ð»Ñ� Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� Ð¼ÐµÑ�Ñ‚Ð° Ð´Ð»Ñ� %#Lx Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ %#Lx%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¸Ð¼ÐµÑŽÑ‰Ð¸Ð¼Ñ�Ñ� Ñƒ Ñ�Ñ‚Ð¾Ð¹ Ñ†ÐµÐ»Ð¸ %B%B: Ð½Ðµ Ñ…Ð²Ð°Ñ‚Ð°ÐµÑ‚ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ Ð´Ð»Ñ� Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ� Ð¸Ð¼ÐµÐ½Ð¸ Ð¿ÑƒÑ�Ñ‚Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°%B: Ð½Ðµ Ñ…Ð²Ð°Ñ‚Ð¸Ð»Ð¾ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ Ð² _bfd_elf_get_property%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ñ‹ (0x%x)%B: pc-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: pc-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ�Ð»Ð°Ð±Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° lto Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð¼Ð¾Ð´ÑƒÐ»ÑŒ%B: Ð²ÐµÑ€Ð¾Ñ�Ñ‚Ð½Ð¾, ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñ�Ñ†Ð¸Ñ� Ð±ÐµÐ· -fPIC?%B: Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½%B: Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½ÐµÑ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: %s Ð² %A%B: Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½ÐµÑ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: (Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾) Ð² %A%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s:%Ld Ð½Ðµ Ð² csect%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿Ð¾ Ð½ÐµÑ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÑŽÑ‰ÐµÐ¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¸Ð½Ð´ÐµÐºÑ�Ñƒ: %ld%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð¸Ð· %s Ð² %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� %s%sÂ«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ %s%s%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð²Ð¼ÐµÑ�Ñ‚Ðµ Ñ� STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ: %Ld%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð²Ð¼ÐµÑ�Ñ‚Ðµ Ñ� STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ» Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� %s%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ð¸Ð»Ð¸ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ %s; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð² Ñ€ÐµÐ¶Ð¸Ð¼Ðµ x32%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Â«%sÂ», ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð¿Ñ€Ð¸Ð²Ñ�Ð·Ð°Ð½ Ð¸Ð·Ð²Ð½Ðµ, Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC%B: Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_386_GOTOFF Ð´Ð»Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð¾Ð¹ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_386_GOTOFF Ð´Ð»Ñ� Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_X86_64_GOTOFF64 Ð´Ð»Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð¾Ð³Ð¾ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_X86_64_GOTOFF64 Ð´Ð»Ñ� Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ Â«%A+%#LxÂ» Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ», Ð½Ð¾ Ð¾Ð½ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾%B: lma %#Lx Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð¿Ð¾Ð´Ð¾Ð³Ð½Ð°Ð½Ð¾ Ðº %#Lx%B: Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ñ‚Ñ€Ð¾Ðº Ð¿Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ %ld%B: Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ñ€Ð°Ñ�Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ %d%B: Ð½Ð¾Ð¼ÐµÑ€ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² %u Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ sh_link [%d] Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»%B: sh_link Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð¾Ñ‚Ð±Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð· Â«%BÂ»%B: sh_link Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð· Â«%BÂ»%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° Ð´Ð°Ð½Ð½Ñ‹Ñ… (%#Lx >= 0x400000)%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¿Ð¾Ð»Ñ� Ñ€Ð°Ð²ÐµÐ½ Ð½ÑƒÐ»ÑŽ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Import Library Format%B: Ð´Ð¾Ð³Ð°Ð´ÐºÐ° Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: ÑƒÐºÐ°Ð·Ð°Ð½ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ñ‚ÐµÐºÐ° Ð¸ ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½ %s%B: Ñ�Ñ‚Ñ€Ð¾ÐºÐ° Ð½Ðµ Ð·Ð°ÐºÐ°Ð½Ñ‡Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð½ÑƒÐ»Ñ‘Ð¼ Ð² Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ ILF.%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð»Ð¸Ð½Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° (%ld Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð², Ð¼Ð°ÐºÑ�. 65535)%B: Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ñ… Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð°%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ csect: %d%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ smclas %d%B: Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ», Ð½Ð¾ Ð¾Ð½ Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚%B: Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ðµ Ð°Ð´Ñ€ÐµÑ�Ð° Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¾ Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸%B: Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ (%s) Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð² Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» (%s)%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²; Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ€Ð°Ð²Ð½Ð° %Ld%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² (%d)%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²: %u%B: tp-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ„Ð¸ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ð¹ Ð¿ÑƒÑ�Ñ‚Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ»%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[12], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$5%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[1], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$2%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[1], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$4%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[9], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ __tls_used%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$6%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$6%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ ARM-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ STM32L4XX Â«%sÂ»%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ THUMB-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ VFP11 Â«%sÂ»%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¸Ð¼Ñ� Ð¿ÑƒÑ�Ñ‚Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ Ñ€Ð°Ñ�Ð¶Ð°Ñ‚Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %A%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ�Ð¾Ñ�Ñ‚Ð¾Ñ�Ð½Ð¸Ðµ Ñ�Ð¶Ð°Ñ‚Ð¸Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ�Ð¾Ñ�Ñ‚Ð¾Ñ�Ð½Ð¸Ðµ Ñ€Ð°Ð·Ð¶Ð°Ñ‚Ð¸Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ Ð¸Ð¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° COMDAT%B: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»%B: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ .opd%B: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¿Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ R_PPC64_TOCSAVE%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ ATN-Ñ‚Ð¸Ð¿ %Ld Ð²Ð¾ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ Ñ‡Ð°Ñ�Ñ‚Ð¸%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð²ÐµÑ€Ñ�Ð¸Ð¾Ð½Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %u Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ .opd%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ð¾Ñ�Ð»Ðµ ATN%B: Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð¾Ðµ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� %s%B: Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾ %s
+%B: Ð½ÐµÑ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½Ð°Ñ� ATI-Ð·Ð°Ð¿Ð¸Ñ�ÑŒ %u Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %u%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ %#x%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %d%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ [%#x] Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ [%#x] Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ» Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ [%A]%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹/Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Alpha: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� CR16: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� CRX: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� I370: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MCore: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MN10300: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MicroBlaze: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� PPC: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� PicoJava: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� SH: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� SPU: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� VAX: %d%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%#x) Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ„Ð»Ð°Ð³Ð¾Ð² 0x%x%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ð½Ðµ PIC Ð²Ñ‹Ð·Ð¾Ð² IFUNC Â«%sÂ»%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %i
+%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%02x%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: ALPHA_R_GPRELHIGH%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: ALPHA_R_GPRELLOW%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ� Ð¿Ð¾Ñ�Ð»ÐµÐ´Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñ�Ñ‚ÑŒ ÑˆÐ¸Ñ€Ð¾ÐºÐ¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² 0x%02X 0x%02X Ð¿Ð¾Ñ�Ð»Ðµ Ð¸Ð¼ÐµÐ½Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ� Ñ� Â«%sÂ»
+%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ %s, Ñ…Ð¾Ñ‚Ñ� Ð² Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð»Ð¸Ñ�ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ %s%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ñ� Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð¾Ð¼ _, Ð½Ð¾ Ð² Ñ„Ð°Ð¹Ð» Ð·Ð°Ð¿Ð¸Ñ�Ñ‹Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð¾Ð²%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð¿Ð¾Ð»Ñ� e_flags (%#x), Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÑŽÑ‰Ð¸ÐµÑ�Ñ� Ð¾Ñ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð² Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (%#x)%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ðµ Ð¿Ð¾Ð»Ñ� e_flags (%#x), Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÑŽÑ‰Ð¸ÐµÑ�Ñ� Ð¾Ñ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð² Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (%#x)%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸, Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ñ‹Ðµ Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ�Ð¼Ð¸, Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð²ÑˆÐ¸Ð¼Ð¸Ñ�Ñ� Ð² Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ…%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð° _, Ð½Ð¾ Ð² Ñ„Ð°Ð¹Ð» Ð·Ð°Ð¿Ð¸Ñ�Ñ‹Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ñ� Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð¾Ð¼ _%B: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð²ÐµÑ€Ñ�Ð¸Ð¸ (%Ld) Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ�Ð¾ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸ÐºÐ¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (%Ld)%B: Ð²ÐµÑ€Ñ�Ð¸Ñ� ÑƒÐ·Ð»Ð° Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s%B: Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ð°Ñ�ÑŒ Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ñ�Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ».%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ„Ð°Ð¹Ð» core ÑƒÑ�ÐµÑ‡Ñ‘Ð½%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸: %#x > 0xffff%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ðº %#Lx Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸: 0x%lx > 0xffff%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² COMDAT Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ð¿ÑƒÑ�Ñ‚Ð¾Ð¹ Ð·Ð°Ð³Ñ€ÑƒÐ¶Ð°ÐµÐ¼Ñ‹Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð¿Ð¾ vaddr=%#Lx, Ñ�Ñ‚Ð¾ Ñ‚Ð°Ðº Ð·Ð°Ð´ÑƒÐ¼Ñ‹Ð²Ð°Ð»Ð¾Ñ�ÑŒ?%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚ Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸.%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ GOT Ð¸Ð· %Ld Ðº Â«%sÂ» Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ GOT Ð¸Ð· %Ld%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ñ‹Ðµ Ð²ÐµÑ€Ñ�Ð¸Ð¸ elf %s Ð¸ %s.%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÑ�Ð¾Ð³Ð»Ð°Ñ�Ð¾Ð²Ð°Ð½Ð½Ð¾Ñ�Ñ‚ÑŒ ASE Ð¼ÐµÐ¶Ð´Ñƒ e_flags Ð¸ .MIPS.abiflags%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÑ�Ð¾Ð³Ð»Ð°Ñ�Ð¾Ð²Ð°Ð½Ð½Ð¾Ñ�Ñ‚ÑŒ FP ABI Ð¼ÐµÐ¶Ð´Ñƒ .gnu.attributes Ð¸ .MIPS.abiflags%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÑ�Ð¾Ð³Ð»Ð°Ñ�Ð¾Ð²Ð°Ð½Ð½Ð¾Ñ�Ñ‚ÑŒ ISA Ð¼ÐµÐ¶Ð´Ñƒ e_flags Ð¸ .MIPS.abiflags%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÑ�Ð¾Ð³Ð»Ð°Ñ�Ð¾Ð²Ð°Ð½Ð½Ð¾Ñ�Ñ‚ÑŒ Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ð¹ ISA Ð¼ÐµÐ¶Ð´Ñƒ e_flags Ð¸ .MIPS.abiflags%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð° Ñ�Ñ‚Ð°Ñ€Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°, Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð².%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ PLT Ð¸Ð· %Ld Ðº Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ñ‹Ð¹ Ñ„Ð»Ð°Ð³ Ð² Ð¿Ð¾Ð»Ðµ flags2 Ñƒ .MIPS.abiflags (0x%lx)%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ñ�Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð½Ðµ Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ðµ%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ R_NDS32_25_ABS_RELA Ð² Ð¾Ð±Ñ‰ÐµÐ¼ Ñ€ÐµÐ¶Ð¸Ð¼Ðµ.%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÑƒÑ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ðµ Ð¸Ð¼ÐµÑ‚ÑŒ 0xffff Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹, Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ�%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð°Ñ�Ñ�Ñ� Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ� Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ� Â«%sÂ»%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %d Ð² Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %ld Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ñ…%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� 0x%lx Ð² Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ %d%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: isymMax (%ld) Ð±Ð¾Ð»ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ ifdMax (%ld)%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð° Ñ�Ñ‚Ñ€Ð¾Ðº (%#lx) Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° (%#lx)%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñƒ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñ�ÐµÑ‚Ñ�Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° PIC-Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð½Ðµ-PIC Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² abicalls Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð½Ðµ-abicalls%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ðµ Ð² Ð·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ð¾Ñ�Ñ‚Ñ�Ñ… Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð° Ð¿ÑƒÑ�Ñ‚Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² â€” Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %u%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð° Ð¿ÑƒÑ�Ñ‚Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² â€” Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %u%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ SDA_BASE.%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° %#Lx Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð²ÐµÐ»Ð¸ÐºÐ¾%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¹ Ð¾Ð±Ñ…Ð¾Ð´ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ STM32L4XX Ð½Ðµ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¹ Ð¾Ð±Ñ…Ð¾Ð´ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ VFP11 Ð½Ðµ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ Ð·Ð°Ð´Ð°Ð½ sh_link Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ»%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ� Ð´Ð»Ñ� mmo, Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ‡ÐµÐ¼ 65535 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ�Ð»Ð¾Ð²: %d. Ð‘ÑƒÐ´ÐµÑ‚ Ð²Ñ‹Ð´Ð°Ð½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Â«MainÂ».
+%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ðº Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ñƒ GOT.%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ðº Ð¼Ð°Ð»Ñ‹Ð¼ Ð´Ð°Ð½Ð½Ñ‹Ð¼ Ð´Ð»Ñ� Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð°: {%Ld, %Ld, %Ld}, Ð°Ð´Ñ€ÐµÑ� = %#Lx, Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ = %#x%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %d%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ TLS Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ� Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚ Ñ€ÐµÑˆÐµÐ½Ð¾%B:%A%s Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¾Ð²ÐµÑ€Ð»ÐµÑ�
+%B:%A: %s Ð¸ %s Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð±Ñ‹Ñ‚ÑŒ Ð² Ð¾Ð´Ð½Ð¾Ð¼ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ%B:%A: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ²ÑˆÐµÐµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Red Hat %B:%A: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð±Ñ‹Ð» ÑƒÐ´Ð°Ð»Ñ‘Ð½ Ñ�Ð±Ð¾Ñ€Ñ‰Ð¸ÐºÐ¾Ð¼ Ð¼ÑƒÑ�Ð¾Ñ€Ð°.%B:%A: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ñ‹Ð¼ --gc-keep-exported.%B:%A: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° %s, Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÑŽÑ‰Ð°Ñ� %s%B:%A: Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ %s Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½ Ð² Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ðµ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð°%B:%A: Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ %s Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹%B:%d: Ð�ÐµÐ²ÐµÑ€Ð½Ð°Ñ� ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ� Ñ�ÑƒÐ¼Ð¼Ð° Ð² Ñ„Ð°Ð¹Ð»Ðµ S-record
 %B:%d: Ð�ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² Ñ„Ð°Ð¹Ð»Ðµ S-record
-%B:%d: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ� Ñ�ÑƒÐ¼Ð¼Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ (Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ‹Ñ‚ÑŒ %u, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð° %u)%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ñ€Ñ�Ð¼Ð¾Ð»Ð¸Ð½ÐµÐ¹Ð½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ñ€Ñ�Ð¼Ð¾Ð»Ð¸Ð½ÐµÐ¹Ð½Ð¾Ð³Ð¾ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%B:%u: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ ihex-Ñ‚Ð¸Ð¿ %u Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%C: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ Â«%sÂ» Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°
+%B:%d: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð±Ð°Ð¹Ñ‚ %d Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»
+%B:%d: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%B:%s Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� TLS%B:%s Ñ€Ð°Ð·Ð´ÐµÐ» %s: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ 2**%u Ð½Ðµ Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ð¼Ð¾%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ� Ñ�ÑƒÐ¼Ð¼Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ (Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ‹Ñ‚ÑŒ %u, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð° %u)%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ñ€Ñ�Ð¼Ð¾Ð»Ð¸Ð½ÐµÐ¹Ð½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ñ€Ñ�Ð¼Ð¾Ð»Ð¸Ð½ÐµÐ¹Ð½Ð¾Ð³Ð¾ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%B:%u: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ ihex-Ñ‚Ð¸Ð¿ %u Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ%C: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ Â«%sÂ» Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°
+%F%A: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ñ€Ð¾Ð²Ð½Ñ�Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ»
+%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ PC Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ GOT PLT Ð´Ð»Ñ� Â«%sÂ»
+%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ PC Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ PLT Ð´Ð»Ñ� Â«%sÂ»
+%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð²ÐµÑ‚Ð²Ð¸ Ð¿ÐµÑ€ÐµÑ�Ñ‚Ð°Ð½Ð¾Ð²ÐºÐ¸ Ð² Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ PLT Ð´Ð»Ñ� Â«%sÂ»
 %F%P: already_linked_table: %E
+%F%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ð¾Ð²ÐµÑ€Ð»ÐµÑ�: %E
+%F%P: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð±Ñ€Ð°Ñ‚ÑŒ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð¾Ð²ÐµÑ€Ð»ÐµÑ�: %E
+%F%P: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ð²Ð²Ð¾Ð´: %B
 %F%P: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ� Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¼ Ð² Â«%BÂ» Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -fPIE Ð¸ Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -pie
+%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GOTPCREL; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ¹Ñ‚Ðµ Ñ� --no-relax
+%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» BND PLT
+%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Ñ�Ð²Ð¾Ð¹Ñ�Ñ‚Ð² GNU
+%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» GOT PLT .eh_frame
+%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» GOT PLT
+%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹ GOT
+%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» PLT Ñ� Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ñ‹Ð¼ IBT
+%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» PLT .eh_frame
+%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹ VxWorks
+%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹ ifunc
+%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ð²Ñ‚Ð¾Ñ€Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» PLT .eh_frame
 %H __tls_get_addr Ð±ÐµÐ· Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð°, Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ� TLS Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°
 %H Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ lost __tls_get_addr, Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ� TLS Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°
+%H: %s Ð´Ð»Ñ� Â«%TÂ»: Ð¾ÑˆÐ¸Ð±ÐºÐ° %d
+%H: %s Ð´Ð»Ñ� Ð½ÐµÑ�Ð²Ð½Ð¾Ð³Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%TÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�
+%H: %s Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ð¹ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ TOC
+%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Â«%sÂ»: Ð¾ÑˆÐ¸Ð±ÐºÐ° %d
+%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°
+%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð² Ð¾Ð±Ñ‰Ð¸Ñ… Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ°Ñ… Ð¸ PIE.
+%H: %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%TÂ»
+%H: %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð½Ðµ TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%TÂ»
 %H: R_FRV_FUNCDESC ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼
 %H: R_FRV_FUNCDESC_VALUE ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼
 %H: R_FRV_GETTLSOFF Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ call
@@ -869,93 +1091,85 @@ Plural-Forms:  nplurals=3; plural=(n%10=
 %H: R_FRV_TLSDESC_RELAX Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ ldd
 %H: R_FRV_TLSMOFFHI Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ sethi
 %H: R_FRV_TLSOFF_RELAX Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ ld
+%H: Ð²Ñ‹Ð·Ð¾Ð² Â«%TÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½Ðµ nop, Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ð¾Ñ�Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ toc; (-mcmodel=small Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð¸Ñ�Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ� toc)
+%H: Ð²Ñ‹Ð·Ð¾Ð² Â«%TÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½Ðµ nop, Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ð¾Ñ�Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ toc; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC
 %H: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�
 %H: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�
+%H: Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s Ð² Â«%sÂ» Ð½Ðµ ÐºÑ€Ð°Ñ‚Ð½Ð¾ %u
+%H: Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s Ð½Ðµ ÐºÑ€Ð°Ñ‚Ð½Ð¾ %u
+%H: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð²ÐµÑ‚Ð²Ð¸ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹
+%H: Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸ %s Ð´Ð»Ñ� Â«%sÂ»
 %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ Â«%sÂ» Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°
 %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Â«%sÂ»: %s
+%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð½ÐµÑ�Ð²Ð½Ð¾Ð³Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�
 %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² Ð¼Ð¾Ð´ÑƒÐ»Ðµ
 %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Â«%s+%vÂ» Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð²Ñ‹Ð·Ð²Ð°Ð½Ð¾ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹
+%H: Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ� toc Ð½Ðµ Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸.
+%H: Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%TÂ»
+%H: Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»
+%H: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %s Ð½Ðµ Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ insn %#x.
 %P%F: --relax Ð¸ -r Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð²Ð¼ÐµÑ�Ñ‚Ðµ
 %P%X: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹: %E
+%P%X: Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ðµ, Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð¼ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�, Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‚Ñ�Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� IFUNC; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC
 %P%X: Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ðµ, Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð¼ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�, Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‚Ñ�Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�.
+%P: %B .opd Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð¾ Ð² ABI Ð²ÐµÑ€Ñ�Ð¸Ð¸ %d
+%P: %B: %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Â«%TÂ»
 %P: %B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s
-%P: %B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s
 %P: %B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¿Ð¾ÐºÐ° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s
 %P: %B: Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ (%s) Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð² Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» (%s)
 %P: %B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�
+%P: %B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð´Ð»Ñ� Â«%TÂ»
 %P: %B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s
-%P: %B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ».
-P: %B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ».
-%P: %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Â«%sÂ»: Ð¾ÑˆÐ¸Ð±ÐºÐ° %d
-%P: %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°
-%P: %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ð¹ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ TOC
-%P: %H: %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s
-%P: %H: %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð½Ðµ-TLS Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s
-%P: %H: Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¼Ð½Ð¾Ð¶ÐµÑ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ TOC Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ‡ÐµÑ€ÐµÐ· Ð²Ð°ÑˆÐ¸ Ñ„Ð°Ð¹Ð»Ñ‹ crt; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mminimal-toc Ð¸Ð»Ð¸ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚Ðµ gcc
-%P: %H: Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s Ð½Ðµ ÐºÑ€Ð°Ñ‚Ð½Ð¾ %u
-%P: %H: Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸ %s Ð´Ð»Ñ� Â«%sÂ»
-%P:  %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð½ÐµÑ�Ð²Ð½Ð¾Ð³Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�
-%P: %H: Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ� Ð¾Ð´Ð½Ð¾ÑƒÑ€Ð¾Ð²Ð½ÐµÐ²Ñ‹Ñ… Ð²Ñ‹Ð·Ð¾Ð²Ð¾Ð² Ðº Â«%sÂ» Ð½Ðµ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñ�ÐµÑ‚ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¼Ð½Ð¾Ð¶ÐµÑ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ TOC; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mminimal-toc Ð¸Ð»Ð¸ -fno-optimize-sibling-calls, Ð¸Ð»Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð¹Ñ‚Ðµ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¹ Â«%sÂ»
-%P: %H: Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»
+%P: %B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ»
+%P: %B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ»
 %P: %s Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¾ Ð² ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐµ, Ñ�Ð¾Ð·Ð´Ð°Ð½Ð½Ð¾Ð¼ %s
-%P: Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐµ Ð´Ð»Ñ� ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� sdata4 Ð² .eh_frame%P: DW_EH_PE_datarel Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð´Ð»Ñ� Ñ�Ñ‚Ð¾Ð¹ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹.
+%P: Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐµ Ð´Ð»Ñ� ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� sdata4 Ð² .eh_frame%P: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° .eh_frame_hdr.
+%P: .eh_frame_hdr Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‰Ð¸ÐµÑ�Ñ� FDE.
+%P: DW_EH_PE_datarel Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð´Ð»Ñ� Ñ�Ñ‚Ð¾Ð¹ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹.
+%P: Ð¸Ð·-Ð·Ð° ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¸ FDE Ð² %B(%A) Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° .eh_frame_hdr Ñ�Ð¾Ð·Ð´Ð°Ð½Ð° Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚.
+%P: Ð² Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ¼ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ� Ð¾ Ð½Ðµ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ .eh_frame_hdr Ð¸Ð·-Ð·Ð° ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¸ FDE Ð±ÑƒÐ´ÑƒÑ‚ Ð¾Ñ‚Ð±Ñ€Ð°Ñ�Ñ‹Ð²Ð°Ñ‚ÑŒÑ�Ñ�.
 %P: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ñ‹Ð¹ ÐºÐ¾Ð´ ELF (%d) Ð² %B, Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚Ñ�Ñ� %d
 %P: bss-plt Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ð¸Ð·-Ð·Ð° Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ�
 %P: bss-plt Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ð¸Ð·-Ð·Ð° %B
 %P: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð±Ñ€Ð°Ñ‚ÑŒ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÑƒ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ� Â«%sÂ»
 %P: Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ� Â«%sÂ»
-%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ opd Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° toc Ð´Ð»Ñ� %s
-%P: ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Â«%sÂ» Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ Ð»ÐµÐ½Ð¸Ð²Ð¾Ð¹ plt-ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸; Ð½Ðµ Ð·Ð°Ð´Ð°Ð²Ð°Ð¹Ñ‚Ðµ LD_BIND_NOW=1 Ð¸Ð»Ð¸ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚Ðµ gcc
-%P: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ°Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€
+%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ opd Ñƒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° toc Ð´Ð»Ñ� Â«%TÂ»
+%P: ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Â«%TÂ» Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ Ð»ÐµÐ½Ð¸Ð²Ð¾Ð¹ plt-ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸; Ð½Ðµ Ð·Ð°Ð´Ð°Ð²Ð°Ð¹Ñ‚Ðµ LD_BIND_NOW=1 Ð¸Ð»Ð¸ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚Ðµ gcc
+%P: ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ð¼ Â«%TÂ» Ð¾Ð¿Ð°Ñ�Ð½Ð¾
 %P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² Ð²Ñ‹Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð¸Ð¸ dynreloc %B, Ñ€Ð°Ð·Ð´ÐµÐ» %A
-%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² %B(%A); Ñ‚Ð°Ð±Ð»Ð¸Ñ† .eh_frame_hdr Ñ�Ð¾Ð·Ð´Ð°Ð½Ð° Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚.
-%P: Ð¸Ð·-Ð·Ð° ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¸ fde Ð² %B(%A) Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° .eh_frame_hdr Ñ�Ð¾Ð·Ð´Ð°Ð½Ð° Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚.
-%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ Ð´Ð»Ñ� Â«%sÂ»
+%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² %B(%A); Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° .eh_frame_hdr Ñ�Ð¾Ð·Ð´Ð°Ð½Ð° Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚.
+%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ Ð´Ð»Ñ� Â«%TÂ»
 %P: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð´Ð»Ð¸Ð½Ð½Ð¾Ð³Ð¾ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ� Â«%sÂ»
 %P: Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ñ‚Ð¾Ñ‡ÐµÐº Ð²Ñ…Ð¾Ð´Ð°: Ð² Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… %B Ð¸ %B
 %P: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�
 %P: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð½Ðµ Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÑŽÑ‚ Ð²Ñ‹Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ð¾Ð¼Ñƒ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ
+%P: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ st_other Ð´Ð»Ñ� ABI Ð²ÐµÑ€Ñ�Ð¸Ð¸ 1
+%P: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: --plt-localentry Ð¾Ñ�Ð¾Ð±ÐµÐ½Ð½Ð¾ Ð¾Ð¿Ð°Ñ�Ð½Ð¾ Ð±ÐµÐ· Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ Ð² ld.so Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ� Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ð¹ ABI.
 %P: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð·Ð´Ð°Ñ‘Ñ‚Ñ�Ñ� DT_TEXTREL Ð² Ð¾Ð±Ñ‰ÐµÐ¼ Ð¾Ð±ÑŠÐµÐºÑ‚Ðµ.
+%P: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚ÐµÐºÑ�Ñ‚Ð¾Ð²Ñ‹Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¸ Ð½ÐµÑ�Ð²Ð½Ñ‹Ðµ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ GNU Ð¼Ð¾Ð³ÑƒÑ‚ Ð¿Ñ€Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ðº Ð¾ÑˆÐ¸Ð±ÐºÐµ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ� Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ�
 %X%C: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ Â«%sÂ» Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°
+%X%H: @local Ð²Ñ‹Ð·Ð¾Ð² ifunc %s
+%X%H: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ Ð¼ÐµÐ¶Ð´Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA Ð² JALX: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð·Ð° Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½
+%X%H: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ JALX Ð´Ð»Ñ� Ñ‚Ð¾Ð³Ð¾ Ð¶Ðµ Ñ€ÐµÐ¶Ð¸Ð¼Ð° ISA
+%X%H: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ Ð¼ÐµÐ¶Ð´Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA
+%X%H: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ð¿Ñ€Ñ‹Ð¶Ð¾Ðº Ð¼ÐµÐ¶Ð´Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA; Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ð¾Ð¹ ÑƒÐ²Ñ�Ð·ÐºÐ¾Ð¹
+%X%H: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ� bss-plt -fPIC ifunc %s
+%X%P: %B(%A): Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %V
+%X%P: %B(%A): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%RÂ» Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð·Ð° Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½
+%X%P: %B(%A): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%RÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�
+%X%P: %B(%A): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%RÂ» Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð¸Ð»Ð¾ Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ %x
 %X%P: Ñ€Ð°Ð·Ð´ÐµÐ» Ð¾Ð²ÐµÑ€Ð»ÐµÑ� %A Ð½Ðµ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚Ñ�Ñ� Ñ�Ð¾ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ ÐºÑ�ÑˆÐ°.
 %X%P: Ñ€Ð°Ð·Ð´ÐµÐ» Ð¾Ð²ÐµÑ€Ð»ÐµÑ� %A Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ ÐºÑ�ÑˆÐ°.
 %X%P: Ñ€Ð°Ð·Ð´ÐµÐ» Ð¾Ð²ÐµÑ€Ð»ÐµÑ� %A Ð½Ðµ Ð² Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ð¸ ÐºÑ�ÑˆÐ°.
 %X%P: Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹ Ð¾Ð²ÐµÑ€Ð»ÐµÐµÐ² %A Ð¸ %A Ð½Ðµ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÑŽÑ‚Ñ�Ñ� Ñ� Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð°.
+%X%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ð°Ð½Ð°Ð»Ð¸Ð·Ðµ Ñ�Ñ‚ÐµÐºÐ°/lrlive: %E
+%X%P:  Ñ‚ÐµÐºÑ�Ñ‚Ð¾Ð²Ñ‹Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¸ Ð½ÐµÑ�Ð²Ð½Ñ‹Ðµ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ GNU Ð¿Ñ€Ð¸Ð²ÐµÐ´ÑƒÑ‚ Ðº Ð¾ÑˆÐ¸Ð±ÐºÐµ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ� Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ�
 %XÂ«%sÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð² Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð· %B: Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð² Ð¾Ñ‚Ð±Ñ€Ð¾ÑˆÐµÐ½Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ» Ð¸Ð· %B
 %s Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð½Ð° ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð¼ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ toc%s Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÐµÑ‚Ñ�Ñ�
 %s Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÐµÑ‚Ñ�Ñ� Ð² %s
-%s Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ð¾Ð²ÐµÑ€Ð»ÐµÐµÐ²%s(%s): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %d Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %ld%s: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: 0x%lx > 0xffff%s: 0x%v 0x%v
-%s: Ð�ÐµÐ²ÐµÑ€Ð½Ð¾Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: Â«MainÂ» ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð° Ð² %s, Ð° Ð½Ðµ Ð² Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� %s
-%s: ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¼Ð½Ð¾Ð¶ÐµÑ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ñ� Â«%sÂ»; Ð½Ð°Ñ‡Ð°Ð»Ð¾ %s ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð² Ñ€Ð°Ð½ÐµÐµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ
-%s: Ð¾ÑˆÐ¸Ð±ÐºÐ° GAS: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ PTB insn Ñ� R_SH_PT_16%s: ÐžÑˆÐ¸Ð±ÐºÐ° Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ³Ð¾ Ð½ÐµÑ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²Ð¸Ñ� Ð´Ð»Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ�
- Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° Ð½Ð°Ð·Ð½Ð°Ñ‡Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ¾Ð¼: Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½: 0x%lx%08lx != Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½: 0x%lx%08lx
-%s: Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %d%s: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL: Ð ÐµÐ³Ð¸Ñ�Ñ‚Ñ€ $%ld Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð¼. ÐŸÐµÑ€Ð²Ñ‹Ð¹ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€: $%ld.%s: ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s%s: Ð�ÐµÑ‚ Ð¾Ñ�Ð½Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð´Ð»Ñ� Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ñ… %d Ð±Ð°Ð¹Ñ‚
-%s: Ð�ÐµÑ‚ Ð¾Ñ�Ð½Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð´Ð»Ñ� Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� Ð¸Ð¼ÐµÐ½Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s
-%s: TLS-Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%s: TLS-Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ñ�Ñ�Ñ‹Ð»ÐºÐ¾Ð¹ Ð² %B%s: TLS-Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð² %B Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%s: TLS-Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð² %B Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ñ�Ñ�Ñ‹Ð»ÐºÐ¾Ð¹ Ð² %B%s: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ TOC Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%x Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð±ÐµÐ· Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° TOC%s: Ð¦ÐµÐ»ÑŒ (%s) Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð² Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ (%s)%s: Ð¾Ð±Ñ‰Ð¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ XCOFF Ð±ÐµÐ· Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ� Ð²Ñ‹Ð²Ð¾Ð´Ð° XCOFF%s: __gp Ð½Ðµ Ð¿Ð¾ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð´Ð°Ð½Ð½Ñ‹Ñ…%s: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð·Ð° ÐºÐ¾Ð½ÐµÑ† Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° (%ld)%s: Ð°Ð´Ñ€ÐµÑ� 0x%s Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° Ð´Ð»Ñ� Intel Hex Ñ„Ð°Ð¹Ð»Ð°%s: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ð°-Ð¿Ð»ÑŽÑ�-Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: %s Ð² %s%s: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ð°-Ð¿Ð»ÑŽÑ�-Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: (Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾) Ð² %s%s: Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð² Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° a.out%s: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð² oasys%s: Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° a.out%s: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾ Ð´Ð»Ñ� Ð¸Ð¼ÐµÐ½Ð¸ Ñ„Ð°Ð¹Ð»Ð° Ðº Ñ„Ð°Ð¹Ð»Ñƒ Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d, %d Ð±Ð°Ð¹Ñ‚
-%s: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s%s: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ fdpic Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ Ð½Ðµ-fdpic%s: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ð½Ðµ-fdpic Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ fdpic%s: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚, Ð° %s 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹%s: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚, Ð° %s 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹%s: ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ� %s Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ñ� %s%s: ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ� %s Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð½Ðµ-pic Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�%s: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ðµ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ñ‹ .cranges%s: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ñ‹ .cranges%s: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¸Ð»Ð¸ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ñ‹Ð¼ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸ÐµÐ¼%s: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ Ð±ÐµÐ· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .loader%s: Ð²Ð¾ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼ÐµÑ‚ÐºÐ¸ Ð´Ð°Ð½Ð½Ñ‹Ñ…%s: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %08x Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %08x
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ð¸Ð¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»%s: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°, Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð² %s Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð´Ð°Ð½Ð½Ñ‹Ðµ
-%s: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°, Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ñ�Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ� %d Ñ�Ð»Ð¾Ð² Ð´Ð¾ %d
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: YZ Ð² lop_end (%ld) Ð½Ðµ Ñ€Ð°Ð²Ð½Ð¾ Ñ‡Ð¸Ñ�Ð»Ñƒ Ñ‚ÐµÑ‚Ñ€Ð°Ð´ Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ñ€Ð°Ð½ÐµÐµ lop_stab (%ld)
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ YZ = 1, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ YZ = %d Ð´Ð»Ñ� lop_quote
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ y = 0, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ y = %d Ð´Ð»Ñ� lop_fixrx
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 1 Ð¸Ð»Ð¸ z = 2, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d Ð´Ð»Ñ� lop_fixo
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 1 Ð¸Ð»Ð¸ z = 2, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d Ð´Ð»Ñ� lop_loc
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 16 Ð¸Ð»Ð¸ z = 24, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d Ð´Ð»Ñ� lop_fixrx
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¿Ð¾Ð»Ñ� y Ð¸ z Ð² lop_stab Ð½Ðµ Ñ€Ð°Ð²Ð½Ñ‹ Ð½ÑƒÐ»ÑŽ, y: %d, z: %d
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¸Ð¼Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° %d Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½Ð¾ Ð¿ÐµÑ€ÐµÐ´ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð° %d Â«%sÂ», Ð±Ñ‹Ð» ÑƒÐ¶Ðµ Ð²Ð²ÐµÐ´Ñ‘Ð½ ÐºÐ°Ðº Â«%sÂ»
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� $255 Ð½Ðµ Ñ€Ð°Ð²Ð½Ð¾ Â«MainÂ»
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð±Ð°Ð¹Ñ‚ Ñ�Ð»Ð¾Ð²Ð° Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ‹Ñ‚ÑŒ Ñ€Ð°Ð²ÐµÐ½ 0 Ð¸Ð»Ð¸ 1, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ %d Ð´Ð»Ñ� lop_fixrx
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: lop_end Ð½Ðµ Ð¿Ð¾Ñ�Ð»ÐµÐ´Ð½Ð¸Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð² Ñ„Ð°Ð¹Ð»Ðµ
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ lopcode Â«%dÂ»
-%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð´Ð»Ñ� Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð² Ð´Ð»Ð¸Ð½Ñ‹ %ld: 0x%lx%08lx
-%s: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»
-%s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº: 0x%lx > 0xffff%s:Ð½ÐµÑ‚ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²; Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ€Ð°Ð²Ð½Ð° 0
-%s: Ð½ÐµÑ‚ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°%s: Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾%s: Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�%s: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° Ð½Ðµ Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ�Ñ‚Ð¾Ð¹ Ñ†ÐµÐ»Ð¸ %s%s: Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½ÐµÑ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: %s Ð² %s%s: Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½ÐµÑ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: (Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾) Ð² %s%s: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð¸Ð· %s Ð² %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�%s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° Ð´Ð°Ð½Ð½Ñ‹Ñ… (0x%lx >= 0x400000)%s: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð»Ð¸Ð½Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° (%d Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð², Ð¼Ð°ÐºÑ�. 65535)%s: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²; Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ€Ð°Ð²Ð½Ð° %ld
-%s: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ�: %s%s: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d%s: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» (0x%x)%s: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%02x%s: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ� Ð¿Ð¾Ñ�Ð»ÐµÐ´Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñ�Ñ‚ÑŒ ÑˆÐ¸Ñ€Ð¾ÐºÐ¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² 0x%02X 0x%02X Ð¿Ð¾Ñ�Ð»Ðµ Ð¸Ð¼ÐµÐ½Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°, Ð½Ð°Ñ‡Ð¸Ð½Ð°ÑŽÑ‰ÐµÐ³Ð¾Ñ�Ñ� Ñ� Â«%sÂ»
-%s: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¸Ðµ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ e_flags (0x%lx) Ñ‡ÐµÐ¼ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ðµ Ð¼Ð¾Ð´ÑƒÐ»Ð¸ (0x%lx)%s: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¸Ðµ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ e_flags (0x%lx) Ñ‡ÐµÐ¼ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ðµ Ð¼Ð¾Ð´ÑƒÐ»Ð¸ (0x%lx)%s: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð²ÐµÑ€Ñ�Ð¸Ð¸ (%ld) Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ�Ð¾ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸ÐºÐ¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (%ld)%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ„Ð°Ð¹Ð» core ÑƒÑ�ÐµÑ‡Ñ‘Ð½%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ðº 0x%x Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸: 0x%lx > 0xffff%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ GOT Ð¸Ð· %ld Ðº Â«%sÂ» Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ GOT Ð¸Ð· %ld%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ PLT Ð¸Ð· %d Ðº Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ñ… Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %ld%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ� Ð´Ð»Ñ� mmo, Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ‡ÐµÐ¼ 65535 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ�Ð»Ð¾Ð²: %d. Ð‘ÑƒÐ´ÐµÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Â«MainÂ».
-(Ð¿Ð¾ Ð±Ð¸Ñ‚Ð¾Ð²Ð¾Ð¼Ñƒ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ %u)
+%s Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� TLS%s Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ð¾Ð²ÐµÑ€Ð»ÐµÐµÐ²%s: TLS-Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%s: TLS-Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ñ�Ñ�Ñ‹Ð»ÐºÐ¾Ð¹ Ð² %B%s: TLS-Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð² %B Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A%s: TLS-Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð² %B Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ñ�Ñ�Ñ‹Ð»ÐºÐ¾Ð¹ Ð² %B%s: Ð½ÐµÑ‚ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°%s: Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾%s: Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�%s: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ�: %s(Ð¿Ð¾ Ð±Ð¸Ñ‚Ð¾Ð²Ð¾Ð¼Ñƒ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ %u)
 (Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€)
+(Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ %c%c%c%c Ð¿Ð¾Ð´Ð¿Ð¸Ñ�ÑŒ %s Ð²Ð¾Ð·Ñ€Ð°Ñ�Ñ‚ %ld)
 (Ð½ÐµÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ�)
 (Ð½Ðµ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾)
 (Ð½Ðµ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¾)
@@ -964,43 +1178,59 @@ Plural-Forms:  nplurals=3; plural=(n%10=
 )
 *** Ð¿Ñ€Ð¾Ð²ÐµÑ€ÑŒÑ‚Ðµ Ñ�Ñ‚Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s*Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð¾*
 *Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹* Ñ‚Ð¸Ð¿ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ� %u
-*Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾**Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾*        , Ð¿Ñ�ÐµÐ²Ð´Ð¾Ð½Ð¸Ð¼: %u
+*Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾**Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾*        , Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ: %#08lx
+, Ð¿Ñ�ÐµÐ²Ð´Ð¾Ð½Ð¸Ð¼: %u
 , ext fixup offset: %u, no_opt psect off: %u, Ð¿Ð¾Ð´Ñ‚Ð¸Ð¿: %u (%s)
-, Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð²ÐµÐºÑ‚Ð¾Ñ€ rva: Ñ€Ð°Ð·Ð´ÐµÐ» .got Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ñ�Ñ‚Ð¾Ñ�Ñ‚ÑŒ Ñ�Ñ€Ð°Ð·Ñƒ Ð¿Ð¾Ñ�Ð»Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .plt32-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ double, Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ 32â€”Ð±Ð¸Ñ‚Ð½Ð¾Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ64 Ð±Ð¸Ñ‚Ð° *Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð¾*
-64-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ double, : %u.%u
-: Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ m32r: Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ m32r2: Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ m32rx; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -fPIC<Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð°Ð±Ð¾Ñ€ Ð±Ð¸Ñ‚Ð¾Ð² Ñ„Ð»Ð°Ð³Ð°><Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾>Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @pltoff Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð�Ñ€Ñ…Ð¸Ð² Ð±ÐµÐ· Ð¸Ð½Ð´ÐµÐºÑ�Ð°; Ð·Ð°Ð¿ÑƒÑ�Ðº ranlib Ð´Ð»Ñ� Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ�Ð�Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ð² Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÐµÐŸÐ¾Ð¿Ñ‹Ñ‚ÐºÐ° Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ� L32R/CALLX Ð² CALL Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð°Ñ�ÑŒ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾ÐŸÐ¾Ð¿Ñ‹Ñ‚ÐºÐ° Ñ�Ð´ÐµÐ»Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»ÐºÑƒ Ñ� Ð²Ñ…Ð¾Ð´Ð¾Ð¼ %s Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ð¾Ð¼ %sBASE_IMAGE       ÐžÐ¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ� BFD %s Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶Ð¸Ð» Ð¾ÑˆÐ¸Ð±ÐºÑƒ %s:%dÐ’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° BFD %s, Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð² Ð½Ð° %s, Ñ�Ñ‚Ñ€Ð¾ÐºÐ° %d
-Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° BFD %s, Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð² Ð½Ð° %s, Ñ�Ñ‚Ñ€Ð¾ÐºÐ° %d Ð² %s
+, Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð²ÐµÐºÑ‚Ð¾Ñ€ rva: - %B Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼, Ð° %B Ð½ÐµÑ‚-mips32r2 -mfp64 (12 Ñ�Ð¾Ñ…Ñ€Ð°Ð½Ñ�ÑŽÑ‚Ñ�Ñ� Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÐ¼Ñ‹Ð¼)Ñ€Ð°Ð·Ð´ÐµÐ» .got Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ñ�Ñ‚Ð¾Ñ�Ñ‚ÑŒ Ñ�Ñ€Ð°Ð·Ñƒ Ð¿Ð¾Ñ�Ð»Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .pltÐ¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð»Ð¸Ñ�Ñ‚Ð¾Ð¼Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ð²ÐµÑ€Ñ�Ð¸Ð¸ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð² Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÑŽÑ‚Ñ�Ñ�
+Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¸ Ñ� Ñ€Ð°Ð·Ð½Ñ‹Ð¼ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñ�Ñ‚Ð¸ÐºÐ°Ð¼Ð¸
+Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ð»Ð¸Ñ�Ñ‚Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ð»Ð¸Ñ�Ñ‚: %sÐ¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° Ñ€ÐµÑ�ÑƒÑ€Ñ�Ð°: %dÐ¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ð¼Ð°Ð½Ð¸Ñ„ÐµÑ�Ñ‚Ð¾Ð² Ð½Ðµ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ32-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ double, Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ 32â€”Ð±Ð¸Ñ‚Ð½Ð¾Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ðµ4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ðµ64 Ð±Ð¸Ñ‚Ð° *Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð¾*
+64-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ double, 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ðµ8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ðµ: Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ m32r: Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ m32r2: Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ m32rx: Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ n1: Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ n1h; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -fPIC<Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð°Ð±Ð¾Ñ€ Ð±Ð¸Ñ‚Ð¾Ð² Ñ„Ð»Ð°Ð³Ð°><Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ� Ð¾ Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ð¸> %s<Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð° Ð´Ð»Ð¸Ð½Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸: %#x>
+<Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸: %#lx>
+<Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¾><Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°: %d>
+<Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾>Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @pltoff Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð�Ñ€Ñ…Ð¸Ð² Ð±ÐµÐ· Ð¸Ð½Ð´ÐµÐºÑ�Ð°; Ð·Ð°Ð¿ÑƒÑ�Ðº ranlib Ð´Ð»Ñ� Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ�Ð�Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ð² Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÐµÐŸÐ¾Ð¿Ñ‹Ñ‚ÐºÐ° Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ� L32R/CALLX Ð² CALL Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð°Ñ�ÑŒ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾ÐŸÐ¾Ð¿Ñ‹Ñ‚ÐºÐ° Ñ�Ð´ÐµÐ»Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»ÐºÑƒ Ñ� Ð²Ñ…Ð¾Ð´Ð¾Ð¼ %s Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ð¾Ð¼ %sBASE_IMAGE       ÐžÐ¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ� BFD %s Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶Ð¸Ð» Ð¾ÑˆÐ¸Ð±ÐºÑƒ %s:%dÐ’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° BFD %s, Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð² Ð½Ð° %s:%d
+Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° BFD %s, Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð² Ð½Ð° %s:%d Ð² %s
 ÐžÑˆÐ¸Ð±ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ BFD: Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ (PC rel16) Ð² Ñ€Ð°Ð·Ð´ÐµÐ» (%s) Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�ÐžÑˆÐ¸Ð±ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ BFD: Ð¿Ñ€Ñ‹Ð¶Ð¾Ðº (PC rel26) Ð² Ñ€Ð°Ð·Ð´ÐµÐ» (%s) Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�Ð�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸ÐµÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� [.reloc]ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°Ð“Ñ€Ð°Ð½Ð¸Ñ†Ñ‹:
-CLIÐ—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ� CLRCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ñ‹ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�) %u
+Ð’ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ Ð¿Ð¾ Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð¼Ñƒ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Ð°Ð´Ñ€ÐµÑ�ÑƒÐ˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ CACHE: CLIÐ—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ� CLRCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ñ‹ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�) %u
 CTL_DFLOC (Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ�)
 CTL_SETRB (ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²ÐºÐ° Ð±Ð°Ð·Ñ‹ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�)
 CTL_STKDL (Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ�ÐµÐ¼Ð¾Ðµ Ñ�Ñ‚ÐµÐºÐ¾Ð¼)
 CTL_STLOC (Ð·Ð°Ð´Ð°Ð½Ð¸Ðµ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ�)
-Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð°Ð²Ñ‚Ð¾Ñ€Ñ�ÐºÐ¾Ð³Ð¾ Ð¿Ñ€Ð°Ð²Ð°
-Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ DIV Ñ€Ð°Ñ�Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð² %B Ð¸ %BDST__K_BEG_STMT_MODE Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_END_STMT_MODE Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_RESET_LINUM_INCR Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_LINUM_INCR Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_LINUM_INCR_W Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_PC Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_PC_L Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_PC_W Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_STMTNUM Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹:
+Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ Ðº JALX Ð´Ð»Ñ� Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð°Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿Ñ€Ñ‹Ð¶Ð¾Ðº Ðº JALX Ð´Ð»Ñ� Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð°Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð°Ð²Ñ‚Ð¾Ñ€Ñ�ÐºÐ¾Ð³Ð¾ Ð¿Ñ€Ð°Ð²Ð°
+ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» .rsrc!
+Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EEOM Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð° â€” Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EGSD Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð°: ÐµÑ‘ Ð¿Ð¾Ð»Ðµ psindx Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð²ÐµÐ»Ð¸ÐºÐ¾ (%#lx)Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EGSD Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð°: ÐµÑ‘ Ñ€Ð°Ð·Ð¼ÐµÑ€ (%#x) Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EGSD Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð°: Ñ€Ð°Ð·Ð¼ÐµÑ€ (%#x) Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¾Ñ�Ñ‚Ð°Ð²ÑˆÐµÐ³Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð° (%#x)Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EGSD Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð°: Ñ€Ð°Ð·Ð¼ÐµÑ€ (%#x) Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EIHD Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð° â€” Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð° Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ð°Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ ETIRÐ—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ vms Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¾Ð’ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ Ñ�Ñ‚Ñ€Ð¾ÐºÐµ Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½ DSODST__K_BEG_STMT_MODE Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_END_STMT_MODE Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_RESET_LINUM_INCR Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_LINUM_INCR Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_LINUM_INCR_W Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_PC Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_PC_L Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_PC_W Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½DST__K_SET_STMTNUM Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹:
 Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸:
 ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ñ‚Ð»Ð¾Ð¶ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°Ð’Ñ‹Ð·Ð²Ð°Ð½ Ð½ÐµÑ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÐµÐ¼Ñ‹Ð¹ %s
 Ð’Ñ‹Ð·Ð²Ð°Ð½ Ð½ÐµÑ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÐµÐ¼Ñ‹Ð¹ %s Ñ€Ñ�Ð´Ð¾Ð¼ Ñ� %s Ð² Ñ�Ñ‚Ñ€Ð¾ÐºÐµ %d Ð² %s
-ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ð¹ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð�ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ ÑƒÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€: %u.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð Ð°Ð·Ð´ÐµÐ» %s Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ ÑƒÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %u.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ²ÐµÑ€Ð½Ð¾Ðµ Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ðµ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¹ Ð½Ð° Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð�ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ð¸Ð»Ð¸ Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ FORM: %u.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¡Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%lu) Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¸Ð»Ð¸ Ñ€Ð°Ð²Ð½Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ %s (%lu).ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� %d Ñƒ .debug_line.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð°Ð´Ñ€ÐµÑ�Ð° Â«%uÂ», Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Ð½Ðµ ÑƒÐ¼ÐµÐµÑ‚ Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°Ð¼Ð¸ Ð±Ð¾Ð»ÐµÐµ Ñ‡ÐµÐ¼ Â«%uÂ».ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð²ÐµÑ€Ñ�Ð¸Ñ� dwarf Â«%uÂ», Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÐµÑ‚ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð²ÐµÑ€Ñ�Ð¸Ð¸ 2, 3 Ð¸ 4.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº (Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð°).ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº.EIHD: (Ñ€Ð°Ð·Ð¼ÐµÑ€: %u, nbr Ð±Ð»Ð¾ÐºÐ¾Ð²: %u)
-Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ  = 0x%.8lx (%ld)
-ÐžÑˆÐ¸Ð±ÐºÐ° Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� %s: %sÐžÑˆÐ¸Ð±ÐºÐ°: %B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ Ð¸ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹ Ð¸ ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ²ÑˆÐ¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Tag_MPextension_useÐŸÑ€Ð¸ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐµ Ñ„Ð°Ð¹Ð»Ð° %s Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ñ‹ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¸Ñ�ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹ [.pdata]ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° [.edata (Ð¸Ð»Ð¸ Ð³Ð´Ðµ Ð¾Ð½ Ð½Ð°ÑˆÑ‘Ð»Ñ�Ñ�)]Ð¤Ð»Ð°Ð³Ð¸ Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° 			%lx
-Ð­ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ RVAÐ�Ð• Ð£Ð”Ð�Ð›ÐžÐ¡Ð¬ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ HI16FILES_VOLUMES    Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ Ñ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð¤Ð°Ð¹Ð» Ð² Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÐµÐ¤Ð°Ð¹Ð» Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹Ð¤Ð°Ð¹Ð» ÑƒÑ�ÐµÑ‡Ñ‘Ð½ÐŸÐ¾Ð»Ðµ Ñ„Ð»Ð°Ð³Ð¾Ð²         = 0x%.2x
-ÐŸÐµÑ€ÐµÐ°Ð´Ñ€ÐµÑ�ÑƒÐµÐ¼Ñ‹Ð¹ RVAGALAXY           Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¾ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GP, Ð½Ð¾ GP Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°ÐžÑ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GP, Ð½Ð¾ _gp Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°Ð�Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ‹ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ ldah Ð¸ lda Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� GPDISPÐ¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²:
-IDC - Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° Ñ†ÐµÐ»Ð¾Ñ�Ñ‚Ð½Ð¾Ñ�Ñ‚Ð¸
-IMAGE_ACTIVATOR  INPUT_SECTION_FLAGS Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�.
+ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ð¹ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð° Ñ€ÐµÐºÑƒÑ€Ñ�Ð¸Ñ� Ð°Ð±Ñ�Ñ‚Ñ€Ð°ÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ�ÐºÐ·ÐµÐ¼Ð¿Ð»Ñ�Ñ€Ð°.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ ÑƒÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %u.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð²Ñ�Ñ‚Ñ€ÐµÑ‡ÐµÐ½ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ DW_AT_comp_dir Ð² Ð½Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¾Ð²Ð¾Ð¼ Ð²Ð¸Ð´Ðµ.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð·Ð° ÐºÐ¾Ð½ÐµÑ† Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð²ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð°Ð±Ñ�Ñ‚Ñ€Ð°ÐºÑ‚Ð½Ñ‹Ð¹ Ñ�ÐºÐ·ÐµÐ¼Ð¿Ð»Ñ�Ñ€ Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ DIE.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ²ÐµÑ€Ð½Ð¾Ðµ Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ðµ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¹ Ð½Ð° Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ð¸Ð»Ð¸ Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ FORM: %#x.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ñ�Ñ‚Ñ€Ð¾ÐºÐ°Ñ… Ð±Ð¾Ð»ÑŒÑˆÐµ (%#Lx) Ñ‡ÐµÐ¼ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð¾, Ð¾Ñ�Ñ‚Ð°Ð²ÑˆÐµÐµÑ�Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ (%#lx)ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ñ€Ð°Ð·Ð´ÐµÐ» Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ñ�Ñ‚Ñ€Ð¾ÐºÐ°Ñ… Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð» (%Ld)ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ %u Ñ�ÐµÐ»ÐµÐºÑ‚Ð¾Ñ€Ð° Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° Ð² Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ñ�Ñ‚Ñ€Ð¾ÐºÐ°Ñ….ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%llu) Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¸Ð»Ð¸ Ñ€Ð°Ð²Ð½Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ %s (%Lu).ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ñ�Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð¾ Ð¼ÐµÑ�Ñ‚Ð¾ Ð¿Ñ€Ð¸ Ñ‡Ñ‚ÐµÐ½Ð¸Ð¸ ÐºÐ¾Ð´Ð¾Ð² Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¹ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ñ�Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð¾ Ð¼ÐµÑ�Ñ‚Ð¾ Ð¿Ñ€Ð¸ Ñ‡Ñ‚ÐµÐ½Ð¸Ð¸ Ð¿Ñ€Ð¾Ð»Ð¾Ð³Ð°ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»ÐºÑƒ %llu.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� %d Ñƒ .debug_line.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ‚Ð¸Ð¿Ð° Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾ %Lu.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° Ñ€Ð°Ð²ÐµÐ½ Ð½ÑƒÐ»ÑŽ.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð´Ð°Ð½Ð½Ñ‹Ñ… (%Lx) Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð±ÑƒÑ„ÐµÑ€Ð°.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð°Ð´Ñ€ÐµÑ�Ð° Â«%uÂ», Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Ð½Ðµ ÑƒÐ¼ÐµÐµÑ‚ Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°Ð¼Ð¸ Ð±Ð¾Ð»ÐµÐµ Ñ‡ÐµÐ¼ Â«%uÂ».ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð²ÐµÑ€Ñ�Ð¸Ñ� dwarf Â«%uÂ», Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÐµÑ‚ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð²ÐµÑ€Ñ�Ð¸Ð¸ 2, 3, 4 Ð¸ 5.ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº (Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð°).ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº.EIHD: (Ñ€Ð°Ð·Ð¼ÐµÑ€: %u, nbr Ð±Ð»Ð¾ÐºÐ¾Ð²: %u)
+ÐžÐ¨Ð˜Ð‘ÐšÐ�: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ %B Ñ� Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¾Ð¹ %B Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Â«%sÂ» Ð¸Ñ�Ñ‡ÐµÐ·Ð»Ð° Ð¸Ð· Ð±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð°.Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ  = 0x%.8lx (%ld)
+ÐžÑˆÐ¸Ð±ÐºÐ° Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� %s: %sÐžÑˆÐ¸Ð±ÐºÐ°: %B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ Ð¸ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹ Ð¸ ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ²ÑˆÐ¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Tag_MPextension_useÐžÑˆÐ¸Ð±ÐºÐ°: Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° ARC4 Ð±Ð¾Ð»ÑŒÑˆÐµ Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�.
+ÐŸÑ€Ð¸ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐµ Ñ„Ð°Ð¹Ð»Ð° %B Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ñ‹ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¸Ñ�ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹ [.pdata]ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° [.edata (Ð¸Ð»Ð¸ Ð³Ð´Ðµ Ð¾Ð½ Ð½Ð°ÑˆÑ‘Ð»Ñ�Ñ�)]Ð¤Ð»Ð°Ð³Ð¸ Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° 			%lx
+Ð­ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ RVAÐ�Ð• Ð£Ð”Ð�Ð›ÐžÐ¡Ð¬ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ HI16FILES_VOLUMES    FPU-2.0FPU-3.0Ð¡Ð±Ð¾Ð¹ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ� Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ñ… Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ð² Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð¾Ð¼ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ÐµÐ¤Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ Ñ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð¤Ð°Ð¹Ð» Ð² Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÐµÐ¤Ð°Ð¹Ð» Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹Ð¤Ð°Ð¹Ð» ÑƒÑ�ÐµÑ‡Ñ‘Ð½ÐŸÐ¾Ð»Ðµ Ñ„Ð»Ð°Ð³Ð¾Ð²         = 0x%.2x
+ÐŸÐµÑ€ÐµÐ°Ð´Ñ€ÐµÑ�ÑƒÐµÐ¼Ñ‹Ð¹ RVAGALAXY           ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� GOT Ð¸ PLT Ð½Ðµ Ð¼Ð¾Ð³ÑƒÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð¿Ð¾Ñ�Ñ‚Ð¾Ñ�Ð½Ð½Ñ‹Ð¼Ð¸ Ñ� Ð½Ðµ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¼ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ¾Ð¼.Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¾ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GP, Ð½Ð¾ GP Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°ÐžÑ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GP, Ð½Ð¾ _gp Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°Ð�Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ‹ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ ldah Ð¸ lda Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� GPDISPÐ¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²:
+Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¦ÐŸ, 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ FPU)
+Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¦ÐŸ, Ð»ÑŽÐ±Ð¾Ð¹ FPU)
+Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (MIPS32r2 64-bit FPU 12 Ñ�Ð¾Ñ…Ñ€Ð°Ð½Ñ�ÑŽÑ‚Ñ�Ñ� Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÐ¼Ñ‹Ð¼)
+Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (Ð´Ð²Ð¾Ð¹Ð½Ð°Ñ� Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚ÑŒ)
+Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð°Ñ� Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚ÑŒ)
+Ð¡Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¦ÐŸ, 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ FPU)
+Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¸Ð»Ð¸ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ�
+ID: %#08lxIDC - Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° Ñ†ÐµÐ»Ð¾Ñ�Ñ‚Ð½Ð¾Ñ�Ñ‚Ð¸
+Ð°Ð½Ð°Ð»Ð¸Ð·Ð°Ñ‚Ð¾Ñ€ IEEE: Ð´Ð»Ð¸Ð½Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ (%#lx) Ð´Ð»Ð¸Ð½Ð½ÐµÐµ Ð±ÑƒÑ„ÐµÑ€Ð° (%#lx)IMAGE_ACTIVATOR  INPUT_SECTION_FLAGS Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�.
 IO               Ð�ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ñ� Ð¾Ð±Ñ€Ð°Ð·Ð°:  (Ñ€Ð°Ð·Ð¼ÐµÑ€=%u)
 Ð�ÐºÑ‚Ð¸Ð²Ð°Ñ‚Ð¾Ñ€ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð¾Ð±Ñ€Ð°Ð·Ð°: (Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð»Ð°Ð´ÑˆÐ¸Ð¹: %u)
 Ð˜Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ� Ð¾Ð±Ñ€Ð°Ð·Ð°: (Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð»Ð°Ð´ÑˆÐ¸Ð¹: %u)
 Ð”ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¾Ð±Ñ€Ð°Ð·Ð°: (Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð»Ð°Ð´ÑˆÐ¸Ð¹: %u, Ñ€Ð°Ð·Ð¼ÐµÑ€: %u, Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: %u)
 Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² & Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸ Ð¾Ð±Ñ€Ð°Ð·Ð°: (Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð»Ð°Ð´ÑˆÐ¸Ð¹: %u)
-ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾Ð²ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° [Ñ‡Ð°Ñ�Ñ‚ÑŒ .idata]Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐµ Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ðµ: Ð¾Ñ�Ñ‚Ð°Ñ‘Ñ‚Ñ�Ñ� %u != Ð¼Ð°ÐºÑ� %u.
-  Ð¡Ð¾Ð¾Ð±Ñ‰Ð¸Ñ‚Ðµ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ.Ð�ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð² TARGET2 Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Â«%sÂ».Ð�ÐµÐ²ÐµÑ€Ð½Ð°Ñ� Ñ†ÐµÐ»ÑŒ bfdÐ�ÐµÐ²ÐµÑ€Ð½Ð°Ñ� Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ�Ð�ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð² ETIRÐ’Ñ‹Ð¿Ð¾Ð»Ð½Ñ�ÐµÑ‚Ñ�Ñ� JALX Ð² Ð°Ð´Ñ€ÐµÑ�, Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð°LOGICAL_NAMES    Ð�Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€Ð½Ð¾Ð³Ð¾ Ñ�Ð·Ñ‹ÐºÐ°
+ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾Ð²ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° [Ñ‡Ð°Ñ�Ñ‚ÑŒ .idata]Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ RL78 Ð²Ñ‹Ð·Ð²Ð°Ð»Ð¾ Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ�Ñ‚ÐµÐºÐ°Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ RL78 Ð²Ñ‹Ð·Ð²Ð°Ð»Ð¾ Ð²Ñ‹Ñ…Ð¾Ð´ Ð·Ð° Ð½Ð¸Ð¶Ð½ÑŽÑŽ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñƒ Ñ�Ñ‚ÐµÐºÐ°Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐµ Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ðµ: Ð¾Ñ�Ñ‚Ð°Ñ‘Ñ‚Ñ�Ñ� %lu != Ð¼Ð°ÐºÑ� %lu.
+  Ð¡Ð¾Ð¾Ð±Ñ‰Ð¸Ñ‚Ðµ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ.Ð�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� AArch64: %dÐ�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� DLX: %dÐ�ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ TARGET2 Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Â«%sÂ».Ð�ÐµÐ²ÐµÑ€Ð½Ð°Ñ� Ñ†ÐµÐ»ÑŒ bfdÐ�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %AÐ�ÐµÐ²ÐµÑ€Ð½Ð°Ñ� Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ�Ð�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� .eh_frame_entry: %AÐ�ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð² ETIRÐ”Ð°Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ° â€” %s â€” ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ»Ð°?ÐžÐ½ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ‹Ñ‚ÑŒ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¼ Ð¸Ð»Ð¸ Ñ�Ð»Ð°Ð±Ñ‹Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸.ÐŸÑ€Ñ‹Ð¶Ð¾Ðº Ð¿Ð¾ Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð¼Ñƒ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Ð°Ð´Ñ€ÐµÑ�ÑƒÐŸÑ€Ñ‹Ð¶Ð¾Ðº Ð¿Ð¾ Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð¼Ñƒ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�ÑƒLOGICAL_NAMES    Ð�Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€Ð½Ð¾Ð³Ð¾ Ñ�Ð·Ñ‹ÐºÐ°
 Ð”Ð»Ð¸Ð½Ð°               = 0x%.8lx (%ld)
-ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸MEMORY_MANAGEMENTÐ¤ÑƒÐ½ÐºÑ†Ð¸Ð¸ MIPS16 Ð¸ microMIPS Ð½Ðµ Ð¼Ð¾Ð³ÑƒÑ‚ Ð²Ñ‹Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð´Ñ€ÑƒÐ³ Ð´Ñ€ÑƒÐ³Ð°MISC             MULTI_PROCESSING Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Mach-O:
-Ð¡Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹/ÐœÐ»Ð°Ð´ÑˆÐ¸Ð¹ 			%d/%d
+ÐšÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸Ðº: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ…Ñ�Ñˆ-Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñƒ Ð¾ÑˆÐ¸Ð±Ð¾Ðº ex9 
+ÐšÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸Ðº: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ñ�Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ex9 
+ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� IFUNC Â«%sÂ» Ð² %B
+MEMORY_MANAGEMENTÐ¤ÑƒÐ½ÐºÑ†Ð¸Ð¸ MIPS16 Ð¸ microMIPS Ð½Ðµ Ð¼Ð¾Ð³ÑƒÑ‚ Ð²Ñ‹Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð´Ñ€ÑƒÐ³ Ð´Ñ€ÑƒÐ³Ð°MISC             Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ MMU: MULTI_PROCESSING Ð¡Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹/ÐœÐ»Ð°Ð´ÑˆÐ¸Ð¹ 			%d/%d
 Ð˜Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ñ‹Ð¹ Ð°Ñ€Ñ…Ð¸Ð²Ð”Ð»Ñ� Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ñ‚ÐµÐºÐ° Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� 0x%v
 MeP: howto %d Ð¸Ð¼ÐµÐµÑ‚ Ñ‚Ð¸Ð¿ %dÐ—Ð°ÐºÐ¾Ð½Ñ‡Ð¸Ð»Ð°Ñ�ÑŒ Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒÐ—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¼Ð¾Ð´ÑƒÐ»Ñ�
-NETWORKS         NORMALÐ˜Ð¼Ñ� 				Ð�ÐµÑ‚ Ð¾ÑˆÐ¸Ð±ÐºÐ¸Ð�Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ðµ Ñ„Ð°Ð¹Ð»Ñ‹ Ð·Ð°ÐºÐ¾Ð½Ñ‡Ð¸Ð»Ð¸Ñ�ÑŒÐ�ÐµÑ‚ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²Ð Ð°Ð·Ð´ÐµÐ», Ð½ÐµÐ¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ð¼Ñ‹Ð¹ Ð´Ð»Ñ� Ð²Ñ‹Ð²Ð¾Ð´Ð°Ð�ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ Ð´Ð»Ñ� Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²ÐºÐ¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹Ð�Ð¾Ð¼ÐµÑ€ Ð²:
+NETWORKS         NORMALÐ˜Ð¼Ñ� 				Ð�Ðµ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½ Ð°Ð´Ñ€ÐµÑ� Ñ�ÐºÐ»ÐµÐ¹ÐºÐ°Ð¼ Ð² Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %sÐ�ÐµÑ‚ Ð¾ÑˆÐ¸Ð±ÐºÐ¸Ð�Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ðµ Ñ„Ð°Ð¹Ð»Ñ‹ Ð·Ð°ÐºÐ¾Ð½Ñ‡Ð¸Ð»Ð¸Ñ�ÑŒÐ�ÐµÑ‚ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²ÐžÑ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚Ð Ð°Ð·Ð´ÐµÐ», Ð½ÐµÐ¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ð¼Ñ‹Ð¹ Ð´Ð»Ñ� Ð²Ñ‹Ð²Ð¾Ð´Ð°Ð�ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ Ð´Ð»Ñ� Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²ÐºÐ¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹Ð�Ð¾Ð¼ÐµÑ€ Ð²:
 OPR_ADD (Ñ�Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ)
 OPR_AND (Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð¸)
 OPR_ASH (Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð´Ð²Ð¸Ð³)
@@ -1019,18 +1249,18 @@ Plural-Forms:  nplurals=3; plural=(n%10=
 OPR_SUB (Ð²Ñ‹Ñ‡Ð¸Ñ‚Ð°Ð½Ð¸Ðµ)
 OPR_USH (Ð±ÐµÐ·Ð·Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¹ Ñ�Ð´Ð²Ð¸Ð³)
 ÐžÐ±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ð�Ð• error-free !
-Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ 			%ld
+Ð¡Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�ÐºÐ»ÐµÐ¹ÐºÐ¸ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ» Ð½Ðµ ÐºÑ€Ð°Ñ‚Ð½Ð¾ ÐµÑ‘ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ.ÐžÐ´Ð½Ð¾Ð¹ Ð¸Ð· Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ‹Ñ… Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½ Ñ�Ñ‚Ð¾Ð¹ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ñ‚Ð¾, Ñ‡Ñ‚Ð¾ Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¼ ÐºÐ¾Ð´Ðµ Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ�Ñ�Ñ‹Ð»Ð°ÑŽÑ‚Ñ�Ñ� Ñ� Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸ÐµÐ¼, Ñ‡ÐµÐ¼ Ð±Ñ‹Ð»Ð¾ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¾ Ð² ÐµÐ³Ð¾ Ð¼ÐµÑ�Ñ‚Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ�.Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ 			%ld
 Ð”Ð»Ñ� Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð¾Ð±Ñ‰Ð°Ñ� Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° Â«%sÂ»
 Ð”Ð»Ñ� Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð¾Ð±Ñ‰Ð°Ñ� Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° Â«%s.so.%sÂ»
-POSIX            PROCESS_SCHED    PRVFXDPRVPICPSC - Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°
+Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ PC Ð¸Ð· Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð°Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ PIEPOSIX            PROCESS_SCHED    PRVFXDPRVPICPSC - Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°
 Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ PTA: Ð°Ð´Ñ€ÐµÑ� SHcompact (Ð±Ð¸Ñ‚ 0 == 0)Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ PTB: Ð°Ð´Ñ€ÐµÑ� SHmedia (Ð±Ð¸Ñ‚ 0 == 1)Ð˜Ð¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð°         = "%s"
 ÐšÐ¾Ð½ÐµÑ† Ñ€Ð°Ð·Ð´ÐµÐ»Ð°[%d]   = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
 Ð”Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð°[%d]   = 0x%.8lx (%ld)
 Ð¡ÐµÐºÑ‚Ð¾Ñ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°[%d]  = 0x%.8lx (%ld)
 ÐŸÐ¾Ð¶Ð°Ð»ÑƒÐ¹Ñ�Ñ‚Ð°, Ñ�Ð¾Ð¾Ð±Ñ‰Ð¸Ñ‚Ðµ Ð¾Ð± Ñ�Ñ‚Ð¾Ð¹ Ð¾ÑˆÐ¸Ð±ÐºÐµ.
-R_BFIN_FUNCDESC ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼R_BFIN_FUNCDESC_VALUE ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼R_FRV_TLSMOFFLO Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ setlo Ð¸Ð»Ð¸ setlos
-Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ð¼ÐµÑ‚ÐºÐ¸ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð°Ñ€Ñ…Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° modÐ£ÐºÐ°Ð·Ð°Ð½Ð¸Ðµ Ð½Ð° Ð´Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ� Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¼Ð¾Ð¶ÐµÑ‚ Ð¿Ñ€Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ðº Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸ÑŽÐ�ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° %%g%d: %s Ð² %B, Ñ€Ð°Ð½ÐµÐµ %s Ð² %BÐ’ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ð¸Ð¼ÐµÐµÑ‚Ñ�Ñ� Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ
-ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½Ðµ-REL psectÐ£Ð´Ð°Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð½ÐµÐ¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» '%s' Ð² Ñ„Ð°Ð¹Ð»Ðµ '%B'Ð—Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ€ÐµÑ�ÑƒÑ€Ñ�Ð¾Ð² [.rsrc]Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ SDA, Ð½Ð¾ _SDA_BASE_ Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°SECURITY         SEC_RELOC Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %sÐžÑˆÐ¸Ð±ÐºÐ° SH: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %dSHELL            SHRFXDSHRPICSPSC â€” Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±Ñ€Ð°Ð·Ð°
+ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚ RL78 ABI: G10 Ð² Ñ„Ð°Ð¹Ð»Ðµ %B Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� %s Ð¸Ð· Ñ„Ð°Ð¹Ð»Ð° %BÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚ RL78 ABI: G Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ %s Ð¸Ð· Ñ„Ð°Ð¹Ð»Ð° %B Ñ� %s Ð¸Ð· Ñ„Ð°Ð¹Ð»Ð° %BÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ� RL78: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ Ð¸ 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹ Ð²Ð¼ÐµÑ�Ñ‚ÐµR_BFIN_FUNCDESC ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼R_BFIN_FUNCDESC_VALUE ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼R_FRV_TLSMOFFLO Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ setlo Ð¸Ð»Ð¸ setlos
+Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ð¼ÐµÑ‚ÐºÐ¸ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ� Ð°Ñ€Ñ…Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°Ð£ÐºÐ°Ð·Ð°Ð½Ð¸Ðµ Ð½Ð° Ð´Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ� Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¼Ð¾Ð¶ÐµÑ‚ Ð¿Ñ€Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ðº Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸ÑŽÐ�ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° %%g%d: %s Ð² %B, Ñ€Ð°Ð½ÐµÐµ %s Ð² %BÐ’ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ð¸Ð¼ÐµÐµÑ‚Ñ�Ñ� Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ
+ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½Ðµ-REL psectÐ£Ð´Ð°Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð½ÐµÐ¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð² Ñ„Ð°Ð¹Ð»Ðµ Â«%BÂ»Ð—Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ€ÐµÑ�ÑƒÑ€Ñ�Ð¾Ð² [.rsrc]Ð�Ð´Ñ€ÐµÑ� S12 (%lx) Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ð¾Ð±Ñ‰ÐµÐ¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð¹ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ (0x2000-0x4000), Ð¿Ð¾Ñ�Ñ‚Ð¾Ð¼Ñƒ Ð²Ñ‹ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð°Ð´Ñ€ÐµÑ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² ÐºÐ¾Ð´ÐµÐ¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ SDA, Ð½Ð¾ _SDA_BASE_ Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°SECURITY         SEC_RELOC Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %AÐžÑˆÐ¸Ð±ÐºÐ° SH: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %dSHELL            SHRFXDSHRPICÐ˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ SIMD: SPSC â€” Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±Ñ€Ð°Ð·Ð°
 STABLE           STA_CKARG (Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹ Ñ�Ñ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ�)
 STA_GBL (Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ñ‚ÐµÐº) %.*s
 STA_LI (Ñ�Ñ‚ÐµÐº Ð»Ð¸Ñ‚ÐµÑ€Ð°Ð»Ð°)
@@ -1073,28 +1303,40 @@ Plural-Forms:  nplurals=3; plural=(n%10=
 SYMG - Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ ÑƒÐ½Ð¸Ð²ÐµÑ€Ñ�Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²
 SYMM - Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ñ� Ð²ÐµÑ€Ñ�Ð¸ÐµÐ¹
 SYMV - Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²
-SYSGEN           Ð Ð°Ð·Ð´ÐµÐ» Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ñ�Ñ‚Ð¸Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ‹ Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹:
-ÐžÑˆÐ¸Ð±ÐºÐ° Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %sÐ—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¸Ñ�Ñ…Ð¾Ð´Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð²
+SYSGEN           Ð Ð°Ð·Ð´ÐµÐ» Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ñ�Ñ‚Ð¸ÐžÑˆÐ¸Ð±ÐºÐ° Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %AÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ�
+Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¸Ñ�Ñ…Ð¾Ð´Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð²
 Ð¡Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð�ÐµÑ‚Ð¸Ð¿Ð¸Ñ‡Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ALPHA_R_BSRÐ’ Ð°Ð½Ð°Ð»Ð¸Ð·Ðµ Ñ�Ñ‚ÐµÐºÐ° Ð±ÑƒÐ´ÐµÑ‚ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð²Ñ‹Ð·Ð¾Ð² Ð¸Ð· %s Ð² %s
 ÐŸÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ�Ñ‚ÐµÐºÐ° (%d) Ð² _bfd_vms_pushÐ Ð°Ð·Ð¼ÐµÑ€ Ñ�Ñ‚ÐµÐºÐ° Ð´Ð»Ñ� Ð²Ñ‹Ð·Ð¾Ð²Ð° Ð³Ñ€Ð°Ñ„Ð° ÐºÐ¾Ñ€Ð½ÐµÐ²Ñ‹Ñ… ÑƒÐ·Ð»Ð¾Ð².
-Ð’Ñ‹Ñ…Ð¾Ð´ Ð·Ð° Ð½Ð¸Ð¶Ð½ÑŽÑŽ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñƒ Ñ�Ñ‚ÐµÐºÐ° Ð² _bfd_vms_popÐ¨Ð°Ð³Ð¸:
+Ð’Ñ‹Ñ…Ð¾Ð´ Ð·Ð° Ð½Ð¸Ð¶Ð½ÑŽÑŽ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñƒ Ñ�Ñ‚ÐµÐºÐ° Ð² _bfd_vms_popÐ�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Â«%sÂ» Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÐµÑ‚Ñ�Ñ� Ð¾Ñ‚ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ Ñ�Ñ�Ñ‹Ð»ÐºÐ¸.Ð¨Ð°Ð³Ð¸:
 Ð¡Ð¸Ð¼Ð²Ð¾Ð» %s Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð´Ð»Ñ� Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹
-Ð¡Ð¸Ð¼Ð²Ð¾Ð» %s Ð·Ð°Ð¼ÐµÐ½Ñ‘Ð½ Ð½Ð° %s
-Ð¡Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ Ñ‚Ð¸Ð¿Ñ‹: %s Ð² %B, Ñ€Ð°Ð½ÐµÐµ REGISTER Ð² %BÐ¡Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ Ñ‚Ð¸Ð¿Ñ‹: REGISTER Ð² %B, Ñ€Ð°Ð½ÐµÐµ %s Ð² %BÐ”Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ», Ð½Ð¾ ÐµÐ³Ð¾ Ð½Ðµ Ñ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ÐžÑˆÐ¸Ð±ÐºÐ° Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ð°TLS-Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾ Ð±ÐµÐ· Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ñ… Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ TOC: 0x%lx > 0x10000; Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� -mminimal-tocÐ¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾Ð²
-ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰Ð° Ð½Ð¸Ñ‚ÐµÐ¹ [.tls]ÐœÐµÑ‚ÐºÐ° Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸/Ð´Ð°Ñ‚Ñ‹ 		%lx
+Ð¡Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ Ñ‚Ð¸Ð¿Ñ‹: %s Ð² %B, Ñ€Ð°Ð½ÐµÐµ REGISTER Ð² %BÐ¡Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ Ñ‚Ð¸Ð¿Ñ‹: REGISTER Ð² %B, Ñ€Ð°Ð½ÐµÐµ %s Ð² %BÐ”Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ», Ð½Ð¾ ÐµÐ³Ð¾ Ð½Ðµ Ñ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ‹Ñ‚ÑŒ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ñ‹Ð¼, Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¼ Ð¸Ð»Ð¸ Ñ�Ñ�Ñ‹Ð»Ð°Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Thumb.ÐžÑˆÐ¸Ð±ÐºÐ° Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ð°TLS-Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾ Ð±ÐµÐ· Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ñ… Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ TOC: %#Lx > 0x10000; Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� -mminimal-tocÐ¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾Ð²
+ÐŸÐ¾Ð»Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð² ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ðµ Ð´Ð°Ð½Ð½Ñ‹Ñ… Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ðµ Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð°Ð Ð°Ð·Ð¼ÐµÑ€ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°
+Ð’Ð¾Ð·Ð½Ð¸Ðº ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ� Ñ„Ð»Ð°Ð³Ð¾Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF Ð¸Ð· %BÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰Ð° Ð½Ð¸Ñ‚ÐµÐ¹ [.tls]ÐœÐµÑ‚ÐºÐ° Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸/Ð´Ð°Ñ‚Ñ‹ 		%lx
 Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ� Ñ‚ÐµÐºÑ�Ñ‚Ð°
-USRSTACKÐ�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ñ�Ñ‰ÐµÐµ Ð¼ÐµÑ�Ñ‚Ð¾ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° '%s' Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° '%s'Ð�ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ðµ STO_SH5_ISA32 Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ�Ð�ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð¾Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾Ð�ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ñ�Ð´Ñ€Ð° OSF/1 Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ� Ñ‚Ð¸Ð¿Ð¾Ð¼ %d
-Ð�ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %sÐ�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¿Ð¾Ð´Ñ‚Ð¸Ð¿ EGSD %dÐ�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ %dÐ�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %sÐ�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s + %sÐ�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² ÐºÐ¾Ð¼Ð°Ð½Ð´Ðµ %sÐ�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ INPUT_SECTION_FLAG %s
-Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ Ñ†ÐµÐ»Ð¸ TI COFF '0x%x'Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%xÐ�ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ .stabVOLATILE         ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð² Ð¾Ð´Ð½Ð¾Ð¼ Ð¸Ð· Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ…, Ð½ÑƒÐ»ÐµÐ²Ñ‹Ñ… Ð¸ ÐºÑ€Ð¾ÑˆÐµÑ‡Ð½Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð½Ñ‹Ñ…ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð² Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ð¸ ÐºÑ€Ð¾ÑˆÐµÑ‡Ð½Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ�Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð² Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ð¸ Ð½ÑƒÐ»ÐµÐ²Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ�Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð² Ð½ÑƒÐ»ÐµÐ²Ñ‹Ñ… Ð¸ ÐºÑ€Ð¾ÑˆÐµÑ‡Ð½Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ�Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð·Ð°Ð½Ð¸Ð¼Ð°Ñ‚ÑŒ Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð½Ñ‹Ñ…Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ, Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .pdata (%ld) Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ %d
-ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½ÑƒÑŽ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B ÑƒÑ�ÐµÑ‡Ñ‘Ð½: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ñ�Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð´Ñ€Ð° Ñ„Ð°Ð¹Ð»Ð° >= %lu, Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾: %lu.ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½ÑƒÑŽ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½ÐµÑ‚ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -mdouble-float, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -mips32r2 -mfp64ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -msingle-float, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -mdouble-floatÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -msingle-float, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -mips32r2 -mfp64ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð¹ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ð¸, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾Ð¹ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ð¸ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ r3/r4 Ð´Ð»Ñ� Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð° Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¾Ð¹ Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€Ñ‹, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ, %B Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾Ð¹ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ð¸ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸ %dÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ñ�Ð¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ %d Ð¿Ð¾ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ñƒ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¾Ð¹ Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€Ñ‹ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¾Ð² %dÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ ABI Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¾Ð² "%s", %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ "%s"ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ð²Ñ‹Ðµ Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ¸ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %dÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¡Ð±Ñ€Ð¾Ñ� Ñ„Ð»Ð°Ð³Ð° Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ %B, ÐºÐ°Ðº Ñ� Ð½Ð¸Ð¼ Ð±Ñ‹Ð» Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½ ÐºÐ¾Ð´ Ð±ÐµÐ· Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð¸Ð· %BÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÐžÑ‡Ð¸Ñ‰Ð°ÐµÑ‚Ñ�Ñ� Ñ„Ð»Ð°Ð³ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð´Ð»Ñ� %B Ð¿Ð¾ Ð²Ð½ÐµÑˆÐ½ÐµÐ¼Ñƒ Ð·Ð°Ð¿Ñ€Ð¾Ñ�ÑƒÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¤Ð»Ð°Ð³ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð´Ð»Ñ� %B Ð½Ðµ ÑƒÑ�Ñ‚Ð°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�, Ñ‚Ð°Ðº ÐºÐ°Ðº Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ð½ ÑƒÐ¶Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½ÑƒÑŽ Ñ€Ð°Ð±Ð¾Ñ‚ÑƒÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ RX_SYM Ñ� Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð’Ñ‹Ð¿Ð¾Ð»Ð½Ñ�ÐµÑ‚Ñ�Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ» Ð² Ñ„Ð°Ð¹Ð» Ð¿Ð¾ Ð¾Ð³Ñ€Ð¾Ð¼Ð½Ð¾Ð¼Ñƒ (Ñ‚.Ðµ. Ð¾Ñ‚Ñ€Ð¸Ñ†Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¼Ñƒ) Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ 0x%lx.ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ %u Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² %B Ð±Ð¾Ð»ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ (%u) ÐµÐ³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %AÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ %u Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² %B Ð¼ÐµÐ½ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ %u Ð² %BÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ�
-ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ gc-sections Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ñ�Ñ� Ñ� %lu Ð² %B Ð½Ð° %lu Ð² %BÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½ Ñ‚Ð¸Ð¿ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ñ� %d Ð½Ð° %dÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ Ð² Ð°Ñ€Ñ…Ð¸Ð²: Ð¾Ð±Ð½Ð¾Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð¼ÐµÑ‚ÐºÐ° Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸
-Ð—Ð°Ð¿Ð¸Ñ�ÑŒ Ð¾Ð±Ð½Ð¾Ð²Ð»Ñ‘Ð½Ð½Ð¾Ð¹ Ð¼ÐµÑ‚ÐºÐ¸ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ armap[%u]: %u
-[%u]: Ð½Ð¸Ð¶Ð½Ñ�Ñ�: %u, Ð²ÐµÑ€Ñ…Ð½Ñ�Ñ�: %u
-[abi=16-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ int, [abi=32-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ int, [Ñ‡ÑŒÑ‘ Ð¸Ð¼Ñ� Ð¿Ð¾Ñ‚ÐµÑ€Ñ�Ð½Ð¾]\%B: ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Arm Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� BLX Ð² Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Arm '%s'.Ð’Ñ‹Ð·Ð¾Ð² _bfd_vms_output_counted Ñ�Ð¾ Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾Ð¼ Ð±Ð°Ð¹Ñ‚Ð’Ñ‹Ð·Ð¾Ð² _bfd_vms_output_counted Ñ� Ð½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾Ð¼ Ð±Ð°Ð¹Ñ‚Ð°Ð´Ñ€ÐµÑ�Ð°Ð´Ñ€ÐµÑ� Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð°arsize: %u, a0: 0x%08x
+Ð¡Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² GOT Ð´Ð»Ñ� -fpic: Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -fPICÐ¡Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ñ�ÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° (%ld)
+ÐŸÐ¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ðµ, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð¸Ð·Ð±ÐµÐ¶Ð°Ñ‚ÑŒ Ð¾Ð±Ñ€ÐµÐ·Ð°Ð½Ð¸Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹Ð¢Ð¸Ð¿                Ð Ð°Ð·Ð¼ÐµÑ€     Rva      Ð¡Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ
+USRSTACKÐ�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ñ�Ñ‰ÐµÐµ Ð¼ÐµÑ�Ñ‚Ð¾ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ñ�Ñ‚Ð¸Ñ‡ÑŒ %s (Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x) Ð¸Ð· Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ� (Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x), Ñ‚Ð°Ðº ÐºÐ°Ðº Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%d) Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð¸Ð· Ñ€Ð°Ð·Ñ€ÐµÑˆÑ‘Ð½Ð½Ð¾Ð³Ð¾ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° -32678â€”32767.
+Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�ÑŒ EIHS Ð¿Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ %#xÐ�ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ðµ STO_SH5_ISA32 Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ�Ð�ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð¾Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾Ð�ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ñ�Ð´Ñ€Ð° OSF/1 Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ� Ñ‚Ð¸Ð¿Ð¾Ð¼ %d
+Ð�ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %sÐ�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¿Ð¾Ð´Ñ‚Ð¸Ð¿ EGSD %dÐ�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ %dÐ�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %sÐ�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s + %sÐ�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² ÐºÐ¾Ð¼Ð°Ð½Ð´Ðµ %sÐ�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾: %xÐ�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MIPS: %dÐ�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ INPUT_SECTION_FLAG %s
+Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ Ñ†ÐµÐ»Ð¸ TI COFF Â«0x%xÂ»Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%xÐ�ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ .stabÐ�ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� CR16: 0x%x
+VOLATILE         ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð² Ð¾Ð´Ð½Ð¾Ð¼ Ð¸Ð· Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ…, Ð½ÑƒÐ»ÐµÐ²Ñ‹Ñ… Ð¸ ÐºÑ€Ð¾ÑˆÐµÑ‡Ð½Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð½Ñ‹Ñ…ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð² Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ð¸ ÐºÑ€Ð¾ÑˆÐµÑ‡Ð½Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ�Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð² Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ð¸ Ð½ÑƒÐ»ÐµÐ²Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ�Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð² Ð½ÑƒÐ»ÐµÐ²Ñ‹Ñ… Ð¸ ÐºÑ€Ð¾ÑˆÐµÑ‡Ð½Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ�Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð·Ð°Ð½Ð¸Ð¼Ð°Ñ‚ÑŒ Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð½Ñ‹Ñ…Ð’Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .pdata (%ld) Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ‡ÐµÐ¼ Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ (%ld)
+Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ, Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .pdata (%ld) Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ %d
+ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½ÑƒÑŽ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½ÑƒÑŽ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½ÐµÑ‚ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %sÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI MSA %dÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸ %dÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ long double, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ 128-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ long doubleÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ ABI Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¾Ð² AltiVec, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ ABI Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¾Ð² SPEÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ long double IBM, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ long double IEEEÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð¹ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ð¸, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾Ð¹ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ð¸ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ r3/r4 Ð´Ð»Ñ� Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð° Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¾Ð¹ Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€Ñ‹, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI MSA %d (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %sÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI MSA %d (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI MSA %dÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸ %d (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %sÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸ %d (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸ %dÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ð²Ñ‹Ðµ Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ¸ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ð²Ñ‹Ðµ Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ¸ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ %s Ñ� %s.
+ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° ARC %d.ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %dÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ MSPABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %dÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s (%ld) Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ %d
+ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s (%ld) Ð¼ÐµÐ½ÑŒÑˆÐµ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° (%ld)
+ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s Ñ€Ð°Ð²ÐµÐ½ Ð½ÑƒÐ»ÑŽ
+ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¡Ð±Ñ€Ð¾Ñ� Ñ„Ð»Ð°Ð³Ð° Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ %B, ÐºÐ°Ðº Ñ� Ð½Ð¸Ð¼ Ð±Ñ‹Ð» Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½ ÐºÐ¾Ð´ Ð±ÐµÐ· Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð¸Ð· %BÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÐžÑ‡Ð¸Ñ‰Ð°ÐµÑ‚Ñ�Ñ� Ñ„Ð»Ð°Ð³ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð´Ð»Ñ� %B Ð¿Ð¾ Ð²Ð½ÐµÑˆÐ½ÐµÐ¼Ñƒ Ð·Ð°Ð¿Ñ€Ð¾Ñ�ÑƒÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¤Ð»Ð°Ð³ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð´Ð»Ñ� %B Ð½Ðµ ÑƒÑ�Ñ‚Ð°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�, Ñ‚Ð°Ðº ÐºÐ°Ðº Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ð½ ÑƒÐ¶Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½ÑƒÑŽ Ñ€Ð°Ð±Ð¾Ñ‚ÑƒÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ RL78_SYM Ñ� Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ RX_SYM Ñ� Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ %u Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² %B Ð±Ð¾Ð»ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ (%u) ÐµÐ³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %AÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ %u Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² %B Ð¼ÐµÐ½ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ %u Ð² %BÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ�
+ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ gc-sections Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ñ�Ñ� Ñ� %Lu Ð² %B Ð½Ð° %Lu Ð² %BÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¸ Ð½Ðµ Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½ Ñ‚Ð¸Ð¿ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ñ� %d Ð½Ð° %dÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ Ð·Ð°Ð´Ð°Ð½Ñ‹ Ð¸Ð»Ð¸ ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ»Ð¸ Ñ„Ð»Ð°Ð³Ð¸ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹.
+	       Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ð¼Ð°ÑˆÐ¸Ð½Ð° Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ.
+ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ Ð² Ð°Ñ€Ñ…Ð¸Ð²: Ð¾Ð±Ð½Ð¾Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð¼ÐµÑ‚ÐºÐ° Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸
+Ð—Ð°Ð¿Ð¸Ñ�ÑŒ Ð¾Ð±Ð½Ð¾Ð²Ð»Ñ‘Ð½Ð½Ð¾Ð¹ Ð¼ÐµÑ‚ÐºÐ¸ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ armapÐ�Ð´Ñ€ÐµÑ� XGATE (%lx) Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ð¾Ð±Ñ‰ÐµÐ¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð¹ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ (0xE000-0xFFFF), Ð¿Ð¾Ñ�Ñ‚Ð¾Ð¼Ñƒ Ð²Ñ‹ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð°Ð´Ñ€ÐµÑ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¸, Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ�Ñ‚ÑŒ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†ÐµÐ¹ Ð² ÐºÐ¾Ð´Ðµ.[%u]: Ð½Ð¸Ð¶Ð½Ñ�Ñ�: %u, Ð²ÐµÑ€Ñ…Ð½Ñ�Ñ�: %u
+[abi=16-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ int, [abi=32-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ int, [Ñ‡ÑŒÑ‘ Ð¸Ð¼Ñ� Ð¿Ð¾Ñ‚ÐµÑ€Ñ�Ð½Ð¾]Ð’Ñ‹Ð·Ð¾Ð² _bfd_vms_output_counted Ñ�Ð¾ Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾Ð¼ Ð±Ð°Ð¹Ñ‚Ð’Ñ‹Ð·Ð¾Ð² _bfd_vms_output_counted Ñ� Ð½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾Ð¼ Ð±Ð°Ð¹Ñ‚Â«%sÂ» Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð½Ðµ Ð¿ÑƒÑ�Ñ‚ÑƒÑŽ Ð²Ñ…Ð¾Ð´Ð½ÑƒÑŽ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÑŽ.Ð¾Ð±ÑŠÐµÐºÑ‚ PDEÐ¾Ð±ÑŠÐµÐºÑ‚ PIEÐ¾Ð±Ñ‰Ð¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð´Ñ€ÐµÑ�Ð°Ð´Ñ€ÐµÑ� Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð°Ð¾Ð¿Ð¸Ñ�Ð°Ñ‚ÐµÐ»ÑŒ Ð¼Ð°Ñ�Ñ�Ð¸Ð²Ð°:
+Ð¼Ð°Ñ�Ñ�Ð¸Ð², Ñ€Ð°Ð·Ð¼ÐµÑ€: %u, bitmap: arsize: %u, a0: 0x%08x
+Ð°Ñ‚Ð¾Ð¼Ð°Ñ€Ð½Ð¾, Ñ‚Ð¸Ð¿=0x%02x %s
 Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð² %sÐ±Ð°Ð½ÐºÐ¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� [%lx:%04lx] (%lx) Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð±Ð°Ð½ÐºÐ¾Ð¼ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ Ð±Ð°Ð½ÐºÐ¸Ñ€ÑƒÐµÐ¼Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° [%lx:%04lx] (%lx)Ð±Ð°Ð·Ð°: %u, Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ�: %u
-bfd_mach_o_canonicalize_symtab: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹bfd_mach_o_read_dysymtab_symbol: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ %lu Ð±Ð°Ð¹Ñ‚ Ð¸Ð· %lubfd_mach_o_read_symtab_symbol: Ð¸Ð¼Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (%lu >= %lu)bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð¹ Â«Ð½ÐµÑ�Ð²Ð½Ð¾Ð¹Â» Ñ�Ñ�Ñ‹Ð»ÐºÐ¾Ð¹: Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ° Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %d (Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ %lu): Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ° Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ð¾Ð»Ñ� 0x%x: Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ° Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°bfd_mach_o_read_symtab_symbol: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ %d Ð±Ð°Ð¹Ñ‚ Ð¸Ð· %lubfd_mach_o_read_symtab_symbols: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²bfd_mach_o_scan: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° 0x%lx/0x%lxbfd_pef_scan: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° 0x%lxblkbeg: Ð°Ð´Ñ€ÐµÑ�: 0x%08x, Ð¸Ð¼Ñ�: %.*s
+bfd_mach_o_canonicalize_symtab: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹bfd_mach_o_read_section_32: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ�: %#lx, Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� 32bfd_mach_o_read_section_64: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ�: %#lx, Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� 32bfd_mach_o_read_symtab_symbol: Ð¸Ð¼Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (%lu >= %u)bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %d (Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ %lu): Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ° Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ð¾Ð»Ñ� 0x%x: Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ° Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°bfd_mach_o_read_symtab_symbol: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ %d Ð±Ð°Ð¹Ñ‚ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %ubfd_mach_o_read_symtab_symbols: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²bfd_mach_o_scan: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° 0x%lx/0x%lxbfd_pef_scan: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° 0x%lxblkbeg: Ð°Ð´Ñ€ÐµÑ�: 0x%08x, Ð¸Ð¼Ñ�: %.*s
 blkend: Ñ€Ð°Ð·Ð¼ÐµÑ€: 0x%08x
-Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ EMH Ð² Ð¿ÐµÑ€Ð²Ð¾Ð¹ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ GST
+Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %sÐ½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ EMH Ð² Ð¿ÐµÑ€Ð²Ð¾Ð¹ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ GST
 Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_MEM_INDIRECT, ÐµÑ�Ð»Ð¸ Ð´Ð»Ñ� Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� %sÐ½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ DMT
 Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº DMT
 Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ DMT psect
@@ -1113,55 +1355,68 @@ Plural-Forms:  nplurals=3; plural=(n%10=
 Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð·Ð°Ð¿Ð¸Ñ�Ð¸ GST
 Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð´Ð»Ð¸Ð½Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ GST
 ÐºÐ»Ð°Ñ�Ñ�: %u, dtype: %u, Ð´Ð»Ð¸Ð½Ð°: %u, ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ: 0x%08x
-Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð² %BÐ½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ‹Ñ�ÐºÐ°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ __ctbpÐ½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ‹Ñ�ÐºÐ°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ __epÐ½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ‹Ñ�ÐºÐ°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ __gpÐ½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ Ð¾Ð±Ñ‰Ð¸Ð¹ Ð¾Ð±Ñ€Ð°Ð· Â«%sÂ» Ð¸Ð· Â«%sÂ»Ð¦ÐŸ=HC11]Ð¦ÐŸ=HC12]Ð¦ÐŸ=HCS12]Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµdelta pc +%-4ddelta_pc_l: +0x%08x
+Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð² %BÐ½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ» %sÐ½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ‹Ñ�ÐºÐ°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ __ctbpÐ½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ‹Ñ�ÐºÐ°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ __epÐ½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ‹Ñ�ÐºÐ°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ __gpÐ½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ Ð¾Ð±Ñ‰Ð¸Ð¹ Ð¾Ð±Ñ€Ð°Ð· Â«%sÂ» Ð¸Ð· Â«%sÂ»Ð¦ÐŸ=HC11]Ð¦ÐŸ=HC12]Ð¦ÐŸ=HCS12]Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€=XGATE]Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµdelta pc +%-4ddelta_pc_l: +0x%08x
 delta_pc_w %u
-Ð´ÐµÑ�Ðºdimct: %u, aflags: 0x%02x, Ñ†Ð¸Ñ„Ñ€: %u, ÑˆÐºÐ°Ð»Ð°: %u
-Ð¾Ñ‚Ð±Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ‹Ð¹ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ»: Â«%AÂ»Ð½ÐµÑ�Ð¼ÐµÐ¶Ð½Ñ‹Ð¹ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ (nbr: %u)
+Ð¾Ð¿Ð¸Ñ�dimct: %u, aflags: 0x%02x, Ñ†Ð¸Ñ„Ñ€: %u, ÑˆÐºÐ°Ð»Ð°: %u
+Ð¾Ñ‚Ð±Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ‹Ð¹ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ»: Â«%AÂ»Ð¾Ñ‚Ð±Ñ€Ð°Ñ�Ñ‹Ð²Ð°ÐµÐ¼ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² FDE Ð² %B(%A).
+Ð½ÐµÑ�Ð¼ÐµÐ¶Ð½Ñ‹Ð¹ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ (nbr: %u)
 Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ°Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€enumbeg, Ð´Ð»Ð¸Ð½Ð°: %u, Ð¸Ð¼Ñ�: %.*s
 enumelt, Ð¸Ð¼Ñ�: %.*s
 enumend
 Ñ�Ð¿Ð¸Ð»Ð¾Ð³: Ñ„Ð»Ð°Ð³Ð¸: %u, Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº: %u
-Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (0x%s) Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð½ÐµÑ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÑŽÑ‰Ð¸Ð¹ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Maverick, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B ÑƒÐ¶Ðµ Ð² ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ BE8Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº ÐºÐ¾Ð´ Ñ� Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸ÐµÐ¹, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ñ†ÐµÐ»ÑŒÑŽ %B Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹ ÐºÐ¾Ð´Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹ ÐºÐ¾Ð´, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ñ†ÐµÐ»ÑŒÑŽ %B Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� ÐºÐ¾Ð´ Ñ� Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸ÐµÐ¹Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�Ð¾Ð±Ñ€Ð°Ð½ Ð´Ð»Ñ� APCS-%d, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ñ�Ð¾Ð±Ñ€Ð°Ð½ Ð´Ð»Ñ� APCS-%dÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� APCS-%d, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ñ†ÐµÐ»ÑŒ %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ APCS-%dÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� EP9312, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� XScaleÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ñ‡Ð¸Ñ�Ð»Ð° Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ð² Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ… Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ð¸Ñ… Ð² Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ…Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ñ‡Ð¸Ñ�Ð»Ð° Ð² Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ…, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ð¸Ñ… Ð² Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ… Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ñ� %B Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð±Ð¾Ð»ÑŒÑˆÐµÐµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ Ð¼Ð°Ñ�Ñ�Ð¸Ð²Ð°, Ñ‡ÐµÐ¼ Ñ�Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¾ Ð² %BÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ñ� %B Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð±Ð¾Ð»ÑŒÑˆÐµÐµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ Ñ�Ñ‚ÐµÐºÐ°, Ñ‡ÐµÐ¼ Ñ�Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¾ Ð² %BÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ FPA, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Maverick, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ VFP, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ñ‹Ðµ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹ VFP, Ð° %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ FP, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ FPÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ñ‹Ðµ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹ iWMMXt, Ð° %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ FP, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ FPÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B: ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰Ð¸Ðµ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð½Ñ‹Ðµ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸ %d/%dÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰Ð¸Ðµ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð½Ñ‹Ðµ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸ %c/%cÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B: ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰ÐµÐµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ R9Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¾Ð±ÑŠÐµÐºÑ‚ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ðµ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ�, ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ñ�Ð±Ð¾Ñ€ÐºÐ¸ Â«%sÂ»error: %B: ÐžÐ±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ‚ÐµÐ³ Â«%d, %sÂ» Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ñ‚ÐµÐ³Ð¾Ð¼ Â«%d, %sÂ»Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰ÐµÐµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ Ð°Ð´Ñ€ÐµÑ�Ð°Ñ†Ð¸Ð¸ SB Ð¸ R9Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð°Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ Ð°Ð´Ñ€ÐµÑ�Ð°Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ Ñ� %BÐ¾ÑˆÐ¸Ð±ÐºÐ°: ÐžÐ±ÑŠÐµÐºÑ‚-Ð¸Ñ�Ñ‚Ð¾Ñ‡Ð½Ð¸Ðº %B Ð¸Ð¼ÐµÐµÑ‚ Ð²ÐµÑ€Ñ�Ð¸ÑŽ EABI %d, Ð° Ñ†ÐµÐ»ÑŒ %B Ð¸Ð¼ÐµÐµÑ‚ Ð²ÐµÑ€Ñ�Ð¸ÑŽ EABI %dÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ fp16 Ñ€Ð°Ñ�Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð² %B Ð¸ %BÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¿Ð¾Ð´Ñ…Ð¾Ð´Ñ�Ñ‰Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ (Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½ -fpic?)Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» __rtinitÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Tag_ABI_array_object_align_expected Ð² %BÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Tag_ABI_array_object_alignment Ð² %BÐ¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾ Ð´Ð»Ñ� Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° APUinfo.Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ñ‡Ð¸Ñ�Ð»Ð¸Ñ‚ÑŒ Ð½Ð¾Ð²Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» APUinfo.Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ð½Ð¾Ð²Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» APUinfo.Ð½ÐµÐ¸Ñ�Ð¿Ñ€Ð°Ð²Ð¸Ð¼Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ .fixupÑƒÐ½Ð¸Ð²ÐµÑ€Ñ�Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸Ðº Ð½Ðµ Ñ�Ð¼Ð¾Ð³ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ %sÐ³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�, Ð½Ð¾ _gp Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°Ñ�ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s
+Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Ñ‚Ð¸Ð¿Ð° Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€Ð° Ð¸Ð· Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… elfÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%#Lx) Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð½ÐµÑ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÑŽÑ‰Ð¸Ð¹ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Maverick, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B ÑƒÐ¶Ðµ Ð² ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ BE8Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº ÐºÐ¾Ð´ Ñ� Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸ÐµÐ¹, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ñ†ÐµÐ»ÑŒÑŽ %B Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹ ÐºÐ¾Ð´Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹ ÐºÐ¾Ð´, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ñ†ÐµÐ»ÑŒÑŽ %B Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� ÐºÐ¾Ð´ Ñ� Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸ÐµÐ¹Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�Ð¾Ð±Ñ€Ð°Ð½ Ð´Ð»Ñ� APCS-%d, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ñ�Ð¾Ð±Ñ€Ð°Ð½ Ð´Ð»Ñ� APCS-%dÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� APCS-%d, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ñ†ÐµÐ»ÑŒ %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ APCS-%dÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� EP9312, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� XScaleÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ñ� %B Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ðµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ, Ð½Ð¾ Ð´Ð»Ñ� %B Ð·Ð°Ð´Ð°Ð½Ð¾ 4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ðµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸ÐµÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ñ‡Ð¸Ñ�Ð»Ð° Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ð² Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ… Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ð¸Ñ… Ð² Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ…Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ñ‡Ð¸Ñ�Ð»Ð° Ð² Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ…, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ð¸Ñ… Ð² Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ… Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ñ� %B Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð±Ð¾Ð»ÑŒÑˆÐµÐµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ Ð¼Ð°Ñ�Ñ�Ð¸Ð²Ð°, Ñ‡ÐµÐ¼ Ñ�Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¾ Ð² %BÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ñ� %B Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð±Ð¾Ð»ÑŒÑˆÐµÐµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ Ñ�Ñ‚ÐµÐºÐ°, Ñ‡ÐµÐ¼ Ñ�Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¾ Ð² %BÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ %s, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %sÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ð² %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ double, Ð½Ð¾ Ð² %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚ 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ doubleÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ FPA, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð² %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� FPU-3.0, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ FPU-2.0Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Maverick, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ VFP, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ñ‹Ðµ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹ VFP, Ð° %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ FP, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ FPÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ñ‹Ðµ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹ iWMMXt, Ð° %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ FP, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ FPÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ð° %s, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ð° %sÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ñ… %s, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ MSP430Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ñ… %s, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ñ… %sÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¾Ð³Ñ€Ð¾Ð¼Ð½ÑƒÑŽ Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ð°, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ MSP430Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð°Ð»ÑƒÑŽ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ñ…, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ñ… %sÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B(%A) Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð²ÐµÐ»Ð¸ÐºÐ¾ (%#Lx Ð±Ð°Ð¹Ñ‚)Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: <Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° x86 ISA: 0x%x>Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: <Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° x86 ISA: 0x%x>Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: <Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ñ�Ð²Ð¾Ð¹Ñ�Ñ‚Ð²Ð° x86: 0x%x>Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð¾Ñ‚ Ñ�Ñ‚Ð°Ñ€ÑˆÐµÐ³Ð¾ Ðº Ð¼Ð»Ð°Ð´ÑˆÐµÐ¼Ñƒ R2 Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�.Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰Ð¸Ðµ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð½Ñ‹Ðµ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸ %d/%dÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰Ð¸Ðµ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð½Ñ‹Ðµ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸ %c/%cÐ¾ÑˆÐ¸Ð±ÐºÐ°: %B: ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰ÐµÐµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ R9Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¾Ð±ÑŠÐµÐºÑ‚ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ðµ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ�, ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ñ�Ð±Ð¾Ñ€ÐºÐ¸ Â«%sÂ»Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ‚ÐµÐ³ Â«%d, %sÂ» Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ñ‚ÐµÐ³Ð¾Ð¼ Â«%d, %sÂ»Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰ÐµÐµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ Ð°Ð´Ñ€ÐµÑ�Ð°Ñ†Ð¸Ð¸ SB Ð¸ R9Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð°error: %B: Ð½ÐµÐ»ÑŒÐ·Ñ� Ñ�Ð¼ÐµÑˆÐ¸Ð²Ð°Ñ‚ÑŒ rf16 Ñ� Ð¿Ð¾Ð»Ð½Ñ‹Ð¼ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð² %B.
+Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ Ñ�Ð¾Ð³Ð»Ð°Ñ�ÑƒÑŽÑ‰Ð¸ÐµÑ�Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ %s Ñ� %s Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ� ISA.
+Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ Ñ�Ð¾Ð³Ð»Ð°Ñ�ÑƒÑŽÑ‰Ð¸ÐµÑ�Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ %s.
+Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ Ñ�Ð¾Ð³Ð»Ð°Ñ�ÑƒÑŽÑ‰Ð¸ÐµÑ�Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ %s: %s Ñ� %s.
+Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ Ð°Ð´Ñ€ÐµÑ�Ð°Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒ Ð¾Ñ�Ð½Ð¾Ð²Ð½Ñ‹Ðµ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ Ð¦ÐŸ %s Ñ� %s.
+Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ %s Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ� ISA.
+Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ Ñ� %BÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»: _SDA_BASE_.Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� IFC.Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ Ð¿Ñ€Ñ‹Ð¶Ð¾Ðº IFC.Ð¾ÑˆÐ¸Ð±ÐºÐ°: ÐžÐ±ÑŠÐµÐºÑ‚-Ð¸Ñ�Ñ‚Ð¾Ñ‡Ð½Ð¸Ðº %B Ð¸Ð¼ÐµÐµÑ‚ Ð²ÐµÑ€Ñ�Ð¸ÑŽ EABI %d, Ð° Ñ†ÐµÐ»ÑŒ %B Ð¸Ð¼ÐµÐµÑ‚ Ð²ÐµÑ€Ñ�Ð¸ÑŽ EABI %dÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ fp16 Ñ€Ð°Ñ�Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð² %B Ð¸ %BÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¿Ð¾Ð´Ñ…Ð¾Ð´Ñ�Ñ‰Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ (Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½ -fpic?)Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» __rtinitÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Tag_ABI_array_object_align_expected Ð² %BÐ¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Tag_ABI_array_object_alignment Ð² %BÐ¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° %s Ñ…Ñ�Ñˆ-Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ ex9.itÐ½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾ Ð´Ð»Ñ� Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° APUinfo.Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ñ‡Ð¸Ñ�Ð»Ð¸Ñ‚ÑŒ Ð½Ð¾Ð²Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» APUinfo.Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ð½Ð¾Ð²Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» APUinfo.Ð½ÐµÐ¸Ñ�Ð¿Ñ€Ð°Ð²Ð¸Ð¼Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ .fixupÑƒÐ½Ð¸Ð²ÐµÑ€Ñ�Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸Ðº Ð½Ðµ Ñ�Ð¼Ð¾Ð³ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ %sÐ³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x, Ð½Ð¾ _gp Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°
+Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�, Ð½Ð¾ _gp Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°Ñ�ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ�ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s
 incr_linum(b): +%u
 incr_linum_l: +%u
 incr_linum_w: +%u
-Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ Ð½ÑƒÐ»Ñ‘Ð¼ Ð´Ð»Ñ� R_LM32_16_GOTÐ²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñ€Ð¸Ñ�ÐºÐ°Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð²Ñ‹Ñ…Ð¾Ð´Ð° Ð¸Ð· Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿Ð¾Ð´Ð¾Ð·Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐµÐ²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð½ÐµÑ�Ð¾Ð³Ð»Ð°Ñ�Ð¾Ð²Ð°Ð½Ð½Ð¾Ñ�Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .got.locÐ²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ Ð½Ðµ-ELF Ð¸ Ð½Ðµ-mmo.
+ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ð¾, Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¾ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x
+Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ Ð½ÑƒÐ»Ñ‘Ð¼ Ð´Ð»Ñ� R_LM32_16_GOTÐ²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ Ð½ÑƒÐ»Ñ‘Ð¼ Ð´Ð»Ñ� R_OR1K_GOT16Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ/Ð¿Ñ€Ñ‹Ð¶Ð¾Ðº Ð¿Ð¾ Ñ�Ñ‚Ñ€Ð°Ð½Ð½Ð¾Ð¼Ñƒ Ð°Ð´Ñ€ÐµÑ�ÑƒÐ²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð¿Ð°Ñ�Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹ Â«%sÂ» Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¾Ð¹ Â«%sÂ» Ñ�Ð¾Ð·Ð´Ð°Ñ‘Ñ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½ÑƒÑŽ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€ÑƒÐ²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð²Ñ‹Ñ…Ð¾Ð´Ð° Ð¸Ð· Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿Ð¾Ð´Ð¾Ð·Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐµÐ²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð½ÐµÑ�Ð¾Ð³Ð»Ð°Ñ�Ð¾Ð²Ð°Ð½Ð½Ð¾Ñ�Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .got.locÐ²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ Ð½Ðµ-ELF Ð¸ Ð½Ðµ-mmo.
  Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñƒ objcopy Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð¸Ð· ELF Ð¸Ð»Ð¸ mmo,
  Ð¸Ð»Ð¸ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Â«-no-expandÂ» (Ð´Ð»Ñ� gcc, Â«-Wa,-no-expandÂ»Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ Ð½Ðµ-ELF Ð¸ Ð½Ðµ-mmo.
  Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñƒ objcopy Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð¸Ð· ELF Ð¸Ð»Ð¸ mmo,
- Ð¸Ð»Ð¸ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ gcc Â«-mno-base-addressesÂ».Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %dÐ½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ %s Ñ� ÐºÐ¾Ð½Ñ‚ÐµÐºÑ�Ñ‚Ð°Ð¼Ð¸ip2k linker: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08lx (Ð½Ð°Ð·Ð½Ð°Ñ‡ = 0x%08lx).ip2k linker: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð°Ñ�Ñ�Ñ� Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08lx (Ð½Ð°Ð·Ð½Ð°Ñ‡ = 0x%08lx).ip2k relaxer: Ð¸Ñ�Ð¿Ð¾Ñ€Ñ‡ÐµÐ½ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹.ip2k relaxer: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹ Ð±ÐµÐ· Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ Ñ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ� Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸.Ð½Ð¾Ð¼ÐµÑ€ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ (Ð´Ð»Ð¸Ð½Ð°: %u)
-ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÐ¼Ñ‹Ð¹ Ð¾Ð±Ñ€Ð°Ð·Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ° Ð² %u Ð³Ñ€ÑƒÐ¿Ð¿Ðµ%s
-  Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ                 %lu
-  Ð¸Ñ�Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ toc           %lu
-  Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ         %lu
-  Ð¸Ñ�Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð´Ð»Ð¸Ð½Ð½Ð¾Ð³Ð¾ long %lu
-  plt-Ð²Ñ‹Ð·Ð¾Ð²                 %luÐ»Ð¸Ñ‚ÐµÑ€Ð°Ð»Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµmep: Ð½ÐµÑ‚ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� ÐºÐ¾Ð´Ð° %dmodbeg
+ Ð¸Ð»Ð¸ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ gcc Â«-mno-base-addressesÂ».Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %dÐ½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ %s Ñ� ÐºÐ¾Ð½Ñ‚ÐµÐºÑ�Ñ‚Ð°Ð¼Ð¸ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸Ðº ip2k: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx (Ð½Ð°Ð·Ð½Ð°Ñ‡ = %#Lx)ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸Ðº ip2k: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð°Ñ�Ñ�Ñ� Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx (Ð½Ð°Ð·Ð½Ð°Ñ‡ = %#Lx)ip2k relaxer: Ð¸Ñ�Ð¿Ð¾Ñ€Ñ‡ÐµÐ½ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹.ip2k relaxer: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹ Ð±ÐµÐ· Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ Ñ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ� Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸.Ð¼ÐµÑ‚ÐºÐ°, Ð¸Ð¼Ñ�: %.*s
+len: %2u, kind: %2u Ð½Ð¾Ð¼ÐµÑ€ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ (Ð´Ð»Ð¸Ð½Ð°: %u)
+ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÐ¼Ñ‹Ð¹ Ð¾Ð±Ñ€Ð°Ð·Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ° Ð² %u Ð³Ñ€ÑƒÐ¿Ð¿Ðµ
+Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ° Ð² %u Ð³Ñ€ÑƒÐ¿Ð¿Ð°Ñ…
+Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ° Ð² %u Ð³Ñ€ÑƒÐ¿Ð¿Ð°Ñ…
+Ð»Ð¸Ñ‚ÐµÑ€Ð°Ð»Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµmach-o: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² (%u), Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ Ð½Ðµ Ð±Ð¾Ð»ÐµÐµ 255,
+mep: Ð½ÐµÑ‚ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� ÐºÐ¾Ð´Ð° %dmodbeg
 modend
-Ñ€Ð¾Ð´Ð½Ð¾Ð¹Ð½ÐµÑ�Ð²Ñ�Ð·Ð½Ñ‹Ð¹ Ð¼Ð°Ñ�Ñ�Ð¸Ð² %s
+Ð¸Ð¼Ñ�: [Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ: %08lx Ð´Ð»Ð¸Ð½Ð° %d]: Ñ€Ð¾Ð´Ð½Ð¾Ð¹Ð¿Ð¾Ñ�Ð²Ð¸Ð»Ð°Ñ�ÑŒ Ð½Ð¾Ð²Ð°Ñ� Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ�(Ð¸), Ð½Ð¾ Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½ Ð²Ñ‹Ð²Ð¾Ð´ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸:Ð½ÐµÑ‚Ð½ÐµÑ�Ð²Ñ�Ð·Ð½Ñ‹Ð¹ Ð¼Ð°Ñ�Ñ�Ð¸Ð² %s
 Ð½Ðµ-Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» %sÐ½Ðµ Ð¾Ð²ÐµÑ€Ð»ÐµÐ¹Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ 0x%v Ð¿Ð»ÑŽÑ� Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¾Ð²ÐµÑ€Ð»ÐµÑ� 0x%v Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ðµ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰Ðµ
-Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @fptrÐ½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð° GOT Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² GOTÐ½Ðµ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾: Ð´Ð°Ð½Ð½Ñ‹Ðµ=%lx Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾=%d
+Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @fptrÐ½Ðµ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ�Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð° GOT Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² GOTÐ½Ðµ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾: Ð´Ð°Ð½Ð½Ñ‹Ðµ=%lx Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾=%d
 Ð½Ðµ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� env Ð½Ðµ Ð·Ð°Ð´Ð°Ð½Ð°
-Ð·Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ðµ: Â«%sÂ» Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð² DSO %B, Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ÐµÐ³Ð¾ Ð² ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½ÑƒÑŽ Ñ�Ñ‚Ñ€Ð¾ÐºÑƒ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ°Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ñ�Ð»Ðµ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ñ�Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¾Ð²ÐµÑ€Ð»ÐµÐ¹Ð½Ð¾Ð¹ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %lxÑ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %lx:Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %lx: Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %x:Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = 0x%lxÑ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = 0x%lx:Ð¿Ñ€Ð¾Ð»Ð¾Ð³: Ð°Ð´Ñ€ÐµÑ� bkpt 0x%08x
-Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»recbeg: Ð¸Ð¼Ñ�: %.*s
+ [Ð½Ðµ Ð·Ð°Ð´Ð°Ð½Ð¾]Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ñ�Ð»Ðµ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ñ�Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¾Ð²ÐµÑ€Ð»ÐµÐ¹Ð½Ð¾Ð¹ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ
+Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %lxÑ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %lx:Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %lx: Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %x:Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = 0x%lxÑ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = 0x%lx:Ð¿Ñ€Ð¾Ð»Ð¾Ð³: Ð°Ð´Ñ€ÐµÑ� bkpt 0x%08x
+Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» recbeg: Ð¸Ð¼Ñ�: %.*s
 recend
-Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð½Ð° Ð±Ð°Ð½ÐºÐ¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� [%lx:%04lx] Ð² Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð¼ Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾Ð¼ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ðµ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %04lxÑ€ÐµÐ³Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%sÂ» Ð¿Ð¾ÐºÐ° Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ Ñ‡Ñ‘Ñ‚Ð½Ñ‹Ð¼ Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¼ÐµÐ¶Ð´Ñƒ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÑŽÑ‚Ñ�Ñ�Ð¿ÐµÑ€ÐµÐ¾Ñ‚ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� %B: %s
+Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð½Ð° Ð±Ð°Ð½ÐºÐ¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� [%lx:%04lx] Ð² Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð¼ Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾Ð¼ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ðµ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %04lxÑ€ÐµÐ³Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%d) *Ð�Ð•Ð˜Ð—Ð’Ð•Ð¡Ð¢Ð�Ðž*Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%sÂ» Ð¿Ð¾ÐºÐ° Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð·Ð° Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ Ñ‡Ñ‘Ñ‚Ð½Ñ‹Ð¼ Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¼ÐµÐ¶Ð´Ñƒ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÑŽÑ‚Ñ�Ñ�Ð¿ÐµÑ€ÐµÐ¾Ñ‚ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� %B: %s
 Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¹ cmd %drtnbeg
 rtnend: Ñ€Ð°Ð·Ð¼ÐµÑ€ 0x%08x
-septyp, Ð¸Ð¼Ñ�: %.*s
+Ð°Ð´Ñ€ÐµÑ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° (%#Lx) Ð¼ÐµÐ½ÑŒÑˆÐµ Ð½Ð°Ñ‡Ð°Ð»Ð° Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° (%#Lx)septyp, Ð¸Ð¼Ñ�: %.*s
 set_abs_pc: 0x%08x
 set_line_num(w) %u
 set_line_num_b %u
 set_line_num_l %u
-Ñ€Ð°Ð·Ð´ÐµÐ» small-data Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ 64ÐšÐ‘ â€” Ð½Ð¸Ð¶Ð½Ð¸Ð¹ Ð¿Ñ€ÐµÐ´ÐµÐ» small-data (Ñ�Ð¼. Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -G)som_sizeof_headers Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ñ…Ñ�Ñ� Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð² Ð² Ñ�Ñ†ÐµÐ½Ð°Ñ€Ð¸Ð¸ auto-overlay Ð¿Ð¾ÐºÐ° Ð½Ðµ Ñ�Ð´ÐµÐ»Ð°Ð½Ð°
-Ð¸Ñ�Ñ‚Ð¾Ñ‡Ð½Ð¸Ðº (Ð´Ð»Ð¸Ð½Ð°: %u)
+Ð¾Ð±Ñ‰Ð¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ€Ð°Ð·Ð´ÐµÐ» small-data Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ 64ÐšÐ‘ â€” Ð½Ð¸Ð¶Ð½Ð¸Ð¹ Ð¿Ñ€ÐµÐ´ÐµÐ» small-data (Ñ�Ð¼. Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -G)som_sizeof_headers Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ñ…Ñ�Ñ� Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð² Ð² Ñ�Ñ†ÐµÐ½Ð°Ñ€Ð¸Ð¸ auto-overlay Ð¿Ð¾ÐºÐ° Ð½Ðµ Ñ�Ð´ÐµÐ»Ð°Ð½Ð°
+Ð˜Ð·Ð²Ð¸Ð½Ð¸Ñ‚Ðµ: modtab, toc Ð¸ extrefsyms Ð¿Ð¾ÐºÐ° Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ‹ Ð´Ð»Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´ dysymtab.Ð¸Ñ�Ñ‚Ð¾Ñ‡Ð½Ð¸Ðº (Ð´Ð»Ð¸Ð½Ð°: %u)
 Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ðµ Ð´Ð°Ð½Ð½Ñ‹Ðµ: %s
-Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ°Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð° (Ð±ÐµÐ· Ð¸Ð¼ÐµÐ½Ð¸)Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð´Ð»Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ .plt, Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ dp = %ldÐ·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð½Ðµ Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð²Ñ‹Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ð¾Ð¼Ñƒ Ñ€Ð°Ð·Ð¼ÐµÑ€ÑƒÑ�Ð¸Ð¼Ð²Ð¾Ð»Ð¼Ð°Ñ�Ñ�Ð¸Ð² Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð²ÐµÑ€Ñ�Ð¸Ð¸ Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹:
-term(b): 0x%02xterm_w: 0x%04xtypspec (Ð´Ð»Ð¸Ð½Ð°: %u)
-Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ ARM-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ '%s' Ð´Ð»Ñ� '%s'Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ THUMB-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ '%s' Ð´Ð»Ñ� '%s'Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð¸Ð· %BÐ½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½ÑƒÑŽ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ 0x%lxÐ½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½ÑƒÑŽ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ 0x%lxÐ½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° Ð±Ð¸Ñ‚ %s
-Ð½ÐµÑ�Ñ�Ð½Ð¾Ðµ Ñ�Ð¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ðµ Ð´Ð»Ñ� Ð½Ðµ-COFF Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° %s Ð² Ñ�Ð»Ð¾Ð¶Ð½Ð¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ðµ: %sÐ½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ egsd-Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ñ‚Ð¸Ð¿Ð° %u
+Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ°Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð° (Ð±ÐµÐ· Ð¸Ð¼ÐµÐ½Ð¸)Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð´Ð»Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ .plt, Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ dp = %LdÐ·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð½Ðµ Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð²Ñ‹Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ð¾Ð¼Ñƒ Ñ€Ð°Ð·Ð¼ÐµÑ€ÑƒÑ�Ð¸Ð¼Ð²Ð¾Ð»Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ð°Ñ�Ñ�Ð¸Ð² Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð²ÐµÑ€Ñ�Ð¸Ð¸ Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹:
+term(b): 0x%02xterm_w: 0x%04xÐ´Ð»Ñ� Ñ†ÐµÐ»Ð¸ bfin Ð¿Ð¾ÐºÐ° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ� ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ� Ñ‚Ð¸Ð¿Ð° Ð´Ð»Ñ� Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð°:
+Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ� Ñ‚Ð¸Ð¿Ð° Ð´Ð»Ñ� subscript %u:
+Ñ‚Ð¸Ð¿Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ
+typspec (Ð´Ð»Ð¸Ð½Ð°: %u)
+Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð´Ð»Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ %#xÐ½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ ARM-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ THUMB-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½ÑƒÑŽ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ %#xÐ½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð¸Ð· %BÐ½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½ÑƒÑŽ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ %#xÐ½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° Ð±Ð¸Ñ‚ %s
+Ð½ÐµÑ�Ñ�Ð½Ð¾Ðµ Ñ�Ð¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ðµ Ð´Ð»Ñ� Ð½Ðµ-COFF Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¾ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° %s Ð² Ñ�Ð»Ð¾Ð¶Ð½Ð¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ðµ: %sÐ½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ egsd-Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ñ‚Ð¸Ð¿Ð° %u
 Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ð¿Ð¾Ð´Ñ‚Ð¸Ð¿ emh %u
-Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� ETIR ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %dÐ½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ° Ð±Ð°Ð¹Ñ‚ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ 0x%lxÐ½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ %dÐ½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ '%c' Ð² Ñ�Ð»Ð¾Ð¶Ð½Ð¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÐµÐ½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¸Ñ�Ñ…Ð¾Ð´Ð½Ð°Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %dÐ½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ STA cmd %sÐ½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¼ÐµÐ¶Ð´Ñƒ Ð°Ð´Ñ€ÐµÑ�Ð½Ñ‹Ð¼ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð¾Ð¼ Ð´Ð°Ð½Ð½Ñ‹Ñ…/insnÐ¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ gpÐ°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850eÐ°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e1Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2v3vflags: 0x%02x, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ: 0x%08x vma:			Ð�Ð°Ñ‡ Ð°Ð´Ñ€ÐµÑ�   	  ÐšÐ¾Ð½ Ð°Ð´Ñ€ÐµÑ�	   Ð Ð°Ñ�ÐºÑ€ Ð´Ð°Ð½Ð½Ñ‹Ðµ
-Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¸ %B Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°ÐµÑ‚Ñ�Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€ wchar_tÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¸ %B Ð¿Ð¾-Ñ€Ð°Ð·Ð½Ð¾Ð¼Ñƒ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ¾Ð´ Ð´Ð»Ñ� DSBTÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s enum, Ñ…Ð¾Ñ‚Ñ� ÑƒÐ¶Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð»Ñ�Ñ� %s enum; Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ enum Ð² Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ñ… Ð¼Ð¾Ð¶ÐµÑ‚ Ð¿Ñ€Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ðº Ð¾ÑˆÐ¸Ð±ÐºÐµÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ð¹ wchar_t, Ñ…Ð¾Ñ‚Ñ� ÑƒÐ¶Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð»Ñ�Ñ� %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ð¹ wchar_t; Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ wchar_t Ð² Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ñ… Ð¼Ð¾Ð¶ÐµÑ‚ Ð¿Ñ€Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ðº Ð¾ÑˆÐ¸Ð±ÐºÐµÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°
-Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñƒ %s Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¸Ð½Ð´ÐµÐºÑ�Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº â€” Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ� %s
-Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð¸Ð¼ÐµÐµÑ‚ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .pdata (%ld) Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ %d
-Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð²Ñ‹Ð·Ð¾Ð² Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð½Ðµ-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %sÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ� Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‰ÐµÐ¹ Ð½Ðµ-PIC ÐºÐ¾Ð´Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ� Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‰ÐµÐ¹ Ð½Ðµ-PID ÐºÐ¾Ð´Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·ÑƒÐµÑ‚Ñ�Ñ� Ð² Ð¿Ñ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸ÐµÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚Ð¸Ð¿ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½ Ð½Ð° PROGBITSÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚Ð¸Ð¿ Ð¸ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s Ð² %BÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s Ð² %sÐ²Ð°Ð¼ Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ�Ñ‚ÑŒ %s Ð² Ñ�Ñ†ÐµÐ½Ð°Ñ€Ð¸Ð¸
\ No newline at end of file
+Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� ETIR ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %dÐ½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ° Ð±Ð°Ð¹Ñ‚ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ %#xÐ½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ %dÐ½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ '%c' Ð² Ñ�Ð»Ð¾Ð¶Ð½Ð¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÐµÐ½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¸Ñ�Ñ…Ð¾Ð´Ð½Ð°Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %dÐ½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾: %xÐ½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MIPS: %dÐ½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (0x%x)Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ STA cmd %sÐ½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¼ÐµÐ¶Ð´Ñƒ Ð°Ð´Ñ€ÐµÑ�Ð½Ñ‹Ð¼ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð¾Ð¼ Ð´Ð°Ð½Ð½Ñ‹Ñ…/insnÐ¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ gpÐ°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850 E3Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850eÐ°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e1Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2v3Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e3v5vflags: 0x%02x, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ: 0x%08x vma:			Ð�Ð°Ñ‡ Ð°Ð´Ñ€ÐµÑ�   	  ÐšÐ¾Ð½ Ð°Ð´Ñ€ÐµÑ�	   Ð Ð°Ñ�ÐºÑ€ Ð´Ð°Ð½Ð½Ñ‹Ðµ
+Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¸ %B Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°ÐµÑ‚Ñ�Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€ wchar_tÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¸ %B Ð¿Ð¾-Ñ€Ð°Ð·Ð½Ð¾Ð¼Ñƒ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ¾Ð´ Ð´Ð»Ñ� DSBTÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñƒ %B Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¸Ð½Ð´ÐµÐºÑ�Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº â€” Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B ÑƒÑ�ÐµÑ‡Ñ‘Ð½: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ñ�Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð° core >= %Lu, Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾: %lluÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s enum, Ñ…Ð¾Ñ‚Ñ� ÑƒÐ¶Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð»Ñ�Ñ� %s enum; Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ enum Ð² Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ñ… Ð¼Ð¾Ð¶ÐµÑ‚ Ð¿Ñ€Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ðº Ð¾ÑˆÐ¸Ð±ÐºÐµÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ð¹ wchar_t, Ñ…Ð¾Ñ‚Ñ� ÑƒÐ¶Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð»Ñ�Ñ� %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ð¹ wchar_t; Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ wchar_t Ð² Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ñ… Ð¼Ð¾Ð¶ÐµÑ‚ Ð¿Ñ€Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ðº Ð¾ÑˆÐ¸Ð±ÐºÐµÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ GNU_PROPERTY_TYPE (%ld): %#lxÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ GNU_PROPERTY_TYPE (%ld), Ñ‚Ð¸Ð¿ (0x%x), Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð´Ð°Ð½Ð½Ñ‹Ñ…: 0x%xÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñƒ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ� ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ñ… Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹: 0x%xÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ñ‚ÐµÐºÐ°: 0x%xÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ GNU_PROPERTY_TYPE (%ld): 0x%xÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°
+Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ� %s
+Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð¸Ð¼ÐµÐµÑ‚ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð²Ñ‹Ð·Ð¾Ð² Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð½Ðµ-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %sÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ñ‚Ð±Ñ€Ð°Ñ�Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %sÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ� Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‰ÐµÐ¹ Ð½Ðµ-PIC ÐºÐ¾Ð´Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ� Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‰ÐµÐ¹ Ð½Ðµ-PID ÐºÐ¾Ð´Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·ÑƒÐµÑ‚Ñ�Ñ� Ð² Ð¿Ñ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸ÐµÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚Ð¸Ð¿ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½ Ð½Ð° PROGBITSÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚Ð¸Ð¿ Ð¸ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s Ð² %BÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s Ð² %BÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñ�ÐµÑ‚Ñ�Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» Ð¿Ð¾ Ð¾Ð³Ñ€Ð¾Ð¼Ð½Ð¾Ð¼Ñƒ (Ñ‚. Ðµ., Ð¾Ñ‚Ñ€Ð¸Ñ†Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¼Ñƒ) Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¼Ñƒ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» xdataÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» xdata
+Ð´Ð°Ð²Ð°Ð¼ Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ�Ñ‚ÑŒ %s Ð² Ñ�Ñ†ÐµÐ½Ð°Ñ€Ð¸Ð¸
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/ru.po ./bfd/po/ru.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/ru.po	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/po/ru.po	2018-07-10 02:06:11.000000000 +0000
@@ -2,176 +2,191 @@
 # Copyright (C) 2003, 2005, 2006, 2009 Free Software Foundation, Inc.
 # This file is distributed under the same license as the binutils package.
 #
-# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2010, 2011, 2012.
+# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2010, 2011, 2012, 2018.
 msgid ""
 msgstr ""
-"Project-Id-Version: bfd 2.22.90\n"
+"Project-Id-Version: bfd 2.30.0\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2011-10-25 11:58+0100\n"
-"PO-Revision-Date: 2012-07-29 11:48+0400\n"
+"POT-Creation-Date: 2018-01-13 13:44+0000\n"
+"PO-Revision-Date: 2018-01-26 20:53+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
-"Language-Team: Russian <gnu@mx.ru>\n"
+"Language-Team: Russian <gnu@d07.ru>\n"
 "Language: ru\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.4\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Lokalize 2.0\n"
 "Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: aout-adobe.c:127
+#: aout-adobe.c:126
+#, c-format
 msgid "%B: Unknown section type in a.out.adobe file: %x\n"
 msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð² Ñ„Ð°Ð¹Ð»Ðµ a.out.adobe: %x\n"
 
-#: aout-cris.c:199
+#: aout-cris.c:200
 #, c-format
-msgid "%s: Invalid relocation type exported: %d"
-msgstr "%s: Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %d"
+msgid "%B: Invalid relocation type exported: %d"
+msgstr "%B: Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %d"
 
-#: aout-cris.c:242
+#: aout-cris.c:244
+#, c-format
 msgid "%B: Invalid relocation type imported: %d"
-msgstr "%s: Ð˜Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %d"
+msgstr "%B: Ð˜Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %d"
 
-#: aout-cris.c:253
+#: aout-cris.c:256
+#, c-format
 msgid "%B: Bad relocation record imported: %d"
 msgstr "%B: Ð˜Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð° Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸: %d"
 
-#: aoutx.h:1273 aoutx.h:1611
+#: aoutx.h:1284 aoutx.h:1636 pdp11.c:1152 pdp11.c:1413
 #, c-format
-msgid "%s: can not represent section `%s' in a.out object file format"
-msgstr "%s: Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð² Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° a.out"
+msgid "%B: can not represent section `%A' in a.out object file format"
+msgstr "%B: Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° a.out"
 
-#: aoutx.h:1577
+#: aoutx.h:1600 pdp11.c:1385
 #, c-format
-msgid "%s: can not represent section for symbol `%s' in a.out object file format"
-msgstr "%s: Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° a.out"
+msgid "%B: can not represent section for symbol `%s' in a.out object file format"
+msgstr "%B: Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° a.out"
 
-#: aoutx.h:1579 vms-alpha.c:7671
+#: aoutx.h:1603 vms-alpha.c:7853
 msgid "*unknown*"
 msgstr "*Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾*"
 
-#: aoutx.h:4018 aoutx.h:4344
+#: aoutx.h:2422 aoutx.h:2440
+msgid "%B: attempt to write out unknown reloc type"
+msgstr "%B: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ð³Ð¾ Ñ‚Ð¸Ð¿Ð° Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�"
+
+#: aoutx.h:4093 aoutx.h:4414
 msgid "%P: %B: unexpected relocation type\n"
 msgstr "%P: %B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�\n"
 
-#: aoutx.h:5375
+#: aoutx.h:5440 pdp11.c:3708
 #, c-format
-msgid "%s: relocatable link from %s to %s not supported"
-msgstr "%s: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð¸Ð· %s Ð² %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�"
+msgid "%B: relocatable link from %s to %s not supported"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð¸Ð· %s Ð² %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�"
 
-#: archive.c:2203
+#: archive.c:2305
 msgid "Warning: writing archive was slow: rewriting timestamp\n"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ Ð² Ð°Ñ€Ñ…Ð¸Ð²: Ð¾Ð±Ð½Ð¾Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð¼ÐµÑ‚ÐºÐ° Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸\n"
 
-#: archive.c:2491
+#: archive.c:2421 linker.c:1410
+msgid "%B: plugin needed to handle lto object"
+msgstr "%B: Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° lto Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð¼Ð¾Ð´ÑƒÐ»ÑŒ"
+
+#: archive.c:2650
 msgid "Reading archive file mod timestamp"
-msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ð¼ÐµÑ‚ÐºÐ¸ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð°Ñ€Ñ…Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° mod"
+msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ð¼ÐµÑ‚ÐºÐ¸ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ� Ð°Ñ€Ñ…Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°"
 
-#: archive.c:2515
+#: archive.c:2674
 msgid "Writing updated armap timestamp"
 msgstr "Ð—Ð°Ð¿Ð¸Ñ�ÑŒ Ð¾Ð±Ð½Ð¾Ð²Ð»Ñ‘Ð½Ð½Ð¾Ð¹ Ð¼ÐµÑ‚ÐºÐ¸ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ armap"
 
-#: bfd.c:398
+#: bfd.c:454
 msgid "No error"
 msgstr "Ð�ÐµÑ‚ Ð¾ÑˆÐ¸Ð±ÐºÐ¸"
 
-#: bfd.c:399
+#: bfd.c:455
 msgid "System call error"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ð°"
 
-#: bfd.c:400
+#: bfd.c:456
 msgid "Invalid bfd target"
 msgstr "Ð�ÐµÐ²ÐµÑ€Ð½Ð°Ñ� Ñ†ÐµÐ»ÑŒ bfd"
 
-#: bfd.c:401
+#: bfd.c:457
 msgid "File in wrong format"
 msgstr "Ð¤Ð°Ð¹Ð» Ð² Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ"
 
-#: bfd.c:402
+#: bfd.c:458
 msgid "Archive object file in wrong format"
 msgstr "Ð�Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ð² Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ"
 
-#: bfd.c:403
+#: bfd.c:459
 msgid "Invalid operation"
 msgstr "Ð�ÐµÐ²ÐµÑ€Ð½Ð°Ñ� Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ�"
 
-#: bfd.c:404
+#: bfd.c:460
 msgid "Memory exhausted"
 msgstr "Ð—Ð°ÐºÐ¾Ð½Ñ‡Ð¸Ð»Ð°Ñ�ÑŒ Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ"
 
-#: bfd.c:405
+#: bfd.c:461
 msgid "No symbols"
 msgstr "Ð�ÐµÑ‚ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²"
 
-#: bfd.c:406
+#: bfd.c:462
 msgid "Archive has no index; run ranlib to add one"
 msgstr "Ð�Ñ€Ñ…Ð¸Ð² Ð±ÐµÐ· Ð¸Ð½Ð´ÐµÐºÑ�Ð°; Ð·Ð°Ð¿ÑƒÑ�Ðº ranlib Ð´Ð»Ñ� Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ�"
 
-#: bfd.c:407
+#: bfd.c:463
 msgid "No more archived files"
 msgstr "Ð�Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ðµ Ñ„Ð°Ð¹Ð»Ñ‹ Ð·Ð°ÐºÐ¾Ð½Ñ‡Ð¸Ð»Ð¸Ñ�ÑŒ"
 
-#: bfd.c:408
+#: bfd.c:464
 msgid "Malformed archive"
 msgstr "Ð˜Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ñ‹Ð¹ Ð°Ñ€Ñ…Ð¸Ð²"
 
-#: bfd.c:409
+#: bfd.c:465
+msgid "DSO missing from command line"
+msgstr "Ð’ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ Ñ�Ñ‚Ñ€Ð¾ÐºÐµ Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½ DSO"
+
+#: bfd.c:466
 msgid "File format not recognized"
 msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ Ñ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½"
 
-#: bfd.c:410
+#: bfd.c:467
 msgid "File format is ambiguous"
 msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½"
 
-#: bfd.c:411
+#: bfd.c:468
 msgid "Section has no contents"
 msgstr "Ð Ð°Ð·Ð´ÐµÐ» Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾"
 
-#: bfd.c:412
+#: bfd.c:469
 msgid "Nonrepresentable section on output"
 msgstr "Ð Ð°Ð·Ð´ÐµÐ», Ð½ÐµÐ¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ð¼Ñ‹Ð¹ Ð´Ð»Ñ� Ð²Ñ‹Ð²Ð¾Ð´Ð°"
 
-#: bfd.c:413
+#: bfd.c:470
 msgid "Symbol needs debug section which does not exist"
 msgstr "Ð”Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ», Ð½Ð¾ ÐµÐ³Ð¾ Ð½Ðµ Ñ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚"
 
-#: bfd.c:414
+#: bfd.c:471
 msgid "Bad value"
 msgstr "Ð�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ"
 
-#: bfd.c:415
+#: bfd.c:472
 msgid "File truncated"
 msgstr "Ð¤Ð°Ð¹Ð» ÑƒÑ�ÐµÑ‡Ñ‘Ð½"
 
-#: bfd.c:416
+#: bfd.c:473
 msgid "File too big"
 msgstr "Ð¤Ð°Ð¹Ð» Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹"
 
-#: bfd.c:417
+#: bfd.c:474
 #, c-format
 msgid "Error reading %s: %s"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� %s: %s"
 
-#: bfd.c:418
+#: bfd.c:475
 msgid "#<Invalid error code>"
 msgstr "#<Ð�ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ ÐºÐ¾Ð´ Ð¾ÑˆÐ¸Ð±ÐºÐ¸>"
 
-#: bfd.c:945
+#: bfd.c:1442
 #, c-format
 msgid "BFD %s assertion fail %s:%d"
 msgstr "ÐžÐ¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ� BFD %s Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶Ð¸Ð» Ð¾ÑˆÐ¸Ð±ÐºÑƒ %s:%d"
 
-#: bfd.c:957
+#: bfd.c:1455
 #, c-format
-msgid "BFD %s internal error, aborting at %s line %d in %s\n"
-msgstr "Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° BFD %s, Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð² Ð½Ð° %s, Ñ�Ñ‚Ñ€Ð¾ÐºÐ° %d Ð² %s\n"
+msgid "BFD %s internal error, aborting at %s:%d in %s\n"
+msgstr "Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° BFD %s, Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð² Ð½Ð° %s:%d Ð² %s\n"
 
-#: bfd.c:961
+#: bfd.c:1460
 #, c-format
-msgid "BFD %s internal error, aborting at %s line %d\n"
-msgstr "Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° BFD %s, Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð² Ð½Ð° %s, Ñ�Ñ‚Ñ€Ð¾ÐºÐ° %d\n"
+msgid "BFD %s internal error, aborting at %s:%d\n"
+msgstr "Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° BFD %s, Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð² Ð½Ð° %s:%d\n"
 
-#: bfd.c:963
+#: bfd.c:1462
 msgid "Please report this bug.\n"
 msgstr "ÐŸÐ¾Ð¶Ð°Ð»ÑƒÐ¹Ñ�Ñ‚Ð°, Ñ�Ð¾Ð¾Ð±Ñ‰Ð¸Ñ‚Ðµ Ð¾Ð± Ñ�Ñ‚Ð¾Ð¹ Ð¾ÑˆÐ¸Ð±ÐºÐµ.\n"
 
@@ -185,22 +200,23 @@ msgstr "Ð½Ðµ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾: Ð´Ð°Ð
 msgid "not mapping: env var not set\n"
 msgstr "Ð½Ðµ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� env Ð½Ðµ Ð·Ð°Ð´Ð°Ð½Ð°\n"
 
-#: binary.c:271
+#: binary.c:276
 #, c-format
-msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx."
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð’Ñ‹Ð¿Ð¾Ð»Ð½Ñ�ÐµÑ‚Ñ�Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ» Ð² Ñ„Ð°Ð¹Ð» Ð¿Ð¾ Ð¾Ð³Ñ€Ð¾Ð¼Ð½Ð¾Ð¼Ñƒ (Ñ‚.Ðµ. Ð¾Ñ‚Ñ€Ð¸Ñ†Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¼Ñƒ) Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ 0x%lx."
+msgid "warning: writing section `%A' at huge (ie negative) file offset"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñ�ÐµÑ‚Ñ�Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» Ð¿Ð¾ Ð¾Ð³Ñ€Ð¾Ð¼Ð½Ð¾Ð¼Ñƒ (Ñ‚. Ðµ., Ð¾Ñ‚Ñ€Ð¸Ñ†Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¼Ñƒ) Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¼Ñƒ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ"
 
-#: bout.c:1146 elf-m10300.c:2063 elf32-avr.c:1654 elf32-frv.c:5734
-#: elfxx-sparc.c:2802 reloc.c:6115 reloc16.c:162 elf32-ia64.c:360
-#: elf64-ia64.c:360
+#: bout.c:1142 elf-m10300.c:2647 elf32-avr.c:2484 elf32-frv.c:5633
+#: elf64-ia64-vms.c:353 elfxx-sparc.c:2817 reloc.c:8059 reloc16.c:156
+#: elf32-ia64.c:351 elf64-ia64.c:351
 msgid "%P%F: --relax and -r may not be used together\n"
 msgstr "%P%F: --relax Ð¸ -r Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð²Ð¼ÐµÑ�Ñ‚Ðµ\n"
 
-#: cache.c:227
+#: cache.c:273
+#, c-format
 msgid "reopening %B: %s\n"
 msgstr "Ð¿ÐµÑ€ÐµÐ¾Ñ‚ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� %B: %s\n"
 
-#: coff-alpha.c:491
+#: coff-alpha.c:450
 msgid ""
 "%B: Cannot handle compressed Alpha binaries.\n"
 "   Use compiler flags, or objZ, to generate uncompressed binaries."
@@ -208,42 +224,44 @@ msgstr ""
 "%B: Ð�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¶Ð°Ñ‚Ñ‹Ðµ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ñ‹Ðµ Ñ„Ð°Ð¹Ð»Ñ‹ Alpha.\n"
 "   Ð”Ð»Ñ� Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ� Ð½ÐµÑ�Ð¶Ð°Ñ‚Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð² Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñ�Ñ‚Ð¾Ñ€Ð° Ð¸Ð»Ð¸ objZ."
 
-#: coff-alpha.c:648
+#: coff-alpha.c:602
 msgid "%B: unknown/unsupported relocation type %d"
 msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹/Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d"
 
-#: coff-alpha.c:900 coff-alpha.c:937 coff-alpha.c:2025 coff-mips.c:1003
+#: coff-alpha.c:851 coff-alpha.c:888 coff-alpha.c:1961 coff-mips.c:950
 msgid "GP relative relocation used when GP not defined"
 msgstr "Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¾ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GP, Ð½Ð¾ GP Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°"
 
-#: coff-alpha.c:1502
+#: coff-alpha.c:1444
 msgid "using multiple gp values"
 msgstr "Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ gp"
 
-#: coff-alpha.c:1561
+#: coff-alpha.c:1503
 msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH"
 msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: ALPHA_R_GPRELHIGH"
 
-#: coff-alpha.c:1568
+#: coff-alpha.c:1510
 msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
 msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: ALPHA_R_GPRELLOW"
 
-#: coff-alpha.c:1575 elf32-m32r.c:2484 elf64-alpha.c:4074 elf64-alpha.c:4224
-#: elf32-ia64.c:3839 elf64-ia64.c:3839
+#: coff-alpha.c:1518 elf32-i370.c:1081 elf32-m32r.c:2404
+#: elf32-microblaze.c:932 elf64-alpha.c:4098 elf64-alpha.c:4246
+#: elf64-ia64-vms.c:3430 elf32-ia64.c:3847 elf64-ia64.c:3847
+#, c-format
 msgid "%B: unknown relocation type %d"
 msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %d"
 
-#: coff-arm.c:1038
+#: coff-arm.c:1037
 #, c-format
 msgid "%B: unable to find THUMB glue '%s' for `%s'"
 msgstr "%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ THUMB-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»"
 
-#: coff-arm.c:1067
+#: coff-arm.c:1066
 #, c-format
 msgid "%B: unable to find ARM glue '%s' for `%s'"
 msgstr "%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ ARM-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»"
 
-#: coff-arm.c:1369 elf32-arm.c:7023
+#: coff-arm.c:1368 elf32-arm.c:8896
 #, c-format
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
@@ -252,7 +270,7 @@ msgstr ""
 "%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°.\n"
 "  Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: arm-Ð²Ñ‹Ð·Ð¾Ð² Ð² thumb"
 
-#: coff-arm.c:1459
+#: coff-arm.c:1458
 #, c-format
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
@@ -263,317 +281,534 @@ msgstr ""
 "  Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: thumb-Ð²Ñ‹Ð·Ð¾Ð² Ð² arm\n"
 "  Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚Ðµ Ð¿ÐµÑ€ÐµÑ�Ð±Ð¾Ñ€ÐºÑƒ Ñ� Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ñ‹Ð¼ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --support-old-code"
 
-#: coff-arm.c:1754 coff-tic80.c:695 cofflink.c:3081
-msgid "%B: bad reloc address 0x%lx in section `%A'"
-msgstr "%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»"
-
-#: coff-arm.c:2079
-msgid "%B: illegal symbol index in reloc: %d"
-msgstr "%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸: %d"
+#: coff-arm.c:1751 coff-tic80.c:672 cofflink.c:3127
+#, c-format
+msgid "%B: bad reloc address %#Lx in section `%A'"
+msgstr "%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»"
+
+#: coff-arm.c:2076
+#, c-format
+msgid "%B: illegal symbol index in reloc: %ld"
+msgstr "%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸: %ld"
 
-#: coff-arm.c:2210
+#: coff-arm.c:2208
 #, c-format
 msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�Ð¾Ð±Ñ€Ð°Ð½ Ð´Ð»Ñ� APCS-%d, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ñ�Ð¾Ð±Ñ€Ð°Ð½ Ð´Ð»Ñ� APCS-%d"
 
-#: coff-arm.c:2226 elf32-arm.c:15621
+#: coff-arm.c:2221 elf32-arm.c:19582
 #, c-format
 msgid "error: %B passes floats in float registers, whereas %B passes them in integer registers"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ñ‡Ð¸Ñ�Ð»Ð° Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ð² Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ… Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ð¸Ñ… Ð² Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ…"
 
-#: coff-arm.c:2229 elf32-arm.c:15625
+#: coff-arm.c:2226 elf32-arm.c:19586
 #, c-format
 msgid "error: %B passes floats in integer registers, whereas %B passes them in float registers"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ñ‡Ð¸Ñ�Ð»Ð° Ð² Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ…, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ð¸Ñ… Ð² Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ… Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹"
 
-#: coff-arm.c:2243
+#: coff-arm.c:2238
 #, c-format
 msgid "error: %B is compiled as position independent code, whereas target %B is absolute position"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹ ÐºÐ¾Ð´, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ñ†ÐµÐ»ÑŒÑŽ %B Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� ÐºÐ¾Ð´ Ñ� Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸ÐµÐ¹"
 
-#: coff-arm.c:2246
+#: coff-arm.c:2243
 #, c-format
 msgid "error: %B is compiled as absolute position code, whereas target %B is position independent"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº ÐºÐ¾Ð´ Ñ� Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸ÐµÐ¹, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ñ†ÐµÐ»ÑŒÑŽ %B Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹ ÐºÐ¾Ð´"
 
-#: coff-arm.c:2274 elf32-arm.c:15690
+#: coff-arm.c:2270 elf32-arm.c:19651
 #, c-format
 msgid "Warning: %B supports interworking, whereas %B does not"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½ÑƒÑŽ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½ÐµÑ‚"
 
-#: coff-arm.c:2277 elf32-arm.c:15696
+#: coff-arm.c:2275 elf32-arm.c:19657
 #, c-format
 msgid "Warning: %B does not support interworking, whereas %B does"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½ÑƒÑŽ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚"
 
-#: coff-arm.c:2301
+#: coff-arm.c:2298
 #, c-format
 msgid "private flags = %x:"
 msgstr "Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %x:"
 
-#: coff-arm.c:2309 elf32-arm.c:11806
+#: coff-arm.c:2306 elf32-arm.c:14160
 #, c-format
 msgid " [floats passed in float registers]"
 msgstr " [Ñ‡Ð¸Ñ�Ð»Ð° Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ð¿ÐµÑ€ÐµÐ´Ð°ÑŽÑ‚Ñ�Ñ� Ð² Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ… Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹]"
 
-#: coff-arm.c:2311
+#: coff-arm.c:2308
 #, c-format
 msgid " [floats passed in integer registers]"
 msgstr " [Ñ‡Ð¸Ñ�Ð»Ð° Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ð¿ÐµÑ€ÐµÐ´Ð°ÑŽÑ‚Ñ�Ñ� Ð² Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°Ñ…]"
 
-#: coff-arm.c:2314 elf32-arm.c:11809
+#: coff-arm.c:2311 elf32-arm.c:14163
 #, c-format
 msgid " [position independent]"
 msgstr " [Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹]"
 
-#: coff-arm.c:2316
+#: coff-arm.c:2313
 #, c-format
 msgid " [absolute position]"
 msgstr " [Ñ� Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸ÐµÐ¹]"
 
-#: coff-arm.c:2320
+#: coff-arm.c:2317
 #, c-format
 msgid " [interworking flag not initialised]"
 msgstr " [Ñ„Ð»Ð°Ð³ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð½Ðµ ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½]"
 
-#: coff-arm.c:2322
+#: coff-arm.c:2319
 #, c-format
 msgid " [interworking supported]"
 msgstr " [Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð°]"
 
-#: coff-arm.c:2324
+#: coff-arm.c:2321
 #, c-format
 msgid " [interworking not supported]"
 msgstr " [Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�]"
 
-#: coff-arm.c:2370 elf32-arm.c:10841
-#, c-format
+#: coff-arm.c:2366 elf32-arm.c:13021
 msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¤Ð»Ð°Ð³ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð´Ð»Ñ� %B Ð½Ðµ ÑƒÑ�Ñ‚Ð°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�, Ñ‚Ð°Ðº ÐºÐ°Ðº Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ð½ ÑƒÐ¶Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½ÑƒÑŽ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ"
 
-#: coff-arm.c:2374 elf32-arm.c:10845
-#, c-format
+#: coff-arm.c:2369 elf32-arm.c:13025
 msgid "Warning: Clearing the interworking flag of %B due to outside request"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÐžÑ‡Ð¸Ñ‰Ð°ÐµÑ‚Ñ�Ñ� Ñ„Ð»Ð°Ð³ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð´Ð»Ñ� %B Ð¿Ð¾ Ð²Ð½ÐµÑˆÐ½ÐµÐ¼Ñƒ Ð·Ð°Ð¿Ñ€Ð¾Ñ�Ñƒ"
 
-#: coff-h8300.c:1122
+#: coff-arm.c:2426 elf32-arm.c:13070
+#, c-format
+msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¡Ð±Ñ€Ð¾Ñ� Ñ„Ð»Ð°Ð³Ð° Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ %B, ÐºÐ°Ðº Ñ� Ð½Ð¸Ð¼ Ð±Ñ‹Ð» Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½ ÐºÐ¾Ð´ Ð±ÐµÐ· Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð¸Ð· %B"
+
+#: coff-h8300.c:1068
 #, c-format
 msgid "cannot handle R_MEM_INDIRECT reloc when using %s output"
 msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_MEM_INDIRECT, ÐµÑ�Ð»Ð¸ Ð´Ð»Ñ� Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� %s"
 
-#: coff-i860.c:147
+#: coff-i860.c:151
 #, c-format
 msgid "relocation `%s' not yet implemented"
 msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%sÂ» Ð¿Ð¾ÐºÐ° Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾"
 
-#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5198
+#: coff-i860.c:613 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5343
+#, c-format
 msgid "%B: warning: illegal symbol index %ld in relocs"
 msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %ld Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ñ…"
 
-#: coff-i960.c:144 coff-i960.c:507
+#: coff-i960.c:122 coff-i960.c:475
 msgid "uncertain calling convention for non-COFF symbol"
 msgstr "Ð½ÐµÑ�Ñ�Ð½Ð¾Ðµ Ñ�Ð¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ðµ Ð´Ð»Ñ� Ð½Ðµ-COFF Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°"
 
-#: coff-m68k.c:506 elf32-bfin.c:5690 elf32-cr16.c:2897 elf32-m68k.c:4677
+#: coff-m68k.c:488 elf32-bfin.c:5340 elf32-cr16.c:2801 elf32-m68k.c:4385
 msgid "unsupported reloc type"
 msgstr "Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�"
 
-#: coff-mips.c:688 elf32-mips.c:1516 elf32-score.c:431 elf32-score7.c:330
-#: elf64-mips.c:2618 elfn32-mips.c:2431
+#: coff-mips.c:640 elf32-mips.c:1744 elf32-score.c:430 elf32-score7.c:330
+#: elf64-mips.c:3135 elfn32-mips.c:2958
 msgid "GP relative relocation when _gp not defined"
 msgstr "ÐžÑ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GP, Ð½Ð¾ _gp Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°"
 
-#: coff-or32.c:229
-msgid "Unrecognized reloc"
-msgstr "Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
-
-#: coff-rs6000.c:2720
+#: coff-rs6000.c:2773
 #, c-format
-msgid "%s: unsupported relocation type 0x%02x"
-msgstr "%s: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%02x"
+msgid "%B: unsupported relocation type 0x%02x"
+msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%02x"
 
-#: coff-rs6000.c:2805
+#: coff-rs6000.c:2859
 #, c-format
-msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
-msgstr "%s: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ TOC Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%x Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð±ÐµÐ· Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° TOC"
+msgid "%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ TOC Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð±ÐµÐ· Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° TOC"
 
-#: coff-rs6000.c:3556 coff64-rs6000.c:2111
+#: coff-rs6000.c:3605 coff64-rs6000.c:2150
+#, c-format
 msgid "%B: symbol `%s' has unrecognized smclas %d"
 msgstr "%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ smclas %d"
 
-#: coff-sh.c:521
+#: coff-sh.c:504
 #, c-format
 msgid "SH Error: unknown reloc type %d"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° SH: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d"
 
-#: coff-tic4x.c:195 coff-tic54x.c:299 coff-tic80.c:458
+#: coff-sh.c:778 elf32-sh.c:580
 #, c-format
-msgid "Unrecognized reloc type 0x%x"
-msgstr "Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%x"
+msgid "%B: %#Lx: warning: bad R_SH_USES offset"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_USES"
+
+#: coff-sh.c:789
+#, c-format
+msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_SH_USES ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ insn %#x"
+
+#: coff-sh.c:807 elf32-sh.c:610
+#, c-format
+msgid "%B: %#Lx: warning: bad R_SH_USES load offset"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¾Ñ‡Ð½Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_USES"
+
+#: coff-sh.c:832 elf32-sh.c:626
+#, c-format
+msgid "%B: %#Lx: warning: could not find expected reloc"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
 
-#: coff-tic4x.c:240
+#: coff-sh.c:849 elf32-sh.c:655
 #, c-format
-msgid "%s: warning: illegal symbol index %ld in relocs"
-msgstr "%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ñ… Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %ld"
+msgid "%B: %#Lx: warning: symbol in unexpected section"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ"
 
-#: coff-w65.c:367
+#: coff-sh.c:975 elf32-sh.c:785
+#, c-format
+msgid "%B: %#Lx: warning: could not find expected COUNT reloc"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ COUNT"
+
+#: coff-sh.c:985 elf32-sh.c:795
+#, c-format
+msgid "%B: %#Lx: warning: bad count"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº"
+
+#: coff-sh.c:1357 coff-sh.c:2645 elf32-sh.c:1199 elf32-sh.c:1570
+#, c-format
+msgid "%B: %#Lx: fatal: reloc overflow while relaxing"
+msgstr "%B: %#Lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¿Ñ€Ð¸ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ð¸"
+
+#: coff-sh.c:1452
+msgid "%B: fatal: generic symbols retrieved before relaxing"
+msgstr "%B: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð¿ÐµÑ€ÐµÐ´ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸ÐµÐ¼ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ñ‹ Ð¾Ð±Ñ‰Ð¸Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹"
+
+#: coff-sh.c:2783 cofflink.c:2965
+#, c-format
+msgid "%B: illegal symbol index %ld in relocs"
+msgstr "%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %ld Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ñ…"
+
+#: coff-tic4x.c:183 coff-tic54x.c:278 coff-tic80.c:441
+#, c-format
+msgid "Unrecognized reloc type 0x%x"
+msgstr "Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%x"
+
+#: coff-w65.c:352
 #, c-format
 msgid "ignoring reloc %s\n"
 msgstr "Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s\n"
 
-#: coffcode.h:997
+#: coffcode.h:968
+msgid "%B: unable to load COMDAT section name"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ Ð¸Ð¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° COMDAT"
+
+#. Malformed input files can trigger this test.
+#. cf PR 21781.
+#: coffcode.h:1003
+msgid "%B: error: unexpected symbol '%s' in COMDAT section"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ COMDAT"
+
+#: coffcode.h:1015
+#, c-format
 msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
-msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: COMDAT Ñ�Ð¸Ð¼Ð²Ð¾Ð» '%s' Ð½Ðµ Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð¸Ð¼ÐµÐ½Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° '%s'"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² COMDAT Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»"
+
+#: coffcode.h:1025
+#, c-format
+msgid "%B: warning: No symbol for section '%s' found"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»"
 
 #. Generate a warning message rather using the 'unhandled'
 #. variable as this will allow some .sys files generate by
 #. other toolchains to be processed.  See bugzilla issue 196.
-#: coffcode.h:1221
+#: coffcode.h:1251
+#, c-format
 msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
-msgstr "%B: ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð˜Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ„Ð»Ð°Ð³ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° IMAGE_SCN_MEM_NOT_PAGED Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %s"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ„Ð»Ð°Ð³ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° IMAGE_SCN_MEM_NOT_PAGED Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %s"
+
+#: coffcode.h:1320
+#, c-format
+msgid "%B (%s): Section flag %s (%#lx) ignored"
+msgstr "%B (%s): Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ„Ð»Ð°Ð³ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s (%#lx)"
 
-#: coffcode.h:1288
-msgid "%B (%s): Section flag %s (0x%x) ignored"
-msgstr "%B (%s): Ð˜Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ„Ð»Ð°Ð³ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s (0x%x)"
+#: coffcode.h:1950
+msgid "%B: warning: claims to have 0xffff relocs, without overflow"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÑƒÑ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ðµ Ð¸Ð¼ÐµÑ‚ÑŒ 0xffff Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹, Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ�"
 
-#: coffcode.h:2430
+#: coffcode.h:2466
 #, c-format
 msgid "Unrecognized TI COFF target id '0x%x'"
-msgstr "Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ Ñ†ÐµÐ»Ð¸ TI COFF '0x%x'"
+msgstr "Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ Ñ†ÐµÐ»Ð¸ TI COFF Â«0x%xÂ»"
 
-#: coffcode.h:2744
-msgid "%B: reloc against a non-existant symbol index: %ld"
+#: coffcode.h:2784
+#, c-format
+msgid "%B: reloc against a non-existent symbol index: %ld"
 msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿Ð¾ Ð½ÐµÑ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÑŽÑ‰ÐµÐ¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¸Ð½Ð´ÐµÐºÑ�Ñƒ: %ld"
 
-#: coffcode.h:3302
+#: coffcode.h:3187
+#, c-format
+msgid "%B: page size is too large (0x%x)"
+msgstr "%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ñ‹ (0x%x)"
+
+#: coffcode.h:3347
+#, c-format
 msgid "%B: too many sections (%d)"
-msgstr "%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²: (%d)"
+msgstr "%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² (%d)"
 
-#: coffcode.h:3718
-msgid "%B: section %s: string table overflow at offset %ld"
-msgstr "%B: Ñ€Ð°Ð·Ð´ÐµÐ» %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ñ‚Ñ€Ð¾Ðº Ð¿Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ %d"
+#: coffcode.h:3768
+#, c-format
+msgid "%B: section %A: string table overflow at offset %ld"
+msgstr "%B: Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ñ‚Ñ€Ð¾Ðº Ð¿Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ %ld"
+
+#: coffcode.h:3873
+#, c-format
+msgid "%B:%s section %s: alignment 2**%u not representable"
+msgstr "%B:%s Ñ€Ð°Ð·Ð´ÐµÐ» %s: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ 2**%u Ð½Ðµ Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ð¼Ð¾"
+
+#: coffcode.h:4592
+msgid "%B: warning: line number count (%#lx) exceeds section size (%#lx)"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð° Ñ�Ñ‚Ñ€Ð¾Ðº (%#lx) Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° (%#lx)"
 
-#: coffcode.h:4523
+#: coffcode.h:4607
 msgid "%B: warning: line number table read failed"
 msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñƒ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº"
 
-#: coffcode.h:4553
-msgid "%B: warning: illegal symbol index %ld in line numbers"
-msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %ld Ð² Ð½Ð¾Ð¼ÐµÑ€Ð°Ñ… Ñ�Ñ‚Ñ€Ð¾Ðº"
+#: coffcode.h:4641 coffcode.h:4655
+#, c-format
+msgid "%B: warning: illegal symbol index 0x%lx in line number entry %d"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� 0x%lx Ð² Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ %d"
+
+#: coffcode.h:4669
+#, c-format
+msgid "%B: warning: illegal symbol in line number entry %d"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %d Ð² Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸"
 
-#: coffcode.h:4567
+#: coffcode.h:4682
+#, c-format
 msgid "%B: warning: duplicate line number information for `%s'"
 msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð°Ñ�Ñ�Ñ� Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ� Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ� Â«%sÂ»"
 
-#: coffcode.h:4967
+#: coffcode.h:5103
+#, c-format
 msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
-msgstr "%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ ÐºÐ»Ð°Ñ�Ñ� Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ� %d Ð´Ð»Ñ� %s, Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ ÐºÐ»Ð°Ñ�Ñ� Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ� %d Ð´Ð»Ñ� %s, Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»"
 
-#: coffcode.h:5093
+#: coffcode.h:5236
+#, c-format
 msgid "warning: %B: local symbol `%s' has no section"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°"
 
-#: coffcode.h:5237
-msgid "%B: illegal relocation type %d at address 0x%lx"
-msgstr "%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx"
-
-#: coffgen.c:1595
-msgid "%B: bad string table size %lu"
-msgstr "%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ñ‚Ñ€Ð¾Ðº %lu"
+#: coffcode.h:5383
+#, c-format
+msgid "%B: illegal relocation type %d at address %#Lx"
+msgstr "%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx"
+
+#: coffgen.c:178 elf.c:1198
+#, c-format
+msgid "%B: unable to initialize compress status for section %s"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ�Ð¾Ñ�Ñ‚Ð¾Ñ�Ð½Ð¸Ðµ Ñ�Ð¶Ð°Ñ‚Ð¸Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s"
+
+#: coffgen.c:202 elf.c:1209
+#, c-format
+msgid "%B: unable to initialize decompress status for section %s"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ�Ð¾Ñ�Ñ‚Ð¾Ñ�Ð½Ð¸Ðµ Ñ€Ð°Ð·Ð¶Ð°Ñ‚Ð¸Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s"
+
+#: coffgen.c:1649
+msgid "%B: corrupt symbol count: %#Lx"
+msgstr "%B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²: %#Lx"
 
-#: coffgen.c:2500 elflink.c:12689 linker.c:3122
+#. PR 21013: Provide an error message when the alloc fails.
+#: coffgen.c:1658
+msgid "%B: not enough memory to allocate space for %#Lx symbols of size %#Lx"
+msgstr "%B: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ Ð´Ð»Ñ� Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� Ð¼ÐµÑ�Ñ‚Ð° Ð´Ð»Ñ� %#Lx Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ %#Lx"
+
+#: coffgen.c:1725
+#, c-format
+msgid "%B: bad string table size %Lu"
+msgstr "%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ñ‚Ñ€Ð¾Ðº %Lu"
+
+#: coffgen.c:1902 coffgen.c:1962 coffgen.c:1980 cofflink.c:2045
+#: xcofflink.c:4507
+msgid "<corrupt>"
+msgstr "<Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¾>"
+
+#: coffgen.c:2104
+#, c-format
+msgid "<corrupt info> %s"
+msgstr "<Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ� Ð¾ Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ð¸> %s"
+
+#: coffgen.c:2683 elflink.c:14149 linker.c:2940
 msgid "%F%P: already_linked_table: %E\n"
 msgstr "%F%P: already_linked_table: %E\n"
 
-#: cofflink.c:533 elflink.c:4323
+#: coffgen.c:3024 elflink.c:13151
+#, c-format
+msgid "Removing unused section '%A' in file '%B'"
+msgstr "Ð£Ð´Ð°Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð½ÐµÐ¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð² Ñ„Ð°Ð¹Ð»Ðµ Â«%BÂ»"
+
+#: coffgen.c:3101 elflink.c:13369
+msgid "Warning: gc-sections option ignored"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ gc-sections Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�"
+
+#: cofflink.c:352
+#, c-format
+msgid "Warning: symbol `%s' is both section and non-section"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¸ Ð½Ðµ Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾"
+
+#: cofflink.c:454 elf64-ia64-vms.c:5186 elflink.c:4831
+#, c-format
 msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½ Ñ‚Ð¸Ð¿ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ñ� %d Ð½Ð° %d"
 
-#: cofflink.c:2329
+#: cofflink.c:2373
+#, c-format
 msgid "%B: relocs in section `%A', but it has no contents"
 msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ», Ð½Ð¾ Ð¾Ð½ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾"
 
-#: cofflink.c:2391 elflink.c:9545
+#: cofflink.c:2436 elflink.c:10664
+#, c-format
 msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
 msgstr "%XÂ«%sÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð² Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð· %B: Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð² Ð¾Ñ‚Ð±Ñ€Ð¾ÑˆÐµÐ½Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ» Ð¸Ð· %B\n"
 
-#: cofflink.c:2690 coffswap.h:826
+#: cofflink.c:2734
 #, c-format
-msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
-msgstr "%s: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: 0x%lx > 0xffff"
+msgid "%B: %A: reloc overflow: %#x > 0xffff"
+msgstr "%B: %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %#x > 0xffff"
 
-#: cofflink.c:2699 coffswap.h:812
+#: cofflink.c:2742
 #, c-format
-msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
-msgstr "%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸: 0x%lx > 0xffff"
+msgid "%B: warning: %A: line number overflow: %#x > 0xffff"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸: %#x > 0xffff"
 
-#: cpu-arm.c:189 cpu-arm.c:200
+#: coffswap.h:811
+#, c-format
+msgid "%B: warning: %s: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸: 0x%lx > 0xffff"
+
+#: coffswap.h:825
+#, c-format
+msgid "%B: %s: reloc overflow: 0x%lx > 0xffff"
+msgstr "%B: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: 0x%lx > 0xffff"
+
+#: compress.c:255
+#, c-format
+msgid "error: %B(%A) is too large (%#Lx bytes)"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B(%A) Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð²ÐµÐ»Ð¸ÐºÐ¾ (%#Lx Ð±Ð°Ð¹Ñ‚)"
+
+#: cpu-arm.c:192 cpu-arm.c:204
+#, c-format
 msgid "error: %B is compiled for the EP9312, whereas %B is compiled for XScale"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� EP9312, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� XScale"
 
-#: cpu-arm.c:333
+#: cpu-arm.c:338
 #, c-format
-msgid "warning: unable to update contents of %s section in %s"
-msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s Ð² %s"
+msgid "warning: unable to update contents of %s section in %B"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s Ð² %B"
 
-#: dwarf2.c:496
+#: dwarf2.c:543
 #, c-format
 msgid "Dwarf Error: Can't find %s section."
-msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð Ð°Ð·Ð´ÐµÐ» %s Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½."
 
-#: dwarf2.c:525
+#: dwarf2.c:572
 #, c-format
-msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."
-msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¡Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%lu) Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¸Ð»Ð¸ Ñ€Ð°Ð²Ð½Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ %s (%lu)."
+msgid "Dwarf Error: Offset (%llu) greater than or equal to %s size (%Lu)."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%llu) Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¸Ð»Ð¸ Ñ€Ð°Ð²Ð½Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ %s (%Lu)."
+
+#: dwarf2.c:1089
+msgid "Dwarf Error: Info pointer extends beyond end of attributes"
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð·Ð° ÐºÐ¾Ð½ÐµÑ† Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð²"
 
-#: dwarf2.c:949
+#: dwarf2.c:1261
 #, c-format
-msgid "Dwarf Error: Invalid or unhandled FORM value: %u."
-msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð�ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ð¸Ð»Ð¸ Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ FORM: %u."
+msgid "Dwarf Error: Invalid or unhandled FORM value: %#x."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ð¸Ð»Ð¸ Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ FORM: %#x."
 
-#: dwarf2.c:1200
+#: dwarf2.c:1567
 msgid "Dwarf Error: mangled line number section (bad file number)."
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº (Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð°)."
 
-#: dwarf2.c:1453
+#: dwarf2.c:1912
+msgid "Dwarf Error: Zero format count."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° Ñ€Ð°Ð²ÐµÐ½ Ð½ÑƒÐ»ÑŽ."
+
+#: dwarf2.c:1921
+#, c-format
+msgid "Dwarf Error: data count (%Lx) larger than buffer size."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð´Ð°Ð½Ð½Ñ‹Ñ… (%Lx) Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð±ÑƒÑ„ÐµÑ€Ð°."
+
+#: dwarf2.c:1962
+#, c-format
+msgid "Dwarf Error: Unknown format content type %Lu."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ‚Ð¸Ð¿Ð° Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾ %Lu."
+
+#: dwarf2.c:2042
+#, c-format
+msgid "Dwarf Error: Line info section is too small (%Ld)"
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ñ€Ð°Ð·Ð´ÐµÐ» Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ñ�Ñ‚Ñ€Ð¾ÐºÐ°Ñ… Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð» (%Ld)"
+
+#: dwarf2.c:2072
+#, c-format
+msgid "Dwarf Error: Line info data is bigger (%#Lx) than the space remaining in the section (%#lx)"
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ñ�Ñ‚Ñ€Ð¾ÐºÐ°Ñ… Ð±Ð¾Ð»ÑŒÑˆÐµ (%#Lx) Ñ‡ÐµÐ¼ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð¾, Ð¾Ñ�Ñ‚Ð°Ð²ÑˆÐµÐµÑ�Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ (%#lx)"
+
+#: dwarf2.c:2085
 #, c-format
 msgid "Dwarf Error: Unhandled .debug_line version %d."
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� %d Ñƒ .debug_line."
 
-#: dwarf2.c:1475
+#: dwarf2.c:2095
+msgid "Dwarf Error: Ran out of room reading prologue"
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ñ�Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð¾ Ð¼ÐµÑ�Ñ‚Ð¾ Ð¿Ñ€Ð¸ Ñ‡Ñ‚ÐµÐ½Ð¸Ð¸ Ð¿Ñ€Ð¾Ð»Ð¾Ð³Ð°"
+
+#: dwarf2.c:2113
+#, c-format
+msgid "Dwarf Error: Line info unsupported segment selector size %u."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ %u Ñ�ÐµÐ»ÐµÐºÑ‚Ð¾Ñ€Ð° Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° Ð² Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ñ�Ñ‚Ñ€Ð¾ÐºÐ°Ñ…."
+
+#: dwarf2.c:2140
 msgid "Dwarf Error: Invalid maximum operations per instruction."
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ²ÐµÑ€Ð½Ð¾Ðµ Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ðµ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¹ Ð½Ð° Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ."
 
-#: dwarf2.c:1662
+#: dwarf2.c:2159
+msgid "Dwarf Error: Ran out of room reading opcodes"
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ñ�Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð¾ Ð¼ÐµÑ�Ñ‚Ð¾ Ð¿Ñ€Ð¸ Ñ‡Ñ‚ÐµÐ½Ð¸Ð¸ ÐºÐ¾Ð´Ð¾Ð² Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¹"
+
+#: dwarf2.c:2332
 msgid "Dwarf Error: mangled line number section."
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº."
 
-#: dwarf2.c:1989 dwarf2.c:2109 dwarf2.c:2394
+#: dwarf2.c:2833 dwarf2.c:2894
+msgid "Dwarf Error: Invalid abstract instance DIE ref."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð°Ð±Ñ�Ñ‚Ñ€Ð°ÐºÑ‚Ð½Ñ‹Ð¹ Ñ�ÐºÐ·ÐµÐ¼Ð¿Ð»Ñ�Ñ€ Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ DIE."
+
+#: dwarf2.c:2870
+#, c-format
+msgid "Dwarf Error: Unable to read alt ref %llu."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»ÐºÑƒ %llu."
+
+#: dwarf2.c:2911 dwarf2.c:3076 dwarf2.c:3428
 #, c-format
 msgid "Dwarf Error: Could not find abbrev number %u."
-msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ ÑƒÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %u."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ ÑƒÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %u."
 
-#: dwarf2.c:2355
+#: dwarf2.c:2928
+msgid "Dwarf Error: Abstract instance recursion detected."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð° Ñ€ÐµÐºÑƒÑ€Ñ�Ð¸Ñ� Ð°Ð±Ñ�Ñ‚Ñ€Ð°ÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ�ÐºÐ·ÐµÐ¼Ð¿Ð»Ñ�Ñ€Ð°."
+
+#: dwarf2.c:3347
 #, c-format
-msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information."
-msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð²ÐµÑ€Ñ�Ð¸Ñ� dwarf Â«%uÂ», Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÐµÑ‚ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð²ÐµÑ€Ñ�Ð¸Ð¸ 2, 3 Ð¸ 4."
+msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3, 4 and 5 information."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð²ÐµÑ€Ñ�Ð¸Ñ� dwarf Â«%uÂ», Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÐµÑ‚ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð²ÐµÑ€Ñ�Ð¸Ð¸ 2, 3, 4 Ð¸ 5."
 
-#: dwarf2.c:2362
+#: dwarf2.c:3391
 #, c-format
 msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'."
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð°Ð´Ñ€ÐµÑ�Ð° Â«%uÂ», Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Ð½Ðµ ÑƒÐ¼ÐµÐµÑ‚ Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°Ð¼Ð¸ Ð±Ð¾Ð»ÐµÐµ Ñ‡ÐµÐ¼ Â«%uÂ»."
 
-#: dwarf2.c:2385
+#: dwarf2.c:3494
+msgid "Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form."
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð²Ñ�Ñ‚Ñ€ÐµÑ‡ÐµÐ½ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ DW_AT_comp_dir Ð² Ð½Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¾Ð²Ð¾Ð¼ Ð²Ð¸Ð´Ðµ."
+
+#: ecoff.c:964
 #, c-format
-msgid "Dwarf Error: Bad abbrev number: %u."
-msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð�ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ ÑƒÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€: %u."
+msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%ld)"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: isymMax (%ld) Ð±Ð¾Ð»ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ ifdMax (%ld)"
 
-#: ecoff.c:1239
+#: ecoff.c:1261
 #, c-format
 msgid "Unknown basic type %d"
 msgstr "Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ %d"
 
-#: ecoff.c:1496
+#: ecoff.c:1518
 #, c-format
 msgid ""
 "\n"
@@ -582,7 +817,7 @@ msgstr ""
 "\n"
 "      Ð¡Ð¸Ð¼Ð²Ð¾Ð» End+1: %ld"
 
-#: ecoff.c:1503 ecoff.c:1506
+#: ecoff.c:1525 ecoff.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -591,7 +826,7 @@ msgstr ""
 "\n"
 "      ÐŸÐµÑ€Ð²Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»: %ld"
 
-#: ecoff.c:1518
+#: ecoff.c:1541
 #, c-format
 msgid ""
 "\n"
@@ -600,7 +835,7 @@ msgstr ""
 "\n"
 "      Ð¡Ð¸Ð¼Ð²Ð¾Ð» End+1: %-7ld   Ð¢Ð¸Ð¿:  %s"
 
-#: ecoff.c:1525
+#: ecoff.c:1548
 #, c-format
 msgid ""
 "\n"
@@ -609,7 +844,7 @@ msgstr ""
 "\n"
 "      Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»: %ld"
 
-#: ecoff.c:1533
+#: ecoff.c:1556
 #, c-format
 msgid ""
 "\n"
@@ -618,7 +853,7 @@ msgstr ""
 "\n"
 "      struct; Ñ�Ð¸Ð¼Ð²Ð¾Ð» End+1: %ld"
 
-#: ecoff.c:1538
+#: ecoff.c:1561
 #, c-format
 msgid ""
 "\n"
@@ -627,7 +862,7 @@ msgstr ""
 "\n"
 "      union; Ñ�Ð¸Ð¼Ð²Ð¾Ð» End+1: %ld"
 
-#: ecoff.c:1543
+#: ecoff.c:1566
 #, c-format
 msgid ""
 "\n"
@@ -636,7 +871,7 @@ msgstr ""
 "\n"
 "      enum; Ñ�Ð¸Ð¼Ð²Ð¾Ð» End+1: %ld"
 
-#: ecoff.c:1549
+#: ecoff.c:1572
 #, c-format
 msgid ""
 "\n"
@@ -645,140 +880,280 @@ msgstr ""
 "\n"
 "      Ð¢Ð¸Ð¿: %s"
 
-#: elf-attrs.c:569
+#: elf-attrs.c:475
+msgid "%B: error: attribute section length too small: %ld"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»Ð°: %ld"
+
+#: elf-attrs.c:603
+#, c-format
 msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¾Ð±ÑŠÐµÐºÑ‚ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ðµ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ�, ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ñ�Ð±Ð¾Ñ€ÐºÐ¸ Â«%sÂ»"
 
-#: elf-attrs.c:578
+#: elf-attrs.c:613
+#, c-format
 msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
-msgstr "error: %B: ÐžÐ±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ‚ÐµÐ³ Â«%d, %sÂ» Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ñ‚ÐµÐ³Ð¾Ð¼ Â«%d, %sÂ»"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ‚ÐµÐ³ Â«%d, %sÂ» Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ñ‚ÐµÐ³Ð¾Ð¼ Â«%d, %sÂ»"
+
+#: elf-eh-frame.c:942
+#, c-format
+msgid "discarding zero address range FDE in %B(%A).\n"
+msgstr "Ð¾Ñ‚Ð±Ñ€Ð°Ñ�Ñ‹Ð²Ð°ÐµÐ¼ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² FDE Ð² %B(%A).\n"
 
-#: elf-eh-frame.c:917
+#: elf-eh-frame.c:1047
+#, c-format
 msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
-msgstr "%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² %B(%A); Ñ‚Ð°Ð±Ð»Ð¸Ñ† .eh_frame_hdr Ñ�Ð¾Ð·Ð´Ð°Ð½Ð° Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚.\n"
+msgstr "%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² %B(%A); Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° .eh_frame_hdr Ñ�Ð¾Ð·Ð´Ð°Ð½Ð° Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚.\n"
+
+#: elf-eh-frame.c:1537
+#, c-format
+msgid "%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
+msgstr "%P: Ð¸Ð·-Ð·Ð° ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¸ FDE Ð² %B(%A) Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° .eh_frame_hdr Ñ�Ð¾Ð·Ð´Ð°Ð½Ð° Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚.\n"
+
+#: elf-eh-frame.c:1544
+msgid "%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n"
+msgstr "%P: Ð² Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ¼ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ� Ð¾ Ð½Ðµ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ .eh_frame_hdr Ð¸Ð·-Ð·Ð° ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¸ FDE Ð±ÑƒÐ´ÑƒÑ‚ Ð¾Ñ‚Ð±Ñ€Ð°Ñ�Ñ‹Ð²Ð°Ñ‚ÑŒÑ�Ñ�.\n"
+
+#: elf-eh-frame.c:1866
+#, c-format
+msgid "%B: %A not in order"
+msgstr "%B: %A Ð½Ðµ ÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð¾"
+
+#: elf-eh-frame.c:1880
+#, c-format
+msgid "%B: %A invalid input section size"
+msgstr "%B: %A Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°"
 
-#: elf-eh-frame.c:1189
-msgid "%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
-msgstr "%P: Ð¸Ð·-Ð·Ð° ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¸ fde Ð² %B(%A) Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° .eh_frame_hdr Ñ�Ð¾Ð·Ð´Ð°Ð½Ð° Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚.\n"
+#: elf-eh-frame.c:1888
+#, c-format
+msgid "%B: %A points past end of text section"
+msgstr "%B: %A ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð·Ð° ÐºÐ¾Ð½ÐµÑ† Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ‚ÐµÐºÑ�Ñ‚Ð°"
 
-#: elf-eh-frame.c:1605
+#: elf-eh-frame.c:2137
 msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
 msgstr "%P: DW_EH_PE_datarel Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð´Ð»Ñ� Ñ�Ñ‚Ð¾Ð¹ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹.\n"
 
-#: elf-ifunc.c:179
+#: elf-eh-frame.c:2307
+#, c-format
+msgid "Invalid output section for .eh_frame_entry: %A"
+msgstr "Ð�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� .eh_frame_entry: %A"
+
+#: elf-eh-frame.c:2330
+#, c-format
+msgid "Invalid contents in %A section"
+msgstr "Ð�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %A"
+
+#: elf-eh-frame.c:2486
+msgid "%P: .eh_frame_hdr entry overflow.\n"
+msgstr "%P: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:2489
+msgid "%P: .eh_frame_hdr refers to overlapping FDEs.\n"
+msgstr "%P: .eh_frame_hdr Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‰Ð¸ÐµÑ�Ñ� FDE.\n"
+
+#: elf-ifunc.c:142
+#, c-format
 msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
 msgstr "%F%P: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ� Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¼ Ð² Â«%BÂ» Ð½ÐµÐ»ÑŒÐ·Ñ� Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -fPIE Ð¸ Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -pie\n"
 
-#: elf-m10200.c:450 elf-m10300.c:1563 elf32-avr.c:1221 elf32-bfin.c:3213
-#: elf32-cr16.c:1482 elf32-cr16c.c:780 elf32-cris.c:2081 elf32-crx.c:922
-#: elf32-d10v.c:509 elf32-epiphany.c:556 elf32-fr30.c:609 elf32-frv.c:4105
-#: elf32-h8300.c:509 elf32-i860.c:1211 elf32-ip2k.c:1468 elf32-iq2000.c:684
-#: elf32-lm32.c:1168 elf32-m32c.c:553 elf32-m32r.c:3106 elf32-m68hc1x.c:1138
-#: elf32-mep.c:535 elf32-microblaze.c:1231 elf32-moxie.c:282
-#: elf32-msp430.c:486 elf32-mt.c:395 elf32-openrisc.c:404 elf32-score.c:2729
-#: elf32-score7.c:2537 elf32-spu.c:5044 elf32-tilepro.c:3214 elf32-v850.c:2143
-#: elf32-xstormy16.c:935 elf64-mmix.c:1590 elfxx-tilegx.c:3577
+#: elf-m10200.c:425 elf-m10300.c:2145 elf32-avr.c:1502 elf32-bfin.c:3116
+#: elf32-cr16.c:1462 elf32-cr16c.c:780 elf32-cris.c:2030 elf32-crx.c:924
+#: elf32-d10v.c:509 elf32-epiphany.c:563 elf32-fr30.c:591 elf32-frv.c:4041
+#: elf32-ft32.c:485 elf32-h8300.c:522 elf32-i860.c:1210 elf32-ip2k.c:1475
+#: elf32-iq2000.c:689 elf32-lm32.c:1106 elf32-m32c.c:622 elf32-m32r.c:3031
+#: elf32-m68hc1x.c:1265 elf32-mep.c:524 elf32-metag.c:1985
+#: elf32-microblaze.c:1556 elf32-moxie.c:285 elf32-mt.c:400 elf32-nds32.c:5328
+#: elf32-or1k.c:1238 elf32-score.c:2731 elf32-score7.c:2540 elf32-spu.c:5076
+#: elf32-tilepro.c:3497 elf32-v850.c:2283 elf32-visium.c:677
+#: elf32-xstormy16.c:923 elf64-mmix.c:1538 elfxx-tilegx.c:3857
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2237
 msgid "internal error: out of range error"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð²Ñ‹Ñ…Ð¾Ð´Ð° Ð¸Ð· Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°"
 
-#: elf-m10200.c:454 elf-m10300.c:1567 elf32-avr.c:1225 elf32-bfin.c:3217
-#: elf32-cr16.c:1486 elf32-cr16c.c:784 elf32-cris.c:2085 elf32-crx.c:926
-#: elf32-d10v.c:513 elf32-fr30.c:613 elf32-frv.c:4109 elf32-h8300.c:513
-#: elf32-i860.c:1215 elf32-iq2000.c:688 elf32-lm32.c:1172 elf32-m32c.c:557
-#: elf32-m32r.c:3110 elf32-m68hc1x.c:1142 elf32-mep.c:539
-#: elf32-microblaze.c:1235 elf32-moxie.c:286 elf32-msp430.c:490
-#: elf32-openrisc.c:408 elf32-score.c:2733 elf32-score7.c:2541
-#: elf32-spu.c:5048 elf32-tilepro.c:3218 elf32-v850.c:2147
-#: elf32-xstormy16.c:939 elf64-mmix.c:1594 elfxx-mips.c:9465
-#: elfxx-tilegx.c:3581
+#: elf-m10200.c:429 elf-m10300.c:2149 elf32-avr.c:1506 elf32-bfin.c:3120
+#: elf32-cr16.c:1466 elf32-cr16c.c:784 elf32-cris.c:2034 elf32-crx.c:928
+#: elf32-d10v.c:513 elf32-fr30.c:595 elf32-frv.c:4045 elf32-ft32.c:489
+#: elf32-h8300.c:526 elf32-i860.c:1214 elf32-iq2000.c:693 elf32-lm32.c:1110
+#: elf32-m32c.c:626 elf32-m32r.c:3035 elf32-m68hc1x.c:1269 elf32-mep.c:528
+#: elf32-metag.c:1989 elf32-microblaze.c:1560 elf32-moxie.c:289
+#: elf32-msp430.c:1357 elf32-nds32.c:5332 elf32-or1k.c:1242 elf32-score.c:2735
+#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3501 elf32-v850.c:2287
+#: elf32-visium.c:681 elf32-xstormy16.c:927 elf64-mmix.c:1542
+#: elfxx-mips.c:10265 elfxx-tilegx.c:3861
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2241
 msgid "internal error: unsupported relocation error"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�"
 
-#: elf-m10200.c:458 elf32-cr16.c:1490 elf32-cr16c.c:788 elf32-crx.c:930
-#: elf32-d10v.c:517 elf32-h8300.c:517 elf32-lm32.c:1176 elf32-m32r.c:3114
-#: elf32-m68hc1x.c:1146 elf32-microblaze.c:1239 elf32-score.c:2737
-#: elf32-score7.c:2545 elf32-spu.c:5052
+#: elf-m10200.c:433 elf32-cr16.c:1470 elf32-cr16c.c:788 elf32-crx.c:932
+#: elf32-d10v.c:517 elf32-h8300.c:530 elf32-lm32.c:1114 elf32-m32r.c:3039
+#: elf32-m68hc1x.c:1273 elf32-microblaze.c:1564 elf32-nds32.c:5336
+#: elf32-score.c:2739 elf32-score7.c:2548 elf32-spu.c:5084
 msgid "internal error: dangerous error"
-msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñ€Ð¸Ñ�ÐºÐ°"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð¿Ð°Ñ�Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°"
 
-#: elf-m10200.c:462 elf-m10300.c:1580 elf32-avr.c:1233 elf32-bfin.c:3225
-#: elf32-cr16.c:1494 elf32-cr16c.c:792 elf32-cris.c:2093 elf32-crx.c:934
-#: elf32-d10v.c:521 elf32-epiphany.c:571 elf32-fr30.c:621 elf32-frv.c:4117
-#: elf32-h8300.c:521 elf32-i860.c:1223 elf32-ip2k.c:1483 elf32-iq2000.c:696
-#: elf32-lm32.c:1180 elf32-m32c.c:565 elf32-m32r.c:3118 elf32-m68hc1x.c:1150
-#: elf32-mep.c:547 elf32-microblaze.c:1243 elf32-moxie.c:294
-#: elf32-msp430.c:498 elf32-mt.c:403 elf32-openrisc.c:416 elf32-score.c:2746
-#: elf32-score7.c:2549 elf32-spu.c:5056 elf32-tilepro.c:3226 elf32-v850.c:2167
-#: elf32-xstormy16.c:947 elf64-mmix.c:1602 elfxx-tilegx.c:3589
+#: elf-m10200.c:437 elf-m10300.c:2166 elf32-avr.c:1514 elf32-bfin.c:3128
+#: elf32-cr16.c:1474 elf32-cr16c.c:792 elf32-cris.c:2042 elf32-crx.c:936
+#: elf32-d10v.c:521 elf32-epiphany.c:578 elf32-fr30.c:603 elf32-frv.c:4053
+#: elf32-ft32.c:497 elf32-h8300.c:534 elf32-i860.c:1222 elf32-ip2k.c:1490
+#: elf32-iq2000.c:701 elf32-lm32.c:1118 elf32-m32c.c:634 elf32-m32r.c:3043
+#: elf32-m68hc1x.c:1277 elf32-mep.c:536 elf32-metag.c:1997
+#: elf32-microblaze.c:1568 elf32-moxie.c:297 elf32-msp430.c:1365
+#: elf32-mt.c:408 elf32-nds32.c:5340 elf32-or1k.c:1250 elf32-score.c:2748
+#: elf32-score7.c:2552 elf32-spu.c:5088 elf32-tilepro.c:3509 elf32-v850.c:2307
+#: elf32-visium.c:689 elf32-xstormy16.c:935 elf64-mmix.c:1550
+#: elfxx-tilegx.c:3869
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2249
 msgid "internal error: unknown error"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°"
 
-#: elf-m10300.c:1507 elf32-arm.c:10419 elf32-i386.c:4264 elf32-m32r.c:2599
-#: elf32-m68k.c:4156 elf32-s390.c:3003 elf32-sh.c:4218 elf32-tilepro.c:3117
-#: elf32-xtensa.c:3066 elf64-s390.c:2978 elf64-sh64.c:1640 elf64-x86-64.c:4110
-#: elfxx-sparc.c:3835 elfxx-tilegx.c:3500
-msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%A+0x%lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
+#: elf-m10300.c:812
+#, c-format
+msgid "%B: unrecognised MN10300 reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MN10300: %d"
+
+#: elf-m10300.c:1028
+#, c-format
+msgid "%B: Unsupported transition from %s to %s"
+msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ Ð¸Ð· %s Ð² %s"
+
+#: elf-m10300.c:1197
+#, c-format
+msgid "%B: %s' accessed both as normal and thread local symbol"
+msgstr "%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ð¸ ÐºÐ°Ðº Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð½Ð¸Ñ‚Ð¸"
+
+#: elf-m10300.c:2093 elf32-arm.c:12536 elf32-i386.c:3433 elf32-m32r.c:2526
+#: elf32-m68k.c:3895 elf32-s390.c:3204 elf32-sh.c:4121 elf32-tilepro.c:3401
+#: elf32-xtensa.c:2939 elf64-s390.c:3118 elf64-sh64.c:1636 elf64-x86-64.c:3790
+#: elfxx-sparc.c:3918 elfxx-tilegx.c:3781
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5001
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6457
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2206
+#, c-format
+msgid "%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"
+msgstr "%B(%A+%#Lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
 
-#: elf-m10300.c:1572
+#: elf-m10300.c:2154
 msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¿Ð¾Ð´Ñ…Ð¾Ð´Ñ�Ñ‰Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ (Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½ -fpic?)"
 
-#: elf-m10300.c:1575
+#: elf-m10300.c:2158
+#, c-format
+msgid "%B: taking the address of protected function '%s' cannot be done when making a shared library"
+msgstr "%B: Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ðµ Ð°Ð´Ñ€ÐµÑ�Ð° Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¾ Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸"
+
+#: elf-m10300.c:2161
 msgid "internal error: suspicious relocation type used in shared library"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿Ð¾Ð´Ð¾Ð·Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐµ"
 
-#: elf-m10300.c:4372 elf32-arm.c:12800 elf32-cr16.c:2451 elf32-cris.c:3057
-#: elf32-hppa.c:1894 elf32-i370.c:503 elf32-i386.c:2182 elf32-lm32.c:1868
-#: elf32-m32r.c:1927 elf32-m68k.c:3253 elf32-s390.c:1652 elf32-sh.c:2931
-#: elf32-tic6x.c:2162 elf32-tilepro.c:1940 elf32-vax.c:1041 elf64-s390.c:1635
-#: elf64-sh64.c:3381 elf64-x86-64.c:2176 elfxx-sparc.c:2119
-#: elfxx-tilegx.c:2261
+#: elf-properties.c:65
+msgid "%B: out of memory in _bfd_elf_get_property"
+msgstr "%B: Ð½Ðµ Ñ…Ð²Ð°Ñ‚Ð¸Ð»Ð¾ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ Ð² _bfd_elf_get_property"
+
+#: elf-properties.c:91
+msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ GNU_PROPERTY_TYPE (%ld): %#lx"
+
+#: elf-properties.c:112
+msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ GNU_PROPERTY_TYPE (%ld), Ñ‚Ð¸Ð¿ (0x%x), Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð´Ð°Ð½Ð½Ñ‹Ñ…: 0x%x"
+
+#: elf-properties.c:151
+msgid "warning: %B: corrupt stack size: 0x%x"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ñ‚ÐµÐºÐ°: 0x%x"
+
+#: elf-properties.c:169
+msgid "warning: %B: corrupt no copy on protected size: 0x%x"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñƒ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ� ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ñ… Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹: 0x%x"
+
+#: elf-properties.c:186
+msgid "warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ GNU_PROPERTY_TYPE (%ld): 0x%x"
+
+#. PR 17512: file: f057ec89.
+#: elf.c:343
 #, c-format
-msgid "dynamic variable `%s' is zero size"
-msgstr "Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ°Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€"
+msgid "%B: attempt to load strings from a non-string section (number %d)"
+msgstr "%B: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ Ð¸Ð· Ð½Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° (Ð½Ð¾Ð¼ÐµÑ€ %d)"
 
-#: elf.c:334
-msgid "%B: invalid string offset %u >= %lu for section `%s'"
-msgstr "%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ %u >= %lu Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»"
+#: elf.c:358
+#, c-format
+msgid "%B: invalid string offset %u >= %Lu for section `%s'"
+msgstr "%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ %u >= %Lu Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»"
 
-#: elf.c:446
+#: elf.c:497 /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7535
+#, c-format
 msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
 msgstr "%B Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %lu Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð½ÐµÑ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÑŽÑ‰Ð¸Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» SHT_SYMTAB_SHNDX"
 
-#: elf.c:602
-msgid "%B: Corrupt size field in group section header: 0x%lx"
-msgstr "%B: ÐŸÐ¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ð¾Ðµ Ð¿Ð¾Ð»Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð³Ñ€ÑƒÐ¿Ð¿: 0x%lx"
+#: elf.c:661
+#, c-format
+msgid "%B: corrupt size field in group section header: %#Lx"
+msgstr "%B: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ð¾Ðµ Ð¿Ð¾Ð»Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð³Ñ€ÑƒÐ¿Ð¿: %#Lx"
+
+#: elf.c:676
+#, c-format
+msgid "%B: invalid size field in group section header: %#Lx"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð¿Ð¾Ð»Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð³Ñ€ÑƒÐ¿Ð¿: %#Lx"
 
-#: elf.c:638
+#: elf.c:712
 msgid "%B: invalid SHT_GROUP entry"
-msgstr "%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ SHT_GROUP"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ SHT_GROUP"
+
+#: elf.c:731
+msgid "%B: no valid group sections found"
+msgstr "%B: Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ñ… Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: elf.c:708
-msgid "%B: no group info for section %A"
-msgstr "%B: Ð½ÐµÑ‚ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ð³Ñ€ÑƒÐ¿Ð¿Ðµ Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A"
+#. See PR 21957 for a reproducer.
+#: elf.c:760
+#, c-format
+msgid "%B: group section '%A' has no contents"
+msgstr "%B: Ñ€Ð°Ð·Ð´ÐµÐ» Ð³Ñ€ÑƒÐ¿Ð¿ Â«%AÂ» Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾"
+
+#: elf.c:820
+#, c-format
+msgid "%B: no group info for section '%A'"
+msgstr "%B: Ð½ÐµÑ‚ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ð³Ñ€ÑƒÐ¿Ð¿Ðµ Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ»"
 
-#: elf.c:737 elf.c:3121 elflink.c:10135
+#: elf.c:851 elf.c:3862 elflink.c:11252
+#, c-format
 msgid "%B: warning: sh_link not set for section `%A'"
 msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ Ð·Ð°Ð´Ð°Ð½ sh_link Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ»"
 
-#: elf.c:756
+#: elf.c:871
+#, c-format
 msgid "%B: sh_link [%d] in section `%A' is incorrect"
 msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ sh_link [%d] Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»"
 
-#: elf.c:791
-msgid "%B: unknown [%d] section `%s' in group [%s]"
-msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ [%d] Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ [%s]"
-
-#: elf.c:1041
-msgid "%B: unable to initialize commpress status for section %s"
-msgstr "%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ�Ð¾Ñ�Ñ‚Ð¾Ñ�Ð½Ð¸Ðµ Ñ�Ð¶Ð°Ñ‚Ð¸Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s"
-
-#: elf.c:1061
-msgid "%B: unable to initialize decommpress status for section %s"
-msgstr "%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ�Ð¾Ñ�Ñ‚Ð¾Ñ�Ð½Ð¸Ðµ Ñ€Ð°Ð·Ð¶Ð°Ñ‚Ð¸Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s"
+#: elf.c:884
+#, c-format
+msgid "%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"
+msgstr "%B: Ñ€Ð°Ð·Ð´ÐµÐ» SHT_GROUP [Ð¸Ð½Ð´ÐµÐºÑ� %d] Ð½Ðµ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² SHF_GROUP"
+
+#: elf.c:905
+#, c-format
+msgid "%B: section group entry number %u is corrupt"
+msgstr "%B: Ð½Ð¾Ð¼ÐµÑ€ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² %u Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½"
+
+#: elf.c:928
+#, c-format
+msgid "%B: unknown type [%#x] section `%s' in group [%A]"
+msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ [%#x] Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ» Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ [%A]"
+
+#: elf.c:1390
+#, c-format
+msgid "%B: Invalid sh_link field (%d) in section number %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð¿Ð¾Ð»Ðµ sh_link (%d) Ð² Ð½Ð¾Ð¼ÐµÑ€Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %d"
+
+#: elf.c:1406
+#, c-format
+msgid "%B: Failed to find link section for section %d"
+msgstr "%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ» Ñ�Ñ�Ñ‹Ð»Ð¾Ðº Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %d"
+
+#: elf.c:1433
+#, c-format
+msgid "%B: Failed to find info section for section %d"
+msgstr "%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A"
 
-#: elf.c:1181
+#: elf.c:1605
 #, c-format
 msgid ""
 "\n"
@@ -787,7 +1162,7 @@ msgstr ""
 "\n"
 "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹:\n"
 
-#: elf.c:1223
+#: elf.c:1647
 #, c-format
 msgid ""
 "\n"
@@ -796,7 +1171,7 @@ msgstr ""
 "\n"
 "Ð”Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ»:\n"
 
-#: elf.c:1359
+#: elf.c:1788
 #, c-format
 msgid ""
 "\n"
@@ -805,7 +1180,7 @@ msgstr ""
 "\n"
 "ÐžÐ±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ñ� Ð²ÐµÑ€Ñ�Ð¸Ð¹:\n"
 
-#: elf.c:1384
+#: elf.c:1813
 #, c-format
 msgid ""
 "\n"
@@ -814,591 +1189,971 @@ msgstr ""
 "\n"
 "Ð’ÐµÑ€Ñ�Ð¸Ð¸ Ñ�Ñ�Ñ‹Ð»Ð¾Ðº:\n"
 
-#: elf.c:1389
+#: elf.c:1818
 #, c-format
 msgid "  required from %s:\n"
 msgstr "  Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð¸Ð· %s:\n"
 
-#: elf.c:1796
-msgid "%B: invalid link %lu for reloc section %s (index %u)"
-msgstr "%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° %lu Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ %s (Ð¸Ð½Ð´ÐµÐºÑ� %u)"
-
-#: elf.c:1966
-msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
-msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ‰Ñ‘Ð½Ð½Ñ‹Ð¹, Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Â«%sÂ» [0x%8x]"
-
-#: elf.c:1978
-msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
-msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€Ð° Â«%sÂ» [0x%8x]"
-
-#: elf.c:1989
-msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
-msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» ÐžÐ¡ Â«%sÂ» [0x%8x]"
-
-#: elf.c:1999
-msgid "%B: don't know how to handle section `%s' [0x%8x]"
-msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» [0x%8x]"
+#: elf.c:2016
+msgid "%B: warning: loop in section dependencies detected"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ðµ Ð² Ð·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ð¾Ñ�Ñ‚Ñ�Ñ… Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²"
 
-#: elf.c:2634
+#: elf.c:2124
+#, c-format
+msgid "%B: warning: multiple symbol tables detected - ignoring the table in section %u"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð° Ð¿ÑƒÑ�Ñ‚Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² â€” Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %u"
+
+#: elf.c:2208
+#, c-format
+msgid "%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð° Ð¿ÑƒÑ�Ñ‚Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² â€” Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %u"
+
+#: elf.c:2321
+#, c-format
+msgid "%B: invalid link %u for reloc section %s (index %u)"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° %u Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ %s (Ð¸Ð½Ð´ÐµÐºÑ� %u)"
+
+#: elf.c:2480 elf.c:2495 elf.c:2506 elf.c:2519
+#, c-format
+msgid "%B: unknown type [%#x] section `%s'"
+msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ [%#x] Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»"
+
+#: elf.c:3224
+#, c-format
+msgid "%B: error: Alignment power %d of section `%A' is too big"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ñƒ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð²ÐµÐ»Ð¸ÐºÐ¾ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ, ÐºÑ€Ð°Ñ‚Ð½Ð¾Ðµ %d"
+
+#: elf.c:3254
 #, c-format
 msgid "warning: section `%A' type changed to PROGBITS"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚Ð¸Ð¿ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½ Ð½Ð° PROGBITS"
 
-#: elf.c:3078
+#: elf.c:3730
+#, c-format
+msgid "%B: too many sections: %u"
+msgstr "%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²: %u"
+
+#: elf.c:3815
+#, c-format
 msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
 msgstr "%B: sh_link Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð¾Ñ‚Ð±Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð· Â«%BÂ»"
 
-#: elf.c:3101
+#: elf.c:3840
+#, c-format
 msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
 msgstr "%B: sh_link Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð· Â«%BÂ»"
 
-#: elf.c:4527
+#: elf.c:4392
+#, c-format
+msgid "%B: GNU_MBIN section `%A' has invalid sh_info field: %d"
+msgstr "%B: GNU_MBIN Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð¿Ð¾Ð»Ðµ sh_info: %d"
+
+#: elf.c:4951
+msgid "%B: TLS sections are not adjacent:"
+msgstr "%B: Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹ TLS Ð½Ð°Ñ…Ð¾Ð´Ñ�Ñ‚Ñ�Ñ� Ð½Ðµ Ñ€Ñ�Ð´Ð¾Ð¼:"
+
+#: elf.c:4958
+#, c-format
+msgid "\t    TLS: %A"
+msgstr "\t    TLS: %A"
+
+#: elf.c:4962
+#, c-format
+msgid "\tnon-TLS: %A"
+msgstr "\t Ð½Ðµ-TLS: %A"
+
+#: elf.c:5458
 msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
-msgstr "%B: ÐŸÐµÑ€Ð²Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ðµ PT_DYNAMIC Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð¼ .dynamic"
+msgstr "%B: Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ðµ PT_DYNAMIC Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð¼ .dynamic"
 
-#: elf.c:4554
+#: elf.c:5486
 msgid "%B: Not enough room for program headers, try linking with -N"
-msgstr "%B: Ð�ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¼ÐµÑ�Ñ‚Ð° Ð´Ð»Ñ� Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹, Ð¿Ð¾Ð¿Ñ‹Ñ‚Ð°Ð¹Ñ‚ÐµÑ�ÑŒ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -N"
+msgstr "%B: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¼ÐµÑ�Ñ‚Ð° Ð´Ð»Ñ� Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹, Ð¿Ð¾Ð¿Ñ‹Ñ‚Ð°Ð¹Ñ‚ÐµÑ�ÑŒ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -N"
 
-#: elf.c:4641
-msgid "%B: section %A lma %#lx adjusted to %#lx"
-msgstr "%B: lma %#lx Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð¿Ð¾Ð´Ð¾Ð³Ð½Ð°Ð½Ð¾ Ðº %#lx"
+#: elf.c:5574
+#, c-format
+msgid "%B: section %A lma %#Lx adjusted to %#Lx"
+msgstr "%B: lma %#Lx Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð¿Ð¾Ð´Ð¾Ð³Ð½Ð°Ð½Ð¾ Ðº %#Lx"
 
-#: elf.c:4776
+#: elf.c:5711
+#, c-format
 msgid "%B: section `%A' can't be allocated in segment %d"
 msgstr "%B: Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ñ€Ð°Ñ�Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ %d"
 
-#: elf.c:4824
+#: elf.c:5759
+#, c-format
 msgid "%B: warning: allocated section `%s' not in segment"
 msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ñ�Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð½Ðµ Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ðµ"
 
-#: elf.c:5324
+#: elf.c:5957
+msgid "%B: error: non-load segment %d includes file header and/or program header"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ·Ð°Ð³Ñ€ÑƒÐ¶Ð°ÐµÐ¼Ñ‹Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ %d Ð²ÐºÐ»ÑŽÑ‡Ð°ÐµÑ‚ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¸/Ð¸Ð»Ð¸ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ñ‹Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº"
+
+#. The fix for this error is usually to edit the linker script being
+#. used and set up the program headers manually.  Either that or
+#. leave room for the headers at the start of the SECTIONS.
+#: elf.c:6134
+msgid "%B: error: PHDR segment not covered by LOAD segment"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ PHDR Ð½Ðµ Ð¿Ð¾ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¾Ð¼ LOAD"
+
+#: elf.c:6478
+#, c-format
 msgid "%B: symbol `%s' required but not present"
 msgstr "%B: Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ», Ð½Ð¾ Ð¾Ð½ Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚"
 
-#: elf.c:5662
-msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n"
-msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ð¿ÑƒÑ�Ñ‚Ð¾Ð¹ Ð·Ð°Ð³Ñ€ÑƒÐ¶Ð°ÐµÐ¼Ñ‹Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚, Ñ�Ñ‚Ð¾ Ñ‚Ð°Ðº Ð·Ð°Ð´ÑƒÐ¼Ñ‹Ð²Ð°Ð»Ð¾Ñ�ÑŒ?\n"
-
-#: elf.c:6692
+#: elf.c:6821
 #, c-format
-msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
-msgstr "Ð�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ñ�Ñ‰ÐµÐµ Ð¼ÐµÑ�Ñ‚Ð¾ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° '%s' Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° '%s'"
+msgid "%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ð¿ÑƒÑ�Ñ‚Ð¾Ð¹ Ð·Ð°Ð³Ñ€ÑƒÐ¶Ð°ÐµÐ¼Ñ‹Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð¿Ð¾ vaddr=%#Lx, Ñ�Ñ‚Ð¾ Ñ‚Ð°Ðº Ð·Ð°Ð´ÑƒÐ¼Ñ‹Ð²Ð°Ð»Ð¾Ñ�ÑŒ?"
 
-#: elf.c:7692
-msgid "%B: unsupported relocation type %s"
-msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s"
+#: elf.c:7435
+#, c-format
+msgid "%B: warning: segment alignment of %#Lx is too large"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° %#Lx Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð²ÐµÐ»Ð¸ÐºÐ¾"
 
-#: elf32-arm.c:3617
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: Thumb call to ARM"
-msgstr ""
-"%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°.\n"
-"  Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: Thumb-Ð²Ñ‹Ð·Ð¾Ð² Ð² ARM"
+#: elf.c:7916
+#, c-format
+msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
+msgstr "Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ñ�Ñ‰ÐµÐµ Ð¼ÐµÑ�Ñ‚Ð¾ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»"
 
-#: elf32-arm.c:3664
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: ARM call to Thumb"
-msgstr ""
-"%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°.\n"
-"  Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: ARM-Ð²Ñ‹Ð·Ð¾Ð² Ð² Thumb"
+#: elf.c:8249
+msgid "%B: .gnu.version_r invalid entry"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ .gnu.version_r"
 
-#: elf32-arm.c:3878 elf32-arm.c:5315
-#, c-format
-msgid "%s: cannot create stub entry %s"
-msgstr "%s: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s"
+#: elf.c:8376
+msgid "%B: .gnu.version_d invalid entry"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ .gnu.version_d"
 
-#: elf32-arm.c:5431
+#: elf.c:8928
 #, c-format
-msgid "unable to find THUMB glue '%s' for '%s'"
-msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ THUMB-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ '%s' Ð´Ð»Ñ� '%s'"
+msgid "%B: unsupported relocation type %s"
+msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s"
 
-#: elf32-arm.c:5467
+#: elf32-arc.c:433 elf32-frv.c:6623 elf32-iq2000.c:866 elf32-m32c.c:912
+#: elf32-mt.c:560 elf32-rl78.c:1257 elf32-rx.c:3178 elf32-visium.c:837
+#: elf64-ppc.c:6067
 #, c-format
-msgid "unable to find ARM glue '%s' for '%s'"
-msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ ARM-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ '%s' Ð´Ð»Ñ� '%s'"
+msgid "private flags = 0x%lx:"
+msgstr "Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = 0x%lx:"
 
-#: elf32-arm.c:6005
-msgid "%B: BE8 images only valid in big-endian mode."
-msgstr "%B: Ð¾Ð±Ñ€Ð°Ð·Ñ‹ BE8 Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ñ‹ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð² Ñ€ÐµÐ¶Ð¸Ð¼Ðµ big-endian."
+#: elf32-arc.c:611
+msgid "Warning: %B: Conflicting platform configuration %s with %s.\n"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ð²Ñ‹Ðµ Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ¸ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ %s Ñ� %s.\n"
 
-#. Give a warning, but do as the user requests anyway.
-#: elf32-arm.c:6235
-msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture"
-msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¹ Ð¾Ð±Ñ…Ð¾Ð´ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ VFP11 Ð½Ðµ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹"
+#: elf32-arc.c:630
+msgid "error: %B: unable to merge CPU base attributes %s with %s.\n"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒ Ð¾Ñ�Ð½Ð¾Ð²Ð½Ñ‹Ðµ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ Ð¦ÐŸ %s Ñ� %s.\n"
 
-#: elf32-arm.c:6779 elf32-arm.c:6799
-msgid "%B: unable to find VFP11 veneer `%s'"
-msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ VFP11 Â«%sÂ»"
+#: elf32-arc.c:667
+msgid "error: %B: unable to merge ISA extension attributes %s.\n"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ %s Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ� ISA.\n"
 
-#: elf32-arm.c:6848
-#, c-format
-msgid "Invalid TARGET2 relocation type '%s'."
-msgstr "Ð�ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð² TARGET2 Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Â«%sÂ»."
+#: elf32-arc.c:691
+msgid "error: %B: conflicting ISA extension attributes %s with %s.\n"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ Ñ�Ð¾Ð³Ð»Ð°Ñ�ÑƒÑŽÑ‰Ð¸ÐµÑ�Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ %s Ñ� %s Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ� ISA.\n"
 
-#: elf32-arm.c:6933
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: thumb call to arm"
-msgstr ""
-"%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: interworking not enabled.\n"
-"  Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: thumb-Ð²Ñ‹Ð·Ð¾Ð² Ð² arm"
+#: elf32-arc.c:726
+msgid "error: %B: cannot mix rf16 with full register set %B.\n"
+msgstr "error: %B: Ð½ÐµÐ»ÑŒÐ·Ñ� Ñ�Ð¼ÐµÑˆÐ¸Ð²Ð°Ñ‚ÑŒ rf16 Ñ� Ð¿Ð¾Ð»Ð½Ñ‹Ð¼ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð² %B.\n"
 
-#: elf32-arm.c:7717
-msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� Thumb-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«0x%xÂ» Ð² Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ð¸Ð½Ðµ TLS"
+#: elf32-arc.c:752
+msgid "error: %B: conflicting attributes %s: %s with %s.\n"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ Ñ�Ð¾Ð³Ð»Ð°Ñ�ÑƒÑŽÑ‰Ð¸ÐµÑ�Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ %s: %s Ñ� %s.\n"
 
-#: elf32-arm.c:7756
-msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� ARM-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«0x%xÂ» Ð² Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ð¸Ð½Ðµ TLS"
+#: elf32-arc.c:777
+msgid "error: %B: conflicting attributes %s.\n"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ Ñ�Ð¾Ð³Ð»Ð°Ñ�ÑƒÑŽÑ‰Ð¸ÐµÑ�Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ %s.\n"
 
-#: elf32-arm.c:8209
-msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
-msgstr "\\%B: ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Arm Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� BLX Ð² Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Arm '%s'."
+#: elf32-arc.c:877
+#, c-format
+msgid "ERROR: Attempting to link %B with a binary %B of different architecture"
+msgstr "ÐžÐ¨Ð˜Ð‘ÐšÐ�: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ %B Ñ� Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¾Ð¹ %B Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹"
 
-#: elf32-arm.c:8622
-msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
-msgstr "\\%B: ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Thumb Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� BLX Ð² Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ thumb '%s'."
+#: elf32-arc.c:891 elf32-i370.c:359 elf32-iq2000.c:842 elf32-m32c.c:887
+#: elf32-m68hc1x.c:1384 elf32-ppc.c:4846 elf64-sparc.c:727 elfxx-mips.c:15082
+#, c-format
+msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð¿Ð¾Ð»Ñ� e_flags (%#x), Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÑŽÑ‰Ð¸ÐµÑ�Ñ� Ð¾Ñ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð² Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (%#x)"
 
-#: elf32-arm.c:9460
-msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� Thumb-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«0x%xÂ», Ð½Ð° ÐºÐ¾Ñ‚Ð¾Ñ€ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� TLS_GOTDESC"
+#: elf32-arc.c:980
+msgid "Error: The ARC4 architecture is no longer supported.\n"
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ°: Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° ARC4 Ð±Ð¾Ð»ÑŒÑˆÐµ Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�.\n"
 
-#: elf32-arm.c:9483
-msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� ARM-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«0x%xÂ», Ð½Ð° ÐºÐ¾Ñ‚Ð¾Ñ€ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� TLS_GOTDESC"
+#: elf32-arc.c:986
+msgid ""
+"Warning: unset or old architecture flags. \n"
+"\t       Use default machine.\n"
+msgstr ""
+"ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ Ð·Ð°Ð´Ð°Ð½Ñ‹ Ð¸Ð»Ð¸ ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ»Ð¸ Ñ„Ð»Ð°Ð³Ð¸ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹.\n"
+"\t       Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ð¼Ð°ÑˆÐ¸Ð½Ð° Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ.\n"
 
-#: elf32-arm.c:9512
-msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_ARM_TLS_LE32 Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
+#: elf32-arc.c:1119
+#, c-format
+msgid "%B(%A+%#Lx): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value is %#Lx)"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CMEM Ð² Â«%sÂ», 16 MSB Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ %#x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñ€Ð°Ð²Ð½Ð¾ %#Lx)"
 
-#: elf32-arm.c:9727
-msgid "%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations"
-msgstr "%B(%A+0x%lx): Ð’ Ð³Ñ€ÑƒÐ¿Ð¿Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ ALU Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� ADD Ð¸Ð»Ð¸ SUB"
+#: elf32-arc.c:1130
+#, c-format
+msgid "%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, 16 MSB should be %#x (value is %#Lx)"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CMEM Ð² Â«%s+%#LxÂ», 16 MSB Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ %#x"
 
-#: elf32-arm.c:9767 elf32-arm.c:9854 elf32-arm.c:9937 elf32-arm.c:10022
-msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"
-msgstr "%B(%A+0x%lx): ÐŸÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� 0x%lx Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ %s"
+#: elf32-arc.c:1836
+msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker."
+msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� GOT Ð¸ PLT Ð½Ðµ Ð¼Ð¾Ð³ÑƒÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð¿Ð¾Ñ�Ñ‚Ð¾Ñ�Ð½Ð½Ñ‹Ð¼Ð¸ Ñ� Ð½Ðµ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¼ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ¾Ð¼."
 
-#: elf32-arm.c:10261 elf32-sh.c:4103 elf64-sh64.c:1544
-msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
-msgstr "%B(%A+0x%lx): %s Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ SEC_MERGE"
+#: elf32-arc.c:1860 elf32-rl78.c:1095 elf32-rx.c:1449
+#, c-format
+msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
+msgstr "%B(%A): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð² Ð¼Ð°Ð»Ð¾Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ð¸ Ð´Ð°Ð½Ð½Ñ‹Ñ…"
 
-#: elf32-arm.c:10372 elf32-m68k.c:4191 elf32-xtensa.c:2802
-msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
-msgstr "%B(%A+0x%lx): %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s"
+#: elf32-arc.c:1865 elf32-rl78.c:1100 elf32-rx.c:1454
+#, c-format
+msgid "%B(%A): internal error: out of range error"
+msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð²Ñ‹Ñ…Ð¾Ð´Ð° Ð¸Ð· Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°"
 
-#: elf32-arm.c:10373 elf32-m68k.c:4192 elf32-xtensa.c:2803
-msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
-msgstr "%B(%A+0x%lx): %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð½Ðµ-TLS Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s"
+#: elf32-arc.c:1870 elf32-rl78.c:1105 elf32-rx.c:1459
+#, c-format
+msgid "%B(%A): internal error: unsupported relocation error"
+msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�"
 
-#: elf32-arm.c:10453 elf32-tic6x.c:2753
+#: elf32-arc.c:1875 elf32-rl78.c:1110 elf32-rx.c:1464
+#, c-format
+msgid "%B(%A): internal error: dangerous relocation"
+msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
+
+#: elf32-arc.c:1880 elf32-rl78.c:1115 elf32-rx.c:1469
+#, c-format
+msgid "%B(%A): internal error: unknown error"
+msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°"
+
+#: elf32-arc.c:1968 elf32-arm.c:14521 elf32-metag.c:2252 elfxx-mips.c:8889
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7103
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:471
+#, c-format
+msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC"
+
+#: elf32-arc.c:2860
+msgid "%B: Unknown mandatory ARC object attribute %d."
+msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° ARC %d."
+
+#: elf32-arc.c:2868
+msgid "Warning: %B: Unknown ARC object attribute %d."
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° ARC %d."
+
+#: elf32-arm.c:4022 elf32-arm.c:4056 elf32-arm.c:4075 elf32-arm.c:4127
+msgid "%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction."
+msgstr "%B(%A): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�ÐºÐ»ÐµÐ¹ÐºÐ¸ Ð´Ð»Ð¸Ð½Ð½Ñ‹Ñ… Ð²ÐµÑ‚Ð²ÐµÐ¹, Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° SHF_ARM_PURECODE Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ†ÐµÐ»ÐµÐ¹ M-Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ�, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÐµÐ¹ movw."
+
+#: elf32-arm.c:4087 elf32-arm.c:8806
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+"  first occurrence: %B: Thumb call to ARM"
+msgstr ""
+"%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°.\n"
+"  Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: Thumb-Ð²Ñ‹Ð·Ð¾Ð² Ð² ARM"
+
+#: elf32-arm.c:4141
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+"  first occurrence: %B: ARM call to Thumb"
+msgstr ""
+"%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°.\n"
+"  Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: ARM-Ð²Ñ‹Ð·Ð¾Ð² Ð² Thumb"
+
+#: elf32-arm.c:4415
+#, c-format
+msgid "No address assigned to the veneers output section %s"
+msgstr "Ð�Ðµ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½ Ð°Ð´Ñ€ÐµÑ� Ñ�ÐºÐ»ÐµÐ¹ÐºÐ°Ð¼ Ð² Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %s"
+
+#: elf32-arm.c:4490 elf32-arm.c:6627 elf32-hppa.c:577 elf32-m68hc1x.c:165
+#: elf32-metag.c:1183 elf32-nios2.c:2207
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:2854
+#, c-format
+msgid "%B: cannot create stub entry %s"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s"
+
+#: elf32-arm.c:5675
+msgid "%B: Special symbol `%s' only allowed for ARMv8-M architecture or later."
+msgstr "%B: Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ€Ð°Ð·Ñ€ÐµÑˆÑ‘Ð½ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹ ARMv8-M Ð¸ Ð±Ð¾Ð»ÐµÐµ Ð½Ð¾Ð²Ð¾Ð¹."
+
+#: elf32-arm.c:5684
+msgid "%B: invalid special symbol `%s'."
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»."
+
+#: elf32-arm.c:5686 elf32-arm.c:5726
+msgid "It must be a global or weak function symbol."
+msgstr "ÐžÐ½ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ‹Ñ‚ÑŒ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¼ Ð¸Ð»Ð¸ Ñ�Ð»Ð°Ð±Ñ‹Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸."
+
+#: elf32-arm.c:5724
+msgid "%B: invalid standard symbol `%s'."
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»."
+
+#: elf32-arm.c:5730
+msgid "%B: absent standard symbol `%s'."
+msgstr "%B: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»."
+
+#: elf32-arm.c:5742
+msgid "%B: `%s' and its special symbol are in different sections."
+msgstr "%B: Â«%sÂ» Ð¸ ÐµÐ³Ð¾ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð½Ð°Ñ…Ð¾Ð´Ñ�Ñ‚Ñ�Ñ� Ð² Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ñ€Ð°Ð·Ð´ÐµÐ»Ð°Ñ…."
+
+#: elf32-arm.c:5754
+msgid "%B: entry function `%s' not output."
+msgstr "%B: Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Â«%sÂ» Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð² Ð²Ñ‹Ð²Ð¾Ð´Ðµ."
+
+#: elf32-arm.c:5761
+msgid "%B: entry function `%s' is empty."
+msgstr "%B: Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Â«%sÂ» Ð¿ÑƒÑ�Ñ‚Ð°."
+
+#: elf32-arm.c:5890
+msgid "%B: --in-implib only supported for Secure Gateway import libraries."
+msgstr "%B: --in-implib Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐº Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° Secure Gateway."
+
+#: elf32-arm.c:5936
+msgid "%B: invalid import library entry: `%s'."
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸: Â«%sÂ»."
+
+#: elf32-arm.c:5938
+msgid "Symbol should be absolute, global and refer to Thumb functions."
+msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ‹Ñ‚ÑŒ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ñ‹Ð¼, Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¼ Ð¸Ð»Ð¸ Ñ�Ñ�Ñ‹Ð»Ð°Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Thumb."
+
+#: elf32-arm.c:5958
+#, c-format
+msgid "Entry function `%s' disappeared from secure code."
+msgstr "Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� Â«%sÂ» Ð¸Ñ�Ñ‡ÐµÐ·Ð»Ð° Ð¸Ð· Ð±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð°."
+
+#: elf32-arm.c:5982
+#, c-format
+msgid "`%s' refers to a non entry function."
+msgstr "Â«%sÂ» Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð½Ðµ Ð¿ÑƒÑ�Ñ‚ÑƒÑŽ Ð²Ñ…Ð¾Ð´Ð½ÑƒÑŽ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÑŽ."
+
+#: elf32-arm.c:5997
+msgid "%B: visibility of symbol `%s' has changed."
+msgstr "%B: Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ð°Ñ�ÑŒ Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ñ�Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»."
+
+#: elf32-arm.c:6006
+msgid "%B: incorrect size for symbol `%s'."
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»."
+
+#: elf32-arm.c:6025
+#, c-format
+msgid "Offset of veneer for entry function `%s' not a multiple of its size."
+msgstr "Ð¡Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�ÐºÐ»ÐµÐ¹ÐºÐ¸ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ» Ð½Ðµ ÐºÑ€Ð°Ñ‚Ð½Ð¾ ÐµÑ‘ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ."
+
+#: elf32-arm.c:6045
+msgid "new entry function(s) introduced but no output import library specified:"
+msgstr "Ð¿Ð¾Ñ�Ð²Ð¸Ð»Ð°Ñ�ÑŒ Ð½Ð¾Ð²Ð°Ñ� Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ�(Ð¸), Ð½Ð¾ Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½ Ð²Ñ‹Ð²Ð¾Ð´ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸:"
+
+#: elf32-arm.c:6053
+#, c-format
+msgid "Start address of `%s' is different from previous link."
+msgstr "Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Â«%sÂ» Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÐµÑ‚Ñ�Ñ� Ð¾Ñ‚ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ Ñ�Ñ�Ñ‹Ð»ÐºÐ¸."
+
+#: elf32-arm.c:6760
+#, c-format
+msgid "unable to find THUMB glue '%s' for '%s'"
+msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ THUMB-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»"
+
+#: elf32-arm.c:6796
+#, c-format
+msgid "unable to find ARM glue '%s' for '%s'"
+msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ ARM-Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»"
+
+#: elf32-arm.c:7511
+msgid "%B: BE8 images only valid in big-endian mode."
+msgstr "%B: Ð¾Ð±Ñ€Ð°Ð·Ñ‹ BE8 Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ñ‹ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð² Ñ€ÐµÐ¶Ð¸Ð¼Ðµ big-endian."
+
+#. Give a warning, but do as the user requests anyway.
+#: elf32-arm.c:7742
+msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¹ Ð¾Ð±Ñ…Ð¾Ð´ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ VFP11 Ð½Ðµ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹"
+
+#: elf32-arm.c:7769
+msgid "%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¹ Ð¾Ð±Ñ…Ð¾Ð´ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ STM32L4XX Ð½Ðµ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹"
+
+#: elf32-arm.c:8306 elf32-arm.c:8326
+msgid "%B: unable to find VFP11 veneer `%s'"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ VFP11 Â«%sÂ»"
+
+#: elf32-arm.c:8392 elf32-arm.c:8411
+msgid "%B: unable to find STM32L4XX veneer `%s'"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ STM32L4XX Â«%sÂ»"
+
+#: elf32-arm.c:8618
+#, c-format
+msgid ""
+"%B(%A+%#x): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.\n"
+"Use gcc option -mrestrict-it to generate only one instruction per IT block.\n"
+msgstr ""
+"%B(%A+%#x): Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¾Ðº Ð² Ð½Ðµ Ð¿Ð¾Ñ�Ð»ÐµÐ´Ð½ÐµÐ¼ Ð±Ð»Ð¾ÐºÐµ IT: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ STM32L4XX.\n"
+"Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ gcc -mrestrict-it Ð´Ð»Ñ� Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¾Ð´Ð½Ð¾Ð¹ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Ð² Ð±Ð»Ð¾ÐºÐµ IT.\n"
+
+#: elf32-arm.c:8716
+#, c-format
+msgid "Invalid TARGET2 relocation type '%s'."
+msgstr "Ð�ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ TARGET2 Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Â«%sÂ»."
+
+#. FIXME: We ought to be able to generate thumb-1 PLT
+#. instructions...
+#: elf32-arm.c:9458
+msgid "%B: Warning: thumb-1 mode PLT generation not currently supported"
+msgstr "%B: ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ� PLT Ð² Ñ€ÐµÐ¶Ð¸Ð¼Ðµ thumb-1 Ð¿Ð¾ÐºÐ° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�"
+
+#: elf32-arm.c:9723
+#, c-format
+msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� Thumb-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«%#lxÂ» Ð² Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ð¸Ð½Ðµ TLS"
+
+#: elf32-arm.c:9763
+#, c-format
+msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� ARM-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«%#lxÂ» Ð² Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ð¸Ð½Ðµ TLS"
+
+#: elf32-arm.c:10103
+msgid "shared object"
+msgstr "Ð¾Ð±Ñ‰Ð¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚"
+
+#: elf32-arm.c:10106
+msgid "PIE executable"
+msgstr "Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ PIE"
+
+#: elf32-arm.c:10109
+msgid "%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ð¸Ð»Ð¸ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ %s; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC"
+
+#: elf32-arm.c:10240
+msgid "%B: Warning: Arm BLX instruction targets Arm function '%s'."
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Arm-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� BLX Ð´Ð»Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Arm Â«%sÂ»."
+
+#: elf32-arm.c:10666
+msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Thumb-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� BLX Ð´Ð»Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ thumb Â«%sÂ»."
+
+#: elf32-arm.c:11534
+#, c-format
+msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� Thumb-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«%#lxÂ», Ð½Ð° ÐºÐ¾Ñ‚Ð¾Ñ€ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� TLS_GOTDESC"
+
+#: elf32-arm.c:11557
+#, c-format
+msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ� ARM-Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Â«%#lxÂ», Ð½Ð° ÐºÐ¾Ñ‚Ð¾Ñ€ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� TLS_GOTDESC"
+
+#: elf32-arm.c:11586 elf32-m68k.c:3701 elf32-metag.c:1916 elf32-nios2.c:4358
+#, c-format
+msgid "%B(%A+%#Lx): %s relocation not permitted in shared object"
+msgstr "%B(%A+%#Lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
+
+#: elf32-arm.c:11799
+#, c-format
+msgid "%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group relocations"
+msgstr "%B(%A+%#Lx): Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ ALU Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ñ‹ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ ADD Ð¸Ð»Ð¸ SUB"
+
+#: elf32-arm.c:11839 elf32-arm.c:11929 elf32-arm.c:12015 elf32-arm.c:12103
+#, c-format
+msgid "%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"
+msgstr "%B(%A+%#Lx): Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� %#Lx Ð´Ð»Ñ� Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ %s"
+
+#: elf32-arm.c:12369 elf32-sh.c:4003 elf64-sh64.c:1539
+#, c-format
+msgid "%B(%A+%#Lx): %s relocation against SEC_MERGE section"
+msgstr "%B(%A+%#Lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ SEC_MERGE"
+
+#: elf32-arm.c:12481 elf32-m68k.c:3931 elf32-xtensa.c:2681
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6185
+#, c-format
+msgid "%B(%A+%#Lx): %s used with TLS symbol %s"
+msgstr "%B(%A+%#Lx): %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s"
+
+#: elf32-arm.c:12483 elf32-m68k.c:3933 elf32-xtensa.c:2683
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6187
+#, c-format
+msgid "%B(%A+%#Lx): %s used with non-TLS symbol %s"
+msgstr "%B(%A+%#Lx): %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð½Ðµ TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s"
+
+#: elf32-arm.c:12565 elf32-tic6x.c:2674
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6520
 msgid "out of range"
 msgstr "Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°"
 
-#: elf32-arm.c:10457 elf32-tic6x.c:2757
+#: elf32-arm.c:12569 elf32-nios2.c:4492 elf32-pru.c:821 elf32-tic6x.c:2678
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6524
 msgid "unsupported relocation"
 msgstr "Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
 
-#: elf32-arm.c:10465 elf32-tic6x.c:2765
+#: elf32-arm.c:12577 elf32-nios2.c:4502 elf32-pru.c:831 elf32-tic6x.c:2686
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6532
 msgid "unknown error"
 msgstr "Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°"
 
-#: elf32-arm.c:10890
-msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¡Ð±Ñ€Ð¾Ñ� Ñ„Ð»Ð°Ð³Ð° Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ %B, ÐºÐ°Ðº Ñ� Ð½Ð¸Ð¼ Ð±Ñ‹Ð» Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½ ÐºÐ¾Ð´ Ð±ÐµÐ· Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð¾Ð¹ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ð¸Ð· %B"
-
-#: elf32-arm.c:10984
+#: elf32-arm.c:13157
 msgid "%B: Unknown mandatory EABI object attribute %d"
 msgstr "%B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %d"
 
-#: elf32-arm.c:10992
+#: elf32-arm.c:13165
 msgid "Warning: %B: Unknown EABI object attribute %d"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %d"
 
-#: elf32-arm.c:11173
+#: elf32-arm.c:13432
 msgid "error: %B: Unknown CPU architecture"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð°"
 
-#: elf32-arm.c:11211
+#: elf32-arm.c:13470 elf32-nios2.c:2945
+#, c-format
 msgid "error: %B: Conflicting CPU architectures %d/%d"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰Ð¸Ðµ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð½Ñ‹Ðµ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸ %d/%d"
 
-#: elf32-arm.c:11260
+#: elf32-arm.c:13567
 msgid "Error: %B has both the current and legacy Tag_MPextension_use attributes"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ°: %B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ Ð¸ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹ Ð¸ ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ²ÑˆÐ¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Tag_MPextension_use"
 
-#: elf32-arm.c:11285
+#: elf32-arm.c:13596
 msgid "error: %B uses VFP register arguments, %B does not"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ñ‹Ðµ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹ VFP, Ð° %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚"
 
-#: elf32-arm.c:11430
+#: elf32-arm.c:13754
 msgid "error: %B: unable to merge virtualization attributes with %B"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ Ñ� %B"
 
-#: elf32-arm.c:11456
+#: elf32-arm.c:13780
 msgid "error: %B: Conflicting architecture profiles %c/%c"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰Ð¸Ðµ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð½Ñ‹Ðµ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸ %c/%c"
 
-#: elf32-arm.c:11557
+#: elf32-arm.c:13919
 msgid "Warning: %B: Conflicting platform configuration"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ð²Ñ‹Ðµ Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ¸ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹"
 
-#: elf32-arm.c:11566
+#: elf32-arm.c:13928
 msgid "error: %B: Conflicting use of R9"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰ÐµÐµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ R9"
 
-#: elf32-arm.c:11578
+#: elf32-arm.c:13940
 msgid "error: %B: SB relative addressing conflicts with use of R9"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð°Ñ‰ÐµÐµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ Ð°Ð´Ñ€ÐµÑ�Ð°Ñ†Ð¸Ð¸ SB Ð¸ R9"
 
-#: elf32-arm.c:11591
+#: elf32-arm.c:13953
 msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ð¹ wchar_t, Ñ…Ð¾Ñ‚Ñ� ÑƒÐ¶Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð»Ñ�Ñ� %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ð¹ wchar_t; Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ wchar_t Ð² Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ñ… Ð¼Ð¾Ð¶ÐµÑ‚ Ð¿Ñ€Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ðº Ð¾ÑˆÐ¸Ð±ÐºÐµ"
 
-#: elf32-arm.c:11622
+#: elf32-arm.c:13984
 msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s enum, Ñ…Ð¾Ñ‚Ñ� ÑƒÐ¶Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð»Ñ�Ñ� %s enum; Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ enum Ð² Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ñ… Ð¼Ð¾Ð¶ÐµÑ‚ Ð¿Ñ€Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ðº Ð¾ÑˆÐ¸Ð±ÐºÐµ"
 
-#: elf32-arm.c:11634
+#: elf32-arm.c:13996
 msgid "error: %B uses iWMMXt register arguments, %B does not"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ñ‹Ðµ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹ iWMMXt, Ð° %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚"
 
-#: elf32-arm.c:11651
+#: elf32-arm.c:14013
 msgid "error: fp16 format mismatch between %B and %B"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ fp16 Ñ€Ð°Ñ�Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð² %B Ð¸ %B"
 
-#: elf32-arm.c:11675
-msgid "DIV usage mismatch between %B and %B"
-msgstr "Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ DIV Ñ€Ð°Ñ�Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð² %B Ð¸ %B"
-
-#: elf32-arm.c:11694
-msgid "%B has has both the current and legacy Tag_MPextension_use attributes"
+#: elf32-arm.c:14049
+msgid "%B has both the current and legacy Tag_MPextension_use attributes"
 msgstr "%B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ Ð¸ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹ Ð¸ ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ²ÑˆÐ¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Tag_MPextension_use"
 
 #. Ignore init flag - it may not be set, despite the flags field
 #. containing valid data.
 #. Ignore init flag - it may not be set, despite the flags field containing valid data.
-#: elf32-arm.c:11782 elf32-bfin.c:5079 elf32-cris.c:4169 elf32-m68hc1x.c:1282
-#: elf32-m68k.c:1236 elf32-score.c:3994 elf32-score7.c:3800 elf32-vax.c:529
-#: elfxx-mips.c:14103
+#. Ignore init flag - it may not be set, despite the flags field
+#. containing valid data.
+#: elf32-arm.c:14136 elf32-bfin.c:4729 elf32-cris.c:3905 elf32-m68hc1x.c:1409
+#: elf32-m68k.c:1199 elf32-score.c:3998 elf32-score7.c:3803 elf32-vax.c:536
+#: elf32-xgate.c:669 elfxx-mips.c:15756
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6686
 #, c-format
 msgid "private flags = %lx:"
 msgstr "Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %lx:"
 
-#: elf32-arm.c:11791
+#: elf32-arm.c:14145
 #, c-format
 msgid " [interworking enabled]"
 msgstr " [Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°]"
 
-#: elf32-arm.c:11799
+#: elf32-arm.c:14153
 #, c-format
 msgid " [VFP float format]"
 msgstr " [VFP Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸]"
 
-#: elf32-arm.c:11801
+#: elf32-arm.c:14155
 #, c-format
 msgid " [Maverick float format]"
 msgstr " [Maverick Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸]"
 
-#: elf32-arm.c:11803
+#: elf32-arm.c:14157
 #, c-format
 msgid " [FPA float format]"
 msgstr " [FPA Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸]"
 
-#: elf32-arm.c:11812
+#: elf32-arm.c:14166
 #, c-format
 msgid " [new ABI]"
 msgstr " [Ð½Ð¾Ð²Ñ‹Ð¹ ABI]"
 
-#: elf32-arm.c:11815
+#: elf32-arm.c:14169
 #, c-format
 msgid " [old ABI]"
 msgstr " [Ñ�Ñ‚Ð°Ñ€Ñ‹Ð¹ ABI]"
 
-#: elf32-arm.c:11818
+#: elf32-arm.c:14172
 #, c-format
 msgid " [software FP]"
 msgstr " [Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð°Ñ� FP]"
 
-#: elf32-arm.c:11827
+#: elf32-arm.c:14181
 #, c-format
 msgid " [Version1 EABI]"
 msgstr " [Ð’ÐµÑ€Ñ�Ð¸Ñ�1 EABI]"
 
-#: elf32-arm.c:11830 elf32-arm.c:11841
+#: elf32-arm.c:14184 elf32-arm.c:14195
 #, c-format
 msgid " [sorted symbol table]"
 msgstr " [Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²]"
 
-#: elf32-arm.c:11832 elf32-arm.c:11843
+#: elf32-arm.c:14186 elf32-arm.c:14197
 #, c-format
 msgid " [unsorted symbol table]"
 msgstr " [Ð½ÐµÑ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²]"
 
-#: elf32-arm.c:11838
+#: elf32-arm.c:14192
 #, c-format
 msgid " [Version2 EABI]"
 msgstr " [Ð’ÐµÑ€Ñ�Ð¸Ñ�2 EABI]"
 
-#: elf32-arm.c:11846
+#: elf32-arm.c:14200
 #, c-format
 msgid " [dynamic symbols use segment index]"
 msgstr " [Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ�]"
 
-#: elf32-arm.c:11849
+#: elf32-arm.c:14203
 #, c-format
 msgid " [mapping symbols precede others]"
 msgstr " [Ð¿Ñ€Ð¾ÐµÑ†Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ€Ð°Ð½ÑŒÑˆÐµ]"
 
-#: elf32-arm.c:11856
+#: elf32-arm.c:14210
 #, c-format
 msgid " [Version3 EABI]"
 msgstr " [Ð’ÐµÑ€Ñ�Ð¸Ñ�3 EABI]"
 
-#: elf32-arm.c:11860
+#: elf32-arm.c:14214
 #, c-format
 msgid " [Version4 EABI]"
 msgstr " [Ð’ÐµÑ€Ñ�Ð¸Ñ�4 EABI]"
 
-#: elf32-arm.c:11864
+#: elf32-arm.c:14218
 #, c-format
 msgid " [Version5 EABI]"
 msgstr " [Ð’ÐµÑ€Ñ�Ð¸Ñ�5 EABI]"
 
-#: elf32-arm.c:11867
+#: elf32-arm.c:14221
+#, c-format
+msgid " [soft-float ABI]"
+msgstr " [soft-float ABI]"
+
+#: elf32-arm.c:14224
+#, c-format
+msgid " [hard-float ABI]"
+msgstr " [hard-float ABI]"
+
+#: elf32-arm.c:14230
 #, c-format
 msgid " [BE8]"
 msgstr " [BE8]"
 
-#: elf32-arm.c:11870
+#: elf32-arm.c:14233
 #, c-format
 msgid " [LE8]"
 msgstr " [LE8]"
 
-#: elf32-arm.c:11876
+#: elf32-arm.c:14239
 #, c-format
 msgid " <EABI version unrecognised>"
 msgstr " <Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� EABI>"
 
-#: elf32-arm.c:11883
+#: elf32-arm.c:14246
 #, c-format
 msgid " [relocatable executable]"
 msgstr " [Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ñ‹Ð¹ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹]"
 
-#: elf32-arm.c:11886
-#, c-format
-msgid " [has entry point]"
-msgstr " [Ð¸Ð¼ÐµÐµÑ‚ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð²Ñ…Ð¾Ð´Ð°]"
-
-#: elf32-arm.c:11891
+#: elf32-arm.c:14251
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6689
 #, c-format
 msgid "<Unrecognised flag bits set>"
 msgstr "<Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð°Ð±Ð¾Ñ€ Ð±Ð¸Ñ‚Ð¾Ð² Ñ„Ð»Ð°Ð³Ð°>"
 
-#: elf32-arm.c:12189 elf32-i386.c:1461 elf32-s390.c:1000 elf32-tic6x.c:2829
-#: elf32-tilepro.c:1336 elf32-xtensa.c:1009 elf64-s390.c:960
-#: elf64-x86-64.c:1364 elfxx-sparc.c:1371 elfxx-tilegx.c:1586
+#: elf32-arm.c:14368 elf32-i386.c:1510 elf32-s390.c:956 elf32-tic6x.c:2749
+#: elf32-tilepro.c:1471 elf32-xtensa.c:1018 elf64-s390.c:875
+#: elf64-x86-64.c:1823 elfxx-sparc.c:1420 elfxx-tilegx.c:1688
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6978
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:513
+#, c-format
 msgid "%B: bad symbol index: %d"
 msgstr "%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ�: %d"
 
-#: elf32-arm.c:12337 elf64-x86-64.c:1561 elf64-x86-64.c:1732 elfxx-mips.c:8223
-msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC"
+#: elf32-arm.c:15636 elf32-hppa.c:2082 elf32-lm32.c:1989 elf32-m32r.c:2097
+#: elf32-metag.c:2792 elf32-nds32.c:3844 elf32-or1k.c:2281 elf32-ppc.c:6156
+#: elf32-s390.c:1851 elf32-sh.c:3289 elf32-tic6x.c:3205 elf32-tilepro.c:2237
+#: elf64-ppc.c:9893 elf64-s390.c:1785 elfxx-sparc.c:2457 elfxx-tilegx.c:2479
+#: elfxx-x86.c:563
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:8319
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:1112
+#, c-format
+msgid "%B: dynamic relocation against `%T' in read-only section `%A'\n"
+msgstr "%B: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ� Â«%TÂ» Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ»\n"
+
+#: elf32-arm.c:15881
+msgid "Errors encountered processing file %B"
+msgstr "ÐŸÑ€Ð¸ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐµ Ñ„Ð°Ð¹Ð»Ð° %B Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ñ‹ Ð¾ÑˆÐ¸Ð±ÐºÐ¸"
 
-#: elf32-arm.c:13460
+#: elf32-arm.c:16318 elflink.c:12394 elflink.c:12441
 #, c-format
-msgid "Errors encountered processing file %s"
-msgstr "ÐŸÑ€Ð¸ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐµ Ñ„Ð°Ð¹Ð»Ð° %s Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ñ‹ Ð¾ÑˆÐ¸Ð±ÐºÐ¸"
+msgid "could not find section %s"
+msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ» %s"
 
-#: elf32-arm.c:14837
+#: elf32-arm.c:17494
 msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
 msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð´Ð»Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¸ Cortex-A8 Ñ€Ð°Ñ�Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð° Ð² Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ð¼ Ð¼ÐµÑ�Ñ‚Ðµ"
 
 #. There's not much we can do apart from complain if this
 #. happens.
-#: elf32-arm.c:14864
+#: elf32-arm.c:17521
 msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
 msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð´Ð»Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¸ Cortex-A8 Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ„Ð°Ð¹Ð»)"
 
-#: elf32-arm.c:14958 elf32-arm.c:14980
+#: elf32-arm.c:18348 elf32-arm.c:18370
 msgid "%B: error: VFP11 veneer out of range"
 msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ñ�ÐºÐ»ÐµÐ¹ÐºÐ° VFP11 Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°"
 
-#: elf32-arm.c:15518
+#: elf32-arm.c:18421
+msgid "%B(%#Lx): error: Cannot create STM32L4XX veneer. Jump out of range by %Ld bytes. Cannot encode branch instruction. "
+msgstr "%B(%#Lx): Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ STM32L4XX. ÐŸÑ€Ñ‹Ð¶Ð¾Ðº Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð·Ð° Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ %Ld Ð±Ð°Ð¹Ñ‚. Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ�."
+
+#: elf32-arm.c:18459
+msgid "%B: error: Cannot create STM32L4XX veneer."
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ STM32L4XX."
+
+#: elf32-arm.c:19481
 msgid "error: %B is already in final BE8 format"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B ÑƒÐ¶Ðµ Ð² ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ BE8"
 
-#: elf32-arm.c:15594
+#: elf32-arm.c:19557
 msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: ÐžÐ±ÑŠÐµÐºÑ‚-Ð¸Ñ�Ñ‚Ð¾Ñ‡Ð½Ð¸Ðº %B Ð¸Ð¼ÐµÐµÑ‚ Ð²ÐµÑ€Ñ�Ð¸ÑŽ EABI %d, Ð° Ñ†ÐµÐ»ÑŒ %B Ð¸Ð¼ÐµÐµÑ‚ Ð²ÐµÑ€Ñ�Ð¸ÑŽ EABI %d"
 
-#: elf32-arm.c:15610
+#: elf32-arm.c:19572
 msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� APCS-%d, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ñ†ÐµÐ»ÑŒ %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ APCS-%d"
 
-#: elf32-arm.c:15635
+#: elf32-arm.c:19596
 msgid "error: %B uses VFP instructions, whereas %B does not"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ VFP, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚"
 
-#: elf32-arm.c:15639
+#: elf32-arm.c:19600
 msgid "error: %B uses FPA instructions, whereas %B does not"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ FPA, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚"
 
-#: elf32-arm.c:15649
+#: elf32-arm.c:19610
 msgid "error: %B uses Maverick instructions, whereas %B does not"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Maverick, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚"
 
-#: elf32-arm.c:15653
+#: elf32-arm.c:19614
 msgid "error: %B does not use Maverick instructions, whereas %B does"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð½Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Maverick, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚"
 
-#: elf32-arm.c:15672
+#: elf32-arm.c:19633
 msgid "error: %B uses software FP, whereas %B uses hardware FP"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ FP, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ FP"
 
-#: elf32-arm.c:15676
+#: elf32-arm.c:19637
 msgid "error: %B uses hardware FP, whereas %B uses software FP"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ FP, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ FP"
 
-#: elf32-avr.c:1229 elf32-bfin.c:3221 elf32-cris.c:2089 elf32-epiphany.c:567
-#: elf32-fr30.c:617 elf32-frv.c:4113 elf32-i860.c:1219 elf32-ip2k.c:1479
-#: elf32-iq2000.c:692 elf32-m32c.c:561 elf32-mep.c:543 elf32-moxie.c:290
-#: elf32-msp430.c:494 elf32-mt.c:399 elf32-openrisc.c:412 elf32-tilepro.c:3222
-#: elf32-v850.c:2151 elf32-xstormy16.c:943 elf64-mmix.c:1598
-#: elfxx-tilegx.c:3585
+#: elf32-avr.c:959
+#, c-format
+msgid "%B: invalid AVR reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� AVR: %d"
+
+#: elf32-avr.c:1510 elf32-bfin.c:3124 elf32-cris.c:2038 elf32-epiphany.c:574
+#: elf32-fr30.c:599 elf32-frv.c:4049 elf32-ft32.c:493 elf32-i860.c:1218
+#: elf32-ip2k.c:1486 elf32-iq2000.c:697 elf32-m32c.c:630 elf32-mep.c:532
+#: elf32-metag.c:1993 elf32-moxie.c:293 elf32-msp430.c:1361 elf32-mt.c:404
+#: elf32-or1k.c:1246 elf32-tilepro.c:3505 elf32-v850.c:2291 elf32-visium.c:685
+#: elf32-xstormy16.c:931 elf64-mmix.c:1546 elfxx-tilegx.c:3865
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2245
 msgid "internal error: dangerous relocation"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
 
-#: elf32-avr.c:2415 elf32-hppa.c:598 elf32-m68hc1x.c:166
-msgid "%B: cannot create stub entry %s"
-msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s"
+#: elf32-avr.c:3319
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:2882
+#, c-format
+msgid "cannot create stub entry %s"
+msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s"
 
-#: elf32-bfin.c:107 elf32-bfin.c:363
+#: elf32-bfin.c:106 elf32-bfin.c:362
 msgid "relocation should be even number"
 msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ Ñ‡Ñ‘Ñ‚Ð½Ñ‹Ð¼ Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼"
 
-#: elf32-bfin.c:1593
-msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
-msgstr "%B(%A+0x%lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
-
-#: elf32-bfin.c:1626 elf32-i386.c:4307 elf32-m68k.c:4233 elf32-s390.c:3055
-#: elf64-s390.c:3030 elf64-x86-64.c:4151
-msgid "%B(%A+0x%lx): reloc against `%s': error %d"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ðº Â«%sÂ»: Ð¾ÑˆÐ¸Ð±ÐºÐ° %d"
-
-#: elf32-bfin.c:2725
-msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%A+0x%xÂ» Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼"
+#: elf32-bfin.c:1577
+#, c-format
+msgid "%B(%A+%#Lx): unresolvable relocation against symbol `%s'"
+msgstr "%B(%A+%#Lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ»"
 
-#: elf32-bfin.c:2741
+#: elf32-bfin.c:1608 elf32-i386.c:3473 elf32-m68k.c:3971 elf32-s390.c:3261
+#: elf64-s390.c:3175 elf64-x86-64.c:3839
+#, c-format
+msgid "%B(%A+%#Lx): reloc against `%s': error %d"
+msgstr "%B(%A+%#Lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ� Â«%sÂ»: Ð¾ÑˆÐ¸Ð±ÐºÐ° %d"
+
+#: elf32-bfin.c:2628
+#, c-format
+msgid "%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ Â«%A+%#LxÂ» Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼"
+
+#: elf32-bfin.c:2644
 msgid "relocation references symbol not defined in the module"
 msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² Ð¼Ð¾Ð´ÑƒÐ»Ðµ"
 
-#: elf32-bfin.c:2838
+#: elf32-bfin.c:2741
 msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
 msgstr "R_BFIN_FUNCDESC ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼"
 
-#: elf32-bfin.c:2879 elf32-bfin.c:3002
+#: elf32-bfin.c:2782 elf32-bfin.c:2905
 msgid "cannot emit fixups in read-only section"
 msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�"
 
-#: elf32-bfin.c:2910 elf32-bfin.c:3040 elf32-lm32.c:1103 elf32-sh.c:5016
+#: elf32-bfin.c:2813 elf32-bfin.c:2943 elf32-lm32.c:1044 elf32-sh.c:4926
 msgid "cannot emit dynamic relocations in read-only section"
 msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�"
 
-#: elf32-bfin.c:2960
+#: elf32-bfin.c:2863
 msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
 msgstr "R_BFIN_FUNCDESC_VALUE ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼"
 
-#: elf32-bfin.c:3125
+#: elf32-bfin.c:3028
 msgid "relocations between different segments are not supported"
 msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¼ÐµÐ¶Ð´Ñƒ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÑŽÑ‚Ñ�Ñ�"
 
-#: elf32-bfin.c:3126
+#: elf32-bfin.c:3029
 msgid "warning: relocation references a different segment"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚"
 
-#: elf32-bfin.c:4971
-msgid "%B: unsupported relocation type %i"
-msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %i"
-
-#: elf32-bfin.c:5125 elf32-frv.c:6808
+#: elf32-bfin.c:4687
 #, c-format
-msgid "%s: cannot link non-fdpic object file into fdpic executable"
-msgstr "%s: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ð½Ðµ-fdpic Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ fdpic"
+msgid "%B: unsupported relocation type %d"
+msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d"
 
-#: elf32-bfin.c:5129 elf32-frv.c:6812
-#, c-format
-msgid "%s: cannot link fdpic object file into non-fdpic executable"
-msgstr "%s: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ fdpic Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ Ð½Ðµ-fdpic"
+#: elf32-bfin.c:4776 elf32-frv.c:6596
+msgid "%B: cannot link non-fdpic object file into fdpic executable"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ð½Ðµ Ñ�Ð²Ð»Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� fdpic Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ fdpic"
 
-#: elf32-bfin.c:5283
+#: elf32-bfin.c:4780 elf32-frv.c:6600
+msgid "%B: cannot link fdpic object file into non-fdpic executable"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ñ�Ð²Ð»Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� fdpic Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ Ð½Ðµ fdpic"
+
+#: elf32-bfin.c:4930
 #, c-format
 msgid "*** check this relocation %s"
 msgstr "*** Ð¿Ñ€Ð¾Ð²ÐµÑ€ÑŒÑ‚Ðµ Ñ�Ñ‚Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s"
 
-#: elf32-cris.c:1176
+#: elf32-bfin.c:5046
+msgid "the bfin target does not currently support the generation of copy relocations"
+msgstr "Ð´Ð»Ñ� Ñ†ÐµÐ»Ð¸ bfin Ð¿Ð¾ÐºÐ° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ� ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹"
+
+#: elf32-cr16.c:653
+#, c-format
+msgid "Unsupported CR16 relocation type: 0x%x\n"
+msgstr "Ð�ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� CR16: 0x%x\n"
+
+#: elf32-cr16.c:682
+#, c-format
+msgid "%B: unrecognised CR16 reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� CR16: %d"
+
+#: elf32-cr16c.c:186
+#, c-format
+msgid "%B: invalid CR16C reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� CR16C: %d"
+
+#: elf32-cris.c:467
+#, c-format
+msgid "%B: invalid CRIS reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� CRIS: %d"
+
+#: elf32-cris.c:1116
+#, c-format
 msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
 msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
 
-#: elf32-cris.c:1238
+#: elf32-cris.c:1181
+#, c-format
 msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'"
 msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð�ÐµÑ‚ Ð½Ð¸ PLT Ð½Ð¸ GOT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
 
-#: elf32-cris.c:1240
+#: elf32-cris.c:1184
+#, c-format
 msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
 msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð�ÐµÑ‚ PLT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
 
-#: elf32-cris.c:1246 elf32-cris.c:1379 elf32-cris.c:1639 elf32-cris.c:1722
-#: elf32-cris.c:1875 elf32-tic6x.c:2662
+#: elf32-cris.c:1190 elf32-cris.c:1323 elf32-cris.c:1588 elf32-cris.c:1671
+#: elf32-cris.c:1824 elf32-tic6x.c:2586
 msgid "[whose name is lost]"
 msgstr "[Ñ‡ÑŒÑ‘ Ð¸Ð¼Ñ� Ð¿Ð¾Ñ‚ÐµÑ€Ñ�Ð½Ð¾]"
 
-#: elf32-cris.c:1365 elf32-tic6x.c:2647
-msgid "%B, section %A: relocation %s with non-zero addend %d against local symbol"
-msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ %d Ñƒ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°"
-
-#: elf32-cris.c:1373 elf32-cris.c:1716 elf32-cris.c:1869 elf32-tic6x.c:2655
-msgid "%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
-msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ %d Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
+#: elf32-cris.c:1308 elf32-tic6x.c:2570
+#, c-format
+msgid "%B, section %A: relocation %s with non-zero addend %Ld against local symbol"
+msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ %Ld Ñƒ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°"
+
+#: elf32-cris.c:1317 elf32-cris.c:1665 elf32-cris.c:1818 elf32-tic6x.c:2579
+#, c-format
+msgid "%B, section %A: relocation %s with non-zero addend %Ld against symbol `%s'"
+msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ %Ld Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
 
-#: elf32-cris.c:1399
+#: elf32-cris.c:1344
+#, c-format
 msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'"
 msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: Â«%sÂ»"
 
-#: elf32-cris.c:1415
+#: elf32-cris.c:1361
+#, c-format
 msgid "%B, section %A: relocation %s with no GOT created"
 msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð±ÐµÐ· Ñ�Ð¾Ð·Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ GOT"
 
 #. We shouldn't get here for GCC-emitted code.
-#: elf32-cris.c:1630
+#: elf32-cris.c:1578
+#, c-format
 msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
 msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»ÐºÑƒ Ð½Ð° Â«%sÂ»; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ�Ð¼ÐµÑˆÐµÐ½Ð¸Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ð¹?"
 
-#: elf32-cris.c:2002
+#: elf32-cris.c:1581
+#, c-format
+msgid "%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?"
+msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Â«%sÂ», Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ñ� Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ñ�Ñ‚ÑŒÑŽ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ�Ð¼ÐµÑˆÐµÐ½Ð¸Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ð¹?"
+
+#: elf32-cris.c:1952
+#, c-format
 msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
 msgstr "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: Â«%sÂ», ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð²Ð½Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ�Ð¼ÐµÑˆÐµÐ½Ð¸Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ð¹?"
 
-#: elf32-cris.c:2055
+#: elf32-cris.c:2005
 msgid "(too many global variables for -fpic: recompile with -fPIC)"
 msgstr "(Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… Ð´Ð»Ñ� -fpic: Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -fPIC)"
 
-#: elf32-cris.c:2062
+#: elf32-cris.c:2012
 msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)"
 msgstr "(Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð½Ð¸Ñ‚Ð¸ Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð²ÐµÐ»Ð¸ÐºÐ¸ Ð´Ð»Ñ� -fpic Ð¸Ð»Ð¸ -msmall-tls: Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -fPIC Ð¸Ð»Ð¸ -mno-small-tls)"
 
-#: elf32-cris.c:3261
+#: elf32-cris.c:3047
+#, c-format
 msgid ""
 "%B, section %A:\n"
-"  v10/v32 compatible object %s must not contain a PIC relocation"
+"  v10/v32 compatible object must not contain a PIC relocation"
 msgstr ""
 "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A:\n"
-"  v10/v32 Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ %s Ð½Ðµ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� PIC"
+"  v10/v32 Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ Ð½Ðµ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ PIC"
 
-#: elf32-cris.c:3366
+#: elf32-cris.c:3101
+#, c-format
 msgid ""
 "%B, section %A:\n"
 "  relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC"
@@ -1406,7 +2161,8 @@ msgstr ""
 "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A:\n"
 "  Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¼ Ð¾Ð±ÑŠÐµÐºÑ‚Ðµ; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ�Ð¼ÐµÑˆÐµÐ½Ð¸Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð², Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC"
 
-#: elf32-cris.c:3580
+#: elf32-cris.c:3319
+#, c-format
 msgid ""
 "%B, section %A:\n"
 "  relocation %s should not be used in a shared object; recompile with -fPIC"
@@ -1414,7 +2170,8 @@ msgstr ""
 "%B, Ñ€Ð°Ð·Ð´ÐµÐ» %A:\n"
 "  Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¼ Ð¾Ð±ÑŠÐµÐºÑ‚Ðµ; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC"
 
-#: elf32-cris.c:4002
+#: elf32-cris.c:3744
+#, c-format
 msgid ""
 "%B, section `%A', to symbol `%s':\n"
 "  relocation %s should not be used in a shared object; recompile with -fPIC"
@@ -1422,42 +2179,57 @@ msgstr ""
 "%B, Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ», Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»:\n"
 "  Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¼ Ð¾Ð±ÑŠÐµÐºÑ‚Ðµ; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC"
 
-#: elf32-cris.c:4118
+#: elf32-cris.c:3857
 msgid "Unexpected machine number"
 msgstr "Ð�ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð¾Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾"
 
-#: elf32-cris.c:4172
+#: elf32-cris.c:3908
 #, c-format
 msgid " [symbols have a _ prefix]"
 msgstr " [Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ� _]"
 
-#: elf32-cris.c:4175
+#: elf32-cris.c:3911
 #, c-format
 msgid " [v10 and v32]"
 msgstr " [v10 Ð¸ v32]"
 
-#: elf32-cris.c:4178
+#: elf32-cris.c:3914
 #, c-format
 msgid " [v32]"
 msgstr " [v32]"
 
-#: elf32-cris.c:4223
+#: elf32-cris.c:3958
 msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
 msgstr "%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ñ� Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð¾Ð¼ _, Ð½Ð¾ Ð² Ñ„Ð°Ð¹Ð» Ð·Ð°Ð¿Ð¸Ñ�Ñ‹Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð¾Ð²"
 
-#: elf32-cris.c:4224
+#: elf32-cris.c:3959
 msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
 msgstr "%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð° _, Ð½Ð¾ Ð² Ñ„Ð°Ð¹Ð» Ð·Ð°Ð¿Ð¸Ñ�Ñ‹Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ñ� Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ�Ð¾Ð¼ _"
 
-#: elf32-cris.c:4243
+#: elf32-cris.c:3978
 msgid "%B contains CRIS v32 code, incompatible with previous objects"
 msgstr "%B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÐºÐ¾Ð´ CRIS v32, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸"
 
-#: elf32-cris.c:4245
+#: elf32-cris.c:3980
 msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
 msgstr "%B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÐºÐ¾Ð´ Ð½Ðµ-CRIS v32, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸"
 
-#: elf32-dlx.c:142
+#: elf32-crx.c:429
+#, c-format
+msgid "%B: unrecognised CRX reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� CRX: %d"
+
+#: elf32-d10v.c:234
+#, c-format
+msgid "%B: invalid D10V reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� D10V: %d"
+
+#: elf32-d30v.c:522 elf32-d30v.c:541
+#, c-format
+msgid "%B: invalid D30V reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� D30V: %d"
+
+#: elf32-dlx.c:141
 #, c-format
 msgid "BFD Link Error: branch (PC rel16) to section (%s) not supported"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ BFD: Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ (PC rel16) Ð² Ñ€Ð°Ð·Ð´ÐµÐ» (%s) Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�"
@@ -1467,515 +2239,896 @@ msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ
 msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ BFD: Ð¿Ñ€Ñ‹Ð¶Ð¾Ðº (PC rel26) Ð² Ñ€Ð°Ð·Ð´ÐµÐ» (%s) Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�"
 
+#: elf32-dlx.c:548
+#, c-format
+msgid "Invalid DLX reloc number: %d"
+msgstr "Ð�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� DLX: %d"
+
+#: elf32-epiphany.c:376
+#, c-format
+msgid "%B: invalid Epiphany reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Epiphany: %d"
+
 #. Only if it's not an unresolved symbol.
-#: elf32-epiphany.c:563 elf32-ip2k.c:1475
+#: elf32-epiphany.c:570 elf32-ip2k.c:1482
 msgid "unsupported relocation between data/insn address spaces"
 msgstr "Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¼ÐµÐ¶Ð´Ñƒ Ð°Ð´Ñ€ÐµÑ�Ð½Ñ‹Ð¼ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð¾Ð¼ Ð´Ð°Ð½Ð½Ñ‹Ñ…/insn"
 
-#: elf32-frv.c:1509 elf32-frv.c:1658
+#: elf32-fr30.c:381
+#, c-format
+msgid "%B: invalid FR30 reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� FR30: %d"
+
+#: elf32-frv.c:1451 elf32-frv.c:1602
 msgid "relocation requires zero addend"
 msgstr "Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ"
 
-#: elf32-frv.c:2888
+#: elf32-frv.c:2557
+#, c-format
+msgid "%B: invalid FRV reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� FRV: %d"
+
+#: elf32-frv.c:2823
+#, c-format
 msgid "%H: relocation to `%s+%v' may have caused the error above\n"
 msgstr "%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Â«%s+%vÂ» Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð²Ñ‹Ð·Ð²Ð°Ð½Ð¾ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹\n"
 
-#: elf32-frv.c:2905
+#: elf32-frv.c:2840
 msgid "%H: relocation references symbol not defined in the module\n"
 msgstr "%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² Ð¼Ð¾Ð´ÑƒÐ»Ðµ\n"
 
-#: elf32-frv.c:2981
+#: elf32-frv.c:2916
 msgid "%H: R_FRV_GETTLSOFF not applied to a call instruction\n"
 msgstr "%H: R_FRV_GETTLSOFF Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ call\n"
 
-#: elf32-frv.c:3022
+#: elf32-frv.c:2957
 msgid "%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction\n"
 msgstr "%H R_FRV_GOTTLSDESC12 Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ lddi\n"
 
-#: elf32-frv.c:3093
+#: elf32-frv.c:3028
 msgid "%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction\n"
 msgstr "%H: R_FRV_GOTTLSDESCHI Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ sethi\n"
 
-#: elf32-frv.c:3130
+#: elf32-frv.c:3065
 msgid "%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction\n"
 msgstr "%H: R_FRV_GOTTLSDESCLO Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ setlo Ð¸Ð»Ð¸ setlos\n"
 
-#: elf32-frv.c:3177
+#: elf32-frv.c:3112
 msgid "%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction\n"
 msgstr "%H: R_FRV_TLSDESC_RELAX Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ ldd\n"
 
-#: elf32-frv.c:3261
+#: elf32-frv.c:3196
 msgid "%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction\n"
 msgstr "%H: R_FRV_GETTLSOFF_RELAX Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ calll\n"
 
-#: elf32-frv.c:3315
+#: elf32-frv.c:3250
 msgid "%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction\n"
 msgstr "%H: R_FRV_GOTTLSOFF12 Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ ldi\n"
 
-#: elf32-frv.c:3345
+#: elf32-frv.c:3280
 msgid "%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction\n"
 msgstr "%H: R_FRV_GOTTLSOFFHI Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ sethi\n"
 
-#: elf32-frv.c:3374
+#: elf32-frv.c:3309
 msgid "%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction\n"
 msgstr "%H: R_FRV_GOTTLSOFFLO Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ setlo Ð¸Ð»Ð¸ setlos\n"
 
-#: elf32-frv.c:3404
+#: elf32-frv.c:3339
 msgid "%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction\n"
 msgstr "%H: R_FRV_TLSOFF_RELAX Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ ld\n"
 
-#: elf32-frv.c:3449
+#: elf32-frv.c:3384
 msgid "%H: R_FRV_TLSMOFFHI not applied to a sethi instruction\n"
 msgstr "%H: R_FRV_TLSMOFFHI Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ sethi\n"
 
-#: elf32-frv.c:3476
+#: elf32-frv.c:3411
 msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n"
 msgstr "R_FRV_TLSMOFFLO Ð½Ðµ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ setlo Ð¸Ð»Ð¸ setlos\n"
 
-#: elf32-frv.c:3597
+#: elf32-frv.c:3532
 msgid "%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend\n"
 msgstr "%H: R_FRV_FUNCDESC ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼\n"
 
-#: elf32-frv.c:3638 elf32-frv.c:3760
+#: elf32-frv.c:3573 elf32-frv.c:3695
 msgid "%H: cannot emit fixups in read-only section\n"
 msgstr "%H: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�\n"
 
-#: elf32-frv.c:3669 elf32-frv.c:3803
+#: elf32-frv.c:3604 elf32-frv.c:3738
 msgid "%H: cannot emit dynamic relocations in read-only section\n"
 msgstr "%H: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�\n"
 
-#: elf32-frv.c:3718
+#: elf32-frv.c:3653
 msgid "%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend\n"
 msgstr "%H: R_FRV_FUNCDESC_VALUE ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼\n"
 
-#: elf32-frv.c:3974
+#: elf32-frv.c:3910
+#, c-format
 msgid "%H: reloc against `%s' references a different segment\n"
 msgstr "%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ Â«%sÂ» Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°\n"
 
-#: elf32-frv.c:4124
+#: elf32-frv.c:4061
+#, c-format
 msgid "%H: reloc against `%s': %s\n"
 msgstr "%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Â«%sÂ»: %s\n"
 
-#: elf32-frv.c:6400
+#: elf32-frv.c:6255
+#, c-format
 msgid "%B: unsupported relocation type %i\n"
 msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %i\n"
 
-#: elf32-frv.c:6722
-#, c-format
-msgid "%s: compiled with %s and linked with modules that use non-pic relocations"
-msgstr "%s: ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ� %s Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð½Ðµ-pic Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�"
-
-#: elf32-frv.c:6775 elf32-iq2000.c:845 elf32-m32c.c:807
+#: elf32-frv.c:6507
 #, c-format
-msgid "%s: compiled with %s and linked with modules compiled with %s"
-msgstr "%s: ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ� %s Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ñ� %s"
+msgid "%B: compiled with %s and linked with modules that use non-pic relocations"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ� %s Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð½Ðµ-pic Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�"
 
-#: elf32-frv.c:6787
+#: elf32-frv.c:6561 elf32-iq2000.c:828 elf32-m32c.c:874
 #, c-format
-msgid "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%s: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¸Ðµ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ e_flags (0x%lx) Ñ‡ÐµÐ¼ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ðµ Ð¼Ð¾Ð´ÑƒÐ»Ð¸ (0x%lx)"
+msgid "%B: compiled with %s and linked with modules compiled with %s"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ� %s Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ñ� %s"
 
-#: elf32-frv.c:6837 elf32-iq2000.c:882 elf32-m32c.c:843 elf32-mt.c:576
-#: elf32-rx.c:3001
+#: elf32-frv.c:6574
 #, c-format
-msgid "private flags = 0x%lx:"
-msgstr "Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = 0x%lx:"
+msgid "%B: uses different unknown e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ðµ Ð¿Ð¾Ð»Ñ� e_flags (%#x), Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÑŽÑ‰Ð¸ÐµÑ�Ñ� Ð¾Ñ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð² Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (%#x)"
 
 #: elf32-gen.c:69 elf64-gen.c:69
+#, c-format
 msgid "%B: Relocations in generic ELF (EM: %d)"
 msgstr "%B: ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² ÑƒÐ½Ð¸Ð²ÐµÑ€Ñ�Ð°Ð»ÑŒÐ½Ð¾Ð¼ ELF (EM: %d)"
 
-#: elf32-hppa.c:850 elf32-hppa.c:3598
-msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ñ�Ñ‚Ð¸Ñ‡ÑŒ %s, Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -ffunction-sections"
+#: elf32-hppa.c:829 elf32-hppa.c:3499
+#, c-format
+msgid "%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ñ�Ñ‚Ð¸Ñ‡ÑŒ %s, Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -ffunction-sections"
 
-#: elf32-hppa.c:1284
+#: elf32-hppa.c:1242
+#, c-format
 msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC"
 msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC"
 
-#: elf32-hppa.c:2791
+#: elf32-hppa.c:2680
+#, c-format
 msgid "%B: duplicate export stub %s"
 msgstr "%B: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ñ‹Ð¹ Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s"
 
-#: elf32-hppa.c:3437
-msgid "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"
-msgstr "%B(%A+0x%lx): %s Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� insn 0x%x Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð² Ð¾Ð±Ñ‰ÐµÐ¹ Ñ�Ñ�Ñ‹Ð»ÐºÐµ"
-
-#: elf32-hppa.c:4284
-msgid "%B(%A+0x%lx): cannot handle %s for %s"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ %s Ð´Ð»Ñ� %s"
+#: elf32-hppa.c:3333
+#, c-format
+msgid "%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link"
+msgstr "%B(%A+%#Lx): %s Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� insn %#x Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð² Ð½Ðµ Ð¾Ð±Ñ‰ÐµÐ¹ Ñ�Ñ�Ñ‹Ð»ÐºÐµ"
+
+#: elf32-hppa.c:4124
+#, c-format
+msgid "%s has both normal and TLS relocs"
+msgstr "%s Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� TLS"
+
+#: elf32-hppa.c:4142
+msgid "%B:%s has both normal and TLS relocs"
+msgstr "%B:%s Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� TLS"
+
+#: elf32-hppa.c:4201
+#, c-format
+msgid "%B(%A+%#Lx): cannot handle %s for %s"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ %s Ð´Ð»Ñ� %s"
 
-#: elf32-hppa.c:4603
+#: elf32-hppa.c:4505
 msgid ".got section not immediately after .plt section"
 msgstr "Ñ€Ð°Ð·Ð´ÐµÐ» .got Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ñ�Ñ‚Ð¾Ñ�Ñ‚ÑŒ Ñ�Ñ€Ð°Ð·Ñƒ Ð¿Ð¾Ñ�Ð»Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .plt"
 
+#: elf32-i370.c:307
+#, c-format
+msgid "%B: unrecognised I370 reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� I370: %d"
+
+#: elf32-i370.c:1164
+msgid "%B: unknown relocation type %d for symbol %s"
+msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
+
+#: elf32-i370.c:1306
+#, c-format
+msgid "%B: Relocation %s is not yet supported for symbol %s."
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¿Ð¾ÐºÐ° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s."
+
 #. Unknown relocation.
-#: elf32-i386.c:373 elf32-m68k.c:384 elf32-ppc.c:1676 elf32-s390.c:379
-#: elf32-tic6x.c:2684 elf64-ppc.c:2300 elf64-s390.c:403 elf64-x86-64.c:265
+#: elf32-i386.c:384 elf32-m68k.c:352 elf32-ppc.c:2039 elf32-s390.c:346
+#: elf32-tic6x.c:2609 elf32-wasm32.c:106 elf64-ppc.c:2516 elf64-s390.c:373
+#: elf64-x86-64.c:285
+#, c-format
 msgid "%B: invalid relocation type %d"
 msgstr "%B: Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d"
 
-#: elf32-i386.c:1404 elf64-x86-64.c:1308
-msgid "%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
-msgstr "%B: TLS-Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ Ð¸Ð· %s Ð² %s Ð´Ð»Ñ� Â«%sÂ» Ð¿Ð¾ 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ» Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ñ�Ñ� Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾"
+#: elf32-i386.c:1159 elf64-x86-64.c:1335
+#, c-format
+msgid "%B: TLS transition from %s to %s against `%s' at %#Lx in section `%A' failed"
+msgstr "%B: TLS-Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ Ð¸Ð· %s Ð² %s Ð´Ð»Ñ� Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ» Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹"
 
-#: elf32-i386.c:1549 elf32-i386.c:3244 elf64-x86-64.c:1487 elf64-x86-64.c:3125
-#: elfxx-sparc.c:3083
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð²Ð¼ÐµÑ�Ñ‚Ðµ Ñ� STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ» Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� %s"
+#: elf32-i386.c:1250
+#, c-format
+msgid "%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object"
+msgstr "%B: Ð¿Ñ€Ñ�Ð¼Ð¾Ðµ GOT Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_386_GOT32X c Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
 
-#: elf32-i386.c:1711 elf32-s390.c:1182 elf32-sh.c:6362 elf32-tilepro.c:1434
-#: elf32-xtensa.c:1182 elf64-s390.c:1151 elfxx-sparc.c:1548
-#: elfxx-tilegx.c:1701
+#: elf32-i386.c:1703 elf32-s390.c:1184 elf32-sh.c:6057 elf32-tilepro.c:1584
+#: elf32-xtensa.c:1192 elf64-s390.c:1113 elfxx-sparc.c:1601
+#: elfxx-tilegx.c:1793
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:427
+#, c-format
 msgid "%B: `%s' accessed both as normal and thread local symbol"
 msgstr "%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ð¸ ÐºÐ°Ðº Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð´Ð»Ñ� Ð½Ð¸Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»"
 
-#: elf32-i386.c:2539 elf64-x86-64.c:2506
-msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'.\n"
-msgstr "%P: %B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ».\n"
-
-#: elf32-i386.c:2629 elf64-x86-64.c:2593
-msgid "%P: %B: warning: relocation in readonly section `%A'.\n"
-msgstr "P: %B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ».\n"
-
-#: elf32-i386.c:3086 elf32-tilepro.c:2557 elfxx-tilegx.c:2871
-msgid "%B: unrecognized relocation (0x%x) in section `%A'"
-msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (0x%x) Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»"
+#: elf32-i386.c:1767
+#, c-format
+msgid "%B: unsupported non-PIC call to IFUNC `%s'"
+msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ð½Ðµ PIC Ð²Ñ‹Ð·Ð¾Ð² IFUNC Â«%sÂ»"
+
+#: elf32-i386.c:2345 elf64-x86-64.c:2625
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�"
+
+#: elf32-i386.c:2378 elf32-i386.c:3684 elf32-i386.c:3823 elf64-x86-64.c:2682
+#: elf64-x86-64.c:4012 elf64-x86-64.c:4166
+msgid "Local IFUNC function `%s' in %B\n"
+msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ� IFUNC Â«%sÂ» Ð² %B\n"
+
+#: elf32-i386.c:2593
+#, c-format
+msgid "%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object"
+msgstr "%B: Ð¿Ñ€Ñ�Ð¼Ð¾Ðµ GOT Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s c Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
 
-#: elf32-i386.c:3494 elf64-x86-64.c:3513
+#: elf32-i386.c:2628 elf64-x86-64.c:2873
 msgid "hidden symbol"
 msgstr "Ñ�ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»"
 
-#: elf32-i386.c:3497 elf64-x86-64.c:3516
+#: elf32-i386.c:2631 elf64-x86-64.c:2876
 msgid "internal symbol"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»"
 
-#: elf32-i386.c:3500 elf64-x86-64.c:3519
+#: elf32-i386.c:2634 elf64-x86-64.c:2879
 msgid "protected symbol"
 msgstr "Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»"
 
-#: elf32-i386.c:3503 elf64-x86-64.c:3522
+#: elf32-i386.c:2637 elf64-x86-64.c:2882
 msgid "symbol"
 msgstr "Ñ�Ð¸Ð¼Ð²Ð¾Ð»"
 
-#: elf32-i386.c:3508
+#: elf32-i386.c:2643
+#, c-format
 msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
 msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_386_GOTOFF Ð´Ð»Ñ� Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
 
-#: elf32-i386.c:3518
-msgid "%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_386_GOTOFF Ð´Ð»Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
+#: elf32-i386.c:2656
+#, c-format
+msgid "%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_386_GOTOFF Ð´Ð»Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð¾Ð¹ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
 
-#: elf32-i386.c:4839 elf32-tilepro.c:3467 elf64-x86-64.c:4609
-#: elfxx-tilegx.c:3847
+#: elf32-i960.c:140
 #, c-format
-msgid "discarded output section: `%A'"
-msgstr "Ð¾Ñ‚Ð±Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ‹Ð¹ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ»: Â«%AÂ»"
+msgid "%B: invalid i960 reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� i960: %d"
 
-#: elf32-ip2k.c:857 elf32-ip2k.c:863 elf32-ip2k.c:930 elf32-ip2k.c:936
+#: elf32-ip2k.c:856 elf32-ip2k.c:862 elf32-ip2k.c:929 elf32-ip2k.c:935
 msgid "ip2k relaxer: switch table without complete matching relocation information."
 msgstr "ip2k relaxer: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹ Ð±ÐµÐ· Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ Ñ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ� Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸."
 
-#: elf32-ip2k.c:880 elf32-ip2k.c:963
+#: elf32-ip2k.c:879 elf32-ip2k.c:962
 msgid "ip2k relaxer: switch table header corrupt."
 msgstr "ip2k relaxer: Ð¸Ñ�Ð¿Ð¾Ñ€Ñ‡ÐµÐ½ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹."
 
-#: elf32-ip2k.c:1292
+#: elf32-ip2k.c:1245
+#, c-format
+msgid "%B: invalid IP2K reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� IP2K: %d"
+
+#: elf32-ip2k.c:1298
+#, c-format
+msgid "ip2k linker: missing page instruction at %#Lx (dest = %#Lx)"
+msgstr "ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸Ðº ip2k: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx (Ð½Ð°Ð·Ð½Ð°Ñ‡ = %#Lx)"
+
+#: elf32-ip2k.c:1315
 #, c-format
-msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)."
-msgstr "ip2k linker: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08lx (Ð½Ð°Ð·Ð½Ð°Ñ‡ = 0x%08lx)."
+msgid "ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)"
+msgstr "ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸Ðº ip2k: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð°Ñ�Ñ�Ñ� Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx (Ð½Ð°Ð·Ð½Ð°Ñ‡ = %#Lx)"
 
-#: elf32-ip2k.c:1308
+#: elf32-iq2000.c:441
 #, c-format
-msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."
-msgstr "ip2k linker: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð°Ñ�Ñ�Ñ� Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08lx (Ð½Ð°Ð·Ð½Ð°Ñ‡ = 0x%08lx)."
+msgid "%B: invalid IQ2000 reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� IQ2000: %d"
 
-#: elf32-iq2000.c:858 elf32-m32c.c:819
+#: elf32-lm32.c:539
 #, c-format
-msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%s: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¸Ðµ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ e_flags (0x%lx) Ñ‡ÐµÐ¼ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ðµ Ð¼Ð¾Ð´ÑƒÐ»Ð¸ (0x%lx)"
+msgid "%B: invalid LM32 reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� LM32: %d"
 
-#: elf32-lm32.c:706
+#: elf32-lm32.c:648 elf32-nios2.c:3133
 msgid "global pointer relative relocation when _gp not defined"
 msgstr "Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�, Ð½Ð¾ _gp Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°"
 
-#: elf32-lm32.c:761
+#: elf32-lm32.c:703 elf32-nios2.c:3570
 msgid "global pointer relative address out of range"
 msgstr "Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°"
 
-#: elf32-lm32.c:1057
+#: elf32-lm32.c:998
 msgid "internal error: addend should be zero for R_LM32_16_GOT"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ Ð½ÑƒÐ»Ñ‘Ð¼ Ð´Ð»Ñ� R_LM32_16_GOT"
 
-#: elf32-m32r.c:1453
+#: elf32-m32c.c:306
+#, c-format
+msgid "%B: invalid M32C reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� M32C: %d"
+
+#: elf32-m32r.c:1286
+#, c-format
+msgid "%B: invalid M32R reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� M32R: %d"
+
+#: elf32-m32r.c:1458
 msgid "SDA relocation when _SDA_BASE_ not defined"
 msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ SDA, Ð½Ð¾ _SDA_BASE_ Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°"
 
-#: elf32-m32r.c:3043
+#: elf32-m32r.c:2971 elf32-microblaze.c:1064 elf32-microblaze.c:1112
+#, c-format
 msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
 msgstr "%B: Ð¦ÐµÐ»ÑŒ (%s) Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð² Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ (%A)"
 
-#: elf32-m32r.c:3571
+#: elf32-m32r.c:3473
 msgid "%B: Instruction set mismatch with previous modules"
 msgstr "%B: Ð�Ð°Ð±Ð¾Ñ€ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñƒ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ñ… Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹"
 
-#: elf32-m32r.c:3592
+#: elf32-m32r.c:3494 elf32-nds32.c:6037
 #, c-format
 msgid "private flags = %lx"
 msgstr "Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %lx"
 
-#: elf32-m32r.c:3597
+#: elf32-m32r.c:3499
 #, c-format
 msgid ": m32r instructions"
 msgstr ": Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ m32r"
 
-#: elf32-m32r.c:3598
+#: elf32-m32r.c:3500
 #, c-format
 msgid ": m32rx instructions"
 msgstr ": Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ m32rx"
 
-#: elf32-m32r.c:3599
+#: elf32-m32r.c:3501
 #, c-format
 msgid ": m32r2 instructions"
 msgstr ": Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ m32r2"
 
-#: elf32-m68hc1x.c:1050
+#: elf32-m68hc11.c:390
+#, c-format
+msgid "%B: invalid M68HC11 reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� M68HC11: %d"
+
+#: elf32-m68hc12.c:510
+#, c-format
+msgid "%B: invalid M68HC12 reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� M68HC12: %d"
+
+#: elf32-m68hc1x.c:1115
 #, c-format
 msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
 msgstr "Ð£ÐºÐ°Ð·Ð°Ð½Ð¸Ðµ Ð½Ð° Ð´Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ� Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¼Ð¾Ð¶ÐµÑ‚ Ð¿Ñ€Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ðº Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸ÑŽ"
 
-#: elf32-m68hc1x.c:1073
+#: elf32-m68hc1x.c:1149
+#, c-format
+msgid "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code."
+msgstr "Ð�Ð´Ñ€ÐµÑ� XGATE (%lx) Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ð¾Ð±Ñ‰ÐµÐ¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð¹ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ (0xE000-0xFFFF), Ð¿Ð¾Ñ�Ñ‚Ð¾Ð¼Ñƒ Ð²Ñ‹ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð°Ð´Ñ€ÐµÑ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¸, Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ�Ñ‚ÑŒ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†ÐµÐ¹ Ð² ÐºÐ¾Ð´Ðµ."
+
+#: elf32-m68hc1x.c:1167
 #, c-format
 msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)"
 msgstr "Ð±Ð°Ð½ÐºÐ¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� [%lx:%04lx] (%lx) Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð±Ð°Ð½ÐºÐ¾Ð¼ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ Ð±Ð°Ð½ÐºÐ¸Ñ€ÑƒÐµÐ¼Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° [%lx:%04lx] (%lx)"
 
-#: elf32-m68hc1x.c:1092
+#: elf32-m68hc1x.c:1183
 #, c-format
 msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx"
 msgstr "Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð½Ð° Ð±Ð°Ð½ÐºÐ¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� [%lx:%04lx] Ð² Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð¼ Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾Ð¼ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ðµ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %04lx"
 
-#: elf32-m68hc1x.c:1225
+#: elf32-m68hc1x.c:1224
+#, c-format
+msgid "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your code"
+msgstr "Ð�Ð´Ñ€ÐµÑ� S12 (%lx) Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ð¾Ð±Ñ‰ÐµÐ¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð¹ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ (0x2000-0x4000), Ð¿Ð¾Ñ�Ñ‚Ð¾Ð¼Ñƒ Ð²Ñ‹ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð°Ð´Ñ€ÐµÑ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² ÐºÐ¾Ð´Ðµ"
+
+#: elf32-m68hc1x.c:1351
 msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers"
 msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð², Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ� 16-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ†ÐµÐ»Ñ‹Ñ… (-mshort), Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ� 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ†ÐµÐ»Ñ‹Ñ…"
 
-#: elf32-m68hc1x.c:1232
+#: elf32-m68hc1x.c:1358
 msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double"
 msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð², Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ� 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… double (-fshort-double), Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ� 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… double"
 
-#: elf32-m68hc1x.c:1241
+#: elf32-m68hc1x.c:1367
 msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
 msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð², Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ� HCS12, Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ� HC12"
 
-#: elf32-m68hc1x.c:1257 elf32-ppc.c:4227 elf64-sparc.c:706 elfxx-mips.c:13965
-msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¸Ðµ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ e_flags (0x%lx), Ñ‡ÐµÐ¼ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ðµ Ð¼Ð¾Ð´ÑƒÐ»Ð¸ (0x%lx)"
-
-#: elf32-m68hc1x.c:1285
+#: elf32-m68hc1x.c:1412 elf32-xgate.c:672
 #, c-format
 msgid "[abi=32-bit int, "
 msgstr "[abi=32-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ int, "
 
-#: elf32-m68hc1x.c:1287
+#: elf32-m68hc1x.c:1414 elf32-xgate.c:674
 #, c-format
 msgid "[abi=16-bit int, "
 msgstr "[abi=16-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ int, "
 
-#: elf32-m68hc1x.c:1290
+#: elf32-m68hc1x.c:1417 elf32-xgate.c:677
 #, c-format
 msgid "64-bit double, "
 msgstr "64-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ double, "
 
-#: elf32-m68hc1x.c:1292
+#: elf32-m68hc1x.c:1419 elf32-xgate.c:679
 #, c-format
 msgid "32-bit double, "
 msgstr "32-Ð±Ð¸Ñ‚Ð½Ð¾Ðµ double, "
 
-#: elf32-m68hc1x.c:1295
+#: elf32-m68hc1x.c:1422
 #, c-format
 msgid "cpu=HC11]"
 msgstr "Ð¦ÐŸ=HC11]"
 
-#: elf32-m68hc1x.c:1297
+#: elf32-m68hc1x.c:1424
 #, c-format
 msgid "cpu=HCS12]"
 msgstr "Ð¦ÐŸ=HCS12]"
 
-#: elf32-m68hc1x.c:1299
+#: elf32-m68hc1x.c:1426
 #, c-format
 msgid "cpu=HC12]"
 msgstr "Ð¦ÐŸ=HC12]"
 
-#: elf32-m68hc1x.c:1302
+#: elf32-m68hc1x.c:1429
 #, c-format
 msgid " [memory=bank-model]"
 msgstr " [Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ=Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ñ� Ð±Ð°Ð½ÐºÐ°Ð¼Ð¸]"
 
-#: elf32-m68hc1x.c:1304
+#: elf32-m68hc1x.c:1431
 #, c-format
 msgid " [memory=flat]"
 msgstr " [Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ=Ð¿Ð»Ð¾Ñ�ÐºÐ°Ñ�]"
 
-#: elf32-m68k.c:1251 elf32-m68k.c:1252 vms-alpha.c:7314 vms-alpha.c:7329
+#: elf32-m68hc1x.c:1434
+#, c-format
+msgid " [XGATE RAM offsetting]"
+msgstr " [Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ XGATE Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸]"
+
+#: elf32-m68k.c:1214 elf32-m68k.c:1215 vms-alpha.c:7477 vms-alpha.c:7493
 msgid "unknown"
 msgstr "Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾"
 
-#: elf32-m68k.c:1715
+#: elf32-m68k.c:1658
+#, c-format
 msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
 msgstr "%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ GOT: ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ñ� 8-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ > %d"
 
-#: elf32-m68k.c:1721
+#: elf32-m68k.c:1665
+#, c-format
 msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
 msgstr "%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ GOT: ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ñ� 8-Ð¼Ð¸ Ð¸Ð»Ð¸ 16-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ > %d"
 
-#: elf32-m68k.c:3957
-msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_68K_TLS_LE32 Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
-
-#: elf32-mcore.c:99 elf32-mcore.c:442
+#: elf32-mcore.c:100 elf32-mcore.c:455
+#, c-format
 msgid "%B: Relocation %s (%d) is not currently supported.\n"
 msgstr "%B: ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s (%d) Ð² Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ð¼Ð¾Ð¼ÐµÐ½Ñ‚ Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�.\n"
 
-#: elf32-mcore.c:428
+#: elf32-mcore.c:355
+#, c-format
+msgid "%B: unrecognised MCore reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MCore: %d"
+
+#: elf32-mcore.c:440
+#, c-format
 msgid "%B: Unknown relocation type %d\n"
 msgstr "%B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d\n"
 
 #. Pacify gcc -Wall.
-#: elf32-mep.c:157
+#: elf32-mep.c:139
 #, c-format
 msgid "mep: no reloc for code %d"
 msgstr "mep: Ð½ÐµÑ‚ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� ÐºÐ¾Ð´Ð° %d"
 
-#: elf32-mep.c:163
+#: elf32-mep.c:146
 #, c-format
 msgid "MeP: howto %d has type %d"
 msgstr "MeP: howto %d Ð¸Ð¼ÐµÐµÑ‚ Ñ‚Ð¸Ð¿ %d"
 
-#: elf32-mep.c:648
+#: elf32-mep.c:390
+#, c-format
+msgid "%B: invalid MEP reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MEP: %d"
+
+#: elf32-mep.c:620
+#, c-format
 msgid "%B and %B are for different cores"
 msgstr "%B Ð¸ %B Ð´Ð»Ñ� Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ñ�Ð´ÐµÑ€"
 
-#: elf32-mep.c:665
+#: elf32-mep.c:639
+#, c-format
 msgid "%B and %B are for different configurations"
 msgstr "%B Ð¸ %B Ð´Ð»Ñ� Ñ€Ð°Ð·Ð½Ñ‹Ñ… ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¹"
 
-#: elf32-mep.c:702
+#: elf32-mep.c:677
 #, c-format
 msgid "private flags = 0x%lx"
 msgstr "Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = 0x%lx"
 
-#: elf32-microblaze.c:742
+#: elf32-metag.c:878
 #, c-format
-msgid "%s: unknown relocation type %d"
-msgstr "%s: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d"
+msgid "%B: invalid METAG reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� METAG: %d"
 
-#: elf32-microblaze.c:867 elf32-microblaze.c:912
+#: elf32-metag.c:1860
+msgid "%B(%A): multiple TLS models are not supported"
+msgstr "%B(%A): Ð¼Ð½Ð¾Ð³Ð¾ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ TLS Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�"
+
+#: elf32-metag.c:1863
+msgid "%B(%A): shared library symbol %s encountered whilst performing a static link"
+msgstr "%B(%A): Ð¿Ñ€Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ð¸ Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð¹ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸"
+
+#: elf32-microblaze.c:656
 #, c-format
-msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
-msgstr "%s: Ð¦ÐµÐ»ÑŒ (%s) Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð² Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ (%s)"
+msgid "%B: unrecognised MicroBlaze reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MicroBlaze: %d"
 
-#: elf32-microblaze.c:1155 elf32-tilepro.c:2891 elfxx-sparc.c:3457
-#: elfxx-tilegx.c:3230
+#: elf32-microblaze.c:1482 elf32-or1k.c:1052 elf32-tilepro.c:3147
+#: elfxx-sparc.c:3537 elfxx-tilegx.c:3531
 msgid "%B: probably compiled without -fPIC?"
 msgstr "%B: Ð²ÐµÑ€Ð¾Ñ�Ñ‚Ð½Ð¾, ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñ�Ñ†Ð¸Ñ� Ð±ÐµÐ· -fPIC?"
 
-#: elf32-microblaze.c:2074
-msgid "%B: bad relocation section name `%s'"
-msgstr "%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð¸Ð¼Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»"
-
-#: elf32-mips.c:1549 elf64-mips.c:2683 elfn32-mips.c:2487
+#: elf32-mips.c:1777 elf64-mips.c:3200 elfn32-mips.c:3014
 msgid "literal relocation occurs for an external symbol"
 msgstr "Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
 
-#: elf32-mips.c:1596 elf32-score.c:570 elf32-score7.c:469 elf64-mips.c:2726
-#: elfn32-mips.c:2528
+#: elf32-mips.c:1824 elf32-score.c:569 elf32-score7.c:469 elf64-mips.c:3243
+#: elfn32-mips.c:3055
 msgid "32bits gp relative relocation occurs for an external symbol"
 msgstr "Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ 32â€”Ð±Ð¸Ñ‚Ð½Ð¾Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
 
-#: elf32-ppc.c:1741
+#: elf32-mips.c:2225
+#, c-format
+msgid "Unrecognised MIPS reloc number: %d"
+msgstr "Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MIPS: %d"
+
+#: elf32-moxie.c:137
+#, c-format
+msgid "%B: invalid Moxie reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Moxie: %d"
+
+#: elf32-msp430.c:648
+#, c-format
+msgid "%B: invalid MSP430X reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MSP430X: %d"
+
+#: elf32-msp430.c:658
+#, c-format
+msgid "%B: invalid MSP430 reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MSP430: %d"
+
+#: elf32-msp430.c:832 elf32-msp430.c:1146
+msgid "Try enabling relaxation to avoid relocation truncations"
+msgstr "ÐŸÐ¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ðµ, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð¸Ð·Ð±ÐµÐ¶Ð°Ñ‚ÑŒ Ð¾Ð±Ñ€ÐµÐ·Ð°Ð½Ð¸Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹"
+
+#: elf32-msp430.c:1353
+msgid "internal error: branch/jump to an odd address detected"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ/Ð¿Ñ€Ñ‹Ð¶Ð¾Ðº Ð¿Ð¾ Ñ�Ñ‚Ñ€Ð°Ð½Ð½Ð¾Ð¼Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ"
+
+#: elf32-msp430.c:2352
+#, c-format
+msgid "Warning: %B: Unknown MSPABI object attribute %d"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B: Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ MSPABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %d"
+
+#: elf32-msp430.c:2445
+#, c-format
+msgid "error: %B uses %s instructions but %B uses %s"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ %s, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s"
+
+#: elf32-msp430.c:2457
+#, c-format
+msgid "error: %B uses the %s code model whereas %B uses the %s code model"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ð° %s, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ð° %s"
+
+#: elf32-msp430.c:2469
+#, c-format
+msgid "error: %B uses the large code model but %B uses MSP430 instructions"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¾Ð³Ñ€Ð¾Ð¼Ð½ÑƒÑŽ Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ð°, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ MSP430"
+
+#: elf32-msp430.c:2480
+#, c-format
+msgid "error: %B uses the %s data model whereas %B uses the %s data model"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ñ… %s, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ñ… %s"
+
+#: elf32-msp430.c:2492
+#, c-format
+msgid "error: %B uses the small code model but %B uses the %s data model"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð°Ð»ÑƒÑŽ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ñ…, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ñ… %s"
+
+#: elf32-msp430.c:2504
+#, c-format
+msgid "error: %B uses the %s data model but %B only uses MSP430 instructions"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ñ… %s, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ MSP430"
+
+#: elf32-mt.c:242
+#, c-format
+msgid "%B: invalid MT reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MT: %d"
+
+#: elf32-nds32.c:2897
+#, c-format
+msgid "%B: invalid NDS32 reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� NDS32: %d"
+
+#: elf32-nds32.c:3232
+msgid "error: Can't find symbol: _SDA_BASE_."
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»: _SDA_BASE_."
+
+#: elf32-nds32.c:4410 elf32-nds32.c:11783
+msgid "%B: error: Cannot set _ITB_BASE_"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð´Ð°Ñ‚ÑŒ _ITB_BASE_"
+
+#: elf32-nds32.c:4418
+msgid "error: IFC relocation error."
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� IFC."
+
+#: elf32-nds32.c:4452
+#, c-format
+msgid "%B: error: unknown relocation type %d."
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d."
+
+#: elf32-nds32.c:4898
+msgid "%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode."
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ R_NDS32_25_ABS_RELA Ð² Ð¾Ð±Ñ‰ÐµÐ¼ Ñ€ÐµÐ¶Ð¸Ð¼Ðµ."
+
+#: elf32-nds32.c:5032
+msgid "%B: warning: unaligned access to GOT entry."
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ðº Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ñƒ GOT."
+
+#: elf32-nds32.c:5074
+msgid "%B: warning: relocate SDA_BASE failed."
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ SDA_BASE."
+
+#: elf32-nds32.c:5096
+#, c-format
+msgid "%B(%A): warning: unaligned small data access of type %d."
+msgstr "%B(%A): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ðº Ð¼Ð°Ð»Ñ‹Ð¼ Ð´Ð°Ð½Ð½Ñ‹Ð¼ Ñ� Ñ‚Ð¸Ð¿Ð¾Ð¼ %d."
+
+#: elf32-nds32.c:5844
+#, c-format
+msgid "%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte"
+msgstr "%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð° ISR Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð±Ñ‹Ð» %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ð¹, Ñ�Ñ‚Ð°Ð» %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ð¹"
+
+#: elf32-nds32.c:5888
+msgid "%B: warning: Endian mismatch with previous modules."
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚ Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸."
+
+#: elf32-nds32.c:5898
+msgid "%B: warning: Older version of object file encountered, Please recompile with current tool chain."
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð° Ñ�Ñ‚Ð°Ñ€Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°, Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð²."
+
+#: elf32-nds32.c:5976
+msgid "%B: error: ABI mismatch with previous modules."
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: ABI Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸."
+
+#: elf32-nds32.c:5987
+msgid "%B: error: Instruction set mismatch with previous modules."
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½Ð°Ð±Ð¾Ñ€ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¹ Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸."
+
+#: elf32-nds32.c:6013
+#, c-format
+msgid "%B: warning: Incompatible elf-versions %s and  %s."
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ñ‹Ðµ Ð²ÐµÑ€Ñ�Ð¸Ð¸ elf %s Ð¸ %s."
+
+#: elf32-nds32.c:6043
+#, c-format
+msgid ": n1 instructions"
+msgstr ": Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ n1"
+
+#: elf32-nds32.c:6046
+#, c-format
+msgid ": n1h instructions"
+msgstr ": Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ n1h"
+
+#: elf32-nds32.c:8535
+msgid "%B: Error: search_nds32_elf_blank reports wrong node\n"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: search_nds32_elf_blank Ñ�Ð¾Ð¾Ð±Ñ‰Ð°ÐµÑ‚ Ð¾ Ð½ÐµÐ²ÐµÑ€Ð½Ð¾Ð¼ ÑƒÐ·Ð»Ðµ\n"
+
+#: elf32-nds32.c:8794
+#, c-format
+msgid "%B: warning: %s points to unrecognized reloc at %#Lx"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx"
+
+#: elf32-nds32.c:11655 elf32-nds32.c:11672
+msgid "error: Jump IFC Fail."
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ Ð¿Ñ€Ñ‹Ð¶Ð¾Ðº IFC."
+
+#: elf32-nds32.c:12529
+#, c-format
+msgid "%B: Nested OMIT_FP in %A."
+msgstr "%B: Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ðµ OMIT_FP Ð² %A."
+
+#: elf32-nds32.c:12548
+#, c-format
+msgid "%B: Unmatched OMIT_FP in %A."
+msgstr "%B: Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ OMIT_FP Ð² %A."
+
+#: elf32-nds32.c:12831 reloc.c:8273
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n"
+msgstr "%X%P: %B(%A): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%RÂ» Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð·Ð° Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½\n"
+
+#: elf32-nds32.c:14607
+msgid "Linker: cannot init ex9 hash table error \n"
+msgstr "ÐšÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸Ðº: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ…Ñ�Ñˆ-Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñƒ Ð¾ÑˆÐ¸Ð±Ð¾Ðº ex9 \n"
+
+#: elf32-nds32.c:15016 elf32-nds32.c:15030
+msgid "Linker: error cannot fixed ex9 relocation \n"
+msgstr "ÐšÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸Ðº: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ñ�Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ex9 \n"
+
+#: elf32-nds32.c:15241
+#, c-format
+msgid "%B: warning: unaligned small data access for entry: {%Ld, %Ld, %Ld}, addr = %#Lx, align = %#x"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ðº Ð¼Ð°Ð»Ñ‹Ð¼ Ð´Ð°Ð½Ð½Ñ‹Ð¼ Ð´Ð»Ñ� Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð°: {%Ld, %Ld, %Ld}, Ð°Ð´Ñ€ÐµÑ� = %#Lx, Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ = %#x"
+
+#: elf32-nds32.c:15274
+#, c-format
+msgid "failed creating ex9.it %s hash table entry"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° %s Ñ…Ñ�Ñˆ-Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ ex9.it"
+
+#: elf32-nios2.c:2929
+msgid "error: %B: Big-endian R2 is not supported."
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð¾Ñ‚ Ñ�Ñ‚Ð°Ñ€ÑˆÐµÐ³Ð¾ Ðº Ð¼Ð»Ð°Ð´ÑˆÐµÐ¼Ñƒ R2 Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�."
+
+#: elf32-nios2.c:3814
+#, c-format
+msgid "global pointer relative relocation at address 0x%08x when _gp not defined\n"
+msgstr "Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x, Ð½Ð¾ _gp Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°\n"
+
+#: elf32-nios2.c:3834
+#, c-format
+msgid "Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.\n"
+msgstr "Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ñ�Ñ‚Ð¸Ñ‡ÑŒ %s (Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x) Ð¸Ð· Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ� (Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x), Ñ‚Ð°Ðº ÐºÐ°Ðº Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%d) Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð¸Ð· Ñ€Ð°Ð·Ñ€ÐµÑˆÑ‘Ð½Ð½Ð¾Ð³Ð¾ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° -32678â€”32767.\n"
+
+#: elf32-nios2.c:4487 elf32-pru.c:816
+msgid "relocation out of range"
+msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð·Ð° Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½"
+
+#: elf32-nios2.c:4497 elf32-pru.c:826 elf32-tic6x.c:2682
+msgid "dangerous relocation"
+msgstr "Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
+
+#: elf32-nios2.c:5370
+#, c-format
+msgid "dynamic variable `%s' is zero size"
+msgstr "Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ°Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€"
+
+#: elf32-or1k.c:715
+#, c-format
+msgid "%B: invalid OR1K reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� OR1K: %d"
+
+#: elf32-or1k.c:965
+msgid "internal error: addend should be zero for R_OR1K_GOT16"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ Ð½ÑƒÐ»Ñ‘Ð¼ Ð´Ð»Ñ� R_OR1K_GOT16"
+
+#: elf32-or1k.c:1074
+msgid "%B: support for local dynamic not implemented"
+msgstr "%B: Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ñ… Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð°"
+
+#: elf32-or1k.c:1209
+msgid "%B: will not resolve runtime TLS relocation"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ TLS Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ� Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚ Ñ€ÐµÑˆÐµÐ½Ð¾"
+
+#: elf32-or1k.c:1529
+#, c-format
+msgid "%B: bad relocation section name `%s'"
+msgstr "%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð¸Ð¼Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»"
+
+#: elf32-or1k.c:2641
+msgid "%B: EF_OR1K_NODELAY flag mismatch with previous modules"
+msgstr "%B: Ñ„Ð»Ð°Ð³ EF_OR1K_NODELAY Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸"
+
+#: elf32-pj.c:325
+#, c-format
+msgid "%B: unrecognised PicoJava reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� PicoJava: %d"
+
+#: elf32-ppc.c:2027
+#, c-format
+msgid "%B: unrecognised PPC reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� PPC: %d"
+
+#: elf32-ppc.c:2112
 #, c-format
 msgid "generic linker can't handle %s"
 msgstr "ÑƒÐ½Ð¸Ð²ÐµÑ€Ñ�Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸Ðº Ð½Ðµ Ñ�Ð¼Ð¾Ð³ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ %s"
 
-#: elf32-ppc.c:2184
+#: elf32-ppc.c:2732
+#, c-format
 msgid "corrupt %s section in %B"
 msgstr "Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð² %B"
 
-#: elf32-ppc.c:2203
+#: elf32-ppc.c:2752
+#, c-format
 msgid "unable to read in %s section from %B"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð¸Ð· %B"
 
-#: elf32-ppc.c:2244
+#: elf32-ppc.c:2794
+#, c-format
 msgid "warning: unable to set size of %s section in %B"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s Ð² %B"
 
-#: elf32-ppc.c:2294
+#: elf32-ppc.c:2844
 msgid "failed to allocate space for new APUinfo section."
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾ Ð´Ð»Ñ� Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° APUinfo."
 
-#: elf32-ppc.c:2313
+#: elf32-ppc.c:2863
 msgid "failed to compute new APUinfo section."
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ñ‡Ð¸Ñ�Ð»Ð¸Ñ‚ÑŒ Ð½Ð¾Ð²Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» APUinfo."
 
-#: elf32-ppc.c:2316
+#: elf32-ppc.c:2866
 msgid "failed to install new APUinfo section."
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ð½Ð¾Ð²Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» APUinfo."
 
-#: elf32-ppc.c:3356
+#: elf32-ppc.c:3915
+#, c-format
 msgid "%B: relocation %s cannot be used when making a shared object"
 msgstr "%B: Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
 
-#. It does not make sense to have a procedure linkage
-#. table entry for a local symbol.
-#: elf32-ppc.c:3700
-msgid "%P: %H: %s reloc against local symbol\n"
-msgstr "%P: %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°\n"
+#: elf32-ppc.c:4266 elf64-ppc.c:5597
+#, c-format
+msgid "%H: %s reloc against local symbol\n"
+msgstr "%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°\n"
 
-#: elf32-ppc.c:4039 elf32-ppc.c:4054 elfxx-mips.c:13651 elfxx-mips.c:13677
-#: elfxx-mips.c:13699 elfxx-mips.c:13725
+#: elf32-ppc.c:4628 elf32-ppc.c:4632
+#, c-format
 msgid "Warning: %B uses hard float, %B uses soft float"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ"
 
-#: elf32-ppc.c:4042 elf32-ppc.c:4046
+#: elf32-ppc.c:4636 elf32-ppc.c:4641
+#, c-format
 msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð¹ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ð¸, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾Ð¹ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ð¸"
 
-#: elf32-ppc.c:4050
-msgid "Warning: %B uses soft float, %B uses single-precision hard float"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ, %B Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾Ð¹ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ð¸"
-
-#: elf32-ppc.c:4057 elf32-ppc.c:4061 elfxx-mips.c:13631 elfxx-mips.c:13635
-msgid "Warning: %B uses unknown floating point ABI %d"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸ %d"
-
-#: elf32-ppc.c:4103 elf32-ppc.c:4107
-msgid "Warning: %B uses unknown vector ABI %d"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¾Ð² %d"
-
-#: elf32-ppc.c:4111
-msgid "Warning: %B uses vector ABI \"%s\", %B uses \"%s\""
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ ABI Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¾Ð² \"%s\", %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ \"%s\""
+#: elf32-ppc.c:4656 elf32-ppc.c:4661
+#, c-format
+msgid "Warning: %B uses 64-bit long double, %B uses 128-bit long double"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ long double, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ 128-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ long double"
+
+#: elf32-ppc.c:4666 elf32-ppc.c:4671
+#, c-format
+msgid "Warning: %B uses IBM long double, %B uses IEEE long double"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ long double IBM, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ long double IEEE"
+
+#: elf32-ppc.c:4722 elf32-ppc.c:4727
+#, c-format
+msgid "Warning: %B uses AltiVec vector ABI, %B uses SPE vector ABI"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ ABI Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¾Ð² AltiVec, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ ABI Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¾Ð² SPE"
 
-#: elf32-ppc.c:4128 elf32-ppc.c:4131
+#: elf32-ppc.c:4750 elf32-ppc.c:4755
+#, c-format
 msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ r3/r4 Ð´Ð»Ñ� Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð° Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¾Ð¹ Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€Ñ‹, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ"
 
-#: elf32-ppc.c:4134 elf32-ppc.c:4138
-msgid "Warning: %B uses unknown small structure return convention %d"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ñ�Ð¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ %d Ð¿Ð¾ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ñƒ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¾Ð¹ Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€Ñ‹"
-
-#: elf32-ppc.c:4192
+#: elf32-ppc.c:4810
 msgid "%B: compiled with -mrelocatable and linked with modules compiled normally"
 msgstr "%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð° Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mrelocatable Ð¸ Ð½Ð¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð° Ñ�Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸"
 
-#: elf32-ppc.c:4200
+#: elf32-ppc.c:4818
 msgid "%B: compiled normally and linked with modules compiled with -mrelocatable"
 msgstr "%B: Ð½Ð¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð° Ð¸ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð° Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mrelocatable"
 
-#: elf32-ppc.c:4309
+#: elf32-ppc.c:4887
+#, c-format
+msgid "%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn"
+msgstr "%B(%A+0x%lx): Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚Ñ�Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ 16A Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x insn"
+
+#: elf32-ppc.c:4906
+#, c-format
+msgid "%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn"
+msgstr "%B(%A+0x%lx): Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚Ñ�Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ 16D Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x insn"
+
+#: elf32-ppc.c:4997
 msgid "%P: bss-plt forced due to %B\n"
 msgstr "%P: bss-plt Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ð¸Ð·-Ð·Ð° %B\n"
 
-#: elf32-ppc.c:4312
+#: elf32-ppc.c:5000
 msgid "%P: bss-plt forced by profiling\n"
 msgstr "%P: bss-plt Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ð¸Ð·-Ð·Ð° Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ�\n"
 
@@ -1983,47 +3136,168 @@ msgstr "%P: bss-plt Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚
 #. could just mark this symbol to exclude it
 #. from tls optimization but it's safer to skip
 #. the entire optimization.
-#: elf32-ppc.c:4809 elf64-ppc.c:7858
+#: elf32-ppc.c:5322 elf64-ppc.c:8654
+#, c-format
 msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
 msgstr "%H Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ lost __tls_get_addr, Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ� TLS Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°\n"
 
-#: elf32-ppc.c:5044 elf64-ppc.c:6528
-msgid "%P: dynamic variable `%s' is zero size\n"
-msgstr "%P: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ°Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€\n"
+#: elf32-ppc.c:6264 elf32-sh.c:3392 elf32-tilepro.c:2331 elfxx-sparc.c:2556
+#: elfxx-tilegx.c:2567
+msgid "%B: dynamic relocation in read-only section `%A'\n"
+msgstr "%B: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ»\n"
+
+#: elf32-ppc.c:8100
+msgid "%H: fixup branch overflow\n"
+msgstr "%H: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð²ÐµÑ‚Ð²Ð¸ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹\n"
+
+#: elf32-ppc.c:8140 elf32-ppc.c:8175
+#, c-format
+msgid "%B(%A+%#Lx): error: %s with unexpected instruction %#x"
+msgstr "%B(%A+%#Lx): Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s Ñ� Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ð¹ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÐµÐ¹ %#x"
+
+#: elf32-ppc.c:8231
+#, c-format
+msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
+msgstr "%X%H: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ� bss-plt -fPIC ifunc %s\n"
+
+#: elf32-ppc.c:8294 elf64-ppc.c:15070
+msgid "%H: warning: %s unexpected insn %#x.\n"
+msgstr "%H: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %s Ð½Ðµ Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ insn %#x.\n"
 
-#: elf32-ppc.c:7263 elf64-ppc.c:12675
+#: elf32-ppc.c:8319
+#, c-format
 msgid "%P: %B: unknown relocation type %d for symbol %s\n"
 msgstr "%P: %B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s\n"
 
-#: elf32-ppc.c:7524
-msgid "%P: %H: non-zero addend on %s reloc against `%s'\n"
-msgstr "%P: %H: Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸ %s Ð´Ð»Ñ� Â«%sÂ»\n"
-
-#: elf32-ppc.c:7720 elf64-ppc.c:13181
-msgid "%P: %H: relocation %s for indirect function %s unsupported\n"
-msgstr "%P:  %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð½ÐµÑ�Ð²Ð½Ð¾Ð³Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�\n"
+#: elf32-ppc.c:8606
+#, c-format
+msgid "%H: non-zero addend on %s reloc against `%s'\n"
+msgstr "%H: Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸ %s Ð´Ð»Ñ� Â«%sÂ»\n"
+
+#. @local on an ifunc does not really make sense since
+#. the ifunc resolver can take you anywhere.  More
+#. seriously, calls to ifuncs must go through a plt call
+#. stub, and for pic the plt call stubs uses r30 to
+#. access the PLT.  The problem is that a call that is
+#. local won't have the +32k reloc addend trick marking
+#. -fPIC code, so the linker won't know whether r30 is
+#. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section.
+#: elf32-ppc.c:8638
+#, c-format
+msgid "%X%H: @local call to ifunc %s\n"
+msgstr "%X%H: @local Ð²Ñ‹Ð·Ð¾Ð² ifunc %s\n"
+
+#: elf32-ppc.c:8808
+#, c-format
+msgid "%H: relocation %s for indirect function %s unsupported\n"
+msgstr "%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð½ÐµÑ�Ð²Ð½Ð¾Ð³Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�\n"
 
-#: elf32-ppc.c:7948 elf32-ppc.c:7978 elf32-ppc.c:8025
+#: elf32-ppc.c:9077 elf32-ppc.c:9108 elf32-ppc.c:9199
+#, c-format
 msgid "%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)\n"
 msgstr "%P: %B: Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ (%s) Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð² Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» (%s)\n"
 
-#: elf32-ppc.c:8097
+#: elf32-ppc.c:9287
+#, c-format
+msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
+msgstr "%B: Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ (%s) Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð² Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» (%s)"
+
+#: elf32-ppc.c:9395
+#, c-format
 msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
 msgstr "%P: %B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¿Ð¾ÐºÐ° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s\n"
 
-#: elf32-ppc.c:8158 elf64-ppc.c:13467
-msgid "%P: %H: unresolvable %s relocation against symbol `%s'\n"
-msgstr "%P: %H: Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»\n"
-
-#: elf32-ppc.c:8205 elf64-ppc.c:13512
-msgid "%P: %H: %s reloc against `%s': error %d\n"
-msgstr "%P: %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Â«%sÂ»: Ð¾ÑˆÐ¸Ð±ÐºÐ° %d\n"
+#: elf32-ppc.c:9480
+#, c-format
+msgid "%H: error: %s against `%s' not a multiple of %u\n"
+msgstr "%H: Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s Ð² Â«%sÂ» Ð½Ðµ ÐºÑ€Ð°Ñ‚Ð½Ð¾ %u\n"
+
+#: elf32-ppc.c:9509
+#, c-format
+msgid "%H: unresolvable %s relocation against symbol `%s'\n"
+msgstr "%H: Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»\n"
+
+#: elf32-ppc.c:9590
+#, c-format
+msgid "%H: %s reloc against `%s': error %d\n"
+msgstr "%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Â«%sÂ»: Ð¾ÑˆÐ¸Ð±ÐºÐ° %d\n"
+
+#: elf32-ppc.c:10354 elf64-ppc.c:15601
+msgid "%X%P: text relocations and GNU indirect functions will result in a segfault at runtime\n"
+msgstr "%X%P:  Ñ‚ÐµÐºÑ�Ñ‚Ð¾Ð²Ñ‹Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¸ Ð½ÐµÑ�Ð²Ð½Ñ‹Ðµ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ GNU Ð¿Ñ€Ð¸Ð²ÐµÐ´ÑƒÑ‚ Ðº Ð¾ÑˆÐ¸Ð±ÐºÐµ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ� Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ�\n"
 
-#: elf32-ppc.c:8696
+#: elf32-ppc.c:10358 elf64-ppc.c:15605
+msgid "%P: warning: text relocations and GNU indirect functions may result in a segfault at runtime\n"
+msgstr "%P: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚ÐµÐºÑ�Ñ‚Ð¾Ð²Ñ‹Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¸ Ð½ÐµÑ�Ð²Ð½Ñ‹Ðµ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ GNU Ð¼Ð¾Ð³ÑƒÑ‚ Ð¿Ñ€Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ðº Ð¾ÑˆÐ¸Ð±ÐºÐµ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ� Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ�\n"
+
+#: elf32-ppc.c:10403
+#, c-format
 msgid "%P: %s not defined in linker created %s\n"
 msgstr "%P: %s Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¾ Ð² ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐµ, Ñ�Ð¾Ð·Ð´Ð°Ð½Ð½Ð¾Ð¼ %s\n"
 
-#: elf32-rx.c:563
+#: elf32-rl78.c:292
+#, c-format
+msgid "%B: invalid RL78 reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� RL78: %d"
+
+#: elf32-rl78.c:370
+msgid "Internal Error: RL78 reloc stack overflow"
+msgstr "Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ RL78 Ð²Ñ‹Ð·Ð²Ð°Ð»Ð¾ Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ�Ñ‚ÐµÐºÐ°"
+
+#: elf32-rl78.c:381
+msgid "Internal Error: RL78 reloc stack underflow"
+msgstr "Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ RL78 Ð²Ñ‹Ð·Ð²Ð°Ð»Ð¾ Ð²Ñ‹Ñ…Ð¾Ð´ Ð·Ð° Ð½Ð¸Ð¶Ð½ÑŽÑŽ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñƒ Ñ�Ñ‚ÐµÐºÐ°"
+
+#: elf32-rl78.c:1050
+msgid "Warning: RL78_SYM reloc with an unknown symbol"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ RL78_SYM Ñ� Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼"
+
+#: elf32-rl78.c:1081 elf32-rx.c:1435
+#, c-format
+msgid "%B(%A): error: call to undefined function '%s'"
+msgstr "%B(%A): Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð²Ñ‹Ð·Ð¾Ð² Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ»"
+
+#: elf32-rl78.c:1202
+#, c-format
+msgid "RL78 ABI conflict: G10 file %B cannot be linked with %s file %B"
+msgstr "ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚ RL78 ABI: G10 Ð² Ñ„Ð°Ð¹Ð»Ðµ %B Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� %s Ð¸Ð· Ñ„Ð°Ð¹Ð»Ð° %B"
+
+#: elf32-rl78.c:1219
+#, c-format
+msgid "RL78 ABI conflict: cannot link %s file %B with %s file %B"
+msgstr "ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚ RL78 ABI: G Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ %s Ð¸Ð· Ñ„Ð°Ð¹Ð»Ð° %B Ñ� %s Ð¸Ð· Ñ„Ð°Ð¹Ð»Ð° %B"
+
+#: elf32-rl78.c:1228
+msgid "RL78 merge conflict: cannot link 32-bit and 64-bit objects together"
+msgstr "ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ� RL78: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ Ð¸ 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹ Ð²Ð¼ÐµÑ�Ñ‚Ðµ"
+
+#: elf32-rl78.c:1232 elf32-rl78.c:1236
+#, c-format
+msgid "- %B is 64-bit, %B is not"
+msgstr "- %B Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼, Ð° %B Ð½ÐµÑ‚"
+
+#: elf32-rl78.c:1263
+#, c-format
+msgid " [64-bit doubles]"
+msgstr "[64-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ double]"
+
+#: elf32-rx.c:314
+#, c-format
+msgid "%B: invalid RX reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� RX: %d"
+
+#: elf32-rx.c:595
+#, c-format
+msgid "%B:%A: table entry %s outside table"
+msgstr "%B:%A: Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ %s Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹"
+
+#: elf32-rx.c:602
+#, c-format
+msgid "%B:%A: table entry %s not word-aligned within table"
+msgstr "%B:%A: Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ %s Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½ Ð² Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ðµ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð°"
+
+#: elf32-rx.c:668
+#, c-format
 msgid "%B:%A: Warning: deprecated Red Hat reloc "
 msgstr "%B:%A: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ²ÑˆÐµÐµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Red Hat "
 
@@ -2031,349 +3305,351 @@ msgstr "%B:%A: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð
 #. an absolute address is being computed.  There are special cases
 #. for relocs against symbols that are known to be referenced in
 #. crt0.o before the PID base address register has been initialised.
-#: elf32-rx.c:581
-msgid "%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"
-msgstr "%B(%A): Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ PID %s Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08lx (Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ %s Ð² %s)"
+#: elf32-rx.c:687
+#, c-format
+msgid "%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)"
+msgstr "%B(%A): Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ PID %s Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx (Ð´Ð»Ñ� %s Ð² %s)"
 
-#: elf32-rx.c:1157
+#: elf32-rx.c:1267
 msgid "Warning: RX_SYM reloc with an unknown symbol"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ RX_SYM Ñ� Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼"
 
-#: elf32-rx.c:1324
-msgid "%B(%A): error: call to undefined function '%s'"
-msgstr "%B(%A): Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð²Ñ‹Ð·Ð¾Ð² Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ»"
-
-#: elf32-rx.c:1338
-msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
-msgstr "%B(%A): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð² Ð¼Ð°Ð»Ð¾Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ð¸ Ð´Ð°Ð½Ð½Ñ‹Ñ…"
-
-#: elf32-rx.c:1342
-msgid "%B(%A): internal error: out of range error"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð²Ñ‹Ñ…Ð¾Ð´Ð° Ð¸Ð· Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°"
-
-#: elf32-rx.c:1346
-msgid "%B(%A): internal error: unsupported relocation error"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�"
+#: elf32-rx.c:3146
+msgid "There is a conflict merging the ELF header flags from %B"
+msgstr "Ð’Ð¾Ð·Ð½Ð¸Ðº ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ� Ñ„Ð»Ð°Ð³Ð¾Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF Ð¸Ð· %B"
 
-#: elf32-rx.c:1350
-msgid "%B(%A): internal error: dangerous relocation"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
+#: elf32-rx.c:3149
+#, c-format
+msgid "  the input  file's flags: %s"
+msgstr "  Ñ„Ð»Ð°Ð³Ð¸ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°: %s"
 
-#: elf32-rx.c:1354
-msgid "%B(%A): internal error: unknown error"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°"
+#: elf32-rx.c:3151
+#, c-format
+msgid "  the output file's flags: %s"
+msgstr "  Ñ„Ð»Ð°Ð³Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°: %s"
 
-#: elf32-rx.c:3004
+#: elf32-rx.c:3758
 #, c-format
-msgid " [64-bit doubles]"
-msgstr "[64-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ double]"
+msgid "%B:%A: table %s missing corresponding %s"
+msgstr "%B:%A: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° %s, Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÑŽÑ‰Ð°Ñ� %s"
 
-#: elf32-rx.c:3006
+#: elf32-rx.c:3766
 #, c-format
-msgid " [dsp]"
-msgstr " [dsp]"
+msgid "%B:%A: %s and %s must be in the same input section"
+msgstr "%B:%A: %s Ð¸ %s Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð±Ñ‹Ñ‚ÑŒ Ð² Ð¾Ð´Ð½Ð¾Ð¼ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ"
 
-#: elf32-s390.c:2200 elf64-s390.c:2187
-msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Ð´Ð»Ñ� TLS-Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s"
+#: elf32-s390.c:2137 elf64-s390.c:2075
+#, c-format
+msgid "%B(%A+%#Lx): invalid instruction for TLS relocation %s"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� Ð´Ð»Ñ� TLS-Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s"
 
-#: elf32-score.c:1520 elf32-score7.c:1379 elfxx-mips.c:3435
+#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3756
 msgid "not enough GOT space for local GOT entries"
 msgstr "Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð° GOT Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² GOT"
 
-#: elf32-score.c:2742
+#: elf32-score.c:2744
 msgid "address not word align"
 msgstr "Ð°Ð´Ñ€ÐµÑ� Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð°"
 
-#: elf32-score.c:2827 elf32-score7.c:2631
+#: elf32-score.c:2825 elf32-score7.c:2630
 #, c-format
-msgid "%s: Malformed reloc detected for section %s"
-msgstr "%s: ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s"
+msgid "%B: Malformed reloc detected for section %A"
+msgstr "%B: ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %A"
 
-#: elf32-score.c:2878 elf32-score7.c:2682
-msgid "%B: CALL15 reloc at 0x%lx not against global symbol"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CALL15 Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð½Ðµ Ð´Ð»Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°"
+#: elf32-score.c:2879 elf32-score7.c:2684
+#, c-format
+msgid "%B: CALL15 reloc at %#Lx not against global symbol"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CALL15 Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð½Ðµ Ð´Ð»Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°"
 
-#: elf32-score.c:3997 elf32-score7.c:3803
+#: elf32-score.c:4001 elf32-score7.c:3806
 #, c-format
 msgid " [pic]"
 msgstr " [pic]"
 
-#: elf32-score.c:4001 elf32-score7.c:3807
+#: elf32-score.c:4005 elf32-score7.c:3810
 #, c-format
 msgid " [fix dep]"
 msgstr " [fix dep]"
 
-#: elf32-score.c:4043 elf32-score7.c:3849
+#: elf32-score.c:4048 elf32-score7.c:3853
 msgid "%B: warning: linking PIC files with non-PIC files"
 msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñ�ÐµÑ‚Ñ�Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° PIC-Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð½Ðµ-PIC Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
 
 #: elf32-sh-symbian.c:130
+#, c-format
 msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS"
 msgstr "%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° IMPORT AS Ð´Ð»Ñ� %s Ñ�ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ IMPORT AS"
 
-#: elf32-sh-symbian.c:383
+#: elf32-sh-symbian.c:384
+#, c-format
 msgid "%B: Unrecognised .directive command: %s"
 msgstr "%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° .directive: %s"
 
-#: elf32-sh-symbian.c:504
+#: elf32-sh-symbian.c:502
+#, c-format
 msgid "%B: Failed to add renamed symbol %s"
 msgstr "%B: Ð�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s"
 
-#: elf32-sh.c:568
-msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
-msgstr "%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_USES"
-
-#: elf32-sh.c:580
-msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
-msgstr "%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_SH_USES ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ insn 0x%x"
-
-#: elf32-sh.c:597
-msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
-msgstr "%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¾Ñ‡Ð½Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_USES"
-
-#: elf32-sh.c:612
-msgid "%B: 0x%lx: warning: could not find expected reloc"
-msgstr "%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
-
-#: elf32-sh.c:640
-msgid "%B: 0x%lx: warning: symbol in unexpected section"
-msgstr "%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ"
-
-#: elf32-sh.c:766
-msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
-msgstr "%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ COUNT"
-
-#: elf32-sh.c:775
-msgid "%B: 0x%lx: warning: bad count"
-msgstr "%B: 0x%lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº"
-
-#: elf32-sh.c:1179 elf32-sh.c:1549
-msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
-msgstr "%B: 0x%lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð¿Ñ€Ð¸ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ð¸"
+#: elf32-sh.c:491
+#, c-format
+msgid "%B: unrecognised SH reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� SH: %d"
+
+#: elf32-sh.c:592
+#, c-format
+msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_SH_USES ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ insn 0x%x"
 
-#: elf32-sh.c:4048 elf64-sh64.c:1514
+#: elf32-sh.c:3947 elf64-sh64.c:1508
 msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
 msgstr "Ð�ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ðµ STO_SH5_ISA32 Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ�"
 
-#: elf32-sh.c:4299
-msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"
-msgstr "%B: 0x%lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ðµ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ñ� Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ñ�"
-
-#: elf32-sh.c:4332 elf32-sh.c:4347
-msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"
-msgstr "%B: 0x%lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ðµ %s Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ 0x%lx"
-
-#: elf32-sh.c:4361
-msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
-msgstr "%B: 0x%lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: R_SH_PSHA Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %d Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° -32..32"
-
-#: elf32-sh.c:4375
-msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
-msgstr "%B: 0x%lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: R_SH_PSHL Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %d Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° -32..32"
-
-#: elf32-sh.c:4519 elf32-sh.c:4989
-msgid "%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ðº Â«%sÂ» Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�"
-
-#: elf32-sh.c:5096
-msgid "%B(%A+0x%lx): %s relocation against external symbol \"%s\""
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
+#: elf32-sh.c:4200
+#, c-format
+msgid "%B: %#Lx: fatal: unaligned branch target for relax-support relocation"
+msgstr "%B: %#Lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ðµ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ñ� Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ñ�"
+
+#: elf32-sh.c:4234 elf32-sh.c:4250
+#, c-format
+msgid "%B: %#Lx: fatal: unaligned %s relocation %#Lx"
+msgstr "%B: %#Lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s (%#Lx)"
+
+#: elf32-sh.c:4265
+#, c-format
+msgid "%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32"
+msgstr "%B: %#Lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_PSHA %Ld Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° -32..32"
+
+#: elf32-sh.c:4280
+#, c-format
+msgid "%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32"
+msgstr "%B: %#Lx: Ð¾Ñ�Ñ‚Ð°Ð½Ð¾Ð²: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_SH_PSHL %Ld Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° -32..32"
+
+#: elf32-sh.c:4426 elf32-sh.c:4899
+#, c-format
+msgid "%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ðº Â«%sÂ» Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�"
+
+#: elf32-sh.c:5001
+#, c-format
+msgid "%B(%A+%#Lx): %s relocation against external symbol \"%s\""
+msgstr "%B(%A+%#Lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
 
-#: elf32-sh.c:5569
+#: elf32-sh.c:5465
 #, c-format
 msgid "%X%C: relocation to \"%s\" references a different segment\n"
 msgstr "%X%C: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ Â«%sÂ» Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°\n"
 
-#: elf32-sh.c:5575
+#: elf32-sh.c:5472
 #, c-format
 msgid "%C: warning: relocation to \"%s\" references a different segment\n"
 msgstr "%C: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ Â«%sÂ» Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°\n"
 
-#: elf32-sh.c:6353 elf32-sh.c:6436
+#: elf32-sh.c:6046 elf32-sh.c:6132
+#, c-format
 msgid "%B: `%s' accessed both as normal and FDPIC symbol"
 msgstr "%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ð¸ ÐºÐ°Ðº FDPIC Ñ�Ð¸Ð¼Ð²Ð¾Ð»"
 
-#: elf32-sh.c:6358 elf32-sh.c:6440
+#: elf32-sh.c:6052 elf32-sh.c:6137
+#, c-format
 msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
 msgstr "%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº FDPIC Ð¸ ÐºÐ°Ðº Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð½Ð¸Ñ‚Ð¸"
 
-#: elf32-sh.c:6388
+#: elf32-sh.c:6083
 msgid "%B: Function descriptor relocation with non-zero addend"
 msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Ñ� Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼"
 
-#: elf32-sh.c:6624 elf64-alpha.c:4652
+#: elf32-sh.c:6321 elf64-alpha.c:4688
+#, c-format
 msgid "%B: TLS local exec code cannot be linked into shared objects"
 msgstr "%B: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹ ÐºÐ¾Ð´ TLS Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½ Ñ� Ð¾Ð±Ñ‰Ð¸Ð¼Ð¸ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸"
 
-#: elf32-sh64.c:223 elf64-sh64.c:2318
+#: elf32-sh.c:6436
+#, c-format
+msgid "%B: uses %s instructions while previous modules use %s instructions"
+msgstr "%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ %s, Ñ…Ð¾Ñ‚Ñ� Ð² Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð»Ð¸Ñ�ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ %s"
+
+#: elf32-sh.c:6448
 #, c-format
-msgid "%s: compiled as 32-bit object and %s is 64-bit"
-msgstr "%s: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚, Ð° %s 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹"
+msgid "internal error: merge of architecture '%s' with architecture '%s' produced unknown architecture"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ‹ Â«%sÂ» Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¾Ð¹ Â«%sÂ» Ñ�Ð¾Ð·Ð´Ð°Ñ‘Ñ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½ÑƒÑŽ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñƒ"
+
+#: elf32-sh.c:6485
+msgid "%B: uses instructions which are incompatible with instructions used in previous modules"
+msgstr "%B: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸, Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ñ‹Ðµ Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ�Ð¼Ð¸, Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð²ÑˆÐ¸Ð¼Ð¸Ñ�Ñ� Ð² Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ…"
 
-#: elf32-sh64.c:226 elf64-sh64.c:2321
+#: elf32-sh.c:6498
+msgid "%B: attempt to mix FDPIC and non-FDPIC objects"
+msgstr "%B: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° Ñ�Ð¼ÐµÑˆÐ°Ñ‚ÑŒ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹ FDPIC Ð¸ Ð½Ðµ FDPIC"
+
+#: elf32-sh64.c:225 elf64-sh64.c:2277
 #, c-format
-msgid "%s: compiled as 64-bit object and %s is 32-bit"
-msgstr "%s: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚, Ð° %s 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹"
+msgid "%B: compiled as 32-bit object and %B is 64-bit"
+msgstr "%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚, Ð° %B â€” 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹"
 
-#: elf32-sh64.c:228 elf64-sh64.c:2323
+#: elf32-sh64.c:229 elf64-sh64.c:2281
 #, c-format
-msgid "%s: object size does not match that of target %s"
-msgstr "%s: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° Ð½Ðµ Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ�Ñ‚Ð¾Ð¹ Ñ†ÐµÐ»Ð¸ %s"
+msgid "%B: compiled as 64-bit object and %B is 32-bit"
+msgstr "%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ°Ðº 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚, Ð° %B â€” 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹"
 
-#: elf32-sh64.c:451 elf64-sh64.c:2837
+#: elf32-sh64.c:232 elf64-sh64.c:2284
 #, c-format
-msgid "%s: encountered datalabel symbol in input"
-msgstr "%s: Ð²Ð¾ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼ÐµÑ‚ÐºÐ¸ Ð´Ð°Ð½Ð½Ñ‹Ñ…"
+msgid "%B: object size does not match that of target %B"
+msgstr "%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¸Ð¼ÐµÑŽÑ‰Ð¸Ð¼Ñ�Ñ� Ñƒ Ñ�Ñ‚Ð¾Ð¹ Ñ†ÐµÐ»Ð¸ %B"
+
+#: elf32-sh64.c:455 elf64-sh64.c:2772
+msgid "%B: encountered datalabel symbol in input"
+msgstr "%B: Ð²Ð¾ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼ÐµÑ‚ÐºÐ¸ Ð´Ð°Ð½Ð½Ñ‹Ñ…"
 
-#: elf32-sh64.c:528
+#: elf32-sh64.c:531
 msgid "PTB mismatch: a SHmedia address (bit 0 == 1)"
 msgstr "Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ PTB: Ð°Ð´Ñ€ÐµÑ� SHmedia (Ð±Ð¸Ñ‚ 0 == 1)"
 
-#: elf32-sh64.c:531
+#: elf32-sh64.c:534
 msgid "PTA mismatch: a SHcompact address (bit 0 == 0)"
 msgstr "Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ PTA: Ð°Ð´Ñ€ÐµÑ� SHcompact (Ð±Ð¸Ñ‚ 0 == 0)"
 
-#: elf32-sh64.c:549
-#, c-format
-msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16"
-msgstr "%s: Ð¾ÑˆÐ¸Ð±ÐºÐ° GAS: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ PTB insn Ñ� R_SH_PT_16"
-
-#: elf32-sh64.c:598
-msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n"
-msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %08x Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %p\n"
+#: elf32-sh64.c:550
+msgid "%B: GAS error: unexpected PTB insn with R_SH_PT_16"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ° GAS: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð°Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ñ� PTB Ñ� R_SH_PT_16"
 
-#: elf32-sh64.c:674
+#: elf32-sh64.c:600
 #, c-format
-msgid "%s: could not write out added .cranges entries"
-msgstr "%s: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ðµ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ñ‹ .cranges"
+msgid "%B: error: unaligned relocation type %d at %#Lx reloc %#Lx"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx, Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %#Lx"
 
-#: elf32-sh64.c:734
-#, c-format
-msgid "%s: could not write out sorted .cranges entries"
-msgstr "%s: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ñ‹ .cranges"
+#: elf32-sh64.c:676
+msgid "%B: could not write out added .cranges entries"
+msgstr "%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ðµ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ñ‹ .cranges"
+
+#: elf32-sh64.c:735
+msgid "%B: could not write out sorted .cranges entries"
+msgstr "%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ñ‹ .cranges"
 
-#: elf32-sparc.c:90
+#: elf32-sparc.c:89
 msgid "%B: compiled for a 64 bit system and target is 32 bit"
 msgstr "%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ� 64-Ð±Ð¸Ñ‚Ð½Ð¾Ð¹ Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹, Ð° Ñ†ÐµÐ»ÑŒ 32-Ð±Ð¸Ñ‚Ð½Ð°Ñ�"
 
-#: elf32-sparc.c:103
+#: elf32-sparc.c:102
 msgid "%B: linking little endian files with big endian files"
 msgstr "%B: Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚ Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚"
 
-#: elf32-spu.c:719
+#: elf32-spu.c:160
+#, c-format
+msgid "%B: unrecognised SPU reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� SPU: %d"
+
+#: elf32-spu.c:726
 msgid "%X%P: overlay section %A does not start on a cache line.\n"
 msgstr "%X%P: Ñ€Ð°Ð·Ð´ÐµÐ» Ð¾Ð²ÐµÑ€Ð»ÐµÑ� %A Ð½Ðµ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚Ñ�Ñ� Ñ�Ð¾ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ ÐºÑ�ÑˆÐ°.\n"
 
-#: elf32-spu.c:727
+#: elf32-spu.c:734
 msgid "%X%P: overlay section %A is larger than a cache line.\n"
 msgstr "%X%P: Ñ€Ð°Ð·Ð´ÐµÐ» Ð¾Ð²ÐµÑ€Ð»ÐµÑ� %A Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ ÐºÑ�ÑˆÐ°.\n"
 
-#: elf32-spu.c:747
+#: elf32-spu.c:754
 msgid "%X%P: overlay section %A is not in cache area.\n"
 msgstr "%X%P: Ñ€Ð°Ð·Ð´ÐµÐ» Ð¾Ð²ÐµÑ€Ð»ÐµÑ� %A Ð½Ðµ Ð² Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ð¸ ÐºÑ�ÑˆÐ°.\n"
 
-#: elf32-spu.c:787
+#: elf32-spu.c:795
+#, c-format
 msgid "%X%P: overlay sections %A and %A do not start at the same address.\n"
 msgstr "%X%P: Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹ Ð¾Ð²ÐµÑ€Ð»ÐµÐµÐ² %A Ð¸ %A Ð½Ðµ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÑŽÑ‚Ñ�Ñ� Ñ� Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð°.\n"
 
-#: elf32-spu.c:1011
+#: elf32-spu.c:1021
+#, c-format
 msgid "warning: call to non-function symbol %s defined in %B"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð²Ñ‹Ð·Ð¾Ð² Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð½Ðµ-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s"
 
-#: elf32-spu.c:1361
+#: elf32-spu.c:1371
+#, c-format
 msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
 msgstr "%A:0x%v lrlive .brinfo (%u) Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÐµÑ‚Ñ�Ñ� Ð¾Ñ‚ Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð³Ð¾ (%u)\n"
 
-#: elf32-spu.c:1880
+#: elf32-spu.c:1903
+#, c-format
 msgid "%B is not allowed to define %s"
 msgstr "%B Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°ÐµÑ‚ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ�Ñ‚ÑŒ %s"
 
-#: elf32-spu.c:1888
+#: elf32-spu.c:1911
 #, c-format
 msgid "you are not allowed to define %s in a script"
 msgstr "Ð²Ð°Ð¼ Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ�Ñ‚ÑŒ %s Ð² Ñ�Ñ†ÐµÐ½Ð°Ñ€Ð¸Ð¸"
 
-#: elf32-spu.c:1922
+#: elf32-spu.c:1945
 #, c-format
 msgid "%s in overlay section"
 msgstr "%s Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ð¾Ð²ÐµÑ€Ð»ÐµÐµÐ²"
 
-#: elf32-spu.c:1951
+#: elf32-spu.c:1974
 msgid "overlay stub relocation overflow"
 msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¾Ð²ÐµÑ€Ð»ÐµÐ¹Ð½Ð¾Ð¹ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�"
 
-#: elf32-spu.c:1960
+#: elf32-spu.c:1983
 msgid "stubs don't match calculated size"
 msgstr "Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð½Ðµ Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð²Ñ‹Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ð¾Ð¼Ñƒ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ"
 
-#: elf32-spu.c:2542
+#: elf32-spu.c:2566
 #, c-format
 msgid "warning: %s overlaps %s\n"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ� %s\n"
 
-#: elf32-spu.c:2558
+#: elf32-spu.c:2582
 #, c-format
 msgid "warning: %s exceeds section size\n"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %s Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°\n"
 
-#: elf32-spu.c:2589
+#: elf32-spu.c:2614
+#, c-format
 msgid "%A:0x%v not found in function table\n"
 msgstr "%A:0x%v Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð² Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ðµ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹\n"
 
-#: elf32-spu.c:2729
+#: elf32-spu.c:2755
+#, c-format
 msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n"
 msgstr "%B(%A+0x%v): Ð²Ñ‹Ð·Ð¾Ð² Ð½Ðµ ÐºÐ¾Ð´Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %B(%A), Ð°Ð½Ð°Ð»Ð¸Ð· Ð½Ðµ Ð¿Ð¾Ð»Ð¾Ð½\n"
 
-#: elf32-spu.c:3297
+#: elf32-spu.c:3324
 #, c-format
 msgid "Stack analysis will ignore the call from %s to %s\n"
 msgstr "Ð’ Ð°Ð½Ð°Ð»Ð¸Ð·Ðµ Ñ�Ñ‚ÐµÐºÐ° Ð±ÑƒÐ´ÐµÑ‚ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð²Ñ‹Ð·Ð¾Ð² Ð¸Ð· %s Ð² %s\n"
 
-#: elf32-spu.c:3988
-msgid "  %s: 0x%v\n"
-msgstr "  %s: 0x%v\n"
-
-#: elf32-spu.c:3989
-msgid "%s: 0x%v 0x%v\n"
-msgstr "%s: 0x%v 0x%v\n"
-
-#: elf32-spu.c:3994
+#: elf32-spu.c:4021
 msgid "  calls:\n"
 msgstr "  Ð²Ñ‹Ð·Ð¾Ð²Ñ‹:\n"
 
-#: elf32-spu.c:4002
-#, c-format
-msgid "   %s%s %s\n"
-msgstr "   %s%s %s\n"
-
-#: elf32-spu.c:4307
+#: elf32-spu.c:4335
 #, c-format
 msgid "%s duplicated in %s\n"
 msgstr "%s Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÐµÑ‚Ñ�Ñ� Ð² %s\n"
 
-#: elf32-spu.c:4311
+#: elf32-spu.c:4339
 #, c-format
 msgid "%s duplicated\n"
 msgstr "%s Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÐµÑ‚Ñ�Ñ�\n"
 
-#: elf32-spu.c:4318
+#: elf32-spu.c:4346
 msgid "sorry, no support for duplicate object files in auto-overlay script\n"
 msgstr "Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ñ…Ñ�Ñ� Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð² Ð² Ñ�Ñ†ÐµÐ½Ð°Ñ€Ð¸Ð¸ auto-overlay Ð¿Ð¾ÐºÐ° Ð½Ðµ Ñ�Ð´ÐµÐ»Ð°Ð½Ð°\n"
 
-#: elf32-spu.c:4359
+#: elf32-spu.c:4388
+#, c-format
 msgid "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store\n"
 msgstr "Ð½Ðµ Ð¾Ð²ÐµÑ€Ð»ÐµÐ¹Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ 0x%v Ð¿Ð»ÑŽÑ� Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¾Ð²ÐµÑ€Ð»ÐµÑ� 0x%v Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ðµ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰Ðµ\n"
 
-#: elf32-spu.c:4514
+#: elf32-spu.c:4544
+#, c-format
 msgid "%B:%A%s exceeds overlay size\n"
 msgstr "%B:%A%s Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¾Ð²ÐµÑ€Ð»ÐµÑ�\n"
 
-#: elf32-spu.c:4676
+#: elf32-spu.c:4685
+msgid "%F%P: auto overlay error: %E\n"
+msgstr "%F%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ð¾Ð²ÐµÑ€Ð»ÐµÑ�: %E\n"
+
+#: elf32-spu.c:4706
 msgid "Stack size for call graph root nodes.\n"
 msgstr "Ð Ð°Ð·Ð¼ÐµÑ€ Ñ�Ñ‚ÐµÐºÐ° Ð´Ð»Ñ� Ð²Ñ‹Ð·Ð¾Ð²Ð° Ð³Ñ€Ð°Ñ„Ð° ÐºÐ¾Ñ€Ð½ÐµÐ²Ñ‹Ñ… ÑƒÐ·Ð»Ð¾Ð².\n"
 
-#: elf32-spu.c:4677
+#: elf32-spu.c:4707
 msgid ""
 "\n"
 "Stack size for functions.  Annotations: '*' max stack, 't' tail call\n"
@@ -2381,283 +3657,625 @@ msgstr ""
 "\n"
 "Ð Ð°Ð·Ð¼ÐµÑ€ Ñ�Ñ‚ÐµÐºÐ° Ð´Ð»Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹. ÐŸÑ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ�: '*' Ð¼Ð°ÐºÑ� Ñ�Ñ‚ÐµÐº, 't' Ñ…Ð²Ð¾Ñ�Ñ‚Ð¾Ð²Ð¾Ð¹ Ð²Ñ‹Ð·Ð¾Ð²\n"
 
-#: elf32-spu.c:4687
+#: elf32-spu.c:4717
 msgid "Maximum stack required is 0x%v\n"
 msgstr "Ð”Ð»Ñ� Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ñ‚ÐµÐºÐ° Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� 0x%v\n"
 
-#: elf32-spu.c:4778
+#: elf32-spu.c:4736
+msgid "%X%P: stack/lrlive analysis error: %E\n"
+msgstr "%X%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ð°Ð½Ð°Ð»Ð¸Ð·Ðµ Ñ�Ñ‚ÐµÐºÐ°/lrlive: %E\n"
+
+#: elf32-spu.c:4739
+msgid "%F%P: can not build overlay stubs: %E\n"
+msgstr "%F%P: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð±Ñ€Ð°Ñ‚ÑŒ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð¾Ð²ÐµÑ€Ð»ÐµÑ�: %E\n"
+
+#: elf32-spu.c:4808
 msgid "fatal error while creating .fixup"
 msgstr "Ð½ÐµÐ¸Ñ�Ð¿Ñ€Ð°Ð²Ð¸Ð¼Ð°Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ .fixup"
 
-#: elf32-spu.c:5008
-msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%s+0x%lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÑ‘Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
+#: elf32-spu.c:5043
+#, c-format
+msgid "%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'"
+msgstr "%B(%s+%#Lx): Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
 
-#: elf32-tic6x.c:1602
+#: elf32-tic6x.c:1596
 msgid "warning: generating a shared library containing non-PIC code"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ� Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‰ÐµÐ¹ Ð½Ðµ-PIC ÐºÐ¾Ð´"
 
-#: elf32-tic6x.c:1607
+#: elf32-tic6x.c:1601
 msgid "warning: generating a shared library containing non-PID code"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ� Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‰ÐµÐ¹ Ð½Ðµ-PID ÐºÐ¾Ð´"
 
-#: elf32-tic6x.c:2541
+#: elf32-tic6x.c:2460
 msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
 msgstr "%B: Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ SB, Ð½Ð¾ __c6xabi_DSBT_BASE Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½"
 
-#: elf32-tic6x.c:2761
-msgid "dangerous relocation"
-msgstr "Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
-
-#: elf32-tic6x.c:3733
+#: elf32-tic6x.c:3582
+#, c-format
 msgid "%B: error: unknown mandatory EABI object attribute %d"
 msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %d"
 
-#: elf32-tic6x.c:3741
+#: elf32-tic6x.c:3591
+#, c-format
 msgid "%B: warning: unknown EABI object attribute %d"
 msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ EABI-Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %d"
 
-#: elf32-tic6x.c:3853 elf32-tic6x.c:3861
+#: elf32-tic6x.c:3705 elf32-tic6x.c:3714
+#, c-format
 msgid "error: %B requires more stack alignment than %B preserves"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ñ� %B Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð±Ð¾Ð»ÑŒÑˆÐµÐµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ Ñ�Ñ‚ÐµÐºÐ°, Ñ‡ÐµÐ¼ Ñ�Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¾ Ð² %B"
 
-#: elf32-tic6x.c:3871 elf32-tic6x.c:3880
+#: elf32-tic6x.c:3724 elf32-tic6x.c:3733
 msgid "error: unknown Tag_ABI_array_object_alignment value in %B"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Tag_ABI_array_object_alignment Ð² %B"
 
-#: elf32-tic6x.c:3889 elf32-tic6x.c:3898
+#: elf32-tic6x.c:3742 elf32-tic6x.c:3751
 msgid "error: unknown Tag_ABI_array_object_align_expected value in %B"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Tag_ABI_array_object_align_expected Ð² %B"
 
-#: elf32-tic6x.c:3906 elf32-tic6x.c:3913
+#: elf32-tic6x.c:3760 elf32-tic6x.c:3768
+#, c-format
 msgid "error: %B requires more array alignment than %B preserves"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ñ� %B Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð±Ð¾Ð»ÑŒÑˆÐµÐµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ Ð¼Ð°Ñ�Ñ�Ð¸Ð²Ð°, Ñ‡ÐµÐ¼ Ñ�Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¾ Ð² %B"
 
-#: elf32-tic6x.c:3935
+#: elf32-tic6x.c:3791
+#, c-format
 msgid "warning: %B and %B differ in wchar_t size"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¸ %B Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°ÐµÑ‚Ñ�Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€ wchar_t"
 
-#: elf32-tic6x.c:3953
+#: elf32-tic6x.c:3810
+#, c-format
 msgid "warning: %B and %B differ in whether code is compiled for DSBT"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¸ %B Ð¿Ð¾-Ñ€Ð°Ð·Ð½Ð¾Ð¼Ñƒ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½ ÐºÐ¾Ð´ Ð´Ð»Ñ� DSBT"
 
-#: elf32-v850.c:173
+#: elf32-tilepro.c:3752 elfxx-tilegx.c:4132 elfxx-x86.c:1336
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:9172
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2492
+#, c-format
+msgid "discarded output section: `%A'"
+msgstr "Ð¾Ñ‚Ð±Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ‹Ð¹ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ»: Â«%AÂ»"
+
+#: elf32-v850.c:153
 #, c-format
 msgid "Variable `%s' cannot occupy in multiple small data regions"
 msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð·Ð°Ð½Ð¸Ð¼Ð°Ñ‚ÑŒ Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð½Ñ‹Ñ…"
 
-#: elf32-v850.c:176
+#: elf32-v850.c:156
 #, c-format
 msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions"
 msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð² Ð¾Ð´Ð½Ð¾Ð¼ Ð¸Ð· Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ…, Ð½ÑƒÐ»ÐµÐ²Ñ‹Ñ… Ð¸ ÐºÑ€Ð¾ÑˆÐµÑ‡Ð½Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð½Ñ‹Ñ…"
 
-#: elf32-v850.c:179
+#: elf32-v850.c:159
 #, c-format
 msgid "Variable `%s' cannot be in both small and zero data regions simultaneously"
 msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð² Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ð¸ Ð½ÑƒÐ»ÐµÐ²Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ�Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾"
 
-#: elf32-v850.c:182
+#: elf32-v850.c:162
 #, c-format
 msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously"
 msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð² Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ð¸ ÐºÑ€Ð¾ÑˆÐµÑ‡Ð½Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ�Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾"
 
-#: elf32-v850.c:185
+#: elf32-v850.c:165
 #, c-format
 msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
 msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð² Ð½ÑƒÐ»ÐµÐ²Ñ‹Ñ… Ð¸ ÐºÑ€Ð¾ÑˆÐµÑ‡Ð½Ñ‹Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ�Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾"
 
-#: elf32-v850.c:483
+#: elf32-v850.c:463
 msgid "FAILED to find previous HI16 reloc"
 msgstr "Ð�Ð• Ð£Ð”Ð�Ð›ÐžÐ¡Ð¬ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ HI16"
 
-#: elf32-v850.c:2155
+#: elf32-v850.c:1898 elf32-v850.c:1917
+#, c-format
+msgid "%B: invalid V850 reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� V850: %d"
+
+#: elf32-v850.c:2295
 msgid "could not locate special linker symbol __gp"
 msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ‹Ñ�ÐºÐ°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ __gp"
 
-#: elf32-v850.c:2159
+#: elf32-v850.c:2299
 msgid "could not locate special linker symbol __ep"
 msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ‹Ñ�ÐºÐ°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ __ep"
 
-#: elf32-v850.c:2163
+#: elf32-v850.c:2303
 msgid "could not locate special linker symbol __ctbp"
 msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ‹Ñ�ÐºÐ°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ __ctbp"
 
-#: elf32-v850.c:2341
-msgid "%B: Architecture mismatch with previous modules"
-msgstr "%B: Ð�Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸"
+#: elf32-v850.c:2524
+#, c-format
+msgid "error: %B needs 8-byte alignment but %B is set for 4-byte alignment"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ñ� %B Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ðµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ, Ð½Ð¾ Ð´Ð»Ñ� %B Ð·Ð°Ð´Ð°Ð½Ð¾ 4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ðµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ"
 
-#. xgettext:c-format.
-#: elf32-v850.c:2360
+#: elf32-v850.c:2540
 #, c-format
-msgid "private flags = %lx: "
-msgstr "Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %lx: "
+msgid "error: %B uses 64-bit doubles but %B uses 32-bit doubles"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð² %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚Ñ�Ñ� 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ double, Ð½Ð¾ Ð² %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‚ 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ double"
 
-#: elf32-v850.c:2365
+#: elf32-v850.c:2555
 #, c-format
-msgid "v850 architecture"
-msgstr "Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850"
+msgid "error: %B uses FPU-3.0 but %B only supports FPU-2.0"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð² %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� FPU-3.0, Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº %B Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ FPU-2.0"
 
-#: elf32-v850.c:2366
+#: elf32-v850.c:2587
 #, c-format
-msgid "v850e architecture"
-msgstr "Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e"
+msgid " alignment of 8-byte entities: "
+msgstr " Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ñ… Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð²: "
 
-#: elf32-v850.c:2367
+#: elf32-v850.c:2590
+#, c-format
+msgid "4-byte"
+msgstr "4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ðµ"
+
+#: elf32-v850.c:2591
+#, c-format
+msgid "8-byte"
+msgstr "8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ðµ"
+
+#: elf32-v850.c:2592 elf32-v850.c:2604
+#, c-format
+msgid "not set"
+msgstr " [Ð½Ðµ Ð·Ð°Ð´Ð°Ð½Ð¾]"
+
+#: elf32-v850.c:2593 elf32-v850.c:2605 elf32-v850.c:2617 elf32-v850.c:2628
+#: elf32-v850.c:2639 elf32-v850.c:2650
+#, c-format
+msgid "unknown: %x"
+msgstr "Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾: %x"
+
+#: elf32-v850.c:2599
+#, c-format
+msgid " size of doubles: "
+msgstr " Ñ€Ð°Ð·Ð¼ÐµÑ€ double: "
+
+#: elf32-v850.c:2602
+#, c-format
+msgid "4-bytes"
+msgstr "4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ðµ"
+
+#: elf32-v850.c:2603
+#, c-format
+msgid "8-bytes"
+msgstr "8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ‹Ðµ"
+
+#: elf32-v850.c:2611
+#, c-format
+msgid " FPU support required: "
+msgstr " Ñ‚Ñ€ÐµÐ±ÑƒÐµÐ¼Ð°Ñ� Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° FPU: "
+
+#: elf32-v850.c:2614
+#, c-format
+msgid "FPU-2.0"
+msgstr "FPU-2.0"
+
+#: elf32-v850.c:2615
+#, c-format
+msgid "FPU-3.0"
+msgstr "FPU-3.0"
+
+#: elf32-v850.c:2616
+#, c-format
+msgid "none"
+msgstr "Ð½Ðµ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ�"
+
+#: elf32-v850.c:2623
+#, c-format
+msgid "SIMD use: "
+msgstr "Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ SIMD: "
+
+#: elf32-v850.c:2626 elf32-v850.c:2637 elf32-v850.c:2648
+#, c-format
+msgid "yes"
+msgstr "Ð´Ð°"
+
+#: elf32-v850.c:2627 elf32-v850.c:2638 elf32-v850.c:2649
+#, c-format
+msgid "no"
+msgstr "Ð½ÐµÑ‚"
+
+#: elf32-v850.c:2634
+#, c-format
+msgid "CACHE use: "
+msgstr "Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ CACHE: "
+
+#: elf32-v850.c:2645
+#, c-format
+msgid "MMU use: "
+msgstr "Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ MMU: "
+
+#: elf32-v850.c:2812 elf32-v850.c:2868
+msgid "%B: Architecture mismatch with previous modules"
+msgstr "%B: Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸"
+
+#. xgettext:c-format.
+#: elf32-v850.c:2886
+#, c-format
+msgid "private flags = %lx: "
+msgstr "Ñ�Ð¾Ð±Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ = %lx: "
+
+#: elf32-v850.c:2891
+#, c-format
+msgid "unknown v850 architecture"
+msgstr "Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850"
+
+#: elf32-v850.c:2893
+#, c-format
+msgid "v850 E3 architecture"
+msgstr "Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850 E3"
+
+#: elf32-v850.c:2895 elf32-v850.c:2902
+#, c-format
+msgid "v850 architecture"
+msgstr "Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850"
+
+#: elf32-v850.c:2903
+#, c-format
+msgid "v850e architecture"
+msgstr "Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e"
+
+#: elf32-v850.c:2904
 #, c-format
 msgid "v850e1 architecture"
 msgstr "Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e1"
 
-#: elf32-v850.c:2368
+#: elf32-v850.c:2905
 #, c-format
 msgid "v850e2 architecture"
 msgstr "Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2"
 
-#: elf32-v850.c:2369
+#: elf32-v850.c:2906
 #, c-format
 msgid "v850e2v3 architecture"
 msgstr "Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2v3"
 
-#: elf32-vax.c:532
+#: elf32-v850.c:2907
+#, c-format
+msgid "v850e3v5 architecture"
+msgstr "Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e3v5"
+
+#: elf32-v850.c:3601
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insns"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGCALL ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ðµ insn"
+
+#: elf32-v850.c:3611
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insn %#x"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGCALL ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½ÑƒÑŽ insn %#x"
+
+#: elf32-v850.c:3656
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGCALL ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
+
+#: elf32-v850.c:3696
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc %#Lx"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGCALL ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %#Lx"
+
+#: elf32-v850.c:3839
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insns"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGJUMP ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ðµ insn"
+
+#: elf32-v850.c:3849
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insn %#x"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGJUMP ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½ÑƒÑŽ insn %#x"
+
+#: elf32-v850.c:3883
+#, c-format
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized reloc"
+msgstr "%B: %#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: R_V850_LONGJUMP ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
+
+#: elf32-vax.c:290
+#, c-format
+msgid "%B: unrecognised VAX reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� VAX: %d"
+
+#: elf32-vax.c:539
 #, c-format
 msgid " [nonpic]"
 msgstr " [Ð½Ðµ-pic]"
 
-#: elf32-vax.c:535
+#: elf32-vax.c:542
 #, c-format
 msgid " [d-float]"
 msgstr " [d-float]"
 
-#: elf32-vax.c:538
+#: elf32-vax.c:545
 #, c-format
 msgid " [g-float]"
 msgstr " [g-float]"
 
-#: elf32-vax.c:655
+#: elf32-vax.c:631
+#, c-format
+msgid "%B: warning: GOT addend of %Ld to `%s' does not match previous GOT addend of %Ld"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ GOT Ð¸Ð· %Ld Ðº Â«%sÂ» Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ GOT Ð¸Ð· %Ld"
+
+#: elf32-vax.c:1445
+#, c-format
+msgid "%B: warning: PLT addend of %Ld to `%s' from %A section ignored"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ PLT Ð¸Ð· %Ld Ðº Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�"
+
+#: elf32-vax.c:1570
+#, c-format
+msgid "%B: warning: %s relocation against symbol `%s' from %A section"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A"
+
+#: elf32-vax.c:1577
+#, c-format
+msgid "%B: warning: %s relocation to %#Lx from %A section"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ðº %#Lx Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A"
+
+#: elf32-visium.c:481
 #, c-format
-msgid "%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
-msgstr "%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ GOT Ð¸Ð· %ld Ðº Â«%sÂ» Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ GOT Ð¸Ð· %ld"
+msgid "%B: invalid Visium reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Visium: %d"
 
-#: elf32-vax.c:1585
+#: elf32-visium.c:817
 #, c-format
-msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored"
-msgstr "%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ PLT Ð¸Ð· %d Ðº Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�"
+msgid "%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ñ� %s -mtune=%s Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ñ� %s -mtune=%s"
 
-#: elf32-vax.c:1712
+#: elf32-xgate.c:428
 #, c-format
-msgid "%s: warning: %s relocation against symbol `%s' from %s section"
-msgstr "%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s"
+msgid "%B: invalid XGate reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� XGate: %d"
 
-#: elf32-vax.c:1718
+#: elf32-xgate.c:681
 #, c-format
-msgid "%s: warning: %s relocation to 0x%x from %s section"
-msgstr "%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ðº 0x%x Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s"
+msgid "cpu=XGATE]"
+msgstr "Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€=XGATE]"
 
-#: elf32-xstormy16.c:451 elf32-ia64.c:2336 elf64-ia64.c:2336
+#: elf32-xgate.c:683
+#, c-format
+msgid "error reading cpu type from elf private data"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Ñ‚Ð¸Ð¿Ð° Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€Ð° Ð¸Ð· Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… elf"
+
+#: elf32-xstormy16.c:449 elf64-ia64-vms.c:2074 elf32-ia64.c:2337
+#: elf64-ia64.c:2337
 msgid "non-zero addend in @fptr reloc"
 msgstr "Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @fptr"
 
-#: elf32-xtensa.c:918
+#: elf32-xtensa.c:485
+#, c-format
+msgid "%B: invalid XTENSA reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� XTENSA: %d"
+
+#: elf32-xtensa.c:926
+#, c-format
 msgid "%B(%A): invalid property table"
-msgstr "%B(%A): Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð²Ð¾Ð¹Ñ�Ñ‚Ð²"
+msgstr "%B(%A): Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð²Ð¾Ð¹Ñ�Ñ‚Ð²"
 
-#: elf32-xtensa.c:2777
-msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)"
-msgstr "%B(%A+0x%lx): Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (Ñ€Ð°Ð·Ð¼ÐµÑ€=0x%x)"
+#: elf32-xtensa.c:2655
+#, c-format
+msgid "%B(%A+%#Lx): relocation offset out of range (size=%#Lx)"
+msgstr "%B(%A+%#Lx): Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (Ñ€Ð°Ð·Ð¼ÐµÑ€=%#Lx)"
 
-#: elf32-xtensa.c:2856 elf32-xtensa.c:2977
+#: elf32-xtensa.c:2736 elf32-xtensa.c:2855
 msgid "dynamic relocation in read-only section"
 msgstr "Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�"
 
-#: elf32-xtensa.c:2953
+#: elf32-xtensa.c:2832
 msgid "TLS relocation invalid without dynamic sections"
 msgstr "TLS-Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾ Ð±ÐµÐ· Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ñ… Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²"
 
-#: elf32-xtensa.c:3172
+#: elf32-xtensa.c:3043
 msgid "internal inconsistency in size of .got.loc section"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð½ÐµÑ�Ð¾Ð³Ð»Ð°Ñ�Ð¾Ð²Ð°Ð½Ð½Ð¾Ñ�Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .got.loc"
 
-#: elf32-xtensa.c:3485
+#: elf32-xtensa.c:3350
+#, c-format
 msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x"
 msgstr "%B: Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿. Ð’Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ 0x%x. Ð’Ñ…Ð¾Ð´Ð½Ð¾Ð¹ 0x%x"
 
-#: elf32-xtensa.c:4714 elf32-xtensa.c:4722
+#: elf32-xtensa.c:4581 elf32-xtensa.c:4589
 msgid "Attempt to convert L32R/CALLX to CALL failed"
 msgstr "ÐŸÐ¾Ð¿Ñ‹Ñ‚ÐºÐ° Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ� L32R/CALLX Ð² CALL Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð°Ñ�ÑŒ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾"
 
-#: elf32-xtensa.c:6332 elf32-xtensa.c:6408 elf32-xtensa.c:7524
-msgid "%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸"
-
-#: elf32-xtensa.c:7264
-msgid "%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� XTENSA_ASM_SIMPLIFY; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸"
+#: elf32-xtensa.c:6417 elf32-xtensa.c:6495 elf32-xtensa.c:7871
+#, c-format
+msgid "%B(%A+%#Lx): could not decode instruction; possible configuration mismatch"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸"
 
-#: elf32-xtensa.c:9023
+#: elf32-xtensa.c:7610
+#, c-format
+msgid "%B(%A+%#Lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÑŽ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� XTENSA_ASM_SIMPLIFY; Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸"
+
+#: elf32-xtensa.c:9455
 msgid "invalid relocation address"
 msgstr "Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�"
 
-#: elf32-xtensa.c:9072
+#: elf32-xtensa.c:9505
 msgid "overflow after relaxation"
 msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ñ�Ð»Ðµ Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½Ð¸Ñ�"
 
-#: elf32-xtensa.c:10204
-msgid "%B(%A+0x%lx): unexpected fix for %s relocation"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ðµ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s"
+#: elf32-xtensa.c:10649
+#, c-format
+msgid "%B(%A+%#Lx): unexpected fix for %s relocation"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ðµ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s"
 
-#: elf64-alpha.c:460
+#: elf64-alpha.c:472
 msgid "GPDISP relocation did not find ldah and lda instructions"
 msgstr "Ð�Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ‹ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ ldah Ð¸ lda Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� GPDISP"
 
-#: elf64-alpha.c:2497
+#: elf64-alpha.c:1112
+#, c-format
+msgid "%B: unrecognised Alpha reloc number: %d"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Alpha: %d"
+
+#: elf64-alpha.c:2462
+#, c-format
 msgid "%B: .got subsegment exceeds 64K (size %d)"
 msgstr "%B: Ð¿Ð¾Ð´Ñ€Ð°Ð·Ð´ÐµÐ» .got Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ 64K (Ñ€Ð°Ð·Ð¼ÐµÑ€ %d)"
 
-#: elf64-alpha.c:4387 elf64-alpha.c:4399
+#: elf64-alpha.c:3017
+#, c-format
+msgid "%B: %A+%#Lx: warning: %s relocation against unexpected insn"
+msgstr "%B: %A+%#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ� Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ð¹ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÐµÐ¹"
+
+#: elf64-alpha.c:3212
+#, c-format
+msgid "%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn"
+msgstr "%B: %A+%#Lx: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ LITERAL Ñ� Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ð¹ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸ÐµÐ¹"
+
+#: elf64-alpha.c:4412 elf64-alpha.c:4425
+#, c-format
 msgid "%B: gp-relative relocation against dynamic symbol %s"
 msgstr "%B: gp-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
 
-#: elf64-alpha.c:4425 elf64-alpha.c:4565
+#: elf64-alpha.c:4452 elf64-alpha.c:4596
+#, c-format
 msgid "%B: pc-relative relocation against dynamic symbol %s"
 msgstr "%B: pc-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
 
-#: elf64-alpha.c:4453
+#: elf64-alpha.c:4481
+#, c-format
 msgid "%B: change in gp: BRSGP %s"
 msgstr "%B: Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð² gp: BRSGP %s"
 
-#: elf64-alpha.c:4478
+#: elf64-alpha.c:4506
 msgid "<unknown>"
 msgstr "<Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾>"
 
-#: elf64-alpha.c:4483
+#: elf64-alpha.c:4512
+#, c-format
 msgid "%B: !samegp reloc against symbol without .prologue: %s"
 msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ !samegp Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð±ÐµÐ· .prologue: %s"
 
-#: elf64-alpha.c:4540
+#: elf64-alpha.c:4570
+#, c-format
 msgid "%B: unhandled dynamic relocation against %s"
 msgstr "%B: Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð¾Ðµ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� %s"
 
-#: elf64-alpha.c:4572
+#: elf64-alpha.c:4605
+#, c-format
 msgid "%B: pc-relative relocation against undefined weak symbol %s"
 msgstr "%B: pc-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ�Ð»Ð°Ð±Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
 
-#: elf64-alpha.c:4636
+#: elf64-alpha.c:4671
+#, c-format
 msgid "%B: dtp-relative relocation against dynamic symbol %s"
 msgstr "%B: dtp-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
 
-#: elf64-alpha.c:4659
+#: elf64-alpha.c:4696
+#, c-format
 msgid "%B: tp-relative relocation against dynamic symbol %s"
 msgstr "%B: tp-Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
 
-#: elf64-hppa.c:2083
+#: elf64-hppa.c:2081
+#, c-format
+msgid "stub entry for %s cannot load .plt, dp offset = %Ld"
+msgstr "Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð´Ð»Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ .plt, Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ dp = %Ld"
+
+#: elf64-hppa.c:3286
+#, c-format
+msgid "%B(%A+%#Lx): cannot reach %s"
+msgstr "%B(%A+%#Lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ð±Ñ€Ð°Ñ‚ÑŒÑ�Ñ� Ð´Ð¾ %s"
+
+#: elf64-ia64-vms.c:587 elf32-ia64.c:620 elf64-ia64.c:620
+#, c-format
+msgid "%B: Can't relax br at %#Lx in section `%A'. Please use brl or indirect branch."
+msgstr "%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ�Ð»Ð°Ð±Ð¸Ñ‚ÑŒ br Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ». Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ brl Ð¸Ð»Ð¸ ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ."
+
+#: elf64-ia64-vms.c:2029 elf32-ia64.c:2285 elf64-ia64.c:2285
+msgid "@pltoff reloc against local symbol"
+msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @pltoff Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°"
+
+#: elf64-ia64-vms.c:3281 elf32-ia64.c:3696 elf64-ia64.c:3696
+#, c-format
+msgid "%B: short data segment overflowed (%#Lx >= 0x400000)"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° Ð´Ð°Ð½Ð½Ñ‹Ñ… (%#Lx >= 0x400000)"
+
+#: elf64-ia64-vms.c:3291 elf32-ia64.c:3706 elf64-ia64.c:3706
+msgid "%B: __gp does not cover short data segment"
+msgstr "%B: __gp Ð½Ðµ Ð¿Ð¾ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð´Ð°Ð½Ð½Ñ‹Ñ…"
+
+#: elf64-ia64-vms.c:3557 elf32-ia64.c:3974 elf64-ia64.c:3974
+#, c-format
+msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
+msgstr "%B: Ð½Ðµ-pic ÐºÐ¾Ð´ Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ imm Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
+
+#: elf64-ia64-vms.c:3621 elf32-ia64.c:4042 elf64-ia64.c:4042
+#, c-format
+msgid "%B: @gprel relocation against dynamic symbol %s"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @gprel Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
+
+#: elf64-ia64-vms.c:3680 elf32-ia64.c:4105 elf64-ia64.c:4105
+msgid "%B: linking non-pic code in a position independent executable"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð½Ðµ-pic ÐºÐ¾Ð´Ð° Ð² Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹"
+
+#: elf64-ia64-vms.c:3782 elf32-ia64.c:4243 elf64-ia64.c:4243
+#, c-format
+msgid "%B: @internal branch to dynamic symbol %s"
+msgstr "%B: Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ @internal Ðº Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
+
+#: elf64-ia64-vms.c:3785 elf32-ia64.c:4246 elf64-ia64.c:4246
+#, c-format
+msgid "%B: speculation fixup to dynamic symbol %s"
+msgstr "%B: Ð´Ð¾Ð³Ð°Ð´ÐºÐ° Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
+
+#: elf64-ia64-vms.c:3788 elf32-ia64.c:4249 elf64-ia64.c:4249
+#, c-format
+msgid "%B: @pcrel relocation against dynamic symbol %s"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @pcrel Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
+
+#: elf64-ia64-vms.c:3912 elf32-ia64.c:4446 elf64-ia64.c:4446
+msgid "unsupported reloc"
+msgstr "Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
+
+#: elf64-ia64-vms.c:3949 elf32-ia64.c:4484 elf64-ia64.c:4484
+#, c-format
+msgid "%B: missing TLS section for relocation %s against `%s' at %#Lx in section `%A'."
+msgstr "%B: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ TLS-Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð´Ð»Ñ� Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»."
+
+#: elf64-ia64-vms.c:3966 elf32-ia64.c:4501 elf64-ia64.c:4501
+#, c-format
+msgid "%B: Can't relax br (%s) to `%s' at %#Lx in section `%A' with size %#Lx (> 0x1000000)."
+msgstr "%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ�Ð»Ð°Ð±Ð¸Ñ‚ÑŒ br (%s) Ð´Ð¾ Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ» Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ %#Lx (> 0x1000000)."
+
+#: elf64-ia64-vms.c:4257 elf32-ia64.c:4758 elf64-ia64.c:4758
+msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° trap-on-NULL-dereference Ñ� Ð½Ðµ-trapping Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
+
+#: elf64-ia64-vms.c:4266 elf32-ia64.c:4767 elf64-ia64.c:4767
+msgid "%B: linking big-endian files with little-endian files"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚ Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚"
+
+#: elf64-ia64-vms.c:4275 elf32-ia64.c:4776 elf64-ia64.c:4776
+msgid "%B: linking 64-bit files with 32-bit files"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼Ð¸ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
+
+#: elf64-ia64-vms.c:4284 elf32-ia64.c:4785 elf64-ia64.c:4785
+msgid "%B: linking constant-gp files with non-constant-gp files"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° constant-gp Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð½Ðµ-constant-gp Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
+
+#: elf64-ia64-vms.c:4294 elf32-ia64.c:4795 elf64-ia64.c:4795
+msgid "%B: linking auto-pic files with non-auto-pic files"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° auto-pic Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð½Ðµ-auto-pic Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
+
+#: elf64-ia64-vms.c:5137 elflink.c:4773
+#, c-format
+msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ %u Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² %B Ð±Ð¾Ð»ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ (%u) ÐµÐ³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A"
+
+#: elf64-ia64-vms.c:5144 elflink.c:4780
+#, c-format
+msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ %u Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² %B Ð¼ÐµÐ½ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ %u Ð² %B"
+
+#: elf64-ia64-vms.c:5160 elflink.c:4797
 #, c-format
-msgid "stub entry for %s cannot load .plt, dp offset = %ld"
-msgstr "Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð´Ð»Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ .plt, Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ dp = %ld"
+msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ñ�Ñ� Ñ� %Lu Ð² %B Ð½Ð° %Lu Ð² %B"
 
-#: elf64-hppa.c:3275
-msgid "%B(%A+0x"
-msgstr "%B(%A+0x"
+#: elf64-mips.c:3615 elfn32-mips.c:3443
+#, c-format
+msgid "unrecognised MIPS reloc number: %d"
+msgstr "Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MIPS: %d"
 
-#: elf64-mmix.c:1034
+#: elf64-mmix.c:984
 msgid ""
 "invalid input relocation when producing non-ELF, non-mmo format output.\n"
 " Please use the objcopy program to convert from ELF or mmo,\n"
@@ -2667,7 +4285,7 @@ msgstr ""
 " Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñƒ objcopy Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð¸Ð· ELF Ð¸Ð»Ð¸ mmo,\n"
 " Ð¸Ð»Ð¸ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Â«-no-expandÂ» (Ð´Ð»Ñ� gcc, Â«-Wa,-no-expandÂ»"
 
-#: elf64-mmix.c:1218
+#: elf64-mmix.c:1168
 msgid ""
 "invalid input relocation when producing non-ELF, non-mmo format output.\n"
 " Please use the objcopy program to convert from ELF or mmo,\n"
@@ -2677,985 +4295,1408 @@ msgstr ""
 " Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñƒ objcopy Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð¸Ð· ELF Ð¸Ð»Ð¸ mmo,\n"
 " Ð¸Ð»Ð¸ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ gcc Â«-mno-base-addressesÂ»."
 
-#: elf64-mmix.c:1244
+#: elf64-mmix.c:1195
 #, c-format
 msgid ""
-"%s: Internal inconsistency error for value for\n"
-" linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx\n"
+"%B: Internal inconsistency error for value for\n"
+" linker-allocated global register: linked: %#Lx != relaxed: %#Lx"
 msgstr ""
-"%s: ÐžÑˆÐ¸Ð±ÐºÐ° Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ³Ð¾ Ð½ÐµÑ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²Ð¸Ñ� Ð´Ð»Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ�\n"
-" Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° Ð½Ð°Ð·Ð½Ð°Ñ‡Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ¾Ð¼: Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½: 0x%lx%08lx != Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½: 0x%lx%08lx\n"
+"%B: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ³Ð¾ Ð½ÐµÑ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²Ð¸Ñ� Ð´Ð»Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ�\n"
+" Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° Ð½Ð°Ð·Ð½Ð°Ñ‡Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ¾Ð¼: Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½: %#Lx != Ð¾Ñ�Ð»Ð°Ð±Ð»ÐµÐ½: %#Lx"
 
-#: elf64-mmix.c:1670
+#: elf64-mmix.c:1264
 #, c-format
-msgid "%s: base-plus-offset relocation against register symbol: (unknown) in %s"
-msgstr "%s: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ð°-Ð¿Ð»ÑŽÑ�-Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: (Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾) Ð² %s"
+msgid "%B: invalid MMIX reloc number: %d"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� MMIX: %d"
 
-#: elf64-mmix.c:1675
+#: elf64-mmix.c:1616
 #, c-format
-msgid "%s: base-plus-offset relocation against register symbol: %s in %s"
-msgstr "%s: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ð°-Ð¿Ð»ÑŽÑ�-Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: %s Ð² %s"
+msgid "%B: base-plus-offset relocation against register symbol: (unknown) in %A"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ð°-Ð¿Ð»ÑŽÑ�-Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: (Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾) Ð² %A"
 
-#: elf64-mmix.c:1719
+#: elf64-mmix.c:1622
 #, c-format
-msgid "%s: register relocation against non-register symbol: (unknown) in %s"
-msgstr "%s: Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½ÐµÑ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: (Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾) Ð² %s"
+msgid "%B: base-plus-offset relocation against register symbol: %s in %A"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ð°-Ð¿Ð»ÑŽÑ�-Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: %s Ð² %A"
 
-#: elf64-mmix.c:1724
+#: elf64-mmix.c:1667
 #, c-format
-msgid "%s: register relocation against non-register symbol: %s in %s"
-msgstr "%s: Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½ÐµÑ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: %s Ð² %s"
+msgid "%B: register relocation against non-register symbol: (unknown) in %A"
+msgstr "%B: Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½ÐµÑ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: (Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾) Ð² %A"
 
-#: elf64-mmix.c:1761
+#: elf64-mmix.c:1673
 #, c-format
-msgid "%s: directive LOCAL valid only with a register or absolute value"
-msgstr "%s: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¸Ð»Ð¸ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ñ‹Ð¼ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸ÐµÐ¼"
+msgid "%B: register relocation against non-register symbol: %s in %A"
+msgstr "%B: Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½ÐµÑ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: %s Ð² %A"
+
+#: elf64-mmix.c:1710
+msgid "%B: directive LOCAL valid only with a register or absolute value"
+msgstr "%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¸Ð»Ð¸ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ñ‹Ð¼ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸ÐµÐ¼"
 
-#: elf64-mmix.c:1789
+#: elf64-mmix.c:1741
 #, c-format
-msgid "%s: LOCAL directive: Register $%ld is not a local register.  First global register is $%ld."
-msgstr "%s: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL: Ð ÐµÐ³Ð¸Ñ�Ñ‚Ñ€ $%ld Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð¼. ÐŸÐµÑ€Ð²Ñ‹Ð¹ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€: $%ld."
+msgid "%B: LOCAL directive: Register $%Ld is not a local register.  First global register is $%Ld."
+msgstr "%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL: Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€ $%Ld Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð¼. ÐŸÐµÑ€Ð²Ñ‹Ð¹ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€: $%Ld."
 
-#: elf64-mmix.c:2253
+#: elf64-mmix.c:2169
 #, c-format
-msgid "%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
-msgstr "%s: ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¼Ð½Ð¾Ð¶ÐµÑ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ñ� Â«%sÂ»; Ð½Ð°Ñ‡Ð°Ð»Ð¾ %s ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð² Ñ€Ð°Ð½ÐµÐµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ\n"
+msgid "%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¼Ð½Ð¾Ð¶ÐµÑ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¸Ñ� Â«%sÂ»; Ð½Ð°Ñ‡Ð°Ð»Ð¾ %s ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð² Ñ€Ð°Ð½ÐµÐµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ\n"
 
-#: elf64-mmix.c:2311
+#: elf64-mmix.c:2224
 msgid "Register section has contents\n"
 msgstr "Ð’ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ð¸Ð¼ÐµÐµÑ‚Ñ�Ñ� Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ\n"
 
-#: elf64-mmix.c:2503
+#: elf64-mmix.c:2414
 #, c-format
 msgid ""
-"Internal inconsistency: remaining %u != max %u.\n"
+"Internal inconsistency: remaining %lu != max %lu.\n"
 "  Please report this bug."
 msgstr ""
-"Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐµ Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ðµ: Ð¾Ñ�Ñ‚Ð°Ñ‘Ñ‚Ñ�Ñ� %u != Ð¼Ð°ÐºÑ� %u.\n"
+"Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐµ Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ðµ: Ð¾Ñ�Ñ‚Ð°Ñ‘Ñ‚Ñ�Ñ� %lu != Ð¼Ð°ÐºÑ� %lu.\n"
 "  Ð¡Ð¾Ð¾Ð±Ñ‰Ð¸Ñ‚Ðµ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ."
 
-#: elf64-ppc.c:4185
+#: elf64-ppc.c:4640
+#, c-format
 msgid "%P: %B: cannot create stub entry %s\n"
 msgstr "%P: %B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ %s\n"
 
-#: elf64-ppc.c:6518
-msgid "%P: copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
-msgstr "%P: ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Â«%sÂ» Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ Ð»ÐµÐ½Ð¸Ð²Ð¾Ð¹ plt-ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸; Ð½Ðµ Ð·Ð°Ð´Ð°Ð²Ð°Ð¹Ñ‚Ðµ LD_BIND_NOW=1 Ð¸Ð»Ð¸ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚Ðµ gcc\n"
+#: elf64-ppc.c:4971
+msgid "%P: symbol '%s' has invalid st_other for ABI version 1\n"
+msgstr "%P: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ðµ st_other Ð´Ð»Ñ� ABI Ð²ÐµÑ€Ñ�Ð¸Ð¸ 1\n"
+
+#: elf64-ppc.c:5146
+#, c-format
+msgid "%P: %B .opd not allowed in ABI version %d\n"
+msgstr "%P: %B .opd Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð¾ Ð² ABI Ð²ÐµÑ€Ñ�Ð¸Ð¸ %d\n"
+
+#: elf64-ppc.c:5645
+#, c-format
+msgid "%H: %s reloc unsupported in shared libraries and PIEs.\n"
+msgstr "%H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð² Ð¾Ð±Ñ‰Ð¸Ñ… Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ°Ñ… Ð¸ PIE.\n"
+
+#: elf64-ppc.c:6035
+#, c-format
+msgid "%B uses unknown e_flags 0x%lx"
+msgstr "%B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ e_flags 0x%lx"
+
+#: elf64-ppc.c:6043
+#, c-format
+msgid "%B: ABI version %ld is not compatible with ABI version %ld output"
+msgstr "%B: ABI Ð²ÐµÑ€Ñ�Ð¸Ð¸ %ld Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ð¾ Ñ� Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð¼ Ñ� ABI Ð²ÐµÑ€Ñ�Ð¸Ð¸ %ld"
+
+#: elf64-ppc.c:6071
+#, c-format
+msgid " [abiv%ld]"
+msgstr " [abiv%ld]"
+
+#: elf64-ppc.c:7255
+msgid "%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
+msgstr "%P: ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Â«%TÂ» Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ Ð»ÐµÐ½Ð¸Ð²Ð¾Ð¹ plt-ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸; Ð½Ðµ Ð·Ð°Ð´Ð°Ð²Ð°Ð¹Ñ‚Ðµ LD_BIND_NOW=1 Ð¸Ð»Ð¸ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚Ðµ gcc\n"
 
-#: elf64-ppc.c:6788
+#: elf64-ppc.c:7522
 msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
 msgstr "%B: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¿Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ R_PPC64_TOCSAVE"
 
-#: elf64-ppc.c:6992
+#: elf64-ppc.c:7749
+#, c-format
 msgid "%P: dynreloc miscount for %B, section %A\n"
 msgstr "%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² Ð²Ñ‹Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð¸Ð¸ dynreloc %B, Ñ€Ð°Ð·Ð´ÐµÐ» %A\n"
 
-#: elf64-ppc.c:7076
+#: elf64-ppc.c:7838
 msgid "%B: .opd is not a regular array of opd entries"
 msgstr "%B: .opd Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ Ð¼Ð°Ñ�Ñ�Ð¸Ð²Ð¾Ð¼ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² opd"
 
-#: elf64-ppc.c:7085
+#: elf64-ppc.c:7848
+#, c-format
 msgid "%B: unexpected reloc type %u in .opd section"
 msgstr "%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %u Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ .opd"
 
-#: elf64-ppc.c:7106
+#: elf64-ppc.c:7870
+#, c-format
 msgid "%B: undefined sym `%s' in .opd section"
 msgstr "%B: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ .opd"
 
-#: elf64-ppc.c:7664
+#: elf64-ppc.c:8207
+msgid "%P: warning: --plt-localentry is especially dangerous without ld.so support to detect ABI violations.\n"
+msgstr "%P: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: --plt-localentry Ð¾Ñ�Ð¾Ð±ÐµÐ½Ð½Ð¾ Ð¾Ð¿Ð°Ñ�Ð½Ð¾ Ð±ÐµÐ· Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ Ð² ld.so Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ� Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ð¹ ABI.\n"
+
+#: elf64-ppc.c:8456
 msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
 msgstr "%H __tls_get_addr Ð±ÐµÐ· Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð°, Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ� TLS Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°\n"
 
-#: elf64-ppc.c:8003 elf64-ppc.c:8564
+#: elf64-ppc.c:8800 elf64-ppc.c:9437
 #, c-format
 msgid "%s defined on removed toc entry"
 msgstr "%s Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð½Ð° ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð¼ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ toc"
 
-#: elf64-ppc.c:8521
-msgid "%P: %H: %s relocation references optimized away TOC entry\n"
-msgstr "%P: %H: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ð¹ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ TOC\n"
-
-#: elf64-ppc.c:9598
-msgid "%P: cannot find opd entry toc for %s\n"
-msgstr "%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ opd Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° toc Ð´Ð»Ñ� %s\n"
+#: elf64-ppc.c:9165
+#, c-format
+msgid "%H: toc optimization is not supported for %s instruction.\n"
+msgstr "%H: Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ� toc Ð½Ðµ Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸.\n"
+
+#: elf64-ppc.c:9394
+#, c-format
+msgid "%H: %s references optimized away TOC entry\n"
+msgstr "%H: %s Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ð¹ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ TOC\n"
+
+#: elf64-ppc.c:10157
+#, c-format
+msgid "warning: discarding dynamic section %s"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¾Ñ‚Ð±Ñ€Ð°Ñ�Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %s"
+
+#: elf64-ppc.c:10746
+msgid "%P: cannot find opd entry toc for `%T'\n"
+msgstr "%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ opd Ñƒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° toc Ð´Ð»Ñ� Â«%TÂ»\n"
 
-#: elf64-ppc.c:9680
+#: elf64-ppc.c:10837
 msgid "%P: long branch stub `%s' offset overflow\n"
 msgstr "%P: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð´Ð»Ð¸Ð½Ð½Ð¾Ð³Ð¾ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ� Â«%sÂ»\n"
 
-#: elf64-ppc.c:9739
+#: elf64-ppc.c:10896
 msgid "%P: can't find branch stub `%s'\n"
 msgstr "%P: Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ� Â«%sÂ»\n"
 
-#: elf64-ppc.c:9801 elf64-ppc.c:9943
-msgid "%P: linkage table error against `%s'\n"
-msgstr "%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ Ð´Ð»Ñ� Â«%sÂ»\n"
+#: elf64-ppc.c:10960 elf64-ppc.c:11112 elf64-ppc.c:12974
+#, c-format
+msgid "%P: linkage table error against `%T'\n"
+msgstr "%P: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ Ð´Ð»Ñ� Â«%TÂ»\n"
 
-#: elf64-ppc.c:10126
+#: elf64-ppc.c:11331
 msgid "%P: can't build branch stub `%s'\n"
 msgstr "%P: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð±Ñ€Ð°Ñ‚ÑŒ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÑƒ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ� Â«%sÂ»\n"
 
-#: elf64-ppc.c:10941
+#: elf64-ppc.c:12104
+#, c-format
 msgid "%B section %A exceeds stub group size"
 msgstr "%B Ñ€Ð°Ð·Ð´ÐµÐ» %A Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸"
 
-#: elf64-ppc.c:11666 elf64-ppc.c:11699
-msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
-msgstr "%P: Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐµ Ð´Ð»Ñ� ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� sdata4 Ð² .eh_frame"
-
-#: elf64-ppc.c:11744
+#: elf64-ppc.c:13242
 msgid "%P: stubs don't match calculated size\n"
 msgstr "%P: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Ð½Ðµ Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÑŽÑ‚ Ð²Ñ‹Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ð¾Ð¼Ñƒ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ\n"
 
-#: elf64-ppc.c:11756
+#: elf64-ppc.c:13256
+#, c-format
+msgid "linker stubs in %u group\n"
+msgid_plural "linker stubs in %u groups\n"
+msgstr[0] "Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ° Ð² %u Ð³Ñ€ÑƒÐ¿Ð¿Ðµ\n"
+msgstr[1] "Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ° Ð² %u Ð³Ñ€ÑƒÐ¿Ð¿Ð°Ñ…\n"
+msgstr[2] "Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ° Ð² %u Ð³Ñ€ÑƒÐ¿Ð¿Ð°Ñ…\n"
+
+#: elf64-ppc.c:13260
 #, c-format
 msgid ""
-"linker stubs in %u group%s\n"
 "  branch       %lu\n"
 "  toc adjust   %lu\n"
 "  long branch  %lu\n"
 "  long toc adj %lu\n"
-"  plt call     %lu"
+"  plt call     %lu\n"
+"  plt call toc %lu\n"
+"  global entry %lu"
 msgstr ""
-"Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ° Ð² %u Ð³Ñ€ÑƒÐ¿Ð¿Ðµ%s\n"
 "  Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ                 %lu\n"
 "  Ð¸Ñ�Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ toc           %lu\n"
 "  Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ         %lu\n"
-"  Ð¸Ñ�Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð´Ð»Ð¸Ð½Ð½Ð¾Ð³Ð¾ long %lu\n"
-"  plt-Ð²Ñ‹Ð·Ð¾Ð²                 %lu"
+"  Ð¸Ñ�Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð´Ð»Ð¸Ð½Ð½Ð¾Ð³Ð¾ toc %lu\n"
+"  plt-Ð²Ñ‹Ð·Ð¾Ð²                 %lu\n"
+"  plt-Ð²Ñ‹Ð·Ð¾Ð² toc             %lu\n"
+"  Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚        %lu"
+
+#: elf64-ppc.c:13579
+#, c-format
+msgid "%H: %s used with TLS symbol `%T'\n"
+msgstr "%H: %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%TÂ»\n"
+
+#: elf64-ppc.c:13581
+#, c-format
+msgid "%H: %s used with non-TLS symbol `%T'\n"
+msgstr "%H: %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð½Ðµ TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%TÂ»\n"
+
+#: elf64-ppc.c:14191
+#, c-format
+msgid "%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC\n"
+msgstr "%H: Ð²Ñ‹Ð·Ð¾Ð² Â«%TÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½Ðµ nop, Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ð¾Ñ�Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ toc; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC\n"
+
+#: elf64-ppc.c:14197
+#, c-format
+msgid "%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)\n"
+msgstr "%H: Ð²Ñ‹Ð·Ð¾Ð² Â«%TÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½Ðµ nop, Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ð¾Ñ�Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ toc; (-mcmodel=small Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð¸Ñ�Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ� toc)\n"
+
+#: elf64-ppc.c:14325
+#, c-format
+msgid "%P: %B: unknown relocation type %d for `%T'\n"
+msgstr "%P: %B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð´Ð»Ñ� Â«%TÂ»\n"
 
-#: elf64-ppc.c:12042
-msgid "%P: %H: %s used with TLS symbol %s\n"
-msgstr "%P: %H: %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� TLS-Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s\n"
+#: elf64-ppc.c:14874
+#, c-format
+msgid "%H: %s for indirect function `%T' unsupported\n"
+msgstr "%H: %s Ð´Ð»Ñ� Ð½ÐµÑ�Ð²Ð½Ð¾Ð³Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%TÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�\n"
 
-#: elf64-ppc.c:12043
-msgid "%P: %H: %s used with non-TLS symbol %s\n"
-msgstr "%P: %H: %s Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� Ñ� Ð½Ðµ-TLS Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ %s\n"
+#: elf64-ppc.c:14986
+#, c-format
+msgid "%P: %B: %s is not supported for `%T'\n"
+msgstr "%P: %B: %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Â«%TÂ»\n"
 
-#: elf64-ppc.c:12556
-msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
-msgstr "%P: %H: Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¼Ð½Ð¾Ð¶ÐµÑ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ TOC Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ‡ÐµÑ€ÐµÐ· Ð²Ð°ÑˆÐ¸ Ñ„Ð°Ð¹Ð»Ñ‹ crt; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mminimal-toc Ð¸Ð»Ð¸ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚Ðµ gcc\n"
+#: elf64-ppc.c:15169
+#, c-format
+msgid "%H: error: %s not a multiple of %u\n"
+msgstr "%H: Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s Ð½Ðµ ÐºÑ€Ð°Ñ‚Ð½Ð¾ %u\n"
 
-#: elf64-ppc.c:12562
-msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
-msgstr "%P: %H: Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ� Ð¾Ð´Ð½Ð¾ÑƒÑ€Ð¾Ð²Ð½ÐµÐ²Ñ‹Ñ… Ð²Ñ‹Ð·Ð¾Ð²Ð¾Ð² Ðº Â«%sÂ» Ð½Ðµ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñ�ÐµÑ‚ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¼Ð½Ð¾Ð¶ÐµÑ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ TOC; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mminimal-toc Ð¸Ð»Ð¸ -fno-optimize-sibling-calls, Ð¸Ð»Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð¹Ñ‚Ðµ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¹ Â«%sÂ»\n"
+#: elf64-ppc.c:15191
+#, c-format
+msgid "%H: unresolvable %s against `%T'\n"
+msgstr "%H: Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ð¼Ð¾Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%TÂ»\n"
 
-#: elf64-ppc.c:13286
-msgid "%P: %B: relocation %s is not supported for symbol %s\n"
-msgstr "%P: %B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s\n"
+#: elf64-ppc.c:15288
+#, c-format
+msgid "%H: %s against `%T': error %d\n"
+msgstr "%H: %s Ð´Ð»Ñ� Â«%TÂ»: Ð¾ÑˆÐ¸Ð±ÐºÐ° %d\n"
 
-#: elf64-ppc.c:13446
-msgid "%P: %H: error: %s not a multiple of %u\n"
-msgstr "%P: %H: Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s Ð½Ðµ ÐºÑ€Ð°Ñ‚Ð½Ð¾ %u\n"
+#: elf64-ppc.c:15678 elf64-ppc.c:15697
+msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
+msgstr "%P: Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐµ Ð´Ð»Ñ� ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ� sdata4 Ð² .eh_frame"
+
+#: elf64-s390.c:2533
+msgid "%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)"
+msgstr "%B: Ð½Ðµ PLT Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%sÂ» Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°, Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ð² Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐµ, Ðº ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¼Ñƒ Ð¾Ð±Ñ€Ð°Ñ‰Ð°ÑŽÑ‚Ñ�Ñ� Ð¸Ð· Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° (Ð¿ÐµÑ€ÐµÑ�Ð¾Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ñ„Ð°Ð¹Ð» Ñ� -fPIC ?)"
 
-#: elf64-sh64.c:1686
+#: elf64-sh64.c:1680
 #, c-format
-msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n"
-msgstr "%s: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %08x Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %08x\n"
+msgid "%B: error: unaligned relocation type %d at %08Lx reloc %08Lx"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %08Lx Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %08Lx"
 
-#: elf64-sparc.c:446
+#: elf64-sparc.c:460
 msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER"
-msgstr "%B: Ð¢Ð¾Ð»ÑŒÐºÐ¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ñ‹ %%g[2367] Ð¼Ð¾Ð³ÑƒÑ‚ Ð¾Ð±ÑŠÑ�Ð²Ð»Ñ�Ñ‚ÑŒÑ�Ñ� Ñ� Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ STT_REGISTER"
+msgstr "%B: Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ñ‹ %%g[2367] Ð¼Ð¾Ð³ÑƒÑ‚ Ð¾Ð±ÑŠÑ�Ð²Ð»Ñ�Ñ‚ÑŒÑ�Ñ� Ñ� Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ STT_REGISTER"
 
-#: elf64-sparc.c:466
+#: elf64-sparc.c:481
+#, c-format
 msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B"
 msgstr "Ð�ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð° %%g%d: %s Ð² %B, Ñ€Ð°Ð½ÐµÐµ %s Ð² %B"
 
-#: elf64-sparc.c:489
+#: elf64-sparc.c:505
+#, c-format
 msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ Ñ‚Ð¸Ð¿Ñ‹: REGISTER Ð² %B, Ñ€Ð°Ð½ÐµÐµ %s Ð² %B"
 
-#: elf64-sparc.c:534
+#: elf64-sparc.c:552
+#, c-format
 msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ Ñ‚Ð¸Ð¿Ñ‹: %s Ð² %B, Ñ€Ð°Ð½ÐµÐµ REGISTER Ð² %B"
 
-#: elf64-sparc.c:687
+#: elf64-sparc.c:707
 msgid "%B: linking UltraSPARC specific with HAL specific code"
 msgstr "%B: UltraSPARC-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ð¸Ñ‡Ð½Ð°Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ� HAL-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ð¸Ñ‡Ð½Ñ‹Ð¼ ÐºÐ¾Ð´Ð¾Ð¼"
 
-#: elf64-x86-64.c:1427
+#: elf64-x86-64.c:1370
+msgid "hidden symbol "
+msgstr "Ñ�ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» "
+
+#: elf64-x86-64.c:1373
+msgid "internal symbol "
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» "
+
+#: elf64-x86-64.c:1376 elf64-x86-64.c:1380
+msgid "protected symbol "
+msgstr "Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» "
+
+#: elf64-x86-64.c:1382
+msgid "symbol "
+msgstr "Ñ�Ð¸Ð¼Ð²Ð¾Ð» "
+
+#: elf64-x86-64.c:1383 elf64-x86-64.c:1393
+msgid "; recompile with -fPIC"
+msgstr "; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -fPIC"
+
+#: elf64-x86-64.c:1388
+msgid "undefined "
+msgstr "Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¾ "
+
+#: elf64-x86-64.c:1397
+msgid "a shared object"
+msgstr "Ð¾Ð±Ñ‰Ð¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚"
+
+#: elf64-x86-64.c:1399
+msgid "a PIE object"
+msgstr "Ð¾Ð±ÑŠÐµÐºÑ‚ PIE"
+
+#: elf64-x86-64.c:1401
+msgid "a PDE object"
+msgstr "Ð¾Ð±ÑŠÐµÐºÑ‚ PDE"
+
+#: elf64-x86-64.c:1404
+#, c-format
+msgid "%B: relocation %s against %s%s`%s' can not be used when making %s%s"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� %s%sÂ«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ %s%s"
+
+#: elf64-x86-64.c:1889
+#, c-format
 msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
 msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð² Ñ€ÐµÐ¶Ð¸Ð¼Ðµ x32"
 
-#: elf64-x86-64.c:1656
+#: elf64-x86-64.c:2027
+#, c-format
 msgid "%B: '%s' accessed both as normal and thread local symbol"
 msgstr "%B: Â«%sÂ» Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ÐµÐ½ ÐºÐ°Ðº Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ð¸ ÐºÐ°Ðº Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð´Ð»Ñ� Ð½Ð¸Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»"
 
-#: elf64-x86-64.c:3150
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð²Ð¼ÐµÑ�Ñ‚Ðµ Ñ� STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ: %d"
-
-#: elf64-x86-64.c:3411
-msgid "%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_X86_64_GOTOFF64 Ð´Ð»Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
+#: elf64-x86-64.c:2651
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5040
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %Ld"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð²Ð¼ÐµÑ�Ñ‚Ðµ Ñ� STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ: %Ld"
 
-#: elf64-x86-64.c:3523
-msgid "; recompile with -fPIC"
-msgstr "; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -fPIC"
+#: elf64-x86-64.c:2888
+#, c-format
+msgid "%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_X86_64_GOTOFF64 Ð´Ð»Ñ� Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
 
-#: elf64-x86-64.c:3528
-msgid "%B: relocation %s against %s `%s' can not be used when making a shared object%s"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°(Ð¾Ð²)"
+#: elf64-x86-64.c:2902
+#, c-format
+msgid "%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_X86_64_GOTOFF64 Ð´Ð»Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð¾Ð³Ð¾ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
+
+#: elf64-x86-64.c:3153
+#, c-format
+msgid "%B: addend %s%#x in relocation %s against symbol `%s' at %#Lx in section `%A' is out of range"
+msgstr "%B: Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ %s%#x Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸ %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»."
+
+#: elf64-x86-64.c:3828
+msgid "%F%P: failed to convert GOTPCREL relocation; relink with --no-relax\n"
+msgstr "%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GOTPCREL; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ¹Ñ‚Ðµ Ñ� --no-relax\n"
+
+#: elf64-x86-64.c:3986
+#, c-format
+msgid "%F%B: PC-relative offset overflow in PLT entry for `%s'\n"
+msgstr "%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ PC Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ PLT Ð´Ð»Ñ� Â«%sÂ»\n"
 
-#: elf64-x86-64.c:3530
-msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°(Ð¾Ð²)"
+#: elf64-x86-64.c:4049
+#, c-format
+msgid "%F%B: branch displacement overflow in PLT entry for `%s'\n"
+msgstr "%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð²ÐµÑ‚Ð²Ð¸ Ð¿ÐµÑ€ÐµÑ�Ñ‚Ð°Ð½Ð¾Ð²ÐºÐ¸ Ð² Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ PLT Ð´Ð»Ñ� Â«%sÂ»\n"
 
-#: elfcode.h:767
+#: elf64-x86-64.c:4102
 #, c-format
-msgid "warning: %s has a corrupt string table index - ignoring"
-msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñƒ %s Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¸Ð½Ð´ÐµÐºÑ�Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº â€” Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�"
+msgid "%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n"
+msgstr "%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ PC Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð² Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ðµ GOT PLT Ð´Ð»Ñ� Â«%sÂ»\n"
+
+#: elfcode.h:760
+msgid "warning: %B has a corrupt string table index - ignoring"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñƒ %B Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¸Ð½Ð´ÐµÐºÑ�Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº â€” Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�"
 
-#: elfcode.h:1177
+#: elfcode.h:1199
 #, c-format
-msgid "%s: version count (%ld) does not match symbol count (%ld)"
-msgstr "%s: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð²ÐµÑ€Ñ�Ð¸Ð¸ (%ld) Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ�Ð¾ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸ÐºÐ¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (%ld)"
+msgid "%B: version count (%Ld) does not match symbol count (%ld)"
+msgstr "%B: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð²ÐµÑ€Ñ�Ð¸Ð¸ (%Ld) Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ�Ð¾ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸ÐºÐ¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (%Ld)"
 
-#: elfcode.h:1431
+#: elfcode.h:1456
 #, c-format
-msgid "%s(%s): relocation %d has invalid symbol index %ld"
-msgstr "%s(%s): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %d Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %ld"
+msgid "%B(%A): relocation %d has invalid symbol index %ld"
+msgstr "%B(%A): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %d Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %ld"
 
-#: elfcore.h:312
-msgid "Warning: %B is truncated: expected core file size >= %lu, found: %lu."
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B ÑƒÑ�ÐµÑ‡Ñ‘Ð½: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ñ�Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð´Ñ€Ð° Ñ„Ð°Ð¹Ð»Ð° >= %lu, Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾: %lu."
+#: elfcore.h:300
+#, c-format
+msgid "warning: %B is truncated: expected core file size >= %Lu, found: %llu"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B ÑƒÑ�ÐµÑ‡Ñ‘Ð½: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ñ�Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð° core >= %Lu, Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾: %llu"
 
-#: elflink.c:1117
+#: elflink.c:1353
+#, c-format
 msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"
 msgstr "%s: TLS-Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A"
 
-#: elflink.c:1121
+#: elflink.c:1359
+#, c-format
 msgid "%s: TLS reference in %B mismatches non-TLS reference in %B"
 msgstr "%s: TLS-Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð² %B Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ñ�Ñ�Ñ‹Ð»ÐºÐ¾Ð¹ Ð² %B"
 
-#: elflink.c:1125
+#: elflink.c:1365
+#, c-format
 msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B"
 msgstr "%s: TLS-Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ñ�Ñ�Ñ‹Ð»ÐºÐ¾Ð¹ Ð² %B"
 
-#: elflink.c:1129
+#: elflink.c:1371
+#, c-format
 msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A"
 msgstr "%s: TLS-Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð² %B Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð½Ðµ-TLS Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A"
 
-#: elflink.c:1762
+#: elflink.c:2052
+#, c-format
 msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
 msgstr "%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð²ÐµÑ€Ñ�Ð¸Ð¾Ð½Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
 
-#: elflink.c:2063
+#: elflink.c:2345
+#, c-format
 msgid "%B: version node not found for symbol %s"
 msgstr "%B: Ð²ÐµÑ€Ñ�Ð¸Ñ� ÑƒÐ·Ð»Ð° Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
 
-#: elflink.c:2154
-msgid "%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'"
-msgstr "%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (0x%lx >= 0x%lx) Ð´Ð»Ñ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»"
-
-#: elflink.c:2165
-msgid "%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table"
-msgstr "%B: Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (0x%lx) Ð´Ð»Ñ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ», Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ð² Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ Ð½ÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²"
+#: elflink.c:2434
+#, c-format
+msgid "%B: bad reloc symbol index (%#Lx >= %#lx) for offset %#Lx in section `%A'"
+msgstr "%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (%#Lx >= %#lx) Ð´Ð»Ñ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»"
+
+#: elflink.c:2446
+#, c-format
+msgid "%B: non-zero symbol index (%#Lx) for offset %#Lx in section `%A' when the object file has no symbol table"
+msgstr "%B: Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° (%#Lx) Ð´Ð»Ñ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ», Ð² Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ°Ðº Ð² Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ Ð½ÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²"
 
-#: elflink.c:2355
+#: elflink.c:2637
+#, c-format
 msgid "%B: relocation size mismatch in %B section %A"
 msgstr "%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ð² %B Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A"
 
-#: elflink.c:2639
+#: elflink.c:2955
 #, c-format
 msgid "warning: type and size of dynamic symbol `%s' are not defined"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚Ð¸Ð¿ Ð¸ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½"
 
-#: elflink.c:3391
+#: elflink.c:3017
+msgid "%P: copy reloc against protected `%T' is dangerous\n"
+msgstr "%P: ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ñ� Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ð¼ Â«%TÂ» Ð¾Ð¿Ð°Ñ�Ð½Ð¾\n"
+
+#: elflink.c:3818
+#, c-format
 msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
 msgstr "%P: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ñ‹Ð¹ ÐºÐ¾Ð´ ELF (%d) Ð² %B, Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚Ñ�Ñ� %d\n"
 
-#: elflink.c:4037
+#: elflink.c:4484
+#, c-format
 msgid "%B: %s: invalid version %u (max %d)"
 msgstr "%B: %s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� %u (Ð¼Ð°ÐºÑ� %d)"
 
-#: elflink.c:4073
+#: elflink.c:4521
+#, c-format
 msgid "%B: %s: invalid needed version %d"
 msgstr "%B: %s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� %d"
 
-#: elflink.c:4269
-msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ %u Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² %B Ð±Ð¾Ð»ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ (%u) ÐµÐ³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A"
-
-#: elflink.c:4275
-msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ %u Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð² %B Ð¼ÐµÐ½ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ %u Ð² %B"
-
-#: elflink.c:4290
-msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ñ�Ñ� Ñ� %lu Ð² %B Ð½Ð° %lu Ð² %B"
-
-#: elflink.c:4463
+#: elflink.c:4932
+#, c-format
 msgid "%B: undefined reference to symbol '%s'"
 msgstr "%B: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»"
 
-#: elflink.c:4466
-msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
-msgstr "Ð·Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ðµ: Â«%sÂ» Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð² DSO %B, Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ÐµÐ³Ð¾ Ð² ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½ÑƒÑŽ Ñ�Ñ‚Ñ€Ð¾ÐºÑƒ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ°"
+#: elflink.c:6008
+#, c-format
+msgid "%B: stack size specified and %s set"
+msgstr "%B: ÑƒÐºÐ°Ð·Ð°Ð½ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ñ‚ÐµÐºÐ° Ð¸ ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½ %s"
+
+#: elflink.c:6012
+#, c-format
+msgid "%B: %s not absolute"
+msgstr "%B: %s Ð½Ðµ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ñ‹Ð¼"
 
-#: elflink.c:5781
+#: elflink.c:6209
 #, c-format
 msgid "%s: undefined version: %s"
 msgstr "%s: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ�: %s"
 
-#: elflink.c:5849
+#: elflink.c:6780
 msgid "%B: .preinit_array section is not allowed in DSO"
 msgstr "%B: Ñ€Ð°Ð·Ð´ÐµÐ» .preinit_array Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°ÐµÑ‚Ñ�Ñ� Ð² DSO"
 
-#: elflink.c:7604
+#: elflink.c:8217
 #, c-format
 msgid "undefined %s reference in complex symbol: %s"
 msgstr "Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° %s Ð² Ñ�Ð»Ð¾Ð¶Ð½Ð¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ðµ: %s"
 
-#: elflink.c:7758
+#: elflink.c:8372
 #, c-format
 msgid "unknown operator '%c' in complex symbol"
 msgstr "Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ '%c' Ð² Ñ�Ð»Ð¾Ð¶Ð½Ð¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ðµ"
 
-#: elflink.c:8097 elflink.c:8114 elflink.c:8151 elflink.c:8168
+#. PR 21524: Let the user know if a symbol was removed by garbage collection.
+#: elflink.c:8710
+msgid "%B:%A: error: relocation references symbol %s which was removed by garbage collection."
+msgstr "%B:%A: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð±Ñ‹Ð» ÑƒÐ´Ð°Ð»Ñ‘Ð½ Ñ�Ð±Ð¾Ñ€Ñ‰Ð¸ÐºÐ¾Ð¼ Ð¼ÑƒÑ�Ð¾Ñ€Ð°."
+
+#: elflink.c:8713
+msgid "%B:%A: error: try relinking with --gc-keep-exported enabled."
+msgstr "%B:%A: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ñ‹Ð¼ --gc-keep-exported."
+
+#: elflink.c:8949 elflink.c:8967 elflink.c:9006 elflink.c:9024
 msgid "%B: Unable to sort relocs - they are in more than one size"
 msgstr "%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� - Ð¾Ð½Ð¸ Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð²"
 
-#: elflink.c:8128 elflink.c:8182
+#. The section size is not divisible by either -
+#. something is wrong.
+#: elflink.c:8983 elflink.c:9040
 msgid "%B: Unable to sort relocs - they are of an unknown size"
 msgstr "%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‚Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� - Ð¾Ð½Ð¸ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°"
 
-#: elflink.c:8233
+#: elflink.c:9092
 msgid "Not enough memory to sort relocations"
 msgstr "Ð�ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ Ð´Ð»Ñ� Ñ�Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²ÐºÐ¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹"
 
-#: elflink.c:8426
+#: elflink.c:9360
+#, c-format
 msgid "%B: Too many sections: %d (>= %d)"
 msgstr "%B: Ð¡Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²: %d (>= %d)"
 
-#: elflink.c:8675
+#: elflink.c:9640
+#, c-format
 msgid "%B: internal symbol `%s' in %B is referenced by DSO"
 msgstr "%B: Ð½Ð° Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð· %B Ñ�Ñ�Ñ‹Ð»Ð°ÑŽÑ‚Ñ�Ñ� Ð¸Ð· DSO"
 
-#: elflink.c:8677
+#: elflink.c:9643
+#, c-format
 msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
 msgstr "%B: Ð½Ð° Ñ�ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð· %B Ñ�Ñ�Ñ‹Ð»Ð°ÑŽÑ‚Ñ�Ñ� Ð¸Ð· DSO"
 
-#: elflink.c:8679
+#: elflink.c:9646
+#, c-format
 msgid "%B: local symbol `%s' in %B is referenced by DSO"
 msgstr "%B: Ð½Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð· %B Ñ�Ñ�Ñ‹Ð»Ð°ÑŽÑ‚Ñ�Ñ� Ð¸Ð· DSO"
 
-#: elflink.c:8776
+#: elflink.c:9732
+#, c-format
 msgid "%B: could not find output section %A for input section %A"
 msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %A Ð´Ð»Ñ� Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A"
 
-#: elflink.c:8899
+#: elflink.c:9886
+#, c-format
 msgid "%B: protected symbol `%s' isn't defined"
 msgstr "%B: Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½"
 
-#: elflink.c:8901
+#: elflink.c:9889
+#, c-format
 msgid "%B: internal symbol `%s' isn't defined"
 msgstr "%B: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½"
 
-#: elflink.c:8903
+#: elflink.c:9892
+#, c-format
 msgid "%B: hidden symbol `%s' isn't defined"
 msgstr "%B: Ñ�ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½"
 
-#: elflink.c:9432
+#: elflink.c:9923
+#, c-format
+msgid "%B: No symbol version section for versioned symbol `%s'"
+msgstr "%B: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ€Ð°Ð·Ð´ÐµÐ» Ð²ÐµÑ€Ñ�Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð´Ð»Ñ� Ð²ÐµÑ€Ñ�Ð¸Ð¾Ð½Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
+
+#: elflink.c:10533
+#, c-format
 msgid "error: %B: size of section %A is not multiple of address size"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ Ð°Ð´Ñ€ÐµÑ�Ð°"
 
-#: elflink.c:9479
-msgid "error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbol"
-msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (0x%s) Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð½ÐµÑ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÑŽÑ‰Ð¸Ð¹ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»"
+#: elflink.c:10578
+#, c-format
+msgid "error: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbol"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%#Lx) Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %A, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ñ�Ñ�Ñ‹Ð»Ð°ÐµÑ‚Ñ�Ñ� Ð½Ð° Ð½ÐµÑ�ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÑŽÑ‰Ð¸Ð¹ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»"
 
-#: elflink.c:10214
+#: elflink.c:11333
+#, c-format
 msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
 msgstr "%A Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ [Â«%AÂ» Ð² %B] Ð¸ Ð½ÐµÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ [Â«%AÂ» Ð² %B] Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹"
 
-#: elflink.c:10219
+#: elflink.c:11339
 #, c-format
 msgid "%A has both ordered and unordered sections"
 msgstr "%A Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ ÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ Ð¸ Ð½ÐµÑƒÐ¿Ð¾Ñ€Ñ�Ð´Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹"
 
-#: elflink.c:10784
+#: elflink.c:11441
+msgid "%B: no symbol found for import library"
+msgstr "%B: Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸"
+
+#: elflink.c:12063
+#, c-format
 msgid "%B: file class %s incompatible with %s"
 msgstr "%B: Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ð¹ ÐºÐ»Ð°Ñ�Ñ� %s Ð½ÐµÑ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� %s"
 
-#: elflink.c:11093 elflink.c:11137
-msgid "%B: could not find output section %s"
-msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %s"
+#: elflink.c:12280
+msgid "%B: failed to generate import library"
+msgstr "%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼ÑƒÑŽ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÑƒ"
 
-#: elflink.c:11098
+#: elflink.c:12399
 #, c-format
 msgid "warning: %s section has zero size"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð´ÐµÐ» %s Ð¸Ð¼ÐµÐµÑ‚ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€"
 
-#: elflink.c:11143
+#: elflink.c:12447
 #, c-format
 msgid "warning: section '%s' is being made into a note"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·ÑƒÐµÑ‚Ñ�Ñ� Ð² Ð¿Ñ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ðµ"
 
-#: elflink.c:11212
+#: elflink.c:12539
 msgid "%P%X: read-only segment has dynamic relocations.\n"
 msgstr "%P%X: Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ðµ, Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð¼ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�, Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‚Ñ�Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�.\n"
 
-#: elflink.c:11215
+#: elflink.c:12542
 msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
 msgstr "%P: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ�Ð¾Ð·Ð´Ð°Ñ‘Ñ‚Ñ�Ñ� DT_TEXTREL Ð² Ð¾Ð±Ñ‰ÐµÐ¼ Ð¾Ð±ÑŠÐµÐºÑ‚Ðµ.\n"
 
-#: elflink.c:11402
+#: elflink.c:12667
 msgid "%P%X: can not read symbols: %E\n"
 msgstr "%P%X: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹: %E\n"
 
-#: elflink.c:11792
-msgid "Removing unused section '%s' in file '%B'"
-msgstr "Ð£Ð´Ð°Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð½ÐµÐ¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» '%s' Ð² Ñ„Ð°Ð¹Ð»Ðµ '%B'"
+#: elflink.c:12829
+msgid "%F%P: corrupt input: %B\n"
+msgstr "%F%P: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ð²Ð²Ð¾Ð´: %B\n"
 
-#: elflink.c:11998
-msgid "Warning: gc-sections option ignored"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ gc-sections Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ�"
+#: elflink.c:13495
+#, c-format
+msgid "%B: %A+%#Lx: No symbol found for INHERIT"
+msgstr "%B: %A+%#Lx: Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ� INHERIT"
 
-#: elflink.c:12277
+#: elflink.c:13671
 #, c-format
 msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
 msgstr "Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ INPUT_SECTION_FLAG %s\n"
 
-#: elfxx-mips.c:1234
+#: elfxx-mips.c:1444
 msgid "static procedure (no name)"
 msgstr "Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ°Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð° (Ð±ÐµÐ· Ð¸Ð¼ÐµÐ½Ð¸)"
 
-#: elfxx-mips.c:5259
+#: elfxx-mips.c:5628
 msgid "MIPS16 and microMIPS functions cannot call each other"
 msgstr "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ð¸ MIPS16 Ð¸ microMIPS Ð½Ðµ Ð¼Ð¾Ð³ÑƒÑ‚ Ð²Ñ‹Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð´Ñ€ÑƒÐ³ Ð´Ñ€ÑƒÐ³Ð°"
 
-#: elfxx-mips.c:5856
-msgid "%B: %A+0x%lx: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled."
-msgstr "%B: %A+0x%lx: Ð¿Ñ€Ñ�Ð¼Ñ‹Ðµ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñ‹ Ð¼ÐµÐ¶Ð´Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹; Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ð¾Ð¹ ÑƒÐ²Ñ�Ð·ÐºÐ¾Ð¹."
+#: elfxx-mips.c:6376
+msgid "%X%H: Unsupported JALX to the same ISA mode\n"
+msgstr "%X%H: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ JALX Ð´Ð»Ñ� Ñ‚Ð¾Ð³Ð¾ Ð¶Ðµ Ñ€ÐµÐ¶Ð¸Ð¼Ð° ISA\n"
+
+#: elfxx-mips.c:6409
+msgid "%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled\n"
+msgstr "%X%H: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ð¿Ñ€Ñ‹Ð¶Ð¾Ðº Ð¼ÐµÐ¶Ð´Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA; Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ð¾Ð¹ ÑƒÐ²Ñ�Ð·ÐºÐ¾Ð¹\n"
+
+#: elfxx-mips.c:6454
+msgid "%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range\n"
+msgstr "%X%H: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ Ð¼ÐµÐ¶Ð´Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA Ð² JALX: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ñ‚ Ð·Ð° Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½\n"
+
+#: elfxx-mips.c:6466
+msgid "%X%H: Unsupported branch between ISA modes\n"
+msgstr "%X%H: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ Ð¼ÐµÐ¶Ð´Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA\n"
 
-#: elfxx-mips.c:6519 elfxx-mips.c:6742
+#: elfxx-mips.c:7144 elfxx-mips.c:7379
+#, c-format
 msgid "%B: Warning: bad `%s' option size %u smaller than its header"
 msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° Â«%sÂ» (%u) Ð¼ÐµÐ½ÑŒÑˆÐµ, Ñ‡ÐµÐ¼ ÐµÐ³Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº"
 
-#: elfxx-mips.c:7495 elfxx-mips.c:7620
+#: elfxx-mips.c:8135 elfxx-mips.c:8261
+#, c-format
 msgid "%B: Warning: cannot determine the target function for stub section `%s'"
 msgstr "%B: ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÑŽ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ Â«%sÂ»"
 
-#: elfxx-mips.c:7749
+#: elfxx-mips.c:8393
+#, c-format
 msgid "%B: Malformed reloc detected for section %s"
 msgstr "%B: ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %s"
 
-#: elfxx-mips.c:7801
-msgid "%B: GOT reloc at 0x%lx not expected in executables"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GOT Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð½Ðµ Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚Ñ�Ñ� Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð°Ñ…"
-
-#: elfxx-mips.c:7930
-msgid "%B: CALL16 reloc at 0x%lx not against global symbol"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CALL16 Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð½Ðµ Ð¿Ñ€ÐµÐ´Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°"
+#: elfxx-mips.c:8465
+#, c-format
+msgid "%B: GOT reloc at %#Lx not expected in executables"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ GOT Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð½Ðµ Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚Ñ�Ñ� Ð² Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð°Ñ…"
+
+#: elfxx-mips.c:8603
+#, c-format
+msgid "%B: CALL16 reloc at %#Lx not against global symbol"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ CALL16 Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð½Ðµ Ð´Ð»Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°"
 
-#: elfxx-mips.c:8645
+#: elfxx-mips.c:9226
 #, c-format
 msgid "non-dynamic relocations refer to dynamic symbol %s"
 msgstr "Ð½Ðµ-Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‚ Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s"
 
-#: elfxx-mips.c:9347
-msgid "%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'"
-msgstr "%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ñ�Ñ‰ÐµÐµ LO16 Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñƒ Â«%sÂ» Ð´Ð»Ñ� %s Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»"
+#: elfxx-mips.c:10146
+#, c-format
+msgid "%B: Can't find matching LO16 reloc against `%s' for %s at %#Lx in section `%A'"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ñ�Ñ‰ÐµÐµ LO16 Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñƒ Â«%sÂ» Ð´Ð»Ñ� %s Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %#Lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»"
 
-#: elfxx-mips.c:9486
+#: elfxx-mips.c:10286
 msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
 msgstr "Ñ€Ð°Ð·Ð´ÐµÐ» small-data Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ 64ÐšÐ‘ â€” Ð½Ð¸Ð¶Ð½Ð¸Ð¹ Ð¿Ñ€ÐµÐ´ÐµÐ» small-data (Ñ�Ð¼. Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -G)"
 
-#: elfxx-mips.c:9505
-msgid "JALX to a non-word-aligned address"
-msgstr "Ð’Ñ‹Ð¿Ð¾Ð»Ð½Ñ�ÐµÑ‚Ñ�Ñ� JALX Ð² Ð°Ð´Ñ€ÐµÑ�, Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ñ‹Ð¹ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð°"
+#: elfxx-mips.c:10305
+msgid "Cannot convert a jump to JALX for a non-word-aligned address"
+msgstr "Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿Ñ€Ñ‹Ð¶Ð¾Ðº Ðº JALX Ð´Ð»Ñ� Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð°"
+
+#: elfxx-mips.c:10308
+msgid "Jump to a non-word-aligned address"
+msgstr "ÐŸÑ€Ñ‹Ð¶Ð¾Ðº Ð¿Ð¾ Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð¼Ñƒ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ñƒ"
+
+#: elfxx-mips.c:10309
+msgid "Jump to a non-instruction-aligned address"
+msgstr "ÐŸÑ€Ñ‹Ð¶Ð¾Ðº Ð¿Ð¾ Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð¼Ñƒ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Ð°Ð´Ñ€ÐµÑ�Ñƒ"
+
+#: elfxx-mips.c:10312
+msgid "Cannot convert a branch to JALX for a non-word-aligned address"
+msgstr "Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ Ðº JALX Ð´Ð»Ñ� Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ñ�Ð»Ð¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð°"
+
+#: elfxx-mips.c:10314
+msgid "Branch to a non-instruction-aligned address"
+msgstr "Ð’ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ Ð¿Ð¾ Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð¼Ñƒ Ð¿Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ð¸Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ð¸Ð¸ Ð°Ð´Ñ€ÐµÑ�Ñƒ"
+
+#: elfxx-mips.c:10316
+msgid "PC-relative load from unaligned address"
+msgstr "Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ PC Ð¸Ð· Ð½Ðµ Ð²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð°"
+
+#: elfxx-mips.c:10690 elfxx-mips.c:11258
+#, c-format
+msgid "%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC"
+msgstr "%B: Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%AÂ» Ð´Ð»Ñ� %Ld Ð¸Ð· Â«%AÂ» Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° ADDIUPC"
+
+#: elfxx-mips.c:14121
+#, c-format
+msgid "%B: Unknown architecture %s"
+msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° %s"
+
+#: elfxx-mips.c:14380
+msgid "%B: .reginfo section size should be %d bytes, actual size is %d"
+msgstr "%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .reginfo Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ‹Ñ‚ÑŒ %d Ð±Ð°Ð¹Ñ‚, Ð´ÐµÐ¹Ñ�Ñ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ â€” %d"
+
+#: elfxx-mips.c:14659
+#, c-format
+msgid "%B: illegal section name `%A'"
+msgstr "%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ð¸Ð¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ»"
+
+#: elfxx-mips.c:14936
+msgid "%B: warning: linking abicalls files with non-abicalls files"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² abicalls Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð½Ðµ-abicalls"
+
+#: elfxx-mips.c:14953
+msgid "%B: linking 32-bit code with 64-bit code"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° 32-Ð±Ð¸Ñ‚Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° Ñ� 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼ ÐºÐ¾Ð´Ð¾Ð¼"
+
+#: elfxx-mips.c:14985 elfxx-mips.c:15051 elfxx-mips.c:15066
+#, c-format
+msgid "%B: linking %s module with previous %s modules"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
+
+#: elfxx-mips.c:15009
+#, c-format
+msgid "%B: ABI mismatch: linking %s module with previous %s modules"
+msgstr "%B: Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ABI: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
+
+#: elfxx-mips.c:15034
+#, c-format
+msgid "%B: ASE mismatch: linking %s module with previous %s modules"
+msgstr "%B: Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ASE: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
+
+#: elfxx-mips.c:15168
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %d"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸ %d (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸ %d"
+
+#: elfxx-mips.c:15174
+#, c-format
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses %s"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸ %d (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s"
+
+#: elfxx-mips.c:15180
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses unknown floating point ABI %d"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¸ %d"
 
-#: elfxx-mips.c:13266
+#: elfxx-mips.c:15194
 #, c-format
-msgid "%s: illegal section name `%s'"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ðµ Ð¸Ð¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%sÂ»"
+msgid "Warning: %B uses %s (set by %B), %B uses %s"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s"
 
-#: elfxx-mips.c:13645 elfxx-mips.c:13671
-msgid "Warning: %B uses -msingle-float, %B uses -mdouble-float"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -msingle-float, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -mdouble-float"
+#: elfxx-mips.c:15213
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses unknown MSA ABI %d"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI MSA %d"
 
-#: elfxx-mips.c:13657 elfxx-mips.c:13713
-msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -msingle-float, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -mips32r2 -mfp64"
+#: elfxx-mips.c:15225
+#, c-format
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses %s"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI MSA %d (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ %s"
 
-#: elfxx-mips.c:13683 elfxx-mips.c:13719
-msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
-msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -mdouble-float, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -mips32r2 -mfp64"
+#: elfxx-mips.c:15234
+#, c-format
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %d"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI MSA %d (Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ %B), %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ABI MSA %d"
 
-#: elfxx-mips.c:13761
+#: elfxx-mips.c:15296
 msgid "%B: endianness incompatible with that of the selected emulation"
 msgstr "%B: Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚ Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ Ð² Ñ�Ð¼ÑƒÐ»Ñ�Ñ†Ð¸Ð¸"
 
-#: elfxx-mips.c:13772
+#: elfxx-mips.c:15310
 msgid "%B: ABI is incompatible with that of the selected emulation"
 msgstr "%B: ABI Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ Ð² Ñ�Ð¼ÑƒÐ»Ñ�Ñ†Ð¸Ð¸"
 
-#: elfxx-mips.c:13856
-msgid "%B: warning: linking abicalls files with non-abicalls files"
-msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² abicalls Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð½Ðµ-abicalls"
+#: elfxx-mips.c:15362
+msgid "%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÑ�Ð¾Ð³Ð»Ð°Ñ�Ð¾Ð²Ð°Ð½Ð½Ð¾Ñ�Ñ‚ÑŒ ISA Ð¼ÐµÐ¶Ð´Ñƒ e_flags Ð¸ .MIPS.abiflags"
 
-#: elfxx-mips.c:13873
-msgid "%B: linking 32-bit code with 64-bit code"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° 32-Ð±Ð¸Ñ‚Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° Ñ� 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼ ÐºÐ¾Ð´Ð¾Ð¼"
+#: elfxx-mips.c:15367
+msgid "%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÑ�Ð¾Ð³Ð»Ð°Ñ�Ð¾Ð²Ð°Ð½Ð½Ð¾Ñ�Ñ‚ÑŒ FP ABI Ð¼ÐµÐ¶Ð´Ñƒ .gnu.attributes Ð¸ .MIPS.abiflags"
+
+#: elfxx-mips.c:15371
+msgid "%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÑ�Ð¾Ð³Ð»Ð°Ñ�Ð¾Ð²Ð°Ð½Ð½Ð¾Ñ�Ñ‚ÑŒ ASE Ð¼ÐµÐ¶Ð´Ñƒ e_flags Ð¸ .MIPS.abiflags"
+
+#: elfxx-mips.c:15378
+msgid "%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÑ�Ð¾Ð³Ð»Ð°Ñ�Ð¾Ð²Ð°Ð½Ð½Ð¾Ñ�Ñ‚ÑŒ Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ð¹ ISA Ð¼ÐµÐ¶Ð´Ñƒ e_flags Ð¸ .MIPS.abiflags"
+
+#: elfxx-mips.c:15382
+msgid "%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ñ‹Ð¹ Ñ„Ð»Ð°Ð³ Ð² Ð¿Ð¾Ð»Ðµ flags2 Ñƒ .MIPS.abiflags (0x%lx)"
+
+#: elfxx-mips.c:15571
+msgid "-mips32r2 -mfp64 (12 callee-saved)"
+msgstr "-mips32r2 -mfp64 (12 Ñ�Ð¾Ñ…Ñ€Ð°Ð½Ñ�ÑŽÑ‚Ñ�Ñ� Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÐ¼Ñ‹Ð¼)"
+
+#: elfxx-mips.c:15621 elfxx-mips.c:15632
+msgid "None"
+msgstr "ÐžÑ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚"
+
+#: elfxx-mips.c:15623 elfxx-mips.c:15695
+msgid "Unknown"
+msgstr "Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾"
+
+#: elfxx-mips.c:15706
+#, c-format
+msgid "Hard or soft float\n"
+msgstr "Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¸Ð»Ð¸ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ�\n"
+
+#: elfxx-mips.c:15709
+#, c-format
+msgid "Hard float (double precision)\n"
+msgstr "Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (Ð´Ð²Ð¾Ð¹Ð½Ð°Ñ� Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚ÑŒ)\n"
+
+#: elfxx-mips.c:15712
+#, c-format
+msgid "Hard float (single precision)\n"
+msgstr "Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð°Ñ� Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚ÑŒ)\n"
+
+#: elfxx-mips.c:15715
+#, c-format
+msgid "Soft float\n"
+msgstr "ÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ�\n"
 
-#: elfxx-mips.c:13901
-msgid "%B: linking %s module with previous %s modules"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
+#: elfxx-mips.c:15718
+#, c-format
+msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
+msgstr "Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (MIPS32r2 64-bit FPU 12 Ñ�Ð¾Ñ…Ñ€Ð°Ð½Ñ�ÑŽÑ‚Ñ�Ñ� Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÐ¼Ñ‹Ð¼)\n"
 
-#: elfxx-mips.c:13924
-msgid "%B: ABI mismatch: linking %s module with previous %s modules"
-msgstr "%B: Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ABI: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
+#: elfxx-mips.c:15721
+#, c-format
+msgid "Hard float (32-bit CPU, Any FPU)\n"
+msgstr "Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¦ÐŸ, Ð»ÑŽÐ±Ð¾Ð¹ FPU)\n"
 
-#: elfxx-mips.c:13948
-msgid "%B: ASE mismatch: linking %s module with previous %s modules"
-msgstr "%B: Ð½ÐµÑ�Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ ASE: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ñ� Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
+#: elfxx-mips.c:15724
+#, c-format
+msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
+msgstr "Ð�Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¦ÐŸ, 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ FPU)\n"
+
+#: elfxx-mips.c:15727
+#, c-format
+msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
+msgstr "Ð¡Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼Ð°Ñ� Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð°Ñ� Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð·Ð°Ð¿Ñ�Ñ‚Ð°Ñ� (32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ð¦ÐŸ, 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ FPU)\n"
 
-#: elfxx-mips.c:14106
+#: elfxx-mips.c:15759
 #, c-format
 msgid " [abi=O32]"
 msgstr " [abi=O32]"
 
-#: elfxx-mips.c:14108
+#: elfxx-mips.c:15761
 #, c-format
 msgid " [abi=O64]"
 msgstr " [abi=O64]"
 
-#: elfxx-mips.c:14110
+#: elfxx-mips.c:15763
 #, c-format
 msgid " [abi=EABI32]"
 msgstr " [abi=EABI32]"
 
-#: elfxx-mips.c:14112
+#: elfxx-mips.c:15765
 #, c-format
 msgid " [abi=EABI64]"
 msgstr " [abi=EABI64]"
 
-#: elfxx-mips.c:14114
+#: elfxx-mips.c:15767
 #, c-format
 msgid " [abi unknown]"
 msgstr " [abi Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚ÐµÐ½]"
 
-#: elfxx-mips.c:14116
+#: elfxx-mips.c:15769
 #, c-format
 msgid " [abi=N32]"
 msgstr " [abi=N32]"
 
-#: elfxx-mips.c:14118
+#: elfxx-mips.c:15771
 #, c-format
 msgid " [abi=64]"
 msgstr " [abi=64]"
 
-#: elfxx-mips.c:14120
+#: elfxx-mips.c:15773
 #, c-format
 msgid " [no abi set]"
 msgstr " [abi Ð½Ðµ Ð·Ð°Ð´Ð°Ð½]"
 
-#: elfxx-mips.c:14141
+#: elfxx-mips.c:15798
 #, c-format
 msgid " [unknown ISA]"
 msgstr " [Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ ISA]"
 
-#: elfxx-mips.c:14155
+#: elfxx-mips.c:15818
 #, c-format
 msgid " [not 32bitmode]"
 msgstr " [Ð½Ðµ 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼]"
 
-#: elfxx-sparc.c:596
+#: elfxx-riscv.c:955
+#, c-format
+msgid "unrecognized relocation (0x%x)"
+msgstr "Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (0x%x)"
+
+#: elfxx-sparc.c:639
 #, c-format
 msgid "invalid relocation type %d"
 msgstr "Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d"
 
-#: elfxx-tilegx.c:3952
+#: elfxx-sparc.c:3129
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5024
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð²Ð¼ÐµÑ�Ñ‚Ðµ Ñ� STT_GNU_IFUNC Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ» Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÐµÑ‚Ñ�Ñ� %s"
+
+#: elfxx-tilegx.c:4241
+#, c-format
 msgid "%B: Cannot link together %s and %s objects."
 msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹ %s Ð¸ %s Ð²Ð¼ÐµÑ�Ñ‚Ðµ."
 
-#: i386linux.c:451 m68klinux.c:456 sparclinux.c:450
+#: elfxx-x86.c:570
+#, c-format
+msgid "%P: %B: warning: relocation against `%s' in read-only section `%A'\n"
+msgstr "%P: %B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Â«%sÂ» Ð¸Ð· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ»\n"
+
+#: elfxx-x86.c:954
+msgid "%P: %B: warning: relocation in read-only section `%A'\n"
+msgstr "%P: %B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ� Â«%AÂ»\n"
+
+#: elfxx-x86.c:1287
+msgid "%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
+msgstr "%P%X: Ð² Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ðµ, Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð¼ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�, Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð°Ñ‚Ñ�Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� IFUNC; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC\n"
+
+#: elfxx-x86.c:2241
+msgid "error: %B: <corrupt x86 ISA used size: 0x%x>"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: <Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° x86 ISA: 0x%x>"
+
+#: elfxx-x86.c:2243
+msgid "error: %B: <corrupt x86 ISA needed size: 0x%x>"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: <Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° x86 ISA: 0x%x>"
+
+#: elfxx-x86.c:2244
+msgid "error: %B: <corrupt x86 feature size: 0x%x>"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: %B: <Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ñ�Ð²Ð¾Ð¹Ñ�Ñ‚Ð²Ð° x86: 0x%x>"
+
+#: elfxx-x86.c:2416
+msgid "%F%P: failed to create GNU property section\n"
+msgstr "%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Ñ�Ð²Ð¾Ð¹Ñ�Ñ‚Ð² GNU\n"
+
+#: elfxx-x86.c:2421
+#, c-format
+msgid "%F%A: failed to align section\n"
+msgstr "%F%A: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ñ€Ð¾Ð²Ð½Ñ�Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ»\n"
+
+#: elfxx-x86.c:2571
+msgid "%F%P: failed to create VxWorks dynamic sections\n"
+msgstr "%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹ VxWorks\n"
+
+#: elfxx-x86.c:2580
+msgid "%F%P: failed to create GOT sections\n"
+msgstr "%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹ GOT\n"
+
+#: elfxx-x86.c:2598
+msgid "%F%P: failed to create ifunc sections\n"
+msgstr "%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹ ifunc\n"
+
+#: elfxx-x86.c:2639
+msgid "%F%P: failed to create GOT PLT section\n"
+msgstr "%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» GOT PLT\n"
+
+#: elfxx-x86.c:2660
+msgid "%F%P: failed to create IBT-enabled PLT section\n"
+msgstr "%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» PLT Ñ� Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ñ‹Ð¼ IBT\n"
+
+#: elfxx-x86.c:2675
+msgid "%F%P: failed to create BND PLT section\n"
+msgstr "%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» BND PLT\n"
+
+#: elfxx-x86.c:2696
+msgid "%F%P: failed to create PLT .eh_frame section\n"
+msgstr "%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» PLT .eh_frame\n"
+
+#: elfxx-x86.c:2709
+msgid "%F%P: failed to create GOT PLT .eh_frame section\n"
+msgstr "%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» GOT PLT .eh_frame\n"
+
+#: elfxx-x86.c:2723
+msgid "%F%P: failed to create the second PLT .eh_frame section\n"
+msgstr "%F%P: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ð²Ñ‚Ð¾Ñ€Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» PLT .eh_frame\n"
+
+#: i386linux.c:416 m68klinux.c:419 sparclinux.c:412
 #, c-format
 msgid "Output file requires shared library `%s'\n"
 msgstr "Ð”Ð»Ñ� Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð¾Ð±Ñ‰Ð°Ñ� Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° Â«%sÂ»\n"
 
-#: i386linux.c:459 m68klinux.c:464 sparclinux.c:458
+#: i386linux.c:424 m68klinux.c:428 sparclinux.c:421
 #, c-format
 msgid "Output file requires shared library `%s.so.%s'\n"
 msgstr "Ð”Ð»Ñ� Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� Ð¾Ð±Ñ‰Ð°Ñ� Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° Â«%s.so.%sÂ»\n"
 
-#: i386linux.c:648 i386linux.c:698 m68klinux.c:656 m68klinux.c:704
-#: sparclinux.c:648 sparclinux.c:698
+#: i386linux.c:611 i386linux.c:661 m68klinux.c:617 m68klinux.c:665
+#: sparclinux.c:608 sparclinux.c:658
 #, c-format
 msgid "Symbol %s not defined for fixups\n"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» %s Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð´Ð»Ñ� Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹\n"
 
-#: i386linux.c:722 m68klinux.c:728 sparclinux.c:722
+#: i386linux.c:685 m68klinux.c:689 sparclinux.c:682
 msgid "Warning: fixup count mismatch\n"
 msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ�\n"
 
 #: ieee.c:159
 #, c-format
-msgid "%s: string too long (%d chars, max 65535)"
-msgstr "%s: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð»Ð¸Ð½Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° (%d Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð², Ð¼Ð°ÐºÑ�. 65535)"
+msgid "%B: string too long (%ld chars, max 65535)"
+msgstr "%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð»Ð¸Ð½Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° (%ld Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð², Ð¼Ð°ÐºÑ�. 65535)"
+
+#: ieee.c:226
+#, c-format
+msgid "IEEE parser: string length: %#lx longer than buffer: %#lx"
+msgstr "Ð°Ð½Ð°Ð»Ð¸Ð·Ð°Ñ‚Ð¾Ñ€ IEEE: Ð´Ð»Ð¸Ð½Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ (%#lx) Ð´Ð»Ð¸Ð½Ð½ÐµÐµ Ð±ÑƒÑ„ÐµÑ€Ð° (%#lx)"
 
-#: ieee.c:286
+#: ieee.c:302
 #, c-format
-msgid "%s: unrecognized symbol `%s' flags 0x%x"
-msgstr "%s: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» (0x%x)"
+msgid "%B: unrecognized symbol `%s' flags 0x%x"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ„Ð»Ð°Ð³Ð¾Ð² 0x%x"
 
-#: ieee.c:792
+#: ieee.c:837
+#, c-format
 msgid "%B: unimplemented ATI record %u for symbol %u"
 msgstr "%B: Ð½ÐµÑ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½Ð°Ñ� ATI-Ð·Ð°Ð¿Ð¸Ñ�ÑŒ %u Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %u"
 
-#: ieee.c:816
-msgid "%B: unexpected ATN type %d in external part"
-msgstr "%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ ATN-Ñ‚Ð¸Ð¿ %d Ð²Ð¾ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ Ñ‡Ð°Ñ�Ñ‚Ð¸"
+#: ieee.c:862
+#, c-format
+msgid "%B: unexpected ATN type %Ld in external part"
+msgstr "%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ ATN-Ñ‚Ð¸Ð¿ %Ld Ð²Ð¾ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ Ñ‡Ð°Ñ�Ñ‚Ð¸"
 
-#: ieee.c:838
+#: ieee.c:884
 msgid "%B: unexpected type after ATN"
 msgstr "%B: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ð¾Ñ�Ð»Ðµ ATN"
 
 #: ihex.c:230
+#, c-format
 msgid "%B:%d: unexpected character `%s' in Intel Hex file"
 msgstr "%B:%d: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ"
 
-#: ihex.c:337
+#: ihex.c:338
+#, c-format
 msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)"
 msgstr "%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ� Ñ�ÑƒÐ¼Ð¼Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ (Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ‹Ñ‚ÑŒ %u, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð° %u)"
 
-#: ihex.c:392
+#: ihex.c:394
+#, c-format
 msgid "%B:%u: bad extended address record length in Intel Hex file"
 msgstr "%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ"
 
-#: ihex.c:409
+#: ihex.c:412
+#, c-format
 msgid "%B:%u: bad extended start address length in Intel Hex file"
 msgstr "%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ"
 
-#: ihex.c:426
+#: ihex.c:430
+#, c-format
 msgid "%B:%u: bad extended linear address record length in Intel Hex file"
 msgstr "%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ñ€Ñ�Ð¼Ð¾Ð»Ð¸Ð½ÐµÐ¹Ð½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ"
 
-#: ihex.c:443
+#: ihex.c:448
+#, c-format
 msgid "%B:%u: bad extended linear start address length in Intel Hex file"
 msgstr "%B:%u: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ñ�ÑˆÐ¸Ñ€ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ñ€Ñ�Ð¼Ð¾Ð»Ð¸Ð½ÐµÐ¹Ð½Ð¾Ð³Ð¾ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð° Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ"
 
-#: ihex.c:460
+#: ihex.c:466
+#, c-format
 msgid "%B:%u: unrecognized ihex type %u in Intel Hex file"
 msgstr "%B:%u: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ ihex-Ñ‚Ð¸Ð¿ %u Ð² Intel Hex Ñ„Ð°Ð¹Ð»Ðµ"
 
-#: ihex.c:579
+#: ihex.c:585
 msgid "%B: internal error in ihex_read_section"
 msgstr "%B: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² ihex_read_section"
 
-#: ihex.c:613
+#: ihex.c:619
 msgid "%B: bad section length in ihex_read_section"
 msgstr "%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ� Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð² ihex_read_section"
 
-#: ihex.c:826
+#: ihex.c:830
 #, c-format
-msgid "%s: address 0x%s out of range for Intel Hex file"
-msgstr "%s: Ð°Ð´Ñ€ÐµÑ� 0x%s Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° Ð´Ð»Ñ� Intel Hex Ñ„Ð°Ð¹Ð»Ð°"
+msgid "%B: address %#Lx out of range for Intel Hex file"
+msgstr "%B: Ð°Ð´Ñ€ÐµÑ� %#Lx Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° Ð´Ð»Ñ� Intel Hex Ñ„Ð°Ð¹Ð»Ð°"
 
-#: libbfd.c:863
+#: libbfd.c:799
+#, c-format
 msgid "%B: unable to get decompressed section %A"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ Ñ€Ð°Ñ�Ð¶Ð°Ñ‚Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %A"
 
-#: libbfd.c:1012
-msgid "%B: compiled for a big endian system and target is little endian"
-msgstr "%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹ Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚, Ð° Ñ†ÐµÐ»ÑŒ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚"
-
-#: libbfd.c:1014
-msgid "%B: compiled for a little endian system and target is big endian"
-msgstr "%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚, Ð° Ñ†ÐµÐ»ÑŒ Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚"
-
-#: libbfd.c:1043
+#: libbfd.c:963
 #, c-format
 msgid "Deprecated %s called at %s line %d in %s\n"
 msgstr "Ð’Ñ‹Ð·Ð²Ð°Ð½ Ð½ÐµÑ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÐµÐ¼Ñ‹Ð¹ %s Ñ€Ñ�Ð´Ð¾Ð¼ Ñ� %s Ð² Ñ�Ñ‚Ñ€Ð¾ÐºÐµ %d Ð² %s\n"
 
-#: libbfd.c:1046
+#: libbfd.c:966
 #, c-format
 msgid "Deprecated %s called\n"
 msgstr "Ð’Ñ‹Ð·Ð²Ð°Ð½ Ð½ÐµÑ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÐµÐ¼Ñ‹Ð¹ %s\n"
 
-#: linker.c:1872
+#: linker.c:1678
+#, c-format
 msgid "%B: indirect symbol `%s' to `%s' is a loop"
 msgstr "%B: ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ðº Â«%sÂ» Ñ�Ð¾Ð·Ð´Ð°Ñ‘Ñ‚ Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ðµ"
 
-#: linker.c:2736
+#: linker.c:2548
 #, c-format
 msgid "Attempt to do relocatable link with %s input and %s output"
 msgstr "ÐŸÐ¾Ð¿Ñ‹Ñ‚ÐºÐ° Ñ�Ð´ÐµÐ»Ð°Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼ÑƒÑŽ Ñ�Ñ�Ñ‹Ð»ÐºÑƒ Ñ� Ð²Ñ…Ð¾Ð´Ð¾Ð¼ %s Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ð¾Ð¼ %s"
 
-#: linker.c:3021
+#: linker.c:2834
+#, c-format
 msgid "%B: ignoring duplicate section `%A'\n"
 msgstr "%B: Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ»\n"
 
-#: linker.c:3030 linker.c:3039
+#: linker.c:2844 linker.c:2854
+#, c-format
 msgid "%B: duplicate section `%A' has different size\n"
 msgstr "%B: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€\n"
 
-#: linker.c:3047 linker.c:3052
+#: linker.c:2863 linker.c:2869
+#, c-format
 msgid "%B: could not read contents of section `%A'\n"
 msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Â«%AÂ»\n"
 
-#: linker.c:3056
+#: linker.c:2874
+#, c-format
 msgid "%B: duplicate section `%A' has different contents\n"
 msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ\n"
 
-#: mach-o.c:407
+#: linker.c:3362
+msgid "%B: compiled for a big endian system and target is little endian"
+msgstr "%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹ Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚, Ð° Ñ†ÐµÐ»ÑŒ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚"
+
+#: linker.c:3365
+msgid "%B: compiled for a little endian system and target is big endian"
+msgstr "%B: Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚, Ð° Ñ†ÐµÐ»ÑŒ Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚"
+
+#: mach-o.c:779
 msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
 msgstr "bfd_mach_o_canonicalize_symtab: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ‹"
 
-#: mach-o.c:1301
-#, c-format
-msgid "unable to write unknown load command 0x%lx"
-msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½ÑƒÑŽ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ 0x%lx"
-
-#: mach-o.c:1789
-#, c-format
-msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
-msgstr "bfd_mach_o_read_symtab_symbol: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ %d Ð±Ð°Ð¹Ñ‚ Ð¸Ð· %lu"
+#: mach-o.c:1981
+msgid "sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands."
+msgstr "Ð˜Ð·Ð²Ð¸Ð½Ð¸Ñ‚Ðµ: modtab, toc Ð¸ extrefsyms Ð¿Ð¾ÐºÐ° Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ‹ Ð´Ð»Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´ dysymtab."
 
-#: mach-o.c:1807
+#: mach-o.c:2424
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"
-msgstr "bfd_mach_o_read_symtab_symbol: Ð¸Ð¼Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (%lu >= %lu)"
+msgid "mach-o: there are too many sections (%u) maximum is 255,\n"
+msgstr "mach-o: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² (%u), Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ‹Ñ‚ÑŒ Ð½Ðµ Ð±Ð¾Ð»ÐµÐµ 255,\n"
 
-#: mach-o.c:1892
+#: mach-o.c:2531
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %d (Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ %lu): Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ° Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°"
+msgid "unable to allocate data for load command %#x"
+msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð´Ð»Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ %#x"
 
-#: mach-o.c:1900
+#: mach-o.c:2636
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð¹ Â«Ð½ÐµÑ�Ð²Ð½Ð¾Ð¹Â» Ñ�Ñ�Ñ‹Ð»ÐºÐ¾Ð¹: Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ° Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°"
+msgid "unable to write unknown load command %#x"
+msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚ÑŒ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½ÑƒÑŽ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ %#x"
 
-#: mach-o.c:1906
+#: mach-o.c:2820
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ð¾Ð»Ñ� 0x%x: Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ° Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°"
-
-#: mach-o.c:1979
-msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
-msgstr "bfd_mach_o_read_symtab_symbols: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²"
+msgid "section address (%#Lx) below start of segment (%#Lx)"
+msgstr "Ð°Ð´Ñ€ÐµÑ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° (%#Lx) Ð¼ÐµÐ½ÑŒÑˆÐµ Ð½Ð°Ñ‡Ð°Ð»Ð° Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° (%#Lx)"
 
-#: mach-o.c:2014
+#: mach-o.c:2961
 #, c-format
-msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
-msgstr "bfd_mach_o_read_dysymtab_symbol: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ %lu Ð±Ð°Ð¹Ñ‚ Ð¸Ð· %lu"
+msgid "unable to layout unknown load command %#x"
+msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½ÑƒÑŽ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ %#x"
 
-#: mach-o.c:2734
+#: mach-o.c:3497
 #, c-format
-msgid "unable to read unknown load command 0x%lx"
-msgstr "Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½ÑƒÑŽ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ 0x%lx"
+msgid "bfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 instead"
+msgstr "bfd_mach_o_read_section_32: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ�: %#lx, Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� 32"
 
-#: mach-o.c:2915
+#: mach-o.c:3540
 #, c-format
-msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
-msgstr "bfd_mach_o_scan: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° 0x%lx/0x%lx"
+msgid "bfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 instead"
+msgstr "bfd_mach_o_read_section_64: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ�: %#lx, Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚Ñ�Ñ� 32"
 
-#: mach-o.c:3011
+#: mach-o.c:3591
 #, c-format
-msgid "unknown header byte-order value 0x%lx"
-msgstr "Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ° Ð±Ð°Ð¹Ñ‚ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ 0x%lx"
+msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %u"
+msgstr "bfd_mach_o_read_symtab_symbol: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ %d Ð±Ð°Ð¹Ñ‚ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ %u"
 
-#: mach-o.c:3577
-msgid "Mach-O header:\n"
-msgstr "Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Mach-O:\n"
-
-#: mach-o.c:3578
+#: mach-o.c:3610
 #, c-format
-msgid " magic     : %08lx\n"
-msgstr " Ð¾Ñ‚Ð».Ð¿Ñ€Ð¸Ð·Ð½ : %08lx\n"
+msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)"
+msgstr "bfd_mach_o_read_symtab_symbol: Ð¸Ð¼Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (%lu >= %u)"
 
-#: mach-o.c:3579
+#: mach-o.c:3693
 #, c-format
-msgid " cputype   : %08lx (%s)\n"
-msgstr " Ñ‚Ð¸Ð¿ Ð¦ÐŸ    : %08lx (%s)\n"
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
+msgstr "bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» %d (Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ %lu): Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ° Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°"
 
-#: mach-o.c:3581
+#: mach-o.c:3712
 #, c-format
-msgid " cpusubtype: %08lx\n"
-msgstr " Ð¿Ð¾Ð´Ñ‚Ð¸Ð¿ Ð¦ÐŸ : %08lx\n"
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
+msgstr "bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ð¾Ð»Ñ� 0x%x: Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ° Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°"
 
-#: mach-o.c:3582
-#, c-format
-msgid " filetype  : %08lx (%s)\n"
-msgstr " Ñ‚Ð¸Ð¿ Ñ„Ð°Ð¹Ð»Ð° : %08lx (%s)\n"
+#: mach-o.c:3789
+msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
+msgstr "bfd_mach_o_read_symtab_symbols: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð¿Ð°Ð¼Ñ�Ñ‚ÑŒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²"
 
-#: mach-o.c:3585
-#, c-format
-msgid " ncmds     : %08lx (%lu)\n"
-msgstr " Ñ‡_ÐºÐ¼Ð½Ð´    : %08lx (%lu)\n"
+#: mach-o.c:4762
+msgid "%B: unknown load command %#x"
+msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ %#x"
 
-#: mach-o.c:3586
+#: mach-o.c:4953
 #, c-format
-msgid " sizeofcmds: %08lx\n"
-msgstr " Ñ€Ð°Ð·Ð¼_ÐºÐ¼Ð½Ð´ : %08lx\n"
+msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
+msgstr "bfd_mach_o_scan: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° 0x%lx/0x%lx"
 
-#: mach-o.c:3587
+#: mach-o.c:5058
 #, c-format
-msgid " flags     : %08lx ("
-msgstr " Ñ„Ð»Ð°Ð³Ð¸     : %08lx ("
-
-#: mach-o.c:3589 vms-alpha.c:7674
-msgid ")\n"
-msgstr ")\n"
+msgid "unknown header byte-order value %#x"
+msgstr "Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ° Ð±Ð°Ð¹Ñ‚ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ %#x"
 
-#: mach-o.c:3590
+#: merge.c:868
 #, c-format
-msgid " reserved  : %08x\n"
-msgstr " Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð²  : %08x\n"
+msgid "%B: access beyond end of merged section (%Ld)"
+msgstr "%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð·Ð° ÐºÐ¾Ð½ÐµÑ† Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° (%Ld)"
 
-#: mach-o.c:3600
-msgid "Segments and Sections:\n"
-msgstr "Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ‹ Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹:\n"
-
-#: mach-o.c:3601
-msgid " #: Segment name     Section name     Address\n"
-msgstr ""
-" #: Segment name     Section name     Address\n"
-" #: Ð�Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ñ�ÐµÐ³Ð¼    Ð�Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð�Ð´Ñ€ÐµÑ�\n"
-
-#: merge.c:832
+#: mmo.c:468
 #, c-format
-msgid "%s: access beyond end of merged section (%ld)"
-msgstr "%s: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð·Ð° ÐºÐ¾Ð½ÐµÑ† Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° (%ld)"
+msgid "%B: No core to allocate section name %s\n"
+msgstr "%B: Ð�ÐµÑ‚ core Ð´Ð»Ñ� Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� Ð¸Ð¼ÐµÐ½Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s\n"
 
-#: mmo.c:456
+#: mmo.c:544
 #, c-format
-msgid "%s: No core to allocate section name %s\n"
-msgstr "%s: Ð�ÐµÑ‚ Ð¾Ñ�Ð½Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð´Ð»Ñ� Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� Ð¸Ð¼ÐµÐ½Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s\n"
+msgid "%B: No core to allocate a symbol %d bytes long\n"
+msgstr "%B: Ð�ÐµÑ‚ core Ð´Ð»Ñ� Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� %d Ð±Ð°Ð¹Ñ‚ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°\n"
 
-#: mmo.c:531
+#: mmo.c:958
 #, c-format
-msgid "%s: No core to allocate a symbol %d bytes long\n"
-msgstr "%s: Ð�ÐµÑ‚ Ð¾Ñ�Ð½Ð¾Ð²Ð°Ð½Ð¸Ñ� Ð´Ð»Ñ� Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ñ… %d Ð±Ð°Ð¹Ñ‚\n"
+msgid "%B: attempt to emit contents at non-multiple-of-4 address %#Lx"
+msgstr "%B: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° Ð²Ñ‹Ð¿ÑƒÑ�Ñ‚Ð¸Ñ‚ÑŒ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð½Ðµ ÐºÑ€Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ 4 (%#Lx)"
 
-#: mmo.c:1187
-#, c-format
-msgid "%s: invalid mmo file: initialization value for $255 is not `Main'\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� $255 Ð½Ðµ Ñ€Ð°Ð²Ð½Ð¾ Â«MainÂ»\n"
+#: mmo.c:1255
+msgid "%B: invalid mmo file: initialization value for $255 is not `Main'\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� $255 Ð½Ðµ Ñ€Ð°Ð²Ð½Ð¾ Â«MainÂ»\n"
 
-#: mmo.c:1332
+#: mmo.c:1402
 #, c-format
-msgid "%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
-msgstr "%s: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ� Ð¿Ð¾Ñ�Ð»ÐµÐ´Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñ�Ñ‚ÑŒ ÑˆÐ¸Ñ€Ð¾ÐºÐ¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² 0x%02X 0x%02X Ð¿Ð¾Ñ�Ð»Ðµ Ð¸Ð¼ÐµÐ½Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°, Ð½Ð°Ñ‡Ð¸Ð½Ð°ÑŽÑ‰ÐµÐ³Ð¾Ñ�Ñ� Ñ� Â«%sÂ»\n"
+msgid "%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
+msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ� Ð¿Ð¾Ñ�Ð»ÐµÐ´Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñ�Ñ‚ÑŒ ÑˆÐ¸Ñ€Ð¾ÐºÐ¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² 0x%02X 0x%02X Ð¿Ð¾Ñ�Ð»Ðµ Ð¸Ð¼ÐµÐ½Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ� Ñ� Â«%sÂ»\n"
 
-#: mmo.c:1565
+#: mmo.c:1636
 #, c-format
-msgid "%s: invalid mmo file: unsupported lopcode `%d'\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ lopcode Â«%dÂ»\n"
+msgid "%B: invalid mmo file: unsupported lopcode `%d'\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ lopcode Â«%dÂ»\n"
 
-#: mmo.c:1575
+#: mmo.c:1647
 #, c-format
-msgid "%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ YZ = 1, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ YZ = %d Ð´Ð»Ñ� lop_quote\n"
+msgid "%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_quote Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ YZ = 1, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ YZ = %d\n"
 
-#: mmo.c:1611
+#: mmo.c:1685
 #, c-format
-msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 1 Ð¸Ð»Ð¸ z = 2, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d Ð´Ð»Ñ� lop_loc\n"
+msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_loc Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 1 Ð¸Ð»Ð¸ z = 2, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d\n"
 
-#: mmo.c:1657
+#: mmo.c:1736
 #, c-format
-msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 1 Ð¸Ð»Ð¸ z = 2, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d Ð´Ð»Ñ� lop_fixo\n"
+msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_fixo Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 1 Ð¸Ð»Ð¸ z = 2, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d\n"
 
-#: mmo.c:1696
+#: mmo.c:1777
 #, c-format
-msgid "%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ y = 0, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ y = %d Ð´Ð»Ñ� lop_fixrx\n"
+msgid "%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_fixrx Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ y = 0, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ y = %d\n"
 
-#: mmo.c:1705
+#: mmo.c:1788
 #, c-format
-msgid "%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 16 Ð¸Ð»Ð¸ z = 24, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d Ð´Ð»Ñ� lop_fixrx\n"
+msgid "%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_fixrx Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ�ÑŒ z = 16 Ð¸Ð»Ð¸ z = 24, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ z = %d\n"
 
-#: mmo.c:1728
+#: mmo.c:1813
 #, c-format
-msgid "%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð±Ð°Ð¹Ñ‚ Ñ�Ð»Ð¾Ð²Ð° Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ‹Ñ‚ÑŒ Ñ€Ð°Ð²ÐµÐ½ 0 Ð¸Ð»Ð¸ 1, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ %d Ð´Ð»Ñ� lop_fixrx\n"
+msgid "%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð´Ð»Ñ� lop_fixrx Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð±Ð°Ð¹Ñ‚ Ñ�Ð»Ð¾Ð²Ð° Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ‹Ñ‚ÑŒ Ñ€Ð°Ð²ÐµÐ½ 0 Ð¸Ð»Ð¸ 1, Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¾ %d\n"
 
-#: mmo.c:1751
+#: mmo.c:1838
 #, c-format
-msgid "%s: cannot allocate file name for file number %d, %d bytes\n"
-msgstr "%s: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾ Ð´Ð»Ñ� Ð¸Ð¼ÐµÐ½Ð¸ Ñ„Ð°Ð¹Ð»Ð° Ðº Ñ„Ð°Ð¹Ð»Ñƒ Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d, %d Ð±Ð°Ð¹Ñ‚\n"
+msgid "%B: cannot allocate file name for file number %d, %d bytes\n"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Ð¼ÐµÑ�Ñ‚Ð¾ Ð´Ð»Ñ� Ð¸Ð¼ÐµÐ½Ð¸ Ñ„Ð°Ð¹Ð»Ð° Ñ„Ð°Ð¹Ð»Ñƒ Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d, %d Ð±Ð°Ð¹Ñ‚\n"
 
-#: mmo.c:1771
+#: mmo.c:1860
 #, c-format
-msgid "%s: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð° %d Â«%sÂ», Ð±Ñ‹Ð» ÑƒÐ¶Ðµ Ð²Ð²ÐµÐ´Ñ‘Ð½ ÐºÐ°Ðº Â«%sÂ»\n"
+msgid "%B: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð° %d Â«%sÂ» Ð±Ñ‹Ð» ÑƒÐ¶Ðµ Ð²Ð²ÐµÐ´Ñ‘Ð½ ÐºÐ°Ðº Â«%sÂ»\n"
 
-#: mmo.c:1784
+#: mmo.c:1874
 #, c-format
-msgid "%s: invalid mmo file: file name for number %d was not specified before use\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¸Ð¼Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° %d Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½Ð¾ Ð¿ÐµÑ€ÐµÐ´ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼\n"
+msgid "%B: invalid mmo file: file name for number %d was not specified before use\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¸Ð¼Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° %d Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½Ð¾ Ð¿ÐµÑ€ÐµÐ´ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼\n"
 
-#: mmo.c:1890
+#: mmo.c:1981
 #, c-format
-msgid "%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¿Ð¾Ð»Ñ� y Ð¸ z Ð² lop_stab Ð½Ðµ Ñ€Ð°Ð²Ð½Ñ‹ Ð½ÑƒÐ»ÑŽ, y: %d, z: %d\n"
+msgid "%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: Ð¿Ð¾Ð»Ñ� y Ð¸ z Ð² lop_stab Ð½Ðµ Ñ€Ð°Ð²Ð½Ñ‹ Ð½ÑƒÐ»ÑŽ, y: %d, z: %d\n"
 
-#: mmo.c:1926
+#: mmo.c:2018
 #, c-format
-msgid "%s: invalid mmo file: lop_end not last item in file\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: lop_end Ð½Ðµ Ð¿Ð¾Ñ�Ð»ÐµÐ´Ð½Ð¸Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð² Ñ„Ð°Ð¹Ð»Ðµ\n"
+msgid "%B: invalid mmo file: lop_end not last item in file\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: lop_end Ð½Ðµ Ð¿Ð¾Ñ�Ð»ÐµÐ´Ð½Ð¸Ð¹ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð² Ñ„Ð°Ð¹Ð»Ðµ\n"
 
-#: mmo.c:1939
+#: mmo.c:2032
 #, c-format
-msgid "%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: YZ Ð² lop_end (%ld) Ð½Ðµ Ñ€Ð°Ð²Ð½Ð¾ Ñ‡Ð¸Ñ�Ð»Ñƒ Ñ‚ÐµÑ‚Ñ€Ð°Ð´ Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ñ€Ð°Ð½ÐµÐµ lop_stab (%ld)\n"
+msgid "%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ mmo-Ñ„Ð°Ð¹Ð»: YZ Ð² lop_end (%ld) Ð½Ðµ Ñ€Ð°Ð²Ð½Ð¾ Ñ‡Ð¸Ñ�Ð»Ñƒ Ñ‚ÐµÑ‚Ñ€Ð°Ð´ Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ñ€Ð°Ð½ÐµÐµ lop_stab (%ld)\n"
 
-#: mmo.c:2649
+#: mmo.c:2743
 #, c-format
-msgid "%s: invalid symbol table: duplicate symbol `%s'\n"
-msgstr "%s: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»\n"
+msgid "%B: invalid symbol table: duplicate symbol `%s'\n"
+msgstr "%B: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»\n"
 
-#: mmo.c:2889
+#: mmo.c:2986
 #, c-format
-msgid "%s: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
-msgstr "%s: Ð�ÐµÐ²ÐµÑ€Ð½Ð¾Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: Â«MainÂ» ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð° Ð² %s, Ð° Ð½Ðµ Ð² Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� %s\n"
+msgid "%B: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
+msgstr "%B: Ð½ÐµÐ²ÐµÑ€Ð½Ð¾Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°: Â«MainÂ» Ñ€Ð°Ð²ÐµÐ½ %s, Ð° Ð½Ðµ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ %s\n"
 
-#: mmo.c:2981
+#: mmo.c:3085
 #, c-format
-msgid "%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.\n"
-msgstr "%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ� Ð´Ð»Ñ� mmo, Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ‡ÐµÐ¼ 65535 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ�Ð»Ð¾Ð²: %d. Ð‘ÑƒÐ´ÐµÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Â«MainÂ».\n"
+msgid "%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.\n"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ� Ð´Ð»Ñ� mmo, Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ‡ÐµÐ¼ 65535 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ�Ð»Ð¾Ð²: %d. Ð‘ÑƒÐ´ÐµÑ‚ Ð²Ñ‹Ð´Ð°Ð½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Â«MainÂ».\n"
 
-#: mmo.c:3026
+#: mmo.c:3131
 #, c-format
-msgid "%s: internal error, symbol table changed size from %d to %d words\n"
-msgstr "%s: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°, Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ñ�Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ� %d Ñ�Ð»Ð¾Ð² Ð´Ð¾ %d\n"
+msgid "%B: internal error, symbol table changed size from %d to %d words\n"
+msgstr "%B: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°, Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ñ�Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ� %d Ñ�Ð»Ð¾Ð² Ð´Ð¾ %d\n"
 
-#: mmo.c:3078
+#: mmo.c:3184
 #, c-format
-msgid "%s: internal error, internal register section %s had contents\n"
-msgstr "%s: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°, Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð² %s Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð´Ð°Ð½Ð½Ñ‹Ðµ\n"
+msgid "%B: internal error, internal register section %A had contents\n"
+msgstr "%B: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ñ�Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ°, Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð² %A Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð´Ð°Ð½Ð½Ñ‹Ðµ\n"
 
-#: mmo.c:3129
-#, c-format
-msgid "%s: no initialized registers; section length 0\n"
-msgstr "%s:Ð½ÐµÑ‚ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²; Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ€Ð°Ð²Ð½Ð° 0\n"
+#: mmo.c:3235
+msgid "%B: no initialized registers; section length 0\n"
+msgstr "%B:Ð½ÐµÑ‚ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²; Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ€Ð°Ð²Ð½Ð° 0\n"
 
-#: mmo.c:3135
+#: mmo.c:3242
 #, c-format
-msgid "%s: too many initialized registers; section length %ld\n"
-msgstr "%s: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²; Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ€Ð°Ð²Ð½Ð° %ld\n"
+msgid "%B: too many initialized registers; section length %Ld"
+msgstr "%B: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð²; Ð´Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ€Ð°Ð²Ð½Ð° %Ld"
 
-#: mmo.c:3140
+#: mmo.c:3247
 #, c-format
-msgid "%s: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n"
-msgstr "%s: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð´Ð»Ñ� Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð² Ð´Ð»Ð¸Ð½Ñ‹ %ld: 0x%lx%08lx\n"
+msgid "%B: invalid start address for initialized registers of length %Ld: %#Lx"
+msgstr "%B: Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð´Ð»Ñ� Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð¾Ð² Ð´Ð»Ð¸Ð½Ñ‹ %Ld: %#Lx"
 
-#: oasys.c:882
+#: oasys.c:881
 #, c-format
-msgid "%s: can not represent section `%s' in oasys"
-msgstr "%s: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð² oasys"
+msgid "%B: can not represent section `%A' in oasys"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» Ð² oasys"
 
-#: osf-core.c:140
+#: osf-core.c:127
 #, c-format
 msgid "Unhandled OSF/1 core file section type %d\n"
 msgstr "Ð�ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» Ñ�Ð´Ñ€Ð° OSF/1 Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ñ� Ñ‚Ð¸Ð¿Ð¾Ð¼ %d\n"
 
-#: pe-mips.c:607
+#: pe-mips.c:609
 msgid "%B: `ld -r' not supported with PE MIPS objects\n"
 msgstr "%B: Â«ld -rÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ñ� Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸ PE MIPS\n"
 
@@ -3663,73 +5704,122 @@ msgstr "%B: Â«ld -rÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð
 #. src = VMA of the memory we're fixing up
 #. mem = pointer to memory we're fixing up
 #. val = VMA of what we need to refer to.
-#: pe-mips.c:719
+#: pe-mips.c:720
+#, c-format
 msgid "%B: unimplemented %s\n"
 msgstr "%B: Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾ %s\n"
 
-#: pe-mips.c:745
+#: pe-mips.c:746
 msgid "%B: jump too far away\n"
 msgstr "%B: Ñ‚Ð¾Ñ‡ÐºÐ° Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð° Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð°Ð»ÐµÐºÐ¾\n"
 
-#: pe-mips.c:771
+#: pe-mips.c:772
 msgid "%B: bad pair/reflo after refhi\n"
 msgstr "%B: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ� pair/reflo Ð¿Ð¾Ñ�Ð»Ðµ refhi\n"
 
-#: pef.c:520
+#: pef.c:526
 #, c-format
 msgid "bfd_pef_scan: unknown architecture 0x%lx"
 msgstr "bfd_pef_scan: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° 0x%lx"
 
-#: pei-x86_64.c:444
+#. PR 17512: file: 2245-7442-0.004.
+#: pei-x86_64.c:281
+#, c-format
+msgid "Unknown: %x"
+msgstr "Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾: %x"
+
+#: pei-x86_64.c:331
+#, c-format
+msgid "warning: xdata section corrupt\n"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» xdata\n"
+
+#: pei-x86_64.c:341
+#, c-format
+msgid "warning: xdata section corrupt"
+msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» xdata"
+
+#: pei-x86_64.c:401
 #, c-format
-msgid "warning: .pdata section size (%ld) is not a multiple of %d\n"
-msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .pdata (%ld) Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ %d\n"
+msgid "Too many unwind codes (%ld)\n"
+msgstr "Ð¡Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ñ�ÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° (%ld)\n"
 
-#: pei-x86_64.c:448 peigen.c:1618 peigen.c:1801 pepigen.c:1618 pepigen.c:1801
-#: pex64igen.c:1618 pex64igen.c:1801
+#: pei-x86_64.c:491
+#, c-format
+msgid "Warning: %s section size (%ld) is not a multiple of %d\n"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s (%ld) Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ %d\n"
+
+#: pei-x86_64.c:498
+#, c-format
+msgid "Warning: %s section size is zero\n"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s Ñ€Ð°Ð²ÐµÐ½ Ð½ÑƒÐ»ÑŽ\n"
+
+#: pei-x86_64.c:513
+#, c-format
+msgid "Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"
+msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s (%ld) Ð¼ÐµÐ½ÑŒÑˆÐµ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° (%ld)\n"
+
+#: pei-x86_64.c:522
 #, c-format
 msgid ""
 "\n"
-"The Function Table (interpreted .pdata section contents)\n"
+"The Function Table (interpreted %s section contents)\n"
 msgstr ""
 "\n"
-"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ (Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» .pdata)\n"
+"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ (Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð¾ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s)\n"
 
-#: pei-x86_64.c:450
+#: pei-x86_64.c:525
 #, c-format
 msgid "vma:\t\t\tBeginAddress\t EndAddress\t  UnwindData\n"
 msgstr "vma:\t\t\tÐ�Ð°Ñ‡ Ð°Ð´Ñ€ÐµÑ�   \t  ÐšÐ¾Ð½ Ð°Ð´Ñ€ÐµÑ�\t   Ð Ð°Ñ�ÐºÑ€ Ð´Ð°Ð½Ð½Ñ‹Ðµ\n"
 
+#: pei-x86_64.c:654
+#, c-format
+msgid ""
+"\n"
+"Dump of %s\n"
+msgstr ""
+"\n"
+"Ð”Ð°Ð¼Ð¿ %s\n"
+
 #. XXX code yet to be written.
-#: peicode.h:751
+#: peicode.h:775
+#, c-format
 msgid "%B: Unhandled import type; %x"
 msgstr "%B: Ð�ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°; %x"
 
-#: peicode.h:756
+#: peicode.h:781
+#, c-format
 msgid "%B: Unrecognised import type; %x"
 msgstr "%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°; %x"
 
-#: peicode.h:770
+#: peicode.h:796
+#, c-format
 msgid "%B: Unrecognised import name type; %x"
 msgstr "%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð¸Ð¼ÐµÐ½Ð½Ð¾Ð¹ Ñ‚Ð¸Ð¿ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°; %x"
 
-#: peicode.h:1166
+#: peicode.h:1217
+#, c-format
 msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
 msgstr "%B: Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ (0x%x) Ð² Ð°Ñ€Ñ…Ð¸Ð²Ðµ Import Library Format"
 
-#: peicode.h:1178
+#: peicode.h:1230
+#, c-format
 msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive"
 msgstr "%B: Ð Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½, Ð½Ð¾ Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ (0x%x) Ð² Ð°Ñ€Ñ…Ð¸Ð²Ðµ Import Library Format"
 
-#: peicode.h:1196
+#: peicode.h:1248
 msgid "%B: size field is zero in Import Library Format header"
 msgstr "%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð¿Ð¾Ð»Ñ� Ñ€Ð°Ð²ÐµÐ½ Ð½ÑƒÐ»ÑŽ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Import Library Format"
 
-#: peicode.h:1227
+#: peicode.h:1280
 msgid "%B: string not null terminated in ILF object file."
 msgstr "%B: Ñ�Ñ‚Ñ€Ð¾ÐºÐ° Ð½Ðµ Ð·Ð°ÐºÐ°Ð½Ñ‡Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ� Ð½ÑƒÐ»Ñ‘Ð¼ Ð² Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¼ Ñ„Ð°Ð¹Ð»Ðµ ILF."
 
-#: ppcboot.c:414
+#: peicode.h:1335
+msgid "%B: Error: Debug Data ends beyond end of debug directory."
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: ÐºÐ¾Ð½ÐµÑ† Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð·Ð° Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸ÐµÐ¼ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°."
+
+#: ppcboot.c:393
 #, c-format
 msgid ""
 "\n"
@@ -3738,27 +5828,27 @@ msgstr ""
 "\n"
 "Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº ppcboot:\n"
 
-#: ppcboot.c:415
+#: ppcboot.c:394
 #, c-format
 msgid "Entry offset        = 0x%.8lx (%ld)\n"
 msgstr "Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ  = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:417
+#: ppcboot.c:396
 #, c-format
 msgid "Length              = 0x%.8lx (%ld)\n"
 msgstr "Ð”Ð»Ð¸Ð½Ð°               = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:421
+#: ppcboot.c:400
 #, c-format
 msgid "Flag field          = 0x%.2x\n"
 msgstr "ÐŸÐ¾Ð»Ðµ Ñ„Ð»Ð°Ð³Ð¾Ð²         = 0x%.2x\n"
 
-#: ppcboot.c:427
+#: ppcboot.c:406
 #, c-format
 msgid "Partition name      = \"%s\"\n"
 msgstr "Ð˜Ð¼Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð°         = \"%s\"\n"
 
-#: ppcboot.c:446
+#: ppcboot.c:426
 #, c-format
 msgid ""
 "\n"
@@ -3767,31 +5857,56 @@ msgstr ""
 "\n"
 "Ð�Ð°Ñ‡Ð°Ð»Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°[%d]  = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 
-#: ppcboot.c:452
+#: ppcboot.c:433
 #, c-format
 msgid "Partition[%d] end    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 msgstr "ÐšÐ¾Ð½ÐµÑ† Ñ€Ð°Ð·Ð´ÐµÐ»Ð°[%d]   = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 
-#: ppcboot.c:458
+#: ppcboot.c:440
 #, c-format
 msgid "Partition[%d] sector = 0x%.8lx (%ld)\n"
 msgstr "Ð¡ÐµÐºÑ‚Ð¾Ñ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°[%d]  = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:460
+#: ppcboot.c:444
 #, c-format
 msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
 msgstr "Ð”Ð»Ð¸Ð½Ð° Ñ€Ð°Ð·Ð´ÐµÐ»Ð°[%d]   = 0x%.8lx (%ld)\n"
 
-#: reloc.c:6160
+#: reloc.c:8106
 msgid "INPUT_SECTION_FLAGS are not supported.\n"
 msgstr "INPUT_SECTION_FLAGS Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�.\n"
 
-#: rs6000-core.c:448
+#: reloc.c:8207
+#, c-format
+msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n"
+msgstr "%X%P: %B(%A): Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Ð´Ð»Ñ� Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %V\n"
+
+#: reloc.c:8283
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n"
+msgstr "%X%P: %B(%A): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%RÂ» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�\n"
+
+#: reloc.c:8292
 #, c-format
-msgid "%s: warning core file truncated"
-msgstr "%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ„Ð°Ð¹Ð» core ÑƒÑ�ÐµÑ‡Ñ‘Ð½"
+msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"
+msgstr "%X%P: %B(%A): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Â«%RÂ» Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð¸Ð»Ð¾ Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ %x\n"
 
-#: som.c:5471
+#: reloc.c:8354
+#, c-format
+msgid "%B: unrecognized relocation (%#x) in section `%A'"
+msgstr "%B: Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%#x) Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»"
+
+#. PR 21803: Suggest the most likely cause of this error.
+#: reloc.c:8358
+#, c-format
+msgid "Is this version of the linker - %s - out of date ?"
+msgstr "Ð”Ð°Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ° â€” %s â€” ÑƒÑ�Ñ‚Ð°Ñ€ÐµÐ»Ð°?"
+
+#: rs6000-core.c:471
+msgid "%B: warning core file truncated"
+msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ñ„Ð°Ð¹Ð» core ÑƒÑ�ÐµÑ‡Ñ‘Ð½"
+
+#: som.c:5478
 #, c-format
 msgid ""
 "\n"
@@ -3800,52 +5915,97 @@ msgstr ""
 "\n"
 "Ð’Ñ�Ð¿Ð¾Ð¼Ð¾Ð³Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Exec\n"
 
-#: som.c:5776
+#: som.c:5787
 msgid "som_sizeof_headers unimplemented"
 msgstr "som_sizeof_headers Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½"
 
-#: srec.c:261
+#: srec.c:260
+#, c-format
 msgid "%B:%d: Unexpected character `%s' in S-record file\n"
 msgstr "%B:%d: Ð�ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð² Ñ„Ð°Ð¹Ð»Ðµ S-record\n"
 
-#: srec.c:567 srec.c:600
+#: srec.c:488
+#, c-format
+msgid "%B:%d: byte count %d too small\n"
+msgstr "%B:%d: Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð±Ð°Ð¹Ñ‚ %d Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»\n"
+
+#: srec.c:581 srec.c:615
+#, c-format
 msgid "%B:%d: Bad checksum in S-record file\n"
 msgstr "%B:%d: Ð�ÐµÐ²ÐµÑ€Ð½Ð°Ñ� ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ� Ñ�ÑƒÐ¼Ð¼Ð° Ð² Ñ„Ð°Ð¹Ð»Ðµ S-record\n"
 
 #: stabs.c:279
-msgid "%B(%A+0x%lx): Stabs entry has invalid string index."
-msgstr "%B(%A+0x%lx): Ð­Ð»ÐµÐ¼ÐµÐ½Ñ‚ Stabs Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸."
+#, c-format
+msgid "%B(%A+%#lx): Stabs entry has invalid string index."
+msgstr "%B(%A+%#lx): Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Stabs Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸."
 
 #: syms.c:1079
 msgid "Unsupported .stab relocation"
 msgstr "Ð�ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ .stab"
 
-#: vms-alpha.c:1299
+#: vms-alpha.c:479
+msgid "Corrupt EIHD record - size is too small"
+msgstr "Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EIHD Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð° â€” Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»"
+
+#: vms-alpha.c:660
+#, c-format
+msgid "Unable to read EIHS record at offset %#x"
+msgstr "Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�ÑŒ EIHS Ð¿Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ %#x"
+
+#: vms-alpha.c:1172
+#, c-format
+msgid "Corrupt EGSD record: its size (%#x) is too small"
+msgstr "Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EGSD Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð°: ÐµÑ‘ Ñ€Ð°Ð·Ð¼ÐµÑ€ (%#x) Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»"
+
+#: vms-alpha.c:1196
+#, c-format
+msgid "Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
+msgstr "Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EGSD Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð°: Ñ€Ð°Ð·Ð¼ÐµÑ€ (%#x) Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¾Ñ�Ñ‚Ð°Ð²ÑˆÐµÐ³Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð° (%#x)"
+
+#: vms-alpha.c:1204
+#, c-format
+msgid "Corrupt EGSD record: size (%#x) is too small"
+msgstr "Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EGSD Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð°: Ñ€Ð°Ð·Ð¼ÐµÑ€ (%#x) Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»"
+
+#: vms-alpha.c:1333 vms-alpha.c:1349 vms-alpha.c:1389
+#, c-format
+msgid "Corrupt EGSD record: its psindx field is too big (%#lx)"
+msgstr "Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EGSD Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð°: ÐµÑ‘ Ð¿Ð¾Ð»Ðµ psindx Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð²ÐµÐ»Ð¸ÐºÐ¾ (%#lx)"
+
+#: vms-alpha.c:1418
 #, c-format
 msgid "Unknown EGSD subtype %d"
 msgstr "Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ð¿Ð¾Ð´Ñ‚Ð¸Ð¿ EGSD %d"
 
-#: vms-alpha.c:1330
+#: vms-alpha.c:1451
 #, c-format
 msgid "Stack overflow (%d) in _bfd_vms_push"
 msgstr "ÐŸÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñ�Ñ‚ÐµÐºÐ° (%d) Ð² _bfd_vms_push"
 
-#: vms-alpha.c:1343
+#: vms-alpha.c:1464
 msgid "Stack underflow in _bfd_vms_pop"
 msgstr "Ð’Ñ‹Ñ…Ð¾Ð´ Ð·Ð° Ð½Ð¸Ð¶Ð½ÑŽÑŽ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñƒ Ñ�Ñ‚ÐµÐºÐ° Ð² _bfd_vms_pop"
 
 #. These names have not yet been added to this switch statement.
-#: vms-alpha.c:1580
+#: vms-alpha.c:1706
 #, c-format
 msgid "unknown ETIR command %d"
 msgstr "Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� ETIR ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %d"
 
-#: vms-alpha.c:1767
+#: vms-alpha.c:1737
+msgid "Corrupt vms value"
+msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ vms Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¾"
+
+#: vms-alpha.c:1865
+msgid "Corrupt ETIR record encountered"
+msgstr "ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð° Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ð°Ñ� Ð·Ð°Ð¿Ð¸Ñ�ÑŒ ETIR"
+
+#: vms-alpha.c:1922
 #, c-format
 msgid "bad section index in %s"
 msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð² %s"
 
-#: vms-alpha.c:1780
+#: vms-alpha.c:1935
 #, c-format
 msgid "unsupported STA cmd %s"
 msgstr "Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ STA cmd %s"
@@ -3855,1393 +6015,1497 @@ msgstr "Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹
 #. Rotate.
 #. Redefine symbol to current location.
 #. Define a literal.
-#: vms-alpha.c:1956 vms-alpha.c:1987 vms-alpha.c:2234
+#: vms-alpha.c:2115 vms-alpha.c:2146 vms-alpha.c:2237 vms-alpha.c:2395
 #, c-format
 msgid "%s: not supported"
 msgstr "%s: Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�"
 
-#: vms-alpha.c:1962
+#: vms-alpha.c:2121
 #, c-format
 msgid "%s: not implemented"
 msgstr "%s: Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾"
 
-#: vms-alpha.c:2218
+#: vms-alpha.c:2379
 #, c-format
 msgid "invalid use of %s with contexts"
 msgstr "Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ %s Ñ� ÐºÐ¾Ð½Ñ‚ÐµÐºÑ�Ñ‚Ð°Ð¼Ð¸"
 
-#: vms-alpha.c:2252
+#: vms-alpha.c:2413
 #, c-format
 msgid "reserved cmd %d"
 msgstr "Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¹ cmd %d"
 
-#: vms-alpha.c:2337
+#: vms-alpha.c:2497
+msgid "Corrupt EEOM record - size is too small"
+msgstr "Ð—Ð°Ð¿Ð¸Ñ�ÑŒ EEOM Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð° â€” Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»"
+
+#: vms-alpha.c:2506
 msgid "Object module NOT error-free !\n"
 msgstr "ÐžÐ±ÑŠÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ð�Ð• error-free !\n"
 
-#: vms-alpha.c:2766
-#, c-format
-msgid "Symbol %s replaced by %s\n"
-msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» %s Ð·Ð°Ð¼ÐµÐ½Ñ‘Ð½ Ð½Ð° %s\n"
-
-#: vms-alpha.c:3769
+#: vms-alpha.c:3830
 #, c-format
-msgid "SEC_RELOC with no relocs in section %s"
-msgstr "SEC_RELOC Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %s"
+msgid "SEC_RELOC with no relocs in section %A"
+msgstr "SEC_RELOC Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %A"
 
-#: vms-alpha.c:3822 vms-alpha.c:4049
+#: vms-alpha.c:3882 vms-alpha.c:4095
 #, c-format
-msgid "Size error in section %s"
-msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %s"
+msgid "Size error in section %A"
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %A"
 
-#: vms-alpha.c:3991
+#: vms-alpha.c:4041
 msgid "Spurious ALPHA_R_BSR reloc"
 msgstr "Ð�ÐµÑ‚Ð¸Ð¿Ð¸Ñ‡Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ALPHA_R_BSR"
 
-#: vms-alpha.c:4036
+#: vms-alpha.c:4082
 #, c-format
 msgid "Unhandled relocation %s"
 msgstr "Ð�ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s"
 
-#: vms-alpha.c:4326
+#: vms-alpha.c:4375
 #, c-format
 msgid "unknown source command %d"
 msgstr "Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ð¸Ñ�Ñ…Ð¾Ð´Ð½Ð°Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %d"
 
-#: vms-alpha.c:4387
+#: vms-alpha.c:4436
 msgid "DST__K_SET_LINUM_INCR not implemented"
 msgstr "DST__K_SET_LINUM_INCR Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½"
 
-#: vms-alpha.c:4393
+#: vms-alpha.c:4442
 msgid "DST__K_SET_LINUM_INCR_W not implemented"
 msgstr "DST__K_SET_LINUM_INCR_W Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½"
 
-#: vms-alpha.c:4399
+#: vms-alpha.c:4448
 msgid "DST__K_RESET_LINUM_INCR not implemented"
 msgstr "DST__K_RESET_LINUM_INCR Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½"
 
-#: vms-alpha.c:4405
+#: vms-alpha.c:4454
 msgid "DST__K_BEG_STMT_MODE not implemented"
 msgstr "DST__K_BEG_STMT_MODE Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½"
 
-#: vms-alpha.c:4411
+#: vms-alpha.c:4460
 msgid "DST__K_END_STMT_MODE not implemented"
 msgstr "DST__K_END_STMT_MODE Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½"
 
-#: vms-alpha.c:4438
+#: vms-alpha.c:4487
 msgid "DST__K_SET_PC not implemented"
 msgstr "DST__K_SET_PC Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½"
 
-#: vms-alpha.c:4444
+#: vms-alpha.c:4493
 msgid "DST__K_SET_PC_W not implemented"
 msgstr "DST__K_SET_PC_W Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½"
 
-#: vms-alpha.c:4450
+#: vms-alpha.c:4499
 msgid "DST__K_SET_PC_L not implemented"
 msgstr "DST__K_SET_PC_L Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½"
 
-#: vms-alpha.c:4456
+#: vms-alpha.c:4505
 msgid "DST__K_SET_STMTNUM not implemented"
 msgstr "DST__K_SET_STMTNUM Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½"
 
-#: vms-alpha.c:4499
+#: vms-alpha.c:4548
 #, c-format
 msgid "unknown line command %d"
 msgstr "Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ %d"
 
-#: vms-alpha.c:4953 vms-alpha.c:4970 vms-alpha.c:4984 vms-alpha.c:4999
-#: vms-alpha.c:5011 vms-alpha.c:5022 vms-alpha.c:5034
+#: vms-alpha.c:5008 vms-alpha.c:5026 vms-alpha.c:5041 vms-alpha.c:5057
+#: vms-alpha.c:5070 vms-alpha.c:5082 vms-alpha.c:5095
 #, c-format
 msgid "Unknown reloc %s + %s"
 msgstr "Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s + %s"
 
-#: vms-alpha.c:5089
+#: vms-alpha.c:5150
 #, c-format
 msgid "Unknown reloc %s"
 msgstr "Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s"
 
-#: vms-alpha.c:5102
+#: vms-alpha.c:5163
 msgid "Invalid section index in ETIR"
 msgstr "Ð�ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð² ETIR"
 
-#: vms-alpha.c:5109
+#: vms-alpha.c:5172
 msgid "Relocation for non-REL psect"
 msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð½Ðµ-REL psect"
 
-#: vms-alpha.c:5156
+#: vms-alpha.c:5219
 #, c-format
 msgid "Unknown symbol in command %s"
 msgstr "Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð² ÐºÐ¾Ð¼Ð°Ð½Ð´Ðµ %s"
 
-#: vms-alpha.c:5671
+#: vms-alpha.c:5629
+#, c-format
+msgid "reloc (%d) is *UNKNOWN*"
+msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ (%d) *Ð�Ð•Ð˜Ð—Ð’Ð•Ð¡Ð¢Ð�Ðž*"
+
+#: vms-alpha.c:5745
 #, c-format
 msgid "  EMH %u (len=%u): "
 msgstr "  EMH %u (len=%u): "
 
-#: vms-alpha.c:5680
+#: vms-alpha.c:5750
+#, c-format
+msgid "   Error: The length is less than the length of an EMH record\n"
+msgstr "   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ð¸Ð½Ð° Ð¼ÐµÐ½ÑŒÑˆÐµ Ð´Ð»Ð¸Ð½Ñ‹ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ EMH\n"
+
+#: vms-alpha.c:5767
+#, c-format
+msgid "   Error: The record length is less than the size of an EMH_MHD record\n"
+msgstr "   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ Ð¼ÐµÐ½ÑŒÑˆÐµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð·Ð°Ð¿Ð¸Ñ�Ð¸ EMH_MHD\n"
+
+#: vms-alpha.c:5770
 #, c-format
 msgid "Module header\n"
 msgstr "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¼Ð¾Ð´ÑƒÐ»Ñ�\n"
 
-#: vms-alpha.c:5681
+#: vms-alpha.c:5771
 #, c-format
 msgid "   structure level: %u\n"
 msgstr "   ÑƒÑ€Ð¾Ð²ÐµÐ½ÑŒ Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€Ñ‹  : %u\n"
 
-#: vms-alpha.c:5682
+#: vms-alpha.c:5772
 #, c-format
 msgid "   max record size: %u\n"
 msgstr "   Ð¼Ð°ÐºÑ�. Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð·Ð°Ð¿Ð¸Ñ�Ð¸: %u\n"
 
-#: vms-alpha.c:5685
+#: vms-alpha.c:5778
+#, c-format
+msgid "   Error: The module name is missing\n"
+msgstr "   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð¸Ð¼Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�\n"
+
+#: vms-alpha.c:5784
+#, c-format
+msgid "   Error: The module name is too long\n"
+msgstr "   ÐžÑˆÐ¸Ð±ÐºÐ°: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ Ð¸Ð¼Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�\n"
+
+#: vms-alpha.c:5787
 #, c-format
 msgid "   module name    : %.*s\n"
 msgstr "   Ð¸Ð¼Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�         : %.*s\n"
 
-#: vms-alpha.c:5687
+#: vms-alpha.c:5791
+#, c-format
+msgid "   Error: The module version is missing\n"
+msgstr "   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ Ð²ÐµÑ€Ñ�Ð¸Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�\n"
+
+#: vms-alpha.c:5797
+#, c-format
+msgid "   Error: The module version is too long\n"
+msgstr "   ÐžÑˆÐ¸Ð±ÐºÐ°: Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð»Ð¸Ð½Ð½Ð°Ñ� Ð²ÐµÑ€Ñ�Ð¸Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�\n"
+
+#: vms-alpha.c:5800
 #, c-format
 msgid "   module version : %.*s\n"
 msgstr "   Ð²ÐµÑ€Ñ�Ð¸Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�      : %.*s\n"
 
-#: vms-alpha.c:5689
+#: vms-alpha.c:5803
+#, c-format
+msgid "   Error: The compile date is truncated\n"
+msgstr "   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¾Ð±Ñ€ÐµÐ·Ð°Ð½Ð° Ð´Ð°Ñ‚Ð° ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñ�Ñ†Ð¸Ð¸\n"
+
+#: vms-alpha.c:5805
 #, c-format
 msgid "   compile date   : %.17s\n"
 msgstr "   Ð´Ð°Ñ‚Ð° ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñ�Ñ†Ð¸Ð¸    : %.17s\n"
 
-#: vms-alpha.c:5694
+#: vms-alpha.c:5810
 #, c-format
 msgid "Language Processor Name\n"
 msgstr "Ð�Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€Ð½Ð¾Ð³Ð¾ Ñ�Ð·Ñ‹ÐºÐ°\n"
 
-#: vms-alpha.c:5695
+#: vms-alpha.c:5811
 #, c-format
 msgid "   language name: %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ñ�Ð·Ñ‹ÐºÐ°     : %.*s\n"
 
-#: vms-alpha.c:5702
+#: vms-alpha.c:5815
 #, c-format
 msgid "Source Files Header\n"
 msgstr "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¸Ñ�Ñ…Ð¾Ð´Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð²\n"
 
-#: vms-alpha.c:5703
+#: vms-alpha.c:5816
 #, c-format
 msgid "   file: %.*s\n"
 msgstr "   Ñ„Ð°Ð¹Ð»: %.*s\n"
 
-#: vms-alpha.c:5710
+#: vms-alpha.c:5820
 #, c-format
 msgid "Title Text Header\n"
 msgstr "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ� Ñ‚ÐµÐºÑ�Ñ‚Ð°\n"
 
-#: vms-alpha.c:5711
+#: vms-alpha.c:5821
 #, c-format
 msgid "   title: %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ : %.*s\n"
 
-#: vms-alpha.c:5718
+#: vms-alpha.c:5825
 #, c-format
 msgid "Copyright Header\n"
 msgstr "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð°Ð²Ñ‚Ð¾Ñ€Ñ�ÐºÐ¾Ð³Ð¾ Ð¿Ñ€Ð°Ð²Ð°\n"
 
-#: vms-alpha.c:5719
+#: vms-alpha.c:5826
 #, c-format
 msgid "   copyright: %.*s\n"
 msgstr "   Ð°Ð²Ñ‚Ð¾Ñ€Ñ�ÐºÐ¾Ðµ Ð¿Ñ€Ð°Ð²Ð¾: %.*s\n"
 
-#: vms-alpha.c:5725
+#: vms-alpha.c:5830
 #, c-format
 msgid "unhandled emh subtype %u\n"
 msgstr "Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ð¿Ð¾Ð´Ñ‚Ð¸Ð¿ emh %u\n"
 
-#: vms-alpha.c:5735
+#: vms-alpha.c:5840
 #, c-format
 msgid "  EEOM (len=%u):\n"
 msgstr "  EEOM (len=%u):\n"
 
-#: vms-alpha.c:5736
+#: vms-alpha.c:5845
+#, c-format
+msgid "   Error: The length is less than the length of an EEOM record\n"
+msgstr "   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ð¸Ð½Ð° Ð¼ÐµÐ½ÑŒÑˆÐµ Ð´Ð»Ð¸Ð½Ñ‹ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ EEOM\n"
+
+#: vms-alpha.c:5849
 #, c-format
 msgid "   number of cond linkage pairs: %u\n"
 msgstr "   ÐºÐ¾Ð»-Ð²Ð¾ ÑƒÑ�Ð»Ð¾Ð²Ð½Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÐ¼Ñ‹Ñ… Ð¿Ð°Ñ€: %u\n"
 
-#: vms-alpha.c:5738
+#: vms-alpha.c:5851
 #, c-format
 msgid "   completion code: %u\n"
 msgstr "   Ð·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ñ‹Ð¹ ÐºÐ¾Ð´: %u\n"
 
-#: vms-alpha.c:5742
+#: vms-alpha.c:5855
 #, c-format
 msgid "   transfer addr flags: 0x%02x\n"
 msgstr "   Ð°Ð´Ñ€ÐµÑ�Ð° Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ flags: 0x%02x\n"
 
-#: vms-alpha.c:5743
+#: vms-alpha.c:5856
 #, c-format
 msgid "   transfer addr psect: %u\n"
 msgstr "   Ð°Ð´Ñ€ÐµÑ� Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ psect: %u\n"
 
-#: vms-alpha.c:5745
+#: vms-alpha.c:5858
 #, c-format
 msgid "   transfer address   : 0x%08x\n"
 msgstr "   Ð°Ð´Ñ€ÐµÑ� Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸   : 0x%08x\n"
 
-#: vms-alpha.c:5754
+#: vms-alpha.c:5867
 msgid " WEAK"
 msgstr " WEAK"
 
-#: vms-alpha.c:5756
+#: vms-alpha.c:5869
 msgid " DEF"
 msgstr " DEF"
 
-#: vms-alpha.c:5758
+#: vms-alpha.c:5871
 msgid " UNI"
 msgstr " UNI"
 
-#: vms-alpha.c:5760 vms-alpha.c:5781
+#: vms-alpha.c:5873 vms-alpha.c:5894
 msgid " REL"
 msgstr " REL"
 
-#: vms-alpha.c:5762
+#: vms-alpha.c:5875
 msgid " COMM"
 msgstr " COMM"
 
-#: vms-alpha.c:5764
+#: vms-alpha.c:5877
 msgid " VECEP"
 msgstr " VECEP"
 
-#: vms-alpha.c:5766
+#: vms-alpha.c:5879
 msgid " NORM"
 msgstr " NORM"
 
-#: vms-alpha.c:5768
+#: vms-alpha.c:5881
 msgid " QVAL"
 msgstr " QVAL"
 
-#: vms-alpha.c:5775
+#: vms-alpha.c:5888
 msgid " PIC"
 msgstr " PIC"
 
-#: vms-alpha.c:5777
+#: vms-alpha.c:5890
 msgid " LIB"
 msgstr " LIB"
 
-#: vms-alpha.c:5779
+#: vms-alpha.c:5892
 msgid " OVR"
 msgstr " OVR"
 
-#: vms-alpha.c:5783
+#: vms-alpha.c:5896
 msgid " GBL"
 msgstr " GBL"
 
-#: vms-alpha.c:5785
+#: vms-alpha.c:5898
 msgid " SHR"
 msgstr " SHR"
 
-#: vms-alpha.c:5787
+#: vms-alpha.c:5900
 msgid " EXE"
 msgstr " EXE"
 
-#: vms-alpha.c:5789
+#: vms-alpha.c:5902
 msgid " RD"
 msgstr " RD"
 
-#: vms-alpha.c:5791
+#: vms-alpha.c:5904
 msgid " WRT"
 msgstr " WRT"
 
-#: vms-alpha.c:5793
+#: vms-alpha.c:5906
 msgid " VEC"
 msgstr " VEC"
 
-#: vms-alpha.c:5795
+#: vms-alpha.c:5908
 msgid " NOMOD"
 msgstr " NOMOD"
 
-#: vms-alpha.c:5797
+#: vms-alpha.c:5910
 msgid " COM"
 msgstr " COM"
 
-#: vms-alpha.c:5799
+#: vms-alpha.c:5912
 msgid " 64B"
 msgstr " 64B"
 
-#: vms-alpha.c:5808
+#: vms-alpha.c:5921
 #, c-format
 msgid "  EGSD (len=%u):\n"
 msgstr "  EGSD (len=%u):\n"
 
-#: vms-alpha.c:5820
+#: vms-alpha.c:5934
 #, c-format
 msgid "  EGSD entry %2u (type: %u, len: %u): "
 msgstr "  Ð·Ð°Ð¿Ð¸Ñ�ÑŒ EGSD %2u (Ñ‚Ð¸Ð¿: %u, Ð´Ð»Ð¸Ð½Ð°: %u): "
 
-#: vms-alpha.c:5832
+#: vms-alpha.c:5940 vms-alpha.c:6191
+#, c-format
+msgid "   Error: length larger than remaining space in record\n"
+msgstr "   ÐžÑˆÐ¸Ð±ÐºÐ°: Ð´Ð»Ð¸Ð½Ð° Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¾Ñ�Ñ‚Ð°Ð²ÑˆÐµÐ³Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ€Ð°Ð½Ñ�Ñ‚Ð²Ð° Ð² Ð·Ð°Ð¿Ð¸Ñ�Ð¸\n"
+
+#: vms-alpha.c:5952
 #, c-format
 msgid "PSC - Program section definition\n"
 msgstr "PSC - Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°\n"
 
-#: vms-alpha.c:5833 vms-alpha.c:5850
+#: vms-alpha.c:5953 vms-alpha.c:5970
 #, c-format
 msgid "   alignment  : 2**%u\n"
 msgstr "   Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ  : 2**%u\n"
 
-#: vms-alpha.c:5834 vms-alpha.c:5851
+#: vms-alpha.c:5954 vms-alpha.c:5971
 #, c-format
 msgid "   flags      : 0x%04x"
 msgstr "   Ñ„Ð»Ð°Ð³Ð¸      : 0x%04x"
 
-#: vms-alpha.c:5838
+#: vms-alpha.c:5958
 #, c-format
 msgid "   alloc (len): %u (0x%08x)\n"
 msgstr "   alloc (len): %u (0x%08x)\n"
 
-#: vms-alpha.c:5839 vms-alpha.c:5896 vms-alpha.c:5945
+#: vms-alpha.c:5959 vms-alpha.c:6016 vms-alpha.c:6065
 #, c-format
 msgid "   name       : %.*s\n"
 msgstr "   Ð¸Ð¼Ñ�       : %.*s\n"
 
-#: vms-alpha.c:5849
+#: vms-alpha.c:5969
 #, c-format
 msgid "SPSC - Shared Image Program section def\n"
 msgstr "SPSC â€” Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±Ñ€Ð°Ð·Ð°\n"
 
-#: vms-alpha.c:5855
+#: vms-alpha.c:5975
 #, c-format
 msgid "   alloc (len)   : %u (0x%08x)\n"
 msgstr "   alloc (len)   : %u (0x%08x)\n"
 
-#: vms-alpha.c:5856
+#: vms-alpha.c:5976
 #, c-format
 msgid "   image offset  : 0x%08x\n"
 msgstr "   Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¾Ð±Ñ€Ð°Ð·Ð° : 0x%08x\n"
 
-#: vms-alpha.c:5858
+#: vms-alpha.c:5978
 #, c-format
 msgid "   symvec offset : 0x%08x\n"
 msgstr "   Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ symvec: 0x%08x\n"
 
-#: vms-alpha.c:5860
+#: vms-alpha.c:5980
 #, c-format
 msgid "   name          : %.*s\n"
 msgstr "   Ð¸Ð¼Ñ�          : %.*s\n"
 
-#: vms-alpha.c:5873
+#: vms-alpha.c:5993
 #, c-format
 msgid "SYM - Global symbol definition\n"
 msgstr "SYM - Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²\n"
 
-#: vms-alpha.c:5874 vms-alpha.c:5934 vms-alpha.c:5955 vms-alpha.c:5974
+#: vms-alpha.c:5994 vms-alpha.c:6054 vms-alpha.c:6075 vms-alpha.c:6094
 #, c-format
 msgid "   flags: 0x%04x"
 msgstr "   Ñ„Ð»Ð°Ð³Ð¸: 0x%04x"
 
-#: vms-alpha.c:5877
+#: vms-alpha.c:5997
 #, c-format
 msgid "   psect offset: 0x%08x\n"
 msgstr "   Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ psect: 0x%08x\n"
 
-#: vms-alpha.c:5881
+#: vms-alpha.c:6001
 #, c-format
 msgid "   code address: 0x%08x\n"
 msgstr "   Ð°Ð´Ñ€ÐµÑ� ÐºÐ¾Ð´Ð°: 0x%08x\n"
 
-#: vms-alpha.c:5883
+#: vms-alpha.c:6003
 #, c-format
 msgid "   psect index for entry point : %u\n"
 msgstr "   Ð¸Ð½Ð´ÐµÐºÑ� psect Ð´Ð»Ñ� Ñ‚Ð¾Ñ‡ÐºÐ¸ Ð²Ñ…Ð¾Ð´Ð°: %u\n"
 
-#: vms-alpha.c:5886 vms-alpha.c:5962 vms-alpha.c:5981
+#: vms-alpha.c:6006 vms-alpha.c:6082 vms-alpha.c:6101
 #, c-format
 msgid "   psect index : %u\n"
 msgstr "   Ð¸Ð½Ð´ÐµÐºÑ� psect: %u\n"
 
-#: vms-alpha.c:5888 vms-alpha.c:5964 vms-alpha.c:5983
+#: vms-alpha.c:6008 vms-alpha.c:6084 vms-alpha.c:6103
 #, c-format
 msgid "   name        : %.*s\n"
 msgstr "   Ð¸Ð¼Ñ�        : %.*s\n"
 
-#: vms-alpha.c:5895
+#: vms-alpha.c:6015
 #, c-format
 msgid "SYM - Global symbol reference\n"
 msgstr "SYM - Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²\n"
 
-#: vms-alpha.c:5907
+#: vms-alpha.c:6027
 #, c-format
 msgid "IDC - Ident Consistency check\n"
 msgstr "IDC - Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° Ñ†ÐµÐ»Ð¾Ñ�Ñ‚Ð½Ð¾Ñ�Ñ‚Ð¸\n"
 
-#: vms-alpha.c:5908
+#: vms-alpha.c:6028
 #, c-format
 msgid "   flags         : 0x%08x"
 msgstr "   Ñ„Ð»Ð°Ð³Ð¸         : 0x%08x"
 
-#: vms-alpha.c:5912
+#: vms-alpha.c:6032
 #, c-format
 msgid "   id match      : %x\n"
 msgstr "   id Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²Ð¸Ñ� : %x\n"
 
-#: vms-alpha.c:5914
+#: vms-alpha.c:6034
 #, c-format
 msgid "   error severity: %x\n"
 msgstr "   Ñ�ÐµÑ€ÑŒÑ‘Ð·Ð½Ð¾Ñ�Ñ‚ÑŒ Ð¾ÑˆÐ¸Ð±ÐºÐ¸: %x\n"
 
-#: vms-alpha.c:5917
+#: vms-alpha.c:6037
 #, c-format
 msgid "   entity name   : %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ð¸: %.*s\n"
 
-#: vms-alpha.c:5919
+#: vms-alpha.c:6039
 #, c-format
 msgid "   object name   : %.*s\n"
 msgstr "   Ð¸Ð¼Ñ� Ð¾Ð±ÑŠÐµÐºÑ‚Ð°: %.*s\n"
 
-#: vms-alpha.c:5922
+#: vms-alpha.c:6042
 #, c-format
 msgid "   binary ident  : 0x%08x\n"
 msgstr "   Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ñ‹Ð¹ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€: 0x%08x\n"
 
-#: vms-alpha.c:5925
+#: vms-alpha.c:6045
 #, c-format
 msgid "   ascii ident   : %.*s\n"
 msgstr "   ascii-Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€: %.*s\n"
 
-#: vms-alpha.c:5933
+#: vms-alpha.c:6053
 #, c-format
 msgid "SYMG - Universal symbol definition\n"
 msgstr "SYMG - Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ ÑƒÐ½Ð¸Ð²ÐµÑ€Ñ�Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²\n"
 
-#: vms-alpha.c:5937
+#: vms-alpha.c:6057
 #, c-format
 msgid "   symbol vector offset: 0x%08x\n"
 msgstr "   Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð°: 0x%08x\n"
 
-#: vms-alpha.c:5939
+#: vms-alpha.c:6059
 #, c-format
 msgid "   entry point: 0x%08x\n"
 msgstr "   Ñ‚Ð¾Ñ‡ÐºÐ° Ð²Ñ…Ð¾Ð´Ð°: 0x%08x\n"
 
-#: vms-alpha.c:5941
+#: vms-alpha.c:6061
 #, c-format
 msgid "   proc descr : 0x%08x\n"
 msgstr "   proc descr : 0x%08x\n"
 
-#: vms-alpha.c:5943
+#: vms-alpha.c:6063
 #, c-format
 msgid "   psect index: %u\n"
 msgstr "   Ð¸Ð½Ð´ÐµÐºÑ� psect: %u\n"
 
-#: vms-alpha.c:5954
+#: vms-alpha.c:6074
 #, c-format
 msgid "SYMV - Vectored symbol definition\n"
 msgstr "SYMV - Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²\n"
 
-#: vms-alpha.c:5958
+#: vms-alpha.c:6078
 #, c-format
 msgid "   vector      : 0x%08x\n"
 msgstr "   Ð²ÐµÐºÑ‚Ð¾Ñ€      : 0x%08x\n"
 
-#: vms-alpha.c:5960 vms-alpha.c:5979
+#: vms-alpha.c:6080 vms-alpha.c:6099
 #, c-format
 msgid "   psect offset: %u\n"
 msgstr "   Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ psect: %u\n"
 
-#: vms-alpha.c:5973
+#: vms-alpha.c:6093
 #, c-format
 msgid "SYMM - Global symbol definition with version\n"
 msgstr "SYMM - Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ñ� Ð²ÐµÑ€Ñ�Ð¸ÐµÐ¹\n"
 
-#: vms-alpha.c:5977
+#: vms-alpha.c:6097
 #, c-format
 msgid "   version mask: 0x%08x\n"
 msgstr "   Ð¼Ð°Ñ�ÐºÐ° Ð²ÐµÑ€Ñ�Ð¸Ð¸: 0x%08x\n"
 
-#: vms-alpha.c:5988
+#: vms-alpha.c:6108
 #, c-format
 msgid "unhandled egsd entry type %u\n"
 msgstr "Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ egsd-Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ñ‚Ð¸Ð¿Ð° %u\n"
 
-#: vms-alpha.c:6022
+#: vms-alpha.c:6143
 #, c-format
 msgid "    linkage index: %u, replacement insn: 0x%08x\n"
 msgstr "    Ð¸Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸: %u, Ð·Ð°Ð¼ÐµÐ½Ð¸Ñ‚ÐµÐ»ÑŒ insn: 0x%08x\n"
 
-#: vms-alpha.c:6025
+#: vms-alpha.c:6147
 #, c-format
 msgid "    psect idx 1: %u, offset 1: 0x%08x %08x\n"
 msgstr "    1-Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� psect: %u, 1-Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: 0x%08x %08x\n"
 
-#: vms-alpha.c:6029
+#: vms-alpha.c:6152
 #, c-format
 msgid "    psect idx 2: %u, offset 2: 0x%08x %08x\n"
 msgstr "    2-Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� psect: %u, 2-Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: 0x%08x %08x\n"
 
-#: vms-alpha.c:6034
+#: vms-alpha.c:6158
 #, c-format
 msgid "    psect idx 3: %u, offset 3: 0x%08x %08x\n"
 msgstr "    3-Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� psect: %u, 3-Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: 0x%08x %08x\n"
 
-#: vms-alpha.c:6039
+#: vms-alpha.c:6163
 #, c-format
 msgid "    global name: %.*s\n"
 msgstr "    Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ðµ Ð¸Ð¼Ñ�: %.*s\n"
 
-#: vms-alpha.c:6049
+#: vms-alpha.c:6174
 #, c-format
 msgid "  %s (len=%u+%u):\n"
 msgstr "  %s (len=%u+%u):\n"
 
-#: vms-alpha.c:6064
+#: vms-alpha.c:6196
 #, c-format
 msgid "   (type: %3u, size: 4+%3u): "
 msgstr "   (Ñ‚Ð¸Ð¿: %3u, Ñ€Ð°Ð·Ð¼ÐµÑ€: 4+%3u): "
 
-#: vms-alpha.c:6068
+#: vms-alpha.c:6200
 #, c-format
 msgid "STA_GBL (stack global) %.*s\n"
 msgstr "STA_GBL (Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ�Ñ‚ÐµÐº) %.*s\n"
 
-#: vms-alpha.c:6072
+#: vms-alpha.c:6204
 #, c-format
 msgid "STA_LW (stack longword) 0x%08x\n"
 msgstr "STA_LW (Ñ�Ñ‚ÐµÐº Ð´Ð»Ð¸Ð½Ð½Ñ‹Ñ… Ñ�Ð»Ð¾Ð²) 0x%08x\n"
 
-#: vms-alpha.c:6076
+#: vms-alpha.c:6208
 #, c-format
 msgid "STA_QW (stack quadword) 0x%08x %08x\n"
 msgstr "STA_QW (Ñ�Ñ‚ÐµÐº Ñ‡ÐµÑ‚Ð²ÐµÑ€Ð½Ñ‹Ñ… Ñ�Ð»Ð¾Ð²) 0x%08x %08x\n"
 
-#: vms-alpha.c:6081
+#: vms-alpha.c:6213
 #, c-format
 msgid "STA_PQ (stack psect base + offset)\n"
 msgstr "STA_PQ (Ñ�Ñ‚ÐµÐº psect Ð±Ð°Ð·Ð° + Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6082
+#: vms-alpha.c:6215
 #, c-format
 msgid "    psect: %u, offset: 0x%08x %08x\n"
 msgstr "    psect: %u, Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: 0x%08x %08x\n"
 
-#: vms-alpha.c:6088
+#: vms-alpha.c:6221
 #, c-format
 msgid "STA_LI (stack literal)\n"
 msgstr "STA_LI (Ñ�Ñ‚ÐµÐº Ð»Ð¸Ñ‚ÐµÑ€Ð°Ð»Ð°)\n"
 
-#: vms-alpha.c:6091
+#: vms-alpha.c:6224
 #, c-format
 msgid "STA_MOD (stack module)\n"
 msgstr "STA_MOD (Ñ�Ñ‚ÐµÐº Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹)\n"
 
-#: vms-alpha.c:6094
+#: vms-alpha.c:6227
 #, c-format
 msgid "STA_CKARG (compare procedure argument)\n"
 msgstr "STA_CKARG (Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹ Ñ�Ñ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ�)\n"
 
-#: vms-alpha.c:6098
+#: vms-alpha.c:6231
 #, c-format
 msgid "STO_B (store byte)\n"
 msgstr "STO_B (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ñ‹Ð¹ Ð±Ð°Ð¹Ñ‚)\n"
 
-#: vms-alpha.c:6101
+#: vms-alpha.c:6234
 #, c-format
 msgid "STO_W (store word)\n"
 msgstr "STO_W (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾)\n"
 
-#: vms-alpha.c:6104
+#: vms-alpha.c:6237
 #, c-format
 msgid "STO_LW (store longword)\n"
 msgstr "STO_LW (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾)\n"
 
-#: vms-alpha.c:6107
+#: vms-alpha.c:6240
 #, c-format
 msgid "STO_QW (store quadword)\n"
 msgstr "STO_QW (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ‡ÐµÑ‚Ð²ÐµÑ€Ñ‘Ð½Ð½Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾)\n"
 
-#: vms-alpha.c:6113
+#: vms-alpha.c:6246
 #, c-format
 msgid "STO_IMMR (store immediate repeat) %u bytes\n"
 msgstr "STO_IMMR (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ñ‹Ð¹ Ð½ÐµÐ¿Ð¾Ñ�Ñ€ÐµÐ´Ñ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ð¹ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€) %u Ð±Ð°Ð¹Ñ‚\n"
 
-#: vms-alpha.c:6120
+#: vms-alpha.c:6253
 #, c-format
 msgid "STO_GBL (store global) %.*s\n"
 msgstr "STO_GBL (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð°Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð°Ñ�) %.*s\n"
 
-#: vms-alpha.c:6124
+#: vms-alpha.c:6257
 #, c-format
 msgid "STO_CA (store code address) %.*s\n"
 msgstr "STO_CA (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� ÐºÐ¾Ð´Ð°) %.*s\n"
 
-#: vms-alpha.c:6128
+#: vms-alpha.c:6261
 #, c-format
 msgid "STO_RB (store relative branch)\n"
 msgstr "STO_RB (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ Ð¾Ñ‚Ð½Ð¾Ñ�Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6131
+#: vms-alpha.c:6264
 #, c-format
 msgid "STO_AB (store absolute branch)\n"
 msgstr "STO_AB (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6134
+#: vms-alpha.c:6267
 #, c-format
 msgid "STO_OFF (store offset to psect)\n"
 msgstr "STO_OFF (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð½Ð° psect)\n"
 
-#: vms-alpha.c:6140
+#: vms-alpha.c:6273
 #, c-format
 msgid "STO_IMM (store immediate) %u bytes\n"
 msgstr "STO_IMM (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð°Ñ� Ð½ÐµÐ¿Ð¾Ñ�Ñ€ÐµÐ´Ñ�Ñ‚Ð²ÐµÐ½Ð½Ð¾) %u Ð±Ð°Ð¹Ñ‚\n"
 
-#: vms-alpha.c:6147
+#: vms-alpha.c:6280
 #, c-format
 msgid "STO_GBL_LW (store global longword) %.*s\n"
 msgstr "STO_GBL_LW (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ðµ Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾) %.*s\n"
 
-#: vms-alpha.c:6151
+#: vms-alpha.c:6284
 #, c-format
 msgid "STO_OFF (store LP with procedure signature)\n"
 msgstr "STO_OFF (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ñ‹Ð¹ LP Ñ� Ñ�Ð¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ð¾Ð¹ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹)\n"
 
-#: vms-alpha.c:6154
+#: vms-alpha.c:6287
 #, c-format
 msgid "STO_BR_GBL (store branch global) *todo*\n"
 msgstr "STO_BR_GBL (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ) *todo*\n"
 
-#: vms-alpha.c:6157
+#: vms-alpha.c:6290
 #, c-format
 msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
 msgstr "STO_BR_PS (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ psect + Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ) *todo*\n"
 
-#: vms-alpha.c:6161
+#: vms-alpha.c:6294
 #, c-format
 msgid "OPR_NOP (no-operation)\n"
 msgstr "OPR_NOP (Ð½ÐµÑ‚ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸)\n"
 
-#: vms-alpha.c:6164
+#: vms-alpha.c:6297
 #, c-format
 msgid "OPR_ADD (add)\n"
 msgstr "OPR_ADD (Ñ�Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6167
+#: vms-alpha.c:6300
 #, c-format
-msgid "OPR_SUB (substract)\n"
+msgid "OPR_SUB (subtract)\n"
 msgstr "OPR_SUB (Ð²Ñ‹Ñ‡Ð¸Ñ‚Ð°Ð½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6170
+#: vms-alpha.c:6303
 #, c-format
 msgid "OPR_MUL (multiply)\n"
 msgstr "OPR_MUL (ÑƒÐ¼Ð½Ð¾Ð¶ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6173
+#: vms-alpha.c:6306
 #, c-format
 msgid "OPR_DIV (divide)\n"
 msgstr "OPR_DIV (Ð´ÐµÐ»ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6176
+#: vms-alpha.c:6309
 #, c-format
 msgid "OPR_AND (logical and)\n"
 msgstr "OPR_AND (Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð¸)\n"
 
-#: vms-alpha.c:6179
+#: vms-alpha.c:6312
 #, c-format
 msgid "OPR_IOR (logical inclusive or)\n"
 msgstr "OPR_IOR (Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð²ÐºÐ»ÑŽÑ‡Ð°ÑŽÑ‰ÐµÐµ Ð¸Ð»Ð¸)\n"
 
-#: vms-alpha.c:6182
+#: vms-alpha.c:6315
 #, c-format
 msgid "OPR_EOR (logical exclusive or)\n"
 msgstr "OPR_EOR (Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ðµ Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡Ð°ÑŽÑ‰ÐµÐµ Ð¸Ð»Ð¸)\n"
 
-#: vms-alpha.c:6185
+#: vms-alpha.c:6318
 #, c-format
 msgid "OPR_NEG (negate)\n"
 msgstr "OPR_NEG (Ð¸Ð½Ð²ÐµÑ€Ñ�Ð¸Ñ�)\n"
 
-#: vms-alpha.c:6188
+#: vms-alpha.c:6321
 #, c-format
 msgid "OPR_COM (complement)\n"
 msgstr "OPR_COM (Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6191
+#: vms-alpha.c:6324
 #, c-format
 msgid "OPR_INSV (insert field)\n"
 msgstr "OPR_INSV (Ð¿Ð¾Ð»Ðµ Ð²Ñ�Ñ‚Ð°Ð²ÐºÐ¸)\n"
 
-#: vms-alpha.c:6194
+#: vms-alpha.c:6327
 #, c-format
 msgid "OPR_ASH (arithmetic shift)\n"
 msgstr "OPR_ASH (Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð´Ð²Ð¸Ð³)\n"
 
-#: vms-alpha.c:6197
+#: vms-alpha.c:6330
 #, c-format
 msgid "OPR_USH (unsigned shift)\n"
 msgstr "OPR_USH (Ð±ÐµÐ·Ð·Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¹ Ñ�Ð´Ð²Ð¸Ð³)\n"
 
-#: vms-alpha.c:6200
+#: vms-alpha.c:6333
 #, c-format
 msgid "OPR_ROT (rotate)\n"
 msgstr "OPR_ROT (Ñ†Ð¸ÐºÐ»Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ñ�Ð´Ð²Ð¸Ð³)\n"
 
-#: vms-alpha.c:6203
+#: vms-alpha.c:6336
 #, c-format
 msgid "OPR_SEL (select)\n"
 msgstr "OPR_SEL (Ð²Ñ‹Ð±Ð¾Ñ€)\n"
 
-#: vms-alpha.c:6206
+#: vms-alpha.c:6339
 #, c-format
 msgid "OPR_REDEF (redefine symbol to curr location)\n"
 msgstr "OPR_REDEF (Ð¿ÐµÑ€ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Ð² Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸)\n"
 
-#: vms-alpha.c:6209
+#: vms-alpha.c:6342
 #, c-format
 msgid "OPR_REDEF (define a literal)\n"
 msgstr "OPR_REDEF (Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð»Ð¸Ñ‚ÐµÑ€Ð°Ð»Ð°)\n"
 
-#: vms-alpha.c:6213
+#: vms-alpha.c:6346
 #, c-format
 msgid "STC_LP (store cond linkage pair)\n"
 msgstr "STC_LP (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð°Ñ� ÑƒÑ�Ð»Ð¾Ð²Ð½Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÐ¼Ð°Ñ� Ð¿Ð°Ñ€Ð°)\n"
 
-#: vms-alpha.c:6217
+#: vms-alpha.c:6350
 #, c-format
 msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
 msgstr "STC_LP_PSB (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð°Ñ� ÑƒÑ�Ð»Ð¾Ð²Ð½Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÐ¼Ð°Ñ� Ð¿Ð°Ñ€Ð° + Ñ�Ð¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ð°)\n"
 
-#: vms-alpha.c:6218
+#: vms-alpha.c:6352
 #, c-format
 msgid "   linkage index: %u, procedure: %.*s\n"
 msgstr "   Ð¸Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸: %u, Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð°: %.*s\n"
 
-#: vms-alpha.c:6221
+#: vms-alpha.c:6355
 #, c-format
 msgid "   signature: %.*s\n"
 msgstr "   Ñ�Ð¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ð°: %.*s\n"
 
-#: vms-alpha.c:6224
+#: vms-alpha.c:6358
 #, c-format
 msgid "STC_GBL (store cond global)\n"
 msgstr "STC_GBL (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð°Ñ� Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6225
+#: vms-alpha.c:6360
 #, c-format
 msgid "   linkage index: %u, global: %.*s\n"
 msgstr "   Ð¸Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸: %u, Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹: %.*s\n"
 
-#: vms-alpha.c:6229
+#: vms-alpha.c:6364
 #, c-format
 msgid "STC_GCA (store cond code address)\n"
 msgstr "STC_GCA (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� ÑƒÑ�Ð»Ð¾Ð²Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð°)\n"
 
-#: vms-alpha.c:6230
+#: vms-alpha.c:6366
 #, c-format
 msgid "   linkage index: %u, procedure name: %.*s\n"
 msgstr "   Ð¸Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸: %u, Ð¸Ð¼Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹: %.*s\n"
 
-#: vms-alpha.c:6234
+#: vms-alpha.c:6370
 #, c-format
 msgid "STC_PS (store cond psect + offset)\n"
 msgstr "STC_PS (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ psect + Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6236
+#: vms-alpha.c:6373
 #, c-format
 msgid "   linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
 msgstr "   Ð¸Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸: %u, psect: %u, Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: 0x%08x %08x\n"
 
-#: vms-alpha.c:6243
+#: vms-alpha.c:6380
 #, c-format
 msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
 msgstr "STC_NOP_GBL (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ NOP Ð¿Ð¾ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ)\n"
 
-#: vms-alpha.c:6247
+#: vms-alpha.c:6384
 #, c-format
 msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
 msgstr "STC_NOP_PS (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ NOP Ð¿Ð¾ psect + Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6251
+#: vms-alpha.c:6388
 #, c-format
 msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
 msgstr "STC_BSR_GBL (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ BSR Ð¿Ð¾ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ)\n"
 
-#: vms-alpha.c:6255
+#: vms-alpha.c:6392
 #, c-format
 msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
 msgstr "STC_BSR_PS (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ BSR Ð¿Ð¾ psect + Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6259
+#: vms-alpha.c:6396
 #, c-format
 msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
 msgstr "STC_LDA_GBL (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ LDA Ð¿Ð¾ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ)\n"
 
-#: vms-alpha.c:6263
+#: vms-alpha.c:6400
 #, c-format
 msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
 msgstr "STC_LDA_PS (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ LDA Ð¿Ð¾ psect + Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6267
+#: vms-alpha.c:6404
 #, c-format
 msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
 msgstr "STC_BOH_GBL (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ BOH Ð¿Ð¾ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ)\n"
 
-#: vms-alpha.c:6271
+#: vms-alpha.c:6408
 #, c-format
 msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
 msgstr "STC_BOH_PS (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ BOH Ð¿Ð¾ psect + Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6276
+#: vms-alpha.c:6413
 #, c-format
 msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
 msgstr "STC_NBH_GBL (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ Ð¸Ð»Ð¸ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ðµ Ð¿Ð¾ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ)\n"
 
-#: vms-alpha.c:6280
+#: vms-alpha.c:6417
 #, c-format
 msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
 msgstr "STC_NBH_PS (Ñ…Ñ€Ð°Ð½Ð¸Ð¼Ð¾Ðµ ÑƒÑ�Ð»Ð¾Ð²Ð¸Ðµ Ð¸Ð»Ð¸ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ðµ Ð¿Ð¾ psect + Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6284
+#: vms-alpha.c:6421
 #, c-format
 msgid "CTL_SETRB (set relocation base)\n"
 msgstr "CTL_SETRB (ÑƒÑ�Ñ‚Ð°Ð½Ð¾Ð²ÐºÐ° Ð±Ð°Ð·Ñ‹ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�)\n"
 
-#: vms-alpha.c:6290
+#: vms-alpha.c:6427
 #, c-format
 msgid "CTL_AUGRB (augment relocation base) %u\n"
 msgstr "CTL_AUGRB (Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ñ‹ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�) %u\n"
 
-#: vms-alpha.c:6294
+#: vms-alpha.c:6431
 #, c-format
 msgid "CTL_DFLOC (define location)\n"
 msgstr "CTL_DFLOC (Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ�)\n"
 
-#: vms-alpha.c:6297
+#: vms-alpha.c:6434
 #, c-format
 msgid "CTL_STLOC (set location)\n"
 msgstr "CTL_STLOC (Ð·Ð°Ð´Ð°Ð½Ð¸Ðµ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ�)\n"
 
-#: vms-alpha.c:6300
+#: vms-alpha.c:6437
 #, c-format
 msgid "CTL_STKDL (stack defined location)\n"
 msgstr "CTL_STKDL (Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ�ÐµÐ¼Ð¾Ðµ Ñ�Ñ‚ÐµÐºÐ¾Ð¼)\n"
 
-#: vms-alpha.c:6303 vms-alpha.c:6717
+#: vms-alpha.c:6440 vms-alpha.c:6864 vms-alpha.c:6990
 #, c-format
 msgid "*unhandled*\n"
 msgstr "*Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð¾*\n"
 
-#: vms-alpha.c:6333 vms-alpha.c:6372
+#: vms-alpha.c:6470 vms-alpha.c:6509
 #, c-format
 msgid "cannot read GST record length\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð´Ð»Ð¸Ð½Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ GST\n"
 
 #. Ill-formed.
-#: vms-alpha.c:6354
+#: vms-alpha.c:6491
 #, c-format
 msgid "cannot find EMH in first GST record\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ EMH Ð² Ð¿ÐµÑ€Ð²Ð¾Ð¹ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ GST\n"
 
-#: vms-alpha.c:6380
+#: vms-alpha.c:6517
 #, c-format
 msgid "cannot read GST record header\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð·Ð°Ð¿Ð¸Ñ�Ð¸ GST\n"
 
-#: vms-alpha.c:6393
+#: vms-alpha.c:6530
 #, c-format
 msgid " corrupted GST\n"
 msgstr " Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ GST\n"
 
-#: vms-alpha.c:6401
+#: vms-alpha.c:6538
 #, c-format
 msgid "cannot read GST record\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�ÑŒ GST\n"
 
-#: vms-alpha.c:6430
+#: vms-alpha.c:6567
 #, c-format
 msgid " unhandled EOBJ record type %u\n"
 msgstr " Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð·Ð°Ð¿Ð¸Ñ�Ð¸ EOBJ %u\n"
 
-#: vms-alpha.c:6453
+#: vms-alpha.c:6591
 #, c-format
 msgid "  bitcount: %u, base addr: 0x%08x\n"
 msgstr "  Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ð±Ð¸Ñ‚: %u, Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x\n"
 
-#: vms-alpha.c:6466
+#: vms-alpha.c:6605
 #, c-format
 msgid "   bitmap: 0x%08x (count: %u):\n"
 msgstr "   bitmap: 0x%08x (Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº: %u):\n"
 
-#: vms-alpha.c:6473
+#: vms-alpha.c:6612
 #, c-format
 msgid " %08x"
 msgstr " %08x"
 
-#: vms-alpha.c:6498
+#: vms-alpha.c:6638
 #, c-format
 msgid "  image %u (%u entries)\n"
 msgstr "  Ð¾Ð±Ñ€Ð°Ð· %u (%u Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð²)\n"
 
-#: vms-alpha.c:6503
+#: vms-alpha.c:6644
 #, c-format
 msgid "   offset: 0x%08x, val: 0x%08x\n"
 msgstr "   Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: 0x%08x, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ: 0x%08x\n"
 
-#: vms-alpha.c:6524
+#: vms-alpha.c:6666
 #, c-format
 msgid "  image %u (%u entries), offsets:\n"
 msgstr "  Ð¾Ð±Ñ€Ð°Ð· %u (%u Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð²), Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ�:\n"
 
-#: vms-alpha.c:6531
+#: vms-alpha.c:6673
 #, c-format
 msgid " 0x%08x"
 msgstr " 0x%08x"
 
 #. 64 bits.
-#: vms-alpha.c:6653
+#: vms-alpha.c:6795
 #, c-format
 msgid "64 bits *unhandled*\n"
 msgstr "64 Ð±Ð¸Ñ‚Ð° *Ð½Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð¾*\n"
 
-#: vms-alpha.c:6657
+#: vms-alpha.c:6800
 #, c-format
 msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
 msgstr "ÐºÐ»Ð°Ñ�Ñ�: %u, dtype: %u, Ð´Ð»Ð¸Ð½Ð°: %u, ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ: 0x%08x\n"
 
-#: vms-alpha.c:6668
+#: vms-alpha.c:6811
 #, c-format
 msgid "non-contiguous array of %s\n"
 msgstr "Ð½ÐµÑ�Ð²Ñ�Ð·Ð½Ñ‹Ð¹ Ð¼Ð°Ñ�Ñ�Ð¸Ð² %s\n"
 
-#: vms-alpha.c:6672
+#: vms-alpha.c:6816
 #, c-format
 msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
 msgstr "dimct: %u, aflags: 0x%02x, Ñ†Ð¸Ñ„Ñ€: %u, ÑˆÐºÐ°Ð»Ð°: %u\n"
 
-#: vms-alpha.c:6676
+#: vms-alpha.c:6821
 #, c-format
 msgid "arsize: %u, a0: 0x%08x\n"
 msgstr "arsize: %u, a0: 0x%08x\n"
 
-#: vms-alpha.c:6680
+#: vms-alpha.c:6825
 #, c-format
 msgid "Strides:\n"
 msgstr "Ð¨Ð°Ð³Ð¸:\n"
 
-#: vms-alpha.c:6685
-#, c-format
-msgid "[%u]: %u\n"
-msgstr "[%u]: %u\n"
-
-#: vms-alpha.c:6690
+#: vms-alpha.c:6835
 #, c-format
 msgid "Bounds:\n"
 msgstr "Ð“Ñ€Ð°Ð½Ð¸Ñ†Ñ‹:\n"
 
-#: vms-alpha.c:6695
+#: vms-alpha.c:6841
 #, c-format
 msgid "[%u]: Lower: %u, upper: %u\n"
 msgstr "[%u]: Ð½Ð¸Ð¶Ð½Ñ�Ñ�: %u, Ð²ÐµÑ€Ñ…Ð½Ñ�Ñ�: %u\n"
 
-#: vms-alpha.c:6707
+#: vms-alpha.c:6853
 #, c-format
 msgid "unaligned bit-string of %s\n"
 msgstr "Ð½ÐµÐ²Ñ‹Ñ€Ð¾Ð²Ð½ÐµÐ½Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° Ð±Ð¸Ñ‚ %s\n"
 
-#: vms-alpha.c:6711
+#: vms-alpha.c:6858
 #, c-format
 msgid "base: %u, pos: %u\n"
 msgstr "Ð±Ð°Ð·Ð°: %u, Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ�: %u\n"
 
-#: vms-alpha.c:6731
+#: vms-alpha.c:6879
 #, c-format
 msgid "vflags: 0x%02x, value: 0x%08x "
 msgstr "vflags: 0x%02x, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ: 0x%08x "
 
-#: vms-alpha.c:6737
+#: vms-alpha.c:6885
 #, c-format
 msgid "(no value)\n"
 msgstr "(Ð½ÐµÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ�)\n"
 
-#: vms-alpha.c:6740
+#: vms-alpha.c:6888
 #, c-format
 msgid "(not active)\n"
 msgstr "(Ð½Ðµ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾)\n"
 
-#: vms-alpha.c:6743
+#: vms-alpha.c:6891
 #, c-format
 msgid "(not allocated)\n"
 msgstr "(Ð½Ðµ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¾)\n"
 
-#: vms-alpha.c:6746
+#: vms-alpha.c:6894
 #, c-format
 msgid "(descriptor)\n"
 msgstr "(Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€)\n"
 
-#: vms-alpha.c:6750
+#: vms-alpha.c:6898
 #, c-format
 msgid "(trailing value)\n"
 msgstr "(ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ)\n"
 
-#: vms-alpha.c:6753
+#: vms-alpha.c:6901
 #, c-format
 msgid "(value spec follows)\n"
 msgstr "(Ð´Ð°Ð»ÐµÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸)\n"
 
-#: vms-alpha.c:6756
+#: vms-alpha.c:6904
 #, c-format
 msgid "(at bit offset %u)\n"
 msgstr "(Ð¿Ð¾ Ð±Ð¸Ñ‚Ð¾Ð²Ð¾Ð¼Ñƒ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸ÑŽ %u)\n"
 
-#: vms-alpha.c:6759
+#: vms-alpha.c:6908
 #, c-format
 msgid "(reg: %u, disp: %u, indir: %u, kind: "
 msgstr "(reg: %u, disp: %u, indir: %u, kind: "
 
-#: vms-alpha.c:6766
+#: vms-alpha.c:6915
 msgid "literal"
 msgstr "Ð»Ð¸Ñ‚ÐµÑ€Ð°Ð»"
 
-#: vms-alpha.c:6769
+#: vms-alpha.c:6918
 msgid "address"
 msgstr "Ð°Ð´Ñ€ÐµÑ�"
 
-#: vms-alpha.c:6772
-msgid "desc"
-msgstr "Ð´ÐµÑ�Ðº"
+#: vms-alpha.c:6921
+msgid "desc"
+msgstr "Ð¾Ð¿Ð¸Ñ�"
+
+#: vms-alpha.c:6924
+msgid "reg"
+msgstr "Ñ€ÐµÐ³"
+
+#: vms-alpha.c:6941
+#, c-format
+msgid "len: %2u, kind: %2u "
+msgstr "len: %2u, kind: %2u "
+
+#: vms-alpha.c:6947
+#, c-format
+msgid "atomic, type=0x%02x %s\n"
+msgstr "Ð°Ñ‚Ð¾Ð¼Ð°Ñ€Ð½Ð¾, Ñ‚Ð¸Ð¿=0x%02x %s\n"
+
+#: vms-alpha.c:6951
+#, c-format
+msgid "indirect, defined at 0x%08x\n"
+msgstr "ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ð¾, Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¾ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%08x\n"
+
+#: vms-alpha.c:6955
+#, c-format
+msgid "typed pointer\n"
+msgstr "Ñ‚Ð¸Ð¿Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¹ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ\n"
+
+#: vms-alpha.c:6959
+#, c-format
+msgid "pointer\n"
+msgstr "ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ\n"
+
+#: vms-alpha.c:6967
+#, c-format
+msgid "array, dim: %u, bitmap: "
+msgstr "Ð¼Ð°Ñ�Ñ�Ð¸Ð², Ñ€Ð°Ð·Ð¼ÐµÑ€: %u, bitmap: "
+
+#: vms-alpha.c:6974
+#, c-format
+msgid "array descriptor:\n"
+msgstr "Ð¾Ð¿Ð¸Ñ�Ð°Ñ‚ÐµÐ»ÑŒ Ð¼Ð°Ñ�Ñ�Ð¸Ð²Ð°:\n"
+
+#: vms-alpha.c:6981
+#, c-format
+msgid "type spec for element:\n"
+msgstr "Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ� Ñ‚Ð¸Ð¿Ð° Ð´Ð»Ñ� Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð°:\n"
 
-#: vms-alpha.c:6775
-msgid "reg"
-msgstr "Ñ€ÐµÐ³"
+#: vms-alpha.c:6983
+#, c-format
+msgid "type spec for subscript %u:\n"
+msgstr "Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ� Ñ‚Ð¸Ð¿Ð° Ð´Ð»Ñ� subscript %u:\n"
 
-#: vms-alpha.c:6850
+#: vms-alpha.c:7001
 #, c-format
 msgid "Debug symbol table:\n"
 msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸:\n"
 
-#: vms-alpha.c:6861
+#: vms-alpha.c:7012
 #, c-format
 msgid "cannot read DST header\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº DST\n"
 
-#: vms-alpha.c:6866
+#: vms-alpha.c:7018
 #, c-format
 msgid " type: %3u, len: %3u (at 0x%08x): "
 msgstr " Ñ‚Ð¸Ð¿: %3u, Ð´Ð»Ð¸Ð½Ð°: %3u (Ð¿Ð¾ 0x%08x): "
 
-#: vms-alpha.c:6880
+#: vms-alpha.c:7032
 #, c-format
 msgid "cannot read DST symbol\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð» DST\n"
 
-#: vms-alpha.c:6923
+#: vms-alpha.c:7075
 #, c-format
 msgid "standard data: %s\n"
 msgstr "Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ðµ Ð´Ð°Ð½Ð½Ñ‹Ðµ: %s\n"
 
-#: vms-alpha.c:6926 vms-alpha.c:7010
+#: vms-alpha.c:7078 vms-alpha.c:7166
 #, c-format
 msgid "    name: %.*s\n"
 msgstr "    Ð¸Ð¼Ñ�: %.*s\n"
 
-#: vms-alpha.c:6933
+#: vms-alpha.c:7085
 #, c-format
 msgid "modbeg\n"
 msgstr "modbeg\n"
 
-#: vms-alpha.c:6934
+#: vms-alpha.c:7087
 #, c-format
 msgid "   flags: %d, language: %u, major: %u, minor: %u\n"
 msgstr "   Ñ„Ð»Ð°Ð³Ð¸: %d, Ñ�Ð·Ñ‹Ðº: %u, Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð»Ð°Ð´ÑˆÐ¸Ð¹: %u\n"
 
-#: vms-alpha.c:6940 vms-alpha.c:7206
+#: vms-alpha.c:7093 vms-alpha.c:7367
 #, c-format
 msgid "   module name: %.*s\n"
 msgstr "   Ð¸Ð¼Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�: %.*s\n"
 
-#: vms-alpha.c:6943
+#: vms-alpha.c:7096
 #, c-format
 msgid "   compiler   : %.*s\n"
 msgstr "   ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñ�Ñ‚Ð¾Ñ€   : %.*s\n"
 
-#: vms-alpha.c:6948
+#: vms-alpha.c:7101
 #, c-format
 msgid "modend\n"
 msgstr "modend\n"
 
-#: vms-alpha.c:6955
+#: vms-alpha.c:7108
 msgid "rtnbeg\n"
 msgstr "rtnbeg\n"
 
-#: vms-alpha.c:6956
+#: vms-alpha.c:7110
 #, c-format
 msgid "    flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
 msgstr "    Ñ„Ð»Ð°Ð³Ð¸: %u, Ð°Ð´Ñ€ÐµÑ�: 0x%08x, pd-Ð°Ð´Ñ€ÐµÑ�: 0x%08x\n"
 
-#: vms-alpha.c:6961
+#: vms-alpha.c:7115
 #, c-format
 msgid "    routine name: %.*s\n"
 msgstr "    Ð¸Ð¼Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹: %.*s\n"
 
-#: vms-alpha.c:6969
+#: vms-alpha.c:7123
 #, c-format
 msgid "rtnend: size 0x%08x\n"
 msgstr "rtnend: Ñ€Ð°Ð·Ð¼ÐµÑ€ 0x%08x\n"
 
-#: vms-alpha.c:6977
+#: vms-alpha.c:7131
 #, c-format
 msgid "prolog: bkpt address 0x%08x\n"
 msgstr "Ð¿Ñ€Ð¾Ð»Ð¾Ð³: Ð°Ð´Ñ€ÐµÑ� bkpt 0x%08x\n"
 
-#: vms-alpha.c:6985
+#: vms-alpha.c:7140
 #, c-format
 msgid "epilog: flags: %u, count: %u\n"
 msgstr "Ñ�Ð¿Ð¸Ð»Ð¾Ð³: Ñ„Ð»Ð°Ð³Ð¸: %u, Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº: %u\n"
 
-#: vms-alpha.c:6994
+#: vms-alpha.c:7150
 #, c-format
 msgid "blkbeg: address: 0x%08x, name: %.*s\n"
 msgstr "blkbeg: Ð°Ð´Ñ€ÐµÑ�: 0x%08x, Ð¸Ð¼Ñ�: %.*s\n"
 
-#: vms-alpha.c:7003
+#: vms-alpha.c:7159
 #, c-format
 msgid "blkend: size: 0x%08x\n"
 msgstr "blkend: Ñ€Ð°Ð·Ð¼ÐµÑ€: 0x%08x\n"
 
-#: vms-alpha.c:7009
+#: vms-alpha.c:7165
 #, c-format
 msgid "typspec (len: %u)\n"
 msgstr "typspec (Ð´Ð»Ð¸Ð½Ð°: %u)\n"
 
-#: vms-alpha.c:7016
+#: vms-alpha.c:7172
 #, c-format
 msgid "septyp, name: %.*s\n"
 msgstr "septyp, Ð¸Ð¼Ñ�: %.*s\n"
 
-#: vms-alpha.c:7025
+#: vms-alpha.c:7181
 #, c-format
 msgid "recbeg: name: %.*s\n"
 msgstr "recbeg: Ð¸Ð¼Ñ�: %.*s\n"
 
-#: vms-alpha.c:7032
+#: vms-alpha.c:7183
+#, c-format
+msgid "    len: %u bits\n"
+msgstr "    Ð´Ð»Ð¸Ð½Ð°: %u Ð±Ð¸Ñ‚\n"
+
+#: vms-alpha.c:7188
 #, c-format
 msgid "recend\n"
 msgstr "recend\n"
 
-#: vms-alpha.c:7035
+#: vms-alpha.c:7192
 #, c-format
 msgid "enumbeg, len: %u, name: %.*s\n"
 msgstr "enumbeg, Ð´Ð»Ð¸Ð½Ð°: %u, Ð¸Ð¼Ñ�: %.*s\n"
 
-#: vms-alpha.c:7039
+#: vms-alpha.c:7196
 #, c-format
 msgid "enumelt, name: %.*s\n"
 msgstr "enumelt, Ð¸Ð¼Ñ�: %.*s\n"
 
-#: vms-alpha.c:7043
+#: vms-alpha.c:7200
 #, c-format
 msgid "enumend\n"
 msgstr "enumend\n"
 
-#: vms-alpha.c:7060
+#: vms-alpha.c:7205
+#, c-format
+msgid "label, name: %.*s\n"
+msgstr "Ð¼ÐµÑ‚ÐºÐ°, Ð¸Ð¼Ñ�: %.*s\n"
+
+#: vms-alpha.c:7207
+#, c-format
+msgid "    address: 0x%08x\n"
+msgstr "   Ð°Ð´Ñ€ÐµÑ�: 0x%08x\n"
+
+#: vms-alpha.c:7217
 #, c-format
 msgid "discontiguous range (nbr: %u)\n"
 msgstr "Ð½ÐµÑ�Ð¼ÐµÐ¶Ð½Ñ‹Ð¹ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ (nbr: %u)\n"
 
-#: vms-alpha.c:7062
+#: vms-alpha.c:7220
 #, c-format
 msgid "    address: 0x%08x, size: %u\n"
 msgstr "    Ð°Ð´Ñ€ÐµÑ�: 0x%08x, Ñ€Ð°Ð·Ð¼ÐµÑ€: %u\n"
 
-#: vms-alpha.c:7072
+#: vms-alpha.c:7230
 #, c-format
 msgid "line num  (len: %u)\n"
 msgstr "Ð½Ð¾Ð¼ÐµÑ€ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸ (Ð´Ð»Ð¸Ð½Ð°: %u)\n"
 
-#: vms-alpha.c:7089
+#: vms-alpha.c:7247
 #, c-format
 msgid "delta_pc_w %u\n"
 msgstr "delta_pc_w %u\n"
 
-#: vms-alpha.c:7096
+#: vms-alpha.c:7254
 #, c-format
 msgid "incr_linum(b): +%u\n"
 msgstr "incr_linum(b): +%u\n"
 
-#: vms-alpha.c:7102
+#: vms-alpha.c:7260
 #, c-format
 msgid "incr_linum_w: +%u\n"
 msgstr "incr_linum_w: +%u\n"
 
-#: vms-alpha.c:7108
+#: vms-alpha.c:7266
 #, c-format
 msgid "incr_linum_l: +%u\n"
 msgstr "incr_linum_l: +%u\n"
 
-#: vms-alpha.c:7114
+#: vms-alpha.c:7272
 #, c-format
 msgid "set_line_num(w) %u\n"
 msgstr "set_line_num(w) %u\n"
 
-#: vms-alpha.c:7119
+#: vms-alpha.c:7277
 #, c-format
 msgid "set_line_num_b %u\n"
 msgstr "set_line_num_b %u\n"
 
-#: vms-alpha.c:7124
+#: vms-alpha.c:7282
 #, c-format
 msgid "set_line_num_l %u\n"
 msgstr "set_line_num_l %u\n"
 
-#: vms-alpha.c:7129
+#: vms-alpha.c:7287
 #, c-format
 msgid "set_abs_pc: 0x%08x\n"
 msgstr "set_abs_pc: 0x%08x\n"
 
-#: vms-alpha.c:7133
+#: vms-alpha.c:7291
 #, c-format
 msgid "delta_pc_l: +0x%08x\n"
 msgstr "delta_pc_l: +0x%08x\n"
 
-#: vms-alpha.c:7138
+#: vms-alpha.c:7296
 #, c-format
 msgid "term(b): 0x%02x"
 msgstr "term(b): 0x%02x"
 
-#: vms-alpha.c:7140
+#: vms-alpha.c:7298
 #, c-format
 msgid "        pc: 0x%08x\n"
 msgstr "        pc: 0x%08x\n"
 
-#: vms-alpha.c:7145
+#: vms-alpha.c:7303
 #, c-format
 msgid "term_w: 0x%04x"
 msgstr "term_w: 0x%04x"
 
-#: vms-alpha.c:7147
+#: vms-alpha.c:7305
 #, c-format
 msgid "    pc: 0x%08x\n"
 msgstr "    pc: 0x%08x\n"
 
-#: vms-alpha.c:7153
+#: vms-alpha.c:7311
 #, c-format
 msgid "delta pc +%-4d"
 msgstr "delta pc +%-4d"
 
-#: vms-alpha.c:7156
+#: vms-alpha.c:7315
 #, c-format
 msgid "    pc: 0x%08x line: %5u\n"
 msgstr "    pc: 0x%08x Ñ�Ñ‚Ñ€Ð¾ÐºÐ°: %5u\n"
 
-#: vms-alpha.c:7161
+#: vms-alpha.c:7320
 #, c-format
 msgid "    *unhandled* cmd %u\n"
 msgstr "    *Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð°Ñ�* ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %u\n"
 
-#: vms-alpha.c:7176
+#: vms-alpha.c:7335
 #, c-format
 msgid "source (len: %u)\n"
 msgstr "Ð¸Ñ�Ñ‚Ð¾Ñ‡Ð½Ð¸Ðº (Ð´Ð»Ð¸Ð½Ð°: %u)\n"
 
-#: vms-alpha.c:7190
+#: vms-alpha.c:7350
 #, c-format
 msgid "   declfile: len: %u, flags: %u, fileid: %u\n"
 msgstr "   declfile: Ð´Ð»Ð¸Ð½Ð°: %u, Ñ„Ð»Ð°Ð³Ð¸: %u, fileid: %u\n"
 
-#: vms-alpha.c:7194
+#: vms-alpha.c:7355
 #, c-format
 msgid "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 msgstr "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 
-#: vms-alpha.c:7203
+#: vms-alpha.c:7364
 #, c-format
 msgid "   filename   : %.*s\n"
 msgstr "   Ð¸Ð¼Ñ� Ñ„Ð°Ð¹Ð»Ð°   : %.*s\n"
 
-#: vms-alpha.c:7212
+#: vms-alpha.c:7373
 #, c-format
 msgid "   setfile %u\n"
 msgstr "   setfile %u\n"
 
-#: vms-alpha.c:7217 vms-alpha.c:7222
+#: vms-alpha.c:7378 vms-alpha.c:7383
 #, c-format
 msgid "   setrec %u\n"
 msgstr "   setrec %u\n"
 
-#: vms-alpha.c:7227 vms-alpha.c:7232
+#: vms-alpha.c:7388 vms-alpha.c:7393
 #, c-format
 msgid "   setlnum %u\n"
 msgstr "   setlnum %u\n"
 
-#: vms-alpha.c:7237 vms-alpha.c:7242
+#: vms-alpha.c:7398 vms-alpha.c:7403
 #, c-format
 msgid "   deflines %u\n"
 msgstr "   deflines %u\n"
 
-#: vms-alpha.c:7246
+#: vms-alpha.c:7407
 #, c-format
 msgid "   formfeed\n"
 msgstr "   formfeed\n"
 
-#: vms-alpha.c:7250
+#: vms-alpha.c:7411
 #, c-format
 msgid "   *unhandled* cmd %u\n"
 msgstr "   *Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð°Ñ�* ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %u\n"
 
-#: vms-alpha.c:7262
+#: vms-alpha.c:7423
 #, c-format
 msgid "*unhandled* dst type %u\n"
 msgstr "*Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ð¹* Ñ‚Ð¸Ð¿ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ� %u\n"
 
-#: vms-alpha.c:7294
+#: vms-alpha.c:7455
 #, c-format
 msgid "cannot read EIHD\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ EIHD\n"
 
-#: vms-alpha.c:7297
+#: vms-alpha.c:7459
 #, c-format
 msgid "EIHD: (size: %u, nbr blocks: %u)\n"
 msgstr "EIHD: (Ñ€Ð°Ð·Ð¼ÐµÑ€: %u, nbr Ð±Ð»Ð¾ÐºÐ¾Ð²: %u)\n"
 
-#: vms-alpha.c:7300
+#: vms-alpha.c:7463
 #, c-format
 msgid " majorid: %u, minorid: %u\n"
 msgstr " majorid: %u, minorid: %u\n"
 
-#: vms-alpha.c:7308
+#: vms-alpha.c:7471
 msgid "executable"
 msgstr "Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹"
 
-#: vms-alpha.c:7311
+#: vms-alpha.c:7474
 msgid "linkable image"
 msgstr "ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÐ¼Ñ‹Ð¹ Ð¾Ð±Ñ€Ð°Ð·"
 
-#: vms-alpha.c:7317
+#: vms-alpha.c:7481
 #, c-format
 msgid " image type: %u (%s)"
 msgstr " Ñ‚Ð¸Ð¿ Ð¾Ð±Ñ€Ð°Ð·Ð°: %u (%s)"
 
-#: vms-alpha.c:7323
+#: vms-alpha.c:7487
 msgid "native"
 msgstr "Ñ€Ð¾Ð´Ð½Ð¾Ð¹"
 
-#: vms-alpha.c:7326
+#: vms-alpha.c:7490
 msgid "CLI"
 msgstr "CLI"
 
-#: vms-alpha.c:7332
+#: vms-alpha.c:7497
 #, c-format
 msgid ", subtype: %u (%s)\n"
 msgstr ", Ð¿Ð¾Ð´Ñ‚Ð¸Ð¿: %u (%s)\n"
 
-#: vms-alpha.c:7338
+#: vms-alpha.c:7504
 #, c-format
 msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
 msgstr " Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
 
-#: vms-alpha.c:7342
+#: vms-alpha.c:7508
 #, c-format
 msgid " fixup info rva: "
 msgstr " fixup info rva: "
 
-#: vms-alpha.c:7344
+#: vms-alpha.c:7510
 #, c-format
 msgid ", symbol vector rva: "
 msgstr ", Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð²ÐµÐºÑ‚Ð¾Ñ€ rva: "
 
-#: vms-alpha.c:7347
+#: vms-alpha.c:7513
 #, c-format
 msgid ""
 "\n"
@@ -5250,694 +7514,701 @@ msgstr ""
 "\n"
 " Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¼Ð°Ñ�Ñ�Ð¸Ð²Ð° Ð²ÐµÑ€Ñ�Ð¸Ð¹: %u\n"
 
-#: vms-alpha.c:7351
+#: vms-alpha.c:7518
 #, c-format
 msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
 msgstr " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
 
-#: vms-alpha.c:7357
+#: vms-alpha.c:7524
 #, c-format
 msgid " linker flags: %08x:"
 msgstr " Ñ„Ð»Ð°Ð³Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ°: %08x:"
 
-#: vms-alpha.c:7387
+#: vms-alpha.c:7555
 #, c-format
 msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
 msgstr " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
 
-#: vms-alpha.c:7393
+#: vms-alpha.c:7561
 #, c-format
 msgid " BPAGE: %u"
 msgstr " BPAGE: %u"
 
-#: vms-alpha.c:7399
+#: vms-alpha.c:7568
 #, c-format
 msgid ", ext fixup offset: %u, no_opt psect off: %u"
 msgstr ", ext fixup offset: %u, no_opt psect off: %u"
 
-#: vms-alpha.c:7402
+#: vms-alpha.c:7571
 #, c-format
 msgid ", alias: %u\n"
 msgstr ", Ð¿Ñ�ÐµÐ²Ð´Ð¾Ð½Ð¸Ð¼: %u\n"
 
-#: vms-alpha.c:7410
+#: vms-alpha.c:7579
 #, c-format
 msgid "system version array information:\n"
 msgstr "Ð¼Ð°Ñ�Ñ�Ð¸Ð² Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ð²ÐµÑ€Ñ�Ð¸Ð¸ Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ñ‹:\n"
 
-#: vms-alpha.c:7414
+#: vms-alpha.c:7583
 #, c-format
 msgid "cannot read EIHVN header\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº EIHVN\n"
 
-#: vms-alpha.c:7424
+#: vms-alpha.c:7593
 #, c-format
 msgid "cannot read EIHVN version\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð²ÐµÑ€Ñ�Ð¸ÑŽ EIHVN\n"
 
-#: vms-alpha.c:7427
+#: vms-alpha.c:7596
 #, c-format
 msgid "   %02u "
 msgstr "   %02u "
 
-#: vms-alpha.c:7431
+#: vms-alpha.c:7600
 msgid "BASE_IMAGE       "
 msgstr "BASE_IMAGE       "
 
-#: vms-alpha.c:7434
+#: vms-alpha.c:7603
 msgid "MEMORY_MANAGEMENT"
 msgstr "MEMORY_MANAGEMENT"
 
-#: vms-alpha.c:7437
+#: vms-alpha.c:7606
 msgid "IO               "
 msgstr "IO               "
 
-#: vms-alpha.c:7440
+#: vms-alpha.c:7609
 msgid "FILES_VOLUMES    "
 msgstr "FILES_VOLUMES    "
 
-#: vms-alpha.c:7443
+#: vms-alpha.c:7612
 msgid "PROCESS_SCHED    "
 msgstr "PROCESS_SCHED    "
 
-#: vms-alpha.c:7446
+#: vms-alpha.c:7615
 msgid "SYSGEN           "
 msgstr "SYSGEN           "
 
-#: vms-alpha.c:7449
+#: vms-alpha.c:7618
 msgid "CLUSTERS_LOCKMGR "
 msgstr "CLUSTERS_LOCKMGR "
 
-#: vms-alpha.c:7452
+#: vms-alpha.c:7621
 msgid "LOGICAL_NAMES    "
 msgstr "LOGICAL_NAMES    "
 
-#: vms-alpha.c:7455
+#: vms-alpha.c:7624
 msgid "SECURITY         "
 msgstr "SECURITY         "
 
-#: vms-alpha.c:7458
+#: vms-alpha.c:7627
 msgid "IMAGE_ACTIVATOR  "
 msgstr "IMAGE_ACTIVATOR  "
 
-#: vms-alpha.c:7461
+#: vms-alpha.c:7630
 msgid "NETWORKS         "
 msgstr "NETWORKS         "
 
-#: vms-alpha.c:7464
+#: vms-alpha.c:7633
 msgid "COUNTERS         "
 msgstr "COUNTERS         "
 
-#: vms-alpha.c:7467
+#: vms-alpha.c:7636
 msgid "STABLE           "
 msgstr "STABLE           "
 
-#: vms-alpha.c:7470
+#: vms-alpha.c:7639
 msgid "MISC             "
 msgstr "MISC             "
 
-#: vms-alpha.c:7473
+#: vms-alpha.c:7642
 msgid "CPU              "
 msgstr "CPU              "
 
-#: vms-alpha.c:7476
+#: vms-alpha.c:7645
 msgid "VOLATILE         "
 msgstr "VOLATILE         "
 
-#: vms-alpha.c:7479
+#: vms-alpha.c:7648
 msgid "SHELL            "
 msgstr "SHELL            "
 
-#: vms-alpha.c:7482
+#: vms-alpha.c:7651
 msgid "POSIX            "
 msgstr "POSIX            "
 
-#: vms-alpha.c:7485
+#: vms-alpha.c:7654
 msgid "MULTI_PROCESSING "
 msgstr "MULTI_PROCESSING "
 
-#: vms-alpha.c:7488
+#: vms-alpha.c:7657
 msgid "GALAXY           "
 msgstr "GALAXY           "
 
-#: vms-alpha.c:7491
+#: vms-alpha.c:7660
 msgid "*unknown*        "
 msgstr "*Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾*        "
 
-#: vms-alpha.c:7494
-#, c-format
-msgid ": %u.%u\n"
-msgstr ": %u.%u\n"
-
-#: vms-alpha.c:7507 vms-alpha.c:7766
+#: vms-alpha.c:7676 vms-alpha.c:7951
 #, c-format
 msgid "cannot read EIHA\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ EIHA\n"
 
-#: vms-alpha.c:7510
+#: vms-alpha.c:7679
 #, c-format
 msgid "Image activation:  (size=%u)\n"
 msgstr "Ð�ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ñ� Ð¾Ð±Ñ€Ð°Ð·Ð°:  (Ñ€Ð°Ð·Ð¼ÐµÑ€=%u)\n"
 
-#: vms-alpha.c:7512
+#: vms-alpha.c:7682
 #, c-format
 msgid " First address : 0x%08x 0x%08x\n"
 msgstr " ÐŸÐµÑ€Ð²Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7515
+#: vms-alpha.c:7686
 #, c-format
 msgid " Second address: 0x%08x 0x%08x\n"
 msgstr " Ð’Ñ‚Ð¾Ñ€Ð¾Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7518
+#: vms-alpha.c:7690
 #, c-format
 msgid " Third address : 0x%08x 0x%08x\n"
 msgstr " Ð¢Ñ€ÐµÑ‚Ð¸Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7521
+#: vms-alpha.c:7694
 #, c-format
 msgid " Fourth address: 0x%08x 0x%08x\n"
 msgstr " Ð§ÐµÑ‚Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7524
+#: vms-alpha.c:7698
 #, c-format
 msgid " Shared image  : 0x%08x 0x%08x\n"
 msgstr " ÐžÐ±Ñ‰Ð¸Ð¹ Ð¾Ð±Ñ€Ð°Ð·: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7535
+#: vms-alpha.c:7709
 #, c-format
 msgid "cannot read EIHI\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ EIHI\n"
 
-#: vms-alpha.c:7538
+#: vms-alpha.c:7713
 #, c-format
 msgid "Image identification: (major: %u, minor: %u)\n"
 msgstr "Ð˜Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ� Ð¾Ð±Ñ€Ð°Ð·Ð°: (Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð»Ð°Ð´ÑˆÐ¸Ð¹: %u)\n"
 
-#: vms-alpha.c:7541
+#: vms-alpha.c:7716
 #, c-format
 msgid " image name       : %.*s\n"
 msgstr " Ð¸Ð¼Ñ� Ð¾Ð±Ñ€Ð°Ð·Ð°       : %.*s\n"
 
-#: vms-alpha.c:7543
+#: vms-alpha.c:7718
 #, c-format
 msgid " link time        : %s\n"
 msgstr " Ð²Ñ€ÐµÐ¼Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ : %s\n"
 
-#: vms-alpha.c:7545
+#: vms-alpha.c:7720
 #, c-format
 msgid " image ident      : %.*s\n"
 msgstr " Ð¸Ð´ÐµÐ½Ñ‚-Ñ€ Ð¾Ð±Ñ€Ð°Ð·Ð°      : %.*s\n"
 
-#: vms-alpha.c:7547
+#: vms-alpha.c:7722
 #, c-format
 msgid " linker ident     : %.*s\n"
 msgstr " Ð¸Ð´ÐµÐ½Ñ‚-Ñ€ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ°: %.*s\n"
 
-#: vms-alpha.c:7549
+#: vms-alpha.c:7724
 #, c-format
 msgid " image build ident: %.*s\n"
 msgstr " Ð¸Ð´ÐµÐ½Ñ‚-Ñ€ Ñ�Ð±Ð¾Ñ€ÐºÐ¸ Ð¾Ð±Ñ€Ð°Ð·Ð°: %.*s\n"
 
-#: vms-alpha.c:7559
+#: vms-alpha.c:7734
 #, c-format
 msgid "cannot read EIHS\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ EIHS\n"
 
-#: vms-alpha.c:7562
+#: vms-alpha.c:7738
 #, c-format
 msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
 msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² & Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸ Ð¾Ð±Ñ€Ð°Ð·Ð°: (Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð»Ð°Ð´ÑˆÐ¸Ð¹: %u)\n"
 
-#: vms-alpha.c:7567
+#: vms-alpha.c:7744
 #, c-format
 msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
 msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²: vbn: %u, Ñ€Ð°Ð·Ð¼ÐµÑ€: %u (0x%x)\n"
 
-#: vms-alpha.c:7571
+#: vms-alpha.c:7749
 #, c-format
 msgid " global symbol table: vbn: %u, records: %u\n"
 msgstr " Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²: vbn: %u, Ð·Ð°Ð¿Ð¸Ñ�ÐµÐ¹: %u\n"
 
-#: vms-alpha.c:7575
+#: vms-alpha.c:7754
 #, c-format
 msgid " debug module table : vbn: %u, size: %u\n"
 msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹: vbn: %u, Ñ€Ð°Ð·Ð¼ÐµÑ€: %u\n"
 
-#: vms-alpha.c:7588
+#: vms-alpha.c:7767
 #, c-format
 msgid "cannot read EISD\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ EISD\n"
 
-#: vms-alpha.c:7598
+#: vms-alpha.c:7778
 #, c-format
 msgid "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
 msgstr "Ð”ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð¾Ð±Ñ€Ð°Ð·Ð°: (Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð»Ð°Ð´ÑˆÐ¸Ð¹: %u, Ñ€Ð°Ð·Ð¼ÐµÑ€: %u, Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: %u)\n"
 
-#: vms-alpha.c:7605
+#: vms-alpha.c:7786
 #, c-format
 msgid " section: base: 0x%08x%08x size: 0x%08x\n"
 msgstr " Ñ€Ð°Ð·Ð´ÐµÐ»: Ð±Ð°Ð·Ð°: 0x%08x%08x Ñ€Ð°Ð·Ð¼ÐµÑ€: 0x%08x\n"
 
-#: vms-alpha.c:7610
+#: vms-alpha.c:7791
 #, c-format
 msgid " flags: 0x%04x"
 msgstr " Ñ„Ð»Ð°Ð³Ð¸: 0x%04x"
 
-#: vms-alpha.c:7647
+#: vms-alpha.c:7829
 #, c-format
 msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
 msgstr " vbn: %u, pfc: %u, matchctl: %u Ñ‚Ð¸Ð¿: %u ("
 
-#: vms-alpha.c:7653
+#: vms-alpha.c:7835
 msgid "NORMAL"
 msgstr "NORMAL"
 
-#: vms-alpha.c:7656
+#: vms-alpha.c:7838
 msgid "SHRFXD"
 msgstr "SHRFXD"
 
-#: vms-alpha.c:7659
+#: vms-alpha.c:7841
 msgid "PRVFXD"
 msgstr "PRVFXD"
 
-#: vms-alpha.c:7662
+#: vms-alpha.c:7844
 msgid "SHRPIC"
 msgstr "SHRPIC"
 
-#: vms-alpha.c:7665
+#: vms-alpha.c:7847
 msgid "PRVPIC"
 msgstr "PRVPIC"
 
-#: vms-alpha.c:7668
+#: vms-alpha.c:7850
 msgid "USRSTACK"
 msgstr "USRSTACK"
 
-#: vms-alpha.c:7676
+#: vms-alpha.c:7856
+msgid ")\n"
+msgstr ")\n"
+
+#: vms-alpha.c:7859
 #, c-format
 msgid " ident: 0x%08x, name: %.*s\n"
 msgstr " Ð¸Ð´ÐµÐ½-Ñ€: 0x%08x, Ð¸Ð¼Ñ�: %.*s\n"
 
-#: vms-alpha.c:7686
+#: vms-alpha.c:7869
 #, c-format
 msgid "cannot read DMT\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ DMT\n"
 
-#: vms-alpha.c:7690
+#: vms-alpha.c:7873
 #, c-format
 msgid "Debug module table:\n"
 msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹:\n"
 
-#: vms-alpha.c:7699
+#: vms-alpha.c:7882
 #, c-format
 msgid "cannot read DMT header\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº DMT\n"
 
-#: vms-alpha.c:7704
+#: vms-alpha.c:7888
 #, c-format
 msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
 msgstr " Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð¼Ð¾Ð´ÑƒÐ»Ñ�: 0x%08x, Ñ€Ð°Ð·Ð¼ÐµÑ€: 0x%08x, (%u psects)\n"
 
-#: vms-alpha.c:7714
+#: vms-alpha.c:7898
 #, c-format
 msgid "cannot read DMT psect\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ DMT psect\n"
 
-#: vms-alpha.c:7717
+#: vms-alpha.c:7902
 #, c-format
 msgid "  psect start: 0x%08x, length: %u\n"
 msgstr "  Ð½Ð°Ñ‡Ð°Ð»Ð¾ psect: 0x%08x, Ð´Ð»Ð¸Ð½Ð°: %u\n"
 
-#: vms-alpha.c:7730
+#: vms-alpha.c:7915
 #, c-format
 msgid "cannot read DST\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ DST\n"
 
-#: vms-alpha.c:7740
+#: vms-alpha.c:7925
 #, c-format
 msgid "cannot read GST\n"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ GST\n"
 
-#: vms-alpha.c:7744
+#: vms-alpha.c:7929
 #, c-format
 msgid "Global symbol table:\n"
 msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð²:\n"
 
-#: vms-alpha.c:7772
+#: vms-alpha.c:7958
 #, c-format
 msgid "Image activator fixup: (major: %u, minor: %u)\n"
 msgstr "Ð�ÐºÑ‚Ð¸Ð²Ð°Ñ‚Ð¾Ñ€ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð¾Ð±Ñ€Ð°Ð·Ð°: (Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð»Ð°Ð´ÑˆÐ¸Ð¹: %u)\n"
 
-#: vms-alpha.c:7775
+#: vms-alpha.c:7962
 #, c-format
 msgid "  iaflink : 0x%08x %08x\n"
 msgstr "  iaflink : 0x%08x %08x\n"
 
-#: vms-alpha.c:7778
+#: vms-alpha.c:7966
 #, c-format
 msgid "  fixuplnk: 0x%08x %08x\n"
 msgstr "  fixuplnk: 0x%08x %08x\n"
 
-#: vms-alpha.c:7781
+#: vms-alpha.c:7969
 #, c-format
 msgid "  size : %u\n"
 msgstr "  Ñ€Ð°Ð·Ð¼ÐµÑ€: %u\n"
 
-#: vms-alpha.c:7783
+#: vms-alpha.c:7971
 #, c-format
 msgid "  flags: 0x%08x\n"
 msgstr "  Ñ„Ð»Ð°Ð³Ð¸: 0x%08x\n"
 
-#: vms-alpha.c:7787
+#: vms-alpha.c:7976
 #, c-format
 msgid "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 msgstr "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 
-#: vms-alpha.c:7791
+#: vms-alpha.c:7981
 #, c-format
 msgid "  qdotadroff: %5u, ldotadroff: %5u\n"
 msgstr "  qdotadroff: %5u, ldotadroff: %5u\n"
 
-#: vms-alpha.c:7795
+#: vms-alpha.c:7986
 #, c-format
 msgid "  codeadroff: %5u, lpfixoff  : %5u\n"
 msgstr "  codeadroff: %5u, lpfixoff  : %5u\n"
 
-#: vms-alpha.c:7798
+#: vms-alpha.c:7989
 #, c-format
 msgid "  chgprtoff : %5u\n"
 msgstr "  chgprtoff : %5u\n"
 
-#: vms-alpha.c:7801
+#: vms-alpha.c:7993
 #, c-format
 msgid "  shlstoff  : %5u, shrimgcnt : %5u\n"
 msgstr "  shlstoff  : %5u, shrimgcnt : %5u\n"
 
-#: vms-alpha.c:7803
+#: vms-alpha.c:7996
 #, c-format
 msgid "  shlextra  : %5u, permctx   : %5u\n"
 msgstr "  shlextra  : %5u, permctx   : %5u\n"
 
-#: vms-alpha.c:7806
+#: vms-alpha.c:7999
 #, c-format
 msgid "  base_va : 0x%08x\n"
 msgstr "  base_va : 0x%08x\n"
 
-#: vms-alpha.c:7808
+#: vms-alpha.c:8001
 #, c-format
 msgid "  lppsbfixoff: %5u\n"
 msgstr "  lppsbfixoff: %5u\n"
 
-#: vms-alpha.c:7816
+#: vms-alpha.c:8009
 #, c-format
 msgid " Shareable images:\n"
 msgstr " ÐžÐ±Ñ‰Ð¸Ðµ Ð¾Ð±Ñ€Ð°Ð·Ñ‹:\n"
 
-#: vms-alpha.c:7820
+#: vms-alpha.c:8014
 #, c-format
 msgid "  %u: size: %u, flags: 0x%02x, name: %.*s\n"
 msgstr "  %u: Ñ€Ð°Ð·Ð¼ÐµÑ€: %u, Ñ„Ð»Ð°Ð³Ð¸: 0x%02x, Ð¸Ð¼Ñ�: %.*s\n"
 
-#: vms-alpha.c:7827
+#: vms-alpha.c:8021
 #, c-format
 msgid " quad-word relocation fixups:\n"
 msgstr " Ñ‡ÐµÑ‚Ð²ÐµÑ€Ð½Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ñ‹Ñ… Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹:\n"
 
-#: vms-alpha.c:7832
+#: vms-alpha.c:8026
 #, c-format
 msgid " long-word relocation fixups:\n"
 msgstr " Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ñ‹Ñ… Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹:\n"
 
-#: vms-alpha.c:7837
+#: vms-alpha.c:8031
 #, c-format
 msgid " quad-word .address reference fixups:\n"
 msgstr " Ñ‡ÐµÑ‚Ð²ÐµÑ€Ð½Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾ Ñ�Ñ�Ñ‹Ð»Ð¾Ñ‡Ð½Ñ‹Ñ… Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ .address:\n"
 
-#: vms-alpha.c:7842
+#: vms-alpha.c:8036
 #, c-format
 msgid " long-word .address reference fixups:\n"
 msgstr " Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ Ñ�Ð»Ð¾Ð²Ð¾ Ñ�Ñ�Ñ‹Ð»Ð¾Ñ‡Ð½Ñ‹Ñ… Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ .address:\n"
 
-#: vms-alpha.c:7847
+#: vms-alpha.c:8041
 #, c-format
 msgid " Code Address Reference Fixups:\n"
 msgstr " Ð¡Ñ�Ñ‹Ð»Ð¾Ñ‡Ð½Ñ‹Ðµ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð°Ð´Ñ€ÐµÑ�Ð° ÐºÐ¾Ð´Ð°:\n"
 
-#: vms-alpha.c:7852
+#: vms-alpha.c:8046
 #, c-format
-msgid " Linkage Pairs Referece Fixups:\n"
+msgid " Linkage Pairs Reference Fixups:\n"
 msgstr " Ð¡Ñ�Ñ‹Ð»Ð¾Ñ‡Ð½Ñ‹Ðµ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐµÐ¼Ñ‹Ñ… Ð¿Ð°Ñ€:\n"
 
-#: vms-alpha.c:7861
+#: vms-alpha.c:8055
 #, c-format
 msgid " Change Protection (%u entries):\n"
 msgstr " Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð·Ð°Ñ‰Ð¸Ñ‚Ñ‹ (%u Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð²):\n"
 
-#: vms-alpha.c:7866
+#: vms-alpha.c:8061
 #, c-format
 msgid "  base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
 msgstr "  Ð±Ð°Ð·Ð°: 0x%08x %08x, Ñ€Ð°Ð·Ð¼ÐµÑ€: 0x%08x, prot: 0x%08x "
 
 #. FIXME: we do not yet support relocatable link.  It is not obvious
 #. how to do it for debug infos.
-#: vms-alpha.c:8706
+#: vms-alpha.c:8901
 msgid "%P: relocatable link is not supported\n"
 msgstr "%P: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ð°Ñ� Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚Ñ�Ñ�\n"
 
-#: vms-alpha.c:8776
+#: vms-alpha.c:8972
+#, c-format
 msgid "%P: multiple entry points: in modules %B and %B\n"
 msgstr "%P: Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ñ‚Ð¾Ñ‡ÐµÐº Ð²Ñ…Ð¾Ð´Ð°: Ð² Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… %B Ð¸ %B\n"
 
-#: vms-lib.c:1423
+#: vms-lib.c:1445
 #, c-format
 msgid "could not open shared image '%s' from '%s'"
 msgstr "Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ Ð¾Ð±Ñ‰Ð¸Ð¹ Ð¾Ð±Ñ€Ð°Ð· Â«%sÂ» Ð¸Ð· Â«%sÂ»"
 
-#: vms-misc.c:360
+#: vms-misc.c:361
 msgid "_bfd_vms_output_counted called with zero bytes"
 msgstr "Ð’Ñ‹Ð·Ð¾Ð² _bfd_vms_output_counted Ñ� Ð½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾Ð¼ Ð±Ð°Ð¹Ñ‚"
 
-#: vms-misc.c:365
+#: vms-misc.c:366
 msgid "_bfd_vms_output_counted called with too many bytes"
 msgstr "Ð’Ñ‹Ð·Ð¾Ð² _bfd_vms_output_counted Ñ�Ð¾ Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ�Ñ‚Ð²Ð¾Ð¼ Ð±Ð°Ð¹Ñ‚"
 
-#: xcofflink.c:836
-#, c-format
-msgid "%s: XCOFF shared object when not producing XCOFF output"
-msgstr "%s: Ð¾Ð±Ñ‰Ð¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ XCOFF Ð±ÐµÐ· Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ� Ð²Ñ‹Ð²Ð¾Ð´Ð° XCOFF"
+#: xcofflink.c:832
+msgid "%B: XCOFF shared object when not producing XCOFF output"
+msgstr "%B: Ð¾Ð±Ñ‰Ð¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ XCOFF Ð±ÐµÐ· Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ� Ð²Ñ‹Ð²Ð¾Ð´Ð° XCOFF"
+
+#: xcofflink.c:853
+msgid "%B: dynamic object with no .loader section"
+msgstr "%B: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ Ð±ÐµÐ· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .loader"
 
-#: xcofflink.c:857
+#: xcofflink.c:1413
 #, c-format
-msgid "%s: dynamic object with no .loader section"
-msgstr "%s: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ Ð±ÐµÐ· Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .loader"
-
-#: xcofflink.c:1416
 msgid "%B: `%s' has line numbers but no enclosing section"
 msgstr "%B: Â«%sÂ» Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ�Ñ‚Ñ€Ð¾Ðº, Ð½Ð¾ Ð² Ð¾Ð±Ñ€Ð°Ð¼Ð»Ñ�ÑŽÑ‰ÐµÐ¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ"
 
-#: xcofflink.c:1468
+#: xcofflink.c:1466
+#, c-format
 msgid "%B: class %d symbol `%s' has no aux entries"
 msgstr "%B: ÐºÐ»Ð°Ñ�Ñ� %d Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ» Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² aux"
 
-#: xcofflink.c:1490
+#: xcofflink.c:1489
+#, c-format
 msgid "%B: symbol `%s' has unrecognized csect type %d"
 msgstr "%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ csect: %d"
 
 #: xcofflink.c:1502
-msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"
-msgstr "%B: Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» XTY_ER Â«%sÂ»: ÐºÐ»Ð°Ñ�Ñ� %d scnum %d scnlen %d"
+#, c-format
+msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld"
+msgstr "%B: Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» XTY_ER Â«%sÂ»: ÐºÐ»Ð°Ñ�Ñ� %d scnum %d scnlen %Ld"
 
-#: xcofflink.c:1531
-msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d"
-msgstr "%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» XMC_TC0 Â«%sÂ» Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� ÐºÐ»Ð°Ñ�Ñ�Ð¾Ð¼ %d scnlen %d"
+#: xcofflink.c:1532
+#, c-format
+msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld"
+msgstr "%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» XMC_TC0 Â«%sÂ» Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� ÐºÐ»Ð°Ñ�Ñ�Ð¾Ð¼ %d scnlen %Ld"
 
-#: xcofflink.c:1677
+#: xcofflink.c:1679
+#, c-format
 msgid "%B: csect `%s' not in enclosing section"
 msgstr "%B: csect Â«%sÂ» Ð½Ðµ Ð² Ð¾Ð±Ñ€Ð°Ð¼Ð»Ñ�ÑŽÑ‰ÐµÐ¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ"
 
-#: xcofflink.c:1784
+#: xcofflink.c:1787
+#, c-format
 msgid "%B: misplaced XTY_LD `%s'"
 msgstr "%B: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ Ñ€Ð°Ñ�Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ð¹ XTY_LD Â«%sÂ»"
 
-#: xcofflink.c:2103
-msgid "%B: reloc %s:%d not in csect"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s:%d Ð½Ðµ Ð² csect"
+#: xcofflink.c:2108
+#, c-format
+msgid "%B: reloc %s:%Ld not in csect"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s:%Ld Ð½Ðµ Ð² csect"
 
-#: xcofflink.c:3194
+#: xcofflink.c:3198
 #, c-format
 msgid "%s: no such symbol"
 msgstr "%s: Ð½ÐµÑ‚ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°"
 
-#: xcofflink.c:3299
+#: xcofflink.c:3303
 #, c-format
 msgid "warning: attempt to export undefined symbol `%s'"
 msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»"
 
-#: xcofflink.c:3678
+#: xcofflink.c:3682
 msgid "error: undefined symbol __rtinit"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» __rtinit"
 
-#: xcofflink.c:4057
+#: xcofflink.c:4062
+#, c-format
 msgid "%B: loader reloc in unrecognized section `%s'"
 msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ° Ð² Ð½ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%sÂ»"
 
-#: xcofflink.c:4068
+#: xcofflink.c:4074
+#, c-format
 msgid "%B: `%s' in loader reloc but not loader sym"
 msgstr "%B: Â«%sÂ» Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¸ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ°, Ð½Ð¾ Ð½Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ°"
 
-#: xcofflink.c:4084
+#: xcofflink.c:4091
+#, c-format
 msgid "%B: loader reloc in read-only section %A"
 msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ñ‡Ð¸ÐºÐ° Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ %A, Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð¼ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�"
 
-#: xcofflink.c:5106
+#: xcofflink.c:5115
+#, c-format
+msgid "TOC overflow: %#Lx > 0x10000; try -mminimal-toc when compiling"
+msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ TOC: %#Lx > 0x10000; Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� -mminimal-toc"
+
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:1890
 #, c-format
-msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
-msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ TOC: 0x%lx > 0x10000; Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ� -mminimal-toc"
+msgid "Invalid AArch64 reloc number: %d"
+msgstr "Ð�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� AArch64: %d"
 
-#: elf32-ia64.c:628 elf64-ia64.c:628
-msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
-msgstr "%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ�Ð»Ð°Ð±Ð¸Ñ‚ÑŒ br Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ». Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ brl Ð¸Ð»Ð¸ ÐºÐ¾Ñ�Ð²ÐµÐ½Ð½Ð¾Ðµ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ."
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:4779
+msgid "%B: error: Erratum 835769 stub out of range (input file too large)"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð´Ð»Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¸ 835769 Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ„Ð°Ð¹Ð»)"
 
-#: elf32-ia64.c:2284 elf64-ia64.c:2284
-msgid "@pltoff reloc against local symbol"
-msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @pltoff Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:4860
+msgid "%B: error: Erratum 843419 stub out of range (input file too large)"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ° Ð´Ð»Ñ� Ð¾ÑˆÐ¸Ð±ÐºÐ¸ 843419 Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¹ Ñ„Ð°Ð¹Ð»)"
 
-#: elf32-ia64.c:3687 elf64-ia64.c:3687
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5366
 #, c-format
-msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
-msgstr "%s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° Ð´Ð°Ð½Ð½Ñ‹Ñ… (0x%lx >= 0x400000)"
+msgid "%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Â«%sÂ», ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð¿Ñ€Ð¸Ð²Ñ�Ð·Ð°Ð½ Ð¸Ð·Ð²Ð½Ðµ, Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� -fPIC"
 
-#: elf32-ia64.c:3698 elf64-ia64.c:3698
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5457
 #, c-format
-msgid "%s: __gp does not cover short data segment"
-msgstr "%s: __gp Ð½Ðµ Ð¿Ð¾ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð´Ð°Ð½Ð½Ñ‹Ñ…"
-
-#: elf32-ia64.c:3965 elf64-ia64.c:3965
-msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
-msgstr "%B: Ð½Ðµ-pic ÐºÐ¾Ð´ Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ imm Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° Â«%sÂ»"
-
-#: elf32-ia64.c:4032 elf64-ia64.c:4032
-msgid "%B: @gprel relocation against dynamic symbol %s"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @gprel Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
+msgid "%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol"
+msgstr "%B: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¾Ð¿Ð¸Ñ�Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð±ÑƒÐ´ÐµÑ‚ Ñ€Ð°Ð²Ð½Ð° NULL, ÐµÑ�Ð»Ð¸ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼"
 
-#: elf32-ia64.c:4095 elf64-ia64.c:4095
-msgid "%B: linking non-pic code in a position independent executable"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ð½Ðµ-pic ÐºÐ¾Ð´Ð° Ð² Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ð¹ Ð¸Ñ�Ð¿Ð¾Ð»Ð½Ñ�ÐµÐ¼Ñ‹Ð¹"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6479
+msgid "Too many GOT entries for -fpic, please recompile with -fPIC"
+msgstr "Ð¡Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð½Ð¾Ð³Ð¾ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² GOT Ð´Ð»Ñ� -fpic: Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -fPIC"
 
-#: elf32-ia64.c:4232 elf64-ia64.c:4232
-msgid "%B: @internal branch to dynamic symbol %s"
-msgstr "%B: Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ @internal Ðº Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6507
+msgid "One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined."
+msgstr "ÐžÐ´Ð½Ð¾Ð¹ Ð¸Ð· Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ‹Ñ… Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½ Ñ�Ñ‚Ð¾Ð¹ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ñ‚Ð¾, Ñ‡Ñ‚Ð¾ Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¼ ÐºÐ¾Ð´Ðµ Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ�Ñ�Ñ‹Ð»Ð°ÑŽÑ‚Ñ�Ñ� Ñ� Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸ÐµÐ¼, Ñ‡ÐµÐ¼ Ð±Ñ‹Ð»Ð¾ Ð¾Ð±ÑŠÑ�Ð²Ð»ÐµÐ½Ð¾ Ð² ÐµÐ³Ð¾ Ð¼ÐµÑ�Ñ‚Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ�."
 
-#: elf32-ia64.c:4234 elf64-ia64.c:4234
-msgid "%B: speculation fixup to dynamic symbol %s"
-msgstr "%B: Ð´Ð¾Ð³Ð°Ð´ÐºÐ° Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7084
+#, c-format
+msgid "%B: relocation %s against `%s' can not be used when making a shared object"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
 
-#: elf32-ia64.c:4236 elf64-ia64.c:4236
-msgid "%B: @pcrel relocation against dynamic symbol %s"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ @pcrel Ð´Ð»Ñ� Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð° %s"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2570
+msgid ""
+"%B: ABI is incompatible with that of the selected emulation:\n"
+"  target emulation `%s' does not match `%s'"
+msgstr ""
+"%B: ABI Ð½Ðµ Ñ�Ð¾Ð²Ð¼ÐµÑ�Ñ‚Ð¸Ð¼ Ñ� Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ Ð² Ñ�Ð¼ÑƒÐ»Ñ�Ñ†Ð¸Ð¸:\n"
+"  Ñ†ÐµÐ»ÑŒ Ñ�Ð¼ÑƒÐ»Ñ�Ñ†Ð¸Ð¸ Â«%sÂ» Ð½Ðµ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Â«%sÂ»"
 
-#: elf32-ia64.c:4433 elf64-ia64.c:4433
-msgid "unsupported reloc"
-msgstr "Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2590
+msgid "%B: can't link hard-float modules with soft-float modules"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼Ð¾Ð´ÑƒÐ»Ð¸ Ñ� Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾Ð¹ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‰Ð¸Ð¼Ð¸ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ"
 
-#: elf32-ia64.c:4471 elf64-ia64.c:4471
-msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
-msgstr "%B: Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ TLS-Ñ€Ð°Ð·Ð´ÐµÐ» Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð´Ð»Ñ� Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ»."
-
-#: elf32-ia64.c:4486 elf64-ia64.c:4486
-msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
-msgstr "%B: Ð�ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ�Ð»Ð°Ð±Ð¸Ñ‚ÑŒ br (%s) Ð´Ð¾ Â«%sÂ» Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ Â«%AÂ» Ñ� Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ 0x%lx (> 0x1000000)."
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:3070
+msgid "%B(%A+0x%lx): %d bytes required for alignment to %d-byte boundary, but only %d present"
+msgstr "%B(%A+0x%lx): Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚Ñ�Ñ� %d Ð±Ð°Ð¹Ñ‚ Ð´Ð»Ñ� Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ� Ð¿Ð¾ %d-Ð±Ð°Ð¹Ñ‚Ð½Ð¾Ð¹ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ, Ð½Ð¾ ÐµÑ�Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ %d"
 
-#: elf32-ia64.c:4748 elf64-ia64.c:4748
-msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° trap-on-NULL-dereference Ñ� Ð½Ðµ-trapping Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
+#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:3136
+msgid "%B(%A+0x%lx): Unable to clear RISCV_PCREL_HI20 relocfor cooresponding RISCV_PCREL_LO12 reloc"
+msgstr "%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¾Ñ‡Ð¸Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ RISCV_PCREL_HI20 Ð´Ð»Ñ� Ñ�Ð¾Ð¾Ñ‚Ð²ÐµÑ‚Ñ�Ñ‚Ð²ÑƒÑŽÑ‰ÐµÐ³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� RISCV_PCREL_LO12"
 
-#: elf32-ia64.c:4757 elf64-ia64.c:4757
-msgid "%B: linking big-endian files with little-endian files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð¿Ñ€Ñ�Ð¼Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚ Ñ� Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ñ� Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚"
+#: peigen.c:157 pepigen.c:157 pex64igen.c:157
+msgid "%B: unable to find name for empty section"
+msgstr "%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¸Ð¼Ñ� Ð¿ÑƒÑ�Ñ‚Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°"
 
-#: elf32-ia64.c:4766 elf64-ia64.c:4766
-msgid "%B: linking 64-bit files with 32-bit files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° 64-Ð±Ð¸Ñ‚Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� 32-Ð±Ð¸Ñ‚Ð½Ñ‹Ð¼Ð¸ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
+#: peigen.c:183 pepigen.c:183 pex64igen.c:183
+msgid "%B: out of memory creating name for empty section"
+msgstr "%B: Ð½Ðµ Ñ…Ð²Ð°Ñ‚Ð°ÐµÑ‚ Ð¿Ð°Ð¼Ñ�Ñ‚Ð¸ Ð´Ð»Ñ� Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ� Ð¸Ð¼ÐµÐ½Ð¸ Ð¿ÑƒÑ�Ñ‚Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°"
 
-#: elf32-ia64.c:4775 elf64-ia64.c:4775
-msgid "%B: linking constant-gp files with non-constant-gp files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° constant-gp Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð½Ðµ-constant-gp Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
+#: peigen.c:194 pepigen.c:194 pex64igen.c:194
+msgid "%B: unable to create fake empty section"
+msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ñ�Ð¾Ð·Ð´Ð°Ñ‚ÑŒ Ñ„Ð¸ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ð¹ Ð¿ÑƒÑ�Ñ‚Ð¾Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ»"
 
-#: elf32-ia64.c:4785 elf64-ia64.c:4785
-msgid "%B: linking auto-pic files with non-auto-pic files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° auto-pic Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ� Ð½Ðµ-auto-pic Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
+#: peigen.c:532 pepigen.c:532 pex64igen.c:532
+msgid "%B: aout header specifies an invalid number of data-directory entries: %ld"
+msgstr "%B: Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ aout ÑƒÐºÐ°Ð·Ð°Ð½ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ð´Ð°Ð½Ð½Ñ‹Ñ…: %ld"
 
-#: peigen.c:1002 pepigen.c:1002 pex64igen.c:1002
+#: peigen.c:1089 pepigen.c:1089 pex64igen.c:1089
 #, c-format
-msgid "%s: line number overflow: 0x%lx > 0xffff"
-msgstr "%s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñ�Ñ‚Ñ€Ð¾Ðº: 0x%lx > 0xffff"
+msgid "%B: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñ�Ñ‚Ñ€Ð¾Ðº: 0x%lx > 0xffff"
 
-#: peigen.c:1029 pepigen.c:1029 pex64igen.c:1029
+#: peigen.c:1233 pepigen.c:1233 pex64igen.c:1233
 msgid "Export Directory [.edata (or where ever we found it)]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° [.edata (Ð¸Ð»Ð¸ Ð³Ð´Ðµ Ð¾Ð½ Ð½Ð°ÑˆÑ‘Ð»Ñ�Ñ�)]"
 
-#: peigen.c:1030 pepigen.c:1030 pex64igen.c:1030
+#: peigen.c:1234 pepigen.c:1234 pex64igen.c:1234
 msgid "Import Directory [parts of .idata]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° [Ñ‡Ð°Ñ�Ñ‚ÑŒ .idata]"
 
-#: peigen.c:1031 pepigen.c:1031 pex64igen.c:1031
+#: peigen.c:1235 pepigen.c:1235 pex64igen.c:1235
 msgid "Resource Directory [.rsrc]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ€ÐµÑ�ÑƒÑ€Ñ�Ð¾Ð² [.rsrc]"
 
-#: peigen.c:1032 pepigen.c:1032 pex64igen.c:1032
+#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236
 msgid "Exception Directory [.pdata]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¸Ñ�ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹ [.pdata]"
 
-#: peigen.c:1033 pepigen.c:1033 pex64igen.c:1033
+#: peigen.c:1237 pepigen.c:1237 pex64igen.c:1237
 msgid "Security Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñ�Ð½Ð¾Ñ�Ñ‚Ð¸"
 
-#: peigen.c:1034 pepigen.c:1034 pex64igen.c:1034
+#: peigen.c:1238 pepigen.c:1238 pex64igen.c:1238
 msgid "Base Relocation Directory [.reloc]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� [.reloc]"
 
-#: peigen.c:1035 pepigen.c:1035 pex64igen.c:1035
+#: peigen.c:1239 pepigen.c:1239 pex64igen.c:1239
 msgid "Debug Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸"
 
-#: peigen.c:1036 pepigen.c:1036 pex64igen.c:1036
+#: peigen.c:1240 pepigen.c:1240 pex64igen.c:1240
 msgid "Description Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ð¹"
 
-#: peigen.c:1037 pepigen.c:1037 pex64igen.c:1037
+#: peigen.c:1241 pepigen.c:1241 pex64igen.c:1241
 msgid "Special Directory"
 msgstr "Ð¡Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³"
 
-#: peigen.c:1038 pepigen.c:1038 pex64igen.c:1038
+#: peigen.c:1242 pepigen.c:1242 pex64igen.c:1242
 msgid "Thread Storage Directory [.tls]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰Ð° Ð½Ð¸Ñ‚ÐµÐ¹ [.tls]"
 
-#: peigen.c:1039 pepigen.c:1039 pex64igen.c:1039
+#: peigen.c:1243 pepigen.c:1243 pex64igen.c:1243
 msgid "Load Configuration Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸"
 
-#: peigen.c:1040 pepigen.c:1040 pex64igen.c:1040
+#: peigen.c:1244 pepigen.c:1244 pex64igen.c:1244
 msgid "Bound Import Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ð±Ñ�Ð·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°"
 
-#: peigen.c:1041 pepigen.c:1041 pex64igen.c:1041
+#: peigen.c:1245 pepigen.c:1245 pex64igen.c:1245
 msgid "Import Address Table Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾Ð²"
 
-#: peigen.c:1042 pepigen.c:1042 pex64igen.c:1042
+#: peigen.c:1246 pepigen.c:1246 pex64igen.c:1246
 msgid "Delay Import Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ñ‚Ð»Ð¾Ð¶ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°"
 
-#: peigen.c:1043 pepigen.c:1043 pex64igen.c:1043
+#: peigen.c:1247 pepigen.c:1247 pex64igen.c:1247
 msgid "CLR Runtime Header"
 msgstr "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ� CLR"
 
-#: peigen.c:1044 pepigen.c:1044 pex64igen.c:1044
+#: peigen.c:1248 pepigen.c:1248 pex64igen.c:1248
 msgid "Reserved"
 msgstr "Ð—Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾"
 
-#: peigen.c:1104 pepigen.c:1104 pex64igen.c:1104
+#: peigen.c:1308 pepigen.c:1308 pex64igen.c:1308
 #, c-format
 msgid ""
 "\n"
@@ -5946,7 +8217,16 @@ msgstr ""
 "\n"
 "Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°, Ð½Ð¾ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ€Ð°Ð·Ð´ÐµÐ», Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¼ Ð¾Ð½Ð° Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚Ñ�Ñ�\n"
 
-#: peigen.c:1109 pepigen.c:1109 pex64igen.c:1109
+#: peigen.c:1314 pepigen.c:1314 pex64igen.c:1314
+#, c-format
+msgid ""
+"\n"
+"There is an import table in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° Ð² %s, Ð½Ð¾ Ñ�Ñ‚Ð¾Ñ‚ Ñ€Ð°Ð·Ð´ÐµÐ» Ð±ÐµÐ· Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾\n"
+
+#: peigen.c:1321 pepigen.c:1321 pex64igen.c:1321
 #, c-format
 msgid ""
 "\n"
@@ -5955,7 +8235,7 @@ msgstr ""
 "\n"
 "Ð’ %s Ð¸Ð¼ÐµÐµÑ‚Ñ�Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx\n"
 
-#: peigen.c:1151 pepigen.c:1151 pex64igen.c:1151
+#: peigen.c:1363 pepigen.c:1363 pex64igen.c:1363
 #, c-format
 msgid ""
 "\n"
@@ -5964,12 +8244,12 @@ msgstr ""
 "\n"
 "Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ� Ð¾Ð¿Ð¸Ñ�Ð°Ñ‚ÐµÐ»Ñ� Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸: %04lx\n"
 
-#: peigen.c:1154 pepigen.c:1154 pex64igen.c:1154
+#: peigen.c:1367 pepigen.c:1367 pex64igen.c:1367
 #, c-format
 msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
 msgstr "\tcode-base %08lx toc (Ð·Ð°Ð³Ñ€ÑƒÐ¶Ð°ÐµÐ¼Ñ‹Ð¹/Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ð¹) %08lx/%08lx\n"
 
-#: peigen.c:1162 pepigen.c:1162 pex64igen.c:1162
+#: peigen.c:1375 pepigen.c:1375 pex64igen.c:1375
 #, c-format
 msgid ""
 "\n"
@@ -5978,7 +8258,7 @@ msgstr ""
 "\n"
 "Ð�ÐµÑ‚ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° reldata! ÐžÐ¿Ð¸Ñ�Ð°Ñ‚ÐµÐ»ÑŒ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Ð½Ðµ Ñ€Ð°Ñ�ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½.\n"
 
-#: peigen.c:1167 pepigen.c:1167 pex64igen.c:1167
+#: peigen.c:1380 pepigen.c:1380 pex64igen.c:1380
 #, c-format
 msgid ""
 "\n"
@@ -5987,7 +8267,7 @@ msgstr ""
 "\n"
 "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° (Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» %s)\n"
 
-#: peigen.c:1170 pepigen.c:1170 pex64igen.c:1170
+#: peigen.c:1383 pepigen.c:1383 pex64igen.c:1383
 #, c-format
 msgid ""
 " vma:            Hint    Time      Forward  DLL       First\n"
@@ -5996,21 +8276,21 @@ msgstr ""
 " vma:            Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð°    ÐžÑ‚Ð¼ÐµÑ‚ÐºÐ°   Ð¦ÐµÐ¿Ð¾Ñ‡ÐºÐ°    Ð˜Ð¼Ñ�       ÐŸÐµÑ€Ð²Ñ‹Ð¹\n"
 "                  Ð£ÐºÐ°Ð·Ð°Ð½Ð¸Ð¹  Ð’Ñ€ÐµÐ¼ÐµÐ½Ð¸   ÐŸÐµÑ€ÐµÑ�Ñ‹Ð»ÐºÐ¸  DLL       Ð¨Ð»ÑŽÐ·\n"
 
-#: peigen.c:1218 pepigen.c:1218 pex64igen.c:1218
+#: peigen.c:1433 pepigen.c:1433 pex64igen.c:1433
 #, c-format
 msgid ""
 "\n"
-"\tDLL Name: %s\n"
+"\tDLL Name: %.*s\n"
 msgstr ""
 "\n"
-"\tÐ˜Ð¼Ñ� DLL: %s\n"
+"\tÐ˜Ð¼Ñ� DLL: %.*s\n"
 
-#: peigen.c:1229 pepigen.c:1229 pex64igen.c:1229
+#: peigen.c:1449 pepigen.c:1449 pex64igen.c:1449
 #, c-format
 msgid "\tvma:  Hint/Ord Member-Name Bound-To\n"
 msgstr "\tvma:  Hint/Ord Ð˜Ð¼Ñ�-Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° ÐŸÑ€Ð¸Ð²Ñ�Ð·Ð°Ð½-Ðº\n"
 
-#: peigen.c:1254 pepigen.c:1254 pex64igen.c:1254
+#: peigen.c:1474 pepigen.c:1474 pex64igen.c:1474
 #, c-format
 msgid ""
 "\n"
@@ -6019,7 +8299,13 @@ msgstr ""
 "\n"
 "Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ð¿ÐµÑ€Ð²Ñ‹Ð¹ ÑˆÐ»ÑŽÐ·, Ð½Ð¾ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ€Ð°Ð·Ð´ÐµÐ», Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¼ Ð¾Ð½ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚Ñ�Ñ�\n"
 
-#: peigen.c:1415 pepigen.c:1415 pex64igen.c:1415
+#: peigen.c:1518 peigen.c:1557 pepigen.c:1518 pepigen.c:1557 pex64igen.c:1518
+#: pex64igen.c:1557
+#, c-format
+msgid "\t<corrupt: 0x%04lx>"
+msgstr "\t<Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¾: 0x%04lx>"
+
+#: peigen.c:1650 pepigen.c:1650 pex64igen.c:1650
 #, c-format
 msgid ""
 "\n"
@@ -6028,7 +8314,16 @@ msgstr ""
 "\n"
 "Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð°, Ð½Ð¾ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ€Ð°Ð·Ð´ÐµÐ», Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¼ Ð¾Ð½Ð° Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚Ñ�Ñ�\n"
 
-#: peigen.c:1424 pepigen.c:1424 pex64igen.c:1424
+#: peigen.c:1656 pepigen.c:1656 pex64igen.c:1656
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° Ð² %s, Ð½Ð¾ Ñ�Ñ‚Ð¾Ñ‚ Ñ€Ð°Ð·Ð´ÐµÐ» Ð±ÐµÐ· Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾\n"
+
+#: peigen.c:1666 pepigen.c:1666 pex64igen.c:1666
 #, c-format
 msgid ""
 "\n"
@@ -6037,7 +8332,16 @@ msgstr ""
 "\n"
 "Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° Ð² %s, Ð½Ð¾ Ð¾Ð½Ð° Ð½Ðµ Ð¿Ð¾Ð¼ÐµÑ‰Ð°ÐµÑ‚Ñ�Ñ� Ð² Ñ�Ñ‚Ð¾Ñ‚ Ñ€Ð°Ð·Ð´ÐµÐ»\n"
 
-#: peigen.c:1430 pepigen.c:1430 pex64igen.c:1430
+#: peigen.c:1677 pepigen.c:1677 pex64igen.c:1677
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but it is too small (%d)\n"
+msgstr ""
+"\n"
+"Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° Ð² %s, Ð½Ð¾ Ð¾Ð½Ð° Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ°Ñ� (%d)\n"
+
+#: peigen.c:1683 pepigen.c:1683 pex64igen.c:1683
 #, c-format
 msgid ""
 "\n"
@@ -6046,7 +8350,7 @@ msgstr ""
 "\n"
 "Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° Ð² %s Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx\n"
 
-#: peigen.c:1458 pepigen.c:1458 pex64igen.c:1458
+#: peigen.c:1711 pepigen.c:1711 pex64igen.c:1711
 #, c-format
 msgid ""
 "\n"
@@ -6057,67 +8361,67 @@ msgstr ""
 "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° (Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» %s)\n"
 "\n"
 
-#: peigen.c:1462 pepigen.c:1462 pex64igen.c:1462
+#: peigen.c:1715 pepigen.c:1715 pex64igen.c:1715
 #, c-format
 msgid "Export Flags \t\t\t%lx\n"
 msgstr "Ð¤Ð»Ð°Ð³Ð¸ Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð° \t\t\t%lx\n"
 
-#: peigen.c:1465 pepigen.c:1465 pex64igen.c:1465
+#: peigen.c:1718 pepigen.c:1718 pex64igen.c:1718
 #, c-format
 msgid "Time/Date stamp \t\t%lx\n"
 msgstr "ÐœÐµÑ‚ÐºÐ° Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸/Ð´Ð°Ñ‚Ñ‹ \t\t%lx\n"
 
-#: peigen.c:1468 pepigen.c:1468 pex64igen.c:1468
+#: peigen.c:1722 pepigen.c:1722 pex64igen.c:1722
 #, c-format
 msgid "Major/Minor \t\t\t%d/%d\n"
 msgstr "Ð¡Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹/ÐœÐ»Ð°Ð´ÑˆÐ¸Ð¹ \t\t\t%d/%d\n"
 
-#: peigen.c:1471 pepigen.c:1471 pex64igen.c:1471
+#: peigen.c:1725 pepigen.c:1725 pex64igen.c:1725
 #, c-format
 msgid "Name \t\t\t\t"
 msgstr "Ð˜Ð¼Ñ� \t\t\t\t"
 
-#: peigen.c:1477 pepigen.c:1477 pex64igen.c:1477
+#: peigen.c:1736 pepigen.c:1736 pex64igen.c:1736
 #, c-format
 msgid "Ordinal Base \t\t\t%ld\n"
 msgstr "Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ \t\t\t%ld\n"
 
-#: peigen.c:1480 pepigen.c:1480 pex64igen.c:1480
+#: peigen.c:1739 pepigen.c:1739 pex64igen.c:1739
 #, c-format
 msgid "Number in:\n"
 msgstr "Ð�Ð¾Ð¼ÐµÑ€ Ð²:\n"
 
-#: peigen.c:1483 pepigen.c:1483 pex64igen.c:1483
+#: peigen.c:1742 pepigen.c:1742 pex64igen.c:1742
 #, c-format
 msgid "\tExport Address Table \t\t%08lx\n"
 msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² \t\t%08lx\n"
 
-#: peigen.c:1487 pepigen.c:1487 pex64igen.c:1487
+#: peigen.c:1746 pepigen.c:1746 pex64igen.c:1746
 #, c-format
 msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
 msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ð° [ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸Ð¼Ñ‘Ð½/Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ñ… Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð²]\t%08lx\n"
 
-#: peigen.c:1490 pepigen.c:1490 pex64igen.c:1490
+#: peigen.c:1749 pepigen.c:1749 pex64igen.c:1749
 #, c-format
 msgid "Table Addresses\n"
 msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾Ð²\n"
 
-#: peigen.c:1493 pepigen.c:1493 pex64igen.c:1493
+#: peigen.c:1752 pepigen.c:1752 pex64igen.c:1752
 #, c-format
 msgid "\tExport Address Table \t\t"
 msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² \t\t"
 
-#: peigen.c:1498 pepigen.c:1498 pex64igen.c:1498
+#: peigen.c:1757 pepigen.c:1757 pex64igen.c:1757
 #, c-format
 msgid "\tName Pointer Table \t\t"
 msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ð° ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸Ð¼Ñ‘Ð½ \t\t"
 
-#: peigen.c:1503 pepigen.c:1503 pex64igen.c:1503
+#: peigen.c:1762 pepigen.c:1762 pex64igen.c:1762
 #, c-format
 msgid "\tOrdinal Table \t\t\t"
 msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ñ… Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² \t\t\t"
 
-#: peigen.c:1517 pepigen.c:1517 pex64igen.c:1517
+#: peigen.c:1776 pepigen.c:1776 pex64igen.c:1776
 #, c-format
 msgid ""
 "\n"
@@ -6126,15 +8430,20 @@ msgstr ""
 "\n"
 "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² -- Ð�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %ld\n"
 
-#: peigen.c:1536 pepigen.c:1536 pex64igen.c:1536
+#: peigen.c:1785 pepigen.c:1785 pex64igen.c:1785
+#, c-format
+msgid "\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tÐ�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑ�Ð¾Ð² rva (0x%lx) Ð¸Ð»Ð¸ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² (0x%lx)\n"
+
+#: peigen.c:1804 pepigen.c:1804 pex64igen.c:1804
 msgid "Forwarder RVA"
 msgstr "ÐŸÐµÑ€ÐµÐ°Ð´Ñ€ÐµÑ�ÑƒÐµÐ¼Ñ‹Ð¹ RVA"
 
-#: peigen.c:1547 pepigen.c:1547 pex64igen.c:1547
+#: peigen.c:1816 pepigen.c:1816 pex64igen.c:1816
 msgid "Export RVA"
 msgstr "Ð­ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ RVA"
 
-#: peigen.c:1554 pepigen.c:1554 pex64igen.c:1554
+#: peigen.c:1823 pepigen.c:1823 pex64igen.c:1823
 #, c-format
 msgid ""
 "\n"
@@ -6143,18 +8452,43 @@ msgstr ""
 "\n"
 "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° [Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ñ‹Ñ… Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð²/ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸Ð¼Ñ‘Ð½]\n"
 
-#: peigen.c:1614 peigen.c:1797 pepigen.c:1614 pepigen.c:1797 pex64igen.c:1614
-#: pex64igen.c:1797
+#: peigen.c:1831 pepigen.c:1831 pex64igen.c:1831
+#, c-format
+msgid "\tInvalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tÐ�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸Ð¼Ñ‘Ð½ (0x%lx) Ð¸Ð»Ð¸ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² (0x%lx)\n"
+
+#: peigen.c:1838 pepigen.c:1838 pex64igen.c:1838
+#, c-format
+msgid "\tInvalid Ordinal Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tÐ�ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ� Ð¾Ð±Ñ‹Ñ‡Ð½Ð°Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° rva (0x%lx) Ð¸Ð»Ð¸ Ñ�Ñ‡Ñ‘Ñ‚Ñ‡Ð¸Ðº Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð² (0x%lx)\n"
+
+#: peigen.c:1852 pepigen.c:1852 pex64igen.c:1852
+#, c-format
+msgid "\t[%4ld] <corrupt offset: %lx>\n"
+msgstr "\t[%4ld] <Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ: %lx>\n"
+
+#: peigen.c:1906 peigen.c:2103 pepigen.c:1906 pepigen.c:2103 pex64igen.c:1906
+#: pex64igen.c:2103
 #, c-format
 msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
 msgstr "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ, Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .pdata (%ld) Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ %d\n"
 
-#: peigen.c:1621 pepigen.c:1621 pex64igen.c:1621
+#: peigen.c:1910 peigen.c:2107 pepigen.c:1910 pepigen.c:2107 pex64igen.c:1910
+#: pex64igen.c:2107
+#, c-format
+msgid ""
+"\n"
+"The Function Table (interpreted .pdata section contents)\n"
+msgstr ""
+"\n"
+"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ (Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» .pdata)\n"
+
+#: peigen.c:1913 pepigen.c:1913 pex64igen.c:1913
 #, c-format
 msgid " vma:\t\t\tBegin Address    End Address      Unwind Info\n"
 msgstr " vma:\t\t\tÐ�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�  ÐšÐ¾Ð½ÐµÑ‡Ð½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�   Ð Ð°Ñ�ÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ� Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ�\n"
 
-#: peigen.c:1623 pepigen.c:1623 pex64igen.c:1623
+#: peigen.c:1915 pepigen.c:1915 pex64igen.c:1915
 #, c-format
 msgid ""
 " vma:\t\tBegin    End      EH       EH       PrologEnd  Exception\n"
@@ -6163,22 +8497,27 @@ msgstr ""
 " vma:\t\tÐ�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹  ÐšÐ¾Ð½ÐµÑ‡Ð½Ñ‹Ð¹   EH          EH       Ð�Ð´Ñ€ÐµÑ�         ÐœÐ°Ñ�ÐºÐ°\n"
 "     \t\tÐ�Ð´Ñ€ÐµÑ�      Ð�Ð´Ñ€ÐµÑ�      ÐžÐ±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸Ðº  Ð”Ð°Ð½Ð½Ñ‹Ðµ   ÐšÐ¾Ð½Ñ†Ð°ÐŸÑ€Ð¾Ð»Ð¾Ð³Ð°  Ð˜Ñ�ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ�\n"
 
-#: peigen.c:1697 pepigen.c:1697 pex64igen.c:1697
+#: peigen.c:1928 pepigen.c:1928 pex64igen.c:1928
+#, c-format
+msgid "Virtual size of .pdata section (%ld) larger than real size (%ld)\n"
+msgstr "Ð’Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .pdata (%ld) Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ‡ÐµÐ¼ Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ (%ld)\n"
+
+#: peigen.c:1998 pepigen.c:1998 pex64igen.c:1998
 #, c-format
 msgid " Register save millicode"
 msgstr " ÐœÐ¸Ð»Ð»Ð¸ÐºÐ¾Ð´ Ñ�Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°"
 
-#: peigen.c:1700 pepigen.c:1700 pex64igen.c:1700
+#: peigen.c:2001 pepigen.c:2001 pex64igen.c:2001
 #, c-format
 msgid " Register restore millicode"
 msgstr " ÐœÐ¸Ð»Ð»Ð¸ÐºÐ¾Ð´ Ð²Ð¾Ñ�Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ� Ñ€ÐµÐ³Ð¸Ñ�Ñ‚Ñ€Ð°"
 
-#: peigen.c:1703 pepigen.c:1703 pex64igen.c:1703
+#: peigen.c:2004 pepigen.c:2004 pex64igen.c:2004
 #, c-format
 msgid " Glue code sequence"
 msgstr " ÐŸÐ¾Ñ�Ð»ÐµÐ´Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñ�Ñ‚ÑŒ Ñ�Ð²Ñ�Ð·ÑƒÑŽÑ‰ÐµÐ³Ð¾ ÐºÐ¾Ð´Ð°"
 
-#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
+#: peigen.c:2109 pepigen.c:2109 pex64igen.c:2109
 #, c-format
 msgid ""
 " vma:\t\tBegin    Prolog   Function Flags    Exception EH\n"
@@ -6187,7 +8526,7 @@ msgstr ""
 " vma:\t\tÐ�Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð”Ð»Ð¸Ð½Ð°    Ð”Ð»Ð¸Ð½Ð°   Ð¤Ð»Ð°Ð³Ð¸       ÐžÐ±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸Ðº EH\n"
 "     \t\tÐ�Ð´Ñ€ÐµÑ�     ÐŸÑ€Ð¾Ð»Ð¾Ð³Ð°  Ð¤ÑƒÐ½ÐºÑ†Ð¸Ð¸ 32b exc     Ð˜Ñ�ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹ Ð”Ð°Ð½Ð½Ñ‹Ðµ\n"
 
-#: peigen.c:1929 pepigen.c:1929 pex64igen.c:1929
+#: peigen.c:2231 pepigen.c:2231 pex64igen.c:2231
 #, c-format
 msgid ""
 "\n"
@@ -6198,7 +8537,7 @@ msgstr ""
 "\n"
 "Ð�Ð°Ñ‡Ð°Ð»Ð¾ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ð² PE-Ñ„Ð°Ð¹Ð»Ðµ (Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½ Ñ€Ð°Ð·Ð´ÐµÐ» .reloc)\n"
 
-#: peigen.c:1958 pepigen.c:1958 pex64igen.c:1958
+#: peigen.c:2261 pepigen.c:2261 pex64igen.c:2261
 #, c-format
 msgid ""
 "\n"
@@ -6207,15 +8546,142 @@ msgstr ""
 "\n"
 "Ð’Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ�: %08lx Ð Ð°Ð·Ð¼ÐµÑ€ Ð±Ð»Ð¾ÐºÐ° %ld (0x%lx) Ð§Ð¸Ñ�Ð»Ð¾ Ð¼ÐµÑ�Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ %ld\n"
 
-#: peigen.c:1971 pepigen.c:1971 pex64igen.c:1971
+#: peigen.c:2279 pepigen.c:2279 pex64igen.c:2279
 #, c-format
 msgid "\treloc %4d offset %4x [%4lx] %s"
 msgstr "\tÐ¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %4d Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %4x [%4lx] %s"
 
+#: peigen.c:2340 pepigen.c:2340 pex64igen.c:2340
+#, c-format
+msgid "%03x %*.s Entry: "
+msgstr "%03x %*.s Ð­Ð»ÐµÐ¼ÐµÐ½Ñ‚: "
+
+#: peigen.c:2364 pepigen.c:2364 pex64igen.c:2364
+#, c-format
+msgid "name: [val: %08lx len %d]: "
+msgstr "Ð¸Ð¼Ñ�: [Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ: %08lx Ð´Ð»Ð¸Ð½Ð° %d]: "
+
+#: peigen.c:2384 pepigen.c:2384 pex64igen.c:2384
+#, c-format
+msgid "<corrupt string length: %#x>\n"
+msgstr "<Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð° Ð´Ð»Ð¸Ð½Ð° Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸: %#x>\n"
+
+#: peigen.c:2394 pepigen.c:2394 pex64igen.c:2394
+#, c-format
+msgid "<corrupt string offset: %#lx>\n"
+msgstr "<Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ñ�Ñ‚Ñ€Ð¾ÐºÐ¸: %#lx>\n"
+
+#: peigen.c:2399 pepigen.c:2399 pex64igen.c:2399
+#, c-format
+msgid "ID: %#08lx"
+msgstr "ID: %#08lx"
+
+#: peigen.c:2402 pepigen.c:2402 pex64igen.c:2402
+#, c-format
+msgid ", Value: %#08lx\n"
+msgstr ", Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ: %#08lx\n"
+
+#: peigen.c:2424 pepigen.c:2424 pex64igen.c:2424
+#, c-format
+msgid "%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n"
+msgstr "%03x %*.s  Ð»Ð¸Ñ�Ñ‚: Ð°Ð´Ñ€ÐµÑ�: %#08lx, Ñ€Ð°Ð·Ð¼ÐµÑ€: %#08lx, ÐºÐ¾Ð´Ð¾Ð²Ð°Ñ� Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð°: %d\n"
+
+#: peigen.c:2466 pepigen.c:2466 pex64igen.c:2466
+#, c-format
+msgid "<unknown directory type: %d>\n"
+msgstr "<Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°: %d>\n"
+
+#: peigen.c:2474 pepigen.c:2474 pex64igen.c:2474
+#, c-format
+msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"
+msgstr " Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð°: Ð¡Ð¸Ð¼Ð²Ð¾Ð»: %d, Ð’Ñ€ÐµÐ¼Ñ�: %08lx, Ð’ÐµÑ€Ñ�Ð¸Ñ�: %d/%d, ÐšÐ¾Ð»-Ð²Ð¾ Ð¸Ð¼Ñ‘Ð½: %d, ID: %d\n"
+
+#: peigen.c:2563 pepigen.c:2563 pex64igen.c:2563
+#, c-format
+msgid "Corrupt .rsrc section detected!\n"
+msgstr "ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½ Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» .rsrc!\n"
+
+#: peigen.c:2587 pepigen.c:2587 pex64igen.c:2587
+#, c-format
+msgid ""
+"\n"
+"WARNING: Extra data in .rsrc section - it will be ignored by Windows:\n"
+msgstr ""
+"\n"
+"ÐŸÐ Ð•Ð”Ð£ÐŸÐ Ð•Ð–Ð”Ð•Ð�Ð˜Ð•: Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ðµ Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ .rsrc â€” Ð±ÑƒÐ´ÑƒÑ‚ Ð¿Ñ€Ð¾Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ñ‹ Windows:\n"
+
+#: peigen.c:2593 pepigen.c:2593 pex64igen.c:2593
+#, c-format
+msgid " String table starts at offset: %#03x\n"
+msgstr " Ð¢Ð°Ð±Ð»Ð¸Ñ†Ð° Ñ�Ñ‚Ñ€Ð¾Ðº Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚Ñ�Ñ� Ñ�Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %#03x\n"
+
+#: peigen.c:2596 pepigen.c:2596 pex64igen.c:2596
+#, c-format
+msgid " Resources start at offset: %#03x\n"
+msgstr " Ð ÐµÑ�ÑƒÑ€Ñ�Ñ‹ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÑŽÑ‚Ñ�Ñ� Ñ�Ð¾ Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ�: %#03x\n"
+
+#: peigen.c:2648 pepigen.c:2648 pex64igen.c:2648
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory, but the section containing it could not be found\n"
+msgstr ""
+"\n"
+"Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ð¹ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³, Ð½Ð¾ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ñ€Ð°Ð·Ð´ÐµÐ», Ð² ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¼ Ð¾Ð½ Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚Ñ�Ñ�\n"
+
+#: peigen.c:2654 pepigen.c:2654 pex64igen.c:2654
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"Ð¡ÑƒÑ‰ÐµÑ�Ñ‚Ð²ÑƒÐµÑ‚ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ð¹ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð² %s, Ð½Ð¾ Ñ�Ñ‚Ð¾Ñ‚ Ñ€Ð°Ð·Ð´ÐµÐ» Ð±ÐµÐ· Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾\n"
+
+#: peigen.c:2661 pepigen.c:2661 pex64igen.c:2661
+#, c-format
+msgid ""
+"\n"
+"Error: section %s contains the debug data starting address but it is too small\n"
+msgstr ""
+"\n"
+"ÐžÑˆÐ¸Ð±ÐºÐ°: Ñ€Ð°Ð·Ð´ÐµÐ» %s Ñ�Ð¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ðµ Ð´Ð°Ð½Ð½Ñ‹Ðµ, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ� Ñ� Ð°Ð´Ñ€ÐµÑ�Ð°, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»\n"
+
+#: peigen.c:2666 pepigen.c:2666 pex64igen.c:2666
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory in %s at 0x%lx\n"
+"\n"
+msgstr ""
+"\n"
+"Ð’ %s Ð¸Ð¼ÐµÐµÑ‚Ñ�Ñ� Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ð¹ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx\n"
+"\n"
+
+#: peigen.c:2673 pepigen.c:2673 pex64igen.c:2673
+#, c-format
+msgid "The debug data size field in the data directory is too big for the section"
+msgstr "ÐŸÐ¾Ð»Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð² ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ðµ Ð´Ð°Ð½Ð½Ñ‹Ñ… Ñ�Ð»Ð¸ÑˆÐºÐ¾Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ðµ Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð°"
+
+#: peigen.c:2678 pepigen.c:2678 pex64igen.c:2678
+#, c-format
+msgid "Type                Size     Rva      Offset\n"
+msgstr "Ð¢Ð¸Ð¿                Ð Ð°Ð·Ð¼ÐµÑ€     Rva      Ð¡Ð¼ÐµÑ‰ÐµÐ½Ð¸Ðµ\n"
+
+#: peigen.c:2726 pepigen.c:2726 pex64igen.c:2726
+#, c-format
+msgid "(format %c%c%c%c signature %s age %ld)\n"
+msgstr "(Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ %c%c%c%c Ð¿Ð¾Ð´Ð¿Ð¸Ñ�ÑŒ %s Ð²Ð¾Ð·Ñ€Ð°Ñ�Ñ‚ %ld)\n"
+
+#: peigen.c:2734 pepigen.c:2734 pex64igen.c:2734
+#, c-format
+msgid "The debug directory size is not a multiple of the debug directory entry size\n"
+msgstr "Ð Ð°Ð·Ð¼ÐµÑ€ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ð½Ðµ ÐºÑ€Ð°Ñ‚ÐµÐ½ Ñ€Ð°Ð·Ð¼ÐµÑ€Ñƒ Ñ�Ð»ÐµÐ¼ÐµÐ½Ñ‚Ð° Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°\n"
+
 #. The MS dumpbin program reportedly ands with 0xff0f before
 #. printing the characteristics field.  Not sure why.  No reason to
 #. emulate it here.
-#: peigen.c:2010 pepigen.c:2010 pex64igen.c:2010
+#: peigen.c:2754 pepigen.c:2754 pex64igen.c:2754
 #, c-format
 msgid ""
 "\n"
@@ -6224,38 +8690,222 @@ msgstr ""
 "\n"
 "Ð¥Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñ�Ñ‚Ð¸ÐºÐ¸ 0x%x\n"
 
-#: peigen.c:2310 pepigen.c:2310 pex64igen.c:2310
+#: peigen.c:2989 pepigen.c:2989 pex64igen.c:2989
+#, c-format
+msgid "%B: Data Directory size (%lx) exceeds space left in section (%Lx)"
+msgstr "%B: Ñ€Ð°Ð·Ð¼ÐµÑ€ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ð´Ð°Ð½Ð½Ñ‹Ñ… (%lx) Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ð¾Ñ�Ñ‚Ð°Ð²ÑˆÐµÐµÑ�Ñ� Ð¼ÐµÑ�Ñ‚Ð¾ Ð² Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ (%Lx)"
+
+#: peigen.c:3019 pepigen.c:3019 pex64igen.c:3019
+msgid "Failed to update file offsets in debug directory"
+msgstr "Ð¡Ð±Ð¾Ð¹ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ� Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ñ… Ñ�Ð¼ÐµÑ‰ÐµÐ½Ð¸Ð¹ Ð² Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð¾Ð¼ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ðµ"
+
+#: peigen.c:3025 pepigen.c:3025 pex64igen.c:3025
+msgid "%B: Failed to read debug data section"
+msgstr "%B: Ð½Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ…"
+
+#: peigen.c:3841 pepigen.c:3841 pex64igen.c:3841
+#, c-format
+msgid ".rsrc merge failure: duplicate string resource: %d"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð¾ÐºÐ° Ñ€ÐµÑ�ÑƒÑ€Ñ�Ð°: %d"
+
+#: peigen.c:3976 pepigen.c:3976 pex64igen.c:3976
+msgid ".rsrc merge failure: multiple non-default manifests"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ð½ÐµÑ�ÐºÐ¾Ð»ÑŒÐºÐ¾ Ð¼Ð°Ð½Ð¸Ñ„ÐµÑ�Ñ‚Ð¾Ð² Ð½Ðµ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ"
+
+#: peigen.c:3994 pepigen.c:3994 pex64igen.c:3994
+msgid ".rsrc merge failure: a directory matches a leaf"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ�Ð¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ‚ Ñ� Ð»Ð¸Ñ�Ñ‚Ð¾Ð¼"
+
+#: peigen.c:4036 pepigen.c:4036 pex64igen.c:4036
+msgid ".rsrc merge failure: duplicate leaf"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ð»Ð¸Ñ�Ñ‚"
+
+#: peigen.c:4038 pepigen.c:4038 pex64igen.c:4038
+#, c-format
+msgid ".rsrc merge failure: duplicate leaf: %s"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ð»Ð¸Ñ�Ñ‚: %s"
+
+#: peigen.c:4104 pepigen.c:4104 pex64igen.c:4104
+msgid ".rsrc merge failure: dirs with differing characteristics\n"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¸ Ñ� Ñ€Ð°Ð·Ð½Ñ‹Ð¼ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñ�Ñ‚Ð¸ÐºÐ°Ð¼Ð¸\n"
+
+#: peigen.c:4111 pepigen.c:4111 pex64igen.c:4111
+msgid ".rsrc merge failure: differing directory versions\n"
+msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ð²ÐµÑ€Ñ�Ð¸Ð¸ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð² Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÑŽÑ‚Ñ�Ñ�\n"
+
+#. Corrupted .rsrc section - cannot merge.
+#: peigen.c:4228 pepigen.c:4228 pex64igen.c:4228
+msgid "%B: .rsrc merge failure: corrupt .rsrc section"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ .rsrc: Ñ€Ð°Ð·Ð´ÐµÐ» .rsrc Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½"
+
+#: peigen.c:4236 pepigen.c:4236 pex64igen.c:4236
+msgid "%B: .rsrc merge failure: unexpected .rsrc size"
+msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð¿Ñ€Ð¸ Ñ�Ð»Ð¸Ñ�Ð½Ð¸Ð¸ rsrc: Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° .rsrc"
+
+#: peigen.c:4375 pepigen.c:4375 pex64igen.c:4375
 msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
 msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[1], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$2"
 
-#: peigen.c:2330 pepigen.c:2330 pex64igen.c:2330
+#: peigen.c:4395 pepigen.c:4395 pex64igen.c:4395
 msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
 msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[1], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$4"
 
-#: peigen.c:2351 pepigen.c:2351 pex64igen.c:2351
+#: peigen.c:4416 pepigen.c:4416 pex64igen.c:4416
 msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
 msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[12], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$5"
 
-#: peigen.c:2371 pepigen.c:2371 pex64igen.c:2371
+#: peigen.c:4436 pepigen.c:4436 pex64igen.c:4436
 msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"
 msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$6"
 
-#: peigen.c:2413 pepigen.c:2413 pex64igen.c:2413
+#: peigen.c:4478 pepigen.c:4478 pex64igen.c:4478
 msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing"
 msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ .idata$6"
 
-#: peigen.c:2438 pepigen.c:2438 pex64igen.c:2438
+#: peigen.c:4503 pepigen.c:4503 pex64igen.c:4503
 msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
 msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ DataDictionary[9], Ñ‚Ð°Ðº ÐºÐ°Ðº Ð¾Ñ‚Ñ�ÑƒÑ‚Ñ�Ñ‚Ð²ÑƒÐµÑ‚ __tls_used"
 
-#~ msgid "%B: error: taking the address of protected function '%s' cannot be done when making a shared library"
-#~ msgstr "%B: Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ðµ Ð°Ð´Ñ€ÐµÑ�Ð° Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð¾Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¾ Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ¹ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸"
+#~ msgid "Unrecognized reloc"
+#~ msgstr "Ð�ÐµÑ€Ð°Ñ�Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ"
+
+#~ msgid "%s: warning: illegal symbol index %ld in relocs"
+#~ msgstr "%s: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ�Ñ… Ð½ÐµÐ´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ñ‹Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸Ð½Ð´ÐµÐºÑ� %ld"
+
+#~ msgid "Dwarf Error: Bad abbrev number: %u."
+#~ msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² dwarf: Ð�ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ ÑƒÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ‹Ð¹ Ð½Ð¾Ð¼ÐµÑ€: %u."
+
+#~ msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
+#~ msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ‰Ñ‘Ð½Ð½Ñ‹Ð¹, Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Â«%sÂ» [0x%8x]"
+
+#~ msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
+#~ msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�Ð¾Ñ€Ð° Â«%sÂ» [0x%8x]"
+
+#~ msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
+#~ msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ�Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð°Ð·Ð´ÐµÐ» ÐžÐ¡ Â«%sÂ» [0x%8x]"
+
+#~ msgid "%B: don't know how to handle section `%s' [0x%8x]"
+#~ msgstr "%B: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾ ÐºÐ°Ðº Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ€Ð°Ð·Ð´ÐµÐ» Â«%sÂ» [0x%8x]"
+
+#~ msgid ""
+#~ "%B(%s): warning: interworking not enabled.\n"
+#~ "  first occurrence: %B: thumb call to arm"
+#~ msgstr ""
+#~ "%B(%s): Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: interworking not enabled.\n"
+#~ "  Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ: %B: thumb-Ð²Ñ‹Ð·Ð¾Ð² Ð² arm"
+
+#~ msgid "DIV usage mismatch between %B and %B"
+#~ msgstr "Ð˜Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ DIV Ñ€Ð°Ñ�Ñ…Ð¾Ð´Ð¸Ñ‚Ñ�Ñ� Ð² %B Ð¸ %B"
+
+#~ msgid " [has entry point]"
+#~ msgstr " [Ð¸Ð¼ÐµÐµÑ‚ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð²Ñ…Ð¾Ð´Ð°]"
+
+#~ msgid "%B: unsupported relocation type %i"
+#~ msgstr "%B: Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %i"
+
+#~ msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
+#~ msgstr "%s: Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¸Ðµ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ðµ Ñ„Ð»Ð°Ð³Ð¸ e_flags (0x%lx) Ñ‡ÐµÐ¼ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ðµ Ð¼Ð¾Ð´ÑƒÐ»Ð¸ (0x%lx)"
 
-#~ msgid "%B(%A+0x%lx): cannot reach %s"
-#~ msgstr "%B(%A+0x%lx): Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ð±Ñ€Ð°Ñ‚ÑŒÑ�Ñ� Ð´Ð¾ %s"
+#~ msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
+#~ msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ R_68K_TLS_LE32 Ð½Ðµ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
 
-#~ msgid "%B: warning: ignoring duplicate section `%A'\n"
-#~ msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚Ñ�Ñ� Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ»\n"
+#~ msgid "%s: unknown relocation type %d"
+#~ msgstr "%s: Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ñ‹Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %d"
+
+#~ msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
+#~ msgstr "%s: Ð¦ÐµÐ»ÑŒ (%s) Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� %s Ð² Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ð¼ Ñ€Ð°Ð·Ð´ÐµÐ»Ðµ (%s)"
+
+#~ msgid "Warning: %B uses soft float, %B uses single-precision hard float"
+#~ msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ, %B Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð½ÑƒÑŽ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÑƒÑŽ Ñ‚Ð¾Ñ‡ÐºÑƒ Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾Ð¹ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ð¸"
+
+#~ msgid "Warning: %B uses unknown small structure return convention %d"
+#~ msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ð½ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ñ�Ð¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ %d Ð¿Ð¾ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ñƒ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¾Ð¹ Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€Ñ‹"
+
+#~ msgid "%P: dynamic variable `%s' is zero size\n"
+#~ msgstr "%P: Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑ�ÐºÐ°Ñ� Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ� Â«%sÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€\n"
+
+#~ msgid " [dsp]"
+#~ msgstr " [dsp]"
+
+#~ msgid "%s: Malformed reloc detected for section %s"
+#~ msgstr "%s: ÐžÐ±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ Ð¸Ñ�ÐºÐ°Ð¶Ñ‘Ð½Ð½Ð¾Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ñ€Ð°Ð·Ð´ÐµÐ»Ð° %s"
+
+#~ msgid "  %s: 0x%v\n"
+#~ msgstr "  %s: 0x%v\n"
+
+#~ msgid "%s: 0x%v 0x%v\n"
+#~ msgstr "%s: 0x%v 0x%v\n"
+
+#~ msgid "   %s%s %s\n"
+#~ msgstr "   %s%s %s\n"
+
+#~ msgid "%B(%A+0x"
+#~ msgstr "%B(%A+0x"
+
+#~ msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
+#~ msgstr "%P: %H: Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¼Ð½Ð¾Ð¶ÐµÑ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ TOC Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÑŽÑ‚Ñ�Ñ� Ñ‡ÐµÑ€ÐµÐ· Ð²Ð°ÑˆÐ¸ Ñ„Ð°Ð¹Ð»Ñ‹ crt; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mminimal-toc Ð¸Ð»Ð¸ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚Ðµ gcc\n"
+
+#~ msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
+#~ msgstr "%P: %H: Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ� Ð¾Ð´Ð½Ð¾ÑƒÑ€Ð¾Ð²Ð½ÐµÐ²Ñ‹Ñ… Ð²Ñ‹Ð·Ð¾Ð²Ð¾Ð² Ðº Â«%sÂ» Ð½Ðµ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñ�ÐµÑ‚ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑ�ÐºÐ¸Ðµ Ð¼Ð½Ð¾Ð¶ÐµÑ�Ñ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ TOC; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -mminimal-toc Ð¸Ð»Ð¸ -fno-optimize-sibling-calls, Ð¸Ð»Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð¹Ñ‚Ðµ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¹ Â«%sÂ»\n"
+
+#~ msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
+#~ msgstr "%B: Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s Ð´Ð»Ñ� Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ %s Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¸ Ñ�Ð¾Ð·Ð´Ð°Ð½Ð¸Ð¸ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°(Ð¾Ð²)"
+
+#~ msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
+#~ msgstr "Ð·Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ðµ: Â«%sÂ» Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½ Ð² DSO %B, Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ÐµÐ³Ð¾ Ð² ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½ÑƒÑŽ Ñ�Ñ‚Ñ€Ð¾ÐºÑƒ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ñ‰Ð¸ÐºÐ°"
+
+#~ msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
+#~ msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -msingle-float, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -mips32r2 -mfp64"
+
+#~ msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
+#~ msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -mdouble-float, %B Ð¸Ñ�Ð¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ -mips32r2 -mfp64"
+
+#~ msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
+#~ msgstr "bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ�Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ� Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð¹ Â«Ð½ÐµÑ�Ð²Ð½Ð¾Ð¹Â» Ñ�Ñ�Ñ‹Ð»ÐºÐ¾Ð¹: Ð½Ð°Ñ�Ñ‚Ñ€Ð¾Ð¹ÐºÐ° Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°"
+
+#~ msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
+#~ msgstr "bfd_mach_o_read_dysymtab_symbol: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ %lu Ð±Ð°Ð¹Ñ‚ Ð¸Ð· %lu"
+
+#~ msgid "Mach-O header:\n"
+#~ msgstr "Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Mach-O:\n"
+
+#~ msgid " magic     : %08lx\n"
+#~ msgstr " Ð¾Ñ‚Ð».Ð¿Ñ€Ð¸Ð·Ð½ : %08lx\n"
+
+#~ msgid " cputype   : %08lx (%s)\n"
+#~ msgstr " Ñ‚Ð¸Ð¿ Ð¦ÐŸ    : %08lx (%s)\n"
+
+#~ msgid " filetype  : %08lx (%s)\n"
+#~ msgstr " Ñ‚Ð¸Ð¿ Ñ„Ð°Ð¹Ð»Ð° : %08lx (%s)\n"
+
+#~ msgid " ncmds     : %08lx (%lu)\n"
+#~ msgstr " Ñ‡_ÐºÐ¼Ð½Ð´    : %08lx (%lu)\n"
+
+#~ msgid " sizeofcmds: %08lx\n"
+#~ msgstr " Ñ€Ð°Ð·Ð¼_ÐºÐ¼Ð½Ð´ : %08lx\n"
+
+#~ msgid " flags     : %08lx ("
+#~ msgstr " Ñ„Ð»Ð°Ð³Ð¸     : %08lx ("
+
+#~ msgid " reserved  : %08x\n"
+#~ msgstr " Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð²  : %08x\n"
+
+#~ msgid "Segments and Sections:\n"
+#~ msgstr "Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ‹ Ð¸ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹:\n"
+
+#~ msgid " #: Segment name     Section name     Address\n"
+#~ msgstr ""
+#~ " #: Segment name     Section name     Address\n"
+#~ " #: Ð�Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ñ�ÐµÐ³Ð¼    Ð�Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° Ð�Ð´Ñ€ÐµÑ�\n"
+
+#~ msgid "Symbol %s replaced by %s\n"
+#~ msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» %s Ð·Ð°Ð¼ÐµÐ½Ñ‘Ð½ Ð½Ð° %s\n"
+
+#~ msgid "[%u]: %u\n"
+#~ msgstr "[%u]: %u\n"
+
+#~ msgid ": %u.%u\n"
+#~ msgstr ": %u.%u\n"
 
 #~ msgid "%B: warning: duplicate section `%A' has different size\n"
 #~ msgstr "%B: Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽÑ‰Ð¸Ð¹Ñ�Ñ� Ñ€Ð°Ð·Ð´ÐµÐ» Â«%AÂ» Ð¸Ð¼ÐµÐµÑ‚ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€\n"
@@ -6263,9 +8913,6 @@ msgstr "%B: Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¿Ð
 #~ msgid "relocation references a different segment"
 #~ msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ Ð½Ð° Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚"
 
-#~ msgid "%B: relocation type %d not implemented"
-#~ msgstr "%B: Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ� Â«%sÂ» Ð½Ðµ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½"
-
 #~ msgid "warning: %B and %B differ in position-dependence of data addressing"
 #~ msgstr "Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: Ð² %B Ð¸ %B Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°ÐµÑ‚Ñ�Ñ� Ð°Ð´Ñ€ÐµÑ�Ð°Ñ†Ð¸Ñ� Ð½ÐµÐ·Ð°Ð²Ð¸Ñ�Ð¸Ð¼Ñ‹Ñ… Ð¿Ð¾ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ� Ð´Ð°Ð½Ð½Ñ‹Ñ…"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/SRC-POTFILES.in ./bfd/po/SRC-POTFILES.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/SRC-POTFILES.in	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/po/SRC-POTFILES.in	2018-07-10 02:06:11.000000000 +0000
@@ -1,56 +1,34 @@
 aix386-core.c
 aix5ppc-core.c
-aout-adobe.c
-aout-arm.c
 aout-cris.c
 aout-ns32k.c
-aout-sparcle.c
 aout-target.h
 aout-tic30.c
-aout0.c
 aout32.c
 aout64.c
-aoutf1.h
 aoutx.h
 archive.c
 archive64.c
 archures.c
-armnetbsd.c
 bfd.c
 bfdio.c
 bfdwin.c
 binary.c
-bout.c
 cache.c
 cf-i386lynx.c
-cf-sparclynx.c
 cisco-core.c
 coff-alpha.c
-coff-apollo.c
-coff-arm.c
-coff-aux.c
 coff-bfd.c
 coff-go32.c
-coff-h8300.c
-coff-h8500.c
 coff-i386.c
-coff-i860.c
-coff-i960.c
-coff-m68k.c
-coff-m88k.c
 coff-mips.c
 coff-rs6000.c
 coff-sh.c
-coff-sparc.c
 coff-stgo32.c
-coff-svm68k.c
 coff-tic30.c
 coff-tic4x.c
 coff-tic54x.c
 coff-tic80.c
-coff-u68k.c
-coff-w65.c
-coff-we32k.c
 coff-x86_64.c
 coff-z80.c
 coff-z8k.c
@@ -79,12 +57,8 @@ cpu-fr30.c
 cpu-frv.c
 cpu-ft32.c
 cpu-h8300.c
-cpu-h8500.c
 cpu-hppa.c
-cpu-i370.c
 cpu-i386.c
-cpu-i860.c
-cpu-i960.c
 cpu-ia64.c
 cpu-iamcu.c
 cpu-ip2k.c
@@ -99,7 +73,6 @@ cpu-m32r.c
 cpu-m68hc11.c
 cpu-m68hc12.c
 cpu-m68k.c
-cpu-m88k.c
 cpu-m9s12x.c
 cpu-m9s12xg.c
 cpu-mcore.c
@@ -112,6 +85,7 @@ cpu-moxie.c
 cpu-msp430.c
 cpu-mt.c
 cpu-nds32.c
+cpu-nfp.c
 cpu-nios2.c
 cpu-ns32k.c
 cpu-or1k.c
@@ -124,6 +98,7 @@ cpu-riscv.c
 cpu-rl78.c
 cpu-rs6000.c
 cpu-rx.c
+cpu-s12z.c
 cpu-s390.c
 cpu-score.c
 cpu-sh.c
@@ -140,16 +115,13 @@ cpu-v850.c
 cpu-v850_rh850.c
 cpu-vax.c
 cpu-visium.c
-cpu-w65.c
 cpu-wasm32.c
-cpu-we32k.c
 cpu-xc16x.c
 cpu-xgate.c
 cpu-xstormy16.c
 cpu-xtensa.c
 cpu-z80.c
 cpu-z8k.c
-demo64.c
 dwarf1.c
 dwarf2.c
 ecoff.c
@@ -188,10 +160,7 @@ elf32-gen.c
 elf32-h8300.c
 elf32-hppa.c
 elf32-hppa.h
-elf32-i370.c
 elf32-i386.c
-elf32-i860.c
-elf32-i960.c
 elf32-ip2k.c
 elf32-iq2000.c
 elf32-lm32.c
@@ -201,7 +170,6 @@ elf32-m68hc11.c
 elf32-m68hc12.c
 elf32-m68hc1x.c
 elf32-m68k.c
-elf32-m88k.c
 elf32-mcore.c
 elf32-mep.c
 elf32-metag.c
@@ -218,13 +186,11 @@ elf32-ppc.c
 elf32-pru.c
 elf32-rl78.c
 elf32-rx.c
+elf32-s12z.c
 elf32-s390.c
 elf32-score.c
 elf32-score7.c
-elf32-sh-symbian.c
 elf32-sh.c
-elf32-sh64-com.c
-elf32-sh64.c
 elf32-sparc.c
 elf32-spu.c
 elf32-tic6x.c
@@ -246,9 +212,9 @@ elf64-hppa.h
 elf64-ia64-vms.c
 elf64-mips.c
 elf64-mmix.c
+elf64-nfp.c
 elf64-ppc.c
 elf64-s390.c
-elf64-sh64.c
 elf64-sparc.c
 elf64-tilegx.c
 elf64-x86-64.c
@@ -265,27 +231,15 @@ elfxx-sparc.c
 elfxx-tilegx.c
 elfxx-x86.c
 elfxx-x86.c
-epoc-pe-arm.c
-epoc-pei-arm.c
 format.c
-freebsd.h
 genlink.h
 go32stub.h
 hash.c
-hp300bsd.c
-hp300hpux.c
 hpux-core.c
 i386aout.c
 i386bsd.c
-i386dynix.c
-i386freebsd.c
-i386linux.c
 i386lynx.c
-i386mach3.c
 i386msdos.c
-i386netbsd.c
-i386os9k.c
-ieee.c
 ihex.c
 init.c
 irix-core.c
@@ -295,18 +249,10 @@ libbfd.h
 libcoff.h
 libecoff.h
 libhppa.h
-libieee.h
-libnlm.h
-liboasys.h
 libpei.h
 libxcoff.h
 linker.c
 lynx-core.c
-m68k4knetbsd.c
-m68klinux.c
-m68knetbsd.c
-m88kmach3.c
-m88kopenbsd.c
 mach-o-aarch64.c
 mach-o-arm.c
 mach-o-i386.c
@@ -314,24 +260,11 @@ mach-o-x86-64.c
 mach-o.c
 mach-o.h
 merge.c
-mipsbsd.c
 mmo.c
 netbsd-core.c
 netbsd.h
-newsos3.c
-nlm-target.h
-nlm.c
-nlm32-alpha.c
-nlm32-i386.c
-nlm32-ppc.c
-nlm32-sparc.c
-nlm32.c
-nlm64.c
-nlmcode.h
-nlmswap.h
 ns32k.h
 ns32knetbsd.c
-oasys.c
 opncls.c
 osf-core.c
 pc532-mach.c
@@ -340,7 +273,6 @@ pe-arm-wince.c
 pe-arm.c
 pe-i386.c
 pe-mcore.c
-pe-mips.c
 pe-ppc.c
 pe-sh.c
 pe-x86_64.c
@@ -352,7 +284,6 @@ pei-arm.c
 pei-i386.c
 pei-ia64.c
 pei-mcore.c
-pei-mips.c
 pei-ppc.c
 pei-sh.c
 pei-x86_64.c
@@ -361,29 +292,22 @@ plugin.c
 ppcboot.c
 reloc.c
 reloc16.c
-riscix.c
 rs6000-core.c
 sco5-core.c
 section.c
 simple.c
 som.c
 som.h
-sparclinux.c
-sparclynx.c
-sparcnetbsd.c
 srec.c
 stab-syms.c
 stabs.c
-sunos.c
 syms.c
 targets.c
 tekhex.c
 trad-core.c
 vax1knetbsd.c
-vaxbsd.c
 vaxnetbsd.c
 verilog.c
-versados.c
 version.h
 vms-alpha.c
 vms-lib.c
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/uk.gmo ./bfd/po/uk.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/uk.gmo	2018-07-03 02:10:53.000000000 +0000
+++ ./bfd/po/uk.gmo	2018-07-10 02:10:41.000000000 +0000
@@ -1,71 +1,125 @@
-Þ•Ët6	Ìl@‘A‘N‘b‘{‘Aš‘?Ü‘:’W’n’�’$ ’3Å’ù’“%&“L“A^“& “Ç“à“ù“”"” A”b”‚”›”²”¿”PÒ”#•*;•9f•6 •;×•–F%–6l–6£–:Ú–5—,K—Dx—N½—J˜)W˜G�˜:É˜B™LG™)”™B¾™LšNšdšD{šGÀš›'›9›M›e›z›3™›Í›ä›0ö›'œ7œGœ+aœ+�œ+¹œ#åœ	�!�*�H�?_�>Ÿ�7Þ�ž-žMžjžƒžžž¾ž×žòžŸ Ÿ,4ŸaŸqŸŠŸ¢Ÿ¹ŸÈŸÞŸøŸ1 A R _ v ‘ #© +Í &ù 5 ¡V¡n¡ˆ¡ž¡¸¡Ñ¡è¡$þ¡#¢<¢\¢t¢$‰¢®¢Â¢×¢<ð¢-£<£
K£Y£m£ …£¦£Á£Ñ£ñ£
¤-¤F¤_¤*r¤�¤¯¤&Á¤è¤0ü¤-¥"A¥	d¥n¥#�¥¥¥¾¥Ï¥è¥"¦$¦"8¦#[¦#¦£¦#¸¦#Ü¦§
§+§I§O§W§\§
-y§„§‰§!�§ ±§Ò§×§Ü§ô§¨4¨9¨M¨!R¨t¨{¨�¨†¨‹¨‘¨•¨š¨¶¨"Ï¨ò¨÷¨©+©&K©Br©µ©Õ©Ú©ß©æ©ì©ñ©ª
-ªª%ª>ªRªcªtª…ª–ª§ª¿ª	Îª
Øª
æª
-ôª
-ÿª
-
-«
-« «
-5«$@«
-e«#p«%”«
-º«Å«×«$ï«¬2¬!L¬n¬ƒ¬
-’¬
�¬	«¬µ¬
-Æ¬Ñ¬Ø¬ð¬
-­­+­B­]­l­…­”­›­»­(Ë­/ô­$®6®+E®q®A�®Ï®é®¯¯82¯k¯ƒ¯˜¯&²¯Ù¯ø¯2°?F°&†°­°(Ì°õ°"±+±*K±6v±{­±r)²xœ²³:+³f³Dx³*½³7è³$ ´'E´*m´!˜´=º´Aø´E:µ€µ%ŸµDÅµ
-¶r(¶.›¶,Ê¶*÷¶%"·4H·}·-œ·2Ê·Lý·>J¸©‰¸G3¹8{¹	´¹J¾¹5	º8?º(xº,¡ºZÎº`)»PŠ»EÛ»F!¼Fh¼O¯¼Hÿ¼3H½<|½%¹½Aß½n!¾K�¾ÁÜ¾:ž¿:Ù¿7À*LÀ8wÀA°ÀIòÀC<ÁK€Á.ÌÁ<ûÁ98ÂBrÂTµÂT
-ÃT_Ã‰´Ã<>Äm{Ä[éÄPEÅ<–ÅDÓÅ^Æ|wÆDôÆ€9Ç1ºÇJìÇI7È>�ÈmÀÈ6.É!eÉ‡É&›É(ÂÉ<ëÉA(Ê&jÊ‘Ê7¥Ê!ÝÊ#ÿÊ&#Ë8JËCƒË ÇË èË)	Ì.3Ì0bÌ.“Ì.ÂÌ>ñÌ>0Í/oÍ/ŸÍFÏÍ>ÎDUÎ@šÎ@ÛÎFÏDcÏ@¨Ï@éÏ-*Ð(XÐ�Ð7ŸÐ1×Ð0	Ñ/:Ñ)jÑ/”Ñ;ÄÑhÒ<iÒA¦Ò<èÒ/%Ó-UÓ&ƒÓMªÓ3øÓ3,ÔO`ÔW°ÔOÕoXÕ+ÈÕAôÕ76Ö9nÖT¨Ö5ýÖ#3×.W×.†×%µ×7Û×2Ø7FØE~Ø>ÄØ2Ù:6ÙUqÙ2ÇÙ|úÙ(wÚ( Ú3ÉÚ[ýÚZYÛ+´Û+àÛÜ/&Ü(VÜ7Ü7·Ü<ïÜ?,ÝQlÝ3¾Ý5òÝ'(Þ=PÞ:ŽÞGÉÞ<ß"NßMqß6¿ßKößDBà!‡à:©à7äàá:á.Vá.…á´á1Ôáâ'#â%Kâ qâE’â4Øâ(
ãH6ã?ã<¿ãGüã@Dä7…ä-½ä*ëä<å7Så1‹å8½å:öå21æ+dæt�æ/ç 5ç-Vç^„ç]ãç0AèIrè@¼èAýè.?é+né7šéÒé+òéIê$hê+�ê¹ê×êAðêH2ë>{ë+ºëIæë90ì;jì¦ì;Æì;í>í+YíG…í.Íí.üí5+î@aî@¢îIãî=-ïIkïIµï4ÿï94ð,nð.›ð/Êð'úðk"ñuŽñ@ò5Eò{ò2˜ò.Ëò*úò)%ó?Oó!�ó#±ó.Õó8ô*=ô hôA‰ôEËôBõBTõ:—õ3Òõ$öI+ö;uö9±ö5ëö&!÷%H÷4n÷&£÷4Ê÷1ÿ÷$1ø$Vø/{ø«ø&Éø%ðø<ù#Sù*wù'¢ù>ÊùB	ú3Lú&€ú §ú"Èú!ëú!
û!/û%Qû!wû ™û!ºû#Üû!ü!"ü!Dü$fü$‹ü °ü"Ñü!ôü#ý$:ý_ý"ý"¢ý!Åý!çý	þ)þ!Eþ#gþ"‹þ#®þ!Òþ'ôþ3ÿlPÿ@½ÿ?þÿG>F†JÍHKaG­BõX84‘/Æö4 J!kN�4Ü0B(Y.‚(±*Ú62<5o8¥WÞZ6B‘5Ô=
-<H(…-®0Ü
P' x/™&É!ð@	iS	0½	1î	* 
-!K
-4m
-;¢
-&Þ
-$'*=RD�Õ2ò0%PVK§GóC;
`
rà
AS�•S<ka¨a
-flfÓF:-�2¯(â31?,q-žDÌB5T6Š*Á#ì2)C-m.›*Ê(õ]J|7Çÿ44'iD‘CÖCE^^¤])a(‹+´$à))/7Y9‘&Ë&ò&2@+s=Ÿ,Ý
-+(T-j˜·,Ö#1'*Y'„&¬%Ó&ù' )H,r%Ÿ*Å$ð%%;2a'”*¼"ç#
-".&Q-x,¦[ÓC/ Gs C» Gÿ OG!W—!Gï!97"(q"*š"Å"5å"6#>R#2‘#5Ä#@ú#P;$3Œ$PÀ$2%AD%K†%@Ò%K&-_&`�&=î&J,'2w'<ª';ç'7#(3[(/�(?¿(7ÿ(*7)1b);”)2Ð)W*O[*&«*3Ò*[+Wb+-º+oè++X,]„,-â,+-<-2Z-)�-V·-<.(K.3t.#¨.%Ì.2ò.%/2E/=x/;¶/Bò/A50:w02²0?å0%1<D18�19º1ô12&22Y2›r2/3%>3*d3/�3%¿3"å3-4+64.b4$‘46¶46í4$5.C5+r5$ž5"Ã57æ5!6%@6Af6G¨66ð6='7:e7: 7DÛ78 89Y8C“8:×8798J9Pƒ9DÔ99:,S:0€:#±:-Õ:;-;6L;ƒ;7Ÿ;;×;:<:N<!‰<3«<.ß</=>=L^=1«=*Ý=%>$.>9S>O�>#Ý>,?1.?B`?5£?(Ù?5@"8@.[@8Š@GÃ@UA>aA  AÁA!ßA B'"BbJB3­B)áB=C%IC*oC0šC&ËC&òC7D7QD]‰D8çD EO?E,�E+¼EYèE)BF;lF0¨F/ÙF?	G9IG6ƒG/ºGCêG&.HWUHQ­HÿHI.ICIRYIF¬IFóI::JuJˆJœJ®JÈJ
ÜJ'êJK
K,K%=K\cK;ÀKüKL$L'LDLQL	jLtL†L—L,¤LÑLåLûL"M/8M/hM2˜M9ËM#N')N2QN3„N¸N;ÈNOOO(O8O?OGO[OpO…O—OªOÁOÞOðOP	-P7P	UP"_P+‚P#®P,ÒP:ÿP:QLQ)hQ/’Q?ÂQ=R	@R"JRmR„R+�R¹RÅRÉRÜRîRS'S:S WS#xSœS>¶S<õS2T DT0eTD–T,ÛTU(U:U$XU$}U'¢U%ÊU'ðUV6VVV"vV™V©V¾VÓVêV)W*W#@W-dWI’W:ÜW8X2PXFƒX1ÊXAüX,>Y-kY'™Y.ÁYYðY_JZ;ªZ)æZ![G2[1z[$¬[Ñ[Hæ[5/\%e\‹\5¨\Þ\
-ó\"þ\!]3];]0C]t]�]¨]½]Ê]Ù]
÷]^B^/Z^+Š^8¶^ï^$_!*_1L_~_�_+¼_è_
-ü_`9&```'r`š`¬`.Ê`-ù`G'a3oa£a"Âa)åa*bI:b „b¥b%Âbèbûbc.,c[c,yc)¦c"Ðcócd$d*Cd+ndšd ·dØd5êd e	2e<eNedeve–e°eÁeÐeâe	ée4óe(f1f
-HfSf"Xf%{f¡f­f¼fÓfïfgg7gPgpg„g–g®g-Ìgúghh3hMhDmh¥²hXi)mi/—i'Çiïiþij"j)j!0j.Rj,�j®j:Êj%k%+kQk?jk9ªkCäk=(lCfl=ªl"èl[m?gm§mÆm)ãm
nnv1n*¨nÓn&åno,o>oEo
-Lo(Wo€o'’oºo×oïop#'p$Kp,pp.�p,Ìp.ùp(q"Eq,hq.•q!Äq1æq0r2Ir,|r.©r#Ørürs(0s/Ys!‰s«s(Ès#ñs+tAt,Zt ‡t¨tÁtátõtu#4u-Xu"†u©u»uÓuæuÿuv v2v2Mv$€v&¥vÌv6ìv	#w!-wDOwD”w/Ùw?	xIx/[x?‹xËxJÜxM'y8uy®yÎyåy;øy4z7Qz-‰z·zJÀz‰{(•{7¾{ö{*|;|S|[|s|‰|š|°|Í|"Ù|#ü|% }F}c}'€}¨}Jº}J~JP~I›~:å~A ;b:žEÙ6€+V€;‚€F¾€@�;F�:‚�Q½�/‚B?‚;‚‚K¾‚F
-ƒaQƒ/³ƒ<ãƒ- „-N„/|„7¬„Bä„!'…iI…D³…dø….]†,Œ†f¹†C ‡d‡#ƒ‡@§‡@è‡4)ˆ8^ˆH—ˆ7àˆ‰˜8‰Ñ‰í‰ÿ‰Š<&Š2cŠ.–Š$ÅŠêŠòŠ	‹‹5‹M‹e‹d}‹â‹6õ‹M,ŒMzŒ=ÈŒg�bn�=Ñ�EŽ1UŽ(‡Ž$°ŽÕŽëŽ4�'<�$d�7‰�Á�Ò�ê���*�B�T�f�x�Š�¤�¿�Ñ�â�ú�‘28‘k‘„‘-ž‘+Ì‘+ø‘*$’	O’	Y’
-c’
-n’y’Ž’�’²’Á’1Æ’ø’-“E“'d“"Œ“¯“Í“â“ë“,	”]6”=””(Ò”Zû”ZV•E±•A÷•G9–B�–WÄ–W—9t—9®—-è—8˜4O˜3„˜9¸˜4ò˜2'™7Z™5’™7È™BšECšB‰šCÌšA›'R›.z›,©›+Ö›*œ.-œ2\œ �œ[°œ@�:M�#ˆ�6¬�<ã�& ž2Gž=zž;¸ž8ôž<-Ÿ%jŸ�Ÿ­ŸNÃŸ- O@  � >± 9ð 
-*¡15¡&g¡&Ž¡!µ¡×¡,ö¡J#¢7n¢
¦¢´¢Ã¢Ö¢ê¢ý¢£7-£6e£6œ£Ó£$ó£_¤"x¤A›¤Ý¤,û¤2(¥[¥k¥¾|¥»;¦÷¦§-§BM§D�§*Õ§L¨M¨`¨u¨Š¨Ÿ™¨9©0A©9r©¬©Æ©Î©Ö©ò©Hù©BªEª2aªO”ªäª«*« 3«T«r«z«‡« ¡«Â«Ë«ß«ô«
-¬¬4¬K¬h¬y¬‹¬Ÿ¬N§¬ö¬ú¬#­6­6N­…­ ¥­8Æ­ÿ­®!®)®2>®q®…®™®­®À®
Ó®Lá® .¯DO¯P”¯å¯÷¯
-°3%°!Y°{°‚°"Š°­°½°MÌ°±2±O±^±.q±% ±'Æ±+î±$²*?²j²0†²
-·²,Â²ï²
³'³/³
G³%U³{³'“³»³Õ³ï³"û³´=´T´f´}´7”´Ì´å´ú´µµ3µGµ]µsµ-’µ)Àµ>êµ7)¶ga¶xÉ¶7B·Ez·4À·%õ·-¸;I¸!…¸§¸!À¸0â¸5¹<I¹<†¹2Ã¹/ö¹.&º=Uº/“º6ÃºFúºA»`»€»,„»H±»ú½ ¾8(¾>a¾ˆ ¾‰)¿‚³¿96À"pÀ/“À\ÃÀ[ Á
|Á8ŠÁNÃÁÂu*Â: Â*ÛÂ%Ã+,ÃXÃ0jÃ2›Ã1ÎÃ/Ä#0Ä
TÄ$bÄ©‡Ä<1ÅpnÅkßÅgKÆI³Æ&ýÆ§$Ç_ÌÇS,ÈW€È]ØÈY6Ék�É}üÉ‚zÊSýÊ•QËyçËoaÌˆÑÌQZÍm¬Í{Î'–Î$¾Î…ãÎ}iÏ]çÏEÐcÐ-wÐ¥Ð+¿ÐHëÐ&4Ñ"[Ñ]~ÑÜÑòÑÒ7"Ò7ZÒ7’Ò%ÊÒ(ðÒÓ'"Ó,JÓXwÓWÐÓi(Ô#’Ô'¶Ô'ÞÔÕ$$Õ?IÕ!‰Õ&«ÕÒÕ#òÕ'ÖL>Ö‹Ö%›Ö!ÁÖ-ãÖ×$×!D×f×P†×××ó×(Ø')Ø QØGrØVºØGÙOYÙ(©Ù$ÒÙ!÷Ù%Ú?Ú]ÚyÚK”Ú%àÚ4Û&;ÛbÛ?}Û½ÛØÛ õÛ<ÜSÜbÜ
qÜÜ#–Ü4ºÜïÜÝ@+Ý1lÝ0žÝÏÝ#îÝÞC*ÞnÞ…Þ2œÞÏÞ;èÞ$ßG8ß€ß“ß#¦ßÊßãßÿß$à7=àuà3‰à#½à#áàá#á#Aáeá;yá8µáîáôáüá-â
-/â:â?â.Eâ*tâŸâ¤â*©â(Ôâ.ýâ,ãB1ãtãNyãÈãÏãÕãÚãßãåãéã7îã5&äI\ä¦ä(«ä;Ôä,åV=åk”å(æ)æ.æ3æ:æ@æEæ_æfæ€æ‡æ¦æÀæÖæìæçç6.çeç	ç
‰ç
—ç
-¥ç
-°ç
-»ç
-Æç5Ñç
-è_èrè{‰èné
-té5é1µéUçé>=ê9|êH¶ê1ÿê,1ë^ë"pë“ëŸë¼ëÐë-×ëQì7Wì�ì;¨ì1äìí?0ípí€í=‡íÅíQâí^4î,“îÀîQÚî6,ïAcï@¥ï#æï$
-ð/ð�Mð&Ûð7ñ,:ñIgñD±ñöñGòBYòKœòFèò=/ómó1„óI¶ó,ôP-ô¹~ô¸8õ­ñõ/ŸöfÏö6÷ˆP÷jÙ÷vDø?»øOûøJKù:–ùlÑù‰>únÈú&7ûR^ûv±ûK(ütüS„ýVØýV/þJ†þmÑþD?ÿ\„ÿháÿ¸J[8_Š˜o#	“Ë�IiW³LUX‡®�6‡Ä�L‡Ü‡d�ì‰}	l
-²t
-?'kgÅÓ“™o-
k�k	\uGÒe\€qÝ^Os®\"^ZÞx9‘²‘D‘Ööh^_â¾ª¡zLcÇr+´žõS†IâÐN³‰{ŒeÉnO8Sˆ(Ü[ @a x¢ }!U™!#ï!±"LÅ"G#UZ#²°#…c$4é$4%\S%E°%Uö%\L&^©&r'r{'�î'c~(Ìâ(s¯)y#*t�*v+|‰+y,t€,võ,kl-RØ-L+.ux.oî.^^/S½/T0Sf0Hº0�1~“1_2~r2bñ2KT3U 3‘ö3dˆ4dí4‘R5 ä5Ï…6U7L]8Žª8g99�¡9�1:gÏ:Q7;R‰;\Ü;]9<i—<U=bW=€º=u;>j±>k?Ëˆ?–T@
ë@UùASOBU£BœùBÃ–CoZDoÊD#:Ef^ESÅEjFi„F–îFn…G˜ôGt�HkI;nIaªISJ¯`J K2±K|äK{aL^ÝL|<M1¹M}ëMqiNRÛN..OX]OY¶O8PKIP2•P:ÈPDQBHQi‹QbõQ?XR˜RcSy|S—öSœŽT]+UT‰UKÞUm*V­˜V{FW¼ÂWoXyïXyiYãY\[>^[O�[Üí[ÛÊ\l¦]^]“^qñ^Rc_R¶_€	`3Š`Y¾`�aU©aIÿaEIb8�brÈb‚;c|¾c[;d’—d»*e{æeIbf�¬f�.g°gTÏgp$hT•hSêhy>i»¸i½tjŒ2kb¿k–"lŒ¹lmFm‡´mL<nZ‰nfänBKoûŽo	Šp²”qaGrE©rHïrJ8sDƒsTÈszt=˜tHÖtbuq‚uTôuGIv™‘vÝ+wÚ	xÚäx§¿y]gzHÅz¡{s°{q$|j–|H}VJ}€¡}:"~`]~\¾~D>`UŸ:õV0€T‡€qÜ€>N�T��:â�w‚z•‚\ƒDmƒD²ƒD÷ƒE<„C‚„CÆ„G
-…CR…B–…CÙ…E†Cc†C§†Cë†F/‡Fv‡B½‡DˆCEˆE‰ˆFÏˆA‰DX‰D�‰Câ‰C&ŠAjŠ/¬ŠCÜŠE ‹Df‹E«‹Cñ‹_5Œp•Œ��r¤�nŽ|†Ž{��jÿ�‘j�}ü�€z‘­û‘g©’g“;y“mµ“F#”Fj”‘±”]C•e¡•1–H9–V‚–YÙ–a3—k•—�˜¡ƒ˜g%™±�™?š^K›Ÿª›ˆJœnÓœ„B�kÇ�Z3ž=Žž‘ÌžF^Ÿs¥Ÿ_ Hy iÂ È,¡hõ¡�^¢Rü¢BO£`’£uó£Ki¤1µ¤Bç¤…*¥•°¥.F¦[u¦€Ñ¦ÀR§ƒ¨k—¨y©ã}©îaªP«1Ð«Ó­©Ö­Ù€®ãZ¯Þ>°ç±‚²`ˆ²pé²?Z³eš³\´V]´C´´cø´a\µY¾µ[¶pt¶Iå¶w/·]§·]¸[c¸T¿¸D¹ÓY¹�-ºy»º55»3k»`Ÿ»Y¼nZ¼mÉ¼m7½o¥½ˆ¾‡ž¾L&¿Fs¿Nº¿B	ÀSLÀQ ÀiòÀs\ÁOÐÁF ÂHgÂS°ÂQÃ†VÃVÝÃ24ÄbgÄ$ÊÄMïÄC=Å7�ÅP¹Å<
-ÆNGÆ]–Æ@ôÆ?5Ç>uÇ?´Ç@ôÇB5ÈExÈ>¾ÈCýÈ=AÉ>É>¾ÉSýÉIQÊG›ÊCãÊD'ËClËG°ËhøËgaÌ«ÉÌžuÍ´ÎxÉÎ|BÏ�¿ÏµMÐºÑr¾ÑJ1Ò<|Ò<¹ÒböÒfYÓsÀÓV4Ôb‹ÔsîÔ–bÕ†ùÕŠ€ÖN×[Z×f¶×[ØnyØ_èØóHÙo<Ús¬Ú€ Û�¡Ûo2Üp¢ÜlÝp€Ý�ñÝKsÞi¿Þ|)ßn¦ßmà¯ƒàš3áMÎáiâ¹†âµ@ã^öãáUäZ7å¯’åXBæf›æ9çh<çb¥ç«è�´èBEévˆé=ÿéW=êS•êCéêh-ë�–ëŒ4ì�Áì¥_í”î]šîwøî:pïd«ï`ðcqðÕð6õðM,ñ5zñ[°ñHó>UóS”óHèó>1ô<pôX­ôDõSKõ>ŸõaÞõo@ö*°örÛörN÷AÁ÷Gø›KøGçøP/ùz€ù€ûù\|úRÙúN,ûO{û]ËûL)üNvü\ÅüN"ýLqýL¾ý¨þ�´þ¨Eÿ�îÿDŒ6ÑObXW»a/u~¥v$››n7/¦UÖV,Sƒ@×¸‡ÑRYH¬NõoD’´?G	L‡	UÔ	–*
-‡Á
-ZI]¤9X<U•më›Y
tõ
MjD¸ZýRXJ«ÎötÅt:[¯N]ZO¸{W„hÜ|EîÂ_±#Â5VøXOÈ¨:qg¬w[ŒjèeS]¹e{}:ùË4ƒ>„Ã"Ü%ÿ‰%ˆ¯u8a®* ; 2[ +Ž +º æ 3þ 2!O!e!*€!««!€W"$Ø"3ý"1#64#k#;†#Â#Õ#ï#$K%$q$%Š$)°$SÚ$Q.%a€%kâ%sN&RÂ&V'fl'gÓ';(€T(Õ(è(,ù(&)?)R)c)y)�)§)Á)?Ü)E*"b*:…*;À*ü*1+E+KX+f¤+V,Xb,r»,.-R@-W“-]ë-‰I.�Ó.#d/?ˆ/<È/
-0`0 q0’0+–0Â0Ô0æ0Hø08A1Iz1FÄ142™@2�Ú21j3<œ3\Ù3q64S¨47ü4)459^50˜50É53ú51.63`6)”6+¾6+ê6.7%E7<k7<¨7@å7)&8DP8•8G±8Zù8lT9lÁ9p.:vŸ:j;b�;lä;vQ<gÈ<n0=\Ÿ=Çü=ÂÄ>ƒ‡?V@>b@†¡@Q(A0zA2«A~ÞAS]BI±B*ûBo&C1–CÈCOçC7DIDQDeYD5¿D1õD1'E%YEE*™E ÄEåE‘÷Eg‰FNñFV@G4—GgÌGg4H£œHO@IO�I€àIEaJ
§JQµJYKaKDsK¸K4ÊKuÿKTuL‰ÊLxTMAÍM?N`ON\°N™
OB§O>êOH)P/rP6¢PÙPMõP8CQj|QLçQL4R�R'“R+»R�çR†iS>ðS3/TcTYuTÏTáTU/U?BUM‚U/ÐU"V #VDVVV]V`lVÍV;çV#W
-?WIJWa”WöWX $X,EXrX’X5¬X)âX3Y@Y!\Y"~Y2¡Y]ÔY&2ZYZoZ*�ZIºZv[?{[1»\yí\g]Uç]#=^a^s^…^Œ^=“^JÑ^H_'e_G�_2Õ_2`>;`dz`dß`†DavËa|BbV¿bPcÑgcz9dA´d9öd`0e‘e'¬eæÔeA»fýf:gGJg’g¤g«g²gdÒg7hEIh+�h%»h/áh"i04i:ei] iKþi]JjK¨j9ôjD.k]skGÑkOlbilkÌlY8m]’mKðm><nH{n&ÄnmënnYo7Èo5p?6p:vpR±p%qM*q7xq%°qFÖq&rADr@†rHÇrTsLes²s%Äsês5t+>t)jt!”t3¶tgêt9Ru\Œu3éudv‚vT�viävjNw_¹wxx2’xaÅx'y§y¦Æy•mz|{9€{(º{5ã{o|9‰|�Ã|6Q}ˆ}˜‘}*~LIv–0
€Y>€B˜€Û€(î€-�*E�/p�4 �Õ�;ì�2(‚^[‚=º‚9ø‚H2ƒ{ƒž�ƒ�,„‡º„“B…hÖ…w?†b·†z‡�•‡x#ˆwœˆ“‰Ö¨‰³ŠŒ3‹›À‹\ŒŸ|�ËŽ”èŽ®}�Ð,�ý�V’bp’VÓ’W*“Y‚“^Ü“~;”Mº”â•Žë•ïz–`j—^Ë—²*˜oÝ˜qM™Q¿™gšgyš_ášYA›Û››”wœO�4\�'‘ž¹žÙž$ùžbŸo�ŸbñŸDT ™ ?¦ #æ A
-¡L¡%d¡4Š¡Ì¿¡%Œ¢Y²¢ž£ž«£pJ¤¹»¤´u¥\*¦{‡¦E§<I§/†§¶§EÔ§£¨˜¾¨HW©… ©+&ª>Rª1‘ª+Ãª>ïª8.«,g«,”«,Á«,î«@¬:\¬,—¬+Ä¬6ð¬K'­Gs­H»­,®01®jb®hÍ®h6¯lŸ¯°#°:°R°+j°–°®°Ã°Ò°8Û°E±UZ±.°±tß±KT². ²Ï²ê²;ó²€/³¸°³hi´_Ò´Ç2µÇúµUÂ¶c·R|·¢Ï·©r¸¤¹{Á¹y=ºj·º–"»\¹»t¼a‹¼\í¼qJ½n¼½t+¾n ¾ˆ¿–˜¿Œ/ÀŽ¼À‰KÁGÕÁ\ÂbzÂXÝÂw6ÃT®ÃQÄCUÄÎ™ÄghÅ‹ÐÅN\Æ�«Æ\9Ç<–ÇFÓÇjÈw…ÈjýÈphÉIÙÉ:#Ê4^Ê­“ÊnAË¦°Ë>WÌ[–ÌVòÌIÍI`ÍGªÍIòÍT<ÎO‘Î�áÎ”rÏqÐ%yÐ"ŸÐ-ÂÐðÐÑÑB*ÑgmÑfÕÑ…<ÒFÂÒN	ÓÌXÓN%Ô�tÔBÕeUÕ]»Õ'Ö"AÖ«dÖ¬Ø8½Ù7öÙJ.Ú–yÚ‹ÛwœÛ¨Ü½ÜÛÜ,øÜ#%ÝñIÝ;ÞoJÞˆºÞ9Cß}ß…ß9�ßÇß«ÞßŠà!�ào±àÏ!áCñá
-5âX@âD™â_Þâ>ãZãIxã]Âã ä%4ä&Zä'�ä%©ä'Ïä(÷ä' å#Hå lå�å§åŒ¯å<æ3Cæ>wæ7¶æqîæN`çO¯çpÿç+pè,œèÉèÑèWîèFé`étéˆé›é®é¦Ëé.rê¸¡ê‹Zë$æë"ì7.ìlfìRÓì&í
5í<Cí€í�íŽŸí4.îKcî*¯îÚîfóîHZïJ£ïjîï<Yðd–ð6ûðP2ñƒñY�ñH÷ñ@@ò�ò(’ò»òZÛò16óShó5¼ó,òóô;4ô6pô3§ô3Ûô<õ3Lõi€õCêõ.öMöiö†ö¤öÂöâö)÷H,÷[u÷xÑ÷yJø'Äø,ìù^ûvxûsïûPcü_´üaýLvý5ÃýLùýrFþz¹þ¬4ÿ¬áÿvŽXS^u²~(_§ºAÂBG7N¥¾–¹îŠÓ¢ílbÝåRøª#ðÕYš™+ÊÇÁI{¦bO5�;Ä•ä3	ßn^k|´DçX˜B``ºt÷Xæ#ÇOFZFy§e¸þqº?®_l¨†¤ˆFQD+›ßæ(¹ÿ	?¹ø¼žw@{MHïµýÄÛÍ,\�%dÍBJŒŒû­^ƒ<¨å¦�…}2�jß.dž“˜MýUÄ²«�Ž¡õ¦BÚjp‚�P÷Á
çèiäQÀÛSÉ[}ši¶hÛÔ½•7iÿß$-Î¤YŽÈ¤�ë°·òûv¯b2—XGmÀ°ãÞ´WçYPwˆòs¾|¥àö~‡—S�HÊ³ÚOJ�düÈã“{U7qá%w~�œêÞªÜãa×œ‰Às±©‡\€Mq Ð§p„ö¢Þ±²"÷¯=¾Ì)©×:j™¸�\Œ›Rã.�RT:­œP`!,‰\žÌsÀÝtgL£"�.KÏ!wˆ½àÆOþŠ€~Ó„%=žš|èúP–Ø|eG.°¼žï„UûTL�Ãª]î’V¢›_©Ô4[�Ê¨ ¬ïêLOØå$‚�Òâ1gRíºéó(N>©çíŠt‹c'�/¶Ç$«š�Ó¯6™UhàwHêA	@§q€Â:…(F)Ùå½‡Ó^0ŸÒNÆÑsLyY„¥¼aq>P4’½oæŸ~ÛÂ>šOŸ/IêÆí[ è
-A`Dól€‚ìW�ÜÅ³I±	áüÑ¤vf0ñ§0°CÄ?Æ¼ua�ûÜµ¥«m2�/®^«(ZtÕìulàzÁ…nNÂÑþ½¥ŸÙˆ'±–fMQ	¾›}Z‚¡·“�Ûó¡Áý“‚ä­(›ë
±SfÆ%»Öý¤¶ÈHÙ}¯ÿá?TÍ´ @Ò‹#7/-ÂCjUåP—d'ê‘ýK ­nç<43y ßöØS¶o.ð1StZªÔÃVz
6‘�õøyuÈ*3Ecó8ZzxS'â®U^Õ_¤ôÍ‰¸ *™1Já&ŸŸÉ
-ñ.<­o=ô9’·`0H�T…’Ae·æáõÅ�¸$•;n,œÙªÙ"¿6Œ7²²‘”¡®*p¦¶1=”¸îùÅ¾.9ÞbËˆ�”‰Ë’åGÇ}?x*¿%ù¬–_‘Ü×¿kø¿_³Ö+lÅäV»6²b~'”Aâ‹’@~^dû´g<Ò¶†õì´y†¨€=J:ºC2ŽrgŠ°+â-|)ÔžÓ5HÊ•r�écJk“4ÔµSÙ›¿1˜]No&XfBÍ2"7ŽvNùø¥W8õc\UŠ‘!Œk†×ª”d‰I
-¬gÉ#>÷)(ƒî{&=µNµ±ïBRgL*«Xxr—¾+ÖoQ°e„xXfìº@È;RIG÷KŒèQräÁÈònÿ]·Ò¢RØØŽË^aq•ÆÎËo;]J·Ênâº—Á’ÇÁ`¼Fš“/;k+©öOÌÏ0ò<,”hÏñ[ÉÏ],»¡u9t×Ü%ÐM™¬YvèæNz¦A,9ÓDÿsE‡õMI«4©ú5Ý3�ì€x¸ ™a;‹s
—¿8i{�0Âöc;®Eü6úÝô‚ð“ë‰P€"*CÎ
-u™Ð‹#Kó:&…³'Y$Àù-DÚÖbz:»,¸:CñFœh¹
>ô³ñ§¯>2´H5£s8ã¯Eiv£Œör_p«8ç‰9WÐ9´g4~LEÚ˜r)ÑÅ?
-p(#Çvü!Ze²x=Ž7×Ð|{°‡†ñøÂMÌË½h|<mL9î•þ§Åz¯ôQ¡»þZôŠÍ·&¹ÉðÒ'‡
ãE+&ìTóý�E	§¶ <3ÃBAëÚê��Ëu$­$ÃÆf„]Ðƒ”3–m£5_¢5Ñûuújb5V³ÀƒDÝÃú]fmµëÖ#Þw³vc
-"•\ârVÜ8�ÊI›Qé&Ä
-òjxqmnÅ©CÈÏVà)¬®œ"�)ßÌÖ»ÎaiºëÂ¨¨£Êé>¤£}e4þÎ¥hk�äéW/c%D !06[ï½-ü¹—‘X†3ú‹ÉK*Vï2¾è±-˜@ÏÑ!Ga÷w\œžŸµ j[Äòh»m‚ª¼ÄÎ…K…®‘{¬Éš¨¦1Ã¬Kp?²6ŠÚé- G˜T dlÌ1Ô t‹!FÿŽàíe£y8G­ðËÃy¡BW¹„ùØƒzTÀAùÕ‡æiƒ˜–Õî}[ˆÕüWJÝC
ˆk@¿Yðl`Ûp†¦ƒ/áo¢	7¼–Ç¢íÞ	    TLS: %A	<corrupt: 0x%04lx>	Export Address Table 			Export Address Table 		%08lx
+Þ•080›@`¬‚sÄ‚�„4š
5šCšWšpšA�š?Ñš:›L›c›v›$•›3º›
î›ü›%œBœATœ&–œ½œÖœïœ�� 7�X�x�‘�¨�µ�PÈ�ž*1ž9\ž6–ž;Íž	ŸFŸ6bŸ6™Ÿ:ÐŸ5 ,A Dn N³ J¡)M¡Gw¡:¿¡Bú¡L=¢)Š¢B´¢L÷¢D£Z£Dq£G¶£þ£¤/¤C¤[¤p¤3�¤Ã¤Ú¤0ì¤¥-¥=¥+W¥+ƒ¥+¯¥#Û¥ÿ¥¦ ¦>¦(U¦?~¦>¾¦%ý¦&#§(J§)s§G�§7å§¨4¨T¨q¨Š¨¥¨Å¨Þ¨ù¨©'©;©R©,l©™©©©Â©Ú©ñ©ªª+ªEª\ª1qª£ª´ªÁªØªóª#«+/«&[«5‚«¸«Í«å«ÿ«¬/¬H¬_¬u¬$Š¬¯¬È¬è¬­$­:­N­c­<|­¹­È­
×­å­ù­® &®G®b®r®’®®®Î®ç®¯¯*&¯Q¯c¯&u¯œ¯0°¯á¯"õ¯„°	�°§°#º°Þ°÷°±!±":±]±"q±#”±#¸±Ü±#ñ±#²9²F²d²‚²ˆ²•²�²¢²
+¿²Ê²Ï²!Õ² ÷²³³"³:³Z³z³³“³!˜³º³Ë³Ò³Ø³Ý³â³è³ì³ñ³
´"&´I´N´n´‚´&¢´BÉ´µ,µ1µ6µ=µCµHµZµaµyµ�µ”µ­µÁµÒµãµôµ¶¶.¶	=¶
G¶
U¶
+c¶
+n¶
+y¶
+„¶
+�¶$š¶
+¿¶#Ê¶
+î¶ù¶·!#·E·Z·
+i·
t·	‚·Œ·
+�·¨·¯·Ç·á·ó·¸¸4¸C¸\¸k¸r¸’¸(¢¸/Ë¸û¸
¹+¹H¹Ad¹¦¹À¹Ú¹ô¹8	ºBºZºoº&‰º°ºÏº2êº?»&]»„»(£»Ì»"ß»¼*"¼6M¼{„¼r½xs½ì½:¾=¾?O¾�¾¯¾&Í¾ô¾œ¿D«¿'ð¿,À1EÀ'wÀ$ŸÀ/ÄÀ-ôÀ0"Á&SÁ8zÁ³Á=ÓÁ9Â:KÂ6†Â6½ÂôÂ/Ã5DÃ+zÃ$¦Ã6ËÃ"Ä&%Ä6LÄ=ƒÄ:ÁÄ:üÄD7Å8|Å9µÅCïÅ:3Æ7nÆ8¦ÆQßÆE1Ç9wÇ,±Ç0ÞÇ#È3È-NÈ6|È³È7ÏÈ;É:CÉ9~É"¸É3ÛÉ%Ê.5ÊdÊL„Ê0ÑÊ.Ë11Ë'cËE‹Ë8ÑË(
+Ìc3Ì4—Ì&ÌÌ2óÌ&&Í6MÍ]„Í8âÍÎO:Î,ŠÎ+·Î)ãÎY
Ï=gÏ3¥Ï2ÙÏBÐ)OÐ$yÐ3žÐ9ÒÐ6Ñ/CÑDsÑ&¸ÑWßÑU7ÒI�Ò+×Ò8Ó%<Ó(bÓ&‹Ó,²Ó#ßÓ>ÔBBÔB…ÔÈÔ'èÔEÕVÕ0uÕ.¦Õ,ÕÕ'Ö6*Ö aÖ/‚Ö4²ÖNçÖª6×Iá×9+Ø3eØ¾™Ø<XÙ<•ÙFÒÙPÚojÚ>ÚÚFÛ``Û~ÁÛF@Ü‚‡Ü[
+Ý3fÝ@šÝMÛÝm)Þ7—Þ#ÏÞóÞ(	ß&2ß+Yß…ßšß8®ß"çß$
+à'/à9WàC‘à!Õà!÷à*á/Dá1tá/¦á/Öá0â*7â0bâ<“âiÐâ=:ãBxã=»ã-ùã+'ä8Sä9ŒäFÆä?
åVMå(¤å>Íå;æ=Hæ#†æLªæ8÷æ+0ç8\ç2•ç9Èç:è3=è,qèužè éK5é0�éB²é/õé,%ê'Rê%zê, êNÍêëC6ëJzë@ÅëJì%Qì:wì<²ì ïìlí<}í<ºí+÷í#î,?îHlî6µîAìîA.ïJpï>»ïJúïJEð<�ð.Íð(üðl%ñv’ñA	ò6Kò‚ò4 ò0Õò+óA2ó3tó@¨ó!éó#ô./ôB^ôF¡ô4èô%õ:Cõ2~õ*±õ9ÜõCöCZö:žöTÙöJ.÷5y÷4¯÷6ä÷/ø/Kø&{ø&¢ø5Éø'ÿø5'ù(]ù3†ù%ºù&àùú''ú=Oú#�ú+±ú3Ýú(û@:ûC{û5¿û'õû,ügJü4²ümçüAUý@—ýHØýG!þKiþIµþLÿþHLÿC•ÿYÙÿ530i4šMÏN1l)ž/È)ø+"7N3†6º9ñX+[„Cà6$>[=š*Ø.22[e-Á,ï7/R(‚$«0Ð'8)"bA…=Ç@2F+y"¥5È<þ';	%c	(‰	R²	?
+FE
+3Œ
+1À
+Dò
+H7D€KÅassBç‚*
T­
=b@b£ggn0Ö(405e3›-Ï/ýH-Fv7½Gõ+=$i2Ž.Á/ð+ )L^vKÕF!h"„§5Â(øE!DgD¬Fñ_8^˜"÷*+E8q:ª'å;
8I'‚'ª3Ò>-E,s ¿Ü.ú/)$Y3~²FÐ&!>6`5—+Í ù$.?.n%�)Ã\íDJH�DØLXjHÃ)*6 a5‚9¸@ò+3 6_ A– 3Ø =!HJ!<“!8Ð!3	"4="4r"0§"@Ø"1#BK#LŽ#AÛ#L$8j$B£$+æ$2%<E%3‚%X¶%P&.`&`�&&ð&\'Xt'/Í'pý'An(+°(KÜ(.(),W)%„)ª)3Ê)2þ)1*4Q*W†*=Þ**+5G+%}+B£+%æ+4,>A,<€,C½,B-;D-3€-´-Ô-ã-!ø-.$0.U.1h.Vš.Iñ.I;/<…/Â/Õ/é/û/0
)0'70_0
k0y0%Š0\°0;
1I1[1q1t1‘1ž1	·1Á1Ó1ä1,ñ1222H2"d2‡2(¤2/Í2/ý21-38_3#˜3'¼32ä334K4;[4—4ž4¦4»4Ë4Ò4Ú4î455*5=5T5q5ƒ5¡5	À5Ê5è5	ý5"6*6<6)X6/‚6"²6Õ6ì6õ6777*7<7'N7v7 “7#´7Ø7ò7 8%8HC81Œ8#¾8,â8X9ah9:Ê9.:74:1l:;ž:(Ú::;,>;-k;-™;Ç;2æ;<)<><S<j<)€<ª<!À<$â<I=Q=5n=¤=
+¹=CÄ=I>R>d>l>t>
’> >A²>/ô>+$?8P?‰?$Ÿ?!Ä?1æ?@7@+V@‚@
+–@¡@À@%Ò@ø@
+A.(A-WAG…A3ÍAB" BCBUB$nB“B!°BÒB5äBC	,C6CHC^C~C˜C§C¹C	ÀCÊCÏCÛCêCDD3DEDeD~DžD²DÄDÜD-úD(E:ELE`EzE'�E·EÆEØEêEñE!øEF:6F%qF%—F½FAÖF;GCTG=˜GCÖG=H"XH{H„HvŸH*IAI'SI{I�I”I
+›I(¦IÏI'áI	J&J>J^J#vJ$šJ,¿J.ìJ,K.HKwK"”K,·K.äK!L15L0gL2˜L,ËL.øL#'MKMkM(M/¨M!ØMúM(N#@N+dN�N,©N ÖN÷NO0ODOdO#ƒO-§O"ÕOøO
+PP)P>P&PP	wPF�P/ÈPøPJ	QMTQ¢QÂQÙQìQ-	R7R@RHRTRAfR7¨RBàR!#SES˜eSþST,T>T2ST.†T#µTÙTæTóTUU:$U+_U#‹U¯UÂUÛUóU,V:8VsV	‹Vd•VúV6
WMDWM’W<àWgXb…X<èXE%Y1kY(�Y$ÆYëY/Z+1Z]ZyZ“Z°Z>ÌZ<[H[4d['™[$Á[æ[÷[\&\7\O\g\y\‹\�\¯\É\ä\ö\]]>]2]]�]'ª]7Ò]0
+^D;^,€^'­^Õ^õ^_-!_+O_+{_*§_	Ò_	Ü_
+æ_
+ñ_ü_` `5`D`1I`{`/›`Ë`'ê`"a&5a0\a�a«aÀaÉa9ça!b,6b9cb)�bCÇbIcEUcY›cYõc;Od;‹d/Çd5÷d:-e5he4že9Óe7
f9EfDfGÄfDgEQgC—g/Ûg-h,9h;fh*¢h6Íh/i;4i3pi%¤i1Êi!üi\jA{j1½j?ïj:/k7jk>¢k$ákIlPl/mlO�lPíl3>m rm?“m:Óm&n
+5n0@n%qn"—n%ºn0àn!o3oLogo|o‰oO˜oèo,pJ4p7p
·pÅp1Ôpqq-q@q)]q*‡q,²q6ßqr$6r_[r"»rAÞr s,>s2ksHžsçs÷s$t-t@t¼`t¹u×u/éuv4vRv*rvL�v2êv-w)Kw"uw˜w«wÀwÕw4äwx0!x%Rx9xx²xÄxÕxïx÷xÿxyH"yky4ny£y¬y
+ÃyÎy2êyOzmzŒz"‘z*´z%ßz {&{D{L{Ck{¤¯{T|a| {|œ|¥|¹|Î|ä|ú|}.}?}Q}e}Nm}[¼}~A~^~}~•~²~6Ê~ !8B+{§ºÊÒçÿ€'€;€N€
a€o€L‰€ Ö€D÷€P<���Ÿ�2º�$í�‚2‚5E‚{‚!–‚¸‚¿‚2Ç‚Fú‚/Aƒqƒ"ƒƒ¦ƒ¶ƒMÅƒ9„;M„7‰„Á„Ù„ö„…,…$E…Jj…)µ…ˆß…(h†%‘†(·†à†
+ü†,‡74‡l‡)†‡°‡Î‡è‡ˆˆ ˆ8ˆ
Nˆ#\ˆ€ˆ'˜ˆÀˆÑˆçˆ‰‰8‰#D‰%h‰Ž‰«‰Â‰Ô‰7ë‰#Š?Š_ŠxŠ�ŠŸŠ²ŠÆŠÚŠðŠJ‹JQ‹Jœ‹Iç‹:1ŒlŒ-‹Œ;¹Œ+õŒ@!�<b�8Ÿ�8Ø�.Ž>@ŽIŽhÉŽy2�B¬�=ï�<-�Sj�1¾�Dð�>5‘Nt‘IÃ‘d
’0r’;£’8ß’F“5_“&•“.¼“-ë“.”0H”<y”!¶”Ø”!ñ”`•.t•,£•hÐ•E9–0–6°–kç–ES—™—&·—#Þ—<˜<?˜e|˜2â˜/™/E™4u™=ª™9è™0"š7Sš=‹š6Éš@›A›a›,e›S’›
æ� ô�8ž>Nžˆ�ž‰Ÿ‚ Ÿ9# "] /€ \° [
¡i¡8x¡N±¡¢u¢:Ž¢*É¢%ô¢+£F£0X£2‰£1¼£/î£#¤
B¤$P¤©u¤<¥p\¥kÍ¥g9¦I¡¦&ë¦§§_º§S¨Wn¨]Æ¨Y$©k~©}ê©‚hªSëª•?«yÕ«oO¬ˆ¿¬QH­mš­{®'„®$¬®…Ñ®}W¯]Õ¯3°Q°-e°“°+­°HÙ°&"±"I±]l±Ê±à±ð±7²7H²7€²%¸²(Þ²³'³,8³>e³X¤³Wý³?U´F•´AÜ´HµfgµiÎµ#8¶'\¶'„¶¬¶$Ê¶?ï¶!/·&Q·x·#˜·'¼·#ä·¸L'¸t¸%„¸!ª¸-Ì¸ú¸
¹-¹!H¹j¹Š¹P¤¹õ¹º(º'Gº oºG�ºVØºG/»Ow»Ç»(Ü»$¼!*¼%L¼r¼�¼¬¼Ç¼Kã¼%/½4U½&Š½±½?Ì½¾'¾ D¾<e¾¢¾±¾
À¾Î¾å¾#¿4%¿Z¿y¿@–¿1×¿0	À:À#YÀ}À–ÀC®ÀòÀ	Á2 ÁSÁ;lÁ¨ÁG¼Á­Â²ÂÅÂ#ØÂüÂÃ1Ã$JÃ7oÃ§Ã3»Ã#ïÃ#Ä7Ä#OÄ#sÄ—Ä;«Ä8çÄ Å&Å<ÅDÅ-IÅ
+wÅ‚Å‡Å.�Å*¼ÅçÅìÅ*ñÅ(Æ.EÆtÆByÆ¼ÆNÁÆÇ,Ç3Ç9Ç>ÇCÇIÇMÇ7RÇ5ŠÇIÀÇ
+È(È;8È,tÈV¡ÈkøÈ(dÉ�É’É—ÉžÉ¤É©ÉÃÉ!ÊÉìÉÊ
Ê,ÊFÊ\ÊrÊˆÊžÊ6´ÊëÊ	Ë
Ë
Ë
++Ë
+6Ë
+AË
+LË
+WË_bËÂË{ÙË
+UÌ5`Ì1–ÌHÈÌ1Í,CÍpÍ"‚Í¥Í±ÍÎÍâÍ-éÍQÎ7iÎ¡Î;ºÎ1öÎ(Ï?BÏ‚Ï’Ï=™Ï×ÏQôÏ^FÐ,¥ÐÒÐQìÐ6>ÑAuÑ@·Ñ#øÑ$ÒAÒ�_Ò&íÒ7Ó,LÓIyÓDÃÓÔG#ÔBkÔK®ÔFúÔ=AÕÕ1–ÕIÈÕ,ÖP?Ö¹�Ö¸J×­Ø/±ØfáØHÙwbÙÚÙ6úÙM1Ú6Ú\¶ÚˆÜ@œÜUÝÜJ3Ý@~Ý>¿ÝZþÝFYÞU Þ@öÞS7ß;‹ßeÇßa-àd�àaôàoVá+ÆásòánfârÕâAHãšŠãH%äQnä\ÀäRåNpåO¿å]æLmæNºæ\	çNfçLµçLè©Oè‘ùè¨‹é�4êDÒê6ëbNëW±ëa	ì/kì~›ìví›‘ím-î0›îUÌîS"ïVvï@Íï¸ð†Çð`NñS¯ñJò˜Nò‰çòKqóÏ½óu�ôOõQSõ{¥õ{!öî�ö_Œ÷#ì÷ÂøVÓøX*ù:ƒùÈ¾ùi‡úzñú^lûmËûU9üI�ülÙüeFý]¬ýe
+þ|pþ:íþË(ÿ‡ôÿ�|k
+wv@îP/N€LÏ<mYŠÇoR'ÂTêw?L·UXZX³LoYFÉ^joºÚ:•	ŒÐ
+p]lÎo;m«
m|‡�ä’ewtÝ¶R÷	ˆäŠ¬oPgmuÕÉKPUf*¼]çUE[›$÷6²SMHTV�³ô…¨5.5d]šFøV?]–_ôTTU©TÿIT�ž/ `¯ !K�!IÜ!j&"d‘"�ö"vx#Ìï#<¼$bù$T\%¡±%3S&_‡&^ç&LF'®“'|B(½¿(p})zî)zi*ä*?,�C,cÅ,r)-Sœ-Sð-VD.V›.Jò.’=/9Ð/t
+0„0~1“ƒ1J2¼b2|3Jœ3ç3‚í4‚p5Ló5@6U`6q¶6z(7¼£7¾`8�9c­9—:�©:Š7;NÂ;C<üU<
+R=³]>b?Ft?J»?L@ES@“™@‚-A{°A=,BHjBb³BšCÞ±C^�DIïDs9Eq­ETF�tFÛGÛàG§¼H�dI¢Jg¥JZ
KkhKSÔK](LW†L^ÞL�=M;¿MaûMI]N^§NEO@LO<�OWÊOr"P>•PUÔP—*Q;ÂQyþQ{xR^ôRESSG™SÖáSq¸Tž*UsÉUo=V}­V|+W€¨Wk)X’•X~(Y�§Y®)ZhØZhA[Vª[¡\²£\fV]I½]W^Z_^bº^l_‚Š_¢
`h°`²aÌa_Ùb 9c‰Úcodd†Ôdl[e\ÈeÄ%fqêfp\g>Íg%hf2hS™hLíht:i`¯ikjI|jjÆj—1koÉkž9lSØlC,mapmvÒmLIn2–nCÉn™
o‡§o—/p\Çp�$qˆ¦ql/rzœr»säÓsï¸t€¨u2)vÔ\wª1xÚÜxä·yßœzé|{cf|<Ê|r}gz}^â}WA~E™~gß~eG\­¯
+€qº€J,�ww�^ï�]N‚U¬‚EƒÔHƒŽ„|¬„6)…2`…4“…aÈ…Z*†o…†nõ†nd‡pÓ‡‰DˆˆÎˆ@W‰T˜‰Sí‰jAŠt¬ŠP!‹~r‹rñ‹GdŒI¬ŒTöŒ‡K�WÓ�c+ŽS�Ž/ãŽB�YV�Z°�=�PI�4š�jÏ�E:‘C€‘[Ä‘c ’H„’AÍ’E“_U“]µ“E”@Y”¬š”ŸG•µç•y�–Š—¶¢—»Y˜K™<a™=ž™bÜ™`?šu šs›cŠ›tî›�cœzåœ˜`�pù�qjž†ÜžkcŸmÏŸq= ‚¯ N2¡\�¡gÞ¡\F¢o£¢L£®`£j¤}z¤oø¤nh¥°×¥›ˆ¦`$§ô…§Mz¨ºÈ¨¶ƒ©`:ªâ›ª�~«Z¬tw¬Yì¬gF­W®­C®iJ®S´®;¯jD¯¬¯¯‘\°Dî°x3±?¬±‚ì±ho²nØ²žG³�æ³žt´¦µ•ºµ^P¶>¯¶î¶"·d*·%�·Vµ·¸Y+¸�…¸x¹xŒ¹cº*iº”º2´º+çº+»?»3W»‹»¨»¾»*Ù»«¼€°¼$1½3V½Š½6�½Ä½;ß½¾.¾H¾d¾K~¾Ê¾%ã¾+	¿S5¿3‰¿R½¿QÀabÀjÄÀr/ÁR¢ÁVõÁfLÂg³ÂÃ€4ÃµÃÈÃ,ÙÃÄÄ2ÄCÄYÄpÄ‡Ä¡Ä?¼ÄEüÄ"BÅ:eÅ; ÅÜÅ1óÅ8%Æ^ÆKqÆ½ÆRÏÆW"Ç]zÇ?ØÇ<È
+UÈ `È�È+…È±ÈÃÈÕÈHçÈ80ÉIiÉF³É4úÉ1/Ê<aÊ9žÊkØÊeDËGªËYòËÆLÌÁÍlÕÍpBÎo³Îu#ÏŠ™ÏU$Ð‚zÐvýÐgtÑ[ÜÑH8ÒO�Ò%ÑÒ<÷Ò<4Ó@qÓ)²ÓDÜÓ!Ô>=Ô0|Ô­Ô*-ÕoXÕ1ÈÕúÕiÖ²ƒÖ6×H×P×*X× ƒ×¤×�¶×gGØN¯ØVþØ4UÙgŠÙgòÙ£ZÚOþÚONÛ€žÛEÜ
eÜQsÜÅÜB×ÜÝ4,ÝuaÝT×Ý‰,Þx¶ÞA/ß?qß±ß'Ãß+ëß>à4Và‹àY�à÷à	á(á/:áMjá/¸á èá	ââ"â
+1â<âLâ jâ,‹â¸âØâ5òâ)(ã3Rã†ã!¢ã"Äã2çã]ä&xäŸäµä*Õä1åU2å#ˆå¬å¾åÐå×å=Þå'æGDæ2Œæ2¿æ>òæf1çf˜ç†ÿçv†è|ýèVzéPÑé"ê'=êæeêALëŽë; ëÜëîëõëüëdì�ìE“ì+Ùì%í/+í"[í0~í:¯í]êíKHî]”îKòî9>ïDxï]½ïGðOcðb³ðkñY‚ñ]ÜñK:ò>†òHÅò&óm5ón£ó7ô5Jô?€ô:ÀôRûô%NõMtõ7Âõ%úõF ö&göAŽö@ÐöH÷TZ÷L¯÷ü÷ø+,ø)Xø!‚ø\¤øùlùa{ùÝù¦üù•£ú99û(sû5œû9Òû6üCüLü_üvüwˆü^ý~_ýMÞýO,þ4|þ'±ÿÙÿùÿ$o>b®CUeu’?ŸpßfPV·#A2t%ŒX²r4~#³Ì×%¤YÊž$žÃob¹Ò´Œ[A	{�	E
+<_
+/œ
+Ì
+\ê
+`GH¨@ñU2Mˆ™Ö�p
E£F˜êHƒ+Ì>ø17+i>•8Ô,
,:,g,”@Á:,=+j6–KÍGHa-ªMØo&\–qóSeM¹7)?0ijšhhnl×D[rŠ+¢Îæû
+8FLW“.ëtK�qÛPM.žÍè;ñX-2†€¹d:`ŸeUf¤¼«a¦
 }´ {2!l®!]"˜y"v#s‰#pý#vn$på$ŠV%˜á%Žz&�	'‹š']&(c„(Yè(ŒB)wÏ)�G*UÕ*[++R‡+;Ú+E,D\,Ï¡,hq-jÚ-lE.v².i)/r“/O0ˆV0Aß0p!1¦’1¯92Qé2>;3\z3W×3J/4z4H‘4FÚ4O!5Hq5eº5T 65u61«61Ý6%757•O7Oå7�58”Æ8q[9%Í9"ó9S:j:~:‘:B¤:`ç:\H;\¥;…<Fˆ<NÏ<Ì=Në=�:>BØ>e?]�?˜ß?'x@" @GÃ@/A7;A§sA¨CÄD_àD8@E8yEJ²EwýE¨uF`GcGVãGL:H‡H¥H,ÂH#ïHoIƒJo’JXKˆ[K?äK $L9ELL‡L9�LÉL«àLŒM`‘MòM;NDN!`No‚NÏòNCÂO
+PIPX[Pa´PDQ_[Q»QH×Qu R>–RÕSIóS]=T›T%¯T&ÕT'üT'$U(LU'uU#�U ÁUâUüUŒVÑ‘VcW|jWAçW3)X9]X7—XqÏXNAYO�YpàYbQZ,´Z,áZ[[%3[Y[s[‡[›[®[Á[6Þ[¦\.¼\¸ë\‹¤]$0^3U^g‰^9ñ^3+_"__c‚_7æ_R`q`
€`cŽ`lò`__a2¿a<òa/b?bŽNb}Ýbo[c�Ëc4YdKŽd*ÚdedeGƒe˜ËehdfÍfLìg=9hbwh6ÚhiY+iv…i0üiZ-jHˆj@ÑjBkUk(fk(�k-¸kækXl1_lS‘l*ål/m5@m4vm,«mØm2ím^ n9n3¹n3ín3!oiUo<¿o@üoC=p�p p¼pÙp÷pq5qžUq�ôq‡‚r“
+shžs)tH1tbzt]Ýtz;u|¶uz3vz®vz)w–¤wÙ;x(y->zµl{Ž"|�±|!O}¡q~Í—á±y€Ó+�ÿ�Wƒavƒ_Øƒw8„t°„Q%…`w…WØ…X0†Z‰†bä†LG‡5”‡LÊ‡¼ˆ`Ôˆ^5‰´”‰qIŠr»Š{.‹äª‹��ŒO�So�QÃ�¬Ž¬ÂŽðo�v`�X×�T0‘_…‘uå‘Z[’¶’`6“Ð—““h”³ü”B°•ó•7ú•Ë¡…iõ?ò*[+¼Iûë€×.ƒ,×ç|-|Ã1®£Él]åÒ°@;Æ°o±4%+¿KW�ÈÝV—b¤hÅ¨ÖXø�É¦ÿÇ¶ìcÊÅêg¼�ˆ¬V"RÑäx¢-‡-lâëƒÈÍÌMV×Lj§ƒYPÐ˜M5%y.™„8r¨­m?Ad,�™ëuÚÔ6\�å:¢)0ÕýAOÄœéÓßuŒøÆÌµBËlž[<×÷�öÞ§…©D…m¹‚ØpÃ0´­®sp¾)R)ˆ2eÞ;^öÁü:æpI¦Á~!všPT—õñ,E»†H›ôè‚¾ò¢d‘Â&G+V]Ý=¤$a fowý¯µêÊP@¼ÂCÔx�óÄÑ_ª#sâêö'Éîèf‰”ö3~Ñ=(ßíš»æ³NÜ‡gÔ�Dd³\b¯�:S¬Åîî8;DIBíÃéÎ½aèBá?àg
+¬ÌáëûŽØá¯®€˜öDŠþ9[ð')U
#9½²úùëJ%›»B¹Ö×µ‚ÚÈY»Ð
+O—°åL‹ÚFça›í¢=ÂÍV–Qu}NÔ¥—V;%µÌ/ÿü?é•6Ú²ˆÆZN“å«”ÀØ�ZXBrla€æÓy'vmŠÅ¨w>ñÊüê£v£‹HŠÂÿ@’ºä0T`5Ö²fLÂé‹íY§]¨–ÙSûïj³¼ÏÍN(“±•Ì�ÒÑ<·ªÉ§bÃ2iÝ…ÐnC‘ãý‹.óû˜K¦mp	�ºŸÜN·n–èWÜOÎ„$.=–Ÿ“PEYð˜s›Þõ
e˜ËÕ„I"O+´ô³`¡…Â¯31¯–
+5”Åùj¥â¸œàGZ8÷Q¹JhðÀ	�^ ½ŸN6ñ “ñJ5žÊtÉ¸‰ˆÒUF.~,ý$|èß&«R£§åê0«´)L¿~©G|ô’ßŽ¦ïn^Î:“Ø¬�¤‰áÆïÍ='[t/r¥ûÕÇðî¤ŽÈ�FP8½·8@ê
+7ŠÎRJF7ðø©ò[s½Ðycù‡íÆÔ0{}Ù¿sôXŽT#”þi¤t•å»Œ…8
Ê¬hTC¸M½ ÿÆÿ”_m'í(Cñçv¢A~é 4ÄüÐôÕw£uäS¿žÿHyââ[R7}†”4?k�IÏ7z'*ž1á^Ó­ÙxwDÖÇÏšÎ—÷0#žc_}oiº`ªãæIÒh¡õn-Ú¹`ƒ·¶a‚ÙRX]ú‡†‹/°�ôk }ç&S_B¸*qóË†HŒ{XØÇÄ{Y%œðGäÛt!áqfÒz±!*ù¼g³o%ó9úO�@‘¿bpA’oìúkÜHz˜À.Ù:LKŽšÛùúšú/+\©røiWeÝ•>éÛÑ®cq«#E"´²�Ÿñ+þYz‚Ä�­€3­óWõµzwŒf
þ×C,­Û¥Fœ¦ì•(:ÜÝaA†dœ<jd«ÛW!à3Õ“M}Û_(�ãÁ
b’)÷¸dl	™ýò‚MtGZÃrj^!¶Íx~CW¶" `Ë¨&À<5¾"^UKcp/ã™Ö›\þ ÇPË¢³D-�ÔQ<�4xžÍÌï¤—¥¹?‡UvS>n&ç™µ¶e 9qqâ²ÈÈã„ƒÞÎ«s¬Ðà#ß	n>m94qJ`kø6*$Ï3Ä‘ª3bO•H
+·æÏ©EUÏ]§\w¦ò1@¡¸vÖ<Uì¿T’Øl{œKÉ>¾Ò�÷ì	2Å±Ùjƒ*›ß„{
Š¡·Áº‰6ãÜ|Gyï€|uÞûùŒ¹_´L°f6„"¨±Ê4F\Ñ1öæ	g±Ó®kQüïS ª2ˆŽÝE–ktš;´eë
+>àzÁ$°{¾JºÓˆõºeŠcä¾À9Ã£©ø�yZ/þî2€¼‹ �÷ur Xi&7ýMî‡Q�x5ìKA‰Ç7üÀ2ªTçò!(Ÿ�²-ó¶hg¥oÞè‰�ä»’à¯E¡hÚ$]ÓŒ;Q�Z1,‘Õ‘†™ŸÁ=®2–9–@–\†x†Œ† †´†È†Ü†ð†‡‡,‡@‡T‡h‡„‡˜‡¬‡È‡Ü‡ð‡ˆˆ,ˆ@ˆTˆhˆ|ˆ�ˆ¬ˆÀˆÔˆðˆ‰(‰<‰P‰d‰€‰”‰¨‰¼‰Ø‰ì‰ŠŠ(Š<ŠPŠdŠxŠŒŠ¨ŠÄŠØŠìŠ‹‹(‹<‹P‹l‹ˆ‹¤‹¸‹Ì‹à‹ô‹ŒŒ8ŒTŒhŒ|Œ˜Œ¬ŒÀŒÔŒèŒüŒ�$�8�L�h�„�˜�´�Ð�ä�ø�Ž(ŽDŽ`ŽtŽˆŽ¤Ž¸ŽÌŽàŽôŽ��0�L�`�t�ˆ�¤�¸�Ì�à�ô� �4�H�d�x�Œ� �´�È�Ü�ð�‘‘,‘@‘T‘p‘„‘˜‘´‘È‘Ü‘ð‘’’,’@’T’h’|’˜’¬’À’Ü’““(“<“P“l“€“”“¨“Ä“Ø“ì“””(”<”P”d”x”””°”Ä”Ø”ì”••(•<•X•t•�•¤•¸•Ì•à•ô•–$–@–T–h–„–˜–¬–À–Ô–è–ü–—$—8—T—p—„— —¼—Ð—ä—ø—˜0˜L˜`˜t˜�˜¤˜¸˜Ì˜à˜ô˜™™8™L™`™t™�™¤™¸™Ì™à™š šG–ÿÿÿÿi–"ÿÿÿÿŸ– ÿÿÿÿÆ–5ÿÿÿÿ—%ÿÿÿÿ.—)ÿÿÿÿ^—(ÿÿÿÿ�—/ÿÿÿÿÃ—ÿÿÿÿß—'ÿÿÿÿ
˜ÿÿÿÿ8˜-ÿÿÿÿf˜ÿÿÿÿ„˜/ÿÿÿÿÇ˜ÿÿÿÿä˜ ÿÿÿÿ™%ÿÿÿÿI™ÿÿÿÿ}™*ÿÿÿÿ¨™.ÿÿÿÿØ™)1ÿÿÿÿ2š%ÿÿÿÿXš1ÿÿÿÿŠš
+2ÿÿÿÿÆš"ÿÿÿÿúš3ÿÿÿÿ.›3ÿÿÿÿb›ÿÿÿÿ‰›9ÿÿÿÿÙ›%ÿÿÿÿœ
+Hÿÿÿÿ`œ
+/ÿÿÿÿ·œ
+6ÿÿÿÿ÷œ
+>ÿÿÿÿ?�
+0ÿÿÿÿy�
+FÿÿÿÿÉ�
+ÿÿÿÿž
++ÿÿÿÿ@ž
+ÿÿÿÿhž
+"ÿÿÿÿ”ž@)ÿÿÿÿŸ
+/ÿÿÿÿ<Ÿ
+ ÿÿÿÿfŸ-ÿÿÿÿ­Ÿ6ÿÿÿÿùŸ6ÿÿÿÿD 
+7ÿÿÿÿ… 
+?ÿÿÿÿÎ 
+ÿÿÿÿó 4ÿÿÿÿ@¡+ÿÿÿÿx¡-ÿÿÿÿ²¡3ÿÿÿÿæ¡
+-ÿÿÿÿ¢(ÿÿÿÿY¢
+-ÿÿÿÿ�¢ÿÿÿÿÂ¢6ÿÿÿÿÿ¢>ÿÿÿÿD£#ÿÿÿÿo£ÿÿÿÿ«£ÿÿÿÿç£
+2ÿÿÿÿ#¤
+.ÿÿÿÿ[¤	2ÿÿÿÿ–¤+ÿÿÿÿÈ¤.ÿÿÿÿý¤+ÿÿÿÿ/¥-ÿÿÿÿd¥0ÿÿÿÿ²¥"ÿÿÿÿñ¥!ÿÿÿÿ$¦
+*ÿÿÿÿZ¦
+Aÿÿÿÿ¥¦
+dÿÿÿÿ§
+$ÿÿÿÿA§1ÿÿÿÿ}§1ÿÿÿÿ¯§
+ÿÿÿÿÌ§5ÿÿÿÿ¨&ÿÿÿÿN¨=ÿÿÿÿž¨&ÿÿÿÿò¨+ÿÿÿÿ1©ÿÿÿÿe©]ÿÿÿÿÒ©!5ÿÿÿÿ)ªKÿÿÿÿuª<"ÿÿÿÿÓª$ÿÿÿÿ«7
+ÿÿÿÿN«ÿÿÿÿ–«;ÿÿÿÿþ«?ÿÿÿÿ\¬ÿÿÿÿ…¬2ÿÿÿÿ¿¬ÿÿÿÿð¬ÿÿÿÿ"­=ÿÿÿÿq­IÿÿÿÿÔ­(ÿÿÿÿ®Iÿÿÿÿu®!ÿÿÿÿ¥®ÿÿÿÿÖ®+ÿÿÿÿ¯=ÿÿÿÿA¯5ÿÿÿÿw¯@ÿÿÿÿ¼¯7ÿÿÿÿô¯-ÿÿÿÿ"°ÿÿÿÿ?°-ÿÿÿÿ|°
+"	ÿÿÿÿÏ°
+Sÿÿÿÿ,±?ÿÿÿÿm±2ÿÿÿÿ¥±6Eÿÿÿÿ ²Jÿÿÿÿq²jÿÿÿÿâ²cÿÿÿÿL³gÿÿÿÿº³Vÿÿÿÿ´mÿÿÿÿ‹´DÿÿÿÿÖ´‡ÿÿÿÿdµ>ÿÿÿÿ½µSÿÿÿÿ¶AÿÿÿÿS¶X#ÿÿÿÿÏ¶Dÿÿÿÿ·9ÿÿÿÿ\·'?ÿÿÿÿÅ·I/ÿÿÿÿ=¸Mÿÿÿÿ‹¸_ÿÿÿÿì¸LDÿÿÿÿ|¹lÿÿÿÿé¹aÿÿÿÿKº
+Tÿÿÿÿ©º>ÿÿÿÿ»lÿÿÿÿs»lÿÿÿÿà»ÿÿÿÿ¼~ÿÿÿÿ´¼Kÿÿÿÿ½
+uÿÿÿÿž½
++Mÿÿÿÿ"¾
+Rÿÿÿÿ~¾
+fÿÿÿÿî¾
+qÿÿÿÿi¿
+}ÿÿÿÿð¿
+F<ÿÿÿÿ|À
+?ÿÿÿÿÅÀ
+BÿÿÿÿÁ
+KÿÿÿÿfÁ£dÿÿÿÿsÂ
+QÿÿÿÿÎÂ
+=ÿÿÿÿÃ'\ÿÿÿÿ˜Ã\/ÿÿÿÿ#Ä\!ÿÿÿÿ Ä
+aÿÿÿÿÅ
+ÀÿÿÿÿÕÅ
+5ÿÿÿÿÆC9ÿÿÿÿ�ÆmÿÿÿÿÇbÿÿÿÿŸÇcÿÿÿÿÈ
+Oÿÿÿÿ]ÈDÿÿÿÿ¶È
+RÿÿÿÿÉ(;ÿÿÿÿuÉkÿÿÿÿçÉÄÿÿÿÿ²ÊWÿÿÿÿËE$ÿÿÿÿ�ËE$ÿÿÿÿñË
+¨ÿÿÿÿ£Ì
+MÿÿÿÿúÌ	TÿÿÿÿWÍ_ÿÿÿÿ½Ícÿÿÿÿ'ÎYÿÿÿÿ‡Î`ÿÿÿÿïÎ3TÿÿÿÿwÏ3>ÿÿÿÿèÏ@ÿÿÿÿ?Ð
+Wÿÿÿÿ¢Ð
+‰ÿÿÿÿ5Ñ
+»ÿÿÿÿúÑ
+RÿÿÿÿVÒmÿÿÿÿÎÒjÿÿÿÿ9Ó
+)ÿÿÿÿlÓK„ÿÿÿÿ;ÔJÿÿÿÿ“Ôuÿÿÿÿ$Õ\1ÿÿÿÿÁÕPÿÿÿÿ'Ö"Hÿÿÿÿ‘Öã ÿÿÿÿ•×0hÿÿÿÿ/Øƒÿÿÿÿ³Ølpÿÿÿÿ�Ù'KÿÿÿÿÚtÿÿÿÿŒÚP$ÿÿÿÿÛ9rÿÿÿÿâÛ=|ÿÿÿÿ›Ü6ÿÿÿÿÜÜUÿÿÿÿ@Ý%Dÿÿÿÿ©Ý(;ÿÿÿÿÞvÿÿÿÿ�Þ�ÿÿÿÿXßPÿÿÿÿÇß"�ÿÿÿÿ†àXÿÿÿÿòà4ÿÿÿÿFáMÿÿÿÿ•áZÿÿÿÿðáwÿÿÿÿhâƒÿÿÿÿðâ€ÿÿÿÿqãTÿÿÿÿÆã ÿÿÿÿõã ]ÿÿÿÿrä
+49ÿÿÿÿÿä
+…ÿÿÿÿŽåŒÿÿÿÿ	    TLS: %pA	<corrupt: 0x%04lx>	Export Address Table 			Export Address Table 		%08lx
 	Invalid Export Address Table rva (0x%lx) or entry count (0x%lx)
 	Invalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)
 	Invalid Ordinal Table rva (0x%lx) or entry count (0x%lx)
 	Name Pointer Table 			Ordinal Table 				[%4ld] <corrupt offset: %lx>
 	[Name Pointer/Ordinal] Table	%08lx
 	code-base %08lx toc (loadable/actual) %08lx/%08lx
-	non-TLS: %A	reloc %4d offset %4x [%4lx] %s	vma:  Hint/Ord Member-Name Bound-To
+	non-TLS: %pA	reloc %4d offset %4x [%4lx] %s	vma:  Hint/Ord Member-Name Bound-To
 
 	DLL Name: %.*s
 
@@ -166,8 +220,14 @@ ppcboot header:
     psect: %u, offset: 0x%08x %08x
     routine name: %.*s
    %02u    (type: %3u, size: 4+%3u):    *unhandled* cmd %u
+   Error: The compile date is truncated
    Error: The length is less than the length of an EEOM record
    Error: The length is less than the length of an EMH record
+   Error: The module name is missing
+   Error: The module name is too long
+   Error: The module version is missing
+   Error: The module version is too long
+   Error: The record length is less than the size of an EMH_MHD record
    Error: length larger than remaining space in record
    alignment  : 2**%u
    alloc (len)   : %u (0x%08x)
@@ -180,6 +240,8 @@ ppcboot header:
    compiler   : %.*s
    completion code: %u
    copyright: %.*s
+   cpusubtype: %#lx%s
+   cputype:    %#lx (%s)
    declfile: len: %u, flags: %u, fileid: %u
    deflines %u
    entity name   : %.*s
@@ -187,7 +249,9 @@ ppcboot header:
    error severity: %x
    file: %.*s
    filename   : %.*s
-   flags         : 0x%08x   flags      : 0x%04x   flags: %d, language: %u, major: %u, minor: %u
+   filetype:   %#lx
+   flags         : 0x%08x   flags      : 0x%04x   flags:      %#lx
+   flags: %d, language: %u, major: %u, minor: %u
    flags: 0x%04x   formfeed
    id match      : %x
    image offset  : 0x%08x
@@ -196,6 +260,7 @@ ppcboot header:
    linkage index: %u, procedure name: %.*s
    linkage index: %u, procedure: %.*s
    linkage index: %u, psect: %u, offset: 0x%08x %08x
+   magic:      %#lx
    max record size: %u
    module name    : %.*s
    module name: %.*s
@@ -203,6 +268,7 @@ ppcboot header:
    name          : %.*s
    name        : %.*s
    name       : %.*s
+   ncmds:      %#lx
    number of cond linkage pairs: %u
    object name   : %.*s
    offset: 0x%08x, val: 0x%08x
@@ -217,6 +283,7 @@ ppcboot header:
    setlnum %u
    setrec %u
    signature: %.*s
+   sizeocmds:  %#lx
    structure level: %u
    symbol vector offset: 0x%08x
    symvec offset : 0x%08x
@@ -226,13 +293,20 @@ ppcboot header:
    transfer address   : 0x%08x
    vector      : 0x%08x
    version mask: 0x%08x
+   version:    %x
   %s (len=%u+%u):
   %u: size: %u, flags: 0x%02x, name: %.*s
   EEOM (len=%u):
   EGSD (len=%u):
   EGSD entry %2u (type: %u, len: %u):   EMH %u (len=%u):   base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x   base_va : 0x%08x
   bitcount: %u, base addr: 0x%08x
-  calls:
+  branch       %lu
+  toc adjust   %lu
+  long branch  %lu
+  long toc adj %lu
+  plt call     %lu
+  plt call toc %lu
+  global entry %lu  calls:
   chgprtoff : %5u
   codeadroff: %5u, lpfixoff  : %5u
   fixuplnk: 0x%08x %08x
@@ -248,11 +322,12 @@ ppcboot header:
   shlextra  : %5u, permctx   : %5u
   shlstoff  : %5u, shrimgcnt : %5u
   size : %u
-  the input  file's flags: %s  the output file's flags: %s %08x 0x%08x 64B <EABI version unrecognised> BPAGE: %u COM COMM Change Protection (%u entries):
+  the input  file's flags: %s  the output file's flags: %s %08x (<unknown>) 0x%08x 64B <EABI version unrecognised> BPAGE: %u COM COMM Change Protection (%u entries):
  Code Address Reference Fixups:
  DEF EXE FPU support required:  First address : 0x%08x 0x%08x
  Fourth address: 0x%08x 0x%08x
  GBL Glue code sequence LIB Linkage Pairs Reference Fixups:
+ MACH-O header:
  NOMOD NORM OVR PIC QVAL RD REL Register restore millicode Register save millicode Resources start at offset: %#03x
  SHR Second address: 0x%08x 0x%08x
  Shareable images:
@@ -260,7 +335,7 @@ ppcboot header:
  String table starts at offset: %#03x
  Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d
  Third address : 0x%08x 0x%08x
- UNI VEC VECEP WEAK WRT [64-bit doubles] [BE8] [FPA float format] [LE8] [Maverick float format] [VFP float format] [Version1 EABI] [Version2 EABI] [Version3 EABI] [Version4 EABI] [Version5 EABI] [XGATE RAM offsetting] [abi unknown] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [absolute position] [d-float] [dynamic symbols use segment index] [fix dep] [floats passed in float registers] [floats passed in integer registers] [g-float] [hard-float ABI] [interworking enabled] [interworking flag not initialised] [interworking not supported] [interworking supported] [mapping symbols precede others] [memory=bank-model] [memory=flat] [new ABI] [no abi set] [nonpic] [not 32bitmode] [old ABI] [pic] [position independent] [relocatable executable] [soft-float ABI] [software FP] [sorted symbol table] [symbols have a _ prefix] [unknown ISA] [unsorted symbol table] [v10 and v32] [v32] alignment of 8-byte entities:  corrupted GST
+ UNI VEC VECEP WEAK WRT [64-bit doubles] [BE8] [FDPIC ABI supplement] [FPA float format] [LE8] [Maverick float format] [VFP float format] [Version1 EABI] [Version2 EABI] [Version3 EABI] [Version4 EABI] [Version5 EABI] [XGATE RAM offsetting] [abi unknown] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [d-float] [dynamic symbols use segment index] [fix dep] [floats passed in float registers] [g-float] [hard-float ABI] [interworking enabled] [mapping symbols precede others] [memory=bank-model] [memory=flat] [new ABI] [no abi set] [nonpic] [not 32bitmode] [old ABI] [pic] [position independent] [relocatable executable] [soft-float ABI] [software FP] [sorted symbol table] [symbols have a _ prefix] [unknown ISA] [unsorted symbol table] [v10 and v32] [v32] alignment of 8-byte entities:  corrupted GST
  debug module table : vbn: %u, size: %u
  debug symbol table : vbn: %u, size: %u (0x%x)
  fixup info rva:  flags: 0x%04x global symbol table: vbn: %u, records: %u
@@ -288,104 +363,38 @@ ppcboot header:
      		Address  Length   Length   32b exc  Handler   Data
  vma:            Hint    Time      Forward  DLL       First
                  Table   Stamp     Chain    Name      Thunk
-#<Invalid error code>%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d
-%03x %*.s Entry: %A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections%A has both ordered and unordered sections%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)
-%A:0x%v not found in function table
-%B (%s): Section flag %s (0x%x) ignored%B and %B are for different configurations%B and %B are for different cores%B contains CRIS v32 code, incompatible with previous objects%B contains non-CRIS-v32 code, incompatible with previous objects%B has has both the current and legacy Tag_MPextension_use attributes%B is not allowed to define %s%B section %A exceeds stub group size%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section%B uses unknown e_flags 0x%lx%B(%#x): error: Cannot create STM32L4XX veneer. Jump out of range by %ld bytes. Cannot encode branch instruction. %B(%A): error: call to undefined function '%s'%B(%A): internal error: dangerous relocation%B(%A): internal error: out of range error%B(%A): internal error: unknown error%B(%A): internal error: unsupported relocation error%B(%A): invalid property table%B(%A): multiple TLS models are not supported%B(%A): relocation %d has invalid symbol index %ld%B(%A): shared library symbol %s encountered whilst performing a static link%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction.%B(%A): warning: unaligned access to symbol '%s' in the small data area%B(%A): warning: unaligned small data access of type %d.%B(%A+0x%%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link%B(%A+0x%lx): %s relocation against SEC_MERGE section%B(%A+0x%lx): %s relocation against external symbol "%s"%B(%A+0x%lx): %s used with TLS symbol %s%B(%A+0x%lx): %s used with non-TLS symbol %s%B(%A+0x%lx): CMEM relocation to `%s' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)%B(%A+0x%lx): CMEM relocation to `%s+0x%lx' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC relocation not permitted in shared object%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not permitted in shared object%B(%A+0x%lx): Stabs entry has invalid string index.%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section%B(%A+0x%lx): cannot handle %s for %s%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch%B(%A+0x%lx): could not decode instruction; possible configuration mismatch%B(%A+0x%lx): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.
-Use gcc option -mrestrict-it to generate only one instruction per IT block.
-%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn%B(%A+0x%lx): invalid instruction for TLS relocation %s%B(%A+0x%lx): reloc against `%s': error %d%B(%A+0x%lx): relocation offset out of range (size=0x%x)%B(%A+0x%lx): unexpected ARM instruction '0x%x' in TLS trampoline%B(%A+0x%lx): unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%lx): unexpected Thumb instruction '0x%x' in TLS trampoline%B(%A+0x%lx): unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%lx): unexpected fix for %s relocation%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'%B(%A+0x%lx): unresolvable relocation against symbol `%s'%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete
-%B(%s): warning: interworking not enabled.
-  first occurrence: %B: ARM call to Thumb%B(%s): warning: interworking not enabled.
-  first occurrence: %B: Thumb call to ARM%B(%s): warning: interworking not enabled.
-  first occurrence: %B: arm call to thumb%B(%s): warning: interworking not enabled.
-  first occurrence: %B: thumb call to arm
-  consider relinking with --support-old-code enabled%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'%B, section %A:
-  relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC%B, section %A:
-  relocation %s should not be used in a shared object; recompile with -fPIC%B, section %A:
-  v10/v32 compatible object %s must not contain a PIC relocation%B, section %A: No PLT for relocation %s against symbol `%s'%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for global symbol: `%s'%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?%B, section %A: relocation %s with no GOT created%B, section %A: relocation %s with non-zero addend %d against local symbol%B, section %A: relocation %s with non-zero addend %d against symbol `%s'%B, section %A: unresolvable relocation %s against symbol `%s'%B, section `%A', to symbol `%s':
-  relocation %s should not be used in a shared object; recompile with -fPIC%B: !samegp reloc against symbol without .prologue: %s%B: %A invalid input section size%B: %A not in order%B: %A points past end of text section%B: %A+%#Lx: No symbol found for INHERIT%B: %A+0x%lx: warning: %s relocation against unexpected insn%B: %A+0x%lx: warning: LITERAL relocation against unexpected insn%B: %A: reloc overflow: 0x%lx > 0xffff%B: %s not absolute%B: %s' accessed both as normal and thread local symbol%B: %s: invalid needed version %d%B: %s: invalid version %u (max %d)%B: %s: reloc overflow: 0x%lx > 0xffff%B: '%s' accessed both as normal and thread local symbol%B: --in-implib only supported for Secure Gateway import libraries.%B: .gnu.version_d invalid entry%B: .gnu.version_r invalid entry%B: .got subsegment exceeds 64K (size %d)%B: .opd is not a regular array of opd entries%B: .preinit_array section is not allowed in DSO%B: .rsrc merge failure: corrupt .rsrc section%B: .rsrc merge failure: unexpected .rsrc size%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32%B: 0x%lx: fatal: reloc overflow while relaxing%B: 0x%lx: fatal: unaligned %s relocation 0x%lx%B: 0x%lx: fatal: unaligned branch target for relax-support relocation%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insn 0x%x%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insns%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc 0x%lx%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insn 0x%x%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insns%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized reloc%B: 0x%lx: warning: bad R_SH_USES load offset%B: 0x%lx: warning: bad R_SH_USES offset%B: 0x%lx: warning: bad count%B: 0x%lx: warning: could not find expected COUNT reloc%B: 0x%lx: warning: could not find expected reloc%B: 0x%lx: warning: symbol in unexpected section%B: @gprel relocation against dynamic symbol %s%B: @internal branch to dynamic symbol %s%B: @pcrel relocation against dynamic symbol %s%B: ABI is incompatible with that of the selected emulation%B: ABI is incompatible with that of the selected emulation:
-  target emulation `%s' does not match `%s'%B: ABI mismatch: linking %s module with previous %s modules%B: ABI version %ld is not compatible with ABI version %ld output%B: ASE mismatch: linking %s module with previous %s modules%B: Architecture mismatch with previous modules%B: BE8 images only valid in big-endian mode.%B: Bad relocation record imported: %d%B: Bad symbol definition: `Main' set to %s rather than the start address %s
-%B: CALL15 reloc at 0x%lx not against global symbol%B: CALL16 reloc at 0x%lx not against global symbol%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000).%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch.%B: Cannot handle compressed Alpha binaries.
-   Use compiler flags, or objZ, to generate uncompressed binaries.%B: Cannot link together %s and %s objects.%B: Data Directory size (%lx) exceeds space left in section (%lx)%B: EF_OR1K_NODELAY flag mismatch with previous modules%B: Error: Debug Data ends beyond end of debug directory.%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file
-%B: Error: search_nds32_elf_blank reports wrong node
-%B: Failed to add renamed symbol %s%B: Failed to find info section for section %d%B: Failed to find link section for section %d%B: Failed to read debug data section%B: Function descriptor relocation with non-zero addend%B: GAS error: unexpected PTB insn with R_SH_PT_16%B: GNU_MBIN section `%A' has invalid sh_info field: %d%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d%B: GOT overflow: Number of relocations with 8-bit offset > %d%B: GOT reloc at 0x%lx not expected in executables%B: IMPORT AS directive for %s conceals previous IMPORT AS%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte%B: Instruction set mismatch with previous modules%B: Internal inconsistency error for value for
- linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx
-%B: Invalid relocation type exported: %d%B: Invalid relocation type imported: %d%B: Invalid sh_link field (%d) in section number %d%B: LOCAL directive: Register $%ld is not a local register.  First global register is $%ld.%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol%B: Malformed reloc detected for section %A%B: Malformed reloc detected for section %s%B: Nested OMIT_FP in %A.%B: No core to allocate a symbol %d bytes long
-%B: No core to allocate section name %s
-%B: No symbol version section for versioned symbol `%s'%B: Not enough memory to allocate space for %lu symbols%B: Not enough room for program headers, try linking with -N%B: Only registers %%g[2367] can be declared using STT_REGISTER%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive%B: Relocation %s (%d) is not currently supported.
-%B: Relocation %s is not yet supported for symbol %s.%B: Relocations in generic ELF (EM: %d)%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined%B: SHT_GROUP section [index %d] has no SHF_GROUP sections%B: Special symbol `%s' only allowed for ARMv8-M architecture or later.%B: TLS local exec code cannot be linked into shared objects%B: TLS sections are not adjacent:%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed%B: TOC reloc at 0x%x to symbol `%s' with no TOC entry%B: The first section in the PT_DYNAMIC segment is not the .dynamic section%B: The target (%s) of an %s relocation is in the wrong section (%A)%B: Too many sections: %d (>= %d)%B: Unable to sort relocs - they are in more than one size%B: Unable to sort relocs - they are of an unknown size%B: Unhandled import type; %x%B: Unknown architecture %s%B: Unknown mandatory ARC object attribute %d.%B: Unknown mandatory EABI object attribute %d%B: Unknown relocation type %d
-%B: Unknown section type in a.out.adobe file: %x
-%B: Unmatched OMIT_FP in %A.%B: Unrecognised .directive command: %s%B: Unrecognised import name type; %x%B: Unrecognised import type; %x%B: Unrecognised machine type (0x%x) in Import Library Format archive%B: Unrecognized storage class %d for %s symbol `%s'%B: Unsupported transition from %s to %s%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s%B: Warning: Thumb BLX instruction targets thumb function '%s'.%B: Warning: bad `%s' option size %u smaller than its header%B: Warning: cannot determine the target function for stub section `%s'%B: Warning: thumb-1 mode PLT generation not currently supported%B: XCOFF shared object when not producing XCOFF output%B: XMC_TC0 symbol `%s' is class %d scnlen %d%B: __gp does not cover short data segment%B: `%A' offset of %ld from `%A' beyond the range of ADDIUPC%B: `%s' accessed both as FDPIC and thread local symbol%B: `%s' accessed both as normal and FDPIC symbol%B: `%s' accessed both as normal and thread local symbol%B: `%s' and its special symbol are in different sections.%B: `%s' has line numbers but no enclosing section%B: `%s' in loader reloc but not loader sym%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)%B: `ld -r' not supported with PE MIPS objects
-%B: absent standard symbol `%s'.%B: access beyond end of merged section (%ld)%B: addend -0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range%B: addend 0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range%B: address 0x%s out of range for Intel Hex file%B: aout header specifies an invalid number of data-directory entries: %d%B: attempt to emit contents at non-multiple-of-4 address 0x%lx
-%B: attempt to load strings from a non-string section (number %d)%B: attempt to mix FDPIC and non-FDPIC objects%B: attempt to write out unknown reloc type%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d%B: bad pair/reflo after refhi
-%B: bad reloc address 0x%lx in section `%A'%B: bad reloc symbol index (%#lx >= %#lx) for offset %#Lx in section `%A'%B: bad relocation section name `%s'%B: bad section length in ihex_read_section%B: bad string table size %lu%B: bad symbol index: %d%B: base-plus-offset relocation against register symbol: %s in %A%B: base-plus-offset relocation against register symbol: (unknown) in %A%B: can not represent section `%A' in a.out object file format%B: can not represent section `%A' in oasys%B: can not represent section for symbol `%s' in a.out object file format%B: can't link hard-float modules with soft-float modules%B: cannot allocate file name for file number %d, %d bytes
-%B: cannot create stub entry %s%B: cannot link fdpic object file into non-fdpic executable%B: cannot link non-fdpic object file into fdpic executable%B: change in gp: BRSGP %s%B: class %d symbol `%s' has no aux entries%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s%B: compiled as 32-bit object and %B is 64-bit%B: compiled as 64-bit object and %B is 32-bit%B: compiled for a 64 bit system and target is 32 bit%B: compiled for a big endian system and target is little endian%B: compiled for a little endian system and target is big endian%B: compiled normally and linked with modules compiled with -mrelocatable%B: compiled with %s and linked with modules compiled with %s%B: compiled with %s and linked with modules that use non-pic relocations%B: compiled with -mrelocatable and linked with modules compiled normally%B: corrupt size field in group section header: %#Lx%B: could not find output section %A for input section %A%B: could not read contents of section `%A'
-%B: could not write out added .cranges entries%B: could not write out sorted .cranges entries%B: csect `%s' not in enclosing section%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object%B: directive LOCAL valid only with a register or absolute value%B: dtp-relative relocation against dynamic symbol %s%B: duplicate export stub %s%B: duplicate section `%A' has different contents
-%B: duplicate section `%A' has different size
-%B: dynamic object with no .loader section%B: encountered datalabel symbol in input%B: endianness incompatible with that of the selected emulation%B: entry function `%s' is empty.%B: entry function `%s' not output.%B: error: ABI mismatch with previous modules.%B: error: Alignment power %d of section `%A' is too big%B: error: Cannot create STM32L4XX veneer.%B: error: Cannot set _ITB_BASE_%B: error: Cortex-A8 erratum stub is allocated in unsafe location%B: error: Cortex-A8 erratum stub out of range (input file too large)%B: error: Erratum 835769 stub out of range (input file too large)%B: error: Erratum 843419 stub out of range (input file too large)%B: error: Instruction set mismatch with previous modules.%B: error: PHDR segment not covered by LOAD segment%B: error: VFP11 veneer out of range%B: error: non-load segment %d includes file header and/or program header%B: error: unaligned relocation type %d at %08x reloc %08x
-%B: error: unaligned relocation type %d at %08x reloc %p
-%B: error: unknown mandatory EABI object attribute %d%B: error: unknown relocation type %d.%B: failed to generate import library%B: fatal: generic symbols retrieved before relaxing%B: file class %s incompatible with %s%B: gp-relative relocation against dynamic symbol %s%B: hidden symbol `%s' in %B is referenced by DSO%B: hidden symbol `%s' isn't defined%B: ignoring duplicate section `%A'
-%B: illegal relocation type %d at address 0x%lx%B: illegal section name `%A'%B: illegal symbol index %ld in relocs%B: illegal symbol index in reloc: %d%B: incompatible machine type. Output is 0x%x. Input is 0x%x%B: incorrect size for symbol `%s'.%B: indirect symbol `%s' to `%s' is a loop%B: internal error in ihex_read_section%B: internal error, internal register section %A had contents
-%B: internal error, symbol table changed size from %d to %d words
-%B: internal symbol `%s' in %B is referenced by DSO%B: internal symbol `%s' isn't defined%B: invalid AVR reloc number: %d%B: invalid CR16C reloc number: %d%B: invalid CRIS reloc number: %d%B: invalid D10V reloc number: %d%B: invalid D30V reloc number: %d%B: invalid Epiphany reloc number: %d%B: invalid FR30 reloc number: %d%B: invalid FRV reloc number: %d%B: invalid IP2K reloc number: %d%B: invalid IQ2000 reloc number: %d%B: invalid LM32 reloc number: %d%B: invalid M32C reloc number: %d%B: invalid M32R reloc number: %d%B: invalid M68HC11 reloc number: %d%B: invalid M68HC12 reloc number: %d%B: invalid MEP reloc number: %d%B: invalid METAG reloc number: %d%B: invalid MMIX reloc number: %d%B: invalid MSP430 reloc number: %d%B: invalid MSP430X reloc number: %d%B: invalid MT reloc number: %d%B: invalid Moxie reloc number: %d%B: invalid NDS32 reloc number: %d%B: invalid OR1K reloc number: %d%B: invalid RL78 reloc number: %d%B: invalid RX reloc number: %d%B: invalid SHT_GROUP entry%B: invalid V850 reloc number: %d%B: invalid Visium reloc number: %d%B: invalid XGate reloc number: %d%B: invalid XTENSA reloc number: %d%B: invalid i960 reloc number: %d%B: invalid import library entry: `%s'.%B: invalid link %u for reloc section %s (index %u)%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)
-%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote
-%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx
-%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo
-%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc
-%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx
-%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d
-%B: invalid mmo file: file name for number %d was not specified before use
-%B: invalid mmo file: file number %d `%s', was already entered as `%s'
-%B: invalid mmo file: initialization value for $255 is not `Main'
-%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx
-%B: invalid mmo file: lop_end not last item in file
-%B: invalid mmo file: unsupported lopcode `%d'
-%B: invalid relocation type %d%B: invalid size field in group section header: %#Lx%B: invalid special symbol `%s'.%B: invalid standard symbol `%s'.%B: invalid start address for initialized registers of length %ld: 0x%lx%08lx
-%B: invalid string offset %u >= %lu for section `%s'%B: invalid symbol table: duplicate symbol `%s'
-%B: jump too far away
-%B: line number overflow: 0x%lx > 0xffff%B: linking %s module with previous %s modules%B: linking 32-bit code with 64-bit code%B: linking 64-bit files with 32-bit files%B: linking UltraSPARC specific with HAL specific code%B: linking auto-pic files with non-auto-pic files%B: linking big-endian files with little-endian files%B: linking constant-gp files with non-constant-gp files%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double%B: linking files compiled for HCS12 with others compiled for HC12%B: linking little endian files with big endian files%B: linking non-pic code in a position independent executable%B: linking trap-on-NULL-dereference with non-trapping files%B: loader reloc in read-only section %A%B: loader reloc in unrecognized section `%s'%B: local symbol `%s' in %B is referenced by DSO%B: misplaced XTY_LD `%s'%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'.%B: no group info for section %A%B: no initialized registers; section length 0
-%B: no symbol found for import library%B: no valid group sections found%B: non-pic code with imm relocation against dynamic symbol `%s'%B: non-zero symbol index (%#lx) for offset %#Lx in section `%A' when the object file has no symbol table%B: object size does not match that of target %B%B: out of memory creating name for empty section%B: out of memory in _bfd_elf_get_property%B: page size is too large (0x%x)%B: pc-relative relocation against dynamic symbol %s%B: pc-relative relocation against undefined weak symbol %s%B: plugin needed to handle lto object%B: probably compiled without -fPIC?%B: protected symbol `%s' isn't defined%B: register relocation against non-register symbol: %s in %A%B: register relocation against non-register symbol: (unknown) in %A%B: reloc %s:%d not in csect%B: reloc against a non-existent symbol index: %ld%B: relocatable link from %s to %s not supported%B: relocation %s against %s%s`%s' can not be used when making a shared object%s%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC%B: relocation %s against symbol `%s' isn't supported in x32 mode%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC%B: relocation %s can not be used when making a shared object; recompile with -fPIC%B: relocation %s cannot be used when making a shared object%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend%B: relocation size mismatch in %B section %A%B: relocs in section `%A', but it has no contents%B: section %A lma %#Lx adjusted to %#Lx%B: section %A: string table overflow at offset %ld%B: section `%A' can't be allocated in segment %d%B: section group entry number %u is corrupt%B: sh_link [%d] in section `%A' is incorrect%B: sh_link of section `%A' points to discarded section `%A' of `%B'%B: sh_link of section `%A' points to removed section `%A' of `%B'%B: short data segment overflowed (0x%lx >= 0x400000)%B: size field is zero in Import Library Format header%B: speculation fixup to dynamic symbol %s%B: stack size specified and %s set%B: string not null terminated in ILF object file.%B: string too long (%d chars, max 65535)%B: support for local dynamic not implemented%B: symbol `%s' has unrecognized csect type %d%B: symbol `%s' has unrecognized smclas %d%B: symbol `%s' required but not present%B: taking the address of protected function '%s' cannot be done when making a shared library%B: the target (%s) of a %s relocation is in the wrong output section (%s)%B: too many initialized registers; section length %ld
-%B: too many sections (%d)%B: too many sections: %u%B: tp-relative relocation against dynamic symbol %s%B: unable to create fake empty section%B: unable to fill in DataDictionary[12] because .idata$5 is missing%B: unable to fill in DataDictionary[1] because .idata$2 is missing%B: unable to fill in DataDictionary[1] because .idata$4 is missing%B: unable to fill in DataDictionary[9] because __tls_used is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing%B: unable to find ARM glue '%s' for `%s'%B: unable to find STM32L4XX veneer `%s'%B: unable to find THUMB glue '%s' for `%s'%B: unable to find VFP11 veneer `%s'%B: unable to find name for empty section%B: unable to get decompressed section %A%B: unable to initialize compress status for section %s%B: unable to initialize decompress status for section %s%B: unable to load COMDAT section name%B: undefined reference to symbol '%s'%B: undefined sym `%s' in .opd section%B: undefined symbol on R_PPC64_TOCSAVE relocation%B: unexpected ATN type %d in external part%B: unexpected redefinition of indirect versioned symbol `%s'%B: unexpected reloc type %u in .opd section%B: unexpected type after ATN%B: unhandled dynamic relocation against %s%B: unimplemented %s
-%B: unimplemented ATI record %u for symbol %u%B: unknown load command 0x%lx%B: unknown relocation type %d%B: unknown relocation type %d for symbol %s%B: unknown type [%#x] section `%s'%B: unknown type [%#x] section `%s' in group [%A]%B: unknown/unsupported relocation type %d%B: unrecognised Alpha reloc number: %d%B: unrecognised CR16 reloc number: %d%B: unrecognised CRX reloc number: %d%B: unrecognised I370 reloc number: %d%B: unrecognised MCore reloc number: %d%B: unrecognised MN10300 reloc number: %d%B: unrecognised MicroBlaze reloc number: %d%B: unrecognised PPC reloc number: %d%B: unrecognised PicoJava reloc number: %d%B: unrecognised SH reloc number: %d%B: unrecognised SPU reloc number: %d%B: unrecognised VAX reloc number: %d%B: unrecognized relocation (0x%x) in section `%A'%B: unrecognized symbol `%s' flags 0x%x%B: unsupported non-PIC call to IFUNC `%s'%B: unsupported relocation type %i%B: unsupported relocation type %i
-%B: unsupported relocation type %s%B: unsupported relocation type 0x%02x%B: unsupported relocation: ALPHA_R_GPRELHIGH%B: unsupported relocation: ALPHA_R_GPRELLOW%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'
-%B: uses %s instructions while previous modules use %s instructions%B: uses _-prefixed symbols, but writing file with non-prefixed symbols%B: uses different e_flags (%#x) fields than previous modules (%#x)%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)%B: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)%B: uses instructions which are incompatible with instructions used in previous modules%B: uses non-prefixed symbols, but writing file with _-prefixed symbols%B: version count (%ld) does not match symbol count (%ld)%B: version node not found for symbol %s%B: visibility of symbol `%s' has changed.%B: warning core file truncated%B: warning: %A: line number overflow: 0x%lx > 0xffff%B: warning: %s points to unrecognized reloc at 0x%lx.%B: warning: %s relocation against symbol `%s' from %A section%B: warning: %s relocation to 0x%x from %A section%B: warning: %s: line number overflow: 0x%lx > 0xffff%B: warning: COMDAT symbol '%s' does not match section name '%s'%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?%B: warning: Endian mismatch with previous modules.%B: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld%B: warning: Incompatible elf-versions %s and  %s.%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags%B: warning: No symbol for section '%s' found%B: warning: Older version of object file encountered, Please recompile with current tool chain.%B: warning: PLT addend of %d to `%s' from %A section ignored%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)%B: warning: allocated section `%s' not in segment%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode.%B: warning: claims to have 0xffff relocs, without overflow%B: warning: duplicate line number information for `%s'%B: warning: illegal symbol in line number entry %d%B: warning: illegal symbol index %ld in relocs%B: warning: illegal symbol index 0x%lx in line number entry %d%B: warning: isymMax (%ld) is greater than ifdMax (%d)
-%B: warning: line number table read failed%B: warning: linking PIC files with non-PIC files%B: warning: linking abicalls files with non-abicalls files%B: warning: loop in section dependencies detected%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u%B: warning: multiple symbol tables detected - ignoring the table in section %u%B: warning: relocate SDA_BASE failed.%B: warning: segment alignment of %#Lx is too large%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture%B: warning: selected VFP11 erratum workaround is not necessary for target architecture%B: warning: sh_link not set for section `%A'%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.
-%B: warning: unaligned access to GOT entry.%B: warning: unaligned small data access. For entry: {%d, %d, %d}, addr = 0x%x, align = 0x%x.%B: warning: unknown EABI object attribute %d%B: will not resolve runtime TLS relocation%B:%A%s exceeds overlay size
-%B:%A: %s and %s must be in the same input section%B:%A: Warning: deprecated Red Hat reloc %B:%A: error: relocation references symbol %s which was removed by garbage collection.%B:%A: error: try relinking with --gc-keep-exported enabled.%B:%A: table %s missing corresponding %s%B:%A: table entry %s not word-aligned within table%B:%A: table entry %s outside table%B:%d: Bad checksum in S-record file
-%B:%d: Unexpected character `%s' in S-record file
-%B:%d: byte count %d too small
-%B:%d: unexpected character `%s' in Intel Hex file%B:%u: bad checksum in Intel Hex file (expected %u, found %u)%B:%u: bad extended address record length in Intel Hex file%B:%u: bad extended linear address record length in Intel Hex file%B:%u: bad extended linear start address length in Intel Hex file%B:%u: bad extended start address length in Intel Hex file%B:%u: unrecognized ihex type %u in Intel Hex file%C: warning: relocation to "%s" references a different segment
-%F%A: failed to align section
-%F%B: PC-relative offset overflow in GOT PLT entry for `%s'
-%F%B: PC-relative offset overflow in PLT entry for `%s'
-%F%B: branch displacement overflow in PLT entry for `%s'
+#<invalid error code>%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d
+%03x %*.s Entry: %C: warning: relocation to "%s" references a different segment
 %F%P: already_linked_table: %E
 %F%P: auto overlay error: %E
 %F%P: can not build overlay stubs: %E
-%F%P: corrupt input: %B
-%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie
-%F: failed to create BND PLT .eh_frame section
-%F: failed to create BND PLT section
-%F: failed to create GNU property section
-%F: failed to create GOT PLT .eh_frame section
-%F: failed to create GOT PLT section
-%F: failed to create GOT sections
-%F: failed to create IBT-enabled PLT section
-%F: failed to create PLT .eh_frame section
-%F: failed to create VxWorks dynamic sections
-%F: failed to create ifunc sections
+%F%P: corrupt input: %pB
+%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%pB' can not be used when making an executable; recompile with -fPIE and relink with -pie
+%F%P: failed to convert GOTPCREL relocation; relink with --no-relax
+%F%P: failed to create BND PLT section
+%F%P: failed to create GNU property section
+%F%P: failed to create GOT PLT .eh_frame section
+%F%P: failed to create GOT PLT section
+%F%P: failed to create GOT sections
+%F%P: failed to create IBT-enabled PLT section
+%F%P: failed to create PLT .eh_frame section
+%F%P: failed to create VxWorks dynamic sections
+%F%P: failed to create ifunc sections
+%F%P: failed to create the second PLT .eh_frame section
+%F%pA: failed to align section
+%F%pB: PC-relative offset overflow in GOT PLT entry for `%s'
+%F%pB: PC-relative offset overflow in PLT entry for `%s'
+%F%pB: branch displacement overflow in PLT entry for `%s'
 %H __tls_get_addr lost arg, TLS optimization disabled
 %H arg lost __tls_get_addr, TLS optimization disabled
-%H: %s against `%T': error %d
-%H: %s for indirect function `%T' unsupported
+%H: %s against `%pT': error %d
+%H: %s for indirect function `%pT' unsupported
+%H: %s references dynamic symbol with nonzero addend
 %H: %s references optimized away TOC entry
 %H: %s reloc against `%s': error %d
-%H: %s reloc against local symbol
-%H: %s reloc unsupported in shared libraries and PIEs.
-%H: %s used with TLS symbol `%T'
-%H: %s used with non-TLS symbol `%T'
-%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend
-%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend
+%H: %s reloc unsupported in shared libraries and PIEs
+%H: %s used with TLS symbol `%pT'
+%H: %s used with non-TLS symbol `%pT'
 %H: R_FRV_GETTLSOFF not applied to a call instruction
 %H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction
 %H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction
@@ -397,13 +406,12 @@ Use gcc option -mrestrict-it to generate
 %H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction
 %H: R_FRV_TLSMOFFHI not applied to a sethi instruction
 %H: R_FRV_TLSOFF_RELAX not applied to an ld instruction
-%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)
-%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC
+%H: call to `%pT' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)
+%H: call to `%pT' lacks nop, can't restore toc; recompile with -fPIC
 %H: cannot emit dynamic relocations in read-only section
 %H: cannot emit fixups in read-only section
 %H: error: %s against `%s' not a multiple of %u
 %H: error: %s not a multiple of %u
-%H: error: %s with unexpected instruction %x
 %H: fixup branch overflow
 %H: non-zero addend on %s reloc against `%s'
 %H: reloc against `%s' references a different segment
@@ -411,69 +419,84 @@ Use gcc option -mrestrict-it to generate
 %H: relocation %s for indirect function %s unsupported
 %H: relocation references symbol not defined in the module
 %H: relocation to `%s+%v' may have caused the error above
-%H: toc optimization is not supported for %s instruction.
-%H: unresolvable %s against `%T'
+%H: toc optimization is not supported for %s instruction
+%H: unresolvable %s against `%pT'
 %H: unresolvable %s relocation against symbol `%s'
+%H: warning: %s unexpected insn %#x.
 %P%F: --relax and -r may not be used together
-%P%F: failed creating ex9.it %s hash table: %E
 %P%X: can not read symbols: %E
 %P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC
-%P%X: read-only segment has dynamic relocations.
-%P: %B .opd not allowed in ABI version %d
-%P: %B: %s is not supported for `%T'
-%P: %B: cannot create stub entry %s
-%P: %B: relocation %s is not yet supported for symbol %s
-%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)
-%P: %B: unexpected relocation type
-%P: %B: unknown relocation type %d for `%T'
-%P: %B: unknown relocation type %d for symbol %s
-%P: %B: warning: relocation against `%s' in readonly section `%A'
-%P: %B: warning: relocation in readonly section `%A'
-%P: %s not defined in linker created %s
-%P: %s offset too large for .eh_frame sdata4 encoding%P: .eh_frame_hdr entry overflow.
-%P: .eh_frame_hdr refers to overlapping FDEs.
-%P: DW_EH_PE_datarel unspecified for this architecture.
-%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.
-%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.
-%P: alternate ELF machine code found (%d) in %B, expecting %d
-%P: bss-plt forced by profiling
-%P: bss-plt forced due to %B
-%P: can't build branch stub `%s'
-%P: can't find branch stub `%s'
-%P: cannot find opd entry toc for `%T'
-%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc
-%P: copy reloc against protected `%T' is dangerous
-%P: dynreloc miscount for %B, section %A
-%P: error in %B(%A); no .eh_frame_hdr table will be created.
-%P: linkage table error against `%T'
-%P: long branch stub `%s' offset overflow
-%P: multiple entry points: in modules %B and %B
+%P%X: read-only segment has dynamic relocations
+%P: %H: %s relocation unsupported for bss-plt
+%P: %H: error: %s with unexpected instruction %x
+%P: %pB: %s is not supported for `%pT'
+%P: %pB: warning: relocation against `%s' in read-only section `%pA'
+%P: %pB: warning: relocation in read-only section `%pA'
+%P: cannot find opd entry toc for `%pT'
+%P: copy reloc against `%pT' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc
+%P: copy reloc against protected `%pT' is dangerous
+%P: linkage table error against `%pT'
+%P: multiple entry points: in modules %pB and %pB
 %P: relocatable link is not supported
-%P: stubs don't match calculated size
-%P: symbol '%s' has invalid st_other for ABI version 1
-%P: warning: creating a DT_TEXTREL in a shared object.
+%P: warning: creating a DT_TEXTREL in a shared object
 %P: warning: text relocations and GNU indirect functions may result in a segfault at runtime
 %X%C: relocation to "%s" references a different segment
 %X%H: @local call to ifunc %s
-%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range
-%X%H: Unsupported JALX to the same ISA mode
-%X%H: Unsupported branch between ISA modes
-%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled
+%X%H: cannot convert branch between ISA modes to JALX: relocation out of range
+%X%H: unsupported JALX to the same ISA mode
+%X%H: unsupported branch between ISA modes
 %X%H: unsupported bss-plt -fPIC ifunc %s
-%X%P: %B(%A): error: relocation for offset %V has no value
-%X%P: %B(%A): relocation "%R" goes out of range
-%X%P: %B(%A): relocation "%R" is not supported
-%X%P: %B(%A): relocation "%R" returns an unrecognized value %x
-%X%P: overlay section %A does not start on a cache line.
-%X%P: overlay section %A is larger than a cache line.
-%X%P: overlay section %A is not in cache area.
-%X%P: overlay sections %A and %A do not start at the same address.
+%X%H: unsupported jump between ISA modes; consider recompiling with interlinking enabled
+%X%P: %pB(%pA): error: relocation for offset %V has no value
+%X%P: %pB(%pA): relocation "%pR" goes out of range
+%X%P: %pB(%pA): relocation "%pR" is not supported
+%X%P: %pB(%pA): relocation "%pR" returns an unrecognized value %x
+%X%P: internal error: out of range error
+%X%P: internal error: unknown error
+%X%P: internal error: unsupported relocation error
+%X%P: overlay section %pA does not start on a cache line
+%X%P: overlay section %pA is larger than a cache line
+%X%P: overlay section %pA is not in cache area
+%X%P: overlay sections %pA and %pA do not start at the same address
 %X%P: stack/lrlive analysis error: %E
 %X%P: text relocations and GNU indirect functions will result in a segfault at runtime
-%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B
-%s defined on removed toc entry%s duplicated
+%X`%s' referenced in section `%pA' of %pB: defined in discarded section `%pA' of %pB
+%pA has both ordered [`%pA' in %pB] and unordered [`%pA' in %pB] sections%pA has both ordered and unordered sections%pA:0x%v lrlive .brinfo (%u) differs from analysis (%u)
+%pA:0x%v not found in function table
+%pB (%s): section flag %s (%#lx) ignored%pB .opd not allowed in ABI version %d%pB and %pB are for different configurations%pB and %pB are for different cores%pB contains CRIS v32 code, incompatible with previous objects%pB contains non-CRIS-v32 code, incompatible with previous objects%pB has both the current and legacy Tag_MPextension_use attributes%pB is not allowed to define %s%pB section %pA exceeds stub group size%pB symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section%pB uses unknown e_flags 0x%lx%pB(%pA): error: call to undefined function '%s'%pB(%pA): internal error: dangerous relocation%pB(%pA): internal error: out of range error%pB(%pA): internal error: unknown error%pB(%pA): internal error: unsupported relocation error%pB(%pA): invalid property table%pB(%pA): multiple TLS models are not supported%pB(%pA): relocation %d has invalid symbol index %ld%pB(%pA): shared library symbol %s encountered whilst performing a static link%pB(%pA): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction%pB(%pA): warning: unaligned access to symbol '%s' in the small data area%pB(%pA): warning: unaligned small data access of type %d%pB(%pA+%#lx): stabs entry has invalid string index%pB(%pA+%#x): error: multiple load detected in non-last IT block instruction: STM32L4XX veneer cannot be generated; use gcc option -mrestrict-it to generate only one instruction per IT block%pB(%pA+0x%lx): expected 16A style relocation on 0x%08x insn%pB(%pA+0x%lx): expected 16D style relocation on 0x%08x insn%pB(%pA+0x%v): call to non-code section %pB(%pA), analysis incomplete
+%pB(%s): warning: interworking not enabled; first occurrence: %pB: %s call to %s%pB, section %pA:
+  relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC%pB, section %pA: no PLT for relocation %s against symbol `%s'%pB, section %pA: no PLT nor GOT for relocation %s against symbol `%s'%pB, section %pA: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?%pB, section %pA: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?%pB, section %pA: relocation %s is not allowed for global symbol: `%s'%pB, section %pA: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?%pB, section %pA: relocation %s should not be used in a shared object; recompile with -fPIC%pB, section %pA: relocation %s with no GOT created%pB, section %pA: unresolvable relocation %s against symbol `%s'%pB, section %pA: v10/v32 compatible object must not contain a PIC relocation%pB, section `%pA', to symbol `%s': relocation %s should not be used in a shared object; recompile with -fPIC%pB: !samegp reloc against symbol without .prologue: %s%pB: %pA invalid input section size%pB: %pA not in order%pB: %pA points past end of text section%pB: %pA: reloc overflow: %#x > 0xffff%pB: %s flag mismatch with previous modules%pB: %s not absolute%pB: %s unsupported%pB: %s' accessed both as normal and thread local symbol%pB: %s: invalid needed version %d%pB: %s: invalid version %u (max %d)%pB: %s: reloc overflow: 0x%lx > 0xffff%pB: '%s' accessed both as normal and thread local symbol%pB: --in-implib only supported for Secure Gateway import libraries%pB: .gnu.version_d invalid entry%pB: .gnu.version_r invalid entry%pB: .got subsegment exceeds 64K (size %d)%pB: .opd is not a regular array of opd entries%pB: .preinit_array section is not allowed in DSO%pB: .rsrc merge failure: corrupt .rsrc section%pB: .rsrc merge failure: unexpected .rsrc size%pB: @gprel relocation against dynamic symbol %s%pB: @internal branch to dynamic symbol %s%pB: @pcrel relocation against dynamic symbol %s%pB: ABI is incompatible with that of the selected emulation%pB: ABI is incompatible with that of the selected emulation:
+  target emulation `%s' does not match `%s'%pB: ABI mismatch: linking %s module with previous %s modules%pB: ABI version %ld is not compatible with ABI version %ld output%pB: ASE mismatch: linking %s module with previous %s modules%pB: BE8 images only valid in big-endian mode%pB: Data Directory size (%#lx) is negative%pB: Function descriptor relocation with non-zero addend%pB: GNU_MBIN section `%pA' has invalid sh_info field: %d%pB: GOT overflow: number of relocations with 8- or 16-bit offset > %d%pB: GOT overflow: number of relocations with 8-bit offset > %d%pB: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte%pB: Relocations in generic ELF (EM: %d)%pB: SB-relative relocation but __c6xabi_DSBT_BASE not defined%pB: SHT_GROUP section [index %d] has no SHF_GROUP sections%pB: TLS local exec code cannot be linked into shared objects%pB: TLS sections are not adjacent:%pB: The first section in the PT_DYNAMIC segment is not the .dynamic section%pB: XCOFF shared object when not producing XCOFF output%pB: __gp does not cover short data segment%pB: `%s' accessed both as FDPIC and thread local symbol%pB: `%s' accessed both as normal and FDPIC symbol%pB: `%s' accessed both as normal and thread local symbol%pB: `%s' and its special symbol are in different sections%pB: `%s' has line numbers but no enclosing section%pB: `%s' in loader reloc but not loader sym%pB: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)%pB: absent standard symbol `%s'%pB: aout header specifies an invalid number of data-directory entries: %ld%pB: architecture mismatch with previous modules%pB: attempt to load strings from a non-string section (number %d)%pB: attempt to mix FDPIC and non-FDPIC objects%pB: attempt to write out unknown reloc type%pB: bad relocation record imported: %d%pB: bad relocation section name `%s'%pB: bad section length in ihex_read_section%pB: bad symbol definition: `Main' set to %s rather than the start address %s
+%pB: bad symbol index: %d%pB: base-plus-offset relocation against register symbol: %s in %pA%pB: base-plus-offset relocation against register symbol: (unknown) in %pA%pB: can not represent section `%pA' in a.out object file format%pB: can not represent section for symbol `%s' in a.out object file format%pB: can't link RVE with other target%pB: can't link hard-float modules with soft-float modules%pB: cannot allocate file name for file number %d, %d bytes
+%pB: cannot create stub entry %s%pB: cannot handle compressed Alpha binaries; use compiler flags, or objZ, to generate uncompressed binaries%pB: cannot link fdpic object file into non-fdpic executable%pB: cannot link non-fdpic object file into fdpic executable%pB: cannot link together %s and %s objects%pB: change in gp: BRSGP %s%pB: class %d symbol `%s' has no aux entries%pB: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s%pB: compiled for a 64 bit system and target is 32 bit%pB: compiled for a big endian system and target is little endian%pB: compiled for a little endian system and target is big endian%pB: compiled normally and linked with modules compiled with -mrelocatable%pB: compiled with %s and linked with modules compiled with %s%pB: compiled with %s and linked with modules that use non-pic relocations%pB: compiled with -mrelocatable and linked with modules compiled normally%pB: could not find output section %pA for input section %pA%pB: could not read contents of section `%pA'
+%pB: csect `%s' not in enclosing section%pB: direct GOT relocation %s against `%s' without base register can not be used when making a shared object%pB: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object%pB: directive LOCAL valid only with a register or absolute value%pB: dtp-relative relocation against dynamic symbol %s%pB: duplicate export stub %s%pB: duplicate section `%pA' has different contents
+%pB: duplicate section `%pA' has different size
+%pB: dynamic object with no .loader section%pB: dynamic relocation against `%pT' in read-only section `%pA'
+%pB: dynamic relocation in read-only section `%pA'
+%pB: endianness incompatible with that of the selected emulation%pB: entry function `%s' is empty%pB: entry function `%s' not output%pB: error: ABI mismatch with previous modules%pB: error: Cortex-A8 erratum stub is allocated in unsafe location%pB: error: Cortex-A8 erratum stub out of range (input file too large)%pB: error: PHDR segment not covered by LOAD segment%pB: error: VFP11 veneer out of range%pB: error: alignment power %d of section `%pA' is too big%pB: error: attribute section '%pA' too big: %#llx%pB: error: cannot create STM32L4XX veneer%pB: error: debug data ends beyond end of debug directory%pB: error: erratum 835769 stub out of range (input file too large)%pB: error: erratum 843419 stub out of range (input file too large)%pB: error: instruction set mismatch with previous modules%pB: error: multiple definition of `%s'; start of %s is set in a earlier linked file%pB: error: non-load segment %d includes file header and/or program header%pB: error: search_nds32_elf_blank reports wrong node%pB: error: unexpected symbol '%s' in COMDAT section%pB: error: unknown mandatory EABI object attribute %d%pB: failed to find info section for section %d%pB: failed to find link section for section %d%pB: failed to generate import library%pB: failed to read debug data section%pB: fatal: generic symbols retrieved before relaxing%pB: file class %s incompatible with %s%pB: gp-relative relocation against dynamic symbol %s%pB: group section '%pA' has no contents%pB: hidden symbol `%s' in %pB is referenced by DSO%pB: hidden symbol `%s' isn't defined%pB: ignoring duplicate section `%pA'
+%pB: illegal section name `%pA'%pB: illegal symbol index %ld in relocs%pB: incompatible machine type; output is 0x%x; input is 0x%x%pB: incorrect size for symbol `%s'%pB: indirect symbol `%s' to `%s' is a loop%pB: instruction set mismatch with previous modules%pB: internal error in ihex_read_section%pB: internal error, internal register section %pA had contents
+%pB: internal error, symbol table changed size from %d to %d words
+%pB: internal symbol `%s' in %pB is referenced by DSO%pB: internal symbol `%s' isn't defined%pB: invalid entry in SHT_GROUP section [%u]%pB: invalid import library entry: `%s'; symbol should be absolute, global and refer to Thumb functions%pB: invalid link %u for reloc section %s (index %u)%pB: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)
+%pB: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote
+%pB: invalid mmo file: expected y = 0, got y = %d for lop_fixrx
+%pB: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo
+%pB: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc
+%pB: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx
+%pB: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d
+%pB: invalid mmo file: file name for number %d was not specified before use
+%pB: invalid mmo file: file number %d `%s', was already entered as `%s'
+%pB: invalid mmo file: initialization value for $255 is not `Main'
+%pB: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx
+%pB: invalid mmo file: lop_end not last item in file
+%pB: invalid mmo file: unsupported lopcode `%d'
+%pB: invalid sh_link field (%d) in section number %d%pB: invalid special symbol `%s'; it must be a global or weak function symbol%pB: invalid standard symbol `%s'; it must be a global or weak function symbol%pB: invalid symbol table: duplicate symbol `%s'
+%pB: line number overflow: 0x%lx > 0xffff%pB: linking %s module with previous %s modules%pB: linking 32-bit code with 64-bit code%pB: linking 64-bit files with 32-bit files%pB: linking UltraSPARC specific with HAL specific code%pB: linking auto-pic files with non-auto-pic files%pB: linking big-endian files with little-endian files%pB: linking constant-gp files with non-constant-gp files%pB: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers%pB: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double%pB: linking files compiled for HCS12 with others compiled for HC12%pB: linking little endian files with big endian files%pB: linking non-pic code in a position independent executable%pB: linking trap-on-NULL-dereference with non-trapping files%pB: loader reloc in read-only section %pA%pB: loader reloc in unrecognized section `%s'%pB: local symbol `%s' in %pB is referenced by DSO%pB: local symbol descriptor table be NULL when applying relocation %s against local symbol%pB: malformed reloc detected for section %pA%pB: malformed reloc detected for section %s%pB: misplaced XTY_LD `%s'%pB: nested OMIT_FP in %pA%pB: no core to allocate a symbol %d bytes long%pB: no core to allocate section name %s%pB: no group info for section '%pA'%pB: no initialized registers; section length 0
+%pB: no symbol found for import library%pB: no symbol version section for versioned symbol `%s'%pB: no valid group sections found%pB: non-pic code with imm relocation against dynamic symbol `%s'%pB: not enough room for program headers, try linking with -N%pB: only registers %%g[2367] can be declared using STT_REGISTER%pB: out of memory creating name for empty section%pB: out of memory in _bfd_elf_get_property%pB: page size is too large (0x%x)%pB: pc-relative relocation against dynamic symbol %s%pB: pc-relative relocation against undefined weak symbol %s%pB: plugin needed to handle lto object%pB: probably compiled without -fPIC?%pB: protected symbol `%s' isn't defined%pB: recognised but unhandled machine type (0x%x) in Import Library Format archive%pB: register relocation against non-register symbol: %s in %pA%pB: register relocation against non-register symbol: (unknown) in %pA%pB: reloc against a non-existent symbol index: %ld%pB: relocatable link from %s to %s not supported%pB: relocation %s against %s%s`%s' can not be used when making %s%s%pB: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s%pB: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported%pB: relocation %s against `%s' can not be used when making a shared object%pB: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC%pB: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC%pB: relocation %s against symbol `%s' isn't supported in x32 mode%pB: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC%pB: relocation %s can not be used when making a shared object; recompile with -fPIC%pB: relocation %s cannot be used when making a shared object%pB: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object%pB: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object%pB: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object%pB: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object%pB: relocation size mismatch in %pB section %pA%pB: relocations in generic ELF (EM: %d)%pB: relocs in section `%pA', but it has no contents%pB: section %pA: string table overflow at offset %ld%pB: section `%pA' can't be allocated in segment %d%pB: section group entry number %u is corrupt%pB: sh_link [%d] in section `%pA' is incorrect%pB: sh_link of section `%pA' points to discarded section `%pA' of `%pB'%pB: sh_link of section `%pA' points to removed section `%pA' of `%pB'%pB: size field is zero in Import Library Format header%pB: special symbol `%s' only allowed for ARMv8-M architecture or later%pB: speculation fixup to dynamic symbol %s%pB: stack size specified and %s set%pB: string not null terminated in ILF object file%pB: support for local dynamic not implemented%pB: symbol `%s' has unrecognized csect type %d%pB: symbol `%s' has unrecognized smclas %d%pB: symbol `%s' required but not present%pB: taking the address of protected function '%s' cannot be done when making a shared library%pB: the target (%s) of a %s relocation is in the wrong output section (%s)%pB: the target (%s) of an %s relocation is in the wrong section (%pA)%pB: too many sections (%d)%pB: too many sections: %d (>= %d)%pB: too many sections: %u%pB: tp-relative relocation against dynamic symbol %s%pB: unable to create fake empty section%pB: unable to fill in DataDictionary[12] because .idata$5 is missing%pB: unable to fill in DataDictionary[1] because .idata$2 is missing%pB: unable to fill in DataDictionary[1] because .idata$4 is missing%pB: unable to fill in DataDictionary[9] because __tls_used is missing%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing%pB: unable to find %s veneer `%s'%pB: unable to find name for empty section%pB: unable to get decompressed section %pA%pB: unable to initialize compress status for section %s%pB: unable to initialize decompress status for section %s%pB: unable to load COMDAT section name%pB: unable to sort relocs - they are in more than one size%pB: unable to sort relocs - they are of an unknown size%pB: undefined reference to symbol '%s'%pB: undefined sym `%s' in .opd section%pB: undefined symbol on R_PPC64_TOCSAVE relocation%pB: unexpected redefinition of indirect versioned symbol `%s'%pB: unexpected reloc type %u in .opd section%pB: unhandled dynamic relocation against %s%pB: unhandled import type; %x%pB: unknown architecture %s%pB: unknown load command %#x%pB: unknown mandatory ARC object attribute %d%pB: unknown mandatory EABI object attribute %d%pB: unknown type [%#x] section `%s'%pB: unknown type [%#x] section `%s' in group [%pA]%pB: unmatched OMIT_FP in %pA%pB: unrecognised machine type (0x%x) in Import Library Format archive%pB: unrecognized import name type; %x%pB: unrecognized import type; %x%pB: unrecognized relocation type %#x in section `%pA'%pB: unrecognized storage class %d for %s symbol `%s'%pB: unsupported non-PIC call to IFUNC `%s'%pB: unsupported relocation type%pB: unsupported relocation type %#x%pB: unsupported relocation type exported: %#x%pB: unsupported relocation type imported: %#x%pB: unsupported relocation type: %#x%pB: unsupported transition from %s to %s%pB: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'
+%pB: uses %s instructions while previous modules use %s instructions%pB: uses _-prefixed symbols, but writing file with non-prefixed symbols%pB: uses different e_flags (%#x) fields than previous modules (%#x)%pB: uses different unknown e_flags (%#x) fields than previous modules (%#x)%pB: uses instructions which are incompatible with instructions used in previous modules%pB: uses non-prefixed symbols, but writing file with _-prefixed symbols%pB: version node not found for symbol %s%pB: visibility of symbol `%s' has changed%pB: warning core file truncated%pB: warning: %pA: line number overflow: %#x > 0xffff%pB: warning: %s BLX instruction targets %s function '%s'%pB: warning: %s relocation against symbol `%s' from %pA section%pB: warning: %s unsupported in shared mode%pB: warning: %s: line number overflow: 0x%lx > 0xffff%pB: warning: COMDAT symbol '%s' does not match section name '%s'%pB: warning: allocated section `%s' not in segment%pB: warning: bad `%s' option size %u smaller than its header%pB: warning: cannot determine the target function for stub section `%s'%pB: warning: claims to have 0xffff relocs, without overflow%pB: warning: duplicate line number information for `%s'%pB: warning: endian mismatch with previous modules%pB: warning: ignoring section flag %s in section %s%pB: warning: illegal symbol in line number entry %d%pB: warning: illegal symbol index %ld in relocs%pB: warning: illegal symbol index 0x%lx in line number entry %d%pB: warning: incompatible elf-versions %s and %s%pB: warning: inconsistent ASEs between e_flags and .MIPS.abiflags%pB: warning: inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags%pB: warning: inconsistent ISA between e_flags and .MIPS.abiflags%pB: warning: inconsistent ISA extensions between e_flags and .MIPS.abiflags%pB: warning: isymMax (%ld) is greater than ifdMax (%ld)%pB: warning: line number count (%#lx) exceeds section size (%#lx)%pB: warning: line number table read failed%pB: warning: linking PIC files with non-PIC files%pB: warning: linking abicalls files with non-abicalls files%pB: warning: loop in section dependencies detected%pB: warning: multiple dynamic symbol tables detected - ignoring the table in section %u%pB: warning: multiple symbol tables detected - ignoring the table in section %u%pB: warning: no symbol for section '%s' found%pB: warning: older version of object file encountered, please recompile with current tool chain%pB: warning: relocate SDA_BASE failed%pB: warning: selected STM32L4XX erratum workaround is not necessary for target architecture%pB: warning: selected VFP11 erratum workaround is not necessary for target architecture%pB: warning: sh_link not set for section `%pA'%pB: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.
+%pB: warning: thumb-1 mode PLT generation not currently supported%pB: warning: unaligned access to GOT entry%pB: warning: unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)%pB: warning: unknown EABI object attribute %d%pB: will not resolve runtime TLS relocation%pB:%d: bad checksum in S-record file%pB:%d: byte count %d too small%pB:%d: unexpected character `%s' in Intel Hex file%pB:%d: unexpected character `%s' in S-record file%pB:%pA%s exceeds overlay size
+%pB:%pA: %s and %s must be in the same input section%pB:%pA: error: relocation references symbol %s which was removed by garbage collection%pB:%pA: error: try relinking with --gc-keep-exported enabled%pB:%pA: table %s missing corresponding %s%pB:%pA: table entry %s not word-aligned within table%pB:%pA: table entry %s outside table%pB:%pA: warning: deprecated Red Hat reloc %s detected against: %s%pB:%s has both normal and TLS relocs%pB:%s section %s: alignment 2**%u not representable%pB:%u: bad checksum in Intel Hex file (expected %u, found %u)%pB:%u: bad extended address record length in Intel Hex file%pB:%u: bad extended linear address record length in Intel Hex file%pB:%u: bad extended linear start address length in Intel Hex file%pB:%u: bad extended start address length in Intel Hex file%pB:%u: unrecognized ihex type %u in Intel Hex file%s defined on removed toc entry%s duplicated
 %s duplicated in %s
-%s in overlay section%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A%s: TLS definition in %B section %A mismatches non-TLS reference in %B%s: TLS reference in %B mismatches non-TLS definition in %B section %A%s: TLS reference in %B mismatches non-TLS reference in %B%s: no such symbol%s: not implemented%s: not supported%s: undefined version: %s(at bit offset %u)
+%s has both normal and TLS relocs%s in overlay section%s not defined in linker created %pA%s not implemented%s offset too large for .eh_frame sdata4 encoding%s: TLS definition in %pB section %pA mismatches non-TLS definition in %pB section %pA%s: TLS definition in %pB section %pA mismatches non-TLS reference in %pB%s: TLS reference in %pB mismatches non-TLS definition in %pB section %pA%s: TLS reference in %pB mismatches non-TLS reference in %pB%s: no such symbol%s: not implemented%s: not supported%s: undefined version: %s(at bit offset %u)
 (descriptor)
 (format %c%c%c%c signature %s age %ld)
 (no value)
@@ -487,32 +510,29 @@ Use gcc option -mrestrict-it to generate
 *unknown**unknown*        , Value: %#08lx
 , alias: %u
 , ext fixup offset: %u, no_opt psect off: %u, subtype: %u (%s)
-, symbol vector rva: - %B is 64-bit, %B is not-mips32r2 -mfp64 (12 callee-saved).got section not immediately after .plt section.rsrc merge failure: a directory matches a leaf.rsrc merge failure: differing directory versions
-.rsrc merge failure: dirs with differing characteristics
-.rsrc merge failure: duplicate leaf.rsrc merge failure: duplicate leaf: %s.rsrc merge failure: duplicate string resource: %d.rsrc merge failure: multiple non-default manifests32-bit double, 32bits gp relative relocation occurs for an external symbol4-byte4-bytes64 bits *unhandled*
+, symbol vector rva: - %pB is 64-bit, %pB is not-mips32r2 -mfp64 (12 callee-saved).eh_frame_hdr entry overflow.eh_frame_hdr refers to overlapping FDEs.got section not immediately after .plt section.rsrc merge failure: a directory matches a leaf.rsrc merge failure: differing directory versions.rsrc merge failure: dirs with differing characteristics.rsrc merge failure: duplicate leaf.rsrc merge failure: duplicate leaf: %s.rsrc merge failure: duplicate string resource: %d.rsrc merge failure: multiple non-default manifests32-bit double, 32bits gp relative relocation occurs for an external symbol4-byte4-bytes64 bits *unhandled*
 64-bit double, 8-byte8-bytes: m32r instructions: m32r2 instructions: m32rx instructions: n1 instructions: n1h instructions; recompile with -fPIC<Unrecognised flag bits set><corrupt info> %s<corrupt string length: %#x>
 <corrupt string offset: %#lx>
 <corrupt><unknown directory type: %d>
-<unknown>@pltoff reloc against local symbolArchive has no index; run ranlib to add oneArchive object file in wrong formatAttempt to convert L32R/CALLX to CALL failedAttempt to do relocatable link with %s input and %s outputBASE_IMAGE       BFD %s assertion fail %s:%dBFD %s internal error, aborting at %s:%d
+<unknown mask flags><unknown>@pltoff reloc against local symbolBASE_IMAGE       BFD %s assertion fail %s:%dBFD %s internal error, aborting at %s:%d
 BFD %s internal error, aborting at %s:%d in %s
-BFD Link Error: branch (PC rel16) to section (%s) not supportedBFD Link Error: jump (PC rel26) to section (%s) not supportedBad valueBase Relocation Directory [.reloc]Bound Import DirectoryBounds:
-Branch to a non-instruction-aligned addressCACHE use: CLICLR Runtime HeaderCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (augment relocation base) %u
+Base Relocation Directory [.reloc]Bound Import DirectoryBounds:
+CACHE use: CLICLR Runtime HeaderCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (augment relocation base) %u
 CTL_DFLOC (define location)
 CTL_SETRB (set relocation base)
 CTL_STKDL (stack defined location)
 CTL_STLOC (set location)
-Cannot convert a branch to JALX for a non-word-aligned addressCannot convert a jump to JALX for a non-word-aligned addressCopyright Header
+Copyright Header
 Corrupt .rsrc section detected!
-Corrupt EGSD record: its size (%#x) is too smallCorrupt EGSD record: size (%#x) is larger than remaining space (%#x)Corrupt EGSD record: size (%#x) is too smallCorrupt ETIR record encounteredCorrupt vms valueDSO missing from command lineDST__K_BEG_STMT_MODE not implementedDST__K_END_STMT_MODE not implementedDST__K_RESET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR_W not implementedDST__K_SET_PC not implementedDST__K_SET_PC_L not implementedDST__K_SET_PC_W not implementedDST__K_SET_STMTNUM not implementedDebug DirectoryDebug module table:
+DSO missing from command lineDWARF error: DW_AT_comp_dir attribute encountered with a non-string formDWARF error: abstract instance recursion detectedDWARF error: can't find %s section.DWARF error: could not find abbrev number %uDWARF error: found address size '%u', this reader can not handle sizes greater than '%u'DWARF error: found dwarf version '%u', this reader only handles version 2, 3, 4 and 5 informationDWARF error: info pointer extends beyond end of attributesDWARF error: invalid abstract instance DIE refDWARF error: invalid maximum operations per instructionDWARF error: invalid or unhandled FORM value: %#xDWARF error: line info unsupported segment selector size %uDWARF error: mangled line number sectionDWARF error: mangled line number section (bad file number)DWARF error: ran out of room reading opcodesDWARF error: ran out of room reading prologueDWARF error: unhandled .debug_line version %dDWARF error: zero format countDW_EH_PE_datarel unspecified for this architectureDebug DirectoryDebug module table:
 Debug symbol table:
 Delay Import DirectoryDeprecated %s called
 Deprecated %s called at %s line %d in %s
-Description DirectoryDwarf Error: Can't find %s section.Dwarf Error: Could not find abbrev number %u.Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form.Dwarf Error: Info pointer extends beyond end of attributesDwarf Error: Invalid maximum operations per instruction.Dwarf Error: Invalid or unhandled FORM value: %#x.Dwarf Error: Line info data is bigger (0x%lx) than the section (0x%lx)Dwarf Error: Line info section is too small (%ld)Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu).Dwarf Error: Ran out of room reading opcodesDwarf Error: Ran out of room reading prologueDwarf Error: Unable to read alt ref %u.Dwarf Error: Unhandled .debug_line version %d.Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'.Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information.Dwarf Error: mangled line number section (bad file number).Dwarf Error: mangled line number section.EIHD: (size: %u, nbr blocks: %u)
-ERROR: Attempting to link %B with a binary %B of different architectureEntry function `%s' disappeared from secure code.Entry offset        = 0x%.8lx (%ld)
-Error reading %s: %sError: %B has both the current and legacy Tag_MPextension_use attributesError: The ARC4 architecture is no longer supported.
-Errors encountered processing file %BException Directory [.pdata]Export Directory [.edata (or where ever we found it)]Export Flags 			%lx
-Export RVAFAILED to find previous HI16 relocFILES_VOLUMES    FPU-2.0FPU-3.0Failed to update file offsets in debug directoryFile format is ambiguousFile format not recognizedFile in wrong formatFile too bigFile truncatedFlag field          = 0x%.2x
-Forwarder RVAGALAXY           GOT and PLT relocations cannot be fixed with a non dynamic linker.GP relative relocation used when GP not definedGP relative relocation when _gp not definedGPDISP relocation did not find ldah and lda instructionsGlobal symbol table:
+Description DirectoryEIHD: (size: %u, nbr blocks: %u)
+Entry offset        = 0x%.8lx (%ld)
+Error: %pB has both the current and legacy Tag_MPextension_use attributesException Directory [.pdata]Export Directory [.edata (or where ever we found it)]Export Flags 			%lx
+Export RVAFDE encoding in %pB(%pA) prevents .eh_frame_hdr table being createdFDPIC does not yet support %s relocation to become dynamic for executableFILES_VOLUMES    FPU-2.0FPU-3.0Flag field          = 0x%.2x
+Forwarder RVAGALAXY           GOT and PLT relocations cannot be fixed with a non dynamic linkerGP relative relocation used when GP not definedGP relative relocation when _gp not definedGPDISP relocation did not find ldah and lda instructionsGlobal symbol table:
 Hard float (32-bit CPU, 64-bit FPU)
 Hard float (32-bit CPU, Any FPU)
 Hard float (MIPS32r2 64-bit FPU 12 callee-saved)
@@ -521,22 +541,18 @@ Use gcc option -mrestrict-it to generate
 Hard float compat (32-bit CPU, 64-bit FPU)
 Hard or soft float
 ID: %#08lxIDC - Ident Consistency check
-IEEE parser: string length: %#lx longer than buffer: %#lxIMAGE_ACTIVATOR  INPUT_SECTION_FLAGS are not supported.
-IO               Image activation:  (size=%u)
+IMAGE_ACTIVATOR  INPUT_SECTION_FLAGS are not supportedIO               Image activation:  (size=%u)
 Image activator fixup: (major: %u, minor: %u)
 Image identification: (major: %u, minor: %u)
 Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)
 Image symbol & debug table: (major: %u, minor: %u)
-Import Address Table DirectoryImport Directory [parts of .idata]Internal Error: RL78 reloc stack overflowInternal Error: RL78 reloc stack underflowInternal inconsistency: remaining %u != max %u.
-  Please report this bug.Invalid AArch64 reloc number: %dInvalid DLX reloc number: %dInvalid TARGET2 relocation type '%s'.Invalid bfd targetInvalid contents in %A sectionInvalid operationInvalid output section for .eh_frame_entry: %AInvalid section index in ETIRIt must be a global or weak function symbol.Jump to a non-instruction-aligned addressJump to a non-word-aligned addressLOGICAL_NAMES    Language Processor Name
+Import Address Table DirectoryImport Directory [parts of .idata]LOGICAL_NAMES    Language Processor Name
 Length              = 0x%.8lx (%ld)
-Linker: cannot init ex9 hash table error 
-Linker: error cannot fixed ex9 relocation 
-Load Configuration DirectoryLocal IFUNC function `%s' in %B
+Load Configuration DirectoryLocal IFUNC function `%s' in %pB
 MEMORY_MANAGEMENTMIPS16 and microMIPS functions cannot call each otherMISC             MMU use: MULTI_PROCESSING Major/Minor 			%d/%d
-Malformed archiveMaximum stack required is 0x%v
-MeP: howto %d has type %dMemory exhaustedModule header
-NETWORKS         NORMALName 				No address assigned to the veneers output section %sNo errorNo more archived filesNo symbolsNoneNonrepresentable section on outputNot enough memory to sort relocationsNumber in:
+Maximum stack required is 0x%v
+MeP: howto %d has type %dModule header
+NETWORKS         NORMALName 				NoneNumber in:
 OPR_ADD (add)
 OPR_AND (logical and)
 OPR_ASH (arithmetic shift)
@@ -552,21 +568,17 @@ Use gcc option -mrestrict-it to generate
 OPR_REDEF (redefine symbol to curr location)
 OPR_ROT (rotate)
 OPR_SEL (select)
-OPR_SUB (substract)
+OPR_SUB (subtract)
 OPR_USH (unsigned shift)
-Object module NOT error-free !
-Offset of veneer for entry function `%s' not a multiple of its size.One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined.Ordinal Base 			%ld
-Output file requires shared library `%s'
-Output file requires shared library `%s.so.%s'
+Ordinal Base 			%ld
 PC-relative load from unaligned addressPIE executablePOSIX            PROCESS_SCHED    PRVFXDPRVPICPSC - Program section definition
-PTA mismatch: a SHcompact address (bit 0 == 0)PTB mismatch: a SHmedia address (bit 0 == 1)Partition name      = "%s"
+Partition name      = "%s"
 Partition[%d] end    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
 Partition[%d] length = 0x%.8lx (%ld)
 Partition[%d] sector = 0x%.8lx (%ld)
 Please report this bug.
-RL78 ABI conflict: G10 file %B cannot be linked with %s file %BRL78 ABI conflict: cannot link %s file %B with %s file %BRL78 merge conflict: cannot link 32-bit and 64-bit objects togetherR_BFIN_FUNCDESC references dynamic symbol with nonzero addendR_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addendR_FRV_TLSMOFFLO not applied to a setlo or setlos instruction
-Reading archive file mod timestampReference to the far symbol `%s' using a wrong relocation may result in incorrect executionRegister %%g%d used incompatibly: %s in %B, previously %s in %BRegister section has contents
-Relocation for non-REL psectRemoving unused section '%A' in file '%B'ReservedResource Directory [.rsrc]S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your codeSDA relocation when _SDA_BASE_ not definedSECURITY         SEC_RELOC with no relocs in section %ASH Error: unknown reloc type %dSHELL            SHRFXDSHRPICSIMD use: SPSC - Shared Image Program section def
+RL78 ABI conflict: G10 file %pB cannot be linked with %s file %pBRL78 ABI conflict: cannot link %s file %pB with %s file %pBRL78 merge conflict: cannot link 32-bit and 64-bit objects togetherR_BFIN_FUNCDESC references dynamic symbol with nonzero addendR_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addendR_FRV_TLSMOFFLO not applied to a setlo or setlos instruction
+Reading archive file mod timestampReservedResource Directory [.rsrc]S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your codeSDA relocation when _SDA_BASE_ not definedSECURITY         SEC_RELOC with no relocs in section %pASHELL            SHRFXDSHRPICSIMD use: SPSC - Shared Image Program section def
 STABLE           STA_CKARG (compare procedure argument)
 STA_GBL (stack global) %.*s
 STA_LI (stack literal)
@@ -609,41 +621,29 @@ Use gcc option -mrestrict-it to generate
 SYMG - Universal symbol definition
 SYMM - Global symbol definition with version
 SYMV - Vectored symbol definition
-SYSGEN           Section has no contentsSecurity DirectorySize error in section %ASoft float
+SYSGEN           Security DirectorySoft float
 Source Files Header
-Special DirectorySpurious ALPHA_R_BSR relocStack analysis will ignore the call from %s to %s
-Stack overflow (%d) in _bfd_vms_pushStack size for call graph root nodes.
-Stack underflow in _bfd_vms_popStart address of `%s' is different from previous link.Strides:
-Symbol %s not defined for fixups
-Symbol `%s' has differing types: %s in %B, previously REGISTER in %BSymbol `%s' has differing types: REGISTER in %B, previously %s in %BSymbol needs debug section which does not existSymbol should be absolute, global and refer to Thumb functions.System call errorTLS relocation invalid without dynamic sectionsTOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compilingTable Addresses
+Special DirectoryStack size for call graph root nodes.
+Strides:
+Symbol `%s' has differing types: %s in %pB, previously REGISTER in %pBTLS relocation invalid without dynamic sectionsTable Addresses
 The debug data size field in the data directory is too big for the sectionThe debug directory size is not a multiple of the debug directory entry size
-There is a conflict merging the ELF header flags from %BThread Storage Directory [.tls]Time/Date stamp 		%lx
+Thread Storage Directory [.tls]Time/Date stamp 		%lx
 Title Text Header
-Too many GOT entries for -fpic, please recompile with -fPICToo many unwind codes (%ld)
-Try enabling relaxation to avoid relocation truncationsType                Size     Rva      Offset
-USRSTACKUnable to find equivalent output section for symbol '%s' from section '%s'Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.
-Unable to read EIHS record at offset %#xUnexpected STO_SH5_ISA32 on local symbol is not handledUnexpected machine numberUnhandled OSF/1 core file section type %d
-Unhandled relocation %sUnknownUnknown EGSD subtype %dUnknown basic type %dUnknown reloc %sUnknown reloc %s + %sUnknown symbol in command %sUnknown: %xUnrecognised MIPS reloc number: %dUnrecognized INPUT_SECTION_FLAG %s
-Unrecognized TI COFF target id '0x%x'Unrecognized reloc type 0x%xUnsupported .stab relocationUnsupported CR16 relocation type: 0x%x
-VOLATILE         Variable `%s' can only be in one of the small, zero, and tiny data regionsVariable `%s' cannot be in both small and tiny data regions simultaneouslyVariable `%s' cannot be in both small and zero data regions simultaneouslyVariable `%s' cannot be in both zero and tiny data regions simultaneouslyVariable `%s' cannot occupy in multiple small data regionsVirtual size of .pdata section (%ld) larger than real size (%ld)
-Warning, .pdata section size (%ld) is not a multiple of %d
-Warning: %B does not support interworking, whereas %B doesWarning: %B is truncated: expected core file size >= %lu, found: %lu.Warning: %B supports interworking, whereas %B does notWarning: %B uses %s (set by %B), %B uses %sWarning: %B uses %s (set by %B), %B uses unknown MSA ABI %dWarning: %B uses %s (set by %B), %B uses unknown floating point ABI %dWarning: %B uses 64-bit long double, %B uses 128-bit long doubleWarning: %B uses AltiVec vector ABI, %B uses SPE vector ABIWarning: %B uses IBM long double, %B uses IEEE long doubleWarning: %B uses double-precision hard float, %B uses single-precision hard floatWarning: %B uses hard float, %B uses soft floatWarning: %B uses r3/r4 for small structure returns, %B uses memoryWarning: %B uses unknown MSA ABI %d (set by %B), %B uses %sWarning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %dWarning: %B uses unknown floating point ABI %d (set by %B), %B uses %sWarning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %dWarning: %B: Conflicting platform configurationWarning: %B: Conflicting platform configuration %s with %s.
-Warning: %B: Unknown ARC object attribute %d.Warning: %B: Unknown EABI object attribute %dWarning: %B: Unknown MSPABI object attribute %dWarning: %s section size (%ld) is not a multiple of %d
+Too many unwind codes (%ld)
+Type                Size     Rva      Offset
+USRSTACKUnknownUnknown: %xVOLATILE         Virtual size of .pdata section (%ld) larger than real size (%ld)
+Warning: %s section size (%ld) is not a multiple of %d
 Warning: %s section size (%ld) is smaller than virtual size (%ld)
 Warning: %s section size is zero
-Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with itWarning: Clearing the interworking flag of %B due to outside requestWarning: Not setting interworking flag of %B since it has already been specified as non-interworkingWarning: RL78_SYM reloc with an unknown symbolWarning: RX_SYM reloc with an unknown symbolWarning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %AWarning: alignment %u of symbol `%s' in %B is smaller than %u in %BWarning: fixup count mismatch
-Warning: gc-sections option ignoredWarning: size of symbol `%s' changed from %Lu in %B to %Lu in %BWarning: size of symbol `%s' changed from %lu in %B to %lu in %BWarning: symbol `%s' is both section and non-sectionWarning: type of symbol `%s' changed from %d to %d in %BWarning: unset or old architecture flags. 
-	       Use default machine.
-Warning: writing archive was slow: rewriting timestamp
 Writing updated armap timestampXGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code.[%u]: Lower: %u, upper: %u
-[abi=16-bit int, [abi=32-bit int, [whose name is lost]\%B: Warning: Arm BLX instruction targets Arm function '%s'._bfd_vms_output_counted called with too many bytes_bfd_vms_output_counted called with zero bytes`%s' refers to a non entry function.addressaddress not word alignarray descriptor:
+[abi=16-bit int, [abi=32-bit int, [whose name is lost]_bfd_vms_output_counted called with too many bytes_bfd_vms_output_counted called with zero bytes`%s' refers to a non entry functiona PDE objecta PIE objecta shared objectaddressaddress not word alignedalternate ELF machine code found (%d) in %pB, expecting %darchive has no index; run ranlib to add onearchive object file in wrong formatarray descriptor:
 array, dim: %u, bitmap: arsize: %u, a0: 0x%08x
 atomic, type=0x%02x %s
-bad section index in %sbanked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)base: %u, pos: %u
-bfd_mach_o_canonicalize_symtab: unable to load symbolsbfd_mach_o_read_section_32: overlarge alignment value: 0x%x, using 32 insteadbfd_mach_o_read_section_64: overlarge alignment value: 0x%x, using 32 insteadbfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)bfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid section %d (max %lu): setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid type field 0x%x: setting to undefinedbfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lubfd_mach_o_read_symtab_symbols: unable to allocate memory for symbolsbfd_mach_o_scan: unknown architecture 0x%lx/0x%lxbfd_pef_scan: unknown architecture 0x%lxblkbeg: address: 0x%08x, name: %.*s
+attempt to convert L32R/CALLX to CALL failedattempt to do relocatable link with %s input and %s outputbad section index in %sbad valuebanked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)base: %u, pos: %u
+bfd_mach_o_canonicalize_symtab: unable to load symbolsbfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 insteadbfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 insteadbfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)bfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid section %d (max %lu): setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid type field 0x%x: setting to undefinedbfd_mach_o_read_symtab_symbol: unable to read %d bytes at %ubfd_mach_o_read_symtab_symbols: unable to allocate memory for symbolsbfd_mach_o_scan: unknown architecture 0x%lx/0x%lxbfd_pef_scan: unknown architecture 0x%lxblkbeg: address: 0x%08x, name: %.*s
 blkend: size: 0x%08x
-cannot create stub entry %scannot emit dynamic relocations in read-only sectioncannot emit fixups in read-only sectioncannot find EMH in first GST record
-cannot handle R_MEM_INDIRECT reloc when using %s outputcannot read DMT
+branch (PC rel16) to section (%s) not supportedbranch to a non-instruction-aligned addressbss-plt forced by profilingbss-plt forced due to %pBcan't build branch stub `%s'can't find branch stub `%s'cannot convert a branch to JALX for a non-word-aligned addresscannot convert a jump to JALX for a non-word-aligned addresscannot create stub entry %scannot emit dynamic relocations in read-only sectioncannot emit fixups in read-only sectioncannot find EMH in first GST record
+cannot read DMT
 cannot read DMT header
 cannot read DMT psect
 cannot read DST
@@ -661,78 +661,68 @@ Use gcc option -mrestrict-it to generate
 cannot read GST record header
 cannot read GST record length
 class: %u, dtype: %u, length: %u, pointer: 0x%08x
-corrupt %s section in %Bcould not find section %scould not locate special linker symbol __ctbpcould not locate special linker symbol __epcould not locate special linker symbol __gpcould not open shared image '%s' from '%s'cpu=HC11]cpu=HC12]cpu=HCS12]cpu=XGATE]dangerous relocationdelta pc +%-4ddelta_pc_l: +0x%08x
+corrupt %s section in %pBcorrupt EEOM record - size is too smallcorrupt EGSD record: its psindx field is too big (%#lx)corrupt EGSD record: its size (%#x) is too smallcorrupt EGSD record: size (%#x) is larger than remaining space (%#x)corrupt EGSD record: size (%#x) is too smallcorrupt EIHD record - size is too smallcorrupt ETIR record encounteredcorrupt vms valuecould not find section %scould not locate special linker symbol __ctbpcould not locate special linker symbol __epcould not locate special linker symbol __gpcould not open shared image '%s' from '%s'cpu=HC11]cpu=HC12]cpu=HCS12]cpu=XGATE]dangerous relocationdelta pc +%-4ddelta_pc_l: +0x%08x
 delta_pc_w %u
 descdimct: %u, aflags: 0x%02x, digits: %u, scale: %u
-discarded output section: `%A'discarding zero address range FDE in %B(%A).
+discarded output section: `%pA'discarding zero address range FDE in %pB(%pA).
 discontiguous range (nbr: %u)
-dynamic relocation in read-only sectiondynamic variable `%s' is zero sizeenumbeg, len: %u, name: %.*s
+dynamic relocation in read-only sectiondynamic variable `%s' is zero sizedynreloc miscount for %pB, section %pAentry function `%s' disappeared from secure codeenumbeg, len: %u, name: %.*s
 enumelt, name: %.*s
 enumend
 epilog: flags: %u, count: %u
-error reading cpu type from elf private dataerror: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbolerror: %B does not use Maverick instructions, whereas %B doeserror: %B is already in final BE8 formaterror: %B is compiled as absolute position code, whereas target %B is position independenterror: %B is compiled as position independent code, whereas target %B is absolute positionerror: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%derror: %B is compiled for APCS-%d, whereas target %B uses APCS-%derror: %B is compiled for the EP9312, whereas %B is compiled for XScaleerror: %B needs 8-byte aligment but %B is set for 4-byte alignmenterror: %B passes floats in float registers, whereas %B passes them in integer registerserror: %B passes floats in integer registers, whereas %B passes them in float registerserror: %B requires more array alignment than %B preserveserror: %B requires more stack alignment than %B preserveserror: %B uses %s instructions but %B uses %serror: %B uses 64-bit doubles but %B uses 32-bit doubleserror: %B uses FPA instructions, whereas %B does noterror: %B uses FPU-3.0 but %B only supports FPU-2.0error: %B uses Maverick instructions, whereas %B does noterror: %B uses VFP instructions, whereas %B does noterror: %B uses VFP register arguments, %B does noterror: %B uses hardware FP, whereas %B uses software FPerror: %B uses iWMMXt register arguments, %B does noterror: %B uses software FP, whereas %B uses hardware FPerror: %B uses the %s code model whereas %B uses the %s code modelerror: %B uses the %s data model but %B only uses MSP430 instructionserror: %B uses the %s data model whereas %B uses the %s data modelerror: %B uses the large code model but %B uses MSP430 instructionserror: %B uses the small code model but %B uses the %s data modelerror: %B(%A) is too large (%#lx bytes)error: %B: <corrupt x86 ISA needed size: 0x%x>error: %B: <corrupt x86 ISA used size: 0x%x>error: %B: <corrupt x86 feature size: 0x%x>error: %B: Big-endian R2 is not supported.error: %B: Conflicting CPU architectures %d/%derror: %B: Conflicting architecture profiles %c/%cerror: %B: Conflicting use of R9error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchainerror: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'error: %B: SB relative addressing conflicts with use of R9error: %B: Unknown CPU architectureerror: %B: cannot mix rf16 with full register set %B.
-error: %B: conflicting ISA extension attributes %s with %s.
-error: %B: conflicting attributes %s.
-error: %B: conflicting attributes %s: %s with %s.
-error: %B: size of section %A is not multiple of address sizeerror: %B: unable to merge CPU base attributes %s with %s.
-error: %B: unable to merge ISA extension attributes %s.
-error: %B: unable to merge virtualization attributes with %Berror: Can't find symbol: _SDA_BASE_.error: IFC relocation error.error: Jump IFC Fail.error: Source object %B has EABI version %d, but target %B has EABI version %derror: fp16 format mismatch between %B and %Berror: inappropriate relocation type for shared library (did you forget -fpic?)error: undefined symbol __rtiniterror: unknown Tag_ABI_array_object_align_expected value in %Berror: unknown Tag_ABI_array_object_alignment value in %Bexecutablefailed to allocate space for new APUinfo section.failed to compute new APUinfo section.failed to install new APUinfo section.fatal error while creating .fixupgeneric linker can't handle %sglobal pointer relative address out of rangeglobal pointer relative relocation at address 0x%08x when _gp not defined
-global pointer relative relocation when _gp not definedhidden symbolhidden symbol ignoring reloc %s
-incr_linum(b): +%u
+error in %pB(%pA); no .eh_frame_hdr table will be createderror reading %s: %serror reading cpu type from elf private dataerror: %pB does not use %s instructions, whereas %pB doeserror: %pB is already in final BE8 formaterror: %pB is compiled for APCS-%d, whereas target %pB uses APCS-%derror: %pB is compiled for the EP9312, whereas %pB is compiled for XScaleerror: %pB needs 8-byte alignment but %pB is set for 4-byte alignmenterror: %pB passes floats in float registers, whereas %pB passes them in integer registerserror: %pB passes floats in integer registers, whereas %pB passes them in float registerserror: %pB requires more array alignment than %pB preserveserror: %pB requires more stack alignment than %pB preserveserror: %pB uses %s instructions but %pB uses %serror: %pB uses %s instructions, whereas %pB does noterror: %pB uses 64-bit doubles but %pB uses 32-bit doubleserror: %pB uses FPU-3.0 but %pB only supports FPU-2.0error: %pB uses VFP register arguments, %pB does noterror: %pB uses hardware FP, whereas %pB uses software FPerror: %pB uses iWMMXt register arguments, %pB does noterror: %pB uses software FP, whereas %pB uses hardware FPerror: %pB uses the %s code model whereas %pB uses the %s code modelerror: %pB uses the %s data model but %pB only uses MSP430 instructionserror: %pB uses the %s data model whereas %pB uses the %s data modelerror: %pB uses the large code model but %pB uses MSP430 instructionserror: %pB uses the small code model but %pB uses the %s data modelerror: %pB: <corrupt x86 ISA needed size: 0x%x>error: %pB: <corrupt x86 ISA used size: 0x%x>error: %pB: <corrupt x86 feature size: 0x%x>error: %pB: SB relative addressing conflicts with use of R9error: %pB: big-endian R2 is not supportederror: %pB: cannot mix rf16 with full register set %pBerror: %pB: conflicting CPU architectures %d/%derror: %pB: conflicting ISA extension attributes %s with %serror: %pB: conflicting architecture profiles %c/%cerror: %pB: conflicting attributes %serror: %pB: conflicting attributes %s: %s with %serror: %pB: conflicting use of R9error: %pB: object has vendor-specific contents that must be processed by the '%s' toolchainerror: %pB: object tag '%d, %s' is incompatible with tag '%d, %s'error: %pB: old incompatible object file detectederror: %pB: size of section %pA is not multiple of address sizeerror: %pB: unable to merge CPU base attributes %s with %serror: %pB: unable to merge ISA extension attributes %serror: %pB: unable to merge virtualization attributes with %pBerror: %pB: unknown CPU architectureerror: attempting to link %pB with a binary %pB of different architectureerror: can't find symbol: %serror: fp16 format mismatch between %pB and %pBerror: inappropriate relocation type for shared library (did you forget -fpic?)error: source object %pB has EABI version %d, but target %pB has EABI version %derror: the ARC4 architecture is no longer supportederror: undefined symbol __rtiniterror: unknown Tag_ABI_array_object_align_expected value in %pBerror: unknown Tag_ABI_array_object_alignment value in %pBerrors encountered processing file %pBexecutablefailed to allocate space for new APUinfo sectionfailed to compute new APUinfo sectionfailed to find previous HI16 relocfailed to install new APUinfo sectionfailed to update file offsets in debug directoryfatal error while creating .fixupfile format is ambiguousfile format not recognizedfile in wrong formatfile too bigfile truncatedfurther warnings about FDE encoding preventing .eh_frame_hdr generation droppedgeneric linker can't handle %sglobal pointer relative address out of rangeglobal pointer relative relocation at address 0x%08x when _gp not defined
+global pointer relative relocation when _gp not definedhidden symbolhidden symbol incompatible cputypes in mach-o files: %ld vs %ldincr_linum(b): +%u
 incr_linum_l: +%u
 incr_linum_w: +%u
 indirect, defined at 0x%08x
-internal error: addend should be zero for R_LM32_16_GOTinternal error: addend should be zero for R_OR1K_GOT16internal error: branch/jump to an odd address detectedinternal error: dangerous errorinternal error: dangerous relocationinternal error: merge of architecture '%s' with architecture '%s' produced unknown architectureinternal error: out of range errorinternal error: suspicious relocation type used in shared libraryinternal error: unknown errorinternal error: unsupported relocation errorinternal inconsistency in size of .got.loc sectioninternal symbolinternal symbol invalid input relocation when producing non-ELF, non-mmo format output.
- Please use the objcopy program to convert from ELF or mmo,
- or assemble using "-no-expand" (for gcc, "-Wa,-no-expand"invalid input relocation when producing non-ELF, non-mmo format output.
- Please use the objcopy program to convert from ELF or mmo,
- or compile using the gcc-option "-mno-base-addresses".invalid relocation addressinvalid relocation type %dinvalid use of %s with contextsip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx).ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx).ip2k relaxer: switch table header corrupt.ip2k relaxer: switch table without complete matching relocation information.label, name: %.*s
+internal error: RL78 reloc stack overflowinternal error: RL78 reloc stack underflowinternal error: addend should be zero for %sinternal error: branch/jump to an odd address detectedinternal error: dangerous errorinternal error: dangerous relocationinternal error: merge of architecture '%s' with architecture '%s' produced unknown architectureinternal error: out of range errorinternal error: suspicious relocation type used in shared libraryinternal error: unknown errorinternal error: unsupported relocation errorinternal inconsistency in size of .got.loc sectioninternal inconsistency: remaining %lu != max %lu; please report this buginternal symbolinternal symbol invalid TARGET2 relocation type '%s'invalid bfd targetinvalid contents in %pA sectioninvalid input relocation when producing non-ELF, non-mmo format output; please use the objcopy program to convert from ELF or mmo, or assemble using "-no-expand" (for gcc, "-Wa,-no-expand"invalid input relocation when producing non-ELF, non-mmo format output; please use the objcopy program to convert from ELF or mmo, or compile using the gcc-option "-mno-base-addresses".invalid operationinvalid output section for .eh_frame_entry: %pAinvalid relocation addressinvalid section index in ETIRinvalid use of %s with contextsip2k relaxer: switch table header corrupt.ip2k relaxer: switch table without complete matching relocation information.is this version of the linker - %s - out of date ?jump (PC rel26) to section (%s) not supportedjump to a non-instruction-aligned addressjump to a non-word-aligned addresslabel, name: %.*s
 len: %2u, kind: %2u line num  (len: %u)
-linkable imagelinker stubs in %u group%s
-  branch       %lu
-  toc adjust   %lu
-  long branch  %lu
-  long toc adj %lu
-  plt call     %lu
-  plt call toc %lu
-  global entry %luliteralliteral relocation occurs for an external symbolmach-o: there are too many sections (%u) maximum is 255,
-mep: no reloc for code %dmodbeg
+linkable imagelinker stubs in %u group
+linker stubs in %u groups
+literalliteral relocation occurs for an external symbollong branch stub `%s' offset overflowmach-o: there are too many sections (%u) maximum is 255,
+malformed archivememory exhaustedmep: no reloc for code %dmodbeg
 modend
-name: [val: %08lx len %d]: nativenew entry function(s) introduced but no output import library specified:nonon-contiguous array of %s
+name: [val: %08lx len %d]: nativenew entry function(s) introduced but no output import library specified:nono address assigned to the veneers output section %sno errorno more archived filesno symbolsnon-contiguous array of %s
 non-dynamic relocations refer to dynamic symbol %snon-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store
-non-zero addend in @fptr relocnonenot enough GOT space for local GOT entriesnot mapping: data=%lx mapped=%d
+non-zero addend in @fptr relocnonenonrepresentable section on outputnot enough GOT space for local GOT entriesnot enough memory to sort relocationsnot mapping: data=%lx mapped=%d
 not mapping: env var not set
-not setout of rangeoverflow after relaxationoverlay stub relocation overflowpointer
-private flags = %lxprivate flags = %lx:private flags = %lx: private flags = %x:private flags = 0x%lxprivate flags = 0x%lx:prolog: bkpt address 0x%08x
+not setobject module not error-free !offset of veneer for entry function `%s' not a multiple of its sizeone possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was definedout of rangeoverflow after relaxationoverlay stub relocation overflowpointer
+private flags = %lxprivate flags = %lx:private flags = %lx: private flags = 0x%lxprivate flags = 0x%lx:prolog: bkpt address 0x%08x
 protected symbolprotected symbol recbeg: name: %.*s
 recend
-reference to a banked address [%lx:%04lx] in the normal address space at %04lxregreloc (%d) is *UNKNOWN*relocation `%s' not yet implementedrelocation out of rangerelocation references symbol not defined in the modulerelocation requires zero addendrelocation should be even numberrelocations between different segments are not supportedreopening %B: %s
+reference to a banked address [%lx:%04lx] in the normal address space at %04lxreference to the far symbol `%s' using a wrong relocation may result in incorrect executionregregister %%g%d used incompatibly: %s in %pB, previously %s in %pBregister section has contents
+reloc (%d) is *UNKNOWN*relocation for non-REL psectrelocation out of rangerelocation references symbol not defined in the modulerelocation requires zero addendrelocation should be even numberrelocations between different segments are not supportedremoving unused section '%pA' in file '%pB'reopening %pB: %s
 reserved cmd %drtnbeg
 rtnend: size 0x%08x
-section address (%lx) below start of segment (%lx)septyp, name: %.*s
+section has no contentsseptyp, name: %.*s
 set_abs_pc: 0x%08x
 set_line_num(w) %u
 set_line_num_b %u
 set_line_num_l %u
-shared objectsmall-data section exceeds 64KB; lower small-data size limit (see option -G)som_sizeof_headers unimplementedsorry, no support for duplicate object files in auto-overlay script
+shared objectsize error in section %pAsmall-data section exceeds 64KB; lower small-data size limit (see option -G)som_sizeof_headers unimplementedsorry, no support for duplicate object files in auto-overlay script
 sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands.source (len: %u)
-standard data: %s
-static procedure (no name)stub entry for %s cannot load .plt, dp offset = %ldstubs don't match calculated sizesymbolsymbol system version array information:
-term(b): 0x%02xterm_w: 0x%04xthe bfin target does not currently support the generation of copy relocationstype spec for element:
+spurious ALPHA_R_BSR relocstack analysis will ignore the call from %s to %s
+stack overflow (%d) in _bfd_vms_pushstack underflow in _bfd_vms_popstandard data: %s
+start address of `%s' is different from previous linkstatic procedure (no name)stubs don't match calculated sizesymbolsymbol symbol '%s' has invalid st_other for ABI version 1symbol `%s' has differing types: REGISTER in %pB, previously %s in %pBsymbol needs debug section which does not existsystem call errorsystem version array information:
+term(b): 0x%02xterm_w: 0x%04xthe bfin target does not currently support the generation of copy relocationsthere is a conflict merging the ELF header flags from %pBtoo many GOT entries for -fpic, please recompile with -fPICtry enabling relaxation to avoid relocation truncationstype spec for element:
 type spec for subscript %u:
 typed pointer
 typspec (len: %u)
-unable to allocate data for load command 0x%lxunable to find ARM glue '%s' for '%s'unable to find THUMB glue '%s' for '%s'unable to layout unknown load command 0x%lxunable to read in %s section from %Bunable to write unknown load command 0x%lxunaligned bit-string of %s
-uncertain calling convention for non-COFF symbolundefined undefined %s reference in complex symbol: %sunhandled egsd entry type %u
+unable to allocate data for load command %#xunable to find %s glue '%s' for '%s'unable to find equivalent output section for symbol '%s' from section '%s'unable to layout unknown load command %#xunable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767
+unable to read EIHS record at offset %#xunable to read in %s section from %pBunable to write unknown load command %#xunaligned bit-string of %s
+undefined undefined %s reference in complex symbol: %sunexpected STO_SH5_ISA32 on local symbol is not handledunexpected machine numberunhandled OSF/1 core file section type %dunhandled egsd entry type %u
 unhandled emh subtype %u
-unknownunknown ETIR command %dunknown errorunknown header byte-order value 0x%lxunknown line command %dunknown operator '%c' in complex symbolunknown source command %dunknown v850 architectureunknown: %xunrecognised MIPS reloc number: %dunrecognized relocation (0x%x)unsupported STA cmd %sunsupported relocunsupported reloc typeunsupported relocationunsupported relocation between data/insn address spacesusing multiple gp valuesv850 E3 architecturev850 architecturev850e architecturev850e1 architecturev850e2 architecturev850e2v3 architecturev850e3v5 architecturevflags: 0x%02x, value: 0x%08x vma:			BeginAddress	 EndAddress	  UnwindData
-warning: %B and %B differ in wchar_t sizewarning: %B and %B differ in whether code is compiled for DSBTwarning: %B has a corrupt string table index - ignoringwarning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may failwarning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may failwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lxwarning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%xwarning: %B: corrupt no copy on protected size: 0x%xwarning: %B: corrupt stack size: 0x%xwarning: %B: local symbol `%s' has no sectionwarning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%xwarning: %s exceeds section size
+unhandled relocation %sunknownunknown EGSD subtype %dunknown ETIR command %dunknown basic type %dunknown errorunknown header byte-order value %#xunknown line command %dunknown operator '%c' in complex symbolunknown reloc %sunknown reloc %s + %sunknown source command %dunknown symbol in command %sunknown v850 architectureunknown: %xunrecognized INPUT_SECTION_FLAG %s
+unrecognized TI COFF target id '0x%x'unsupported .stab relocationunsupported STA cmd %sunsupported relocunsupported relocationunsupported relocation between data/insn address spacesunsupported relocation typeunsupported relocation type %#xusing multiple gp valuesv850 E3 architecturev850 architecturev850e architecturev850e1 architecturev850e2 architecturev850e2v3 architecturev850e3v5 architecturevariable `%s' can only be in one of the small, zero, and tiny data regionsvariable `%s' cannot be in both small and tiny data regions simultaneouslyvariable `%s' cannot be in both small and zero data regions simultaneouslyvariable `%s' cannot be in both zero and tiny data regions simultaneouslyvariable `%s' cannot occupy in multiple small data regionsvflags: 0x%02x, value: 0x%08x vma:			BeginAddress	 EndAddress	  UnwindData
+warning, .pdata section size (%ld) is not a multiple of %d
+warning: %pB and %pB differ in wchar_t sizewarning: %pB and %pB differ in whether code is compiled for DSBTwarning: %pB does not support interworking, whereas %pB doeswarning: %pB has a corrupt string table index - ignoringwarning: %pB supports interworking, whereas %pB does notwarning: %pB uses %s (set by %pB), %pB uses %swarning: %pB uses %s (set by %pB), %pB uses unknown MSA ABI %dwarning: %pB uses %s (set by %pB), %pB uses unknown floating point ABI %dwarning: %pB uses %s enums yet the output is to use %s enums; use of enum values across objects may failwarning: %pB uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may failwarning: %pB uses 64-bit long double, %pB uses 128-bit long doublewarning: %pB uses AltiVec vector ABI, %pB uses SPE vector ABIwarning: %pB uses IBM long double, %pB uses IEEE long doublewarning: %pB uses double-precision hard float, %pB uses single-precision hard floatwarning: %pB uses hard float, %pB uses soft floatwarning: %pB uses r3/r4 for small structure returns, %pB uses memorywarning: %pB uses unknown MSA ABI %d (set by %pB), %pB uses %swarning: %pB uses unknown MSA ABI %d (set by %pB), %pB uses unknown MSA ABI %dwarning: %pB uses unknown floating point ABI %d (set by %pB), %pB uses %swarning: %pB uses unknown floating point ABI %d (set by %pB), %pB uses unknown floating point ABI %dwarning: %pB: conflicting platform configurationwarning: %pB: conflicting platform configuration %s with %swarning: %pB: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lxwarning: %pB: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%xwarning: %pB: corrupt no copy on protected size: 0x%xwarning: %pB: corrupt stack size: 0x%xwarning: %pB: local symbol `%s' has no sectionwarning: %pB: unknown ARC object attribute %dwarning: %pB: unknown EABI object attribute %dwarning: %pB: unknown MSPABI object attribute %dwarning: %pB: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%xwarning: %s exceeds section size
 warning: %s overlaps %s
-warning: %s section has zero sizewarning: attempt to export undefined symbol `%s'warning: call to non-function symbol %s defined in %Bwarning: generating a shared library containing non-PIC codewarning: generating a shared library containing non-PID codewarning: relocation references a different segmentwarning: section '%s' is being made into a notewarning: section `%A' type changed to PROGBITSwarning: type and size of dynamic symbol `%s' are not definedwarning: unable to set size of %s section in %Bwarning: unable to update contents of %s section in %Bwarning: writing section `%A' at huge (ie negative) file offset 0x%lx.warning: xdata section corruptwarning: xdata section corrupt
-yesyou are not allowed to define %s in a scriptProject-Id-Version: bfd 2.28.90
+warning: %s section has zero sizewarning: --plt-localentry is especially dangerous without ld.so support to detect ABI violationswarning: RL78_SYM reloc with an unknown symbolwarning: RX_SYM reloc with an unknown symbolwarning: alignment %u of common symbol `%s' in %pB is greater than the alignment (%u) of its section %pAwarning: alignment %u of symbol `%s' in %pB is smaller than %u in %pBwarning: attempt to export undefined symbol `%s'warning: call to non-function symbol %s defined in %pBwarning: clearing the interworking flag of %pB because non-interworking code in %pB has been linked with itwarning: clearing the interworking flag of %pB due to outside requestwarning: corrupt unwind data
+warning: discarding dynamic section %swarning: gc-sections option ignoredwarning: generating a shared library containing non-PIC codewarning: generating a shared library containing non-PID codewarning: not setting interworking flag of %pB since it has already been specified as non-interworkingwarning: relocation references a different segmentwarning: section '%s' is being made into a notewarning: section `%pA' type changed to PROGBITSwarning: symbol `%s' is both section and non-sectionwarning: type and size of dynamic symbol `%s' are not definedwarning: type of symbol `%s' changed from %d to %d in %pBwarning: unable to set size of %s section in %pBwarning: unable to update contents of %s section in %pBwarning: unset or old architecture flags; use default machinewarning: writing archive was slow: rewriting timestampwarning: writing section `%pA' at huge (ie negative) file offsetwarning: xdata section corrupt
+yesyou are not allowed to define %s in a scriptProject-Id-Version: bfd 2.30.90
 Report-Msgid-Bugs-To: bug-binutils@gnu.org
-POT-Creation-Date: 2017-07-03 16:54+0200
-PO-Revision-Date: 2017-07-07 21:57+0300
+POT-Creation-Date: 2018-06-24 19:41+0100
+PO-Revision-Date: 2018-06-25 15:46+0200
 Last-Translator: Yuri Chornoivan <yurchor@ukr.net>
 Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>
 Language: uk
@@ -740,16 +730,16 @@ MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 X-Bugs: Report translation errors to the Language-Team address.
-Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
-X-Generator: Lokalize 1.5
-	    TLS: %A	<Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾: 0x%04lx>	Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ñ… Ð°Ð´Ñ€ÐµÑ� 			Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ñ… Ð°Ð´Ñ€ÐµÑ� 		%08lx
+Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
+X-Generator: Lokalize 2.0
+	    TLS: %pA	<Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾: 0x%04lx>	Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ñ… Ð°Ð´Ñ€ÐµÑ� 			Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ñ… Ð°Ð´Ñ€ÐµÑ� 		%08lx
 	Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ rva (0x%lx) Ð°Ð±Ð¾ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² (0x%lx) Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð°Ð´Ñ€ÐµÑ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�
 	Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ rva (0x%lx) Ð°Ð±Ð¾ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² (0x%lx) Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² Ð½Ð° Ð½Ð°Ð·Ð²Ð¸
 	Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ rva (0x%lx) Ð°Ð±Ð¾ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² (0x%lx) Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…
 	Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² Ð½Ð° Ð½Ð°Ð·Ð²Ð¸ 			Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² 				[%4ld] <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ñ�ÑƒÐ²: %lx>
 	Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� [Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² Ð½Ð°Ð·Ð²/Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð¸Ñ… Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð²]	%08lx
 	toc Ð¾Ñ�Ð½Ð¾Ð²Ð¸ ÐºÐ¾Ð´Ñƒ %08lx (Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð½Ð¸Ð¹/Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ð¹) %08lx/%08lx
-	Ð½Ðµ-TLS: %A	Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %4d Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ %4x [%4lx] %s	vma:  Ð’ÐºÐ°Ð·/ÐŸÐ¾Ñ€ Ð�Ð°Ð·Ð²Ð°-ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° ÐŸÑ€Ð¸Ð²â€™Ñ�Ð·Ð°Ð½Ð¾-Ð´Ð¾
+	Ð½Ðµ-TLS: %pA	Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %4d Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ %4x [%4lx] %s	vma:  Ð’ÐºÐ°Ð·/ÐŸÐ¾Ñ€ Ð�Ð°Ð·Ð²Ð°-ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° ÐŸÑ€Ð¸Ð²â€™Ñ�Ð·Ð°Ð½Ð¾-Ð´Ð¾
 
 	Ð�Ð°Ð·Ð²Ð° DLL: %.*s
 
@@ -849,8 +839,14 @@ X-Generator: Lokalize 1.5
     psect: %u, Ð·Ñ�ÑƒÐ²: 0x%08x %08x
     Ð½Ð°Ð·Ð²Ð° Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð¸: %.*s
    %02u    (Ñ‚Ð¸Ð¿: %3u, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: 4+%3u):    *Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð°* ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %u
+   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð°Ñ‚Ñƒ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾
    ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ” Ð¼ÐµÐ½ÑˆÐ¾ÑŽ Ð·Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ EEOM
    ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ” Ð¼ÐµÐ½ÑˆÐ¾ÑŽ Ð·Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ EMH
+   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð½Ð°Ð·Ð²Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�
+   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ð°Ð·Ð²Ð° Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð´Ð¾Ð²Ð³Ð¾ÑŽ
+   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²ÐµÑ€Ñ�Ñ–ÑŽ Ð¼Ð¾Ð´ÑƒÐ»Ñ�
+   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð²ÐµÑ€Ñ�Ñ–Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð´Ð¾Ð²Ð³Ð¾ÑŽ
+   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ” Ð¼ÐµÐ½ÑˆÐ¾ÑŽ Ð·Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ EMH_MHD
    ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ð¼Ñ–Ñ�Ñ†Ðµ, Ñ�ÐºÐµ Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–
    Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�: 2**%u
    alloc (Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°): %u (0x%08x)
@@ -863,6 +859,8 @@ X-Generator: Lokalize 1.5
    ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñ�Ñ‚Ð¾Ñ€ : %.*s
    ÐºÐ¾Ð´ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ�: %u
    Ð°Ð²Ñ‚Ð¾Ñ€Ñ�ÑŒÐºÑ– Ð¿Ñ€Ð°Ð²Ð°: %.*s
+ Ð¿Ñ–Ð´Ñ‚Ð¸Ð¿ Ð¿Ñ€Ð¾Ñ†.: %#lx (%s)
+ Ñ‚Ð¸Ð¿ Ð¿Ñ€Ð¾Ñ†. : %#lx (%s)
    declfile: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u, Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: %u, Ñ–Ð´. Ñ„Ð°Ð¹Ð»Ð°: %u
    deflines %u
    Ð½Ð°Ð·Ð²Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°: %.*s
@@ -870,7 +868,9 @@ X-Generator: Lokalize 1.5
    ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸: %x
    Ñ„Ð°Ð¹Ð»: %.*s
    Ð½Ð°Ð·Ð²Ð° Ñ„Ð°Ð¹Ð»Ð°: %.*s
-   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–      : 0x%08x   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–    : 0x%04x   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: %d, Ð¼Ð¾Ð²Ð°: %u, Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð¾Ð»Ð¾Ð´ÑˆÐ¸Ð¹: %u
+ Ñ‚Ð¸Ð¿ Ñ„Ð°Ð¹Ð»Ð° : %#lx
+   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–      : 0x%08x   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–    : 0x%04x   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: %lx
+   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: %d, Ð¼Ð¾Ð²Ð°: %u, Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð¾Ð»Ð¾Ð´ÑˆÐ¸Ð¹: %u
    Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: 0x%04x   formfeed
    Ñ–Ð´. Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ñ�Ñ‚Ñ–: %x
    Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð¾Ð±Ñ€Ð°Ð·Ñƒ: 0x%08x
@@ -879,6 +879,7 @@ X-Generator: Lokalize 1.5
    Ñ–Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�: %u, Ð½Ð°Ð·Ð²Ð° Ð¿Ñ–Ð´Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸: %.*s
    Ñ–Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�: %u, Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð°: %.*s
    Ñ–Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�: %u, psect: %u, Ð·Ñ�ÑƒÐ²: 0x%08x %08x
+  magic:       %#lx
    Ð¼Ð°ÐºÑ�. Ñ€Ð¾Ð·Ð¼. Ð·Ð°Ð¿Ð¸Ñ�Ñƒ: %u
    Ð½Ð°Ð·Ð²Ð° Ð¼Ð¾Ð´ÑƒÐ»Ñ�   : %.*s
    Ð½Ð°Ð·Ð²Ð° Ð¼Ð¾Ð´ÑƒÐ»Ñ�: %.*s
@@ -886,6 +887,7 @@ X-Generator: Lokalize 1.5
    Ð½Ð°Ð·Ð²Ð°         : %.*s
    Ð½Ð°Ð·Ð²Ð°       : %.*s
    Ð½Ð°Ð·Ð²Ð°      : %.*s
+ ÐºÑ‚ÑŒ_ÐºÐ¾Ð¼Ð°Ð½Ð´: %#lx
    ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð¿Ð°Ñ€ ÑƒÐ¼Ð¾Ð²Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�: %u
    Ð½Ð°Ð·Ð²Ð° Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° : %.*s
    Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿: 0x%08x, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: 0x%08x
@@ -900,6 +902,7 @@ X-Generator: Lokalize 1.5
    setlnum %u
    setrec %u
    Ð¿Ñ–Ð´Ð¿Ð¸Ñ�: %.*s
+ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€_ÐºÐ¼Ð´: %#lx
    Ñ€Ñ–Ð²ÐµÐ½ÑŒ Ñ�Ñ‚Ñ€ÑƒÐºÑ‚. : %u
    Ð·Ñ�ÑƒÐ² Ð²ÐµÐºÑ‚Ð¾Ñ€Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: 0x%08x
    Ð·Ñ�ÑƒÐ² symvec   : 0x%08x
@@ -909,13 +912,20 @@ X-Generator: Lokalize 1.5
    Ð°Ð´Ñ€ÐµÑ�Ð° Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� : 0x%08x
    Ð²ÐµÐºÑ‚Ð¾Ñ€      : 0x%08x
    Ð¼Ð°Ñ�ÐºÐ° Ð²ÐµÑ€Ñ�Ñ–Ñ—: 0x%08x
+  Ð²ÐµÑ€Ñ�Ñ–Ñ�:      %x
   %s (Ð´Ð¾Ð²Ð¶=%u+%u):
   %u: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u, Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: 0x%02x, Ð½Ð°Ð·Ð²Ð°: %.*s
   EEOM (Ð´Ð¾Ð²Ð¶=%u):
   EGSD (Ð´Ð¾Ð²Ð¶=%u):
   Ð·Ð°Ð¿Ð¸Ñ� EGSD %2u (Ñ‚Ð¸Ð¿: %u, Ð´Ð¾Ð²Ð¶: %u):   EMH %u (Ð´Ð¾Ð²Ð¶=%u):   Ð¾Ñ�Ð½.: 0x%08x %08x, Ñ€Ð¾Ð·Ð¼: 0x%08x,  Ð·Ð°Ñ….: 0x%08x   base_va : 0x%08x
   ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð±Ñ–Ñ‚Ñ–Ð²: %u, Ð±Ð°Ð·Ð¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x
-  Ð²Ð¸ÐºÐ»Ð¸ÐºÐ¸:
+  Ð³Ñ–Ð»ÐºÐ°        %lu
+  ÐºÐ¾Ñ€Ð¸Ð³. toc   %lu
+  Ð´Ð¾Ð²Ð³Ð° Ð³Ñ–Ð»ÐºÐ°  %lu
+  Ð´. ÐºÐ¾Ñ€. toc  %lu
+  plt-Ð²Ð¸ÐºÐ»Ð¸Ðº   %lu
+  toc Ð²Ð¸Ðº. plt %lu
+  Ð·Ð°Ð³. Ð·Ð°Ð¿Ð¸Ñ�   %lu  Ð²Ð¸ÐºÐ»Ð¸ÐºÐ¸:
   chgprtoff : %5u
   codeadroff: %5u, lpfixoff  : %5u
   fixuplnk: 0x%08x %08x
@@ -931,11 +941,12 @@ X-Generator: Lokalize 1.5
   shlextra  : %5u, permctx   : %5u
   shlstoff  : %5u, shrimgcnt : %5u
   Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u
-  Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ñ„Ð°Ð¹Ð»Ð° Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…: %s  Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ñ„Ð°Ð¹Ð»Ð° Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñ–Ð²: %s %08x 0x%08x 64B <Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ� EABI> BPAGE: %u COM COMM Ð—Ð¼Ñ–Ð½Ð° Ð·Ð°Ñ…Ð¸Ñ�Ñ‚Ñƒ (%u Ð·Ð°Ð¿Ð¸Ñ�Ð¸):
+  Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ñ„Ð°Ð¹Ð»Ð° Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…: %s  Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ñ„Ð°Ð¹Ð»Ð° Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñ–Ð²: %s %08x (<Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾>) 0x%08x 64B <Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ� EABI> BPAGE: %u COM COMM Ð—Ð¼Ñ–Ð½Ð° Ð·Ð°Ñ…Ð¸Ñ�Ñ‚Ñƒ (%u Ð·Ð°Ð¿Ð¸Ñ�Ð¸):
  ÐŸÑ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð°Ð´Ñ€ÐµÑ� ÐºÐ¾Ð´Ñƒ:
  DEF EXE ÐŸÐ¾Ñ‚Ñ€Ñ–Ð±Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° FPU:  ÐŸÐµÑ€ÑˆÐ° Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x 0x%08x
  Ð§ÐµÑ‚Ð²ÐµÑ€Ñ‚Ð° Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x 0x%08x
  GBL ÐŸÐ¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ð·â€™Ñ”Ð´Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ LIB ÐŸÑ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½ÑŒ Ð½Ð° Ð¿Ð°Ñ€Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�:
+Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº MACH-O:
  NOMOD NORM OVR PIC QVAL RD REL ÐœÑ–Ð»Ñ–ÐºÐ¾Ð´ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° ÐœÑ–Ð»Ñ–ÐºÐ¾Ð´ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð ÐµÑ�ÑƒÑ€Ñ�Ð¸ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°ÑŽÑ‚ÑŒÑ�Ñ� Ð· Ñ‚Ð°ÐºÐ¸Ð¼ Ð·Ñ�ÑƒÐ²Ð¾Ð¼: %#03x
  SHR Ð”Ñ€ÑƒÐ³Ð° Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x 0x%08x
  ÐžÐ±Ñ€Ð°Ð·Ð¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�:
@@ -943,7 +954,7 @@ X-Generator: Lokalize 1.5
  Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ€Ñ�Ð´ÐºÑ–Ð² Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ‚Ð°ÐºÐ¸Ð¼ Ð·Ñ�ÑƒÐ²Ð¾Ð¼: %#03x
  Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ�: Ñ…Ð°Ñ€.: %d, Ñ‡Ð°Ñ�: %08lx, Ð²ÐµÑ€Ñ�Ñ–Ñ�: %d/%d, Ñ‡Ð¸Ñ�Ð»Ð¾Ð²Ñ– Ð½Ð°Ð·Ð²Ð¸: %d, Ñ–Ð´.: %d
  Ð¢Ñ€ÐµÑ‚Ñ� Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x 0x%08x
- UNI VEC VECEP WEAK WRT [64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– double] [BE8] [Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ float FPA] [LE8] [Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ float Maverick] [Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ float VFP] [Ð’ÐµÑ€Ñ�Ñ–Ñ�1 EABI] [Ð’ÐµÑ€Ñ�Ñ–Ñ�2 EABI] [Ð’ÐµÑ€Ñ�Ñ–Ñ�3 EABI] [Ð’ÐµÑ€Ñ�Ñ–Ñ�4 EABI] [Ð’ÐµÑ€Ñ�Ñ–Ñ�5 EABI] [Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ RAM XGATE] [Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ abi] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [Ð· Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼] [d-float] [Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°] [Ñ„Ñ–ÐºÑ�. Ñ€Ð¾Ð·Ñ‚.] [Ñ‡Ð¸Ñ�Ð»Ð° Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ Ð¿ÐµÑ€ÐµÐ´Ð°Ð½Ð¾ Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ] [Ñ‡Ð¸Ñ�Ð»Ð° Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ Ð¿ÐµÑ€ÐµÐ´Ð°Ð½Ð¾ Ð´Ð¾ Ñ†Ñ–Ð»Ð¾Ñ‡Ð¸Ñ�ÐµÐ»ÑŒÐ½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²] [g-float] [ABI Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾Ñ— Ñ€ÑƒÑ…Ð¾Ð¼Ð¾Ñ— ÐºÑ€Ð°Ð¿ÐºÐ¸] [ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ] [Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð½Ðµ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾] [Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð° Ñ€Ð¾Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÑ”Ñ‚ÑŒÑ�Ñ�] [Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð° Ñ€Ð¾Ð±Ð¾Ñ‚Ð°] [Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÐ´ÑƒÑŽÑ‚ÑŒ Ñ–Ð½ÑˆÐ¸Ð¼] [Ð¿Ð°Ð¼â€™Ñ�Ñ‚ÑŒ=Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð· Ð±Ð°Ð½ÐºÐ°Ð¼Ð¸] [Ð¿Ð°Ð¼â€™Ñ�Ñ‚ÑŒ=Ð¿Ð»Ð¾Ñ�ÐºÐ° Ð¼Ð¾Ð´ÐµÐ»ÑŒ] [Ð½Ð¾Ð²Ð¸Ð¹ ABI] [Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ abi] [Ð½Ðµ-pic] [Ð½Ðµ 32-Ð±Ñ–Ñ‚.Ñ€ÐµÐ¶Ð¸Ð¼] [Ñ�Ñ‚Ð°Ñ€Ð¸Ð¹ ABI] [pic] [Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¹ Ð²Ñ–Ð´ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—] [Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð»] [ABI Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾Ñ— Ñ€ÑƒÑ…Ð¾Ð¼Ð¾Ñ— ÐºÑ€Ð°Ð¿ÐºÐ¸] [Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð° FP] [Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²] [Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒ Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ� _] [Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ISA] [Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²] [v10 Ñ‚Ð° v32] [v32] Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð²:  Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ GST
+ UNI VEC VECEP WEAK WRT [64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– double] [BE8] [Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� ABI FDPIC] [Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ float FPA] [LE8] [Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ float Maverick] [Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ float VFP] [Ð’ÐµÑ€Ñ�Ñ–Ñ�1 EABI] [Ð’ÐµÑ€Ñ�Ñ–Ñ�2 EABI] [Ð’ÐµÑ€Ñ�Ñ–Ñ�3 EABI] [Ð’ÐµÑ€Ñ�Ñ–Ñ�4 EABI] [Ð’ÐµÑ€Ñ�Ñ–Ñ�5 EABI] [Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ RAM XGATE] [Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ abi] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [d-float] [Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°] [Ñ„Ñ–ÐºÑ�. Ñ€Ð¾Ð·Ñ‚.] [Ñ‡Ð¸Ñ�Ð»Ð° Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ Ð¿ÐµÑ€ÐµÐ´Ð°Ð½Ð¾ Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ] [g-float] [ABI Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾Ñ— Ñ€ÑƒÑ…Ð¾Ð¼Ð¾Ñ— ÐºÑ€Ð°Ð¿ÐºÐ¸] [ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ] [Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÐ´ÑƒÑŽÑ‚ÑŒ Ñ–Ð½ÑˆÐ¸Ð¼] [Ð¿Ð°Ð¼â€™Ñ�Ñ‚ÑŒ=Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð· Ð±Ð°Ð½ÐºÐ°Ð¼Ð¸] [Ð¿Ð°Ð¼â€™Ñ�Ñ‚ÑŒ=Ð¿Ð»Ð¾Ñ�ÐºÐ° Ð¼Ð¾Ð´ÐµÐ»ÑŒ] [Ð½Ð¾Ð²Ð¸Ð¹ ABI] [Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ abi] [Ð½Ðµ-pic] [Ð½Ðµ 32-Ð±Ñ–Ñ‚.Ñ€ÐµÐ¶Ð¸Ð¼] [Ñ�Ñ‚Ð°Ñ€Ð¸Ð¹ ABI] [pic] [Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¹ Ð²Ñ–Ð´ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—] [Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð»] [ABI Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾Ñ— Ñ€ÑƒÑ…Ð¾Ð¼Ð¾Ñ— ÐºÑ€Ð°Ð¿ÐºÐ¸] [Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð° FP] [Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²] [Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒ Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ� _] [Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ISA] [Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²] [v10 Ñ‚Ð° v32] [v32] Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð²:  Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ GST
  Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð²: vbn: %u, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u
  Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: vbn: %u, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u (0x%x)
  Ð´Ð°Ð½Ñ– Ñ‰Ð¾Ð´Ð¾ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ rva:  Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: 0x%04x Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: vbn: %u, Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð²: %u
@@ -972,104 +983,37 @@ X-Generator: Lokalize 1.5
  vma:            Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð§Ð°Ñ�Ð¾Ð²Ð°    Ð›Ð°Ð½Ñ†ÑŽÐ¶Ð¾Ðº Ð�Ð°Ð·Ð²Ð°     ÐŸÐµÑ€ÑˆÐ¸Ð¹
                  Ð²ÐºÐ°Ð·.   ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐºÐ°  Ñ�Ð¿Ñ€Ñ�Ð¼.   DLL       ÑˆÐ»ÑŽÐ·
 #<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ ÐºÐ¾Ð´ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸>%03x Ð›Ð¸Ñ�Ñ‚Ð¾Ðº %*.s: Ð°Ð´Ñ€ÐµÑ�Ð°: %#08lx, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %#08lx, ÐºÐ¾Ð´Ð¾Ð²Ð° Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ°: %d
-Ð’Ñ…Ñ–Ð´ Ð´Ð¾ %03x %*.s: %A Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ [Â«%AÂ» Ñƒ %B] Ñ– Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ [Â«%AÂ» Ñƒ %B] Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸%A Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ– Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸%A:0x%v .brinfo lrlive (%u) Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�Ñ”Ñ‚ÑŒÑ�Ñ� Ð²Ñ–Ð´ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ ÑˆÐ»Ñ�Ñ…Ð¾Ð¼ Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ (%u)
-%A:0x%v Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹
-%B (%s): Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s (0x%x) Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾%B Ñ– %B Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ€Ñ–Ð·Ð½Ð¸Ñ… ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹%B Ñ– %B Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ�Ð´ÐµÑ€Ñƒ %B Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´ v32 CRIS, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸Ñƒ %B Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ñ” ÐºÐ¾Ð´Ð¾Ð¼ v32 CRIS, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸Ð´Ð»Ñ� %B Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð¾Ð±Ð¸Ð´Ð²Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Tag_MPextension_use, current Ñ– legacy%B Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ‚Ð¸ %sÐ Ð¾Ð·Ð´Ñ–Ð» %B, %A, Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð³Ñ€ÑƒÐ¿Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñ–Ð²%B Ð½Ð¾Ð¼ÐµÑ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %lu Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð» SHT_SYMTAB_SHNDX, Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”%B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� e_flags 0x%lx%B(%#x): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX. ÐŸÐµÑ€ÐµÑ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð½Ð° %ld Ð±Ð°Ð¹Ñ‚Ñ–Ð². ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ. %B(%A): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸ÐºÐ»Ð¸Ðº Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ»%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%B(%A): Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð²Ð»Ð°Ñ�Ñ‚Ð¸Ð²Ð¾Ñ�Ñ‚ÐµÐ¹%B(%A): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ñ… Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ TLS Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%B(%A): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, %ld%B(%A): Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� %s%B(%A): Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PID %s Ð´Ð¾ 0x%08lx (Ñ‰Ð¾Ð´Ð¾ %s Ñƒ %s)%B(%A): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð´Ð¾Ð²Ð³Ð¸Ñ… Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ñ… Ð³Ñ–Ð»Ð¾Ðº Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð°Ñ… Ñ–Ð· Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ SHF_ARM_PURECODE Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ†Ñ–Ð»ÐµÐ¹ Ð· Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÐµÐ¼ M, Ñƒ Ñ�ÐºÐ¸Ñ… Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ movw.%B(%A): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ…%B(%A): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñƒ %d.%B(%A+0x%%B(%A+0x%lx): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾Ñ— Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ %s Ð´Ð»Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— 0x%x Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ– Ð½ÐµÑ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ SEC_MERGE%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð·Ð° Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ»%B(%A+0x%lx): %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ TLS %s%B(%A+0x%lx): %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð¿Ð¾Ð·Ð° TLS %s%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CMEM Ð´Ð¾ Â«%sÂ» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼, 16 MSB Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0x%04x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 0x%lx)%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CMEM Ð´Ð¾ Â«%s+0x%lxÂ» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼, 16 MSB Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0x%04x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 0x%lx)%B(%A+0x%lx): Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð³Ñ€ÑƒÐ¿ ALU Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ ADD Ð°Ð±Ð¾ SUB%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ð¿Ð¾Ð´Ñ–Ð»Ñƒ 0x%lx Ð· Ð¼ÐµÑ‚Ð¾ÑŽ Ð³Ñ€ÑƒÐ¿Ð¾Ð²Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_68K_TLS_LE32 Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_ARM_TLS_LE32 Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_METAG_TLS_LE/IENONPIC Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_NIOS2_TLS_LE16 Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾%B(%A+0x%lx): Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– stabs Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ€Ñ�Ð´ÐºÐ°.%B(%A+0x%lx): Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ñƒ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ð´Ð¾ Â«%sÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�%B(%A+0x%lx): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ� %s%B(%A+0x%lx): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´Ð¾Ñ�Ñ�Ð³Ñ‚Ð¸ %s, Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -ffunction-sections%B(%A+0x%lx): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� XTENSA_ASM_SIMPLIFY, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð° Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹%B(%A+0x%lx): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð° Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹%B(%A+0x%lx): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½ÑŒ Ñƒ Ð½ÐµÐ¾Ñ�Ñ‚Ð°Ð½Ð½Ñ–Ð¹ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ð±Ð»Ð¾ÐºÑƒ IT: Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾.
-Ð¡ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ gcc -mrestrict-it, Ñ‰Ð¾Ð± Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð¾Ð´Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ð½Ð° Ð±Ð»Ð¾Ðº IT.
-%B(%A+0x%lx): Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð¸Ð»ÑŽ 16A Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— 0x%08x%B(%A+0x%lx): Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð¸Ð»ÑŽ 16D Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— 0x%08x%B(%A+0x%lx): Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS %s%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%sÂ»: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d%B(%A+0x%lx): Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€=0x%x)%B(%A+0x%lx): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° ARM, Â«0x%xÂ», Ñƒ Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ñ–Ð½Ñ– TLS%B(%A+0x%lx): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° ARM, Â«0x%xÂ», Ð½Ð° Ñ�ÐºÑƒ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� TLS_GOTDESC%B(%A+0x%lx): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Thumb, Â«0x%xÂ», Ñƒ Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ñ–Ð½Ñ– TLS%B(%A+0x%lx): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Thumb, Â«0x%xÂ», Ð½Ð° Ñ�ÐºÑƒ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� TLS_GOTDESC%B(%A+0x%lx): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s%B(%A+0x%lx): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»B(%A+0x%lx): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%B(%A+0x%v): Ð²Ð¸ÐºÐ»Ð¸Ðº Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ ÐºÐ¾Ð´, %B(%A), Ð°Ð½Ð°Ð»Ñ–Ð· Ñ” Ð½ÐµÐ¿Ð¾Ð²Ð½Ð¸Ð¼
-%B(%s): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ð½Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾.
-  Ð¿ÐµÑ€ÑˆÐ° Ð·Ð³Ð°Ð´ÐºÐ°: %B: Ð²Ð¸ÐºÐ»Ð¸Ðº ARM Ð´Ð¾ Thumb%B(%s): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ð½Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾.
-  Ð¿ÐµÑ€ÑˆÐ° Ð·Ð³Ð°Ð´ÐºÐ°: %B: Ð²Ð¸ÐºÐ»Ð¸Ðº thumb Ð´Ð¾ ARM%B(%s): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ð½Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾.
-  Ð¿ÐµÑ€ÑˆÐ° Ð·Ð³Ð°Ð´ÐºÐ°: %B: Ð²Ð¸ÐºÐ»Ð¸Ðº arm Ð´Ð¾ thumb%B(%s): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ð½Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾.
-  Ð¿ÐµÑ€ÑˆÐ° Ð·Ð³Ð°Ð´ÐºÐ°: %B: Ð²Ð¸ÐºÐ»Ð¸Ðº arm Ð´Ð¾ arm
-  Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ --support-old-code%B(%s+0x%lx): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A:
-  Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ñ” ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼ Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–; Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾ÑŽ Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½Ð¾ÑŽ Ñ” ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð², Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ñ–Ð»ÑŽÐ¹Ñ‚Ðµ Ð· -fPIC%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A:
-  Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ñ�Ð»Ñ–Ð´ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ñ–Ð»ÑŽÐ¹Ñ‚Ðµ Ð· -fPIC%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A:
-  Ð¾Ð±â€™Ñ”ÐºÑ‚ Ð²ÐµÑ€Ñ�Ñ–Ñ— 10/32, %s, Ð½Ðµ Ð¿Ð¾Ð²Ð¸Ð½ÐµÐ½ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PIC%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½ÐµÐ¼Ð°Ñ” PLT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½ÐµÐ¼Ð°Ñ” Ð½Ñ– PLT, Ð½Ñ– GOT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– %s Ñ” Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Â«%sÂ», Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾, Ð°Ð´Ñ€ÐµÑ�Ð½Ð° Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ° Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ�?%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ–Ð· Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾ÑŽ Ð²Ð¸Ð´Ð¸Ð¼Ñ–Ñ�Ñ‚ÑŽ. ÐœÐ¾Ð¶Ð»Ð¸Ð²Ð¾, Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ–?%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: Â«%sÂ»%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ð·Ð° Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ. ÐœÐ¾Ð¶Ð»Ð¸Ð²Ð¾, Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ–?%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð±ÐµÐ· Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾Ð³Ð¾ GOT%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼, %d, Ñ‰Ð¾Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼, %d, Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»:
-  Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ñ�Ð»Ñ–Ð´ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ñ–Ð»ÑŽÐ¹Ñ‚Ðµ Ð· -fPIC%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� !samegp Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð±ÐµÐ· .prologue: %s%B: %A Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…%B: %A Ñ” Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¼%B: %A Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ñ‚ÐµÐºÑ�Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ%B: %A+%#Lx: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð»Ñ� INHERIT%B: %A+0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾Ñ— Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—%B: %A+0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� LITERAL Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾Ñ— Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—%B: %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: 0x%lx > 0xffff%B: %s Ð½Ðµ Ñ” Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%B: %s: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ñ— Ð²ÐµÑ€Ñ�Ñ–Ñ— %d%B: %s: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ�, %u (Ð¼Ð°ÐºÑ�Ð¸Ð¼ÑƒÐ¼ â€” %d)%B: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: 0x%lx > 0xffff'%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ --in-implib Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐº Secure Gateway.%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� .gnu.version_d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� .gnu.version_r%B: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿Ñ–Ð´Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° .got Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” 64ÐºÐ‘ (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ â€” %d)%B: .opd Ð½Ðµ Ñ” Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ð¼ Ð¼Ð°Ñ�Ð¸Ð²Ð¾Ð¼ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² opd%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .preinit_array Ñƒ DSO%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» .rsrc%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ .rsrc%B: 0x%lx: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_SH_PSHA %d Ð½Ðµ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– -32..32%B: 0x%lx: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_SH_PSHL %d Ð½Ðµ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– -32..32%B: 0x%lx: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ%B: 0x%lx: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s, 0x%lx%B: 0x%lx: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ðµ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ðµ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¾ÑŽ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_SH_USES Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ 0x%x%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGCALL Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ 0x%x%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGCALL Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGCALL Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGCALL Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� 0x%lx%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGJUMP Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ 0x%x%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGJUMP Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGJUMP Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� R_SH_USES%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ R_SH_USES%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� COUNT%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� @gprel Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� @internal Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� @pcrel Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: ABI Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· ABI Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾Ñ— ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—%B: ABI Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ñ–Ð· Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾ÑŽ ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ”ÑŽ:
-  Ñ†Ñ–Ð»ÑŒ ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—, Â«%sÂ», Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Â«%sÂ»%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ABI: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%B: Ð²ÐµÑ€Ñ�Ñ–Ñ� ABI %ld Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾ÑŽ Ð· Ð²ÐµÑ€Ñ�Ñ–Ñ”ÑŽ ABI %ld Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñƒ%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ASE: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸%B: Ð¾Ð±Ñ€Ð°Ð·Ð¸ BE8 Ñ” Ñ‡Ð¸Ð½Ð½Ð¸Ð¼Ð¸ Ð»Ð¸ÑˆÐµ Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– big-endian.%B: Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %d%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: Â«MainÂ» Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ñƒ %s, Ð° Ð½Ðµ Ñƒ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ %s
-%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CALL15 Ñƒ 0x%lx Ð½Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CALL16 Ñƒ 0x%lx Ð½Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� LO16 Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð´Ð»Ñ� %s Ñƒ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ»%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br (%s) Ð´Ð¾ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» Ð· Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¾Ð¼ 0x%lx (> 0x1000000).%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ». Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� brl Ð°Ð±Ð¾ Ð½ÐµÐ¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ�Ð¼.%B: Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ° Ñ�Ñ‚Ð¸Ñ�Ð½ÑƒÑ‚Ð¸Ñ… Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Alpha Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð°.
-   Ð¡ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ�Ð¼Ð¸ ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñ�Ñ‚Ð¾Ñ€Ð° Ð°Ð±Ð¾ objZ Ð´Ð»Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð½ÐµÑ�Ñ‚Ð¸Ñ�Ð½ÐµÐ½Ð¸Ñ… Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð².%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð¸ %s Ñ‚Ð° %s.%B: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ð°Ð½Ð¸Ñ… (%lx) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¼Ñ–Ñ�Ñ†Ñ�, Ñ�ÐºÐµ Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– (%lx)%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ� EF_OR1K_NODELAY Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ñ– Ð´Ð°Ð½Ñ– Ð·Ð°Ð²ÐµÑ€ÑˆÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ.%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Â«%sÂ»; Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¾Ðº %s Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ñƒ Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð»
-%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: search_nds32_elf_blank Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»Ñ�Ñ” Ð¿Ñ€Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²ÑƒÐ·Ð¾Ð»
-%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´Ð¾Ð´Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð·Ð²â€™Ñ�Ð·ÐºÑ–Ð² Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° GAS: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� PTB Ð· R_SH_PT_16%B: Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– GNU_MBIN Â«%AÂ» Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ sh_info: %d%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� GOT: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð· 8- Ð°Ð±Ð¾ 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ > %d%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� GOT: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð· 8-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ > %d%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT Ñƒ 0x%lx Ñ” Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¼ Ñƒ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ð°Ñ…%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° IMPORT AS Ð´Ð»Ñ� %s Ð¿Ñ€Ð¸Ñ…Ð¾Ð²ÑƒÑ” Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŽ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñƒ IMPORT AS%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð² Ð²ÐµÐºÑ‚Ð¾Ñ€Ñ–Ð² ISR Ñ–Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ– Ñ” %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸, Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ– Ñ” %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð½Ð°Ð±Ð¾Ñ€Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼ ÐºÐ¾Ð¼Ð°Ð½Ð´ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð²%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñ‡ÐµÑ€ÐµÐ· Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½ÑŽ Ð½ÐµÐ¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ð´Ð»Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�
- Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ¾Ð¼ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾: 0x%lx%08lx != Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð¾: 0x%lx%08lx
-%B: ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %d%B: Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ sh_link (%d) Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL: Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ $%ld Ð½Ðµ Ñ” Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼. ÐŸÐµÑ€ÑˆÐ¸Ð¼ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ñ” $%ld.%B: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€Ñ–Ð² Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ” NULL Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð°Ñ�Ñ‚Ð¾Ñ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%B: Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ– Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ�%B: Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ– Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ�%B: Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ðµ OMIT_FP Ñƒ %A.%B: Ð½ÐµÐ¼Ð°Ñ” Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¾ÑŽ %d Ð±Ð°Ð¹Ñ‚Ñ–Ð²
-%B: Ð½ÐµÐ¼Ð°Ñ” Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð½Ð°Ð·Ð²Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s
-%B: Ð½ÐµÐ¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð· Ð²ÐµÑ€Ñ�Ñ–Ñ”ÑŽ Â«%sÂ»%B: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ð°Ð¼'Ñ�Ñ‚Ñ– Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð¼Ñ–Ñ�Ñ†Ñ� Ð´Ð»Ñ� %lu Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²%B: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¼Ñ–Ñ�Ñ†Ñ� Ð´Ð»Ñ� Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑ–Ð² Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸, Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· -N%B: Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾ÑŽ STT_REGISTER Ð¼Ð¾Ð¶Ð½Ð° Ð¾Ð³Ð¾Ð»Ð¾ÑˆÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ %%g[2367]%B: Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹, Ð°Ð»Ðµ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ (0x%x) Ñƒ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Import Library Format%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s (%d) Ñƒ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ–Ð¹ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾.
-%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s Ñ‰Ðµ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾.%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð¼Ñƒ ELF (EM: %d)%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ SB, Ð°Ð»Ðµ __c6xabi_DSBT_BASE Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾%B: Ñ€Ð¾Ð·Ð´Ñ–Ð» SHT_GROUP [Ñ–Ð½Ð´ÐµÐºÑ� %d] Ð½Ðµ Ð¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² SHF_GROUP%B: Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ ARMv8-M Ñ– Ð½Ð¾Ð²Ñ–ÑˆÐ¸Ñ… Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€.%B: Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹ ÐºÐ¾Ð´ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ TLS Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%B: Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ TLS Ð½Ðµ Ñ” Ñ�ÑƒÑ�Ñ–Ð´Ð½Ñ–Ð¼Ð¸:%B: Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� TLS Ð· %s Ð´Ð¾ %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ñƒ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» Ð·Ð°Ð·Ð½Ð°Ð»Ð¾ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TOC Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%x Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð½ÐµÐ¼Ð°Ñ” Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñƒ TOC%B: Ð¿ÐµÑ€ÑˆÐ¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ñƒ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ– PT_DYNAMIC Ð½Ðµ Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ .dynamic%B: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� (%s) Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– (%A)
-)%B: Ð·Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð²: %d (>= %d)%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: Ñ—Ñ…Ð½Ñ– Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð½Ðµ Ñ” Ð¾Ð´Ð½Ð°ÐºÐ¾Ð²Ð¸Ð¼Ð¸%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: Ñ—Ñ…Ð½Ñ– Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ–%B: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° %s%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ARC %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d
-%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ Ñ„Ð°Ð¹Ð»Ñ– a.out.adobe: %x
-%B: OMIT_FP Ð±ÐµÐ· Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸ÐºÐ° Ñƒ %A.%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° .directive: %s%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ð½Ð°Ð·Ð²Ð° Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ (0x%x) Ñƒ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Import Library Format%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ÐºÐ»Ð°Ñ� Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s Â«%sÂ»%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð· %s Ð´Ð¾ %s%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ IMAGE_SCN_MEM_NOT_PAGED Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %s%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Thumb BLX Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Arm Â«%sÂ».%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Â«%sÂ», %u, Ð¼ÐµÐ½ÑˆÐ¸Ð¹ Ð·Ð° Ð¹Ð¾Ð³Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°, Â«%sÂ»%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ–Ð¹ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� PLT Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– thumb-1%B: Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚ XCOFF, Ñ…Ð¾Ñ‡Ð° Ð´Ð°Ð½Ñ– XCOFF Ð½Ðµ Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑŽÑ‚ÑŒÑ�Ñ�%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» XMC_TC0 Â«%sÂ» Ñ” ÐºÐ»Ð°Ñ�Ð¾Ð¼ %d, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d%B: __gp Ð½Ðµ Ð²ÐºÑ€Ð¸Ð²Ð°Ñ” ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° Ð´Ð°Ð½Ð¸Ñ…%B: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� Â«%AÂ» %ld Ð· Â«%AÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ ADDIUPC%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ FDPIC, Ñ‚Ð°Ðº Ñ– Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ FDPIC%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ‚Ð°Ðº Ñ– Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%B: Â«%sÂ» Ñ– Ñ—Ñ— Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°ÑŽÑ‚ÑŒ Ñƒ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð°Ñ….%B: Â«%sÂ» Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½Ð¾Ð¼ÐµÑ€Ð¸ Ñ€Ñ�Ð´ÐºÑ–Ð², Ð°Ð»Ðµ Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ%B: Â«%sÂ» Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð°, Ð°Ð»Ðµ Ð½Ðµ Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ñ… Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-PLT Â«%sÂ» Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñƒ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÑ†Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�, Ñ– Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð³Ð¾ Ð· Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° (Ñ�Ð»Ñ–Ð´ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ñ„Ð°Ð¹Ð» Ñ–Ð· -fPIC ?)%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Â«ld -rÂ» Ð· Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸ PE MIPS Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
-%B: Ð½ÐµÐ¼Ð°Ñ” Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ».%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%ld)%B: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº -0x%x Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ%B: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº 0x%x Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ%B: Ð°Ð´Ñ€ÐµÑ�Ð° 0x%s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° Intel%B: Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº aout Ð²ÐºÐ°Ð·ÑƒÑ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ñƒ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ð°Ð½Ð¸Ñ…: %d%B: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð½Ð°Ð´Ñ–Ñ�Ð»Ð°Ñ‚Ð¸ Ð´Ð°Ð½Ñ– Ð½Ð° Ð½ÐµÐºÑ€Ð°Ñ‚Ð½Ñƒ Ð´Ð¾ 4 Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx
-%B: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ–Ð· Ð½ÐµÑ€Ñ�Ð´ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (Ð½Ð¾Ð¼ÐµÑ€ %d)%B: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ�ÑƒÐ¼Ñ–Ñˆ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–Ð² FDPIC Ñ– Ð½Ðµ-FDPIC%B: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð²Ð¸Ð¿Ð¸Ñ�Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» XTY_ER Â«%sÂ»: ÐºÐ»Ð°Ñ� %d, Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ pair/reflo Ð¿Ñ–Ñ�Ð»Ñ� refhi
-%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ»%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (%#lx >= %#lx) Ð´Ð»Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ %#Lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ»%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð½Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%sÂ»%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ ihex_read_section%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² %lu%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: %d%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð°-Ð¿Ð»ÑŽÑ�-Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ: %s Ñƒ %A%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð°-Ð¿Ð»ÑŽÑ�-Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ: (Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ) Ñƒ %A%B: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² a.out Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ%B: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– oasys Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ%B: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² a.out Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ– Ñ–Ð· Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾ÑŽ Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ñ–Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ Ñ–Ð· Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾ÑŽ Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d, %d Ð±Ð°Ð¹Ñ‚Ñ–Ð²
-%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� %s%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» fdpic Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ-fdpic%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» Ð½Ðµ-fdpic Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° fdpic%B: Ð·Ð¼Ñ–Ð½Ð° Ñƒ gp: BRSGP %s%B: ÐºÐ»Ð°Ñ� %d, Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¼Ð°Ñ” Ð´Ð¾Ð¿Ð¾Ð¼Ñ–Ð¶Ð½Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð²%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ %s -mtune=%s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ %s -mtune=%s%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñ�Ðº 32- Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚, Ð° %B Ñ” 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñ�Ðº 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚, Ð° %B Ñ” 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ñ— Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸, Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¾ÑŽ Ð¶ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ” 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð°%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸ Ð· Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð², Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð° Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸ Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð², Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð° Ð·Ñ– Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ð· -mrelocatable%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· %s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ð· %s%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· %s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñƒ Ñ�ÐºÐ¸Ñ… Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-pic%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· -mrelocatable Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–%B: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ñ– Ð´Ð°Ð½Ñ– Ð¿Ð¾Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð³Ñ€ÑƒÐ¿: %#Lx%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %A Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %A%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ»
-%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� Ð´Ð¾Ð´Ð°Ð½Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² .cranges%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² .cranges%B: csect Â«%sÂ» Ð½Ðµ Ñƒ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–%B: Ð±ÐµÐ·Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%B: Ð±ÐµÐ·Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT R_386_GOT32X Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñƒ LOCAL Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð·Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼Ð¸ Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ñ… Ð°Ð±Ð¾ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼Ð¸%B: dtp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� %s%B: Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð¼Ð°Ñ” Ñ–Ð½ÑˆÐ¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚
-%B: Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð¼Ð°Ñ” Ñ–Ð½ÑˆÐ¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€
-%B: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚ Ð±ÐµÐ· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .loader%B: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ñ–Ñ‚ÐºÐ¸ Ð´Ð°Ð½Ð¸Ñ… Ñƒ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…%B: Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾Ñ— ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—%B: Ð²Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ñ” Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾ÑŽ.%B: Ð²Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ð´Ð°Ð½Ð¸Ñ….%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ABI Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸.%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�Ñ‚ÐµÐ¿Ñ–Ð½ÑŒ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %d Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX.%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ _ITB_BASE_%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Cortex-A8 Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÐ¾Ð²Ð°Ð½Ð¾ Ð·Ð° Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Cortex-A8 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ 835769 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ 843419 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð½Ð°Ð±Ð¾Ñ€Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼ ÐºÐ¾Ð¼Ð°Ð½Ð´ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð².%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ PHDR Ð½Ðµ Ð¿Ð¾ÐºÑ€Ð¸Ð²Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¾Ð¼ LOAD%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÐ° VFP11 Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ %d Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ” Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñ„Ð°Ð¹Ð»Ð° Ñ–/Ð°Ð±Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ñƒ %08x, Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %08x
-%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ñƒ %08x, Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %p
-%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI, %d%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d.%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÑƒ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�%B: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð´Ð¾ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ%B: ÐºÐ»Ð°Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² %s Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· %s%B: gp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: Ð½Ð° Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %B Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO%B: Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾%B: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ»
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð½Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Â«%AÂ»%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %ld Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ñ…%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ–: %d%B: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ñ‚Ð¸Ð¿Ð¸ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€. Ð’Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� â€” 0x%x. Ð’Ñ…Ñ–Ð´Ð½Ñ– Ð´Ð°Ð½Ñ– â€” 0x%x%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ».%B: Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ» Ñ” Ñ†Ð¸ÐºÐ»Ð¾Ð¼%B: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ ihex_read_section%B: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², %A, Ð¼Ñ–Ñ�Ñ‚Ð¸Ð² Ð´Ð°Ð½Ñ–
-%B: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð· %d Ð´Ð¾ %d Ñ�Ð»Ñ–Ð²
-%B: Ð½Ð° Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %B Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO%B: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� AVR: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CR16C: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CRIS: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� D10V: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� D30V: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Epiphany: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� FR30: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� FRV: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� IP2K: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� IQ2000: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� LM32: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� M32C: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� M32R: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� M68HC11: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� M68HC12: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MEP: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� METAG: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MMIX: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MSP430: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MSP430X: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MT: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Moxie: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� NDS32: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� OR1K: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RL78: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RX: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� SHT_GROUP%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� V850: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Visium: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� XGate: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� XTENSA: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� i960: %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð²Ñ…Ñ–Ð´ Ð´Ð¾ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾Ñ— Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸: Â«%sÂ».%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� %u Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s (Ñ–Ð½Ð´ÐµÐºÑ� %u)%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: YZ lop_end (%ld) Ð½Ðµ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ñ‚ÐµÑ‚Ñ€Ð°Ð´ Ð´Ð¾ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ lop_stab (%ld)
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� YZ = 1, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ YZ = %d Ð´Ð»Ñ� lop_quote
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� y=0, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ y = %d Ð´Ð»Ñ� lop_fixrx
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 1 Ð°Ð±Ð¾ z = 2, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_fixo
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 1 Ð°Ð±Ð¾ z = 2, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_loc
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 16 Ð°Ð±Ð¾ z = 24, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_fixrx
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¿Ð¾Ð»Ñ� y Ñ– z lop_stab Ñ” Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼Ð¸, y: %d, z: %d
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½Ð°Ð·Ð²Ñƒ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° %d Ð½Ðµ Ð±ÑƒÐ»Ð¾ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð° %d, Â«%sÂ», ÑƒÐ¶Ðµ Ð·Ð´Ñ–Ð¹Ñ�Ð½ÐµÐ½Ð¾ Ð²Ñ…Ñ–Ð´ Ñ�Ðº Ñƒ Â«%sÂ»
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ� $255 Ð½Ðµ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” Â«MainÂ»
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¸Ð¼ Ð±Ð°Ð¹Ñ‚Ð¾Ð¼ Ñ�Ð»Ð¾Ð²Ð° Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 1, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ Ð¶ %d Ð´Ð»Ñ� lop_fixrx
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: lop_end Ð½Ðµ Ñ” Ð¾Ñ�Ñ‚Ð°Ð½Ð½Ñ–Ð¼ Ð·Ð°Ð¿Ð¸Ñ�Ð¾Ð¼ Ñƒ Ñ„Ð°Ð¹Ð»Ñ–
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� lopcode, Â«%dÂ»
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ñ– Ð´Ð°Ð½Ñ– Ð¿Ð¾Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð³Ñ€ÑƒÐ¿: %#Lx%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ».%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ».%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð´Ð»Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ %ld: 0x%lx%08lx
-%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ€Ñ�Ð´ÐºÐ°, %u >= %lu, Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»
-%B: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð´Ð°Ð»ÐµÐºÐ¸Ð¹ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´
-%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð²; 0x%lx > 0xffff%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÑ”Ð¼Ð¾ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ Ð· 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ ÐºÐ¾Ð´Ð¾Ð¼%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð· 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� UltraSPARC-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ‚Ð° HAL-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð· Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¸Ð¼ pic Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ pic%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ñ�Ñ‚Ð°Ð»Ð¸Ð¼ gp Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð·Ñ– Ð·Ð¼Ñ–Ð½Ð½Ð¸Ð¼ gp%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ†Ñ–Ð»Ð¸Ñ… (-mshort), Ð° Ñ€ÐµÑˆÑ‚Ñƒ Ñ„Ð°Ð¹Ð»Ñ–Ð² â€” Ð´Ð»Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ†Ñ–Ð»Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ»%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ (-fshort-double), Ð° Ñ–Ð½ÑˆÑ– â€” Ð´Ð»Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ.%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� HCS12, Ñ–Ð½ÑˆÑ– Ð¶ â€” Ð´Ð»Ñ� HC12%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð· Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-pic ÐºÐ¾Ð´Ñƒ Ñƒ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð· Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¼ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� trap-on-NULL-dereference Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð·Ð°Ñ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ� (trapping)%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð° Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, %A%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð° Ñƒ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%sÂ»%B: Ð½Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %B Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ� XTY_LD Â«%sÂ»%B: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ TLS Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ».%B: Ð½ÐµÐ¼Ð°Ñ” Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð³Ñ€ÑƒÐ¿Ð¸ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A%B: Ð½ÐµÐ¼Ð°Ñ” Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” 0
-%B: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð´Ð»Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�%B: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð³Ñ€ÑƒÐ¿Ð¸%B: Ð½Ðµ-pic ÐºÐ¾Ð´ Ð· Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼ imm Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%B: Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ (%#lx) Ð´Ð»Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ %#Lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ», Ð°Ð»Ðµ Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²%B: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¾Ð¼ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %B%B: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ð´Ð»Ñ� Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ%B: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð»Ñ�Ð½ÐºÐ¸ Ð¿Ð°Ð¼'Ñ�Ñ‚Ñ– Ñƒ _bfd_elf_get_property%B: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ (0x%x)%B: pc-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: pc-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñ�Ð»Ð°Ð±ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð¾Ð±'Ñ”ÐºÑ‚Ð° lto Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ Ð´Ð¾Ð´Ð°Ñ‚Ð¾Ðº%B: Ð¹Ð¼Ð¾Ð²Ñ–Ñ€Ð½Ð¾ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð±ÐµÐ· -fPIC?%B: Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–: %s Ñƒ %A%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–: (Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ) Ñƒ %A%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s:%d Ð½Ðµ Ñƒ csect%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð½ÐµÑ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¸Ð¼ Ñ–Ð½Ð´ÐµÐºÑ�Ð¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: %ld%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ñ… Ð´Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½ÑŒ Ð· %s Ð´Ð¾ %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ %s%sÂ«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%s%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC, Â«%sÂ», Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº: %d%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC Â«%sÂ» Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»Ñ�Ñ”Ñ‚ÑŒÑ�Ñ� %s%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC Â«%sÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ð°Ð±Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� %s; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– x32 Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð¼Ð¾Ð¶Ðµ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÑƒÐ²Ð°Ñ‚Ð¸Ñ�Ñ� Ð·Ð·Ð¾Ð²Ð½Ñ–, Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ R_386_GOTOFF Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— %s Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_386_GOTOFF Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ %s, Â«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ R_X86_64_GOTOFF64 Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— %s Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_X86_64_GOTOFF64 Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ %s, Â«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Â«%A+0x%xÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %B %A%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ», Ð°Ð»Ðµ Ñƒ Ñ†ÑŒÐ¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ð·Ð¼Ñ–Ñ�Ñ‚Ñƒ%B: lma %#Lx Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A Ñ�ÐºÐ¾Ñ€Ð¸Ð³Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð¾ %#Lx%B: Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² Ð·Ð° Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ %ld%B: Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»ÐµÐ½Ð¾ Ñƒ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ– %d%B: Ð·Ð°Ð¿Ð¸Ñ� Ð³Ñ€ÑƒÐ¿Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ñ–Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %u Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾%B: sh_link [%d] Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼%B: sh_link Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» Â«%BÂ»%B: sh_link Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» Â«%BÂ»%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð¾ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð´Ð°Ð½Ð¸Ñ… (0x%lx >= 0x400000)%B: Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Import Library Format Ð¿Ð¾Ð»Ðµ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼%B: Ð·Ð´Ð¾Ð³Ð°Ð´ÐºÐ° Ñ‰Ð¾Ð´Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾Ñ— Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ñ�Ñ‚ÐµÐºÐ° Ñ– Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %s%B: Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– ILF Ñ€Ñ�Ð´Ð¾Ðº Ð½Ðµ Ð·Ð°Ð²ÐµÑ€ÑˆÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼.%B: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð´Ð¾Ð²Ð³Ð¸Ð¹ Ñ€Ñ�Ð´Ð¾Ðº (%d Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð², Ð¼Ð°ÐºÑ�. Ðº-Ñ‚ÑŒ â€” 65535)%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ñ— Ð´Ð¸Ð½Ð°Ð¼Ñ–ÐºÐ¸ Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð³Ð¾ Ñ‚Ð¸Ð¿Ñƒ csect %d%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð³Ð¾ smclas %d%B: Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ», Ð°Ð»Ðµ Ð¹Ð¾Ð³Ð¾ Ð½ÐµÐ¼Ð°Ñ”%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%B: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� (%s) Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� (%s)%B: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²; Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ â€” %ld
-%B: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² (%d)%B: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² %u%B: tp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ„Ñ–ÐºÑ‚Ð¸Ð²Ð½Ð¸Ð¹ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[12], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$5%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[1], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$2%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[1], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$4%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[9], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” __tls_used%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$6%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ .idata$6 Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ”%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ ARM Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX Â«%sÂ»%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ THUMB Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ VFP11 Â«%sÂ»%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %A%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ñ‚Ð°Ð½ Ñ�Ñ‚Ð¸Ñ�ÐºÐ°Ð½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ñ‚Ð°Ð½ Ñ€Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ COMDAT%B: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»%B: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð», Â«%sÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– .opd%B: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– R_PPC64_TOCSAVE%B: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ ATN, %d, Ñƒ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ð¹ Ñ‡Ð°Ñ�Ñ‚Ð¸Ð½Ñ–%B: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð· Ð½ÐµÐ¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð²ÐµÑ€Ñ�Ñ–Ñ—, Â«%sÂ»%B: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, %u, Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– .opd%B: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ñ–Ñ�Ð»Ñ� ATN%B: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ %s%B: Ð½ÐµÑ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ð¹ %s
-%B: Ð½ÐµÑ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� ATI, %u, Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %u%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, 0x%lx%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾Ð³Ð¾ Ñ‚Ð¸Ð¿Ñƒ [%#x], Â«%sÂ»%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿, [%#x], Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ» Ñƒ Ð³Ñ€ÑƒÐ¿Ñ– [%A]%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ð±Ð¾ Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Alpha: %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CR16: %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CRX: %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� I370: %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MCore: %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MN10300: %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MicroBlaze: %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PPC: %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PicoJava: %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� SH: %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� SPU: %d%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� VAX: %d%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (0x%x) Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ»%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», 0x%x%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð²Ð¸ÐºÐ»Ð¸Ðº Ð±ÐµÐ· PIC IFUNC Â«%sÂ»%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %i%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %i
-%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� 0x%02x%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾: ALPHA_R_GPRELHIGH%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾: ALPHA_R_GPRELLOW%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° ÑˆÐ¸Ñ€Ð¾ÐºÐ° Ð¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² 0x%02X 0x%02X Ð¿Ñ–Ñ�Ð»Ñ� Ð½Ð°Ð·Ð²Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ð¿Ð¾Ñ‡Ð¸Ð½Ð°ÑŽÑ‡Ð¸ Ð· Â«%sÂ»
-%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð¾Ð¼ Â«_Â», Ð°Ð»Ðµ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ñ–Ð²%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ� e_flags (%#x) Ð½Ñ–Ð¶ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (%#x)%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ� e_flags (0x%lx) Ð½Ñ–Ð¶ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (0x%lx)%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½ÑˆÑ– Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ– Ð¿Ð¾Ð»Ñ� e_flags (0x%lx) Ð½Ñ–Ð¶ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (0x%lx)%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—, Ñ�ÐºÑ– Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ñ–Ð· Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�Ð¼Ð¸, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¸Ð¼Ð¸ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ…%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«_Â», Ð°Ð»Ðµ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð¼Ð¸ Ð· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð°Ð¼Ð¸ Â«_Â»%B: Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº Ð²ÐµÑ€Ñ�Ñ–Ñ— (%ld) Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ (%ld)%B: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ð²ÑƒÐ·Ð»Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%B: Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð²Ð¸Ð´Ð¸Ð¼Ñ–Ñ�Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ».%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ„Ð°Ð¹Ð» core Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ°: 0x%lx > 0xffff%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð¾ 0x%lx.%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð¾ 0x%x Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ°: 0x%lx > 0xffff%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» COMDAT Â«%sÂ» Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð½Ð°Ð·Ð²Ñ– Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–Ð¹ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð·Ð° vaddr=%#Lx, Ñ‚Ð°Ðº Ñ– Ñ‚Ñ€ÐµÐ±Ð°?%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñ–Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸.%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº GOT %ld Ð´Ð¾ Â«%sÂ» Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð¼Ñƒ Ð´Ð¾Ð´Ð°Ð½ÐºÑƒ GOT %ld%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ð²ÐµÑ€Ñ�Ñ–Ñ— elf, %s Ñ‚Ð° %s.%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ASE Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ABI FP Ð¼Ñ–Ð¶ .gnu.attributes Ñ– .MIPS.abiflags%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ISA Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½ÑŒ ISA Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ�Ñ‚Ð°Ñ€Ñ–ÑˆÑƒ Ð²ÐµÑ€Ñ�Ñ–ÑŽ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð· Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ð¼ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð².%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº PLT %d Ð´Ð¾ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñƒ Ð¿Ð¾Ð»Ñ– flags2 .MIPS.abiflags (0x%lx)%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%sÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ° R_NDS32_25_ABS_RELA Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð°.%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð¼Ð¾Ð³Ð° Ñ‰Ð¾Ð´Ð¾ 0xffff Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ�%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð² Ð´Ð»Ñ� Â«%sÂ»%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ° %d%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %ld Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ñ…%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ 0x%lx Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ° %d%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: isymMax (%ld) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” ifdMax (%d)
-%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð· Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð²%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² PIC Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÑ– Ð½Ðµ Ñ” Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ PIC%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² abicalls Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· abicalls%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ†Ð¸ÐºÐ»ÐµÐ½Ñ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ�Ñ‚ÐµÐ¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %u%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %u%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� SDA_BASE.%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° %#Lx Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ STM32L4XX Ð½Ðµ Ñ” Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¸Ð¼ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ VFP11 Ð½Ðµ Ñ” Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¸Ð¼ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ sh_link Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ»%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ Ð´Ð»Ñ� mmo, Ñ—Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” 65535 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ�Ð»Ð¾Ð²Ð°: %d. Ð‘ÑƒÐ´Ðµ Ð²Ð¸Ð¿ÑƒÑ‰ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Â«MainÂ».
-%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ GOT.%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…. Ð—Ð°Ð¿Ð¸Ñ�: {%d, %d, %d}, Ð°Ð´Ñ€ÐµÑ�Ð° = 0x%x, Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� = 0x%x.%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI, %d%B: Ð½Ðµ Ð±ÑƒÐ´Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS Ñƒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–%B:%A%s Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸
-%B:%A: %s Ñ– %s Ð¼Ð°ÑŽÑ‚ÑŒ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð¾Ð´Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…%B:%A: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ð¸Ð¹ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Red Hat %B:%A: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s, Ñ�ÐºÐ¸Ð¹ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¾ Ð·Ð°Ñ�Ð¾Ð±Ð¾Ð¼ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ñ�Ð¼Ñ–Ñ‚Ñ‚Ñ�.%B:%A: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ --gc-keep-exported.%B:%A: Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð½ÐµÐ¼Ð°Ñ” Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ %s%B:%A: Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð° Ð²Ñ�ÐµÑ€ÐµÐ´Ð¸Ð½Ñ– Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ–%B:%A: Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð¿Ð¾Ð·Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÐµÑŽ%B:%d: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð° Ñ�ÑƒÐ¼Ð° Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² S
-%B:%d: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² S
-%B:%d: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² %d Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¾ÑŽ
-%B:%d: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%B:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð° Ñ�ÑƒÐ¼Ð° Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel (Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� %u, Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ %u)%B:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%B:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð»Ñ–Ð½Ñ–Ð¹Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%B:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð»Ñ–Ð½Ñ–Ð¹Ð½Ð¾Ñ— Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%B:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%B:%u: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ ihex %u Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%C: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Â«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ–Ð½ÑˆÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚
-%F%A: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ñ‚Ð¸ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€
-%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ñ�ÑƒÐ²Ñƒ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ PC Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT GOT Ð´Ð»Ñ� Â«%sÂ»
-%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ñ�ÑƒÐ²Ñƒ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ PC Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT Ð´Ð»Ñ� Â«%sÂ»
-%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� Ð³Ñ–Ð»Ð¾Ðº Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT Ð´Ð»Ñ� Â«%sÂ»
+Ð’Ñ…Ñ–Ð´ Ð´Ð¾ %03x %*.s: %C: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Â«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ–Ð½ÑˆÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚
 %F%P: already_linked_table: %E
 %F%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð°Ð²Ñ‚Ð¾Ð½Ð°ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ�: %E
 %F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ð½Ð°ÐºÐ»Ð°Ð´Ð½Ñ– ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸: %E
-%F%P: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ñ– Ð²Ñ…Ñ–Ð´Ð½Ñ– Ð´Ð°Ð½Ñ–: %B
-%F%P: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» STT_GNU_IFUNC Â«%sÂ» Ð· Ñ€Ñ–Ð²Ð½Ñ–Ñ�Ñ‚ÑŽ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² Ñƒ Â«%BÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°; Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ñƒ ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñ�Ñ†Ñ–ÑŽ Ð· -fPIE Ñ– Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� -pie
-%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT BND
-%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT BND
-%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð»Ð°Ñ�Ñ‚Ð¸Ð²Ð¾Ñ�Ñ‚ÐµÐ¹ GNU
-%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT GOT
-%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT GOT
-%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ GOT
-%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT Ñ–Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ IBT
-%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT
-%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ VxWorks
-%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ ifunc
+%F%P: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ñ– Ð²Ñ…Ñ–Ð´Ð½Ñ– Ð´Ð°Ð½Ñ–: %pB
+%F%P: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» STT_GNU_IFUNC Â«%sÂ» Ð· Ñ€Ñ–Ð²Ð½Ñ–Ñ�Ñ‚ÑŽ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² Ñƒ Â«%pBÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°; Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ñƒ ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñ�Ñ†Ñ–ÑŽ Ð· -fPIE Ñ– Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� -pie
+%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOTPCREL; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ¹Ñ‚Ðµ Ð· --no-relax
+%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT BND
+%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð»Ð°Ñ�Ñ‚Ð¸Ð²Ð¾Ñ�Ñ‚ÐµÐ¹ GNU
+%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT GOT
+%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT GOT
+%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ GOT
+%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT Ñ–Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ IBT
+%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT
+%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ VxWorks
+%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ ifunc
+%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð´Ñ€ÑƒÐ³Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT
+%F%pA: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ñ‚Ð¸ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€
+%F%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ñ�ÑƒÐ²Ñƒ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ PC Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT GOT Ð´Ð»Ñ� Â«%sÂ»
+%F%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ñ�ÑƒÐ²Ñƒ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ PC Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT Ð´Ð»Ñ� Â«%sÂ»
+%F%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� Ð³Ñ–Ð»Ð¾Ðº Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT Ð´Ð»Ñ� Â«%sÂ»
 %H __tls_get_addr Ð²Ñ‚Ñ€Ð°Ñ‡ÐµÐ½Ð¾ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚, Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–ÑŽ TLS Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð¾
 %H: Ñƒ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” __tls_get_addr, Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–ÑŽ TLS Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð¾.
-%H: %s Ñ‰Ð¾Ð´Ð¾ Â«%TÂ»: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d
-%H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ð´Ð»Ñ� Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%TÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
+%H: %s Ñ‰Ð¾Ð´Ð¾ Â«%pTÂ»: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d
+%H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ð´Ð»Ñ� Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%pTÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
+%H: %s Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼
 %H: %s Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° ÑƒÑ�ÑƒÐ½ÑƒÑ‚Ð¸Ð¹ Ñƒ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñ– Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð·Ð°Ð¿Ð¸Ñ� TOC
 %H: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ»: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d
-%H: %s Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼
-%H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ°Ñ… Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ– PIE.
-%H: %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ TLS Â«%TÂ»
-%H: %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð¿Ð¾Ð·Ð° TLS Â«%TÂ»
-%H: R_FRV_FUNCDESC Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼
-%H: R_FRV_FUNCDESC_VALUE Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼
+%H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ°Ñ… Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ– PIE
+%H: %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ TLS Â«%pTÂ»
+%H: %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð¿Ð¾Ð·Ð° TLS Â«%pTÂ»
 %H: R_FRV_GETTLSOFF Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ (call)
 %H: R_FRV_GETTLSOFF_RELAX Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ calll
 %H: R_FRV_GOTTLSDESC12 Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ lddi
@@ -1081,13 +1025,12 @@ X-Generator: Lokalize 1.5
 %H: R_FRV_TLSDESC_RELAX Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ ldd
 %H: R_FRV_TLSMOFFHI Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ sethi
 %H: R_FRV_TLSOFF_RELAX Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ ld
-%P: %H: Ñƒ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ Â«%TÂ» Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” nop, Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� toc Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ (-mcmodel=small Ð´Ð»Ñ� ÐºÐ¾Ñ€Ð¸Ð³ÑƒÐ²Ð°Ð½Ð½Ñ� ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°)
-%H: Ñƒ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ Â«%TÂ» Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” nop, Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� toc Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ; Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð· -fPIC
+%P: %H: Ñƒ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ Â«%pTÂ» Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” nop, Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� toc Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ (-mcmodel=small Ð´Ð»Ñ� ÐºÐ¾Ñ€Ð¸Ð³ÑƒÐ²Ð°Ð½Ð½Ñ� ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°)
+%H: Ñƒ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ Â«%pTÂ» Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” nop, Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� toc Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ; Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð· -fPIC
 %H: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�
 %H: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ñƒ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�
 %H: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s Ð´Ð»Ñ� Â«%sÂ» Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ %u
 %H: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ %u
-%H: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s Ñ–Ð· Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾ÑŽ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ %x
 %H: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ñ–Ð· Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾ÑŽ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¾ÑŽ
 %H: Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ñ‚Ð¾Ðº Ð´Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ»
 %H: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ–Ð½ÑˆÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚
@@ -1095,69 +1038,85 @@ X-Generator: Lokalize 1.5
 %H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
 %H: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð», Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ–
 %H: Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ� Ð¿Ñ€Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ, Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ðµ Ð²Ð¸Ñ‰Ðµ, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ñ�Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½ÐµÐ½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼ Ð´Ð¾ Â«%s+%vÂ»
-%H: Ð´Ð»Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— toc.
-%H: Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ %s Ñ‰Ð¾Ð´Ð¾ Â«%TÂ»
+%H: Ð´Ð»Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— toc
+%H: Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ %s Ñ‰Ð¾Ð´Ð¾ Â«%pTÂ»
 %H: Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»
+%H: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s, Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� %#x.
 %P%F: --relax Ñ– -r Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾
-%P%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ Ñ…ÐµÑˆÑ–Ð² ex9.it %s: %E
 %P%X: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸: %E
 %P%X: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� IFUNC. Ð¡Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ð· -fPIC
-%P%X: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�.
-%P: .opd %B Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ— ABI %d
-%P: %B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ð´Ð»Ñ� Â«%TÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
-%P: %B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� %s
-%P: %B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s Ñ‰Ðµ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
-%P: %B: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� (%s) Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� (%s)
-%P: %B: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�
-%P: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, %d, Ð´Ð»Ñ� Â«%TÂ»
-%P: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s
-%P: %B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ñƒ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ»
-%P: %B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Â«%AÂ»
-%P: %s Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÑƒ, Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾Ð¼Ñƒ %s
-%P: Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ %s Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ Ð´Ð»Ñ� ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� sdata4 .eh_frame%P: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ñƒ .eh_frame_hdr.
-%P: .eh_frame_hdr Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° FDE, Ñ�ÐºÑ– Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°ÑŽÑ‚ÑŒÑ�Ñ�.
-%P: DW_EH_PE_datarel Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ†Ñ–Ñ”Ñ— Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸.
-%P: ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� FDE Ñƒ %B(%A) Ð¿ÐµÑ€ÐµÑˆÐºÐ¾Ð´Ð¶Ð°Ñ” Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½ÑŽ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– .eh_frame_hdr.
-%P: Ð¿Ð¾Ð´Ð°Ð»ÑŒÑˆÑ– Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� FDE, Ñ�ÐºÐµ Ð·Ð°Ð²Ð°Ð¶Ð°Ñ” Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½ÑŽ .eh_frame_hdr, Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð¾.
-%P: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ð¸Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð¸Ð¹ ÐºÐ¾Ð´ ELF (%d) Ñƒ %B, Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� %d
-%P: Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼ Ð¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ bss-plt
-%P: Ð¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ bss-plt Ñ‡ÐµÑ€ÐµÐ· %B
-%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ð¾Ð±ÑƒÐ´ÑƒÐ²Ð°Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Â«%sÂ»
-%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Â«%sÂ»
-`%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� opd Ñƒ toc Ð´Ð»Ñ� Â«%TÂ»
-%P: ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%TÂ» Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð²Ñ–Ð´ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� plt; Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÑŽÐ¹Ñ‚Ðµ LD_BIND_NOW=1 Ð°Ð±Ð¾ Ð¾Ð½Ð¾Ð²Ñ–Ñ‚ÑŒ gcc
-%P: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼ Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ð³Ð¾ Â«%TÂ» Ñ” Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¸Ð¼
-%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñƒ Ð¾Ð±Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ– Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� %B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A
-%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ %B(%A); Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ .eh_frame_hdr Ð½Ðµ Ð±ÑƒÐ´Ðµ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾.
-%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%TÂ»
-%P: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° Ð´Ð¾Ð²Ð³Ð¾Ñ— Ð³Ñ–Ð»ÐºÐ¸, Â«%sÂ»
-%P: Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð¾Ñ‡Ð¾Ðº Ð²Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… %B Ñ– %B
+%P%X: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�
+%P: %H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� bss-plt Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
+%P: %H: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s Ñ–Ð· Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾ÑŽ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ %x
+%P: %pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ð´Ð»Ñ� Â«%pTÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
+%P: %pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ñƒ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ»
+%P: %pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Â«%pAÂ»
+`%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� opd Ñƒ toc Ð´Ð»Ñ� Â«%pTÂ»
+%P: ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%pTÂ» Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð²Ñ–Ð´ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� plt; Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÑŽÐ¹Ñ‚Ðµ LD_BIND_NOW=1 Ð°Ð±Ð¾ Ð¾Ð½Ð¾Ð²Ñ–Ñ‚ÑŒ gcc
+%P: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼ Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ð³Ð¾ Â«%pTÂ» Ñ” Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¸Ð¼
+%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%pTÂ»
+%P: Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð¾Ñ‡Ð¾Ðº Ð²Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… %pB Ñ– %pB
 %P: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–Ñ�Ñ‚ÑŽ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
-%P: ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸ Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°ÑŽÑ‚ÑŒ Ð¾Ð±Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ
-%P: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¼Ð°Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� st_other Ð´Ð»Ñ� Ð²ÐµÑ€Ñ�Ñ–Ñ— ABI 1
-%P: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑ”Ð¼Ð¾ DT_TEXTREL Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�.
+%P: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑ”Ð¼Ð¾ DT_TEXTREL Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�
 %P: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‚ÐµÐºÑ�Ñ‚Ñƒ Ñ– Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¸Ñ… Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ GNU Ð¼Ð¾Ð¶Ðµ Ð¿Ñ€Ð¸Ð·Ð²ÐµÑ�Ñ‚Ð¸ Ð´Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ— Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð°Ð¿ÑƒÑ�ÐºÑƒ
 %X%C: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Â«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ–Ð½ÑˆÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚
 %X%H: Ð²Ð¸ÐºÐ»Ð¸Ðº @local ifunc %s
 %X%H: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÑŽÐ²Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð¼Ñ–Ð¶ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA Ð½Ð° JALX: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ
 %X%H: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ JALX Ð´Ð¾ Ñ‚Ð¾Ð³Ð¾ Ñ�Ð°Ð¼Ð¾Ð³Ð¾ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ ISA
 %X%H: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð¼Ñ–Ð¶ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA
-%X%H: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð¼Ñ–Ð¶ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA; Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ Ð²Ð·Ð°Ñ”Ð¼Ð½Ð¸Ð¼ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼
 %X%H: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° bss-plt -fPIC ifunc %s
-%X%P: %B(%A): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð·Ñ�ÑƒÐ²Ñƒ %V Ð½Ðµ Ð¼Ð°Ñ” Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�
-%X%P: %B(%A): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%RÂ» Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ
-%X%P: %B(%A): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%RÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
-%X%P: %B(%A): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%RÂ» Ð¿Ð¾Ð²ÐµÑ€Ñ‚Ð°Ñ” Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %x
-%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %A Ð½Ðµ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ€Ñ�Ð´ÐºÐ° ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�.
-%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %A Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð·Ð° Ñ€Ñ�Ð´Ð¾Ðº ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�.
-%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %A Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�.
-%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸, Ñ‰Ð¾ Ð½Ð°ÐºÐ»Ð°Ð´Ð°ÑŽÑ‚ÑŒÑ�Ñ�, %A Ñ– %A, Ð½Ðµ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ð¾Ð´Ð½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ.
+%X%H: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð¼Ñ–Ð¶ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA; Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ Ð²Ð·Ð°Ñ”Ð¼Ð½Ð¸Ð¼ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼
+%X%P: %pB(%pA): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð·Ñ�ÑƒÐ²Ñƒ %V Ð½Ðµ Ð¼Ð°Ñ” Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�
+%X%P: %pB(%pA): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%pRÂ» Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ
+%X%P: %pB(%pA): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%pRÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
+%X%P: %pB(%pA): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%pRÂ» Ð¿Ð¾Ð²ÐµÑ€Ñ‚Ð°Ñ” Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %x
+%X%P: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ
+%X%P: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°
+%X%P: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�
+%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %pA Ð½Ðµ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ€Ñ�Ð´ÐºÐ° ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�
+%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %pA Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð·Ð° Ñ€Ñ�Ð´Ð¾Ðº ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�
+%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %pA Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�
+%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸, Ñ‰Ð¾ Ð½Ð°ÐºÐ»Ð°Ð´Ð°ÑŽÑ‚ÑŒÑ�Ñ�, %pA Ñ– %pA, Ð½Ðµ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ð¾Ð´Ð½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ
 %X%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ Ñ�Ñ‚ÐµÐºÐ°/lrlive: %E
 %X%P: Ð¿Ð¾Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‚ÐµÐºÑ�Ñ‚Ñƒ Ñ– Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¸Ñ… Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ GNU Ð¿Ñ€Ð¸Ð·Ð²ÐµÐ´Ðµ Ð´Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ— Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð°Ð¿ÑƒÑ�ÐºÑƒ
-Ð�Ð° %XÂ«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» %B: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» %B
-%s Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– toc%s Ð´ÑƒÐ±Ð»ÑŒÐ¾Ð²Ð°Ð½Ð¾
+Ð�Ð° %XÂ«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» %pB: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ» %pB
+%pA Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ [Â«%pAÂ» Ñƒ %pB] Ñ– Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ [Â«%pAÂ» Ñƒ %pB] Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸%pA Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ– Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸%pA:0x%v .brinfo lrlive (%u) Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�Ñ”Ñ‚ÑŒÑ�Ñ� Ð²Ñ–Ð´ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ ÑˆÐ»Ñ�Ñ…Ð¾Ð¼ Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ (%u)
+%pA:0x%v Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹
+%pB (%s): Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s (%#lx) Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾.opd %pB Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ— ABI %d%pB Ñ– %pB Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ€Ñ–Ð·Ð½Ð¸Ñ… ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹%pB Ñ– %pB Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ�Ð´ÐµÑ€Ñƒ %pB Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´ v32 CRIS, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸Ñƒ %pB Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ñ” ÐºÐ¾Ð´Ð¾Ð¼ v32 CRIS, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸Ð´Ð»Ñ� %pB Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð¾Ð±Ð¸Ð´Ð²Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Tag_MPextension_use, current Ñ– legacy%pB Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ‚Ð¸ %sÐ Ð¾Ð·Ð´Ñ–Ð» %pB, %pA, Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð³Ñ€ÑƒÐ¿Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñ–Ð²%pB Ð½Ð¾Ð¼ÐµÑ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %lu Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð» SHT_SYMTAB_SHNDX, Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”%pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� e_flags 0x%lx%pB(%pA): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸ÐºÐ»Ð¸Ðº Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ»%pB(%pA): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%pB(%pA): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ%pB(%pA): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°%pB(%pA): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%pB(%pA): Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð²Ð»Ð°Ñ�Ñ‚Ð¸Ð²Ð¾Ñ�Ñ‚ÐµÐ¹%pB(%pA): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ñ… Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ TLS Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%pB(%pA): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, %ld%pB(%pA): Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� %s%pB(%pA): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð´Ð¾Ð²Ð³Ð¸Ñ… Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ñ… Ð³Ñ–Ð»Ð¾Ðº Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð°Ñ… Ñ–Ð· Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ SHF_ARM_PURECODE Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ†Ñ–Ð»ÐµÐ¹ Ð· Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÐµÐ¼ M, Ñƒ Ñ�ÐºÐ¸Ñ… Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ movw.%pB(%pA): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ…%pB(%pA): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñƒ %d%pB(%pA+%#lx): Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– stabs Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ€Ñ�Ð´ÐºÐ°%pB(%pA+%#x): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½ÑŒ Ñƒ Ð½ÐµÐ¾Ñ�Ñ‚Ð°Ð½Ð½Ñ–Ð¹ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ð±Ð»Ð¾ÐºÑƒ IT: Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾. Ð¡ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ gcc -mrestrict-it, Ñ‰Ð¾Ð± Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð¾Ð´Ð½Ñƒ  Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ð½Ð° Ð±Ð»Ð¾Ðº IT.%pB(%pA+0x%lx): Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð¸Ð»ÑŽ 16A Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— 0x%08x%pB(%pA+0x%lx): Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð¸Ð»ÑŽ 16D Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— 0x%08x%pB(%pA+0x%v): Ð²Ð¸ÐºÐ»Ð¸Ðº Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ ÐºÐ¾Ð´, %pB(%pA), Ð°Ð½Ð°Ð»Ñ–Ð· Ñ” Ð½ÐµÐ¿Ð¾Ð²Ð½Ð¸Ð¼
+%pB(%s): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ð½Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾; Ð¿ÐµÑ€ÑˆÐ° Ð·Ð³Ð°Ð´ÐºÐ°: %pB: Ð²Ð¸ÐºÐ»Ð¸Ðº %s Ð´Ð¾ %s%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA:
+  Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ñ” ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼ Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–; Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾ÑŽ Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½Ð¾ÑŽ Ñ” ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð², Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ñ–Ð»ÑŽÐ¹Ñ‚Ðµ Ð· -fPIC%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½ÐµÐ¼Ð°Ñ” PLT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½ÐµÐ¼Ð°Ñ” Ð½Ñ– PLT, Ð½Ñ– GOT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– %s Ñ” Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Â«%sÂ», Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾, Ð°Ð´Ñ€ÐµÑ�Ð½Ð° Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ° Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ�?%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ–Ð· Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾ÑŽ Ð²Ð¸Ð´Ð¸Ð¼Ñ–Ñ�Ñ‚ÑŽ. ÐœÐ¾Ð¶Ð»Ð¸Ð²Ð¾, Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ–?%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: Â«%sÂ»%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ð·Ð° Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ. ÐœÐ¾Ð¶Ð»Ð¸Ð²Ð¾, Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ–?%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA:
+  Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ñ�Ð»Ñ–Ð´ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ñ–Ð»ÑŽÐ¹Ñ‚Ðµ Ð· -fPIC%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð±ÐµÐ· Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾Ð³Ð¾ GOT%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð¾Ð±â€™Ñ”ÐºÑ‚ Ð²ÐµÑ€Ñ�Ñ–Ñ— 10/32 Ð½Ðµ Ð¿Ð¾Ð²Ð¸Ð½ÐµÐ½ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PIC%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ñ�Ð»Ñ–Ð´ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ñ–Ð»ÑŽÐ¹Ñ‚Ðµ Ð· -fPIC%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� !samegp Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð±ÐµÐ· .prologue: %s%pB: %pA Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…%pB: %pA Ñ” Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¼%pB: %pA Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ñ‚ÐµÐºÑ�Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ%pB: %pA: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %#x > 0xffff%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ� %s Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼%pB: %s Ð½Ðµ Ñ” Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%pB: %s: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ñ— Ð²ÐµÑ€Ñ�Ñ–Ñ— %d%pB: %s: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ�, %u (Ð¼Ð°ÐºÑ�Ð¸Ð¼ÑƒÐ¼ â€” %d)%pB: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: 0x%lx > 0xffff'%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ --in-implib Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐº Secure Gateway%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� .gnu.version_d%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� .gnu.version_r%pB: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿Ñ–Ð´Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° .got Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” 64ÐºÐ‘ (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ â€” %d)%pB: .opd Ð½Ðµ Ñ” Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ð¼ Ð¼Ð°Ñ�Ð¸Ð²Ð¾Ð¼ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² opd%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .preinit_array Ñƒ DSO%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» .rsrc%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ .rsrc%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� @gprel Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%pB: Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� @internal Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� @pcrel Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%pB: ABI Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· ABI Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾Ñ— ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—%pB: ABI Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ñ–Ð· Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾ÑŽ ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ”ÑŽ:
+  Ñ†Ñ–Ð»ÑŒ ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—, Â«%sÂ», Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Â«%sÂ»%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ABI: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%pB: Ð²ÐµÑ€Ñ�Ñ–Ñ� ABI %ld Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾ÑŽ Ð· Ð²ÐµÑ€Ñ�Ñ–Ñ”ÑŽ ABI %ld Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñƒ%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ASE: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%pB: Ð¾Ð±Ñ€Ð°Ð·Ð¸ BE8 Ñ” Ñ‡Ð¸Ð½Ð½Ð¸Ð¼Ð¸ Ð»Ð¸ÑˆÐµ Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– big-endian%pB: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ð°Ð½Ð¸Ñ… (%#lx) Ñ” Ð²Ñ–Ð´'Ñ”Ð¼Ð½Ð¸Ð¼%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼%pB: Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– GNU_MBIN Â«%pAÂ» Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ sh_info: %d%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� GOT: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð· 8- Ð°Ð±Ð¾ 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ > %d%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� GOT: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð· 8-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ > %d%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð² Ð²ÐµÐºÑ‚Ð¾Ñ€Ñ–Ð² ISR Ñ–Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ– Ñ” %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸, Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ– Ñ” %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð¼Ñƒ ELF (EM: %d)%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ SB, Ð°Ð»Ðµ __c6xabi_DSBT_BASE Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾%pB: Ñ€Ð¾Ð·Ð´Ñ–Ð» SHT_GROUP [Ñ–Ð½Ð´ÐµÐºÑ� %d] Ð½Ðµ Ð¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² SHF_GROUP%pB: Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹ ÐºÐ¾Ð´ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ TLS Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%pB: Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ TLS Ð½Ðµ Ñ” Ñ�ÑƒÑ�Ñ–Ð´Ð½Ñ–Ð¼Ð¸:%pB: Ð¿ÐµÑ€ÑˆÐ¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ñƒ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ– PT_DYNAMIC Ð½Ðµ Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ .dynamic%pB: Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚ XCOFF, Ñ…Ð¾Ñ‡Ð° Ð´Ð°Ð½Ñ– XCOFF Ð½Ðµ Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑŽÑ‚ÑŒÑ�Ñ�%pB: __gp Ð½Ðµ Ð²ÐºÑ€Ð¸Ð²Ð°Ñ” ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° Ð´Ð°Ð½Ð¸Ñ…%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ FDPIC, Ñ‚Ð°Ðº Ñ– Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ FDPIC%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ‚Ð°Ðº Ñ– Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%pB: Â«%sÂ» Ñ– Ñ—Ñ— Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°ÑŽÑ‚ÑŒ Ñƒ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð°Ñ….%pB: Â«%sÂ» Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½Ð¾Ð¼ÐµÑ€Ð¸ Ñ€Ñ�Ð´ÐºÑ–Ð², Ð°Ð»Ðµ Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ%pB: Â«%sÂ» Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð°, Ð°Ð»Ðµ Ð½Ðµ Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ñ… Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-PLT Â«%sÂ» Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñƒ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÑ†Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�, Ñ– Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð³Ð¾ Ð· Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° (Ñ�Ð»Ñ–Ð´ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ñ„Ð°Ð¹Ð» Ñ–Ð· -fPIC ?)%pB: Ð½ÐµÐ¼Ð°Ñ” Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ».%pB: Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº aout Ð²ÐºÐ°Ð·ÑƒÑ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ñƒ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ð°Ð½Ð¸Ñ…: %ld%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸%pB: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ–Ð· Ð½ÐµÑ€Ñ�Ð´ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (Ð½Ð¾Ð¼ÐµÑ€ %d)%pB: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ�ÑƒÐ¼Ñ–Ñˆ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–Ð² FDPIC Ñ– Ð½Ðµ-FDPIC%pB: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð²Ð¸Ð¿Ð¸Ñ�Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%pB: Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %d%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð½Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%sÂ»%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ ihex_read_section%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: Â«MainÂ» Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ñƒ %s, Ð° Ð½Ðµ Ñƒ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ %s
+%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: %d%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð°-Ð¿Ð»ÑŽÑ�-Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ: %s Ñƒ %pA%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð°-Ð¿Ð»ÑŽÑ�-Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ: (Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ) Ñƒ %pA%pB: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² a.out Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ%pB: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² a.out Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ RVE Ñ–Ð· Ñ–Ð½ÑˆÐ¾ÑŽ Ñ†Ñ–Ð»Ð»ÑŽ%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ– Ñ–Ð· Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾ÑŽ Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ñ–Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ Ñ–Ð· Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾ÑŽ Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d, %d Ð±Ð°Ð¹Ñ‚Ñ–Ð²
+%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� %s%pB: Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ° Ñ�Ñ‚Ð¸Ñ�Ð½ÑƒÑ‚Ð¸Ñ… Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Alpha Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð°. Ð¡ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ�Ð¼Ð¸ ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñ�Ñ‚Ð¾Ñ€Ð° Ð°Ð±Ð¾ objZ Ð´Ð»Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð½ÐµÑ�Ñ‚Ð¸Ñ�Ð½ÐµÐ½Ð¸Ñ… Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð².%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» fdpic Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ-fdpic%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» Ð½Ðµ-fdpic Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° fdpic%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð¸ %s Ñ‚Ð° %s%pB: Ð·Ð¼Ñ–Ð½Ð° Ñƒ gp: BRSGP %s%pB: ÐºÐ»Ð°Ñ� %d, Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¼Ð°Ñ” Ð´Ð¾Ð¿Ð¾Ð¼Ñ–Ð¶Ð½Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð²%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ %s -mtune=%s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ %s -mtune=%s%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ñ— Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸, Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¾ÑŽ Ð¶ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ” 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð°%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸ Ð· Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð², Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð° Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸ Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð², Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð° Ð·Ñ– Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ð· -mrelocatable%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· %s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ð· %s%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· %s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñƒ Ñ�ÐºÐ¸Ñ… Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-pic%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· -mrelocatable Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %pA Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %pA%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ»
+%pB: csect Â«%sÂ» Ð½Ðµ Ñƒ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–%pB: Ð±ÐµÐ·Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%pB: Ð±ÐµÐ·Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT R_386_GOT32X Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%pB: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñƒ LOCAL Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð·Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼Ð¸ Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ñ… Ð°Ð±Ð¾ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼Ð¸%pB: dtp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%pB: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� %s%pB: Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð¼Ð°Ñ” Ñ–Ð½ÑˆÐ¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚
+%pB: Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð¼Ð°Ñ” Ñ–Ð½ÑˆÐ¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€
+%pB: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚ Ð±ÐµÐ· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .loader%pB: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%pTÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ», Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�
+%pB: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ», Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�
+%pB: Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾Ñ— ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—%pB: Ð²Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ñ” Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾ÑŽ%pB: Ð²Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ð´Ð°Ð½Ð¸Ñ…%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ABI Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Cortex-A8 Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÐ¾Ð²Ð°Ð½Ð¾ Ð·Ð° Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Cortex-A8 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ PHDR Ð½Ðµ Ð¿Ð¾ÐºÑ€Ð¸Ð²Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¾Ð¼ LOAD%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÐ° VFP11 Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�Ñ‚ÐµÐ¿Ñ–Ð½ÑŒ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %d Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Â«%pAÂ» Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ: %#llx%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ñ– Ð´Ð°Ð½Ñ– Ð·Ð°Ð²ÐµÑ€ÑˆÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ 835769 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ 843419 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð½Ð°Ð±Ð¾Ñ€Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼ ÐºÐ¾Ð¼Ð°Ð½Ð´ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð²%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Â«%sÂ»; Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¾Ðº %s Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ñƒ Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð»%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ %d Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ” Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñ„Ð°Ð¹Ð»Ð° Ñ–/Ð°Ð±Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: search_nds32_elf_blank Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»Ñ�Ñ” Ð¿Ñ€Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²ÑƒÐ·Ð¾Ð»%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– COMDAT%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI, %d%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð·Ð²â€™Ñ�Ð·ÐºÑ–Ð² Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÑƒ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…%pB: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð´Ð¾ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ%pB: ÐºÐ»Ð°Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² %s Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· %s%pB: gp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%pB: Ð³Ñ€ÑƒÐ¿Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð´Ð°Ð½Ð¸Ñ…%pB: Ð½Ð° Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %pB Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO%pB: Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾%pB: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ»
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð½Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Â«%pAÂ»%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %ld Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ñ…%pB: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ñ‚Ð¸Ð¿Ð¸ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€. Ð’Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� â€” 0x%x. Ð’Ñ…Ñ–Ð´Ð½Ñ– Ð´Ð°Ð½Ñ– â€” 0x%x%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%pB: Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ» Ñ” Ñ†Ð¸ÐºÐ»Ð¾Ð¼%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð½Ð°Ð±Ð¾Ñ€Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼ ÐºÐ¾Ð¼Ð°Ð½Ð´ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð²%pB: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ ihex_read_section%pB: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², %pA, Ð¼Ñ–Ñ�Ñ‚Ð¸Ð² Ð´Ð°Ð½Ñ–
+%pB: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð· %d Ð´Ð¾ %d Ñ�Ð»Ñ–Ð²
+%pB: Ð½Ð° Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %pB Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO%pB: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– SHT_GROUP [%u]%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸: Â«%sÂ»; Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼, Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¼ Ñ– Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ‚Ð¸Ñ�Ñ� Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Thumb.%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� %u Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s (Ñ–Ð½Ð´ÐµÐºÑ� %u)%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: YZ lop_end (%ld) Ð½Ðµ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ñ‚ÐµÑ‚Ñ€Ð°Ð´ Ð´Ð¾ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ lop_stab (%ld)
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� YZ = 1, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ YZ = %d Ð´Ð»Ñ� lop_quote
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� y=0, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ y = %d Ð´Ð»Ñ� lop_fixrx
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 1 Ð°Ð±Ð¾ z = 2, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_fixo
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 1 Ð°Ð±Ð¾ z = 2, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_loc
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 16 Ð°Ð±Ð¾ z = 24, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_fixrx
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¿Ð¾Ð»Ñ� y Ñ– z lop_stab Ñ” Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼Ð¸, y: %d, z: %d
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½Ð°Ð·Ð²Ñƒ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° %d Ð½Ðµ Ð±ÑƒÐ»Ð¾ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð° %d, Â«%sÂ», ÑƒÐ¶Ðµ Ð·Ð´Ñ–Ð¹Ñ�Ð½ÐµÐ½Ð¾ Ð²Ñ…Ñ–Ð´ Ñ�Ðº Ñƒ Â«%sÂ»
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ� $255 Ð½Ðµ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” Â«MainÂ»
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¸Ð¼ Ð±Ð°Ð¹Ñ‚Ð¾Ð¼ Ñ�Ð»Ð¾Ð²Ð° Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 1, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ Ð¶ %d Ð´Ð»Ñ� lop_fixrx
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: lop_end Ð½Ðµ Ñ” Ð¾Ñ�Ñ‚Ð°Ð½Ð½Ñ–Ð¼ Ð·Ð°Ð¿Ð¸Ñ�Ð¾Ð¼ Ñƒ Ñ„Ð°Ð¹Ð»Ñ–
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� lopcode, Â«%dÂ»
+%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ sh_link (%d) Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»; Ñ†Ðµ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ñ— Ð°Ð±Ð¾ Ñ�Ð»Ð°Ð±ÐºÐ¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»; Ñ†Ðµ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¹ (global) Ð°Ð±Ð¾ Ñ�Ð»Ð°Ð±ÐºÐ¸Ð¹ (weak) Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—.%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»
+%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð²; 0x%lx > 0xffff%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÑ”Ð¼Ð¾ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ Ð· 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ ÐºÐ¾Ð´Ð¾Ð¼%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð· 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� UltraSPARC-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ‚Ð° HAL-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð· Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¸Ð¼ pic Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ pic%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ñ�Ñ‚Ð°Ð»Ð¸Ð¼ gp Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð·Ñ– Ð·Ð¼Ñ–Ð½Ð½Ð¸Ð¼ gp%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ†Ñ–Ð»Ð¸Ñ… (-mshort), Ð° Ñ€ÐµÑˆÑ‚Ñƒ Ñ„Ð°Ð¹Ð»Ñ–Ð² â€” Ð´Ð»Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ†Ñ–Ð»Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ»%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ (-fshort-double), Ð° Ñ–Ð½ÑˆÑ– â€” Ð´Ð»Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ.%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� HCS12, Ñ–Ð½ÑˆÑ– Ð¶ â€” Ð´Ð»Ñ� HC12%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð· Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-pic ÐºÐ¾Ð´Ñƒ Ñƒ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð· Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¼ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� trap-on-NULL-dereference Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð·Ð°Ñ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ� (trapping)%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð° Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, %pA%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð° Ñƒ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%sÂ»%pB: Ð½Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %pB Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO%pB: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€Ñ–Ð² Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ” NULL Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð°Ñ�Ñ‚Ð¾Ñ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%pB: Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ– Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ�%pB: Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ– Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ�%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ� XTY_LD Â«%sÂ»%pB: Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ðµ OMIT_FP Ñƒ %pA.%pB: Ð½ÐµÐ¼Ð°Ñ” Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¾ÑŽ %d Ð±Ð°Ð¹Ñ‚Ñ–Ð²%pB: Ð½ÐµÐ¼Ð°Ñ” Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð½Ð°Ð·Ð²Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s%pB: Ð½ÐµÐ¼Ð°Ñ” Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð³Ñ€ÑƒÐ¿Ð¸ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ»%pB: Ð½ÐµÐ¼Ð°Ñ” Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” 0
+%pB: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð´Ð»Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�%pB: Ð½ÐµÐ¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð· Ð²ÐµÑ€Ñ�Ñ–Ñ”ÑŽ Â«%sÂ»%pB: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð³Ñ€ÑƒÐ¿Ð¸%pB: Ð½Ðµ-pic ÐºÐ¾Ð´ Ð· Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼ imm Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%pB: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¼Ñ–Ñ�Ñ†Ñ� Ð´Ð»Ñ� Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑ–Ð² Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸, Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· -N%pB: Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾ÑŽ STT_REGISTER Ð¼Ð¾Ð¶Ð½Ð° Ð¾Ð³Ð¾Ð»Ð¾ÑˆÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ %%g[2367]%pB: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ð´Ð»Ñ� Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ%pB: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð»Ñ�Ð½ÐºÐ¸ Ð¿Ð°Ð¼'Ñ�Ñ‚Ñ– Ñƒ _bfd_elf_get_property%pB: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ (0x%x)%pB: pc-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%pB: pc-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñ�Ð»Ð°Ð±ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%pB: Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð¾Ð±'Ñ”ÐºÑ‚Ð° lto Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ Ð´Ð¾Ð´Ð°Ñ‚Ð¾Ðº%pB: Ð¹Ð¼Ð¾Ð²Ñ–Ñ€Ð½Ð¾ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð±ÐµÐ· -fPIC?%pB: Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾%pB: Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹, Ð°Ð»Ðµ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ (0x%x) Ñƒ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Import Library Format%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–: %s Ñƒ %pA%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–: (Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ) Ñƒ %pA%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð½ÐµÑ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¸Ð¼ Ñ–Ð½Ð´ÐµÐºÑ�Ð¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: %ld%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ñ… Ð´Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½ÑŒ Ð· %s Ð´Ð¾ %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ %s%sÂ«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� %s%s%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC Â«%sÂ» Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»Ñ�Ñ”Ñ‚ÑŒÑ�Ñ� %s%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC Â«%sÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ð°Ð±Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� %s; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– x32 Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð¼Ð¾Ð¶Ðµ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÑƒÐ²Ð°Ñ‚Ð¸Ñ�Ñ� Ð·Ð·Ð¾Ð²Ð½Ñ–, Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ R_386_GOTOFF Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— %s Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_386_GOTOFF Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ %s, Â«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ R_X86_64_GOTOFF64 Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— %s Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_X86_64_GOTOFF64 Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ %s, Â«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pB %pA%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð¼Ñƒ ELF (EM: %d)%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ», Ð°Ð»Ðµ Ñƒ Ñ†ÑŒÐ¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ð·Ð¼Ñ–Ñ�Ñ‚Ñƒ%pB: Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² Ð·Ð° Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ %ld%pB: Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»ÐµÐ½Ð¾ Ñƒ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ– %d%pB: Ð·Ð°Ð¿Ð¸Ñ� Ð³Ñ€ÑƒÐ¿Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ñ–Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %u Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾%pB: sh_link [%d] Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼%pB: sh_link Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Â«%pBÂ»%pB: sh_link Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Â«%pBÂ»%pB: Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Import Library Format Ð¿Ð¾Ð»Ðµ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼%pB: Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ ARMv8-M Ñ– Ð½Ð¾Ð²Ñ–ÑˆÐ¸Ñ… Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€%pB: Ð·Ð´Ð¾Ð³Ð°Ð´ÐºÐ° Ñ‰Ð¾Ð´Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾Ñ— Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%pB: Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ñ�Ñ‚ÐµÐºÐ° Ñ– Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %s%pB: Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– ILF Ñ€Ñ�Ð´Ð¾Ðº Ð½Ðµ Ð·Ð°Ð²ÐµÑ€ÑˆÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ñ— Ð´Ð¸Ð½Ð°Ð¼Ñ–ÐºÐ¸ Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾%pB: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð³Ð¾ Ñ‚Ð¸Ð¿Ñƒ csect %d%pB: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð³Ð¾ smclas %d%pB: Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ», Ð°Ð»Ðµ Ð¹Ð¾Ð³Ð¾ Ð½ÐµÐ¼Ð°Ñ”%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%pB: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� (%s) Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� (%s)%pB: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� (%s) Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– (%pA)%pB: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² (%d)%pB: Ð·Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð²: %d (>= %d)%pB: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² %u%pB: tp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ„Ñ–ÐºÑ‚Ð¸Ð²Ð½Ð¸Ð¹ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[12], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$5%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[1], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$2%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[1], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$4%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[9], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” __tls_used%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$6%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ .idata$6 Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ”%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ %s Â«%sÂ»%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ñ‚Ð°Ð½ Ñ�Ñ‚Ð¸Ñ�ÐºÐ°Ð½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ñ‚Ð°Ð½ Ñ€Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ COMDAT%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: Ñ—Ñ…Ð½Ñ– Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð½Ðµ Ñ” Ð¾Ð´Ð½Ð°ÐºÐ¾Ð²Ð¸Ð¼Ð¸%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: Ñ—Ñ…Ð½Ñ– Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ–%pB: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»%pB: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð», Â«%sÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– .opd%pB: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– R_PPC64_TOCSAVE%pB: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð· Ð½ÐµÐ¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð²ÐµÑ€Ñ�Ñ–Ñ—, Â«%sÂ»%pB: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, %u, Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– .opd%pB: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ %s%pB: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° %s%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, %#x%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ARC %d%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI %d%pB: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾Ð³Ð¾ Ñ‚Ð¸Ð¿Ñƒ [%#x], Â«%sÂ»%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿, [%#x], Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ» Ñƒ Ð³Ñ€ÑƒÐ¿Ñ– [%pA]%pB: OMIT_FP Ð±ÐµÐ· Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸ÐºÐ° Ñƒ %pA.%pB: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ (0x%x) Ñƒ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Import Library Format%pB: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ð½Ð°Ð·Ð²Ð° Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x%pB: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x%pB: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‚Ð¸Ð¿Ñƒ %#x Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ»%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ÐºÐ»Ð°Ñ� Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s Â«%sÂ»%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð²Ð¸ÐºÐ»Ð¸Ðº Ð±ÐµÐ· PIC IFUNC Â«%sÂ»%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %#x%pB: ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %#x%pB: Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %#x%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %#x%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð· %s Ð´Ð¾ %s%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° ÑˆÐ¸Ñ€Ð¾ÐºÐ° Ð¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² 0x%02X 0x%02X Ð¿Ñ–Ñ�Ð»Ñ� Ð½Ð°Ð·Ð²Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ð¿Ð¾Ñ‡Ð¸Ð½Ð°ÑŽÑ‡Ð¸ Ð· Â«%sÂ»
+%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð¾Ð¼ Â«_Â», Ð°Ð»Ðµ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ñ–Ð²%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ� e_flags (%#x) Ð½Ñ–Ð¶ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (%#x)%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½ÑˆÑ– Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ– Ð¿Ð¾Ð»Ñ� e_flags (%#x) Ð½Ñ–Ð¶ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (%#x)%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—, Ñ�ÐºÑ– Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ñ–Ð· Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�Ð¼Ð¸, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¸Ð¼Ð¸ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ…%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«_Â», Ð°Ð»Ðµ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð¼Ð¸ Ð· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð°Ð¼Ð¸ Â«_Â»%pB: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ð²ÑƒÐ·Ð»Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s%pB: Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð²Ð¸Ð´Ð¸Ð¼Ñ–Ñ�Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ„Ð°Ð¹Ð» core Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pA: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ°: %#x > 0xffff%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %s BLX Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ %s Â«%sÂ».%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ°: 0x%lx > 0xffff%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» COMDAT Â«%sÂ» Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð½Ð°Ð·Ð²Ñ– Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%sÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Â«%sÂ», %u, Ð¼ÐµÐ½ÑˆÐ¸Ð¹ Ð·Ð° Ð¹Ð¾Ð³Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°, Â«%sÂ»%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð¼Ð¾Ð³Ð° Ñ‰Ð¾Ð´Ð¾ 0xffff Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ�%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð² Ð´Ð»Ñ� Â«%sÂ»%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñ–Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %s%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ° %d%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %ld Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ñ…%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ 0x%lx Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ° %d%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ð²ÐµÑ€Ñ�Ñ–Ñ— elf, %s Ñ‚Ð° %s%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ASE Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ABI FP Ð¼Ñ–Ð¶ .gnu.attributes Ñ– .MIPS.abiflags%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ISA Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½ÑŒ ISA Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: isymMax (%ld) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” ifdMax (%ld)%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² (%#lx) Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð¼Ñ–Ñ�Ñ†Ðµ Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð² Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%#lx)%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð· Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð²%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² PIC Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÑ– Ð½Ðµ Ñ” Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ PIC%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² abicalls Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· abicalls%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ†Ð¸ÐºÐ»ÐµÐ½Ñ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ�Ñ‚ÐµÐ¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %u%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %u%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ�Ñ‚Ð°Ñ€Ñ–ÑˆÑƒ Ð²ÐµÑ€Ñ�Ñ–ÑŽ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð· Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ð¼ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð².%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� SDA_BASE%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ STM32L4XX Ð½Ðµ Ñ” Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¸Ð¼ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ VFP11 Ð½Ðµ Ñ” Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¸Ð¼ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ sh_link Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ»%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ Ð´Ð»Ñ� mmo, Ñ—Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” 65535 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ�Ð»Ð¾Ð²Ð°: %d. Ð‘ÑƒÐ´Ðµ Ð²Ð¸Ð¿ÑƒÑ‰ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Â«MainÂ».
+%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ–Ð¹ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� PLT Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– thumb-1%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ GOT%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñƒ Ð¿Ð¾Ð»Ñ– flags2 .MIPS.abiflags (0x%lx)%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI, %d%pB: Ð½Ðµ Ð±ÑƒÐ´Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS Ñƒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–%pB:%d: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð° Ñ�ÑƒÐ¼Ð° Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² S%pB:%d: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² %d Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¾ÑŽ%pB:%d: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%pB:%d: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² S%pB:%pA%s Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸
+%pB:%pA: %s Ñ– %s Ð¼Ð°ÑŽÑ‚ÑŒ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð¾Ð´Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…%pB:%pA: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s, Ñ�ÐºÐ¸Ð¹ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¾ Ð·Ð°Ñ�Ð¾Ð±Ð¾Ð¼ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ñ�Ð¼Ñ–Ñ‚Ñ‚Ñ�%pB:%pA: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ --gc-keep-exported%pB:%pA: Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð½ÐµÐ¼Ð°Ñ” Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ %s%pB:%pA: Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð° Ð²Ñ�ÐµÑ€ÐµÐ´Ð¸Ð½Ñ– Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ–%pB:%pA: Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð¿Ð¾Ð·Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÐµÑŽ%pB:%pA: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ð¸Ð¹ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Red Hat %s, Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´Ð»Ñ� %s%pB:%s Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS%pB:%s Ñ€Ð¾Ð·Ð´Ñ–Ð» %s: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� 2**%u Ð½Ðµ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ�%pB:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð° Ñ�ÑƒÐ¼Ð° Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel (Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� %u, Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ %u)%pB:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%pB:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð»Ñ–Ð½Ñ–Ð¹Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%pB:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð»Ñ–Ð½Ñ–Ð¹Ð½Ð¾Ñ— Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%pB:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%pB:%u: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ ihex %u Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel%s Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– toc%s Ð´ÑƒÐ±Ð»ÑŒÐ¾Ð²Ð°Ð½Ð¾
 %s Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÑŽÑ”Ñ‚ÑŒÑ�Ñ� Ñƒ %s
-%s Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸%s: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TLS Ñƒ %B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A, Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %B %A%s: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TLS Ñƒ %B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A, Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %B, %A%s: Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� TLS Ñƒ %B Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %B %A%s: Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� TLS Ñƒ %B Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ %B%s: Ð½ÐµÐ¼Ð°Ñ” Ñ‚Ð°ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%s: Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾%s: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%s: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ�: %s(Ð·Ð° Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ Ñƒ Ð±Ñ–Ñ‚Ð°Ñ… %u)
+%s Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS%s Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸%s Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÑƒ, Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾Ð¼Ñƒ %pA%s Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ %s Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ Ð´Ð»Ñ� ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� sdata4 .eh_frame%s: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TLS Ñƒ %pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA, Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pB %pA%s: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TLS Ñƒ %pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA, Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ %pB%s: Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� TLS Ñƒ %pB Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pB %pA%s: Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� TLS Ñƒ %pB Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ %pB%s: Ð½ÐµÐ¼Ð°Ñ” Ñ‚Ð°ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%s: Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾%s: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾%s: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ�: %s(Ð·Ð° Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ Ñƒ Ð±Ñ–Ñ‚Ð°Ñ… %u)
 (Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€)
 (Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ %c%c%c%c Ð¿Ñ–Ð´Ð¿Ð¸Ñ� %s Ð²Ñ–Ðº %ld)
 (Ð½ÐµÐ¼Ð° Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�)
@@ -1171,32 +1130,29 @@ X-Generator: Lokalize 1.5
 *Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾**Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾*       , Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: %#08lx
 , Ð¿Ñ�ÐµÐ²Ð´Ð¾Ð½Ñ–Ð¼: %u
 , Ð·Ñ�ÑƒÐ² Ñ€Ð¾Ð·ÑˆÐ¸Ñ€. Ð¿Ñ€Ð¸Ð²â€™Ð·Ñ�ÐºÐ¸: %u, Ð·Ñ�ÑƒÐ² psect no_opt: %u, Ð¿Ñ–Ð´Ñ‚Ð¸Ð¿: %u (%s)
-, Ð²ÐµÐºÑ‚Ð¾Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² rva: - %B Ñ” 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼, Ð° %B â€” Ð½Ñ–-mips32r2 -mfp64 (12 Ð±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¸Ñ… Ð´Ð»Ñ� Ð²Ð¸ÐºÐ»Ð¸ÐºÑ–Ð² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²)Ð Ð¾Ð·Ð´Ñ–Ð» .got Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð·Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ .pltÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð»Ð¸Ñ�Ñ‚Ð¾ÐºÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð²Ñ–Ð´Ð¼Ñ–Ð½Ð½Ð¾Ñ�Ñ‚Ñ– Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ�Ñ… ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñ–Ð²
-Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¸ Ð· Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñ�Ñ‚Ð¸ÐºÐ°Ð¼Ð¸
-Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð»Ð¸Ñ�Ñ‚ÐºÑ–Ð²Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð»Ð¸Ñ�Ñ‚ÐºÑ–Ð²: %sÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ñ€ÐµÑ�ÑƒÑ€Ñ� Ð· Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼ Ñ€Ñ�Ð´ÐºÑ–Ð²: %dÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð½ÐµÑ‚Ð¸Ð¿Ð¾Ð²Ð¸Ñ… Ð¼Ð°Ð½Ñ–Ñ„ÐµÑ�Ñ‚Ñ–Ð²32-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ double, Ð²Ñ–Ð´Ð±ÑƒÐ²Ð°Ñ”Ñ‚ÑŒÑ�Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ gp-Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ–64 Ð±Ñ–Ñ‚Ð¸ *Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»Ñ�Ñ”Ñ‚ÑŒÑ�Ñ�*
+, Ð²ÐµÐºÑ‚Ð¾Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² rva: - %pB Ñ” 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼, Ð° %pB â€” Ð½Ñ–-mips32r2 -mfp64 (12 Ð±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¸Ñ… Ð´Ð»Ñ� Ð²Ð¸ÐºÐ»Ð¸ÐºÑ–Ð² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²)Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ñƒ .eh_frame_hdr.eh_frame_hdr Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° FDE, Ñ�ÐºÑ– Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°ÑŽÑ‚ÑŒÑ�Ñ�Ð Ð¾Ð·Ð´Ñ–Ð» .got Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð·Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ .pltÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð»Ð¸Ñ�Ñ‚Ð¾ÐºÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð²Ñ–Ð´Ð¼Ñ–Ð½Ð½Ð¾Ñ�Ñ‚Ñ– Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ�Ñ… ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñ–Ð²Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¸ Ð· Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñ�Ñ‚Ð¸ÐºÐ°Ð¼Ð¸Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð»Ð¸Ñ�Ñ‚ÐºÑ–Ð²Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð»Ð¸Ñ�Ñ‚ÐºÑ–Ð²: %sÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ñ€ÐµÑ�ÑƒÑ€Ñ� Ð· Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼ Ñ€Ñ�Ð´ÐºÑ–Ð²: %dÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð½ÐµÑ‚Ð¸Ð¿Ð¾Ð²Ð¸Ñ… Ð¼Ð°Ð½Ñ–Ñ„ÐµÑ�Ñ‚Ñ–Ð²32-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ double, Ð²Ñ–Ð´Ð±ÑƒÐ²Ð°Ñ”Ñ‚ÑŒÑ�Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ gp-Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ–64 Ð±Ñ–Ñ‚Ð¸ *Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»Ñ�Ñ”Ñ‚ÑŒÑ�Ñ�*
 64-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ double, 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ–: ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ m32r: ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ m32r2: ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ m32rx: Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— n1: Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— n1h; Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð· -fPIC<Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ð½Ð°Ð±Ñ–Ñ€ Ð±Ñ–Ñ‚Ñ–Ð² Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–Ð²><Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ñ– Ð´Ð°Ð½Ñ–> %s<Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾Ð³Ð¾ Ñ€Ñ�Ð´ÐºÐ°: %#x>
 <Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾Ð³Ð¾ Ñ€Ñ�Ð´ÐºÐ°: %#lx>
 <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾><Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ: %d>
-<Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð°>Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� @pltoff Ñ‰Ð¾Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒÐ£ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Ð½ÐµÐ¼Ð°Ñ” Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸ÐºÐ°; Ð·Ð°Ð¿ÑƒÑ�Ñ‚Ñ–Ñ‚ÑŒ ranlib, Ñ‰Ð¾Ð± Ð¹Ð¾Ð³Ð¾ Ð´Ð¾Ð´Ð°Ñ‚Ð¸Ð�Ñ€Ñ…Ñ–Ð²Ð½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–Ð¡Ð¿Ñ€Ð¾Ð±Ð° Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� L32R/CALLX Ð½Ð° CALL Ð·Ð°Ð·Ð½Ð°Ð»Ð° Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–Ð¡Ð¿Ñ€Ð¾Ð±Ð° Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð·Ð²â€™Ñ�Ð·ÐºÑƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· Ð²Ñ…Ñ–Ð´Ð½Ð¸Ð¼ %s Ñ– Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ð¼ %sBASE_IMAGE       ÐžÐ¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ BFD %s Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ %s:%dÐ’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° BFD %s, Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ñ”Ð¼Ð¾ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %s:%d
+<Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ð¼Ð°Ñ�ÐºÑƒÐ²Ð°Ð½Ð½Ñ�><Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð°>Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� @pltoff Ñ‰Ð¾Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒBASE_IMAGE       ÐžÐ¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ BFD %s Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ %s:%dÐ’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° BFD %s, Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ñ”Ð¼Ð¾ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %s:%d
 Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° BFD %s, Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ñ”Ð¼Ð¾ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %s:%d Ñƒ %s
-ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� BFD: Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� (PC rel16) Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%s) Ð½Ðµ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÑ”Ñ‚ÑŒÑ�Ñ�ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� BFD: Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ (PC rel26) Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%s)Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� [.reloc]ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð²Ð¸Ð¼ÑƒÑˆÐµÐ½Ð¾Ð³Ð¾ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�ÐœÐµÐ¶Ñ–:
-Ð Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¸Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� CACHE: CLIÐ”Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº CLRCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�) %u
+ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� [.reloc]ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð²Ð¸Ð¼ÑƒÑˆÐµÐ½Ð¾Ð³Ð¾ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�ÐœÐµÐ¶Ñ–:
+Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� CACHE: CLIÐ”Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº CLRCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�) %u
 CTL_DFLOC (Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ�)
 CTL_SETRB (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�)
 CTL_STKDL (Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ�, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ñ�Ñ‚ÐµÐºÐ¾Ð¼)
 CTL_STLOC (Ð²ÐºÐ°Ð·Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ�)
-Ð�ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð½Ð° JALX Ð´Ð»Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸, Ñ�ÐºÑƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð°Ð�ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð½Ð° JALX Ð´Ð»Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸, Ñ�ÐºÑƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð°Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð°Ð²Ñ‚Ð¾Ñ€Ñ�ÑŒÐºÐ¸Ñ… Ð¿Ñ€Ð°Ð²
+Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð°Ð²Ñ‚Ð¾Ñ€Ñ�ÑŒÐºÐ¸Ñ… Ð¿Ñ€Ð°Ð²
 Ð’Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» .rsrc!
-ÐŸÐ¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ð¹Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼ÐŸÐ¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð·Ð° Ð·Ð°Ð»Ð¸ÑˆÐ¾Ðº Ð¼Ñ–Ñ�Ñ†Ñ� (%#x)ÐŸÐ¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼Ð’Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� ETIRÐŸÐ¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� vmsÑƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¼Ñƒ Ñ€Ñ�Ð´ÐºÑƒ Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð¾ DSODST__K_BEG_STMT_MODE Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾DST__K_END_STMT_MODE Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾DST__K_RESET_LINUM_INCR Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾DST__K_SET_LINUM_INCR Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾DST__K_SET_LINUM_INCR_W Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾DST__K_SET_PC Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾DST__K_SET_PC_L Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾DST__K_SET_PC_W Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾DST__K_SET_STMTNUM Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²:
+Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¼Ñƒ Ñ€Ñ�Ð´ÐºÑƒ Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð¾ DSOÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ DW_AT_comp_dir Ñ–Ð· Ð½ÐµÑ€Ñ�Ð´ÐºÐ¾Ð²Ð¾ÑŽ Ñ„Ð¾Ñ€Ð¼Ð¾ÑŽÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ€ÐµÐºÑƒÑ€Ñ�Ñ–ÑŽ Ð°Ð±Ñ�Ñ‚Ñ€Ð°ÐºÑ‚Ð½Ð¸Ð¼ ÐµÐºÐ·ÐµÐ¼Ð¿Ð»Ñ�Ñ€Ð¾Ð¼ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» %s.ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %uÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ DWARF: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð°Ð´Ñ€ÐµÑ�Ð¸ Â«%uÂ», Ð²Ñ‚Ñ–Ð¼ Ñƒ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð², Ñ‰Ð¾ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑŽÑ‚ÑŒ Â«%uÂ»ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð²ÐµÑ€Ñ�Ñ–ÑŽ DWARF Â«%uÂ», Ð°Ð»Ðµ Ñƒ Ñ†Ñ–Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÑƒ Ð»Ð¸ÑˆÐµ Ð²ÐµÑ€Ñ�Ñ–Ð¹ Ð´Ð°Ð½Ð¸Ñ… 2, 3 Ñ– 4ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸Ðº Ð½Ð° Ð´Ð°Ð½Ñ– Ð²Ð¸Ñ…Ð¾Ð´Ð¸Ñ‚ÑŒ Ð·Ð° ÐºÑ–Ð½ÐµÑ†ÑŒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð²ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ð°Ð±Ñ�Ñ‚Ñ€Ð°ÐºÑ‚Ð½Ð¸Ð¹ ÐµÐºÐ·ÐµÐ¼Ð¿Ð»Ñ�Ñ€ DIEÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð° ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð´Ñ–Ð¹ Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´ÑƒÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð°Ð±Ð¾ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� FORM: %#xÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð²Ð°Ñ€Ñ–Ð°Ð½Ñ‚Ð° Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ–Ð² %u Ñƒ Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ñ€Ñ�Ð´ÐºÐ°ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð²ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð² (Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð°)ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� ÐºÐ¾Ð´Ñ–Ð² Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ð¹ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð²Ñ�Ñ‚ÑƒÐ¿ÑƒÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð° Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð²ÐµÑ€Ñ�Ñ–Ñ� .debug_line, %dÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒDW_EH_PE_datarel Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ†Ñ–Ñ”Ñ— Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²:
 Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð·Ð½ÐµÐ²Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ�:
 ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð²Ñ–Ð´ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð³Ð¾ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�Ð’Ð¸ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ñƒ %s
 Ð’Ð¸ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ñƒ %s Ñƒ %s, Ñ€Ñ�Ð´Ð¾Ðº %d Ñƒ %s
-ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ð¿Ð¸Ñ�Ñ–Ð²ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» %s.ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %u.ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ DW_AT_comp_dir Ñ–Ð· Ð½ÐµÑ€Ñ�Ð´ÐºÐ¾Ð²Ð¾ÑŽ Ñ„Ð¾Ñ€Ð¼Ð¾ÑŽ.ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸Ðº Ð½Ð° Ð´Ð°Ð½Ñ– Ð²Ð¸Ñ…Ð¾Ð´Ð¸Ñ‚ÑŒ Ð·Ð° ÐºÑ–Ð½ÐµÑ†ÑŒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð²ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð° ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð´Ñ–Ð¹ Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ.ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð°Ð±Ð¾ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� FORM: %#x.ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð´Ð°Ð½Ñ– Ñ‰Ð¾Ð´Ð¾ Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼Ð¸ (0x%lx) Ð·Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð» (0x%lx)ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼ (%ld)ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ (%lu) Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð°Ð±Ð¾ Ñ€Ñ–Ð²Ð½Ð¸Ð¼ Ð·Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ %s (%lu).ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� ÐºÐ¾Ð´Ñ–Ð² Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ð¹ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð²Ñ�Ñ‚ÑƒÐ¿ÑƒÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Dwarf: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� %u.ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð° Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð²ÐµÑ€Ñ�Ñ–Ñ� .debug_line, %d.ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ dwarf: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð°Ð´Ñ€ÐµÑ�Ð¸ Â«%uÂ», Ð²Ñ‚Ñ–Ð¼ Ñƒ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð², Ñ‰Ð¾ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑŽÑ‚ÑŒ Â«%uÂ».ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð²ÐµÑ€Ñ�Ñ–ÑŽ dwarf Â«%uÂ», Ð°Ð»Ðµ Ñƒ Ñ†Ñ–Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÑƒ Ð»Ð¸ÑˆÐµ Ð²ÐµÑ€Ñ�Ñ–Ð¹ Ð´Ð°Ð½Ð¸Ñ… 2, 3 Ñ– 4.ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð² (Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð°).ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð².EIHD: (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u, ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð±Ð»Ð¾ÐºÑ–Ð²: %u)
-ÐŸÐžÐœÐ˜Ð›ÐšÐ�: Ñ�Ð¿Ñ€Ð¾Ð±Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� %B Ð·Ñ– Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¼ Ñ„Ð°Ð¹Ð»Ð¾Ð¼ %B Ñ–Ð½ÑˆÐ¾Ñ— Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸Ð’Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ð·Ð½Ð¸ÐºÐ»Ð° Ð· Ð±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ.Ð’Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð²Ñ…Ð¾Ð´Ñƒ       = 0x%.8lx (%ld)
-ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� %s: %sÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð»Ñ� %B Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð¾Ð±Ð¸Ð´Ð²Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Tag_MPextension_use, current Ñ– legacyÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ ARC4 Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð¾.
-ÐŸÑ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ„Ð°Ð¹Ð»Ð° Ñ�Ñ‚Ð°Ð»Ð¸Ñ�Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸, %BÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½ÑŒ [.pdata]ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� [.edata (Ð°Ð±Ð¾ Ñ–Ð½ÑˆÐµ Ð¼Ñ–Ñ�Ñ†Ðµ, Ð´Ðµ Ð¹Ð¾Ð³Ð¾ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾)]ÐŸÑ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�		%lx
-Ð•ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ð¹ RVAÐ�Ð• Ð’Ð”Ð�Ð›ÐžÐ¡Ð¯ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� HI16FILES_VOLUMES    FPU-2.0FPU-3.0Ð�Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð·Ñ�ÑƒÐ²Ð¸ Ñ„Ð°Ð¹Ð»Ñ–Ð² Ñƒ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð·Ñ– Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ñ” Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð¸Ð¼Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð¤Ð°Ð¹Ð» Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–Ð¤Ð°Ð¹Ð» Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼Ð¤Ð°Ð¹Ð» Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾ÐŸÐ¾Ð»Ðµ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–Ð²      = 0x%.2x
-ÐŸÐµÑ€ÐµÑ�Ð¿Ñ€Ñ�Ð¼Ð¾Ð²Ð½Ð¸Ð¹ RVAGALAXY           ÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT Ñ– PLT Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¾, Ñ�ÐºÑ‰Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ñ” Ð½ÐµÐ´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¼.Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GP, Ð²Ñ‚Ñ–Ð¼, GP Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GP, Ð°Ð»Ðµ _gp Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼ GPDISP Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— ldah Ñ– ldaÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²:
+ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ð¿Ð¸Ñ�Ñ–Ð²EIHD: (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u, ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð±Ð»Ð¾ÐºÑ–Ð²: %u)
+Ð’Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð²Ñ…Ð¾Ð´Ñƒ       = 0x%.8lx (%ld)
+ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð»Ñ� %pB Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð¾Ð±Ð¸Ð´Ð²Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Tag_MPextension_use, current Ñ– legacyÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½ÑŒ [.pdata]ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� [.edata (Ð°Ð±Ð¾ Ñ–Ð½ÑˆÐµ Ð¼Ñ–Ñ�Ñ†Ðµ, Ð´Ðµ Ð¹Ð¾Ð³Ð¾ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾)]ÐŸÑ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�		%lx
+Ð•ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ð¹ RVAÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� FDE Ñƒ %pB(%pA) Ð¿ÐµÑ€ÐµÑˆÐºÐ¾Ð´Ð¶Ð°Ñ” Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½ÑŽ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– .eh_frame_hdrÐ£ FDPIC Ñ‰Ðµ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð´Ð»Ñ� Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð²FILES_VOLUMES    FPU-2.0FPU-3.0ÐŸÐ¾Ð»Ðµ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–Ð²      = 0x%.2x
+ÐŸÐµÑ€ÐµÑ�Ð¿Ñ€Ñ�Ð¼Ð¾Ð²Ð½Ð¸Ð¹ RVAGALAXY           ÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT Ñ– PLT Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¾, Ñ�ÐºÑ‰Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ñ” Ð½ÐµÐ´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¼Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GP, Ð²Ñ‚Ñ–Ð¼, GP Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GP, Ð°Ð»Ðµ _gp Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼ GPDISP Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— ldah Ñ– ldaÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²:
 Ð�Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ° (32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€, 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ FPU)
 Ð�Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ° (32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€, Ð±ÑƒÐ´ÑŒ-Ñ�ÐºÐ¸Ð¹ FPU)
 Ð�Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ° (64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ�Ð¿Ñ–Ð²Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€ MIPS32r2, 12 Ð±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¸Ñ… Ð´Ð»Ñ� Ð²Ð¸ÐºÐ»Ð¸ÐºÑ–Ð² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²)
@@ -1205,22 +1161,18 @@ X-Generator: Lokalize 1.5
 Ð¡ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾Ñ— Ñ€ÑƒÑ…Ð¾Ð¼Ð¾Ñ— ÐºÑ€Ð°Ð¿ÐºÐ¸ (32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€, 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ FPU)
 Ð�Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð°Ð±Ð¾ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ°
 Ð†Ð´.: %#08lxIDC â€” Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ° ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾Ñ�Ñ‚Ñ– Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ñ–Ð²
-Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸Ðº IEEE: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ñ�Ð´ÐºÐ°: %#lx Ð´Ð¾Ð²ÑˆÐ¸Ð¹ Ð·Ð° Ð±ÑƒÑ„ÐµÑ€: %#lxIMAGE_ACTIVATOR  ÐŸÑ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ INPUT_SECTION_FLAGS Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾.
-IO               Ð�ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ� Ð¾Ð±Ñ€Ð°Ð·Ñƒ:  (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€=%u)
+IMAGE_ACTIVATOR  ÐŸÑ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ INPUT_SECTION_FLAGS Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾IO               Ð�ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ� Ð¾Ð±Ñ€Ð°Ð·Ñƒ:  (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€=%u)
 ÐŸÑ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ° Ð°Ð´Ñ€ÐµÑ�Ð¸ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ‚Ð¾Ñ€Ð° Ð¾Ð±Ñ€Ð°Ð·Ñƒ: (Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð°: %u, Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ�: %u)
 Ð†Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ� Ð¾Ð±Ñ€Ð°Ð·Ñƒ: (Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð¾Ð»Ð¾Ð´ÑˆÐ¸Ð¹: %u)
 Ð”ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð¾Ð±Ñ€Ð°Ð·Ñƒ: (Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð°: %u, Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ�: %u, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u, Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿: %u)
 Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ– Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸ Ð¾Ð±Ñ€Ð°Ð·Ñƒ (Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð°: %u, Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ�: %u)
-ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð°Ð´Ñ€ÐµÑ�ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� [Ñ‡Ð°Ñ�Ñ‚Ð¸Ð½Ð¸ .idata]Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ RL78Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ RL78Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð½ÐµÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ñ–Ñ�Ñ‚ÑŒ: Ð·Ð°Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� %u != Ð¼Ð°ÐºÑ�. %u.
-  Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ñ‚Ðµ Ð¿Ñ€Ð¾ Ñ†ÑŽ Ð²Ð°Ð´Ñƒ.Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� AArch64: %dÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� DLX: %dÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ TARGET2, Â«%sÂ».Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� bfdÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %AÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð´Ñ–Ñ�Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Invalid output section for .eh_frame_entry: %AÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ ETIRÐ¦Ðµ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¹ (global) Ð°Ð±Ð¾ Ñ�Ð»Ð°Ð±ÐºÐ¸Ð¹ (weak) Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—.JALX Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¸ÐŸÐµÑ€ÐµÑ…Ñ–Ð´ Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ�Ð»Ð¾Ð²Ð¾Ð¼ Ð°Ð´Ñ€ÐµÑ�Ð¸LOGICAL_NAMES    Ð�Ð°Ð·Ð²Ð° Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¼Ð¾Ð²Ð¸
+ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð°Ð´Ñ€ÐµÑ�ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� [Ñ‡Ð°Ñ�Ñ‚Ð¸Ð½Ð¸ .idata]LOGICAL_NAMES    Ð�Ð°Ð·Ð²Ð° Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¼Ð¾Ð²Ð¸
 Ð”Ð¾Ð²Ð¶Ð¸Ð½Ð°             = 0x%.8lx (%ld)
-ÐšÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ ex9, Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ…ÐµÑˆÑ–Ð² 
-ÐšÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ñ–ÐºÑ�Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ ex9 
-ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒÐ›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� IFUNC Â«%sÂ» Ñƒ %B
+ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒÐ›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� IFUNC Â«%sÂ» Ñƒ %pB
 MEMORY_MANAGEMENTÐ¤ÑƒÐ½ÐºÑ†Ñ–Ñ— MIPS16 Ñ– microMIPS Ð½Ðµ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ñ‚Ð¸ Ð¾Ð´Ð½Ð° Ð¾Ð´Ð½ÑƒMISC             Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� MMU: MULTI_PROCESSING ÐžÑ�Ð½Ð¾Ð²Ð½Ð°/ÐœÐ¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ� 			%d/%d
-Ð�Ñ€Ñ…Ñ–Ð² Ð· Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼ÐœÐ°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚ÐµÐºÐ° â€” 0x%v
-MeP: howto %d Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ñ‚Ð¸Ð¿Ñƒ %dÐŸÐ°Ð¼â€™Ñ�Ñ‚ÑŒ Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð¾Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¼Ð¾Ð´ÑƒÐ»Ñ�
-NETWORKS         NORMALÐ�Ð°Ð·Ð²Ð°				Ð†Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð½Ð°Ð·Ð¾Ð²Ð½Ñ– %s Ð½Ðµ Ð¿Ð¾Ð²â€™Ñ�Ð·Ð°Ð½Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð¸Ð�ÐµÐ¼Ð°Ñ” Ð¿Ð¾Ð¼Ð¸Ð»Ð¾ÐºÐ‘Ñ–Ð»ÑŒÑˆÐµ Ð°Ñ€Ñ…Ñ–Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð½ÐµÐ¼Ð°Ñ”Ð�ÐµÐ¼Ð°Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²Ð�ÐµÐ¼Ð°Ñ”Ð Ð¾Ð·Ð´Ñ–Ð», Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð»Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…Ð�ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ð´Ð»Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒÐ�Ð¾Ð¼ÐµÑ€ Ñƒ:
+ÐœÐ°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚ÐµÐºÐ° â€” 0x%v
+MeP: howto %d Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ñ‚Ð¸Ð¿Ñƒ %dÐ—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¼Ð¾Ð´ÑƒÐ»Ñ�
+NETWORKS         NORMALÐ�Ð°Ð·Ð²Ð°				Ð�ÐµÐ¼Ð°Ñ”Ð�Ð¾Ð¼ÐµÑ€ Ñƒ:
 OPR_ADD (Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ�)
 OPR_AND (Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ðµ Â«Ð†Â»)
 OPR_ASH (Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡Ð½Ð¸Ð¹ Ð·Ñ�ÑƒÐ²)
@@ -1238,19 +1190,15 @@ X-Generator: Lokalize 1.5
 OPR_SEL (Ð²Ð¸Ð±Ñ–Ñ€)
 OPR_SUB (Ð²Ñ–Ð´Ð½Ñ–Ð¼Ð°Ð½Ð½Ñ�)
 OPR_USH (Ð±ÐµÐ·Ð·Ð½Ð°ÐºÐ¾Ð²Ð¸Ð¹ Ð·Ñ�ÑƒÐ²)
-Ð£ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ– Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸!
-Ð—Ñ�ÑƒÐ² Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÐ¸ Ð´Ð»Ñ� Ð²Ñ…Ñ–Ð´Ð½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ» Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ Ñ—Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ.ÐžÐ´Ð½Ñ–Ñ”ÑŽ Ñ–Ð· Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¸Ñ… Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½ Ñ†Ñ–Ñ”Ñ— Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñ” Ñ‚Ðµ, Ñ‰Ð¾ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ ÐºÐ¾Ð´Ñ– Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ‚Ð°Ðº, Ð½Ð°Ñ‡Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ð°Ñ” Ð±Ñ–Ð»ÑŒÑˆÐµ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�, Ð½Ñ–Ð¶ Ð±ÑƒÐ»Ð¾ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð¾ Ñ‚Ð°Ð¼, Ð´Ðµ Ð¹Ð¾Ð³Ð¾ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾.ÐžÑ�Ð½Ð¾Ð²Ð° Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ�		%ld
-Ð¤Ð°Ð¹Ð»Ñƒ-Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñƒ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð° Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Â«%sÂ»
-Ð¤Ð°Ð¹Ð»Ñƒ-Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñƒ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð° Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Â«%s.so.%sÂ»
+ÐžÑ�Ð½Ð¾Ð²Ð° Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ�		%ld
 Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ PC Ð· Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸Ð’Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» PIEPOSIX            PROCESS_SCHED    PRVFXDPRVPICPSC â€” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸
-Ð�ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ PTA: Ð°Ð´Ñ€ÐµÑ�Ð° SHcompact (Ð±Ñ–Ñ‚ 0 == 0)Ð�ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ PTB: Ð°Ð´Ñ€ÐµÑ�Ð° SHmedia (Ð±Ñ–Ñ‚ 0 == 1)Ð�Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ       = "%s"
+Ð�Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ       = "%s"
 ÐšÑ–Ð½ÐµÑ†ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ[%d]   = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }
 Ð”Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ[%d] = 0x%.8lx (%ld)
 Ð¡ÐµÐºÑ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ[%d]   = 0x%.8lx (%ld)
 Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ñ‚Ðµ Ð¿Ñ€Ð¾ Ñ†ÑŽ Ð²Ð°Ð´Ñƒ.
-ÐšÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ ABI RL78: Ñ„Ð°Ð¹Ð» G10 %B Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð· %s, Ñ„Ð°Ð¹Ð» %BÐšÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ ABI RL78: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ %s, Ñ„Ð°Ð¹Ð» %B Ð· %s, Ñ„Ð°Ð¹Ð» %BÐšÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� RL78: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ 32-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ñ– 64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ð¾Ð±â€™Ñ”ÐºÑ‚Ð¸R_BFIN_FUNCDESC Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼R_BFIN_FUNCDESC_VALUE Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼R_FRV_TLSMOFFLO Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ setlo Ð°Ð±Ð¾ setlos
-Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñ‡Ð°Ñ�Ð¾Ð²Ð¾Ñ— Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐºÐ¸ mod Ð°Ñ€Ñ…Ñ–Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°ÐŸÐ¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ», Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð¼Ð¾Ð¶Ðµ Ð¿Ñ€Ð¸Ð·Ð²ÐµÑ�Ñ‚Ð¸ Ð´Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº Ñƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ–.Ð�ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ %%g%d: %s Ñƒ %B, Ñ€Ð°Ð½Ñ–ÑˆÐµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ %s Ñƒ %BÐ£ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð´Ð°Ð½Ñ–
-ÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� psect, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ñ” RELÐ’Ð¸Ð»ÑƒÑ‡Ð°Ñ”Ð¼Ð¾ Ð½ÐµÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Â«%BÂ»Ð—Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¾Ð²Ð°Ð½Ð¾ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ€ÐµÑ�ÑƒÑ€Ñ�Ñ–Ð² [.rsrc]Ð�Ð´Ñ€ÐµÑ�Ð° S12 (%lx) Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÐ¾Ð²Ð°Ð½Ð° Ð¿Ð¾Ð·Ð° RAM Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� (0x2000-x4000), Ñ‚Ð¾Ð¼Ñƒ Ð²Ð°Ð¼ Ñ�Ð»Ñ–Ð´ Ð²Ñ€ÑƒÑ‡Ð½Ñƒ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ Ð²Ð°ÑˆÐ¾Ð¼Ñƒ ÐºÐ¾Ð´Ñ–Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� SDA Ð±ÐµÐ· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� _SDA_BASE_SECURITY         SEC_RELOC Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %AÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° SH: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, %dSHELL            SHRFXDSHRPICÐ’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� SIMD: SPSC â€” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð¾Ð±Ñ€Ð°Ð·Ñƒ
+ÐšÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ ABI RL78: Ñ„Ð°Ð¹Ð» G10 %pB Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð· %s, Ñ„Ð°Ð¹Ð» %pBÐšÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ ABI RL78: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ %s, Ñ„Ð°Ð¹Ð» %pB Ð· %s, Ñ„Ð°Ð¹Ð» %pBÐšÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� RL78: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ 32-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ñ– 64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ð¾Ð±â€™Ñ”ÐºÑ‚Ð¸R_BFIN_FUNCDESC Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼R_BFIN_FUNCDESC_VALUE Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼R_FRV_TLSMOFFLO Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ setlo Ð°Ð±Ð¾ setlos
+Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñ‡Ð°Ñ�Ð¾Ð²Ð¾Ñ— Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐºÐ¸ mod Ð°Ñ€Ñ…Ñ–Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°Ð—Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¾Ð²Ð°Ð½Ð¾ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ€ÐµÑ�ÑƒÑ€Ñ�Ñ–Ð² [.rsrc]Ð�Ð´Ñ€ÐµÑ�Ð° S12 (%lx) Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÐ¾Ð²Ð°Ð½Ð° Ð¿Ð¾Ð·Ð° RAM Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� (0x2000-x4000), Ñ‚Ð¾Ð¼Ñƒ Ð²Ð°Ð¼ Ñ�Ð»Ñ–Ð´ Ð²Ñ€ÑƒÑ‡Ð½Ñƒ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ Ð²Ð°ÑˆÐ¾Ð¼Ñƒ ÐºÐ¾Ð´Ñ–Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� SDA Ð±ÐµÐ· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� _SDA_BASE_SECURITY         SEC_RELOC Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pASHELL            SHRFXDSHRPICÐ’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� SIMD: SPSC â€” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð¾Ð±Ñ€Ð°Ð·Ñƒ
 STABLE           STA_CKARG (Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð¸ Ð¿Ð¾Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð½Ñ�)
 STA_GBL (Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ñ‚ÐµÐº) %.*s
 STA_LI (Ñ�Ñ‚ÐµÐº Ð»Ñ–Ñ‚ÐµÑ€Ð°Ð»Ñ–Ð²)
@@ -1293,41 +1241,29 @@ X-Generator: Lokalize 1.5
 SYMG â€” Ð£Ð½Ñ–Ð²ÐµÑ€Ñ�Ð°Ð»ÑŒÐ½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²
 SYMM â€” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð· Ð²ÐµÑ€Ñ�Ñ–Ñ”ÑŽ
 SYMV â€” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ
-SYSGEN           Ð Ð¾Ð·Ð´Ñ–Ð» Ð½Ðµ Ð¼Ð°Ñ” Ð²Ð¼Ñ–Ñ�Ñ‚ÑƒÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð°Ñ…Ð¸Ñ�Ñ‚ÑƒÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ– Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %AÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ°
+SYSGEN           ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð°Ñ…Ð¸Ñ�Ñ‚ÑƒÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ°
 Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñ„Ð°Ð¹Ð»Ñ–Ð² ÐºÐ¾Ð´Ñƒ
-ÐžÑ�Ð¾Ð±Ð»Ð¸Ð²Ð¸Ð¹ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¤Ð°Ð»ÑŒÑˆÐ¸Ð²Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� ALPHA_R_BSRÐŸÑ–Ð´ Ñ‡Ð°Ñ� Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ Ñ�Ñ‚ÐµÐºÐ° Ð±ÑƒÐ´Ðµ Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð²Ð¸ÐºÐ»Ð¸Ðº Ð· %s Ð´Ð¾ %s
-ÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° (%d) Ñƒ _bfd_vms_pushÐ Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚ÐµÐºÐ° Ð´Ð»Ñ� ÐºÐ¾Ñ€ÐµÐ½ÐµÐ²Ð¸Ñ… Ð²ÑƒÐ·Ð»Ñ–Ð² Ð³Ñ€Ð°Ñ„Ñƒ Ð²Ð¸ÐºÐ»Ð¸ÐºÑ–Ð².
-ÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ñƒ _bfd_vms_popÐŸÐ¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Â«%sÂ» Ñ” Ñ–Ð½ÑˆÐ¾ÑŽ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�.ÐšÑ€Ð¾ÐºÐ¸:
-Ð¡Ð¸Ð¼Ð²Ð¾Ð» %s Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ð°Ð´Ñ€ÐµÑ�Ð½Ð¸Ñ… Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·Ð¾Ðº
-Ð¡Ð¸Ð¼Ð²Ð¾Ð» Â«sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñ–Ð²: %s Ñƒ %B Ñ– REGISTER Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñƒ %BÐ¡Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñ–Ð²: REGISTER Ñƒ %B Ñ– %s Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñƒ %BÐ¡Ð¸Ð¼Ð²Ð¾Ð» Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸, Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼, Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¼ Ñ– Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ‚Ð¸Ñ�Ñ� Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Thumb.ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼ Ð±ÐµÐ· Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð²ÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� TOC: 0x%lx > 0x10000; Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -mminimal-toc Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ�Ð¢Ð°Ð±Ð»Ð¸Ñ‡Ð½Ñ– Ð°Ð´Ñ€ÐµÑ�Ð¸
+ÐžÑ�Ð¾Ð±Ð»Ð¸Ð²Ð¸Ð¹ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚ÐµÐºÐ° Ð´Ð»Ñ� ÐºÐ¾Ñ€ÐµÐ½ÐµÐ²Ð¸Ñ… Ð²ÑƒÐ·Ð»Ñ–Ð² Ð³Ñ€Ð°Ñ„Ñƒ Ð²Ð¸ÐºÐ»Ð¸ÐºÑ–Ð².
+ÐšÑ€Ð¾ÐºÐ¸:
+Ð¡Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñ–Ð²: %s Ñƒ %pB Ñ– REGISTER Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñƒ %pBÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼ Ð±ÐµÐ· Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð²Ð¢Ð°Ð±Ð»Ð¸Ñ‡Ð½Ñ– Ð°Ð´Ñ€ÐµÑ�Ð¸
 ÐŸÐ¾Ð»Ðµ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñƒ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð·Ñ– Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸ Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ Ð´Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÑƒÐ Ð¾Ð·Ð¼Ñ–Ñ€ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸ Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸
-ÐŸÑ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF Ð· %B Ð²Ð¸Ð½Ð¸Ðº ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑ–Ð² [.tls]ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐºÐ° Ñ‡Ð°Ñ�Ñƒ/Ð´Ð°Ñ‚Ð¸		%lx
+ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑ–Ð² [.tls]ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐºÐ° Ñ‡Ð°Ñ�Ñƒ/Ð´Ð°Ñ‚Ð¸		%lx
 Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñ‚Ð¸Ñ‚ÑƒÐ»ÑŒÐ½Ð¾Ð³Ð¾ Ñ‚ÐµÐºÑ�Ñ‚Ñƒ
-Ð—Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² GOT Ð´Ð»Ñ� -fpic. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð· -fPICÐ—Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ ÐºÐ¾Ð´Ñ–Ð² Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ� (%ld)
-Ð¡Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÑƒÑ‚Ð¸ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–ÑŽ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð´Ð»Ñ� ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒÐ¢Ð¸Ð¿                 Ð Ð¾Ð·Ð¼     Rva      Ð—Ñ�ÑƒÐ²
-USRSTACKÐ�Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ñ–Ð²Ð½Ð¾Ñ†Ñ–Ð½Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»Ð�ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð´Ð¾Ñ�Ñ�Ð³Ñ‚Ð¸ %s (Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%08x) Ñ–Ð· Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° (Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%08x), Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� (%d) Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ, Ð²Ñ–Ð´ -32678 Ð´Ð¾ 32767.
-Ð�Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� EIHS Ð·Ñ– Ð·Ñ�ÑƒÐ²Ð¾Ð¼ %#xÐ�ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ STO_SH5_ISA32 Ð½Ð°Ð´ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¾Ð�ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¼Ð°ÑˆÐ¸Ð½Ð¸Ð�ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñ„Ð°Ð¹Ð»Ð° core OSF/1, %d
-Ð�ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %sÐ�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ñ–Ð´Ñ‚Ð¸Ð¿ EGSD, %dÐ�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ %dÐ�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %sÐ�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s + %sÐ�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ– %sÐ�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹: %xÐ�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MIPS: %dÐ�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ INPUT_SECTION_FLAG, %s
-Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TI COFF, Â«0x%xÂ»Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� 0x%xÐ�ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� .stabÐ�ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CR16: 0x%x
-VOLATILE         Ð—Ð¼Ñ–Ð½Ð½Ñƒ Â«%sÂ» Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ñƒ Ð¾Ð´Ð½Ñ–Ð¹ Ð· Ð¼Ð°Ð»Ð¸Ñ…, Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ñ… Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÐ¸Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð¸Ñ…Ð—Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÑ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾Ð—Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ñ– Ð½ÑƒÐ»ÑŒÐ¾Ð²Ñ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾Ð—Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ñ–Ð¹ Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÑ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾Ð—Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð¹Ð¼Ð°Ñ‚Ð¸ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¼Ð°Ð»Ð¸Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð¸Ñ…Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .pdata (%ld) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€ÐµÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%ld)
-ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .pdata (%ld) Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ %d
-ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸, Ð° Ñƒ %B Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° >= %lu, Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾: %lu.ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ, Ð° Ñƒ %B Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %sÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %dÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ð´Ð»Ñ� Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %dÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ 64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ð´Ð¾Ð²Ð³Ñ– Ñ†Ñ–Ð»Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ, Ð° Ñƒ %B â€” 128-Ð±Ñ–Ñ‚Ð¾Ð²Ñ–ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¸Ð¹ ABI AltiVec, %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¸Ð¹ ABI SPEÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð´Ð¾Ð²Ð³Ñ– Ñ†Ñ–Ð»Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ IBM, Ð° Ñƒ %B â€” IEEEÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ, Ð° Ñƒ %B â€” Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ð»Ñ� Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ», Ð° Ñƒ %B â€” Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð°ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B r3/r4 Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð´Ð»Ñ� Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ� Ð¼Ð°Ð»Ð¸Ñ… Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€, Ð° Ñƒ %B Ð´Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð¿Ð°Ð¼â€™Ñ�Ñ‚ÑŒÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %sÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA %d (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %dÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %sÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ð´Ð»Ñ� Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %dÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼, %s Ð· %s.
-ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ARC %dÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI %dÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° MSPABI %dÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s (%ld) Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ %d
+Ð—Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ ÐºÐ¾Ð´Ñ–Ð² Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ� (%ld)
+Ð¢Ð¸Ð¿                 Ð Ð¾Ð·Ð¼     Rva      Ð—Ñ�ÑƒÐ²
+USRSTACKÐ�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹: %xVOLATILE         Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .pdata (%ld) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€ÐµÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%ld)
+ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s (%ld) Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ %d
 ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s (%ld) Ñ” Ð¼ÐµÐ½ÑˆÐ¸Ð¼ Ð·Ð° Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%ld)
 ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼
-ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð½Ñ�Ñ‚Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %B, Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð· Ð½Ð¸Ð¼ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´, Ñ�ÐºÐ¸Ð¹ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸, Ñƒ %BÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð½Ñ�Ñ‚Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %B Ñƒ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´ÑŒ Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ‚ Ð·Ð·Ð¾Ð²Ð½Ñ–ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %B Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾, Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð¹Ð¾Ð³Ð¾ Ð²Ð¶Ðµ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñ‚Ð°Ðº, Ñ‰Ð¾Ð± Ð²Ñ–Ð½ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½Ñ�Ð² Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚ÑƒÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RL78_SYM Ð· Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RX_SYM Ð· Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %u Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ %B Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� (%u) Ð¹Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %AÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %u Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ %B Ñ” Ð¼ÐµÐ½ÑˆÐ¸Ð¼ Ð·Ð° %u Ñƒ %BÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ð°Ð´Ñ€ÐµÑ�Ð½Ð¸Ñ… Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·Ð¾Ðº
-ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ gc-sections Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð· %Lu Ñƒ %B Ð½Ð° %Lu Ñƒ %BÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð· %lu Ñƒ %B Ð½Ð° %lu Ñƒ %BÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ” Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ñ– Ð¿Ð¾Ð·Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð¸Ð¿ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð· %d Ð½Ð° %d Ñƒ %BÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð°Ð±Ð¾ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ñ–. 
-	       Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ñ‚Ð¸Ð¿Ð¾Ð²Ñƒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñƒ.
-ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð°Ð¿Ð¸Ñ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð°Ñ€Ñ…Ñ–Ð²Ñƒ Ð±ÑƒÐ»Ð¾ Ð¿Ð¾Ð²Ñ–Ð»ÑŒÐ½Ð¸Ð¼: Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñ�ÑƒÑ”Ð¼Ð¾ Ñ‡Ð°Ñ�Ð¾Ð²Ñƒ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐºÑƒ
 Ð—Ð°Ð¿Ð¸Ñ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾Ñ— Ñ‡Ð°Ñ�Ð¾Ð²Ð¾Ñ— Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐºÐ¸ armapÐ�Ð´Ñ€ÐµÑ�Ð° XGATE (%lx) Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÐ¾Ð²Ð°Ð½Ð° Ð¿Ð¾Ð·Ð° RAM Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� (0xE000-0xFFFF), Ñ‚Ð¾Ð¼Ñƒ Ð²Ð°Ð¼ Ñ�Ð»Ñ–Ð´ Ð²Ñ€ÑƒÑ‡Ð½Ñƒ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñ–, Ð¹Ð¼Ð¾Ð²Ñ–Ñ€Ð½Ð¾, ÐºÐµÑ€ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¾ÑŽ Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ñƒ Ð²Ð°ÑˆÐ¾Ð¼Ñƒ ÐºÐ¾Ð´Ñ–.[%u]: Ð½Ð¸Ð¶Ð½Ñ�: %u, Ð²ÐµÑ€Ñ…Ð½Ñ�: %u
-[abi=16-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ñ†Ñ–Ð»Ðµ, [abi=32-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ñ†Ñ–Ð»Ðµ, [Ñ‡Ð¸ÑŽ Ð½Ð°Ð·Ð²Ñƒ Ð²Ñ‚Ñ€Ð°Ñ‡ÐµÐ½Ð¾]\%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Arm BLX Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Arm Â«%sÂ»._bfd_vms_output_counted Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ Ð´Ð»Ñ� Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾Ñ— ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ð±Ð°Ð¹Ñ‚Ñ–Ð²_bfd_vms_output_counted Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ Ð´Ð»Ñ� Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¾Ñ— ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ð±Ð°Ð¹Ñ‚Ñ–Ð²Â«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Ð±ÐµÐ· Ð²Ñ…Ð¾Ð´Ñƒ.Ð°Ð´Ñ€ÐµÑ�Ð°Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð·Ð° Ð¼ÐµÐ¶ÐµÑŽ Ñ�Ð»Ð¾Ð²Ð°Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€ Ð¼Ð°Ñ�Ð¸Ð²Ñƒ:
+[abi=16-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ñ†Ñ–Ð»Ðµ, [abi=32-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ñ†Ñ–Ð»Ðµ, [Ñ‡Ð¸ÑŽ Ð½Ð°Ð·Ð²Ñƒ Ð²Ñ‚Ñ€Ð°Ñ‡ÐµÐ½Ð¾]_bfd_vms_output_counted Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ Ð´Ð»Ñ� Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾Ñ— ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ð±Ð°Ð¹Ñ‚Ñ–Ð²_bfd_vms_output_counted Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ Ð´Ð»Ñ� Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¾Ñ— ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ð±Ð°Ð¹Ñ‚Ñ–Ð²Â«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Ð±ÐµÐ· Ð²Ñ…Ð¾Ð´ÑƒÐ¾Ð±'Ñ”ÐºÑ‚ PDEÐ¾Ð±'Ñ”ÐºÑ‚ PIEÑ�Ð¿Ñ–Ð»ÑŒÐ½Ð¸Ð¹ Ð¾Ð±'Ñ”ÐºÑ‚Ð°Ð´Ñ€ÐµÑ�Ð°Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð·Ð° Ð¼ÐµÐ¶ÐµÑŽ Ñ�Ð»Ð¾Ð²Ð°Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ð¸Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð¸Ð¹ ÐºÐ¾Ð´ ELF (%d) Ñƒ %pB, Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� %dÑƒ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Ð½ÐµÐ¼Ð°Ñ” Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸ÐºÐ°; Ð·Ð°Ð¿ÑƒÑ�Ñ‚Ñ–Ñ‚ÑŒ ranlib, Ñ‰Ð¾Ð± Ð¹Ð¾Ð³Ð¾ Ð´Ð¾Ð´Ð°Ñ‚Ð¸Ð°Ñ€Ñ…Ñ–Ð²Ð½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€ Ð¼Ð°Ñ�Ð¸Ð²Ñƒ:
 Ð¼Ð°Ñ�Ð¸Ð², Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð½Ñ–Ñ�Ñ‚ÑŒ: %u, Ð±Ñ–Ñ‚Ð¾Ð²Ð° ÐºÐ°Ñ€Ñ‚Ð°: arsize: %u, a0: 0x%08x
 Ð°Ñ‚Ð¾Ð¼Ð°Ñ€Ð½Ð¸Ð¹, Ñ‚Ð¸Ð¿=0x%02x %s
-Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ %sÐ·Ð°Ð½ÐµÑ�ÐµÐ½Ð° Ð´Ð¾ Ð±Ð°Ð½ÐºÑƒ Ð°Ð´Ñ€ÐµÑ�Ð° [%lx:%04lx] (%lx) Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¾Ð´Ð½Ð¾Ð¼Ñƒ Ð±Ð°Ð½ÐºÑƒ Ð· Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ, Ð·Ð°Ð½ÐµÑ�ÐµÐ½Ð¾ÑŽ Ð´Ð¾ Ð±Ð°Ð½ÐºÑƒ, [%lx:%04lx] (%lx)Ð¾Ñ�Ð½Ð¾Ð²Ð°: %u, Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�: %u
-bfd_mach_o_canonicalize_symtab: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸bfd_mach_o_read_section_32: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�: 0x%x, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ð·Ð°Ð¼Ñ–Ñ�Ñ‚ÑŒ Ð½ÑŒÐ¾Ð³Ð¾ 32bfd_mach_o_read_section_64: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�: 0x%x, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ð·Ð°Ð¼Ñ–Ñ�Ñ‚ÑŒ Ð½ÑŒÐ¾Ð³Ð¾ 32bfd_mach_o_read_symtab_symbol: Ð½Ð°Ð·Ð²Ð° Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%lu >= %lu)bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %d (max %lu): Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÑŽÑ”Ð¼Ð¾ Ñƒ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ð¾Ð»Ñ� 0x%x: Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÑŽÑ”Ð¼Ð¾ Ñƒ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�bfd_mach_o_read_symtab_symbol: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %d Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñƒ %lubfd_mach_o_read_symtab_symbols: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÑŒ Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²bfd_mach_o_scan: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð°, 0x%lx/0x%lxbfd_pef_scan: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð°, 0x%lxblkbeg: Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x, Ð½Ð°Ð·Ð²Ð°: %.*s
+Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� L32R/CALLX Ð½Ð° CALL Ð·Ð°Ð·Ð½Ð°Ð»Ð° Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð·Ð²â€™Ñ�Ð·ÐºÑƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· Ð²Ñ…Ñ–Ð´Ð½Ð¸Ð¼ %s Ñ– Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ð¼ %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð·Ð°Ð½ÐµÑ�ÐµÐ½Ð° Ð´Ð¾ Ð±Ð°Ð½ÐºÑƒ Ð°Ð´Ñ€ÐµÑ�Ð° [%lx:%04lx] (%lx) Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¾Ð´Ð½Ð¾Ð¼Ñƒ Ð±Ð°Ð½ÐºÑƒ Ð· Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ, Ð·Ð°Ð½ÐµÑ�ÐµÐ½Ð¾ÑŽ Ð´Ð¾ Ð±Ð°Ð½ÐºÑƒ, [%lx:%04lx] (%lx)Ð¾Ñ�Ð½Ð¾Ð²Ð°: %u, Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�: %u
+bfd_mach_o_canonicalize_symtab: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸bfd_mach_o_read_section_32: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�: %#lx, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ð·Ð°Ð¼Ñ–Ñ�Ñ‚ÑŒ Ð½ÑŒÐ¾Ð³Ð¾ 32bfd_mach_o_read_section_32: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�: %#lx, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ð·Ð°Ð¼Ñ–Ñ�Ñ‚ÑŒ Ð½ÑŒÐ¾Ð³Ð¾ 32bfd_mach_o_read_symtab_symbol: Ð½Ð°Ð·Ð²Ð° Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%lu >= %u)bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %d (max %lu): Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÑŽÑ”Ð¼Ð¾ Ñƒ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ð¾Ð»Ñ� 0x%x: Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÑŽÑ”Ð¼Ð¾ Ñƒ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�bfd_mach_o_read_symtab_symbol: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %d Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñƒ %ubfd_mach_o_read_symtab_symbols: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÑŒ Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²bfd_mach_o_scan: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð°, 0x%lx/0x%lxbfd_pef_scan: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð°, 0x%lxblkbeg: Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x, Ð½Ð°Ð·Ð²Ð°: %.*s
 blkend: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: 0x%08x
-Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� %sÐ½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ñƒ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ EMH Ñƒ Ð¿ÐµÑ€ÑˆÐ¾Ð¼Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– GST
-Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ R_MEM_INDIRECT, Ñ�ÐºÑ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð¾ %sÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ DMT
+Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� (PC rel16) Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%s) Ð½Ðµ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÑ”Ñ‚ÑŒÑ�Ñ�Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¸Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼ Ð¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ bss-pltÐ¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ bss-plt Ñ‡ÐµÑ€ÐµÐ· %pBÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ð¾Ð±ÑƒÐ´ÑƒÐ²Ð°Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Â«%sÂ»Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Â«%sÂ»Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð½Ð° JALX Ð´Ð»Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸, Ñ�ÐºÑƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð°Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð½Ð° JALX Ð´Ð»Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸, Ñ�ÐºÑƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð°Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� %sÐ½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ñƒ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ EMH Ñƒ Ð¿ÐµÑ€ÑˆÐ¾Ð¼Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– GST
+Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ DMT
 Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº DMT
 Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ psect DMT
 Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ DST
@@ -1345,76 +1281,66 @@ X-Generator: Lokalize 1.5
 Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð·Ð°Ð¿Ð¸Ñ�Ñƒ GST
 Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ GST
 ÐºÐ»Ð°Ñ�: %u, dtype: %u, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u, Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸Ðº: 0x%08x
-Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %s Ñƒ %BÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» %sÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° __ctbpÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° __epÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° __gpÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ Ð¾Ð±Ñ€Ð°Ð· Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Â«%sÂ» Ð· Â«%sÂ»Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=HC11]Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=HC12]Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=HCS12]Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=XGATE]Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¿Ñ€Ð¸Ñ€Ñ–Ñ�Ñ‚ pc +%-4ddelta_pc_l: +0x%08x
+Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %s Ñƒ %pBÐ¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EEOM: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ð²Ð¼Ñ–Ñ�Ñ‚ Ð¹Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ� psindx Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ (%#lx)Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ð¹Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð·Ð° Ð·Ð°Ð»Ð¸ÑˆÐ¾Ðº Ð¼Ñ–Ñ�Ñ†Ñ� (%#x)Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EIHD: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� ETIRÐ¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� vmsÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» %sÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° __ctbpÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° __epÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° __gpÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ Ð¾Ð±Ñ€Ð°Ð· Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Â«%sÂ» Ð· Â«%sÂ»Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=HC11]Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=HC12]Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=HCS12]Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=XGATE]Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¿Ñ€Ð¸Ñ€Ñ–Ñ�Ñ‚ pc +%-4ddelta_pc_l: +0x%08x
 delta_pc_w %u
 Ð´ÐµÑ�Ðºdimct: %u, aflags: 0x%02x, Ñ†Ð¸Ñ„Ñ€: %u, ÑˆÐºÐ°Ð»Ð°: %u
-Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…: Â«%AÂ»Ð²Ñ–Ð´ÐºÐ¸Ð´Ð°Ñ”Ð¼Ð¾ FDE Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ� Ñƒ %B(%A).
+Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…: Â«%pAÂ»Ð²Ñ–Ð´ÐºÐ¸Ð´Ð°Ñ”Ð¼Ð¾ FDE Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ� Ñƒ %pB(%pA).
 Ñ€Ð¾Ð·Ñ€Ð¸Ð²Ð½Ð¸Ð¹ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ (nbr: %u)
-Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð° Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð¼Ð°Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€enumbeg, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u, Ð½Ð°Ð·Ð²Ð°: %.*s
+Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð° Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð¼Ð°Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñƒ Ð¾Ð±Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ– Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� %pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pAÐ²Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ð·Ð½Ð¸ÐºÐ»Ð° Ð· Ð±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒenumbeg, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u, Ð½Ð°Ð·Ð²Ð°: %.*s
 enumelt, Ð½Ð°Ð·Ð²Ð°: %.*s
 enumend
 ÐµÐ¿Ñ–Ð»Ð¾Ð³: Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: %u, Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº: %u
-Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ñ‚Ð¸Ð¿Ñƒ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð° Ð· Ð¿Ñ€Ð¸Ð²Ð°Ñ‚Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… elfÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (%#Lx) Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A, Ñ�ÐºÐµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð», Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Maverick, Ð° Ñƒ %B â€” Ñ‚Ð°ÐºÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñƒ Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– BE8Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñ�Ðº ÐºÐ¾Ð´ Ð· Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼, Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %B Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ— Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñ�Ðº ÐºÐ¾Ð´ Ð· Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¼ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼, Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %B Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¾Ñ— Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� APCS-%d, Ð° %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� APCS-%dÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� APCS-%d, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” APCS-%dÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� EP9312, Ð° %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� XScaleÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�, Ð°Ð»Ðµ %B Ð½Ð°Ð»Ð°ÑˆÑ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½Ð° 4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ‡Ð¸Ñ�Ð»Ð° Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð° %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ—Ñ… Ñƒ Ñ†Ñ–Ð»Ð¾Ñ‡Ð¸Ñ�ÐµÐ»ÑŒÐ½Ñ– Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ†Ñ–Ð»Ñ– Ñ‡Ð¸Ñ�Ð»Ð° Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð° %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ—Ñ… Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð±Ñ–Ð»ÑŒÑˆÐ¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ð¼Ð°Ñ�Ð¸Ð²Ñƒ, Ð½Ñ–Ð¶ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾ Ñƒ %BÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð±Ñ–Ð»ÑŒÑˆÐ¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ°, Ð½Ñ–Ð¶ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾ Ñƒ %BÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s, Ð°Ð»Ðµ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ 64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ð´Ñ–Ð¹Ñ�Ð½Ñ– Ñ‡Ð¸Ñ�Ð»Ð° Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾Ñ— Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ñ–, Ð° Ñƒ %B â€” 32-Ð±Ñ–Ñ‚Ð¾Ð²Ñ–Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ FPA, Ð° Ñƒ %B â€” Ð½Ñ–Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ FPU-3.0, Ð°Ð»Ðµ Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð»Ð¸ÑˆÐµ FPU-2.0Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Maverick, Ð° Ñƒ %B â€” Ð½Ñ–Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ VFP, Ð° Ñƒ %B â€” Ð½Ñ–Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ VFP, Ð° Ñƒ %B â€” Ð½Ñ–Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ñ– FP, Ð° Ñƒ %B â€” Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ñ– FPÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸-Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ iWMMXt, Ð° Ñƒ %B â€” Ð½Ñ–Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ñ– FP, Ð° Ñƒ %B â€” Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ñ– FPÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ñƒ %s, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ñƒ %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s, Ð° Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð»Ð¸ÑˆÐµ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— MSP430Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð²ÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ, Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— MSP430Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð¼Ð°Ð»Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ, Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B(%A) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ (%#lx Ð±Ð°Ð¹Ñ‚Ñ–Ð²)Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ð³Ð¾ ISA x86: 0x%x>Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾Ð³Ð¾ ISA x86: 0x%x>Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ñ�Ñ‚Ñ– x86: 0x%x>Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² R2 Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾.Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ñ–Ð² %d/%dÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»Ñ–Ð² Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€, %c/%cÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ñƒ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ– R9Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð´Ð°Ð½Ñ– Ñƒ Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–, Ñ†Ñ– Ð´Ð°Ð½Ñ– Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¾ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² Â«%sÂ»Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð¼Ñ–Ñ‚ÐºÐ° Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Â«%d, %sÂ» Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð° Ð· Ð¼Ñ–Ñ‚ÐºÐ¾ÑŽ Â«%d, %sÂ»Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð°Ñ†Ñ–Ñ— SB ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ R9Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð°Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ rf16 Ñ– Ð¿Ð¾Ð²Ð½Ð¸Ð¹ Ð½Ð°Ð±Ñ–Ñ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² %B.
-Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� ISA, %s Ð· %s.
-Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %s.
-Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %s: %s Ð· %s.
-Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð°Ð´Ñ€ÐµÑ�Ð¸Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ Ð±Ð°Ð·Ð¾Ð²Ñ– Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð° %s Ð· %s.
-Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� ISA %s.
-Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð· %B Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²ÐµÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð» _SDA_BASE_.Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� IFC.Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ IFC.Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±â€™Ñ”ÐºÑ‚-Ð´Ð¶ÐµÑ€ÐµÐ»Ð¾, %B, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÑ€Ñ�Ñ–ÑŽ EABI %d, Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�, %B, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÑ€Ñ�Ñ–ÑŽ EABI %dÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ€Ð¾Ð·Ð±Ñ–Ð¶Ð½Ð¾Ñ�Ñ‚Ñ– Ñƒ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ– Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� fp16 Ð¼Ñ–Ð¶ %B Ñ‚Ð° %BÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� (Ð·Ð°Ð±ÑƒÐ»Ð¸ -fpic?)Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» __rtinitÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Tag_ABI_array_object_align_expected Ñƒ %BÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Tag_ABI_array_object_alignment Ñƒ %BÐ²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfo.Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±Ñ‡Ð¸Ñ�Ð»Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfo.Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfo.ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� .fixupÑ‚Ð¸Ð¿Ð¾Ð²Ð¸Ð¹ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»Ñ�Ñ‚Ð¸ %sÐ²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%08x, Ð²Ñ‚Ñ–Ð¼, _gp Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾
-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð±ÐµÐ· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� _gpÐ¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒÐ¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s
-incr_linum(b): +%u
+ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ %pB(%pA); Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ .eh_frame_hdr Ð½Ðµ Ð±ÑƒÐ´Ðµ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� %s: %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ñ‚Ð¸Ð¿Ñƒ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð° Ð· Ð¿Ñ€Ð¸Ð²Ð°Ñ‚Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… elfÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ %s, Ð° Ñƒ %pB â€” Ñ‚Ð°ÐºÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñƒ Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– BE8Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� APCS-%d, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” APCS-%dÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� EP9312, Ð° %pB Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� XScaleÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�, Ð°Ð»Ðµ %pB Ð½Ð°Ð»Ð°ÑˆÑ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½Ð° 4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ‡Ð¸Ñ�Ð»Ð° Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð° %pB Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ—Ñ… Ñƒ Ñ†Ñ–Ð»Ð¾Ñ‡Ð¸Ñ�ÐµÐ»ÑŒÐ½Ñ– Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ†Ñ–Ð»Ñ– Ñ‡Ð¸Ñ�Ð»Ð° Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð° %pB Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ—Ñ… Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð±Ñ–Ð»ÑŒÑˆÐ¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ð¼Ð°Ñ�Ð¸Ð²Ñƒ, Ð½Ñ–Ð¶ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾ Ñƒ %pBÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð±Ñ–Ð»ÑŒÑˆÐ¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ°, Ð½Ñ–Ð¶ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾ Ñƒ %pBÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s, Ð°Ð»Ðµ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ %s, Ð° Ñƒ %pB â€” Ð½Ñ–Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ 64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ð´Ñ–Ð¹Ñ�Ð½Ñ– Ñ‡Ð¸Ñ�Ð»Ð° Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾Ñ— Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ñ–, Ð° Ñƒ %pB â€” 32-Ð±Ñ–Ñ‚Ð¾Ð²Ñ–Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ FPU-3.0, Ð°Ð»Ðµ Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð»Ð¸ÑˆÐµ FPU-2.0Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ VFP, Ð° Ñƒ %pB â€” Ð½Ñ–Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ñ– FP, Ð° Ñƒ %pB â€” Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ñ– FPÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸-Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ iWMMXt, Ð° Ñƒ %pB â€” Ð½Ñ–Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ñ– FP, Ð° Ñƒ %pB â€” Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ñ– FPÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ñƒ %s, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ñƒ %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s, Ð° Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð»Ð¸ÑˆÐµ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— MSP430Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð²ÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ, Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— MSP430Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð¼Ð°Ð»Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ, Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ð³Ð¾ ISA x86: 0x%x>Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾Ð³Ð¾ ISA x86: 0x%x>Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ñ�Ñ‚Ñ– x86: 0x%x>Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð°Ñ†Ñ–Ñ— SB ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ R9Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² R2 Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ rf16 Ñ– Ð¿Ð¾Ð²Ð½Ð¸Ð¹ Ð½Ð°Ð±Ñ–Ñ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² %pBÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ñ–Ð² %d/%dÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� ISA, %s Ð· %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»Ñ–Ð² Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€, %c/%cÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %s: %s Ð· %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ñƒ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ– R9Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð´Ð°Ð½Ñ– Ñƒ Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–, Ñ†Ñ– Ð´Ð°Ð½Ñ– Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¾ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² Â«%sÂ»Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð¼Ñ–Ñ‚ÐºÐ° Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Â«%d, %sÂ» Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð° Ð· Ð¼Ñ–Ñ‚ÐºÐ¾ÑŽ Â«%d, %sÂ»Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ð¸Ð¹ Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð¾Ð±'Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð»Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð°Ð´Ñ€ÐµÑ�Ð¸Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ Ð±Ð°Ð·Ð¾Ð²Ñ– Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð° %s Ð· %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� ISA %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð· %pB Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²ÐµÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð°Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�Ð¿Ñ€Ð¾Ð±Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� %pB Ð·Ñ– Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¼ Ñ„Ð°Ð¹Ð»Ð¾Ð¼ %pB Ñ–Ð½ÑˆÐ¾Ñ— Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»: %sÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ€Ð¾Ð·Ð±Ñ–Ð¶Ð½Ð¾Ñ�Ñ‚Ñ– Ñƒ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ– Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� fp16 Ð¼Ñ–Ð¶ %pB Ñ‚Ð° %pBÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� (Ð·Ð°Ð±ÑƒÐ»Ð¸ -fpic?)Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±â€™Ñ”ÐºÑ‚-Ð´Ð¶ÐµÑ€ÐµÐ»Ð¾, %pB, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÑ€Ñ�Ñ–ÑŽ EABI %d, Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�, %pB, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÑ€Ñ�Ñ–ÑŽ EABI %dÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ ARC4 Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð¾Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» __rtinitÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Tag_ABI_array_object_align_expected Ñƒ %pBÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Tag_ABI_array_object_alignment Ñƒ %pBÐ¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ„Ð°Ð¹Ð»Ð° Ñ�Ñ‚Ð°Ð»Ð¸Ñ�Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸, %pBÐ²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfoÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±Ñ‡Ð¸Ñ�Ð»Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfoÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� HI16Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfoÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð·Ñ�ÑƒÐ²Ð¸ Ñ„Ð°Ð¹Ð»Ñ–Ð² Ñƒ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð·Ñ– Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� .fixupÑ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ñ” Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð¸Ð¼Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ñ„Ð°Ð¹Ð» Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–Ñ„Ð°Ð¹Ð» Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼Ñ„Ð°Ð¹Ð» Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾Ð¿Ð¾Ð´Ð°Ð»ÑŒÑˆÑ– Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� FDE, Ñ�ÐºÐµ Ð·Ð°Ð²Ð°Ð¶Ð°Ñ” Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½ÑŽ .eh_frame_hdr, Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð¾Ñ‚Ð¸Ð¿Ð¾Ð²Ð¸Ð¹ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»Ñ�Ñ‚Ð¸ %sÐ²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%08x, Ð²Ñ‚Ñ–Ð¼, _gp Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾
+Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð±ÐµÐ· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� _gpÐ¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒÐ¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ñ‚Ð¸Ð¿Ð¸ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ñ–Ð² Ñƒ Ñ„Ð°Ð¹Ð»Ð°Ñ… mach-o: %ld Ñ– %ldincr_linum(b): +%u
 incr_linum_l: +%u
 incr_linum_w: +%u
 Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñ‚ÑƒÑ‚: 0x%08x
-Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð»Ñ� R_LM32_16_GOTÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð»Ñ� R_OR1K_GOT16Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð°Ð±Ð¾ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð´Ð¾ Ð½ÐµÐ¿Ð°Ñ€Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Â«%sÂ» Ð· Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¾ÑŽ Â«%sÂ» Ð¿Ñ€Ð¸Ð·Ð²ÐµÐ»Ð¾ Ð´Ð¾ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾Ñ— Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ñ–Ð´Ð¾Ð·Ñ€Ñ–Ð»Ð¸Ð²Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÑ†Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð½ÐµÐ¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð°Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .got.locÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ñ…Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ
- Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– ELF Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– mmo.
- Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ objcopy Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ�
- Ð´Ð°Ð½Ð¸Ñ… Ð· ELF Ð°Ð±Ð¾ mmo Ð°Ð±Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ Â«-no-expandÂ»
- (Ð´Ð»Ñ� gcc Â«-Wa,-no-expandÂ»)Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ñ…Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ
- Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– ELF Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– mmo.
- Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ objcopy Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ�
- Ð´Ð°Ð½Ð¸Ñ… Ð· ELF Ð°Ð±Ð¾ mmo Ð°Ð±Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° gcc
- Â«-mno-base-addressesÂ».Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %dÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� %s Ð· ÐºÐ¾Ð½Ñ‚ÐµÐºÑ�Ñ‚Ð°Ð¼Ð¸ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº ip2k: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ñ‰Ð¾Ð´Ð¾ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ Ñƒ 0x%08lx (Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� = 0x%08lx).ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº ip2k: Ð·Ð°Ð¹Ð²Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Ñ‰Ð¾Ð´Ð¾ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ Ñƒ 0x%08lx (Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� = 0x%08lx).ÐžÐ¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ ip2k: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½ÑŒÐžÐ¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ ip2k: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½ÑŒ Ð±ÐµÐ· Ð¿Ð¾Ð²Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ñ�Ñ‚Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ.Ð¼Ñ–Ñ‚ÐºÐ°, Ð½Ð°Ð·Ð²Ð°: %.*s
+Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ RL78Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ RL78Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð»Ñ� %sÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð°Ð±Ð¾ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð´Ð¾ Ð½ÐµÐ¿Ð°Ñ€Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Â«%sÂ» Ð· Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¾ÑŽ Â«%sÂ» Ð¿Ñ€Ð¸Ð·Ð²ÐµÐ»Ð¾ Ð´Ð¾ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾Ñ— Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ñ–Ð´Ð¾Ð·Ñ€Ñ–Ð»Ð¸Ð²Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÑ†Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð½ÐµÐ¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð°Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .got.locÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð½ÐµÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ñ–Ñ�Ñ‚ÑŒ: Ð·Ð°Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� %lu != Ð¼Ð°ÐºÑ�. %lu; Ð±ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ñ‚Ðµ Ð¿Ñ€Ð¾ Ñ†ÑŽ Ð²Ð°Ð´ÑƒÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ TARGET2, Â«%sÂ»Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� bfdÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pAÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ñ…Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– ELF Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– mmo. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ objcopy Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð· ELF Ð°Ð±Ð¾ mmo Ð°Ð±Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ Â«-no-expandÂ» (Ð´Ð»Ñ� gcc Â«-Wa,-no-expandÂ»)Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ñ…Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– ELF Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– mmo. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ objcopy Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð· ELF Ð°Ð±Ð¾ mmo Ð°Ð±Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° gcc Â«-mno-base-addressesÂ».Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð´Ñ–Ñ�Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ñƒ .eh_frame_entry: %pAÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ ETIRÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� %s Ð· ÐºÐ¾Ð½Ñ‚ÐµÐºÑ�Ñ‚Ð°Ð¼Ð¸ÐžÐ¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ ip2k: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½ÑŒÐžÐ¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ ip2k: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½ÑŒ Ð±ÐµÐ· Ð¿Ð¾Ð²Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ñ�Ñ‚Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ.Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾, Ñ†Ñ� Ð²ÐµÑ€Ñ�Ñ–Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° - %s - Ñ” Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ð¾ÑŽ?Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ (PC rel26) Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%s)Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¸Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ�Ð»Ð¾Ð²Ð¾Ð¼ Ð°Ð´Ñ€ÐµÑ�Ð¸Ð¼Ñ–Ñ‚ÐºÐ°, Ð½Ð°Ð·Ð²Ð°: %.*s
 Ð´Ð¾Ð²Ð¶.: %2u, Ñ‚Ð¸Ð¿: %2u Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ñ�Ð´ÐºÐ°  (Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u)
-ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ð¾Ð±Ñ€Ð°Ð·ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° Ñƒ %u Ð³Ñ€ÑƒÐ¿Ð°Ñ… %s
-  Ð³Ñ–Ð»ÐºÐ°        %lu
-  ÐºÐ¾Ñ€Ð¸Ð³. toc   %lu
-  Ð´Ð¾Ð²Ð³Ð° Ð³Ñ–Ð»ÐºÐ°  %lu
-  Ð´. ÐºÐ¾Ñ€. toc  %lu
-  plt-Ð²Ð¸ÐºÐ»Ð¸Ðº   %lu
-  toc Ð²Ð¸Ðº. plt %lu
-  Ð·Ð°Ð³. Ð·Ð°Ð¿Ð¸Ñ�   %luÐ»Ñ–Ñ‚ÐµÑ€Ð°Ð»Ð²Ñ–Ð´Ð±ÑƒÐ²Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð±ÑƒÐºÐ²Ð°Ð»ÑŒÐ½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒmach-o: Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² (%u), Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð° ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” 255,
-mep: Ð½ÐµÐ¼Ð°Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� ÐºÐ¾Ð´Ñƒ %dmodbeg
+ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ð¾Ð±Ñ€Ð°Ð·ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ð½Ðµ Ð·Ð¼Ñ–Ð³ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %u Ð³Ñ€ÑƒÐ¿Ñ–
+ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ð½Ðµ Ð·Ð¼Ñ–Ð³ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %u Ð³Ñ€ÑƒÐ¿Ð°Ñ…
+ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ð½Ðµ Ð·Ð¼Ñ–Ð³ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %u Ð³Ñ€ÑƒÐ¿Ð°Ñ…
+ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ð½Ðµ Ð·Ð¼Ñ–Ð³ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %u Ð³Ñ€ÑƒÐ¿Ñ–
+Ð»Ñ–Ñ‚ÐµÑ€Ð°Ð»Ð²Ñ–Ð´Ð±ÑƒÐ²Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð±ÑƒÐºÐ²Ð°Ð»ÑŒÐ½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒÐ¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° Ð´Ð¾Ð²Ð³Ð¾Ñ— Ð³Ñ–Ð»ÐºÐ¸, Â«%sÂ»mach-o: Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² (%u), Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð° ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” 255,
+Ð°Ñ€Ñ…Ñ–Ð² Ð· Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼Ð¿Ð°Ð¼'Ñ�Ñ‚ÑŒ Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð¾mep: Ð½ÐµÐ¼Ð°Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� ÐºÐ¾Ð´Ñƒ %dmodbeg
 modend
-Ð½Ð°Ð·Ð²Ð°: [Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: %08lx Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° %d]: Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ð¹Ð²Ð¿Ñ€Ð¾Ð²Ð°Ð´Ð¶ÐµÐ½Ð¾ Ð½Ð¾Ð²Ñ– Ð²Ñ…Ñ–Ð´Ð½Ñ– Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—, Ð°Ð»Ðµ Ð½Ðµ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…:Ð½Ñ–Ñ€Ð¾Ð·Ñ€Ð¸Ð²Ð½Ð¸Ð¹ Ð¼Ð°Ñ�Ð¸Ð² %s
+Ð½Ð°Ð·Ð²Ð°: [Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: %08lx Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° %d]: Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ð¹Ð²Ð¿Ñ€Ð¾Ð²Ð°Ð´Ð¶ÐµÐ½Ð¾ Ð½Ð¾Ð²Ñ– Ð²Ñ…Ñ–Ð´Ð½Ñ– Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—, Ð°Ð»Ðµ Ð½Ðµ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…:Ð½Ñ–Ñ–Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð½Ð°Ð·Ð¾Ð²Ð½Ñ– %s Ð½Ðµ Ð¿Ð¾Ð²â€™Ñ�Ð·Ð°Ð½Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð¸Ð±ÐµÐ· Ð¿Ð¾Ð¼Ð¸Ð»Ð¾ÐºÐ±Ñ–Ð»ÑŒÑˆÐµ Ð°Ñ€Ñ…Ñ–Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð½ÐµÐ¼Ð°Ñ”Ð½ÐµÐ¼Ð°Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²Ñ€Ð¾Ð·Ñ€Ð¸Ð²Ð½Ð¸Ð¹ Ð¼Ð°Ñ�Ð¸Ð² %s
 Ð½ÐµÐ´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°ÑŽÑ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð», %sÑ�ÑƒÐ¼Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ 0x%v Ð±ÐµÐ· Ð¾Ð²ÐµÑ€Ð»ÐµÑŽ Ñ‚Ð° Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð¾Ð²ÐµÑ€Ð»ÐµÑŽ 0x%v Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑŽÑ‚ÑŒ Ð¼Ñ–Ñ�Ñ‚ÐºÑ–Ñ�Ñ‚ÑŒ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ñ…Ð¾Ð²Ð¸Ñ‰Ð° Ð´Ð°Ð½Ð¸Ñ…
-Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– @fptrÐ½ÐµÐ¼Ð°Ñ”Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ñ€Ð¾Ñ�Ñ‚Ð¾Ñ€Ñƒ GOT Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² GOTÐ½Ðµ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾: Ð´Ð°Ð½Ñ–=%lx Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾=%d
+Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– @fptrÐ½ÐµÐ¼Ð°Ñ”Ñ€Ð¾Ð·Ð´Ñ–Ð», Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð»Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ñ€Ð¾Ñ�Ñ‚Ð¾Ñ€Ñƒ GOT Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² GOTÐ½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ð´Ð»Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒÐ½Ðµ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾: Ð´Ð°Ð½Ñ–=%lx Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾=%d
 Ð½Ðµ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾: Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð·Ð¼Ñ–Ð½Ð½Ñƒ Ñ�ÐµÑ€ÐµÐ´Ð¾Ð²Ð¸Ñ‰Ð° var
-Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ñ�Ð»Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ÑƒÐ¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸Ðº
-Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = %lxÐ·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = %lx:Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = %lx: Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = %x:Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = 0x%lxÐ·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = 0x%lx:Ð¿Ñ€Ð¾Ð»Ð¾Ð³: Ð°Ð´Ñ€ÐµÑ�Ð° bkpt 0x%08x
+Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ– Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸!Ð·Ñ�ÑƒÐ² Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÐ¸ Ð´Ð»Ñ� Ð²Ñ…Ñ–Ð´Ð½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ» Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ Ñ—Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ÑƒÐ¾Ð´Ð½Ñ–Ñ”ÑŽ Ñ–Ð· Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¸Ñ… Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½ Ñ†Ñ–Ñ”Ñ— Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñ” Ñ‚Ðµ, Ñ‰Ð¾ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ ÐºÐ¾Ð´Ñ– Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ‚Ð°Ðº, Ð½Ð°Ñ‡Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ð°Ñ” Ð±Ñ–Ð»ÑŒÑˆÐµ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�, Ð½Ñ–Ð¶ Ð±ÑƒÐ»Ð¾ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð¾ Ñ‚Ð°Ð¼, Ð´Ðµ Ð¹Ð¾Ð³Ð¾ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ñ�Ð»Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ÑƒÐ¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸Ðº
+Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = %lxÐ·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = %lx:Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = %lx: Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = 0x%lxÐ·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = 0x%lx:Ð¿Ñ€Ð¾Ð»Ð¾Ð³: Ð°Ð´Ñ€ÐµÑ�Ð° bkpt 0x%08x
 Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒÐ·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» recbeg: Ð½Ð°Ð·Ð²Ð°: %.*s
 recend
-Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ð·Ð°Ð½ÐµÑ�ÐµÐ½Ñƒ Ð´Ð¾ Ð±Ð°Ð½ÐºÑƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ [%lx:%04lx] Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð¼Ñƒ Ð¿Ñ€Ð¾Ñ�Ñ‚Ð¾Ñ€Ñ– Ð°Ð´Ñ€ÐµÑ�, %04lxÑ€ÐµÐ³Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (%d) Ñ” *Ð�Ð•Ð’Ð†Ð”ÐžÐœÐ˜Ðœ*Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%sÂ» Ñ‰Ðµ Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð», Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ð½Ð¾ÐºÐ¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð¿Ð°Ñ€Ð½Ð¸Ð¼ Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ñ–Ð¶ Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ� %B: %s
+Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ð·Ð°Ð½ÐµÑ�ÐµÐ½Ñƒ Ð´Ð¾ Ð±Ð°Ð½ÐºÑƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ [%lx:%04lx] Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð¼Ñƒ Ð¿Ñ€Ð¾Ñ�Ñ‚Ð¾Ñ€Ñ– Ð°Ð´Ñ€ÐµÑ�, %04lxÐ¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ», Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð¼Ð¾Ð¶Ðµ Ð¿Ñ€Ð¸Ð·Ð²ÐµÑ�Ñ‚Ð¸ Ð´Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº Ñƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ–.Ñ€ÐµÐ³Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ %%g%d: %s Ñƒ %pB, Ñ€Ð°Ð½Ñ–ÑˆÐµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ %s Ñƒ %pBÑƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð´Ð°Ð½Ñ–
+Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (%d) Ñ” *Ð�Ð•Ð’Ð†Ð”ÐžÐœÐ˜Ðœ*Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� psect, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ñ” RELÐ¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð», Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ð½Ð¾ÐºÐ¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð¿Ð°Ñ€Ð½Ð¸Ð¼ Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ñ–Ð¶ Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾Ð²Ð¸Ð»ÑƒÑ‡Ð°Ñ”Ð¼Ð¾ Ð½ÐµÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Â«%pBÂ»Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ� %pB: %s
 Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¾Ð²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %drtnbeg
 rtnend: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ 0x%08x
-Ð°Ð´Ñ€ÐµÑ�Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%lx) Ð½Ð¸Ð¶Ñ‡Ðµ Ð·Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¾Ðº Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° (%lx)septyp, Ð½Ð°Ð·Ð²Ð°: %.*s
+Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ðµ Ð¼Ð°Ñ” Ð²Ð¼Ñ–Ñ�Ñ‚Ñƒseptyp, Ð½Ð°Ð·Ð²Ð°: %.*s
 set_abs_pc: 0x%08x
 set_line_num(w) %u
 set_line_num_b %u
 set_line_num_l %u
-Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¸Ð¹ Ð¾Ð±'Ñ”ÐºÑ‚Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” 64 ÐºÐ‘; Ð½Ð¸Ð¶Ñ‡Ð¸Ð¹ Ð·Ð° Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… (Ð´Ð¸Ð². Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -G)som_sizeof_headers Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾Ð²Ð¸Ð±Ð°Ñ‡Ñ‚Ðµ, Ñƒ Ñ�ÐºÑ€Ð¸Ð¿Ñ‚Ñ– Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ Ð½Ð°ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ� Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð².
+Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¸Ð¹ Ð¾Ð±'Ñ”ÐºÑ‚Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ– Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pAÑ€Ð¾Ð·Ð´Ñ–Ð» Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” 64 ÐºÐ‘; Ð½Ð¸Ð¶Ñ‡Ð¸Ð¹ Ð·Ð° Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… (Ð´Ð¸Ð². Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -G)som_sizeof_headers Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾Ð²Ð¸Ð±Ð°Ñ‡Ñ‚Ðµ, Ñƒ Ñ�ÐºÑ€Ð¸Ð¿Ñ‚Ñ– Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ Ð½Ð°ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ� Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð².
 Ð²Ð¸Ð±ÐµÑ‡Ñ‚Ðµ, modtab, toc Ñ‚Ð° extrefsyms Ð´Ð»Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´ dysymtab Ñƒ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ–Ð¹ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ñ‰Ðµ Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾.Ð´Ð¶ÐµÑ€ÐµÐ»Ð¾ (Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u)
-Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ– Ð´Ð°Ð½Ñ–: %s
-Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð° (Ð±ÐµÐ· Ð½Ð°Ð·Ð²Ð¸)ÑˆÐ°Ð±Ð»Ð¾Ð½ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ð´Ð»Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‚Ð¸ .plt, Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ dp = %ldÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸ Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°ÑŽÑ‚ÑŒ Ð¾Ð±Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ÑƒÑ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒÑ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ð°Ñ�Ð¸Ð² Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸:
-term(b): 0x%02xterm_w: 0x%04xÑƒ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ–Ð¹ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ†Ñ–Ð»Ñ– bfin Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ� Ñ‚Ð¸Ð¿Ñƒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°:
+Ñ„Ð°Ð»ÑŒÑˆÐ¸Ð²Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� ALPHA_R_BSRÐ¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ Ñ�Ñ‚ÐµÐºÐ° Ð±ÑƒÐ´Ðµ Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð²Ð¸ÐºÐ»Ð¸Ðº Ð· %s Ð´Ð¾ %s
+Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° (%d) Ñƒ _bfd_vms_pushÐ¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ñƒ _bfd_vms_popÑ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ– Ð´Ð°Ð½Ñ–: %s
+Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Â«%sÂ» Ñ” Ñ–Ð½ÑˆÐ¾ÑŽ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð° (Ð±ÐµÐ· Ð½Ð°Ð·Ð²Ð¸)ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸ Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°ÑŽÑ‚ÑŒ Ð¾Ð±Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ÑƒÑ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒÑ�Ð¸Ð¼Ð²Ð¾Ð» Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¼Ð°Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� st_other Ð´Ð»Ñ� Ð²ÐµÑ€Ñ�Ñ–Ñ— ABI 1Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñ–Ð²: REGISTER Ñƒ %pB Ñ– %s Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñƒ %pBÑ�Ð¸Ð¼Ð²Ð¾Ð» Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸, Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒÐ¼Ð°Ñ�Ð¸Ð² Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸:
+term(b): 0x%02xterm_w: 0x%04xÑƒ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ–Ð¹ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ†Ñ–Ð»Ñ– bfin Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF Ð· %pB Ð²Ð¸Ð½Ð¸Ðº ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚Ð·Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² GOT Ð´Ð»Ñ� -fpic. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð· -fPICÑ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÑƒÑ‚Ð¸ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–ÑŽ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð´Ð»Ñ� ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒÑ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ� Ñ‚Ð¸Ð¿Ñƒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°:
 Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ� Ñ‚Ð¸Ð¿Ñƒ Ð´Ð»Ñ� Ñ�Ð¿Ð¸Ñ�ÐºÑƒ Ñ–Ð½Ð´ÐµÐºÑ�Ñ–Ð² %u:
 Ñ‚Ð¸Ð¿Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸Ðº
 typspec (Ð´Ð¾Ð²Ð¶.: %u)
-Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð´Ð°Ð½Ñ– Ð´Ð»Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� 0x%lxÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ ARM Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ THUMB Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, 0x%lxÑ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %s Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ Ð· %BÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, 0x%lxÐ½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ€Ñ�Ð´Ð¾Ðº %s
-Ð½ÐµÐ¿ÐµÐ²Ð½Ñ– Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð¿Ð¾Ð·Ð° COFFÐ½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�, %s, Ñƒ Ñ�ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–: %sÐ½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ egsd, %u
+Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð´Ð°Ð½Ñ– Ð´Ð»Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� %#xÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ %s Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ñ–Ð²Ð½Ð¾Ñ†Ñ–Ð½Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, %#xÐ½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð´Ð¾Ñ�Ñ�Ð³Ñ‚Ð¸ %s (Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%08x) Ñ–Ð· Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° (Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%08x), Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� (%d) Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ, Ð²Ñ–Ð´ -32678 Ð´Ð¾ 32767.
+Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� EIHS Ð·Ñ– Ð·Ñ�ÑƒÐ²Ð¾Ð¼ %#xÑ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %s Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ Ð· %pBÐ½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, %#xÐ½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ€Ñ�Ð´Ð¾Ðº %s
+Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�, %s, Ñƒ Ñ�ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–: %sÐ½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ STO_SH5_ISA32 Ð½Ð°Ð´ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¾Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¼Ð°ÑˆÐ¸Ð½Ð¸Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñ„Ð°Ð¹Ð»Ð° core OSF/1, %dÐ½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ egsd, %u
 Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð¿Ñ–Ð´Ñ‚Ð¸Ð¿ emh, %u
-Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° ETIR, %dÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ, 0x%lxÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %dÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€, Â«%cÂ», Ñƒ Ñ�ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %dÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾: %xÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MIPS: %dÐ½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (0x%x)Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° STA, %sÐ½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ñ–Ð¶ Ð¿Ñ€Ð¾Ñ�Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ Ð°Ð´Ñ€ÐµÑ� data Ñ‚Ð° insnÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ gpÐ°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850 E3Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850eÐ°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e1Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2v3Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e3v5vflags: 0x%02x, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: 0x%08x vma:			ÐŸÐ¾Ñ‡Ð°Ñ‚ÐºÐ�Ð´Ñ€ÐµÑ�Ð°	 ÐšÑ–Ð½Ñ†Ð�Ð´Ñ€ÐµÑ�Ð°s	  Ð”Ð°Ð½Ñ–Unwind
-Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ñ– %B Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¾Ð¼ wchar_tÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ñ– %B Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ñ‚Ð¸Ð¼, Ñ‡Ð¸ Ð±ÑƒÐ»Ð¾ Ñ—Ñ… Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� DSBTÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸Ðº Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² %B Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ñ‚ÑŒÑ�Ñ�Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÐ¸ %s, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÐ¸ %s; Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÑ–Ð² Ð¼Ñ–Ð¶ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð·Ð½Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹ wchar_t, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹ wchar_t; Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ wchar_t Ð¼Ñ–Ð¶ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð·Ð½Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ GNU_PROPERTY_TYPE (%ld), Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %#lxÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ GNU_PROPERTY_TYPE (%ld), Ñ‚Ð¸Ð¿ (0x%x), Ð¾Ð±Ñ�Ñ�Ð³ Ð´Ð°Ð½Ð¸Ñ…: 0x%xÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Â«Ð½Ðµ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ñ‚Ð¸ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½ÐµÂ», Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: 0x%xÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚ÐµÐºÐ°: 0x%xÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»ÑƒÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ GNU_PROPERTY_TYPE (%ld): 0x%xÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ
+Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %sÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ñ–Ð´Ñ‚Ð¸Ð¿ EGSD, %dÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° ETIR, %dÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ %dÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ, %#xÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %dÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€, Â«%cÂ», Ñƒ Ñ�ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %sÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s + %sÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %dÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ– %sÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾: %xÐ½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ INPUT_SECTION_FLAG, %s
+Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TI COFF, Â«0x%xÂ»Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� .stabÐ½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° STA, %sÐ½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ñ–Ð¶ Ð¿Ñ€Ð¾Ñ�Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ Ð°Ð´Ñ€ÐµÑ� data Ñ‚Ð° insnÐ½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %#xÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ gpÐ°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850 E3Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850eÐ°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e1Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2v3Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e3v5Ð·Ð¼Ñ–Ð½Ð½Ñƒ Â«%sÂ» Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ñƒ Ð¾Ð´Ð½Ñ–Ð¹ Ð· Ð¼Ð°Ð»Ð¸Ñ…, Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ñ… Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÐ¸Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð¸Ñ…Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÑ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ñ– Ð½ÑƒÐ»ÑŒÐ¾Ð²Ñ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ñ–Ð¹ Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÑ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð¹Ð¼Ð°Ñ‚Ð¸ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¼Ð°Ð»Ð¸Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð¸Ñ…vflags: 0x%02x, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: 0x%08x vma:			ÐŸÐ¾Ñ‡Ð°Ñ‚ÐºÐ�Ð´Ñ€ÐµÑ�Ð°	 ÐšÑ–Ð½Ñ†Ð�Ð´Ñ€ÐµÑ�Ð°s	  Ð”Ð°Ð½Ñ–Unwind
+Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .pdata (%ld) Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ %d
+Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ñ– %pB Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¾Ð¼ wchar_tÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ñ– %pB Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ñ‚Ð¸Ð¼, Ñ‡Ð¸ Ð±ÑƒÐ»Ð¾ Ñ—Ñ… Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� DSBTÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸, Ð° Ñƒ %pB Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸Ðº Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² %pB Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ñ‚ÑŒÑ�Ñ�Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ, Ð° Ñƒ %pB Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %sÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %dÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ð´Ð»Ñ� Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %dÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÐ¸ %s, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÐ¸ %s; Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÑ–Ð² Ð¼Ñ–Ð¶ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð·Ð½Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹ wchar_t, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹ wchar_t; Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ wchar_t Ð¼Ñ–Ð¶ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð·Ð½Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ 64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ð´Ð¾Ð²Ð³Ñ– Ñ†Ñ–Ð»Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ, Ð° Ñƒ %pB â€” 128-Ð±Ñ–Ñ‚Ð¾Ð²Ñ–Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¸Ð¹ ABI AltiVec, %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¸Ð¹ ABI SPEÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð´Ð¾Ð²Ð³Ñ– Ñ†Ñ–Ð»Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ IBM, Ð° Ñƒ %pB â€” IEEEÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ, Ð° Ñƒ %pB â€” Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ð»Ñ� Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ», Ð° Ñƒ %pB â€” Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð°Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB r3/r4 Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð´Ð»Ñ� Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ� Ð¼Ð°Ð»Ð¸Ñ… Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€, Ð° Ñƒ %pB Ð´Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð¿Ð°Ð¼â€™Ñ�Ñ‚ÑŒÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %sÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA %d (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %dÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %sÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ð´Ð»Ñ� Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %dÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼, %s Ð· %sÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ GNU_PROPERTY_TYPE (%ld), Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %#lxÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ GNU_PROPERTY_TYPE (%ld), Ñ‚Ð¸Ð¿ (0x%x), Ð¾Ð±Ñ�Ñ�Ð³ Ð´Ð°Ð½Ð¸Ñ…: 0x%xÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Â«Ð½Ðµ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ñ‚Ð¸ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½ÐµÂ», Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: 0x%xÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚ÐµÐºÐ°: 0x%xÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»ÑƒÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ARC %dÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI %dÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° MSPABI %dÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ GNU_PROPERTY_TYPE (%ld): 0x%xÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ
 Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°Ñ” %s
-Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¿Ñ€Ð¾Ð±Ð° ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ»Ð¸Ðº Ð½ÐµÑ„ÑƒÐ½ÐºÑ†Ñ–Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, %s, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñƒ %BÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑ”Ñ‚ÑŒÑ�Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�, Ñ�ÐºÐ° Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ ÐºÐ¾Ð´, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· PICÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑ”Ñ‚ÑŒÑ�Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�, Ñ�ÐºÐ° Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ ÐºÐ¾Ð´, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· PIDÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ñ–Ð½ÑˆÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%sÂ» Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾ Ð½Ð° Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÑƒÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð¸Ð¿ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð½Ð° PROGBITSÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð¸Ð¿ Ñ– Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %BÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ñƒ %BÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð·Ð° Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ (Ñ‚Ð¾Ð±Ñ‚Ð¾ Ð²Ñ–Ð´â€™Ñ”Ð¼Ð½Ð¸Ð¼) Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ Ñƒ Ñ„Ð°Ð¹Ð»Ñ–, 0x%lx.Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð» xdataÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð» xdata
-Ñ‚Ð°ÐºÐ½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ‚Ð¸ %s Ñƒ Ñ�ÐºÑ€Ð¸Ð¿Ñ‚Ñ–
\ No newline at end of file
+Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: --plt-localentry Ð¾Ñ�Ð¾Ð±Ð»Ð¸Ð²Ð¾ Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¸Ð¹, Ñ�ÐºÑ‰Ð¾ Ñƒ ld.so Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð½Ñ� Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½ÑŒ ABIÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RL78_SYM Ð· Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RX_SYM Ð· Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %u Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ %pB Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� (%u) Ð¹Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pAÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %u Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ %pB Ñ” Ð¼ÐµÐ½ÑˆÐ¸Ð¼ Ð·Ð° %u Ñƒ %pBÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¿Ñ€Ð¾Ð±Ð° ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ»Ð¸Ðº Ð½ÐµÑ„ÑƒÐ½ÐºÑ†Ñ–Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, %s, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñƒ %pBÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð½Ñ�Ñ‚Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %pB, Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð· Ð½Ð¸Ð¼ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´, Ñ�ÐºÐ¸Ð¹ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸, Ñƒ %pBÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð½Ñ�Ñ‚Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %pB Ñƒ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´ÑŒ Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ‚ Ð·Ð·Ð¾Ð²Ð½Ñ–Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ð´Ð°Ð½Ñ– Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ�
+Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ñ–Ð´ÐºÐ¸Ð´Ð°Ñ”Ð¼Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %sÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ gc-sections Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑ”Ñ‚ÑŒÑ�Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�, Ñ�ÐºÐ° Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ ÐºÐ¾Ð´, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· PICÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑ”Ñ‚ÑŒÑ�Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�, Ñ�ÐºÐ° Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ ÐºÐ¾Ð´, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· PIDÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %pB Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾, Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð¹Ð¾Ð³Ð¾ Ð²Ð¶Ðµ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñ‚Ð°Ðº, Ñ‰Ð¾Ð± Ð²Ñ–Ð½ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½Ñ�Ð² Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚ÑƒÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ñ–Ð½ÑˆÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%sÂ» Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾ Ð½Ð° Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÑƒÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð¸Ð¿ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð½Ð° PROGBITSÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ” Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ñ– Ð¿Ð¾Ð·Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð¸Ð¿ Ñ– Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð¸Ð¿ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð· %d Ð½Ð° %d Ñƒ %pBÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %pBÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ñƒ %pBÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð°Ð±Ð¾ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ñ–; Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ñ‚Ð¸Ð¿Ð¾Ð²Ñƒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€ÑƒÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð°Ð¿Ð¸Ñ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð°Ñ€Ñ…Ñ–Ð²Ñƒ Ð±ÑƒÐ»Ð¾ Ð¿Ð¾Ð²Ñ–Ð»ÑŒÐ½Ð¸Ð¼: Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñ�ÑƒÑ”Ð¼Ð¾ Ñ‡Ð°Ñ�Ð¾Ð²Ñƒ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐºÑƒÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð·Ð° Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ (Ñ‚Ð¾Ð±Ñ‚Ð¾ Ð²Ñ–Ð´â€™Ñ”Ð¼Ð½Ð¸Ð¼) Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ Ñƒ Ñ„Ð°Ð¹Ð»Ñ–Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð» xdata
+Ñ‚Ð°ÐºÐ½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ‚Ð¸ %s Ñƒ Ñ�ÐºÑ€Ð¸Ð¿Ñ‚Ñ–PRIu64PRIx64PRId64%pB: invalid string offset % >= %%pB: TOC reloc at %# to symbol `%s' with no TOC entry%pB: %#: warning: bad R_SH_USES offset%pB: %#: warning: R_SH_USES points to unrecognized insn %#x%pB: %#: warning: bad R_SH_USES load offset%pB: %#: warning: could not find expected reloc%pB: %#: warning: symbol in unexpected section%pB: %#: warning: could not find expected COUNT reloc%pB: %#: warning: bad count%pB: %#: fatal: reloc overflow while relaxing%pB: bad reloc address %# in section `%pA'%pB: illegal relocation type %d at address %#%pB: corrupt symbol count: %#%pB: not enough memory to allocate space for %# symbols of size %#%pB: bad string table size %error: %pB(%pA) is too large (%# bytes)DWARF error: offset (%) greater than or equal to %s size (%)DWARF error: data count (%) larger than buffer sizeDWARF error: unknown format content type %DWARF error: line info section is too small (%)DWARF error: line info data is bigger (%#) than the space remaining in the section (%#lx)DWARF error: unable to read alt ref %%pB: error: attribute section length too small: %%pB(%pA+%#): unresolvable %s relocation against symbol `%s'%pB: invalid string offset %u >= % for section `%s'%pB: corrupt size field in group section header: %#%pB: invalid size field in group section header: %#%pB: section %pA lma %# adjusted to %#%pB: warning: empty loadable segment detected at vaddr=%#, is this intentional?%pB: warning: segment alignment of %# is too large%pB(%pA+%#): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value is %#)%pB(%pA+%#): CMEM relocation to `%s+%#' is invalid, 16 MSB should be %#x (value is %#)%pB(%pA+%#): unexpected %s instruction '%#lx' in TLS trampoline%pB(%pA+%#): unexpected %s instruction '%#lx' referenced by TLS_GOTDESC%pB(%pA+%#): %s relocation not permitted in shared object%pB(%pA+%#): only ADD or SUB instructions are allowed for ALU group relocations%pB(%pA+%#): overflow whilst splitting %# for group relocation %s%pB(%pA+%#): %s relocation against SEC_MERGE section%pB(%pA+%#): %s used with TLS symbol %s%pB(%pA+%#): %s used with non-TLS symbol %s%pB(%#): error: cannot create STM32L4XX veneer; jump out of range by % bytes; cannot encode branch instruction%pB(%pA+%#): unresolvable relocation against symbol `%s'%pB(%pA+%#): reloc against `%s': error %d%pB: relocation at `%pA+%#' references symbol `%s' with nonzero addend%pB, section %pA: relocation %s with non-zero addend % against local symbol%pB, section %pA: relocation %s with non-zero addend % against symbol `%s'%pB(%pA+%#): cannot reach %s, recompile with -ffunction-sections%pB(%pA+%#): %s fixup for insn %#x is not supported in a non-shared link%pB(%pA+%#): cannot handle %s for %s%pB: TLS transition from %s to %s against `%s' at %# in section `%pA' failedip2k linker: missing page instruction at %# (dest = %#)ip2k linker: redundant page instruction at %# (dest = %#)%pB: warning: %s points to unrecognized reloc at %#%pB(%pA+%#): error: %s with unexpected instruction %#x%pB(%pA): unsafe PID relocation %s at %# (against %s in %s)%pB(%pA+%#): invalid instruction for TLS relocation %s%pB: CALL15 reloc at %# not against global symbol%pB: %#: warning: R_SH_USES points to unrecognized insn 0x%x%pB: %#: fatal: unaligned branch target for relax-support relocation%pB: %#: fatal: unaligned %s relocation %#%pB: %#: fatal: R_SH_PSHA relocation % not in range -32..32%pB: %#: fatal: R_SH_PSHL relocation % not in range -32..32%pB(%pA+%#): cannot emit fixup to `%s' in read-only section%pB(%pA+%#): %s relocation against external symbol "%s"%pB(%s+%#): unresolvable %s relocation against symbol `%s'%pB: %#: warning: %s points to unrecognized insns%pB: %#: warning: %s points to unrecognized insn %#x%pB: %#: warning: %s points to unrecognized reloc%pB: %#: warning: %s points to unrecognized reloc %#%pB: warning: GOT addend of % to `%s' does not match previous GOT addend of %%pB: warning: PLT addend of % to `%s' from %pA section ignored%pB: warning: %s relocation to %# from %pA section%pB(%pA+%#): relocation offset out of range (size=%#)%pB(%pA+%#): could not decode instruction; possible configuration mismatch%pB(%pA+%#): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch%pB(%pA+%#): unexpected fix for %s relocation%pB: %pA+%#: warning: %s relocation against unexpected insnstub entry for %s cannot load .plt, dp offset = %%pB(%pA+%#): cannot reach %s%pB: can't relax br at %# in section `%pA'; please use brl or indirect branch%pB: short data segment overflowed (%# >= 0x400000)%pB: missing TLS section for relocation %s against `%s' at %# in section `%pA'.%pB: Can't relax br (%s) to `%s' at %# in section `%pA' with size %# (> 0x1000000).warning: size of symbol `%s' changed from % in %pB to % in %pB%pB(%pA): relocation % has invalid symbol index %ld%pB: Internal inconsistency error for value for
+ linker-allocated global register: linked: %# != relaxed: %#%pB: LOCAL directive: register $% is not a local register; first global register is $%%pB: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %%pB: addend %s%#x in relocation %s against symbol `%s' at %# in section `%pA' is out of range%pB: version count (%) does not match symbol count (%ld)warning: %pB is truncated: expected core file size >= %, found: %%pB: bad reloc symbol index (%# >= %#lx) for offset %# in section `%pA'%pB: non-zero symbol index (%#) for offset %# in section `%pA' when the object file has no symbol tableerror: %pB contains a reloc (%#) for section %pA that references a non-existent global symbol%pB: %pA+%#: no symbol found for INHERIT%pB: incorrect `.reginfo' section size; expected %, got %%pB: GOT reloc at %# not expected in executables%pB: CALL16 reloc at %# not against global symbol%pB: can't find matching LO16 reloc against `%s' for %s at %# in section `%pA'%pB: `%pA' entry VMA of %# outside the 32-bit range supported; consider using `-Ttext-segment=...'%pB: `%pA' offset of % from `%pA' beyond the range of ADDIUPC%pB: `%pA' start VMA of %# outside the 32-bit range supported; consider using `-Ttext-segment=...'%pB: address %# out of range for Intel Hex filesection address (%#) below start of segment (%#)%pB: access beyond end of merged section (%)%pB: attempt to emit contents at non-multiple-of-4 address %#%pB: too many initialized registers; section length %%pB: invalid start address for initialized registers of length %: %#%pB: bad XTY_ER symbol `%s': class %d scnum %d scnlen %%pB: XMC_TC0 symbol `%s' is class %d scnlen %%pB: reloc %s:% not in csectTOC overflow: %# > 0x10000; try -mminimal-toc when compiling%pB(%pA+%#): % bytes required for alignment to %-byte boundary, but only % present%pB(%pA+%#): Unable to clear RISCV_PCREL_HI20 reloc for corresponding RISCV_PCREL_LO12 reloc%pB: Data Directory size (%lx) exceeds space left in section (%)%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ñ€Ñ�Ð´ÐºÐ°, % >= %%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TOC Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %# Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð½ÐµÐ¼Ð°Ñ” Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñƒ TOC%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ R_SH_USES%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_SH_USES Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ %#x%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� R_SH_USES%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� COUNT%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº%pB: %#: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %# Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ»%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %#%pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: %#%pB: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ð°Ð¼'Ñ�Ñ‚Ñ– Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð¼Ñ–Ñ�Ñ†Ñ� Ð´Ð»Ñ� %# Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ %#%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² %Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB(%pA) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ (%# Ð±Ð°Ð¹Ñ‚Ñ–Ð²)ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ (%) Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð°Ð±Ð¾ Ñ€Ñ–Ð²Ð½Ð¸Ð¼ Ð·Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ %s (%).ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ° Ð´Ð°Ð½Ð¸Ñ… (%) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð±ÑƒÑ„ÐµÑ€Ð°ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð²Ð¼Ñ–Ñ�Ñ‚Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ %ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼ (%)ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð´Ð°Ð½Ñ– Ñ‰Ð¾Ð´Ð¾ Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼Ð¸ (%#) Ð·Ð° Ð¼Ñ–Ñ�Ñ†Ðµ, Ñ�ÐºÐµ Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– (%#lx)ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� %%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¾ÑŽ: %%pB(%pA+%#): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ€Ñ�Ð´ÐºÐ°, %u >= %, Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»%pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ñ– Ð´Ð°Ð½Ñ– Ð¿Ð¾Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð³Ñ€ÑƒÐ¿: %#%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ñ– Ð´Ð°Ð½Ñ– Ð¿Ð¾Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð³Ñ€ÑƒÐ¿: %#%pB: (Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA) lma %# Ñ�ÐºÐ¾Ñ€Ð¸Ð³Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð¾ %#%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–Ð¹ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð·Ð° vaddr=%#, Ñ‚Ð°Ðº Ñ– Ñ‚Ñ€ÐµÐ±Ð°?%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° %# Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼%pB(%pA+%#): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CMEM Ð´Ð¾ Â«%sÂ» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼, 16 MSB Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ %#x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %#)%pB(%pA+%#): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CMEM Ð´Ð¾ Â«%s+%#Â» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼, 16 MSB Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ %#x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %#)%pB(%pA+%#):  Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %s, Â«%#lxÂ», Ñƒ Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ñ–Ð½Ñ– TLS%pB(%pA+%#): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %s, Â«%#lxÂ», Ð½Ð° Ñ�ÐºÑƒ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� TLS_GOTDESC%pB(%pA+%#): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾%pB(%pA+%#): Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð³Ñ€ÑƒÐ¿ ALU Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ ADD Ð°Ð±Ð¾ SUB%pB(%pA+%#): Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ð¿Ð¾Ð´Ñ–Ð»Ñƒ %# Ð· Ð¼ÐµÑ‚Ð¾ÑŽ Ð³Ñ€ÑƒÐ¿Ð¾Ð²Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s%pB(%pA+%#): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ SEC_MERGE%pB(%pA+%#): %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ TLS %s%pB(%pA+%#): %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð¿Ð¾Ð·Ð° TLS %s%pB(%#): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX. ÐŸÐµÑ€ÐµÑ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð½Ð° % Ð±Ð°Ð¹Ñ‚Ñ–Ð². ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ.%pB(%pA+%#): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%pB(%pA+%#): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%sÂ»: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Â«%pA+%#Â» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼, %, Ñ‰Ð¾Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼, %, Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%pB(%pA+%#): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´Ð¾Ñ�Ñ�Ð³Ñ‚Ð¸ %s, Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -ffunction-sections%pB(%pA+%#): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾Ñ— Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ %s Ð´Ð»Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %#x Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ– Ð½ÐµÑ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%pB(%pA+%#): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ� %s%pB: Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� TLS Ð· %s Ð´Ð¾ %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ñƒ %# Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ» Ð·Ð°Ð·Ð½Ð°Ð»Ð¾ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº ip2k: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ñ‰Ð¾Ð´Ð¾ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ Ñƒ %# (Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� = %#).ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº ip2k: Ð·Ð°Ð¹Ð²Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Ñ‰Ð¾Ð´Ð¾ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ Ñƒ %# (Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� = %#).%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð¾ %#.%pB(%pA+%#): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s Ñ–Ð· Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾ÑŽ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ %#x%pB(%pA): Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PID %s Ð´Ð¾ %# (Ñ‰Ð¾Ð´Ð¾ %s Ñƒ %s)%pB(%pA+%#): Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS %s%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CALL15 Ñƒ %# Ð½Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_SH_USES Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ 0x%x%pB: %#: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ðµ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ðµ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¾ÑŽ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ%pB: %#: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s, %#%pB: %#: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_SH_PSHA % Ð½Ðµ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– -32..32%pB: %#: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_SH_PSHL % Ð½Ðµ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– -32..32%pB(%pA+%#): Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ñƒ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ð´Ð¾ Â«%sÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�%pB(%pA+%#): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð·Ð° Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ»%pB(%s+%#): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ %#x%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�%pB: %#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð¾ %#%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº GOT % Ð´Ð¾ Â«%sÂ» Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð¼Ñƒ Ð´Ð¾Ð´Ð°Ð½ÐºÑƒ GOT %%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº PLT % Ð´Ð¾ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð¾ %# Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA%pB(%pA+%#): Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€=%#)%pB(%pA+%#): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð° Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹%pB(%pA+%#): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� XTENSA_ASM_SIMPLIFY, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð° Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹%pB(%pA+%#): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s%pB: %pA+%#: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾Ñ— Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—ÑˆÐ°Ð±Ð»Ð¾Ð½ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ð´Ð»Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‚Ð¸ .plt, Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ dp = %%pB(%pA+%#): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´Ð¾Ñ�Ñ�Ð³Ñ‚Ð¸ %s%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %# Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ». Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� brl Ð°Ð±Ð¾ Ð½ÐµÐ¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ�Ð¼.%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð¾ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð´Ð°Ð½Ð¸Ñ… (%# >= 0x400000)%pB: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ TLS Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %# Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ».%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br (%s) Ð´Ð¾ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %# Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ» Ð· Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¾Ð¼ %# (> 0x1000000).Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð· % Ñƒ %pB Ð½Ð° % Ñƒ %pB%pB(%pA): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� % Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, %ld%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñ‡ÐµÑ€ÐµÐ· Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½ÑŽ Ð½ÐµÐ¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ð´Ð»Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�
+ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ¾Ð¼ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾: %# != Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾: %#%pB: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL: Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ $% Ð½Ðµ Ñ” Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼. ÐŸÐµÑ€ÑˆÐ¸Ð¼ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ñ” $%.%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC, Â«%sÂ», Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº: %%pB: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº %s%#x Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %# Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ%pB: Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº Ð²ÐµÑ€Ñ�Ñ–Ñ— (%) Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ (%ld)Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° >= %, Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾: %.%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (%# >= %#lx) Ð´Ð»Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ %# Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ»%pB: Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ (%#) Ð´Ð»Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ %# Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ», Ð°Ð»Ðµ Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (%#) Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA, Ñ�ÐºÐµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð», Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”%pB: %pA+%#: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð»Ñ� INHERIT%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«.reginfoÂ»; Ð¼Ð°Ð² Ð±ÑƒÑ‚Ð¸ %, Ð¼Ð°Ñ”Ð¼Ð¾ %%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT Ñƒ %# Ñ” Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¼ Ñƒ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ð°Ñ…%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CALL16 Ñƒ %# Ð½Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� LO16 Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð´Ð»Ñ� %s Ñƒ %# Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ»%pB: Ð·Ð°Ð¿Ð¸Ñ� Â«%pAÂ» VMA %# Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¼ 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼; Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ�Ñ� Â«-Ttext-segment=...Â»%pB: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� Â«%pAÂ» % Ð· Â«%pAÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ ADDIUPC%pB: Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¾Ðº Â«%pAÂ» VMA %# Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¼ 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼; Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ�Ñ� Â«-Ttext-segment=...Â»%pB: Ð°Ð´Ñ€ÐµÑ�Ð° %# Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° IntelÐ°Ð´Ñ€ÐµÑ�Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%) Ð½Ð¸Ð¶Ñ‡Ðµ Ð·Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¾Ðº Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° (%)%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%)%pB: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð½Ð°Ð´Ñ–Ñ�Ð»Ð°Ñ‚Ð¸ Ð´Ð°Ð½Ñ– Ð½Ð° Ð½ÐµÐºÑ€Ð°Ñ‚Ð½Ñƒ Ð´Ð¾ 4 Ð°Ð´Ñ€ÐµÑ�Ñƒ %#%pB: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²; Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ â€” %%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð´Ð»Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ %: %#%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» XTY_ER Â«%sÂ»: ÐºÐ»Ð°Ñ� %d, Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %%pB: Ñ�Ð¸Ð¼Ð²Ð¾Ð» XMC_TC0 Â«%sÂ» Ñ” ÐºÐ»Ð°Ñ�Ð¾Ð¼ %d, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s:% Ð½Ðµ Ñƒ csectÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� TOC: %# > 0x10000; Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -mminimal-toc Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ�%pB(%pA+%#): Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ñ– % Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð´Ð»Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ð½Ð° %-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñƒ Ð¼ÐµÐ¶Ñƒ, Ð²Ñ‚Ñ–Ð¼, Ð¼Ð°Ñ”Ð¼Ð¾ Ð»Ð¸ÑˆÐµ %%pB(%pA+%#): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ñ‡Ð¸Ñ�Ñ‚Ð¸Ñ‚Ð¸ RISCV_PCREL_HI20 relocfor, Ñ‰Ð¾ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½ÑŽ RISCV_PCREL_LO12%pB: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ð°Ð½Ð¸Ñ… (%lx) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¼Ñ–Ñ�Ñ†Ñ�, Ñ�ÐºÐµ Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– (%)
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/uk.po ./bfd/po/uk.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/po/uk.po	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/po/uk.po	2018-07-10 02:06:11.000000000 +0000
@@ -2,13 +2,13 @@
 # Copyright (C) 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the binutils package.
 #
-# Yuri Chornoivan <yurchor@ukr.net>, 2012, 2014, 2017.
+# Yuri Chornoivan <yurchor@ukr.net>, 2012, 2014, 2017, 2018.
 msgid ""
 msgstr ""
-"Project-Id-Version: bfd 2.28.90\n"
+"Project-Id-Version: bfd 2.30.90\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2017-07-03 16:54+0200\n"
-"PO-Revision-Date: 2017-07-07 21:57+0300\n"
+"POT-Creation-Date: 2018-06-24 19:41+0100\n"
+"PO-Revision-Date: 2018-06-25 15:46+0200\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
 "Language: uk\n"
@@ -16,177 +16,217 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Lokalize 1.5\n"
-
-#: aout-adobe.c:126
-#, c-format
-msgid "%B: Unknown section type in a.out.adobe file: %x\n"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ Ñ„Ð°Ð¹Ð»Ñ– a.out.adobe: %x\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Lokalize 2.0\n"
 
 #: aout-cris.c:200
 #, c-format
-msgid "%B: Invalid relocation type exported: %d"
-msgstr "%B: ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %d"
+msgid "%pB: unsupported relocation type exported: %#x"
+msgstr "%pB: ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %#x"
 
 #: aout-cris.c:244
 #, c-format
-msgid "%B: Invalid relocation type imported: %d"
-msgstr "%B: Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %d"
+msgid "%pB: unsupported relocation type imported: %#x"
+msgstr "%pB: Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %#x"
 
 #: aout-cris.c:256
 #, c-format
-msgid "%B: Bad relocation record imported: %d"
-msgstr "%B: Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %d"
+msgid "%pB: bad relocation record imported: %d"
+msgstr "%pB: Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %d"
 
-#: aoutx.h:1284 aoutx.h:1621 pdp11.c:1152 pdp11.c:1413
+#: aoutx.h:1264 aoutx.h:1617 pdp11.c:1138 pdp11.c:1399
 #, c-format
-msgid "%B: can not represent section `%A' in a.out object file format"
-msgstr "%B: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² a.out Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ"
+msgid "%pB: can not represent section `%pA' in a.out object file format"
+msgstr "%pB: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² a.out Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ"
 
-#: aoutx.h:1585 pdp11.c:1385
+#: aoutx.h:1581 pdp11.c:1371
 #, c-format
-msgid "%B: can not represent section for symbol `%s' in a.out object file format"
-msgstr "%B: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² a.out Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ"
+msgid "%pB: can not represent section for symbol `%s' in a.out object file format"
+msgstr "%pB: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² a.out Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ"
 
-#: aoutx.h:1588 vms-alpha.c:7776
+#: aoutx.h:1584 vms-alpha.c:7854
 msgid "*unknown*"
 msgstr "*Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾*"
 
-#: aoutx.h:2407 aoutx.h:2425
-msgid "%B: attempt to write out unknown reloc type"
-msgstr "%B: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð²Ð¸Ð¿Ð¸Ñ�Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
+#: aoutx.h:1720
+#, c-format
+msgid "%pB: invalid string offset %<PRIu64> >= %<PRIu64>"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ñ€Ñ�Ð´ÐºÐ°, %<PRIu64> >= %<PRIu64>"
 
-#: aoutx.h:4077 aoutx.h:4398
-msgid "%P: %B: unexpected relocation type\n"
-msgstr "%P: %B: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�\n"
+#: aoutx.h:2411 aoutx.h:2429
+#, c-format
+msgid "%pB: attempt to write out unknown reloc type"
+msgstr "%pB: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð²Ð¸Ð¿Ð¸Ñ�Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: aoutx.h:5424 pdp11.c:3708
+#: aoutx.h:4084
 #, c-format
-msgid "%B: relocatable link from %s to %s not supported"
-msgstr "%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ñ… Ð´Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½ÑŒ Ð· %s Ð´Ð¾ %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
+msgid "%pB: unsupported relocation type"
+msgstr "%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: archive.c:2293
-msgid "Warning: writing archive was slow: rewriting timestamp\n"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð°Ð¿Ð¸Ñ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð°Ñ€Ñ…Ñ–Ð²Ñƒ Ð±ÑƒÐ»Ð¾ Ð¿Ð¾Ð²Ñ–Ð»ÑŒÐ½Ð¸Ð¼: Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñ�ÑƒÑ”Ð¼Ð¾ Ñ‡Ð°Ñ�Ð¾Ð²Ñƒ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐºÑƒ\n"
+#. Unknown relocation.
+#: aoutx.h:4405 coff-alpha.c:601 coff-alpha.c:1514 coff-rs6000.c:2773
+#: coff-sh.c:504 coff-tic4x.c:184 coff-tic54x.c:279 elf-hppa.h:1040
+#: elf-hppa.h:1068 elf-m10200.c:226 elf-m10300.c:812 elf32-arc.c:519
+#: elf32-arm.c:1944 elf32-avr.c:959 elf32-bfin.c:1061 elf32-bfin.c:4698
+#: elf32-cr16.c:653 elf32-cr16.c:683 elf32-cr16c.c:186 elf32-cris.c:467
+#: elf32-crx.c:429 elf32-d10v.c:234 elf32-d30v.c:522 elf32-d30v.c:544
+#: elf32-dlx.c:548 elf32-epiphany.c:376 elf32-fr30.c:381 elf32-frv.c:2558
+#: elf32-frv.c:6262 elf32-ft32.c:306 elf32-h8300.c:302 elf32-i386.c:401
+#: elf32-ip2k.c:1245 elf32-iq2000.c:442 elf32-lm32.c:539 elf32-m32c.c:305
+#: elf32-m32r.c:1286 elf32-m32r.c:1311 elf32-m32r.c:2417 elf32-m68hc11.c:390
+#: elf32-m68hc12.c:510 elf32-m68k.c:352 elf32-mcore.c:354 elf32-mcore.c:440
+#: elf32-mep.c:389 elf32-metag.c:878 elf32-microblaze.c:692
+#: elf32-microblaze.c:969 elf32-mips.c:2229 elf32-moxie.c:137
+#: elf32-msp430.c:648 elf32-msp430.c:658 elf32-mt.c:241 elf32-nds32.c:2880
+#: elf32-nds32.c:2904 elf32-nds32.c:4423 elf32-nios2.c:3015 elf32-or1k.c:715
+#: elf32-pj.c:325 elf32-ppc.c:2061 elf32-ppc.c:2074 elf32-pru.c:420
+#: elf32-rl78.c:292 elf32-rx.c:314 elf32-rx.c:323 elf32-s12z.c:238
+#: elf32-s390.c:347 elf32-sh.c:438 elf32-spu.c:160 elf32-tic6x.c:1508
+#: elf32-tic6x.c:1518 elf32-tic6x.c:1537 elf32-tic6x.c:1547 elf32-tic6x.c:2642
+#: elf32-tilepro.c:803 elf32-v850.c:1899 elf32-v850.c:1921 elf32-v850.c:4270
+#: elf32-vax.c:290 elf32-visium.c:482 elf32-wasm32.c:106 elf32-xc16x.c:241
+#: elf32-xgate.c:428 elf32-xstormy16.c:395 elf32-xtensa.c:459
+#: elf32-xtensa.c:493 elf64-alpha.c:1112 elf64-alpha.c:4101 elf64-alpha.c:4249
+#: elf64-ia64-vms.c:254 elf64-ia64-vms.c:3440 elf64-mips.c:3623
+#: elf64-mips.c:3639 elf64-mmix.c:1264 elf64-nfp.c:239 elf64-ppc.c:2281
+#: elf64-ppc.c:2555 elf64-ppc.c:2564 elf64-s390.c:328 elf64-s390.c:378
+#: elf64-x86-64.c:285 elfn32-mips.c:3451 elfxx-ia64.c:325 elfxx-riscv.c:955
+#: elfxx-sparc.c:589 elfxx-sparc.c:639 elfxx-sparc.c:661 elfxx-tilegx.c:912
+#: elfxx-tilegx.c:952
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:2126
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:2224
+#: elf32-ia64.c:211 elf32-ia64.c:3863 elf64-ia64.c:211 elf64-ia64.c:3863
+#, c-format
+msgid "%pB: unsupported relocation type %#x"
+msgstr "%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %#x"
+
+#: aoutx.h:5432 pdp11.c:3694
+#, c-format
+msgid "%pB: relocatable link from %s to %s not supported"
+msgstr "%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ñ… Ð´Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½ÑŒ Ð· %s Ð´Ð¾ %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
+
+#: archive.c:2216
+msgid "warning: writing archive was slow: rewriting timestamp"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð°Ð¿Ð¸Ñ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð°Ñ€Ñ…Ñ–Ð²Ñƒ Ð±ÑƒÐ»Ð¾ Ð¿Ð¾Ð²Ñ–Ð»ÑŒÐ½Ð¸Ð¼: Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñ�ÑƒÑ”Ð¼Ð¾ Ñ‡Ð°Ñ�Ð¾Ð²Ñƒ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐºÑƒ"
 
-#: archive.c:2405 linker.c:1408
-msgid "%B: plugin needed to handle lto object"
-msgstr "%B: Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð¾Ð±'Ñ”ÐºÑ‚Ð° lto Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ Ð´Ð¾Ð´Ð°Ñ‚Ð¾Ðº"
+#: archive.c:2332 linker.c:1416
+#, c-format
+msgid "%pB: plugin needed to handle lto object"
+msgstr "%pB: Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð¾Ð±'Ñ”ÐºÑ‚Ð° lto Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ Ð´Ð¾Ð´Ð°Ñ‚Ð¾Ðº"
 
-#: archive.c:2634
+#: archive.c:2561
 msgid "Reading archive file mod timestamp"
 msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñ‡Ð°Ñ�Ð¾Ð²Ð¾Ñ— Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐºÐ¸ mod Ð°Ñ€Ñ…Ñ–Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°"
 
-#: archive.c:2658
+#: archive.c:2585
 msgid "Writing updated armap timestamp"
 msgstr "Ð—Ð°Ð¿Ð¸Ñ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾Ñ— Ñ‡Ð°Ñ�Ð¾Ð²Ð¾Ñ— Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐºÐ¸ armap"
 
+#: bfd.c:449
+msgid "no error"
+msgstr "Ð±ÐµÐ· Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº"
+
+#: bfd.c:450
+msgid "system call error"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ"
+
+#: bfd.c:451
+msgid "invalid bfd target"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� bfd"
+
+#: bfd.c:452
+msgid "file in wrong format"
+msgstr "Ñ„Ð°Ð¹Ð» Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–"
+
+#: bfd.c:453
+msgid "archive object file in wrong format"
+msgstr "Ð°Ñ€Ñ…Ñ–Ð²Ð½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–"
+
 #: bfd.c:454
-msgid "No error"
-msgstr "Ð�ÐµÐ¼Ð°Ñ” Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº"
+msgid "invalid operation"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð´Ñ–Ñ�"
 
 #: bfd.c:455
-msgid "System call error"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ"
+msgid "memory exhausted"
+msgstr "Ð¿Ð°Ð¼'Ñ�Ñ‚ÑŒ Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð¾"
 
 #: bfd.c:456
-msgid "Invalid bfd target"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� bfd"
+msgid "no symbols"
+msgstr "Ð½ÐµÐ¼Ð°Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²"
 
 #: bfd.c:457
-msgid "File in wrong format"
-msgstr "Ð¤Ð°Ð¹Ð» Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–"
+msgid "archive has no index; run ranlib to add one"
+msgstr "Ñƒ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Ð½ÐµÐ¼Ð°Ñ” Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸ÐºÐ°; Ð·Ð°Ð¿ÑƒÑ�Ñ‚Ñ–Ñ‚ÑŒ ranlib, Ñ‰Ð¾Ð± Ð¹Ð¾Ð³Ð¾ Ð´Ð¾Ð´Ð°Ñ‚Ð¸"
 
 #: bfd.c:458
-msgid "Archive object file in wrong format"
-msgstr "Ð�Ñ€Ñ…Ñ–Ð²Ð½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–"
+msgid "no more archived files"
+msgstr "Ð±Ñ–Ð»ÑŒÑˆÐµ Ð°Ñ€Ñ…Ñ–Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð½ÐµÐ¼Ð°Ñ”"
 
 #: bfd.c:459
-msgid "Invalid operation"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð´Ñ–Ñ�"
+msgid "malformed archive"
+msgstr "Ð°Ñ€Ñ…Ñ–Ð² Ð· Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼"
 
 #: bfd.c:460
-msgid "Memory exhausted"
-msgstr "ÐŸÐ°Ð¼â€™Ñ�Ñ‚ÑŒ Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð¾"
+msgid "DSO missing from command line"
+msgstr "Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¼Ñƒ Ñ€Ñ�Ð´ÐºÑƒ Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð¾ DSO"
 
 #: bfd.c:461
-msgid "No symbols"
-msgstr "Ð�ÐµÐ¼Ð°Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²"
+msgid "file format not recognized"
+msgstr "Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾"
 
 #: bfd.c:462
-msgid "Archive has no index; run ranlib to add one"
-msgstr "Ð£ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Ð½ÐµÐ¼Ð°Ñ” Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸ÐºÐ°; Ð·Ð°Ð¿ÑƒÑ�Ñ‚Ñ–Ñ‚ÑŒ ranlib, Ñ‰Ð¾Ð± Ð¹Ð¾Ð³Ð¾ Ð´Ð¾Ð´Ð°Ñ‚Ð¸"
+msgid "file format is ambiguous"
+msgstr "Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ñ” Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð¸Ð¼"
 
 #: bfd.c:463
-msgid "No more archived files"
-msgstr "Ð‘Ñ–Ð»ÑŒÑˆÐµ Ð°Ñ€Ñ…Ñ–Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð½ÐµÐ¼Ð°Ñ”"
+msgid "section has no contents"
+msgstr "Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ðµ Ð¼Ð°Ñ” Ð²Ð¼Ñ–Ñ�Ñ‚Ñƒ"
 
 #: bfd.c:464
-msgid "Malformed archive"
-msgstr "Ð�Ñ€Ñ…Ñ–Ð² Ð· Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼"
+msgid "nonrepresentable section on output"
+msgstr "Ñ€Ð¾Ð·Ð´Ñ–Ð», Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð»Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…"
 
 #: bfd.c:465
-msgid "DSO missing from command line"
-msgstr "Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¼Ñƒ Ñ€Ñ�Ð´ÐºÑƒ Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð¾ DSO"
+msgid "symbol needs debug section which does not exist"
+msgstr "Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸, Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”"
 
 #: bfd.c:466
-msgid "File format not recognized"
-msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾"
+msgid "bad value"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
 
 #: bfd.c:467
-msgid "File format is ambiguous"
-msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ Ñ„Ð°Ð¹Ð»Ð° Ñ” Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð¸Ð¼"
+msgid "file truncated"
+msgstr "Ñ„Ð°Ð¹Ð» Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾"
 
 #: bfd.c:468
-msgid "Section has no contents"
-msgstr "Ð Ð¾Ð·Ð´Ñ–Ð» Ð½Ðµ Ð¼Ð°Ñ” Ð²Ð¼Ñ–Ñ�Ñ‚Ñƒ"
+msgid "file too big"
+msgstr "Ñ„Ð°Ð¹Ð» Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼"
 
 #: bfd.c:469
-msgid "Nonrepresentable section on output"
-msgstr "Ð Ð¾Ð·Ð´Ñ–Ð», Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð»Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…"
-
-#: bfd.c:470
-msgid "Symbol needs debug section which does not exist"
-msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸, Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”"
-
-#: bfd.c:471
-msgid "Bad value"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
-
-#: bfd.c:472
-msgid "File truncated"
-msgstr "Ð¤Ð°Ð¹Ð» Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾"
-
-#: bfd.c:473
-msgid "File too big"
-msgstr "Ð¤Ð°Ð¹Ð» Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼"
-
-#: bfd.c:474
 #, c-format
-msgid "Error reading %s: %s"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� %s: %s"
+msgid "error reading %s: %s"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� %s: %s"
 
-#: bfd.c:475
-msgid "#<Invalid error code>"
+#: bfd.c:470
+msgid "#<invalid error code>"
 msgstr "#<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ ÐºÐ¾Ð´ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸>"
 
-#: bfd.c:1138
+#: bfd.c:1429
 #, c-format
 msgid "BFD %s assertion fail %s:%d"
 msgstr "ÐžÐ¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ BFD %s Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ %s:%d"
 
-#: bfd.c:1151
+#: bfd.c:1442
 #, c-format
 msgid "BFD %s internal error, aborting at %s:%d in %s\n"
 msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° BFD %s, Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ñ”Ð¼Ð¾ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %s:%d Ñƒ %s\n"
 
-#: bfd.c:1156
+#: bfd.c:1447
 #, c-format
 msgid "BFD %s internal error, aborting at %s:%d\n"
 msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° BFD %s, Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ñ”Ð¼Ð¾ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %s:%d\n"
 
-#: bfd.c:1158
+#: bfd.c:1449
 msgid "Please report this bug.\n"
 msgstr "Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ñ‚Ðµ Ð¿Ñ€Ð¾ Ñ†ÑŽ Ð²Ð°Ð´Ñƒ.\n"
 
@@ -202,567 +242,443 @@ msgstr "Ð½Ðµ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¾: Ð½Ð
 
 #: binary.c:276
 #, c-format
-msgid "warning: writing section `%A' at huge (ie negative) file offset 0x%lx."
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð·Ð° Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ (Ñ‚Ð¾Ð±Ñ‚Ð¾ Ð²Ñ–Ð´â€™Ñ”Ð¼Ð½Ð¸Ð¼) Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ Ñƒ Ñ„Ð°Ð¹Ð»Ñ–, 0x%lx."
-
-#: bout.c:1142 elf-m10300.c:2651 elf32-avr.c:2484 elf32-frv.c:5633
-#: elf64-ia64-vms.c:353 elfxx-sparc.c:2989 reloc.c:8017 reloc16.c:156
-#: elf32-ia64.c:351 elf64-ia64.c:351
-msgid "%P%F: --relax and -r may not be used together\n"
-msgstr "%P%F: --relax Ñ– -r Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾\n"
+msgid "warning: writing section `%pA' at huge (ie negative) file offset"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð·Ð° Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ (Ñ‚Ð¾Ð±Ñ‚Ð¾ Ð²Ñ–Ð´â€™Ñ”Ð¼Ð½Ð¸Ð¼) Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ Ñƒ Ñ„Ð°Ð¹Ð»Ñ–"
 
-#: cache.c:273
+#: cache.c:272
 #, c-format
-msgid "reopening %B: %s\n"
-msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ� %B: %s\n"
+msgid "reopening %pB: %s\n"
+msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ� %pB: %s\n"
 
 #: coff-alpha.c:450
-msgid ""
-"%B: Cannot handle compressed Alpha binaries.\n"
-"   Use compiler flags, or objZ, to generate uncompressed binaries."
-msgstr ""
-"%B: Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ° Ñ�Ñ‚Ð¸Ñ�Ð½ÑƒÑ‚Ð¸Ñ… Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Alpha Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð°.\n"
-"   Ð¡ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ�Ð¼Ð¸ ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñ�Ñ‚Ð¾Ñ€Ð° Ð°Ð±Ð¾ objZ Ð´Ð»Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð½ÐµÑ�Ñ‚Ð¸Ñ�Ð½ÐµÐ½Ð¸Ñ… Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð²."
-
-#: coff-alpha.c:602
-msgid "%B: unknown/unsupported relocation type %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ð±Ð¾ Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d"
+#, c-format
+msgid "%pB: cannot handle compressed Alpha binaries; use compiler flags, or objZ, to generate uncompressed binaries"
+msgstr "%pB: Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ° Ñ�Ñ‚Ð¸Ñ�Ð½ÑƒÑ‚Ð¸Ñ… Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Alpha Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð°. Ð¡ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ�Ð¼Ð¸ ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñ�Ñ‚Ð¾Ñ€Ð° Ð°Ð±Ð¾ objZ Ð´Ð»Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð½ÐµÑ�Ñ‚Ð¸Ñ�Ð½ÐµÐ½Ð¸Ñ… Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð²."
 
-#: coff-alpha.c:851 coff-alpha.c:888 coff-alpha.c:1961 coff-mips.c:944
+#: coff-alpha.c:850 coff-alpha.c:887 coff-alpha.c:1957 coff-mips.c:950
 msgid "GP relative relocation used when GP not defined"
 msgstr "Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GP, Ð²Ñ‚Ñ–Ð¼, GP Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: coff-alpha.c:1444
+#: coff-alpha.c:1443
 msgid "using multiple gp values"
 msgstr "Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ gp"
 
-#: coff-alpha.c:1503
-msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾: ALPHA_R_GPRELHIGH"
-
-#: coff-alpha.c:1510
-msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾: ALPHA_R_GPRELLOW"
-
-#: coff-alpha.c:1518 elf32-i370.c:1085 elf32-m32r.c:2418
-#: elf32-microblaze.c:952 elf64-alpha.c:4167 elf64-alpha.c:4315
-#: elf64-ia64-vms.c:3431 elf32-ia64.c:3839 elf64-ia64.c:3839
-#, c-format
-msgid "%B: unknown relocation type %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d"
-
-#: coff-arm.c:1032
-#, c-format
-msgid "%B: unable to find THUMB glue '%s' for `%s'"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ THUMB Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»"
-
-#: coff-arm.c:1061
-#, c-format
-msgid "%B: unable to find ARM glue '%s' for `%s'"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ ARM Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»"
-
-#: coff-arm.c:1363 elf32-arm.c:8896
-#, c-format
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: arm call to thumb"
-msgstr ""
-"%B(%s): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ð½Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾.\n"
-"  Ð¿ÐµÑ€ÑˆÐ° Ð·Ð³Ð°Ð´ÐºÐ°: %B: Ð²Ð¸ÐºÐ»Ð¸Ðº arm Ð´Ð¾ thumb"
-
-#: coff-arm.c:1453
-#, c-format
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: thumb call to arm\n"
-"  consider relinking with --support-old-code enabled"
-msgstr ""
-"%B(%s): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ð½Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾.\n"
-"  Ð¿ÐµÑ€ÑˆÐ° Ð·Ð³Ð°Ð´ÐºÐ°: %B: Ð²Ð¸ÐºÐ»Ð¸Ðº arm Ð´Ð¾ arm\n"
-"  Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ --support-old-code"
-
-#: coff-arm.c:1746 coff-tic80.c:670 cofflink.c:3123
-#, c-format
-msgid "%B: bad reloc address 0x%lx in section `%A'"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ»"
-
-#: coff-arm.c:2071
-#, c-format
-msgid "%B: illegal symbol index in reloc: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ–: %d"
-
-#: coff-arm.c:2203
-#, c-format
-msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� APCS-%d, Ð° %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� APCS-%d"
-
-#: coff-arm.c:2216 elf32-arm.c:19756
-#, c-format
-msgid "error: %B passes floats in float registers, whereas %B passes them in integer registers"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ‡Ð¸Ñ�Ð»Ð° Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð° %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ—Ñ… Ñƒ Ñ†Ñ–Ð»Ð¾Ñ‡Ð¸Ñ�ÐµÐ»ÑŒÐ½Ñ– Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸"
-
-#: coff-arm.c:2221 elf32-arm.c:19760
-#, c-format
-msgid "error: %B passes floats in integer registers, whereas %B passes them in float registers"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ†Ñ–Ð»Ñ– Ñ‡Ð¸Ñ�Ð»Ð° Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð° %B Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ—Ñ… Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ"
-
-#: coff-arm.c:2233
-#, c-format
-msgid "error: %B is compiled as position independent code, whereas target %B is absolute position"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñ�Ðº ÐºÐ¾Ð´ Ð· Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¼ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼, Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %B Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¾Ñ— Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—"
-
-#: coff-arm.c:2238
-#, c-format
-msgid "error: %B is compiled as absolute position code, whereas target %B is position independent"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñ�Ðº ÐºÐ¾Ð´ Ð· Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼, Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %B Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ— Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—"
-
-#: coff-arm.c:2265 elf32-arm.c:19825
-#, c-format
-msgid "Warning: %B supports interworking, whereas %B does not"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ, Ð° Ñƒ %B Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
-
-#: coff-arm.c:2270 elf32-arm.c:19831
-#, c-format
-msgid "Warning: %B does not support interworking, whereas %B does"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸, Ð° Ñƒ %B Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
-
-#: coff-arm.c:2293
-#, c-format
-msgid "private flags = %x:"
-msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = %x:"
-
-#: coff-arm.c:2301 elf32-arm.c:14156
+#: coff-alpha.c:1501 coff-alpha.c:1507 elf.c:8983 elf32-mcore.c:100
+#: elf32-mcore.c:455 elf32-ppc.c:8755 elf32-ppc.c:9887 elf64-ppc.c:14936
 #, c-format
-msgid " [floats passed in float registers]"
-msgstr " [Ñ‡Ð¸Ñ�Ð»Ð° Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ Ð¿ÐµÑ€ÐµÐ´Ð°Ð½Ð¾ Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ]"
+msgid "%pB: %s unsupported"
+msgstr "%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: coff-arm.c:2303
-#, c-format
-msgid " [floats passed in integer registers]"
-msgstr " [Ñ‡Ð¸Ñ�Ð»Ð° Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ Ð¿ÐµÑ€ÐµÐ´Ð°Ð½Ð¾ Ð´Ð¾ Ñ†Ñ–Ð»Ð¾Ñ‡Ð¸Ñ�ÐµÐ»ÑŒÐ½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²]"
+#: coff-mips.c:640 elf32-mips.c:1742 elf32-score.c:430 elf32-score7.c:330
+#: elf64-mips.c:3131 elfn32-mips.c:2956
+msgid "GP relative relocation when _gp not defined"
+msgstr "Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GP, Ð°Ð»Ðµ _gp Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: coff-arm.c:2306 elf32-arm.c:14159
+#: coff-rs6000.c:2859
 #, c-format
-msgid " [position independent]"
-msgstr " [Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¹ Ð²Ñ–Ð´ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—]"
+msgid "%pB: TOC reloc at %#<PRIx64> to symbol `%s' with no TOC entry"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TOC Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %#<PRIx64> Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð½ÐµÐ¼Ð°Ñ” Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñƒ TOC"
 
-#: coff-arm.c:2308
+#: coff-rs6000.c:3605 coff64-rs6000.c:2150
 #, c-format
-msgid " [absolute position]"
-msgstr " [Ð· Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼]"
+msgid "%pB: symbol `%s' has unrecognized smclas %d"
+msgstr "%pB: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð³Ð¾ smclas %d"
 
-#: coff-arm.c:2312
+#: coff-sh.c:780 elf32-sh.c:521
 #, c-format
-msgid " [interworking flag not initialised]"
-msgstr " [Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð½Ðµ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾]"
+msgid "%pB: %#<PRIx64>: warning: bad R_SH_USES offset"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ R_SH_USES"
 
-#: coff-arm.c:2314
+#: coff-sh.c:791
 #, c-format
-msgid " [interworking supported]"
-msgstr " [Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð° Ñ€Ð¾Ð±Ð¾Ñ‚Ð°]"
+msgid "%pB: %#<PRIx64>: warning: R_SH_USES points to unrecognized insn %#x"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_SH_USES Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ %#x"
 
-#: coff-arm.c:2316
+#: coff-sh.c:809 elf32-sh.c:552
 #, c-format
-msgid " [interworking not supported]"
-msgstr " [Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð° Ñ€Ð¾Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÑ”Ñ‚ÑŒÑ�Ñ�]"
-
-#: coff-arm.c:2361 elf32-arm.c:13017
-msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %B Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾, Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð¹Ð¾Ð³Ð¾ Ð²Ð¶Ðµ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñ‚Ð°Ðº, Ñ‰Ð¾Ð± Ð²Ñ–Ð½ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½Ñ�Ð² Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ"
-
-#: coff-arm.c:2364 elf32-arm.c:13021
-msgid "Warning: Clearing the interworking flag of %B due to outside request"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð½Ñ�Ñ‚Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %B Ñƒ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´ÑŒ Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ‚ Ð·Ð·Ð¾Ð²Ð½Ñ–"
+msgid "%pB: %#<PRIx64>: warning: bad R_SH_USES load offset"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� R_SH_USES"
 
-#: coff-arm.c:2421 elf32-arm.c:13066
+#: coff-sh.c:834 elf32-sh.c:568
 #, c-format
-msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð½Ñ�Ñ‚Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %B, Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð· Ð½Ð¸Ð¼ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´, Ñ�ÐºÐ¸Ð¹ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸, Ñƒ %B"
+msgid "%pB: %#<PRIx64>: warning: could not find expected reloc"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: coff-h8300.c:1068
+#: coff-sh.c:851 elf32-sh.c:597
 #, c-format
-msgid "cannot handle R_MEM_INDIRECT reloc when using %s output"
-msgstr "Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ R_MEM_INDIRECT, Ñ�ÐºÑ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð¾ %s"
+msgid "%pB: %#<PRIx64>: warning: symbol in unexpected section"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–"
 
-#: coff-i860.c:146
+#: coff-sh.c:977 elf32-sh.c:727
 #, c-format
-msgid "relocation `%s' not yet implemented"
-msgstr "Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%sÂ» Ñ‰Ðµ Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
+msgid "%pB: %#<PRIx64>: warning: could not find expected COUNT reloc"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� COUNT"
 
-#: coff-i860.c:608 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5314
+#: coff-sh.c:987 elf32-sh.c:738
 #, c-format
-msgid "%B: warning: illegal symbol index %ld in relocs"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %ld Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ñ…"
+msgid "%pB: %#<PRIx64>: warning: bad count"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº"
 
-#: coff-i960.c:122 coff-i960.c:475
-msgid "uncertain calling convention for non-COFF symbol"
-msgstr "Ð½ÐµÐ¿ÐµÐ²Ð½Ñ– Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð¿Ð¾Ð·Ð° COFF"
-
-#: coff-m68k.c:483 elf32-bfin.c:5530 elf32-cr16.c:2817 elf32-m68k.c:4574
-msgid "unsupported reloc type"
-msgstr "Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
-
-#: coff-mips.c:634 elf32-mips.c:1744 elf32-score.c:430 elf32-score7.c:330
-#: elf64-mips.c:3135 elfn32-mips.c:2954
-msgid "GP relative relocation when _gp not defined"
-msgstr "Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GP, Ð°Ð»Ðµ _gp Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
-
-#: coff-rs6000.c:2747
-#, c-format
-msgid "%B: unsupported relocation type 0x%02x"
-msgstr "%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� 0x%02x"
-
-#: coff-rs6000.c:2833
-#, c-format
-msgid "%B: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TOC Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%x Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð½ÐµÐ¼Ð°Ñ” Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñƒ TOC"
-
-#: coff-rs6000.c:3579 coff64-rs6000.c:2110
+#: coff-sh.c:1359 coff-sh.c:2647 elf32-sh.c:1142 elf32-sh.c:1512
 #, c-format
-msgid "%B: symbol `%s' has unrecognized smclas %d"
-msgstr "%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð³Ð¾ smclas %d"
+msgid "%pB: %#<PRIx64>: fatal: reloc overflow while relaxing"
+msgstr "%pB: %#<PRIx64>: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ"
 
-#: coff-sh.c:504
+#: coff-sh.c:1454
 #, c-format
-msgid "SH Error: unknown reloc type %d"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° SH: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, %d"
+msgid "%pB: fatal: generic symbols retrieved before relaxing"
+msgstr "%pB: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð´Ð¾ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ"
 
-#: coff-sh.c:778 elf32-sh.c:580
+#: coff-sh.c:2785 cofflink.c:2965
 #, c-format
-msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ R_SH_USES"
+msgid "%pB: illegal symbol index %ld in relocs"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %ld Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ñ…"
 
-#: coff-sh.c:789 elf32-sh.c:592
+#: coff-tic4x.c:228 coff-tic54x.c:366 coffcode.h:5010
 #, c-format
-msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_SH_USES Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ 0x%x"
+msgid "%pB: warning: illegal symbol index %ld in relocs"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %ld Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ñ…"
 
-#: coff-sh.c:807 elf32-sh.c:610
+#: coff-tic80.c:441
 #, c-format
-msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� R_SH_USES"
+msgid "unsupported relocation type %#x"
+msgstr "Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %#x"
 
-#: coff-sh.c:832 elf32-sh.c:626
+#: coff-tic80.c:672 cofflink.c:3127
 #, c-format
-msgid "%B: 0x%lx: warning: could not find expected reloc"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
+msgid "%pB: bad reloc address %#<PRIx64> in section `%pA'"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %#<PRIx64> Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ»"
 
-#: coff-sh.c:849 elf32-sh.c:655
+#: coffcode.h:954
 #, c-format
-msgid "%B: 0x%lx: warning: symbol in unexpected section"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–"
+msgid "%pB: unable to load COMDAT section name"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ COMDAT"
 
-#: coff-sh.c:975 elf32-sh.c:785
+#. Malformed input files can trigger this test.
+#. cf PR 21781.
+#: coffcode.h:989
 #, c-format
-msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� COUNT"
+msgid "%pB: error: unexpected symbol '%s' in COMDAT section"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– COMDAT"
 
-#: coff-sh.c:985 elf32-sh.c:795
+#: coffcode.h:1001
 #, c-format
-msgid "%B: 0x%lx: warning: bad count"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº"
+msgid "%pB: warning: COMDAT symbol '%s' does not match section name '%s'"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» COMDAT Â«%sÂ» Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð½Ð°Ð·Ð²Ñ– Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»"
 
-#: coff-sh.c:1357 coff-sh.c:2645 elf32-sh.c:1199 elf32-sh.c:1570
+#: coffcode.h:1011
 #, c-format
-msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
-msgstr "%B: 0x%lx: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ"
+msgid "%pB: warning: no symbol for section '%s' found"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»"
 
-#: coff-sh.c:1452
-msgid "%B: fatal: generic symbols retrieved before relaxing"
-msgstr "%B: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð´Ð¾ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ"
-
-#: coff-sh.c:2783 cofflink.c:2961
+#. Generate a warning message rather using the 'unhandled'
+#. variable as this will allow some .sys files generate by
+#. other toolchains to be processed.  See bugzilla issue 196.
+#: coffcode.h:1237
 #, c-format
-msgid "%B: illegal symbol index %ld in relocs"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %ld Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ñ…"
+msgid "%pB: warning: ignoring section flag %s in section %s"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %s"
 
-#: coff-tic4x.c:183 coff-tic54x.c:278 coff-tic80.c:439
+#: coffcode.h:1306
 #, c-format
-msgid "Unrecognized reloc type 0x%x"
-msgstr "Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� 0x%x"
+msgid "%pB (%s): section flag %s (%#lx) ignored"
+msgstr "%pB (%s): Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s (%#lx) Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾"
 
-#: coff-w65.c:352
+#: coffcode.h:1917
 #, c-format
-msgid "ignoring reloc %s\n"
-msgstr "Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s\n"
-
-#: coffcode.h:968
-msgid "%B: unable to load COMDAT section name"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ COMDAT"
+msgid "%pB: warning: claims to have 0xffff relocs, without overflow"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð¼Ð¾Ð³Ð° Ñ‰Ð¾Ð´Ð¾ 0xffff Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ�"
 
-#: coffcode.h:1009
+#: coffcode.h:2315
 #, c-format
-msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» COMDAT Â«%sÂ» Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð½Ð°Ð·Ð²Ñ– Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»"
+msgid "unrecognized TI COFF target id '0x%x'"
+msgstr "Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TI COFF, Â«0x%xÂ»"
 
-#: coffcode.h:1019
+#: coffcode.h:2599
 #, c-format
-msgid "%B: warning: No symbol for section '%s' found"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»"
+msgid "%pB: reloc against a non-existent symbol index: %ld"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð½ÐµÑ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¸Ð¼ Ñ–Ð½Ð´ÐµÐºÑ�Ð¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: %ld"
 
-#. Generate a warning message rather using the 'unhandled'
-#. variable as this will allow some .sys files generate by
-#. other toolchains to be processed.  See bugzilla issue 196.
-#: coffcode.h:1245
+#: coffcode.h:2910
 #, c-format
-msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ IMAGE_SCN_MEM_NOT_PAGED Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %s"
+msgid "%pB: page size is too large (0x%x)"
+msgstr "%pB: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ (0x%x)"
 
-#: coffcode.h:1314
+#: coffcode.h:3070
 #, c-format
-msgid "%B (%s): Section flag %s (0x%x) ignored"
-msgstr "%B (%s): Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s (0x%x) Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾"
+msgid "%pB: too many sections (%d)"
+msgstr "%pB: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² (%d)"
 
-#: coffcode.h:1949
-msgid "%B: warning: claims to have 0xffff relocs, without overflow"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð¼Ð¾Ð³Ð° Ñ‰Ð¾Ð´Ð¾ 0xffff Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ�"
-
-#: coffcode.h:2465
+#: coffcode.h:3489
 #, c-format
-msgid "Unrecognized TI COFF target id '0x%x'"
-msgstr "Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TI COFF, Â«0x%xÂ»"
+msgid "%pB: section %pA: string table overflow at offset %ld"
+msgstr "%pB: Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² Ð·Ð° Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ %ld"
 
-#: coffcode.h:2783
+#: coffcode.h:3589
 #, c-format
-msgid "%B: reloc against a non-existent symbol index: %ld"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð½ÐµÑ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¸Ð¼ Ñ–Ð½Ð´ÐµÐºÑ�Ð¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: %ld"
+msgid "%pB:%s section %s: alignment 2**%u not representable"
+msgstr "%pB:%s Ñ€Ð¾Ð·Ð´Ñ–Ð» %s: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� 2**%u Ð½Ðµ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ´Ñ�Ñ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ�"
 
-#: coffcode.h:3186
+#: coffcode.h:4276
 #, c-format
-msgid "%B: page size is too large (0x%x)"
-msgstr "%B: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ (0x%x)"
+msgid "%pB: warning: line number count (%#lx) exceeds section size (%#lx)"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² (%#lx) Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð¼Ñ–Ñ�Ñ†Ðµ Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð² Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%#lx)"
 
-#: coffcode.h:3346
+#: coffcode.h:4291
 #, c-format
-msgid "%B: too many sections (%d)"
-msgstr "%B: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² (%d)"
+msgid "%pB: warning: line number table read failed"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð· Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð²"
 
-#: coffcode.h:3767
+#: coffcode.h:4325 coffcode.h:4339
 #, c-format
-msgid "%B: section %A: string table overflow at offset %ld"
-msgstr "%B: Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² Ð·Ð° Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ %ld"
-
-#: coffcode.h:4585
-msgid "%B: warning: line number table read failed"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð· Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð²"
+msgid "%pB: warning: illegal symbol index 0x%lx in line number entry %d"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ 0x%lx Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ° %d"
 
-#: coffcode.h:4619 coffcode.h:4633
+#: coffcode.h:4353
 #, c-format
-msgid "%B: warning: illegal symbol index 0x%lx in line number entry %d"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ 0x%lx Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ° %d"
+msgid "%pB: warning: illegal symbol in line number entry %d"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ° %d"
 
-#: coffcode.h:4647
+#: coffcode.h:4366
 #, c-format
-msgid "%B: warning: illegal symbol in line number entry %d"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ° %d"
+msgid "%pB: warning: duplicate line number information for `%s'"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð² Ð´Ð»Ñ� Â«%sÂ»"
 
-#: coffcode.h:4660
+#: coffcode.h:4774
 #, c-format
-msgid "%B: warning: duplicate line number information for `%s'"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð² Ð´Ð»Ñ� Â«%sÂ»"
+msgid "%pB: unrecognized storage class %d for %s symbol `%s'"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ÐºÐ»Ð°Ñ� Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s Â«%sÂ»"
 
-#: coffcode.h:5074
+#: coffcode.h:4904
 #, c-format
-msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ÐºÐ»Ð°Ñ� Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s Â«%sÂ»"
+msgid "warning: %pB: local symbol `%s' has no section"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
 
-#: coffcode.h:5207
+#: coffcode.h:5050
 #, c-format
-msgid "warning: %B: local symbol `%s' has no section"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
+msgid "%pB: illegal relocation type %d at address %#<PRIx64>"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %#<PRIx64>"
 
-#: coffcode.h:5354
+#: coffgen.c:178 elf.c:1214
 #, c-format
-msgid "%B: illegal relocation type %d at address 0x%lx"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx"
+msgid "%pB: unable to initialize compress status for section %s"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ñ‚Ð°Ð½ Ñ�Ñ‚Ð¸Ñ�ÐºÐ°Ð½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s"
 
-#: coffgen.c:178 elf.c:1181
+#: coffgen.c:202 elf.c:1225
 #, c-format
-msgid "%B: unable to initialize compress status for section %s"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ñ‚Ð°Ð½ Ñ�Ñ‚Ð¸Ñ�ÐºÐ°Ð½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s"
+msgid "%pB: unable to initialize decompress status for section %s"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ñ‚Ð°Ð½ Ñ€Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s"
 
-#: coffgen.c:202 elf.c:1192
+#: coffgen.c:1652
 #, c-format
-msgid "%B: unable to initialize decompress status for section %s"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ñ‚Ð°Ð½ Ñ€Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s"
+msgid "%pB: corrupt symbol count: %#<PRIx64>"
+msgstr "%pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: %#<PRIx64>"
 
 #. PR 21013: Provide an error message when the alloc fails.
-#: coffgen.c:1648
-msgid "%B: Not enough memory to allocate space for %lu symbols"
-msgstr "%B: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ð°Ð¼'Ñ�Ñ‚Ñ– Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð¼Ñ–Ñ�Ñ†Ñ� Ð´Ð»Ñ� %lu Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²"
+#: coffgen.c:1661
+#, c-format
+msgid "%pB: not enough memory to allocate space for %#<PRIx64> symbols of size %#<PRIx64>"
+msgstr "%pB: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ð°Ð¼'Ñ�Ñ‚Ñ– Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð¼Ñ–Ñ�Ñ†Ñ� Ð´Ð»Ñ� %#<PRIx64> Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ %#<PRIx64>"
 
-#: coffgen.c:1716
+#: coffgen.c:1730
 #, c-format
-msgid "%B: bad string table size %lu"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² %lu"
+msgid "%pB: bad string table size %<PRIu64>"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² %<PRIu64>"
 
-#: coffgen.c:1885 coffgen.c:1945 coffgen.c:1963 cofflink.c:2041
-#: xcofflink.c:4507
+#: coffgen.c:1907 coffgen.c:1967 coffgen.c:1985 cofflink.c:2045
+#: xcofflink.c:4508
 msgid "<corrupt>"
 msgstr "<Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾>"
 
-#: coffgen.c:2087
+#: coffgen.c:2109
 #, c-format
 msgid "<corrupt info> %s"
 msgstr "<Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ñ– Ð´Ð°Ð½Ñ–> %s"
 
-#: coffgen.c:2666 elflink.c:14044 linker.c:2931
+#: coffgen.c:2688 elflink.c:14290 linker.c:2946
 msgid "%F%P: already_linked_table: %E\n"
 msgstr "%F%P: already_linked_table: %E\n"
 
-#: coffgen.c:3007 elflink.c:13059
+#: coffgen.c:3029 elflink.c:13292
 #, c-format
-msgid "Removing unused section '%A' in file '%B'"
-msgstr "Ð’Ð¸Ð»ÑƒÑ‡Ð°Ñ”Ð¼Ð¾ Ð½ÐµÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Â«%BÂ»"
+msgid "removing unused section '%pA' in file '%pB'"
+msgstr "Ð²Ð¸Ð»ÑƒÑ‡Ð°Ñ”Ð¼Ð¾ Ð½ÐµÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Â«%pBÂ»"
 
-#: coffgen.c:3084 elflink.c:13304
-msgid "Warning: gc-sections option ignored"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ gc-sections Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾"
+#: coffgen.c:3106 elflink.c:13510
+msgid "warning: gc-sections option ignored"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ gc-sections Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾"
 
-#: cofflink.c:348
+#: cofflink.c:352
 #, c-format
-msgid "Warning: symbol `%s' is both section and non-section"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ” Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ñ– Ð¿Ð¾Ð·Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼"
+msgid "warning: symbol `%s' is both section and non-section"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ” Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ñ– Ð¿Ð¾Ð·Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼"
 
-#: cofflink.c:450 elf64-ia64-vms.c:5188 elflink.c:4788
+#: cofflink.c:454 elf64-ia64-vms.c:5203 elflink.c:4934
 #, c-format
-msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð¸Ð¿ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð· %d Ð½Ð° %d Ñƒ %B"
+msgid "warning: type of symbol `%s' changed from %d to %d in %pB"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð¸Ð¿ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð· %d Ð½Ð° %d Ñƒ %pB"
 
-#: cofflink.c:2369
+#: cofflink.c:2373
 #, c-format
-msgid "%B: relocs in section `%A', but it has no contents"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ», Ð°Ð»Ðµ Ñƒ Ñ†ÑŒÐ¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ð·Ð¼Ñ–Ñ�Ñ‚Ñƒ"
+msgid "%pB: relocs in section `%pA', but it has no contents"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ», Ð°Ð»Ðµ Ñƒ Ñ†ÑŒÐ¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ð·Ð¼Ñ–Ñ�Ñ‚Ñƒ"
 
-#: cofflink.c:2432 elflink.c:10567
+#: cofflink.c:2436 elflink.c:10787
 #, c-format
-msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
-msgstr "Ð�Ð° %XÂ«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» %B: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» %B\n"
+msgid "%X`%s' referenced in section `%pA' of %pB: defined in discarded section `%pA' of %pB\n"
+msgstr "Ð�Ð° %XÂ«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» %pB: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ» %pB\n"
 
-#: cofflink.c:2730
+#: cofflink.c:2734
 #, c-format
-msgid "%B: %A: reloc overflow: 0x%lx > 0xffff"
-msgstr "%B: %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: 0x%lx > 0xffff"
+msgid "%pB: %pA: reloc overflow: %#x > 0xffff"
+msgstr "%pB: %pA: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %#x > 0xffff"
 
-#: cofflink.c:2738
+#: cofflink.c:2742
 #, c-format
-msgid "%B: warning: %A: line number overflow: 0x%lx > 0xffff"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ°: 0x%lx > 0xffff"
+msgid "%pB: warning: %pA: line number overflow: %#x > 0xffff"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pA: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ°: %#x > 0xffff"
 
-#: coffswap.h:811
+#: coffswap.h:789
 #, c-format
-msgid "%B: warning: %s: line number overflow: 0x%lx > 0xffff"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ°: 0x%lx > 0xffff"
+msgid "%pB: warning: %s: line number overflow: 0x%lx > 0xffff"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñ�Ð´ÐºÐ°: 0x%lx > 0xffff"
 
-#: coffswap.h:825
+#: coffswap.h:803
 #, c-format
-msgid "%B: %s: reloc overflow: 0x%lx > 0xffff"
-msgstr "%B: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: 0x%lx > 0xffff"
+msgid "%pB: %s: reloc overflow: 0x%lx > 0xffff"
+msgstr "%pB: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: 0x%lx > 0xffff"
 
 #: compress.c:255
 #, c-format
-msgid "error: %B(%A) is too large (%#lx bytes)"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B(%A) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ (%#lx Ð±Ð°Ð¹Ñ‚Ñ–Ð²)"
+msgid "error: %pB(%pA) is too large (%#<PRIx64> bytes)"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB(%pA) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ (%#<PRIx64> Ð±Ð°Ð¹Ñ‚Ñ–Ð²)"
 
 #: cpu-arm.c:192 cpu-arm.c:204
 #, c-format
-msgid "error: %B is compiled for the EP9312, whereas %B is compiled for XScale"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� EP9312, Ð° %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� XScale"
+msgid "error: %pB is compiled for the EP9312, whereas %pB is compiled for XScale"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� EP9312, Ð° %pB Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� XScale"
 
 #: cpu-arm.c:338
 #, c-format
-msgid "warning: unable to update contents of %s section in %B"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ñƒ %B"
+msgid "warning: unable to update contents of %s section in %pB"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ñƒ %pB"
 
-#: dwarf2.c:532
+#: dwarf2.c:543
 #, c-format
-msgid "Dwarf Error: Can't find %s section."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» %s."
+msgid "DWARF error: can't find %s section."
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» %s."
 
-#: dwarf2.c:562
+#: dwarf2.c:572
 #, c-format
-msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ (%lu) Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð°Ð±Ð¾ Ñ€Ñ–Ð²Ð½Ð¸Ð¼ Ð·Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ %s (%lu)."
+msgid "DWARF error: offset (%<PRIu64>) greater than or equal to %s size (%<PRIu64>)"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ (%<PRIu64>) Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð°Ð±Ð¾ Ñ€Ñ–Ð²Ð½Ð¸Ð¼ Ð·Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ %s (%<PRIu64>)."
 
-#: dwarf2.c:1028
-msgid "Dwarf Error: Info pointer extends beyond end of attributes"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸Ðº Ð½Ð° Ð´Ð°Ð½Ñ– Ð²Ð¸Ñ…Ð¾Ð´Ð¸Ñ‚ÑŒ Ð·Ð° ÐºÑ–Ð½ÐµÑ†ÑŒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð²"
+#: dwarf2.c:1100
+msgid "DWARF error: info pointer extends beyond end of attributes"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸Ðº Ð½Ð° Ð´Ð°Ð½Ñ– Ð²Ð¸Ñ…Ð¾Ð´Ð¸Ñ‚ÑŒ Ð·Ð° ÐºÑ–Ð½ÐµÑ†ÑŒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð²"
 
-#: dwarf2.c:1185
+#: dwarf2.c:1268
 #, c-format
-msgid "Dwarf Error: Invalid or unhandled FORM value: %#x."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð°Ð±Ð¾ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� FORM: %#x."
+msgid "DWARF error: invalid or unhandled FORM value: %#x"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð°Ð±Ð¾ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� FORM: %#x"
 
-#: dwarf2.c:1491
-msgid "Dwarf Error: mangled line number section (bad file number)."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð² (Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð°)."
+#: dwarf2.c:1574
+msgid "DWARF error: mangled line number section (bad file number)"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð² (Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð°)"
 
-#: dwarf2.c:1779
+#: dwarf2.c:1919
+msgid "DWARF error: zero format count"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ"
+
+#: dwarf2.c:1929
 #, c-format
-msgid "Dwarf Error: Line info section is too small (%ld)"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼ (%ld)"
+msgid "DWARF error: data count (%<PRIx64>) larger than buffer size"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ° Ð´Ð°Ð½Ð¸Ñ… (%<PRIx64>) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð±ÑƒÑ„ÐµÑ€Ð°"
 
-#: dwarf2.c:1809
+#: dwarf2.c:1970
 #, c-format
-msgid "Dwarf Error: Line info data is bigger (0x%lx) than the section (0x%lx)"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð´Ð°Ð½Ñ– Ñ‰Ð¾Ð´Ð¾ Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼Ð¸ (0x%lx) Ð·Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð» (0x%lx)"
+msgid "DWARF error: unknown format content type %<PRIu64>"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð²Ð¼Ñ–Ñ�Ñ‚Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ %<PRIu64>"
 
-#: dwarf2.c:1821
+#: dwarf2.c:2050
 #, c-format
-msgid "Dwarf Error: Unhandled .debug_line version %d."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð° Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð²ÐµÑ€Ñ�Ñ–Ñ� .debug_line, %d."
+msgid "DWARF error: line info section is too small (%<PRId64>)"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼ (%<PRId64>)"
 
-#: dwarf2.c:1830
-msgid "Dwarf Error: Ran out of room reading prologue"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð²Ñ�Ñ‚ÑƒÐ¿Ñƒ"
+#: dwarf2.c:2080
+#, c-format
+msgid "DWARF error: line info data is bigger (%#<PRIx64>) than the space remaining in the section (%#lx)"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð´Ð°Ð½Ñ– Ñ‰Ð¾Ð´Ð¾ Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼Ð¸ (%#<PRIx64>) Ð·Ð° Ð¼Ñ–Ñ�Ñ†Ðµ, Ñ�ÐºÐµ Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– (%#lx)"
 
-#: dwarf2.c:1855
-msgid "Dwarf Error: Invalid maximum operations per instruction."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð° ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð´Ñ–Ð¹ Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ."
+#: dwarf2.c:2093
+#, c-format
+msgid "DWARF error: unhandled .debug_line version %d"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð° Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð²ÐµÑ€Ñ�Ñ–Ñ� .debug_line, %d"
+
+#: dwarf2.c:2103
+msgid "DWARF error: ran out of room reading prologue"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð²Ñ�Ñ‚ÑƒÐ¿Ñƒ"
+
+#: dwarf2.c:2121
+#, c-format
+msgid "DWARF error: line info unsupported segment selector size %u"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð²Ð°Ñ€Ñ–Ð°Ð½Ñ‚Ð° Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ–Ð² %u Ñƒ Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ñ€Ñ�Ð´ÐºÐ°"
+
+#: dwarf2.c:2148
+msgid "DWARF error: invalid maximum operations per instruction"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð° ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð´Ñ–Ð¹ Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ"
 
-#: dwarf2.c:1874
-msgid "Dwarf Error: Ran out of room reading opcodes"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� ÐºÐ¾Ð´Ñ–Ð² Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ð¹"
+#: dwarf2.c:2167
+msgid "DWARF error: ran out of room reading opcodes"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� ÐºÐ¾Ð´Ñ–Ð² Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ð¹"
 
-#: dwarf2.c:2069
-msgid "Dwarf Error: mangled line number section."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð²."
+#: dwarf2.c:2340
+msgid "DWARF error: mangled line number section"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð²"
 
-#: dwarf2.c:2575
+#: dwarf2.c:2843 dwarf2.c:2904
+msgid "DWARF error: invalid abstract instance DIE ref"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ð°Ð±Ñ�Ñ‚Ñ€Ð°ÐºÑ‚Ð½Ð¸Ð¹ ÐµÐºÐ·ÐµÐ¼Ð¿Ð»Ñ�Ñ€ DIE"
+
+#: dwarf2.c:2880
 #, c-format
-msgid "Dwarf Error: Unable to read alt ref %u."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Dwarf: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� %u."
+msgid "DWARF error: unable to read alt ref %<PRIu64>"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� %<PRIu64>"
 
-#: dwarf2.c:2600 dwarf2.c:2750 dwarf2.c:3071
+#: dwarf2.c:2921 dwarf2.c:3094 dwarf2.c:3448
 #, c-format
-msgid "Dwarf Error: Could not find abbrev number %u."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %u."
+msgid "DWARF error: could not find abbrev number %u"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ %u"
+
+#: dwarf2.c:2938
+msgid "DWARF error: abstract instance recursion detected"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ€ÐµÐºÑƒÑ€Ñ�Ñ–ÑŽ Ð°Ð±Ñ�Ñ‚Ñ€Ð°ÐºÑ‚Ð½Ð¸Ð¼ ÐµÐºÐ·ÐµÐ¼Ð¿Ð»Ñ�Ñ€Ð¾Ð¼"
 
-#: dwarf2.c:3023
+#: dwarf2.c:3367
 #, c-format
-msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð²ÐµÑ€Ñ�Ñ–ÑŽ dwarf Â«%uÂ», Ð°Ð»Ðµ Ñƒ Ñ†Ñ–Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÑƒ Ð»Ð¸ÑˆÐµ Ð²ÐµÑ€Ñ�Ñ–Ð¹ Ð´Ð°Ð½Ð¸Ñ… 2, 3 Ñ– 4."
+msgid "DWARF error: found dwarf version '%u', this reader only handles version 2, 3, 4 and 5 information"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð²ÐµÑ€Ñ�Ñ–ÑŽ DWARF Â«%uÂ», Ð°Ð»Ðµ Ñƒ Ñ†Ñ–Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÑƒ Ð»Ð¸ÑˆÐµ Ð²ÐµÑ€Ñ�Ñ–Ð¹ Ð´Ð°Ð½Ð¸Ñ… 2, 3 Ñ– 4"
 
-#: dwarf2.c:3034
+#: dwarf2.c:3411
 #, c-format
-msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ dwarf: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð°Ð´Ñ€ÐµÑ�Ð¸ Â«%uÂ», Ð²Ñ‚Ñ–Ð¼ Ñƒ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð², Ñ‰Ð¾ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑŽÑ‚ÑŒ Â«%uÂ»."
+msgid "DWARF error: found address size '%u', this reader can not handle sizes greater than '%u'"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ DWARF: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð°Ð´Ñ€ÐµÑ�Ð¸ Â«%uÂ», Ð²Ñ‚Ñ–Ð¼ Ñƒ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð², Ñ‰Ð¾ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑŽÑ‚ÑŒ Â«%uÂ»"
 
-#: dwarf2.c:3137
-msgid "Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form."
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ DW_AT_comp_dir Ñ–Ð· Ð½ÐµÑ€Ñ�Ð´ÐºÐ¾Ð²Ð¾ÑŽ Ñ„Ð¾Ñ€Ð¼Ð¾ÑŽ."
+#: dwarf2.c:3514
+msgid "DWARF error: DW_AT_comp_dir attribute encountered with a non-string form"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° DWARF: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ DW_AT_comp_dir Ñ–Ð· Ð½ÐµÑ€Ñ�Ð´ÐºÐ¾Ð²Ð¾ÑŽ Ñ„Ð¾Ñ€Ð¼Ð¾ÑŽ"
 
-#: ecoff.c:964
+#: ecoff.c:971
 #, c-format
-msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%d)\n"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: isymMax (%ld) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” ifdMax (%d)\n"
+msgid "%pB: warning: isymMax (%ld) is greater than ifdMax (%ld)"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: isymMax (%ld) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” ifdMax (%ld)"
 
-#: ecoff.c:1261
+#: ecoff.c:1268
 #, c-format
-msgid "Unknown basic type %d"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ %d"
+msgid "unknown basic type %d"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ %d"
 
-#: ecoff.c:1518
+#: ecoff.c:1525
 #, c-format
 msgid ""
 "\n"
@@ -771,7 +687,7 @@ msgstr ""
 "\n"
 "      Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼: %ld"
 
-#: ecoff.c:1525 ecoff.c:1528
+#: ecoff.c:1532 ecoff.c:1535
 #, c-format
 msgid ""
 "\n"
@@ -780,7 +696,7 @@ msgstr ""
 "\n"
 "      ÐŸÐµÑ€ÑˆÐ¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»: %ld"
 
-#: ecoff.c:1541
+#: ecoff.c:1548
 #, c-format
 msgid ""
 "\n"
@@ -789,7 +705,7 @@ msgstr ""
 "\n"
 "      Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼: %-7ld   Ð¢Ð¸Ð¿:  %s"
 
-#: ecoff.c:1548
+#: ecoff.c:1555
 #, c-format
 msgid ""
 "\n"
@@ -798,7 +714,7 @@ msgstr ""
 "\n"
 "      Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð»: %ld"
 
-#: ecoff.c:1556
+#: ecoff.c:1563
 #, c-format
 msgid ""
 "\n"
@@ -807,7 +723,7 @@ msgstr ""
 "\n"
 "      struct; Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼: %ld"
 
-#: ecoff.c:1561
+#: ecoff.c:1568
 #, c-format
 msgid ""
 "\n"
@@ -816,7 +732,7 @@ msgstr ""
 "\n"
 "      union; Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼: %ld"
 
-#: ecoff.c:1566
+#: ecoff.c:1573
 #, c-format
 msgid ""
 "\n"
@@ -825,7 +741,7 @@ msgstr ""
 "\n"
 "      enum; Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼: %ld"
 
-#: ecoff.c:1572
+#: ecoff.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -834,269 +750,291 @@ msgstr ""
 "\n"
 "      Ð¢Ð¸Ð¿: %s"
 
-#: elf-attrs.c:595
+#: elf-attrs.c:444
+#, c-format
+msgid "%pB: error: attribute section '%pA' too big: %#llx"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Â«%pAÂ» Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ: %#llx"
+
+#: elf-attrs.c:485
+#, c-format
+msgid "%pB: error: attribute section length too small: %<PRId64>"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¾ÑŽ: %<PRId64>"
+
+#: elf-attrs.c:613
 #, c-format
-msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð´Ð°Ð½Ñ– Ñƒ Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–, Ñ†Ñ– Ð´Ð°Ð½Ñ– Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¾ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² Â«%sÂ»"
+msgid "error: %pB: object has vendor-specific contents that must be processed by the '%s' toolchain"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð´Ð°Ð½Ñ– Ñƒ Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–, Ñ†Ñ– Ð´Ð°Ð½Ñ– Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¾ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² Â«%sÂ»"
 
-#: elf-attrs.c:605
+#: elf-attrs.c:623
 #, c-format
-msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð¼Ñ–Ñ‚ÐºÐ° Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Â«%d, %sÂ» Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð° Ð· Ð¼Ñ–Ñ‚ÐºÐ¾ÑŽ Â«%d, %sÂ»"
+msgid "error: %pB: object tag '%d, %s' is incompatible with tag '%d, %s'"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð¼Ñ–Ñ‚ÐºÐ° Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Â«%d, %sÂ» Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð° Ð· Ð¼Ñ–Ñ‚ÐºÐ¾ÑŽ Â«%d, %sÂ»"
 
-#: elf-eh-frame.c:946
+#: elf-eh-frame.c:942
 #, c-format
-msgid "discarding zero address range FDE in %B(%A).\n"
-msgstr "Ð²Ñ–Ð´ÐºÐ¸Ð´Ð°Ñ”Ð¼Ð¾ FDE Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ� Ñƒ %B(%A).\n"
+msgid "discarding zero address range FDE in %pB(%pA).\n"
+msgstr "Ð²Ñ–Ð´ÐºÐ¸Ð´Ð°Ñ”Ð¼Ð¾ FDE Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ� Ñƒ %pB(%pA).\n"
 
-#: elf-eh-frame.c:1051
+#: elf-eh-frame.c:1047
 #, c-format
-msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
-msgstr "%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ %B(%A); Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ .eh_frame_hdr Ð½Ðµ Ð±ÑƒÐ´Ðµ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾.\n"
+msgid "error in %pB(%pA); no .eh_frame_hdr table will be created"
+msgstr " Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ %pB(%pA); Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ .eh_frame_hdr Ð½Ðµ Ð±ÑƒÐ´Ðµ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾"
 
-#: elf-eh-frame.c:1541
+#: elf-eh-frame.c:1537
 #, c-format
-msgid "%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
-msgstr "%P: ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� FDE Ñƒ %B(%A) Ð¿ÐµÑ€ÐµÑˆÐºÐ¾Ð´Ð¶Ð°Ñ” Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½ÑŽ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– .eh_frame_hdr.\n"
+msgid "FDE encoding in %pB(%pA) prevents .eh_frame_hdr table being created"
+msgstr "ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� FDE Ñƒ %pB(%pA) Ð¿ÐµÑ€ÐµÑˆÐºÐ¾Ð´Ð¶Ð°Ñ” Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½ÑŽ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– .eh_frame_hdr"
 
-#: elf-eh-frame.c:1548
-msgid "%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n"
-msgstr "%P: Ð¿Ð¾Ð´Ð°Ð»ÑŒÑˆÑ– Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� FDE, Ñ�ÐºÐµ Ð·Ð°Ð²Ð°Ð¶Ð°Ñ” Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½ÑŽ .eh_frame_hdr, Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð¾.\n"
+#: elf-eh-frame.c:1544
+msgid "further warnings about FDE encoding preventing .eh_frame_hdr generation dropped"
+msgstr "Ð¿Ð¾Ð´Ð°Ð»ÑŒÑˆÑ– Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� FDE, Ñ�ÐºÐµ Ð·Ð°Ð²Ð°Ð¶Ð°Ñ” Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½ÑŽ .eh_frame_hdr, Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð¾"
 
-#: elf-eh-frame.c:1879
+#: elf-eh-frame.c:1866
 #, c-format
-msgid "%B: %A not in order"
-msgstr "%B: %A Ñ” Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¼"
+msgid "%pB: %pA not in order"
+msgstr "%pB: %pA Ñ” Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¼"
 
-#: elf-eh-frame.c:1893
+#: elf-eh-frame.c:1880
 #, c-format
-msgid "%B: %A invalid input section size"
-msgstr "%B: %A Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…"
+msgid "%pB: %pA invalid input section size"
+msgstr "%pB: %pA Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…"
 
-#: elf-eh-frame.c:1901
+#: elf-eh-frame.c:1888
 #, c-format
-msgid "%B: %A points past end of text section"
-msgstr "%B: %A Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ñ‚ÐµÐºÑ�Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
+msgid "%pB: %pA points past end of text section"
+msgstr "%pB: %pA Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ñ‚ÐµÐºÑ�Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
 
-#: elf-eh-frame.c:2150
-msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
-msgstr "%P: DW_EH_PE_datarel Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ†Ñ–Ñ”Ñ— Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸.\n"
+#: elf-eh-frame.c:2137
+msgid "DW_EH_PE_datarel unspecified for this architecture"
+msgstr "DW_EH_PE_datarel Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ†Ñ–Ñ”Ñ— Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸"
 
-#: elf-eh-frame.c:2320
+#: elf-eh-frame.c:2307
 #, c-format
-msgid "Invalid output section for .eh_frame_entry: %A"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Invalid output section for .eh_frame_entry: %A"
+msgid "invalid output section for .eh_frame_entry: %pA"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ñƒ .eh_frame_entry: %pA"
 
-#: elf-eh-frame.c:2343
+#: elf-eh-frame.c:2330
 #, c-format
-msgid "Invalid contents in %A section"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %A"
+msgid "invalid contents in %pA section"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pA"
 
-#: elf-eh-frame.c:2499
-msgid "%P: .eh_frame_hdr entry overflow.\n"
-msgstr "%P: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ñƒ .eh_frame_hdr.\n"
+#: elf-eh-frame.c:2486
+msgid ".eh_frame_hdr entry overflow"
+msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ñƒ .eh_frame_hdr"
 
-#: elf-eh-frame.c:2502
-msgid "%P: .eh_frame_hdr refers to overlapping FDEs.\n"
-msgstr "%P: .eh_frame_hdr Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° FDE, Ñ�ÐºÑ– Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°ÑŽÑ‚ÑŒÑ�Ñ�.\n"
+#: elf-eh-frame.c:2488
+msgid ".eh_frame_hdr refers to overlapping FDEs"
+msgstr ".eh_frame_hdr Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° FDE, Ñ�ÐºÑ– Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°ÑŽÑ‚ÑŒÑ�Ñ�"
 
-#: elf-ifunc.c:142
+#: elf-ifunc.c:149
 #, c-format
-msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
-msgstr "%F%P: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» STT_GNU_IFUNC Â«%sÂ» Ð· Ñ€Ñ–Ð²Ð½Ñ–Ñ�Ñ‚ÑŽ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² Ñƒ Â«%BÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°; Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ñƒ ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñ�Ñ†Ñ–ÑŽ Ð· -fPIE Ñ– Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� -pie\n"
+msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%pB' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
+msgstr "%F%P: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» STT_GNU_IFUNC Â«%sÂ» Ð· Ñ€Ñ–Ð²Ð½Ñ–Ñ�Ñ‚ÑŽ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² Ñƒ Â«%pBÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°; Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ñƒ ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñ�Ñ†Ñ–ÑŽ Ð· -fPIE Ñ– Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� -pie\n"
 
-#: elf-m10200.c:425 elf-m10300.c:2149 elf32-avr.c:1502 elf32-bfin.c:3194
-#: elf32-cr16.c:1466 elf32-cr16c.c:780 elf32-cris.c:2025 elf32-crx.c:924
-#: elf32-d10v.c:513 elf32-epiphany.c:563 elf32-fr30.c:591 elf32-frv.c:4041
-#: elf32-ft32.c:334 elf32-h8300.c:522 elf32-i860.c:1210 elf32-ip2k.c:1475
-#: elf32-iq2000.c:693 elf32-lm32.c:1126 elf32-m32c.c:621 elf32-m32r.c:3044
-#: elf32-m68hc1x.c:1269 elf32-mep.c:524 elf32-metag.c:2001
-#: elf32-microblaze.c:1570 elf32-moxie.c:285 elf32-mt.c:400 elf32-nds32.c:5402
-#: elf32-or1k.c:1258 elf32-score.c:2731 elf32-score7.c:2540 elf32-spu.c:5076
-#: elf32-tilepro.c:3665 elf32-v850.c:2287 elf32-visium.c:677
-#: elf32-xstormy16.c:927 elf64-mmix.c:1540 elfxx-tilegx.c:4052
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2267
+#: elf-m10200.c:434 elf-m10300.c:2147 elf32-avr.c:1505 elf32-bfin.c:3127
+#: elf32-cr16.c:1464 elf32-cr16c.c:783 elf32-cris.c:2033 elf32-crx.c:925
+#: elf32-d10v.c:512 elf32-epiphany.c:566 elf32-fr30.c:594 elf32-frv.c:4049
+#: elf32-ft32.c:494 elf32-h8300.c:523 elf32-ip2k.c:1482 elf32-iq2000.c:693
+#: elf32-lm32.c:1112 elf32-m32c.c:624 elf32-m32r.c:3045 elf32-m68hc1x.c:1266
+#: elf32-mep.c:526 elf32-metag.c:1990 elf32-microblaze.c:1631
+#: elf32-moxie.c:288 elf32-mt.c:402 elf32-nds32.c:5300 elf32-or1k.c:1242
+#: elf32-score.c:2733 elf32-score7.c:2542 elf32-spu.c:5078
+#: elf32-tilepro.c:3506 elf32-v850.c:2291 elf32-visium.c:681
+#: elf32-xstormy16.c:931 elf64-mmix.c:1541 elfxx-tilegx.c:3870
 msgid "internal error: out of range error"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
 
-#: elf-m10200.c:429 elf-m10300.c:2153 elf32-avr.c:1506 elf32-bfin.c:3198
-#: elf32-cr16.c:1470 elf32-cr16c.c:784 elf32-cris.c:2029 elf32-crx.c:928
-#: elf32-d10v.c:517 elf32-fr30.c:595 elf32-frv.c:4045 elf32-ft32.c:338
-#: elf32-h8300.c:526 elf32-i860.c:1214 elf32-iq2000.c:697 elf32-lm32.c:1130
-#: elf32-m32c.c:625 elf32-m32r.c:3048 elf32-m68hc1x.c:1273 elf32-mep.c:528
-#: elf32-metag.c:2005 elf32-microblaze.c:1574 elf32-moxie.c:289
-#: elf32-msp430.c:1361 elf32-nds32.c:5406 elf32-or1k.c:1262 elf32-score.c:2735
-#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3669 elf32-v850.c:2291
-#: elf32-visium.c:681 elf32-xstormy16.c:931 elf64-mmix.c:1544
-#: elfxx-mips.c:10258 elfxx-tilegx.c:4056
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2271
+#: elf-m10200.c:438 elf-m10300.c:2151 elf32-avr.c:1509 elf32-bfin.c:3131
+#: elf32-cr16.c:1468 elf32-cr16c.c:787 elf32-cris.c:2037 elf32-crx.c:929
+#: elf32-d10v.c:516 elf32-fr30.c:598 elf32-frv.c:4053 elf32-ft32.c:498
+#: elf32-h8300.c:527 elf32-iq2000.c:697 elf32-lm32.c:1116 elf32-m32c.c:628
+#: elf32-m32r.c:3049 elf32-m68hc1x.c:1270 elf32-mep.c:530 elf32-metag.c:1994
+#: elf32-microblaze.c:1635 elf32-moxie.c:292 elf32-msp430.c:1362
+#: elf32-nds32.c:5304 elf32-or1k.c:1246 elf32-score.c:2737 elf32-score7.c:2546
+#: elf32-spu.c:5082 elf32-tilepro.c:3510 elf32-v850.c:2295 elf32-visium.c:685
+#: elf32-xstormy16.c:935 elf64-mmix.c:1545 elfxx-mips.c:10283
+#: elfxx-tilegx.c:3874
 msgid "internal error: unsupported relocation error"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf-m10200.c:433 elf32-cr16.c:1474 elf32-cr16c.c:788 elf32-crx.c:932
-#: elf32-d10v.c:521 elf32-h8300.c:530 elf32-lm32.c:1134 elf32-m32r.c:3052
-#: elf32-m68hc1x.c:1277 elf32-microblaze.c:1578 elf32-nds32.c:5410
-#: elf32-score.c:2739 elf32-score7.c:2548 elf32-spu.c:5084
+#: elf-m10200.c:442 elf32-cr16.c:1472 elf32-cr16c.c:791 elf32-crx.c:933
+#: elf32-d10v.c:520 elf32-h8300.c:531 elf32-lm32.c:1120 elf32-m32r.c:3053
+#: elf32-m68hc1x.c:1274 elf32-microblaze.c:1639 elf32-nds32.c:5308
+#: elf32-score.c:2741 elf32-score7.c:2550 elf32-spu.c:5086
 msgid "internal error: dangerous error"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°"
 
-#: elf-m10200.c:437 elf-m10300.c:2170 elf32-avr.c:1514 elf32-bfin.c:3206
-#: elf32-cr16.c:1478 elf32-cr16c.c:792 elf32-cris.c:2037 elf32-crx.c:936
-#: elf32-d10v.c:525 elf32-epiphany.c:578 elf32-fr30.c:603 elf32-frv.c:4053
-#: elf32-ft32.c:346 elf32-h8300.c:534 elf32-i860.c:1222 elf32-ip2k.c:1490
-#: elf32-iq2000.c:705 elf32-lm32.c:1138 elf32-m32c.c:633 elf32-m32r.c:3056
-#: elf32-m68hc1x.c:1281 elf32-mep.c:536 elf32-metag.c:2013
-#: elf32-microblaze.c:1582 elf32-moxie.c:297 elf32-msp430.c:1369
-#: elf32-mt.c:408 elf32-nds32.c:5414 elf32-or1k.c:1270 elf32-score.c:2748
-#: elf32-score7.c:2552 elf32-spu.c:5088 elf32-tilepro.c:3677 elf32-v850.c:2311
-#: elf32-visium.c:689 elf32-xstormy16.c:939 elf64-mmix.c:1552
-#: elfxx-tilegx.c:4064
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2279
+#: elf-m10200.c:446 elf-m10300.c:2168 elf32-avr.c:1517 elf32-bfin.c:3139
+#: elf32-cr16.c:1476 elf32-cr16c.c:795 elf32-cris.c:2045 elf32-crx.c:937
+#: elf32-d10v.c:524 elf32-epiphany.c:581 elf32-fr30.c:606 elf32-frv.c:4061
+#: elf32-ft32.c:506 elf32-h8300.c:535 elf32-ip2k.c:1497 elf32-iq2000.c:705
+#: elf32-lm32.c:1124 elf32-m32c.c:636 elf32-m32r.c:3057 elf32-m68hc1x.c:1278
+#: elf32-mep.c:538 elf32-metag.c:2002 elf32-microblaze.c:1643
+#: elf32-moxie.c:300 elf32-msp430.c:1370 elf32-mt.c:410 elf32-nds32.c:5312
+#: elf32-or1k.c:1254 elf32-score.c:2750 elf32-score7.c:2554 elf32-spu.c:5090
+#: elf32-tilepro.c:3518 elf32-v850.c:2315 elf32-visium.c:693
+#: elf32-xstormy16.c:943 elf64-mmix.c:1553 elfxx-tilegx.c:3882
 msgid "internal error: unknown error"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°"
 
-#: elf-m10300.c:812
+#: elf-m10300.c:1029
 #, c-format
-msgid "%B: unrecognised MN10300 reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MN10300: %d"
+msgid "%pB: unsupported transition from %s to %s"
+msgstr "%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð· %s Ð´Ð¾ %s"
 
-#: elf-m10300.c:1028
+#: elf-m10300.c:1198
 #, c-format
-msgid "%B: Unsupported transition from %s to %s"
-msgstr "%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð· %s Ð´Ð¾ %s"
+msgid "%pB: %s' accessed both as normal and thread local symbol"
+msgstr "%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf-m10300.c:1201
+#: elf-m10300.c:2094 elf32-arm.c:13234 elf32-i386.c:3410 elf32-m32r.c:2539
+#: elf32-m68k.c:3899 elf32-s390.c:3208 elf32-sh.c:3796 elf32-tilepro.c:3409
+#: elf32-xtensa.c:2952 elf64-s390.c:3125 elf64-x86-64.c:3843
+#: elfxx-sparc.c:3908 elfxx-tilegx.c:3793
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:5258
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:6738
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:2249
 #, c-format
-msgid "%B: %s' accessed both as normal and thread local symbol"
-msgstr "%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
+msgid "%pB(%pA+%#<PRIx64>): unresolvable %s relocation against symbol `%s'"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
 
-#: elf-m10300.c:2097 elf32-arm.c:12532 elf32-i386.c:5372 elf32-m32r.c:2540
-#: elf32-m68k.c:4084 elf32-s390.c:3372 elf32-sh.c:4127 elf32-tilepro.c:3569
-#: elf32-xtensa.c:3074 elf64-s390.c:3296 elf64-sh64.c:1636 elf64-x86-64.c:5753
-#: elfxx-sparc.c:4086 elfxx-tilegx.c:3976
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6437
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2236
-#, c-format
-msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%A+0x%lx): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
-
-#: elf-m10300.c:2158
+#: elf-m10300.c:2156
 msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)"
 msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� (Ð·Ð°Ð±ÑƒÐ»Ð¸ -fpic?)"
 
-#: elf-m10300.c:2162
+#: elf-m10300.c:2160
 #, c-format
-msgid "%B: taking the address of protected function '%s' cannot be done when making a shared library"
-msgstr "%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
+msgid "%pB: taking the address of protected function '%s' cannot be done when making a shared library"
+msgstr "%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf-m10300.c:2165
+#: elf-m10300.c:2163
 msgid "internal error: suspicious relocation type used in shared library"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ñ–Ð´Ð¾Ð·Ñ€Ñ–Ð»Ð¸Ð²Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÑ†Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
 
+#: elf-m10300.c:2649 elf32-avr.c:2487 elf32-frv.c:5641 elf64-ia64-vms.c:364
+#: elfxx-sparc.c:2797 reloc.c:8116 reloc16.c:155 elf32-ia64.c:362
+#: elf64-ia64.c:362
+msgid "%P%F: --relax and -r may not be used together\n"
+msgstr "%P%F: --relax Ñ– -r Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾\n"
+
 #: elf-properties.c:65
-msgid "%B: out of memory in _bfd_elf_get_property"
-msgstr "%B: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð»Ñ�Ð½ÐºÐ¸ Ð¿Ð°Ð¼'Ñ�Ñ‚Ñ– Ñƒ _bfd_elf_get_property"
+#, c-format
+msgid "%pB: out of memory in _bfd_elf_get_property"
+msgstr "%pB: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð»Ñ�Ð½ÐºÐ¸ Ð¿Ð°Ð¼'Ñ�Ñ‚Ñ– Ñƒ _bfd_elf_get_property"
 
 #: elf-properties.c:91
-msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ GNU_PROPERTY_TYPE (%ld), Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %#lx"
+#, c-format
+msgid "warning: %pB: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ GNU_PROPERTY_TYPE (%ld), Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %#lx"
 
-#: elf-properties.c:107
-msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ GNU_PROPERTY_TYPE (%ld), Ñ‚Ð¸Ð¿ (0x%x), Ð¾Ð±Ñ�Ñ�Ð³ Ð´Ð°Ð½Ð¸Ñ…: 0x%x"
-
-#: elf-properties.c:146
-msgid "warning: %B: corrupt stack size: 0x%x"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚ÐµÐºÐ°: 0x%x"
-
-#: elf-properties.c:164
-msgid "warning: %B: corrupt no copy on protected size: 0x%x"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Â«Ð½Ðµ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ñ‚Ð¸ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½ÐµÂ», Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: 0x%x"
-
-#: elf-properties.c:180
-msgid "warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ GNU_PROPERTY_TYPE (%ld): 0x%x"
+#: elf-properties.c:112
+#, c-format
+msgid "warning: %pB: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ GNU_PROPERTY_TYPE (%ld), Ñ‚Ð¸Ð¿ (0x%x), Ð¾Ð±Ñ�Ñ�Ð³ Ð´Ð°Ð½Ð¸Ñ…: 0x%x"
+
+#: elf-properties.c:151
+#, c-format
+msgid "warning: %pB: corrupt stack size: 0x%x"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚ÐµÐºÐ°: 0x%x"
+
+#: elf-properties.c:169
+#, c-format
+msgid "warning: %pB: corrupt no copy on protected size: 0x%x"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Â«Ð½Ðµ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ñ‚Ð¸ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½ÐµÂ», Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: 0x%x"
+
+#: elf-properties.c:186
+#, c-format
+msgid "warning: %pB: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ GNU_PROPERTY_TYPE (%ld): 0x%x"
 
 #. PR 17512: file: f057ec89.
-#: elf.c:342
+#: elf.c:344
 #, c-format
-msgid "%B: attempt to load strings from a non-string section (number %d)"
-msgstr "%B: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ–Ð· Ð½ÐµÑ€Ñ�Ð´ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (Ð½Ð¾Ð¼ÐµÑ€ %d)"
+msgid "%pB: attempt to load strings from a non-string section (number %d)"
+msgstr "%pB: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� Ñ€Ñ�Ð´ÐºÑ–Ð² Ñ–Ð· Ð½ÐµÑ€Ñ�Ð´ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (Ð½Ð¾Ð¼ÐµÑ€ %d)"
 
-#: elf.c:357
+#: elf.c:359
 #, c-format
-msgid "%B: invalid string offset %u >= %lu for section `%s'"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ€Ñ�Ð´ÐºÐ°, %u >= %lu, Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»"
+msgid "%pB: invalid string offset %u >= %<PRIu64> for section `%s'"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ€Ñ�Ð´ÐºÐ°, %u >= %<PRIu64>, Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»"
 
-#: elf.c:496
+#: elf.c:498 /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:7826
 #, c-format
-msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
-msgstr "%B Ð½Ð¾Ð¼ÐµÑ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %lu Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð» SHT_SYMTAB_SHNDX, Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”"
+msgid "%pB symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
+msgstr "%pB Ð½Ð¾Ð¼ÐµÑ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %lu Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð» SHT_SYMTAB_SHNDX, Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”"
 
-#: elf.c:660
+#: elf.c:663
 #, c-format
-msgid "%B: corrupt size field in group section header: %#Lx"
-msgstr "%B: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ñ– Ð´Ð°Ð½Ñ– Ð¿Ð¾Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð³Ñ€ÑƒÐ¿: %#Lx"
+msgid "%pB: corrupt size field in group section header: %#<PRIx64>"
+msgstr "%pB: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ñ– Ð´Ð°Ð½Ñ– Ð¿Ð¾Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð³Ñ€ÑƒÐ¿: %#<PRIx64>"
 
-#: elf.c:675
+#: elf.c:679
 #, c-format
-msgid "%B: invalid size field in group section header: %#Lx"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ñ– Ð´Ð°Ð½Ñ– Ð¿Ð¾Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð³Ñ€ÑƒÐ¿: %#Lx"
+msgid "%pB: invalid size field in group section header: %#<PRIx64>"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ñ– Ð´Ð°Ð½Ñ– Ð¿Ð¾Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð³Ñ€ÑƒÐ¿: %#<PRIx64>"
 
-#: elf.c:711
-msgid "%B: invalid SHT_GROUP entry"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� SHT_GROUP"
+#: elf.c:727
+#, c-format
+msgid "%pB: invalid entry in SHT_GROUP section [%u]"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– SHT_GROUP [%u]"
 
-#: elf.c:730
-msgid "%B: no valid group sections found"
-msgstr "%B: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð³Ñ€ÑƒÐ¿Ð¸"
+#: elf.c:746
+#, c-format
+msgid "%pB: no valid group sections found"
+msgstr "%pB: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð³Ñ€ÑƒÐ¿Ð¸"
+
+#. See PR 21957 for a reproducer.
+#: elf.c:775
+#, c-format
+msgid "%pB: group section '%pA' has no contents"
+msgstr "%pB: Ð³Ñ€ÑƒÐ¿Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð´Ð°Ð½Ð¸Ñ…"
 
-#: elf.c:804
+#: elf.c:836
 #, c-format
-msgid "%B: no group info for section %A"
-msgstr "%B: Ð½ÐµÐ¼Ð°Ñ” Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð³Ñ€ÑƒÐ¿Ð¸ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A"
+msgid "%pB: no group info for section '%pA'"
+msgstr "%pB: Ð½ÐµÐ¼Ð°Ñ” Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð³Ñ€ÑƒÐ¿Ð¸ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ»"
 
-#: elf.c:835 elf.c:3819 elflink.c:11155
+#: elf.c:867 elf.c:3881 elflink.c:11375
 #, c-format
-msgid "%B: warning: sh_link not set for section `%A'"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ sh_link Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ»"
+msgid "%pB: warning: sh_link not set for section `%pA'"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ sh_link Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ»"
 
-#: elf.c:855
+#: elf.c:887
 #, c-format
-msgid "%B: sh_link [%d] in section `%A' is incorrect"
-msgstr "%B: sh_link [%d] Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼"
+msgid "%pB: sh_link [%d] in section `%pA' is incorrect"
+msgstr "%pB: sh_link [%d] Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼"
 
-#: elf.c:868
+#: elf.c:900
 #, c-format
-msgid "%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"
-msgstr "%B: Ñ€Ð¾Ð·Ð´Ñ–Ð» SHT_GROUP [Ñ–Ð½Ð´ÐµÐºÑ� %d] Ð½Ðµ Ð¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² SHF_GROUP"
+msgid "%pB: SHT_GROUP section [index %d] has no SHF_GROUP sections"
+msgstr "%pB: Ñ€Ð¾Ð·Ð´Ñ–Ð» SHT_GROUP [Ñ–Ð½Ð´ÐµÐºÑ� %d] Ð½Ðµ Ð¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² SHF_GROUP"
 
-#: elf.c:889
+#: elf.c:921
 #, c-format
-msgid "%B: section group entry number %u is corrupt"
-msgstr "%B: Ð·Ð°Ð¿Ð¸Ñ� Ð³Ñ€ÑƒÐ¿Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ñ–Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %u Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾"
+msgid "%pB: section group entry number %u is corrupt"
+msgstr "%pB: Ð·Ð°Ð¿Ð¸Ñ� Ð³Ñ€ÑƒÐ¿Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ñ–Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %u Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾"
 
-#: elf.c:914
+#: elf.c:944
 #, c-format
-msgid "%B: unknown type [%#x] section `%s' in group [%A]"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿, [%#x], Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ» Ñƒ Ð³Ñ€ÑƒÐ¿Ñ– [%A]"
+msgid "%pB: unknown type [%#x] section `%s' in group [%pA]"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿, [%#x], Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ» Ñƒ Ð³Ñ€ÑƒÐ¿Ñ– [%pA]"
 
-#: elf.c:1373
+#: elf.c:1406
 #, c-format
-msgid "%B: Invalid sh_link field (%d) in section number %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ sh_link (%d) Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d"
+msgid "%pB: invalid sh_link field (%d) in section number %d"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ sh_link (%d) Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d"
 
-#: elf.c:1389
+#: elf.c:1422
 #, c-format
-msgid "%B: Failed to find link section for section %d"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð·Ð²â€™Ñ�Ð·ÐºÑ–Ð² Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d"
+msgid "%pB: failed to find link section for section %d"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð·Ð²â€™Ñ�Ð·ÐºÑ–Ð² Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d"
 
-#: elf.c:1416
+#: elf.c:1449
 #, c-format
-msgid "%B: Failed to find info section for section %d"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d"
+msgid "%pB: failed to find info section for section %d"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d"
 
-#: elf.c:1588
+#: elf.c:1621
 #, c-format
 msgid ""
 "\n"
@@ -1105,7 +1043,7 @@ msgstr ""
 "\n"
 "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸:\n"
 
-#: elf.c:1630
+#: elf.c:1663
 #, c-format
 msgid ""
 "\n"
@@ -1114,7 +1052,7 @@ msgstr ""
 "\n"
 "Ð”Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»:\n"
 
-#: elf.c:1771
+#: elf.c:1804
 #, c-format
 msgid ""
 "\n"
@@ -1123,7 +1061,7 @@ msgstr ""
 "\n"
 "Ð’Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²ÐµÑ€Ñ�Ñ–Ð¹:\n"
 
-#: elf.c:1796
+#: elf.c:1829
 #, c-format
 msgid ""
 "\n"
@@ -1132,791 +1070,852 @@ msgstr ""
 "\n"
 "ÐŸÐ¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ—:\n"
 
-#: elf.c:1801
+#: elf.c:1834
 #, c-format
 msgid "  required from %s:\n"
 msgstr "  Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ñ– %s:\n"
 
-#: elf.c:1999
-msgid "%B: warning: loop in section dependencies detected"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ†Ð¸ÐºÐ»ÐµÐ½Ñ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ�Ñ‚ÐµÐ¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
+#: elf.c:2035
+#, c-format
+msgid "%pB: warning: loop in section dependencies detected"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ†Ð¸ÐºÐ»ÐµÐ½Ñ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ�Ñ‚ÐµÐ¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
 
-#: elf.c:2107
+#: elf.c:2143
 #, c-format
-msgid "%B: warning: multiple symbol tables detected - ignoring the table in section %u"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %u"
+msgid "%pB: warning: multiple symbol tables detected - ignoring the table in section %u"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %u"
 
-#: elf.c:2191
+#: elf.c:2227
 #, c-format
-msgid "%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %u"
+msgid "%pB: warning: multiple dynamic symbol tables detected - ignoring the table in section %u"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %u"
 
-#: elf.c:2304
+#: elf.c:2340
 #, c-format
-msgid "%B: invalid link %u for reloc section %s (index %u)"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� %u Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s (Ñ–Ð½Ð´ÐµÐºÑ� %u)"
+msgid "%pB: invalid link %u for reloc section %s (index %u)"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� %u Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s (Ñ–Ð½Ð´ÐµÐºÑ� %u)"
 
-#: elf.c:2463 elf.c:2478 elf.c:2489 elf.c:2502
+#: elf.c:2499 elf.c:2514 elf.c:2525 elf.c:2538
 #, c-format
-msgid "%B: unknown type [%#x] section `%s'"
-msgstr "%B: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾Ð³Ð¾ Ñ‚Ð¸Ð¿Ñƒ [%#x], Â«%sÂ»"
+msgid "%pB: unknown type [%#x] section `%s'"
+msgstr "%pB: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾Ð³Ð¾ Ñ‚Ð¸Ð¿Ñƒ [%#x], Â«%sÂ»"
 
-#: elf.c:3206
+#: elf.c:3243
 #, c-format
-msgid "%B: error: Alignment power %d of section `%A' is too big"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�Ñ‚ÐµÐ¿Ñ–Ð½ÑŒ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %d Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ"
+msgid "%pB: error: alignment power %d of section `%pA' is too big"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�Ñ‚ÐµÐ¿Ñ–Ð½ÑŒ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %d Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ"
 
-#: elf.c:3236
+#: elf.c:3273
 #, c-format
-msgid "warning: section `%A' type changed to PROGBITS"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð¸Ð¿ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð½Ð° PROGBITS"
+msgid "warning: section `%pA' type changed to PROGBITS"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð¸Ð¿ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð½Ð° PROGBITS"
 
-#: elf.c:3687
+#: elf.c:3749
 #, c-format
-msgid "%B: too many sections: %u"
-msgstr "%B: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² %u"
+msgid "%pB: too many sections: %u"
+msgstr "%pB: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² %u"
 
-#: elf.c:3772
+#: elf.c:3834
 #, c-format
-msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
-msgstr "%B: sh_link Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» Â«%BÂ»"
+msgid "%pB: sh_link of section `%pA' points to discarded section `%pA' of `%pB'"
+msgstr "%pB: sh_link Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Â«%pBÂ»"
 
-#: elf.c:3797
+#: elf.c:3859
 #, c-format
-msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
-msgstr "%B: sh_link Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» Â«%BÂ»"
+msgid "%pB: sh_link of section `%pA' points to removed section `%pA' of `%pB'"
+msgstr "%pB: sh_link Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Â«%pBÂ»"
 
-#: elf.c:4349
+#: elf.c:4418
 #, c-format
-msgid "%B: GNU_MBIN section `%A' has invalid sh_info field: %d"
-msgstr "%B: Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– GNU_MBIN Â«%AÂ» Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ sh_info: %d"
+msgid "%pB: GNU_MBIN section `%pA' has invalid sh_info field: %d"
+msgstr "%pB: Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– GNU_MBIN Â«%pAÂ» Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ sh_info: %d"
 
-#: elf.c:4891
-msgid "%B: TLS sections are not adjacent:"
-msgstr "%B: Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ TLS Ð½Ðµ Ñ” Ñ�ÑƒÑ�Ñ–Ð´Ð½Ñ–Ð¼Ð¸:"
+#: elf.c:4964
+#, c-format
+msgid "%pB: TLS sections are not adjacent:"
+msgstr "%pB: Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ TLS Ð½Ðµ Ñ” Ñ�ÑƒÑ�Ñ–Ð´Ð½Ñ–Ð¼Ð¸:"
 
-#: elf.c:4898
+#: elf.c:4971
 #, c-format
-msgid "\t    TLS: %A"
-msgstr "\t    TLS: %A"
+msgid "\t    TLS: %pA"
+msgstr "\t    TLS: %pA"
 
-#: elf.c:4902
+#: elf.c:4975
 #, c-format
-msgid "\tnon-TLS: %A"
-msgstr "\tÐ½Ðµ-TLS: %A"
+msgid "\tnon-TLS: %pA"
+msgstr "\tÐ½Ðµ-TLS: %pA"
 
-#: elf.c:5398
-msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
-msgstr "%B: Ð¿ÐµÑ€ÑˆÐ¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ñƒ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ– PT_DYNAMIC Ð½Ðµ Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ .dynamic"
+#: elf.c:5471
+#, c-format
+msgid "%pB: The first section in the PT_DYNAMIC segment is not the .dynamic section"
+msgstr "%pB: Ð¿ÐµÑ€ÑˆÐ¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ñƒ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ– PT_DYNAMIC Ð½Ðµ Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ .dynamic"
 
-#: elf.c:5426
-msgid "%B: Not enough room for program headers, try linking with -N"
-msgstr "%B: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¼Ñ–Ñ�Ñ†Ñ� Ð´Ð»Ñ� Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑ–Ð² Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸, Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· -N"
+#: elf.c:5499
+#, c-format
+msgid "%pB: not enough room for program headers, try linking with -N"
+msgstr "%pB: Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¼Ñ–Ñ�Ñ†Ñ� Ð´Ð»Ñ� Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑ–Ð² Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸, Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· -N"
 
-#: elf.c:5514
+#: elf.c:5587
 #, c-format
-msgid "%B: section %A lma %#Lx adjusted to %#Lx"
-msgstr "%B: lma %#Lx Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A Ñ�ÐºÐ¾Ñ€Ð¸Ð³Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð¾ %#Lx"
+msgid "%pB: section %pA lma %#<PRIx64> adjusted to %#<PRIx64>"
+msgstr "%pB: (Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA) lma %#<PRIx64> Ñ�ÐºÐ¾Ñ€Ð¸Ð³Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð¾ %#<PRIx64>"
 
-#: elf.c:5651
+#: elf.c:5724
 #, c-format
-msgid "%B: section `%A' can't be allocated in segment %d"
-msgstr "%B: Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»ÐµÐ½Ð¾ Ñƒ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ– %d"
+msgid "%pB: section `%pA' can't be allocated in segment %d"
+msgstr "%pB: Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»ÐµÐ½Ð¾ Ñƒ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ñ– %d"
 
-#: elf.c:5699
+#: elf.c:5772
 #, c-format
-msgid "%B: warning: allocated section `%s' not in segment"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%sÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°"
+msgid "%pB: warning: allocated section `%s' not in segment"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%sÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°"
 
-#: elf.c:5897
-msgid "%B: error: non-load segment %d includes file header and/or program header"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ %d Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ” Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñ„Ð°Ð¹Ð»Ð° Ñ–/Ð°Ð±Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸"
+#: elf.c:6005
+#, c-format
+msgid "%pB: error: non-load segment %d includes file header and/or program header"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ %d Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ” Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñ„Ð°Ð¹Ð»Ð° Ñ–/Ð°Ð±Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸"
 
 #. The fix for this error is usually to edit the linker script being
 #. used and set up the program headers manually.  Either that or
 #. leave room for the headers at the start of the SECTIONS.
-#: elf.c:6074
-msgid "%B: error: PHDR segment not covered by LOAD segment"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ PHDR Ð½Ðµ Ð¿Ð¾ÐºÑ€Ð¸Ð²Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¾Ð¼ LOAD"
-
-#: elf.c:6418
+#: elf.c:6182
 #, c-format
-msgid "%B: symbol `%s' required but not present"
-msgstr "%B: Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ», Ð°Ð»Ðµ Ð¹Ð¾Ð³Ð¾ Ð½ÐµÐ¼Ð°Ñ”"
+msgid "%pB: error: PHDR segment not covered by LOAD segment"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ PHDR Ð½Ðµ Ð¿Ð¾ÐºÑ€Ð¸Ð²Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¾Ð¼ LOAD"
 
-#: elf.c:6761
+#: elf.c:6527
 #, c-format
-msgid "%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–Ð¹ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð·Ð° vaddr=%#Lx, Ñ‚Ð°Ðº Ñ– Ñ‚Ñ€ÐµÐ±Ð°?"
+msgid "%pB: symbol `%s' required but not present"
+msgstr "%pB: Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ», Ð°Ð»Ðµ Ð¹Ð¾Ð³Ð¾ Ð½ÐµÐ¼Ð°Ñ”"
 
-#: elf.c:7375
+#: elf.c:6869
 #, c-format
-msgid "%B: warning: segment alignment of %#Lx is too large"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° %#Lx Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼"
+msgid "%pB: warning: empty loadable segment detected at vaddr=%#<PRIx64>, is this intentional?"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–Ð¹ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð·Ð° vaddr=%#<PRIx64>, Ñ‚Ð°Ðº Ñ– Ñ‚Ñ€ÐµÐ±Ð°?"
 
-#: elf.c:7856
+#: elf.c:7472
 #, c-format
-msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
-msgstr "Ð�Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ñ–Ð²Ð½Ð¾Ñ†Ñ–Ð½Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»"
+msgid "%pB: warning: segment alignment of %#<PRIx64> is too large"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° %#<PRIx64> Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼"
 
-#: elf.c:8188
-msgid "%B: .gnu.version_r invalid entry"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� .gnu.version_r"
+#: elf.c:7971
+#, c-format
+msgid "unable to find equivalent output section for symbol '%s' from section '%s'"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ñ–Ð²Ð½Ð¾Ñ†Ñ–Ð½Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»"
 
-#: elf.c:8315
-msgid "%B: .gnu.version_d invalid entry"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� .gnu.version_d"
+#: elf.c:8304
+#, c-format
+msgid "%pB: .gnu.version_r invalid entry"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� .gnu.version_r"
 
-#: elf.c:8867
+#: elf.c:8431
 #, c-format
-msgid "%B: unsupported relocation type %s"
-msgstr "%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s"
+msgid "%pB: .gnu.version_d invalid entry"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� .gnu.version_d"
 
-#: elf32-arc.c:433 elf32-frv.c:6626 elf32-iq2000.c:870 elf32-m32c.c:915
-#: elf32-mt.c:564 elf32-rl78.c:1256 elf32-rx.c:3177 elf32-visium.c:837
-#: elf64-ppc.c:6078
+#: elf32-arc.c:442 elf32-frv.c:6630 elf32-iq2000.c:870 elf32-m32c.c:914
+#: elf32-mt.c:562 elf32-rl78.c:1261 elf32-rx.c:3200 elf32-visium.c:841
+#: elf64-ppc.c:6198
 #, c-format
 msgid "private flags = 0x%lx:"
 msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = 0x%lx:"
 
-#: elf32-arc.c:611
-msgid "Warning: %B: Conflicting platform configuration %s with %s.\n"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼, %s Ð· %s.\n"
+#: elf32-arc.c:629
+#, c-format
+msgid "warning: %pB: conflicting platform configuration %s with %s"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼, %s Ð· %s"
 
-#: elf32-arc.c:630
-msgid "error: %B: unable to merge CPU base attributes %s with %s.\n"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ Ð±Ð°Ð·Ð¾Ð²Ñ– Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð° %s Ð· %s.\n"
+#: elf32-arc.c:648
+#, c-format
+msgid "error: %pB: unable to merge CPU base attributes %s with %s"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ Ð±Ð°Ð·Ð¾Ð²Ñ– Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð° %s Ð· %s"
 
-#: elf32-arc.c:667
-msgid "error: %B: unable to merge ISA extension attributes %s.\n"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� ISA %s.\n"
+#: elf32-arc.c:685
+#, c-format
+msgid "error: %pB: unable to merge ISA extension attributes %s"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� ISA %s"
 
-#: elf32-arc.c:691
-msgid "error: %B: conflicting ISA extension attributes %s with %s.\n"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� ISA, %s Ð· %s.\n"
+#: elf32-arc.c:709
+#, c-format
+msgid "error: %pB: conflicting ISA extension attributes %s with %s"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� ISA, %s Ð· %s"
 
-#: elf32-arc.c:726
-msgid "error: %B: cannot mix rf16 with full register set %B.\n"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ rf16 Ñ– Ð¿Ð¾Ð²Ð½Ð¸Ð¹ Ð½Ð°Ð±Ñ–Ñ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² %B.\n"
+#: elf32-arc.c:744
+#, c-format
+msgid "error: %pB: cannot mix rf16 with full register set %pB"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ rf16 Ñ– Ð¿Ð¾Ð²Ð½Ð¸Ð¹ Ð½Ð°Ð±Ñ–Ñ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² %pB"
 
-#: elf32-arc.c:752
-msgid "error: %B: conflicting attributes %s: %s with %s.\n"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %s: %s Ð· %s.\n"
+#: elf32-arc.c:770
+#, c-format
+msgid "error: %pB: conflicting attributes %s: %s with %s"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %s: %s Ð· %s"
 
-#: elf32-arc.c:777
-msgid "error: %B: conflicting attributes %s.\n"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %s.\n"
+#: elf32-arc.c:795
+#, c-format
+msgid "error: %pB: conflicting attributes %s"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %s"
 
-#: elf32-arc.c:877
+#: elf32-arc.c:895
 #, c-format
-msgid "ERROR: Attempting to link %B with a binary %B of different architecture"
-msgstr "ÐŸÐžÐœÐ˜Ð›ÐšÐ�: Ñ�Ð¿Ñ€Ð¾Ð±Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� %B Ð·Ñ– Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¼ Ñ„Ð°Ð¹Ð»Ð¾Ð¼ %B Ñ–Ð½ÑˆÐ¾Ñ— Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸"
+msgid "error: attempting to link %pB with a binary %pB of different architecture"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�Ð¿Ñ€Ð¾Ð±Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� %pB Ð·Ñ– Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¼ Ñ„Ð°Ð¹Ð»Ð¾Ð¼ %pB Ñ–Ð½ÑˆÐ¾Ñ— Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸"
 
-#: elf32-arc.c:891 elf32-i370.c:359 elf32-iq2000.c:846 elf32-m32c.c:890
-#: elf32-m68hc1x.c:1388 elf64-sparc.c:727 elfxx-mips.c:15127
+#: elf32-arc.c:909 elf32-iq2000.c:846 elf32-m32c.c:889 elf32-m68hc1x.c:1385
+#: elf32-ppc.c:4962 elf64-sparc.c:726 elfxx-mips.c:15135
 #, c-format
-msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ� e_flags (0x%lx) Ð½Ñ–Ð¶ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (0x%lx)"
+msgid "%pB: uses different e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ� e_flags (%#x) Ð½Ñ–Ð¶ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (%#x)"
 
-#: elf32-arc.c:980
-msgid "Error: The ARC4 architecture is no longer supported.\n"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ ARC4 Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð¾.\n"
+#: elf32-arc.c:998
+msgid "error: the ARC4 architecture is no longer supported"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ ARC4 Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð¾"
 
-#: elf32-arc.c:986
-msgid ""
-"Warning: unset or old architecture flags. \n"
-"\t       Use default machine.\n"
-msgstr ""
-"ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð°Ð±Ð¾ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ñ–. \n"
-"\t       Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ñ‚Ð¸Ð¿Ð¾Ð²Ñƒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñƒ.\n"
+#: elf32-arc.c:1004
+msgid "warning: unset or old architecture flags; use default machine"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð°Ð±Ð¾ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ñ–; Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ñ‚Ð¸Ð¿Ð¾Ð²Ñƒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñƒ"
 
-#: elf32-arc.c:1119
+#: elf32-arc.c:1137
 #, c-format
-msgid "%B(%A+0x%lx): CMEM relocation to `%s' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CMEM Ð´Ð¾ Â«%sÂ» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼, 16 MSB Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0x%04x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 0x%lx)"
+msgid "%pB(%pA+%#<PRIx64>): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value is %#<PRIx64>)"
+msgstr "%pB(%pA+%#<PRIx64>): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CMEM Ð´Ð¾ Â«%sÂ» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼, 16 MSB Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ %#x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %#<PRIx64>)"
 
-#: elf32-arc.c:1130
+#: elf32-arc.c:1148
 #, c-format
-msgid "%B(%A+0x%lx): CMEM relocation to `%s+0x%lx' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CMEM Ð´Ð¾ Â«%s+0x%lxÂ» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼, 16 MSB Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0x%04x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 0x%lx)"
+msgid "%pB(%pA+%#<PRIx64>): CMEM relocation to `%s+%#<PRIx64>' is invalid, 16 MSB should be %#x (value is %#<PRIx64>)"
+msgstr "%pB(%pA+%#<PRIx64>): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CMEM Ð´Ð¾ Â«%s+%#<PRIx64>Â» Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼, 16 MSB Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ %#x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %#<PRIx64>)"
 
-#: elf32-arc.c:1835
-msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker."
-msgstr "ÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT Ñ– PLT Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¾, Ñ�ÐºÑ‰Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ñ” Ð½ÐµÐ´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¼."
+#: elf32-arc.c:1853
+msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker"
+msgstr "ÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT Ñ– PLT Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¾, Ñ�ÐºÑ‰Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ñ” Ð½ÐµÐ´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¼"
 
-#: elf32-arc.c:1859 elf32-rl78.c:1094 elf32-rx.c:1448
+#: elf32-arc.c:1877 elf32-rl78.c:1099 elf32-rx.c:1471
 #, c-format
-msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
-msgstr "%B(%A): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ…"
+msgid "%pB(%pA): warning: unaligned access to symbol '%s' in the small data area"
+msgstr "%pB(%pA): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ…"
 
-#: elf32-arc.c:1864 elf32-rl78.c:1099 elf32-rx.c:1453
+#: elf32-arc.c:1882 elf32-rl78.c:1104 elf32-rx.c:1476
 #, c-format
-msgid "%B(%A): internal error: out of range error"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
+msgid "%pB(%pA): internal error: out of range error"
+msgstr "%pB(%pA): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
 
-#: elf32-arc.c:1869 elf32-rl78.c:1104 elf32-rx.c:1458
+#: elf32-arc.c:1887 elf32-rl78.c:1109 elf32-rx.c:1481
 #, c-format
-msgid "%B(%A): internal error: unsupported relocation error"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
+msgid "%pB(%pA): internal error: unsupported relocation error"
+msgstr "%pB(%pA): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf32-arc.c:1874 elf32-rl78.c:1109 elf32-rx.c:1463
+#: elf32-arc.c:1892 elf32-rl78.c:1114 elf32-rx.c:1486
 #, c-format
-msgid "%B(%A): internal error: dangerous relocation"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
+msgid "%pB(%pA): internal error: dangerous relocation"
+msgstr "%pB(%pA): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf32-arc.c:1879 elf32-rl78.c:1114 elf32-rx.c:1468
+#: elf32-arc.c:1897 elf32-rl78.c:1119 elf32-rx.c:1491
 #, c-format
-msgid "%B(%A): internal error: unknown error"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°"
+msgid "%pB(%pA): internal error: unknown error"
+msgstr "%pB(%pA): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°"
 
-#: elf32-arc.c:1967 elf32-arm.c:14714 elf32-metag.c:2272 elfxx-mips.c:8883
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:7224
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:484
+#: elf32-arc.c:1985 elf32-arm.c:15279 elf32-metag.c:2257 elfxx-mips.c:8900
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:7394
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:474
 #, c-format
-msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC"
-
-#: elf32-arc.c:2859
-msgid "%B: Unknown mandatory ARC object attribute %d."
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ARC %d"
-
-#: elf32-arc.c:2867
-msgid "Warning: %B: Unknown ARC object attribute %d."
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ARC %d"
+msgid "%pB: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC"
 
-#: elf32-arm.c:4022 elf32-arm.c:4056 elf32-arm.c:4075 elf32-arm.c:4127
-msgid "%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction."
-msgstr "%B(%A): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð´Ð¾Ð²Ð³Ð¸Ñ… Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ñ… Ð³Ñ–Ð»Ð¾Ðº Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð°Ñ… Ñ–Ð· Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ SHF_ARM_PURECODE Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ†Ñ–Ð»ÐµÐ¹ Ð· Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÐµÐ¼ M, Ñƒ Ñ�ÐºÐ¸Ñ… Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ movw."
-
-#: elf32-arm.c:4087 elf32-arm.c:8806
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: Thumb call to ARM"
-msgstr ""
-"%B(%s): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ð½Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾.\n"
-"  Ð¿ÐµÑ€ÑˆÐ° Ð·Ð³Ð°Ð´ÐºÐ°: %B: Ð²Ð¸ÐºÐ»Ð¸Ðº thumb Ð´Ð¾ ARM"
+#: elf32-arc.c:2857
+#, c-format
+msgid "%pB: unknown mandatory ARC object attribute %d"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ARC %d"
 
-#: elf32-arm.c:4141
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: ARM call to Thumb"
-msgstr ""
-"%B(%s): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ð½Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾.\n"
-"  Ð¿ÐµÑ€ÑˆÐ° Ð·Ð³Ð°Ð´ÐºÐ°: %B: Ð²Ð¸ÐºÐ»Ð¸Ðº ARM Ð´Ð¾ Thumb"
+#: elf32-arc.c:2865
+#, c-format
+msgid "warning: %pB: unknown ARC object attribute %d"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ARC %d"
 
-#: elf32-arm.c:4415
+#: elf32-arm.c:4303 elf32-arm.c:4337 elf32-arm.c:4356 elf32-arm.c:4408
 #, c-format
-msgid "No address assigned to the veneers output section %s"
-msgstr "Ð†Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð½Ð°Ð·Ð¾Ð²Ð½Ñ– %s Ð½Ðµ Ð¿Ð¾Ð²â€™Ñ�Ð·Ð°Ð½Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð¸"
+msgid "%pB(%pA): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction"
+msgstr "%pB(%pA): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð´Ð¾Ð²Ð³Ð¸Ñ… Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ñ… Ð³Ñ–Ð»Ð¾Ðº Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð°Ñ… Ñ–Ð· Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ SHF_ARM_PURECODE Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ†Ñ–Ð»ÐµÐ¹ Ð· Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÐµÐ¼ M, Ñƒ Ñ�ÐºÐ¸Ñ… Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ movw."
 
-#: elf32-arm.c:4490 elf32-arm.c:6627 elf32-hppa.c:587 elf32-m68hc1x.c:165
-#: elf32-metag.c:1198 elf32-nios2.c:2227
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:2852
+#: elf32-arm.c:4368 elf32-arm.c:4422 elf32-arm.c:9091 elf32-arm.c:9181
 #, c-format
-msgid "%B: cannot create stub entry %s"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� %s"
+msgid "%pB(%s): warning: interworking not enabled; first occurrence: %pB: %s call to %s"
+msgstr "%pB(%s): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ð½Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾; Ð¿ÐµÑ€ÑˆÐ° Ð·Ð³Ð°Ð´ÐºÐ°: %pB: Ð²Ð¸ÐºÐ»Ð¸Ðº %s Ð´Ð¾ %s"
 
-#: elf32-arm.c:5675
-msgid "%B: Special symbol `%s' only allowed for ARMv8-M architecture or later."
-msgstr "%B: Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ ARMv8-M Ñ– Ð½Ð¾Ð²Ñ–ÑˆÐ¸Ñ… Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€."
+#: elf32-arm.c:4696
+#, c-format
+msgid "no address assigned to the veneers output section %s"
+msgstr "Ñ–Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð½Ð°Ð·Ð¾Ð²Ð½Ñ– %s Ð½Ðµ Ð¿Ð¾Ð²â€™Ñ�Ð·Ð°Ð½Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð¸"
 
-#: elf32-arm.c:5684
-msgid "%B: invalid special symbol `%s'."
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»."
+#: elf32-arm.c:4771 elf32-arm.c:6907 elf32-hppa.c:579 elf32-m68hc1x.c:165
+#: elf32-metag.c:1186 elf32-nios2.c:2208 elf64-ppc.c:4756
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:3099
+#, c-format
+msgid "%pB: cannot create stub entry %s"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� %s"
 
-#: elf32-arm.c:5686 elf32-arm.c:5726
-msgid "It must be a global or weak function symbol."
-msgstr "Ð¦Ðµ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¹ (global) Ð°Ð±Ð¾ Ñ�Ð»Ð°Ð±ÐºÐ¸Ð¹ (weak) Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—."
+#: elf32-arm.c:5956
+#, c-format
+msgid "%pB: special symbol `%s' only allowed for ARMv8-M architecture or later"
+msgstr "%pB: Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ ARMv8-M Ñ– Ð½Ð¾Ð²Ñ–ÑˆÐ¸Ñ… Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€"
 
-#: elf32-arm.c:5724
-msgid "%B: invalid standard symbol `%s'."
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»."
+#: elf32-arm.c:5965
+#, c-format
+msgid "%pB: invalid special symbol `%s'; it must be a global or weak function symbol"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»; Ñ†Ðµ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ñ— Ð°Ð±Ð¾ Ñ�Ð»Ð°Ð±ÐºÐ¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—"
 
-#: elf32-arm.c:5730
-msgid "%B: absent standard symbol `%s'."
-msgstr "%B: Ð½ÐµÐ¼Ð°Ñ” Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»."
+#: elf32-arm.c:6004
+#, c-format
+msgid "%pB: invalid standard symbol `%s'; it must be a global or weak function symbol"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»; Ñ†Ðµ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¹ (global) Ð°Ð±Ð¾ Ñ�Ð»Ð°Ð±ÐºÐ¸Ð¹ (weak) Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—."
 
-#: elf32-arm.c:5742
-msgid "%B: `%s' and its special symbol are in different sections."
-msgstr "%B: Â«%sÂ» Ñ– Ñ—Ñ— Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°ÑŽÑ‚ÑŒ Ñƒ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð°Ñ…."
+#: elf32-arm.c:6010
+#, c-format
+msgid "%pB: absent standard symbol `%s'"
+msgstr "%pB: Ð½ÐµÐ¼Ð°Ñ” Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»."
 
-#: elf32-arm.c:5754
-msgid "%B: entry function `%s' not output."
-msgstr "%B: Ð²Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ð´Ð°Ð½Ð¸Ñ…."
+#: elf32-arm.c:6022
+#, c-format
+msgid "%pB: `%s' and its special symbol are in different sections"
+msgstr "%pB: Â«%sÂ» Ñ– Ñ—Ñ— Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°ÑŽÑ‚ÑŒ Ñƒ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð°Ñ…."
 
-#: elf32-arm.c:5761
-msgid "%B: entry function `%s' is empty."
-msgstr "%B: Ð²Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ñ” Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾ÑŽ."
+#: elf32-arm.c:6034
+#, c-format
+msgid "%pB: entry function `%s' not output"
+msgstr "%pB: Ð²Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ð´Ð°Ð½Ð¸Ñ…"
 
-#: elf32-arm.c:5890
-msgid "%B: --in-implib only supported for Secure Gateway import libraries."
-msgstr "%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ --in-implib Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐº Secure Gateway."
+#: elf32-arm.c:6041
+#, c-format
+msgid "%pB: entry function `%s' is empty"
+msgstr "%pB: Ð²Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ñ” Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾ÑŽ"
 
-#: elf32-arm.c:5936
-msgid "%B: invalid import library entry: `%s'."
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð²Ñ…Ñ–Ð´ Ð´Ð¾ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾Ñ— Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸: Â«%sÂ»."
+#: elf32-arm.c:6170
+#, c-format
+msgid "%pB: --in-implib only supported for Secure Gateway import libraries"
+msgstr "%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ --in-implib Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐº Secure Gateway"
 
-#: elf32-arm.c:5938
-msgid "Symbol should be absolute, global and refer to Thumb functions."
-msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼, Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¼ Ñ– Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ‚Ð¸Ñ�Ñ� Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Thumb."
+#: elf32-arm.c:6216
+#, c-format
+msgid "%pB: invalid import library entry: `%s'; symbol should be absolute, global and refer to Thumb functions"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸: Â«%sÂ»; Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼, Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¼ Ñ– Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ‚Ð¸Ñ�Ñ� Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Thumb."
 
-#: elf32-arm.c:5958
+#: elf32-arm.c:6238
 #, c-format
-msgid "Entry function `%s' disappeared from secure code."
-msgstr "Ð’Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ð·Ð½Ð¸ÐºÐ»Ð° Ð· Ð±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ."
+msgid "entry function `%s' disappeared from secure code"
+msgstr "Ð²Ñ…Ñ–Ð´Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Â«%sÂ» Ð·Ð½Ð¸ÐºÐ»Ð° Ð· Ð±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ"
 
-#: elf32-arm.c:5982
+#: elf32-arm.c:6262
 #, c-format
-msgid "`%s' refers to a non entry function."
-msgstr "Â«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Ð±ÐµÐ· Ð²Ñ…Ð¾Ð´Ñƒ."
+msgid "`%s' refers to a non entry function"
+msgstr "Â«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Ð±ÐµÐ· Ð²Ñ…Ð¾Ð´Ñƒ"
 
-#: elf32-arm.c:5997
-msgid "%B: visibility of symbol `%s' has changed."
-msgstr "%B: Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð²Ð¸Ð´Ð¸Ð¼Ñ–Ñ�Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»."
+#: elf32-arm.c:6277
+#, c-format
+msgid "%pB: visibility of symbol `%s' has changed"
+msgstr "%pB: Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð²Ð¸Ð´Ð¸Ð¼Ñ–Ñ�Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
 
-#: elf32-arm.c:6006
-msgid "%B: incorrect size for symbol `%s'."
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»."
+#: elf32-arm.c:6286
+#, c-format
+msgid "%pB: incorrect size for symbol `%s'"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
 
-#: elf32-arm.c:6025
+#: elf32-arm.c:6305
 #, c-format
-msgid "Offset of veneer for entry function `%s' not a multiple of its size."
-msgstr "Ð—Ñ�ÑƒÐ² Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÐ¸ Ð´Ð»Ñ� Ð²Ñ…Ñ–Ð´Ð½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ» Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ Ñ—Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ."
+msgid "offset of veneer for entry function `%s' not a multiple of its size"
+msgstr "Ð·Ñ�ÑƒÐ² Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÐ¸ Ð´Ð»Ñ� Ð²Ñ…Ñ–Ð´Ð½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ» Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ Ñ—Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ"
 
-#: elf32-arm.c:6045
+#: elf32-arm.c:6325
 msgid "new entry function(s) introduced but no output import library specified:"
 msgstr "Ð²Ð¿Ñ€Ð¾Ð²Ð°Ð´Ð¶ÐµÐ½Ð¾ Ð½Ð¾Ð²Ñ– Ð²Ñ…Ñ–Ð´Ð½Ñ– Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—, Ð°Ð»Ðµ Ð½Ðµ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…:"
 
-#: elf32-arm.c:6053
+#: elf32-arm.c:6333
 #, c-format
-msgid "Start address of `%s' is different from previous link."
-msgstr "ÐŸÐ¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Â«%sÂ» Ñ” Ñ–Ð½ÑˆÐ¾ÑŽ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�."
+msgid "start address of `%s' is different from previous link"
+msgstr "Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Â«%sÂ» Ñ” Ñ–Ð½ÑˆÐ¾ÑŽ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�"
 
-#: elf32-arm.c:6760
+#: elf32-arm.c:7040 elf32-arm.c:7076
 #, c-format
-msgid "unable to find THUMB glue '%s' for '%s'"
-msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ THUMB Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»"
+msgid "unable to find %s glue '%s' for '%s'"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ %s Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»"
 
-#: elf32-arm.c:6796
+#: elf32-arm.c:7791
 #, c-format
-msgid "unable to find ARM glue '%s' for '%s'"
-msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�ÐºÐ»ÐµÐ¹ÐºÑƒ ARM Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ»"
-
-#: elf32-arm.c:7511
-msgid "%B: BE8 images only valid in big-endian mode."
-msgstr "%B: Ð¾Ð±Ñ€Ð°Ð·Ð¸ BE8 Ñ” Ñ‡Ð¸Ð½Ð½Ð¸Ð¼Ð¸ Ð»Ð¸ÑˆÐµ Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– big-endian."
+msgid "%pB: BE8 images only valid in big-endian mode"
+msgstr "%pB: Ð¾Ð±Ñ€Ð°Ð·Ð¸ BE8 Ñ” Ñ‡Ð¸Ð½Ð½Ð¸Ð¼Ð¸ Ð»Ð¸ÑˆÐµ Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– big-endian"
 
 #. Give a warning, but do as the user requests anyway.
-#: elf32-arm.c:7742
-msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ VFP11 Ð½Ðµ Ñ” Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¸Ð¼ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
-
-#: elf32-arm.c:7769
-msgid "%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ STM32L4XX Ð½Ðµ Ñ” Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¸Ð¼ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
+#: elf32-arm.c:8022
+#, c-format
+msgid "%pB: warning: selected VFP11 erratum workaround is not necessary for target architecture"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ VFP11 Ð½Ðµ Ñ” Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¸Ð¼ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
 
-#: elf32-arm.c:8306 elf32-arm.c:8326
-msgid "%B: unable to find VFP11 veneer `%s'"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ VFP11 Â«%sÂ»"
+#: elf32-arm.c:8049
+#, c-format
+msgid "%pB: warning: selected STM32L4XX erratum workaround is not necessary for target architecture"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ STM32L4XX Ð½Ðµ Ñ” Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¸Ð¼ Ð´Ð»Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
 
-#: elf32-arm.c:8392 elf32-arm.c:8411
-msgid "%B: unable to find STM32L4XX veneer `%s'"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX Â«%sÂ»"
+#: elf32-arm.c:8586 elf32-arm.c:8606 elf32-arm.c:8672 elf32-arm.c:8691
+#, c-format
+msgid "%pB: unable to find %s veneer `%s'"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ %s Â«%sÂ»"
 
-#: elf32-arm.c:8618
+#: elf32-arm.c:8898
 #, c-format
-msgid ""
-"%B(%A+0x%lx): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.\n"
-"Use gcc option -mrestrict-it to generate only one instruction per IT block.\n"
-msgstr ""
-"%B(%A+0x%lx): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½ÑŒ Ñƒ Ð½ÐµÐ¾Ñ�Ñ‚Ð°Ð½Ð½Ñ–Ð¹ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ð±Ð»Ð¾ÐºÑƒ IT: Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾.\n"
-"Ð¡ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ gcc -mrestrict-it, Ñ‰Ð¾Ð± Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð¾Ð´Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ð½Ð° Ð±Ð»Ð¾Ðº IT.\n"
+msgid "%pB(%pA+%#x): error: multiple load detected in non-last IT block instruction: STM32L4XX veneer cannot be generated; use gcc option -mrestrict-it to generate only one instruction per IT block"
+msgstr "%pB(%pA+%#x): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½ÑŒ Ñƒ Ð½ÐµÐ¾Ñ�Ñ‚Ð°Ð½Ð½Ñ–Ð¹ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ð±Ð»Ð¾ÐºÑƒ IT: Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾. Ð¡ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ gcc -mrestrict-it, Ñ‰Ð¾Ð± Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð¾Ð´Ð½Ñƒ  Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ð½Ð° Ð±Ð»Ð¾Ðº IT."
 
-#: elf32-arm.c:8716
+#: elf32-arm.c:8998
 #, c-format
-msgid "Invalid TARGET2 relocation type '%s'."
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ TARGET2, Â«%sÂ»."
+msgid "invalid TARGET2 relocation type '%s'"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ TARGET2, Â«%sÂ»"
 
 #. FIXME: We ought to be able to generate thumb-1 PLT
 #. instructions...
-#: elf32-arm.c:9458
-msgid "%B: Warning: thumb-1 mode PLT generation not currently supported"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ–Ð¹ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� PLT Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– thumb-1"
-
-#: elf32-arm.c:9723
+#: elf32-arm.c:9800
 #, c-format
-msgid "%B(%A+0x%lx): unexpected Thumb instruction '0x%x' in TLS trampoline"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Thumb, Â«0x%xÂ», Ñƒ Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ñ–Ð½Ñ– TLS"
+msgid "%pB: warning: thumb-1 mode PLT generation not currently supported"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ–Ð¹ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� PLT Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– thumb-1"
 
-#: elf32-arm.c:9763
+#: elf32-arm.c:10104 elf32-arm.c:10146
 #, c-format
-msgid "%B(%A+0x%lx): unexpected ARM instruction '0x%x' in TLS trampoline"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° ARM, Â«0x%xÂ», Ñƒ Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ñ–Ð½Ñ– TLS"
+msgid "%pB(%pA+%#<PRIx64>): unexpected %s instruction '%#lx' in TLS trampoline"
+msgstr "%pB(%pA+%#<PRIx64>):  Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %s, Â«%#lxÂ», Ñƒ Ñ‚Ñ€Ð°Ð¼Ð¿Ð»Ñ–Ð½Ñ– TLS"
 
-#: elf32-arm.c:10097
+#: elf32-arm.c:10490
 msgid "shared object"
 msgstr "Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¸Ð¹ Ð¾Ð±'Ñ”ÐºÑ‚"
 
-#: elf32-arm.c:10100
+#: elf32-arm.c:10493
 msgid "PIE executable"
 msgstr "Ð’Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» PIE"
 
-#: elf32-arm.c:10103
-msgid "%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ð°Ð±Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� %s; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC"
-
-#: elf32-arm.c:10234
-msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
-msgstr "\\%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Arm BLX Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Arm Â«%sÂ»."
-
-#: elf32-arm.c:10660
-msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Thumb BLX Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Arm Â«%sÂ»."
+#: elf32-arm.c:10496
+#, c-format
+msgid "%pB: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ð°Ð±Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� %s; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC"
 
-#: elf32-arm.c:11527
+#: elf32-arm.c:10633 elf32-arm.c:11060
 #, c-format
-msgid "%B(%A+0x%lx): unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Thumb, Â«0x%xÂ», Ð½Ð° Ñ�ÐºÑƒ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� TLS_GOTDESC"
+msgid "%pB: warning: %s BLX instruction targets %s function '%s'"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %s BLX Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ %s Â«%sÂ»."
 
-#: elf32-arm.c:11551
+#: elf32-arm.c:11963 elf32-arm.c:11989
 #, c-format
-msgid "%B(%A+0x%lx): unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° ARM, Â«0x%xÂ», Ð½Ð° Ñ�ÐºÑƒ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� TLS_GOTDESC"
+msgid "%pB(%pA+%#<PRIx64>): unexpected %s instruction '%#lx' referenced by TLS_GOTDESC"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %s, Â«%#lxÂ», Ð½Ð° Ñ�ÐºÑƒ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� TLS_GOTDESC"
 
-#: elf32-arm.c:11581
+#: elf32-arm.c:12035 elf32-m68k.c:3703 elf32-metag.c:1919 elf32-nios2.c:4366
 #, c-format
-msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_ARM_TLS_LE32 Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
+msgid "%pB(%pA+%#<PRIx64>): %s relocation not permitted in shared object"
+msgstr "%pB(%pA+%#<PRIx64>): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
 
-#: elf32-arm.c:11795
+#: elf32-arm.c:12249
 #, c-format
-msgid "%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations"
-msgstr "%B(%A+0x%lx): Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð³Ñ€ÑƒÐ¿ ALU Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ ADD Ð°Ð±Ð¾ SUB"
+msgid "%pB(%pA+%#<PRIx64>): only ADD or SUB instructions are allowed for ALU group relocations"
+msgstr "%pB(%pA+%#<PRIx64>): Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð³Ñ€ÑƒÐ¿ ALU Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ ADD Ð°Ð±Ð¾ SUB"
 
-#: elf32-arm.c:11836 elf32-arm.c:11927 elf32-arm.c:12013 elf32-arm.c:12101
+#: elf32-arm.c:12290 elf32-arm.c:12382 elf32-arm.c:12470 elf32-arm.c:12560
 #, c-format
-msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ð¿Ð¾Ð´Ñ–Ð»Ñƒ 0x%lx Ð· Ð¼ÐµÑ‚Ð¾ÑŽ Ð³Ñ€ÑƒÐ¿Ð¾Ð²Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s"
+msgid "%pB(%pA+%#<PRIx64>): overflow whilst splitting %#<PRIx64> for group relocation %s"
+msgstr "%pB(%pA+%#<PRIx64>): Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ð¿Ð¾Ð´Ñ–Ð»Ñƒ %#<PRIx64> Ð· Ð¼ÐµÑ‚Ð¾ÑŽ Ð³Ñ€ÑƒÐ¿Ð¾Ð²Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s"
 
-#: elf32-arm.c:12365 elf32-sh.c:4009 elf64-sh64.c:1539
+#: elf32-arm.c:13066 elf32-sh.c:3685
 #, c-format
-msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ SEC_MERGE"
+msgid "%pB(%pA+%#<PRIx64>): %s relocation against SEC_MERGE section"
+msgstr "%pB(%pA+%#<PRIx64>): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ SEC_MERGE"
 
-#: elf32-arm.c:12477 elf32-m68k.c:4120 elf32-xtensa.c:2816
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6165
+#: elf32-arm.c:13179 elf32-m68k.c:3936 elf32-xtensa.c:2694
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:6466
 #, c-format
-msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
-msgstr "%B(%A+0x%lx): %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ TLS %s"
+msgid "%pB(%pA+%#<PRIx64>): %s used with TLS symbol %s"
+msgstr "%pB(%pA+%#<PRIx64>): %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ TLS %s"
 
-#: elf32-arm.c:12479 elf32-m68k.c:4122 elf32-xtensa.c:2818
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6167
+#: elf32-arm.c:13181 elf32-m68k.c:3938 elf32-xtensa.c:2696
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:6468
 #, c-format
-msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
-msgstr "%B(%A+0x%lx): %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð¿Ð¾Ð·Ð° TLS %s"
+msgid "%pB(%pA+%#<PRIx64>): %s used with non-TLS symbol %s"
+msgstr "%pB(%pA+%#<PRIx64>): %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð¿Ð¾Ð·Ð° TLS %s"
 
-#: elf32-arm.c:12561 elf32-tic6x.c:2739
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6500
+#: elf32-arm.c:13264 elf32-tic6x.c:2708
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:6802
 msgid "out of range"
 msgstr "Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼"
 
-#: elf32-arm.c:12565 elf32-nios2.c:4505 elf32-pru.c:821 elf32-tic6x.c:2743
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6504
+#: elf32-arm.c:13268 elf32-nios2.c:4500 elf32-pru.c:933 elf32-tic6x.c:2712
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:6806
 msgid "unsupported relocation"
 msgstr "Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf32-arm.c:12573 elf32-nios2.c:4515 elf32-pru.c:831 elf32-tic6x.c:2751
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6512
+#: elf32-arm.c:13276 elf32-nios2.c:4510 elf32-pru.c:943 elf32-tic6x.c:2720
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:6814
 msgid "unknown error"
 msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°"
 
-#: elf32-arm.c:13153
-msgid "%B: Unknown mandatory EABI object attribute %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI %d"
-
-#: elf32-arm.c:13161
-msgid "Warning: %B: Unknown EABI object attribute %d"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI %d"
-
-#: elf32-arm.c:13428
-msgid "error: %B: Unknown CPU architecture"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð°"
-
-#: elf32-arm.c:13466 elf32-nios2.c:2965
-#, c-format
-msgid "error: %B: Conflicting CPU architectures %d/%d"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ñ–Ð² %d/%d"
-
-#: elf32-arm.c:13563
-msgid "Error: %B has both the current and legacy Tag_MPextension_use attributes"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð»Ñ� %B Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð¾Ð±Ð¸Ð´Ð²Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Tag_MPextension_use, current Ñ– legacy"
-
-#: elf32-arm.c:13592
-msgid "error: %B uses VFP register arguments, %B does not"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ VFP, Ð° Ñƒ %B â€” Ð½Ñ–"
-
-#: elf32-arm.c:13750
-msgid "error: %B: unable to merge virtualization attributes with %B"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð· %B Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ"
-
-#: elf32-arm.c:13776
-msgid "error: %B: Conflicting architecture profiles %c/%c"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»Ñ–Ð² Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€, %c/%c"
-
-#: elf32-arm.c:13915
-msgid "Warning: %B: Conflicting platform configuration"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼"
-
-#: elf32-arm.c:13924
-msgid "error: %B: Conflicting use of R9"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ñƒ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ– R9"
-
-#: elf32-arm.c:13936
-msgid "error: %B: SB relative addressing conflicts with use of R9"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð°Ñ†Ñ–Ñ— SB ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ R9"
-
-#: elf32-arm.c:13949
-msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹ wchar_t, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹ wchar_t; Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ wchar_t Ð¼Ñ–Ð¶ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð·Ð½Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–"
-
-#: elf32-arm.c:13980
-msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÐ¸ %s, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÐ¸ %s; Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÑ–Ð² Ð¼Ñ–Ð¶ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð·Ð½Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–"
-
-#: elf32-arm.c:13992
-msgid "error: %B uses iWMMXt register arguments, %B does not"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸-Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ iWMMXt, Ð° Ñƒ %B â€” Ð½Ñ–"
-
-#: elf32-arm.c:14009
-msgid "error: fp16 format mismatch between %B and %B"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ€Ð¾Ð·Ð±Ñ–Ð¶Ð½Ð¾Ñ�Ñ‚Ñ– Ñƒ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ– Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� fp16 Ð¼Ñ–Ð¶ %B Ñ‚Ð° %B"
-
-#: elf32-arm.c:14045
-msgid "%B has has both the current and legacy Tag_MPextension_use attributes"
-msgstr "Ð´Ð»Ñ� %B Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð¾Ð±Ð¸Ð´Ð²Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Tag_MPextension_use, current Ñ– legacy"
+#: elf32-arm.c:13720
+#, c-format
+msgid "warning: not setting interworking flag of %pB since it has already been specified as non-interworking"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %pB Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾, Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð¹Ð¾Ð³Ð¾ Ð²Ð¶Ðµ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñ‚Ð°Ðº, Ñ‰Ð¾Ð± Ð²Ñ–Ð½ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½Ñ�Ð² Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ"
+
+#: elf32-arm.c:13724
+#, c-format
+msgid "warning: clearing the interworking flag of %pB due to outside request"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð½Ñ�Ñ‚Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %pB Ñƒ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´ÑŒ Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ‚ Ð·Ð·Ð¾Ð²Ð½Ñ–"
+
+#: elf32-arm.c:13769
+#, c-format
+msgid "warning: clearing the interworking flag of %pB because non-interworking code in %pB has been linked with it"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð½Ñ�Ñ‚Ð¾ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ñƒ %pB, Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð· Ð½Ð¸Ð¼ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´, Ñ�ÐºÐ¸Ð¹ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸, Ñƒ %pB"
+
+#: elf32-arm.c:13856
+#, c-format
+msgid "%pB: unknown mandatory EABI object attribute %d"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI %d"
+
+#: elf32-arm.c:13864
+#, c-format
+msgid "warning: %pB: unknown EABI object attribute %d"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI %d"
+
+#: elf32-arm.c:14131
+#, c-format
+msgid "error: %pB: unknown CPU architecture"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð°"
+
+#: elf32-arm.c:14169 elf32-nios2.c:2946
+#, c-format
+msgid "error: %pB: conflicting CPU architectures %d/%d"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ñ–Ð² %d/%d"
+
+#: elf32-arm.c:14266
+#, c-format
+msgid "Error: %pB has both the current and legacy Tag_MPextension_use attributes"
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð»Ñ� %pB Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð¾Ð±Ð¸Ð´Ð²Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Tag_MPextension_use, current Ñ– legacy"
+
+#: elf32-arm.c:14295
+#, c-format
+msgid "error: %pB uses VFP register arguments, %pB does not"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ VFP, Ð° Ñƒ %pB â€” Ð½Ñ–"
+
+#: elf32-arm.c:14453
+#, c-format
+msgid "error: %pB: unable to merge virtualization attributes with %pB"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð· %pB Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ"
+
+#: elf32-arm.c:14479
+#, c-format
+msgid "error: %pB: conflicting architecture profiles %c/%c"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»Ñ–Ð² Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€, %c/%c"
+
+#: elf32-arm.c:14618
+#, c-format
+msgid "warning: %pB: conflicting platform configuration"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼"
+
+#: elf32-arm.c:14627
+#, c-format
+msgid "error: %pB: conflicting use of R9"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ñƒ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ– R9"
+
+#: elf32-arm.c:14639
+#, c-format
+msgid "error: %pB: SB relative addressing conflicts with use of R9"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð°Ñ†Ñ–Ñ— SB ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ R9"
+
+#: elf32-arm.c:14652
+#, c-format
+msgid "warning: %pB uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹ wchar_t, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹ wchar_t; Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ wchar_t Ð¼Ñ–Ð¶ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð·Ð½Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–"
+
+#: elf32-arm.c:14683
+#, c-format
+msgid "warning: %pB uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÐ¸ %s, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÐ¸ %s; Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÑ–Ð² Ð¼Ñ–Ð¶ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð·Ð½Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–"
+
+#: elf32-arm.c:14695
+#, c-format
+msgid "error: %pB uses iWMMXt register arguments, %pB does not"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸-Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ iWMMXt, Ð° Ñƒ %pB â€” Ð½Ñ–"
+
+#: elf32-arm.c:14712
+#, c-format
+msgid "error: fp16 format mismatch between %pB and %pB"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ€Ð¾Ð·Ð±Ñ–Ð¶Ð½Ð¾Ñ�Ñ‚Ñ– Ñƒ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ– Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� fp16 Ð¼Ñ–Ð¶ %pB Ñ‚Ð° %pB"
+
+#: elf32-arm.c:14748
+#, c-format
+msgid "%pB has both the current and legacy Tag_MPextension_use attributes"
+msgstr "Ð´Ð»Ñ� %pB Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð¾Ð±Ð¸Ð´Ð²Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Tag_MPextension_use, current Ñ– legacy"
 
 #. Ignore init flag - it may not be set, despite the flags field
 #. containing valid data.
 #. Ignore init flag - it may not be set, despite the flags field containing valid data.
 #. Ignore init flag - it may not be set, despite the flags field
 #. containing valid data.
-#: elf32-arm.c:14132 elf32-bfin.c:4919 elf32-cris.c:4089 elf32-m68hc1x.c:1413
-#: elf32-m68k.c:1200 elf32-score.c:4002 elf32-score7.c:3807 elf32-vax.c:536
-#: elf32-xgate.c:669 elfxx-mips.c:15802
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6666
+#: elf32-arm.c:14835 elf32-bfin.c:4740 elf32-cris.c:3908 elf32-m68hc1x.c:1410
+#: elf32-m68k.c:1201 elf32-score.c:4000 elf32-score7.c:3805 elf32-vax.c:537
+#: elf32-xgate.c:672 elfxx-mips.c:15813
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:6968
 #, c-format
 msgid "private flags = %lx:"
 msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = %lx:"
 
-#: elf32-arm.c:14141
+#: elf32-arm.c:14844
 #, c-format
 msgid " [interworking enabled]"
 msgstr " [ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ]"
 
-#: elf32-arm.c:14149
+#: elf32-arm.c:14852
 #, c-format
 msgid " [VFP float format]"
 msgstr " [Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ float VFP]"
 
-#: elf32-arm.c:14151
+#: elf32-arm.c:14854
 #, c-format
 msgid " [Maverick float format]"
 msgstr " [Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ float Maverick]"
 
-#: elf32-arm.c:14153
+#: elf32-arm.c:14856
 #, c-format
 msgid " [FPA float format]"
 msgstr " [Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ float FPA]"
 
-#: elf32-arm.c:14162
+#: elf32-arm.c:14859
+#, c-format
+msgid " [floats passed in float registers]"
+msgstr " [Ñ‡Ð¸Ñ�Ð»Ð° Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ Ð¿ÐµÑ€ÐµÐ´Ð°Ð½Ð¾ Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ]"
+
+#: elf32-arm.c:14862 elf32-arm.c:14948
+#, c-format
+msgid " [position independent]"
+msgstr " [Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¹ Ð²Ñ–Ð´ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—]"
+
+#: elf32-arm.c:14865
 #, c-format
 msgid " [new ABI]"
 msgstr " [Ð½Ð¾Ð²Ð¸Ð¹ ABI]"
 
-#: elf32-arm.c:14165
+#: elf32-arm.c:14868
 #, c-format
 msgid " [old ABI]"
 msgstr " [Ñ�Ñ‚Ð°Ñ€Ð¸Ð¹ ABI]"
 
-#: elf32-arm.c:14168
+#: elf32-arm.c:14871
 #, c-format
 msgid " [software FP]"
 msgstr " [Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð° FP]"
 
-#: elf32-arm.c:14177
+#: elf32-arm.c:14880
 #, c-format
 msgid " [Version1 EABI]"
 msgstr " [Ð’ÐµÑ€Ñ�Ñ–Ñ�1 EABI]"
 
-#: elf32-arm.c:14180 elf32-arm.c:14191
+#: elf32-arm.c:14883 elf32-arm.c:14894
 #, c-format
 msgid " [sorted symbol table]"
 msgstr " [Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²]"
 
-#: elf32-arm.c:14182 elf32-arm.c:14193
+#: elf32-arm.c:14885 elf32-arm.c:14896
 #, c-format
 msgid " [unsorted symbol table]"
 msgstr " [Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²]"
 
-#: elf32-arm.c:14188
+#: elf32-arm.c:14891
 #, c-format
 msgid " [Version2 EABI]"
 msgstr " [Ð’ÐµÑ€Ñ�Ñ–Ñ�2 EABI]"
 
-#: elf32-arm.c:14196
+#: elf32-arm.c:14899
 #, c-format
 msgid " [dynamic symbols use segment index]"
 msgstr " [Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°]"
 
-#: elf32-arm.c:14199
+#: elf32-arm.c:14902
 #, c-format
 msgid " [mapping symbols precede others]"
 msgstr " [Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÐ´ÑƒÑŽÑ‚ÑŒ Ñ–Ð½ÑˆÐ¸Ð¼]"
 
-#: elf32-arm.c:14206
+#: elf32-arm.c:14909
 #, c-format
 msgid " [Version3 EABI]"
 msgstr " [Ð’ÐµÑ€Ñ�Ñ–Ñ�3 EABI]"
 
-#: elf32-arm.c:14210
+#: elf32-arm.c:14913
 #, c-format
 msgid " [Version4 EABI]"
 msgstr " [Ð’ÐµÑ€Ñ�Ñ–Ñ�4 EABI]"
 
-#: elf32-arm.c:14214
+#: elf32-arm.c:14917
 #, c-format
 msgid " [Version5 EABI]"
 msgstr " [Ð’ÐµÑ€Ñ�Ñ–Ñ�5 EABI]"
 
-#: elf32-arm.c:14217
+#: elf32-arm.c:14920
 #, c-format
 msgid " [soft-float ABI]"
 msgstr " [ABI Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾Ñ— Ñ€ÑƒÑ…Ð¾Ð¼Ð¾Ñ— ÐºÑ€Ð°Ð¿ÐºÐ¸]"
 
-#: elf32-arm.c:14220
+#: elf32-arm.c:14923
 #, c-format
 msgid " [hard-float ABI]"
 msgstr " [ABI Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾Ñ— Ñ€ÑƒÑ…Ð¾Ð¼Ð¾Ñ— ÐºÑ€Ð°Ð¿ÐºÐ¸]"
 
-#: elf32-arm.c:14226
+#: elf32-arm.c:14929
 #, c-format
 msgid " [BE8]"
 msgstr " [BE8]"
 
-#: elf32-arm.c:14229
+#: elf32-arm.c:14932
 #, c-format
 msgid " [LE8]"
 msgstr " [LE8]"
 
-#: elf32-arm.c:14235
+#: elf32-arm.c:14938
 #, c-format
 msgid " <EABI version unrecognised>"
 msgstr " <Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ� EABI>"
 
-#: elf32-arm.c:14242
+#: elf32-arm.c:14945
 #, c-format
 msgid " [relocatable executable]"
 msgstr " [Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð»]"
 
-#: elf32-arm.c:14247
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6669
+#: elf32-arm.c:14951
+#, c-format
+msgid " [FDPIC ABI supplement]"
+msgstr " [Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� ABI FDPIC]"
+
+#: elf32-arm.c:14956
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:6971
 #, c-format
 msgid "<Unrecognised flag bits set>"
 msgstr "<Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ð½Ð°Ð±Ñ–Ñ€ Ð±Ñ–Ñ‚Ñ–Ð² Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–Ð²>"
 
-#: elf32-arm.c:14557 elf32-i386.c:2053 elf32-s390.c:956 elf32-tic6x.c:2814
-#: elf32-tilepro.c:1491 elf32-xtensa.c:1018 elf64-s390.c:875
-#: elf64-x86-64.c:2444 elfxx-sparc.c:1440 elfxx-tilegx.c:1708
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:7115
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:526
-#, c-format
-msgid "%B: bad symbol index: %d"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: %d"
-
-#: elf32-arm.c:16055
-msgid "Errors encountered processing file %B"
-msgstr "ÐŸÑ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ„Ð°Ð¹Ð»Ð° Ñ�Ñ‚Ð°Ð»Ð¸Ñ�Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸, %B"
+#: elf32-arm.c:15073 elf32-i386.c:1529 elf32-s390.c:960 elf32-tic6x.c:2783
+#: elf32-tilepro.c:1479 elf32-xtensa.c:1029 elf64-s390.c:882
+#: elf64-x86-64.c:1865 elfxx-sparc.c:1424 elfxx-tilegx.c:1700
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:7260
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:516
+#, c-format
+msgid "%pB: bad symbol index: %d"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: %d"
+
+#: elf32-arm.c:15464
+#, c-format
+msgid "FDPIC does not yet support %s relocation to become dynamic for executable"
+msgstr "Ð£ FDPIC Ñ‰Ðµ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð´Ð»Ñ� Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð²"
+
+#: elf32-arm.c:16514 elf32-hppa.c:2090 elf32-lm32.c:1998 elf32-m32r.c:2110
+#: elf32-metag.c:2797 elf32-nds32.c:3840 elf32-or1k.c:2285 elf32-ppc.c:6554
+#: elf32-s390.c:1855 elf32-sh.c:2975 elf32-tic6x.c:3252 elf32-tilepro.c:2245
+#: elf64-ppc.c:10263 elf64-s390.c:1792 elfxx-sparc.c:2437 elfxx-tilegx.c:2491
+#: elfxx-x86.c:571
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:8610
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:1119
+#, c-format
+msgid "%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"
+msgstr "%pB: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%pTÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ», Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�\n"
+
+#: elf32-arm.c:16810
+#, c-format
+msgid "errors encountered processing file %pB"
+msgstr "Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ„Ð°Ð¹Ð»Ð° Ñ�Ñ‚Ð°Ð»Ð¸Ñ�Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸, %pB"
 
-#: elf32-arm.c:16493 elflink.c:12297 elflink.c:12344
+#: elf32-arm.c:17257 elflink.c:12524 elflink.c:12571
 #, c-format
 msgid "could not find section %s"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» %s"
 
-#: elf32-arm.c:17669
-msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Cortex-A8 Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÐ¾Ð²Ð°Ð½Ð¾ Ð·Ð° Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ"
+#: elf32-arm.c:18468
+#, c-format
+msgid "%pB: error: Cortex-A8 erratum stub is allocated in unsafe location"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Cortex-A8 Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÐ¾Ð²Ð°Ð½Ð¾ Ð·Ð° Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ"
 
 #. There's not much we can do apart from complain if this
 #. happens.
-#: elf32-arm.c:17696
-msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Cortex-A8 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)"
-
-#: elf32-arm.c:18523 elf32-arm.c:18545
-msgid "%B: error: VFP11 veneer out of range"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÐ° VFP11 Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼"
-
-#: elf32-arm.c:18596
-msgid "%B(%#x): error: Cannot create STM32L4XX veneer. Jump out of range by %ld bytes. Cannot encode branch instruction. "
-msgstr "%B(%#x): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX. ÐŸÐµÑ€ÐµÑ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð½Ð° %ld Ð±Ð°Ð¹Ñ‚Ñ–Ð². ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ. "
-
-#: elf32-arm.c:18634
-msgid "%B: error: Cannot create STM32L4XX veneer."
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX."
-
-#: elf32-arm.c:19655
-msgid "error: %B is already in final BE8 format"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñƒ Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– BE8"
-
-#: elf32-arm.c:19731
-msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±â€™Ñ”ÐºÑ‚-Ð´Ð¶ÐµÑ€ÐµÐ»Ð¾, %B, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÑ€Ñ�Ñ–ÑŽ EABI %d, Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�, %B, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÑ€Ñ�Ñ–ÑŽ EABI %d"
-
-#: elf32-arm.c:19746
-msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� APCS-%d, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” APCS-%d"
-
-#: elf32-arm.c:19770
-msgid "error: %B uses VFP instructions, whereas %B does not"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ VFP, Ð° Ñƒ %B â€” Ð½Ñ–"
-
-#: elf32-arm.c:19774
-msgid "error: %B uses FPA instructions, whereas %B does not"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ FPA, Ð° Ñƒ %B â€” Ð½Ñ–"
-
-#: elf32-arm.c:19784
-msgid "error: %B uses Maverick instructions, whereas %B does not"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Maverick, Ð° Ñƒ %B â€” Ð½Ñ–"
-
-#: elf32-arm.c:19788
-msgid "error: %B does not use Maverick instructions, whereas %B does"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Maverick, Ð° Ñƒ %B â€” Ñ‚Ð°Ðº"
-
-#: elf32-arm.c:19807
-msgid "error: %B uses software FP, whereas %B uses hardware FP"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ñ– FP, Ð° Ñƒ %B â€” Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ñ– FP"
-
-#: elf32-arm.c:19811
-msgid "error: %B uses hardware FP, whereas %B uses software FP"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ñ– FP, Ð° Ñƒ %B â€” Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ñ– FP"
-
-#: elf32-avr.c:959
-#, c-format
-msgid "%B: invalid AVR reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� AVR: %d"
-
-#: elf32-avr.c:1510 elf32-bfin.c:3202 elf32-cris.c:2033 elf32-epiphany.c:574
-#: elf32-fr30.c:599 elf32-frv.c:4049 elf32-ft32.c:342 elf32-i860.c:1218
-#: elf32-ip2k.c:1486 elf32-iq2000.c:701 elf32-m32c.c:629 elf32-mep.c:532
-#: elf32-metag.c:2009 elf32-moxie.c:293 elf32-msp430.c:1365 elf32-mt.c:404
-#: elf32-or1k.c:1266 elf32-tilepro.c:3673 elf32-v850.c:2295 elf32-visium.c:685
-#: elf32-xstormy16.c:935 elf64-mmix.c:1548 elfxx-tilegx.c:4060
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2275
+#: elf32-arm.c:18495
+#, c-format
+msgid "%pB: error: Cortex-A8 erratum stub out of range (input file too large)"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Cortex-A8 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)"
+
+#: elf32-arm.c:19322 elf32-arm.c:19344
+#, c-format
+msgid "%pB: error: VFP11 veneer out of range"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÐ° VFP11 Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼"
+
+#: elf32-arm.c:19395
+#, c-format
+msgid "%pB(%#<PRIx64>): error: cannot create STM32L4XX veneer; jump out of range by %<PRId64> bytes; cannot encode branch instruction"
+msgstr "%pB(%#<PRIx64>): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX. ÐŸÐµÑ€ÐµÑ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð½Ð° %<PRId64> Ð±Ð°Ð¹Ñ‚Ñ–Ð². ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ."
+
+#: elf32-arm.c:19434
+#, c-format
+msgid "%pB: error: cannot create STM32L4XX veneer"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÑƒ STM32L4XX"
+
+#: elf32-arm.c:20523
+#, c-format
+msgid "error: %pB is already in final BE8 format"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñƒ Ð¾Ñ�Ñ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– BE8"
+
+#: elf32-arm.c:20599
+#, c-format
+msgid "error: source object %pB has EABI version %d, but target %pB has EABI version %d"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±â€™Ñ”ÐºÑ‚-Ð´Ð¶ÐµÑ€ÐµÐ»Ð¾, %pB, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÑ€Ñ�Ñ–ÑŽ EABI %d, Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�, %pB, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÑ€Ñ�Ñ–ÑŽ EABI %d"
+
+#: elf32-arm.c:20614
+#, c-format
+msgid "error: %pB is compiled for APCS-%d, whereas target %pB uses APCS-%d"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� APCS-%d, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” APCS-%d"
+
+#: elf32-arm.c:20624
+#, c-format
+msgid "error: %pB passes floats in float registers, whereas %pB passes them in integer registers"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ‡Ð¸Ñ�Ð»Ð° Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð° %pB Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ—Ñ… Ñƒ Ñ†Ñ–Ð»Ð¾Ñ‡Ð¸Ñ�ÐµÐ»ÑŒÐ½Ñ– Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸"
+
+#: elf32-arm.c:20628
+#, c-format
+msgid "error: %pB passes floats in integer registers, whereas %pB passes them in float registers"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ†Ñ–Ð»Ñ– Ñ‡Ð¸Ñ�Ð»Ð° Ð´Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð° %pB Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” Ñ—Ñ… Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÐ¾Ð¼Ð¾ÑŽ"
+
+#: elf32-arm.c:20638 elf32-arm.c:20642 elf32-arm.c:20652
+#, c-format
+msgid "error: %pB uses %s instructions, whereas %pB does not"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ %s, Ð° Ñƒ %pB â€” Ð½Ñ–"
+
+#: elf32-arm.c:20656
+#, c-format
+msgid "error: %pB does not use %s instructions, whereas %pB does"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ %s, Ð° Ñƒ %pB â€” Ñ‚Ð°Ðº"
+
+#: elf32-arm.c:20675
+#, c-format
+msgid "error: %pB uses software FP, whereas %pB uses hardware FP"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ñ– FP, Ð° Ñƒ %pB â€” Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ñ– FP"
+
+#: elf32-arm.c:20679
+#, c-format
+msgid "error: %pB uses hardware FP, whereas %pB uses software FP"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ñ– FP, Ð° Ñƒ %pB â€” Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ñ– FP"
+
+#: elf32-arm.c:20693
+#, c-format
+msgid "warning: %pB supports interworking, whereas %pB does not"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ, Ð° Ñƒ %pB Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
+
+#: elf32-arm.c:20699
+#, c-format
+msgid "warning: %pB does not support interworking, whereas %pB does"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾Ñ— Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸, Ð° Ñƒ %pB Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
+
+#: elf32-avr.c:1513 elf32-bfin.c:3135 elf32-cris.c:2041 elf32-epiphany.c:577
+#: elf32-fr30.c:602 elf32-frv.c:4057 elf32-ft32.c:502 elf32-ip2k.c:1493
+#: elf32-iq2000.c:701 elf32-m32c.c:632 elf32-mep.c:534 elf32-metag.c:1998
+#: elf32-moxie.c:296 elf32-msp430.c:1366 elf32-mt.c:406 elf32-or1k.c:1250
+#: elf32-tilepro.c:3514 elf32-v850.c:2299 elf32-visium.c:689
+#: elf32-xstormy16.c:939 elf64-mmix.c:1549 elfxx-tilegx.c:3878
 msgid "internal error: dangerous relocation"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf32-avr.c:3319
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:2880
+#: elf32-avr.c:3322
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:3127
 #, c-format
 msgid "cannot create stub entry %s"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� %s"
@@ -1925,594 +1924,428 @@ msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸
 msgid "relocation should be even number"
 msgstr "Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð¿Ð°Ñ€Ð½Ð¸Ð¼ Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼"
 
-#: elf32-bfin.c:1581
+#: elf32-bfin.c:1585
 #, c-format
-msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
-msgstr "B(%A+0x%lx): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
+msgid "%pB(%pA+%#<PRIx64>): unresolvable relocation against symbol `%s'"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
 
-#: elf32-bfin.c:1612 elf32-i386.c:5412 elf32-m68k.c:4160 elf32-s390.c:3429
-#: elf64-s390.c:3353 elf64-x86-64.c:5793
+#: elf32-bfin.c:1617 elf32-i386.c:3450 elf32-m68k.c:3976 elf32-s390.c:3266
+#: elf64-s390.c:3183 elf64-x86-64.c:3893
 #, c-format
-msgid "%B(%A+0x%lx): reloc against `%s': error %d"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%sÂ»: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d"
+msgid "%pB(%pA+%#<PRIx64>): reloc against `%s': error %d"
+msgstr "%pB(%pA+%#<PRIx64>): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%sÂ»: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d"
 
-#: elf32-bfin.c:2706
+#: elf32-bfin.c:2638
 #, c-format
-msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Â«%A+0x%xÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼"
+msgid "%pB: relocation at `%pA+%#<PRIx64>' references symbol `%s' with nonzero addend"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Â«%pA+%#<PRIx64>Â» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼"
 
-#: elf32-bfin.c:2722
+#: elf32-bfin.c:2655
 msgid "relocation references symbol not defined in the module"
 msgstr "Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð», Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ–"
 
-#: elf32-bfin.c:2819
+#: elf32-bfin.c:2752
 msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
 msgstr "R_BFIN_FUNCDESC Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼"
 
-#: elf32-bfin.c:2860 elf32-bfin.c:2983
+#: elf32-bfin.c:2793 elf32-bfin.c:2916
 msgid "cannot emit fixups in read-only section"
 msgstr "Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ñƒ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf32-bfin.c:2891 elf32-bfin.c:3021 elf32-lm32.c:1064 elf32-sh.c:4930
+#: elf32-bfin.c:2824 elf32-bfin.c:2954 elf32-lm32.c:1049 elf32-sh.c:4507
 msgid "cannot emit dynamic relocations in read-only section"
 msgstr "Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf32-bfin.c:2941
+#: elf32-bfin.c:2874
 msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
 msgstr "R_BFIN_FUNCDESC_VALUE Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼"
 
-#: elf32-bfin.c:3106
+#: elf32-bfin.c:3039
 msgid "relocations between different segments are not supported"
 msgstr "Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ñ–Ð¶ Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: elf32-bfin.c:3107
+#: elf32-bfin.c:3040
 msgid "warning: relocation references a different segment"
 msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ñ–Ð½ÑˆÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚"
 
-#: elf32-bfin.c:4877
+#: elf32-bfin.c:4787 elf32-frv.c:6603
 #, c-format
-msgid "%B: unsupported relocation type %i"
-msgstr "%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %i"
+msgid "%pB: cannot link non-fdpic object file into fdpic executable"
+msgstr "%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» Ð½Ðµ-fdpic Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° fdpic"
 
-#: elf32-bfin.c:4966 elf32-frv.c:6599
-msgid "%B: cannot link non-fdpic object file into fdpic executable"
-msgstr "%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» Ð½Ðµ-fdpic Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° fdpic"
-
-#: elf32-bfin.c:4970 elf32-frv.c:6603
-msgid "%B: cannot link fdpic object file into non-fdpic executable"
-msgstr "%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» fdpic Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ-fdpic"
+#: elf32-bfin.c:4791 elf32-frv.c:6607
+#, c-format
+msgid "%pB: cannot link fdpic object file into non-fdpic executable"
+msgstr "%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» fdpic Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ-fdpic"
 
-#: elf32-bfin.c:5120
+#: elf32-bfin.c:4941
 #, c-format
 msgid "*** check this relocation %s"
 msgstr "*** Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€Ñ‚Ðµ Ñ†Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: %s"
 
-#: elf32-bfin.c:5236
+#: elf32-bfin.c:5057
 msgid "the bfin target does not currently support the generation of copy relocations"
 msgstr "Ñƒ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ–Ð¹ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ†Ñ–Ð»Ñ– bfin Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf32-cr16.c:653
-#, c-format
-msgid "Unsupported CR16 relocation type: 0x%x\n"
-msgstr "Ð�ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CR16: 0x%x\n"
-
-#: elf32-cr16.c:682
-#, c-format
-msgid "%B: unrecognised CR16 reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CR16: %d"
-
-#: elf32-cr16c.c:186
-#, c-format
-msgid "%B: invalid CR16C reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CR16C: %d"
-
-#: elf32-cris.c:467
-#, c-format
-msgid "%B: invalid CRIS reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CRIS: %d"
+#: elf32-bfin.c:5351 elf32-cr16.c:2803 elf32-m68k.c:4390
+msgid "unsupported relocation type"
+msgstr "Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf32-cris.c:1115
+#: elf32-cris.c:1119
 #, c-format
-msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
-msgstr "%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
+msgid "%pB, section %pA: unresolvable relocation %s against symbol `%s'"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
 
-#: elf32-cris.c:1177
+#: elf32-cris.c:1184
 #, c-format
-msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'"
-msgstr "%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½ÐµÐ¼Ð°Ñ” Ð½Ñ– PLT, Ð½Ñ– GOT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
+msgid "%pB, section %pA: no PLT nor GOT for relocation %s against symbol `%s'"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½ÐµÐ¼Ð°Ñ” Ð½Ñ– PLT, Ð½Ñ– GOT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
 
-#: elf32-cris.c:1180
+#: elf32-cris.c:1187
 #, c-format
-msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
-msgstr "%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½ÐµÐ¼Ð°Ñ” PLT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
+msgid "%pB, section %pA: no PLT for relocation %s against symbol `%s'"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½ÐµÐ¼Ð°Ñ” PLT Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
 
-#: elf32-cris.c:1186 elf32-cris.c:1319 elf32-cris.c:1583 elf32-cris.c:1666
-#: elf32-cris.c:1819 elf32-tic6x.c:2651
+#: elf32-cris.c:1193 elf32-cris.c:1326 elf32-cris.c:1591 elf32-cris.c:1674
+#: elf32-cris.c:1827 elf32-tic6x.c:2619
 msgid "[whose name is lost]"
 msgstr "[Ñ‡Ð¸ÑŽ Ð½Ð°Ð·Ð²Ñƒ Ð²Ñ‚Ñ€Ð°Ñ‡ÐµÐ½Ð¾]"
 
-#: elf32-cris.c:1304 elf32-tic6x.c:2635
+#: elf32-cris.c:1311 elf32-tic6x.c:2603
 #, c-format
-msgid "%B, section %A: relocation %s with non-zero addend %d against local symbol"
-msgstr "%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼, %d, Ñ‰Ð¾Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
+msgid "%pB, section %pA: relocation %s with non-zero addend %<PRId64> against local symbol"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼, %<PRId64>, Ñ‰Ð¾Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf32-cris.c:1313 elf32-cris.c:1660 elf32-cris.c:1813 elf32-tic6x.c:2644
+#: elf32-cris.c:1320 elf32-cris.c:1668 elf32-cris.c:1821 elf32-tic6x.c:2612
 #, c-format
-msgid "%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
-msgstr "%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼, %d, Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
+msgid "%pB, section %pA: relocation %s with non-zero addend %<PRId64> against symbol `%s'"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼, %<PRId64>, Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
 
-#: elf32-cris.c:1340
+#: elf32-cris.c:1347
 #, c-format
-msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'"
-msgstr "%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: Â«%sÂ»"
+msgid "%pB, section %pA: relocation %s is not allowed for global symbol: `%s'"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: Â«%sÂ»"
 
-#: elf32-cris.c:1357
+#: elf32-cris.c:1364
 #, c-format
-msgid "%B, section %A: relocation %s with no GOT created"
-msgstr "%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð±ÐµÐ· Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾Ð³Ð¾ GOT"
+msgid "%pB, section %pA: relocation %s with no GOT created"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð±ÐµÐ· Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾Ð³Ð¾ GOT"
 
 #. We shouldn't get here for GCC-emitted code.
-#: elf32-cris.c:1573
+#: elf32-cris.c:1581
 #, c-format
-msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
-msgstr "%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– %s Ñ” Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Â«%sÂ», Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾, Ð°Ð´Ñ€ÐµÑ�Ð½Ð° Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ° Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ�?"
+msgid "%pB, section %pA: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– %s Ñ” Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Â«%sÂ», Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾, Ð°Ð´Ñ€ÐµÑ�Ð½Ð° Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ° Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ�?"
 
-#: elf32-cris.c:1576
+#: elf32-cris.c:1584
 #, c-format
-msgid "%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?"
-msgstr "%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ–Ð· Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾ÑŽ Ð²Ð¸Ð´Ð¸Ð¼Ñ–Ñ�Ñ‚ÑŽ. ÐœÐ¾Ð¶Ð»Ð¸Ð²Ð¾, Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ–?"
+msgid "%pB, section %pA: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ–Ð· Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾ÑŽ Ð²Ð¸Ð´Ð¸Ð¼Ñ–Ñ�Ñ‚ÑŽ. ÐœÐ¾Ð¶Ð»Ð¸Ð²Ð¾, Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ–?"
 
-#: elf32-cris.c:1947
+#: elf32-cris.c:1955
 #, c-format
-msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
-msgstr "%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ð·Ð° Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ. ÐœÐ¾Ð¶Ð»Ð¸Ð²Ð¾, Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ–?"
+msgid "%pB, section %pA: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ð·Ð° Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ. ÐœÐ¾Ð¶Ð»Ð¸Ð²Ð¾, Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ–?"
 
-#: elf32-cris.c:2000
+#: elf32-cris.c:2008
 msgid "(too many global variables for -fpic: recompile with -fPIC)"
 msgstr "(Ð·Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… Ð·Ð¼Ñ–Ð½Ð½Ð¸Ñ… Ð´Ð»Ñ� -fpic: Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð· -fPIC)"
 
-#: elf32-cris.c:2007
+#: elf32-cris.c:2015
 msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)"
 msgstr "(Ð´Ð°Ð½Ñ– Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼Ð¸ Ð´Ð»Ñ� -fpic Ð°Ð±Ð¾ -msmall-tls: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC Ð°Ð±Ð¾ -mno-small-tls)"
 
-#: elf32-cris.c:3233
+#: elf32-cris.c:3050
 #, c-format
-msgid ""
-"%B, section %A:\n"
-"  v10/v32 compatible object %s must not contain a PIC relocation"
-msgstr ""
-"%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A:\n"
-"  Ð¾Ð±â€™Ñ”ÐºÑ‚ Ð²ÐµÑ€Ñ�Ñ–Ñ— 10/32, %s, Ð½Ðµ Ð¿Ð¾Ð²Ð¸Ð½ÐµÐ½ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PIC"
+msgid "%pB, section %pA: v10/v32 compatible object must not contain a PIC relocation"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA: Ð¾Ð±â€™Ñ”ÐºÑ‚ Ð²ÐµÑ€Ñ�Ñ–Ñ— 10/32 Ð½Ðµ Ð¿Ð¾Ð²Ð¸Ð½ÐµÐ½ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PIC"
 
-#: elf32-cris.c:3287
+#: elf32-cris.c:3104
 #, c-format
 msgid ""
-"%B, section %A:\n"
+"%pB, section %pA:\n"
 "  relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC"
 msgstr ""
-"%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A:\n"
+"%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA:\n"
 "  Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ñ” ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼ Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–; Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾ÑŽ Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½Ð¾ÑŽ Ñ” ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð², Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ñ–Ð»ÑŽÐ¹Ñ‚Ðµ Ð· -fPIC"
 
-#: elf32-cris.c:3505
+#: elf32-cris.c:3322
 #, c-format
-msgid ""
-"%B, section %A:\n"
-"  relocation %s should not be used in a shared object; recompile with -fPIC"
+msgid "%pB, section %pA: relocation %s should not be used in a shared object; recompile with -fPIC"
 msgstr ""
-"%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A:\n"
+"%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA:\n"
 "  Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ñ�Ð»Ñ–Ð´ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ñ–Ð»ÑŽÐ¹Ñ‚Ðµ Ð· -fPIC"
 
-#: elf32-cris.c:3929
+#: elf32-cris.c:3747
 #, c-format
-msgid ""
-"%B, section `%A', to symbol `%s':\n"
-"  relocation %s should not be used in a shared object; recompile with -fPIC"
-msgstr ""
-"%B, Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%AÂ» Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»:\n"
-"  Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ñ�Ð»Ñ–Ð´ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ñ–Ð»ÑŽÐ¹Ñ‚Ðµ Ð· -fPIC"
+msgid "%pB, section `%pA', to symbol `%s': relocation %s should not be used in a shared object; recompile with -fPIC"
+msgstr "%pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%pAÂ» Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ñ�Ð»Ñ–Ð´ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–; Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ñ–Ð»ÑŽÐ¹Ñ‚Ðµ Ð· -fPIC"
 
-#: elf32-cris.c:4041
-msgid "Unexpected machine number"
-msgstr "Ð�ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¼Ð°ÑˆÐ¸Ð½Ð¸"
+#: elf32-cris.c:3860
+msgid "unexpected machine number"
+msgstr "Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ð¼Ð°ÑˆÐ¸Ð½Ð¸"
 
-#: elf32-cris.c:4092
+#: elf32-cris.c:3911
 #, c-format
 msgid " [symbols have a _ prefix]"
 msgstr " [Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒ Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ� _]"
 
-#: elf32-cris.c:4095
+#: elf32-cris.c:3914
 #, c-format
 msgid " [v10 and v32]"
 msgstr " [v10 Ñ‚Ð° v32]"
 
-#: elf32-cris.c:4098
+#: elf32-cris.c:3917
 #, c-format
 msgid " [v32]"
 msgstr " [v32]"
 
-#: elf32-cris.c:4142
-msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
-msgstr "%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð¾Ð¼ Â«_Â», Ð°Ð»Ðµ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ñ–Ð²"
-
-#: elf32-cris.c:4143
-msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
-msgstr "%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«_Â», Ð°Ð»Ðµ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð¼Ð¸ Ð· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð°Ð¼Ð¸ Â«_Â»"
-
-#: elf32-cris.c:4162
-msgid "%B contains CRIS v32 code, incompatible with previous objects"
-msgstr "Ñƒ %B Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´ v32 CRIS, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸"
-
-#: elf32-cris.c:4164
-msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
-msgstr "Ñƒ %B Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ñ” ÐºÐ¾Ð´Ð¾Ð¼ v32 CRIS, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸"
+#: elf32-cris.c:3961
+#, c-format
+msgid "%pB: uses _-prefixed symbols, but writing file with non-prefixed symbols"
+msgstr "%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð¾Ð¼ Â«_Â», Ð°Ð»Ðµ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ñ–Ð²"
 
-#: elf32-crx.c:429
+#: elf32-cris.c:3962
 #, c-format
-msgid "%B: unrecognised CRX reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CRX: %d"
+msgid "%pB: uses non-prefixed symbols, but writing file with _-prefixed symbols"
+msgstr "%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð±ÐµÐ· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«_Â», Ð°Ð»Ðµ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð·Ð°Ð¿Ð¸Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ð¼Ð¸ Ð· Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð°Ð¼Ð¸ Â«_Â»"
 
-#: elf32-d10v.c:234
+#: elf32-cris.c:3981
 #, c-format
-msgid "%B: invalid D10V reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� D10V: %d"
+msgid "%pB contains CRIS v32 code, incompatible with previous objects"
+msgstr "Ñƒ %pB Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´ v32 CRIS, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸"
 
-#: elf32-d30v.c:522 elf32-d30v.c:541
+#: elf32-cris.c:3983
 #, c-format
-msgid "%B: invalid D30V reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� D30V: %d"
+msgid "%pB contains non-CRIS-v32 code, incompatible with previous objects"
+msgstr "Ñƒ %pB Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� ÐºÐ¾Ð´, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ñ” ÐºÐ¾Ð´Ð¾Ð¼ v32 CRIS, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸"
 
 #: elf32-dlx.c:141
 #, c-format
-msgid "BFD Link Error: branch (PC rel16) to section (%s) not supported"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� BFD: Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� (PC rel16) Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%s) Ð½Ðµ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÑ”Ñ‚ÑŒÑ�Ñ�"
+msgid "branch (PC rel16) to section (%s) not supported"
+msgstr "Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� (PC rel16) Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%s) Ð½Ðµ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÑ”Ñ‚ÑŒÑ�Ñ�"
 
 #: elf32-dlx.c:204
 #, c-format
-msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� BFD: Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ (PC rel26) Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%s)"
-
-#: elf32-dlx.c:552
-#, c-format
-msgid "Invalid DLX reloc number: %d"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� DLX: %d"
-
-#: elf32-epiphany.c:376
-#, c-format
-msgid "%B: invalid Epiphany reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Epiphany: %d"
+msgid "jump (PC rel26) to section (%s) not supported"
+msgstr "Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ (PC rel26) Ð´Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%s)"
 
 #. Only if it's not an unresolved symbol.
-#: elf32-epiphany.c:570 elf32-ip2k.c:1482
+#: elf32-epiphany.c:573 elf32-ip2k.c:1489
 msgid "unsupported relocation between data/insn address spaces"
 msgstr "Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ñ–Ð¶ Ð¿Ñ€Ð¾Ñ�Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ Ð°Ð´Ñ€ÐµÑ� data Ñ‚Ð° insn"
 
-#: elf32-fr30.c:381
-#, c-format
-msgid "%B: invalid FR30 reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� FR30: %d"
-
-#: elf32-frv.c:1451 elf32-frv.c:1602
+#: elf32-frv.c:1452 elf32-frv.c:1603
 msgid "relocation requires zero addend"
 msgstr "Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº"
 
-#: elf32-frv.c:2557
-#, c-format
-msgid "%B: invalid FRV reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� FRV: %d"
-
-#: elf32-frv.c:2823
+#: elf32-frv.c:2829
 #, c-format
 msgid "%H: relocation to `%s+%v' may have caused the error above\n"
 msgstr "%H: Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ� Ð¿Ñ€Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ, Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ðµ Ð²Ð¸Ñ‰Ðµ, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ñ�Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½ÐµÐ½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼ Ð´Ð¾ Â«%s+%vÂ»\n"
 
-#: elf32-frv.c:2840
+#: elf32-frv.c:2846
 msgid "%H: relocation references symbol not defined in the module\n"
 msgstr "%H: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð», Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ–\n"
 
-#: elf32-frv.c:2916
+#: elf32-frv.c:2922
 msgid "%H: R_FRV_GETTLSOFF not applied to a call instruction\n"
 msgstr "%H: R_FRV_GETTLSOFF Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ (call)\n"
 
-#: elf32-frv.c:2957
+#: elf32-frv.c:2963
 msgid "%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction\n"
 msgstr "%H: R_FRV_GOTTLSDESC12 Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ lddi\n"
 
-#: elf32-frv.c:3028
+#: elf32-frv.c:3034
 msgid "%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction\n"
 msgstr "%H: R_FRV_GOTTLSDESCHI Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ sethi\n"
 
-#: elf32-frv.c:3065
+#: elf32-frv.c:3071
 msgid "%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction\n"
 msgstr "%H: R_FRV_GOTTLSDESCLO Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ setlo Ð°Ð±Ð¾ setlos\n"
 
-#: elf32-frv.c:3112
+#: elf32-frv.c:3118
 msgid "%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction\n"
 msgstr "%H: R_FRV_TLSDESC_RELAX Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ ldd\n"
 
-#: elf32-frv.c:3196
+#: elf32-frv.c:3202
 msgid "%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction\n"
 msgstr "%H: R_FRV_GETTLSOFF_RELAX Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ calll\n"
 
-#: elf32-frv.c:3250
+#: elf32-frv.c:3256
 msgid "%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction\n"
 msgstr "%H: R_FRV_GOTTLSOFF12 Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ ldi\n"
 
-#: elf32-frv.c:3280
+#: elf32-frv.c:3286
 msgid "%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction\n"
 msgstr "%H: R_FRV_GOTTLSOFFHI Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ sethi\n"
 
-#: elf32-frv.c:3309
+#: elf32-frv.c:3315
 msgid "%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction\n"
 msgstr "%H: R_FRV_GOTTLSOFFLO Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ setlo Ð°Ð±Ð¾ setlos\n"
 
-#: elf32-frv.c:3339
+#: elf32-frv.c:3345
 msgid "%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction\n"
 msgstr "%H: R_FRV_TLSOFF_RELAX Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ ld\n"
 
-#: elf32-frv.c:3384
+#: elf32-frv.c:3390
 msgid "%H: R_FRV_TLSMOFFHI not applied to a sethi instruction\n"
 msgstr "%H: R_FRV_TLSMOFFHI Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ sethi\n"
 
-#: elf32-frv.c:3411
+#: elf32-frv.c:3417
 msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n"
 msgstr "R_FRV_TLSMOFFLO Ñ” Ð½ÐµÐ·Ð°Ñ�Ñ‚Ð¾Ñ�Ð¾Ð²Ð½Ð¸Ð¼ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ setlo Ð°Ð±Ð¾ setlos\n"
 
-#: elf32-frv.c:3532
-msgid "%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend\n"
-msgstr "%H: R_FRV_FUNCDESC Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼\n"
+#: elf32-frv.c:3538 elf32-frv.c:3660
+msgid "%H: %s references dynamic symbol with nonzero addend\n"
+msgstr "%H: %s Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼\n"
 
-#: elf32-frv.c:3573 elf32-frv.c:3695
+#: elf32-frv.c:3580 elf32-frv.c:3703
 msgid "%H: cannot emit fixups in read-only section\n"
 msgstr "%H: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ñƒ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�\n"
 
-#: elf32-frv.c:3604 elf32-frv.c:3738
+#: elf32-frv.c:3611 elf32-frv.c:3746
 msgid "%H: cannot emit dynamic relocations in read-only section\n"
 msgstr "%H: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�\n"
 
-#: elf32-frv.c:3653
-msgid "%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend\n"
-msgstr "%H: R_FRV_FUNCDESC_VALUE Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼\n"
-
-#: elf32-frv.c:3910
+#: elf32-frv.c:3918
 #, c-format
 msgid "%H: reloc against `%s' references a different segment\n"
 msgstr "%H: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ–Ð½ÑˆÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚\n"
 
-#: elf32-frv.c:4061
+#: elf32-frv.c:4069
 #, c-format
 msgid "%H: reloc against `%s': %s\n"
 msgstr "%H: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%sÂ»: %s\n"
 
-#: elf32-frv.c:6258
+#: elf32-frv.c:6514
 #, c-format
-msgid "%B: unsupported relocation type %i\n"
-msgstr "%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %i\n"
+msgid "%pB: compiled with %s and linked with modules that use non-pic relocations"
+msgstr "%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· %s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñƒ Ñ�ÐºÐ¸Ñ… Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-pic"
 
-#: elf32-frv.c:6510
+#: elf32-frv.c:6568 elf32-iq2000.c:832 elf32-m32c.c:876
 #, c-format
-msgid "%B: compiled with %s and linked with modules that use non-pic relocations"
-msgstr "%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· %s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ñƒ Ñ�ÐºÐ¸Ñ… Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-pic"
+msgid "%pB: compiled with %s and linked with modules compiled with %s"
+msgstr "%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· %s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ð· %s"
 
-#: elf32-frv.c:6564 elf32-iq2000.c:832 elf32-m32c.c:877
+#: elf32-frv.c:6581
 #, c-format
-msgid "%B: compiled with %s and linked with modules compiled with %s"
-msgstr "%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· %s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ð· %s"
+msgid "%pB: uses different unknown e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½ÑˆÑ– Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ– Ð¿Ð¾Ð»Ñ� e_flags (%#x) Ð½Ñ–Ð¶ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (%#x)"
 
-#: elf32-frv.c:6577
+#: elf32-gen.c:71
 #, c-format
-msgid "%B: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½ÑˆÑ– Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ– Ð¿Ð¾Ð»Ñ� e_flags (0x%lx) Ð½Ñ–Ð¶ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (0x%lx)"
+msgid "%pB: relocations in generic ELF (EM: %d)"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð¼Ñƒ ELF (EM: %d)"
 
-#: elf32-gen.c:69 elf64-gen.c:69
+#: elf32-hppa.c:834 elf32-hppa.c:3511
 #, c-format
-msgid "%B: Relocations in generic ELF (EM: %d)"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð¼Ñƒ ELF (EM: %d)"
+msgid "%pB(%pA+%#<PRIx64>): cannot reach %s, recompile with -ffunction-sections"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´Ð¾Ñ�Ñ�Ð³Ñ‚Ð¸ %s, Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -ffunction-sections"
 
-#: elf32-hppa.c:839 elf32-hppa.c:3599
+#: elf32-hppa.c:1248
 #, c-format
-msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"
-msgstr "%B(%A+0x%lx): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´Ð¾Ñ�Ñ�Ð³Ñ‚Ð¸ %s, Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -ffunction-sections"
+msgid "%pB: relocation %s can not be used when making a shared object; recompile with -fPIC"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC"
 
-#: elf32-hppa.c:1270
+#: elf32-hppa.c:2688
 #, c-format
-msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC"
+msgid "%pB: duplicate export stub %s"
+msgstr "%pB: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� %s"
 
-#: elf32-hppa.c:2778
+#: elf32-hppa.c:3344
 #, c-format
-msgid "%B: duplicate export stub %s"
-msgstr "%B: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� %s"
+msgid "%pB(%pA+%#<PRIx64>): %s fixup for insn %#x is not supported in a non-shared link"
+msgstr "%pB(%pA+%#<PRIx64>): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾Ñ— Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ %s Ð´Ð»Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %#x Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ– Ð½ÐµÑ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf32-hppa.c:3433
+#: elf32-hppa.c:4140
 #, c-format
-msgid "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"
-msgstr "%B(%A+0x%lx): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾Ñ— Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ %s Ð´Ð»Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— 0x%x Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ– Ð½ÐµÑ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
+msgid "%s has both normal and TLS relocs"
+msgstr "%s Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS"
 
-#: elf32-hppa.c:4290
+#: elf32-hppa.c:4158
 #, c-format
-msgid "%B(%A+0x%lx): cannot handle %s for %s"
-msgstr "%B(%A+0x%lx): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ� %s"
+msgid "%pB:%s has both normal and TLS relocs"
+msgstr "%pB:%s Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS"
 
-#: elf32-hppa.c:4588
-msgid ".got section not immediately after .plt section"
-msgstr "Ð Ð¾Ð·Ð´Ñ–Ð» .got Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð·Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ .plt"
-
-#: elf32-i370.c:307
-#, c-format
-msgid "%B: unrecognised I370 reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� I370: %d"
-
-#: elf32-i370.c:1168
-msgid "%B: unknown relocation type %d for symbol %s"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
-
-#: elf32-i370.c:1310
+#: elf32-hppa.c:4217
 #, c-format
-msgid "%B: Relocation %s is not yet supported for symbol %s."
-msgstr "%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s Ñ‰Ðµ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾."
+msgid "%pB(%pA+%#<PRIx64>): cannot handle %s for %s"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ� %s"
 
-#. Unknown relocation.
-#: elf32-i386.c:387 elf32-m68k.c:352 elf32-ppc.c:2074 elf32-s390.c:346
-#: elf32-tic6x.c:2674 elf32-wasm32.c:106 elf64-ppc.c:2516 elf64-s390.c:373
-#: elf64-x86-64.c:289
-#, c-format
-msgid "%B: invalid relocation type %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d"
+#: elf32-hppa.c:4521
+msgid ".got section not immediately after .plt section"
+msgstr "Ð Ð¾Ð·Ð´Ñ–Ð» .got Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð·Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ .plt"
 
-#: elf32-i386.c:1711 elf64-x86-64.c:1888
+#: elf32-i386.c:351
 #, c-format
-msgid "%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� TLS Ð· %s Ð´Ð¾ %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ñƒ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» Ð·Ð°Ð·Ð½Ð°Ð»Ð¾ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–"
+msgid "%pB: unsupported relocation type: %#x"
+msgstr "%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %#x"
 
-#: elf32-i386.c:1799
+#: elf32-i386.c:1178 elf64-x86-64.c:1377
 #, c-format
-msgid "%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object"
-msgstr "%B: Ð±ÐµÐ·Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT R_386_GOT32X Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
+msgid "%pB: TLS transition from %s to %s against `%s' at %#<PRIx64> in section `%pA' failed"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� TLS Ð· %s Ð´Ð¾ %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ñƒ %#<PRIx64> Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ» Ð·Ð°Ð·Ð½Ð°Ð»Ð¾ Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–"
 
-#: elf32-i386.c:2237 elf32-s390.c:1188 elf32-sh.c:6056 elf32-tilepro.c:1608
-#: elf32-xtensa.c:1196 elf64-s390.c:1117 elfxx-sparc.c:1625
-#: elfxx-tilegx.c:1817
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:440
+#: elf32-i386.c:1269
 #, c-format
-msgid "%B: `%s' accessed both as normal and thread local symbol"
-msgstr "%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ‚Ð°Ðº Ñ– Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
+msgid "%pB: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object"
+msgstr "%pB: Ð±ÐµÐ·Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT R_386_GOT32X Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf32-i386.c:2314
+#: elf32-i386.c:1726 elf32-s390.c:1188 elf32-sh.c:5570 elf32-tilepro.c:1592
+#: elf32-xtensa.c:1203 elf64-s390.c:1120 elfxx-sparc.c:1593
+#: elfxx-tilegx.c:1805
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:428
 #, c-format
-msgid "%B: unsupported non-PIC call to IFUNC `%s'"
-msgstr "%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð²Ð¸ÐºÐ»Ð¸Ðº Ð±ÐµÐ· PIC IFUNC Â«%sÂ»"
+msgid "%pB: `%s' accessed both as normal and thread local symbol"
+msgstr "%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ‚Ð°Ðº Ñ– Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf32-i386.c:3189 elf64-x86-64.c:3589
+#: elf32-i386.c:1798
 #, c-format
-msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'\n"
-msgstr "%P: %B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ñƒ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ»\n"
+msgid "%pB: unsupported non-PIC call to IFUNC `%s'"
+msgstr "%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð²Ð¸ÐºÐ»Ð¸Ðº Ð±ÐµÐ· PIC IFUNC Â«%sÂ»"
 
-#: elf32-i386.c:3402 elf64-x86-64.c:3798
+#: elf32-i386.c:2380 elf64-x86-64.c:2667
 #, c-format
-msgid "%P: %B: warning: relocation in readonly section `%A'\n"
-msgstr "%P: %B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Â«%AÂ»\n"
-
-#: elf32-i386.c:3705 elf64-x86-64.c:4114
-msgid "%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
-msgstr "%P%X: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� IFUNC. Ð¡Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ð· -fPIC\n"
+msgid "%pB: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
+msgstr "%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC Â«%sÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: elf32-i386.c:3945 elf32-tilepro.c:2868 elf64-x86-64.c:4321
-#: elfxx-tilegx.c:3167
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6082
+#: elf32-i386.c:2413 elf32-i386.c:3661 elf32-i386.c:3802 elf64-x86-64.c:2724
+#: elf64-x86-64.c:4066 elf64-x86-64.c:4222
 #, c-format
-msgid "%B: unrecognized relocation (0x%x) in section `%A'"
-msgstr "%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (0x%x) Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ»"
+msgid "Local IFUNC function `%s' in %pB\n"
+msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� IFUNC Â«%sÂ» Ñƒ %pB\n"
 
-#: elf32-i386.c:4240 elf64-x86-64.c:4550
+#: elf32-i386.c:2570
 #, c-format
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
-msgstr "%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC Â«%sÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
+msgid "%pB: direct GOT relocation %s against `%s' without base register can not be used when making a shared object"
+msgstr "%pB: Ð±ÐµÐ·Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf32-i386.c:4275 elf32-i386.c:5642 elf32-i386.c:5781 elf64-x86-64.c:4609
-#: elf64-x86-64.c:5982 elf64-x86-64.c:6136
-msgid "Local IFUNC function `%s' in %B\n"
-msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� IFUNC Â«%sÂ» Ñƒ %B\n"
-
-#: elf32-i386.c:4508
-#, c-format
-msgid "%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object"
-msgstr "%B: Ð±ÐµÐ·Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð±ÐµÐ· Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
-
-#: elf32-i386.c:4543 elf64-x86-64.c:4816
+#: elf32-i386.c:2605 elf64-x86-64.c:2916
 msgid "hidden symbol"
 msgstr "Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf32-i386.c:4546 elf64-x86-64.c:4819
+#: elf32-i386.c:2608 elf64-x86-64.c:2919
 msgid "internal symbol"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf32-i386.c:4549 elf64-x86-64.c:4822
+#: elf32-i386.c:2611 elf64-x86-64.c:2922
 msgid "protected symbol"
-msgstr "Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
-
-#: elf32-i386.c:4552 elf64-x86-64.c:4825
-msgid "symbol"
-msgstr "Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
-
-#: elf32-i386.c:4558
-#, c-format
-msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_386_GOTOFF Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ %s, Â«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
-
-#: elf32-i386.c:4571
-#, c-format
-msgid "%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object"
-msgstr "%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ R_386_GOTOFF Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— %s Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
-
-#: elf32-i386.c:6116 elf32-tilepro.c:3920 elf64-x86-64.c:6483
-#: elfxx-tilegx.c:4327
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:9261
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2522
-#, c-format
-msgid "discarded output section: `%A'"
-msgstr "Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…: Â«%AÂ»"
-
-#: elf32-i386.c:6693 elf64-x86-64.c:7228
-msgid "error: %B: <corrupt x86 ISA used size: 0x%x>"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾Ð³Ð¾ ISA x86: 0x%x>"
-
-#: elf32-i386.c:6695 elf64-x86-64.c:7230
-msgid "error: %B: <corrupt x86 ISA needed size: 0x%x>"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ð³Ð¾ ISA x86: 0x%x>"
-
-#: elf32-i386.c:6696 elf64-x86-64.c:7231
-msgid "error: %B: <corrupt x86 feature size: 0x%x>"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ñ�Ñ‚Ñ– x86: 0x%x>"
-
-#: elf32-i386.c:6873 elf64-x86-64.c:7408
-#, c-format
-msgid "%F: failed to create GNU property section\n"
-msgstr "%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð»Ð°Ñ�Ñ‚Ð¸Ð²Ð¾Ñ�Ñ‚ÐµÐ¹ GNU\n"
-
-#: elf32-i386.c:6959
-#, c-format
-msgid "%F: failed to create VxWorks dynamic sections\n"
-msgstr "%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ VxWorks\n"
-
-#: elf32-i386.c:7026 elf64-x86-64.c:7568
-#, c-format
-msgid "%F: failed to create GOT sections\n"
-msgstr "%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ GOT\n"
-
-#: elf32-i386.c:7031 elf64-x86-64.c:7584
-#, c-format
-msgid "%F: failed to create ifunc sections\n"
-msgstr "%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ ifunc\n"
-
-#: elf32-i386.c:7074 elf64-x86-64.c:7627
-#, c-format
-msgid "%F: failed to create GOT PLT section\n"
-msgstr "%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT GOT\n"
-
-#: elf32-i386.c:7095 elf64-x86-64.c:7648
-#, c-format
-msgid "%F: failed to create IBT-enabled PLT section\n"
-msgstr "%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT Ñ–Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ IBT\n"
-
-#: elf32-i386.c:7116 elf64-x86-64.c:7684
-#, c-format
-msgid "%F: failed to create PLT .eh_frame section\n"
-msgstr "%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT\n"
+msgstr "Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf32-i386.c:7129 elf64-x86-64.c:7698
-#, c-format
-msgid "%F: failed to create GOT PLT .eh_frame section\n"
-msgstr "%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT GOT\n"
+#: elf32-i386.c:2614 elf64-x86-64.c:2925
+msgid "symbol"
+msgstr "Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf32-i386.c:7149 elf64-x86-64.c:7414
+#: elf32-i386.c:2620
 #, c-format
-msgid "%F%A: failed to align section\n"
-msgstr "%F%A: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ñ‚Ð¸ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€\n"
+msgid "%pB: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_386_GOTOFF Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ %s, Â«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf32-i960.c:140
+#: elf32-i386.c:2633
 #, c-format
-msgid "%B: invalid i960 reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� i960: %d"
+msgid "%pB: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object"
+msgstr "%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ R_386_GOTOFF Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— %s Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
 
 #: elf32-ip2k.c:856 elf32-ip2k.c:862 elf32-ip2k.c:929 elf32-ip2k.c:935
 msgid "ip2k relaxer: switch table without complete matching relocation information."
@@ -2522,218 +2355,166 @@ msgstr "ÐžÐ¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð¼Ñ
 msgid "ip2k relaxer: switch table header corrupt."
 msgstr "ÐžÐ¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ ip2k: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½ÑŒ"
 
-#: elf32-ip2k.c:1245
-#, c-format
-msgid "%B: invalid IP2K reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� IP2K: %d"
-
-#: elf32-ip2k.c:1298
-#, c-format
-msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)."
-msgstr "ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº ip2k: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ñ‰Ð¾Ð´Ð¾ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ Ñƒ 0x%08lx (Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� = 0x%08lx)."
-
-#: elf32-ip2k.c:1315
+#: elf32-ip2k.c:1302
 #, c-format
-msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."
-msgstr "ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº ip2k: Ð·Ð°Ð¹Ð²Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Ñ‰Ð¾Ð´Ð¾ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ Ñƒ 0x%08lx (Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� = 0x%08lx)."
+msgid "ip2k linker: missing page instruction at %#<PRIx64> (dest = %#<PRIx64>)"
+msgstr "ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº ip2k: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ñ‰Ð¾Ð´Ð¾ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ Ñƒ %#<PRIx64> (Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� = %#<PRIx64>)."
 
-#: elf32-iq2000.c:441
+#: elf32-ip2k.c:1321
 #, c-format
-msgid "%B: invalid IQ2000 reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� IQ2000: %d"
+msgid "ip2k linker: redundant page instruction at %#<PRIx64> (dest = %#<PRIx64>)"
+msgstr "ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº ip2k: Ð·Ð°Ð¹Ð²Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Ñ‰Ð¾Ð´Ð¾ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸ Ñƒ %#<PRIx64> (Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� = %#<PRIx64>)."
 
-#: elf32-lm32.c:559
-#, c-format
-msgid "%B: invalid LM32 reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� LM32: %d"
-
-#: elf32-lm32.c:668 elf32-nios2.c:3153
+#: elf32-lm32.c:651 elf32-nios2.c:3141
 msgid "global pointer relative relocation when _gp not defined"
 msgstr "Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð±ÐµÐ· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� _gp"
 
-#: elf32-lm32.c:723 elf32-nios2.c:3590
+#: elf32-lm32.c:706 elf32-nios2.c:3578
 msgid "global pointer relative address out of range"
 msgstr "Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
 
-#: elf32-lm32.c:1018
-msgid "internal error: addend should be zero for R_LM32_16_GOT"
-msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð»Ñ� R_LM32_16_GOT"
-
-#: elf32-m32c.c:305
-#, c-format
-msgid "%B: invalid M32C reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� M32C: %d"
-
-#: elf32-m32r.c:1286
+#: elf32-lm32.c:1002 elf32-or1k.c:968
 #, c-format
-msgid "%B: invalid M32R reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� M32R: %d"
+msgid "internal error: addend should be zero for %s"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð»Ñ� %s"
 
-#: elf32-m32r.c:1458
+#: elf32-m32r.c:1471
 msgid "SDA relocation when _SDA_BASE_ not defined"
 msgstr "Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� SDA Ð±ÐµÐ· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� _SDA_BASE_"
 
-#: elf32-m32r.c:2984 elf32-microblaze.c:1080 elf32-microblaze.c:1128
+#: elf32-m32r.c:2984 elf32-microblaze.c:1101 elf32-microblaze.c:1149
 #, c-format
-msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
-msgstr ""
-"%B: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� (%s) Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– (%A)\n"
-")"
+msgid "%pB: the target (%s) of an %s relocation is in the wrong section (%pA)"
+msgstr "%pB: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� (%s) Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– (%pA)"
 
-#: elf32-m32r.c:3486
-msgid "%B: Instruction set mismatch with previous modules"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð½Ð°Ð±Ð¾Ñ€Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼ ÐºÐ¾Ð¼Ð°Ð½Ð´ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð²"
+#: elf32-m32r.c:3487
+#, c-format
+msgid "%pB: instruction set mismatch with previous modules"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð½Ð°Ð±Ð¾Ñ€Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼ ÐºÐ¾Ð¼Ð°Ð½Ð´ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð²"
 
-#: elf32-m32r.c:3507 elf32-nds32.c:6111
+#: elf32-m32r.c:3508 elf32-nds32.c:6010
 #, c-format
 msgid "private flags = %lx"
 msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = %lx"
 
-#: elf32-m32r.c:3512
+#: elf32-m32r.c:3513
 #, c-format
 msgid ": m32r instructions"
 msgstr ": ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ m32r"
 
-#: elf32-m32r.c:3513
+#: elf32-m32r.c:3514
 #, c-format
 msgid ": m32rx instructions"
 msgstr ": ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ m32rx"
 
-#: elf32-m32r.c:3514
+#: elf32-m32r.c:3515
 #, c-format
 msgid ": m32r2 instructions"
 msgstr ": ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ m32r2"
 
-#: elf32-m68hc11.c:390
-#, c-format
-msgid "%B: invalid M68HC11 reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� M68HC11: %d"
-
-#: elf32-m68hc12.c:510
-#, c-format
-msgid "%B: invalid M68HC12 reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� M68HC12: %d"
-
-#: elf32-m68hc1x.c:1119
+#: elf32-m68hc1x.c:1116
 #, c-format
-msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
-msgstr "ÐŸÐ¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ», Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð¼Ð¾Ð¶Ðµ Ð¿Ñ€Ð¸Ð·Ð²ÐµÑ�Ñ‚Ð¸ Ð´Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº Ñƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ–."
+msgid "reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
+msgstr "Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ», Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð¼Ð¾Ð¶Ðµ Ð¿Ñ€Ð¸Ð·Ð²ÐµÑ�Ñ‚Ð¸ Ð´Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº Ñƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ–."
 
-#: elf32-m68hc1x.c:1153
+#: elf32-m68hc1x.c:1150
 #, c-format
 msgid "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code."
 msgstr "Ð�Ð´Ñ€ÐµÑ�Ð° XGATE (%lx) Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÐ¾Ð²Ð°Ð½Ð° Ð¿Ð¾Ð·Ð° RAM Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� (0xE000-0xFFFF), Ñ‚Ð¾Ð¼Ñƒ Ð²Ð°Ð¼ Ñ�Ð»Ñ–Ð´ Ð²Ñ€ÑƒÑ‡Ð½Ñƒ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñ–, Ð¹Ð¼Ð¾Ð²Ñ–Ñ€Ð½Ð¾, ÐºÐµÑ€ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¾ÑŽ Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ñƒ Ð²Ð°ÑˆÐ¾Ð¼Ñƒ ÐºÐ¾Ð´Ñ–."
 
-#: elf32-m68hc1x.c:1171
+#: elf32-m68hc1x.c:1168
 #, c-format
 msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)"
 msgstr "Ð·Ð°Ð½ÐµÑ�ÐµÐ½Ð° Ð´Ð¾ Ð±Ð°Ð½ÐºÑƒ Ð°Ð´Ñ€ÐµÑ�Ð° [%lx:%04lx] (%lx) Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¾Ð´Ð½Ð¾Ð¼Ñƒ Ð±Ð°Ð½ÐºÑƒ Ð· Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ, Ð·Ð°Ð½ÐµÑ�ÐµÐ½Ð¾ÑŽ Ð´Ð¾ Ð±Ð°Ð½ÐºÑƒ, [%lx:%04lx] (%lx)"
 
-#: elf32-m68hc1x.c:1187
+#: elf32-m68hc1x.c:1184
 #, c-format
 msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx"
 msgstr "Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ð·Ð°Ð½ÐµÑ�ÐµÐ½Ñƒ Ð´Ð¾ Ð±Ð°Ð½ÐºÑƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ [%lx:%04lx] Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð¼Ñƒ Ð¿Ñ€Ð¾Ñ�Ñ‚Ð¾Ñ€Ñ– Ð°Ð´Ñ€ÐµÑ�, %04lx"
 
-#: elf32-m68hc1x.c:1228
+#: elf32-m68hc1x.c:1225
 #, c-format
 msgid "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your code"
 msgstr "Ð�Ð´Ñ€ÐµÑ�Ð° S12 (%lx) Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÐ¾Ð²Ð°Ð½Ð° Ð¿Ð¾Ð·Ð° RAM Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� (0x2000-x4000), Ñ‚Ð¾Ð¼Ñƒ Ð²Ð°Ð¼ Ñ�Ð»Ñ–Ð´ Ð²Ñ€ÑƒÑ‡Ð½Ñƒ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ Ð²Ð°ÑˆÐ¾Ð¼Ñƒ ÐºÐ¾Ð´Ñ–"
 
-#: elf32-m68hc1x.c:1355
-msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ†Ñ–Ð»Ð¸Ñ… (-mshort), Ð° Ñ€ÐµÑˆÑ‚Ñƒ Ñ„Ð°Ð¹Ð»Ñ–Ð² â€” Ð´Ð»Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ†Ñ–Ð»Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ»"
-
-#: elf32-m68hc1x.c:1362
-msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ (-fshort-double), Ð° Ñ–Ð½ÑˆÑ– â€” Ð´Ð»Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ."
-
-#: elf32-m68hc1x.c:1371
-msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� HCS12, Ñ–Ð½ÑˆÑ– Ð¶ â€” Ð´Ð»Ñ� HC12"
+#: elf32-m68hc1x.c:1352
+#, c-format
+msgid "%pB: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ†Ñ–Ð»Ð¸Ñ… (-mshort), Ð° Ñ€ÐµÑˆÑ‚Ñƒ Ñ„Ð°Ð¹Ð»Ñ–Ð² â€” Ð´Ð»Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ†Ñ–Ð»Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ»"
+
+#: elf32-m68hc1x.c:1359
+#, c-format
+msgid "%pB: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ (-fshort-double), Ð° Ñ–Ð½ÑˆÑ– â€” Ð´Ð»Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ."
+
+#: elf32-m68hc1x.c:1368
+#, c-format
+msgid "%pB: linking files compiled for HCS12 with others compiled for HC12"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ñ– Ñ„Ð°Ð¹Ð»Ð¸ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� HCS12, Ñ–Ð½ÑˆÑ– Ð¶ â€” Ð´Ð»Ñ� HC12"
 
-#: elf32-m68hc1x.c:1416 elf32-xgate.c:672
+#: elf32-m68hc1x.c:1413 elf32-xgate.c:675
 #, c-format
 msgid "[abi=32-bit int, "
 msgstr "[abi=32-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ñ†Ñ–Ð»Ðµ, "
 
-#: elf32-m68hc1x.c:1418 elf32-xgate.c:674
+#: elf32-m68hc1x.c:1415 elf32-xgate.c:677
 #, c-format
 msgid "[abi=16-bit int, "
 msgstr "[abi=16-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ñ†Ñ–Ð»Ðµ, "
 
-#: elf32-m68hc1x.c:1421 elf32-xgate.c:677
+#: elf32-m68hc1x.c:1418 elf32-xgate.c:680
 #, c-format
 msgid "64-bit double, "
 msgstr "64-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ double, "
 
-#: elf32-m68hc1x.c:1423 elf32-xgate.c:679
+#: elf32-m68hc1x.c:1420 elf32-xgate.c:682
 #, c-format
 msgid "32-bit double, "
 msgstr "32-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ double, "
 
-#: elf32-m68hc1x.c:1426
+#: elf32-m68hc1x.c:1423
 #, c-format
 msgid "cpu=HC11]"
 msgstr "Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=HC11]"
 
-#: elf32-m68hc1x.c:1428
+#: elf32-m68hc1x.c:1425
 #, c-format
 msgid "cpu=HCS12]"
 msgstr "Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=HCS12]"
 
-#: elf32-m68hc1x.c:1430
+#: elf32-m68hc1x.c:1427
 #, c-format
 msgid "cpu=HC12]"
 msgstr "Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=HC12]"
 
-#: elf32-m68hc1x.c:1433
+#: elf32-m68hc1x.c:1430
 #, c-format
 msgid " [memory=bank-model]"
 msgstr " [Ð¿Ð°Ð¼â€™Ñ�Ñ‚ÑŒ=Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð· Ð±Ð°Ð½ÐºÐ°Ð¼Ð¸]"
 
-#: elf32-m68hc1x.c:1435
+#: elf32-m68hc1x.c:1432
 #, c-format
 msgid " [memory=flat]"
 msgstr " [Ð¿Ð°Ð¼â€™Ñ�Ñ‚ÑŒ=Ð¿Ð»Ð¾Ñ�ÐºÐ° Ð¼Ð¾Ð´ÐµÐ»ÑŒ]"
 
-#: elf32-m68hc1x.c:1438
+#: elf32-m68hc1x.c:1435
 #, c-format
 msgid " [XGATE RAM offsetting]"
 msgstr " [Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ RAM XGATE]"
 
-#: elf32-m68k.c:1215 elf32-m68k.c:1216 vms-alpha.c:7400 vms-alpha.c:7416
+#: elf32-m68k.c:1216 elf32-m68k.c:1217 vms-alpha.c:7478 vms-alpha.c:7494
 msgid "unknown"
 msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾"
 
-#: elf32-m68k.c:1680
+#: elf32-m68k.c:1660
 #, c-format
-msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� GOT: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð· 8-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ > %d"
+msgid "%pB: GOT overflow: number of relocations with 8-bit offset > %d"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� GOT: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð· 8-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ > %d"
 
-#: elf32-m68k.c:1687
+#: elf32-m68k.c:1667
 #, c-format
-msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� GOT: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð· 8- Ð°Ð±Ð¾ 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ > %d"
-
-#: elf32-m68k.c:3890
-#, c-format
-msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_68K_TLS_LE32 Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
-
-#: elf32-mcore.c:100 elf32-mcore.c:455
-#, c-format
-msgid "%B: Relocation %s (%d) is not currently supported.\n"
-msgstr "%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s (%d) Ñƒ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ–Ð¹ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾.\n"
-
-#: elf32-mcore.c:355
-#, c-format
-msgid "%B: unrecognised MCore reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MCore: %d"
-
-#: elf32-mcore.c:440
-#, c-format
-msgid "%B: Unknown relocation type %d\n"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d\n"
+msgid "%pB: GOT overflow: number of relocations with 8- or 16-bit offset > %d"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� GOT: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ð· 8- Ð°Ð±Ð¾ 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ > %d"
 
 #. Pacify gcc -Wall.
 #: elf32-mep.c:139
@@ -2746,451 +2527,361 @@ msgstr "mep: Ð½ÐµÐ¼Ð°Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°
 msgid "MeP: howto %d has type %d"
 msgstr "MeP: howto %d Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ñ‚Ð¸Ð¿Ñƒ %d"
 
-#: elf32-mep.c:390
+#: elf32-mep.c:622
 #, c-format
-msgid "%B: invalid MEP reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MEP: %d"
+msgid "%pB and %pB are for different cores"
+msgstr "%pB Ñ– %pB Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ�Ð´ÐµÑ€"
 
-#: elf32-mep.c:620
+#: elf32-mep.c:641
 #, c-format
-msgid "%B and %B are for different cores"
-msgstr "%B Ñ– %B Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ�Ð´ÐµÑ€"
+msgid "%pB and %pB are for different configurations"
+msgstr "%pB Ñ– %pB Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ€Ñ–Ð·Ð½Ð¸Ñ… ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹"
 
-#: elf32-mep.c:639
-#, c-format
-msgid "%B and %B are for different configurations"
-msgstr "%B Ñ– %B Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ€Ñ–Ð·Ð½Ð¸Ñ… ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹"
-
-#: elf32-mep.c:677
+#: elf32-mep.c:679
 #, c-format
 msgid "private flags = 0x%lx"
 msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = 0x%lx"
 
-#: elf32-metag.c:893
+#: elf32-metag.c:1863
 #, c-format
-msgid "%B: invalid METAG reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� METAG: %d"
-
-#: elf32-metag.c:1875
-msgid "%B(%A): multiple TLS models are not supported"
-msgstr "%B(%A): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ñ… Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ TLS Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
-
-#: elf32-metag.c:1878
-msgid "%B(%A): shared library symbol %s encountered whilst performing a static link"
-msgstr "%B(%A): Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� %s"
+msgid "%pB(%pA): multiple TLS models are not supported"
+msgstr "%pB(%pA): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ñ… Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ TLS Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: elf32-metag.c:1931
+#: elf32-metag.c:1866
 #, c-format
-msgid "%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_METAG_TLS_LE/IENONPIC Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
+msgid "%pB(%pA): shared library symbol %s encountered whilst performing a static link"
+msgstr "%pB(%pA): Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� %s"
 
-#: elf32-microblaze.c:656
+#: elf32-microblaze.c:1544 elf32-or1k.c:1056 elf32-tilepro.c:3155
+#: elfxx-sparc.c:3540 elfxx-tilegx.c:3543
 #, c-format
-msgid "%B: unrecognised MicroBlaze reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MicroBlaze: %d"
+msgid "%pB: probably compiled without -fPIC?"
+msgstr "%pB: Ð¹Ð¼Ð¾Ð²Ñ–Ñ€Ð½Ð¾ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð±ÐµÐ· -fPIC?"
 
-#: elf32-microblaze.c:1496 elf32-or1k.c:1072 elf32-tilepro.c:3317
-#: elfxx-sparc.c:3705 elfxx-tilegx.c:3726
-msgid "%B: probably compiled without -fPIC?"
-msgstr "%B: Ð¹Ð¼Ð¾Ð²Ñ–Ñ€Ð½Ð¾ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð±ÐµÐ· -fPIC?"
-
-#: elf32-mips.c:1777 elf64-mips.c:3200 elfn32-mips.c:3010
+#: elf32-mips.c:1775 elf64-mips.c:3196 elfn32-mips.c:3012
 msgid "literal relocation occurs for an external symbol"
 msgstr "Ð²Ñ–Ð´Ð±ÑƒÐ²Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð±ÑƒÐºÐ²Ð°Ð»ÑŒÐ½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf32-mips.c:1824 elf32-score.c:569 elf32-score7.c:469 elf64-mips.c:3243
-#: elfn32-mips.c:3051
+#: elf32-mips.c:1822 elf32-score.c:569 elf32-score7.c:469 elf64-mips.c:3239
+#: elfn32-mips.c:3053
 msgid "32bits gp relative relocation occurs for an external symbol"
 msgstr "Ð²Ñ–Ð´Ð±ÑƒÐ²Ð°Ñ”Ñ‚ÑŒÑ�Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ gp-Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf32-mips.c:2225
-#, c-format
-msgid "Unrecognised MIPS reloc number: %d"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MIPS: %d"
-
-#: elf32-moxie.c:137
-#, c-format
-msgid "%B: invalid Moxie reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Moxie: %d"
-
-#: elf32-msp430.c:648
-#, c-format
-msgid "%B: invalid MSP430X reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MSP430X: %d"
-
-#: elf32-msp430.c:658
-#, c-format
-msgid "%B: invalid MSP430 reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MSP430: %d"
-
-#: elf32-msp430.c:836 elf32-msp430.c:1150
-msgid "Try enabling relaxation to avoid relocation truncations"
-msgstr "Ð¡Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÑƒÑ‚Ð¸ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–ÑŽ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð´Ð»Ñ� ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ"
+#: elf32-msp430.c:837 elf32-msp430.c:1151
+msgid "try enabling relaxation to avoid relocation truncations"
+msgstr "Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÑƒÑ‚Ð¸ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–ÑŽ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð´Ð»Ñ� ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ� Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ"
 
-#: elf32-msp430.c:1357
+#: elf32-msp430.c:1358
 msgid "internal error: branch/jump to an odd address detected"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð°Ð±Ð¾ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð´Ð¾ Ð½ÐµÐ¿Ð°Ñ€Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸"
 
-#: elf32-msp430.c:2354
+#: elf32-msp430.c:2357
 #, c-format
-msgid "Warning: %B: Unknown MSPABI object attribute %d"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° MSPABI %d"
+msgid "warning: %pB: unknown MSPABI object attribute %d"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° MSPABI %d"
 
-#: elf32-msp430.c:2447
+#: elf32-msp430.c:2450
 #, c-format
-msgid "error: %B uses %s instructions but %B uses %s"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s, Ð°Ð»Ðµ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s"
+msgid "error: %pB uses %s instructions but %pB uses %s"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s, Ð°Ð»Ðµ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s"
 
-#: elf32-msp430.c:2459
+#: elf32-msp430.c:2462
 #, c-format
-msgid "error: %B uses the %s code model whereas %B uses the %s code model"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ñƒ %s, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ñƒ %s"
+msgid "error: %pB uses the %s code model whereas %pB uses the %s code model"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ñƒ %s, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ ÐºÐ¾Ð´Ñƒ %s"
 
-#: elf32-msp430.c:2471
+#: elf32-msp430.c:2474
 #, c-format
-msgid "error: %B uses the large code model but %B uses MSP430 instructions"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð²ÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ, Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— MSP430"
+msgid "error: %pB uses the large code model but %pB uses MSP430 instructions"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð²ÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ, Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— MSP430"
 
-#: elf32-msp430.c:2482
+#: elf32-msp430.c:2485
 #, c-format
-msgid "error: %B uses the %s data model whereas %B uses the %s data model"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s"
+msgid "error: %pB uses the %s data model whereas %pB uses the %s data model"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s, Ñ‚Ð¾Ð´Ñ– Ñ�Ðº %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s"
 
-#: elf32-msp430.c:2494
+#: elf32-msp430.c:2497
 #, c-format
-msgid "error: %B uses the small code model but %B uses the %s data model"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð¼Ð°Ð»Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ, Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s"
+msgid "error: %pB uses the small code model but %pB uses the %s data model"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð¼Ð°Ð»Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ, Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s"
 
-#: elf32-msp430.c:2506
+#: elf32-msp430.c:2509
 #, c-format
-msgid "error: %B uses the %s data model but %B only uses MSP430 instructions"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s, Ð° Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð»Ð¸ÑˆÐµ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— MSP430"
+msgid "error: %pB uses the %s data model but %pB only uses MSP430 instructions"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð´Ð°Ð½Ð¸Ñ… %s, Ð° Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð»Ð¸ÑˆÐµ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— MSP430"
 
-#: elf32-mt.c:242
+#: elf32-nds32.c:3228
 #, c-format
-msgid "%B: invalid MT reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MT: %d"
+msgid "error: can't find symbol: %s"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»: %s"
 
-#: elf32-nds32.c:2974
+#: elf32-nds32.c:4869
 #, c-format
-msgid "%B: invalid NDS32 reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� NDS32: %d"
-
-#: elf32-nds32.c:3309
-msgid "error: Can't find symbol: _SDA_BASE_."
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð» _SDA_BASE_."
-
-#: elf32-nds32.c:4484 elf32-nds32.c:11978
-msgid "%B: error: Cannot set _ITB_BASE_"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ _ITB_BASE_"
-
-#: elf32-nds32.c:4492
-msgid "error: IFC relocation error."
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� IFC."
+msgid "%pB: warning: %s unsupported in shared mode"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: elf32-nds32.c:4526
+#: elf32-nds32.c:5003
 #, c-format
-msgid "%B: error: unknown relocation type %d."
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d."
+msgid "%pB: warning: unaligned access to GOT entry"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ GOT"
 
-#: elf32-nds32.c:4972
-msgid "%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode."
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ° R_NDS32_25_ABS_RELA Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð°."
-
-#: elf32-nds32.c:5106
-msgid "%B: warning: unaligned access to GOT entry."
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ GOT."
-
-#: elf32-nds32.c:5148
-msgid "%B: warning: relocate SDA_BASE failed."
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� SDA_BASE."
+#: elf32-nds32.c:5045
+#, c-format
+msgid "%pB: warning: relocate SDA_BASE failed"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� SDA_BASE"
 
-#: elf32-nds32.c:5170
+#: elf32-nds32.c:5067
 #, c-format
-msgid "%B(%A): warning: unaligned small data access of type %d."
-msgstr "%B(%A): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñƒ %d."
+msgid "%pB(%pA): warning: unaligned small data access of type %d"
+msgstr "%pB(%pA): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñƒ %d"
 
-#: elf32-nds32.c:5918
+#: elf32-nds32.c:5816
 #, c-format
-msgid "%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð² Ð²ÐµÐºÑ‚Ð¾Ñ€Ñ–Ð² ISR Ñ–Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ– Ñ” %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸, Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ– Ñ” %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸"
+msgid "%pB: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð² Ð²ÐµÐºÑ‚Ð¾Ñ€Ñ–Ð² ISR Ñ–Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ– Ñ” %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸, Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ– Ñ” %u-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸"
 
-#: elf32-nds32.c:5962
-msgid "%B: warning: Endian mismatch with previous modules."
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñ–Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸."
+#: elf32-nds32.c:5860
+#, c-format
+msgid "%pB: warning: endian mismatch with previous modules"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñ–Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸"
 
-#: elf32-nds32.c:5972
-msgid "%B: warning: Older version of object file encountered, Please recompile with current tool chain."
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ�Ñ‚Ð°Ñ€Ñ–ÑˆÑƒ Ð²ÐµÑ€Ñ�Ñ–ÑŽ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð· Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ð¼ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð²."
+#: elf32-nds32.c:5870
+#, c-format
+msgid "%pB: warning: older version of object file encountered, please recompile with current tool chain"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ�Ñ‚Ð°Ñ€Ñ–ÑˆÑƒ Ð²ÐµÑ€Ñ�Ñ–ÑŽ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð· Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ð¼ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð²."
 
-#: elf32-nds32.c:6050
-msgid "%B: error: ABI mismatch with previous modules."
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ABI Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸."
+#: elf32-nds32.c:5948
+#, c-format
+msgid "%pB: error: ABI mismatch with previous modules"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ABI Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸"
 
-#: elf32-nds32.c:6061
-msgid "%B: error: Instruction set mismatch with previous modules."
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð½Ð°Ð±Ð¾Ñ€Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼ ÐºÐ¾Ð¼Ð°Ð½Ð´ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð²."
+#: elf32-nds32.c:5959
+#, c-format
+msgid "%pB: error: instruction set mismatch with previous modules"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð½Ð°Ð±Ð¾Ñ€Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼ ÐºÐ¾Ð¼Ð°Ð½Ð´ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð²"
 
-#: elf32-nds32.c:6087
+#: elf32-nds32.c:5986
 #, c-format
-msgid "%B: warning: Incompatible elf-versions %s and  %s."
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ð²ÐµÑ€Ñ�Ñ–Ñ— elf, %s Ñ‚Ð° %s."
+msgid "%pB: warning: incompatible elf-versions %s and %s"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ð²ÐµÑ€Ñ�Ñ–Ñ— elf, %s Ñ‚Ð° %s"
 
-#: elf32-nds32.c:6117
+#: elf32-nds32.c:6016
 #, c-format
 msgid ": n1 instructions"
 msgstr ": Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— n1"
 
-#: elf32-nds32.c:6120
+#: elf32-nds32.c:6019
 #, c-format
 msgid ": n1h instructions"
 msgstr ": Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— n1h"
 
-#: elf32-nds32.c:8730
-msgid "%B: Error: search_nds32_elf_blank reports wrong node\n"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: search_nds32_elf_blank Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»Ñ�Ñ” Ð¿Ñ€Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²ÑƒÐ·Ð¾Ð»\n"
-
-#: elf32-nds32.c:8989
+#: elf32-nds32.c:8508
 #, c-format
-msgid "%B: warning: %s points to unrecognized reloc at 0x%lx."
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð¾ 0x%lx."
+msgid "%pB: error: search_nds32_elf_blank reports wrong node"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: search_nds32_elf_blank Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»Ñ�Ñ” Ð¿Ñ€Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²ÑƒÐ·Ð¾Ð»"
 
-#: elf32-nds32.c:11850 elf32-nds32.c:11867
-msgid "error: Jump IFC Fail."
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ IFC."
-
-#: elf32-nds32.c:12724
+#: elf32-nds32.c:8768
 #, c-format
-msgid "%B: Nested OMIT_FP in %A."
-msgstr "%B: Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ðµ OMIT_FP Ñƒ %A."
+msgid "%pB: warning: %s points to unrecognized reloc at %#<PRIx64>"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð¾ %#<PRIx64>."
 
-#: elf32-nds32.c:12743
+#: elf32-nds32.c:12339
 #, c-format
-msgid "%B: Unmatched OMIT_FP in %A."
-msgstr "%B: OMIT_FP Ð±ÐµÐ· Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸ÐºÐ° Ñƒ %A."
+msgid "%pB: nested OMIT_FP in %pA"
+msgstr "%pB: Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ðµ OMIT_FP Ñƒ %pA."
 
-#: elf32-nds32.c:13026 reloc.c:8231
+#: elf32-nds32.c:12358
 #, c-format
-msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n"
-msgstr "%X%P: %B(%A): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%RÂ» Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ\n"
-
-#: elf32-nds32.c:14802
-msgid "Linker: cannot init ex9 hash table error \n"
-msgstr "ÐšÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ ex9, Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ…ÐµÑˆÑ–Ð² \n"
+msgid "%pB: unmatched OMIT_FP in %pA"
+msgstr "%pB: OMIT_FP Ð±ÐµÐ· Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸ÐºÐ° Ñƒ %pA."
 
-#: elf32-nds32.c:15211 elf32-nds32.c:15225
-msgid "Linker: error cannot fixed ex9 relocation \n"
-msgstr "ÐšÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ñ–ÐºÑ�Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ ex9 \n"
-
-#: elf32-nds32.c:15436
+#: elf32-nds32.c:12642 reloc.c:8330
 #, c-format
-msgid "%B: warning: unaligned small data access. For entry: {%d, %d, %d}, addr = 0x%x, align = 0x%x."
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…. Ð—Ð°Ð¿Ð¸Ñ�: {%d, %d, %d}, Ð°Ð´Ñ€ÐµÑ�Ð° = 0x%x, Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� = 0x%x."
-
-#: elf32-nds32.c:15469
-msgid "%P%F: failed creating ex9.it %s hash table: %E\n"
-msgstr "%P%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŽ Ñ…ÐµÑˆÑ–Ð² ex9.it %s: %E\n"
+msgid "%X%P: %pB(%pA): relocation \"%pR\" goes out of range\n"
+msgstr "%X%P: %pB(%pA): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%pRÂ» Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ\n"
 
-#: elf32-nios2.c:2949
-msgid "error: %B: Big-endian R2 is not supported."
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² R2 Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾."
+#: elf32-nios2.c:2930
+#, c-format
+msgid "error: %pB: big-endian R2 is not supported"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² R2 Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: elf32-nios2.c:3830
+#: elf32-nios2.c:3822
 #, c-format
 msgid "global pointer relative relocation at address 0x%08x when _gp not defined\n"
 msgstr "Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%08x, Ð²Ñ‚Ñ–Ð¼, _gp Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾\n"
 
-#: elf32-nios2.c:3850
-#, c-format
-msgid "Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.\n"
-msgstr "Ð�ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð´Ð¾Ñ�Ñ�Ð³Ñ‚Ð¸ %s (Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%08x) Ñ–Ð· Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° (Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%08x), Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� (%d) Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ, Ð²Ñ–Ð´ -32678 Ð´Ð¾ 32767.\n"
-
-#: elf32-nios2.c:4372
+#: elf32-nios2.c:3842
 #, c-format
-msgid "%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not permitted in shared object"
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_NIOS2_TLS_LE16 Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
+msgid "unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767\n"
+msgstr "Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð´Ð¾Ñ�Ñ�Ð³Ñ‚Ð¸ %s (Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%08x) Ñ–Ð· Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° (Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%08x), Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� (%d) Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ, Ð²Ñ–Ð´ -32678 Ð´Ð¾ 32767.\n"
 
-#: elf32-nios2.c:4500 elf32-pru.c:816
+#: elf32-nios2.c:4495 elf32-pru.c:928
 msgid "relocation out of range"
 msgstr "Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
 
-#: elf32-nios2.c:4510 elf32-pru.c:826 elf32-tic6x.c:2747
+#: elf32-nios2.c:4505 elf32-pru.c:938 elf32-tic6x.c:2716
 msgid "dangerous relocation"
 msgstr "Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf32-nios2.c:5491
+#: elf32-nios2.c:5378
 #, c-format
 msgid "dynamic variable `%s' is zero size"
 msgstr "Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð° Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð¼Ð°Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€"
 
-#: elf32-or1k.c:735
+#: elf32-or1k.c:1078
 #, c-format
-msgid "%B: invalid OR1K reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� OR1K: %d"
-
-#: elf32-or1k.c:985
-msgid "internal error: addend should be zero for R_OR1K_GOT16"
-msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð»Ñ� R_OR1K_GOT16"
+msgid "%pB: support for local dynamic not implemented"
+msgstr "%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ñ— Ð´Ð¸Ð½Ð°Ð¼Ñ–ÐºÐ¸ Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
 
-#: elf32-or1k.c:1094
-msgid "%B: support for local dynamic not implemented"
-msgstr "%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÑƒ Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ñ— Ð´Ð¸Ð½Ð°Ð¼Ñ–ÐºÐ¸ Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
-
-#: elf32-or1k.c:1229
-msgid "%B: will not resolve runtime TLS relocation"
-msgstr "%B: Ð½Ðµ Ð±ÑƒÐ´Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS Ñƒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–"
-
-#: elf32-or1k.c:1599
+#: elf32-or1k.c:1213
 #, c-format
-msgid "%B: bad relocation section name `%s'"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð½Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%sÂ»"
+msgid "%pB: will not resolve runtime TLS relocation"
+msgstr "%pB: Ð½Ðµ Ð±ÑƒÐ´Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS Ñƒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–"
 
-#: elf32-or1k.c:2704
-msgid "%B: EF_OR1K_NODELAY flag mismatch with previous modules"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ� EF_OR1K_NODELAY Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼"
-
-#: elf32-pj.c:325
+#: elf32-or1k.c:1533
 #, c-format
-msgid "%B: unrecognised PicoJava reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PicoJava: %d"
+msgid "%pB: bad relocation section name `%s'"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð½Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%sÂ»"
 
-#: elf32-ppc.c:2062
+#: elf32-or1k.c:2645
 #, c-format
-msgid "%B: unrecognised PPC reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PPC: %d"
+msgid "%pB: %s flag mismatch with previous modules"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ� %s Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼"
 
-#: elf32-ppc.c:2147
+#: elf32-ppc.c:2149
 #, c-format
 msgid "generic linker can't handle %s"
 msgstr "Ñ‚Ð¸Ð¿Ð¾Ð²Ð¸Ð¹ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»Ñ�Ñ‚Ð¸ %s"
 
-#: elf32-ppc.c:2781
+#: elf32-ppc.c:2778
 #, c-format
-msgid "corrupt %s section in %B"
-msgstr "Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %s Ñƒ %B"
+msgid "corrupt %s section in %pB"
+msgstr "Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %s Ñƒ %pB"
 
-#: elf32-ppc.c:2801
+#: elf32-ppc.c:2798
 #, c-format
-msgid "unable to read in %s section from %B"
-msgstr "Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %s Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ Ð· %B"
+msgid "unable to read in %s section from %pB"
+msgstr "Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %s Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ Ð· %pB"
 
-#: elf32-ppc.c:2843
+#: elf32-ppc.c:2840
 #, c-format
-msgid "warning: unable to set size of %s section in %B"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %B"
+msgid "warning: unable to set size of %s section in %pB"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %pB"
 
-#: elf32-ppc.c:2893
-msgid "failed to allocate space for new APUinfo section."
-msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfo."
+#: elf32-ppc.c:2890
+msgid "failed to allocate space for new APUinfo section"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfo"
 
-#: elf32-ppc.c:2912
-msgid "failed to compute new APUinfo section."
-msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±Ñ‡Ð¸Ñ�Ð»Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfo."
+#: elf32-ppc.c:2909
+msgid "failed to compute new APUinfo section"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±Ñ‡Ð¸Ñ�Ð»Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfo"
 
-#: elf32-ppc.c:2915
-msgid "failed to install new APUinfo section."
-msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfo."
+#: elf32-ppc.c:2912
+msgid "failed to install new APUinfo section"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð½Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» APUinfo"
 
-#: elf32-ppc.c:3975
+#: elf32-ppc.c:4014
 #, c-format
-msgid "%B: relocation %s cannot be used when making a shared object"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
+msgid "%pB: relocation %s cannot be used when making a shared object"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf32-ppc.c:4329 elf64-ppc.c:5591
+#: elf32-ppc.c:4744 elf32-ppc.c:4748
 #, c-format
-msgid "%H: %s reloc against local symbol\n"
-msgstr "%H: %s Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼\n"
+msgid "warning: %pB uses hard float, %pB uses soft float"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ», Ð° Ñƒ %pB â€” Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð°"
 
-#: elf32-ppc.c:4691 elf32-ppc.c:4695
+#: elf32-ppc.c:4752 elf32-ppc.c:4757
 #, c-format
-msgid "Warning: %B uses hard float, %B uses soft float"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ», Ð° Ñƒ %B â€” Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð°"
+msgid "warning: %pB uses double-precision hard float, %pB uses single-precision hard float"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ, Ð° Ñƒ %pB â€” Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ð»Ñ� Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ"
 
-#: elf32-ppc.c:4699 elf32-ppc.c:4704
+#: elf32-ppc.c:4772 elf32-ppc.c:4777
 #, c-format
-msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ, Ð° Ñƒ %B â€” Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ð»Ñ� Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ"
+msgid "warning: %pB uses 64-bit long double, %pB uses 128-bit long double"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ 64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ð´Ð¾Ð²Ð³Ñ– Ñ†Ñ–Ð»Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ, Ð° Ñƒ %pB â€” 128-Ð±Ñ–Ñ‚Ð¾Ð²Ñ–"
 
-#: elf32-ppc.c:4719 elf32-ppc.c:4724
+#: elf32-ppc.c:4782 elf32-ppc.c:4787
 #, c-format
-msgid "Warning: %B uses 64-bit long double, %B uses 128-bit long double"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ 64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ð´Ð¾Ð²Ð³Ñ– Ñ†Ñ–Ð»Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ, Ð° Ñƒ %B â€” 128-Ð±Ñ–Ñ‚Ð¾Ð²Ñ–"
+msgid "warning: %pB uses IBM long double, %pB uses IEEE long double"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð´Ð¾Ð²Ð³Ñ– Ñ†Ñ–Ð»Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ IBM, Ð° Ñƒ %pB â€” IEEE"
 
-#: elf32-ppc.c:4729 elf32-ppc.c:4734
+#: elf32-ppc.c:4838 elf32-ppc.c:4843
 #, c-format
-msgid "Warning: %B uses IBM long double, %B uses IEEE long double"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð´Ð¾Ð²Ð³Ñ– Ñ†Ñ–Ð»Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð· Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ IBM, Ð° Ñƒ %B â€” IEEE"
+msgid "warning: %pB uses AltiVec vector ABI, %pB uses SPE vector ABI"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¸Ð¹ ABI AltiVec, %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¸Ð¹ ABI SPE"
 
-#: elf32-ppc.c:4785 elf32-ppc.c:4790
+#: elf32-ppc.c:4866 elf32-ppc.c:4871
 #, c-format
-msgid "Warning: %B uses AltiVec vector ABI, %B uses SPE vector ABI"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¸Ð¹ ABI AltiVec, %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¸Ð¹ ABI SPE"
+msgid "warning: %pB uses r3/r4 for small structure returns, %pB uses memory"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %pB r3/r4 Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð´Ð»Ñ� Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ� Ð¼Ð°Ð»Ð¸Ñ… Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€, Ð° Ñƒ %pB Ð´Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð¿Ð°Ð¼â€™Ñ�Ñ‚ÑŒ"
 
-#: elf32-ppc.c:4813 elf32-ppc.c:4818
+#: elf32-ppc.c:4926
 #, c-format
-msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B r3/r4 Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð´Ð»Ñ� Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ� Ð¼Ð°Ð»Ð¸Ñ… Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€, Ð° Ñƒ %B Ð´Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð¿Ð°Ð¼â€™Ñ�Ñ‚ÑŒ"
-
-#: elf32-ppc.c:4873
-msgid "%B: compiled with -mrelocatable and linked with modules compiled normally"
-msgstr "%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· -mrelocatable Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–"
+msgid "%pB: compiled with -mrelocatable and linked with modules compiled normally"
+msgstr "%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð· -mrelocatable Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–"
 
-#: elf32-ppc.c:4881
-msgid "%B: compiled normally and linked with modules compiled with -mrelocatable"
-msgstr "%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ð· -mrelocatable"
-
-#: elf32-ppc.c:4909
+#: elf32-ppc.c:4934
 #, c-format
-msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)"
-msgstr "%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ� e_flags (%#x) Ð½Ñ–Ð¶ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (%#x)"
+msgid "%pB: compiled normally and linked with modules compiled with -mrelocatable"
+msgstr "%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñƒ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ Ð· -mrelocatable"
 
-#: elf32-ppc.c:4950
+#: elf32-ppc.c:5003
 #, c-format
-msgid "%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn"
-msgstr "%B(%A+0x%lx): Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð¸Ð»ÑŽ 16A Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— 0x%08x"
+msgid "%pB(%pA+0x%lx): expected 16A style relocation on 0x%08x insn"
+msgstr "%pB(%pA+0x%lx): Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð¸Ð»ÑŽ 16A Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— 0x%08x"
 
-#: elf32-ppc.c:4969
+#: elf32-ppc.c:5022
 #, c-format
-msgid "%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn"
-msgstr "%B(%A+0x%lx): Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð¸Ð»ÑŽ 16D Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— 0x%08x"
+msgid "%pB(%pA+0x%lx): expected 16D style relocation on 0x%08x insn"
+msgstr "%pB(%pA+0x%lx): Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚Ð¸Ð»ÑŽ 16D Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— 0x%08x"
 
-#: elf32-ppc.c:5043
-msgid "%P: bss-plt forced due to %B\n"
-msgstr "%P: Ð¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ bss-plt Ñ‡ÐµÑ€ÐµÐ· %B\n"
+#: elf32-ppc.c:5113
+#, c-format
+msgid "bss-plt forced due to %pB"
+msgstr "Ð¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ bss-plt Ñ‡ÐµÑ€ÐµÐ· %pB"
 
-#: elf32-ppc.c:5046
-msgid "%P: bss-plt forced by profiling\n"
-msgstr "%P: Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼ Ð¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ bss-plt\n"
+#: elf32-ppc.c:5115
+msgid "bss-plt forced by profiling"
+msgstr "Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼ Ð¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ bss-plt"
 
 #. Uh oh, we didn't find the expected call.  We
 #. could just mark this symbol to exclude it
 #. from tls optimization but it's safer to skip
 #. the entire optimization.
-#: elf32-ppc.c:5544 elf64-ppc.c:8798
+#: elf32-ppc.c:5691 elf64-ppc.c:8963
 #, c-format
 msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
 msgstr "%H: Ñƒ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” __tls_get_addr, Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–ÑŽ TLS Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð¾.\n"
 
-#: elf32-ppc.c:8249
+#: elf32-ppc.c:6662 elf32-sh.c:3078 elf32-tilepro.c:2339 elfxx-sparc.c:2536
+#: elfxx-tilegx.c:2579
+#, c-format
+msgid "%pB: dynamic relocation in read-only section `%pA'\n"
+msgstr "%pB: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ», Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�\n"
+
+#: elf32-ppc.c:8515
+msgid "%P: %H: error: %s with unexpected instruction %x\n"
+msgstr "%P: %H: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s Ñ–Ð· Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾ÑŽ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ %x\n"
+
+#: elf32-ppc.c:8552
 msgid "%H: fixup branch overflow\n"
 msgstr "%H: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ñ–Ð· Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾ÑŽ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¾ÑŽ\n"
 
-#: elf32-ppc.c:8289 elf32-ppc.c:8324
+#: elf32-ppc.c:8592 elf32-ppc.c:8628
 #, c-format
-msgid "%H: error: %s with unexpected instruction %x\n"
-msgstr "%H: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s Ñ–Ð· Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾ÑŽ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ %x\n"
+msgid "%pB(%pA+%#<PRIx64>): error: %s with unexpected instruction %#x"
+msgstr "%pB(%pA+%#<PRIx64>): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s Ñ–Ð· Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾ÑŽ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ %#x"
 
-#: elf32-ppc.c:8380
+#: elf32-ppc.c:8692
 #, c-format
 msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
 msgstr "%X%H: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° bss-plt -fPIC ifunc %s\n"
 
-#: elf32-ppc.c:8434
-#, c-format
-msgid "%P: %B: unknown relocation type %d for symbol %s\n"
-msgstr "%P: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s\n"
+#: elf32-ppc.c:8731 elf64-ppc.c:15738
+msgid "%H: warning: %s unexpected insn %#x.\n"
+msgstr "%H: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s, Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� %#x.\n"
 
-#: elf32-ppc.c:8723
+#: elf32-ppc.c:9043
 #, c-format
 msgid "%H: non-zero addend on %s reloc against `%s'\n"
 msgstr "%H: Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ñ‚Ð¾Ðº Ð´Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ»\n"
@@ -3203,469 +2894,401 @@ msgstr "%H: Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð
 #. local won't have the +32k reloc addend trick marking
 #. -fPIC code, so the linker won't know whether r30 is
 #. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section.
-#: elf32-ppc.c:8755
+#: elf32-ppc.c:9075
 #, c-format
 msgid "%X%H: @local call to ifunc %s\n"
 msgstr "%X%H: Ð²Ð¸ÐºÐ»Ð¸Ðº @local ifunc %s\n"
 
-#: elf32-ppc.c:8935
+#: elf32-ppc.c:9245
 #, c-format
 msgid "%H: relocation %s for indirect function %s unsupported\n"
 msgstr "%H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾\n"
 
-#: elf32-ppc.c:9232 elf32-ppc.c:9263 elf32-ppc.c:9354
+#: elf32-ppc.c:9573 elf32-ppc.c:9604 elf32-ppc.c:9695 elf32-ppc.c:9783
 #, c-format
-msgid "%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)\n"
-msgstr "%P: %B: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� (%s) Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� (%s)\n"
+msgid "%pB: the target (%s) of a %s relocation is in the wrong output section (%s)"
+msgstr "%pB: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� (%s) Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� (%s)"
 
-#: elf32-ppc.c:9442
-#, c-format
-msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
-msgstr "%B: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� (%s) Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� (%s)"
-
-#: elf32-ppc.c:9546
-#, c-format
-msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
-msgstr "%P: %B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s Ñ‰Ðµ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾\n"
+#: elf32-ppc.c:9913 elf32-ppc.c:9931
+msgid "%P: %H: %s relocation unsupported for bss-plt\n"
+msgstr "%P: %H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð»Ñ� bss-plt Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾\n"
 
-#: elf32-ppc.c:9631
+#: elf32-ppc.c:10012
 #, c-format
 msgid "%H: error: %s against `%s' not a multiple of %u\n"
 msgstr "%H: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s Ð´Ð»Ñ� Â«%sÂ» Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ %u\n"
 
-#: elf32-ppc.c:9660
+#: elf32-ppc.c:10041
 #, c-format
 msgid "%H: unresolvable %s relocation against symbol `%s'\n"
 msgstr "%H: Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»\n"
 
-#: elf32-ppc.c:9741
+#: elf32-ppc.c:10122
 #, c-format
 msgid "%H: %s reloc against `%s': error %d\n"
 msgstr "%H: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ»: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d\n"
 
-#: elf32-ppc.c:10505 elf64-ppc.c:15719
+#: elf32-ppc.c:11017 elf64-ppc.c:16230
 msgid "%X%P: text relocations and GNU indirect functions will result in a segfault at runtime\n"
 msgstr "%X%P: Ð¿Ð¾Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‚ÐµÐºÑ�Ñ‚Ñƒ Ñ– Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¸Ñ… Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ GNU Ð¿Ñ€Ð¸Ð·Ð²ÐµÐ´Ðµ Ð´Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ— Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð°Ð¿ÑƒÑ�ÐºÑƒ\n"
 
-#: elf32-ppc.c:10509 elf64-ppc.c:15723
+#: elf32-ppc.c:11021 elf64-ppc.c:16234
 msgid "%P: warning: text relocations and GNU indirect functions may result in a segfault at runtime\n"
 msgstr "%P: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‚ÐµÐºÑ�Ñ‚Ñƒ Ñ– Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¸Ñ… Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ GNU Ð¼Ð¾Ð¶Ðµ Ð¿Ñ€Ð¸Ð·Ð²ÐµÑ�Ñ‚Ð¸ Ð´Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ— Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð°Ð¿ÑƒÑ�ÐºÑƒ\n"
 
-#: elf32-ppc.c:10554
+#: elf32-ppc.c:11066
 #, c-format
-msgid "%P: %s not defined in linker created %s\n"
-msgstr "%P: %s Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÑƒ, Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾Ð¼Ñƒ %s\n"
+msgid "%s not defined in linker created %pA"
+msgstr "%s Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÑƒ, Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾Ð¼Ñƒ %pA"
 
-#: elf32-rl78.c:291
+#: elf32-pru.c:579 elf32-pru.c:1472
 #, c-format
-msgid "%B: invalid RL78 reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RL78: %d"
+msgid "error: %pB: old incompatible object file detected"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ð¸Ð¹ Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð¾Ð±'Ñ”ÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð»"
 
-#: elf32-rl78.c:369
-msgid "Internal Error: RL78 reloc stack overflow"
-msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ RL78"
+#: elf32-rl78.c:373
+msgid "internal error: RL78 reloc stack overflow"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ RL78"
 
-#: elf32-rl78.c:380
-msgid "Internal Error: RL78 reloc stack underflow"
-msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ RL78"
+#: elf32-rl78.c:384
+msgid "internal error: RL78 reloc stack underflow"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ RL78"
 
-#: elf32-rl78.c:1049
-msgid "Warning: RL78_SYM reloc with an unknown symbol"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RL78_SYM Ð· Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼"
+#: elf32-rl78.c:1054
+msgid "warning: RL78_SYM reloc with an unknown symbol"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RL78_SYM Ð· Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼"
 
-#: elf32-rl78.c:1080 elf32-rx.c:1434
+#: elf32-rl78.c:1085 elf32-rx.c:1457
 #, c-format
-msgid "%B(%A): error: call to undefined function '%s'"
-msgstr "%B(%A): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸ÐºÐ»Ð¸Ðº Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ»"
+msgid "%pB(%pA): error: call to undefined function '%s'"
+msgstr "%pB(%pA): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸ÐºÐ»Ð¸Ðº Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%sÂ»"
 
-#: elf32-rl78.c:1201
+#: elf32-rl78.c:1206
 #, c-format
-msgid "RL78 ABI conflict: G10 file %B cannot be linked with %s file %B"
-msgstr "ÐšÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ ABI RL78: Ñ„Ð°Ð¹Ð» G10 %B Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð· %s, Ñ„Ð°Ð¹Ð» %B"
+msgid "RL78 ABI conflict: G10 file %pB cannot be linked with %s file %pB"
+msgstr "ÐšÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ ABI RL78: Ñ„Ð°Ð¹Ð» G10 %pB Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð· %s, Ñ„Ð°Ð¹Ð» %pB"
 
-#: elf32-rl78.c:1218
+#: elf32-rl78.c:1223
 #, c-format
-msgid "RL78 ABI conflict: cannot link %s file %B with %s file %B"
-msgstr "ÐšÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ ABI RL78: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ %s, Ñ„Ð°Ð¹Ð» %B Ð· %s, Ñ„Ð°Ð¹Ð» %B"
+msgid "RL78 ABI conflict: cannot link %s file %pB with %s file %pB"
+msgstr "ÐšÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ ABI RL78: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ %s, Ñ„Ð°Ð¹Ð» %pB Ð· %s, Ñ„Ð°Ð¹Ð» %pB"
 
-#: elf32-rl78.c:1227
+#: elf32-rl78.c:1232
 msgid "RL78 merge conflict: cannot link 32-bit and 64-bit objects together"
 msgstr "ÐšÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� RL78: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ 32-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ñ– 64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ð¾Ð±â€™Ñ”ÐºÑ‚Ð¸"
 
-#: elf32-rl78.c:1231 elf32-rl78.c:1235
+#: elf32-rl78.c:1236 elf32-rl78.c:1240
 #, c-format
-msgid "- %B is 64-bit, %B is not"
-msgstr "- %B Ñ” 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼, Ð° %B â€” Ð½Ñ–"
+msgid "- %pB is 64-bit, %pB is not"
+msgstr "- %pB Ñ” 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼, Ð° %pB â€” Ð½Ñ–"
 
-#: elf32-rl78.c:1262
+#: elf32-rl78.c:1267
 #, c-format
 msgid " [64-bit doubles]"
 msgstr " [64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– double]"
 
-#: elf32-rx.c:313
-#, c-format
-msgid "%B: invalid RX reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RX: %d"
-
-#: elf32-rx.c:594
+#: elf32-rx.c:606
 #, c-format
-msgid "%B:%A: table entry %s outside table"
-msgstr "%B:%A: Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð¿Ð¾Ð·Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÐµÑŽ"
+msgid "%pB:%pA: table entry %s outside table"
+msgstr "%pB:%pA: Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð¿Ð¾Ð·Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÐµÑŽ"
 
-#: elf32-rx.c:601
+#: elf32-rx.c:613
 #, c-format
-msgid "%B:%A: table entry %s not word-aligned within table"
-msgstr "%B:%A: Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð° Ð²Ñ�ÐµÑ€ÐµÐ´Ð¸Ð½Ñ– Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ–"
+msgid "%pB:%pA: table entry %s not word-aligned within table"
+msgstr "%pB:%pA: Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð° Ð²Ñ�ÐµÑ€ÐµÐ´Ð¸Ð½Ñ– Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ–"
 
-#: elf32-rx.c:667
+#: elf32-rx.c:685
 #, c-format
-msgid "%B:%A: Warning: deprecated Red Hat reloc "
-msgstr "%B:%A: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ð¸Ð¹ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Red Hat "
+msgid "%pB:%pA: warning: deprecated Red Hat reloc %s detected against: %s"
+msgstr "%pB:%pA: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ð¸Ð¹ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Red Hat %s, Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð´Ð»Ñ� %s"
 
 #. Check for unsafe relocs in PID mode.  These are any relocs where
 #. an absolute address is being computed.  There are special cases
 #. for relocs against symbols that are known to be referenced in
 #. crt0.o before the PID base address register has been initialised.
-#: elf32-rx.c:686
+#: elf32-rx.c:705
 #, c-format
-msgid "%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"
-msgstr "%B(%A): Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PID %s Ð´Ð¾ 0x%08lx (Ñ‰Ð¾Ð´Ð¾ %s Ñƒ %s)"
+msgid "%pB(%pA): unsafe PID relocation %s at %#<PRIx64> (against %s in %s)"
+msgstr "%pB(%pA): Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� PID %s Ð´Ð¾ %#<PRIx64> (Ñ‰Ð¾Ð´Ð¾ %s Ñƒ %s)"
 
-#: elf32-rx.c:1266
-msgid "Warning: RX_SYM reloc with an unknown symbol"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RX_SYM Ð· Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼"
+#: elf32-rx.c:1289
+msgid "warning: RX_SYM reloc with an unknown symbol"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� RX_SYM Ð· Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼"
 
-#: elf32-rx.c:3145
-msgid "There is a conflict merging the ELF header flags from %B"
-msgstr "ÐŸÑ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF Ð· %B Ð²Ð¸Ð½Ð¸Ðº ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚"
+#: elf32-rx.c:3168
+#, c-format
+msgid "there is a conflict merging the ELF header flags from %pB"
+msgstr "Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF Ð· %pB Ð²Ð¸Ð½Ð¸Ðº ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚"
 
-#: elf32-rx.c:3148
+#: elf32-rx.c:3171
 #, c-format
 msgid "  the input  file's flags: %s"
 msgstr "  Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ñ„Ð°Ð¹Ð»Ð° Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…: %s"
 
-#: elf32-rx.c:3150
+#: elf32-rx.c:3173
 #, c-format
 msgid "  the output file's flags: %s"
 msgstr "  Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ñ„Ð°Ð¹Ð»Ð° Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñ–Ð²: %s"
 
-#: elf32-rx.c:3757
+#: elf32-rx.c:3780
 #, c-format
-msgid "%B:%A: table %s missing corresponding %s"
-msgstr "%B:%A: Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð½ÐµÐ¼Ð°Ñ” Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ %s"
+msgid "%pB:%pA: table %s missing corresponding %s"
+msgstr "%pB:%pA: Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s Ð½ÐµÐ¼Ð°Ñ” Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ %s"
 
-#: elf32-rx.c:3765
+#: elf32-rx.c:3788
 #, c-format
-msgid "%B:%A: %s and %s must be in the same input section"
-msgstr "%B:%A: %s Ñ– %s Ð¼Ð°ÑŽÑ‚ÑŒ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð¾Ð´Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…"
+msgid "%pB:%pA: %s and %s must be in the same input section"
+msgstr "%pB:%pA: %s Ñ– %s Ð¼Ð°ÑŽÑ‚ÑŒ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð¾Ð´Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…"
 
-#: elf32-s390.c:2310 elf64-s390.c:2257
+#: elf32-s390.c:2141 elf64-s390.c:2082
 #, c-format
-msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS %s"
+msgid "%pB(%pA+%#<PRIx64>): invalid instruction for TLS relocation %s"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS %s"
 
-#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3756
+#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3750
 msgid "not enough GOT space for local GOT entries"
 msgstr "Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ñ€Ð¾Ñ�Ñ‚Ð¾Ñ€Ñƒ GOT Ð´Ð»Ñ� Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² GOT"
 
-#: elf32-score.c:2744
-msgid "address not word align"
+#: elf32-score.c:2746
+msgid "address not word aligned"
 msgstr "Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð·Ð° Ð¼ÐµÐ¶ÐµÑŽ Ñ�Ð»Ð¾Ð²Ð°"
 
-#: elf32-score.c:2825 elf32-score7.c:2630
+#: elf32-score.c:2827 elf32-score7.c:2632
 #, c-format
-msgid "%B: Malformed reloc detected for section %A"
-msgstr "%B: Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ– Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ�"
+msgid "%pB: malformed reloc detected for section %pA"
+msgstr "%pB: Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ– Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ�"
 
-#: elf32-score.c:2883 elf32-score7.c:2688
+#: elf32-score.c:2881 elf32-score7.c:2686
 #, c-format
-msgid "%B: CALL15 reloc at 0x%lx not against global symbol"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CALL15 Ñƒ 0x%lx Ð½Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
+msgid "%pB: CALL15 reloc at %#<PRIx64> not against global symbol"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CALL15 Ñƒ %#<PRIx64> Ð½Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf32-score.c:4005 elf32-score7.c:3810
+#: elf32-score.c:4003 elf32-score7.c:3808
 #, c-format
 msgid " [pic]"
 msgstr " [pic]"
 
-#: elf32-score.c:4009 elf32-score7.c:3814
+#: elf32-score.c:4007 elf32-score7.c:3812
 #, c-format
 msgid " [fix dep]"
 msgstr " [Ñ„Ñ–ÐºÑ�. Ñ€Ð¾Ð·Ñ‚.]"
 
-#: elf32-score.c:4052 elf32-score7.c:3857
-msgid "%B: warning: linking PIC files with non-PIC files"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² PIC Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÑ– Ð½Ðµ Ñ” Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ PIC"
-
-#: elf32-sh-symbian.c:130
-#, c-format
-msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS"
-msgstr "%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° IMPORT AS Ð´Ð»Ñ� %s Ð¿Ñ€Ð¸Ñ…Ð¾Ð²ÑƒÑ” Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŽ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñƒ IMPORT AS"
-
-#: elf32-sh-symbian.c:384
-#, c-format
-msgid "%B: Unrecognised .directive command: %s"
-msgstr "%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° .directive: %s"
-
-#: elf32-sh-symbian.c:502
+#: elf32-score.c:4050 elf32-score7.c:3855
 #, c-format
-msgid "%B: Failed to add renamed symbol %s"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´Ð¾Ð´Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s"
+msgid "%pB: warning: linking PIC files with non-PIC files"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² PIC Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, Ñ�ÐºÑ– Ð½Ðµ Ñ” Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ PIC"
 
-#: elf32-sh.c:491
+#: elf32-sh.c:533
 #, c-format
-msgid "%B: unrecognised SH reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� SH: %d"
+msgid "%pB: %#<PRIx64>: warning: R_SH_USES points to unrecognized insn 0x%x"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_SH_USES Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ 0x%x"
 
-#: elf32-sh.c:3953 elf64-sh64.c:1508
-msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
-msgstr "Ð�ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ STO_SH5_ISA32 Ð½Ð°Ð´ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¾"
+#: elf32-sh.c:3629
+msgid "unexpected STO_SH5_ISA32 on local symbol is not handled"
+msgstr "Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ STO_SH5_ISA32 Ð½Ð°Ð´ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¾"
 
-#: elf32-sh.c:4206
+#: elf32-sh.c:3876
 #, c-format
-msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"
-msgstr "%B: 0x%lx: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ðµ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ðµ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¾ÑŽ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ"
+msgid "%pB: %#<PRIx64>: fatal: unaligned branch target for relax-support relocation"
+msgstr "%pB: %#<PRIx64>: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ðµ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ðµ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¾ÑŽ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ"
 
-#: elf32-sh.c:4240 elf32-sh.c:4256
+#: elf32-sh.c:3906 elf32-sh.c:3922
 #, c-format
-msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"
-msgstr "%B: 0x%lx: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s, 0x%lx"
+msgid "%pB: %#<PRIx64>: fatal: unaligned %s relocation %#<PRIx64>"
+msgstr "%pB: %#<PRIx64>: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s, %#<PRIx64>"
 
-#: elf32-sh.c:4271
+#: elf32-sh.c:3938
 #, c-format
-msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
-msgstr "%B: 0x%lx: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_SH_PSHA %d Ð½Ðµ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– -32..32"
+msgid "%pB: %#<PRIx64>: fatal: R_SH_PSHA relocation %<PRId64> not in range -32..32"
+msgstr "%pB: %#<PRIx64>: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_SH_PSHA %<PRId64> Ð½Ðµ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– -32..32"
 
-#: elf32-sh.c:4286
+#: elf32-sh.c:3954
 #, c-format
-msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
-msgstr "%B: 0x%lx: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_SH_PSHL %d Ð½Ðµ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– -32..32"
+msgid "%pB: %#<PRIx64>: fatal: R_SH_PSHL relocation %<PRId64> not in range -32..32"
+msgstr "%pB: %#<PRIx64>: ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_SH_PSHL %<PRId64> Ð½Ðµ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– -32..32"
 
-#: elf32-sh.c:4431 elf32-sh.c:4903
+#: elf32-sh.c:4084 elf32-sh.c:4479
 #, c-format
-msgid "%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"
-msgstr "%B(%A+0x%lx): Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ñƒ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ð´Ð¾ Â«%sÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�"
+msgid "%pB(%pA+%#<PRIx64>): cannot emit fixup to `%s' in read-only section"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð°Ð´Ñ€ÐµÑ�Ð½Ñƒ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ð´Ð¾ Â«%sÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf32-sh.c:5005
+#: elf32-sh.c:4582
 #, c-format
-msgid "%B(%A+0x%lx): %s relocation against external symbol \"%s\""
-msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð·Ð° Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ»"
+msgid "%pB(%pA+%#<PRIx64>): %s relocation against external symbol \"%s\""
+msgstr "%pB(%pA+%#<PRIx64>): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð·Ð° Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Â«%sÂ»"
 
-#: elf32-sh.c:5469
+#: elf32-sh.c:5047
 #, c-format
 msgid "%X%C: relocation to \"%s\" references a different segment\n"
 msgstr "%X%C: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Â«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ–Ð½ÑˆÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚\n"
 
-#: elf32-sh.c:5476
+#: elf32-sh.c:5054
 #, c-format
 msgid "%C: warning: relocation to \"%s\" references a different segment\n"
 msgstr "%C: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Â«%sÂ» Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ–Ð½ÑˆÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚\n"
 
-#: elf32-sh.c:6045 elf32-sh.c:6131
+#: elf32-sh.c:5559 elf32-sh.c:5641
 #, c-format
-msgid "%B: `%s' accessed both as normal and FDPIC symbol"
-msgstr "%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ FDPIC"
+msgid "%pB: `%s' accessed both as normal and FDPIC symbol"
+msgstr "%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ FDPIC"
 
-#: elf32-sh.c:6051 elf32-sh.c:6136
+#: elf32-sh.c:5565 elf32-sh.c:5646
 #, c-format
-msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
-msgstr "%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ FDPIC, Ñ‚Ð°Ðº Ñ– Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
+msgid "%pB: `%s' accessed both as FDPIC and thread local symbol"
+msgstr "%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ FDPIC, Ñ‚Ð°Ðº Ñ– Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf32-sh.c:6082
-msgid "%B: Function descriptor relocation with non-zero addend"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼"
+#: elf32-sh.c:5596
+#, c-format
+msgid "%pB: Function descriptor relocation with non-zero addend"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€Ð° Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ð· Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ð´Ð¾Ð´Ð°Ð½ÐºÐ¾Ð¼"
 
-#: elf32-sh.c:6320 elf64-alpha.c:4757
+#: elf32-sh.c:5803 elf64-alpha.c:4691
 #, c-format
-msgid "%B: TLS local exec code cannot be linked into shared objects"
-msgstr "%B: Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹ ÐºÐ¾Ð´ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ TLS Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
+msgid "%pB: TLS local exec code cannot be linked into shared objects"
+msgstr "%pB: Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹ ÐºÐ¾Ð´ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ TLS Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf32-sh.c:6435
+#: elf32-sh.c:5918
 #, c-format
-msgid "%B: uses %s instructions while previous modules use %s instructions"
-msgstr "%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s"
+msgid "%pB: uses %s instructions while previous modules use %s instructions"
+msgstr "%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s, Ñ…Ð¾Ñ‡Ð° Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s"
 
-#: elf32-sh.c:6447
+#: elf32-sh.c:5930
 #, c-format
 msgid "internal error: merge of architecture '%s' with architecture '%s' produced unknown architecture"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ� Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Â«%sÂ» Ð· Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¾ÑŽ Â«%sÂ» Ð¿Ñ€Ð¸Ð·Ð²ÐµÐ»Ð¾ Ð´Ð¾ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾Ñ— Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸"
 
-#: elf32-sh.c:6484
-msgid "%B: uses instructions which are incompatible with instructions used in previous modules"
-msgstr "%B: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—, Ñ�ÐºÑ– Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ñ–Ð· Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�Ð¼Ð¸, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¸Ð¼Ð¸ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ…"
-
-#: elf32-sh.c:6497
-msgid "%B: attempt to mix FDPIC and non-FDPIC objects"
-msgstr "%B: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ�ÑƒÐ¼Ñ–Ñˆ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–Ð² FDPIC Ñ– Ð½Ðµ-FDPIC"
-
-#: elf32-sh64.c:225 elf64-sh64.c:2277
-#, c-format
-msgid "%B: compiled as 32-bit object and %B is 64-bit"
-msgstr "%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñ�Ðº 32- Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚, Ð° %B Ñ” 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼"
-
-#: elf32-sh64.c:229 elf64-sh64.c:2281
+#: elf32-sh.c:5967
 #, c-format
-msgid "%B: compiled as 64-bit object and %B is 32-bit"
-msgstr "%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ñ�Ðº 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚, Ð° %B Ñ” 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼"
-
-#: elf32-sh64.c:232 elf64-sh64.c:2284
-#, c-format
-msgid "%B: object size does not match that of target %B"
-msgstr "%B: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¾Ð¼ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %B"
-
-#: elf32-sh64.c:455 elf64-sh64.c:2776
-msgid "%B: encountered datalabel symbol in input"
-msgstr "%B: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ñ–Ñ‚ÐºÐ¸ Ð´Ð°Ð½Ð¸Ñ… Ñƒ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…"
-
-#: elf32-sh64.c:531
-msgid "PTB mismatch: a SHmedia address (bit 0 == 1)"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ PTB: Ð°Ð´Ñ€ÐµÑ�Ð° SHmedia (Ð±Ñ–Ñ‚ 0 == 1)"
+msgid "%pB: uses instructions which are incompatible with instructions used in previous modules"
+msgstr "%pB: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—, Ñ�ÐºÑ– Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ñ–Ð· Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�Ð¼Ð¸, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¸Ð¼Ð¸ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ…"
 
-#: elf32-sh64.c:534
-msgid "PTA mismatch: a SHcompact address (bit 0 == 0)"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ PTA: Ð°Ð´Ñ€ÐµÑ�Ð° SHcompact (Ð±Ñ–Ñ‚ 0 == 0)"
-
-#: elf32-sh64.c:550
-msgid "%B: GAS error: unexpected PTB insn with R_SH_PT_16"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° GAS: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� PTB Ð· R_SH_PT_16"
-
-#: elf32-sh64.c:600
+#: elf32-sh.c:5980
 #, c-format
-msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ñƒ %08x, Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %p\n"
-
-#: elf32-sh64.c:676
-msgid "%B: could not write out added .cranges entries"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� Ð´Ð¾Ð´Ð°Ð½Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² .cranges"
-
-#: elf32-sh64.c:735
-msgid "%B: could not write out sorted .cranges entries"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² .cranges"
+msgid "%pB: attempt to mix FDPIC and non-FDPIC objects"
+msgstr "%pB: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ�ÑƒÐ¼Ñ–Ñˆ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–Ð² FDPIC Ñ– Ð½Ðµ-FDPIC"
 
 #: elf32-sparc.c:89
-msgid "%B: compiled for a 64 bit system and target is 32 bit"
-msgstr "%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ñ— Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸, Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¾ÑŽ Ð¶ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ” 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð°"
+#, c-format
+msgid "%pB: compiled for a 64 bit system and target is 32 bit"
+msgstr "%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ñ— Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸, Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¾ÑŽ Ð¶ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ” 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð°"
 
 #: elf32-sparc.c:102
-msgid "%B: linking little endian files with big endian files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð· Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
-
-#: elf32-spu.c:160
 #, c-format
-msgid "%B: unrecognised SPU reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� SPU: %d"
+msgid "%pB: linking little endian files with big endian files"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð· Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
 
-#: elf32-spu.c:726
-msgid "%X%P: overlay section %A does not start on a cache line.\n"
-msgstr "%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %A Ð½Ðµ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ€Ñ�Ð´ÐºÐ° ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�.\n"
+#: elf32-spu.c:727
+msgid "%X%P: overlay section %pA does not start on a cache line\n"
+msgstr "%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %pA Ð½Ðµ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ€Ñ�Ð´ÐºÐ° ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�\n"
 
-#: elf32-spu.c:734
-msgid "%X%P: overlay section %A is larger than a cache line.\n"
-msgstr "%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %A Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð·Ð° Ñ€Ñ�Ð´Ð¾Ðº ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�.\n"
+#: elf32-spu.c:735
+msgid "%X%P: overlay section %pA is larger than a cache line\n"
+msgstr "%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %pA Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð·Ð° Ñ€Ñ�Ð´Ð¾Ðº ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�\n"
 
-#: elf32-spu.c:754
-msgid "%X%P: overlay section %A is not in cache area.\n"
-msgstr "%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %A Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�.\n"
+#: elf32-spu.c:755
+msgid "%X%P: overlay section %pA is not in cache area\n"
+msgstr "%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸ %pA Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ�\n"
 
-#: elf32-spu.c:795
+#: elf32-spu.c:796
 #, c-format
-msgid "%X%P: overlay sections %A and %A do not start at the same address.\n"
-msgstr "%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸, Ñ‰Ð¾ Ð½Ð°ÐºÐ»Ð°Ð´Ð°ÑŽÑ‚ÑŒÑ�Ñ�, %A Ñ– %A, Ð½Ðµ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ð¾Ð´Ð½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ.\n"
+msgid "%X%P: overlay sections %pA and %pA do not start at the same address\n"
+msgstr "%X%P: Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸, Ñ‰Ð¾ Ð½Ð°ÐºÐ»Ð°Ð´Ð°ÑŽÑ‚ÑŒÑ�Ñ�, %pA Ñ– %pA, Ð½Ðµ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ð¾Ð´Ð½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ\n"
 
-#: elf32-spu.c:1021
+#: elf32-spu.c:1022
 #, c-format
-msgid "warning: call to non-function symbol %s defined in %B"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ»Ð¸Ðº Ð½ÐµÑ„ÑƒÐ½ÐºÑ†Ñ–Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, %s, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñƒ %B"
+msgid "warning: call to non-function symbol %s defined in %pB"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸ÐºÐ»Ð¸Ðº Ð½ÐµÑ„ÑƒÐ½ÐºÑ†Ñ–Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, %s, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñƒ %pB"
 
-#: elf32-spu.c:1371
+#: elf32-spu.c:1372
 #, c-format
-msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
-msgstr "%A:0x%v .brinfo lrlive (%u) Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�Ñ”Ñ‚ÑŒÑ�Ñ� Ð²Ñ–Ð´ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ ÑˆÐ»Ñ�Ñ…Ð¾Ð¼ Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ (%u)\n"
+msgid "%pA:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
+msgstr "%pA:0x%v .brinfo lrlive (%u) Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�Ñ”Ñ‚ÑŒÑ�Ñ� Ð²Ñ–Ð´ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ ÑˆÐ»Ñ�Ñ…Ð¾Ð¼ Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ (%u)\n"
 
-#: elf32-spu.c:1903
+#: elf32-spu.c:1904
 #, c-format
-msgid "%B is not allowed to define %s"
-msgstr "%B Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ‚Ð¸ %s"
+msgid "%pB is not allowed to define %s"
+msgstr "%pB Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ‚Ð¸ %s"
 
-#: elf32-spu.c:1911
+#: elf32-spu.c:1912
 #, c-format
 msgid "you are not allowed to define %s in a script"
 msgstr "Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ‚Ð¸ %s Ñƒ Ñ�ÐºÑ€Ð¸Ð¿Ñ‚Ñ–"
 
-#: elf32-spu.c:1945
+#: elf32-spu.c:1946
 #, c-format
 msgid "%s in overlay section"
 msgstr "%s Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸"
 
-#: elf32-spu.c:1974
+#: elf32-spu.c:1975
 msgid "overlay stub relocation overflow"
 msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸"
 
-#: elf32-spu.c:1983
+#: elf32-spu.c:1984 elf64-ppc.c:13819
 msgid "stubs don't match calculated size"
 msgstr "ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸ Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°ÑŽÑ‚ÑŒ Ð¾Ð±Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ"
 
-#: elf32-spu.c:2566
+#: elf32-spu.c:2567
 #, c-format
 msgid "warning: %s overlaps %s\n"
 msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°Ñ” %s\n"
 
-#: elf32-spu.c:2582
+#: elf32-spu.c:2583
 #, c-format
 msgid "warning: %s exceeds section size\n"
 msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ\n"
 
-#: elf32-spu.c:2614
+#: elf32-spu.c:2615
 #, c-format
-msgid "%A:0x%v not found in function table\n"
-msgstr "%A:0x%v Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹\n"
+msgid "%pA:0x%v not found in function table\n"
+msgstr "%pA:0x%v Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹\n"
 
-#: elf32-spu.c:2755
+#: elf32-spu.c:2756
 #, c-format
-msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n"
-msgstr "%B(%A+0x%v): Ð²Ð¸ÐºÐ»Ð¸Ðº Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ ÐºÐ¾Ð´, %B(%A), Ð°Ð½Ð°Ð»Ñ–Ð· Ñ” Ð½ÐµÐ¿Ð¾Ð²Ð½Ð¸Ð¼\n"
+msgid "%pB(%pA+0x%v): call to non-code section %pB(%pA), analysis incomplete\n"
+msgstr "%pB(%pA+0x%v): Ð²Ð¸ÐºÐ»Ð¸Ðº Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ ÐºÐ¾Ð´, %pB(%pA), Ð°Ð½Ð°Ð»Ñ–Ð· Ñ” Ð½ÐµÐ¿Ð¾Ð²Ð½Ð¸Ð¼\n"
 
-#: elf32-spu.c:3324
+#: elf32-spu.c:3325
 #, c-format
-msgid "Stack analysis will ignore the call from %s to %s\n"
-msgstr "ÐŸÑ–Ð´ Ñ‡Ð°Ñ� Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ Ñ�Ñ‚ÐµÐºÐ° Ð±ÑƒÐ´Ðµ Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð²Ð¸ÐºÐ»Ð¸Ðº Ð· %s Ð´Ð¾ %s\n"
+msgid "stack analysis will ignore the call from %s to %s\n"
+msgstr "Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ Ñ�Ñ‚ÐµÐºÐ° Ð±ÑƒÐ´Ðµ Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð²Ð¸ÐºÐ»Ð¸Ðº Ð· %s Ð´Ð¾ %s\n"
 
-#: elf32-spu.c:4021
+#: elf32-spu.c:4022
 msgid "  calls:\n"
 msgstr "  Ð²Ð¸ÐºÐ»Ð¸ÐºÐ¸:\n"
 
-#: elf32-spu.c:4335
+#: elf32-spu.c:4336
 #, c-format
 msgid "%s duplicated in %s\n"
 msgstr "%s Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÑŽÑ”Ñ‚ÑŒÑ�Ñ� Ñƒ %s\n"
 
-#: elf32-spu.c:4339
+#: elf32-spu.c:4340
 #, c-format
 msgid "%s duplicated\n"
 msgstr "%s Ð´ÑƒÐ±Ð»ÑŒÐ¾Ð²Ð°Ð½Ð¾\n"
 
-#: elf32-spu.c:4346
+#: elf32-spu.c:4347
 msgid "sorry, no support for duplicate object files in auto-overlay script\n"
 msgstr "Ð²Ð¸Ð±Ð°Ñ‡Ñ‚Ðµ, Ñƒ Ñ�ÐºÑ€Ð¸Ð¿Ñ‚Ñ– Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ Ð½Ð°ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ� Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð².\n"
 
-#: elf32-spu.c:4388
+#: elf32-spu.c:4389
 #, c-format
 msgid "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store\n"
 msgstr "Ñ�ÑƒÐ¼Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ 0x%v Ð±ÐµÐ· Ð¾Ð²ÐµÑ€Ð»ÐµÑŽ Ñ‚Ð° Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð¾Ð²ÐµÑ€Ð»ÐµÑŽ 0x%v Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑŽÑ‚ÑŒ Ð¼Ñ–Ñ�Ñ‚ÐºÑ–Ñ�Ñ‚ÑŒ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ñ…Ð¾Ð²Ð¸Ñ‰Ð° Ð´Ð°Ð½Ð¸Ñ…\n"
 
-#: elf32-spu.c:4544
+#: elf32-spu.c:4545
 #, c-format
-msgid "%B:%A%s exceeds overlay size\n"
-msgstr "%B:%A%s Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸\n"
+msgid "%pB:%pA%s exceeds overlay size\n"
+msgstr "%pB:%pA%s Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð½Ð°ÐºÐ»Ð°Ð´ÐºÐ¸\n"
 
-#: elf32-spu.c:4685
+#: elf32-spu.c:4686
 msgid "%F%P: auto overlay error: %E\n"
 msgstr "%F%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð°Ð²Ñ‚Ð¾Ð½Ð°ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ�: %E\n"
 
-#: elf32-spu.c:4706
+#: elf32-spu.c:4707
 msgid "Stack size for call graph root nodes.\n"
 msgstr "Ð Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚ÐµÐºÐ° Ð´Ð»Ñ� ÐºÐ¾Ñ€ÐµÐ½ÐµÐ²Ð¸Ñ… Ð²ÑƒÐ·Ð»Ñ–Ð² Ð³Ñ€Ð°Ñ„Ñƒ Ð²Ð¸ÐºÐ»Ð¸ÐºÑ–Ð².\n"
 
-#: elf32-spu.c:4707
+#: elf32-spu.c:4708
 msgid ""
 "\n"
 "Stack size for functions.  Annotations: '*' max stack, 't' tail call\n"
@@ -3673,816 +3296,780 @@ msgstr ""
 "\n"
 "Ð Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚ÐµÐºÐ° Ð´Ð»Ñ� Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹. ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: Â«*Â» Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ� Ñƒ Ñ�Ñ‚ÐµÐºÑƒ, Â«tÂ» Ñ…Ð²Ð¾Ñ�Ñ‚Ð¾Ð²Ð¸Ð¹ Ð²Ð¸ÐºÐ»Ð¸Ðº\n"
 
-#: elf32-spu.c:4717
+#: elf32-spu.c:4718
 msgid "Maximum stack required is 0x%v\n"
 msgstr "ÐœÐ°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ñ‚ÐµÐºÐ° â€” 0x%v\n"
 
-#: elf32-spu.c:4736
+#: elf32-spu.c:4737
 msgid "%X%P: stack/lrlive analysis error: %E\n"
 msgstr "%X%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ Ñ�Ñ‚ÐµÐºÐ°/lrlive: %E\n"
 
-#: elf32-spu.c:4739
+#: elf32-spu.c:4740
 msgid "%F%P: can not build overlay stubs: %E\n"
 msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ð½Ð°ÐºÐ»Ð°Ð´Ð½Ñ– ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸: %E\n"
 
-#: elf32-spu.c:4808
+#: elf32-spu.c:4809
 msgid "fatal error while creating .fixup"
 msgstr "ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� .fixup"
 
-#: elf32-spu.c:5043
+#: elf32-spu.c:5044
 #, c-format
-msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%s+0x%lx): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
+msgid "%pB(%s+%#<PRIx64>): unresolvable %s relocation against symbol `%s'"
+msgstr "%pB(%s+%#<PRIx64>): Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
 
-#: elf32-tic6x.c:1596
+#: elf32-tic6x.c:1628
 msgid "warning: generating a shared library containing non-PIC code"
 msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑ”Ñ‚ÑŒÑ�Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�, Ñ�ÐºÐ° Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ ÐºÐ¾Ð´, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· PIC"
 
-#: elf32-tic6x.c:1601
+#: elf32-tic6x.c:1633
 msgid "warning: generating a shared library containing non-PID code"
 msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑ”Ñ‚ÑŒÑ�Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�, Ñ�ÐºÐ° Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ ÐºÐ¾Ð´, Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¹ Ð· PID"
 
-#: elf32-tic6x.c:2525
-msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ SB, Ð°Ð»Ðµ __c6xabi_DSBT_BASE Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
-
-#: elf32-tic6x.c:3651
+#: elf32-tic6x.c:2493
 #, c-format
-msgid "%B: error: unknown mandatory EABI object attribute %d"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI, %d"
+msgid "%pB: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ SB, Ð°Ð»Ðµ __c6xabi_DSBT_BASE Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: elf32-tic6x.c:3660
+#: elf32-tic6x.c:3629
 #, c-format
-msgid "%B: warning: unknown EABI object attribute %d"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI, %d"
+msgid "%pB: error: unknown mandatory EABI object attribute %d"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI, %d"
 
-#: elf32-tic6x.c:3774 elf32-tic6x.c:3783
+#: elf32-tic6x.c:3638
 #, c-format
-msgid "error: %B requires more stack alignment than %B preserves"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð±Ñ–Ð»ÑŒÑˆÐ¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ°, Ð½Ñ–Ð¶ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾ Ñƒ %B"
+msgid "%pB: warning: unknown EABI object attribute %d"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° EABI, %d"
 
-#: elf32-tic6x.c:3793 elf32-tic6x.c:3802
-msgid "error: unknown Tag_ABI_array_object_alignment value in %B"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Tag_ABI_array_object_alignment Ñƒ %B"
+#: elf32-tic6x.c:3752 elf32-tic6x.c:3761
+#, c-format
+msgid "error: %pB requires more stack alignment than %pB preserves"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð±Ñ–Ð»ÑŒÑˆÐ¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ°, Ð½Ñ–Ð¶ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾ Ñƒ %pB"
 
-#: elf32-tic6x.c:3811 elf32-tic6x.c:3820
-msgid "error: unknown Tag_ABI_array_object_align_expected value in %B"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Tag_ABI_array_object_align_expected Ñƒ %B"
+#: elf32-tic6x.c:3771 elf32-tic6x.c:3780
+#, c-format
+msgid "error: unknown Tag_ABI_array_object_alignment value in %pB"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Tag_ABI_array_object_alignment Ñƒ %pB"
 
-#: elf32-tic6x.c:3829 elf32-tic6x.c:3837
+#: elf32-tic6x.c:3789 elf32-tic6x.c:3798
 #, c-format
-msgid "error: %B requires more array alignment than %B preserves"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð±Ñ–Ð»ÑŒÑˆÐ¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ð¼Ð°Ñ�Ð¸Ð²Ñƒ, Ð½Ñ–Ð¶ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾ Ñƒ %B"
+msgid "error: unknown Tag_ABI_array_object_align_expected value in %pB"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Tag_ABI_array_object_align_expected Ñƒ %pB"
 
-#: elf32-tic6x.c:3860
+#: elf32-tic6x.c:3807 elf32-tic6x.c:3815
 #, c-format
-msgid "warning: %B and %B differ in wchar_t size"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ñ– %B Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¾Ð¼ wchar_t"
+msgid "error: %pB requires more array alignment than %pB preserves"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð±Ñ–Ð»ÑŒÑˆÐ¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ð¼Ð°Ñ�Ð¸Ð²Ñƒ, Ð½Ñ–Ð¶ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾ Ñƒ %pB"
 
-#: elf32-tic6x.c:3879
+#: elf32-tic6x.c:3838
 #, c-format
-msgid "warning: %B and %B differ in whether code is compiled for DSBT"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ñ– %B Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ñ‚Ð¸Ð¼, Ñ‡Ð¸ Ð±ÑƒÐ»Ð¾ Ñ—Ñ… Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� DSBT"
+msgid "warning: %pB and %pB differ in wchar_t size"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ñ– %pB Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¾Ð¼ wchar_t"
 
-#: elf32-v850.c:157
+#: elf32-tic6x.c:3857
 #, c-format
-msgid "Variable `%s' cannot occupy in multiple small data regions"
-msgstr "Ð—Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð¹Ð¼Ð°Ñ‚Ð¸ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¼Ð°Ð»Ð¸Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð¸Ñ…"
+msgid "warning: %pB and %pB differ in whether code is compiled for DSBT"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ñ– %pB Ð²Ñ–Ð´Ñ€Ñ–Ð·Ð½Ñ�ÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° Ñ‚Ð¸Ð¼, Ñ‡Ð¸ Ð±ÑƒÐ»Ð¾ Ñ—Ñ… Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� DSBT"
 
-#: elf32-v850.c:160
+#: elf32-tilepro.c:3761 elfxx-tilegx.c:4145 elfxx-x86.c:1424
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:9463
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:2543
 #, c-format
-msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions"
-msgstr "Ð—Ð¼Ñ–Ð½Ð½Ñƒ Â«%sÂ» Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ñƒ Ð¾Ð´Ð½Ñ–Ð¹ Ð· Ð¼Ð°Ð»Ð¸Ñ…, Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ñ… Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÐ¸Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð¸Ñ…"
+msgid "discarded output section: `%pA'"
+msgstr "Ð²Ñ–Ð´ÐºÐ¸Ð½ÑƒÑ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…: Â«%pAÂ»"
 
-#: elf32-v850.c:163
+#: elf32-v850.c:153
 #, c-format
-msgid "Variable `%s' cannot be in both small and zero data regions simultaneously"
-msgstr "Ð—Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ñ– Ð½ÑƒÐ»ÑŒÐ¾Ð²Ñ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾"
+msgid "variable `%s' cannot occupy in multiple small data regions"
+msgstr "Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð¹Ð¼Ð°Ñ‚Ð¸ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¼Ð°Ð»Ð¸Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð¸Ñ…"
 
-#: elf32-v850.c:166
+#: elf32-v850.c:156
 #, c-format
-msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously"
-msgstr "Ð—Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÑ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾"
+msgid "variable `%s' can only be in one of the small, zero, and tiny data regions"
+msgstr "Ð·Ð¼Ñ–Ð½Ð½Ñƒ Â«%sÂ» Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ñƒ Ð¾Ð´Ð½Ñ–Ð¹ Ð· Ð¼Ð°Ð»Ð¸Ñ…, Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ñ… Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÐ¸Ñ… Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÐµÐ¹ Ð´Ð°Ð½Ð¸Ñ…"
 
-#: elf32-v850.c:169
+#: elf32-v850.c:159
 #, c-format
-msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
-msgstr "Ð—Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ñ–Ð¹ Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÑ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾"
+msgid "variable `%s' cannot be in both small and zero data regions simultaneously"
+msgstr "Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ñ– Ð½ÑƒÐ»ÑŒÐ¾Ð²Ñ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾"
 
-#: elf32-v850.c:467
-msgid "FAILED to find previous HI16 reloc"
-msgstr "Ð�Ð• Ð’Ð”Ð�Ð›ÐžÐ¡Ð¯ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� HI16"
+#: elf32-v850.c:162
+#, c-format
+msgid "variable `%s' cannot be in both small and tiny data regions simultaneously"
+msgstr "Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð¼Ð°Ð»Ñ–Ð¹ Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÑ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾"
 
-#: elf32-v850.c:1902 elf32-v850.c:1921
+#: elf32-v850.c:165
 #, c-format
-msgid "%B: invalid V850 reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� V850: %d"
+msgid "variable `%s' cannot be in both zero and tiny data regions simultaneously"
+msgstr "Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ‚Ð¸Ñ�Ñ� Ñƒ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ñ–Ð¹ Ñ– Ð¼Ð°Ð»ÑŽÑ�Ñ–Ð½ÑŒÐºÑ–Ð¹ Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð´Ð°Ð½Ð¸Ñ… Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ�Ð½Ð¾"
 
-#: elf32-v850.c:2299
+#: elf32-v850.c:463
+msgid "failed to find previous HI16 reloc"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� HI16"
+
+#: elf32-v850.c:2303
 msgid "could not locate special linker symbol __gp"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° __gp"
 
-#: elf32-v850.c:2303
+#: elf32-v850.c:2307
 msgid "could not locate special linker symbol __ep"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° __ep"
 
-#: elf32-v850.c:2307
+#: elf32-v850.c:2311
 msgid "could not locate special linker symbol __ctbp"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° __ctbp"
 
-#: elf32-v850.c:2528
+#: elf32-v850.c:2532
 #, c-format
-msgid "error: %B needs 8-byte aligment but %B is set for 4-byte alignment"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�, Ð°Ð»Ðµ %B Ð½Ð°Ð»Ð°ÑˆÑ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½Ð° 4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�"
+msgid "error: %pB needs 8-byte alignment but %pB is set for 4-byte alignment"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�, Ð°Ð»Ðµ %pB Ð½Ð°Ð»Ð°ÑˆÑ‚Ð¾Ð²Ð°Ð½Ð¾ Ð½Ð° 4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf32-v850.c:2544
+#: elf32-v850.c:2548
 #, c-format
-msgid "error: %B uses 64-bit doubles but %B uses 32-bit doubles"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ 64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ð´Ñ–Ð¹Ñ�Ð½Ñ– Ñ‡Ð¸Ñ�Ð»Ð° Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾Ñ— Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ñ–, Ð° Ñƒ %B â€” 32-Ð±Ñ–Ñ‚Ð¾Ð²Ñ–"
+msgid "error: %pB uses 64-bit doubles but %pB uses 32-bit doubles"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ 64-Ð±Ñ–Ñ‚Ð¾Ð²Ñ– Ð´Ñ–Ð¹Ñ�Ð½Ñ– Ñ‡Ð¸Ñ�Ð»Ð° Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾Ñ— Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ñ–, Ð° Ñƒ %pB â€” 32-Ð±Ñ–Ñ‚Ð¾Ð²Ñ–"
 
-#: elf32-v850.c:2559
+#: elf32-v850.c:2563
 #, c-format
-msgid "error: %B uses FPU-3.0 but %B only supports FPU-2.0"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ FPU-3.0, Ð°Ð»Ðµ Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð»Ð¸ÑˆÐµ FPU-2.0"
+msgid "error: %pB uses FPU-3.0 but %pB only supports FPU-2.0"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ FPU-3.0, Ð°Ð»Ðµ Ñƒ %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð»Ð¸ÑˆÐµ FPU-2.0"
 
-#: elf32-v850.c:2591
+#: elf32-v850.c:2595
 #, c-format
 msgid " alignment of 8-byte entities: "
 msgstr " Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð²: "
 
-#: elf32-v850.c:2594
+#: elf32-v850.c:2598
 #, c-format
 msgid "4-byte"
 msgstr "4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹"
 
-#: elf32-v850.c:2595
+#: elf32-v850.c:2599
 #, c-format
 msgid "8-byte"
 msgstr "8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹"
 
-#: elf32-v850.c:2596 elf32-v850.c:2608
+#: elf32-v850.c:2600 elf32-v850.c:2612
 #, c-format
 msgid "not set"
 msgstr "Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾"
 
-#: elf32-v850.c:2597 elf32-v850.c:2609 elf32-v850.c:2621 elf32-v850.c:2632
-#: elf32-v850.c:2643 elf32-v850.c:2654
+#: elf32-v850.c:2601 elf32-v850.c:2613 elf32-v850.c:2625 elf32-v850.c:2636
+#: elf32-v850.c:2647 elf32-v850.c:2658
 #, c-format
 msgid "unknown: %x"
 msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾: %x"
 
-#: elf32-v850.c:2603
+#: elf32-v850.c:2607
 #, c-format
 msgid " size of doubles: "
 msgstr " Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ double: "
 
-#: elf32-v850.c:2606
+#: elf32-v850.c:2610
 #, c-format
 msgid "4-bytes"
 msgstr "4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ–"
 
-#: elf32-v850.c:2607
+#: elf32-v850.c:2611
 #, c-format
 msgid "8-bytes"
 msgstr "8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñ–"
 
-#: elf32-v850.c:2615
+#: elf32-v850.c:2619
 #, c-format
 msgid " FPU support required: "
 msgstr " ÐŸÐ¾Ñ‚Ñ€Ñ–Ð±Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° FPU: "
 
-#: elf32-v850.c:2618
+#: elf32-v850.c:2622
 #, c-format
 msgid "FPU-2.0"
 msgstr "FPU-2.0"
 
-#: elf32-v850.c:2619
+#: elf32-v850.c:2623
 #, c-format
 msgid "FPU-3.0"
 msgstr "FPU-3.0"
 
-#: elf32-v850.c:2620
+#: elf32-v850.c:2624
 #, c-format
 msgid "none"
 msgstr "Ð½ÐµÐ¼Ð°Ñ”"
 
-#: elf32-v850.c:2627
+#: elf32-v850.c:2631
 #, c-format
 msgid "SIMD use: "
 msgstr "Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� SIMD: "
 
-#: elf32-v850.c:2630 elf32-v850.c:2641 elf32-v850.c:2652
+#: elf32-v850.c:2634 elf32-v850.c:2645 elf32-v850.c:2656
 #, c-format
 msgid "yes"
 msgstr "Ñ‚Ð°Ðº"
 
-#: elf32-v850.c:2631 elf32-v850.c:2642 elf32-v850.c:2653
+#: elf32-v850.c:2635 elf32-v850.c:2646 elf32-v850.c:2657
 #, c-format
 msgid "no"
 msgstr "Ð½Ñ–"
 
-#: elf32-v850.c:2638
+#: elf32-v850.c:2642
 #, c-format
 msgid "CACHE use: "
 msgstr "Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� CACHE: "
 
-#: elf32-v850.c:2649
+#: elf32-v850.c:2653
 #, c-format
 msgid "MMU use: "
 msgstr "Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� MMU: "
 
-#: elf32-v850.c:2816 elf32-v850.c:2872
-msgid "%B: Architecture mismatch with previous modules"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸"
+#: elf32-v850.c:2820 elf32-v850.c:2876
+#, c-format
+msgid "%pB: architecture mismatch with previous modules"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€ Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸"
 
 #. xgettext:c-format.
-#: elf32-v850.c:2890
+#: elf32-v850.c:2894
 #, c-format
 msgid "private flags = %lx: "
 msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– = %lx: "
 
-#: elf32-v850.c:2895
+#: elf32-v850.c:2899
 #, c-format
 msgid "unknown v850 architecture"
 msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850"
 
-#: elf32-v850.c:2897
+#: elf32-v850.c:2901
 #, c-format
 msgid "v850 E3 architecture"
 msgstr "Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850 E3"
 
-#: elf32-v850.c:2899 elf32-v850.c:2906
+#: elf32-v850.c:2903 elf32-v850.c:2910
 #, c-format
 msgid "v850 architecture"
 msgstr "Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850"
 
-#: elf32-v850.c:2907
+#: elf32-v850.c:2911
 #, c-format
 msgid "v850e architecture"
 msgstr "Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e"
 
-#: elf32-v850.c:2908
+#: elf32-v850.c:2912
 #, c-format
 msgid "v850e1 architecture"
 msgstr "Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e1"
 
-#: elf32-v850.c:2909
+#: elf32-v850.c:2913
 #, c-format
 msgid "v850e2 architecture"
 msgstr "Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2"
 
-#: elf32-v850.c:2910
+#: elf32-v850.c:2914
 #, c-format
 msgid "v850e2v3 architecture"
 msgstr "Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e2v3"
 
-#: elf32-v850.c:2911
+#: elf32-v850.c:2915
 #, c-format
 msgid "v850e3v5 architecture"
 msgstr "Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° v850e3v5"
 
-#: elf32-v850.c:3605
-#, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insns"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGCALL Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—"
-
-#: elf32-v850.c:3615
-#, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insn 0x%x"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGCALL Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ 0x%x"
-
-#: elf32-v850.c:3660
-#, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGCALL Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
-
-#: elf32-v850.c:3700
+#: elf32-v850.c:3609 elf32-v850.c:3848
 #, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc 0x%lx"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGCALL Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� 0x%lx"
+msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized insns"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—"
 
-#: elf32-v850.c:3843
+#: elf32-v850.c:3619 elf32-v850.c:3858
 #, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insns"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGJUMP Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—"
+msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized insn %#x"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ %#x"
 
-#: elf32-v850.c:3853
+#: elf32-v850.c:3665 elf32-v850.c:3893
 #, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insn 0x%x"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGJUMP Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ 0x%x"
+msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized reloc"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf32-v850.c:3887
+#: elf32-v850.c:3705
 #, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized reloc"
-msgstr "%B: 0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: R_V850_LONGJUMP Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
+msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized reloc %#<PRIx64>"
+msgstr "%pB: %#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s Ð²ÐºÐ°Ð·ÑƒÑ” Ð½Ð° Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð¾ %#<PRIx64>"
 
-#: elf32-vax.c:290
-#, c-format
-msgid "%B: unrecognised VAX reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� VAX: %d"
-
-#: elf32-vax.c:539
+#: elf32-vax.c:540
 #, c-format
 msgid " [nonpic]"
 msgstr " [Ð½Ðµ-pic]"
 
-#: elf32-vax.c:542
+#: elf32-vax.c:543
 #, c-format
 msgid " [d-float]"
 msgstr " [d-float]"
 
-#: elf32-vax.c:545
+#: elf32-vax.c:546
 #, c-format
 msgid " [g-float]"
 msgstr " [g-float]"
 
-#: elf32-vax.c:635
-#, c-format
-msgid "%B: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº GOT %ld Ð´Ð¾ Â«%sÂ» Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð¼Ñƒ Ð´Ð¾Ð´Ð°Ð½ÐºÑƒ GOT %ld"
-
-#: elf32-vax.c:1511
+#: elf32-vax.c:632
 #, c-format
-msgid "%B: warning: PLT addend of %d to `%s' from %A section ignored"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº PLT %d Ð´Ð¾ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾"
+msgid "%pB: warning: GOT addend of %<PRId64> to `%s' does not match previous GOT addend of %<PRId64>"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº GOT %<PRId64> Ð´Ð¾ Â«%sÂ» Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð¼Ñƒ Ð´Ð¾Ð´Ð°Ð½ÐºÑƒ GOT %<PRId64>"
 
-#: elf32-vax.c:1636
+#: elf32-vax.c:1446
 #, c-format
-msgid "%B: warning: %s relocation against symbol `%s' from %A section"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A"
+msgid "%pB: warning: PLT addend of %<PRId64> to `%s' from %pA section ignored"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº PLT %<PRId64> Ð´Ð¾ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾"
 
-#: elf32-vax.c:1643
+#: elf32-vax.c:1572
 #, c-format
-msgid "%B: warning: %s relocation to 0x%x from %A section"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð¾ 0x%x Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A"
+msgid "%pB: warning: %s relocation against symbol `%s' from %pA section"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA"
 
-#: elf32-visium.c:481
+#: elf32-vax.c:1579
 #, c-format
-msgid "%B: invalid Visium reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Visium: %d"
+msgid "%pB: warning: %s relocation to %#<PRIx64> from %pA section"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð´Ð¾ %#<PRIx64> Ð· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA"
 
-#: elf32-visium.c:817
+#: elf32-visium.c:821
 #, c-format
-msgid "%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s"
-msgstr "%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ %s -mtune=%s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ %s -mtune=%s"
+msgid "%pB: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s"
+msgstr "%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ %s -mtune=%s Ñ– Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾ Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸, Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ð¼Ð¸ %s -mtune=%s"
 
-#: elf32-xgate.c:428
-#, c-format
-msgid "%B: invalid XGate reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� XGate: %d"
-
-#: elf32-xgate.c:681
+#: elf32-xgate.c:684
 #, c-format
 msgid "cpu=XGATE]"
 msgstr "Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€=XGATE]"
 
-#: elf32-xgate.c:683
+#: elf32-xgate.c:686
 #, c-format
 msgid "error reading cpu type from elf private data"
 msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ñ‚Ð¸Ð¿Ñƒ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð° Ð· Ð¿Ñ€Ð¸Ð²Ð°Ñ‚Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… elf"
 
-#: elf32-xstormy16.c:453 elf64-ia64-vms.c:2074 elf32-ia64.c:2334
-#: elf64-ia64.c:2334
+#: elf32-xstormy16.c:457 elf64-ia64-vms.c:2085 elf32-ia64.c:2354
+#: elf64-ia64.c:2354
 msgid "non-zero addend in @fptr reloc"
 msgstr "Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– @fptr"
 
-#: elf32-xtensa.c:485
-#, c-format
-msgid "%B: invalid XTENSA reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� XTENSA: %d"
-
-#: elf32-xtensa.c:926
+#: elf32-xtensa.c:937
 #, c-format
-msgid "%B(%A): invalid property table"
-msgstr "%B(%A): Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð²Ð»Ð°Ñ�Ñ‚Ð¸Ð²Ð¾Ñ�Ñ‚ÐµÐ¹"
+msgid "%pB(%pA): invalid property table"
+msgstr "%pB(%pA): Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð²Ð»Ð°Ñ�Ñ‚Ð¸Ð²Ð¾Ñ�Ñ‚ÐµÐ¹"
 
-#: elf32-xtensa.c:2790
+#: elf32-xtensa.c:2666
 #, c-format
-msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)"
-msgstr "%B(%A+0x%lx): Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€=0x%x)"
+msgid "%pB(%pA+%#<PRIx64>): relocation offset out of range (size=%#<PRIx64>)"
+msgstr "%pB(%pA+%#<PRIx64>): Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€=%#<PRIx64>)"
 
-#: elf32-xtensa.c:2871 elf32-xtensa.c:2990
+#: elf32-xtensa.c:2749 elf32-xtensa.c:2868
 msgid "dynamic relocation in read-only section"
 msgstr "Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf32-xtensa.c:2967
+#: elf32-xtensa.c:2845
 msgid "TLS relocation invalid without dynamic sections"
 msgstr "ÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� TLS Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼ Ð±ÐµÐ· Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð²"
 
-#: elf32-xtensa.c:3178
+#: elf32-xtensa.c:3057
 msgid "internal inconsistency in size of .got.loc section"
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð½ÐµÐ¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð°Ñ… Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .got.loc"
 
-#: elf32-xtensa.c:3485
+#: elf32-xtensa.c:3364
 #, c-format
-msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x"
-msgstr "%B: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ñ‚Ð¸Ð¿Ð¸ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€. Ð’Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� â€” 0x%x. Ð’Ñ…Ñ–Ð´Ð½Ñ– Ð´Ð°Ð½Ñ– â€” 0x%x"
+msgid "%pB: incompatible machine type; output is 0x%x; input is 0x%x"
+msgstr "%pB: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ñ‚Ð¸Ð¿Ð¸ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€. Ð’Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� â€” 0x%x. Ð’Ñ…Ñ–Ð´Ð½Ñ– Ð´Ð°Ð½Ñ– â€” 0x%x"
 
-#: elf32-xtensa.c:4716 elf32-xtensa.c:4724
-msgid "Attempt to convert L32R/CALLX to CALL failed"
-msgstr "Ð¡Ð¿Ñ€Ð¾Ð±Ð° Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� L32R/CALLX Ð½Ð° CALL Ð·Ð°Ð·Ð½Ð°Ð»Ð° Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–"
+#: elf32-xtensa.c:4595 elf32-xtensa.c:4603
+msgid "attempt to convert L32R/CALLX to CALL failed"
+msgstr "Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� L32R/CALLX Ð½Ð° CALL Ð·Ð°Ð·Ð½Ð°Ð»Ð° Ð½ÐµÐ²Ð´Ð°Ñ‡Ñ–"
 
-#: elf32-xtensa.c:6552 elf32-xtensa.c:6629 elf32-xtensa.c:8002
+#: elf32-xtensa.c:6431 elf32-xtensa.c:6510 elf32-xtensa.c:7886
 #, c-format
-msgid "%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"
-msgstr "%B(%A+0x%lx): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð° Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹"
+msgid "%pB(%pA+%#<PRIx64>): could not decode instruction; possible configuration mismatch"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð° Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹"
 
-#: elf32-xtensa.c:7743
+#: elf32-xtensa.c:7625
 #, c-format
-msgid "%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
-msgstr "%B(%A+0x%lx): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� XTENSA_ASM_SIMPLIFY, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð° Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹"
+msgid "%pB(%pA+%#<PRIx64>): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� XTENSA_ASM_SIMPLIFY, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð° Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹"
 
-#: elf32-xtensa.c:9585
+#: elf32-xtensa.c:9480
 msgid "invalid relocation address"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf32-xtensa.c:9635
+#: elf32-xtensa.c:9530
 msgid "overflow after relaxation"
 msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿Ñ–Ñ�Ð»Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ"
 
-#: elf32-xtensa.c:10779
+#: elf32-xtensa.c:10674
 #, c-format
-msgid "%B(%A+0x%lx): unexpected fix for %s relocation"
-msgstr "%B(%A+0x%lx): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s"
+msgid "%pB(%pA+%#<PRIx64>): unexpected fix for %s relocation"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s"
 
 #: elf64-alpha.c:472
 msgid "GPDISP relocation did not find ldah and lda instructions"
 msgstr "ÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼ GPDISP Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— ldah Ñ– lda"
 
-#: elf64-alpha.c:1112
+#: elf64-alpha.c:2463
 #, c-format
-msgid "%B: unrecognised Alpha reloc number: %d"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Alpha: %d"
+msgid "%pB: .got subsegment exceeds 64K (size %d)"
+msgstr "%pB: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿Ñ–Ð´Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° .got Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” 64ÐºÐ‘ (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ â€” %d)"
 
-#: elf64-alpha.c:2529
+#: elf64-alpha.c:3018 elf64-alpha.c:3214
 #, c-format
-msgid "%B: .got subsegment exceeds 64K (size %d)"
-msgstr "%B: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿Ñ–Ð´Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° .got Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” 64ÐºÐ‘ (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ â€” %d)"
+msgid "%pB: %pA+%#<PRIx64>: warning: %s relocation against unexpected insn"
+msgstr "%pB: %pA+%#<PRIx64>: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾Ñ— Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—"
 
-#: elf64-alpha.c:3084
+#: elf64-alpha.c:4415 elf64-alpha.c:4428
 #, c-format
-msgid "%B: %A+0x%lx: warning: %s relocation against unexpected insn"
-msgstr "%B: %A+0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾Ñ— Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—"
+msgid "%pB: gp-relative relocation against dynamic symbol %s"
+msgstr "%pB: gp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
 
-#: elf64-alpha.c:3280
+#: elf64-alpha.c:4455 elf64-alpha.c:4599
 #, c-format
-msgid "%B: %A+0x%lx: warning: LITERAL relocation against unexpected insn"
-msgstr "%B: %A+0x%lx: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� LITERAL Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¾Ñ— Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—"
+msgid "%pB: pc-relative relocation against dynamic symbol %s"
+msgstr "%pB: pc-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
 
-#: elf64-alpha.c:4481 elf64-alpha.c:4494
+#: elf64-alpha.c:4484
 #, c-format
-msgid "%B: gp-relative relocation against dynamic symbol %s"
-msgstr "%B: gp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
+msgid "%pB: change in gp: BRSGP %s"
+msgstr "%pB: Ð·Ð¼Ñ–Ð½Ð° Ñƒ gp: BRSGP %s"
 
-#: elf64-alpha.c:4521 elf64-alpha.c:4665
-#, c-format
-msgid "%B: pc-relative relocation against dynamic symbol %s"
-msgstr "%B: pc-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
-
-#: elf64-alpha.c:4550
-#, c-format
-msgid "%B: change in gp: BRSGP %s"
-msgstr "%B: Ð·Ð¼Ñ–Ð½Ð° Ñƒ gp: BRSGP %s"
-
-#: elf64-alpha.c:4575
+#: elf64-alpha.c:4509 mach-o.c:615
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:476
 msgid "<unknown>"
 msgstr "<Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð°>"
 
-#: elf64-alpha.c:4581
+#: elf64-alpha.c:4515
 #, c-format
-msgid "%B: !samegp reloc against symbol without .prologue: %s"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� !samegp Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð±ÐµÐ· .prologue: %s"
+msgid "%pB: !samegp reloc against symbol without .prologue: %s"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� !samegp Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð±ÐµÐ· .prologue: %s"
 
-#: elf64-alpha.c:4639
+#: elf64-alpha.c:4573
 #, c-format
-msgid "%B: unhandled dynamic relocation against %s"
-msgstr "%B: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ %s"
+msgid "%pB: unhandled dynamic relocation against %s"
+msgstr "%pB: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ %s"
+
+#: elf64-alpha.c:4608
+#, c-format
+msgid "%pB: pc-relative relocation against undefined weak symbol %s"
+msgstr "%pB: pc-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñ�Ð»Ð°Ð±ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
 
 #: elf64-alpha.c:4674
 #, c-format
-msgid "%B: pc-relative relocation against undefined weak symbol %s"
-msgstr "%B: pc-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñ�Ð»Ð°Ð±ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
+msgid "%pB: dtp-relative relocation against dynamic symbol %s"
+msgstr "%pB: dtp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
 
-#: elf64-alpha.c:4740
+#: elf64-alpha.c:4699
 #, c-format
-msgid "%B: dtp-relative relocation against dynamic symbol %s"
-msgstr "%B: dtp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
+msgid "%pB: tp-relative relocation against dynamic symbol %s"
+msgstr "%pB: tp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
 
-#: elf64-alpha.c:4765
+#: elf64-gen.c:71
 #, c-format
-msgid "%B: tp-relative relocation against dynamic symbol %s"
-msgstr "%B: tp-Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
+msgid "%pB: Relocations in generic ELF (EM: %d)"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð¼Ñƒ ELF (EM: %d)"
 
-#: elf64-hppa.c:2082
+#: elf64-hppa.c:2081
 #, c-format
-msgid "stub entry for %s cannot load .plt, dp offset = %ld"
-msgstr "ÑˆÐ°Ð±Ð»Ð¾Ð½ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ð´Ð»Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‚Ð¸ .plt, Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ dp = %ld"
+msgid "stub entry for %s cannot load .plt, dp offset = %<PRId64>"
+msgstr "ÑˆÐ°Ð±Ð»Ð¾Ð½ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ð´Ð»Ñ� %s Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‚Ð¸ .plt, Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ dp = %<PRId64>"
 
-#: elf64-hppa.c:3287
+#: elf64-hppa.c:3286
 #, c-format
-msgid "%B(%A+0x%"
-msgstr "%B(%A+0x%"
+msgid "%pB(%pA+%#<PRIx64>): cannot reach %s"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð´Ð¾Ñ�Ñ�Ð³Ñ‚Ð¸ %s"
 
-#: elf64-ia64-vms.c:587 elf32-ia64.c:620 elf64-ia64.c:620
+#: elf64-ia64-vms.c:598 elf32-ia64.c:637 elf64-ia64.c:637
 #, c-format
-msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ». Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� brl Ð°Ð±Ð¾ Ð½ÐµÐ¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ�Ð¼."
+msgid "%pB: can't relax br at %#<PRIx64> in section `%pA'; please use brl or indirect branch"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %#<PRIx64> Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ». Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� brl Ð°Ð±Ð¾ Ð½ÐµÐ¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ�Ð¼."
 
-#: elf64-ia64-vms.c:2029 elf32-ia64.c:2282 elf64-ia64.c:2282
+#: elf64-ia64-vms.c:2040 elf32-ia64.c:2302 elf64-ia64.c:2302
 msgid "@pltoff reloc against local symbol"
 msgstr "Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� @pltoff Ñ‰Ð¾Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf64-ia64-vms.c:3282 elf32-ia64.c:3688 elf64-ia64.c:3688
+#: elf64-ia64-vms.c:3292 elf32-ia64.c:3713 elf64-ia64.c:3713
 #, c-format
-msgid "%B: short data segment overflowed (0x%lx >= 0x400000)"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð¾ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð´Ð°Ð½Ð¸Ñ… (0x%lx >= 0x400000)"
+msgid "%pB: short data segment overflowed (%#<PRIx64> >= 0x400000)"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð¾ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ð¹ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚ Ð´Ð°Ð½Ð¸Ñ… (%#<PRIx64> >= 0x400000)"
 
-#: elf64-ia64-vms.c:3292 elf32-ia64.c:3698 elf64-ia64.c:3698
-msgid "%B: __gp does not cover short data segment"
-msgstr "%B: __gp Ð½Ðµ Ð²ÐºÑ€Ð¸Ð²Ð°Ñ” ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° Ð´Ð°Ð½Ð¸Ñ…"
+#: elf64-ia64-vms.c:3302 elf32-ia64.c:3723 elf64-ia64.c:3723
+#, c-format
+msgid "%pB: __gp does not cover short data segment"
+msgstr "%pB: __gp Ð½Ðµ Ð²ÐºÑ€Ð¸Ð²Ð°Ñ” ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ð³Ð¾ Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° Ð´Ð°Ð½Ð¸Ñ…"
 
-#: elf64-ia64-vms.c:3558 elf32-ia64.c:3965 elf64-ia64.c:3965
+#: elf64-ia64-vms.c:3572 elf32-ia64.c:3997 elf64-ia64.c:3997
 #, c-format
-msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
-msgstr "%B: Ð½Ðµ-pic ÐºÐ¾Ð´ Ð· Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼ imm Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
+msgid "%pB: non-pic code with imm relocation against dynamic symbol `%s'"
+msgstr "%pB: Ð½Ðµ-pic ÐºÐ¾Ð´ Ð· Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼ imm Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
 
-#: elf64-ia64-vms.c:3622 elf32-ia64.c:4033 elf64-ia64.c:4033
+#: elf64-ia64-vms.c:3636 elf32-ia64.c:4065 elf64-ia64.c:4065
 #, c-format
-msgid "%B: @gprel relocation against dynamic symbol %s"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� @gprel Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
+msgid "%pB: @gprel relocation against dynamic symbol %s"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� @gprel Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
 
-#: elf64-ia64-vms.c:3681 elf32-ia64.c:4096 elf64-ia64.c:4096
-msgid "%B: linking non-pic code in a position independent executable"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-pic ÐºÐ¾Ð´Ñƒ Ñƒ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð· Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¼ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼"
+#: elf64-ia64-vms.c:3695 elf32-ia64.c:4128 elf64-ia64.c:4128
+#, c-format
+msgid "%pB: linking non-pic code in a position independent executable"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-pic ÐºÐ¾Ð´Ñƒ Ñƒ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð· Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¼ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼"
 
-#: elf64-ia64-vms.c:3783 elf32-ia64.c:4234 elf64-ia64.c:4234
+#: elf64-ia64-vms.c:3797 elf32-ia64.c:4266 elf64-ia64.c:4266
 #, c-format
-msgid "%B: @internal branch to dynamic symbol %s"
-msgstr "%B: Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� @internal Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
+msgid "%pB: @internal branch to dynamic symbol %s"
+msgstr "%pB: Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� @internal Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
 
-#: elf64-ia64-vms.c:3786 elf32-ia64.c:4237 elf64-ia64.c:4237
+#: elf64-ia64-vms.c:3800 elf32-ia64.c:4269 elf64-ia64.c:4269
 #, c-format
-msgid "%B: speculation fixup to dynamic symbol %s"
-msgstr "%B: Ð·Ð´Ð¾Ð³Ð°Ð´ÐºÐ° Ñ‰Ð¾Ð´Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾Ñ— Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
+msgid "%pB: speculation fixup to dynamic symbol %s"
+msgstr "%pB: Ð·Ð´Ð¾Ð³Ð°Ð´ÐºÐ° Ñ‰Ð¾Ð´Ð¾ Ð°Ð´Ñ€ÐµÑ�Ð½Ð¾Ñ— Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
 
-#: elf64-ia64-vms.c:3789 elf32-ia64.c:4240 elf64-ia64.c:4240
+#: elf64-ia64-vms.c:3803 elf32-ia64.c:4272 elf64-ia64.c:4272
 #, c-format
-msgid "%B: @pcrel relocation against dynamic symbol %s"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� @pcrel Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
+msgid "%pB: @pcrel relocation against dynamic symbol %s"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� @pcrel Ñ‰Ð¾Ð´Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
 
-#: elf64-ia64-vms.c:3913 elf32-ia64.c:4437 elf64-ia64.c:4437
+#: elf64-ia64-vms.c:3927 elf32-ia64.c:4469 elf64-ia64.c:4469
 msgid "unsupported reloc"
 msgstr "Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elf64-ia64-vms.c:3950 elf32-ia64.c:4475 elf64-ia64.c:4475
+#: elf64-ia64-vms.c:3964 elf32-ia64.c:4507 elf64-ia64.c:4507
 #, c-format
-msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
-msgstr "%B: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ TLS Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ»."
+msgid "%pB: missing TLS section for relocation %s against `%s' at %#<PRIx64> in section `%pA'."
+msgstr "%pB: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ TLS Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %#<PRIx64> Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ»."
 
-#: elf64-ia64-vms.c:3967 elf32-ia64.c:4492 elf64-ia64.c:4492
+#: elf64-ia64-vms.c:3981 elf32-ia64.c:4524 elf64-ia64.c:4524
 #, c-format
-msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br (%s) Ð´Ð¾ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» Ð· Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¾Ð¼ 0x%lx (> 0x1000000)."
+msgid "%pB: Can't relax br (%s) to `%s' at %#<PRIx64> in section `%pA' with size %#<PRIx64> (> 0x1000000)."
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br (%s) Ð´Ð¾ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %#<PRIx64> Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ» Ð· Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¾Ð¼ %#<PRIx64> (> 0x1000000)."
 
-#: elf64-ia64-vms.c:4258 elf32-ia64.c:4749 elf64-ia64.c:4749
-msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� trap-on-NULL-dereference Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð·Ð°Ñ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ� (trapping)"
+#: elf64-ia64-vms.c:4273 elf32-ia64.c:4782 elf64-ia64.c:4782
+#, c-format
+msgid "%pB: linking trap-on-NULL-dereference with non-trapping files"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� trap-on-NULL-dereference Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð·Ð°Ñ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ� (trapping)"
 
-#: elf64-ia64-vms.c:4267 elf32-ia64.c:4758 elf64-ia64.c:4758
-msgid "%B: linking big-endian files with little-endian files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+#: elf64-ia64-vms.c:4282 elf32-ia64.c:4791 elf64-ia64.c:4791
+#, c-format
+msgid "%pB: linking big-endian files with little-endian files"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
 
-#: elf64-ia64-vms.c:4276 elf32-ia64.c:4767 elf64-ia64.c:4767
-msgid "%B: linking 64-bit files with 32-bit files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð· 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
+#: elf64-ia64-vms.c:4291 elf32-ia64.c:4800 elf64-ia64.c:4800
+#, c-format
+msgid "%pB: linking 64-bit files with 32-bit files"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð· 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼Ð¸ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
 
-#: elf64-ia64-vms.c:4285 elf32-ia64.c:4776 elf64-ia64.c:4776
-msgid "%B: linking constant-gp files with non-constant-gp files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ñ�Ñ‚Ð°Ð»Ð¸Ð¼ gp Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð·Ñ– Ð·Ð¼Ñ–Ð½Ð½Ð¸Ð¼ gp"
+#: elf64-ia64-vms.c:4300 elf32-ia64.c:4809 elf64-ia64.c:4809
+#, c-format
+msgid "%pB: linking constant-gp files with non-constant-gp files"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð·Ñ– Ñ�Ñ‚Ð°Ð»Ð¸Ð¼ gp Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð·Ñ– Ð·Ð¼Ñ–Ð½Ð½Ð¸Ð¼ gp"
 
-#: elf64-ia64-vms.c:4295 elf32-ia64.c:4786 elf64-ia64.c:4786
-msgid "%B: linking auto-pic files with non-auto-pic files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð· Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¸Ð¼ pic Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ pic"
+#: elf64-ia64-vms.c:4310 elf32-ia64.c:4819 elf64-ia64.c:4819
+#, c-format
+msgid "%pB: linking auto-pic files with non-auto-pic files"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² Ð· Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¸Ð¼ pic Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ pic"
 
-#: elf64-ia64-vms.c:5138 elflink.c:4730
+#: elf64-ia64-vms.c:5153 elflink.c:4875
 #, c-format
-msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %u Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ %B Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� (%u) Ð¹Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A"
+msgid "warning: alignment %u of common symbol `%s' in %pB is greater than the alignment (%u) of its section %pA"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %u Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ %pB Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� (%u) Ð¹Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA"
 
-#: elf64-ia64-vms.c:5145 elflink.c:4737
+#: elf64-ia64-vms.c:5160 elflink.c:4882
 #, c-format
-msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %u Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ %B Ñ” Ð¼ÐµÐ½ÑˆÐ¸Ð¼ Ð·Ð° %u Ñƒ %B"
+msgid "warning: alignment %u of symbol `%s' in %pB is smaller than %u in %pB"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %u Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ %pB Ñ” Ð¼ÐµÐ½ÑˆÐ¸Ð¼ Ð·Ð° %u Ñƒ %pB"
 
-#: elf64-ia64-vms.c:5161
+#: elf64-ia64-vms.c:5176 elflink.c:4899
 #, c-format
-msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð· %lu Ñƒ %B Ð½Ð° %lu Ñƒ %B"
+msgid "warning: size of symbol `%s' changed from %<PRIu64> in %pB to %<PRIu64> in %pB"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð· %<PRIu64> Ñƒ %pB Ð½Ð° %<PRIu64> Ñƒ %pB"
 
-#: elf64-mips.c:3615 elfn32-mips.c:3439
+#: elf64-mips.c:3763
 #, c-format
-msgid "unrecognised MIPS reloc number: %d"
-msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MIPS: %d"
+msgid "%pB(%pA): relocation %<PRIu64> has invalid symbol index %ld"
+msgstr "%pB(%pA): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %<PRIu64> Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, %ld"
 
 #: elf64-mmix.c:984
-msgid ""
-"invalid input relocation when producing non-ELF, non-mmo format output.\n"
-" Please use the objcopy program to convert from ELF or mmo,\n"
-" or assemble using \"-no-expand\" (for gcc, \"-Wa,-no-expand\""
-msgstr ""
-"Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ñ…Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ\n"
-" Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– ELF Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– mmo.\n"
-" Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ objcopy Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ�\n"
-" Ð´Ð°Ð½Ð¸Ñ… Ð· ELF Ð°Ð±Ð¾ mmo Ð°Ð±Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ Â«-no-expandÂ»\n"
-" (Ð´Ð»Ñ� gcc Â«-Wa,-no-expandÂ»)"
+msgid "invalid input relocation when producing non-ELF, non-mmo format output; please use the objcopy program to convert from ELF or mmo, or assemble using \"-no-expand\" (for gcc, \"-Wa,-no-expand\""
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ñ…Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– ELF Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– mmo. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ objcopy Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð· ELF Ð°Ð±Ð¾ mmo Ð°Ð±Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ Â«-no-expandÂ» (Ð´Ð»Ñ� gcc Â«-Wa,-no-expandÂ»)"
 
 #: elf64-mmix.c:1168
-msgid ""
-"invalid input relocation when producing non-ELF, non-mmo format output.\n"
-" Please use the objcopy program to convert from ELF or mmo,\n"
-" or compile using the gcc-option \"-mno-base-addresses\"."
-msgstr ""
-"Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ñ…Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ\n"
-" Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– ELF Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– mmo.\n"
-" Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ objcopy Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ�\n"
-" Ð´Ð°Ð½Ð¸Ñ… Ð· ELF Ð°Ð±Ð¾ mmo Ð°Ð±Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° gcc\n"
-" Â«-mno-base-addressesÂ»."
+msgid "invalid input relocation when producing non-ELF, non-mmo format output; please use the objcopy program to convert from ELF or mmo, or compile using the gcc-option \"-mno-base-addresses\"."
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ñ…Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– ELF Ñ– Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð½Ðµ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– mmo. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ objcopy Ð´Ð»Ñ� Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… Ð· ELF Ð°Ð±Ð¾ mmo Ð°Ð±Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�Ð¼ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° gcc Â«-mno-base-addressesÂ»."
 
 #: elf64-mmix.c:1195
 #, c-format
 msgid ""
-"%B: Internal inconsistency error for value for\n"
-" linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx\n"
+"%pB: Internal inconsistency error for value for\n"
+" linker-allocated global register: linked: %#<PRIx64> != relaxed: %#<PRIx64>"
 msgstr ""
-"%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñ‡ÐµÑ€ÐµÐ· Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½ÑŽ Ð½ÐµÐ¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ð´Ð»Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�\n"
-" Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ¾Ð¼ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾: 0x%lx%08lx != Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð¾: 0x%lx%08lx\n"
+"%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñ‡ÐµÑ€ÐµÐ· Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½ÑŽ Ð½ÐµÐ¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ð´Ð»Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�\n"
+" Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ¾Ð¼ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°: ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¾: %#<PRIx64> != Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾: %#<PRIx64>"
 
-#: elf64-mmix.c:1266
+#: elf64-mmix.c:1619
 #, c-format
-msgid "%B: invalid MMIX reloc number: %d"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� MMIX: %d"
+msgid "%pB: base-plus-offset relocation against register symbol: (unknown) in %pA"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð°-Ð¿Ð»ÑŽÑ�-Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ: (Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ) Ñƒ %pA"
 
-#: elf64-mmix.c:1618
+#: elf64-mmix.c:1625
 #, c-format
-msgid "%B: base-plus-offset relocation against register symbol: (unknown) in %A"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð°-Ð¿Ð»ÑŽÑ�-Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ: (Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ) Ñƒ %A"
+msgid "%pB: base-plus-offset relocation against register symbol: %s in %pA"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð°-Ð¿Ð»ÑŽÑ�-Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ: %s Ñƒ %pA"
 
-#: elf64-mmix.c:1624
+#: elf64-mmix.c:1670
 #, c-format
-msgid "%B: base-plus-offset relocation against register symbol: %s in %A"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð°-Ð¿Ð»ÑŽÑ�-Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ: %s Ñƒ %A"
+msgid "%pB: register relocation against non-register symbol: (unknown) in %pA"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–: (Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ) Ñƒ %pA"
 
-#: elf64-mmix.c:1669
+#: elf64-mmix.c:1676
 #, c-format
-msgid "%B: register relocation against non-register symbol: (unknown) in %A"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–: (Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ) Ñƒ %A"
+msgid "%pB: register relocation against non-register symbol: %s in %pA"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–: %s Ñƒ %pA"
 
-#: elf64-mmix.c:1675
+#: elf64-mmix.c:1713
 #, c-format
-msgid "%B: register relocation against non-register symbol: %s in %A"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–: %s Ñƒ %A"
-
-#: elf64-mmix.c:1712
-msgid "%B: directive LOCAL valid only with a register or absolute value"
-msgstr "%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñƒ LOCAL Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð·Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼Ð¸ Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ñ… Ð°Ð±Ð¾ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼Ð¸"
+msgid "%pB: directive LOCAL valid only with a register or absolute value"
+msgstr "%pB: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñƒ LOCAL Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð·Ñ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼Ð¸ Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ñ… Ð°Ð±Ð¾ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼Ð¸"
 
-#: elf64-mmix.c:1743
+#: elf64-mmix.c:1744
 #, c-format
-msgid "%B: LOCAL directive: Register $%ld is not a local register.  First global register is $%ld."
-msgstr "%B: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL: Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ $%ld Ð½Ðµ Ñ” Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼. ÐŸÐµÑ€ÑˆÐ¸Ð¼ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ñ” $%ld."
+msgid "%pB: LOCAL directive: register $%<PRId64> is not a local register; first global register is $%<PRId64>"
+msgstr "%pB: Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° LOCAL: Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ $%<PRId64> Ð½Ðµ Ñ” Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼. ÐŸÐµÑ€ÑˆÐ¸Ð¼ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ñ” $%<PRId64>."
 
-#: elf64-mmix.c:2202
+#: elf64-mmix.c:2173
 #, c-format
-msgid "%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Â«%sÂ»; Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¾Ðº %s Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ñƒ Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð»\n"
+msgid "%pB: error: multiple definition of `%s'; start of %s is set in a earlier linked file"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Â«%sÂ»; Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¾Ðº %s Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ñƒ Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð»"
 
-#: elf64-mmix.c:2257
-msgid "Register section has contents\n"
-msgstr "Ð£ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð´Ð°Ð½Ñ–\n"
+#: elf64-mmix.c:2228
+msgid "register section has contents\n"
+msgstr "Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð´Ð°Ð½Ñ–\n"
 
-#: elf64-mmix.c:2447
+#: elf64-mmix.c:2418
 #, c-format
-msgid ""
-"Internal inconsistency: remaining %u != max %u.\n"
-"  Please report this bug."
-msgstr ""
-"Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð½ÐµÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ñ–Ñ�Ñ‚ÑŒ: Ð·Ð°Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� %u != Ð¼Ð°ÐºÑ�. %u.\n"
-"  Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ñ‚Ðµ Ð¿Ñ€Ð¾ Ñ†ÑŽ Ð²Ð°Ð´Ñƒ."
+msgid "internal inconsistency: remaining %lu != max %lu; please report this bug"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð½ÐµÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ñ–Ñ�Ñ‚ÑŒ: Ð·Ð°Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� %lu != Ð¼Ð°ÐºÑ�. %lu; Ð±ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ñ‚Ðµ Ð¿Ñ€Ð¾ Ñ†ÑŽ Ð²Ð°Ð´Ñƒ"
 
-#: elf64-ppc.c:4625
+#: elf64-ppc.c:5082
 #, c-format
-msgid "%P: %B: cannot create stub entry %s\n"
-msgstr "%P: %B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� %s\n"
+msgid "symbol '%s' has invalid st_other for ABI version 1"
+msgstr "Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¼Ð°Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� st_other Ð´Ð»Ñ� Ð²ÐµÑ€Ñ�Ñ–Ñ— ABI 1"
 
-#: elf64-ppc.c:4993
-msgid "%P: symbol '%s' has invalid st_other for ABI version 1\n"
-msgstr "%P: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð¼Ð°Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� st_other Ð´Ð»Ñ� Ð²ÐµÑ€Ñ�Ñ–Ñ— ABI 1\n"
-
-#: elf64-ppc.c:5163
+#: elf64-ppc.c:5257
 #, c-format
-msgid "%P: %B .opd not allowed in ABI version %d\n"
-msgstr "%P: .opd %B Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ— ABI %d\n"
+msgid "%pB .opd not allowed in ABI version %d"
+msgstr ".opd %pB Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ— ABI %d"
 
-#: elf64-ppc.c:5639
+#: elf64-ppc.c:5771
 #, c-format
-msgid "%H: %s reloc unsupported in shared libraries and PIEs.\n"
-msgstr "%H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ°Ñ… Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ– PIE.\n"
+msgid "%H: %s reloc unsupported in shared libraries and PIEs\n"
+msgstr "%H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ°Ñ… Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ– PIE\n"
 
-#: elf64-ppc.c:6046
+#: elf64-ppc.c:6166
 #, c-format
-msgid "%B uses unknown e_flags 0x%lx"
-msgstr "%B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� e_flags 0x%lx"
+msgid "%pB uses unknown e_flags 0x%lx"
+msgstr "%pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� e_flags 0x%lx"
 
-#: elf64-ppc.c:6054
+#: elf64-ppc.c:6174
 #, c-format
-msgid "%B: ABI version %ld is not compatible with ABI version %ld output"
-msgstr "%B: Ð²ÐµÑ€Ñ�Ñ–Ñ� ABI %ld Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾ÑŽ Ð· Ð²ÐµÑ€Ñ�Ñ–Ñ”ÑŽ ABI %ld Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñƒ"
+msgid "%pB: ABI version %ld is not compatible with ABI version %ld output"
+msgstr "%pB: Ð²ÐµÑ€Ñ�Ñ–Ñ� ABI %ld Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¾ÑŽ Ð· Ð²ÐµÑ€Ñ�Ñ–Ñ”ÑŽ ABI %ld Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñƒ"
 
-#: elf64-ppc.c:6082
+#: elf64-ppc.c:6202
 #, c-format
 msgid " [abiv%ld]"
 msgstr " [abiv%ld]"
 
-#: elf64-ppc.c:7413
-msgid "%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
-msgstr "%P: ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%TÂ» Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð²Ñ–Ð´ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� plt; Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÑŽÐ¹Ñ‚Ðµ LD_BIND_NOW=1 Ð°Ð±Ð¾ Ð¾Ð½Ð¾Ð²Ñ–Ñ‚ÑŒ gcc\n"
+#: elf64-ppc.c:7390
+msgid "%P: copy reloc against `%pT' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
+msgstr "%P: ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%pTÂ» Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” Ð²Ñ–Ð´ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� plt; Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÑŽÐ¹Ñ‚Ðµ LD_BIND_NOW=1 Ð°Ð±Ð¾ Ð¾Ð½Ð¾Ð²Ñ–Ñ‚ÑŒ gcc\n"
 
-#: elf64-ppc.c:7680
-msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
-msgstr "%B: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– R_PPC64_TOCSAVE"
+#: elf64-ppc.c:7659
+#, c-format
+msgid "%pB: undefined symbol on R_PPC64_TOCSAVE relocation"
+msgstr "%pB: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– R_PPC64_TOCSAVE"
 
-#: elf64-ppc.c:7910
+#: elf64-ppc.c:7886
 #, c-format
-msgid "%P: dynreloc miscount for %B, section %A\n"
-msgstr "%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñƒ Ð¾Ð±Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ– Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� %B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A\n"
+msgid "dynreloc miscount for %pB, section %pA"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñƒ Ð¾Ð±Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð½Ñ– Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� %pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA"
 
-#: elf64-ppc.c:7999
-msgid "%B: .opd is not a regular array of opd entries"
-msgstr "%B: .opd Ð½Ðµ Ñ” Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ð¼ Ð¼Ð°Ñ�Ð¸Ð²Ð¾Ð¼ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² opd"
+#: elf64-ppc.c:7975
+#, c-format
+msgid "%pB: .opd is not a regular array of opd entries"
+msgstr "%pB: .opd Ð½Ðµ Ñ” Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ð¼ Ð¼Ð°Ñ�Ð¸Ð²Ð¾Ð¼ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² opd"
 
-#: elf64-ppc.c:8009
+#: elf64-ppc.c:7985
 #, c-format
-msgid "%B: unexpected reloc type %u in .opd section"
-msgstr "%B: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, %u, Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– .opd"
+msgid "%pB: unexpected reloc type %u in .opd section"
+msgstr "%pB: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, %u, Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– .opd"
 
-#: elf64-ppc.c:8031
+#: elf64-ppc.c:8007
 #, c-format
-msgid "%B: undefined sym `%s' in .opd section"
-msgstr "%B: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð», Â«%sÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– .opd"
+msgid "%pB: undefined sym `%s' in .opd section"
+msgstr "%pB: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð», Â«%sÂ» Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– .opd"
+
+#: elf64-ppc.c:8491
+msgid "warning: --plt-localentry is especially dangerous without ld.so support to detect ABI violations"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: --plt-localentry Ð¾Ñ�Ð¾Ð±Ð»Ð¸Ð²Ð¾ Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¸Ð¹, Ñ�ÐºÑ‰Ð¾ Ñƒ ld.so Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð½Ñ� Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½ÑŒ ABI"
 
-#: elf64-ppc.c:8600
+#: elf64-ppc.c:8740
 msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
 msgstr "%H __tls_get_addr Ð²Ñ‚Ñ€Ð°Ñ‡ÐµÐ½Ð¾ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚, Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–ÑŽ TLS Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð¾\n"
 
-#: elf64-ppc.c:8943 elf64-ppc.c:9580
+#: elf64-ppc.c:9115 elf64-ppc.c:9752
 #, c-format
 msgid "%s defined on removed toc entry"
 msgstr "%s Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– toc"
 
-#: elf64-ppc.c:9308
+#: elf64-ppc.c:9480
 #, c-format
-msgid "%H: toc optimization is not supported for %s instruction.\n"
-msgstr "%H: Ð´Ð»Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— toc.\n"
+msgid "%H: toc optimization is not supported for %s instruction\n"
+msgstr "%H: Ð´Ð»Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— toc\n"
 
-#: elf64-ppc.c:9537
+#: elf64-ppc.c:9709
 #, c-format
 msgid "%H: %s references optimized away TOC entry\n"
 msgstr "%H: %s Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° ÑƒÑ�ÑƒÐ½ÑƒÑ‚Ð¸Ð¹ Ñƒ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñ– Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð·Ð°Ð¿Ð¸Ñ� TOC\n"
 
-#: elf64-ppc.c:10878
-msgid "%P: cannot find opd entry toc for `%T'\n"
-msgstr "`%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� opd Ñƒ toc Ð´Ð»Ñ� Â«%TÂ»\n"
+#: elf64-ppc.c:10540
+#, c-format
+msgid "warning: discarding dynamic section %s"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ñ–Ð´ÐºÐ¸Ð´Ð°Ñ”Ð¼Ð¾ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %s"
+
+#: elf64-ppc.c:11127
+msgid "%P: cannot find opd entry toc for `%pT'\n"
+msgstr "`%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� opd Ñƒ toc Ð´Ð»Ñ� Â«%pTÂ»\n"
 
-#: elf64-ppc.c:10969
-msgid "%P: long branch stub `%s' offset overflow\n"
-msgstr "%P: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° Ð´Ð¾Ð²Ð³Ð¾Ñ— Ð³Ñ–Ð»ÐºÐ¸, Â«%sÂ»\n"
+#: elf64-ppc.c:11215
+#, c-format
+msgid "long branch stub `%s' offset overflow"
+msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° Ð´Ð¾Ð²Ð³Ð¾Ñ— Ð³Ñ–Ð»ÐºÐ¸, Â«%sÂ»"
 
-#: elf64-ppc.c:11028
-msgid "%P: can't find branch stub `%s'\n"
-msgstr "%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Â«%sÂ»\n"
+#: elf64-ppc.c:11274
+#, c-format
+msgid "can't find branch stub `%s'"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Â«%sÂ»"
 
-#: elf64-ppc.c:11092 elf64-ppc.c:11244 elf64-ppc.c:13052
+#: elf64-ppc.c:11338 elf64-ppc.c:11466 elf64-ppc.c:13435
 #, c-format
-msgid "%P: linkage table error against `%T'\n"
-msgstr "%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%TÂ»\n"
+msgid "%P: linkage table error against `%pT'\n"
+msgstr "%P: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%pTÂ»\n"
 
-#: elf64-ppc.c:11454
-msgid "%P: can't build branch stub `%s'\n"
-msgstr "%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ð¾Ð±ÑƒÐ´ÑƒÐ²Ð°Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Â«%sÂ»\n"
+#: elf64-ppc.c:11689
+#, c-format
+msgid "can't build branch stub `%s'"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ð¾Ð±ÑƒÐ´ÑƒÐ²Ð°Ñ‚Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Â«%sÂ»"
 
-#: elf64-ppc.c:12227
+#: elf64-ppc.c:12465
 #, c-format
-msgid "%B section %A exceeds stub group size"
-msgstr "Ð Ð¾Ð·Ð´Ñ–Ð» %B, %A, Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð³Ñ€ÑƒÐ¿Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñ–Ð²"
+msgid "%pB section %pA exceeds stub group size"
+msgstr "Ð Ð¾Ð·Ð´Ñ–Ð» %pB, %pA, Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð³Ñ€ÑƒÐ¿Ð¸ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñ–Ð²"
 
-#: elf64-ppc.c:13331
-msgid "%P: stubs don't match calculated size\n"
-msgstr "%P: ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸ Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°ÑŽÑ‚ÑŒ Ð¾Ð±Ñ‡Ð¸Ñ�Ð»ÐµÐ½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ\n"
+#: elf64-ppc.c:13833
+#, c-format
+msgid "linker stubs in %u group\n"
+msgid_plural "linker stubs in %u groups\n"
+msgstr[0] "ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ð½Ðµ Ð·Ð¼Ñ–Ð³ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %u Ð³Ñ€ÑƒÐ¿Ñ–\n"
+msgstr[1] "ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ð½Ðµ Ð·Ð¼Ñ–Ð³ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %u Ð³Ñ€ÑƒÐ¿Ð°Ñ…\n"
+msgstr[2] "ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ð½Ðµ Ð·Ð¼Ñ–Ð³ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %u Ð³Ñ€ÑƒÐ¿Ð°Ñ…\n"
+msgstr[3] "ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ðº Ð½Ðµ Ð·Ð¼Ñ–Ð³ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ñƒ %u Ð³Ñ€ÑƒÐ¿Ñ–\n"
 
-#: elf64-ppc.c:13343
+#: elf64-ppc.c:13837
 #, c-format
 msgid ""
-"linker stubs in %u group%s\n"
 "  branch       %lu\n"
 "  toc adjust   %lu\n"
 "  long branch  %lu\n"
@@ -4491,7 +4078,6 @@ msgid ""
 "  plt call toc %lu\n"
 "  global entry %lu"
 msgstr ""
-"ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° Ñƒ %u Ð³Ñ€ÑƒÐ¿Ð°Ñ… %s\n"
 "  Ð³Ñ–Ð»ÐºÐ°        %lu\n"
 "  ÐºÐ¾Ñ€Ð¸Ð³. toc   %lu\n"
 "  Ð´Ð¾Ð²Ð³Ð° Ð³Ñ–Ð»ÐºÐ°  %lu\n"
@@ -4500,1193 +4086,1271 @@ msgstr ""
 "  toc Ð²Ð¸Ðº. plt %lu\n"
 "  Ð·Ð°Ð³. Ð·Ð°Ð¿Ð¸Ñ�   %lu"
 
-#: elf64-ppc.c:13665
+#: elf64-ppc.c:14156
 #, c-format
-msgid "%H: %s used with TLS symbol `%T'\n"
-msgstr "%H: %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ TLS Â«%TÂ»\n"
+msgid "%H: %s used with TLS symbol `%pT'\n"
+msgstr "%H: %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ TLS Â«%pTÂ»\n"
 
-#: elf64-ppc.c:13667
+#: elf64-ppc.c:14158
 #, c-format
-msgid "%H: %s used with non-TLS symbol `%T'\n"
-msgstr "%H: %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð¿Ð¾Ð·Ð° TLS Â«%TÂ»\n"
+msgid "%H: %s used with non-TLS symbol `%pT'\n"
+msgstr "%H: %s Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ Ð¿Ð¾Ð·Ð° TLS Â«%pTÂ»\n"
 
-#: elf64-ppc.c:14306
+#: elf64-ppc.c:14802
 #, c-format
-msgid "%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC\n"
-msgstr "%H: Ñƒ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ Â«%TÂ» Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” nop, Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� toc Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ; Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð· -fPIC\n"
+msgid "%H: call to `%pT' lacks nop, can't restore toc; recompile with -fPIC\n"
+msgstr "%H: Ñƒ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ Â«%pTÂ» Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” nop, Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� toc Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ; Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð· -fPIC\n"
 
-#: elf64-ppc.c:14312
+#: elf64-ppc.c:14808
 #, c-format
-msgid "%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)\n"
-msgstr "%P: %H: Ñƒ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ Â«%TÂ» Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” nop, Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� toc Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ (-mcmodel=small Ð´Ð»Ñ� ÐºÐ¾Ñ€Ð¸Ð³ÑƒÐ²Ð°Ð½Ð½Ñ� ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°)\n"
+msgid "%H: call to `%pT' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)\n"
+msgstr "%P: %H: Ñƒ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ Â«%pTÂ» Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” nop, Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� toc Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ (-mcmodel=small Ð´Ð»Ñ� ÐºÐ¾Ñ€Ð¸Ð³ÑƒÐ²Ð°Ð½Ð½Ñ� ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°)\n"
 
-#: elf64-ppc.c:14440
+#: elf64-ppc.c:15503
 #, c-format
-msgid "%P: %B: unknown relocation type %d for `%T'\n"
-msgstr "%P: %B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�, %d, Ð´Ð»Ñ� Â«%TÂ»\n"
+msgid "%H: %s for indirect function `%pT' unsupported\n"
+msgstr "%H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ð´Ð»Ñ� Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%pTÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾\n"
 
-#: elf64-ppc.c:14994
+#: elf64-ppc.c:15615
 #, c-format
-msgid "%H: %s for indirect function `%T' unsupported\n"
-msgstr "%H: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ð´Ð»Ñ� Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¾Ñ— Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Â«%TÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾\n"
+msgid "%P: %pB: %s is not supported for `%pT'\n"
+msgstr "%P: %pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ð´Ð»Ñ� Â«%pTÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾\n"
 
-#: elf64-ppc.c:15132
-#, c-format
-msgid "%P: %B: %s is not supported for `%T'\n"
-msgstr "%P: %B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ %s Ð´Ð»Ñ� Â«%TÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾\n"
-
-#: elf64-ppc.c:15287
+#: elf64-ppc.c:15841
 #, c-format
 msgid "%H: error: %s not a multiple of %u\n"
 msgstr "%H: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ %u\n"
 
-#: elf64-ppc.c:15309
+#: elf64-ppc.c:15864
 #, c-format
-msgid "%H: unresolvable %s against `%T'\n"
-msgstr "%H: Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ %s Ñ‰Ð¾Ð´Ð¾ Â«%TÂ»\n"
+msgid "%H: unresolvable %s against `%pT'\n"
+msgstr "%H: Ð½ÐµÑ€Ð¾Ð·Ð²â€™Ñ�Ð·Ð½Ðµ %s Ñ‰Ð¾Ð´Ð¾ Â«%pTÂ»\n"
 
-#: elf64-ppc.c:15406
+#: elf64-ppc.c:15961
 #, c-format
-msgid "%H: %s against `%T': error %d\n"
-msgstr "%H: %s Ñ‰Ð¾Ð´Ð¾ Â«%TÂ»: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d\n"
+msgid "%H: %s against `%pT': error %d\n"
+msgstr "%H: %s Ñ‰Ð¾Ð´Ð¾ Â«%pTÂ»: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d\n"
 
-#: elf64-ppc.c:15801 elf64-ppc.c:15830
-msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
-msgstr "%P: Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ %s Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ Ð´Ð»Ñ� ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� sdata4 .eh_frame"
-
-#: elf64-s390.c:2712
-msgid "%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-PLT Â«%sÂ» Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñƒ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÑ†Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�, Ñ– Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð³Ð¾ Ð· Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° (Ñ�Ð»Ñ–Ð´ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ñ„Ð°Ð¹Ð» Ñ–Ð· -fPIC ?)"
+#: elf64-ppc.c:16307 elf64-ppc.c:16326
+#, c-format
+msgid "%s offset too large for .eh_frame sdata4 encoding"
+msgstr "Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ %s Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ Ð´Ð»Ñ� ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� sdata4 .eh_frame"
 
-#: elf64-sh64.c:1680
+#: elf64-s390.c:2540
 #, c-format
-msgid "%B: error: unaligned relocation type %d at %08x reloc %08x\n"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ñƒ %08x, Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %08x\n"
+msgid "%pB: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ-PLT Â«%sÂ» Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñƒ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÑ†Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�, Ñ– Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð³Ð¾ Ð· Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° (Ñ�Ð»Ñ–Ð´ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ñ„Ð°Ð¹Ð» Ñ–Ð· -fPIC ?)"
 
-#: elf64-sparc.c:460
-msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER"
-msgstr "%B: Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾ÑŽ STT_REGISTER Ð¼Ð¾Ð¶Ð½Ð° Ð¾Ð³Ð¾Ð»Ð¾ÑˆÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ %%g[2367]"
+#: elf64-sparc.c:459
+#, c-format
+msgid "%pB: only registers %%g[2367] can be declared using STT_REGISTER"
+msgstr "%pB: Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾ÑŽ STT_REGISTER Ð¼Ð¾Ð¶Ð½Ð° Ð¾Ð³Ð¾Ð»Ð¾ÑˆÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¸ %%g[2367]"
 
-#: elf64-sparc.c:481
+#: elf64-sparc.c:480
 #, c-format
-msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B"
-msgstr "Ð�ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ %%g%d: %s Ñƒ %B, Ñ€Ð°Ð½Ñ–ÑˆÐµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ %s Ñƒ %B"
+msgid "register %%g%d used incompatibly: %s in %pB, previously %s in %pB"
+msgstr "Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ %%g%d: %s Ñƒ %pB, Ñ€Ð°Ð½Ñ–ÑˆÐµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ %s Ñƒ %pB"
 
-#: elf64-sparc.c:505
+#: elf64-sparc.c:504
 #, c-format
-msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B"
-msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñ–Ð²: REGISTER Ñƒ %B Ñ– %s Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñƒ %B"
+msgid "symbol `%s' has differing types: REGISTER in %pB, previously %s in %pB"
+msgstr "Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñ–Ð²: REGISTER Ñƒ %pB Ñ– %s Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñƒ %pB"
 
-#: elf64-sparc.c:552
+#: elf64-sparc.c:551
 #, c-format
-msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B"
-msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Â«sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñ–Ð²: %s Ñƒ %B Ñ– REGISTER Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñƒ %B"
+msgid "Symbol `%s' has differing types: %s in %pB, previously REGISTER in %pB"
+msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñ‚Ð¸Ð¿Ñ–Ð²: %s Ñƒ %pB Ñ– REGISTER Ñ€Ð°Ð½Ñ–ÑˆÐµ Ñƒ %pB"
 
-#: elf64-sparc.c:707
-msgid "%B: linking UltraSPARC specific with HAL specific code"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� UltraSPARC-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ‚Ð° HAL-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ"
+#: elf64-sparc.c:706
+#, c-format
+msgid "%pB: linking UltraSPARC specific with HAL specific code"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� UltraSPARC-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ‚Ð° HAL-Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ"
 
-#: elf64-x86-64.c:1923
+#: elf64-x86-64.c:1412
 msgid "hidden symbol "
 msgstr "Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» "
 
-#: elf64-x86-64.c:1926
+#: elf64-x86-64.c:1415
 msgid "internal symbol "
 msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» "
 
-#: elf64-x86-64.c:1929
+#: elf64-x86-64.c:1418 elf64-x86-64.c:1422
 msgid "protected symbol "
 msgstr "Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» "
 
-#: elf64-x86-64.c:1932
+#: elf64-x86-64.c:1424
 msgid "symbol "
 msgstr "Ñ�Ð¸Ð¼Ð²Ð¾Ð» "
 
-#: elf64-x86-64.c:1933 elf64-x86-64.c:1943
+#: elf64-x86-64.c:1425 elf64-x86-64.c:1435
 msgid "; recompile with -fPIC"
 msgstr "; Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð· -fPIC"
 
-#: elf64-x86-64.c:1938
+#: elf64-x86-64.c:1430
 msgid "undefined "
 msgstr "Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ "
 
-#: elf64-x86-64.c:1947
-#, c-format
-msgid "%B: relocation %s against %s%s`%s' can not be used when making a shared object%s"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ %s%sÂ«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%s"
+#: elf64-x86-64.c:1439
+msgid "a shared object"
+msgstr "Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¸Ð¹ Ð¾Ð±'Ñ”ÐºÑ‚"
 
-#: elf64-x86-64.c:2510
-#, c-format
-msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
-msgstr "%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– x32 Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
+#: elf64-x86-64.c:1441
+msgid "a PIE object"
+msgstr "Ð¾Ð±'Ñ”ÐºÑ‚ PIE"
 
-#: elf64-x86-64.c:2633
-#, c-format
-msgid "%B: '%s' accessed both as normal and thread local symbol"
-msgstr "'%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
+#: elf64-x86-64.c:1443
+msgid "a PDE object"
+msgstr "Ð¾Ð±'Ñ”ÐºÑ‚ PDE"
 
-#: elf64-x86-64.c:4576
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5018
+#: elf64-x86-64.c:1446
 #, c-format
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC, Â«%sÂ», Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº: %d"
+msgid "%pB: relocation %s against %s%s`%s' can not be used when making %s%s"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ %s%sÂ«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� %s%s"
 
-#: elf64-x86-64.c:4831
+#: elf64-x86-64.c:1931
 #, c-format
-msgid "%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object"
-msgstr "B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_X86_64_GOTOFF64 Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ %s, Â«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
+msgid "%pB: relocation %s against symbol `%s' isn't supported in x32 mode"
+msgstr "%pB: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– x32 Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: elf64-x86-64.c:4845
+#: elf64-x86-64.c:2073
 #, c-format
-msgid "%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object"
-msgstr "%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ R_X86_64_GOTOFF64 Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— %s Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
+msgid "%pB: '%s' accessed both as normal and thread local symbol"
+msgstr "'%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Â«%sÂ» Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ�Ðº Ð´Ð¾ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ñ‚Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elf64-x86-64.c:5122
+#: elf64-x86-64.c:2693
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:5299
 #, c-format
-msgid "%B: addend -0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range"
-msgstr "%B: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº -0x%x Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
+msgid "%pB: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %<PRId64>"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC, Â«%sÂ», Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº: %<PRId64>"
 
-#: elf64-x86-64.c:5130
+#: elf64-x86-64.c:2931
 #, c-format
-msgid "%B: addend 0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range"
-msgstr "%B: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº 0x%x Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
+msgid "%pB: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� R_X86_64_GOTOFF64 Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ %s, Â«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf64-x86-64.c:5952
+#: elf64-x86-64.c:2945
 #, c-format
-msgid "%F%B: PC-relative offset overflow in PLT entry for `%s'\n"
-msgstr "%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ñ�ÑƒÐ²Ñƒ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ PC Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT Ð´Ð»Ñ� Â«%sÂ»\n"
+msgid "%pB: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object"
+msgstr "%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ R_X86_64_GOTOFF64 Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ñ— %s Â«%sÂ» Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
 
-#: elf64-x86-64.c:6019
+#: elf64-x86-64.c:3205
 #, c-format
-msgid "%F%B: branch displacement overflow in PLT entry for `%s'\n"
-msgstr "%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� Ð³Ñ–Ð»Ð¾Ðº Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT Ð´Ð»Ñ� Â«%sÂ»\n"
+msgid "%pB: addend %s%#x in relocation %s against symbol `%s' at %#<PRIx64> in section `%pA' is out of range"
+msgstr "%pB: Ð´Ð¾Ð´Ð°Ð½Ð¾Ðº %s%#x Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %#<PRIx64> Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
 
-#: elf64-x86-64.c:6072
+#: elf64-x86-64.c:3882
+msgid "%F%P: failed to convert GOTPCREL relocation; relink with --no-relax\n"
+msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOTPCREL; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ¹Ñ‚Ðµ Ð· --no-relax\n"
+
+#: elf64-x86-64.c:4040
 #, c-format
-msgid "%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n"
-msgstr "%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ñ�ÑƒÐ²Ñƒ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ PC Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT GOT Ð´Ð»Ñ� Â«%sÂ»\n"
+msgid "%F%pB: PC-relative offset overflow in PLT entry for `%s'\n"
+msgstr "%F%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ñ�ÑƒÐ²Ñƒ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ PC Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT Ð´Ð»Ñ� Â«%sÂ»\n"
 
-#: elf64-x86-64.c:7663
+#: elf64-x86-64.c:4103
 #, c-format
-msgid "%F: failed to create BND PLT section\n"
-msgstr "%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT BND\n"
+msgid "%F%pB: branch displacement overflow in PLT entry for `%s'\n"
+msgstr "%F%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� Ð³Ñ–Ð»Ð¾Ðº Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT Ð´Ð»Ñ� Â«%sÂ»\n"
 
-#: elf64-x86-64.c:7713
+#: elf64-x86-64.c:4156
 #, c-format
-msgid "%F: failed to create BND PLT .eh_frame section\n"
-msgstr "%F: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT BND\n"
+msgid "%F%pB: PC-relative offset overflow in GOT PLT entry for `%s'\n"
+msgstr "%F%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð·Ñ�ÑƒÐ²Ñƒ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ PC Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– PLT GOT Ð´Ð»Ñ� Â«%sÂ»\n"
 
 #: elfcode.h:760
-msgid "warning: %B has a corrupt string table index - ignoring"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸Ðº Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² %B Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ñ‚ÑŒÑ�Ñ�"
+#, c-format
+msgid "warning: %pB has a corrupt string table index - ignoring"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸Ðº Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñ�Ð´ÐºÑ–Ð² %pB Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ â€” Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ñ‚ÑŒÑ�Ñ�"
 
-#: elfcode.h:1193
+#: elfcode.h:1199
 #, c-format
-msgid "%B: version count (%ld) does not match symbol count (%ld)"
-msgstr "%B: Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº Ð²ÐµÑ€Ñ�Ñ–Ñ— (%ld) Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ (%ld)"
+msgid "%pB: version count (%<PRId64>) does not match symbol count (%ld)"
+msgstr "%pB: Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº Ð²ÐµÑ€Ñ�Ñ–Ñ— (%<PRId64>) Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ¾Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ (%ld)"
 
-#: elfcode.h:1448
+#: elfcode.h:1458
 #, c-format
-msgid "%B(%A): relocation %d has invalid symbol index %ld"
-msgstr "%B(%A): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, %ld"
+msgid "%pB(%pA): relocation %d has invalid symbol index %ld"
+msgstr "%pB(%pA): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, %ld"
 
 #: elfcore.h:300
 #, c-format
-msgid "Warning: %B is truncated: expected core file size >= %lu, found: %lu."
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° >= %lu, Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾: %lu."
+msgid "warning: %pB is truncated: expected core file size >= %<PRIu64>, found: %<PRIu64>"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° >= %<PRIu64>, Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾: %<PRIu64>."
 
-#: elflink.c:1336
+#: elflink.c:1369
 #, c-format
-msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"
-msgstr "%s: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TLS Ñƒ %B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A, Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %B %A"
+msgid "%s: TLS definition in %pB section %pA mismatches non-TLS definition in %pB section %pA"
+msgstr "%s: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TLS Ñƒ %pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA, Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pB %pA"
 
-#: elflink.c:1342
+#: elflink.c:1375
 #, c-format
-msgid "%s: TLS reference in %B mismatches non-TLS reference in %B"
-msgstr "%s: Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� TLS Ñƒ %B Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ %B"
+msgid "%s: TLS reference in %pB mismatches non-TLS reference in %pB"
+msgstr "%s: Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� TLS Ñƒ %pB Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ %pB"
 
-#: elflink.c:1348
+#: elflink.c:1381
 #, c-format
-msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B"
-msgstr "%s: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TLS Ñƒ %B, Ñ€Ð¾Ð·Ð´Ñ–Ð» %A, Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %B, %A"
+msgid "%s: TLS definition in %pB section %pA mismatches non-TLS reference in %pB"
+msgstr "%s: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� TLS Ñƒ %pB, Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA, Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ %pB"
 
-#: elflink.c:1354
+#: elflink.c:1387
 #, c-format
-msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A"
-msgstr "%s: Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� TLS Ñƒ %B Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %B %A"
+msgid "%s: TLS reference in %pB mismatches non-TLS definition in %pB section %pA"
+msgstr "%s: Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� TLS Ñƒ %pB Ð½Ðµ Ð·Ð±Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð½Ðµ-TLS Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pB %pA"
 
-#: elflink.c:2015
+#: elflink.c:2068
 #, c-format
-msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
-msgstr "%B: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð· Ð½ÐµÐ¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð²ÐµÑ€Ñ�Ñ–Ñ—, Â«%sÂ»"
+msgid "%pB: unexpected redefinition of indirect versioned symbol `%s'"
+msgstr "%pB: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð· Ð½ÐµÐ¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð²ÐµÑ€Ñ�Ñ–Ñ—, Â«%sÂ»"
 
-#: elflink.c:2308
+#: elflink.c:2437
 #, c-format
-msgid "%B: version node not found for symbol %s"
-msgstr "%B: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ð²ÑƒÐ·Ð»Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
+msgid "%pB: version node not found for symbol %s"
+msgstr "%pB: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ð²ÑƒÐ·Ð»Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ— Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %s"
 
-#: elflink.c:2397
+#: elflink.c:2526
 #, c-format
-msgid "%B: bad reloc symbol index (%#lx >= %#lx) for offset %#Lx in section `%A'"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (%#lx >= %#lx) Ð´Ð»Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ %#Lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ»"
+msgid "%pB: bad reloc symbol index (%#<PRIx64> >= %#lx) for offset %#<PRIx64> in section `%pA'"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (%#<PRIx64> >= %#lx) Ð´Ð»Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ %#<PRIx64> Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ»"
 
-#: elflink.c:2409
+#: elflink.c:2538
 #, c-format
-msgid "%B: non-zero symbol index (%#lx) for offset %#Lx in section `%A' when the object file has no symbol table"
-msgstr "%B: Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ (%#lx) Ð´Ð»Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ %#Lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ», Ð°Ð»Ðµ Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²"
+msgid "%pB: non-zero symbol index (%#<PRIx64>) for offset %#<PRIx64> in section `%pA' when the object file has no symbol table"
+msgstr "%pB: Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ (%#<PRIx64>) Ð´Ð»Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ %#<PRIx64> Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ», Ð°Ð»Ðµ Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²"
 
-#: elflink.c:2600
+#: elflink.c:2729
 #, c-format
-msgid "%B: relocation size mismatch in %B section %A"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %B %A"
+msgid "%pB: relocation size mismatch in %pB section %pA"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pB %pA"
 
-#: elflink.c:2911
+#: elflink.c:3047
 #, c-format
 msgid "warning: type and size of dynamic symbol `%s' are not defined"
 msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð¸Ð¿ Ñ– Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: elflink.c:2976
-msgid "%P: copy reloc against protected `%T' is dangerous\n"
-msgstr "%P: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼ Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ð³Ð¾ Â«%TÂ» Ñ” Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¸Ð¼\n"
+#: elflink.c:3109
+msgid "%P: copy reloc against protected `%pT' is dangerous\n"
+msgstr "%P: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼ Ñ‰Ð¾Ð´Ð¾ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾Ð³Ð¾ Â«%pTÂ» Ñ” Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¸Ð¼\n"
 
-#: elflink.c:3777
+#: elflink.c:3913
 #, c-format
-msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
-msgstr "%P: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ð¸Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð¸Ð¹ ÐºÐ¾Ð´ ELF (%d) Ñƒ %B, Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� %d\n"
+msgid "alternate ELF machine code found (%d) in %pB, expecting %d"
+msgstr "Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ð¸Ð¹ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð¸Ð¹ ÐºÐ¾Ð´ ELF (%d) Ñƒ %pB, Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� %d"
 
-#: elflink.c:4438
+#: elflink.c:4579
 #, c-format
-msgid "%B: %s: invalid version %u (max %d)"
-msgstr "%B: %s: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ�, %u (Ð¼Ð°ÐºÑ�Ð¸Ð¼ÑƒÐ¼ â€” %d)"
+msgid "%pB: %s: invalid version %u (max %d)"
+msgstr "%pB: %s: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ�, %u (Ð¼Ð°ÐºÑ�Ð¸Ð¼ÑƒÐ¼ â€” %d)"
 
-#: elflink.c:4475
+#: elflink.c:4616
 #, c-format
-msgid "%B: %s: invalid needed version %d"
-msgstr "%B: %s: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ñ— Ð²ÐµÑ€Ñ�Ñ–Ñ— %d"
+msgid "%pB: %s: invalid needed version %d"
+msgstr "%pB: %s: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ñ— Ð²ÐµÑ€Ñ�Ñ–Ñ— %d"
 
-#: elflink.c:4754
+#: elflink.c:5035
 #, c-format
-msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ» Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð· %Lu Ñƒ %B Ð½Ð° %Lu Ñƒ %B"
+msgid "%pB: undefined reference to symbol '%s'"
+msgstr "%pB: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»"
 
-#: elflink.c:4890
+#: elflink.c:6111
 #, c-format
-msgid "%B: undefined reference to symbol '%s'"
-msgstr "%B: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ»"
+msgid "%pB: stack size specified and %s set"
+msgstr "%pB: Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ñ�Ñ‚ÐµÐºÐ° Ñ– Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %s"
 
-#: elflink.c:5903
+#: elflink.c:6115
 #, c-format
-msgid "%B: stack size specified and %s set"
-msgstr "%B: Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ñ�Ñ‚ÐµÐºÐ° Ñ– Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %s"
+msgid "%pB: %s not absolute"
+msgstr "%pB: %s Ð½Ðµ Ñ” Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼"
 
-#: elflink.c:5907
-#, c-format
-msgid "%B: %s not absolute"
-msgstr "%B: %s Ð½Ðµ Ñ” Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ð¸Ð¼"
-
-#: elflink.c:6105
+#: elflink.c:6312
 #, c-format
 msgid "%s: undefined version: %s"
 msgstr "%s: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð° Ð²ÐµÑ€Ñ�Ñ–Ñ�: %s"
 
-#: elflink.c:6682
-msgid "%B: .preinit_array section is not allowed in DSO"
-msgstr "%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .preinit_array Ñƒ DSO"
+#: elflink.c:6883
+#, c-format
+msgid "%pB: .preinit_array section is not allowed in DSO"
+msgstr "%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .preinit_array Ñƒ DSO"
 
-#: elflink.c:8122
+#: elflink.c:8340
 #, c-format
 msgid "undefined %s reference in complex symbol: %s"
 msgstr "Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�, %s, Ñƒ Ñ�ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–: %s"
 
-#: elflink.c:8277
+#: elflink.c:8495
 #, c-format
 msgid "unknown operator '%c' in complex symbol"
 msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€, Â«%cÂ», Ñƒ Ñ�ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð¼Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–"
 
 #. PR 21524: Let the user know if a symbol was removed by garbage collection.
-#: elflink.c:8615
-msgid "%B:%A: error: relocation references symbol %s which was removed by garbage collection."
-msgstr "%B:%A: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s, Ñ�ÐºÐ¸Ð¹ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¾ Ð·Ð°Ñ�Ð¾Ð±Ð¾Ð¼ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ñ�Ð¼Ñ–Ñ‚Ñ‚Ñ�."
-
-#: elflink.c:8618
-msgid "%B:%A: error: try relinking with --gc-keep-exported enabled."
-msgstr "%B:%A: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ --gc-keep-exported."
-
-#: elflink.c:8855 elflink.c:8873 elflink.c:8912 elflink.c:8930
-msgid "%B: Unable to sort relocs - they are in more than one size"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: Ñ—Ñ…Ð½Ñ– Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð½Ðµ Ñ” Ð¾Ð´Ð½Ð°ÐºÐ¾Ð²Ð¸Ð¼Ð¸"
+#: elflink.c:8833
+#, c-format
+msgid "%pB:%pA: error: relocation references symbol %s which was removed by garbage collection"
+msgstr "%pB:%pA: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» %s, Ñ�ÐºÐ¸Ð¹ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¾ Ð·Ð°Ñ�Ð¾Ð±Ð¾Ð¼ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ñ�Ð¼Ñ–Ñ‚Ñ‚Ñ�"
+
+#: elflink.c:8836
+#, c-format
+msgid "%pB:%pA: error: try relinking with --gc-keep-exported enabled"
+msgstr "%pB:%pA: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ --gc-keep-exported"
+
+#: elflink.c:9072 elflink.c:9090 elflink.c:9129 elflink.c:9147
+#, c-format
+msgid "%pB: unable to sort relocs - they are in more than one size"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: Ñ—Ñ…Ð½Ñ– Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð½Ðµ Ñ” Ð¾Ð´Ð½Ð°ÐºÐ¾Ð²Ð¸Ð¼Ð¸"
 
 #. The section size is not divisible by either -
 #. something is wrong.
-#: elflink.c:8889 elflink.c:8946
-msgid "%B: Unable to sort relocs - they are of an unknown size"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: Ñ—Ñ…Ð½Ñ– Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ–"
+#: elflink.c:9106 elflink.c:9163
+#, c-format
+msgid "%pB: unable to sort relocs - they are of an unknown size"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒÐ²Ð°Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�: Ñ—Ñ…Ð½Ñ– Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ–"
 
-#: elflink.c:8998
-msgid "Not enough memory to sort relocations"
-msgstr "Ð�ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ð´Ð»Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ"
+#: elflink.c:9215
+msgid "not enough memory to sort relocations"
+msgstr "Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ð´Ð»Ñ� Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ"
 
-#: elflink.c:9266
+#: elflink.c:9483
 #, c-format
-msgid "%B: Too many sections: %d (>= %d)"
-msgstr "%B: Ð·Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð²: %d (>= %d)"
+msgid "%pB: too many sections: %d (>= %d)"
+msgstr "%pB: Ð·Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð²: %d (>= %d)"
 
-#: elflink.c:9546
+#: elflink.c:9763
 #, c-format
-msgid "%B: internal symbol `%s' in %B is referenced by DSO"
-msgstr "%B: Ð½Ð° Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %B Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO"
+msgid "%pB: internal symbol `%s' in %pB is referenced by DSO"
+msgstr "%pB: Ð½Ð° Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %pB Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO"
 
-#: elflink.c:9549
+#: elflink.c:9766
 #, c-format
-msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
-msgstr "%B: Ð½Ð° Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %B Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO"
+msgid "%pB: hidden symbol `%s' in %pB is referenced by DSO"
+msgstr "%pB: Ð½Ð° Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %pB Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO"
 
-#: elflink.c:9552
+#: elflink.c:9769
 #, c-format
-msgid "%B: local symbol `%s' in %B is referenced by DSO"
-msgstr "%B: Ð½Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %B Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO"
+msgid "%pB: local symbol `%s' in %pB is referenced by DSO"
+msgstr "%pB: Ð½Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ %pB Ñ–Ñ�Ð½ÑƒÑ” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð· DSO"
 
-#: elflink.c:9638
+#: elflink.c:9855
 #, c-format
-msgid "%B: could not find output section %A for input section %A"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %A Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %A"
+msgid "%pB: could not find output section %pA for input section %pA"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %pA Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ… %pA"
 
-#: elflink.c:9792
+#: elflink.c:10009
 #, c-format
-msgid "%B: protected symbol `%s' isn't defined"
-msgstr "%B: Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
+msgid "%pB: protected symbol `%s' isn't defined"
+msgstr "%pB: Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: elflink.c:9795
+#: elflink.c:10012
 #, c-format
-msgid "%B: internal symbol `%s' isn't defined"
-msgstr "%B: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
+msgid "%pB: internal symbol `%s' isn't defined"
+msgstr "%pB: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: elflink.c:9798
+#: elflink.c:10015
 #, c-format
-msgid "%B: hidden symbol `%s' isn't defined"
-msgstr "%B: Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
+msgid "%pB: hidden symbol `%s' isn't defined"
+msgstr "%pB: Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: elflink.c:9829
+#: elflink.c:10046
 #, c-format
-msgid "%B: No symbol version section for versioned symbol `%s'"
-msgstr "%B: Ð½ÐµÐ¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð· Ð²ÐµÑ€Ñ�Ñ–Ñ”ÑŽ Â«%sÂ»"
+msgid "%pB: no symbol version section for versioned symbol `%s'"
+msgstr "%pB: Ð½ÐµÐ¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð· Ð²ÐµÑ€Ñ�Ñ–Ñ”ÑŽ Â«%sÂ»"
 
-#: elflink.c:10436
+#: elflink.c:10656
 #, c-format
-msgid "error: %B: size of section %A is not multiple of address size"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð°Ð´Ñ€ÐµÑ�Ð¸"
+msgid "error: %pB: size of section %pA is not multiple of address size"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð°Ð´Ñ€ÐµÑ�Ð¸"
 
-#: elflink.c:10481
+#: elflink.c:10701
 #, c-format
-msgid "error: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbol"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %B Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (%#Lx) Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A, Ñ�ÐºÐµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð», Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”"
+msgid "error: %pB contains a reloc (%#<PRIx64>) for section %pA that references a non-existent global symbol"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (%#<PRIx64>) Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %pA, Ñ�ÐºÐµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð», Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ðµ Ñ–Ñ�Ð½ÑƒÑ”"
 
-#: elflink.c:11236
+#: elflink.c:11456
 #, c-format
-msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
-msgstr "%A Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ [Â«%AÂ» Ñƒ %B] Ñ– Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ [Â«%AÂ» Ñƒ %B] Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸"
+msgid "%pA has both ordered [`%pA' in %pB] and unordered [`%pA' in %pB] sections"
+msgstr "%pA Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ [Â«%pAÂ» Ñƒ %pB] Ñ– Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ [Â«%pAÂ» Ñƒ %pB] Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸"
 
-#: elflink.c:11242
+#: elflink.c:11462
 #, c-format
-msgid "%A has both ordered and unordered sections"
-msgstr "%A Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ– Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸"
+msgid "%pA has both ordered and unordered sections"
+msgstr "%pA Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð¾Ð´Ñ€Ð°Ð·Ñƒ Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ– Ð½ÐµÐ²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸"
 
-#: elflink.c:11344
-msgid "%B: no symbol found for import library"
-msgstr "%B: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð´Ð»Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�"
+#: elflink.c:11564
+#, c-format
+msgid "%pB: no symbol found for import library"
+msgstr "%pB: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð´Ð»Ñ� Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elflink.c:11966
+#: elflink.c:12193
 #, c-format
-msgid "%B: file class %s incompatible with %s"
-msgstr "%B: ÐºÐ»Ð°Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² %s Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· %s"
+msgid "%pB: file class %s incompatible with %s"
+msgstr "%pB: ÐºÐ»Ð°Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² %s Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· %s"
 
-#: elflink.c:12183
-msgid "%B: failed to generate import library"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÑƒ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�"
+#: elflink.c:12410
+#, c-format
+msgid "%pB: failed to generate import library"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÑƒ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: elflink.c:12302
+#: elflink.c:12529
 #, c-format
 msgid "warning: %s section has zero size"
 msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼"
 
-#: elflink.c:12350
+#: elflink.c:12577
 #, c-format
 msgid "warning: section '%s' is being made into a note"
 msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%sÂ» Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð¾ Ð½Ð° Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÑƒ"
 
-#: elflink.c:12442
-msgid "%P%X: read-only segment has dynamic relocations.\n"
-msgstr "%P%X: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�.\n"
-
-#: elflink.c:12445
-msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
-msgstr "%P: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑ”Ð¼Ð¾ DT_TEXTREL Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�.\n"
+#: elflink.c:12669
+msgid "%P%X: read-only segment has dynamic relocations\n"
+msgstr "%P%X: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�\n"
+
+#: elflink.c:12672
+msgid "%P: warning: creating a DT_TEXTREL in a shared object\n"
+msgstr "%P: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑ”Ð¼Ð¾ DT_TEXTREL Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ– Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�\n"
 
-#: elflink.c:12570
+#: elflink.c:12797
 msgid "%P%X: can not read symbols: %E\n"
 msgstr "%P%X: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸: %E\n"
 
-#: elflink.c:12732
-msgid "%F%P: corrupt input: %B\n"
-msgstr "%F%P: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ñ– Ð²Ñ…Ñ–Ð´Ð½Ñ– Ð´Ð°Ð½Ñ–: %B\n"
+#: elflink.c:12970
+msgid "%F%P: corrupt input: %pB\n"
+msgstr "%F%P: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ñ– Ð²Ñ…Ñ–Ð´Ð½Ñ– Ð´Ð°Ð½Ñ–: %pB\n"
 
-#: elflink.c:13421
+#: elflink.c:13636
 #, c-format
-msgid "%B: %A+%#Lx: No symbol found for INHERIT"
-msgstr "%B: %A+%#Lx: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð»Ñ� INHERIT"
+msgid "%pB: %pA+%#<PRIx64>: no symbol found for INHERIT"
+msgstr "%pB: %pA+%#<PRIx64>: Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð»Ñ� INHERIT"
 
-#: elflink.c:13597
+#: elflink.c:13812
 #, c-format
-msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
-msgstr "Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ INPUT_SECTION_FLAG, %s\n"
+msgid "unrecognized INPUT_SECTION_FLAG %s\n"
+msgstr "Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ INPUT_SECTION_FLAG, %s\n"
 
 #: elfxx-mips.c:1444
 msgid "static procedure (no name)"
 msgstr "Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ‡Ð½Ð° Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð° (Ð±ÐµÐ· Ð½Ð°Ð·Ð²Ð¸)"
 
-#: elfxx-mips.c:5627
+#: elfxx-mips.c:5629
 msgid "MIPS16 and microMIPS functions cannot call each other"
 msgstr "Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ— MIPS16 Ñ– microMIPS Ð½Ðµ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ñ‚Ð¸ Ð¾Ð´Ð½Ð° Ð¾Ð´Ð½Ñƒ"
 
-#: elfxx-mips.c:6370
-msgid "%X%H: Unsupported JALX to the same ISA mode\n"
+#: elfxx-mips.c:6377
+msgid "%X%H: unsupported JALX to the same ISA mode\n"
 msgstr "%X%H: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ JALX Ð´Ð¾ Ñ‚Ð¾Ð³Ð¾ Ñ�Ð°Ð¼Ð¾Ð³Ð¾ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ ISA\n"
 
-#: elfxx-mips.c:6403
-msgid "%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled\n"
+#: elfxx-mips.c:6410
+msgid "%X%H: unsupported jump between ISA modes; consider recompiling with interlinking enabled\n"
 msgstr "%X%H: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð¼Ñ–Ð¶ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA; Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ Ð²Ð·Ð°Ñ”Ð¼Ð½Ð¸Ð¼ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�Ð¼\n"
 
-#: elfxx-mips.c:6444
-msgid "%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range\n"
+#: elfxx-mips.c:6455
+msgid "%X%H: cannot convert branch between ISA modes to JALX: relocation out of range\n"
 msgstr "%X%H: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÑŽÐ²Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð¼Ñ–Ð¶ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA Ð½Ð° JALX: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ\n"
 
-#: elfxx-mips.c:6456
-msgid "%X%H: Unsupported branch between ISA modes\n"
+#: elfxx-mips.c:6467
+msgid "%X%H: unsupported branch between ISA modes\n"
 msgstr "%X%H: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð¼Ñ–Ð¶ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð¼Ð¸ ISA\n"
 
-#: elfxx-mips.c:7134 elfxx-mips.c:7369
+#: elfxx-mips.c:7111
+#, c-format
+msgid "%pB: incorrect `.reginfo' section size; expected %<PRIu64>, got %<PRIu64>"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«.reginfoÂ»; Ð¼Ð°Ð² Ð±ÑƒÑ‚Ð¸ %<PRIu64>, Ð¼Ð°Ñ”Ð¼Ð¾ %<PRIu64>"
+
+#: elfxx-mips.c:7155 elfxx-mips.c:7390
 #, c-format
-msgid "%B: Warning: bad `%s' option size %u smaller than its header"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Â«%sÂ», %u, Ð¼ÐµÐ½ÑˆÐ¸Ð¹ Ð·Ð° Ð¹Ð¾Ð³Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº"
+msgid "%pB: warning: bad `%s' option size %u smaller than its header"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Â«%sÂ», %u, Ð¼ÐµÐ½ÑˆÐ¸Ð¹ Ð·Ð° Ð¹Ð¾Ð³Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº"
 
-#: elfxx-mips.c:8125 elfxx-mips.c:8251
+#: elfxx-mips.c:8146 elfxx-mips.c:8272
 #, c-format
-msgid "%B: Warning: cannot determine the target function for stub section `%s'"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°, Â«%sÂ»"
+msgid "%pB: warning: cannot determine the target function for stub section `%s'"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°, Â«%sÂ»"
 
-#: elfxx-mips.c:8383
+#: elfxx-mips.c:8404
 #, c-format
-msgid "%B: Malformed reloc detected for section %s"
-msgstr "%B: Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ– Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ�"
+msgid "%pB: malformed reloc detected for section %s"
+msgstr "%pB: Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ– Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ�"
 
-#: elfxx-mips.c:8459
+#: elfxx-mips.c:8476
 #, c-format
-msgid "%B: GOT reloc at 0x%lx not expected in executables"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT Ñƒ 0x%lx Ñ” Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¼ Ñƒ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ð°Ñ…"
+msgid "%pB: GOT reloc at %#<PRIx64> not expected in executables"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� GOT Ñƒ %#<PRIx64> Ñ” Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¼ Ñƒ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ñ… Ñ„Ð°Ð¹Ð»Ð°Ñ…"
 
-#: elfxx-mips.c:8597
+#: elfxx-mips.c:8614
 #, c-format
-msgid "%B: CALL16 reloc at 0x%lx not against global symbol"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CALL16 Ñƒ 0x%lx Ð½Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
+msgid "%pB: CALL16 reloc at %#<PRIx64> not against global symbol"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CALL16 Ñƒ %#<PRIx64> Ð½Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: elfxx-mips.c:9219
+#: elfxx-mips.c:9237
 #, c-format
 msgid "non-dynamic relocations refer to dynamic symbol %s"
 msgstr "Ð½ÐµÐ´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ�Ð¸Ð»Ð°ÑŽÑ‚ÑŒÑ�Ñ� Ð½Ð° Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð», %s"
 
-#: elfxx-mips.c:10139
+#: elfxx-mips.c:10164
 #, c-format
-msgid "%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� LO16 Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð´Ð»Ñ� %s Ñƒ 0x%lx Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%AÂ»"
+msgid "%pB: can't find matching LO16 reloc against `%s' for %s at %#<PRIx64> in section `%pA'"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� LO16 Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ð´Ð»Ñ� %s Ñƒ %#<PRIx64> Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ»"
 
-#: elfxx-mips.c:10279
+#: elfxx-mips.c:10304
 msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
 msgstr "Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” 64 ÐºÐ‘; Ð½Ð¸Ð¶Ñ‡Ð¸Ð¹ Ð·Ð° Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð¼Ð°Ð»Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… (Ð´Ð¸Ð². Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -G)"
 
-#: elfxx-mips.c:10298
-msgid "Cannot convert a jump to JALX for a non-word-aligned address"
-msgstr "Ð�ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð½Ð° JALX Ð´Ð»Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸, Ñ�ÐºÑƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð°"
-
-#: elfxx-mips.c:10301
-msgid "Jump to a non-word-aligned address"
-msgstr "ÐŸÐµÑ€ÐµÑ…Ñ–Ð´ Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ�Ð»Ð¾Ð²Ð¾Ð¼ Ð°Ð´Ñ€ÐµÑ�Ð¸"
-
-#: elfxx-mips.c:10302
-msgid "Jump to a non-instruction-aligned address"
-msgstr "JALX Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¸"
-
-#: elfxx-mips.c:10305
-msgid "Cannot convert a branch to JALX for a non-word-aligned address"
-msgstr "Ð�ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð½Ð° JALX Ð´Ð»Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸, Ñ�ÐºÑƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð°"
-
-#: elfxx-mips.c:10307
-msgid "Branch to a non-instruction-aligned address"
-msgstr "Ð Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¸"
+#: elfxx-mips.c:10323
+msgid "cannot convert a jump to JALX for a non-word-aligned address"
+msgstr "Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð½Ð° JALX Ð´Ð»Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸, Ñ�ÐºÑƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð°"
+
+#: elfxx-mips.c:10326
+msgid "jump to a non-word-aligned address"
+msgstr "Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ�Ð»Ð¾Ð²Ð¾Ð¼ Ð°Ð´Ñ€ÐµÑ�Ð¸"
+
+#: elfxx-mips.c:10327
+msgid "jump to a non-instruction-aligned address"
+msgstr "Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´ Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¸"
+
+#: elfxx-mips.c:10330
+msgid "cannot convert a branch to JALX for a non-word-aligned address"
+msgstr "Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð½Ð° JALX Ð´Ð»Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸, Ñ�ÐºÑƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾ Ð½Ð° Ð¼ÐµÐ¶Ñƒ Ñ�Ð»Ð¾Ð²Ð°"
+
+#: elfxx-mips.c:10332
+msgid "branch to a non-instruction-aligned address"
+msgstr "Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð´Ð¾ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð·Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ”ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¸"
 
-#: elfxx-mips.c:10309
+#: elfxx-mips.c:10334
 msgid "PC-relative load from unaligned address"
 msgstr "Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ PC Ð· Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸"
 
-#: elfxx-mips.c:10683 elfxx-mips.c:11251
+#: elfxx-mips.c:10612
+#, c-format
+msgid "%pB: `%pA' entry VMA of %#<PRIx64> outside the 32-bit range supported; consider using `-Ttext-segment=...'"
+msgstr "%pB: Ð·Ð°Ð¿Ð¸Ñ� Â«%pAÂ» VMA %#<PRIx64> Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¼ 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼; Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ�Ñ� Â«-Ttext-segment=...Â»"
+
+#: elfxx-mips.c:10725 elfxx-mips.c:11298
 #, c-format
-msgid "%B: `%A' offset of %ld from `%A' beyond the range of ADDIUPC"
-msgstr "%B: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� Â«%AÂ» %ld Ð· Â«%AÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ ADDIUPC"
+msgid "%pB: `%pA' offset of %<PRId64> from `%pA' beyond the range of ADDIUPC"
+msgstr "%pB: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ� Â«%pAÂ» %<PRId64> Ð· Â«%pAÂ» Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ ADDIUPC"
 
-#: elfxx-mips.c:14174
+#: elfxx-mips.c:11270
 #, c-format
-msgid "%B: Unknown architecture %s"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° %s"
+msgid "%pB: `%pA' start VMA of %#<PRIx64> outside the 32-bit range supported; consider using `-Ttext-segment=...'"
+msgstr "%pB: Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¾Ðº Â«%pAÂ» VMA %#<PRIx64> Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¼ 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼; Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ñ�ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ñ‚Ð¸Ñ�Ñ� Â«-Ttext-segment=...Â»"
 
-#: elfxx-mips.c:14704
+#: elfxx-mips.c:14178
 #, c-format
-msgid "%B: illegal section name `%A'"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð½Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Â«%AÂ»"
+msgid "%pB: unknown architecture %s"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° %s"
 
-#: elfxx-mips.c:14981
-msgid "%B: warning: linking abicalls files with non-abicalls files"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² abicalls Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· abicalls"
+#: elfxx-mips.c:14712
+#, c-format
+msgid "%pB: illegal section name `%pA'"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð½Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Â«%pAÂ»"
 
-#: elfxx-mips.c:14998
-msgid "%B: linking 32-bit code with 64-bit code"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ Ð· 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ ÐºÐ¾Ð´Ð¾Ð¼"
+#: elfxx-mips.c:14989
+#, c-format
+msgid "%pB: warning: linking abicalls files with non-abicalls files"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ„Ð°Ð¹Ð»Ñ–Ð² abicalls Ð· Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ð±ÐµÐ· abicalls"
 
-#: elfxx-mips.c:15030 elfxx-mips.c:15096 elfxx-mips.c:15111
+#: elfxx-mips.c:15006
 #, c-format
-msgid "%B: linking %s module with previous %s modules"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÑ”Ð¼Ð¾ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
+msgid "%pB: linking 32-bit code with 64-bit code"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ Ð· 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¼ ÐºÐ¾Ð´Ð¾Ð¼"
 
-#: elfxx-mips.c:15054
+#: elfxx-mips.c:15038 elfxx-mips.c:15104 elfxx-mips.c:15119
 #, c-format
-msgid "%B: ABI mismatch: linking %s module with previous %s modules"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ABI: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
+msgid "%pB: linking %s module with previous %s modules"
+msgstr "%pB: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÑ”Ð¼Ð¾ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
 
-#: elfxx-mips.c:15079
+#: elfxx-mips.c:15062
 #, c-format
-msgid "%B: ASE mismatch: linking %s module with previous %s modules"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ASE: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
+msgid "%pB: ABI mismatch: linking %s module with previous %s modules"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ABI: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
 
-#: elfxx-mips.c:15214
-msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %d"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ð´Ð»Ñ� Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d"
+#: elfxx-mips.c:15087
+#, c-format
+msgid "%pB: ASE mismatch: linking %s module with previous %s modules"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ASE: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ� %s Ð· Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ð¼Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ %s"
 
-#: elfxx-mips.c:15220
+#: elfxx-mips.c:15221
 #, c-format
-msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses %s"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s"
+msgid "warning: %pB uses unknown floating point ABI %d (set by %pB), %pB uses unknown floating point ABI %d"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ð´Ð»Ñ� Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d"
 
-#: elfxx-mips.c:15226
+#: elfxx-mips.c:15227
 #, c-format
-msgid "Warning: %B uses %s (set by %B), %B uses unknown floating point ABI %d"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ð´Ð»Ñ� Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d"
+msgid "warning: %pB uses unknown floating point ABI %d (set by %pB), %pB uses %s"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s"
 
-#: elfxx-mips.c:15240
+#: elfxx-mips.c:15233
 #, c-format
-msgid "Warning: %B uses %s (set by %B), %B uses %s"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s"
+msgid "warning: %pB uses %s (set by %pB), %pB uses unknown floating point ABI %d"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ð´Ð»Ñ� Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d"
 
-#: elfxx-mips.c:15259
+#: elfxx-mips.c:15247
 #, c-format
-msgid "Warning: %B uses %s (set by %B), %B uses unknown MSA ABI %d"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %d"
+msgid "warning: %pB uses %s (set by %pB), %pB uses %s"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s"
 
-#: elfxx-mips.c:15271
+#: elfxx-mips.c:15266
 #, c-format
-msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses %s"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s"
+msgid "warning: %pB uses %s (set by %pB), %pB uses unknown MSA ABI %d"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %d"
 
-#: elfxx-mips.c:15280
+#: elfxx-mips.c:15278
 #, c-format
-msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %d"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA %d (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %B), Ð° %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %d"
+msgid "warning: %pB uses unknown MSA ABI %d (set by %pB), %pB uses %s"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %d, (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” %s"
 
-#: elfxx-mips.c:15342
-msgid "%B: endianness incompatible with that of the selected emulation"
-msgstr "%B: Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾Ñ— ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—"
+#: elfxx-mips.c:15287
+#, c-format
+msgid "warning: %pB uses unknown MSA ABI %d (set by %pB), %pB uses unknown MSA ABI %d"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA %d (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ %pB), Ð° %pB Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI MSA, %d"
 
-#: elfxx-mips.c:15356
-msgid "%B: ABI is incompatible with that of the selected emulation"
-msgstr "%B: ABI Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· ABI Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾Ñ— ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—"
+#: elfxx-mips.c:15349
+#, c-format
+msgid "%pB: endianness incompatible with that of the selected emulation"
+msgstr "%pB: Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾Ñ— ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—"
 
-#: elfxx-mips.c:15408
-msgid "%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ISA Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags"
+#: elfxx-mips.c:15363
+#, c-format
+msgid "%pB: ABI is incompatible with that of the selected emulation"
+msgstr "%pB: ABI Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ð· ABI Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾Ñ— ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—"
 
-#: elfxx-mips.c:15413
-msgid "%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ABI FP Ð¼Ñ–Ð¶ .gnu.attributes Ñ– .MIPS.abiflags"
+#: elfxx-mips.c:15415
+#, c-format
+msgid "%pB: warning: inconsistent ISA between e_flags and .MIPS.abiflags"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ISA Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags"
 
-#: elfxx-mips.c:15417
-msgid "%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ASE Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags"
+#: elfxx-mips.c:15420
+#, c-format
+msgid "%pB: warning: inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ABI FP Ð¼Ñ–Ð¶ .gnu.attributes Ñ– .MIPS.abiflags"
 
 #: elfxx-mips.c:15424
-msgid "%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½ÑŒ ISA Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags"
+#, c-format
+msgid "%pB: warning: inconsistent ASEs between e_flags and .MIPS.abiflags"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ ASE Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags"
 
-#: elfxx-mips.c:15428
-msgid "%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñƒ Ð¿Ð¾Ð»Ñ– flags2 .MIPS.abiflags (0x%lx)"
+#: elfxx-mips.c:15431
+#, c-format
+msgid "%pB: warning: inconsistent ISA extensions between e_flags and .MIPS.abiflags"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½ÑŒ ISA Ð¼Ñ–Ð¶ e_flags Ñ– .MIPS.abiflags"
+
+#: elfxx-mips.c:15435
+#, c-format
+msgid "%pB: warning: unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€ÐµÑ†ÑŒ Ñƒ Ð¿Ð¾Ð»Ñ– flags2 .MIPS.abiflags (0x%lx)"
 
-#: elfxx-mips.c:15617
+#: elfxx-mips.c:15624
 msgid "-mips32r2 -mfp64 (12 callee-saved)"
 msgstr "-mips32r2 -mfp64 (12 Ð±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¸Ñ… Ð´Ð»Ñ� Ð²Ð¸ÐºÐ»Ð¸ÐºÑ–Ð² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²)"
 
-#: elfxx-mips.c:15667 elfxx-mips.c:15678
+#: elfxx-mips.c:15678 elfxx-mips.c:15689
 msgid "None"
 msgstr "Ð�ÐµÐ¼Ð°Ñ”"
 
-#: elfxx-mips.c:15669 elfxx-mips.c:15741
+#: elfxx-mips.c:15680 elfxx-mips.c:15752
 msgid "Unknown"
 msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹"
 
-#: elfxx-mips.c:15752
+#: elfxx-mips.c:15763
 #, c-format
 msgid "Hard or soft float\n"
 msgstr "Ð�Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð°Ð±Ð¾ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ°\n"
 
-#: elfxx-mips.c:15755
+#: elfxx-mips.c:15766
 #, c-format
 msgid "Hard float (double precision)\n"
 msgstr "Ð�Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ° (Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð° Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŒ)\n"
 
-#: elfxx-mips.c:15758
+#: elfxx-mips.c:15769
 #, c-format
 msgid "Hard float (single precision)\n"
 msgstr "Ð�Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ° (Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð° Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŒ)\n"
 
-#: elfxx-mips.c:15761
+#: elfxx-mips.c:15772
 #, c-format
 msgid "Soft float\n"
 msgstr "ÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ°\n"
 
-#: elfxx-mips.c:15764
+#: elfxx-mips.c:15775
 #, c-format
 msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
 msgstr "Ð�Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ° (64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ�Ð¿Ñ–Ð²Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€ MIPS32r2, 12 Ð±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¸Ñ… Ð´Ð»Ñ� Ð²Ð¸ÐºÐ»Ð¸ÐºÑ–Ð² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²)\n"
 
-#: elfxx-mips.c:15767
+#: elfxx-mips.c:15778
 #, c-format
 msgid "Hard float (32-bit CPU, Any FPU)\n"
 msgstr "Ð�Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ° (32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€, Ð±ÑƒÐ´ÑŒ-Ñ�ÐºÐ¸Ð¹ FPU)\n"
 
-#: elfxx-mips.c:15770
+#: elfxx-mips.c:15781
 #, c-format
 msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
 msgstr "Ð�Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ñ€ÑƒÑ…Ð¾Ð¼Ð° ÐºÑ€Ð°Ð¿ÐºÐ° (32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€, 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ FPU)\n"
 
-#: elfxx-mips.c:15773
+#: elfxx-mips.c:15784
 #, c-format
 msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
 msgstr "Ð¡ÑƒÐ¼Ñ–Ñ�Ð½Ñ–Ñ�Ñ‚ÑŒ Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾Ñ— Ñ€ÑƒÑ…Ð¾Ð¼Ð¾Ñ— ÐºÑ€Ð°Ð¿ÐºÐ¸ (32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€, 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ FPU)\n"
 
-#: elfxx-mips.c:15805
+#: elfxx-mips.c:15816
 #, c-format
 msgid " [abi=O32]"
 msgstr " [abi=O32]"
 
-#: elfxx-mips.c:15807
+#: elfxx-mips.c:15818
 #, c-format
 msgid " [abi=O64]"
 msgstr " [abi=O64]"
 
-#: elfxx-mips.c:15809
+#: elfxx-mips.c:15820
 #, c-format
 msgid " [abi=EABI32]"
 msgstr " [abi=EABI32]"
 
-#: elfxx-mips.c:15811
+#: elfxx-mips.c:15822
 #, c-format
 msgid " [abi=EABI64]"
 msgstr " [abi=EABI64]"
 
-#: elfxx-mips.c:15813
+#: elfxx-mips.c:15824
 #, c-format
 msgid " [abi unknown]"
 msgstr " [Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ abi]"
 
-#: elfxx-mips.c:15815
+#: elfxx-mips.c:15826
 #, c-format
 msgid " [abi=N32]"
 msgstr " [abi=N32]"
 
-#: elfxx-mips.c:15817
+#: elfxx-mips.c:15828
 #, c-format
 msgid " [abi=64]"
 msgstr " [abi=64]"
 
-#: elfxx-mips.c:15819
+#: elfxx-mips.c:15830
 #, c-format
 msgid " [no abi set]"
 msgstr " [Ð½Ðµ Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ abi]"
 
-#: elfxx-mips.c:15844
+#: elfxx-mips.c:15855
 #, c-format
 msgid " [unknown ISA]"
 msgstr " [Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ISA]"
 
-#: elfxx-mips.c:15864
+#: elfxx-mips.c:15875
 #, c-format
 msgid " [not 32bitmode]"
 msgstr " [Ð½Ðµ 32-Ð±Ñ–Ñ‚.Ñ€ÐµÐ¶Ð¸Ð¼]"
 
-#: elfxx-riscv.c:948
+#: elfxx-sparc.c:3115
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:5283
 #, c-format
-msgid "unrecognized relocation (0x%x)"
-msgstr "Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (0x%x)"
+msgid "%pB: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC Â«%sÂ» Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»Ñ�Ñ”Ñ‚ÑŒÑ�Ñ� %s"
 
-#: elfxx-sparc.c:639
+#: elfxx-tilegx.c:4254
 #, c-format
-msgid "invalid relocation type %d"
-msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d"
+msgid "%pB: cannot link together %s and %s objects"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð¸ %s Ñ‚Ð° %s"
 
-#: elfxx-sparc.c:3301
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5002
+#: elfxx-x86.c:578
 #, c-format
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ STT_GNU_IFUNC Â«%sÂ» Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»Ñ�Ñ”Ñ‚ÑŒÑ�Ñ� %s"
+msgid "%P: %pB: warning: relocation against `%s' in read-only section `%pA'\n"
+msgstr "%P: %pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Â«%sÂ» Ñƒ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ»\n"
 
-#: elfxx-tilegx.c:4436
-#, c-format
-msgid "%B: Cannot link together %s and %s objects."
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð¸ %s Ñ‚Ð° %s."
+#: elfxx-x86.c:1027
+msgid "%P: %pB: warning: relocation in read-only section `%pA'\n"
+msgstr "%P: %pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Â«%pAÂ»\n"
 
-#: i386linux.c:416 m68klinux.c:419 sparclinux.c:412
+#: elfxx-x86.c:1375
+msgid "%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
+msgstr "%P%X: Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� IFUNC. Ð¡Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ Ð· -fPIC\n"
+
+#: elfxx-x86.c:2373
 #, c-format
-msgid "Output file requires shared library `%s'\n"
-msgstr "Ð¤Ð°Ð¹Ð»Ñƒ-Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñƒ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð° Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Â«%sÂ»\n"
+msgid "error: %pB: <corrupt x86 ISA used size: 0x%x>"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾Ð³Ð¾ ISA x86: 0x%x>"
 
-#: i386linux.c:424 m68klinux.c:428 sparclinux.c:421
+#: elfxx-x86.c:2375
 #, c-format
-msgid "Output file requires shared library `%s.so.%s'\n"
-msgstr "Ð¤Ð°Ð¹Ð»Ñƒ-Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñƒ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð° Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Â«%s.so.%sÂ»\n"
+msgid "error: %pB: <corrupt x86 ISA needed size: 0x%x>"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ð³Ð¾ ISA x86: 0x%x>"
 
-#: i386linux.c:611 i386linux.c:661 m68klinux.c:617 m68klinux.c:665
-#: sparclinux.c:608 sparclinux.c:658
+#: elfxx-x86.c:2376
 #, c-format
-msgid "Symbol %s not defined for fixups\n"
-msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» %s Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ� Ð°Ð´Ñ€ÐµÑ�Ð½Ð¸Ñ… Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·Ð¾Ðº\n"
+msgid "error: %pB: <corrupt x86 feature size: 0x%x>"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %pB: <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ñ�Ñ‚Ñ– x86: 0x%x>"
 
-#: i386linux.c:685 m68klinux.c:689 sparclinux.c:682
-msgid "Warning: fixup count mismatch\n"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ–Ñ�Ñ‚ÑŒ ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ð°Ð´Ñ€ÐµÑ�Ð½Ð¸Ñ… Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·Ð¾Ðº\n"
+#: elfxx-x86.c:2548
+msgid "%F%P: failed to create GNU property section\n"
+msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð²Ð»Ð°Ñ�Ñ‚Ð¸Ð²Ð¾Ñ�Ñ‚ÐµÐ¹ GNU\n"
 
-#: ieee.c:159
+#: elfxx-x86.c:2553
 #, c-format
-msgid "%B: string too long (%d chars, max 65535)"
-msgstr "%B: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð´Ð¾Ð²Ð³Ð¸Ð¹ Ñ€Ñ�Ð´Ð¾Ðº (%d Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð², Ð¼Ð°ÐºÑ�. Ðº-Ñ‚ÑŒ â€” 65535)"
+msgid "%F%pA: failed to align section\n"
+msgstr "%F%pA: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ñ‚Ð¸ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€\n"
 
-#: ieee.c:226
-#, c-format
-msgid "IEEE parser: string length: %#lx longer than buffer: %#lx"
-msgstr "Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸Ðº IEEE: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ñ�Ð´ÐºÐ°: %#lx Ð´Ð¾Ð²ÑˆÐ¸Ð¹ Ð·Ð° Ð±ÑƒÑ„ÐµÑ€: %#lx"
+#: elfxx-x86.c:2705
+msgid "%F%P: failed to create VxWorks dynamic sections\n"
+msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ñ– Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ VxWorks\n"
 
-#: ieee.c:302
-#, c-format
-msgid "%B: unrecognized symbol `%s' flags 0x%x"
-msgstr "%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», 0x%x"
+#: elfxx-x86.c:2714
+msgid "%F%P: failed to create GOT sections\n"
+msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ GOT\n"
 
-#: ieee.c:837
-#, c-format
-msgid "%B: unimplemented ATI record %u for symbol %u"
-msgstr "%B: Ð½ÐµÑ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� ATI, %u, Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %u"
+#: elfxx-x86.c:2732
+msgid "%F%P: failed to create ifunc sections\n"
+msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸ ifunc\n"
 
-#: ieee.c:862
-#, c-format
-msgid "%B: unexpected ATN type %d in external part"
-msgstr "%B: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ ATN, %d, Ñƒ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ð¹ Ñ‡Ð°Ñ�Ñ‚Ð¸Ð½Ñ–"
+#: elfxx-x86.c:2773
+msgid "%F%P: failed to create GOT PLT section\n"
+msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT GOT\n"
+
+#: elfxx-x86.c:2794
+msgid "%F%P: failed to create IBT-enabled PLT section\n"
+msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT Ñ–Ð· ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼ IBT\n"
 
-#: ieee.c:884
-msgid "%B: unexpected type after ATN"
-msgstr "%B: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ñ–Ñ�Ð»Ñ� ATN"
+#: elfxx-x86.c:2809
+msgid "%F%P: failed to create BND PLT section\n"
+msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» PLT BND\n"
+
+#: elfxx-x86.c:2830
+msgid "%F%P: failed to create PLT .eh_frame section\n"
+msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT\n"
+
+#: elfxx-x86.c:2843
+msgid "%F%P: failed to create GOT PLT .eh_frame section\n"
+msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT GOT\n"
+
+#: elfxx-x86.c:2857
+msgid "%F%P: failed to create the second PLT .eh_frame section\n"
+msgstr "%F%P: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð´Ñ€ÑƒÐ³Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» .eh_frame PLT\n"
 
 #: ihex.c:230
 #, c-format
-msgid "%B:%d: unexpected character `%s' in Intel Hex file"
-msgstr "%B:%d: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
+msgid "%pB:%d: unexpected character `%s' in Intel Hex file"
+msgstr "%pB:%d: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
 
 #: ihex.c:338
 #, c-format
-msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)"
-msgstr "%B:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð° Ñ�ÑƒÐ¼Ð° Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel (Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� %u, Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ %u)"
+msgid "%pB:%u: bad checksum in Intel Hex file (expected %u, found %u)"
+msgstr "%pB:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð° Ñ�ÑƒÐ¼Ð° Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel (Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� %u, Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ %u)"
 
 #: ihex.c:394
 #, c-format
-msgid "%B:%u: bad extended address record length in Intel Hex file"
-msgstr "%B:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
+msgid "%pB:%u: bad extended address record length in Intel Hex file"
+msgstr "%pB:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
 
 #: ihex.c:412
 #, c-format
-msgid "%B:%u: bad extended start address length in Intel Hex file"
-msgstr "%B:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
+msgid "%pB:%u: bad extended start address length in Intel Hex file"
+msgstr "%pB:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
 
 #: ihex.c:430
 #, c-format
-msgid "%B:%u: bad extended linear address record length in Intel Hex file"
-msgstr "%B:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð»Ñ–Ð½Ñ–Ð¹Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
+msgid "%pB:%u: bad extended linear address record length in Intel Hex file"
+msgstr "%pB:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð»Ñ–Ð½Ñ–Ð¹Ð½Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
 
 #: ihex.c:448
 #, c-format
-msgid "%B:%u: bad extended linear start address length in Intel Hex file"
-msgstr "%B:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð»Ñ–Ð½Ñ–Ð¹Ð½Ð¾Ñ— Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
+msgid "%pB:%u: bad extended linear start address length in Intel Hex file"
+msgstr "%pB:%u: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ñ— Ð»Ñ–Ð½Ñ–Ð¹Ð½Ð¾Ñ— Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
 
 #: ihex.c:466
 #, c-format
-msgid "%B:%u: unrecognized ihex type %u in Intel Hex file"
-msgstr "%B:%u: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ ihex %u Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
+msgid "%pB:%u: unrecognized ihex type %u in Intel Hex file"
+msgstr "%pB:%u: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ ihex %u Ñƒ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Intel"
 
 #: ihex.c:585
-msgid "%B: internal error in ihex_read_section"
-msgstr "%B: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ ihex_read_section"
+#, c-format
+msgid "%pB: internal error in ihex_read_section"
+msgstr "%pB: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ ihex_read_section"
 
 #: ihex.c:619
-msgid "%B: bad section length in ihex_read_section"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ ihex_read_section"
+#, c-format
+msgid "%pB: bad section length in ihex_read_section"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ ihex_read_section"
 
-#: ihex.c:833
+#: ihex.c:830
 #, c-format
-msgid "%B: address 0x%s out of range for Intel Hex file"
-msgstr "%B: Ð°Ð´Ñ€ÐµÑ�Ð° 0x%s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° Intel"
+msgid "%pB: address %#<PRIx64> out of range for Intel Hex file"
+msgstr "%pB: Ð°Ð´Ñ€ÐµÑ�Ð° %#<PRIx64> Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° Intel"
 
-#: libbfd.c:799
+#: libbfd.c:898
 #, c-format
-msgid "%B: unable to get decompressed section %A"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %A"
+msgid "%pB: unable to get decompressed section %pA"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %pA"
 
-#: libbfd.c:963
+#: libbfd.c:1062
 #, c-format
 msgid "Deprecated %s called at %s line %d in %s\n"
 msgstr "Ð’Ð¸ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ñƒ %s Ñƒ %s, Ñ€Ñ�Ð´Ð¾Ðº %d Ñƒ %s\n"
 
-#: libbfd.c:966
+#: libbfd.c:1065
 #, c-format
 msgid "Deprecated %s called\n"
 msgstr "Ð’Ð¸ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ñƒ %s\n"
 
-#: linker.c:1669
+#: linker.c:1684
+#, c-format
+msgid "%pB: indirect symbol `%s' to `%s' is a loop"
+msgstr "%pB: Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ» Ñ” Ñ†Ð¸ÐºÐ»Ð¾Ð¼"
+
+#: linker.c:2554
+#, c-format
+msgid "attempt to do relocatable link with %s input and %s output"
+msgstr "Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð·Ð²â€™Ñ�Ð·ÐºÑƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· Ð²Ñ…Ñ–Ð´Ð½Ð¸Ð¼ %s Ñ– Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ð¼ %s"
+
+#: linker.c:2840
+#, c-format
+msgid "%pB: ignoring duplicate section `%pA'\n"
+msgstr "%pB: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ»\n"
+
+#: linker.c:2850 linker.c:2860
+#, c-format
+msgid "%pB: duplicate section `%pA' has different size\n"
+msgstr "%pB: Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð¼Ð°Ñ” Ñ–Ð½ÑˆÐ¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€\n"
+
+#: linker.c:2869 linker.c:2875
+#, c-format
+msgid "%pB: could not read contents of section `%pA'\n"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ»\n"
+
+#: linker.c:2880
+#, c-format
+msgid "%pB: duplicate section `%pA' has different contents\n"
+msgstr "%pB: Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%pAÂ» Ð¼Ð°Ñ” Ñ–Ð½ÑˆÐ¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚\n"
+
+#: linker.c:3394
+#, c-format
+msgid "%pB: compiled for a big endian system and target is little endian"
+msgstr "%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸ Ð· Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð², Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð° Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#: linker.c:3397
+#, c-format
+msgid "%pB: compiled for a little endian system and target is big endian"
+msgstr "%pB: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸ Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð², Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð° Ð·Ñ– Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#: mach-o.c:632
+#, c-format
+msgid "<unknown mask flags>"
+msgstr "<Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ð¼Ð°Ñ�ÐºÑƒÐ²Ð°Ð½Ð½Ñ�>"
+
+#: mach-o.c:687
+msgid " (<unknown>)"
+msgstr " (<Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾>)"
+
+#: mach-o.c:698
+#, c-format
+msgid " MACH-O header:\n"
+msgstr "Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº MACH-O:\n"
+
+#: mach-o.c:699
+#, c-format
+msgid "   magic:      %#lx\n"
+msgstr "  magic:       %#lx\n"
+
+#: mach-o.c:700
 #, c-format
-msgid "%B: indirect symbol `%s' to `%s' is a loop"
-msgstr "%B: Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð´Ð»Ñ� Â«%sÂ» Ñ” Ñ†Ð¸ÐºÐ»Ð¾Ð¼"
+msgid "   cputype:    %#lx (%s)\n"
+msgstr " Ñ‚Ð¸Ð¿ Ð¿Ñ€Ð¾Ñ†. : %#lx (%s)\n"
 
-#: linker.c:2539
+#: mach-o.c:702
 #, c-format
-msgid "Attempt to do relocatable link with %s input and %s output"
-msgstr "Ð¡Ð¿Ñ€Ð¾Ð±Ð° Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð·Ð²â€™Ñ�Ð·ÐºÑƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· Ð²Ñ…Ñ–Ð´Ð½Ð¸Ð¼ %s Ñ– Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ð¼ %s"
+msgid "   cpusubtype: %#lx%s\n"
+msgstr " Ð¿Ñ–Ð´Ñ‚Ð¸Ð¿ Ð¿Ñ€Ð¾Ñ†.: %#lx (%s)\n"
 
-#: linker.c:2825
+#: mach-o.c:704
 #, c-format
-msgid "%B: ignoring duplicate section `%A'\n"
-msgstr "%B: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ»\n"
+msgid "   filetype:   %#lx\n"
+msgstr " Ñ‚Ð¸Ð¿ Ñ„Ð°Ð¹Ð»Ð° : %#lx\n"
 
-#: linker.c:2835 linker.c:2845
+#: mach-o.c:705
 #, c-format
-msgid "%B: duplicate section `%A' has different size\n"
-msgstr "%B: Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð¼Ð°Ñ” Ñ–Ð½ÑˆÐ¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€\n"
+msgid "   ncmds:      %#lx\n"
+msgstr " ÐºÑ‚ÑŒ_ÐºÐ¾Ð¼Ð°Ð½Ð´: %#lx\n"
 
-#: linker.c:2854 linker.c:2860
+#: mach-o.c:706
 #, c-format
-msgid "%B: could not read contents of section `%A'\n"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ»\n"
+msgid "   sizeocmds:  %#lx\n"
+msgstr " Ñ€Ð¾Ð·Ð¼Ñ–Ñ€_ÐºÐ¼Ð´: %#lx\n"
 
-#: linker.c:2865
+#: mach-o.c:707
 #, c-format
-msgid "%B: duplicate section `%A' has different contents\n"
-msgstr "%B: Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ð¼Ð°Ñ” Ñ–Ð½ÑˆÐ¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚\n"
+msgid "   flags:      %#lx\n"
+msgstr "   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: %lx\n"
 
-#: linker.c:3353
-msgid "%B: compiled for a big endian system and target is little endian"
-msgstr "%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸ Ð· Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð², Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð° Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+#: mach-o.c:708
+#, c-format
+msgid "   version:    %x\n"
+msgstr "  Ð²ÐµÑ€Ñ�Ñ–Ñ�:      %x\n"
 
-#: linker.c:3356
-msgid "%B: compiled for a little endian system and target is big endian"
-msgstr "%B: Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¾ Ð´Ð»Ñ� Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸ Ð·Ñ– Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð², Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð° Ð·Ñ– Ð¿Ñ€Ñ�Ð¼Ð¸Ð¼ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð¼ Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+#. Urg - what has happened ?
+#: mach-o.c:743
+#, c-format
+msgid "incompatible cputypes in mach-o files: %ld vs %ld"
+msgstr "Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ñ– Ñ‚Ð¸Ð¿Ð¸ Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ñ–Ð² Ñƒ Ñ„Ð°Ð¹Ð»Ð°Ñ… mach-o: %ld Ñ– %ld"
 
-#: mach-o.c:779
+#: mach-o.c:912
 msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
 msgstr "bfd_mach_o_canonicalize_symtab: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸"
 
-#: mach-o.c:1981
+#: mach-o.c:2108
 msgid "sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands."
 msgstr "Ð²Ð¸Ð±ÐµÑ‡Ñ‚Ðµ, modtab, toc Ñ‚Ð° extrefsyms Ð´Ð»Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´ dysymtab Ñƒ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ñ–Ð¹ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ñ‰Ðµ Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾."
 
-#: mach-o.c:2424
+#: mach-o.c:2551
 #, c-format
 msgid "mach-o: there are too many sections (%u) maximum is 255,\n"
 msgstr "mach-o: Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² (%u), Ð¼Ð°ÐºÑ�Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð° ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” 255,\n"
 
-#: mach-o.c:2531
+#: mach-o.c:2658
 #, c-format
-msgid "unable to allocate data for load command 0x%lx"
-msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð´Ð°Ð½Ñ– Ð´Ð»Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� 0x%lx"
+msgid "unable to allocate data for load command %#x"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð´Ð°Ð½Ñ– Ð´Ð»Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� %#x"
 
-#: mach-o.c:2636
+#: mach-o.c:2763
 #, c-format
-msgid "unable to write unknown load command 0x%lx"
-msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, 0x%lx"
+msgid "unable to write unknown load command %#x"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, %#x"
 
-#: mach-o.c:2820
+#: mach-o.c:2947
 #, c-format
-msgid "section address (%lx) below start of segment (%lx)"
-msgstr "Ð°Ð´Ñ€ÐµÑ�Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%lx) Ð½Ð¸Ð¶Ñ‡Ðµ Ð·Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¾Ðº Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° (%lx)"
+msgid "section address (%#<PRIx64>) below start of segment (%#<PRIx64>)"
+msgstr "Ð°Ð´Ñ€ÐµÑ�Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%<PRIx64>) Ð½Ð¸Ð¶Ñ‡Ðµ Ð·Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¾Ðº Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð° (%<PRIx64>)"
 
-#: mach-o.c:2961
+#: mach-o.c:3089
 #, c-format
-msgid "unable to layout unknown load command 0x%lx"
-msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, 0x%lx"
+msgid "unable to layout unknown load command %#x"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, %#x"
 
-#: mach-o.c:3497
+#: mach-o.c:3625
 #, c-format
-msgid "bfd_mach_o_read_section_32: overlarge alignment value: 0x%x, using 32 instead"
-msgstr "bfd_mach_o_read_section_32: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�: 0x%x, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ð·Ð°Ð¼Ñ–Ñ�Ñ‚ÑŒ Ð½ÑŒÐ¾Ð³Ð¾ 32"
+msgid "bfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 instead"
+msgstr "bfd_mach_o_read_section_32: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�: %#lx, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ð·Ð°Ð¼Ñ–Ñ�Ñ‚ÑŒ Ð½ÑŒÐ¾Ð³Ð¾ 32"
 
-#: mach-o.c:3540
+#: mach-o.c:3668
 #, c-format
-msgid "bfd_mach_o_read_section_64: overlarge alignment value: 0x%x, using 32 instead"
-msgstr "bfd_mach_o_read_section_64: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�: 0x%x, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ð·Ð°Ð¼Ñ–Ñ�Ñ‚ÑŒ Ð½ÑŒÐ¾Ð³Ð¾ 32"
+msgid "bfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 instead"
+msgstr "bfd_mach_o_read_section_32: Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�: %#lx, Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾ Ð·Ð°Ð¼Ñ–Ñ�Ñ‚ÑŒ Ð½ÑŒÐ¾Ð³Ð¾ 32"
 
-#: mach-o.c:3591
+#: mach-o.c:3719
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
-msgstr "bfd_mach_o_read_symtab_symbol: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %d Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñƒ %lu"
+msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %u"
+msgstr "bfd_mach_o_read_symtab_symbol: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %d Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñƒ %u"
 
-#: mach-o.c:3610
+#: mach-o.c:3738
 #, c-format
-msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"
-msgstr "bfd_mach_o_read_symtab_symbol: Ð½Ð°Ð·Ð²Ð° Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%lu >= %lu)"
+msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)"
+msgstr "bfd_mach_o_read_symtab_symbol: Ð½Ð°Ð·Ð²Ð° Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%lu >= %u)"
 
-#: mach-o.c:3693
+#: mach-o.c:3821
 #, c-format
 msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
 msgstr "bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» %d (max %lu): Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÑŽÑ”Ð¼Ð¾ Ñƒ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
 
-#: mach-o.c:3712
+#: mach-o.c:3840
 #, c-format
 msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
 msgstr "bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿Ð¾Ð»Ñ� 0x%x: Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÑŽÑ”Ð¼Ð¾ Ñƒ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
 
-#: mach-o.c:3786
+#: mach-o.c:3917
 msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
 msgstr "bfd_mach_o_read_symtab_symbols: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð¾Ð±Ð»Ð°Ñ�Ñ‚ÑŒ Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²"
 
-#: mach-o.c:4759
-msgid "%B: unknown load command 0x%lx"
-msgstr "%B: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, 0x%lx"
+#: mach-o.c:4890
+#, c-format
+msgid "%pB: unknown load command %#x"
+msgstr "%pB: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�, %#x"
 
-#: mach-o.c:4950
+#: mach-o.c:5081
 #, c-format
 msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
 msgstr "bfd_mach_o_scan: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð°, 0x%lx/0x%lx"
 
-#: mach-o.c:5055
+#: mach-o.c:5186
 #, c-format
-msgid "unknown header byte-order value 0x%lx"
-msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ, 0x%lx"
+msgid "unknown header byte-order value %#x"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ, %#x"
 
-#: merge.c:864
+#: merge.c:868
 #, c-format
-msgid "%B: access beyond end of merged section (%ld)"
-msgstr "%B: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%ld)"
+msgid "%pB: access beyond end of merged section (%<PRId64>)"
+msgstr "%pB: Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ (%<PRId64>)"
 
 #: mmo.c:468
 #, c-format
-msgid "%B: No core to allocate section name %s\n"
-msgstr "%B: Ð½ÐµÐ¼Ð°Ñ” Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð½Ð°Ð·Ð²Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s\n"
+msgid "%pB: no core to allocate section name %s"
+msgstr "%pB: Ð½ÐµÐ¼Ð°Ñ” Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð½Ð°Ð·Ð²Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s"
 
 #: mmo.c:544
 #, c-format
-msgid "%B: No core to allocate a symbol %d bytes long\n"
-msgstr "%B: Ð½ÐµÐ¼Ð°Ñ” Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¾ÑŽ %d Ð±Ð°Ð¹Ñ‚Ñ–Ð²\n"
+msgid "%pB: no core to allocate a symbol %d bytes long"
+msgstr "%pB: Ð½ÐµÐ¼Ð°Ñ” Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð´Ð»Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¾ÑŽ %d Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
 
 #: mmo.c:958
 #, c-format
-msgid "%B: attempt to emit contents at non-multiple-of-4 address 0x%lx\n"
-msgstr "%B: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð½Ð°Ð´Ñ–Ñ�Ð»Ð°Ñ‚Ð¸ Ð´Ð°Ð½Ñ– Ð½Ð° Ð½ÐµÐºÑ€Ð°Ñ‚Ð½Ñƒ Ð´Ð¾ 4 Ð°Ð´Ñ€ÐµÑ�Ñƒ 0x%lx\n"
+msgid "%pB: attempt to emit contents at non-multiple-of-4 address %#<PRIx64>"
+msgstr "%pB: Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð½Ð°Ð´Ñ–Ñ�Ð»Ð°Ñ‚Ð¸ Ð´Ð°Ð½Ñ– Ð½Ð° Ð½ÐµÐºÑ€Ð°Ñ‚Ð½Ñƒ Ð´Ð¾ 4 Ð°Ð´Ñ€ÐµÑ�Ñƒ %#<PRIx64>"
 
 #: mmo.c:1255
-msgid "%B: invalid mmo file: initialization value for $255 is not `Main'\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ� $255 Ð½Ðµ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” Â«MainÂ»\n"
+#, c-format
+msgid "%pB: invalid mmo file: initialization value for $255 is not `Main'\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ� $255 Ð½Ðµ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” Â«MainÂ»\n"
 
 #: mmo.c:1402
 #, c-format
-msgid "%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
-msgstr "%B: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° ÑˆÐ¸Ñ€Ð¾ÐºÐ° Ð¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² 0x%02X 0x%02X Ð¿Ñ–Ñ�Ð»Ñ� Ð½Ð°Ð·Ð²Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ð¿Ð¾Ñ‡Ð¸Ð½Ð°ÑŽÑ‡Ð¸ Ð· Â«%sÂ»\n"
+msgid "%pB: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
+msgstr "%pB: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° ÑˆÐ¸Ñ€Ð¾ÐºÐ° Ð¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² 0x%02X 0x%02X Ð¿Ñ–Ñ�Ð»Ñ� Ð½Ð°Ð·Ð²Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ, Ð¿Ð¾Ñ‡Ð¸Ð½Ð°ÑŽÑ‡Ð¸ Ð· Â«%sÂ»\n"
 
 #: mmo.c:1636
 #, c-format
-msgid "%B: invalid mmo file: unsupported lopcode `%d'\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� lopcode, Â«%dÂ»\n"
+msgid "%pB: invalid mmo file: unsupported lopcode `%d'\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� lopcode, Â«%dÂ»\n"
 
 #: mmo.c:1647
 #, c-format
-msgid "%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� YZ = 1, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ YZ = %d Ð´Ð»Ñ� lop_quote\n"
+msgid "%pB: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� YZ = 1, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ YZ = %d Ð´Ð»Ñ� lop_quote\n"
 
 #: mmo.c:1685
 #, c-format
-msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 1 Ð°Ð±Ð¾ z = 2, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_loc\n"
+msgid "%pB: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 1 Ð°Ð±Ð¾ z = 2, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_loc\n"
 
 #: mmo.c:1736
 #, c-format
-msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 1 Ð°Ð±Ð¾ z = 2, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_fixo\n"
+msgid "%pB: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 1 Ð°Ð±Ð¾ z = 2, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_fixo\n"
 
 #: mmo.c:1777
 #, c-format
-msgid "%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� y=0, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ y = %d Ð´Ð»Ñ� lop_fixrx\n"
+msgid "%pB: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� y=0, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ y = %d Ð´Ð»Ñ� lop_fixrx\n"
 
 #: mmo.c:1788
 #, c-format
-msgid "%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 16 Ð°Ð±Ð¾ z = 24, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_fixrx\n"
+msgid "%pB: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð»Ð¾Ñ�Ñ� z = 16 Ð°Ð±Ð¾ z = 24, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ z = %d Ð´Ð»Ñ� lop_fixrx\n"
 
 #: mmo.c:1813
 #, c-format
-msgid "%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¸Ð¼ Ð±Ð°Ð¹Ñ‚Ð¾Ð¼ Ñ�Ð»Ð¾Ð²Ð° Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 1, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ Ð¶ %d Ð´Ð»Ñ� lop_fixrx\n"
+msgid "%pB: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¸Ð¼ Ð±Ð°Ð¹Ñ‚Ð¾Ð¼ Ñ�Ð»Ð¾Ð²Ð° Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 1, Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾ Ð¶ %d Ð´Ð»Ñ� lop_fixrx\n"
 
 #: mmo.c:1838
 #, c-format
-msgid "%B: cannot allocate file name for file number %d, %d bytes\n"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d, %d Ð±Ð°Ð¹Ñ‚Ñ–Ð²\n"
+msgid "%pB: cannot allocate file name for file number %d, %d bytes\n"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ñ„Ð°Ð¹Ð»Ð° Ð· Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d, %d Ð±Ð°Ð¹Ñ‚Ñ–Ð²\n"
 
 #: mmo.c:1860
 #, c-format
-msgid "%B: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð° %d, Â«%sÂ», ÑƒÐ¶Ðµ Ð·Ð´Ñ–Ð¹Ñ�Ð½ÐµÐ½Ð¾ Ð²Ñ…Ñ–Ð´ Ñ�Ðº Ñƒ Â«%sÂ»\n"
+msgid "%pB: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½Ð¾Ð¼ÐµÑ€ Ñ„Ð°Ð¹Ð»Ð° %d, Â«%sÂ», ÑƒÐ¶Ðµ Ð·Ð´Ñ–Ð¹Ñ�Ð½ÐµÐ½Ð¾ Ð²Ñ…Ñ–Ð´ Ñ�Ðº Ñƒ Â«%sÂ»\n"
 
 #: mmo.c:1874
 #, c-format
-msgid "%B: invalid mmo file: file name for number %d was not specified before use\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½Ð°Ð·Ð²Ñƒ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° %d Ð½Ðµ Ð±ÑƒÐ»Ð¾ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�\n"
+msgid "%pB: invalid mmo file: file name for number %d was not specified before use\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð½Ð°Ð·Ð²Ñƒ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ� Ð½Ð¾Ð¼ÐµÑ€Ð° %d Ð½Ðµ Ð±ÑƒÐ»Ð¾ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�\n"
 
 #: mmo.c:1981
 #, c-format
-msgid "%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¿Ð¾Ð»Ñ� y Ñ– z lop_stab Ñ” Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼Ð¸, y: %d, z: %d\n"
+msgid "%pB: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: Ð¿Ð¾Ð»Ñ� y Ñ– z lop_stab Ñ” Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼Ð¸, y: %d, z: %d\n"
 
 #: mmo.c:2018
 #, c-format
-msgid "%B: invalid mmo file: lop_end not last item in file\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: lop_end Ð½Ðµ Ñ” Ð¾Ñ�Ñ‚Ð°Ð½Ð½Ñ–Ð¼ Ð·Ð°Ð¿Ð¸Ñ�Ð¾Ð¼ Ñƒ Ñ„Ð°Ð¹Ð»Ñ–\n"
+msgid "%pB: invalid mmo file: lop_end not last item in file\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: lop_end Ð½Ðµ Ñ” Ð¾Ñ�Ñ‚Ð°Ð½Ð½Ñ–Ð¼ Ð·Ð°Ð¿Ð¸Ñ�Ð¾Ð¼ Ñƒ Ñ„Ð°Ð¹Ð»Ñ–\n"
 
 #: mmo.c:2032
 #, c-format
-msgid "%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: YZ lop_end (%ld) Ð½Ðµ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ñ‚ÐµÑ‚Ñ€Ð°Ð´ Ð´Ð¾ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ lop_stab (%ld)\n"
+msgid "%pB: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ„Ð°Ð¹Ð» mmo: YZ lop_end (%ld) Ð½Ðµ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ñ‚ÐµÑ‚Ñ€Ð°Ð´ Ð´Ð¾ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ lop_stab (%ld)\n"
 
 #: mmo.c:2743
 #, c-format
-msgid "%B: invalid symbol table: duplicate symbol `%s'\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»\n"
+msgid "%pB: invalid symbol table: duplicate symbol `%s'\n"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»\n"
 
 #: mmo.c:2986
 #, c-format
-msgid "%B: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: Â«MainÂ» Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ñƒ %s, Ð° Ð½Ðµ Ñƒ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ %s\n"
+msgid "%pB: bad symbol definition: `Main' set to %s rather than the start address %s\n"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ: Â«MainÂ» Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ñƒ %s, Ð° Ð½Ðµ Ñƒ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ %s\n"
 
 #: mmo.c:3085
 #, c-format
-msgid "%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.\n"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ Ð´Ð»Ñ� mmo, Ñ—Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” 65535 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ�Ð»Ð¾Ð²Ð°: %d. Ð‘ÑƒÐ´Ðµ Ð²Ð¸Ð¿ÑƒÑ‰ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Â«MainÂ».\n"
+msgid "%pB: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.\n"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ Ð´Ð»Ñ� mmo, Ñ—Ñ— Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” 65535 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ�Ð»Ð¾Ð²Ð°: %d. Ð‘ÑƒÐ´Ðµ Ð²Ð¸Ð¿ÑƒÑ‰ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Â«MainÂ».\n"
 
 #: mmo.c:3131
 #, c-format
-msgid "%B: internal error, symbol table changed size from %d to %d words\n"
-msgstr "%B: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð· %d Ð´Ð¾ %d Ñ�Ð»Ñ–Ð²\n"
+msgid "%pB: internal error, symbol table changed size from %d to %d words\n"
+msgstr "%pB: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð· %d Ð´Ð¾ %d Ñ�Ð»Ñ–Ð²\n"
 
 #: mmo.c:3184
 #, c-format
-msgid "%B: internal error, internal register section %A had contents\n"
-msgstr "%B: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², %A, Ð¼Ñ–Ñ�Ñ‚Ð¸Ð² Ð´Ð°Ð½Ñ–\n"
+msgid "%pB: internal error, internal register section %pA had contents\n"
+msgstr "%pB: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², %pA, Ð¼Ñ–Ñ�Ñ‚Ð¸Ð² Ð´Ð°Ð½Ñ–\n"
 
 #: mmo.c:3235
-msgid "%B: no initialized registers; section length 0\n"
-msgstr "%B: Ð½ÐµÐ¼Ð°Ñ” Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” 0\n"
+#, c-format
+msgid "%pB: no initialized registers; section length 0\n"
+msgstr "%pB: Ð½ÐµÐ¼Ð°Ñ” Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” 0\n"
 
 #: mmo.c:3242
 #, c-format
-msgid "%B: too many initialized registers; section length %ld\n"
-msgstr "%B: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²; Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ â€” %ld\n"
+msgid "%pB: too many initialized registers; section length %<PRId64>"
+msgstr "%pB: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²; Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ â€” %<PRId64>"
 
 #: mmo.c:3247
 #, c-format
-msgid "%B: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n"
-msgstr "%B: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð´Ð»Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ %ld: 0x%lx%08lx\n"
-
-#: oasys.c:881
-#, c-format
-msgid "%B: can not represent section `%A' in oasys"
-msgstr "%B: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%AÂ» Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– oasys Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ"
+msgid "%pB: invalid start address for initialized registers of length %<PRId64>: %#<PRIx64>"
+msgstr "%pB: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð´Ð»Ñ� Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ %<PRId64>: %#<PRIx64>"
 
 #: osf-core.c:127
 #, c-format
-msgid "Unhandled OSF/1 core file section type %d\n"
-msgstr "Ð�ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñ„Ð°Ð¹Ð»Ð° core OSF/1, %d\n"
-
-#: pe-mips.c:609
-msgid "%B: `ld -r' not supported with PE MIPS objects\n"
-msgstr "%B: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Â«ld -rÂ» Ð· Ð¾Ð±â€™Ñ”ÐºÑ‚Ð°Ð¼Ð¸ PE MIPS Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾\n"
-
-#. OK, at this point the following variables are set up:
-#. src = VMA of the memory we're fixing up
-#. mem = pointer to memory we're fixing up
-#. val = VMA of what we need to refer to.
-#: pe-mips.c:720
-#, c-format
-msgid "%B: unimplemented %s\n"
-msgstr "%B: Ð½ÐµÑ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ð¹ %s\n"
-
-#: pe-mips.c:746
-msgid "%B: jump too far away\n"
-msgstr "%B: Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð´Ð°Ð»ÐµÐºÐ¸Ð¹ Ð¿ÐµÑ€ÐµÑ…Ñ–Ð´\n"
-
-#: pe-mips.c:772
-msgid "%B: bad pair/reflo after refhi\n"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ pair/reflo Ð¿Ñ–Ñ�Ð»Ñ� refhi\n"
+msgid "unhandled OSF/1 core file section type %d"
+msgstr "Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñ„Ð°Ð¹Ð»Ð° core OSF/1, %d"
 
-#: pef.c:526
+#: pef.c:527
 #, c-format
 msgid "bfd_pef_scan: unknown architecture 0x%lx"
 msgstr "bfd_pef_scan: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð°, 0x%lx"
 
+#: pei-x86_64.c:177 pei-x86_64.c:191 pei-x86_64.c:220
+#, c-format
+msgid "warning: corrupt unwind data\n"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ð´Ð°Ð½Ñ– Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ�\n"
+
 #. PR 17512: file: 2245-7442-0.004.
-#: pei-x86_64.c:281
+#: pei-x86_64.c:315
 #, c-format
 msgid "Unknown: %x"
 msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹: %x"
 
-#: pei-x86_64.c:331
+#: pei-x86_64.c:365 pei-x86_64.c:375 pei-x86_64.c:384
 #, c-format
 msgid "warning: xdata section corrupt\n"
 msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð» xdata\n"
 
-#: pei-x86_64.c:341
-#, c-format
-msgid "warning: xdata section corrupt"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð» xdata"
-
-#: pei-x86_64.c:401
+#: pei-x86_64.c:439
 #, c-format
 msgid "Too many unwind codes (%ld)\n"
 msgstr "Ð—Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ ÐºÐ¾Ð´Ñ–Ð² Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ� (%ld)\n"
 
-#: pei-x86_64.c:491
+#: pei-x86_64.c:529
 #, c-format
 msgid "Warning: %s section size (%ld) is not a multiple of %d\n"
 msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s (%ld) Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ %d\n"
 
-#: pei-x86_64.c:498
+#: pei-x86_64.c:536
 #, c-format
 msgid "Warning: %s section size is zero\n"
 msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼\n"
 
-#: pei-x86_64.c:513
+#: pei-x86_64.c:551
 #, c-format
 msgid "Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"
 msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s (%ld) Ñ” Ð¼ÐµÐ½ÑˆÐ¸Ð¼ Ð·Ð° Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%ld)\n"
 
-#: pei-x86_64.c:522
+#: pei-x86_64.c:560
 #, c-format
 msgid ""
 "\n"
@@ -5695,12 +5359,12 @@ msgstr ""
 "\n"
 "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ (Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s)\n"
 
-#: pei-x86_64.c:525
+#: pei-x86_64.c:563
 #, c-format
 msgid "vma:\t\t\tBeginAddress\t EndAddress\t  UnwindData\n"
 msgstr "vma:\t\t\tÐŸÐ¾Ñ‡Ð°Ñ‚ÐºÐ�Ð´Ñ€ÐµÑ�Ð°\t ÐšÑ–Ð½Ñ†Ð�Ð´Ñ€ÐµÑ�Ð°s\t  Ð”Ð°Ð½Ñ–Unwind\n"
 
-#: pei-x86_64.c:654
+#: pei-x86_64.c:692
 #, c-format
 msgid ""
 "\n"
@@ -5712,42 +5376,45 @@ msgstr ""
 #. XXX code yet to be written.
 #: peicode.h:775
 #, c-format
-msgid "%B: Unhandled import type; %x"
-msgstr "%B: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x"
+msgid "%pB: unhandled import type; %x"
+msgstr "%pB: Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x"
 
 #: peicode.h:781
 #, c-format
-msgid "%B: Unrecognised import type; %x"
-msgstr "%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x"
+msgid "%pB: unrecognized import type; %x"
+msgstr "%pB: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x"
 
 #: peicode.h:796
 #, c-format
-msgid "%B: Unrecognised import name type; %x"
-msgstr "%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ð½Ð°Ð·Ð²Ð° Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x"
+msgid "%pB: unrecognized import name type; %x"
+msgstr "%pB: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ð½Ð°Ð·Ð²Ð° Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�; %x"
 
-#: peicode.h:1217
+#: peicode.h:1211
 #, c-format
-msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
-msgstr "%B: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ (0x%x) Ñƒ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Import Library Format"
+msgid "%pB: unrecognised machine type (0x%x) in Import Library Format archive"
+msgstr "%pB: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ (0x%x) Ñƒ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Import Library Format"
 
-#: peicode.h:1230
+#: peicode.h:1224
 #, c-format
-msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive"
-msgstr "%B: Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹, Ð°Ð»Ðµ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ (0x%x) Ñƒ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Import Library Format"
+msgid "%pB: recognised but unhandled machine type (0x%x) in Import Library Format archive"
+msgstr "%pB: Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹, Ð°Ð»Ðµ Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ (0x%x) Ñƒ Ð°Ñ€Ñ…Ñ–Ð²Ñ– Import Library Format"
 
-#: peicode.h:1248
-msgid "%B: size field is zero in Import Library Format header"
-msgstr "%B: Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Import Library Format Ð¿Ð¾Ð»Ðµ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼"
+#: peicode.h:1242
+#, c-format
+msgid "%pB: size field is zero in Import Library Format header"
+msgstr "%pB: Ñƒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ Import Library Format Ð¿Ð¾Ð»Ðµ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼"
 
-#: peicode.h:1280
-msgid "%B: string not null terminated in ILF object file."
-msgstr "%B: Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– ILF Ñ€Ñ�Ð´Ð¾Ðº Ð½Ðµ Ð·Ð°Ð²ÐµÑ€ÑˆÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼."
+#: peicode.h:1274
+#, c-format
+msgid "%pB: string not null terminated in ILF object file"
+msgstr "%pB: Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ñ„Ð°Ð¹Ð»Ñ– ILF Ñ€Ñ�Ð´Ð¾Ðº Ð½Ðµ Ð·Ð°Ð²ÐµÑ€ÑˆÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼"
 
-#: peicode.h:1333
-msgid "%B: Error: Debug Data ends beyond end of debug directory."
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ñ– Ð´Ð°Ð½Ñ– Ð·Ð°Ð²ÐµÑ€ÑˆÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ."
+#: peicode.h:1330
+#, c-format
+msgid "%pB: error: debug data ends beyond end of debug directory"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ñ– Ð´Ð°Ð½Ñ– Ð·Ð°Ð²ÐµÑ€ÑˆÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð·Ð° ÐºÑ–Ð½Ñ†ÐµÐ¼ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ"
 
-#: ppcboot.c:393
+#: ppcboot.c:392
 #, c-format
 msgid ""
 "\n"
@@ -5756,27 +5423,27 @@ msgstr ""
 "\n"
 "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº ppcboot:\n"
 
-#: ppcboot.c:394
+#: ppcboot.c:393
 #, c-format
 msgid "Entry offset        = 0x%.8lx (%ld)\n"
 msgstr "Ð’Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð²Ñ…Ð¾Ð´Ñƒ       = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:396
+#: ppcboot.c:395
 #, c-format
 msgid "Length              = 0x%.8lx (%ld)\n"
 msgstr "Ð”Ð¾Ð²Ð¶Ð¸Ð½Ð°             = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:400
+#: ppcboot.c:399
 #, c-format
 msgid "Flag field          = 0x%.2x\n"
 msgstr "ÐŸÐ¾Ð»Ðµ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–Ð²      = 0x%.2x\n"
 
-#: ppcboot.c:406
+#: ppcboot.c:405
 #, c-format
 msgid "Partition name      = \"%s\"\n"
 msgstr "Ð�Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ       = \"%s\"\n"
 
-#: ppcboot.c:426
+#: ppcboot.c:425
 #, c-format
 msgid ""
 "\n"
@@ -5785,43 +5452,55 @@ msgstr ""
 "\n"
 "ÐŸÐ¾Ñ‡Ð°Ñ‚Ð¾Ðº Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ[%d]  = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 
-#: ppcboot.c:433
+#: ppcboot.c:432
 #, c-format
 msgid "Partition[%d] end    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 msgstr "ÐšÑ–Ð½ÐµÑ†ÑŒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ[%d]   = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 
-#: ppcboot.c:440
+#: ppcboot.c:439
 #, c-format
 msgid "Partition[%d] sector = 0x%.8lx (%ld)\n"
 msgstr "Ð¡ÐµÐºÑ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ[%d]   = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:444
+#: ppcboot.c:443
 #, c-format
 msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
 msgstr "Ð”Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ[%d] = 0x%.8lx (%ld)\n"
 
-#: reloc.c:8064
-msgid "INPUT_SECTION_FLAGS are not supported.\n"
-msgstr "ÐŸÑ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ INPUT_SECTION_FLAGS Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾.\n"
+#: reloc.c:8163
+msgid "INPUT_SECTION_FLAGS are not supported"
+msgstr "ÐŸÑ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ INPUT_SECTION_FLAGS Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
+
+#: reloc.c:8264
+#, c-format
+msgid "%X%P: %pB(%pA): error: relocation for offset %V has no value\n"
+msgstr "%X%P: %pB(%pA): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð·Ñ�ÑƒÐ²Ñƒ %V Ð½Ðµ Ð¼Ð°Ñ” Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�\n"
+
+#: reloc.c:8340
+#, c-format
+msgid "%X%P: %pB(%pA): relocation \"%pR\" is not supported\n"
+msgstr "%X%P: %pB(%pA): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%pRÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾\n"
 
-#: reloc.c:8165
+#: reloc.c:8349
 #, c-format
-msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n"
-msgstr "%X%P: %B(%A): Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð·Ñ�ÑƒÐ²Ñƒ %V Ð½Ðµ Ð¼Ð°Ñ” Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�\n"
+msgid "%X%P: %pB(%pA): relocation \"%pR\" returns an unrecognized value %x\n"
+msgstr "%X%P: %pB(%pA): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%pRÂ» Ð¿Ð¾Ð²ÐµÑ€Ñ‚Ð°Ñ” Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %x\n"
 
-#: reloc.c:8241
+#: reloc.c:8411
 #, c-format
-msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n"
-msgstr "%X%P: %B(%A): Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%RÂ» Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾\n"
+msgid "%pB: unrecognized relocation type %#x in section `%pA'"
+msgstr "%pB: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‚Ð¸Ð¿Ñƒ %#x Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%pAÂ»"
 
-#: reloc.c:8250
+#. PR 21803: Suggest the most likely cause of this error.
+#: reloc.c:8415
 #, c-format
-msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"
-msgstr "%X%P: %B(%A): Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Â«%RÂ» Ð¿Ð¾Ð²ÐµÑ€Ñ‚Ð°Ñ” Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� %x\n"
+msgid "is this version of the linker - %s - out of date ?"
+msgstr "Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾, Ñ†Ñ� Ð²ÐµÑ€Ñ�Ñ–Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ° - %s - Ñ” Ð·Ð°Ñ�Ñ‚Ð°Ñ€Ñ–Ð»Ð¾ÑŽ?"
 
 #: rs6000-core.c:471
-msgid "%B: warning core file truncated"
-msgstr "%B: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ„Ð°Ð¹Ð» core Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾"
+#, c-format
+msgid "%pB: warning core file truncated"
+msgstr "%pB: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ„Ð°Ð¹Ð» core Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾"
 
 #: som.c:5478
 #, c-format
@@ -5838,82 +5517,91 @@ msgstr "som_sizeof_headers Ð½Ðµ Ñ€ÐµÐ°Ð»
 
 #: srec.c:260
 #, c-format
-msgid "%B:%d: Unexpected character `%s' in S-record file\n"
-msgstr "%B:%d: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² S\n"
+msgid "%pB:%d: unexpected character `%s' in S-record file"
+msgstr "%pB:%d: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² S"
 
 #: srec.c:488
 #, c-format
-msgid "%B:%d: byte count %d too small\n"
-msgstr "%B:%d: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² %d Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¾ÑŽ\n"
+msgid "%pB:%d: byte count %d too small"
+msgstr "%pB:%d: ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð±Ð°Ð¹Ñ‚Ñ–Ð² %d Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¾ÑŽ"
 
 #: srec.c:581 srec.c:615
 #, c-format
-msgid "%B:%d: Bad checksum in S-record file\n"
-msgstr "%B:%d: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð° Ñ�ÑƒÐ¼Ð° Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² S\n"
+msgid "%pB:%d: bad checksum in S-record file"
+msgstr "%pB:%d: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð° Ñ�ÑƒÐ¼Ð° Ñƒ Ñ„Ð°Ð¹Ð»Ñ– Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² S"
 
 #: stabs.c:279
 #, c-format
-msgid "%B(%A+0x%lx): Stabs entry has invalid string index."
-msgstr "%B(%A+0x%lx): Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– stabs Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ€Ñ�Ð´ÐºÐ°."
+msgid "%pB(%pA+%#lx): stabs entry has invalid string index"
+msgstr "%pB(%pA+%#lx): Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– stabs Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ€Ñ�Ð´ÐºÐ°"
 
 #: syms.c:1079
-msgid "Unsupported .stab relocation"
-msgstr "Ð�ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� .stab"
+msgid "unsupported .stab relocation"
+msgstr "Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� .stab"
+
+#: vms-alpha.c:479
+msgid "corrupt EIHD record - size is too small"
+msgstr "Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EIHD: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼"
+
+#: vms-alpha.c:660
+#, c-format
+msgid "unable to read EIHS record at offset %#x"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� EIHS Ð·Ñ– Ð·Ñ�ÑƒÐ²Ð¾Ð¼ %#x"
 
-#: vms-alpha.c:652
+#: vms-alpha.c:1173
 #, c-format
-msgid "Unable to read EIHS record at offset %#x"
-msgstr "Ð�Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� EIHS Ð·Ñ– Ð·Ñ�ÑƒÐ²Ð¾Ð¼ %#x"
+msgid "corrupt EGSD record: its size (%#x) is too small"
+msgstr "Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ð¹Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼"
 
-#: vms-alpha.c:1164
+#: vms-alpha.c:1197
 #, c-format
-msgid "Corrupt EGSD record: its size (%#x) is too small"
-msgstr "ÐŸÐ¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ð¹Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼"
+msgid "corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
+msgstr "Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð·Ð° Ð·Ð°Ð»Ð¸ÑˆÐ¾Ðº Ð¼Ñ–Ñ�Ñ†Ñ� (%#x)"
 
-#: vms-alpha.c:1188
+#: vms-alpha.c:1205
 #, c-format
-msgid "Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
-msgstr "ÐŸÐ¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð±Ñ–Ð»ÑŒÑˆÐ¸Ð¼ Ð·Ð° Ð·Ð°Ð»Ð¸ÑˆÐ¾Ðº Ð¼Ñ–Ñ�Ñ†Ñ� (%#x)"
+msgid "corrupt EGSD record: size (%#x) is too small"
+msgstr "Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼"
 
-#: vms-alpha.c:1196
+#: vms-alpha.c:1334 vms-alpha.c:1350 vms-alpha.c:1390
 #, c-format
-msgid "Corrupt EGSD record: size (%#x) is too small"
-msgstr "ÐŸÐ¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%#x) Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼"
+msgid "corrupt EGSD record: its psindx field is too big (%#lx)"
+msgstr "Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EGSD: Ð²Ð¼Ñ–Ñ�Ñ‚ Ð¹Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ� psindx Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ (%#lx)"
 
-#: vms-alpha.c:1380
+#: vms-alpha.c:1419
 #, c-format
-msgid "Unknown EGSD subtype %d"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ñ–Ð´Ñ‚Ð¸Ð¿ EGSD, %d"
+msgid "unknown EGSD subtype %d"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ñ–Ð´Ñ‚Ð¸Ð¿ EGSD, %d"
 
-#: vms-alpha.c:1413
+#: vms-alpha.c:1452
 #, c-format
-msgid "Stack overflow (%d) in _bfd_vms_push"
-msgstr "ÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° (%d) Ñƒ _bfd_vms_push"
+msgid "stack overflow (%d) in _bfd_vms_push"
+msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° (%d) Ñƒ _bfd_vms_push"
 
-#: vms-alpha.c:1426
-msgid "Stack underflow in _bfd_vms_pop"
-msgstr "ÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ñƒ _bfd_vms_pop"
+#: vms-alpha.c:1465
+msgid "stack underflow in _bfd_vms_pop"
+msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ° Ñƒ _bfd_vms_pop"
 
 #. These names have not yet been added to this switch statement.
-#: vms-alpha.c:1665
+#: vms-alpha.c:1707
 #, c-format
 msgid "unknown ETIR command %d"
 msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° ETIR, %d"
 
-#: vms-alpha.c:1696
-msgid "Corrupt vms value"
-msgstr "ÐŸÐ¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� vms"
-
-#: vms-alpha.c:1824
-msgid "Corrupt ETIR record encountered"
-msgstr "Ð’Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� ETIR"
+#: vms-alpha.c:1738
+msgid "corrupt vms value"
+msgstr "Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� vms"
+
+#: vms-alpha.c:1866
+msgid "corrupt ETIR record encountered"
+msgstr "Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� ETIR"
 
-#: vms-alpha.c:1881
+#: vms-alpha.c:1923
 #, c-format
 msgid "bad section index in %s"
 msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ %s"
 
-#: vms-alpha.c:1894
+#: vms-alpha.c:1936
 #, c-format
 msgid "unsupported STA cmd %s"
 msgstr "Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° STA, %s"
@@ -5923,1463 +5611,1468 @@ msgstr "Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° ÐºÐ
 #. Rotate.
 #. Redefine symbol to current location.
 #. Define a literal.
-#: vms-alpha.c:2074 vms-alpha.c:2105 vms-alpha.c:2196 vms-alpha.c:2354
+#: vms-alpha.c:2116 vms-alpha.c:2147 vms-alpha.c:2238 vms-alpha.c:2396
 #, c-format
 msgid "%s: not supported"
 msgstr "%s: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: vms-alpha.c:2080
+#: vms-alpha.c:2122
 #, c-format
 msgid "%s: not implemented"
 msgstr "%s: Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
 
-#: vms-alpha.c:2338
+#: vms-alpha.c:2380
 #, c-format
 msgid "invalid use of %s with contexts"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� %s Ð· ÐºÐ¾Ð½Ñ‚ÐµÐºÑ�Ñ‚Ð°Ð¼Ð¸"
 
-#: vms-alpha.c:2372
+#: vms-alpha.c:2414
 #, c-format
 msgid "reserved cmd %d"
 msgstr "Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¾Ð²Ð°Ð½Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %d"
 
-#: vms-alpha.c:2457
-msgid "Object module NOT error-free !\n"
-msgstr "Ð£ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ– Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸!\n"
+#: vms-alpha.c:2498
+msgid "corrupt EEOM record - size is too small"
+msgstr "Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� EEOM: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¸Ð¼"
+
+#: vms-alpha.c:2507
+msgid "object module not error-free !"
+msgstr "Ñƒ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¾Ð¼Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ– Ð¼Ñ–Ñ�Ñ‚Ñ�Ñ‚ÑŒÑ�Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸!"
 
-#: vms-alpha.c:3778
+#: vms-alpha.c:3831
 #, c-format
-msgid "SEC_RELOC with no relocs in section %A"
-msgstr "SEC_RELOC Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %A"
+msgid "SEC_RELOC with no relocs in section %pA"
+msgstr "SEC_RELOC Ð±ÐµÐ· Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pA"
 
-#: vms-alpha.c:3830 vms-alpha.c:4043
+#: vms-alpha.c:3883 vms-alpha.c:4096
 #, c-format
-msgid "Size error in section %A"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ– Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %A"
+msgid "size error in section %pA"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ– Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %pA"
 
-#: vms-alpha.c:3989
-msgid "Spurious ALPHA_R_BSR reloc"
-msgstr "Ð¤Ð°Ð»ÑŒÑˆÐ¸Ð²Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� ALPHA_R_BSR"
+#: vms-alpha.c:4042
+msgid "spurious ALPHA_R_BSR reloc"
+msgstr "Ñ„Ð°Ð»ÑŒÑˆÐ¸Ð²Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� ALPHA_R_BSR"
 
-#: vms-alpha.c:4030
+#: vms-alpha.c:4083
 #, c-format
-msgid "Unhandled relocation %s"
-msgstr "Ð�ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s"
+msgid "unhandled relocation %s"
+msgstr "Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ðµ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s"
 
-#: vms-alpha.c:4323
+#: vms-alpha.c:4376
 #, c-format
 msgid "unknown source command %d"
 msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %d"
 
-#: vms-alpha.c:4384
-msgid "DST__K_SET_LINUM_INCR not implemented"
-msgstr "DST__K_SET_LINUM_INCR Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
-
-#: vms-alpha.c:4390
-msgid "DST__K_SET_LINUM_INCR_W not implemented"
-msgstr "DST__K_SET_LINUM_INCR_W Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
-
-#: vms-alpha.c:4396
-msgid "DST__K_RESET_LINUM_INCR not implemented"
-msgstr "DST__K_RESET_LINUM_INCR Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
-
-#: vms-alpha.c:4402
-msgid "DST__K_BEG_STMT_MODE not implemented"
-msgstr "DST__K_BEG_STMT_MODE Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
-
-#: vms-alpha.c:4408
-msgid "DST__K_END_STMT_MODE not implemented"
-msgstr "DST__K_END_STMT_MODE Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
-
-#: vms-alpha.c:4435
-msgid "DST__K_SET_PC not implemented"
-msgstr "DST__K_SET_PC Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
-
-#: vms-alpha.c:4441
-msgid "DST__K_SET_PC_W not implemented"
-msgstr "DST__K_SET_PC_W Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
-
-#: vms-alpha.c:4447
-msgid "DST__K_SET_PC_L not implemented"
-msgstr "DST__K_SET_PC_L Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
-
-#: vms-alpha.c:4453
-msgid "DST__K_SET_STMTNUM not implemented"
-msgstr "DST__K_SET_STMTNUM Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
+#: vms-alpha.c:4437 vms-alpha.c:4443 vms-alpha.c:4449 vms-alpha.c:4455
+#: vms-alpha.c:4461 vms-alpha.c:4488 vms-alpha.c:4494 vms-alpha.c:4500
+#: vms-alpha.c:4506
+#, c-format
+msgid "%s not implemented"
+msgstr "%s Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾"
 
-#: vms-alpha.c:4496
+#: vms-alpha.c:4549
 #, c-format
 msgid "unknown line command %d"
 msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð° ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %d"
 
-#: vms-alpha.c:4956 vms-alpha.c:4974 vms-alpha.c:4989 vms-alpha.c:5005
-#: vms-alpha.c:5018 vms-alpha.c:5030 vms-alpha.c:5043
+#: vms-alpha.c:5009 vms-alpha.c:5027 vms-alpha.c:5042 vms-alpha.c:5058
+#: vms-alpha.c:5071 vms-alpha.c:5083 vms-alpha.c:5096
 #, c-format
-msgid "Unknown reloc %s + %s"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s + %s"
+msgid "unknown reloc %s + %s"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s + %s"
 
-#: vms-alpha.c:5098
+#: vms-alpha.c:5151
 #, c-format
-msgid "Unknown reloc %s"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s"
+msgid "unknown reloc %s"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s"
 
-#: vms-alpha.c:5111
-msgid "Invalid section index in ETIR"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ ETIR"
+#: vms-alpha.c:5164
+msgid "invalid section index in ETIR"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñƒ ETIR"
 
-#: vms-alpha.c:5120
-msgid "Relocation for non-REL psect"
-msgstr "ÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� psect, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ñ” REL"
+#: vms-alpha.c:5173
+msgid "relocation for non-REL psect"
+msgstr "Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� psect, Ñ�ÐºÐ¸Ð¹ Ð½Ðµ Ñ” REL"
 
-#: vms-alpha.c:5167
+#: vms-alpha.c:5220
 #, c-format
-msgid "Unknown symbol in command %s"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ– %s"
+msgid "unknown symbol in command %s"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ– %s"
 
-#: vms-alpha.c:5577
+#: vms-alpha.c:5630
 #, c-format
 msgid "reloc (%d) is *UNKNOWN*"
 msgstr "Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� (%d) Ñ” *Ð�Ð•Ð’Ð†Ð”ÐžÐœÐ˜Ðœ*"
 
-#: vms-alpha.c:5692
+#: vms-alpha.c:5746
 #, c-format
 msgid "  EMH %u (len=%u): "
 msgstr "  EMH %u (Ð´Ð¾Ð²Ð¶=%u): "
 
-#: vms-alpha.c:5697
+#: vms-alpha.c:5751
 #, c-format
 msgid "   Error: The length is less than the length of an EMH record\n"
 msgstr "   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ” Ð¼ÐµÐ½ÑˆÐ¾ÑŽ Ð·Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ EMH\n"
 
-#: vms-alpha.c:5708
+#: vms-alpha.c:5768
+#, c-format
+msgid "   Error: The record length is less than the size of an EMH_MHD record\n"
+msgstr "   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ” Ð¼ÐµÐ½ÑˆÐ¾ÑŽ Ð·Ð° Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ EMH_MHD\n"
+
+#: vms-alpha.c:5771
 #, c-format
 msgid "Module header\n"
 msgstr "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð¼Ð¾Ð´ÑƒÐ»Ñ�\n"
 
-#: vms-alpha.c:5709
+#: vms-alpha.c:5772
 #, c-format
 msgid "   structure level: %u\n"
 msgstr "   Ñ€Ñ–Ð²ÐµÐ½ÑŒ Ñ�Ñ‚Ñ€ÑƒÐºÑ‚. : %u\n"
 
-#: vms-alpha.c:5710
+#: vms-alpha.c:5773
 #, c-format
 msgid "   max record size: %u\n"
 msgstr "   Ð¼Ð°ÐºÑ�. Ñ€Ð¾Ð·Ð¼. Ð·Ð°Ð¿Ð¸Ñ�Ñƒ: %u\n"
 
-#: vms-alpha.c:5713
+#: vms-alpha.c:5779
+#, c-format
+msgid "   Error: The module name is missing\n"
+msgstr "   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð½Ð°Ð·Ð²Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ�\n"
+
+#: vms-alpha.c:5785
+#, c-format
+msgid "   Error: The module name is too long\n"
+msgstr "   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ð°Ð·Ð²Ð° Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð´Ð¾Ð²Ð³Ð¾ÑŽ\n"
+
+#: vms-alpha.c:5788
 #, c-format
 msgid "   module name    : %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð° Ð¼Ð¾Ð´ÑƒÐ»Ñ�   : %.*s\n"
 
-#: vms-alpha.c:5715
+#: vms-alpha.c:5792
+#, c-format
+msgid "   Error: The module version is missing\n"
+msgstr "   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²ÐµÑ€Ñ�Ñ–ÑŽ Ð¼Ð¾Ð´ÑƒÐ»Ñ�\n"
+
+#: vms-alpha.c:5798
+#, c-format
+msgid "   Error: The module version is too long\n"
+msgstr "   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð²ÐµÑ€Ñ�Ñ–Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ� Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð´Ð¾Ð²Ð³Ð¾ÑŽ\n"
+
+#: vms-alpha.c:5801
 #, c-format
 msgid "   module version : %.*s\n"
 msgstr "   Ð²ÐµÑ€Ñ�Ñ–Ñ� Ð¼Ð¾Ð´ÑƒÐ»Ñ�  : %.*s\n"
 
-#: vms-alpha.c:5717
+#: vms-alpha.c:5804
+#, c-format
+msgid "   Error: The compile date is truncated\n"
+msgstr "   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð°Ñ‚Ñƒ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¾\n"
+
+#: vms-alpha.c:5806
 #, c-format
 msgid "   compile date   : %.17s\n"
 msgstr "   Ð´Ð°Ñ‚Ð° Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ�  : %.17s\n"
 
-#: vms-alpha.c:5722
+#: vms-alpha.c:5811
 #, c-format
 msgid "Language Processor Name\n"
 msgstr "Ð�Ð°Ð·Ð²Ð° Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¼Ð¾Ð²Ð¸\n"
 
-#: vms-alpha.c:5723
+#: vms-alpha.c:5812
 #, c-format
 msgid "   language name: %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð° Ð¼Ð¾Ð²Ð¸   : %.*s\n"
 
-#: vms-alpha.c:5730
+#: vms-alpha.c:5816
 #, c-format
 msgid "Source Files Header\n"
 msgstr "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñ„Ð°Ð¹Ð»Ñ–Ð² ÐºÐ¾Ð´Ñƒ\n"
 
-#: vms-alpha.c:5731
+#: vms-alpha.c:5817
 #, c-format
 msgid "   file: %.*s\n"
 msgstr "   Ñ„Ð°Ð¹Ð»: %.*s\n"
 
-#: vms-alpha.c:5738
+#: vms-alpha.c:5821
 #, c-format
 msgid "Title Text Header\n"
 msgstr "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñ‚Ð¸Ñ‚ÑƒÐ»ÑŒÐ½Ð¾Ð³Ð¾ Ñ‚ÐµÐºÑ�Ñ‚Ñƒ\n"
 
-#: vms-alpha.c:5739
+#: vms-alpha.c:5822
 #, c-format
 msgid "   title: %.*s\n"
 msgstr "   Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº: %.*s\n"
 
-#: vms-alpha.c:5746
+#: vms-alpha.c:5826
 #, c-format
 msgid "Copyright Header\n"
 msgstr "Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð°Ð²Ñ‚Ð¾Ñ€Ñ�ÑŒÐºÐ¸Ñ… Ð¿Ñ€Ð°Ð²\n"
 
-#: vms-alpha.c:5747
+#: vms-alpha.c:5827
 #, c-format
 msgid "   copyright: %.*s\n"
 msgstr "   Ð°Ð²Ñ‚Ð¾Ñ€Ñ�ÑŒÐºÑ– Ð¿Ñ€Ð°Ð²Ð°: %.*s\n"
 
-#: vms-alpha.c:5753
+#: vms-alpha.c:5831
 #, c-format
 msgid "unhandled emh subtype %u\n"
 msgstr "Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð¿Ñ–Ð´Ñ‚Ð¸Ð¿ emh, %u\n"
 
-#: vms-alpha.c:5763
+#: vms-alpha.c:5841
 #, c-format
 msgid "  EEOM (len=%u):\n"
 msgstr "  EEOM (Ð´Ð¾Ð²Ð¶=%u):\n"
 
-#: vms-alpha.c:5768
+#: vms-alpha.c:5846
 #, c-format
 msgid "   Error: The length is less than the length of an EEOM record\n"
 msgstr "   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ” Ð¼ÐµÐ½ÑˆÐ¾ÑŽ Ð·Ð° Ð´Ð¾Ð²Ð¶Ð¸Ð½Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ EEOM\n"
 
-#: vms-alpha.c:5772
+#: vms-alpha.c:5850
 #, c-format
 msgid "   number of cond linkage pairs: %u\n"
 msgstr "   ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð¿Ð°Ñ€ ÑƒÐ¼Ð¾Ð²Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�: %u\n"
 
-#: vms-alpha.c:5774
+#: vms-alpha.c:5852
 #, c-format
 msgid "   completion code: %u\n"
 msgstr "   ÐºÐ¾Ð´ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ�: %u\n"
 
-#: vms-alpha.c:5778
+#: vms-alpha.c:5856
 #, c-format
 msgid "   transfer addr flags: 0x%02x\n"
 msgstr "   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ð½Ð½Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸: 0x%02x\n"
 
-#: vms-alpha.c:5779
+#: vms-alpha.c:5857
 #, c-format
 msgid "   transfer addr psect: %u\n"
 msgstr "   psect Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ð½Ð½Ñ� Ð°Ð´Ñ€ÐµÑ�Ð¸: %u\n"
 
-#: vms-alpha.c:5781
+#: vms-alpha.c:5859
 #, c-format
 msgid "   transfer address   : 0x%08x\n"
 msgstr "   Ð°Ð´Ñ€ÐµÑ�Ð° Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ� : 0x%08x\n"
 
-#: vms-alpha.c:5790
+#: vms-alpha.c:5868
 msgid " WEAK"
 msgstr " WEAK"
 
-#: vms-alpha.c:5792
+#: vms-alpha.c:5870
 msgid " DEF"
 msgstr " DEF"
 
-#: vms-alpha.c:5794
+#: vms-alpha.c:5872
 msgid " UNI"
 msgstr " UNI"
 
-#: vms-alpha.c:5796 vms-alpha.c:5817
+#: vms-alpha.c:5874 vms-alpha.c:5895
 msgid " REL"
 msgstr " REL"
 
-#: vms-alpha.c:5798
+#: vms-alpha.c:5876
 msgid " COMM"
 msgstr " COMM"
 
-#: vms-alpha.c:5800
+#: vms-alpha.c:5878
 msgid " VECEP"
 msgstr " VECEP"
 
-#: vms-alpha.c:5802
+#: vms-alpha.c:5880
 msgid " NORM"
 msgstr " NORM"
 
-#: vms-alpha.c:5804
+#: vms-alpha.c:5882
 msgid " QVAL"
 msgstr " QVAL"
 
-#: vms-alpha.c:5811
+#: vms-alpha.c:5889
 msgid " PIC"
 msgstr " PIC"
 
-#: vms-alpha.c:5813
+#: vms-alpha.c:5891
 msgid " LIB"
 msgstr " LIB"
 
-#: vms-alpha.c:5815
+#: vms-alpha.c:5893
 msgid " OVR"
 msgstr " OVR"
 
-#: vms-alpha.c:5819
+#: vms-alpha.c:5897
 msgid " GBL"
 msgstr " GBL"
 
-#: vms-alpha.c:5821
+#: vms-alpha.c:5899
 msgid " SHR"
 msgstr " SHR"
 
-#: vms-alpha.c:5823
+#: vms-alpha.c:5901
 msgid " EXE"
 msgstr " EXE"
 
-#: vms-alpha.c:5825
+#: vms-alpha.c:5903
 msgid " RD"
 msgstr " RD"
 
-#: vms-alpha.c:5827
+#: vms-alpha.c:5905
 msgid " WRT"
 msgstr " WRT"
 
-#: vms-alpha.c:5829
+#: vms-alpha.c:5907
 msgid " VEC"
 msgstr " VEC"
 
-#: vms-alpha.c:5831
+#: vms-alpha.c:5909
 msgid " NOMOD"
 msgstr " NOMOD"
 
-#: vms-alpha.c:5833
+#: vms-alpha.c:5911
 msgid " COM"
 msgstr " COM"
 
-#: vms-alpha.c:5835
+#: vms-alpha.c:5913
 msgid " 64B"
 msgstr " 64B"
 
-#: vms-alpha.c:5844
+#: vms-alpha.c:5922
 #, c-format
 msgid "  EGSD (len=%u):\n"
 msgstr "  EGSD (Ð´Ð¾Ð²Ð¶=%u):\n"
 
-#: vms-alpha.c:5857
+#: vms-alpha.c:5935
 #, c-format
 msgid "  EGSD entry %2u (type: %u, len: %u): "
 msgstr "  Ð·Ð°Ð¿Ð¸Ñ� EGSD %2u (Ñ‚Ð¸Ð¿: %u, Ð´Ð¾Ð²Ð¶: %u): "
 
-#: vms-alpha.c:5863 vms-alpha.c:6114
+#: vms-alpha.c:5941 vms-alpha.c:6192
 #, c-format
 msgid "   Error: length larger than remaining space in record\n"
 msgstr "   ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ð¼Ñ–Ñ�Ñ†Ðµ, Ñ�ÐºÐµ Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–\n"
 
-#: vms-alpha.c:5875
+#: vms-alpha.c:5953
 #, c-format
 msgid "PSC - Program section definition\n"
 msgstr "PSC â€” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸\n"
 
-#: vms-alpha.c:5876 vms-alpha.c:5893
+#: vms-alpha.c:5954 vms-alpha.c:5971
 #, c-format
 msgid "   alignment  : 2**%u\n"
 msgstr "   Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�: 2**%u\n"
 
-#: vms-alpha.c:5877 vms-alpha.c:5894
+#: vms-alpha.c:5955 vms-alpha.c:5972
 #, c-format
 msgid "   flags      : 0x%04x"
 msgstr "   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–    : 0x%04x"
 
-#: vms-alpha.c:5881
+#: vms-alpha.c:5959
 #, c-format
 msgid "   alloc (len): %u (0x%08x)\n"
 msgstr "   alloc (Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°): %u (0x%08x)\n"
 
-#: vms-alpha.c:5882 vms-alpha.c:5939 vms-alpha.c:5988
+#: vms-alpha.c:5960 vms-alpha.c:6017 vms-alpha.c:6066
 #, c-format
 msgid "   name       : %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð°      : %.*s\n"
 
-#: vms-alpha.c:5892
+#: vms-alpha.c:5970
 #, c-format
 msgid "SPSC - Shared Image Program section def\n"
 msgstr "SPSC â€” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð¾Ð±Ñ€Ð°Ð·Ñƒ\n"
 
-#: vms-alpha.c:5898
+#: vms-alpha.c:5976
 #, c-format
 msgid "   alloc (len)   : %u (0x%08x)\n"
 msgstr "   alloc (Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°): %u (0x%08x)\n"
 
-#: vms-alpha.c:5899
+#: vms-alpha.c:5977
 #, c-format
 msgid "   image offset  : 0x%08x\n"
 msgstr "   Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð¾Ð±Ñ€Ð°Ð·Ñƒ: 0x%08x\n"
 
-#: vms-alpha.c:5901
+#: vms-alpha.c:5979
 #, c-format
 msgid "   symvec offset : 0x%08x\n"
 msgstr "   Ð·Ñ�ÑƒÐ² symvec   : 0x%08x\n"
 
-#: vms-alpha.c:5903
+#: vms-alpha.c:5981
 #, c-format
 msgid "   name          : %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð°         : %.*s\n"
 
-#: vms-alpha.c:5916
+#: vms-alpha.c:5994
 #, c-format
 msgid "SYM - Global symbol definition\n"
 msgstr "SYM â€” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²\n"
 
-#: vms-alpha.c:5917 vms-alpha.c:5977 vms-alpha.c:5998 vms-alpha.c:6017
+#: vms-alpha.c:5995 vms-alpha.c:6055 vms-alpha.c:6076 vms-alpha.c:6095
 #, c-format
 msgid "   flags: 0x%04x"
 msgstr "   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: 0x%04x"
 
-#: vms-alpha.c:5920
+#: vms-alpha.c:5998
 #, c-format
 msgid "   psect offset: 0x%08x\n"
 msgstr "   Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ psect: 0x%08x\n"
 
-#: vms-alpha.c:5924
+#: vms-alpha.c:6002
 #, c-format
 msgid "   code address: 0x%08x\n"
 msgstr "   Ð°Ð´Ñ€ÐµÑ�Ð° ÐºÐ¾Ð´Ñƒ: 0x%08x\n"
 
-#: vms-alpha.c:5926
+#: vms-alpha.c:6004
 #, c-format
 msgid "   psect index for entry point : %u\n"
 msgstr "   Ñ–Ð½Ð´ÐµÐºÑ� psect Ð´Ð»Ñ� Ñ‚Ð¾Ñ‡ÐºÐ¸ Ð²Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ�: %u\n"
 
-#: vms-alpha.c:5929 vms-alpha.c:6005 vms-alpha.c:6024
+#: vms-alpha.c:6007 vms-alpha.c:6083 vms-alpha.c:6102
 #, c-format
 msgid "   psect index : %u\n"
 msgstr "   Ñ–Ð½Ð´ÐµÐºÑ� psect: %u\n"
 
-#: vms-alpha.c:5931 vms-alpha.c:6007 vms-alpha.c:6026
+#: vms-alpha.c:6009 vms-alpha.c:6085 vms-alpha.c:6104
 #, c-format
 msgid "   name        : %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð°       : %.*s\n"
 
-#: vms-alpha.c:5938
+#: vms-alpha.c:6016
 #, c-format
 msgid "SYM - Global symbol reference\n"
 msgstr "SYM â€” Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸\n"
 
-#: vms-alpha.c:5950
+#: vms-alpha.c:6028
 #, c-format
 msgid "IDC - Ident Consistency check\n"
 msgstr "IDC â€” Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ° ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾Ñ�Ñ‚Ñ– Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ñ–Ð²\n"
 
-#: vms-alpha.c:5951
+#: vms-alpha.c:6029
 #, c-format
 msgid "   flags         : 0x%08x"
 msgstr "   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–      : 0x%08x"
 
-#: vms-alpha.c:5955
+#: vms-alpha.c:6033
 #, c-format
 msgid "   id match      : %x\n"
 msgstr "   Ñ–Ð´. Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ñ�Ñ‚Ñ–: %x\n"
 
-#: vms-alpha.c:5957
+#: vms-alpha.c:6035
 #, c-format
 msgid "   error severity: %x\n"
 msgstr "   ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸: %x\n"
 
-#: vms-alpha.c:5960
+#: vms-alpha.c:6038
 #, c-format
 msgid "   entity name   : %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°: %.*s\n"
 
-#: vms-alpha.c:5962
+#: vms-alpha.c:6040
 #, c-format
 msgid "   object name   : %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð° Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° : %.*s\n"
 
-#: vms-alpha.c:5965
+#: vms-alpha.c:6043
 #, c-format
 msgid "   binary ident  : 0x%08x\n"
 msgstr "   Ð´Ð²Ñ–Ð¹Ðº. Ñ–Ð´ÐµÐ½Ñ‚. : 0x%08x\n"
 
-#: vms-alpha.c:5968
+#: vms-alpha.c:6046
 #, c-format
 msgid "   ascii ident   : %.*s\n"
 msgstr "   Ñ–Ð´ÐµÐ½Ñ‚. ascii  : %.*s\n"
 
-#: vms-alpha.c:5976
+#: vms-alpha.c:6054
 #, c-format
 msgid "SYMG - Universal symbol definition\n"
 msgstr "SYMG â€” Ð£Ð½Ñ–Ð²ÐµÑ€Ñ�Ð°Ð»ÑŒÐ½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²\n"
 
-#: vms-alpha.c:5980
+#: vms-alpha.c:6058
 #, c-format
 msgid "   symbol vector offset: 0x%08x\n"
 msgstr "   Ð·Ñ�ÑƒÐ² Ð²ÐµÐºÑ‚Ð¾Ñ€Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: 0x%08x\n"
 
-#: vms-alpha.c:5982
+#: vms-alpha.c:6060
 #, c-format
 msgid "   entry point: 0x%08x\n"
 msgstr "   Ñ‚Ð¾Ñ‡ÐºÐ° Ð²Ñ…Ð¾Ð´Ñƒ: 0x%08x\n"
 
-#: vms-alpha.c:5984
+#: vms-alpha.c:6062
 #, c-format
 msgid "   proc descr : 0x%08x\n"
 msgstr "   Ð´ÐµÑ�ÐºÑ€. Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñƒ: 0x%08x\n"
 
-#: vms-alpha.c:5986
+#: vms-alpha.c:6064
 #, c-format
 msgid "   psect index: %u\n"
 msgstr "   Ñ–Ð½Ð´ÐµÐºÑ� psect: %u\n"
 
-#: vms-alpha.c:5997
+#: vms-alpha.c:6075
 #, c-format
 msgid "SYMV - Vectored symbol definition\n"
 msgstr "SYMV â€” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ\n"
 
-#: vms-alpha.c:6001
+#: vms-alpha.c:6079
 #, c-format
 msgid "   vector      : 0x%08x\n"
 msgstr "   Ð²ÐµÐºÑ‚Ð¾Ñ€      : 0x%08x\n"
 
-#: vms-alpha.c:6003 vms-alpha.c:6022
+#: vms-alpha.c:6081 vms-alpha.c:6100
 #, c-format
 msgid "   psect offset: %u\n"
 msgstr "   Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ psect: %u\n"
 
-#: vms-alpha.c:6016
+#: vms-alpha.c:6094
 #, c-format
 msgid "SYMM - Global symbol definition with version\n"
 msgstr "SYMM â€” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð· Ð²ÐµÑ€Ñ�Ñ–Ñ”ÑŽ\n"
 
-#: vms-alpha.c:6020
+#: vms-alpha.c:6098
 #, c-format
 msgid "   version mask: 0x%08x\n"
 msgstr "   Ð¼Ð°Ñ�ÐºÐ° Ð²ÐµÑ€Ñ�Ñ–Ñ—: 0x%08x\n"
 
-#: vms-alpha.c:6031
+#: vms-alpha.c:6109
 #, c-format
 msgid "unhandled egsd entry type %u\n"
 msgstr "Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ egsd, %u\n"
 
-#: vms-alpha.c:6066
+#: vms-alpha.c:6144
 #, c-format
 msgid "    linkage index: %u, replacement insn: 0x%08x\n"
 msgstr "    Ñ–Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�: %u, Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�-Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº: 0x%08x\n"
 
-#: vms-alpha.c:6070
+#: vms-alpha.c:6148
 #, c-format
 msgid "    psect idx 1: %u, offset 1: 0x%08x %08x\n"
 msgstr "    Ñ–Ð½Ð´. psect 1: %u, Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ 1: 0x%08x %08x\n"
 
-#: vms-alpha.c:6075
+#: vms-alpha.c:6153
 #, c-format
 msgid "    psect idx 2: %u, offset 2: 0x%08x %08x\n"
 msgstr "    Ñ–Ð½Ð´. psect 2: %u, Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ 2: 0x%08x %08x\n"
 
-#: vms-alpha.c:6081
+#: vms-alpha.c:6159
 #, c-format
 msgid "    psect idx 3: %u, offset 3: 0x%08x %08x\n"
 msgstr "    Ñ–Ð½Ð´. psect 3: %u, Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ 3: 0x%08x %08x\n"
 
-#: vms-alpha.c:6086
+#: vms-alpha.c:6164
 #, c-format
 msgid "    global name: %.*s\n"
 msgstr "    Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð° Ð½Ð°Ð·Ð²Ð°: %.*s\n"
 
-#: vms-alpha.c:6097
+#: vms-alpha.c:6175
 #, c-format
 msgid "  %s (len=%u+%u):\n"
 msgstr "  %s (Ð´Ð¾Ð²Ð¶=%u+%u):\n"
 
-#: vms-alpha.c:6119
+#: vms-alpha.c:6197
 #, c-format
 msgid "   (type: %3u, size: 4+%3u): "
 msgstr "   (Ñ‚Ð¸Ð¿: %3u, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: 4+%3u): "
 
-#: vms-alpha.c:6123
+#: vms-alpha.c:6201
 #, c-format
 msgid "STA_GBL (stack global) %.*s\n"
 msgstr "STA_GBL (Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¹ Ñ�Ñ‚ÐµÐº) %.*s\n"
 
-#: vms-alpha.c:6127
+#: vms-alpha.c:6205
 #, c-format
 msgid "STA_LW (stack longword) 0x%08x\n"
 msgstr "STA_LW (Ñ�Ñ‚ÐµÐº Ð´Ð¾Ð²Ð³Ð¸Ñ… Ñ�Ð»Ñ–Ð²) 0x%08x\n"
 
-#: vms-alpha.c:6131
+#: vms-alpha.c:6209
 #, c-format
 msgid "STA_QW (stack quadword) 0x%08x %08x\n"
 msgstr "STA_QW (Ñ�Ñ‚ÐµÐº Ñ‡ÐµÑ‚Ð²ÐµÑ€Ð½Ð¸Ñ… Ñ�Ð»Ñ–Ð²) 0x%08x %08x\n"
 
-#: vms-alpha.c:6136
+#: vms-alpha.c:6214
 #, c-format
 msgid "STA_PQ (stack psect base + offset)\n"
 msgstr "STA_PQ (Ñ�Ñ‚ÐµÐº Ð¾Ñ�Ð½Ð¾Ð²Ð¸ psect + Ð·Ñ�ÑƒÐ²)\n"
 
-#: vms-alpha.c:6138
+#: vms-alpha.c:6216
 #, c-format
 msgid "    psect: %u, offset: 0x%08x %08x\n"
 msgstr "    psect: %u, Ð·Ñ�ÑƒÐ²: 0x%08x %08x\n"
 
-#: vms-alpha.c:6144
+#: vms-alpha.c:6222
 #, c-format
 msgid "STA_LI (stack literal)\n"
 msgstr "STA_LI (Ñ�Ñ‚ÐµÐº Ð»Ñ–Ñ‚ÐµÑ€Ð°Ð»Ñ–Ð²)\n"
 
-#: vms-alpha.c:6147
+#: vms-alpha.c:6225
 #, c-format
 msgid "STA_MOD (stack module)\n"
 msgstr "STA_MOD (Ñ�Ñ‚ÐµÐº Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð²)\n"
 
-#: vms-alpha.c:6150
+#: vms-alpha.c:6228
 #, c-format
 msgid "STA_CKARG (compare procedure argument)\n"
 msgstr "STA_CKARG (Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð¸ Ð¿Ð¾Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6154
+#: vms-alpha.c:6232
 #, c-format
 msgid "STO_B (store byte)\n"
 msgstr "STO_B (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹ Ð±Ð°Ð¹Ñ‚)\n"
 
-#: vms-alpha.c:6157
+#: vms-alpha.c:6235
 #, c-format
 msgid "STO_W (store word)\n"
 msgstr "STO_W (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ðµ Ñ�Ð»Ð¾Ð²Ð¾)\n"
 
-#: vms-alpha.c:6160
+#: vms-alpha.c:6238
 #, c-format
 msgid "STO_LW (store longword)\n"
 msgstr "STO_LW (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ðµ longword)\n"
 
-#: vms-alpha.c:6163
+#: vms-alpha.c:6241
 #, c-format
 msgid "STO_QW (store quadword)\n"
 msgstr "STO_QW (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ðµ quadword)\n"
 
-#: vms-alpha.c:6169
+#: vms-alpha.c:6247
 #, c-format
 msgid "STO_IMMR (store immediate repeat) %u bytes\n"
 msgstr "STO_IMMR (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ðµ Ð½ÐµÐ³Ð°Ð¹Ð½Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð½Ñ�) %u Ð±Ð°Ð¹Ñ‚Ñ–Ð²\n"
 
-#: vms-alpha.c:6176
+#: vms-alpha.c:6254
 #, c-format
 msgid "STO_GBL (store global) %.*s\n"
 msgstr "STO_GBL (Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ðµ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ�) %.*s\n"
 
-#: vms-alpha.c:6180
+#: vms-alpha.c:6258
 #, c-format
 msgid "STO_CA (store code address) %.*s\n"
 msgstr "STO_CA (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð° Ð°Ð´Ñ€ÐµÑ�Ð° ÐºÐ¾Ð´Ñƒ) %.*s\n"
 
-#: vms-alpha.c:6184
+#: vms-alpha.c:6262
 #, c-format
 msgid "STO_RB (store relative branch)\n"
 msgstr "STO_RB (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ðµ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ðµ Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6187
+#: vms-alpha.c:6265
 #, c-format
 msgid "STO_AB (store absolute branch)\n"
 msgstr "STO_AB (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ðµ Ð°Ð±Ñ�Ð¾Ð»ÑŽÑ‚Ð½Ðµ Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6190
+#: vms-alpha.c:6268
 #, c-format
 msgid "STO_OFF (store offset to psect)\n"
 msgstr "STO_OFF (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ñ‰Ð¾Ð´Ð¾ psect)\n"
 
-#: vms-alpha.c:6196
+#: vms-alpha.c:6274
 #, c-format
 msgid "STO_IMM (store immediate) %u bytes\n"
 msgstr "STO_IMM (Ð½ÐµÐ³Ð°Ð¹Ð½Ðµ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ�) %u Ð±Ð°Ð¹Ñ‚\n"
 
-#: vms-alpha.c:6203
+#: vms-alpha.c:6281
 #, c-format
 msgid "STO_GBL_LW (store global longword) %.*s\n"
 msgstr "STO_GBL_LW (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ðµ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ðµ longword) %.*s\n"
 
-#: vms-alpha.c:6207
+#: vms-alpha.c:6285
 #, c-format
 msgid "STO_OFF (store LP with procedure signature)\n"
 msgstr "STO_OFF (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ� LP Ð· Ð¿Ñ–Ð´Ð¿Ð¸Ñ�Ð¾Ð¼ Ð¿Ñ–Ð´Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸)\n"
 
-#: vms-alpha.c:6210
+#: vms-alpha.c:6288
 #, c-format
 msgid "STO_BR_GBL (store branch global) *todo*\n"
 msgstr "STO_BR_GBL (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ðµ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ðµ Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ�) *Ñ‰Ðµ Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾*\n"
 
-#: vms-alpha.c:6213
+#: vms-alpha.c:6291
 #, c-format
 msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
 msgstr "STO_BR_PS (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹ psect Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� + Ð·Ñ�ÑƒÐ²) *Ñ‰Ðµ Ð½Ðµ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾*\n"
 
-#: vms-alpha.c:6217
+#: vms-alpha.c:6295
 #, c-format
 msgid "OPR_NOP (no-operation)\n"
 msgstr "OPR_NOP (Ð±ÐµÐ· Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ—)\n"
 
-#: vms-alpha.c:6220
+#: vms-alpha.c:6298
 #, c-format
 msgid "OPR_ADD (add)\n"
 msgstr "OPR_ADD (Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6223
+#: vms-alpha.c:6301
 #, c-format
-msgid "OPR_SUB (substract)\n"
+msgid "OPR_SUB (subtract)\n"
 msgstr "OPR_SUB (Ð²Ñ–Ð´Ð½Ñ–Ð¼Ð°Ð½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6226
+#: vms-alpha.c:6304
 #, c-format
 msgid "OPR_MUL (multiply)\n"
 msgstr "OPR_MUL (Ð¼Ð½Ð¾Ð¶ÐµÐ½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6229
+#: vms-alpha.c:6307
 #, c-format
 msgid "OPR_DIV (divide)\n"
 msgstr "OPR_DIV (Ð´Ñ–Ð»ÐµÐ½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6232
+#: vms-alpha.c:6310
 #, c-format
 msgid "OPR_AND (logical and)\n"
 msgstr "OPR_AND (Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ðµ Â«Ð†Â»)\n"
 
-#: vms-alpha.c:6235
+#: vms-alpha.c:6313
 #, c-format
 msgid "OPR_IOR (logical inclusive or)\n"
 msgstr "OPR_IOR (Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡Ð½Ðµ Â«Ð�Ð‘ÐžÂ»)\n"
 
-#: vms-alpha.c:6238
+#: vms-alpha.c:6316
 #, c-format
 msgid "OPR_EOR (logical exclusive or)\n"
 msgstr "OPR_EOR (Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ðµ Ð²Ð¸ÐºÐ»ÑŽÑ‡Ð½Ðµ Â«Ð�Ð‘ÐžÂ»)\n"
 
-#: vms-alpha.c:6241
+#: vms-alpha.c:6319
 #, c-format
 msgid "OPR_NEG (negate)\n"
 msgstr "OPR_NEG (Ð·Ð°Ð¿ÐµÑ€ÐµÑ‡ÐµÐ½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6244
+#: vms-alpha.c:6322
 #, c-format
 msgid "OPR_COM (complement)\n"
 msgstr "OPR_COM (Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6247
+#: vms-alpha.c:6325
 #, c-format
 msgid "OPR_INSV (insert field)\n"
 msgstr "OPR_INSV (Ð²Ñ�Ñ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð»Ñ�)\n"
 
-#: vms-alpha.c:6250
+#: vms-alpha.c:6328
 #, c-format
 msgid "OPR_ASH (arithmetic shift)\n"
 msgstr "OPR_ASH (Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡Ð½Ð¸Ð¹ Ð·Ñ�ÑƒÐ²)\n"
 
-#: vms-alpha.c:6253
+#: vms-alpha.c:6331
 #, c-format
 msgid "OPR_USH (unsigned shift)\n"
 msgstr "OPR_USH (Ð±ÐµÐ·Ð·Ð½Ð°ÐºÐ¾Ð²Ð¸Ð¹ Ð·Ñ�ÑƒÐ²)\n"
 
-#: vms-alpha.c:6256
+#: vms-alpha.c:6334
 #, c-format
 msgid "OPR_ROT (rotate)\n"
 msgstr "OPR_ROT (Ñ†Ð¸ÐºÐ»Ñ–Ñ‡Ð½Ð¸Ð¹ Ð·Ñ�ÑƒÐ²)\n"
 
-#: vms-alpha.c:6259
+#: vms-alpha.c:6337
 #, c-format
 msgid "OPR_SEL (select)\n"
 msgstr "OPR_SEL (Ð²Ð¸Ð±Ñ–Ñ€)\n"
 
-#: vms-alpha.c:6262
+#: vms-alpha.c:6340
 #, c-format
 msgid "OPR_REDEF (redefine symbol to curr location)\n"
 msgstr "OPR_REDEF (Ð¿ÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Ð´Ð¾ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—)\n"
 
-#: vms-alpha.c:6265
+#: vms-alpha.c:6343
 #, c-format
 msgid "OPR_REDEF (define a literal)\n"
 msgstr "OPR_REDEF (Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð»Ñ–Ñ‚ÐµÑ€Ð°Ð»Ð°)\n"
 
-#: vms-alpha.c:6269
+#: vms-alpha.c:6347
 #, c-format
 msgid "STC_LP (store cond linkage pair)\n"
 msgstr "STC_LP (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð° Ð¿Ð°Ñ€Ð° ÑƒÐ¼Ð¾Ð²Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6273
+#: vms-alpha.c:6351
 #, c-format
 msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
 msgstr "STC_LP_PSB (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð° Ð¿Ð°Ñ€Ð° ÑƒÐ¼Ð¾Ð²Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� + Ð¿Ñ–Ð´Ð¿Ð¸Ñ�)\n"
 
-#: vms-alpha.c:6275
+#: vms-alpha.c:6353
 #, c-format
 msgid "   linkage index: %u, procedure: %.*s\n"
 msgstr "   Ñ–Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�: %u, Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð°: %.*s\n"
 
-#: vms-alpha.c:6278
+#: vms-alpha.c:6356
 #, c-format
 msgid "   signature: %.*s\n"
 msgstr "   Ð¿Ñ–Ð´Ð¿Ð¸Ñ�: %.*s\n"
 
-#: vms-alpha.c:6281
+#: vms-alpha.c:6359
 #, c-format
 msgid "STC_GBL (store cond global)\n"
 msgstr "STC_GBL (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð° ÑƒÐ¼Ð¾Ð²Ð°)\n"
 
-#: vms-alpha.c:6283
+#: vms-alpha.c:6361
 #, c-format
 msgid "   linkage index: %u, global: %.*s\n"
 msgstr "   Ñ–Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�: %u, Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ð¹: %.*s\n"
 
-#: vms-alpha.c:6287
+#: vms-alpha.c:6365
 #, c-format
 msgid "STC_GCA (store cond code address)\n"
 msgstr "STC_GCA (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð° Ð°Ð´Ñ€ÐµÑ�Ð° ÑƒÐ¼Ð¾Ð²Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ)\n"
 
-#: vms-alpha.c:6289
+#: vms-alpha.c:6367
 #, c-format
 msgid "   linkage index: %u, procedure name: %.*s\n"
 msgstr "   Ñ–Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�: %u, Ð½Ð°Ð·Ð²Ð° Ð¿Ñ–Ð´Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸: %.*s\n"
 
-#: vms-alpha.c:6293
+#: vms-alpha.c:6371
 #, c-format
 msgid "STC_PS (store cond psect + offset)\n"
 msgstr "STC_PS (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹ ÑƒÐ¼Ð¾Ð²Ð½Ð¸Ð¹ psect + Ð·Ñ�ÑƒÐ²)\n"
 
-#: vms-alpha.c:6296
+#: vms-alpha.c:6374
 #, c-format
 msgid "   linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
 msgstr "   Ñ–Ð½Ð´ÐµÐºÑ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�: %u, psect: %u, Ð·Ñ�ÑƒÐ²: 0x%08x %08x\n"
 
-#: vms-alpha.c:6303
+#: vms-alpha.c:6381
 #, c-format
 msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
 msgstr "STC_NOP_GBL (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹ ÑƒÐ¼Ð¾Ð²Ð½Ð¸Ð¹ NOP Ð·Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ)\n"
 
-#: vms-alpha.c:6307
+#: vms-alpha.c:6385
 #, c-format
 msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
 msgstr "STC_NOP_PS (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹ ÑƒÐ¼Ð¾Ð²Ð½Ð¸Ð¹ NOP Ð·Ð° psect + Ð·Ñ�ÑƒÐ²)\n"
 
-#: vms-alpha.c:6311
+#: vms-alpha.c:6389
 #, c-format
 msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
 msgstr "STC_BSR_GBL (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹ ÑƒÐ¼Ð¾Ð²Ð½Ð¸Ð¹ BSR Ð·Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ)\n"
 
-#: vms-alpha.c:6315
+#: vms-alpha.c:6393
 #, c-format
 msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
 msgstr "STC_BSR_PS (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹ ÑƒÐ¼Ð¾Ð²Ð½Ð¸Ð¹ BSR Ð·Ð° psect + Ð·Ñ�ÑƒÐ²)\n"
 
-#: vms-alpha.c:6319
+#: vms-alpha.c:6397
 #, c-format
 msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
 msgstr "STC_LDA_GBL (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹ ÑƒÐ¼Ð¾Ð²Ð½Ð¸Ð¹ LDA Ð·Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ)\n"
 
-#: vms-alpha.c:6323
+#: vms-alpha.c:6401
 #, c-format
 msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
 msgstr "STC_LDA_PS (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð° ÑƒÐ¼Ð¾Ð²Ð½Ð° LDA Ð·Ð° psect + Ð·Ñ�ÑƒÐ²)\n"
 
-#: vms-alpha.c:6327
+#: vms-alpha.c:6405
 #, c-format
 msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
 msgstr "STC_BOH_GBL (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹ ÑƒÐ¼Ð¾Ð²Ð½Ð¸Ð¹ BOH Ð·Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ)\n"
 
-#: vms-alpha.c:6331
+#: vms-alpha.c:6409
 #, c-format
 msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
 msgstr "STC_BOH_PS (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹ ÑƒÐ¼Ð¾Ð²Ð½Ð¸Ð¹ BOH Ð·Ð° psect + Ð·Ñ�ÑƒÐ²)\n"
 
-#: vms-alpha.c:6336
+#: vms-alpha.c:6414
 #, c-format
 msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
 msgstr "STC_NBH_GBL (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð° ÑƒÐ¼Ð¾Ð²Ð° Ð°Ð±Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²ÐºÐ° Ð·Ð° Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ)\n"
 
-#: vms-alpha.c:6340
+#: vms-alpha.c:6418
 #, c-format
 msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
 msgstr "STC_NBH_PS (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð° ÑƒÐ¼Ð¾Ð²Ð° Ð°Ð±Ð¾ Ð²ÐºÐ°Ð·Ñ–Ð²ÐºÐ° Ð·Ð° psect + Ð·Ñ�ÑƒÐ²)\n"
 
-#: vms-alpha.c:6344
+#: vms-alpha.c:6422
 #, c-format
 msgid "CTL_SETRB (set relocation base)\n"
 msgstr "CTL_SETRB (Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6350
+#: vms-alpha.c:6428
 #, c-format
 msgid "CTL_AUGRB (augment relocation base) %u\n"
 msgstr "CTL_AUGRB (Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�) %u\n"
 
-#: vms-alpha.c:6354
+#: vms-alpha.c:6432
 #, c-format
 msgid "CTL_DFLOC (define location)\n"
 msgstr "CTL_DFLOC (Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6357
+#: vms-alpha.c:6435
 #, c-format
 msgid "CTL_STLOC (set location)\n"
 msgstr "CTL_STLOC (Ð²ÐºÐ°Ð·Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6360
+#: vms-alpha.c:6438
 #, c-format
 msgid "CTL_STKDL (stack defined location)\n"
 msgstr "CTL_STKDL (Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ�, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ñ�Ñ‚ÐµÐºÐ¾Ð¼)\n"
 
-#: vms-alpha.c:6363 vms-alpha.c:6787 vms-alpha.c:6913
+#: vms-alpha.c:6441 vms-alpha.c:6865 vms-alpha.c:6991
 #, c-format
 msgid "*unhandled*\n"
 msgstr "*Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¾*\n"
 
-#: vms-alpha.c:6393 vms-alpha.c:6432
+#: vms-alpha.c:6471 vms-alpha.c:6510
 #, c-format
 msgid "cannot read GST record length\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ GST\n"
 
 #. Ill-formed.
-#: vms-alpha.c:6414
+#: vms-alpha.c:6492
 #, c-format
 msgid "cannot find EMH in first GST record\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ EMH Ñƒ Ð¿ÐµÑ€ÑˆÐ¾Ð¼Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñ– GST\n"
 
-#: vms-alpha.c:6440
+#: vms-alpha.c:6518
 #, c-format
 msgid "cannot read GST record header\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð·Ð°Ð¿Ð¸Ñ�Ñƒ GST\n"
 
-#: vms-alpha.c:6453
+#: vms-alpha.c:6531
 #, c-format
 msgid " corrupted GST\n"
 msgstr " Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ GST\n"
 
-#: vms-alpha.c:6461
+#: vms-alpha.c:6539
 #, c-format
 msgid "cannot read GST record\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ� GST\n"
 
-#: vms-alpha.c:6490
+#: vms-alpha.c:6568
 #, c-format
 msgid " unhandled EOBJ record type %u\n"
 msgstr " Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹ Ð´Ð¾ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ‚Ð¸Ð¿ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ EOBJ, %u\n"
 
-#: vms-alpha.c:6514
+#: vms-alpha.c:6592
 #, c-format
 msgid "  bitcount: %u, base addr: 0x%08x\n"
 msgstr "  ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð±Ñ–Ñ‚Ñ–Ð²: %u, Ð±Ð°Ð·Ð¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x\n"
 
-#: vms-alpha.c:6528
+#: vms-alpha.c:6606
 #, c-format
 msgid "   bitmap: 0x%08x (count: %u):\n"
 msgstr "   Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð¾Ð±Ñ€Ð°Ð·: 0x%08x (Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº: %u):\n"
 
-#: vms-alpha.c:6535
+#: vms-alpha.c:6613
 #, c-format
 msgid " %08x"
 msgstr " %08x"
 
-#: vms-alpha.c:6561
+#: vms-alpha.c:6639
 #, c-format
 msgid "  image %u (%u entries)\n"
 msgstr "  Ð¾Ð±Ñ€Ð°Ð· %u (%u Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð²)\n"
 
-#: vms-alpha.c:6567
+#: vms-alpha.c:6645
 #, c-format
 msgid "   offset: 0x%08x, val: 0x%08x\n"
 msgstr "   Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿: 0x%08x, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: 0x%08x\n"
 
-#: vms-alpha.c:6589
+#: vms-alpha.c:6667
 #, c-format
 msgid "  image %u (%u entries), offsets:\n"
 msgstr "  Ð¾Ð±Ñ€Ð°Ð· %u (%u Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð²), Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¸:\n"
 
-#: vms-alpha.c:6596
+#: vms-alpha.c:6674
 #, c-format
 msgid " 0x%08x"
 msgstr " 0x%08x"
 
 #. 64 bits.
-#: vms-alpha.c:6718
+#: vms-alpha.c:6796
 #, c-format
 msgid "64 bits *unhandled*\n"
 msgstr "64 Ð±Ñ–Ñ‚Ð¸ *Ð½Ðµ Ð¾Ð±Ñ€Ð¾Ð±Ð»Ñ�Ñ”Ñ‚ÑŒÑ�Ñ�*\n"
 
-#: vms-alpha.c:6723
+#: vms-alpha.c:6801
 #, c-format
 msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
 msgstr "ÐºÐ»Ð°Ñ�: %u, dtype: %u, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u, Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸Ðº: 0x%08x\n"
 
-#: vms-alpha.c:6734
+#: vms-alpha.c:6812
 #, c-format
 msgid "non-contiguous array of %s\n"
 msgstr "Ñ€Ð¾Ð·Ñ€Ð¸Ð²Ð½Ð¸Ð¹ Ð¼Ð°Ñ�Ð¸Ð² %s\n"
 
-#: vms-alpha.c:6739
+#: vms-alpha.c:6817
 #, c-format
 msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
 msgstr "dimct: %u, aflags: 0x%02x, Ñ†Ð¸Ñ„Ñ€: %u, ÑˆÐºÐ°Ð»Ð°: %u\n"
 
-#: vms-alpha.c:6744
+#: vms-alpha.c:6822
 #, c-format
 msgid "arsize: %u, a0: 0x%08x\n"
 msgstr "arsize: %u, a0: 0x%08x\n"
 
-#: vms-alpha.c:6748
+#: vms-alpha.c:6826
 #, c-format
 msgid "Strides:\n"
 msgstr "ÐšÑ€Ð¾ÐºÐ¸:\n"
 
-#: vms-alpha.c:6758
+#: vms-alpha.c:6836
 #, c-format
 msgid "Bounds:\n"
 msgstr "ÐœÐµÐ¶Ñ–:\n"
 
-#: vms-alpha.c:6764
+#: vms-alpha.c:6842
 #, c-format
 msgid "[%u]: Lower: %u, upper: %u\n"
 msgstr "[%u]: Ð½Ð¸Ð¶Ð½Ñ�: %u, Ð²ÐµÑ€Ñ…Ð½Ñ�: %u\n"
 
-#: vms-alpha.c:6776
+#: vms-alpha.c:6854
 #, c-format
 msgid "unaligned bit-string of %s\n"
 msgstr "Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¸Ð¹ Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ€Ñ�Ð´Ð¾Ðº %s\n"
 
-#: vms-alpha.c:6781
+#: vms-alpha.c:6859
 #, c-format
 msgid "base: %u, pos: %u\n"
 msgstr "Ð¾Ñ�Ð½Ð¾Ð²Ð°: %u, Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�: %u\n"
 
-#: vms-alpha.c:6802
+#: vms-alpha.c:6880
 #, c-format
 msgid "vflags: 0x%02x, value: 0x%08x "
 msgstr "vflags: 0x%02x, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: 0x%08x "
 
-#: vms-alpha.c:6808
+#: vms-alpha.c:6886
 #, c-format
 msgid "(no value)\n"
 msgstr "(Ð½ÐµÐ¼Ð° Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6811
+#: vms-alpha.c:6889
 #, c-format
 msgid "(not active)\n"
 msgstr "(Ð½ÐµÐ°ÐºÑ‚Ð¸Ð²Ð½Ðµ)\n"
 
-#: vms-alpha.c:6814
+#: vms-alpha.c:6892
 #, c-format
 msgid "(not allocated)\n"
 msgstr "(Ð½Ðµ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð¾)\n"
 
-#: vms-alpha.c:6817
+#: vms-alpha.c:6895
 #, c-format
 msgid "(descriptor)\n"
 msgstr "(Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€)\n"
 
-#: vms-alpha.c:6821
+#: vms-alpha.c:6899
 #, c-format
 msgid "(trailing value)\n"
 msgstr "(Ñ…Ð²Ð¾Ñ�Ñ‚Ð¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�)\n"
 
-#: vms-alpha.c:6824
+#: vms-alpha.c:6902
 #, c-format
 msgid "(value spec follows)\n"
 msgstr "(Ð´Ð°Ð»Ñ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ� Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ)\n"
 
-#: vms-alpha.c:6827
+#: vms-alpha.c:6905
 #, c-format
 msgid "(at bit offset %u)\n"
 msgstr "(Ð·Ð° Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ð¾Ð¼ Ñƒ Ð±Ñ–Ñ‚Ð°Ñ… %u)\n"
 
-#: vms-alpha.c:6831
+#: vms-alpha.c:6909
 #, c-format
 msgid "(reg: %u, disp: %u, indir: %u, kind: "
 msgstr "(Ñ€ÐµÐ³: %u, disp: %u, indir: %u, Ñ‚Ð¸Ð¿: "
 
-#: vms-alpha.c:6838
+#: vms-alpha.c:6916
 msgid "literal"
 msgstr "Ð»Ñ–Ñ‚ÐµÑ€Ð°Ð»"
 
-#: vms-alpha.c:6841
+#: vms-alpha.c:6919
 msgid "address"
 msgstr "Ð°Ð´Ñ€ÐµÑ�Ð°"
 
-#: vms-alpha.c:6844
+#: vms-alpha.c:6922
 msgid "desc"
 msgstr "Ð´ÐµÑ�Ðº"
 
-#: vms-alpha.c:6847
+#: vms-alpha.c:6925
 msgid "reg"
 msgstr "Ñ€ÐµÐ³"
 
-#: vms-alpha.c:6864
+#: vms-alpha.c:6942
 #, c-format
 msgid "len: %2u, kind: %2u "
 msgstr "Ð´Ð¾Ð²Ð¶.: %2u, Ñ‚Ð¸Ð¿: %2u "
 
-#: vms-alpha.c:6870
+#: vms-alpha.c:6948
 #, c-format
 msgid "atomic, type=0x%02x %s\n"
 msgstr "Ð°Ñ‚Ð¾Ð¼Ð°Ñ€Ð½Ð¸Ð¹, Ñ‚Ð¸Ð¿=0x%02x %s\n"
 
-#: vms-alpha.c:6874
+#: vms-alpha.c:6952
 #, c-format
 msgid "indirect, defined at 0x%08x\n"
 msgstr "Ð¾Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¹, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñ‚ÑƒÑ‚: 0x%08x\n"
 
-#: vms-alpha.c:6878
+#: vms-alpha.c:6956
 #, c-format
 msgid "typed pointer\n"
 msgstr "Ñ‚Ð¸Ð¿Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸Ðº\n"
 
-#: vms-alpha.c:6882
+#: vms-alpha.c:6960
 #, c-format
 msgid "pointer\n"
 msgstr "Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸Ðº\n"
 
-#: vms-alpha.c:6890
+#: vms-alpha.c:6968
 #, c-format
 msgid "array, dim: %u, bitmap: "
 msgstr "Ð¼Ð°Ñ�Ð¸Ð², Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ð½Ñ–Ñ�Ñ‚ÑŒ: %u, Ð±Ñ–Ñ‚Ð¾Ð²Ð° ÐºÐ°Ñ€Ñ‚Ð°: "
 
-#: vms-alpha.c:6897
+#: vms-alpha.c:6975
 #, c-format
 msgid "array descriptor:\n"
 msgstr "Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€ Ð¼Ð°Ñ�Ð¸Ð²Ñƒ:\n"
 
-#: vms-alpha.c:6904
+#: vms-alpha.c:6982
 #, c-format
 msgid "type spec for element:\n"
 msgstr "Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ� Ñ‚Ð¸Ð¿Ñƒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°:\n"
 
-#: vms-alpha.c:6906
+#: vms-alpha.c:6984
 #, c-format
 msgid "type spec for subscript %u:\n"
 msgstr "Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ� Ñ‚Ð¸Ð¿Ñƒ Ð´Ð»Ñ� Ñ�Ð¿Ð¸Ñ�ÐºÑƒ Ñ–Ð½Ð´ÐµÐºÑ�Ñ–Ð² %u:\n"
 
-#: vms-alpha.c:6924
+#: vms-alpha.c:7002
 #, c-format
 msgid "Debug symbol table:\n"
 msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ð·Ð½ÐµÐ²Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ�:\n"
 
-#: vms-alpha.c:6935
+#: vms-alpha.c:7013
 #, c-format
 msgid "cannot read DST header\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº DST\n"
 
-#: vms-alpha.c:6941
+#: vms-alpha.c:7019
 #, c-format
 msgid " type: %3u, len: %3u (at 0x%08x): "
 msgstr " Ñ‚Ð¸Ð¿: %3u, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %3u (Ð·Ð° 0x%08x): "
 
-#: vms-alpha.c:6955
+#: vms-alpha.c:7033
 #, c-format
 msgid "cannot read DST symbol\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñ�Ð¸Ð¼Ð²Ð¾Ð» DST\n"
 
-#: vms-alpha.c:6998
+#: vms-alpha.c:7076
 #, c-format
 msgid "standard data: %s\n"
 msgstr "Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ– Ð´Ð°Ð½Ñ–: %s\n"
 
-#: vms-alpha.c:7001 vms-alpha.c:7089
+#: vms-alpha.c:7079 vms-alpha.c:7167
 #, c-format
 msgid "    name: %.*s\n"
 msgstr "    Ð½Ð°Ð·Ð²Ð°: %.*s\n"
 
-#: vms-alpha.c:7008
+#: vms-alpha.c:7086
 #, c-format
 msgid "modbeg\n"
 msgstr "modbeg\n"
 
-#: vms-alpha.c:7010
+#: vms-alpha.c:7088
 #, c-format
 msgid "   flags: %d, language: %u, major: %u, minor: %u\n"
 msgstr "   Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: %d, Ð¼Ð¾Ð²Ð°: %u, Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð¾Ð»Ð¾Ð´ÑˆÐ¸Ð¹: %u\n"
 
-#: vms-alpha.c:7016 vms-alpha.c:7290
+#: vms-alpha.c:7094 vms-alpha.c:7368
 #, c-format
 msgid "   module name: %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð° Ð¼Ð¾Ð´ÑƒÐ»Ñ�: %.*s\n"
 
-#: vms-alpha.c:7019
+#: vms-alpha.c:7097
 #, c-format
 msgid "   compiler   : %.*s\n"
 msgstr "   ÐºÐ¾Ð¼Ð¿Ñ–Ð»Ñ�Ñ‚Ð¾Ñ€ : %.*s\n"
 
-#: vms-alpha.c:7024
+#: vms-alpha.c:7102
 #, c-format
 msgid "modend\n"
 msgstr "modend\n"
 
-#: vms-alpha.c:7031
+#: vms-alpha.c:7109
 msgid "rtnbeg\n"
 msgstr "rtnbeg\n"
 
-#: vms-alpha.c:7033
+#: vms-alpha.c:7111
 #, c-format
 msgid "    flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
 msgstr "    Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: %u, Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x, pd-Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x\n"
 
-#: vms-alpha.c:7038
+#: vms-alpha.c:7116
 #, c-format
 msgid "    routine name: %.*s\n"
 msgstr "    Ð½Ð°Ð·Ð²Ð° Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð¸: %.*s\n"
 
-#: vms-alpha.c:7046
+#: vms-alpha.c:7124
 #, c-format
 msgid "rtnend: size 0x%08x\n"
 msgstr "rtnend: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ 0x%08x\n"
 
-#: vms-alpha.c:7054
+#: vms-alpha.c:7132
 #, c-format
 msgid "prolog: bkpt address 0x%08x\n"
 msgstr "Ð¿Ñ€Ð¾Ð»Ð¾Ð³: Ð°Ð´Ñ€ÐµÑ�Ð° bkpt 0x%08x\n"
 
-#: vms-alpha.c:7063
+#: vms-alpha.c:7141
 #, c-format
 msgid "epilog: flags: %u, count: %u\n"
 msgstr "ÐµÐ¿Ñ–Ð»Ð¾Ð³: Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: %u, Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº: %u\n"
 
-#: vms-alpha.c:7073
+#: vms-alpha.c:7151
 #, c-format
 msgid "blkbeg: address: 0x%08x, name: %.*s\n"
 msgstr "blkbeg: Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x, Ð½Ð°Ð·Ð²Ð°: %.*s\n"
 
-#: vms-alpha.c:7082
+#: vms-alpha.c:7160
 #, c-format
 msgid "blkend: size: 0x%08x\n"
 msgstr "blkend: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: 0x%08x\n"
 
-#: vms-alpha.c:7088
+#: vms-alpha.c:7166
 #, c-format
 msgid "typspec (len: %u)\n"
 msgstr "typspec (Ð´Ð¾Ð²Ð¶.: %u)\n"
 
-#: vms-alpha.c:7095
+#: vms-alpha.c:7173
 #, c-format
 msgid "septyp, name: %.*s\n"
 msgstr "septyp, Ð½Ð°Ð·Ð²Ð°: %.*s\n"
 
-#: vms-alpha.c:7104
+#: vms-alpha.c:7182
 #, c-format
 msgid "recbeg: name: %.*s\n"
 msgstr "recbeg: Ð½Ð°Ð·Ð²Ð°: %.*s\n"
 
-#: vms-alpha.c:7106
+#: vms-alpha.c:7184
 #, c-format
 msgid "    len: %u bits\n"
 msgstr "    Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u Ð±Ñ–Ñ‚Ñ–Ð²\n"
 
-#: vms-alpha.c:7111
+#: vms-alpha.c:7189
 #, c-format
 msgid "recend\n"
 msgstr "recend\n"
 
-#: vms-alpha.c:7115
+#: vms-alpha.c:7193
 #, c-format
 msgid "enumbeg, len: %u, name: %.*s\n"
 msgstr "enumbeg, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u, Ð½Ð°Ð·Ð²Ð°: %.*s\n"
 
-#: vms-alpha.c:7119
+#: vms-alpha.c:7197
 #, c-format
 msgid "enumelt, name: %.*s\n"
 msgstr "enumelt, Ð½Ð°Ð·Ð²Ð°: %.*s\n"
 
-#: vms-alpha.c:7123
+#: vms-alpha.c:7201
 #, c-format
 msgid "enumend\n"
 msgstr "enumend\n"
 
-#: vms-alpha.c:7128
+#: vms-alpha.c:7206
 #, c-format
 msgid "label, name: %.*s\n"
 msgstr "Ð¼Ñ–Ñ‚ÐºÐ°, Ð½Ð°Ð·Ð²Ð°: %.*s\n"
 
-#: vms-alpha.c:7130
+#: vms-alpha.c:7208
 #, c-format
 msgid "    address: 0x%08x\n"
 msgstr "    Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x\n"
 
-#: vms-alpha.c:7140
+#: vms-alpha.c:7218
 #, c-format
 msgid "discontiguous range (nbr: %u)\n"
 msgstr "Ñ€Ð¾Ð·Ñ€Ð¸Ð²Ð½Ð¸Ð¹ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ (nbr: %u)\n"
 
-#: vms-alpha.c:7143
+#: vms-alpha.c:7221
 #, c-format
 msgid "    address: 0x%08x, size: %u\n"
 msgstr "    Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u\n"
 
-#: vms-alpha.c:7153
+#: vms-alpha.c:7231
 #, c-format
 msgid "line num  (len: %u)\n"
 msgstr "Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ñ�Ð´ÐºÐ°  (Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u)\n"
 
-#: vms-alpha.c:7170
+#: vms-alpha.c:7248
 #, c-format
 msgid "delta_pc_w %u\n"
 msgstr "delta_pc_w %u\n"
 
-#: vms-alpha.c:7177
+#: vms-alpha.c:7255
 #, c-format
 msgid "incr_linum(b): +%u\n"
 msgstr "incr_linum(b): +%u\n"
 
-#: vms-alpha.c:7183
+#: vms-alpha.c:7261
 #, c-format
 msgid "incr_linum_w: +%u\n"
 msgstr "incr_linum_w: +%u\n"
 
-#: vms-alpha.c:7189
+#: vms-alpha.c:7267
 #, c-format
 msgid "incr_linum_l: +%u\n"
 msgstr "incr_linum_l: +%u\n"
 
-#: vms-alpha.c:7195
+#: vms-alpha.c:7273
 #, c-format
 msgid "set_line_num(w) %u\n"
 msgstr "set_line_num(w) %u\n"
 
-#: vms-alpha.c:7200
+#: vms-alpha.c:7278
 #, c-format
 msgid "set_line_num_b %u\n"
 msgstr "set_line_num_b %u\n"
 
-#: vms-alpha.c:7205
+#: vms-alpha.c:7283
 #, c-format
 msgid "set_line_num_l %u\n"
 msgstr "set_line_num_l %u\n"
 
-#: vms-alpha.c:7210
+#: vms-alpha.c:7288
 #, c-format
 msgid "set_abs_pc: 0x%08x\n"
 msgstr "set_abs_pc: 0x%08x\n"
 
-#: vms-alpha.c:7214
+#: vms-alpha.c:7292
 #, c-format
 msgid "delta_pc_l: +0x%08x\n"
 msgstr "delta_pc_l: +0x%08x\n"
 
-#: vms-alpha.c:7219
+#: vms-alpha.c:7297
 #, c-format
 msgid "term(b): 0x%02x"
 msgstr "term(b): 0x%02x"
 
-#: vms-alpha.c:7221
+#: vms-alpha.c:7299
 #, c-format
 msgid "        pc: 0x%08x\n"
 msgstr "        pc: 0x%08x\n"
 
-#: vms-alpha.c:7226
+#: vms-alpha.c:7304
 #, c-format
 msgid "term_w: 0x%04x"
 msgstr "term_w: 0x%04x"
 
-#: vms-alpha.c:7228
+#: vms-alpha.c:7306
 #, c-format
 msgid "    pc: 0x%08x\n"
 msgstr "    pc: 0x%08x\n"
 
-#: vms-alpha.c:7234
+#: vms-alpha.c:7312
 #, c-format
 msgid "delta pc +%-4d"
 msgstr "Ð¿Ñ€Ð¸Ñ€Ñ–Ñ�Ñ‚ pc +%-4d"
 
-#: vms-alpha.c:7238
+#: vms-alpha.c:7316
 #, c-format
 msgid "    pc: 0x%08x line: %5u\n"
 msgstr "    pc: 0x%08x Ñ€Ñ�Ð´Ð¾Ðº: %5u\n"
 
-#: vms-alpha.c:7243
+#: vms-alpha.c:7321
 #, c-format
 msgid "    *unhandled* cmd %u\n"
 msgstr "    *Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð°* ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %u\n"
 
-#: vms-alpha.c:7258
+#: vms-alpha.c:7336
 #, c-format
 msgid "source (len: %u)\n"
 msgstr "Ð´Ð¶ÐµÑ€ÐµÐ»Ð¾ (Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u)\n"
 
-#: vms-alpha.c:7273
+#: vms-alpha.c:7351
 #, c-format
 msgid "   declfile: len: %u, flags: %u, fileid: %u\n"
 msgstr "   declfile: Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u, Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: %u, Ñ–Ð´. Ñ„Ð°Ð¹Ð»Ð°: %u\n"
 
-#: vms-alpha.c:7278
+#: vms-alpha.c:7356
 #, c-format
 msgid "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 msgstr "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 
-#: vms-alpha.c:7287
+#: vms-alpha.c:7365
 #, c-format
 msgid "   filename   : %.*s\n"
 msgstr "   Ð½Ð°Ð·Ð²Ð° Ñ„Ð°Ð¹Ð»Ð°: %.*s\n"
 
-#: vms-alpha.c:7296
+#: vms-alpha.c:7374
 #, c-format
 msgid "   setfile %u\n"
 msgstr "   setfile %u\n"
 
-#: vms-alpha.c:7301 vms-alpha.c:7306
+#: vms-alpha.c:7379 vms-alpha.c:7384
 #, c-format
 msgid "   setrec %u\n"
 msgstr "   setrec %u\n"
 
-#: vms-alpha.c:7311 vms-alpha.c:7316
+#: vms-alpha.c:7389 vms-alpha.c:7394
 #, c-format
 msgid "   setlnum %u\n"
 msgstr "   setlnum %u\n"
 
-#: vms-alpha.c:7321 vms-alpha.c:7326
+#: vms-alpha.c:7399 vms-alpha.c:7404
 #, c-format
 msgid "   deflines %u\n"
 msgstr "   deflines %u\n"
 
-#: vms-alpha.c:7330
+#: vms-alpha.c:7408
 #, c-format
 msgid "   formfeed\n"
 msgstr "   formfeed\n"
 
-#: vms-alpha.c:7334
+#: vms-alpha.c:7412
 #, c-format
 msgid "   *unhandled* cmd %u\n"
 msgstr "   *Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð°* ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %u\n"
 
-#: vms-alpha.c:7346
+#: vms-alpha.c:7424
 #, c-format
 msgid "*unhandled* dst type %u\n"
 msgstr "*Ð½ÐµÐ¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ð¹* Ñ‚Ð¸Ð¿ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�, %u\n"
 
-#: vms-alpha.c:7378
+#: vms-alpha.c:7456
 #, c-format
 msgid "cannot read EIHD\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ EIHD\n"
 
-#: vms-alpha.c:7382
+#: vms-alpha.c:7460
 #, c-format
 msgid "EIHD: (size: %u, nbr blocks: %u)\n"
 msgstr "EIHD: (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u, ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð±Ð»Ð¾ÐºÑ–Ð²: %u)\n"
 
-#: vms-alpha.c:7386
+#: vms-alpha.c:7464
 #, c-format
 msgid " majorid: %u, minorid: %u\n"
 msgstr " majorid: %u, minorid: %u\n"
 
-#: vms-alpha.c:7394
+#: vms-alpha.c:7472
 msgid "executable"
 msgstr "Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹"
 
-#: vms-alpha.c:7397
+#: vms-alpha.c:7475
 msgid "linkable image"
 msgstr "ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ð¾Ð±Ñ€Ð°Ð·"
 
-#: vms-alpha.c:7404
+#: vms-alpha.c:7482
 #, c-format
 msgid " image type: %u (%s)"
 msgstr " Ñ‚Ð¸Ð¿ Ð¾Ð±Ñ€Ð°Ð·Ñƒ: %u (%s)"
 
-#: vms-alpha.c:7410
+#: vms-alpha.c:7488
 msgid "native"
 msgstr "Ñ�Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ð¹"
 
-#: vms-alpha.c:7413
+#: vms-alpha.c:7491
 msgid "CLI"
 msgstr "CLI"
 
-#: vms-alpha.c:7420
+#: vms-alpha.c:7498
 #, c-format
 msgid ", subtype: %u (%s)\n"
 msgstr ", Ð¿Ñ–Ð´Ñ‚Ð¸Ð¿: %u (%s)\n"
 
-#: vms-alpha.c:7427
+#: vms-alpha.c:7505
 #, c-format
 msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
 msgstr " Ð·Ñ�ÑƒÐ²Ð¸: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
 
-#: vms-alpha.c:7431
+#: vms-alpha.c:7509
 #, c-format
 msgid " fixup info rva: "
 msgstr " Ð´Ð°Ð½Ñ– Ñ‰Ð¾Ð´Ð¾ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ rva: "
 
-#: vms-alpha.c:7433
+#: vms-alpha.c:7511
 #, c-format
 msgid ", symbol vector rva: "
 msgstr ", Ð²ÐµÐºÑ‚Ð¾Ñ€ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² rva: "
 
-#: vms-alpha.c:7436
+#: vms-alpha.c:7514
 #, c-format
 msgid ""
 "\n"
@@ -7388,463 +7081,463 @@ msgstr ""
 "\n"
 " Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð¼Ð°Ñ�Ð¸Ð²Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ—: %u\n"
 
-#: vms-alpha.c:7441
+#: vms-alpha.c:7519
 #, c-format
 msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
 msgstr " Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸Ðº Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ�-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð¾Ð±Ñ€Ð°Ð·Ñƒ: %u, Ðº-Ñ‚ÑŒ ÐºÐ°Ð½Ð°Ð»Ñ–Ð²: %u, Ð¿Ñ€Ñ–Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚Ð½Ñ–Ñ�Ñ‚ÑŒ: %08x%08x\n"
 
-#: vms-alpha.c:7447
+#: vms-alpha.c:7525
 #, c-format
 msgid " linker flags: %08x:"
 msgstr " Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ°: %08x:"
 
-#: vms-alpha.c:7478
+#: vms-alpha.c:7556
 #, c-format
 msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
 msgstr " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
 
-#: vms-alpha.c:7484
+#: vms-alpha.c:7562
 #, c-format
 msgid " BPAGE: %u"
 msgstr " BPAGE: %u"
 
-#: vms-alpha.c:7491
+#: vms-alpha.c:7569
 #, c-format
 msgid ", ext fixup offset: %u, no_opt psect off: %u"
 msgstr ", Ð·Ñ�ÑƒÐ² Ñ€Ð¾Ð·ÑˆÐ¸Ñ€. Ð¿Ñ€Ð¸Ð²â€™Ð·Ñ�ÐºÐ¸: %u, Ð·Ñ�ÑƒÐ² psect no_opt: %u"
 
-#: vms-alpha.c:7494
+#: vms-alpha.c:7572
 #, c-format
 msgid ", alias: %u\n"
 msgstr ", Ð¿Ñ�ÐµÐ²Ð´Ð¾Ð½Ñ–Ð¼: %u\n"
 
-#: vms-alpha.c:7502
+#: vms-alpha.c:7580
 #, c-format
 msgid "system version array information:\n"
 msgstr "Ð¼Ð°Ñ�Ð¸Ð² Ð´Ð°Ð½Ð¸Ñ… Ñ‰Ð¾Ð´Ð¾ Ð²ÐµÑ€Ñ�Ñ–Ñ— Ñ�Ð¸Ñ�Ñ‚ÐµÐ¼Ð¸:\n"
 
-#: vms-alpha.c:7506
+#: vms-alpha.c:7584
 #, c-format
 msgid "cannot read EIHVN header\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº EIHVN\n"
 
-#: vms-alpha.c:7516
+#: vms-alpha.c:7594
 #, c-format
 msgid "cannot read EIHVN version\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð²ÐµÑ€Ñ�Ñ–ÑŽ EIHVN\n"
 
-#: vms-alpha.c:7519
+#: vms-alpha.c:7597
 #, c-format
 msgid "   %02u "
 msgstr "   %02u "
 
-#: vms-alpha.c:7523
+#: vms-alpha.c:7601
 msgid "BASE_IMAGE       "
 msgstr "BASE_IMAGE       "
 
-#: vms-alpha.c:7526
+#: vms-alpha.c:7604
 msgid "MEMORY_MANAGEMENT"
 msgstr "MEMORY_MANAGEMENT"
 
-#: vms-alpha.c:7529
+#: vms-alpha.c:7607
 msgid "IO               "
 msgstr "IO               "
 
-#: vms-alpha.c:7532
+#: vms-alpha.c:7610
 msgid "FILES_VOLUMES    "
 msgstr "FILES_VOLUMES    "
 
-#: vms-alpha.c:7535
+#: vms-alpha.c:7613
 msgid "PROCESS_SCHED    "
 msgstr "PROCESS_SCHED    "
 
-#: vms-alpha.c:7538
+#: vms-alpha.c:7616
 msgid "SYSGEN           "
 msgstr "SYSGEN           "
 
-#: vms-alpha.c:7541
+#: vms-alpha.c:7619
 msgid "CLUSTERS_LOCKMGR "
 msgstr "CLUSTERS_LOCKMGR "
 
-#: vms-alpha.c:7544
+#: vms-alpha.c:7622
 msgid "LOGICAL_NAMES    "
 msgstr "LOGICAL_NAMES    "
 
-#: vms-alpha.c:7547
+#: vms-alpha.c:7625
 msgid "SECURITY         "
 msgstr "SECURITY         "
 
-#: vms-alpha.c:7550
+#: vms-alpha.c:7628
 msgid "IMAGE_ACTIVATOR  "
 msgstr "IMAGE_ACTIVATOR  "
 
-#: vms-alpha.c:7553
+#: vms-alpha.c:7631
 msgid "NETWORKS         "
 msgstr "NETWORKS         "
 
-#: vms-alpha.c:7556
+#: vms-alpha.c:7634
 msgid "COUNTERS         "
 msgstr "COUNTERS         "
 
-#: vms-alpha.c:7559
+#: vms-alpha.c:7637
 msgid "STABLE           "
 msgstr "STABLE           "
 
-#: vms-alpha.c:7562
+#: vms-alpha.c:7640
 msgid "MISC             "
 msgstr "MISC             "
 
-#: vms-alpha.c:7565
+#: vms-alpha.c:7643
 msgid "CPU              "
 msgstr "CPU              "
 
-#: vms-alpha.c:7568
+#: vms-alpha.c:7646
 msgid "VOLATILE         "
 msgstr "VOLATILE         "
 
-#: vms-alpha.c:7571
+#: vms-alpha.c:7649
 msgid "SHELL            "
 msgstr "SHELL            "
 
-#: vms-alpha.c:7574
+#: vms-alpha.c:7652
 msgid "POSIX            "
 msgstr "POSIX            "
 
-#: vms-alpha.c:7577
+#: vms-alpha.c:7655
 msgid "MULTI_PROCESSING "
 msgstr "MULTI_PROCESSING "
 
-#: vms-alpha.c:7580
+#: vms-alpha.c:7658
 msgid "GALAXY           "
 msgstr "GALAXY           "
 
-#: vms-alpha.c:7583
+#: vms-alpha.c:7661
 msgid "*unknown*        "
 msgstr "*Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾*       "
 
-#: vms-alpha.c:7599 vms-alpha.c:7874
+#: vms-alpha.c:7677 vms-alpha.c:7952
 #, c-format
 msgid "cannot read EIHA\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ EIHA\n"
 
-#: vms-alpha.c:7602
+#: vms-alpha.c:7680
 #, c-format
 msgid "Image activation:  (size=%u)\n"
 msgstr "Ð�ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ� Ð¾Ð±Ñ€Ð°Ð·Ñƒ:  (Ñ€Ð¾Ð·Ð¼Ñ–Ñ€=%u)\n"
 
-#: vms-alpha.c:7605
+#: vms-alpha.c:7683
 #, c-format
 msgid " First address : 0x%08x 0x%08x\n"
 msgstr " ÐŸÐµÑ€ÑˆÐ° Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7609
+#: vms-alpha.c:7687
 #, c-format
 msgid " Second address: 0x%08x 0x%08x\n"
 msgstr " Ð”Ñ€ÑƒÐ³Ð° Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7613
+#: vms-alpha.c:7691
 #, c-format
 msgid " Third address : 0x%08x 0x%08x\n"
 msgstr " Ð¢Ñ€ÐµÑ‚Ñ� Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7617
+#: vms-alpha.c:7695
 #, c-format
 msgid " Fourth address: 0x%08x 0x%08x\n"
 msgstr " Ð§ÐµÑ‚Ð²ÐµÑ€Ñ‚Ð° Ð°Ð´Ñ€ÐµÑ�Ð°: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7621
+#: vms-alpha.c:7699
 #, c-format
 msgid " Shared image  : 0x%08x 0x%08x\n"
 msgstr " Ð¡Ð¿Ñ–Ð»ÑŒÐ½Ð¸Ð¹ Ð¾Ð±Ñ€Ð°Ð·: 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7632
+#: vms-alpha.c:7710
 #, c-format
 msgid "cannot read EIHI\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ EIHI\n"
 
-#: vms-alpha.c:7636
+#: vms-alpha.c:7714
 #, c-format
 msgid "Image identification: (major: %u, minor: %u)\n"
 msgstr "Ð†Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ� Ð¾Ð±Ñ€Ð°Ð·Ñƒ: (Ñ�Ñ‚Ð°Ñ€ÑˆÐ¸Ð¹: %u, Ð¼Ð¾Ð»Ð¾Ð´ÑˆÐ¸Ð¹: %u)\n"
 
-#: vms-alpha.c:7639
+#: vms-alpha.c:7717
 #, c-format
 msgid " image name       : %.*s\n"
 msgstr " Ð½Ð°Ð·Ð²Ð° Ð¾Ð±Ñ€Ð°Ð·Ñƒ     : %.*s\n"
 
-#: vms-alpha.c:7641
+#: vms-alpha.c:7719
 #, c-format
 msgid " link time        : %s\n"
 msgstr " Ñ‡Ð°Ñ� ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� : %s\n"
 
-#: vms-alpha.c:7643
+#: vms-alpha.c:7721
 #, c-format
 msgid " image ident      : %.*s\n"
 msgstr " Ñ–Ð´. Ð¾Ð±Ñ€Ð°Ð·Ñƒ         : %.*s\n"
 
-#: vms-alpha.c:7645
+#: vms-alpha.c:7723
 #, c-format
 msgid " linker ident     : %.*s\n"
 msgstr " Ñ–Ð´. ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ°: %.*s\n"
 
-#: vms-alpha.c:7647
+#: vms-alpha.c:7725
 #, c-format
 msgid " image build ident: %.*s\n"
 msgstr " Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð¾Ð±Ñ€Ð°Ð·Ñƒ: %.*s\n"
 
-#: vms-alpha.c:7657
+#: vms-alpha.c:7735
 #, c-format
 msgid "cannot read EIHS\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ EIHS\n"
 
-#: vms-alpha.c:7661
+#: vms-alpha.c:7739
 #, c-format
 msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
 msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ– Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸ Ð¾Ð±Ñ€Ð°Ð·Ñƒ (Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð°: %u, Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ�: %u)\n"
 
-#: vms-alpha.c:7667
+#: vms-alpha.c:7745
 #, c-format
 msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
 msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: vbn: %u, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u (0x%x)\n"
 
-#: vms-alpha.c:7672
+#: vms-alpha.c:7750
 #, c-format
 msgid " global symbol table: vbn: %u, records: %u\n"
 msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²: vbn: %u, Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð²: %u\n"
 
-#: vms-alpha.c:7677
+#: vms-alpha.c:7755
 #, c-format
 msgid " debug module table : vbn: %u, size: %u\n"
 msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð²: vbn: %u, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u\n"
 
-#: vms-alpha.c:7690
+#: vms-alpha.c:7768
 #, c-format
 msgid "cannot read EISD\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ EISD\n"
 
-#: vms-alpha.c:7701
+#: vms-alpha.c:7779
 #, c-format
 msgid "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
 msgstr "Ð”ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð¾Ð±Ñ€Ð°Ð·Ñƒ: (Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð°: %u, Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ�: %u, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u, Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿: %u)\n"
 
-#: vms-alpha.c:7709
+#: vms-alpha.c:7787
 #, c-format
 msgid " section: base: 0x%08x%08x size: 0x%08x\n"
 msgstr " Ñ€Ð¾Ð·Ð´Ñ–Ð»: Ð¾Ñ�Ð½Ð¾Ð²Ð°: 0x%08x%08x Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: 0x%08x\n"
 
-#: vms-alpha.c:7714
+#: vms-alpha.c:7792
 #, c-format
 msgid " flags: 0x%04x"
 msgstr " Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: 0x%04x"
 
-#: vms-alpha.c:7752
+#: vms-alpha.c:7830
 #, c-format
 msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
 msgstr " vbn: %u, pfc: %u, matchctl: %u Ñ‚Ð¸Ð¿: %u ("
 
-#: vms-alpha.c:7758
+#: vms-alpha.c:7836
 msgid "NORMAL"
 msgstr "NORMAL"
 
-#: vms-alpha.c:7761
+#: vms-alpha.c:7839
 msgid "SHRFXD"
 msgstr "SHRFXD"
 
-#: vms-alpha.c:7764
+#: vms-alpha.c:7842
 msgid "PRVFXD"
 msgstr "PRVFXD"
 
-#: vms-alpha.c:7767
+#: vms-alpha.c:7845
 msgid "SHRPIC"
 msgstr "SHRPIC"
 
-#: vms-alpha.c:7770
+#: vms-alpha.c:7848
 msgid "PRVPIC"
 msgstr "PRVPIC"
 
-#: vms-alpha.c:7773
+#: vms-alpha.c:7851
 msgid "USRSTACK"
 msgstr "USRSTACK"
 
-#: vms-alpha.c:7779
+#: vms-alpha.c:7857
 msgid ")\n"
 msgstr ")\n"
 
-#: vms-alpha.c:7782
+#: vms-alpha.c:7860
 #, c-format
 msgid " ident: 0x%08x, name: %.*s\n"
 msgstr " Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€: 0x%08x, Ð½Ð°Ð·Ð²Ð°: %.*s\n"
 
-#: vms-alpha.c:7792
+#: vms-alpha.c:7870
 #, c-format
 msgid "cannot read DMT\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ DMT\n"
 
-#: vms-alpha.c:7796
+#: vms-alpha.c:7874
 #, c-format
 msgid "Debug module table:\n"
 msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²:\n"
 
-#: vms-alpha.c:7805
+#: vms-alpha.c:7883
 #, c-format
 msgid "cannot read DMT header\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº DMT\n"
 
-#: vms-alpha.c:7811
+#: vms-alpha.c:7889
 #, c-format
 msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
 msgstr " Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð¼Ð¾Ð´ÑƒÐ»Ñ�: 0x%08x, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: 0x%08x, (%u psect)\n"
 
-#: vms-alpha.c:7821
+#: vms-alpha.c:7899
 #, c-format
 msgid "cannot read DMT psect\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ psect DMT\n"
 
-#: vms-alpha.c:7825
+#: vms-alpha.c:7903
 #, c-format
 msgid "  psect start: 0x%08x, length: %u\n"
 msgstr "  Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¾Ðº psect: 0x%08x, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð°: %u\n"
 
-#: vms-alpha.c:7838
+#: vms-alpha.c:7916
 #, c-format
 msgid "cannot read DST\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ DST\n"
 
-#: vms-alpha.c:7848
+#: vms-alpha.c:7926
 #, c-format
 msgid "cannot read GST\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ GST\n"
 
-#: vms-alpha.c:7852
+#: vms-alpha.c:7930
 #, c-format
 msgid "Global symbol table:\n"
 msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð²:\n"
 
-#: vms-alpha.c:7881
+#: vms-alpha.c:7959
 #, c-format
 msgid "Image activator fixup: (major: %u, minor: %u)\n"
 msgstr "ÐŸÑ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ° Ð°Ð´Ñ€ÐµÑ�Ð¸ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ‚Ð¾Ñ€Ð° Ð¾Ð±Ñ€Ð°Ð·Ñƒ: (Ð¾Ñ�Ð½Ð¾Ð²Ð½Ð°: %u, Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ�: %u)\n"
 
-#: vms-alpha.c:7885
+#: vms-alpha.c:7963
 #, c-format
 msgid "  iaflink : 0x%08x %08x\n"
 msgstr "  iaflink : 0x%08x %08x\n"
 
-#: vms-alpha.c:7889
+#: vms-alpha.c:7967
 #, c-format
 msgid "  fixuplnk: 0x%08x %08x\n"
 msgstr "  fixuplnk: 0x%08x %08x\n"
 
-#: vms-alpha.c:7892
+#: vms-alpha.c:7970
 #, c-format
 msgid "  size : %u\n"
 msgstr "  Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u\n"
 
-#: vms-alpha.c:7894
+#: vms-alpha.c:7972
 #, c-format
 msgid "  flags: 0x%08x\n"
 msgstr "  Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: 0x%08x\n"
 
-#: vms-alpha.c:7899
+#: vms-alpha.c:7977
 #, c-format
 msgid "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 msgstr "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 
-#: vms-alpha.c:7904
+#: vms-alpha.c:7982
 #, c-format
 msgid "  qdotadroff: %5u, ldotadroff: %5u\n"
 msgstr "  qdotadroff: %5u, ldotadroff: %5u\n"
 
-#: vms-alpha.c:7909
+#: vms-alpha.c:7987
 #, c-format
 msgid "  codeadroff: %5u, lpfixoff  : %5u\n"
 msgstr "  codeadroff: %5u, lpfixoff  : %5u\n"
 
-#: vms-alpha.c:7912
+#: vms-alpha.c:7990
 #, c-format
 msgid "  chgprtoff : %5u\n"
 msgstr "  chgprtoff : %5u\n"
 
-#: vms-alpha.c:7916
+#: vms-alpha.c:7994
 #, c-format
 msgid "  shlstoff  : %5u, shrimgcnt : %5u\n"
 msgstr "  shlstoff  : %5u, shrimgcnt : %5u\n"
 
-#: vms-alpha.c:7919
+#: vms-alpha.c:7997
 #, c-format
 msgid "  shlextra  : %5u, permctx   : %5u\n"
 msgstr "  shlextra  : %5u, permctx   : %5u\n"
 
-#: vms-alpha.c:7922
+#: vms-alpha.c:8000
 #, c-format
 msgid "  base_va : 0x%08x\n"
 msgstr "  base_va : 0x%08x\n"
 
-#: vms-alpha.c:7924
+#: vms-alpha.c:8002
 #, c-format
 msgid "  lppsbfixoff: %5u\n"
 msgstr "  lppsbfixoff: %5u\n"
 
-#: vms-alpha.c:7932
+#: vms-alpha.c:8010
 #, c-format
 msgid " Shareable images:\n"
 msgstr " ÐžÐ±Ñ€Ð°Ð·Ð¸ Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�:\n"
 
-#: vms-alpha.c:7937
+#: vms-alpha.c:8015
 #, c-format
 msgid "  %u: size: %u, flags: 0x%02x, name: %.*s\n"
 msgstr "  %u: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %u, Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–: 0x%02x, Ð½Ð°Ð·Ð²Ð°: %.*s\n"
 
-#: vms-alpha.c:7944
+#: vms-alpha.c:8022
 #, c-format
 msgid " quad-word relocation fixups:\n"
 msgstr " Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ñƒ Ñ‡Ð¾Ñ‚Ð¸Ñ€Ð¸ Ñ�Ð»Ð¾Ð²Ð°:\n"
 
-#: vms-alpha.c:7949
+#: vms-alpha.c:8027
 #, c-format
 msgid " long-word relocation fixups:\n"
 msgstr " Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½ÑŒ Ñƒ Ð´Ð¾Ð²Ð³Ðµ Ñ�Ð»Ð¾Ð²Ð¾:\n"
 
-#: vms-alpha.c:7954
+#: vms-alpha.c:8032
 #, c-format
 msgid " quad-word .address reference fixups:\n"
 msgstr " Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½ÑŒ .address Ñƒ Ñ‡Ð¾Ñ‚Ð¸Ñ€Ð¸ Ñ�Ð»Ð¾Ð²Ð°:\n"
 
-#: vms-alpha.c:7959
+#: vms-alpha.c:8037
 #, c-format
 msgid " long-word .address reference fixups:\n"
 msgstr " Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½ÑŒ .address Ñƒ Ð´Ð¾Ð²Ð³Ðµ Ñ�Ð»Ð¾Ð²Ð¾:\n"
 
-#: vms-alpha.c:7964
+#: vms-alpha.c:8042
 #, c-format
 msgid " Code Address Reference Fixups:\n"
 msgstr " ÐŸÑ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð°Ð´Ñ€ÐµÑ� ÐºÐ¾Ð´Ñƒ:\n"
 
-#: vms-alpha.c:7969
+#: vms-alpha.c:8047
 #, c-format
 msgid " Linkage Pairs Reference Fixups:\n"
 msgstr " ÐŸÑ€Ð¸Ð²â€™Ñ�Ð·ÐºÐ¸ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½ÑŒ Ð½Ð° Ð¿Ð°Ñ€Ð¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ�:\n"
 
-#: vms-alpha.c:7978
+#: vms-alpha.c:8056
 #, c-format
 msgid " Change Protection (%u entries):\n"
 msgstr " Ð—Ð¼Ñ–Ð½Ð° Ð·Ð°Ñ…Ð¸Ñ�Ñ‚Ñƒ (%u Ð·Ð°Ð¿Ð¸Ñ�Ð¸):\n"
 
-#: vms-alpha.c:7984
+#: vms-alpha.c:8062
 #, c-format
 msgid "  base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
 msgstr "  Ð¾Ñ�Ð½.: 0x%08x %08x, Ñ€Ð¾Ð·Ð¼: 0x%08x,  Ð·Ð°Ñ….: 0x%08x "
 
 #. FIXME: we do not yet support relocatable link.  It is not obvious
 #. how to do it for debug infos.
-#: vms-alpha.c:8824
+#: vms-alpha.c:8902
 msgid "%P: relocatable link is not supported\n"
 msgstr "%P: Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð· Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–Ñ�Ñ‚ÑŽ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾\n"
 
-#: vms-alpha.c:8895
+#: vms-alpha.c:8973
 #, c-format
-msgid "%P: multiple entry points: in modules %B and %B\n"
-msgstr "%P: Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð¾Ñ‡Ð¾Ðº Ð²Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… %B Ñ– %B\n"
+msgid "%P: multiple entry points: in modules %pB and %pB\n"
+msgstr "%P: Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ñ‚Ð¾Ñ‡Ð¾Ðº Ð²Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… %pB Ñ– %pB\n"
 
 #: vms-lib.c:1445
 #, c-format
@@ -7860,216 +7553,253 @@ msgid "_bfd_vms_output_counted called wi
 msgstr "_bfd_vms_output_counted Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ Ð´Ð»Ñ� Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾Ñ— ÐºÑ–Ð»ÑŒÐºÐ¾Ñ�Ñ‚Ñ– Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
 
 #: xcofflink.c:832
-msgid "%B: XCOFF shared object when not producing XCOFF output"
-msgstr "%B: Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚ XCOFF, Ñ…Ð¾Ñ‡Ð° Ð´Ð°Ð½Ñ– XCOFF Ð½Ðµ Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑŽÑ‚ÑŒÑ�Ñ�"
+#, c-format
+msgid "%pB: XCOFF shared object when not producing XCOFF output"
+msgstr "%pB: Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚ XCOFF, Ñ…Ð¾Ñ‡Ð° Ð´Ð°Ð½Ñ– XCOFF Ð½Ðµ Ñ�Ñ‚Ð²Ð¾Ñ€ÑŽÑŽÑ‚ÑŒÑ�Ñ�"
 
 #: xcofflink.c:853
-msgid "%B: dynamic object with no .loader section"
-msgstr "%B: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚ Ð±ÐµÐ· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .loader"
+#, c-format
+msgid "%pB: dynamic object with no .loader section"
+msgstr "%pB: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ð¾Ð±â€™Ñ”ÐºÑ‚ Ð±ÐµÐ· Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .loader"
 
 #: xcofflink.c:1413
 #, c-format
-msgid "%B: `%s' has line numbers but no enclosing section"
-msgstr "%B: Â«%sÂ» Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½Ð¾Ð¼ÐµÑ€Ð¸ Ñ€Ñ�Ð´ÐºÑ–Ð², Ð°Ð»Ðµ Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
+msgid "%pB: `%s' has line numbers but no enclosing section"
+msgstr "%pB: Â«%sÂ» Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½Ð¾Ð¼ÐµÑ€Ð¸ Ñ€Ñ�Ð´ÐºÑ–Ð², Ð°Ð»Ðµ Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
 
 #: xcofflink.c:1466
 #, c-format
-msgid "%B: class %d symbol `%s' has no aux entries"
-msgstr "%B: ÐºÐ»Ð°Ñ� %d, Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¼Ð°Ñ” Ð´Ð¾Ð¿Ð¾Ð¼Ñ–Ð¶Ð½Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð²"
+msgid "%pB: class %d symbol `%s' has no aux entries"
+msgstr "%pB: ÐºÐ»Ð°Ñ� %d, Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ðµ Ð¼Ð°Ñ” Ð´Ð¾Ð¿Ð¾Ð¼Ñ–Ð¶Ð½Ð¸Ñ… Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð²"
 
 #: xcofflink.c:1489
 #, c-format
-msgid "%B: symbol `%s' has unrecognized csect type %d"
-msgstr "B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð³Ð¾ Ñ‚Ð¸Ð¿Ñƒ csect %d"
+msgid "%pB: symbol `%s' has unrecognized csect type %d"
+msgstr "%pB: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð´Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð³Ð¾ Ñ‚Ð¸Ð¿Ñƒ csect %d"
 
 #: xcofflink.c:1502
 #, c-format
-msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» XTY_ER Â«%sÂ»: ÐºÐ»Ð°Ñ� %d, Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d"
+msgid "%pB: bad XTY_ER symbol `%s': class %d scnum %d scnlen %<PRId64>"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» XTY_ER Â«%sÂ»: ÐºÐ»Ð°Ñ� %d, Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %<PRId64>"
 
-#: xcofflink.c:1532
+#: xcofflink.c:1533
 #, c-format
-msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d"
-msgstr "%B: Ñ�Ð¸Ð¼Ð²Ð¾Ð» XMC_TC0 Â«%sÂ» Ñ” ÐºÐ»Ð°Ñ�Ð¾Ð¼ %d, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d"
+msgid "%pB: XMC_TC0 symbol `%s' is class %d scnlen %<PRId64>"
+msgstr "%pB: Ñ�Ð¸Ð¼Ð²Ð¾Ð» XMC_TC0 Â«%sÂ» Ñ” ÐºÐ»Ð°Ñ�Ð¾Ð¼ %d, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %<PRId64>"
 
-#: xcofflink.c:1679
+#: xcofflink.c:1680
 #, c-format
-msgid "%B: csect `%s' not in enclosing section"
-msgstr "%B: csect Â«%sÂ» Ð½Ðµ Ñƒ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–"
+msgid "%pB: csect `%s' not in enclosing section"
+msgstr "%pB: csect Â«%sÂ» Ð½Ðµ Ñƒ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–"
 
-#: xcofflink.c:1787
+#: xcofflink.c:1788
 #, c-format
-msgid "%B: misplaced XTY_LD `%s'"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ� XTY_LD Â«%sÂ»"
+msgid "%pB: misplaced XTY_LD `%s'"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ� XTY_LD Â«%sÂ»"
 
-#: xcofflink.c:2108
+#: xcofflink.c:2109
 #, c-format
-msgid "%B: reloc %s:%d not in csect"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s:%d Ð½Ðµ Ñƒ csect"
+msgid "%pB: reloc %s:%<PRId64> not in csect"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s:%<PRId64> Ð½Ðµ Ñƒ csect"
 
-#: xcofflink.c:3198
+#: xcofflink.c:3199
 #, c-format
 msgid "%s: no such symbol"
 msgstr "%s: Ð½ÐµÐ¼Ð°Ñ” Ñ‚Ð°ÐºÐ¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: xcofflink.c:3303
+#: xcofflink.c:3304
 #, c-format
 msgid "warning: attempt to export undefined symbol `%s'"
 msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�Ð¿Ñ€Ð¾Ð±Ð° ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ»"
 
-#: xcofflink.c:3682
+#: xcofflink.c:3683
 msgid "error: undefined symbol __rtinit"
 msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ñ�Ð¸Ð¼Ð²Ð¾Ð» __rtinit"
 
-#: xcofflink.c:4062
+#: xcofflink.c:4063
 #, c-format
-msgid "%B: loader reloc in unrecognized section `%s'"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð° Ñƒ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%sÂ»"
+msgid "%pB: loader reloc in unrecognized section `%s'"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð° Ñƒ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Â«%sÂ»"
 
-#: xcofflink.c:4074
+#: xcofflink.c:4075
 #, c-format
-msgid "%B: `%s' in loader reloc but not loader sym"
-msgstr "%B: Â«%sÂ» Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð°, Ð°Ð»Ðµ Ð½Ðµ Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ñ… Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�"
+msgid "%pB: `%s' in loader reloc but not loader sym"
+msgstr "%pB: Â«%sÂ» Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð°, Ð°Ð»Ðµ Ð½Ðµ Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ñ… Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�"
 
-#: xcofflink.c:4091
+#: xcofflink.c:4092
 #, c-format
-msgid "%B: loader reloc in read-only section %A"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð° Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, %A"
+msgid "%pB: loader reloc in read-only section %pA"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð° Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, %pA"
 
-#: xcofflink.c:5115
+#: xcofflink.c:5116
 #, c-format
-msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
-msgstr "ÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� TOC: 0x%lx > 0x10000; Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -mminimal-toc Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ�"
+msgid "TOC overflow: %#<PRIx64> > 0x10000; try -mminimal-toc when compiling"
+msgstr "ÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� TOC: %#<PRIx64> > 0x10000; Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -mminimal-toc Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ�"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:1890
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:5027
 #, c-format
-msgid "Invalid AArch64 reloc number: %d"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� AArch64: %d"
+msgid "%pB: error: erratum 835769 stub out of range (input file too large)"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ 835769 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:4777
-msgid "%B: error: Erratum 835769 stub out of range (input file too large)"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ 835769 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)"
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:5108
+#, c-format
+msgid "%pB: error: erratum 843419 stub out of range (input file too large)"
+msgstr "%pB: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ 843419 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:4858
-msgid "%B: error: Erratum 843419 stub out of range (input file too large)"
-msgstr "%B: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð·Ð°Ð¼Ñ–Ð½Ð½Ð¸Ðº Ð´Ð»Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ 843419 Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¿Ð¾Ð·Ð° Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ñ„Ð°Ð¹Ð» Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼)"
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:5638
+#, c-format
+msgid "%pB: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð¼Ð¾Ð¶Ðµ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÑƒÐ²Ð°Ñ‚Ð¸Ñ�Ñ� Ð·Ð·Ð¾Ð²Ð½Ñ–, Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5340
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:5729
 #, c-format
-msgid "%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC"
-msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ Â«%sÂ», Ñ�ÐºÐ¸Ð¹ Ð¼Ð¾Ð¶Ðµ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÑƒÐ²Ð°Ñ‚Ð¸Ñ�Ñ� Ð·Ð·Ð¾Ð²Ð½Ñ–, Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð· -fPIC"
+msgid "%pB: local symbol descriptor table be NULL when applying relocation %s against local symbol"
+msgstr "%pB: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€Ñ–Ð² Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ” NULL Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð°Ñ�Ñ‚Ð¾Ñ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
+
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:6761
+msgid "too many GOT entries for -fpic, please recompile with -fPIC"
+msgstr "Ð·Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² GOT Ð´Ð»Ñ� -fpic. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð· -fPIC"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5431
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:6789
+msgid "one possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined"
+msgstr "Ð¾Ð´Ð½Ñ–Ñ”ÑŽ Ñ–Ð· Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¸Ñ… Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½ Ñ†Ñ–Ñ”Ñ— Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñ” Ñ‚Ðµ, Ñ‰Ð¾ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ ÐºÐ¾Ð´Ñ– Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ‚Ð°Ðº, Ð½Ð°Ñ‡Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ð°Ñ” Ð±Ñ–Ð»ÑŒÑˆÐµ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�, Ð½Ñ–Ð¶ Ð±ÑƒÐ»Ð¾ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð¾ Ñ‚Ð°Ð¼, Ð´Ðµ Ð¹Ð¾Ð³Ð¾ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
+
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-aarch64.c:7375
 #, c-format
-msgid "%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol"
-msgstr "%B: Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€Ñ–Ð² Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ð² Ñ” NULL Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð·Ð°Ñ�Ñ‚Ð¾Ñ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
+msgid "%pB: relocation %s against `%s' can not be used when making a shared object"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Â«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�"
+
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:2281
+msgid "%X%P: internal error: out of range error\n"
+msgstr "%X%P: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ\n"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6459
-msgid "Too many GOT entries for -fpic, please recompile with -fPIC"
-msgstr "Ð—Ð°Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² GOT Ð´Ð»Ñ� -fpic. Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð·Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ Ð· -fPIC"
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:2285
+msgid "%X%P: internal error: unsupported relocation error\n"
+msgstr "%X%P: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�\n"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6487
-msgid "One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined."
-msgstr "ÐžÐ´Ð½Ñ–Ñ”ÑŽ Ñ–Ð· Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¸Ñ… Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½ Ñ†Ñ–Ñ”Ñ— Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñ” Ñ‚Ðµ, Ñ‰Ð¾ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ð½Ð° Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ñƒ ÐºÐ¾Ð´Ñ– Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ñ‚Ð°Ðº, Ð½Ð°Ñ‡Ðµ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Ð¼Ð°Ñ” Ð±Ñ–Ð»ÑŒÑˆÐµ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ�, Ð½Ñ–Ð¶ Ð±ÑƒÐ»Ð¾ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð¾ Ñ‚Ð°Ð¼, Ð´Ðµ Ð¹Ð¾Ð³Ð¾ Ð±ÑƒÐ»Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾."
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:2295
+msgid "%X%P: internal error: unknown error\n"
+msgstr "%X%P: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°\n"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2600
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:2621
+#, c-format
 msgid ""
-"%B: ABI is incompatible with that of the selected emulation:\n"
+"%pB: ABI is incompatible with that of the selected emulation:\n"
 "  target emulation `%s' does not match `%s'"
 msgstr ""
-"%B: ABI Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ñ–Ð· Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾ÑŽ ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ”ÑŽ:\n"
+"%pB: ABI Ñ” Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ð¸Ð¼ Ñ–Ð· Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾ÑŽ ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ”ÑŽ:\n"
 "  Ñ†Ñ–Ð»ÑŒ ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—, Â«%sÂ», Ð½Ðµ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Â«%sÂ»"
 
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2620
-msgid "%B: can't link hard-float modules with soft-float modules"
-msgstr "%B: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ– Ñ–Ð· Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾ÑŽ Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ñ–Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ Ñ–Ð· Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾ÑŽ Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ"
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:2641
+#, c-format
+msgid "%pB: can't link hard-float modules with soft-float modules"
+msgstr "%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ Ð¼Ð¾Ð´ÑƒÐ»Ñ– Ñ–Ð· Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾ÑŽ Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ñ–Ð· Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ð¼Ð¸ Ñ–Ð· Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾ÑŽ Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ"
+
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:2649
+#, c-format
+msgid "%pB: can't link RVE with other target"
+msgstr "%pB: Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ RVE Ñ–Ð· Ñ–Ð½ÑˆÐ¾ÑŽ Ñ†Ñ–Ð»Ð»ÑŽ"
+
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:3167
+#, c-format
+msgid "%pB(%pA+%#<PRIx64>): %<PRId64> bytes required for alignment to %<PRId64>-byte boundary, but only %<PRId64> present"
+msgstr "%pB(%pA+%#<PRIx64>): Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ñ– %<PRId64> Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð´Ð»Ñ� Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ð½Ð° %<PRId64>-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ñƒ Ð¼ÐµÐ¶Ñƒ, Ð²Ñ‚Ñ–Ð¼, Ð¼Ð°Ñ”Ð¼Ð¾ Ð»Ð¸ÑˆÐµ %<PRId64>"
+
+#: /work/sources/binutils/branches/2.31/bfd/elfnn-riscv.c:3235
+#, c-format
+msgid "%pB(%pA+%#<PRIx64>): Unable to clear RISCV_PCREL_HI20 reloc for corresponding RISCV_PCREL_LO12 reloc"
+msgstr "%pB(%pA+%#<PRIx64>): Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ñ‡Ð¸Ñ�Ñ‚Ð¸Ñ‚Ð¸ RISCV_PCREL_HI20 relocfor, Ñ‰Ð¾ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½ÑŽ RISCV_PCREL_LO12"
 
 #: peigen.c:157 pepigen.c:157 pex64igen.c:157
-msgid "%B: unable to find name for empty section"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
+#, c-format
+msgid "%pB: unable to find name for empty section"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
 
 #: peigen.c:183 pepigen.c:183 pex64igen.c:183
-msgid "%B: out of memory creating name for empty section"
-msgstr "%B: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ð´Ð»Ñ� Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
+#, c-format
+msgid "%pB: out of memory creating name for empty section"
+msgstr "%pB: Ð²Ð¸Ñ…Ñ–Ð´ Ð·Ð° Ð¼ÐµÐ¶Ñ– Ð¾Ð±Ð»Ð°Ñ�Ñ‚Ñ– Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ð¿Ñ€Ð¾Ð±Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ñƒ Ð´Ð»Ñ� Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
 
 #: peigen.c:194 pepigen.c:194 pex64igen.c:194
-msgid "%B: unable to create fake empty section"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ„Ñ–ÐºÑ‚Ð¸Ð²Ð½Ð¸Ð¹ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»"
+#, c-format
+msgid "%pB: unable to create fake empty section"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ñ„Ñ–ÐºÑ‚Ð¸Ð²Ð½Ð¸Ð¹ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð»"
 
 #: peigen.c:532 pepigen.c:532 pex64igen.c:532
-msgid "%B: aout header specifies an invalid number of data-directory entries: %d"
-msgstr "%B: Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº aout Ð²ÐºÐ°Ð·ÑƒÑ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ñƒ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ð°Ð½Ð¸Ñ…: %d"
+#, c-format
+msgid "%pB: aout header specifies an invalid number of data-directory entries: %ld"
+msgstr "%pB: Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº aout Ð²ÐºÐ°Ð·ÑƒÑ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ñƒ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ð°Ð½Ð¸Ñ…: %ld"
 
-#: peigen.c:1089 pepigen.c:1089 pex64igen.c:1089
+#: peigen.c:1090 pepigen.c:1090 pex64igen.c:1090
 #, c-format
-msgid "%B: line number overflow: 0x%lx > 0xffff"
-msgstr "%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð²; 0x%lx > 0xffff"
+msgid "%pB: line number overflow: 0x%lx > 0xffff"
+msgstr "%pB: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ� Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñ�Ð´ÐºÑ–Ð²; 0x%lx > 0xffff"
 
-#: peigen.c:1233 pepigen.c:1233 pex64igen.c:1233
+#: peigen.c:1234 pepigen.c:1234 pex64igen.c:1234
 msgid "Export Directory [.edata (or where ever we found it)]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� [.edata (Ð°Ð±Ð¾ Ñ–Ð½ÑˆÐµ Ð¼Ñ–Ñ�Ñ†Ðµ, Ð´Ðµ Ð¹Ð¾Ð³Ð¾ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾)]"
 
-#: peigen.c:1234 pepigen.c:1234 pex64igen.c:1234
+#: peigen.c:1235 pepigen.c:1235 pex64igen.c:1235
 msgid "Import Directory [parts of .idata]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� [Ñ‡Ð°Ñ�Ñ‚Ð¸Ð½Ð¸ .idata]"
 
-#: peigen.c:1235 pepigen.c:1235 pex64igen.c:1235
+#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236
 msgid "Resource Directory [.rsrc]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ€ÐµÑ�ÑƒÑ€Ñ�Ñ–Ð² [.rsrc]"
 
-#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236
+#: peigen.c:1237 pepigen.c:1237 pex64igen.c:1237
 msgid "Exception Directory [.pdata]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½ÑŒ [.pdata]"
 
-#: peigen.c:1237 pepigen.c:1237 pex64igen.c:1237
+#: peigen.c:1238 pepigen.c:1238 pex64igen.c:1238
 msgid "Security Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð°Ñ…Ð¸Ñ�Ñ‚Ñƒ"
 
-#: peigen.c:1238 pepigen.c:1238 pex64igen.c:1238
+#: peigen.c:1239 pepigen.c:1239 pex64igen.c:1239
 msgid "Base Relocation Directory [.reloc]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� [.reloc]"
 
-#: peigen.c:1239 pepigen.c:1239 pex64igen.c:1239
+#: peigen.c:1240 pepigen.c:1240 pex64igen.c:1240
 msgid "Debug Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸"
 
-#: peigen.c:1240 pepigen.c:1240 pex64igen.c:1240
+#: peigen.c:1241 pepigen.c:1241 pex64igen.c:1241
 msgid "Description Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð¾Ð¿Ð¸Ñ�Ñ–Ð²"
 
-#: peigen.c:1241 pepigen.c:1241 pex64igen.c:1241
+#: peigen.c:1242 pepigen.c:1242 pex64igen.c:1242
 msgid "Special Directory"
 msgstr "ÐžÑ�Ð¾Ð±Ð»Ð¸Ð²Ð¸Ð¹ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³"
 
-#: peigen.c:1242 pepigen.c:1242 pex64igen.c:1242
+#: peigen.c:1243 pepigen.c:1243 pex64igen.c:1243
 msgid "Thread Storage Directory [.tls]"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ‚Ð¾ÐºÑ–Ð² [.tls]"
 
-#: peigen.c:1243 pepigen.c:1243 pex64igen.c:1243
+#: peigen.c:1244 pepigen.c:1244 pex64igen.c:1244
 msgid "Load Configuration Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ� Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ"
 
-#: peigen.c:1244 pepigen.c:1244 pex64igen.c:1244
+#: peigen.c:1245 pepigen.c:1245 pex64igen.c:1245
 msgid "Bound Import Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð²Ð¸Ð¼ÑƒÑˆÐµÐ½Ð¾Ð³Ð¾ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: peigen.c:1245 pepigen.c:1245 pex64igen.c:1245
+#: peigen.c:1246 pepigen.c:1246 pex64igen.c:1246
 msgid "Import Address Table Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð°Ð´Ñ€ÐµÑ�"
 
-#: peigen.c:1246 pepigen.c:1246 pex64igen.c:1246
+#: peigen.c:1247 pepigen.c:1247 pex64igen.c:1247
 msgid "Delay Import Directory"
 msgstr "ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð²Ñ–Ð´ÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð³Ð¾ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: peigen.c:1247 pepigen.c:1247 pex64igen.c:1247
+#: peigen.c:1248 pepigen.c:1248 pex64igen.c:1248
 msgid "CLR Runtime Header"
 msgstr "Ð”Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº CLR"
 
-#: peigen.c:1248 pepigen.c:1248 pex64igen.c:1248
+#: peigen.c:1249 pepigen.c:1249 pex64igen.c:1249
 msgid "Reserved"
 msgstr "Ð—Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¾Ð²Ð°Ð½Ð¾"
 
-#: peigen.c:1308 pepigen.c:1308 pex64igen.c:1308
+#: peigen.c:1309 pepigen.c:1309 pex64igen.c:1309
 #, c-format
 msgid ""
 "\n"
@@ -8078,7 +7808,7 @@ msgstr ""
 "\n"
 "Ð†Ñ�Ð½ÑƒÑ” Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð°Ð»Ðµ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Ñ‰Ð¾ Ñ—Ñ— Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾\n"
 
-#: peigen.c:1314 pepigen.c:1314 pex64igen.c:1314
+#: peigen.c:1315 pepigen.c:1315 pex64igen.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -8087,7 +7817,7 @@ msgstr ""
 "\n"
 "Ð£ %s Ñ” Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð°Ð»Ðµ Ñƒ Ñ†ÑŒÐ¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ð´Ð°Ð½Ð¸Ñ…\n"
 
-#: peigen.c:1321 pepigen.c:1321 pex64igen.c:1321
+#: peigen.c:1322 pepigen.c:1322 pex64igen.c:1322
 #, c-format
 msgid ""
 "\n"
@@ -8096,7 +7826,7 @@ msgstr ""
 "\n"
 "Ð£ %s Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ 0x%lx\n"
 
-#: peigen.c:1363 pepigen.c:1363 pex64igen.c:1363
+#: peigen.c:1364 pepigen.c:1364 pex64igen.c:1364
 #, c-format
 msgid ""
 "\n"
@@ -8105,12 +7835,12 @@ msgstr ""
 "\n"
 "Ð”ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÐ¾Ð²Ð°Ð½Ð¾ Ð·Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾ÑŽ Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ %04lx\n"
 
-#: peigen.c:1367 pepigen.c:1367 pex64igen.c:1367
+#: peigen.c:1368 pepigen.c:1368 pex64igen.c:1368
 #, c-format
 msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
 msgstr "\ttoc Ð¾Ñ�Ð½Ð¾Ð²Ð¸ ÐºÐ¾Ð´Ñƒ %08lx (Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð½Ð¸Ð¹/Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ð¹) %08lx/%08lx\n"
 
-#: peigen.c:1375 pepigen.c:1375 pex64igen.c:1375
+#: peigen.c:1376 pepigen.c:1376 pex64igen.c:1376
 #, c-format
 msgid ""
 "\n"
@@ -8119,7 +7849,7 @@ msgstr ""
 "\n"
 "Ð�ÐµÐ¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ reldata! Ð”ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ð½Ðµ Ñ€Ð¾Ð·ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¾.\n"
 
-#: peigen.c:1380 pepigen.c:1380 pex64igen.c:1380
+#: peigen.c:1381 pepigen.c:1381 pex64igen.c:1381
 #, c-format
 msgid ""
 "\n"
@@ -8128,7 +7858,7 @@ msgstr ""
 "\n"
 "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� (Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s)\n"
 
-#: peigen.c:1383 pepigen.c:1383 pex64igen.c:1383
+#: peigen.c:1384 pepigen.c:1384 pex64igen.c:1384
 #, c-format
 msgid ""
 " vma:            Hint    Time      Forward  DLL       First\n"
@@ -8137,7 +7867,7 @@ msgstr ""
 " vma:            Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð§Ð°Ñ�Ð¾Ð²Ð°    Ð›Ð°Ð½Ñ†ÑŽÐ¶Ð¾Ðº Ð�Ð°Ð·Ð²Ð°     ÐŸÐµÑ€ÑˆÐ¸Ð¹\n"
 "                 Ð²ÐºÐ°Ð·.   ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐºÐ°  Ñ�Ð¿Ñ€Ñ�Ð¼.   DLL       ÑˆÐ»ÑŽÐ·\n"
 
-#: peigen.c:1433 pepigen.c:1433 pex64igen.c:1433
+#: peigen.c:1434 pepigen.c:1434 pex64igen.c:1434
 #, c-format
 msgid ""
 "\n"
@@ -8146,12 +7876,12 @@ msgstr ""
 "\n"
 "\tÐ�Ð°Ð·Ð²Ð° DLL: %.*s\n"
 
-#: peigen.c:1449 pepigen.c:1449 pex64igen.c:1449
+#: peigen.c:1450 pepigen.c:1450 pex64igen.c:1450
 #, c-format
 msgid "\tvma:  Hint/Ord Member-Name Bound-To\n"
 msgstr "\tvma:  Ð’ÐºÐ°Ð·/ÐŸÐ¾Ñ€ Ð�Ð°Ð·Ð²Ð°-ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° ÐŸÑ€Ð¸Ð²â€™Ñ�Ð·Ð°Ð½Ð¾-Ð´Ð¾\n"
 
-#: peigen.c:1474 pepigen.c:1474 pex64igen.c:1474
+#: peigen.c:1475 pepigen.c:1475 pex64igen.c:1475
 #, c-format
 msgid ""
 "\n"
@@ -8160,13 +7890,13 @@ msgstr ""
 "\n"
 "Ð†Ñ�Ð½ÑƒÑ” Ð·Ð°Ð¿Ð¸Ñ� Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ, Ð°Ð»Ðµ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Ñ‰Ð¾ Ð¹Ð¾Ð³Ð¾ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾\n"
 
-#: peigen.c:1518 peigen.c:1556 pepigen.c:1518 pepigen.c:1556 pex64igen.c:1518
-#: pex64igen.c:1556
+#: peigen.c:1519 peigen.c:1558 pepigen.c:1519 pepigen.c:1558 pex64igen.c:1519
+#: pex64igen.c:1558
 #, c-format
 msgid "\t<corrupt: 0x%04lx>"
 msgstr "\t<Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾: 0x%04lx>"
 
-#: peigen.c:1649 pepigen.c:1649 pex64igen.c:1649
+#: peigen.c:1651 pepigen.c:1651 pex64igen.c:1651
 #, c-format
 msgid ""
 "\n"
@@ -8175,7 +7905,7 @@ msgstr ""
 "\n"
 "Ð†Ñ�Ð½ÑƒÑ” Ð·Ð°Ð¿Ð¸Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð°Ð»Ðµ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Ñ‰Ð¾ Ñ—Ñ— Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾\n"
 
-#: peigen.c:1655 pepigen.c:1655 pex64igen.c:1655
+#: peigen.c:1657 pepigen.c:1657 pex64igen.c:1657
 #, c-format
 msgid ""
 "\n"
@@ -8184,7 +7914,7 @@ msgstr ""
 "\n"
 "Ð£ %s Ñ” Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð°Ð»Ðµ Ñƒ Ñ†ÑŒÐ¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ð´Ð°Ð½Ð¸Ñ…\n"
 
-#: peigen.c:1665 pepigen.c:1665 pex64igen.c:1665
+#: peigen.c:1667 pepigen.c:1667 pex64igen.c:1667
 #, c-format
 msgid ""
 "\n"
@@ -8193,7 +7923,7 @@ msgstr ""
 "\n"
 "Ð£ %s Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð°Ð»Ðµ Ñ—Ñ— Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚Ð¸ Ñƒ Ñ†ÑŒÐ¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–\n"
 
-#: peigen.c:1676 pepigen.c:1676 pex64igen.c:1676
+#: peigen.c:1678 pepigen.c:1678 pex64igen.c:1678
 #, c-format
 msgid ""
 "\n"
@@ -8202,7 +7932,7 @@ msgstr ""
 "\n"
 "Ð£ %s Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�, Ð°Ð»Ðµ Ð²Ð¾Ð½Ð° Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¾ÑŽ (%d)\n"
 
-#: peigen.c:1682 pepigen.c:1682 pex64igen.c:1682
+#: peigen.c:1684 pepigen.c:1684 pex64igen.c:1684
 #, c-format
 msgid ""
 "\n"
@@ -8211,7 +7941,7 @@ msgstr ""
 "\n"
 "Ð£ %s Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� Ñƒ 0x%lx\n"
 
-#: peigen.c:1710 pepigen.c:1710 pex64igen.c:1710
+#: peigen.c:1712 pepigen.c:1712 pex64igen.c:1712
 #, c-format
 msgid ""
 "\n"
@@ -8221,67 +7951,67 @@ msgstr ""
 "\n"
 "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ– ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ� (Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s)\n"
 
-#: peigen.c:1714 pepigen.c:1714 pex64igen.c:1714
+#: peigen.c:1716 pepigen.c:1716 pex64igen.c:1716
 #, c-format
 msgid "Export Flags \t\t\t%lx\n"
 msgstr "ÐŸÑ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�\t\t%lx\n"
 
-#: peigen.c:1717 pepigen.c:1717 pex64igen.c:1717
+#: peigen.c:1719 pepigen.c:1719 pex64igen.c:1719
 #, c-format
 msgid "Time/Date stamp \t\t%lx\n"
 msgstr "ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐºÐ° Ñ‡Ð°Ñ�Ñƒ/Ð´Ð°Ñ‚Ð¸\t\t%lx\n"
 
-#: peigen.c:1721 pepigen.c:1721 pex64igen.c:1721
+#: peigen.c:1723 pepigen.c:1723 pex64igen.c:1723
 #, c-format
 msgid "Major/Minor \t\t\t%d/%d\n"
 msgstr "ÐžÑ�Ð½Ð¾Ð²Ð½Ð°/ÐœÐ¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ� \t\t\t%d/%d\n"
 
-#: peigen.c:1724 pepigen.c:1724 pex64igen.c:1724
+#: peigen.c:1726 pepigen.c:1726 pex64igen.c:1726
 #, c-format
 msgid "Name \t\t\t\t"
 msgstr "Ð�Ð°Ð·Ð²Ð°\t\t\t\t"
 
-#: peigen.c:1735 pepigen.c:1735 pex64igen.c:1735
+#: peigen.c:1737 pepigen.c:1737 pex64igen.c:1737
 #, c-format
 msgid "Ordinal Base \t\t\t%ld\n"
 msgstr "ÐžÑ�Ð½Ð¾Ð²Ð° Ð²Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ�\t\t%ld\n"
 
-#: peigen.c:1738 pepigen.c:1738 pex64igen.c:1738
+#: peigen.c:1740 pepigen.c:1740 pex64igen.c:1740
 #, c-format
 msgid "Number in:\n"
 msgstr "Ð�Ð¾Ð¼ÐµÑ€ Ñƒ:\n"
 
-#: peigen.c:1741 pepigen.c:1741 pex64igen.c:1741
+#: peigen.c:1743 pepigen.c:1743 pex64igen.c:1743
 #, c-format
 msgid "\tExport Address Table \t\t%08lx\n"
 msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ñ… Ð°Ð´Ñ€ÐµÑ� \t\t%08lx\n"
 
-#: peigen.c:1745 pepigen.c:1745 pex64igen.c:1745
+#: peigen.c:1747 pepigen.c:1747 pex64igen.c:1747
 #, c-format
 msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
 msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ� [Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² Ð½Ð°Ð·Ð²/Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð¸Ñ… Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð²]\t%08lx\n"
 
-#: peigen.c:1748 pepigen.c:1748 pex64igen.c:1748
+#: peigen.c:1750 pepigen.c:1750 pex64igen.c:1750
 #, c-format
 msgid "Table Addresses\n"
 msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ‡Ð½Ñ– Ð°Ð´Ñ€ÐµÑ�Ð¸\n"
 
-#: peigen.c:1751 pepigen.c:1751 pex64igen.c:1751
+#: peigen.c:1753 pepigen.c:1753 pex64igen.c:1753
 #, c-format
 msgid "\tExport Address Table \t\t"
 msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ñ… Ð°Ð´Ñ€ÐµÑ� \t\t"
 
-#: peigen.c:1756 pepigen.c:1756 pex64igen.c:1756
+#: peigen.c:1758 pepigen.c:1758 pex64igen.c:1758
 #, c-format
 msgid "\tName Pointer Table \t\t"
 msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² Ð½Ð° Ð½Ð°Ð·Ð²Ð¸ \t\t"
 
-#: peigen.c:1761 pepigen.c:1761 pex64igen.c:1761
+#: peigen.c:1763 pepigen.c:1763 pex64igen.c:1763
 #, c-format
 msgid "\tOrdinal Table \t\t\t"
 msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² \t\t\t"
 
-#: peigen.c:1775 pepigen.c:1775 pex64igen.c:1775
+#: peigen.c:1777 pepigen.c:1777 pex64igen.c:1777
 #, c-format
 msgid ""
 "\n"
@@ -8290,20 +8020,20 @@ msgstr ""
 "\n"
 "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ñ… Ð°Ð´Ñ€ÐµÑ� â€” Ð¾Ñ�Ð½Ð¾Ð²Ð° Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð¸Ñ… Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð²: %ld\n"
 
-#: peigen.c:1784 pepigen.c:1784 pex64igen.c:1784
+#: peigen.c:1786 pepigen.c:1786 pex64igen.c:1786
 #, c-format
 msgid "\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"
 msgstr "\tÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ rva (0x%lx) Ð°Ð±Ð¾ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² (0x%lx) Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð°Ð´Ñ€ÐµÑ� ÐµÐºÑ�Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�\n"
 
-#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
+#: peigen.c:1805 pepigen.c:1805 pex64igen.c:1805
 msgid "Forwarder RVA"
 msgstr "ÐŸÐµÑ€ÐµÑ�Ð¿Ñ€Ñ�Ð¼Ð¾Ð²Ð½Ð¸Ð¹ RVA"
 
-#: peigen.c:1815 pepigen.c:1815 pex64igen.c:1815
+#: peigen.c:1817 pepigen.c:1817 pex64igen.c:1817
 msgid "Export RVA"
 msgstr "Ð•ÐºÑ�Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ð¹ RVA"
 
-#: peigen.c:1822 pepigen.c:1822 pex64igen.c:1822
+#: peigen.c:1824 pepigen.c:1824 pex64igen.c:1824
 #, c-format
 msgid ""
 "\n"
@@ -8312,29 +8042,29 @@ msgstr ""
 "\n"
 "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� [Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð¸Ñ… Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð²/Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² Ð½Ð° Ð½Ð°Ð·Ð²Ð¸]\n"
 
-#: peigen.c:1830 pepigen.c:1830 pex64igen.c:1830
+#: peigen.c:1832 pepigen.c:1832 pex64igen.c:1832
 #, c-format
 msgid "\tInvalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)\n"
 msgstr "\tÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ rva (0x%lx) Ð°Ð±Ð¾ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² (0x%lx) Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² Ð½Ð° Ð½Ð°Ð·Ð²Ð¸\n"
 
-#: peigen.c:1837 pepigen.c:1837 pex64igen.c:1837
+#: peigen.c:1839 pepigen.c:1839 pex64igen.c:1839
 #, c-format
 msgid "\tInvalid Ordinal Table rva (0x%lx) or entry count (0x%lx)\n"
 msgstr "\tÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ rva (0x%lx) Ð°Ð±Ð¾ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸Ñ�Ñ–Ð² (0x%lx) Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ð¿Ð¾Ñ€Ñ�Ð´ÐºÐ¾Ð²Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…\n"
 
-#: peigen.c:1851 pepigen.c:1851 pex64igen.c:1851
+#: peigen.c:1853 pepigen.c:1853 pex64igen.c:1853
 #, c-format
 msgid "\t[%4ld] <corrupt offset: %lx>\n"
 msgstr "\t[%4ld] <Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð·Ñ�ÑƒÐ²: %lx>\n"
 
-#: peigen.c:1905 peigen.c:2102 pepigen.c:1905 pepigen.c:2102 pex64igen.c:1905
-#: pex64igen.c:2102
+#: peigen.c:1907 peigen.c:2104 pepigen.c:1907 pepigen.c:2104 pex64igen.c:1907
+#: pex64igen.c:2104
 #, c-format
-msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .pdata (%ld) Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ %d\n"
+msgid "warning, .pdata section size (%ld) is not a multiple of %d\n"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .pdata (%ld) Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ %d\n"
 
-#: peigen.c:1909 peigen.c:2106 pepigen.c:1909 pepigen.c:2106 pex64igen.c:1909
-#: pex64igen.c:2106
+#: peigen.c:1911 peigen.c:2108 pepigen.c:1911 pepigen.c:2108 pex64igen.c:1911
+#: pex64igen.c:2108
 #, c-format
 msgid ""
 "\n"
@@ -8343,12 +8073,12 @@ msgstr ""
 "\n"
 "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ (Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .pdata)\n"
 
-#: peigen.c:1912 pepigen.c:1912 pex64igen.c:1912
+#: peigen.c:1914 pepigen.c:1914 pex64igen.c:1914
 #, c-format
 msgid " vma:\t\t\tBegin Address    End Address      Unwind Info\n"
 msgstr " vma:\t\t\tÐŸÐ¾Ñ‡Ð°Ñ‚. Ð°Ð´Ñ€ÐµÑ�Ð°    ÐšÑ–Ð½Ñ†. Ð°Ð´Ñ€ÐµÑ�Ð°      Ð”Ð°Ð½Ñ– unwind\n"
 
-#: peigen.c:1914 pepigen.c:1914 pex64igen.c:1914
+#: peigen.c:1916 pepigen.c:1916 pex64igen.c:1916
 #, c-format
 msgid ""
 " vma:\t\tBegin    End      EH       EH       PrologEnd  Exception\n"
@@ -8357,27 +8087,27 @@ msgstr ""
 " vma:\t\tÐŸÐ¾Ñ‡.     ÐšÑ–Ð½Ñ†.    ÐžÐ±Ñ€Ð¾Ð±Ð½Ð¸Ðº Ð”Ð°Ð½Ñ–     Ð�Ð´Ñ€ÐµÑ�Ð°     ÐœÐ°Ñ�ÐºÐ°\n"
 "     \t\tÐ°Ð´Ñ€ÐµÑ�Ð°   Ð°Ð´Ñ€ÐµÑ�Ð°   EH       EH       ÐºÑ–Ð½Ñ†. Ð¿Ñ€Ð¾Ð».Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ�\n"
 
-#: peigen.c:1927 pepigen.c:1927 pex64igen.c:1927
+#: peigen.c:1929 pepigen.c:1929 pex64igen.c:1929
 #, c-format
 msgid "Virtual size of .pdata section (%ld) larger than real size (%ld)\n"
 msgstr "Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .pdata (%ld) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€ÐµÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ (%ld)\n"
 
-#: peigen.c:1997 pepigen.c:1997 pex64igen.c:1997
+#: peigen.c:1999 pepigen.c:1999 pex64igen.c:1999
 #, c-format
 msgid " Register save millicode"
 msgstr " ÐœÑ–Ð»Ñ–ÐºÐ¾Ð´ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°"
 
-#: peigen.c:2000 pepigen.c:2000 pex64igen.c:2000
+#: peigen.c:2002 pepigen.c:2002 pex64igen.c:2002
 #, c-format
 msgid " Register restore millicode"
 msgstr " ÐœÑ–Ð»Ñ–ÐºÐ¾Ð´ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°"
 
-#: peigen.c:2003 pepigen.c:2003 pex64igen.c:2003
+#: peigen.c:2005 pepigen.c:2005 pex64igen.c:2005
 #, c-format
 msgid " Glue code sequence"
 msgstr " ÐŸÐ¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ñ–Ñ�Ñ‚ÑŒ Ð·â€™Ñ”Ð´Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ"
 
-#: peigen.c:2108 pepigen.c:2108 pex64igen.c:2108
+#: peigen.c:2110 pepigen.c:2110 pex64igen.c:2110
 #, c-format
 msgid ""
 " vma:\t\tBegin    Prolog   Function Flags    Exception EH\n"
@@ -8386,7 +8116,7 @@ msgstr ""
 " vma:\t\tÐŸÐ¾Ñ‡.     Ð”Ð¾Ð²Ð¶Ð¸Ð½Ð°  Ð”Ð¾Ð²Ð¶Ð¸Ð½Ð°  ÐŸÑ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ– ÐžÐ±Ñ€Ð¾Ð±Ð½Ð¸Ðº  Ð”Ð°Ð½Ñ–\n"
 "     \t\tÐ°Ð´Ñ€ÐµÑ�Ð°   Ð¿Ñ€Ð¾Ð»Ð¾Ð³Ñƒ  Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—  32Ð± Ð²Ð¸Ðº. Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½ÑŒ EH\n"
 
-#: peigen.c:2230 pepigen.c:2230 pex64igen.c:2230
+#: peigen.c:2232 pepigen.c:2232 pex64igen.c:2232
 #, c-format
 msgid ""
 "\n"
@@ -8397,7 +8127,7 @@ msgstr ""
 "\n"
 "ÐŸÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ‰Ð¾Ð´Ð¾ Ð¾Ñ�Ð½Ð¾Ð²Ð¸ Ñ„Ð°Ð¹Ð»Ð° PE (Ð¾Ð±Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¸Ð¹ Ð²Ð¼Ñ–Ñ�Ñ‚ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ .reloc)\n"
 
-#: peigen.c:2260 pepigen.c:2260 pex64igen.c:2260
+#: peigen.c:2262 pepigen.c:2262 pex64igen.c:2262
 #, c-format
 msgid ""
 "\n"
@@ -8406,62 +8136,62 @@ msgstr ""
 "\n"
 "Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð° Ð°Ð´Ñ€ÐµÑ�Ð°: %08lx, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ñ„Ñ€Ð°Ð³Ð¼ÐµÐ½Ñ‚Ð°: %ld (0x%lx), ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŒ Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·Ð¾Ðº: %ld\n"
 
-#: peigen.c:2278 pepigen.c:2278 pex64igen.c:2278
+#: peigen.c:2280 pepigen.c:2280 pex64igen.c:2280
 #, c-format
 msgid "\treloc %4d offset %4x [%4lx] %s"
 msgstr "\tÐ¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %4d Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ %4x [%4lx] %s"
 
-#: peigen.c:2339 pepigen.c:2339 pex64igen.c:2339
+#: peigen.c:2341 pepigen.c:2341 pex64igen.c:2341
 #, c-format
 msgid "%03x %*.s Entry: "
 msgstr "Ð’Ñ…Ñ–Ð´ Ð´Ð¾ %03x %*.s: "
 
-#: peigen.c:2363 pepigen.c:2363 pex64igen.c:2363
+#: peigen.c:2365 pepigen.c:2365 pex64igen.c:2365
 #, c-format
 msgid "name: [val: %08lx len %d]: "
 msgstr "Ð½Ð°Ð·Ð²Ð°: [Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: %08lx Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° %d]: "
 
-#: peigen.c:2383 pepigen.c:2383 pex64igen.c:2383
+#: peigen.c:2385 pepigen.c:2385 pex64igen.c:2385
 #, c-format
 msgid "<corrupt string length: %#x>\n"
 msgstr "<Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾Ð³Ð¾ Ñ€Ñ�Ð´ÐºÐ°: %#x>\n"
 
-#: peigen.c:2393 pepigen.c:2393 pex64igen.c:2393
+#: peigen.c:2395 pepigen.c:2395 pex64igen.c:2395
 #, c-format
 msgid "<corrupt string offset: %#lx>\n"
 msgstr "<Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾Ð³Ð¾ Ñ€Ñ�Ð´ÐºÐ°: %#lx>\n"
 
-#: peigen.c:2398 pepigen.c:2398 pex64igen.c:2398
+#: peigen.c:2400 pepigen.c:2400 pex64igen.c:2400
 #, c-format
 msgid "ID: %#08lx"
 msgstr "Ð†Ð´.: %#08lx"
 
-#: peigen.c:2401 pepigen.c:2401 pex64igen.c:2401
+#: peigen.c:2403 pepigen.c:2403 pex64igen.c:2403
 #, c-format
 msgid ", Value: %#08lx\n"
 msgstr ", Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: %#08lx\n"
 
-#: peigen.c:2423 pepigen.c:2423 pex64igen.c:2423
+#: peigen.c:2425 pepigen.c:2425 pex64igen.c:2425
 #, c-format
 msgid "%03x %*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n"
 msgstr "%03x Ð›Ð¸Ñ�Ñ‚Ð¾Ðº %*.s: Ð°Ð´Ñ€ÐµÑ�Ð°: %#08lx, Ñ€Ð¾Ð·Ð¼Ñ–Ñ€: %#08lx, ÐºÐ¾Ð´Ð¾Ð²Ð° Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ°: %d\n"
 
-#: peigen.c:2465 pepigen.c:2465 pex64igen.c:2465
+#: peigen.c:2467 pepigen.c:2467 pex64igen.c:2467
 #, c-format
 msgid "<unknown directory type: %d>\n"
 msgstr "<Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ: %d>\n"
 
-#: peigen.c:2473 pepigen.c:2473 pex64igen.c:2473
+#: peigen.c:2475 pepigen.c:2475 pex64igen.c:2475
 #, c-format
 msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"
 msgstr " Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ�: Ñ…Ð°Ñ€.: %d, Ñ‡Ð°Ñ�: %08lx, Ð²ÐµÑ€Ñ�Ñ–Ñ�: %d/%d, Ñ‡Ð¸Ñ�Ð»Ð¾Ð²Ñ– Ð½Ð°Ð·Ð²Ð¸: %d, Ñ–Ð´.: %d\n"
 
-#: peigen.c:2562 pepigen.c:2562 pex64igen.c:2562
+#: peigen.c:2564 pepigen.c:2564 pex64igen.c:2564
 #, c-format
 msgid "Corrupt .rsrc section detected!\n"
 msgstr "Ð’Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» .rsrc!\n"
 
-#: peigen.c:2586 pepigen.c:2586 pex64igen.c:2586
+#: peigen.c:2588 pepigen.c:2588 pex64igen.c:2588
 #, c-format
 msgid ""
 "\n"
@@ -8470,17 +8200,17 @@ msgstr ""
 "\n"
 "ÐŸÐžÐŸÐ•Ð Ð•Ð”Ð–Ð•Ð�Ð�Ð¯: Ð·Ð°Ð¹Ð²Ñ– Ð´Ð°Ð½Ñ– Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– .rsrc â€” Ñ—Ñ… Ð±ÑƒÐ´Ðµ Ð¿Ñ€Ð¾Ñ–Ð³Ð½Ð¾Ñ€Ð¾Ð²Ð°Ð½Ð¾ Windows:\n"
 
-#: peigen.c:2592 pepigen.c:2592 pex64igen.c:2592
+#: peigen.c:2594 pepigen.c:2594 pex64igen.c:2594
 #, c-format
 msgid " String table starts at offset: %#03x\n"
 msgstr " Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ� Ñ€Ñ�Ð´ÐºÑ–Ð² Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð· Ñ‚Ð°ÐºÐ¸Ð¼ Ð·Ñ�ÑƒÐ²Ð¾Ð¼: %#03x\n"
 
-#: peigen.c:2595 pepigen.c:2595 pex64igen.c:2595
+#: peigen.c:2597 pepigen.c:2597 pex64igen.c:2597
 #, c-format
 msgid " Resources start at offset: %#03x\n"
 msgstr " Ð ÐµÑ�ÑƒÑ€Ñ�Ð¸ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°ÑŽÑ‚ÑŒÑ�Ñ� Ð· Ñ‚Ð°ÐºÐ¸Ð¼ Ð·Ñ�ÑƒÐ²Ð¾Ð¼: %#03x\n"
 
-#: peigen.c:2647 pepigen.c:2647 pex64igen.c:2647
+#: peigen.c:2649 pepigen.c:2649 pex64igen.c:2649
 #, c-format
 msgid ""
 "\n"
@@ -8489,7 +8219,7 @@ msgstr ""
 "\n"
 "Ð†Ñ�Ð½ÑƒÑ” ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸, Ð°Ð»Ðµ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, Ñ‰Ð¾ Ð¹Ð¾Ð³Ð¾ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾\n"
 
-#: peigen.c:2653 pepigen.c:2653 pex64igen.c:2653
+#: peigen.c:2655 pepigen.c:2655 pex64igen.c:2655
 #, c-format
 msgid ""
 "\n"
@@ -8498,7 +8228,7 @@ msgstr ""
 "\n"
 "Ð£ %s Ñ” ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸, Ð°Ð»Ðµ Ñƒ Ñ†ÑŒÐ¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ð´Ð°Ð½Ð¸Ñ…\n"
 
-#: peigen.c:2660 pepigen.c:2660 pex64igen.c:2660
+#: peigen.c:2662 pepigen.c:2662 pex64igen.c:2662
 #, c-format
 msgid ""
 "\n"
@@ -8507,7 +8237,7 @@ msgstr ""
 "\n"
 "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– %s Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒÑ�Ñ� Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð° Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…, Ð°Ð»Ðµ Ð²Ð¾Ð½Ð° Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¾ÑŽ\n"
 
-#: peigen.c:2665 pepigen.c:2665 pex64igen.c:2665
+#: peigen.c:2667 pepigen.c:2667 pex64igen.c:2667
 #, c-format
 msgid ""
 "\n"
@@ -8518,22 +8248,22 @@ msgstr ""
 "Ð’Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸ Ñƒ %s Ð·Ð° Ð°Ð´Ñ€ÐµÑ�Ð¾ÑŽ 0x%lx\n"
 "\n"
 
-#: peigen.c:2672 pepigen.c:2672 pex64igen.c:2672
+#: peigen.c:2674 pepigen.c:2674 pex64igen.c:2674
 #, c-format
 msgid "The debug data size field in the data directory is too big for the section"
 msgstr "ÐŸÐ¾Ð»Ðµ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ… Ñƒ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð·Ñ– Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸ Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ Ð´Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
 
-#: peigen.c:2677 pepigen.c:2677 pex64igen.c:2677
+#: peigen.c:2679 pepigen.c:2679 pex64igen.c:2679
 #, c-format
 msgid "Type                Size     Rva      Offset\n"
 msgstr "Ð¢Ð¸Ð¿                 Ð Ð¾Ð·Ð¼     Rva      Ð—Ñ�ÑƒÐ²\n"
 
-#: peigen.c:2725 pepigen.c:2725 pex64igen.c:2725
+#: peigen.c:2727 pepigen.c:2727 pex64igen.c:2727
 #, c-format
 msgid "(format %c%c%c%c signature %s age %ld)\n"
 msgstr "(Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ %c%c%c%c Ð¿Ñ–Ð´Ð¿Ð¸Ñ� %s Ð²Ñ–Ðº %ld)\n"
 
-#: peigen.c:2733 pepigen.c:2733 pex64igen.c:2733
+#: peigen.c:2735 pepigen.c:2735 pex64igen.c:2735
 #, c-format
 msgid "The debug directory size is not a multiple of the debug directory entry size\n"
 msgstr "Ð Ð¾Ð·Ð¼Ñ–Ñ€ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸ Ð½Ðµ Ñ” ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸\n"
@@ -8541,7 +8271,7 @@ msgstr "Ð Ð¾Ð·Ð¼Ñ–Ñ€ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´
 #. The MS dumpbin program reportedly ands with 0xff0f before
 #. printing the characteristics field.  Not sure why.  No reason to
 #. emulate it here.
-#: peigen.c:2753 pepigen.c:2753 pex64igen.c:2753
+#: peigen.c:2755 pepigen.c:2755 pex64igen.c:2755
 #, c-format
 msgid ""
 "\n"
@@ -8550,231 +8280,92 @@ msgstr ""
 "\n"
 "Ð¥Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñ�Ñ‚Ð¸ÐºÐ¸ 0x%x\n"
 
-#: peigen.c:2988 pepigen.c:2988 pex64igen.c:2988
+#: peigen.c:2991 pepigen.c:2991 pex64igen.c:2991
 #, c-format
-msgid "%B: Data Directory size (%lx) exceeds space left in section (%lx)"
-msgstr "%B: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ð°Ð½Ð¸Ñ… (%lx) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¼Ñ–Ñ�Ñ†Ñ�, Ñ�ÐºÐµ Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– (%lx)"
+msgid "%pB: Data Directory size (%lx) exceeds space left in section (%<PRIx64>)"
+msgstr "%pB: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ð°Ð½Ð¸Ñ… (%lx) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð¼Ñ–Ñ�Ñ†Ñ�, Ñ�ÐºÐµ Ð»Ð¸ÑˆÐ¸Ð»Ð¾Ñ�Ñ� Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– (%<PRIx64>)"
 
-#: peigen.c:3018 pepigen.c:3018 pex64igen.c:3018
-msgid "Failed to update file offsets in debug directory"
-msgstr "Ð�Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð·Ñ�ÑƒÐ²Ð¸ Ñ„Ð°Ð¹Ð»Ñ–Ð² Ñƒ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð·Ñ– Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸"
+#: peigen.c:3002 pepigen.c:3002 pex64igen.c:3002
+#, c-format
+msgid "%pB: Data Directory size (%#lx) is negative"
+msgstr "%pB: Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð´Ð°Ð½Ð¸Ñ… (%#lx) Ñ” Ð²Ñ–Ð´'Ñ”Ð¼Ð½Ð¸Ð¼"
+
+#: peigen.c:3031 pepigen.c:3031 pex64igen.c:3031
+msgid "failed to update file offsets in debug directory"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð·Ñ�ÑƒÐ²Ð¸ Ñ„Ð°Ð¹Ð»Ñ–Ð² Ñƒ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð·Ñ– Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸ÐºÐ¸"
 
-#: peigen.c:3024 pepigen.c:3024 pex64igen.c:3024
-msgid "%B: Failed to read debug data section"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…"
+#: peigen.c:3037 pepigen.c:3037 pex64igen.c:3037
+#, c-format
+msgid "%pB: failed to read debug data section"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¸Ñ… Ð´Ð°Ð½Ð¸Ñ…"
 
-#: peigen.c:3840 pepigen.c:3840 pex64igen.c:3840
+#: peigen.c:3853 pepigen.c:3853 pex64igen.c:3853
 #, c-format
 msgid ".rsrc merge failure: duplicate string resource: %d"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ñ€ÐµÑ�ÑƒÑ€Ñ� Ð· Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�Ð¼ Ñ€Ñ�Ð´ÐºÑ–Ð²: %d"
 
-#: peigen.c:3975 pepigen.c:3975 pex64igen.c:3975
+#: peigen.c:3988 pepigen.c:3988 pex64igen.c:3988
 msgid ".rsrc merge failure: multiple non-default manifests"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð½ÐµÑ‚Ð¸Ð¿Ð¾Ð²Ð¸Ñ… Ð¼Ð°Ð½Ñ–Ñ„ÐµÑ�Ñ‚Ñ–Ð²"
 
-#: peigen.c:3993 pepigen.c:3993 pex64igen.c:3993
+#: peigen.c:4006 pepigen.c:4006 pex64igen.c:4006
 msgid ".rsrc merge failure: a directory matches a leaf"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ð»Ð¸Ñ�Ñ‚Ð¾Ðº"
 
-#: peigen.c:4035 pepigen.c:4035 pex64igen.c:4035
+#: peigen.c:4048 pepigen.c:4048 pex64igen.c:4048
 msgid ".rsrc merge failure: duplicate leaf"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð»Ð¸Ñ�Ñ‚ÐºÑ–Ð²"
 
-#: peigen.c:4037 pepigen.c:4037 pex64igen.c:4037
+#: peigen.c:4050 pepigen.c:4050 pex64igen.c:4050
 #, c-format
 msgid ".rsrc merge failure: duplicate leaf: %s"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð»Ð¸Ñ�Ñ‚ÐºÑ–Ð²: %s"
 
-#: peigen.c:4103 pepigen.c:4103 pex64igen.c:4103
-msgid ".rsrc merge failure: dirs with differing characteristics\n"
-msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¸ Ð· Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñ�Ñ‚Ð¸ÐºÐ°Ð¼Ð¸\n"
-
-#: peigen.c:4110 pepigen.c:4110 pex64igen.c:4110
-msgid ".rsrc merge failure: differing directory versions\n"
-msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð²Ñ–Ð´Ð¼Ñ–Ð½Ð½Ð¾Ñ�Ñ‚Ñ– Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ�Ñ… ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñ–Ð²\n"
+#: peigen.c:4116 pepigen.c:4116 pex64igen.c:4116
+msgid ".rsrc merge failure: dirs with differing characteristics"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¸ Ð· Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñ�Ñ‚Ð¸ÐºÐ°Ð¼Ð¸"
+
+#: peigen.c:4123 pepigen.c:4123 pex64igen.c:4123
+msgid ".rsrc merge failure: differing directory versions"
+msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð²Ñ–Ð´Ð¼Ñ–Ð½Ð½Ð¾Ñ�Ñ‚Ñ– Ñƒ Ð²ÐµÑ€Ñ�Ñ–Ñ�Ñ… ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñ–Ð²"
 
 #. Corrupted .rsrc section - cannot merge.
-#: peigen.c:4227 pepigen.c:4227 pex64igen.c:4227
-msgid "%B: .rsrc merge failure: corrupt .rsrc section"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» .rsrc"
-
-#: peigen.c:4235 pepigen.c:4235 pex64igen.c:4235
-msgid "%B: .rsrc merge failure: unexpected .rsrc size"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ .rsrc"
-
-#: peigen.c:4374 pepigen.c:4374 pex64igen.c:4374
-msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[1], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$2"
-
-#: peigen.c:4394 pepigen.c:4394 pex64igen.c:4394
-msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[1], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$4"
-
-#: peigen.c:4415 pepigen.c:4415 pex64igen.c:4415
-msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[12], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$5"
-
-#: peigen.c:4435 pepigen.c:4435 pex64igen.c:4435
-msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$6"
-
-#: peigen.c:4477 pepigen.c:4477 pex64igen.c:4477
-msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ .idata$6 Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ”"
-
-#: peigen.c:4502 pepigen.c:4502 pex64igen.c:4502
-msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
-msgstr "%B: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[9], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” __tls_used"
-
-#~ msgid "Unrecognized reloc"
-#~ msgstr "Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
-
-#~ msgid "%s: warning: illegal symbol index %ld in relocs"
-#~ msgstr "%s: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ %ld Ñƒ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ñ…"
-
-#~ msgid "Dwarf Error: Bad abbrev number: %u."
-#~ msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° dwarf: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ�ÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€: %u."
-
-#~ msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
-#~ msgstr "%B: Ñ�Ð¿Ð¾Ñ�Ñ–Ð± Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð¾Ð³Ð¾ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹, Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¸Ð¹ Ð´Ð»Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ Ñ€Ð¾Ð·Ð´Ñ–Ð» Â«%sÂ» [0x%8x]"
-
-#~ msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
-#~ msgstr "%B: Ñ�Ð¿Ð¾Ñ�Ñ–Ð± Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð´Ð»Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ `%s' [0x%8x] Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹"
-
-#~ msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
-#~ msgstr "%B: Ñ�Ð¿Ð¾Ñ�Ñ–Ð± Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð´Ð»Ñ� ÐžÐ¡ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ» [0x%8x] Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹"
-
-#~ msgid "%B: don't know how to handle section `%s' [0x%8x]"
-#~ msgstr "%B: Ñ�Ð¿Ð¾Ñ�Ñ–Ð± Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ» [0x%8x] Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹"
-
-#~ msgid " [has entry point]"
-#~ msgstr " [Ð¼Ð°Ñ” Ð²Ñ…Ñ–Ð´Ð½Ñƒ Ñ‚Ð¾Ñ‡ÐºÑƒ]"
-
-#~ msgid "error: required section '%s' not found in the linker script"
-#~ msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ñƒ Ñ�ÐºÑ€Ð¸Ð¿Ñ‚Ñ– ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ� Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ð¾Ð±Ð¾Ð²â€™Ñ�Ð·ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Â«%sÂ»"
-
-#~ msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
-#~ msgstr "%s: Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ� e_flags (0x%lx) Ð½Ñ–Ð¶ Ñƒ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ–Ñ… Ð¼Ð¾Ð´ÑƒÐ»Ñ�Ñ… (0x%lx)"
-
-#~ msgid "%s: unknown relocation type %d"
-#~ msgstr "%s: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %d"
-
-#~ msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
-#~ msgstr ""
-#~ "%s: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� (%s) Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– (%s)\n"
-#~ ")"
-
-#~ msgid "%B: %s\n"
-#~ msgstr "%B: %s\n"
-
-#~ msgid "%B(%A): warning: relax is suppressed for sections of alignment %d-bytes > 4-byte."
-#~ msgstr "%B(%A): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–ÑŽ Ð¿Ñ€Ð¸Ð´ÑƒÑˆÐµÐ½Ð¾ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� %d-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹ > 4-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð¸Ð¹."
-
-#~ msgid "Warning: %B uses soft float, %B uses single-precision hard float"
-#~ msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑ�Ñ� Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ», Ð° Ñƒ %B â€” Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° Ð´Ð»Ñ� Ð´Ñ–Ð¹Ñ�Ð½Ð¸Ñ… Ñ‡Ð¸Ñ�ÐµÐ» Ð· Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾ÑŽ Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŽ"
-
-#~ msgid "Warning: %B uses unknown floating point ABI %d"
-#~ msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ ABI Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ‡Ð¸Ñ�Ð»Ð°Ð¼Ð¸ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ, %d"
-
-#~ msgid "Warning: %B uses unknown vector ABI %d"
-#~ msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑ” Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¸Ð¹ ABI %d"
-
-#~ msgid "Warning: %B uses unknown small structure return convention %d"
-#~ msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñƒ ÑƒÐ³Ð¾Ð´Ñƒ, %d, Ñ‰Ð¾Ð´Ð¾ Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ� Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ñ�Ñ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€"
-
-#~ msgid " [G10]"
-#~ msgstr " [G10]"
-
-#~ msgid "%s: Malformed reloc detected for section %s"
-#~ msgstr "%s: Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÑƒ Ñƒ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ– Ð¿ÐµÑ€ÐµÐ½ÐµÑ�ÐµÐ½Ð½Ñ�"
-
-#~ msgid "  %s: 0x%v\n"
-#~ msgstr "  %s: 0x%v\n"
-
-#~ msgid "%s: 0x%v 0x%v\n"
-#~ msgstr "%s: 0x%v 0x%v\n"
-
-#~ msgid "   %s%s %s\n"
-#~ msgstr "   %s%s %s\n"
-
-#~ msgid ", 8-byte data alignment"
-#~ msgstr ", 8-Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ� Ð´Ð°Ð½Ð¸Ñ…"
-
-#~ msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
-#~ msgstr "%B: Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� %s Ñ‰Ð¾Ð´Ð¾ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ %s, Â«%sÂ», Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñ�Ð¿Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ�%s"
-
-#~ msgid "[%u]: %u\n"
-#~ msgstr "[%u]: %u\n"
-
-#~ msgid ": %u.%u\n"
-#~ msgstr ": %u.%u\n"
-
-#~ msgid ""
-#~ "%B(%s): warning: interworking not enabled.\n"
-#~ "  first occurrence: %B: thumb call to arm"
-#~ msgstr ""
-#~ "%B(%s): Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ�ÑƒÐ¼Ñ–Ñ�Ð½Ñƒ Ñ€Ð¾Ð±Ð¾Ñ‚Ñƒ Ð½Ðµ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¾.\n"
-#~ "  Ð¿ÐµÑ€ÑˆÐ° Ð·Ð³Ð°Ð´ÐºÐ°: %B: Ð²Ð¸ÐºÐ»Ð¸Ðº thumb Ð´Ð¾ arm"
-
-#~ msgid "DIV usage mismatch between %B and %B"
-#~ msgstr "Ñ€Ð¾Ð·Ð±Ñ–Ð¶Ð½Ð¾Ñ�Ñ‚Ñ– Ñƒ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ– DIV Ð¼Ñ–Ð¶ %B Ñ‚Ð° %B"
-
-#~ msgid "%P: dynamic variable `%s' is zero size\n"
-#~ msgstr "%P: Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð° Ð·Ð¼Ñ–Ð½Ð½Ð° Â«%sÂ» Ð¼Ð°Ñ” Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€\n"
-
-#~ msgid " [dsp]"
-#~ msgstr " [dsp]"
-
-#~ msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
-#~ msgstr "%P: %H: Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ðµ Ñ�Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ� Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ñ… TOC Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð½Ð° Ð¾Ñ�Ð½Ð¾Ð²Ñ– Ð²Ð°ÑˆÐ¸Ñ… Ñ„Ð°Ð¹Ð»Ñ–Ð² crt; Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð· -mminimal-toc Ð°Ð±Ð¾ Ð¾Ð½Ð¾Ð²Ñ–Ñ‚ÑŒ gcc\n"
-
-#~ msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
-#~ msgstr "%P: %H: Ñƒ Ñ€Ð°Ð·Ñ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð²Ð¸ÐºÐ»Ð¸ÐºÑ–Ð² Ð¾Ð´Ð½Ð°ÐºÐ¾Ð²Ð¸Ñ… Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ Ð´Ð»Ñ� Â«%sÂ» Ð½Ðµ Ð´Ð°Ñ�Ñ‚ÑŒ Ð·Ð¼Ð¾Ð³Ð¸ Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° TOC; Ð²Ð¸ÐºÐ¾Ð½Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ� Ð· -mminimal-toc Ð°Ð±Ð¾ -fno-optimize-sibling-calls Ñ‡Ð¸ Ð·Ñ€Ð¾Ð±Ñ–Ñ‚ÑŒ Â«%sÂ» Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾ÑŽ (extern)\n"
-
-#~ msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
-#~ msgstr "Ð·Ð°ÑƒÐ²Ð°Ð¶ÐµÐ½Ð½Ñ�: Â«%sÂ» Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ñƒ %B DSO, Ð¾Ñ‚Ð¶Ðµ Ñ�Ð¿Ñ€Ð¾Ð±ÑƒÑ”Ð¼Ð¾ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ Ð¹Ð¾Ð³Ð¾ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾ Ñ€Ñ�Ð´ÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ°"
-
-#~ msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
-#~ msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ -msingle-float, Ð° Ñƒ %B â€” -mips32r2 -mfp64"
-
-#~ msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
-#~ msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñƒ %B Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ -mdouble-float, Ð° Ñƒ %B â€” -mips32r2 -mfp64"
-
-#~ msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
-#~ msgstr "bfd_mach_o_read_symtab_symbol: Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%sÂ» Ñ” Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¼ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ�Ð¼ Â«indirectÂ»: Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÑŽÑ”Ð¼Ð¾ Ñƒ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
-
-#~ msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
-#~ msgstr "bfd_mach_o_read_dysymtab_symbol: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %lu Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð· %lu"
-
-#~ msgid "Mach-O header:\n"
-#~ msgstr "Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Mach-O:\n"
-
-#~ msgid " magic     : %08lx\n"
-#~ msgstr " magic     : %08lx\n"
-
-#~ msgid " cputype   : %08lx (%s)\n"
-#~ msgstr " Ñ‚Ð¸Ð¿ Ð¿Ñ€Ð¾Ñ†. : %08lx (%s)\n"
-
-#~ msgid " filetype  : %08lx (%s)\n"
-#~ msgstr " Ñ‚Ð¸Ð¿ Ñ„Ð°Ð¹Ð»Ð° : %08lx (%s)\n"
+#: peigen.c:4240 pepigen.c:4240 pex64igen.c:4240
+#, c-format
+msgid "%pB: .rsrc merge failure: corrupt .rsrc section"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» .rsrc"
 
-#~ msgid " ncmds     : %08lx (%lu)\n"
-#~ msgstr " ÐºÑ‚ÑŒ_ÐºÐ¾Ð¼Ð°Ð½Ð´: %08lx (%lu)\n"
+#: peigen.c:4248 pepigen.c:4248 pex64igen.c:4248
+#, c-format
+msgid "%pB: .rsrc merge failure: unexpected .rsrc size"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ .rsrc"
 
-#~ msgid " sizeofcmds: %08lx\n"
-#~ msgstr " Ñ€Ð¾Ð·Ð¼Ñ–Ñ€_ÐºÐ¼Ð´: %08lx\n"
+#: peigen.c:4387 pepigen.c:4387 pex64igen.c:4387
+#, c-format
+msgid "%pB: unable to fill in DataDictionary[1] because .idata$2 is missing"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[1], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$2"
 
-#~ msgid " flags     : %08lx ("
-#~ msgstr " Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–  : %08lx ("
+#: peigen.c:4407 pepigen.c:4407 pex64igen.c:4407
+#, c-format
+msgid "%pB: unable to fill in DataDictionary[1] because .idata$4 is missing"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[1], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$4"
 
-#~ msgid " reserved  : %08x\n"
-#~ msgstr " Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð². : %08x\n"
+#: peigen.c:4428 pepigen.c:4428 pex64igen.c:4428
+#, c-format
+msgid "%pB: unable to fill in DataDictionary[12] because .idata$5 is missing"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[12], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$5"
 
-#~ msgid "Segments and Sections:\n"
-#~ msgstr "Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð¸ Ñ– Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¸:\n"
+#: peigen.c:4448 pepigen.c:4448 pex64igen.c:4448
+#, c-format
+msgid "%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” .idata$6"
 
-#~ msgid " #: Segment name     Section name     Address\n"
-#~ msgstr " #: Ð�Ð°Ð·Ð²Ð° Ñ�ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°   Ð�Ð°Ð·Ð²Ð° Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ    Ð�Ð´Ñ€ÐµÑ�Ð°\n"
+#: peigen.c:4490 pepigen.c:4490 pex64igen.c:4490
+#, c-format
+msgid "%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ .idata$6 Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ”"
 
-#~ msgid "Symbol %s replaced by %s\n"
-#~ msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» %s Ð·Ð°Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð½Ð° %s\n"
+#: peigen.c:4515 pepigen.c:4515 pex64igen.c:4515
+#, c-format
+msgid "%pB: unable to fill in DataDictionary[9] because __tls_used is missing"
+msgstr "%pB: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[9], Ð¾Ñ�ÐºÑ–Ð»ÑŒÐºÐ¸ Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” __tls_used"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/ppcboot.c ./bfd/ppcboot.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/ppcboot.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/ppcboot.c	2018-07-10 02:06:11.000000000 +0000
@@ -328,8 +328,7 @@ ppcboot_get_symbol_info (bfd *ignore_abf
 
 #define ppcboot_get_symbol_version_string \
   _bfd_nosymbols_get_symbol_version_string
-#define ppcboot_bfd_is_target_special_symbol \
-  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define ppcboot_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
 #define ppcboot_bfd_is_local_label_name bfd_generic_is_local_label_name
 #define ppcboot_get_lineno _bfd_nosymbols_get_lineno
 #define ppcboot_find_nearest_line _bfd_nosymbols_find_nearest_line
@@ -461,6 +460,7 @@ ppcboot_bfd_print_private_bfd_data (bfd 
 #define ppcboot_section_already_linked \
   _bfd_generic_section_already_linked
 #define ppcboot_bfd_define_common_symbol bfd_generic_define_common_symbol
+#define ppcboot_bfd_link_hide_symbol _bfd_generic_link_hide_symbol
 #define ppcboot_bfd_define_start_stop bfd_generic_define_start_stop
 #define ppcboot_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
 #define ppcboot_bfd_link_add_symbols _bfd_generic_link_add_symbols
@@ -507,16 +507,16 @@ const bfd_target powerpc_boot_vec =
     _bfd_dummy_target,
   },
   {				/* bfd_set_format */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     ppcboot_mkobject,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents */
-    bfd_false,
-    bfd_true,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_true,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (ppcboot),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/ptrace-core.c ./bfd/ptrace-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/ptrace-core.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/ptrace-core.c	2018-07-10 02:06:11.000000000 +0000
@@ -191,12 +191,12 @@ const bfd_target core_ptrace_vec =
       ptrace_unix_core_file_p		/* a core file */
     },
     {				/* bfd_set_format */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error, bfd_false,
+      _bfd_bool_bfd_false_error, bfd_false
     },
     {				/* bfd_write_contents */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error, bfd_false,
+      _bfd_bool_bfd_false_error, bfd_false
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/reloc16.c ./bfd/reloc16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/reloc16.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/reloc16.c	2018-07-10 02:06:11.000000000 +0000
@@ -22,8 +22,7 @@
 
 /* Most of this hacked by Steve Chamberlain <sac@cygnus.com>.  */
 
-/* These routines are used by coff-h8300 and coff-z8k to do
-   relocation.
+/* These routines are used by coff-z8k to do relocation.
 
    FIXME: This code should be rewritten to support the new COFF
    linker.  Basically, they need to deal with COFF relocs rather than
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/reloc.c ./bfd/reloc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/reloc.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/reloc.c	2018-07-10 02:06:11.000000000 +0000
@@ -87,10 +87,9 @@ CODE_FRAGMENT
 .  {* The symbol to relocate against was undefined.  *}
 .  bfd_reloc_undefined,
 .
-.  {* The relocation was performed, but may not be ok - presently
-.     generated only when linking i960 coff files with i960 b.out
-.     symbols.  If this type is returned, the error_message argument
-.     to bfd_perform_relocation will be set.  *}
+.  {* The relocation was performed, but may not be ok.  If this type is
+.     returned, the error_message argument to bfd_perform_relocation
+.     will be set.  *}
 .  bfd_reloc_dangerous
 . }
 . bfd_reloc_status_type;
@@ -318,8 +317,7 @@ CODE_FRAGMENT
 .
 .  {* If this field is non null, then the supplied function is
 .     called rather than the normal function.  This allows really
-.     strange relocation methods to be accommodated (e.g., i960 callj
-.     instructions).  *}
+.     strange relocation methods to be accommodated.  *}
 .  bfd_reloc_status_type (*special_function)
 .    (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
 .     bfd *, char **);
@@ -363,7 +361,7 @@ CODE_FRAGMENT
 .     slot of the instruction, so that a PC relative relocation can
 .     be made just by adding in an ordinary offset (e.g., sun3 a.out).
 .     Some formats leave the displacement part of an instruction
-.     empty (e.g., m88k bcs); this flag signals the fact.  *}
+.     empty (e.g., ELF); this flag signals the fact.  *}
 .  bfd_boolean pcrel_offset;
 .};
 .
@@ -433,6 +431,7 @@ bfd_get_reloc_size (reloc_howto_type *ho
 {
   switch (howto->size)
     {
+    case 5: return 3;
     case 0: return 1;
     case 1: return 2;
     case 2: return 4;
@@ -706,8 +705,8 @@ bfd_perform_relocation (bfd *abfd,
 	 the addend to be the negative of the position of the location
 	 within the section; for example, i386-aout does this.  For
 	 i386-aout, pcrel_offset is FALSE.  Some other targets do not
-	 include the position of the location; for example, m88kbcs,
-	 or ELF.  For those targets, pcrel_offset is TRUE.
+	 include the position of the location; for example, ELF.
+	 For those targets, pcrel_offset is TRUE.
 
 	 If we are producing relocatable output, then we must ensure
 	 that this reloc will be correctly computed when the final
@@ -919,6 +918,16 @@ space consuming.  For each target:
 
   switch (howto->size)
     {
+    case 5:
+      {
+	long x = bfd_get_32 (abfd, (bfd_byte *) data + octets);
+	x >>= 8;
+	DOIT (x);
+	bfd_put_16 (abfd, (bfd_vma) (x >> 8), (bfd_byte *) data + octets);
+	bfd_put_8 (abfd, (x & 0xFF), (unsigned char *) data + 2 + octets);
+      }
+      break;
+
     case 0:
       {
 	char x = bfd_get_8 (abfd, (char *) data + octets);
@@ -1097,8 +1106,8 @@ bfd_install_relocation (bfd *abfd,
 	 the addend to be the negative of the position of the location
 	 within the section; for example, i386-aout does this.  For
 	 i386-aout, pcrel_offset is FALSE.  Some other targets do not
-	 include the position of the location; for example, m88kbcs,
-	 or ELF.  For those targets, pcrel_offset is TRUE.
+	 include the position of the location; for example, ELF.
+	 For those targets, pcrel_offset is TRUE.
 
 	 If we are producing relocatable output, then we must ensure
 	 that this reloc will be correctly computed when the final
@@ -1407,11 +1416,11 @@ _bfd_final_link_relocate (reloc_howto_ty
      location we are relocating.  Some targets (e.g., i386-aout)
      arrange for the contents of the section to be the negative of the
      offset of the location within the section; for such targets
-     pcrel_offset is FALSE.  Other targets (e.g., m88kbcs or ELF)
-     simply leave the contents of the section as zero; for such
-     targets pcrel_offset is TRUE.  If pcrel_offset is FALSE we do not
-     need to subtract out the offset of the location within the
-     section (which is just ADDRESS).  */
+     pcrel_offset is FALSE.  Other targets (e.g., ELF) simply leave
+     the contents of the section as zero; for such targets
+     pcrel_offset is TRUE.  If pcrel_offset is FALSE we do not need to
+     subtract out the offset of the location within the section (which
+     is just ADDRESS).  */
   if (howto->pc_relative)
     {
       relocation -= (input_section->output_section->vma
@@ -1739,8 +1748,6 @@ ENUMDOC
 of the relocation itself; sometimes they are relative to the start of
 the section containing the relocation.  It depends on the specific target.
 
-The 24-bit relocation is used in some Intel 960 configurations.
-
 ENUM
   BFD_RELOC_32_SECREL
 ENUMDOC
@@ -1892,11 +1899,6 @@ handled specially, because the value the
 decided relatively late.
 
 ENUM
-  BFD_RELOC_I960_CALLJ
-ENUMDOC
-  Reloc types used for i960/b.out.
-
-ENUM
   BFD_RELOC_NONE
 ENUMX
   BFD_RELOC_SPARC_WDISP22
@@ -3217,6 +3219,23 @@ ENUMDOC
   Low and High halfword relocations for MOVW and MOVT instructions.
 
 ENUM
+  BFD_RELOC_ARM_GOTFUNCDESC
+ENUMX
+  BFD_RELOC_ARM_GOTOFFFUNCDESC
+ENUMX
+  BFD_RELOC_ARM_FUNCDESC
+ENUMX
+  BFD_RELOC_ARM_FUNCDESC_VALUE
+ENUMX
+  BFD_RELOC_ARM_TLS_GD32_FDPIC
+ENUMX
+  BFD_RELOC_ARM_TLS_LDM32_FDPIC
+ENUMX
+  BFD_RELOC_ARM_TLS_IE32_FDPIC
+ENUMDOC
+  ARM FDPIC specific relocations.
+
+ENUM
   BFD_RELOC_ARM_JUMP_SLOT
 ENUMX
   BFD_RELOC_ARM_GLOB_DAT
@@ -5941,6 +5960,12 @@ ENUMDOC
   This is the 8 bit high part of an absolute address and immediately follows
   a matching LO8XG part.
 ENUM
+  BFD_RELOC_S12Z_15_PCREL
+ENUMDOC
+  Freescale S12Z reloc.
+  This is a 15 bit relative address.  If the most significant bits are all zero
+  then it may be truncated to 8 bits.
+ENUM
   BFD_RELOC_16C_NUM08
 ENUMX
   BFD_RELOC_16C_NUM08_C
@@ -6225,73 +6250,6 @@ ENUMDOC
   Relocs used in TLS code for CRIS.
 
 ENUM
-  BFD_RELOC_860_COPY
-ENUMX
-  BFD_RELOC_860_GLOB_DAT
-ENUMX
-  BFD_RELOC_860_JUMP_SLOT
-ENUMX
-  BFD_RELOC_860_RELATIVE
-ENUMX
-  BFD_RELOC_860_PC26
-ENUMX
-  BFD_RELOC_860_PLT26
-ENUMX
-  BFD_RELOC_860_PC16
-ENUMX
-  BFD_RELOC_860_LOW0
-ENUMX
-  BFD_RELOC_860_SPLIT0
-ENUMX
-  BFD_RELOC_860_LOW1
-ENUMX
-  BFD_RELOC_860_SPLIT1
-ENUMX
-  BFD_RELOC_860_LOW2
-ENUMX
-  BFD_RELOC_860_SPLIT2
-ENUMX
-  BFD_RELOC_860_LOW3
-ENUMX
-  BFD_RELOC_860_LOGOT0
-ENUMX
-  BFD_RELOC_860_SPGOT0
-ENUMX
-  BFD_RELOC_860_LOGOT1
-ENUMX
-  BFD_RELOC_860_SPGOT1
-ENUMX
-  BFD_RELOC_860_LOGOTOFF0
-ENUMX
-  BFD_RELOC_860_SPGOTOFF0
-ENUMX
-  BFD_RELOC_860_LOGOTOFF1
-ENUMX
-  BFD_RELOC_860_SPGOTOFF1
-ENUMX
-  BFD_RELOC_860_LOGOTOFF2
-ENUMX
-  BFD_RELOC_860_LOGOTOFF3
-ENUMX
-  BFD_RELOC_860_LOPC
-ENUMX
-  BFD_RELOC_860_HIGHADJ
-ENUMX
-  BFD_RELOC_860_HAGOT
-ENUMX
-  BFD_RELOC_860_HAGOTOFF
-ENUMX
-  BFD_RELOC_860_HAPC
-ENUMX
-  BFD_RELOC_860_HIGH
-ENUMX
-  BFD_RELOC_860_HIGOT
-ENUMX
-  BFD_RELOC_860_HIGOTOFF
-ENUMDOC
-  Intel i860 Relocations.
-
-ENUM
   BFD_RELOC_OR1K_REL_26
 ENUMX
   BFD_RELOC_OR1K_GOTPC_HI16
@@ -6858,6 +6816,10 @@ ENUM
   BFD_RELOC_MACH_O_X86_64_PCREL32_4
 ENUMDOC
   Same as BFD_RELOC_32_PCREL but with an implicit -4 addend.
+ENUM
+  BFD_RELOC_MACH_O_X86_64_TLV
+ENUMDOC
+  Used when referencing a TLV entry.
 
 
 ENUM
@@ -6982,6 +6944,18 @@ ENUM
 ENUMDOC
   This is a 64 bit reloc that stores 32-bit thread pointer relative offset
   to two words (uses imm instruction).
+ENUM
+  BFD_RELOC_MICROBLAZE_64_TEXTPCREL
+ENUMDOC
+  This is a 64 bit reloc that stores the 32 bit pc relative
+  value in two words (with an imm instruction).  The relocation is
+  PC-relative offset from start of TEXT.
+ENUM
+  BFD_RELOC_MICROBLAZE_64_TEXTREL
+ENUMDOC
+  This is a 64 bit reloc that stores the 32 bit offset
+  value in two words (with an imm instruction).  The relocation is
+  relative offset from start of TEXT.
 
 ENUM
   BFD_RELOC_AARCH64_RELOC_START
@@ -7071,6 +7045,43 @@ ENUMDOC
   of a signed value.  Changes instruction to MOVZ or MOVN depending on the
   value's sign.
 ENUM
+  BFD_RELOC_AARCH64_MOVW_PREL_G0
+ENUMDOC
+  AArch64 MOV[NZ] instruction with most significant bits 0 to 15
+  of a signed value.  Changes instruction to MOVZ or MOVN depending on the
+  value's sign.
+ENUM
+  BFD_RELOC_AARCH64_MOVW_PREL_G0_NC
+ENUMDOC
+  AArch64 MOV[NZ] instruction with most significant bits 0 to 15
+  of a signed value.  Changes instruction to MOVZ or MOVN depending on the
+  value's sign.
+ENUM
+  BFD_RELOC_AARCH64_MOVW_PREL_G1
+ENUMDOC
+  AArch64 MOVK instruction with most significant bits 16 to 31
+  of a signed value.
+ENUM
+  BFD_RELOC_AARCH64_MOVW_PREL_G1_NC
+ENUMDOC
+  AArch64 MOVK instruction with most significant bits 16 to 31
+  of a signed value.
+ENUM
+  BFD_RELOC_AARCH64_MOVW_PREL_G2
+ENUMDOC
+  AArch64 MOVK instruction with most significant bits 32 to 47
+  of a signed value.
+ENUM
+  BFD_RELOC_AARCH64_MOVW_PREL_G2_NC
+ENUMDOC
+  AArch64 MOVK instruction with most significant bits 32 to 47
+  of a signed value.
+ENUM
+  BFD_RELOC_AARCH64_MOVW_PREL_G3
+ENUMDOC
+  AArch64 MOVK instruction with most significant bits 47 to 63
+  of a signed value.
+ENUM
   BFD_RELOC_AARCH64_LD_LO19_PCREL
 ENUMDOC
   AArch64 Load Literal instruction, holding a 19 bit pc-relative word
@@ -7359,6 +7370,42 @@ ENUM
 ENUMDOC
   AArch64 TLS LOCAL EXEC relocation.
 ENUM
+  BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12
+ENUMDOC
+  bit[11:1] of byte offset to module TLS base address, encoded in ldst
+  instructions.
+ENUM
+  BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC
+ENUMDOC
+  Similar as BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, but no overflow check.
+ENUM
+  BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12
+ENUMDOC
+  bit[11:2] of byte offset to module TLS base address, encoded in ldst
+  instructions.
+ENUM
+  BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC
+ENUMDOC
+  Similar as BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, but no overflow check.
+ENUM
+  BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12
+ENUMDOC
+  bit[11:3] of byte offset to module TLS base address, encoded in ldst
+  instructions.
+ENUM
+  BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC
+ENUMDOC
+  Similar as BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, but no overflow check.
+ENUM
+  BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12
+ENUMDOC
+  bit[11:0] of byte offset to module TLS base address, encoded in ldst
+  instructions.
+ENUM
+  BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC
+ENUMDOC
+  Similar as BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, but no overflow check.
+ENUM
   BFD_RELOC_AARCH64_TLSDESC_LD_PREL19
 ENUMDOC
   AArch64 TLS DESC relocation.
@@ -7467,6 +7514,16 @@ ENUM
 ENUMDOC
   Similar as BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12, but no overflow check.
 ENUM
+  BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12
+ENUMDOC
+  AArch64 pseudo relocation code for TLS local exec mode.  It's to be
+  used internally by the AArch64 assembler and not (currently) written to
+  any object files.
+ENUM
+  BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC
+ENUMDOC
+  Similar as BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12, but no overflow check.
+ENUM
   BFD_RELOC_AARCH64_LD_GOT_LO12_NC
 ENUMDOC
   AArch64 pseudo relocation code to be used internally by the AArch64
@@ -8103,7 +8160,7 @@ bfd_generic_lookup_section_flags (struct
 {
   if (flaginfo != NULL)
     {
-      _bfd_error_handler (_("INPUT_SECTION_FLAGS are not supported.\n"));
+      _bfd_error_handler (_("INPUT_SECTION_FLAGS are not supported"));
       return FALSE;
     }
   return TRUE;
@@ -8204,7 +8261,7 @@ bfd_generic_get_relocated_section_conten
 	    {
 	      link_info->callbacks->einfo
 		/* xgettext:c-format */
-		(_("%X%P: %B(%A): error: relocation for offset %V has no value\n"),
+		(_("%X%P: %pB(%pA): error: relocation for offset %V has no value\n"),
 		 abfd, input_section, (* parent)->address);
 	      goto error_return;
 	    }
@@ -8270,7 +8327,7 @@ bfd_generic_get_relocated_section_conten
 		     message instead.  */
 		  link_info->callbacks->einfo
 		    /* xgettext:c-format */
-		    (_("%X%P: %B(%A): relocation \"%R\" goes out of range\n"),
+		    (_("%X%P: %pB(%pA): relocation \"%pR\" goes out of range\n"),
 		     abfd, input_section, * parent);
 		  goto error_return;
 
@@ -8280,7 +8337,7 @@ bfd_generic_get_relocated_section_conten
 		     Do not abort.  Issue an error message instead.  */
 		  link_info->callbacks->einfo
 		    /* xgettext:c-format */
-		    (_("%X%P: %B(%A): relocation \"%R\" is not supported\n"),
+		    (_("%X%P: %pB(%pA): relocation \"%pR\" is not supported\n"),
 		     abfd, input_section, * parent);
 		  goto error_return;
 
@@ -8289,7 +8346,7 @@ bfd_generic_get_relocated_section_conten
 		     Report unexpected results, without aborting.  */
 		  link_info->callbacks->einfo
 		    /* xgettext:c-format */
-		    (_("%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"),
+		    (_("%X%P: %pB(%pA): relocation \"%pR\" returns an unrecognized value %x\n"),
 		     abfd, input_section, * parent, r);
 		  break;
 		}
@@ -8351,13 +8408,36 @@ bfd_boolean
 _bfd_unrecognized_reloc (bfd * abfd, sec_ptr section, unsigned int r_type)
 {
    /* xgettext:c-format */
-  _bfd_error_handler (_("%B: unrecognized relocation (%#x) in section `%A'"),
+  _bfd_error_handler (_("%pB: unrecognized relocation type %#x in section `%pA'"),
 		      abfd, r_type, section);
 
   /* PR 21803: Suggest the most likely cause of this error.  */
-  _bfd_error_handler (_("Is this version of the linker - %s - out of date ?"),
+  _bfd_error_handler (_("is this version of the linker - %s - out of date ?"),
 		      BFD_VERSION_STRING);
 
   bfd_set_error (bfd_error_bad_value);
   return FALSE;
 }
+
+reloc_howto_type *
+_bfd_norelocs_bfd_reloc_type_lookup
+    (bfd *abfd,
+     bfd_reloc_code_real_type code ATTRIBUTE_UNUSED)
+{
+  return (reloc_howto_type *) _bfd_ptr_bfd_null_error (abfd);
+}
+
+reloc_howto_type *
+_bfd_norelocs_bfd_reloc_name_lookup (bfd *abfd,
+				     const char *reloc_name ATTRIBUTE_UNUSED)
+{
+  return (reloc_howto_type *) _bfd_ptr_bfd_null_error (abfd);
+}
+
+long
+_bfd_nodynamic_canonicalize_dynamic_reloc (bfd *abfd,
+					   arelent **relp ATTRIBUTE_UNUSED,
+					   asymbol **symp ATTRIBUTE_UNUSED)
+{
+  return _bfd_long_bfd_n1_error (abfd);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/riscix.c ./bfd/riscix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/riscix.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/riscix.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,652 +0,0 @@
-/* BFD back-end for RISC iX (Acorn, arm) binaries.
-   Copyright (C) 1994-2018 Free Software Foundation, Inc.
-   Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/* RISC iX overloads the MAGIC field to indicate more than just the usual
-   [ZNO]MAGIC values.  Also included are squeezing information and
-   shared library usage.  */
-
-/* The following come from the man page.  */
-#define SHLIBLEN 60
-
-#define MF_IMPURE	00200
-#define MF_SQUEEZED	01000
-#define MF_USES_SL	02000
-#define MF_IS_SL	04000
-
-/* Common combinations.  */
-
-/* Demand load (impure text).  */
-#define IMAGIC		(MF_IMPURE | ZMAGIC)
-
-/* OMAGIC with large header.
-   May contain a ref to a shared lib required by the object.  */
-#define SPOMAGIC	(MF_USES_SL | OMAGIC)
-
-/* A reference to a shared library.
-   The text portion of the object contains "overflow text" from
-   the shared library to be linked in with an object.  */
-#define SLOMAGIC	(MF_IS_SL | OMAGIC)
-
-/* Sqeezed demand paged.
-   NOTE: This interpretation of QMAGIC seems to be at variance
-   with that used on other architectures.  */
-#define QMAGIC		(MF_SQUEEZED | ZMAGIC)
-
-/* Program which uses sl.  */
-#define SPZMAGIC	(MF_USES_SL | ZMAGIC)
-
-/* Sqeezed ditto.  */
-#define SPQMAGIC	(MF_USES_SL | QMAGIC)
-
-/* Shared lib part of prog.  */
-#define SLZMAGIC	(MF_IS_SL | ZMAGIC)
-
-/* Sl which uses another.  */
-#define SLPZMAGIC	(MF_USES_SL | SLZMAGIC)
-
-#define N_SHARED_LIB(x) ((x)->a_info & MF_USES_SL)
-
-/* Only a pure OMAGIC file has the minimal header.  */
-#define N_TXTOFF(x)		\
- ((x)->a_info == OMAGIC		\
-  ? 32				\
-  : (N_MAGIC(x) == ZMAGIC	\
-     ? TARGET_PAGE_SIZE		\
-     : 999))
-
-#define N_TXTADDR(x)							     \
-  (N_MAGIC(x) != ZMAGIC							     \
-   ? (bfd_vma) 0 /* object file or NMAGIC */				     \
-   /* Programs with shared libs are loaded at the first page after all the   \
-      text segments of the shared library programs.  Without looking this    \
-      up we can't know exactly what the address will be.  A reasonable guess \
-      is that a_entry will be in the first page of the executable.  */	     \
-   : (N_SHARED_LIB(x)							     \
-      ? ((x)->a_entry & ~(bfd_vma) (TARGET_PAGE_SIZE - 1))		     \
-      : (bfd_vma) TEXT_START_ADDR))
-
-#define N_SYMOFF(x) \
-  (N_TXTOFF (x) + (x)->a_text + (x)->a_data + (x)->a_trsize + (x)->a_drsize)
-
-#define N_STROFF(x) (N_SYMOFF (x) + (x)->a_syms)
-
-#define TEXT_START_ADDR   32768
-#define TARGET_PAGE_SIZE  32768
-#define SEGMENT_SIZE      TARGET_PAGE_SIZE
-#define DEFAULT_ARCH      bfd_arch_arm
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (arm_aout_riscix_,OP)
-#define TARGETNAME "a.out-riscix"
-#define N_BADMAG(x) ((((x)->a_info & ~007200) != ZMAGIC) \
-		  && (((x)->a_info & ~006000) != OMAGIC) \
-		  && ((x)->a_info != NMAGIC))
-#define N_MAGIC(x) ((x)->a_info & ~07200)
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-#define WRITE_HEADERS(abfd, execp)					    \
-  {									    \
-    if (adata (abfd).magic == undecided_magic)				    \
-      NAME (aout, adjust_sizes_and_vmas) (abfd);			    \
-									    \
-    execp->a_syms = bfd_get_symcount (abfd) * EXTERNAL_NLIST_SIZE;	    \
-    execp->a_entry = bfd_get_start_address (abfd);			    \
-									    \
-    execp->a_trsize = ((obj_textsec (abfd)->reloc_count) *		    \
-		       obj_reloc_entry_size (abfd));			    \
-    execp->a_drsize = ((obj_datasec (abfd)->reloc_count) *		    \
-		       obj_reloc_entry_size (abfd));			    \
-    NAME (aout, swap_exec_header_out) (abfd, execp, & exec_bytes);	    \
-									    \
-    if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0			    \
-	|| bfd_bwrite ((void *) & exec_bytes, (bfd_size_type) EXEC_BYTES_SIZE,  \
-		      abfd) != EXEC_BYTES_SIZE)				    \
-      return FALSE;							    \
-    /* Now write out reloc info, followed by syms and strings.  */	    \
-									    \
-    if (bfd_get_outsymbols (abfd) != NULL				    \
-	&& bfd_get_symcount (abfd) != 0)				    \
-      {									    \
-	if (bfd_seek (abfd, (file_ptr) (N_SYMOFF (execp)), SEEK_SET) != 0)  \
-	  return FALSE;							    \
-									    \
-	if (! NAME (aout, write_syms) (abfd))				    \
-	  return FALSE;							    \
-									    \
-	if (bfd_seek (abfd, (file_ptr) (N_TRELOFF (execp)), SEEK_SET) != 0) \
-	  return FALSE;							    \
-									    \
-	if (! riscix_squirt_out_relocs (abfd, obj_textsec (abfd)))	    \
-	  return FALSE;							    \
-	if (bfd_seek (abfd, (file_ptr) (N_DRELOFF (execp)), SEEK_SET) != 0) \
-	  return FALSE;							    \
-									    \
-	if (!NAME (aout, squirt_out_relocs) (abfd, obj_datasec (abfd)))	    \
-	  return FALSE;							    \
-      }									    \
-  }
-
-#include "libaout.h"
-#include "aout/aout64.h"
-
-static bfd_reloc_status_type
-riscix_fix_pcrel_26_done (bfd *abfd ATTRIBUTE_UNUSED,
-			  arelent *reloc_entry ATTRIBUTE_UNUSED,
-			  asymbol *symbol ATTRIBUTE_UNUSED,
-			  void * data ATTRIBUTE_UNUSED,
-			  asection *input_section ATTRIBUTE_UNUSED,
-			  bfd *output_bfd ATTRIBUTE_UNUSED,
-			  char **error_message ATTRIBUTE_UNUSED)
-{
-  /* This is dead simple at present.  */
-  return bfd_reloc_ok;
-}
-
-static bfd_reloc_status_type riscix_fix_pcrel_26 (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-static const bfd_target *arm_aout_riscix_callback (bfd *);
-
-static reloc_howto_type riscix_std_reloc_howto[] =
-{
-  /* Type	       rs size bsz  pcrel bitpos ovrf			  sf name     part_inpl readmask  setmask    pcdone */
-  HOWTO( 0,		 0,  0,	  8,  FALSE, 0, complain_overflow_bitfield,0,"8",	  TRUE, 0x000000ff,0x000000ff, FALSE),
-  HOWTO( 1,		 0,  1,	  16, FALSE, 0, complain_overflow_bitfield,0,"16",	  TRUE, 0x0000ffff,0x0000ffff, FALSE),
-  HOWTO( 2,		 0,  2,	  32, FALSE, 0, complain_overflow_bitfield,0,"32",	  TRUE, 0xffffffff,0xffffffff, FALSE),
-  HOWTO( 3,		 2,  3,	  26, TRUE,  0, complain_overflow_signed,  riscix_fix_pcrel_26 , "ARM26",      TRUE, 0x00ffffff,0x00ffffff, FALSE),
-  HOWTO( 4,		 0,  0,	  8,  TRUE,  0, complain_overflow_signed,  0,"DISP8",	  TRUE, 0x000000ff,0x000000ff, TRUE),
-  HOWTO( 5,		 0,  1,	  16, TRUE,  0, complain_overflow_signed,  0,"DISP16",	  TRUE, 0x0000ffff,0x0000ffff, TRUE),
-  HOWTO( 6,		 0,  2,	  32, TRUE,  0, complain_overflow_signed,  0,"DISP32",	  TRUE, 0xffffffff,0xffffffff, TRUE),
-  HOWTO( 7,		 2,  3,	  26, FALSE, 0, complain_overflow_signed,  riscix_fix_pcrel_26_done, "ARM26D",TRUE,0x00ffffff,0x00ffffff, FALSE),
-  EMPTY_HOWTO (-1),
-  HOWTO( 9,		 0, -1,	  16, FALSE, 0, complain_overflow_bitfield,0,"NEG16",	  TRUE, 0x0000ffff,0x0000ffff, FALSE),
-  HOWTO( 10,		  0, -2,  32, FALSE, 0, complain_overflow_bitfield,0,"NEG32",	  TRUE, 0xffffffff,0xffffffff, FALSE)
-};
-
-#define RISCIX_TABLE_SIZE \
-  (sizeof (riscix_std_reloc_howto) / sizeof (reloc_howto_type))
-
-static bfd_reloc_status_type
-riscix_fix_pcrel_26 (bfd *abfd,
-		     arelent *reloc_entry,
-		     asymbol *symbol,
-		     void * data,
-		     asection *input_section,
-		     bfd *output_bfd,
-		     char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma relocation;
-  bfd_size_type addr = reloc_entry->address;
-  long target = bfd_get_32 (abfd, (bfd_byte *) data + addr);
-  bfd_reloc_status_type flag = bfd_reloc_ok;
-
-  /* If this is an undefined symbol, return error.  */
-  if (bfd_is_und_section (symbol->section)
-      && (symbol->flags & BSF_WEAK) == 0)
-    return output_bfd ? bfd_reloc_continue : bfd_reloc_undefined;
-
-  /* If the sections are different, and we are doing a partial relocation,
-     just ignore it for now.  */
-  if (symbol->section->name != input_section->name
-      && output_bfd != NULL)
-    return bfd_reloc_continue;
-
-  relocation = (target & 0x00ffffff) << 2;
-  relocation = (relocation ^ 0x02000000) - 0x02000000; /* Sign extend.  */
-  relocation += symbol->value;
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-  relocation -= input_section->output_section->vma;
-  relocation -= input_section->output_offset;
-  relocation -= addr;
-  if (relocation & 3)
-    return bfd_reloc_overflow;
-
-  /* Check for overflow.  */
-  if (relocation & 0x02000000)
-    {
-      if ((relocation & ~ (bfd_vma) 0x03ffffff) != ~ (bfd_vma) 0x03ffffff)
-	flag = bfd_reloc_overflow;
-    }
-  else if (relocation & ~ (bfd_vma) 0x03ffffff)
-    flag = bfd_reloc_overflow;
-
-  target &= ~0x00ffffff;
-  target |= (relocation >> 2) & 0x00ffffff;
-  bfd_put_32 (abfd, (bfd_vma) target, (bfd_byte *) data + addr);
-
-  /* Now the ARM magic... Change the reloc type so that it is marked as done.
-     Strictly this is only necessary if we are doing a partial relocation.  */
-  reloc_entry->howto = &riscix_std_reloc_howto[7];
-
-  return flag;
-}
-
-static reloc_howto_type *
-riscix_reloc_type_lookup (bfd *abfd, bfd_reloc_code_real_type code)
-{
-#define ASTD(i,j)       case i: return &riscix_std_reloc_howto[j]
-  if (code == BFD_RELOC_CTOR)
-    switch (bfd_arch_bits_per_address (abfd))
-      {
-      case 32:
-	code = BFD_RELOC_32;
-	break;
-      default:
-	return NULL;
-      }
-
-  switch (code)
-    {
-      ASTD (BFD_RELOC_16, 1);
-      ASTD (BFD_RELOC_32, 2);
-      ASTD (BFD_RELOC_ARM_PCREL_BRANCH, 3);
-      ASTD (BFD_RELOC_8_PCREL, 4);
-      ASTD (BFD_RELOC_16_PCREL, 5);
-      ASTD (BFD_RELOC_32_PCREL, 6);
-    default:
-      return NULL;
-    }
-}
-
-static reloc_howto_type *
-riscix_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-			  const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0;
-       i < sizeof (riscix_std_reloc_howto) / sizeof (riscix_std_reloc_howto[0]);
-       i++)
-    if (riscix_std_reloc_howto[i].name != NULL
-	&& strcasecmp (riscix_std_reloc_howto[i].name, r_name) == 0)
-      return &riscix_std_reloc_howto[i];
-
-  return NULL;
-}
-
-#define MY_bfd_link_hash_table_create  _bfd_generic_link_hash_table_create
-#define MY_bfd_link_add_symbols	       _bfd_generic_link_add_symbols
-#define MY_final_link_callback	       should_not_be_used
-#define MY_bfd_final_link	       _bfd_generic_final_link
-
-#define MY_bfd_reloc_type_lookup       riscix_reloc_type_lookup
-#define MY_bfd_reloc_name_lookup       riscix_reloc_name_lookup
-#define MY_canonicalize_reloc	       arm_aout_riscix_canonicalize_reloc
-#define MY_object_p		       arm_aout_riscix_object_p
-
-static void
-riscix_swap_std_reloc_out (bfd *abfd,
-			   arelent *g,
-			   struct reloc_std_external *natptr)
-{
-  int r_index;
-  asymbol *sym = *(g->sym_ptr_ptr);
-  int r_extern;
-  int r_length;
-  int r_pcrel;
-  int r_neg = 0;	/* Negative relocs use the BASEREL bit.  */
-  asection *output_section = sym->section->output_section;
-
-  PUT_WORD(abfd, g->address, natptr->r_address);
-
-  r_length = g->howto->size ;   /* Size as a power of two.  */
-  if (r_length < 0)
-    {
-      r_length = -r_length;
-      r_neg = 1;
-    }
-
-  r_pcrel  = (int) g->howto->pc_relative; /* Relative to PC?  */
-
-  /* For RISC iX, in pc-relative relocs the r_pcrel bit means that the
-     relocation has been done already (Only for the 26-bit one I think)?  */
-  if (r_length == 3)
-    r_pcrel = r_pcrel ? 0 : 1;
-
-  /* Name was clobbered by aout_write_syms to be symbol index.  */
-
-  /* If this relocation is relative to a symbol then set the
-     r_index to the symbols index, and the r_extern bit.
-
-     Absolute symbols can come in in two ways, either as an offset
-     from the abs section, or as a symbol which has an abs value.
-     check for that here.  */
-
-  if (bfd_is_com_section (output_section)
-      || bfd_is_abs_section (output_section)
-      || bfd_is_und_section (output_section))
-    {
-      if (bfd_abs_section_ptr->symbol == sym)
-	{
-	  /* Whoops, looked like an abs symbol, but is really an offset
-	     from the abs section.  */
-	  r_index = 0;
-	  r_extern = 0;
-	}
-      else
-	{
-	  /* Fill in symbol.  */
-	  r_extern = 1;
-	  r_index = (*g->sym_ptr_ptr)->udata.i;
-	}
-    }
-  else
-    {
-      /* Just an ordinary section.  */
-      r_extern = 0;
-      r_index  = output_section->target_index;
-    }
-
-  /* Now the fun stuff.  */
-  if (bfd_header_big_endian (abfd))
-    {
-      natptr->r_index[0] = r_index >> 16;
-      natptr->r_index[1] = r_index >> 8;
-      natptr->r_index[2] = r_index;
-      natptr->r_type[0] =
-	(  (r_extern ?   RELOC_STD_BITS_EXTERN_BIG: 0)
-	 | (r_pcrel  ?   RELOC_STD_BITS_PCREL_BIG: 0)
-	 | (r_neg    ?   RELOC_STD_BITS_BASEREL_BIG: 0)
-	 | (r_length <<  RELOC_STD_BITS_LENGTH_SH_BIG));
-    }
-  else
-    {
-      natptr->r_index[2] = r_index >> 16;
-      natptr->r_index[1] = r_index >> 8;
-      natptr->r_index[0] = r_index;
-      natptr->r_type[0] =
-	(  (r_extern ?   RELOC_STD_BITS_EXTERN_LITTLE: 0)
-	 | (r_pcrel  ?   RELOC_STD_BITS_PCREL_LITTLE: 0)
-	 | (r_neg    ?   RELOC_STD_BITS_BASEREL_LITTLE: 0)
-	 | (r_length <<  RELOC_STD_BITS_LENGTH_SH_LITTLE));
-    }
-}
-
-static bfd_boolean
-riscix_squirt_out_relocs (bfd *abfd, asection *section)
-{
-  arelent **generic;
-  unsigned char *native, *natptr;
-  size_t each_size;
-  unsigned int count = section->reloc_count;
-  bfd_size_type natsize;
-
-  if (count == 0)
-    return TRUE;
-
-  each_size = obj_reloc_entry_size (abfd);
-  natsize = each_size;
-  natsize *= count;
-  native = bfd_zalloc (abfd, natsize);
-  if (!native)
-    return FALSE;
-
-  generic = section->orelocation;
-
-  for (natptr = native;
-       count != 0;
-       --count, natptr += each_size, ++generic)
-    riscix_swap_std_reloc_out (abfd, *generic,
-			       (struct reloc_std_external *) natptr);
-
-  if (bfd_bwrite ((void *) native, natsize, abfd) != natsize)
-    {
-      bfd_release (abfd, native);
-      return FALSE;
-    }
-
-  bfd_release (abfd, native);
-  return TRUE;
-}
-
-/* This is just like the standard aoutx.h version but we need to do our
-   own mapping of external reloc type values to howto entries.  */
-
-static long
-MY (canonicalize_reloc) (bfd *abfd,
-			 sec_ptr section,
-			 arelent **relptr,
-			 asymbol **symbols)
-{
-  arelent *tblptr = section->relocation;
-  unsigned int count, c;
-  extern reloc_howto_type NAME (aout, std_howto_table)[];
-
-  /* If we have already read in the relocation table, return the values.  */
-  if (section->flags & SEC_CONSTRUCTOR)
-    {
-      arelent_chain *chain = section->constructor_chain;
-
-      for (count = 0; count < section->reloc_count; count++)
-	{
-	  *relptr++ = &chain->relent;
-	  chain = chain->next;
-	}
-      *relptr = 0;
-      return section->reloc_count;
-    }
-
-  if (tblptr && section->reloc_count)
-    {
-      for (count = 0; count++ < section->reloc_count;)
-	*relptr++ = tblptr++;
-      *relptr = 0;
-      return section->reloc_count;
-    }
-
-  if (!NAME (aout, slurp_reloc_table) (abfd, section, symbols))
-    return -1;
-  tblptr = section->relocation;
-
-  /* Fix up howto entries.  */
-  for (count = 0; count++ < section->reloc_count;)
-    {
-      c = tblptr->howto - NAME(aout,std_howto_table);
-      BFD_ASSERT (c < RISCIX_TABLE_SIZE);
-      tblptr->howto = &riscix_std_reloc_howto[c];
-
-      *relptr++ = tblptr++;
-    }
-  *relptr = 0;
-  return section->reloc_count;
-}
-
-/* This is the same as NAME(aout,some_aout_object_p), but has different
-   expansions of the macro definitions.  */
-
-static const bfd_target *
-riscix_some_aout_object_p (bfd *abfd,
-			   struct internal_exec *execp,
-			   const bfd_target *(*callback_to_real_object_p) (bfd *))
-{
-  struct aout_data_struct *rawptr, *oldrawptr;
-  const bfd_target *result;
-  bfd_size_type amt = sizeof (struct aout_data_struct);
-
-  rawptr = bfd_zalloc (abfd, amt);
-
-  if (rawptr == NULL)
-    return NULL;
-
-  oldrawptr = abfd->tdata.aout_data;
-  abfd->tdata.aout_data = rawptr;
-
-  /* Copy the contents of the old tdata struct.
-     In particular, we want the subformat, since for hpux it was set in
-     hp300hpux.c:swap_exec_header_in and will be used in
-     hp300hpux.c:callback.  */
-  if (oldrawptr != NULL)
-    *abfd->tdata.aout_data = *oldrawptr;
-
-  abfd->tdata.aout_data->a.hdr = &rawptr->e;
-  /* Copy in the internal_exec struct.  */
-  *(abfd->tdata.aout_data->a.hdr) = *execp;
-  execp = abfd->tdata.aout_data->a.hdr;
-
-  /* Set the file flags.  */
-  abfd->flags = BFD_NO_FLAGS;
-  if (execp->a_drsize || execp->a_trsize)
-    abfd->flags |= HAS_RELOC;
-  /* Setting of EXEC_P has been deferred to the bottom of this function.  */
-  if (execp->a_syms)
-    abfd->flags |= HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS;
-  if (N_DYNAMIC (execp))
-    abfd->flags |= DYNAMIC;
-
- /* Squeezed files aren't supported (yet)!  */
-  if ((execp->a_info & MF_SQUEEZED) != 0)
-    {
-      bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-  else if ((execp->a_info & MF_IS_SL) != 0)
-    {
-      /* Nor are shared libraries.  */
-      bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-  else if (N_MAGIC (execp) == ZMAGIC)
-    {
-      abfd->flags |= D_PAGED | WP_TEXT;
-      adata (abfd).magic = z_magic;
-    }
-  else if (N_MAGIC (execp) == NMAGIC)
-    {
-      abfd->flags |= WP_TEXT;
-      adata (abfd).magic = n_magic;
-    }
-  else if (N_MAGIC (execp) == OMAGIC)
-    adata (abfd).magic = o_magic;
-  else
-    /* Should have been checked with N_BADMAG before this routine
-       was called.  */
-    abort ();
-
-  bfd_get_start_address (abfd) = execp->a_entry;
-
-  obj_aout_symbols (abfd) = NULL;
-  bfd_get_symcount (abfd) = execp->a_syms / sizeof (struct external_nlist);
-
-  /* The default relocation entry size is that of traditional V7 Unix.  */
-  obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
-
-  /* The default symbol entry size is that of traditional Unix.  */
-  obj_symbol_entry_size (abfd) = EXTERNAL_NLIST_SIZE;
-
-  obj_aout_external_syms (abfd) = NULL;
-  obj_aout_external_strings (abfd) = NULL;
-  obj_aout_sym_hashes (abfd) = NULL;
-
-  if (! NAME (aout, make_sections) (abfd))
-    return NULL;
-
-  obj_datasec (abfd)->size = execp->a_data;
-  obj_bsssec (abfd)->size = execp->a_bss;
-
-  obj_textsec (abfd)->flags =
-    (execp->a_trsize != 0
-     ? (SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS | SEC_RELOC)
-     : (SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS));
-  obj_datasec (abfd)->flags =
-    (execp->a_drsize != 0
-     ? (SEC_ALLOC | SEC_LOAD | SEC_DATA | SEC_HAS_CONTENTS | SEC_RELOC)
-     : (SEC_ALLOC | SEC_LOAD | SEC_DATA | SEC_HAS_CONTENTS));
-  obj_bsssec (abfd)->flags = SEC_ALLOC;
-
-  result = (*callback_to_real_object_p) (abfd);
-
-#if defined(MACH) || defined(STAT_FOR_EXEC)
-  /* The original heuristic doesn't work in some important cases. The
-     a.out file has no information about the text start address. For
-     files (like kernels) linked to non-standard addresses (ld -Ttext
-     nnn) the entry point may not be between the default text start
-     (obj_textsec(abfd)->vma) and (obj_textsec(abfd)->vma) + text size
-     This is not just a mach issue. Many kernels are loaded at non
-     standard addresses.  */
-  {
-    struct stat stat_buf;
-
-    if (abfd->iostream != NULL
-	&& (abfd->flags & BFD_IN_MEMORY) == 0
-	&& (fstat(fileno((FILE *) (abfd->iostream)), &stat_buf) == 0)
-	&& ((stat_buf.st_mode & 0111) != 0))
-      abfd->flags |= EXEC_P;
-  }
-#else /* ! MACH */
-  /* Now that the segment addresses have been worked out, take a better
-     guess at whether the file is executable.  If the entry point
-     is within the text segment, assume it is.  (This makes files
-     executable even if their entry point address is 0, as long as
-     their text starts at zero.)
-
-     At some point we should probably break down and stat the file and
-     declare it executable if (one of) its 'x' bits are on...  */
-  if ((execp->a_entry >= obj_textsec(abfd)->vma) &&
-      (execp->a_entry < obj_textsec(abfd)->vma + obj_textsec(abfd)->size))
-    abfd->flags |= EXEC_P;
-#endif /* MACH */
-  if (result == NULL)
-    {
-      free (rawptr);
-      abfd->tdata.aout_data = oldrawptr;
-    }
-  return result;
-}
-
-static const bfd_target *
-MY (object_p) (bfd *abfd)
-{
-  struct external_exec exec_bytes;	/* Raw exec header from file.  */
-  struct internal_exec exec;		/* Cleaned-up exec header.  */
-  const bfd_target *target;
-
-  if (bfd_bread ((void *) &exec_bytes, (bfd_size_type) EXEC_BYTES_SIZE, abfd)
-      != EXEC_BYTES_SIZE)
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-	bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  exec.a_info = H_GET_32 (abfd, exec_bytes.e_info);
-
-  if (N_BADMAG (&exec))
-    return NULL;
-
-#ifdef MACHTYPE_OK
-  if (!(MACHTYPE_OK (N_MACHTYPE (&exec))))
-    return NULL;
-#endif
-
-  NAME (aout, swap_exec_header_in) (abfd, & exec_bytes, & exec);
-
-  target = riscix_some_aout_object_p (abfd, & exec, MY (callback));
-
-  return target;
-}
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/rs6000-core.c ./bfd/rs6000-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/rs6000-core.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/rs6000-core.c	2018-07-10 02:06:11.000000000 +0000
@@ -468,7 +468,7 @@ rs6000coff_core_p (bfd *abfd)
 
   /* Issue warning if the core file was truncated during writing.  */
   if (c_flag & CORE_TRUNC)
-    _bfd_error_handler (_("%B: warning core file truncated"), abfd);
+    _bfd_error_handler (_("%pB: warning core file truncated"), abfd);
 
   /* Allocate core file header.  */
 #ifndef BFD64
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sco5-core.c ./bfd/sco5-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sco5-core.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/sco5-core.c	2018-07-10 02:06:11.000000000 +0000
@@ -372,12 +372,12 @@ const bfd_target core_sco5_vec =
       sco5_core_file_p			/* a core file */
     },
     {				/* bfd_set_format */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error, bfd_false,
+      _bfd_bool_bfd_false_error, bfd_false
     },
     {				/* bfd_write_contents */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error, bfd_false,
+      _bfd_bool_bfd_false_error, bfd_false
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/section.c ./bfd/section.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/section.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/section.c	2018-07-10 02:06:11.000000000 +0000
@@ -65,10 +65,7 @@ SUBSECTION
 	data in place until a <<bfd_get_section_contents>> call is
 	made. Other back ends may read in all the data at once.  For
 	example, an S-record file has to be read once to determine the
-	size of the data. An IEEE-695 file doesn't contain raw data in
-	sections, but data and relocation expressions intermixed, so
-	the data area has to be parsed to get out the data and
-	relocations.
+	size of the data.
 
 INODE
 Section Output, typedef asection, Section Input, Sections
@@ -221,13 +218,10 @@ CODE_FRAGMENT
 .  {* The section contains thread local data.  *}
 .#define SEC_THREAD_LOCAL                0x400
 .
-.  {* The section has GOT references.  This flag is only for the
-.     linker, and is currently only used by the elf32-hppa back end.
-.     It will be set if global offset table references were detected
-.     in this section, which indicate to the linker that the section
-.     contains PIC code, and must be handled specially when doing a
-.     static link.  *}
-.#define SEC_HAS_GOT_REF                 0x800
+.  {* The section's size is fixed.  Generic linker code will not
+.     recalculate it and it is up to whoever has set this flag to
+.     get the size right.  *}
+.#define SEC_FIXED_SIZE                  0x800
 .
 .  {* The section contains common symbols (symbols may be defined
 .     multiple times, the value of a symbol is the amount of
@@ -826,21 +820,21 @@ _bfd_generic_new_section_hook (bfd *abfd
   return TRUE;
 }
 
-static unsigned int section_id = 0x10;  /* id 0 to 3 used by STD_SECTION.  */
+unsigned int _bfd_section_id = 0x10;  /* id 0 to 3 used by STD_SECTION.  */
 
 /* Initializes a new section.  NEWSECT->NAME is already set.  */
 
 static asection *
 bfd_section_init (bfd *abfd, asection *newsect)
 {
-  newsect->id = section_id;
+  newsect->id = _bfd_section_id;
   newsect->index = abfd->section_count;
   newsect->owner = abfd;
 
   if (! BFD_SEND (abfd, _new_section_hook, (abfd, newsect)))
     return NULL;
 
-  section_id++;
+  _bfd_section_id++;
   abfd->section_count++;
   bfd_section_list_append (abfd, newsect);
   return newsect;
@@ -1292,23 +1286,6 @@ bfd_make_section (bfd *abfd, const char 
 
 /*
 FUNCTION
-	bfd_get_next_section_id
-
-SYNOPSIS
-	int bfd_get_next_section_id (void);
-
-DESCRIPTION
-	Returns the id that the next section created will have.
-*/
-
-int
-bfd_get_next_section_id (void)
-{
-  return section_id;
-}
-
-/*
-FUNCTION
 	bfd_set_section_flags
 
 SYNOPSIS
@@ -1698,3 +1675,13 @@ bfd_generic_discard_group (bfd *abfd ATT
 {
   return TRUE;
 }
+
+bfd_boolean
+_bfd_nowrite_set_section_contents (bfd *abfd,
+				   sec_ptr section ATTRIBUTE_UNUSED,
+				   const void *location ATTRIBUTE_UNUSED,
+				   file_ptr offset ATTRIBUTE_UNUSED,
+				   bfd_size_type count ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/som.c ./bfd/som.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/som.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/som.c	2018-07-10 02:06:11.000000000 +0000
@@ -6737,8 +6737,8 @@ som_bfd_link_split_section (bfd *abfd AT
 #define som_truncate_arname			bfd_bsd_truncate_arname
 #define som_slurp_extended_name_table		_bfd_slurp_extended_name_table
 #define som_construct_extended_name_table	_bfd_archive_coff_construct_extended_name_table
-#define som_update_armap_timestamp		bfd_true
-#define som_bfd_is_target_special_symbol   ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define som_update_armap_timestamp		_bfd_bool_bfd_true
+#define som_bfd_is_target_special_symbol        _bfd_bool_bfd_asymbol_false
 #define som_get_lineno				_bfd_nosymbols_get_lineno
 #define som_bfd_make_debug_symbol		_bfd_nosymbols_bfd_make_debug_symbol
 #define som_read_minisymbols			_bfd_generic_read_minisymbols
@@ -6759,6 +6759,7 @@ som_bfd_link_split_section (bfd *abfd AT
 #define som_bfd_discard_group			bfd_generic_discard_group
 #define som_section_already_linked		_bfd_generic_section_already_linked
 #define som_bfd_define_common_symbol		bfd_generic_define_common_symbol
+#define som_bfd_link_hide_symbol		_bfd_generic_link_hide_symbol
 #define som_bfd_define_start_stop		bfd_generic_define_start_stop
 #define som_bfd_merge_private_bfd_data		_bfd_generic_bfd_merge_private_bfd_data
 #define som_bfd_copy_private_header_data	_bfd_generic_bfd_copy_private_header_data
@@ -6797,16 +6798,16 @@ const bfd_target hppa_som_vec =
    _bfd_dummy_target
   },
   {
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     som_mkobject,
     _bfd_generic_mkarchive,
-    bfd_false
+    _bfd_bool_bfd_false_error
   },
   {
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     som_write_object_contents,
     _bfd_write_archive_contents,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
 #undef som
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sparclinux.c ./bfd/sparclinux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sparclinux.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/sparclinux.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,730 +0,0 @@
-/* BFD back-end for linux flavored sparc a.out binaries.
-   Copyright (C) 1992-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGET_PAGE_SIZE	4096
-#define ZMAGIC_DISK_BLOCK_SIZE	1024
-#define SEGMENT_SIZE		TARGET_PAGE_SIZE
-#define TEXT_START_ADDR		0x0
-
-#define MACHTYPE_OK(mtype) ((mtype) == M_SPARC || (mtype) == M_UNKNOWN)
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "aout/aout64.h"
-#include "aout/stab_gnu.h"
-#include "aout/ar.h"
-#include "libaout.h"	       /* BFD a.out internal data structures */
-
-#define DEFAULT_ARCH bfd_arch_sparc
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (sparc_aout_linux_,OP)
-#define TARGETNAME "a.out-sparc-linux"
-
-extern const bfd_target MY(vec);
-
-/* We always generate QMAGIC files in preference to ZMAGIC files.  It
-   would be possible to make this a linker option, if that ever
-   becomes important.  */
-
-static void MY_final_link_callback
-  (bfd *, file_ptr *, file_ptr *, file_ptr *);
-
-static bfd_boolean
-sparclinux_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
-{
-  obj_aout_subformat (abfd) = q_magic_format;
-  return NAME(aout,final_link) (abfd, info, MY_final_link_callback);
-}
-
-#define MY_bfd_final_link sparclinux_bfd_final_link
-
-/* Set the machine type correctly.  */
-
-static bfd_boolean
-sparclinux_write_object_contents (bfd *abfd)
-{
-  struct external_exec exec_bytes;
-  struct internal_exec *execp = exec_hdr (abfd);
-
-  N_SET_MACHTYPE (execp, M_SPARC);
-
-  obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
-
-  WRITE_HEADERS (abfd, execp);
-
-  return TRUE;
-}
-
-#define MY_write_object_contents sparclinux_write_object_contents
-/* Code to link against Linux a.out shared libraries.  */
-
-/* See if a symbol name is a reference to the global offset table.  */
-
-#ifndef GOT_REF_PREFIX
-#define GOT_REF_PREFIX  "__GOT_"
-#endif
-
-#define IS_GOT_SYM(name)  (CONST_STRNEQ (name, GOT_REF_PREFIX))
-
-/* See if a symbol name is a reference to the procedure linkage table.  */
-
-#ifndef PLT_REF_PREFIX
-#define PLT_REF_PREFIX  "__PLT_"
-#endif
-
-#define IS_PLT_SYM(name)  (CONST_STRNEQ (name, PLT_REF_PREFIX))
-
-/* This string is used to generate specialized error messages.  */
-
-#ifndef NEEDS_SHRLIB
-#define NEEDS_SHRLIB "__NEEDS_SHRLIB_"
-#endif
-
-/* This special symbol is a set vector that contains a list of
-   pointers to fixup tables.  It will be present in any dynamically
-   linked file.  The linker generated fixup table should also be added
-   to the list, and it should always appear in the second slot (the
-   first one is a dummy with a magic number that is defined in
-   crt0.o).  */
-
-#ifndef SHARABLE_CONFLICTS
-#define SHARABLE_CONFLICTS "__SHARABLE_CONFLICTS__"
-#endif
-
-/* We keep a list of fixups.  The terminology is a bit strange, but
-   each fixup contains two 32 bit numbers.  A regular fixup contains
-   an address and a pointer, and at runtime we should store the
-   address at the location pointed to by the pointer.  A builtin fixup
-   contains two pointers, and we should read the address using one
-   pointer and store it at the location pointed to by the other
-   pointer.  Builtin fixups come into play when we have duplicate
-   __GOT__ symbols for the same variable.  The builtin fixup will copy
-   the GOT pointer from one over into the other.  */
-
-struct fixup
-{
-  struct fixup *next;
-  struct linux_link_hash_entry *h;
-  bfd_vma value;
-
-  /* Nonzero if this is a jump instruction that needs to be fixed,
-     zero if this is just a pointer */
-  char jump;
-
-  char builtin;
-};
-
-/* We don't need a special hash table entry structure, but we do need
-   to keep some information between linker passes, so we use a special
-   hash table.  */
-
-struct linux_link_hash_entry
-{
-  struct aout_link_hash_entry root;
-};
-
-struct linux_link_hash_table
-{
-  struct aout_link_hash_table root;
-
-  /* First dynamic object found in link.  */
-  bfd *dynobj;
-
-  /* Number of fixups.  */
-  size_t fixup_count;
-
-  /* Number of builtin fixups.  */
-  size_t local_builtins;
-
-  /* List of fixups.  */
-  struct fixup *fixup_list;
-};
-
-
-/* Routine to create an entry in an Linux link hash table.  */
-
-static struct bfd_hash_entry *
-linux_link_hash_newfunc (struct bfd_hash_entry *entry,
-			 struct bfd_hash_table *table,
-			 const char *string)
-{
-  struct linux_link_hash_entry *ret = (struct linux_link_hash_entry *) entry;
-
-  /* Allocate the structure if it has not already been allocated by a
-     subclass.  */
-  if (ret == (struct linux_link_hash_entry *) NULL)
-    ret = ((struct linux_link_hash_entry *)
-	   bfd_hash_allocate (table, sizeof (struct linux_link_hash_entry)));
-  if (ret == NULL)
-    return (struct bfd_hash_entry *) ret;
-
-  /* Call the allocation method of the superclass.  */
-  ret = ((struct linux_link_hash_entry *)
-	 NAME(aout,link_hash_newfunc) ((struct bfd_hash_entry *) ret,
-				       table, string));
-  if (ret != NULL)
-    {
-      /* Set local fields; there aren't any.  */
-    }
-
-  return (struct bfd_hash_entry *) ret;
-}
-
-/* Create a Linux link hash table.  */
-
-static struct bfd_link_hash_table *
-linux_link_hash_table_create (bfd *abfd)
-{
-  struct linux_link_hash_table *ret;
-  bfd_size_type amt = sizeof (struct linux_link_hash_table);
-
-  ret = (struct linux_link_hash_table *) bfd_zmalloc (amt);
-  if (ret == (struct linux_link_hash_table *) NULL)
-    return (struct bfd_link_hash_table *) NULL;
-  if (!NAME(aout,link_hash_table_init) (&ret->root, abfd,
-					linux_link_hash_newfunc,
-					sizeof (struct linux_link_hash_entry)))
-    {
-      free (ret);
-      return (struct bfd_link_hash_table *) NULL;
-    }
-
-  return &ret->root.root;
-}
-
-/* Look up an entry in a Linux link hash table.  */
-
-#define linux_link_hash_lookup(table, string, create, copy, follow) \
-  ((struct linux_link_hash_entry *) \
-   aout_link_hash_lookup (&(table)->root, (string), (create), (copy),\
-			  (follow)))
-
-/* Traverse a Linux link hash table.  */
-
-#define linux_link_hash_traverse(table, func, info)		       \
-  (aout_link_hash_traverse					       \
-   (&(table)->root,						       \
-    (bfd_boolean (*) (struct aout_link_hash_entry *, void *)) (func),  \
-    (info)))
-
-/* Get the Linux link hash table from the info structure.  This is
-   just a cast.  */
-
-#define linux_hash_table(p) ((struct linux_link_hash_table *) ((p)->hash))
-
-/* Store the information for a new fixup.  */
-
-static struct fixup *
-new_fixup (struct bfd_link_info *info,
-	   struct linux_link_hash_entry *h,
-	   bfd_vma value,
-	   int builtin)
-{
-  struct fixup *f;
-
-  f = (struct fixup *) bfd_hash_allocate (&info->hash->table,
-					  sizeof (struct fixup));
-  if (f == NULL)
-    return f;
-  f->next = linux_hash_table (info)->fixup_list;
-  linux_hash_table (info)->fixup_list = f;
-  f->h = h;
-  f->value = value;
-  f->builtin = builtin;
-  f->jump = 0;
-  ++linux_hash_table (info)->fixup_count;
-  return f;
-}
-
-/* We come here once we realize that we are going to link to a shared
-   library.  We need to create a special section that contains the
-   fixup table, and we ultimately need to add a pointer to this into
-   the set vector for SHARABLE_CONFLICTS.  At this point we do not
-   know the size of the section, but that's OK - we just need to
-   create it for now.  */
-
-static bfd_boolean
-linux_link_create_dynamic_sections (bfd *abfd,
-				    struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  flagword flags;
-  asection *s;
-
-  /* Note that we set the SEC_IN_MEMORY flag.  */
-  flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY;
-
-  /* We choose to use the name ".linux-dynamic" for the fixup table.
-     Why not?  */
-  s = bfd_make_section_with_flags (abfd, ".linux-dynamic", flags);
-  if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, 2))
-    return FALSE;
-  s->size = 0;
-  s->contents = 0;
-
-  return TRUE;
-}
-
-/* Function to add a single symbol to the linker hash table.  This is
-   a wrapper around _bfd_generic_link_add_one_symbol which handles the
-   tweaking needed for dynamic linking support.  */
-
-static bfd_boolean
-linux_add_one_symbol (struct bfd_link_info *info,
-		      bfd *abfd,
-		      const char *name,
-		      flagword flags,
-		      asection *section,
-		      bfd_vma value,
-		      const char *string,
-		      bfd_boolean copy,
-		      bfd_boolean collect,
-		      struct bfd_link_hash_entry **hashp)
-{
-  struct linux_link_hash_entry *h;
-  bfd_boolean insert;
-
-  /* Look up and see if we already have this symbol in the hash table.
-     If we do, and the defining entry is from a shared library, we
-     need to create the dynamic sections.
-
-     FIXME: What if abfd->xvec != info->output_bfd->xvec?  We may
-     want to be able to link Linux a.out and ELF objects together,
-     but serious confusion is possible.  */
-
-  insert = FALSE;
-
-  if (! bfd_link_relocatable (info)
-      && linux_hash_table (info)->dynobj == NULL
-      && strcmp (name, SHARABLE_CONFLICTS) == 0
-      && (flags & BSF_CONSTRUCTOR) != 0
-      && abfd->xvec == info->output_bfd->xvec)
-    {
-      if (! linux_link_create_dynamic_sections (abfd, info))
-	return FALSE;
-      linux_hash_table (info)->dynobj = abfd;
-      insert = TRUE;
-    }
-
-  if (bfd_is_abs_section (section)
-      && abfd->xvec == info->output_bfd->xvec)
-    {
-      h = linux_link_hash_lookup (linux_hash_table (info), name, FALSE,
-				  FALSE, FALSE);
-      if (h != NULL
-	  && (h->root.root.type == bfd_link_hash_defined
-	      || h->root.root.type == bfd_link_hash_defweak))
-	{
-	  struct fixup *f;
-
-	  if (hashp != NULL)
-	    *hashp = (struct bfd_link_hash_entry *) h;
-
-	  f = new_fixup (info, h, value, ! IS_PLT_SYM (name));
-	  if (f == NULL)
-	    return FALSE;
-	  f->jump = IS_PLT_SYM (name);
-
-	  return TRUE;
-	}
-    }
-
-  /* Do the usual procedure for adding a symbol.  */
-  if (! _bfd_generic_link_add_one_symbol (info, abfd, name, flags, section,
-					  value, string, copy, collect,
-					  hashp))
-    return FALSE;
-
-  /* Insert a pointer to our table in the set vector.  The dynamic
-     linker requires this information.  */
-  if (insert)
-    {
-      asection *s;
-
-      /* Here we do our special thing to add the pointer to the
-	 dynamic section in the SHARABLE_CONFLICTS set vector.  */
-      s = bfd_get_section_by_name (linux_hash_table (info)->dynobj,
-				   ".linux-dynamic");
-      BFD_ASSERT (s != NULL);
-
-      if (! (_bfd_generic_link_add_one_symbol
-	     (info, linux_hash_table (info)->dynobj, SHARABLE_CONFLICTS,
-	      BSF_GLOBAL | BSF_CONSTRUCTOR, s, (bfd_vma) 0, NULL,
-	      FALSE, FALSE, NULL)))
-	return FALSE;
-    }
-
-  return TRUE;
-}
-
-/* We will crawl the hash table and come here for every global symbol.
-   We will examine each entry and see if there are indications that we
-   need to add a fixup.  There are two possible cases - one is where
-   you have duplicate definitions of PLT or GOT symbols - these will
-   have already been caught and added as "builtin" fixups.  If we find
-   that the corresponding non PLT/GOT symbol is also present, we
-   convert it to a regular fixup instead.
-
-   This function is called via linux_link_hash_traverse.  */
-
-static bfd_boolean
-linux_tally_symbols (struct linux_link_hash_entry *h, void * data)
-{
-  struct bfd_link_info *info = (struct bfd_link_info *) data;
-  struct fixup *f, *f1;
-  int is_plt;
-  struct linux_link_hash_entry *h1, *h2;
-  bfd_boolean exists;
-
-  if (h->root.root.type == bfd_link_hash_undefined
-      && CONST_STRNEQ (h->root.root.root.string, NEEDS_SHRLIB))
-    {
-      const char *name;
-      char *p;
-      char *alloc = NULL;
-
-      name = h->root.root.root.string + sizeof NEEDS_SHRLIB - 1;
-      p = strrchr (name, '_');
-      if (p != NULL)
-	alloc = (char *) bfd_malloc ((bfd_size_type) strlen (name) + 1);
-
-      if (p == NULL || alloc == NULL)
-	_bfd_error_handler (_("Output file requires shared library `%s'\n"),
-			    name);
-      else
-	{
-	  strcpy (alloc, name);
-	  p = strrchr (alloc, '_');
-	  *p++ = '\0';
-	  _bfd_error_handler
-	    /* xgettext:c-format */
-	    (_("Output file requires shared library `%s.so.%s'\n"),
-	     alloc, p);
-	  free (alloc);
-	}
-
-      abort ();
-    }
-
-  /* If this symbol is not a PLT/GOT, we do not even need to look at
-     it.  */
-  is_plt = IS_PLT_SYM (h->root.root.root.string);
-
-  if (is_plt || IS_GOT_SYM (h->root.root.root.string))
-    {
-      /* Look up this symbol twice.  Once just as a regular lookup,
-	 and then again following all of the indirect links until we
-	 reach a real symbol.  */
-      h1 = linux_link_hash_lookup (linux_hash_table (info),
-				   (h->root.root.root.string
-				    + sizeof PLT_REF_PREFIX - 1),
-				   FALSE, FALSE, TRUE);
-      /* h2 does not follow indirect symbols.  */
-      h2 = linux_link_hash_lookup (linux_hash_table (info),
-				   (h->root.root.root.string
-				    + sizeof PLT_REF_PREFIX - 1),
-				   FALSE, FALSE, FALSE);
-
-      /* The real symbol must exist but if it is also an ABS symbol,
-	 there is no need to have a fixup.  This is because they both
-	 came from the same library.  If on the other hand, we had to
-	 use an indirect symbol to get to the real symbol, we add the
-	 fixup anyway, since there are cases where these symbols come
-	 from different shared libraries */
-      if (h1 != NULL
-	  && (((h1->root.root.type == bfd_link_hash_defined
-		|| h1->root.root.type == bfd_link_hash_defweak)
-	       && ! bfd_is_abs_section (h1->root.root.u.def.section))
-	      || h2->root.root.type == bfd_link_hash_indirect))
-	{
-	  /* See if there is a "builtin" fixup already present
-	     involving this symbol.  If so, convert it to a regular
-	     fixup.  In the end, this relaxes some of the requirements
-	     about the order of performing fixups.  */
-	  exists = FALSE;
-	  for (f1 = linux_hash_table (info)->fixup_list;
-	       f1 != NULL;
-	       f1 = f1->next)
-	    {
-	      if ((f1->h != h && f1->h != h1)
-		  || (! f1->builtin && ! f1->jump))
-		continue;
-	      if (f1->h == h1)
-		exists = TRUE;
-	      if (! exists
-		  && bfd_is_abs_section (h->root.root.u.def.section))
-		{
-		  f = new_fixup (info, h1, f1->h->root.root.u.def.value, 0);
-		  f->jump = is_plt;
-		}
-	      f1->h = h1;
-	      f1->jump = is_plt;
-	      f1->builtin = 0;
-	      exists = TRUE;
-	    }
-	  if (! exists
-	      && bfd_is_abs_section (h->root.root.u.def.section))
-	    {
-	      f = new_fixup (info, h1, h->root.root.u.def.value, 0);
-	      if (f == NULL)
-		{
-		  /* FIXME: No way to return error.  */
-		  abort ();
-		}
-	      f->jump = is_plt;
-	    }
-	}
-
-      /* Quick and dirty way of stripping these symbols from the
-	 symtab.  */
-      if (bfd_is_abs_section (h->root.root.u.def.section))
-	h->root.written = TRUE;
-    }
-
-  return TRUE;
-}
-
-/* This is called to set the size of the .linux-dynamic section is.
-   It is called by the Linux linker emulation before_allocation
-   routine.  We have finished reading all of the input files, and now
-   we just scan the hash tables to find out how many additional fixups
-   are required.  */
-
-bfd_boolean
-bfd_sparclinux_size_dynamic_sections (bfd *output_bfd,
-				      struct bfd_link_info *info)
-{
-  struct fixup *f;
-  asection *s;
-
-  if (output_bfd->xvec != &MY(vec))
-    return TRUE;
-
-  /* First find the fixups...  */
-  linux_link_hash_traverse (linux_hash_table (info),
-			    linux_tally_symbols,
-			    info);
-
-  /* If there are builtin fixups, leave room for a marker.  This is
-     used by the dynamic linker so that it knows that all that follow
-     are builtin fixups instead of regular fixups.  */
-  for (f = linux_hash_table (info)->fixup_list; f != NULL; f = f->next)
-    {
-      if (f->builtin)
-	{
-	  ++linux_hash_table (info)->fixup_count;
-	  ++linux_hash_table (info)->local_builtins;
-	  break;
-	}
-    }
-
-  if (linux_hash_table (info)->dynobj == NULL)
-    {
-      if (linux_hash_table (info)->fixup_count > 0)
-	abort ();
-      return TRUE;
-    }
-
-  /* Allocate memory for our fixup table.  We will fill it in later.  */
-  s = bfd_get_section_by_name (linux_hash_table (info)->dynobj,
-			       ".linux-dynamic");
-  if (s != NULL)
-    {
-      s->size = linux_hash_table (info)->fixup_count + 1;
-      s->size *= 8;
-      s->contents = (bfd_byte *) bfd_zalloc (output_bfd, s->size);
-      if (s->contents == NULL)
-	return FALSE;
-    }
-
-  return TRUE;
-}
-
-/* We come here once we are ready to actually write the fixup table to
-   the output file.  Scan the fixup tables and so forth and generate
-   the stuff we need.  */
-
-static bfd_boolean
-linux_finish_dynamic_link (bfd *output_bfd, struct bfd_link_info *info)
-{
-  asection *s, *os, *is;
-  bfd_byte *fixup_table;
-  struct linux_link_hash_entry *h;
-  struct fixup *f;
-  unsigned int new_addr;
-  int section_offset;
-  unsigned int fixups_written;
-
-  if (linux_hash_table (info)->dynobj == NULL)
-    return TRUE;
-
-  s = bfd_get_section_by_name (linux_hash_table (info)->dynobj,
-			       ".linux-dynamic");
-  BFD_ASSERT (s != NULL);
-  os = s->output_section;
-  fixups_written = 0;
-
-#ifdef LINUX_LINK_DEBUG
-  printf ("Fixup table file offset: %x  VMA: %x\n",
-	  os->filepos + s->output_offset,
-	  os->vma + s->output_offset);
-#endif
-
-  fixup_table = s->contents;
-  bfd_put_32 (output_bfd,
-	      (bfd_vma) linux_hash_table (info)->fixup_count, fixup_table);
-  fixup_table += 4;
-
-  /* Fill in fixup table.  */
-  for (f = linux_hash_table (info)->fixup_list; f != NULL; f = f->next)
-    {
-      if (f->builtin)
-	continue;
-
-      if (f->h->root.root.type != bfd_link_hash_defined
-	  && f->h->root.root.type != bfd_link_hash_defweak)
-	{
-	  _bfd_error_handler
-	    (_("Symbol %s not defined for fixups\n"),
-	     f->h->root.root.root.string);
-	  continue;
-	}
-
-      is = f->h->root.root.u.def.section;
-      section_offset = is->output_section->vma + is->output_offset;
-      new_addr = f->h->root.root.u.def.value + section_offset;
-
-#ifdef LINUX_LINK_DEBUG
-      printf ("Fixup(%d) %s: %x %x\n",f->jump, f->h->root.root.string,
-	      new_addr, f->value);
-#endif
-
-      if (f->jump)
-	{
-	  /* Relative address */
-	  new_addr = new_addr - (f->value + 5);
-	  bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, f->value + 1, fixup_table);
-	  fixup_table += 4;
-	}
-      else
-	{
-	  bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, f->value, fixup_table);
-	  fixup_table += 4;
-	}
-      ++fixups_written;
-    }
-
-  if (linux_hash_table (info)->local_builtins != 0)
-    {
-      /* Special marker so we know to switch to the other type of fixup */
-      bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-      fixup_table += 4;
-      bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-      fixup_table += 4;
-      ++fixups_written;
-      for (f = linux_hash_table (info)->fixup_list; f != NULL; f = f->next)
-	{
-	  if (! f->builtin)
-	    continue;
-
-	  if (f->h->root.root.type != bfd_link_hash_defined
-	      && f->h->root.root.type != bfd_link_hash_defweak)
-	    {
-	      _bfd_error_handler
-		(_("Symbol %s not defined for fixups\n"),
-		 f->h->root.root.root.string);
-	      continue;
-	    }
-
-	  is = f->h->root.root.u.def.section;
-	  section_offset = is->output_section->vma + is->output_offset;
-	  new_addr = f->h->root.root.u.def.value + section_offset;
-
-#ifdef LINUX_LINK_DEBUG
-	  printf ("Fixup(B) %s: %x %x\n", f->h->root.root.string,
-		  new_addr, f->value);
-#endif
-
-	  bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, f->value, fixup_table);
-	  fixup_table += 4;
-	  ++fixups_written;
-	}
-    }
-
-  if (linux_hash_table (info)->fixup_count != fixups_written)
-    {
-      _bfd_error_handler (_("Warning: fixup count mismatch\n"));
-      while (linux_hash_table (info)->fixup_count > fixups_written)
-	{
-	  bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-	  fixup_table += 4;
-	  bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-	  fixup_table += 4;
-	  ++fixups_written;
-	}
-    }
-
-  h = linux_link_hash_lookup (linux_hash_table (info),
-			      "__BUILTIN_FIXUPS__",
-			      FALSE, FALSE, FALSE);
-
-  if (h != NULL
-      && (h->root.root.type == bfd_link_hash_defined
-	  || h->root.root.type == bfd_link_hash_defweak))
-    {
-      is = h->root.root.u.def.section;
-      section_offset = is->output_section->vma + is->output_offset;
-      new_addr = h->root.root.u.def.value + section_offset;
-
-#ifdef LINUX_LINK_DEBUG
-      printf ("Builtin fixup table at %x\n", new_addr);
-#endif
-
-      bfd_put_32 (output_bfd, (bfd_vma) new_addr, fixup_table);
-    }
-  else
-    bfd_put_32 (output_bfd, (bfd_vma) 0, fixup_table);
-
-  if (bfd_seek (output_bfd, (file_ptr) (os->filepos + s->output_offset),
-		SEEK_SET) != 0)
-    return FALSE;
-
-  if (bfd_bwrite (s->contents, s->size, output_bfd) != s->size)
-    return FALSE;
-
-  return TRUE;
-}
-
-#define MY_bfd_link_hash_table_create linux_link_hash_table_create
-#define MY_add_one_symbol linux_add_one_symbol
-#define MY_finish_dynamic_link linux_finish_dynamic_link
-
-#define MY_zmagic_contiguous 1
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sparclynx.c ./bfd/sparclynx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sparclynx.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/sparclynx.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,246 +0,0 @@
-/* BFD support for Sparc binaries under LynxOS.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (sparc_aout_lynx_,OP)
-#define TARGETNAME "a.out-sparc-lynx"
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-#include "aout/sun4.h"
-#include "libaout.h"		/* BFD a.out internal data structures */
-
-#include "aout/aout64.h"
-#include "aout/stab_gnu.h"
-#include "aout/ar.h"
-
-void NAME (lynx,set_arch_mach) (bfd *, unsigned long);
-static void choose_reloc_size (bfd *);
-static bfd_boolean NAME (aout,sparclynx_write_object_contents) (bfd *);
-
-/* This is needed to reject a NewsOS file, e.g. in
-   gdb/testsuite/gdb.t10/crossload.exp. <kingdon@cygnus.com>
-   I needed to add M_UNKNOWN to recognize a 68000 object, so this will
-   probably no longer reject a NewsOS object.  <ian@cygnus.com>.  */
-#define MACHTYPE_OK(mtype) (   (mtype) == M_UNKNOWN \
-			    || (mtype) == M_68010 \
-			    || (mtype) == M_68020 \
-			    || (mtype) == M_SPARC)
-
-/* The file @code{aoutf1.h} contains the code for BFD's
-   a.out back end. Control over the generated back end is given by these
-   two preprocessor names:
-   @table @code
-   @item ARCH_SIZE
-   This value should be either 32 or 64, depending upon the size of an
-   int in the target format. It changes the sizes of the structs which
-   perform the memory/disk mapping of structures.
-
-   The 64 bit backend may only be used if the host compiler supports 64
-   ints (eg long long with gcc), by defining the name @code{BFD_HOST_64_BIT} in @code{bfd.h}.
-   With this name defined, @emph{all} bfd operations are performed with 64bit
-   arithmetic, not just those to a 64bit target.
-
-   @item TARGETNAME
-   The name put into the target vector.
-   @item
-   @end table  */
-
-void
-NAME(lynx,set_arch_mach) (bfd *abfd, unsigned long machtype)
-{
-  /* Determine the architecture and machine type of the object file.  */
-  enum bfd_architecture arch;
-  unsigned long machine;
-
-  switch (machtype)
-    {
-    case M_UNKNOWN:
-      /* Some Sun3s make magic numbers without cpu types in them, so
-	 we'll default to the 68000.  */
-      arch = bfd_arch_m68k;
-      machine = bfd_mach_m68000;
-      break;
-
-    case M_68010:
-    case M_HP200:
-      arch = bfd_arch_m68k;
-      machine = bfd_mach_m68010;
-      break;
-
-    case M_68020:
-    case M_HP300:
-      arch = bfd_arch_m68k;
-      machine = bfd_mach_m68020;
-      break;
-
-    case M_SPARC:
-      arch = bfd_arch_sparc;
-      machine = 0;
-      break;
-
-    case M_386:
-    case M_386_DYNIX:
-      arch = bfd_arch_i386;
-      machine = 0;
-      break;
-
-    case M_HPUX:
-      arch = bfd_arch_m68k;
-      machine = 0;
-      break;
-
-    default:
-      arch = bfd_arch_obscure;
-      machine = 0;
-      break;
-    }
-  bfd_set_arch_mach (abfd, arch, machine);
-}
-
-#define SET_ARCH_MACH(ABFD, EXECP) \
-  NAME(lynx,set_arch_mach) (ABFD, N_MACHTYPE (EXECP)); \
-  choose_reloc_size(ABFD);
-
-/* Determine the size of a relocation entry, based on the architecture.  */
-
-static void
-choose_reloc_size (bfd *abfd)
-{
-  switch (bfd_get_arch (abfd))
-    {
-    case bfd_arch_sparc:
-      obj_reloc_entry_size (abfd) = RELOC_EXT_SIZE;
-      break;
-    default:
-      obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
-      break;
-    }
-}
-
-/* Write an object file in LynxOS format.
-  Section contents have already been written.  We write the
-  file header, symbols, and relocation.  */
-
-static bfd_boolean
-NAME(aout,sparclynx_write_object_contents) (bfd *abfd)
-{
-  struct external_exec exec_bytes;
-  struct internal_exec *execp = exec_hdr (abfd);
-
-  /* Magic number, maestro, please!  */
-  switch (bfd_get_arch (abfd))
-    {
-    case bfd_arch_m68k:
-      switch (bfd_get_mach (abfd))
-	{
-	case bfd_mach_m68010:
-	  N_SET_MACHTYPE (execp, M_68010);
-	  break;
-	default:
-	case bfd_mach_m68020:
-	  N_SET_MACHTYPE (execp, M_68020);
-	  break;
-	}
-      break;
-    case bfd_arch_sparc:
-      N_SET_MACHTYPE (execp, M_SPARC);
-      break;
-    case bfd_arch_i386:
-      N_SET_MACHTYPE (execp, M_386);
-      break;
-    default:
-      N_SET_MACHTYPE (execp, M_UNKNOWN);
-    }
-
-  choose_reloc_size (abfd);
-
-  N_SET_FLAGS (execp, aout_backend_info (abfd)->exec_hdr_flags);
-
-  WRITE_HEADERS (abfd, execp);
-
-  return TRUE;
-}
-
-#define MY_set_sizes sparclynx_set_sizes
-static bfd_boolean sparclynx_set_sizes (bfd *);
-
-static bfd_boolean
-sparclynx_set_sizes (bfd *abfd)
-{
-  switch (bfd_get_arch (abfd))
-    {
-    default:
-      return FALSE;
-    case bfd_arch_sparc:
-      adata (abfd).page_size = 0x2000;
-      adata (abfd).segment_size = 0x2000;
-      adata (abfd).exec_bytes_size = EXEC_BYTES_SIZE;
-      return TRUE;
-    case bfd_arch_m68k:
-      adata (abfd).page_size = 0x2000;
-      adata (abfd).segment_size = 0x20000;
-      adata (abfd).exec_bytes_size = EXEC_BYTES_SIZE;
-      return TRUE;
-    }
-}
-
-static const struct aout_backend_data sparclynx_aout_backend =
-  {
-    0, 1, 0, 1, 0, sparclynx_set_sizes, 0,
-    0,				/* add_dynamic_symbols */
-    0,				/* add_one_symbol */
-    0,				/* link_dynamic_object */
-    0,				/* write_dynamic_symbol */
-    0,				/* check_dynamic_reloc */
-    0				/* finish_dynamic_link */
-  };
-
-
-#define MY_bfd_debug_info_start		bfd_void
-#define MY_bfd_debug_info_end		bfd_void
-#define MY_bfd_debug_info_accumulate	\
-		(void (*) (bfd *, struct bfd_section *)) bfd_void
-
-#define MY_write_object_contents	NAME(aout,sparclynx_write_object_contents)
-#define MY_backend_data			&sparclynx_aout_backend
-
-#define TARGET_IS_BIG_ENDIAN_P
-
-#ifdef LYNX_CORE
-
-char * lynx_core_file_failing_command ();
-int lynx_core_file_failing_signal ();
-bfd_boolean lynx_core_file_matches_executable_p ();
-const bfd_target * lynx_core_file_p ();
-
-#define	MY_core_file_failing_command lynx_core_file_failing_command
-#define	MY_core_file_failing_signal lynx_core_file_failing_signal
-#define	MY_core_file_matches_executable_p lynx_core_file_matches_executable_p
-#define	MY_core_file_p lynx_core_file_p
-
-#endif /* LYNX_CORE */
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sparcnetbsd.c ./bfd/sparcnetbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sparcnetbsd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/sparcnetbsd.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,39 +0,0 @@
-/* BFD back-end for NetBSD/sparc a.out-ish binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-#define TARGET_IS_BIG_ENDIAN_P
-
-/* SPARC chips use either 4K or 8K pages, but object files always
-   assume 8K page alignment so they will work on either one.  */
-#define TARGET_PAGE_SIZE 0x2000
-
-#define DEFAULT_ARCH	bfd_arch_sparc
-#define DEFAULT_MID	M_SPARC_NETBSD
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (sparc_aout_nbsd_,OP)
-
-/* This needs to start with a.out so GDB knows it is an a.out variant.  */
-#define TARGETNAME "a.out-sparc-netbsd"
-
-#include "netbsd.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/srec.c ./bfd/srec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/srec.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/srec.c	2018-07-10 02:06:11.000000000 +0000
@@ -257,7 +257,7 @@ srec_bad_byte (bfd *abfd,
 	}
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B:%d: Unexpected character `%s' in S-record file\n"),
+	(_("%pB:%d: unexpected character `%s' in S-record file"),
 	 abfd, lineno, buf);
       bfd_set_error (bfd_error_bad_value);
     }
@@ -485,7 +485,7 @@ srec_scan (bfd *abfd)
 	    if (bytes < min_bytes)
 	      {
 		/* xgettext:c-format */
-		_bfd_error_handler (_("%B:%d: byte count %d too small\n"),
+		_bfd_error_handler (_("%pB:%d: byte count %d too small"),
 				    abfd, lineno, bytes);
 		bfd_set_error (bfd_error_bad_value);
 		goto error_return;
@@ -578,7 +578,7 @@ srec_scan (bfd *abfd)
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B:%d: Bad checksum in S-record file\n"),
+		      (_("%pB:%d: bad checksum in S-record file"),
 		       abfd, lineno);
 		    bfd_set_error (bfd_error_bad_value);
 		    goto error_return;
@@ -612,7 +612,7 @@ srec_scan (bfd *abfd)
 		  {
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B:%d: Bad checksum in S-record file\n"),
+		      (_("%pB:%d: bad checksum in S-record file"),
 		       abfd, lineno);
 		    bfd_set_error (bfd_error_bad_value);
 		    goto error_return;
@@ -1257,7 +1257,7 @@ srec_print_symbol (bfd *abfd,
 #define	srec_close_and_cleanup			  _bfd_generic_close_and_cleanup
 #define srec_bfd_free_cached_info		  _bfd_generic_bfd_free_cached_info
 #define srec_new_section_hook			  _bfd_generic_new_section_hook
-#define srec_bfd_is_target_special_symbol	  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define srec_bfd_is_target_special_symbol	  _bfd_bool_bfd_asymbol_false
 #define srec_bfd_is_local_label_name		  bfd_generic_is_local_label_name
 #define srec_get_lineno				  _bfd_nosymbols_get_lineno
 #define srec_find_nearest_line			  _bfd_nosymbols_find_nearest_line
@@ -1278,6 +1278,7 @@ srec_print_symbol (bfd *abfd,
 #define srec_bfd_discard_group			  bfd_generic_discard_group
 #define srec_section_already_linked		  _bfd_generic_section_already_linked
 #define srec_bfd_define_common_symbol		  bfd_generic_define_common_symbol
+#define srec_bfd_link_hide_symbol		  _bfd_generic_link_hide_symbol
 #define srec_bfd_define_start_stop		  bfd_generic_define_start_stop
 #define srec_bfd_link_hash_table_create		  _bfd_generic_link_hash_table_create
 #define srec_bfd_link_add_symbols		  _bfd_generic_link_add_symbols
@@ -1316,16 +1317,16 @@ const bfd_target srec_vec =
     _bfd_dummy_target,
   },
   {
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     srec_mkobject,
     _bfd_generic_mkarchive,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents.  */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     srec_write_object_contents,
     _bfd_write_archive_contents,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (srec),
@@ -1372,16 +1373,16 @@ const bfd_target symbolsrec_vec =
     _bfd_dummy_target,
   },
   {
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     srec_mkobject,
     _bfd_generic_mkarchive,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents.  */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     symbolsrec_write_object_contents,
     _bfd_write_archive_contents,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (srec),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/stabs.c ./bfd/stabs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/stabs.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/stabs.c	2018-07-10 02:06:11.000000000 +0000
@@ -276,7 +276,7 @@ _bfd_link_section_stabs (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#lx): Stabs entry has invalid string index."),
+	    (_("%pB(%pA+%#lx): stabs entry has invalid string index"),
 	     abfd, stabsec, (long) (sym - stabbuf));
 	  bfd_set_error (bfd_error_bad_value);
 	  goto error_return;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sunos.c ./bfd/sunos.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sunos.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/sunos.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,2845 +0,0 @@
-/* BFD backend for SunOS binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGETNAME "a.out-sunos-big"
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate
-   the tokens.  */
-#define MY(OP) CONCAT2 (sparc_aout_sunos_be_,OP)
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "bfdlink.h"
-#include "libaout.h"
-
-/* ??? Where should this go?  */
-#define MACHTYPE_OK(mtype) \
-  (((mtype) == M_SPARC && bfd_lookup_arch (bfd_arch_sparc, 0) != NULL) \
-   || ((mtype) == M_SPARCLET \
-       && bfd_lookup_arch (bfd_arch_sparc, bfd_mach_sparc_sparclet) != NULL) \
-   || ((mtype) == M_SPARCLITE_LE \
-       && bfd_lookup_arch (bfd_arch_sparc, bfd_mach_sparc_sparclet) != NULL) \
-   || (((mtype) == M_UNKNOWN || (mtype) == M_68010 || (mtype) == M_68020) \
-       && bfd_lookup_arch (bfd_arch_m68k, 0) != NULL))
-
-#define MY_get_dynamic_symtab_upper_bound  sunos_get_dynamic_symtab_upper_bound
-#define MY_canonicalize_dynamic_symtab	   sunos_canonicalize_dynamic_symtab
-#define MY_get_synthetic_symtab		   _bfd_nodynamic_get_synthetic_symtab
-#define MY_get_dynamic_reloc_upper_bound   sunos_get_dynamic_reloc_upper_bound
-#define MY_canonicalize_dynamic_reloc	   sunos_canonicalize_dynamic_reloc
-#define MY_bfd_link_hash_table_create	   sunos_link_hash_table_create
-#define MY_add_dynamic_symbols		   sunos_add_dynamic_symbols
-#define MY_add_one_symbol		   sunos_add_one_symbol
-#define MY_link_dynamic_object		   sunos_link_dynamic_object
-#define MY_write_dynamic_symbol		   sunos_write_dynamic_symbol
-#define MY_check_dynamic_reloc		   sunos_check_dynamic_reloc
-#define MY_finish_dynamic_link		   sunos_finish_dynamic_link
-
-static bfd_boolean sunos_add_dynamic_symbols		(bfd *, struct bfd_link_info *, struct external_nlist **, bfd_size_type *, char **);
-static bfd_boolean sunos_add_one_symbol			(struct bfd_link_info *, bfd *, const char *, flagword, asection *, bfd_vma, const char *, bfd_boolean, bfd_boolean, struct bfd_link_hash_entry **);
-static bfd_boolean sunos_link_dynamic_object		(struct bfd_link_info *, bfd *);
-static bfd_boolean sunos_write_dynamic_symbol		(bfd *, struct bfd_link_info *, struct aout_link_hash_entry *);
-static bfd_boolean sunos_check_dynamic_reloc		(struct bfd_link_info *, bfd *, asection *, struct aout_link_hash_entry *, void *, bfd_byte *, bfd_boolean *, bfd_vma *);
-static bfd_boolean sunos_finish_dynamic_link		(bfd *, struct bfd_link_info *);
-static struct bfd_link_hash_table *sunos_link_hash_table_create	 (bfd *);
-static long	   sunos_get_dynamic_symtab_upper_bound (bfd *);
-static long	   sunos_canonicalize_dynamic_symtab	(bfd *, asymbol **);
-static long	   sunos_get_dynamic_reloc_upper_bound	(bfd *);
-static long	   sunos_canonicalize_dynamic_reloc	(bfd *, arelent **, asymbol **);
-
-/* Include the usual a.out support.  */
-#include "aoutf1.h"
-
-/* The SunOS 4.1.4 /usr/include/locale.h defines valid as a macro.  */
-#undef valid
-
-/* SunOS shared library support.  We store a pointer to this structure
-   in obj_aout_dynamic_info (abfd).  */
-
-struct sunos_dynamic_info
-{
-  /* Whether we found any dynamic information.  */
-  bfd_boolean valid;
-  /* Dynamic information.  */
-  struct internal_sun4_dynamic_link dyninfo;
-  /* Number of dynamic symbols.  */
-  unsigned long dynsym_count;
-  /* Read in nlists for dynamic symbols.  */
-  struct external_nlist *dynsym;
-  /* asymbol structures for dynamic symbols.  */
-  aout_symbol_type *canonical_dynsym;
-  /* Read in dynamic string table.  */
-  char *dynstr;
-  /* Number of dynamic relocs.  */
-  unsigned long dynrel_count;
-  /* Read in dynamic relocs.  This may be reloc_std_external or
-     reloc_ext_external.  */
-  void * dynrel;
-  /* arelent structures for dynamic relocs.  */
-  arelent *canonical_dynrel;
-};
-
-/* The hash table of dynamic symbols is composed of two word entries.
-   See include/aout/sun4.h for details.  */
-
-#define HASH_ENTRY_SIZE (2 * BYTES_IN_WORD)
-
-/* Read in the basic dynamic information.  This locates the __DYNAMIC
-   structure and uses it to find the dynamic_link structure.  It
-   creates and saves a sunos_dynamic_info structure.  If it can't find
-   __DYNAMIC, it sets the valid field of the sunos_dynamic_info
-   structure to FALSE to avoid doing this work again.  */
-
-static bfd_boolean
-sunos_read_dynamic_info (bfd *abfd)
-{
-  struct sunos_dynamic_info *info;
-  asection *dynsec;
-  bfd_vma dynoff;
-  struct external_sun4_dynamic dyninfo;
-  unsigned long dynver;
-  struct external_sun4_dynamic_link linkinfo;
-  bfd_size_type amt;
-
-  if (obj_aout_dynamic_info (abfd) != NULL)
-    return TRUE;
-
-  if ((abfd->flags & DYNAMIC) == 0)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return FALSE;
-    }
-
-  amt = sizeof (struct sunos_dynamic_info);
-  info = bfd_zalloc (abfd, amt);
-  if (!info)
-    return FALSE;
-  info->valid = FALSE;
-  info->dynsym = NULL;
-  info->dynstr = NULL;
-  info->canonical_dynsym = NULL;
-  info->dynrel = NULL;
-  info->canonical_dynrel = NULL;
-  obj_aout_dynamic_info (abfd) = (void *) info;
-
-  /* This code used to look for the __DYNAMIC symbol to locate the dynamic
-     linking information.
-     However this inhibits recovering the dynamic symbols from a
-     stripped object file, so blindly assume that the dynamic linking
-     information is located at the start of the data section.
-     We could verify this assumption later by looking through the dynamic
-     symbols for the __DYNAMIC symbol.  */
-  if ((abfd->flags & DYNAMIC) == 0)
-    return TRUE;
-  if (! bfd_get_section_contents (abfd, obj_datasec (abfd), (void *) &dyninfo,
-				  (file_ptr) 0,
-				  (bfd_size_type) sizeof dyninfo))
-    return TRUE;
-
-  dynver = GET_WORD (abfd, dyninfo.ld_version);
-  if (dynver != 2 && dynver != 3)
-    return TRUE;
-
-  dynoff = GET_WORD (abfd, dyninfo.ld);
-
-  /* dynoff is a virtual address.  It is probably always in the .data
-     section, but this code should work even if it moves.  */
-  if (dynoff < bfd_get_section_vma (abfd, obj_datasec (abfd)))
-    dynsec = obj_textsec (abfd);
-  else
-    dynsec = obj_datasec (abfd);
-  dynoff -= bfd_get_section_vma (abfd, dynsec);
-  if (dynoff > dynsec->size)
-    return TRUE;
-
-  /* This executable appears to be dynamically linked in a way that we
-     can understand.  */
-  if (! bfd_get_section_contents (abfd, dynsec, (void *) &linkinfo,
-				  (file_ptr) dynoff,
-				  (bfd_size_type) sizeof linkinfo))
-    return TRUE;
-
-  /* Swap in the dynamic link information.  */
-  info->dyninfo.ld_loaded = GET_WORD (abfd, linkinfo.ld_loaded);
-  info->dyninfo.ld_need = GET_WORD (abfd, linkinfo.ld_need);
-  info->dyninfo.ld_rules = GET_WORD (abfd, linkinfo.ld_rules);
-  info->dyninfo.ld_got = GET_WORD (abfd, linkinfo.ld_got);
-  info->dyninfo.ld_plt = GET_WORD (abfd, linkinfo.ld_plt);
-  info->dyninfo.ld_rel = GET_WORD (abfd, linkinfo.ld_rel);
-  info->dyninfo.ld_hash = GET_WORD (abfd, linkinfo.ld_hash);
-  info->dyninfo.ld_stab = GET_WORD (abfd, linkinfo.ld_stab);
-  info->dyninfo.ld_stab_hash = GET_WORD (abfd, linkinfo.ld_stab_hash);
-  info->dyninfo.ld_buckets = GET_WORD (abfd, linkinfo.ld_buckets);
-  info->dyninfo.ld_symbols = GET_WORD (abfd, linkinfo.ld_symbols);
-  info->dyninfo.ld_symb_size = GET_WORD (abfd, linkinfo.ld_symb_size);
-  info->dyninfo.ld_text = GET_WORD (abfd, linkinfo.ld_text);
-  info->dyninfo.ld_plt_sz = GET_WORD (abfd, linkinfo.ld_plt_sz);
-
-  /* Reportedly the addresses need to be offset by the size of the
-     exec header in an NMAGIC file.  */
-  if (adata (abfd).magic == n_magic)
-    {
-      unsigned long exec_bytes_size = adata (abfd).exec_bytes_size;
-
-      info->dyninfo.ld_need += exec_bytes_size;
-      info->dyninfo.ld_rules += exec_bytes_size;
-      info->dyninfo.ld_rel += exec_bytes_size;
-      info->dyninfo.ld_hash += exec_bytes_size;
-      info->dyninfo.ld_stab += exec_bytes_size;
-      info->dyninfo.ld_symbols += exec_bytes_size;
-    }
-
-  /* The only way to get the size of the symbol information appears to
-     be to determine the distance between it and the string table.  */
-  info->dynsym_count = ((info->dyninfo.ld_symbols - info->dyninfo.ld_stab)
-			/ EXTERNAL_NLIST_SIZE);
-  BFD_ASSERT (info->dynsym_count * EXTERNAL_NLIST_SIZE
-	      == (unsigned long) (info->dyninfo.ld_symbols
-				  - info->dyninfo.ld_stab));
-
-  /* Similarly, the relocs end at the hash table.  */
-  info->dynrel_count = ((info->dyninfo.ld_hash - info->dyninfo.ld_rel)
-			/ obj_reloc_entry_size (abfd));
-  BFD_ASSERT (info->dynrel_count * obj_reloc_entry_size (abfd)
-	      == (unsigned long) (info->dyninfo.ld_hash
-				  - info->dyninfo.ld_rel));
-
-  info->valid = TRUE;
-
-  return TRUE;
-}
-
-/* Return the amount of memory required for the dynamic symbols.  */
-
-static long
-sunos_get_dynamic_symtab_upper_bound (bfd *abfd)
-{
-  struct sunos_dynamic_info *info;
-
-  if (! sunos_read_dynamic_info (abfd))
-    return -1;
-
-  info = (struct sunos_dynamic_info *) obj_aout_dynamic_info (abfd);
-  if (! info->valid)
-    {
-      bfd_set_error (bfd_error_no_symbols);
-      return -1;
-    }
-
-  return (info->dynsym_count + 1) * sizeof (asymbol *);
-}
-
-/* Read the external dynamic symbols.  */
-
-static bfd_boolean
-sunos_slurp_dynamic_symtab (bfd *abfd)
-{
-  struct sunos_dynamic_info *info;
-  bfd_size_type amt;
-
-  /* Get the general dynamic information.  */
-  if (obj_aout_dynamic_info (abfd) == NULL)
-    {
-      if (! sunos_read_dynamic_info (abfd))
-	  return FALSE;
-    }
-
-  info = (struct sunos_dynamic_info *) obj_aout_dynamic_info (abfd);
-  if (! info->valid)
-    {
-      bfd_set_error (bfd_error_no_symbols);
-      return FALSE;
-    }
-
-  /* Get the dynamic nlist structures.  */
-  if (info->dynsym == NULL)
-    {
-      amt = (bfd_size_type) info->dynsym_count * EXTERNAL_NLIST_SIZE;
-      info->dynsym = bfd_alloc (abfd, amt);
-      if (info->dynsym == NULL && info->dynsym_count != 0)
-	return FALSE;
-      if (bfd_seek (abfd, (file_ptr) info->dyninfo.ld_stab, SEEK_SET) != 0
-	  || bfd_bread ((void *) info->dynsym, amt, abfd) != amt)
-	{
-	  if (info->dynsym != NULL)
-	    {
-	      bfd_release (abfd, info->dynsym);
-	      info->dynsym = NULL;
-	    }
-	  return FALSE;
-	}
-    }
-
-  /* Get the dynamic strings.  */
-  if (info->dynstr == NULL)
-    {
-      amt = info->dyninfo.ld_symb_size;
-      info->dynstr = bfd_alloc (abfd, amt);
-      if (info->dynstr == NULL && info->dyninfo.ld_symb_size != 0)
-	return FALSE;
-      if (bfd_seek (abfd, (file_ptr) info->dyninfo.ld_symbols, SEEK_SET) != 0
-	  || bfd_bread ((void *) info->dynstr, amt, abfd) != amt)
-	{
-	  if (info->dynstr != NULL)
-	    {
-	      bfd_release (abfd, info->dynstr);
-	      info->dynstr = NULL;
-	    }
-	  return FALSE;
-	}
-    }
-
-  return TRUE;
-}
-
-/* Read in the dynamic symbols.  */
-
-static long
-sunos_canonicalize_dynamic_symtab (bfd *abfd, asymbol **storage)
-{
-  struct sunos_dynamic_info *info;
-  unsigned long i;
-
-  if (! sunos_slurp_dynamic_symtab (abfd))
-    return -1;
-
-  info = (struct sunos_dynamic_info *) obj_aout_dynamic_info (abfd);
-
-#ifdef CHECK_DYNAMIC_HASH
-  /* Check my understanding of the dynamic hash table by making sure
-     that each symbol can be located in the hash table.  */
-  {
-    bfd_size_type table_size;
-    bfd_byte *table;
-    bfd_size_type i;
-
-    if (info->dyninfo.ld_buckets > info->dynsym_count)
-      abort ();
-    table_size = info->dyninfo.ld_stab - info->dyninfo.ld_hash;
-    table = bfd_malloc (table_size);
-    if (table == NULL && table_size != 0)
-      abort ();
-    if (bfd_seek (abfd, (file_ptr) info->dyninfo.ld_hash, SEEK_SET) != 0
-	|| bfd_bread ((void *) table, table_size, abfd) != table_size)
-      abort ();
-    for (i = 0; i < info->dynsym_count; i++)
-      {
-	unsigned char *name;
-	unsigned long hash;
-
-	name = ((unsigned char *) info->dynstr
-		+ GET_WORD (abfd, info->dynsym[i].e_strx));
-	hash = 0;
-	while (*name != '\0')
-	  hash = (hash << 1) + *name++;
-	hash &= 0x7fffffff;
-	hash %= info->dyninfo.ld_buckets;
-	while (GET_WORD (abfd, table + hash * HASH_ENTRY_SIZE) != i)
-	  {
-	    hash = GET_WORD (abfd,
-			     table + hash * HASH_ENTRY_SIZE + BYTES_IN_WORD);
-	    if (hash == 0 || hash >= table_size / HASH_ENTRY_SIZE)
-	      abort ();
-	  }
-      }
-    free (table);
-  }
-#endif /* CHECK_DYNAMIC_HASH */
-
-  /* Get the asymbol structures corresponding to the dynamic nlist
-     structures.  */
-  if (info->canonical_dynsym == NULL)
-    {
-      bfd_size_type size;
-      bfd_size_type strsize = info->dyninfo.ld_symb_size;
-
-      size = (bfd_size_type) info->dynsym_count * sizeof (aout_symbol_type);
-      info->canonical_dynsym = bfd_alloc (abfd, size);
-      if (info->canonical_dynsym == NULL && info->dynsym_count != 0)
-	return -1;
-
-      if (! aout_32_translate_symbol_table (abfd, info->canonical_dynsym,
-					    info->dynsym,
-					    (bfd_size_type) info->dynsym_count,
-					    info->dynstr, strsize, TRUE))
-	{
-	  if (info->canonical_dynsym != NULL)
-	    {
-	      bfd_release (abfd, info->canonical_dynsym);
-	      info->canonical_dynsym = NULL;
-	    }
-	  return -1;
-	}
-    }
-
-  /* Return pointers to the dynamic asymbol structures.  */
-  for (i = 0; i < info->dynsym_count; i++)
-    *storage++ = (asymbol *) (info->canonical_dynsym + i);
-  *storage = NULL;
-
-  return info->dynsym_count;
-}
-
-/* Return the amount of memory required for the dynamic relocs.  */
-
-static long
-sunos_get_dynamic_reloc_upper_bound (bfd *abfd)
-{
-  struct sunos_dynamic_info *info;
-
-  if (! sunos_read_dynamic_info (abfd))
-    return -1;
-
-  info = (struct sunos_dynamic_info *) obj_aout_dynamic_info (abfd);
-  if (! info->valid)
-    {
-      bfd_set_error (bfd_error_no_symbols);
-      return -1;
-    }
-
-  return (info->dynrel_count + 1) * sizeof (arelent *);
-}
-
-/* Read in the dynamic relocs.  */
-
-static long
-sunos_canonicalize_dynamic_reloc (bfd *abfd, arelent **storage, asymbol **syms)
-{
-  struct sunos_dynamic_info *info;
-  unsigned long i;
-  bfd_size_type size;
-
-  /* Get the general dynamic information.  */
-  if (obj_aout_dynamic_info (abfd) == NULL)
-    {
-      if (! sunos_read_dynamic_info (abfd))
-	return -1;
-    }
-
-  info = (struct sunos_dynamic_info *) obj_aout_dynamic_info (abfd);
-  if (! info->valid)
-    {
-      bfd_set_error (bfd_error_no_symbols);
-      return -1;
-    }
-
-  /* Get the dynamic reloc information.  */
-  if (info->dynrel == NULL)
-    {
-      size = (bfd_size_type) info->dynrel_count * obj_reloc_entry_size (abfd);
-      info->dynrel = bfd_alloc (abfd, size);
-      if (info->dynrel == NULL && size != 0)
-	return -1;
-      if (bfd_seek (abfd, (file_ptr) info->dyninfo.ld_rel, SEEK_SET) != 0
-	  || bfd_bread ((void *) info->dynrel, size, abfd) != size)
-	{
-	  if (info->dynrel != NULL)
-	    {
-	      bfd_release (abfd, info->dynrel);
-	      info->dynrel = NULL;
-	    }
-	  return -1;
-	}
-    }
-
-  /* Get the arelent structures corresponding to the dynamic reloc
-     information.  */
-  if (info->canonical_dynrel == NULL)
-    {
-      arelent *to;
-
-      size = (bfd_size_type) info->dynrel_count * sizeof (arelent);
-      info->canonical_dynrel = bfd_alloc (abfd, size);
-      if (info->canonical_dynrel == NULL && info->dynrel_count != 0)
-	return -1;
-
-      to = info->canonical_dynrel;
-
-      if (obj_reloc_entry_size (abfd) == RELOC_EXT_SIZE)
-	{
-	  struct reloc_ext_external *p;
-	  struct reloc_ext_external *pend;
-
-	  p = (struct reloc_ext_external *) info->dynrel;
-	  pend = p + info->dynrel_count;
-	  for (; p < pend; p++, to++)
-	    NAME (aout, swap_ext_reloc_in) (abfd, p, to, syms,
-					    (bfd_size_type) info->dynsym_count);
-	}
-      else
-	{
-	  struct reloc_std_external *p;
-	  struct reloc_std_external *pend;
-
-	  p = (struct reloc_std_external *) info->dynrel;
-	  pend = p + info->dynrel_count;
-	  for (; p < pend; p++, to++)
-	    NAME (aout, swap_std_reloc_in) (abfd, p, to, syms,
-					    (bfd_size_type) info->dynsym_count);
-	}
-    }
-
-  /* Return pointers to the dynamic arelent structures.  */
-  for (i = 0; i < info->dynrel_count; i++)
-    *storage++ = info->canonical_dynrel + i;
-  *storage = NULL;
-
-  return info->dynrel_count;
-}
-
-/* Code to handle linking of SunOS shared libraries.  */
-
-/* A SPARC procedure linkage table entry is 12 bytes.  The first entry
-   in the table is a jump which is filled in by the runtime linker.
-   The remaining entries are branches back to the first entry,
-   followed by an index into the relocation table encoded to look like
-   a sethi of %g0.  */
-
-#define SPARC_PLT_ENTRY_SIZE (12)
-
-static const bfd_byte sparc_plt_first_entry[SPARC_PLT_ENTRY_SIZE] =
-{
-  /* sethi %hi(0),%g1; address filled in by runtime linker.  */
-  0x3, 0, 0, 0,
-  /* jmp %g1; offset filled in by runtime linker.  */
-  0x81, 0xc0, 0x60, 0,
-  /* nop */
-  0x1, 0, 0, 0
-};
-
-/* save %sp, -96, %sp */
-#define SPARC_PLT_ENTRY_WORD0 ((bfd_vma) 0x9de3bfa0)
-/* call; address filled in later.  */
-#define SPARC_PLT_ENTRY_WORD1 ((bfd_vma) 0x40000000)
-/* sethi; reloc index filled in later.  */
-#define SPARC_PLT_ENTRY_WORD2 ((bfd_vma) 0x01000000)
-
-/* This sequence is used when for the jump table entry to a defined
-   symbol in a complete executable.  It is used when linking PIC
-   compiled code which is not being put into a shared library.  */
-/* sethi <address to be filled in later>, %g1 */
-#define SPARC_PLT_PIC_WORD0 ((bfd_vma) 0x03000000)
-/* jmp %g1 + <address to be filled in later> */
-#define SPARC_PLT_PIC_WORD1 ((bfd_vma) 0x81c06000)
-/* nop */
-#define SPARC_PLT_PIC_WORD2 ((bfd_vma) 0x01000000)
-
-/* An m68k procedure linkage table entry is 8 bytes.  The first entry
-   in the table is a jump which is filled in the by the runtime
-   linker.  The remaining entries are branches back to the first
-   entry, followed by a two byte index into the relocation table.  */
-
-#define M68K_PLT_ENTRY_SIZE (8)
-
-static const bfd_byte m68k_plt_first_entry[M68K_PLT_ENTRY_SIZE] =
-{
-  /* jmps @# */
-  0x4e, 0xf9,
-  /* Filled in by runtime linker with a magic address.  */
-  0, 0, 0, 0,
-  /* Not used?  */
-  0, 0
-};
-
-/* bsrl */
-#define M68K_PLT_ENTRY_WORD0 ((bfd_vma) 0x61ff)
-/* Remaining words filled in later.  */
-
-/* An entry in the SunOS linker hash table.  */
-
-struct sunos_link_hash_entry
-{
-  struct aout_link_hash_entry root;
-
-  /* If this is a dynamic symbol, this is its index into the dynamic
-     symbol table.  This is initialized to -1.  As the linker looks at
-     the input files, it changes this to -2 if it will be added to the
-     dynamic symbol table.  After all the input files have been seen,
-     the linker will know whether to build a dynamic symbol table; if
-     it does build one, this becomes the index into the table.  */
-  long dynindx;
-
-  /* If this is a dynamic symbol, this is the index of the name in the
-     dynamic symbol string table.  */
-  long dynstr_index;
-
-  /* The offset into the global offset table used for this symbol.  If
-     the symbol does not require a GOT entry, this is 0.  */
-  bfd_vma got_offset;
-
-  /* The offset into the procedure linkage table used for this symbol.
-     If the symbol does not require a PLT entry, this is 0.  */
-  bfd_vma plt_offset;
-
-  /* Some linker flags.  */
-  unsigned char flags;
-  /* Symbol is referenced by a regular object.  */
-#define SUNOS_REF_REGULAR 01
-  /* Symbol is defined by a regular object.  */
-#define SUNOS_DEF_REGULAR 02
-  /* Symbol is referenced by a dynamic object.  */
-#define SUNOS_REF_DYNAMIC 04
-  /* Symbol is defined by a dynamic object.  */
-#define SUNOS_DEF_DYNAMIC 010
-  /* Symbol is a constructor symbol in a regular object.  */
-#define SUNOS_CONSTRUCTOR 020
-};
-
-/* The SunOS linker hash table.  */
-
-struct sunos_link_hash_table
-{
-  struct aout_link_hash_table root;
-
-  /* The object which holds the dynamic sections.  */
-  bfd *dynobj;
-
-  /* Whether we have created the dynamic sections.  */
-  bfd_boolean dynamic_sections_created;
-
-  /* Whether we need the dynamic sections.  */
-  bfd_boolean dynamic_sections_needed;
-
-  /* Whether we need the .got table.  */
-  bfd_boolean got_needed;
-
-  /* The number of dynamic symbols.  */
-  size_t dynsymcount;
-
-  /* The number of buckets in the hash table.  */
-  size_t bucketcount;
-
-  /* The list of dynamic objects needed by dynamic objects included in
-     the link.  */
-  struct bfd_link_needed_list *needed;
-
-  /* The offset of __GLOBAL_OFFSET_TABLE_ into the .got section.  */
-  bfd_vma got_base;
-};
-
-/* Routine to create an entry in an SunOS link hash table.  */
-
-static struct bfd_hash_entry *
-sunos_link_hash_newfunc (struct bfd_hash_entry *entry,
-			 struct bfd_hash_table *table,
-			 const char *string)
-{
-  struct sunos_link_hash_entry *ret = (struct sunos_link_hash_entry *) entry;
-
-  /* Allocate the structure if it has not already been allocated by a
-     subclass.  */
-  if (ret ==  NULL)
-    ret = bfd_hash_allocate (table, sizeof (* ret));
-  if (ret == NULL)
-    return NULL;
-
-  /* Call the allocation method of the superclass.  */
-  ret = ((struct sunos_link_hash_entry *)
-	 NAME (aout, link_hash_newfunc) ((struct bfd_hash_entry *) ret,
-					 table, string));
-  if (ret != NULL)
-    {
-      /* Set local fields.  */
-      ret->dynindx = -1;
-      ret->dynstr_index = -1;
-      ret->got_offset = 0;
-      ret->plt_offset = 0;
-      ret->flags = 0;
-    }
-
-  return (struct bfd_hash_entry *) ret;
-}
-
-/* Create a SunOS link hash table.  */
-
-static struct bfd_link_hash_table *
-sunos_link_hash_table_create (bfd *abfd)
-{
-  struct sunos_link_hash_table *ret;
-  bfd_size_type amt = sizeof (struct sunos_link_hash_table);
-
-  ret = bfd_zmalloc (amt);
-  if (ret ==  NULL)
-    return NULL;
-  if (!NAME (aout, link_hash_table_init) (&ret->root, abfd,
-					  sunos_link_hash_newfunc,
-					  sizeof (struct sunos_link_hash_entry)))
-    {
-      free (ret);
-      return NULL;
-    }
-
-  return &ret->root.root;
-}
-
-/* Look up an entry in an SunOS link hash table.  */
-
-#define sunos_link_hash_lookup(table, string, create, copy, follow) \
-  ((struct sunos_link_hash_entry *) \
-   aout_link_hash_lookup (&(table)->root, (string), (create), (copy),\
-			  (follow)))
-
-/* Traverse a SunOS link hash table.  */
-
-#define sunos_link_hash_traverse(table, func, info)			\
-  (aout_link_hash_traverse						\
-   (&(table)->root,							\
-    (bfd_boolean (*) (struct aout_link_hash_entry *, void *)) (func),	\
-    (info)))
-
-/* Get the SunOS link hash table from the info structure.  This is
-   just a cast.  */
-
-#define sunos_hash_table(p) ((struct sunos_link_hash_table *) ((p)->hash))
-
-/* Create the dynamic sections needed if we are linking against a
-   dynamic object, or if we are linking PIC compiled code.  ABFD is a
-   bfd we can attach the dynamic sections to.  The linker script will
-   look for these special sections names and put them in the right
-   place in the output file.  See include/aout/sun4.h for more details
-   of the dynamic linking information.  */
-
-static bfd_boolean
-sunos_create_dynamic_sections (bfd *abfd,
-			       struct bfd_link_info *info,
-			       bfd_boolean needed)
-{
-  asection *s;
-
-  if (! sunos_hash_table (info)->dynamic_sections_created)
-    {
-      flagword flags;
-
-      sunos_hash_table (info)->dynobj = abfd;
-
-      flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
-	       | SEC_LINKER_CREATED);
-
-      /* The .dynamic section holds the basic dynamic information: the
-	 sun4_dynamic structure, the dynamic debugger information, and
-	 the sun4_dynamic_link structure.  */
-      s = bfd_make_section_anyway_with_flags (abfd, ".dynamic", flags);
-      if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
-	return FALSE;
-
-      /* The .got section holds the global offset table.  The address
-	 is put in the ld_got field.  */
-      s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
-      if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
-	return FALSE;
-
-      /* The .plt section holds the procedure linkage table.  The
-	 address is put in the ld_plt field.  */
-      s = bfd_make_section_anyway_with_flags (abfd, ".plt", flags | SEC_CODE);
-      if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
-	return FALSE;
-
-      /* The .dynrel section holds the dynamic relocs.  The address is
-	 put in the ld_rel field.  */
-      s = bfd_make_section_anyway_with_flags (abfd, ".dynrel",
-					      flags | SEC_READONLY);
-      if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
-	return FALSE;
-
-      /* The .hash section holds the dynamic hash table.  The address
-	 is put in the ld_hash field.  */
-      s = bfd_make_section_anyway_with_flags (abfd, ".hash",
-					      flags | SEC_READONLY);
-      if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
-	return FALSE;
-
-      /* The .dynsym section holds the dynamic symbols.  The address
-	 is put in the ld_stab field.  */
-      s = bfd_make_section_anyway_with_flags (abfd, ".dynsym",
-					      flags | SEC_READONLY);
-      if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
-	return FALSE;
-
-      /* The .dynstr section holds the dynamic symbol string table.
-	 The address is put in the ld_symbols field.  */
-      s = bfd_make_section_anyway_with_flags (abfd, ".dynstr",
-					      flags | SEC_READONLY);
-      if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
-	return FALSE;
-
-      sunos_hash_table (info)->dynamic_sections_created = TRUE;
-    }
-
-  if ((needed && ! sunos_hash_table (info)->dynamic_sections_needed)
-      || bfd_link_pic (info))
-    {
-      bfd *dynobj;
-
-      dynobj = sunos_hash_table (info)->dynobj;
-
-      s = bfd_get_linker_section (dynobj, ".got");
-      if (s->size == 0)
-	s->size = BYTES_IN_WORD;
-
-      sunos_hash_table (info)->dynamic_sections_needed = TRUE;
-      sunos_hash_table (info)->got_needed = TRUE;
-    }
-
-  return TRUE;
-}
-
-/* Add dynamic symbols during a link.  This is called by the a.out
-   backend linker for each object it encounters.  */
-
-static bfd_boolean
-sunos_add_dynamic_symbols (bfd *abfd,
-			   struct bfd_link_info *info,
-			   struct external_nlist **symsp,
-			   bfd_size_type *sym_countp,
-			   char **stringsp)
-{
-  bfd *dynobj;
-  struct sunos_dynamic_info *dinfo;
-  unsigned long need;
-
-  /* Make sure we have all the required sections.  */
-  if (info->output_bfd->xvec == abfd->xvec)
-    {
-      if (! sunos_create_dynamic_sections (abfd, info,
-					   ((abfd->flags & DYNAMIC) != 0
-					    && !bfd_link_relocatable (info))))
-	return FALSE;
-    }
-
-  /* There is nothing else to do for a normal object.  */
-  if ((abfd->flags & DYNAMIC) == 0)
-    return TRUE;
-
-  dynobj = sunos_hash_table (info)->dynobj;
-
-  /* We do not want to include the sections in a dynamic object in the
-     output file.  We hack by simply clobbering the list of sections
-     in the BFD.  This could be handled more cleanly by, say, a new
-     section flag; the existing SEC_NEVER_LOAD flag is not the one we
-     want, because that one still implies that the section takes up
-     space in the output file.  If this is the first object we have
-     seen, we must preserve the dynamic sections we just created.  */
-  if (abfd != dynobj)
-    abfd->sections = NULL;
-  else
-    {
-      asection *s;
-
-      for (s = abfd->sections; s != NULL; s = s->next)
-	{
-	  if ((s->flags & SEC_LINKER_CREATED) == 0)
-	    bfd_section_list_remove (abfd, s);
-	}
-    }
-
-  /* The native linker seems to just ignore dynamic objects when -r is
-     used.  */
-  if (bfd_link_relocatable (info))
-    return TRUE;
-
-  /* There's no hope of using a dynamic object which does not exactly
-     match the format of the output file.  */
-  if (info->output_bfd->xvec != abfd->xvec)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return FALSE;
-    }
-
-  /* Make sure we have a .need and a .rules sections.  These are only
-     needed if there really is a dynamic object in the link, so they
-     are not added by sunos_create_dynamic_sections.  */
-  if (bfd_get_section_by_name (dynobj, ".need") == NULL)
-    {
-      /* The .need section holds the list of names of shared objets
-	 which must be included at runtime.  The address of this
-	 section is put in the ld_need field.  */
-      flagword flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS
-			| SEC_IN_MEMORY | SEC_READONLY);
-      asection *s = bfd_make_section_with_flags (dynobj, ".need", flags);
-      if (s == NULL
-	  || ! bfd_set_section_alignment (dynobj, s, 2))
-	return FALSE;
-    }
-
-  if (bfd_get_section_by_name (dynobj, ".rules") == NULL)
-    {
-      /* The .rules section holds the path to search for shared
-	 objects.  The address of this section is put in the ld_rules
-	 field.  */
-      flagword flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS
-			| SEC_IN_MEMORY | SEC_READONLY);
-      asection *s = bfd_make_section_with_flags (dynobj, ".rules", flags);
-      if (s == NULL
-	  || ! bfd_set_section_alignment (dynobj, s, 2))
-	return FALSE;
-    }
-
-  /* Pick up the dynamic symbols and return them to the caller.  */
-  if (! sunos_slurp_dynamic_symtab (abfd))
-    return FALSE;
-
-  dinfo = (struct sunos_dynamic_info *) obj_aout_dynamic_info (abfd);
-  *symsp = dinfo->dynsym;
-  *sym_countp = dinfo->dynsym_count;
-  *stringsp = dinfo->dynstr;
-
-  /* Record information about any other objects needed by this one.  */
-  need = dinfo->dyninfo.ld_need;
-  while (need != 0)
-    {
-      bfd_byte buf[16];
-      unsigned long name, flags;
-      unsigned short major_vno, minor_vno;
-      struct bfd_link_needed_list *needed, **pp;
-      char *namebuf, *p;
-      bfd_size_type alc;
-      bfd_byte b;
-      char *namecopy;
-
-      if (bfd_seek (abfd, (file_ptr) need, SEEK_SET) != 0
-	  || bfd_bread (buf, (bfd_size_type) 16, abfd) != 16)
-	return FALSE;
-
-      /* For the format of an ld_need entry, see aout/sun4.h.  We
-	 should probably define structs for this manipulation.  */
-      name = bfd_get_32 (abfd, buf);
-      flags = bfd_get_32 (abfd, buf + 4);
-      major_vno = (unsigned short) bfd_get_16 (abfd, buf + 8);
-      minor_vno = (unsigned short) bfd_get_16 (abfd, buf + 10);
-      need = bfd_get_32 (abfd, buf + 12);
-
-      alc = sizeof (struct bfd_link_needed_list);
-      needed = bfd_alloc (abfd, alc);
-      if (needed == NULL)
-	return FALSE;
-      needed->by = abfd;
-
-      /* We return the name as [-l]name[.maj][.min].  */
-      alc = 30;
-      namebuf = bfd_malloc (alc + 1);
-      if (namebuf == NULL)
-	return FALSE;
-      p = namebuf;
-
-      if ((flags & 0x80000000) != 0)
-	{
-	  *p++ = '-';
-	  *p++ = 'l';
-	}
-      if (bfd_seek (abfd, (file_ptr) name, SEEK_SET) != 0)
-	{
-	  free (namebuf);
-	  return FALSE;
-	}
-
-      do
-	{
-	  if (bfd_bread (&b, (bfd_size_type) 1, abfd) != 1)
-	    {
-	      free (namebuf);
-	      return FALSE;
-	    }
-
-	  if ((bfd_size_type) (p - namebuf) >= alc)
-	    {
-	      char *n;
-
-	      alc *= 2;
-	      n = bfd_realloc (namebuf, alc + 1);
-	      if (n == NULL)
-		{
-		  free (namebuf);
-		  return FALSE;
-		}
-	      p = n + (p - namebuf);
-	      namebuf = n;
-	    }
-
-	  *p++ = b;
-	}
-      while (b != '\0');
-
-      if (major_vno == 0)
-	*p = '\0';
-      else
-	{
-	  char majbuf[30];
-	  char minbuf[30];
-
-	  sprintf (majbuf, ".%d", major_vno);
-	  if (minor_vno == 0)
-	    minbuf[0] = '\0';
-	  else
-	    sprintf (minbuf, ".%d", minor_vno);
-
-	  if ((p - namebuf) + strlen (majbuf) + strlen (minbuf) >= alc)
-	    {
-	      char *n;
-
-	      alc = (p - namebuf) + strlen (majbuf) + strlen (minbuf);
-	      n = bfd_realloc (namebuf, alc + 1);
-	      if (n == NULL)
-		{
-		  free (namebuf);
-		  return FALSE;
-		}
-	      p = n + (p - namebuf);
-	      namebuf = n;
-	    }
-
-	  strcpy (p, majbuf);
-	  strcat (p, minbuf);
-	}
-
-      namecopy = bfd_alloc (abfd, (bfd_size_type) strlen (namebuf) + 1);
-      if (namecopy == NULL)
-	{
-	  free (namebuf);
-	  return FALSE;
-	}
-      strcpy (namecopy, namebuf);
-      free (namebuf);
-      needed->name = namecopy;
-
-      needed->next = NULL;
-
-      for (pp = &sunos_hash_table (info)->needed;
-	   *pp != NULL;
-	   pp = &(*pp)->next)
-	;
-      *pp = needed;
-    }
-
-  return TRUE;
-}
-
-/* Function to add a single symbol to the linker hash table.  This is
-   a wrapper around _bfd_generic_link_add_one_symbol which handles the
-   tweaking needed for dynamic linking support.  */
-
-static bfd_boolean
-sunos_add_one_symbol (struct bfd_link_info *info,
-		      bfd *abfd,
-		      const char *name,
-		      flagword flags,
-		      asection *section,
-		      bfd_vma value,
-		      const char *string,
-		      bfd_boolean copy,
-		      bfd_boolean collect,
-		      struct bfd_link_hash_entry **hashp)
-{
-  struct sunos_link_hash_entry *h;
-  int new_flag;
-
-  if ((flags & (BSF_INDIRECT | BSF_WARNING | BSF_CONSTRUCTOR)) != 0
-      || ! bfd_is_und_section (section))
-    h = sunos_link_hash_lookup (sunos_hash_table (info), name, TRUE, copy,
-				FALSE);
-  else
-    h = ((struct sunos_link_hash_entry *)
-	 bfd_wrapped_link_hash_lookup (abfd, info, name, TRUE, copy, FALSE));
-  if (h == NULL)
-    return FALSE;
-
-  if (hashp != NULL)
-    *hashp = (struct bfd_link_hash_entry *) h;
-
-  /* Treat a common symbol in a dynamic object as defined in the .bss
-     section of the dynamic object.  We don't want to allocate space
-     for it in our process image.  */
-  if ((abfd->flags & DYNAMIC) != 0
-      && bfd_is_com_section (section))
-    section = obj_bsssec (abfd);
-
-  if (! bfd_is_und_section (section)
-      && h->root.root.type != bfd_link_hash_new
-      && h->root.root.type != bfd_link_hash_undefined
-      && h->root.root.type != bfd_link_hash_defweak)
-    {
-      /* We are defining the symbol, and it is already defined.  This
-	 is a potential multiple definition error.  */
-      if ((abfd->flags & DYNAMIC) != 0)
-	{
-	  /* The definition we are adding is from a dynamic object.
-	     We do not want this new definition to override the
-	     existing definition, so we pretend it is just a
-	     reference.  */
-	  section = bfd_und_section_ptr;
-	}
-      else if (h->root.root.type == bfd_link_hash_defined
-	       && h->root.root.u.def.section->owner != NULL
-	       && (h->root.root.u.def.section->owner->flags & DYNAMIC) != 0)
-	{
-	  /* The existing definition is from a dynamic object.  We
-	     want to override it with the definition we just found.
-	     Clobber the existing definition.  */
-	  h->root.root.type = bfd_link_hash_undefined;
-	  h->root.root.u.undef.abfd = h->root.root.u.def.section->owner;
-	}
-      else if (h->root.root.type == bfd_link_hash_common
-	       && (h->root.root.u.c.p->section->owner->flags & DYNAMIC) != 0)
-	{
-	  /* The existing definition is from a dynamic object.  We
-	     want to override it with the definition we just found.
-	     Clobber the existing definition.  We can't set it to new,
-	     because it is on the undefined list.  */
-	  h->root.root.type = bfd_link_hash_undefined;
-	  h->root.root.u.undef.abfd = h->root.root.u.c.p->section->owner;
-	}
-    }
-
-  if ((abfd->flags & DYNAMIC) != 0
-      && abfd->xvec == info->output_bfd->xvec
-      && (h->flags & SUNOS_CONSTRUCTOR) != 0)
-    /* The existing symbol is a constructor symbol, and this symbol
-       is from a dynamic object.  A constructor symbol is actually a
-       definition, although the type will be bfd_link_hash_undefined
-       at this point.  We want to ignore the definition from the
-       dynamic object.  */
-    section = bfd_und_section_ptr;
-  else if ((flags & BSF_CONSTRUCTOR) != 0
-	   && (abfd->flags & DYNAMIC) == 0
-	   && h->root.root.type == bfd_link_hash_defined
-	   && h->root.root.u.def.section->owner != NULL
-	   && (h->root.root.u.def.section->owner->flags & DYNAMIC) != 0)
-    /* The existing symbol is defined by a dynamic object, and this
-       is a constructor symbol.  As above, we want to force the use
-       of the constructor symbol from the regular object.  */
-    h->root.root.type = bfd_link_hash_new;
-
-  /* Do the usual procedure for adding a symbol.  */
-  if (! _bfd_generic_link_add_one_symbol (info, abfd, name, flags, section,
-					  value, string, copy, collect,
-					  hashp))
-    return FALSE;
-
-  if (abfd->xvec == info->output_bfd->xvec)
-    {
-      /* Set a flag in the hash table entry indicating the type of
-	 reference or definition we just found.  Keep a count of the
-	 number of dynamic symbols we find.  A dynamic symbol is one
-	 which is referenced or defined by both a regular object and a
-	 shared object.  */
-      if ((abfd->flags & DYNAMIC) == 0)
-	{
-	  if (bfd_is_und_section (section))
-	    new_flag = SUNOS_REF_REGULAR;
-	  else
-	    new_flag = SUNOS_DEF_REGULAR;
-	}
-      else
-	{
-	  if (bfd_is_und_section (section))
-	    new_flag = SUNOS_REF_DYNAMIC;
-	  else
-	    new_flag = SUNOS_DEF_DYNAMIC;
-	}
-      h->flags |= new_flag;
-
-      if (h->dynindx == -1
-	  && (h->flags & (SUNOS_DEF_REGULAR | SUNOS_REF_REGULAR)) != 0)
-	{
-	  ++sunos_hash_table (info)->dynsymcount;
-	  h->dynindx = -2;
-	}
-
-      if ((flags & BSF_CONSTRUCTOR) != 0
-	  && (abfd->flags & DYNAMIC) == 0)
-	h->flags |= SUNOS_CONSTRUCTOR;
-    }
-
-  return TRUE;
-}
-
-extern const bfd_target MY (vec);
-
-/* Return the list of objects needed by BFD.  */
-
-struct bfd_link_needed_list *
-bfd_sunos_get_needed_list (bfd *abfd ATTRIBUTE_UNUSED,
-			   struct bfd_link_info *info)
-{
-  if (info->output_bfd->xvec != &MY (vec))
-    return NULL;
-  return sunos_hash_table (info)->needed;
-}
-
-/* Record an assignment made to a symbol by a linker script.  We need
-   this in case some dynamic object refers to this symbol.  */
-
-bfd_boolean
-bfd_sunos_record_link_assignment (bfd *output_bfd,
-				  struct bfd_link_info *info,
-				  const char *name)
-{
-  struct sunos_link_hash_entry *h;
-
-  if (output_bfd->xvec != &MY(vec))
-    return TRUE;
-
-  /* This is called after we have examined all the input objects.  If
-     the symbol does not exist, it merely means that no object refers
-     to it, and we can just ignore it at this point.  */
-  h = sunos_link_hash_lookup (sunos_hash_table (info), name,
-			      FALSE, FALSE, FALSE);
-  if (h == NULL)
-    return TRUE;
-
-  /* In a shared library, the __DYNAMIC symbol does not appear in the
-     dynamic symbol table.  */
-  if (! bfd_link_pic (info) || strcmp (name, "__DYNAMIC") != 0)
-    {
-      h->flags |= SUNOS_DEF_REGULAR;
-
-      if (h->dynindx == -1)
-	{
-	  ++sunos_hash_table (info)->dynsymcount;
-	  h->dynindx = -2;
-	}
-    }
-
-  return TRUE;
-}
-
-/* Scan the relocs for an input section using standard relocs.  We
-   need to figure out what to do for each reloc against a dynamic
-   symbol.  If the symbol is in the .text section, an entry is made in
-   the procedure linkage table.  Note that this will do the wrong
-   thing if the symbol is actually data; I don't think the Sun 3
-   native linker handles this case correctly either.  If the symbol is
-   not in the .text section, we must preserve the reloc as a dynamic
-   reloc.  FIXME: We should also handle the PIC relocs here by
-   building global offset table entries.  */
-
-static bfd_boolean
-sunos_scan_std_relocs (struct bfd_link_info *info,
-		       bfd *abfd,
-		       asection *sec ATTRIBUTE_UNUSED,
-		       const struct reloc_std_external *relocs,
-		       bfd_size_type rel_size)
-{
-  bfd *dynobj;
-  asection *splt = NULL;
-  asection *srel = NULL;
-  struct sunos_link_hash_entry **sym_hashes;
-  const struct reloc_std_external *rel, *relend;
-
-  /* We only know how to handle m68k plt entries.  */
-  if (bfd_get_arch (abfd) != bfd_arch_m68k)
-    {
-      bfd_set_error (bfd_error_invalid_target);
-      return FALSE;
-    }
-
-  dynobj = NULL;
-
-  sym_hashes = (struct sunos_link_hash_entry **) obj_aout_sym_hashes (abfd);
-
-  relend = relocs + rel_size / RELOC_STD_SIZE;
-  for (rel = relocs; rel < relend; rel++)
-    {
-      int r_index;
-      struct sunos_link_hash_entry *h;
-
-      /* We only want relocs against external symbols.  */
-      if (bfd_header_big_endian (abfd))
-	{
-	  if ((rel->r_type[0] & RELOC_STD_BITS_EXTERN_BIG) == 0)
-	    continue;
-	}
-      else
-	{
-	  if ((rel->r_type[0] & RELOC_STD_BITS_EXTERN_LITTLE) == 0)
-	    continue;
-	}
-
-      /* Get the symbol index.  */
-      if (bfd_header_big_endian (abfd))
-	r_index = ((rel->r_index[0] << 16)
-		   | (rel->r_index[1] << 8)
-		   | rel->r_index[2]);
-      else
-	r_index = ((rel->r_index[2] << 16)
-		   | (rel->r_index[1] << 8)
-		   | rel->r_index[0]);
-
-      /* Get the hash table entry.  */
-      h = sym_hashes[r_index];
-      if (h == NULL)
-	/* This should not normally happen, but it will in any case
-	   be caught in the relocation phase.  */
-	continue;
-
-      /* At this point common symbols have already been allocated, so
-	 we don't have to worry about them.  We need to consider that
-	 we may have already seen this symbol and marked it undefined;
-	 if the symbol is really undefined, then SUNOS_DEF_DYNAMIC
-	 will be zero.  */
-      if (h->root.root.type != bfd_link_hash_defined
-	  && h->root.root.type != bfd_link_hash_defweak
-	  && h->root.root.type != bfd_link_hash_undefined)
-	continue;
-
-      if ((h->flags & SUNOS_DEF_DYNAMIC) == 0
-	  || (h->flags & SUNOS_DEF_REGULAR) != 0)
-	continue;
-
-      if (dynobj == NULL)
-	{
-	  asection *sgot;
-
-	  if (! sunos_create_dynamic_sections (abfd, info, FALSE))
-	    return FALSE;
-	  dynobj = sunos_hash_table (info)->dynobj;
-	  splt = bfd_get_linker_section (dynobj, ".plt");
-	  srel = bfd_get_linker_section (dynobj, ".dynrel");
-	  BFD_ASSERT (splt != NULL && srel != NULL);
-
-	  sgot = bfd_get_linker_section (dynobj, ".got");
-	  BFD_ASSERT (sgot != NULL);
-	  if (sgot->size == 0)
-	    sgot->size = BYTES_IN_WORD;
-	  sunos_hash_table (info)->got_needed = TRUE;
-	}
-
-      BFD_ASSERT ((h->flags & SUNOS_REF_REGULAR) != 0);
-      BFD_ASSERT (h->plt_offset != 0
-		  || ((h->root.root.type == bfd_link_hash_defined
-		       || h->root.root.type == bfd_link_hash_defweak)
-		      ? (h->root.root.u.def.section->owner->flags
-			 & DYNAMIC) != 0
-		      : (h->root.root.u.undef.abfd->flags & DYNAMIC) != 0));
-
-      /* This reloc is against a symbol defined only by a dynamic
-	 object.  */
-      if (h->root.root.type == bfd_link_hash_undefined)
-	/* Presumably this symbol was marked as being undefined by
-	   an earlier reloc.  */
-	srel->size += RELOC_STD_SIZE;
-      else if ((h->root.root.u.def.section->flags & SEC_CODE) == 0)
-	{
-	  bfd *sub;
-
-	  /* This reloc is not in the .text section.  It must be
-	     copied into the dynamic relocs.  We mark the symbol as
-	     being undefined.  */
-	  srel->size += RELOC_STD_SIZE;
-	  sub = h->root.root.u.def.section->owner;
-	  h->root.root.type = bfd_link_hash_undefined;
-	  h->root.root.u.undef.abfd = sub;
-	}
-      else
-	{
-	  /* This symbol is in the .text section.  We must give it an
-	     entry in the procedure linkage table, if we have not
-	     already done so.  We change the definition of the symbol
-	     to the .plt section; this will cause relocs against it to
-	     be handled correctly.  */
-	  if (h->plt_offset == 0)
-	    {
-	      if (splt->size == 0)
-		splt->size = M68K_PLT_ENTRY_SIZE;
-	      h->plt_offset = splt->size;
-
-	      if ((h->flags & SUNOS_DEF_REGULAR) == 0)
-		{
-		  h->root.root.u.def.section = splt;
-		  h->root.root.u.def.value = splt->size;
-		}
-
-	      splt->size += M68K_PLT_ENTRY_SIZE;
-
-	      /* We may also need a dynamic reloc entry.  */
-	      if ((h->flags & SUNOS_DEF_REGULAR) == 0)
-		srel->size += RELOC_STD_SIZE;
-	    }
-	}
-    }
-
-  return TRUE;
-}
-
-/* Scan the relocs for an input section using extended relocs.  We
-   need to figure out what to do for each reloc against a dynamic
-   symbol.  If the reloc is a WDISP30, and the symbol is in the .text
-   section, an entry is made in the procedure linkage table.
-   Otherwise, we must preserve the reloc as a dynamic reloc.  */
-
-static bfd_boolean
-sunos_scan_ext_relocs (struct bfd_link_info *info,
-		       bfd *abfd,
-		       asection *sec ATTRIBUTE_UNUSED,
-		       const struct reloc_ext_external *relocs,
-		       bfd_size_type rel_size)
-{
-  bfd *dynobj;
-  struct sunos_link_hash_entry **sym_hashes;
-  const struct reloc_ext_external *rel, *relend;
-  asection *splt = NULL;
-  asection *sgot = NULL;
-  asection *srel = NULL;
-  bfd_size_type amt;
-
-  /* We only know how to handle SPARC plt entries.  */
-  if (bfd_get_arch (abfd) != bfd_arch_sparc)
-    {
-      bfd_set_error (bfd_error_invalid_target);
-      return FALSE;
-    }
-
-  dynobj = NULL;
-
-  sym_hashes = (struct sunos_link_hash_entry **) obj_aout_sym_hashes (abfd);
-
-  relend = relocs + rel_size / RELOC_EXT_SIZE;
-  for (rel = relocs; rel < relend; rel++)
-    {
-      unsigned int r_index;
-      int r_extern;
-      int r_type;
-      struct sunos_link_hash_entry *h = NULL;
-
-      /* Swap in the reloc information.  */
-      if (bfd_header_big_endian (abfd))
-	{
-	  r_index = ((rel->r_index[0] << 16)
-		     | (rel->r_index[1] << 8)
-		     | rel->r_index[2]);
-	  r_extern = (0 != (rel->r_type[0] & RELOC_EXT_BITS_EXTERN_BIG));
-	  r_type = ((rel->r_type[0] & RELOC_EXT_BITS_TYPE_BIG)
-		    >> RELOC_EXT_BITS_TYPE_SH_BIG);
-	}
-      else
-	{
-	  r_index = ((rel->r_index[2] << 16)
-		     | (rel->r_index[1] << 8)
-		     | rel->r_index[0]);
-	  r_extern = (0 != (rel->r_type[0] & RELOC_EXT_BITS_EXTERN_LITTLE));
-	  r_type = ((rel->r_type[0] & RELOC_EXT_BITS_TYPE_LITTLE)
-		    >> RELOC_EXT_BITS_TYPE_SH_LITTLE);
-	}
-
-      if (r_extern)
-	{
-	  h = sym_hashes[r_index];
-	  if (h == NULL)
-	    {
-	      /* This should not normally happen, but it will in any
-		 case be caught in the relocation phase.  */
-	      continue;
-	    }
-	}
-
-      /* If this is a base relative reloc, we need to make an entry in
-	 the .got section.  */
-      if (r_type == RELOC_BASE10
-	  || r_type == RELOC_BASE13
-	  || r_type == RELOC_BASE22)
-	{
-	  if (dynobj == NULL)
-	    {
-	      if (! sunos_create_dynamic_sections (abfd, info, FALSE))
-		return FALSE;
-	      dynobj = sunos_hash_table (info)->dynobj;
-	      splt = bfd_get_linker_section (dynobj, ".plt");
-	      sgot = bfd_get_linker_section (dynobj, ".got");
-	      srel = bfd_get_linker_section (dynobj, ".dynrel");
-	      BFD_ASSERT (splt != NULL && sgot != NULL && srel != NULL);
-
-	      /* Make sure we have an initial entry in the .got table.  */
-	      if (sgot->size == 0)
-		sgot->size = BYTES_IN_WORD;
-	      sunos_hash_table (info)->got_needed = TRUE;
-	    }
-
-	  if (r_extern)
-	    {
-	      if (h->got_offset != 0)
-		continue;
-
-	      h->got_offset = sgot->size;
-	    }
-	  else
-	    {
-	      if (r_index >= bfd_get_symcount (abfd))
-		/* This is abnormal, but should be caught in the
-		   relocation phase.  */
-		continue;
-
-	      if (adata (abfd).local_got_offsets == NULL)
-		{
-		  amt = bfd_get_symcount (abfd);
-		  amt *= sizeof (bfd_vma);
-		  adata (abfd).local_got_offsets = bfd_zalloc (abfd, amt);
-		  if (adata (abfd).local_got_offsets == NULL)
-		    return FALSE;
-		}
-
-	      if (adata (abfd).local_got_offsets[r_index] != 0)
-		continue;
-
-	      adata (abfd).local_got_offsets[r_index] = sgot->size;
-	    }
-
-	  sgot->size += BYTES_IN_WORD;
-
-	  /* If we are making a shared library, or if the symbol is
-	     defined by a dynamic object, we will need a dynamic reloc
-	     entry.  */
-	  if (bfd_link_pic (info)
-	      || (h != NULL
-		  && (h->flags & SUNOS_DEF_DYNAMIC) != 0
-		  && (h->flags & SUNOS_DEF_REGULAR) == 0))
-	    srel->size += RELOC_EXT_SIZE;
-
-	  continue;
-	}
-
-      /* Otherwise, we are only interested in relocs against symbols
-	 defined in dynamic objects but not in regular objects.  We
-	 only need to consider relocs against external symbols.  */
-      if (! r_extern)
-	{
-	  /* But, if we are creating a shared library, we need to
-	     generate an absolute reloc.  */
-	  if (bfd_link_pic (info))
-	    {
-	      if (dynobj == NULL)
-		{
-		  if (! sunos_create_dynamic_sections (abfd, info, TRUE))
-		    return FALSE;
-		  dynobj = sunos_hash_table (info)->dynobj;
-		  splt = bfd_get_linker_section (dynobj, ".plt");
-		  sgot = bfd_get_linker_section (dynobj, ".got");
-		  srel = bfd_get_linker_section (dynobj, ".dynrel");
-		  BFD_ASSERT (splt != NULL && sgot != NULL && srel != NULL);
-		}
-
-	      srel->size += RELOC_EXT_SIZE;
-	    }
-
-	  continue;
-	}
-
-      /* At this point common symbols have already been allocated, so
-	 we don't have to worry about them.  We need to consider that
-	 we may have already seen this symbol and marked it undefined;
-	 if the symbol is really undefined, then SUNOS_DEF_DYNAMIC
-	 will be zero.  */
-      if (h->root.root.type != bfd_link_hash_defined
-	  && h->root.root.type != bfd_link_hash_defweak
-	  && h->root.root.type != bfd_link_hash_undefined)
-	continue;
-
-      if (r_type != RELOC_JMP_TBL
-	  && ! bfd_link_pic (info)
-	  && ((h->flags & SUNOS_DEF_DYNAMIC) == 0
-	      || (h->flags & SUNOS_DEF_REGULAR) != 0))
-	continue;
-
-      if (r_type == RELOC_JMP_TBL
-	  && ! bfd_link_pic (info)
-	  && (h->flags & SUNOS_DEF_DYNAMIC) == 0
-	  && (h->flags & SUNOS_DEF_REGULAR) == 0)
-	{
-	  /* This symbol is apparently undefined.  Don't do anything
-	     here; just let the relocation routine report an undefined
-	     symbol.  */
-	  continue;
-	}
-
-      if (strcmp (h->root.root.root.string, "__GLOBAL_OFFSET_TABLE_") == 0)
-	continue;
-
-      if (dynobj == NULL)
-	{
-	  if (! sunos_create_dynamic_sections (abfd, info, FALSE))
-	    return FALSE;
-	  dynobj = sunos_hash_table (info)->dynobj;
-	  splt = bfd_get_linker_section (dynobj, ".plt");
-	  sgot = bfd_get_linker_section (dynobj, ".got");
-	  srel = bfd_get_linker_section (dynobj, ".dynrel");
-	  BFD_ASSERT (splt != NULL && sgot != NULL && srel != NULL);
-
-	  /* Make sure we have an initial entry in the .got table.  */
-	  if (sgot->size == 0)
-	    sgot->size = BYTES_IN_WORD;
-	  sunos_hash_table (info)->got_needed = TRUE;
-	}
-
-      BFD_ASSERT (r_type == RELOC_JMP_TBL
-		  || bfd_link_pic (info)
-		  || (h->flags & SUNOS_REF_REGULAR) != 0);
-      BFD_ASSERT (r_type == RELOC_JMP_TBL
-		  || bfd_link_pic (info)
-		  || h->plt_offset != 0
-		  || ((h->root.root.type == bfd_link_hash_defined
-		       || h->root.root.type == bfd_link_hash_defweak)
-		      ? (h->root.root.u.def.section->owner->flags
-			 & DYNAMIC) != 0
-		      : (h->root.root.u.undef.abfd->flags & DYNAMIC) != 0));
-
-      /* This reloc is against a symbol defined only by a dynamic
-	 object, or it is a jump table reloc from PIC compiled code.  */
-
-      if (r_type != RELOC_JMP_TBL
-	  && h->root.root.type == bfd_link_hash_undefined)
-	/* Presumably this symbol was marked as being undefined by
-	   an earlier reloc.  */
-	srel->size += RELOC_EXT_SIZE;
-
-      else if (r_type != RELOC_JMP_TBL
-	       && (h->root.root.u.def.section->flags & SEC_CODE) == 0)
-	{
-	  bfd *sub;
-
-	  /* This reloc is not in the .text section.  It must be
-	     copied into the dynamic relocs.  We mark the symbol as
-	     being undefined.  */
-	  srel->size += RELOC_EXT_SIZE;
-	  if ((h->flags & SUNOS_DEF_REGULAR) == 0)
-	    {
-	      sub = h->root.root.u.def.section->owner;
-	      h->root.root.type = bfd_link_hash_undefined;
-	      h->root.root.u.undef.abfd = sub;
-	    }
-	}
-      else
-	{
-	  /* This symbol is in the .text section.  We must give it an
-	     entry in the procedure linkage table, if we have not
-	     already done so.  We change the definition of the symbol
-	     to the .plt section; this will cause relocs against it to
-	     be handled correctly.  */
-	  if (h->plt_offset == 0)
-	    {
-	      if (splt->size == 0)
-		splt->size = SPARC_PLT_ENTRY_SIZE;
-	      h->plt_offset = splt->size;
-
-	      if ((h->flags & SUNOS_DEF_REGULAR) == 0)
-		{
-		  if (h->root.root.type == bfd_link_hash_undefined)
-		    h->root.root.type = bfd_link_hash_defined;
-		  h->root.root.u.def.section = splt;
-		  h->root.root.u.def.value = splt->size;
-		}
-
-	      splt->size += SPARC_PLT_ENTRY_SIZE;
-
-	      /* We will also need a dynamic reloc entry, unless this
-		 is a JMP_TBL reloc produced by linking PIC compiled
-		 code, and we are not making a shared library.  */
-	      if (bfd_link_pic (info) || (h->flags & SUNOS_DEF_REGULAR) == 0)
-		srel->size += RELOC_EXT_SIZE;
-	    }
-
-	  /* If we are creating a shared library, we need to copy over
-	     any reloc other than a jump table reloc.  */
-	  if (bfd_link_pic (info) && r_type != RELOC_JMP_TBL)
-	    srel->size += RELOC_EXT_SIZE;
-	}
-    }
-
-  return TRUE;
-}
-
-/* Scan the relocs for an input section.  */
-
-static bfd_boolean
-sunos_scan_relocs (struct bfd_link_info *info,
-		   bfd *abfd,
-		   asection *sec,
-		   bfd_size_type rel_size)
-{
-  void * relocs;
-  void * free_relocs = NULL;
-
-  if (rel_size == 0)
-    return TRUE;
-
-  if (! info->keep_memory)
-    relocs = free_relocs = bfd_malloc (rel_size);
-  else
-    {
-      struct aout_section_data_struct *n;
-      bfd_size_type amt = sizeof (struct aout_section_data_struct);
-
-      n = bfd_alloc (abfd, amt);
-      if (n == NULL)
-	relocs = NULL;
-      else
-	{
-	  set_aout_section_data (sec, n);
-	  relocs = bfd_malloc (rel_size);
-	  aout_section_data (sec)->relocs = relocs;
-	}
-    }
-  if (relocs == NULL)
-    return FALSE;
-
-  if (bfd_seek (abfd, sec->rel_filepos, SEEK_SET) != 0
-      || bfd_bread (relocs, rel_size, abfd) != rel_size)
-    goto error_return;
-
-  if (obj_reloc_entry_size (abfd) == RELOC_STD_SIZE)
-    {
-      if (! sunos_scan_std_relocs (info, abfd, sec,
-				   (struct reloc_std_external *) relocs,
-				   rel_size))
-	goto error_return;
-    }
-  else
-    {
-      if (! sunos_scan_ext_relocs (info, abfd, sec,
-				   (struct reloc_ext_external *) relocs,
-				   rel_size))
-	goto error_return;
-    }
-
-  if (free_relocs != NULL)
-    free (free_relocs);
-
-  return TRUE;
-
- error_return:
-  if (free_relocs != NULL)
-    free (free_relocs);
-  return FALSE;
-}
-
-/* Build the hash table of dynamic symbols, and to mark as written all
-   symbols from dynamic objects which we do not plan to write out.  */
-
-static bfd_boolean
-sunos_scan_dynamic_symbol (struct sunos_link_hash_entry *h, void * data)
-{
-  struct bfd_link_info *info = (struct bfd_link_info *) data;
-
-  /* Set the written flag for symbols we do not want to write out as
-     part of the regular symbol table.  This is all symbols which are
-     not defined in a regular object file.  For some reason symbols
-     which are referenced by a regular object and defined by a dynamic
-     object do not seem to show up in the regular symbol table.  It is
-     possible for a symbol to have only SUNOS_REF_REGULAR set here, it
-     is an undefined symbol which was turned into a common symbol
-     because it was found in an archive object which was not included
-     in the link.  */
-  if ((h->flags & SUNOS_DEF_REGULAR) == 0
-      && (h->flags & SUNOS_DEF_DYNAMIC) != 0
-      && strcmp (h->root.root.root.string, "__DYNAMIC") != 0)
-    h->root.written = TRUE;
-
-  /* If this symbol is defined by a dynamic object and referenced by a
-     regular object, see whether we gave it a reasonable value while
-     scanning the relocs.  */
-  if ((h->flags & SUNOS_DEF_REGULAR) == 0
-      && (h->flags & SUNOS_DEF_DYNAMIC) != 0
-      && (h->flags & SUNOS_REF_REGULAR) != 0)
-    {
-      if ((h->root.root.type == bfd_link_hash_defined
-	   || h->root.root.type == bfd_link_hash_defweak)
-	  && ((h->root.root.u.def.section->owner->flags & DYNAMIC) != 0)
-	  && h->root.root.u.def.section->output_section == NULL)
-	{
-	  bfd *sub;
-
-	  /* This symbol is currently defined in a dynamic section
-	     which is not being put into the output file.  This
-	     implies that there is no reloc against the symbol.  I'm
-	     not sure why this case would ever occur.  In any case, we
-	     change the symbol to be undefined.  */
-	  sub = h->root.root.u.def.section->owner;
-	  h->root.root.type = bfd_link_hash_undefined;
-	  h->root.root.u.undef.abfd = sub;
-	}
-    }
-
-  /* If this symbol is defined or referenced by a regular file, add it
-     to the dynamic symbols.  */
-  if ((h->flags & (SUNOS_DEF_REGULAR | SUNOS_REF_REGULAR)) != 0)
-    {
-      asection *s;
-      size_t len;
-      bfd_byte *contents;
-      unsigned char *name;
-      unsigned long hash;
-      bfd *dynobj;
-
-      BFD_ASSERT (h->dynindx == -2);
-
-      dynobj = sunos_hash_table (info)->dynobj;
-
-      h->dynindx = sunos_hash_table (info)->dynsymcount;
-      ++sunos_hash_table (info)->dynsymcount;
-
-      len = strlen (h->root.root.root.string);
-
-      /* We don't bother to construct a BFD hash table for the strings
-	 which are the names of the dynamic symbols.  Using a hash
-	 table for the regular symbols is beneficial, because the
-	 regular symbols includes the debugging symbols, which have
-	 long names and are often duplicated in several object files.
-	 There are no debugging symbols in the dynamic symbols.  */
-      s = bfd_get_linker_section (dynobj, ".dynstr");
-      BFD_ASSERT (s != NULL);
-      contents = bfd_realloc (s->contents, s->size + len + 1);
-      if (contents == NULL)
-	return FALSE;
-      s->contents = contents;
-
-      h->dynstr_index = s->size;
-      strcpy ((char *) contents + s->size, h->root.root.root.string);
-      s->size += len + 1;
-
-      /* Add it to the dynamic hash table.  */
-      name = (unsigned char *) h->root.root.root.string;
-      hash = 0;
-      while (*name != '\0')
-	hash = (hash << 1) + *name++;
-      hash &= 0x7fffffff;
-      hash %= sunos_hash_table (info)->bucketcount;
-
-      s = bfd_get_linker_section (dynobj, ".hash");
-      BFD_ASSERT (s != NULL);
-
-      if (GET_SWORD (dynobj, s->contents + hash * HASH_ENTRY_SIZE) == -1)
-	PUT_WORD (dynobj, h->dynindx, s->contents + hash * HASH_ENTRY_SIZE);
-      else
-	{
-	  bfd_vma next;
-
-	  next = GET_WORD (dynobj,
-			   (s->contents
-			    + hash * HASH_ENTRY_SIZE
-			    + BYTES_IN_WORD));
-	  PUT_WORD (dynobj, s->size / HASH_ENTRY_SIZE,
-		    s->contents + hash * HASH_ENTRY_SIZE + BYTES_IN_WORD);
-	  PUT_WORD (dynobj, h->dynindx, s->contents + s->size);
-	  PUT_WORD (dynobj, next, s->contents + s->size + BYTES_IN_WORD);
-	  s->size += HASH_ENTRY_SIZE;
-	}
-    }
-
-  return TRUE;
-}
-
-/* Set up the sizes and contents of the dynamic sections created in
-   sunos_add_dynamic_symbols.  This is called by the SunOS linker
-   emulation before_allocation routine.  We must set the sizes of the
-   sections before the linker sets the addresses of the various
-   sections.  This unfortunately requires reading all the relocs so
-   that we can work out which ones need to become dynamic relocs.  If
-   info->keep_memory is TRUE, we keep the relocs in memory; otherwise,
-   we discard them, and will read them again later.  */
-
-bfd_boolean
-bfd_sunos_size_dynamic_sections (bfd *output_bfd,
-				 struct bfd_link_info *info,
-				 asection **sdynptr,
-				 asection **sneedptr,
-				 asection **srulesptr)
-{
-  bfd *dynobj;
-  bfd_size_type dynsymcount;
-  struct sunos_link_hash_entry *h;
-  asection *s;
-  size_t bucketcount;
-  bfd_size_type hashalloc;
-  size_t i;
-  bfd *sub;
-
-  *sdynptr = NULL;
-  *sneedptr = NULL;
-  *srulesptr = NULL;
-
-  if (bfd_link_relocatable (info))
-    return TRUE;
-
-  if (output_bfd->xvec != &MY(vec))
-    return TRUE;
-
-  /* Look through all the input BFD's and read their relocs.  It would
-     be better if we didn't have to do this, but there is no other way
-     to determine the number of dynamic relocs we need, and, more
-     importantly, there is no other way to know which symbols should
-     get an entry in the procedure linkage table.  */
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
-    {
-      if ((sub->flags & DYNAMIC) == 0
-	  && sub->xvec == output_bfd->xvec)
-	{
-	  if (! sunos_scan_relocs (info, sub, obj_textsec (sub),
-				   exec_hdr (sub)->a_trsize)
-	      || ! sunos_scan_relocs (info, sub, obj_datasec (sub),
-				      exec_hdr (sub)->a_drsize))
-	    return FALSE;
-	}
-    }
-
-  dynobj = sunos_hash_table (info)->dynobj;
-  dynsymcount = sunos_hash_table (info)->dynsymcount;
-
-  /* If there were no dynamic objects in the link, and we don't need
-     to build a global offset table, there is nothing to do here.  */
-  if (! sunos_hash_table (info)->dynamic_sections_needed
-      && ! sunos_hash_table (info)->got_needed)
-    return TRUE;
-
-  /* If __GLOBAL_OFFSET_TABLE_ was mentioned, define it.  */
-  h = sunos_link_hash_lookup (sunos_hash_table (info),
-			      "__GLOBAL_OFFSET_TABLE_", FALSE, FALSE, FALSE);
-  if (h != NULL && (h->flags & SUNOS_REF_REGULAR) != 0)
-    {
-      h->flags |= SUNOS_DEF_REGULAR;
-      if (h->dynindx == -1)
-	{
-	  ++sunos_hash_table (info)->dynsymcount;
-	  h->dynindx = -2;
-	}
-      s = bfd_get_linker_section (dynobj, ".got");
-      BFD_ASSERT (s != NULL);
-      h->root.root.type = bfd_link_hash_defined;
-      h->root.root.u.def.section = s;
-
-      /* If the .got section is more than 0x1000 bytes, we set
-	 __GLOBAL_OFFSET_TABLE_ to be 0x1000 bytes into the section,
-	 so that 13 bit relocations have a greater chance of working.  */
-      if (s->size >= 0x1000)
-	h->root.root.u.def.value = 0x1000;
-      else
-	h->root.root.u.def.value = 0;
-
-      sunos_hash_table (info)->got_base = h->root.root.u.def.value;
-    }
-
-  /* If there are any shared objects in the link, then we need to set
-     up the dynamic linking information.  */
-  if (sunos_hash_table (info)->dynamic_sections_needed)
-    {
-      *sdynptr = bfd_get_linker_section (dynobj, ".dynamic");
-
-      /* The .dynamic section is always the same size.  */
-      s = *sdynptr;
-      BFD_ASSERT (s != NULL);
-      s->size = (sizeof (struct external_sun4_dynamic)
-		      + EXTERNAL_SUN4_DYNAMIC_DEBUGGER_SIZE
-		      + sizeof (struct external_sun4_dynamic_link));
-
-      /* Set the size of the .dynsym and .hash sections.  We counted
-	 the number of dynamic symbols as we read the input files.  We
-	 will build the dynamic symbol table (.dynsym) and the hash
-	 table (.hash) when we build the final symbol table, because
-	 until then we do not know the correct value to give the
-	 symbols.  We build the dynamic symbol string table (.dynstr)
-	 in a traversal of the symbol table using
-	 sunos_scan_dynamic_symbol.  */
-      s = bfd_get_linker_section (dynobj, ".dynsym");
-      BFD_ASSERT (s != NULL);
-      s->size = dynsymcount * sizeof (struct external_nlist);
-      s->contents = bfd_alloc (output_bfd, s->size);
-      if (s->contents == NULL && s->size != 0)
-	return FALSE;
-
-      /* The number of buckets is just the number of symbols divided
-	 by four.  To compute the final size of the hash table, we
-	 must actually compute the hash table.  Normally we need
-	 exactly as many entries in the hash table as there are
-	 dynamic symbols, but if some of the buckets are not used we
-	 will need additional entries.  In the worst case, every
-	 symbol will hash to the same bucket, and we will need
-	 BUCKETCOUNT - 1 extra entries.  */
-      if (dynsymcount >= 4)
-	bucketcount = dynsymcount / 4;
-      else if (dynsymcount > 0)
-	bucketcount = dynsymcount;
-      else
-	bucketcount = 1;
-      s = bfd_get_linker_section (dynobj, ".hash");
-      BFD_ASSERT (s != NULL);
-      hashalloc = (dynsymcount + bucketcount - 1) * HASH_ENTRY_SIZE;
-      s->contents = bfd_zalloc (dynobj, hashalloc);
-      if (s->contents == NULL && dynsymcount > 0)
-	return FALSE;
-      for (i = 0; i < bucketcount; i++)
-	PUT_WORD (output_bfd, (bfd_vma) -1, s->contents + i * HASH_ENTRY_SIZE);
-      s->size = bucketcount * HASH_ENTRY_SIZE;
-
-      sunos_hash_table (info)->bucketcount = bucketcount;
-
-      /* Scan all the symbols, place them in the dynamic symbol table,
-	 and build the dynamic hash table.  We reuse dynsymcount as a
-	 counter for the number of symbols we have added so far.  */
-      sunos_hash_table (info)->dynsymcount = 0;
-      sunos_link_hash_traverse (sunos_hash_table (info),
-				sunos_scan_dynamic_symbol,
-				(void *) info);
-      BFD_ASSERT (sunos_hash_table (info)->dynsymcount == dynsymcount);
-
-      /* The SunOS native linker seems to align the total size of the
-	 symbol strings to a multiple of 8.  I don't know if this is
-	 important, but it can't hurt much.  */
-      s = bfd_get_linker_section (dynobj, ".dynstr");
-      BFD_ASSERT (s != NULL);
-      if ((s->size & 7) != 0)
-	{
-	  bfd_size_type add;
-	  bfd_byte *contents;
-
-	  add = 8 - (s->size & 7);
-	  contents = bfd_realloc (s->contents, s->size + add);
-	  if (contents == NULL)
-	    return FALSE;
-	  memset (contents + s->size, 0, (size_t) add);
-	  s->contents = contents;
-	  s->size += add;
-	}
-    }
-
-  /* Now that we have worked out the sizes of the procedure linkage
-     table and the dynamic relocs, allocate storage for them.  */
-  s = bfd_get_linker_section (dynobj, ".plt");
-  BFD_ASSERT (s != NULL);
-  if (s->size != 0)
-    {
-      s->contents = bfd_alloc (dynobj, s->size);
-      if (s->contents == NULL)
-	return FALSE;
-
-      /* Fill in the first entry in the table.  */
-      switch (bfd_get_arch (dynobj))
-	{
-	case bfd_arch_sparc:
-	  memcpy (s->contents, sparc_plt_first_entry, SPARC_PLT_ENTRY_SIZE);
-	  break;
-
-	case bfd_arch_m68k:
-	  memcpy (s->contents, m68k_plt_first_entry, M68K_PLT_ENTRY_SIZE);
-	  break;
-
-	default:
-	  abort ();
-	}
-    }
-
-  s = bfd_get_linker_section (dynobj, ".dynrel");
-  if (s->size != 0)
-    {
-      s->contents = bfd_alloc (dynobj, s->size);
-      if (s->contents == NULL)
-	return FALSE;
-    }
-  /* We use the reloc_count field to keep track of how many of the
-     relocs we have output so far.  */
-  s->reloc_count = 0;
-
-  /* Make space for the global offset table.  */
-  s = bfd_get_linker_section (dynobj, ".got");
-  s->contents = bfd_alloc (dynobj, s->size);
-  if (s->contents == NULL)
-    return FALSE;
-
-  *sneedptr = bfd_get_section_by_name (dynobj, ".need");
-  *srulesptr = bfd_get_section_by_name (dynobj, ".rules");
-
-  return TRUE;
-}
-
-/* Link a dynamic object.  We actually don't have anything to do at
-   this point.  This entry point exists to prevent the regular linker
-   code from doing anything with the object.  */
-
-static bfd_boolean
-sunos_link_dynamic_object (struct bfd_link_info *info ATTRIBUTE_UNUSED,
-			   bfd *abfd ATTRIBUTE_UNUSED)
-{
-  return TRUE;
-}
-
-/* Write out a dynamic symbol.  This is called by the final traversal
-   over the symbol table.  */
-
-static bfd_boolean
-sunos_write_dynamic_symbol (bfd *output_bfd,
-			    struct bfd_link_info *info,
-			    struct aout_link_hash_entry *harg)
-{
-  struct sunos_link_hash_entry *h = (struct sunos_link_hash_entry *) harg;
-  int type;
-  bfd_vma val;
-  asection *s;
-  struct external_nlist *outsym;
-
-  /* If this symbol is in the procedure linkage table, fill in the
-     table entry.  */
-  if (h->plt_offset != 0)
-    {
-      bfd *dynobj;
-      asection *splt;
-      bfd_byte *p;
-      bfd_vma r_address;
-
-      dynobj = sunos_hash_table (info)->dynobj;
-      splt = bfd_get_linker_section (dynobj, ".plt");
-      p = splt->contents + h->plt_offset;
-
-      s = bfd_get_linker_section (dynobj, ".dynrel");
-
-      r_address = (splt->output_section->vma
-		   + splt->output_offset
-		   + h->plt_offset);
-
-      switch (bfd_get_arch (output_bfd))
-	{
-	case bfd_arch_sparc:
-	  if (bfd_link_pic (info) || (h->flags & SUNOS_DEF_REGULAR) == 0)
-	    {
-	      bfd_put_32 (output_bfd, SPARC_PLT_ENTRY_WORD0, p);
-	      bfd_put_32 (output_bfd,
-			  (SPARC_PLT_ENTRY_WORD1
-			   + (((- (h->plt_offset + 4) >> 2)
-			       & 0x3fffffff))),
-			  p + 4);
-	      bfd_put_32 (output_bfd, SPARC_PLT_ENTRY_WORD2 + s->reloc_count,
-			  p + 8);
-	    }
-	  else
-	    {
-	      val = (h->root.root.u.def.section->output_section->vma
-		     + h->root.root.u.def.section->output_offset
-		     + h->root.root.u.def.value);
-	      bfd_put_32 (output_bfd,
-			  SPARC_PLT_PIC_WORD0 + ((val >> 10) & 0x3fffff),
-			  p);
-	      bfd_put_32 (output_bfd,
-			  SPARC_PLT_PIC_WORD1 + (val & 0x3ff),
-			  p + 4);
-	      bfd_put_32 (output_bfd, SPARC_PLT_PIC_WORD2, p + 8);
-	    }
-	  break;
-
-	case bfd_arch_m68k:
-	  if (! bfd_link_pic (info) && (h->flags & SUNOS_DEF_REGULAR) != 0)
-	    abort ();
-	  bfd_put_16 (output_bfd, M68K_PLT_ENTRY_WORD0, p);
-	  bfd_put_32 (output_bfd, (- (h->plt_offset + 2)), p + 2);
-	  bfd_put_16 (output_bfd, (bfd_vma) s->reloc_count, p + 6);
-	  r_address += 2;
-	  break;
-
-	default:
-	  abort ();
-	}
-
-      /* We also need to add a jump table reloc, unless this is the
-	 result of a JMP_TBL reloc from PIC compiled code.  */
-      if (bfd_link_pic (info) || (h->flags & SUNOS_DEF_REGULAR) == 0)
-	{
-	  BFD_ASSERT (h->dynindx >= 0);
-	  BFD_ASSERT (s->reloc_count * obj_reloc_entry_size (dynobj)
-		      < s->size);
-	  p = s->contents + s->reloc_count * obj_reloc_entry_size (output_bfd);
-	  if (obj_reloc_entry_size (output_bfd) == RELOC_STD_SIZE)
-	    {
-	      struct reloc_std_external *srel;
-
-	      srel = (struct reloc_std_external *) p;
-	      PUT_WORD (output_bfd, r_address, srel->r_address);
-	      if (bfd_header_big_endian (output_bfd))
-		{
-		  srel->r_index[0] = (bfd_byte) (h->dynindx >> 16);
-		  srel->r_index[1] = (bfd_byte) (h->dynindx >> 8);
-		  srel->r_index[2] = (bfd_byte) (h->dynindx);
-		  srel->r_type[0] = (RELOC_STD_BITS_EXTERN_BIG
-				     | RELOC_STD_BITS_JMPTABLE_BIG);
-		}
-	      else
-		{
-		  srel->r_index[2] = (bfd_byte) (h->dynindx >> 16);
-		  srel->r_index[1] = (bfd_byte) (h->dynindx >> 8);
-		  srel->r_index[0] = (bfd_byte)h->dynindx;
-		  srel->r_type[0] = (RELOC_STD_BITS_EXTERN_LITTLE
-				     | RELOC_STD_BITS_JMPTABLE_LITTLE);
-		}
-	    }
-	  else
-	    {
-	      struct reloc_ext_external *erel;
-
-	      erel = (struct reloc_ext_external *) p;
-	      PUT_WORD (output_bfd, r_address, erel->r_address);
-	      if (bfd_header_big_endian (output_bfd))
-		{
-		  erel->r_index[0] = (bfd_byte) (h->dynindx >> 16);
-		  erel->r_index[1] = (bfd_byte) (h->dynindx >> 8);
-		  erel->r_index[2] = (bfd_byte)h->dynindx;
-		  erel->r_type[0] =
-		    (RELOC_EXT_BITS_EXTERN_BIG
-		     | (RELOC_JMP_SLOT << RELOC_EXT_BITS_TYPE_SH_BIG));
-		}
-	      else
-		{
-		  erel->r_index[2] = (bfd_byte) (h->dynindx >> 16);
-		  erel->r_index[1] = (bfd_byte) (h->dynindx >> 8);
-		  erel->r_index[0] = (bfd_byte)h->dynindx;
-		  erel->r_type[0] =
-		    (RELOC_EXT_BITS_EXTERN_LITTLE
-		     | (RELOC_JMP_SLOT << RELOC_EXT_BITS_TYPE_SH_LITTLE));
-		}
-	      PUT_WORD (output_bfd, (bfd_vma) 0, erel->r_addend);
-	    }
-
-	  ++s->reloc_count;
-	}
-    }
-
-  /* If this is not a dynamic symbol, we don't have to do anything
-     else.  We only check this after handling the PLT entry, because
-     we can have a PLT entry for a nondynamic symbol when linking PIC
-     compiled code from a regular object.  */
-  if (h->dynindx < 0)
-    return TRUE;
-
-  switch (h->root.root.type)
-    {
-    default:
-    case bfd_link_hash_new:
-      abort ();
-      /* Avoid variable not initialized warnings.  */
-      return TRUE;
-    case bfd_link_hash_undefined:
-      type = N_UNDF | N_EXT;
-      val = 0;
-      break;
-    case bfd_link_hash_defined:
-    case bfd_link_hash_defweak:
-      {
-	asection *sec;
-	asection *output_section;
-
-	sec = h->root.root.u.def.section;
-	output_section = sec->output_section;
-	BFD_ASSERT (bfd_is_abs_section (output_section)
-		    || output_section->owner == output_bfd);
-	if (h->plt_offset != 0
-	    && (h->flags & SUNOS_DEF_REGULAR) == 0)
-	  {
-	    type = N_UNDF | N_EXT;
-	    val = 0;
-	  }
-	else
-	  {
-	    if (output_section == obj_textsec (output_bfd))
-	      type = (h->root.root.type == bfd_link_hash_defined
-		      ? N_TEXT
-		      : N_WEAKT);
-	    else if (output_section == obj_datasec (output_bfd))
-	      type = (h->root.root.type == bfd_link_hash_defined
-		      ? N_DATA
-		      : N_WEAKD);
-	    else if (output_section == obj_bsssec (output_bfd))
-	      type = (h->root.root.type == bfd_link_hash_defined
-		      ? N_BSS
-		      : N_WEAKB);
-	    else
-	      type = (h->root.root.type == bfd_link_hash_defined
-		      ? N_ABS
-		      : N_WEAKA);
-	    type |= N_EXT;
-	    val = (h->root.root.u.def.value
-		   + output_section->vma
-		   + sec->output_offset);
-	  }
-      }
-      break;
-    case bfd_link_hash_common:
-      type = N_UNDF | N_EXT;
-      val = h->root.root.u.c.size;
-      break;
-    case bfd_link_hash_undefweak:
-      type = N_WEAKU;
-      val = 0;
-      break;
-    case bfd_link_hash_indirect:
-    case bfd_link_hash_warning:
-      /* FIXME: Ignore these for now.  The circumstances under which
-	 they should be written out are not clear to me.  */
-      return TRUE;
-    }
-
-  s = bfd_get_linker_section (sunos_hash_table (info)->dynobj, ".dynsym");
-  BFD_ASSERT (s != NULL);
-  outsym = ((struct external_nlist *)
-	    (s->contents + h->dynindx * EXTERNAL_NLIST_SIZE));
-
-  H_PUT_8 (output_bfd, type, outsym->e_type);
-  H_PUT_8 (output_bfd, 0, outsym->e_other);
-
-  /* FIXME: The native linker doesn't use 0 for desc.  It seems to use
-     one less than the desc value in the shared library, although that
-     seems unlikely.  */
-  H_PUT_16 (output_bfd, 0, outsym->e_desc);
-
-  PUT_WORD (output_bfd, h->dynstr_index, outsym->e_strx);
-  PUT_WORD (output_bfd, val, outsym->e_value);
-
-  return TRUE;
-}
-
-/* This is called for each reloc against an external symbol.  If this
-   is a reloc which are going to copy as a dynamic reloc, then
-   copy it over, and tell the caller to not bother processing this
-   reloc.  */
-
-static bfd_boolean
-sunos_check_dynamic_reloc (struct bfd_link_info *info,
-			   bfd *input_bfd,
-			   asection *input_section,
-			   struct aout_link_hash_entry *harg,
-			   void * reloc,
-			   bfd_byte *contents ATTRIBUTE_UNUSED,
-			   bfd_boolean *skip,
-			   bfd_vma *relocationp)
-{
-  struct sunos_link_hash_entry *h = (struct sunos_link_hash_entry *) harg;
-  bfd *dynobj;
-  bfd_boolean baserel;
-  bfd_boolean jmptbl;
-  bfd_boolean pcrel;
-  asection *s;
-  bfd_byte *p;
-  long indx;
-
-  *skip = FALSE;
-
-  dynobj = sunos_hash_table (info)->dynobj;
-
-  if (h != NULL
-      && h->plt_offset != 0
-      && (bfd_link_pic (info)
-	  || (h->flags & SUNOS_DEF_REGULAR) == 0))
-    {
-      asection *splt;
-
-      /* Redirect the relocation to the PLT entry.  */
-      splt = bfd_get_linker_section (dynobj, ".plt");
-      *relocationp = (splt->output_section->vma
-		      + splt->output_offset
-		      + h->plt_offset);
-    }
-
-  if (obj_reloc_entry_size (input_bfd) == RELOC_STD_SIZE)
-    {
-      struct reloc_std_external *srel;
-
-      srel = (struct reloc_std_external *) reloc;
-      if (bfd_header_big_endian (input_bfd))
-	{
-	  baserel = (0 != (srel->r_type[0] & RELOC_STD_BITS_BASEREL_BIG));
-	  jmptbl = (0 != (srel->r_type[0] & RELOC_STD_BITS_JMPTABLE_BIG));
-	  pcrel = (0 != (srel->r_type[0] & RELOC_STD_BITS_PCREL_BIG));
-	}
-      else
-	{
-	  baserel = (0 != (srel->r_type[0] & RELOC_STD_BITS_BASEREL_LITTLE));
-	  jmptbl = (0 != (srel->r_type[0] & RELOC_STD_BITS_JMPTABLE_LITTLE));
-	  pcrel = (0 != (srel->r_type[0] & RELOC_STD_BITS_PCREL_LITTLE));
-	}
-    }
-  else
-    {
-      struct reloc_ext_external *erel;
-      int r_type;
-
-      erel = (struct reloc_ext_external *) reloc;
-      if (bfd_header_big_endian (input_bfd))
-	r_type = ((erel->r_type[0] & RELOC_EXT_BITS_TYPE_BIG)
-		  >> RELOC_EXT_BITS_TYPE_SH_BIG);
-      else
-	r_type = ((erel->r_type[0] & RELOC_EXT_BITS_TYPE_LITTLE)
-		  >> RELOC_EXT_BITS_TYPE_SH_LITTLE);
-      baserel = (r_type == RELOC_BASE10
-		 || r_type == RELOC_BASE13
-		 || r_type == RELOC_BASE22);
-      jmptbl = r_type == RELOC_JMP_TBL;
-      pcrel = (r_type == RELOC_DISP8
-	       || r_type == RELOC_DISP16
-	       || r_type == RELOC_DISP32
-	       || r_type == RELOC_WDISP30
-	       || r_type == RELOC_WDISP22);
-      /* We don't consider the PC10 and PC22 types to be PC relative,
-	 because they are pcrel_offset.  */
-    }
-
-  if (baserel)
-    {
-      bfd_vma *got_offsetp;
-      asection *sgot;
-
-      if (h != NULL)
-	got_offsetp = &h->got_offset;
-      else if (adata (input_bfd).local_got_offsets == NULL)
-	got_offsetp = NULL;
-      else
-	{
-	  struct reloc_std_external *srel;
-	  int r_index;
-
-	  srel = (struct reloc_std_external *) reloc;
-	  if (obj_reloc_entry_size (input_bfd) == RELOC_STD_SIZE)
-	    {
-	      if (bfd_header_big_endian (input_bfd))
-		r_index = ((srel->r_index[0] << 16)
-			   | (srel->r_index[1] << 8)
-			   | srel->r_index[2]);
-	      else
-		r_index = ((srel->r_index[2] << 16)
-			   | (srel->r_index[1] << 8)
-			   | srel->r_index[0]);
-	    }
-	  else
-	    {
-	      struct reloc_ext_external *erel;
-
-	      erel = (struct reloc_ext_external *) reloc;
-	      if (bfd_header_big_endian (input_bfd))
-		r_index = ((erel->r_index[0] << 16)
-			   | (erel->r_index[1] << 8)
-			   | erel->r_index[2]);
-	      else
-		r_index = ((erel->r_index[2] << 16)
-			   | (erel->r_index[1] << 8)
-			   | erel->r_index[0]);
-	    }
-
-	  got_offsetp = adata (input_bfd).local_got_offsets + r_index;
-	}
-
-      BFD_ASSERT (got_offsetp != NULL && *got_offsetp != 0);
-
-      sgot = bfd_get_linker_section (dynobj, ".got");
-
-      /* We set the least significant bit to indicate whether we have
-	 already initialized the GOT entry.  */
-      if ((*got_offsetp & 1) == 0)
-	{
-	  if (h == NULL
-	      || (! bfd_link_pic (info)
-		  && ((h->flags & SUNOS_DEF_DYNAMIC) == 0
-		      || (h->flags & SUNOS_DEF_REGULAR) != 0)))
-	    PUT_WORD (dynobj, *relocationp, sgot->contents + *got_offsetp);
-	  else
-	    PUT_WORD (dynobj, 0, sgot->contents + *got_offsetp);
-
-	  if (bfd_link_pic (info)
-	      || (h != NULL
-		  && (h->flags & SUNOS_DEF_DYNAMIC) != 0
-		  && (h->flags & SUNOS_DEF_REGULAR) == 0))
-	    {
-	      /* We need to create a GLOB_DAT or 32 reloc to tell the
-		 dynamic linker to fill in this entry in the table.  */
-
-	      s = bfd_get_linker_section (dynobj, ".dynrel");
-	      BFD_ASSERT (s != NULL);
-	      BFD_ASSERT (s->reloc_count * obj_reloc_entry_size (dynobj)
-			  < s->size);
-
-	      p = (s->contents
-		   + s->reloc_count * obj_reloc_entry_size (dynobj));
-
-	      if (h != NULL)
-		indx = h->dynindx;
-	      else
-		indx = 0;
-
-	      if (obj_reloc_entry_size (dynobj) == RELOC_STD_SIZE)
-		{
-		  struct reloc_std_external *srel;
-
-		  srel = (struct reloc_std_external *) p;
-		  PUT_WORD (dynobj,
-			    (*got_offsetp
-			     + sgot->output_section->vma
-			     + sgot->output_offset),
-			    srel->r_address);
-		  if (bfd_header_big_endian (dynobj))
-		    {
-		      srel->r_index[0] = (bfd_byte) (indx >> 16);
-		      srel->r_index[1] = (bfd_byte) (indx >> 8);
-		      srel->r_index[2] = (bfd_byte)indx;
-		      if (h == NULL)
-			srel->r_type[0] = 2 << RELOC_STD_BITS_LENGTH_SH_BIG;
-		      else
-			srel->r_type[0] =
-			  (RELOC_STD_BITS_EXTERN_BIG
-			   | RELOC_STD_BITS_BASEREL_BIG
-			   | RELOC_STD_BITS_RELATIVE_BIG
-			   | (2 << RELOC_STD_BITS_LENGTH_SH_BIG));
-		    }
-		  else
-		    {
-		      srel->r_index[2] = (bfd_byte) (indx >> 16);
-		      srel->r_index[1] = (bfd_byte) (indx >> 8);
-		      srel->r_index[0] = (bfd_byte)indx;
-		      if (h == NULL)
-			srel->r_type[0] = 2 << RELOC_STD_BITS_LENGTH_SH_LITTLE;
-		      else
-			srel->r_type[0] =
-			  (RELOC_STD_BITS_EXTERN_LITTLE
-			   | RELOC_STD_BITS_BASEREL_LITTLE
-			   | RELOC_STD_BITS_RELATIVE_LITTLE
-			   | (2 << RELOC_STD_BITS_LENGTH_SH_LITTLE));
-		    }
-		}
-	      else
-		{
-		  struct reloc_ext_external *erel;
-
-		  erel = (struct reloc_ext_external *) p;
-		  PUT_WORD (dynobj,
-			    (*got_offsetp
-			     + sgot->output_section->vma
-			     + sgot->output_offset),
-			    erel->r_address);
-		  if (bfd_header_big_endian (dynobj))
-		    {
-		      erel->r_index[0] = (bfd_byte) (indx >> 16);
-		      erel->r_index[1] = (bfd_byte) (indx >> 8);
-		      erel->r_index[2] = (bfd_byte)indx;
-		      if (h == NULL)
-			erel->r_type[0] =
-			  RELOC_32 << RELOC_EXT_BITS_TYPE_SH_BIG;
-		      else
-			erel->r_type[0] =
-			  (RELOC_EXT_BITS_EXTERN_BIG
-			   | (RELOC_GLOB_DAT << RELOC_EXT_BITS_TYPE_SH_BIG));
-		    }
-		  else
-		    {
-		      erel->r_index[2] = (bfd_byte) (indx >> 16);
-		      erel->r_index[1] = (bfd_byte) (indx >> 8);
-		      erel->r_index[0] = (bfd_byte)indx;
-		      if (h == NULL)
-			erel->r_type[0] =
-			  RELOC_32 << RELOC_EXT_BITS_TYPE_SH_LITTLE;
-		      else
-			erel->r_type[0] =
-			  (RELOC_EXT_BITS_EXTERN_LITTLE
-			   | (RELOC_GLOB_DAT
-			      << RELOC_EXT_BITS_TYPE_SH_LITTLE));
-		    }
-		  PUT_WORD (dynobj, 0, erel->r_addend);
-		}
-
-	      ++s->reloc_count;
-	    }
-
-	  *got_offsetp |= 1;
-	}
-
-      *relocationp = (sgot->vma
-		      + (*got_offsetp &~ (bfd_vma) 1)
-		      - sunos_hash_table (info)->got_base);
-
-      /* There is nothing else to do for a base relative reloc.  */
-      return TRUE;
-    }
-
-  if (! sunos_hash_table (info)->dynamic_sections_needed)
-    return TRUE;
-  if (! bfd_link_pic (info))
-    {
-      if (h == NULL
-	  || h->dynindx == -1
-	  || h->root.root.type != bfd_link_hash_undefined
-	  || (h->flags & SUNOS_DEF_REGULAR) != 0
-	  || (h->flags & SUNOS_DEF_DYNAMIC) == 0
-	  || (h->root.root.u.undef.abfd->flags & DYNAMIC) == 0)
-	return TRUE;
-    }
-  else
-    {
-      if (h != NULL
-	  && (h->dynindx == -1
-	      || jmptbl
-	      || strcmp (h->root.root.root.string,
-			 "__GLOBAL_OFFSET_TABLE_") == 0))
-	return TRUE;
-    }
-
-  /* It looks like this is a reloc we are supposed to copy.  */
-
-  s = bfd_get_linker_section (dynobj, ".dynrel");
-  BFD_ASSERT (s != NULL);
-  BFD_ASSERT (s->reloc_count * obj_reloc_entry_size (dynobj) < s->size);
-
-  p = s->contents + s->reloc_count * obj_reloc_entry_size (dynobj);
-
-  /* Copy the reloc over.  */
-  memcpy (p, reloc, obj_reloc_entry_size (dynobj));
-
-  if (h != NULL)
-    indx = h->dynindx;
-  else
-    indx = 0;
-
-  /* Adjust the address and symbol index.  */
-  if (obj_reloc_entry_size (dynobj) == RELOC_STD_SIZE)
-    {
-      struct reloc_std_external *srel;
-
-      srel = (struct reloc_std_external *) p;
-      PUT_WORD (dynobj,
-		(GET_WORD (dynobj, srel->r_address)
-		 + input_section->output_section->vma
-		 + input_section->output_offset),
-		srel->r_address);
-      if (bfd_header_big_endian (dynobj))
-	{
-	  srel->r_index[0] = (bfd_byte) (indx >> 16);
-	  srel->r_index[1] = (bfd_byte) (indx >> 8);
-	  srel->r_index[2] = (bfd_byte)indx;
-	}
-      else
-	{
-	  srel->r_index[2] = (bfd_byte) (indx >> 16);
-	  srel->r_index[1] = (bfd_byte) (indx >> 8);
-	  srel->r_index[0] = (bfd_byte)indx;
-	}
-      /* FIXME: We may have to change the addend for a PC relative
-	 reloc.  */
-    }
-  else
-    {
-      struct reloc_ext_external *erel;
-
-      erel = (struct reloc_ext_external *) p;
-      PUT_WORD (dynobj,
-		(GET_WORD (dynobj, erel->r_address)
-		 + input_section->output_section->vma
-		 + input_section->output_offset),
-		erel->r_address);
-      if (bfd_header_big_endian (dynobj))
-	{
-	  erel->r_index[0] = (bfd_byte) (indx >> 16);
-	  erel->r_index[1] = (bfd_byte) (indx >> 8);
-	  erel->r_index[2] = (bfd_byte)indx;
-	}
-      else
-	{
-	  erel->r_index[2] = (bfd_byte) (indx >> 16);
-	  erel->r_index[1] = (bfd_byte) (indx >> 8);
-	  erel->r_index[0] = (bfd_byte)indx;
-	}
-      if (pcrel && h != NULL)
-	{
-	  /* Adjust the addend for the change in address.  */
-	  PUT_WORD (dynobj,
-		    (GET_WORD (dynobj, erel->r_addend)
-		     - (input_section->output_section->vma
-			+ input_section->output_offset
-			- input_section->vma)),
-		    erel->r_addend);
-	}
-    }
-
-  ++s->reloc_count;
-
-  if (h != NULL)
-    *skip = TRUE;
-
-  return TRUE;
-}
-
-/* Finish up the dynamic linking information.  */
-
-static bfd_boolean
-sunos_finish_dynamic_link (bfd *abfd, struct bfd_link_info *info)
-{
-  bfd *dynobj;
-  asection *o;
-  asection *s;
-  asection *sdyn;
-
-  if (! sunos_hash_table (info)->dynamic_sections_needed
-      && ! sunos_hash_table (info)->got_needed)
-    return TRUE;
-
-  dynobj = sunos_hash_table (info)->dynobj;
-
-  sdyn = bfd_get_linker_section (dynobj, ".dynamic");
-  BFD_ASSERT (sdyn != NULL);
-
-  /* Finish up the .need section.  The linker emulation code filled it
-     in, but with offsets from the start of the section instead of
-     real addresses.  Now that we know the section location, we can
-     fill in the final values.  */
-  s = bfd_get_section_by_name (dynobj, ".need");
-  if (s != NULL && s->size != 0)
-    {
-      file_ptr filepos;
-      bfd_byte *p;
-
-      filepos = s->output_section->filepos + s->output_offset;
-      p = s->contents;
-      while (1)
-	{
-	  bfd_vma val;
-
-	  PUT_WORD (dynobj, GET_WORD (dynobj, p) + filepos, p);
-	  val = GET_WORD (dynobj, p + 12);
-	  if (val == 0)
-	    break;
-	  PUT_WORD (dynobj, val + filepos, p + 12);
-	  p += 16;
-	}
-    }
-
-  /* The first entry in the .got section is the address of the
-     dynamic information, unless this is a shared library.  */
-  s = bfd_get_linker_section (dynobj, ".got");
-  BFD_ASSERT (s != NULL);
-  if (bfd_link_pic (info) || sdyn->size == 0)
-    PUT_WORD (dynobj, 0, s->contents);
-  else
-    PUT_WORD (dynobj, sdyn->output_section->vma + sdyn->output_offset,
-	      s->contents);
-
-  for (o = dynobj->sections; o != NULL; o = o->next)
-    {
-      if ((o->flags & SEC_HAS_CONTENTS) != 0
-	  && o->contents != NULL)
-	{
-	  BFD_ASSERT (o->output_section != NULL
-		      && o->output_section->owner == abfd);
-	  if (! bfd_set_section_contents (abfd, o->output_section,
-					  o->contents,
-					  (file_ptr) o->output_offset,
-					  o->size))
-	    return FALSE;
-	}
-    }
-
-  if (sdyn->size > 0)
-    {
-      struct external_sun4_dynamic esd;
-      struct external_sun4_dynamic_link esdl;
-      file_ptr pos;
-
-      /* Finish up the dynamic link information.  */
-      PUT_WORD (dynobj, (bfd_vma) 3, esd.ld_version);
-      PUT_WORD (dynobj,
-		sdyn->output_section->vma + sdyn->output_offset + sizeof esd,
-		esd.ldd);
-      PUT_WORD (dynobj,
-		(sdyn->output_section->vma
-		 + sdyn->output_offset
-		 + sizeof esd
-		 + EXTERNAL_SUN4_DYNAMIC_DEBUGGER_SIZE),
-		esd.ld);
-
-      if (! bfd_set_section_contents (abfd, sdyn->output_section, &esd,
-				      (file_ptr) sdyn->output_offset,
-				      (bfd_size_type) sizeof esd))
-	return FALSE;
-
-      PUT_WORD (dynobj, (bfd_vma) 0, esdl.ld_loaded);
-
-      s = bfd_get_section_by_name (dynobj, ".need");
-      if (s == NULL || s->size == 0)
-	PUT_WORD (dynobj, (bfd_vma) 0, esdl.ld_need);
-      else
-	PUT_WORD (dynobj, s->output_section->filepos + s->output_offset,
-		  esdl.ld_need);
-
-      s = bfd_get_section_by_name (dynobj, ".rules");
-      if (s == NULL || s->size == 0)
-	PUT_WORD (dynobj, (bfd_vma) 0, esdl.ld_rules);
-      else
-	PUT_WORD (dynobj, s->output_section->filepos + s->output_offset,
-		  esdl.ld_rules);
-
-      s = bfd_get_linker_section (dynobj, ".got");
-      BFD_ASSERT (s != NULL);
-      PUT_WORD (dynobj, s->output_section->vma + s->output_offset,
-		esdl.ld_got);
-
-      s = bfd_get_linker_section (dynobj, ".plt");
-      BFD_ASSERT (s != NULL);
-      PUT_WORD (dynobj, s->output_section->vma + s->output_offset,
-		esdl.ld_plt);
-      PUT_WORD (dynobj, s->size, esdl.ld_plt_sz);
-
-      s = bfd_get_linker_section (dynobj, ".dynrel");
-      BFD_ASSERT (s != NULL);
-      BFD_ASSERT (s->reloc_count * obj_reloc_entry_size (dynobj)
-		  == s->size);
-      PUT_WORD (dynobj, s->output_section->filepos + s->output_offset,
-		esdl.ld_rel);
-
-      s = bfd_get_linker_section (dynobj, ".hash");
-      BFD_ASSERT (s != NULL);
-      PUT_WORD (dynobj, s->output_section->filepos + s->output_offset,
-		esdl.ld_hash);
-
-      s = bfd_get_linker_section (dynobj, ".dynsym");
-      BFD_ASSERT (s != NULL);
-      PUT_WORD (dynobj, s->output_section->filepos + s->output_offset,
-		esdl.ld_stab);
-
-      PUT_WORD (dynobj, (bfd_vma) 0, esdl.ld_stab_hash);
-
-      PUT_WORD (dynobj, (bfd_vma) sunos_hash_table (info)->bucketcount,
-		esdl.ld_buckets);
-
-      s = bfd_get_linker_section (dynobj, ".dynstr");
-      BFD_ASSERT (s != NULL);
-      PUT_WORD (dynobj, s->output_section->filepos + s->output_offset,
-		esdl.ld_symbols);
-      PUT_WORD (dynobj, s->size, esdl.ld_symb_size);
-
-      /* The size of the text area is the size of the .text section
-	 rounded up to a page boundary.  FIXME: Should the page size be
-	 conditional on something?  */
-      PUT_WORD (dynobj,
-		BFD_ALIGN (obj_textsec (abfd)->size, 0x2000),
-		esdl.ld_text);
-
-      pos = sdyn->output_offset;
-      pos += sizeof esd + EXTERNAL_SUN4_DYNAMIC_DEBUGGER_SIZE;
-      if (! bfd_set_section_contents (abfd, sdyn->output_section, &esdl,
-				      pos, (bfd_size_type) sizeof esdl))
-	return FALSE;
-
-      abfd->flags |= DYNAMIC;
-    }
-
-  return TRUE;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/syms.c ./bfd/syms.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/syms.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/syms.c	2018-07-10 02:06:11.000000000 +0000
@@ -1076,7 +1076,7 @@ _bfd_stab_section_find_nearest_line (bfd
 		  || r->howto->dst_mask != 0xffffffff)
 		{
 		  _bfd_error_handler
-		    (_("Unsupported .stab relocation"));
+		    (_("unsupported .stab relocation"));
 		  bfd_set_error (bfd_error_invalid_operation);
 		  if (reloc_vector != NULL)
 		    free (reloc_vector);
@@ -1427,3 +1427,117 @@ _bfd_stab_section_find_nearest_line (bfd
 
   return TRUE;
 }
+
+long
+_bfd_nosymbols_canonicalize_symtab (bfd *abfd ATTRIBUTE_UNUSED,
+				    asymbol **location ATTRIBUTE_UNUSED)
+{
+  return 0;
+}
+
+void
+_bfd_nosymbols_print_symbol (bfd *abfd ATTRIBUTE_UNUSED,
+			     void *afile ATTRIBUTE_UNUSED,
+			     asymbol *symbol ATTRIBUTE_UNUSED,
+			     bfd_print_symbol_type how ATTRIBUTE_UNUSED)
+{
+}
+
+void
+_bfd_nosymbols_get_symbol_info (bfd *abfd ATTRIBUTE_UNUSED,
+				asymbol *sym ATTRIBUTE_UNUSED,
+				symbol_info *ret ATTRIBUTE_UNUSED)
+{
+}
+
+const char *
+_bfd_nosymbols_get_symbol_version_string (bfd *abfd,
+					  asymbol *symbol ATTRIBUTE_UNUSED,
+					  bfd_boolean *hidden ATTRIBUTE_UNUSED)
+{
+  return (const char *) _bfd_ptr_bfd_null_error (abfd);
+}
+
+bfd_boolean
+_bfd_nosymbols_bfd_is_local_label_name (bfd *abfd ATTRIBUTE_UNUSED,
+					const char *name ATTRIBUTE_UNUSED)
+{
+  return FALSE;
+}
+
+alent *
+_bfd_nosymbols_get_lineno (bfd *abfd, asymbol *sym ATTRIBUTE_UNUSED)
+{
+  return (alent *) _bfd_ptr_bfd_null_error (abfd);
+}
+
+bfd_boolean
+_bfd_nosymbols_find_nearest_line
+    (bfd *abfd,
+     asymbol **symbols ATTRIBUTE_UNUSED,
+     asection *section ATTRIBUTE_UNUSED,
+     bfd_vma offset ATTRIBUTE_UNUSED,
+     const char **filename_ptr ATTRIBUTE_UNUSED,
+     const char **functionname_ptr ATTRIBUTE_UNUSED,
+     unsigned int *line_ptr ATTRIBUTE_UNUSED,
+     unsigned int *discriminator_ptr ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
+
+bfd_boolean
+_bfd_nosymbols_find_line (bfd *abfd,
+			  asymbol **symbols ATTRIBUTE_UNUSED,
+			  asymbol *symbol ATTRIBUTE_UNUSED,
+			  const char **filename_ptr ATTRIBUTE_UNUSED,
+			  unsigned int *line_ptr ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
+
+bfd_boolean
+_bfd_nosymbols_find_inliner_info
+    (bfd *abfd,
+     const char **filename_ptr ATTRIBUTE_UNUSED,
+     const char **functionname_ptr ATTRIBUTE_UNUSED,
+     unsigned int *line_ptr ATTRIBUTE_UNUSED)
+{
+  return _bfd_bool_bfd_false_error (abfd);
+}
+
+asymbol *
+_bfd_nosymbols_bfd_make_debug_symbol (bfd *abfd,
+				      void *ptr ATTRIBUTE_UNUSED,
+				      unsigned long sz ATTRIBUTE_UNUSED)
+{
+  return (asymbol *) _bfd_ptr_bfd_null_error (abfd);
+}
+
+long
+_bfd_nosymbols_read_minisymbols (bfd *abfd,
+				 bfd_boolean dynamic ATTRIBUTE_UNUSED,
+				 void **minisymsp ATTRIBUTE_UNUSED,
+				 unsigned int *sizep ATTRIBUTE_UNUSED)
+{
+  return _bfd_long_bfd_n1_error (abfd);
+}
+
+asymbol *
+_bfd_nosymbols_minisymbol_to_symbol (bfd *abfd,
+				     bfd_boolean dynamic ATTRIBUTE_UNUSED,
+				     const void *minisym ATTRIBUTE_UNUSED,
+				     asymbol *sym ATTRIBUTE_UNUSED)
+{
+  return (asymbol *) _bfd_ptr_bfd_null_error (abfd);
+}
+
+long
+_bfd_nodynamic_get_synthetic_symtab (bfd *abfd,
+				     long symcount ATTRIBUTE_UNUSED,
+				     asymbol **syms ATTRIBUTE_UNUSED,
+				     long dynsymcount ATTRIBUTE_UNUSED,
+				     asymbol **dynsyms ATTRIBUTE_UNUSED,
+				     asymbol **ret ATTRIBUTE_UNUSED)
+{
+  return _bfd_long_bfd_n1_error (abfd);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sysdep.h ./bfd/sysdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/sysdep.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/sysdep.h	2018-07-10 02:06:11.000000000 +0000
@@ -108,6 +108,10 @@ extern char *strrchr ();
 #ifndef O_ACCMODE
 #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
 #endif
+/* Systems that don't already define this, don't need it.  */
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
 
 #ifndef SEEK_SET
 #define SEEK_SET 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.1.0.20180703/bfd/targets.c ./bfd/targets.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/targets.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/targets.c	2018-07-10 02:06:11.000000000 +0000
@@ -151,9 +151,6 @@ DESCRIPTION
 .  bfd_target_ecoff_flavour,
 .  bfd_target_xcoff_flavour,
 .  bfd_target_elf_flavour,
-.  bfd_target_ieee_flavour,
-.  bfd_target_nlm_flavour,
-.  bfd_target_oasys_flavour,
 .  bfd_target_tekhex_flavour,
 .  bfd_target_srec_flavour,
 .  bfd_target_verilog_flavour,
@@ -468,6 +465,7 @@ BFD_JUMP_TABLE macros.
 .  NAME##_bfd_discard_group, \
 .  NAME##_section_already_linked, \
 .  NAME##_bfd_define_common_symbol, \
+.  NAME##_bfd_link_hide_symbol, \
 .  NAME##_bfd_define_start_stop
 .
 .  int	       (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
@@ -534,6 +532,10 @@ BFD_JUMP_TABLE macros.
 .  bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
 .					     struct bfd_link_hash_entry *);
 .
+.  {* Hide a symbol.  *}
+.  void (*_bfd_link_hide_symbol) (bfd *, struct bfd_link_info *,
+.				  struct bfd_link_hash_entry *);
+.
 .  {* Define a __start, __stop, .startof. or .sizeof. symbol.  *}
 .  struct bfd_link_hash_entry *
 .	       (*_bfd_define_start_stop) (struct bfd_link_info *, const char *,
@@ -594,24 +596,16 @@ extern const bfd_target aarch64_mach_o_v
 extern const bfd_target alpha_ecoff_le_vec;
 extern const bfd_target alpha_elf64_vec;
 extern const bfd_target alpha_elf64_fbsd_vec;
-extern const bfd_target alpha_nlm32_vec;
 extern const bfd_target alpha_vms_vec;
 extern const bfd_target alpha_vms_lib_txt_vec;
 extern const bfd_target am33_elf32_linux_vec;
-extern const bfd_target aout0_be_vec;
-extern const bfd_target aout64_vec;
 extern const bfd_target aout_vec;
-extern const bfd_target aout_adobe_vec;
 extern const bfd_target arc_elf32_be_vec;
 extern const bfd_target arc_elf32_le_vec;
-extern const bfd_target arm_aout_be_vec;
-extern const bfd_target arm_aout_le_vec;
-extern const bfd_target arm_aout_nbsd_vec;
-extern const bfd_target arm_aout_riscix_vec;
-extern const bfd_target arm_coff_be_vec;
-extern const bfd_target arm_coff_le_vec;
 extern const bfd_target arm_elf32_be_vec;
 extern const bfd_target arm_elf32_le_vec;
+extern const bfd_target arm_elf32_fdpic_be_vec;
+extern const bfd_target arm_elf32_fdpic_le_vec;
 extern const bfd_target arm_elf32_nacl_be_vec;
 extern const bfd_target arm_elf32_nacl_le_vec;
 extern const bfd_target arm_elf32_symbian_be_vec;
@@ -621,21 +615,15 @@ extern const bfd_target arm_elf32_vxwork
 extern const bfd_target arm_mach_o_vec;
 extern const bfd_target arm_pe_be_vec;
 extern const bfd_target arm_pe_le_vec;
-extern const bfd_target arm_pe_epoc_be_vec;
-extern const bfd_target arm_pe_epoc_le_vec;
 extern const bfd_target arm_pe_wince_be_vec;
 extern const bfd_target arm_pe_wince_le_vec;
 extern const bfd_target arm_pei_be_vec;
 extern const bfd_target arm_pei_le_vec;
-extern const bfd_target arm_pei_epoc_be_vec;
-extern const bfd_target arm_pei_epoc_le_vec;
 extern const bfd_target arm_pei_wince_be_vec;
 extern const bfd_target arm_pei_wince_le_vec;
 extern const bfd_target avr_elf32_vec;
 extern const bfd_target bfin_elf32_vec;
 extern const bfd_target bfin_elf32_fdpic_vec;
-extern const bfd_target bout_be_vec;
-extern const bfd_target bout_le_vec;
 extern const bfd_target cr16_elf32_vec;
 extern const bfd_target cr16c_elf32_vec;
 extern const bfd_target cris_aout_vec;
@@ -653,26 +641,17 @@ extern const bfd_target epiphany_elf32_v
 extern const bfd_target fr30_elf32_vec;
 extern const bfd_target frv_elf32_vec;
 extern const bfd_target frv_elf32_fdpic_vec;
-extern const bfd_target h8300_coff_vec;
 extern const bfd_target h8300_elf32_vec;
 extern const bfd_target h8300_elf32_linux_vec;
-extern const bfd_target h8500_coff_vec;
 extern const bfd_target hppa_elf32_vec;
 extern const bfd_target hppa_elf32_linux_vec;
 extern const bfd_target hppa_elf32_nbsd_vec;
 extern const bfd_target hppa_elf64_vec;
 extern const bfd_target hppa_elf64_linux_vec;
 extern const bfd_target hppa_som_vec;
-extern const bfd_target i370_elf32_vec;
 extern const bfd_target i386_aout_vec;
 extern const bfd_target i386_aout_bsd_vec;
-extern const bfd_target i386_aout_dynix_vec;
-extern const bfd_target i386_aout_fbsd_vec;
-extern const bfd_target i386_aout_linux_vec;
 extern const bfd_target i386_aout_lynx_vec;
-extern const bfd_target i386_aout_mach3_vec;
-extern const bfd_target i386_aout_nbsd_vec;
-extern const bfd_target i386_aout_os9k_vec;
 extern const bfd_target i386_coff_vec;
 extern const bfd_target i386_coff_go32_vec;
 extern const bfd_target i386_coff_go32stubbed_vec;
@@ -684,14 +663,9 @@ extern const bfd_target i386_elf32_sol2_
 extern const bfd_target i386_elf32_vxworks_vec;
 extern const bfd_target i386_mach_o_vec;
 extern const bfd_target i386_msdos_vec;
-extern const bfd_target i386_nlm32_vec;
 extern const bfd_target i386_pe_vec;
 extern const bfd_target i386_pei_vec;
 extern const bfd_target iamcu_elf32_vec;
-extern const bfd_target i860_coff_vec;
-extern const bfd_target i860_elf32_vec;
-extern const bfd_target i860_elf32_le_vec;
-extern const bfd_target i960_elf32_vec;
 extern const bfd_target ia64_elf32_be_vec;
 extern const bfd_target ia64_elf32_hpux_be_vec;
 extern const bfd_target ia64_elf64_be_vec;
@@ -699,9 +673,6 @@ extern const bfd_target ia64_elf64_le_ve
 extern const bfd_target ia64_elf64_hpux_be_vec;
 extern const bfd_target ia64_elf64_vms_vec;
 extern const bfd_target ia64_pei_vec;
-extern const bfd_target icoff_be_vec;
-extern const bfd_target icoff_le_vec;
-extern const bfd_target ieee_vec;
 extern const bfd_target ip2k_elf32_vec;
 extern const bfd_target iq2000_elf32_vec;
 extern const bfd_target k1om_elf64_vec;
@@ -717,23 +688,8 @@ extern const bfd_target m32r_elf32_linux
 extern const bfd_target m32r_elf32_linux_le_vec;
 extern const bfd_target m68hc11_elf32_vec;
 extern const bfd_target m68hc12_elf32_vec;
-extern const bfd_target m68k_aout_4knbsd_vec;
-extern const bfd_target m68k_aout_hp300bsd_vec;
-extern const bfd_target m68k_aout_hp300hpux_vec;
-extern const bfd_target m68k_aout_linux_vec;
-extern const bfd_target m68k_aout_nbsd_vec;
-extern const bfd_target m68k_aout_newsos3_vec;
-extern const bfd_target m68k_coff_vec;
-extern const bfd_target m68k_coff_apollo_vec;
-extern const bfd_target m68k_coff_aux_vec;
-extern const bfd_target m68k_coff_sysv_vec;
-extern const bfd_target m68k_coff_un_vec;
 extern const bfd_target m68k_elf32_vec;
-extern const bfd_target m68k_versados_vec;
-extern const bfd_target m88k_aout_mach3_vec;
-extern const bfd_target m88k_aout_obsd_vec;
-extern const bfd_target m88k_coff_bcs_vec;
-extern const bfd_target m88k_elf32_vec;
+extern const bfd_target s12z_elf32_vec;
 extern const bfd_target mach_o_be_vec;
 extern const bfd_target mach_o_le_vec;
 extern const bfd_target mach_o_fat_vec;
@@ -748,8 +704,6 @@ extern const bfd_target mep_elf32_le_vec
 extern const bfd_target metag_elf32_vec;
 extern const bfd_target microblaze_elf32_vec;
 extern const bfd_target microblaze_elf32_le_vec;
-extern const bfd_target mips_aout_be_vec;
-extern const bfd_target mips_aout_le_vec;
 extern const bfd_target mips_ecoff_be_vec;
 extern const bfd_target mips_ecoff_le_vec;
 extern const bfd_target mips_ecoff_bele_vec;
@@ -773,8 +727,6 @@ extern const bfd_target mips_elf64_trad_
 extern const bfd_target mips_elf64_trad_le_vec;
 extern const bfd_target mips_elf64_tradfbsd_be_vec;
 extern const bfd_target mips_elf64_tradfbsd_le_vec;
-extern const bfd_target mips_pe_le_vec;
-extern const bfd_target mips_pei_le_vec;
 extern const bfd_target mmix_elf64_vec;
 extern const bfd_target mmix_mmo_vec;
 extern const bfd_target mn10200_elf32_vec;
@@ -788,11 +740,11 @@ extern const bfd_target nds32_elf32_be_v
 extern const bfd_target nds32_elf32_le_vec;
 extern const bfd_target nds32_elf32_linux_be_vec;
 extern const bfd_target nds32_elf32_linux_le_vec;
+extern const bfd_target nfp_elf64_vec;
 extern const bfd_target nios2_elf32_be_vec;
 extern const bfd_target nios2_elf32_le_vec;
 extern const bfd_target ns32k_aout_pc532mach_vec;
 extern const bfd_target ns32k_aout_pc532nbsd_vec;
-extern const bfd_target oasys_vec;
 extern const bfd_target or1k_elf32_vec;
 extern const bfd_target pdp11_aout_vec;
 extern const bfd_target pef_vec;
@@ -808,7 +760,6 @@ extern const bfd_target powerpc_elf32_vx
 extern const bfd_target powerpc_elf64_vec;
 extern const bfd_target powerpc_elf64_le_vec;
 extern const bfd_target powerpc_elf64_fbsd_vec;
-extern const bfd_target powerpc_nlm32_vec;
 extern const bfd_target powerpc_pe_vec;
 extern const bfd_target powerpc_pe_le_vec;
 extern const bfd_target powerpc_pei_vec;
@@ -828,18 +779,6 @@ extern const bfd_target s390_elf32_vec;
 extern const bfd_target s390_elf64_vec;
 extern const bfd_target score_elf32_be_vec;
 extern const bfd_target score_elf32_le_vec;
-extern const bfd_target sh64_elf32_vec;
-extern const bfd_target sh64_elf32_le_vec;
-extern const bfd_target sh64_elf32_linux_vec;
-extern const bfd_target sh64_elf32_linux_be_vec;
-extern const bfd_target sh64_elf32_nbsd_vec;
-extern const bfd_target sh64_elf32_nbsd_le_vec;
-extern const bfd_target sh64_elf64_vec;
-extern const bfd_target sh64_elf64_le_vec;
-extern const bfd_target sh64_elf64_linux_vec;
-extern const bfd_target sh64_elf64_linux_be_vec;
-extern const bfd_target sh64_elf64_nbsd_vec;
-extern const bfd_target sh64_elf64_nbsd_le_vec;
 extern const bfd_target sh_coff_vec;
 extern const bfd_target sh_coff_le_vec;
 extern const bfd_target sh_coff_small_vec;
@@ -852,25 +791,16 @@ extern const bfd_target sh_elf32_linux_v
 extern const bfd_target sh_elf32_linux_be_vec;
 extern const bfd_target sh_elf32_nbsd_vec;
 extern const bfd_target sh_elf32_nbsd_le_vec;
-extern const bfd_target sh_elf32_symbian_le_vec;
 extern const bfd_target sh_elf32_vxworks_vec;
 extern const bfd_target sh_elf32_vxworks_le_vec;
 extern const bfd_target sh_pe_le_vec;
 extern const bfd_target sh_pei_le_vec;
-extern const bfd_target sparc_aout_le_vec;
-extern const bfd_target sparc_aout_linux_vec;
-extern const bfd_target sparc_aout_lynx_vec;
-extern const bfd_target sparc_aout_nbsd_vec;
-extern const bfd_target sparc_aout_sunos_be_vec;
-extern const bfd_target sparc_coff_vec;
-extern const bfd_target sparc_coff_lynx_vec;
 extern const bfd_target sparc_elf32_vec;
 extern const bfd_target sparc_elf32_sol2_vec;
 extern const bfd_target sparc_elf32_vxworks_vec;
 extern const bfd_target sparc_elf64_vec;
 extern const bfd_target sparc_elf64_fbsd_vec;
 extern const bfd_target sparc_elf64_sol2_vec;
-extern const bfd_target sparc_nlm32_vec;
 extern const bfd_target spu_elf32_vec;
 extern const bfd_target sym_vec;
 extern const bfd_target tic30_aout_vec;
@@ -903,14 +833,11 @@ extern const bfd_target v800_elf32_vec;
 extern const bfd_target v850_elf32_vec;
 extern const bfd_target ft32_elf32_vec;
 extern const bfd_target vax_aout_1knbsd_vec;
-extern const bfd_target vax_aout_bsd_vec;
 extern const bfd_target vax_aout_nbsd_vec;
 extern const bfd_target vax_elf32_vec;
 extern const bfd_target visium_elf32_vec;
-extern const bfd_target w65_coff_vec;
 extern const bfd_target wasm_vec;
 extern const bfd_target wasm32_elf32_vec;
-extern const bfd_target we32k_coff_vec;
 extern const bfd_target x86_64_coff_vec;
 extern const bfd_target x86_64_elf32_vec;
 extern const bfd_target x86_64_elf32_nacl_vec;
@@ -986,41 +913,25 @@ static const bfd_target * const _bfd_tar
 	&alpha_ecoff_le_vec,
 	&alpha_elf64_vec,
 	&alpha_elf64_fbsd_vec,
-	&alpha_nlm32_vec,
 	&alpha_vms_vec,
 #endif
 	&alpha_vms_lib_txt_vec,
 
 	&am33_elf32_linux_vec,
 
-	&aout0_be_vec,
-#ifdef BFD64
-	&aout64_vec,	/* Only compiled if host has long-long support.  */
-#endif
 #if 0
 	/* Since a.out files lack decent magic numbers, no way to recognize
 	   which kind of a.out file it is.  */
 	&aout_vec,
 #endif
-	&aout_adobe_vec,
 
 	&arc_elf32_be_vec,
 	&arc_elf32_le_vec,
 
-#if 0
-	/* We have no way of distinguishing these from other a.out variants.  */
-	&arm_aout_be_vec,
-	&arm_aout_le_vec,
-#endif
-	&arm_aout_nbsd_vec,
-#if 0
-	/* We have no way of distinguishing these from other a.out variants.  */
-	&arm_aout_riscix_vec,
-#endif
-	&arm_coff_be_vec,
-	&arm_coff_le_vec,
 	&arm_elf32_be_vec,
 	&arm_elf32_le_vec,
+	&arm_elf32_fdpic_be_vec,
+	&arm_elf32_fdpic_le_vec,
 	&arm_elf32_symbian_be_vec,
 	&arm_elf32_symbian_le_vec,
 	&arm_elf32_vxworks_be_vec,
@@ -1028,14 +939,10 @@ static const bfd_target * const _bfd_tar
 	&arm_mach_o_vec,
 	&arm_pe_be_vec,
 	&arm_pe_le_vec,
-	&arm_pe_epoc_be_vec,
-	&arm_pe_epoc_le_vec,
 	&arm_pe_wince_be_vec,
 	&arm_pe_wince_le_vec,
 	&arm_pei_be_vec,
 	&arm_pei_le_vec,
-	&arm_pei_epoc_be_vec,
-	&arm_pei_epoc_le_vec,
 	&arm_pei_wince_be_vec,
 	&arm_pei_wince_le_vec,
 
@@ -1044,9 +951,6 @@ static const bfd_target * const _bfd_tar
 	&bfin_elf32_vec,
 	&bfin_elf32_fdpic_vec,
 
-	&bout_be_vec,
-	&bout_le_vec,
-
 	&cr16_elf32_vec,
 	&cr16c_elf32_vec,
 
@@ -1079,10 +983,8 @@ static const bfd_target * const _bfd_tar
 	&frv_elf32_vec,
 	&frv_elf32_fdpic_vec,
 
-	&h8300_coff_vec,
 	&h8300_elf32_vec,
 	&h8300_elf32_linux_vec,
-	&h8500_coff_vec,
 
 	&hppa_elf32_vec,
 	&hppa_elf32_linux_vec,
@@ -1093,26 +995,9 @@ static const bfd_target * const _bfd_tar
 #endif
 	&hppa_som_vec,
 
-	&i370_elf32_vec,
-
 	&i386_aout_vec,
 	&i386_aout_bsd_vec,
-#if 0
-	&i386_aout_dynix_vec,
-#endif
-	&i386_aout_fbsd_vec,
-#if 0
-	/* Since a.out files lack decent magic numbers, no way to recognize
-	   which kind of a.out file it is.  */
-	&i386_aout_linux_vec,
-#endif
 	&i386_aout_lynx_vec,
-#if 0
-	/* No distinguishing features for Mach 3 executables.  */
-	&i386_aout_mach3_vec,
-#endif
-	&i386_aout_nbsd_vec,
-	&i386_aout_os9k_vec,
 	&i386_coff_vec,
 	&i386_coff_go32_vec,
 	&i386_coff_go32stubbed_vec,
@@ -1124,18 +1009,11 @@ static const bfd_target * const _bfd_tar
 	&i386_elf32_vxworks_vec,
 	&i386_mach_o_vec,
 	&i386_msdos_vec,
-	&i386_nlm32_vec,
 	&i386_pe_vec,
 	&i386_pei_vec,
 
 	&iamcu_elf32_vec,
 
-	&i860_coff_vec,
-	&i860_elf32_vec,
-	&i860_elf32_le_vec,
-
-	&i960_elf32_vec,
-
 #ifdef BFD64
 #if 0
 	&ia64_elf32_be_vec,
@@ -1148,11 +1026,6 @@ static const bfd_target * const _bfd_tar
 	&ia64_pei_vec,
 #endif
 
-	&icoff_be_vec,
-	&icoff_le_vec,
-
-	&ieee_vec,
-
 	&ip2k_elf32_vec,
 	&iq2000_elf32_vec,
 
@@ -1175,33 +1048,9 @@ static const bfd_target * const _bfd_tar
 	&m68hc11_elf32_vec,
 	&m68hc12_elf32_vec,
 
-#if 0
-	&m68k_aout_4knbsd_vec,
-	/* Clashes with sparc_aout_sunos_be_vec magic no.  */
-	&m68k_aout_hp300bsd_vec,
-#endif
-	&m68k_aout_hp300hpux_vec,
-#if 0
-	/* Since a.out files lack decent magic numbers, no way to recognize
-	   which kind of a.out file it is.  */
-	&m68k_aout_linux_vec,
-#endif
-	&m68k_aout_nbsd_vec,
-	&m68k_aout_newsos3_vec,
-	&m68k_coff_vec,
-#if 0
-	&m68k_coff_apollo_vec,
-	&m68k_coff_aux_vec,
-#endif
-	&m68k_coff_sysv_vec,
-	&m68k_coff_un_vec,
 	&m68k_elf32_vec,
-	&m68k_versados_vec,
 
-	&m88k_aout_mach3_vec,
-	&m88k_aout_obsd_vec,
-	&m88k_coff_bcs_vec,
-	&m88k_elf32_vec,
+	&s12z_elf32_vec,
 
 	&mach_o_be_vec,
 	&mach_o_le_vec,
@@ -1220,11 +1069,6 @@ static const bfd_target * const _bfd_tar
 
 	&microblaze_elf32_vec,
 
-#if 0
-	/* No one seems to use this.  */
-	&mips_aout_be_vec,
-#endif
-	&mips_aout_le_vec,
 	&mips_ecoff_be_vec,
 	&mips_ecoff_le_vec,
 	&mips_ecoff_bele_vec,
@@ -1250,8 +1094,6 @@ static const bfd_target * const _bfd_tar
 	&mips_elf64_tradfbsd_be_vec,
 	&mips_elf64_tradfbsd_le_vec,
 #endif
-	&mips_pe_le_vec,
-	&mips_pei_le_vec,
 
 #ifdef BFD64
 	&mmix_elf64_vec,
@@ -1274,21 +1116,16 @@ static const bfd_target * const _bfd_tar
 	&nds32_elf32_linux_be_vec,
 	&nds32_elf32_linux_le_vec,
 
+#ifdef BFD64
+	&nfp_elf64_vec,
+#endif
+
 	&nios2_elf32_be_vec,
 	&nios2_elf32_le_vec,
 
 	&ns32k_aout_pc532mach_vec,
 	&ns32k_aout_pc532nbsd_vec,
 
-#if 0
-	/* We have no oasys tools anymore, so we can't test any of this
-	   anymore. If you want to test the stuff yourself, go ahead...
-	   steve@cygnus.com
-	   Worse, since there is no magic number for archives, there
-	   can be annoying target mis-matches.  */
-	&oasys_vec,
-#endif
-
 	&or1k_elf32_vec,
 
 	&pdp11_aout_vec,
@@ -1313,7 +1150,6 @@ static const bfd_target * const _bfd_tar
 	&powerpc_elf64_le_vec,
 	&powerpc_elf64_fbsd_vec,
 #endif
-	&powerpc_nlm32_vec,
 	&powerpc_pe_vec,
 	&powerpc_pe_le_vec,
 	&powerpc_pei_vec,
@@ -1351,20 +1187,6 @@ static const bfd_target * const _bfd_tar
 	&score_elf32_le_vec,
 #endif
 
-#ifdef BFD64
-	&sh64_elf32_vec,
-	&sh64_elf32_le_vec,
-	&sh64_elf32_linux_vec,
-	&sh64_elf32_linux_be_vec,
-	&sh64_elf32_nbsd_vec,
-	&sh64_elf32_nbsd_le_vec,
-	&sh64_elf64_vec,
-	&sh64_elf64_le_vec,
-	&sh64_elf64_linux_vec,
-	&sh64_elf64_linux_be_vec,
-	&sh64_elf64_nbsd_vec,
-	&sh64_elf64_nbsd_le_vec,
-#endif
 	&sh_coff_vec,
 	&sh_coff_le_vec,
 	&sh_coff_small_vec,
@@ -1377,19 +1199,11 @@ static const bfd_target * const _bfd_tar
 	&sh_elf32_linux_be_vec,
 	&sh_elf32_nbsd_vec,
 	&sh_elf32_nbsd_le_vec,
-	&sh_elf32_symbian_le_vec,
 	&sh_elf32_vxworks_vec,
 	&sh_elf32_vxworks_le_vec,
 	&sh_pe_le_vec,
 	&sh_pei_le_vec,
 
-	&sparc_aout_le_vec,
-	&sparc_aout_linux_vec,
-	&sparc_aout_lynx_vec,
-	&sparc_aout_nbsd_vec,
-	&sparc_aout_sunos_be_vec,
-	&sparc_coff_vec,
-	&sparc_coff_lynx_vec,
 	&sparc_elf32_vec,
 	&sparc_elf32_sol2_vec,
 	&sparc_elf32_vxworks_vec,
@@ -1398,7 +1212,6 @@ static const bfd_target * const _bfd_tar
 	&sparc_elf64_fbsd_vec,
 	&sparc_elf64_sol2_vec,
 #endif
-	&sparc_nlm32_vec,
 
 	&spu_elf32_vec,
 
@@ -1430,19 +1243,14 @@ static const bfd_target * const _bfd_tar
 	&v850_elf32_vec,
 
 	&vax_aout_1knbsd_vec,
-	&vax_aout_bsd_vec,
 	&vax_aout_nbsd_vec,
 	&vax_elf32_vec,
 
 	&visium_elf32_vec,
 
-	&w65_coff_vec,
-
 	&wasm_vec,
 	&wasm32_elf32_vec,
 
-	&we32k_coff_vec,
-
 #ifdef BFD64
 	&x86_64_coff_vec,
 	&x86_64_elf32_vec,
@@ -1893,9 +1701,6 @@ bfd_flavour_name (enum bfd_flavour flavo
     case bfd_target_ecoff_flavour: return "ECOFF";
     case bfd_target_xcoff_flavour: return "XCOFF";
     case bfd_target_elf_flavour: return "ELF";
-    case bfd_target_ieee_flavour: return "IEEE";
-    case bfd_target_nlm_flavour: return "NLM";
-    case bfd_target_oasys_flavour: return "Oasys";
     case bfd_target_tekhex_flavour: return "Tekhex";
     case bfd_target_srec_flavour: return "Srec";
     case bfd_target_verilog_flavour: return "Verilog";
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/tekhex.c ./bfd/tekhex.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/tekhex.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/tekhex.c	2018-07-10 02:06:11.000000000 +0000
@@ -962,7 +962,7 @@ tekhex_print_symbol (bfd *abfd,
 #define	tekhex_close_and_cleanup		    _bfd_generic_close_and_cleanup
 #define tekhex_bfd_free_cached_info		    _bfd_generic_bfd_free_cached_info
 #define tekhex_new_section_hook			    _bfd_generic_new_section_hook
-#define tekhex_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define tekhex_bfd_is_target_special_symbol	    _bfd_bool_bfd_asymbol_false
 #define tekhex_bfd_is_local_label_name		     bfd_generic_is_local_label_name
 #define tekhex_get_lineno			    _bfd_nosymbols_get_lineno
 #define tekhex_find_nearest_line		    _bfd_nosymbols_find_nearest_line
@@ -981,6 +981,7 @@ tekhex_print_symbol (bfd *abfd,
 #define tekhex_bfd_discard_group		    bfd_generic_discard_group
 #define tekhex_section_already_linked		    _bfd_generic_section_already_linked
 #define tekhex_bfd_define_common_symbol		    bfd_generic_define_common_symbol
+#define tekhex_bfd_link_hide_symbol		    _bfd_generic_link_hide_symbol
 #define tekhex_bfd_define_start_stop		    bfd_generic_define_start_stop
 #define tekhex_bfd_link_hash_table_create	    _bfd_generic_link_hash_table_create
 #define tekhex_bfd_link_add_symbols		    _bfd_generic_link_add_symbols
@@ -1020,16 +1021,16 @@ const bfd_target tekhex_vec =
     _bfd_dummy_target,
   },
   {
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     tekhex_mkobject,
     _bfd_generic_mkarchive,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents.  */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     tekhex_write_object_contents,
     _bfd_write_archive_contents,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (tekhex),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/trad-core.c ./bfd/trad-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/trad-core.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/trad-core.c	2018-07-10 02:06:11.000000000 +0000
@@ -293,12 +293,16 @@ const bfd_target core_trad_vec =
       trad_unix_core_file_p		/* a core file */
     },
     {				/* bfd_set_format */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
     {				/* bfd_write_contents */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/vaxbsd.c ./bfd/vaxbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/vaxbsd.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/vaxbsd.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,40 +0,0 @@
-/* BFD back-end for BSD and Ultrix/VAX (1K page size) a.out-ish binaries.
-   Copyright (C) 2002-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define N_HEADER_IN_TEXT(x) 0
-#define ENTRY_CAN_BE_ZERO
-#define TEXT_START_ADDR 0
-#define TARGET_PAGE_SIZE 1024
-#define SEGMENT_SIZE TARGET_PAGE_SIZE
-#define DEFAULT_ARCH bfd_arch_vax
-
-/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
-   remove whitespace added here, and thus will fail to concatenate the
-   tokens.  */
-#define MY(OP) CONCAT2 (vax_aout_bsd_,OP)
-
-#define TARGETNAME "a.out-vax-bsd"
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "libaout.h"
-
-#include "aout-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/verilog.c ./bfd/verilog.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/verilog.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/verilog.c	2018-07-10 02:06:11.000000000 +0000
@@ -293,7 +293,7 @@ verilog_mkobject (bfd *abfd)
 #define verilog_close_and_cleanup		     _bfd_generic_close_and_cleanup
 #define verilog_bfd_free_cached_info		     _bfd_generic_bfd_free_cached_info
 #define verilog_new_section_hook		     _bfd_generic_new_section_hook
-#define verilog_bfd_is_target_special_symbol	     ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define verilog_bfd_is_target_special_symbol	     _bfd_bool_bfd_asymbol_false
 #define verilog_bfd_is_local_label_name		     bfd_generic_is_local_label_name
 #define verilog_get_lineno			     _bfd_nosymbols_get_lineno
 #define verilog_find_nearest_line		     _bfd_nosymbols_find_nearest_line
@@ -345,16 +345,16 @@ const bfd_target verilog_vec =
     _bfd_dummy_target,
   },
   {
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     verilog_mkobject,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents.  */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     verilog_write_object_contents,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (_bfd_generic),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/versados.c ./bfd/versados.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/versados.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/versados.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,939 +0,0 @@
-/* BFD back-end for VERSAdos-E objects.
-   Copyright (C) 1995-2018 Free Software Foundation, Inc.
-   Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
-
-   Versados is a Motorola trademark.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/*
-   SUBSECTION
-   VERSAdos-E relocatable object file format
-
-   DESCRIPTION
-
-   This module supports reading of VERSAdos relocatable
-   object files.
-
-   A VERSAdos file looks like contains
-
-   o Identification Record
-   o External Symbol Definition Record
-   o Object Text Record
-   o End Record.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "libiberty.h"
-
-
-#define VHEADER '1'
-#define VESTDEF '2'
-#define VOTR '3'
-#define VEND '4'
-
-#define ES_BASE 17		/* First symbol has esdid 17.  */
-
-/* Per file target dependent information.  */
-
-/* One for each section.  */
-struct esdid
-{
-  asection *section;		/* Ptr to bfd version.  */
-  unsigned char *contents;	/* Used to build image.  */
-  bfd_size_type content_size;	/* The size of the contents buffer.  */
-  int pc;
-  int relocs;			/* Reloc count, valid end of pass 1.  */
-  int donerel;			/* Have relocs been translated.  */
-};
-
-typedef struct versados_data_struct
-{
-  int es_done;			/* Count of symbol index, starts at ES_BASE.  */
-  asymbol *symbols;		/* Pointer to local symbols.  */
-  char *strings;		/* Strings of all the above.  */
-  int stringlen;		/* Len of string table (valid end of pass1).  */
-  int nsecsyms;			/* Number of sections.  */
-
-  int ndefs;			/* Number of exported symbols (they dont get esdids).  */
-  int nrefs;			/* Number of imported symbols  (valid end of pass1).  */
-
-  int ref_idx;			/* Current processed value of the above.  */
-  int def_idx;
-
-  int pass_2_done;
-
-  struct esdid e[16];		/* Per section info.  */
-  int alert;			/* To see if we're trampling.  */
-  asymbol *rest[256 - 16];	/* Per symbol info.  */
-}
-tdata_type;
-
-#define VDATA(abfd)       (abfd->tdata.versados_data)
-#define EDATA(abfd, n)    (abfd->tdata.versados_data->e[(n) < 16 ? (n) : 0])
-#define RDATA(abfd, n)    (abfd->tdata.versados_data->rest[(n) < 240 ? (n) : 0])
-
-struct ext_otr
-{
-  unsigned char size;
-  char type;
-  unsigned char map[4];
-  unsigned char esdid;
-  unsigned char data[200];
-};
-
-struct ext_vheader
-{
-  unsigned char size;
-  char type;			/* Record type.  */
-  char name[10];		/* Module name.  */
-  char rev;			/* Module rev number.  */
-  char lang;
-  char vol[4];
-  char user[2];
-  char cat[8];
-  char fname[8];
-  char ext[2];
-  char time[3];
-  char date[3];
-  char rest[211];
-};
-
-struct ext_esd
-{
-  unsigned char size;
-  char type;
-  unsigned char esd_entries[1];
-};
-
-#define ESD_ABS		  0
-#define ESD_COMMON	  1
-#define ESD_STD_REL_SEC   2
-#define ESD_SHRT_REL_SEC  3
-#define ESD_XDEF_IN_SEC   4
-#define ESD_XDEF_IN_ABS   5
-#define ESD_XREF_SEC	  6
-#define ESD_XREF_SYM      7
-
-union ext_any
-{
-  unsigned char size;
-  struct ext_vheader header;
-  struct ext_esd esd;
-  struct ext_otr otr;
-};
-
-/* Initialize by filling in the hex conversion array.  */
-
-/* Set up the tdata information.  */
-
-static bfd_boolean
-versados_mkobject (bfd *abfd)
-{
-  if (abfd->tdata.versados_data == NULL)
-    {
-      bfd_size_type amt = sizeof (tdata_type);
-      tdata_type *tdata = bfd_zalloc (abfd, amt);
-
-      if (tdata == NULL)
-	return FALSE;
-      abfd->tdata.versados_data = tdata;
-      tdata->symbols = NULL;
-      VDATA (abfd)->alert = 0x12345678;
-    }
-
-  bfd_default_set_arch_mach (abfd, bfd_arch_m68k, 0);
-  return TRUE;
-}
-
-/* Report a problem in an S record file.  FIXME: This probably should
-   not call fprintf, but we really do need some mechanism for printing
-   error messages.  */
-
-static asymbol *
-versados_new_symbol (bfd *abfd,
-		     int snum,
-		     const char *name,
-		     bfd_vma val,
-		     asection *sec)
-{
-  asymbol *n = VDATA (abfd)->symbols + snum;
-  n->name = name;
-  n->value = val;
-  n->section = sec;
-  n->the_bfd = abfd;
-  n->flags = 0;
-  return n;
-}
-
-static bfd_boolean
-get_record (bfd *abfd, union ext_any *ptr)
-{
-  if (bfd_bread (&ptr->size, (bfd_size_type) 1, abfd) != 1
-      || (bfd_bread ((char *) ptr + 1, (bfd_size_type) ptr->size, abfd)
-	  != ptr->size))
-    return FALSE;
-
-  {
-    bfd_size_type amt = ptr->size + 1;
-
-    if (amt < sizeof (* ptr))
-      memset ((char *) ptr + amt, 0, sizeof (* ptr) - amt);
-  }
-
-  return TRUE;
-}
-
-static int
-get_4 (unsigned char **pp)
-{
-  unsigned char *p = *pp;
-
-  *pp += 4;
-  return (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | (p[3] << 0);
-}
-
-static void
-get_10 (unsigned char **pp, char *name)
-{
-  char *p = (char *) *pp;
-  int len = 10;
-
-  *pp += len;
-  while (*p != ' ' && len)
-    {
-      *name++ = *p++;
-      len--;
-    }
-  *name = 0;
-}
-
-static char *
-new_symbol_string (bfd *abfd, const char *name)
-{
-  char *n = VDATA (abfd)->strings;
-
-  strcpy (VDATA (abfd)->strings, name);
-  VDATA (abfd)->strings += strlen (VDATA (abfd)->strings) + 1;
-  return n;
-}
-
-static void
-process_esd (bfd *abfd, struct ext_esd *esd, int pass)
-{
-  /* Read through the ext def for the est entries.  */
-  int togo = esd->size - 2;
-  bfd_vma size;
-  bfd_vma start;
-  asection *sec;
-  char name[11];
-  unsigned char *ptr = esd->esd_entries;
-  unsigned char *end = ptr + togo;
-
-  while (ptr < end)
-    {
-      int scn = *ptr & 0xf;
-      int typ = (*ptr >> 4) & 0xf;
-
-      /* Declare this section.  */
-      sprintf (name, "%d", scn);
-      sec = bfd_make_section_old_way (abfd, strdup (name));
-      sec->target_index = scn;
-      EDATA (abfd, scn).section = sec;
-      ptr++;
-
-      switch (typ)
-	{
-	default:
-	  abort ();
-	case ESD_XREF_SEC:
-	case ESD_XREF_SYM:
-	  {
-	    int snum = VDATA (abfd)->ref_idx++;
-	    get_10 (&ptr, name);
-	    if (pass == 1)
-	      VDATA (abfd)->stringlen += strlen (name) + 1;
-	    else
-	      {
-		int esidx;
-		asymbol *s;
-		char *n = new_symbol_string (abfd, name);
-
-		s = versados_new_symbol (abfd, snum, n, (bfd_vma) 0,
-					 bfd_und_section_ptr);
-		esidx = VDATA (abfd)->es_done++;
-		RDATA (abfd, esidx - ES_BASE) = s;
-	      }
-	  }
-	  break;
-
-	case ESD_ABS:
-	  size = get_4 (&ptr);
-	  (void) size;
-	  start = get_4 (&ptr);
-	  (void) start;
-	  break;
-	case ESD_STD_REL_SEC:
-	case ESD_SHRT_REL_SEC:
-	  sec->size = get_4 (&ptr);
-	  sec->flags |= SEC_ALLOC;
-	  break;
-	case ESD_XDEF_IN_ABS:
-	  sec = bfd_abs_section_ptr;
-	  /* Fall through.  */
-	case ESD_XDEF_IN_SEC:
-	  {
-	    int snum = VDATA (abfd)->def_idx++;
-	    bfd_vma val;
-
-	    get_10 (&ptr, name);
-	    val = get_4 (&ptr);
-	    if (pass == 1)
-	      /* Just remember the symbol.  */
-	      VDATA (abfd)->stringlen += strlen (name) + 1;
-	    else
-	      {
-		asymbol *s;
-		char *n = new_symbol_string (abfd, name);
-
-		s = versados_new_symbol (abfd, snum + VDATA (abfd)->nrefs, n,
-					 val, sec);
-		s->flags |= BSF_GLOBAL;
-	      }
-	  }
-	  break;
-	}
-    }
-}
-
-#define R_RELWORD     1
-#define R_RELLONG     2
-#define R_RELWORD_NEG 3
-#define R_RELLONG_NEG 4
-
-reloc_howto_type versados_howto_table[] =
-{
-  HOWTO (R_RELWORD, 0, 1, 16, FALSE,
-	 0, complain_overflow_dont, 0,
-	 "+v16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (R_RELLONG, 0, 2, 32, FALSE,
-	 0, complain_overflow_dont, 0,
-	 "+v32", TRUE, 0xffffffff, 0xffffffff, FALSE),
-
-  HOWTO (R_RELWORD_NEG, 0, -1, 16, FALSE,
-	 0, complain_overflow_dont, 0,
-	 "-v16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
-  HOWTO (R_RELLONG_NEG, 0, -2, 32, FALSE,
-	 0, complain_overflow_dont, 0,
-	 "-v32", TRUE, 0xffffffff, 0xffffffff, FALSE),
-};
-
-static int
-get_offset (unsigned int len, unsigned char *ptr)
-{
-  int val = 0;
-
-  if (len)
-    {
-      unsigned int i;
-
-      val = *ptr++;
-      if (val & 0x80)
-	val |= ~0xff;
-      for (i = 1; i < len; i++)
-	val = (val << 8) | *ptr++;
-    }
-
-  return val;
-}
-
-static void
-process_otr (bfd *abfd, struct ext_otr *otr, int pass)
-{
-  unsigned long shift;
-  unsigned char *srcp = otr->data;
-  unsigned char *endp = (unsigned char *) otr + otr->size;
-  unsigned int bits = (otr->map[0] << 24)
-  | (otr->map[1] << 16)
-  | (otr->map[2] << 8)
-  | (otr->map[3] << 0);
-
-  struct esdid *esdid;
-  unsigned char *contents;
-  bfd_boolean need_contents = FALSE;
-  unsigned int dst_idx;
-
-  /* PR 17512: file: ac7da425.  */
-  if (otr->esdid == 0)
-    return;
-
-  esdid = &EDATA (abfd, otr->esdid - 1);
-  contents = esdid->contents;
-  dst_idx = esdid->pc;
-
-  for (shift = ((unsigned long) 1 << 31); shift && srcp < endp; shift >>= 1)
-    {
-      if (bits & shift)
-	{
-	  int flag = *srcp++;
-	  int esdids = (flag >> 5) & 0x7;
-	  int sizeinwords = ((flag >> 3) & 1) ? 2 : 1;
-	  unsigned int offsetlen = flag & 0x7;
-	  int j;
-
-	  /* PR 21591: Check for invalid lengths.  */
-	  if (srcp + esdids + offsetlen >= endp)
-	    return;
-
-	  if (esdids == 0)
-	    {
-	      /* A zero esdid means the new pc is the offset given.  */
-	      dst_idx += get_offset (offsetlen, srcp);
-	      srcp += offsetlen;
-	    }
-	  else
-	    {
-	      int val = get_offset (offsetlen, srcp + esdids);
-
-	      if (pass == 1)
-		need_contents = TRUE;
-	      else if (contents && dst_idx < esdid->content_size - sizeinwords * 2)
-		for (j = 0; j < sizeinwords * 2; j++)
-		  {
-		    contents[dst_idx + (sizeinwords * 2) - j - 1] = val;
-		    val >>= 8;
-		  }
-
-	      for (j = 0; j < esdids; j++)
-		{
-		  int id = *srcp++;
-
-		  if (id)
-		    {
-		      int rn = EDATA (abfd, otr->esdid - 1).relocs++;
-
-		      if (pass == 1)
-			{
-			  /* This is the first pass over the data,
-			     just remember that we need a reloc.  */
-			}
-		      else
-			{
-			  arelent *n;
-
-			  /* PR 17512: file: 54f733e0.  */
-			  if (EDATA (abfd, otr->esdid - 1).section == NULL)
-			    continue;
-			  n = EDATA (abfd, otr->esdid - 1).section->relocation + rn;
-			  n->address = dst_idx;
-			  n->sym_ptr_ptr = (asymbol **) (size_t) id;
-			  n->addend = 0;
-			  n->howto = versados_howto_table + ((j & 1) * 2) + (sizeinwords - 1);
-			}
-		    }
-		}
-	      srcp += offsetlen;
-	      dst_idx += sizeinwords * 2;
-	    }
-	}
-      else
-	{
-	  need_contents = TRUE;
-
-	  if (esdid->section && contents && dst_idx < esdid->content_size - 1)
-	    if (pass == 2)
-	      {
-		/* Absolute code, comes in 16 bit lumps.  */
-		contents[dst_idx] = srcp[0];
-		contents[dst_idx + 1] = srcp[1];
-	      }
-
-	  dst_idx += 2;
-	  srcp += 2;
-	}
-    }
-
-  EDATA (abfd, otr->esdid - 1).pc = dst_idx;
-
-  if (!contents && need_contents)
-    {
-      if (esdid->section)
-	{
-	  bfd_size_type size;
-
-	  size = esdid->section->size;
-	  esdid->contents = bfd_alloc (abfd, size);
-	  esdid->content_size = size;
-	}
-      else
-	esdid->contents = NULL;
-    }
-}
-
-static bfd_boolean
-versados_scan (bfd *abfd)
-{
-  bfd_boolean loop = TRUE;
-  int i;
-  int j;
-  int nsecs = 0;
-  bfd_size_type amt;
-
-  VDATA (abfd)->stringlen = 0;
-  VDATA (abfd)->nrefs = 0;
-  VDATA (abfd)->ndefs = 0;
-  VDATA (abfd)->ref_idx = 0;
-  VDATA (abfd)->def_idx = 0;
-  VDATA (abfd)->pass_2_done = 0;
-
-  while (loop)
-    {
-      union ext_any any;
-
-      if (!get_record (abfd, &any))
-	return FALSE;
-      switch (any.header.type)
-	{
-	case VHEADER:
-	  break;
-	case VEND:
-	  loop = FALSE;
-	  break;
-	case VESTDEF:
-	  process_esd (abfd, &any.esd, 1);
-	  break;
-	case VOTR:
-	  process_otr (abfd, &any.otr, 1);
-	  break;
-	}
-    }
-
-  /* Now allocate space for the relocs and sections.  */
-  VDATA (abfd)->nrefs = VDATA (abfd)->ref_idx;
-  VDATA (abfd)->ndefs = VDATA (abfd)->def_idx;
-  VDATA (abfd)->ref_idx = 0;
-  VDATA (abfd)->def_idx = 0;
-
-  abfd->symcount = VDATA (abfd)->nrefs + VDATA (abfd)->ndefs;
-
-  for (i = 0; i < 16; i++)
-    {
-      struct esdid *esdid = &EDATA (abfd, i);
-
-      if (esdid->section)
-	{
-	  amt = (bfd_size_type) esdid->relocs * sizeof (arelent);
-	  esdid->section->relocation = bfd_alloc (abfd, amt);
-	  esdid->pc = 0;
-
-	  if (esdid->contents)
-	    esdid->section->flags |= SEC_HAS_CONTENTS | SEC_LOAD;
-
-	  esdid->section->reloc_count = esdid->relocs;
-	  if (esdid->relocs)
-	    esdid->section->flags |= SEC_RELOC;
-
-	  esdid->relocs = 0;
-
-	  /* Add an entry into the symbol table for it.  */
-	  nsecs++;
-	  VDATA (abfd)->stringlen += strlen (esdid->section->name) + 1;
-	}
-    }
-
-  abfd->symcount += nsecs;
-
-  amt = abfd->symcount;
-  amt *= sizeof (asymbol);
-  VDATA (abfd)->symbols = bfd_alloc (abfd, amt);
-
-  amt = VDATA (abfd)->stringlen;
-  VDATA (abfd)->strings = bfd_alloc (abfd, amt);
-
-  if ((VDATA (abfd)->symbols == NULL && abfd->symcount > 0)
-      || (VDATA (abfd)->strings == NULL && VDATA (abfd)->stringlen > 0))
-    return FALSE;
-
-  /* Actually fill in the section symbols,
-     we stick them at the end of the table.  */
-  for (j = VDATA (abfd)->nrefs + VDATA (abfd)->ndefs, i = 0; i < 16; i++)
-    {
-      struct esdid *esdid = &EDATA (abfd, i);
-      asection *sec = esdid->section;
-
-      if (sec)
-	{
-	  asymbol *s = VDATA (abfd)->symbols + j;
-	  s->name = new_symbol_string (abfd, sec->name);
-	  s->section = sec;
-	  s->flags = BSF_LOCAL;
-	  s->value = 0;
-	  s->the_bfd = abfd;
-	  j++;
-	}
-    }
-
-  if (abfd->symcount)
-    abfd->flags |= HAS_SYMS;
-
-  /* Set this to nsecs - since we've already planted the section
-     symbols.  */
-  VDATA (abfd)->nsecsyms = nsecs;
-
-  VDATA (abfd)->ref_idx = 0;
-
-  return TRUE;
-}
-
-/* Check whether an existing file is a versados  file.  */
-
-static const bfd_target *
-versados_object_p (bfd *abfd)
-{
-  struct ext_vheader ext;
-  unsigned char len;
-  tdata_type *tdata_save;
-
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
-    return NULL;
-
-  if (bfd_bread (&len, (bfd_size_type) 1, abfd) != 1)
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-	bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  /* PR 17512: file: 726-2128-0.004.  */
-  if (len < 13)
-    {
-      bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  if (bfd_bread (&ext.type, (bfd_size_type) len, abfd) != len)
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-	bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  /* We guess that the language field will never be larger than 10.
-     In sample files, it is always either 0 or 1.  Checking for this
-     prevents confusion with Intel Hex files.  */
-  if (ext.type != VHEADER
-      || ext.lang > 10)
-    {
-      bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  /* OK, looks like a record, build the tdata and read in.  */
-  tdata_save = abfd->tdata.versados_data;
-  if (!versados_mkobject (abfd) || !versados_scan (abfd))
-    {
-      abfd->tdata.versados_data = tdata_save;
-      return NULL;
-    }
-
-  return abfd->xvec;
-}
-
-static bfd_boolean
-versados_pass_2 (bfd *abfd)
-{
-  union ext_any any;
-
-  if (VDATA (abfd)->pass_2_done)
-    return 1;
-
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
-    return 0;
-
-  VDATA (abfd)->es_done = ES_BASE;
-
-  /* Read records till we get to where we want to be.  */
-  while (1)
-    {
-      get_record (abfd, &any);
-      switch (any.header.type)
-	{
-	case VEND:
-	  VDATA (abfd)->pass_2_done = 1;
-	  return 1;
-	case VESTDEF:
-	  process_esd (abfd, &any.esd, 2);
-	  break;
-	case VOTR:
-	  process_otr (abfd, &any.otr, 2);
-	  break;
-	}
-    }
-}
-
-static bfd_boolean
-versados_get_section_contents (bfd *abfd,
-			       asection *section,
-			       void * location,
-			       file_ptr offset,
-			       bfd_size_type count)
-{
-  struct esdid *esdid;
-
-  if (!versados_pass_2 (abfd))
-    return FALSE;
-
-  esdid = &EDATA (abfd, section->target_index);
-
-  if (esdid->contents == NULL
-      || offset < 0
-      || (bfd_size_type) offset > esdid->content_size
-      || offset + count > esdid->content_size)
-    return FALSE;
-
-  memcpy (location, esdid->contents + offset, (size_t) count);
-
-  return TRUE;
-}
-
-#define versados_get_section_contents_in_window \
-  _bfd_generic_get_section_contents_in_window
-
-static bfd_boolean
-versados_set_section_contents (bfd *abfd ATTRIBUTE_UNUSED,
-			       sec_ptr section ATTRIBUTE_UNUSED,
-			       const void * location ATTRIBUTE_UNUSED,
-			       file_ptr offset ATTRIBUTE_UNUSED,
-			       bfd_size_type bytes_to_do ATTRIBUTE_UNUSED)
-{
-  return FALSE;
-}
-
-static int
-versados_sizeof_headers (bfd *abfd ATTRIBUTE_UNUSED,
-			 struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  return 0;
-}
-
-/* Return the amount of memory needed to read the symbol table.  */
-
-static long
-versados_get_symtab_upper_bound (bfd *abfd)
-{
-  return (bfd_get_symcount (abfd) + 1) * sizeof (asymbol *);
-}
-
-/* Return the symbol table.  */
-
-static long
-versados_canonicalize_symtab (bfd *abfd, asymbol **alocation)
-{
-  unsigned int symcount = bfd_get_symcount (abfd);
-  unsigned int i;
-  asymbol *s;
-
-  versados_pass_2 (abfd);
-
-  for (i = 0, s = VDATA (abfd)->symbols;
-       i < symcount;
-       s++, i++)
-    *alocation++ = s;
-
-  *alocation = NULL;
-
-  return symcount;
-}
-
-static void
-versados_get_symbol_info (bfd *abfd ATTRIBUTE_UNUSED,
-			  asymbol *symbol,
-			  symbol_info *ret)
-{
-  bfd_symbol_info (symbol, ret);
-}
-
-static void
-versados_print_symbol (bfd *abfd,
-		       void * afile,
-		       asymbol *symbol,
-		       bfd_print_symbol_type how)
-{
-  FILE *file = (FILE *) afile;
-
-  switch (how)
-    {
-    case bfd_print_symbol_name:
-      fprintf (file, "%s", symbol->name);
-      break;
-    default:
-      bfd_print_symbol_vandf (abfd, (void *) file, symbol);
-      fprintf (file, " %-5s %s",
-	       symbol->section->name,
-	       symbol->name);
-    }
-}
-
-static long
-versados_get_reloc_upper_bound (bfd *abfd ATTRIBUTE_UNUSED,
-				sec_ptr asect)
-{
-  return (asect->reloc_count + 1) * sizeof (arelent *);
-}
-
-static long
-versados_canonicalize_reloc (bfd *abfd,
-			     sec_ptr section,
-			     arelent **relptr,
-			     asymbol **symbols)
-{
-  unsigned int count;
-  arelent *src;
-
-  versados_pass_2 (abfd);
-  src = section->relocation;
-
-  if (!EDATA (abfd, section->target_index).donerel)
-    {
-      EDATA (abfd, section->target_index).donerel = 1;
-      /* Translate from indexes to symptr ptrs.  */
-      for (count = 0; count < section->reloc_count; count++)
-	{
-	  int esdid = (int) (size_t) src[count].sym_ptr_ptr;
-
-	  if (esdid == 0)
-	    src[count].sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-	  else if (esdid < ES_BASE)
-	    {
-	      /* Section relative thing.  */
-	      struct esdid *e = &EDATA (abfd, esdid - 1);
-
-	      /* PR 17512: file:cd92277c.  */
-	      if (e->section)
-		src[count].sym_ptr_ptr = e->section->symbol_ptr_ptr;
-	      else
-		src[count].sym_ptr_ptr = bfd_und_section_ptr->symbol_ptr_ptr;
-	    }
-	  /* PR 17512: file:3757-2936-0.004.  */
-	  else if ((unsigned) (esdid - ES_BASE) >= bfd_get_symcount (abfd))
-	    src[count].sym_ptr_ptr = bfd_und_section_ptr->symbol_ptr_ptr;
-	  else
-	    src[count].sym_ptr_ptr = symbols + esdid - ES_BASE;
-	}
-    }
-
-  for (count = 0; count < section->reloc_count; count++)
-    *relptr++ = src++;
-
-  *relptr = 0;
-  return section->reloc_count;
-}
-
-#define	versados_close_and_cleanup		      _bfd_generic_close_and_cleanup
-#define versados_bfd_free_cached_info		      _bfd_generic_bfd_free_cached_info
-#define versados_new_section_hook		      _bfd_generic_new_section_hook
-#define versados_bfd_is_target_special_symbol	((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
-#define versados_bfd_is_local_label_name	      bfd_generic_is_local_label_name
-#define versados_get_lineno			      _bfd_nosymbols_get_lineno
-#define versados_find_nearest_line		      _bfd_nosymbols_find_nearest_line
-#define versados_find_line			      _bfd_nosymbols_find_line
-#define versados_find_inliner_info		      _bfd_nosymbols_find_inliner_info
-#define versados_get_symbol_version_string	      _bfd_nosymbols_get_symbol_version_string
-#define versados_make_empty_symbol		      _bfd_generic_make_empty_symbol
-#define versados_bfd_make_debug_symbol		      _bfd_nosymbols_bfd_make_debug_symbol
-#define versados_read_minisymbols		      _bfd_generic_read_minisymbols
-#define versados_minisymbol_to_symbol		      _bfd_generic_minisymbol_to_symbol
-#define versados_bfd_reloc_type_lookup		      _bfd_norelocs_bfd_reloc_type_lookup
-#define versados_bfd_reloc_name_lookup		_bfd_norelocs_bfd_reloc_name_lookup
-#define versados_set_arch_mach			      bfd_default_set_arch_mach
-#define versados_bfd_get_relocated_section_contents   bfd_generic_get_relocated_section_contents
-#define versados_bfd_relax_section		      bfd_generic_relax_section
-#define versados_bfd_gc_sections		      bfd_generic_gc_sections
-#define versados_bfd_lookup_section_flags	      bfd_generic_lookup_section_flags
-#define versados_bfd_merge_sections		      bfd_generic_merge_sections
-#define versados_bfd_is_group_section		      bfd_generic_is_group_section
-#define versados_bfd_discard_group		      bfd_generic_discard_group
-#define versados_section_already_linked		      _bfd_generic_section_already_linked
-#define versados_bfd_define_common_symbol	      bfd_generic_define_common_symbol
-#define versados_bfd_define_start_stop		      bfd_generic_define_start_stop
-#define versados_bfd_link_hash_table_create	      _bfd_generic_link_hash_table_create
-#define versados_bfd_link_add_symbols		      _bfd_generic_link_add_symbols
-#define versados_bfd_link_just_syms		      _bfd_generic_link_just_syms
-#define versados_bfd_copy_link_hash_symbol_type \
-  _bfd_generic_copy_link_hash_symbol_type
-#define versados_bfd_final_link			      _bfd_generic_final_link
-#define versados_bfd_link_split_section		      _bfd_generic_link_split_section
-#define versados_bfd_link_check_relocs		      _bfd_generic_link_check_relocs
-#define versados_set_reloc			      _bfd_generic_set_reloc
-
-const bfd_target m68k_versados_vec =
-{
-  "versados",			/* Name.  */
-  bfd_target_versados_flavour,
-  BFD_ENDIAN_BIG,		/* Target byte order.  */
-  BFD_ENDIAN_BIG,		/* Target headers byte order.  */
-  (HAS_RELOC | EXEC_P |		/* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
-  (SEC_CODE | SEC_DATA | SEC_ROM | SEC_HAS_CONTENTS
-   | SEC_ALLOC | SEC_LOAD | SEC_RELOC),		/* Section flags.  */
-  0,				/* Leading underscore.  */
-  ' ',				/* AR_pad_char.  */
-  16,				/* AR_max_namelen.  */
-  0,				/* match priority.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* Data.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* Headers.  */
-
-  {
-    _bfd_dummy_target,
-    versados_object_p,		/* bfd_check_format.  */
-    _bfd_dummy_target,
-    _bfd_dummy_target,
-  },
-  {
-    bfd_false,
-    versados_mkobject,
-    _bfd_generic_mkarchive,
-    bfd_false,
-  },
-  {				/* bfd_write_contents.  */
-    bfd_false,
-    bfd_false,
-    _bfd_write_archive_contents,
-    bfd_false,
-  },
-
-  BFD_JUMP_TABLE_GENERIC (versados),
-  BFD_JUMP_TABLE_COPY (_bfd_generic),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-  BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
-  BFD_JUMP_TABLE_SYMBOLS (versados),
-  BFD_JUMP_TABLE_RELOCS (versados),
-  BFD_JUMP_TABLE_WRITE (versados),
-  BFD_JUMP_TABLE_LINK (versados),
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  NULL,
-
-  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.1.0.20180703/bfd/version.h ./bfd/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/version.h	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/version.h	2018-07-10 02:06:11.000000000 +0000
@@ -16,7 +16,7 @@
 
    In releases, the date is not included in either version strings or
    sonames.  */
-#define BFD_VERSION_DATE 20180703
+#define BFD_VERSION_DATE 20180710
 #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.1.0.20180703/bfd/version.m4 ./bfd/version.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/version.m4	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/version.m4	2018-07-10 02:06:11.000000000 +0000
@@ -1 +1 @@
-m4_define([BFD_VERSION], [2.29.51])
+m4_define([BFD_VERSION], [2.31.51])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/vms-alpha.c ./bfd/vms-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/vms-alpha.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/vms-alpha.c	2018-07-10 02:06:11.000000000 +0000
@@ -476,7 +476,7 @@ _bfd_vms_slurp_eihd (bfd *abfd, unsigned
   /* PR 21813: Check for an undersized record.  */
   if (PRIV (recrd.buf_size) < sizeof (* eihd))
     {
-      _bfd_error_handler (_("Corrupt EIHD record - size is too small"));
+      _bfd_error_handler (_("corrupt EIHD record - size is too small"));
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
     }
@@ -657,7 +657,8 @@ _bfd_vms_slurp_eihs (bfd *abfd, unsigned
   /* PR 21611: Check that offset is valid.  */
   if (offset > PRIV (recrd.rec_size) - (EIHS__L_DMTBYTES + 4))
     {
-      _bfd_error_handler (_("Unable to read EIHS record at offset %#x"), offset);
+      _bfd_error_handler (_("unable to read EIHS record at offset %#x"),
+			  offset);
       bfd_set_error (bfd_error_file_truncated);
       return FALSE;
     }
@@ -1169,7 +1170,7 @@ _bfd_vms_slurp_egsd (bfd *abfd)
 
   if (PRIV (recrd.rec_size) < 8)
     {
-      _bfd_error_handler (_("Corrupt EGSD record: its size (%#x) is too small"),
+      _bfd_error_handler (_("corrupt EGSD record: its size (%#x) is too small"),
 			  PRIV (recrd.rec_size));
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -1193,7 +1194,7 @@ _bfd_vms_slurp_egsd (bfd *abfd)
       /* PR 21615: Check for size overflow.  */
       if (PRIV (recrd.rec_size) < gsd_size)
 	{
-	  _bfd_error_handler (_("Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"),
+	  _bfd_error_handler (_("corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"),
 			      gsd_size, PRIV (recrd.rec_size));
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -1201,7 +1202,7 @@ _bfd_vms_slurp_egsd (bfd *abfd)
 
       if (gsd_size < 4)
 	{
-	  _bfd_error_handler (_("Corrupt EGSD record: size (%#x) is too small"),
+	  _bfd_error_handler (_("corrupt EGSD record: size (%#x) is too small"),
 			      gsd_size);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -1330,7 +1331,7 @@ _bfd_vms_slurp_egsd (bfd *abfd)
 		/* PR 21813: Check for an out of range index.  */
 		if (psindx < 0 || psindx >= (int) PRIV (section_count))
 		  {
-		    _bfd_error_handler (_("Corrupt EGSD record: its psindx field is too big (%#lx)"),
+		    _bfd_error_handler (_("corrupt EGSD record: its psindx field is too big (%#lx)"),
 					psindx);
 		    bfd_set_error (bfd_error_bad_value);
 		    return FALSE;
@@ -1346,7 +1347,7 @@ _bfd_vms_slurp_egsd (bfd *abfd)
 		/* PR 21813: Check for an out of range index.  */
 		    if (psindx < 0 || psindx >= (int) PRIV (section_count))
 		      {
-			_bfd_error_handler (_("Corrupt EGSD record: its psindx field is too big (%#lx)"),
+			_bfd_error_handler (_("corrupt EGSD record: its psindx field is too big (%#lx)"),
 					    psindx);
 			bfd_set_error (bfd_error_bad_value);
 			return FALSE;
@@ -1386,7 +1387,7 @@ _bfd_vms_slurp_egsd (bfd *abfd)
 		/* PR 21813: Check for an out of range index.  */
 		if (psindx < 0 || psindx >= (int) PRIV (section_count))
 		  {
-		    _bfd_error_handler (_("Corrupt EGSD record: its psindx field is too big (%#lx)"),
+		    _bfd_error_handler (_("corrupt EGSD record: its psindx field is too big (%#lx)"),
 					psindx);
 		    bfd_set_error (bfd_error_bad_value);
 		    return FALSE;
@@ -1415,7 +1416,7 @@ _bfd_vms_slurp_egsd (bfd *abfd)
 	case EGSD__C_SYMM:
 	case EGSD__C_SYMV:
 	default:
-	  _bfd_error_handler (_("Unknown EGSD subtype %d"), gsd_type);
+	  _bfd_error_handler (_("unknown EGSD subtype %d"), gsd_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -1448,7 +1449,7 @@ _bfd_vms_push (bfd *abfd, bfd_vma val, u
   if (PRIV (stackptr) >= STACKSIZE)
     {
       bfd_set_error (bfd_error_bad_value);
-      _bfd_error_handler (_("Stack overflow (%d) in _bfd_vms_push"), PRIV (stackptr));
+      _bfd_error_handler (_("stack overflow (%d) in _bfd_vms_push"), PRIV (stackptr));
       exit (1);
     }
 }
@@ -1461,7 +1462,7 @@ _bfd_vms_pop (bfd *abfd, bfd_vma *val, u
   if (PRIV (stackptr) == 0)
     {
       bfd_set_error (bfd_error_bad_value);
-      _bfd_error_handler (_("Stack underflow in _bfd_vms_pop"));
+      _bfd_error_handler (_("stack underflow in _bfd_vms_pop"));
       exit (1);
     }
   PRIV (stackptr)--;
@@ -1734,7 +1735,7 @@ _bfd_vms_get_value (bfd *abfd,
   len = *ascic;
   if (ascic + len >= max_ascic)
     {
-      _bfd_error_handler (_("Corrupt vms value"));
+      _bfd_error_handler (_("corrupt vms value"));
       *vma = 0;
       *hp = NULL;
       return;
@@ -1862,7 +1863,7 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
       if (cmd_length < 4 || (ptr + cmd_length > maxptr + 4))
 	{
 	corrupt_etir:
-	  _bfd_error_handler (_("Corrupt ETIR record encountered"));
+	  _bfd_error_handler (_("corrupt ETIR record encountered"));
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -2494,7 +2495,7 @@ _bfd_vms_slurp_eeom (bfd *abfd)
   /* PR 21813: Check for an undersized record.  */
   if (PRIV (recrd.buf_size) < sizeof (* eeom))
     {
-      _bfd_error_handler (_("Corrupt EEOM record - size is too small"));
+      _bfd_error_handler (_("corrupt EEOM record - size is too small"));
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
     }
@@ -2503,7 +2504,7 @@ _bfd_vms_slurp_eeom (bfd *abfd)
   PRIV (eom_data).eom_w_comcod = bfd_getl16 (eeom->comcod);
   if (PRIV (eom_data).eom_w_comcod > 1)
     {
-      _bfd_error_handler (_("Object module NOT error-free !\n"));
+      _bfd_error_handler (_("object module not error-free !"));
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
     }
@@ -3827,7 +3828,7 @@ _bfd_vms_write_etir (bfd * abfd, int obj
 
 	  if (section->reloc_count == 0)
 	    _bfd_error_handler
-	      (_("SEC_RELOC with no relocs in section %A"), section);
+	      (_("SEC_RELOC with no relocs in section %pA"), section);
 
 #if VMS_DEBUG
 	  else
@@ -3879,7 +3880,7 @@ _bfd_vms_write_etir (bfd * abfd, int obj
 
 		  /* Regular relocs are intertwined with binary data.  */
 		  if (curr_addr > addr)
-		    _bfd_error_handler (_("Size error in section %A"),
+		    _bfd_error_handler (_("size error in section %pA"),
 					section);
 		  size = addr - curr_addr;
 		  sto_imm (abfd, section, size, curr_data, curr_addr);
@@ -4038,7 +4039,7 @@ _bfd_vms_write_etir (bfd * abfd, int obj
 		  break;
 
 		case ALPHA_R_BSR:
-		  _bfd_error_handler (_("Spurious ALPHA_R_BSR reloc"));
+		  _bfd_error_handler (_("spurious ALPHA_R_BSR reloc"));
 		  break;
 
 		case ALPHA_R_LDA:
@@ -4079,7 +4080,7 @@ _bfd_vms_write_etir (bfd * abfd, int obj
 		  break;
 
 		default:
-		  _bfd_error_handler (_("Unhandled relocation %s"),
+		  _bfd_error_handler (_("unhandled relocation %s"),
 				      rptr->howto->name);
 		  break;
 		}
@@ -4092,7 +4093,7 @@ _bfd_vms_write_etir (bfd * abfd, int obj
 	    {
 	      /* Output rest of section.  */
 	      if (curr_addr > section->size)
-		_bfd_error_handler (_("Size error in section %A"), section);
+		_bfd_error_handler (_("size error in section %pA"), section);
 	      size = section->size - curr_addr;
 	      sto_imm (abfd, section, size, curr_data, curr_addr);
 	      curr_data += size;
@@ -4433,31 +4434,31 @@ parse_module (bfd *abfd, struct module *
 
 		case DST__K_SET_LINUM_INCR:
 		  _bfd_error_handler
-		    (_("DST__K_SET_LINUM_INCR not implemented"));
+		    (_("%s not implemented"), "DST__K_SET_LINUM_INCR");
 		  cmd_length = 2;
 		  break;
 
 		case DST__K_SET_LINUM_INCR_W:
 		  _bfd_error_handler
-		    (_("DST__K_SET_LINUM_INCR_W not implemented"));
+		    (_("%s not implemented"), "DST__K_SET_LINUM_INCR_W");
 		  cmd_length = 3;
 		  break;
 
 		case DST__K_RESET_LINUM_INCR:
 		  _bfd_error_handler
-		    (_("DST__K_RESET_LINUM_INCR not implemented"));
+		    (_("%s not implemented"), "DST__K_RESET_LINUM_INCR");
 		  cmd_length = 1;
 		  break;
 
 		case DST__K_BEG_STMT_MODE:
 		  _bfd_error_handler
-		    (_("DST__K_BEG_STMT_MODE not implemented"));
+		    (_("%s not implemented"), "DST__K_BEG_STMT_MODE");
 		  cmd_length = 1;
 		  break;
 
 		case DST__K_END_STMT_MODE:
 		  _bfd_error_handler
-		    (_("DST__K_END_STMT_MODE not implemented"));
+		    (_("%s not implemented"), "DST__K_END_STMT_MODE");
 		  cmd_length = 1;
 		  break;
 
@@ -4484,25 +4485,25 @@ parse_module (bfd *abfd, struct module *
 
 		case DST__K_SET_PC:
 		  _bfd_error_handler
-		    (_("DST__K_SET_PC not implemented"));
+		    (_("%s not implemented"), "DST__K_SET_PC");
 		  cmd_length = 2;
 		  break;
 
 		case DST__K_SET_PC_W:
 		  _bfd_error_handler
-		    (_("DST__K_SET_PC_W not implemented"));
+		    (_("%s not implemented"), "DST__K_SET_PC_W");
 		  cmd_length = 3;
 		  break;
 
 		case DST__K_SET_PC_L:
 		  _bfd_error_handler
-		    (_("DST__K_SET_PC_L not implemented"));
+		    (_("%s not implemented"), "DST__K_SET_PC_L");
 		  cmd_length = 5;
 		  break;
 
 		case DST__K_SET_STMTNUM:
 		  _bfd_error_handler
-		    (_("DST__K_SET_STMTNUM not implemented"));
+		    (_("%s not implemented"), "DST__K_SET_STMTNUM");
 		  cmd_length = 2;
 		  break;
 
@@ -5005,7 +5006,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("Unknown reloc %s + %s"), _bfd_vms_etir_name (prev_cmd),
+		    (_("unknown reloc %s + %s"), _bfd_vms_etir_name (prev_cmd),
 		     _bfd_vms_etir_name (cmd));
 		  return FALSE;
 		}
@@ -5023,7 +5024,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("Unknown reloc %s + %s"), _bfd_vms_etir_name (cmd),
+			(_("unknown reloc %s + %s"), _bfd_vms_etir_name (cmd),
 			 _bfd_vms_etir_name (ETIR__C_STA_LW));
 		      return FALSE;
 		    }
@@ -5038,7 +5039,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("Unknown reloc %s + %s"), _bfd_vms_etir_name (cmd),
+		    (_("unknown reloc %s + %s"), _bfd_vms_etir_name (cmd),
 		     _bfd_vms_etir_name (ETIR__C_STA_QW));
 		  return FALSE;
 		}
@@ -5054,7 +5055,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 		  && prev_cmd != ETIR__C_STA_PQ)
 		{
 		  /* xgettext:c-format */
-		  _bfd_error_handler (_("Unknown reloc %s + %s"),
+		  _bfd_error_handler (_("unknown reloc %s + %s"),
 				      _bfd_vms_etir_name (prev_cmd),
 				      _bfd_vms_etir_name (ETIR__C_STO_LW));
 		  return FALSE;
@@ -5067,7 +5068,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 	      if (prev_cmd != ETIR__C_OPR_ADD && prev_cmd != ETIR__C_STA_QW)
 		{
 		  /* xgettext:c-format */
-		  _bfd_error_handler (_("Unknown reloc %s + %s"),
+		  _bfd_error_handler (_("unknown reloc %s + %s"),
 				      _bfd_vms_etir_name (prev_cmd),
 				      _bfd_vms_etir_name (ETIR__C_STO_QW));
 		  return FALSE;
@@ -5079,7 +5080,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 	      if (prev_cmd != ETIR__C_STA_PQ)
 		{
 		  /* xgettext:c-format */
-		  _bfd_error_handler (_("Unknown reloc %s + %s"),
+		  _bfd_error_handler (_("unknown reloc %s + %s"),
 				      _bfd_vms_etir_name (prev_cmd),
 				      _bfd_vms_etir_name (ETIR__C_STO_OFF));
 		  return FALSE;
@@ -5092,7 +5093,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 	      if (prev_cmd != ETIR__C_STA_LW && prev_cmd != ETIR__C_STA_QW)
 		{
 		  /* xgettext:c-format */
-		  _bfd_error_handler (_("Unknown reloc %s + %s"),
+		  _bfd_error_handler (_("unknown reloc %s + %s"),
 				      _bfd_vms_etir_name (prev_cmd),
 				      _bfd_vms_etir_name (ETIR__C_OPR_ADD));
 		  return FALSE;
@@ -5147,7 +5148,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 	      continue;
 
 	    default:
-	      _bfd_error_handler (_("Unknown reloc %s"),
+	      _bfd_error_handler (_("unknown reloc %s"),
 				  _bfd_vms_etir_name (cmd));
 	      return FALSE;
 	    }
@@ -5160,7 +5161,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 	    /* Get section to which the relocation applies.  */
 	    if (cur_psect < 0 || cur_psect > (int)PRIV (section_count))
 	      {
-		_bfd_error_handler (_("Invalid section index in ETIR"));
+		_bfd_error_handler (_("invalid section index in ETIR"));
 		return FALSE;
 	      }
 
@@ -5169,7 +5170,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 	    sec = PRIV (sections)[cur_psect];
 	    if (sec == bfd_abs_section_ptr)
 	      {
-		_bfd_error_handler (_("Relocation for non-REL psect"));
+		_bfd_error_handler (_("relocation for non-REL psect"));
 		return FALSE;
 	      }
 
@@ -5216,7 +5217,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 		    }
 		if (sym == NULL)
 		  {
-		    _bfd_error_handler (_("Unknown symbol in command %s"),
+		    _bfd_error_handler (_("unknown symbol in command %s"),
 					_bfd_vms_etir_name (cmd));
 		    reloc->sym_ptr_ptr = NULL;
 		  }
@@ -8969,7 +8970,7 @@ alpha_vms_bfd_final_link (bfd *abfd, str
 	    {
 	      (*info->callbacks->einfo)
 		/* xgettext:c-format */
-		(_("%P: multiple entry points: in modules %B and %B\n"),
+		(_("%P: multiple entry points: in modules %pB and %pB\n"),
 		 startbfd, sub);
 	      continue;
 	    }
@@ -9489,7 +9490,7 @@ bfd_vms_get_data (bfd *abfd)
   return (struct vms_private_data_struct *)abfd->tdata.any;
 }
 
-#define vms_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define vms_bfd_is_target_special_symbol  _bfd_bool_bfd_asymbol_false
 #define vms_bfd_link_just_syms		  _bfd_generic_link_just_syms
 #define vms_bfd_copy_link_hash_symbol_type \
   _bfd_generic_copy_link_hash_symbol_type
@@ -9497,7 +9498,8 @@ bfd_vms_get_data (bfd *abfd)
 #define vms_bfd_discard_group		  bfd_generic_discard_group
 #define vms_section_already_linked	  _bfd_generic_section_already_linked
 #define vms_bfd_define_common_symbol	  bfd_generic_define_common_symbol
-#define vms_bfd_define_start_stop      bfd_generic_define_start_stop
+#define vms_bfd_link_hide_symbol	  _bfd_generic_link_hide_symbol
+#define vms_bfd_define_start_stop         bfd_generic_define_start_stop
 #define vms_bfd_copy_private_header_data  _bfd_generic_bfd_copy_private_header_data
 
 #define vms_bfd_copy_private_bfd_data	  _bfd_generic_bfd_copy_private_bfd_data
@@ -9509,8 +9511,7 @@ bfd_vms_get_data (bfd *abfd)
 
 /* Symbols table.  */
 #define alpha_vms_make_empty_symbol	   _bfd_generic_make_empty_symbol
-#define alpha_vms_bfd_is_target_special_symbol \
-   ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define alpha_vms_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
 #define alpha_vms_print_symbol		   vms_print_symbol
 #define alpha_vms_get_symbol_info	   vms_get_symbol_info
 #define alpha_vms_get_symbol_version_string \
@@ -9545,6 +9546,7 @@ bfd_vms_get_data (bfd *abfd)
   _bfd_generic_section_already_linked
 
 #define alpha_vms_bfd_define_common_symbol bfd_generic_define_common_symbol
+#define alpha_vms_bfd_link_hide_symbol _bfd_generic_link_hide_symbol
 #define alpha_vms_bfd_define_start_stop bfd_generic_define_start_stop
 #define alpha_vms_bfd_link_just_syms _bfd_generic_link_just_syms
 #define alpha_vms_bfd_copy_link_hash_symbol_type \
@@ -9585,12 +9587,24 @@ const bfd_target alpha_vms_vec =
   bfd_getl32, bfd_getl_signed_32, bfd_putl32,
   bfd_getl16, bfd_getl_signed_16, bfd_putl16,
 
-  {_bfd_dummy_target, alpha_vms_object_p,	/* bfd_check_format.  */
-   _bfd_vms_lib_alpha_archive_p, _bfd_dummy_target},
-  {bfd_false, alpha_vms_mkobject,		/* bfd_set_format.  */
-   _bfd_vms_lib_alpha_mkarchive, bfd_false},
-  {bfd_false, alpha_vms_write_object_contents,	/* bfd_write_contents.  */
-   _bfd_vms_lib_write_archive_contents, bfd_false},
+  {				/* bfd_check_format.  */
+    _bfd_dummy_target,
+    alpha_vms_object_p,
+    _bfd_vms_lib_alpha_archive_p,
+    _bfd_dummy_target
+  },
+  {				/* bfd_set_format.  */
+    _bfd_bool_bfd_false_error,
+    alpha_vms_mkobject,
+    _bfd_vms_lib_alpha_mkarchive,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents.  */
+    _bfd_bool_bfd_false_error,
+    alpha_vms_write_object_contents,
+    _bfd_vms_lib_write_archive_contents,
+    _bfd_bool_bfd_false_error
+  },
 
   BFD_JUMP_TABLE_GENERIC (alpha_vms),
   BFD_JUMP_TABLE_COPY (vms),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/vms-lib.c ./bfd/vms-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/vms-lib.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/vms-lib.c	2018-07-10 02:06:11.000000000 +0000
@@ -2330,12 +2330,24 @@ const bfd_target alpha_vms_lib_txt_vec =
   bfd_getl64, bfd_getl_signed_64, bfd_putl64,
   bfd_getl32, bfd_getl_signed_32, bfd_putl32,
   bfd_getl16, bfd_getl_signed_16, bfd_putl16,
-
-  {_bfd_dummy_target, _bfd_dummy_target,	/* bfd_check_format.  */
-   _bfd_vms_lib_txt_archive_p, _bfd_dummy_target},
-  {bfd_false, bfd_false, bfd_false, bfd_false},	/* bfd_set_format.  */
-  {bfd_false, bfd_false, bfd_false, bfd_false},	/* bfd_write_contents.  */
-
+  {				/* bfd_check_format.  */
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+    _bfd_vms_lib_txt_archive_p,
+    _bfd_dummy_target
+  },
+  {				/* bfd_set_format.  */
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error
+  },
+  {				/* bfd_write_contents.  */
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error
+  },
   BFD_JUMP_TABLE_GENERIC (_bfd_generic),
   BFD_JUMP_TABLE_COPY (_bfd_generic),
   BFD_JUMP_TABLE_CORE (_bfd_nocore),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/wasm-module.c ./bfd/wasm-module.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/wasm-module.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/wasm-module.c	2018-07-10 02:06:11.000000000 +0000
@@ -309,12 +309,12 @@ wasm_scan_name_function_section (bfd *ab
 
   for (symcount = 0; p < end && symcount < tdata->symcount; symcount++)
     {
-      bfd_vma index;
+      bfd_vma idx;
       bfd_vma len;
       char *name;
       asymbol *sym;
 
-      READ_LEB128 (index, p, end);
+      READ_LEB128 (idx, p, end);
       READ_LEB128 (len, p, end);
 
       if (p + len < p || p + len > end)
@@ -330,7 +330,7 @@ wasm_scan_name_function_section (bfd *ab
       sym = &symbols[symcount];
       sym->the_bfd = abfd;
       sym->name = name;
-      sym->value = index;
+      sym->value = idx;
       sym->flags = BSF_GLOBAL | BSF_FUNCTION;
       sym->section = space_function_index;
       sym->udata.p = NULL;
@@ -491,12 +491,12 @@ wasm_register_section (bfd *abfd ATTRIBU
 		       void *fsarg)
 {
   sec_ptr *numbered_sections = fsarg;
-  int index = wasm_section_name_to_code (asect->name);
+  int idx = wasm_section_name_to_code (asect->name);
 
-  if (index == 0)
+  if (idx == 0)
     return;
 
-  numbered_sections[index] = asect;
+  numbered_sections[idx] = asect;
 }
 
 struct compute_section_arg
@@ -520,14 +520,14 @@ wasm_compute_custom_section_file_positio
 					   void *fsarg)
 {
   struct compute_section_arg *fs = fsarg;
-  int index;
+  int idx;
 
   if (fs->failed)
     return;
 
-  index = wasm_section_name_to_code (asect->name);
+  idx = wasm_section_name_to_code (asect->name);
 
-  if (index != 0)
+  if (idx != 0)
     return;
 
   if (CONST_STRNEQ (asect->name, WASM_SECTION_PREFIX))
@@ -773,7 +773,7 @@ wasm_object_p (bfd *abfd)
 /* BFD_JUMP_TABLE_SYMBOLS */
 #define wasm_get_symbol_version_string	  _bfd_nosymbols_get_symbol_version_string
 #define wasm_bfd_is_local_label_name	   bfd_generic_is_local_label_name
-#define wasm_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define wasm_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
 #define wasm_get_lineno			  _bfd_nosymbols_get_lineno
 #define wasm_find_nearest_line		  _bfd_nosymbols_find_nearest_line
 #define wasm_find_line			  _bfd_nosymbols_find_line
@@ -811,16 +811,16 @@ const bfd_target wasm_vec =
     _bfd_dummy_target,
   },
   {
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     wasm_mkobject,
     _bfd_generic_mkarchive,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents.  */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     wasm_write_object_contents,
     _bfd_write_archive_contents,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (_bfd_generic),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/xcofflink.c ./bfd/xcofflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/xcofflink.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/xcofflink.c	2018-07-10 02:06:11.000000000 +0000
@@ -829,7 +829,7 @@ xcoff_link_add_dynamic_symbols (bfd *abf
    if (info->output_bfd->xvec != abfd->xvec)
     {
       _bfd_error_handler
-	(_("%B: XCOFF shared object when not producing XCOFF output"),
+	(_("%pB: XCOFF shared object when not producing XCOFF output"),
 	 abfd);
       bfd_set_error (bfd_error_invalid_operation);
       return FALSE;
@@ -850,7 +850,7 @@ xcoff_link_add_dynamic_symbols (bfd *abf
   if (lsec == NULL)
     {
       _bfd_error_handler
-	(_("%B: dynamic object with no .loader section"),
+	(_("%pB: dynamic object with no .loader section"),
 	 abfd);
       bfd_set_error (bfd_error_no_symbols);
       return FALSE;
@@ -1410,7 +1410,7 @@ xcoff_link_add_symbols (bfd *abfd, struc
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: `%s' has line numbers but no enclosing section"),
+		    (_("%pB: `%s' has line numbers but no enclosing section"),
 		     abfd, name);
 		  bfd_set_error (bfd_error_bad_value);
 		  goto error_return;
@@ -1463,7 +1463,7 @@ xcoff_link_add_symbols (bfd *abfd, struc
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: class %d symbol `%s' has no aux entries"),
+	    (_("%pB: class %d symbol `%s' has no aux entries"),
 	     abfd, sym.n_sclass, name);
 	  bfd_set_error (bfd_error_bad_value);
 	  goto error_return;
@@ -1486,7 +1486,7 @@ xcoff_link_add_symbols (bfd *abfd, struc
 	default:
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: symbol `%s' has unrecognized csect type %d"),
+	    (_("%pB: symbol `%s' has unrecognized csect type %d"),
 	     abfd, name, smtyp);
 	  bfd_set_error (bfd_error_bad_value);
 	  goto error_return;
@@ -1499,9 +1499,10 @@ xcoff_link_add_symbols (bfd *abfd, struc
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld"),
+		(_("%pB: bad XTY_ER symbol `%s': class %d scnum %d "
+		   "scnlen %" PRId64),
 		 abfd, name, sym.n_sclass, sym.n_scnum,
-		 aux.x_csect.x_scnlen.l);
+		 (int64_t) aux.x_csect.x_scnlen.l);
 	      bfd_set_error (bfd_error_bad_value);
 	      goto error_return;
 	    }
@@ -1529,8 +1530,8 @@ xcoff_link_add_symbols (bfd *abfd, struc
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld"),
-		     abfd, name, sym.n_sclass, aux.x_csect.x_scnlen.l);
+		    (_("%pB: XMC_TC0 symbol `%s' is class %d scnlen %" PRId64),
+		     abfd, name, sym.n_sclass, (int64_t) aux.x_csect.x_scnlen.l);
 		  bfd_set_error (bfd_error_bad_value);
 		  goto error_return;
 		}
@@ -1676,7 +1677,7 @@ xcoff_link_add_symbols (bfd *abfd, struc
 	      {
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: csect `%s' not in enclosing section"),
+		  (_("%pB: csect `%s' not in enclosing section"),
 		   abfd, name);
 		bfd_set_error (bfd_error_bad_value);
 		goto error_return;
@@ -1784,7 +1785,7 @@ xcoff_link_add_symbols (bfd *abfd, struc
 	      {
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: misplaced XTY_LD `%s'"),
+		  (_("%pB: misplaced XTY_LD `%s'"),
 		   abfd, name);
 		bfd_set_error (bfd_error_bad_value);
 		goto error_return;
@@ -2105,8 +2106,8 @@ xcoff_link_add_symbols (bfd *abfd, struc
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: reloc %s:%Ld not in csect"),
-		     abfd, o->name, i);
+		    (_("%pB: reloc %s:%" PRId64 " not in csect"),
+		     abfd, o->name, (int64_t) i);
 		  bfd_set_error (bfd_error_bad_value);
 		  goto error_return;
 		}
@@ -4059,7 +4060,7 @@ xcoff_create_ldrel (bfd *output_bfd, str
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: loader reloc in unrecognized section `%s'"),
+	    (_("%pB: loader reloc in unrecognized section `%s'"),
 	     reference_bfd, secname);
 	  bfd_set_error (bfd_error_nonrepresentable_section);
 	  return FALSE;
@@ -4071,7 +4072,7 @@ xcoff_create_ldrel (bfd *output_bfd, str
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: `%s' in loader reloc but not loader sym"),
+	    (_("%pB: `%s' in loader reloc but not loader sym"),
 	     reference_bfd, h->root.root.string);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -4088,7 +4089,7 @@ xcoff_create_ldrel (bfd *output_bfd, str
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: loader reloc in read-only section %A"),
+	(_("%pB: loader reloc in read-only section %pA"),
 	 reference_bfd, output_section);
       bfd_set_error (bfd_error_invalid_operation);
       return FALSE;
@@ -5112,9 +5113,9 @@ xcoff_find_tc0 (bfd *output_bfd, struct 
       if (best_address > toc_start + 0x8000)
 	{
 	  _bfd_error_handler
-	    (_("TOC overflow: %#Lx > 0x10000; try -mminimal-toc "
+	    (_("TOC overflow: %#" PRIx64 " > 0x10000; try -mminimal-toc "
 	       "when compiling"),
-	     toc_end - toc_start);
+	     (uint64_t) (toc_end - toc_start));
 	  bfd_set_error (bfd_error_file_too_big);
 	  return FALSE;
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/xsym.c ./bfd/xsym.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/bfd/xsym.c	2018-07-03 02:06:27.000000000 +0000
+++ ./bfd/xsym.c	2018-07-10 02:06:11.000000000 +0000
@@ -30,7 +30,7 @@
 #define bfd_sym_bfd_free_cached_info		    _bfd_generic_bfd_free_cached_info
 #define bfd_sym_new_section_hook		    _bfd_generic_new_section_hook
 #define bfd_sym_bfd_is_local_label_name		    bfd_generic_is_local_label_name
-#define bfd_sym_bfd_is_target_special_symbol	   ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+#define bfd_sym_bfd_is_target_special_symbol	    _bfd_bool_bfd_asymbol_false
 #define bfd_sym_get_lineno			    _bfd_nosymbols_get_lineno
 #define bfd_sym_find_nearest_line		    _bfd_nosymbols_find_nearest_line
 #define bfd_sym_find_line			    _bfd_nosymbols_find_line
@@ -51,6 +51,7 @@
 #define bfd_sym_bfd_discard_group		    bfd_generic_discard_group
 #define bfd_sym_section_already_linked		    _bfd_generic_section_already_linked
 #define bfd_sym_bfd_define_common_symbol	    bfd_generic_define_common_symbol
+#define bfd_sym_bfd_link_hide_symbol		    _bfd_generic_link_hide_symbol
 #define bfd_sym_bfd_define_start_stop		    bfd_generic_define_start_stop
 #define bfd_sym_bfd_link_hash_table_create	    _bfd_generic_link_hash_table_create
 #define bfd_sym_bfd_link_add_symbols		    _bfd_generic_link_add_symbols
@@ -2332,16 +2333,16 @@ const bfd_target sym_vec =
     _bfd_dummy_target,
   },
   {				/* bfd_set_format.  */
-    bfd_false,
+    _bfd_bool_bfd_false_error,
     bfd_sym_mkobject,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
   {				/* bfd_write_contents.  */
-    bfd_false,
-    bfd_true,
-    bfd_false,
-    bfd_false,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_true,
+    _bfd_bool_bfd_false_error,
+    _bfd_bool_bfd_false_error,
   },
 
   BFD_JUMP_TABLE_GENERIC (bfd_sym),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/ChangeLog ./ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/ChangeLog	2018-07-03 02:06:27.000000000 +0000
+++ ./ChangeLog	2018-07-10 02:06:11.000000000 +0000
@@ -1,3 +1,78 @@
+2018-06-29  Alexandre Oliva <oliva@adacore.com>
+
+	* configure.ac: Introduce support for @unless/@endunless.
+	* Makefile.tpl (dep-kind): Rewrite with cond; return
+	postbootstrap in some cases.
+	(make-postboot-dep, postboot-targets): New.
+	(dependencies): Do not output postbootstrap dependencies at
+	first.  Output non-target ones changed for configure to depend
+	on stage_last @if gcc-bootstrap, and the original deps @unless
+	gcc-bootstrap.
+	* configure.in, Makefile.in: Rebuilt.
+
+2018-06-24  Nick Clifton  <nickc@redhat.com>
+
+	* configure: Regenerate.
+
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* libtool.m4: Use AC_LANG_SOURCE.
+	* configure.ac: Remove AC_PREREQ, use AC_LANG_SOURCE.
+	* README-maintainer-mode: Update version requirements.
+	* ar-lib: New file.
+	* test-driver: New file.
+	* configure: Re-generate.
+
+2018-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* Makefile.def (fortran): Add check-target-libgomp-fortran.
+	* Makefile.tpl (check-target-libgomp-fortran): New phony target.
+	* Makefile.in: Regenerate.
+
+	* configure: Regenerate.
+
+2018-06-18  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* configure.ac: Sync with GCC, remove MPX-related things.
+
+2018-05-01  Nick Clifton  <nickc@redhat.com>
+
+	* config.guess: Synchronize with config project master sources.
+	* config.sub: Likewise.
+
+2018-05-01  Francois H. Theron  <francois.theron@netronome.com>
+
+	* configure.ac: Added "nfp" target.
+	* configure: Regenerate.
+
+2018-02-13  Maciej W. Rozycki  <macro@mips.com>
+
+	* configure.ac <wasm32-*-*> (noconfigdirs): Add `ld'.
+	* configure: Regenerate.
+
+2018-01-30  Nick Clifton  <nickc@redhat.com>
+
+	* src-release.sh (do_proto_toplev): Add patterns for more junk files
+	to delete before creating the tarball.
+
+2018-01-29  Nick Clifton  <nickc@redhat.com>
+
+	* src-release.sh (do_proto_toplev): Strip patch remnant files from
+	the sources before creating the tarball.
+
+2018-01-13  Nick Clifton  <nickc@redhat.com>
+
+	* src-release.sh: Update copyright notice.  Change reference to devo
+	to be a reference to root.
+
+2018-01-10  Nick Clifton  <nickc@redhat.com>
+
+	* config-ml.in: Sync with gcc sources.
+	* config.guess: Likewise.
+	* config.sub: Likewise.
+	* configure.ac: Likewise.
+	* configure: Regenerate.
+
 2017-12-14  Nick Clifton  <nickc@redhat.com>
 
 	* COPYING.LIBGLOSS: Update address of FSF in copyright notice.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/acx.m4 ./config/acx.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/acx.m4	2018-07-03 02:06:27.000000000 +0000
+++ ./config/acx.m4	2018-07-10 02:06:11.000000000 +0000
@@ -235,8 +235,28 @@ fi
 ])
 
 
+dnl ####
+dnl # GCC_BASE_VER
+dnl # Determine GCC version number to use in compiler directories.
+
+AC_DEFUN([GCC_BASE_VER],
+[
+  get_gcc_base_ver="cat"
+  AC_ARG_WITH(gcc-major-version-only,
+  [AS_HELP_STRING([--with-gcc-major-version-only], [use only GCC major number in filesystem paths])],
+  [if test x$with_gcc_major_version_only = xyes ; then
+    changequote(,)dnl
+    get_gcc_base_ver="sed -e 's/^\([0-9]*\).*/\1/'"
+    changequote([,])dnl
+  fi
+  ])
+  AC_SUBST(get_gcc_base_ver)
+])
+
+
 AC_DEFUN([ACX_TOOL_DIRS], [
 AC_REQUIRE([ACX_PATH_SEP])
+AC_REQUIRE([GCC_BASE_VER])
 if test "x$exec_prefix" = xNONE; then
         if test "x$prefix" = xNONE; then
                 gcc_cv_tool_prefix=$ac_default_prefix
@@ -251,7 +271,13 @@ fi
 # case, if there is no compiler in the tree nobody should use
 # AS_FOR_TARGET and LD_FOR_TARGET.
 if test x$host = x$build && test -f $srcdir/gcc/BASE-VER; then
-    gcc_version=`cat $srcdir/gcc/BASE-VER`
+    if test x$with_gcc_major_version_only = xyes ; then
+        changequote(,)dnl
+        gcc_version=`sed -e 's/^\([0-9]*\).*$/\1/' $srcdir/gcc/BASE-VER`
+        changequote([,])dnl
+    else
+        gcc_version=`cat $srcdir/gcc/BASE-VER`
+    fi
     gcc_cv_tool_dirs="$gcc_cv_tool_prefix/libexec/gcc/$target_noncanonical/$gcc_version$PATH_SEPARATOR"
     gcc_cv_tool_dirs="$gcc_cv_tool_dirs$gcc_cv_tool_prefix/libexec/gcc/$target_noncanonical$PATH_SEPARATOR"
     gcc_cv_tool_dirs="$gcc_cv_tool_dirs/usr/lib/gcc/$target_noncanonical/$gcc_version$PATH_SEPARATOR"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/ax_check_define.m4 ./config/ax_check_define.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/ax_check_define.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./config/ax_check_define.m4	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1,92 @@
+# ===========================================================================
+#      http://www.gnu.org/software/autoconf-archive/ax_check_define.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AC_CHECK_DEFINE([symbol], [ACTION-IF-FOUND], [ACTION-IF-NOT])
+#   AX_CHECK_DEFINE([includes],[symbol], [ACTION-IF-FOUND], [ACTION-IF-NOT])
+#
+# DESCRIPTION
+#
+#   Complements AC_CHECK_FUNC but it does not check for a function but for a
+#   define to exist. Consider a usage like:
+#
+#    AC_CHECK_DEFINE(__STRICT_ANSI__, CFLAGS="$CFLAGS -D_XOPEN_SOURCE=500")
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
+#
+#   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/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 8
+
+AU_ALIAS([AC_CHECK_DEFINED], [AC_CHECK_DEFINE])
+AC_DEFUN([AC_CHECK_DEFINE],[
+AS_VAR_PUSHDEF([ac_var],[ac_cv_defined_$1])dnl
+AC_CACHE_CHECK([for $1 defined], ac_var,
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+  #ifdef $1
+  int ok;
+  #else
+  choke me
+  #endif
+]])],[AS_VAR_SET(ac_var, yes)],[AS_VAR_SET(ac_var, no)]))
+AS_IF([test AS_VAR_GET(ac_var) != "no"], [$2], [$3])dnl
+AS_VAR_POPDEF([ac_var])dnl
+])
+
+AU_ALIAS([AX_CHECK_DEFINED], [AX_CHECK_DEFINE])
+AC_DEFUN([AX_CHECK_DEFINE],[
+AS_VAR_PUSHDEF([ac_var],[ac_cv_defined_$2_$1])dnl
+AC_CACHE_CHECK([for $2 defined in $1], ac_var,
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <$1>]], [[
+  #ifdef $2
+  int ok;
+  #else
+  choke me
+  #endif
+]])],[AS_VAR_SET(ac_var, yes)],[AS_VAR_SET(ac_var, no)]))
+AS_IF([test AS_VAR_GET(ac_var) != "no"], [$3], [$4])dnl
+AS_VAR_POPDEF([ac_var])dnl
+])
+
+AC_DEFUN([AX_CHECK_FUNC],
+[AS_VAR_PUSHDEF([ac_var], [ac_cv_func_$2])dnl
+AC_CACHE_CHECK([for $2], ac_var,
+dnl AC_LANG_FUNC_LINK_TRY
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([$1
+                #undef $2
+                char $2 ();],[
+                char (*f) () = $2;
+                return f != $2; ])],
+                [AS_VAR_SET(ac_var, yes)],
+                [AS_VAR_SET(ac_var, no)])])
+AS_IF([test AS_VAR_GET(ac_var) = yes], [$3], [$4])dnl
+AS_VAR_POPDEF([ac_var])dnl
+])# AC_CHECK_FUNC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/ax_pthread.m4 ./config/ax_pthread.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/ax_pthread.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./config/ax_pthread.m4	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1,485 @@
+# ===========================================================================
+#        https://www.gnu.org/software/autoconf-archive/ax_pthread.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+#
+# DESCRIPTION
+#
+#   This macro figures out how to build C programs using POSIX threads. It
+#   sets the PTHREAD_LIBS output variable to the threads library and linker
+#   flags, and the PTHREAD_CFLAGS output variable to any special C compiler
+#   flags that are needed. (The user can also force certain compiler
+#   flags/libs to be tested by setting these environment variables.)
+#
+#   Also sets PTHREAD_CC to any special C compiler that is needed for
+#   multi-threaded programs (defaults to the value of CC otherwise). (This
+#   is necessary on AIX to use the special cc_r compiler alias.)
+#
+#   NOTE: You are assumed to not only compile your program with these flags,
+#   but also to link with them as well. For example, you might link with
+#   $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
+#
+#   If you are only building threaded programs, you may wish to use these
+#   variables in your default LIBS, CFLAGS, and CC:
+#
+#     LIBS="$PTHREAD_LIBS $LIBS"
+#     CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+#     CC="$PTHREAD_CC"
+#
+#   In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
+#   has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
+#   that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+#
+#   Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
+#   PTHREAD_PRIO_INHERIT symbol is defined when compiling with
+#   PTHREAD_CFLAGS.
+#
+#   ACTION-IF-FOUND is a list of shell commands to run if a threads library
+#   is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
+#   is not found. If ACTION-IF-FOUND is not specified, the default action
+#   will define HAVE_PTHREAD.
+#
+#   Please let the authors know if this macro fails on any platform, or if
+#   you have any other suggestions or comments. This macro was based on work
+#   by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
+#   from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
+#   Alejandro Forero Cuervo to the autoconf macro repository. We are also
+#   grateful for the helpful feedback of numerous users.
+#
+#   Updated for Autoconf 2.68 by Daniel Richard G.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
+#   Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
+#
+#   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 <https://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 24
+
+AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
+AC_DEFUN([AX_PTHREAD], [
+AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_PROG_SED])
+AC_LANG_PUSH([C])
+ax_pthread_ok=no
+
+# We used to check for pthread.h first, but this fails if pthread.h
+# requires special compiler flags (e.g. on Tru64 or Sequent).
+# It gets checked for in the link test anyway.
+
+# First of all, check if the user has set any of the PTHREAD_LIBS,
+# etcetera environment variables, and if threads linking works using
+# them:
+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
+        ax_pthread_save_CC="$CC"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+        AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
+        AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
+        AC_MSG_RESULT([$ax_pthread_ok])
+        if test "x$ax_pthread_ok" = "xno"; then
+                PTHREAD_LIBS=""
+                PTHREAD_CFLAGS=""
+        fi
+        CC="$ax_pthread_save_CC"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
+fi
+
+# We must check for the threads library under a number of different
+# names; the ordering is very important because some systems
+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
+# libraries is broken (non-POSIX).
+
+# Create a list of thread flags to try.  Items starting with a "-" are
+# C compiler flags, and other items are library names, except for "none"
+# which indicates that we try without any flags at all, and "pthread-config"
+# which is a program returning the flags for the Pth emulation library.
+
+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+
+# The ordering *is* (sometimes) important.  Some notes on the
+# individual items follow:
+
+# pthreads: AIX (must check this before -lpthread)
+# none: in case threads are in libc; should be tried before -Kthread and
+#       other compiler flags to prevent continual compiler warnings
+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
+#           (Note: HP C rejects this with "bad form for `-t' option")
+# -pthreads: Solaris/gcc (Note: HP C also rejects)
+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
+#      doesn't hurt to check since this sometimes defines pthreads and
+#      -D_REENTRANT too), HP C (must be checked before -lpthread, which
+#      is present but should not be used directly; and before -mthreads,
+#      because the compiler interprets this as "-mt" + "-hreads")
+# -mthreads: Mingw32/gcc, Lynx/gcc
+# pthread: Linux, etcetera
+# --thread-safe: KAI C++
+# pthread-config: use pthread-config program (for GNU Pth library)
+
+case $host_os in
+
+        freebsd*)
+
+        # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+        # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+
+        ax_pthread_flags="-kthread lthread $ax_pthread_flags"
+        ;;
+
+        hpux*)
+
+        # From the cc(1) man page: "[-mt] Sets various -D flags to enable
+        # multi-threading and also sets -lpthread."
+
+        ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
+        ;;
+
+        openedition*)
+
+        # IBM z/OS requires a feature-test macro to be defined in order to
+        # enable POSIX threads at all, so give the user a hint if this is
+        # not set. (We don't define these ourselves, as they can affect
+        # other portions of the system API in unpredictable ways.)
+
+        AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
+            [
+#            if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
+             AX_PTHREAD_ZOS_MISSING
+#            endif
+            ],
+            [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
+        ;;
+
+        solaris*)
+
+        # On Solaris (at least, for some versions), libc contains stubbed
+        # (non-functional) versions of the pthreads routines, so link-based
+        # tests will erroneously succeed. (N.B.: The stubs are missing
+        # pthread_cleanup_push, or rather a function called by this macro,
+        # so we could check for that, but who knows whether they'll stub
+        # that too in a future libc.)  So we'll check first for the
+        # standard Solaris way of linking pthreads (-mt -lpthread).
+
+        ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
+        ;;
+esac
+
+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
+
+AS_IF([test "x$GCC" = "xyes"],
+      [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
+
+# The presence of a feature test macro requesting re-entrant function
+# definitions is, on some systems, a strong hint that pthreads support is
+# correctly enabled
+
+case $host_os in
+        darwin* | hpux* | linux* | osf* | solaris*)
+        ax_pthread_check_macro="_REENTRANT"
+        ;;
+
+        aix*)
+        ax_pthread_check_macro="_THREAD_SAFE"
+        ;;
+
+        *)
+        ax_pthread_check_macro="--"
+        ;;
+esac
+AS_IF([test "x$ax_pthread_check_macro" = "x--"],
+      [ax_pthread_check_cond=0],
+      [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
+
+# Are we compiling with Clang?
+
+AC_CACHE_CHECK([whether $CC is Clang],
+    [ax_cv_PTHREAD_CLANG],
+    [ax_cv_PTHREAD_CLANG=no
+     # Note that Autoconf sets GCC=yes for Clang as well as GCC
+     if test "x$GCC" = "xyes"; then
+        AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
+            [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
+#            if defined(__clang__) && defined(__llvm__)
+             AX_PTHREAD_CC_IS_CLANG
+#            endif
+            ],
+            [ax_cv_PTHREAD_CLANG=yes])
+     fi
+    ])
+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
+
+ax_pthread_clang_warning=no
+
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
+
+if test "x$ax_pthread_clang" = "xyes"; then
+
+        # Clang takes -pthread; it has never supported any other flag
+
+        # (Note 1: This will need to be revisited if a system that Clang
+        # supports has POSIX threads in a separate library.  This tends not
+        # to be the way of modern systems, but it's conceivable.)
+
+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
+        # to get POSIX threads support; the API is always present and
+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
+        # -pthread does define _REENTRANT, and while the Darwin headers
+        # ignore this macro, third-party headers might not.)
+
+        PTHREAD_CFLAGS="-pthread"
+        PTHREAD_LIBS=
+
+        ax_pthread_ok=yes
+
+        # However, older versions of Clang make a point of warning the user
+        # that, in an invocation where only linking and no compilation is
+        # taking place, the -pthread option has no effect ("argument unused
+        # during compilation").  They expect -pthread to be passed in only
+        # when source code is being compiled.
+        #
+        # Problem is, this is at odds with the way Automake and most other
+        # C build frameworks function, which is that the same flags used in
+        # compilation (CFLAGS) are also used in linking.  Many systems
+        # supported by AX_PTHREAD require exactly this for POSIX threads
+        # support, and in fact it is often not straightforward to specify a
+        # flag that is used only in the compilation phase and not in
+        # linking.  Such a scenario is extremely rare in practice.
+        #
+        # Even though use of the -pthread flag in linking would only print
+        # a warning, this can be a nuisance for well-run software projects
+        # that build with -Werror.  So if the active version of Clang has
+        # this misfeature, we search for an option to squash it.
+
+        AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+             # Create an alternate version of $ac_link that compiles and
+             # links in two steps (.c -> .o, .o -> exe) instead of one
+             # (.c -> exe), because the warning occurs only in the second
+             # step
+             ax_pthread_save_ac_link="$ac_link"
+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
+             ax_pthread_save_CFLAGS="$CFLAGS"
+             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
+                AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+                ac_link="$ax_pthread_save_ac_link"
+                AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                    [ac_link="$ax_pthread_2step_ac_link"
+                     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                         [break])
+                    ])
+             done
+             ac_link="$ax_pthread_save_ac_link"
+             CFLAGS="$ax_pthread_save_CFLAGS"
+             AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
+            ])
+
+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+                no | unknown) ;;
+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
+        esac
+
+fi # $ax_pthread_clang = yes
+
+if test "x$ax_pthread_ok" = "xno"; then
+for ax_pthread_try_flag in $ax_pthread_flags; do
+
+        case $ax_pthread_try_flag in
+                none)
+                AC_MSG_CHECKING([whether pthreads work without any flags])
+                ;;
+
+                -mt,pthread)
+                AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
+                PTHREAD_CFLAGS="-mt"
+                PTHREAD_LIBS="-lpthread"
+                ;;
+
+                -*)
+                AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
+                PTHREAD_CFLAGS="$ax_pthread_try_flag"
+                ;;
+
+                pthread-config)
+                AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
+                AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
+                PTHREAD_CFLAGS="`pthread-config --cflags`"
+                PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
+                ;;
+
+                *)
+                AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
+                PTHREAD_LIBS="-l$ax_pthread_try_flag"
+                ;;
+        esac
+
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+
+        # Check for various functions.  We must include pthread.h,
+        # since some functions may be macros.  (On the Sequent, we
+        # need a special flag -Kthread to make this header compile.)
+        # We check for pthread_join because it is in -lpthread on IRIX
+        # while pthread_create is in libc.  We check for pthread_attr_init
+        # due to DEC craziness with -lpthreads.  We check for
+        # pthread_cleanup_push because it is one of the few pthread
+        # functions on Solaris that doesn't have a non-functional libc stub.
+        # We try pthread_create on general principles.
+
+        AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
+#                       if $ax_pthread_check_cond
+#                        error "$ax_pthread_check_macro must be defined"
+#                       endif
+                        static void routine(void *a) { a = 0; }
+                        static void *start_routine(void *a) { return a; }],
+                       [pthread_t th; pthread_attr_t attr;
+                        pthread_create(&th, 0, start_routine, 0);
+                        pthread_join(th, 0);
+                        pthread_attr_init(&attr);
+                        pthread_cleanup_push(routine, 0);
+                        pthread_cleanup_pop(0) /* ; */])],
+            [ax_pthread_ok=yes],
+            [])
+
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
+
+        AC_MSG_RESULT([$ax_pthread_ok])
+        AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
+
+        PTHREAD_LIBS=""
+        PTHREAD_CFLAGS=""
+done
+fi
+
+# Various other checks:
+if test "x$ax_pthread_ok" = "xyes"; then
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+
+        # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
+        AC_CACHE_CHECK([for joinable pthread attribute],
+            [ax_cv_PTHREAD_JOINABLE_ATTR],
+            [ax_cv_PTHREAD_JOINABLE_ATTR=unknown
+             for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+                 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
+                                                 [int attr = $ax_pthread_attr; return attr /* ; */])],
+                                [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
+                                [])
+             done
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
+               test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
+               test "x$ax_pthread_joinable_attr_defined" != "xyes"],
+              [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
+                                  [$ax_cv_PTHREAD_JOINABLE_ATTR],
+                                  [Define to necessary symbol if this constant
+                                   uses a non-standard name on your system.])
+               ax_pthread_joinable_attr_defined=yes
+              ])
+
+        AC_CACHE_CHECK([whether more special flags are required for pthreads],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS=no
+             case $host_os in
+             solaris*)
+             ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
+             ;;
+             esac
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
+               test "x$ax_pthread_special_flags_added" != "xyes"],
+              [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
+               ax_pthread_special_flags_added=yes])
+
+        AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
+            [ax_cv_PTHREAD_PRIO_INHERIT],
+            [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
+                                             [[int i = PTHREAD_PRIO_INHERIT;]])],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=yes],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=no])
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
+               test "x$ax_pthread_prio_inherit_defined" != "xyes"],
+              [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
+               ax_pthread_prio_inherit_defined=yes
+              ])
+
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
+
+        # More AIX lossage: compile with *_r variant
+        if test "x$GCC" != "xyes"; then
+            case $host_os in
+                aix*)
+                AS_CASE(["x/$CC"],
+                    [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
+                    [#handle absolute path differently from PATH based program lookup
+                     AS_CASE(["x$CC"],
+                         [x/*],
+                         [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
+                         [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
+                ;;
+            esac
+        fi
+fi
+
+test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
+
+AC_SUBST([PTHREAD_LIBS])
+AC_SUBST([PTHREAD_CFLAGS])
+AC_SUBST([PTHREAD_CC])
+
+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
+if test "x$ax_pthread_ok" = "xyes"; then
+        ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
+        :
+else
+        ax_pthread_ok=no
+        $2
+fi
+AC_LANG_POP
+])dnl AX_PTHREAD
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-cet.mk ./config/bootstrap-cet.mk
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-cet.mk	1970-01-01 00:00:00.000000000 +0000
+++ ./config/bootstrap-cet.mk	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1,5 @@
+# This option enables -fcf-protection for stage2, stage3 and stage4.
+
+STAGE2_CFLAGS += -fcf-protection
+STAGE3_CFLAGS += -fcf-protection
+STAGE4_CFLAGS += -fcf-protection
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-debug-lean.mk ./config/bootstrap-debug-lean.mk
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-debug-lean.mk	2018-07-03 02:06:27.000000000 +0000
+++ ./config/bootstrap-debug-lean.mk	2018-07-10 02:06:11.000000000 +0000
@@ -9,3 +9,4 @@
 
 STAGE2_CFLAGS += -fcompare-debug=
 STAGE3_CFLAGS += -fcompare-debug
+do-compare = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-lto.mk ./config/bootstrap-lto.mk
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-lto.mk	2018-07-03 02:06:27.000000000 +0000
+++ ./config/bootstrap-lto.mk	2018-07-10 02:06:11.000000000 +0000
@@ -2,7 +2,9 @@
 
 STAGE2_CFLAGS += -flto=jobserver -frandom-seed=1
 STAGE3_CFLAGS += -flto=jobserver -frandom-seed=1
-STAGEprofile_CFLAGS += -fno-lto
+STAGEprofile_CFLAGS += -flto=jobserver -frandom-seed=1
+STAGEtrain_CFLAGS += -flto=jobserver -frandom-seed=1
+STAGEfeedback_CFLAGS += -flto=jobserver -frandom-seed=1
 
 # assumes the host supports the linker plugin
 LTO_AR = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ar$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/
@@ -11,3 +13,5 @@ LTO_RANLIB = $$r/$(HOST_SUBDIR)/prev-gcc
 LTO_EXPORTS = AR="$(LTO_AR)"; export AR; \
 	      RANLIB="$(LTO_RANLIB)"; export RANLIB;
 LTO_FLAGS_TO_PASS = AR="$(LTO_AR)" RANLIB="$(LTO_RANLIB)"
+
+do-compare = $(SHELL) $(srcdir)/contrib/compare-lto $$f1 $$f2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-lto-noplugin.mk ./config/bootstrap-lto-noplugin.mk
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-lto-noplugin.mk	2018-07-03 02:06:27.000000000 +0000
+++ ./config/bootstrap-lto-noplugin.mk	2018-07-10 02:06:11.000000000 +0000
@@ -3,4 +3,7 @@
 
 STAGE2_CFLAGS += -flto=jobserver -frandom-seed=1 -ffat-lto-objects
 STAGE3_CFLAGS += -flto=jobserver -frandom-seed=1 -ffat-lto-objects
-STAGEprofile_CFLAGS += -fno-lto
+STAGEprofile_CFLAGS += -flto=jobserver -frandom-seed=1
+STAGEtrain_CFLAGS += -flto=jobserver -frandom-seed=1
+STAGEfeedback_CFLAGS += -flto=jobserver -frandom-seed=1
+do-compare = /bin/true
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-mpx.mk ./config/bootstrap-mpx.mk
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-mpx.mk	2018-07-03 02:06:27.000000000 +0000
+++ ./config/bootstrap-mpx.mk	1970-01-01 00:00:00.000000000 +0000
@@ -1,9 +0,0 @@
-# This option enables -fcheck-pointer-bounds -mmpx for stage2 and stage3.
-
-STAGE2_CFLAGS += -fcheck-pointer-bounds -mmpx -frandom-seed=1
-STAGE3_CFLAGS += -fcheck-pointer-bounds -mmpx -frandom-seed=1
-POSTSTAGE1_LDFLAGS += -fcheck-pointer-bounds -mmpx -frandom-seed=1 \
-		      -static-libmpx -static-libmpxwrappers \
-		      -B$$r/prev-$(TARGET_SUBDIR)/libmpx \
-		      -B$$r/prev-$(TARGET_SUBDIR)/libmpx/mpxrt/.libs \
-		      -B$$r/prev-$(TARGET_SUBDIR)/libmpx/mpxwrap/.libs
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-ubsan.mk ./config/bootstrap-ubsan.mk
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/bootstrap-ubsan.mk	2018-07-03 02:06:27.000000000 +0000
+++ ./config/bootstrap-ubsan.mk	2018-07-10 02:06:11.000000000 +0000
@@ -1,8 +1,8 @@
 # This option enables -fsanitize=undefined for stage2 and stage3.
 
-STAGE2_CFLAGS += -fsanitize=undefined
-STAGE3_CFLAGS += -fsanitize=undefined
-POSTSTAGE1_LDFLAGS += -fsanitize=undefined -static-libubsan \
+STAGE2_CFLAGS += -fsanitize=undefined -DUBSAN_BOOTSTRAP
+STAGE3_CFLAGS += -fsanitize=undefined -DUBSAN_BOOTSTRAP
+POSTSTAGE1_LDFLAGS += -fsanitize=undefined -static-libubsan -DUBSAN_BOOTSTRAP \
 		      -B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/ \
 		      -B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/ubsan/ \
 		      -B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/ubsan/.libs
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/cet.m4 ./config/cet.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/cet.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./config/cet.m4	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1,50 @@
+dnl
+dnl GCC_CET_FLAGS
+dnl    (SHELL-CODE_HANDLER)
+dnl
+AC_DEFUN([GCC_CET_FLAGS],[dnl
+GCC_ENABLE(cet, no, ,[enable Intel CET in target libraries],
+	   permit yes|no|auto)
+AC_MSG_CHECKING([for CET support])
+
+case "$host" in
+  i[[34567]]86-*-linux* | x86_64-*-linux*)
+    case "$enable_cet" in
+      auto)
+	# Check if target supports multi-byte NOPs
+	# and if assembler supports CET insn.
+	AC_COMPILE_IFELSE(
+	 [AC_LANG_PROGRAM(
+	  [],
+	  [
+#if !defined(__SSE2__)
+#error target does not support multi-byte NOPs
+#else
+asm ("setssbsy");
+#endif
+	  ])],
+	 [enable_cet=yes],
+	 [enable_cet=no])
+	;;
+      yes)
+	# Check if assembler supports CET.
+	AC_COMPILE_IFELSE(
+	 [AC_LANG_PROGRAM(
+	  [],
+	  [asm ("setssbsy");])],
+	 [],
+	 [AC_MSG_ERROR([assembler with CET support is required for --enable-cet])])
+	;;
+    esac
+    ;;
+  *)
+    enable_cet=no
+    ;;
+esac
+if test x$enable_cet = xyes; then
+  $1="-fcf-protection -mshstk"
+  AC_MSG_RESULT([yes])
+else
+  AC_MSG_RESULT([no])
+fi
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/ChangeLog ./config/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/ChangeLog	2018-07-03 02:06:27.000000000 +0000
+++ ./config/ChangeLog	2018-07-10 02:06:11.000000000 +0000
@@ -1,3 +1,123 @@
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* override.m4 (_GCC_AUTOCONF_VERSION): Bump from 2.64 to 2.69.
+
+2018-06-18  Simon Marchi  <simon.marchi@ericsson.com>
+
+	Sync with GCC
+	2018-06-08  Martin Liska  <mliska@suse.cz>
+
+	* bootstrap-mpx.mk: Remove.
+
+	2018-05-10  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/64914
+	* bootstrap-ubsan.mk: Define UBSAN_BOOTSTRAP.
+
+	2018-05-09  Joshua Watt <jpewhacker@gmail.com>
+
+        * ax_pthread.m4: Add file.
+
+	2018-05-08  Richard Biener  <rguenther@suse.de>
+
+	PR bootstrap/85571
+	* bootstrap-lto-noplugin.mk: Disable compare.
+	* bootstrap-lto.mk: Supply contrib/compare-lto for do-compare.
+
+	2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR bootstrap/85490
+	* bootstrap-cet.mk (STAGE4_CFLAGS): New.
+
+	2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/85485
+	* bootstrap-cet.mk (STAGE2_CFLAGS): Remove -mcet.
+	(STAGE3_CFLAGS): Likewise.
+
+	2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/85485
+	* cet.m4 (GCC_CET_FLAGS): Replace -mcet with -mshstk.
+
+	2018-04-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace
+	--enable-cet=default with --enable-cet=auto.
+
+	2018-04-18  David Malcolm  <dmalcolm@redhat.com>
+
+	PR jit/85384
+	* acx.m4 (GCC_BASE_VER): Remove \$\$ from sed expression.
+
+2018-04-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	Sync with GCC
+	2018-04-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR gas/22318
+	* plugins.m4 (AC_PLUGINS): Use dlsym to check if libdl is needed.
+
+	2018-02-14  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	PR target/84148
+	* cet.m4: Check if target support multi-byte NOPS (SSE).
+
+2018-02-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-plugin.m4 (GCC_ENABLE_PLUGINS): Remove -q option passed to grep.
+
+2018-01-10  Nick Clifton  <nickc@redhat.com>
+
+	* Sync with GCC sources:
+
+	2017-11-14 Boris Kolpackov  <boris@codesynthesis.com>
+
+	* gcc-plugin.m4: Add support for MinGW.
+
+	2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* cet.m4: New file.
+
+	2017-11-15  Alexandre Oliva <aoliva@redhat.com>
+
+	* bootstrap-debug-lean.mk (do-compare): Use the
+	contrib/compare-debug script.
+
+	2017-10-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* bootstrap-cet.mk: New file.
+
+	2017-06-19  Martin Liska  <mliska@suse.cz>
+
+	* bootstrap-lto-noplugin.mk: Enable -flto in all PGO stages.
+	* bootstrap-lto.mk: Likewise.
+
+	2017-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* mt-android: New file.
+
+	2017-02-13  Richard Biener  <rguenther@suse.de>
+
+	* isl.m4: Remove support for ISL 0.14.
+
+	2017-01-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78478
+	* ax_check_define.m4: New file.
+
+	2017-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR other/79046
+	* acx.m4 (GCC_BASE_VER): New m4 function.
+	(ACX_TOOL_DIRS): Require GCC_BASE_VER, for
+	--with-gcc-major-version-only use just major number from BASE-VER.
+
+	2017-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	PR go/78978
+	* hwcaps.m4 (GCC_CHECK_ASSEMBLER_HWCAP): New macro.
+
 2017-01-05  Alan Modra  <amodra@gmail.com>
 
 	* picflag.m4: Import from gcc.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/gcc-plugin.m4 ./config/gcc-plugin.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/gcc-plugin.m4	2018-07-03 02:06:27.000000000 +0000
+++ ./config/gcc-plugin.m4	2018-07-10 02:06:11.000000000 +0000
@@ -19,8 +19,21 @@ AC_DEFUN([GCC_ENABLE_PLUGINS],
    enable_plugin=yes; default_plugin=yes)
 
    pluginlibs=
+   plugin_check=yes
 
    case "${host}" in
+     *-*-mingw*)
+       # Since plugin support under MinGW is not as straightforward as on
+       # other platforms (e.g., we have to link import library, etc), we
+       # only enable it if explicitly requested.
+       if test x"$default_plugin" = x"yes"; then
+         enable_plugin=no
+       elif test x"$enable_plugin" = x"yes"; then
+         # Use make's target variable to derive import library name.
+         pluginlibs='-Wl,--export-all-symbols -Wl,--out-implib=[$]@.a'
+	 plugin_check=no
+       fi
+     ;;
      *-*-darwin*)
        if test x$build = x$host; then
 	 export_sym_check="nm${exeext} -g"
@@ -41,20 +54,20 @@ AC_DEFUN([GCC_ENABLE_PLUGINS],
      ;;
    esac
 
-   if test x"$enable_plugin" = x"yes"; then
+   if test x"$enable_plugin" = x"yes" -a x"$plugin_check" = x"yes"; then
 
      AC_MSG_CHECKING([for exported symbols])
      if test "x$export_sym_check" != x; then
        echo "int main() {return 0;} int foobar() {return 0;}" > conftest.c
        ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest$ac_exeext > /dev/null 2>&1
-       if $export_sym_check conftest$ac_exeext | grep -q foobar > /dev/null; then
+       if $export_sym_check conftest$ac_exeext | grep foobar > /dev/null; then
 	 : # No need to use a flag
 	 AC_MSG_RESULT([yes])
        else
 	 AC_MSG_RESULT([yes])
 	 AC_MSG_CHECKING([for -rdynamic])
 	 ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest$ac_exeext > /dev/null 2>&1
-	 if $export_sym_check conftest$ac_exeext | grep -q foobar > /dev/null; then
+	 if $export_sym_check conftest$ac_exeext | grep foobar > /dev/null; then
 	   plugin_rdynamic=yes
 	   pluginlibs="-rdynamic"
 	 else
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/hwcaps.m4 ./config/hwcaps.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/hwcaps.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./config/hwcaps.m4	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1,60 @@
+dnl
+dnl Check if the assembler used supports disabling generation of hardware
+dnl capabilities.  This is only supported by Solaris as at the moment.
+dnl
+dnl Defines:
+dnl  HWCAP_CFLAGS='-Wa,-nH' if possible.
+dnl
+AC_DEFUN([GCC_CHECK_ASSEMBLER_HWCAP], [
+  test -z "$HWCAP_CFLAGS" && HWCAP_CFLAGS=''
+
+  # Restrict the test to Solaris, other assemblers (e.g. AIX as) have -nH
+  # with a different meaning.
+  case ${target_os} in
+    solaris2*)
+      ac_save_CFLAGS="$CFLAGS"
+      CFLAGS="$CFLAGS -Wa,-nH"
+
+      AC_MSG_CHECKING([for as that supports -Wa,-nH])
+      AC_TRY_COMPILE([], [return 0;], [ac_hwcap_flags=yes],[ac_hwcap_flags=no])
+      if test "$ac_hwcap_flags" = "yes"; then
+	HWCAP_CFLAGS="-Wa,-nH $HWCAP_CFLAGS"
+      fi
+      AC_MSG_RESULT($ac_hwcap_flags)
+
+      CFLAGS="$ac_save_CFLAGS"
+      ;;
+  esac
+
+  AC_SUBST(HWCAP_CFLAGS)
+])
+
+
+dnl
+dnl Check if the linker used supports linker maps to clear hardware
+dnl capabilities.  This is only supported on Solaris at the moment.
+dnl
+dnl Defines:
+dnl  HWCAP_LDFLAGS=-mclear-hwcap if possible
+dnl  LD (as a side effect of testing)
+dnl
+AC_DEFUN([GCC_CHECK_LINKER_HWCAP], [
+  test -z "$HWCAP_LDFLAGS" && HWCAP_LDFLAGS=''
+  AC_REQUIRE([AC_PROG_LD])
+
+  ac_save_LDFLAGS="$LDFLAGS"
+  LDFLAGS="$LFLAGS -mclear-hwcap"
+
+  AC_MSG_CHECKING([for -mclear-hwcap])
+  AC_TRY_LINK([], [return 0;], [ac_hwcap_ldflags=yes],[ac_hwcap_ldflags=no])
+  if test "$ac_hwcap_ldflags" = "yes"; then
+    HWCAP_LDFLAGS="-mclear-hwcap $HWCAP_LDFLAGS"
+  fi
+  AC_MSG_RESULT($ac_hwcap_ldflags)
+
+  LDFLAGS="$ac_save_LDFLAGS"
+
+  AC_SUBST(HWCAP_LDFLAGS)
+
+  AM_CONDITIONAL(HAVE_HWCAP, test $ac_hwcap_ldflags != no)
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/isl.m4 ./config/isl.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/isl.m4	2018-07-03 02:06:27.000000000 +0000
+++ ./config/isl.m4	2018-07-10 02:06:11.000000000 +0000
@@ -106,27 +106,15 @@ AC_DEFUN([ISL_CHECK_VERSION],
     LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs} ${gmplibs}"
     LIBS="${_isl_saved_LIBS} -lisl -lgmp"
 
-    AC_MSG_CHECKING([for isl 0.16, 0.15, or deprecated 0.14])
-    AC_TRY_LINK([#include <isl/ctx.h>],
-                [isl_ctx_get_max_operations (isl_ctx_alloc ());],
+    AC_MSG_CHECKING([for isl 0.15 or later])
+    AC_TRY_LINK([#include <isl/schedule.h>],
+                [isl_options_set_schedule_serialize_sccs (NULL, 0);],
                 [gcc_cv_isl=yes],
                 [gcc_cv_isl=no])
     AC_MSG_RESULT([$gcc_cv_isl])
 
     if test "${gcc_cv_isl}" = no ; then
-      AC_MSG_RESULT([recommended isl version is 0.16 or 0.15, the minimum required isl version 0.14 is deprecated])
-    fi
-
-    AC_MSG_CHECKING([for isl 0.16 or 0.15])
-    AC_TRY_LINK([#include <isl/schedule.h>],
-                [isl_options_set_schedule_serialize_sccs (NULL, 0);],
-                [ac_has_isl_options_set_schedule_serialize_sccs=yes],
-                [ac_has_isl_options_set_schedule_serialize_sccs=no])
-    AC_MSG_RESULT($ac_has_isl_options_set_schedule_serialize_sccs)
-
-    if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
-      islver="0.15"
-      AC_SUBST([islver])
+      AC_MSG_RESULT([required isl version is 0.15 or later])
     fi
 
     CFLAGS=$_isl_saved_CFLAGS
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/mt-android ./config/mt-android
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/mt-android	1970-01-01 00:00:00.000000000 +0000
+++ ./config/mt-android	2018-07-10 02:06:11.000000000 +0000
@@ -0,0 +1 @@
+CXXFLAGS_FOR_TARGET += -D_GNU_SOURCE -fexceptions -frtti
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/override.m4 ./config/override.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/override.m4	2018-07-03 02:06:27.000000000 +0000
+++ ./config/override.m4	2018-07-10 02:06:11.000000000 +0000
@@ -29,7 +29,7 @@ m4_copy_force([_AC_PREREQ], [AC_PREREQ])
 
 dnl Ensure exactly this Autoconf version is used
 m4_ifndef([_GCC_AUTOCONF_VERSION],
-  [m4_define([_GCC_AUTOCONF_VERSION], [2.64])])
+  [m4_define([_GCC_AUTOCONF_VERSION], [2.69])])
 
 dnl Test for the exact version when AC_INIT is expanded.
 dnl This allows to update the tree in steps (for testing)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/plugins.m4 ./config/plugins.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config/plugins.m4	2018-07-03 02:06:27.000000000 +0000
+++ ./config/plugins.m4	2018-07-10 02:06:11.000000000 +0000
@@ -16,6 +16,6 @@ AC_DEFUN([AC_PLUGINS],
     [plugins=$maybe_plugins]
   )
   if test "$plugins" = "yes"; then
-    AC_SEARCH_LIBS([dlopen], [dl])
+    AC_SEARCH_LIBS([dlsym], [dl])
   fi
 ])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config.guess ./config.guess
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config.guess	2018-07-03 02:06:27.000000000 +0000
+++ ./config.guess	2018-07-10 02:06:11.000000000 +0000
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2017 Free Software Foundation, Inc.
+#   Copyright 1992-2018 Free Software Foundation, Inc.
 
-timestamp='2017-03-22'
+timestamp='2018-05-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@ timestamp='2017-03-22'
 # 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/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -27,7 +27,7 @@ timestamp='2017-03-22'
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
 # Please send patches to <config-patches@gnu.org>.
 
@@ -39,7 +39,7 @@ Usage: $0 [OPTION]
 
 Output the configuration name of the system \`$me' is run on.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -107,9 +107,9 @@ trap "rm -f \$tmpfiles 2>/dev/null; rmdi
 dummy=$tmp/dummy ;
 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
 case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
+ ,,)    echo "int x;" > "$dummy.c" ;
 	for c in cc gcc c89 c99 ; do
-	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	  if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
 	     CC_FOR_BUILD="$c"; break ;
 	  fi ;
 	done ;
@@ -132,14 +132,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` |
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
-case "${UNAME_SYSTEM}" in
+case "$UNAME_SYSTEM" in
 Linux|GNU|GNU/*)
 	# If the system lacks a compiler, then just pick glibc.
 	# We could probably try harder.
 	LIBC=gnu
 
-	eval $set_cc_for_build
-	cat <<-EOF > $dummy.c
+	eval "$set_cc_for_build"
+	cat <<-EOF > "$dummy.c"
 	#include <features.h>
 	#if defined(__UCLIBC__)
 	LIBC=uclibc
@@ -149,13 +149,20 @@ Linux|GNU|GNU/*)
 	LIBC=gnu
 	#endif
 	EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+
+	# If ldd exists, use it to detect musl libc.
+	if command -v ldd >/dev/null && \
+		ldd --version 2>&1 | grep -q ^musl
+	then
+	    LIBC=musl
+	fi
 	;;
 esac
 
 # Note: order is significant - the case branches are not exclusive.
 
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
     *:NetBSD:*:*)
 	# NetBSD (nbsd) targets should (where applicable) match one or
 	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -169,30 +176,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 	# portion of the name.  We always set it to "unknown".
 	sysctl="sysctl -n hw.machine_arch"
 	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
-	    /sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || \
+	    "/sbin/$sysctl" 2>/dev/null || \
+	    "/usr/sbin/$sysctl" 2>/dev/null || \
 	    echo unknown)`
-	case "${UNAME_MACHINE_ARCH}" in
+	case "$UNAME_MACHINE_ARCH" in
 	    armeb) machine=armeb-unknown ;;
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
 	    sh5el) machine=sh5le-unknown ;;
 	    earmv*)
-		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
-		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
-		machine=${arch}${endian}-unknown
+		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+		machine="${arch}${endian}"-unknown
 		;;
-	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	    *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
 	# to ELF recently (or will in the future) and ABI.
-	case "${UNAME_MACHINE_ARCH}" in
+	case "$UNAME_MACHINE_ARCH" in
 	    earm*)
 		os=netbsdelf
 		;;
 	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-		eval $set_cc_for_build
+		eval "$set_cc_for_build"
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
 			| grep -q __ELF__
 		then
@@ -208,10 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 		;;
 	esac
 	# Determine ABI tags.
-	case "${UNAME_MACHINE_ARCH}" in
+	case "$UNAME_MACHINE_ARCH" in
 	    earm*)
 		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
-		abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
 		;;
 	esac
 	# The OS release
@@ -219,46 +226,55 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 	# thus, need a distinct triplet. However, they do not need
 	# kernel version information, so it can be replaced with a
 	# suitable tag, in the style of linux-gnu.
-	case "${UNAME_VERSION}" in
+	case "$UNAME_VERSION" in
 	    Debian*)
 		release='-gnu'
 		;;
 	    *)
-		release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
+		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
 		;;
 	esac
 	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
 	# contains redundant information, the shorter form:
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}${abi}"
+	echo "$machine-${os}${release}${abi}"
 	exit ;;
     *:Bitrig:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+	echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
 	exit ;;
     *:OpenBSD:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
 	exit ;;
     *:LibertyBSD:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+	echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
+	exit ;;
+    *:MidnightBSD:*:*)
+	echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
 	exit ;;
     *:ekkoBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
 	exit ;;
     *:SolidBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
 	exit ;;
     macppc:MirBSD:*:*)
-	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+	echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
 	exit ;;
     *:MirBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
 	exit ;;
     *:Sortix:*:*)
-	echo ${UNAME_MACHINE}-unknown-sortix
+	echo "$UNAME_MACHINE"-unknown-sortix
+	exit ;;
+    *:Redox:*:*)
+	echo "$UNAME_MACHINE"-unknown-redox
 	exit ;;
+    mips:OSF1:*.*)
+        echo mips-dec-osf1
+        exit ;;
     alpha:OSF1:*:*)
 	case $UNAME_RELEASE in
 	*4.0)
@@ -310,28 +326,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+	echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
 	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
 	exitcode=$?
 	trap '' 0
 	exit $exitcode ;;
-    Alpha\ *:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# Should we change UNAME_MACHINE based on the output of uname instead
-	# of the specific Alpha model?
-	echo alpha-pc-interix
-	exit ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit ;;
     Amiga*:UNIX_System_V:4.0:*)
 	echo m68k-unknown-sysv4
 	exit ;;
     *:[Aa]miga[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-amigaos
+	echo "$UNAME_MACHINE"-unknown-amigaos
 	exit ;;
     *:[Mm]orph[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-morphos
+	echo "$UNAME_MACHINE"-unknown-morphos
 	exit ;;
     *:OS/390:*:*)
 	echo i370-ibm-openedition
@@ -343,7 +350,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 	echo powerpc-ibm-os400
 	exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
+	echo arm-acorn-riscix"$UNAME_RELEASE"
 	exit ;;
     arm*:riscos:*:*|arm*:RISCOS:*:*)
 	echo arm-unknown-riscos
@@ -370,19 +377,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 	    sparc) echo sparc-icl-nx7; exit ;;
 	esac ;;
     s390x:SunOS:*:*)
-	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
 	exit ;;
     sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
 	exit ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
 	exit ;;
     i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-	echo i386-pc-auroraux${UNAME_RELEASE}
+	echo i386-pc-auroraux"$UNAME_RELEASE"
 	exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-	eval $set_cc_for_build
+	eval "$set_cc_for_build"
 	SUN_ARCH=i386
 	# If there is a compiler, see if it is configured for 64-bit objects.
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
@@ -395,13 +402,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 		SUN_ARCH=x86_64
 	    fi
 	fi
-	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
 	exit ;;
     sun4*:SunOS:6*:*)
 	# According to config.sub, this is the proper way to canonicalize
 	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
 	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
 	exit ;;
     sun4*:SunOS:*:*)
 	case "`/usr/bin/arch -k`" in
@@ -410,25 +417,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 		;;
 	esac
 	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
 	exit ;;
     sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
+	echo m68k-sun-sunos"$UNAME_RELEASE"
 	exit ;;
     sun*:*:4.2BSD:*)
 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
+	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
 	case "`/bin/arch`" in
 	    sun3)
-		echo m68k-sun-sunos${UNAME_RELEASE}
+		echo m68k-sun-sunos"$UNAME_RELEASE"
 		;;
 	    sun4)
-		echo sparc-sun-sunos${UNAME_RELEASE}
+		echo sparc-sun-sunos"$UNAME_RELEASE"
 		;;
 	esac
 	exit ;;
     aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
+	echo sparc-auspex-sunos"$UNAME_RELEASE"
 	exit ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
@@ -439,44 +446,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint"$UNAME_RELEASE"
 	exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint"$UNAME_RELEASE"
 	exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint"$UNAME_RELEASE"
 	exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-	echo m68k-milan-mint${UNAME_RELEASE}
+	echo m68k-milan-mint"$UNAME_RELEASE"
 	exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-	echo m68k-hades-mint${UNAME_RELEASE}
+	echo m68k-hades-mint"$UNAME_RELEASE"
 	exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-	echo m68k-unknown-mint${UNAME_RELEASE}
+	echo m68k-unknown-mint"$UNAME_RELEASE"
 	exit ;;
     m68k:machten:*:*)
-	echo m68k-apple-machten${UNAME_RELEASE}
+	echo m68k-apple-machten"$UNAME_RELEASE"
 	exit ;;
     powerpc:machten:*:*)
-	echo powerpc-apple-machten${UNAME_RELEASE}
+	echo powerpc-apple-machten"$UNAME_RELEASE"
 	exit ;;
     RISC*:Mach:*:*)
 	echo mips-dec-mach_bsd4.3
 	exit ;;
     RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
+	echo mips-dec-ultrix"$UNAME_RELEASE"
 	exit ;;
     VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
+	echo vax-dec-ultrix"$UNAME_RELEASE"
 	exit ;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix${UNAME_RELEASE}
+	echo clipper-intergraph-clix"$UNAME_RELEASE"
 	exit ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
+	eval "$set_cc_for_build"
+	sed 's/^	//' << EOF > "$dummy.c"
 #ifdef __cplusplus
 #include <stdio.h>  /* for printf() prototype */
 	int main (int argc, char *argv[]) {
@@ -485,23 +492,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 #endif
 	#if defined (host_mips) && defined (MIPSEB)
 	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
 	#endif
 	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
 	#endif
 	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
 	#endif
 	#endif
 	  exit (-1);
 	}
 EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c &&
-	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
 	    { echo "$SYSTEM_NAME"; exit; }
-	echo mips-mips-riscos${UNAME_RELEASE}
+	echo mips-mips-riscos"$UNAME_RELEASE"
 	exit ;;
     Motorola:PowerMAX_OS:*:*)
 	echo powerpc-motorola-powermax
@@ -527,17 +534,17 @@ EOF
     AViiON:dgux:*:*)
 	# DG/UX returns AViiON for all architectures
 	UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
 	then
-	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
+	       [ "$TARGET_BINARY_INTERFACE"x = x ]
 	    then
-		echo m88k-dg-dgux${UNAME_RELEASE}
+		echo m88k-dg-dgux"$UNAME_RELEASE"
 	    else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+		echo m88k-dg-dguxbcs"$UNAME_RELEASE"
 	    fi
 	else
-	    echo i586-dg-dgux${UNAME_RELEASE}
+	    echo i586-dg-dgux"$UNAME_RELEASE"
 	fi
 	exit ;;
     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
@@ -554,7 +561,7 @@ EOF
 	echo m68k-tektronix-bsd
 	exit ;;
     *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
 	exit ;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
 	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
@@ -566,14 +573,14 @@ EOF
 	if [ -x /usr/bin/oslevel ] ; then
 		IBM_REV=`/usr/bin/oslevel`
 	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
 	fi
-	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
 	exit ;;
     *:AIX:2:3)
 	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		eval $set_cc_for_build
-		sed 's/^		//' << EOF >$dummy.c
+		eval "$set_cc_for_build"
+		sed 's/^		//' << EOF > "$dummy.c"
 		#include <sys/systemcfg.h>
 
 		main()
@@ -584,7 +591,7 @@ EOF
 			exit(0);
 			}
 EOF
-		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
 		then
 			echo "$SYSTEM_NAME"
 		else
@@ -598,7 +605,7 @@ EOF
 	exit ;;
     *:AIX:*:[4567])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
 	else
 		IBM_ARCH=powerpc
@@ -607,18 +614,18 @@ EOF
 		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
 			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
 	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
 	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
 	exit ;;
     *:AIX:*:*)
 	echo rs6000-ibm-aix
 	exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
 	echo romp-ibm-bsd4.4
 	exit ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
 	exit ;;                             # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
 	echo rs6000-bull-bosx
@@ -633,28 +640,28 @@ EOF
 	echo m68k-hp-bsd4.4
 	exit ;;
     9000/[34678]??:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
+	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+	case "$UNAME_MACHINE" in
+	    9000/31?)            HP_ARCH=m68000 ;;
+	    9000/[34]??)         HP_ARCH=m68k ;;
 	    9000/[678][0-9][0-9])
 		if [ -x /usr/bin/getconf ]; then
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
 		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-		    case "${sc_cpu_version}" in
+		    case "$sc_cpu_version" in
 		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
 		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
 		      532)                      # CPU_PA_RISC2_0
-			case "${sc_kernel_bits}" in
+			case "$sc_kernel_bits" in
 			  32) HP_ARCH=hppa2.0n ;;
 			  64) HP_ARCH=hppa2.0w ;;
 			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
 			esac ;;
 		    esac
 		fi
-		if [ "${HP_ARCH}" = "" ]; then
-		    eval $set_cc_for_build
-		    sed 's/^		//' << EOF >$dummy.c
+		if [ "$HP_ARCH" = "" ]; then
+		    eval "$set_cc_for_build"
+		    sed 's/^		//' << EOF > "$dummy.c"
 
 		#define _HPUX_SOURCE
 		#include <stdlib.h>
@@ -687,13 +694,13 @@ EOF
 		    exit (0);
 		}
 EOF
-		    (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
 		fi ;;
 	esac
-	if [ ${HP_ARCH} = hppa2.0w ]
+	if [ "$HP_ARCH" = hppa2.0w ]
 	then
-	    eval $set_cc_for_build
+	    eval "$set_cc_for_build"
 
 	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
 	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
@@ -712,15 +719,15 @@ EOF
 		HP_ARCH=hppa64
 	    fi
 	fi
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
 	exit ;;
     ia64:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ia64-hp-hpux${HPUX_REV}
+	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux"$HPUX_REV"
 	exit ;;
     3050*:HI-UX:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
+	eval "$set_cc_for_build"
+	sed 's/^	//' << EOF > "$dummy.c"
 	#include <unistd.h>
 	int
 	main ()
@@ -745,11 +752,11 @@ EOF
 	  exit (0);
 	}
 EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
 		{ echo "$SYSTEM_NAME"; exit; }
 	echo unknown-hitachi-hiuxwe2
 	exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
 	echo hppa1.1-hp-bsd
 	exit ;;
     9000/8??:4.3bsd:*:*)
@@ -758,7 +765,7 @@ EOF
     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
 	echo hppa1.0-hp-mpeix
 	exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
 	echo hppa1.1-hp-osf
 	exit ;;
     hp8??:OSF1:*:*)
@@ -766,9 +773,9 @@ EOF
 	exit ;;
     i*86:OSF1:*:*)
 	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	    echo "$UNAME_MACHINE"-unknown-osf1mk
 	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
+	    echo "$UNAME_MACHINE"-unknown-osf1
 	fi
 	exit ;;
     parisc*:Lites*:*:*)
@@ -793,128 +800,109 @@ EOF
 	echo c4-convex-bsd
 	exit ;;
     CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
 	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
 	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
 	      -e 's/\.[^.]*$/.X/'
 	exit ;;
     CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     CRAY*T3E:*:*:*)
-	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     *:UNICOS/mp:*:*)
-	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
 	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
 	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     5000:UNIX_System_V:4.*:*)
 	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
 	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
 	exit ;;
     sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	echo sparc-unknown-bsdi"$UNAME_RELEASE"
 	exit ;;
     *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
 	exit ;;
     *:FreeBSD:*:*)
 	UNAME_PROCESSOR=`/usr/bin/uname -p`
-	case ${UNAME_PROCESSOR} in
+	case "$UNAME_PROCESSOR" in
 	    amd64)
-				UNAME_PROCESSOR=x86_64 ;;
+		UNAME_PROCESSOR=x86_64 ;;
 	    i386)
 		UNAME_PROCESSOR=i586 ;;
 	esac
-	echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
 	exit ;;
     i*:CYGWIN*:*)
-	echo ${UNAME_MACHINE}-pc-cygwin
+	echo "$UNAME_MACHINE"-pc-cygwin
 	exit ;;
     *:MINGW64*:*)
-	echo ${UNAME_MACHINE}-pc-mingw64
+	echo "$UNAME_MACHINE"-pc-mingw64
 	exit ;;
     *:MINGW*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
+	echo "$UNAME_MACHINE"-pc-mingw32
 	exit ;;
     *:MSYS*:*)
-	echo ${UNAME_MACHINE}-pc-msys
-	exit ;;
-    i*:windows32*:*)
-	# uname -m includes "-pc" on this system.
-	echo ${UNAME_MACHINE}-mingw32
+	echo "$UNAME_MACHINE"-pc-msys
 	exit ;;
     i*:PW*:*)
-	echo ${UNAME_MACHINE}-pc-pw32
+	echo "$UNAME_MACHINE"-pc-pw32
 	exit ;;
     *:Interix*:*)
-	case ${UNAME_MACHINE} in
+	case "$UNAME_MACHINE" in
 	    x86)
-		echo i586-pc-interix${UNAME_RELEASE}
+		echo i586-pc-interix"$UNAME_RELEASE"
 		exit ;;
 	    authenticamd | genuineintel | EM64T)
-		echo x86_64-unknown-interix${UNAME_RELEASE}
+		echo x86_64-unknown-interix"$UNAME_RELEASE"
 		exit ;;
 	    IA64)
-		echo ia64-unknown-interix${UNAME_RELEASE}
+		echo ia64-unknown-interix"$UNAME_RELEASE"
 		exit ;;
 	esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-	echo i${UNAME_MACHINE}-pc-mks
-	exit ;;
-    8664:Windows_NT:*)
-	echo x86_64-pc-mks
-	exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i586-pc-interix
-	exit ;;
     i*:UWIN*:*)
-	echo ${UNAME_MACHINE}-pc-uwin
+	echo "$UNAME_MACHINE"-pc-uwin
 	exit ;;
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
 	echo x86_64-unknown-cygwin
 	exit ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin
-	exit ;;
     prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
 	exit ;;
     *:GNU:*:*)
 	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
 	exit ;;
     i*86:Minix:*:*)
-	echo ${UNAME_MACHINE}-pc-minix
+	echo "$UNAME_MACHINE"-pc-minix
 	exit ;;
     aarch64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     aarch64_be:Linux:*:*)
 	UNAME_MACHINE=aarch64_be
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -928,63 +916,63 @@ EOF
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
 	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     arm*:Linux:*:*)
-	eval $set_cc_for_build
+	eval "$set_cc_for_build"
 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
 	    | grep -q __ARM_EABI__
 	then
-	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	    echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	else
 	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
 		| grep -q __ARM_PCS_VFP
 	    then
-		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
 	    else
-		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
 	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     cris:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
 	exit ;;
     crisv32:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
 	exit ;;
     e2k:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     frv:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     hexagon:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     i*86:Linux:*:*)
-	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
 	exit ;;
     ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     k1om:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
+	eval "$set_cc_for_build"
+	sed 's/^	//' << EOF > "$dummy.c"
 	#undef CPU
 	#undef ${UNAME_MACHINE}
 	#undef ${UNAME_MACHINE}el
@@ -998,70 +986,70 @@ EOF
 	#endif
 	#endif
 EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
+	test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
 	;;
     mips64el:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     openrisc*:Linux:*:*)
-	echo or1k-unknown-linux-${LIBC}
+	echo or1k-unknown-linux-"$LIBC"
 	exit ;;
     or32:Linux:*:* | or1k*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     padre:Linux:*:*)
-	echo sparc-unknown-linux-${LIBC}
+	echo sparc-unknown-linux-"$LIBC"
 	exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-${LIBC}
+	echo hppa64-unknown-linux-"$LIBC"
 	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
-	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
-	  *)    echo hppa-unknown-linux-${LIBC} ;;
+	  PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
+	  PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
+	  *)    echo hppa-unknown-linux-"$LIBC" ;;
 	esac
 	exit ;;
     ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-${LIBC}
+	echo powerpc64-unknown-linux-"$LIBC"
 	exit ;;
     ppc:Linux:*:*)
-	echo powerpc-unknown-linux-${LIBC}
+	echo powerpc-unknown-linux-"$LIBC"
 	exit ;;
     ppc64le:Linux:*:*)
-	echo powerpc64le-unknown-linux-${LIBC}
+	echo powerpc64le-unknown-linux-"$LIBC"
 	exit ;;
     ppcle:Linux:*:*)
-	echo powerpcle-unknown-linux-${LIBC}
+	echo powerpcle-unknown-linux-"$LIBC"
 	exit ;;
     riscv32:Linux:*:* | riscv64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+	echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
 	exit ;;
     sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+	echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
 	exit ;;
     xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1075,34 +1063,34 @@ EOF
 	# I am not positive that other SVR4 systems won't match this,
 	# I just have to hope.  -- rms.
 	# Use sysv4.2uw... so that sysv4* matches it.
-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
 	exit ;;
     i*86:OS/2:*:*)
 	# If we were able to find `uname', then EMX Unix compatibility
 	# is probably installed.
-	echo ${UNAME_MACHINE}-pc-os2-emx
+	echo "$UNAME_MACHINE"-pc-os2-emx
 	exit ;;
     i*86:XTS-300:*:STOP)
-	echo ${UNAME_MACHINE}-unknown-stop
+	echo "$UNAME_MACHINE"-unknown-stop
 	exit ;;
     i*86:atheos:*:*)
-	echo ${UNAME_MACHINE}-unknown-atheos
+	echo "$UNAME_MACHINE"-unknown-atheos
 	exit ;;
     i*86:syllable:*:*)
-	echo ${UNAME_MACHINE}-pc-syllable
+	echo "$UNAME_MACHINE"-pc-syllable
 	exit ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
+	echo i386-unknown-lynxos"$UNAME_RELEASE"
 	exit ;;
     i*86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	echo "$UNAME_MACHINE"-pc-msdosdjgpp
 	exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+    i*86:*:4.*:*)
+	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
 	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+		echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
 	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+		echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
 	fi
 	exit ;;
     i*86:*:5:[678]*)
@@ -1112,12 +1100,12 @@ EOF
 	    *Pentium)	     UNAME_MACHINE=i586 ;;
 	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
 	esac
-	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
 	exit ;;
     i*86:*:3.2:*)
 	if test -f /usr/options/cb.name; then
 		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+		echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
 	elif /bin/uname -X 2>/dev/null >/dev/null ; then
 		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
 		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1127,9 +1115,9 @@ EOF
 			&& UNAME_MACHINE=i686
 		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
 			&& UNAME_MACHINE=i686
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+		echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
 	else
-		echo ${UNAME_MACHINE}-pc-sysv32
+		echo "$UNAME_MACHINE"-pc-sysv32
 	fi
 	exit ;;
     pc:*:*:*)
@@ -1149,9 +1137,9 @@ EOF
 	exit ;;
     i860:*:4.*:*) # i860-SVR4
 	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	  echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
 	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	  echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
 	fi
 	exit ;;
     mini*:CTIX:SYS*5:*)
@@ -1171,9 +1159,9 @@ EOF
 	test -r /etc/.relid \
 	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
 	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
 	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
 	  && { echo i486-ncr-sysv4; exit; } ;;
@@ -1182,28 +1170,28 @@ EOF
 	test -r /etc/.relid \
 	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
 	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
 	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	echo m68k-unknown-lynxos"$UNAME_RELEASE"
 	exit ;;
     mc68030:UNIX_System_V:4.*:*)
 	echo m68k-atari-sysv4
 	exit ;;
     TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	echo sparc-unknown-lynxos"$UNAME_RELEASE"
 	exit ;;
     rs6000:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	echo rs6000-unknown-lynxos"$UNAME_RELEASE"
 	exit ;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	echo powerpc-unknown-lynxos"$UNAME_RELEASE"
 	exit ;;
     SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
+	echo mips-dde-sysv"$UNAME_RELEASE"
 	exit ;;
     RM*:ReliantUNIX-*:*:*)
 	echo mips-sni-sysv4
@@ -1214,7 +1202,7 @@ EOF
     *:SINIX-*:*:*)
 	if uname -p 2>/dev/null >/dev/null ; then
 		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
+		echo "$UNAME_MACHINE"-sni-sysv4
 	else
 		echo ns32k-sni-sysv
 	fi
@@ -1234,23 +1222,23 @@ EOF
 	exit ;;
     i*86:VOS:*:*)
 	# From Paul.Green@stratus.com.
-	echo ${UNAME_MACHINE}-stratus-vos
+	echo "$UNAME_MACHINE"-stratus-vos
 	exit ;;
     *:VOS:*:*)
 	# From Paul.Green@stratus.com.
 	echo hppa1.1-stratus-vos
 	exit ;;
     mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
+	echo m68k-apple-aux"$UNAME_RELEASE"
 	exit ;;
     news*:NEWS-OS:6*:*)
 	echo mips-sony-newsos6
 	exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
 	if [ -d /usr/nec ]; then
-		echo mips-nec-sysv${UNAME_RELEASE}
+		echo mips-nec-sysv"$UNAME_RELEASE"
 	else
-		echo mips-unknown-sysv${UNAME_RELEASE}
+		echo mips-unknown-sysv"$UNAME_RELEASE"
 	fi
 	exit ;;
     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
@@ -1269,49 +1257,56 @@ EOF
 	echo x86_64-unknown-haiku
 	exit ;;
     SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux${UNAME_RELEASE}
+	echo sx4-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux${UNAME_RELEASE}
+	echo sx5-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-6:SUPER-UX:*:*)
-	echo sx6-nec-superux${UNAME_RELEASE}
+	echo sx6-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-7:SUPER-UX:*:*)
-	echo sx7-nec-superux${UNAME_RELEASE}
+	echo sx7-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-8:SUPER-UX:*:*)
-	echo sx8-nec-superux${UNAME_RELEASE}
+	echo sx8-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-8R:SUPER-UX:*:*)
-	echo sx8r-nec-superux${UNAME_RELEASE}
+	echo sx8r-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-ACE:SUPER-UX:*:*)
-	echo sxace-nec-superux${UNAME_RELEASE}
+	echo sxace-nec-superux"$UNAME_RELEASE"
 	exit ;;
     Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	echo powerpc-apple-rhapsody"$UNAME_RELEASE"
 	exit ;;
     *:Rhapsody:*:*)
-	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
 	exit ;;
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	eval $set_cc_for_build
+	eval "$set_cc_for_build"
 	if test "$UNAME_PROCESSOR" = unknown ; then
 	    UNAME_PROCESSOR=powerpc
 	fi
-	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+	if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
 	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		    (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
-		    grep IS_64BIT_ARCH >/dev/null
+		       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		       grep IS_64BIT_ARCH >/dev/null
 		then
 		    case $UNAME_PROCESSOR in
 			i386) UNAME_PROCESSOR=x86_64 ;;
 			powerpc) UNAME_PROCESSOR=powerpc64 ;;
 		    esac
 		fi
+		# On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+		if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+		       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		       grep IS_PPC >/dev/null
+		then
+		    UNAME_PROCESSOR=powerpc
+		fi
 	    fi
 	elif test "$UNAME_PROCESSOR" = i386 ; then
 	    # Avoid executing cc on OS X 10.9, as it ships with a stub
@@ -1322,7 +1317,7 @@ EOF
 	    # that Apple uses in portable devices.
 	    UNAME_PROCESSOR=x86_64
 	fi
-	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
@@ -1330,22 +1325,25 @@ EOF
 		UNAME_PROCESSOR=i386
 		UNAME_MACHINE=pc
 	fi
-	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
 	exit ;;
     *:QNX:*:4*)
 	echo i386-pc-qnx
 	exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
-	echo neo-tandem-nsk${UNAME_RELEASE}
+    NEO-*:NONSTOP_KERNEL:*:*)
+	echo neo-tandem-nsk"$UNAME_RELEASE"
 	exit ;;
     NSE-*:NONSTOP_KERNEL:*:*)
-	echo nse-tandem-nsk${UNAME_RELEASE}
+	echo nse-tandem-nsk"$UNAME_RELEASE"
 	exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk${UNAME_RELEASE}
+    NSR-*:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk"$UNAME_RELEASE"
 	exit ;;
-    NSX-?:NONSTOP_KERNEL:*:*)
-	echo nsx-tandem-nsk${UNAME_RELEASE}
+    NSV-*:NONSTOP_KERNEL:*:*)
+	echo nsv-tandem-nsk"$UNAME_RELEASE"
+	exit ;;
+    NSX-*:NONSTOP_KERNEL:*:*)
+	echo nsx-tandem-nsk"$UNAME_RELEASE"
 	exit ;;
     *:NonStop-UX:*:*)
 	echo mips-compaq-nonstopux
@@ -1354,7 +1352,7 @@ EOF
 	echo bs2000-siemens-sysv
 	exit ;;
     DS/*:UNIX_System_V:*:*)
-	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
 	exit ;;
     *:Plan9:*:*)
 	# "uname -m" is not consistent, so use $cputype instead. 386
@@ -1365,7 +1363,7 @@ EOF
 	else
 	    UNAME_MACHINE="$cputype"
 	fi
-	echo ${UNAME_MACHINE}-unknown-plan9
+	echo "$UNAME_MACHINE"-unknown-plan9
 	exit ;;
     *:TOPS-10:*:*)
 	echo pdp10-unknown-tops10
@@ -1386,14 +1384,14 @@ EOF
 	echo pdp10-unknown-its
 	exit ;;
     SEI:*:*:SEIUX)
-	echo mips-sei-seiux${UNAME_RELEASE}
+	echo mips-sei-seiux"$UNAME_RELEASE"
 	exit ;;
     *:DragonFly:*:*)
-	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
 	exit ;;
     *:*VMS:*:*)
 	UNAME_MACHINE=`(uname -p) 2>/dev/null`
-	case "${UNAME_MACHINE}" in
+	case "$UNAME_MACHINE" in
 	    A*) echo alpha-dec-vms ; exit ;;
 	    I*) echo ia64-dec-vms ; exit ;;
 	    V*) echo vax-dec-vms ; exit ;;
@@ -1402,32 +1400,44 @@ EOF
 	echo i386-pc-xenix
 	exit ;;
     i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
+	echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
 	exit ;;
     i*86:rdos:*:*)
-	echo ${UNAME_MACHINE}-pc-rdos
+	echo "$UNAME_MACHINE"-pc-rdos
 	exit ;;
     i*86:AROS:*:*)
-	echo ${UNAME_MACHINE}-pc-aros
+	echo "$UNAME_MACHINE"-pc-aros
 	exit ;;
     x86_64:VMkernel:*:*)
-	echo ${UNAME_MACHINE}-unknown-esx
+	echo "$UNAME_MACHINE"-unknown-esx
 	exit ;;
     amd64:Isilon\ OneFS:*:*)
 	echo x86_64-unknown-onefs
 	exit ;;
 esac
 
+echo "$0: unable to guess system type" >&2
+
+case "$UNAME_MACHINE:$UNAME_SYSTEM" in
+    mips:Linux | mips64:Linux)
+	# If we got here on MIPS GNU/Linux, output extra information.
+	cat >&2 <<EOF
+
+NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
+the system type. Please install a C compiler and try again.
+EOF
+	;;
+esac
+
 cat >&2 <<EOF
-$0: unable to guess system type
 
 This script (version $timestamp), has failed to recognize the
-operating system you are using. If your script is old, overwrite
-config.guess and config.sub with the latest versions from:
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 If $0 has already been updated, send the following data and any
 information you think might be pertinent to config-patches@gnu.org to
@@ -1450,16 +1460,16 @@ hostinfo               = `(hostinfo) 2>/
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
 
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM  = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
 EOF
 
 exit 1
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-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.1.0.20180703/config-ml.in ./config-ml.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config-ml.in	2018-07-03 02:06:27.000000000 +0000
+++ ./config-ml.in	2018-07-10 02:06:11.000000000 +0000
@@ -511,7 +511,6 @@ multi-do:
 				ADAFLAGS="$(ADAFLAGS) $${flags}" \
 				prefix="$(prefix)" \
 				exec_prefix="$(exec_prefix)" \
-				GCJFLAGS="$(GCJFLAGS) $${flags}" \
 				GOCFLAGS="$(GOCFLAGS) $${flags}" \
 				CXXFLAGS="$(CXXFLAGS) $${flags}" \
 				LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
@@ -746,13 +745,12 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
         break
       fi
     done
-    ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags"'
+    ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags"'
 
     if [ "${with_target_subdir}" = "." ]; then
 	CC_=$CC' '
 	CXX_=$CXX' '
 	F77_=$F77' '
-	GCJ_=$GCJ' '
 	GFORTRAN_=$GFORTRAN' '
 	GOC_=$GOC' '
     else
@@ -795,18 +793,6 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
 	  esac
 	done
 
-	GCJ_=
-	for arg in ${GCJ}; do
-	  case $arg in
-	  -[BIL]"${ML_POPDIR}"/*)
-	    GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-	  "${ML_POPDIR}"/*)
-	    GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-	  *)
-	    GCJ_="${GCJ_}${arg} " ;;
-	  esac
-	done
-
 	GFORTRAN_=
 	for arg in ${GFORTRAN}; do
 	  case $arg in
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config.sub ./config.sub
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/config.sub	2018-07-03 02:06:27.000000000 +0000
+++ ./config.sub	2018-07-10 02:06:11.000000000 +0000
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2017 Free Software Foundation, Inc.
+#   Copyright 1992-2018 Free Software Foundation, Inc.
 
-timestamp='2017-04-02'
+timestamp='2018-05-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@ timestamp='2017-04-02'
 # 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/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -33,7 +33,7 @@ timestamp='2017-04-02'
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIA
 
 Canonicalize a configuration name.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -67,7 +67,7 @@ Report bugs and patches to <config-patch
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -94,7 +94,7 @@ while test $# -gt 0 ; do
 
     *local*)
        # First pass through any local machine types.
-       echo $1
+       echo "$1"
        exit ;;
 
     * )
@@ -112,26 +112,31 @@ esac
 
 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
 # Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
-  kopensolaris*-gnu* | cloudabi*-eabi* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  android-linux)
-    os=-linux-android
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
+    nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+	linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+	knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+	kopensolaris*-gnu* | cloudabi*-eabi* | \
+	storm-chaos* | os2-emx* | rtmk-nova*)
+	os=-$maybe_os
+	basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+	;;
+    android-linux)
+	os=-linux-android
+	basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+	;;
+    *)
+	basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
+	case $1 in
+	    *-*)
+		os=`echo "$1" | sed 's/.*-/-/'`
+		;;
+	    *)
+		os=
+		;;
+	esac
+	;;
 esac
 
 ### Let's recognize common machines as not being operating systems so
@@ -178,44 +183,44 @@ case $os in
 		;;
 	-sco6)
 		os=-sco5v6
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
 		;;
 	-sco5)
 		os=-sco3.2v5
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
 		;;
 	-sco4)
 		os=-sco3.2v4
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
 		;;
 	-sco3.2.[4-9]*)
 		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
 		;;
 	-sco3.2v[4-9]*)
 		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
 		;;
 	-sco5v6*)
 		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
 		;;
 	-sco*)
 		os=-sco3.2v2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
 		;;
 	-udk*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
 		;;
 	-isc)
 		os=-isc2.2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
 		;;
 	-clix*)
 		basic_machine=clipper-intergraph
 		;;
 	-isc*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
 		;;
 	-lynx*178)
 		os=-lynxos178
@@ -227,10 +232,7 @@ case $os in
 		os=-lynxos
 		;;
 	-ptx*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-		;;
-	-windowsnt*)
-		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
 		;;
 	-psos*)
 		os=-psos
@@ -252,12 +254,12 @@ case $basic_machine in
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
 	| arc | arceb \
-	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv6m | armv[78][arm] \
 	| avr | avr32 \
 	| ba \
 	| be32 | be64 \
 	| bfin \
-	| c4x | c8051 | clipper \
+	| c4x | c8051 | clipper | csky \
 	| d10v | d30v | dlx | dsp16xx \
 	| e2k | epiphany \
 	| fido | fr30 | frv | ft32 \
@@ -296,10 +298,11 @@ case $basic_machine in
 	| mt \
 	| msp430 \
 	| nds32 | nds32le | nds32be \
+	| nfp \
 	| nios | nios2 | nios2eb | nios2el \
 	| ns16k | ns32k \
 	| open8 | or1k | or1knd | or32 \
-	| pdp10 | pdp11 | pj | pjl \
+	| pdp10 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pru \
 	| pyramid \
@@ -316,7 +319,6 @@ case $basic_machine in
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
 	| visium \
 	| wasm32 \
-	| we32k \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
 		basic_machine=$basic_machine-unknown
@@ -337,7 +339,11 @@ case $basic_machine in
 		basic_machine=$basic_machine-unknown
 		os=-none
 		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
+		;;
+	m9s12z | m68hcs12z | hcs12z | s12z)
+		basic_machine=s12z-unknown
+		os=-none
 		;;
 	ms1)
 		basic_machine=mt-unknown
@@ -366,7 +372,7 @@ case $basic_machine in
 	  ;;
 	# Object if more than one company name word.
 	*-*-*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
 		exit 1
 		;;
 	# Recognize the basic CPU types with company name.
@@ -382,7 +388,7 @@ case $basic_machine in
 	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
-	| c8051-* | clipper-* | craynv-* | cydra-* \
+	| c8051-* | clipper-* | craynv-* | csky-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| e2k-* | elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -423,6 +429,7 @@ case $basic_machine in
 	| mt-* \
 	| msp430-* \
 	| nds32-* | nds32le-* | nds32be-* \
+	| nfp-* \
 	| nios-* | nios2-* | nios2eb-* | nios2el-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| open8-* \
@@ -461,7 +468,7 @@ case $basic_machine in
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
 	386bsd)
-		basic_machine=i386-unknown
+		basic_machine=i386-pc
 		os=-bsd
 		;;
 	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
@@ -495,7 +502,7 @@ case $basic_machine in
 		basic_machine=x86_64-pc
 		;;
 	amd64-*)
-		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	amdahl)
 		basic_machine=580-amdahl
@@ -540,7 +547,7 @@ case $basic_machine in
 		os=-linux
 		;;
 	blackfin-*)
-		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		os=-linux
 		;;
 	bluegene*)
@@ -548,13 +555,13 @@ case $basic_machine in
 		os=-cnk
 		;;
 	c54x-*)
-		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	c55x-*)
-		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	c6x-*)
-		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	c90)
 		basic_machine=c90-cray
@@ -643,7 +650,7 @@ case $basic_machine in
 		basic_machine=rs6000-bull
 		os=-bosx
 		;;
-	dpx2* | dpx2*-bull)
+	dpx2*)
 		basic_machine=m68k-bull
 		os=-sysv3
 		;;
@@ -652,7 +659,7 @@ case $basic_machine in
 		os=$os"spe"
 		;;
 	e500v[12]-*)
-		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		os=$os"spe"
 		;;
 	ebmon29k)
@@ -744,9 +751,6 @@ case $basic_machine in
 	hp9k8[0-9][0-9] | hp8[0-9][0-9])
 		basic_machine=hppa1.0-hp
 		;;
-	hppa-next)
-		os=-nextstep3
-		;;
 	hppaosf)
 		basic_machine=hppa1.1-hp
 		os=-osf
@@ -759,26 +763,26 @@ case $basic_machine in
 		basic_machine=i370-ibm
 		;;
 	i*86v32)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
 		os=-sysv32
 		;;
 	i*86v4*)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
 		os=-sysv4
 		;;
 	i*86v)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
 		os=-sysv
 		;;
 	i*86sol2)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
 		os=-solaris2
 		;;
 	i386mach)
 		basic_machine=i386-mach
 		os=-mach
 		;;
-	i386-vsta | vsta)
+	vsta)
 		basic_machine=i386-unknown
 		os=-vsta
 		;;
@@ -797,19 +801,16 @@ case $basic_machine in
 		os=-sysv
 		;;
 	leon-*|leon[3-9]-*)
-		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+		basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
 		;;
 	m68knommu)
 		basic_machine=m68k-unknown
 		os=-linux
 		;;
 	m68knommu-*)
-		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		os=-linux
 		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
 	magnum | m3230)
 		basic_machine=mips-mips
 		os=-sysv
@@ -841,10 +842,10 @@ case $basic_machine in
 		os=-mint
 		;;
 	mips3*-*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
 		;;
 	mips3*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
 		;;
 	monitor)
 		basic_machine=m68k-rom68k
@@ -863,7 +864,7 @@ case $basic_machine in
 		os=-msdos
 		;;
 	ms1-*)
-		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+		basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
 		;;
 	msys)
 		basic_machine=i686-pc
@@ -905,7 +906,7 @@ case $basic_machine in
 		basic_machine=v70-nec
 		os=-sysv
 		;;
-	next | m*-next )
+	next | m*-next)
 		basic_machine=m68k-next
 		case $os in
 		    -nextstep* )
@@ -950,6 +951,9 @@ case $basic_machine in
 	nsr-tandem)
 		basic_machine=nsr-tandem
 		;;
+	nsv-tandem)
+		basic_machine=nsv-tandem
+		;;
 	nsx-tandem)
 		basic_machine=nsx-tandem
 		;;
@@ -985,7 +989,7 @@ case $basic_machine in
 		os=-linux
 		;;
 	parisc-*)
-		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		os=-linux
 		;;
 	pbd)
@@ -1001,7 +1005,7 @@ case $basic_machine in
 		basic_machine=i386-pc
 		;;
 	pc98-*)
-		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	pentium | p5 | k5 | k6 | nexgen | viac3)
 		basic_machine=i586-pc
@@ -1016,16 +1020,16 @@ case $basic_machine in
 		basic_machine=i786-pc
 		;;
 	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	pentiumpro-* | p6-* | 6x86-* | athlon-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	pentium4-*)
-		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	pn)
 		basic_machine=pn-gould
@@ -1035,23 +1039,23 @@ case $basic_machine in
 	ppc | ppcbe)	basic_machine=powerpc-unknown
 		;;
 	ppc-* | ppcbe-*)
-		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	ppcle | powerpclittle)
 		basic_machine=powerpcle-unknown
 		;;
 	ppcle-* | powerpclittle-*)
-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	ppc64)	basic_machine=powerpc64-unknown
 		;;
-	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+	ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	ppc64le | powerpc64little)
 		basic_machine=powerpc64le-unknown
 		;;
 	ppc64le-* | powerpc64little-*)
-		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	ps2)
 		basic_machine=i386-ibm
@@ -1105,17 +1109,10 @@ case $basic_machine in
 	sequent)
 		basic_machine=i386-sequent
 		;;
-	sh)
-		basic_machine=sh-hitachi
-		os=-hms
-		;;
 	sh5el)
 		basic_machine=sh5le-unknown
 		;;
-	sh64)
-		basic_machine=sh64-unknown
-		;;
-	sparclite-wrs | simso-wrs)
+	simso-wrs)
 		basic_machine=sparclite-wrs
 		os=-vxworks
 		;;
@@ -1134,7 +1131,7 @@ case $basic_machine in
 		os=-sysv4
 		;;
 	strongarm-* | thumb-*)
-		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
 		;;
 	sun2)
 		basic_machine=m68000-sun
@@ -1248,9 +1245,6 @@ case $basic_machine in
 		basic_machine=a29k-wrs
 		os=-vxworks
 		;;
-	wasm32)
-		basic_machine=wasm32-unknown
-		;;
 	w65*)
 		basic_machine=w65-wdc
 		os=-none
@@ -1259,6 +1253,9 @@ case $basic_machine in
 		basic_machine=hppa1.1-winbond
 		os=-proelf
 		;;
+	x64)
+		basic_machine=x86_64-pc
+		;;
 	xbox)
 		basic_machine=i686-pc
 		os=-mingw32
@@ -1267,20 +1264,12 @@ case $basic_machine in
 		basic_machine=xps100-honeywell
 		;;
 	xscale-* | xscalee[bl]-*)
-		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+		basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
 		;;
 	ymp)
 		basic_machine=ymp-cray
 		os=-unicos
 		;;
-	z8k-*-coff)
-		basic_machine=z8k-unknown
-		os=-sim
-		;;
-	z80-*-coff)
-		basic_machine=z80-unknown
-		os=-sim
-		;;
 	none)
 		basic_machine=none-none
 		os=-none
@@ -1309,10 +1298,6 @@ case $basic_machine in
 	vax)
 		basic_machine=vax-dec
 		;;
-	pdp10)
-		# there are many clones, so DEC is not a safe bet
-		basic_machine=pdp10-unknown
-		;;
 	pdp11)
 		basic_machine=pdp11-dec
 		;;
@@ -1322,9 +1307,6 @@ case $basic_machine in
 	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
 		basic_machine=sh-unknown
 		;;
-	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-		basic_machine=sparc-sun
-		;;
 	cydra)
 		basic_machine=cydra-cydrome
 		;;
@@ -1344,7 +1326,7 @@ case $basic_machine in
 		# Make sure to match an already-canonicalized machine name.
 		;;
 	*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
 		exit 1
 		;;
 esac
@@ -1352,10 +1334,10 @@ esac
 # Here we canonicalize certain aliases for manufacturers.
 case $basic_machine in
 	*-digital*)
-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
 		;;
 	*-commodore*)
-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
 		;;
 	*)
 		;;
@@ -1366,8 +1348,8 @@ esac
 if [ x"$os" != x"" ]
 then
 case $os in
-	# First match some system type aliases
-	# that might get confused with valid system types.
+	# First match some system type aliases that might get confused
+	# with valid system types.
 	# -solaris* is a basic system type, with this one exception.
 	-auroraux)
 		os=-auroraux
@@ -1378,18 +1360,19 @@ case $os in
 	-solaris)
 		os=-solaris2
 		;;
-	-svr4*)
-		os=-sysv4
-		;;
 	-unixware*)
 		os=-sysv4.2uw
 		;;
 	-gnu/linux*)
 		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
 		;;
-	# First accept the basic system types.
+	# es1800 is here to avoid being matched by es* (a different OS)
+	-es1800*)
+		os=-ose
+		;;
+	# Now accept the basic system types.
 	# The portable systems comes first.
-	# Each alternative MUST END IN A *, to match a version number.
+	# Each alternative MUST end in a * to match a version number.
 	# -sysv* is not here because it comes later, after sysvr4.
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
@@ -1399,25 +1382,26 @@ case $os in
 	      | -aos* | -aros* | -cloudabi* | -sortix* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+	      | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
 	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \
 	      | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
 	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
 	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
-	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -morphos* | -superux* | -rtmk* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
 	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
-	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
+	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
+	      | -midnightbsd*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1434,12 +1418,12 @@ case $os in
 	-nto*)
 		os=`echo $os | sed -e 's|nto|nto-qnx|'`
 		;;
-	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	-sim | -xray | -os68k* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* \
 	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
 		;;
 	-mac*)
-		os=`echo $os | sed -e 's|mac|macos|'`
+		os=`echo "$os" | sed -e 's|mac|macos|'`
 		;;
 	-linux-dietlibc)
 		os=-linux-dietlibc
@@ -1448,10 +1432,10 @@ case $os in
 		os=`echo $os | sed -e 's|linux|linux-gnu|'`
 		;;
 	-sunos5*)
-		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
 		;;
 	-sunos6*)
-		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
 		;;
 	-opened*)
 		os=-openedition
@@ -1462,12 +1446,6 @@ case $os in
 	-wince*)
 		os=-wince
 		;;
-	-osfrose*)
-		os=-osfrose
-		;;
-	-osf*)
-		os=-osf
-		;;
 	-utek*)
 		os=-bsd
 		;;
@@ -1492,7 +1470,7 @@ case $os in
 	-nova*)
 		os=-rtmk-nova
 		;;
-	-ns2 )
+	-ns2)
 		os=-nextstep2
 		;;
 	-nsk*)
@@ -1514,7 +1492,7 @@ case $os in
 	-oss*)
 		os=-sysv3
 		;;
-	-svr4)
+	-svr4*)
 		os=-sysv4
 		;;
 	-svr3)
@@ -1529,24 +1507,28 @@ case $os in
 	-ose*)
 		os=-ose
 		;;
-	-es1800*)
-		os=-ose
-		;;
-	-xenix)
-		os=-xenix
-		;;
 	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
 		os=-mint
 		;;
-	-aros*)
-		os=-aros
-		;;
 	-zvmoe)
 		os=-zvmoe
 		;;
 	-dicos*)
 		os=-dicos
 		;;
+	-pikeos*)
+		# Until real need of OS specific support for
+		# particular features comes up, bare metal
+		# configurations are quite functional.
+		case $basic_machine in
+		    arm*)
+			os=-eabi
+			;;
+		    *)
+			os=-elf
+			;;
+		esac
+		;;
 	-nacl*)
 		;;
 	-ios)
@@ -1556,7 +1538,7 @@ case $os in
 	*)
 		# Get rid of the `-' at the beginning of $os.
 		os=`echo $os | sed 's/[^-]*-//'`
-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
 		exit 1
 		;;
 esac
@@ -1652,9 +1634,6 @@ case $basic_machine in
 	*-be)
 		os=-beos
 		;;
-	*-haiku)
-		os=-haiku
-		;;
 	*-ibm)
 		os=-aix
 		;;
@@ -1694,7 +1673,7 @@ case $basic_machine in
 	m88k-omron*)
 		os=-luna
 		;;
-	*-next )
+	*-next)
 		os=-nextstep
 		;;
 	*-sequent)
@@ -1709,9 +1688,6 @@ case $basic_machine in
 	i370-*)
 		os=-mvs
 		;;
-	*-next)
-		os=-nextstep3
-		;;
 	*-gould)
 		os=-sysv
 		;;
@@ -1821,15 +1797,15 @@ case $basic_machine in
 				vendor=stratus
 				;;
 		esac
-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
 		;;
 esac
 
-echo $basic_machine$os
+echo "$basic_machine$os"
 exit
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-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.1.0.20180703/configure ./configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/configure	2018-07-03 02:06:27.000000000 +0000
+++ ./configure	2018-07-10 02:06:11.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -209,14 +236,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -314,10 +352,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -354,19 +400,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -439,6 +485,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -473,16 +523,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -494,28 +544,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -524,10 +554,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -556,7 +587,6 @@ enable_option_checking=no
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 compare_exclusions
-host_shared
 stage2_werror_flag
 stage1_checking
 stage1_cflags
@@ -641,14 +671,15 @@ CXXFLAGS_FOR_TARGET
 CFLAGS_FOR_TARGET
 DEBUG_PREFIX_CFLAGS_FOR_TARGET
 SYSROOT_CFLAGS_FOR_TARGET
+get_gcc_base_ver
 extra_host_zlib_configure_flags
 extra_host_libiberty_configure_flags
 stage1_languages
+host_shared
 extra_linker_plugin_flags
 extra_linker_plugin_configure_flags
 islinc
 isllibs
-islver
 poststage1_ldflags
 poststage1_libs
 stage1_ldflags
@@ -781,11 +812,13 @@ enable_isl_version_check
 enable_lto
 enable_linker_plugin_configure_flags
 enable_linker_plugin_flags
+enable_host_shared
 enable_stage1_languages
 enable_objc_gc
 with_target_bdw_gc
 with_target_bdw_gc_include
 with_target_bdw_gc_lib
+with_gcc_major_version_only
 with_build_sysroot
 with_debug_prefix_map
 with_build_config
@@ -795,7 +828,6 @@ with_build_time_tools
 enable_maintainer_mode
 enable_stage1_checking
 enable_werror
-enable_host_shared
 '
       ac_precious_vars='build_alias
 host_alias
@@ -904,8 +936,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -950,7 +983,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -976,7 +1009,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1180,7 +1213,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1196,7 +1229,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1226,8 +1259,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1235,7 +1268,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1245,7 +1278,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1253,13 +1286,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1282,7 +1315,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1296,8 +1329,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1312,9 +1343,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1353,11 +1384,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1371,7 +1402,7 @@ case $srcdir in
 esac
 case $srcdir in
   *" "*)
-    as_fn_error "path to source, $srcdir, contains spaces"
+    as_fn_error $? "path to source, $srcdir, contains spaces"
     ;;
 esac
 ac_subdirs_all=`cd $srcdir && echo */configure | sed 's,/configure,,g'`
@@ -1404,7 +1435,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1497,6 +1528,7 @@ Optional Features:
   --enable-linker-plugin-flags=FLAGS
                           additional flags for configuring and building linker
                           plugins [none]
+  --enable-host-shared    build host code as shared libraries
   --enable-stage1-languages[=all]
                           choose additional languages to build during stage1.
                           Mostly useful for compiler development
@@ -1514,7 +1546,6 @@ Optional Features:
                           choose additional checking for stage1 of the
                           compiler
   --enable-werror         enable -Werror in bootstrap stage2 and later
-  --enable-host-shared    build host code as shared libraries
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1562,6 +1593,8 @@ Optional Packages:
                           files
   --with-target-bdw-gc-lib=PATHLIST
                           specify directories for installed bdw-gc library
+  --with-gcc-major-version-only
+                          use only GCC major number in filesystem paths
   --with-build-sysroot=SYSROOT
                           use sysroot as the system root during the build
   --with-debug-prefix-map='A=B C=D ...'
@@ -1577,7 +1610,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CXX         C++ compiler command
   CXXFLAGS    C++ compiler flags
@@ -1704,9 +1737,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1750,8 +1783,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1788,8 +1821,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_compile
 
@@ -1820,7 +1853,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1834,8 +1867,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_link
 
@@ -1866,7 +1899,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1880,8 +1913,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 cat >config.log <<_ACEOF
@@ -1889,7 +1922,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1999,11 +2032,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2037,11 +2068,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2054,11 +2083,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2072,11 +2099,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2131,7 +2156,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2142,18 +2172,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2222,7 +2256,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2241,7 +2275,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-
 progname=$0
 # if PWD already has a value, it is probably wrong.
 if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
@@ -2273,16 +2306,22 @@ TOPLEVEL_CONFIGURE_ARGUMENTS=`echo "x$TO
 # Find the build, host, and target systems.
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -2296,27 +2335,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -2361,14 +2400,14 @@ test "$host_noncanonical" = "$target_non
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2376,7 +2415,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -2394,14 +2433,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2409,7 +2448,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -2462,7 +2501,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2482,7 +2521,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -2540,7 +2579,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln works" >&5
 $as_echo_n "checking whether ln works... " >&6; }
-if test "${acx_cv_prog_LN+set}" = set; then :
+if ${acx_cv_prog_LN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f conftestdata_t
@@ -2577,7 +2616,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -2597,7 +2636,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -2632,7 +2671,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -2650,7 +2689,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -2662,7 +2701,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2748,14 +2787,13 @@ target_libraries="target-libgcc \
 		target-libgloss \
 		target-newlib \
 		target-libgomp \
-		target-libcilkrts \
 		target-liboffloadmic \
+		target-libhsail-rt \
 		target-libatomic \
 		target-libitm \
 		target-libstdc++-v3 \
 		target-libsanitizer \
 		target-libvtv \
-		target-libmpx \
 		target-libssp \
 		target-libquadmath \
 		target-libgfortran \
@@ -2833,7 +2871,7 @@ target_subdir=${target_noncanonical}
 
 # Be sure to cover against remnants of an in-tree build.
 if test $srcdir != .  && test -d $srcdir/host-${host_noncanonical}; then
-  as_fn_error "building out of tree but $srcdir contains host-${host_noncanonical}.
+  as_fn_error $? "building out of tree but $srcdir contains host-${host_noncanonical}.
 Use a pristine source tree when building in a separate tree" "$LINENO" 5
 fi
 
@@ -2915,7 +2953,7 @@ fi
 if test "${enable_offload_targets+set}" = set; then :
   enableval=$enable_offload_targets;
   if test x"$enable_offload_targets" = x; then
-    as_fn_error "no offload targets specified" "$LINENO" 5
+    as_fn_error $? "no offload targets specified" "$LINENO" 5
   fi
 
 else
@@ -2957,7 +2995,7 @@ case "${ENABLE_GOLD}" in
       *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
       | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
       | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
-      | *-*-solaris2* | *-*-nto* | *-*-nacl* | *-*-fuchsia*)
+      | *-*-solaris2* | *-*-nto* | *-*-nacl*)
         case "${target}" in
           *-*-linux*aout* | *-*-linux*oldld*)
             ;;
@@ -2984,7 +3022,7 @@ case "${ENABLE_GOLD}" in
   no)
     ;;
   *)
-    as_fn_error "invalid --enable-gold argument" "$LINENO" 5
+    as_fn_error $? "invalid --enable-gold argument" "$LINENO" 5
     ;;
 esac
 
@@ -2999,7 +3037,7 @@ fi
 case "${ENABLE_LD}" in
   default)
     if test x${default_ld} != x; then
-      as_fn_error "either gold or ld can be the default ld" "$LINENO" 5
+      as_fn_error $? "either gold or ld can be the default ld" "$LINENO" 5
     fi
     ;;
   yes)
@@ -3012,7 +3050,7 @@ case "${ENABLE_LD}" in
     configdirs=`echo " ${configdirs} " | sed -e 's/ ld / /'`
     ;;
   *)
-    as_fn_error "invalid --enable-ld argument" "$LINENO" 5
+    as_fn_error $? "invalid --enable-ld argument" "$LINENO" 5
     ;;
 esac
 
@@ -3023,7 +3061,7 @@ esac
 if test "${enable_compressed_debug_sections+set}" = set; then :
   enableval=$enable_compressed_debug_sections;
   if test x"$enable_compressed_debug_sections" = xyes; then
-    as_fn_error "no program with compressed debug sections specified" "$LINENO" 5
+    as_fn_error $? "no program with compressed debug sections specified" "$LINENO" 5
   fi
 
 else
@@ -3118,7 +3156,7 @@ if test "${enable_liboffloadmic+set}" = 
   no | host | target)
     enable_liboffloadmic=$enableval ;;
   *)
-    as_fn_error "--enable-liboffloadmic=no/host/target" "$LINENO" 5 ;;
+    as_fn_error $? "--enable-liboffloadmic=no/host/target" "$LINENO" 5 ;;
 esac
 else
   if test x"$enable_as_accelerator_for" != x; then
@@ -3184,25 +3222,6 @@ if test -d ${srcdir}/libatomic; then
     fi
 fi
 
-# Disable libcilkrts on unsupported systems.
-if test -d ${srcdir}/libcilkrts; then
-    if test x$enable_libcilkrts = x; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libcilkrts support" >&5
-$as_echo_n "checking for libcilkrts support... " >&6; }
-	if (srcdir=${srcdir}/libcilkrts; \
-		. ${srcdir}/configure.tgt; \
-		test -n "$UNSUPPORTED")
-	then
-	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	    noconfigdirs="$noconfigdirs target-libcilkrts"
-	else
-	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	fi
-    fi
-fi
-
 # Disable liboffloadmic on unsupported systems.
 if test -d ${srcdir}/liboffloadmic; then
     if test x$enable_liboffloadmic != xno; then
@@ -3280,27 +3299,28 @@ if test -d ${srcdir}/libvtv; then
 fi
 
 
-# Enable libmpx on supported systems by request.
-if test -d ${srcdir}/libmpx; then
-    if test x$enable_libmpx = x; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libmpx support" >&5
-$as_echo_n "checking for libmpx support... " >&6; }
-       if (srcdir=${srcdir}/libmpx; \
-               . ${srcdir}/configure.tgt; \
-               test "$LIBMPX_SUPPORTED" != "yes")
-       then
-           { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-           noconfigdirs="$noconfigdirs target-libmpx"
-       else
-           { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+# Disable libhsail-rt on unsupported systems.
+if test -d ${srcdir}/libhsail-rt; then
+    if test x$enable_libhsail_rt = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libhsail-rt support" >&5
+$as_echo_n "checking for libhsail-rt support... " >&6; }
+        if (srcdir=${srcdir}/libhsail-rt; \
+                . ${srcdir}/configure.tgt; \
+                test -n "$UNSUPPORTED")
+        then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+            unsupported_languages="$unsupported_languages brig"
+            # This implicitly disables also target-libhsail-rt as it won't
+            # get added to the build without BRIG FE.
+        else
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-       fi
+        fi
     fi
 fi
 
 
-
 # Disable libquadmath for some systems.
 case "${target}" in
   avr-*-*)
@@ -3439,11 +3459,8 @@ case "${target}" in
     noconfigdirs="$noconfigdirs target-libffi"
     ;;
   powerpc-*-aix*)
-    # copied from rs6000-*-* entry
-    noconfigdirs="$noconfigdirs target-libffi"
     ;;
   rs6000-*-aix*)
-    noconfigdirs="$noconfigdirs target-libffi"
     ;;
   ft32-*-*)
     noconfigdirs="$noconfigdirs target-libffi"
@@ -3456,7 +3473,7 @@ esac
 # Disable the go frontend on systems where it is known to not work. Please keep
 # this in sync with contrib/config-list.mk.
 case "${target}" in
-*-*-darwin* | *-*-cygwin* | *-*-mingw* | *-*-aix*)
+*-*-darwin* | *-*-cygwin* | *-*-mingw*)
     unsupported_languages="$unsupported_languages go"
     ;;
 esac
@@ -3472,9 +3489,6 @@ if test x$enable_libgo = x; then
     *-*-cygwin* | *-*-mingw*)
 	noconfigdirs="$noconfigdirs target-libgo"
 	;;
-    *-*-aix*)
-	noconfigdirs="$noconfigdirs target-libgo"
-	;;
     esac
 fi
 
@@ -3779,6 +3793,10 @@ case "${target}" in
   mt-*-*)
     noconfigdirs="$noconfigdirs sim"
     ;;
+  nfp-*-*)
+    noconfigdirs="$noconfigdirs ld gas gdb gprof sim"
+    noconfigdirs="$noconfigdirs $target_libraries"
+    ;;
   powerpc-*-aix*)
     # copied from rs6000-*-* entry
     noconfigdirs="$noconfigdirs gprof"
@@ -3862,6 +3880,9 @@ case "${target}" in
   vax-*-*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
+  wasm32-*-*)
+    noconfigdirs="$noconfigdirs ld"
+    ;;
 esac
 
 # If we aren't building newlib, then don't build libgloss, since libgloss
@@ -3891,7 +3912,7 @@ else
   rm cygwin-cat-check
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-  as_fn_error "The cat command does not ignore carriage return characters.
+  as_fn_error $? "The cat command does not ignore carriage return characters.
   Please either mount the build directory in binary mode or run the following
   commands before running any configure script:
 set -o igncr
@@ -3966,7 +3987,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3978,7 +3999,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4006,7 +4027,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4018,7 +4039,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4059,7 +4080,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4071,7 +4092,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4099,7 +4120,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4112,7 +4133,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4158,7 +4179,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4170,7 +4191,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4202,7 +4223,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4214,7 +4235,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4256,8 +4277,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4278,8 +4299,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4296,12 +4317,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4363,62 +4384,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4448,19 +4435,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4500,8 +4546,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4511,7 +4557,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4548,7 +4594,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4626,7 +4672,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4635,8 +4681,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4737,7 +4782,7 @@ if test -z "$CXX"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then :
+if ${ac_cv_prog_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CXX"; then
@@ -4749,7 +4794,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4781,7 +4826,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CXX"; then
@@ -4793,7 +4838,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CXX="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4851,15 +4896,15 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4896,7 +4941,7 @@ ac_test_CXXFLAGS=${CXXFLAGS+set}
 ac_save_CXXFLAGS=$CXXFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
 $as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then :
+if ${ac_cv_prog_cxx_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_cxx_werror_flag=$ac_cxx_werror_flag
@@ -5048,7 +5093,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gnatbind; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GNATBIND+set}" = set; then :
+if ${ac_cv_prog_GNATBIND+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GNATBIND"; then
@@ -5060,7 +5105,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_GNATBIND="${ac_tool_prefix}gnatbind"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5088,7 +5133,7 @@ if test -z "$ac_cv_prog_GNATBIND"; then
 set dummy gnatbind; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_GNATBIND+set}" = set; then :
+if ${ac_cv_prog_ac_ct_GNATBIND+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_GNATBIND"; then
@@ -5100,7 +5145,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_GNATBIND="gnatbind"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5140,7 +5185,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gnatmake; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GNATMAKE+set}" = set; then :
+if ${ac_cv_prog_GNATMAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GNATMAKE"; then
@@ -5152,7 +5197,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_GNATMAKE="${ac_tool_prefix}gnatmake"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5180,7 +5225,7 @@ if test -z "$ac_cv_prog_GNATMAKE"; then
 set dummy gnatmake; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_GNATMAKE+set}" = set; then :
+if ${ac_cv_prog_ac_ct_GNATMAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_GNATMAKE"; then
@@ -5192,7 +5237,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_GNATMAKE="gnatmake"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5229,7 +5274,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler driver understands Ada" >&5
 $as_echo_n "checking whether compiler driver understands Ada... " >&6; }
-if test "${acx_cv_cc_gcc_supports_ada+set}" = set; then :
+if ${acx_cv_cc_gcc_supports_ada+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.adb <<EOF
@@ -5261,7 +5306,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to compare bootstrapped objects" >&5
 $as_echo_n "checking how to compare bootstrapped objects... " >&6; }
-if test "${gcc_cv_prog_cmp_skip+set}" = set; then :
+if ${gcc_cv_prog_cmp_skip+:} false; then :
   $as_echo_n "(cached) " >&6
 else
    echo abfoo >t1
@@ -5329,11 +5374,11 @@ case "$have_compiler:$host:$target:$enab
 
   # No compiler: if they passed --enable-bootstrap explicitly, fail
   no:*:*:yes)
-    as_fn_error "cannot bootstrap without a compiler" "$LINENO" 5 ;;
+    as_fn_error $? "cannot bootstrap without a compiler" "$LINENO" 5 ;;
 
   # Fail if wrong command line
   *)
-    as_fn_error "invalid option for --enable-bootstrap" "$LINENO" 5
+    as_fn_error $? "invalid option for --enable-bootstrap" "$LINENO" 5
     ;;
 esac
 
@@ -5346,7 +5391,7 @@ fi
 # Used for setting $lt_cv_objdir
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -5424,7 +5469,7 @@ fi
 
 # Check whether --with-mpfr-dir was given.
 if test "${with_mpfr_dir+set}" = set; then :
-  withval=$with_mpfr_dir; as_fn_error "The --with-mpfr-dir=PATH option has been removed.
+  withval=$with_mpfr_dir; as_fn_error $? "The --with-mpfr-dir=PATH option has been removed.
 Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH" "$LINENO" 5
 fi
 
@@ -5461,7 +5506,7 @@ fi
 if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
   # MPFR v3.1.0 moved the sources into a src sub-directory.
   if ! test -d ${srcdir}/mpfr/src; then
-    as_fn_error "Building GCC with MPFR in the source tree is only handled for MPFR 3.1.0+." "$LINENO" 5
+    as_fn_error $? "Building GCC with MPFR in the source tree is only handled for MPFR 3.1.0+." "$LINENO" 5
   fi
   gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir $gmplibs"
   gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr/src -I$$s/mpfr/src '"$gmpinc"
@@ -5477,7 +5522,7 @@ fi
 
 # Check whether --with-gmp-dir was given.
 if test "${with_gmp_dir+set}" = set; then :
-  withval=$with_gmp_dir; as_fn_error "The --with-gmp-dir=PATH option has been removed.
+  withval=$with_gmp_dir; as_fn_error $? "The --with-gmp-dir=PATH option has been removed.
 Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH" "$LINENO" 5
 fi
 
@@ -5738,7 +5783,7 @@ rm -f core conftest.err conftest.$ac_obj
 # The library versions listed in the error message below should match
 # the HARD-minimums enforced above.
   if test x$have_gmp != xyes; then
-    as_fn_error "Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
+    as_fn_error $? "Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
 Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
 their locations.  Source code for these libraries can be found at
 their respective hosting sites as well as at
@@ -5907,15 +5952,15 @@ fi
     LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs} ${gmplibs}"
     LIBS="${_isl_saved_LIBS} -lisl -lgmp"
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isl 0.16, 0.15, or deprecated 0.14" >&5
-$as_echo_n "checking for isl 0.16, 0.15, or deprecated 0.14... " >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isl 0.15 or later" >&5
+$as_echo_n "checking for isl 0.15 or later... " >&6; }
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <isl/ctx.h>
+#include <isl/schedule.h>
 int
 main ()
 {
-isl_ctx_get_max_operations (isl_ctx_alloc ());
+isl_options_set_schedule_serialize_sccs (NULL, 0);
   ;
   return 0;
 }
@@ -5931,36 +5976,8 @@ rm -f core conftest.err conftest.$ac_obj
 $as_echo "$gcc_cv_isl" >&6; }
 
     if test "${gcc_cv_isl}" = no ; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: recommended isl version is 0.16 or 0.15, the minimum required isl version 0.14 is deprecated" >&5
-$as_echo "recommended isl version is 0.16 or 0.15, the minimum required isl version 0.14 is deprecated" >&6; }
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isl 0.16 or 0.15" >&5
-$as_echo_n "checking for isl 0.16 or 0.15... " >&6; }
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <isl/schedule.h>
-int
-main ()
-{
-isl_options_set_schedule_serialize_sccs (NULL, 0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_has_isl_options_set_schedule_serialize_sccs=yes
-else
-  ac_has_isl_options_set_schedule_serialize_sccs=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_options_set_schedule_serialize_sccs" >&5
-$as_echo "$ac_has_isl_options_set_schedule_serialize_sccs" >&6; }
-
-    if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
-      islver="0.15"
-
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: required isl version is 0.15 or later" >&5
+$as_echo "required isl version is 0.15 or later" >&6; }
     fi
 
     CFLAGS=$_isl_saved_CFLAGS
@@ -5994,7 +6011,7 @@ rm -f core conftest.err conftest.$ac_obj
     && test "x${isllibs}" = x \
     && test "x${islinc}" = x ; then
 
-    as_fn_error "Unable to find a usable isl.  See config.log for details." "$LINENO" 5
+    as_fn_error $? "Unable to find a usable isl.  See config.log for details." "$LINENO" 5
   fi
 
 
@@ -6042,7 +6059,7 @@ if test $target_elf = yes; then :
 else
   if test x"$default_enable_lto" = x"yes" ; then
     case $target in
-      *-apple-darwin9* | *-cygwin* | *-mingw* | *djgpp*) ;;
+      *-apple-darwin[912]* | *-cygwin* | *-mingw* | *djgpp*) ;;
       # On other non-ELF platforms, LTO has yet to be validated.
       *) enable_lto=no ;;
     esac
@@ -6055,7 +6072,7 @@ else
     case $target in
       *-cygwin* | *-mingw* | *-apple-darwin* | *djgpp*) ;;
       *) if test x"$enable_lto" = x"yes"; then
-	as_fn_error "LTO support is not enabled for this target." "$LINENO" 5
+	as_fn_error $? "LTO support is not enabled for this target." "$LINENO" 5
         fi
       ;;
     esac
@@ -6087,6 +6104,16 @@ fi
 
 
 
+# Enable --enable-host-shared.
+# Checked early to determine whether jit is an 'all' language
+# Check whether --enable-host-shared was given.
+if test "${enable_host_shared+set}" = set; then :
+  enableval=$enable_host_shared; host_shared=$enableval
+else
+  host_shared=no
+fi
+
+
 
 # By default, C and C++ are the only stage 1 languages.
 stage1_languages=,c,
@@ -6105,7 +6132,7 @@ if test -d ${srcdir}/gcc; then
       enable_languages="${LANGUAGES}"
         echo configure.ac: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
     else
-      enable_languages=all
+      enable_languages=default
     fi
   else
     if test x"${enable_languages}" = x ||
@@ -6133,7 +6160,7 @@ if test -d ${srcdir}/gcc; then
       if test -f ${srcdir}/gcc/cp/config-lang.in; then
         enable_languages="${enable_languages},c++"
       else
-        as_fn_error "bootstrapping requires c++ sources" "$LINENO" 5
+        as_fn_error $? "bootstrapping requires c++ sources" "$LINENO" 5
       fi
       ;;
   esac
@@ -6153,10 +6180,16 @@ if test -d ${srcdir}/gcc; then
         language=
         lang_requires=
         lang_requires_boot_languages=
-        . ${lang_frag}
+        # set srcdir during sourcing lang_frag to the gcc dir.
+        # Sadly overriding srcdir on the . line doesn't work in plain sh as it
+        # polutes this shell
+        saved_srcdir=${srcdir}
+        srcdir=${srcdir}/gcc . ${lang_frag}
+        srcdir=${saved_srcdir}
         for other in ${lang_requires} ${lang_requires_boot_languages}; do
           case ,${enable_languages}, in
 	    *,$other,*) ;;
+	    *,default,*) ;;
 	    *,all,*) ;;
 	    *,$language,*)
 	      echo " \`$other' language required by \`$language'; enabling" 1>&2
@@ -6168,6 +6201,7 @@ if test -d ${srcdir}/gcc; then
 	  if test "$other" != "c"; then
 	    case ,${enable_stage1_languages}, in
 	      *,$other,*) ;;
+	      *,default,*) ;;
 	      *,all,*) ;;
 	      *)
 		case ,${enable_languages}, in
@@ -6205,7 +6239,7 @@ if test -d ${srcdir}/gcc; then
     esac
   fi
 
-  missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
+  missing_languages=`echo ",$enable_languages," | sed -e s/,default,/,/ -e s/,all,/,/ -e s/,c,/,/ `
   potential_languages=,c,
 
   enabled_target_libs=
@@ -6226,7 +6260,10 @@ if test -d ${srcdir}/gcc; then
         subdir_requires=
         boot_language=no
         build_by_default=yes
-        . ${lang_frag}
+        # set srcdir during sourcing.  See above about save & restore
+        saved_srcdir=${srcdir}
+        srcdir=${srcdir}/gcc . ${lang_frag}
+        srcdir=${saved_srcdir}
         if test x${language} = x; then
           echo "${lang_frag} doesn't set \$language." 1>&2
           exit 1
@@ -6237,29 +6274,36 @@ if test -d ${srcdir}/gcc; then
 	fi
 
         add_this_lang=no
-        case ,${enable_languages}, in
-          *,${language},*)
-            # Language was explicitly selected; include it
-	    # unless it is C, which is enabled by default.
-	    if test "$language" != "c"; then
+        # C is always enabled, so no need to add it again
+        if test "$language" != "c"; then
+          case ,${enable_languages}, in
+            *,${language},*)
+              # Language was explicitly selected; include it
 	      add_this_lang=yes
-	    fi
-            ;;
-          *,all,*)
-            # 'all' was selected, select it if it is a default language
-	    if test "$language" != "c"; then
+              ;;
+	    *,all,*)
+	      # All languages are enabled
+	      add_this_lang=all
+              ;;
+            *,default,*)
+              # 'default' was selected, select it if it is a default language
 	      add_this_lang=${build_by_default}
-	    fi
-            ;;
-        esac
+              ;;
+          esac
+        fi
 
         # Disable languages that need other directories if these aren't available.
 	for i in $subdir_requires; do
 	  test -f "$srcdir/gcc/$i/config-lang.in" && continue
-	  case ,${enable_languages}, in
-            *,${language},*)
+	  case ${add_this_lang} in
+	    yes)
               # Specifically requested language; tell them.
-              as_fn_error "The gcc/$i directory contains parts of $language but is missing" "$LINENO" 5
+              as_fn_error $? "The gcc/$i directory contains parts of $language but is missing" "$LINENO" 5
+              ;;
+            all)
+              { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The gcc/$i directory contains parts of $language but is missing" >&5
+$as_echo "$as_me: WARNING: The gcc/$i directory contains parts of $language but is missing" >&2;}
+              add_this_lang=unsupported
               ;;
             *)
               # Silently disable.
@@ -6269,10 +6313,15 @@ if test -d ${srcdir}/gcc; then
 	done
 
         # Disable Ada if no preexisting GNAT is available.
-        case ,${enable_languages},:${language}:${have_gnat} in
-          *,${language},*:ada:no)
+        case ${add_this_lang}:${language}:${have_gnat} in
+          yes:ada:no)
             # Specifically requested language; tell them.
-            as_fn_error "GNAT is required to build $language" "$LINENO" 5
+            as_fn_error $? "GNAT is required to build $language" "$LINENO" 5
+            ;;
+          all:ada:no)
+            { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNAT is required to build $language" >&5
+$as_echo "$as_me: WARNING: GNAT is required to build $language" >&2;}
+            add_this_lang=unsupported
             ;;
           *:ada:no)
             # Silently disable.
@@ -6280,9 +6329,39 @@ if test -d ${srcdir}/gcc; then
             ;;
         esac
 
-	# Disable a language that is unsupported by the target.
-	case " $unsupported_languages " in
-	  *" $language "*)
+        # Disable jit if -enable-host-shared not specified
+        case ${add_this_lang}:${language}:${host_shared} in
+          yes:jit:no)
+	    # PR jit/64780: explicitly specify --enable-host-shared
+	    as_fn_error $? "
+Enabling language \"jit\" requires --enable-host-shared.
+
+--enable-host-shared typically slows the rest of the compiler down by
+a few %, so you must explicitly enable it.
+
+If you want to build both the jit and the regular compiler, it is often
+best to do this via two separate configure/builds, in separate
+directories, to avoid imposing the performance cost of
+--enable-host-shared on the regular compiler." "$LINENO" 5
+	    ;;
+          all:jit:no)
+	    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-host-shared required to build $language" >&5
+$as_echo "$as_me: WARNING: --enable-host-shared required to build $language" >&2;}
+            add_this_lang=unsupported
+            ;;
+          *:jit:no)
+            # Silently disable.
+            add_this_lang=unsupported
+            ;;
+	esac
+
+        # Disable a language that is unsupported by the target.
+	case "${add_this_lang}: $unsupported_languages " in
+	  no:*) ;;
+	  unsupported:*) ;;
+	  *:*" $language "*)
+	    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${language} not supported for this target" >&5
+$as_echo "$as_me: WARNING: ${language} not supported for this target" >&2;}
 	    add_this_lang=unsupported
 	    ;;
 	esac
@@ -6299,7 +6378,7 @@ if test -d ${srcdir}/gcc; then
 	    noconfigdirs="$noconfigdirs $lang_dirs"
             potential_languages="${potential_languages}${language},"
 	    ;;
-          yes)
+          all|yes)
 	    new_enable_languages="${new_enable_languages}${language},"
             potential_languages="${potential_languages}${language},"
 	    missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
@@ -6372,7 +6451,7 @@ fi
   new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
 
   if test "x$missing_languages" != x; then
-    as_fn_error "
+    as_fn_error $? "
 The following requested languages could not be built: ${missing_languages}
 Supported languages are: ${potential_languages}" "$LINENO" 5
   fi
@@ -6427,9 +6506,9 @@ case ,${enable_languages},:${enable_objc
 $as_echo "using bdw-gc in default locations" >&6; }
   else
         if test "x$with_target_bdw_gc_include" = x && test "x$with_target_bdw_gc_lib" != x; then
-      as_fn_error "found --with-target-bdw-gc-lib but --with-target-bdw-gc-include missing" "$LINENO" 5
+      as_fn_error $? "found --with-target-bdw-gc-lib but --with-target-bdw-gc-include missing" "$LINENO" 5
     elif test "x$with_target_bdw_gc_include" != x && test "x$with_target_bdw_gc_lib" = x; then
-      as_fn_error "found --with-target-bdw-gc-include but --with-target-bdw-gc-lib missing" "$LINENO" 5
+      as_fn_error $? "found --with-target-bdw-gc-include but --with-target-bdw-gc-lib missing" "$LINENO" 5
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: result: using paths configured with --with-target-bdw-gc options" >&5
 $as_echo "using paths configured with --with-target-bdw-gc options" >&6; }
@@ -6437,19 +6516,19 @@ case ,${enable_languages},:${enable_objc
   fi
 esac
 
-# Disable libcilkrts, libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++
+# Disable libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++
 case ,${enable_languages}, in
   *,c++,*)
-    # Disable libcilkrts, libitm, libsanitizer if we're not building libstdc++
+    # Disable libitm, libsanitizer if we're not building libstdc++
     case "${noconfigdirs}" in
       *target-libstdc++-v3*)
-        noconfigdirs="$noconfigdirs target-libcilkrts target-libitm target-libsanitizer"
+        noconfigdirs="$noconfigdirs target-libitm target-libsanitizer"
         ;;
       *) ;;
     esac
     ;;
   *)
-    noconfigdirs="$noconfigdirs target-libcilkrts target-liboffloadmic target-libitm target-libsanitizer target-libvtv"
+    noconfigdirs="$noconfigdirs target-liboffloadmic target-libitm target-libsanitizer target-libvtv"
     ;;
 esac
 
@@ -6532,7 +6611,7 @@ then
       extra_linker_plugin_configure_flags="$extra_linker_plugin_configure_flags \
         --with-libiberty=../libiberty-linker-plugin";;
     *)
-      as_fn_error "libiberty missing" "$LINENO" 5;;
+      as_fn_error $? "libiberty missing" "$LINENO" 5;;
   esac
 fi
 
@@ -6612,6 +6691,20 @@ if test "${PATH_SEPARATOR+set}" != set; 
 fi
 
 
+  get_gcc_base_ver="cat"
+
+# Check whether --with-gcc-major-version-only was given.
+if test "${with_gcc_major_version_only+set}" = set; then :
+  withval=$with_gcc_major_version_only; if test x$with_gcc_major_version_only = xyes ; then
+        get_gcc_base_ver="sed -e 's/^\([0-9]*\).*/\1/'"
+      fi
+
+fi
+
+
+
+
+
 
 if test "x$exec_prefix" = xNONE; then
         if test "x$prefix" = xNONE; then
@@ -6627,7 +6720,11 @@ fi
 # case, if there is no compiler in the tree nobody should use
 # AS_FOR_TARGET and LD_FOR_TARGET.
 if test x$host = x$build && test -f $srcdir/gcc/BASE-VER; then
-    gcc_version=`cat $srcdir/gcc/BASE-VER`
+    if test x$with_gcc_major_version_only = xyes ; then
+                gcc_version=`sed -e 's/^\([0-9]*\).*$/\1/' $srcdir/gcc/BASE-VER`
+            else
+        gcc_version=`cat $srcdir/gcc/BASE-VER`
+    fi
     gcc_cv_tool_dirs="$gcc_cv_tool_prefix/libexec/gcc/$target_noncanonical/$gcc_version$PATH_SEPARATOR"
     gcc_cv_tool_dirs="$gcc_cv_tool_dirs$gcc_cv_tool_prefix/libexec/gcc/$target_noncanonical$PATH_SEPARATOR"
     gcc_cv_tool_dirs="$gcc_cv_tool_dirs/usr/lib/gcc/$target_noncanonical/$gcc_version$PATH_SEPARATOR"
@@ -6855,6 +6952,9 @@ case "${target}" in
   nios2-*-elf*)
     target_makefile_frag="config/mt-nios2-elf"
     ;;
+  *-*-linux-android*)
+    target_makefile_frag="config/mt-android"
+    ;;
   *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
     target_makefile_frag="config/mt-gnu"
     ;;
@@ -7050,16 +7150,6 @@ if echo " ${target_configdirs} " | grep 
   bootstrap_target_libs=${bootstrap_target_libs}target-libvtv,
 fi
 
-# If we are building libmpx and $BUILD_CONFIG contains bootstrap-mpx,
-# bootstrap it.
-if echo " ${target_configdirs} " | grep " libmpx " > /dev/null 2>&1; then
-  case "$BUILD_CONFIG" in
-    *bootstrap-mpx* )
-      bootstrap_target_libs=${bootstrap_target_libs}target-libmpx,
-      ;;
-  esac
-fi
-
 # Determine whether gdb needs tk/tcl or not.
 # Use 'maybe' since enable_gdbtk might be true even if tk isn't available
 # and in that case we want gdb to be built without tk.  Ugh!
@@ -7100,12 +7190,14 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-
 # extrasub-{build,host,target} not because there is any reason to split
 # the substitutions up that way, but only to remain below the limit of
 # 99 commands in a script, for HP-UX sed.
-# Do not nest @if/@endif pairs, because configure will not warn you at all.
+
+# Do not nest @if/@endif or @unless/@endunless pairs, because
+# configure will not warn you at all.
 
 case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
   yes:yes:*\ gold\ *:*,c++,*) ;;
   yes:yes:*\ gold\ *:*)
-    as_fn_error "in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages" "$LINENO" 5
+    as_fn_error $? "in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages" "$LINENO" 5
     ;;
 esac
 
@@ -7119,8 +7211,10 @@ for module in ${build_configdirs} ; do
   extrasub_build="$extrasub_build
 /^@if build-$module\$/d
 /^@endif build-$module\$/d
+/^@unless build-$module\$/,/^@endunless build-$module\$/d
 /^@if build-$module-$bootstrap_suffix\$/d
-/^@endif build-$module-$bootstrap_suffix\$/d"
+/^@endif build-$module-$bootstrap_suffix\$/d
+/^@unless build-$module-$bootstrap_suffix\$/,/^@endunless build-$module-$bootstrap_suffix\$/d"
 done
 extrasub_host=
 for module in ${configdirs} ; do
@@ -7139,8 +7233,10 @@ for module in ${configdirs} ; do
   extrasub_host="$extrasub_host
 /^@if $module\$/d
 /^@endif $module\$/d
+/^@unless $module\$/,/^@endunless $module\$/d
 /^@if $module-$host_bootstrap_suffix\$/d
-/^@endif $module-$host_bootstrap_suffix\$/d"
+/^@endif $module-$host_bootstrap_suffix\$/d
+/^@unless $module-$host_bootstrap_suffix\$/,/^@endunless $module-$host_bootstrap_suffix\$/d"
 done
 extrasub_target=
 for module in ${target_configdirs} ; do
@@ -7159,13 +7255,17 @@ for module in ${target_configdirs} ; do
   extrasub_target="$extrasub_target
 /^@if target-$module\$/d
 /^@endif target-$module\$/d
+/^@unless target-$module\$/,/^@endunless target-$module\$/d
 /^@if target-$module-$target_bootstrap_suffix\$/d
-/^@endif target-$module-$target_bootstrap_suffix\$/d"
+/^@endif target-$module-$target_bootstrap_suffix\$/d
+/^@unless target-$module-$target_bootstrap_suffix\$/,/^@endunless target-$module-$target_bootstrap_suffix\$/d"
 done
 
 # Do the final fixup along with target modules.
 extrasub_target="$extrasub_target
-/^@if /,/^@endif /d"
+/^@if /,/^@endif /d
+/^@unless /d
+/^@endunless /d"
 
 # Create the serialization dependencies.  This uses a temporary file.
 
@@ -7421,7 +7521,7 @@ case "$target:$have_compiler:$host:$targ
     fi
     rm -f conftest*
     if test x${dev64} != xyes ; then
-      as_fn_error "I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib." "$LINENO" 5
+      as_fn_error $? "I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib." "$LINENO" 5
     fi
     ;;
 esac
@@ -7621,7 +7721,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_YACC+set}" = set; then :
+if ${ac_cv_prog_YACC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$YACC"; then
@@ -7633,7 +7733,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_YACC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7668,7 +7768,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_BISON+set}" = set; then :
+if ${ac_cv_prog_BISON+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$BISON"; then
@@ -7680,7 +7780,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_BISON="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7715,7 +7815,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_M4+set}" = set; then :
+if ${ac_cv_prog_M4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$M4"; then
@@ -7727,7 +7827,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_M4="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7762,7 +7862,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LEX+set}" = set; then :
+if ${ac_cv_prog_LEX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LEX"; then
@@ -7774,7 +7874,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LEX="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7810,7 +7910,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_FLEX+set}" = set; then :
+if ${ac_cv_prog_FLEX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$FLEX"; then
@@ -7822,7 +7922,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_FLEX="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7857,7 +7957,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKEINFO+set}" = set; then :
+if ${ac_cv_prog_MAKEINFO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKEINFO"; then
@@ -7869,7 +7969,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKEINFO="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7918,7 +8018,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_EXPECT+set}" = set; then :
+if ${ac_cv_prog_EXPECT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$EXPECT"; then
@@ -7930,7 +8030,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_EXPECT="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7967,7 +8067,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RUNTEST+set}" = set; then :
+if ${ac_cv_prog_RUNTEST+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RUNTEST"; then
@@ -7979,7 +8079,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RUNTEST="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8031,7 +8131,7 @@ if test -n "$ac_cv_prog_AR"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -8043,7 +8143,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8073,7 +8173,7 @@ for ncn_progname in ar; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -8085,7 +8185,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8112,7 +8212,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -8124,7 +8224,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8172,7 +8272,7 @@ if test -n "$ac_cv_prog_AS"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AS+set}" = set; then :
+if ${ac_cv_prog_AS+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AS"; then
@@ -8184,7 +8284,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AS="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8214,7 +8314,7 @@ for ncn_progname in as; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AS+set}" = set; then :
+if ${ac_cv_prog_AS+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AS"; then
@@ -8226,7 +8326,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AS="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8253,7 +8353,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AS+set}" = set; then :
+if ${ac_cv_prog_AS+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AS"; then
@@ -8265,7 +8365,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AS="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8313,7 +8413,7 @@ if test -n "$ac_cv_prog_DLLTOOL"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
+if ${ac_cv_prog_DLLTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DLLTOOL"; then
@@ -8325,7 +8425,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DLLTOOL="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8355,7 +8455,7 @@ for ncn_progname in dlltool; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
+if ${ac_cv_prog_DLLTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DLLTOOL"; then
@@ -8367,7 +8467,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DLLTOOL="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8394,7 +8494,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
+if ${ac_cv_prog_DLLTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DLLTOOL"; then
@@ -8406,7 +8506,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DLLTOOL="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8454,7 +8554,7 @@ if test -n "$ac_cv_prog_LD"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LD+set}" = set; then :
+if ${ac_cv_prog_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LD"; then
@@ -8466,7 +8566,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LD="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8496,7 +8596,7 @@ for ncn_progname in ld; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LD+set}" = set; then :
+if ${ac_cv_prog_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LD"; then
@@ -8508,7 +8608,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LD="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8535,7 +8635,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LD+set}" = set; then :
+if ${ac_cv_prog_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LD"; then
@@ -8547,7 +8647,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LD="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8595,7 +8695,7 @@ if test -n "$ac_cv_prog_LIPO"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -8607,7 +8707,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8637,7 +8737,7 @@ for ncn_progname in lipo; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -8649,7 +8749,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8676,7 +8776,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -8688,7 +8788,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8736,7 +8836,7 @@ if test -n "$ac_cv_prog_NM"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NM+set}" = set; then :
+if ${ac_cv_prog_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -8748,7 +8848,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NM="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8778,7 +8878,7 @@ for ncn_progname in nm; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NM+set}" = set; then :
+if ${ac_cv_prog_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -8790,7 +8890,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NM="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8817,7 +8917,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NM+set}" = set; then :
+if ${ac_cv_prog_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -8829,7 +8929,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NM="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8877,7 +8977,7 @@ if test -n "$ac_cv_prog_RANLIB"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8889,7 +8989,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8919,7 +9019,7 @@ for ncn_progname in ranlib; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8931,7 +9031,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8958,7 +9058,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8970,7 +9070,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9013,7 +9113,7 @@ if test -n "$ac_cv_prog_STRIP"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -9025,7 +9125,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9055,7 +9155,7 @@ for ncn_progname in strip; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -9067,7 +9167,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9094,7 +9194,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -9106,7 +9206,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9149,7 +9249,7 @@ if test -n "$ac_cv_prog_WINDRES"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDRES+set}" = set; then :
+if ${ac_cv_prog_WINDRES+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDRES"; then
@@ -9161,7 +9261,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDRES="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9191,7 +9291,7 @@ for ncn_progname in windres; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDRES+set}" = set; then :
+if ${ac_cv_prog_WINDRES+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDRES"; then
@@ -9203,7 +9303,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDRES="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9230,7 +9330,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDRES+set}" = set; then :
+if ${ac_cv_prog_WINDRES+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDRES"; then
@@ -9242,7 +9342,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDRES="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9290,7 +9390,7 @@ if test -n "$ac_cv_prog_WINDMC"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDMC+set}" = set; then :
+if ${ac_cv_prog_WINDMC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDMC"; then
@@ -9302,7 +9402,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDMC="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9332,7 +9432,7 @@ for ncn_progname in windmc; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDMC+set}" = set; then :
+if ${ac_cv_prog_WINDMC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDMC"; then
@@ -9344,7 +9444,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDMC="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9371,7 +9471,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDMC+set}" = set; then :
+if ${ac_cv_prog_WINDMC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDMC"; then
@@ -9383,7 +9483,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDMC="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9431,7 +9531,7 @@ if test -n "$ac_cv_prog_OBJCOPY"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJCOPY+set}" = set; then :
+if ${ac_cv_prog_OBJCOPY+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJCOPY"; then
@@ -9443,7 +9543,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJCOPY="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9473,7 +9573,7 @@ for ncn_progname in objcopy; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJCOPY+set}" = set; then :
+if ${ac_cv_prog_OBJCOPY+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJCOPY"; then
@@ -9485,7 +9585,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJCOPY="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9512,7 +9612,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJCOPY+set}" = set; then :
+if ${ac_cv_prog_OBJCOPY+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJCOPY"; then
@@ -9524,7 +9624,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJCOPY="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9572,7 +9672,7 @@ if test -n "$ac_cv_prog_OBJDUMP"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -9584,7 +9684,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9614,7 +9714,7 @@ for ncn_progname in objdump; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -9626,7 +9726,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9653,7 +9753,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -9665,7 +9765,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9713,7 +9813,7 @@ if test -n "$ac_cv_prog_READELF"; then
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_READELF+set}" = set; then :
+if ${ac_cv_prog_READELF+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$READELF"; then
@@ -9725,7 +9825,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_READELF="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9755,7 +9855,7 @@ for ncn_progname in readelf; do
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_READELF+set}" = set; then :
+if ${ac_cv_prog_READELF+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$READELF"; then
@@ -9767,7 +9867,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_READELF="${ncn_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9794,7 +9894,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_READELF+set}" = set; then :
+if ${ac_cv_prog_READELF+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$READELF"; then
@@ -9806,7 +9906,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_READELF="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9876,7 +9976,7 @@ if test -n "$ac_cv_prog_CC_FOR_TARGET"; 
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_CC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC_FOR_TARGET"; then
@@ -9888,7 +9988,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9935,7 +10035,7 @@ if test -z "$ac_cv_prog_CC_FOR_TARGET"; 
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_CC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC_FOR_TARGET"; then
@@ -9947,7 +10047,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9974,7 +10074,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_CC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC_FOR_TARGET"; then
@@ -9986,7 +10086,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10037,7 +10137,7 @@ if test -n "$ac_cv_prog_CXX_FOR_TARGET";
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_CXX_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CXX_FOR_TARGET"; then
@@ -10049,7 +10149,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CXX_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10096,7 +10196,7 @@ if test -z "$ac_cv_prog_CXX_FOR_TARGET";
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_CXX_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CXX_FOR_TARGET"; then
@@ -10108,7 +10208,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CXX_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10135,7 +10235,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_CXX_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CXX_FOR_TARGET"; then
@@ -10147,7 +10247,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CXX_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10198,7 +10298,7 @@ if test -n "$ac_cv_prog_GCC_FOR_TARGET";
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GCC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_GCC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GCC_FOR_TARGET"; then
@@ -10210,7 +10310,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_GCC_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10257,7 +10357,7 @@ if test -z "$ac_cv_prog_GCC_FOR_TARGET";
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GCC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_GCC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GCC_FOR_TARGET"; then
@@ -10269,7 +10369,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_GCC_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10296,7 +10396,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GCC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_GCC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GCC_FOR_TARGET"; then
@@ -10308,7 +10408,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_GCC_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10354,7 +10454,7 @@ if test -n "$ac_cv_prog_GFORTRAN_FOR_TAR
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GFORTRAN_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_GFORTRAN_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GFORTRAN_FOR_TARGET"; then
@@ -10366,7 +10466,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_GFORTRAN_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10413,7 +10513,7 @@ if test -z "$ac_cv_prog_GFORTRAN_FOR_TAR
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GFORTRAN_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_GFORTRAN_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GFORTRAN_FOR_TARGET"; then
@@ -10425,7 +10525,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_GFORTRAN_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10452,7 +10552,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GFORTRAN_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_GFORTRAN_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GFORTRAN_FOR_TARGET"; then
@@ -10464,7 +10564,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_GFORTRAN_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10515,7 +10615,7 @@ if test -n "$ac_cv_prog_GOC_FOR_TARGET";
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GOC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_GOC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GOC_FOR_TARGET"; then
@@ -10527,7 +10627,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_GOC_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10574,7 +10674,7 @@ if test -z "$ac_cv_prog_GOC_FOR_TARGET";
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GOC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_GOC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GOC_FOR_TARGET"; then
@@ -10586,7 +10686,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_GOC_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10613,7 +10713,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GOC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_GOC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GOC_FOR_TARGET"; then
@@ -10625,7 +10725,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_GOC_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10704,7 +10804,7 @@ if test -z "$ac_cv_path_AR_FOR_TARGET" &
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_AR_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_AR_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $AR_FOR_TARGET in
@@ -10718,7 +10818,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_AR_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10756,7 +10856,7 @@ if test -n "$ac_cv_prog_AR_FOR_TARGET"; 
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_AR_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR_FOR_TARGET"; then
@@ -10768,7 +10868,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10815,7 +10915,7 @@ if test -z "$ac_cv_prog_AR_FOR_TARGET"; 
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_AR_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR_FOR_TARGET"; then
@@ -10827,7 +10927,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10854,7 +10954,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_AR_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR_FOR_TARGET"; then
@@ -10866,7 +10966,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10934,7 +11034,7 @@ if test -z "$ac_cv_path_AS_FOR_TARGET" &
 set dummy as; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_AS_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_AS_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $AS_FOR_TARGET in
@@ -10948,7 +11048,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_AS_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10986,7 +11086,7 @@ if test -n "$ac_cv_prog_AS_FOR_TARGET"; 
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AS_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_AS_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AS_FOR_TARGET"; then
@@ -10998,7 +11098,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AS_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11045,7 +11145,7 @@ if test -z "$ac_cv_prog_AS_FOR_TARGET"; 
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AS_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_AS_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AS_FOR_TARGET"; then
@@ -11057,7 +11157,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AS_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11084,7 +11184,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AS_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_AS_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AS_FOR_TARGET"; then
@@ -11096,7 +11196,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AS_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11164,7 +11264,7 @@ if test -z "$ac_cv_path_DLLTOOL_FOR_TARG
 set dummy dlltool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_DLLTOOL_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_DLLTOOL_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $DLLTOOL_FOR_TARGET in
@@ -11178,7 +11278,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_DLLTOOL_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11216,7 +11316,7 @@ if test -n "$ac_cv_prog_DLLTOOL_FOR_TARG
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DLLTOOL_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_DLLTOOL_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DLLTOOL_FOR_TARGET"; then
@@ -11228,7 +11328,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DLLTOOL_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11275,7 +11375,7 @@ if test -z "$ac_cv_prog_DLLTOOL_FOR_TARG
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DLLTOOL_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_DLLTOOL_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DLLTOOL_FOR_TARGET"; then
@@ -11287,7 +11387,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11314,7 +11414,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DLLTOOL_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_DLLTOOL_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DLLTOOL_FOR_TARGET"; then
@@ -11326,7 +11426,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DLLTOOL_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11394,7 +11494,7 @@ if test -z "$ac_cv_path_LD_FOR_TARGET" &
 set dummy ld; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_LD_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_LD_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $LD_FOR_TARGET in
@@ -11408,7 +11508,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_LD_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11446,7 +11546,7 @@ if test -n "$ac_cv_prog_LD_FOR_TARGET"; 
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LD_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_LD_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LD_FOR_TARGET"; then
@@ -11458,7 +11558,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LD_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11505,7 +11605,7 @@ if test -z "$ac_cv_prog_LD_FOR_TARGET"; 
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LD_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_LD_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LD_FOR_TARGET"; then
@@ -11517,7 +11617,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LD_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11544,7 +11644,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LD_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_LD_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LD_FOR_TARGET"; then
@@ -11556,7 +11656,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LD_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11624,7 +11724,7 @@ if test -z "$ac_cv_path_LIPO_FOR_TARGET"
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_LIPO_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_LIPO_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $LIPO_FOR_TARGET in
@@ -11638,7 +11738,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_LIPO_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11676,7 +11776,7 @@ if test -n "$ac_cv_prog_LIPO_FOR_TARGET"
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_LIPO_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO_FOR_TARGET"; then
@@ -11688,7 +11788,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11735,7 +11835,7 @@ if test -z "$ac_cv_prog_LIPO_FOR_TARGET"
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_LIPO_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO_FOR_TARGET"; then
@@ -11747,7 +11847,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11774,7 +11874,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_LIPO_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO_FOR_TARGET"; then
@@ -11786,7 +11886,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11854,7 +11954,7 @@ if test -z "$ac_cv_path_NM_FOR_TARGET" &
 set dummy nm; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_NM_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_NM_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $NM_FOR_TARGET in
@@ -11868,7 +11968,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_NM_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11906,7 +12006,7 @@ if test -n "$ac_cv_prog_NM_FOR_TARGET"; 
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NM_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_NM_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM_FOR_TARGET"; then
@@ -11918,7 +12018,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NM_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11965,7 +12065,7 @@ if test -z "$ac_cv_prog_NM_FOR_TARGET"; 
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NM_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_NM_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM_FOR_TARGET"; then
@@ -11977,7 +12077,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NM_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12004,7 +12104,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NM_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_NM_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM_FOR_TARGET"; then
@@ -12016,7 +12116,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NM_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12084,7 +12184,7 @@ if test -z "$ac_cv_path_OBJCOPY_FOR_TARG
 set dummy objcopy; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_OBJCOPY_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_OBJCOPY_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $OBJCOPY_FOR_TARGET in
@@ -12098,7 +12198,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_OBJCOPY_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12136,7 +12236,7 @@ if test -n "$ac_cv_prog_OBJCOPY_FOR_TARG
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJCOPY_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_OBJCOPY_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJCOPY_FOR_TARGET"; then
@@ -12148,7 +12248,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJCOPY_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12195,7 +12295,7 @@ if test -z "$ac_cv_prog_OBJCOPY_FOR_TARG
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJCOPY_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_OBJCOPY_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJCOPY_FOR_TARGET"; then
@@ -12207,7 +12307,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJCOPY_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12234,7 +12334,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJCOPY_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_OBJCOPY_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJCOPY_FOR_TARGET"; then
@@ -12246,7 +12346,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJCOPY_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12314,7 +12414,7 @@ if test -z "$ac_cv_path_OBJDUMP_FOR_TARG
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_OBJDUMP_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_OBJDUMP_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $OBJDUMP_FOR_TARGET in
@@ -12328,7 +12428,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_OBJDUMP_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12366,7 +12466,7 @@ if test -n "$ac_cv_prog_OBJDUMP_FOR_TARG
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP_FOR_TARGET"; then
@@ -12378,7 +12478,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12425,7 +12525,7 @@ if test -z "$ac_cv_prog_OBJDUMP_FOR_TARG
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP_FOR_TARGET"; then
@@ -12437,7 +12537,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12464,7 +12564,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP_FOR_TARGET"; then
@@ -12476,7 +12576,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12544,7 +12644,7 @@ if test -z "$ac_cv_path_RANLIB_FOR_TARGE
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_RANLIB_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_RANLIB_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $RANLIB_FOR_TARGET in
@@ -12558,7 +12658,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_RANLIB_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12596,7 +12696,7 @@ if test -n "$ac_cv_prog_RANLIB_FOR_TARGE
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_RANLIB_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB_FOR_TARGET"; then
@@ -12608,7 +12708,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12655,7 +12755,7 @@ if test -z "$ac_cv_prog_RANLIB_FOR_TARGE
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_RANLIB_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB_FOR_TARGET"; then
@@ -12667,7 +12767,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12694,7 +12794,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_RANLIB_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB_FOR_TARGET"; then
@@ -12706,7 +12806,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12774,7 +12874,7 @@ if test -z "$ac_cv_path_READELF_FOR_TARG
 set dummy readelf; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_READELF_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_READELF_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $READELF_FOR_TARGET in
@@ -12788,7 +12888,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_READELF_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12826,7 +12926,7 @@ if test -n "$ac_cv_prog_READELF_FOR_TARG
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_READELF_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_READELF_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$READELF_FOR_TARGET"; then
@@ -12838,7 +12938,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_READELF_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12885,7 +12985,7 @@ if test -z "$ac_cv_prog_READELF_FOR_TARG
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_READELF_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_READELF_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$READELF_FOR_TARGET"; then
@@ -12897,7 +12997,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_READELF_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12924,7 +13024,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_READELF_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_READELF_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$READELF_FOR_TARGET"; then
@@ -12936,7 +13036,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_READELF_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13004,7 +13104,7 @@ if test -z "$ac_cv_path_STRIP_FOR_TARGET
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_STRIP_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_STRIP_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $STRIP_FOR_TARGET in
@@ -13018,7 +13118,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_STRIP_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13056,7 +13156,7 @@ if test -n "$ac_cv_prog_STRIP_FOR_TARGET
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_STRIP_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP_FOR_TARGET"; then
@@ -13068,7 +13168,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13115,7 +13215,7 @@ if test -z "$ac_cv_prog_STRIP_FOR_TARGET
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_STRIP_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP_FOR_TARGET"; then
@@ -13127,7 +13227,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13154,7 +13254,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_STRIP_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP_FOR_TARGET"; then
@@ -13166,7 +13266,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13234,7 +13334,7 @@ if test -z "$ac_cv_path_WINDRES_FOR_TARG
 set dummy windres; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_WINDRES_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_WINDRES_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $WINDRES_FOR_TARGET in
@@ -13248,7 +13348,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_WINDRES_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13286,7 +13386,7 @@ if test -n "$ac_cv_prog_WINDRES_FOR_TARG
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDRES_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_WINDRES_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDRES_FOR_TARGET"; then
@@ -13298,7 +13398,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDRES_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13345,7 +13445,7 @@ if test -z "$ac_cv_prog_WINDRES_FOR_TARG
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDRES_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_WINDRES_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDRES_FOR_TARGET"; then
@@ -13357,7 +13457,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13384,7 +13484,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDRES_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_WINDRES_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDRES_FOR_TARGET"; then
@@ -13396,7 +13496,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDRES_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13464,7 +13564,7 @@ if test -z "$ac_cv_path_WINDMC_FOR_TARGE
 set dummy windmc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_WINDMC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_path_WINDMC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $WINDMC_FOR_TARGET in
@@ -13478,7 +13578,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_WINDMC_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13516,7 +13616,7 @@ if test -n "$ac_cv_prog_WINDMC_FOR_TARGE
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDMC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_WINDMC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDMC_FOR_TARGET"; then
@@ -13528,7 +13628,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDMC_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13575,7 +13675,7 @@ if test -z "$ac_cv_prog_WINDMC_FOR_TARGE
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDMC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_WINDMC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDMC_FOR_TARGET"; then
@@ -13587,7 +13687,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDMC_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13614,7 +13714,7 @@ fi
 set dummy ${ncn_progname}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDMC_FOR_TARGET+set}" = set; then :
+if ${ac_cv_prog_WINDMC_FOR_TARGET+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDMC_FOR_TARGET"; then
@@ -13626,7 +13726,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDMC_FOR_TARGET="${ncn_progname}"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14566,60 +14666,33 @@ fi
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
   enableval=$enable_werror;
-else
-  if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
-  enable_werror=yes
-else
-  enable_werror=no
-fi
-fi
-
 case ${enable_werror} in
   yes) stage2_werror_flag="--enable-werror-always" ;;
   *) stage2_werror_flag="" ;;
 esac
 
-
-# Enable --enable-host-shared.
-# Check whether --enable-host-shared was given.
-if test "${enable_host_shared+set}" = set; then :
-  enableval=$enable_host_shared; host_shared=$enableval
 else
-  host_shared=no
-fi
 
+if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
+  case $BUILD_CONFIG in
+  bootstrap-debug)
+      stage2_werror_flag="--enable-werror-always" ;;
+  "")
+      stage2_werror_flag="--enable-werror-always" ;;
+  esac
+fi
 
+fi
 
-# PR jit/64780: Require the user to explicitly specify
-# --enable-host-shared if the jit is enabled, hinting
-# that they might want to do a separate configure/build of
-# the jit, to avoid users from slowing down the rest of the
-# compiler by enabling the jit.
-if test ${host_shared} = "no" ; then
-  case "${enable_languages}" in
-    *jit*)
-      as_fn_error "
-Enabling language \"jit\" requires --enable-host-shared.
 
---enable-host-shared typically slows the rest of the compiler down by
-a few %, so you must explicitly enable it.
 
-If you want to build both the jit and the regular compiler, it is often
-best to do this via two separate configure/builds, in separate
-directories, to avoid imposing the performance cost of
---enable-host-shared on the regular compiler." "$LINENO" 5
-      ;;
-    *)
-      ;;
-  esac
-fi
 
 # Specify what files to not compare during bootstrap.
 
 compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
 case "$target" in
   hppa*64*-*-hpux*) ;;
-  hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;;
+  hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/* | gcc/function-tests.o" ;;
   powerpc*-ibm-aix*) compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/* | *libgomp*\$(objext)" ;;
 esac
 
@@ -14690,10 +14763,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -14745,6 +14829,7 @@ DEFS=`sed -n "$ac_script" confdefs.h`
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -14760,7 +14845,7 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -14861,6 +14946,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -14906,19 +14992,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -15056,16 +15142,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -15114,7 +15200,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -15125,28 +15211,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -15168,7 +15242,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -15203,6 +15277,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -15217,12 +15292,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -15239,11 +15315,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -15257,12 +15338,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -15273,7 +15357,7 @@ do
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -15293,7 +15377,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -15331,7 +15415,7 @@ do
   case $ac_config_target in
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -15352,9 +15436,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -15362,12 +15447,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -15401,24 +15487,24 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 # Create commands to substitute file output variables.
 {
   echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
-  echo 'cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&' &&
+  echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
   echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' &&
   echo "_ACAWK" &&
   echo "_ACEOF"
 } >conf$$files.sh &&
 . ./conf$$files.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 rm -f conf$$files.sh
 
 {
@@ -15426,18 +15512,18 @@ rm -f conf$$files.sh
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -15445,7 +15531,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -15459,7 +15545,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -15473,7 +15559,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -15493,7 +15579,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
   \$ac_cs_awk_pipe_init
@@ -15531,21 +15617,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -15563,7 +15657,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15582,7 +15676,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15591,7 +15685,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15617,8 +15711,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15750,26 +15844,27 @@ s&@INSTALL@&$ac_INSTALL&;t t
 "
 eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
 if $ac_cs_awk_getline; then
-  $AWK -f "$tmp/subs.awk"
+  $AWK -f "$ac_tmp/subs.awk"
 else
-  $AWK -f "$tmp/subs.awk" | $SHELL
-fi >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  $AWK -f "$ac_tmp/subs.awk" | $SHELL
+fi \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
 
 
@@ -15792,7 +15887,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15813,7 +15908,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/configure.ac ./configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/configure.ac	2018-07-03 02:10:50.000000000 +0000
+++ ./configure.ac	2018-07-10 02:10:38.000000000 +0000
@@ -1,6 +1,6 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
 #   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
-#   2014, 2015, 2016, 2017 Free Software Foundation, Inc.
+#   2014, 2015, 2016 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -31,7 +31,6 @@ m4_include([lt~obsolete.m4])
 m4_include([config/isl.m4])
 
 AC_INIT(move-if-change)
-AC_PREREQ(2.64)
 AC_DISABLE_OPTION_CHECKING
 
 progname=$0
@@ -150,14 +149,13 @@ target_libraries="target-libgcc \
 		target-libgloss \
 		target-newlib \
 		target-libgomp \
-		target-libcilkrts \
 		target-liboffloadmic \
+		target-libhsail-rt \
 		target-libatomic \
 		target-libitm \
 		target-libstdc++-v3 \
 		target-libsanitizer \
 		target-libvtv \
-		target-libmpx \
 		target-libssp \
 		target-libquadmath \
 		target-libgfortran \
@@ -331,7 +329,7 @@ case "${ENABLE_GOLD}" in
       *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
       | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
       | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
-      | *-*-solaris2* | *-*-nto* | *-*-nacl* | *-*-fuchsia*)
+      | *-*-solaris2* | *-*-nto* | *-*-nacl*)
         case "${target}" in
           *-*-linux*aout* | *-*-linux*oldld*)
             ;;
@@ -536,22 +534,6 @@ if test -d ${srcdir}/libatomic; then
     fi
 fi
 
-# Disable libcilkrts on unsupported systems.
-if test -d ${srcdir}/libcilkrts; then
-    if test x$enable_libcilkrts = x; then
-	AC_MSG_CHECKING([for libcilkrts support])
-	if (srcdir=${srcdir}/libcilkrts; \
-		. ${srcdir}/configure.tgt; \
-		test -n "$UNSUPPORTED")
-	then
-	    AC_MSG_RESULT([no])
-	    noconfigdirs="$noconfigdirs target-libcilkrts"
-	else
-	    AC_MSG_RESULT([yes])
-	fi
-    fi
-fi
-
 # Disable liboffloadmic on unsupported systems.
 if test -d ${srcdir}/liboffloadmic; then
     if test x$enable_liboffloadmic != xno; then
@@ -617,24 +599,25 @@ if test -d ${srcdir}/libvtv; then
 fi
 
 
-# Enable libmpx on supported systems by request.
-if test -d ${srcdir}/libmpx; then
-    if test x$enable_libmpx = x; then
-       AC_MSG_CHECKING([for libmpx support])
-       if (srcdir=${srcdir}/libmpx; \
-               . ${srcdir}/configure.tgt; \
-               test "$LIBMPX_SUPPORTED" != "yes")
-       then
-           AC_MSG_RESULT([no])
-           noconfigdirs="$noconfigdirs target-libmpx"
-       else
-           AC_MSG_RESULT([yes])
-       fi
+# Disable libhsail-rt on unsupported systems.
+if test -d ${srcdir}/libhsail-rt; then
+    if test x$enable_libhsail_rt = x; then
+        AC_MSG_CHECKING([for libhsail-rt support])
+        if (srcdir=${srcdir}/libhsail-rt; \
+                . ${srcdir}/configure.tgt; \
+                test -n "$UNSUPPORTED")
+        then
+            AC_MSG_RESULT([no])
+            unsupported_languages="$unsupported_languages brig"
+            # This implicitly disables also target-libhsail-rt as it won't
+            # get added to the build without BRIG FE.
+        else
+            AC_MSG_RESULT([yes])
+        fi
     fi
 fi
 
 
-
 # Disable libquadmath for some systems.
 case "${target}" in
   avr-*-*)
@@ -773,11 +756,8 @@ case "${target}" in
     noconfigdirs="$noconfigdirs target-libffi"
     ;;
   powerpc-*-aix*)
-    # copied from rs6000-*-* entry
-    noconfigdirs="$noconfigdirs target-libffi"
     ;;
   rs6000-*-aix*)
-    noconfigdirs="$noconfigdirs target-libffi"
     ;;
   ft32-*-*)
     noconfigdirs="$noconfigdirs target-libffi"
@@ -790,7 +770,7 @@ esac
 # Disable the go frontend on systems where it is known to not work. Please keep
 # this in sync with contrib/config-list.mk.
 case "${target}" in
-*-*-darwin* | *-*-cygwin* | *-*-mingw* | *-*-aix*)
+*-*-darwin* | *-*-cygwin* | *-*-mingw*)
     unsupported_languages="$unsupported_languages go"
     ;;
 esac
@@ -806,9 +786,6 @@ if test x$enable_libgo = x; then
     *-*-cygwin* | *-*-mingw*)
 	noconfigdirs="$noconfigdirs target-libgo"
 	;;
-    *-*-aix*)
-	noconfigdirs="$noconfigdirs target-libgo"
-	;;
     esac
 fi
 
@@ -1113,6 +1090,10 @@ case "${target}" in
   mt-*-*)
     noconfigdirs="$noconfigdirs sim"
     ;;
+  nfp-*-*)
+    noconfigdirs="$noconfigdirs ld gas gdb gprof sim"
+    noconfigdirs="$noconfigdirs $target_libraries"
+    ;;
   powerpc-*-aix*)
     # copied from rs6000-*-* entry
     noconfigdirs="$noconfigdirs gprof"
@@ -1196,6 +1177,9 @@ case "${target}" in
   vax-*-*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
+  wasm32-*-*)
+    noconfigdirs="$noconfigdirs ld"
+    ;;
 esac
 
 # If we aren't building newlib, then don't build libgloss, since libgloss
@@ -1301,11 +1285,11 @@ if test "$GCC" = yes; then
   LDFLAGS="$LDFLAGS -static-libstdc++ -static-libgcc"
   AC_MSG_CHECKING([whether g++ accepts -static-libstdc++ -static-libgcc])
   AC_LANG_PUSH(C++)
-  AC_LINK_IFELSE([
+  AC_LINK_IFELSE([AC_LANG_SOURCE([
 #if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
 #error -static-libstdc++ not implemented
 #endif
-int main() {}],
+int main() {}])],
     [AC_MSG_RESULT([yes]); have_static_libs=yes],
     [AC_MSG_RESULT([no])])
   AC_LANG_POP(C++)
@@ -1702,7 +1686,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms b
   build_lto_plugin=yes
 ],[if test x"$default_enable_lto" = x"yes" ; then
     case $target in
-      *-apple-darwin9* | *-cygwin* | *-mingw* | *djgpp*) ;;
+      *-apple-darwin[[912]]* | *-cygwin* | *-mingw* | *djgpp*) ;;
       # On other non-ELF platforms, LTO has yet to be validated.
       *) enable_lto=no ;;
     esac
@@ -1741,6 +1725,13 @@ AC_ARG_ENABLE(linker-plugin-flags,
   extra_linker_plugin_flags=)
 AC_SUBST(extra_linker_plugin_flags)
 
+# Enable --enable-host-shared.
+# Checked early to determine whether jit is an 'all' language
+AC_ARG_ENABLE(host-shared,
+[AS_HELP_STRING([--enable-host-shared],
+		[build host code as shared libraries])],
+[host_shared=$enableval], [host_shared=no])
+AC_SUBST(host_shared)
 
 # By default, C and C++ are the only stage 1 languages.
 stage1_languages=,c,
@@ -1759,7 +1750,7 @@ if test -d ${srcdir}/gcc; then
       enable_languages="${LANGUAGES}"
         echo configure.ac: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
     else
-      enable_languages=all
+      enable_languages=default
     fi
   else
     if test x"${enable_languages}" = x ||
@@ -1807,10 +1798,16 @@ if test -d ${srcdir}/gcc; then
         language=
         lang_requires=
         lang_requires_boot_languages=
-        . ${lang_frag}
+        # set srcdir during sourcing lang_frag to the gcc dir.
+        # Sadly overriding srcdir on the . line doesn't work in plain sh as it
+        # polutes this shell
+        saved_srcdir=${srcdir}
+        srcdir=${srcdir}/gcc . ${lang_frag}
+        srcdir=${saved_srcdir}
         for other in ${lang_requires} ${lang_requires_boot_languages}; do
           case ,${enable_languages}, in
 	    *,$other,*) ;;
+	    *,default,*) ;;
 	    *,all,*) ;;
 	    *,$language,*)
 	      echo " \`$other' language required by \`$language'; enabling" 1>&2
@@ -1822,6 +1819,7 @@ if test -d ${srcdir}/gcc; then
 	  if test "$other" != "c"; then
 	    case ,${enable_stage1_languages}, in
 	      *,$other,*) ;;
+	      *,default,*) ;;
 	      *,all,*) ;;
 	      *)
 		case ,${enable_languages}, in
@@ -1859,7 +1857,7 @@ if test -d ${srcdir}/gcc; then
     esac
   fi
 
-  missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
+  missing_languages=`echo ",$enable_languages," | sed -e s/,default,/,/ -e s/,all,/,/ -e s/,c,/,/ `
   potential_languages=,c,
 
   enabled_target_libs=
@@ -1880,7 +1878,10 @@ if test -d ${srcdir}/gcc; then
         subdir_requires=
         boot_language=no
         build_by_default=yes
-        . ${lang_frag}
+        # set srcdir during sourcing.  See above about save & restore
+        saved_srcdir=${srcdir}
+        srcdir=${srcdir}/gcc . ${lang_frag}
+        srcdir=${saved_srcdir}
         if test x${language} = x; then
           echo "${lang_frag} doesn't set \$language." 1>&2
           exit 1
@@ -1891,30 +1892,36 @@ if test -d ${srcdir}/gcc; then
 	fi
 
         add_this_lang=no
-        case ,${enable_languages}, in
-          *,${language},*)
-            # Language was explicitly selected; include it
-	    # unless it is C, which is enabled by default.
-	    if test "$language" != "c"; then
+        # C is always enabled, so no need to add it again
+        if test "$language" != "c"; then
+          case ,${enable_languages}, in
+            *,${language},*)
+              # Language was explicitly selected; include it
 	      add_this_lang=yes
-	    fi
-            ;;
-          *,all,*)
-            # 'all' was selected, select it if it is a default language
-	    if test "$language" != "c"; then
+              ;;
+	    *,all,*)
+	      # All languages are enabled
+	      add_this_lang=all
+              ;;
+            *,default,*)
+              # 'default' was selected, select it if it is a default language
 	      add_this_lang=${build_by_default}
-	    fi
-            ;;
-        esac
+              ;;
+          esac
+        fi
 
         # Disable languages that need other directories if these aren't available.
 	for i in $subdir_requires; do
 	  test -f "$srcdir/gcc/$i/config-lang.in" && continue
-	  case ,${enable_languages}, in
-            *,${language},*)
+	  case ${add_this_lang} in
+	    yes)
               # Specifically requested language; tell them.
               AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing])
               ;;
+            all)
+              AC_MSG_WARN([The gcc/$i directory contains parts of $language but is missing])
+              add_this_lang=unsupported
+              ;;
             *)
               # Silently disable.
               add_this_lang=unsupported
@@ -1923,20 +1930,52 @@ if test -d ${srcdir}/gcc; then
 	done
 
         # Disable Ada if no preexisting GNAT is available.
-        case ,${enable_languages},:${language}:${have_gnat} in
-          *,${language},*:ada:no)
+        case ${add_this_lang}:${language}:${have_gnat} in
+          yes:ada:no)
             # Specifically requested language; tell them.
             AC_MSG_ERROR([GNAT is required to build $language])
             ;;
+          all:ada:no)
+            AC_MSG_WARN([GNAT is required to build $language])
+            add_this_lang=unsupported
+            ;;
           *:ada:no)
             # Silently disable.
             add_this_lang=unsupported
             ;;
         esac
 
-	# Disable a language that is unsupported by the target.
-	case " $unsupported_languages " in
-	  *" $language "*)
+        # Disable jit if -enable-host-shared not specified
+        case ${add_this_lang}:${language}:${host_shared} in
+          yes:jit:no)
+	    # PR jit/64780: explicitly specify --enable-host-shared
+	    AC_MSG_ERROR([
+Enabling language "jit" requires --enable-host-shared.
+
+--enable-host-shared typically slows the rest of the compiler down by
+a few %, so you must explicitly enable it.
+
+If you want to build both the jit and the regular compiler, it is often
+best to do this via two separate configure/builds, in separate
+directories, to avoid imposing the performance cost of
+--enable-host-shared on the regular compiler.])
+	    ;;
+          all:jit:no)
+	    AC_MSG_WARN([--enable-host-shared required to build $language])
+            add_this_lang=unsupported
+            ;;
+          *:jit:no)
+            # Silently disable.
+            add_this_lang=unsupported
+            ;;
+	esac
+
+        # Disable a language that is unsupported by the target.
+	case "${add_this_lang}: $unsupported_languages " in
+	  no:*) ;;
+	  unsupported:*) ;;
+	  *:*" $language "*)
+	    AC_MSG_WARN([${language} not supported for this target])
 	    add_this_lang=unsupported
 	    ;;
 	esac
@@ -1953,7 +1992,7 @@ if test -d ${srcdir}/gcc; then
 	    noconfigdirs="$noconfigdirs $lang_dirs"
             potential_languages="${potential_languages}${language},"
 	    ;;
-          yes)
+          all|yes)
 	    new_enable_languages="${new_enable_languages}${language},"
             potential_languages="${potential_languages}${language},"
 	    missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
@@ -2082,19 +2121,19 @@ case ,${enable_languages},:${enable_objc
   fi
 esac
 
-# Disable libcilkrts, libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++
+# Disable libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++
 case ,${enable_languages}, in
   *,c++,*)
-    # Disable libcilkrts, libitm, libsanitizer if we're not building libstdc++
+    # Disable libitm, libsanitizer if we're not building libstdc++
     case "${noconfigdirs}" in
       *target-libstdc++-v3*)
-        noconfigdirs="$noconfigdirs target-libcilkrts target-libitm target-libsanitizer"
+        noconfigdirs="$noconfigdirs target-libitm target-libsanitizer"
         ;;
       *) ;;
     esac
     ;;
   *)
-    noconfigdirs="$noconfigdirs target-libcilkrts target-liboffloadmic target-libitm target-libsanitizer target-libvtv"
+    noconfigdirs="$noconfigdirs target-liboffloadmic target-libitm target-libsanitizer target-libvtv"
     ;;
 esac
 
@@ -2449,6 +2488,9 @@ case "${target}" in
   nios2-*-elf*)
     target_makefile_frag="config/mt-nios2-elf"
     ;;
+  *-*-linux-android*)
+    target_makefile_frag="config/mt-android"
+    ;;
   *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
     target_makefile_frag="config/mt-gnu"
     ;;
@@ -2636,16 +2678,6 @@ if echo " ${target_configdirs} " | grep 
   bootstrap_target_libs=${bootstrap_target_libs}target-libvtv,
 fi
 
-# If we are building libmpx and $BUILD_CONFIG contains bootstrap-mpx,
-# bootstrap it.
-if echo " ${target_configdirs} " | grep " libmpx " > /dev/null 2>&1; then
-  case "$BUILD_CONFIG" in
-    *bootstrap-mpx* )
-      bootstrap_target_libs=${bootstrap_target_libs}target-libmpx,
-      ;;
-  esac
-fi
-
 # Determine whether gdb needs tk/tcl or not.
 # Use 'maybe' since enable_gdbtk might be true even if tk isn't available
 # and in that case we want gdb to be built without tk.  Ugh!
@@ -2686,7 +2718,9 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-
 # extrasub-{build,host,target} not because there is any reason to split
 # the substitutions up that way, but only to remain below the limit of
 # 99 commands in a script, for HP-UX sed.
-# Do not nest @if/@endif pairs, because configure will not warn you at all.
+
+# Do not nest @if/@endif or @unless/@endunless pairs, because
+# configure will not warn you at all.
 
 case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
   yes:yes:*\ gold\ *:*,c++,*) ;;
@@ -2705,8 +2739,10 @@ for module in ${build_configdirs} ; do
   extrasub_build="$extrasub_build
 /^@if build-$module\$/d
 /^@endif build-$module\$/d
+/^@unless build-$module\$/,/^@endunless build-$module\$/d
 /^@if build-$module-$bootstrap_suffix\$/d
-/^@endif build-$module-$bootstrap_suffix\$/d"
+/^@endif build-$module-$bootstrap_suffix\$/d
+/^@unless build-$module-$bootstrap_suffix\$/,/^@endunless build-$module-$bootstrap_suffix\$/d"
 done
 extrasub_host=
 for module in ${configdirs} ; do
@@ -2725,8 +2761,10 @@ for module in ${configdirs} ; do
   extrasub_host="$extrasub_host
 /^@if $module\$/d
 /^@endif $module\$/d
+/^@unless $module\$/,/^@endunless $module\$/d
 /^@if $module-$host_bootstrap_suffix\$/d
-/^@endif $module-$host_bootstrap_suffix\$/d"
+/^@endif $module-$host_bootstrap_suffix\$/d
+/^@unless $module-$host_bootstrap_suffix\$/,/^@endunless $module-$host_bootstrap_suffix\$/d"
 done
 extrasub_target=
 for module in ${target_configdirs} ; do
@@ -2745,13 +2783,17 @@ for module in ${target_configdirs} ; do
   extrasub_target="$extrasub_target
 /^@if target-$module\$/d
 /^@endif target-$module\$/d
+/^@unless target-$module\$/,/^@endunless target-$module\$/d
 /^@if target-$module-$target_bootstrap_suffix\$/d
-/^@endif target-$module-$target_bootstrap_suffix\$/d"
+/^@endif target-$module-$target_bootstrap_suffix\$/d
+/^@unless target-$module-$target_bootstrap_suffix\$/,/^@endunless target-$module-$target_bootstrap_suffix\$/d"
 done
 
 # Do the final fixup along with target modules.
 extrasub_target="$extrasub_target
-/^@if /,/^@endif /d"
+/^@if /,/^@endif /d
+/^@unless /d
+/^@endunless /d"
 
 # Create the serialization dependencies.  This uses a temporary file.
 
@@ -3436,55 +3478,32 @@ AC_SUBST(stage1_checking)
 # Enable -Werror in bootstrap stage2 and later.
 AC_ARG_ENABLE(werror,
 [AS_HELP_STRING([--enable-werror],
-		[enable -Werror in bootstrap stage2 and later])], [],
-[if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
-  enable_werror=yes
-else
-  enable_werror=no
-fi])
+		[enable -Werror in bootstrap stage2 and later])],
+[
 case ${enable_werror} in
   yes) stage2_werror_flag="--enable-werror-always" ;;
   *) stage2_werror_flag="" ;;
 esac
-AC_SUBST(stage2_werror_flag)
-
-# Enable --enable-host-shared.
-AC_ARG_ENABLE(host-shared,
-[AS_HELP_STRING([--enable-host-shared],
-		[build host code as shared libraries])],
-[host_shared=$enableval], [host_shared=no])
-AC_SUBST(host_shared)
-
-# PR jit/64780: Require the user to explicitly specify
-# --enable-host-shared if the jit is enabled, hinting
-# that they might want to do a separate configure/build of
-# the jit, to avoid users from slowing down the rest of the
-# compiler by enabling the jit.
-if test ${host_shared} = "no" ; then
-  case "${enable_languages}" in
-    *jit*)
-      AC_MSG_ERROR([
-Enabling language "jit" requires --enable-host-shared.
-
---enable-host-shared typically slows the rest of the compiler down by
-a few %, so you must explicitly enable it.
-
-If you want to build both the jit and the regular compiler, it is often
-best to do this via two separate configure/builds, in separate
-directories, to avoid imposing the performance cost of
---enable-host-shared on the regular compiler.])
-      ;;
-    *)
-      ;;
+],
+[
+if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
+  case $BUILD_CONFIG in
+  bootstrap-debug)
+      stage2_werror_flag="--enable-werror-always" ;;
+  "")
+      stage2_werror_flag="--enable-werror-always" ;;
   esac
 fi
+])
+
+AC_SUBST(stage2_werror_flag)
 
 # Specify what files to not compare during bootstrap.
 
 compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
 case "$target" in
   hppa*64*-*-hpux*) ;;
-  hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;;
+  hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/* | gcc/function-tests.o" ;;
   powerpc*-ibm-aix*) compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/* | *libgomp*\$(objext)" ;;
 esac
 AC_SUBST(compare_exclusions)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/cpu/ChangeLog ./cpu/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/cpu/ChangeLog	2018-07-03 02:06:27.000000000 +0000
+++ ./cpu/ChangeLog	2018-07-10 02:06:11.000000000 +0000
@@ -1,3 +1,18 @@
+2018-05-09  Sebastian Rasmussen  <sebras@gmail.com>
+
+	* or1kcommon.cpu (spr-reg-info): Typo fix.
+
+2018-03-03  Alan Modra  <amodra@gmail.com>
+
+	* frv.opc: Include opintl.h.
+	(add_next_to_vliw): Use opcodes_error_handler to print error.
+	Standardize error message.
+	(fr500_check_insn_major_constraints, frv_vliw_add_insn): Likewise.
+
+2018-01-13  Nick Clifton  <nickc@redhat.com>
+
+	2.30 branch created.
+
 2017-03-15  Stafford Horne  <shorne@gmail.com>
 
 	* or1kcommon.cpu: Add pc set semantics to also update ppc.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/cpu/frv.opc ./cpu/frv.opc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/cpu/frv.opc	2018-07-03 02:06:27.000000000 +0000
+++ ./cpu/frv.opc	2018-07-10 02:06:11.000000000 +0000
@@ -78,6 +78,7 @@ int spr_valid           (long);
 /* -- */
 
 /* -- opc.c */
+#include "opintl.h"
 #include "elf/frv.h"
 #include <stdio.h>
 
@@ -500,9 +501,9 @@ add_next_to_vliw (FRV_VLIW *vliw, CGEN_A
 
   if (next <= 0)
     {
-      fprintf (stderr, "frv-opc.c line %d: bad vliw->next_slot value.\n",
-	       __LINE__);
-      abort (); /* Should never happen.  */
+      /* xgettext:c-format */
+      opcodes_error_handler (_("internal error: bad vliw->next_slot value"));
+      abort ();
     }
 
   /* The table is sorted by units allowed within slots, so vliws with
@@ -810,8 +811,8 @@ fr500_check_insn_major_constraints (FRV_
 	&&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_6)
 	&&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_7);
     default:
-      fprintf (stderr, "frv-opc.c, line %d: bad major code, aborting.\n",
-	       __LINE__);
+      /* xgettext:c-format */
+      opcodes_error_handler (_("internal error: bad major code"));
       abort ();
       break;
     }
@@ -860,9 +861,9 @@ frv_vliw_add_insn (FRV_VLIW *vliw, const
   unit = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_UNIT);
   if (unit == UNIT_NIL)
     {
-      fprintf (stderr, "frv-opc.c line %d: bad insn unit.\n",
-	       __LINE__);
-      abort (); /* No UNIT specified for this insn in frv.cpu.  */
+      /* xgettext:c-format */
+      opcodes_error_handler (_("internal error: bad insn unit"));
+      abort ();
     }
 
   switch (vliw->mach)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/cpu/or1kcommon.cpu ./cpu/or1kcommon.cpu
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/cpu/or1kcommon.cpu	2018-07-03 02:06:27.000000000 +0000
+++ ./cpu/or1kcommon.cpu	2018-07-10 02:06:11.000000000 +0000
@@ -170,7 +170,7 @@
    (SYS DCFGR    #x007 "Debug configuration register")
    (SYS PCCFGR   #x008 "Performance counters configuration register")
    (SYS NPC      #x010 "Next program counter")
-   (SYS SR       #x011 "Supervision Regsiter")
+   (SYS SR       #x011 "Supervision Register")
    (SYS PPC      #x012 "Previous program counter")
    (SYS FPCSR    #x014 "Floating point control status register")
    (.unsplice
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/djunpack.bat ./djunpack.bat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/djunpack.bat	2018-07-03 02:10:54.000000000 +0000
+++ ./djunpack.bat	2018-07-10 02:10: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.1.0.20180703
-if "%GDBVER%"=="$package-8.1.0.20180703" GoTo EnvOk
+set GDBVER=$package-8.1.90.20180710
+if "%GDBVER%"=="$package-8.1.90.20180710" 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.1.0.20180703/etc/ChangeLog ./etc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/etc/ChangeLog	2018-07-03 02:06:27.000000000 +0000
+++ ./etc/ChangeLog	2018-07-10 02:06:11.000000000 +0000
@@ -1,3 +1,8 @@
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* configure.in: Remove AC_PREREQ.
+	* configure: Re-generate.
+
 2018-01-03  Alan Modra  <amodra@gmail.com>
 
 	* add-log.el: Update copyright year range.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/etc/configure ./etc/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/etc/configure	2018-07-03 02:06:27.000000000 +0000
+++ ./etc/configure	2018-07-10 02:06:11.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -208,14 +235,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -313,10 +351,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -353,19 +399,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -438,6 +484,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -472,16 +522,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -493,28 +543,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -523,10 +553,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -665,8 +696,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -711,7 +743,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -737,7 +769,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -941,7 +973,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -957,7 +989,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -987,8 +1019,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -996,7 +1028,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1006,7 +1038,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1014,13 +1046,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1043,7 +1075,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1057,8 +1089,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1073,9 +1103,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1114,11 +1144,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1158,7 +1188,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1279,9 +1309,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1296,7 +1326,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1406,11 +1436,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -1444,11 +1472,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -1461,11 +1487,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -1479,11 +1503,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -1538,7 +1560,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -1549,18 +1576,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -1629,7 +1660,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -1645,16 +1676,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -1683,7 +1720,7 @@ ac_configure="$SHELL $ac_aux_dir/configu
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -1703,7 +1740,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -1767,7 +1804,7 @@ if test "${enable_maintainer_mode+set}" 
   enableval=$enable_maintainer_mode; case ${enable_maintainer_mode} in
      yes) MAINT='' ;;
      no) MAINT='#' ;;
-     *) as_fn_error "--enable-maintainer-mode must be yes or no" "$LINENO" 5 ;;
+     *) as_fn_error $? "--enable-maintainer-mode must be yes or no" "$LINENO" 5 ;;
    esac
    maintainer_mode=${enableval}
 else
@@ -1846,10 +1883,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -1901,6 +1949,7 @@ DEFS=`sed -n "$ac_script" confdefs.h`
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -1916,7 +1965,7 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -2017,6 +2066,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2062,19 +2112,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -2212,16 +2262,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -2270,7 +2320,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -2281,28 +2331,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -2324,7 +2362,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -2359,6 +2397,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -2373,12 +2412,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -2394,11 +2434,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -2412,12 +2457,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -2428,7 +2476,7 @@ do
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -2448,7 +2496,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -2479,7 +2527,7 @@ do
   case $ac_config_target in
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -2500,9 +2548,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -2510,12 +2559,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -2532,12 +2582,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -2546,18 +2596,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -2565,7 +2615,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -2579,7 +2629,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -2593,7 +2643,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -2613,7 +2663,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -2645,21 +2695,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -2677,7 +2735,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -2696,7 +2754,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -2705,7 +2763,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -2731,8 +2789,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -2862,23 +2920,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
 
 
@@ -2893,7 +2952,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -2914,7 +2973,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/etc/configure.in ./etc/configure.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/etc/configure.in	2018-07-03 02:06:27.000000000 +0000
+++ ./etc/configure.in	2018-07-10 02:06:11.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.5)
 AC_INIT(Makefile.in)
 
 AC_PROG_INSTALL
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch32-linux-nat.c ./gdb/aarch32-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch32-linux-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/aarch32-linux-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -34,20 +34,20 @@ aarch32_gp_regcache_supply (struct regca
   int regno;
 
   for (regno = ARM_A1_REGNUM; regno < ARM_PC_REGNUM; regno++)
-    regcache_raw_supply (regcache, regno, &regs[regno]);
+    regcache->raw_supply (regno, &regs[regno]);
 
   if (arm_apcs_32)
     {
       /* Clear reserved bits bit 20 to bit 23.  */
       regs[ARM_CPSR_GREGNUM] &= 0xff0fffff;
-      regcache_raw_supply (regcache, ARM_PS_REGNUM, &regs[ARM_CPSR_GREGNUM]);
+      regcache->raw_supply (ARM_PS_REGNUM, &regs[ARM_CPSR_GREGNUM]);
     }
   else
-    regcache_raw_supply (regcache, ARM_PS_REGNUM, &regs[ARM_PC_REGNUM]);
+    regcache->raw_supply (ARM_PS_REGNUM, &regs[ARM_PC_REGNUM]);
 
   regs[ARM_PC_REGNUM] = gdbarch_addr_bits_remove
 			  (regcache->arch (), regs[ARM_PC_REGNUM]);
-  regcache_raw_supply (regcache, ARM_PC_REGNUM, &regs[ARM_PC_REGNUM]);
+  regcache->raw_supply (ARM_PC_REGNUM, &regs[ARM_PC_REGNUM]);
 }
 
 /* Collect GP registers from REGCACHE to buffer REGS.  ARM_APCS_32 is
@@ -61,17 +61,16 @@ aarch32_gp_regcache_collect (const struc
 
   for (regno = ARM_A1_REGNUM; regno <= ARM_PC_REGNUM; regno++)
     {
-      if (REG_VALID == regcache_register_status (regcache, regno))
-	regcache_raw_collect (regcache, regno, &regs[regno]);
+      if (REG_VALID == regcache->get_register_status (regno))
+	regcache->raw_collect (regno, &regs[regno]);
     }
 
   if (arm_apcs_32
-      && REG_VALID == regcache_register_status (regcache, ARM_PS_REGNUM))
+      && REG_VALID == regcache->get_register_status (ARM_PS_REGNUM))
     {
       uint32_t cpsr = regs[ARM_CPSR_GREGNUM];
 
-      regcache_raw_collect (regcache, ARM_PS_REGNUM,
-			    &regs[ARM_CPSR_GREGNUM]);
+      regcache->raw_collect (ARM_PS_REGNUM, &regs[ARM_CPSR_GREGNUM]);
       /* Keep reserved bits bit 20 to bit 23.  */
       regs[ARM_CPSR_GREGNUM] = ((regs[ARM_CPSR_GREGNUM] & 0xff0fffff)
 				| (cpsr & 0x00f00000));
@@ -88,11 +87,9 @@ aarch32_vfp_regcache_supply (struct regc
   int regno;
 
   for (regno = 0; regno < vfp_register_count; regno++)
-    regcache_raw_supply (regcache, regno + ARM_D0_REGNUM,
-			 regs + regno * 8);
+    regcache->raw_supply (regno + ARM_D0_REGNUM, regs + regno * 8);
 
-  regcache_raw_supply (regcache, ARM_FPSCR_REGNUM,
-		       regs + 32 * 8);
+  regcache->raw_supply (ARM_FPSCR_REGNUM, regs + 32 * 8);
 }
 
 /* Collect VFP registers from REGCACHE to buffer REGS.
@@ -105,7 +102,7 @@ aarch32_vfp_regcache_collect (const stru
   int regno;
 
   for (regno = 0; regno < vfp_register_count; regno++)
-    regcache_raw_collect (regcache, regno + ARM_D0_REGNUM, regs + regno * 8);
+    regcache->raw_collect (regno + ARM_D0_REGNUM, regs + regno * 8);
 
-  regcache_raw_collect (regcache, ARM_FPSCR_REGNUM, regs + 32 * 8);
+  regcache->raw_collect (ARM_FPSCR_REGNUM, regs + 32 * 8);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch64-fbsd-nat.c ./gdb/aarch64-fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch64-fbsd-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/aarch64-fbsd-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -29,6 +29,14 @@
 #include "aarch64-fbsd-tdep.h"
 #include "inf-ptrace.h"
 
+struct aarch64_fbsd_nat_target final : public fbsd_nat_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static aarch64_fbsd_nat_target the_aarch64_fbsd_nat_target;
+
 /* Determine if PT_GETREGS fetches REGNUM.  */
 
 static bool
@@ -48,11 +56,11 @@ getfpregs_supplies (struct gdbarch *gdba
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers.  */
 
-static void
-aarch64_fbsd_fetch_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regnum)
+void
+aarch64_fbsd_nat_target::fetch_registers (struct regcache *regcache,
+					  int regnum)
 {
-  pid_t pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t pid = get_ptrace_pid (regcache->ptid ());
 
   struct gdbarch *gdbarch = regcache->arch ();
   if (regnum == -1 || getregs_supplies (gdbarch, regnum))
@@ -81,11 +89,11 @@ aarch64_fbsd_fetch_inferior_registers (s
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers.  */
 
-static void
-aarch64_fbsd_store_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regnum)
+void
+aarch64_fbsd_nat_target::store_registers (struct regcache *regcache,
+					  int regnum)
 {
-  pid_t pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t pid = get_ptrace_pid (regcache->ptid ());
 
   struct gdbarch *gdbarch = regcache->arch ();
   if (regnum == -1 || getregs_supplies (gdbarch, regnum))
@@ -120,10 +128,5 @@ aarch64_fbsd_store_inferior_registers (s
 void
 _initialize_aarch64_fbsd_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = aarch64_fbsd_fetch_inferior_registers;
-  t->to_store_registers = aarch64_fbsd_store_inferior_registers;
-  fbsd_nat_add_target (t);
+  add_inf_child_target (&the_aarch64_fbsd_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch64-linux-nat.c ./gdb/aarch64-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch64-linux-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/aarch64-linux-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -32,6 +32,7 @@
 #include "aarch32-linux-nat.h"
 #include "nat/aarch64-linux.h"
 #include "nat/aarch64-linux-hw-point.h"
+#include "nat/aarch64-sve-linux-ptrace.h"
 
 #include "elf/external.h"
 #include "elf/common.h"
@@ -49,6 +50,54 @@
 #define TRAP_HWBKPT 0x0004
 #endif
 
+class aarch64_linux_nat_target final : public linux_nat_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  const struct target_desc *read_description () override;
+
+  /* Add our hardware breakpoint and watchpoint implementation.  */
+  int can_use_hw_breakpoint (enum bptype, int, int) override;
+  int insert_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override;
+  int remove_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override;
+  int region_ok_for_hw_watchpoint (CORE_ADDR, int) override;
+  int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+  int remove_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+  bool stopped_by_watchpoint () override;
+  bool stopped_data_address (CORE_ADDR *) override;
+  bool watchpoint_addr_within_range (CORE_ADDR, CORE_ADDR, int) override;
+
+  int can_do_single_step () override;
+
+  /* Override the GNU/Linux inferior startup hook.  */
+  void post_startup_inferior (ptid_t) override;
+
+  /* Override the GNU/Linux post attach hook.  */
+  void post_attach (int pid) override;
+
+  /* These three defer to common nat/ code.  */
+  void low_new_thread (struct lwp_info *lp) override
+  { aarch64_linux_new_thread (lp); }
+  void low_delete_thread (struct arch_lwp_info *lp) override
+  { aarch64_linux_delete_thread (lp); }
+  void low_prepare_to_resume (struct lwp_info *lp) override
+  { aarch64_linux_prepare_to_resume (lp); }
+
+  void low_new_fork (struct lwp_info *parent, pid_t child_pid) override;
+  void low_forget_process (pid_t pid) override;
+
+  /* Add our siginfo layout converter.  */
+  bool low_siginfo_fixup (siginfo_t *ptrace, gdb_byte *inf, int direction)
+    override;
+};
+
+static aarch64_linux_nat_target the_aarch64_linux_nat_target;
+
 /* Per-process data.  We don't bind this to a per-inferior registry
    because of targets like x86 GNU/Linux that need to keep track of
    processes that aren't bound to any inferior (e.g., fork children,
@@ -117,8 +166,8 @@ aarch64_process_info_get (pid_t pid)
 /* Called whenever GDB is no longer debugging process PID.  It deletes
    data structures that keep track of debug register state.  */
 
-static void
-aarch64_forget_process (pid_t pid)
+void
+aarch64_linux_nat_target::low_forget_process (pid_t pid)
 {
   struct aarch64_process_info *proc, **proc_link;
 
@@ -163,7 +212,7 @@ fetch_gregs_from_thread (struct regcache
      and arm.  */
   gdb_static_assert (sizeof (regs) >= 18 * 4);
 
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   iovec.iov_base = &regs;
   if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 32)
@@ -182,7 +231,7 @@ fetch_gregs_from_thread (struct regcache
       int regno;
 
       for (regno = AARCH64_X0_REGNUM; regno <= AARCH64_CPSR_REGNUM; regno++)
-	regcache_raw_supply (regcache, regno, &regs[regno - AARCH64_X0_REGNUM]);
+	regcache->raw_supply (regno, &regs[regno - AARCH64_X0_REGNUM]);
     }
 }
 
@@ -200,7 +249,7 @@ store_gregs_to_thread (const struct regc
   /* Make sure REGS can hold all registers contents on both aarch64
      and arm.  */
   gdb_static_assert (sizeof (regs) >= 18 * 4);
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   iovec.iov_base = &regs;
   if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 32)
@@ -219,9 +268,8 @@ store_gregs_to_thread (const struct regc
       int regno;
 
       for (regno = AARCH64_X0_REGNUM; regno <= AARCH64_CPSR_REGNUM; regno++)
-	if (REG_VALID == regcache_register_status (regcache, regno))
-	  regcache_raw_collect (regcache, regno,
-				&regs[regno - AARCH64_X0_REGNUM]);
+	if (REG_VALID == regcache->get_register_status (regno))
+	  regcache->raw_collect (regno, &regs[regno - AARCH64_X0_REGNUM]);
     }
 
   ret = ptrace (PTRACE_SETREGSET, tid, NT_PRSTATUS, &iovec);
@@ -244,7 +292,7 @@ fetch_fpregs_from_thread (struct regcach
      and arm.  */
   gdb_static_assert (sizeof regs >= VFP_REGS_SIZE);
 
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   iovec.iov_base = &regs;
 
@@ -269,11 +317,10 @@ fetch_fpregs_from_thread (struct regcach
 	perror_with_name (_("Unable to fetch vFP/SIMD registers."));
 
       for (regno = AARCH64_V0_REGNUM; regno <= AARCH64_V31_REGNUM; regno++)
-	regcache_raw_supply (regcache, regno,
-			     &regs.vregs[regno - AARCH64_V0_REGNUM]);
+	regcache->raw_supply (regno, &regs.vregs[regno - AARCH64_V0_REGNUM]);
 
-      regcache_raw_supply (regcache, AARCH64_FPSR_REGNUM, &regs.fpsr);
-      regcache_raw_supply (regcache, AARCH64_FPCR_REGNUM, &regs.fpcr);
+      regcache->raw_supply (AARCH64_FPSR_REGNUM, &regs.fpsr);
+      regcache->raw_supply (AARCH64_FPCR_REGNUM, &regs.fpcr);
     }
 }
 
@@ -291,7 +338,7 @@ store_fpregs_to_thread (const struct reg
   /* Make sure REGS can hold all VFP registers contents on both aarch64
      and arm.  */
   gdb_static_assert (sizeof regs >= VFP_REGS_SIZE);
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   iovec.iov_base = &regs;
 
@@ -316,16 +363,14 @@ store_fpregs_to_thread (const struct reg
 	perror_with_name (_("Unable to fetch FP/SIMD registers."));
 
       for (regno = AARCH64_V0_REGNUM; regno <= AARCH64_V31_REGNUM; regno++)
-	if (REG_VALID == regcache_register_status (regcache, regno))
-	  regcache_raw_collect (regcache, regno,
-				(char *) &regs.vregs[regno - AARCH64_V0_REGNUM]);
-
-      if (REG_VALID == regcache_register_status (regcache, AARCH64_FPSR_REGNUM))
-	regcache_raw_collect (regcache, AARCH64_FPSR_REGNUM,
-			      (char *) &regs.fpsr);
-      if (REG_VALID == regcache_register_status (regcache, AARCH64_FPCR_REGNUM))
-	regcache_raw_collect (regcache, AARCH64_FPCR_REGNUM,
-			      (char *) &regs.fpcr);
+	if (REG_VALID == regcache->get_register_status (regno))
+	  regcache->raw_collect
+	    (regno, (char *) &regs.vregs[regno - AARCH64_V0_REGNUM]);
+
+      if (REG_VALID == regcache->get_register_status (AARCH64_FPSR_REGNUM))
+	regcache->raw_collect (AARCH64_FPSR_REGNUM, (char *) &regs.fpsr);
+      if (REG_VALID == regcache->get_register_status (AARCH64_FPCR_REGNUM))
+	regcache->raw_collect (AARCH64_FPCR_REGNUM, (char *) &regs.fpcr);
     }
 
   if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 32)
@@ -342,38 +387,86 @@ store_fpregs_to_thread (const struct reg
     }
 }
 
-/* Implement the "to_fetch_register" target_ops method.  */
+/* Fill GDB's register array with the sve register values
+   from the current thread.  */
 
 static void
-aarch64_linux_fetch_inferior_registers (struct target_ops *ops,
-					struct regcache *regcache,
-					int regno)
+fetch_sveregs_from_thread (struct regcache *regcache)
+{
+  std::unique_ptr<gdb_byte[]> base
+    = aarch64_sve_get_sveregs (regcache->ptid ().lwp ());
+  aarch64_sve_regs_copy_to_reg_buf (regcache, base.get ());
+}
+
+/* Store to the current thread the valid sve register
+   values in the GDB's register array.  */
+
+static void
+store_sveregs_to_thread (struct regcache *regcache)
+{
+  int ret;
+  struct iovec iovec;
+  int tid = regcache->ptid ().lwp ();
+
+  /* Obtain a dump of SVE registers from ptrace.  */
+  std::unique_ptr<gdb_byte[]> base = aarch64_sve_get_sveregs (tid);
+
+  /* Overwrite with regcache state.  */
+  aarch64_sve_regs_copy_from_reg_buf (regcache, base.get ());
+
+  /* Write back to the kernel.  */
+  iovec.iov_base = base.get ();
+  iovec.iov_len = ((struct user_sve_header *) base.get ())->size;
+  ret = ptrace (PTRACE_SETREGSET, tid, NT_ARM_SVE, &iovec);
+
+  if (ret < 0)
+    perror_with_name (_("Unable to store sve registers"));
+}
+
+/* Implement the "fetch_registers" target_ops method.  */
+
+void
+aarch64_linux_nat_target::fetch_registers (struct regcache *regcache,
+					   int regno)
 {
+  struct gdbarch_tdep *tdep = gdbarch_tdep (regcache->arch ());
+
   if (regno == -1)
     {
       fetch_gregs_from_thread (regcache);
-      fetch_fpregs_from_thread (regcache);
+      if (tdep->has_sve ())
+	fetch_sveregs_from_thread (regcache);
+      else
+	fetch_fpregs_from_thread (regcache);
     }
   else if (regno < AARCH64_V0_REGNUM)
     fetch_gregs_from_thread (regcache);
+  else if (tdep->has_sve ())
+    fetch_sveregs_from_thread (regcache);
   else
     fetch_fpregs_from_thread (regcache);
 }
 
-/* Implement the "to_store_register" target_ops method.  */
+/* Implement the "store_registers" target_ops method.  */
 
-static void
-aarch64_linux_store_inferior_registers (struct target_ops *ops,
-					struct regcache *regcache,
-					int regno)
+void
+aarch64_linux_nat_target::store_registers (struct regcache *regcache,
+					   int regno)
 {
+  struct gdbarch_tdep *tdep = gdbarch_tdep (regcache->arch ());
+
   if (regno == -1)
     {
       store_gregs_to_thread (regcache);
-      store_fpregs_to_thread (regcache);
+      if (tdep->has_sve ())
+	store_sveregs_to_thread (regcache);
+      else
+	store_fpregs_to_thread (regcache);
     }
   else if (regno < AARCH64_V0_REGNUM)
     store_gregs_to_thread (regcache);
+  else if (tdep->has_sve ())
+    store_sveregs_to_thread (regcache);
   else
     store_fpregs_to_thread (regcache);
 }
@@ -428,8 +521,9 @@ supply_fpregset (struct regcache *regcac
 
 /* linux_nat_new_fork hook.   */
 
-static void
-aarch64_linux_new_fork (struct lwp_info *parent, pid_t child_pid)
+void
+aarch64_linux_nat_target::low_new_fork (struct lwp_info *parent,
+					pid_t child_pid)
 {
   pid_t parent_pid;
   struct aarch64_debug_reg_state *parent_state;
@@ -446,7 +540,7 @@ aarch64_linux_new_fork (struct lwp_info 
      new process so that all breakpoints and watchpoints can be
      removed together.  */
 
-  parent_pid = ptid_get_pid (parent->ptid);
+  parent_pid = parent->ptid.pid ();
   parent_state = aarch64_get_debug_reg_state (parent_pid);
   child_state = aarch64_get_debug_reg_state (child_pid);
   *child_state = *parent_state;
@@ -467,32 +561,43 @@ ps_get_thread_area (struct ps_prochandle
 }
 
 
-static void (*super_post_startup_inferior) (struct target_ops *self,
-					    ptid_t ptid);
+/* Implement the "post_startup_inferior" target_ops method.  */
+
+void
+aarch64_linux_nat_target::post_startup_inferior (ptid_t ptid)
+{
+  low_forget_process (ptid.pid ());
+  aarch64_linux_get_debug_reg_capacity (ptid.pid ());
+  linux_nat_target::post_startup_inferior (ptid);
+}
 
-/* Implement the "to_post_startup_inferior" target_ops method.  */
+/* Implement the "post_attach" target_ops method.  */
 
-static void
-aarch64_linux_child_post_startup_inferior (struct target_ops *self,
-					   ptid_t ptid)
+void
+aarch64_linux_nat_target::post_attach (int pid)
 {
-  aarch64_forget_process (ptid_get_pid (ptid));
-  aarch64_linux_get_debug_reg_capacity (ptid_get_pid (ptid));
-  super_post_startup_inferior (self, ptid);
+  low_forget_process (pid);
+  /* Set the hardware debug register capacity.  If
+     aarch64_linux_get_debug_reg_capacity is not called
+     (as it is in aarch64_linux_child_post_startup_inferior) then
+     software watchpoints will be used instead of hardware
+     watchpoints when attaching to a target.  */
+  aarch64_linux_get_debug_reg_capacity (pid);
+  linux_nat_target::post_attach (pid);
 }
 
 extern struct target_desc *tdesc_arm_with_neon;
 
-/* Implement the "to_read_description" target_ops method.  */
+/* Implement the "read_description" target_ops method.  */
 
-static const struct target_desc *
-aarch64_linux_read_description (struct target_ops *ops)
+const struct target_desc *
+aarch64_linux_nat_target::read_description ()
 {
   int ret, tid;
   gdb_byte regbuf[VFP_REGS_SIZE];
   struct iovec iovec;
 
-  tid = ptid_get_lwp (inferior_ptid);
+  tid = inferior_ptid.lwp ();
 
   iovec.iov_base = regbuf;
   iovec.iov_len = VFP_REGS_SIZE;
@@ -501,7 +606,7 @@ aarch64_linux_read_description (struct t
   if (ret == 0)
     return tdesc_arm_with_neon;
   else
-    return aarch64_read_description ();
+    return aarch64_read_description (aarch64_sve_get_vq (tid));
 }
 
 /* Convert a native/host siginfo object, into/from the siginfo in the
@@ -510,8 +615,9 @@ aarch64_linux_read_description (struct t
    from INF to NATIVE.  If DIRECTION is 0, copy from NATIVE to
    INF.  */
 
-static int
-aarch64_linux_siginfo_fixup (siginfo_t *native, gdb_byte *inf, int direction)
+bool
+aarch64_linux_nat_target::low_siginfo_fixup (siginfo_t *native, gdb_byte *inf,
+					     int direction)
 {
   struct gdbarch *gdbarch = get_frame_arch (get_current_frame ());
 
@@ -526,10 +632,10 @@ aarch64_linux_siginfo_fixup (siginfo_t *
 	aarch64_siginfo_from_compat_siginfo (native,
 					     (struct compat_siginfo *) inf);
 
-      return 1;
+      return true;
     }
 
-  return 0;
+  return false;
 }
 
 /* Returns the number of hardware watchpoints of type TYPE that we can
@@ -542,10 +648,9 @@ aarch64_linux_siginfo_fixup (siginfo_t *
    one).  OTHERTYPE is non-zero if other types of watchpoints are
    currently enabled.  */
 
-static int
-aarch64_linux_can_use_hw_breakpoint (struct target_ops *self,
-				     enum bptype type,
-				     int cnt, int othertype)
+int
+aarch64_linux_nat_target::can_use_hw_breakpoint (enum bptype type,
+						 int cnt, int othertype)
 {
   if (type == bp_hardware_watchpoint || type == bp_read_watchpoint
       || type == bp_access_watchpoint || type == bp_watchpoint)
@@ -573,17 +678,16 @@ aarch64_linux_can_use_hw_breakpoint (str
 /* Insert a hardware-assisted breakpoint at BP_TGT->reqstd_address.
    Return 0 on success, -1 on failure.  */
 
-static int
-aarch64_linux_insert_hw_breakpoint (struct target_ops *self,
-				    struct gdbarch *gdbarch,
-				    struct bp_target_info *bp_tgt)
+int
+aarch64_linux_nat_target::insert_hw_breakpoint (struct gdbarch *gdbarch,
+						struct bp_target_info *bp_tgt)
 {
   int ret;
   CORE_ADDR addr = bp_tgt->placed_address = bp_tgt->reqstd_address;
   int len;
   const enum target_hw_bp_type type = hw_execute;
   struct aarch64_debug_reg_state *state
-    = aarch64_get_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = aarch64_get_debug_reg_state (inferior_ptid.pid ());
 
   gdbarch_breakpoint_from_pc (gdbarch, &addr, &len);
 
@@ -607,17 +711,16 @@ aarch64_linux_insert_hw_breakpoint (stru
 /* Remove a hardware-assisted breakpoint at BP_TGT->placed_address.
    Return 0 on success, -1 on failure.  */
 
-static int
-aarch64_linux_remove_hw_breakpoint (struct target_ops *self,
-				    struct gdbarch *gdbarch,
-				    struct bp_target_info *bp_tgt)
+int
+aarch64_linux_nat_target::remove_hw_breakpoint (struct gdbarch *gdbarch,
+						struct bp_target_info *bp_tgt)
 {
   int ret;
   CORE_ADDR addr = bp_tgt->placed_address;
   int len = 4;
   const enum target_hw_bp_type type = hw_execute;
   struct aarch64_debug_reg_state *state
-    = aarch64_get_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = aarch64_get_debug_reg_state (inferior_ptid.pid ());
 
   gdbarch_breakpoint_from_pc (gdbarch, &addr, &len);
 
@@ -637,21 +740,20 @@ aarch64_linux_remove_hw_breakpoint (stru
   return ret;
 }
 
-/* Implement the "to_insert_watchpoint" target_ops method.
+/* Implement the "insert_watchpoint" target_ops method.
 
    Insert a watchpoint to watch a memory region which starts at
    address ADDR and whose length is LEN bytes.  Watch memory accesses
    of the type TYPE.  Return 0 on success, -1 on failure.  */
 
-static int
-aarch64_linux_insert_watchpoint (struct target_ops *self,
-				 CORE_ADDR addr, int len,
-				 enum target_hw_bp_type type,
-				 struct expression *cond)
+int
+aarch64_linux_nat_target::insert_watchpoint (CORE_ADDR addr, int len,
+					     enum target_hw_bp_type type,
+					     struct expression *cond)
 {
   int ret;
   struct aarch64_debug_reg_state *state
-    = aarch64_get_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = aarch64_get_debug_reg_state (inferior_ptid.pid ());
 
   if (show_debug_regs)
     fprintf_unfiltered (gdb_stdlog,
@@ -671,20 +773,19 @@ aarch64_linux_insert_watchpoint (struct 
   return ret;
 }
 
-/* Implement the "to_remove_watchpoint" target_ops method.
+/* Implement the "remove_watchpoint" target_ops method.
    Remove a watchpoint that watched the memory region which starts at
    address ADDR, whose length is LEN bytes, and for accesses of the
    type TYPE.  Return 0 on success, -1 on failure.  */
 
-static int
-aarch64_linux_remove_watchpoint (struct target_ops *self,
-				 CORE_ADDR addr, int len,
-				 enum target_hw_bp_type type,
-				 struct expression *cond)
+int
+aarch64_linux_nat_target::remove_watchpoint (CORE_ADDR addr, int len,
+					     enum target_hw_bp_type type,
+					     struct expression *cond)
 {
   int ret;
   struct aarch64_debug_reg_state *state
-    = aarch64_get_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = aarch64_get_debug_reg_state (inferior_ptid.pid ());
 
   if (show_debug_regs)
     fprintf_unfiltered (gdb_stdlog,
@@ -704,78 +805,97 @@ aarch64_linux_remove_watchpoint (struct 
   return ret;
 }
 
-/* Implement the "to_region_ok_for_hw_watchpoint" target_ops method.  */
+/* Implement the "region_ok_for_hw_watchpoint" target_ops method.  */
 
-static int
-aarch64_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
-					   CORE_ADDR addr, int len)
+int
+aarch64_linux_nat_target::region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
 {
   return aarch64_linux_region_ok_for_watchpoint (addr, len);
 }
 
-/* Implement the "to_stopped_data_address" target_ops method.  */
+/* Implement the "stopped_data_address" target_ops method.  */
 
-static int
-aarch64_linux_stopped_data_address (struct target_ops *target,
-				    CORE_ADDR *addr_p)
+bool
+aarch64_linux_nat_target::stopped_data_address (CORE_ADDR *addr_p)
 {
   siginfo_t siginfo;
   int i, tid;
   struct aarch64_debug_reg_state *state;
 
   if (!linux_nat_get_siginfo (inferior_ptid, &siginfo))
-    return 0;
+    return false;
 
   /* This must be a hardware breakpoint.  */
   if (siginfo.si_signo != SIGTRAP
       || (siginfo.si_code & 0xffff) != TRAP_HWBKPT)
-    return 0;
+    return false;
 
   /* Check if the address matches any watched address.  */
-  state = aarch64_get_debug_reg_state (ptid_get_pid (inferior_ptid));
+  state = aarch64_get_debug_reg_state (inferior_ptid.pid ());
   for (i = aarch64_num_wp_regs - 1; i >= 0; --i)
     {
+      const unsigned int offset
+	= aarch64_watchpoint_offset (state->dr_ctrl_wp[i]);
       const unsigned int len = aarch64_watchpoint_length (state->dr_ctrl_wp[i]);
       const CORE_ADDR addr_trap = (CORE_ADDR) siginfo.si_addr;
-      const CORE_ADDR addr_watch = state->dr_addr_wp[i];
+      const CORE_ADDR addr_watch = state->dr_addr_wp[i] + offset;
+      const CORE_ADDR addr_watch_aligned = align_down (state->dr_addr_wp[i], 8);
+      const CORE_ADDR addr_orig = state->dr_addr_orig_wp[i];
 
       if (state->dr_ref_count_wp[i]
 	  && DR_CONTROL_ENABLED (state->dr_ctrl_wp[i])
-	  && addr_trap >= addr_watch
+	  && addr_trap >= addr_watch_aligned
 	  && addr_trap < addr_watch + len)
 	{
-	  *addr_p = addr_trap;
-	  return 1;
+	  /* ADDR_TRAP reports the first address of the memory range
+	     accessed by the CPU, regardless of what was the memory
+	     range watched.  Thus, a large CPU access that straddles
+	     the ADDR_WATCH..ADDR_WATCH+LEN range may result in an
+	     ADDR_TRAP that is lower than the
+	     ADDR_WATCH..ADDR_WATCH+LEN range.  E.g.:
+
+	     addr: |   4   |   5   |   6   |   7   |   8   |
+				   |---- range watched ----|
+		   |----------- range accessed ------------|
+
+	     In this case, ADDR_TRAP will be 4.
+
+	     To match a watchpoint known to GDB core, we must never
+	     report *ADDR_P outside of any ADDR_WATCH..ADDR_WATCH+LEN
+	     range.  ADDR_WATCH <= ADDR_TRAP < ADDR_ORIG is a false
+	     positive on kernels older than 4.10.  See PR
+	     external/20207.  */
+	  *addr_p = addr_orig;
+	  return true;
 	}
     }
 
-  return 0;
+  return false;
 }
 
-/* Implement the "to_stopped_by_watchpoint" target_ops method.  */
+/* Implement the "stopped_by_watchpoint" target_ops method.  */
 
-static int
-aarch64_linux_stopped_by_watchpoint (struct target_ops *ops)
+bool
+aarch64_linux_nat_target::stopped_by_watchpoint ()
 {
   CORE_ADDR addr;
 
-  return aarch64_linux_stopped_data_address (ops, &addr);
+  return stopped_data_address (&addr);
 }
 
-/* Implement the "to_watchpoint_addr_within_range" target_ops method.  */
+/* Implement the "watchpoint_addr_within_range" target_ops method.  */
 
-static int
-aarch64_linux_watchpoint_addr_within_range (struct target_ops *target,
-					    CORE_ADDR addr,
-					    CORE_ADDR start, int length)
+bool
+aarch64_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr,
+							CORE_ADDR start, int length)
 {
   return start <= addr && start + length - 1 >= addr;
 }
 
-/* Implement the "to_can_do_single_step" target_ops method.  */
+/* Implement the "can_do_single_step" target_ops method.  */
 
-static int
-aarch64_linux_can_do_single_step (struct target_ops *target)
+int
+aarch64_linux_nat_target::can_do_single_step ()
 {
   return 1;
 }
@@ -804,44 +924,9 @@ triggers a breakpoint or watchpoint."),
 void
 _initialize_aarch64_linux_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
   add_show_debug_regs_command ();
 
-  /* Add our register access methods.  */
-  t->to_fetch_registers = aarch64_linux_fetch_inferior_registers;
-  t->to_store_registers = aarch64_linux_store_inferior_registers;
-
-  t->to_read_description = aarch64_linux_read_description;
-
-  t->to_can_use_hw_breakpoint = aarch64_linux_can_use_hw_breakpoint;
-  t->to_insert_hw_breakpoint = aarch64_linux_insert_hw_breakpoint;
-  t->to_remove_hw_breakpoint = aarch64_linux_remove_hw_breakpoint;
-  t->to_region_ok_for_hw_watchpoint =
-    aarch64_linux_region_ok_for_hw_watchpoint;
-  t->to_insert_watchpoint = aarch64_linux_insert_watchpoint;
-  t->to_remove_watchpoint = aarch64_linux_remove_watchpoint;
-  t->to_stopped_by_watchpoint = aarch64_linux_stopped_by_watchpoint;
-  t->to_stopped_data_address = aarch64_linux_stopped_data_address;
-  t->to_watchpoint_addr_within_range =
-    aarch64_linux_watchpoint_addr_within_range;
-  t->to_can_do_single_step = aarch64_linux_can_do_single_step;
-
-  /* Override the GNU/Linux inferior startup hook.  */
-  super_post_startup_inferior = t->to_post_startup_inferior;
-  t->to_post_startup_inferior = aarch64_linux_child_post_startup_inferior;
-
   /* Register the target.  */
-  linux_nat_add_target (t);
-  linux_nat_set_new_thread (t, aarch64_linux_new_thread);
-  linux_nat_set_delete_thread (t, aarch64_linux_delete_thread);
-  linux_nat_set_new_fork (t, aarch64_linux_new_fork);
-  linux_nat_set_forget_process (t, aarch64_forget_process);
-  linux_nat_set_prepare_to_resume (t, aarch64_linux_prepare_to_resume);
-
-  /* Add our siginfo layout converter.  */
-  linux_nat_set_siginfo_fixup (t, aarch64_linux_siginfo_fixup);
+  linux_target = &the_aarch64_linux_nat_target;
+  add_inf_child_target (&the_aarch64_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch64-linux-tdep.c ./gdb/aarch64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch64-linux-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/aarch64-linux-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -233,7 +233,8 @@ aarch64_linux_iterate_over_regset_sectio
       NULL, cb_data);
 }
 
-/* Implement the "core_read_description" gdbarch method.  */
+/* Implement the "core_read_description" gdbarch method.  SVE not yet
+   supported.  */
 
 static const struct target_desc *
 aarch64_linux_core_read_description (struct gdbarch *gdbarch,
@@ -244,7 +245,7 @@ aarch64_linux_core_read_description (str
   if (target_auxv_search (target, AT_HWCAP, &aarch64_hwcap) != 1)
     return NULL;
 
-  return aarch64_read_description ();
+  return aarch64_read_description (0);
 }
 
 /* Implementation of `gdbarch_stap_is_single_operand', as defined in
@@ -365,9 +366,9 @@ aarch64_stap_parse_special_token (struct
 
 static LONGEST
 aarch64_linux_get_syscall_number (struct gdbarch *gdbarch,
-				  ptid_t ptid)
+				  thread_info *thread)
 {
-  struct regcache *regs = get_thread_regcache (ptid);
+  struct regcache *regs = get_thread_regcache (thread);
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
 
   /* The content of register x8.  */
@@ -376,7 +377,7 @@ aarch64_linux_get_syscall_number (struct
   LONGEST ret;
 
   /* Getting the system call number from the register x8.  */
-  regcache_cooked_read (regs, AARCH64_DWARF_X0 + 8, buf);
+  regs->cooked_read (AARCH64_DWARF_X0 + 8, buf);
 
   ret = extract_signed_integer (buf, X_REGISTER_SIZE, byte_order);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch64-tdep.c ./gdb/aarch64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch64-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/aarch64-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -69,6 +69,10 @@
 #define AARCH64_S0_REGNUM (AARCH64_D0_REGNUM + 32)
 #define AARCH64_H0_REGNUM (AARCH64_S0_REGNUM + 32)
 #define AARCH64_B0_REGNUM (AARCH64_H0_REGNUM + 32)
+#define AARCH64_SVE_V0_REGNUM (AARCH64_B0_REGNUM + 32)
+
+/* All possible aarch64 target descriptors.  */
+struct target_desc *tdesc_aarch64_list[AARCH64_MAX_SVE_VQ + 1];
 
 /* The standard register names, and all the valid aliases for them.  */
 static const struct
@@ -153,6 +157,27 @@ static const char *const aarch64_v_regis
   "fpcr"
 };
 
+/* The SVE 'Z' and 'P' registers.  */
+static const char *const aarch64_sve_register_names[] =
+{
+  /* These registers must appear in consecutive RAW register number
+     order and they must begin with AARCH64_SVE_Z0_REGNUM! */
+  "z0", "z1", "z2", "z3",
+  "z4", "z5", "z6", "z7",
+  "z8", "z9", "z10", "z11",
+  "z12", "z13", "z14", "z15",
+  "z16", "z17", "z18", "z19",
+  "z20", "z21", "z22", "z23",
+  "z24", "z25", "z26", "z27",
+  "z28", "z29", "z30", "z31",
+  "fpsr", "fpcr",
+  "p0", "p1", "p2", "p3",
+  "p4", "p5", "p6", "p7",
+  "p8", "p9", "p10", "p11",
+  "p12", "p13", "p14", "p15",
+  "ffr", "vg"
+};
+
 /* AArch64 prologue cache structure.  */
 struct aarch64_prologue_cache
 {
@@ -210,6 +235,7 @@ class instruction_reader : public abstra
 {
  public:
   ULONGEST read (CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
+    override
   {
     return read_code_unsigned_integer (memaddr, len, byte_order);
   }
@@ -243,7 +269,7 @@ aarch64_analyze_prologue (struct gdbarch
 
       insn = reader.read (start, 4, byte_order_for_code);
 
-      if (aarch64_decode_insn (insn, &inst, 1) != 0)
+      if (aarch64_decode_insn (insn, &inst, 1, NULL) != 0)
 	break;
 
       if (inst.opcode->iclass == addsub_imm
@@ -505,6 +531,7 @@ public:
   {}
 
   ULONGEST read (CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
+    override
   {
     SELF_CHECK (len == 4);
     SELF_CHECK (memaddr % 4 == 0);
@@ -1269,7 +1296,7 @@ pass_in_v (struct gdbarch *gdbarch,
       /* PCS C.1, the argument is allocated to the least significant
 	 bits of V register.  */
       memcpy (reg, buf, len);
-      regcache_cooked_write (regcache, regnum, reg);
+      regcache->cooked_write (regnum, reg);
 
       if (aarch64_debug)
 	{
@@ -1740,6 +1767,30 @@ aarch64_vnb_type (struct gdbarch *gdbarc
   return tdep->vnb_type;
 }
 
+/* Return the type for an AdvSISD V register.  */
+
+static struct type *
+aarch64_vnv_type (struct gdbarch *gdbarch)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  if (tdep->vnv_type == NULL)
+    {
+      struct type *t = arch_composite_type (gdbarch, "__gdb_builtin_type_vnv",
+					    TYPE_CODE_UNION);
+
+      append_composite_type_field (t, "d", aarch64_vnd_type (gdbarch));
+      append_composite_type_field (t, "s", aarch64_vns_type (gdbarch));
+      append_composite_type_field (t, "h", aarch64_vnh_type (gdbarch));
+      append_composite_type_field (t, "b", aarch64_vnb_type (gdbarch));
+      append_composite_type_field (t, "q", aarch64_vnq_type (gdbarch));
+
+      tdep->vnv_type = t;
+    }
+
+  return tdep->vnv_type;
+}
+
 /* Implement the "dwarf2_reg_to_regnum" gdbarch method.  */
 
 static int
@@ -1754,9 +1805,20 @@ aarch64_dwarf_reg_to_regnum (struct gdba
   if (reg >= AARCH64_DWARF_V0 && reg <= AARCH64_DWARF_V0 + 31)
     return AARCH64_V0_REGNUM + reg - AARCH64_DWARF_V0;
 
+  if (reg == AARCH64_DWARF_SVE_VG)
+    return AARCH64_SVE_VG_REGNUM;
+
+  if (reg == AARCH64_DWARF_SVE_FFR)
+    return AARCH64_SVE_FFR_REGNUM;
+
+  if (reg >= AARCH64_DWARF_SVE_P0 && reg <= AARCH64_DWARF_SVE_P0 + 15)
+    return AARCH64_SVE_P0_REGNUM + reg - AARCH64_DWARF_SVE_P0;
+
+  if (reg >= AARCH64_DWARF_SVE_Z0 && reg <= AARCH64_DWARF_SVE_Z0 + 15)
+    return AARCH64_SVE_Z0_REGNUM + reg - AARCH64_DWARF_SVE_Z0;
+
   return -1;
 }
-
 
 /* Implement the "print_insn" gdbarch method.  */
 
@@ -1790,7 +1852,7 @@ aarch64_extract_return_value (struct typ
       bfd_byte buf[V_REGISTER_SIZE];
       int len = TYPE_LENGTH (type);
 
-      regcache_cooked_read (regs, AARCH64_V0_REGNUM, buf);
+      regs->cooked_read (AARCH64_V0_REGNUM, buf);
       memcpy (valbuf, buf, len);
     }
   else if (TYPE_CODE (type) == TYPE_CODE_INT
@@ -1826,10 +1888,10 @@ aarch64_extract_return_value (struct typ
       struct type *target_type = check_typedef (TYPE_TARGET_TYPE (type));
       int len = TYPE_LENGTH (target_type);
 
-      regcache_cooked_read (regs, regno, buf);
+      regs->cooked_read (regno, buf);
       memcpy (valbuf, buf, len);
       valbuf += len;
-      regcache_cooked_read (regs, regno + 1, buf);
+      regs->cooked_read (regno + 1, buf);
       memcpy (valbuf, buf, len);
       valbuf += len;
     }
@@ -1851,7 +1913,7 @@ aarch64_extract_return_value (struct typ
 			    i + 1,
 			    gdbarch_register_name (gdbarch, regno));
 	    }
-	  regcache_cooked_read (regs, regno, buf);
+	  regs->cooked_read (regno, buf);
 
 	  memcpy (valbuf, buf, len);
 	  valbuf += len;
@@ -1863,7 +1925,7 @@ aarch64_extract_return_value (struct typ
       /* Short vector is returned in V register.  */
       gdb_byte buf[V_REGISTER_SIZE];
 
-      regcache_cooked_read (regs, AARCH64_V0_REGNUM, buf);
+      regs->cooked_read (AARCH64_V0_REGNUM, buf);
       memcpy (valbuf, buf, TYPE_LENGTH (type));
     }
   else
@@ -1877,7 +1939,7 @@ aarch64_extract_return_value (struct typ
 
       while (len > 0)
 	{
-	  regcache_cooked_read (regs, regno++, buf);
+	  regs->cooked_read (regno++, buf);
 	  memcpy (valbuf, buf, len > X_REGISTER_SIZE ? X_REGISTER_SIZE : len);
 	  len -= X_REGISTER_SIZE;
 	  valbuf += X_REGISTER_SIZE;
@@ -1929,7 +1991,7 @@ aarch64_store_return_value (struct type 
       int len = TYPE_LENGTH (type);
 
       memcpy (buf, valbuf, len > V_REGISTER_SIZE ? V_REGISTER_SIZE : len);
-      regcache_cooked_write (regs, AARCH64_V0_REGNUM, buf);
+      regs->cooked_write (AARCH64_V0_REGNUM, buf);
     }
   else if (TYPE_CODE (type) == TYPE_CODE_INT
 	   || TYPE_CODE (type) == TYPE_CODE_CHAR
@@ -1946,7 +2008,7 @@ aarch64_store_return_value (struct type 
 	  LONGEST val = unpack_long (type, valbuf);
 
 	  store_signed_integer (tmpbuf, X_REGISTER_SIZE, byte_order, val);
-	  regcache_cooked_write (regs, AARCH64_X0_REGNUM, tmpbuf);
+	  regs->cooked_write (AARCH64_X0_REGNUM, tmpbuf);
 	}
       else
 	{
@@ -1958,7 +2020,7 @@ aarch64_store_return_value (struct type 
 
 	  while (len > 0)
 	    {
-	      regcache_cooked_write (regs, regno++, valbuf);
+	      regs->cooked_write (regno++, valbuf);
 	      len -= X_REGISTER_SIZE;
 	      valbuf += X_REGISTER_SIZE;
 	    }
@@ -1984,7 +2046,7 @@ aarch64_store_return_value (struct type 
 	    }
 
 	  memcpy (tmpbuf, valbuf, len);
-	  regcache_cooked_write (regs, regno, tmpbuf);
+	  regs->cooked_write (regno, tmpbuf);
 	  valbuf += len;
 	}
     }
@@ -1995,7 +2057,7 @@ aarch64_store_return_value (struct type 
       gdb_byte buf[V_REGISTER_SIZE];
 
       memcpy (buf, valbuf, TYPE_LENGTH (type));
-      regcache_cooked_write (regs, AARCH64_V0_REGNUM, buf);
+      regs->cooked_write (AARCH64_V0_REGNUM, buf);
     }
   else
     {
@@ -2010,7 +2072,7 @@ aarch64_store_return_value (struct type 
 	{
 	  memcpy (tmpbuf, valbuf,
 		  len > X_REGISTER_SIZE ? X_REGISTER_SIZE : len);
-	  regcache_cooked_write (regs, regno++, tmpbuf);
+	  regs->cooked_write (regno++, tmpbuf);
 	  len -= X_REGISTER_SIZE;
 	  valbuf += X_REGISTER_SIZE;
 	}
@@ -2088,6 +2150,8 @@ aarch64_gen_return_address (struct gdbar
 static const char *
 aarch64_pseudo_register_name (struct gdbarch *gdbarch, int regnum)
 {
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
   static const char *const q_name[] =
     {
       "q0", "q1", "q2", "q3",
@@ -2165,6 +2229,25 @@ aarch64_pseudo_register_name (struct gdb
   if (regnum >= AARCH64_B0_REGNUM && regnum < AARCH64_B0_REGNUM + 32)
     return b_name[regnum - AARCH64_B0_REGNUM];
 
+  if (tdep->has_sve ())
+    {
+      static const char *const sve_v_name[] =
+	{
+	  "v0", "v1", "v2", "v3",
+	  "v4", "v5", "v6", "v7",
+	  "v8", "v9", "v10", "v11",
+	  "v12", "v13", "v14", "v15",
+	  "v16", "v17", "v18", "v19",
+	  "v20", "v21", "v22", "v23",
+	  "v24", "v25", "v26", "v27",
+	  "v28", "v29", "v30", "v31",
+	};
+
+      if (regnum >= AARCH64_SVE_V0_REGNUM
+	  && regnum < AARCH64_SVE_V0_REGNUM + AARCH64_V_REGS_NUM)
+	return sve_v_name[regnum - AARCH64_SVE_V0_REGNUM];
+    }
+
   internal_error (__FILE__, __LINE__,
 		  _("aarch64_pseudo_register_name: bad register number %d"),
 		  regnum);
@@ -2175,6 +2258,8 @@ aarch64_pseudo_register_name (struct gdb
 static struct type *
 aarch64_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
 {
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
   regnum -= gdbarch_num_regs (gdbarch);
 
   if (regnum >= AARCH64_Q0_REGNUM && regnum < AARCH64_Q0_REGNUM + 32)
@@ -2192,6 +2277,10 @@ aarch64_pseudo_register_type (struct gdb
   if (regnum >= AARCH64_B0_REGNUM && regnum < AARCH64_B0_REGNUM + 32)
     return aarch64_vnb_type (gdbarch);
 
+  if (tdep->has_sve () && regnum >= AARCH64_SVE_V0_REGNUM
+      && regnum < AARCH64_SVE_V0_REGNUM + AARCH64_V_REGS_NUM)
+    return aarch64_vnv_type (gdbarch);
+
   internal_error (__FILE__, __LINE__,
 		  _("aarch64_pseudo_register_type: bad register number %d"),
 		  regnum);
@@ -2203,6 +2292,8 @@ static int
 aarch64_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
 				    struct reggroup *group)
 {
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
   regnum -= gdbarch_num_regs (gdbarch);
 
   if (regnum >= AARCH64_Q0_REGNUM && regnum < AARCH64_Q0_REGNUM + 32)
@@ -2217,175 +2308,144 @@ aarch64_pseudo_register_reggroup_p (stru
     return group == all_reggroup || group == vector_reggroup;
   else if (regnum >= AARCH64_B0_REGNUM && regnum < AARCH64_B0_REGNUM + 32)
     return group == all_reggroup || group == vector_reggroup;
+  else if (tdep->has_sve () && regnum >= AARCH64_SVE_V0_REGNUM
+	   && regnum < AARCH64_SVE_V0_REGNUM + AARCH64_V_REGS_NUM)
+    return group == all_reggroup || group == vector_reggroup;
 
   return group == all_reggroup;
 }
 
+/* Helper for aarch64_pseudo_read_value.  */
+
+static struct value *
+aarch64_pseudo_read_value_1 (struct gdbarch *gdbarch,
+			     readable_regcache *regcache, int regnum_offset,
+			     int regsize, struct value *result_value)
+{
+  unsigned v_regnum = AARCH64_V0_REGNUM + regnum_offset;
+
+  /* Enough space for a full vector register.  */
+  gdb_byte reg_buf[register_size (gdbarch, AARCH64_V0_REGNUM)];
+  gdb_static_assert (AARCH64_V0_REGNUM == AARCH64_SVE_Z0_REGNUM);
+
+  if (regcache->raw_read (v_regnum, reg_buf) != REG_VALID)
+    mark_value_bytes_unavailable (result_value, 0,
+				  TYPE_LENGTH (value_type (result_value)));
+  else
+    memcpy (value_contents_raw (result_value), reg_buf, regsize);
+
+  return result_value;
+ }
+
 /* Implement the "pseudo_register_read_value" gdbarch method.  */
 
 static struct value *
-aarch64_pseudo_read_value (struct gdbarch *gdbarch,
-			   struct regcache *regcache,
+aarch64_pseudo_read_value (struct gdbarch *gdbarch, readable_regcache *regcache,
 			   int regnum)
 {
-  gdb_byte reg_buf[V_REGISTER_SIZE];
-  struct value *result_value;
-  gdb_byte *buf;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  struct value *result_value = allocate_value (register_type (gdbarch, regnum));
 
-  result_value = allocate_value (register_type (gdbarch, regnum));
   VALUE_LVAL (result_value) = lval_register;
   VALUE_REGNUM (result_value) = regnum;
-  buf = value_contents_raw (result_value);
 
   regnum -= gdbarch_num_regs (gdbarch);
 
   if (regnum >= AARCH64_Q0_REGNUM && regnum < AARCH64_Q0_REGNUM + 32)
-    {
-      enum register_status status;
-      unsigned v_regnum;
-
-      v_regnum = AARCH64_V0_REGNUM + regnum - AARCH64_Q0_REGNUM;
-      status = regcache_raw_read (regcache, v_regnum, reg_buf);
-      if (status != REG_VALID)
-	mark_value_bytes_unavailable (result_value, 0,
-				      TYPE_LENGTH (value_type (result_value)));
-      else
-	memcpy (buf, reg_buf, Q_REGISTER_SIZE);
-      return result_value;
-    }
+    return aarch64_pseudo_read_value_1 (gdbarch, regcache,
+					regnum - AARCH64_Q0_REGNUM,
+					Q_REGISTER_SIZE, result_value);
 
   if (regnum >= AARCH64_D0_REGNUM && regnum < AARCH64_D0_REGNUM + 32)
-    {
-      enum register_status status;
-      unsigned v_regnum;
-
-      v_regnum = AARCH64_V0_REGNUM + regnum - AARCH64_D0_REGNUM;
-      status = regcache_raw_read (regcache, v_regnum, reg_buf);
-      if (status != REG_VALID)
-	mark_value_bytes_unavailable (result_value, 0,
-				      TYPE_LENGTH (value_type (result_value)));
-      else
-	memcpy (buf, reg_buf, D_REGISTER_SIZE);
-      return result_value;
-    }
+    return aarch64_pseudo_read_value_1 (gdbarch, regcache,
+					regnum - AARCH64_D0_REGNUM,
+					D_REGISTER_SIZE, result_value);
 
   if (regnum >= AARCH64_S0_REGNUM && regnum < AARCH64_S0_REGNUM + 32)
-    {
-      enum register_status status;
-      unsigned v_regnum;
-
-      v_regnum = AARCH64_V0_REGNUM + regnum - AARCH64_S0_REGNUM;
-      status = regcache_raw_read (regcache, v_regnum, reg_buf);
-      if (status != REG_VALID)
-	mark_value_bytes_unavailable (result_value, 0,
-				      TYPE_LENGTH (value_type (result_value)));
-      else
-	memcpy (buf, reg_buf, S_REGISTER_SIZE);
-      return result_value;
-    }
+    return aarch64_pseudo_read_value_1 (gdbarch, regcache,
+					regnum - AARCH64_S0_REGNUM,
+					S_REGISTER_SIZE, result_value);
 
   if (regnum >= AARCH64_H0_REGNUM && regnum < AARCH64_H0_REGNUM + 32)
-    {
-      enum register_status status;
-      unsigned v_regnum;
-
-      v_regnum = AARCH64_V0_REGNUM + regnum - AARCH64_H0_REGNUM;
-      status = regcache_raw_read (regcache, v_regnum, reg_buf);
-      if (status != REG_VALID)
-	mark_value_bytes_unavailable (result_value, 0,
-				      TYPE_LENGTH (value_type (result_value)));
-      else
-	memcpy (buf, reg_buf, H_REGISTER_SIZE);
-      return result_value;
-    }
+    return aarch64_pseudo_read_value_1 (gdbarch, regcache,
+					regnum - AARCH64_H0_REGNUM,
+					H_REGISTER_SIZE, result_value);
 
   if (regnum >= AARCH64_B0_REGNUM && regnum < AARCH64_B0_REGNUM + 32)
-    {
-      enum register_status status;
-      unsigned v_regnum;
-
-      v_regnum = AARCH64_V0_REGNUM + regnum - AARCH64_B0_REGNUM;
-      status = regcache_raw_read (regcache, v_regnum, reg_buf);
-      if (status != REG_VALID)
-	mark_value_bytes_unavailable (result_value, 0,
-				      TYPE_LENGTH (value_type (result_value)));
-      else
-	memcpy (buf, reg_buf, B_REGISTER_SIZE);
-      return result_value;
-    }
+    return aarch64_pseudo_read_value_1 (gdbarch, regcache,
+					regnum - AARCH64_B0_REGNUM,
+					B_REGISTER_SIZE, result_value);
+
+  if (tdep->has_sve () && regnum >= AARCH64_SVE_V0_REGNUM
+      && regnum < AARCH64_SVE_V0_REGNUM + 32)
+    return aarch64_pseudo_read_value_1 (gdbarch, regcache,
+					regnum - AARCH64_SVE_V0_REGNUM,
+					V_REGISTER_SIZE, result_value);
 
   gdb_assert_not_reached ("regnum out of bound");
 }
 
-/* Implement the "pseudo_register_write" gdbarch method.  */
+/* Helper for aarch64_pseudo_write.  */
 
 static void
-aarch64_pseudo_write (struct gdbarch *gdbarch, struct regcache *regcache,
-		      int regnum, const gdb_byte *buf)
+aarch64_pseudo_write_1 (struct gdbarch *gdbarch, struct regcache *regcache,
+			int regnum_offset, int regsize, const gdb_byte *buf)
 {
-  gdb_byte reg_buf[V_REGISTER_SIZE];
+  unsigned v_regnum = AARCH64_V0_REGNUM + regnum_offset;
+
+  /* Enough space for a full vector register.  */
+  gdb_byte reg_buf[register_size (gdbarch, AARCH64_V0_REGNUM)];
+  gdb_static_assert (AARCH64_V0_REGNUM == AARCH64_SVE_Z0_REGNUM);
 
   /* Ensure the register buffer is zero, we want gdb writes of the
      various 'scalar' pseudo registers to behavior like architectural
      writes, register width bytes are written the remainder are set to
      zero.  */
-  memset (reg_buf, 0, sizeof (reg_buf));
+  memset (reg_buf, 0, register_size (gdbarch, AARCH64_V0_REGNUM));
+
+  memcpy (reg_buf, buf, regsize);
+  regcache->raw_write (v_regnum, reg_buf);
+}
 
+/* Implement the "pseudo_register_write" gdbarch method.  */
+
+static void
+aarch64_pseudo_write (struct gdbarch *gdbarch, struct regcache *regcache,
+		      int regnum, const gdb_byte *buf)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
   regnum -= gdbarch_num_regs (gdbarch);
 
   if (regnum >= AARCH64_Q0_REGNUM && regnum < AARCH64_Q0_REGNUM + 32)
-    {
-      /* pseudo Q registers */
-      unsigned v_regnum;
-
-      v_regnum = AARCH64_V0_REGNUM + regnum - AARCH64_Q0_REGNUM;
-      memcpy (reg_buf, buf, Q_REGISTER_SIZE);
-      regcache_raw_write (regcache, v_regnum, reg_buf);
-      return;
-    }
+    return aarch64_pseudo_write_1 (gdbarch, regcache,
+				   regnum - AARCH64_Q0_REGNUM, Q_REGISTER_SIZE,
+				   buf);
 
   if (regnum >= AARCH64_D0_REGNUM && regnum < AARCH64_D0_REGNUM + 32)
-    {
-      /* pseudo D registers */
-      unsigned v_regnum;
-
-      v_regnum = AARCH64_V0_REGNUM + regnum - AARCH64_D0_REGNUM;
-      memcpy (reg_buf, buf, D_REGISTER_SIZE);
-      regcache_raw_write (regcache, v_regnum, reg_buf);
-      return;
-    }
+    return aarch64_pseudo_write_1 (gdbarch, regcache,
+				   regnum - AARCH64_D0_REGNUM, D_REGISTER_SIZE,
+				   buf);
 
   if (regnum >= AARCH64_S0_REGNUM && regnum < AARCH64_S0_REGNUM + 32)
-    {
-      unsigned v_regnum;
-
-      v_regnum = AARCH64_V0_REGNUM + regnum - AARCH64_S0_REGNUM;
-      memcpy (reg_buf, buf, S_REGISTER_SIZE);
-      regcache_raw_write (regcache, v_regnum, reg_buf);
-      return;
-    }
+    return aarch64_pseudo_write_1 (gdbarch, regcache,
+				   regnum - AARCH64_S0_REGNUM, S_REGISTER_SIZE,
+				   buf);
 
   if (regnum >= AARCH64_H0_REGNUM && regnum < AARCH64_H0_REGNUM + 32)
-    {
-      /* pseudo H registers */
-      unsigned v_regnum;
-
-      v_regnum = AARCH64_V0_REGNUM + regnum - AARCH64_H0_REGNUM;
-      memcpy (reg_buf, buf, H_REGISTER_SIZE);
-      regcache_raw_write (regcache, v_regnum, reg_buf);
-      return;
-    }
+    return aarch64_pseudo_write_1 (gdbarch, regcache,
+				   regnum - AARCH64_H0_REGNUM, H_REGISTER_SIZE,
+				   buf);
 
   if (regnum >= AARCH64_B0_REGNUM && regnum < AARCH64_B0_REGNUM + 32)
-    {
-      /* pseudo B registers */
-      unsigned v_regnum;
-
-      v_regnum = AARCH64_V0_REGNUM + regnum - AARCH64_B0_REGNUM;
-      memcpy (reg_buf, buf, B_REGISTER_SIZE);
-      regcache_raw_write (regcache, v_regnum, reg_buf);
-      return;
-    }
+    return aarch64_pseudo_write_1 (gdbarch, regcache,
+				   regnum - AARCH64_B0_REGNUM, B_REGISTER_SIZE,
+				   buf);
+
+  if (tdep->has_sve () && regnum >= AARCH64_SVE_V0_REGNUM
+      && regnum < AARCH64_SVE_V0_REGNUM + 32)
+    return aarch64_pseudo_write_1 (gdbarch, regcache,
+				   regnum - AARCH64_SVE_V0_REGNUM,
+				   V_REGISTER_SIZE, buf);
 
   gdb_assert_not_reached ("regnum out of bound");
 }
@@ -2423,7 +2483,7 @@ aarch64_software_single_step (struct reg
   int last_breakpoint = 0; /* Defaults to 0 (no breakpoints placed).  */
   aarch64_inst inst;
 
-  if (aarch64_decode_insn (insn, &inst, 1) != 0)
+  if (aarch64_decode_insn (insn, &inst, 1, NULL) != 0)
     return {};
 
   /* Look for a Load Exclusive instruction which begins the sequence.  */
@@ -2436,7 +2496,7 @@ aarch64_software_single_step (struct reg
       insn = read_memory_unsigned_integer (loc, insn_size,
 					   byte_order_for_code);
 
-      if (aarch64_decode_insn (insn, &inst, 1) != 0)
+      if (aarch64_decode_insn (insn, &inst, 1, NULL) != 0)
 	return {};
       /* Check if the instruction is a conditional branch.  */
       if (inst.opcode->iclass == condbranch)
@@ -2729,7 +2789,7 @@ aarch64_displaced_step_copy_insn (struct
   struct aarch64_displaced_step_data dsd;
   aarch64_inst inst;
 
-  if (aarch64_decode_insn (insn, &inst, 1) != 0)
+  if (aarch64_decode_insn (insn, &inst, 1, NULL) != 0)
     return NULL;
 
   /* Look for a Load Exclusive instruction which begins the sequence.  */
@@ -2825,20 +2885,49 @@ aarch64_displaced_step_hw_singlestep (st
   return 1;
 }
 
-/* Get the correct target description.  */
+/* Get the correct target description for the given VQ value.
+   If VQ is zero then it is assumed SVE is not supported.
+   (It is not possible to set VQ to zero on an SVE system).  */
 
 const target_desc *
-aarch64_read_description ()
+aarch64_read_description (uint64_t vq)
 {
-  static target_desc *aarch64_tdesc = NULL;
-  target_desc **tdesc = &aarch64_tdesc;
+  if (vq > AARCH64_MAX_SVE_VQ)
+    error (_("VQ is %" PRIu64 ", maximum supported value is %d"), vq,
+	   AARCH64_MAX_SVE_VQ);
 
-  if (*tdesc == NULL)
-    *tdesc = aarch64_create_target_description ();
+  struct target_desc *tdesc = tdesc_aarch64_list[vq];
+
+  if (tdesc == NULL)
+    {
+      tdesc = aarch64_create_target_description (vq);
+      tdesc_aarch64_list[vq] = tdesc;
+    }
 
-  return *tdesc;
+  return tdesc;
 }
 
+/* Return the VQ used when creating the target description TDESC.  */
+
+static uint64_t
+aarch64_get_tdesc_vq (const struct target_desc *tdesc)
+{
+  const struct tdesc_feature *feature_sve;
+
+  if (!tdesc_has_registers (tdesc))
+    return 0;
+
+  feature_sve = tdesc_find_feature (tdesc, "org.gnu.gdb.aarch64.sve");
+
+  if (feature_sve == nullptr)
+    return 0;
+
+  uint64_t vl = tdesc_register_size (feature_sve,
+				     aarch64_sve_register_names[0]);
+  return sve_vq_from_vl (vl);
+}
+
+
 /* Initialize the current architecture based on INFO.  If possible,
    re-use an architecture from ARCHES, which is a list of
    architectures already created during this debugging session.
@@ -2856,45 +2945,67 @@ aarch64_gdbarch_init (struct gdbarch_inf
   const struct target_desc *tdesc = info.target_desc;
   int i;
   int valid_p = 1;
-  const struct tdesc_feature *feature;
+  const struct tdesc_feature *feature_core;
+  const struct tdesc_feature *feature_fpu;
+  const struct tdesc_feature *feature_sve;
   int num_regs = 0;
   int num_pseudo_regs = 0;
 
-  /* Ensure we always have a target descriptor.  */
+  /* Ensure we always have a target description.  */
   if (!tdesc_has_registers (tdesc))
-    tdesc = aarch64_read_description ();
-
+    tdesc = aarch64_read_description (0);
   gdb_assert (tdesc);
 
-  feature = tdesc_find_feature (tdesc, "org.gnu.gdb.aarch64.core");
+  feature_core = tdesc_find_feature (tdesc, "org.gnu.gdb.aarch64.core");
+  feature_fpu = tdesc_find_feature (tdesc, "org.gnu.gdb.aarch64.fpu");
+  feature_sve = tdesc_find_feature (tdesc, "org.gnu.gdb.aarch64.sve");
 
-  if (feature == NULL)
+  if (feature_core == NULL)
     return NULL;
 
   tdesc_data = tdesc_data_alloc ();
 
-  /* Validate the descriptor provides the mandatory core R registers
+  /* Validate the description provides the mandatory core R registers
      and allocate their numbers.  */
   for (i = 0; i < ARRAY_SIZE (aarch64_r_register_names); i++)
-    valid_p &=
-      tdesc_numbered_register (feature, tdesc_data, AARCH64_X0_REGNUM + i,
-			       aarch64_r_register_names[i]);
+    valid_p &= tdesc_numbered_register (feature_core, tdesc_data,
+					AARCH64_X0_REGNUM + i,
+					aarch64_r_register_names[i]);
 
   num_regs = AARCH64_X0_REGNUM + i;
 
-  /* Look for the V registers.  */
-  feature = tdesc_find_feature (tdesc, "org.gnu.gdb.aarch64.fpu");
-  if (feature)
+  /* Add the V registers.  */
+  if (feature_fpu != NULL)
     {
-      /* Validate the descriptor provides the mandatory V registers
-         and allocate their numbers.  */
+      if (feature_sve != NULL)
+	error (_("Program contains both fpu and SVE features."));
+
+      /* Validate the description provides the mandatory V registers
+	 and allocate their numbers.  */
       for (i = 0; i < ARRAY_SIZE (aarch64_v_register_names); i++)
-	valid_p &=
-	  tdesc_numbered_register (feature, tdesc_data, AARCH64_V0_REGNUM + i,
-				   aarch64_v_register_names[i]);
+	valid_p &= tdesc_numbered_register (feature_fpu, tdesc_data,
+					    AARCH64_V0_REGNUM + i,
+					    aarch64_v_register_names[i]);
 
       num_regs = AARCH64_V0_REGNUM + i;
+    }
+
+  /* Add the SVE registers.  */
+  if (feature_sve != NULL)
+    {
+      /* Validate the description provides the mandatory SVE registers
+	 and allocate their numbers.  */
+      for (i = 0; i < ARRAY_SIZE (aarch64_sve_register_names); i++)
+	valid_p &= tdesc_numbered_register (feature_sve, tdesc_data,
+					    AARCH64_SVE_Z0_REGNUM + i,
+					    aarch64_sve_register_names[i]);
 
+      num_regs = AARCH64_SVE_Z0_REGNUM + i;
+      num_pseudo_regs += 32;	/* add the Vn register pseudos.  */
+    }
+
+  if (feature_fpu != NULL || feature_sve != NULL)
+    {
       num_pseudo_regs += 32;	/* add the Qn scalar register pseudos */
       num_pseudo_regs += 32;	/* add the Dn scalar register pseudos */
       num_pseudo_regs += 32;	/* add the Sn scalar register pseudos */
@@ -2934,6 +3045,7 @@ aarch64_gdbarch_init (struct gdbarch_inf
   tdep->lowest_pc = 0x20;
   tdep->jb_pc = -1;		/* Longjump support not enabled by default.  */
   tdep->jb_elt_size = 8;
+  tdep->vq = aarch64_get_tdesc_vq (tdesc);
 
   set_gdbarch_push_dummy_call (gdbarch, aarch64_push_dummy_call);
   set_gdbarch_frame_align (gdbarch, aarch64_frame_align);
@@ -3070,7 +3182,7 @@ When on, AArch64 specific debugging is e
   selftests::register_test ("aarch64-process-record",
 			    selftests::aarch64_process_record_test);
   selftests::record_xml_tdesc ("aarch64.xml",
-			       aarch64_create_target_description ());
+			       aarch64_create_target_description (0));
 #endif
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch64-tdep.h ./gdb/aarch64-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aarch64-tdep.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/aarch64-tdep.h	2018-07-10 02:06:12.000000000 +0000
@@ -32,6 +32,10 @@ struct regset;
 #define AARCH64_DWARF_X0   0
 #define AARCH64_DWARF_SP  31
 #define AARCH64_DWARF_V0  64
+#define AARCH64_DWARF_SVE_VG   46
+#define AARCH64_DWARF_SVE_FFR  47
+#define AARCH64_DWARF_SVE_P0   48
+#define AARCH64_DWARF_SVE_Z0   96
 
 /* Size of integer registers.  */
 #define X_REGISTER_SIZE  8
@@ -70,12 +74,22 @@ struct gdbarch_tdep
   struct type *vns_type;
   struct type *vnh_type;
   struct type *vnb_type;
+  struct type *vnv_type;
 
   /* syscall record.  */
   int (*aarch64_syscall_record) (struct regcache *regcache, unsigned long svc_number);
+
+  /* The VQ value for SVE targets, or zero if SVE is not supported.  */
+  uint64_t vq;
+
+  /* Returns true if the target supports SVE.  */
+  bool has_sve () const
+  {
+    return vq != 0;
+  }
 };
 
-const target_desc *aarch64_read_description ();
+const target_desc *aarch64_read_description (uint64_t vq);
 
 extern int aarch64_process_record (struct gdbarch *gdbarch,
                                struct regcache *regcache, CORE_ADDR addr);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aclocal.m4 ./gdb/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aclocal.m4	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/aclocal.m4	2018-07-10 02:06:12.000000000 +0000
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -12,19 +11,18 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -43,7 +41,7 @@
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -61,30 +59,26 @@
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -103,21 +97,18 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -125,25 +116,22 @@ if test x"${install_sh}" != xset; then
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
 
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -154,10 +142,11 @@ AC_DEFUN([AM_MAINTAINER_MODE],
 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -165,46 +154,40 @@ AC_MSG_CHECKING([whether to enable maint
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-exp.c ./gdb/ada-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-exp.c	2018-07-03 02:10:17.000000000 +0000
+++ ./gdb/ada-exp.c	2018-07-10 02:10:05.000000000 +0000
@@ -113,7 +113,7 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static void write_int (struct parser_state *, LONGEST, struct type *);
 
@@ -153,7 +153,7 @@ static struct type *type_system_address 
 
 
 /* Line 189 of yacc.c  */
-#line 157 "ada-exp.c"
+#line 157 "ada-exp.c.tmp"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -303,7 +303,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 307 "ada-exp.c"
+#line 307 "ada-exp.c.tmp"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -315,7 +315,7 @@ typedef union YYSTYPE
 
 
 /* Line 264 of yacc.c  */
-#line 319 "ada-exp.c"
+#line 319 "ada-exp.c.tmp"
 
 #ifdef short
 # undef short
@@ -2725,7 +2725,7 @@ yyreduce:
 
 
 /* Line 1455 of yacc.c  */
-#line 2730 "ada-exp.c"
+#line 2730 "ada-exp.c.tmp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2981,7 +2981,7 @@ ada_parse (struct parser_state *par_stat
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   error (_("Error in expression, near `%s'."), lexptr);
@@ -2996,11 +2996,7 @@ write_var_from_sym (struct parser_state 
 		    struct symbol *sym)
 {
   if (symbol_read_needs_frame (sym))
-    {
-      if (innermost_block == 0
-	  || contained_in (block, innermost_block))
-	innermost_block = block;
-    }
+    innermost_block.update (block, INNERMOST_BLOCK_FOR_SYMBOLS);
 
   write_exp_elt_opcode (par_state, OP_VAR_VALUE);
   write_exp_elt_block (par_state, block);
@@ -3130,8 +3126,8 @@ write_object_renaming (struct parser_sta
 					end - renaming_expr);
 	    renaming_expr = end;
 
-	    ada_lookup_encoded_symbol (index_name, NULL, VAR_DOMAIN,
-				       &index_sym_info);
+	    ada_lookup_encoded_symbol (index_name, orig_left_context,
+				       VAR_DOMAIN, &index_sym_info);
 	    if (index_sym_info.symbol == NULL)
 	      error (_("Could not find %s"), index_name);
 	    else if (SYMBOL_CLASS (index_sym_info.symbol) == LOC_TYPEDEF)
@@ -3193,10 +3189,9 @@ static const struct block*
 block_lookup (const struct block *context, const char *raw_name)
 {
   const char *name;
-  struct block_symbol *syms;
+  std::vector<struct block_symbol> syms;
   int nsyms;
   struct symtab *symtab;
-  struct cleanup *old_chain;
   const struct block *result = NULL;
 
   if (raw_name[0] == '\'')
@@ -3208,7 +3203,6 @@ block_lookup (const struct block *contex
     name = ada_encode (raw_name);
 
   nsyms = ada_lookup_symbol_list (name, context, VAR_DOMAIN, &syms);
-  old_chain = make_cleanup (xfree, syms);
 
   if (context == NULL
       && (nsyms == 0 || SYMBOL_CLASS (syms[0].symbol) != LOC_BLOCK))
@@ -3232,19 +3226,18 @@ block_lookup (const struct block *contex
       result = SYMBOL_BLOCK_VALUE (syms[0].symbol);
     }
 
-  do_cleanups (old_chain);
   return result;
 }
 
 static struct symbol*
-select_possible_type_sym (struct block_symbol *syms, int nsyms)
+select_possible_type_sym (const std::vector<struct block_symbol> &syms)
 {
   int i;
   int preferred_index;
   struct type *preferred_type;
 	  
   preferred_index = -1; preferred_type = NULL;
-  for (i = 0; i < nsyms; i += 1)
+  for (i = 0; i < syms.size (); i += 1)
     switch (SYMBOL_CLASS (syms[i].symbol))
       {
       case LOC_TYPEDEF:
@@ -3447,7 +3440,6 @@ write_var_or_type (struct parser_state *
   int depth;
   char *encoded_name;
   int name_len;
-  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
 
   if (block == NULL)
     block = expression_context_block;
@@ -3464,7 +3456,7 @@ write_var_or_type (struct parser_state *
       while (tail_index > 0)
 	{
 	  int nsyms;
-	  struct block_symbol *syms;
+	  std::vector<struct block_symbol> syms;
 	  struct symbol *type_sym;
 	  struct symbol *renaming_sym;
 	  const char* renaming;
@@ -3475,7 +3467,6 @@ write_var_or_type (struct parser_state *
 	  encoded_name[tail_index] = '\0';
 	  nsyms = ada_lookup_symbol_list (encoded_name, block,
 					  VAR_DOMAIN, &syms);
-          make_cleanup (xfree, syms);
 	  encoded_name[tail_index] = terminator;
 
 	  /* A single symbol may rename a package or object. */
@@ -3491,7 +3482,7 @@ write_var_or_type (struct parser_state *
 		syms[0].symbol = ren_sym;
 	    }
 
-	  type_sym = select_possible_type_sym (syms, nsyms);
+	  type_sym = select_possible_type_sym (syms);
 
 	  if (type_sym != NULL)
 	    renaming_sym = type_sym;
@@ -3522,7 +3513,6 @@ write_var_or_type (struct parser_state *
 	      write_object_renaming (par_state, block, renaming, renaming_len,
 				     renaming_expr, MAX_RENAMING_CHAIN_LENGTH);
 	      write_selectors (par_state, encoded_name + tail_index);
-              do_cleanups (old_chain);
 	      return NULL;
 	    default:
 	      internal_error (__FILE__, __LINE__,
@@ -3534,10 +3524,7 @@ write_var_or_type (struct parser_state *
               struct type *field_type;
               
               if (tail_index == name_len)
-                {
-                  do_cleanups (old_chain);
-		  return SYMBOL_TYPE (type_sym);
-                }
+		return SYMBOL_TYPE (type_sym);
 
               /* We have some extraneous characters after the type name.
                  If this is an expression "TYPE_NAME.FIELD0.[...].FIELDN",
@@ -3545,10 +3532,7 @@ write_var_or_type (struct parser_state *
               field_type
                 = get_symbol_field_type (type_sym, encoded_name + tail_index);
               if (field_type != NULL)
-		{
-		  do_cleanups (old_chain);
-		  return field_type;
-		}
+		return field_type;
 	      else 
 		error (_("Invalid attempt to select from type: \"%s\"."),
                        name0.ptr);
@@ -3559,17 +3543,13 @@ write_var_or_type (struct parser_state *
 						       encoded_name);
 
 	      if (type != NULL)
-		{
-		  do_cleanups (old_chain);
-		  return type;
-		}
+		return type;
 	    }
 
 	  if (nsyms == 1)
 	    {
 	      write_var_from_sym (par_state, syms[0].block, syms[0].symbol);
 	      write_selectors (par_state, encoded_name + tail_index);
-	      do_cleanups (old_chain);
 	      return NULL;
 	    }
 	  else if (nsyms == 0) 
@@ -3581,7 +3561,6 @@ write_var_or_type (struct parser_state *
 		  write_exp_msymbol (par_state, msym);
 		  /* Maybe cause error here rather than later? FIXME? */
 		  write_selectors (par_state, encoded_name + tail_index);
-		  do_cleanups (old_chain);
 		  return NULL;
 		}
 
@@ -3597,7 +3576,6 @@ write_var_or_type (struct parser_state *
 	      write_ambiguous_var (par_state, block, encoded_name,
 				   tail_index);
 	      write_selectors (par_state, encoded_name + tail_index);
-	      do_cleanups (old_chain);
 	      return NULL;
 	    }
 	}
@@ -3636,17 +3614,14 @@ write_name_assoc (struct parser_state *p
 {
   if (strchr (name.ptr, '.') == NULL)
     {
-      struct block_symbol *syms;
+      std::vector<struct block_symbol> syms;
       int nsyms = ada_lookup_symbol_list (name.ptr, expression_context_block,
 					  VAR_DOMAIN, &syms);
-      struct cleanup *old_chain = make_cleanup (xfree, syms);
 
       if (nsyms != 1 || SYMBOL_CLASS (syms[0].symbol) == LOC_TYPEDEF)
 	write_exp_op_with_string (par_state, OP_NAME, name);
       else
 	write_var_from_sym (par_state, syms[0].block, syms[0].symbol);
-
-      do_cleanups (old_chain);
     }
   else
     if (write_var_or_type (par_state, NULL, name) != 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.1.0.20180703/gdb/ada-exp.y ./gdb/ada-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-exp.y	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ada-exp.y	2018-07-10 02:06:12.000000000 +0000
@@ -77,7 +77,7 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static void write_int (struct parser_state *, LONGEST, struct type *);
 
@@ -742,7 +742,7 @@ ada_parse (struct parser_state *par_stat
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   error (_("Error in expression, near `%s'."), lexptr);
@@ -757,11 +757,7 @@ write_var_from_sym (struct parser_state 
 		    struct symbol *sym)
 {
   if (symbol_read_needs_frame (sym))
-    {
-      if (innermost_block == 0
-	  || contained_in (block, innermost_block))
-	innermost_block = block;
-    }
+    innermost_block.update (block, INNERMOST_BLOCK_FOR_SYMBOLS);
 
   write_exp_elt_opcode (par_state, OP_VAR_VALUE);
   write_exp_elt_block (par_state, block);
@@ -891,8 +887,8 @@ write_object_renaming (struct parser_sta
 					end - renaming_expr);
 	    renaming_expr = end;
 
-	    ada_lookup_encoded_symbol (index_name, NULL, VAR_DOMAIN,
-				       &index_sym_info);
+	    ada_lookup_encoded_symbol (index_name, orig_left_context,
+				       VAR_DOMAIN, &index_sym_info);
 	    if (index_sym_info.symbol == NULL)
 	      error (_("Could not find %s"), index_name);
 	    else if (SYMBOL_CLASS (index_sym_info.symbol) == LOC_TYPEDEF)
@@ -954,10 +950,9 @@ static const struct block*
 block_lookup (const struct block *context, const char *raw_name)
 {
   const char *name;
-  struct block_symbol *syms;
+  std::vector<struct block_symbol> syms;
   int nsyms;
   struct symtab *symtab;
-  struct cleanup *old_chain;
   const struct block *result = NULL;
 
   if (raw_name[0] == '\'')
@@ -969,7 +964,6 @@ block_lookup (const struct block *contex
     name = ada_encode (raw_name);
 
   nsyms = ada_lookup_symbol_list (name, context, VAR_DOMAIN, &syms);
-  old_chain = make_cleanup (xfree, syms);
 
   if (context == NULL
       && (nsyms == 0 || SYMBOL_CLASS (syms[0].symbol) != LOC_BLOCK))
@@ -993,19 +987,18 @@ block_lookup (const struct block *contex
       result = SYMBOL_BLOCK_VALUE (syms[0].symbol);
     }
 
-  do_cleanups (old_chain);
   return result;
 }
 
 static struct symbol*
-select_possible_type_sym (struct block_symbol *syms, int nsyms)
+select_possible_type_sym (const std::vector<struct block_symbol> &syms)
 {
   int i;
   int preferred_index;
   struct type *preferred_type;
 	  
   preferred_index = -1; preferred_type = NULL;
-  for (i = 0; i < nsyms; i += 1)
+  for (i = 0; i < syms.size (); i += 1)
     switch (SYMBOL_CLASS (syms[i].symbol))
       {
       case LOC_TYPEDEF:
@@ -1208,7 +1201,6 @@ write_var_or_type (struct parser_state *
   int depth;
   char *encoded_name;
   int name_len;
-  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
 
   if (block == NULL)
     block = expression_context_block;
@@ -1225,7 +1217,7 @@ write_var_or_type (struct parser_state *
       while (tail_index > 0)
 	{
 	  int nsyms;
-	  struct block_symbol *syms;
+	  std::vector<struct block_symbol> syms;
 	  struct symbol *type_sym;
 	  struct symbol *renaming_sym;
 	  const char* renaming;
@@ -1236,7 +1228,6 @@ write_var_or_type (struct parser_state *
 	  encoded_name[tail_index] = '\0';
 	  nsyms = ada_lookup_symbol_list (encoded_name, block,
 					  VAR_DOMAIN, &syms);
-          make_cleanup (xfree, syms);
 	  encoded_name[tail_index] = terminator;
 
 	  /* A single symbol may rename a package or object. */
@@ -1252,7 +1243,7 @@ write_var_or_type (struct parser_state *
 		syms[0].symbol = ren_sym;
 	    }
 
-	  type_sym = select_possible_type_sym (syms, nsyms);
+	  type_sym = select_possible_type_sym (syms);
 
 	  if (type_sym != NULL)
 	    renaming_sym = type_sym;
@@ -1283,7 +1274,6 @@ write_var_or_type (struct parser_state *
 	      write_object_renaming (par_state, block, renaming, renaming_len,
 				     renaming_expr, MAX_RENAMING_CHAIN_LENGTH);
 	      write_selectors (par_state, encoded_name + tail_index);
-              do_cleanups (old_chain);
 	      return NULL;
 	    default:
 	      internal_error (__FILE__, __LINE__,
@@ -1295,10 +1285,7 @@ write_var_or_type (struct parser_state *
               struct type *field_type;
               
               if (tail_index == name_len)
-                {
-                  do_cleanups (old_chain);
-		  return SYMBOL_TYPE (type_sym);
-                }
+		return SYMBOL_TYPE (type_sym);
 
               /* We have some extraneous characters after the type name.
                  If this is an expression "TYPE_NAME.FIELD0.[...].FIELDN",
@@ -1306,10 +1293,7 @@ write_var_or_type (struct parser_state *
               field_type
                 = get_symbol_field_type (type_sym, encoded_name + tail_index);
               if (field_type != NULL)
-		{
-		  do_cleanups (old_chain);
-		  return field_type;
-		}
+		return field_type;
 	      else 
 		error (_("Invalid attempt to select from type: \"%s\"."),
                        name0.ptr);
@@ -1320,17 +1304,13 @@ write_var_or_type (struct parser_state *
 						       encoded_name);
 
 	      if (type != NULL)
-		{
-		  do_cleanups (old_chain);
-		  return type;
-		}
+		return type;
 	    }
 
 	  if (nsyms == 1)
 	    {
 	      write_var_from_sym (par_state, syms[0].block, syms[0].symbol);
 	      write_selectors (par_state, encoded_name + tail_index);
-	      do_cleanups (old_chain);
 	      return NULL;
 	    }
 	  else if (nsyms == 0) 
@@ -1342,7 +1322,6 @@ write_var_or_type (struct parser_state *
 		  write_exp_msymbol (par_state, msym);
 		  /* Maybe cause error here rather than later? FIXME? */
 		  write_selectors (par_state, encoded_name + tail_index);
-		  do_cleanups (old_chain);
 		  return NULL;
 		}
 
@@ -1358,7 +1337,6 @@ write_var_or_type (struct parser_state *
 	      write_ambiguous_var (par_state, block, encoded_name,
 				   tail_index);
 	      write_selectors (par_state, encoded_name + tail_index);
-	      do_cleanups (old_chain);
 	      return NULL;
 	    }
 	}
@@ -1397,17 +1375,14 @@ write_name_assoc (struct parser_state *p
 {
   if (strchr (name.ptr, '.') == NULL)
     {
-      struct block_symbol *syms;
+      std::vector<struct block_symbol> syms;
       int nsyms = ada_lookup_symbol_list (name.ptr, expression_context_block,
 					  VAR_DOMAIN, &syms);
-      struct cleanup *old_chain = make_cleanup (xfree, syms);
 
       if (nsyms != 1 || SYMBOL_CLASS (syms[0].symbol) == LOC_TYPEDEF)
 	write_exp_op_with_string (par_state, OP_NAME, name);
       else
 	write_var_from_sym (par_state, syms[0].block, syms[0].symbol);
-
-      do_cleanups (old_chain);
     }
   else
     if (write_var_or_type (par_state, NULL, name) != 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.1.0.20180703/gdb/ada-lang.c ./gdb/ada-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-lang.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ada-lang.c	2018-07-10 02:06:12.000000000 +0000
@@ -48,7 +48,7 @@
 #include "annotate.h"
 #include "valprint.h"
 #include "source.h"
-#include "observer.h"
+#include "observable.h"
 #include "vec.h"
 #include "stack.h"
 #include "gdb_vecs.h"
@@ -225,9 +225,6 @@ static struct value *ada_value_primitive
 static int find_struct_field (const char *, struct type *, int,
                               struct type **, int *, int *, int *, int *);
 
-static struct value *ada_to_fixed_value_create (struct type *, CORE_ADDR,
-                                                struct value *);
-
 static int ada_resolve_function (struct block_symbol *, int,
                                  struct value **, int, const char *,
                                  struct type *);
@@ -916,7 +913,7 @@ char *
 ada_main_name (void)
 {
   struct bound_minimal_symbol msym;
-  static char *main_program_name = NULL;
+  static gdb::unique_xmalloc_ptr<char> main_program_name;
 
   /* For Ada, the name of the main procedure is stored in a specific
      string constant, generated by the binder.  Look for that symbol,
@@ -934,13 +931,12 @@ ada_main_name (void)
       if (main_program_name_addr == 0)
         error (_("Invalid address for Ada main program name."));
 
-      xfree (main_program_name);
       target_read_string (main_program_name_addr, &main_program_name,
                           1024, &err_code);
 
       if (err_code != 0)
         return NULL;
-      return main_program_name;
+      return main_program_name.get ();
     }
 
   /* The main procedure doesn't seem to be in Ada.  */
@@ -3179,7 +3175,7 @@ ada_array_length (struct value *arr, int
     }
 
   arr_type = check_typedef (arr_type);
-  index_type = TYPE_INDEX_TYPE (arr_type);
+  index_type = ada_index_type (arr_type, n, "length");
   if (index_type != NULL)
     {
       struct type *base_type;
@@ -3270,7 +3266,6 @@ resolve_subexp (expression_up *expp, int
   struct value **argvec;        /* Vector of operand types (alloca'ed).  */
   int nargs;                    /* Number of operands.  */
   int oplen;
-  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
 
   argvec = NULL;
   nargs = 0;
@@ -3435,7 +3430,7 @@ resolve_subexp (expression_up *expp, int
     case OP_VAR_VALUE:
       if (SYMBOL_DOMAIN (exp->elts[pc + 2].symbol) == UNDEF_DOMAIN)
         {
-          struct block_symbol *candidates;
+          std::vector<struct block_symbol> candidates;
           int n_candidates;
 
           n_candidates =
@@ -3443,7 +3438,6 @@ resolve_subexp (expression_up *expp, int
                                     (exp->elts[pc + 2].symbol),
                                     exp->elts[pc + 1].block, VAR_DOMAIN,
                                     &candidates);
-	  make_cleanup (xfree, candidates);
 
           if (n_candidates > 1)
             {
@@ -3487,10 +3481,10 @@ resolve_subexp (expression_up *expp, int
           else if (n_candidates == 1)
             i = 0;
           else if (deprocedure_p
-                   && !is_nonfunction (candidates, n_candidates))
+                   && !is_nonfunction (candidates.data (), n_candidates))
             {
               i = ada_resolve_function
-                (candidates, n_candidates, NULL, 0,
+                (candidates.data (), n_candidates, NULL, 0,
                  SYMBOL_LINKAGE_NAME (exp->elts[pc + 2].symbol),
                  context_type);
               if (i < 0)
@@ -3501,15 +3495,13 @@ resolve_subexp (expression_up *expp, int
             {
               printf_filtered (_("Multiple matches for %s\n"),
                                SYMBOL_PRINT_NAME (exp->elts[pc + 2].symbol));
-              user_select_syms (candidates, n_candidates, 1);
+              user_select_syms (candidates.data (), n_candidates, 1);
               i = 0;
             }
 
           exp->elts[pc + 1].block = candidates[i].block;
           exp->elts[pc + 2].symbol = candidates[i].symbol;
-          if (innermost_block == NULL
-              || contained_in (candidates[i].block, innermost_block))
-            innermost_block = candidates[i].block;
+	  innermost_block.update (candidates[i]);
         }
 
       if (deprocedure_p
@@ -3528,7 +3520,7 @@ resolve_subexp (expression_up *expp, int
         if (exp->elts[pc + 3].opcode == OP_VAR_VALUE
             && SYMBOL_DOMAIN (exp->elts[pc + 5].symbol) == UNDEF_DOMAIN)
           {
-            struct block_symbol *candidates;
+	    std::vector<struct block_symbol> candidates;
             int n_candidates;
 
             n_candidates =
@@ -3536,14 +3528,13 @@ resolve_subexp (expression_up *expp, int
                                       (exp->elts[pc + 5].symbol),
                                       exp->elts[pc + 4].block, VAR_DOMAIN,
                                       &candidates);
-	    make_cleanup (xfree, candidates);
 
             if (n_candidates == 1)
               i = 0;
             else
               {
                 i = ada_resolve_function
-                  (candidates, n_candidates,
+                  (candidates.data (), n_candidates,
                    argvec, nargs,
                    SYMBOL_LINKAGE_NAME (exp->elts[pc + 5].symbol),
                    context_type);
@@ -3554,9 +3545,7 @@ resolve_subexp (expression_up *expp, int
 
             exp->elts[pc + 4].block = candidates[i].block;
             exp->elts[pc + 5].symbol = candidates[i].symbol;
-            if (innermost_block == NULL
-                || contained_in (candidates[i].block, innermost_block))
-              innermost_block = candidates[i].block;
+	    innermost_block.update (candidates[i]);
           }
       }
       break;
@@ -3583,17 +3572,16 @@ resolve_subexp (expression_up *expp, int
     case UNOP_ABS:
       if (possible_user_operator_p (op, argvec))
         {
-          struct block_symbol *candidates;
+	  std::vector<struct block_symbol> candidates;
           int n_candidates;
 
           n_candidates =
             ada_lookup_symbol_list (ada_decoded_op_name (op),
                                     (struct block *) NULL, VAR_DOMAIN,
                                     &candidates);
-	  make_cleanup (xfree, candidates);
 
-          i = ada_resolve_function (candidates, n_candidates, argvec, nargs,
-                                    ada_decoded_op_name (op), NULL);
+          i = ada_resolve_function (candidates.data (), n_candidates, argvec,
+				    nargs, ada_decoded_op_name (op), NULL);
           if (i < 0)
             break;
 
@@ -3606,12 +3594,10 @@ resolve_subexp (expression_up *expp, int
 
     case OP_TYPE:
     case OP_REGISTER:
-      do_cleanups (old_chain);
       return NULL;
     }
 
   *pos = pc;
-  do_cleanups (old_chain);
   if (exp->elts[pc].opcode == OP_VAR_MSYM_VALUE)
     return evaluate_var_msym_value (EVAL_AVOID_SIDE_EFFECTS,
 				    exp->elts[pc + 1].objfile,
@@ -4407,7 +4393,7 @@ parse_old_style_renaming (struct type *t
       || TYPE_NFIELDS (type) != 1)
     return ADA_NOT_RENAMING;
 
-  name = type_name_no_tag (type);
+  name = TYPE_NAME (type);
   if (name == NULL)
     return ADA_NOT_RENAMING;
   
@@ -4752,8 +4738,7 @@ cache_symbol (const char *name, domain_e
     return;
 
   h = msymbol_hash (name) % HASH_SIZE;
-  e = (struct cache_entry *) obstack_alloc (&sym_cache->cache_space,
-					    sizeof (*e));
+  e = XOBNEW (&sym_cache->cache_space, cache_entry);
   e->next = sym_cache->root[h];
   sym_cache->root[h] = e;
   e->name = copy
@@ -4770,7 +4755,7 @@ cache_symbol (const char *name, domain_e
    searching for all symbols matching LOOKUP_NAME.
 
    LOOKUP_NAME is expected to be a symbol name after transformation
-   for Ada lookups (see ada_name_for_lookup).  */
+   for Ada lookups.  */
 
 static symbol_name_match_type
 name_match_type_from_name (const char *lookup_name)
@@ -5058,7 +5043,7 @@ ada_identical_enum_types_p (struct type 
    So, for practical purposes, we consider them as the same.  */
 
 static int
-symbols_are_identical_enums (struct block_symbol *syms, int nsyms)
+symbols_are_identical_enums (const std::vector<struct block_symbol> &syms)
 {
   int i;
 
@@ -5070,17 +5055,17 @@ symbols_are_identical_enums (struct bloc
      (see ada_identical_enum_types_p).  */
 
   /* Quick check: All symbols should have an enum type.  */
-  for (i = 0; i < nsyms; i++)
+  for (i = 0; i < syms.size (); i++)
     if (TYPE_CODE (SYMBOL_TYPE (syms[i].symbol)) != TYPE_CODE_ENUM)
       return 0;
 
   /* Quick check: They should all have the same value.  */
-  for (i = 1; i < nsyms; i++)
+  for (i = 1; i < syms.size (); i++)
     if (SYMBOL_VALUE (syms[i].symbol) != SYMBOL_VALUE (syms[0].symbol))
       return 0;
 
   /* Quick check: They should all have the same number of enumerals.  */
-  for (i = 1; i < nsyms; i++)
+  for (i = 1; i < syms.size (); i++)
     if (TYPE_NFIELDS (SYMBOL_TYPE (syms[i].symbol))
         != TYPE_NFIELDS (SYMBOL_TYPE (syms[0].symbol)))
       return 0;
@@ -5088,7 +5073,7 @@ symbols_are_identical_enums (struct bloc
   /* All the sanity checks passed, so we might have a set of
      identical enumeration types.  Perform a more complete
      comparison of the type of each symbol.  */
-  for (i = 1; i < nsyms; i++)
+  for (i = 1; i < syms.size (); i++)
     if (!ada_identical_enum_types_p (SYMBOL_TYPE (syms[i].symbol),
                                      SYMBOL_TYPE (syms[0].symbol)))
       return 0;
@@ -5096,7 +5081,7 @@ symbols_are_identical_enums (struct bloc
   return 1;
 }
 
-/* Remove any non-debugging symbols in SYMS[0 .. NSYMS-1] that definitely
+/* Remove any non-debugging symbols in SYMS that definitely
    duplicate other symbols in the list (The only case I know of where
    this happens is when object files containing stabs-in-ecoff are
    linked with files containing ordinary ecoff debugging symbols (or no
@@ -5104,34 +5089,34 @@ symbols_are_identical_enums (struct bloc
    Returns the number of items in the modified list.  */
 
 static int
-remove_extra_symbols (struct block_symbol *syms, int nsyms)
+remove_extra_symbols (std::vector<struct block_symbol> *syms)
 {
   int i, j;
 
   /* We should never be called with less than 2 symbols, as there
      cannot be any extra symbol in that case.  But it's easy to
      handle, since we have nothing to do in that case.  */
-  if (nsyms < 2)
-    return nsyms;
+  if (syms->size () < 2)
+    return syms->size ();
 
   i = 0;
-  while (i < nsyms)
+  while (i < syms->size ())
     {
       int remove_p = 0;
 
       /* If two symbols have the same name and one of them is a stub type,
          the get rid of the stub.  */
 
-      if (TYPE_STUB (SYMBOL_TYPE (syms[i].symbol))
-          && SYMBOL_LINKAGE_NAME (syms[i].symbol) != NULL)
+      if (TYPE_STUB (SYMBOL_TYPE ((*syms)[i].symbol))
+          && SYMBOL_LINKAGE_NAME ((*syms)[i].symbol) != NULL)
         {
-          for (j = 0; j < nsyms; j++)
+          for (j = 0; j < syms->size (); j++)
             {
               if (j != i
-                  && !TYPE_STUB (SYMBOL_TYPE (syms[j].symbol))
-                  && SYMBOL_LINKAGE_NAME (syms[j].symbol) != NULL
-                  && strcmp (SYMBOL_LINKAGE_NAME (syms[i].symbol),
-                             SYMBOL_LINKAGE_NAME (syms[j].symbol)) == 0)
+                  && !TYPE_STUB (SYMBOL_TYPE ((*syms)[j].symbol))
+                  && SYMBOL_LINKAGE_NAME ((*syms)[j].symbol) != NULL
+                  && strcmp (SYMBOL_LINKAGE_NAME ((*syms)[i].symbol),
+                             SYMBOL_LINKAGE_NAME ((*syms)[j].symbol)) == 0)
                 remove_p = 1;
             }
         }
@@ -5139,30 +5124,26 @@ remove_extra_symbols (struct block_symbo
       /* Two symbols with the same name, same class and same address
          should be identical.  */
 
-      else if (SYMBOL_LINKAGE_NAME (syms[i].symbol) != NULL
-          && SYMBOL_CLASS (syms[i].symbol) == LOC_STATIC
-          && is_nondebugging_type (SYMBOL_TYPE (syms[i].symbol)))
+      else if (SYMBOL_LINKAGE_NAME ((*syms)[i].symbol) != NULL
+          && SYMBOL_CLASS ((*syms)[i].symbol) == LOC_STATIC
+          && is_nondebugging_type (SYMBOL_TYPE ((*syms)[i].symbol)))
         {
-          for (j = 0; j < nsyms; j += 1)
+          for (j = 0; j < syms->size (); j += 1)
             {
               if (i != j
-                  && SYMBOL_LINKAGE_NAME (syms[j].symbol) != NULL
-                  && strcmp (SYMBOL_LINKAGE_NAME (syms[i].symbol),
-                             SYMBOL_LINKAGE_NAME (syms[j].symbol)) == 0
-                  && SYMBOL_CLASS (syms[i].symbol)
-		       == SYMBOL_CLASS (syms[j].symbol)
-                  && SYMBOL_VALUE_ADDRESS (syms[i].symbol)
-                  == SYMBOL_VALUE_ADDRESS (syms[j].symbol))
+                  && SYMBOL_LINKAGE_NAME ((*syms)[j].symbol) != NULL
+                  && strcmp (SYMBOL_LINKAGE_NAME ((*syms)[i].symbol),
+                             SYMBOL_LINKAGE_NAME ((*syms)[j].symbol)) == 0
+                  && SYMBOL_CLASS ((*syms)[i].symbol)
+		       == SYMBOL_CLASS ((*syms)[j].symbol)
+                  && SYMBOL_VALUE_ADDRESS ((*syms)[i].symbol)
+                  == SYMBOL_VALUE_ADDRESS ((*syms)[j].symbol))
                 remove_p = 1;
             }
         }
       
       if (remove_p)
-        {
-          for (j = i + 1; j < nsyms; j += 1)
-            syms[j - 1] = syms[j];
-          nsyms -= 1;
-        }
+	syms->erase (syms->begin () + i);
 
       i += 1;
     }
@@ -5179,18 +5160,18 @@ remove_extra_symbols (struct block_symbo
      to ask the user to disambiguate anyways.  And if we have to
      present a multiple-choice menu, it's less confusing if the list
      isn't missing some choices that were identical and yet distinct.  */
-  if (symbols_are_identical_enums (syms, nsyms))
-    nsyms = 1;
+  if (symbols_are_identical_enums (*syms))
+    syms->resize (1);
 
-  return nsyms;
+  return syms->size ();
 }
 
 /* Given a type that corresponds to a renaming entity, use the type name
    to extract the scope (package name or function name, fully qualified,
    and following the GNAT encoding convention) where this renaming has been
-   defined.  The string returned needs to be deallocated after use.  */
+   defined.  */
 
-static char *
+static std::string
 xget_renaming_scope (struct type *renaming_type)
 {
   /* The renaming types adhere to the following convention:
@@ -5198,11 +5179,9 @@ xget_renaming_scope (struct type *renami
      So, to extract the scope, we search for the "___XR" extension,
      and then backtrack until we find the first "__".  */
 
-  const char *name = type_name_no_tag (renaming_type);
+  const char *name = TYPE_NAME (renaming_type);
   const char *suffix = strstr (name, "___XR");
   const char *last;
-  int scope_len;
-  char *scope;
 
   /* Now, backtrack a bit until we find the first "__".  Start looking
      at suffix - 3, as the <rename> part is at least one character long.  */
@@ -5212,14 +5191,7 @@ xget_renaming_scope (struct type *renami
       break;
 
   /* Make a copy of scope and return it.  */
-
-  scope_len = last - name;
-  scope = (char *) xmalloc ((scope_len + 1) * sizeof (char));
-
-  strncpy (scope, name, scope_len);
-  scope[scope_len] = '\0';
-
-  return scope;
+  return std::string (name, last);
 }
 
 /* Return nonzero if NAME corresponds to a package name.  */
@@ -5259,21 +5231,14 @@ is_package_name (const char *name)
 static int
 old_renaming_is_invisible (const struct symbol *sym, const char *function_name)
 {
-  char *scope;
-  struct cleanup *old_chain;
-
   if (SYMBOL_CLASS (sym) != LOC_TYPEDEF)
     return 0;
 
-  scope = xget_renaming_scope (SYMBOL_TYPE (sym));
-  old_chain = make_cleanup (xfree, scope);
+  std::string scope = xget_renaming_scope (SYMBOL_TYPE (sym));
 
   /* If the rename has been defined in a package, then it is visible.  */
-  if (is_package_name (scope))
-    {
-      do_cleanups (old_chain);
-      return 0;
-    }
+  if (is_package_name (scope.c_str ()))
+    return 0;
 
   /* Check that the rename is in the current function scope by checking
      that its name starts with SCOPE.  */
@@ -5285,12 +5250,7 @@ old_renaming_is_invisible (const struct 
   if (startswith (function_name, "_ada_"))
     function_name += 5;
 
-  {
-    int is_invisible = !startswith (function_name, scope);
-
-    do_cleanups (old_chain);
-    return is_invisible;
-  }
+  return !startswith (function_name, scope.c_str ());
 }
 
 /* Remove entries from SYMS that corresponds to a renaming entity that
@@ -5331,8 +5291,8 @@ old_renaming_is_invisible (const struct 
         the user will be unable to print such rename entities.  */
 
 static int
-remove_irrelevant_renamings (struct block_symbol *syms,
-			     int nsyms, const struct block *current_block)
+remove_irrelevant_renamings (std::vector<struct block_symbol> *syms,
+			     const struct block *current_block)
 {
   struct symbol *current_function;
   const char *current_function_name;
@@ -5343,10 +5303,10 @@ remove_irrelevant_renamings (struct bloc
      a simple variable foo in the same block, discard the latter.
      First, zero out such symbols, then compress.  */
   is_new_style_renaming = 0;
-  for (i = 0; i < nsyms; i += 1)
+  for (i = 0; i < syms->size (); i += 1)
     {
-      struct symbol *sym = syms[i].symbol;
-      const struct block *block = syms[i].block;
+      struct symbol *sym = (*syms)[i].symbol;
+      const struct block *block = (*syms)[i].block;
       const char *name;
       const char *suffix;
 
@@ -5361,22 +5321,22 @@ remove_irrelevant_renamings (struct bloc
 	  int j;
 
 	  is_new_style_renaming = 1;
-	  for (j = 0; j < nsyms; j += 1)
-	    if (i != j && syms[j].symbol != NULL
-		&& strncmp (name, SYMBOL_LINKAGE_NAME (syms[j].symbol),
+	  for (j = 0; j < syms->size (); j += 1)
+	    if (i != j && (*syms)[j].symbol != NULL
+		&& strncmp (name, SYMBOL_LINKAGE_NAME ((*syms)[j].symbol),
 			    name_len) == 0
-		&& block == syms[j].block)
-	      syms[j].symbol = NULL;
+		&& block == (*syms)[j].block)
+	      (*syms)[j].symbol = NULL;
 	}
     }
   if (is_new_style_renaming)
     {
       int j, k;
 
-      for (j = k = 0; j < nsyms; j += 1)
-	if (syms[j].symbol != NULL)
+      for (j = k = 0; j < syms->size (); j += 1)
+	if ((*syms)[j].symbol != NULL)
 	    {
-	      syms[k] = syms[j];
+	      (*syms)[k] = (*syms)[j];
 	      k += 1;
 	    }
       return k;
@@ -5386,38 +5346,33 @@ remove_irrelevant_renamings (struct bloc
      Abort if unable to do so.  */
 
   if (current_block == NULL)
-    return nsyms;
+    return syms->size ();
 
   current_function = block_linkage_function (current_block);
   if (current_function == NULL)
-    return nsyms;
+    return syms->size ();
 
   current_function_name = SYMBOL_LINKAGE_NAME (current_function);
   if (current_function_name == NULL)
-    return nsyms;
+    return syms->size ();
 
   /* Check each of the symbols, and remove it from the list if it is
      a type corresponding to a renaming that is out of the scope of
      the current block.  */
 
   i = 0;
-  while (i < nsyms)
+  while (i < syms->size ())
     {
-      if (ada_parse_renaming (syms[i].symbol, NULL, NULL, NULL)
+      if (ada_parse_renaming ((*syms)[i].symbol, NULL, NULL, NULL)
           == ADA_OBJECT_RENAMING
-          && old_renaming_is_invisible (syms[i].symbol, current_function_name))
-        {
-          int j;
-
-          for (j = i + 1; j < nsyms; j += 1)
-            syms[j - 1] = syms[j];
-          nsyms -= 1;
-        }
+          && old_renaming_is_invisible ((*syms)[i].symbol,
+					current_function_name))
+	syms->erase (syms->begin () + i);
       else
         i += 1;
     }
 
-  return nsyms;
+  return syms->size ();
 }
 
 /* Add to OBSTACKP all symbols from BLOCK (and its super-blocks)
@@ -5809,10 +5764,9 @@ ada_add_all_symbols (struct obstack *obs
 /* Find symbols in DOMAIN matching LOOKUP_NAME, in BLOCK and, if FULL_SEARCH
    is non-zero, enclosing scope and in global scopes, returning the number of
    matches.
-   Sets *RESULTS to point to a newly allocated vector of (SYM,BLOCK) tuples,
-   indicating the symbols found and the blocks and symbol tables (if
-   any) in which they were found.  This vector should be freed when
-   no longer useful.
+   Fills *RESULTS with (SYM,BLOCK) tuples, indicating the symbols
+   found and the blocks and symbol tables (if any) in which they were
+   found.
 
    When full_search is non-zero, any non-function/non-enumeral
    symbol match within the nest of blocks whose innermost member is BLOCK,
@@ -5827,7 +5781,7 @@ static int
 ada_lookup_symbol_list_worker (const lookup_name_info &lookup_name,
 			       const struct block *block,
 			       domain_enum domain,
-			       struct block_symbol **results,
+			       std::vector<struct block_symbol> *results,
 			       int full_search)
 {
   int syms_from_global_search;
@@ -5840,11 +5794,11 @@ ada_lookup_symbol_list_worker (const loo
 
   ndefns = num_defns_collected (&obstack);
 
-  results_size = obstack_object_size (&obstack);
-  *results = (struct block_symbol *) malloc (results_size);
-  memcpy (*results, defns_collected (&obstack, 1), results_size);
+  struct block_symbol *base = defns_collected (&obstack, 1);
+  for (int i = 0; i < ndefns; ++i)
+    results->push_back (base[i]);
 
-  ndefns = remove_extra_symbols (*results, ndefns);
+  ndefns = remove_extra_symbols (results);
 
   if (ndefns == 0 && full_search && syms_from_global_search)
     cache_symbol (ada_lookup_name (lookup_name), domain, NULL, NULL);
@@ -5853,21 +5807,21 @@ ada_lookup_symbol_list_worker (const loo
     cache_symbol (ada_lookup_name (lookup_name), domain,
 		  (*results)[0].symbol, (*results)[0].block);
 
-  ndefns = remove_irrelevant_renamings (*results, ndefns, block);
+  ndefns = remove_irrelevant_renamings (results, block);
 
   return ndefns;
 }
 
 /* Find symbols in DOMAIN matching NAME, in BLOCK and enclosing scope and
-   in global scopes, returning the number of matches, and setting *RESULTS
-   to a newly-allocated vector of (SYM,BLOCK) tuples.  This newly-allocated
-   vector should be freed when no longer useful.
+   in global scopes, returning the number of matches, and filling *RESULTS
+   with (SYM,BLOCK) tuples.
 
    See ada_lookup_symbol_list_worker for further details.  */
 
 int
 ada_lookup_symbol_list (const char *name, const struct block *block,
-			domain_enum domain, struct block_symbol **results)
+			domain_enum domain,
+			std::vector<struct block_symbol> *results)
 {
   symbol_name_match_type name_match_type = name_match_type_from_name (name);
   lookup_name_info lookup_name (name, name_match_type);
@@ -5884,19 +5838,15 @@ ada_iterate_over_symbols
    gdb::function_view<symbol_found_callback_ftype> callback)
 {
   int ndefs, i;
-  struct block_symbol *results;
-  struct cleanup *old_chain;
+  std::vector<struct block_symbol> results;
 
   ndefs = ada_lookup_symbol_list_worker (name, block, domain, &results, 0);
-  old_chain = make_cleanup (xfree, results);
 
   for (i = 0; i < ndefs; ++i)
     {
       if (!callback (results[i].symbol))
 	break;
     }
-
-  do_cleanups (old_chain);
 }
 
 /* The result is as for ada_lookup_symbol_list with FULL_SEARCH set
@@ -5936,24 +5886,16 @@ ada_lookup_symbol (const char *name, con
   if (is_a_field_of_this != NULL)
     *is_a_field_of_this = 0;
 
-  struct block_symbol *candidates;
+  std::vector<struct block_symbol> candidates;
   int n_candidates;
-  struct cleanup *old_chain;
 
   n_candidates = ada_lookup_symbol_list (name, block0, domain, &candidates);
-  old_chain = make_cleanup (xfree, candidates);
 
   if (n_candidates == 0)
-    {
-      do_cleanups (old_chain);
-      return {};
-    }
+    return {};
 
   block_symbol info = candidates[0];
   info.symbol = fixup_symbol_section (info.symbol, NULL);
-
-  do_cleanups (old_chain);
-
   return info;
 }
 
@@ -6474,7 +6416,6 @@ ada_collect_symbol_completion_matches (c
   struct objfile *objfile;
   const struct block *b, *surrounding_static_block = 0;
   struct block_iterator iter;
-  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
 
   gdb_assert (code == TYPE_CODE_UNDEF);
 
@@ -6579,8 +6520,6 @@ ada_collect_symbol_completion_matches (c
 				lookup_name, text, word);
     }
   }
-
-  do_cleanups (old_chain);
 }
 
                                 /* Field Access */
@@ -8134,8 +8073,8 @@ ada_prefer_type (struct type *type0, str
     return 1;
   else
     {
-      const char *type0_name = type_name_no_tag (type0);
-      const char *type1_name = type_name_no_tag (type1);
+      const char *type0_name = TYPE_NAME (type0);
+      const char *type1_name = TYPE_NAME (type1);
 
       if (type0_name != NULL && strstr (type0_name, "___XR") != NULL
 	  && (type1_name == NULL || strstr (type1_name, "___XR") == NULL))
@@ -8144,18 +8083,15 @@ ada_prefer_type (struct type *type0, str
   return 0;
 }
 
-/* The name of TYPE, which is either its TYPE_NAME, or, if that is
-   null, its TYPE_TAG_NAME.  Null if TYPE is null.  */
+/* The name of TYPE, which is its TYPE_NAME.  Null if TYPE is
+   null.  */
 
 const char *
 ada_type_name (struct type *type)
 {
   if (type == NULL)
     return NULL;
-  else if (TYPE_NAME (type) != NULL)
-    return TYPE_NAME (type);
-  else
-    return TYPE_TAG_NAME (type);
+  return TYPE_NAME (type);
 }
 
 /* Search the list of "descriptive" types associated to TYPE for a type
@@ -8324,7 +8260,6 @@ empty_record (struct type *templ)
   TYPE_FIELDS (type) = NULL;
   INIT_CPLUS_SPECIFIC (type);
   TYPE_NAME (type) = "<empty>";
-  TYPE_TAG_NAME (type) = NULL;
   TYPE_LENGTH (type) = 0;
   return type;
 }
@@ -8383,7 +8318,6 @@ ada_template_to_fixed_record_type_1 (str
     TYPE_ALLOC (rtype, nfields * sizeof (struct field));
   memset (TYPE_FIELDS (rtype), 0, sizeof (struct field) * nfields);
   TYPE_NAME (rtype) = ada_type_name (type);
-  TYPE_TAG_NAME (rtype) = NULL;
   TYPE_FIXED_INSTANCE (rtype) = 1;
 
   off = 0;
@@ -8660,7 +8594,6 @@ template_to_static_fixed_type (struct ty
 	      memcpy (TYPE_FIELDS (type), TYPE_FIELDS (type0),
 		      sizeof (struct field) * nfields);
 	      TYPE_NAME (type) = ada_type_name (type0);
-	      TYPE_TAG_NAME (type) = NULL;
 	      TYPE_FIXED_INSTANCE (type) = 1;
 	      TYPE_LENGTH (type) = 0;
 	    }
@@ -8710,7 +8643,6 @@ to_record_with_fixed_variant_part (struc
   memcpy (TYPE_FIELDS (rtype), TYPE_FIELDS (type),
           sizeof (struct field) * nfields);
   TYPE_NAME (rtype) = ada_type_name (type);
-  TYPE_TAG_NAME (rtype) = NULL;
   TYPE_FIXED_INSTANCE (rtype) = 1;
   TYPE_LENGTH (rtype) = TYPE_LENGTH (type);
 
@@ -9321,11 +9253,11 @@ ada_check_typedef (struct type *type)
   type = check_typedef (type);
   if (type == NULL || TYPE_CODE (type) != TYPE_CODE_ENUM
       || !TYPE_STUB (type)
-      || TYPE_TAG_NAME (type) == NULL)
+      || TYPE_NAME (type) == NULL)
     return type;
   else
     {
-      const char *name = TYPE_TAG_NAME (type);
+      const char *name = TYPE_NAME (type);
       struct type *type1 = ada_find_any_type (name);
 
       if (type1 == NULL)
@@ -9356,8 +9288,16 @@ ada_to_fixed_value_create (struct type *
 
   if (type == type0 && val0 != NULL)
     return val0;
-  else
-    return value_from_contents_and_address (type, 0, address);
+
+  if (VALUE_LVAL (val0) != lval_memory)
+    {
+      /* Our value does not live in memory; it could be a convenience
+	 variable, for instance.  Create a not_lval value using val0's
+	 contents.  */
+      return value_from_contents (type, value_contents (val0));
+    }
+
+  return value_from_contents_and_address (type, 0, address);
 }
 
 /* A value representing VAL, but with a standard (static-sized) type
@@ -11798,24 +11738,20 @@ get_var_value (const char *name, const c
 {
   lookup_name_info lookup_name (name, symbol_name_match_type::FULL);
 
-  struct block_symbol *syms;
+  std::vector<struct block_symbol> syms;
   int nsyms = ada_lookup_symbol_list_worker (lookup_name,
 					     get_selected_block (0),
 					     VAR_DOMAIN, &syms, 1);
-  struct cleanup *old_chain = make_cleanup (xfree, syms);
 
   if (nsyms != 1)
     {
-      do_cleanups (old_chain);
       if (err_msg == NULL)
         return 0;
       else
         error (("%s"), err_msg);
     }
 
-  struct value *result = value_of_variable (syms[0].symbol, syms[0].block);
-  do_cleanups (old_chain);
-  return result;
+  return value_of_variable (syms[0].symbol, syms[0].block);
 }
 
 /* Value of integer variable named NAME in the current environment.
@@ -12172,7 +12108,7 @@ ada_exception_support_info_sniffer (void
      loaded.  If it is not started, this may mean that the symbol is
      in a shared library.  */
 
-  if (ptid_get_pid (inferior_ptid) == 0)
+  if (inferior_ptid.pid () == 0)
     error (_("Unable to insert catchpoint. Try to start the program first."));
 
   /* At this point, we know that we are debugging an Ada program and
@@ -12363,8 +12299,6 @@ ada_exception_name_addr_1 (enum ada_exce
    return the message which was associated to the exception, if
    available.  Return NULL if the message could not be retrieved.
 
-   The caller must xfree the string after use.
-
    Note: The exception message can be associated to an exception
    either through the use of the Raise_Exception function, or
    more simply (Ada 2005 and later), via:
@@ -12373,13 +12307,11 @@ ada_exception_name_addr_1 (enum ada_exce
 
    */
 
-static char *
+static gdb::unique_xmalloc_ptr<char>
 ada_exception_message_1 (void)
 {
   struct value *e_msg_val;
-  char *e_msg = NULL;
   int e_msg_len;
-  struct cleanup *cleanups;
 
   /* For runtimes that support this feature, the exception message
      is passed as an unbounded string argument called "message".  */
@@ -12396,22 +12328,20 @@ ada_exception_message_1 (void)
   if (e_msg_len <= 0)
     return NULL;
 
-  e_msg = (char *) xmalloc (e_msg_len + 1);
-  cleanups = make_cleanup (xfree, e_msg);
-  read_memory_string (value_address (e_msg_val), e_msg, e_msg_len + 1);
-  e_msg[e_msg_len] = '\0';
+  gdb::unique_xmalloc_ptr<char> e_msg ((char *) xmalloc (e_msg_len + 1));
+  read_memory_string (value_address (e_msg_val), e_msg.get (), e_msg_len + 1);
+  e_msg.get ()[e_msg_len] = '\0';
 
-  discard_cleanups (cleanups);
   return e_msg;
 }
 
 /* Same as ada_exception_message_1, except that all exceptions are
    contained here (returning NULL instead).  */
 
-static char *
+static gdb::unique_xmalloc_ptr<char>
 ada_exception_message (void)
 {
-  char *e_msg = NULL;  /* Avoid a spurious uninitialized warning.  */
+  gdb::unique_xmalloc_ptr<char> e_msg;
 
   TRY
     {
@@ -12419,7 +12349,7 @@ ada_exception_message (void)
     }
   CATCH (e, RETURN_MASK_ERROR)
     {
-      e_msg = NULL;
+      e_msg.reset (nullptr);
     }
   END_CATCH
 
@@ -12452,7 +12382,7 @@ ada_exception_name_addr (enum ada_except
   return result;
 }
 
-static char *ada_exception_catchpoint_cond_string
+static std::string ada_exception_catchpoint_cond_string
   (const char *excep_string,
    enum ada_exception_catchpoint_kind ex);
 
@@ -12507,10 +12437,8 @@ static const struct bp_location_ops ada_
 
 struct ada_catchpoint : public breakpoint
 {
-  ~ada_catchpoint () override;
-
   /* The name of the specific exception the user specified.  */
-  char *excep_string;
+  std::string excep_string;
 };
 
 /* Parse the exception condition string in the context of each of the
@@ -12520,12 +12448,10 @@ static void
 create_excep_cond_exprs (struct ada_catchpoint *c,
                          enum ada_exception_catchpoint_kind ex)
 {
-  struct cleanup *old_chain;
   struct bp_location *bl;
-  char *cond_string;
 
   /* Nothing to do if there's no specific exception to catch.  */
-  if (c->excep_string == NULL)
+  if (c->excep_string.empty ())
     return;
 
   /* Same if there are no locations... */
@@ -12534,8 +12460,8 @@ create_excep_cond_exprs (struct ada_catc
 
   /* Compute the condition expression in text form, from the specific
      expection we want to catch.  */
-  cond_string = ada_exception_catchpoint_cond_string (c->excep_string, ex);
-  old_chain = make_cleanup (xfree, cond_string);
+  std::string cond_string
+    = ada_exception_catchpoint_cond_string (c->excep_string.c_str (), ex);
 
   /* Iterate over all the catchpoint's locations, and parse an
      expression for each.  */
@@ -12549,7 +12475,7 @@ create_excep_cond_exprs (struct ada_catc
 	{
 	  const char *s;
 
-	  s = cond_string;
+	  s = cond_string.c_str ();
 	  TRY
 	    {
 	      exp = parse_exp_1 (&s, bl->address,
@@ -12567,15 +12493,6 @@ create_excep_cond_exprs (struct ada_catc
 
       ada_loc->excep_cond_expr = std::move (exp);
     }
-
-  do_cleanups (old_chain);
-}
-
-/* ada_catchpoint destructor.  */
-
-ada_catchpoint::~ada_catchpoint ()
-{
-  xfree (this->excep_string);
 }
 
 /* Implement the ALLOCATE_LOCATION method in the breakpoint_ops
@@ -12618,7 +12535,7 @@ should_stop_exception (const struct bp_l
   int stop;
 
   /* With no specific exception, should always stop.  */
-  if (c->excep_string == NULL)
+  if (c->excep_string.empty ())
     return 1;
 
   if (ada_loc->excep_cond_expr == NULL)
@@ -12664,7 +12581,6 @@ print_it_exception (enum ada_exception_c
 {
   struct ui_out *uiout = current_uiout;
   struct breakpoint *b = bs->breakpoint_at;
-  char *exception_message;
 
   annotate_catchpoint (b->number);
 
@@ -12732,16 +12648,12 @@ print_it_exception (enum ada_exception_c
 	break;
     }
 
-  exception_message = ada_exception_message ();
+  gdb::unique_xmalloc_ptr<char> exception_message = ada_exception_message ();
   if (exception_message != NULL)
     {
-      struct cleanup *cleanups = make_cleanup (xfree, exception_message);
-
       uiout->text (" (");
-      uiout->field_string ("exception-message", exception_message);
+      uiout->field_string ("exception-message", exception_message.get ());
       uiout->text (")");
-
-      do_cleanups (cleanups);
     }
 
   uiout->text (" at ");
@@ -12773,12 +12685,12 @@ print_one_exception (enum ada_exception_
   switch (ex)
     {
       case ada_catch_exception:
-        if (c->excep_string != NULL)
+        if (!c->excep_string.empty ())
           {
-            char *msg = xstrprintf (_("`%s' Ada exception"), c->excep_string);
+	    std::string msg = string_printf (_("`%s' Ada exception"),
+					     c->excep_string.c_str ());
 
             uiout->field_string ("what", msg);
-            xfree (msg);
           }
         else
           uiout->field_string ("what", "all Ada exceptions");
@@ -12790,11 +12702,11 @@ print_one_exception (enum ada_exception_
         break;
       
       case ada_catch_handlers:
-        if (c->excep_string != NULL)
+        if (!c->excep_string.empty ())
           {
 	    uiout->field_fmt ("what",
 			      _("`%s' Ada exception handlers"),
-			      c->excep_string);
+			      c->excep_string.c_str ());
           }
         else
 	  uiout->field_string ("what", "all Ada exceptions handlers");
@@ -12828,13 +12740,11 @@ print_mention_exception (enum ada_except
   switch (ex)
     {
       case ada_catch_exception:
-        if (c->excep_string != NULL)
+        if (!c->excep_string.empty ())
 	  {
-	    char *info = xstrprintf (_("`%s' Ada exception"), c->excep_string);
-	    struct cleanup *old_chain = make_cleanup (xfree, info);
-
-	    uiout->text (info);
-	    do_cleanups (old_chain);
+	    std::string info = string_printf (_("`%s' Ada exception"),
+					      c->excep_string.c_str ());
+	    uiout->text (info.c_str ());
 	  }
         else
           uiout->text (_("all Ada exceptions"));
@@ -12845,11 +12755,11 @@ print_mention_exception (enum ada_except
         break;
 
       case ada_catch_handlers:
-        if (c->excep_string != NULL)
+        if (!c->excep_string.empty ())
 	  {
 	    std::string info
 	      = string_printf (_("`%s' Ada exception handlers"),
-			       c->excep_string);
+			       c->excep_string.c_str ());
 	    uiout->text (info.c_str ());
 	  }
         else
@@ -12879,8 +12789,8 @@ print_recreate_exception (enum ada_excep
     {
       case ada_catch_exception:
 	fprintf_filtered (fp, "catch exception");
-	if (c->excep_string != NULL)
-	  fprintf_filtered (fp, " %s", c->excep_string);
+	if (!c->excep_string.empty ())
+	  fprintf_filtered (fp, " %s", c->excep_string.c_str ());
 	break;
 
       case ada_catch_exception_unhandled:
@@ -13089,40 +12999,6 @@ print_recreate_catch_handlers (struct br
 
 static struct breakpoint_ops catch_handlers_breakpoint_ops;
 
-/* Return a newly allocated copy of the first space-separated token
-   in ARGSP, and then adjust ARGSP to point immediately after that
-   token.
-
-   Return NULL if ARGPS does not contain any more tokens.  */
-
-static char *
-ada_get_next_arg (const char **argsp)
-{
-  const char *args = *argsp;
-  const char *end;
-  char *result;
-
-  args = skip_spaces (args);
-  if (args[0] == '\0')
-    return NULL; /* No more arguments.  */
-  
-  /* Find the end of the current argument.  */
-
-  end = skip_to_space (args);
-
-  /* Adjust ARGSP to point to the start of the next argument.  */
-
-  *argsp = end;
-
-  /* Make a copy of the current argument and return it.  */
-
-  result = (char *) xmalloc (end - args + 1);
-  strncpy (result, args, end - args);
-  result[end - args] = '\0';
-  
-  return result;
-}
-
 /* Split the arguments specified in a "catch exception" command.  
    Set EX to the appropriate catchpoint type.
    Set EXCEP_STRING to the name of the specific exception if
@@ -13137,24 +13013,20 @@ static void
 catch_ada_exception_command_split (const char *args,
 				   bool is_catch_handlers_cmd,
                                    enum ada_exception_catchpoint_kind *ex,
-				   char **excep_string,
-				   char **cond_string)
+				   std::string *excep_string,
+				   std::string *cond_string)
 {
-  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
-  char *exception_name;
-  char *cond = NULL;
+  std::string exception_name;
 
-  exception_name = ada_get_next_arg (&args);
-  if (exception_name != NULL && strcmp (exception_name, "if") == 0)
+  exception_name = extract_arg (&args);
+  if (exception_name == "if")
     {
       /* This is not an exception name; this is the start of a condition
 	 expression for a catchpoint on all exceptions.  So, "un-get"
 	 this token, and set exception_name to NULL.  */
-      xfree (exception_name);
-      exception_name = NULL;
+      exception_name.clear ();
       args -= 2;
     }
-  make_cleanup (xfree, exception_name);
 
   /* Check to see if we have a condition.  */
 
@@ -13167,8 +13039,7 @@ catch_ada_exception_command_split (const
 
       if (args[0] == '\0')
         error (_("Condition missing after `if' keyword"));
-      cond = xstrdup (args);
-      make_cleanup (xfree, cond);
+      *cond_string = args;
 
       args += strlen (args);
     }
@@ -13179,25 +13050,23 @@ catch_ada_exception_command_split (const
   if (args[0] != '\0')
     error (_("Junk at end of expression"));
 
-  discard_cleanups (old_chain);
-
   if (is_catch_handlers_cmd)
     {
       /* Catch handling of exceptions.  */
       *ex = ada_catch_handlers;
       *excep_string = exception_name;
     }
-  else if (exception_name == NULL)
+  else if (exception_name.empty ())
     {
       /* Catch all exceptions.  */
       *ex = ada_catch_exception;
-      *excep_string = NULL;
+      excep_string->clear ();
     }
-  else if (strcmp (exception_name, "unhandled") == 0)
+  else if (exception_name == "unhandled")
     {
       /* Catch unhandled exceptions.  */
       *ex = ada_catch_exception_unhandled;
-      *excep_string = NULL;
+      excep_string->clear ();
     }
   else
     {
@@ -13205,7 +13074,6 @@ catch_ada_exception_command_split (const
       *ex = ada_catch_exception;
       *excep_string = exception_name;
     }
-  *cond_string = cond;
 }
 
 /* Return the name of the symbol on which we should break in order to
@@ -13268,29 +13136,25 @@ ada_exception_breakpoint_ops (enum ada_e
    being raised with the exception that the user wants to catch.  This
    assumes that this condition is used when the inferior just triggered
    an exception catchpoint.
-   EX: the type of catchpoints used for catching Ada exceptions.
-   
-   The string returned is a newly allocated string that needs to be
-   deallocated later.  */
+   EX: the type of catchpoints used for catching Ada exceptions.  */
 
-static char *
+static std::string
 ada_exception_catchpoint_cond_string (const char *excep_string,
                                       enum ada_exception_catchpoint_kind ex)
 {
   int i;
   bool is_standard_exc = false;
-  const char *actual_exc_expr;
-  char *ref_exc_expr;
+  std::string result;
 
   if (ex == ada_catch_handlers)
     {
       /* For exception handlers catchpoints, the condition string does
          not use the same parameter as for the other exceptions.  */
-      actual_exc_expr = ("long_integer (GNAT_GCC_exception_Access"
-			 "(gcc_exception).all.occurrence.id)");
+      result = ("long_integer (GNAT_GCC_exception_Access"
+		"(gcc_exception).all.occurrence.id)");
     }
   else
-    actual_exc_expr = "long_integer (e)";
+    result = "long_integer (e)";
 
   /* The standard exceptions are a special case.  They are defined in
      runtime units that have been compiled without debugging info; if
@@ -13320,28 +13184,25 @@ ada_exception_catchpoint_cond_string (co
 	}
     }
 
+  result += " = ";
+
   if (is_standard_exc)
-    ref_exc_expr = xstrprintf ("long_integer (&standard.%s)", excep_string);
+    string_appendf (result, "long_integer (&standard.%s)", excep_string);
   else
-    ref_exc_expr = xstrprintf ("long_integer (&%s)", excep_string);
+    string_appendf (result, "long_integer (&%s)", excep_string);
 
-  char *result =  xstrprintf ("%s = %s", actual_exc_expr, ref_exc_expr);
-  xfree (ref_exc_expr);
   return result;
 }
 
 /* Return the symtab_and_line that should be used to insert an exception
    catchpoint of the TYPE kind.
 
-   EXCEP_STRING should contain the name of a specific exception that
-   the catchpoint should catch, or NULL otherwise.
-
    ADDR_STRING returns the name of the function where the real
    breakpoint that implements the catchpoints is set, depending on the
    type of catchpoint we need to create.  */
 
 static struct symtab_and_line
-ada_exception_sal (enum ada_exception_catchpoint_kind ex, char *excep_string,
+ada_exception_sal (enum ada_exception_catchpoint_kind ex,
 		   const char **addr_string, const struct breakpoint_ops **ops)
 {
   const char *sym_name;
@@ -13377,15 +13238,11 @@ ada_exception_sal (enum ada_exception_ca
 
    EX_KIND is the kind of exception catchpoint to be created.
 
-   If EXCEPT_STRING is NULL, this catchpoint is expected to trigger
+   If EXCEPT_STRING is empty, this catchpoint is expected to trigger
    for all exceptions.  Otherwise, EXCEPT_STRING indicates the name
-   of the exception to which this catchpoint applies.  When not NULL,
-   the string must be allocated on the heap, and its deallocation
-   is no longer the responsibility of the caller.
-
-   COND_STRING, if not NULL, is the catchpoint condition.  This string
-   must be allocated on the heap, and its deallocation is no longer
-   the responsibility of the caller.
+   of the exception to which this catchpoint applies.
+
+   COND_STRING, if not empty, is the catchpoint condition.
 
    TEMPFLAG, if nonzero, means that the underlying breakpoint
    should be temporary.
@@ -13395,24 +13252,23 @@ ada_exception_sal (enum ada_exception_ca
 void
 create_ada_exception_catchpoint (struct gdbarch *gdbarch,
 				 enum ada_exception_catchpoint_kind ex_kind,
-				 char *excep_string,
-				 char *cond_string,
+				 const std::string &excep_string,
+				 const std::string &cond_string,
 				 int tempflag,
 				 int disabled,
 				 int from_tty)
 {
   const char *addr_string = NULL;
   const struct breakpoint_ops *ops = NULL;
-  struct symtab_and_line sal
-    = ada_exception_sal (ex_kind, excep_string, &addr_string, &ops);
+  struct symtab_and_line sal = ada_exception_sal (ex_kind, &addr_string, &ops);
 
   std::unique_ptr<ada_catchpoint> c (new ada_catchpoint ());
   init_ada_exception_breakpoint (c.get (), gdbarch, sal, addr_string,
 				 ops, tempflag, disabled, from_tty);
   c->excep_string = excep_string;
   create_excep_cond_exprs (c.get (), ex_kind);
-  if (cond_string != NULL)
-    set_breakpoint_condition (c.get (), cond_string, from_tty);
+  if (!cond_string.empty ())
+    set_breakpoint_condition (c.get (), cond_string.c_str (), from_tty);
   install_breakpoint (0, std::move (c), 1);
 }
 
@@ -13426,8 +13282,8 @@ catch_ada_exception_command (const char 
   struct gdbarch *gdbarch = get_current_arch ();
   int tempflag;
   enum ada_exception_catchpoint_kind ex_kind;
-  char *excep_string = NULL;
-  char *cond_string = NULL;
+  std::string excep_string;
+  std::string cond_string;
 
   tempflag = get_cmd_context (command) == CATCH_TEMPORARY;
 
@@ -13451,8 +13307,8 @@ catch_ada_handlers_command (const char *
   struct gdbarch *gdbarch = get_current_arch ();
   int tempflag;
   enum ada_exception_catchpoint_kind ex_kind;
-  char *excep_string = NULL;
-  char *cond_string = NULL;
+  std::string excep_string;
+  std::string cond_string;
 
   tempflag = get_cmd_context (command) == CATCH_TEMPORARY;
 
@@ -13475,7 +13331,7 @@ catch_ada_handlers_command (const char *
    (the memory needs to be deallocated after use).  */
 
 static void
-catch_ada_assert_command_split (const char *args, char **cond_string)
+catch_ada_assert_command_split (const char *args, std::string &cond_string)
 {
   args = skip_spaces (args);
 
@@ -13487,7 +13343,7 @@ catch_ada_assert_command_split (const ch
       args = skip_spaces (args);
       if (args[0] == '\0')
         error (_("condition missing after `if' keyword"));
-      *cond_string = xstrdup (args);
+      cond_string.assign (args);
     }
 
   /* Otherwise, there should be no other argument at the end of
@@ -13505,15 +13361,15 @@ catch_assert_command (const char *arg_en
   const char *arg = arg_entry;
   struct gdbarch *gdbarch = get_current_arch ();
   int tempflag;
-  char *cond_string = NULL;
+  std::string cond_string;
 
   tempflag = get_cmd_context (command) == CATCH_TEMPORARY;
 
   if (!arg)
     arg = "";
-  catch_ada_assert_command_split (arg, &cond_string);
+  catch_ada_assert_command_split (arg, cond_string);
   create_ada_exception_catchpoint (gdbarch, ada_catch_assert,
-				   NULL, cond_string,
+				   "", cond_string,
 				   tempflag, 1 /* enabled */,
 				   from_tty);
 }
@@ -13523,7 +13379,7 @@ catch_assert_command (const char *arg_en
 static int
 ada_is_exception_sym (struct symbol *sym)
 {
-  const char *type_name = type_name_no_tag (SYMBOL_TYPE (sym));
+  const char *type_name = TYPE_NAME (SYMBOL_TYPE (sym));
 
   return (SYMBOL_CLASS (sym) != LOC_TYPEDEF
           && SYMBOL_CLASS (sym) != LOC_BLOCK
@@ -14504,7 +14360,6 @@ extern const struct language_defn ada_la
   ada_extensions,
   &ada_exp_descriptor,
   parse,
-  ada_yyerror,
   resolve,
   ada_printchar,                /* Print a character constant */
   ada_printstr,                 /* Function to print string constant */
@@ -14516,6 +14371,7 @@ extern const struct language_defn ada_la
   ada_read_var_value,		/* la_read_var_value */
   NULL,                         /* Language specific skip_trampoline */
   NULL,                         /* name_of_this */
+  true,                         /* la_store_sym_names_in_linkage_form_p */
   ada_lookup_symbol_nonlocal,   /* Looking up non-local symbols.  */
   basic_lookup_transparent_type,        /* lookup_transparent_type */
   ada_la_decode,                /* Language specific symbol demangler */
@@ -14686,6 +14542,13 @@ With an argument, catch only exceptions 
 		     CATCH_TEMPORARY);
 
   varsize_limit = 65536;
+  add_setshow_uinteger_cmd ("varsize-limit", class_support,
+			    &varsize_limit, _("\
+Set the maximum number of bytes allowed in a variable-size object."), _("\
+Show the maximum number of bytes allowed in a variable-size object."), _("\
+Attempts to access an object whose size is not a compile-time constant\n\
+and exceeds this limit will cause an error."),
+			    NULL, NULL, &setlist, &showlist);
 
   add_info ("exceptions", info_exceptions_command,
 	    _("\
@@ -14713,14 +14576,13 @@ When enabled, the debugger will stop usi
 DWARF attribute."),
      NULL, NULL, &maint_set_ada_cmdlist, &maint_show_ada_cmdlist);
 
-  decoded_names_store = htab_create_alloc
-    (256, htab_hash_string, (int (*)(const void *, const void *)) streq,
-     NULL, xcalloc, xfree);
+  decoded_names_store = htab_create_alloc (256, htab_hash_string, streq_hash,
+					   NULL, xcalloc, xfree);
 
   /* The ada-lang observers.  */
-  observer_attach_new_objfile (ada_new_objfile_observer);
-  observer_attach_free_objfile (ada_free_objfile_observer);
-  observer_attach_inferior_exit (ada_inferior_exit);
+  gdb::observers::new_objfile.attach (ada_new_objfile_observer);
+  gdb::observers::free_objfile.attach (ada_free_objfile_observer);
+  gdb::observers::inferior_exit.attach (ada_inferior_exit);
 
   /* Setup various context-specific data.  */
   ada_inferior_data
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-lang.h ./gdb/ada-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-lang.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ada-lang.h	2018-07-10 02:06:12.000000000 +0000
@@ -166,8 +166,6 @@ extern int ada_get_field_index (const st
 
 extern int ada_parse (struct parser_state *);    /* Defined in ada-exp.y */
 
-extern void ada_yyerror (const char *); /* Defined in ada-exp.y */
-
                         /* Defined in ada-typeprint.c */
 extern void ada_print_type (struct type *, const char *, struct ui_file *, int,
                             int, const struct type_print_options *);
@@ -232,7 +230,8 @@ extern const char *ada_decode (const cha
 extern enum language ada_update_initial_language (enum language);
 
 extern int ada_lookup_symbol_list (const char *, const struct block *,
-                                   domain_enum, struct block_symbol**);
+                                   domain_enum,
+				   std::vector<struct block_symbol> *);
 
 extern char *ada_fold_name (const char *);
 
@@ -375,12 +374,10 @@ extern char *ada_breakpoint_rewrite (cha
 
 extern char *ada_main_name (void);
 
-extern std::string ada_name_for_lookup (const char *name);
-
 extern void create_ada_exception_catchpoint
   (struct gdbarch *gdbarch, enum ada_exception_catchpoint_kind ex_kind,
-   char *excep_string, char *cond_string, int tempflag, int disabled,
-   int from_tty);
+   const std::string &excep_string, const std::string &cond_string, int tempflag,
+   int disabled, int from_tty);
 
 /* Some information about a given Ada exception.  */
 
@@ -404,7 +401,7 @@ extern int valid_task_id (int);
 
 extern struct ada_task_info *ada_get_task_info_from_ptid (ptid_t ptid);
 
-extern int ada_get_task_number (ptid_t);
+extern int ada_get_task_number (thread_info *thread);
 
 typedef void (ada_task_list_iterator_ftype) (struct ada_task_info *task);
 extern void iterate_over_live_ada_tasks
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-lex.c ./gdb/ada-lex.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-lex.c	2018-07-03 02:10:17.000000000 +0000
+++ ./gdb/ada-lex.c	2018-07-10 02:10:05.000000000 +0000
@@ -1,6 +1,5 @@
-#line 2 "ada-lex.c"
 
-#line 4 "ada-lex.c"
+#line 3 "<stdout>"
 
 #define  YY_INT_ALIGNED short int
 
@@ -835,7 +834,7 @@ char *yytext;
 /* (ada-lval), defined by the parser.   */
 #line 43 "ada-lex.l"
 
-#include "common/diagnostics.h"
+#include "diagnostics.h"
 
 /* Some old versions of flex generate code that uses the "register" keyword,
    which clang warns about.  This was observed for example with flex 2.5.35,
@@ -879,7 +878,7 @@ static void rewind_to_char (int);
 static int find_dot_all (const char *);
 
 
-#line 883 "ada-lex.c"
+#line 882 "<stdout>"
 
 #define INITIAL 0
 #define BEFORE_QUAL_QUOTE 1
@@ -1065,7 +1064,7 @@ YY_DECL
 #line 93 "ada-lex.l"
 
 
-#line 1069 "ada-lex.c"
+#line 1068 "<stdout>"
 
 	if ( !(yy_init) )
 		{
@@ -1536,7 +1535,7 @@ YY_RULE_SETUP
 #line 299 "ada-lex.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 1540 "ada-lex.c"
+#line 1539 "<stdout>"
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(BEFORE_QUAL_QUOTE):
 	yyterminate();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-lex.l ./gdb/ada-lex.l
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-lex.l	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ada-lex.l	2018-07-10 02:06:12.000000000 +0000
@@ -41,7 +41,7 @@ POSEXP  (e"+"?{NUM10})
 
 %{
 
-#include "common/diagnostics.h"
+#include "diagnostics.h"
 
 /* Some old versions of flex generate code that uses the "register" keyword,
    which clang warns about.  This was observed for example with flex 2.5.35,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-tasks.c ./gdb/ada-tasks.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-tasks.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ada-tasks.c	2018-07-10 02:06:12.000000000 +0000
@@ -16,7 +16,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "observer.h"
+#include "observable.h"
 #include "gdbcmd.h"
 #include "target.h"
 #include "ada-lang.h"
@@ -288,22 +288,21 @@ get_ada_tasks_inferior_data (struct infe
   return data;
 }
 
-/* Return the task number of the task whose ptid is PTID, or zero
+/* Return the task number of the task whose thread is THREAD, or zero
    if the task could not be found.  */
 
 int
-ada_get_task_number (ptid_t ptid)
+ada_get_task_number (thread_info *thread)
 {
   int i;
-  struct inferior *inf = find_inferior_ptid (ptid);
+  struct inferior *inf = thread->inf;
   struct ada_tasks_inferior_data *data;
 
   gdb_assert (inf != NULL);
   data = get_ada_tasks_inferior_data (inf);
 
   for (i = 0; i < VEC_length (ada_task_info_s, data->task_list); i++)
-    if (ptid_equal (VEC_index (ada_task_info_s, data->task_list, i)->ptid,
-		    ptid))
+    if (VEC_index (ada_task_info_s, data->task_list, i)->ptid == thread->ptid)
       return i + 1;
 
   return 0;  /* No matching task found.  */
@@ -370,7 +369,7 @@ ada_get_task_info_from_ptid (ptid_t ptid
   for (i = 0; i < nb_tasks; i++)
     {
       task = VEC_index (ada_task_info_s, data->task_list, i);
-      if (ptid_equal (task->ptid, ptid))
+      if (task->ptid == ptid)
 	return task;
     }
 
@@ -1111,7 +1110,7 @@ print_ada_task_info (struct ui_out *uiou
 
       /* Print a star if this task is the current task (or the task
          currently selected).  */
-      if (ptid_equal (task_info->ptid, inferior_ptid))
+      if (task_info->ptid == inferior_ptid)
 	uiout->field_string ("current", "*");
       else
 	uiout->field_skip ("current");
@@ -1125,10 +1124,10 @@ print_ada_task_info (struct ui_out *uiou
       /* Print the associated Thread ID.  */
       if (uiout->is_mi_like_p ())
         {
-	  const int thread_id = ptid_to_global_thread_id (task_info->ptid);
+	  thread_info *thread = find_thread_ptid (task_info->ptid);
 
-	  if (thread_id != 0)
-	    uiout->field_int ("thread-id", thread_id);
+	  if (thread != NULL)
+	    uiout->field_int ("thread-id", thread->global_num);
 	  else
 	    /* This should never happen unless there is a bug somewhere,
 	       but be resilient when that happens.  */
@@ -1203,8 +1202,8 @@ info_task (struct ui_out *uiout, const c
     printf_filtered (_("<no name>\n"));
 
   /* Print the TID and LWP.  */
-  printf_filtered (_("Thread: %#lx\n"), ptid_get_tid (task_info->ptid));
-  printf_filtered (_("LWP: %#lx\n"), ptid_get_lwp (task_info->ptid));
+  printf_filtered (_("Thread: %#lx\n"), task_info->ptid.tid ());
+  printf_filtered (_("LWP: %#lx\n"), task_info->ptid.lwp ());
 
   /* If set, print the base CPU.  */
   if (task_info->base_cpu != 0)
@@ -1284,7 +1283,7 @@ info_tasks_command (const char *arg, int
 static void
 display_current_task_id (void)
 {
-  const int current_task = ada_get_task_number (inferior_ptid);
+  const int current_task = ada_get_task_number (inferior_thread ());
 
   if (current_task == 0)
     printf_filtered (_("[Current task is unknown]\n"));
@@ -1327,12 +1326,13 @@ task_command_1 (const char *taskno_str, 
      computed if target_get_ada_task_ptid has not been implemented for
      our target (yet).  Rather than cause an assertion error in that case,
      it's nicer for the user to just refuse to perform the task switch.  */
-  if (!find_thread_ptid (task_info->ptid))
+  thread_info *tp = find_thread_ptid (task_info->ptid);
+  if (tp == NULL)
     error (_("Unable to compute thread ID for task %d.\n"
              "Cannot switch to this task."),
            taskno);
 
-  switch_to_thread (task_info->ptid);
+  switch_to_thread (tp);
   ada_find_printable_frame (get_selected_frame (NULL));
   printf_filtered (_("[Switching to task %d]\n"), taskno);
   print_stack_frame (get_selected_frame (NULL),
@@ -1444,8 +1444,8 @@ _initialize_tasks (void)
   ada_tasks_inferior_data_handle = register_inferior_data ();
 
   /* Attach various observers.  */
-  observer_attach_normal_stop (ada_tasks_normal_stop_observer);
-  observer_attach_new_objfile (ada_tasks_new_objfile_observer);
+  gdb::observers::normal_stop.attach (ada_tasks_normal_stop_observer);
+  gdb::observers::new_objfile.attach (ada_tasks_new_objfile_observer);
 
   /* Some new commands provided by this module.  */
   add_info ("tasks", info_tasks_command,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-valprint.c ./gdb/ada-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-valprint.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ada-valprint.c	2018-07-10 02:06:12.000000000 +0000
@@ -88,9 +88,11 @@ print_optional_low_bound (struct ui_file
       index_type = TYPE_TARGET_TYPE (index_type);
     }
 
+  /* Don't print the lower bound if it's the default one.  */
   switch (TYPE_CODE (index_type))
     {
     case TYPE_CODE_BOOL:
+    case TYPE_CODE_CHAR:
       if (low_bound == 0)
 	return 0;
       break;
@@ -139,11 +141,45 @@ val_print_packed_array_elements (struct 
 
   {
     LONGEST high;
+    struct type *base_index_type;
 
     if (get_discrete_bounds (index_type, &low, &high) < 0)
       len = 1;
     else
       len = high - low + 1;
+
+    if (TYPE_CODE (index_type) == TYPE_CODE_RANGE)
+        base_index_type = TYPE_TARGET_TYPE (index_type);
+      else
+        base_index_type = index_type;
+
+    if (TYPE_CODE (base_index_type) == TYPE_CODE_ENUM)
+      {
+        LONGEST low_pos, high_pos;
+
+        /* Non-contiguous enumerations types can by used as index types
+           so the array length is computed from the positions of the
+           first and last literal in the enumeration type, and not from
+           the values of these literals.  */
+
+        if (!discrete_position (base_index_type, low, &low_pos)
+          || !discrete_position (base_index_type, high, &high_pos))
+          {
+            warning (_("unable to get positions in array, use bounds instead"));
+            low_pos = low;
+            high_pos = high;
+          }
+
+        /* The array length should normally be HIGH_POS - LOW_POS + 1.
+           But in Ada we allow LOW_POS to be greater than HIGH_POS for
+           empty arrays.  In that situation, the array length is just zero,
+           not negative!  */
+
+        if (low_pos > high_pos)
+          len = 0;
+        else
+          len = high_pos - low_pos + 1;
+      }
   }
 
   i = 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.1.0.20180703/gdb/ada-varobj.c ./gdb/ada-varobj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ada-varobj.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ada-varobj.c	2018-07-10 02:06:12.000000000 +0000
@@ -872,7 +872,7 @@ ada_varobj_get_value_of_variable (struct
 static int
 ada_number_of_children (const struct varobj *var)
 {
-  return ada_varobj_get_number_of_children (var->value, var->type);
+  return ada_varobj_get_number_of_children (var->value.get (), var->type);
 }
 
 static std::string
@@ -884,7 +884,7 @@ ada_name_of_variable (const struct varob
 static std::string
 ada_name_of_child (const struct varobj *parent, int index)
 {
-  return ada_varobj_get_name_of_child (parent->value, parent->type,
+  return ada_varobj_get_name_of_child (parent->value.get (), parent->type,
 				       parent->name.c_str (), index);
 }
 
@@ -894,7 +894,7 @@ ada_path_expr_of_child (const struct var
   const struct varobj *parent = child->parent;
   const char *parent_path_expr = varobj_get_path_expr (parent);
 
-  return ada_varobj_get_path_expr_of_child (parent->value,
+  return ada_varobj_get_path_expr_of_child (parent->value.get (),
 					    parent->type,
 					    parent->name.c_str (),
 					    parent_path_expr,
@@ -904,14 +904,14 @@ ada_path_expr_of_child (const struct var
 static struct value *
 ada_value_of_child (const struct varobj *parent, int index)
 {
-  return ada_varobj_get_value_of_child (parent->value, parent->type,
+  return ada_varobj_get_value_of_child (parent->value.get (), parent->type,
 					parent->name.c_str (), index);
 }
 
 static struct type *
 ada_type_of_child (const struct varobj *parent, int index)
 {
-  return ada_varobj_get_type_of_child (parent->value, parent->type,
+  return ada_varobj_get_type_of_child (parent->value.get (), parent->type,
 				       index);
 }
 
@@ -923,7 +923,8 @@ ada_value_of_variable (const struct varo
 
   varobj_formatted_print_options (&opts, format);
 
-  return ada_varobj_get_value_of_variable (var->value, var->type, &opts);
+  return ada_varobj_get_value_of_variable (var->value.get (), var->type,
+					   &opts);
 }
 
 /* Implement the "value_is_changeable_p" routine for Ada.  */
@@ -931,7 +932,8 @@ ada_value_of_variable (const struct varo
 static bool
 ada_value_is_changeable_p (const struct varobj *var)
 {
-  struct type *type = var->value ? value_type (var->value) : var->type;
+  struct type *type = (var->value != nullptr
+		       ? value_type (var->value.get ()) : var->type);
 
   if (ada_is_array_descriptor_type (type)
       && TYPE_CODE (type) == TYPE_CODE_TYPEDEF)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/agent.c ./gdb/agent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/agent.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/agent.c	2018-07-10 02:06:12.000000000 +0000
@@ -51,7 +51,7 @@ set_can_use_agent (const char *args, int
     can_use_agent = can_use_agent_off;
 }
 
-#include "observer.h"
+#include "observable.h"
 #include "objfiles.h"
 
 static void
@@ -66,7 +66,7 @@ agent_new_objfile (struct objfile *objfi
 void
 _initialize_agent (void)
 {
-  observer_attach_new_objfile (agent_new_objfile);
+  gdb::observers::new_objfile.attach (agent_new_objfile);
 
   add_setshow_enum_cmd ("agent", class_run,
 			can_use_agent_enum,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aix-thread.c ./gdb/aix-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/aix-thread.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/aix-thread.c	2018-07-10 02:06:12.000000000 +0000
@@ -46,7 +46,7 @@
 #include "regcache.h"
 #include "gdbcmd.h"
 #include "ppc-tdep.h"
-#include "observer.h"
+#include "observable.h"
 #include "objfiles.h"
 
 #include <procinfo.h>
@@ -70,7 +70,7 @@ static int debug_aix_thread;
 
 /* Return whether to treat PID as a debuggable thread id.  */
 
-#define PD_TID(ptid)	(pd_active && ptid_get_tid (ptid) != 0)
+#define PD_TID(ptid)	(pd_active && ptid.tid () != 0)
 
 /* pthdb_user_t value that we pass to pthdb functions.  0 causes
    PTHDB_BAD_USER errors, so use 1.  */
@@ -108,7 +108,47 @@ struct pd_thread {
 
 /* This module's target-specific operations, active while pd_able is true.  */
 
-static struct target_ops aix_thread_ops;
+static const target_info aix_thread_target_info = {
+  "aix-threads",
+  N_("AIX pthread support"),
+  N_("AIX pthread support")
+};
+
+class aix_thread_target final : public target_ops
+{
+public:
+  aix_thread_target ()
+  { to_stratum = thread_stratum; }
+
+  const target_info &info () const override
+  { return aix_thread_target_info; }
+
+  void detach (inferior *, int) override;
+  void resume (ptid_t, int, enum gdb_signal) override;
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  void mourn_inferior () override;
+
+  bool thread_alive (ptid_t ptid) override;
+
+  const char *pid_to_str (ptid_t) override;
+
+  const char *extra_thread_info (struct thread_info *) override;
+
+  ptid_t get_ada_task_ptid (long lwp, long thread) override;
+};
+
+static aix_thread_target aix_thread_ops;
 
 /* Address of the function that libpthread will call when libpthdebug
    is ready to be initialized.  */
@@ -285,7 +325,7 @@ pid_to_prc (ptid_t *ptidp)
 
   ptid = *ptidp;
   if (PD_TID (ptid))
-    *ptidp = pid_to_ptid (ptid_get_pid (ptid));
+    *ptidp = ptid_t (ptid.pid ());
 }
 
 /* pthdb callback: for <i> from 0 to COUNT, set SYMBOLS[<i>].addr to
@@ -633,17 +673,17 @@ ptid_cmp (ptid_t ptid1, ptid_t ptid2)
 {
   int pid1, pid2;
 
-  if (ptid_get_pid (ptid1) < ptid_get_pid (ptid2))
+  if (ptid1.pid () < ptid2.pid ())
     return -1;
-  else if (ptid_get_pid (ptid1) > ptid_get_pid (ptid2))
+  else if (ptid1.pid () > ptid2.pid ())
     return 1;
-  else if (ptid_get_tid (ptid1) < ptid_get_tid (ptid2))
+  else if (ptid1.tid () < ptid2.tid ())
     return -1;
-  else if (ptid_get_tid (ptid1) > ptid_get_tid (ptid2))
+  else if (ptid1.tid () > ptid2.tid ())
     return 1;
-  else if (ptid_get_lwp (ptid1) < ptid_get_lwp (ptid2))
+  else if (ptid1.lwp () < ptid2.lwp ())
     return -1;
-  else if (ptid_get_lwp (ptid1) > ptid_get_lwp (ptid2))
+  else if (ptid1.lwp () > ptid2.lwp ())
     return 1;
   else
     return 0;
@@ -672,7 +712,7 @@ get_signaled_thread (void)
 
   while (1)
   {
-    if (getthrds (ptid_get_pid (inferior_ptid), &thrinf, 
+    if (getthrds (inferior_ptid.pid (), &thrinf, 
           	  sizeof (thrinf), &ktid, 1) != 1)
       break;
 
@@ -755,12 +795,12 @@ sync_threadlists (void)
 
   /* Apply differences between the two arrays to GDB's thread list.  */
 
-  infpid = ptid_get_pid (inferior_ptid);
+  infpid = inferior_ptid.pid ();
   for (pi = gi = 0; pi < pcount || gi < gcount;)
     {
       if (pi == pcount)
 	{
-	  delete_thread (gbuf[gi]->ptid);
+	  delete_thread (gbuf[gi]);
 	  gi++;
 	}
       else if (gi == gcount)
@@ -778,7 +818,7 @@ sync_threadlists (void)
 	  ptid_t pptid, gptid;
 	  int cmp_result;
 
-	  pptid = ptid_build (infpid, 0, pbuf[pi].pthid);
+	  pptid = ptid_t (infpid, 0, pbuf[pi].pthid);
 	  gptid = gbuf[gi]->ptid;
 	  pdtid = pbuf[pi].pdtid;
 	  tid = pbuf[pi].tid;
@@ -796,7 +836,7 @@ sync_threadlists (void)
 	    }
 	  else if (cmp_result > 0)
 	    {
-	      delete_thread (gptid);
+	      delete_thread (gbuf[gi]);
 	      gi++;
 	    }
 	  else
@@ -980,21 +1020,20 @@ aix_thread_inferior_created (struct targ
 
 /* Detach from the process attached to by aix_thread_attach().  */
 
-static void
-aix_thread_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+aix_thread_target::detach (inferior *inf, int from_tty)
 {
-  struct target_ops *beneath = find_target_beneath (ops);
+  target_ops *beneath = this->beneath ();
 
   pd_disable ();
-  beneath->to_detach (beneath, args, from_tty);
+  beneath->detach (inf, from_tty);
 }
 
 /* Tell the inferior process to continue running thread PID if != -1
    and all threads otherwise.  */
 
-static void
-aix_thread_resume (struct target_ops *ops,
-                   ptid_t ptid, int step, enum gdb_signal sig)
+void
+aix_thread_target::resume (ptid_t ptid, int step, enum gdb_signal sig)
 {
   struct thread_info *thread;
   pthdb_tid_t tid[2];
@@ -1002,24 +1041,23 @@ aix_thread_resume (struct target_ops *op
   if (!PD_TID (ptid))
     {
       scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
-      struct target_ops *beneath = find_target_beneath (ops);
       
-      inferior_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
-      beneath->to_resume (beneath, ptid, step, sig);
+      inferior_ptid = ptid_t (inferior_ptid.pid ());
+      beneath ()->resume (ptid, step, sig);
     }
   else
     {
       thread = find_thread_ptid (ptid);
       if (!thread)
 	error (_("aix-thread resume: unknown pthread %ld"),
-	       ptid_get_lwp (ptid));
+	       ptid.lwp ());
 
       aix_thread_info *priv = get_aix_thread_info (thread);
 
       tid[0] = priv->tid;
       if (tid[0] == PTHDB_INVALID_TID)
 	error (_("aix-thread resume: no tid for pthread %ld"),
-	       ptid_get_lwp (ptid));
+	       ptid.lwp ());
       tid[1] = 0;
 
       if (arch64)
@@ -1035,23 +1073,21 @@ aix_thread_resume (struct target_ops *op
    If an error occurs, return -1, else return the pid of the stopped
    thread.  */
 
-static ptid_t
-aix_thread_wait (struct target_ops *ops,
-		 ptid_t ptid, struct target_waitstatus *status, int options)
+ptid_t
+aix_thread_target::wait (ptid_t ptid, struct target_waitstatus *status,
+			 int options)
 {
-  struct target_ops *beneath = find_target_beneath (ops);
-
   {
     scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
 
     pid_to_prc (&ptid);
 
-    inferior_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
-    ptid = beneath->to_wait (beneath, ptid, status, options);
+    inferior_ptid = ptid_t (inferior_ptid.pid ());
+    ptid = beneath ()->wait (ptid, status, options);
   }
 
-  if (ptid_get_pid (ptid) == -1)
-    return pid_to_ptid (-1);
+  if (ptid.pid () == -1)
+    return ptid_t (-1);
 
   /* Check whether libpthdebug might be ready to be initialized.  */
   if (!pd_active && status->kind == TARGET_WAITKIND_STOPPED
@@ -1077,8 +1113,8 @@ supply_gprs64 (struct regcache *regcache
   int regno;
 
   for (regno = 0; regno < ppc_num_gprs; regno++)
-    regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + regno,
-			 (char *) (vals + regno));
+    regcache->raw_supply (tdep->ppc_gp0_regnum + regno,
+			  (char *) (vals + regno));
 }
 
 /* Record that 32-bit register REGNO contains VAL.  */
@@ -1086,7 +1122,7 @@ supply_gprs64 (struct regcache *regcache
 static void
 supply_reg32 (struct regcache *regcache, int regno, uint32_t val)
 {
-  regcache_raw_supply (regcache, regno, (char *) &val);
+  regcache->raw_supply (regno, (char *) &val);
 }
 
 /* Record that the floating-point registers contain VALS.  */
@@ -1105,8 +1141,8 @@ supply_fprs (struct regcache *regcache, 
   for (regno = tdep->ppc_fp0_regnum;
        regno < tdep->ppc_fp0_regnum + ppc_num_fprs;
        regno++)
-    regcache_raw_supply (regcache, regno,
-			 (char *) (vals + regno - tdep->ppc_fp0_regnum));
+    regcache->raw_supply (regno,
+			  (char *) (vals + regno - tdep->ppc_fp0_regnum));
 }
 
 /* Predicate to test whether given register number is a "special" register.  */
@@ -1138,16 +1174,14 @@ supply_sprs64 (struct regcache *regcache
   struct gdbarch *gdbarch = regcache->arch ();
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
-  regcache_raw_supply (regcache, gdbarch_pc_regnum (gdbarch),
-		       (char *) &iar);
-  regcache_raw_supply (regcache, tdep->ppc_ps_regnum, (char *) &msr);
-  regcache_raw_supply (regcache, tdep->ppc_cr_regnum, (char *) &cr);
-  regcache_raw_supply (regcache, tdep->ppc_lr_regnum, (char *) &lr);
-  regcache_raw_supply (regcache, tdep->ppc_ctr_regnum, (char *) &ctr);
-  regcache_raw_supply (regcache, tdep->ppc_xer_regnum, (char *) &xer);
+  regcache->raw_supply (gdbarch_pc_regnum (gdbarch), (char *) &iar);
+  regcache->raw_supply (tdep->ppc_ps_regnum, (char *) &msr);
+  regcache->raw_supply (tdep->ppc_cr_regnum, (char *) &cr);
+  regcache->raw_supply (tdep->ppc_lr_regnum, (char *) &lr);
+  regcache->raw_supply (tdep->ppc_ctr_regnum, (char *) &ctr);
+  regcache->raw_supply (tdep->ppc_xer_regnum, (char *) &xer);
   if (tdep->ppc_fpscr_regnum >= 0)
-    regcache_raw_supply (regcache, tdep->ppc_fpscr_regnum,
-			 (char *) &fpscr);
+    regcache->raw_supply (tdep->ppc_fpscr_regnum, (char *) &fpscr);
 }
 
 /* Record that the special registers contain the specified 32-bit
@@ -1162,16 +1196,14 @@ supply_sprs32 (struct regcache *regcache
   struct gdbarch *gdbarch = regcache->arch ();
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
-  regcache_raw_supply (regcache, gdbarch_pc_regnum (gdbarch),
-		       (char *) &iar);
-  regcache_raw_supply (regcache, tdep->ppc_ps_regnum, (char *) &msr);
-  regcache_raw_supply (regcache, tdep->ppc_cr_regnum, (char *) &cr);
-  regcache_raw_supply (regcache, tdep->ppc_lr_regnum, (char *) &lr);
-  regcache_raw_supply (regcache, tdep->ppc_ctr_regnum, (char *) &ctr);
-  regcache_raw_supply (regcache, tdep->ppc_xer_regnum, (char *) &xer);
+  regcache->raw_supply (gdbarch_pc_regnum (gdbarch), (char *) &iar);
+  regcache->raw_supply (tdep->ppc_ps_regnum, (char *) &msr);
+  regcache->raw_supply (tdep->ppc_cr_regnum, (char *) &cr);
+  regcache->raw_supply (tdep->ppc_lr_regnum, (char *) &lr);
+  regcache->raw_supply (tdep->ppc_ctr_regnum, (char *) &ctr);
+  regcache->raw_supply (tdep->ppc_xer_regnum, (char *) &xer);
   if (tdep->ppc_fpscr_regnum >= 0)
-    regcache_raw_supply (regcache, tdep->ppc_fpscr_regnum,
-			 (char *) &fpscr);
+    regcache->raw_supply (tdep->ppc_fpscr_regnum, (char *) &fpscr);
 }
 
 /* Fetch all registers from pthread PDTID, which doesn't have a kernel
@@ -1310,8 +1342,7 @@ fetch_regs_kernel_thread (struct regcach
 			 sprs32.pt_fpscr);
 
 	  if (tdep->ppc_mq_regnum >= 0)
-	    regcache_raw_supply (regcache, tdep->ppc_mq_regnum,
-				 (char *) &sprs32.pt_mq);
+	    regcache->raw_supply (tdep->ppc_mq_regnum, (char *) &sprs32.pt_mq);
 	}
     }
 }
@@ -1319,19 +1350,17 @@ fetch_regs_kernel_thread (struct regcach
 /* Fetch register REGNO if != -1 or all registers otherwise from the
    thread/process connected to REGCACHE.  */
 
-static void
-aix_thread_fetch_registers (struct target_ops *ops,
-                            struct regcache *regcache, int regno)
+void
+aix_thread_target::fetch_registers (struct regcache *regcache, int regno)
 {
   struct thread_info *thread;
   pthdb_tid_t tid;
-  struct target_ops *beneath = find_target_beneath (ops);
 
-  if (!PD_TID (regcache_get_ptid (regcache)))
-    beneath->to_fetch_registers (beneath, regcache, regno);
+  if (!PD_TID (regcache->ptid ()))
+    beneath ()->fetch_registers (regcache, regno);
   else
     {
-      thread = find_thread_ptid (regcache_get_ptid (regcache));
+      thread = find_thread_ptid (regcache->ptid ());
       aix_thread_info *priv = get_aix_thread_info (thread);
       tid = priv->tid;
 
@@ -1351,10 +1380,9 @@ fill_gprs64 (const struct regcache *regc
   int regno;
 
   for (regno = 0; regno < ppc_num_gprs; regno++)
-    if (REG_VALID == regcache_register_status (regcache,
-					       tdep->ppc_gp0_regnum + regno))
-      regcache_raw_collect (regcache, tdep->ppc_gp0_regnum + regno,
-			    vals + regno);
+    if (REG_VALID == regcache->get_register_status
+		       (tdep->ppc_gp0_regnum + regno))
+      regcache->raw_collect (tdep->ppc_gp0_regnum + regno, vals + regno);
 }
 
 static void 
@@ -1364,10 +1392,9 @@ fill_gprs32 (const struct regcache *regc
   int regno;
 
   for (regno = 0; regno < ppc_num_gprs; regno++)
-    if (REG_VALID == regcache_register_status (regcache,
-					       tdep->ppc_gp0_regnum + regno))
-      regcache_raw_collect (regcache, tdep->ppc_gp0_regnum + regno,
-			    vals + regno);
+    if (REG_VALID == regcache->get_register_status
+		       (tdep->ppc_gp0_regnum + regno))
+      regcache->raw_collect (tdep->ppc_gp0_regnum + regno, vals + regno);
 }
 
 /* Store the floating point registers into a double array.  */
@@ -1385,9 +1412,8 @@ fill_fprs (const struct regcache *regcac
   for (regno = tdep->ppc_fp0_regnum;
        regno < tdep->ppc_fp0_regnum + ppc_num_fprs;
        regno++)
-    if (REG_VALID == regcache_register_status (regcache, regno))
-      regcache_raw_collect (regcache, regno,
-			    vals + regno - tdep->ppc_fp0_regnum);
+    if (REG_VALID == regcache->get_register_status (regno))
+      regcache->raw_collect (regno, vals + regno - tdep->ppc_fp0_regnum);
 }
 
 /* Store the special registers into the specified 64-bit and 32-bit
@@ -1410,23 +1436,21 @@ fill_sprs64 (const struct regcache *regc
   gdb_assert (sizeof (*iar) == register_size
 				 (gdbarch, gdbarch_pc_regnum (gdbarch)));
 
-  if (REG_VALID == regcache_register_status (regcache,
-					     gdbarch_pc_regnum (gdbarch)))
-    regcache_raw_collect (regcache, gdbarch_pc_regnum (gdbarch), iar);
-  if (REG_VALID == regcache_register_status (regcache, tdep->ppc_ps_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_ps_regnum, msr);
-  if (REG_VALID == regcache_register_status (regcache, tdep->ppc_cr_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_cr_regnum, cr);
-  if (REG_VALID == regcache_register_status (regcache, tdep->ppc_lr_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_lr_regnum, lr);
-  if (REG_VALID == regcache_register_status (regcache, tdep->ppc_ctr_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_ctr_regnum, ctr);
-  if (REG_VALID == regcache_register_status (regcache, tdep->ppc_xer_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_xer_regnum, xer);
+  if (REG_VALID == regcache->get_register_status (gdbarch_pc_regnum (gdbarch)))
+    regcache->raw_collect (gdbarch_pc_regnum (gdbarch), iar);
+  if (REG_VALID == regcache->get_register_status (tdep->ppc_ps_regnum))
+    regcache->raw_collect (tdep->ppc_ps_regnum, msr);
+  if (REG_VALID == regcache->get_register_status (tdep->ppc_cr_regnum))
+    regcache->raw_collect (tdep->ppc_cr_regnum, cr);
+  if (REG_VALID == regcache->get_register_status (tdep->ppc_lr_regnum))
+    regcache->raw_collect (tdep->ppc_lr_regnum, lr);
+  if (REG_VALID == regcache->get_register_status (tdep->ppc_ctr_regnum))
+    regcache->raw_collect (tdep->ppc_ctr_regnum, ctr);
+  if (REG_VALID == regcache->get_register_status (tdep->ppc_xer_regnum))
+    regcache->raw_collect (tdep->ppc_xer_regnum, xer);
   if (tdep->ppc_fpscr_regnum >= 0
-      && REG_VALID == regcache_register_status (regcache,
-						tdep->ppc_fpscr_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_fpscr_regnum, fpscr);
+      && REG_VALID == regcache->get_register_status (tdep->ppc_fpscr_regnum))
+    regcache->raw_collect (tdep->ppc_fpscr_regnum, fpscr);
 }
 
 static void
@@ -1446,22 +1470,21 @@ fill_sprs32 (const struct regcache *regc
   gdb_assert (sizeof (*iar) == register_size (gdbarch,
 					      gdbarch_pc_regnum (gdbarch)));
 
-  if (REG_VALID == regcache_register_status (regcache,
-					     gdbarch_pc_regnum (gdbarch)))
-    regcache_raw_collect (regcache, gdbarch_pc_regnum (gdbarch), iar);
-  if (REG_VALID == regcache_register_status (regcache, tdep->ppc_ps_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_ps_regnum, msr);
-  if (REG_VALID == regcache_register_status (regcache, tdep->ppc_cr_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_cr_regnum, cr);
-  if (REG_VALID == regcache_register_status (regcache, tdep->ppc_lr_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_lr_regnum, lr);
-  if (REG_VALID == regcache_register_status (regcache, tdep->ppc_ctr_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_ctr_regnum, ctr);
-  if (REG_VALID == regcache_register_status (regcache, tdep->ppc_xer_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_xer_regnum, xer);
+  if (REG_VALID == regcache->get_register_status (gdbarch_pc_regnum (gdbarch)))
+    regcache->raw_collect (gdbarch_pc_regnum (gdbarch), iar);
+  if (REG_VALID == regcache->get_register_status (tdep->ppc_ps_regnum))
+    regcache->raw_collect (tdep->ppc_ps_regnum, msr);
+  if (REG_VALID == regcache->get_register_status (tdep->ppc_cr_regnum))
+    regcache->raw_collect (tdep->ppc_cr_regnum, cr);
+  if (REG_VALID == regcache->get_register_status (tdep->ppc_lr_regnum))
+    regcache->raw_collect (tdep->ppc_lr_regnum, lr);
+  if (REG_VALID == regcache->get_register_status (tdep->ppc_ctr_regnum))
+    regcache->raw_collect (tdep->ppc_ctr_regnum, ctr);
+  if (REG_VALID == regcache->get_register_status (tdep->ppc_xer_regnum))
+    regcache->raw_collect (tdep->ppc_xer_regnum, xer);
   if (tdep->ppc_fpscr_regnum >= 0
-      && REG_VALID == regcache_register_status (regcache, tdep->ppc_fpscr_regnum))
-    regcache_raw_collect (regcache, tdep->ppc_fpscr_regnum, fpscr);
+      && REG_VALID == regcache->get_register_status (tdep->ppc_fpscr_regnum))
+    regcache->raw_collect (tdep->ppc_fpscr_regnum, fpscr);
 }
 
 /* Store all registers into pthread PDTID, which doesn't have a kernel
@@ -1495,19 +1518,16 @@ store_regs_user_thread (const struct reg
   /* Collect general-purpose register values from the regcache.  */
 
   for (i = 0; i < ppc_num_gprs; i++)
-    if (REG_VALID == regcache_register_status (regcache,
-					       tdep->ppc_gp0_regnum + i))
+    if (REG_VALID == regcache->get_register_status (tdep->ppc_gp0_regnum + i))
       {
 	if (arch64)
 	  {
-	    regcache_raw_collect (regcache, tdep->ppc_gp0_regnum + i,
-				  (void *) &int64);
+	    regcache->raw_collect (tdep->ppc_gp0_regnum + i, (void *) &int64);
 	    ctx.gpr[i] = int64;
 	  }
 	else
 	  {
-	    regcache_raw_collect (regcache, tdep->ppc_gp0_regnum + i,
-				  (void *) &int32);
+	    regcache->raw_collect (tdep->ppc_gp0_regnum + i, (void *) &int32);
 	    ctx.gpr[i] = int32;
 	  }
       }
@@ -1531,23 +1551,20 @@ store_regs_user_thread (const struct reg
 
       fill_sprs32 (regcache, &tmp_iar, &tmp_msr, &tmp_cr, &tmp_lr, &tmp_ctr,
 			     &tmp_xer, &tmp_fpscr);
-      if (REG_VALID == regcache_register_status (regcache,
-						 gdbarch_pc_regnum (gdbarch)))
+      if (REG_VALID == regcache->get_register_status
+			 (gdbarch_pc_regnum (gdbarch)))
 	ctx.iar = tmp_iar;
-      if (REG_VALID == regcache_register_status (regcache, tdep->ppc_ps_regnum))
+      if (REG_VALID == regcache->get_register_status (tdep->ppc_ps_regnum))
 	ctx.msr = tmp_msr;
-      if (REG_VALID == regcache_register_status (regcache, tdep->ppc_cr_regnum))
+      if (REG_VALID == regcache->get_register_status (tdep->ppc_cr_regnum))
 	ctx.cr  = tmp_cr;
-      if (REG_VALID == regcache_register_status (regcache, tdep->ppc_lr_regnum))
+      if (REG_VALID == regcache->get_register_status (tdep->ppc_lr_regnum))
 	ctx.lr  = tmp_lr;
-      if (REG_VALID == regcache_register_status (regcache,
-						 tdep->ppc_ctr_regnum))
+      if (REG_VALID == regcache->get_register_status (tdep->ppc_ctr_regnum))
 	ctx.ctr = tmp_ctr;
-      if (REG_VALID == regcache_register_status (regcache,
-						 tdep->ppc_xer_regnum))
+      if (REG_VALID == regcache->get_register_status (tdep->ppc_xer_regnum))
 	ctx.xer = tmp_xer;
-      if (REG_VALID == regcache_register_status (regcache,
-						 tdep->ppc_xer_regnum))
+      if (REG_VALID == regcache->get_register_status (tdep->ppc_xer_regnum))
 	ctx.fpscr = tmp_fpscr;
     }
 
@@ -1661,10 +1678,9 @@ store_regs_kernel_thread (const struct r
 	  sprs32.pt_fpscr = tmp_fpscr;
 
 	  if (tdep->ppc_mq_regnum >= 0)
-	    if (REG_VALID == regcache_register_status (regcache,
-						       tdep->ppc_mq_regnum))
-	      regcache_raw_collect (regcache, tdep->ppc_mq_regnum,
-				    &sprs32.pt_mq);
+	    if (REG_VALID == regcache->get_register_status
+			       (tdep->ppc_mq_regnum))
+	      regcache->raw_collect (tdep->ppc_mq_regnum, &sprs32.pt_mq);
 
 	  ptrace32 (PTT_WRITE_SPRS, tid, (uintptr_t) &sprs32, 0, NULL);
 	}
@@ -1674,19 +1690,17 @@ store_regs_kernel_thread (const struct r
 /* Store gdb's current view of the register set into the
    thread/process connected to REGCACHE.  */
 
-static void
-aix_thread_store_registers (struct target_ops *ops,
-                            struct regcache *regcache, int regno)
+void
+aix_thread_target::store_registers (struct regcache *regcache, int regno)
 {
   struct thread_info *thread;
   pthdb_tid_t tid;
-  struct target_ops *beneath = find_target_beneath (ops);
 
-  if (!PD_TID (regcache_get_ptid (regcache)))
-    beneath->to_store_registers (beneath, regcache, regno);
+  if (!PD_TID (regcache->ptid ()))
+    beneath ()->store_registers (regcache, regno);
   else
     {
-      thread = find_thread_ptid (regcache_get_ptid (regcache));
+      thread = find_thread_ptid (regcache->ptid ());
       aix_thread_info *priv = get_aix_thread_info (thread);
       tid = priv->tid;
 
@@ -1699,40 +1713,38 @@ aix_thread_store_registers (struct targe
 
 /* Implement the to_xfer_partial target_ops method.  */
 
-static enum target_xfer_status
-aix_thread_xfer_partial (struct target_ops *ops, enum target_object object,
-			 const char *annex, gdb_byte *readbuf,
-			 const gdb_byte *writebuf,
-			 ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+aix_thread_target::xfer_partial (enum target_object object,
+				 const char *annex, gdb_byte *readbuf,
+				 const gdb_byte *writebuf,
+				 ULONGEST offset, ULONGEST len,
+				 ULONGEST *xfered_len)
 {
   scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
-  struct target_ops *beneath = find_target_beneath (ops);
 
-  inferior_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
-  return beneath->to_xfer_partial (beneath, object, annex, readbuf,
+  inferior_ptid = ptid_t (inferior_ptid.pid ());
+  return beneath ()->xfer_partial (object, annex, readbuf,
 				   writebuf, offset, len, xfered_len);
 }
 
 /* Clean up after the inferior exits.  */
 
-static void
-aix_thread_mourn_inferior (struct target_ops *ops)
+void
+aix_thread_target::mourn_inferior ()
 {
-  struct target_ops *beneath = find_target_beneath (ops);
+  target_ops *beneath = this->beneath ();
 
   pd_deactivate ();
-  beneath->to_mourn_inferior (beneath);
+  beneath->mourn_inferior ();
 }
 
 /* Return whether thread PID is still valid.  */
 
-static int
-aix_thread_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+aix_thread_target::thread_alive (ptid_t ptid)
 {
-  struct target_ops *beneath = find_target_beneath (ops);
-
   if (!PD_TID (ptid))
-    return beneath->to_thread_alive (beneath, ptid);
+    return beneath ()->thread_alive (ptid);
 
   /* We update the thread list every time the child stops, so all
      valid threads should be in the thread list.  */
@@ -1742,29 +1754,27 @@ aix_thread_thread_alive (struct target_o
 /* Return a printable representation of composite PID for use in
    "info threads" output.  */
 
-static const char *
-aix_thread_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+aix_thread_target::pid_to_str (ptid_t ptid)
 {
   static char *ret = NULL;
-  struct target_ops *beneath = find_target_beneath (ops);
 
   if (!PD_TID (ptid))
-    return beneath->to_pid_to_str (beneath, ptid);
+    return beneath ()->pid_to_str (ptid);
 
   /* Free previous return value; a new one will be allocated by
      xstrprintf().  */
   xfree (ret);
 
-  ret = xstrprintf (_("Thread %ld"), ptid_get_tid (ptid));
+  ret = xstrprintf (_("Thread %ld"), ptid.tid ());
   return ret;
 }
 
 /* Return a printable representation of extra information about
    THREAD, for use in "info threads" output.  */
 
-static const char *
-aix_thread_extra_thread_info (struct target_ops *self,
-			      struct thread_info *thread)
+const char *
+aix_thread_target::extra_thread_info (struct thread_info *thread)
 {
   int status;
   pthdb_pthread_t pdtid;
@@ -1819,35 +1829,12 @@ aix_thread_extra_thread_info (struct tar
   return ret;
 }
 
-static ptid_t
-aix_thread_get_ada_task_ptid (struct target_ops *self, long lwp, long thread)
+ptid_t
+aix_thread_target::get_ada_task_ptid (long lwp, long thread)
 {
-  return ptid_build (ptid_get_pid (inferior_ptid), 0, thread);
+  return ptid_t (inferior_ptid.pid (), 0, thread);
 }
 
-/* Initialize target aix_thread_ops.  */
-
-static void
-init_aix_thread_ops (void)
-{
-  aix_thread_ops.to_shortname = "aix-threads";
-  aix_thread_ops.to_longname = _("AIX pthread support");
-  aix_thread_ops.to_doc = _("AIX pthread support");
-
-  aix_thread_ops.to_detach = aix_thread_detach;
-  aix_thread_ops.to_resume = aix_thread_resume;
-  aix_thread_ops.to_wait = aix_thread_wait;
-  aix_thread_ops.to_fetch_registers = aix_thread_fetch_registers;
-  aix_thread_ops.to_store_registers = aix_thread_store_registers;
-  aix_thread_ops.to_xfer_partial = aix_thread_xfer_partial;
-  aix_thread_ops.to_mourn_inferior = aix_thread_mourn_inferior;
-  aix_thread_ops.to_thread_alive = aix_thread_thread_alive;
-  aix_thread_ops.to_pid_to_str = aix_thread_pid_to_str;
-  aix_thread_ops.to_extra_thread_info = aix_thread_extra_thread_info;
-  aix_thread_ops.to_get_ada_task_ptid = aix_thread_get_ada_task_ptid;
-  aix_thread_ops.to_stratum = thread_stratum;
-  aix_thread_ops.to_magic = OPS_MAGIC;
-}
 
 /* Module startup initialization function, automagically called by
    init.c.  */
@@ -1855,15 +1842,12 @@ init_aix_thread_ops (void)
 void
 _initialize_aix_thread (void)
 {
-  init_aix_thread_ops ();
-  complete_target_initialization (&aix_thread_ops);
-
   /* Notice when object files get loaded and unloaded.  */
-  observer_attach_new_objfile (new_objfile);
+  gdb::observers::new_objfile.attach (new_objfile);
 
   /* Add ourselves to inferior_created event chain.
      This is needed to enable the thread target on "attach".  */
-  observer_attach_inferior_created (aix_thread_inferior_created);
+  gdb::observers::inferior_created.attach (aix_thread_inferior_created);
 
   add_setshow_boolean_cmd ("aix-thread", class_maintenance, &debug_aix_thread,
 			   _("Set debugging of AIX thread module."),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/alpha-bsd-nat.c ./gdb/alpha-bsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/alpha-bsd-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/alpha-bsd-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -43,6 +43,14 @@ typedef struct fpreg fpregset_t; 
 
 #include "gregset.h"
 
+struct alpha_bsd_nat_target final : public inf_ptrace_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static alpha_bsd_nat_target the_alpha_bsd_nat_target;
+
 /* Provide *regset() wrappers around the generic Alpha BSD register
    supply/fill routines.  */
 
@@ -83,15 +91,14 @@ getregs_supplies (int regno)
 /* Fetch register REGNO from the inferior.  If REGNO is -1, do this
    for all registers (including the floating point registers).  */
 
-static void
-alphabsd_fetch_inferior_registers (struct target_ops *ops,
-				   struct regcache *regcache, int regno)
+void
+alpha_bsd_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
   if (regno == -1 || getregs_supplies (regno))
     {
       struct reg gregs;
 
-      if (ptrace (PT_GETREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+      if (ptrace (PT_GETREGS, regcache->ptid ().pid (),
 		  (PTRACE_TYPE_ARG3) &gregs, 0) == -1)
 	perror_with_name (_("Couldn't get registers"));
 
@@ -105,7 +112,7 @@ alphabsd_fetch_inferior_registers (struc
     {
       struct fpreg fpregs;
 
-      if (ptrace (PT_GETFPREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+      if (ptrace (PT_GETFPREGS, regcache->ptid ().pid (),
 		  (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
 	perror_with_name (_("Couldn't get floating point status"));
 
@@ -116,20 +123,19 @@ alphabsd_fetch_inferior_registers (struc
 /* Store register REGNO back into the inferior.  If REGNO is -1, do
    this for all registers (including the floating point registers).  */
 
-static void
-alphabsd_store_inferior_registers (struct target_ops *ops,
-				   struct regcache *regcache, int regno)
+void
+alpha_bsd_nat_target::store_registers (struct regcache *regcache, int regno)
 {
   if (regno == -1 || getregs_supplies (regno))
     {
       struct reg gregs;
-      if (ptrace (PT_GETREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+      if (ptrace (PT_GETREGS, regcache->ptid ().pid (),
                   (PTRACE_TYPE_ARG3) &gregs, 0) == -1)
         perror_with_name (_("Couldn't get registers"));
 
       alphabsd_fill_reg (regcache, (char *) &gregs, regno);
 
-      if (ptrace (PT_SETREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+      if (ptrace (PT_SETREGS, regcache->ptid ().pid (),
                   (PTRACE_TYPE_ARG3) &gregs, 0) == -1)
         perror_with_name (_("Couldn't write registers"));
 
@@ -142,13 +148,13 @@ alphabsd_store_inferior_registers (struc
     {
       struct fpreg fpregs;
 
-      if (ptrace (PT_GETFPREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+      if (ptrace (PT_GETFPREGS, regcache->ptid ().pid (),
 		  (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
 	perror_with_name (_("Couldn't get floating point status"));
 
       alphabsd_fill_fpreg (regcache, (char *) &fpregs, regno);
 
-      if (ptrace (PT_SETFPREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+      if (ptrace (PT_SETFPREGS, regcache->ptid ().pid (),
 		  (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
 	perror_with_name (_("Couldn't write floating point status"));
     }
@@ -176,12 +182,11 @@ alphabsd_supply_pcb (struct regcache *re
   if (pcb->pcb_hw.apcb_ksp == 0)
     return 0;
 
-  regcache_raw_supply (regcache, ALPHA_SP_REGNUM, &pcb->pcb_hw.apcb_ksp);
+  regcache->raw_supply (ALPHA_SP_REGNUM, &pcb->pcb_hw.apcb_ksp);
 
   for (regnum = ALPHA_S0_REGNUM; regnum < ALPHA_A0_REGNUM; regnum++)
-    regcache_raw_supply (regcache, regnum,
-			 &pcb->pcb_context[regnum - ALPHA_S0_REGNUM]);
-  regcache_raw_supply (regcache, ALPHA_RA_REGNUM, &pcb->pcb_context[7]);
+    regcache->raw_supply (regnum, &pcb->pcb_context[regnum - ALPHA_S0_REGNUM]);
+  regcache->raw_supply (ALPHA_RA_REGNUM, &pcb->pcb_context[7]);
 
   return 1;
 }
@@ -190,12 +195,7 @@ alphabsd_supply_pcb (struct regcache *re
 void
 _initialize_alphabsd_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = alphabsd_fetch_inferior_registers;
-  t->to_store_registers = alphabsd_store_inferior_registers;
-  add_target (t);
+  add_inf_child_target (&the_alpha_bsd_nat_target);
 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (alphabsd_supply_pcb);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/alpha-linux-nat.c ./gdb/alpha-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/alpha-linux-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/alpha-linux-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -19,7 +19,7 @@
 #include "defs.h"
 #include "target.h"
 #include "regcache.h"
-#include "linux-nat.h"
+#include "linux-nat-trad.h"
 
 #include "alpha-tdep.h"
 
@@ -32,6 +32,15 @@
 /* The address of UNIQUE for ptrace.  */
 #define ALPHA_UNIQUE_PTRACE_ADDR 65
 
+class alpha_linux_nat_target final : public linux_nat_trad_target
+{
+protected:
+  /* Override linux_nat_trad_target methods.  */
+  CORE_ADDR register_u_offset (struct gdbarch *gdbarch,
+			       int regno, int store_p) override;
+};
+
+static alpha_linux_nat_target the_alpha_linux_nat_target;
 
 /* See the comment in m68k-tdep.c regarding the utility of these
    functions.  */
@@ -77,9 +86,9 @@ fill_fpregset (const struct regcache *re
   alpha_fill_fp_regs (regcache, regno, regp, regp + 31);
 }
 
-
-static CORE_ADDR
-alpha_linux_register_u_offset (struct gdbarch *gdbarch, int regno, int store_p)
+CORE_ADDR
+alpha_linux_nat_target::register_u_offset (struct gdbarch *gdbarch,
+					   int regno, int store_p)
 {
   if (regno == gdbarch_pc_regnum (gdbarch))
     return PC;
@@ -94,5 +103,6 @@ alpha_linux_register_u_offset (struct gd
 void
 _initialize_alpha_linux_nat (void)
 {
-  linux_nat_add_target (linux_trad_target (alpha_linux_register_u_offset));
+  linux_target = &the_alpha_linux_nat_target;
+  add_inf_child_target (&the_alpha_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/alpha-nbsd-tdep.c ./gdb/alpha-nbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/alpha-nbsd-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/alpha-nbsd-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -58,11 +58,11 @@ alphanbsd_supply_fpregset (const struct 
   for (i = ALPHA_FP0_REGNUM; i < ALPHA_FP0_REGNUM + 31; i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + (i - ALPHA_FP0_REGNUM) * 8);
+	regcache->raw_supply (i, regs + (i - ALPHA_FP0_REGNUM) * 8);
     }
 
   if (regnum == ALPHA_FPCR_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, ALPHA_FPCR_REGNUM, regs + 32 * 8);
+    regcache->raw_supply (ALPHA_FPCR_REGNUM, regs + 32 * 8);
 }
 
 /* Supply register REGNUM from the buffer specified by GREGS and LEN
@@ -95,11 +95,11 @@ alphanbsd_aout_supply_gregset (const str
   for (i = 0; i < ARRAY_SIZE(regmap); i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + regmap[i] * 8);
+	regcache->raw_supply (i, regs + regmap[i] * 8);
     }
 
   if (regnum == ALPHA_PC_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, ALPHA_PC_REGNUM, regs + 31 * 8);
+    regcache->raw_supply (ALPHA_PC_REGNUM, regs + 31 * 8);
 
   if (len >= ALPHANBSD_SIZEOF_GREGS + ALPHANBSD_SIZEOF_FPREGS)
     {
@@ -130,11 +130,11 @@ alphanbsd_supply_gregset (const struct r
   for (i = 0; i < ALPHA_ZERO_REGNUM; i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + i * 8);
+	regcache->raw_supply (i, regs + i * 8);
     }
 
   if (regnum == ALPHA_PC_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, ALPHA_PC_REGNUM, regs + 31 * 8);
+    regcache->raw_supply (ALPHA_PC_REGNUM, regs + 31 * 8);
 }
 
 /* NetBSD/alpha register sets.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/alpha-tdep.c ./gdb/alpha-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/alpha-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/alpha-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -252,7 +252,6 @@ alpha_register_to_value (struct frame_in
   if (*optimizedp || *unavailablep)
     {
       release_value (value);
-      value_free (value);
       return 0;
     }
 
@@ -262,7 +261,6 @@ alpha_register_to_value (struct frame_in
   alpha_sts (gdbarch, out, value_contents_all (value));
 
   release_value (value);
-  value_free (value);
   return 1;
 }
 
@@ -455,10 +453,10 @@ alpha_push_dummy_call (struct gdbarch *g
   /* Load the argument registers.  */
   for (i = 0; i < required_arg_regs; i++)
     {
-      regcache_cooked_write (regcache, ALPHA_A0_REGNUM + i,
-			     arg_reg_buffer + i*ALPHA_REGISTER_SIZE);
-      regcache_cooked_write (regcache, ALPHA_FPA0_REGNUM + i,
-			     arg_reg_buffer + i*ALPHA_REGISTER_SIZE);
+      regcache->cooked_write (ALPHA_A0_REGNUM + i,
+			      arg_reg_buffer + i * ALPHA_REGISTER_SIZE);
+      regcache->cooked_write (ALPHA_FPA0_REGNUM + i,
+			      arg_reg_buffer + i * ALPHA_REGISTER_SIZE);
     }
 
   /* Finally, update the stack pointer.  */
@@ -485,12 +483,12 @@ alpha_extract_return_value (struct type 
       switch (TYPE_LENGTH (valtype))
 	{
 	case 4:
-	  regcache_cooked_read (regcache, ALPHA_FP0_REGNUM, raw_buffer);
+	  regcache->cooked_read (ALPHA_FP0_REGNUM, raw_buffer);
 	  alpha_sts (gdbarch, valbuf, raw_buffer);
 	  break;
 
 	case 8:
-	  regcache_cooked_read (regcache, ALPHA_FP0_REGNUM, valbuf);
+	  regcache->cooked_read (ALPHA_FP0_REGNUM, valbuf);
 	  break;
 
 	case 16:
@@ -509,12 +507,12 @@ alpha_extract_return_value (struct type 
 	{
 	case 8:
 	  /* ??? This isn't correct wrt the ABI, but it's what GCC does.  */
-	  regcache_cooked_read (regcache, ALPHA_FP0_REGNUM, valbuf);
+	  regcache->cooked_read (ALPHA_FP0_REGNUM, valbuf);
 	  break;
 
 	case 16:
-	  regcache_cooked_read (regcache, ALPHA_FP0_REGNUM, valbuf);
-	  regcache_cooked_read (regcache, ALPHA_FP0_REGNUM + 1, valbuf + 8);
+	  regcache->cooked_read (ALPHA_FP0_REGNUM, valbuf);
+	  regcache->cooked_read (ALPHA_FP0_REGNUM + 1, valbuf + 8);
 	  break;
 
 	case 32:
@@ -554,11 +552,11 @@ alpha_store_return_value (struct type *v
 	{
 	case 4:
 	  alpha_lds (gdbarch, raw_buffer, valbuf);
-	  regcache_cooked_write (regcache, ALPHA_FP0_REGNUM, raw_buffer);
+	  regcache->cooked_write (ALPHA_FP0_REGNUM, raw_buffer);
 	  break;
 
 	case 8:
-	  regcache_cooked_write (regcache, ALPHA_FP0_REGNUM, valbuf);
+	  regcache->cooked_write (ALPHA_FP0_REGNUM, valbuf);
 	  break;
 
 	case 16:
@@ -578,12 +576,12 @@ alpha_store_return_value (struct type *v
 	{
 	case 8:
 	  /* ??? This isn't correct wrt the ABI, but it's what GCC does.  */
-	  regcache_cooked_write (regcache, ALPHA_FP0_REGNUM, valbuf);
+	  regcache->cooked_write (ALPHA_FP0_REGNUM, valbuf);
 	  break;
 
 	case 16:
-	  regcache_cooked_write (regcache, ALPHA_FP0_REGNUM, valbuf);
-	  regcache_cooked_write (regcache, ALPHA_FP0_REGNUM + 1, valbuf + 8);
+	  regcache->cooked_write (ALPHA_FP0_REGNUM, valbuf);
+	  regcache->cooked_write (ALPHA_FP0_REGNUM + 1, valbuf + 8);
 	  break;
 
 	case 32:
@@ -1501,20 +1499,20 @@ alpha_supply_int_regs (struct regcache *
 
   for (i = 0; i < 31; ++i)
     if (regno == i || regno == -1)
-      regcache_raw_supply (regcache, i, regs + i * 8);
+      regcache->raw_supply (i, regs + i * 8);
 
   if (regno == ALPHA_ZERO_REGNUM || regno == -1)
     {
       const gdb_byte zero[8] = { 0 };
 
-      regcache_raw_supply (regcache, ALPHA_ZERO_REGNUM, zero);
+      regcache->raw_supply (ALPHA_ZERO_REGNUM, zero);
     }
 
   if (regno == ALPHA_PC_REGNUM || regno == -1)
-    regcache_raw_supply (regcache, ALPHA_PC_REGNUM, pc);
+    regcache->raw_supply (ALPHA_PC_REGNUM, pc);
 
   if (regno == ALPHA_UNIQUE_REGNUM || regno == -1)
-    regcache_raw_supply (regcache, ALPHA_UNIQUE_REGNUM, unique);
+    regcache->raw_supply (ALPHA_UNIQUE_REGNUM, unique);
 }
 
 void
@@ -1526,13 +1524,13 @@ alpha_fill_int_regs (const struct regcac
 
   for (i = 0; i < 31; ++i)
     if (regno == i || regno == -1)
-      regcache_raw_collect (regcache, i, regs + i * 8);
+      regcache->raw_collect (i, regs + i * 8);
 
   if (regno == ALPHA_PC_REGNUM || regno == -1)
-    regcache_raw_collect (regcache, ALPHA_PC_REGNUM, pc);
+    regcache->raw_collect (ALPHA_PC_REGNUM, pc);
 
   if (unique && (regno == ALPHA_UNIQUE_REGNUM || regno == -1))
-    regcache_raw_collect (regcache, ALPHA_UNIQUE_REGNUM, unique);
+    regcache->raw_collect (ALPHA_UNIQUE_REGNUM, unique);
 }
 
 void
@@ -1544,11 +1542,10 @@ alpha_supply_fp_regs (struct regcache *r
 
   for (i = ALPHA_FP0_REGNUM; i < ALPHA_FP0_REGNUM + 31; ++i)
     if (regno == i || regno == -1)
-      regcache_raw_supply (regcache, i,
-			   regs + (i - ALPHA_FP0_REGNUM) * 8);
+      regcache->raw_supply (i, regs + (i - ALPHA_FP0_REGNUM) * 8);
 
   if (regno == ALPHA_FPCR_REGNUM || regno == -1)
-    regcache_raw_supply (regcache, ALPHA_FPCR_REGNUM, fpcr);
+    regcache->raw_supply (ALPHA_FPCR_REGNUM, fpcr);
 }
 
 void
@@ -1560,11 +1557,10 @@ alpha_fill_fp_regs (const struct regcach
 
   for (i = ALPHA_FP0_REGNUM; i < ALPHA_FP0_REGNUM + 31; ++i)
     if (regno == i || regno == -1)
-      regcache_raw_collect (regcache, i,
-			    regs + (i - ALPHA_FP0_REGNUM) * 8);
+      regcache->raw_collect (i, regs + (i - ALPHA_FP0_REGNUM) * 8);
 
   if (regno == ALPHA_FPCR_REGNUM || regno == -1)
-    regcache_raw_collect (regcache, ALPHA_FPCR_REGNUM, fpcr);
+    regcache->raw_collect (ALPHA_FPCR_REGNUM, fpcr);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-bsd-nat.c ./gdb/amd64-bsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-bsd-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-bsd-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -38,12 +38,11 @@
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers (including the floating-point registers).  */
 
-static void
-amd64bsd_fetch_inferior_registers (struct target_ops *ops,
-				   struct regcache *regcache, int regnum)
+void
+amd64bsd_fetch_inferior_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
-  pid_t pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t pid = get_ptrace_pid (regcache->ptid ());
 
   if (regnum == -1 || amd64_native_gregset_supplies_p (gdbarch, regnum))
     {
@@ -65,7 +64,7 @@ amd64bsd_fetch_inferior_registers (struc
       if (ptrace (PT_GETFSBASE, pid, (PTRACE_TYPE_ARG3) &base, 0) == -1)
 	perror_with_name (_("Couldn't get segment register fs_base"));
 
-      regcache_raw_supply (regcache, AMD64_FSBASE_REGNUM, &base);
+      regcache->raw_supply (AMD64_FSBASE_REGNUM, &base);
       if (regnum != -1)
 	return;
     }
@@ -78,7 +77,7 @@ amd64bsd_fetch_inferior_registers (struc
       if (ptrace (PT_GETGSBASE, pid, (PTRACE_TYPE_ARG3) &base, 0) == -1)
 	perror_with_name (_("Couldn't get segment register gs_base"));
 
-      regcache_raw_supply (regcache, AMD64_GSBASE_REGNUM, &base);
+      regcache->raw_supply (AMD64_GSBASE_REGNUM, &base);
       if (regnum != -1)
 	return;
     }
@@ -112,12 +111,11 @@ amd64bsd_fetch_inferior_registers (struc
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers (including the floating-point registers).  */
 
-static void
-amd64bsd_store_inferior_registers (struct target_ops *ops,
-				   struct regcache *regcache, int regnum)
+void
+amd64bsd_store_inferior_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
-  pid_t pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t pid = get_ptrace_pid (regcache->ptid ());
 
   if (regnum == -1 || amd64_native_gregset_supplies_p (gdbarch, regnum))
     {
@@ -140,7 +138,7 @@ amd64bsd_store_inferior_registers (struc
     {
       register_t base;
 
-      regcache_raw_collect (regcache, AMD64_FSBASE_REGNUM, &base);
+      regcache->raw_collect (AMD64_FSBASE_REGNUM, &base);
 
       if (ptrace (PT_SETFSBASE, pid, (PTRACE_TYPE_ARG3) &base, 0) == -1)
 	perror_with_name (_("Couldn't write segment register fs_base"));
@@ -153,7 +151,7 @@ amd64bsd_store_inferior_registers (struc
     {
       register_t base;
 
-      regcache_raw_collect (regcache, AMD64_GSBASE_REGNUM, &base);
+      regcache->raw_collect (AMD64_GSBASE_REGNUM, &base);
 
       if (ptrace (PT_SETGSBASE, pid, (PTRACE_TYPE_ARG3) &base, 0) == -1)
 	perror_with_name (_("Couldn't write segment register gs_base"));
@@ -193,17 +191,3 @@ amd64bsd_store_inferior_registers (struc
 	perror_with_name (_("Couldn't write floating point status"));
     }
 }
-
-/* Create a prototype *BSD/amd64 target.  The client can override it
-   with local methods.  */
-
-struct target_ops *
-amd64bsd_target (void)
-{
-  struct target_ops *t;
-
-  t = x86bsd_target ();
-  t->to_fetch_registers = amd64bsd_fetch_inferior_registers;
-  t->to_store_registers = amd64bsd_store_inferior_registers;
-  return t;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-bsd-nat.h ./gdb/amd64-bsd-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-bsd-nat.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/amd64-bsd-nat.h	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,44 @@
+/* Native-dependent code for modern AMD64 BSD's.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef AMD64_BSD_NAT_H
+#define AMD64_BSD_NAT_H
+
+#include "x86-bsd-nat.h"
+
+/* Helper functions.  See definitions.  */
+extern void amd64bsd_fetch_inferior_registers (struct regcache *regcache,
+					       int regnum);
+extern void amd64bsd_store_inferior_registers (struct regcache *regcache,
+					       int regnum);
+
+/* A prototype *BSD/AMD64 target.  */
+
+template<typename BaseTarget>
+class amd64_bsd_nat_target : public x86bsd_nat_target<BaseTarget>
+{
+public:
+  void fetch_registers (struct regcache *regcache, int regnum) override
+  { amd64bsd_fetch_inferior_registers (regcache, regnum); }
+
+  void store_registers (struct regcache *regcache, int regnum) override
+  { amd64bsd_store_inferior_registers (regcache, regnum); }
+};
+
+#endif /* i386-bsd-nat.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-darwin-tdep.c ./gdb/amd64-darwin-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-darwin-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-darwin-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -100,7 +100,7 @@ x86_darwin_init_abi_64 (struct gdbarch_i
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
 
   tdep->struct_return = reg_struct_return;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-dicos-tdep.c ./gdb/amd64-dicos-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-dicos-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-dicos-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -27,7 +27,7 @@ static void
 amd64_dicos_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
 
   dicos_init_abi (gdbarch);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-fbsd-nat.c ./gdb/amd64-fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-fbsd-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-fbsd-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -32,11 +32,25 @@
 #include "fbsd-nat.h"
 #include "amd64-tdep.h"
 #include "amd64-nat.h"
-#include "x86-bsd-nat.h"
+#include "amd64-bsd-nat.h"
 #include "x86-nat.h"
 #include "x86-xstate.h"
 
 
+class amd64_fbsd_nat_target final
+  : public amd64_bsd_nat_target<fbsd_nat_target>
+{
+public:
+  /* Add some extra features to the common *BSD/amd64 target.  */
+  const struct target_desc *read_description () override;
+
+#if defined(HAVE_PT_GETDBREGS) && defined(USE_SIGTRAP_SIGINFO)
+  bool supports_stopped_by_hw_breakpoint () override;
+#endif
+};
+
+static amd64_fbsd_nat_target the_amd64_fbsd_nat_target;
+
 /* Offset in `struct reg' where MEMBER is stored.  */
 #define REG_OFFSET(member) offsetof (struct reg, member)
 
@@ -117,34 +131,34 @@ amd64fbsd_supply_pcb (struct regcache *r
     return 0;
 
   pcb->pcb_rsp += 8;
-  regcache_raw_supply (regcache, AMD64_RIP_REGNUM, &pcb->pcb_rip);
-  regcache_raw_supply (regcache, AMD64_RBX_REGNUM, &pcb->pcb_rbx);
-  regcache_raw_supply (regcache, AMD64_RSP_REGNUM, &pcb->pcb_rsp);
-  regcache_raw_supply (regcache, AMD64_RBP_REGNUM, &pcb->pcb_rbp);
-  regcache_raw_supply (regcache, 12, &pcb->pcb_r12);
-  regcache_raw_supply (regcache, 13, &pcb->pcb_r13);
-  regcache_raw_supply (regcache, 14, &pcb->pcb_r14);
-  regcache_raw_supply (regcache, 15, &pcb->pcb_r15);
+  regcache->raw_supply (AMD64_RIP_REGNUM, &pcb->pcb_rip);
+  regcache->raw_supply (AMD64_RBX_REGNUM, &pcb->pcb_rbx);
+  regcache->raw_supply (AMD64_RSP_REGNUM, &pcb->pcb_rsp);
+  regcache->raw_supply (AMD64_RBP_REGNUM, &pcb->pcb_rbp);
+  regcache->raw_supply (12, &pcb->pcb_r12);
+  regcache->raw_supply (13, &pcb->pcb_r13);
+  regcache->raw_supply (14, &pcb->pcb_r14);
+  regcache->raw_supply (15, &pcb->pcb_r15);
 #if (__FreeBSD_version < 800075) && (__FreeBSD_kernel_version < 800075)
   /* struct pcb provides the pcb_ds/pcb_es/pcb_fs/pcb_gs fields only
      up until __FreeBSD_version 800074: The removal of these fields
      occurred on 2009-04-01 while the __FreeBSD_version number was
      bumped to 800075 on 2009-04-06.  So 800075 is the closest version
      number where we should not try to access these fields.  */
-  regcache_raw_supply (regcache, AMD64_DS_REGNUM, &pcb->pcb_ds);
-  regcache_raw_supply (regcache, AMD64_ES_REGNUM, &pcb->pcb_es);
-  regcache_raw_supply (regcache, AMD64_FS_REGNUM, &pcb->pcb_fs);
-  regcache_raw_supply (regcache, AMD64_GS_REGNUM, &pcb->pcb_gs);
+  regcache->raw_supply (AMD64_DS_REGNUM, &pcb->pcb_ds);
+  regcache->raw_supply (AMD64_ES_REGNUM, &pcb->pcb_es);
+  regcache->raw_supply (AMD64_FS_REGNUM, &pcb->pcb_fs);
+  regcache->raw_supply (AMD64_GS_REGNUM, &pcb->pcb_gs);
 #endif
 
   return 1;
 }
 
 
-/* Implement the to_read_description method.  */
+/* Implement the read_description method.  */
 
-static const struct target_desc *
-amd64fbsd_read_description (struct target_ops *ops)
+const struct target_desc *
+amd64_fbsd_nat_target::read_description ()
 {
 #ifdef PT_GETXSTATE_INFO
   static int xsave_probed;
@@ -153,7 +167,7 @@ amd64fbsd_read_description (struct targe
   struct reg regs;
   int is64;
 
-  if (ptrace (PT_GETREGS, ptid_get_pid (inferior_ptid),
+  if (ptrace (PT_GETREGS, inferior_ptid.pid (),
 	      (PTRACE_TYPE_ARG3) &regs, 0) == -1)
     perror_with_name (_("Couldn't get registers"));
   is64 = (regs.r_cs == GSEL (GUCODE_SEL, SEL_UPL));
@@ -162,7 +176,7 @@ amd64fbsd_read_description (struct targe
     {
       struct ptrace_xstate_info info;
 
-      if (ptrace (PT_GETXSTATE_INFO, ptid_get_pid (inferior_ptid),
+      if (ptrace (PT_GETXSTATE_INFO, inferior_ptid.pid (),
 		  (PTRACE_TYPE_ARG3) &info, sizeof (info)) == 0)
 	{
 	  x86bsd_xsave_len = info.xsave_len;
@@ -174,31 +188,36 @@ amd64fbsd_read_description (struct targe
   if (x86bsd_xsave_len != 0)
     {
       if (is64)
-	return amd64_target_description (xcr0);
+	return amd64_target_description (xcr0, true);
       else
 	return i386_target_description (xcr0);
     }
 #endif
   if (is64)
-    return amd64_target_description (X86_XSTATE_SSE_MASK);
+    return amd64_target_description (X86_XSTATE_SSE_MASK, true);
   else
     return i386_target_description (X86_XSTATE_SSE_MASK);
 }
 
+#if defined(HAVE_PT_GETDBREGS) && defined(USE_SIGTRAP_SIGINFO)
+/* Implement the supports_stopped_by_hw_breakpoints method.  */
+
+bool
+amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint ()
+{
+  return true;
+}
+#endif
+
 void
 _initialize_amd64fbsd_nat (void)
 {
-  struct target_ops *t;
   int offset;
 
   amd64_native_gregset32_reg_offset = amd64fbsd32_r_reg_offset;
   amd64_native_gregset64_reg_offset = amd64fbsd64_r_reg_offset;
 
-  /* Add some extra features to the common *BSD/i386 target.  */
-  t = amd64bsd_target ();
-  t->to_read_description = amd64fbsd_read_description;
-
-  fbsd_nat_add_target (t);
+  add_inf_child_target (&the_amd64_fbsd_nat_target);
 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (amd64fbsd_supply_pcb);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-fbsd-tdep.c ./gdb/amd64-fbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-fbsd-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-fbsd-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -156,7 +156,7 @@ amd64fbsd_core_read_description (struct 
 				 struct target_ops *target,
 				 bfd *abfd)
 {
-  return amd64_target_description (i386fbsd_core_read_xcr0 (abfd));
+  return amd64_target_description (i386fbsd_core_read_xcr0 (abfd), true);
 }
 
 /* Similar to amd64_supply_fpregset, but use XSAVE extended state.  */
@@ -218,7 +218,7 @@ amd64fbsd_init_abi (struct gdbarch_info 
   tdep->sizeof_gregset = 22 * 8;
 
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
 
   tdep->sigtramp_p = amd64fbsd_sigtramp_p;
   tdep->sigtramp_start = amd64fbsd_sigtramp_start_addr;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-linux-nat.c ./gdb/amd64-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-linux-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-linux-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -30,7 +30,6 @@
 #include "gdb_proc_service.h"
 
 #include "amd64-nat.h"
-#include "linux-nat.h"
 #include "amd64-tdep.h"
 #include "amd64-linux-tdep.h"
 #include "i386-linux-tdep.h"
@@ -46,6 +45,18 @@
 #define PTRACE_ARCH_PRCTL      30
 #endif
 
+struct amd64_linux_nat_target final : public x86_linux_nat_target
+{
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  bool low_siginfo_fixup (siginfo_t *ptrace, gdb_byte *inf, int direction)
+    override;
+};
+
+static amd64_linux_nat_target the_amd64_linux_nat_target;
+
 /* Mapping between the general-purpose registers in GNU/Linux x86-64
    `struct user' format and GDB's register cache layout for GNU/Linux
    i386.
@@ -130,17 +141,16 @@ fill_fpregset (const struct regcache *re
    this for all registers (including the floating point and SSE
    registers).  */
 
-static void
-amd64_linux_fetch_inferior_registers (struct target_ops *ops,
-				      struct regcache *regcache, int regnum)
+void
+amd64_linux_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   int tid;
 
   /* GNU/Linux LWP ID's are process ID's.  */
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
   if (tid == 0)
-    tid = ptid_get_pid (regcache_get_ptid (regcache)); /* Not a threaded program.  */
+    tid = regcache->ptid ().pid (); /* Not a threaded program.  */
 
   if (regnum == -1 || amd64_native_gregset_supplies_p (gdbarch, regnum))
     {
@@ -190,7 +200,7 @@ amd64_linux_fetch_inferior_registers (st
 	    if (ptrace (PTRACE_ARCH_PRCTL, tid, &base, ARCH_GET_FS) < 0)
 	      perror_with_name (_("Couldn't get segment register fs_base"));
 
-	    regcache_raw_supply (regcache, AMD64_FSBASE_REGNUM, &base);
+	    regcache->raw_supply (AMD64_FSBASE_REGNUM, &base);
 	  }
 
 	if (regnum == -1 || regnum == AMD64_GSBASE_REGNUM)
@@ -198,7 +208,7 @@ amd64_linux_fetch_inferior_registers (st
 	    if (ptrace (PTRACE_ARCH_PRCTL, tid, &base, ARCH_GET_GS) < 0)
 	      perror_with_name (_("Couldn't get segment register gs_base"));
 
-	    regcache_raw_supply (regcache, AMD64_GSBASE_REGNUM, &base);
+	    regcache->raw_supply (AMD64_GSBASE_REGNUM, &base);
 	  }
       }
 #endif
@@ -209,17 +219,16 @@ amd64_linux_fetch_inferior_registers (st
    -1, do this for all registers (including the floating-point and SSE
    registers).  */
 
-static void
-amd64_linux_store_inferior_registers (struct target_ops *ops,
-				      struct regcache *regcache, int regnum)
+void
+amd64_linux_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   int tid;
 
   /* GNU/Linux LWP ID's are process ID's.  */
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
   if (tid == 0)
-    tid = ptid_get_pid (regcache_get_ptid (regcache)); /* Not a threaded program.  */
+    tid = regcache->ptid ().pid (); /* Not a threaded program.  */
 
   if (regnum == -1 || amd64_native_gregset_supplies_p (gdbarch, regnum))
     {
@@ -278,7 +287,7 @@ amd64_linux_store_inferior_registers (st
 
 	if (regnum == -1 || regnum == AMD64_FSBASE_REGNUM)
 	  {
-	    regcache_raw_collect (regcache, AMD64_FSBASE_REGNUM, &base);
+	    regcache->raw_collect (AMD64_FSBASE_REGNUM, &base);
 
 	    if (ptrace (PTRACE_ARCH_PRCTL, tid, base, ARCH_SET_FS) < 0)
 	      perror_with_name (_("Couldn't write segment register fs_base"));
@@ -286,7 +295,7 @@ amd64_linux_store_inferior_registers (st
 	if (regnum == -1 || regnum == AMD64_GSBASE_REGNUM)
 	  {
 
-	    regcache_raw_collect (regcache, AMD64_GSBASE_REGNUM, &base);
+	    regcache->raw_collect (AMD64_GSBASE_REGNUM, &base);
 	    if (ptrace (PTRACE_ARCH_PRCTL, tid, base, ARCH_SET_GS) < 0)
 	      perror_with_name (_("Couldn't write segment register gs_base"));
 	  }
@@ -378,29 +387,29 @@ ps_get_thread_area (struct ps_prochandle
    from INF to PTRACE.  If DIRECTION is 0, copy from PTRACE to
    INF.  */
 
-static int
-amd64_linux_siginfo_fixup (siginfo_t *ptrace, gdb_byte *inf, int direction)
+bool
+amd64_linux_nat_target::low_siginfo_fixup (siginfo_t *ptrace,
+					   gdb_byte *inf,
+					   int direction)
 {
   struct gdbarch *gdbarch = get_frame_arch (get_current_frame ());
 
   /* Is the inferior 32-bit?  If so, then do fixup the siginfo
      object.  */
   if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 32)
-      return amd64_linux_siginfo_fixup_common (ptrace, inf, direction,
-					       FIXUP_32);
+    return amd64_linux_siginfo_fixup_common (ptrace, inf, direction,
+					     FIXUP_32);
   /* No fixup for native x32 GDB.  */
   else if (gdbarch_addr_bit (gdbarch) == 32 && sizeof (void *) == 8)
-      return amd64_linux_siginfo_fixup_common (ptrace, inf, direction,
-					       FIXUP_X32);
+    return amd64_linux_siginfo_fixup_common (ptrace, inf, direction,
+					     FIXUP_X32);
   else
-    return 0;
+    return false;
 }
 
 void
 _initialize_amd64_linux_nat (void)
 {
-  struct target_ops *t;
-
   amd64_native_gregset32_reg_offset = amd64_linux_gregset32_reg_offset;
   amd64_native_gregset32_num_regs = I386_LINUX_NUM_REGS;
   amd64_native_gregset64_reg_offset = amd64_linux_gregset_reg_offset;
@@ -409,16 +418,8 @@ _initialize_amd64_linux_nat (void)
   gdb_assert (ARRAY_SIZE (amd64_linux_gregset32_reg_offset)
 	      == amd64_native_gregset32_num_regs);
 
-  /* Create a generic x86 GNU/Linux target.  */
-  t = x86_linux_create_target ();
-
-  /* Add our register access methods.  */
-  t->to_fetch_registers = amd64_linux_fetch_inferior_registers;
-  t->to_store_registers = amd64_linux_store_inferior_registers;
+  linux_target = &the_amd64_linux_nat_target;
 
   /* Add the target.  */
-  x86_linux_add_target (t);
-
-  /* Add our siginfo layout converter.  */
-  linux_nat_set_siginfo_fixup (t, amd64_linux_siginfo_fixup);
+  add_inf_child_target (linux_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-linux-tdep.c ./gdb/amd64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-linux-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-linux-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -222,9 +222,9 @@ amd64_linux_sigcontext_addr (struct fram
 
 static LONGEST
 amd64_linux_get_syscall_number (struct gdbarch *gdbarch,
-                                ptid_t ptid)
+				thread_info *thread)
 {
-  struct regcache *regcache = get_thread_regcache (ptid);
+  struct regcache *regcache = get_thread_regcache (thread);
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   /* The content of a register.  */
   gdb_byte buf[8];
@@ -234,7 +234,7 @@ amd64_linux_get_syscall_number (struct g
   /* Getting the system call number from the register.
      When dealing with x86_64 architecture, this information
      is stored at %rax register.  */
-  regcache_cooked_read (regcache, AMD64_LINUX_ORIG_RAX_REGNUM, buf);
+  regcache->cooked_read (AMD64_LINUX_ORIG_RAX_REGNUM, buf);
 
   ret = extract_signed_integer (buf, 8, byte_order);
 
@@ -1594,7 +1594,8 @@ amd64_linux_read_description (uint64_t x
     }
 
   if (*tdesc == NULL)
-    *tdesc = amd64_create_target_description (xcr0_features_bit, is_x32, true);
+    *tdesc = amd64_create_target_description (xcr0_features_bit, is_x32,
+					      true, true);
 
   return *tdesc;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-nat.c ./gdb/amd64-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -113,7 +113,7 @@ amd64_supply_native_gregset (struct regc
 	  int offset = amd64_native_gregset_reg_offset (gdbarch, i);
 
 	  if (offset != -1)
-	    regcache_raw_supply (regcache, i, regs + offset);
+	    regcache->raw_supply (i, regs + offset);
 	}
     }
 }
@@ -160,7 +160,7 @@ amd64_collect_native_gregset (const stru
 	  int offset = amd64_native_gregset_reg_offset (gdbarch, i);
 
 	  if (offset != -1)
-	    regcache_raw_collect (regcache, i, regs + offset);
+	    regcache->raw_collect (i, regs + offset);
 	}
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-nat.h ./gdb/amd64-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-nat.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-nat.h	2018-07-10 02:06:12.000000000 +0000
@@ -49,9 +49,4 @@ extern void amd64_supply_native_gregset 
 extern void amd64_collect_native_gregset (const struct regcache *regcache,
 					  void *gregs, int regnum);
 
-/* Create a prototype *BSD/amd64 target.  The client can override it
-   with local methods.  */
-
-extern struct target_ops *amd64bsd_target (void);
-
 #endif /* amd64-nat.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-nbsd-nat.c ./gdb/amd64-nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-nbsd-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-nbsd-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -22,6 +22,7 @@
 
 #include "nbsd-nat.h"
 #include "amd64-tdep.h"
+#include "amd64-bsd-nat.h"
 #include "amd64-nat.h"
 
 /* Mapping between the general-purpose registers in NetBSD/amd64
@@ -53,17 +54,14 @@ static int amd64nbsd32_r_reg_offset[] =
   15 * 8			/* %gs */
 };
 
+static amd64_bsd_nat_target<nbsd_nat_target> the_amd64_nbsd_nat_target;
+
 void
 _initialize_amd64nbsd_nat (void)
 {
-  struct target_ops *t;
-
   amd64_native_gregset32_reg_offset = amd64nbsd32_r_reg_offset;
   amd64_native_gregset32_num_regs = ARRAY_SIZE (amd64nbsd32_r_reg_offset);
   amd64_native_gregset64_reg_offset = amd64nbsd_r_reg_offset;
 
-  /* Add some extra features to the common *BSD/amd64 target.  */
-  t = amd64bsd_target ();
-  t->to_pid_to_exec_file = nbsd_pid_to_exec_file;
-  add_target (t);
+  add_inf_child_target (&the_amd64_nbsd_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-nbsd-tdep.c ./gdb/amd64-nbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-nbsd-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-nbsd-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -105,7 +105,7 @@ amd64nbsd_init_abi (struct gdbarch_info 
   tdep->sizeof_gregset = 26 * 8;
 
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
 
   tdep->jb_pc_offset = 7 * 8;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-obsd-nat.c ./gdb/amd64-obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-obsd-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-obsd-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -23,6 +23,7 @@
 #include "target.h"
 
 #include "amd64-tdep.h"
+#include "amd64-bsd-nat.h"
 #include "amd64-nat.h"
 #include "obsd-nat.h"
 
@@ -105,26 +106,28 @@ amd64obsd_supply_pcb (struct regcache *r
     {
       /* Yes, we have a frame that matches cpu_switch().  */
       pcb->pcb_rsp += sizeof (struct switchframe);
-      regcache_raw_supply (regcache, 12, &sf.sf_r12);
-      regcache_raw_supply (regcache, 13, &sf.sf_r13);
-      regcache_raw_supply (regcache, 14, &sf.sf_r14);
-      regcache_raw_supply (regcache, 15, &sf.sf_r15);
-      regcache_raw_supply (regcache, AMD64_RBX_REGNUM, &sf.sf_rbx);
-      regcache_raw_supply (regcache, AMD64_RIP_REGNUM, &sf.sf_rip);
+      regcache->raw_supply (12, &sf.sf_r12);
+      regcache->raw_supply (13, &sf.sf_r13);
+      regcache->raw_supply (14, &sf.sf_r14);
+      regcache->raw_supply (15, &sf.sf_r15);
+      regcache->raw_supply (AMD64_RBX_REGNUM, &sf.sf_rbx);
+      regcache->raw_supply (AMD64_RIP_REGNUM, &sf.sf_rip);
     }
   else
     {
       /* No, the pcb must have been last updated by savectx().  */
       pcb->pcb_rsp += 8;
-      regcache_raw_supply (regcache, AMD64_RIP_REGNUM, &sf);
+      regcache->raw_supply (AMD64_RIP_REGNUM, &sf);
     }
 
-  regcache_raw_supply (regcache, AMD64_RSP_REGNUM, &pcb->pcb_rsp);
-  regcache_raw_supply (regcache, AMD64_RBP_REGNUM, &pcb->pcb_rbp);
+  regcache->raw_supply (AMD64_RSP_REGNUM, &pcb->pcb_rsp);
+  regcache->raw_supply (AMD64_RBP_REGNUM, &pcb->pcb_rbp);
 
   return 1;
 }
 
+static amd64_bsd_nat_target<obsd_nat_target> the_amd64_obsd_nat_target;
+
 void
 _initialize_amd64obsd_nat (void)
 {
@@ -132,8 +135,7 @@ _initialize_amd64obsd_nat (void)
   amd64_native_gregset32_num_regs = ARRAY_SIZE (amd64obsd32_r_reg_offset);
   amd64_native_gregset64_reg_offset = amd64obsd_r_reg_offset;
 
-  /* Add some extra features to the common *BSD/amd64 target.  */
-  obsd_add_target (amd64bsd_target ());
+  add_inf_child_target (&the_amd64_obsd_nat_target);
 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (amd64obsd_supply_pcb);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-obsd-tdep.c ./gdb/amd64-obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-obsd-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-obsd-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -241,7 +241,7 @@ amd64obsd_supply_uthread (struct regcach
          returned from _thread_machdep_switch.  */
       offset = amd64obsd_uthread_reg_offset[AMD64_RIP_REGNUM] + 8;
       store_unsigned_integer (buf, 8, byte_order, sp + offset);
-      regcache_raw_supply (regcache, AMD64_RSP_REGNUM, buf);
+      regcache->raw_supply (AMD64_RSP_REGNUM, buf);
     }
 
   for (i = 0; i < ARRAY_SIZE (amd64obsd_uthread_reg_offset); i++)
@@ -256,7 +256,7 @@ amd64obsd_supply_uthread (struct regcach
 
 	  /* Read the saved register from the stack frame.  */
 	  read_memory (sp + amd64obsd_uthread_reg_offset[i], buf, 8);
-	  regcache_raw_supply (regcache, i, buf);
+	  regcache->raw_supply (i, buf);
 	}
     }
 }
@@ -281,7 +281,7 @@ amd64obsd_collect_uthread (const struct 
       /* Calculate the stack pointer (frame pointer) that will be
          stored into the thread structure.  */
       offset = amd64obsd_uthread_reg_offset[AMD64_RIP_REGNUM] + 8;
-      regcache_raw_collect (regcache, AMD64_RSP_REGNUM, buf);
+      regcache->raw_collect (AMD64_RSP_REGNUM, buf);
       sp = extract_unsigned_integer (buf, 8, byte_order) - offset;
 
       /* Store the stack pointer.  */
@@ -303,7 +303,7 @@ amd64obsd_collect_uthread (const struct 
 	    sp = read_memory_unsigned_integer (sp_addr, 8, byte_order);
 
 	  /* Write the register into the stack frame.  */
-	  regcache_raw_collect (regcache, i, buf);
+	  regcache->raw_collect (i, buf);
 	  write_memory (sp + amd64obsd_uthread_reg_offset[i], buf, 8);
 	}
     }
@@ -421,7 +421,7 @@ amd64obsd_init_abi (struct gdbarch_info 
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
   obsd_init_abi (info, gdbarch);
 
   /* Initialize general-purpose register set details.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-sol2-tdep.c ./gdb/amd64-sol2-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-sol2-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-sol2-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -101,7 +101,7 @@ amd64_sol2_init_abi (struct gdbarch_info
   tdep->sizeof_gregset = 28 * 8;
 
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
 
   tdep->sigtramp_p = amd64_sol2_sigtramp_p;
   tdep->sigcontext_addr = amd64_sol2_mcontext_addr;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-tdep.c ./gdb/amd64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -47,6 +47,8 @@
 #include "ax.h"
 #include "ax-gdb.h"
 #include "common/byte-vector.h"
+#include "osabi.h"
+#include "x86-tdep.h"
 
 /* Note that the AMD64 architecture was previously known as x86-64.
    The latter is (forever) engraved into the canonical system name as
@@ -347,7 +349,7 @@ amd64_pseudo_register_name (struct gdbar
 
 static struct value *
 amd64_pseudo_register_read_value (struct gdbarch *gdbarch,
-				  struct regcache *regcache,
+				  readable_regcache *regcache,
 				  int regnum)
 {
   gdb_byte *raw_buf = (gdb_byte *) alloca (register_size (gdbarch, regnum));
@@ -369,9 +371,8 @@ amd64_pseudo_register_read_value (struct
       if (gpnum >= AMD64_NUM_LOWER_BYTE_REGS)
 	{
 	  /* Special handling for AH, BH, CH, DH.  */
-	  status = regcache_raw_read (regcache,
-				      gpnum - AMD64_NUM_LOWER_BYTE_REGS,
-				      raw_buf);
+	  status = regcache->raw_read (gpnum - AMD64_NUM_LOWER_BYTE_REGS,
+				       raw_buf);
 	  if (status == REG_VALID)
 	    memcpy (buf, raw_buf + 1, 1);
 	  else
@@ -380,7 +381,7 @@ amd64_pseudo_register_read_value (struct
 	}
       else
 	{
-	  status = regcache_raw_read (regcache, gpnum, raw_buf);
+	  status = regcache->raw_read (gpnum, raw_buf);
 	  if (status == REG_VALID)
 	    memcpy (buf, raw_buf, 1);
 	  else
@@ -392,7 +393,7 @@ amd64_pseudo_register_read_value (struct
     {
       int gpnum = regnum - tdep->eax_regnum;
       /* Extract (always little endian).  */
-      status = regcache_raw_read (regcache, gpnum, raw_buf);
+      status = regcache->raw_read (gpnum, raw_buf);
       if (status == REG_VALID)
 	memcpy (buf, raw_buf, 4);
       else
@@ -421,22 +422,20 @@ amd64_pseudo_register_write (struct gdba
       if (gpnum >= AMD64_NUM_LOWER_BYTE_REGS)
 	{
 	  /* Read ... AH, BH, CH, DH.  */
-	  regcache_raw_read (regcache,
-			     gpnum - AMD64_NUM_LOWER_BYTE_REGS, raw_buf);
+	  regcache->raw_read (gpnum - AMD64_NUM_LOWER_BYTE_REGS, raw_buf);
 	  /* ... Modify ... (always little endian).  */
 	  memcpy (raw_buf + 1, buf, 1);
 	  /* ... Write.  */
-	  regcache_raw_write (regcache,
-			      gpnum - AMD64_NUM_LOWER_BYTE_REGS, raw_buf);
+	  regcache->raw_write (gpnum - AMD64_NUM_LOWER_BYTE_REGS, raw_buf);
 	}
       else
 	{
 	  /* Read ...  */
-	  regcache_raw_read (regcache, gpnum, raw_buf);
+	  regcache->raw_read (gpnum, raw_buf);
 	  /* ... Modify ... (always little endian).  */
 	  memcpy (raw_buf, buf, 1);
 	  /* ... Write.  */
-	  regcache_raw_write (regcache, gpnum, raw_buf);
+	  regcache->raw_write (gpnum, raw_buf);
 	}
     }
   else if (i386_dword_regnum_p (gdbarch, regnum))
@@ -444,11 +443,11 @@ amd64_pseudo_register_write (struct gdba
       int gpnum = regnum - tdep->eax_regnum;
 
       /* Read ...  */
-      regcache_raw_read (regcache, gpnum, raw_buf);
+      regcache->raw_read (gpnum, raw_buf);
       /* ... Modify ... (always little endian).  */
       memcpy (raw_buf, buf, 4);
       /* ... Write.  */
-      regcache_raw_write (regcache, gpnum, raw_buf);
+      regcache->raw_write (gpnum, raw_buf);
     }
   else
     i386_pseudo_register_write (gdbarch, regcache, regnum, buf);
@@ -602,8 +601,9 @@ amd64_classify_aggregate (struct type *t
 	    bitsize = TYPE_LENGTH (subtype) * 8;
 	  endpos = (TYPE_FIELD_BITPOS (type, i) + bitsize - 1) / 64;
 
-	  /* Ignore static fields.  */
-	  if (field_is_static (&TYPE_FIELD (type, i)))
+	  /* Ignore static fields, or empty fields, for example nested
+	     empty structures.*/
+	  if (field_is_static (&TYPE_FIELD (type, i)) || bitsize == 0)
 	    continue;
 
 	  gdb_assert (pos == 0 || pos == 1);
@@ -769,15 +769,15 @@ amd64_return_value (struct gdbarch *gdba
     {
       if (readbuf)
 	{
-	  regcache_raw_read (regcache, AMD64_ST0_REGNUM, readbuf);
-	  regcache_raw_read (regcache, AMD64_ST1_REGNUM, readbuf + 16);
+	  regcache->raw_read (AMD64_ST0_REGNUM, readbuf);
+	  regcache->raw_read (AMD64_ST1_REGNUM, readbuf + 16);
 	}
 
       if (writebuf)
 	{
 	  i387_return_value (gdbarch, regcache);
-	  regcache_raw_write (regcache, AMD64_ST0_REGNUM, writebuf);
-	  regcache_raw_write (regcache, AMD64_ST1_REGNUM, writebuf + 16);
+	  regcache->raw_write (AMD64_ST0_REGNUM, writebuf);
+	  regcache->raw_write (AMD64_ST1_REGNUM, writebuf + 16);
 
 	  /* Fix up the tag word such that both %st(0) and %st(1) are
 	     marked as valid.  */
@@ -844,11 +844,11 @@ amd64_return_value (struct gdbarch *gdba
       gdb_assert (regnum != -1);
 
       if (readbuf)
-	regcache_raw_read_part (regcache, regnum, offset, std::min (len, 8),
-				readbuf + i * 8);
+	regcache->raw_read_part (regnum, offset, std::min (len, 8),
+				 readbuf + i * 8);
       if (writebuf)
-	regcache_raw_write_part (regcache, regnum, offset, std::min (len, 8),
-				 writebuf + i * 8);
+	regcache->raw_write_part (regnum, offset, std::min (len, 8),
+				  writebuf + i * 8);
     }
 
   return RETURN_VALUE_REGISTER_CONVENTION;
@@ -956,7 +956,7 @@ amd64_push_arguments (struct regcache *r
 	      gdb_assert (regnum != -1);
 	      memset (buf, 0, sizeof buf);
 	      memcpy (buf, valbuf + j * 8, std::min (len, 8));
-	      regcache_raw_write_part (regcache, regnum, offset, 8, buf);
+	      regcache->raw_write_part (regnum, offset, 8, buf);
 	    }
 	}
     }
@@ -1010,7 +1010,7 @@ amd64_push_dummy_call (struct gdbarch *g
   if (struct_return)
     {
       store_unsigned_integer (buf, 8, byte_order, struct_addr);
-      regcache_cooked_write (regcache, AMD64_RDI_REGNUM, buf);
+      regcache->cooked_write (AMD64_RDI_REGNUM, buf);
     }
 
   /* Store return address.  */
@@ -1020,10 +1020,10 @@ amd64_push_dummy_call (struct gdbarch *g
 
   /* Finally, update the stack pointer...  */
   store_unsigned_integer (buf, 8, byte_order, sp);
-  regcache_cooked_write (regcache, AMD64_RSP_REGNUM, buf);
+  regcache->cooked_write (AMD64_RSP_REGNUM, buf);
 
   /* ...and fake a frame pointer.  */
-  regcache_cooked_write (regcache, AMD64_RBP_REGNUM, buf);
+  regcache->cooked_write (AMD64_RBP_REGNUM, buf);
 
   return sp + 16;
 }
@@ -3033,6 +3033,16 @@ static const int amd64_record_regmap[] =
   AMD64_DS_REGNUM, AMD64_ES_REGNUM, AMD64_FS_REGNUM, AMD64_GS_REGNUM
 };
 
+/* Implement the "in_indirect_branch_thunk" gdbarch function.  */
+
+static bool
+amd64_in_indirect_branch_thunk (struct gdbarch *gdbarch, CORE_ADDR pc)
+{
+  return x86_in_indirect_branch_thunk (pc, amd64_register_names,
+				       AMD64_RAX_REGNUM,
+				       AMD64_RIP_REGNUM);
+}
+
 void
 amd64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch,
 		const target_desc *default_tdesc)
@@ -3205,8 +3215,19 @@ amd64_init_abi (struct gdbarch_info info
   set_gdbarch_insn_is_call (gdbarch, amd64_insn_is_call);
   set_gdbarch_insn_is_ret (gdbarch, amd64_insn_is_ret);
   set_gdbarch_insn_is_jump (gdbarch, amd64_insn_is_jump);
+
+  set_gdbarch_in_indirect_branch_thunk (gdbarch,
+					amd64_in_indirect_branch_thunk);
+}
+
+/* Initialize ARCH for x86-64, no osabi.  */
+
+static void
+amd64_none_init_abi (gdbarch_info info, gdbarch *arch)
+{
+  amd64_init_abi (info, arch, amd64_target_description (X86_XSTATE_SSE_MASK,
+							true));
 }
-
 
 static struct type *
 amd64_x32_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
@@ -3240,22 +3261,33 @@ amd64_x32_init_abi (struct gdbarch_info 
   set_gdbarch_ptr_bit (gdbarch, 32);
 }
 
+/* Initialize ARCH for x64-32, no osabi.  */
+
+static void
+amd64_x32_none_init_abi (gdbarch_info info, gdbarch *arch)
+{
+  amd64_x32_init_abi (info, arch,
+		      amd64_target_description (X86_XSTATE_SSE_MASK, true));
+}
+
 /* Return the target description for a specified XSAVE feature mask.  */
 
 const struct target_desc *
-amd64_target_description (uint64_t xcr0)
+amd64_target_description (uint64_t xcr0, bool segments)
 {
   static target_desc *amd64_tdescs \
-    [2/*AVX*/][2/*MPX*/][2/*AVX512*/][2/*PKRU*/] = {};
+    [2/*AVX*/][2/*MPX*/][2/*AVX512*/][2/*PKRU*/][2/*segments*/] = {};
   target_desc **tdesc;
 
   tdesc = &amd64_tdescs[(xcr0 & X86_XSTATE_AVX) ? 1 : 0]
     [(xcr0 & X86_XSTATE_MPX) ? 1 : 0]
     [(xcr0 & X86_XSTATE_AVX512) ? 1 : 0]
-    [(xcr0 & X86_XSTATE_PKRU) ? 1 : 0];
+    [(xcr0 & X86_XSTATE_PKRU) ? 1 : 0]
+    [segments ? 1 : 0];
 
   if (*tdesc == NULL)
-    *tdesc = amd64_create_target_description (xcr0, false, false);
+    *tdesc = amd64_create_target_description (xcr0, false, false,
+					      segments);
 
   return *tdesc;
 }
@@ -3263,6 +3295,11 @@ amd64_target_description (uint64_t xcr0)
 void
 _initialize_amd64_tdep (void)
 {
+  gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64, GDB_OSABI_NONE,
+ 			  amd64_none_init_abi);
+  gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x64_32, GDB_OSABI_NONE,
+ 			  amd64_x32_none_init_abi);
+
 #if GDB_SELF_TEST
   struct
   {
@@ -3280,7 +3317,7 @@ _initialize_amd64_tdep (void)
 
   for (auto &a : xml_masks)
     {
-      auto tdesc = amd64_target_description (a.mask);
+      auto tdesc = amd64_target_description (a.mask, true);
 
       selftests::record_xml_tdesc (a.xml, tdesc);
     }
@@ -3315,9 +3352,9 @@ amd64_supply_fxsave (struct regcache *re
       const gdb_byte *regs = (const gdb_byte *) fxsave;
 
       if (regnum == -1 || regnum == I387_FISEG_REGNUM (tdep))
-	regcache_raw_supply (regcache, I387_FISEG_REGNUM (tdep), regs + 12);
+	regcache->raw_supply (I387_FISEG_REGNUM (tdep), regs + 12);
       if (regnum == -1 || regnum == I387_FOSEG_REGNUM (tdep))
-	regcache_raw_supply (regcache, I387_FOSEG_REGNUM (tdep), regs + 20);
+	regcache->raw_supply (I387_FOSEG_REGNUM (tdep), regs + 20);
     }
 }
 
@@ -3336,13 +3373,21 @@ amd64_supply_xsave (struct regcache *reg
       && gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 64)
     {
       const gdb_byte *regs = (const gdb_byte *) xsave;
+      static const gdb_byte zero[I386_MAX_REGISTER_SIZE] = { 0 };
+      ULONGEST clear_bv;
 
-      if (regnum == -1 || regnum == I387_FISEG_REGNUM (tdep))
-	regcache_raw_supply (regcache, I387_FISEG_REGNUM (tdep),
-			     regs + 12);
-      if (regnum == -1 || regnum == I387_FOSEG_REGNUM (tdep))
-	regcache_raw_supply (regcache, I387_FOSEG_REGNUM (tdep),
-			     regs + 20);
+      clear_bv = i387_xsave_get_clear_bv (gdbarch, xsave);
+
+      /* If the FISEG and FOSEG registers have not been initialised yet
+	 (their CLEAR_BV bit is set) then their default values of zero will
+	 have already been setup by I387_SUPPLY_XSAVE.  */
+      if (!(clear_bv & X86_XSTATE_X87))
+	{
+	  if (regnum == -1 || regnum == I387_FISEG_REGNUM (tdep))
+	    regcache->raw_supply (I387_FISEG_REGNUM (tdep), regs + 12);
+	  if (regnum == -1 || regnum == I387_FOSEG_REGNUM (tdep))
+	    regcache->raw_supply (I387_FOSEG_REGNUM (tdep), regs + 20);
+	}
     }
 }
 
@@ -3364,9 +3409,9 @@ amd64_collect_fxsave (const struct regca
   if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 64)
     {
       if (regnum == -1 || regnum == I387_FISEG_REGNUM (tdep))
-	regcache_raw_collect (regcache, I387_FISEG_REGNUM (tdep), regs + 12);
+	regcache->raw_collect (I387_FISEG_REGNUM (tdep), regs + 12);
       if (regnum == -1 || regnum == I387_FOSEG_REGNUM (tdep))
-	regcache_raw_collect (regcache, I387_FOSEG_REGNUM (tdep), regs + 20);
+	regcache->raw_collect (I387_FOSEG_REGNUM (tdep), regs + 20);
     }
 }
 
@@ -3385,10 +3430,10 @@ amd64_collect_xsave (const struct regcac
   if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 64)
     {
       if (regnum == -1 || regnum == I387_FISEG_REGNUM (tdep))
-	regcache_raw_collect (regcache, I387_FISEG_REGNUM (tdep),
+	regcache->raw_collect (I387_FISEG_REGNUM (tdep),
 			      regs + 12);
       if (regnum == -1 || regnum == I387_FOSEG_REGNUM (tdep))
-	regcache_raw_collect (regcache, I387_FOSEG_REGNUM (tdep),
+	regcache->raw_collect (I387_FOSEG_REGNUM (tdep),
 			      regs + 20);
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-tdep.h ./gdb/amd64-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-tdep.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-tdep.h	2018-07-10 02:06:12.000000000 +0000
@@ -106,7 +106,8 @@ extern void amd64_init_abi (struct gdbar
 extern void amd64_x32_init_abi (struct gdbarch_info info,
 				struct gdbarch *gdbarch,
 				const target_desc *default_tdesc);
-extern const struct target_desc *amd64_target_description (uint64_t xcr0);
+extern const struct target_desc *amd64_target_description (uint64_t xcr0,
+							   bool segments);
 
 /* Fill register REGNUM in REGCACHE with the appropriate
    floating-point or SSE register value from *FXSAVE.  If REGNUM is
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-windows-tdep.c ./gdb/amd64-windows-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/amd64-windows-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/amd64-windows-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -145,7 +145,7 @@ amd64_windows_store_arg_in_reg (struct r
   gdb_assert (TYPE_LENGTH (type) <= 8);
   memset (buf, 0, sizeof buf);
   memcpy (buf, valbuf, std::min (TYPE_LENGTH (type), (unsigned int) 8));
-  regcache_cooked_write (regcache, regno, buf);
+  regcache->cooked_write (regno, buf);
 }
 
 /* Push the arguments for an inferior function call, and return
@@ -262,7 +262,7 @@ amd64_windows_push_dummy_call
       const int arg_regnum = amd64_windows_dummy_call_integer_regs[0];
 
       store_unsigned_integer (buf, 8, byte_order, struct_addr);
-      regcache_cooked_write (regcache, arg_regnum, buf);
+      regcache->cooked_write (arg_regnum, buf);
     }
 
   /* Reserve some memory on the stack for the integer-parameter
@@ -276,10 +276,10 @@ amd64_windows_push_dummy_call
 
   /* Update the stack pointer...  */
   store_unsigned_integer (buf, 8, byte_order, sp);
-  regcache_cooked_write (regcache, AMD64_RSP_REGNUM, buf);
+  regcache->cooked_write (AMD64_RSP_REGNUM, buf);
 
   /* ...and fake a frame pointer.  */
-  regcache_cooked_write (regcache, AMD64_RBP_REGNUM, buf);
+  regcache->cooked_write (AMD64_RBP_REGNUM, buf);
 
   return sp + 16;
 }
@@ -329,9 +329,9 @@ amd64_windows_return_value (struct gdbar
     {
       /* Extract the return value from the register where it was stored.  */
       if (readbuf)
-	regcache_raw_read_part (regcache, regnum, 0, len, readbuf);
+	regcache->raw_read_part (regnum, 0, len, readbuf);
       if (writebuf)
-	regcache_raw_write_part (regcache, regnum, 0, len, writebuf);
+	regcache->raw_write_part (regnum, 0, len, writebuf);
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
 }
@@ -1226,7 +1226,7 @@ amd64_windows_init_abi (struct gdbarch_i
   frame_unwind_append_unwinder (gdbarch, &amd64_windows_frame_unwind);
 
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, false));
 
   windows_init_abi (info, gdbarch);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/annotate.c ./gdb/annotate.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/annotate.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/annotate.c	2018-07-10 02:06:12.000000000 +0000
@@ -22,7 +22,7 @@
 #include "target.h"
 #include "gdbtypes.h"
 #include "breakpoint.h"
-#include "observer.h"
+#include "observable.h"
 #include "inferior.h"
 #include "infrun.h"
 #include "top.h"
@@ -592,7 +592,7 @@ breakpoint_changed (struct breakpoint *b
 void
 _initialize_annotate (void)
 {
-  observer_attach_breakpoint_created (breakpoint_changed);
-  observer_attach_breakpoint_deleted (breakpoint_changed);
-  observer_attach_breakpoint_modified (breakpoint_changed);
+  gdb::observers::breakpoint_created.attach (breakpoint_changed);
+  gdb::observers::breakpoint_deleted.attach (breakpoint_changed);
+  gdb::observers::breakpoint_modified.attach (breakpoint_changed);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/aarch64.c ./gdb/arch/aarch64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/aarch64.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arch/aarch64.c	2018-07-10 02:06:12.000000000 +0000
@@ -15,17 +15,18 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-
+#include "common-defs.h"
 #include "aarch64.h"
 #include <stdlib.h>
 
 #include "../features/aarch64-core.c"
 #include "../features/aarch64-fpu.c"
+#include "../features/aarch64-sve.c"
 
-/* Create the aarch64 target description.  */
+/* See arch/aarch64.h.  */
 
 target_desc *
-aarch64_create_target_description ()
+aarch64_create_target_description (uint64_t vq)
 {
   target_desc *tdesc = allocate_target_description ();
 
@@ -36,7 +37,11 @@ aarch64_create_target_description ()
   long regnum = 0;
 
   regnum = create_feature_aarch64_core (tdesc, regnum);
-  regnum = create_feature_aarch64_fpu (tdesc, regnum);
+
+  if (vq == 0)
+    regnum = create_feature_aarch64_fpu (tdesc, regnum);
+  else
+    regnum = create_feature_aarch64_sve (tdesc, regnum, vq);
 
   return tdesc;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/aarch64.h ./gdb/arch/aarch64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/aarch64.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arch/aarch64.h	2018-07-10 02:06:12.000000000 +0000
@@ -20,11 +20,17 @@
 #ifndef ARCH_AARCH64_H
 #define ARCH_AARCH64_H
 
-#include "tdesc.h"
+#include "common/tdesc.h"
 
-target_desc *aarch64_create_target_description ();
+/* Create the aarch64 target description.  A non zero VQ value indicates both
+   the presence of SVE and the Vector Quotient - the number of 128bit chunks in
+   an SVE Z register.  */
 
-/* Register numbers of various important registers.  */
+target_desc *aarch64_create_target_description (uint64_t vq);
+
+/* Register numbers of various important registers.
+   Note that on SVE, the Z registers reuse the V register numbers and the V
+   registers become pseudo registers.  */
 enum aarch64_regnum
 {
   AARCH64_X0_REGNUM,		/* First integer register.  */
@@ -35,8 +41,15 @@ enum aarch64_regnum
   AARCH64_CPSR_REGNUM,		/* Current Program Status Register.  */
   AARCH64_V0_REGNUM,		/* First fp/vec register.  */
   AARCH64_V31_REGNUM = AARCH64_V0_REGNUM + 31,	/* Last fp/vec register.  */
+  AARCH64_SVE_Z0_REGNUM = AARCH64_V0_REGNUM,	/* First SVE Z register.  */
+  AARCH64_SVE_Z31_REGNUM = AARCH64_V31_REGNUM,  /* Last SVE Z register.  */
   AARCH64_FPSR_REGNUM,		/* Floating Point Status Register.  */
   AARCH64_FPCR_REGNUM,		/* Floating Point Control Register.  */
+  AARCH64_SVE_P0_REGNUM,	/* First SVE predicate register.  */
+  AARCH64_SVE_P15_REGNUM = AARCH64_SVE_P0_REGNUM + 15,	/* Last SVE predicate
+							   register.  */
+  AARCH64_SVE_FFR_REGNUM,	/* SVE First Fault Register.  */
+  AARCH64_SVE_VG_REGNUM,	/* SVE Vector Gradient.  */
 
   /* Other useful registers.  */
   AARCH64_LAST_X_ARG_REGNUM = AARCH64_X0_REGNUM + 7,
@@ -46,6 +59,34 @@ enum aarch64_regnum
 
 #define AARCH64_X_REGS_NUM 31
 #define AARCH64_V_REGS_NUM 32
+#define AARCH64_SVE_Z_REGS_NUM AARCH64_V_REGS_NUM
+#define AARCH64_SVE_P_REGS_NUM 16
 #define AARCH64_NUM_REGS AARCH64_FPCR_REGNUM + 1
+#define AARCH64_SVE_NUM_REGS AARCH64_SVE_VG_REGNUM + 1
+
+
+/* There are a number of ways of expressing the current SVE vector size:
+
+   VL : Vector Length.
+	The number of bytes in an SVE Z register.
+   VQ : Vector Quotient.
+	The number of 128bit chunks in an SVE Z register.
+   VG : Vector Gradient.
+	The number of 64bit chunks in an SVE Z register.  */
+
+#define sve_vg_from_vl(vl)	((vl) / 8)
+#define sve_vl_from_vg(vg)	((vg) * 8)
+#ifndef sve_vq_from_vl
+#define sve_vq_from_vl(vl)	((vl) / 0x10)
+#endif
+#ifndef sve_vl_from_vq
+#define sve_vl_from_vq(vq)	((vq) * 0x10)
+#endif
+#define sve_vq_from_vg(vg)	(sve_vq_from_vl (sve_vl_from_vg (vg)))
+#define sve_vg_from_vq(vq)	(sve_vg_from_vl (sve_vl_from_vq (vq)))
+
+
+/* Maximum supported VQ value.  Increase if required.  */
+#define AARCH64_MAX_SVE_VQ  16
 
 #endif /* ARCH_AARCH64_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/amd64.c ./gdb/arch/amd64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/amd64.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arch/amd64.c	2018-07-10 02:06:12.000000000 +0000
@@ -15,6 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include "common-defs.h"
 #include "amd64.h"
 #include "x86-xstate.h"
 #include <stdlib.h>
@@ -32,10 +33,12 @@
 
 /* Create amd64 target descriptions according to XCR0.  If IS_X32 is
    true, create the x32 ones.  If IS_LINUX is true, create target
-   descriptions for Linux.  */
+   descriptions for Linux.  If SEGMENTS is true, then include
+   the "org.gnu.gdb.i386.segments" feature registers.  */
 
 target_desc *
-amd64_create_target_description (uint64_t xcr0, bool is_x32, bool is_linux)
+amd64_create_target_description (uint64_t xcr0, bool is_x32, bool is_linux,
+				 bool segments)
 {
   target_desc *tdesc = allocate_target_description ();
 
@@ -56,7 +59,8 @@ amd64_create_target_description (uint64_
   regnum = create_feature_i386_64bit_sse (tdesc, regnum);
   if (is_linux)
     regnum = create_feature_i386_64bit_linux (tdesc, regnum);
-  regnum = create_feature_i386_64bit_segments (tdesc, regnum);
+  if (segments)
+    regnum = create_feature_i386_64bit_segments (tdesc, regnum);
 
   if (xcr0 & X86_XSTATE_AVX)
     regnum = create_feature_i386_64bit_avx (tdesc, regnum);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/amd64.h ./gdb/arch/amd64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/amd64.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arch/amd64.h	2018-07-10 02:06:12.000000000 +0000
@@ -15,8 +15,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "tdesc.h"
+#include "common/tdesc.h"
 #include <stdint.h>
 
 target_desc *amd64_create_target_description (uint64_t xcr0, bool is_x32,
-					      bool is_linux);
+					      bool is_linux, bool segments);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/arm.c ./gdb/arch/arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/arm.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arch/arm.c	2018-07-10 02:06:12.000000000 +0000
@@ -153,7 +153,8 @@ arm_instruction_changes_pc (uint32_t thi
 	       modify PC.  */
 	    return 0;
 	  }
-	/* Data processing instruction.  Fall through.  */
+	/* Data processing instruction.  */
+	/* Fall through.  */
 
       case 0x1:
 	if (bits (this_instr, 12, 15) == 15)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/i386.c ./gdb/arch/i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/i386.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arch/i386.c	2018-07-10 02:06:12.000000000 +0000
@@ -15,8 +15,9 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include "common-defs.h"
 #include "i386.h"
-#include "tdesc.h"
+#include "common/tdesc.h"
 #include "x86-xstate.h"
 #include <stdlib.h>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/i386.h ./gdb/arch/i386.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/i386.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arch/i386.h	2018-07-10 02:06:12.000000000 +0000
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "tdesc.h"
+#include "common/tdesc.h"
 #include <stdint.h>
 
 target_desc *i386_create_target_description (uint64_t xcr0, bool is_linux);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/ppc-linux-common.c ./gdb/arch/ppc-linux-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/ppc-linux-common.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/arch/ppc-linux-common.c	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,85 @@
+/* Common target dependent code for GNU/Linux on PPC systems.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include "arch/ppc-linux-common.h"
+#include "arch/ppc-linux-tdesc.h"
+
+/* Decimal Floating Point bit in AT_HWCAP.
+
+   This file can be used by a host with another architecture, e.g.
+   when debugging core files, which might not provide this constant.  */
+
+#ifndef PPC_FEATURE_HAS_DFP
+#define PPC_FEATURE_HAS_DFP	0x00000400
+#endif
+
+bool
+ppc_linux_has_isa205 (CORE_ADDR hwcap)
+{
+  /* Power ISA 2.05 (implemented by Power 6 and newer processors)
+     increases the FPSCR from 32 bits to 64 bits.  Even though Power 7
+     supports this ISA version, it doesn't have PPC_FEATURE_ARCH_2_05
+     set, only PPC_FEATURE_ARCH_2_06.  Since for now the only bits
+     used in the higher half of the register are for Decimal Floating
+     Point, we check if that feature is available to decide the size
+     of the FPSCR.  */
+  return ((hwcap & PPC_FEATURE_HAS_DFP) != 0);
+}
+
+const struct target_desc *
+ppc_linux_match_description (struct ppc_linux_features features)
+{
+  struct target_desc *tdesc = NULL;
+
+  if (features.wordsize == 8)
+    {
+      if (features.cell)
+	tdesc = tdesc_powerpc_cell64l;
+      else if (features.vsx)
+	tdesc = features.isa205
+	  ? tdesc_powerpc_isa205_vsx64l : tdesc_powerpc_vsx64l;
+      else if (features.altivec)
+	tdesc = features.isa205
+	  ? tdesc_powerpc_isa205_altivec64l : tdesc_powerpc_altivec64l;
+      else
+	tdesc = features.isa205?
+	  tdesc_powerpc_isa205_64l : tdesc_powerpc_64l;
+    }
+  else
+    {
+      gdb_assert (features.wordsize == 4);
+
+      if (features.cell)
+	tdesc = tdesc_powerpc_cell32l;
+      else if (features.vsx)
+	tdesc = features.isa205
+	  ? tdesc_powerpc_isa205_vsx32l : tdesc_powerpc_vsx32l;
+      else if (features.altivec)
+	tdesc = features.isa205
+	  ? tdesc_powerpc_isa205_altivec32l : tdesc_powerpc_altivec32l;
+      else
+	tdesc = features.isa205
+	  ? tdesc_powerpc_isa205_32l : tdesc_powerpc_32l;
+    }
+
+  gdb_assert (tdesc != NULL);
+
+  return tdesc;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/ppc-linux-common.h ./gdb/arch/ppc-linux-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/ppc-linux-common.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/arch/ppc-linux-common.h	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,60 @@
+/* Common target dependent code for GNU/Linux on PPC systems.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef ARCH_PPC_LINUX_COMMON_H
+#define ARCH_PPC_LINUX_COMMON_H
+
+struct target_desc;
+
+/* The core file VMX regset has 34 16-byte fields (32 16-byte vector
+   registers, plus two fields containing 4-byte registers, VSCR and
+   VRSAVE), while the ptrace calls return or read 33 16-byte fields
+   plus a 4-byte field for VRSAVE. For simplicity we use the longer
+   length for both cases.  */
+#define PPC_LINUX_SIZEOF_VRREGSET 544
+
+#define PPC_LINUX_SIZEOF_VSXREGSET 256
+
+/* Check if the hwcap auxv entry indicates that isa205 is supported.  */
+bool ppc_linux_has_isa205 (CORE_ADDR hwcap);
+
+/* Features used to determine the target description.  */
+struct ppc_linux_features
+{
+  unsigned int wordsize;
+  bool altivec;
+  bool vsx;
+  bool isa205;
+  bool cell;
+};
+
+/* Base value for ppc_linux_features variables.  */
+const struct ppc_linux_features ppc_linux_no_features = {
+  0,
+  false,
+  false,
+  false,
+  false,
+};
+
+/* Return a target description that matches FEATURES.  */
+const struct target_desc * ppc_linux_match_description
+(struct ppc_linux_features features);
+
+#endif /* ARCH_PPC_LINUX_COMMON_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/ppc-linux-tdesc.h ./gdb/arch/ppc-linux-tdesc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/ppc-linux-tdesc.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/arch/ppc-linux-tdesc.h	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,42 @@
+/* Target description declarations shared between gdb, gdbserver and IPA.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef ARCH_PPC_LINUX_TDESC_H
+#define ARCH_PPC_LINUX_TDESC_H
+
+struct target_desc;
+
+extern struct target_desc *tdesc_powerpc_32l;
+extern struct target_desc *tdesc_powerpc_altivec32l;
+extern struct target_desc *tdesc_powerpc_cell32l;
+extern struct target_desc *tdesc_powerpc_vsx32l;
+extern struct target_desc *tdesc_powerpc_isa205_32l;
+extern struct target_desc *tdesc_powerpc_isa205_altivec32l;
+extern struct target_desc *tdesc_powerpc_isa205_vsx32l;
+extern struct target_desc *tdesc_powerpc_e500l;
+
+extern struct target_desc *tdesc_powerpc_64l;
+extern struct target_desc *tdesc_powerpc_altivec64l;
+extern struct target_desc *tdesc_powerpc_cell64l;
+extern struct target_desc *tdesc_powerpc_vsx64l;
+extern struct target_desc *tdesc_powerpc_isa205_64l;
+extern struct target_desc *tdesc_powerpc_isa205_altivec64l;
+extern struct target_desc *tdesc_powerpc_isa205_vsx64l;
+
+#endif /* ARCH_PPC_LINUX_TDESC_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/tdesc.h ./gdb/arch/tdesc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/tdesc.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arch/tdesc.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,95 +0,0 @@
-/* Copyright (C) 2006-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef ARCH_TDESC_H
-#define ARCH_TDESC_H 1
-
-struct tdesc_feature;
-struct tdesc_type;
-struct tdesc_type_builtin;
-struct tdesc_type_vector;
-struct tdesc_type_with_fields;
-struct tdesc_reg;
-struct target_desc;
-
-/* Allocate a new target_desc.  */
-target_desc *allocate_target_description (void);
-
-/* Set TARGET_DESC's architecture by NAME.  */
-void set_tdesc_architecture (target_desc *target_desc,
-			     const char *name);
-
-/* Set TARGET_DESC's osabi by NAME.  */
-void set_tdesc_osabi (target_desc *target_desc, const char *name);
-
-/* Return the type associated with ID in the context of FEATURE, or
-   NULL if none.  */
-struct tdesc_type *tdesc_named_type (const struct tdesc_feature *feature,
-				     const char *id);
-
-/* Return the created feature named NAME in target description TDESC.  */
-struct tdesc_feature *tdesc_create_feature (struct target_desc *tdesc,
-					    const char *name,
-					    const char *xml = nullptr);
-
-
-/* Return the created vector tdesc_type named NAME in FEATURE.  */
-struct tdesc_type *tdesc_create_vector (struct tdesc_feature *feature,
-					const char *name,
-					struct tdesc_type *field_type,
-					int count);
-
-/* Return the created struct tdesc_type named NAME in FEATURE.  */
-tdesc_type_with_fields *tdesc_create_struct (struct tdesc_feature *feature,
-					     const char *name);
-
-/* Return the created union tdesc_type named NAME in FEATURE.  */
-tdesc_type_with_fields *tdesc_create_union (struct tdesc_feature *feature,
-					    const char *name);
-
-/* Return the created flags tdesc_type named NAME in FEATURE.  */
-tdesc_type_with_fields *tdesc_create_flags (struct tdesc_feature *feature,
-					    const char *name,
-					    int size);
-
-/* Add a new field to TYPE.  FIELD_NAME is its name, and FIELD_TYPE is
-   its type.  */
-void tdesc_add_field (tdesc_type_with_fields *type, const char *field_name,
-		      struct tdesc_type *field_type);
-
-/* Set the total length of TYPE.  Structs which contain bitfields may
-   omit the reserved bits, so the end of the last field may not
-   suffice.  */
-void tdesc_set_struct_size (tdesc_type_with_fields *type, int size);
-
-/* Add a new untyped bitfield to TYPE.
-   Untyped bitfields become either uint32 or uint64 depending on the size
-   of the underlying type.  */
-void tdesc_add_bitfield (tdesc_type_with_fields *type, const char *field_name,
-			 int start, int end);
-
-/* A flag is just a typed(bool) single-bit bitfield.
-   This function is kept to minimize changes in generated files.  */
-void tdesc_add_flag (tdesc_type_with_fields *type, int start,
-		     const char *flag_name);
-
-/* Create a register in feature FEATURE.  */
-void tdesc_create_reg (struct tdesc_feature *feature, const char *name,
-		       int regnum, int save_restore, const char *group,
-		       int bitsize, const char *type);
-
-#endif /* ARCH_TDESC_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/tic6x.c ./gdb/arch/tic6x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch/tic6x.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arch/tic6x.c	2018-07-10 02:06:12.000000000 +0000
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "tdesc.h"
+#include "common/tdesc.h"
 #include "tic6x.h"
 #include "common/common-defs.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch-utils.c ./gdb/arch-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch-utils.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arch-utils.c	2018-07-10 02:06:12.000000000 +0000
@@ -727,7 +727,6 @@ gdbarch_info_init (struct gdbarch_info *
   memset (info, 0, sizeof (struct gdbarch_info));
   info->byte_order = BFD_ENDIAN_UNKNOWN;
   info->byte_order_for_code = info->byte_order;
-  info->osabi = GDB_OSABI_UNINITIALIZED;
 }
 
 /* Similar to init, but this time fill in the blanks.  Information is
@@ -769,12 +768,15 @@ gdbarch_info_fill (struct gdbarch_info *
   if (info->byte_order == BFD_ENDIAN_UNKNOWN)
     info->byte_order = default_byte_order;
   info->byte_order_for_code = info->byte_order;
+  /* Wire the default to the last selected byte order.  */
+  default_byte_order = info->byte_order;
 
   /* "(gdb) set osabi ...".  Handled by gdbarch_lookup_osabi.  */
   /* From the manual override, or from file.  */
-  if (info->osabi == GDB_OSABI_UNINITIALIZED)
+  if (info->osabi == GDB_OSABI_UNKNOWN)
     info->osabi = gdbarch_lookup_osabi (info->abfd);
   /* From the target.  */
+
   if (info->osabi == GDB_OSABI_UNKNOWN && info->target_desc != NULL)
     info->osabi = tdesc_osabi (info->target_desc);
   /* From the configured default.  */
@@ -782,6 +784,9 @@ gdbarch_info_fill (struct gdbarch_info *
   if (info->osabi == GDB_OSABI_UNKNOWN)
     info->osabi = GDB_OSABI_DEFAULT;
 #endif
+  /* If we still don't know which osabi to pick, pick none.  */
+  if (info->osabi == GDB_OSABI_UNKNOWN)
+    info->osabi = GDB_OSABI_NONE;
 
   /* Must have at least filled in the architecture.  */
   gdb_assert (info->bfd_arch_info != NULL);
@@ -813,12 +818,12 @@ default_has_shared_address_space (struct
 
 int
 default_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr,
-				  char **msg)
+				  std::string *msg)
 {
   /* We don't know if maybe the target has some way to do fast
      tracepoints that doesn't need gdbarch, so always say yes.  */
   if (msg)
-    *msg = NULL;
+    msg->clear ();
   return 1;
 }
 
@@ -943,7 +948,7 @@ default_guess_tracepoint_registers (stru
   regs = (gdb_byte *) alloca (register_size (gdbarch, pc_regno));
   store_unsigned_integer (regs, register_size (gdbarch, pc_regno),
 			  gdbarch_byte_order (gdbarch), addr);
-  regcache_raw_supply (regcache, pc_regno, regs);
+  regcache->raw_supply (pc_regno, regs);
 }
 
 int
@@ -976,6 +981,22 @@ gdbarch_skip_prologue_noexcept (gdbarch 
   return new_pc;
 }
 
+/* See arch-utils.h.  */
+
+bool
+default_in_indirect_branch_thunk (gdbarch *gdbarch, CORE_ADDR pc)
+{
+  return false;
+}
+
+/* See arch-utils.h.  */
+
+ULONGEST
+default_type_align (struct gdbarch *gdbarch, struct type *type)
+{
+  return type_length_units (check_typedef (type));
+}
+
 void
 _initialize_gdbarch_utils (void)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch-utils.h ./gdb/arch-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arch-utils.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arch-utils.h	2018-07-10 02:06:12.000000000 +0000
@@ -202,7 +202,7 @@ extern struct gdbarch *get_current_arch 
 extern int default_has_shared_address_space (struct gdbarch *);
 
 extern int default_fast_tracepoint_valid_at (struct gdbarch *gdbarch,
-					     CORE_ADDR addr, char **msg);
+					     CORE_ADDR addr, std::string *msg);
 
 extern const gdb_byte *default_breakpoint_from_pc (struct gdbarch *gdbarch,
 						   CORE_ADDR *pcptr,
@@ -262,4 +262,13 @@ extern int default_print_insn (bfd_vma m
 extern CORE_ADDR gdbarch_skip_prologue_noexcept (gdbarch *gdbarch,
 						 CORE_ADDR pc) noexcept;
 
+/* Default implementation of gdbarch_in_indirect_branch_thunk that returns
+   false.  */
+extern bool default_in_indirect_branch_thunk (gdbarch *gdbarch,
+					      CORE_ADDR pc);
+
+/* Default implementation of gdbarch type_align method.  */
+extern ULONGEST default_type_align (struct gdbarch *gdbarch,
+				    struct type *type);
+
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arc-tdep.c ./gdb/arc-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arc-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arc-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -664,7 +664,7 @@ arc_push_dummy_call (struct gdbarch *gdb
 
 	  /* Note we don't use write_unsigned here, since that would convert
 	     the byte order, but we are already in the correct byte order.  */
-	  regcache_cooked_write (regcache, arg_reg, data);
+	  regcache->cooked_write (arg_reg, data);
 
 	  data += ARC_REGISTER_SIZE;
 	  total_space -= ARC_REGISTER_SIZE;
@@ -1957,6 +1957,15 @@ arc_tdesc_init (struct gdbarch_info info
   return TRUE;
 }
 
+/* Implement the type_align gdbarch function.  */
+
+static ULONGEST
+arc_type_align (struct gdbarch *gdbarch, struct type *type)
+{
+  type = check_typedef (type);
+  return std::min<ULONGEST> (4, TYPE_LENGTH (type));
+}
+
 /* Implement the "init" gdbarch method.  */
 
 static struct gdbarch *
@@ -1982,7 +1991,7 @@ arc_gdbarch_init (struct gdbarch_info in
   set_gdbarch_int_bit (gdbarch, 32);
   set_gdbarch_long_bit (gdbarch, 32);
   set_gdbarch_long_long_bit (gdbarch, 64);
-  set_gdbarch_long_long_align_bit (gdbarch, 32);
+  set_gdbarch_type_align (gdbarch, arc_type_align);
   set_gdbarch_float_bit (gdbarch, 32);
   set_gdbarch_float_format (gdbarch, floatformats_ieee_single);
   set_gdbarch_double_bit (gdbarch, 64);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-bsd-tdep.c ./gdb/arm-bsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-bsd-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arm-bsd-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -58,7 +58,7 @@ armbsd_supply_fpregset (const struct reg
   for (i = ARM_F0_REGNUM; i <= ARM_FPS_REGNUM; i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + armbsd_fpreg_offset (i));
+	regcache->raw_supply (i, regs + armbsd_fpreg_offset (i));
     }
 }
 
@@ -79,11 +79,11 @@ armbsd_supply_gregset (const struct regs
   for (i = ARM_A1_REGNUM; i <= ARM_PC_REGNUM; i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + i * 4);
+	regcache->raw_supply (i, regs + i * 4);
     }
 
   if (regnum == ARM_PS_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, i, regs + 16 * 4);
+    regcache->raw_supply (i, regs + 16 * 4);
 
   if (len >= ARMBSD_SIZEOF_GREGS + ARMBSD_SIZEOF_FPREGS)
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-fbsd-nat.c ./gdb/arm-fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-fbsd-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arm-fbsd-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -29,6 +29,15 @@
 #include "arm-fbsd-tdep.h"
 #include "inf-ptrace.h"
 
+struct arm_fbsd_nat_target : public fbsd_nat_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+  const struct target_desc *read_description () override;
+};
+
+static arm_fbsd_nat_target the_arm_fbsd_nat_target;
+
 /* Determine if PT_GETREGS fetches REGNUM.  */
 
 static bool
@@ -52,11 +61,10 @@ getvfpregs_supplies (struct gdbarch *gdb
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers.  */
 
-static void
-arm_fbsd_fetch_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regnum)
+void
+arm_fbsd_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
-  pid_t pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t pid = get_ptrace_pid (regcache->ptid ());
 
   struct gdbarch *gdbarch = regcache->arch ();
   if (regnum == -1 || getregs_supplies (gdbarch, regnum))
@@ -87,11 +95,10 @@ arm_fbsd_fetch_inferior_registers (struc
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers.  */
 
-static void
-arm_fbsd_store_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regnum)
+void
+arm_fbsd_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
-  pid_t pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t pid = get_ptrace_pid (regcache->ptid ());
 
   struct gdbarch *gdbarch = regcache->arch ();
   if (regnum == -1 || getregs_supplies (gdbarch, regnum))
@@ -127,25 +134,19 @@ arm_fbsd_store_inferior_registers (struc
 
 /* Implement the to_read_description method.  */
 
-static const struct target_desc *
-arm_fbsd_read_description (struct target_ops *ops)
+const struct target_desc *
+arm_fbsd_nat_target::read_description ()
 {
   const struct target_desc *desc;
 
-  desc = arm_fbsd_read_description_auxv (ops);
+  desc = arm_fbsd_read_description_auxv (this);
   if (desc == NULL)
-    desc = ops->beneath->to_read_description (ops->beneath);
+    desc = this->beneath ()->read_description ();
   return desc;
 }
 
 void
 _initialize_arm_fbsd_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = arm_fbsd_fetch_inferior_registers;
-  t->to_store_registers = arm_fbsd_store_inferior_registers;
-  t->to_read_description = arm_fbsd_read_description;
-  fbsd_nat_add_target (t);
+  add_inf_child_target (&the_arm_fbsd_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-linux-nat.c ./gdb/arm-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-linux-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arm-linux-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -24,7 +24,7 @@
 #include "linux-nat.h"
 #include "target-descriptions.h"
 #include "auxv.h"
-#include "observer.h"
+#include "observable.h"
 #include "gdbthread.h"
 
 #include "arm-tdep.h"
@@ -66,6 +66,49 @@
 
 extern int arm_apcs_32;
 
+class arm_linux_nat_target final : public linux_nat_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  /* Add our hardware breakpoint and watchpoint implementation.  */
+  int can_use_hw_breakpoint (enum bptype, int, int) override;
+
+  int insert_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override;
+
+  int remove_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override;
+
+  int region_ok_for_hw_watchpoint (CORE_ADDR, int) override;
+
+  int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+
+  int remove_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+  bool stopped_by_watchpoint () override;
+
+  bool stopped_data_address (CORE_ADDR *) override;
+
+  bool watchpoint_addr_within_range (CORE_ADDR, CORE_ADDR, int) override;
+
+  const struct target_desc *read_description () override;
+
+  /* Override linux_nat_target low methods.  */
+
+  /* Handle thread creation and exit.  */
+  void low_new_thread (struct lwp_info *lp) override;
+  void low_delete_thread (struct arch_lwp_info *lp) override;
+  void low_prepare_to_resume (struct lwp_info *lp) override;
+
+  /* Handle process creation and exit.  */
+  void low_new_fork (struct lwp_info *parent, pid_t child_pid) override;
+  void low_forget_process (pid_t pid) override;
+};
+
+static arm_linux_nat_target the_arm_linux_nat_target;
+
 /* Get the whole floating point state of the process and store it
    into regcache.  */
 
@@ -76,7 +119,7 @@ fetch_fpregs (struct regcache *regcache)
   gdb_byte fp[ARM_LINUX_SIZEOF_NWFPE];
 
   /* Get the thread id for the ptrace call.  */
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   /* Read the floating point state.  */
   if (have_ptrace_getregset == TRIBOOL_TRUE)
@@ -95,8 +138,7 @@ fetch_fpregs (struct regcache *regcache)
     perror_with_name (_("Unable to fetch the floating point registers."));
 
   /* Fetch fpsr.  */
-  regcache_raw_supply (regcache, ARM_FPS_REGNUM,
-		       fp + NWFPE_FPSR_OFFSET);
+  regcache->raw_supply (ARM_FPS_REGNUM, fp + NWFPE_FPSR_OFFSET);
 
   /* Fetch the floating point registers.  */
   for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++)
@@ -113,7 +155,7 @@ store_fpregs (const struct regcache *reg
   gdb_byte fp[ARM_LINUX_SIZEOF_NWFPE];
 
   /* Get the thread id for the ptrace call.  */
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   /* Read the floating point state.  */
   if (have_ptrace_getregset == TRIBOOL_TRUE)
@@ -133,12 +175,12 @@ store_fpregs (const struct regcache *reg
     perror_with_name (_("Unable to fetch the floating point registers."));
 
   /* Store fpsr.  */
-  if (REG_VALID == regcache_register_status (regcache, ARM_FPS_REGNUM))
-    regcache_raw_collect (regcache, ARM_FPS_REGNUM, fp + NWFPE_FPSR_OFFSET);
+  if (REG_VALID == regcache->get_register_status (ARM_FPS_REGNUM))
+    regcache->raw_collect (ARM_FPS_REGNUM, fp + NWFPE_FPSR_OFFSET);
 
   /* Store the floating point registers.  */
   for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++)
-    if (REG_VALID == regcache_register_status (regcache, regno))
+    if (REG_VALID == regcache->get_register_status (regno))
       collect_nwfpe_register (regcache, regno, fp);
 
   if (have_ptrace_getregset == TRIBOOL_TRUE)
@@ -167,7 +209,7 @@ fetch_regs (struct regcache *regcache)
   elf_gregset_t regs;
 
   /* Get the thread id for the ptrace call.  */
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
@@ -194,7 +236,7 @@ store_regs (const struct regcache *regca
   elf_gregset_t regs;
 
   /* Get the thread id for the ptrace call.  */
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   /* Fetch the general registers.  */
   if (have_ptrace_getregset == TRIBOOL_TRUE)
@@ -242,23 +284,22 @@ fetch_wmmx_regs (struct regcache *regcac
   int ret, regno, tid;
 
   /* Get the thread id for the ptrace call.  */
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   ret = ptrace (PTRACE_GETWMMXREGS, tid, 0, regbuf);
   if (ret < 0)
     perror_with_name (_("Unable to fetch WMMX registers."));
 
   for (regno = 0; regno < 16; regno++)
-    regcache_raw_supply (regcache, regno + ARM_WR0_REGNUM,
-			 &regbuf[regno * 8]);
+    regcache->raw_supply (regno + ARM_WR0_REGNUM, &regbuf[regno * 8]);
 
   for (regno = 0; regno < 2; regno++)
-    regcache_raw_supply (regcache, regno + ARM_WCSSF_REGNUM,
-			 &regbuf[16 * 8 + regno * 4]);
+    regcache->raw_supply (regno + ARM_WCSSF_REGNUM,
+			  &regbuf[16 * 8 + regno * 4]);
 
   for (regno = 0; regno < 4; regno++)
-    regcache_raw_supply (regcache, regno + ARM_WCGR0_REGNUM,
-			 &regbuf[16 * 8 + 2 * 4 + regno * 4]);
+    regcache->raw_supply (regno + ARM_WCGR0_REGNUM,
+			  &regbuf[16 * 8 + 2 * 4 + regno * 4]);
 }
 
 static void
@@ -268,29 +309,25 @@ store_wmmx_regs (const struct regcache *
   int ret, regno, tid;
 
   /* Get the thread id for the ptrace call.  */
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   ret = ptrace (PTRACE_GETWMMXREGS, tid, 0, regbuf);
   if (ret < 0)
     perror_with_name (_("Unable to fetch WMMX registers."));
 
   for (regno = 0; regno < 16; regno++)
-    if (REG_VALID == regcache_register_status (regcache,
-					       regno + ARM_WR0_REGNUM))
-      regcache_raw_collect (regcache, regno + ARM_WR0_REGNUM,
-			    &regbuf[regno * 8]);
+    if (REG_VALID == regcache->get_register_status (regno + ARM_WR0_REGNUM))
+      regcache->raw_collect (regno + ARM_WR0_REGNUM, &regbuf[regno * 8]);
 
   for (regno = 0; regno < 2; regno++)
-    if (REG_VALID == regcache_register_status (regcache,
-					       regno + ARM_WCSSF_REGNUM))
-      regcache_raw_collect (regcache, regno + ARM_WCSSF_REGNUM,
-			    &regbuf[16 * 8 + regno * 4]);
+    if (REG_VALID == regcache->get_register_status (regno + ARM_WCSSF_REGNUM))
+      regcache->raw_collect (regno + ARM_WCSSF_REGNUM,
+			     &regbuf[16 * 8 + regno * 4]);
 
   for (regno = 0; regno < 4; regno++)
-    if (REG_VALID == regcache_register_status (regcache,
-					       regno + ARM_WCGR0_REGNUM))
-      regcache_raw_collect (regcache, regno + ARM_WCGR0_REGNUM,
-			    &regbuf[16 * 8 + 2 * 4 + regno * 4]);
+    if (REG_VALID == regcache->get_register_status (regno + ARM_WCGR0_REGNUM))
+      regcache->raw_collect (regno + ARM_WCGR0_REGNUM,
+			     &regbuf[16 * 8 + 2 * 4 + regno * 4]);
 
   ret = ptrace (PTRACE_SETWMMXREGS, tid, 0, regbuf);
 
@@ -307,7 +344,7 @@ fetch_vfp_regs (struct regcache *regcach
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
   /* Get the thread id for the ptrace call.  */
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
@@ -336,7 +373,7 @@ store_vfp_regs (const struct regcache *r
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
   /* Get the thread id for the ptrace call.  */
-  tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  tid = regcache->ptid ().lwp ();
 
   if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
@@ -374,9 +411,8 @@ store_vfp_regs (const struct regcache *r
    regno == -1, otherwise fetch all general registers or all floating
    point registers depending upon the value of regno.  */
 
-static void
-arm_linux_fetch_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regno)
+void
+arm_linux_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -412,9 +448,8 @@ arm_linux_fetch_inferior_registers (stru
    regno == -1, otherwise store all general registers or all floating
    point registers depending upon the value of regno.  */
 
-static void
-arm_linux_store_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regno)
+void
+arm_linux_nat_target::store_registers (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -495,8 +530,8 @@ ps_get_thread_area (struct ps_prochandle
   return PS_OK;
 }
 
-static const struct target_desc *
-arm_linux_read_description (struct target_ops *ops)
+const struct target_desc *
+arm_linux_nat_target::read_description ()
 {
   CORE_ADDR arm_hwcap = 0;
 
@@ -504,7 +539,7 @@ arm_linux_read_description (struct targe
     {
       elf_gregset_t gpregs;
       struct iovec iov;
-      int tid = ptid_get_lwp (inferior_ptid);
+      int tid = inferior_ptid.lwp ();
 
       iov.iov_base = &gpregs;
       iov.iov_len = sizeof (gpregs);
@@ -516,9 +551,9 @@ arm_linux_read_description (struct targe
 	have_ptrace_getregset = TRIBOOL_TRUE;
     }
 
-  if (target_auxv_search (ops, AT_HWCAP, &arm_hwcap) != 1)
+  if (target_auxv_search (this, AT_HWCAP, &arm_hwcap) != 1)
     {
-      return ops->beneath->to_read_description (ops->beneath);
+      return this->beneath ()->read_description ();
     }
 
   if (arm_hwcap & HWCAP_IWMMXT)
@@ -541,7 +576,7 @@ arm_linux_read_description (struct targe
 
       /* Now make sure that the kernel supports reading these
 	 registers.  Support was added in 2.6.30.  */
-      pid = ptid_get_lwp (inferior_ptid);
+      pid = inferior_ptid.lwp ();
       errno = 0;
       buf = (char *) alloca (VFP_REGS_SIZE);
       if (ptrace (PTRACE_GETVFPREGS, pid, 0, buf) < 0
@@ -551,7 +586,7 @@ arm_linux_read_description (struct targe
       return result;
     }
 
-  return ops->beneath->to_read_description (ops->beneath);
+  return this->beneath ()->read_description ();
 }
 
 /* Information describing the hardware breakpoint capabilities.  */
@@ -587,7 +622,7 @@ arm_linux_get_hwbp_cap (void)
       int tid;
       unsigned int val;
 
-      tid = ptid_get_lwp (inferior_ptid);
+      tid = inferior_ptid.lwp ();
       if (ptrace (PTRACE_GETHBPREGS, tid, 0, &val) < 0)
 	available = 0;
       else
@@ -635,10 +670,9 @@ arm_linux_get_hw_watchpoint_count (void)
 
 /* Have we got a free break-/watch-point available for use?  Returns -1 if
    there is not an appropriate resource available, otherwise returns 1.  */
-static int
-arm_linux_can_use_hw_breakpoint (struct target_ops *self,
-				 enum bptype type,
-				 int cnt, int ot)
+int
+arm_linux_nat_target::can_use_hw_breakpoint (enum bptype type,
+					     int cnt, int ot)
 {
   if (type == bp_hardware_watchpoint || type == bp_read_watchpoint
       || type == bp_access_watchpoint || type == bp_watchpoint)
@@ -786,8 +820,8 @@ arm_linux_process_info_get (pid_t pid)
 /* Called whenever GDB is no longer debugging process PID.  It deletes
    data structures that keep track of debug register state.  */
 
-static void
-arm_linux_forget_process (pid_t pid)
+void
+arm_linux_nat_target::low_forget_process (pid_t pid)
 {
   struct arm_linux_process_info *proc, **proc_link;
 
@@ -959,8 +993,8 @@ arm_linux_insert_hw_breakpoint1 (const s
   struct arm_linux_hw_breakpoint* bpts;
   struct update_registers_data data;
 
-  pid = ptid_get_pid (inferior_ptid);
-  pid_ptid = pid_to_ptid (pid);
+  pid = inferior_ptid.pid ();
+  pid_ptid = ptid_t (pid);
 
   if (watchpoint)
     {
@@ -998,8 +1032,8 @@ arm_linux_remove_hw_breakpoint1 (const s
   struct arm_linux_hw_breakpoint* bpts;
   struct update_registers_data data;
 
-  pid = ptid_get_pid (inferior_ptid);
-  pid_ptid = pid_to_ptid (pid);
+  pid = inferior_ptid.pid ();
+  pid_ptid = ptid_t (pid);
 
   if (watchpoint)
     {
@@ -1026,10 +1060,9 @@ arm_linux_remove_hw_breakpoint1 (const s
 }
 
 /* Insert a Hardware breakpoint.  */
-static int
-arm_linux_insert_hw_breakpoint (struct target_ops *self,
-				struct gdbarch *gdbarch, 
-				struct bp_target_info *bp_tgt)
+int
+arm_linux_nat_target::insert_hw_breakpoint (struct gdbarch *gdbarch,
+					    struct bp_target_info *bp_tgt)
 {
   struct lwp_info *lp;
   struct arm_linux_hw_breakpoint p;
@@ -1045,10 +1078,9 @@ arm_linux_insert_hw_breakpoint (struct t
 }
 
 /* Remove a hardware breakpoint.  */
-static int
-arm_linux_remove_hw_breakpoint (struct target_ops *self,
-				struct gdbarch *gdbarch, 
-				struct bp_target_info *bp_tgt)
+int
+arm_linux_nat_target::remove_hw_breakpoint (struct gdbarch *gdbarch,
+					    struct bp_target_info *bp_tgt)
 {
   struct lwp_info *lp;
   struct arm_linux_hw_breakpoint p;
@@ -1065,9 +1097,8 @@ arm_linux_remove_hw_breakpoint (struct t
 
 /* Are we able to use a hardware watchpoint for the LEN bytes starting at 
    ADDR?  */
-static int
-arm_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
-				       CORE_ADDR addr, int len)
+int
+arm_linux_nat_target::region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
 {
   const struct arm_linux_hwbp_cap *cap = arm_linux_get_hwbp_cap ();
   CORE_ADDR max_wp_length, aligned_addr;
@@ -1098,11 +1129,10 @@ arm_linux_region_ok_for_hw_watchpoint (s
 }
 
 /* Insert a Hardware breakpoint.  */
-static int
-arm_linux_insert_watchpoint (struct target_ops *self,
-			     CORE_ADDR addr, int len,
-			     enum target_hw_bp_type rw,
-			     struct expression *cond)
+int
+arm_linux_nat_target::insert_watchpoint (CORE_ADDR addr, int len,
+					 enum target_hw_bp_type rw,
+					 struct expression *cond)
 {
   struct lwp_info *lp;
   struct arm_linux_hw_breakpoint p;
@@ -1118,10 +1148,10 @@ arm_linux_insert_watchpoint (struct targ
 }
 
 /* Remove a hardware breakpoint.  */
-static int
-arm_linux_remove_watchpoint (struct target_ops *self, CORE_ADDR addr,
-			     int len, enum target_hw_bp_type rw,
-			     struct expression *cond)
+int
+arm_linux_nat_target::remove_watchpoint (CORE_ADDR addr,
+					 int len, enum target_hw_bp_type rw,
+					 struct expression *cond)
 {
   struct lwp_info *lp;
   struct arm_linux_hw_breakpoint p;
@@ -1137,19 +1167,19 @@ arm_linux_remove_watchpoint (struct targ
 }
 
 /* What was the data address the target was stopped on accessing.  */
-static int
-arm_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
+bool
+arm_linux_nat_target::stopped_data_address (CORE_ADDR *addr_p)
 {
   siginfo_t siginfo;
   int slot;
 
   if (!linux_nat_get_siginfo (inferior_ptid, &siginfo))
-    return 0;
+    return false;
 
   /* This must be a hardware breakpoint.  */
   if (siginfo.si_signo != SIGTRAP
       || (siginfo.si_code & 0xffff) != 0x0004 /* TRAP_HWBKPT */)
-    return 0;
+    return false;
 
   /* We must be able to set hardware watchpoints.  */
   if (arm_linux_get_hw_watchpoint_count () == 0)
@@ -1160,32 +1190,32 @@ arm_linux_stopped_data_address (struct t
   /* If we are in a positive slot then we're looking at a breakpoint and not
      a watchpoint.  */
   if (slot >= 0)
-    return 0;
+    return false;
 
   *addr_p = (CORE_ADDR) (uintptr_t) siginfo.si_addr;
-  return 1;
+  return true;
 }
 
 /* Has the target been stopped by hitting a watchpoint?  */
-static int
-arm_linux_stopped_by_watchpoint (struct target_ops *ops)
+bool
+arm_linux_nat_target::stopped_by_watchpoint ()
 {
   CORE_ADDR addr;
-  return arm_linux_stopped_data_address (ops, &addr);
+  return stopped_data_address (&addr);
 }
 
-static int
-arm_linux_watchpoint_addr_within_range (struct target_ops *target,
-					CORE_ADDR addr,
-					CORE_ADDR start, int length)
+bool
+arm_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr,
+						    CORE_ADDR start,
+						    int length)
 {
   return start <= addr && start + length - 1 >= addr;
 }
 
 /* Handle thread creation.  We need to copy the breakpoints and watchpoints
    in the parent thread to the child thread.  */
-static void
-arm_linux_new_thread (struct lwp_info *lp)
+void
+arm_linux_nat_target::low_new_thread (struct lwp_info *lp)
 {
   int i;
   struct arch_lwp_info *info = XCNEW (struct arch_lwp_info);
@@ -1204,8 +1234,8 @@ arm_linux_new_thread (struct lwp_info *l
 
 /* Function to call when a thread is being deleted.  */
 
-static void
-arm_linux_delete_thread (struct arch_lwp_info *arch_lwp)
+void
+arm_linux_nat_target::low_delete_thread (struct arch_lwp_info *arch_lwp)
 {
   xfree (arch_lwp);
 }
@@ -1213,16 +1243,16 @@ arm_linux_delete_thread (struct arch_lwp
 /* Called when resuming a thread.
    The hardware debug registers are updated when there is any change.  */
 
-static void
-arm_linux_prepare_to_resume (struct lwp_info *lwp)
+void
+arm_linux_nat_target::low_prepare_to_resume (struct lwp_info *lwp)
 {
   int pid, i;
   struct arm_linux_hw_breakpoint *bpts, *wpts;
   struct arch_lwp_info *arm_lwp_info = lwp->arch_private;
 
-  pid = ptid_get_lwp (lwp->ptid);
-  bpts = arm_linux_get_debug_reg_state (ptid_get_pid (lwp->ptid))->bpts;
-  wpts = arm_linux_get_debug_reg_state (ptid_get_pid (lwp->ptid))->wpts;
+  pid = lwp->ptid.lwp ();
+  bpts = arm_linux_get_debug_reg_state (lwp->ptid.pid ())->bpts;
+  wpts = arm_linux_get_debug_reg_state (lwp->ptid.pid ())->wpts;
 
   /* NULL means this is the main thread still going through the shell,
      or, no watchpoint has been set yet.  In that case, there's
@@ -1267,8 +1297,8 @@ arm_linux_prepare_to_resume (struct lwp_
 
 /* linux_nat_new_fork hook.  */
 
-static void
-arm_linux_new_fork (struct lwp_info *parent, pid_t child_pid)
+void
+arm_linux_nat_target::low_new_fork (struct lwp_info *parent, pid_t child_pid)
 {
   pid_t parent_pid;
   struct arm_linux_debug_reg_state *parent_state;
@@ -1285,7 +1315,7 @@ arm_linux_new_fork (struct lwp_info *par
      new process so that all breakpoints and watchpoints can be
      removed together.  */
 
-  parent_pid = ptid_get_pid (parent->ptid);
+  parent_pid = parent->ptid.pid ();
   parent_state = arm_linux_get_debug_reg_state (parent_pid);
   child_state = arm_linux_get_debug_reg_state (child_pid);
   *child_state = *parent_state;
@@ -1294,37 +1324,7 @@ arm_linux_new_fork (struct lwp_info *par
 void
 _initialize_arm_linux_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
-  /* Add our register access methods.  */
-  t->to_fetch_registers = arm_linux_fetch_inferior_registers;
-  t->to_store_registers = arm_linux_store_inferior_registers;
-
-  /* Add our hardware breakpoint and watchpoint implementation.  */
-  t->to_can_use_hw_breakpoint = arm_linux_can_use_hw_breakpoint;
-  t->to_insert_hw_breakpoint = arm_linux_insert_hw_breakpoint;
-  t->to_remove_hw_breakpoint = arm_linux_remove_hw_breakpoint;
-  t->to_region_ok_for_hw_watchpoint = arm_linux_region_ok_for_hw_watchpoint;
-  t->to_insert_watchpoint = arm_linux_insert_watchpoint;
-  t->to_remove_watchpoint = arm_linux_remove_watchpoint;
-  t->to_stopped_by_watchpoint = arm_linux_stopped_by_watchpoint;
-  t->to_stopped_data_address = arm_linux_stopped_data_address;
-  t->to_watchpoint_addr_within_range = arm_linux_watchpoint_addr_within_range;
-
-  t->to_read_description = arm_linux_read_description;
-
   /* Register the target.  */
-  linux_nat_add_target (t);
-
-  /* Handle thread creation and exit.  */
-  linux_nat_set_new_thread (t, arm_linux_new_thread);
-  linux_nat_set_delete_thread (t, arm_linux_delete_thread);
-  linux_nat_set_prepare_to_resume (t, arm_linux_prepare_to_resume);
-
-  /* Handle process creation and exit.  */
-  linux_nat_set_new_fork (t, arm_linux_new_fork);
-  linux_nat_set_forget_process (t, arm_linux_forget_process);
+  linux_target = &the_arm_linux_nat_target;
+  add_inf_child_target (&the_arm_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-linux-tdep.c ./gdb/arm-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-linux-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arm-linux-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -487,16 +487,15 @@ arm_linux_supply_gregset (const struct r
 
   for (regno = ARM_A1_REGNUM; regno < ARM_PC_REGNUM; regno++)
     if (regnum == -1 || regnum == regno)
-      regcache_raw_supply (regcache, regno,
-			   gregs + INT_REGISTER_SIZE * regno);
+      regcache->raw_supply (regno, gregs + INT_REGISTER_SIZE * regno);
 
   if (regnum == ARM_PS_REGNUM || regnum == -1)
     {
       if (arm_apcs_32)
-	regcache_raw_supply (regcache, ARM_PS_REGNUM,
-			     gregs + INT_REGISTER_SIZE * ARM_CPSR_GREGNUM);
+	regcache->raw_supply (ARM_PS_REGNUM,
+			      gregs + INT_REGISTER_SIZE * ARM_CPSR_GREGNUM);
       else
-	regcache_raw_supply (regcache, ARM_PS_REGNUM,
+	regcache->raw_supply (ARM_PS_REGNUM,
 			     gregs + INT_REGISTER_SIZE * ARM_PC_REGNUM);
     }
 
@@ -507,7 +506,7 @@ arm_linux_supply_gregset (const struct r
 					 INT_REGISTER_SIZE, byte_order);
       reg_pc = gdbarch_addr_bits_remove (gdbarch, reg_pc);
       store_unsigned_integer (pc_buf, INT_REGISTER_SIZE, byte_order, reg_pc);
-      regcache_raw_supply (regcache, ARM_PC_REGNUM, pc_buf);
+      regcache->raw_supply (ARM_PC_REGNUM, pc_buf);
     }
 }
 
@@ -521,22 +520,22 @@ arm_linux_collect_gregset (const struct 
 
   for (regno = ARM_A1_REGNUM; regno < ARM_PC_REGNUM; regno++)
     if (regnum == -1 || regnum == regno)
-      regcache_raw_collect (regcache, regno,
+      regcache->raw_collect (regno,
 			    gregs + INT_REGISTER_SIZE * regno);
 
   if (regnum == ARM_PS_REGNUM || regnum == -1)
     {
       if (arm_apcs_32)
-	regcache_raw_collect (regcache, ARM_PS_REGNUM,
+	regcache->raw_collect (ARM_PS_REGNUM,
 			      gregs + INT_REGISTER_SIZE * ARM_CPSR_GREGNUM);
       else
-	regcache_raw_collect (regcache, ARM_PS_REGNUM,
+	regcache->raw_collect (ARM_PS_REGNUM,
 			      gregs + INT_REGISTER_SIZE * ARM_PC_REGNUM);
     }
 
   if (regnum == ARM_PC_REGNUM || regnum == -1)
-    regcache_raw_collect (regcache, ARM_PC_REGNUM,
-			  gregs + INT_REGISTER_SIZE * ARM_PC_REGNUM);
+    regcache->raw_collect (ARM_PC_REGNUM,
+			   gregs + INT_REGISTER_SIZE * ARM_PC_REGNUM);
 }
 
 /* Support for register format used by the NWFPE FPA emulator.  */
@@ -578,7 +577,7 @@ supply_nwfpe_register (struct regcache *
       break;
     }
 
-  regcache_raw_supply (regcache, regno, buf);
+  regcache->raw_supply (regno, buf);
 }
 
 void
@@ -589,7 +588,7 @@ collect_nwfpe_register (const struct reg
   gdb_byte reg_tag;
   gdb_byte buf[FP_REGISTER_SIZE];
 
-  regcache_raw_collect (regcache, regno, buf);
+  regcache->raw_collect (regno, buf);
 
   /* NOTE drow/2006-06-07: This code uses the tag already in the
      register buffer.  I've preserved that when moving the code
@@ -627,7 +626,7 @@ arm_linux_supply_nwfpe (const struct reg
   int regno;
 
   if (regnum == ARM_FPS_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, ARM_FPS_REGNUM,
+    regcache->raw_supply (ARM_FPS_REGNUM,
 			 regs + NWFPE_FPSR_OFFSET);
 
   for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++)
@@ -648,8 +647,8 @@ arm_linux_collect_nwfpe (const struct re
       collect_nwfpe_register (regcache, regno, regs);
 
   if (regnum == ARM_FPS_REGNUM || regnum == -1)
-    regcache_raw_collect (regcache, ARM_FPS_REGNUM,
-			  regs + INT_REGISTER_SIZE * ARM_FPS_REGNUM);
+    regcache->raw_collect (ARM_FPS_REGNUM,
+			   regs + INT_REGISTER_SIZE * ARM_FPS_REGNUM);
 }
 
 /* Support VFP register format.  */
@@ -665,12 +664,11 @@ arm_linux_supply_vfp (const struct regse
   int regno;
 
   if (regnum == ARM_FPSCR_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, ARM_FPSCR_REGNUM, regs + 32 * 8);
+    regcache->raw_supply (ARM_FPSCR_REGNUM, regs + 32 * 8);
 
   for (regno = ARM_D0_REGNUM; regno <= ARM_D31_REGNUM; regno++)
     if (regnum == -1 || regnum == regno)
-      regcache_raw_supply (regcache, regno,
-			   regs + (regno - ARM_D0_REGNUM) * 8);
+      regcache->raw_supply (regno, regs + (regno - ARM_D0_REGNUM) * 8);
 }
 
 static void
@@ -682,12 +680,11 @@ arm_linux_collect_vfp (const struct regs
   int regno;
 
   if (regnum == ARM_FPSCR_REGNUM || regnum == -1)
-    regcache_raw_collect (regcache, ARM_FPSCR_REGNUM, regs + 32 * 8);
+    regcache->raw_collect (ARM_FPSCR_REGNUM, regs + 32 * 8);
 
   for (regno = ARM_D0_REGNUM; regno <= ARM_D31_REGNUM; regno++)
     if (regnum == -1 || regnum == regno)
-      regcache_raw_collect (regcache, regno,
-			    regs + (regno - ARM_D0_REGNUM) * 8);
+      regcache->raw_collect (regno, regs + (regno - ARM_D0_REGNUM) * 8);
 }
 
 static const struct regset arm_linux_gregset =
@@ -822,9 +819,9 @@ arm_linux_sigreturn_next_pc (struct regc
 
 static LONGEST
 arm_linux_get_syscall_number (struct gdbarch *gdbarch,
-			      ptid_t ptid)
+			      thread_info *thread)
 {
-  struct regcache *regs = get_thread_regcache (ptid);
+  struct regcache *regs = get_thread_regcache (thread);
 
   ULONGEST pc;
   ULONGEST cpsr;
@@ -1712,6 +1709,15 @@ arm_linux_skip_trampoline_code (struct f
   return find_solib_trampoline_target (frame, pc);
 }
 
+/* Implement the gcc_target_options gdbarch method.  */
+
+static char *
+arm_linux_gcc_target_options (struct gdbarch *gdbarch)
+{
+  /* GCC doesn't know "-m32".  */
+  return NULL;
+}
+
 static void
 arm_linux_init_abi (struct gdbarch_info info,
 		    struct gdbarch *gdbarch)
@@ -1992,6 +1998,8 @@ arm_linux_init_abi (struct gdbarch_info 
   arm_linux_record_tdep.arg5 = ARM_A1_REGNUM + 4;
   arm_linux_record_tdep.arg6 = ARM_A1_REGNUM + 5;
   arm_linux_record_tdep.arg7 = ARM_A1_REGNUM + 6;
+
+  set_gdbarch_gcc_target_options (gdbarch, arm_linux_gcc_target_options);
 }
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-nbsd-nat.c ./gdb/arm-nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-nbsd-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arm-nbsd-nat.c	2018-07-10 02:06:12.000000000 +0000
@@ -30,6 +30,16 @@
 #include "arm-tdep.h"
 #include "inf-ptrace.h"
 
+class arm_netbsd_nat_target final : public inf_ptrace_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static arm_netbsd_nat_target the_arm_netbsd_nat_target;
+
 extern int arm_apcs_32;
 
 static void
@@ -40,22 +50,18 @@ arm_supply_gregset (struct regcache *reg
 
   /* Integer registers.  */
   for (regno = ARM_A1_REGNUM; regno < ARM_SP_REGNUM; regno++)
-    regcache_raw_supply (regcache, regno, (char *) &gregset->r[regno]);
+    regcache->raw_supply (regno, (char *) &gregset->r[regno]);
 
-  regcache_raw_supply (regcache, ARM_SP_REGNUM,
-		       (char *) &gregset->r_sp);
-  regcache_raw_supply (regcache, ARM_LR_REGNUM,
-		       (char *) &gregset->r_lr);
+  regcache->raw_supply (ARM_SP_REGNUM, (char *) &gregset->r_sp);
+  regcache->raw_supply (ARM_LR_REGNUM, (char *) &gregset->r_lr);
   /* This is ok: we're running native...  */
   r_pc = gdbarch_addr_bits_remove (regcache->arch (), gregset->r_pc);
-  regcache_raw_supply (regcache, ARM_PC_REGNUM, (char *) &r_pc);
+  regcache->raw_supply (ARM_PC_REGNUM, (char *) &r_pc);
 
   if (arm_apcs_32)
-    regcache_raw_supply (regcache, ARM_PS_REGNUM,
-			 (char *) &gregset->r_cpsr);
+    regcache->raw_supply (ARM_PS_REGNUM, (char *) &gregset->r_cpsr);
   else
-    regcache_raw_supply (regcache, ARM_PS_REGNUM,
-			 (char *) &gregset->r_pc);
+    regcache->raw_supply (ARM_PS_REGNUM, (char *) &gregset->r_pc);
 }
 
 static void
@@ -64,11 +70,10 @@ arm_supply_fparegset (struct regcache *r
   int regno;
 
   for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++)
-    regcache_raw_supply (regcache, regno,
-			 (char *) &fparegset->fpr[regno - ARM_F0_REGNUM]);
+    regcache->raw_supply (regno,
+			  (char *) &fparegset->fpr[regno - ARM_F0_REGNUM]);
 
-  regcache_raw_supply (regcache, ARM_FPS_REGNUM,
-		       (char *) &fparegset->fpr_fpsr);
+  regcache->raw_supply (ARM_FPS_REGNUM, (char *) &fparegset->fpr_fpsr);
 }
 
 static void
@@ -77,7 +82,7 @@ fetch_register (struct regcache *regcach
   struct reg inferior_registers;
   int ret;
 
-  ret = ptrace (PT_GETREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+  ret = ptrace (PT_GETREGS, regcache->ptid ().pid (),
 		(PTRACE_TYPE_ARG3) &inferior_registers, 0);
 
   if (ret < 0)
@@ -89,13 +94,11 @@ fetch_register (struct regcache *regcach
   switch (regno)
     {
     case ARM_SP_REGNUM:
-      regcache_raw_supply (regcache, ARM_SP_REGNUM,
-			   (char *) &inferior_registers.r_sp);
+      regcache->raw_supply (ARM_SP_REGNUM, (char *) &inferior_registers.r_sp);
       break;
 
     case ARM_LR_REGNUM:
-      regcache_raw_supply (regcache, ARM_LR_REGNUM,
-			   (char *) &inferior_registers.r_lr);
+      regcache->raw_supply (ARM_LR_REGNUM, (char *) &inferior_registers.r_lr);
       break;
 
     case ARM_PC_REGNUM:
@@ -103,22 +106,20 @@ fetch_register (struct regcache *regcach
       inferior_registers.r_pc = gdbarch_addr_bits_remove
 				  (regcache->arch (),
 				   inferior_registers.r_pc);
-      regcache_raw_supply (regcache, ARM_PC_REGNUM,
-			   (char *) &inferior_registers.r_pc);
+      regcache->raw_supply (ARM_PC_REGNUM, (char *) &inferior_registers.r_pc);
       break;
 
     case ARM_PS_REGNUM:
       if (arm_apcs_32)
-	regcache_raw_supply (regcache, ARM_PS_REGNUM,
-			     (char *) &inferior_registers.r_cpsr);
+	regcache->raw_supply (ARM_PS_REGNUM,
+			      (char *) &inferior_registers.r_cpsr);
       else
-	regcache_raw_supply (regcache, ARM_PS_REGNUM,
-			     (char *) &inferior_registers.r_pc);
+	regcache->raw_supply (ARM_PS_REGNUM,
+			      (char *) &inferior_registers.r_pc);
       break;
 
     default:
-      regcache_raw_supply (regcache, regno,
-			   (char *) &inferior_registers.r[regno]);
+      regcache->raw_supply (regno, (char *) &inferior_registers.r[regno]);
       break;
     }
 }
@@ -130,7 +131,7 @@ fetch_regs (struct regcache *regcache)
   int ret;
   int regno;
 
-  ret = ptrace (PT_GETREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+  ret = ptrace (PT_GETREGS, regcache->ptid ().pid (),
 		(PTRACE_TYPE_ARG3) &inferior_registers, 0);
 
   if (ret < 0)
@@ -148,7 +149,7 @@ fetch_fp_register (struct regcache *regc
   struct fpreg inferior_fp_registers;
   int ret;
 
-  ret = ptrace (PT_GETFPREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+  ret = ptrace (PT_GETFPREGS, regcache->ptid ().pid (),
 		(PTRACE_TYPE_ARG3) &inferior_fp_registers, 0);
 
   if (ret < 0)
@@ -160,13 +161,13 @@ fetch_fp_register (struct regcache *regc
   switch (regno)
     {
     case ARM_FPS_REGNUM:
-      regcache_raw_supply (regcache, ARM_FPS_REGNUM,
-			   (char *) &inferior_fp_registers.fpr_fpsr);
+      regcache->raw_supply (ARM_FPS_REGNUM,
+			    (char *) &inferior_fp_registers.fpr_fpsr);
       break;
 
     default:
-      regcache_raw_supply (regcache, regno,
-			   (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]);
+      regcache->raw_supply
+	(regno, (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]);
       break;
     }
 }
@@ -178,7 +179,7 @@ fetch_fp_regs (struct regcache *regcache
   int ret;
   int regno;
 
-  ret = ptrace (PT_GETFPREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+  ret = ptrace (PT_GETFPREGS, regcache->ptid ().pid (),
 		(PTRACE_TYPE_ARG3) &inferior_fp_registers, 0);
 
   if (ret < 0)
@@ -190,9 +191,8 @@ fetch_fp_regs (struct regcache *regcache
   arm_supply_fparegset (regcache, &inferior_fp_registers);
 }
 
-static void
-armnbsd_fetch_registers (struct target_ops *ops,
-			 struct regcache *regcache, int regno)
+void
+arm_nbsd_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
   if (regno >= 0)
     {
@@ -216,7 +216,7 @@ store_register (const struct regcache *r
   struct reg inferior_registers;
   int ret;
 
-  ret = ptrace (PT_GETREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+  ret = ptrace (PT_GETREGS, regcache->ptid ().pid (),
 		(PTRACE_TYPE_ARG3) &inferior_registers, 0);
 
   if (ret < 0)
@@ -228,25 +228,22 @@ store_register (const struct regcache *r
   switch (regno)
     {
     case ARM_SP_REGNUM:
-      regcache_raw_collect (regcache, ARM_SP_REGNUM,
-			    (char *) &inferior_registers.r_sp);
+      regcache->raw_collect (ARM_SP_REGNUM, (char *) &inferior_registers.r_sp);
       break;
 
     case ARM_LR_REGNUM:
-      regcache_raw_collect (regcache, ARM_LR_REGNUM,
-			    (char *) &inferior_registers.r_lr);
+      regcache->raw_collect (ARM_LR_REGNUM, (char *) &inferior_registers.r_lr);
       break;
 
     case ARM_PC_REGNUM:
       if (arm_apcs_32)
-	regcache_raw_collect (regcache, ARM_PC_REGNUM,
-			      (char *) &inferior_registers.r_pc);
+	regcache->raw_collect (ARM_PC_REGNUM,
+			       (char *) &inferior_registers.r_pc);
       else
 	{
 	  unsigned pc_val;
 
-	  regcache_raw_collect (regcache, ARM_PC_REGNUM,
-				(char *) &pc_val);
+	  regcache->raw_collect (ARM_PC_REGNUM, (char *) &pc_val);
 	  
 	  pc_val = gdbarch_addr_bits_remove (gdbarch, pc_val);
 	  inferior_registers.r_pc ^= gdbarch_addr_bits_remove
@@ -257,14 +254,13 @@ store_register (const struct regcache *r
 
     case ARM_PS_REGNUM:
       if (arm_apcs_32)
-	regcache_raw_collect (regcache, ARM_PS_REGNUM,
-			      (char *) &inferior_registers.r_cpsr);
+	regcache->raw_collect (ARM_PS_REGNUM,
+			       (char *) &inferior_registers.r_cpsr);
       else
 	{
 	  unsigned psr_val;
 
-	  regcache_raw_collect (regcache, ARM_PS_REGNUM,
-				(char *) &psr_val);
+	  regcache->raw_collect (ARM_PS_REGNUM, (char *) &psr_val);
 
 	  psr_val ^= gdbarch_addr_bits_remove (gdbarch, psr_val);
 	  inferior_registers.r_pc = gdbarch_addr_bits_remove
@@ -274,12 +270,11 @@ store_register (const struct regcache *r
       break;
 
     default:
-      regcache_raw_collect (regcache, regno,
-			    (char *) &inferior_registers.r[regno]);
+      regcache->raw_collect (regno, (char *) &inferior_registers.r[regno]);
       break;
     }
 
-  ret = ptrace (PT_SETREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+  ret = ptrace (PT_SETREGS, regcache->ptid ().pid (),
 		(PTRACE_TYPE_ARG3) &inferior_registers, 0);
 
   if (ret < 0)
@@ -296,30 +291,24 @@ store_regs (const struct regcache *regca
 
 
   for (regno = ARM_A1_REGNUM; regno < ARM_SP_REGNUM; regno++)
-    regcache_raw_collect (regcache, regno,
-			  (char *) &inferior_registers.r[regno]);
+    regcache->raw_collect (regno, (char *) &inferior_registers.r[regno]);
 
-  regcache_raw_collect (regcache, ARM_SP_REGNUM,
-			(char *) &inferior_registers.r_sp);
-  regcache_raw_collect (regcache, ARM_LR_REGNUM,
-			(char *) &inferior_registers.r_lr);
+  regcache->raw_collect (ARM_SP_REGNUM, (char *) &inferior_registers.r_sp);
+  regcache->raw_collect (ARM_LR_REGNUM, (char *) &inferior_registers.r_lr);
 
   if (arm_apcs_32)
     {
-      regcache_raw_collect (regcache, ARM_PC_REGNUM,
-			    (char *) &inferior_registers.r_pc);
-      regcache_raw_collect (regcache, ARM_PS_REGNUM,
-			    (char *) &inferior_registers.r_cpsr);
+      regcache->raw_collect (ARM_PC_REGNUM, (char *) &inferior_registers.r_pc);
+      regcache->raw_collect (ARM_PS_REGNUM,
+			     (char *) &inferior_registers.r_cpsr);
     }
   else
     {
       unsigned pc_val;
       unsigned psr_val;
 
-      regcache_raw_collect (regcache, ARM_PC_REGNUM,
-			    (char *) &pc_val);
-      regcache_raw_collect (regcache, ARM_PS_REGNUM,
-			    (char *) &psr_val);
+      regcache->raw_collect (ARM_PC_REGNUM, (char *) &pc_val);
+      regcache->raw_collect (ARM_PS_REGNUM, (char *) &psr_val);
 	  
       pc_val = gdbarch_addr_bits_remove (gdbarch, pc_val);
       psr_val ^= gdbarch_addr_bits_remove (gdbarch, psr_val);
@@ -327,7 +316,7 @@ store_regs (const struct regcache *regca
       inferior_registers.r_pc = pc_val | psr_val;
     }
 
-  ret = ptrace (PT_SETREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+  ret = ptrace (PT_SETREGS, regcache->ptid ().pid (),
 		(PTRACE_TYPE_ARG3) &inferior_registers, 0);
 
   if (ret < 0)
@@ -340,7 +329,7 @@ store_fp_register (const struct regcache
   struct fpreg inferior_fp_registers;
   int ret;
 
-  ret = ptrace (PT_GETFPREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+  ret = ptrace (PT_GETFPREGS, regcache->ptid ().pid (),
 		(PTRACE_TYPE_ARG3) &inferior_fp_registers, 0);
 
   if (ret < 0)
@@ -352,17 +341,17 @@ store_fp_register (const struct regcache
   switch (regno)
     {
     case ARM_FPS_REGNUM:
-      regcache_raw_collect (regcache, ARM_FPS_REGNUM,
-			    (char *) &inferior_fp_registers.fpr_fpsr);
+      regcache->raw_collect (ARM_FPS_REGNUM,
+			     (char *) &inferior_fp_registers.fpr_fpsr);
       break;
 
     default:
-      regcache_raw_collect (regcache, regno,
-			    (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]);
+      regcache->raw_collect
+	(regno, (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]);
       break;
     }
 
-  ret = ptrace (PT_SETFPREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+  ret = ptrace (PT_SETFPREGS, regcache->ptid ().pid (),
 		(PTRACE_TYPE_ARG3) &inferior_fp_registers, 0);
 
   if (ret < 0)
@@ -378,22 +367,21 @@ store_fp_regs (const struct regcache *re
 
 
   for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++)
-    regcache_raw_collect (regcache, regno,
-			  (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]);
+    regcache->raw_collect
+      (regno, (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]);
 
-  regcache_raw_collect (regcache, ARM_FPS_REGNUM,
-			(char *) &inferior_fp_registers.fpr_fpsr);
+  regcache->raw_collect (ARM_FPS_REGNUM,
+			 (char *) &inferior_fp_registers.fpr_fpsr);
 
-  ret = ptrace (PT_SETFPREGS, ptid_get_pid (regcache_get_ptid (regcache)),
+  ret = ptrace (PT_SETFPREGS, regcache->ptid ().pid (),
 		(PTRACE_TYPE_ARG3) &inferior_fp_registers, 0);
 
   if (ret < 0)
     warning (_("unable to store floating-point registers"));
 }
 
-static void
-armnbsd_store_registers (struct target_ops *ops,
-			 struct regcache *regcache, int regno)
+void
+arm_nbsd_nat_target::store_registers (struct regcache *regcache, int regno)
 {
   if (regno >= 0)
     {
@@ -461,12 +449,7 @@ static struct core_fns arm_netbsd_elfcor
 void
 _initialize_arm_netbsd_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = armnbsd_fetch_registers;
-  t->to_store_registers = armnbsd_store_registers;
-  add_target (t);
+  add_inf_child_target (&the_arm_netbsd_nat_target);
 
   deprecated_add_core_fns (&arm_netbsd_elfcore_fns);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-tdep.c ./gdb/arm-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/arm-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/arm-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -44,7 +44,7 @@
 #include "remote.h"
 #include "target-descriptions.h"
 #include "user-regs.h"
-#include "observer.h"
+#include "observable.h"
 
 #include "arch/arm.h"
 #include "arch/arm-get-next-pcs.h"
@@ -227,7 +227,7 @@ static void show_disassembly_style_sfunc
 					  const char *);
 
 static enum register_status arm_neon_quad_read (struct gdbarch *gdbarch,
-						struct regcache *regcache,
+						readable_regcache *regcache,
 						int regnum, gdb_byte *buf);
 static void arm_neon_quad_write (struct gdbarch *gdbarch,
 				 struct regcache *regcache,
@@ -2040,50 +2040,40 @@ arm_obj_section_from_vma (struct objfile
 static void
 arm_exidx_new_objfile (struct objfile *objfile)
 {
-  struct cleanup *cleanups;
   struct arm_exidx_data *data;
   asection *exidx, *extab;
   bfd_vma exidx_vma = 0, extab_vma = 0;
-  bfd_size_type exidx_size = 0, extab_size = 0;
-  gdb_byte *exidx_data = NULL, *extab_data = NULL;
   LONGEST i;
 
   /* If we've already touched this file, do nothing.  */
   if (!objfile || objfile_data (objfile, arm_exidx_data_key) != NULL)
     return;
-  cleanups = make_cleanup (null_cleanup, NULL);
 
   /* Read contents of exception table and index.  */
   exidx = bfd_get_section_by_name (objfile->obfd, ELF_STRING_ARM_unwind);
+  gdb::byte_vector exidx_data;
   if (exidx)
     {
       exidx_vma = bfd_section_vma (objfile->obfd, exidx);
-      exidx_size = bfd_get_section_size (exidx);
-      exidx_data = (gdb_byte *) xmalloc (exidx_size);
-      make_cleanup (xfree, exidx_data);
+      exidx_data.resize (bfd_get_section_size (exidx));
 
       if (!bfd_get_section_contents (objfile->obfd, exidx,
-				     exidx_data, 0, exidx_size))
-	{
-	  do_cleanups (cleanups);
-	  return;
-	}
+				     exidx_data.data (), 0,
+				     exidx_data.size ()))
+	return;
     }
 
   extab = bfd_get_section_by_name (objfile->obfd, ".ARM.extab");
+  gdb::byte_vector extab_data;
   if (extab)
     {
       extab_vma = bfd_section_vma (objfile->obfd, extab);
-      extab_size = bfd_get_section_size (extab);
-      extab_data = (gdb_byte *) xmalloc (extab_size);
-      make_cleanup (xfree, extab_data);
+      extab_data.resize (bfd_get_section_size (extab));
 
       if (!bfd_get_section_contents (objfile->obfd, extab,
-				     extab_data, 0, extab_size))
-	{
-	  do_cleanups (cleanups);
-	  return;
-	}
+				     extab_data.data (), 0,
+				     extab_data.size ()))
+	return;
     }
 
   /* Allocate exception table data structure.  */
@@ -2094,11 +2084,12 @@ arm_exidx_new_objfile (struct objfile *o
 				       VEC(arm_exidx_entry_s) *);
 
   /* Fill in exception table.  */
-  for (i = 0; i < exidx_size / 8; i++)
+  for (i = 0; i < exidx_data.size () / 8; i++)
     {
       struct arm_exidx_entry new_exidx_entry;
-      bfd_vma idx = bfd_h_get_32 (objfile->obfd, exidx_data + i * 8);
-      bfd_vma val = bfd_h_get_32 (objfile->obfd, exidx_data + i * 8 + 4);
+      bfd_vma idx = bfd_h_get_32 (objfile->obfd, exidx_data.data () + i * 8);
+      bfd_vma val = bfd_h_get_32 (objfile->obfd,
+				  exidx_data.data () + i * 8 + 4);
       bfd_vma addr = 0, word = 0;
       int n_bytes = 0, n_words = 0;
       struct obj_section *sec;
@@ -2132,10 +2123,10 @@ arm_exidx_new_objfile (struct objfile *o
 	  addr = ((val & 0x7fffffff) ^ 0x40000000) - 0x40000000;
 	  addr += exidx_vma + i * 8 + 4;
 
-	  if (addr >= extab_vma && addr + 4 <= extab_vma + extab_size)
+	  if (addr >= extab_vma && addr + 4 <= extab_vma + extab_data.size ())
 	    {
 	      word = bfd_h_get_32 (objfile->obfd,
-				   extab_data + addr - extab_vma);
+				   extab_data.data () + addr - extab_vma);
 	      addr += 4;
 
 	      if ((word & 0xff000000) == 0x80000000)
@@ -2190,10 +2181,11 @@ arm_exidx_new_objfile (struct objfile *o
 		     byte, followed by the same unwind instructions as the
 		     pre-defined forms.  */
 		  if (gnu_personality
-		      && addr + 4 <= extab_vma + extab_size)
+		      && addr + 4 <= extab_vma + extab_data.size ())
 		    {
 		      word = bfd_h_get_32 (objfile->obfd,
-					   extab_data + addr - extab_vma);
+					   (extab_data.data ()
+					    + addr - extab_vma));
 		      addr += 4;
 		      n_bytes = 3;
 		      n_words = ((word >> 24) & 0xff);
@@ -2204,7 +2196,8 @@ arm_exidx_new_objfile (struct objfile *o
 
       /* Sanity check address.  */
       if (n_words)
-	if (addr < extab_vma || addr + 4 * n_words > extab_vma + extab_size)
+	if (addr < extab_vma
+	    || addr + 4 * n_words > extab_vma + extab_data.size ())
 	  n_words = n_bytes = 0;
 
       /* The unwind instructions reside in WORD (only the N_BYTES least
@@ -2222,7 +2215,7 @@ arm_exidx_new_objfile (struct objfile *o
 	  while (n_words--)
 	    {
 	      word = bfd_h_get_32 (objfile->obfd,
-				   extab_data + addr - extab_vma);
+				   extab_data.data () + addr - extab_vma);
 	      addr += 4;
 
 	      *p++ = (gdb_byte) ((word >> 24) & 0xff);
@@ -2243,8 +2236,6 @@ arm_exidx_new_objfile (struct objfile *o
 		     data->section_maps[sec->the_bfd_section->index],
 		     &new_exidx_entry);
     }
-
-  do_cleanups (cleanups);
 }
 
 /* Search for the exception table entry covering MEMADDR.  If one is found,
@@ -3813,8 +3804,7 @@ arm_push_dummy_call (struct gdbarch *gdb
 				 reg_char, reg_scaled + i);
 		      regnum = user_reg_map_name_to_regnum (gdbarch, name_buf,
 							    strlen (name_buf));
-		      regcache_cooked_write (regcache, regnum,
-					     val + i * unit_length);
+		      regcache->cooked_write (regnum, val + i * unit_length);
 		    }
 		}
 	      continue;
@@ -6577,6 +6567,7 @@ arm_decode_miscellaneous (struct gdbarch
       else if (op == 0x3)
         /* Not really supported.  */
 	return arm_copy_unmodified (gdbarch, insn, "smc", dsc);
+      /* Fall through.  */
 
     default:
       return arm_copy_undef (gdbarch, insn, dsc);
@@ -7901,7 +7892,7 @@ arm_extract_return_value (struct type *t
 	       internal type.  */
 	    bfd_byte tmpbuf[FP_REGISTER_SIZE];
 
-	    regcache_cooked_read (regs, ARM_F0_REGNUM, tmpbuf);
+	    regs->cooked_read (ARM_F0_REGNUM, tmpbuf);
 	    target_float_convert (tmpbuf, arm_ext_type (gdbarch),
 				  valbuf, type);
 	  }
@@ -7912,10 +7903,9 @@ arm_extract_return_value (struct type *t
 	  /* ARM_FLOAT_VFP can arise if this is a variadic function so
 	     not using the VFP ABI code.  */
 	case ARM_FLOAT_VFP:
-	  regcache_cooked_read (regs, ARM_A1_REGNUM, valbuf);
+	  regs->cooked_read (ARM_A1_REGNUM, valbuf);
 	  if (TYPE_LENGTH (type) > 4)
-	    regcache_cooked_read (regs, ARM_A1_REGNUM + 1,
-				  valbuf + INT_REGISTER_SIZE);
+	    regs->cooked_read (ARM_A1_REGNUM + 1, valbuf + INT_REGISTER_SIZE);
 	  break;
 
 	default:
@@ -7963,7 +7953,7 @@ arm_extract_return_value (struct type *t
 
       while (len > 0)
 	{
-	  regcache_cooked_read (regs, regno++, tmpbuf);
+	  regs->cooked_read (regno++, tmpbuf);
 	  memcpy (valbuf, tmpbuf,
 		  len > INT_REGISTER_SIZE ? INT_REGISTER_SIZE : len);
 	  len -= INT_REGISTER_SIZE;
@@ -8108,7 +8098,7 @@ arm_store_return_value (struct type *typ
 	case ARM_FLOAT_FPA:
 
 	  target_float_convert (valbuf, type, buf, arm_ext_type (gdbarch));
-	  regcache_cooked_write (regs, ARM_F0_REGNUM, buf);
+	  regs->cooked_write (ARM_F0_REGNUM, buf);
 	  break;
 
 	case ARM_FLOAT_SOFT_FPA:
@@ -8116,10 +8106,9 @@ arm_store_return_value (struct type *typ
 	  /* ARM_FLOAT_VFP can arise if this is a variadic function so
 	     not using the VFP ABI code.  */
 	case ARM_FLOAT_VFP:
-	  regcache_cooked_write (regs, ARM_A1_REGNUM, valbuf);
+	  regs->cooked_write (ARM_A1_REGNUM, valbuf);
 	  if (TYPE_LENGTH (type) > 4)
-	    regcache_cooked_write (regs, ARM_A1_REGNUM + 1, 
-				   valbuf + INT_REGISTER_SIZE);
+	    regs->cooked_write (ARM_A1_REGNUM + 1, valbuf + INT_REGISTER_SIZE);
 	  break;
 
 	default:
@@ -8144,7 +8133,7 @@ arm_store_return_value (struct type *typ
 	  LONGEST val = unpack_long (type, valbuf);
 
 	  store_signed_integer (tmpbuf, INT_REGISTER_SIZE, byte_order, val);
-	  regcache_cooked_write (regs, ARM_A1_REGNUM, tmpbuf);
+	  regs->cooked_write (ARM_A1_REGNUM, tmpbuf);
 	}
       else
 	{
@@ -8156,7 +8145,7 @@ arm_store_return_value (struct type *typ
 
 	  while (len > 0)
 	    {
-	      regcache_cooked_write (regs, regno++, valbuf);
+	      regs->cooked_write (regno++, valbuf);
 	      len -= INT_REGISTER_SIZE;
 	      valbuf += INT_REGISTER_SIZE;
 	    }
@@ -8175,7 +8164,7 @@ arm_store_return_value (struct type *typ
 	{
 	  memcpy (tmpbuf, valbuf,
 		  len > INT_REGISTER_SIZE ? INT_REGISTER_SIZE : len);
-	  regcache_cooked_write (regs, regno++, tmpbuf);
+	  regs->cooked_write (regno++, tmpbuf);
 	  len -= INT_REGISTER_SIZE;
 	  valbuf += INT_REGISTER_SIZE;
 	}
@@ -8222,11 +8211,9 @@ arm_return_value (struct gdbarch *gdbarc
 	      regnum = user_reg_map_name_to_regnum (gdbarch, name_buf,
 						    strlen (name_buf));
 	      if (writebuf)
-		regcache_cooked_write (regcache, regnum,
-				       writebuf + i * unit_length);
+		regcache->cooked_write (regnum, writebuf + i * unit_length);
 	      if (readbuf)
-		regcache_cooked_read (regcache, regnum,
-				      readbuf + i * unit_length);
+		regcache->cooked_read (regnum, readbuf + i * unit_length);
 	    }
 	}
       return RETURN_VALUE_REGISTER_CONVENTION;
@@ -8678,7 +8665,7 @@ arm_write_pc (struct regcache *regcache,
    the quad register, in [0, 15].  */
 
 static enum register_status
-arm_neon_quad_read (struct gdbarch *gdbarch, struct regcache *regcache,
+arm_neon_quad_read (struct gdbarch *gdbarch, readable_regcache *regcache,
 		    int regnum, gdb_byte *buf)
 {
   char name_buf[4];
@@ -8696,13 +8683,13 @@ arm_neon_quad_read (struct gdbarch *gdba
   else
     offset = 0;
 
-  status = regcache_raw_read (regcache, double_regnum, reg_buf);
+  status = regcache->raw_read (double_regnum, reg_buf);
   if (status != REG_VALID)
     return status;
   memcpy (buf + offset, reg_buf, 8);
 
   offset = 8 - offset;
-  status = regcache_raw_read (regcache, double_regnum + 1, reg_buf);
+  status = regcache->raw_read (double_regnum + 1, reg_buf);
   if (status != REG_VALID)
     return status;
   memcpy (buf + offset, reg_buf, 8);
@@ -8711,7 +8698,7 @@ arm_neon_quad_read (struct gdbarch *gdba
 }
 
 static enum register_status
-arm_pseudo_read (struct gdbarch *gdbarch, struct regcache *regcache,
+arm_pseudo_read (struct gdbarch *gdbarch, readable_regcache *regcache,
 		 int regnum, gdb_byte *buf)
 {
   const int num_regs = gdbarch_num_regs (gdbarch);
@@ -8742,7 +8729,7 @@ arm_pseudo_read (struct gdbarch *gdbarch
       double_regnum = user_reg_map_name_to_regnum (gdbarch, name_buf,
 						   strlen (name_buf));
 
-      status = regcache_raw_read (regcache, double_regnum, reg_buf);
+      status = regcache->raw_read (double_regnum, reg_buf);
       if (status == REG_VALID)
 	memcpy (buf, reg_buf + offset, 4);
       return status;
@@ -8773,9 +8760,9 @@ arm_neon_quad_write (struct gdbarch *gdb
   else
     offset = 0;
 
-  regcache_raw_write (regcache, double_regnum, buf + offset);
+  regcache->raw_write (double_regnum, buf + offset);
   offset = 8 - offset;
-  regcache_raw_write (regcache, double_regnum + 1, buf + offset);
+  regcache->raw_write (double_regnum + 1, buf + offset);
 }
 
 static void
@@ -8808,9 +8795,9 @@ arm_pseudo_write (struct gdbarch *gdbarc
       double_regnum = user_reg_map_name_to_regnum (gdbarch, name_buf,
 						   strlen (name_buf));
 
-      regcache_raw_read (regcache, double_regnum, reg_buf);
+      regcache->raw_read (double_regnum, reg_buf);
       memcpy (reg_buf + offset, buf, 4);
-      regcache_raw_write (regcache, double_regnum, reg_buf);
+      regcache->raw_write (double_regnum, reg_buf);
     }
 }
 
@@ -9556,7 +9543,7 @@ _initialize_arm_tdep (void)
     = register_objfile_data_with_cleanup (NULL, arm_objfile_data_free);
 
   /* Add ourselves to objfile event chain.  */
-  observer_attach_new_objfile (arm_exidx_new_objfile);
+  gdb::observers::new_objfile.attach (arm_exidx_new_objfile);
   arm_exidx_data_key
     = register_objfile_data_with_cleanup (NULL, arm_exidx_data_free);
 
@@ -9585,7 +9572,8 @@ _initialize_arm_tdep (void)
 
 
   arm_disassembler_options = xstrdup ("reg-names-std");
-  const disasm_options_t *disasm_options = disassembler_options_arm ();
+  const disasm_options_t *disasm_options
+    = &disassembler_options_arm ()->options;
   int num_disassembly_styles = 0;
   for (i = 0; disasm_options->name[i] != NULL; i++)
     if (CONST_STRNEQ (disasm_options->name[i], "reg-names-"))
@@ -9964,7 +9952,7 @@ arm_record_strx (insn_decode_record *arm
 static int
 arm_record_extension_space (insn_decode_record *arm_insn_r)
 {
-  uint32_t ret = 0;  /* Return value: -1:record failure ;  0:success  */
+  int ret = 0;  /* Return value: -1:record failure ;  0:success  */
   uint32_t opcode1 = 0, opcode2 = 0, insn_op1 = 0;
   uint32_t record_buf[8], record_buf_mem[8];
   uint32_t reg_src1 = 0;
@@ -10238,75 +10226,101 @@ arm_record_data_proc_misc_ld_str (insn_d
   arm_insn_r->decode = bits (arm_insn_r->arm_insn, 4, 7);
   opcode1 = bits (arm_insn_r->arm_insn, 20, 24);
 
-  /* Data processing insn /multiply insn.  */
-  if (9 == arm_insn_r->decode
-      && ((4 <= arm_insn_r->opcode && 7 >= arm_insn_r->opcode)
-      ||  (0 == arm_insn_r->opcode || 1 == arm_insn_r->opcode)))
+  if (!((opcode1 & 0x19) == 0x10))
     {
-      /* Handle multiply instructions.  */
-      /* MLA, MUL, SMLAL, SMULL, UMLAL, UMULL.  */
-        if (0 == arm_insn_r->opcode || 1 == arm_insn_r->opcode)
-          {
-            /* Handle MLA and MUL.  */
-            record_buf[0] = bits (arm_insn_r->arm_insn, 16, 19);
-            record_buf[1] = ARM_PS_REGNUM;
-            arm_insn_r->reg_rec_count = 2;
-          }
-        else if (4 <= arm_insn_r->opcode && 7 >= arm_insn_r->opcode)
-          {
-            /* Handle SMLAL, SMULL, UMLAL, UMULL.  */
-            record_buf[0] = bits (arm_insn_r->arm_insn, 16, 19);
-            record_buf[1] = bits (arm_insn_r->arm_insn, 12, 15);
-            record_buf[2] = ARM_PS_REGNUM;
-            arm_insn_r->reg_rec_count = 3;
-          }
+      /* Data-processing (register) and Data-processing (register-shifted
+	 register */
+      /* Out of 11 shifter operands mode, all the insn modifies destination
+	 register, which is specified by 13-16 decode.  */
+      record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+      record_buf[1] = ARM_PS_REGNUM;
+      arm_insn_r->reg_rec_count = 2;
     }
-  else if (bit (arm_insn_r->arm_insn, INSN_S_L_BIT_NUM)
-           && (11 == arm_insn_r->decode || 13 == arm_insn_r->decode))
+  else if ((arm_insn_r->decode < 8) && ((opcode1 & 0x19) == 0x10))
     {
-      /* Handle misc load insns, as 20th bit  (L = 1).  */
-      /* LDR insn has a capability to do branching, if
-         MOV LR, PC is precceded by LDR insn having Rn as R15
-         in that case, it emulates branch and link insn, and hence we 
-         need to save CSPR and PC as well. I am not sure this is right
-         place; as opcode = 010 LDR insn make this happen, if R15 was
-         used.  */
-      reg_dest = bits (arm_insn_r->arm_insn, 12, 15);
-      if (15 != reg_dest)
-        {
-          record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
-          arm_insn_r->reg_rec_count = 1;
-        }
-      else
-        {
-          record_buf[0] = reg_dest;
-          record_buf[1] = ARM_PS_REGNUM;
-          arm_insn_r->reg_rec_count = 2;
-        }
+      /* Miscellaneous instructions */
+
+      if (3 == arm_insn_r->decode && 0x12 == opcode1
+	  && sbo_sbz (arm_insn_r->arm_insn, 9, 12, 1))
+	{
+	  /* Handle BLX, branch and link/exchange.  */
+	  if (9 == arm_insn_r->opcode)
+	    {
+	      /* Branch is chosen by setting T bit of CSPR, bitp[0] of Rm,
+		 and R14 stores the return address.  */
+	      record_buf[0] = ARM_PS_REGNUM;
+	      record_buf[1] = ARM_LR_REGNUM;
+	      arm_insn_r->reg_rec_count = 2;
+	    }
+	}
+      else if (7 == arm_insn_r->decode && 0x12 == opcode1)
+	{
+	  /* Handle enhanced software breakpoint insn, BKPT.  */
+	  /* CPSR is changed to be executed in ARM state,  disabling normal
+	     interrupts, entering abort mode.  */
+	  /* According to high vector configuration PC is set.  */
+	  /* user hit breakpoint and type reverse, in
+	     that case, we need to go back with previous CPSR and
+	     Program Counter.  */
+	  record_buf[0] = ARM_PS_REGNUM;
+	  record_buf[1] = ARM_LR_REGNUM;
+	  arm_insn_r->reg_rec_count = 2;
+
+	  /* Save SPSR also; how?  */
+	  return -1;
+	}
+      else if (1 == arm_insn_r->decode && 0x12 == opcode1
+	       && sbo_sbz (arm_insn_r->arm_insn, 9, 12, 1))
+	{
+	  /* Handle BX, branch and link/exchange.  */
+	  /* Branch is chosen by setting T bit of CSPR, bitp[0] of Rm.  */
+	  record_buf[0] = ARM_PS_REGNUM;
+	  arm_insn_r->reg_rec_count = 1;
+	}
+      else if (1 == arm_insn_r->decode && 0x16 == opcode1
+	       && sbo_sbz (arm_insn_r->arm_insn, 9, 4, 1)
+	       && sbo_sbz (arm_insn_r->arm_insn, 17, 4, 1))
+	{
+	  /* Count leading zeros: CLZ.  */
+	  record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+	  arm_insn_r->reg_rec_count = 1;
+	}
+      else if (!bit (arm_insn_r->arm_insn, INSN_S_L_BIT_NUM)
+	       && (8 == arm_insn_r->opcode || 10 == arm_insn_r->opcode)
+	       && sbo_sbz (arm_insn_r->arm_insn, 17, 4, 1)
+	       && sbo_sbz (arm_insn_r->arm_insn, 1, 12, 0))
+	{
+	  /* Handle MRS insn.  */
+	  record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+	  arm_insn_r->reg_rec_count = 1;
+	}
     }
-  else if ((9 == arm_insn_r->opcode || 11 == arm_insn_r->opcode)
-           && sbo_sbz (arm_insn_r->arm_insn, 5, 12, 0)
-           && sbo_sbz (arm_insn_r->arm_insn, 13, 4, 1)
-           && 2 == bits (arm_insn_r->arm_insn, 20, 21))
+  else if (9 == arm_insn_r->decode && opcode1 < 0x10)
     {
-      /* Handle MSR insn.  */
-      if (9 == arm_insn_r->opcode)
-        {
-          /* CSPR is going to be changed.  */
-          record_buf[0] = ARM_PS_REGNUM;
-          arm_insn_r->reg_rec_count = 1;
-        }
-      else
-        {
-          /* SPSR is going to be changed.  */
-          /* How to read SPSR value?  */
-          return -1;
-        }
+      /* Multiply and multiply-accumulate */
+
+      /* Handle multiply instructions.  */
+      /* MLA, MUL, SMLAL, SMULL, UMLAL, UMULL.  */
+      if (0 == arm_insn_r->opcode || 1 == arm_insn_r->opcode)
+	  {
+	    /* Handle MLA and MUL.  */
+	    record_buf[0] = bits (arm_insn_r->arm_insn, 16, 19);
+	    record_buf[1] = ARM_PS_REGNUM;
+	    arm_insn_r->reg_rec_count = 2;
+	  }
+	else if (4 <= arm_insn_r->opcode && 7 >= arm_insn_r->opcode)
+	  {
+	    /* Handle SMLAL, SMULL, UMLAL, UMULL.  */
+	    record_buf[0] = bits (arm_insn_r->arm_insn, 16, 19);
+	    record_buf[1] = bits (arm_insn_r->arm_insn, 12, 15);
+	    record_buf[2] = ARM_PS_REGNUM;
+	    arm_insn_r->reg_rec_count = 3;
+	  }
     }
-  else if (9 == arm_insn_r->decode
-           && (8 == arm_insn_r->opcode || 10 == arm_insn_r->opcode)
-           && !bit (arm_insn_r->arm_insn, INSN_S_L_BIT_NUM))
+  else if (9 == arm_insn_r->decode  && opcode1 > 0x10)
     {
+      /* Synchronization primitives */
+
       /* Handling SWP, SWPB.  */
       /* These insn, changes register and memory as well.  */
       /* SWP or SWPB insn.  */
@@ -10315,91 +10329,169 @@ arm_record_data_proc_misc_ld_str (insn_d
       regcache_raw_read_unsigned (reg_cache, reg_src1, &u_regval[0]);
       /* SWP insn ?, swaps word.  */
       if (8 == arm_insn_r->opcode)
-        {
-          record_buf_mem[0] = 4;
-        }
-        else
-        {
-          /* SWPB insn, swaps only byte.  */
-          record_buf_mem[0] = 1;
-        }
+	{
+	  record_buf_mem[0] = 4;
+	}
+      else
+	{
+	  /* SWPB insn, swaps only byte.  */
+	  record_buf_mem[0] = 1;
+	}
       record_buf_mem[1] = u_regval[0];
       arm_insn_r->mem_rec_count = 1;
       record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
       arm_insn_r->reg_rec_count = 1;
     }
-  else if (3 == arm_insn_r->decode && 0x12 == opcode1
-           && sbo_sbz (arm_insn_r->arm_insn, 9, 12, 1))
-    {
-      /* Handle BLX, branch and link/exchange.  */
-      if (9 == arm_insn_r->opcode)
-      {
-        /* Branch is chosen by setting T bit of CSPR, bitp[0] of Rm,
-           and R14 stores the return address.  */
-        record_buf[0] = ARM_PS_REGNUM;
-        record_buf[1] = ARM_LR_REGNUM;
-        arm_insn_r->reg_rec_count = 2;
-      }
-    }
-  else if (7 == arm_insn_r->decode && 0x12 == opcode1)
+  else if (11 == arm_insn_r->decode || 13 == arm_insn_r->decode
+	   || 15 == arm_insn_r->decode)
     {
-      /* Handle enhanced software breakpoint insn, BKPT.  */
-      /* CPSR is changed to be executed in ARM state,  disabling normal
-         interrupts, entering abort mode.  */
-      /* According to high vector configuration PC is set.  */
-      /* user hit breakpoint and type reverse, in
-         that case, we need to go back with previous CPSR and
-         Program Counter.  */
-      record_buf[0] = ARM_PS_REGNUM;
-      record_buf[1] = ARM_LR_REGNUM;
-      arm_insn_r->reg_rec_count = 2;
+      if ((opcode1 & 0x12) == 2)
+	{
+	  /* Extra load/store (unprivileged) */
+	  return -1;
+	}
+      else
+	{
+	  /* Extra load/store */
+	  switch (bits (arm_insn_r->arm_insn, 5, 6))
+	    {
+	    case 1:
+	      if ((opcode1 & 0x05) == 0x0 || (opcode1 & 0x05) == 0x4)
+		{
+		  /* STRH (register), STRH (immediate) */
+		  arm_record_strx (arm_insn_r, &record_buf[0],
+				   &record_buf_mem[0], ARM_RECORD_STRH);
+		}
+	      else if ((opcode1 & 0x05) == 0x1)
+		{
+		  /* LDRH (register) */
+		  record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+		  arm_insn_r->reg_rec_count = 1;
 
-      /* Save SPSR also; how?  */
-      return -1;
-    }
-  else if (11 == arm_insn_r->decode
-           && !bit (arm_insn_r->arm_insn, INSN_S_L_BIT_NUM))
-  {
-    /* Handle enhanced store insns and DSP insns (e.g. LDRD).  */
+		  if (bit (arm_insn_r->arm_insn, 21))
+		    {
+		      /* Write back to Rn.  */
+		      record_buf[arm_insn_r->reg_rec_count++]
+			= bits (arm_insn_r->arm_insn, 16, 19);
+		    }
+		}
+	      else if ((opcode1 & 0x05) == 0x5)
+		{
+		  /* LDRH (immediate), LDRH (literal) */
+		  int rn = bits (arm_insn_r->arm_insn, 16, 19);
 
-    /* Handle str(x) insn */
-    arm_record_strx(arm_insn_r, &record_buf[0], &record_buf_mem[0],
-                    ARM_RECORD_STRH);
-  }
-  else if (1 == arm_insn_r->decode && 0x12 == opcode1
-           && sbo_sbz (arm_insn_r->arm_insn, 9, 12, 1))
-    {
-      /* Handle BX, branch and link/exchange.  */
-      /* Branch is chosen by setting T bit of CSPR, bitp[0] of Rm.  */
-      record_buf[0] = ARM_PS_REGNUM;
-      arm_insn_r->reg_rec_count = 1;
-    }
-  else if (1 == arm_insn_r->decode && 0x16 == opcode1
-           && sbo_sbz (arm_insn_r->arm_insn, 9, 4, 1)
-           && sbo_sbz (arm_insn_r->arm_insn, 17, 4, 1))
-    {
-      /* Count leading zeros: CLZ.  */
-      record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
-      arm_insn_r->reg_rec_count = 1;
-    }
-  else if (!bit (arm_insn_r->arm_insn, INSN_S_L_BIT_NUM)
-           && (8 == arm_insn_r->opcode || 10 == arm_insn_r->opcode)
-           && sbo_sbz (arm_insn_r->arm_insn, 17, 4, 1)
-           && sbo_sbz (arm_insn_r->arm_insn, 1, 12, 0)
-          )
-    {
-      /* Handle MRS insn.  */
-      record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
-      arm_insn_r->reg_rec_count = 1;
-    }
-  else if (arm_insn_r->opcode <= 15)
-    {
-      /* Normal data processing insns.  */
-      /* Out of 11 shifter operands mode, all the insn modifies destination
-         register, which is specified by 13-16 decode.  */
-      record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
-      record_buf[1] = ARM_PS_REGNUM;
-      arm_insn_r->reg_rec_count = 2;
+		  record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+		  arm_insn_r->reg_rec_count = 1;
+
+		  if (rn != 15)
+		    {
+		      /*LDRH (immediate) */
+		      if (bit (arm_insn_r->arm_insn, 21))
+			{
+			  /* Write back to Rn.  */
+			  record_buf[arm_insn_r->reg_rec_count++] = rn;
+			}
+		    }
+		}
+	      else
+		return -1;
+	      break;
+	    case 2:
+	      if ((opcode1 & 0x05) == 0x0)
+		{
+		  /* LDRD (register) */
+		  record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+		  record_buf[1] = record_buf[0] + 1;
+		  arm_insn_r->reg_rec_count = 2;
+
+		  if (bit (arm_insn_r->arm_insn, 21))
+		    {
+		      /* Write back to Rn.  */
+		      record_buf[arm_insn_r->reg_rec_count++]
+			= bits (arm_insn_r->arm_insn, 16, 19);
+		    }
+		}
+	      else if ((opcode1 & 0x05) == 0x1)
+		{
+		  /* LDRSB (register) */
+		  record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+		  arm_insn_r->reg_rec_count = 1;
+
+		  if (bit (arm_insn_r->arm_insn, 21))
+		    {
+		      /* Write back to Rn.  */
+		      record_buf[arm_insn_r->reg_rec_count++]
+			= bits (arm_insn_r->arm_insn, 16, 19);
+		    }
+		}
+	      else if ((opcode1 & 0x05) == 0x4 || (opcode1 & 0x05) == 0x5)
+		{
+		  /* LDRD (immediate), LDRD (literal), LDRSB (immediate),
+		     LDRSB (literal) */
+		  int rn = bits (arm_insn_r->arm_insn, 16, 19);
+
+		  record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+		  arm_insn_r->reg_rec_count = 1;
+
+		  if (rn != 15)
+		    {
+		      /*LDRD (immediate), LDRSB (immediate) */
+		      if (bit (arm_insn_r->arm_insn, 21))
+			{
+			  /* Write back to Rn.  */
+			  record_buf[arm_insn_r->reg_rec_count++] = rn;
+			}
+		    }
+		}
+	      else
+		return -1;
+	      break;
+	    case 3:
+	      if ((opcode1 & 0x05) == 0x0)
+		{
+		  /* STRD (register) */
+		  arm_record_strx (arm_insn_r, &record_buf[0],
+				   &record_buf_mem[0], ARM_RECORD_STRD);
+		}
+	      else if ((opcode1 & 0x05) == 0x1)
+		{
+		  /* LDRSH (register) */
+		  record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+		  arm_insn_r->reg_rec_count = 1;
+
+		  if (bit (arm_insn_r->arm_insn, 21))
+		    {
+		      /* Write back to Rn.  */
+		      record_buf[arm_insn_r->reg_rec_count++]
+			= bits (arm_insn_r->arm_insn, 16, 19);
+		    }
+		}
+	      else if ((opcode1 & 0x05) == 0x4)
+		{
+		  /* STRD (immediate) */
+		  arm_record_strx (arm_insn_r, &record_buf[0],
+				   &record_buf_mem[0], ARM_RECORD_STRD);
+		}
+	      else if ((opcode1 & 0x05) == 0x5)
+		{
+		  /* LDRSH (immediate), LDRSH (literal) */
+		  record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+		  arm_insn_r->reg_rec_count = 1;
+
+		  if (bit (arm_insn_r->arm_insn, 21))
+		    {
+		      /* Write back to Rn.  */
+		      record_buf[arm_insn_r->reg_rec_count++]
+			= bits (arm_insn_r->arm_insn, 16, 19);
+		    }
+		}
+	      else
+		return -1;
+	      break;
+	    default:
+	      return -1;
+	    }
+	}
     }
   else
     {
@@ -11325,7 +11417,8 @@ arm_record_vfp_data_proc_insn (insn_deco
   opc3 = bits (arm_insn_r->arm_insn, 6, 7);
   dp_op_sz = bit (arm_insn_r->arm_insn, 8);
   bit_d = bit (arm_insn_r->arm_insn, 22);
-  opc1 = opc1 & 0x04;
+  /* Mask off the "D" bit.  */
+  opc1 = opc1 & ~0x04;
 
   /* Handle VMLA, VMLS.  */
   if (opc1 == 0x00)
@@ -11390,7 +11483,7 @@ arm_record_vfp_data_proc_insn (insn_deco
         }
     }
   /* Handle VDIV.  */
-  else if (opc1 == 0x0b)
+  else if (opc1 == 0x08)
     {
       if (dp_op_sz)
         curr_insn_type = INSN_T1;
@@ -11579,18 +11672,18 @@ arm_record_asimd_vfp_coproc (insn_decode
 static int
 arm_record_coproc_data_proc (insn_decode_record *arm_insn_r)
 {
-  uint32_t op, op1_sbit, op1_ebit, coproc;
+  uint32_t op, op1_ebit, coproc, bits_24_25;
   struct gdbarch_tdep *tdep = gdbarch_tdep (arm_insn_r->gdbarch);
   struct regcache *reg_cache = arm_insn_r->regcache;
 
   arm_insn_r->opcode = bits (arm_insn_r->arm_insn, 24, 27);
   coproc = bits (arm_insn_r->arm_insn, 8, 11);
-  op1_sbit = bit (arm_insn_r->arm_insn, 24);
   op1_ebit = bit (arm_insn_r->arm_insn, 20);
   op = bit (arm_insn_r->arm_insn, 4);
+  bits_24_25 = bits (arm_insn_r->arm_insn, 24, 25);
 
   /* Handle arm SWI/SVC system call instructions.  */
-  if (op1_sbit)
+  if (bits_24_25 == 0x3)
     {
       if (tdep->arm_syscall_record != NULL)
         {
@@ -11611,44 +11704,97 @@ arm_record_coproc_data_proc (insn_decode
           return -1;
         }
     }
-
-  if ((coproc & 0x0e) == 0x0a)
+  else if (bits_24_25 == 0x02)
     {
-      /* VFP data-processing instructions.  */
-      if (!op1_sbit && !op)
-        return arm_record_vfp_data_proc_insn (arm_insn_r);
+      if (op)
+	{
+	  if ((coproc & 0x0e) == 0x0a)
+	    {
+	      /* 8, 16, and 32-bit transfer */
+	      return arm_record_vdata_transfer_insn (arm_insn_r);
+	    }
+	  else
+	    {
+	      if (op1_ebit)
+		{
+		  /* MRC, MRC2 */
+		  uint32_t record_buf[1];
 
-      /* Advanced SIMD, VFP instructions.  */
-      if (!op1_sbit && op)
-        return arm_record_vdata_transfer_insn (arm_insn_r);
+		  record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+		  if (record_buf[0] == 15)
+		    record_buf[0] = ARM_PS_REGNUM;
+
+		  arm_insn_r->reg_rec_count = 1;
+		  REG_ALLOC (arm_insn_r->arm_regs, arm_insn_r->reg_rec_count,
+			     record_buf);
+		  return 0;
+		}
+	      else
+		{
+		  /* MCR, MCR2 */
+		  return -1;
+		}
+	    }
+	}
+      else
+	{
+	  if ((coproc & 0x0e) == 0x0a)
+	    {
+	      /* VFP data-processing instructions.  */
+	      return arm_record_vfp_data_proc_insn (arm_insn_r);
+	    }
+	  else
+	    {
+	      /* CDP, CDP2 */
+	      return -1;
+	    }
+	}
     }
   else
     {
-      /* Coprocessor data operations.  */
-      if (!op1_sbit && !op)
-        return arm_record_unsupported_insn (arm_insn_r);
-
-      /* Move to Coprocessor from ARM core register.  */
-      if (!op1_sbit && !op1_ebit && op)
-        return arm_record_unsupported_insn (arm_insn_r);
-
-      /* Move to arm core register from coprocessor.  */
-      if (!op1_sbit && op1_ebit && op)
-        {
-          uint32_t record_buf[1];
-
-          record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
-          if (record_buf[0] == 15)
-            record_buf[0] = ARM_PS_REGNUM;
+      unsigned int op1 = bits (arm_insn_r->arm_insn, 20, 25);
 
-          arm_insn_r->reg_rec_count = 1;
-          REG_ALLOC (arm_insn_r->arm_regs, arm_insn_r->reg_rec_count,
-                     record_buf);
-          return 0;
-        }
+      if (op1 == 5)
+	{
+	  if ((coproc & 0x0e) != 0x0a)
+	    {
+	      /* MRRC, MRRC2 */
+	      return -1;
+	    }
+	}
+      else if (op1 == 4 || op1 == 5)
+	{
+	  if ((coproc & 0x0e) == 0x0a)
+	    {
+	      /* 64-bit transfers between ARM core and extension */
+	      return -1;
+	    }
+	  else if (op1 == 4)
+	    {
+	      /* MCRR, MCRR2 */
+	      return -1;
+	    }
+	}
+      else if (op1 == 0 || op1 == 1)
+	{
+	  /* UNDEFINED */
+	  return -1;
+	}
+      else
+	{
+	  if ((coproc & 0x0e) == 0x0a)
+	    {
+	      /* Extension register load/store */
+	    }
+	  else
+	    {
+	      /* STC, STC2, LDC, LDC2 */
+	    }
+	  return -1;
+	}
     }
 
-  return arm_record_unsupported_insn (arm_insn_r);
+  return -1;
 }
 
 /* Handling opcode 000 insns.  */
@@ -12913,7 +13059,7 @@ public:
 class instruction_reader : public abstract_memory_reader
 {
  public:
-  bool read (CORE_ADDR memaddr, gdb_byte *buf, const size_t len)
+  bool read (CORE_ADDR memaddr, gdb_byte *buf, const size_t len) override
   {
     if (target_read_memory (memaddr, buf, len))
       return false;
@@ -13066,7 +13212,7 @@ public:
     : m_endian (endian), m_insns (insns), m_insns_size (SIZE)
   {}
 
-  bool read (CORE_ADDR memaddr, gdb_byte *buf, const size_t len)
+  bool read (CORE_ADDR memaddr, gdb_byte *buf, const size_t len) override
   {
     SELF_CHECK (len == 4 || len == 2);
     SELF_CHECK (memaddr % 2 == 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.1.0.20180703/gdb/auto-load.c ./gdb/auto-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/auto-load.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/auto-load.c	2018-07-10 02:06:12.000000000 +0000
@@ -25,7 +25,7 @@
 #include "ui-out.h"
 #include "filenames.h"
 #include "command.h"
-#include "observer.h"
+#include "observable.h"
 #include "objfiles.h"
 #include "cli/cli-script.h"
 #include "gdbcmd.h"
@@ -169,19 +169,15 @@ static char *auto_load_safe_path;
 /* Vector of directory elements of AUTO_LOAD_SAFE_PATH with each one normalized
    by tilde_expand and possibly each entries has added its gdb_realpath
    counterpart.  */
-static VEC (char_ptr) *auto_load_safe_path_vec;
+std::vector<gdb::unique_xmalloc_ptr<char>> auto_load_safe_path_vec;
 
 /* Expand $datadir and $debugdir in STRING according to the rules of
-   substitute_path_component.  Return vector from dirnames_to_char_ptr_vec,
-   this vector must be freed by free_char_ptr_vec by the caller.  */
+   substitute_path_component.  */
 
-static VEC (char_ptr) *
+static std::vector<gdb::unique_xmalloc_ptr<char>>
 auto_load_expand_dir_vars (const char *string)
 {
-  VEC (char_ptr) *dir_vec;
-  char *s;
-
-  s = xstrdup (string);
+  char *s = xstrdup (string);
   substitute_path_component (&s, "$datadir", gdb_datadir);
   substitute_path_component (&s, "$debugdir", debug_file_directory);
 
@@ -189,7 +185,8 @@ auto_load_expand_dir_vars (const char *s
     fprintf_unfiltered (gdb_stdlog,
 			_("auto-load: Expanded $-variables to \"%s\".\n"), s);
 
-  dir_vec = dirnames_to_char_ptr_vec (s);
+  std::vector<gdb::unique_xmalloc_ptr<char>> dir_vec
+    = dirnames_to_char_ptr_vec (s);
   xfree(s);
 
   return dir_vec;
@@ -200,54 +197,49 @@ auto_load_expand_dir_vars (const char *s
 static void
 auto_load_safe_path_vec_update (void)
 {
-  unsigned len;
-  int ix;
-
   if (debug_auto_load)
     fprintf_unfiltered (gdb_stdlog,
 			_("auto-load: Updating directories of \"%s\".\n"),
 			auto_load_safe_path);
 
-  free_char_ptr_vec (auto_load_safe_path_vec);
-
   auto_load_safe_path_vec = auto_load_expand_dir_vars (auto_load_safe_path);
-  len = VEC_length (char_ptr, auto_load_safe_path_vec);
+  size_t len = auto_load_safe_path_vec.size ();
 
   /* Apply tilde_expand and gdb_realpath to each AUTO_LOAD_SAFE_PATH_VEC
      element.  */
-  for (ix = 0; ix < len; ix++)
+  for (size_t i = 0; i < len; i++)
     {
-      char *dir = VEC_index (char_ptr, auto_load_safe_path_vec, ix);
-      char *expanded = tilde_expand (dir);
-      gdb::unique_xmalloc_ptr<char> real_path = gdb_realpath (expanded);
-
-      /* Ensure the current entry is at least tilde_expand-ed.  */
-      VEC_replace (char_ptr, auto_load_safe_path_vec, ix, expanded);
+      gdb::unique_xmalloc_ptr<char> &in_vec = auto_load_safe_path_vec[i];
+      gdb::unique_xmalloc_ptr<char> expanded (tilde_expand (in_vec.get ()));
+      gdb::unique_xmalloc_ptr<char> real_path = gdb_realpath (expanded.get ());
+
+      /* Ensure the current entry is at least tilde_expand-ed.  ORIGINAL makes
+	 sure we free the original string.  */
+      gdb::unique_xmalloc_ptr<char> original = std::move (in_vec);
+      in_vec = std::move (expanded);
 
       if (debug_auto_load)
 	{
-	  if (strcmp (expanded, dir) == 0)
+	  if (strcmp (in_vec.get (), original.get ()) == 0)
 	    fprintf_unfiltered (gdb_stdlog,
 				_("auto-load: Using directory \"%s\".\n"),
-				expanded);
+				in_vec.get ());
 	  else
 	    fprintf_unfiltered (gdb_stdlog,
 				_("auto-load: Resolved directory \"%s\" "
 				  "as \"%s\".\n"),
-				dir, expanded);
+				original.get (), in_vec.get ());
 	}
-      xfree (dir);
 
       /* If gdb_realpath returns a different content, append it.  */
-      if (strcmp (real_path.get (), expanded) != 0)
+      if (strcmp (real_path.get (), in_vec.get ()) != 0)
 	{
 	  if (debug_auto_load)
 	    fprintf_unfiltered (gdb_stdlog,
 				_("auto-load: And canonicalized as \"%s\".\n"),
 				real_path.get ());
 
-	  VEC_safe_push (char_ptr, auto_load_safe_path_vec,
-			 real_path.release ());
+	  auto_load_safe_path_vec.push_back (std::move (real_path));
 	}
     }
 }
@@ -426,13 +418,14 @@ static int
 filename_is_in_auto_load_safe_path_vec (const char *filename,
 					gdb::unique_xmalloc_ptr<char> *filename_realp)
 {
-  char *pattern;
-  int ix;
+  const char *pattern = NULL;
 
-  for (ix = 0; VEC_iterate (char_ptr, auto_load_safe_path_vec, ix, pattern);
-       ++ix)
-    if (*filename_realp == NULL && filename_is_in_pattern (filename, pattern))
-      break;
+  for (const gdb::unique_xmalloc_ptr<char> &p : auto_load_safe_path_vec)
+    if (*filename_realp == NULL && filename_is_in_pattern (filename, p.get ()))
+      {
+	pattern = p.get ();
+	break;
+      }
   
   if (pattern == NULL)
     {
@@ -447,10 +440,12 @@ filename_is_in_auto_load_safe_path_vec (
 	}
 
       if (strcmp (filename_realp->get (), filename) != 0)
-	for (ix = 0;
-	     VEC_iterate (char_ptr, auto_load_safe_path_vec, ix, pattern); ++ix)
-	  if (filename_is_in_pattern (filename_realp->get (), pattern))
-	    break;
+	for (const gdb::unique_xmalloc_ptr<char> &p : auto_load_safe_path_vec)
+	  if (filename_is_in_pattern (filename_realp->get (), p.get ()))
+	    {
+	      pattern = p.get ();
+	      break;
+	    }
     }
 
   if (pattern != NULL)
@@ -773,50 +768,38 @@ static int
 auto_load_objfile_script_1 (struct objfile *objfile, const char *realname,
 			    const struct extension_language_defn *language)
 {
-  char *filename, *debugfile;
-  int len, retval;
-  struct cleanup *cleanups;
+  const char *debugfile;
+  int retval;
   const char *suffix = ext_lang_auto_load_suffix (language);
 
-  len = strlen (realname);
-  filename = (char *) xmalloc (len + strlen (suffix) + 1);
-  memcpy (filename, realname, len);
-  strcpy (filename + len, suffix);
-
-  cleanups = make_cleanup (xfree, filename);
+  std::string filename = std::string (realname) + suffix;
 
-  gdb_file_up input = gdb_fopen_cloexec (filename, "r");
-  debugfile = filename;
+  gdb_file_up input = gdb_fopen_cloexec (filename.c_str (), "r");
+  debugfile = filename.c_str ();
   if (debug_auto_load)
     fprintf_unfiltered (gdb_stdlog, _("auto-load: Attempted file \"%s\" %s.\n"),
 			debugfile, input ? _("exists") : _("does not exist"));
 
+  std::string debugfile_holder;
   if (!input)
     {
-      VEC (char_ptr) *vec;
-      int ix;
-      char *dir;
-
       /* Also try the same file in a subdirectory of gdb's data
 	 directory.  */
 
-      vec = auto_load_expand_dir_vars (auto_load_dir);
-      make_cleanup_free_char_ptr_vec (vec);
+      std::vector<gdb::unique_xmalloc_ptr<char>> vec
+	= auto_load_expand_dir_vars (auto_load_dir);
 
       if (debug_auto_load)
 	fprintf_unfiltered (gdb_stdlog, _("auto-load: Searching 'set auto-load "
 					  "scripts-directory' path \"%s\".\n"),
 			    auto_load_dir);
 
-      for (ix = 0; VEC_iterate (char_ptr, vec, ix, dir); ++ix)
+      for (const gdb::unique_xmalloc_ptr<char> &dir : vec)
 	{
-	  debugfile = (char *) xmalloc (strlen (dir) + strlen (filename) + 1);
-	  strcpy (debugfile, dir);
-
 	  /* FILENAME is absolute, so we don't need a "/" here.  */
-	  strcat (debugfile, filename);
+	  debugfile_holder = dir.get () + filename;
+	  debugfile = debugfile_holder.c_str ();
 
-	  make_cleanup (xfree, debugfile);
 	  input = gdb_fopen_cloexec (debugfile, "r");
 	  if (debug_auto_load)
 	    fprintf_unfiltered (gdb_stdlog, _("auto-load: Attempted file "
@@ -869,7 +852,6 @@ auto_load_objfile_script_1 (struct objfi
   else
     retval = 0;
 
-  do_cleanups (cleanups);
   return retval;
 }
 
@@ -990,23 +972,21 @@ execute_script_contents (struct auto_loa
 {
   objfile_script_executor_func *executor;
   const char *newline, *script_text;
-  char *name;
+  const char *name;
   int is_safe, in_hash_table;
-  struct cleanup *cleanups;
-
-  cleanups = make_cleanup (null_cleanup, NULL);
 
   /* The first line of the script is the name of the script.
      It must not contain any kind of space character.  */
   name = NULL;
   newline = strchr (script, '\n');
+  std::string name_holder;
   if (newline != NULL)
     {
-      char *buf, *p;
+      const char *buf, *p;
 
       /* Put the name in a buffer and validate it.  */
-      buf = xstrndup (script, newline - script);
-      make_cleanup (xfree, buf);
+      name_holder = std::string (script, newline - script);
+      buf = name_holder.c_str ();
       for (p = buf; *p != '\0'; ++p)
 	{
 	  if (isspace (*p))
@@ -1023,7 +1003,6 @@ execute_script_contents (struct auto_loa
 Missing/bad script name in entry at offset %u in section %s\n\
 of file %s."),
 	       offset, section_name, objfile_name (objfile));
-      do_cleanups (cleanups);
       return;
     }
   script_text = newline + 1;
@@ -1036,7 +1015,6 @@ of file %s."),
       maybe_print_unsupported_script_warning (pspace_info, objfile, language,
 					      section_name, offset);
       maybe_add_script_text (pspace_info, 0, name, language);
-      do_cleanups (cleanups);
       return;
     }
 
@@ -1044,7 +1022,6 @@ of file %s."),
   if (!ext_lang_auto_load_enabled (language))
     {
       /* No message is printed, just skip it.  */
-      do_cleanups (cleanups);
       return;
     }
 
@@ -1060,8 +1037,6 @@ of file %s."),
   /* If this file is not currently loaded, load it.  */
   if (is_safe && !in_hash_table)
     executor (language, objfile, name, script_text);
-
-  do_cleanups (cleanups);
 }
 
 /* Load scripts specified in OBJFILE.
@@ -1161,13 +1136,11 @@ auto_load_section_scripts (struct objfil
 	     section_name, bfd_get_filename (abfd));
   else
     {
-      struct cleanup *cleanups;
-      char *p = (char *) data;
+      gdb::unique_xmalloc_ptr<bfd_byte> data_holder (data);
 
-      cleanups = make_cleanup (xfree, p);
+      char *p = (char *) data;
       source_section_scripts (objfile, section_name, p,
 			      p + bfd_get_section_size (scripts_sect));
-      do_cleanups (cleanups);
     }
 }
 
@@ -1569,7 +1542,7 @@ _initialize_auto_load (void)
     = register_program_space_data_with_cleanup (NULL,
 						auto_load_pspace_data_cleanup);
 
-  observer_attach_new_objfile (auto_load_new_objfile);
+  gdb::observers::new_objfile.attach (auto_load_new_objfile);
 
   add_setshow_boolean_cmd ("gdb-scripts", class_support,
 			   &auto_load_gdb_scripts, _("\
@@ -1679,7 +1652,7 @@ This options has security implications f
 				     show_auto_load_safe_path,
 				     auto_load_set_cmdlist_get (),
 				     auto_load_show_cmdlist_get ());
-  observer_attach_gdb_datadir_changed (auto_load_gdb_datadir_changed);
+  gdb::observers::gdb_datadir_changed.attach (auto_load_gdb_datadir_changed);
 
   cmd = add_cmd ("add-auto-load-safe-path", class_support,
 		 add_auto_load_safe_path,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/auxv.c ./gdb/auxv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/auxv.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/auxv.c	2018-07-10 02:06:12.000000000 +0000
@@ -24,7 +24,7 @@
 #include "inferior.h"
 #include "valprint.h"
 #include "gdbcore.h"
-#include "observer.h"
+#include "observable.h"
 #include "filestuff.h"
 #include "objfiles.h"
 
@@ -50,7 +50,7 @@ procfs_xfer_auxv (gdb_byte *readbuf,
   int fd;
   ssize_t l;
 
-  pathname = xstrprintf ("/proc/%d/auxv", ptid_get_pid (inferior_ptid));
+  pathname = xstrprintf ("/proc/%d/auxv", inferior_ptid.pid ());
   fd = gdb_open_cloexec (pathname, writebuf != NULL ? O_WRONLY : O_RDONLY, 0);
   xfree (pathname);
   if (fd < 0)
@@ -283,16 +283,15 @@ default_auxv_parse (struct target_ops *o
    Return -1 if there is insufficient buffer for a whole entry.
    Return 1 if an entry was read into *TYPEP and *VALP.  */
 int
-target_auxv_parse (struct target_ops *ops, gdb_byte **readptr,
-                  gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
+target_auxv_parse (gdb_byte **readptr,
+		   gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
 {
   struct gdbarch *gdbarch = target_gdbarch();
 
   if (gdbarch_auxv_parse_p (gdbarch))
     return gdbarch_auxv_parse (gdbarch, readptr, endptr, typep, valp);
 
-  return current_target.to_auxv_parse (&current_target, readptr, endptr,
-				       typep, valp);
+  return current_top_target ()->auxv_parse (readptr, endptr, typep, valp);
 }
 
 
@@ -304,8 +303,7 @@ static const struct inferior_data *auxv_
     overhead of transfering data from a remote target to the local host.  */
 struct auxv_info
 {
-  LONGEST length;
-  gdb_byte *data;
+  gdb::optional<gdb::byte_vector> data;
 };
 
 /* Handles the cleanup of the auxv cache for inferior INF.  ARG is ignored.
@@ -323,8 +321,7 @@ auxv_inferior_data_cleanup (struct infer
   info = (struct auxv_info *) inferior_data (inf, auxv_inferior_data);
   if (info != NULL)
     {
-      xfree (info->data);
-      xfree (info);
+      delete info;
       set_inferior_data (inf, auxv_inferior_data, NULL);
     }
 }
@@ -358,9 +355,8 @@ get_auxv_inferior_data (struct target_op
   info = (struct auxv_info *) inferior_data (inf, auxv_inferior_data);
   if (info == NULL)
     {
-      info = XCNEW (struct auxv_info);
-      info->length = target_read_alloc (ops, TARGET_OBJECT_AUXV,
-					NULL, &info->data);
+      info = new auxv_info;
+      info->data = target_read_alloc (ops, TARGET_OBJECT_AUXV, NULL);
       set_inferior_data (inf, auxv_inferior_data, info);
     }
 
@@ -375,20 +371,17 @@ int
 target_auxv_search (struct target_ops *ops, CORE_ADDR match, CORE_ADDR *valp)
 {
   CORE_ADDR type, val;
-  gdb_byte *data;
-  gdb_byte *ptr;
-  struct auxv_info *info;
-
-  info = get_auxv_inferior_data (ops);
+  auxv_info *info = get_auxv_inferior_data (ops);
 
-  data = info->data;
-  ptr = data;
+  if (!info->data)
+    return -1;
 
-  if (info->length <= 0)
-    return info->length;
+  gdb_byte *data = info->data->data ();
+  gdb_byte *ptr = data;
+  size_t len = info->data->size ();
 
   while (1)
-    switch (target_auxv_parse (ops, &ptr, data + info->length, &type, &val))
+    switch (target_auxv_parse (&ptr, data + len, &type, &val))
       {
       case 1:			/* Here's an entry, check it.  */
 	if (type == match)
@@ -528,19 +521,17 @@ fprint_target_auxv (struct ui_file *file
 {
   struct gdbarch *gdbarch = target_gdbarch ();
   CORE_ADDR type, val;
-  gdb_byte *data;
-  gdb_byte *ptr;
-  struct auxv_info *info;
   int ents = 0;
+  auxv_info *info = get_auxv_inferior_data (ops);
 
-  info = get_auxv_inferior_data (ops);
+  if (!info->data)
+    return -1;
 
-  data = info->data;
-  ptr = data;
-  if (info->length <= 0)
-    return info->length;
+  gdb_byte *data = info->data->data ();
+  gdb_byte *ptr = data;
+  size_t len = info->data->size ();
 
-  while (target_auxv_parse (ops, &ptr, data + info->length, &type, &val) > 0)
+  while (target_auxv_parse (&ptr, data + len, &type, &val) > 0)
     {
       gdbarch_print_auxv_entry (gdbarch, file, type, val);
       ++ents;
@@ -558,7 +549,7 @@ info_auxv_command (const char *cmd, int 
     error (_("The program has no auxiliary information now."));
   else
     {
-      int ents = fprint_target_auxv (gdb_stdout, &current_target);
+      int ents = fprint_target_auxv (gdb_stdout, current_top_target ());
 
       if (ents < 0)
 	error (_("No auxiliary vector found, or failed reading it."));
@@ -579,7 +570,7 @@ This is information provided by the oper
     = register_inferior_data_with_cleanup (NULL, auxv_inferior_data_cleanup);
 
   /* Observers used to invalidate the auxv cache when needed.  */
-  observer_attach_inferior_exit (invalidate_auxv_cache_inf);
-  observer_attach_inferior_appeared (invalidate_auxv_cache_inf);
-  observer_attach_executable_changed (invalidate_auxv_cache);
+  gdb::observers::inferior_exit.attach (invalidate_auxv_cache_inf);
+  gdb::observers::inferior_appeared.attach (invalidate_auxv_cache_inf);
+  gdb::observers::executable_changed.attach (invalidate_auxv_cache);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/auxv.h ./gdb/auxv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/auxv.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/auxv.h	2018-07-10 02:06:12.000000000 +0000
@@ -35,8 +35,7 @@ extern int default_auxv_parse (struct ta
    Return 0 if *READPTR is already at the end of the buffer.
    Return -1 if there is insufficient buffer for a whole entry.
    Return 1 if an entry was read into *TYPEP and *VALP.  */
-extern int target_auxv_parse (struct target_ops *ops,
-			      gdb_byte **readptr, gdb_byte *endptr,
+extern int target_auxv_parse (gdb_byte **readptr, gdb_byte *endptr,
 			      CORE_ADDR *typep, CORE_ADDR *valp);
 
 /* Extract the auxiliary vector entry with a_type matching MATCH.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/avr-tdep.c ./gdb/avr-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/avr-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/avr-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -367,10 +367,11 @@ avr_integer_to_address (struct gdbarch *
 }
 
 static CORE_ADDR
-avr_read_pc (struct regcache *regcache)
+avr_read_pc (readable_regcache *regcache)
 {
   ULONGEST pc;
-  regcache_cooked_read_unsigned (regcache, AVR_PC_REGNUM, &pc);
+
+  regcache->cooked_read (AVR_PC_REGNUM, &pc);
   return avr_make_iaddr (pc);
 }
 
@@ -382,7 +383,7 @@ avr_write_pc (struct regcache *regcache,
 }
 
 static enum register_status
-avr_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
+avr_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
                           int regnum, gdb_byte *buf)
 {
   ULONGEST val;
@@ -391,7 +392,7 @@ avr_pseudo_register_read (struct gdbarch
   switch (regnum)
     {
     case AVR_PSEUDO_PC_REGNUM:
-      status = regcache_raw_read_unsigned (regcache, AVR_PC_REGNUM, &val);
+      status = regcache->raw_read (AVR_PC_REGNUM, &val);
       if (status != REG_VALID)
 	return status;
       val >>= 1;
@@ -952,13 +953,13 @@ avr_return_value (struct gdbarch *gdbarc
   if (writebuf != NULL)
     {
       for (i = 0; i < TYPE_LENGTH (valtype); i++)
-        regcache_cooked_write (regcache, lsb_reg + i, writebuf + i);
+	regcache->cooked_write (lsb_reg + i, writebuf + i);
     }
 
   if (readbuf != NULL)
     {
       for (i = 0; i < TYPE_LENGTH (valtype); i++)
-        regcache_cooked_read (regcache, lsb_reg + i, readbuf + i);
+	regcache->cooked_read (lsb_reg + i, readbuf + i);
     }
 
   return RETURN_VALUE_REGISTER_CONVENTION;
@@ -1548,21 +1549,15 @@ avr_gdbarch_init (struct gdbarch_info in
 static void
 avr_io_reg_read_command (const char *args, int from_tty)
 {
-  LONGEST bufsiz = 0;
-  gdb_byte *buf;
-  const char *bufstr;
   char query[400];
-  const char *p;
   unsigned int nreg = 0;
   unsigned int val;
-  int i, j, k, step;
 
   /* Find out how many io registers the target has.  */
-  bufsiz = target_read_alloc (&current_target, TARGET_OBJECT_AVR,
-			      "avr.io_reg", &buf);
-  bufstr = (const char *) buf;
+  gdb::optional<gdb::byte_vector> buf
+    = target_read_alloc (current_top_target (), TARGET_OBJECT_AVR, "avr.io_reg");
 
-  if (bufsiz <= 0)
+  if (!buf)
     {
       fprintf_unfiltered (gdb_stderr,
 			  _("ERR: info io_registers NOT supported "
@@ -1570,36 +1565,42 @@ avr_io_reg_read_command (const char *arg
       return;
     }
 
+  const char *bufstr = (const char *) buf->data ();
+
   if (sscanf (bufstr, "%x", &nreg) != 1)
     {
       fprintf_unfiltered (gdb_stderr,
 			  _("Error fetching number of io registers\n"));
-      xfree (buf);
       return;
     }
 
-  xfree (buf);
-
   reinitialize_more_filter ();
 
   printf_unfiltered (_("Target has %u io registers:\n\n"), nreg);
 
   /* only fetch up to 8 registers at a time to keep the buffer small */
-  step = 8;
+  int step = 8;
 
-  for (i = 0; i < nreg; i += step)
+  for (int i = 0; i < nreg; i += step)
     {
       /* how many registers this round? */
-      j = step;
+      int j = step;
       if ((i+j) >= nreg)
         j = nreg - i;           /* last block is less than 8 registers */
 
       snprintf (query, sizeof (query) - 1, "avr.io_reg:%x,%x", i, j);
-      bufsiz = target_read_alloc (&current_target, TARGET_OBJECT_AVR,
-				  query, &buf);
+      buf = target_read_alloc (current_top_target (), TARGET_OBJECT_AVR, query);
 
-      p = (const char *) buf;
-      for (k = i; k < (i + j); k++)
+      if (!buf)
+        {
+          fprintf_unfiltered (gdb_stderr,
+			      _("ERR: error reading avr.io_reg:%x,%x\n"),
+			      i, j);
+          return;
+        }
+
+      const char *p = (const char *) buf->data ();
+      for (int k = i; k < (i + j); k++)
 	{
 	  if (sscanf (p, "%[^,],%x;", query, &val) == 2)
 	    {
@@ -1611,8 +1612,6 @@ avr_io_reg_read_command (const char *arg
 		break;
 	    }
 	}
-
-      xfree (buf);
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ax_cxx_compile_stdcxx.m4 ./gdb/ax_cxx_compile_stdcxx.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ax_cxx_compile_stdcxx.m4	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ax_cxx_compile_stdcxx.m4	2018-07-10 02:06:12.000000000 +0000
@@ -8,7 +8,7 @@
 # - AC_SUBST CXX_DIALECT instead of changing CXX/CXXCPP.
 #
 # ===========================================================================
-#   http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
+#  https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
 # ===========================================================================
 #
 # SYNOPSIS
@@ -42,21 +42,22 @@
 #   Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
 #   Copyright (c) 2015 Paul Norman <penorman@mac.com>
 #   Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
+#   Copyright (c) 2016 Krzesimir Nowak <qdlacz@gmail.com>
 #
 #   Copying and distribution of this file, with or without modification, are
 #   permitted in any medium without royalty provided the copyright notice
 #   and this notice are preserved.  This file is offered as-is, without any
 #   warranty.
 
-#serial 4
+#serial 8
 
 dnl  This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
 dnl  (serial version number 13).
 
 AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
-  m4_if([$1], [11], [],
-        [$1], [14], [],
-        [$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])],
+  m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"],
+        [$1], [14], [ax_cxx_compile_alternatives="14 1y"],
+        [$1], [17], [ax_cxx_compile_alternatives="17 1z"],
         [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
   m4_if([$2], [], [],
         [$2], [ext], [],
@@ -80,7 +81,8 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
 
   m4_if([$2], [noext], [], [dnl
   if test x$ac_success = xno; then
-    for switch in -std=gnu++$1 -std=gnu++0x; do
+    for alternative in ${ax_cxx_compile_alternatives}; do
+      switch="-std=gnu++${alternative}"
       cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
       AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
                      $cachevar,
@@ -103,19 +105,24 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
     dnl HP's aCC needs +std=c++11 according to:
     dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
     dnl Cray's crayCC needs "-h std=c++11"
-    for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
-      cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
-      AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
-                     $cachevar,
-        [ac_save_CXX="$CXX"
-         CXX="$CXX $switch"
-         AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
-          [eval $cachevar=yes],
-          [eval $cachevar=no])
-         CXX="$ac_save_CXX"])
-      if eval test x\$$cachevar = xyes; then
-        CXX_DIALECT="$switch"
-        ac_success=yes
+    for alternative in ${ax_cxx_compile_alternatives}; do
+      for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
+        cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
+        AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
+                       $cachevar,
+          [ac_save_CXX="$CXX"
+           CXX="$CXX $switch"
+           AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
+            [eval $cachevar=yes],
+            [eval $cachevar=no])
+           CXX="$ac_save_CXX"])
+        if eval test x\$$cachevar = xyes; then
+          CXX_DIALECT="$switch"
+          ac_success=yes
+          break
+        fi
+      done
+      if test x$ac_success = xyes; then
         break
       fi
     done
@@ -153,6 +160,11 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbo
   _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
 )
 
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17],
+  _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
+  _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
+  _AX_CXX_COMPILE_STDCXX_testbody_new_in_17
+)
 
 dnl  Tests for new features in C++11
 
@@ -523,7 +535,7 @@ namespace cxx14
 
   }
 
-  namespace test_digit_seperators
+  namespace test_digit_separators
   {
 
     constexpr auto ten_million = 100'000'000;
@@ -565,3 +577,409 @@ namespace cxx14
 #endif  // __cplusplus >= 201402L
 
 ]])
+
+
+dnl  Tests for new features in C++17
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[
+
+// If the compiler admits that it is not ready for C++17, why torture it?
+// Hopefully, this will speed up the test.
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus <= 201402L
+
+#error "This is not a C++17 compiler"
+
+#else
+
+#if defined(__clang__)
+  #define REALLY_CLANG
+#else
+  #if defined(__GNUC__)
+    #define REALLY_GCC
+  #endif
+#endif
+
+#include <initializer_list>
+#include <utility>
+#include <type_traits>
+
+namespace cxx17
+{
+
+#if !defined(REALLY_CLANG)
+  namespace test_constexpr_lambdas
+  {
+
+    // TODO: test it with clang++ from git
+
+    constexpr int foo = [](){return 42;}();
+
+  }
+#endif // !defined(REALLY_CLANG)
+
+  namespace test::nested_namespace::definitions
+  {
+
+  }
+
+  namespace test_fold_expression
+  {
+
+    template<typename... Args>
+    int multiply(Args... args)
+    {
+      return (args * ... * 1);
+    }
+
+    template<typename... Args>
+    bool all(Args... args)
+    {
+      return (args && ...);
+    }
+
+  }
+
+  namespace test_extended_static_assert
+  {
+
+    static_assert (true);
+
+  }
+
+  namespace test_auto_brace_init_list
+  {
+
+    auto foo = {5};
+    auto bar {5};
+
+    static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
+    static_assert(std::is_same<int, decltype(bar)>::value);
+  }
+
+  namespace test_typename_in_template_template_parameter
+  {
+
+    template<template<typename> typename X> struct D;
+
+  }
+
+  namespace test_fallthrough_nodiscard_maybe_unused_attributes
+  {
+
+    int f1()
+    {
+      return 42;
+    }
+
+    [[nodiscard]] int f2()
+    {
+      [[maybe_unused]] auto unused = f1();
+
+      switch (f1())
+      {
+      case 17:
+        f1();
+        [[fallthrough]];
+      case 42:
+        f1();
+      }
+      return f1();
+    }
+
+  }
+
+  namespace test_extended_aggregate_initialization
+  {
+
+    struct base1
+    {
+      int b1, b2 = 42;
+    };
+
+    struct base2
+    {
+      base2() {
+        b3 = 42;
+      }
+      int b3;
+    };
+
+    struct derived : base1, base2
+    {
+        int d;
+    };
+
+    derived d1 {{1, 2}, {}, 4};  // full initialization
+    derived d2 {{}, {}, 4};      // value-initialized bases
+
+  }
+
+  namespace test_general_range_based_for_loop
+  {
+
+    struct iter
+    {
+      int i;
+
+      int& operator* ()
+      {
+        return i;
+      }
+
+      const int& operator* () const
+      {
+        return i;
+      }
+
+      iter& operator++()
+      {
+        ++i;
+        return *this;
+      }
+    };
+
+    struct sentinel
+    {
+      int i;
+    };
+
+    bool operator== (const iter& i, const sentinel& s)
+    {
+      return i.i == s.i;
+    }
+
+    bool operator!= (const iter& i, const sentinel& s)
+    {
+      return !(i == s);
+    }
+
+    struct range
+    {
+      iter begin() const
+      {
+        return {0};
+      }
+
+      sentinel end() const
+      {
+        return {5};
+      }
+    };
+
+    void f()
+    {
+      range r {};
+
+      for (auto i : r)
+      {
+        [[maybe_unused]] auto v = i;
+      }
+    }
+
+  }
+
+  namespace test_lambda_capture_asterisk_this_by_value
+  {
+
+    struct t
+    {
+      int i;
+      int foo()
+      {
+        return [*this]()
+        {
+          return i;
+        }();
+      }
+    };
+
+  }
+
+  namespace test_enum_class_construction
+  {
+
+    enum class byte : unsigned char
+    {};
+
+    byte foo {42};
+
+  }
+
+  namespace test_constexpr_if
+  {
+
+    template <bool cond>
+    int f ()
+    {
+      if constexpr(cond)
+      {
+        return 13;
+      }
+      else
+      {
+        return 42;
+      }
+    }
+
+  }
+
+  namespace test_selection_statement_with_initializer
+  {
+
+    int f()
+    {
+      return 13;
+    }
+
+    int f2()
+    {
+      if (auto i = f(); i > 0)
+      {
+        return 3;
+      }
+
+      switch (auto i = f(); i + 4)
+      {
+      case 17:
+        return 2;
+
+      default:
+        return 1;
+      }
+    }
+
+  }
+
+#if !defined(REALLY_CLANG)
+  namespace test_template_argument_deduction_for_class_templates
+  {
+
+    // TODO: test it with clang++ from git
+
+    template <typename T1, typename T2>
+    struct pair
+    {
+      pair (T1 p1, T2 p2)
+        : m1 {p1},
+          m2 {p2}
+      {}
+
+      T1 m1;
+      T2 m2;
+    };
+
+    void f()
+    {
+      [[maybe_unused]] auto p = pair{13, 42u};
+    }
+
+  }
+#endif // !defined(REALLY_CLANG)
+
+  namespace test_non_type_auto_template_parameters
+  {
+
+    template <auto n>
+    struct B
+    {};
+
+    B<5> b1;
+    B<'a'> b2;
+
+  }
+
+#if !defined(REALLY_CLANG)
+  namespace test_structured_bindings
+  {
+
+    // TODO: test it with clang++ from git
+
+    int arr[2] = { 1, 2 };
+    std::pair<int, int> pr = { 1, 2 };
+
+    auto f1() -> int(&)[2]
+    {
+      return arr;
+    }
+
+    auto f2() -> std::pair<int, int>&
+    {
+      return pr;
+    }
+
+    struct S
+    {
+      int x1 : 2;
+      volatile double y1;
+    };
+
+    S f3()
+    {
+      return {};
+    }
+
+    auto [ x1, y1 ] = f1();
+    auto& [ xr1, yr1 ] = f1();
+    auto [ x2, y2 ] = f2();
+    auto& [ xr2, yr2 ] = f2();
+    const auto [ x3, y3 ] = f3();
+
+  }
+#endif // !defined(REALLY_CLANG)
+
+#if !defined(REALLY_CLANG)
+  namespace test_exception_spec_type_system
+  {
+
+    // TODO: test it with clang++ from git
+
+    struct Good {};
+    struct Bad {};
+
+    void g1() noexcept;
+    void g2();
+
+    template<typename T>
+    Bad
+    f(T*, T*);
+
+    template<typename T1, typename T2>
+    Good
+    f(T1*, T2*);
+
+    static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
+
+  }
+#endif // !defined(REALLY_CLANG)
+
+  namespace test_inline_variables
+  {
+
+    template<class T> void f(T)
+    {}
+
+    template<class T> inline T g(T)
+    {
+      return T{};
+    }
+
+    template<> inline void f<>(int)
+    {}
+
+    template<> int g<>(int)
+    {
+      return 5;
+    }
+
+  }
+
+}  // namespace cxx17
+
+#endif  // __cplusplus <= 201402L
+
+]])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ax-gdb.c ./gdb/ax-gdb.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ax-gdb.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ax-gdb.c	2018-07-10 02:06:12.000000000 +0000
@@ -1533,7 +1533,7 @@ gen_struct_ref (struct agent_expr *ax, s
   
   if (!found)
     error (_("Couldn't find member named `%s' in struct/union/class `%s'"),
-	   field, TYPE_TAG_NAME (type));
+	   field, TYPE_NAME (type));
 }
 
 static int
@@ -1629,7 +1629,7 @@ gen_namespace_elt (struct agent_expr *ax
 
   if (!found)
     error (_("No symbol \"%s\" in namespace \"%s\"."), 
-	   name, TYPE_TAG_NAME (curtype));
+	   name, TYPE_NAME (curtype));
 
   return found;
 }
@@ -1644,7 +1644,7 @@ static int
 gen_maybe_namespace_elt (struct agent_expr *ax, struct axs_value *value,
 			 const struct type *curtype, char *name)
 {
-  const char *namespace_name = TYPE_TAG_NAME (curtype);
+  const char *namespace_name = TYPE_NAME (curtype);
   struct block_symbol sym;
 
   sym = cp_lookup_symbol_namespace (namespace_name, name,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/bfd-target.c ./gdb/bfd-target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/bfd-target.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/bfd-target.c	2018-07-10 02:06:12.000000000 +0000
@@ -23,36 +23,59 @@
 #include "exec.h"
 #include "gdb_bfd.h"
 
-/* The object that is stored in the target_ops->to_data field has this
-   type.  */
-struct target_bfd_data
+/* A target that wraps a BFD.  */
+
+static const target_info target_bfd_target_info = {
+  "bfd",
+  N_("BFD backed target"),
+  N_("You should never see this")
+};
+
+class target_bfd : public target_ops
 {
+public:
+  explicit target_bfd (struct bfd *bfd);
+  ~target_bfd () override;
+
+  const target_info &info () const override
+  { return target_bfd_target_info; }
+
+  void close () override;
+
+  target_xfer_status
+    xfer_partial (target_object object,
+		  const char *annex, gdb_byte *readbuf,
+		  const gdb_byte *writebuf,
+		  ULONGEST offset, ULONGEST len,
+		  ULONGEST *xfered_len) override;
+
+  target_section_table *get_section_table () override;
+
+private:
   /* The BFD we're wrapping.  */
-  struct bfd *bfd;
+  gdb_bfd_ref_ptr m_bfd;
 
   /* The section table build from the ALLOC sections in BFD.  Note
      that we can't rely on extracting the BFD from a random section in
      the table, since the table can be legitimately empty.  */
-  struct target_section_table table;
+  struct target_section_table m_table;
 };
 
-static enum target_xfer_status
-target_bfd_xfer_partial (struct target_ops *ops,
-			 enum target_object object,
-			 const char *annex, gdb_byte *readbuf,
-			 const gdb_byte *writebuf,
-			 ULONGEST offset, ULONGEST len,
-			 ULONGEST *xfered_len)
+target_xfer_status
+target_bfd::xfer_partial (target_object object,
+			  const char *annex, gdb_byte *readbuf,
+			  const gdb_byte *writebuf,
+			  ULONGEST offset, ULONGEST len,
+			  ULONGEST *xfered_len)
 {
   switch (object)
     {
     case TARGET_OBJECT_MEMORY:
       {
-	struct target_bfd_data *data = (struct target_bfd_data *) ops->to_data;
 	return section_table_xfer_memory_partial (readbuf, writebuf,
 						  offset, len, xfered_len,
-						  data->table.sections,
-						  data->table.sections_end,
+						  m_table.sections,
+						  m_table.sections_end,
 						  NULL);
       }
     default:
@@ -60,44 +83,34 @@ target_bfd_xfer_partial (struct target_o
     }
 }
 
-static struct target_section_table *
-target_bfd_get_section_table (struct target_ops *ops)
+target_section_table *
+target_bfd::get_section_table ()
 {
-  struct target_bfd_data *data = (struct target_bfd_data *) ops->to_data;
-  return &data->table;
+  return &m_table;
 }
 
-static void
-target_bfd_xclose (struct target_ops *t)
+target_bfd::target_bfd (struct bfd *abfd)
+  : m_bfd (gdb_bfd_ref_ptr::new_reference (abfd))
 {
-  struct target_bfd_data *data = (struct target_bfd_data *) t->to_data;
+  this->to_stratum = file_stratum;
+  m_table.sections = NULL;
+  m_table.sections_end = NULL;
+  build_section_table (abfd, &m_table.sections, &m_table.sections_end);
+}
 
-  gdb_bfd_unref (data->bfd);
-  xfree (data->table.sections);
-  xfree (data);
-  xfree (t);
+target_bfd::~target_bfd ()
+{
+  xfree (m_table.sections);
 }
 
-struct target_ops *
+target_ops *
 target_bfd_reopen (struct bfd *abfd)
 {
-  struct target_ops *t;
-  struct target_bfd_data *data;
-
-  data = XCNEW (struct target_bfd_data);
-  data->bfd = abfd;
-  gdb_bfd_ref (abfd);
-  build_section_table (abfd, &data->table.sections, &data->table.sections_end);
-
-  t = XCNEW (struct target_ops);
-  t->to_shortname = "bfd";
-  t->to_longname = _("BFD backed target");
-  t->to_doc = _("You should never see this");
-  t->to_get_section_table = target_bfd_get_section_table;
-  t->to_xfer_partial = target_bfd_xfer_partial;
-  t->to_xclose = target_bfd_xclose;
-  t->to_data = data;
-  t->to_magic = OPS_MAGIC;
+  return new target_bfd (abfd);
+}
 
-  return t;
+void
+target_bfd::close ()
+{
+  delete this;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/bfin-linux-tdep.c ./gdb/bfin-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/bfin-linux-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/bfin-linux-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -128,9 +128,9 @@ static const struct tramp_frame bfin_lin
 
 static LONGEST
 bfin_linux_get_syscall_number (struct gdbarch *gdbarch,
-                               ptid_t ptid)
+			       thread_info *thread)
 {
-  struct regcache *regcache = get_thread_regcache (ptid);
+  struct regcache *regcache = get_thread_regcache (thread);
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   /* The content of a register.  */
   gdb_byte buf[4];
@@ -140,7 +140,7 @@ bfin_linux_get_syscall_number (struct gd
   /* Getting the system call number from the register.
      When dealing with Blackfin architecture, this information
      is stored at %p0 register.  */
-  regcache_cooked_read (regcache, BFIN_P0_REGNUM, buf);
+  regcache->cooked_read (BFIN_P0_REGNUM, buf);
 
   ret = extract_signed_integer (buf, 4, byte_order);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/bfin-tdep.c ./gdb/bfin-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/bfin-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/bfin-tdep.c	2018-07-10 02:06:12.000000000 +0000
@@ -647,7 +647,7 @@ bfin_store_return_value (struct type *ty
 
   while (len > 0)
     {
-      regcache_cooked_write (regs, regno++, valbuf);
+      regs->cooked_write (regno++, valbuf);
       len -= 4;
       valbuf += 4;
     }
@@ -688,7 +688,7 @@ bfin_register_name (struct gdbarch *gdba
 }
 
 static enum register_status
-bfin_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
+bfin_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
 			   int regnum, gdb_byte *buffer)
 {
   gdb_byte buf[BFIN_MAX_REGISTER_SIZE];
@@ -699,7 +699,7 @@ bfin_pseudo_register_read (struct gdbarc
 		    _("invalid register number %d"), regnum);
 
   /* Extract the CC bit from the ASTAT register.  */
-  status = regcache_raw_read (regcache, BFIN_ASTAT_REGNUM, buf);
+  status = regcache->raw_read (BFIN_ASTAT_REGNUM, buf);
   if (status == REG_VALID)
     {
       buffer[1] = buffer[2] = buffer[3] = 0;
@@ -719,9 +719,9 @@ bfin_pseudo_register_write (struct gdbar
 		    _("invalid register number %d"), regnum);
 
   /* Overlay the CC bit in the ASTAT register.  */
-  regcache_raw_read (regcache, BFIN_ASTAT_REGNUM, buf);
+  regcache->raw_read (BFIN_ASTAT_REGNUM, buf);
   buf[0] = (buf[0] & ~ASTAT_CC) | ((buffer[0] & 1) << ASTAT_CC_POS);
-  regcache_raw_write (regcache, BFIN_ASTAT_REGNUM, buf);
+  regcache->raw_write (BFIN_ASTAT_REGNUM, buf);
 }
 
 static CORE_ADDR
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/block.c ./gdb/block.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/block.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/block.c	2018-07-10 02:06:12.000000000 +0000
@@ -31,10 +31,10 @@
    C++ files, namely using declarations and the current namespace in
    scope.  */
 
-struct block_namespace_info
+struct block_namespace_info : public allocate_on_obstack
 {
-  const char *scope;
-  struct using_direct *using_decl;
+  const char *scope = nullptr;
+  struct using_direct *using_decl = nullptr;
 };
 
 static void block_initialize_namespace (struct block *block,
@@ -350,11 +350,7 @@ static void
 block_initialize_namespace (struct block *block, struct obstack *obstack)
 {
   if (BLOCK_NAMESPACE (block) == NULL)
-    {
-      BLOCK_NAMESPACE (block) = XOBNEW (obstack, struct block_namespace_info);
-      BLOCK_NAMESPACE (block)->scope = NULL;
-      BLOCK_NAMESPACE (block)->using_decl = NULL;
-    }
+    BLOCK_NAMESPACE (block) = new (obstack) struct block_namespace_info ();
 }
 
 /* Return the static block associated to BLOCK.  Return NULL if block
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/blockframe.c ./gdb/blockframe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/blockframe.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/blockframe.c	2018-07-10 02:06:12.000000000 +0000
@@ -152,6 +152,19 @@ find_pc_function (CORE_ADDR pc)
   return find_pc_sect_function (pc, find_pc_mapped_section (pc));
 }
 
+/* See symtab.h.  */
+
+struct symbol *
+find_pc_sect_containing_function (CORE_ADDR pc, struct obj_section *section)
+{
+  const block *bl = block_for_pc_sect (pc, section);
+
+  if (bl == nullptr)
+    return nullptr;
+
+  return block_containing_function (bl);
+}
+
 /* These variables are used to cache the most recent result
    of find_pc_partial_function.  */
 
@@ -159,7 +172,6 @@ static CORE_ADDR cache_pc_function_low =
 static CORE_ADDR cache_pc_function_high = 0;
 static const char *cache_pc_function_name = 0;
 static struct obj_section *cache_pc_function_section = NULL;
-static int cache_pc_function_is_gnu_ifunc = 0;
 
 /* Clear cache, e.g. when symbol table is discarded.  */
 
@@ -170,7 +182,6 @@ clear_pc_function_cache (void)
   cache_pc_function_high = 0;
   cache_pc_function_name = (char *) 0;
   cache_pc_function_section = NULL;
-  cache_pc_function_is_gnu_ifunc = 0;
 }
 
 /* Finds the "function" (text symbol) that is smaller than PC but
@@ -178,19 +189,17 @@ clear_pc_function_cache (void)
    *NAME and/or *ADDRESS conditionally if that pointer is non-null.
    If ENDADDR is non-null, then set *ENDADDR to be the end of the
    function (exclusive), but passing ENDADDR as non-null means that
-   the function might cause symbols to be read.  If IS_GNU_IFUNC_P is provided
-   *IS_GNU_IFUNC_P is set to 1 on return if the function is STT_GNU_IFUNC.
-   This function either succeeds or fails (not halfway succeeds).  If it
-   succeeds, it sets *NAME, *ADDRESS, and *ENDADDR to real information and
-   returns 1.  If it fails, it sets *NAME, *ADDRESS, *ENDADDR and
-   *IS_GNU_IFUNC_P to zero and returns 0.  */
+   the function might cause symbols to be read.  This function either
+   succeeds or fails (not halfway succeeds).  If it succeeds, it sets
+   *NAME, *ADDRESS, and *ENDADDR to real information and returns 1.
+   If it fails, it sets *NAME, *ADDRESS and *ENDADDR to zero and
+   returns 0.  */
 
 /* Backward compatibility, no section argument.  */
 
 int
-find_pc_partial_function_gnu_ifunc (CORE_ADDR pc, const char **name,
-				    CORE_ADDR *address, CORE_ADDR *endaddr,
-				    int *is_gnu_ifunc_p)
+find_pc_partial_function (CORE_ADDR pc, const char **name, CORE_ADDR *address,
+			  CORE_ADDR *endaddr)
 {
   struct obj_section *section;
   struct symbol *f;
@@ -243,7 +252,6 @@ find_pc_partial_function_gnu_ifunc (CORE
 	  cache_pc_function_high = BLOCK_END (SYMBOL_BLOCK_VALUE (f));
 	  cache_pc_function_name = SYMBOL_LINKAGE_NAME (f);
 	  cache_pc_function_section = section;
-	  cache_pc_function_is_gnu_ifunc = TYPE_GNU_IFUNC (SYMBOL_TYPE (f));
 	  goto return_cached_value;
 	}
     }
@@ -266,16 +274,12 @@ find_pc_partial_function_gnu_ifunc (CORE
 	*address = 0;
       if (endaddr != NULL)
 	*endaddr = 0;
-      if (is_gnu_ifunc_p != NULL)
-	*is_gnu_ifunc_p = 0;
       return 0;
     }
 
   cache_pc_function_low = BMSYMBOL_VALUE_ADDRESS (msymbol);
   cache_pc_function_name = MSYMBOL_LINKAGE_NAME (msymbol.minsym);
   cache_pc_function_section = section;
-  cache_pc_function_is_gnu_ifunc = (MSYMBOL_TYPE (msymbol.minsym)
-				    == mst_text_gnu_ifunc);
   cache_pc_function_high = minimal_symbol_upper_bound (msymbol);
 
  return_cached_value:
@@ -307,20 +311,46 @@ find_pc_partial_function_gnu_ifunc (CORE
 	*endaddr = cache_pc_function_high;
     }
 
-  if (is_gnu_ifunc_p)
-    *is_gnu_ifunc_p = cache_pc_function_is_gnu_ifunc;
-
   return 1;
 }
 
-/* See find_pc_partial_function_gnu_ifunc, only the IS_GNU_IFUNC_P parameter
-   is omitted here for backward API compatibility.  */
+/* See symtab.h.  */
 
-int
-find_pc_partial_function (CORE_ADDR pc, const char **name, CORE_ADDR *address,
-			  CORE_ADDR *endaddr)
+struct type *
+find_function_type (CORE_ADDR pc)
 {
-  return find_pc_partial_function_gnu_ifunc (pc, name, address, endaddr, NULL);
+  struct symbol *sym = find_pc_function (pc);
+
+  if (sym != NULL && BLOCK_START (SYMBOL_BLOCK_VALUE (sym)) == pc)
+    return SYMBOL_TYPE (sym);
+
+  return NULL;
+}
+
+/* See symtab.h.  */
+
+struct type *
+find_gnu_ifunc_target_type (CORE_ADDR resolver_funaddr)
+{
+  struct type *resolver_type = find_function_type (resolver_funaddr);
+  if (resolver_type != NULL)
+    {
+      /* Get the return type of the resolver.  */
+      struct type *resolver_ret_type
+	= check_typedef (TYPE_TARGET_TYPE (resolver_type));
+
+      /* If we found a pointer to function, then the resolved type
+	 is the type of the pointed-to function.  */
+      if (TYPE_CODE (resolver_ret_type) == TYPE_CODE_PTR)
+	{
+	  struct type *resolved_type
+	    = TYPE_TARGET_TYPE (resolver_ret_type);
+	  if (TYPE_CODE (check_typedef (resolved_type)) == TYPE_CODE_FUNC)
+	    return resolved_type;
+	}
+    }
+
+  return NULL;
 }
 
 /* Return the innermost stack frame that is executing inside of BLOCK and is
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/break-catch-syscall.c ./gdb/break-catch-syscall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/break-catch-syscall.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/break-catch-syscall.c	2018-07-10 02:06:12.000000000 +0000
@@ -27,7 +27,7 @@
 #include "mi/mi-common.h"
 #include "valprint.h"
 #include "arch-utils.h"
-#include "observer.h"
+#include "observable.h"
 #include "xml-syscall.h"
 
 /* An instance of this type is used to represent a syscall catchpoint.
@@ -110,7 +110,7 @@ insert_catch_syscall (struct bp_location
 	}
     }
 
-  return target_set_syscall_catchpoint (ptid_get_pid (inferior_ptid),
+  return target_set_syscall_catchpoint (inferior_ptid.pid (),
 					inf_data->total_syscalls_count != 0,
 					inf_data->any_syscall_count,
 					inf_data->syscalls_counts);
@@ -141,7 +141,7 @@ remove_catch_syscall (struct bp_location
         }
     }
 
-  return target_set_syscall_catchpoint (ptid_get_pid (inferior_ptid),
+  return target_set_syscall_catchpoint (inferior_ptid.pid (),
 					inf_data->total_syscalls_count != 0,
 					inf_data->any_syscall_count,
 					inf_data->syscalls_counts);
@@ -632,7 +632,7 @@ _initialize_break_catch_syscall (void)
 {
   initialize_syscall_catchpoint_ops ();
 
-  observer_attach_inferior_exit (clear_syscall_counts);
+  gdb::observers::inferior_exit.attach (clear_syscall_counts);
   catch_syscall_inferior_data
     = register_inferior_data_with_cleanup (NULL,
 					   catch_syscall_inferior_data_cleanup);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/break-catch-throw.c ./gdb/break-catch-throw.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/break-catch-throw.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/break-catch-throw.c	2018-07-10 02:06:12.000000000 +0000
@@ -238,8 +238,7 @@ print_it_exception_catchpoint (bpstat bs
   bp_temp = b->disposition == disp_del;
   uiout->text (bp_temp ? "Temporary catchpoint "
 		       : "Catchpoint ");
-  if (!uiout->is_mi_like_p ())
-    uiout->field_int ("bkptno", b->number);
+  uiout->field_int ("bkptno", b->number);
   uiout->text ((kind == EX_EVENT_THROW ? " (exception thrown), "
 		: (kind == EX_EVENT_CATCH ? " (exception caught), "
 		   : " (exception rethrown), ")));
@@ -248,7 +247,6 @@ print_it_exception_catchpoint (bpstat bs
       uiout->field_string ("reason",
 			   async_reason_lookup (EXEC_ASYNC_BREAKPOINT_HIT));
       uiout->field_string ("disp", bpdisp_text (b->disposition));
-      uiout->field_int ("bkptno", b->number);
     }
   return PRINT_SRC_AND_LOC;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/breakpoint.c ./gdb/breakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/breakpoint.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/breakpoint.c	2018-07-10 02:06:12.000000000 +0000
@@ -49,7 +49,7 @@
 #include "block.h"
 #include "solib.h"
 #include "solist.h"
-#include "observer.h"
+#include "observable.h"
 #include "memattr.h"
 #include "ada-lang.h"
 #include "top.h"
@@ -117,7 +117,8 @@ static std::vector<symtab_and_line> deco
   (struct breakpoint *b, const struct event_location *location,
    struct program_space *search_pspace);
 
-static int can_use_hardware_watchpoint (struct value *);
+static int can_use_hardware_watchpoint
+    (const std::vector<value_ref_ptr> &vals);
 
 static void mention (struct breakpoint *);
 
@@ -879,12 +880,12 @@ set_breakpoint_condition (struct breakpo
 	{
 	  struct watchpoint *w = (struct watchpoint *) b;
 
-	  innermost_block = NULL;
+	  innermost_block.reset ();
 	  arg = exp;
 	  w->cond_exp = parse_exp_1 (&arg, 0, 0, 0);
 	  if (*arg)
 	    error (_("Junk at end of expression"));
-	  w->cond_exp_valid_block = innermost_block;
+	  w->cond_exp_valid_block = innermost_block.block ();
 	}
       else
 	{
@@ -903,7 +904,7 @@ set_breakpoint_condition (struct breakpo
     }
   mark_breakpoint_modified (b);
 
-  observer_notify_breakpoint_modified (b);
+  gdb::observers::breakpoint_modified.notify (b);
 }
 
 /* Completion for the "condition" command.  */
@@ -1014,8 +1015,8 @@ check_no_tracepoint_commands (struct com
 	error (_("The 'while-stepping' command can "
 		 "only be used for tracepoints"));
 
-      for (i = 0; i < c->body_count; ++i)
-	check_no_tracepoint_commands ((c->body_list)[i]);
+      check_no_tracepoint_commands (c->body_list_0.get ());
+      check_no_tracepoint_commands (c->body_list_1.get ());
 
       /* Not that command parsing removes leading whitespace and comment
 	 lines and also empty lines.  So, we only need to check for
@@ -1126,8 +1127,8 @@ validate_commands_for_breakpoint (struct
 	{
 	  struct command_line *c2;
 
-	  gdb_assert (while_stepping->body_count == 1);
-	  c2 = while_stepping->body_list[0];
+	  gdb_assert (while_stepping->body_list_1 == nullptr);
+	  c2 = while_stepping->body_list_0.get ();
 	  for (; c2; c2 = c2->next)
 	    {
 	      if (c2->control_type == while_stepping_control)
@@ -1144,11 +1145,11 @@ validate_commands_for_breakpoint (struct
 /* Return a vector of all the static tracepoints set at ADDR.  The
    caller is responsible for releasing the vector.  */
 
-VEC(breakpoint_p) *
+std::vector<breakpoint *>
 static_tracepoints_here (CORE_ADDR addr)
 {
   struct breakpoint *b;
-  VEC(breakpoint_p) *found = 0;
+  std::vector<breakpoint *> found;
   struct bp_location *loc;
 
   ALL_BREAKPOINTS (b)
@@ -1156,7 +1157,7 @@ static_tracepoints_here (CORE_ADDR addr)
       {
 	for (loc = b->loc; loc; loc = loc->next)
 	  if (loc->address == addr)
-	    VEC_safe_push(breakpoint_p, found, b);
+	    found.push_back (b);
       }
 
   return found;
@@ -1167,12 +1168,12 @@ static_tracepoints_here (CORE_ADDR addr)
 
 void
 breakpoint_set_commands (struct breakpoint *b, 
-			 command_line_up &&commands)
+			 counted_command_line &&commands)
 {
   validate_commands_for_breakpoint (b, commands.get ());
 
   b->commands = std::move (commands);
-  observer_notify_breakpoint_modified (b);
+  gdb::observers::breakpoint_modified.notify (b);
 }
 
 /* Set the internal `silent' flag on the breakpoint.  Note that this
@@ -1186,7 +1187,7 @@ breakpoint_set_silent (struct breakpoint
 
   b->silent = silent;
   if (old_silent != silent)
-    observer_notify_breakpoint_modified (b);
+    gdb::observers::breakpoint_modified.notify (b);
 }
 
 /* Set the thread for this breakpoint.  If THREAD is -1, make the
@@ -1199,7 +1200,7 @@ breakpoint_set_thread (struct breakpoint
 
   b->thread = thread;
   if (old_thread != thread)
-    observer_notify_breakpoint_modified (b);
+    gdb::observers::breakpoint_modified.notify (b);
 }
 
 /* Set the task for this breakpoint.  If TASK is 0, make the
@@ -1212,15 +1213,7 @@ breakpoint_set_task (struct breakpoint *
 
   b->task = task;
   if (old_task != task)
-    observer_notify_breakpoint_modified (b);
-}
-
-void
-check_tracepoint_command (char *line, void *closure)
-{
-  struct breakpoint *b = (struct breakpoint *) closure;
-
-  validate_actionline (line, b);
+    gdb::observers::breakpoint_modified.notify (b);
 }
 
 static void
@@ -1247,7 +1240,7 @@ commands_command_1 (const char *arg, int
        if (cmd == NULL)
 	 {
 	   if (control != NULL)
-	     cmd = copy_command_lines (control->body_list[0]);
+	     cmd = control->body_list_0;
 	   else
 	     {
 	       std::string str
@@ -1255,11 +1248,15 @@ commands_command_1 (const char *arg, int
 				    "%s, one per line."),
 				  arg);
 
-	       cmd = read_command_lines (&str[0],
-					 from_tty, 1,
-					 (is_tracepoint (b)
-					  ? check_tracepoint_command : 0),
-					 b);
+	       auto do_validate = [=] (const char *line)
+				  {
+				    validate_actionline (line, b);
+				  };
+	       gdb::function_view<void (const char *)> validator;
+	       if (is_tracepoint (b))
+		 validator = do_validate;
+
+	       cmd = read_command_lines (str.c_str (), from_tty, 1, validator);
 	     }
 	 }
 
@@ -1269,7 +1266,7 @@ commands_command_1 (const char *arg, int
 	 {
 	   validate_commands_for_breakpoint (b, cmd.get ());
 	   b->commands = cmd;
-	   observer_notify_breakpoint_modified (b);
+	   gdb::observers::breakpoint_modified.notify (b);
 	 }
      });
 }
@@ -1549,9 +1546,9 @@ static int
 watchpoint_in_thread_scope (struct watchpoint *b)
 {
   return (b->pspace == current_program_space
-	  && (ptid_equal (b->watchpoint_thread, null_ptid)
-	      || (ptid_equal (inferior_ptid, b->watchpoint_thread)
-		  && !is_executing (inferior_ptid))));
+	  && (b->watchpoint_thread == null_ptid
+	      || (inferior_ptid == b->watchpoint_thread
+		  && !inferior_thread ()->executing)));
 }
 
 /* Set watchpoint B to disp_del_at_next_stop, even including its possible
@@ -1740,7 +1737,6 @@ update_watchpoint (struct watchpoint *b,
 	 no longer relevant.  We don't want to report a watchpoint hit
 	 to the user when the old value and the new value may actually
 	 be completely different objects.  */
-      value_free (b->val);
       b->val = NULL;
       b->val_valid = 0;
 
@@ -1778,7 +1774,8 @@ update_watchpoint (struct watchpoint *b,
   else if (within_current_scope && b->exp)
     {
       int pc = 0;
-      struct value *val_chain, *v, *result, *next;
+      std::vector<value_ref_ptr> val_chain;
+      struct value *v, *result, *next;
       struct program_space *frame_pspace;
 
       fetch_subexp_value (b->exp.get (), &pc, &v, &result, &val_chain, 0);
@@ -1792,27 +1789,26 @@ update_watchpoint (struct watchpoint *b,
       if (!b->val_valid && !is_masked_watchpoint (b))
 	{
 	  if (b->val_bitsize != 0)
-	    {
-	      v = extract_bitfield_from_watchpoint_value (b, v);
-	      if (v != NULL)
-		release_value (v);
-	    }
-	  b->val = v;
+	    v = extract_bitfield_from_watchpoint_value (b, v);
+	  b->val = release_value (v);
 	  b->val_valid = 1;
 	}
 
       frame_pspace = get_frame_program_space (get_selected_frame (NULL));
 
       /* Look at each value on the value chain.  */
-      for (v = val_chain; v; v = value_next (v))
+      gdb_assert (!val_chain.empty ());
+      for (const value_ref_ptr &iter : val_chain)
 	{
+	  v = iter.get ();
+
 	  /* If it's a memory location, and GDB actually needed
 	     its contents to evaluate the expression, then we
 	     must watch it.  If the first value returned is
 	     still lazy, that means an error occurred reading it;
 	     watch it anyway in case it becomes readable.  */
 	  if (VALUE_LVAL (v) == lval_memory
-	      && (v == val_chain || ! value_lazy (v)))
+	      && (v == val_chain[0] || ! value_lazy (v)))
 	    {
 	      struct type *vtype = check_typedef (value_type (v));
 
@@ -1967,13 +1963,6 @@ update_watchpoint (struct watchpoint *b,
 	    bl->loc_type = loc_type;
 	}
 
-      for (v = val_chain; v; v = next)
-	{
-	  next = value_next (v);
-	  if (v != b->val)
-	    value_free (v);
-	}
-
       /* If a software watchpoint is not watching any memory, then the
 	 above left it without any location set up.  But,
 	 bpstat_stop_status requires a location to be able to report
@@ -2419,7 +2408,7 @@ breakpoint_kind (struct bp_location *bl,
       struct thread_info *thr = find_thread_global_id (bl->owner->thread);
       struct regcache *regcache;
 
-      regcache = get_thread_regcache (thr->ptid);
+      regcache = get_thread_regcache (thr);
 
       return gdbarch_breakpoint_kind_from_current_state (bl->gdbarch,
 							 regcache, addr);
@@ -2655,7 +2644,7 @@ insert_bp_location (struct bp_location *
 	    {
 	      /* See also: disable_breakpoints_in_shlibs.  */
 	      bl->shlib_disabled = 1;
-	      observer_notify_breakpoint_modified (bl->owner);
+	      gdb::observers::breakpoint_modified.notify (bl->owner);
 	      if (!*disabled_breaks)
 		{
 		  fprintf_unfiltered (tmp_error_stream, 
@@ -2915,7 +2904,7 @@ update_inserted_breakpoint_locations (vo
 	 if we aren't attached to any process yet, we should still
 	 insert breakpoints.  */
       if (!gdbarch_has_global_breakpoints (target_gdbarch ())
-	  && ptid_equal (inferior_ptid, null_ptid))
+	  && inferior_ptid == null_ptid)
 	continue;
 
       val = insert_bp_location (bl, &tmp_error_stream, &disabled_breaks,
@@ -2971,7 +2960,7 @@ insert_breakpoint_locations (void)
 	 if we aren't attached to any process yet, we should still
 	 insert breakpoints.  */
       if (!gdbarch_has_global_breakpoints (target_gdbarch ())
-	  && ptid_equal (inferior_ptid, null_ptid))
+	  && inferior_ptid == null_ptid)
 	continue;
 
       val = insert_bp_location (bl, &tmp_error_stream, &disabled_breaks,
@@ -3072,14 +3061,13 @@ Thread-specific breakpoint %d deleted - 
     }
 }
 
-/* Remove breakpoints of process PID.  */
+/* Remove breakpoints of inferior INF.  */
 
 int
-remove_breakpoints_pid (int pid)
+remove_breakpoints_inf (inferior *inf)
 {
   struct bp_location *bl, **blp_tmp;
   int val;
-  struct inferior *inf = find_inferior_pid (pid);
 
   ALL_BP_LOCATIONS (bl, blp_tmp)
   {
@@ -3501,7 +3489,7 @@ create_exception_master_breakpoint (void
 
       addr = BMSYMBOL_VALUE_ADDRESS (bp_objfile_data->exception_msym);
       addr = gdbarch_convert_from_func_ptr_addr (gdbarch, addr,
-						 &current_target);
+						 current_top_target ());
       b = create_internal_breakpoint (gdbarch, addr, bp_exception_master,
 				      &internal_breakpoint_ops);
       initialize_explicit_location (&explicit_loc);
@@ -3649,7 +3637,7 @@ detach_breakpoints (ptid_t ptid)
   scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
   struct inferior *inf = current_inferior ();
 
-  if (ptid_get_pid (ptid) == ptid_get_pid (inferior_ptid))
+  if (ptid.pid () == inferior_ptid.pid ())
     error (_("Cannot detach breakpoints of inferior_ptid"));
 
   /* Set inferior_ptid; remove_breakpoint_1 uses this global.  */
@@ -3951,9 +3939,7 @@ breakpoint_init_inferior (enum inf_conte
 		{
 		  /* Reset val field to force reread of starting value in
 		     insert_breakpoints.  */
-		  if (w->val)
-		    value_free (w->val);
-		  w->val = NULL;
+		  w->val.reset (nullptr);
 		  w->val_valid = 0;
 		}
 	    }
@@ -4199,8 +4185,6 @@ is_catchpoint (struct breakpoint *ep)
 
 bpstats::~bpstats ()
 {
-  if (old_val != NULL)
-    value_free (old_val);
   if (bp_location_at != NULL)
     decref_bp_location (&bp_location_at);
 }
@@ -4231,16 +4215,12 @@ bpstats::bpstats (const bpstats &other)
     bp_location_at (other.bp_location_at),
     breakpoint_at (other.breakpoint_at),
     commands (other.commands),
-    old_val (other.old_val),
     print (other.print),
     stop (other.stop),
     print_it (other.print_it)
 {
-  if (old_val != NULL)
-    {
-      old_val = value_copy (old_val);
-      release_value (old_val);
-    }
+  if (other.old_val != NULL)
+    old_val = release_value (value_copy (other.old_val.get ()));
   incref_bp_location (bp_location_at);
 }
 
@@ -4348,25 +4328,16 @@ bpstat_num (bpstat *bsp, int *num)
 void
 bpstat_clear_actions (void)
 {
-  struct thread_info *tp;
   bpstat bs;
 
-  if (ptid_equal (inferior_ptid, null_ptid))
-    return;
-
-  tp = find_thread_ptid (inferior_ptid);
-  if (tp == NULL)
+  if (inferior_ptid == null_ptid)
     return;
 
+  thread_info *tp = inferior_thread ();
   for (bs = tp->control.stop_bpstat; bs != NULL; bs = bs->next)
     {
       bs->commands = NULL;
-
-      if (bs->old_val != NULL)
-	{
-	  value_free (bs->old_val);
-	  bs->old_val = NULL;
-	}
+      bs->old_val.reset (nullptr);
     }
 }
 
@@ -4375,7 +4346,7 @@ bpstat_clear_actions (void)
 static void
 breakpoint_about_to_proceed (void)
 {
-  if (!ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid != null_ptid)
     {
       struct thread_info *tp = inferior_thread ();
 
@@ -4490,22 +4461,37 @@ bpstat_do_actions_1 (bpstat *bsp)
   return again;
 }
 
+/* Helper for bpstat_do_actions.  Get the current thread, if there's
+   one, is alive and has execution.  Return NULL otherwise.  */
+
+static thread_info *
+get_bpstat_thread ()
+{
+  if (inferior_ptid == null_ptid || !target_has_execution)
+    return NULL;
+
+  thread_info *tp = inferior_thread ();
+  if (tp->state == THREAD_EXITED || tp->executing)
+    return NULL;
+  return tp;
+}
+
 void
 bpstat_do_actions (void)
 {
   struct cleanup *cleanup_if_error = make_bpstat_clear_actions_cleanup ();
+  thread_info *tp;
 
   /* Do any commands attached to breakpoint we are stopped at.  */
-  while (!ptid_equal (inferior_ptid, null_ptid)
-	 && target_has_execution
-	 && !is_exited (inferior_ptid)
-	 && !is_executing (inferior_ptid))
-    /* Since in sync mode, bpstat_do_actions may resume the inferior,
-       and only return when it is stopped at the next breakpoint, we
-       keep doing breakpoint actions until it returns false to
-       indicate the inferior was not resumed.  */
-    if (!bpstat_do_actions_1 (&inferior_thread ()->control.stop_bpstat))
-      break;
+  while ((tp = get_bpstat_thread ()) != NULL)
+    {
+      /* Since in sync mode, bpstat_do_actions may resume the
+	 inferior, and only return when it is stopped at the next
+	 breakpoint, we keep doing breakpoint actions until it returns
+	 false to indicate the inferior was not resumed.  */
+      if (!bpstat_do_actions_1 (&tp->control.stop_bpstat))
+	break;
+    }
 
   discard_cleanups (cleanup_if_error);
 }
@@ -4604,10 +4590,8 @@ print_bp_stop_message (bpstat bs)
 static void
 print_solib_event (int is_catchpoint)
 {
-  int any_deleted
-    = !VEC_empty (char_ptr, current_program_space->deleted_solibs);
-  int any_added
-    = !VEC_empty (so_list_ptr, current_program_space->added_solibs);
+  bool any_deleted = !current_program_space->deleted_solibs.empty ();
+  bool any_added = !current_program_space->added_solibs.empty ();
 
   if (!is_catchpoint)
     {
@@ -4624,16 +4608,12 @@ print_solib_event (int is_catchpoint)
 
   if (any_deleted)
     {
-      char *name;
-      int ix;
-
       current_uiout->text (_("  Inferior unloaded "));
       ui_out_emit_list list_emitter (current_uiout, "removed");
-      for (ix = 0;
-	   VEC_iterate (char_ptr, current_program_space->deleted_solibs,
-			ix, name);
-	   ++ix)
+      for (int ix = 0; ix < current_program_space->deleted_solibs.size (); ix++)
 	{
+	  const std::string &name = current_program_space->deleted_solibs[ix];
+
 	  if (ix > 0)
 	    current_uiout->text ("    ");
 	  current_uiout->field_string ("library", name);
@@ -4643,18 +4623,14 @@ print_solib_event (int is_catchpoint)
 
   if (any_added)
     {
-      struct so_list *iter;
-      int ix;
-
       current_uiout->text (_("  Inferior loaded "));
       ui_out_emit_list list_emitter (current_uiout, "added");
-      for (ix = 0;
-	   VEC_iterate (so_list_ptr, current_program_space->added_solibs,
-			ix, iter);
-	   ++ix)
+      bool first = true;
+      for (so_list *iter : current_program_space->added_solibs)
 	{
-	  if (ix > 0)
+	  if (!first)
 	    current_uiout->text ("    ");
+	  first = false;
 	  current_uiout->field_string ("library", iter->so_name);
 	  current_uiout->text ("\n");
 	}
@@ -4733,7 +4709,6 @@ bpstats::bpstats (struct bp_location *bl
     bp_location_at (bl),
     breakpoint_at (bl->owner),
     commands (NULL),
-    old_val (NULL),
     print (0),
     stop (0),
     print_it (print_it_normal)
@@ -4748,7 +4723,6 @@ bpstats::bpstats ()
     bp_location_at (NULL),
     breakpoint_at (NULL),
     commands (NULL),
-    old_val (NULL),
     print (0),
     stop (0),
     print_it (print_it_normal)
@@ -4761,7 +4735,7 @@ bpstats::bpstats ()
 int
 watchpoints_triggered (struct target_waitstatus *ws)
 {
-  int stopped_by_watchpoint = target_stopped_by_watchpoint ();
+  bool stopped_by_watchpoint = target_stopped_by_watchpoint ();
   CORE_ADDR addr;
   struct breakpoint *b;
 
@@ -4780,7 +4754,7 @@ watchpoints_triggered (struct target_wai
       return 0;
     }
 
-  if (!target_stopped_data_address (&current_target, &addr))
+  if (!target_stopped_data_address (current_top_target (), &addr))
     {
       /* We were stopped by a watchpoint, but we don't know where.
 	 Mark all watchpoints as unknown.  */
@@ -4820,7 +4794,7 @@ watchpoints_triggered (struct target_wai
 		  }
 	      }
 	    /* Exact match not required.  Within range is sufficient.  */
-	    else if (target_watchpoint_addr_within_range (&current_target,
+	    else if (target_watchpoint_addr_within_range (current_top_target (),
 							 addr, loc->address,
 							 loc->length))
 	      {
@@ -4943,16 +4917,14 @@ watchpoint_check (bpstat bs)
 	 the address of the array instead of its contents.  This is
 	 not what we want.  */
       if ((b->val != NULL) != (new_val != NULL)
-	  || (b->val != NULL && !value_equal_contents (b->val, new_val)))
+	  || (b->val != NULL && !value_equal_contents (b->val.get (),
+						       new_val)))
 	{
-	  if (new_val != NULL)
-	    {
-	      release_value (new_val);
-	      value_free_to_mark (mark);
-	    }
 	  bs->old_val = b->val;
-	  b->val = new_val;
+	  b->val = release_value (new_val);
 	  b->val_valid = 1;
+	  if (new_val != NULL)
+	    value_free_to_mark (mark);
 	  return WP_VALUE_CHANGED;
 	}
       else
@@ -5192,7 +5164,7 @@ bpstat_check_watchpoint (bpstat bs)
    breakpoint, set BS->stop to 0.  */
 
 static void
-bpstat_check_breakpoint_conditions (bpstat bs, ptid_t ptid)
+bpstat_check_breakpoint_conditions (bpstat bs, thread_info *thread)
 {
   const struct bp_location *bl;
   struct breakpoint *b;
@@ -5222,9 +5194,8 @@ bpstat_check_breakpoint_conditions (bpst
   /* If this is a thread/task-specific breakpoint, don't waste cpu
      evaluating the condition if this isn't the specified
      thread/task.  */
-  if ((b->thread != -1 && b->thread != ptid_to_global_thread_id (ptid))
-      || (b->task != 0 && b->task != ada_get_task_number (ptid)))
-
+  if ((b->thread != -1 && b->thread != thread->global_num)
+      || (b->task != 0 && b->task != ada_get_task_number (thread)))
     {
       bs->stop = 0;
       return;
@@ -5326,7 +5297,7 @@ bpstat_check_breakpoint_conditions (bpst
       bs->stop = 0;
       /* Increase the hit count even though we don't stop.  */
       ++(b->hit_count);
-      observer_notify_breakpoint_modified (b);
+      gdb::observers::breakpoint_modified.notify (b);
     }	
 }
 
@@ -5342,54 +5313,21 @@ need_moribund_for_location_type (struct 
 	      && !target_supports_stopped_by_hw_breakpoint ()));
 }
 
-
-/* Get a bpstat associated with having just stopped at address
-   BP_ADDR in thread PTID.
-
-   Determine whether we stopped at a breakpoint, etc, or whether we
-   don't understand this stop.  Result is a chain of bpstat's such
-   that:
-
-   if we don't understand the stop, the result is a null pointer.
-
-   if we understand why we stopped, the result is not null.
-
-   Each element of the chain refers to a particular breakpoint or
-   watchpoint at which we have stopped.  (We may have stopped for
-   several reasons concurrently.)
-
-   Each element of the chain has valid next, breakpoint_at,
-   commands, FIXME??? fields.  */
+/* See breakpoint.h.  */
 
 bpstat
-bpstat_stop_status (const address_space *aspace,
-		    CORE_ADDR bp_addr, ptid_t ptid,
+build_bpstat_chain (const address_space *aspace, CORE_ADDR bp_addr,
 		    const struct target_waitstatus *ws)
 {
-  struct breakpoint *b = NULL;
-  struct bp_location *bl;
-  struct bp_location *loc;
-  /* First item of allocated bpstat's.  */
+  struct breakpoint *b;
   bpstat bs_head = NULL, *bs_link = &bs_head;
-  /* Pointer to the last thing in the chain currently.  */
-  bpstat bs;
-  int ix;
-  int need_remove_insert;
-  int removed_any;
-
-  /* First, build the bpstat chain with locations that explain a
-     target stop, while being careful to not set the target running,
-     as that may invalidate locations (in particular watchpoint
-     locations are recreated).  Resuming will happen here with
-     breakpoint conditions or watchpoint expressions that include
-     inferior function calls.  */
 
   ALL_BREAKPOINTS (b)
     {
       if (!breakpoint_enabled (b))
 	continue;
 
-      for (bl = b->loc; bl != NULL; bl = bl->next)
+      for (bp_location *bl = b->loc; bl != NULL; bl = bl->next)
 	{
 	  /* For hardware watchpoints, we look only at the first
 	     location.  The watchpoint_check function will work on the
@@ -5408,8 +5346,8 @@ bpstat_stop_status (const address_space 
 	  /* Come here if it's a watchpoint, or if the break address
 	     matches.  */
 
-	  bs = new bpstats (bl, &bs_link);	/* Alloc a bpstat to
-						   explain stop.  */
+	  bpstat bs = new bpstats (bl, &bs_link);	/* Alloc a bpstat to
+							   explain stop.  */
 
 	  /* Assume we stop.  Should we find a watchpoint that is not
 	     actually triggered, or if the condition of the breakpoint
@@ -5434,12 +5372,15 @@ bpstat_stop_status (const address_space 
   if (!target_supports_stopped_by_sw_breakpoint ()
       || !target_supports_stopped_by_hw_breakpoint ())
     {
-      for (ix = 0; VEC_iterate (bp_location_p, moribund_locations, ix, loc); ++ix)
+      bp_location *loc;
+
+      for (int ix = 0;
+	   VEC_iterate (bp_location_p, moribund_locations, ix, loc); ++ix)
 	{
 	  if (breakpoint_location_address_match (loc, aspace, bp_addr)
 	      && need_moribund_for_location_type (loc))
 	    {
-	      bs = new bpstats (loc, &bs_link);
+	      bpstat bs = new bpstats (loc, &bs_link);
 	      /* For hits of moribund locations, we should just proceed.  */
 	      bs->stop = 0;
 	      bs->print = 0;
@@ -5448,6 +5389,33 @@ bpstat_stop_status (const address_space 
 	}
     }
 
+  return bs_head;
+}
+
+/* See breakpoint.h.  */
+
+bpstat
+bpstat_stop_status (const address_space *aspace,
+		    CORE_ADDR bp_addr, thread_info *thread,
+		    const struct target_waitstatus *ws,
+		    bpstat stop_chain)
+{
+  struct breakpoint *b = NULL;
+  /* First item of allocated bpstat's.  */
+  bpstat bs_head = stop_chain;
+  bpstat bs;
+  int need_remove_insert;
+  int removed_any;
+
+  /* First, build the bpstat chain with locations that explain a
+     target stop, while being careful to not set the target running,
+     as that may invalidate locations (in particular watchpoint
+     locations are recreated).  Resuming will happen here with
+     breakpoint conditions or watchpoint expressions that include
+     inferior function calls.  */
+  if (bs_head == NULL)
+    bs_head = build_bpstat_chain (aspace, bp_addr, ws);
+
   /* A bit of special processing for shlib breakpoints.  We need to
      process solib loading here, so that the lists of loaded and
      unloaded libraries are correct before we handle "catch load" and
@@ -5476,12 +5444,12 @@ bpstat_stop_status (const address_space 
       b->ops->check_status (bs);
       if (bs->stop)
 	{
-	  bpstat_check_breakpoint_conditions (bs, ptid);
+	  bpstat_check_breakpoint_conditions (bs, thread);
 
 	  if (bs->stop)
 	    {
 	      ++(b->hit_count);
-	      observer_notify_breakpoint_modified (b);
+	      gdb::observers::breakpoint_modified.notify (b);
 
 	      /* We will stop here.  */
 	      if (b->disposition == disp_disable)
@@ -5899,9 +5867,6 @@ print_breakpoint_location (struct breakp
     {
       const struct symbol *sym = loc->symbol;
 
-      if (sym == NULL)
-	sym = find_pc_sect_function (loc->address, loc->section);
-
       if (sym)
 	{
 	  uiout->text ("in ");
@@ -7185,37 +7150,30 @@ set_breakpoint_location_function (struct
       || loc->owner->type == bp_hardware_breakpoint
       || is_tracepoint (loc->owner))
     {
-      int is_gnu_ifunc;
       const char *function_name;
-      CORE_ADDR func_addr;
 
-      find_pc_partial_function_gnu_ifunc (loc->address, &function_name,
-					  &func_addr, NULL, &is_gnu_ifunc);
-
-      if (is_gnu_ifunc && !explicit_loc)
+      if (loc->msymbol != NULL
+	  && (MSYMBOL_TYPE (loc->msymbol) == mst_text_gnu_ifunc
+	      || MSYMBOL_TYPE (loc->msymbol) == mst_data_gnu_ifunc)
+	  && !explicit_loc)
 	{
 	  struct breakpoint *b = loc->owner;
 
-	  gdb_assert (loc->pspace == current_program_space);
-	  if (gnu_ifunc_resolve_name (function_name,
-				      &loc->requested_address))
-	    {
-	      /* Recalculate ADDRESS based on new REQUESTED_ADDRESS.  */
-	      loc->address = adjust_breakpoint_address (loc->gdbarch,
-							loc->requested_address,
-							b->type);
-	    }
-	  else if (b->type == bp_breakpoint && b->loc == loc
-	           && loc->next == NULL && b->related_breakpoint == b)
+	  function_name = MSYMBOL_LINKAGE_NAME (loc->msymbol);
+
+	  if (b->type == bp_breakpoint && b->loc == loc
+	      && loc->next == NULL && b->related_breakpoint == b)
 	    {
 	      /* Create only the whole new breakpoint of this type but do not
 		 mess more complicated breakpoints with multiple locations.  */
 	      b->type = bp_gnu_ifunc_resolver;
 	      /* Remember the resolver's address for use by the return
 	         breakpoint.  */
-	      loc->related_address = func_addr;
+	      loc->related_address = loc->address;
 	    }
 	}
+      else
+	find_pc_partial_function (loc->address, &function_name, NULL, NULL);
 
       if (function_name)
 	loc->function_name = xstrdup (function_name);
@@ -7364,7 +7322,7 @@ set_longjmp_breakpoint_for_call_dummy (v
 	new_b = momentary_breakpoint_from_master (b, bp_longjmp_call_dummy,
 						  &momentary_breakpoint_ops,
 						  1);
-	new_b->thread = ptid_to_global_thread_id (inferior_ptid);
+	new_b->thread = inferior_thread ()->global_num;
 
 	/* Link NEW_B into the chain of RETVAL breakpoints.  */
 
@@ -7404,7 +7362,7 @@ check_longjmp_breakpoint_for_call_dummy 
 	    || frame_find_by_id (dummy_b->frame_id) != NULL)
 	  continue;
 	
-	dummy_frame_discard (dummy_b->frame_id, tp->ptid);
+	dummy_frame_discard (dummy_b->frame_id, tp);
 
 	while (b->related_breakpoint != b)
 	  {
@@ -7644,7 +7602,7 @@ disable_breakpoints_in_unloaded_shlib (s
 	loc->inserted = 0;
 
 	/* This may cause duplicate notifications for the same breakpoint.  */
-	observer_notify_breakpoint_modified (b);
+	gdb::observers::breakpoint_modified.notify (b);
 
 	if (!disabled_shlib_breaks)
 	  {
@@ -7727,7 +7685,7 @@ disable_breakpoints_in_freed_objfile (st
 	}
 
       if (bp_modified)
-	observer_notify_breakpoint_modified (b);
+	gdb::observers::breakpoint_modified.notify (b);
     }
 }
 
@@ -7751,7 +7709,7 @@ struct fork_catchpoint : public breakpoi
 static int
 insert_catch_fork (struct bp_location *bl)
 {
-  return target_insert_fork_catchpoint (ptid_get_pid (inferior_ptid));
+  return target_insert_fork_catchpoint (inferior_ptid.pid ());
 }
 
 /* Implement the "remove" breakpoint_ops method for fork
@@ -7760,7 +7718,7 @@ insert_catch_fork (struct bp_location *b
 static int
 remove_catch_fork (struct bp_location *bl, enum remove_bp_reason reason)
 {
-  return target_remove_fork_catchpoint (ptid_get_pid (inferior_ptid));
+  return target_remove_fork_catchpoint (inferior_ptid.pid ());
 }
 
 /* Implement the "breakpoint_hit" breakpoint_ops method for fork
@@ -7803,7 +7761,7 @@ print_it_catch_fork (bpstat bs)
     }
   uiout->field_int ("bkptno", b->number);
   uiout->text (" (forked process ");
-  uiout->field_int ("newpid", ptid_get_pid (c->forked_inferior_pid));
+  uiout->field_int ("newpid", c->forked_inferior_pid.pid ());
   uiout->text ("), ");
   return PRINT_SRC_AND_LOC;
 }
@@ -7827,10 +7785,10 @@ print_one_catch_fork (struct breakpoint 
     uiout->field_skip ("addr");
   annotate_field (5);
   uiout->text ("fork");
-  if (!ptid_equal (c->forked_inferior_pid, null_ptid))
+  if (c->forked_inferior_pid != null_ptid)
     {
       uiout->text (", process ");
-      uiout->field_int ("what", ptid_get_pid (c->forked_inferior_pid));
+      uiout->field_int ("what", c->forked_inferior_pid.pid ());
       uiout->spaces (1);
     }
 
@@ -7867,7 +7825,7 @@ static struct breakpoint_ops catch_fork_
 static int
 insert_catch_vfork (struct bp_location *bl)
 {
-  return target_insert_vfork_catchpoint (ptid_get_pid (inferior_ptid));
+  return target_insert_vfork_catchpoint (inferior_ptid.pid ());
 }
 
 /* Implement the "remove" breakpoint_ops method for vfork
@@ -7876,7 +7834,7 @@ insert_catch_vfork (struct bp_location *
 static int
 remove_catch_vfork (struct bp_location *bl, enum remove_bp_reason reason)
 {
-  return target_remove_vfork_catchpoint (ptid_get_pid (inferior_ptid));
+  return target_remove_vfork_catchpoint (inferior_ptid.pid ());
 }
 
 /* Implement the "breakpoint_hit" breakpoint_ops method for vfork
@@ -7919,7 +7877,7 @@ print_it_catch_vfork (bpstat bs)
     }
   uiout->field_int ("bkptno", b->number);
   uiout->text (" (vforked process ");
-  uiout->field_int ("newpid", ptid_get_pid (c->forked_inferior_pid));
+  uiout->field_int ("newpid", c->forked_inferior_pid.pid ());
   uiout->text ("), ");
   return PRINT_SRC_AND_LOC;
 }
@@ -7942,10 +7900,10 @@ print_one_catch_vfork (struct breakpoint
     uiout->field_skip ("addr");
   annotate_field (5);
   uiout->text ("vfork");
-  if (!ptid_equal (c->forked_inferior_pid, null_ptid))
+  if (c->forked_inferior_pid != null_ptid)
     {
       uiout->text (", process ");
-      uiout->field_int ("what", ptid_get_pid (c->forked_inferior_pid));
+      uiout->field_int ("what", c->forked_inferior_pid.pid ());
       uiout->spaces (1);
     }
 
@@ -8050,16 +8008,10 @@ check_status_catch_solib (struct bpstats
 {
   struct solib_catchpoint *self
     = (struct solib_catchpoint *) bs->breakpoint_at;
-  int ix;
 
   if (self->is_load)
     {
-      struct so_list *iter;
-
-      for (ix = 0;
-	   VEC_iterate (so_list_ptr, current_program_space->added_solibs,
-			ix, iter);
-	   ++ix)
+      for (so_list *iter : current_program_space->added_solibs)
 	{
 	  if (!self->regex
 	      || self->compiled->exec (iter->so_name, 0, NULL, 0) == 0)
@@ -8068,15 +8020,10 @@ check_status_catch_solib (struct bpstats
     }
   else
     {
-      char *iter;
-
-      for (ix = 0;
-	   VEC_iterate (char_ptr, current_program_space->deleted_solibs,
-			ix, iter);
-	   ++ix)
+      for (const std::string &iter : current_program_space->deleted_solibs)
 	{
 	  if (!self->regex
-	      || self->compiled->exec (iter, 0, NULL, 0) == 0)
+	      || self->compiled->exec (iter.c_str (), 0, NULL, 0) == 0)
 	    return;
 	}
     }
@@ -8261,7 +8208,7 @@ install_breakpoint (int internal, std::u
     set_tracepoint_count (breakpoint_count);
   if (!internal)
     mention (b);
-  observer_notify_breakpoint_created (b);
+  gdb::observers::breakpoint_created.notify (b);
 
   if (update_gll)
     update_global_location_list (UGLL_MAY_INSERT);
@@ -8307,13 +8254,13 @@ exec_catchpoint::~exec_catchpoint ()
 static int
 insert_catch_exec (struct bp_location *bl)
 {
-  return target_insert_exec_catchpoint (ptid_get_pid (inferior_ptid));
+  return target_insert_exec_catchpoint (inferior_ptid.pid ());
 }
 
 static int
 remove_catch_exec (struct bp_location *bl, enum remove_bp_reason reason)
 {
-  return target_remove_exec_catchpoint (ptid_get_pid (inferior_ptid));
+  return target_remove_exec_catchpoint (inferior_ptid.pid ());
 }
 
 static int
@@ -8556,11 +8503,7 @@ set_momentary_breakpoint (struct gdbarch
   b->disposition = disp_donttouch;
   b->frame_id = frame_id;
 
-  /* If we're debugging a multi-threaded program, then we want
-     momentary breakpoints to be active in only a single thread of
-     control.  */
-  if (in_thread_list (inferior_ptid))
-    b->thread = ptid_to_global_thread_id (inferior_ptid);
+  b->thread = inferior_thread ()->global_num;
 
   update_global_location_list_nothrow (UGLL_MAY_INSERT);
 
@@ -8638,9 +8581,7 @@ static void
 mention (struct breakpoint *b)
 {
   b->ops->print_mention (b);
-  if (current_uiout->is_mi_like_p ())
-    return;
-  printf_filtered ("\n");
+  current_uiout->text ("\n");
 }
 
 
@@ -8685,6 +8626,8 @@ add_location_to_breakpoint (struct break
   loc->line_number = sal->line;
   loc->symtab = sal->symtab;
   loc->symbol = sal->symbol;
+  loc->msymbol = sal->msymbol;
+  loc->objfile = sal->objfile;
 
   set_breakpoint_location_function (loc,
 				    sal->explicit_pc || sal->explicit_line);
@@ -8816,18 +8759,12 @@ update_dprintf_command_list (struct brea
 		    _("Invalid dprintf style."));
 
   gdb_assert (printf_line != NULL);
-  /* Manufacture a printf sequence.  */
-  {
-    struct command_line *printf_cmd_line = XNEW (struct command_line);
 
-    printf_cmd_line->control_type = simple_control;
-    printf_cmd_line->body_count = 0;
-    printf_cmd_line->body_list = NULL;
-    printf_cmd_line->next = NULL;
-    printf_cmd_line->line = printf_line;
-
-    breakpoint_set_commands (b, command_line_up (printf_cmd_line));
-  }
+  /* Manufacture a printf sequence.  */
+  struct command_line *printf_cmd_line
+    = new struct command_line (simple_control, printf_line);
+  breakpoint_set_commands (b, counted_command_line (printf_cmd_line,
+						    command_lines_deleter ()));
 }
 
 /* Update all dprintf commands, making their command lists reflect
@@ -8923,27 +8860,24 @@ init_breakpoint_sal (struct breakpoint *
 		  const char *p
 		    = &event_location_to_string (b->location.get ())[3];
 		  const char *endp;
-		  char *marker_str;
 
 		  p = skip_spaces (p);
 
 		  endp = skip_to_space (p);
 
-		  marker_str = savestring (p, endp - p);
-		  t->static_trace_marker_id = marker_str;
+		  t->static_trace_marker_id.assign (p, endp - p);
 
 		  printf_filtered (_("Probed static tracepoint "
 				     "marker \"%s\"\n"),
-				   t->static_trace_marker_id);
+				   t->static_trace_marker_id.c_str ());
 		}
 	      else if (target_static_tracepoint_marker_at (sal.pc, &marker))
 		{
-		  t->static_trace_marker_id = xstrdup (marker.str_id);
-		  release_static_tracepoint_marker (&marker);
+		  t->static_trace_marker_id = std::move (marker.str_id);
 
 		  printf_filtered (_("Probed static tracepoint "
 				     "marker \"%s\"\n"),
-				   t->static_trace_marker_id);
+				   t->static_trace_marker_id.c_str ());
 		}
 	      else
 		warning (_("Couldn't determine the static "
@@ -9177,10 +9111,6 @@ static void
 check_fast_tracepoint_sals (struct gdbarch *gdbarch,
 			    gdb::array_view<const symtab_and_line> sals)
 {
-  int rslt;
-  char *msg;
-  struct cleanup *old_chain;
-
   for (const auto &sal : sals)
     {
       struct gdbarch *sarch;
@@ -9190,14 +9120,10 @@ check_fast_tracepoint_sals (struct gdbar
 	 associated with SAL.  */
       if (sarch == NULL)
 	sarch = gdbarch;
-      rslt = gdbarch_fast_tracepoint_valid_at (sarch, sal.pc, &msg);
-      old_chain = make_cleanup (xfree, msg);
-
-      if (!rslt)
+      std::string msg;
+      if (!gdbarch_fast_tracepoint_valid_at (sarch, sal.pc, &msg))
 	error (_("May not have a fast tracepoint at %s%s"),
-	       paddress (sarch, sal.pc), (msg ? msg : ""));
-
-      do_cleanups (old_chain);
+	       paddress (sarch, sal.pc), msg.c_str ());
     }
 }
 
@@ -9283,10 +9209,8 @@ find_condition_and_thread (const char *t
 static std::vector<symtab_and_line>
 decode_static_tracepoint_spec (const char **arg_p)
 {
-  VEC(static_tracepoint_marker_p) *markers = NULL;
   const char *p = &(*arg_p)[3];
   const char *endp;
-  int i;
 
   p = skip_spaces (p);
 
@@ -9294,26 +9218,21 @@ decode_static_tracepoint_spec (const cha
 
   std::string marker_str (p, endp - p);
 
-  markers = target_static_tracepoint_markers_by_strid (marker_str.c_str ());
-  if (VEC_empty(static_tracepoint_marker_p, markers))
+  std::vector<static_tracepoint_marker> markers
+    = target_static_tracepoint_markers_by_strid (marker_str.c_str ());
+  if (markers.empty ())
     error (_("No known static tracepoint marker named %s"),
 	   marker_str.c_str ());
 
   std::vector<symtab_and_line> sals;
-  sals.reserve (VEC_length(static_tracepoint_marker_p, markers));
+  sals.reserve (markers.size ());
 
-  for (i = 0; i < VEC_length(static_tracepoint_marker_p, markers); i++)
+  for (const static_tracepoint_marker &marker : markers)
     {
-      struct static_tracepoint_marker *marker;
-
-      marker = VEC_index (static_tracepoint_marker_p, markers, i);
-
-      symtab_and_line sal = find_pc_line (marker->address, 0);
-      sal.pc = marker->address;
+      symtab_and_line sal = find_pc_line (marker.address, 0);
+      sal.pc = marker.address;
       sals.push_back (sal);
-
-      release_static_tracepoint_marker (marker);
-    }
+   }
 
   *arg_p = endp;
   return sals;
@@ -9853,12 +9772,9 @@ print_mention_ranged_breakpoint (struct 
   gdb_assert (bl);
   gdb_assert (b->type == bp_hardware_breakpoint);
 
-  if (uiout->is_mi_like_p ())
-    return;
-
-  printf_filtered (_("Hardware assisted ranged breakpoint %d from %s to %s."),
-		   b->number, paddress (bl->gdbarch, bl->address),
-		   paddress (bl->gdbarch, bl->address + bl->length - 1));
+  uiout->message (_("Hardware assisted ranged breakpoint %d from %s to %s."),
+		  b->number, paddress (bl->gdbarch, bl->address),
+		  paddress (bl->gdbarch, bl->address + bl->length - 1));
 }
 
 /* Implement the "print_recreate" breakpoint_ops method for
@@ -10008,7 +9924,7 @@ break_range_command (const char *arg, in
   b->loc->length = length;
 
   mention (b);
-  observer_notify_breakpoint_created (b);
+  gdb::observers::breakpoint_created.notify (b);
   update_global_location_list (UGLL_MAY_INSERT);
 }
 
@@ -10131,7 +10047,6 @@ watchpoint::~watchpoint ()
 {
   xfree (this->exp_string);
   xfree (this->exp_string_reparse);
-  value_free (this->val);
 }
 
 /* Implement the "re_set" breakpoint_ops method for watchpoints.  */
@@ -10273,10 +10188,10 @@ print_it_watchpoint (bpstat bs)
       mention (b);
       tuple_emitter.emplace (uiout, "value");
       uiout->text ("\nOld value = ");
-      watchpoint_value_print (bs->old_val, &stb);
+      watchpoint_value_print (bs->old_val.get (), &stb);
       uiout->field_stream ("old", stb);
       uiout->text ("\nNew value = ");
-      watchpoint_value_print (w->val, &stb);
+      watchpoint_value_print (w->val.get (), &stb);
       uiout->field_stream ("new", stb);
       uiout->text ("\n");
       /* More than one watchpoint may have been triggered.  */
@@ -10290,7 +10205,7 @@ print_it_watchpoint (bpstat bs)
       mention (b);
       tuple_emitter.emplace (uiout, "value");
       uiout->text ("\nValue = ");
-      watchpoint_value_print (w->val, &stb);
+      watchpoint_value_print (w->val.get (), &stb);
       uiout->field_stream ("value", stb);
       uiout->text ("\n");
       result = PRINT_UNKNOWN;
@@ -10306,7 +10221,7 @@ print_it_watchpoint (bpstat bs)
 	  mention (b);
 	  tuple_emitter.emplace (uiout, "value");
 	  uiout->text ("\nOld value = ");
-	  watchpoint_value_print (bs->old_val, &stb);
+	  watchpoint_value_print (bs->old_val.get (), &stb);
 	  uiout->field_stream ("old", stb);
 	  uiout->text ("\nNew value = ");
 	}
@@ -10320,7 +10235,7 @@ print_it_watchpoint (bpstat bs)
 	  tuple_emitter.emplace (uiout, "value");
 	  uiout->text ("\nValue = ");
 	}
-      watchpoint_value_print (w->val, &stb);
+      watchpoint_value_print (w->val.get (), &stb);
       uiout->field_stream ("new", stb);
       uiout->text ("\n");
       result = PRINT_UNKNOWN;
@@ -10615,7 +10530,7 @@ watch_command_1 (const char *arg, int ac
 {
   struct breakpoint *scope_breakpoint = NULL;
   const struct block *exp_valid_block = NULL, *cond_exp_valid_block = NULL;
-  struct value *val, *mark, *result;
+  struct value *mark, *result;
   int saved_bitpos = 0, saved_bitsize = 0;
   const char *exp_start = NULL;
   const char *exp_end = NULL;
@@ -10717,7 +10632,7 @@ watch_command_1 (const char *arg, int ac
   /* Parse the rest of the arguments.  From here on out, everything
      is in terms of a newly allocated string instead of the original
      ARG.  */
-  innermost_block = NULL;
+  innermost_block.reset ();
   std::string expression (arg, exp_end - arg);
   exp_start = arg = expression.c_str ();
   expression_up exp = parse_exp_1 (&arg, 0, 0, 0);
@@ -10739,28 +10654,30 @@ watch_command_1 (const char *arg, int ac
       error (_("Cannot watch constant value `%.*s'."), len, exp_start);
     }
 
-  exp_valid_block = innermost_block;
+  exp_valid_block = innermost_block.block ();
   mark = value_mark ();
-  fetch_subexp_value (exp.get (), &pc, &val, &result, NULL, just_location);
+  struct value *val_as_value = nullptr;
+  fetch_subexp_value (exp.get (), &pc, &val_as_value, &result, NULL,
+		      just_location);
 
-  if (val != NULL && just_location)
+  if (val_as_value != NULL && just_location)
     {
-      saved_bitpos = value_bitpos (val);
-      saved_bitsize = value_bitsize (val);
+      saved_bitpos = value_bitpos (val_as_value);
+      saved_bitsize = value_bitsize (val_as_value);
     }
 
+  value_ref_ptr val;
   if (just_location)
     {
       int ret;
 
       exp_valid_block = NULL;
-      val = value_addr (result);
-      release_value (val);
+      val = release_value (value_addr (result));
       value_free_to_mark (mark);
 
       if (use_mask)
 	{
-	  ret = target_masked_watch_num_registers (value_as_address (val),
+	  ret = target_masked_watch_num_registers (value_as_address (val.get ()),
 						   mask);
 	  if (ret == -1)
 	    error (_("This target does not support masked watchpoints."));
@@ -10768,8 +10685,8 @@ watch_command_1 (const char *arg, int ac
 	    error (_("Invalid mask or memory region."));
 	}
     }
-  else if (val != NULL)
-    release_value (val);
+  else if (val_as_value != NULL)
+    val = release_value (val_as_value);
 
   tok = skip_spaces (arg);
   end_tok = skip_to_space (tok);
@@ -10777,13 +10694,13 @@ watch_command_1 (const char *arg, int ac
   toklen = end_tok - tok;
   if (toklen >= 1 && strncmp (tok, "if", toklen) == 0)
     {
-      innermost_block = NULL;
+      innermost_block.reset ();
       tok = cond_start = end_tok + 1;
       parse_exp_1 (&tok, 0, 0, 0);
 
       /* The watchpoint expression may not be local, but the condition
 	 may still be.  E.g.: `watch global if local > 0'.  */
-      cond_exp_valid_block = innermost_block;
+      cond_exp_valid_block = innermost_block.block ();
 
       cond_end = tok;
     }
@@ -10863,8 +10780,8 @@ watch_command_1 (const char *arg, int ac
   w->cond_exp_valid_block = cond_exp_valid_block;
   if (just_location)
     {
-      struct type *t = value_type (val);
-      CORE_ADDR addr = value_as_address (val);
+      struct type *t = value_type (val.get ());
+      CORE_ADDR addr = value_as_address (val.get ());
 
       w->exp_string_reparse
 	= current_language->la_watch_location_expression (t, addr).release ();
@@ -10925,15 +10842,17 @@ watch_command_1 (const char *arg, int ac
    If the watchpoint cannot be handled in hardware return zero.  */
 
 static int
-can_use_hardware_watchpoint (struct value *v)
+can_use_hardware_watchpoint (const std::vector<value_ref_ptr> &vals)
 {
   int found_memory_cnt = 0;
-  struct value *head = v;
 
   /* Did the user specifically forbid us to use hardware watchpoints? */
   if (!can_use_hw_watchpoints)
     return 0;
 
+  gdb_assert (!vals.empty ());
+  struct value *head = vals[0].get ();
+
   /* Make sure that the value of the expression depends only upon
      memory contents, and values computed from them within GDB.  If we
      find any register references or function calls, we can't use a
@@ -10953,8 +10872,10 @@ can_use_hardware_watchpoint (struct valu
      function calls are special in any way.  So this function may not
      notice that an expression involving an inferior function call
      can't be watched with hardware watchpoints.  FIXME.  */
-  for (; v; v = value_next (v))
+  for (const value_ref_ptr &iter : vals)
     {
+      struct value *v = iter.get ();
+
       if (VALUE_LVAL (v) == lval_memory)
 	{
 	  if (v != head && value_lazy (v))
@@ -11763,7 +11684,7 @@ download_tracepoint_locations (void)
       t = (struct tracepoint *) b;
       t->number_on_target = b->number;
       if (bp_location_downloaded)
-	observer_notify_breakpoint_modified (b);
+	gdb::observers::breakpoint_modified.notify (b);
     }
 }
 
@@ -12924,7 +12845,7 @@ tracepoint_print_one_detail (const struc
 			     struct ui_out *uiout)
 {
   struct tracepoint *tp = (struct tracepoint *) self;
-  if (tp->static_trace_marker_id)
+  if (!tp->static_trace_marker_id.empty ())
     {
       gdb_assert (self->type == bp_static_tracepoint);
 
@@ -13208,7 +13129,7 @@ strace_marker_decode_location (struct br
       return sals;
     }
   else
-    error (_("marker %s not found"), tp->static_trace_marker_id);
+    error (_("marker %s not found"), tp->static_trace_marker_id.c_str ());
 }
 
 static struct breakpoint_ops strace_marker_breakpoint_ops;
@@ -13276,7 +13197,7 @@ delete_breakpoint (struct breakpoint *bp
      a problem in that process, we'll be asked to delete the half-created
      watchpoint.  In that case, don't announce the deletion.  */
   if (bpt->number)
-    observer_notify_breakpoint_deleted (bpt);
+    gdb::observers::breakpoint_deleted.notify (bpt);
 
   if (breakpoint_chain == bpt)
     breakpoint_chain = bpt->next;
@@ -13413,10 +13334,8 @@ static int
 ambiguous_names_p (struct bp_location *loc)
 {
   struct bp_location *l;
-  htab_t htab = htab_create_alloc (13, htab_hash_string,
-				   (int (*) (const void *, 
-					     const void *)) streq,
-				   NULL, xcalloc, xfree);
+  htab_t htab = htab_create_alloc (13, htab_hash_string, streq_hash, NULL,
+				   xcalloc, xfree);
 
   for (l = loc; l != NULL; l = l->next)
     {
@@ -13489,14 +13408,12 @@ update_static_tracepoint (struct breakpo
 
   if (target_static_tracepoint_marker_at (pc, &marker))
     {
-      if (strcmp (tp->static_trace_marker_id, marker.str_id) != 0)
+      if (tp->static_trace_marker_id != marker.str_id)
 	warning (_("static tracepoint %d changed probed marker from %s to %s"),
-		 b->number,
-		 tp->static_trace_marker_id, marker.str_id);
+		 b->number, tp->static_trace_marker_id.c_str (),
+		 marker.str_id.c_str ());
 
-      xfree (tp->static_trace_marker_id);
-      tp->static_trace_marker_id = xstrdup (marker.str_id);
-      release_static_tracepoint_marker (&marker);
+      tp->static_trace_marker_id = std::move (marker.str_id);
 
       return sal;
     }
@@ -13506,28 +13423,26 @@ update_static_tracepoint (struct breakpo
   if (!sal.explicit_pc
       && sal.line != 0
       && sal.symtab != NULL
-      && tp->static_trace_marker_id != NULL)
+      && !tp->static_trace_marker_id.empty ())
     {
-      VEC(static_tracepoint_marker_p) *markers;
+      std::vector<static_tracepoint_marker> markers
+	= target_static_tracepoint_markers_by_strid
+	    (tp->static_trace_marker_id.c_str ());
 
-      markers
-	= target_static_tracepoint_markers_by_strid (tp->static_trace_marker_id);
-
-      if (!VEC_empty(static_tracepoint_marker_p, markers))
+      if (!markers.empty ())
 	{
 	  struct symbol *sym;
 	  struct static_tracepoint_marker *tpmarker;
 	  struct ui_out *uiout = current_uiout;
 	  struct explicit_location explicit_loc;
 
-	  tpmarker = VEC_index (static_tracepoint_marker_p, markers, 0);
+	  tpmarker = &markers[0];
 
-	  xfree (tp->static_trace_marker_id);
-	  tp->static_trace_marker_id = xstrdup (tpmarker->str_id);
+	  tp->static_trace_marker_id = std::move (tpmarker->str_id);
 
 	  warning (_("marker for static tracepoint %d (%s) not "
 		     "found at previous line number"),
-		   b->number, tp->static_trace_marker_id);
+		   b->number, tp->static_trace_marker_id.c_str ());
 
 	  symtab_and_line sal2 = find_pc_line (tpmarker->address, 0);
 	  sym = find_pc_sect_function (tpmarker->address, NULL);
@@ -13564,8 +13479,6 @@ update_static_tracepoint (struct breakpo
 
 	  /* Might be nice to check if function changed, and warn if
 	     so.  */
-
-	  release_static_tracepoint_marker (tpmarker);
 	}
     }
   return sal;
@@ -13751,7 +13664,7 @@ update_breakpoint_locations (struct brea
   }
 
   if (!locations_are_equal (existing_locations, b->loc))
-    observer_notify_breakpoint_modified (b);
+    gdb::observers::breakpoint_modified.notify (b);
 }
 
 /* Find the SaL locations corresponding to the given LOCATION.
@@ -13958,6 +13871,19 @@ breakpoint_re_set (void)
     scoped_restore save_input_radix = make_scoped_restore (&input_radix);
     scoped_restore_current_pspace_and_thread restore_pspace_thread;
 
+    /* breakpoint_re_set_one sets the current_language to the language
+       of the breakpoint it is resetting (see prepare_re_set_context)
+       before re-evaluating the breakpoint's location.  This change can
+       unfortunately get undone by accident if the language_mode is set
+       to auto, and we either switch frames, or more likely in this context,
+       we select the current frame.
+
+       We prevent this by temporarily turning the language_mode to
+       language_mode_manual.  We restore it once all breakpoints
+       have been reset.  */
+    scoped_restore save_language_mode = make_scoped_restore (&language_mode);
+    language_mode = language_mode_manual;
+
     /* Note: we must not try to insert locations until after all
        breakpoints have been re-set.  Otherwise, e.g., when re-setting
        breakpoint 1, we'd insert the locations of breakpoint 2, which
@@ -13999,8 +13925,7 @@ breakpoint_re_set_thread (struct breakpo
 {
   if (b->thread != -1)
     {
-      if (in_thread_list (inferior_ptid))
-	b->thread = ptid_to_global_thread_id (inferior_ptid);
+      b->thread = inferior_thread ()->global_num;
 
       /* We're being called after following a fork.  The new fork is
 	 selected as current, and unless this was a vfork will have a
@@ -14048,7 +13973,7 @@ set_ignore_count (int bptnum, int count,
 			       "crossings of breakpoint %d."),
 			     count, bptnum);
 	}
-      observer_notify_breakpoint_modified (b);
+      gdb::observers::breakpoint_modified.notify (b);
       return;
     }
 
@@ -14351,7 +14276,7 @@ disable_breakpoint (struct breakpoint *b
 
   update_global_location_list (UGLL_DONT_INSERT);
 
-  observer_notify_breakpoint_modified (bpt);
+  gdb::observers::breakpoint_modified.notify (bpt);
 }
 
 /* Enable or disable the breakpoint(s) or breakpoint location(s)
@@ -14477,7 +14402,7 @@ enable_breakpoint_disp (struct breakpoin
   bpt->enable_count = count;
   update_global_location_list (UGLL_MAY_INSERT);
 
-  observer_notify_breakpoint_modified (bpt);
+  gdb::observers::breakpoint_modified.notify (bpt);
 }
 
 
@@ -14574,7 +14499,7 @@ invalidate_bp_value_on_memory_change (st
       {
 	struct watchpoint *wp = (struct watchpoint *) bp;
 
-	if (wp->val_valid && wp->val)
+	if (wp->val_valid && wp->val != nullptr)
 	  {
 	    struct bp_location *loc;
 
@@ -14583,7 +14508,6 @@ invalidate_bp_value_on_memory_change (st
 		  && loc->address + loc->length > addr
 		  && addr + len > loc->address)
 		{
-		  value_free (wp->val);
 		  wp->val = NULL;
 		  wp->val_valid = 0;
 		}
@@ -14773,11 +14697,13 @@ static int next_cmd;
 static char *
 read_uploaded_action (void)
 {
-  char *rslt;
-
-  VEC_iterate (char_ptr, this_utp->cmd_strings, next_cmd, rslt);
+  char *rslt = nullptr;
 
-  next_cmd++;
+  if (next_cmd < this_utp->cmd_strings.size ())
+    {
+      rslt = this_utp->cmd_strings[next_cmd];
+      next_cmd++;
+    }
 
   return rslt;
 }
@@ -14849,19 +14775,19 @@ create_tracepoint_from_upload (struct up
      special-purpose "reader" function and call the usual command line
      reader, then pass the result to the breakpoint command-setting
      function.  */
-  if (!VEC_empty (char_ptr, utp->cmd_strings))
+  if (!utp->cmd_strings.empty ())
     {
-      command_line_up cmd_list;
+      counted_command_line cmd_list;
 
       this_utp = utp;
       next_cmd = 0;
 
-      cmd_list = read_command_lines_1 (read_uploaded_action, 1, NULL, NULL);
+      cmd_list = read_command_lines_1 (read_uploaded_action, 1, NULL);
 
       breakpoint_set_commands (tp, std::move (cmd_list));
     }
-  else if (!VEC_empty (char_ptr, utp->actions)
-	   || !VEC_empty (char_ptr, utp->step_actions))
+  else if (!utp->actions.empty ()
+	   || !utp->step_actions.empty ())
     warning (_("Uploaded tracepoint %d actions "
 	       "have no source form, ignoring them"),
 	     utp->number);
@@ -14957,7 +14883,7 @@ static void
 trace_pass_set_count (struct tracepoint *tp, int count, int from_tty)
 {
   tp->pass_count = count;
-  observer_notify_breakpoint_modified (tp);
+  gdb::observers::breakpoint_modified.notify (tp);
   if (from_tty)
     printf_filtered (_("Setting tracepoint %d's passcount to %d\n"),
 		     tp->number, count);
@@ -15240,15 +15166,15 @@ save_tracepoints_command (const char *ar
 
 /* Create a vector of all tracepoints.  */
 
-VEC(breakpoint_p) *
+std::vector<breakpoint *>
 all_tracepoints (void)
 {
-  VEC(breakpoint_p) *tp_vec = 0;
+  std::vector<breakpoint *> tp_vec;
   struct breakpoint *tp;
 
   ALL_TRACEPOINTS (tp)
   {
-    VEC_safe_push (breakpoint_p, tp_vec, tp);
+    tp_vec.push_back (tp);
   }
 
   return tp_vec;
@@ -15597,9 +15523,9 @@ _initialize_breakpoint (void)
 
   initialize_breakpoint_ops ();
 
-  observer_attach_solib_unloaded (disable_breakpoints_in_unloaded_shlib);
-  observer_attach_free_objfile (disable_breakpoints_in_freed_objfile);
-  observer_attach_memory_changed (invalidate_bp_value_on_memory_change);
+  gdb::observers::solib_unloaded.attach (disable_breakpoints_in_unloaded_shlib);
+  gdb::observers::free_objfile.attach (disable_breakpoints_in_freed_objfile);
+  gdb::observers::memory_changed.attach (invalidate_bp_value_on_memory_change);
 
   breakpoint_objfile_key
     = register_objfile_data_with_cleanup (NULL, free_breakpoint_objfile_data);
@@ -16150,6 +16076,6 @@ agent-printf \"printf format string\", a
 
   automatic_hardware_breakpoints = 1;
 
-  observer_attach_about_to_proceed (breakpoint_about_to_proceed);
-  observer_attach_thread_exit (remove_threaded_breakpoints);
+  gdb::observers::about_to_proceed.attach (breakpoint_about_to_proceed);
+  gdb::observers::thread_exit.attach (remove_threaded_breakpoints);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/breakpoint.h ./gdb/breakpoint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/breakpoint.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/breakpoint.h	2018-07-10 02:06:12.000000000 +0000
@@ -31,7 +31,6 @@
 #include "common/array-view.h"
 #include "cli/cli-script.h"
 
-struct value;
 struct block;
 struct gdbpy_breakpoint_object;
 struct gdbscm_breakpoint_object;
@@ -41,6 +40,7 @@ struct bpstats;
 struct bp_location;
 struct linespec_result;
 struct linespec_sals;
+struct inferior;
 
 /* Why are we removing the breakpoint from the target?  */
 
@@ -491,6 +491,14 @@ public:
      ascertain when an event location was set at a different location than
      the one originally selected by parsing, e.g., inlined symbols.  */
   const struct symbol *symbol = NULL;
+
+  /* Similarly, the minimal symbol found by the location parser, if
+     any.  This may be used to ascertain if the location was
+     originally set on a GNU ifunc symbol.  */
+  const minimal_symbol *msymbol = NULL;
+
+  /* The objfile the symbol or minimal symbol were found in.  */
+  const struct objfile *objfile = NULL;
 };
 
 /* The possible return values for print_bpstat, print_it_normal,
@@ -662,10 +670,6 @@ enum watchpoint_triggered
 typedef struct bp_location *bp_location_p;
 DEF_VEC_P(bp_location_p);
 
-/* A reference-counted struct command_line. This is an implementation
-   detail to the breakpoints module.  */
-typedef std::shared_ptr<command_line> counted_command_line;
-
 /* Some targets (e.g., embedded PowerPC) need two debug registers to set
    a watchpoint over a memory region.  If this flag is true, GDB will use
    only one register per watchpoint, thus assuming that all acesses that
@@ -813,7 +817,7 @@ struct watchpoint : public breakpoint
   /* Value of the watchpoint the last time we checked it, or NULL when
      we do not know the value yet or the value was not readable.  VAL
      is never lazy.  */
-  struct value *val;
+  value_ref_ptr val;
   /* Nonzero if VAL is valid.  If VAL_VALID is set but VAL is NULL,
      then an error occurred reading the value.  */
   int val_valid;
@@ -889,7 +893,7 @@ struct tracepoint : public breakpoint
   ULONGEST traceframe_usage;
 
   /* The static tracepoint marker id, if known.  */
-  char *static_trace_marker_id;
+  std::string static_trace_marker_id;
 
   /* LTTng/UST allow more than one marker with the same ID string,
      although it unadvised because it confuses tools.  When setting
@@ -900,8 +904,6 @@ struct tracepoint : public breakpoint
   int static_trace_marker_id_idx;
 };
 
-typedef struct breakpoint *breakpoint_p;
-DEF_VEC_P(breakpoint_p);
 
 /* The following stuff is an abstract data type "bpstat" ("breakpoint
    status").  This provides the ability to determine whether we have
@@ -917,9 +919,37 @@ extern void bpstat_clear (bpstat *);
    is part of the bpstat is copied as well.  */
 extern bpstat bpstat_copy (bpstat);
 
-extern bpstat bpstat_stop_status (const address_space *aspace,
-				  CORE_ADDR pc, ptid_t ptid,
+/* Build the (raw) bpstat chain for the stop information given by ASPACE,
+   BP_ADDR, and WS.  Returns the head of the bpstat chain.  */
+
+extern bpstat build_bpstat_chain (const address_space *aspace,
+				  CORE_ADDR bp_addr,
 				  const struct target_waitstatus *ws);
+
+/* Get a bpstat associated with having just stopped at address
+   BP_ADDR in thread PTID.  STOP_CHAIN may be supplied as a previously
+   computed stop chain or NULL, in which case the stop chain will be
+   computed using build_bpstat_chain.
+
+   Determine whether we stopped at a breakpoint, etc, or whether we
+   don't understand this stop.  Result is a chain of bpstat's such
+   that:
+
+   if we don't understand the stop, the result is a null pointer.
+
+   if we understand why we stopped, the result is not null.
+
+   Each element of the chain refers to a particular breakpoint or
+   watchpoint at which we have stopped.  (We may have stopped for
+   several reasons concurrently.)
+
+   Each element of the chain has valid next, breakpoint_at,
+   commands, FIXME??? fields.  */
+
+extern bpstat bpstat_stop_status (const address_space *aspace,
+				  CORE_ADDR pc, thread_info *thread,
+				  const struct target_waitstatus *ws,
+				  bpstat stop_chain = NULL);
 
 /* This bpstat_what stuff tells wait_for_inferior what to do with a
    breakpoint (a challenging task).
@@ -1125,7 +1155,7 @@ struct bpstats
     counted_command_line commands;
 
     /* Old value associated with a watchpoint.  */
-    struct value *old_val;
+    value_ref_ptr old_val;
 
     /* Nonzero if this breakpoint tells us to print the frame.  */
     char print;
@@ -1365,7 +1395,7 @@ extern void insert_breakpoints (void);
 
 extern int remove_breakpoints (void);
 
-extern int remove_breakpoints_pid (int pid);
+extern int remove_breakpoints_inf (inferior *inf);
 
 /* This function can be used to update the breakpoint package's state
    after an exec() system call has been executed.
@@ -1480,7 +1510,7 @@ extern void disable_breakpoint (struct b
 extern void enable_breakpoint (struct breakpoint *);
 
 extern void breakpoint_set_commands (struct breakpoint *b, 
-				     command_line_up &&commands);
+				     counted_command_line &&commands);
 
 extern void breakpoint_set_silent (struct breakpoint *b, int silent);
 
@@ -1594,20 +1624,13 @@ extern struct tracepoint *
   get_tracepoint_by_number (const char **arg,
 			    number_or_range_parser *parser);
 
-/* Return a vector of all tracepoints currently defined.  The vector
-   is newly allocated; the caller should free when done with it.  */
-extern VEC(breakpoint_p) *all_tracepoints (void);
+/* Return a vector of all tracepoints currently defined.  */
+extern std::vector<breakpoint *> all_tracepoints (void);
 
 extern int is_tracepoint (const struct breakpoint *b);
 
-/* Return a vector of all static tracepoints defined at ADDR.  The
-   vector is newly allocated; the caller should free when done with
-   it.  */
-extern VEC(breakpoint_p) *static_tracepoints_here (CORE_ADDR addr);
-
-/* Function that can be passed to read_command_line to validate
-   that each command is suitable for tracepoint command list.  */
-extern void check_tracepoint_command (char *line, void *closure);
+/* Return a vector of all static tracepoints defined at ADDR.  */
+extern std::vector<breakpoint *> static_tracepoints_here (CORE_ADDR addr);
 
 /* Create an instance of this to start registering breakpoint numbers
    for a later "commands" command.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/bsd-kvm.c ./gdb/bsd-kvm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/bsd-kvm.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/bsd-kvm.c	2018-07-10 02:06:12.000000000 +0000
@@ -56,16 +56,53 @@ static struct pcb *bsd_kvm_paddr;
    register state from PCB and supplies it to REGCACHE.  */
 static int (*bsd_kvm_supply_pcb)(struct regcache *regcache, struct pcb *pcb);
 
-/* Target ops for libkvm interface.  */
-static struct target_ops bsd_kvm_ops;
-
 /* This is the ptid we use while we're connected to kvm.  The kvm
    target currently doesn't export any view of the running processes,
    so this represents the kernel task.  */
 static ptid_t bsd_kvm_ptid;
 
+/* The libkvm target.  */
+
+static const target_info bsd_kvm_target_info = {
+  "kvm",
+  N_("Kernel memory interface"),
+  N_("Use a kernel virtual memory image as a target.\n\
+Optionally specify the filename of a core dump.")
+};
+
+class bsd_kvm_target final : public target_ops
+{
+public:
+  bsd_kvm_target ()
+  { this->to_stratum = process_stratum; }
+
+  const target_info &info () const override
+  { return bsd_kvm_target_info; }
+
+  void close () override;
+
+  void fetch_registers (struct regcache *, int) override;
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  void files_info () override;
+  bool thread_alive (ptid_t ptid) override;
+  const char *pid_to_str (ptid_t) override;
+
+  bool has_memory () override { return true; }
+  bool has_stack () override { return true; }
+  bool has_registers () override { return true; }
+};
+
+/* Target ops for libkvm interface.  */
+static bsd_kvm_target bsd_kvm_ops;
+
 static void
-bsd_kvm_open (const char *arg, int from_tty)
+bsd_kvm_target_open (const char *arg, int from_tty)
 {
   char errbuf[_POSIX2_LINE_MAX];
   char *execfile = NULL;
@@ -107,8 +144,8 @@ bsd_kvm_open (const char *arg, int from_
   print_stack_frame (get_selected_frame (NULL), 0, SRC_AND_LOC, 1);
 }
 
-static void
-bsd_kvm_close (struct target_ops *self)
+void
+bsd_kvm_target::close ()
 {
   if (core_kd)
     {
@@ -118,7 +155,7 @@ bsd_kvm_close (struct target_ops *self)
     }
 
   inferior_ptid = null_ptid;
-  delete_thread_silent (bsd_kvm_ptid);
+  discard_all_inferiors ();
 }
 
 static LONGEST
@@ -134,11 +171,11 @@ bsd_kvm_xfer_memory (CORE_ADDR addr, ULO
   return nbytes;
 }
 
-static enum target_xfer_status
-bsd_kvm_xfer_partial (struct target_ops *ops, enum target_object object,
-		      const char *annex, gdb_byte *readbuf,
-		      const gdb_byte *writebuf,
-		      ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+bsd_kvm_target::xfer_partial (enum target_object object,
+			      const char *annex, gdb_byte *readbuf,
+			      const gdb_byte *writebuf,
+			      ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 {
   switch (object)
     {
@@ -162,8 +199,8 @@ bsd_kvm_xfer_partial (struct target_ops 
     }
 }
 
-static void
-bsd_kvm_files_info (struct target_ops *ops)
+void
+bsd_kvm_target::files_info ()
 {
   if (bsd_kvm_corefile && strcmp (bsd_kvm_corefile, _PATH_MEM) != 0)
     printf_filtered (_("\tUsing the kernel crash dump %s.\n"),
@@ -186,9 +223,8 @@ bsd_kvm_fetch_pcb (struct regcache *regc
   return bsd_kvm_supply_pcb (regcache, &pcb);
 }
 
-static void
-bsd_kvm_fetch_registers (struct target_ops *ops,
-			 struct regcache *regcache, int regnum)
+void
+bsd_kvm_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   struct nlist nl[2];
 
@@ -325,27 +361,20 @@ bsd_kvm_pcb_cmd (const char *arg, int fr
   print_stack_frame (get_selected_frame (NULL), 0, SRC_AND_LOC, 1);
 }
 
-static int
-bsd_kvm_thread_alive (struct target_ops *ops,
-		      ptid_t ptid)
+bool
+bsd_kvm_target::thread_alive (ptid_t ptid)
 {
-  return 1;
+  return true;
 }
 
-static const char *
-bsd_kvm_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+bsd_kvm_target::pid_to_str (ptid_t ptid)
 {
   static char buf[64];
   xsnprintf (buf, sizeof buf, "<kvm>");
   return buf;
 }
 
-static int
-bsd_kvm_return_one (struct target_ops *ops)
-{
-  return 1;
-}
-
 /* Add the libkvm interface to the list of all possible targets and
    register CUPPLY_PCB as the architecture-specific process control
    block interpreter.  */
@@ -356,24 +385,7 @@ bsd_kvm_add_target (int (*supply_pcb)(st
   gdb_assert (bsd_kvm_supply_pcb == NULL);
   bsd_kvm_supply_pcb = supply_pcb;
 
-  bsd_kvm_ops.to_shortname = "kvm";
-  bsd_kvm_ops.to_longname = _("Kernel memory interface");
-  bsd_kvm_ops.to_doc = _("Use a kernel virtual memory image as a target.\n\
-Optionally specify the filename of a core dump.");
-  bsd_kvm_ops.to_open = bsd_kvm_open;
-  bsd_kvm_ops.to_close = bsd_kvm_close;
-  bsd_kvm_ops.to_fetch_registers = bsd_kvm_fetch_registers;
-  bsd_kvm_ops.to_xfer_partial = bsd_kvm_xfer_partial;
-  bsd_kvm_ops.to_files_info = bsd_kvm_files_info;
-  bsd_kvm_ops.to_thread_alive = bsd_kvm_thread_alive;
-  bsd_kvm_ops.to_pid_to_str = bsd_kvm_pid_to_str;
-  bsd_kvm_ops.to_stratum = process_stratum;
-  bsd_kvm_ops.to_has_memory = bsd_kvm_return_one;
-  bsd_kvm_ops.to_has_stack = bsd_kvm_return_one;
-  bsd_kvm_ops.to_has_registers = bsd_kvm_return_one;
-  bsd_kvm_ops.to_magic = OPS_MAGIC;
-
-  add_target (&bsd_kvm_ops);
+  add_target (bsd_kvm_target_info, bsd_kvm_target_open);
   
   add_prefix_cmd ("kvm", class_obscure, bsd_kvm_cmd, _("\
 Generic command for manipulating the kernel memory interface."),
@@ -401,5 +413,5 @@ Generic command for manipulating the ker
      ptid (1, 1, 2) -> kvm inferior 1, process 2
      ptid (1, 1, n) -> kvm inferior 1, process n  */
 
-  bsd_kvm_ptid = ptid_build (1, 1, 0);
+  bsd_kvm_ptid = ptid_t (1, 1, 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.1.0.20180703/gdb/bsd-uthread.c ./gdb/bsd-uthread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/bsd-uthread.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/bsd-uthread.c	2018-07-10 02:06:12.000000000 +0000
@@ -22,7 +22,7 @@
 #include "gdbthread.h"
 #include "inferior.h"
 #include "objfiles.h"
-#include "observer.h"
+#include "observable.h"
 #include "regcache.h"
 #include "solib.h"
 #include "solist.h"
@@ -33,8 +33,40 @@
 
 #include "bsd-uthread.h"
 
-/* HACK: Save the bsd_uthreads ops returned by bsd_uthread_target.  */
-static struct target_ops *bsd_uthread_ops_hack;
+static const target_info bsd_uthread_target_info = {
+  "bsd-uthreads",
+  N_("BSD user-level threads"),
+  N_("BSD user-level threads")
+};
+
+struct bsd_uthread_target final : public target_ops
+{
+  bsd_uthread_target ()
+  { to_stratum = thread_stratum; }
+
+  const target_info &info () const override
+  { return bsd_uthread_target_info; }
+
+  void close () override;
+
+  void mourn_inferior () override;
+
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+  void resume (ptid_t, int, enum gdb_signal) override;
+
+  bool thread_alive (ptid_t ptid) override;
+
+  void update_thread_list () override;
+
+  const char *extra_thread_info (struct thread_info *) override;
+
+  const char *pid_to_str (ptid_t) override;
+};
+
+static bsd_uthread_target bsd_uthread_ops;
 
 
 /* Architecture-specific operations.  */
@@ -200,15 +232,15 @@ bsd_uthread_activate (struct objfile *ob
   bsd_uthread_thread_ctx_offset =
     bsd_uthread_lookup_offset ("_thread_ctx_offset", objfile);
 
-  push_target (bsd_uthread_ops_hack);
+  push_target (&bsd_uthread_ops);
   bsd_uthread_active = 1;
   return 1;
 }
 
 /* Cleanup due to deactivation.  */
 
-static void
-bsd_uthread_close (struct target_ops *self)
+void
+bsd_uthread_target::close ()
 {
   bsd_uthread_active = 0;
   bsd_uthread_thread_run_addr = 0;
@@ -228,7 +260,7 @@ bsd_uthread_deactivate (void)
   if (!bsd_uthread_active)
     return;
 
-  unpush_target (bsd_uthread_ops_hack);
+  unpush_target (&bsd_uthread_ops);
 }
 
 static void
@@ -275,24 +307,21 @@ bsd_uthread_solib_unloaded (struct so_li
     bsd_uthread_deactivate ();
 }
 
-static void
-bsd_uthread_mourn_inferior (struct target_ops *ops)
+void
+bsd_uthread_target::mourn_inferior ()
 {
-  struct target_ops *beneath = find_target_beneath (ops);
-  beneath->to_mourn_inferior (beneath);
+  beneath ()->mourn_inferior ();
   bsd_uthread_deactivate ();
 }
 
-static void
-bsd_uthread_fetch_registers (struct target_ops *ops,
-			     struct regcache *regcache, int regnum)
+void
+bsd_uthread_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   struct bsd_uthread_ops *uthread_ops
     = (struct bsd_uthread_ops *) gdbarch_data (gdbarch, bsd_uthread_data);
-  ptid_t ptid = regcache_get_ptid (regcache);
-  CORE_ADDR addr = ptid_get_tid (ptid);
-  struct target_ops *beneath = find_target_beneath (ops);
+  ptid_t ptid = regcache->ptid ();
+  CORE_ADDR addr = ptid.tid ();
   CORE_ADDR active_addr;
   scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
 
@@ -301,7 +330,7 @@ bsd_uthread_fetch_registers (struct targ
   inferior_ptid = ptid;
 
   /* Always fetch the appropriate registers from the layer beneath.  */
-  beneath->to_fetch_registers (beneath, regcache, regnum);
+  beneath ()->fetch_registers (regcache, regnum);
 
   /* FIXME: That might have gotten us more than we asked for.  Make
      sure we overwrite all relevant registers with values from the
@@ -317,16 +346,14 @@ bsd_uthread_fetch_registers (struct targ
     }
 }
 
-static void
-bsd_uthread_store_registers (struct target_ops *ops,
-			     struct regcache *regcache, int regnum)
+void
+bsd_uthread_target::store_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   struct bsd_uthread_ops *uthread_ops
     = (struct bsd_uthread_ops *) gdbarch_data (gdbarch, bsd_uthread_data);
-  struct target_ops *beneath = find_target_beneath (ops);
-  ptid_t ptid = regcache_get_ptid (regcache);
-  CORE_ADDR addr = ptid_get_tid (ptid);
+  ptid_t ptid = regcache->ptid ();
+  CORE_ADDR addr = ptid.tid ();
   CORE_ADDR active_addr;
   scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
 
@@ -345,20 +372,19 @@ bsd_uthread_store_registers (struct targ
     {
       /* Updating the thread that is currently running; pass the
          request to the layer beneath.  */
-      beneath->to_store_registers (beneath, regcache, regnum);
+      beneath ()->store_registers (regcache, regnum);
     }
 }
 
-static ptid_t
-bsd_uthread_wait (struct target_ops *ops,
-		  ptid_t ptid, struct target_waitstatus *status, int options)
+ptid_t
+bsd_uthread_target::wait (ptid_t ptid, struct target_waitstatus *status,
+			  int options)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
   CORE_ADDR addr;
-  struct target_ops *beneath = find_target_beneath (ops);
 
   /* Pass the request to the layer beneath.  */
-  ptid = beneath->to_wait (beneath, ptid, status, options);
+  ptid = beneath ()->wait (ptid, status, options);
 
   /* If the process is no longer alive, there's no point in figuring
      out the thread ID.  It will fail anyway.  */
@@ -381,39 +407,37 @@ bsd_uthread_wait (struct target_ops *ops
 	{
 	  ULONGEST magic = extract_unsigned_integer (buf, 4, byte_order);
 	  if (magic == BSD_UTHREAD_PTHREAD_MAGIC)
-	    ptid = ptid_build (ptid_get_pid (ptid), 0, addr);
+	    ptid = ptid_t (ptid.pid (), 0, addr);
 	}
     }
 
   /* If INFERIOR_PTID doesn't have a tid member yet, and we now have a
      ptid with tid set, then ptid is still the initial thread of
      the process.  Notify GDB core about it.  */
-  if (ptid_get_tid (inferior_ptid) == 0
-      && ptid_get_tid (ptid) != 0 && !in_thread_list (ptid))
+  if (inferior_ptid.tid () == 0
+      && ptid.tid () != 0 && !in_thread_list (ptid))
     thread_change_ptid (inferior_ptid, ptid);
 
   /* Don't let the core see a ptid without a corresponding thread.  */
-  if (!in_thread_list (ptid) || is_exited (ptid))
+  thread_info *thread = find_thread_ptid (ptid);
+  if (thread == NULL || thread->state == THREAD_EXITED)
     add_thread (ptid);
 
   return ptid;
 }
 
-static void
-bsd_uthread_resume (struct target_ops *ops,
-		    ptid_t ptid, int step, enum gdb_signal sig)
+void
+bsd_uthread_target::resume (ptid_t ptid, int step, enum gdb_signal sig)
 {
   /* Pass the request to the layer beneath.  */
-  struct target_ops *beneath = find_target_beneath (ops);
-  beneath->to_resume (beneath, ptid, step, sig);
+  beneath ()->resume (ptid, step, sig);
 }
 
-static int
-bsd_uthread_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+bsd_uthread_target::thread_alive (ptid_t ptid)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  struct target_ops *beneath = find_target_beneath (ops);
-  CORE_ADDR addr = ptid_get_tid (ptid);
+  CORE_ADDR addr = ptid.tid ();
 
   if (addr != 0)
     {
@@ -424,16 +448,16 @@ bsd_uthread_thread_alive (struct target_
 
       state = read_memory_unsigned_integer (addr + offset, 4, byte_order);
       if (state == BSD_UTHREAD_PS_DEAD)
-	return 0;
+	return false;
     }
 
-  return beneath->to_thread_alive (beneath, ptid);
+  return beneath ()->thread_alive (ptid);
 }
 
-static void
-bsd_uthread_update_thread_list (struct target_ops *ops)
+void
+bsd_uthread_target::update_thread_list ()
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
+  pid_t pid = inferior_ptid.pid ();
   int offset = bsd_uthread_thread_next_offset;
   CORE_ADDR addr;
 
@@ -442,14 +466,15 @@ bsd_uthread_update_thread_list (struct t
   addr = bsd_uthread_read_memory_address (bsd_uthread_thread_list_addr);
   while (addr != 0)
     {
-      ptid_t ptid = ptid_build (pid, 0, addr);
+      ptid_t ptid = ptid_t (pid, 0, addr);
 
-      if (!in_thread_list (ptid) || is_exited (ptid))
+      thread_info *thread = find_thread_ptid (ptid);
+      if (thread == nullptr || thread->state == THREAD_EXITED)
 	{
 	  /* If INFERIOR_PTID doesn't have a tid member yet, then ptid
 	     is still the initial thread of the process.  Notify GDB
 	     core about it.  */
-	  if (ptid_get_tid (inferior_ptid) == 0)
+	  if (inferior_ptid.tid () == 0)
 	    thread_change_ptid (inferior_ptid, ptid);
 	  else
 	    add_thread (ptid);
@@ -487,12 +512,11 @@ static const char *bsd_uthread_state[] =
 /* Return a string describing th state of the thread specified by
    INFO.  */
 
-static const char *
-bsd_uthread_extra_thread_info (struct target_ops *self,
-			       struct thread_info *info)
+const char *
+bsd_uthread_target::extra_thread_info (thread_info *info)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  CORE_ADDR addr = ptid_get_tid (info->ptid);
+  CORE_ADDR addr = info->ptid.tid ();
 
   if (addr != 0)
     {
@@ -507,54 +531,27 @@ bsd_uthread_extra_thread_info (struct ta
   return NULL;
 }
 
-static const char *
-bsd_uthread_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+bsd_uthread_target::pid_to_str (ptid_t ptid)
 {
-  if (ptid_get_tid (ptid) != 0)
+  if (ptid.tid () != 0)
     {
       static char buf[64];
 
       xsnprintf (buf, sizeof buf, "process %d, thread 0x%lx",
-		 ptid_get_pid (ptid), ptid_get_tid (ptid));
+		 ptid.pid (), ptid.tid ());
       return buf;
     }
 
   return normal_pid_to_str (ptid);
 }
 
-static struct target_ops *
-bsd_uthread_target (void)
-{
-  struct target_ops *t = XCNEW (struct target_ops);
-
-  t->to_shortname = "bsd-uthreads";
-  t->to_longname = "BSD user-level threads";
-  t->to_doc = "BSD user-level threads";
-  t->to_close = bsd_uthread_close;
-  t->to_mourn_inferior = bsd_uthread_mourn_inferior;
-  t->to_fetch_registers = bsd_uthread_fetch_registers;
-  t->to_store_registers = bsd_uthread_store_registers;
-  t->to_wait = bsd_uthread_wait;
-  t->to_resume = bsd_uthread_resume;
-  t->to_thread_alive = bsd_uthread_thread_alive;
-  t->to_update_thread_list = bsd_uthread_update_thread_list;
-  t->to_extra_thread_info = bsd_uthread_extra_thread_info;
-  t->to_pid_to_str = bsd_uthread_pid_to_str;
-  t->to_stratum = thread_stratum;
-  t->to_magic = OPS_MAGIC;
-  bsd_uthread_ops_hack = t;
-
-  return t;
-}
-
 void
 _initialize_bsd_uthread (void)
 {
-  complete_target_initialization (bsd_uthread_target ());
-
   bsd_uthread_data = gdbarch_data_register_pre_init (bsd_uthread_init);
 
-  observer_attach_inferior_created (bsd_uthread_inferior_created);
-  observer_attach_solib_loaded (bsd_uthread_solib_loaded);
-  observer_attach_solib_unloaded (bsd_uthread_solib_unloaded);
+  gdb::observers::inferior_created.attach (bsd_uthread_inferior_created);
+  gdb::observers::solib_loaded.attach (bsd_uthread_solib_loaded);
+  gdb::observers::solib_unloaded.attach (bsd_uthread_solib_unloaded);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/btrace.c ./gdb/btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/btrace.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/btrace.c	2018-07-10 02:06:12.000000000 +0000
@@ -35,6 +35,9 @@
 #include "gdbcmd.h"
 #include "cli/cli-utils.h"
 
+/* For maintenance commands.  */
+#include "record-btrace.h"
+
 #include <inttypes.h>
 #include <ctype.h>
 #include <algorithm>
@@ -1428,15 +1431,20 @@ btrace_compute_ftrace_pt (struct thread_
   config.begin = btrace->data;
   config.end = btrace->data + btrace->size;
 
-  config.cpu.vendor = pt_translate_cpu_vendor (btrace->config.cpu.vendor);
-  config.cpu.family = btrace->config.cpu.family;
-  config.cpu.model = btrace->config.cpu.model;
-  config.cpu.stepping = btrace->config.cpu.stepping;
-
-  errcode = pt_cpu_errata (&config.errata, &config.cpu);
-  if (errcode < 0)
-    error (_("Failed to configure the Intel Processor Trace decoder: %s."),
-	   pt_errstr (pt_errcode (errcode)));
+  /* We treat an unknown vendor as 'no errata'.  */
+  if (btrace->config.cpu.vendor != CV_UNKNOWN)
+    {
+      config.cpu.vendor
+	= pt_translate_cpu_vendor (btrace->config.cpu.vendor);
+      config.cpu.family = btrace->config.cpu.family;
+      config.cpu.model = btrace->config.cpu.model;
+      config.cpu.stepping = btrace->config.cpu.stepping;
+
+      errcode = pt_cpu_errata (&config.errata, &config.cpu);
+      if (errcode < 0)
+	error (_("Failed to configure the Intel Processor Trace "
+		 "decoder: %s."), pt_errstr (pt_errcode (errcode)));
+    }
 
   decoder = pt_insn_alloc_decoder (&config);
   if (decoder == NULL)
@@ -1485,10 +1493,14 @@ btrace_compute_ftrace_pt (struct thread_
 #endif /* defined (HAVE_LIBIPT)  */
 
 /* Compute the function branch trace from a block branch trace BTRACE for
-   a thread given by BTINFO.  */
+   a thread given by BTINFO.  If CPU is not NULL, overwrite the cpu in the
+   branch trace configuration.  This is currently only used for the PT
+   format.  */
 
 static void
-btrace_compute_ftrace_1 (struct thread_info *tp, struct btrace_data *btrace,
+btrace_compute_ftrace_1 (struct thread_info *tp,
+			 struct btrace_data *btrace,
+			 const struct btrace_cpu *cpu,
 			 std::vector<unsigned int> &gaps)
 {
   DEBUG ("compute ftrace");
@@ -1503,6 +1515,10 @@ btrace_compute_ftrace_1 (struct thread_i
       return;
 
     case BTRACE_FORMAT_PT:
+      /* Overwrite the cpu we use for enabling errata workarounds.  */
+      if (cpu != nullptr)
+	btrace->variant.pt.config.cpu = *cpu;
+
       btrace_compute_ftrace_pt (tp, &btrace->variant.pt, gaps);
       return;
     }
@@ -1521,13 +1537,14 @@ btrace_finalize_ftrace (struct thread_in
 }
 
 static void
-btrace_compute_ftrace (struct thread_info *tp, struct btrace_data *btrace)
+btrace_compute_ftrace (struct thread_info *tp, struct btrace_data *btrace,
+		       const struct btrace_cpu *cpu)
 {
   std::vector<unsigned int> gaps;
 
   TRY
     {
-      btrace_compute_ftrace_1 (tp, btrace, gaps);
+      btrace_compute_ftrace_1 (tp, btrace, cpu, gaps);
     }
   CATCH (error, RETURN_MASK_ALL)
     {
@@ -1548,25 +1565,19 @@ btrace_add_pc (struct thread_info *tp)
   struct btrace_data btrace;
   struct btrace_block *block;
   struct regcache *regcache;
-  struct cleanup *cleanup;
   CORE_ADDR pc;
 
-  regcache = get_thread_regcache (tp->ptid);
+  regcache = get_thread_regcache (tp);
   pc = regcache_read_pc (regcache);
 
-  btrace_data_init (&btrace);
   btrace.format = BTRACE_FORMAT_BTS;
   btrace.variant.bts.blocks = NULL;
 
-  cleanup = make_cleanup_btrace_data (&btrace);
-
   block = VEC_safe_push (btrace_block_s, btrace.variant.bts.blocks, NULL);
   block->begin = pc;
   block->end = pc;
 
-  btrace_compute_ftrace (tp, &btrace);
-
-  do_cleanups (cleanup);
+  btrace_compute_ftrace (tp, &btrace, NULL);
 }
 
 /* See btrace.h.  */
@@ -1579,12 +1590,9 @@ btrace_enable (struct thread_info *tp, c
 
 #if !defined (HAVE_LIBIPT)
   if (conf->format == BTRACE_FORMAT_PT)
-    error (_("GDB does not support Intel Processor Trace."));
+    error (_("Intel Processor Trace support was disabled at compile time."));
 #endif /* !defined (HAVE_LIBIPT) */
 
-  if (!target_supports_btrace (conf->format))
-    error (_("Target does not support branch tracing."));
-
   DEBUG ("enable thread %s (%s)", print_thread_id (tp),
 	 target_pid_to_str (tp->ptid));
 
@@ -1607,7 +1615,7 @@ btrace_enable (struct thread_info *tp, c
 	 This is not relevant for BTRACE_FORMAT_PT since the trace will already
 	 start at the PC at which tracing was enabled.  */
       if (conf->format != BTRACE_FORMAT_PT
-	  && can_access_registers_ptid (tp->ptid))
+	  && can_access_registers_thread (tp))
 	btrace_add_pc (tp);
     }
   CATCH (exception, RETURN_MASK_ALL)
@@ -1763,7 +1771,7 @@ static int
 btrace_stitch_trace (struct btrace_data *btrace, struct thread_info *tp)
 {
   /* If we don't have trace, there's nothing to do.  */
-  if (btrace_data_empty (btrace))
+  if (btrace->empty ())
     return 0;
 
   switch (btrace->format)
@@ -1875,12 +1883,11 @@ btrace_decode_error (enum btrace_format 
 /* See btrace.h.  */
 
 void
-btrace_fetch (struct thread_info *tp)
+btrace_fetch (struct thread_info *tp, const struct btrace_cpu *cpu)
 {
   struct btrace_thread_info *btinfo;
   struct btrace_target_info *tinfo;
   struct btrace_data btrace;
-  struct cleanup *cleanup;
   int errcode;
 
   DEBUG ("fetch thread %s (%s)", print_thread_id (tp),
@@ -1904,10 +1911,7 @@ btrace_fetch (struct thread_info *tp)
   inferior_ptid = tp->ptid;
 
   /* We should not be called on running or exited threads.  */
-  gdb_assert (can_access_registers_ptid (tp->ptid));
-
-  btrace_data_init (&btrace);
-  cleanup = make_cleanup_btrace_data (&btrace);
+  gdb_assert (can_access_registers_thread (tp));
 
   /* Let's first try to extend the trace we already have.  */
   if (!btinfo->functions.empty ())
@@ -1924,7 +1928,7 @@ btrace_fetch (struct thread_info *tp)
 	  errcode = target_read_btrace (&btrace, tinfo, BTRACE_READ_NEW);
 
 	  /* If we got any new trace, discard what we have.  */
-	  if (errcode == 0 && !btrace_data_empty (&btrace))
+	  if (errcode == 0 && !btrace.empty ())
 	    btrace_clear (tp);
 	}
 
@@ -1943,7 +1947,7 @@ btrace_fetch (struct thread_info *tp)
     error (_("Failed to read branch trace."));
 
   /* Compute the trace, provided we have any.  */
-  if (!btrace_data_empty (&btrace))
+  if (!btrace.empty ())
     {
       /* Store the raw trace data.  The stored data will be cleared in
 	 btrace_clear, so we always append the new trace.  */
@@ -1951,10 +1955,8 @@ btrace_fetch (struct thread_info *tp)
       btrace_maint_clear (btinfo);
 
       btrace_clear_history (btinfo);
-      btrace_compute_ftrace (tp, &btrace);
+      btrace_compute_ftrace (tp, &btrace, cpu);
     }
-
-  do_cleanups (cleanup);
 }
 
 /* See btrace.h.  */
@@ -1978,7 +1980,7 @@ btrace_clear (struct thread_info *tp)
 
   /* Must clear the maint data before - it depends on BTINFO->DATA.  */
   btrace_maint_clear (btinfo);
-  btrace_data_clear (&btinfo->data);
+  btinfo->data.clear ();
   btrace_clear_history (btinfo);
 }
 
@@ -2002,10 +2004,11 @@ btrace_free_objfile (struct objfile *obj
 static void
 check_xml_btrace_version (struct gdb_xml_parser *parser,
 			  const struct gdb_xml_element *element,
-			  void *user_data, VEC (gdb_xml_value_s) *attributes)
+			  void *user_data,
+			  std::vector<gdb_xml_value> &attributes)
 {
   const char *version
-    = (const char *) xml_find_attribute (attributes, "version")->value;
+    = (const char *) xml_find_attribute (attributes, "version")->value.get ();
 
   if (strcmp (version, "1.0") != 0)
     gdb_xml_error (parser, _("Unsupported btrace version: \"%s\""), version);
@@ -2016,7 +2019,8 @@ check_xml_btrace_version (struct gdb_xml
 static void
 parse_xml_btrace_block (struct gdb_xml_parser *parser,
 			const struct gdb_xml_element *element,
-			void *user_data, VEC (gdb_xml_value_s) *attributes)
+			void *user_data,
+			std::vector<gdb_xml_value> &attributes)
 {
   struct btrace_data *btrace;
   struct btrace_block *block;
@@ -2038,8 +2042,8 @@ parse_xml_btrace_block (struct gdb_xml_p
       gdb_xml_error (parser, _("Btrace format error."));
     }
 
-  begin = (ULONGEST *) xml_find_attribute (attributes, "begin")->value;
-  end = (ULONGEST *) xml_find_attribute (attributes, "end")->value;
+  begin = (ULONGEST *) xml_find_attribute (attributes, "begin")->value.get ();
+  end = (ULONGEST *) xml_find_attribute (attributes, "end")->value.get ();
 
   block = VEC_safe_push (btrace_block_s, btrace->variant.bts.blocks, NULL);
   block->begin = *begin;
@@ -2052,8 +2056,7 @@ static void
 parse_xml_raw (struct gdb_xml_parser *parser, const char *body_text,
 	       gdb_byte **pdata, size_t *psize)
 {
-  struct cleanup *cleanup;
-  gdb_byte *data, *bin;
+  gdb_byte *bin;
   size_t len, size;
 
   len = strlen (body_text);
@@ -2062,8 +2065,8 @@ parse_xml_raw (struct gdb_xml_parser *pa
 
   size = len / 2;
 
-  bin = data = (gdb_byte *) xmalloc (size);
-  cleanup = make_cleanup (xfree, data);
+  gdb::unique_xmalloc_ptr<gdb_byte> data ((gdb_byte *) xmalloc (size));
+  bin = data.get ();
 
   /* We use hex encoding - see common/rsp-low.h.  */
   while (len > 0)
@@ -2080,9 +2083,7 @@ parse_xml_raw (struct gdb_xml_parser *pa
       len -= 2;
     }
 
-  discard_cleanups (cleanup);
-
-  *pdata = data;
+  *pdata = data.release ();
   *psize = size;
 }
 
@@ -2092,16 +2093,20 @@ static void
 parse_xml_btrace_pt_config_cpu (struct gdb_xml_parser *parser,
 				const struct gdb_xml_element *element,
 				void *user_data,
-				VEC (gdb_xml_value_s) *attributes)
+				std::vector<gdb_xml_value> &attributes)
 {
   struct btrace_data *btrace;
   const char *vendor;
   ULONGEST *family, *model, *stepping;
 
-  vendor = (const char *) xml_find_attribute (attributes, "vendor")->value;
-  family = (ULONGEST *) xml_find_attribute (attributes, "family")->value;
-  model = (ULONGEST *) xml_find_attribute (attributes, "model")->value;
-  stepping = (ULONGEST *) xml_find_attribute (attributes, "stepping")->value;
+  vendor =
+    (const char *) xml_find_attribute (attributes, "vendor")->value.get ();
+  family
+    = (ULONGEST *) xml_find_attribute (attributes, "family")->value.get ();
+  model
+    = (ULONGEST *) xml_find_attribute (attributes, "model")->value.get ();
+  stepping
+    = (ULONGEST *) xml_find_attribute (attributes, "stepping")->value.get ();
 
   btrace = (struct btrace_data *) user_data;
 
@@ -2132,7 +2137,8 @@ parse_xml_btrace_pt_raw (struct gdb_xml_
 static void
 parse_xml_btrace_pt (struct gdb_xml_parser *parser,
 		     const struct gdb_xml_element *element,
-		     void *user_data, VEC (gdb_xml_value_s) *attributes)
+		     void *user_data,
+		     std::vector<gdb_xml_value> &attributes)
 {
   struct btrace_data *btrace;
 
@@ -2196,25 +2202,25 @@ static const struct gdb_xml_element btra
 void
 parse_xml_btrace (struct btrace_data *btrace, const char *buffer)
 {
-  struct cleanup *cleanup;
   int errcode;
 
 #if defined (HAVE_LIBEXPAT)
 
-  btrace->format = BTRACE_FORMAT_NONE;
+  btrace_data result;
+  result.format = BTRACE_FORMAT_NONE;
 
-  cleanup = make_cleanup_btrace_data (btrace);
   errcode = gdb_xml_parse_quick (_("btrace"), "btrace.dtd", btrace_elements,
-				 buffer, btrace);
+				 buffer, &result);
   if (errcode != 0)
     error (_("Error parsing branch trace."));
 
   /* Keep parse results.  */
-  discard_cleanups (cleanup);
+  *btrace = std::move (result);
 
 #else  /* !defined (HAVE_LIBEXPAT) */
 
-  error (_("Cannot process branch trace.  XML parsing is not supported."));
+  error (_("Cannot process branch trace.  XML support was disabled at "
+	   "compile time."));
 
 #endif  /* !defined (HAVE_LIBEXPAT) */
 }
@@ -2226,7 +2232,8 @@ parse_xml_btrace (struct btrace_data *bt
 static void
 parse_xml_btrace_conf_bts (struct gdb_xml_parser *parser,
 			  const struct gdb_xml_element *element,
-			  void *user_data, VEC (gdb_xml_value_s) *attributes)
+			  void *user_data,
+			  std::vector<gdb_xml_value> &attributes)
 {
   struct btrace_config *conf;
   struct gdb_xml_value *size;
@@ -2237,7 +2244,7 @@ parse_xml_btrace_conf_bts (struct gdb_xm
 
   size = xml_find_attribute (attributes, "size");
   if (size != NULL)
-    conf->bts.size = (unsigned int) *(ULONGEST *) size->value;
+    conf->bts.size = (unsigned int) *(ULONGEST *) size->value.get ();
 }
 
 /* Parse a btrace-conf "pt" xml record.  */
@@ -2245,7 +2252,8 @@ parse_xml_btrace_conf_bts (struct gdb_xm
 static void
 parse_xml_btrace_conf_pt (struct gdb_xml_parser *parser,
 			  const struct gdb_xml_element *element,
-			  void *user_data, VEC (gdb_xml_value_s) *attributes)
+			  void *user_data,
+			  std::vector<gdb_xml_value> &attributes)
 {
   struct btrace_config *conf;
   struct gdb_xml_value *size;
@@ -2256,7 +2264,7 @@ parse_xml_btrace_conf_pt (struct gdb_xml
 
   size = xml_find_attribute (attributes, "size");
   if (size != NULL)
-    conf->pt.size = (unsigned int) *(ULONGEST *) size->value;
+    conf->pt.size = (unsigned int) *(ULONGEST *) size->value.get ();
 }
 
 static const struct gdb_xml_attribute btrace_conf_pt_attributes[] = {
@@ -2306,7 +2314,8 @@ parse_xml_btrace_conf (struct btrace_con
 
 #else  /* !defined (HAVE_LIBEXPAT) */
 
-  error (_("XML parsing is not supported."));
+  error (_("Cannot process the branch trace configuration.  XML support "
+	   "was disabled at compile time."));
 
 #endif  /* !defined (HAVE_LIBEXPAT) */
 }
@@ -2819,22 +2828,6 @@ btrace_is_empty (struct thread_info *tp)
   return btrace_insn_cmp (&begin, &end) == 0;
 }
 
-/* Forward the cleanup request.  */
-
-static void
-do_btrace_data_cleanup (void *arg)
-{
-  btrace_data_fini ((struct btrace_data *) arg);
-}
-
-/* See btrace.h.  */
-
-struct cleanup *
-make_cleanup_btrace_data (struct btrace_data *data)
-{
-  return make_cleanup (do_btrace_data_cleanup, data);
-}
-
 #if defined (HAVE_LIBIPT)
 
 /* Print a single packet.  */
@@ -3020,6 +3013,7 @@ static void
 btrace_maint_update_pt_packets (struct btrace_thread_info *btinfo)
 {
   struct pt_packet_decoder *decoder;
+  const struct btrace_cpu *cpu;
   struct btrace_data_pt *pt;
   struct pt_config config;
   int errcode;
@@ -3036,15 +3030,23 @@ btrace_maint_update_pt_packets (struct b
   config.begin = pt->data;
   config.end = pt->data + pt->size;
 
-  config.cpu.vendor = pt_translate_cpu_vendor (pt->config.cpu.vendor);
-  config.cpu.family = pt->config.cpu.family;
-  config.cpu.model = pt->config.cpu.model;
-  config.cpu.stepping = pt->config.cpu.stepping;
-
-  errcode = pt_cpu_errata (&config.errata, &config.cpu);
-  if (errcode < 0)
-    error (_("Failed to configure the Intel Processor Trace decoder: %s."),
-	   pt_errstr (pt_errcode (errcode)));
+  cpu = record_btrace_get_cpu ();
+  if (cpu == nullptr)
+    cpu = &pt->config.cpu;
+
+  /* We treat an unknown vendor as 'no errata'.  */
+  if (cpu->vendor != CV_UNKNOWN)
+    {
+      config.cpu.vendor = pt_translate_cpu_vendor (cpu->vendor);
+      config.cpu.family = cpu->family;
+      config.cpu.model = cpu->model;
+      config.cpu.stepping = cpu->stepping;
+
+      errcode = pt_cpu_errata (&config.errata, &config.cpu);
+      if (errcode < 0)
+	error (_("Failed to configure the Intel Processor Trace "
+		 "decoder: %s."), pt_errstr (pt_errcode (errcode)));
+    }
 
   decoder = pt_pkt_alloc_decoder (&config);
   if (decoder == NULL)
@@ -3229,10 +3231,9 @@ static void
 maint_btrace_packet_history_cmd (const char *arg, int from_tty)
 {
   struct btrace_thread_info *btinfo;
-  struct thread_info *tp;
   unsigned int size, begin, end, from, to;
 
-  tp = find_thread_ptid (inferior_ptid);
+  thread_info *tp = find_thread_ptid (inferior_ptid);
   if (tp == NULL)
     error (_("No thread."));
 
@@ -3333,21 +3334,18 @@ maint_btrace_packet_history_cmd (const c
 static void
 maint_btrace_clear_packet_history_cmd (const char *args, int from_tty)
 {
-  struct btrace_thread_info *btinfo;
-  struct thread_info *tp;
-
   if (args != NULL && *args != 0)
     error (_("Invalid argument."));
 
-  tp = find_thread_ptid (inferior_ptid);
-  if (tp == NULL)
+  if (inferior_ptid == null_ptid)
     error (_("No thread."));
 
-  btinfo = &tp->btrace;
+  thread_info *tp = inferior_thread ();
+  btrace_thread_info *btinfo = &tp->btrace;
 
   /* Must clear the maint data before - it depends on BTINFO->DATA.  */
   btrace_maint_clear (btinfo);
-  btrace_data_clear (&btinfo->data);
+  btinfo->data.clear ();
 }
 
 /* The "maintenance btrace clear" command.  */
@@ -3355,15 +3353,13 @@ maint_btrace_clear_packet_history_cmd (c
 static void
 maint_btrace_clear_cmd (const char *args, int from_tty)
 {
-  struct thread_info *tp;
-
   if (args != NULL && *args != 0)
     error (_("Invalid argument."));
 
-  tp = find_thread_ptid (inferior_ptid);
-  if (tp == NULL)
+  if (inferior_ptid == null_ptid)
     error (_("No thread."));
 
+  thread_info *tp = inferior_thread ();
   btrace_clear (tp);
 }
 
@@ -3418,16 +3414,16 @@ static void
 maint_info_btrace_cmd (const char *args, int from_tty)
 {
   struct btrace_thread_info *btinfo;
-  struct thread_info *tp;
   const struct btrace_config *conf;
 
   if (args != NULL && *args != 0)
     error (_("Invalid argument."));
 
-  tp = find_thread_ptid (inferior_ptid);
-  if (tp == NULL)
+  if (inferior_ptid == null_ptid)
     error (_("No thread."));
 
+  thread_info *tp = inferior_thread ();
+
   btinfo = &tp->btrace;
 
   conf = btrace_conf (btinfo);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/btrace.h ./gdb/btrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/btrace.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/btrace.h	2018-07-10 02:06:12.000000000 +0000
@@ -385,8 +385,10 @@ extern void btrace_teardown (struct thre
 
 extern const char *btrace_decode_error (enum btrace_format format, int errcode);
 
-/* Fetch the branch trace for a single thread.  */
-extern void btrace_fetch (struct thread_info *);
+/* Fetch the branch trace for a single thread.  If CPU is not NULL, assume
+   CPU for trace decode.  */
+extern void btrace_fetch (struct thread_info *,
+			  const struct btrace_cpu *cpu);
 
 /* Clear the branch trace for a single thread.  */
 extern void btrace_clear (struct thread_info *);
@@ -505,7 +507,4 @@ extern int btrace_is_replaying (struct t
 /* Return non-zero if the branch trace for TP is empty; zero otherwise.  */
 extern int btrace_is_empty (struct thread_info *tp);
 
-/* Create a cleanup for DATA.  */
-extern struct cleanup *make_cleanup_btrace_data (struct btrace_data *data);
-
 #endif /* BTRACE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/build-id.c ./gdb/build-id.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/build-id.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/build-id.c	2018-07-10 02:06:12.000000000 +0000
@@ -70,62 +70,46 @@ build_id_verify (bfd *abfd, size_t check
 gdb_bfd_ref_ptr
 build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
 {
-  char *link, *debugdir;
-  VEC (char_ptr) *debugdir_vec;
-  struct cleanup *back_to;
-  int ix;
   gdb_bfd_ref_ptr abfd;
-  int alloc_len;
-
-  /* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
-  alloc_len = (strlen (debug_file_directory)
-	       + (sizeof "/.build-id/" - 1) + 1
-	       + 2 * build_id_len + (sizeof ".debug" - 1) + 1);
-  link = (char *) alloca (alloc_len);
 
   /* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
      cause "/.build-id/..." lookups.  */
 
-  debugdir_vec = dirnames_to_char_ptr_vec (debug_file_directory);
-  back_to = make_cleanup_free_char_ptr_vec (debugdir_vec);
+  std::vector<gdb::unique_xmalloc_ptr<char>> debugdir_vec
+    = dirnames_to_char_ptr_vec (debug_file_directory);
 
-  for (ix = 0; VEC_iterate (char_ptr, debugdir_vec, ix, debugdir); ++ix)
+  for (const gdb::unique_xmalloc_ptr<char> &debugdir : debugdir_vec)
     {
-      size_t debugdir_len = strlen (debugdir);
       const gdb_byte *data = build_id;
       size_t size = build_id_len;
-      char *s;
-      char *filename = NULL;
-      struct cleanup *inner;
-
-      memcpy (link, debugdir, debugdir_len);
-      s = &link[debugdir_len];
-      s += sprintf (s, "/.build-id/");
+
+      std::string link = debugdir.get ();
+      link += "/.build-id/";
+
       if (size > 0)
 	{
 	  size--;
-	  s += sprintf (s, "%02x", (unsigned) *data++);
+	  string_appendf (link, "%02x/", (unsigned) *data++);
 	}
-      if (size > 0)
-	*s++ = '/';
+
       while (size-- > 0)
-	s += sprintf (s, "%02x", (unsigned) *data++);
-      strcpy (s, ".debug");
+	string_appendf (link, "%02x", (unsigned) *data++);
+
+      link += ".debug";
 
       if (separate_debug_file_debug)
-	printf_unfiltered (_("  Trying %s\n"), link);
+	printf_unfiltered (_("  Trying %s\n"), link.c_str ());
 
       /* lrealpath() is expensive even for the usually non-existent files.  */
-      if (access (link, F_OK) == 0)
-	filename = lrealpath (link);
+      gdb::unique_xmalloc_ptr<char> filename;
+      if (access (link.c_str (), F_OK) == 0)
+	filename.reset (lrealpath (link.c_str ()));
 
       if (filename == NULL)
 	continue;
 
       /* We expect to be silent on the non-existing files.  */
-      inner = make_cleanup (xfree, filename);
-      abfd = gdb_bfd_open (filename, gnutarget, -1);
-      do_cleanups (inner);
+      abfd = gdb_bfd_open (filename.get (), gnutarget, -1);
 
       if (abfd == NULL)
 	continue;
@@ -136,13 +120,12 @@ build_id_to_debug_bfd (size_t build_id_l
       abfd.release ();
     }
 
-  do_cleanups (back_to);
   return abfd;
 }
 
 /* See build-id.h.  */
 
-char *
+std::string
 find_separate_debug_file_by_buildid (struct objfile *objfile)
 {
   const struct bfd_build_id *build_id;
@@ -163,7 +146,8 @@ find_separate_debug_file_by_buildid (str
 	warning (_("\"%s\": separate debug info file has no debug info"),
 		 bfd_get_filename (abfd.get ()));
       else if (abfd != NULL)
-	return xstrdup (bfd_get_filename (abfd.get ()));
+	return std::string (bfd_get_filename (abfd.get ()));
     }
-  return NULL;
+
+  return std::string ();
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/build-id.h ./gdb/build-id.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/build-id.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/build-id.h	2018-07-10 02:06:12.000000000 +0000
@@ -41,10 +41,10 @@ extern gdb_bfd_ref_ptr build_id_to_debug
 					      const bfd_byte *build_id);
 
 /* Find the separate debug file for OBJFILE, by using the build-id
-   associated with OBJFILE's BFD.  If successful, returns a malloc'd
-   file name for the separate debug file.  The caller must free this.
-   Otherwise, returns NULL.  */
+   associated with OBJFILE's BFD.  If successful, returns the file name for the
+   separate debug file, otherwise, return an empty string.  */
 
-extern char *find_separate_debug_file_by_buildid (struct objfile *objfile);
+extern std::string find_separate_debug_file_by_buildid
+  (struct objfile *objfile);
 
 #endif /* BUILD_ID_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/buildsym.c ./gdb/buildsym.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/buildsym.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/buildsym.c	2018-07-10 02:06:12.000000000 +0000
@@ -445,15 +445,13 @@ finish_block_internal (struct symbol *sy
     {
       if (symbol)
 	{
-	  complaint (&symfile_complaints,
-		     _("block end address less than block "
+	  complaint (_("block end address less than block "
 		       "start address in %s (patched it)"),
 		     SYMBOL_PRINT_NAME (symbol));
 	}
       else
 	{
-	  complaint (&symfile_complaints,
-		     _("block end address %s less than block "
+	  complaint (_("block end address %s less than block "
 		       "start address %s (patched it)"),
 		     paddress (gdbarch, BLOCK_END (block)),
 		     paddress (gdbarch, BLOCK_START (block)));
@@ -485,14 +483,12 @@ finish_block_internal (struct symbol *sy
 	    {
 	      if (symbol)
 		{
-		  complaint (&symfile_complaints,
-			     _("inner block not inside outer block in %s"),
+		  complaint (_("inner block not inside outer block in %s"),
 			     SYMBOL_PRINT_NAME (symbol));
 		}
 	      else
 		{
-		  complaint (&symfile_complaints,
-			     _("inner block (%s-%s) not "
+		  complaint (_("inner block (%s-%s) not "
 			       "inside outer block (%s-%s)"),
 			     paddress (gdbarch, BLOCK_START (pblock->block)),
 			     paddress (gdbarch, BLOCK_END (pblock->block)),
@@ -653,7 +649,7 @@ make_blockvector (void)
 	      CORE_ADDR start
 		= BLOCK_START (BLOCKVECTOR_BLOCK (blockvector, i));
 
-	      complaint (&symfile_complaints, _("block at %s out of order"),
+	      complaint (_("block at %s out of order"),
 			 hex_string ((LONGEST) start));
 	    }
 	}
@@ -1237,8 +1233,7 @@ end_symtab_get_static_block (CORE_ADDR e
 	     same.  FIXME: Find out why it is happening.  This is not
 	     believed to happen in most cases (even for coffread.c);
 	     it used to be an abort().  */
-	  complaint (&symfile_complaints,
-	             _("Context stack not empty in end_symtab"));
+	  complaint (_("Context stack not empty in end_symtab"));
 	  context_stack_depth = 0;
 	}
     }
@@ -1585,17 +1580,15 @@ augment_type_symtab (void)
 
   if (context_stack_depth > 0)
     {
-      complaint (&symfile_complaints,
-		 _("Context stack not empty in augment_type_symtab"));
+      complaint (_("Context stack not empty in augment_type_symtab"));
       context_stack_depth = 0;
     }
   if (pending_blocks != NULL)
-    complaint (&symfile_complaints, _("Blocks in a type symtab"));
+    complaint (_("Blocks in a type symtab"));
   if (pending_macros != NULL)
-    complaint (&symfile_complaints, _("Macro in a type symtab"));
+    complaint (_("Macro in a type symtab"));
   if (have_line_numbers)
-    complaint (&symfile_complaints,
-	       _("Line numbers recorded in a type symtab"));
+    complaint (_("Line numbers recorded in a type symtab"));
 
   if (file_symbols != 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.1.0.20180703/gdb/c-exp.c ./gdb/c-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-exp.c	2018-07-03 02:10:17.000000000 +0000
+++ ./gdb/c-exp.c	2018-07-10 02:10:05.000000000 +0000
@@ -78,6 +78,7 @@
 #include "parser-defs.h"
 #include "language.h"
 #include "c-lang.h"
+#include "c-support.h"
 #include "bfd.h" /* Required by objfiles.h.  */
 #include "symfile.h" /* Required by objfiles.h.  */
 #include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
@@ -105,14 +106,14 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static int type_aggregate_p (struct type *);
 
 
 
 /* Line 189 of yacc.c  */
-#line 116 "c-exp.c"
+#line 117 "c-exp.c.tmp"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -158,49 +159,50 @@ static int type_aggregate_p (struct type
      UNION = 274,
      ENUM = 275,
      SIZEOF = 276,
-     UNSIGNED = 277,
-     COLONCOLON = 278,
-     TEMPLATE = 279,
-     ERROR = 280,
-     NEW = 281,
-     DELETE = 282,
-     REINTERPRET_CAST = 283,
-     DYNAMIC_CAST = 284,
-     STATIC_CAST = 285,
-     CONST_CAST = 286,
-     ENTRY = 287,
-     TYPEOF = 288,
-     DECLTYPE = 289,
-     TYPEID = 290,
-     SIGNED_KEYWORD = 291,
-     LONG = 292,
-     SHORT = 293,
-     INT_KEYWORD = 294,
-     CONST_KEYWORD = 295,
-     VOLATILE_KEYWORD = 296,
-     DOUBLE_KEYWORD = 297,
-     VARIABLE = 298,
-     ASSIGN_MODIFY = 299,
-     TRUEKEYWORD = 300,
-     FALSEKEYWORD = 301,
-     ABOVE_COMMA = 302,
-     OROR = 303,
-     ANDAND = 304,
-     NOTEQUAL = 305,
-     EQUAL = 306,
-     GEQ = 307,
-     LEQ = 308,
-     RSH = 309,
-     LSH = 310,
-     DECREMENT = 311,
-     INCREMENT = 312,
-     UNARY = 313,
-     DOT_STAR = 314,
-     ARROW_STAR = 315,
-     ARROW = 316,
-     BLOCKNAME = 317,
-     FILENAME = 318,
-     DOTDOTDOT = 319
+     ALIGNOF = 277,
+     UNSIGNED = 278,
+     COLONCOLON = 279,
+     TEMPLATE = 280,
+     ERROR = 281,
+     NEW = 282,
+     DELETE = 283,
+     REINTERPRET_CAST = 284,
+     DYNAMIC_CAST = 285,
+     STATIC_CAST = 286,
+     CONST_CAST = 287,
+     ENTRY = 288,
+     TYPEOF = 289,
+     DECLTYPE = 290,
+     TYPEID = 291,
+     SIGNED_KEYWORD = 292,
+     LONG = 293,
+     SHORT = 294,
+     INT_KEYWORD = 295,
+     CONST_KEYWORD = 296,
+     VOLATILE_KEYWORD = 297,
+     DOUBLE_KEYWORD = 298,
+     VARIABLE = 299,
+     ASSIGN_MODIFY = 300,
+     TRUEKEYWORD = 301,
+     FALSEKEYWORD = 302,
+     ABOVE_COMMA = 303,
+     OROR = 304,
+     ANDAND = 305,
+     NOTEQUAL = 306,
+     EQUAL = 307,
+     GEQ = 308,
+     LEQ = 309,
+     RSH = 310,
+     LSH = 311,
+     DECREMENT = 312,
+     INCREMENT = 313,
+     UNARY = 314,
+     DOT_STAR = 315,
+     ARROW_STAR = 316,
+     ARROW = 317,
+     BLOCKNAME = 318,
+     FILENAME = 319,
+     DOTDOTDOT = 320
    };
 #endif
 /* Tokens.  */
@@ -223,49 +225,50 @@ static int type_aggregate_p (struct type
 #define UNION 274
 #define ENUM 275
 #define SIZEOF 276
-#define UNSIGNED 277
-#define COLONCOLON 278
-#define TEMPLATE 279
-#define ERROR 280
-#define NEW 281
-#define DELETE 282
-#define REINTERPRET_CAST 283
-#define DYNAMIC_CAST 284
-#define STATIC_CAST 285
-#define CONST_CAST 286
-#define ENTRY 287
-#define TYPEOF 288
-#define DECLTYPE 289
-#define TYPEID 290
-#define SIGNED_KEYWORD 291
-#define LONG 292
-#define SHORT 293
-#define INT_KEYWORD 294
-#define CONST_KEYWORD 295
-#define VOLATILE_KEYWORD 296
-#define DOUBLE_KEYWORD 297
-#define VARIABLE 298
-#define ASSIGN_MODIFY 299
-#define TRUEKEYWORD 300
-#define FALSEKEYWORD 301
-#define ABOVE_COMMA 302
-#define OROR 303
-#define ANDAND 304
-#define NOTEQUAL 305
-#define EQUAL 306
-#define GEQ 307
-#define LEQ 308
-#define RSH 309
-#define LSH 310
-#define DECREMENT 311
-#define INCREMENT 312
-#define UNARY 313
-#define DOT_STAR 314
-#define ARROW_STAR 315
-#define ARROW 316
-#define BLOCKNAME 317
-#define FILENAME 318
-#define DOTDOTDOT 319
+#define ALIGNOF 277
+#define UNSIGNED 278
+#define COLONCOLON 279
+#define TEMPLATE 280
+#define ERROR 281
+#define NEW 282
+#define DELETE 283
+#define REINTERPRET_CAST 284
+#define DYNAMIC_CAST 285
+#define STATIC_CAST 286
+#define CONST_CAST 287
+#define ENTRY 288
+#define TYPEOF 289
+#define DECLTYPE 290
+#define TYPEID 291
+#define SIGNED_KEYWORD 292
+#define LONG 293
+#define SHORT 294
+#define INT_KEYWORD 295
+#define CONST_KEYWORD 296
+#define VOLATILE_KEYWORD 297
+#define DOUBLE_KEYWORD 298
+#define VARIABLE 299
+#define ASSIGN_MODIFY 300
+#define TRUEKEYWORD 301
+#define FALSEKEYWORD 302
+#define ABOVE_COMMA 303
+#define OROR 304
+#define ANDAND 305
+#define NOTEQUAL 306
+#define EQUAL 307
+#define GEQ 308
+#define LEQ 309
+#define RSH 310
+#define LSH 311
+#define DECREMENT 312
+#define INCREMENT 313
+#define UNARY 314
+#define DOT_STAR 315
+#define ARROW_STAR 316
+#define ARROW 317
+#define BLOCKNAME 318
+#define FILENAME 319
+#define DOTDOTDOT 320
 
 
 
@@ -275,7 +278,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 83 "c-exp.y"
+#line 84 "c-exp.y"
 
     LONGEST lval;
     struct {
@@ -305,7 +308,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 309 "c-exp.c"
+#line 312 "c-exp.c.tmp"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -316,7 +319,7 @@ typedef union YYSTYPE
 /* Copy the second part of user declarations.  */
 
 /* Line 264 of yacc.c  */
-#line 110 "c-exp.y"
+#line 111 "c-exp.y"
 
 /* YYSTYPE gets defined by %union */
 static int parse_number (struct parser_state *par_state,
@@ -333,7 +336,7 @@ static void c_print_token (FILE *file, i
 
 
 /* Line 264 of yacc.c  */
-#line 337 "c-exp.c"
+#line 340 "c-exp.c.tmp"
 
 #ifdef short
 # undef short
@@ -545,22 +548,22 @@ union yyalloc
 #endif
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  169
+#define YYFINAL  171
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1725
+#define YYLAST   1689
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  89
+#define YYNTOKENS  90
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  49
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  267
+#define YYNRULES  268
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  421
+#define YYNSTATES  425
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   319
+#define YYMAXUTOK   320
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -571,16 +574,16 @@ static const yytype_uint8 yytranslate[] 
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    83,     2,     2,     2,    69,    55,     2,
-      75,    82,    67,    65,    47,    66,    73,    68,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,    86,     2,
-      58,    49,    59,    50,    64,     2,     2,     2,     2,     2,
+       2,     2,     2,    84,     2,     2,     2,    70,    56,     2,
+      76,    83,    68,    66,    48,    67,    74,    69,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    87,     2,
+      59,    50,    60,    51,    65,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,    74,     2,    85,    54,     2,     2,     2,     2,     2,
+       2,    75,     2,    86,    55,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    87,    53,    88,    84,     2,     2,     2,
+       2,     2,     2,    88,    54,    89,    85,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -598,8 +601,9 @@ static const yytype_uint8 yytranslate[] 
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    48,    51,    52,    56,    57,    60,    61,    62,
-      63,    70,    71,    72,    76,    77,    78,    79,    80,    81
+      45,    46,    47,    49,    52,    53,    57,    58,    61,    62,
+      63,    64,    71,    72,    73,    77,    78,    79,    80,    81,
+      82
 };
 
 #if YYDEBUG
@@ -609,157 +613,157 @@ static const yytype_uint16 yyprhs[] =
 {
        0,     0,     3,     5,     7,     9,    14,    19,    24,    26,
       30,    33,    36,    39,    42,    45,    48,    51,    54,    57,
-      60,    65,    70,    73,    77,    82,    86,    91,    97,   101,
-     105,   109,   114,   118,   123,   129,   133,   137,   142,   147,
-     148,   154,   155,   161,   162,   168,   170,   172,   174,   177,
-     181,   184,   187,   188,   194,   198,   199,   205,   207,   208,
-     210,   214,   220,   225,   227,   229,   231,   235,   237,   241,
-     246,   251,   255,   259,   263,   267,   271,   275,   279,   283,
-     287,   291,   295,   299,   303,   307,   311,   315,   319,   323,
-     327,   331,   337,   341,   345,   347,   349,   351,   353,   355,
-     357,   362,   367,   375,   383,   391,   399,   401,   404,   406,
-     408,   410,   412,   414,   416,   420,   423,   427,   431,   436,
-     442,   444,   447,   449,   452,   454,   455,   459,   461,   463,
-     465,   466,   467,   472,   473,   477,   479,   482,   484,   487,
-     489,   492,   494,   496,   500,   503,   505,   508,   510,   513,
-     516,   520,   524,   527,   531,   533,   535,   537,   539,   541,
-     544,   548,   551,   555,   559,   563,   566,   569,   573,   578,
-     582,   586,   591,   595,   600,   604,   609,   612,   616,   619,
-     623,   626,   630,   632,   635,   638,   641,   645,   648,   651,
-     655,   658,   661,   665,   668,   671,   675,   678,   680,   683,
-     685,   691,   694,   697,   699,   701,   703,   705,   707,   711,
-     713,   717,   719,   722,   725,   726,   729,   732,   735,   737,
-     739,   741,   744,   747,   752,   757,   762,   767,   770,   773,
-     776,   779,   782,   785,   788,   791,   794,   797,   800,   803,
-     806,   809,   812,   815,   818,   821,   824,   827,   830,   833,
-     836,   839,   842,   845,   848,   852,   856,   860,   863,   865,
-     867,   869,   871,   873,   875,   877,   879,   881
+      60,    65,    70,    73,    78,    82,    87,    91,    96,   102,
+     106,   110,   114,   119,   123,   128,   134,   138,   142,   147,
+     152,   153,   159,   160,   166,   167,   173,   175,   177,   179,
+     182,   186,   189,   192,   193,   199,   203,   204,   210,   212,
+     213,   215,   219,   225,   230,   232,   234,   236,   240,   242,
+     246,   251,   256,   260,   264,   268,   272,   276,   280,   284,
+     288,   292,   296,   300,   304,   308,   312,   316,   320,   324,
+     328,   332,   336,   342,   346,   350,   352,   354,   356,   358,
+     360,   362,   367,   372,   380,   388,   396,   404,   406,   409,
+     411,   413,   415,   417,   419,   421,   425,   428,   432,   436,
+     441,   447,   449,   452,   454,   457,   459,   460,   464,   466,
+     468,   470,   471,   472,   477,   478,   482,   484,   487,   489,
+     492,   494,   497,   499,   501,   505,   508,   510,   513,   515,
+     518,   521,   525,   529,   532,   536,   538,   540,   542,   544,
+     546,   549,   553,   556,   560,   564,   568,   571,   574,   578,
+     583,   587,   591,   596,   600,   605,   609,   614,   617,   621,
+     624,   628,   631,   635,   637,   640,   643,   646,   650,   653,
+     656,   660,   663,   666,   670,   673,   676,   680,   683,   685,
+     688,   690,   696,   699,   702,   704,   706,   708,   710,   712,
+     716,   718,   722,   724,   727,   730,   731,   734,   737,   740,
+     742,   744,   746,   749,   752,   757,   762,   767,   772,   775,
+     778,   781,   784,   787,   790,   793,   796,   799,   802,   805,
+     808,   811,   814,   817,   820,   823,   826,   829,   832,   835,
+     838,   841,   844,   847,   850,   853,   857,   861,   865,   868,
+     870,   872,   874,   876,   878,   880,   882,   884,   886
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int16 yyrhs[] =
 {
-      90,     0,    -1,    92,    -1,    91,    -1,   125,    -1,    33,
-      75,    93,    82,    -1,    33,    75,   125,    82,    -1,    34,
-      75,    93,    82,    -1,    93,    -1,    92,    47,    93,    -1,
-      67,    93,    -1,    55,    93,    -1,    66,    93,    -1,    65,
-      93,    -1,    83,    93,    -1,    84,    93,    -1,    71,    93,
-      -1,    70,    93,    -1,    93,    71,    -1,    93,    70,    -1,
-      35,    75,    93,    82,    -1,    35,    75,    91,    82,    -1,
-      21,    93,    -1,    93,    78,   136,    -1,    93,    78,   136,
-      11,    -1,    93,    78,    11,    -1,    93,    78,    84,   136,
-      -1,    93,    78,    84,   136,    11,    -1,    93,    78,   111,
-      -1,    93,    77,    93,    -1,    93,    73,   136,    -1,    93,
-      73,   136,    11,    -1,    93,    73,    11,    -1,    93,    73,
-      84,   136,    -1,    93,    73,    84,   136,    11,    -1,    93,
-      73,   111,    -1,    93,    76,    93,    -1,    93,    74,    92,
-      85,    -1,    93,    14,    92,    85,    -1,    -1,    14,    12,
-      94,    97,    85,    -1,    -1,    14,    13,    95,    97,    85,
-      -1,    -1,    14,    93,    96,    97,    85,    -1,   136,    -1,
-      98,    -1,    99,    -1,    98,    99,    -1,   136,    86,    93,
-      -1,    86,    93,    -1,    47,    93,    -1,    -1,    93,    75,
-     100,   103,    82,    -1,    93,    75,    82,    -1,    -1,    10,
-      75,   101,   103,    82,    -1,    87,    -1,    -1,    93,    -1,
-     103,    47,    93,    -1,    93,    75,   128,    82,   113,    -1,
-      93,    75,    82,   113,    -1,   104,    -1,   104,    -1,   105,
-      -1,   106,    23,   136,    -1,    88,    -1,   102,   103,   107,
-      -1,   102,    91,   107,    93,    -1,    75,    91,    82,    93,
-      -1,    75,    92,    82,    -1,    93,    64,    93,    -1,    93,
-      67,    93,    -1,    93,    68,    93,    -1,    93,    69,    93,
-      -1,    93,    65,    93,    -1,    93,    66,    93,    -1,    93,
-      63,    93,    -1,    93,    62,    93,    -1,    93,    57,    93,
-      -1,    93,    56,    93,    -1,    93,    61,    93,    -1,    93,
-      60,    93,    -1,    93,    58,    93,    -1,    93,    59,    93,
-      -1,    93,    55,    93,    -1,    93,    54,    93,    -1,    93,
-      53,    93,    -1,    93,    52,    93,    -1,    93,    51,    93,
-      -1,    93,    50,    93,    86,    93,    -1,    93,    49,    93,
-      -1,    93,    44,    93,    -1,     3,    -1,     8,    -1,    15,
-      -1,     4,    -1,   110,    -1,    43,    -1,     7,    75,   136,
-      82,    -1,    21,    75,   125,    82,    -1,    28,    58,    91,
-      59,    75,    93,    82,    -1,    30,    58,    91,    59,    75,
-      93,    82,    -1,    29,    58,    91,    59,    75,    93,    82,
-      -1,    31,    58,    91,    59,    75,    93,    82,    -1,     5,
-      -1,   108,     5,    -1,   108,    -1,     6,    -1,    45,    -1,
-      46,    -1,    79,    -1,    80,    -1,   109,    23,   136,    -1,
-     137,    32,    -1,   109,    23,   136,    -1,    12,    23,   136,
-      -1,    12,    23,    84,   136,    -1,    12,    23,   136,    23,
-     136,    -1,   111,    -1,    23,   137,    -1,   137,    -1,    64,
-       9,    -1,   134,    -1,    -1,   113,   112,   113,    -1,   114,
-      -1,   134,    -1,   115,    -1,    -1,    -1,   117,    67,   118,
-     116,    -1,    -1,    67,   119,   116,    -1,    55,    -1,    55,
-     117,    -1,    52,    -1,    52,   117,    -1,   117,    -1,   120,
-     122,    -1,   120,    -1,   122,    -1,    75,   121,    82,    -1,
-     122,   123,    -1,   123,    -1,   122,   124,    -1,   124,    -1,
-      74,    85,    -1,    14,    85,    -1,    74,     3,    85,    -1,
-      14,     3,    85,    -1,    75,    82,    -1,    75,   128,    82,
-      -1,   130,    -1,    12,    -1,    39,    -1,    37,    -1,    38,
-      -1,    37,    39,    -1,    37,    36,    39,    -1,    37,    36,
-      -1,    36,    37,    39,    -1,    22,    37,    39,    -1,    37,
-      22,    39,    -1,    37,    22,    -1,    37,    37,    -1,    37,
-      37,    39,    -1,    37,    37,    36,    39,    -1,    37,    37,
-      36,    -1,    36,    37,    37,    -1,    36,    37,    37,    39,
-      -1,    22,    37,    37,    -1,    22,    37,    37,    39,    -1,
-      37,    37,    22,    -1,    37,    37,    22,    39,    -1,    38,
-      39,    -1,    38,    36,    39,    -1,    38,    36,    -1,    22,
-      38,    39,    -1,    38,    22,    -1,    38,    22,    39,    -1,
-      42,    -1,    37,    42,    -1,    17,   136,    -1,    17,    11,
-      -1,    17,   136,    11,    -1,    18,   136,    -1,    18,    11,
-      -1,    18,   136,    11,    -1,    19,   136,    -1,    19,    11,
-      -1,    19,   136,    11,    -1,    20,   136,    -1,    20,    11,
-      -1,    20,   136,    11,    -1,    22,   127,    -1,    22,    -1,
-      36,   127,    -1,    36,    -1,    24,   136,    58,   125,    59,
-      -1,   115,   126,    -1,   126,   115,    -1,    12,    -1,    39,
-      -1,    37,    -1,    38,    -1,   129,    -1,   129,    47,    81,
-      -1,   125,    -1,   129,    47,   125,    -1,   126,    -1,   130,
-     121,    -1,   126,   132,    -1,    -1,   117,   132,    -1,    40,
-      41,    -1,    41,    40,    -1,   133,    -1,    40,    -1,    41,
-      -1,    16,    26,    -1,    16,    27,    -1,    16,    26,    74,
-      85,    -1,    16,    27,    74,    85,    -1,    16,    26,    14,
-      85,    -1,    16,    27,    14,    85,    -1,    16,    65,    -1,
-      16,    66,    -1,    16,    67,    -1,    16,    68,    -1,    16,
-      69,    -1,    16,    54,    -1,    16,    55,    -1,    16,    53,
-      -1,    16,    84,    -1,    16,    83,    -1,    16,    49,    -1,
-      16,    58,    -1,    16,    59,    -1,    16,    44,    -1,    16,
-      63,    -1,    16,    62,    -1,    16,    57,    -1,    16,    56,
-      -1,    16,    61,    -1,    16,    60,    -1,    16,    52,    -1,
-      16,    51,    -1,    16,    71,    -1,    16,    70,    -1,    16,
-      47,    -1,    16,    77,    -1,    16,    78,    -1,    16,    75,
-      82,    -1,    16,    74,    85,    -1,    16,    14,    85,    -1,
-      16,   131,    -1,     9,    -1,    79,    -1,    12,    -1,    15,
-      -1,    10,    -1,   135,    -1,     9,    -1,    79,    -1,   135,
-      -1,    10,    -1
+      91,     0,    -1,    93,    -1,    92,    -1,   126,    -1,    34,
+      76,    94,    83,    -1,    34,    76,   126,    83,    -1,    35,
+      76,    94,    83,    -1,    94,    -1,    93,    48,    94,    -1,
+      68,    94,    -1,    56,    94,    -1,    67,    94,    -1,    66,
+      94,    -1,    84,    94,    -1,    85,    94,    -1,    72,    94,
+      -1,    71,    94,    -1,    94,    72,    -1,    94,    71,    -1,
+      36,    76,    94,    83,    -1,    36,    76,    92,    83,    -1,
+      21,    94,    -1,    22,    76,    92,    83,    -1,    94,    79,
+     137,    -1,    94,    79,   137,    11,    -1,    94,    79,    11,
+      -1,    94,    79,    85,   137,    -1,    94,    79,    85,   137,
+      11,    -1,    94,    79,   112,    -1,    94,    78,    94,    -1,
+      94,    74,   137,    -1,    94,    74,   137,    11,    -1,    94,
+      74,    11,    -1,    94,    74,    85,   137,    -1,    94,    74,
+      85,   137,    11,    -1,    94,    74,   112,    -1,    94,    77,
+      94,    -1,    94,    75,    93,    86,    -1,    94,    14,    93,
+      86,    -1,    -1,    14,    12,    95,    98,    86,    -1,    -1,
+      14,    13,    96,    98,    86,    -1,    -1,    14,    94,    97,
+      98,    86,    -1,   137,    -1,    99,    -1,   100,    -1,    99,
+     100,    -1,   137,    87,    94,    -1,    87,    94,    -1,    48,
+      94,    -1,    -1,    94,    76,   101,   104,    83,    -1,    94,
+      76,    83,    -1,    -1,    10,    76,   102,   104,    83,    -1,
+      88,    -1,    -1,    94,    -1,   104,    48,    94,    -1,    94,
+      76,   129,    83,   114,    -1,    94,    76,    83,   114,    -1,
+     105,    -1,   105,    -1,   106,    -1,   107,    24,   137,    -1,
+      89,    -1,   103,   104,   108,    -1,   103,    92,   108,    94,
+      -1,    76,    92,    83,    94,    -1,    76,    93,    83,    -1,
+      94,    65,    94,    -1,    94,    68,    94,    -1,    94,    69,
+      94,    -1,    94,    70,    94,    -1,    94,    66,    94,    -1,
+      94,    67,    94,    -1,    94,    64,    94,    -1,    94,    63,
+      94,    -1,    94,    58,    94,    -1,    94,    57,    94,    -1,
+      94,    62,    94,    -1,    94,    61,    94,    -1,    94,    59,
+      94,    -1,    94,    60,    94,    -1,    94,    56,    94,    -1,
+      94,    55,    94,    -1,    94,    54,    94,    -1,    94,    53,
+      94,    -1,    94,    52,    94,    -1,    94,    51,    94,    87,
+      94,    -1,    94,    50,    94,    -1,    94,    45,    94,    -1,
+       3,    -1,     8,    -1,    15,    -1,     4,    -1,   111,    -1,
+      44,    -1,     7,    76,   137,    83,    -1,    21,    76,   126,
+      83,    -1,    29,    59,    92,    60,    76,    94,    83,    -1,
+      31,    59,    92,    60,    76,    94,    83,    -1,    30,    59,
+      92,    60,    76,    94,    83,    -1,    32,    59,    92,    60,
+      76,    94,    83,    -1,     5,    -1,   109,     5,    -1,   109,
+      -1,     6,    -1,    46,    -1,    47,    -1,    80,    -1,    81,
+      -1,   110,    24,   137,    -1,   138,    33,    -1,   110,    24,
+     137,    -1,    12,    24,   137,    -1,    12,    24,    85,   137,
+      -1,    12,    24,   137,    24,   137,    -1,   112,    -1,    24,
+     138,    -1,   138,    -1,    65,     9,    -1,   135,    -1,    -1,
+     114,   113,   114,    -1,   115,    -1,   135,    -1,   116,    -1,
+      -1,    -1,   118,    68,   119,   117,    -1,    -1,    68,   120,
+     117,    -1,    56,    -1,    56,   118,    -1,    53,    -1,    53,
+     118,    -1,   118,    -1,   121,   123,    -1,   121,    -1,   123,
+      -1,    76,   122,    83,    -1,   123,   124,    -1,   124,    -1,
+     123,   125,    -1,   125,    -1,    75,    86,    -1,    14,    86,
+      -1,    75,     3,    86,    -1,    14,     3,    86,    -1,    76,
+      83,    -1,    76,   129,    83,    -1,   131,    -1,    12,    -1,
+      40,    -1,    38,    -1,    39,    -1,    38,    40,    -1,    38,
+      37,    40,    -1,    38,    37,    -1,    37,    38,    40,    -1,
+      23,    38,    40,    -1,    38,    23,    40,    -1,    38,    23,
+      -1,    38,    38,    -1,    38,    38,    40,    -1,    38,    38,
+      37,    40,    -1,    38,    38,    37,    -1,    37,    38,    38,
+      -1,    37,    38,    38,    40,    -1,    23,    38,    38,    -1,
+      23,    38,    38,    40,    -1,    38,    38,    23,    -1,    38,
+      38,    23,    40,    -1,    39,    40,    -1,    39,    37,    40,
+      -1,    39,    37,    -1,    23,    39,    40,    -1,    39,    23,
+      -1,    39,    23,    40,    -1,    43,    -1,    38,    43,    -1,
+      17,   137,    -1,    17,    11,    -1,    17,   137,    11,    -1,
+      18,   137,    -1,    18,    11,    -1,    18,   137,    11,    -1,
+      19,   137,    -1,    19,    11,    -1,    19,   137,    11,    -1,
+      20,   137,    -1,    20,    11,    -1,    20,   137,    11,    -1,
+      23,   128,    -1,    23,    -1,    37,   128,    -1,    37,    -1,
+      25,   137,    59,   126,    60,    -1,   116,   127,    -1,   127,
+     116,    -1,    12,    -1,    40,    -1,    38,    -1,    39,    -1,
+     130,    -1,   130,    48,    82,    -1,   126,    -1,   130,    48,
+     126,    -1,   127,    -1,   131,   122,    -1,   127,   133,    -1,
+      -1,   118,   133,    -1,    41,    42,    -1,    42,    41,    -1,
+     134,    -1,    41,    -1,    42,    -1,    16,    27,    -1,    16,
+      28,    -1,    16,    27,    75,    86,    -1,    16,    28,    75,
+      86,    -1,    16,    27,    14,    86,    -1,    16,    28,    14,
+      86,    -1,    16,    66,    -1,    16,    67,    -1,    16,    68,
+      -1,    16,    69,    -1,    16,    70,    -1,    16,    55,    -1,
+      16,    56,    -1,    16,    54,    -1,    16,    85,    -1,    16,
+      84,    -1,    16,    50,    -1,    16,    59,    -1,    16,    60,
+      -1,    16,    45,    -1,    16,    64,    -1,    16,    63,    -1,
+      16,    58,    -1,    16,    57,    -1,    16,    62,    -1,    16,
+      61,    -1,    16,    53,    -1,    16,    52,    -1,    16,    72,
+      -1,    16,    71,    -1,    16,    48,    -1,    16,    78,    -1,
+      16,    79,    -1,    16,    76,    83,    -1,    16,    75,    86,
+      -1,    16,    14,    86,    -1,    16,   132,    -1,     9,    -1,
+      80,    -1,    12,    -1,    15,    -1,    10,    -1,   136,    -1,
+       9,    -1,    80,    -1,   136,    -1,    10,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   227,   227,   228,   231,   235,   239,   245,   252,   253,
-     258,   262,   266,   270,   274,   278,   282,   286,   290,   294,
-     298,   302,   306,   310,   316,   323,   333,   339,   346,   354,
-     358,   364,   371,   381,   387,   394,   402,   406,   410,   420,
-     419,   443,   442,   459,   458,   467,   469,   472,   473,   476,
-     478,   480,   487,   484,   498,   508,   507,   533,   537,   540,
-     544,   548,   571,   582,   589,   590,   593,   601,   604,   611,
-     615,   619,   625,   629,   633,   637,   641,   645,   649,   653,
-     657,   661,   665,   669,   673,   677,   681,   685,   689,   693,
-     697,   701,   705,   709,   716,   723,   732,   745,   752,   755,
-     761,   768,   788,   793,   797,   801,   808,   825,   843,   876,
-     885,   893,   903,   911,   917,   928,   943,   965,   978,  1002,
-    1011,  1012,  1040,  1111,  1115,  1116,  1119,  1122,  1123,  1127,
-    1128,  1133,  1132,  1136,  1135,  1138,  1140,  1142,  1144,  1148,
-    1157,  1159,  1160,  1163,  1165,  1172,  1179,  1185,  1192,  1194,
-    1196,  1198,  1202,  1204,  1216,  1220,  1222,  1226,  1230,  1234,
-    1238,  1242,  1246,  1250,  1254,  1258,  1262,  1266,  1270,  1274,
-    1278,  1282,  1286,  1290,  1294,  1298,  1302,  1306,  1310,  1314,
-    1318,  1322,  1326,  1332,  1338,  1341,  1346,  1352,  1355,  1360,
-    1366,  1369,  1374,  1380,  1383,  1388,  1394,  1398,  1402,  1406,
-    1413,  1417,  1419,  1423,  1424,  1432,  1440,  1451,  1453,  1462,
-    1468,  1475,  1476,  1483,  1487,  1488,  1491,  1492,  1495,  1499,
-    1501,  1505,  1507,  1509,  1511,  1513,  1515,  1517,  1519,  1521,
-    1523,  1525,  1527,  1529,  1531,  1533,  1535,  1537,  1539,  1541,
-    1543,  1583,  1585,  1587,  1589,  1591,  1593,  1595,  1597,  1599,
-    1601,  1603,  1605,  1607,  1609,  1611,  1613,  1615,  1632,  1633,
-    1634,  1635,  1636,  1637,  1640,  1641,  1649,  1661
+       0,   228,   228,   229,   232,   236,   240,   246,   253,   254,
+     259,   263,   267,   271,   275,   279,   283,   287,   291,   295,
+     299,   303,   307,   311,   315,   321,   328,   338,   344,   351,
+     359,   363,   369,   376,   386,   392,   399,   407,   411,   415,
+     425,   424,   448,   447,   464,   463,   472,   474,   477,   478,
+     481,   483,   485,   492,   489,   503,   513,   512,   538,   542,
+     545,   549,   553,   576,   587,   594,   595,   598,   606,   609,
+     616,   620,   624,   630,   634,   638,   642,   646,   650,   654,
+     658,   662,   666,   670,   674,   678,   682,   686,   690,   694,
+     698,   702,   706,   710,   714,   721,   728,   737,   750,   757,
+     760,   766,   773,   793,   798,   802,   806,   813,   830,   848,
+     881,   890,   898,   908,   916,   922,   933,   948,   966,   979,
+    1003,  1012,  1013,  1041,  1119,  1123,  1124,  1127,  1130,  1131,
+    1135,  1136,  1141,  1140,  1144,  1143,  1146,  1148,  1150,  1152,
+    1156,  1165,  1167,  1168,  1171,  1173,  1180,  1187,  1193,  1200,
+    1202,  1204,  1206,  1210,  1212,  1224,  1228,  1230,  1234,  1238,
+    1242,  1246,  1250,  1254,  1258,  1262,  1266,  1270,  1274,  1278,
+    1282,  1286,  1290,  1294,  1298,  1302,  1306,  1310,  1314,  1318,
+    1322,  1326,  1330,  1334,  1340,  1346,  1349,  1354,  1360,  1363,
+    1368,  1374,  1377,  1382,  1388,  1391,  1396,  1402,  1406,  1410,
+    1414,  1421,  1425,  1427,  1431,  1432,  1440,  1448,  1459,  1461,
+    1470,  1476,  1483,  1484,  1491,  1495,  1496,  1499,  1500,  1503,
+    1507,  1509,  1513,  1515,  1517,  1519,  1521,  1523,  1525,  1527,
+    1529,  1531,  1533,  1535,  1537,  1539,  1541,  1543,  1545,  1547,
+    1549,  1551,  1591,  1593,  1595,  1597,  1599,  1601,  1603,  1605,
+    1607,  1609,  1611,  1613,  1615,  1617,  1619,  1621,  1623,  1640,
+    1641,  1642,  1643,  1644,  1645,  1648,  1649,  1657,  1669
 };
 #endif
 
@@ -771,22 +775,23 @@ static const char *const yytname[] =
   "$end", "error", "$undefined", "INT", "FLOAT", "STRING", "NSSTRING",
   "SELECTOR", "CHAR", "NAME", "UNKNOWN_CPP_NAME", "COMPLETE", "TYPENAME",
   "CLASSNAME", "OBJC_LBRAC", "NAME_OR_INT", "OPERATOR", "STRUCT", "CLASS",
-  "UNION", "ENUM", "SIZEOF", "UNSIGNED", "COLONCOLON", "TEMPLATE", "ERROR",
-  "NEW", "DELETE", "REINTERPRET_CAST", "DYNAMIC_CAST", "STATIC_CAST",
-  "CONST_CAST", "ENTRY", "TYPEOF", "DECLTYPE", "TYPEID", "SIGNED_KEYWORD",
-  "LONG", "SHORT", "INT_KEYWORD", "CONST_KEYWORD", "VOLATILE_KEYWORD",
-  "DOUBLE_KEYWORD", "VARIABLE", "ASSIGN_MODIFY", "TRUEKEYWORD",
-  "FALSEKEYWORD", "','", "ABOVE_COMMA", "'='", "'?'", "OROR", "ANDAND",
-  "'|'", "'^'", "'&'", "NOTEQUAL", "EQUAL", "'<'", "'>'", "GEQ", "LEQ",
-  "RSH", "LSH", "'@'", "'+'", "'-'", "'*'", "'/'", "'%'", "DECREMENT",
-  "INCREMENT", "UNARY", "'.'", "'['", "'('", "DOT_STAR", "ARROW_STAR",
-  "ARROW", "BLOCKNAME", "FILENAME", "DOTDOTDOT", "')'", "'!'", "'~'",
-  "']'", "':'", "'{'", "'}'", "$accept", "start", "type_exp", "exp1",
-  "exp", "$@1", "$@2", "$@3", "msglist", "msgarglist", "msgarg", "$@4",
-  "$@5", "lcurly", "arglist", "function_method", "function_method_void",
-  "function_method_void_or_typelist", "rcurly", "string_exp", "block",
-  "variable", "qualified_name", "space_identifier", "const_or_volatile",
-  "cv_with_space_id", "const_or_volatile_or_space_identifier_noopt",
+  "UNION", "ENUM", "SIZEOF", "ALIGNOF", "UNSIGNED", "COLONCOLON",
+  "TEMPLATE", "ERROR", "NEW", "DELETE", "REINTERPRET_CAST", "DYNAMIC_CAST",
+  "STATIC_CAST", "CONST_CAST", "ENTRY", "TYPEOF", "DECLTYPE", "TYPEID",
+  "SIGNED_KEYWORD", "LONG", "SHORT", "INT_KEYWORD", "CONST_KEYWORD",
+  "VOLATILE_KEYWORD", "DOUBLE_KEYWORD", "VARIABLE", "ASSIGN_MODIFY",
+  "TRUEKEYWORD", "FALSEKEYWORD", "','", "ABOVE_COMMA", "'='", "'?'",
+  "OROR", "ANDAND", "'|'", "'^'", "'&'", "NOTEQUAL", "EQUAL", "'<'", "'>'",
+  "GEQ", "LEQ", "RSH", "LSH", "'@'", "'+'", "'-'", "'*'", "'/'", "'%'",
+  "DECREMENT", "INCREMENT", "UNARY", "'.'", "'['", "'('", "DOT_STAR",
+  "ARROW_STAR", "ARROW", "BLOCKNAME", "FILENAME", "DOTDOTDOT", "')'",
+  "'!'", "'~'", "']'", "':'", "'{'", "'}'", "$accept", "start", "type_exp",
+  "exp1", "exp", "$@1", "$@2", "$@3", "msglist", "msgarglist", "msgarg",
+  "$@4", "$@5", "lcurly", "arglist", "function_method",
+  "function_method_void", "function_method_void_or_typelist", "rcurly",
+  "string_exp", "block", "variable", "qualified_name", "space_identifier",
+  "const_or_volatile", "cv_with_space_id",
+  "const_or_volatile_or_space_identifier_noopt",
   "const_or_volatile_or_space_identifier", "ptr_operator", "$@6", "$@7",
   "ptr_operator_ts", "abs_decl", "direct_abs_decl", "array_mod",
   "func_mod", "type", "typebase", "type_name", "parameter_typelist",
@@ -805,44 +810,44 @@ static const yytype_uint16 yytoknum[] =
      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
-     295,   296,   297,   298,   299,   300,   301,    44,   302,    61,
-      63,   303,   304,   124,    94,    38,   305,   306,    60,    62,
-     307,   308,   309,   310,    64,    43,    45,    42,    47,    37,
-     311,   312,   313,    46,    91,    40,   314,   315,   316,   317,
-     318,   319,    41,    33,   126,    93,    58,   123,   125
+     295,   296,   297,   298,   299,   300,   301,   302,    44,   303,
+      61,    63,   304,   305,   124,    94,    38,   306,   307,    60,
+      62,   308,   309,   310,   311,    64,    43,    45,    42,    47,
+      37,   312,   313,   314,    46,    91,    40,   315,   316,   317,
+     318,   319,   320,    41,    33,   126,    93,    58,   123,   125
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,    89,    90,    90,    91,    91,    91,    91,    92,    92,
-      93,    93,    93,    93,    93,    93,    93,    93,    93,    93,
-      93,    93,    93,    93,    93,    93,    93,    93,    93,    93,
-      93,    93,    93,    93,    93,    93,    93,    93,    93,    94,
-      93,    95,    93,    96,    93,    97,    97,    98,    98,    99,
-      99,    99,   100,    93,    93,   101,    93,   102,   103,   103,
-     103,   104,   105,    93,   106,   106,    93,   107,    93,    93,
-      93,    93,    93,    93,    93,    93,    93,    93,    93,    93,
-      93,    93,    93,    93,    93,    93,    93,    93,    93,    93,
-      93,    93,    93,    93,    93,    93,    93,    93,    93,    93,
-      93,    93,    93,    93,    93,    93,   108,   108,    93,    93,
-      93,    93,   109,   109,   109,   110,   110,   111,   111,   111,
-     110,   110,   110,   112,   113,   113,   114,   115,   115,   116,
-     116,   118,   117,   119,   117,   117,   117,   117,   117,   120,
-     121,   121,   121,   122,   122,   122,   122,   122,   123,   123,
-     123,   123,   124,   124,   125,   126,   126,   126,   126,   126,
-     126,   126,   126,   126,   126,   126,   126,   126,   126,   126,
-     126,   126,   126,   126,   126,   126,   126,   126,   126,   126,
-     126,   126,   126,   126,   126,   126,   126,   126,   126,   126,
-     126,   126,   126,   126,   126,   126,   126,   126,   126,   126,
-     126,   126,   126,   127,   127,   127,   127,   128,   128,   129,
-     129,   130,   130,   131,   132,   132,   133,   133,   134,   134,
-     134,   135,   135,   135,   135,   135,   135,   135,   135,   135,
-     135,   135,   135,   135,   135,   135,   135,   135,   135,   135,
-     135,   135,   135,   135,   135,   135,   135,   135,   135,   135,
-     135,   135,   135,   135,   135,   135,   135,   135,   136,   136,
-     136,   136,   136,   136,   137,   137,   137,   137
+       0,    90,    91,    91,    92,    92,    92,    92,    93,    93,
+      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
+      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
+      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
+      95,    94,    96,    94,    97,    94,    98,    98,    99,    99,
+     100,   100,   100,   101,    94,    94,   102,    94,   103,   104,
+     104,   104,   105,   106,    94,   107,   107,    94,   108,    94,
+      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
+      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
+      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
+      94,    94,    94,    94,    94,    94,    94,   109,   109,    94,
+      94,    94,    94,   110,   110,   110,   111,   111,   112,   112,
+     112,   111,   111,   111,   113,   114,   114,   115,   116,   116,
+     117,   117,   119,   118,   120,   118,   118,   118,   118,   118,
+     121,   122,   122,   122,   123,   123,   123,   123,   123,   124,
+     124,   124,   124,   125,   125,   126,   127,   127,   127,   127,
+     127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
+     127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
+     127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
+     127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
+     127,   127,   127,   127,   128,   128,   128,   128,   129,   129,
+     130,   130,   131,   131,   132,   133,   133,   134,   134,   135,
+     135,   135,   136,   136,   136,   136,   136,   136,   136,   136,
+     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
+     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
+     136,   136,   136,   136,   136,   136,   136,   136,   136,   137,
+     137,   137,   137,   137,   137,   138,   138,   138,   138
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -850,31 +855,31 @@ static const yytype_uint8 yyr2[] =
 {
        0,     2,     1,     1,     1,     4,     4,     4,     1,     3,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       4,     4,     2,     3,     4,     3,     4,     5,     3,     3,
-       3,     4,     3,     4,     5,     3,     3,     4,     4,     0,
-       5,     0,     5,     0,     5,     1,     1,     1,     2,     3,
-       2,     2,     0,     5,     3,     0,     5,     1,     0,     1,
-       3,     5,     4,     1,     1,     1,     3,     1,     3,     4,
-       4,     3,     3,     3,     3,     3,     3,     3,     3,     3,
+       4,     4,     2,     4,     3,     4,     3,     4,     5,     3,
+       3,     3,     4,     3,     4,     5,     3,     3,     4,     4,
+       0,     5,     0,     5,     0,     5,     1,     1,     1,     2,
+       3,     2,     2,     0,     5,     3,     0,     5,     1,     0,
+       1,     3,     5,     4,     1,     1,     1,     3,     1,     3,
+       4,     4,     3,     3,     3,     3,     3,     3,     3,     3,
        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     5,     3,     3,     1,     1,     1,     1,     1,     1,
-       4,     4,     7,     7,     7,     7,     1,     2,     1,     1,
-       1,     1,     1,     1,     3,     2,     3,     3,     4,     5,
-       1,     2,     1,     2,     1,     0,     3,     1,     1,     1,
-       0,     0,     4,     0,     3,     1,     2,     1,     2,     1,
-       2,     1,     1,     3,     2,     1,     2,     1,     2,     2,
-       3,     3,     2,     3,     1,     1,     1,     1,     1,     2,
-       3,     2,     3,     3,     3,     2,     2,     3,     4,     3,
-       3,     4,     3,     4,     3,     4,     2,     3,     2,     3,
-       2,     3,     1,     2,     2,     2,     3,     2,     2,     3,
-       2,     2,     3,     2,     2,     3,     2,     1,     2,     1,
-       5,     2,     2,     1,     1,     1,     1,     1,     3,     1,
-       3,     1,     2,     2,     0,     2,     2,     2,     1,     1,
-       1,     2,     2,     4,     4,     4,     4,     2,     2,     2,
+       3,     3,     5,     3,     3,     1,     1,     1,     1,     1,
+       1,     4,     4,     7,     7,     7,     7,     1,     2,     1,
+       1,     1,     1,     1,     1,     3,     2,     3,     3,     4,
+       5,     1,     2,     1,     2,     1,     0,     3,     1,     1,
+       1,     0,     0,     4,     0,     3,     1,     2,     1,     2,
+       1,     2,     1,     1,     3,     2,     1,     2,     1,     2,
+       2,     3,     3,     2,     3,     1,     1,     1,     1,     1,
+       2,     3,     2,     3,     3,     3,     2,     2,     3,     4,
+       3,     3,     4,     3,     4,     3,     4,     2,     3,     2,
+       3,     2,     3,     1,     2,     2,     2,     3,     2,     2,
+       3,     2,     2,     3,     2,     2,     3,     2,     1,     2,
+       1,     5,     2,     2,     1,     1,     1,     1,     1,     3,
+       1,     3,     1,     2,     2,     0,     2,     2,     2,     1,
+       1,     1,     2,     2,     4,     4,     4,     4,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     3,     3,     3,     2,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1
+       2,     2,     2,     2,     2,     3,     3,     3,     2,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -882,478 +887,470 @@ static const yytype_uint8 yyr2[] =
    means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-     125,    94,    97,   106,   109,     0,    95,   264,   267,   155,
-       0,    96,   125,     0,     0,     0,     0,     0,   197,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   199,   157,
-     158,   156,   219,   220,   182,    99,   110,   111,     0,     0,
-       0,     0,     0,     0,   125,   265,   113,     0,     0,    57,
-       0,     3,     2,     8,    58,    63,    65,     0,   108,     0,
-      98,   120,     0,   127,   125,     4,   211,   154,   218,   128,
-     266,   122,     0,    55,     0,    39,    41,    43,   155,     0,
-     221,   222,   240,   251,   237,   248,   247,   234,   232,   233,
-     244,   243,   238,   239,   246,   245,   242,   241,   227,   228,
-     229,   230,   231,   250,   249,     0,     0,   252,   253,   236,
-     235,   214,   257,   258,   262,   185,   260,   261,   259,   263,
-     184,   188,   187,   191,   190,   194,   193,     0,   125,    22,
-     203,   205,   206,   204,   196,   267,   265,   121,     0,   125,
-     125,   125,   125,   125,     0,   125,   205,   206,   198,   165,
-     161,   166,   159,   183,   180,   178,   176,   216,   217,    11,
-      13,    12,    10,    17,    16,     0,     0,    14,    15,     1,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     126,    95,    98,   107,   110,     0,    96,   265,   268,   156,
+       0,    97,   126,     0,     0,     0,     0,     0,     0,   198,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   200,
+     158,   159,   157,   220,   221,   183,   100,   111,   112,     0,
+       0,     0,     0,     0,     0,   126,   266,   114,     0,     0,
+      58,     0,     3,     2,     8,    59,    64,    66,     0,   109,
+       0,    99,   121,     0,   128,   126,     4,   212,   155,   219,
+     129,   267,   123,     0,    56,     0,    40,    42,    44,   156,
+       0,   222,   223,   241,   252,   238,   249,   248,   235,   233,
+     234,   245,   244,   239,   240,   247,   246,   243,   242,   228,
+     229,   230,   231,   232,   251,   250,     0,     0,   253,   254,
+     237,   236,   215,   258,   259,   263,   186,   261,   262,   260,
+     264,   185,   189,   188,   192,   191,   195,   194,     0,   126,
+      22,   126,   204,   206,   207,   205,   197,   268,   266,   122,
+       0,   126,   126,   126,   126,   126,     0,   126,   206,   207,
+     199,   166,   162,   167,   160,   184,   181,   179,   177,   217,
+     218,    11,    13,    12,    10,    17,    16,     0,     0,    14,
+      15,     1,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    19,    18,     0,     0,    52,     0,
-       0,     0,     0,    59,     0,     0,   107,     0,     0,   125,
-     201,   202,     0,   137,   135,   133,     0,   125,   139,   141,
-     212,   142,   145,   147,   115,     0,    58,     0,   117,     0,
-       0,     0,   256,     0,     0,     0,     0,   255,   254,   214,
-     213,   186,   189,   192,   195,     0,   172,   163,   179,   125,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   170,
-     162,   164,   160,   174,   169,   167,   181,   177,     0,    71,
-       9,     0,    93,    92,     0,    90,    89,    88,    87,    86,
-      81,    80,    84,    85,    83,    82,    79,    78,    72,    76,
-      77,    73,    74,    75,    32,   260,     0,    35,    30,     0,
-      54,    58,   209,     0,   207,    36,    29,    25,     0,    28,
-      23,    67,     0,     0,    68,    66,   116,   123,   126,   124,
-       0,   149,   138,   136,   130,     0,   148,   152,     0,     0,
-     131,   140,   125,   144,   146,   100,     0,   118,     0,     0,
-       0,     0,    46,    47,    45,     0,     0,   225,   223,   226,
-     224,   131,   215,   101,   173,     0,     0,     0,     0,     0,
-       5,     6,     7,    21,    20,   171,   175,   168,    70,    38,
-       0,    33,    31,    37,    62,     0,   125,   125,    26,    24,
-      69,    60,   151,   129,   134,   150,   143,   153,   130,    56,
-     119,    51,    50,    40,    48,     0,     0,    42,    44,   200,
-       0,     0,     0,     0,    91,    34,    53,    61,   208,   210,
-      27,   132,    49,     0,     0,     0,     0,   102,   104,   103,
-     105
+       0,     0,     0,     0,     0,     0,    19,    18,     0,     0,
+      53,     0,     0,     0,     0,    60,     0,     0,   108,     0,
+       0,   126,   202,   203,     0,   138,   136,   134,     0,   126,
+     140,   142,   213,   143,   146,   148,   116,     0,    59,     0,
+     118,     0,     0,     0,   257,     0,     0,     0,     0,   256,
+     255,   215,   214,   187,   190,   193,   196,     0,     0,   173,
+     164,   180,   126,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   171,   163,   165,   161,   175,   170,   168,   182,
+     178,     0,    72,     9,     0,    94,    93,     0,    91,    90,
+      89,    88,    87,    82,    81,    85,    86,    84,    83,    80,
+      79,    73,    77,    78,    74,    75,    76,    33,   261,     0,
+      36,    31,     0,    55,    59,   210,     0,   208,    37,    30,
+      26,     0,    29,    24,    68,     0,     0,    69,    67,   117,
+     124,   127,   125,     0,   150,   139,   137,   131,     0,   149,
+     153,     0,     0,   132,   141,   126,   145,   147,   101,     0,
+     119,     0,     0,     0,     0,    47,    48,    46,     0,     0,
+     226,   224,   227,   225,   132,   216,   102,    23,   174,     0,
+       0,     0,     0,     0,     5,     6,     7,    21,    20,   172,
+     176,   169,    71,    39,     0,    34,    32,    38,    63,     0,
+     126,   126,    27,    25,    70,    61,   152,   130,   135,   151,
+     144,   154,   131,    57,   120,    52,    51,    41,    49,     0,
+       0,    43,    45,   201,     0,     0,     0,     0,    92,    35,
+      54,    62,   209,   211,    28,   133,    50,     0,     0,     0,
+       0,   103,   105,   104,   106
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    50,   165,   166,    53,   229,   230,   231,   341,   342,
-     343,   301,   226,    54,   204,    55,    56,    57,   312,    58,
-      59,    60,    61,   209,    62,    63,    64,   384,   218,   388,
-     324,   219,   220,   221,   222,   223,    65,    66,   134,   329,
-     304,    67,   112,   240,    68,    69,    70,   344,    71
+      -1,    51,   167,   168,    54,   231,   232,   233,   344,   345,
+     346,   304,   228,    55,   206,    56,    57,    58,   315,    59,
+      60,    61,    62,   211,    63,    64,    65,   388,   220,   392,
+     327,   221,   222,   223,   224,   225,    66,    67,   136,   332,
+     307,    68,   113,   242,    69,    70,    71,   347,    72
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -217
+#define YYPACT_NINF -220
 static const yytype_int16 yypact[] =
 {
-     476,  -217,  -217,  -217,  -217,   -48,  -217,  -217,   -25,    56,
-     646,  -217,   890,    50,   143,   269,   305,   731,   101,    25,
-     373,    27,    35,    53,    60,    55,    57,    62,   195,   327,
-     208,  -217,   109,   117,  -217,  -217,  -217,  -217,   816,   816,
-     816,   816,   816,   816,   476,   138,  -217,   816,   816,  -217,
-     187,  -217,   148,  1444,   391,   173,  -217,   175,   194,   181,
-    -217,  -217,   144,  -217,   836,  -217,     8,   276,  -217,   153,
-    -217,   189,   373,  -217,   226,    56,  -217,  1444,  -217,   135,
-      22,    33,  -217,  -217,  -217,  -217,  -217,  -217,  -217,  -217,
-    -217,  -217,  -217,  -217,  -217,  -217,  -217,  -217,  -217,  -217,
-    -217,  -217,  -217,  -217,  -217,   152,   142,  -217,  -217,  -217,
-    -217,  1077,  -217,  -217,  -217,  -217,  -217,  -217,  -217,  -217,
-     217,  -217,   228,  -217,   234,  -217,   235,    56,   476,    49,
-    -217,    32,   213,  -217,  -217,  -217,  -217,  -217,   198,   751,
-     751,   751,   751,   561,   816,   476,    61,  -217,  -217,   221,
-     236,   218,  -217,  -217,   237,   238,  -217,  -217,  -217,    49,
-      49,    49,    49,    49,    49,   201,    -2,    49,    49,  -217,
-     816,   816,   816,   816,   816,   816,   816,   816,   816,   816,
-     816,   816,   816,   816,   816,   816,   816,   816,   816,   816,
-     816,   816,   816,   816,  -217,  -217,    72,   816,   231,   816,
-     816,   203,   200,  1444,   -24,   373,  -217,   373,   277,   108,
-       8,  -217,     1,   -12,   222,  -217,     5,   996,   227,     0,
-    -217,    28,  -217,  -217,  -217,   211,   816,   373,   273,    42,
-      42,    42,  -217,   212,   214,   216,   223,  -217,  -217,   139,
-    -217,  -217,  -217,  -217,  -217,   224,   259,  -217,  -217,   836,
-     248,   250,   252,   260,  1038,   240,  1096,   242,  1154,   279,
-    -217,  -217,  -217,   286,   287,  -217,  -217,  -217,   816,  -217,
-    1444,    -8,  1444,  1444,   926,  1502,  1531,  1560,  1589,  1618,
-    1647,  1647,   991,   991,   991,   991,   459,   459,   544,   629,
-     629,    49,    49,    49,  -217,    56,   373,  -217,   316,     6,
-      69,   816,  -217,   251,   285,   188,   188,  -217,   373,  -217,
-     324,  -217,   816,   816,  -217,  -217,   313,  -217,  -217,  -217,
-     254,  -217,   227,   227,     8,   255,  -217,  -217,   262,   263,
-    -217,    28,   335,  -217,  -217,  -217,    26,  -217,   373,   816,
-     816,   256,    42,  -217,   270,   280,   282,  -217,  -217,  -217,
-    -217,  -217,  -217,  -217,  -217,   278,   283,   293,   295,   303,
-    -217,  -217,  -217,  -217,  -217,  -217,  -217,  -217,    49,  -217,
-     816,   350,  -217,  -217,  -217,    54,   108,  1005,   351,  -217,
-      49,  1444,  -217,  -217,  -217,  -217,  -217,  -217,     8,  -217,
-    -217,  1444,  1444,  -217,  -217,   270,   816,  -217,  -217,  -217,
-     816,   816,   816,   816,  1473,  -217,  -217,  -217,  -217,  -217,
-    -217,  -217,  1444,  1212,  1270,  1328,  1386,  -217,  -217,  -217,
-    -217
+     481,  -220,  -220,  -220,  -220,   -52,  -220,  -220,   -49,    12,
+     653,  -220,   900,    65,   229,   237,   258,   739,   -20,   194,
+      37,    52,    34,    60,    74,    75,    55,    87,   111,   238,
+     313,   167,  -220,    96,   152,  -220,  -220,  -220,  -220,   825,
+     825,   825,   825,   825,   825,   481,   176,  -220,   825,   825,
+    -220,   209,  -220,   162,  1310,   395,   189,  -220,   195,   217,
+     199,  -220,  -220,   159,  -220,  1646,  -220,    53,   228,  -220,
+     165,  -220,   203,    52,  -220,   205,    12,  -220,  1310,  -220,
+     157,     7,    51,  -220,  -220,  -220,  -220,  -220,  -220,  -220,
+    -220,  -220,  -220,  -220,  -220,  -220,  -220,  -220,  -220,  -220,
+    -220,  -220,  -220,  -220,  -220,  -220,   169,   168,  -220,  -220,
+    -220,  -220,   245,  -220,  -220,  -220,  -220,  -220,  -220,  -220,
+    -220,   248,  -220,   249,  -220,   251,  -220,   253,    12,   481,
+      82,  1614,  -220,    62,   216,  -220,  -220,  -220,  -220,  -220,
+     206,  1614,  1614,  1614,  1614,   567,   825,   481,    68,  -220,
+    -220,   239,   240,   235,  -220,  -220,   242,   243,  -220,  -220,
+    -220,    82,    82,    82,    82,    82,    82,   208,   -13,    82,
+      82,  -220,   825,   825,   825,   825,   825,   825,   825,   825,
+     825,   825,   825,   825,   825,   825,   825,   825,   825,   825,
+     825,   825,   825,   825,   825,   825,  -220,  -220,   131,   825,
+    1008,   825,   825,   186,   200,  1310,   -23,    52,  -220,    52,
+     279,    72,    53,  -220,     3,   -40,   224,  -220,    11,   306,
+     225,    23,  -220,    45,  -220,  -220,  -220,   219,   825,    52,
+     275,    42,    42,    42,  -220,   222,   230,   233,   236,  -220,
+    -220,   244,  -220,  -220,  -220,  -220,  -220,   231,   232,   271,
+    -220,  -220,  1646,   261,   270,   274,   280,  1065,   252,  1100,
+     259,  1135,   312,  -220,  -220,  -220,   314,   315,  -220,  -220,
+    -220,   825,  -220,  1310,   -26,  1310,  1310,   937,  1369,  1401,
+    1428,  1460,  1487,  1519,  1519,  1546,  1546,  1546,  1546,   378,
+     378,   464,   550,   550,    82,    82,    82,  -220,    12,    52,
+    -220,   346,    -8,    86,   825,  -220,   277,   310,     9,     9,
+    -220,    52,  -220,   350,  -220,   825,   825,  -220,  -220,   339,
+    -220,  -220,  -220,   281,  -220,   225,   225,    53,   282,  -220,
+    -220,   283,   287,  -220,    45,  1017,  -220,  -220,  -220,    24,
+    -220,    52,   825,   825,   285,    42,  -220,   278,   286,   289,
+    -220,  -220,  -220,  -220,  -220,  -220,  -220,  -220,  -220,   316,
+     301,   302,   303,   304,  -220,  -220,  -220,  -220,  -220,  -220,
+    -220,  -220,    82,  -220,   825,   372,  -220,  -220,  -220,    61,
+      72,  1064,   373,  -220,    82,  1310,  -220,  -220,  -220,  -220,
+    -220,  -220,    53,  -220,  -220,  1310,  1310,  -220,  -220,   278,
+     825,  -220,  -220,  -220,   825,   825,   825,   825,  1342,  -220,
+    -220,  -220,  -220,  -220,  -220,  -220,  1310,  1170,  1205,  1240,
+    1275,  -220,  -220,  -220,  -220
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -217,  -217,     2,    13,   -10,  -217,  -217,  -217,   -45,  -217,
-      37,  -217,  -217,  -217,  -204,  -217,  -217,  -217,   176,  -217,
-    -217,  -217,  -102,  -217,  -188,  -217,   -65,    -7,  -108,  -217,
-    -217,  -217,   170,   183,  -216,  -215,  -103,     3,   376,   220,
-    -217,  -217,  -217,   177,  -217,  -183,    -4,     4,   404
+    -220,  -220,     8,    13,   -10,  -220,  -220,  -220,  -109,  -220,
+      40,  -220,  -220,  -220,  -213,  -220,  -220,  -220,   180,  -220,
+    -220,  -220,  -148,  -220,  -192,  -220,   -64,    -5,  -111,  -220,
+    -220,  -220,   172,   185,  -219,  -218,  -127,    14,   359,   193,
+    -220,  -220,  -220,   181,  -220,  -191,    -4,    28,   388
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -126
+#define YYTABLE_NINF -127
 static const yytype_int16 yytable[] =
 {
-      77,   211,    51,   239,   320,   333,   334,   129,   325,   119,
-     119,   119,   119,    52,   212,   111,   119,   120,   122,   124,
-     126,   318,   336,   313,   138,   245,   319,    72,   159,   160,
-     161,   162,   163,   164,     7,   135,   233,   167,   168,   170,
-     255,    12,   212,   214,   203,   170,   211,   235,    32,    33,
-      73,   113,   114,   170,   116,   215,   202,   117,    12,   113,
-     114,   115,   116,   171,   311,   117,    12,   210,   119,   246,
-     119,   247,  -125,   313,   216,   217,   225,   369,   228,    74,
-     269,   113,   114,   294,   295,   139,   321,   117,    12,   339,
-     326,   373,  -125,   140,   297,   302,   234,   375,   259,   309,
-     260,   313,   216,   332,   136,   322,   323,   236,   389,    32,
-      33,   141,   374,   130,   302,   333,   334,   319,   142,   194,
-     195,   118,   196,   197,   198,   199,   200,   201,   340,   118,
-     143,   239,   144,   254,   256,   258,   406,   145,   131,   132,
-     133,   250,   251,   252,   253,   211,   355,   257,    32,    33,
-     157,   118,   113,   114,   121,   116,   296,   158,   117,    12,
-     270,  -112,   272,   273,   274,   275,   276,   277,   278,   279,
-     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
-     290,   291,   292,   293,   271,   345,   346,   169,   407,   305,
-     306,   213,   119,   319,   214,   170,   -64,   119,   205,   206,
-     298,   119,   171,   119,   207,   310,   351,   130,   208,   315,
-     299,   316,   113,   114,   307,   295,   203,  -124,   117,    12,
-     232,   224,   118,   119,   238,   119,   119,   119,   241,   302,
-     154,   337,   146,   147,   133,   113,   114,   237,   116,   242,
-     263,   117,    12,    78,   155,   243,   244,   156,    13,    14,
-      15,    16,   248,    18,   264,    20,   249,   265,   368,   383,
-     261,   196,   197,   198,   199,   200,   201,    28,    29,    30,
-      31,    32,    33,    34,   409,   262,   266,   267,   113,   114,
-     123,   116,   118,   268,   117,    12,   317,   308,   311,   215,
-     212,   203,   119,   335,   330,  -125,   338,   347,   354,   348,
-     371,   349,   380,   381,   119,   118,   353,   356,   350,   357,
-     227,   358,   378,   300,   113,   114,   125,   116,   365,   359,
-     117,    12,   361,   383,   363,   366,   367,   372,   213,   391,
-     392,   214,   377,   376,   119,   379,  -114,   399,   119,   382,
-     385,   393,   390,   215,   386,   387,   395,    78,   118,   149,
-     216,   217,    13,    14,    15,    16,   396,    18,   400,    20,
-     404,   405,   410,   150,   151,   397,   152,   398,   401,   153,
-     402,    28,    29,    30,    31,    32,    33,    34,   403,   394,
-     314,   411,   113,   114,   118,   116,   412,   328,   117,    12,
-     413,   414,   415,   416,     1,     2,     3,     4,     5,     6,
-       7,     8,   331,     9,   148,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,   352,   327,   303,    21,
-      22,    23,    24,   137,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,     0,    36,    37,     0,     0,
-       0,     0,     0,     0,     0,     0,    38,     0,     0,     0,
-       0,     0,   118,     0,     0,  -125,    39,    40,    41,     0,
-       0,    42,    43,     0,     0,     0,    44,     0,     0,     0,
-      45,    46,     0,   171,    47,    48,     0,     0,    49,     1,
-       2,     3,     4,     5,     6,     7,     8,     0,     9,     0,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,     0,     0,     0,    21,    22,    23,    24,     0,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-       0,    36,    37,   188,   189,   190,   191,   192,   193,   194,
-     195,    38,   196,   197,   198,   199,   200,   201,     0,     0,
-       0,    39,    40,    41,     0,     0,    42,    43,     0,     0,
-       0,    44,     0,     0,     0,    45,    46,     0,   171,    47,
-      48,     0,     0,    49,     1,     2,     3,     4,     5,     6,
+      78,   241,   247,   213,   336,   337,   323,   130,    52,   120,
+     120,   120,   120,    53,   328,   339,   216,   120,   258,   321,
+     322,   235,   172,   173,    73,   316,   112,    74,   217,   161,
+     162,   163,   164,   165,   166,   172,    75,   214,   169,   170,
+     172,   121,   123,   125,   127,   205,     7,   137,   213,   140,
+     300,   114,   115,    12,   117,   312,   131,   118,    12,   214,
+     373,   114,   115,   204,   117,   237,   314,   118,    12,   120,
+     272,   120,   316,   305,   114,   115,   116,   117,   377,   212,
+     118,    12,   236,   198,   199,   200,   201,   202,   203,   324,
+     342,   379,   305,   141,    33,    34,   173,   329,   218,   219,
+     249,   227,   250,   230,   325,   326,   262,   393,   263,   316,
+    -126,   378,   322,    33,    34,   336,   337,   138,  -126,   142,
+     218,   335,   119,   348,   349,   359,   238,    33,    34,   343,
+     241,   145,   119,   143,   144,   257,   259,   261,   159,   248,
+     114,   115,   297,   298,   410,   119,   118,    12,   213,   253,
+     254,   255,   256,   196,   197,   260,   198,   199,   200,   201,
+     202,   203,   273,   146,   275,   276,   277,   278,   279,   280,
+     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
+     291,   292,   293,   294,   295,   296,   274,   147,   411,   322,
+     156,   308,   309,   160,   120,   114,   115,   310,   298,   120,
+    -113,   118,    12,   120,   157,   120,   132,   158,   305,   171,
+     172,   119,   302,   -65,   114,   115,   299,   117,   205,   207,
+     118,    12,   208,   209,   210,   120,   301,   120,   120,   120,
+    -125,   313,   133,   134,   135,   318,   226,   319,   114,   115,
+     122,   117,   214,   234,   118,    12,   114,   115,   124,   117,
+     132,   240,   118,    12,   413,   239,   251,   340,   266,   243,
+     244,   372,   245,   387,   246,   252,   119,   114,   115,   126,
+     117,   311,   267,   118,    12,   268,   148,   149,   135,   264,
+     265,   215,   269,   270,   216,   119,    33,    34,   320,   314,
+     229,   271,   217,   333,   205,   120,   217,   215,   215,   341,
+     216,   216,   338,   218,   219,   384,   385,   120,   350,   119,
+    -126,   358,   354,   217,   356,   357,   351,   119,    79,   352,
+     214,   360,   353,    13,    14,    15,    16,   375,   387,    19,
+     361,    21,   395,   396,   362,   365,   151,   120,   119,   382,
+     363,   120,   367,    29,    30,    31,    32,    33,    34,    35,
+     152,   153,   369,   154,   370,   371,   155,   376,   381,   215,
+     380,   383,   216,  -115,   408,   400,   390,   386,   389,   394,
+     391,   397,   401,   399,   217,   402,   403,   404,   405,   406,
+     407,   218,   219,   409,   414,   398,   317,   415,   150,   330,
+     416,   331,   173,   306,   417,   418,   419,   420,     1,     2,
+       3,     4,     5,     6,     7,     8,   334,     9,   139,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,     0,   355,     0,    22,    23,    24,    25,     0,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+       0,    37,    38,   190,   191,   192,   193,   194,   195,   196,
+     197,    39,   198,   199,   200,   201,   202,   203,     0,     0,
+    -126,    40,    41,    42,     0,     0,    43,    44,     0,     0,
+       0,    45,     0,     0,     0,    46,    47,     0,   173,    48,
+      49,     0,     0,    50,     1,     2,     3,     4,     5,     6,
        7,     8,     0,     9,     0,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,     0,     0,     0,    21,
-      22,    23,    24,     0,     0,     0,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,     0,    36,    37,     0,   189,
-     190,   191,   192,   193,   194,   195,    38,   196,   197,   198,
-     199,   200,   201,     0,     0,     0,    39,    40,    41,     0,
-       0,    42,    43,     0,     0,     0,    44,     0,     0,     0,
-      45,    46,     0,   171,    47,    48,     0,     0,    49,     1,
-       2,     3,     4,     5,     6,     7,     8,     0,    75,    76,
-      10,    11,    12,     0,     0,     0,     0,    17,     0,    19,
-       0,     0,     0,     0,    21,    22,    23,    24,     0,     0,
-       0,    27,     0,     0,     0,     0,     0,     0,     0,    35,
-       0,    36,    37,     0,     0,     0,   191,   192,   193,   194,
-     195,    38,   196,   197,   198,   199,   200,   201,     0,     0,
-       0,    39,    40,    41,     0,     0,    42,    43,     0,     0,
-       0,    44,     0,     0,     0,    45,    46,     0,     0,    47,
-      48,     0,     0,    49,     1,     2,     3,     4,     5,     6,
-       7,     8,     0,   127,     0,    10,    11,    12,     0,     0,
-       0,     0,    17,     0,    19,     0,     0,     0,     0,    21,
-      22,    23,    24,    78,     0,     0,    27,     0,    13,    14,
-      15,    16,     0,    18,    35,    20,    36,    37,     0,     0,
-       0,     0,     0,     0,    25,    26,    38,    28,    29,    30,
-      31,    32,    33,    34,     0,     0,    39,    40,    41,     0,
-       0,    42,    43,     0,     0,     0,   128,     0,     0,     0,
-      45,    46,     0,     0,    47,    48,     0,     0,    49,     1,
-       2,     3,     4,     5,     6,     7,     8,     0,   127,     0,
-      10,    11,    12,     0,     0,     0,     0,    17,     0,    19,
-       0,     0,     0,     0,    21,    22,    23,    24,    78,     0,
-       0,    27,     0,    13,    14,    15,    16,     0,    18,    35,
-      20,    36,    37,     0,     0,     0,     0,     0,     0,     0,
-       0,    38,    28,    29,    30,    31,    32,    33,    34,     0,
-       0,    39,    40,    41,     0,     0,    42,    43,     0,     0,
-       0,    44,     0,     0,     0,    45,    46,     0,     0,    47,
-      48,     0,    78,    49,    79,     0,     0,    13,    14,    15,
-      16,     0,    18,     0,    20,     0,    80,    81,     0,     0,
-       0,     0,     0,     0,     0,     0,    28,    29,    30,    31,
-      32,    33,    34,     0,    82,     0,     0,    83,     0,    84,
-     171,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,     0,    98,    99,   100,   101,   102,
-     103,   104,     0,     0,   105,   106,     0,   107,   108,     0,
-     172,     0,     0,   109,   110,   173,   174,   175,   176,   177,
-     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   190,   191,   192,   193,   194,   195,     0,   196,
-     197,   198,   199,   200,   201,   171,     0,     0,    78,     0,
-     212,     0,   370,    13,    14,    15,    16,    78,    18,     0,
-      20,     0,    13,    14,    15,    16,     0,    18,     0,    20,
-       0,     0,    28,    29,    30,    31,    32,    33,    34,     0,
-       0,    28,    29,    30,    31,    32,    33,    34,   213,     0,
-       0,   214,   171,   186,   187,   188,   189,   190,   191,   192,
-     193,   194,   195,   215,   196,   197,   198,   199,   200,   201,
-     216,   217,     0,     0,     0,     0,     0,     0,   327,     0,
-       0,     0,   172,     0,     0,     0,   408,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     171,   196,   197,   198,   199,   200,   201,    32,    33,     0,
-     360,     0,     0,     0,     0,     0,     0,     0,     0,   213,
-       0,     0,   214,     0,     0,     0,     0,     0,     0,     0,
-     172,  -125,     0,     0,   215,   173,   174,   175,   176,   177,
+      15,    16,    17,    18,    19,    20,    21,     0,     0,     0,
+      22,    23,    24,    25,     0,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,     0,    37,    38,     0,
+     191,   192,   193,   194,   195,   196,   197,    39,   198,   199,
+     200,   201,   202,   203,     0,     0,     0,    40,    41,    42,
+       0,     0,    43,    44,     0,     0,     0,    45,     0,     0,
+       0,    46,    47,     0,   173,    48,    49,     0,     0,    50,
+       1,     2,     3,     4,     5,     6,     7,     8,     0,     9,
+       0,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,     0,     0,     0,    22,    23,    24,    25,
+       0,     0,     0,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,     0,    37,    38,     0,     0,     0,   193,   194,
+     195,   196,   197,    39,   198,   199,   200,   201,   202,   203,
+       0,     0,     0,    40,    41,    42,     0,     0,    43,    44,
+       0,     0,     0,    45,     0,     0,     0,    46,    47,     0,
+       0,    48,    49,     0,     0,    50,     1,     2,     3,     4,
+       5,     6,     7,     8,     0,    76,    77,    10,    11,    12,
+       0,     0,     0,     0,    17,    18,     0,    20,     0,     0,
+       0,     0,    22,    23,    24,    25,     0,     0,     0,    28,
+       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
+      38,     0,     0,     0,     0,     0,     0,     0,     0,    39,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
+      41,    42,     0,     0,    43,    44,     0,     0,     0,    45,
+       0,     0,     0,    46,    47,     0,     0,    48,    49,     0,
+       0,    50,     1,     2,     3,     4,     5,     6,     7,     8,
+       0,   128,     0,    10,    11,    12,     0,     0,     0,     0,
+      17,    18,     0,    20,     0,     0,     0,     0,    22,    23,
+      24,    25,     0,     0,     0,    28,     0,     0,     0,     0,
+       0,     0,     0,    36,     0,    37,    38,     0,     0,     0,
+       0,     0,     0,     0,     0,    39,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    40,    41,    42,     0,     0,
+      43,    44,     0,     0,     0,   129,     0,     0,     0,    46,
+      47,     0,     0,    48,    49,     0,     0,    50,     1,     2,
+       3,     4,     5,     6,     7,     8,     0,   128,     0,    10,
+      11,    12,     0,     0,     0,     0,    17,    18,     0,    20,
+       0,     0,     0,     0,    22,    23,    24,    25,     0,     0,
+       0,    28,     0,     0,     0,     0,     0,     0,     0,    36,
+       0,    37,    38,     0,     0,     0,     0,     0,     0,     0,
+       0,    39,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    40,    41,    42,     0,     0,    43,    44,     0,     0,
+       0,    45,     0,     0,     0,    46,    47,     0,     0,    48,
+      49,     0,    79,    50,    80,     0,     0,    13,    14,    15,
+      16,     0,     0,    19,     0,    21,     0,    81,    82,     0,
+       0,     0,     0,     0,     0,     0,     0,    29,    30,    31,
+      32,    33,    34,    35,     0,    83,     0,     0,    84,     0,
+      85,   173,    86,    87,    88,    89,    90,    91,    92,    93,
+      94,    95,    96,    97,    98,     0,    99,   100,   101,   102,
+     103,   104,   105,     0,     0,   106,   107,     0,   108,   109,
+       0,     0,   174,     0,   110,   111,     0,   175,   176,   177,
      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   190,   191,   192,   193,   194,   195,   171,   196,
-     197,   198,   199,   200,   201,     0,     0,     0,   362,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   172,     0,
-       0,     0,     0,   173,   174,   175,   176,   177,   178,   179,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+       0,   198,   199,   200,   201,   202,   203,     0,     0,     0,
+      79,     0,     0,     0,   374,    13,    14,    15,    16,    79,
+       0,    19,     0,    21,    13,    14,    15,    16,     0,     0,
+      19,     0,    21,     0,     0,    29,    30,    31,    32,    33,
+      34,    35,     0,     0,    29,    30,    31,    32,    33,    34,
+      35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  -126,     0,     0,    79,     0,     0,   173,
+       0,    13,    14,    15,    16,     0,     0,    19,     0,    21,
+       0,   303,     0,     0,     0,     0,     0,     0,     0,     0,
+     330,    29,    30,    31,    32,    33,    34,    35,     0,     0,
+     174,     0,     0,     0,   173,   175,   176,   177,   178,   179,
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-     190,   191,   192,   193,   194,   195,   171,   196,   197,   198,
-     199,   200,   201,     0,     0,     0,   364,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   172,     0,     0,     0,
-       0,   173,   174,   175,   176,   177,   178,   179,   180,   181,
-     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
-     192,   193,   194,   195,   171,   196,   197,   198,   199,   200,
-     201,     0,     0,     0,   417,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   172,     0,     0,     0,     0,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   171,   196,   197,   198,   199,   200,   201,     0,
-       0,     0,   418,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   172,     0,     0,     0,     0,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     171,   196,   197,   198,   199,   200,   201,     0,     0,     0,
-     419,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     172,     0,     0,     0,     0,   173,   174,   175,   176,   177,
-     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   190,   191,   192,   193,   194,   195,   171,   196,
-     197,   198,   199,   200,   201,     0,     0,     0,   420,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   171,   172,     0,
-       0,     0,     0,   173,   174,   175,   176,   177,   178,   179,
+     190,   191,   192,   193,   194,   195,   196,   197,     0,   198,
+     199,   200,   201,   202,   203,   174,   412,     0,   364,   173,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,     0,   198,   199,   200,   201,   202,   203,
+     174,     0,     0,   366,   173,   175,   176,   177,   178,   179,
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-     190,   191,   192,   193,   194,   195,   171,   196,   197,   198,
-     199,   200,   201,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   171,   196,   197,   198,   199,
-     200,   201,     0,     0,   176,   177,   178,   179,   180,   181,
-     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
-     192,   193,   194,   195,   171,   196,   197,   198,   199,   200,
-     201,     0,     0,     0,   177,   178,   179,   180,   181,   182,
+     190,   191,   192,   193,   194,   195,   196,   197,     0,   198,
+     199,   200,   201,   202,   203,   174,     0,     0,   368,   173,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,     0,   198,   199,   200,   201,   202,   203,
+     174,     0,     0,   421,   173,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,     0,   198,
+     199,   200,   201,   202,   203,   174,     0,     0,   422,   173,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,     0,   198,   199,   200,   201,   202,   203,
+     174,     0,     0,   423,   173,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,     0,   198,
+     199,   200,   201,   202,   203,   174,   173,     0,   424,     0,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   173,   198,   199,   200,   201,   202,   203,
+       0,     0,     0,   176,   177,   178,   179,   180,   181,   182,
      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
-     193,   194,   195,   171,   196,   197,   198,   199,   200,   201,
-       0,     0,     0,     0,   178,   179,   180,   181,   182,   183,
+     193,   194,   195,   196,   197,   173,   198,   199,   200,   201,
+     202,   203,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   173,   198,   199,   200,   201,   202,   203,     0,
+       0,     0,     0,     0,     0,   179,   180,   181,   182,   183,
      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   171,   196,   197,   198,   199,   200,   201,     0,
-       0,     0,     0,     0,   179,   180,   181,   182,   183,   184,
+     194,   195,   196,   197,   173,   198,   199,   200,   201,   202,
+     203,     0,     0,   180,   181,   182,   183,   184,   185,   186,
+     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
+     197,   173,   198,   199,   200,   201,   202,   203,     0,     0,
+       0,     0,     0,     0,     0,     0,   181,   182,   183,   184,
      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
-     195,   171,   196,   197,   198,   199,   200,   201,     0,     0,
-       0,     0,     0,     0,   180,   181,   182,   183,   184,   185,
+     195,   196,   197,   173,   198,   199,   200,   201,   202,   203,
+       0,     0,     0,     0,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     173,   198,   199,   200,   201,   202,   203,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   184,   185,
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-       0,   196,   197,   198,   199,   200,   201,     0,     0,     0,
-       0,     0,     0,     0,     0,   182,   183,   184,   185,   186,
-     187,   188,   189,   190,   191,   192,   193,   194,   195,     0,
-     196,   197,   198,   199,   200,   201
+     196,   197,     0,   198,   199,   200,   201,   202,   203,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   188,
+     189,   190,   191,   192,   193,   194,   195,   196,   197,     0,
+     198,   199,   200,   201,   202,   203,    79,     0,     0,     0,
+       0,    13,    14,    15,    16,     0,     0,    19,     0,    21,
+       0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
+       0,    29,    30,    31,    32,    33,    34,    35,    79,     0,
+       0,     0,     0,    13,    14,    15,    16,     0,     0,    19,
+       0,    21,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    29,    30,    31,    32,    33,    34,    35
 };
 
 static const yytype_int16 yycheck[] =
 {
-      10,    66,     0,   111,     3,   221,   221,    17,     3,    13,
-      14,    15,    16,     0,    14,    12,    20,    13,    14,    15,
-      16,   209,   226,    47,    20,   128,   209,    75,    38,    39,
-      40,    41,    42,    43,     9,    10,    14,    47,    48,    47,
-     143,    16,    14,    55,    54,    47,   111,    14,    40,    41,
-      75,     9,    10,    47,    12,    67,    54,    15,    16,     9,
-      10,    11,    12,    14,    88,    15,    16,    64,    72,    37,
-      74,    39,    64,    47,    74,    75,    72,    85,    74,    23,
-      82,     9,    10,    11,    12,    58,    85,    15,    16,    47,
-      85,    85,    23,    58,   196,   198,    74,   301,    37,   201,
-      39,    47,    74,    75,    79,   213,   214,    74,    82,    40,
-      41,    58,   300,    12,   217,   331,   331,   300,    58,    70,
-      71,    79,    73,    74,    75,    76,    77,    78,    86,    79,
-      75,   239,    75,   143,   144,   145,    82,    75,    37,    38,
-      39,   139,   140,   141,   142,   210,   249,   145,    40,    41,
-      41,    79,     9,    10,    11,    12,    84,    40,    15,    16,
-     170,    23,   172,   173,   174,   175,   176,   177,   178,   179,
+      10,   112,   129,    67,   223,   223,     3,    17,     0,    13,
+      14,    15,    16,     0,     3,   228,    56,    21,   145,   211,
+     211,    14,    48,    14,    76,    48,    12,    76,    68,    39,
+      40,    41,    42,    43,    44,    48,    24,    14,    48,    49,
+      48,    13,    14,    15,    16,    55,     9,    10,   112,    21,
+     198,     9,    10,    16,    12,   203,    76,    15,    16,    14,
+      86,     9,    10,    55,    12,    14,    89,    15,    16,    73,
+      83,    75,    48,   200,     9,    10,    11,    12,    86,    65,
+      15,    16,    75,    74,    75,    76,    77,    78,    79,    86,
+      48,   304,   219,    59,    41,    42,    14,    86,    75,    76,
+      38,    73,    40,    75,   215,   216,    38,    83,    40,    48,
+      24,   303,   303,    41,    42,   334,   334,    80,    65,    59,
+      75,    76,    80,   232,   233,   252,    75,    41,    42,    87,
+     241,    76,    80,    59,    59,   145,   146,   147,    42,   131,
+       9,    10,    11,    12,    83,    80,    15,    16,   212,   141,
+     142,   143,   144,    71,    72,   147,    74,    75,    76,    77,
+      78,    79,   172,    76,   174,   175,   176,   177,   178,   179,
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-     190,   191,   192,   193,   171,   230,   231,     0,   376,   199,
-     200,    52,   196,   376,    55,    47,    23,   201,    23,     5,
-     196,   205,    14,   207,    23,   201,    67,    12,    64,   205,
-     197,   207,     9,    10,    11,    12,   226,    64,    15,    16,
-      85,    32,    79,   227,    82,   229,   230,   231,    11,   332,
-      22,   227,    37,    38,    39,     9,    10,    85,    12,    11,
-      22,    15,    16,    12,    36,    11,    11,    39,    17,    18,
-      19,    20,    39,    22,    36,    24,    58,    39,   268,   324,
-      39,    73,    74,    75,    76,    77,    78,    36,    37,    38,
-      39,    40,    41,    42,   377,    39,    39,    39,     9,    10,
-      11,    12,    79,    82,    15,    16,     9,    84,    88,    67,
-      14,   301,   296,    82,    67,    64,    23,    85,    39,    85,
-     296,    85,   312,   313,   308,    79,    82,    59,    85,    59,
-      84,    59,   308,    82,     9,    10,    11,    12,    39,    59,
-      15,    16,    82,   388,    82,    39,    39,    11,    52,   339,
-     340,    55,    47,    82,   338,    11,    23,    59,   342,    85,
-      85,    85,   338,    67,    82,    82,   342,    12,    79,    22,
-      74,    75,    17,    18,    19,    20,    86,    22,    75,    24,
-     370,    11,    11,    36,    37,    85,    39,    85,    75,    42,
-      75,    36,    37,    38,    39,    40,    41,    42,    75,   342,
-     204,   388,     9,    10,    79,    12,   396,   217,    15,    16,
-     400,   401,   402,   403,     3,     4,     5,     6,     7,     8,
-       9,    10,   219,    12,    28,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,   239,    82,   198,    28,
-      29,    30,    31,    19,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    -1,    45,    46,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    55,    -1,    -1,    -1,
-      -1,    -1,    79,    -1,    -1,    64,    65,    66,    67,    -1,
-      -1,    70,    71,    -1,    -1,    -1,    75,    -1,    -1,    -1,
-      79,    80,    -1,    14,    83,    84,    -1,    -1,    87,     3,
-       4,     5,     6,     7,     8,     9,    10,    -1,    12,    -1,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    -1,    -1,    -1,    28,    29,    30,    31,    -1,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      -1,    45,    46,    64,    65,    66,    67,    68,    69,    70,
-      71,    55,    73,    74,    75,    76,    77,    78,    -1,    -1,
-      -1,    65,    66,    67,    -1,    -1,    70,    71,    -1,    -1,
-      -1,    75,    -1,    -1,    -1,    79,    80,    -1,    14,    83,
-      84,    -1,    -1,    87,     3,     4,     5,     6,     7,     8,
+     190,   191,   192,   193,   194,   195,   173,    76,   380,   380,
+      23,   201,   202,    41,   198,     9,    10,    11,    12,   203,
+      24,    15,    16,   207,    37,   209,    12,    40,   335,     0,
+      48,    80,   199,    24,     9,    10,    85,    12,   228,    24,
+      15,    16,     5,    24,    65,   229,   198,   231,   232,   233,
+      65,   203,    38,    39,    40,   207,    33,   209,     9,    10,
+      11,    12,    14,    86,    15,    16,     9,    10,    11,    12,
+      12,    83,    15,    16,   381,    86,    40,   229,    23,    11,
+      11,   271,    11,   327,    11,    59,    80,     9,    10,    11,
+      12,    85,    37,    15,    16,    40,    38,    39,    40,    40,
+      40,    53,    40,    40,    56,    80,    41,    42,     9,    89,
+      85,    83,    68,    68,   304,   299,    68,    53,    53,    24,
+      56,    56,    83,    75,    76,   315,   316,   311,    86,    80,
+      65,    40,    68,    68,    83,    83,    86,    80,    12,    86,
+      14,    60,    86,    17,    18,    19,    20,   299,   392,    23,
+      60,    25,   342,   343,    60,    83,    23,   341,    80,   311,
+      60,   345,    83,    37,    38,    39,    40,    41,    42,    43,
+      37,    38,    40,    40,    40,    40,    43,    11,    48,    53,
+      83,    11,    56,    24,   374,    87,    83,    86,    86,   341,
+      83,    86,    86,   345,    68,    86,    60,    76,    76,    76,
+      76,    75,    76,    11,    11,   345,   206,   392,    29,    83,
+     400,   219,    14,   200,   404,   405,   406,   407,     3,     4,
+       5,     6,     7,     8,     9,    10,   221,    12,    20,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    -1,   241,    -1,    29,    30,    31,    32,    -1,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      -1,    46,    47,    65,    66,    67,    68,    69,    70,    71,
+      72,    56,    74,    75,    76,    77,    78,    79,    -1,    -1,
+      65,    66,    67,    68,    -1,    -1,    71,    72,    -1,    -1,
+      -1,    76,    -1,    -1,    -1,    80,    81,    -1,    14,    84,
+      85,    -1,    -1,    88,     3,     4,     5,     6,     7,     8,
        9,    10,    -1,    12,    -1,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    -1,    -1,    -1,    28,
-      29,    30,    31,    -1,    -1,    -1,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    -1,    45,    46,    -1,    65,
-      66,    67,    68,    69,    70,    71,    55,    73,    74,    75,
-      76,    77,    78,    -1,    -1,    -1,    65,    66,    67,    -1,
-      -1,    70,    71,    -1,    -1,    -1,    75,    -1,    -1,    -1,
-      79,    80,    -1,    14,    83,    84,    -1,    -1,    87,     3,
-       4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
-      14,    15,    16,    -1,    -1,    -1,    -1,    21,    -1,    23,
-      -1,    -1,    -1,    -1,    28,    29,    30,    31,    -1,    -1,
-      -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    43,
-      -1,    45,    46,    -1,    -1,    -1,    67,    68,    69,    70,
-      71,    55,    73,    74,    75,    76,    77,    78,    -1,    -1,
-      -1,    65,    66,    67,    -1,    -1,    70,    71,    -1,    -1,
-      -1,    75,    -1,    -1,    -1,    79,    80,    -1,    -1,    83,
-      84,    -1,    -1,    87,     3,     4,     5,     6,     7,     8,
-       9,    10,    -1,    12,    -1,    14,    15,    16,    -1,    -1,
-      -1,    -1,    21,    -1,    23,    -1,    -1,    -1,    -1,    28,
-      29,    30,    31,    12,    -1,    -1,    35,    -1,    17,    18,
-      19,    20,    -1,    22,    43,    24,    45,    46,    -1,    -1,
-      -1,    -1,    -1,    -1,    33,    34,    55,    36,    37,    38,
-      39,    40,    41,    42,    -1,    -1,    65,    66,    67,    -1,
-      -1,    70,    71,    -1,    -1,    -1,    75,    -1,    -1,    -1,
-      79,    80,    -1,    -1,    83,    84,    -1,    -1,    87,     3,
-       4,     5,     6,     7,     8,     9,    10,    -1,    12,    -1,
-      14,    15,    16,    -1,    -1,    -1,    -1,    21,    -1,    23,
-      -1,    -1,    -1,    -1,    28,    29,    30,    31,    12,    -1,
-      -1,    35,    -1,    17,    18,    19,    20,    -1,    22,    43,
-      24,    45,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    55,    36,    37,    38,    39,    40,    41,    42,    -1,
-      -1,    65,    66,    67,    -1,    -1,    70,    71,    -1,    -1,
-      -1,    75,    -1,    -1,    -1,    79,    80,    -1,    -1,    83,
-      84,    -1,    12,    87,    14,    -1,    -1,    17,    18,    19,
-      20,    -1,    22,    -1,    24,    -1,    26,    27,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    36,    37,    38,    39,
-      40,    41,    42,    -1,    44,    -1,    -1,    47,    -1,    49,
-      14,    51,    52,    53,    54,    55,    56,    57,    58,    59,
-      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
-      70,    71,    -1,    -1,    74,    75,    -1,    77,    78,    -1,
-      44,    -1,    -1,    83,    84,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
-      74,    75,    76,    77,    78,    14,    -1,    -1,    12,    -1,
-      14,    -1,    86,    17,    18,    19,    20,    12,    22,    -1,
-      24,    -1,    17,    18,    19,    20,    -1,    22,    -1,    24,
-      -1,    -1,    36,    37,    38,    39,    40,    41,    42,    -1,
-      -1,    36,    37,    38,    39,    40,    41,    42,    52,    -1,
-      -1,    55,    14,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    67,    73,    74,    75,    76,    77,    78,
-      74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
-      -1,    -1,    44,    -1,    -1,    -1,    81,    49,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
-      14,    73,    74,    75,    76,    77,    78,    40,    41,    -1,
-      82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,
-      -1,    -1,    55,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      44,    64,    -1,    -1,    67,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    14,    73,
-      74,    75,    76,    77,    78,    -1,    -1,    -1,    82,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,
-      -1,    -1,    -1,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    14,    73,    74,    75,
-      76,    77,    78,    -1,    -1,    -1,    82,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,
-      -1,    49,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
-      68,    69,    70,    71,    14,    73,    74,    75,    76,    77,
-      78,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    49,
+      19,    20,    21,    22,    23,    24,    25,    -1,    -1,    -1,
+      29,    30,    31,    32,    -1,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    -1,    46,    47,    -1,
+      66,    67,    68,    69,    70,    71,    72,    56,    74,    75,
+      76,    77,    78,    79,    -1,    -1,    -1,    66,    67,    68,
+      -1,    -1,    71,    72,    -1,    -1,    -1,    76,    -1,    -1,
+      -1,    80,    81,    -1,    14,    84,    85,    -1,    -1,    88,
+       3,     4,     5,     6,     7,     8,     9,    10,    -1,    12,
+      -1,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    24,    25,    -1,    -1,    -1,    29,    30,    31,    32,
+      -1,    -1,    -1,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    -1,    46,    47,    -1,    -1,    -1,    68,    69,
+      70,    71,    72,    56,    74,    75,    76,    77,    78,    79,
+      -1,    -1,    -1,    66,    67,    68,    -1,    -1,    71,    72,
+      -1,    -1,    -1,    76,    -1,    -1,    -1,    80,    81,    -1,
+      -1,    84,    85,    -1,    -1,    88,     3,     4,     5,     6,
+       7,     8,     9,    10,    -1,    12,    13,    14,    15,    16,
+      -1,    -1,    -1,    -1,    21,    22,    -1,    24,    -1,    -1,
+      -1,    -1,    29,    30,    31,    32,    -1,    -1,    -1,    36,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    46,
+      47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    56,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
+      67,    68,    -1,    -1,    71,    72,    -1,    -1,    -1,    76,
+      -1,    -1,    -1,    80,    81,    -1,    -1,    84,    85,    -1,
+      -1,    88,     3,     4,     5,     6,     7,     8,     9,    10,
+      -1,    12,    -1,    14,    15,    16,    -1,    -1,    -1,    -1,
+      21,    22,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,
+      31,    32,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    44,    -1,    46,    47,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    66,    67,    68,    -1,    -1,
+      71,    72,    -1,    -1,    -1,    76,    -1,    -1,    -1,    80,
+      81,    -1,    -1,    84,    85,    -1,    -1,    88,     3,     4,
+       5,     6,     7,     8,     9,    10,    -1,    12,    -1,    14,
+      15,    16,    -1,    -1,    -1,    -1,    21,    22,    -1,    24,
+      -1,    -1,    -1,    -1,    29,    30,    31,    32,    -1,    -1,
+      -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,
+      -1,    46,    47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    66,    67,    68,    -1,    -1,    71,    72,    -1,    -1,
+      -1,    76,    -1,    -1,    -1,    80,    81,    -1,    -1,    84,
+      85,    -1,    12,    88,    14,    -1,    -1,    17,    18,    19,
+      20,    -1,    -1,    23,    -1,    25,    -1,    27,    28,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    39,
+      40,    41,    42,    43,    -1,    45,    -1,    -1,    48,    -1,
+      50,    14,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    -1,    66,    67,    68,    69,
+      70,    71,    72,    -1,    -1,    75,    76,    -1,    78,    79,
+      -1,    -1,    45,    -1,    84,    85,    -1,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      -1,    74,    75,    76,    77,    78,    79,    -1,    -1,    -1,
+      12,    -1,    -1,    -1,    87,    17,    18,    19,    20,    12,
+      -1,    23,    -1,    25,    17,    18,    19,    20,    -1,    -1,
+      23,    -1,    25,    -1,    -1,    37,    38,    39,    40,    41,
+      42,    43,    -1,    -1,    37,    38,    39,    40,    41,    42,
+      43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    65,    -1,    -1,    12,    -1,    -1,    14,
+      -1,    17,    18,    19,    20,    -1,    -1,    23,    -1,    25,
+      -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      83,    37,    38,    39,    40,    41,    42,    43,    -1,    -1,
+      45,    -1,    -1,    -1,    14,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    -1,    74,
+      75,    76,    77,    78,    79,    45,    82,    -1,    83,    14,
       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
-      70,    71,    14,    73,    74,    75,    76,    77,    78,    -1,
-      -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    44,    -1,    -1,    -1,    -1,    49,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
-      14,    73,    74,    75,    76,    77,    78,    -1,    -1,    -1,
-      82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      44,    -1,    -1,    -1,    -1,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    14,    73,
-      74,    75,    76,    77,    78,    -1,    -1,    -1,    82,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    14,    44,    -1,
-      -1,    -1,    -1,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    14,    73,    74,    75,
-      76,    77,    78,    50,    51,    52,    53,    54,    55,    56,
-      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-      67,    68,    69,    70,    71,    14,    73,    74,    75,    76,
-      77,    78,    -1,    -1,    52,    53,    54,    55,    56,    57,
+      70,    71,    72,    -1,    74,    75,    76,    77,    78,    79,
+      45,    -1,    -1,    83,    14,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    -1,    74,
+      75,    76,    77,    78,    79,    45,    -1,    -1,    83,    14,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    -1,    74,    75,    76,    77,    78,    79,
+      45,    -1,    -1,    83,    14,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    -1,    74,
+      75,    76,    77,    78,    79,    45,    -1,    -1,    83,    14,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    -1,    74,    75,    76,    77,    78,    79,
+      45,    -1,    -1,    83,    14,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    -1,    74,
+      75,    76,    77,    78,    79,    45,    14,    -1,    83,    -1,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    14,    74,    75,    76,    77,    78,    79,
+      -1,    -1,    -1,    51,    52,    53,    54,    55,    56,    57,
       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
-      68,    69,    70,    71,    14,    73,    74,    75,    76,    77,
-      78,    -1,    -1,    -1,    53,    54,    55,    56,    57,    58,
+      68,    69,    70,    71,    72,    14,    74,    75,    76,    77,
+      78,    79,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
+      71,    72,    14,    74,    75,    76,    77,    78,    79,    -1,
+      -1,    -1,    -1,    -1,    -1,    54,    55,    56,    57,    58,
       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    14,    73,    74,    75,    76,    77,    78,
-      -1,    -1,    -1,    -1,    54,    55,    56,    57,    58,    59,
+      69,    70,    71,    72,    14,    74,    75,    76,    77,    78,
+      79,    -1,    -1,    55,    56,    57,    58,    59,    60,    61,
+      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
+      72,    14,    74,    75,    76,    77,    78,    79,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    56,    57,    58,    59,
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
-      70,    71,    14,    73,    74,    75,    76,    77,    78,    -1,
-      -1,    -1,    -1,    -1,    55,    56,    57,    58,    59,    60,
+      70,    71,    72,    14,    74,    75,    76,    77,    78,    79,
+      -1,    -1,    -1,    -1,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      14,    74,    75,    76,    77,    78,    79,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,
       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
-      71,    14,    73,    74,    75,    76,    77,    78,    -1,    -1,
-      -1,    -1,    -1,    -1,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
-      -1,    73,    74,    75,    76,    77,    78,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    58,    59,    60,    61,    62,
-      63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
-      73,    74,    75,    76,    77,    78
+      71,    72,    -1,    74,    75,    76,    77,    78,    79,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    63,
+      64,    65,    66,    67,    68,    69,    70,    71,    72,    -1,
+      74,    75,    76,    77,    78,    79,    12,    -1,    -1,    -1,
+      -1,    17,    18,    19,    20,    -1,    -1,    23,    -1,    25,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    35,
+      -1,    37,    38,    39,    40,    41,    42,    43,    12,    -1,
+      -1,    -1,    -1,    17,    18,    19,    20,    -1,    -1,    23,
+      -1,    25,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    37,    38,    39,    40,    41,    42,    43
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1362,47 +1359,47 @@ static const yytype_uint8 yystos[] =
 {
        0,     3,     4,     5,     6,     7,     8,     9,    10,    12,
       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    28,    29,    30,    31,    33,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    45,    46,    55,    65,
-      66,    67,    70,    71,    75,    79,    80,    83,    84,    87,
-      90,    91,    92,    93,   102,   104,   105,   106,   108,   109,
-     110,   111,   113,   114,   115,   125,   126,   130,   133,   134,
-     135,   137,    75,    75,    23,    12,    13,    93,    12,    14,
-      26,    27,    44,    47,    49,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    65,    66,
-      67,    68,    69,    70,    71,    74,    75,    77,    78,    83,
-      84,   126,   131,     9,    10,    11,    12,    15,    79,   135,
-     136,    11,   136,    11,   136,    11,   136,    12,    75,    93,
-      12,    37,    38,    39,   127,    10,    79,   137,   136,    58,
-      58,    58,    58,    75,    75,    75,    37,    38,   127,    22,
-      36,    37,    39,    42,    22,    36,    39,    41,    40,    93,
-      93,    93,    93,    93,    93,    91,    92,    93,    93,     0,
-      47,    14,    44,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    73,    74,    75,    76,
-      77,    78,    91,    93,   103,    23,     5,    23,    64,   112,
-     126,   115,    14,    52,    55,    67,    74,    75,   117,   120,
-     121,   122,   123,   124,    32,   136,   101,    84,   136,    94,
-      95,    96,    85,    14,    74,    14,    74,    85,    82,   117,
-     132,    11,    11,    11,    11,   125,    37,    39,    39,    58,
-      91,    91,    91,    91,    93,   125,    93,    91,    93,    37,
-      39,    39,    39,    22,    36,    39,    39,    39,    82,    82,
-      93,    92,    93,    93,    93,    93,    93,    93,    93,    93,
-      93,    93,    93,    93,    93,    93,    93,    93,    93,    93,
-      93,    93,    93,    93,    11,    12,    84,   111,   136,    92,
-      82,   100,   125,   128,   129,    93,    93,    11,    84,   111,
-     136,    88,   107,    47,   107,   136,   136,     9,   113,   134,
-       3,    85,   117,   117,   119,     3,    85,    82,   121,   128,
-      67,   122,    75,   123,   124,    82,   103,   136,    23,    47,
-      86,    97,    98,    99,   136,    97,    97,    85,    85,    85,
-      85,    67,   132,    82,    39,   125,    59,    59,    59,    59,
-      82,    82,    82,    82,    82,    39,    39,    39,    93,    85,
-      86,   136,    11,    85,   113,   103,    82,    47,   136,    11,
-      93,    93,    85,   115,   116,    85,    82,    82,   118,    82,
-     136,    93,    93,    85,    99,   136,    86,    85,    85,    59,
-      75,    75,    75,    75,    93,    11,    82,   113,    81,   125,
-      11,   116,    93,    93,    93,    93,    93,    82,    82,    82,
-      82
+      24,    25,    29,    30,    31,    32,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    46,    47,    56,
+      66,    67,    68,    71,    72,    76,    80,    81,    84,    85,
+      88,    91,    92,    93,    94,   103,   105,   106,   107,   109,
+     110,   111,   112,   114,   115,   116,   126,   127,   131,   134,
+     135,   136,   138,    76,    76,    24,    12,    13,    94,    12,
+      14,    27,    28,    45,    48,    50,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    66,
+      67,    68,    69,    70,    71,    72,    75,    76,    78,    79,
+      84,    85,   127,   132,     9,    10,    11,    12,    15,    80,
+     136,   137,    11,   137,    11,   137,    11,   137,    12,    76,
+      94,    76,    12,    38,    39,    40,   128,    10,    80,   138,
+     137,    59,    59,    59,    59,    76,    76,    76,    38,    39,
+     128,    23,    37,    38,    40,    43,    23,    37,    40,    42,
+      41,    94,    94,    94,    94,    94,    94,    92,    93,    94,
+      94,     0,    48,    14,    45,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    74,    75,
+      76,    77,    78,    79,    92,    94,   104,    24,     5,    24,
+      65,   113,   127,   116,    14,    53,    56,    68,    75,    76,
+     118,   121,   122,   123,   124,   125,    33,   137,   102,    85,
+     137,    95,    96,    97,    86,    14,    75,    14,    75,    86,
+      83,   118,   133,    11,    11,    11,    11,   126,    92,    38,
+      40,    40,    59,    92,    92,    92,    92,    94,   126,    94,
+      92,    94,    38,    40,    40,    40,    23,    37,    40,    40,
+      40,    83,    83,    94,    93,    94,    94,    94,    94,    94,
+      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
+      94,    94,    94,    94,    94,    94,    94,    11,    12,    85,
+     112,   137,    93,    83,   101,   126,   129,   130,    94,    94,
+      11,    85,   112,   137,    89,   108,    48,   108,   137,   137,
+       9,   114,   135,     3,    86,   118,   118,   120,     3,    86,
+      83,   122,   129,    68,   123,    76,   124,   125,    83,   104,
+     137,    24,    48,    87,    98,    99,   100,   137,    98,    98,
+      86,    86,    86,    86,    68,   133,    83,    83,    40,   126,
+      60,    60,    60,    60,    83,    83,    83,    83,    83,    40,
+      40,    40,    94,    86,    87,   137,    11,    86,   114,   104,
+      83,    48,   137,    11,    94,    94,    86,   116,   117,    86,
+      83,    83,   119,    83,   137,    94,    94,    86,   100,   137,
+      87,    86,    86,    60,    76,    76,    76,    76,    94,    11,
+      83,   114,    82,   126,    11,   117,    94,    94,    94,    94,
+      94,    83,    83,    83,    83
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -2216,7 +2213,7 @@ yyreduce:
         case 4:
 
 /* Line 1455 of yacc.c  */
-#line 232 "c-exp.y"
+#line 233 "c-exp.y"
     { write_exp_elt_opcode(pstate, OP_TYPE);
 			  write_exp_elt_type(pstate, (yyvsp[(1) - (1)].tval));
 			  write_exp_elt_opcode(pstate, OP_TYPE);}
@@ -2225,7 +2222,7 @@ yyreduce:
   case 5:
 
 /* Line 1455 of yacc.c  */
-#line 236 "c-exp.y"
+#line 237 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_TYPEOF);
 			}
@@ -2234,7 +2231,7 @@ yyreduce:
   case 6:
 
 /* Line 1455 of yacc.c  */
-#line 240 "c-exp.y"
+#line 241 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_TYPE);
 			  write_exp_elt_type (pstate, (yyvsp[(3) - (4)].tval));
@@ -2245,7 +2242,7 @@ yyreduce:
   case 7:
 
 /* Line 1455 of yacc.c  */
-#line 246 "c-exp.y"
+#line 247 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_DECLTYPE);
 			}
@@ -2254,124 +2251,131 @@ yyreduce:
   case 9:
 
 /* Line 1455 of yacc.c  */
-#line 254 "c-exp.y"
+#line 255 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_COMMA); }
     break;
 
   case 10:
 
 /* Line 1455 of yacc.c  */
-#line 259 "c-exp.y"
+#line 260 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_IND); }
     break;
 
   case 11:
 
 /* Line 1455 of yacc.c  */
-#line 263 "c-exp.y"
+#line 264 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ADDR); }
     break;
 
   case 12:
 
 /* Line 1455 of yacc.c  */
-#line 267 "c-exp.y"
+#line 268 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_NEG); }
     break;
 
   case 13:
 
 /* Line 1455 of yacc.c  */
-#line 271 "c-exp.y"
+#line 272 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PLUS); }
     break;
 
   case 14:
 
 /* Line 1455 of yacc.c  */
-#line 275 "c-exp.y"
+#line 276 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_LOGICAL_NOT); }
     break;
 
   case 15:
 
 /* Line 1455 of yacc.c  */
-#line 279 "c-exp.y"
+#line 280 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_COMPLEMENT); }
     break;
 
   case 16:
 
 /* Line 1455 of yacc.c  */
-#line 283 "c-exp.y"
+#line 284 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PREINCREMENT); }
     break;
 
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 287 "c-exp.y"
+#line 288 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PREDECREMENT); }
     break;
 
   case 18:
 
 /* Line 1455 of yacc.c  */
-#line 291 "c-exp.y"
+#line 292 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_POSTINCREMENT); }
     break;
 
   case 19:
 
 /* Line 1455 of yacc.c  */
-#line 295 "c-exp.y"
+#line 296 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_POSTDECREMENT); }
     break;
 
   case 20:
 
 /* Line 1455 of yacc.c  */
-#line 299 "c-exp.y"
+#line 300 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_TYPEID); }
     break;
 
   case 21:
 
 /* Line 1455 of yacc.c  */
-#line 303 "c-exp.y"
+#line 304 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_TYPEID); }
     break;
 
   case 22:
 
 /* Line 1455 of yacc.c  */
-#line 307 "c-exp.y"
+#line 308 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_SIZEOF); }
     break;
 
   case 23:
 
 /* Line 1455 of yacc.c  */
-#line 311 "c-exp.y"
+#line 312 "c-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_ALIGNOF); }
+    break;
+
+  case 24:
+
+/* Line 1455 of yacc.c  */
+#line 316 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_PTR);
 			  write_exp_string (pstate, (yyvsp[(3) - (3)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR); }
     break;
 
-  case 24:
+  case 25:
 
 /* Line 1455 of yacc.c  */
-#line 317 "c-exp.y"
+#line 322 "c-exp.y"
     { mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR);
 			  write_exp_string (pstate, (yyvsp[(3) - (4)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR); }
     break;
 
-  case 25:
+  case 26:
 
 /* Line 1455 of yacc.c  */
-#line 324 "c-exp.y"
+#line 329 "c-exp.y"
     { struct stoken s;
 			  mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR);
@@ -2381,29 +2385,29 @@ yyreduce:
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR); }
     break;
 
-  case 26:
+  case 27:
 
 /* Line 1455 of yacc.c  */
-#line 334 "c-exp.y"
+#line 339 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_PTR);
 			  write_destructor_name (pstate, (yyvsp[(4) - (4)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR); }
     break;
 
-  case 27:
+  case 28:
 
 /* Line 1455 of yacc.c  */
-#line 340 "c-exp.y"
+#line 345 "c-exp.y"
     { mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR);
 			  write_destructor_name (pstate, (yyvsp[(4) - (5)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR); }
     break;
 
-  case 28:
+  case 29:
 
 /* Line 1455 of yacc.c  */
-#line 347 "c-exp.y"
+#line 352 "c-exp.y"
     { /* exp->type::name becomes exp->*(&type::name) */
 			  /* Note: this doesn't work if name is a
 			     static member!  FIXME */
@@ -2411,36 +2415,36 @@ yyreduce:
 			  write_exp_elt_opcode (pstate, STRUCTOP_MPTR); }
     break;
 
-  case 29:
+  case 30:
 
 /* Line 1455 of yacc.c  */
-#line 355 "c-exp.y"
+#line 360 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_MPTR); }
     break;
 
-  case 30:
+  case 31:
 
 /* Line 1455 of yacc.c  */
-#line 359 "c-exp.y"
+#line 364 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_exp_string (pstate, (yyvsp[(3) - (3)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
     break;
 
-  case 31:
+  case 32:
 
 /* Line 1455 of yacc.c  */
-#line 365 "c-exp.y"
+#line 370 "c-exp.y"
     { mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_exp_string (pstate, (yyvsp[(3) - (4)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
     break;
 
-  case 32:
+  case 33:
 
 /* Line 1455 of yacc.c  */
-#line 372 "c-exp.y"
+#line 377 "c-exp.y"
     { struct stoken s;
 			  mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
@@ -2450,29 +2454,29 @@ yyreduce:
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
     break;
 
-  case 33:
+  case 34:
 
 /* Line 1455 of yacc.c  */
-#line 382 "c-exp.y"
+#line 387 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_destructor_name (pstate, (yyvsp[(4) - (4)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
     break;
 
-  case 34:
+  case 35:
 
 /* Line 1455 of yacc.c  */
-#line 388 "c-exp.y"
+#line 393 "c-exp.y"
     { mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_destructor_name (pstate, (yyvsp[(4) - (5)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
     break;
 
-  case 35:
+  case 36:
 
 /* Line 1455 of yacc.c  */
-#line 395 "c-exp.y"
+#line 400 "c-exp.y"
     { /* exp.type::name becomes exp.*(&type::name) */
 			  /* Note: this doesn't work if name is a
 			     static member!  FIXME */
@@ -2480,31 +2484,31 @@ yyreduce:
 			  write_exp_elt_opcode (pstate, STRUCTOP_MEMBER); }
     break;
 
-  case 36:
+  case 37:
 
 /* Line 1455 of yacc.c  */
-#line 403 "c-exp.y"
+#line 408 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_MEMBER); }
     break;
 
-  case 37:
+  case 38:
 
 /* Line 1455 of yacc.c  */
-#line 407 "c-exp.y"
+#line 412 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT); }
     break;
 
-  case 38:
+  case 39:
 
 /* Line 1455 of yacc.c  */
-#line 411 "c-exp.y"
+#line 416 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT); }
     break;
 
-  case 39:
+  case 40:
 
 /* Line 1455 of yacc.c  */
-#line 420 "c-exp.y"
+#line 425 "c-exp.y"
     {
 			  CORE_ADDR theclass;
 
@@ -2522,20 +2526,20 @@ yyreduce:
 			}
     break;
 
-  case 40:
+  case 41:
 
 /* Line 1455 of yacc.c  */
-#line 436 "c-exp.y"
+#line 441 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
 			  end_msglist (pstate);
 			  write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
 			}
     break;
 
-  case 41:
+  case 42:
 
 /* Line 1455 of yacc.c  */
-#line 443 "c-exp.y"
+#line 448 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate,
@@ -2546,82 +2550,82 @@ yyreduce:
 			}
     break;
 
-  case 42:
+  case 43:
 
 /* Line 1455 of yacc.c  */
-#line 452 "c-exp.y"
+#line 457 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
 			  end_msglist (pstate);
 			  write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
 			}
     break;
 
-  case 43:
+  case 44:
 
 /* Line 1455 of yacc.c  */
-#line 459 "c-exp.y"
+#line 464 "c-exp.y"
     { start_msglist(); }
     break;
 
-  case 44:
+  case 45:
 
 /* Line 1455 of yacc.c  */
-#line 461 "c-exp.y"
+#line 466 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
 			  end_msglist (pstate);
 			  write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
 			}
     break;
 
-  case 45:
+  case 46:
 
 /* Line 1455 of yacc.c  */
-#line 468 "c-exp.y"
+#line 473 "c-exp.y"
     { add_msglist(&(yyvsp[(1) - (1)].sval), 0); }
     break;
 
-  case 49:
+  case 50:
 
 /* Line 1455 of yacc.c  */
-#line 477 "c-exp.y"
+#line 482 "c-exp.y"
     { add_msglist(&(yyvsp[(1) - (3)].sval), 1); }
     break;
 
-  case 50:
+  case 51:
 
 /* Line 1455 of yacc.c  */
-#line 479 "c-exp.y"
+#line 484 "c-exp.y"
     { add_msglist(0, 1);   }
     break;
 
-  case 51:
+  case 52:
 
 /* Line 1455 of yacc.c  */
-#line 481 "c-exp.y"
+#line 486 "c-exp.y"
     { add_msglist(0, 0);   }
     break;
 
-  case 52:
+  case 53:
 
 /* Line 1455 of yacc.c  */
-#line 487 "c-exp.y"
+#line 492 "c-exp.y"
     { start_arglist (); }
     break;
 
-  case 53:
+  case 54:
 
 /* Line 1455 of yacc.c  */
-#line 489 "c-exp.y"
+#line 494 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_FUNCALL);
 			  write_exp_elt_longcst (pstate,
 						 (LONGEST) end_arglist ());
 			  write_exp_elt_opcode (pstate, OP_FUNCALL); }
     break;
 
-  case 54:
+  case 55:
 
 /* Line 1455 of yacc.c  */
-#line 499 "c-exp.y"
+#line 504 "c-exp.y"
     { start_arglist ();
 			  write_exp_elt_opcode (pstate, OP_FUNCALL);
 			  write_exp_elt_longcst (pstate,
@@ -2629,10 +2633,10 @@ yyreduce:
 			  write_exp_elt_opcode (pstate, OP_FUNCALL); }
     break;
 
-  case 55:
+  case 56:
 
 /* Line 1455 of yacc.c  */
-#line 508 "c-exp.y"
+#line 513 "c-exp.y"
     {
 			  /* This could potentially be a an argument defined
 			     lookup function (Koenig).  */
@@ -2651,10 +2655,10 @@ yyreduce:
 			}
     break;
 
-  case 56:
+  case 57:
 
 /* Line 1455 of yacc.c  */
-#line 525 "c-exp.y"
+#line 530 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_FUNCALL);
 			  write_exp_elt_longcst (pstate,
@@ -2663,31 +2667,31 @@ yyreduce:
 			}
     break;
 
-  case 57:
+  case 58:
 
 /* Line 1455 of yacc.c  */
-#line 534 "c-exp.y"
+#line 539 "c-exp.y"
     { start_arglist (); }
     break;
 
-  case 59:
+  case 60:
 
 /* Line 1455 of yacc.c  */
-#line 541 "c-exp.y"
+#line 546 "c-exp.y"
     { arglist_len = 1; }
     break;
 
-  case 60:
+  case 61:
 
 /* Line 1455 of yacc.c  */
-#line 545 "c-exp.y"
+#line 550 "c-exp.y"
     { arglist_len++; }
     break;
 
-  case 61:
+  case 62:
 
 /* Line 1455 of yacc.c  */
-#line 549 "c-exp.y"
+#line 554 "c-exp.y"
     { int i;
 			  VEC (type_ptr) *type_list = (yyvsp[(3) - (5)].tvec);
 			  struct type *type_elt;
@@ -2710,10 +2714,10 @@ yyreduce:
 			}
     break;
 
-  case 62:
+  case 63:
 
 /* Line 1455 of yacc.c  */
-#line 572 "c-exp.y"
+#line 577 "c-exp.y"
     { write_exp_elt_opcode (pstate, TYPE_INSTANCE);
 			 /* See above.  */
 			 write_exp_elt_longcst (pstate,
@@ -2724,10 +2728,10 @@ yyreduce:
 		       }
     break;
 
-  case 66:
+  case 67:
 
 /* Line 1455 of yacc.c  */
-#line 594 "c-exp.y"
+#line 599 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_FUNC_STATIC_VAR);
 			  write_exp_string (pstate, (yyvsp[(3) - (3)].sval));
@@ -2735,215 +2739,215 @@ yyreduce:
 			}
     break;
 
-  case 67:
+  case 68:
 
 /* Line 1455 of yacc.c  */
-#line 602 "c-exp.y"
+#line 607 "c-exp.y"
     { (yyval.lval) = end_arglist () - 1; }
     break;
 
-  case 68:
+  case 69:
 
 /* Line 1455 of yacc.c  */
-#line 605 "c-exp.y"
+#line 610 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_ARRAY);
 			  write_exp_elt_longcst (pstate, (LONGEST) 0);
 			  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(3) - (3)].lval));
 			  write_exp_elt_opcode (pstate, OP_ARRAY); }
     break;
 
-  case 69:
+  case 70:
 
 /* Line 1455 of yacc.c  */
-#line 612 "c-exp.y"
+#line 617 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_MEMVAL_TYPE); }
     break;
 
-  case 70:
+  case 71:
 
 /* Line 1455 of yacc.c  */
-#line 616 "c-exp.y"
+#line 621 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_CAST_TYPE); }
     break;
 
-  case 71:
+  case 72:
 
 /* Line 1455 of yacc.c  */
-#line 620 "c-exp.y"
+#line 625 "c-exp.y"
     { }
     break;
 
-  case 72:
+  case 73:
 
 /* Line 1455 of yacc.c  */
-#line 626 "c-exp.y"
+#line 631 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REPEAT); }
     break;
 
-  case 73:
+  case 74:
 
 /* Line 1455 of yacc.c  */
-#line 630 "c-exp.y"
+#line 635 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_MUL); }
     break;
 
-  case 74:
+  case 75:
 
 /* Line 1455 of yacc.c  */
-#line 634 "c-exp.y"
+#line 639 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_DIV); }
     break;
 
-  case 75:
+  case 76:
 
 /* Line 1455 of yacc.c  */
-#line 638 "c-exp.y"
+#line 643 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REM); }
     break;
 
-  case 76:
+  case 77:
 
 /* Line 1455 of yacc.c  */
-#line 642 "c-exp.y"
+#line 647 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ADD); }
     break;
 
-  case 77:
+  case 78:
 
 /* Line 1455 of yacc.c  */
-#line 646 "c-exp.y"
+#line 651 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUB); }
     break;
 
-  case 78:
+  case 79:
 
 /* Line 1455 of yacc.c  */
-#line 650 "c-exp.y"
+#line 655 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LSH); }
     break;
 
-  case 79:
+  case 80:
 
 /* Line 1455 of yacc.c  */
-#line 654 "c-exp.y"
+#line 659 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_RSH); }
     break;
 
-  case 80:
+  case 81:
 
 /* Line 1455 of yacc.c  */
-#line 658 "c-exp.y"
+#line 663 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_EQUAL); }
     break;
 
-  case 81:
+  case 82:
 
 /* Line 1455 of yacc.c  */
-#line 662 "c-exp.y"
+#line 667 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
     break;
 
-  case 82:
+  case 83:
 
 /* Line 1455 of yacc.c  */
-#line 666 "c-exp.y"
+#line 671 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LEQ); }
     break;
 
-  case 83:
+  case 84:
 
 /* Line 1455 of yacc.c  */
-#line 670 "c-exp.y"
+#line 675 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GEQ); }
     break;
 
-  case 84:
+  case 85:
 
 /* Line 1455 of yacc.c  */
-#line 674 "c-exp.y"
+#line 679 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LESS); }
     break;
 
-  case 85:
+  case 86:
 
 /* Line 1455 of yacc.c  */
-#line 678 "c-exp.y"
+#line 683 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GTR); }
     break;
 
-  case 86:
+  case 87:
 
 /* Line 1455 of yacc.c  */
-#line 682 "c-exp.y"
+#line 687 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_AND); }
     break;
 
-  case 87:
+  case 88:
 
 /* Line 1455 of yacc.c  */
-#line 686 "c-exp.y"
+#line 691 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_XOR); }
     break;
 
-  case 88:
+  case 89:
 
 /* Line 1455 of yacc.c  */
-#line 690 "c-exp.y"
+#line 695 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_IOR); }
     break;
 
-  case 89:
+  case 90:
 
 /* Line 1455 of yacc.c  */
-#line 694 "c-exp.y"
+#line 699 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_AND); }
     break;
 
-  case 90:
+  case 91:
 
 /* Line 1455 of yacc.c  */
-#line 698 "c-exp.y"
+#line 703 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_OR); }
     break;
 
-  case 91:
+  case 92:
 
 /* Line 1455 of yacc.c  */
-#line 702 "c-exp.y"
+#line 707 "c-exp.y"
     { write_exp_elt_opcode (pstate, TERNOP_COND); }
     break;
 
-  case 92:
+  case 93:
 
 /* Line 1455 of yacc.c  */
-#line 706 "c-exp.y"
+#line 711 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN); }
     break;
 
-  case 93:
+  case 94:
 
 /* Line 1455 of yacc.c  */
-#line 710 "c-exp.y"
+#line 715 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY);
 			  write_exp_elt_opcode (pstate, (yyvsp[(2) - (3)].opcode));
 			  write_exp_elt_opcode (pstate,
 						BINOP_ASSIGN_MODIFY); }
     break;
 
-  case 94:
+  case 95:
 
 /* Line 1455 of yacc.c  */
-#line 717 "c-exp.y"
+#line 722 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_int).type);
 			  write_exp_elt_longcst (pstate, (LONGEST) ((yyvsp[(1) - (1)].typed_val_int).val));
 			  write_exp_elt_opcode (pstate, OP_LONG); }
     break;
 
-  case 95:
+  case 96:
 
 /* Line 1455 of yacc.c  */
-#line 724 "c-exp.y"
+#line 729 "c-exp.y"
     {
 			  struct stoken_vector vec;
 			  vec.len = 1;
@@ -2952,10 +2956,10 @@ yyreduce:
 			}
     break;
 
-  case 96:
+  case 97:
 
 /* Line 1455 of yacc.c  */
-#line 733 "c-exp.y"
+#line 738 "c-exp.y"
     { YYSTYPE val;
 			  parse_number (pstate, (yyvsp[(1) - (1)].ssym).stoken.ptr,
 					(yyvsp[(1) - (1)].ssym).stoken.length, 0, &val);
@@ -2967,39 +2971,39 @@ yyreduce:
 			}
     break;
 
-  case 97:
+  case 98:
 
 /* Line 1455 of yacc.c  */
-#line 746 "c-exp.y"
+#line 751 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_FLOAT);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_float).type);
 			  write_exp_elt_floatcst (pstate, (yyvsp[(1) - (1)].typed_val_float).val);
 			  write_exp_elt_opcode (pstate, OP_FLOAT); }
     break;
 
-  case 99:
+  case 100:
 
 /* Line 1455 of yacc.c  */
-#line 756 "c-exp.y"
+#line 761 "c-exp.y"
     {
 			  write_dollar_variable (pstate, (yyvsp[(1) - (1)].sval));
 			}
     break;
 
-  case 100:
+  case 101:
 
 /* Line 1455 of yacc.c  */
-#line 762 "c-exp.y"
+#line 767 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_OBJC_SELECTOR);
 			  write_exp_string (pstate, (yyvsp[(3) - (4)].sval));
 			  write_exp_elt_opcode (pstate, OP_OBJC_SELECTOR); }
     break;
 
-  case 101:
+  case 102:
 
 /* Line 1455 of yacc.c  */
-#line 769 "c-exp.y"
+#line 774 "c-exp.y"
     { struct type *type = (yyvsp[(3) - (4)].tval);
 			  write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate, lookup_signed_typename
@@ -3019,41 +3023,41 @@ yyreduce:
 			  write_exp_elt_opcode (pstate, OP_LONG); }
     break;
 
-  case 102:
+  case 103:
 
 /* Line 1455 of yacc.c  */
-#line 789 "c-exp.y"
+#line 794 "c-exp.y"
     { write_exp_elt_opcode (pstate,
 						UNOP_REINTERPRET_CAST); }
     break;
 
-  case 103:
+  case 104:
 
 /* Line 1455 of yacc.c  */
-#line 794 "c-exp.y"
+#line 799 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_CAST_TYPE); }
     break;
 
-  case 104:
+  case 105:
 
 /* Line 1455 of yacc.c  */
-#line 798 "c-exp.y"
+#line 803 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_DYNAMIC_CAST); }
     break;
 
-  case 105:
+  case 106:
 
 /* Line 1455 of yacc.c  */
-#line 802 "c-exp.y"
+#line 807 "c-exp.y"
     { /* We could do more error checking here, but
 			     it doesn't seem worthwhile.  */
 			  write_exp_elt_opcode (pstate, UNOP_CAST_TYPE); }
     break;
 
-  case 106:
+  case 107:
 
 /* Line 1455 of yacc.c  */
-#line 809 "c-exp.y"
+#line 814 "c-exp.y"
     {
 			  /* We copy the string here, and not in the
 			     lexer, to guarantee that we do not leak a
@@ -3071,10 +3075,10 @@ yyreduce:
 			}
     break;
 
-  case 107:
+  case 108:
 
 /* Line 1455 of yacc.c  */
-#line 826 "c-exp.y"
+#line 831 "c-exp.y"
     {
 			  /* Note that we NUL-terminate here, but just
 			     for convenience.  */
@@ -3092,10 +3096,10 @@ yyreduce:
 			}
     break;
 
-  case 108:
+  case 109:
 
 /* Line 1455 of yacc.c  */
-#line 844 "c-exp.y"
+#line 849 "c-exp.y"
     {
 			  int i;
 			  c_string_type type = C_STRING;
@@ -3128,19 +3132,19 @@ yyreduce:
 			}
     break;
 
-  case 109:
+  case 110:
 
 /* Line 1455 of yacc.c  */
-#line 879 "c-exp.y"
+#line 884 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_OBJC_NSSTRING);
 			  write_exp_string (pstate, (yyvsp[(1) - (1)].sval));
 			  write_exp_elt_opcode (pstate, OP_OBJC_NSSTRING); }
     break;
 
-  case 110:
+  case 111:
 
 /* Line 1455 of yacc.c  */
-#line 886 "c-exp.y"
+#line 891 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
                           write_exp_elt_type (pstate,
 					  parse_type (pstate)->builtin_bool);
@@ -3148,10 +3152,10 @@ yyreduce:
                           write_exp_elt_opcode (pstate, OP_LONG); }
     break;
 
-  case 111:
+  case 112:
 
 /* Line 1455 of yacc.c  */
-#line 894 "c-exp.y"
+#line 899 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
                           write_exp_elt_type (pstate,
 					  parse_type (pstate)->builtin_bool);
@@ -3159,10 +3163,10 @@ yyreduce:
                           write_exp_elt_opcode (pstate, OP_LONG); }
     break;
 
-  case 112:
+  case 113:
 
 /* Line 1455 of yacc.c  */
-#line 904 "c-exp.y"
+#line 909 "c-exp.y"
     {
 			  if ((yyvsp[(1) - (1)].ssym).sym.symbol)
 			    (yyval.bval) = SYMBOL_BLOCK_VALUE ((yyvsp[(1) - (1)].ssym).sym.symbol);
@@ -3172,19 +3176,19 @@ yyreduce:
 			}
     break;
 
-  case 113:
+  case 114:
 
 /* Line 1455 of yacc.c  */
-#line 912 "c-exp.y"
+#line 917 "c-exp.y"
     {
 			  (yyval.bval) = (yyvsp[(1) - (1)].bval);
 			}
     break;
 
-  case 114:
+  case 115:
 
 /* Line 1455 of yacc.c  */
-#line 918 "c-exp.y"
+#line 923 "c-exp.y"
     { struct symbol *tem
 			    = lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval),
 					     VAR_DOMAIN, NULL).symbol;
@@ -3195,10 +3199,10 @@ yyreduce:
 			  (yyval.bval) = SYMBOL_BLOCK_VALUE (tem); }
     break;
 
-  case 115:
+  case 116:
 
 /* Line 1455 of yacc.c  */
-#line 929 "c-exp.y"
+#line 934 "c-exp.y"
     { struct symbol *sym = (yyvsp[(1) - (2)].ssym).sym.symbol;
 
 			  if (sym == NULL || !SYMBOL_IS_ARGUMENT (sym)
@@ -3213,10 +3217,10 @@ yyreduce:
 			}
     break;
 
-  case 116:
+  case 117:
 
 /* Line 1455 of yacc.c  */
-#line 944 "c-exp.y"
+#line 949 "c-exp.y"
     { struct block_symbol sym
 			    = lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval),
 					     VAR_DOMAIN, NULL);
@@ -3225,12 +3229,8 @@ yyreduce:
 			    error (_("No symbol \"%s\" in specified context."),
 				   copy_name ((yyvsp[(3) - (3)].sval)));
 			  if (symbol_read_needs_frame (sym.symbol))
-			    {
-			      if (innermost_block == 0
-				  || contained_in (sym.block,
-						   innermost_block))
-				innermost_block = sym.block;
-			    }
+
+			    innermost_block.update (sym);
 
 			  write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			  write_exp_elt_block (pstate, sym.block);
@@ -3238,10 +3238,10 @@ yyreduce:
 			  write_exp_elt_opcode (pstate, OP_VAR_VALUE); }
     break;
 
-  case 117:
+  case 118:
 
 /* Line 1455 of yacc.c  */
-#line 966 "c-exp.y"
+#line 967 "c-exp.y"
     {
 			  struct type *type = (yyvsp[(1) - (3)].tsym).type;
 			  type = check_typedef (type);
@@ -3256,10 +3256,10 @@ yyreduce:
 			}
     break;
 
-  case 118:
+  case 119:
 
 /* Line 1455 of yacc.c  */
-#line 979 "c-exp.y"
+#line 980 "c-exp.y"
     {
 			  struct type *type = (yyvsp[(1) - (4)].tsym).type;
 			  struct stoken tmp_token;
@@ -3285,10 +3285,10 @@ yyreduce:
 			}
     break;
 
-  case 119:
+  case 120:
 
 /* Line 1455 of yacc.c  */
-#line 1003 "c-exp.y"
+#line 1004 "c-exp.y"
     {
 			  char *copy = copy_name ((yyvsp[(3) - (5)].sval));
 			  error (_("No type \"%s\" within class "
@@ -3297,10 +3297,10 @@ yyreduce:
 			}
     break;
 
-  case 121:
+  case 122:
 
 /* Line 1455 of yacc.c  */
-#line 1013 "c-exp.y"
+#line 1014 "c-exp.y"
     {
 			  char *name = copy_name ((yyvsp[(2) - (2)].ssym).stoken);
 			  struct symbol *sym;
@@ -3328,36 +3328,40 @@ yyreduce:
 			}
     break;
 
-  case 122:
+  case 123:
 
 /* Line 1455 of yacc.c  */
-#line 1041 "c-exp.y"
+#line 1042 "c-exp.y"
     { struct block_symbol sym = (yyvsp[(1) - (1)].ssym).sym;
 
 			  if (sym.symbol)
 			    {
 			      if (symbol_read_needs_frame (sym.symbol))
+				innermost_block.update (sym);
+
+			      /* If we found a function, see if it's
+				 an ifunc resolver that has the same
+				 address as the ifunc symbol itself.
+				 If so, prefer the ifunc symbol.  */
+
+			      bound_minimal_symbol resolver
+				= find_gnu_ifunc (sym.symbol);
+			      if (resolver.minsym != NULL)
+				write_exp_msymbol (pstate, resolver);
+			      else
 				{
-				  if (innermost_block == 0
-				      || contained_in (sym.block,
-						       innermost_block))
-				    innermost_block = sym.block;
+				  write_exp_elt_opcode (pstate, OP_VAR_VALUE);
+				  write_exp_elt_block (pstate, sym.block);
+				  write_exp_elt_sym (pstate, sym.symbol);
+				  write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 				}
-
-			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
-			      write_exp_elt_block (pstate, sym.block);
-			      write_exp_elt_sym (pstate, sym.symbol);
-			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			    }
 			  else if ((yyvsp[(1) - (1)].ssym).is_a_field_of_this)
 			    {
 			      /* C++: it hangs off of `this'.  Must
 			         not inadvertently convert from a method call
 				 to data ref.  */
-			      if (innermost_block == 0
-				  || contained_in (sym.block,
-						   innermost_block))
-				innermost_block = sym.block;
+			      innermost_block.update (sym);
 			      write_exp_elt_opcode (pstate, OP_THIS);
 			      write_exp_elt_opcode (pstate, OP_THIS);
 			      write_exp_elt_opcode (pstate, STRUCTOP_PTR);
@@ -3387,7 +3391,10 @@ yyreduce:
 				 is important for example for "p
 				 *__errno_location()".  */
 			      symbol *alias_target
-				= find_function_alias_target (msymbol);
+				= ((msymbol.minsym->type != mst_text_gnu_ifunc
+				    && msymbol.minsym->type != mst_data_gnu_ifunc)
+				   ? find_function_alias_target (msymbol)
+				   : NULL);
 			      if (alias_target != NULL)
 				{
 				  write_exp_elt_opcode (pstate, OP_VAR_VALUE);
@@ -3402,59 +3409,59 @@ yyreduce:
 			}
     break;
 
-  case 123:
+  case 124:
 
 /* Line 1455 of yacc.c  */
-#line 1112 "c-exp.y"
+#line 1120 "c-exp.y"
     { insert_type_address_space (pstate, copy_name ((yyvsp[(2) - (2)].ssym).stoken)); }
     break;
 
-  case 131:
+  case 132:
 
 /* Line 1455 of yacc.c  */
-#line 1133 "c-exp.y"
+#line 1141 "c-exp.y"
     { insert_type (tp_pointer); }
     break;
 
-  case 133:
+  case 134:
 
 /* Line 1455 of yacc.c  */
-#line 1136 "c-exp.y"
+#line 1144 "c-exp.y"
     { insert_type (tp_pointer); }
     break;
 
-  case 135:
+  case 136:
 
 /* Line 1455 of yacc.c  */
-#line 1139 "c-exp.y"
+#line 1147 "c-exp.y"
     { insert_type (tp_reference); }
     break;
 
-  case 136:
+  case 137:
 
 /* Line 1455 of yacc.c  */
-#line 1141 "c-exp.y"
+#line 1149 "c-exp.y"
     { insert_type (tp_reference); }
     break;
 
-  case 137:
+  case 138:
 
 /* Line 1455 of yacc.c  */
-#line 1143 "c-exp.y"
+#line 1151 "c-exp.y"
     { insert_type (tp_rvalue_reference); }
     break;
 
-  case 138:
+  case 139:
 
 /* Line 1455 of yacc.c  */
-#line 1145 "c-exp.y"
+#line 1153 "c-exp.y"
     { insert_type (tp_rvalue_reference); }
     break;
 
-  case 139:
+  case 140:
 
 /* Line 1455 of yacc.c  */
-#line 1149 "c-exp.y"
+#line 1157 "c-exp.y"
     {
 			  (yyval.type_stack) = get_type_stack ();
 			  /* This cleanup is eventually run by
@@ -3463,24 +3470,24 @@ yyreduce:
 			}
     break;
 
-  case 140:
+  case 141:
 
 /* Line 1455 of yacc.c  */
-#line 1158 "c-exp.y"
+#line 1166 "c-exp.y"
     { (yyval.type_stack) = append_type_stack ((yyvsp[(2) - (2)].type_stack), (yyvsp[(1) - (2)].type_stack)); }
     break;
 
-  case 143:
+  case 144:
 
 /* Line 1455 of yacc.c  */
-#line 1164 "c-exp.y"
+#line 1172 "c-exp.y"
     { (yyval.type_stack) = (yyvsp[(2) - (3)].type_stack); }
     break;
 
-  case 144:
+  case 145:
 
 /* Line 1455 of yacc.c  */
-#line 1166 "c-exp.y"
+#line 1174 "c-exp.y"
     {
 			  push_type_stack ((yyvsp[(1) - (2)].type_stack));
 			  push_type_int ((yyvsp[(2) - (2)].lval));
@@ -3489,10 +3496,10 @@ yyreduce:
 			}
     break;
 
-  case 145:
+  case 146:
 
 /* Line 1455 of yacc.c  */
-#line 1173 "c-exp.y"
+#line 1181 "c-exp.y"
     {
 			  push_type_int ((yyvsp[(1) - (1)].lval));
 			  push_type (tp_array);
@@ -3500,10 +3507,10 @@ yyreduce:
 			}
     break;
 
-  case 146:
+  case 147:
 
 /* Line 1455 of yacc.c  */
-#line 1180 "c-exp.y"
+#line 1188 "c-exp.y"
     {
 			  push_type_stack ((yyvsp[(1) - (2)].type_stack));
 			  push_typelist ((yyvsp[(2) - (2)].tvec));
@@ -3511,105 +3518,96 @@ yyreduce:
 			}
     break;
 
-  case 147:
+  case 148:
 
 /* Line 1455 of yacc.c  */
-#line 1186 "c-exp.y"
+#line 1194 "c-exp.y"
     {
 			  push_typelist ((yyvsp[(1) - (1)].tvec));
 			  (yyval.type_stack) = get_type_stack ();
 			}
     break;
 
-  case 148:
-
-/* Line 1455 of yacc.c  */
-#line 1193 "c-exp.y"
-    { (yyval.lval) = -1; }
-    break;
-
   case 149:
 
 /* Line 1455 of yacc.c  */
-#line 1195 "c-exp.y"
+#line 1201 "c-exp.y"
     { (yyval.lval) = -1; }
     break;
 
   case 150:
 
 /* Line 1455 of yacc.c  */
-#line 1197 "c-exp.y"
-    { (yyval.lval) = (yyvsp[(2) - (3)].typed_val_int).val; }
+#line 1203 "c-exp.y"
+    { (yyval.lval) = -1; }
     break;
 
   case 151:
 
 /* Line 1455 of yacc.c  */
-#line 1199 "c-exp.y"
+#line 1205 "c-exp.y"
     { (yyval.lval) = (yyvsp[(2) - (3)].typed_val_int).val; }
     break;
 
   case 152:
 
 /* Line 1455 of yacc.c  */
-#line 1203 "c-exp.y"
-    { (yyval.tvec) = NULL; }
+#line 1207 "c-exp.y"
+    { (yyval.lval) = (yyvsp[(2) - (3)].typed_val_int).val; }
     break;
 
   case 153:
 
 /* Line 1455 of yacc.c  */
-#line 1205 "c-exp.y"
-    { (yyval.tvec) = (yyvsp[(2) - (3)].tvec); }
+#line 1211 "c-exp.y"
+    { (yyval.tvec) = NULL; }
     break;
 
-  case 155:
+  case 154:
 
 /* Line 1455 of yacc.c  */
-#line 1221 "c-exp.y"
-    { (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; }
+#line 1213 "c-exp.y"
+    { (yyval.tvec) = (yyvsp[(2) - (3)].tvec); }
     break;
 
   case 156:
 
 /* Line 1455 of yacc.c  */
-#line 1223 "c-exp.y"
-    { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
-						       parse_gdbarch (pstate),
-						       "int"); }
+#line 1229 "c-exp.y"
+    { (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; }
     break;
 
   case 157:
 
 /* Line 1455 of yacc.c  */
-#line 1227 "c-exp.y"
+#line 1231 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
-						       "long"); }
+						       "int"); }
     break;
 
   case 158:
 
 /* Line 1455 of yacc.c  */
-#line 1231 "c-exp.y"
+#line 1235 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
-						       "short"); }
+						       "long"); }
     break;
 
   case 159:
 
 /* Line 1455 of yacc.c  */
-#line 1235 "c-exp.y"
+#line 1239 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
-						       "long"); }
+						       "short"); }
     break;
 
   case 160:
 
 /* Line 1455 of yacc.c  */
-#line 1239 "c-exp.y"
+#line 1243 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long"); }
@@ -3618,7 +3616,7 @@ yyreduce:
   case 161:
 
 /* Line 1455 of yacc.c  */
-#line 1243 "c-exp.y"
+#line 1247 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long"); }
@@ -3627,7 +3625,7 @@ yyreduce:
   case 162:
 
 /* Line 1455 of yacc.c  */
-#line 1247 "c-exp.y"
+#line 1251 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long"); }
@@ -3636,16 +3634,16 @@ yyreduce:
   case 163:
 
 /* Line 1455 of yacc.c  */
-#line 1251 "c-exp.y"
-    { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
-							 parse_gdbarch (pstate),
-							 "long"); }
+#line 1255 "c-exp.y"
+    { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
+						       parse_gdbarch (pstate),
+						       "long"); }
     break;
 
   case 164:
 
 /* Line 1455 of yacc.c  */
-#line 1255 "c-exp.y"
+#line 1259 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long"); }
@@ -3654,7 +3652,7 @@ yyreduce:
   case 165:
 
 /* Line 1455 of yacc.c  */
-#line 1259 "c-exp.y"
+#line 1263 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long"); }
@@ -3663,16 +3661,16 @@ yyreduce:
   case 166:
 
 /* Line 1455 of yacc.c  */
-#line 1263 "c-exp.y"
-    { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
-						       parse_gdbarch (pstate),
-						       "long long"); }
+#line 1267 "c-exp.y"
+    { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
+							 parse_gdbarch (pstate),
+							 "long"); }
     break;
 
   case 167:
 
 /* Line 1455 of yacc.c  */
-#line 1267 "c-exp.y"
+#line 1271 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long long"); }
@@ -3681,7 +3679,7 @@ yyreduce:
   case 168:
 
 /* Line 1455 of yacc.c  */
-#line 1271 "c-exp.y"
+#line 1275 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long long"); }
@@ -3690,7 +3688,7 @@ yyreduce:
   case 169:
 
 /* Line 1455 of yacc.c  */
-#line 1275 "c-exp.y"
+#line 1279 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long long"); }
@@ -3699,7 +3697,7 @@ yyreduce:
   case 170:
 
 /* Line 1455 of yacc.c  */
-#line 1279 "c-exp.y"
+#line 1283 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long long"); }
@@ -3708,7 +3706,7 @@ yyreduce:
   case 171:
 
 /* Line 1455 of yacc.c  */
-#line 1283 "c-exp.y"
+#line 1287 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long long"); }
@@ -3717,16 +3715,16 @@ yyreduce:
   case 172:
 
 /* Line 1455 of yacc.c  */
-#line 1287 "c-exp.y"
-    { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
-							 parse_gdbarch (pstate),
-							 "long long"); }
+#line 1291 "c-exp.y"
+    { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
+						       parse_gdbarch (pstate),
+						       "long long"); }
     break;
 
   case 173:
 
 /* Line 1455 of yacc.c  */
-#line 1291 "c-exp.y"
+#line 1295 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long long"); }
@@ -3735,7 +3733,7 @@ yyreduce:
   case 174:
 
 /* Line 1455 of yacc.c  */
-#line 1295 "c-exp.y"
+#line 1299 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long long"); }
@@ -3744,7 +3742,7 @@ yyreduce:
   case 175:
 
 /* Line 1455 of yacc.c  */
-#line 1299 "c-exp.y"
+#line 1303 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long long"); }
@@ -3753,61 +3751,70 @@ yyreduce:
   case 176:
 
 /* Line 1455 of yacc.c  */
-#line 1303 "c-exp.y"
+#line 1307 "c-exp.y"
+    { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
+							 parse_gdbarch (pstate),
+							 "long long"); }
+    break;
+
+  case 177:
+
+/* Line 1455 of yacc.c  */
+#line 1311 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "short"); }
     break;
 
-  case 177:
+  case 178:
 
 /* Line 1455 of yacc.c  */
-#line 1307 "c-exp.y"
+#line 1315 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "short"); }
     break;
 
-  case 178:
+  case 179:
 
 /* Line 1455 of yacc.c  */
-#line 1311 "c-exp.y"
+#line 1319 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "short"); }
     break;
 
-  case 179:
+  case 180:
 
 /* Line 1455 of yacc.c  */
-#line 1315 "c-exp.y"
+#line 1323 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "short"); }
     break;
 
-  case 180:
+  case 181:
 
 /* Line 1455 of yacc.c  */
-#line 1319 "c-exp.y"
+#line 1327 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "short"); }
     break;
 
-  case 181:
+  case 182:
 
 /* Line 1455 of yacc.c  */
-#line 1323 "c-exp.y"
+#line 1331 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "short"); }
     break;
 
-  case 182:
+  case 183:
 
 /* Line 1455 of yacc.c  */
-#line 1327 "c-exp.y"
+#line 1335 "c-exp.y"
     { (yyval.tval) = lookup_typename (parse_language (pstate),
 						parse_gdbarch (pstate),
 						"double",
@@ -3815,10 +3822,10 @@ yyreduce:
 						0); }
     break;
 
-  case 183:
+  case 184:
 
 /* Line 1455 of yacc.c  */
-#line 1333 "c-exp.y"
+#line 1341 "c-exp.y"
     { (yyval.tval) = lookup_typename (parse_language (pstate),
 						parse_gdbarch (pstate),
 						"long double",
@@ -3826,28 +3833,28 @@ yyreduce:
 						0); }
     break;
 
-  case 184:
+  case 185:
 
 /* Line 1455 of yacc.c  */
-#line 1339 "c-exp.y"
+#line 1347 "c-exp.y"
     { (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)),
 					      expression_context_block); }
     break;
 
-  case 185:
+  case 186:
 
 /* Line 1455 of yacc.c  */
-#line 1342 "c-exp.y"
+#line 1350 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_STRUCT, "", 0);
 			  (yyval.tval) = NULL;
 			}
     break;
 
-  case 186:
+  case 187:
 
 /* Line 1455 of yacc.c  */
-#line 1347 "c-exp.y"
+#line 1355 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_STRUCT, (yyvsp[(2) - (3)].sval).ptr,
 					       (yyvsp[(2) - (3)].sval).length);
@@ -3855,28 +3862,28 @@ yyreduce:
 			}
     break;
 
-  case 187:
+  case 188:
 
 /* Line 1455 of yacc.c  */
-#line 1353 "c-exp.y"
+#line 1361 "c-exp.y"
     { (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)),
 					      expression_context_block); }
     break;
 
-  case 188:
+  case 189:
 
 /* Line 1455 of yacc.c  */
-#line 1356 "c-exp.y"
+#line 1364 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_STRUCT, "", 0);
 			  (yyval.tval) = NULL;
 			}
     break;
 
-  case 189:
+  case 190:
 
 /* Line 1455 of yacc.c  */
-#line 1361 "c-exp.y"
+#line 1369 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_STRUCT, (yyvsp[(2) - (3)].sval).ptr,
 					       (yyvsp[(2) - (3)].sval).length);
@@ -3884,28 +3891,28 @@ yyreduce:
 			}
     break;
 
-  case 190:
+  case 191:
 
 /* Line 1455 of yacc.c  */
-#line 1367 "c-exp.y"
+#line 1375 "c-exp.y"
     { (yyval.tval) = lookup_union (copy_name ((yyvsp[(2) - (2)].sval)),
 					     expression_context_block); }
     break;
 
-  case 191:
+  case 192:
 
 /* Line 1455 of yacc.c  */
-#line 1370 "c-exp.y"
+#line 1378 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_UNION, "", 0);
 			  (yyval.tval) = NULL;
 			}
     break;
 
-  case 192:
+  case 193:
 
 /* Line 1455 of yacc.c  */
-#line 1375 "c-exp.y"
+#line 1383 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_UNION, (yyvsp[(2) - (3)].sval).ptr,
 					       (yyvsp[(2) - (3)].sval).length);
@@ -3913,28 +3920,28 @@ yyreduce:
 			}
     break;
 
-  case 193:
+  case 194:
 
 /* Line 1455 of yacc.c  */
-#line 1381 "c-exp.y"
+#line 1389 "c-exp.y"
     { (yyval.tval) = lookup_enum (copy_name ((yyvsp[(2) - (2)].sval)),
 					    expression_context_block); }
     break;
 
-  case 194:
+  case 195:
 
 /* Line 1455 of yacc.c  */
-#line 1384 "c-exp.y"
+#line 1392 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_ENUM, "", 0);
 			  (yyval.tval) = NULL;
 			}
     break;
 
-  case 195:
+  case 196:
 
 /* Line 1455 of yacc.c  */
-#line 1389 "c-exp.y"
+#line 1397 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_ENUM, (yyvsp[(2) - (3)].sval).ptr,
 					       (yyvsp[(2) - (3)].sval).length);
@@ -3942,69 +3949,69 @@ yyreduce:
 			}
     break;
 
-  case 196:
+  case 197:
 
 /* Line 1455 of yacc.c  */
-#line 1395 "c-exp.y"
+#line 1403 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 TYPE_NAME((yyvsp[(2) - (2)].tsym).type)); }
     break;
 
-  case 197:
+  case 198:
 
 /* Line 1455 of yacc.c  */
-#line 1399 "c-exp.y"
+#line 1407 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "int"); }
     break;
 
-  case 198:
+  case 199:
 
 /* Line 1455 of yacc.c  */
-#line 1403 "c-exp.y"
+#line 1411 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       TYPE_NAME((yyvsp[(2) - (2)].tsym).type)); }
     break;
 
-  case 199:
+  case 200:
 
 /* Line 1455 of yacc.c  */
-#line 1407 "c-exp.y"
+#line 1415 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "int"); }
     break;
 
-  case 200:
+  case 201:
 
 /* Line 1455 of yacc.c  */
-#line 1414 "c-exp.y"
+#line 1422 "c-exp.y"
     { (yyval.tval) = lookup_template_type(copy_name((yyvsp[(2) - (5)].sval)), (yyvsp[(4) - (5)].tval),
 						    expression_context_block);
 			}
     break;
 
-  case 201:
+  case 202:
 
 /* Line 1455 of yacc.c  */
-#line 1418 "c-exp.y"
+#line 1426 "c-exp.y"
     { (yyval.tval) = follow_types ((yyvsp[(2) - (2)].tval)); }
     break;
 
-  case 202:
+  case 203:
 
 /* Line 1455 of yacc.c  */
-#line 1420 "c-exp.y"
+#line 1428 "c-exp.y"
     { (yyval.tval) = follow_types ((yyvsp[(1) - (2)].tval)); }
     break;
 
-  case 204:
+  case 205:
 
 /* Line 1455 of yacc.c  */
-#line 1425 "c-exp.y"
+#line 1433 "c-exp.y"
     {
 		  (yyval.tsym).stoken.ptr = "int";
 		  (yyval.tsym).stoken.length = 3;
@@ -4014,10 +4021,10 @@ yyreduce:
 		}
     break;
 
-  case 205:
+  case 206:
 
 /* Line 1455 of yacc.c  */
-#line 1433 "c-exp.y"
+#line 1441 "c-exp.y"
     {
 		  (yyval.tsym).stoken.ptr = "long";
 		  (yyval.tsym).stoken.length = 4;
@@ -4027,10 +4034,10 @@ yyreduce:
 		}
     break;
 
-  case 206:
+  case 207:
 
 /* Line 1455 of yacc.c  */
-#line 1441 "c-exp.y"
+#line 1449 "c-exp.y"
     {
 		  (yyval.tsym).stoken.ptr = "short";
 		  (yyval.tsym).stoken.length = 5;
@@ -4040,17 +4047,17 @@ yyreduce:
 		}
     break;
 
-  case 207:
+  case 208:
 
 /* Line 1455 of yacc.c  */
-#line 1452 "c-exp.y"
+#line 1460 "c-exp.y"
     { check_parameter_typelist ((yyvsp[(1) - (1)].tvec)); }
     break;
 
-  case 208:
+  case 209:
 
 /* Line 1455 of yacc.c  */
-#line 1454 "c-exp.y"
+#line 1462 "c-exp.y"
     {
 			  VEC_safe_push (type_ptr, (yyvsp[(1) - (3)].tvec), NULL);
 			  check_parameter_typelist ((yyvsp[(1) - (3)].tvec));
@@ -4058,10 +4065,10 @@ yyreduce:
 			}
     break;
 
-  case 209:
+  case 210:
 
 /* Line 1455 of yacc.c  */
-#line 1463 "c-exp.y"
+#line 1471 "c-exp.y"
     {
 		  VEC (type_ptr) *typelist = NULL;
 		  VEC_safe_push (type_ptr, typelist, (yyvsp[(1) - (1)].tval));
@@ -4069,193 +4076,193 @@ yyreduce:
 		}
     break;
 
-  case 210:
+  case 211:
 
 /* Line 1455 of yacc.c  */
-#line 1469 "c-exp.y"
+#line 1477 "c-exp.y"
     {
 		  VEC_safe_push (type_ptr, (yyvsp[(1) - (3)].tvec), (yyvsp[(3) - (3)].tval));
 		  (yyval.tvec) = (yyvsp[(1) - (3)].tvec);
 		}
     break;
 
-  case 212:
+  case 213:
 
 /* Line 1455 of yacc.c  */
-#line 1477 "c-exp.y"
+#line 1485 "c-exp.y"
     {
 		  push_type_stack ((yyvsp[(2) - (2)].type_stack));
 		  (yyval.tval) = follow_types ((yyvsp[(1) - (2)].tval));
 		}
     break;
 
-  case 213:
+  case 214:
 
 /* Line 1455 of yacc.c  */
-#line 1484 "c-exp.y"
+#line 1492 "c-exp.y"
     { (yyval.tval) = follow_types ((yyvsp[(1) - (2)].tval)); }
     break;
 
-  case 218:
+  case 219:
 
 /* Line 1455 of yacc.c  */
-#line 1496 "c-exp.y"
+#line 1504 "c-exp.y"
     { insert_type (tp_const);
 			  insert_type (tp_volatile);
 			}
     break;
 
-  case 219:
+  case 220:
 
 /* Line 1455 of yacc.c  */
-#line 1500 "c-exp.y"
+#line 1508 "c-exp.y"
     { insert_type (tp_const); }
     break;
 
-  case 220:
+  case 221:
 
 /* Line 1455 of yacc.c  */
-#line 1502 "c-exp.y"
+#line 1510 "c-exp.y"
     { insert_type (tp_volatile); }
     break;
 
-  case 221:
+  case 222:
 
 /* Line 1455 of yacc.c  */
-#line 1506 "c-exp.y"
+#line 1514 "c-exp.y"
     { (yyval.sval) = operator_stoken (" new"); }
     break;
 
-  case 222:
+  case 223:
 
 /* Line 1455 of yacc.c  */
-#line 1508 "c-exp.y"
+#line 1516 "c-exp.y"
     { (yyval.sval) = operator_stoken (" delete"); }
     break;
 
-  case 223:
+  case 224:
 
 /* Line 1455 of yacc.c  */
-#line 1510 "c-exp.y"
+#line 1518 "c-exp.y"
     { (yyval.sval) = operator_stoken (" new[]"); }
     break;
 
-  case 224:
+  case 225:
 
 /* Line 1455 of yacc.c  */
-#line 1512 "c-exp.y"
+#line 1520 "c-exp.y"
     { (yyval.sval) = operator_stoken (" delete[]"); }
     break;
 
-  case 225:
+  case 226:
 
 /* Line 1455 of yacc.c  */
-#line 1514 "c-exp.y"
+#line 1522 "c-exp.y"
     { (yyval.sval) = operator_stoken (" new[]"); }
     break;
 
-  case 226:
+  case 227:
 
 /* Line 1455 of yacc.c  */
-#line 1516 "c-exp.y"
+#line 1524 "c-exp.y"
     { (yyval.sval) = operator_stoken (" delete[]"); }
     break;
 
-  case 227:
+  case 228:
 
 /* Line 1455 of yacc.c  */
-#line 1518 "c-exp.y"
+#line 1526 "c-exp.y"
     { (yyval.sval) = operator_stoken ("+"); }
     break;
 
-  case 228:
+  case 229:
 
 /* Line 1455 of yacc.c  */
-#line 1520 "c-exp.y"
+#line 1528 "c-exp.y"
     { (yyval.sval) = operator_stoken ("-"); }
     break;
 
-  case 229:
+  case 230:
 
 /* Line 1455 of yacc.c  */
-#line 1522 "c-exp.y"
+#line 1530 "c-exp.y"
     { (yyval.sval) = operator_stoken ("*"); }
     break;
 
-  case 230:
+  case 231:
 
 /* Line 1455 of yacc.c  */
-#line 1524 "c-exp.y"
+#line 1532 "c-exp.y"
     { (yyval.sval) = operator_stoken ("/"); }
     break;
 
-  case 231:
+  case 232:
 
 /* Line 1455 of yacc.c  */
-#line 1526 "c-exp.y"
+#line 1534 "c-exp.y"
     { (yyval.sval) = operator_stoken ("%"); }
     break;
 
-  case 232:
+  case 233:
 
 /* Line 1455 of yacc.c  */
-#line 1528 "c-exp.y"
+#line 1536 "c-exp.y"
     { (yyval.sval) = operator_stoken ("^"); }
     break;
 
-  case 233:
+  case 234:
 
 /* Line 1455 of yacc.c  */
-#line 1530 "c-exp.y"
+#line 1538 "c-exp.y"
     { (yyval.sval) = operator_stoken ("&"); }
     break;
 
-  case 234:
+  case 235:
 
 /* Line 1455 of yacc.c  */
-#line 1532 "c-exp.y"
+#line 1540 "c-exp.y"
     { (yyval.sval) = operator_stoken ("|"); }
     break;
 
-  case 235:
+  case 236:
 
 /* Line 1455 of yacc.c  */
-#line 1534 "c-exp.y"
+#line 1542 "c-exp.y"
     { (yyval.sval) = operator_stoken ("~"); }
     break;
 
-  case 236:
+  case 237:
 
 /* Line 1455 of yacc.c  */
-#line 1536 "c-exp.y"
+#line 1544 "c-exp.y"
     { (yyval.sval) = operator_stoken ("!"); }
     break;
 
-  case 237:
+  case 238:
 
 /* Line 1455 of yacc.c  */
-#line 1538 "c-exp.y"
+#line 1546 "c-exp.y"
     { (yyval.sval) = operator_stoken ("="); }
     break;
 
-  case 238:
+  case 239:
 
 /* Line 1455 of yacc.c  */
-#line 1540 "c-exp.y"
+#line 1548 "c-exp.y"
     { (yyval.sval) = operator_stoken ("<"); }
     break;
 
-  case 239:
+  case 240:
 
 /* Line 1455 of yacc.c  */
-#line 1542 "c-exp.y"
+#line 1550 "c-exp.y"
     { (yyval.sval) = operator_stoken (">"); }
     break;
 
-  case 240:
+  case 241:
 
 /* Line 1455 of yacc.c  */
-#line 1544 "c-exp.y"
+#line 1552 "c-exp.y"
     { const char *op = " unknown";
 			  switch ((yyvsp[(2) - (2)].opcode))
 			    {
@@ -4297,122 +4304,122 @@ yyreduce:
 			}
     break;
 
-  case 241:
+  case 242:
 
 /* Line 1455 of yacc.c  */
-#line 1584 "c-exp.y"
+#line 1592 "c-exp.y"
     { (yyval.sval) = operator_stoken ("<<"); }
     break;
 
-  case 242:
+  case 243:
 
 /* Line 1455 of yacc.c  */
-#line 1586 "c-exp.y"
+#line 1594 "c-exp.y"
     { (yyval.sval) = operator_stoken (">>"); }
     break;
 
-  case 243:
+  case 244:
 
 /* Line 1455 of yacc.c  */
-#line 1588 "c-exp.y"
+#line 1596 "c-exp.y"
     { (yyval.sval) = operator_stoken ("=="); }
     break;
 
-  case 244:
+  case 245:
 
 /* Line 1455 of yacc.c  */
-#line 1590 "c-exp.y"
+#line 1598 "c-exp.y"
     { (yyval.sval) = operator_stoken ("!="); }
     break;
 
-  case 245:
+  case 246:
 
 /* Line 1455 of yacc.c  */
-#line 1592 "c-exp.y"
+#line 1600 "c-exp.y"
     { (yyval.sval) = operator_stoken ("<="); }
     break;
 
-  case 246:
+  case 247:
 
 /* Line 1455 of yacc.c  */
-#line 1594 "c-exp.y"
+#line 1602 "c-exp.y"
     { (yyval.sval) = operator_stoken (">="); }
     break;
 
-  case 247:
+  case 248:
 
 /* Line 1455 of yacc.c  */
-#line 1596 "c-exp.y"
+#line 1604 "c-exp.y"
     { (yyval.sval) = operator_stoken ("&&"); }
     break;
 
-  case 248:
+  case 249:
 
 /* Line 1455 of yacc.c  */
-#line 1598 "c-exp.y"
+#line 1606 "c-exp.y"
     { (yyval.sval) = operator_stoken ("||"); }
     break;
 
-  case 249:
+  case 250:
 
 /* Line 1455 of yacc.c  */
-#line 1600 "c-exp.y"
+#line 1608 "c-exp.y"
     { (yyval.sval) = operator_stoken ("++"); }
     break;
 
-  case 250:
+  case 251:
 
 /* Line 1455 of yacc.c  */
-#line 1602 "c-exp.y"
+#line 1610 "c-exp.y"
     { (yyval.sval) = operator_stoken ("--"); }
     break;
 
-  case 251:
+  case 252:
 
 /* Line 1455 of yacc.c  */
-#line 1604 "c-exp.y"
+#line 1612 "c-exp.y"
     { (yyval.sval) = operator_stoken (","); }
     break;
 
-  case 252:
+  case 253:
 
 /* Line 1455 of yacc.c  */
-#line 1606 "c-exp.y"
+#line 1614 "c-exp.y"
     { (yyval.sval) = operator_stoken ("->*"); }
     break;
 
-  case 253:
+  case 254:
 
 /* Line 1455 of yacc.c  */
-#line 1608 "c-exp.y"
+#line 1616 "c-exp.y"
     { (yyval.sval) = operator_stoken ("->"); }
     break;
 
-  case 254:
+  case 255:
 
 /* Line 1455 of yacc.c  */
-#line 1610 "c-exp.y"
+#line 1618 "c-exp.y"
     { (yyval.sval) = operator_stoken ("()"); }
     break;
 
-  case 255:
+  case 256:
 
 /* Line 1455 of yacc.c  */
-#line 1612 "c-exp.y"
+#line 1620 "c-exp.y"
     { (yyval.sval) = operator_stoken ("[]"); }
     break;
 
-  case 256:
+  case 257:
 
 /* Line 1455 of yacc.c  */
-#line 1614 "c-exp.y"
+#line 1622 "c-exp.y"
     { (yyval.sval) = operator_stoken ("[]"); }
     break;
 
-  case 257:
+  case 258:
 
 /* Line 1455 of yacc.c  */
-#line 1616 "c-exp.y"
+#line 1624 "c-exp.y"
     { string_file buf;
 
 			  c_print_type ((yyvsp[(2) - (2)].tval), NULL, &buf, -1, 0,
@@ -4427,52 +4434,52 @@ yyreduce:
 			}
     break;
 
-  case 258:
+  case 259:
 
 /* Line 1455 of yacc.c  */
-#line 1632 "c-exp.y"
+#line 1640 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
-  case 259:
+  case 260:
 
 /* Line 1455 of yacc.c  */
-#line 1633 "c-exp.y"
+#line 1641 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
-  case 260:
+  case 261:
 
 /* Line 1455 of yacc.c  */
-#line 1634 "c-exp.y"
+#line 1642 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].tsym).stoken; }
     break;
 
-  case 261:
+  case 262:
 
 /* Line 1455 of yacc.c  */
-#line 1635 "c-exp.y"
+#line 1643 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
-  case 262:
+  case 263:
 
 /* Line 1455 of yacc.c  */
-#line 1636 "c-exp.y"
+#line 1644 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
-  case 263:
+  case 264:
 
 /* Line 1455 of yacc.c  */
-#line 1637 "c-exp.y"
+#line 1645 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].sval); }
     break;
 
-  case 266:
+  case 267:
 
 /* Line 1455 of yacc.c  */
-#line 1650 "c-exp.y"
+#line 1658 "c-exp.y"
     {
 			  struct field_of_this_result is_a_field_of_this;
 
@@ -4489,7 +4496,7 @@ yyreduce:
 
 
 /* Line 1455 of yacc.c  */
-#line 4494 "c-exp.c"
+#line 4501 "c-exp.c.tmp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4701,7 +4708,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 1664 "c-exp.y"
+#line 1672 "c-exp.y"
 
 
 /* Like write_exp_string, but prepends a '~'.  */
@@ -4840,13 +4847,13 @@ parse_number (struct parser_state *par_s
 	  len -= 2;
 	}
       /* Handle suffixes: 'f' for float, 'l' for long double.  */
-      else if (len >= 1 && tolower (p[len - 1]) == 'f')
+      else if (len >= 1 && TOLOWER (p[len - 1]) == 'f')
 	{
 	  putithere->typed_val_float.type
 	    = parse_type (par_state)->builtin_float;
 	  len -= 1;
 	}
-      else if (len >= 1 && tolower (p[len - 1]) == 'l')
+      else if (len >= 1 && TOLOWER (p[len - 1]) == 'l')
 	{
 	  putithere->typed_val_float.type
 	    = parse_type (par_state)->builtin_long_double;
@@ -5057,9 +5064,9 @@ c_parse_escape (const char **ptr, struct
       if (output)
 	obstack_grow_str (output, "\\x");
       ++tokptr;
-      if (!isxdigit (*tokptr))
+      if (!ISXDIGIT (*tokptr))
 	error (_("\\x escape without a following hex digit"));
-      while (isxdigit (*tokptr))
+      while (ISXDIGIT (*tokptr))
 	{
 	  if (output)
 	    obstack_1grow (output, *tokptr);
@@ -5082,7 +5089,7 @@ c_parse_escape (const char **ptr, struct
 	if (output)
 	  obstack_grow_str (output, "\\");
 	for (i = 0;
-	     i < 3 && isdigit (*tokptr) && *tokptr != '8' && *tokptr != '9';
+	     i < 3 && ISDIGIT (*tokptr) && *tokptr != '8' && *tokptr != '9';
 	     ++i)
 	  {
 	    if (output)
@@ -5107,9 +5114,9 @@ c_parse_escape (const char **ptr, struct
 	    obstack_1grow (output, *tokptr);
 	  }
 	++tokptr;
-	if (!isxdigit (*tokptr))
+	if (!ISXDIGIT (*tokptr))
 	  error (_("\\%c escape without a following hex digit"), c);
-	for (i = 0; i < len && isxdigit (*tokptr); ++i)
+	for (i = 0; i < len && ISXDIGIT (*tokptr); ++i)
 	  {
 	    if (output)
 	      obstack_1grow (output, *tokptr);
@@ -5367,6 +5374,8 @@ static const struct token ident_tokens[]
     {"struct", STRUCT, OP_NULL, 0},
     {"signed", SIGNED_KEYWORD, OP_NULL, 0},
     {"sizeof", SIZEOF, OP_NULL, 0},
+    {"_Alignof", ALIGNOF, OP_NULL, 0},
+    {"alignof", ALIGNOF, OP_NULL, FLAG_CXX},
     {"double", DOUBLE_KEYWORD, OP_NULL, 0},
     {"false", FALSEKEYWORD, OP_NULL, FLAG_CXX},
     {"class", CLASS, OP_NULL, FLAG_CXX},
@@ -5500,24 +5509,23 @@ static struct macro_scope *expression_ma
 static int saw_name_at_eof;
 
 /* This is set if the previously-returned token was a structure
-   operator -- either '.' or ARROW.  This is used only when parsing to
-   do field name completion.  */
-static int last_was_structop;
+   operator -- either '.' or ARROW.  */
+static bool last_was_structop;
 
 /* Read one token, getting characters through lexptr.  */
 
 static int
-lex_one_token (struct parser_state *par_state, int *is_quoted_name)
+lex_one_token (struct parser_state *par_state, bool *is_quoted_name)
 {
   int c;
   int namelen;
   unsigned int i;
   const char *tokstart;
-  int saw_structop = last_was_structop;
+  bool saw_structop = last_was_structop;
   char *copy;
 
-  last_was_structop = 0;
-  *is_quoted_name = 0;
+  last_was_structop = false;
+  *is_quoted_name = false;
 
  retry:
 
@@ -5558,7 +5566,7 @@ lex_one_token (struct parser_state *par_
 
 	lexptr += 2;
 	yylval.opcode = tokentab2[i].opcode;
-	if (parse_completion && tokentab2[i].token == ARROW)
+	if (tokentab2[i].token == ARROW)
 	  last_was_structop = 1;
 	return tokentab2[i].token;
       }
@@ -5582,7 +5590,7 @@ lex_one_token (struct parser_state *par_
 	  saw_name_at_eof = 0;
 	  return COMPLETE;
 	}
-      else if (saw_structop)
+      else if (parse_completion && saw_structop)
 	return COMPLETE;
       else
         return 0;
@@ -5622,11 +5630,10 @@ lex_one_token (struct parser_state *par_
       /* Might be a floating point number.  */
       if (lexptr[1] < '0' || lexptr[1] > '9')
 	{
-	  if (parse_completion)
-	    last_was_structop = 1;
+	  last_was_structop = true;
 	  goto symbol;		/* Nope, must be a symbol. */
 	}
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
 
     case '0':
     case '1':
@@ -5702,7 +5709,7 @@ lex_one_token (struct parser_state *par_
 	    size_t len = strlen ("selector");
 
 	    if (strncmp (p, "selector", len) == 0
-		&& (p[len] == '\0' || isspace (p[len])))
+		&& (p[len] == '\0' || ISSPACE (p[len])))
 	      {
 		lexptr = p + len;
 		return SELECTOR;
@@ -5711,9 +5718,9 @@ lex_one_token (struct parser_state *par_
 	      goto parse_string;
 	  }
 
-	while (isspace (*p))
+	while (ISSPACE (*p))
 	  p++;
-	if (strncmp (p, "entry", len) == 0 && !isalnum (p[len])
+	if (strncmp (p, "entry", len) == 0 && !c_ident_is_alnum (p[len])
 	    && p[len] != '_')
 	  {
 	    lexptr = &p[len];
@@ -5764,7 +5771,7 @@ lex_one_token (struct parser_state *par_
 	      {
 		++tokstart;
 		namelen = lexptr - tokstart - 1;
-		*is_quoted_name = 1;
+		*is_quoted_name = true;
 
 		goto tryname;
 	      }
@@ -5775,16 +5782,14 @@ lex_one_token (struct parser_state *par_
       }
     }
 
-  if (!(c == '_' || c == '$'
-	|| (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')))
+  if (!(c == '_' || c == '$' || c_ident_is_alpha (c)))
     /* We must have come across a bad character (e.g. ';').  */
     error (_("Invalid character '%c' in expression."), c);
 
   /* It's a name.  See how long it is.  */
   namelen = 0;
   for (c = tokstart[namelen];
-       (c == '_' || c == '$' || (c >= '0' && c <= '9')
-	|| (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '<');)
+       (c == '_' || c == '$' || c_ident_is_alnum (c) || c == '<');)
     {
       /* Template parameter lists are part of the name.
 	 FIXME: This mishandles `print $a<4&&$a>3'.  */
@@ -5912,11 +5917,12 @@ auto_obstack name_obstack;
    Updates yylval and returns the new token type.  BLOCK is the block
    in which lookups start; this can be NULL to mean the global scope.
    IS_QUOTED_NAME is non-zero if the name token was originally quoted
-   in single quotes.  */
+   in single quotes.  IS_AFTER_STRUCTOP is true if this name follows
+   a structure operator -- either '.' or ARROW  */
 
 static int
 classify_name (struct parser_state *par_state, const struct block *block,
-	       int is_quoted_name)
+	       bool is_quoted_name, bool is_after_structop)
 {
   struct block_symbol bsym;
   char *copy;
@@ -5960,11 +5966,13 @@ classify_name (struct parser_state *par_
 	    }
 	}
 
-      /* If we found a field, then we want to prefer it over a
+      /* If we found a field on the "this" object, or we are looking
+	 up a field on a struct, then we want to prefer it over a
 	 filename.  However, if the name was quoted, then it is better
 	 to check for a filename or a block, since this is the only
 	 way the user has of requiring the extension to be used.  */
-      if (is_a_field_of_this.type == NULL || is_quoted_name)
+      if ((is_a_field_of_this.type == NULL && !is_after_structop) 
+	  || is_quoted_name)
 	{
 	  /* See if it's a file name. */
 	  struct symtab *symtab;
@@ -6045,7 +6053,7 @@ classify_inner_name (struct parser_state
   char *copy;
 
   if (context == NULL)
-    return classify_name (par_state, block, 0);
+    return classify_name (par_state, block, false, false);
 
   type = check_typedef (context);
   if (!type_aggregate_p (type))
@@ -6119,19 +6127,21 @@ yylex (void)
   struct type *context_type = NULL;
   int last_to_examine, next_to_examine, checkpoint;
   const struct block *search_block;
-  int is_quoted_name;
+  bool is_quoted_name, last_lex_was_structop;
 
   if (popping && !VEC_empty (token_and_value, token_fifo))
     goto do_pop;
   popping = 0;
 
+  last_lex_was_structop = last_was_structop;
+
   /* Read the first token and decide what to do.  Most of the
      subsequent code is C++-only; but also depends on seeing a "::" or
      name-like token.  */
   current.token = lex_one_token (pstate, &is_quoted_name);
   if (current.token == NAME)
     current.token = classify_name (pstate, expression_context_block,
-				   is_quoted_name);
+				   is_quoted_name, last_lex_was_structop);
   if (parse_language (pstate)->la_language != language_cplus
       || (current.token != TYPENAME && current.token != COLONCOLON
 	  && current.token != FILENAME))
@@ -6144,7 +6154,7 @@ yylex (void)
   last_was_coloncolon = current.token == COLONCOLON;
   while (1)
     {
-      int ignore;
+      bool ignore;
 
       /* We ignore quoted names other than the very first one.
 	 Subsequent ones do not have any special meaning.  */
@@ -6270,32 +6280,30 @@ c_parse (struct parser_state *par_state)
   gdb_assert (par_state != NULL);
   pstate = par_state;
 
-  /* Note that parsing (within yyparse) freely installs cleanups
-     assuming they'll be run here (below).  */
-
-  back_to = make_cleanup (free_current_contents, &expression_macro_scope);
-
-  /* Set up the scope for macro expansion.  */
-  expression_macro_scope = NULL;
+  gdb::unique_xmalloc_ptr<struct macro_scope> macro_scope;
 
   if (expression_context_block)
-    expression_macro_scope
-      = sal_macro_scope (find_pc_line (expression_context_pc, 0));
+    macro_scope = sal_macro_scope (find_pc_line (expression_context_pc, 0));
   else
-    expression_macro_scope = default_macro_scope ();
-  if (! expression_macro_scope)
-    expression_macro_scope = user_macro_scope ();
+    macro_scope = default_macro_scope ();
+  if (! macro_scope)
+    macro_scope = user_macro_scope ();
+
+  scoped_restore restore_macro_scope
+    = make_scoped_restore (&expression_macro_scope, macro_scope.get ());
 
   /* Initialize macro expansion code.  */
   obstack_init (&expansion_obstack);
   gdb_assert (! macro_original_text);
-  make_cleanup (scan_macro_cleanup, 0);
+  /* Note that parsing (within yyparse) freely installs cleanups
+     assuming they'll be run here (below).  */
+  back_to = make_cleanup (scan_macro_cleanup, 0);
 
   scoped_restore restore_yydebug = make_scoped_restore (&yydebug,
 							parser_debug);
 
   /* Initialize some state used by the lexer.  */
-  last_was_structop = 0;
+  last_was_structop = false;
   saw_name_at_eof = 0;
 
   VEC_free (token_and_value, token_fifo);
@@ -6366,12 +6374,12 @@ c_print_token (FILE *file, int type, YYS
 
 #endif
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-exp.y ./gdb/c-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-exp.y	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/c-exp.y	2018-07-10 02:06:12.000000000 +0000
@@ -42,6 +42,7 @@
 #include "parser-defs.h"
 #include "language.h"
 #include "c-lang.h"
+#include "c-support.h"
 #include "bfd.h" /* Required by objfiles.h.  */
 #include "symfile.h" /* Required by objfiles.h.  */
 #include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
@@ -69,7 +70,7 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static int type_aggregate_p (struct type *);
 
@@ -173,7 +174,7 @@ static void c_print_token (FILE *file, i
 %token <ssym> NAME_OR_INT
 
 %token OPERATOR
-%token STRUCT CLASS UNION ENUM SIZEOF UNSIGNED COLONCOLON
+%token STRUCT CLASS UNION ENUM SIZEOF ALIGNOF UNSIGNED COLONCOLON
 %token TEMPLATE
 %token ERROR
 %token NEW DELETE
@@ -307,6 +308,10 @@ exp	:	SIZEOF exp       %prec UNARY
 			{ write_exp_elt_opcode (pstate, UNOP_SIZEOF); }
 	;
 
+exp	:	ALIGNOF '(' type_exp ')'	%prec UNARY
+			{ write_exp_elt_opcode (pstate, UNOP_ALIGNOF); }
+	;
+
 exp	:	exp ARROW name
 			{ write_exp_elt_opcode (pstate, STRUCTOP_PTR);
 			  write_exp_string (pstate, $3);
@@ -949,12 +954,8 @@ variable:	block COLONCOLON name
 			    error (_("No symbol \"%s\" in specified context."),
 				   copy_name ($3));
 			  if (symbol_read_needs_frame (sym.symbol))
-			    {
-			      if (innermost_block == 0
-				  || contained_in (sym.block,
-						   innermost_block))
-				innermost_block = sym.block;
-			    }
+
+			    innermost_block.update (sym);
 
 			  write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			  write_exp_elt_block (pstate, sym.block);
@@ -1043,27 +1044,31 @@ variable:	name_not_typename
 			  if (sym.symbol)
 			    {
 			      if (symbol_read_needs_frame (sym.symbol))
+				innermost_block.update (sym);
+
+			      /* If we found a function, see if it's
+				 an ifunc resolver that has the same
+				 address as the ifunc symbol itself.
+				 If so, prefer the ifunc symbol.  */
+
+			      bound_minimal_symbol resolver
+				= find_gnu_ifunc (sym.symbol);
+			      if (resolver.minsym != NULL)
+				write_exp_msymbol (pstate, resolver);
+			      else
 				{
-				  if (innermost_block == 0
-				      || contained_in (sym.block,
-						       innermost_block))
-				    innermost_block = sym.block;
+				  write_exp_elt_opcode (pstate, OP_VAR_VALUE);
+				  write_exp_elt_block (pstate, sym.block);
+				  write_exp_elt_sym (pstate, sym.symbol);
+				  write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 				}
-
-			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
-			      write_exp_elt_block (pstate, sym.block);
-			      write_exp_elt_sym (pstate, sym.symbol);
-			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			    }
 			  else if ($1.is_a_field_of_this)
 			    {
 			      /* C++: it hangs off of `this'.  Must
 			         not inadvertently convert from a method call
 				 to data ref.  */
-			      if (innermost_block == 0
-				  || contained_in (sym.block,
-						   innermost_block))
-				innermost_block = sym.block;
+			      innermost_block.update (sym);
 			      write_exp_elt_opcode (pstate, OP_THIS);
 			      write_exp_elt_opcode (pstate, OP_THIS);
 			      write_exp_elt_opcode (pstate, STRUCTOP_PTR);
@@ -1093,7 +1098,10 @@ variable:	name_not_typename
 				 is important for example for "p
 				 *__errno_location()".  */
 			      symbol *alias_target
-				= find_function_alias_target (msymbol);
+				= ((msymbol.minsym->type != mst_text_gnu_ifunc
+				    && msymbol.minsym->type != mst_data_gnu_ifunc)
+				   ? find_function_alias_target (msymbol)
+				   : NULL);
 			      if (alias_target != NULL)
 				{
 				  write_exp_elt_opcode (pstate, OP_VAR_VALUE);
@@ -1799,13 +1807,13 @@ parse_number (struct parser_state *par_s
 	  len -= 2;
 	}
       /* Handle suffixes: 'f' for float, 'l' for long double.  */
-      else if (len >= 1 && tolower (p[len - 1]) == 'f')
+      else if (len >= 1 && TOLOWER (p[len - 1]) == 'f')
 	{
 	  putithere->typed_val_float.type
 	    = parse_type (par_state)->builtin_float;
 	  len -= 1;
 	}
-      else if (len >= 1 && tolower (p[len - 1]) == 'l')
+      else if (len >= 1 && TOLOWER (p[len - 1]) == 'l')
 	{
 	  putithere->typed_val_float.type
 	    = parse_type (par_state)->builtin_long_double;
@@ -2016,9 +2024,9 @@ c_parse_escape (const char **ptr, struct
       if (output)
 	obstack_grow_str (output, "\\x");
       ++tokptr;
-      if (!isxdigit (*tokptr))
+      if (!ISXDIGIT (*tokptr))
 	error (_("\\x escape without a following hex digit"));
-      while (isxdigit (*tokptr))
+      while (ISXDIGIT (*tokptr))
 	{
 	  if (output)
 	    obstack_1grow (output, *tokptr);
@@ -2041,7 +2049,7 @@ c_parse_escape (const char **ptr, struct
 	if (output)
 	  obstack_grow_str (output, "\\");
 	for (i = 0;
-	     i < 3 && isdigit (*tokptr) && *tokptr != '8' && *tokptr != '9';
+	     i < 3 && ISDIGIT (*tokptr) && *tokptr != '8' && *tokptr != '9';
 	     ++i)
 	  {
 	    if (output)
@@ -2066,9 +2074,9 @@ c_parse_escape (const char **ptr, struct
 	    obstack_1grow (output, *tokptr);
 	  }
 	++tokptr;
-	if (!isxdigit (*tokptr))
+	if (!ISXDIGIT (*tokptr))
 	  error (_("\\%c escape without a following hex digit"), c);
-	for (i = 0; i < len && isxdigit (*tokptr); ++i)
+	for (i = 0; i < len && ISXDIGIT (*tokptr); ++i)
 	  {
 	    if (output)
 	      obstack_1grow (output, *tokptr);
@@ -2326,6 +2334,8 @@ static const struct token ident_tokens[]
     {"struct", STRUCT, OP_NULL, 0},
     {"signed", SIGNED_KEYWORD, OP_NULL, 0},
     {"sizeof", SIZEOF, OP_NULL, 0},
+    {"_Alignof", ALIGNOF, OP_NULL, 0},
+    {"alignof", ALIGNOF, OP_NULL, FLAG_CXX},
     {"double", DOUBLE_KEYWORD, OP_NULL, 0},
     {"false", FALSEKEYWORD, OP_NULL, FLAG_CXX},
     {"class", CLASS, OP_NULL, FLAG_CXX},
@@ -2459,24 +2469,23 @@ static struct macro_scope *expression_ma
 static int saw_name_at_eof;
 
 /* This is set if the previously-returned token was a structure
-   operator -- either '.' or ARROW.  This is used only when parsing to
-   do field name completion.  */
-static int last_was_structop;
+   operator -- either '.' or ARROW.  */
+static bool last_was_structop;
 
 /* Read one token, getting characters through lexptr.  */
 
 static int
-lex_one_token (struct parser_state *par_state, int *is_quoted_name)
+lex_one_token (struct parser_state *par_state, bool *is_quoted_name)
 {
   int c;
   int namelen;
   unsigned int i;
   const char *tokstart;
-  int saw_structop = last_was_structop;
+  bool saw_structop = last_was_structop;
   char *copy;
 
-  last_was_structop = 0;
-  *is_quoted_name = 0;
+  last_was_structop = false;
+  *is_quoted_name = false;
 
  retry:
 
@@ -2517,7 +2526,7 @@ lex_one_token (struct parser_state *par_
 
 	lexptr += 2;
 	yylval.opcode = tokentab2[i].opcode;
-	if (parse_completion && tokentab2[i].token == ARROW)
+	if (tokentab2[i].token == ARROW)
 	  last_was_structop = 1;
 	return tokentab2[i].token;
       }
@@ -2541,7 +2550,7 @@ lex_one_token (struct parser_state *par_
 	  saw_name_at_eof = 0;
 	  return COMPLETE;
 	}
-      else if (saw_structop)
+      else if (parse_completion && saw_structop)
 	return COMPLETE;
       else
         return 0;
@@ -2581,11 +2590,10 @@ lex_one_token (struct parser_state *par_
       /* Might be a floating point number.  */
       if (lexptr[1] < '0' || lexptr[1] > '9')
 	{
-	  if (parse_completion)
-	    last_was_structop = 1;
+	  last_was_structop = true;
 	  goto symbol;		/* Nope, must be a symbol. */
 	}
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
 
     case '0':
     case '1':
@@ -2661,7 +2669,7 @@ lex_one_token (struct parser_state *par_
 	    size_t len = strlen ("selector");
 
 	    if (strncmp (p, "selector", len) == 0
-		&& (p[len] == '\0' || isspace (p[len])))
+		&& (p[len] == '\0' || ISSPACE (p[len])))
 	      {
 		lexptr = p + len;
 		return SELECTOR;
@@ -2670,9 +2678,9 @@ lex_one_token (struct parser_state *par_
 	      goto parse_string;
 	  }
 
-	while (isspace (*p))
+	while (ISSPACE (*p))
 	  p++;
-	if (strncmp (p, "entry", len) == 0 && !isalnum (p[len])
+	if (strncmp (p, "entry", len) == 0 && !c_ident_is_alnum (p[len])
 	    && p[len] != '_')
 	  {
 	    lexptr = &p[len];
@@ -2723,7 +2731,7 @@ lex_one_token (struct parser_state *par_
 	      {
 		++tokstart;
 		namelen = lexptr - tokstart - 1;
-		*is_quoted_name = 1;
+		*is_quoted_name = true;
 
 		goto tryname;
 	      }
@@ -2734,16 +2742,14 @@ lex_one_token (struct parser_state *par_
       }
     }
 
-  if (!(c == '_' || c == '$'
-	|| (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')))
+  if (!(c == '_' || c == '$' || c_ident_is_alpha (c)))
     /* We must have come across a bad character (e.g. ';').  */
     error (_("Invalid character '%c' in expression."), c);
 
   /* It's a name.  See how long it is.  */
   namelen = 0;
   for (c = tokstart[namelen];
-       (c == '_' || c == '$' || (c >= '0' && c <= '9')
-	|| (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '<');)
+       (c == '_' || c == '$' || c_ident_is_alnum (c) || c == '<');)
     {
       /* Template parameter lists are part of the name.
 	 FIXME: This mishandles `print $a<4&&$a>3'.  */
@@ -2871,11 +2877,12 @@ auto_obstack name_obstack;
    Updates yylval and returns the new token type.  BLOCK is the block
    in which lookups start; this can be NULL to mean the global scope.
    IS_QUOTED_NAME is non-zero if the name token was originally quoted
-   in single quotes.  */
+   in single quotes.  IS_AFTER_STRUCTOP is true if this name follows
+   a structure operator -- either '.' or ARROW  */
 
 static int
 classify_name (struct parser_state *par_state, const struct block *block,
-	       int is_quoted_name)
+	       bool is_quoted_name, bool is_after_structop)
 {
   struct block_symbol bsym;
   char *copy;
@@ -2919,11 +2926,13 @@ classify_name (struct parser_state *par_
 	    }
 	}
 
-      /* If we found a field, then we want to prefer it over a
+      /* If we found a field on the "this" object, or we are looking
+	 up a field on a struct, then we want to prefer it over a
 	 filename.  However, if the name was quoted, then it is better
 	 to check for a filename or a block, since this is the only
 	 way the user has of requiring the extension to be used.  */
-      if (is_a_field_of_this.type == NULL || is_quoted_name)
+      if ((is_a_field_of_this.type == NULL && !is_after_structop) 
+	  || is_quoted_name)
 	{
 	  /* See if it's a file name. */
 	  struct symtab *symtab;
@@ -3004,7 +3013,7 @@ classify_inner_name (struct parser_state
   char *copy;
 
   if (context == NULL)
-    return classify_name (par_state, block, 0);
+    return classify_name (par_state, block, false, false);
 
   type = check_typedef (context);
   if (!type_aggregate_p (type))
@@ -3078,19 +3087,21 @@ yylex (void)
   struct type *context_type = NULL;
   int last_to_examine, next_to_examine, checkpoint;
   const struct block *search_block;
-  int is_quoted_name;
+  bool is_quoted_name, last_lex_was_structop;
 
   if (popping && !VEC_empty (token_and_value, token_fifo))
     goto do_pop;
   popping = 0;
 
+  last_lex_was_structop = last_was_structop;
+
   /* Read the first token and decide what to do.  Most of the
      subsequent code is C++-only; but also depends on seeing a "::" or
      name-like token.  */
   current.token = lex_one_token (pstate, &is_quoted_name);
   if (current.token == NAME)
     current.token = classify_name (pstate, expression_context_block,
-				   is_quoted_name);
+				   is_quoted_name, last_lex_was_structop);
   if (parse_language (pstate)->la_language != language_cplus
       || (current.token != TYPENAME && current.token != COLONCOLON
 	  && current.token != FILENAME))
@@ -3103,7 +3114,7 @@ yylex (void)
   last_was_coloncolon = current.token == COLONCOLON;
   while (1)
     {
-      int ignore;
+      bool ignore;
 
       /* We ignore quoted names other than the very first one.
 	 Subsequent ones do not have any special meaning.  */
@@ -3229,32 +3240,30 @@ c_parse (struct parser_state *par_state)
   gdb_assert (par_state != NULL);
   pstate = par_state;
 
-  /* Note that parsing (within yyparse) freely installs cleanups
-     assuming they'll be run here (below).  */
-
-  back_to = make_cleanup (free_current_contents, &expression_macro_scope);
-
-  /* Set up the scope for macro expansion.  */
-  expression_macro_scope = NULL;
+  gdb::unique_xmalloc_ptr<struct macro_scope> macro_scope;
 
   if (expression_context_block)
-    expression_macro_scope
-      = sal_macro_scope (find_pc_line (expression_context_pc, 0));
+    macro_scope = sal_macro_scope (find_pc_line (expression_context_pc, 0));
   else
-    expression_macro_scope = default_macro_scope ();
-  if (! expression_macro_scope)
-    expression_macro_scope = user_macro_scope ();
+    macro_scope = default_macro_scope ();
+  if (! macro_scope)
+    macro_scope = user_macro_scope ();
+
+  scoped_restore restore_macro_scope
+    = make_scoped_restore (&expression_macro_scope, macro_scope.get ());
 
   /* Initialize macro expansion code.  */
   obstack_init (&expansion_obstack);
   gdb_assert (! macro_original_text);
-  make_cleanup (scan_macro_cleanup, 0);
+  /* Note that parsing (within yyparse) freely installs cleanups
+     assuming they'll be run here (below).  */
+  back_to = make_cleanup (scan_macro_cleanup, 0);
 
   scoped_restore restore_yydebug = make_scoped_restore (&yydebug,
 							parser_debug);
 
   /* Initialize some state used by the lexer.  */
-  last_was_structop = 0;
+  last_was_structop = false;
   saw_name_at_eof = 0;
 
   VEC_free (token_and_value, token_fifo);
@@ -3325,11 +3334,11 @@ c_print_token (FILE *file, int type, YYS
 
 #endif
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ChangeLog ./gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ChangeLog	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ChangeLog	2018-07-10 02:06:12.000000000 +0000
@@ -1,4 +1,1463 @@
-2018-06-09  Paul Koning  <paul_koning@dell.com>
+2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* contrib/gdb-add-index.sh ($dwarf5): New, use it.
+
+2018-07-04  Joel Brobecker  <brobecker@adacore.com>
+
+	* version.in: Set GDB version number to 8.1.90.DATE-git.
+	* PROBLEMS: Likewise.
+
+2018-07-04  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 8.1.90 released.
+
+2018-07-04  Joel Brobecker  <brobecker@adacore.com>
+
+	* version.in: Set GDB version number to 8.1.90.
+	* PROBLEMS: Likewise.
+
+2018-07-04  Joel Brobecker  <brobecker@adacore.com>
+
+	* NEWS: Change "Changes since GDB 8.1" into "Changes in GDB 8.2".
+
+2018-07-04  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
+	* version.in: Bump version to 8.1.90.DATE-git.
+
+2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.c (linux_init_ptrace): Rename to ...
+	(linux_init_ptrace_procfs): ... this.  Call
+	linux_proc_init_warnings.
+	(linux_nat_target::post_attach)
+	(linux_nat_target::post_startup_inferior): Adjust.
+	* nat/linux-procfs.c (linux_proc_init_warnings): Define function.
+	* nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
+
+2018-07-04  Tom de Vries  <tdevries@suse.de>
+
+	* dwarf2read.c (error_check_comp_unit_head): Move dwarf version
+	check ...
+	(read_comp_unit_head): ... here.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
+	(stop_tracing, tstatus_command)
+	(find_matching_tracepoint_location, merge_uploaded_tracepoints)
+	(print_one_static_tracepoint_marker): Update.
+	* breakpoint.c (static_tracepoints_here, all_tracepoints): Return
+	std::vector.
+	* breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
+	VEC.
+	(all_tracepoints, static_tracepoints_here): Return std::vector.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* common/ptid.c (ptid_equal): Remove.
+	* common/ptid.h (ptid_equal): Don't declare.
+	* ada-tasks.c: Update.
+	* breakpoint.c: Update.
+	* common/agent.c: Update.
+	* corelow.c: Update.
+	* darwin-nat-info.c: Update.
+	* darwin-nat.c: Update.
+	* dcache.c: Update.
+	* dtrace-probe.c: Update.
+	* dummy-frame.c: Update.
+	* fbsd-nat.c: Update.
+	* frame.c: Update.
+	* gdbthread.h: Update.
+	* gnu-nat.c: Update.
+	* go32-nat.c: Update.
+	* inf-loop.c: Update.
+	* inf-ptrace.c: Update.
+	* infcall.c: Update.
+	* infcmd.c: Update.
+	* inflow.c: Update.
+	* infrun.c: Update.
+	* linux-fork.c: Update.
+	* linux-nat.c: Update.
+	* linux-thread-db.c: Update.
+	* mi/mi-cmd-var.c: Update.
+	* mi/mi-interp.c: Update.
+	* mi/mi-main.c: Update.
+	* nto-procfs.c: Update.
+	* ppc-linux-tdep.c: Update.
+	* procfs.c: Update.
+	* python/py-inferior.c: Update.
+	* python/py-record-btrace.c: Update.
+	* python/py-record.c: Update.
+	* ravenscar-thread.c: Update.
+	* regcache.c: Update.
+	* remote-sim.c: Update.
+	* remote.c: Update.
+	* sol-thread.c: Update.
+	* solib.c: Update.
+	* target.c: Update.
+	* tui/tui-stack.c: Update.
+	* varobj.c: Update.
+	* windows-nat.c: Update.
+	* windows-tdep.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* common/ptid.c (ptid_match): Remove.
+	* common/ptid.h (ptid_match): Don't declare.
+	* fbsd-nat.c: Update.
+	* infcmd.c: Update.
+	* infrun.c: Update.
+	* linux-nat.c: Update.
+	* record-btrace.c: Update.
+	* regcache.c: Update.
+	* remote.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* common/ptid.c (ptid_tid_p): Remove.
+	* common/ptid.h (ptid_tid_p): Don't declare.
+	* sol-thread.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* common/ptid.c (ptid_lwp_p): Remove.
+	* common/ptid.h (ptid_lwp_p): Don't declare.
+	* fbsd-nat.c: Update.
+	* linux-nat.c: Update.
+	* nat/linux-procfs.c: Update.
+	* nat/x86-linux-dregs.c: Update.
+	* sol-thread.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* common/ptid.c (ptid_is_pid): Remove.
+	* common/ptid.h (ptid_is_pid): Don't declare.
+	* infrun.c: Update.
+	* linux-nat.c: Update.
+	* mi/mi-interp.c: Update.
+	* remote.c: Update.
+	* thread.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* common/ptid.c (ptid_get_tid): Remove.
+	* common/ptid.h (ptid_get_tid): Don't declare.
+	* ada-tasks.c: Update.
+	* aix-thread.c: Update.
+	* bsd-uthread.c: Update.
+	* darwin-nat.c: Update.
+	* fbsd-nat.c: Update.
+	* i386-darwin-nat.c: Update.
+	* infrun.c: Update.
+	* linux-tdep.c: Update.
+	* nto-procfs.c: Update.
+	* ppc-ravenscar-thread.c: Update.
+	* python/py-infthread.c: Update.
+	* ravenscar-thread.c: Update.
+	* sol-thread.c: Update.
+	* sparc-ravenscar-thread.c: Update.
+	* windows-nat.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* common/ptid.c (ptid_get_lwp): Remove.
+	* common/ptid.h (ptid_get_lwp): Don't declare.
+	* aarch64-linux-nat.c: Update.
+	* ada-tasks.c: Update.
+	* aix-thread.c: Update.
+	* amd64-linux-nat.c: Update.
+	* arm-linux-nat.c: Update.
+	* corelow.c: Update.
+	* fbsd-nat.c: Update.
+	* fbsd-tdep.c: Update.
+	* gnu-nat.c: Update.
+	* i386-cygwin-tdep.c: Update.
+	* i386-gnu-nat.c: Update.
+	* i386-linux-nat.c: Update.
+	* ia64-linux-nat.c: Update.
+	* inf-ptrace.c: Update.
+	* infrun.c: Update.
+	* linux-fork.c: Update.
+	* linux-nat.c: Update.
+	* linux-tdep.c: Update.
+	* linux-thread-db.c: Update.
+	* mips-linux-nat.c: Update.
+	* nat/aarch64-linux-hw-point.c: Update.
+	* nat/aarch64-linux.c: Update.
+	* nat/linux-btrace.c: Update.
+	* nat/linux-osdata.c: Update.
+	* nat/linux-procfs.c: Update.
+	* nat/x86-linux-dregs.c: Update.
+	* obsd-nat.c: Update.
+	* ppc-fbsd-nat.c: Update.
+	* ppc-linux-nat.c: Update.
+	* procfs.c: Update.
+	* python/py-infthread.c: Update.
+	* ravenscar-thread.c: Update.
+	* remote.c: Update.
+	* s390-linux-nat.c: Update.
+	* sol-thread.c: Update.
+	* sol2-tdep.c: Update.
+	* spu-linux-nat.c: Update.
+	* x86-linux-nat.c: Update.
+	* xtensa-linux-nat.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* common/ptid.c (ptid_get_pid): Remove.
+	* common/ptid.h (ptid_get_pid): Don't declare.
+	* aarch64-linux-nat.c: Update.
+	* ada-lang.c: Update.
+	* aix-thread.c: Update.
+	* alpha-bsd-nat.c: Update.
+	* amd64-fbsd-nat.c: Update.
+	* amd64-linux-nat.c: Update.
+	* arm-linux-nat.c: Update.
+	* arm-nbsd-nat.c: Update.
+	* auxv.c: Update.
+	* break-catch-syscall.c: Update.
+	* breakpoint.c: Update.
+	* bsd-uthread.c: Update.
+	* corelow.c: Update.
+	* ctf.c: Update.
+	* darwin-nat.c: Update.
+	* fbsd-nat.c: Update.
+	* fbsd-tdep.c: Update.
+	* gcore.c: Update.
+	* gnu-nat.c: Update.
+	* hppa-nbsd-nat.c: Update.
+	* hppa-obsd-nat.c: Update.
+	* i386-fbsd-nat.c: Update.
+	* ia64-linux-nat.c: Update.
+	* inf-ptrace.c: Update.
+	* infcmd.c: Update.
+	* inferior.c: Update.
+	* inferior.h: Update.
+	* inflow.c: Update.
+	* infrun.c: Update.
+	* linux-fork.c: Update.
+	* linux-nat.c: Update.
+	* linux-tdep.c: Update.
+	* linux-thread-db.c: Update.
+	* m68k-bsd-nat.c: Update.
+	* mi/mi-interp.c: Update.
+	* mi/mi-main.c: Update.
+	* mips-linux-nat.c: Update.
+	* mips-nbsd-nat.c: Update.
+	* mips64-obsd-nat.c: Update.
+	* nat/aarch64-linux-hw-point.c: Update.
+	* nat/aarch64-linux.c: Update.
+	* nat/linux-btrace.c: Update.
+	* nat/linux-osdata.c: Update.
+	* nat/linux-procfs.c: Update.
+	* nat/x86-linux-dregs.c: Update.
+	* nto-procfs.c: Update.
+	* obsd-nat.c: Update.
+	* ppc-linux-nat.c: Update.
+	* ppc-nbsd-nat.c: Update.
+	* ppc-obsd-nat.c: Update.
+	* proc-service.c: Update.
+	* procfs.c: Update.
+	* python/py-inferior.c: Update.
+	* python/py-infthread.c: Update.
+	* ravenscar-thread.c: Update.
+	* record.c: Update.
+	* remote-sim.c: Update.
+	* remote.c: Update.
+	* rs6000-nat.c: Update.
+	* s390-linux-nat.c: Update.
+	* sh-nbsd-nat.c: Update.
+	* sol-thread.c: Update.
+	* sparc-nat.c: Update.
+	* sparc64-tdep.c: Update.
+	* spu-linux-nat.c: Update.
+	* spu-tdep.c: Update.
+	* target-debug.h: Update.
+	* target.c: Update.
+	* thread.c: Update.
+	* tid-parse.c: Update.
+	* tracefile-tfile.c: Update.
+	* vax-bsd-nat.c: Update.
+	* windows-nat.c: Update.
+	* x86-linux-nat.c: Update.
+	* x86-nat.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* common/ptid.c (pid_to_ptid): Remove.
+	* common/ptid.h (pid_to_ptid): Don't declare.
+	* aix-thread.c: Update.
+	* arm-linux-nat.c: Update.
+	* common/ptid.c: Update.
+	* common/ptid.h: Update.
+	* corelow.c: Update.
+	* ctf.c: Update.
+	* darwin-nat.c: Update.
+	* fbsd-nat.c: Update.
+	* fork-child.c: Update.
+	* gnu-nat.c: Update.
+	* go32-nat.c: Update.
+	* inf-ptrace.c: Update.
+	* infcmd.c: Update.
+	* inferior.c: Update.
+	* infrun.c: Update.
+	* linux-fork.c: Update.
+	* linux-nat.c: Update.
+	* nat/aarch64-linux-hw-point.c: Update.
+	* nat/fork-inferior.c: Update.
+	* nat/x86-linux-dregs.c: Update.
+	* nto-procfs.c: Update.
+	* obsd-nat.c: Update.
+	* procfs.c: Update.
+	* progspace.c: Update.
+	* remote.c: Update.
+	* rs6000-nat.c: Update.
+	* s390-linux-nat.c: Update.
+	* sol-thread.c: Update.
+	* spu-linux-nat.c: Update.
+	* target.c: Update.
+	* top.c: Update.
+	* tracefile-tfile.c: Update.
+	* windows-nat.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* common/ptid.h (ptid_build): Don't declare.
+	* common/ptid.c (ptid_build): Remove.
+	* aix-thread.c: Update.
+	* bsd-kvm.c: Update.
+	* bsd-uthread.c: Update.
+	* common/agent.c: Update.
+	* common/ptid.c: Update.
+	* common/ptid.h: Update.
+	* corelow.c: Update.
+	* darwin-nat.c: Update.
+	* fbsd-nat.c: Update.
+	* gnu-nat.c: Update.
+	* linux-fork.c: Update.
+	* linux-nat.c: Update.
+	* linux-thread-db.c: Update.
+	* nat/linux-osdata.c: Update.
+	* nat/linux-procfs.c: Update.
+	* nto-procfs.c: Update.
+	* obsd-nat.c: Update.
+	* proc-service.c: Update.
+	* procfs.c: Update.
+	* ravenscar-thread.c: Update.
+	* remote-sim.c: Update.
+	* remote.c: Update.
+	* sol-thread.c: Update.
+	* target.c: Update.
+	* windows-nat.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* infrun.c (follow_exec): Use exit_inferior_silent.
+	* inferior.c (exit_inferior_num_silent): Remove.
+	* inferior.h (exit_inferior_num_silent): Don't declare.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	PR cli/23340:
+	* darwin-nat.c (darwin_attach_pid): Reset inferior and
+	inferior_ptid on error.
+
+2018-07-02  Maciej W. Rozycki  <macro@mips.com>
+	    Simon Marchi  <simon.marchi@polymtl.ca>
+
+	PR tdep/8282
+	* disasm.h (gdb_disassembler): Add
+	`m_disassembler_options_holder'. member
+	* disasm.c (get_all_disassembler_options): New function.
+	(gdb_disassembler::gdb_disassembler): Use it.
+	(gdb_buffered_insn_length_init_dis): Likewise.
+	(gdb_buffered_insn_length): Adjust accordingly.
+	(set_disassembler_options): Handle options with arguments.
+	(show_disassembler_options_sfunc): Likewise.  Add a leading new
+	line if showing options with descriptions.
+	(disassembler_options_completer): Adapt to using the
+	`disasm_options_and_args_t' structure.
+	* mips-tdep.c (mips_disassembler_options): New variable.
+	(mips_disassembler_options_o32): Likewise.
+	(mips_disassembler_options_n32): Likewise.
+	(mips_disassembler_options_n64): Likewise.
+	(gdb_print_insn_mips): Don't set `disassembler_options'.
+	(gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
+	functions.
+	(mips_gdbarch_init): Always set `gdbarch_print_insn' to
+	`gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
+	`gdbarch_disassembler_options_implicit' and
+	`gdbarch_valid_disassembler_options'.
+	* arm-tdep.c (_initialize_arm_tdep): Adapt to using the
+	`disasm_options_and_args_t' structure.
+	* gdbarch.sh (disassembler_options_implicit): New `gdbarch'
+	method.
+	(valid_disassembler_options): Switch from `disasm_options_t' to
+	the `disasm_options_and_args_t' structure.
+	* NEWS: Document `set disassembler-options' support for the MIPS
+	target.
+	* gdbarch.h: Regenerate.
+	* gdbarch.c: Regenerate.
+
+2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
+
+2018-06-29  Joel Brobecker  <brobecker@adacore.com>
+
+	* amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
+	parameter in call to amd64_target_description.
+	* amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
+	* amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
+	(amd64fbsd_init_abi): Likewise.
+	* amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
+	* amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
+	* amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
+	* amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
+
+2018-06-29  Pedro Alves  <palves@redhat.com>
+
+	* gdb/amd64-tdep.h (amd64_create_target_description): Add
+	"segments" parameter.
+	* gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
+	(_initialize_amd64_tdep): Update call to
+	amd64_create_target_description.
+	(amd64_target_description): Add "segments" parameter.  Adjust
+	the implementation to use it.
+	* gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
+	call to amd64_create_target_description.
+	* gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
+	* gdb/arch/amd64.h (amd64_create_target_description): Add
+	"segments" register.
+	* gdb/arch/amd64.c (amd64_create_target_description): Add
+	"segments" parameter.  Call create_feature_i386_64bit_segments
+	only if SEGMENTS is true.
+	* gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
+	call to amd64_create_target_description.
+
+2018-06-29  Pedro Alves  <palves@redhat.com>
+
+	* thread.c (thread_target_id_str): New, factored out from ...
+	(print_thread_info_1): ... here.  Use it to compute the max
+	"Target Id" column width.
+
+2018-06-29  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (remote_target::extra_thread_info): Delete
+	'display_buf' and 'n' locals.  from the cache, regardless of
+	packet mechanims is in use.  Use cache for qThreadExtra and qP
+	methods too.
+
+2018-06-29  Pedro Alves  <palves@redhat.com>
+
+	* blockframe.c (find_pc_sect_containing_function): New function.
+	* breakpoint.c (print_breakpoint_location): Don't call
+	find_pc_sect_function.
+	* linespec.c (create_sals_line_offset): Record the location's
+	symbol in the sal.
+	* linespec.c (convert_address_location_to_sals): Fill in sal's
+	symbol with find_pc_sect_containing_function.
+	* symtab.c (find_function_start_sal): Rename to ...
+	(find_function_start_sal_1): ... this.
+	(find_function_start_sal): Reimplement as wrapper around
+	find_function_start_sal_1, and use
+	find_pc_sect_containing_function to fill in the sal's symbol.
+	(find_function_start_sal(symbol*, bool)): Adjust.
+	* symtab.h (find_pc_function, find_pc_sect_function): Adjust
+	comments.
+	(find_pc_sect_containing_function): Declare.
+
+2018-06-29  Pedro Alves  <palves@redhat.com>
+
+	* inline-frame.c (stopped_by_user_bp_inline_frame): Return
+	true if the the location has no symbol.
+
+2018-06-28  Tom Tromey  <tom@tromey.com>
+
+	* NEWS: Mention --enable-codesign.
+	* silent-rules.mk (ECHO_SIGN): New variable.
+	* configure.ac: Add --enable-codesign.
+	* configure: Rebuild.
+	* Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
+	(gdb$(EXEEXT)): Optionally invoke codesign.
+
+2018-06-28  Pedro Alves  <palves@redhat.com>
+
+	* gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
+	comments.
+	(switch_to_thread_no_regs): Adjust comment.
+	* infcmd.c (stop_pc): Delete.
+	(post_create_inferior, info_program_command): Replace references
+	to stop_pc with references to thread_info->suspend.stop_pc.
+	* inferior.h (stop_pc): Delete declaration.
+	* infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
+	(handle_inferior_event_1, handle_signal_stop)
+	(process_event_stop_test, keep_going_stepped_thread)
+	(handle_step_into_function, handle_step_into_function_backward)
+	(print_stop_location): Replace references to stop_pc with
+	references to thread_info->suspend.stop_pc.
+	(struct infcall_suspend_state) <stop_pc>: Delete field.
+	(save_infcall_suspend_state, restore_infcall_suspend_state):
+	Remove references to inf_stat->stop_pc.
+	* linux-fork.c (fork_load_infrun_state): Likewise.
+	* record-btrace.c (record_btrace_set_replay): Likewise.
+	* record-full.c (record_full_goto_entry): Likewise.
+	* remote.c (print_one_stopped_thread): Likewise.
+	* target.c (target_resume): Extend comment.
+	* thread.c (set_executing_thread): New.
+	(set_executing): Use it.
+	(switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
+	Remove references to stop_pc.
+
+2018-06-28  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
+	Moving fetching stop_pc until after ecs->event_thread is refreshed.
+
+2018-06-28  Tom Tromey  <tom@tromey.com>
+
+	* coffread.c (coff_symfile_finish): Update.
+	* xcoffread.c (xcoff_symfile_finish): Update.
+	* elfread.c (elf_symfile_finish): Update.
+	* symfile.h (dwarf2_free_objfile): Don't declare.
+	* dwarf2read.c (_initialize_dwarf2_read): Use
+	register_objfile_data_with_cleanup.
+	(dwarf2_free_objfile): Now static.  Change signature.
+
+2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
+
+	* symfile.c (add_symbol_file_command, _initialize_symfile): Add
+	option "-o" to add-symbol-file-load to add an offset to each
+	section's load address.
+	* symfile.c (set_objfile_default_section_offset): New function.
+
+2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
+
+	* symfile.c (add_symbol_file_command): Make sure that sections
+	with the same name are sorted in the same order.
+
+2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
+
+	* symfile.c (add_symbol_file_command, _initialize_symfile): Do not
+	require the second argument.  If omitted, load sections at the
+	addresses specified in the file.
+
+2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
+
+	* symfile.c (symbol_file_command, symbol_file_add_main_1)
+	(_initialize_symfile): Add option "-o" to symbol-file to add an
+	offset to each section of the symbol file.
+
+2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
+
+	* MAINTAINERS (Write After Approval): Add Petr Tesarik.
+
+2018-06-27  Tom Tromey  <tom@tromey.com>
+
+	* stack.c (_initialize_stack): Update "func" help text.
+
+2018-06-27  Tom Tromey  <tom@tromey.com>
+
+	* python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
+	std::vector.
+	(unwind_infopy_str, pyuw_create_unwind_info)
+	(unwind_infopy_add_saved_register, pyuw_sniffer)
+	(unwind_infopy_dealloc, unwind_infopy_add_saved_register):
+	Update.
+	(struct saved_reg): Add constructor.
+	<value>: Now a gdbpy_ref<>.
+
+2018-06-27  Tom Tromey  <tom@tromey.com>
+
+	* machoread.c (macho_symfile_read): Define "symbol_table" earlier.
+
+2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb-gdb.py.in: Format using autopep8.
+
+2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
+	(type_lookup_function): Recognize CORE_ADDR values.
+
+2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
+	print tag_name.
+
+2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
+	<__lt__>: Add.
+
+2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb-gdb.py: Move to...
+	* gdb-gdb.py.in: ... here.
+	* configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
+	* Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
+	dependencies.
+	(distclean): Remove gdb-gdb.py when cleaning.
+	(gdb-gdb.py, gdb-gdb.gdb): New rules.
+	* configure: Re-generate.
+
+2018-06-27  Pedro Alves  <palves@redhat.com>
+
+	* proc-service.c (get_ps_regcache): New.
+	(ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
+	(ps_lsetfpregs): Use it.
+
+2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
+
+	PR gdb/21695
+	* dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
+	(dwarf_decode_lines_1): Adjust.
+
+2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
+	override.
+	<info_proc>: Likewise.
+
+2018-06-26  Joel Brobecker  <brobecker@adacore.com>
+
+	* windows-nat.c (do_windows_fetch_inferior_registers): Rename
+	to windows_fetch_one_register, and only handle the case of
+	fetching one register.  Move the code that reloads the context
+	and iterates over all registers if R is negative to...
+	(windows_nat_target::fetch_registers): ... here.
+	(do_windows_store_inferior_registers): Rename to
+	windows_store_one_register, and only handle the case of storing
+	one register.  Move the code that handles the case where r is
+	negative to...
+	(windows_nat_target::store_registers) ... here.
+
+2018-06-26  Tom Tromey  <tom@tromey.com>
+
+	PR rust/22574:
+	* typeprint.c (whatis_exp): Allow ptype/o for Rust.
+	* rust-lang.c (rust_print_struct_def): Add podata parameter.
+	Update.
+	(rust_internal_print_type): Add podata parameter.
+	(rust_print_type): Update.
+
+2018-06-26  Tom Tromey  <tom@tromey.com>
+
+	* typeprint.h (struct print_offset_data) <update, finish,
+	maybe_print_hole>: New methods.
+	<indentation>: New constant.
+	* typeprint.c (print_offset_data::indentation): Define.
+	(print_offset_data::maybe_print_hole, print_offset_data::update)
+	(print_offset_data::finish): Move from c-typeprint.c and rename.
+	* c-typeprint.c (OFFSET_SPC_LEN): Remove.
+	(print_spaces_filtered_with_print_options): Update.
+	(c_print_type_union_field_offset, maybe_print_hole)
+	(c_print_type_struct_field_offset): Move to typeprint.c and
+	rename.
+	(c_type_print_base_struct_union): Update.
+
+2018-06-25  Pedro Alves  <palves@redhat.com>
+
+	* gdbthread.h (thread_info_ref, delete_thread)
+	(delete_thread_silent, first_thread_of_inferior)
+	(any_thread_of_inferior, switch_to_thread)
+	(enable_thread_stack_temporaries)
+	(thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
+	(get_last_thread_stack_temporary)
+	(value_in_thread_stack_temporaries, can_access_registers_thread):
+	Spell out "struct thread_info" instead of just "thread_info".
+	* inferior.h (notice_new_inferior): Likewise.
+
+2018-06-25  Pedro Alves  <palves@redhat.com>
+
+	* windows-nat.c (windows_delete_thread): Use find_thread_ptid and
+	pass thread_info pointer to delete_thread.
+	(windows_nat_target::detach): Pass inferior pointer to
+	detach_inferior.
+	* aix-thread.c (sync_threadlists): Pass thread_info pointer to
+	delete_thread.
+	* bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
+	* darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
+	and pass a thread_info pointer to delete_thread.
+	* fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
+	pass thread_info pointer to delete_thread.
+	* go32-nat.c (go32_nat_target::mourn_inferior): Remove
+	delete_thread_silent call.
+	* procfs.c (procfs_target::detach): Pass inferior pointer to
+	detach_inferior.
+	(procfs_target::wait): Pass thread_info pointer to delete_thread.
+	* remote-sim.c (gdbsim_target::mourn_inferior): Remove
+	delete_thread_silent call.
+	* windows-nat.c (windows_delete_thread): Use find_thread_ptid and
+	pass thread_info pointer to delete_thread.
+	(windows_nat_target::detach): Pass inferior pointer to
+	delete_inferior.
+
+2018-06-22  Alan Hayward  <alan.hayward@arm.com>
+
+	* regcache.c (readable_regcache::read_part): Fix asserts.
+	(reg_buffer::raw_collect_part): New function.
+	(regcache::write_part): Fix asserts.
+	(reg_buffer::raw_supply_part): New function.
+	(regcache::transfer_regset_register): New helper function.
+	(regcache::transfer_regset): Call new functions.
+	(regcache_supply_regset): Use gdb_byte*.
+	(regcache::supply_regset): Likewise.
+	(regcache_collect_regset): Likewise.
+	(regcache::collect_regset): Likewise.
+	* regcache.h (reg_buffer::raw_collect_part): New declaration.
+	(reg_buffer::raw_supply_part): Likewise.
+	(regcache::transfer_regset_register): Likewise.
+	(regcache::transfer_regset): Use gdb_byte*.
+
+2018-06-22  Alan Hayward  <alan.hayward@arm.com>
+
+	* nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
+
+2018-06-21  Pedro Alves  <palves@redhat.com>
+
+	* ada-lang.h (ada_get_task_number): Take a thread_info pointer
+	instead of a ptid_t.  All callers adjusted.
+	* ada-tasks.c (ada_get_task_number): Likewise.  All callers
+	adjusted.
+	(print_ada_task_info, display_current_task_id, task_command_1):
+	Adjust.
+	* breakpoint.c (watchpoint_in_thread_scope): Adjust to use
+	inferior_thread.
+	(breakpoint_kind): Adjust.
+	(remove_breakpoints_pid): Rename to ...
+	(remove_breakpoints_inf): ... this.  Adjust to take an inferior
+	pointer.  All callers adjusted.
+	(bpstat_clear_actions): Use inferior_thread.
+	(get_bpstat_thread): New.
+	(bpstat_do_actions): Use it.
+	(bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
+	to take a thread_info pointer.  All callers adjusted.
+	(set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
+	(breakpoint_re_set_thread): Use inferior_thread.
+	* breakpoint.h (struct inferior): Forward declare.
+	(bpstat_stop_status): Update.
+	(remove_breakpoints_pid): Delete.
+	(remove_breakpoints_inf): New.
+	* bsd-uthread.c (bsd_uthread_target::wait)
+	(bsd_uthread_target::update_thread_list): Use find_thread_ptid.
+	* btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
+	(maint_btrace_packet_history_cmd)
+	(maint_btrace_clear_packet_history_cmd): Adjust.
+	(maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
+	inferior_thread.
+	* cli/cli-interp.c: Include "inferior.h".
+	* common/refcounted-object.h (struct
+	refcounted_object_ref_policy): New.
+	* compile/compile-object-load.c: Include gdbthread.h.
+	(store_regs): Use inferior_thread.
+	* corelow.c (core_target::close): Use current_inferior.
+	(core_target_open): Adjust to use first_thread_of_inferior and use
+	the current inferior.
+	* ctf.c (ctf_target::close): Adjust to use current_inferior.
+	* dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
+	<thread>: ... this new field.  All references adjusted.
+	(dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
+	Take a thread_info pointer instead of a ptid_t.
+	* dummy-frame.h (dummy_frame_push, dummy_frame_pop)
+	(dummy_frame_discard, register_dummy_frame_dtor): Take a
+	thread_info pointer instead of a ptid_t.
+	* elfread.c: Include "inferior.h".
+	(elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
+	Use inferior_thread.
+	* eval.c (evaluate_subexp): Likewise.
+	* frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
+	inferior_thread.
+	* gdb_proc_service.h (struct thread_info): Forward declare.
+	(struct ps_prochandle) <ptid>: Delete, replaced by ...
+	<thread>: ... this new field.  All references adjusted.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
+	'thread' parameter.  All implementations and callers adjusted.
+	* gdbthread.h (thread_info) <set_running>: New method.
+	(delete_thread, delete_thread_silent): Take a thread_info pointer
+	instead of a ptid.
+	(global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
+	(first_thread_of_process): Delete, replaced by ...
+	(first_thread_of_inferior): ... this new function.  All callers
+	adjusted.
+	(any_live_thread_of_process): Delete, replaced by ...
+	(any_live_thread_of_inferior): ... this new function.  All callers
+	adjusted.
+	(switch_to_thread, switch_to_no_thread): Declare.
+	(is_executing): Delete.
+	(enable_thread_stack_temporaries): Update comment.
+	<enable_thread_stack_temporaries>: Take a thread_info pointer
+	instead of a ptid_t.  Incref the thread.
+	<~enable_thread_stack_temporaries>: Decref the thread.
+	<m_ptid>: Delete
+	<m_thr>: New.
+	(thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
+	(get_last_thread_stack_temporary)
+	(value_in_thread_stack_temporaries, can_access_registers_thread):
+	Take a thread_info pointer instead of a ptid_t.  All callers
+	adjusted.
+	* infcall.c (get_call_return_value): Use inferior_thread.
+	(run_inferior_call): Work with thread pointers instead of ptid_t.
+	(call_function_by_hand_dummy): Work with thread pointers instead
+	of ptid_t.  Use thread_info_ref.
+	* infcmd.c (proceed_thread_callback): Access thread's state
+	directly.
+	(ensure_valid_thread, ensure_not_running): Use inferior_thread,
+	access thread's state directly.
+	(continue_command): Use inferior_thread.
+	(info_program_command): Use find_thread_ptid and access thread
+	state directly.
+	(proceed_after_attach_callback): Use thread state directly.
+	(notice_new_inferior): Take a thread_info pointer instead of a
+	ptid_t.  All callers adjusted.
+	(exit_inferior): Take an inferior pointer instead of a pid.  All
+	callers adjusted.
+	(exit_inferior_silent): New.
+	(detach_inferior): Delete.
+	(valid_gdb_inferior_id, pid_to_gdb_inferior_id)
+	(gdb_inferior_id_to_pid, in_inferior_list): Delete.
+	(detach_inferior_command, kill_inferior_command): Use
+	find_inferior_id instead of valid_gdb_inferior_id and
+	gdb_inferior_id_to_pid.
+	(inferior_command): Use inferior and thread pointers.
+	* inferior.h (struct thread_info): Forward declare.
+	(notice_new_inferior): Take a thread_info pointer instead of a
+	ptid_t.  All callers adjusted.
+	(detach_inferior): Delete declaration.
+	(exit_inferior, exit_inferior_silent): Take an inferior pointer
+	instead of a pid.  All callers adjusted.
+	(gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
+	(valid_gdb_inferior_id): Delete.
+	* infrun.c (follow_fork_inferior, proceed_after_vfork_done)
+	(handle_vfork_child_exec_or_exit, follow_exec): Adjust.
+	(struct displaced_step_inferior_state) <pid>: Delete, replaced by
+	...
+	<inf>: ... this new field.
+	<step_ptid>: Delete, replaced by ...
+	<step_thread>: ... this new field.
+	(get_displaced_stepping_state): Take an inferior pointer instead
+	of a pid.  All callers adjusted.
+	(displaced_step_in_progress_any_inferior): Adjust.
+	(displaced_step_in_progress_thread): Take a thread pointer instead
+	of a ptid_t.  All callers adjusted.
+	(displaced_step_in_progress, add_displaced_stepping_state): Take
+	an inferior pointer instead of a pid.  All callers adjusted.
+	(get_displaced_step_closure_by_addr): Adjust.
+	(remove_displaced_stepping_state): Take an inferior pointer
+	instead of a pid.  All callers adjusted.
+	(displaced_step_prepare_throw, displaced_step_prepare)
+	(displaced_step_fixup): Take a thread pointer instead of a ptid_t.
+	All callers adjusted.
+	(start_step_over): Adjust.
+	(infrun_thread_ptid_changed): Remove bit updating ptids in the
+	displaced step queue.
+	(do_target_resume): Adjust.
+	(fetch_inferior_event): Use inferior_thread.
+	(context_switch, get_inferior_stop_soon): Take an
+	execution_control_state pointer instead of a ptid_t.  All callers
+	adjusted.
+	(switch_to_thread_cleanup): Delete.
+	(stop_all_threads): Use scoped_restore_current_thread.
+	* inline-frame.c: Include "gdbthread.h".
+	(inline_state) <inline_state>: Take a thread pointer instead of a
+	ptid_t.  All callers adjusted.
+	<ptid>: Delete, replaced by ...
+	<thread>: ... this new field.
+	(find_inline_frame_state): Take a thread pointer instead of a
+	ptid_t.  All callers adjusted.
+	(skip_inline_frames, step_into_inline_frame)
+	(inline_skipped_frames, inline_skipped_symbol): Take a thread
+	pointer instead of a ptid_t.  All callers adjusted.
+	* inline-frame.h (skip_inline_frames, step_into_inline_frame)
+	(inline_skipped_frames, inline_skipped_symbol): Likewise.
+	* linux-fork.c (delete_checkpoint_command): Adjust to use thread
+	pointers directly.
+	* linux-nat.c (get_detach_signal): Likewise.
+	* linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
+	(thread_db_notice_clone): Adjust.
+	(thread_db_find_new_threads_silently)
+	(thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
+	a thread pointer instead of a ptid_t.  All callers adjusted.
+	* mi/mi-cmd-var.c: Include "inferior.h".
+	(mi_cmd_var_update_iter): Update to use thread pointers.
+	* mi/mi-interp.c (mi_new_thread): Update to use the thread's
+	inferior directly.
+	(mi_output_running_pid, mi_inferior_count): Delete, bits factored
+	out to ...
+	(mi_output_running): ... this new function.
+	(mi_on_resume_1): Adjust to use it.
+	(mi_user_selected_context_changed): Adjust to use inferior_thread.
+	* mi/mi-main.c (proceed_thread): Adjust to use thread pointers
+	directly.
+	(interrupt_thread_callback): : Adjust to use thread and inferior
+	pointers.
+	* proc-service.c: Include "gdbthread.h".
+	(ps_pglobal_lookup): Adjust to use the thread's inferior directly.
+	* progspace-and-thread.c: Include "inferior.h".
+	* progspace.c: Include "inferior.h".
+	* python/py-exitedevent.c (create_exited_event_object): Adjust to
+	hold a reference to an inferior_object.
+	* python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
+	inferior_thread.
+	* python/py-inferior.c (struct inferior_object): Give the type a
+	tag name instead of a typedef.
+	(python_on_normal_stop): No need to check if the current thread is
+	listed.
+	(inferior_to_inferior_object): Change return type to
+	inferior_object.  All callers adjusted.
+	(find_thread_object): Delete, bits factored out to ...
+	(thread_to_thread_object): ... this new function.
+	* python/py-infthread.c (create_thread_object): Use
+	inferior_to_inferior_object.
+	(thpy_is_stopped): Use thread pointer directly.
+	(gdbpy_selected_thread): Use inferior_thread.
+	* python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
+	field, replaced with ...
+	<thread>: ... this new field.  All users adjusted.
+	(btpy_insn_or_gap_new): Drop const.
+	(btpy_list_new): Take a thread pointer instead of a ptid_t.  All
+	callers adjusted.
+	* python/py-record.c: Include "gdbthread.h".
+	(recpy_insn_new, recpy_func_new): Take a thread pointer instead of
+	a ptid_t.  All callers adjusted.
+	(gdbpy_current_recording): Use inferior_thread.
+	* python/py-record.h (recpy_record_object) <ptid>: Delete
+	field, replaced with ...
+	<thread>: ... this new field.  All users adjusted.
+	(recpy_element_object) <ptid>: Delete
+	field, replaced with ...
+	<thread>: ... this new field.  All users adjusted.
+	(recpy_insn_new, recpy_func_new): Take a thread pointer instead of
+	a ptid_t.  All callers adjusted.
+	* python/py-threadevent.c: Include "gdbthread.h".
+	(get_event_thread): Use thread_to_thread_object.
+	* python/python-internal.h (struct inferior_object): Forward
+	declare.
+	(find_thread_object, find_inferior_object): Delete declarations.
+	(thread_to_thread_object, inferior_to_inferior_object): New
+	declarations.
+	* record-btrace.c: Include "inferior.h".
+	(require_btrace_thread): Use inferior_thread.
+	(record_btrace_frame_sniffer)
+	(record_btrace_tailcall_frame_sniffer): Use inferior_thread.
+	(get_thread_current_frame): Use scoped_restore_current_thread and
+	switch_to_thread.
+	(get_thread_current_frame): Use thread pointer directly.
+	(record_btrace_replay_at_breakpoint): Use thread's inferior
+	pointer directly.
+	* record-full.c: Include "inferior.h".
+	* regcache.c: Include "gdbthread.h".
+	(get_thread_arch_regcache): Use the inferior's address space
+	directly.
+	(get_thread_regcache, registers_changed_thread): New.
+	* regcache.h (get_thread_regcache(thread_info *thread)): New
+	overload.
+	(registers_changed_thread): New.
+	(remote_target) <remote_detach_1>: Swap order of parameters.
+	(remote_add_thread): <remote_add_thread>: Return the new thread.
+	(get_remote_thread_info(ptid_t)): New overload.
+	(remote_target::remote_notice_new_inferior): Use thread pointers
+	directly.
+	(remote_target::process_initial_stop_replies): Use
+	thread_info::set_running.
+	(remote_target::remote_detach_1, remote_target::detach)
+	(extended_remote_target::detach): Adjust.
+	* stack.c (frame_show_address): Use inferior_thread.
+	* target-debug.h (target_debug_print_thread_info_pp): New.
+	* target-delegates.c: Regenerate.
+	* target.c (default_thread_address_space): Delete.
+	(memory_xfer_partial_1): Use current_inferior.
+	(target_detach): Use current_inferior.
+	(target_thread_address_space): Delete.
+	(generic_mourn_inferior): Use current_inferior.
+	* target.h (struct target_ops) <thread_address_space>: Delete.
+	(target_thread_address_space): Delete.
+	* thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
+	pointers directly.
+	(delete_thread_1, delete_thread, delete_thread_silent): Take a
+	thread pointer instead of a ptid_t.  Adjust all callers.
+	(ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
+	(first_thread_of_process): Delete, replaced by ...
+	(first_thread_of_inferior): ... this new function.  All callers
+	adjusted.
+	(any_thread_of_process): Rename to ...
+	(any_thread_of_inferior): ... this, and take an inferior pointer.
+	(any_live_thread_of_process): Rename to ...
+	(any_live_thread_of_inferior): ... this, and take an inferior
+	pointer.
+	(thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
+	(value_in_thread_stack_temporaries)
+	(get_last_thread_stack_temporary): Take a thread pointer instead
+	of a ptid_t.  Adjust all callers.
+	(thread_info::set_running): New.
+	(validate_registers_access): Use inferior_thread.
+	(can_access_registers_ptid): Rename to ...
+	(can_access_registers_thread): ... this, and take a thread
+	pointer.
+	(print_thread_info_1): Adjust to compare thread pointers instead
+	of ptids.
+	(switch_to_no_thread, switch_to_thread): Make extern.
+	(scoped_restore_current_thread::~scoped_restore_current_thread):
+	Use m_thread pointer directly.
+	(scoped_restore_current_thread::scoped_restore_current_thread):
+	Use inferior_thread.
+	(thread_command): Use thread pointer directly.
+	(thread_num_make_value_helper): Use inferior_thread.
+	* top.c (execute_command): Use inferior_thread.
+	* tui/tui-interp.c: Include "inferior.h".
+	* varobj.c (varobj_create): Use inferior_thread.
+	(value_of_root_1): Use find_thread_global_id instead of
+	global_thread_id_to_ptid.
+
+2018-06-21  Alan Hayward  <alan.hayward@arm.com>
+
+        * regcache.c (readable_regcache::read_part): Avoid memcpy when
+        possible.
+        (regcache::write_part): Likewise.
+        (readable_regcache::cooked_read_part): Update comment.
+        (readable_regcache::cooked_write_part): Likewise.
+        * regcache.h: (readable_regcache::read_part): Likewise.
+        (regcache::write_part): Likewise.
+
+2018-06-21  Richard Bunt  <richard.bunt@arm.com>
+	    Dirk Schubert  <dirk.schubert@arm.com>
+
+	* aarch64-linux-nat.c (post_attach): New.
+	(aarch64_linux_nat_target::post_attach): Override post_attach to
+	record the number of hardware debug registers.
+
+2018-06-20  Tom Tromey  <tom@tromey.com>
+
+	* python/py-param.c (add_setshow_generic): Make parameters const.
+	(parmpy_init): Update.
+
+2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* regcache.h (regcache_cooked_read_ftype): Rename to...
+	(register_read_ftype): ...this, change type to function_view.
+	(class reg_buffer) <save>: Remove src parameter.
+	(readonly_detached_regcache) <readonly_detached_regcache>: Make
+	parameter non-const in first overload.  Remove src parameter in
+	second overload.
+	* regcache.c (do_cooked_read): Remove.
+	(readonly_detached_regcache::readonly_detached_regcache): Make
+	parameter non-const, adjust call to other constructor.
+	(reg_buffer::save): Remove src parameter.
+	* frame.c (do_frame_register_read): Remove.
+	(frame_save_as_regcache): Use lambda function.
+	* ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
+	parameter to ppu2spu_data *.
+	(ppu2spu_sniffer): Use lambda function.
+
+2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* record-full.c (record_full_target::insert_breakpoint): Remove
+	"struct" keyword, add const.
+
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
+	PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
+	* configure.ac: Remove AC_PREREQ, add missing quoting.
+	* gnulib/configure.ac: Modernize usage of
+	AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
+	* gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
+	(AUTOMAKE_VERSION): Bump to 1.15.1.
+	* configure: Re-generate.
+	* config.in: Re-generate.
+	* aclocal.m4: Re-generate.
+	* gnulib/aclocal.m4: Re-generate.
+	* gnulib/config.in: Re-generate.
+	* gnulib/configure: Re-generate.
+	* gnulib/import/Makefile.in: Re-generate.
+
+2018-06-19  Pedro Alves  <palves@redhat.com>
+
+	* minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
+	(lookup_minimal_symbol_by_pc_section): ... here with
+	gdb_assert_not_reached added.
+
+2018-06-19  Pedro Alves  <palves@redhat.com>
+
+	* inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
+	parameter with a block parameter.  Compare location's block symbol
+	with the frame's block instead of addresses.
+	(skip_inline_frames): Pass the current block instead of the
+	frame's address.  Break out as soon as we determine the frame
+	should not be skipped.
+
+2018-06-18  Tom Tromey  <tom@tromey.com>
+
+	* solib-aix.c (solib_aix_get_section_offsets): Return
+	unique_xmalloc_ptr.
+	(solib_aix_solib_create_inferior_hook): Update.
+
+2018-06-18  Tom Tromey  <tom@tromey.com>
+
+	* solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
+
+2018-06-18  Tom Tromey  <tom@tromey.com>
+
+	* solib-frv.c (frv_relocate_main_executable): Use
+	unique_xmalloc_ptr.
+	* solib-dsbt.c (dsbt_relocate_main_executable): Use
+	unique_xmalloc_ptr.
+
+2018-06-18  Tom Tromey  <tom@tromey.com>
+
+	* objfiles.h (inhibit_section_map_updates): Update.
+	(resume_section_map_updates, resume_section_map_updates_cleanup):
+	Remove.
+	* solib-svr4.c (svr4_handle_solib_event): Update.
+	* objfiles.c (inhibit_section_map_updates): Return
+	scoped_restore_tmpl<int>.
+	(resume_section_map_updates, resume_section_map_updates_cleanup):
+	Remove.
+
+2018-06-18  Tom Tromey  <tom@tromey.com>
+
+	* valprint.h (read_string): Update.
+	* valprint.c (read_string): Change type of "buffer".
+	(val_print_string): Update.
+	* python/py-value.c (valpy_string): Update.
+	* language.h (struct language_defn) <la_get_string>: Change
+	type of "buffer".
+	(default_get_string, c_get_string): Update.
+	* language.c (default_get_string): Change type of "buffer".
+	* guile/scm-value.c (gdbscm_value_to_string): Update.
+	* c-lang.c (c_get_string): Change type of "buffer".
+
+2018-06-18  Tom Tromey  <tom@tromey.com>
+
+	* ser-mingw.c (struct pipe_state_destroyer): New.
+	(pipe_state_up): New typedef.
+	(cleanup_pipe_state): Remove.
+	(pipe_windows_open): Use pipe_state_up.  Don't release argv.
+
+2018-06-18  Tom Tromey  <tom@tromey.com>
+
+	* rust-lang.h (rust_yyerror): Don't declare.
+	* rust-lang.c (rust_language_defn): Update.
+	* rust-exp.y (yyerror): Now static.
+	* parse.c (parse_exp_in_context_1): Update.
+	* p-lang.h (p_yyerror): Don't declare.
+	* p-lang.c (p_language_defn): Update.
+	* p-exp.y (yyerror): Now static.
+	* opencl-lang.c (opencl_language_defn): Update.
+	* objc-lang.c (objc_language_defn): Update.
+	* m2-lang.h (m2_yyerror): Don't declare.
+	* m2-lang.c (m2_language_defn): Update.
+	* m2-exp.y (yyerror): Now static.
+	* language.h (struct language_defn) <la_error>: Remove.
+	* language.c (unk_lang_error): Remove.
+	(unknown_language_defn, auto_language_defn): Remove.
+	* go-lang.h (go_yyerror): Don't declare.
+	* go-lang.c (go_language_defn): Update.
+	* go-exp.y (yyerror): Now static.
+	* f-lang.h (f_yyerror): Don't declare.
+	* f-lang.c (f_language_defn): Update.
+	* f-exp.y (yyerror): Now static.
+	* d-lang.h (d_yyerror): Don't declare.
+	* d-lang.c (d_language_defn): Update.
+	* d-exp.y (yyerror): Now static.
+	* c-lang.h (c_yyerror): Don't declare.
+	* c-lang.c (c_language_defn, cplus_language_defn)
+	(asm_language_defn, minimal_language_defn): Update.
+	* c-exp.y (yyerror): Now static.
+	* ada-lang.h (ada_yyerror): Don't declare.
+	* ada-lang.c (ada_language_defn): Update.
+	* ada-exp.y (yyerror): Now static.
+
+2018-06-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
+	(store_sveregs_to_thread): Likewise.
+	(aarch64_linux_fetch_inferior_registers): Check for SVE.
+	(aarch64_linux_store_inferior_registers): Likewise.
+	* nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
+	function.
+	(aarch64_sve_regs_copy_to_regcache): Likewise.
+	(aarch64_sve_regs_copy_from_regcache): Likewise.
+	* nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
+	declaration.
+	(aarch64_sve_regs_copy_to_regcache): Likewise.
+	(aarch64_sve_regs_copy_from_regcache): Likewise.
+	(sve_context): Structure from Linux headers.
+	(SVE_SIG_ZREGS_SIZE): Define from Linux headers.
+	(SVE_SIG_ZREG_SIZE): Likewise.
+	(SVE_SIG_PREG_SIZE): Likewise.
+	(SVE_SIG_FFR_SIZE): Likewise.
+	(SVE_SIG_REGS_OFFSET): Likewise.
+	(SVE_SIG_ZREGS_OFFSET): Likewise.
+	(SVE_SIG_ZREG_OFFSET): Likewise.
+	(SVE_SIG_ZREGS_SIZE): Likewise.
+	(SVE_SIG_PREGS_OFFSET): Likewise.
+	(SVE_SIG_PREG_OFFSET): Likewise.
+	(SVE_SIG_PREGS_SIZE): Likewise.
+	(SVE_SIG_FFR_OFFSET): Likewise.
+	(SVE_SIG_REGS_SIZE): Likewise.
+	(SVE_SIG_CONTEXT_SIZE): Likewise.
+	(SVE_PT_REGS_MASK): Likewise.
+	(SVE_PT_REGS_FPSIMD): Likewise.
+	(SVE_PT_REGS_SVE): Likewise.
+	(SVE_PT_VL_INHERIT): Likewise.
+	(SVE_PT_VL_ONEXEC): Likewise.
+	(SVE_PT_REGS_OFFSET): Likewise.
+	(SVE_PT_FPSIMD_OFFSET): Likewise.
+	(SVE_PT_FPSIMD_SIZE): Likewise.
+	(SVE_PT_SVE_ZREG_SIZE): Likewise.
+	(SVE_PT_SVE_PREG_SIZE): Likewise.
+	(SVE_PT_SVE_FFR_SIZE): Likewise.
+	(SVE_PT_SVE_FPSR_SIZE): Likewise.
+	(SVE_PT_SVE_FPCR_SIZE): Likewise.
+	(__SVE_SIG_TO_PT): Likewise.
+	(SVE_PT_SVE_OFFSET): Likewise.
+	(SVE_PT_SVE_ZREGS_OFFSET): Likewise.
+	(SVE_PT_SVE_ZREG_OFFSET): Likewise.
+	(SVE_PT_SVE_ZREGS_SIZE): Likewise.
+	(SVE_PT_SVE_PREGS_OFFSET): Likewise.
+	(SVE_PT_SVE_PREG_OFFSET): Likewise.
+	(SVE_PT_SVE_PREGS_SIZE): Likewise.
+	(SVE_PT_SVE_FFR_OFFSET): Likewise.
+	(SVE_PT_SVE_FPSR_OFFSET): Likewise.
+	(SVE_PT_SVE_FPCR_OFFSET): Likewise.
+	(SVE_PT_SVE_SIZE): Likewise.
+	(SVE_PT_SIZE): Likewise.
+	(HAS_SVE_STATE): New define.
+
+2018-06-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* nat/aarch64-sve-linux-sigcontext.h: New file.
+	* nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
+	new files.
+	(SVE_VQ_MIN): Likewise.
+	(SVE_VQ_MAX): Likewise.
+	(SVE_VL_MIN): Likewise.
+	(SVE_VL_MAX): Likewise.
+	(SVE_NUM_ZREGS): Likewise.
+	(SVE_NUM_PREGS): Likewise.
+	(sve_vl_valid): Likewise.
+	(struct user_sve_header): Likewise.
+
+2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
+	    Richard Bunt <Richard.Bunt@arm.com>
+
+	* linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
+	was requested by GDB.
+
+2018-06-15  Tom de Vries  <tdevries@suse.de>
+
+	* MAINTAINERS (Write After Approval): Add Tom de Vries.
+
+2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* gnulib/update-gnulib.sh: Print expected versions of
+	autoconf/aclocal.
+
+2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* arch-utils.c (default_type_align): Use type_length_units.
+	* gdbtypes.c (type_align): Use type_length_units.
+
+2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+	* cli/cli-script.c (_initialize_cli_script): Fix online documentation
+	of 'define' command.
+
+2018-06-14  Tom de Vries  <tdevries@suse.de>
+
+	PR cli/22573
+	* infcmd.c (print_return_value_1): Use get_user_print_options instead of
+	get_no_prettyformat_print_options.
+
+2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* sparc-nat.h: Include target.h.
+	* sparc64-linux-nat.c (class sparc64_linux_nat_target)
+	<fetch_registers>: Remove this argument in function call.
+	<store_registers>: Remove this argument in function call, remove
+	extra semicolon.
+	<low_forget_process>: Call sparc64_forget_process instead of
+	sparc_forget_process.
+
+2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* procfs.c (_initialize_procfs): Use add_inf_child_target.
+	(procfs_target::make_corefile_notes): Adjust to new
+	target_read_alloc return type.
+
+2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
+	    Stephen Roberts  <stephen.roberts@arm.com>
+
+	PR gdb/22882
+	* infrun.c (fetch_inferior_event): If GDB is not proceeding then
+	run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
+	Move should_notify_stop local into more inner scope.
+
+2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
+	    Stephen Roberts  <stephen.roberts@arm.com>
+
+	PR gdb/22882
+	* infrun.c (resume_1): Add call to mark_async_event_handler.
+
+2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* infrun.c (do_target_wait): Change old version of $pc printed.
+
+2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* dwarf2read.c (read_index_from_section): Rename to...
+	(read_gdb_index_from_section): ... this, update all callers.
+	(dwarf2_read_index): Rename to...
+	(dwarf2_read_gdb_index): ... this, update all callers.
+
+2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
+
+	* gdb/hppa-linux-nat.c
+	(hppa_linux_nat_target::fetch_inferior_registers): Rename to
+	hppa_linux_nat_target::fetch_registers.
+
+2018-06-11  Alan Hayward  <alan.hayward@arm.com>
+
+	* aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
+	* aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
+	(AARCH64_DWARF_SVE_FFR): Likewise.
+	(AARCH64_DWARF_SVE_P0): Likewise.
+	(AARCH64_DWARF_SVE_Z0): Likewise.
+
+2018-06-11  Alan Hayward  <alan.hayward@arm.com>
+
+	* common/common-regcache.h (raw_compare): New function.
+	* regcache.c (regcache::raw_compare): Likewise.
+	* regcache.h (regcache::raw_compare): New declaration.
+
+2018-06-11  Alan Hayward  <alan.hayward@arm.com>
+
+	* common/common-regcache.h (reg_buffer_common): New structure.
+	* regcache.c (reg_buffer::invalidate): Move from detached_regcache.
+	(reg_buffer::raw_supply): Likewise.
+	(reg_buffer::raw_supply_integer): Likewise.
+	(reg_buffer::raw_supply_zeroed): Likewise.
+	(reg_buffer::raw_collect): Likewise.
+	(reg_buffer::raw_collect_integer): Likewise.
+	* regcache.h (reg_buffer::invalidate): Move from detached_regcache.
+	(reg_buffer::raw_supply): Likewise.
+	(reg_buffer::raw_supply_integer): Likewise.
+	(reg_buffer::raw_supply_zeroed): Likewise.
+	(reg_buffer::raw_collect): Likewise.
+	(reg_buffer::raw_collect_integer): Likewise.
+
+2018-06-10  Tom Tromey  <tom@tromey.com>
+
+	* remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
+	(class remote_state) <stop_reply_queue>: Now std::vector.
+	(remote_state::~remote_state)
+	(remote_target::stop_reply_queue_length): Update.
+	(struct queue_iter_param, remove_child_of_pending_fork)
+	(struct check_pending_event_prevents_wildcard_vcont_callback_data)
+	(check_pending_event_prevents_wildcard_vcont_callback)
+	(remove_stop_reply_for_inferior)
+	(remove_stop_reply_of_remote_state)
+	(remote_notif_remove_once_on_match)
+	(stop_reply_match_ptid_and_ws)
+	(remote_kill_child_of_pending_fork): Remove.
+	(remote_target::remove_new_fork_children)
+	(remote_target::check_pending_events_prevent_wildcard_vcont)
+	(remote_target::discard_pending_stop_replies)
+	(remote_target::discard_pending_stop_replies_in_queue)
+	(remote_target::remote_notif_remove_queued_reply)
+	(remote_target::queued_stop_reply)
+	(remote_target::push_stop_reply, remote_target::peek_stop_reply)
+	(remote_target::wait, remote_target::kill_new_fork_children)
+	(remote_target::async): Update.
+
+2018-06-10  Tom Tromey  <tom@tromey.com>
+
+	* record-full.c (record_full_arch_list_cleanups): Remove.
+	(record_full_message): Use try/catch.
+	(record_full_wait_cleanups): Remove.
+	(record_full_wait_1): Use try/catch.
+	(record_full_restore): Likewise.
+
+2018-06-10  Tom Tromey  <tom@tromey.com>
+
+	* record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
+	declare VEC.  Add constructor.
+	<in_target_beneath>: Now bool.
+	(record_full_breakpoints): Now a std::vector, static.
+	(record_full_sync_record_breakpoints)
+	(record_full_init_record_breakpoints)
+	(record_full_target::insert_breakpoint)
+	(record_full_target::remove_breakpoint): Update.  Don't use XNEW.
+
+2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* dwarf2read.c (process_cu_includes): Remove struct keyword.
+	* serial.c (serial_interface_lookup): Remove struct keyword.
+
+2018-06-10  Tom Tromey  <tom@tromey.com>
+
+	* procfs.c (procfs_target::xfer_partial): Use "beneath" as a
+	method.
+	* nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
+	a method.
+	* go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
+	method.
+	* arm-linux-nat.c (arm_linux_nat_target::read_description): Use
+	"beneath" as a method.
+	* arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
+	Use "beneath" as a method.
+
+2018-06-10  Tom Tromey  <tom@tromey.com>
+
+	* tracefile.c (struct trace_file_writer_deleter): New.
+	<operator()>: Rename from trace_file_writer_xfree.
+	(trace_file_writer_up): New typedef.
+	(tsave_command, trace_save_tfile, trace_save_ctf): Update.
+
+2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
+	<m_registers, m_register_status>: Change type to
+	std::unique_ptr.
+	* regcache.c (reg_buffer::reg_buffer): Use new instead of
+	XCNEWVEC.
+
+2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* common/common-regcache.h (enum register_status): Add
+	underlying type "signed char".
+	* regcache.h (reg_buffer) <m_register_status>: Change type to
+	register_status *.
+	* regcache.c (reg_buffer::reg_buffer): Alocate arrays of
+	register_status instead of signed char.
+	(reg_buffer::save): Use REG_UNKNOWN instead of 0.
+	(reg_buffer::get_register_status): Remove cast.
+	(readable_regcache::raw_read): Remove cast.
+	(readable_regcache::cooked_read): Remove cast.
+
+2018-06-09  Tom Tromey  <tom@tromey.com>
+
+	* source.c (reverse_search_command, forward_search_command): Use
+	scoped_fd.
+
+2018-06-09  Tom Tromey  <tom@tromey.com>
+
+	* serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
+	(serial_ops_list): Now static, std::vector.
+	(serial_interface_lookup, serial_add_interface): Update.
+
+2018-06-09  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (process_cu_includes): Update.
+	(process_full_comp_unit): Update.
+	* dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
+	std::vector.
+
+2018-06-08  Paul Koning  <paul_koning@dell.com>
 
 	PR gdb/23252
 
@@ -6,6 +1465,479 @@
 	Avoid call to internal Python API.
 	(init__gdb_module): New function.
 
+2018-06-08  Gary Benson <gbenson@redhat.com>
+
+	* linux-thread-db.c (valprint.h): New include.
+	(struct check_thread_db_info): New structure.
+	(check_thread_db_on_load, tdb_testinfo): New static globals.
+	(check_thread_db, check_thread_db_callback): New functions.
+	(try_thread_db_load_1): Run integrity checks if requested.
+	(maintenance_check_libthread_db): New function.
+	(_initialize_thread_db): Register "maint check libthread-db"
+	and "maint set/show check-libthread-db".
+	* NEWS: Mention the above new commands.
+
+2018-06-08  Tom Tromey  <tom@tromey.com>
+
+	* windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
+	now a method.
+
+2018-06-08  Tom Tromey  <tom@tromey.com>
+
+	* btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
+
+2018-06-08  Tom Tromey  <tom@tromey.com>
+
+	* common/btrace-common.h (struct btrace_data): Add constructor,
+	destructor, move assignment operator.
+	<empty, clear, fini>: New methods.
+	<format>: Initialize.
+	(btrace_data_init, btrace_data_fini, btrace_data_clear)
+	(btrace_data_empty): Don't declare.
+	* common/btrace-common.c (btrace_data_init): Remove.
+	(btrace_data::fini): Rename from btrace_data_fini.
+	(btrace_data::empty): Rename from btrace_data_empty.
+	(btrace_data::clear): Rename from btrace_data_clear.  Return
+	bool.
+	* btrace.h (make_cleanup_btrace_data): Don't declare.
+	* btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
+	(parse_xml_btrace): Update.
+	(do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
+	(maint_btrace_clear_packet_history_cmd): Update.
+
+2018-06-07  Pedro Alves  <palves@redhat.com>
+
+	* target.h (target_ops) <beneath>: Now a method.  All references
+	updated.
+	(class target_stack): New.
+	* target.c (g_target_stack): New.
+	(g_current_top_target): Delete.
+	(current_top_target): Get the top target out of g_target_stack.
+	(target_stack::push, target_stack::unpush): New.
+	(push_target, unpush_target): Reimplement.
+	(target_is_pushed): Reimplement in terms of g_target_stack.
+	(target_ops::beneath, target_stack::find_beneath): New.
+
+2018-06-07  Pedro Alves  <palves@redhat.com>
+
+	* target.h (find_target_beneath): Delete declaration.
+	* target.c (find_target_beneath): Delete definition.
+	* aix-thread.c: All callers of find_target_beneath adjusted to
+	call target_ops::beneath instead.
+	* bsd-uthread.c: Likewise.
+	* linux-thread-db.c: Likewise.
+	* ravenscar-thread.c: Likewise.
+	* sol-thread.c: Likewise.
+	* spu-multiarch.c: Likewise.
+
+2018-06-07  Pedro Alves  <palves@redhat.com>
+
+	* target.h (target_ops) <beneath>: Now a method.  All references
+	updated.
+	(target_ops) <m_beneath>: New.
+	* target.c (target_ops::beneath): New.
+	* corelow.c: Adjust all references to target_ops::beneath.
+	* linux-thread-db.c: Likewise.
+	* make-target-delegates: Likewise.
+	* record-btrace.c: Likewise.
+	* record-full.c: Likewise.
+	* remote.c: Likewise.
+	* target.c: Likewise.
+	* target-delegates.c: Regenerate.
+
+2018-06-07  Pedro Alves  <palves@redhat.com>
+
+	* target.h (target_stack): Delete.
+	(current_top_target): Declare function.
+	* target.c (target_stack): Delete.
+	(g_current_top_target): New.
+	(current_top_target): New function.
+	* auxv.c: Use current_top_target instead of target_stack
+	throughout.
+	* avr-tdep.c: Likewise.
+	* breakpoint.c: Likewise.
+	* corefile.c: Likewise.
+	* elfread.c: Likewise.
+	* eval.c: Likewise.
+	* exceptions.c: Likewise.
+	* frame.c: Likewise.
+	* gdbarch-selftests.c: Likewise.
+	* gnu-v3-abi.c: Likewise.
+	* ia64-tdep.c: Likewise.
+	* ia64-vms-tdep.c: Likewise.
+	* infcall.c: Likewise.
+	* infcmd.c: Likewise.
+	* infrun.c: Likewise.
+	* linespec.c: Likewise.
+	* linux-tdep.c: Likewise.
+	* minsyms.c: Likewise.
+	* ppc-linux-nat.c: Likewise.
+	* ppc-linux-tdep.c: Likewise.
+	* procfs.c: Likewise.
+	* regcache.c: Likewise.
+	* remote.c: Likewise.
+	* rs6000-tdep.c: Likewise.
+	* s390-linux-nat.c: Likewise.
+	* s390-tdep.c: Likewise.
+	* solib-aix.c: Likewise.
+	* solib-darwin.c: Likewise.
+	* solib-dsbt.c: Likewise.
+	* solib-spu.c: Likewise.
+	* solib-svr4.c: Likewise.
+	* solib-target.c: Likewise.
+	* sparc-tdep.c: Likewise.
+	* sparc64-tdep.c: Likewise.
+	* spu-tdep.c: Likewise.
+	* symfile.c: Likewise.
+	* symtab.c: Likewise.
+	* target-descriptions.c: Likewise.
+	* target-memory.c: Likewise.
+	* target.c: Likewise.
+	* target.h: Likewise.
+	* tracefile-tfile.c: Likewise.
+	* tracepoint.c: Likewise.
+	* valops.c: Likewise.
+	* valprint.c: Likewise.
+	* value.c: Likewise.
+	* windows-tdep.c: Likewise.
+	* mi/mi-main.c: Likewise.
+
+2018-06-07  Tom Tromey  <tom@tromey.com>
+
+	* valprint.h (build_address_symbolic): Declare.
+	* printcmd.c (print_address_symbolic): Update.
+	(build_address_symbolic): Change "name" and "filename" to
+	std::string.
+	* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
+	Update.
+	* defs.h (build_address_symbolic): Remove declaration.
+
+2018-06-07  Alan Hayward  <alan.hayward@arm.com>
+
+        * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
+        (aarch64_vnv_type): Add function.
+        (aarch64_pseudo_register_name): Add V regs for SVE.
+        (aarch64_pseudo_register_type): Likewise.
+        (aarch64_pseudo_register_reggroup_p): Likewise.
+        (aarch64_pseudo_read_value_2): Use V0 offset for SVE
+        (aarch64_pseudo_read_value): Add V regs for SVE.
+        (aarch64_pseudo_write_2): Use V0 offset for SVE
+        (aarch64_pseudo_write): Add V regs for SVE.
+        * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
+
+2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+        * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
+        (sve_vl_from_vq): Likewise.
+
+2018-06-05  Tom Tromey  <tom@tromey.com>
+
+	* cli/cli-cmds.c (show_version): Update.
+	* top.c (print_gdb_version): Add "interactive" parameter.
+	Update.
+	* main.c (captured_main_1): Update.
+	* top.h (print_gdb_version): Add "interactive" parameter and a
+	comment.
+
+2018-06-05  David Malcolm  <dmalcolm@redhat.com>
+
+	* common/enum-flags.h: Add trailing semicolon to example in
+	comment.
+
+2018-06-05  Tom Tromey	<tom@tromey.com>
+
+	PR cli/12326:
+	* NEWS: Add entry about pager.
+	* utils.c (pagination_disabled_for_command): New global.
+	(prompt_for_continue): Allow "c" response to prompt.
+	(reinitialize_more_filter): Clear
+	pagination_disabled_for_command.
+	(fputs_maybe_filtered): Check pagination_disabled_for_command.
+
+2018-06-04  Tom Tromey  <tom@tromey.com>
+
+	* ada-lang.h (ada_lookup_symbol_list): Update.
+	* ada-lang.c (resolve_subexp): Update.
+	(symbols_are_identical_enums): Change type of syms.  Remove nsyms
+	parameter.
+	(remove_extra_symbols, remove_irrelevant_renamings): Likewise.
+	(ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
+	results parameter to std::vector.
+	(ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
+	Update.
+	* ada-exp.y (block_lookup): Update.
+	(select_possible_type_sym): Change type of syms.  Remove nsyms
+	parameter.
+	(write_var_or_type, write_name_assoc): Update.
+
+2018-06-04  Joel Brobecker  <brobecker@adacore.com>
+
+	* windows-nat.c (windows_nat_target::xfer_partial): Return
+	TARGET_XFER_E_IO if we need to delegate to the target beneath
+	but BENEATH is NULL.
+
+2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* Makefile.in (config.status): Add configure.nat as a
+	dependency.
+
+2018-06-04  Tom Tromey  <tom@tromey.com>
+
+	* cp-name-parser.y (cpname_state): Add method declarations.
+	(HANDLE_QUAL): Update.
+	(cpname_state::d_grab, cpname_state::fill_comp)
+	(cpname_state::make_operator, cpname_state::make_dtor)
+	(cpname_state::make_builtin_type, cpname_state::make_name)
+	(cpname_state::d_qualify, cpname_state::d_int_type)
+	(cpname_state::d_unary, cpname_state::d_binary): Now methods.
+	(%union): Move earlier.
+
+2018-06-04  Alan Hayward  <alan.hayward@arm.com>
+
+	* elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
+
+2018-06-04  Alan Hayward  <alan.hayward@arm.com>
+
+	* aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
+	(aarch64_pseudo_write_1): Likewise.
+	(aarch64_pseudo_read_value): Use helper.
+	(aarch64_pseudo_write): Likewise.
+
+2018-06-04  Pedro Alves  <palves@redhat.com>
+
+	* darwin-nat.c (darwin_ops): Delete.
+	(darwin_attach_pid): Use get_native_target.
+
+2018-06-04  Alan Hayward  <alan.hayward@arm.com>
+
+	* aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
+	* aarch64-tdep.h (struct gdbarch_tdep): Likewise.
+
+2018-06-04  Alan Hayward  <alan.hayward@arm.com>
+
+	* aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
+	* aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
+	(aarch64_gdbarch_init): Check for SVE.
+	* aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
+
+2018-06-04  Alan Hayward  <alan.hayward@arm.com>
+
+	* aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
+	* aarch64-tdep.h (aarch64_read_description): Likewise.
+	* arch/aarch64.c (aarch64_create_target_description): Likewise.
+	* arch/aarch64.h (aarch64_create_target_description): Likewise.
+	* features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
+	* nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
+	* nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
+
+2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* value.c (value_fetch_lazy_bitfield): New.
+	(value_fetch_lazy_memory): New.
+	(value_fetch_lazy_register): New.
+	(value_fetch_lazy): Factor out to smaller functions.
+
+2018-06-01  Tom Tromey  <tom@tromey.com>
+
+	* cp-name-parser.y (backslashable, represented): Now const.
+
+2018-06-01  Tom Tromey  <tom@tromey.com>
+
+	* cp-name-parser.y: Include parser-defs.h.
+	(parser_fprintf): Remove declaration.
+
+2018-06-01  Tom Tromey  <tom@tromey.com>
+
+	* cp-name-parser.y: Use %pure-parser, %lex-param, and
+	%parse-param.
+	(lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
+	(global_result): Remove globals.
+	(struct cpname_state): New.
+	(yyparse): Don't declare.
+	(yylex, yyerror): Move declarations after %union.
+	(d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
+	(make_name): Add state parameter.
+	Update all callers.
+	(d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
+	parameter.
+	(HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
+	Update.
+	(yylex): Add lvalp, state parameters.
+	(yyerror): Add state parameter.
+	(cp_demangled_name_to_comp): Update.
+
+2018-06-01  Tom Tromey  <tom@tromey.com>
+
+	* cp-name-parser.y (parser_fprintf): Declare.
+	(GDB_YY_REMAP_PREFIX): Define.
+	Include yy-remap.h.  Don't redefine yy* identifiers.
+
+2018-06-01  Tom Tromey  <tom@tromey.com>
+
+	* python/py-type.c (typy_legacy_template_argument): Update.
+	* cp-support.h (cp_demangled_name_to_comp): Update.
+	* cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
+	parameter to be a "std::string *".
+	(main): Update.
+
+2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* ada-lex.l: Include "diagnostics.h" instead of
+	"common/diagnostics.h".
+	* unittests/environ-selftests.c: Likewise.
+	* common/diagnostics.h: Moved to ../include.
+
+2018-06-01  Joel Brobecker  <brobecker@adacore.com>
+
+	* breakpoint.c (breakpoint_re_set): Temporarily force language_mode
+	to language_mode_manual while calling breakpoint_re_set_one.
+
+2018-06-01  Tom Tromey  <tom@tromey.com>
+
+	* valops.c (value_cast_structs, destructor_name_p): Update.
+	* symtab.c (gdb_mangle_name): Update.
+	* stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
+	Update.
+	* p-valprint.c (pascal_object_is_vtbl_ptr_type)
+	(pascal_object_print_value_fields, pascal_object_print_value):
+	Update.
+	* p-typeprint.c (pascal_type_print_derivation_info): Update.
+	* linespec.c (find_methods): Update.
+	* gdbtypes.h (type_name_no_tag): Remove.
+	(type_name_or_error): Rename from type_name_no_tag_or_error.
+	* gdbtypes.c (type_name_no_tag): Remove.
+	(type_name_or_error): Rename from type_name_no_tag_or_error.
+	(lookup_struct_elt_type, check_typedef): Update.
+	* expprint.c (print_subexp_standard): Update.
+	* dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
+	* d-namespace.c (d_lookup_nested_symbol): Update.
+	* cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
+	(cp_print_class_member): Update.
+	* cp-namespace.c (cp_lookup_nested_symbol): Update.
+	* completer.c (add_struct_fields): Update.
+	* c-typeprint.c (cp_type_print_derivation_info)
+	(c_type_print_varspec_prefix, c_type_print_base_struct_union):
+	Update.
+	* ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
+	(ada_prefer_type, ada_is_exception_sym): Update.
+
+2018-06-01  Tom Tromey  <tom@tromey.com>
+
+	* valops.c (enum_constant_from_type, value_namespace_elt)
+	(value_maybe_namespace_elt): Update.
+	* valarith.c (find_size_for_pointer_math): Update.
+	* target-descriptions.c (make_gdb_type): Update.
+	* symmisc.c (print_symbol): Update.
+	* stabsread.c (define_symbol, read_type)
+	(complain_about_struct_wipeout, add_undefined_type)
+	(cleanup_undefined_types_1): Update.
+	* rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
+	(rust_range_type_p, val_print_struct, rust_print_struct_def)
+	(rust_internal_print_type, rust_composite_type)
+	(rust_evaluate_funcall, rust_evaluate_subexp)
+	(rust_inclusive_range_type_p): Update.
+	* python/py-type.c (typy_get_tag): Update.
+	* p-typeprint.c (pascal_type_print_base): Update.
+	* mdebugread.c (parse_symbol, parse_type): Update.
+	* m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
+	Update.
+	* guile/scm-type.c (gdbscm_type_tag): Update.
+	* go-lang.c (sixg_string_p): Update.
+	* gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
+	Update.
+	* gdbtypes.h (struct main_type) <tag_name>: Remove.
+	(TYPE_TAG_NAME): Remove.
+	* gdbtypes.c (type_name_no_tag): Simplify.
+	(check_typedef, check_types_equal, recursive_dump_type)
+	(copy_type_recursive, arch_composite_type): Update.
+	* f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
+	in summary mode when needed.
+	* eval.c (evaluate_funcall): Update.
+	* dwarf2read.c (fixup_go_packaging, read_structure_type)
+	(process_structure_scope, read_enumeration_type)
+	(read_namespace_type, read_module_type, determine_prefix): Update.
+	* cp-support.c (inspect_type): Update.
+	* coffread.c (process_coff_symbol, decode_base_type): Update.
+	* c-varobj.c (c_is_path_expr_parent): Update.
+	* c-typeprint.c (c_type_print_base_struct_union): Update.
+	(c_type_print_base_1): Update.  Print struct/class/union/enum in
+	summary when using C language.
+	* ax-gdb.c (gen_struct_ref, gen_namespace_elt)
+	(gen_maybe_namespace_elt): Update.
+	* ada-lang.c (ada_type_name): Simplify.
+	(empty_record, ada_template_to_fixed_record_type_1)
+	(template_to_static_fixed_type)
+	(to_record_with_fixed_variant_part, ada_check_typedef): Update.
+
+2018-06-01  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (dwarf2_compute_name): Pass CU's language to
+	c_print_type.
+	* c-typeprint.c (c_print_type_1): Add "language" parameter.
+	(c_print_type): Update.
+	(c_print_type): New overload.
+	(c_type_print_varspec_prefix, c_type_print_args)
+	(c_type_print_varspec_suffix, c_print_type_no_offsets)
+	(c_type_print_base_struct_union, c_type_print_base_1)
+	(cp_type_print_method_args): Add "language" parameter.
+	(c_type_print_base): Update.
+	* c-lang.h (c_print_type): Add new overload.
+
+2018-06-01  Tom Tromey  <tom@tromey.com>
+
+	* typeprint.h (c_type_print_varspec_suffix): Don't declare.
+	* c-typeprint.c (c_type_print_varspec_suffix): Now static.
+
+2018-06-01  Alan Hayward  <alan.hayward@arm.com>
+
+	* aarch64-tdep.c (aarch64_sve_register_names): New const
+	var.
+	* arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
+	(AARCH64_SVE_Z_REGS_NUM): New define.
+	(AARCH64_SVE_P_REGS_NUM): Likewise.
+	(AARCH64_SVE_NUM_REGS): Likewise.
+
+2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
+
+	* nat/linux-ptrace.h [__alpha__]
+	(GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
+	definitions.
+
+2018-05-31  Maciej W. Rozycki  <macro@mips.com>
+
+	* arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
+	the endianness selected.
+	* NEWS: Document `set endian auto' mode operation update.
+
+2018-05-31  Alan Hayward  <alan.hayward@arm.com>
+
+	* Makefile.in: Add new header.
+	* gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
+	(sve_vl_from_vg): Likewise.
+	(sve_vq_from_vl): Likewise.
+	(sve_vl_from_vq): Likewise.
+	(sve_vq_from_vg): Likewise.
+	(sve_vg_from_vq): Likewise.
+	* configure.nat: Add new c file.
+	* nat/aarch64-sve-linux-ptrace.c: New file.
+	* nat/aarch64-sve-linux-ptrace.h: New file.
+
+2018-05-31  Alan Hayward  <alan.hayward@arm.com>
+
+	* aarch64-linux-nat.c (aarch64_linux_read_description):
+	Add parmeter zero.
+	* aarch64-linux-tdep.c (aarch64_linux_core_read_description):
+	Likewise.
+	* aarch64-tdep.c (tdesc_aarch64_list): Add.
+	(aarch64_read_description): Use VQ to index tdesc_aarch64_list.
+	(aarch64_gdbarch_init): Add parmeter zero.
+	* aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
+	* arch/aarch64.c (aarch64_create_target_description): Check VQ.
+	* arch/aarch64.h (aarch64_create_target_description): Add VQ.
+	parmeter.
+	* doc/gdb.texinfo: Describe SVE feature
+	* features/aarch64-sve.c: New file.
+
 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
 
 	PR gdb/23210
@@ -14,6 +1946,1250 @@
 	* gdbarch.c: Re-generated.
 	* utils.c (address_significant): Update.
 
+2018-05-30  Joel Brobecker  <brobecker@adacore.com>
+
+	* stack.c (func_command): Remove trailing newline in call to error.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_raw_collect): Remove, update callers to
+	use regcache::raw_collect.
+	* regcache.c (regcache_raw_collect): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_raw_supply): Remove, update callers to
+	use detached_regcache::raw_supply.
+	* regcache.c (regcache_raw_supply): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_cooked_write_part): Remove, update
+	callers to use regcache::cooked_write_part.
+	* regcache.c (regcache_cooked_write_part): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_cooked_read_part): Remove, update callers
+	to use readable_regcache::cooked_read_part.
+	* regcache.c (regcache_cooked_read_part): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_cooked_read_value): Remove, update
+	callers to use readable_regcache::cooked_read_value.
+	* regcache.c (regcache_cooked_read_value): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_cooked_write): Remove, update callers to
+	use regcache::cooked_write.
+	* regcache.c (regcache_cooked_write): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_invalidate): Remove, update callers to
+	use detached_regcache::invalidate instead.
+	* regcache.c (regcache_invalidate): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_raw_write_part): Remove, update callers
+	to use regcache::raw_write_part instead.
+	* regcache.c (regcache_raw_write_part): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_raw_read_part): Remove, update callers to
+	use readable_regcache::raw_read_part instead.
+	* regcache.c (regcache_raw_read_part): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_cooked_read): Remove, update callers to
+	use readable_regcache::cooked_read instead.
+	* regcache.c (regcache_cooked_read): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_raw_write): Remove, update callers to use
+	regcache::raw_write instead.
+	* regcache.c (regcache_raw_write): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_raw_read): Remove, update callers to use
+	readable_regcache::raw_read instead.
+	* regcache.c (regcache_raw_read): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_raw_update): Remove, update callers to
+	use readable_regcache::raw_update instead.
+	* regcache.c (regcache_raw_update): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_register_status): Remove, update callers
+	to use reg_buffer::get_register_status directly instead.
+	* regcache.c (regcache_register_status): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.h (regcache_get_ptid): Remove, update all callers to
+	call regcache::ptid instead.
+	* regcache.c (regcache_get_ptid): Remove.
+
+2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
+
+2018-05-30  Pedro Alves  <palves@redhat.com>
+
+	* common/common-exceptions.h (exception_rethrow): Use
+	ATTRIBUTE_NORETURN.
+
+2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* breakpoint.c (print_solib_event, check_status_catch_solib):
+	Remove struct keyword in range-based for loops.
+	* dbxread.c (find_corresponding_bincl_psymtab): Likewise.
+	* dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
+	Likewise.
+	* linespec.c (find_superclass_methods, search_minsyms_for_name):
+	Likewise.
+	* symfile.c (addr_info_make_relative): Likewise.
+	* thread.c (value_in_thread_stack_temporaries): Likewise.
+
+2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
+
+	PR gdb/16841
+	* valops.c (value_struct_elt_for_reference): Call check_typedef on
+	aggregate type to get its real type before accessing it.
+
+2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
+
+	* minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
+	* minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
+	* coff-pe-read.c (add_pe_forwarded_sym): Replace
+	lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
+	* glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
+	* jit.c (jit_breakpoint_re_set_internal): Likewise.
+	* printcmd.c (info_address_command): Likewise.
+
+2018-05-29  Tom Tromey  <tom@tromey.com>
+
+	* windows-nat.c (handle_exception): Update fall-through comment.
+
+2018-05-29  Tom Tromey  <tom@tromey.com>
+
+	* progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
+	(struct program_space) <added_solibs>: Now a std::vector.
+	* breakpoint.c (print_solib_event): Update.
+	(check_status_catch_solib): Update.
+	* progspace.c (clear_program_space_solib_cache): Update.
+	* solib.c (update_solib_list): Update.
+
+2018-05-29  Tom Tromey  <tom@tromey.com>
+
+	* python/py-type.c (typy_richcompare): Update.
+	* guile/scm-type.c (tyscm_equal_p_type_smob): Update.
+	* gdbtypes.h (types_deeply_equal): Return bool.
+	(types_equal): Likewise.
+	* gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
+	declare VEC.
+	(check_types_equal): Change worklist to std::vector.  Return
+	bool.
+	(struct type_equality_entry): Add constructor.
+	(compare_maybe_null_strings): Return bool.
+	(check_types_worklist): Return bool.  Change worklist to
+	std::vector.
+	(types_deeply_equal): Use std::vector.
+	(types_equal): Return bool.
+	(compare_maybe_null_strings): Simplify.
+
+2018-05-29  Tom Tromey  <tom@tromey.com>
+
+	* record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
+
+2018-05-29  Tom Tromey  <tom@tromey.com>
+
+	* objc-lang.h: Don't include cp-support.h.
+	* common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
+	declare VEC.
+
+2018-05-27  Tom Tromey  <tom@tromey.com>
+
+	* Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
+
+2018-05-25  Tom Tromey  <tom@tromey.com>
+
+	* value.c (value::location): Initialize.
+
+2018-05-25  Tom Tromey  <tom@tromey.com>
+
+	* dbxread.c (init_bincl_list): Remove.
+	(bincl_list): Now a std::vector.
+	(bincls_allocated, next_bincl): Remove.
+	(free_bincl_list, do_free_bincl_list_cleanup)
+	(make_cleanup_free_bincl_list): Remove.
+	(dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
+	unique_xmalloc_ptr.
+	(find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
+	(struct header_file_location): Add constructor.
+	(add_bincl_to_list): Remove.
+
+2018-05-25  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui.c (tui_enable): Update.
+	* mi/mi-interp.c (mi_interp::init): Update.
+	* interps.h (class interp) <name>: New method.
+	<m_name>: Rename from name.
+	(~scoped_restore_interp): Update.
+	* interps.c (interp::interp): Update.
+	(interp_add, interp_set, interp_lookup_existing)
+	(current_interp_named_p): Update.
+
+2018-05-25  Tom Tromey	<tom@tromey.com>
+
+	* interps.c (interp_name): Remove.
+	* mi/mi-interp.c (mi_interp::init): Update.
+	* interps.h (interp_name): Remove.
+	(~scoped_restore_interp): Update.
+	* tui/tui.c (tui_enable): Update.
+
+2018-05-25  Tom Tromey	<tom@tromey.com>
+
+	* utils.c (fputs_maybe_filtered): Update.
+	* linespec.c (decode_line_full): Update.
+	* mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
+	(mi_print_breakpoint_for_event, mi_solib_loaded)
+	(mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
+	(mi_user_selected_context_changed): Update.
+	* mi/mi-main.c (mi_execute_command): Update.
+	* cli/cli-script.c (execute_control_command): Update.
+	* python/python.c (execute_gdb_command): Update.
+	* solib.c (info_sharedlibrary_command): Update.
+	* interps.c (interp_ui_out): Remove.
+	* interps.h (interp_ui_out): Remove.
+
+2018-05-25  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
+	* mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
+	* cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
+
+2018-05-25  Tom Tromey  <tom@tromey.com>
+
+	* cli/cli-interp.c (safe_execute_command): Use scoped_restore.
+	* interps.c (interp_exec): Use scoped_restore.
+
+2018-05-25  Tom Tromey  <tom@tromey.com>
+
+	* remote.c (remote_target::remote_file_get): Use
+	gdb::byte_vector.
+	(remote_target::remote_file_put): Likewise.
+
+2018-05-25  Tom Tromey  <tom@tromey.com>
+
+	* coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
+	a std::string.
+	(get_pe_section_index, add_pe_exported_sym): Update.
+	(read_pe_exported_syms): Use gdb::def_vector.
+
+2018-05-25  Tom Tromey  <tom@tromey.com>
+
+	* frame.c (remove_prev_frame): Remove.
+	(get_prev_frame_if_no_cycle): Use TRY/CATCH.
+
+2018-05-25  Maciej W. Rozycki  <macro@mips.com>
+
+	* mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
+	Remove prototypes.
+	* mips-linux-nat.c (supply_fpregset): Always call
+	`mips64_supply_fpregset' rather than `mips_supply_fpregset'.
+	(fill_fpregset): Always call `mips64_fill_fpregset' rather than
+	`mips_fill_fpregset'.
+	* mips-linux-tdep.c (mips_supply_fpregset)
+	(mips_supply_fpregset_wrapper, mips_fill_fpregset)
+	(mips_fill_fpregset_wrapper): Remove functions.
+	(mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
+	(mips_linux_fpregset): Remove variable.
+	(mips_linux_iterate_over_regset_sections): Use
+	`mips64_linux_fpregset' in place of `mips_linux_fpregset'.
+	(mips_linux_o32_sigframe_init): Remove comment.
+
+2018-05-25  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
+	(struct readahead_cache, struct packet_reg, struct
+	remote_arch_state, class remote_state): Move higher up in the
+	file.
+	(remote_target::m_remote_state): Now an object instead of a pointer.
+	(remote_target::get_remote_state): Adjust.
+
+2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* stack.c (select_and_print_frame): Delete.
+	(struct function_bounds): Move struct within function.
+	(func_command): Most content moved into new function
+	find_frame_for_function, use new function, print result, add
+	function comment.
+	(find_frame_for_function): New function, now returns a result.
+
+2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+	* stack.c (iterate_over_block_arg_vars): Fix comment.
+	(print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
+
+2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	PR gdb/23203
+	* frame.c
+	(scoped_restore_selected_frame::scoped_restore_selected_frame):
+	Define.
+	(scoped_restore_selected_frame::~scoped_restore_selected_frame):
+	Define.
+	* frame.h (class scoped_restore_selected_frame): New class.
+	* stack.c (print_frame_local_vars): Remove catching and rethrowing
+	of any exception, use scoped_restore_selected_frame to restore the
+	frame instead.
+
+2018-05-24  Pedro Alves  <palves@redhat.com>
+
+	* darwin-nat.h (darwin_nat_target::create_inferior): Mark with
+	override.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* complaints.c (struct complaints): Remove.
+	(symfile_complaint_book): Remove.
+	(series): New global.
+	(complaint_internal): Update.
+	(clear_complaints): Update.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* complaints.c (counters): New global.
+	(struct complain): Remove.
+	(struct complaints) <root>: Remove.
+	(complaint_sentinel): Remove.
+	(symfile_complaint_book): Update.
+	(find_complaint) Remove.
+	(complaint_internal, clear_complaints): Update.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* complaints.c (struct complain) <file, line>: Remove.
+	(find_complaint): Remove file, line parameters.
+	(complaint_internal): Update.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* complaints.c (vcomplaint): Remove.
+	(complaint_internal) Merge in contents of vcomplaint.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* complaints.c (struct complaints) <explanation>: Remove.
+	(symfile_explanations): Remove.
+	(symfile_complaint_book): Update.
+	(vcomplaint): Update.
+	(struct explanation): Remove.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* complaints.c (symfile_complaints): Remove.
+	(complaint_internal): Remove "complaints" parameter.
+	(clear_complaints, vcomplaint): Remove "c" parameter.
+	(get_complaints): Remove.
+	* dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
+	(dwarf2_debug_line_missing_file_complaint)
+	(dwarf2_debug_line_missing_end_sequence_complaint)
+	(dwarf2_complex_location_expr_complaint)
+	(dwarf2_const_value_length_mismatch_complaint)
+	(dwarf2_section_buffer_overflow_complaint)
+	(dwarf2_macro_malformed_definition_complaint)
+	(dwarf2_invalid_attrib_class_complaint)
+	(create_addrmap_from_index, dw2_symtab_iter_next)
+	(dw2_expand_marked_cus)
+	(dw2_debug_names_iterator::find_vec_in_debug_names)
+	(dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
+	(create_debug_type_hash_table, init_cutu_and_read_dies)
+	(partial_die_parent_scope, add_partial_enumeration)
+	(skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
+	(dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
+	(read_import_statement, read_file_scope, create_dwo_cu_reader)
+	(create_cus_hash_table, create_dwp_hash_table)
+	(inherit_abstract_dies, read_func_scope, read_call_site_scope)
+	(dwarf2_rnglists_process, dwarf2_ranges_process)
+	(dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
+	(dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
+	(handle_struct_member_die, process_structure_scope)
+	(read_array_type, read_common_block, read_module_type)
+	(read_tag_pointer_type, read_typedef, read_base_type)
+	(read_subrange_type, load_partial_dies, partial_die_info::read)
+	(partial_die_info::read, partial_die_info::read)
+	(partial_die_info::read, read_checked_initial_length_and_offset)
+	(dwarf2_string_attr, read_formatted_entries)
+	(dwarf_decode_line_header)
+	(lnp_state_machine::check_line_address, dwarf_decode_lines_1)
+	(new_symbol, dwarf2_const_value_attr, lookup_die_type)
+	(read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
+	(dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
+	(get_signatured_type, get_DW_AT_signature_type)
+	(decode_locdesc, file_file_name, consume_improper_spaces)
+	(skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
+	(dwarf_decode_macro_bytes, dwarf_decode_macros)
+	(dwarf2_symbol_mark_computed, set_die_type)
+	(read_attribute_value): Update.
+	* stap-probe.c (handle_stap_probe, get_stap_base_address):
+	Update.
+	* dbxread.c (unknown_symtype_complaint)
+	(lbrac_mismatch_complaint, repeated_header_complaint)
+	(set_namestring, function_outside_compilation_unit_complaint)
+	(read_dbx_symtab, process_one_symbol): Update.
+	* gdbtypes.c (stub_noname_complaint): Update.
+	* windows-nat.c (handle_unload_dll): Update.
+	* coffread.c (coff_symtab_read, enter_linenos, decode_type)
+	(decode_base_type): Update.
+	* xcoffread.c (bf_notfound_complaint, ef_complaint)
+	(eb_complaint, record_include_begin, record_include_end)
+	(enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
+	(process_xcoff_symbol, read_symbol)
+	(function_outside_compilation_unit_complaint)
+	(scan_xcoff_symtab): Update.
+	* machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
+	* buildsym.c (finish_block_internal, make_blockvector)
+	(end_symtab_get_static_block, augment_type_symtab): Update.
+	* dtrace-probe.c (dtrace_process_dof)
+	(dtrace_static_probe_ops::get_probes): Update.
+	* complaints.h (struct complaint): Don't declare.
+	(symfile_complaints): Remove.
+	(complaint_internal): Remove "complaints" parameter.
+	(complaint): Likewise.
+	(clear_complaints): Likewise.
+	* symfile.c (syms_from_objfile_1, finish_new_objfile)
+	(reread_symbols): Update.
+	* dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
+	(dwarf2_frame_cache, decode_frame_entry): Update.
+	* dwarf2loc.c (dwarf_reg_to_regnum): Update.
+	* objc-lang.c (lookup_objc_class, lookup_child_selector)
+	(info_selectors_command): Update.
+	* macrotab.c (macro_include, check_for_redefinition)
+	(macro_undef): Update.
+	* objfiles.c (filter_overlapping_sections): Update.
+	* stabsread.c (invalid_cpp_abbrev_complaint)
+	(reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
+	(define_symbol, error_type, read_type, rs6000_builtin_type)
+	(stabs_method_name_from_physname, read_member_functions)
+	(read_cpp_abbrev, read_baseclasses, read_tilde_fields)
+	(attach_fields_to_type, complain_about_struct_wipeout)
+	(read_range_type, read_args, common_block_start)
+	(common_block_end, cleanup_undefined_types_1, scan_file_globals):
+	Update.
+	* mdebugread.c (index_complaint, unknown_ext_complaint)
+	(basic_type_complaint, bad_tag_guess_complaint)
+	(bad_rfd_entry_complaint, unexpected_type_code_complaint)
+	(reg_value_complaint, parse_symbol, parse_type, upgrade_type)
+	(parse_procedure, parse_lines)
+	(function_outside_compilation_unit_complaint)
+	(parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
+	(bad_tag_guess_complaint, reg_value_complaint): Update.
+	* cp-support.c (demangled_name_complaint): Update.
+	* macroscope.c (sal_macro_scope): Update.
+	* dwarf-index-write.c (class debug_names): Update.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* complaints.c (clear_complaints): Remove "noisy" parameter.
+	* complaints.h (clear_complaints): Update.
+	* symfile.c (syms_from_objfile_1, finish_new_objfile)
+	(reread_symbols): Update.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
+	SUBSEQUENT_MESSAGE.
+	(vcomplaint, clear_complaints): Update.
+	(symfile_explanations): Remove some messages.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* complaints.c (internal_complaint): Remove.
+	* complaints.h (internal_complaint): Remove.
+
+2018-05-22  Maciej W. Rozycki  <macro@mips.com>
+
+	* i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	* remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
+	(remote_fileio_badfd, remote_fileio_return_errno)
+	(remote_fileio_return_success, remote_fileio_func_open)
+	(remote_fileio_func_open, remote_fileio_func_close)
+	(remote_fileio_func_read, remote_fileio_func_write)
+	(remote_fileio_func_lseek, remote_fileio_func_rename)
+	(remote_fileio_func_unlink, remote_fileio_func_stat)
+	(remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
+	(remote_fileio_func_isatty, remote_fileio_func_system): Add
+	remote_target parameter.
+	(remote_fio_func_map) <func>: Add remote_target parameter.
+	(do_remote_fileio_request, remote_fileio_request):
+	* remote-fileio.h (remote_fileio_request):
+	* remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
+	remote_target parameter.
+	(remote_notif_process, handle_notification): Adjust to pass down
+	the remote.
+	(remote_notif_state_allocate): Add remote_target parameter.  Save
+	it.
+	* remote-notif.h (struct remote_target): Forward declare.
+	(struct notif_client) <parse, ack, can_get_pending_events>: Add
+	remote_target parameter.
+	(struct remote_notif_state) <remote>: New field.
+	(remote_notif_ack, remote_notif_parse): Add remote_target
+	parameter.
+	(remote_notif_state_allocate, remote_notif_state_allocate): Add
+	remote_target parameter.
+	* remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
+	(threads_listing_context, rmt_thread_action, protocol_feature)
+	(packet_reg, stop_reply, stop_reply_p, enum packet_support)
+	(packet_result, struct threads_listing_context, remote_state):
+	Move definitions and declarations higher up.
+	(remote_target) <~remote_target>: Declare.
+	(remote_download_command_source, remote_file_put, remote_file_get)
+	(remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
+	(remote_hostio_pread_vFile, remote_hostio_send_command)
+	(remote_hostio_set_filesystem, remote_hostio_open)
+	(remote_hostio_close, remote_hostio_unlink, remote_state)
+	(get_remote_state, get_remote_packet_size, get_memory_packet_size)
+	(get_memory_write_packet_size, get_memory_read_packet_size)
+	(append_pending_thread_resumptions, remote_detach_1)
+	(append_resumption, remote_resume_with_vcont)
+	(add_current_inferior_and_thread, wait_ns, wait_as)
+	(process_stop_reply, remote_notice_new_inferior)
+	(process_initial_stop_replies, remote_add_thread)
+	(btrace_sync_conf, remote_btrace_maybe_reopen)
+	(remove_new_fork_children, kill_new_fork_children)
+	(discard_pending_stop_replies, stop_reply_queue_length)
+	(check_pending_events_prevent_wildcard_vcont)
+	(discard_pending_stop_replies_in_queue, stop_reply)
+	(remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
+	(peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
+	(remote_interrupt_as, remote_interrupt_ns)
+	(remote_get_noisy_reply, remote_query_attached)
+	(remote_add_inferior, remote_current_thread, get_current_thread)
+	(set_thread, set_general_thread, set_continue_thread)
+	(set_general_process, write_ptid)
+	(remote_unpack_thread_info_response, remote_get_threadinfo)
+	(parse_threadlist_response, remote_get_threadlist)
+	(remote_threadlist_iterator, remote_get_threads_with_ql)
+	(remote_get_threads_with_qxfer)
+	(remote_get_threads_with_qthreadinfo, extended_remote_restart)
+	(get_offsets, remote_check_symbols, remote_supported_packet)
+	(remote_query_supported, remote_packet_size)
+	(remote_serial_quit_handler, remote_detach_pid)
+	(remote_vcont_probe, remote_resume_with_hc)
+	(send_interrupt_sequence, interrupt_query)
+	(remote_notif_get_pending_events, fetch_register_using_p)
+	(send_g_packet, process_g_packet, fetch_registers_using_g)
+	(store_register_using_P, store_registers_using_G)
+	(set_remote_traceframe, check_binary_download)
+	(remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
+	(remote_xfer_live_readonly_partial, remote_read_bytes)
+	(remote_send_printf, remote_flash_write, readchar)
+	(remote_serial_write, putpkt, putpkt_binary, skip_frame)
+	(read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
+	(getpkt_or_notif_sane, remote_vkill, remote_kill_k)
+	(extended_remote_disable_randomization, extended_remote_run)
+	(send_environment_packet, extended_remote_environment_support)
+	(extended_remote_set_inferior_cwd, remote_write_qxfer)
+	(remote_read_qxfer, push_stop_reply, vcont_r_supported)
+	(packet_command): Now methods of ...
+	(remote_target): ... this class.
+	(m_remote_state) <remote_target>: New field.
+	(struct remote_state) <stop_reply_queue,
+	remote_async_inferior_event_token, wait_forever_enabled_p>: New
+	fields.
+	(remote_state::remote_state): Allocate stop_reply_queue.
+	(remote_state): Delete global.
+	(get_remote_state_raw): Delete.
+	(remote_target::get_remote_state): Allocate m_remote_state on
+	demand.
+	(get_current_remote_target): New.
+	(remote_ops, extended_remote_ops): Delete.
+	(wait_forever_enabled_p, remote_async_inferior_event_token):
+	Delete, moved to struct remote_state.
+	(remote_target::close): Delete self.  Destruction bits split to
+	...
+	(remote_target::~remote_target): ... this.
+	(show_memory_packet_size): Adjust to use
+	get_current_remote_target.
+	(struct protocol_feature) <func>: Add remote_target parameter.
+	All callers adjusted.
+	(curr_quit_handler_target): New.
+	(remote_serial_quit_handler): Reimplement.
+	(remote_target::open_1): Adjust to use get_current_remote_target.
+	Heap-allocate remote_target/extended_remote_target instances.
+	(vcont_builder::vcont_builder): Add remote_target parameter, and
+	save it in m_remote.  All callers adjusted.
+	(vcont_builder::m_remote): New field.
+	(vcont_builder::restart, vcont_builder::flush)
+	(vcont_builder::push_action): Use it.
+	(remote_target::commit_resume): Use it.
+	(struct queue_iter_param) <remote>: New field.
+	(remote_target::remove_new_fork_children): Fill in 'remote' field.
+	(check_pending_event_prevents_wildcard_vcont_callback_data): New.
+	(check_pending_event_prevents_wildcard_vcont_callback)
+	(remote_target::check_pending_events_prevent_wildcard_vcont)
+	(remote_target::discard_pending_stop_replies)
+	(remote_target::discard_pending_stop_replies_in_queue)
+	(remote_target::remote_notif_remove_queued_reply): Fill in
+	'remote' field.
+	(remote_notif_get_pending_events): New.
+	(remote_target::readchar, remote_target::remote_serial_write):
+	Save/restore curr_quit_handler_target.
+	(putpkt): New.
+	(kill_new_fork_children): Fill in 'remote' field.
+	(packet_command): Use get_current_remote_target, defer to
+	remote_target method of same name.
+	(scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
+	parameter, and save it in m_remote.  All callers adjusted.
+	(scoped_remote_fd::release): Use m_remote.
+	(scoped_remote_fd::m_remote): New field.
+	(remote_file_put, remote_file_get, remote_file_delete): Use
+	get_current_remote_target, defer to remote_target method of same
+	name.
+	(remote_btrace_reset): Add remote_state paremeter.  Update all
+	callers.
+	(remote_async_inferior_event_handler). Pass down 'data'.
+	(remote_new_objfile): Use get_current_remote_target.
+	(remote_target::vcont_r_supported): New.
+	(set_range_stepping): Use get_current_remote_target and
+	remote_target::vcont_r_supported.
+	(_initialize_remote): Don't allocate 'remote_state' and
+	'stop_reply_queue' globals.
+	* remote.h (struct remote_target): Forward declare.
+	(getpkt, putpkt, remote_notif_get_pending_events): Add
+	'remote_target' parameter.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (vcont_builder): Now a class.  Make all data members
+	private.
+	(vcont_builder) <vcont_builder, restart, flush, push_action>:
+	Declare methods.
+	(vcont_builder_restart): Rename to ...
+	(vcont_builder::restart): ... this.
+	(vcont_builder_flush): Rename to ...
+	(vcont_builder::flush): ... this.
+	(vcont_builder_push_action): Rename to ...
+	(vcont_builder::push_action): ... this.
+	(remote_target::commit_resume): Adjust.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
+	(DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
+	(get_fixed_memory_packet_size): New.
+	(get_memory_packet_size): Use it.
+	(set_memory_packet_size): Don't override the config size with
+	DEFAULT_MAX_MEMORY_PACKET_SIZE.
+	(show_memory_packet_size): Use get_fixed_memory_packet_size.
+	Don't refer to get_memory_packet_size if not connected to a remote
+	target.  Show "(default)" if configured size is 0.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (remote_target::mourn_inferior): Move
+	discard_pending_stop_replies call here from ...
+	(_initialize_remote): ... here.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (compare_section_command): Remove set_general_process
+	call.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (struct packet_reg, struct remote_arch_state):
+	Move higher up in the file.
+	(remote_state) <m_arch_states>: Store remote_arch_state values
+	instead of remote_arch_state pointers.
+	(remote_state::get_remote_arch_state): Adjust.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	* remote.c: Include <unordered_map>.
+	(remote_state): Now a class.
+	(remote_state) <get_remote_arch_state>: Declare method.
+	<get_remote_arch_state>: New field.
+	(remote_arch_state) <remote_arch_state>: Declare ctor.
+	<regs>: Now a unique_ptr.
+	(remote_gdbarch_data_handle): Delete.
+	(get_remote_arch_state): Delete.
+	(remote_state::get_remote_arch_state): New.
+	(get_remote_state): Adjust to call remote_state's
+	get_remote_arch_state method.
+	(init_remote_state): Delete, bits factored out to ...
+	(remote_arch_state::remote_arch_state): ... this new method.
+	(get_remote_packet_size, get_memory_packet_size)
+	(process_g_packet, remote_target::fetch_registers)
+	(remote_target::prepare_to_store, store_registers_using_G)
+	(remote_target::store_registers, remote_target::get_trace_status):
+	Adjust to call remote_state's method.
+	(_initialize_remote): Remove reference to
+	remote_gdbarch_data_handle.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (struct readahead_cache) <invalidate, invalidate_fd,
+	pread>: New method declarations.
+	(remote_target::open_1): Adjust.
+	(readahead_cache_invalidate): Rename to ...
+	(readahead_cache::invalidate): ... this, and adjust to be a class
+	method.
+	(readahead_cache_invalidate_fd): Rename to ...
+	(readahead_cache::invalidate_fd): ... this, and adjust to be a
+	class method.
+	(remote_hostio_pwrite): Adjust.
+	(remote_hostio_pread_from_cache): Rename to ...
+	(readahead_cache::pread): ... this, and adjust to be a class
+	method.
+	(remote_hostio_close): Adjust.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (remote_hostio_close_cleanup): Delete.
+	(class scoped_remote_fd): New.
+	(remote_file_put, remote_file_get): Use it.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	(struct vCont_action_support): Use bool and initialize all fields.
+	(struct readahead_cache): Initialize all fields.
+	(remote_state): Use bool and initialize all fields.
+	(remote_state::remote_state, remote_state::~remote_state): New.
+	(new_remote_state): Delete.
+	(_initialize_remote): Use new to allocate remote_state.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+	    å¼µä¿ŠèŠ�  <zjz@zjz.name>
+
+	PR gdb/22973
+	* c-exp.y: Include "c-support.h".
+	(parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
+	of tolower.  Use c_ident_is_alpha to scan names.
+	* c-lang.c: Include "c-support.h".
+	(convert_ucn, convert_octal, convert_hex, convert_escape): Use
+	ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
+	* c-support.h: New file, with bits factored out from ...
+	* cp-name-parser.y: ... this file.
+	Include "c-support.h".
+	(cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
+	c-support.h and renamed.
+	(symbol_end, yylex): Adjust.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
+	parameter type to CORE_ADDR.
+	* arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
+	parameter type in declaration to CORE_ADDR.
+	* ppc-linux-tdep.c (ppc_linux_core_read_description): Call
+	target_auxv_search to get AT_HWCAP and use the result to get the
+	target description.
+	* ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
+	to CORE_ADDR. Remove the cast of the return value to unsigned
+	long. Fix error predicate of target_auxv_search.
+	(ppc_linux_nat_target::read_description): Change the type of the
+	hwcap variable to CORE_ADDR.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
+	if the size of fpscr is larger than 32 bits.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
+	(ppc32_linux_vsxregmap): New global.
+	(ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
+	regcache_supply_regset, and regcache_collect_regset.
+	* ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
+	* ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
+	(fetch_vsx_register, store_vsx_register): Remove.
+	(fetch_vsx_registers): Add regno parameter. Get regset using
+	ppc_linux_vsxregset. Use regset to supply registers.
+	(store_vsx_registers): Add regno parameter. Get regset using
+	ppc_linux_vsxregset. Use regset to collect registers.
+	(fetch_register): Call fetch_vsx_registers instead of
+	fetch_vsx_register.
+	(store_register): Call store_vsx_registers instead of
+	store_vsx_register.
+	(fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
+	new regno parameter.
+	(store_ppc_registers): Call store_vsx_registers with -1 for the
+	new regno parameter.
+	* rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
+	(ppc_collect_vsxregset): Remove.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
+	offset fields.
+	* ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
+	for vector register offset fields.
+	(ppc64_fbsd_reg_offsets): Likewise.
+	* ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
+	to vector register offset fields.
+	* ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
+	to vector register offset fields.
+	* ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
+	vector register offset fields.
+	* rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
+	initializers for vector register offset fields.
+	(rs6000_aix64_reg_offsets): Likewise.
+	* rs6000-tdep.c (ppc_vrreg_offset): Remove.
+	(ppc_supply_vrregset): Remove.
+	(ppc_collect_vrregset): Remove.
+	* ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
+	(ppc_linux_vrregset) : New function.
+	(ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
+	(ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
+	(ppc32_linux_vrregset): Remove.
+	(ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
+	and use result instead of ppc32_linux_vrregset.
+	(ppc32_linux_reg_offsets): Remove initializers for vector register
+	offset fields.
+	(ppc64_linux_reg_offsets): Likewise.
+	* ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
+	* ppc-linux-nat.c: Include regset.h.
+	(gdb_vrregset_t): Adjust comment to account for little-endian
+	mode.
+	(supply_vrregset, fill_vrregset): Remove.
+	(fetch_altivec_register, store_altivec_register): Remove.
+	(fetch_altivec_registers): Add regno parameter. Get regset using
+	ppc_linux_vrregset. Use regset to supply registers.
+	(store_altivec_registers): Add regno parameter. Get regset using
+	ppc_linux_vrregset. Use regset to collect registers.
+	(fetch_register): Call fetch_altivec_registers instead of
+	fetch_altivec_register.
+	(store_register): Call store_altivec_registers instead of
+	store_altivec_register.
+	(fetch_ppc_registers): Call fetch_altivec_registers with -1 for
+	the new regno parameter.
+	(store_ppc_registers): Call store_altivec_registers with -1 for
+	the new regno parameter.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
+	(PPC_LINUX_SIZEOF_VSXREGSET): Define.
+	* ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
+	(gdb_vrregset_t): Change array type size to
+	PPC_LINUX_SIZEOF_VRREGSET.
+	(gdb_vsxregset_t): Change array type size to
+	PPC_LINUX_SIZEOF_VSXREGSET.
+	* ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
+	Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
+	PPC_LINUX_SIZEOF_VSXREGSET.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
+	* ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
+	nat/ppc-linux.c.
+	(ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
+	ppc_linux_target_wordsize with tid.
+	(ppc_linux_nat_target::read_description): Call ppc_linux_target
+	wordsize with tid.
+	* nat/ppc-linux.c: Include nat/gdb_ptrace.h.
+	(ppc64_64bit_inferior_p): Add static and inline specifiers.
+	(ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
+	tid parameter. Remove static specifier.
+	* nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
+	(ppc_linux_target_wordsize): New declaration.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* arch/ppc-linux-common.c: New file.
+	* arch/ppc-linux-common.h: New file.
+	* arch/ppc-linux-tdesc.h: New file.
+	* configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
+	* Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
+	(HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
+	arch/ppc-linux-tdesc.h.
+	* ppc-linux-nat.c: Include arch/ppc-linux-common.h and
+	arch/ppc-linux-tdesc.h.
+	(ppc_linux_nat_target::read_description): Remove target
+	description matching code. Fill a ppc_linux_features struct and
+	call ppc_linux_match_description with it. Move comment about ISA
+	2.05 to ppc-linux-common.c.
+	* ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
+	arch/ppc-linux-tdesc.h.
+	(ppc_linux_core_read_description): Remove target description
+	matching code. Fill a ppc_linux_features struct and call
+	ppc_linux_match_description with it.
+	* ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
+	(tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
+	(tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
+	(tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
+	(tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
+	(tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
+	(tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
+	(tdesc_powerpc_e500l): Remove.
+
+2018-05-22  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (catch_assert_command): Pass empty string instead
+	of NULL for excep_string argument.
+
+2018-05-22  Maciej W. Rozycki  <macro@mips.com>
+
+	* mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
+	the width of the requested register exceeds the width of the
+	`ptrace' data type.
+
+2018-05-21  Tom Tromey  <tom@tromey.com>
+
+	* printcmd.c (output_command): Remove.
+	(output_command_const): Rename to output_command.
+	* valprint.h (output_command): Rename from output_command_const.
+	* tracepoint.c (trace_dump_actions): Call output_command.
+
+2018-05-21  Tom Tromey  <tom@tromey.com>
+
+	* mi/mi-cmd-catch.c (mi_cmd_catch_assert)
+	(mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
+	* ada-lang.h (create_ada_exception_catchpoint): Update.
+	* ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
+	std::string.
+	(create_excep_cond_exprs, ~ada_catchpoint)
+	(should_stop_exception, print_one_exception)
+	(print_mention_exception, print_recreate_exception): Update.
+	(ada_get_next_arg): Remove.
+	(catch_ada_exception_command_split): Use std::string.  Change type
+	of "excep_string", "cond_string".
+	(catch_ada_exception_command): Update.
+	(create_ada_exception_catchpoint): Change type of excep_string.
+	(ada_exception_sal): Remove excep_string parameter.
+	(~ada_catchpoint): Remove.
+
+2018-05-21  Tom Tromey  <tom@tromey.com>
+
+	* ada-lang.c (ada_collect_symbol_completion_matches): Remove
+	cleanup.
+
+2018-05-21  Tom Tromey  <tom@tromey.com>
+
+	* ada-lang.c (ada_exception_message_1, ada_exception_message):
+	Return unique_xmalloc_ptr.
+	(print_it_exception): Update.
+
+2018-05-21  Tom Tromey  <tom@tromey.com>
+
+	* tracepoint.c (trace_dump_actions): Use std::string.
+
+2018-05-21  Tom Tromey  <tom@tromey.com>
+
+	* symfile.c (reread_symbols): Use std::string for original_name.
+
+2018-05-21  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
+	(mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
+	constructor.
+
+2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
+	instance to...
+	(HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
+	* objfiles.c (get_objfile_bfd_data): Allocate
+	objfile_per_bfd_storage with obstack_new when allocating on
+	obstack.
+
+2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
+	OBSTACK_ZALLOC.
+	* dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
+	* hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
+	* mdebugread.c (mdebug_build_psymtabs): Likewise.
+	(add_pending): Likewise.
+	(parse_symbol): Likewise.
+	(parse_partial_symbols): Likewise.
+	(psymtab_to_symtab_1): Likewise.
+	(new_psymtab): Likewise.
+	(elfmdebug_build_psymtabs): Likewise.
+	* minsyms.c (terminate_minimal_symbol_table): Likewise.
+	* objfiles.c (get_objfile_bfd_data): Likewise.
+	(objfile_register_static_link): Likewise.
+	* psymtab.c (allocate_psymtab): Likewise.
+	* stabsread.c (read_member_functions): Likewise.
+	* xcoffread.c (xcoff_end_psymtab): Likewise.
+
+2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
+	compiler supports std::is_trivially_constructible.
+	* common/poison.h: Include obstack.h.
+	(IsMallocable): Define to is_trivially_constructible if the
+	compiler supports it, define to true_type otherwise.
+	(xobnew): New.
+	(XOBNEW): Redefine.
+	(xobnewvec): New.
+	(XOBNEWVEC): Redefine.
+	* gdb_obstack.h (obstack_zalloc): New.
+	(OBSTACK_ZALLOC): Redefine.
+	(obstack_calloc): New.
+	(OBSTACK_CALLOC): Redefine.
+	(obstack_new): New.
+	* gdbarch.sh: Include gdb_obstack in gdbarch.h.
+	(gdbarch_obstack): New declaration in gdbarch.h, definition in
+	gdbarch.c.
+	(GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
+	obstack_calloc/obstack_zalloc.
+	(gdbarch_obstack_zalloc): Remove.
+	* target-descriptions.c (tdesc_data_init): Use obstack_new.
+
+2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+	* stack.c (backtrace_command_1): Remove useless variable int i.
+
+2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+	* stack.c (print_frame_info): Fix comment.
+
+2018-05-18  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (struct dwz_file): Add constructor, initializers.
+	<dwz_bfd>: Now a gdb_bfd_ref_ptr.
+	(~dwarf2_per_objfile): Update
+	(dwarf2_get_dwz_file): Use new.
+	* dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
+	unique_ptr.
+
+2018-05-18  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
+	unique_ptr.
+	* dwarf2read.c (struct dwp_file): Add constructor and
+	initializers.
+	(open_and_init_dwp_file): Return a unique_ptr.
+	(dwarf2_per_objfile, create_dwp_hash_table)
+	(create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
+	(lookup_dwo_unit_in_dwp): Update.
+	(open_and_init_dwp_file, get_dwp_file): Update.
+
+2018-05-18  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (dwarf2_per_objfile): Update.
+	(struct mapped_index): Add initializers.
+	(dwarf2_read_index): Use new.
+	(dw2_symtab_iter_init): Update.
+	* dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
+	unique_ptr.
+
+2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* dwarf2read.c (mapped_index) <total_size>: Remove.
+
+2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* unittests/format_pieces-selftests.c (test_format_specifier):
+	Add ARI comments.
+
+2018-05-18  Tom Tromey  <tom@tromey.com>
+
+	* c-typeprint.c (maybe_print_hole): New function.
+	(c_print_type_struct_field_offset): Update.
+	(c_type_print_base_struct_union): Call maybe_print_hole.
+
+2018-05-17  Keith Seitz  <keiths@redhat.com>
+
+	* breakpoint.c (build_bpstat_chain): New function, moved from
+	bpstat_stop_status.
+	(bpstat_stop_status): Add optional parameter, `stop_chain'.
+	If no stop chain is passed, call build_bpstat_chain to build it.
+	* breakpoint.h (build_bpstat_chain): Declare.
+	(bpstat_stop_status): Move documentation here from breakpoint.c.
+	* infrun.c (handle_signal_stop): Before eliding inlined frames,
+	build the stop chain and pass it to skip_inline_frames.
+	Pass this stop chain to bpstat_stop_status.
+	* inline-frame.c: Include breakpoint.h.
+	(stopped_by_user_bp_inline_frame): New function.
+	(skip_inline_frames): Add parameter `stop_chain'.
+	Move documention to inline-frame.h.
+	If non-NULL, use stopped_by_user_bp_inline_frame to determine
+	whether the frame should be elided.
+	* inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
+	Add moved documentation and update for new parameter.
+
+2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
+
+	PR cli/14975
+	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+	unittests/format_pieces-selftests.c.
+	* common/format.h (format_piece) <operator==>: New.
+	(format_pieces) <operator[]>: Remove.
+	* common/format.c (format_pieces::format_pieces): Handle \e.
+	* unittests/format_pieces-selftests.c: New.
+
+2018-05-17  Tom Tromey  <tom@tromey.com>
+
+	PR symtab/23010:
+	* dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
+	(dw2_instantiate_symtab): Add skip_partial parameter.
+	(dw2_find_last_source_symtab, dw2_map_expand_apply)
+	(dw2_lookup_symbol, dw2_expand_symtabs_for_function)
+	(dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
+	(dw2_expand_symtabs_matching_one)
+	(dw2_find_pc_sect_compunit_symtab)
+	(dw2_debug_names_lookup_symbol)
+	(dw2_debug_names_expand_symtabs_for_function): Update.
+	(init_cutu_and_read_dies): Add skip_partial parameter.
+	(process_psymtab_comp_unit, build_type_psymtabs_1)
+	(process_skeletonless_type_unit, load_partial_comp_unit)
+	(psymtab_to_symtab_1): Update.
+	(load_full_comp_unit): Add skip_partial parameter.
+	(process_imported_unit_die, dwarf2_read_addr_index)
+	(follow_die_offset, dwarf2_fetch_die_loc_sect_off)
+	(dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
+	(read_signatured_type): Update.
+
+2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* value.c (release_value): Remove unused variable.
+	(record_latest_value): Likewise.
+	(access_value_history): Likewise.
+	(preserve_values): Likewise.
+
+2018-05-17  Tom Tromey  <tom@tromey.com>
+
+	* extension.h (struct ext_lang_type_printers) <py_type_printers>:
+	Initialize.
+
+2018-05-16  Maciej W. Rozycki  <macro@mips.com>
+
+	PR gdb/22286
+	* linux-nat-trad.c (linux_nat_trad_target::fetch_register):
+	Also handle registers whose width is not a multiple of
+	PTRACE_TYPE_RET.
+	(linux_nat_trad_target::store_register): Likewise.
+
+2018-05-16  Tom Tromey  <tom@tromey.com>
+
+	* gdbcore.h (core_bfd): Redefine.
+	* corelow.c (core_target::close): Update.
+	(core_target_open): Update.
+	* progspace.h (struct program_space) <cbfd>: Now a
+	gdb_bfd_ref_ptr.
+
+2018-05-16  Tom Tromey  <tom@tromey.com>
+
+	PR cli/19551:
+	* symfile-add-flags.h (enum symfile_add_flags)
+	<SYMFILE_NOT_FILENAME>: New constant.
+	* symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
+	objfile name from BFD.
+	(symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
+	* minidebug.c (find_separate_debug_file_in_section): Put
+	".gnu_debugdata" into BFD's file name.
+
+2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* regcache.c (regcache_read_ftype, regcache_write_ftype):
+	Remove.
+
+2018-05-15  Tamar Christina  <tamar.christina@arm.com>
+
+	PR binutils/21446
+	* aarch64-tdep.c (aarch64_analyze_prologue,
+	aarch64_software_single_step, aarch64_displaced_step_copy_insn):
+	Indicate not interested in errors.
+
+2018-05-15  Maciej W. Rozycki  <macro@mips.com>
+
+	* mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
+	Supply the MIPS_ZERO_REGNUM register.
+
+2018-05-15  Maciej W. Rozycki  <macro@mips.com>
+
+	* mips-tdep.c (mask_address_var): Make variable static.
+
+2018-05-14  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (rust_union_quirks): Clear rust_unions.
+
+2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
+	FXSAVE_ADDR for the mxcsr register.
+
+2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
+
+2018-05-11  Pedro Alves  <palves@redhat.com>
+
+	* corelow.c (core_target) <core_target>: No longer inline.
+	Initialize m_core_gdbarch, m_core_vec and build the section table
+	here.
+	<~core_target>: New.
+	<core_gdbarch, get_core_register_section>: New methods.
+	<m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
+	factored out from ...
+	<core_data, core_vec, core_gdbarch>: ... these deleted globals.
+	(core_ops): Delete.
+	(sniff_core_bfd): Add gdbarch parameter.
+	(core_close): Delete, merged into ...
+	(core_target::close): ... here.  Delete self.
+	(core_close_cleanup): Delete.
+	(core_target_open): Allocate a core_target on the heap.  Use a
+	unique_ptr instead of a cleanup.  Bits moved into the core_target
+	ctor.  Adjust to use core_target methods instead of globals.
+	(get_core_register_section): Rename to ...
+	(core_target::get_core_register_section): ... this and adjust.
+	(struct get_core_registers_cb_data): New.
+	(get_core_registers_cb): Use it.  Use bool.
+	(core_target::fetch_registers, core_target::files_info)
+	(core_target::xfer_partial, core_target::read_description)
+	(core_target::pid_to, core_target::thread_name): Adjust to
+	reference class fields instead of globals.
+	* target.h (struct target_ops_deleter, target_ops_up): New.
+
+2018-05-11  Pedro Alves  <palves@redhat.com>
+
+	* corefile.c (core_file_command): Move to corelow.c.
+	* corelow.c (the_core_target): Delete.
+	(core_file_command): Moved from corefile.c.  Check exec_bfd
+	instead of the_core_target.  Use target_detach instead of calling
+	into the_core_target directly.
+	(maybe_say_no_core_file_now): New.
+	(core_target::detach): Use it.
+	(_initialize_corelow): Remove references to the_core_target.
+	* gdbcore.h (the_core_target): Delete.
+
+2018-05-11  Tom Tromey  <tromey@redhat.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	* corefile.c (core_bfd): Remove.
+	* gdbcore.h (core_bfd): Now a macro.
+	* progspace.h (struct program_space) <cbfd>: New field.
+
+2018-05-11  Tom Tromey  <tom@tromey.com>
+
+	* mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
+	gdb::def_vector.
+
+2018-05-10  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+	* warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
+
 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
 
 	PR server/23158:
@@ -21,7 +3197,7 @@
 	of the new expedite_regs parameter to init_target_desc.
 
 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
-
+    
 	PR gdb/23127
 	* aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
 	set_gdbarch_significant_addr_bit.
@@ -29,19 +3205,4186 @@
 	set_gdbarch_significant_addr_bit.
 	* utils.c (address_significant): Update to sign extend addr.
 
+2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* xtensa-linux-tdep.c (xtensa-tdep.h): New include.
+	(xtensa_linux_init_abi): Limit tdep->num_regs by
+	tdep->num_nopriv_regs.
+	* xtensa-tdep.c (xtensa_derive_tdep): Calculate
+	tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
+	not initialized.
+
+2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
+
+2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
+	(I387_MXCSR_INIT_VAL): New constant.
+	* amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
+	buffer if it was supplied by the inferior.
+	* i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
+	(i387_xsave_get_clear_bv): New function.
+	(i387_supply_xsave): Only read x87 control registers from the
+	xsave buffer if the feature is enabled, and the state will have
+	been written, otherwise, provide a suitable default.
+	(i387_collect_xsave): Pre-clear all registers in xsave buffer,
+	including x87 control registers.  Update control registers if they
+	have changed from the default value, and mark features as enabled
+	as required.
+	* i387-tdep.h (i387_xsave_get_clear_bv): Declare.
+
+2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* spu-tdep.c (info_spu_event_command): Fix output formatting.
+
+2018-05-07  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+	* warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
+
+2018-05-07  Tom Tromey  <tom@tromey.com>
+
+	PR tdep/20362:
+	* arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
+	bit.  Use correct value for VDIV.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+	* warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* linux-record.c (record_linux_system_call) <case
+	RECORD_SYS_RECVFROM>: Add "break".
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
+	Add missing "break".
+	* mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
+	Add missing "break".
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* rs6000-tdep.c (ppc_process_record_op4)
+	(ppc_process_record_op63): Add fall-through comment.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* i386-tdep.c (i386_process_record): Add fall-through comment.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* stabsread.c (define_symbol) <case 'p'>: Add fall-through
+	comment.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
+	* utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
+	* eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
+	comment.
+	* d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
+	comment.
+	* coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
+	comment.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* s390-tdep.c (s390_process_record): Fix fall-through comments.
+	* xcoffread.c (scan_xcoff_symtab): Move comment later.
+	* symfile.c (section_is_mapped): Fix fall-through comment.
+	* stabsread.c (define_symbol, read_member_functions): Fix
+	fall-through comment.
+	* s390-linux-tdep.c (s390_process_record): Fix fall-through
+	comment.
+	* remote.c (remote_wait_as): Fix fall-through comment.
+	* p-exp.y (yylex): Fix fall-through comment.
+	* nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
+	comment.
+	* msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
+	* mdebugread.c (parse_partial_symbols): Fix fall-through comment.
+	* jv-exp.y (yylex): Fix fall-through comment.
+	* go-exp.y (lex_one_token): Fix fall-through comment.
+	* gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
+	fall-through comment.
+	* f-exp.y (yylex): Fix fall-through comment.
+	* dwarf2read.c (process_die): Fix fall-through comments.
+	* dbxread.c (process_one_symbol): Fix fall-through comment.
+	* d-exp.y (lex_one_token): Fix fall-through comment.
+	* cp-name-parser.y (yylex): Fix fall-through comment.
+	* coffread.c (coff_symtab_read): Fix fall-through comment.
+	* c-exp.y (lex_one_token): Fix fall-through comment.
+	* arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
+	comment.
+	* arch/arm.c (arm_instruction_changes_pc): Fix fall-through
+	comment.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	PR python/22730:
+	* NEWS: Mention gdb.execute change.
+	* gdbcmd.h (execute_control_command): Don't declare.
+	* python/python.c (execute_gdb_command): Use read_command_lines_1,
+	execute_control_commands, execute_control_commands_to_string.
+	* cli/cli-script.h (execute_control_commands)
+	(execute_control_commands_to_string): Declare.
+	(execute_control_command): Add from_tty parameter.
+	* cli/cli-script.c (execute_control_commands)
+	(execute_control_commands_to_string): New functions.
+	(execute_user_command): Use execute_control_commands.
+	(execute_control_command_1): Add "from_tty" parameter.  Update.
+	(execute_control_command): Likewise.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	PR python/22731:
+	* NEWS: Mention that breakpoint commands are writable.
+	* python/py-breakpoint.c (bppy_set_commands): New function.
+	(breakpoint_object_getset) <"commands">: Use it.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* tracepoint.c (actions_command): Update.
+	* mi/mi-cmd-break.c (mi_command_line_array)
+	(mi_command_line_array_cnt, mi_command_line_array_ptr)
+	(mi_read_next_line): Remove.
+	(mi_cmd_break_commands): Update.
+	* cli/cli-script.h (read_command_lines, read_command_lines_1): Use
+	function_view.
+	* cli/cli-script.c (get_command_line): Update.
+	(process_next_line): Use function_view.  Constify.
+	(recurse_read_control_structure, read_command_lines)
+	(read_command_lines_1): Change argument types to function_view.
+	(do_define_command, document_command): Update.
+	* breakpoint.h (check_tracepoint_command): Don't declare.
+	* breakpoint.c (check_tracepoint_command): Remove.
+	(commands_command_1, create_tracepoint_from_upload): Update.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	PR gdb/11750:
+	* cli/cli-script.h (enum command_control_type) <define_control>:
+	New constant.
+	* cli/cli-script.c (multi_line_command_p): Handle define_control.
+	(build_command_line, execute_control_command_1)
+	(process_next_line): Likewise.
+	(do_define_command): New function, extracted from define_command.
+	(define_command): Use it.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* tracepoint.c (actions_command): Update.
+	* cli/cli-script.h (read_command_lines): Update.
+	* cli/cli-script.c (read_command_lines): Constify prompt_arg.
+	(MAX_TMPBUF): Remove define.
+	(define_command): Use string_printf.
+	(document_command): Likewise.
+	* breakpoint.c (commands_command_1): Update.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* top.c (execute_command): Update.
+	* cli/cli-script.h (print_command_lines): Now varargs.
+	* cli/cli-script.c (print_command_lines): Now varargs.
+	(execute_control_command_1) <case while_control, case if_control>:
+	Update.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* tracepoint.c (all_tracepoint_actions): Rename from
+	all_tracepoint_actions_and_cleanup.  Change return type.
+	(actions_command, encode_actions_1, encode_actions)
+	(trace_dump_actions, tdump_command): Update.
+	* remote.c (remote_download_command_source): Update.
+	* python/python.c (gdbpy_eval_from_control_command)
+	(python_command, python_interactive_command): Update.
+	* mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
+	* guile/guile.c (guile_command)
+	(gdbscm_eval_from_control_command, guile_command): Update.
+	* compile/compile.c (compile_code_command)
+	(compile_print_command, compile_to_object): Update.
+	* cli/cli-script.h (struct command_lines_deleter): New.
+	(counted_command_line): New typedef.
+	(struct command_line): Add constructor, destructor.
+	<body_list>: Remove.
+	<body_list_0, body_list_1>: New members.
+	(command_line_up): Remove typedef.
+	(read_command_lines, read_command_lines_1, get_command_line):
+	Update.
+	(copy_command_lines): Don't declare.
+	* cli/cli-script.c (build_command_line): Use "new".
+	(get_command_line): Return counted_command_line.
+	(print_command_lines, execute_user_command)
+	(execute_control_command_1, while_command, if_command): Update.
+	(realloc_body_list): Remove.
+	(process_next_line, recurse_read_control_structure): Update.
+	(read_command_lines, read_command_lines_1): Return counted_command_line.
+	(free_command_lines): Use "delete".
+	(copy_command_lines): Remove.
+	(define_command, document_command, show_user_1): Update.
+	* cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
+	a counted_command_line.
+	* breakpoint.h (counted_command_line): Remove typedef.
+	(breakpoint_set_commands): Update.
+	* breakpoint.c (check_no_tracepoint_commands)
+	(validate_commands_for_breakpoint): Update.
+	(breakpoint_set_commands): Change commands to be a
+	counted_command_line.
+	(commands_command_1, update_dprintf_command_list)
+	(create_tracepoint_from_upload): Update.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* cli/cli-decode.h (cmd_list_element): New constructor.
+	(~cmd_list_element): New destructor.
+	(struct cmd_list_element): Add initializers.
+	* cli/cli-decode.c (do_add_cmd): Use "new".
+	(delete_cmd): Use "delete".
+
+2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Pedro Alves <palves@redhat.com>
+
+	PR breakpoints/19806 and support for PR external/20207.
+	* NEWS: Mention Aarch64 watchpoint improvements.
+	* aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
+	watchpoints and PR external/20207 watchpoints.
+	* nat/aarch64-linux-hw-point.c
+	(kernel_supports_any_contiguous_range): New.
+	(aarch64_watchpoint_offset): New.
+	(aarch64_watchpoint_length): Support PR external/20207 watchpoints.
+	(aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
+	(aarch64_point_is_aligned): Support PR external/20207 watchpoints.
+	(aarch64_align_watchpoint): New parameters aligned_offset_p and
+	next_addr_orig_p.  Support PR external/20207 watchpoints.
+	(aarch64_downgrade_regs): New.
+	(aarch64_dr_state_insert_one_point): New parameters offset and
+	addr_orig.
+	(aarch64_dr_state_remove_one_point): Likewise.
+	(aarch64_handle_breakpoint): Update caller.
+	(aarch64_handle_aligned_watchpoint): Likewise.
+	(aarch64_handle_unaligned_watchpoint): Support addr_orig and
+	aligned_offset.
+	(aarch64_linux_set_debug_regs): Remove const from state.  Call
+	aarch64_downgrade_regs.
+	(aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
+	* nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
+	(DR_CONTROL_MASK): ... this.
+	(struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
+	(unsigned int aarch64_watchpoint_offset): New prototype.
+	(aarch64_linux_set_debug_regs): Remove const from state.
+	* utils.c (align_up, align_down): Move to ...
+	* common/common-utils.c (align_up, align_down): ... here.
+	* utils.h (align_up, align_down): Move to ...
+	* common/common-utils.h (align_up, align_down): ... here.
+
+2018-05-04  Joel Brobecker  <brobecker@adacore.com>
+
+	* sparc-tdep.c (sparc_structure_return_p): Re-implement to
+	match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
+	(sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
+	Re-implement to match the ABI as summarized in GCC's
+	gcc/config/sparc/sparc.c.  All callers updated.
+	(sparc32_store_arguments): Remove assertion.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* printcmd.c: Don't include tui.h.
+	(decode_format): Use skip_spaces.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	PR gdb/22619:
+	* printcmd.c (last_count): New global.
+	(x_command): Use saved count when repeating.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* nto-procfs.c (do_closedir_cleanup): Remove.
+	(procfs_pidlist): Use gdb_dir_up.
+	* procfs.c (do_closedir_cleanup): Remove.
+	(proc_update_threads): Use gdb_dir_up.
+	* common/filestuff.h (struct gdb_dir_deleter): New.
+	(gdb_dir_up): New typedef.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* ada-lang.c (print_mention_exception): Use std::string.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* ada-lang.c (create_excep_cond_exprs): Update.
+	(ada_exception_catchpoint_cond_string): Use std::string.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* ada-lang.c (xget_renaming_scope): Return std::string.
+	(old_renaming_is_invisible): Update.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
+	(target_bfd::target_bfd, target_bfd::~target_bfd): Update.
+
+2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* remote.c (remote_query_supported_append): Change type.
+	(remote_check_symbols): Update.
+
+2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+	PR gdb/11420
+	* configure.ac: Prepend libpython.
+	* python/python-config.py: Likewise.
+	* configure: Regenerate.
+
+2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* Makefile.in (%.c: %.l): Use -t instead of --stdout.
+
+2018-05-03  Pedro Alves  <palves@redhat.com>
+
+	* s390-linux-nat.c
+	(s390_linux_nat_target::have_continuable_watchpoint): Mark with
+	override.  Write 'true' instead of '1'.
+	(s390_linux_nat_target::watchpoint_addr_within_range): Remove
+	declaration.
+
+2018-05-02  Pedro Alves  <palves@redhat.com>
+
+	* aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
+	add_inf_child_target.
+	* aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
+	add_inf_child_target.
+	* aix-thread.c (aix_thread_target_info): New.
+	(aix_thread_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	* alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
+	add_inf_child_target.
+	* alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
+	add_inf_child_target.
+	* amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
+	add_inf_child_target.
+	* amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
+	add_inf_child_target.
+	* amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
+	add_inf_child_target.
+	* amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
+	add_inf_child_target.
+	* arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
+	add_inf_child_target.
+	* arm-linux-nat.c (_initialize_arm_linux_nat): Use
+	add_inf_child_target.
+	* arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
+	add_inf_child_target.
+	* bfd-target.c (target_bfd_target_info): New.
+	(target_bfd) <shortname, longname, doc>: Delete.
+	<info>: New.
+	* bsd-kvm.c (bsd_kvm_target_info): New.
+	(bsd_kvm_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	(bsd_kvm_target::open): Rename to ...
+	(bsd_kvm_target_open): ... this.  Adjust.
+	* bsd-uthread.c (bsd_uthread_target_info): New.
+	(bsd_uthread_target) <shortname, longname, doc>: Delete.
+	<info>:	New.
+	* corefile.c (core_file_command): Adjust.
+	* corelow.c (core_target_info): New.
+	(core_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	(core_target::open): Rename to ...
+	(core_target_open): ... this.  Adjust.
+	* ctf.c (ctf_target_info): New.
+	(ctf_target) <shortname, longname, doc>: Delete.
+	<info>:	New.
+	(ctf_target::open): Rename to ...
+	(ctf_target_open): ... this.
+	(_initialize_ctf): Adjust.
+	* exec.c (exec_target_info): New.
+	(exec_target) <shortname, longname, doc>: Delete.
+	<info>:	New.
+	(exec_target::open): Rename to ...
+	(exec_target_open): ... this.
+	* gdbcore.h (core_target_open): Declare.
+	* go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
+	* hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
+	add_inf_child_target.
+	* hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
+	add_inf_child_target.
+	* hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
+	add_inf_child_target.
+	* i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
+	add_inf_child_target.
+	* i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
+	add_inf_child_target.
+	* i386-gnu-nat.c (_initialize_i386gnu_nat): Use
+	add_inf_child_target.
+	* i386-linux-nat.c (_initialize_i386_linux_nat): Use
+	add_inf_child_target.
+	* i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
+	add_inf_child_target.
+	* i386-obsd-nat.c (_initialize_i386obsd_nat): Use
+	add_inf_child_target.
+	* ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
+	add_inf_child_target.
+	* inf-child.c (inf_child_target_info): New.
+	(inf_child_target::info): New.
+	(inf_child_open_target): Remove 'target' parameter.  Use
+	get_native_target instead.
+	(inf_child_target::open): Delete.
+	(add_inf_child_target): New.
+	* inf-child.h (inf_child_target) <shortname, longname, doc, open>:
+	Delete.
+	<info>:	New.
+	(add_inf_child_target): Declare.
+	(inf_child_open_target): Declare.
+	* linux-thread-db.c (thread_db_target_info): New.
+	(thread_db_target) <shortname, longname, doc>: Delete.
+	<info>:	New.
+	* m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
+	add_inf_child_target.
+	* m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
+	add_inf_child_target.
+	* m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
+	add_inf_child_target.
+	* m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
+	add_inf_child_target.
+	* make-target-delegates (print_class): Adjust.
+	* mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
+	add_inf_child_target.
+	* mips-linux-nat.c (_initialize_mips_linux_nat): Use
+	add_inf_child_target.
+	* mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
+	add_inf_child_target.
+	* mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
+	add_inf_child_target.
+	* nto-procfs.c (nto_native_target_info): New.
+	(nto_procfs_target_native) <shortname, longname, doc>:
+	Delete.
+	<info>:	New.
+	(nto_procfs_target_info): New.
+	(nto_procfs_target_procfs) <shortname, longname, doc>:
+	Delete.
+	<info>:	New.
+	(init_procfs_targets): Adjust.
+	* ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
+	add_inf_child_target.
+	* ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
+	add_inf_child_target.
+	* ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
+	add_inf_child_target.
+	* ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
+	add_inf_child_target.
+	* ravenscar-thread.c (ravenscar_target_info): New.
+	(ravenscar_thread_target) <shortname, longname, doc>:
+	Delete.
+	<info>:	New.
+	* record-btrace.c (record_btrace_target_info):
+	(record_btrace_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	(record_btrace_target::open): Rename to ...
+	(record_btrace_target_open): ... this.  Adjust.
+	* record-full.c (record_longname, record_doc): New.
+	(record_full_base_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	(record_full_target_info): New.
+	(record_full_target): <shortname>: Delete.
+	<info>: New.
+	(record_full_core_open_1, record_full_open_1): Update comments.
+	(record_full_base_target::open): Rename to ...
+	(record_full_open): ... this.
+	(cmd_record_full_restore): Update.
+	(_initialize_record_full): Update.
+	* remote-sim.c (remote_sim_target_info): New.
+	(gdbsim_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	(gdbsim_target::open): Rename to ...
+	(gdbsim_target_open): ... this.
+	(_initialize_remote_sim): Adjust.
+	* remote.c (remote_doc): New.
+	(remote_target_info): New.
+	(remote_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	(extended_remote_target_info): New.
+	(extended_remote_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	(remote_target::open_1): Make static.  Adjust.
+	* rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
+	* s390-linux-nat.c (_initialize_s390_nat): Use
+	add_inf_child_target.
+	* sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
+	add_inf_child_target.
+	* sol-thread.c (thread_db_target_info): New.
+	(sol_thread_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	* sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
+	add_inf_child_target.
+	* sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
+	add_inf_child_target.
+	* sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
+	add_inf_child_target.
+	* sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
+	add_inf_child_target.
+	* sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
+	add_inf_child_target.
+	* sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
+	add_inf_child_target.
+	* spu-linux-nat.c (_initialize_spu_nat): Use
+	add_inf_child_target.
+	* spu-multiarch.c (spu_multiarch_target_info): New.
+	(spu_multiarch_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	* target-delegates.c: Regenerate.
+	* target.c: Include <unordered_map>.
+	(target_ops_p): Delete.
+	(DEF_VEC_P(target_ops_p)): Delete.
+	(target_factories): New.
+	(test_target_info): New.
+	(test_target_ops::info): New.
+	(open_target): Adjust to use target_factories.
+	(add_target_with_completer): Rename to ...
+	(add_target): ... this.  Change prototype.  Register target_info
+	and open callback in target_factories.  Register target_info in
+	command context instead of target_ops.
+	(add_target): Delete old implementation.
+	(add_deprecated_target_alias): Change prototype.  Adjust.
+	(the_native_target): New.
+	(set_native_target, get_native_target): New.
+	(find_default_run_target): Use the_native_target.
+	(find_attach_target, find_run_target): Simplify.
+	(target_ops::open): Delete.
+	(dummy_target_info): New.
+	(dummy_target::shortname, dummy_target::longname)
+	(dummy_target::doc): Delete.
+	(dummy_target::info): New.
+	(debug_target::shortname, debug_target::longname)
+	(debug_target::doc): Delete.
+	(debug_target::info): New.
+	* target.h (struct target_info): New.
+	(target_ops::~target_ops): Add comment.
+	(target_ops::info): New.
+	(target_ops::shortname, target_ops::longname, target_ops::doc): No
+	longer virtual.  Implement in terms of target_info.
+	(set_native_target, get_native_target): Declare.
+	(target_open_ftype): New.
+	(add_target, add_target_with_completer)
+	(add_deprecated_target_alias): Change prototype.
+	(test_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	* tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
+	add_inf_child_target.
+	* tracefile-tfile.c (tfile_target_info): New.
+	(tfile_target) <shortname, longname, doc>: Delete.
+	<info>: New.
+	(tfile_target::open): Rename to ...
+	(tfile_target_open): ... this.
+	(_initialize_tracefile_tfile): Adjust.
+	* vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
+	add_inf_child_target.
+	* windows-nat.c (_initialize_windows_nat): Use
+	add_inf_child_target.
+	* xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
+	add_inf_child_target.
+
+2018-05-02  Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.h (linux_nat_target) <low_new_thread,
+	low_delete_thread, low_new_fork, low_forget_process,
+	low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
+	New virtual methods.
+	(linux_nat_set_new_thread, linux_nat_set_delete_thread)
+	(linux_nat_new_fork_ftype, linux_nat_set_new_fork)
+	(linux_nat_forget_process_ftype, linux_nat_set_forget_process)
+	(linux_nat_forget_process, linux_nat_set_siginfo_fixup)
+	(linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
+	Delete.
+	* linux-fork.c (delete_fork): Adjust to call low method.
+	* linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
+	(linux_nat_new_fork, linux_nat_forget_process_hook)
+	(linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
+	(linux_nat_status_is_event):
+	(linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
+	(linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
+	to call low method.
+	(sigtrap_is_event): Rename to ...
+	(linux_nat_target::low_status_is_event): ... this.
+	(linux_nat_set_status_is_event): Delete.
+	(save_stop_reason, linux_nat_wait_1)
+	(linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
+	low methods.
+	(linux_nat_set_new_thread, linux_nat_set_delete_thread)
+	(linux_nat_set_new_fork, linux_nat_set_forget_process)
+	(linux_nat_forget_process, linux_nat_set_siginfo_fixup)
+	(linux_nat_set_prepare_to_resume): Delete.
+	* aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
+	low virtual methods.
+	* amd64-linux-nat.c: Likewise.
+	* arm-linux-nat.c: Likewise.
+	* i386-linux-nat.c: Likewise.
+	* ia64-linux-nat.c: Likewise.
+	* mips-linux-nat.c: Likewise.
+	* ppc-linux-nat.c: Likewise.
+	* s390-linux-nat.c: Likewise.
+	* sparc64-linux-nat.c: Likewise.
+	* x86-linux-nat.c: Likewise.
+	* x86-linux-nat.h: Include "nat/x86-linux.h".
+	(x86_linux_nat_target) <low_new_fork, low_forget_process,
+	low_prepare_to_resume, low_new_thread, low_delete_thread>:
+	Override methods.
+
+2018-05-02  Pedro Alves  <palves@redhat.com>
+
+	* target.h (target_ops)
+	<stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
+	stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
+	stopped_by_watchpoint, have_continuable_watchpoint,
+	stopped_data_address, watchpoint_addr_within_range,
+	can_accel_watchpoint_condition, can_run, thread_alive,
+	has_all_memory, has_memory, has_stack, has_registers,
+	has_execution, can_async_p, is_async_p, supports_non_stop,
+	always_non_stop_p, can_execute_reverse, supports_multi_process,
+	supports_enable_disable_tracepoint,
+	supports_disable_randomization, supports_string_tracing,
+	supports_evaluation_of_breakpoint_conditions,
+	can_run_breakpoint_commands, filesystem_is_local,
+	can_download_tracepoint, get_trace_state_variable_value,
+	set_trace_notes, get_tib_address, use_agent, can_use_agent,
+	record_is_replaying, record_will_replay,
+	augmented_libraries_svr4_read>: Adjust to return bool.
+	* aarch64-linux-nat.c: All implementations adjusted.
+	* aix-thread.c: All implementations adjusted.
+	* arm-linux-nat.c: All implementations adjusted.
+	* breakpoint.c: All implementations adjusted.
+	* bsd-kvm.c: All implementations adjusted.
+	* bsd-uthread.c: All implementations adjusted.
+	* corelow.c: All implementations adjusted.
+	* ctf.c: All implementations adjusted.
+	* darwin-nat.c: All implementations adjusted.
+	* darwin-nat.h: All implementations adjusted.
+	* exec.c: All implementations adjusted.
+	* fbsd-nat.c: All implementations adjusted.
+	* fbsd-nat.h: All implementations adjusted.
+	* gnu-nat.c: All implementations adjusted.
+	* gnu-nat.h: All implementations adjusted.
+	* go32-nat.c: All implementations adjusted.
+	* ia64-linux-nat.c: All implementations adjusted.
+	* inf-child.c: All implementations adjusted.
+	* inf-child.h: All implementations adjusted.
+	* inf-ptrace.c: All implementations adjusted.
+	* inf-ptrace.h: All implementations adjusted.
+	* linux-nat.c: All implementations adjusted.
+	* linux-nat.h: All implementations adjusted.
+	* mips-linux-nat.c: All implementations adjusted.
+	* nto-procfs.c: All implementations adjusted.
+	* ppc-linux-nat.c: All implementations adjusted.
+	* procfs.c: All implementations adjusted.
+	* ravenscar-thread.c: All implementations adjusted.
+	* record-btrace.c: All implementations adjusted.
+	* record-full.c: All implementations adjusted.
+	* remote-sim.c: All implementations adjusted.
+	* remote.c: All implementations adjusted.
+	* s390-linux-nat.c: All implementations adjusted.
+	* sol-thread.c: All implementations adjusted.
+	* spu-multiarch.c: All implementations adjusted.
+	* target-delegates.c: All implementations adjusted.
+	* target.c: All implementations adjusted.
+	* target.h: All implementations adjusted.
+	* tracefile-tfile.c: All implementations adjusted.
+	* tracefile.c: All implementations adjusted.
+	* tracefile.h: All implementations adjusted.
+	* windows-nat.c: All implementations adjusted.
+	* x86-linux-nat.h: All implementations adjusted.
+	* x86-nat.h: All implementations adjusted.
+
+2018-05-02  Pedro Alves  <palves@redhat.com>
+
+	* make-target-delegates (scan_target_h): Don't trim lines here.
+	Replace sequences of tabs and/or whitespace with a single
+	whitespace.
+	(top level, parsing methods): Trim each line before processing it
+	here.
+
+2018-05-02  Pedro Alves  <palves@redhat.com>
+	    John Baldwin  <jhb@freebsd.org>
+
+	* target.h (enum strata) <debug_stratum>: New.
+	(struct target_ops) <all delegation methods>: Replace by C++
+	virtual methods, and drop "to_" prefix.  All references updated
+	throughout.
+	<to_shortname, to_longname, to_doc, to_data,
+	to_have_steppable_watchpoint, to_have_continuable_watchpoint,
+	to_has_thread_control, to_attach_no_wait>: Delete, replaced by
+	virtual methods.  All references updated throughout.
+	<can_attach, supports_terminal_ours, can_create_inferior,
+	get_thread_control_capabilities, attach_no_wait>: New
+	virtual methods.
+	<insert_breakpoint, remove_breakpoint>: Now
+	TARGET_DEFAULT_NORETURN methods.
+	<info_proc>: Now returns bool.
+	<to_magic>: Delete.
+	(OPS_MAGIC): Delete.
+	(current_target): Delete.  All references replaced by references
+	to ...
+	(target_stack): ... this.  New.
+	(target_shortname, target_longname): Adjust.
+	(target_can_run): Now a function declaration.
+	(default_child_has_all_memory, default_child_has_memory)
+	(default_child_has_stack, default_child_has_registers)
+	(default_child_has_execution): Remove target_ops parameter.
+	(complete_target_initialization): Delete.
+	(memory_breakpoint_target): New template class.
+	(test_target_ops): Refactor as a C++ class with virtual methods.
+	* make-target-delegates (NAME_PART): Tighten.
+	(POINTER_PART, CP_SYMBOL): New.
+	(SIMPLE_RETURN_PART): Reimplement.
+	(VEC_RETURN_PART): Expect less.
+	(RETURN_PART, VIRTUAL_PART): New.
+	(METHOD): Adjust to C++ virtual methods.
+	(scan_target_h): Remove reference to C99.
+	(dname): Output "target_ops::" prefix.
+	(write_function_header): Adjust to output a C++ class method.
+	(write_declaration): New.
+	(write_delegator): Adjust to output a C++ class method.
+	(tdname): Output "dummy_target::" prefix.
+	(write_tdefault, write_debugmethod): Adjust to output a C++ class
+	method.
+	(tdefault_names, debug_names): Delete.
+	(return_types, tdefaults, styles, argtypes_array): New.
+	(top level): All methods are delegators.
+	(print_class): New.
+	(top level): Print dummy_target and debug_target classes.
+	* target-delegates.c: Regenerate.
+	* target-debug.h (target_debug_print_enum_info_proc_what)
+	(target_debug_print_thread_control_capabilities)
+	(target_debug_print_thread_info_p): New.
+	* target.c (dummy_target): Delete.
+	(the_dummy_target, the_debug_target): New.
+	(target_stack): Now extern.
+	(set_targetdebug): Push/unpush debug target.
+	(default_child_has_all_memory, default_child_has_memory)
+	(default_child_has_stack, default_child_has_registers)
+	(default_child_has_execution): Remove target_ops parameter.
+	(complete_target_initialization): Delete.
+	(add_target_with_completer): No longer call
+	complete_target_initialization.
+	(target_supports_terminal_ours): Use regular delegation.
+	(update_current_target): Delete.
+	(push_target): No longer check magic number.  Don't call
+	update_current_target.
+	(unpush_target): Don't call update_current_target.
+	(target_is_pushed): No longer check magic number.
+	(target_require_runnable): Skip for all stratums over
+	process_stratum.
+	(target_ops::info_proc): New.
+	(target_info_proc): Use find_target_at and
+	find_default_run_target.
+	(target_supports_disable_randomization): Use regular delegation.
+	(target_get_osdata): Use find_target_at.
+	(target_ops::open, target_ops::close, target_ops::can_attach)
+	(target_ops::attach, target_ops::can_create_inferior)
+	(target_ops::create_inferior, target_ops::can_run)
+	(target_can_run): New.
+	(default_fileio_target): Use regular delegation.
+	(target_ops::fileio_open, target_ops::fileio_pwrite)
+	(target_ops::fileio_pread, target_ops::fileio_fstat)
+	(target_ops::fileio_close, target_ops::fileio_unlink)
+	(target_ops::fileio_readlink): New.
+	(target_fileio_open_1, target_fileio_unlink)
+	(target_fileio_readlink): Always call the target method.  Handle
+	FILEIO_ENOSYS.
+	(return_zero, return_zero_has_execution): Delete.
+	(init_dummy_target): Delete.
+	(dummy_target::dummy_target, dummy_target::shortname)
+	(dummy_target::longname, dummy_target::doc)
+	(debug_target::debug_target, debug_target::shortname)
+	(debug_target::longname, debug_target::doc): New.
+	(target_supports_delete_record): Use regular delegation.
+	(setup_target_debug): Delete.
+	(maintenance_print_target_stack): Skip debug_stratum.
+	(initialize_targets): Instantiate the_dummy_target and
+	the_debug_target.
+	* auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
+	use target_stack.
+	(target_auxv_search, fprint_target_auxv): Adjust.
+	(info_auxv_command): Adjust to use target_stack.
+	* auxv.h (target_auxv_parse): Remove 'ops' parameter.
+	* exceptions.c (print_flush): Handle a NULL target_stack.
+	* regcache.c (target_ops_no_register): Refactor as class with
+	virtual methods.
+
+	* exec.c (exec_target): New class.
+	(exec_ops): Now an exec_target.
+	(exec_open, exec_close_1, exec_get_section_table)
+	(exec_xfer_partial, exec_files_info, exec_has_memory)
+	(exec_make_note_section): Refactor as exec_target methods.
+	(exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
+	Delete.
+	(exec_target::find_memory_regions): New.
+	(_initialize_exec): Don't call init_exec_ops.
+	* gdbcore.h (exec_file_clear): Delete.
+
+	* corefile.c (core_target): Delete.
+	(core_file_command): Adjust.
+	* corelow.c (core_target): New class.
+	(the_core_target): New.
+	(core_close): Remove target_ops parameter.
+	(core_close_cleanup): Adjust.
+	(core_target::close): New.
+	(core_open, core_detach, get_core_registers, core_files_info)
+	(core_xfer_partial, core_thread_alive, core_read_description)
+	(core_pid_to_str, core_thread_name, core_has_memory)
+	(core_has_stack, core_has_registers, core_info_proc): Rework as
+	core_target methods.
+	(ignore, core_remove_breakpoint, init_core_ops): Delete.
+	(_initialize_corelow): Initialize the_core_target.
+	* gdbcore.h (core_target): Delete.
+	(the_core_target): New.
+
+	* ctf.c: (ctf_target): New class.
+	(ctf_ops): Now a ctf_target.
+	(ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
+	(ctf_xfer_partial, ctf_get_trace_state_variable_value)
+	(ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
+	methods.
+	(init_ctf_ops): Delete.
+	(_initialize_ctf): Don't call it.
+	* tracefile-tfile.c (tfile_target): New class.
+	(tfile_ops): Now a tfile_target.
+	(tfile_open, tfile_close, tfile_files_info)
+	(tfile_get_tracepoint_status, tfile_trace_find)
+	(tfile_fetch_registers, tfile_xfer_partial)
+	(tfile_get_trace_state_variable_value, tfile_traceframe_info):
+	Refactor as tfile_target methods.
+	(tfile_xfer_partial_features): Remove target_ops parameter.
+	(init_tfile_ops): Delete.
+	(_initialize_tracefile_tfile): Don't call it.
+	* tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
+	(tracefile_has_stack, tracefile_has_registers)
+	(tracefile_thread_alive, tracefile_get_trace_status): Refactor as
+	tracefile_target methods.
+	(init_tracefile_ops): Delete.
+	(tracefile_target::tracefile_target): New.
+	* tracefile.h: Include "target.h".
+	(tracefile_target): New class.
+	(init_tracefile_ops): Delete.
+
+	* spu-multiarch.c (spu_multiarch_target): New class.
+	(spu_ops): Now a spu_multiarch_target.
+	(spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
+	(spu_fetch_registers, spu_store_registers, spu_xfer_partial)
+	(spu_search_memory, spu_mourn_inferior): Refactor as
+	spu_multiarch_target methods.
+	(init_spu_ops): Delete.
+	(_initialize_spu_multiarch): Remove references to init_spu_ops,
+	complete_target_initialization.
+
+	* ravenscar-thread.c (ravenscar_thread_target): New class.
+	(ravenscar_ops): Now a ravenscar_thread_target.
+	(ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
+	(ravenscar_thread_alive, ravenscar_pid_to_str)
+	(ravenscar_fetch_registers, ravenscar_store_registers)
+	(ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
+	(ravenscar_stopped_by_hw_breakpoint)
+	(ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
+	(ravenscar_mourn_inferior, ravenscar_core_of_thread)
+	(ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
+	methods.
+	(init_ravenscar_thread_ops): Delete.
+	(_initialize_ravenscar): Remove references to
+	init_ravenscar_thread_ops and complete_target_initialization.
+
+	* bsd-uthread.c (bsd_uthread_ops_hack): Delete.
+	(bsd_uthread_target): New class.
+	(bsd_uthread_ops): Now a bsd_uthread_target.
+	(bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
+	(bsd_uthread_close, bsd_uthread_mourn_inferior)
+	(bsd_uthread_fetch_registers, bsd_uthread_store_registers)
+	(bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
+	(bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
+	(bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
+	(bsd_uthread_target): Delete function.
+	(_initialize_bsd_uthread): Remove reference to
+	complete_target_initialization.
+
+	* bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
+	(target_bfd): ... this new class.
+	(target_bfd_xfer_partial, target_bfd_get_section_table)
+	(target_bfd_close): Refactor as target_bfd methods.
+	(target_bfd::~target_bfd): New.
+	(target_bfd_reopen): Adjust.
+	(target_bfd::close): New.
+
+	* record-btrace.c (record_btrace_target): New class.
+	(record_btrace_ops): Now a record_btrace_target.
+	(record_btrace_open, record_btrace_stop_recording)
+	(record_btrace_disconnect, record_btrace_close)
+	(record_btrace_async, record_btrace_info)
+	(record_btrace_insn_history, record_btrace_insn_history_range)
+	(record_btrace_insn_history_from, record_btrace_call_history)
+	(record_btrace_call_history_range)
+	(record_btrace_call_history_from, record_btrace_record_method)
+	(record_btrace_is_replaying, record_btrace_will_replay)
+	(record_btrace_xfer_partial, record_btrace_insert_breakpoint)
+	(record_btrace_remove_breakpoint, record_btrace_fetch_registers)
+	(record_btrace_store_registers, record_btrace_prepare_to_store)
+	(record_btrace_to_get_unwinder)
+	(record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
+	(record_btrace_commit_resume, record_btrace_wait)
+	(record_btrace_stop, record_btrace_can_execute_reverse)
+	(record_btrace_stopped_by_sw_breakpoint)
+	(record_btrace_supports_stopped_by_sw_breakpoint)
+	(record_btrace_stopped_by_hw_breakpoint)
+	(record_btrace_supports_stopped_by_hw_breakpoint)
+	(record_btrace_update_thread_list, record_btrace_thread_alive)
+	(record_btrace_goto_begin, record_btrace_goto_end)
+	(record_btrace_goto, record_btrace_stop_replaying_all)
+	(record_btrace_execution_direction)
+	(record_btrace_prepare_to_generate_core)
+	(record_btrace_done_generating_core): Refactor as
+	record_btrace_target methods.
+	(init_record_btrace_ops): Delete.
+	(_initialize_record_btrace): Remove reference to
+	init_record_btrace_ops.
+	* record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
+	the execution_direction global.
+	(record_full_base_target, record_full_target)
+	(record_full_core_target): New classes.
+	(record_full_ops): Now a record_full_target.
+	(record_full_core_ops): Now a record_full_core_target.
+	(record_full_target::detach, record_full_target::disconnect)
+	(record_full_core_target::disconnect)
+	(record_full_target::mourn_inferior, record_full_target::kill):
+	New.
+	(record_full_open, record_full_close, record_full_async): Refactor
+	as methods of the record_full_base_target class.
+	(record_full_resume, record_full_commit_resume): Refactor
+	as methods of the record_full_target class.
+	(record_full_wait, record_full_stopped_by_watchpoint)
+	(record_full_stopped_data_address)
+	(record_full_stopped_by_sw_breakpoint)
+	(record_full_supports_stopped_by_sw_breakpoint)
+	(record_full_stopped_by_hw_breakpoint)
+	(record_full_supports_stopped_by_hw_breakpoint): Refactor as
+	methods of the record_full_base_target class.
+	(record_full_store_registers, record_full_xfer_partial)
+	(record_full_insert_breakpoint, record_full_remove_breakpoint):
+	Refactor as methods of the record_full_target class.
+	(record_full_can_execute_reverse, record_full_get_bookmark)
+	(record_full_goto_bookmark, record_full_execution_direction)
+	(record_full_record_method, record_full_info, record_full_delete)
+	(record_full_is_replaying, record_full_will_replay)
+	(record_full_goto_begin, record_full_goto_end, record_full_goto)
+	(record_full_stop_replaying): Refactor as methods of the
+	record_full_base_target class.
+	(record_full_core_resume, record_full_core_kill)
+	(record_full_core_fetch_registers)
+	(record_full_core_prepare_to_store)
+	(record_full_core_store_registers, record_full_core_xfer_partial)
+	(record_full_core_insert_breakpoint)
+	(record_full_core_remove_breakpoint)
+	(record_full_core_has_execution): Refactor
+	as methods of the record_full_core_target class.
+	(record_full_base_target::supports_delete_record): New.
+	(init_record_full_ops): Delete.
+	(init_record_full_core_ops): Delete.
+	(record_full_save): Refactor as method of the
+	record_full_base_target class.
+	(_initialize_record_full): Remove references to
+	init_record_full_ops and init_record_full_core_ops.
+
+	* remote.c (remote_target, extended_remote_target): New classes.
+	(remote_ops): Now a remote_target.
+	(extended_remote_ops): Now an extended_remote_target.
+	(remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
+	(remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
+	(remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
+	(remote_pass_signals, remote_set_syscall_catchpoint)
+	(remote_program_signals, )
+	(remote_thread_always_alive): Remove target_ops parameter.
+	(remote_thread_alive, remote_thread_name)
+	(remote_update_thread_list, remote_threads_extra_info)
+	(remote_static_tracepoint_marker_at)
+	(remote_static_tracepoint_markers_by_strid)
+	(remote_get_ada_task_ptid, remote_close, remote_start_remote)
+	(remote_open): Refactor as methods of remote_target.
+	(extended_remote_open, extended_remote_detach)
+	(extended_remote_attach, extended_remote_post_attach):
+	(extended_remote_supports_disable_randomization)
+	(extended_remote_create_inferior): : Refactor as method of
+	extended_remote_target.
+	(remote_set_permissions, remote_open_1, remote_detach)
+	(remote_follow_fork, remote_follow_exec, remote_disconnect)
+	(remote_resume, remote_commit_resume, remote_stop)
+	(remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
+	(remote_terminal_ours, remote_wait, remote_fetch_registers)
+	(remote_prepare_to_store, remote_store_registers)
+	(remote_flash_erase, remote_flash_done, remote_files_info)
+	(remote_kill, remote_mourn, remote_insert_breakpoint)
+	(remote_remove_breakpoint, remote_insert_watchpoint)
+	(remote_watchpoint_addr_within_range)
+	(remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
+	(remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
+	(remote_supports_stopped_by_sw_breakpoint)
+	(remote_stopped_by_hw_breakpoint)
+	(remote_supports_stopped_by_hw_breakpoint)
+	(remote_stopped_by_watchpoint, remote_stopped_data_address)
+	(remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
+	(remote_verify_memory): Refactor as methods of remote_target.
+	(remote_write_qxfer, remote_read_qxfer): Remove target_ops
+	parameter.
+	(remote_xfer_partial, remote_get_memory_xfer_limit)
+	(remote_search_memory, remote_rcmd, remote_memory_map)
+	(remote_pid_to_str, remote_get_thread_local_address)
+	(remote_get_tib_address, remote_read_description): Refactor as
+	methods of remote_target.
+	(remote_target::fileio_open, remote_target::fileio_pwrite)
+	(remote_target::fileio_pread, remote_target::fileio_close): New.
+	(remote_hostio_readlink, remote_hostio_fstat)
+	(remote_filesystem_is_local, remote_can_execute_reverse)
+	(remote_supports_non_stop, remote_supports_disable_randomization)
+	(remote_supports_multi_process, remote_supports_cond_breakpoints)
+	(remote_supports_enable_disable_tracepoint)
+	(remote_supports_string_tracing)
+	(remote_can_run_breakpoint_commands, remote_trace_init)
+	(remote_download_tracepoint, remote_can_download_tracepoint)
+	(remote_download_trace_state_variable, remote_enable_tracepoint)
+	(remote_disable_tracepoint, remote_trace_set_readonly_regions)
+	(remote_trace_start, remote_get_trace_status)
+	(remote_get_tracepoint_status, remote_trace_stop)
+	(remote_trace_find, remote_get_trace_state_variable_value)
+	(remote_save_trace_data, remote_get_raw_trace_data)
+	(remote_set_disconnected_tracing, remote_core_of_thread)
+	(remote_set_circular_trace_buffer, remote_traceframe_info)
+	(remote_get_min_fast_tracepoint_insn_len)
+	(remote_set_trace_buffer_size, remote_set_trace_notes)
+	(remote_use_agent, remote_can_use_agent, remote_enable_btrace)
+	(remote_disable_btrace, remote_teardown_btrace)
+	(remote_read_btrace, remote_btrace_conf)
+	(remote_augmented_libraries_svr4_read, remote_load)
+	(remote_pid_to_exec_file, remote_can_do_single_step)
+	(remote_execution_direction, remote_thread_handle_to_thread_info):
+	Refactor as methods of remote_target.
+	(init_remote_ops, init_extended_remote_ops): Delete.
+	(remote_can_async_p, remote_is_async_p, remote_async)
+	(remote_thread_events, remote_upload_tracepoints)
+	(remote_upload_trace_state_variables): Refactor as methods of
+	remote_target.
+	(_initialize_remote): Remove references to init_remote_ops and
+	init_extended_remote_ops.
+
+	* remote-sim.c (gdbsim_target): New class.
+	(gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
+	(gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
+	(gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
+	(gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
+	(gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
+	(gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
+	Refactor as methods of gdbsim_target.
+	(gdbsim_ops): Now a gdbsim_target.
+	(init_gdbsim_ops): Delete.
+	(gdbsim_cntrl_c): Adjust.
+	(_initialize_remote_sim): Remove reference to init_gdbsim_ops.
+
+	* amd64-linux-nat.c (amd64_linux_nat_target): New class.
+	(the_amd64_linux_nat_target): New.
+	(amd64_linux_fetch_inferior_registers)
+	(amd64_linux_store_inferior_registers): Refactor as methods of
+	amd64_linux_nat_target.
+	(_initialize_amd64_linux_nat): Adjust.  Set linux_target.
+	* i386-linux-nat.c: Don't include "linux-nat.h".
+	(i386_linux_nat_target): New class.
+	(the_i386_linux_nat_target): New.
+	(i386_linux_fetch_inferior_registers)
+	(i386_linux_store_inferior_registers, i386_linux_resume): Refactor
+	as methods of i386_linux_nat_target.
+	(_initialize_i386_linux_nat): Adjust.  Set linux_target.
+	* inf-child.c (inf_child_ops): Delete.
+	(inf_child_fetch_inferior_registers)
+	(inf_child_store_inferior_registers): Delete.
+	(inf_child_post_attach, inf_child_prepare_to_store): Refactor as
+	methods of inf_child_target.
+	(inf_child_target::supports_terminal_ours)
+	(inf_child_target::terminal_init)
+	(inf_child_target::terminal_inferior)
+	(inf_child_target::terminal_ours_for_output)
+	(inf_child_target::terminal_ours, inf_child_target::interrupt)
+	(inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
+	New.
+	(inf_child_open, inf_child_disconnect, inf_child_close)
+	(inf_child_mourn_inferior, inf_child_maybe_unpush_target)
+	(inf_child_post_startup_inferior, inf_child_can_run)
+	(inf_child_pid_to_exec_file): Refactor as methods of
+	inf_child_target.
+	(inf_child_follow_fork): Delete.
+	(inf_child_target::can_create_inferior)
+	(inf_child_target::can_attach): New.
+	(inf_child_target::has_all_memory, inf_child_target::has_memory)
+	(inf_child_target::has_stack, inf_child_target::has_registers)
+	(inf_child_target::has_execution): New.
+	(inf_child_fileio_open, inf_child_fileio_pwrite)
+	(inf_child_fileio_pread, inf_child_fileio_fstat)
+	(inf_child_fileio_close, inf_child_fileio_unlink)
+	(inf_child_fileio_readlink, inf_child_use_agent)
+	(inf_child_can_use_agent): Refactor as methods of
+	inf_child_target.
+	(return_zero, inf_child_target): Delete.
+	(inf_child_target::inf_child_target): New.
+	* inf-child.h: Include "target.h".
+	(inf_child_target): Delete function prototype.
+	(inf_child_target): New class.
+	(inf_child_open_target, inf_child_mourn_inferior)
+	(inf_child_maybe_unpush_target): Delete.
+	* inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
+	(inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
+	(inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
+	(inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
+	(inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
+	(inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
+	(inf_ptrace_wait, inf_ptrace_xfer_partial)
+	(inf_ptrace_thread_alive, inf_ptrace_files_info)
+	(inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
+	methods of inf_ptrace_target.
+	(inf_ptrace_target): Delete function.
+	* inf-ptrace.h: Include "inf-child.h".
+	(inf_ptrace_target): Delete function declaration.
+	(inf_ptrace_target): New class.
+	(inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
+	* linux-nat.c (linux_target): New.
+	(linux_ops, linux_ops_saved, super_xfer_partial): Delete.
+	(linux_nat_target::~linux_nat_target): New.
+	(linux_child_post_attach, linux_child_post_startup_inferior)
+	(linux_child_follow_fork, linux_child_insert_fork_catchpoint)
+	(linux_child_remove_fork_catchpoint)
+	(linux_child_insert_vfork_catchpoint)
+	(linux_child_remove_vfork_catchpoint)
+	(linux_child_insert_exec_catchpoint)
+	(linux_child_remove_exec_catchpoint)
+	(linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
+	(linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
+	(linux_nat_resume, linux_nat_stopped_by_watchpoint)
+	(linux_nat_stopped_data_address)
+	(linux_nat_stopped_by_sw_breakpoint)
+	(linux_nat_supports_stopped_by_sw_breakpoint)
+	(linux_nat_stopped_by_hw_breakpoint)
+	(linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
+	(linux_nat_kill, linux_nat_mourn_inferior)
+	(linux_nat_xfer_partial, linux_nat_thread_alive)
+	(linux_nat_update_thread_list, linux_nat_pid_to_str)
+	(linux_nat_thread_name, linux_child_pid_to_exec_file)
+	(linux_child_static_tracepoint_markers_by_strid)
+	(linux_nat_is_async_p, linux_nat_can_async_p)
+	(linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
+	(linux_nat_supports_multi_process)
+	(linux_nat_supports_disable_randomization, linux_nat_async)
+	(linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
+	(linux_nat_core_of_thread, linux_nat_filesystem_is_local)
+	(linux_nat_fileio_open, linux_nat_fileio_readlink)
+	(linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
+	methods of linux_nat_target.
+	(linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
+	(linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
+	parameter.
+	(check_stopped_by_watchpoint): Adjust.
+	(linux_xfer_partial): Delete.
+	(linux_target_install_ops, linux_target, linux_nat_add_target):
+	Delete.
+	(linux_nat_target::linux_nat_target): New.
+	* linux-nat.h: Include "inf-ptrace.h".
+	(linux_nat_target): New.
+	(linux_target, linux_target_install_ops, linux_nat_add_target):
+	Delete function declarations.
+	(linux_target): Declare global.
+	* linux-thread-db.c (thread_db_target): New.
+	(thread_db_target::thread_db_target): New.
+	(thread_db_ops): Delete.
+	(the_thread_db_target): New.
+	(thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
+	(thread_db_update_thread_list, thread_db_pid_to_str)
+	(thread_db_extra_thread_info)
+	(thread_db_thread_handle_to_thread_info)
+	(thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
+	(thread_db_resume): Refactor as methods of thread_db_target.
+	(init_thread_db_ops): Delete.
+	(_initialize_thread_db): Remove reference to init_thread_db_ops.
+	* x86-linux-nat.c: Don't include "linux-nat.h".
+	(super_post_startup_inferior): Delete.
+	(x86_linux_nat_target::~x86_linux_nat_target): New.
+	(x86_linux_child_post_startup_inferior)
+	(x86_linux_read_description, x86_linux_enable_btrace)
+	(x86_linux_disable_btrace, x86_linux_teardown_btrace)
+	(x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
+	methods of x86_linux_nat_target.
+	(x86_linux_create_target): Delete.  Bits folded ...
+	(x86_linux_add_target): ... here.  Now takes a linux_nat_target
+	pointer.
+	* x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
+	(x86_linux_nat_target): New class.
+	(x86_linux_create_target): Delete.
+	(x86_linux_add_target): Now takes a linux_nat_target pointer.
+	* x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
+	(x86_region_ok_for_watchpoint, x86_stopped_data_address)
+	(x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
+	(x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
+	(x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
+	make extern.
+	(x86_use_watchpoints): Delete.
+	* x86-nat.h: Include "breakpoint.h" and "target.h".
+	(x86_use_watchpoints): Delete.
+	(x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
+	(x86_stopped_by_watchpoint, x86_stopped_data_address)
+	(x86_insert_watchpoint, x86_remove_watchpoint)
+	(x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
+	(x86_stopped_by_hw_breakpoint): New declarations.
+	(x86_nat_target): New template class.
+
+	* ppc-linux-nat.c (ppc_linux_nat_target): New class.
+	(the_ppc_linux_nat_target): New.
+	(ppc_linux_fetch_inferior_registers)
+	(ppc_linux_can_use_hw_breakpoint)
+	(ppc_linux_region_ok_for_hw_watchpoint)
+	(ppc_linux_ranged_break_num_registers)
+	(ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
+	(ppc_linux_insert_mask_watchpoint)
+	(ppc_linux_remove_mask_watchpoint)
+	(ppc_linux_can_accel_watchpoint_condition)
+	(ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
+	(ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
+	(ppc_linux_watchpoint_addr_within_range)
+	(ppc_linux_masked_watch_num_registers)
+	(ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
+	(ppc_linux_read_description): Refactor as methods of
+	ppc_linux_nat_target.
+	(_initialize_ppc_linux_nat): Adjust.  Set linux_target.
+
+	* procfs.c (procfs_xfer_partial): Delete forward declaration.
+	(procfs_target): New class.
+	(the_procfs_target): New.
+	(procfs_target): Delete function.
+	(procfs_auxv_parse, procfs_attach, procfs_detach)
+	(procfs_fetch_registers, procfs_store_registers, procfs_wait)
+	(procfs_xfer_partial, procfs_resume, procfs_pass_signals)
+	(procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
+	(procfs_create_inferior, procfs_update_thread_list)
+	(procfs_thread_alive, procfs_pid_to_str)
+	(procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
+	(procfs_stopped_data_address, procfs_insert_watchpoint)
+	(procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
+	(proc_find_memory_regions, procfs_info_proc)
+	(procfs_make_note_section): Refactor as methods of procfs_target.
+	(_initialize_procfs): Adjust.
+	* sol-thread.c (sol_thread_target): New class.
+	(sol_thread_ops): Now a sol_thread_target.
+	(sol_thread_detach, sol_thread_resume, sol_thread_wait)
+	(sol_thread_fetch_registers, sol_thread_store_registers)
+	(sol_thread_xfer_partial, sol_thread_mourn_inferior)
+	(sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
+	(sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
+	(init_sol_thread_ops): Delete.
+	(_initialize_sol_thread): Adjust.  Remove references to
+	init_sol_thread_ops and complete_target_initialization.
+
+	* windows-nat.c (windows_nat_target): New class.
+	(windows_fetch_inferior_registers)
+	(windows_store_inferior_registers, windows_resume, windows_wait)
+	(windows_attach, windows_detach, windows_pid_to_exec_file)
+	(windows_files_info, windows_create_inferior)
+	(windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
+	(windows_close, windows_pid_to_str, windows_xfer_partial)
+	(windows_get_tib_address, windows_get_ada_task_ptid)
+	(windows_thread_name, windows_thread_alive): Refactor as
+	windows_nat_target methods.
+	(do_initial_windows_stuff): Adjust.
+	(windows_target): Delete function.
+	(_initialize_windows_nat): Adjust.
+
+	* darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
+	(darwin_mourn_inferior, darwin_kill_inferior)
+	(darwin_create_inferior, darwin_attach, darwin_detach)
+	(darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
+	(darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
+	(darwin_supports_multi_process): Refactor as darwin_nat_target
+	methods.
+	(darwin_resume_to, darwin_files_info): Delete.
+	(_initialize_darwin_inferior): Rename to ...
+	(_initialize_darwin_nat): ... this.  Adjust to C++ification.
+	* darwin-nat.h: Include "inf-child.h".
+	(darwin_nat_target): New class.
+	(darwin_complete_target): Delete.
+	* i386-darwin-nat.c (i386_darwin_nat_target): New class.
+	(darwin_target): New.
+	(i386_darwin_fetch_inferior_registers)
+	(i386_darwin_store_inferior_registers): Refactor as methods of
+	darwin_nat_target.
+	(darwin_complete_target): Delete, with ...
+	(_initialize_i386_darwin_nat): ... bits factored out here.
+
+	* alpha-linux-nat.c (alpha_linux_nat_target): New class.
+	(the_alpha_linux_nat_target): New.
+	(alpha_linux_register_u_offset): Refactor as
+	alpha_linux_nat_target method.
+	(_initialize_alpha_linux_nat): Adjust.
+	* linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
+	(inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
+	(inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
+	methods of linux_nat_trad_target.
+	(linux_trad_target): Delete.
+	* linux-nat-trad.h (linux_trad_target): Delete function.
+	(linux_nat_trad_target): New class.
+	* mips-linux-nat.c (mips_linux_nat_target): New class.
+	(super_fetch_registers, super_store_registers, super_close):
+	Delete.
+	(the_mips_linux_nat_target): New.
+	(mips64_linux_regsets_fetch_registers)
+	(mips64_linux_regsets_store_registers)
+	(mips64_linux_fetch_registers, mips64_linux_store_registers)
+	(mips_linux_register_u_offset, mips_linux_read_description)
+	(mips_linux_can_use_hw_breakpoint)
+	(mips_linux_stopped_by_watchpoint)
+	(mips_linux_stopped_data_address)
+	(mips_linux_region_ok_for_hw_watchpoint)
+	(mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
+	(mips_linux_close): Refactor as methods of mips_linux_nat.
+	(_initialize_mips_linux_nat): Adjust to C++ification.
+
+	* aix-thread.c (aix_thread_target): New class.
+	(aix_thread_ops): Now an aix_thread_target.
+	(aix_thread_detach, aix_thread_resume, aix_thread_wait)
+	(aix_thread_fetch_registers, aix_thread_store_registers)
+	(aix_thread_xfer_partial, aix_thread_mourn_inferior)
+	(aix_thread_thread_alive, aix_thread_pid_to_str)
+	(aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
+	Refactor as methods of aix_thread_target.
+	(init_aix_thread_ops): Delete.
+	(_initialize_aix_thread): Remove references to init_aix_thread_ops
+	and complete_target_initialization.
+	* rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
+	(rs6000_nat_target): New class.
+	(the_rs6000_nat_target): New.
+	(rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
+	(rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
+	(rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
+	(super_create_inferior): Delete.
+	(_initialize_rs6000_nat): Adjust to C++ification.
+
+	* arm-linux-nat.c (arm_linux_nat_target): New class.
+	(the_arm_linux_nat_target): New.
+	(arm_linux_fetch_inferior_registers)
+	(arm_linux_store_inferior_registers, arm_linux_read_description)
+	(arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
+	(arm_linux_remove_hw_breakpoint)
+	(arm_linux_region_ok_for_hw_watchpoint)
+	(arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
+	(arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
+	(arm_linux_watchpoint_addr_within_range): Refactor as methods of
+	arm_linux_nat_target.
+	(_initialize_arm_linux_nat): Adjust to C++ification.
+
+	* aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
+	(the_aarch64_linux_nat_target): New.
+	(aarch64_linux_fetch_inferior_registers)
+	(aarch64_linux_store_inferior_registers)
+	(aarch64_linux_child_post_startup_inferior)
+	(aarch64_linux_read_description)
+	(aarch64_linux_can_use_hw_breakpoint)
+	(aarch64_linux_insert_hw_breakpoint)
+	(aarch64_linux_remove_hw_breakpoint)
+	(aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
+	(aarch64_linux_region_ok_for_hw_watchpoint)
+	(aarch64_linux_stopped_data_address)
+	(aarch64_linux_stopped_by_watchpoint)
+	(aarch64_linux_watchpoint_addr_within_range)
+	(aarch64_linux_can_do_single_step): Refactor as methods of
+	aarch64_linux_nat_target.
+	(super_post_startup_inferior): Delete.
+	(_initialize_aarch64_linux_nat): Adjust to C++ification.
+
+	* hppa-linux-nat.c (hppa_linux_nat_target): New class.
+	(the_hppa_linux_nat_target): New.
+	(hppa_linux_fetch_inferior_registers)
+	(hppa_linux_store_inferior_registers): Refactor as methods of
+	hppa_linux_nat_target.
+	(_initialize_hppa_linux_nat): Adjust to C++ification.
+
+	* ia64-linux-nat.c (ia64_linux_nat_target): New class.
+	(the_ia64_linux_nat_target): New.
+	(ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
+	(ia64_linux_stopped_data_address)
+	(ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
+	(ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
+	ia64_linux_nat_target methods.
+	(super_xfer_partial): Delete.
+	(_initialize_ia64_linux_nat): Adjust to C++ification.
+
+	* m32r-linux-nat.c (m32r_linux_nat_target): New class.
+	(the_m32r_linux_nat_target): New.
+	(m32r_linux_fetch_inferior_registers)
+	(m32r_linux_store_inferior_registers): Refactor as
+	m32r_linux_nat_target methods.
+	(_initialize_m32r_linux_nat): Adjust to C++ification.
+
+	* m68k-linux-nat.c (m68k_linux_nat_target): New class.
+	(the_m68k_linux_nat_target): New.
+	(m68k_linux_fetch_inferior_registers)
+	(m68k_linux_store_inferior_registers): Refactor as
+	m68k_linux_nat_target methods.
+	(_initialize_m68k_linux_nat): Adjust to C++ification.
+
+	* s390-linux-nat.c (s390_linux_nat_target): New class.
+	(the_s390_linux_nat_target): New.
+	(s390_linux_fetch_inferior_registers)
+	(s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
+	(s390_insert_watchpoint, s390_remove_watchpoint)
+	(s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
+	(s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
+	(s390_auxv_parse, s390_read_description): Refactor as methods of
+	s390_linux_nat_target.
+	(_initialize_s390_nat): Adjust to C++ification.
+
+	* sparc-linux-nat.c (sparc_linux_nat_target): New class.
+	(the_sparc_linux_nat_target): New.
+	(_initialize_sparc_linux_nat): Adjust to C++ification.
+	* sparc-nat.c (sparc_fetch_inferior_registers)
+	(sparc_store_inferior_registers): Remove target_ops parameter.
+	* sparc-nat.h (sparc_fetch_inferior_registers)
+	(sparc_store_inferior_registers): Remove target_ops parameter.
+	* sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
+	(the_sparc64_linux_nat_target): New.
+	(_initialize_sparc64_linux_nat): Adjust to C++ification.
+
+	* spu-linux-nat.c (spu_linux_nat_target): New class.
+	(the_spu_linux_nat_target): New.
+	(spu_child_post_startup_inferior, spu_child_post_attach)
+	(spu_child_wait, spu_fetch_inferior_registers)
+	(spu_store_inferior_registers, spu_xfer_partial)
+	(spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
+	methods.
+	(_initialize_spu_nat): Adjust to C++ification.
+
+	* tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
+	(the_tilegx_linux_nat_target): New.
+	(fetch_inferior_registers, store_inferior_registers):
+	Refactor as methods.
+	(_initialize_tile_linux_nat): Adjust to C++ification.
+
+	* xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
+	(the_xtensa_linux_nat_target): New.
+	(xtensa_linux_fetch_inferior_registers)
+	(xtensa_linux_store_inferior_registers): Refactor as
+	xtensa_linux_nat_target methods.
+	(_initialize_xtensa_linux_nat): Adjust to C++ification.
+
+	* fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
+	(fbsd_pid_to_exec_file, fbsd_find_memory_regions)
+	(fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
+	(fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
+	(fbsd_update_thread_list, fbsd_resume, fbsd_wait)
+	(fbsd_stopped_by_sw_breakpoint)
+	(fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
+	(fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
+	(fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
+	(fbsd_post_startup_inferior, fbsd_post_attach)
+	(fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
+	(fbsd_set_syscall_catchpoint)
+	(super_xfer_partial, super_resume, super_wait)
+	(fbsd_supports_stopped_by_hw_breakpoint): Delete.
+	(fbsd_handle_debug_trap): Remove target_ops parameter.
+	(fbsd_nat_add_target): Delete.
+	* fbsd-nat.h: Include "inf-ptrace.h".
+	(fbsd_nat_add_target): Delete.
+	(USE_SIGTRAP_SIGINFO): Define.
+	(fbsd_nat_target): New class.
+
+	* amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
+	(amd64bsd_store_inferior_registers): Remove target_ops parameter.
+	(amd64bsd_target): Delete.
+	* amd64-bsd-nat.h: New file.
+	* amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
+	"x86-bsd-nat.h".
+	(amd64_fbsd_nat_target): New class.
+	(the_amd64_fbsd_nat_target): New.
+	(amd64fbsd_read_description): Refactor as method of
+	amd64_fbsd_nat_target.
+	(amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
+	(_initialize_amd64fbsd_nat): Adjust to C++ification.
+	* amd64-nat.h (amd64bsd_target): Delete function declaration.
+	* i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
+	(i386bsd_store_inferior_registers): Remove target_ops parameter.
+	(i386bsd_target): Delete.
+	* i386-bsd-nat.h (i386bsd_target): Delete function declaration.
+	(i386bsd_fetch_inferior_registers)
+	(i386bsd_store_inferior_registers): Declare.
+	(i386_bsd_nat_target): New class.
+	* i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
+	(the_i386_fbsd_nat_target): New.
+	(i386fbsd_resume, i386fbsd_read_description): Refactor as
+	i386_fbsd_nat_target methods.
+	(i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
+	(_initialize_i386fbsd_nat): Adjust to C++ification.
+	* x86-bsd-nat.c (super_mourn_inferior): Delete.
+	(x86bsd_mourn_inferior, x86bsd_target): Delete.
+	(_initialize_x86_bsd_nat): Adjust to C++ification.
+	* x86-bsd-nat.h: Include "x86-nat.h".
+	(x86bsd_target): Delete declaration.
+	(x86bsd_nat_target): New class.
+
+	* aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
+	(the_aarch64_fbsd_nat_target): New.
+	(aarch64_fbsd_fetch_inferior_registers)
+	(aarch64_fbsd_store_inferior_registers): Refactor as methods of
+	aarch64_fbsd_nat_target.
+	(_initialize_aarch64_fbsd_nat): Adjust to C++ification.
+	* alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
+	(the_alpha_bsd_nat_target): New.
+	(alphabsd_fetch_inferior_registers)
+	(alphabsd_store_inferior_registers): Refactor as
+	alpha_bsd_nat_target methods.
+	(_initialize_alphabsd_nat): Refactor as methods of
+	alpha_bsd_nat_target.
+	* amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
+	(the_amd64_nbsd_nat_target): New.
+	(_initialize_amd64nbsd_nat): Adjust to C++ification.
+	* amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
+	(the_amd64_obsd_nat_target): New.
+	(_initialize_amd64obsd_nat): Adjust to C++ification.
+	* arm-fbsd-nat.c (arm_fbsd_nat_target): New.
+	(the_arm_fbsd_nat_target): New.
+	(arm_fbsd_fetch_inferior_registers)
+	(arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
+	(_initialize_arm_fbsd_nat): Refactor as methods of
+	arm_fbsd_nat_target.
+	(_initialize_arm_fbsd_nat): Adjust to C++ification.
+	* arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
+	(the_arm_netbsd_nat_target): New.
+	(armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
+	arm_netbsd_nat_target.
+	(_initialize_arm_netbsd_nat): Adjust to C++ification.
+	* hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
+	(the_hppa_nbsd_nat_target): New.
+	(hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
+	hppa_nbsd_nat_target methods.
+	(_initialize_hppanbsd_nat): Adjust to C++ification.
+	* hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
+	(the_hppa_obsd_nat_target): New.
+	(hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
+	methods of hppa_obsd_nat_target.
+	(_initialize_hppaobsd_nat): Adjust to C++ification.  Use
+	add_target.
+	* i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
+	(_initialize_i386nbsd_nat): Adjust to C++ification.  Use
+	add_target.
+	* i386-obsd-nat.c (the_i386_obsd_nat_target): New.
+	(_initialize_i386obsd_nat): Use add_target.
+	* m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
+	(the_m68k_bsd_nat_target): New.
+	(m68kbsd_fetch_inferior_registers)
+	(m68kbsd_store_inferior_registers): Refactor as methods of
+	m68k_bsd_nat_target.
+	(_initialize_m68kbsd_nat): Adjust to C++ification.
+	* mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
+	(the_mips_fbsd_nat_target): New.
+	(mips_fbsd_fetch_inferior_registers)
+	(mips_fbsd_store_inferior_registers): Refactor as methods of
+	mips_fbsd_nat_target.
+	(_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
+	add_target.
+	* mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
+	(the_mips_nbsd_nat_target): New.
+	(mipsnbsd_fetch_inferior_registers)
+	(mipsnbsd_store_inferior_registers): Refactor as methods of
+	mips_nbsd_nat_target.
+	(_initialize_mipsnbsd_nat): Adjust to C++ification.
+	* mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
+	(the_mips64_obsd_nat_target): New.
+	(mips64obsd_fetch_inferior_registers)
+	(mips64obsd_store_inferior_registers): Refactor as methods of
+	mips64_obsd_nat_target.
+	(_initialize_mips64obsd_nat): Adjust to C++ification.  Use
+	add_target.
+	* nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
+	nbsd_nat_target.
+	* nbsd-nat.h: Include "inf-ptrace.h".
+	(nbsd_nat_target): New class.
+	* obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
+	(obsd_wait): Refactor as methods of obsd_nat_target.
+	(obsd_add_target): Delete.
+	* obsd-nat.h: Include "inf-ptrace.h".
+	(obsd_nat_target): New class.
+	* ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
+	(the_ppc_fbsd_nat_target): New.
+	(ppcfbsd_fetch_inferior_registers)
+	(ppcfbsd_store_inferior_registers): Refactor as methods of
+	ppc_fbsd_nat_target.
+	(_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
+	add_target.
+	* ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
+	(the_ppc_nbsd_nat_target): New.
+	(ppcnbsd_fetch_inferior_registers)
+	(ppcnbsd_store_inferior_registers): Refactor as methods of
+	ppc_nbsd_nat_target.
+	(_initialize_ppcnbsd_nat): Adjust to C++ification.
+	* ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
+	(the_ppc_obsd_nat_target): New.
+	(ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
+	methods of ppc_obsd_nat_target.
+	(_initialize_ppcobsd_nat): Adjust to C++ification.  Use
+	add_target.
+	* sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
+	(the_sh_nbsd_nat_target): New.
+	(shnbsd_fetch_inferior_registers)
+	(shnbsd_store_inferior_registers): Refactor as methods of
+	sh_nbsd_nat_target.
+	(_initialize_shnbsd_nat): Adjust to C++ification.
+	* sparc-nat.c (sparc_xfer_wcookie): Make extern.
+	(inf_ptrace_xfer_partial): Delete.
+	(sparc_xfer_partial, sparc_target): Delete.
+	* sparc-nat.h (sparc_fetch_inferior_registers)
+	(sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
+	(sparc_target): Delete function declaration.
+	(sparc_target): New template class.
+	* sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
+	(_initialize_sparcnbsd_nat): Adjust to C++ification.
+	* sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
+	(_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
+	add_target.
+	* sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
+	(_initialize_sparc64nbsd_nat): Adjust to C++ification.
+	* sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
+	(_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
+	add_target.
+	* vax-bsd-nat.c (vax_bsd_nat_target): New class.
+	(the_vax_bsd_nat_target): New.
+	(vaxbsd_fetch_inferior_registers)
+	(vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
+	methods.
+	(_initialize_vaxbsd_nat): Adjust to C++ification.
+
+	* bsd-kvm.c (bsd_kvm_target): New class.
+	(bsd_kvm_ops): Now a bsd_kvm_target.
+	(bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
+	(bsd_kvm_files_info, bsd_kvm_fetch_registers)
+	(bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
+	bsd_kvm_target.
+	(bsd_kvm_return_one): Delete.
+	(bsd_kvm_add_target): Adjust to C++ification.
+
+	* nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
+	(nto_procfs_target_procfs): New classes.
+	(procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
+	(procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
+	(procfs_post_attach, procfs_wait, procfs_fetch_registers)
+	(procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
+	(procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
+	(procfs_remove_hw_breakpoint, procfs_resume)
+	(procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
+	(procfs_kill_inferior, procfs_store_registers)
+	(procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
+	as methods of nto_procfs_target.
+	(nto_procfs_ops): Now an nto_procfs_target_procfs.
+	(nto_native_ops): Delete.
+	(procfs_open, procfs_native_open): Delete.
+	(nto_native_ops): Now an nto_procfs_target_native.
+	(init_procfs_targets): Adjust to C++ification.
+	(procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
+	(procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
+	Refactor as methods of nto_procfs_target.
+
+	* go32-nat.c (go32_nat_target): New class.
+	(the_go32_nat_target): New.
+	(go32_attach, go32_resume, go32_wait, go32_fetch_registers)
+	(go32_store_registers, go32_xfer_partial, go32_files_info)
+	(go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
+	(go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
+	(go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
+	(go32_pid_to_str): Refactor as methods of go32_nat_target.
+	(go32_target): Delete.
+	(_initialize_go32_nat): Adjust to C++ification.
+
+	* gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
+	(gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
+	(gnu_stop, gnu_thread_alive, gnu_xfer_partial)
+	(gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
+	gnu_nat_target.
+	(gnu_target): Delete.
+	* gnu-nat.h (gnu_target): Delete.
+	(gnu_nat_target): New class.
+	* i386-gnu-nat.c (gnu_base_target): New.
+	(i386_gnu_nat_target): New class.
+	(the_i386_gnu_nat_target): New.
+	(_initialize_i386gnu_nat): Adjust to C++ification.
+
+2018-05-02  Pedro Alves  <palves@redhat.com>
+
+	* bfd-target.c (target_bfd_xclose): Rename to ...
+	(target_bfd_close): ... this.
+	(target_bfd_reopen): Adjust.
+	* target.c (target_close): Remove references to to_xclose.
+	* target.h (target_ops::to_xclose): Delete.
+	(target_ops::to_close): Update comments.
+
+2018-05-02  Pedro Alves  <palves@redhat.com>
+
+	* alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
+	"linux-nat.h".
+	* configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
+	* inf-ptrace.c (inf_ptrace_register_u_offset)
+	(inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
+	(inf_ptrace_store_register, inf_ptrace_store_registers)
+	(inf_ptrace_trad_target): Move to ...
+	* linux-nat-trad.c: ... this new file.
+	* linux-nat-trad.h: New file.
+	* linux-nat.c (linux_target_install_ops): Make extern.
+	(linux_trad_target): Delete.
+	* linux-nat.h (linux_trad_target): Delete declaration.
+	(linux_target_install_ops): Declare.
+	* mips-linux-nat.c: Include "linux-nat-trad.h" instead of
+	"linux-nat.h".
+
+2018-05-02  Pedro Alves  <palves@redhat.com>
+
+	* i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
+	procfs_target/add_target here.
+	* procfs.c (procfs_target): Make static.
+	(_initialize_procfs): Call add_target here.
+	* procfs.h (struct target_ops): Remove forward declaration.
+	(procfs_target): Remove declaration.
+	* sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
+
+2018-05-02  Pedro Alves  <palves@redhat.com>
+
+	* procfs.c (procfs_stopped_by_watchpoint)
+	(procfs_insert_watchpoint, procfs_remove_watchpoint)
+	(procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
+	Forward declare.
+	(procfs_use_watchpoints): Delete, move contents...
+	(procfs_target): ... here.
+	* procfs.h (procfs_use_watchpoints): Delete declaration.
+	* i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
+	procfs_use_watchpoints.
+	* sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
+	procfs_use_watchpoints.
+
+2018-05-02  Tom Tromey  <tom@tromey.com>
+
+	PR python/20084:
+	* python/python.c (gdbpy_parameter_value): Handle var_zuinteger
+	and var_zuinteger_unlimited.
+	* python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
+	and PARAM_ZUINTEGER_UNLIMITED.
+	(set_parameter_value): Handle var_zuinteger and
+	var_zuinteger_unlimited.
+	(add_setshow_generic): Likewise.
+	(parmpy_init): Likewise.
+
+2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
+
+	PR rust/23124
+	* gdb/rust-exp.y (convert_params_to_types): Ensure that the params
+	pointer is not null before dereferencing it.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
+	is_mi_like_p.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* breakpoint.c (mention): Remove use of is_mi_like_p.
+	(print_mention_ranged_breakpoint): Likewise.
+	* break-catch-throw.c (print_it_exception_catchpoint): Remove use
+	of is_mi_like_p.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
+	(info_spu_event_command): Remove some uses of is_mi_like_p.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* python/py-framefilter.c (py_print_single_arg)
+	(enumerate_locals, py_print_args, py_print_frame): Remove some
+	uses of is_mi_like_p.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* ui-out.c: Update.
+	* cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
+	* ui-out.h (ui_out::is_mi_like_p): Now const.
+	(ui_out::do_is_mi_like_p): Now const.
+	* mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* varobj.c (varobj_set_visualizer): Use new_reference.
+	* python/python.c (gdbpy_decode_line): Use new_reference.
+	* python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
+	new_reference.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* varobj.c (install_new_value): Use new_reference.
+	* value.h (value_incref): Return void.  Swap intro comment with
+	value_decref.
+	* value.c (set_value_parent): Use new_reference.
+	(value_incref): Return void.  Update intro comment.
+	(release_value): Use new_reference.
+	* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
+	* gdb_bfd.h (new_bfd_ref): Remove.
+	(gdb_bfd_open): Update comment.
+	* gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
+	(gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
+	(gdb_bfd_fdopenr): Use new_reference.
+	* exec.c (exec_file_attach): Use new_reference.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
+	method.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* jit.c (jit_read_code_entry): Use type_align.
+	* i386-tdep.c (i386_gdbarch_init): Don't call
+	set_gdbarch_long_long_align_bit.
+	* gdbarch.sh: Remove long_long_align_bit.
+	* gdbarch.c, gdbarch.h: Rebuild.
+	* arc-tdep.c (arc_type_align): New function.
+	(arc_gdbarch_init): Use arc_type_align.  Don't call
+	set_gdbarch_long_long_align_bit.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* rust-lang.c (rust_type_alignment): Remove.
+	(rust_composite_type): Use type_align.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* NEWS: Mention Type.align.
+	* python/py-type.c (typy_get_alignof): New function.
+	(type_object_getset): Add "alignof".
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	PR exp/17095:
+	* NEWS: Update.
+	* std-operator.def (UNOP_ALIGNOF): New operator.
+	* expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
+	New.
+	* eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
+	* c-lang.c (c_op_print_tab): Add alignof.
+	* c-exp.y (ALIGNOF): New token.
+	(exp): Add "ALIGNOF" production.
+	(ident_tokens): Add _Alignof and alignof.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* i386-tdep.c (i386_type_align): New function.
+	(i386_gdbarch_init): Update.
+	* gdbarch.sh (type_align): New method.
+	* gdbarch.c, gdbarch.h: Rebuild.
+	* arch-utils.h (default_type_align): Declare.
+	* arch-utils.c (default_type_align): New function.
+	* gdbtypes.h (TYPE_ALIGN_BITS): New define.
+	(struct type) <align_log2>: New field.
+	<instance_flags>: Now a bitfield.
+	(TYPE_RAW_ALIGN): New macro.
+	(type_align, type_raw_align, set_type_align): Declare.
+	* gdbtypes.c (type_align, type_raw_align, set_type_align): New
+	functions.
+	* dwarf2read.c (quirk_rust_enum): Set type alignment.
+	(get_alignment, maybe_set_alignment): New functions.
+	(read_structure_type, read_enumeration_type, read_array_type)
+	(read_set_type, read_tag_pointer_type, read_tag_reference_type)
+	(read_subrange_type, read_base_type): Set type alignment.
+
+2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* dwarf2read.c (read_index_from_section): Use bool.
+
+2018-04-29  Fabian Groffen  <grobian@gentoo.org>
+
+	PR gdb/22950
+	* proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
+	with #ifdef.
+
+2018-04-29  John Reiser  <jreiser@BitWagon.com>
+
+	PR build/22873
+	* gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
+	last step, and do it atomically.
+
+2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
+
+	* compile/compile-c-types.c (convert_int, convert_float):
+	Update for C FE v1.
+
+2018-04-27  Tom Tromey  <tom@tromey.com>
+
+	PR rust/22545:
+	* rust-lang.c (rust_inclusive_range_type_p): New function.
+	(rust_range): Handle inclusive ranges.
+	(rust_compute_range): Likewise.
+	* rust-exp.y (struct rust_op) <inclusive>: New field.
+	(DOTDOTEQ): New constant.
+	(range_expr): Add "..=" productions.
+	(operator_tokens): Add "..=" token.
+	(ast_range): Add "inclusive" parameter.
+	(convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
+	ranges.
+	* parse.c (operator_length_standard) <case OP_RANGE>: Handle new
+	bounds values.
+	* expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
+	LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
+	Update comments.
+	* expprint.c (print_subexp_standard): Handle new bounds values.
+	(dump_subexp_body_standard): Likewise.
+
+2018-04-27  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+	* warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
+	* dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
+	"OVERRIDE".
+	(class symbol_needs_eval_context): Likewise.
+	* dwarf2read.c (mock_mapped_index::symbol_name_count)
+	(mock_mapped_index::symbol_name_at): Use "override".  Remove
+	"virtual".
+	* dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
+	"override".
+	(class dwarf_expr_executor): Use "override", not "OVERRIDE".
+	* aarch64-tdep.c (instruction_reader::read): Use "override".
+	(instruction_reader_test::read): Likewise.
+	* arm-tdep.c (instruction_reader::read): Use "override".
+	(instruction_reader_thumb::read): Likewise.
+
+2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
+
+	PR remote/9665
+	* remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
+	instead of remote_send.
+	(remote_send): Remove.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
+	find_function_start_sal instead of find_pc_line.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (set_breakpoint_location_function): Handle
+	mst_data_gnu_ifunc.
+	* c-exp.y (variable production): Handle mst_data_gnu_ifunc.
+	* elfread.c (elf_symtab_read): Give data symbols with
+	BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
+	(elf_rel_plt_read): Update comment.
+	* linespec.c (convert_linespec_to_sals): Handle
+	mst_data_gnu_ifunc.
+	(minsym_found): Handle mst_data_gnu_ifunc.
+	* minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
+	(find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
+	* parse.c (find_minsym_type_and_address): Handle
+	mst_data_gnu_ifunc.
+	* symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
+	* symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
+	* symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
+	comment.
+	<mst_data_gnu_ifunc>: New enumerator.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
+	(lookup_minimal_symbol_by_pc_section): ... this.  Replace
+	'want_trampoline' parameter by a lookup_msym_prefer parameter.
+	Handle it.
+	(lookup_minimal_symbol_by_pc_section): Delete old implementation.
+	(lookup_minimal_symbol_by_pc): Adjust.
+	(in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
+	(lookup_solib_trampoline_symbol_by_pc): Adjust.
+	* minsyms.h (lookup_msym_prefer): New enum.
+	(lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
+	parameter by a lookup_msym_prefer parameter.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
+	ends in "@plt" instead of looking at the symbol's section.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
+	all references.
+	(find_pc_partial_function_gnu_ifunc): Rename to ...
+	(find_pc_partial_function): ... this, and remove references to
+	'is_gnu_ifunc_p'.
+	(find_pc_partial_function): Delete old implementation.
+	* symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* linespec.c (struct bound_minimal_symbol_search_key): New.
+	(convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
+	skip first line if we found a GNU ifunc minimal symbol by name.
+	(compare_msymbols): Change parameters to work with a destructured
+	lhs minsym.
+	(compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
+	functions.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (set_breakpoint_location_function): Don't resolve
+	ifunc targets here.  Instead, if we have an ifunc minsym, use its
+	address/name.
+	(add_location_to_breakpoint): Store the minsym and the objfile in
+	the breakpoint location.
+	* breakpoint.h (bp_location) <msymbol, objfile>: New fields.
+	* linespec.c (minsym_found): Resolve GNU ifunc targets here.
+	Record the minsym in the sal.
+	* symtab.h (symtab_and_line) <msymbol>: New field.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
+	unless we actually resolved the ifunc.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* c-exp.y (variable production): Prefer ifunc minsyms over
+	regular function symbols.
+	* symtab.c (find_gnu_ifunc): New function.
+	* minsyms.h (lookup_msym_prefer): New enum.
+	(lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
+	parameter by a lookup_msym_prefer parameter.
+	* symtab.h (find_gnu_ifunc): New declaration.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* blockframe.c (find_gnu_ifunc_target_type): New function.
+	(find_function_type): New.
+	* eval.c (evaluate_var_msym_value): For GNU ifunc types, always
+	return a value with a memory address.
+	(eval_call): For calls to GNU ifunc functions, try to find the
+	type of the target function from the type that the resolver
+	returns.
+	* gdbtypes.c (objfile_type): Don't install a return type for ifunc
+	symbols.
+	* infcall.c (find_function_return_type): Delete.
+	(find_function_addr): Add 'function_type' parameter.  For calls to
+	GNU ifunc functions, try to find the type of the target function
+	from the type that the resolver returns, and return it via
+	FUNCTION_TYPE.
+	(call_function_by_hand_dummy): Adjust to use the function type
+	returned by find_function_addr.
+	(find_function_addr): Add 'function_type' parameter and move
+	description here.
+	* symtab.h (find_function_type, find_gnu_ifunc_target_type): New
+	declarations.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* c-exp.y (variable production): Skip finding an alias for ifunc
+	symbols.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
+
+2018-04-25  Pedro Alves  <palves@redhat.com>
+
+	* infcmd.c (kill_command): Print the pid as string, not the whole
+	thread's ptid.  Add comment.  s/has been killed/killed/ in output
+	message.
+	* remote.c (remote_detach_1): Print the pid as string, not the
+	whole thread's ptid.
+
+2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Sergio Durigan Junior  <sergiodj@redhat.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	* infcmd.c (kill_command): Print message when inferior has
+	been killed.
+	* inferior.c (print_inferior_events): Remove 'static'.  Set as
+	'1'.
+	(add_inferior): Improve message printed when
+	'print_inferior_events' is on.
+	(exit_inferior): Remove message printed when
+	'print_inferior_events' is on.
+	(detach_inferior): Improve message printed when
+	'print_inferior_events' is on.
+	(initialize_inferiors): Use 'add_inferior_silent' to set
+	'current_inferior_'.
+	* inferior.h (print_inferior_events): Declare here as
+	'extern'.
+	* infrun.c (follow_fork_inferior): Print '[Attaching...]' or
+	'[Detaching...]' messages when 'print_inferior_events' is on.
+	Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
+	as prefix/suffix for messages.  Remove periods.  Fix erroneous
+	'Detaching after fork from child...', replace it by '... from
+	parent...'.
+	(handle_vfork_child_exec_or_exit): Add '[' and ']' as
+	prefix/suffix when printing 'Detaching...' messages.  Print
+	them when 'print_inferior_events' is on.
+	* remote.c (remote_detach_1): Print message when detaching
+	from inferior and '!is_fork_parent'.
+
+2018-04-24  Tom Tromey  <tom@tromey.com>
+
+	* cli-out.h: Reindent.
+
+2018-04-24  Tom Tromey  <tom@tromey.com>
+
+	* cli-out.c (cli_ui_out::out_field_fmt): Remove.
+	(cli_ui_out::do_field_string): Use fputs_filtered.
+	* cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
+
+2018-04-23  Tom Tromey  <tom@tromey.com>
+
+	* guile/scm-frame.c (gdbscm_frame_read_var): Use
+	gdb::unique_xmalloc_ptr.
+
+2018-04-23  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+
+2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
+
+	PR gdb/23095
+	* gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
+	prepare_for_testing.  Set normal_bp to r_debug_state if target
+	is bsd.
+
+2018-04-21  Pedro Alves  <palves@redhat.com>
+	    Rajendra SY  <rajendra.sy@gmail.com>
+
+	* inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
+	* remote.c (extended_remote_attach): In all-stop mode, mark the
+	thread as executing.
+
+2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+	* thread.c (thread_apply_all_command): Fix comment.
+	(thread_command): Fix comment.
+
+2018-04-10  Alan Hayward  <alan.hayward@arm.com>
+
+	* common/tdesc.h (tdesc_create_feature): Remove xml filename
+	parameter.
+	* features/aarch64-core.c (create_feature_aarch64_core):
+	Regenerate.
+	* features/aarch64-fpu.c (create_feature_aarch64_fpu):
+	Likewise.
+	* features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
+	Likewise.
+	* features/i386/32bit-avx512.c
+	(create_feature_i386_32bit_avx512): Likewise.
+	* features/i386/32bit-core.c (create_feature_i386_32bit_core):
+	Likewise.
+	* features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
+	Likewise.
+	* features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
+	Likewise.
+	* features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
+	Likewise.
+	* features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
+	Likewise.
+	* features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
+	Likewise.
+	* features/i386/64bit-avx512.c
+	(create_feature_i386_64bit_avx512): Likewise.
+	* features/i386/64bit-core.c (create_feature_i386_64bit_core):
+	Likewise.
+	* features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
+	Likewise.
+	* features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
+	Likewise.
+	* features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
+	Likewise.
+	* features/i386/64bit-segments.c
+	(create_feature_i386_64bit_segments): Likewise.
+	* features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
+	Likewise.
+	* features/i386/x32-core.c
+	(create_feature_i386_x32_core): Likewise.
+	* features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
+	* features/tic6x-core.c (create_feature_tic6x_core): Likewise.
+	* features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
+	* target-descriptions.c: In generated code, don't pass xml
+	filename.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
+	(print_xml_feature::visit_post): Likewise.
+	(print_xml_feature::visit): Likewise.
+	* common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
+	(print_xml_feature): Add new class.
+	* regformats/regdat.sh: Null xmltarget on feature targets.
+	* target-descriptions.c (struct target_desc): Add xmltarget.
+	(maintenance_check_tdesc_xml_convert): Add unittest function.
+	(tdesc_get_features_xml): Add function to get xml.
+	(maintenance_check_xml_descriptions): Test xml generation.
+	* xml-tdesc.c (string_read_description_xml): Add function.
+	* xml-tdesc.h (string_read_description_xml): Add declaration.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* features/Makefile: Add feature marker to targets with new style
+	target descriptions.
+	* regformats/aarch64.dat: Regenerate.
+	* regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
+	* regformats/i386/amd64-avx-linux.dat: Likewise.
+	* regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
+	* regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
+	* regformats/i386/amd64-linux.dat: Likewise.
+	* regformats/i386/amd64-mpx-linux.dat: Likewise.
+	* regformats/i386/amd64.dat: Likewise.
+	* regformats/i386/i386-avx-avx512-linux.dat: Likewise.
+	* regformats/i386/i386-avx-linux.dat: Likewise.
+	* regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
+	* regformats/i386/i386-avx-mpx-linux.dat: Likewise.
+	* regformats/i386/i386-linux.dat: Likewise.
+	* regformats/i386/i386-mmx-linux.dat: Likewise.
+	* regformats/i386/i386-mpx-linux.dat: Likewise.
+	* regformats/i386/i386.dat: Likewise.
+	* regformats/i386/x32-avx-avx512-linux.dat: Likewise.
+	* regformats/i386/x32-avx-linux.dat: Likewise.
+	* regformats/i386/x32-linux.dat: Likewise.
+	* regformats/tic6x-c62x-linux.dat: Likewise.
+	* regformats/tic6x-c64x-linux.dat: Likewise.
+	* regformats/tic6x-c64xp-linux.dat: Likewise.
+	* regformats/regdat.sh: Parse feature marker.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* common/tdesc.h (tdesc_architecture_name): Add new declaration.
+	(tdesc_osabi_name): Likewise.
+	* target-descriptions.c (tdesc_architecture_name): Add new
+	function.
+	(tdesc_osabi_name): Likewise.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* common/tdesc.c (tdesc_predefined_type): Move to here.
+	(tdesc_named_type): Likewise.
+	(tdesc_create_vector): Likewise.
+	(tdesc_create_struct): Likewise.
+	(tdesc_set_struct_size): Likewise.
+	(tdesc_create_union): Likewise.
+	(tdesc_create_flags): Likewise.
+	(tdesc_create_enum): Likewise.
+	(tdesc_add_field): Likewise.
+	(tdesc_add_typed_bitfield): Likewise.
+	(tdesc_add_bitfield): Likewise.
+	(tdesc_add_flag): Likewise.
+	(tdesc_add_enum_value): Likewise.
+	* common/tdesc.h (struct tdesc_type_builtin): Likewise.
+	(struct tdesc_type_vector): Likewise.
+	(struct tdesc_type_field): Likewise.
+	(struct tdesc_type_with_fields): Likewise.
+	(tdesc_create_enum): Add declaration.
+	(tdesc_add_typed_bitfield): Likewise.
+	(tdesc_add_enum_value): Likewise.
+	* target-descriptions.c (tdesc_type_field): Move from here.
+	(tdesc_type_builtin): Likewise.
+	(tdesc_type_vector): Likewise.
+	(tdesc_type_with_fields): Likewise.
+	(tdesc_predefined_types): Likewise.
+	(tdesc_named_type): Likewise.
+	(tdesc_create_vector): Likewise.
+	(tdesc_create_struct): Likewise.
+	(tdesc_set_struct_size): Likewise.
+	(tdesc_create_union): Likewise.
+	(tdesc_create_flags): Likewise.
+	(tdesc_create_enum): Likewise.
+	(tdesc_add_field): Likewise.
+	(tdesc_add_typed_bitfield): Likewise.
+	(tdesc_add_bitfield): Likewise.
+	(tdesc_add_flag): Likewise.
+	(tdesc_add_enum_value): Likewise.
+	* gdb/target-descriptions.h (tdesc_create_enum): Likewise.
+	(tdesc_add_typed_bitfield): Likewise.
+	(tdesc_add_enum_value): Likewise.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* common/tdesc.c (tdesc_feature::accept): Move to here.
+	(tdesc_feature::operator==): Likewise.
+	(tdesc_create_reg): Likewise.
+	* common/tdesc.h (tdesc_type_kind): Likewise.
+	(struct tdesc_type): Likewise.
+	(struct tdesc_feature): Likewise.
+	* regformats/regdat.sh: Create a feature.
+	* target-descriptions.c (tdesc_type_kind): Move from here.
+	(tdesc_type): Likewise.
+	(tdesc_type_up): Likewise.
+	(tdesc_feature): Likewise.
+	(tdesc_create_reg): Likewise.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* Makefile.in: Add arch/tdesc.c
+	* common/tdesc.c: New file.
+	* common/tdesc.h (tdesc_element_visitor): Move to here.
+	(tdesc_element): Likewise.
+	(tdesc_reg): Likewise.
+	(tdesc_reg_up): Likewise.
+	* regformats/regdef.h (reg): Add offset to constructors.
+	* target-descriptions.c (tdesc_element_visitor): Move from here.
+	(tdesc_element): Likewise.
+	(tdesc_reg): Likewise.
+	(tdesc_reg_up): Likewise.
+
+2018-04-17  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (quirk_rust_enum): Conditionally drop the
+	discriminant field.
+
+2018-04-17  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (quirk_rust_enum): Handle unions correctly.
+
+2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* symtab.c (print_symbol_info): Skip printing filename and line
+	number when `last' is NULL.
+	(symtab_symbol_info): Use empty string instead of NULL for first
+	invocation of print_symbol_info.
+	(rbreak_command): Pass NULL to `last' parameter of
+	print_symbol_info.
+
+2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
+	instead of nullptr.
+
+2018-04-16  Pedro Alves  <palves@redhat.com>
+
+	* MAINTAINERS (sh): Remove.
+	* Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
+	(HFILES_NO_SRCDIR): Remove sh64-tdep.h.
+	(ALLDEPFILES): Remove sh64-tdep.c.
+	* NEWS: Mentions that support for SH-5/SH64 is removed.
+	* configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
+	(sh*-*-openbsd*): Ditto.
+	(sh64-*-elf*): Remove.
+	(sh*): Remove.
+	* regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
+	* sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
+	* sh-tdep.c: No longer include "sh64-tdep.h".
+	(sh_gdbarch_init): Remove reference to bfd_mach_sh5.
+	* sh64-tdep.c, sh64-tdep.h: Remove files.
+
+2018-04-16  Pedro Alves  <palves@redhat.com>
+
+	* MAINTAINERS: Remove m88k.
+	* Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
+	(HFILES_NO_SRCDIR): Remove m88k-tdep.h.
+	(ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
+	* NEWS: Mention that support for m88k was removed.
+	* configure.host (m88*-*-*): Remove support.
+	* configure.nat (m88k-*-*): Remove support.
+	* configure.tgt (m88*-*-openbsd*): Remove.
+	* m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
+
+2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* configure.tgt (x86_tobjs): New variable.
+	(amd64_tobjs, i386_tobjs): Use it.
+
+2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* symtab.c (print_symbol_info): Precede the symbol definition by
+	the line number when available.
+	* NEWS: Advertise this enhancement.
+
+2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* NEWS (New options): announce set/show record btrace cpu.
+	* btrace.c: Include record-btrace.h.
+	(btrace_compute_ftrace_pt): Skip enabling errata workarounds if
+	the vendor is unknown.
+	(btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
+	Maybe overwrite the btrace configuration's cpu.
+	(btrace_compute_ftrace): Add cpu parameter.  Update callers.
+	(btrace_fetch): Add cpu parameter.  Update callers.
+	(btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
+	Maybe overwrite the btrace configuration's cpu.  Skip enabling
+	errata workarounds if the vendor is unknown.
+	* python/py-record-btrace.c: Include record-btrace.h.
+	(recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
+	(recpy_bt_function_call_history): Call record_btrace_get_cpu.
+	* record-btrace.c (record_btrace_cpu_state_kind): New.
+	(record_btrace_cpu): New.
+	(set_record_btrace_cpu_cmdlist): New.
+	(record_btrace_get_cpu): New.
+	(require_btrace_thread, record_btrace_info)
+	(record_btrace_resume_thread): Call record_btrace_get_cpu.
+	(cmd_set_record_btrace_cpu_none): New.
+	(cmd_set_record_btrace_cpu_auto): New.
+	(cmd_set_record_btrace_cpu): New.
+	(cmd_show_record_btrace_cpu): New.
+	(_initialize_record_btrace): Initialize set/show record btrace cpu
+	commands.
+	* record-btrace.h (record_btrace_get_cpu): New.
+
+2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record.c (set_record_command): Fix typo in message.
+
+2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (cmd_set_record_btrace): Print sub-commands.
+
+2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* infrun.c (process_event_stop_test): Call
+	gdbarch_in_indirect_branch_thunk.
+	* gdbarch.sh (in_indirect_branch_thunk): New.
+	* gdbarch.c: Regenerated.
+	* gdbarch.h: Regenerated.
+	* x86-tdep.h: New.
+	* x86-tdep.c: New.
+	* Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
+	(HFILES_NO_SRCDIR): Add x86-tdep.h.
+	(ALLDEPFILES): Add x86-tdep.c.
+	* arch-utils.h (default_in_indirect_branch_thunk): New.
+	* arch-utils.c (default_in_indirect_branch_thunk): New.
+	* i386-tdep: Include x86-tdep.h.
+	(i386_in_indirect_branch_thunk): New.
+	(i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
+	function.
+	* amd64-tdep: Include x86-tdep.h.
+	(amd64_in_indirect_branch_thunk): New.
+	(amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
+
 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
 	PR gdb/23053
-	* dwarf2read.c (data_buf::grow) (write_one_signatured_type)
+	* dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
 	(recursively_write_psymbols) (debug_names::recursively_write_psymbols)
 	(debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
 	regression.
 
+2018-04-12  Tom Tromey  <tom@tromey.com>
+
+	* rust-lang.c (rust_print_struct_def): Remove univariant code.
+	(rust_evaluate_subexp): Likewise.
+
+2018-04-12  Pedro Alves  <palves@redhat.com>
+
+	* procfs.c (procfs_detach): Make forward declaration's prototype
+	match definition's protototype.
+	(proc_get_LDT_entry): Remove stale do_cleanups call.
+
+2018-04-12  Pedro Alves  <palves@redhat.com>
+
+	* target.h (target_ops::to_has_exited): Delete.
+	(target_has_exited): Delete.
+	* target-delegates.c: Regenerate.
+
+2018-04-11  Pedro Alves  <palves@redhat.com>
+
+	* target.c (fileio_fh_t::t): Add comment.
+	(target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
+	(target_fileio_close): Handle a NULL target.
+	(invalidate_fileio_fh): New.
+	(target_close): Call it.
+	* remote.c (remote_hostio_send_command): No longer check whether
+	remote_desc is open.
+
+2018-04-11  Pedro Alves  <palves@redhat.com>
+
+	* target.c (fileio_fh_t): Make it a named struct instead of a
+	typedef.
+	(fileio_fh_t::is_closed): New method.
+	(DEF_VEC_O (fileio_fh_t)): Remove.
+	(fileio_fhandles): Now a std::vector.
+	(is_closed_fileio_fh): Delete.
+	(acquire_fileio_fd): Adjust.  Rename parameters.
+	(release_fileio_fd): Adjust.
+	(fileio_fd_to_fh): Reimplement as a function instead of a macro.
+	(target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
+	(target_fileio_close): Adjust.
+
+2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* auto-load.c (auto_load_safe_path_vec_update): Iterate by
+	index.
+
+2018-04-10  Pedro Alves  <palves@redhat.com>
+
+	* gdbthread.h (finish_thread_state_cleanup): Delete declaration.
+	(scoped_finish_thread_state): New class.
+	* infcmd.c (run_command_1): Use it instead of finish_thread_state
+	cleanup.
+	* infrun.c (proceed, prepare_for_detach, wait_for_inferior)
+	(fetch_inferior_event, normal_stop): Likewise.
+	* thread.c (finish_thread_state_cleanup): Delete.
+
+2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
+	    Pedro Alves  <palves@redhat.com>
+
+	* value.c: Include "selftest.h" and "common/array-view.h".
+	(struct range) <operator ==>: New.
+	(test_ranges_contain): New.
+	(check_ranges_vector): New.
+	(test_insert_into_bit_range_vector): New.
+	(_initialize_values): Register selftests.
+	* common/array-view.h (operator==, operator!=): New.
+
+2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* common/gdb_vecs.h (unordered_remove): Add overload that takes
+	an iterator.
+	* inline-frame.c: Include <algorithm>.
+	(struct inline_state): Add constructor.
+	(inline_state_s): Remove.
+	(DEF_VEC_O(inline_state_s)): Remove.
+	(inline_states): Change type to std::vector.
+	(find_inline_frame_state): Adjust to std::vector.
+	(allocate_inline_frame_state): Remove.
+	(clear_inline_frame_state): Adjust to std::vector.
+	(skip_inline_frames): Adjust to std::vector.
+
+2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* tracepoint.h (struct trace_state_variable): Add constructor.
+	<name>: Change type to std::string.
+	* tracepoint.c (tsv_s): Remove.
+	(DEF_VEC_O(tsv_s)): Remove.
+	(tvariables): Change to std::vector.
+	(create_trace_state_variable): Adjust to std::vector.
+	(find_trace_state_variable): Likewise.
+	(find_trace_state_variable_by_number): Likewise.
+	(delete_trace_state_variable): Likewise.
+	(trace_variable_command): Adjust to std::string.
+	(delete_trace_variable_command): Likewise.
+	(tvariables_info_1): Adjust to std::vector.
+	(save_trace_state_variables): Likewise.
+	(start_tracing): Likewise.
+	(merge_uploaded_trace_state_variables): Adjust to std::vector
+	and std::string.
+	* target.h (struct target_ops)
+	<to_download_trace_state_variable>: Pass reference to
+	trace_state_variable.
+	* target-debug.h (target_debug_print_const_trace_state_variable_r): New.
+	* target-delegates.c: Re-generate.
+	* mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
+	(mi_tsv_deleted): Likewise.
+	* mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
+	* remote.c (remote_download_trace_state_variable): Change
+	pointer to reference and adjust.
+	* make-target-delegates (parse_argtypes): Handle references.
+	(write_function_header): Likewise.
+	(munge_type): Likewise.
+
+2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+	string_view-selftests.c.
+	* unittests/basic_string_view/capacity/1.cc: Adapt to GDB
+	testsuite.
+	* unittests/basic_string_view/cons/char/1.cc: Likewise.
+	* unittests/basic_string_view/cons/char/2.cc: Likewise.
+	* unittests/basic_string_view/cons/char/3.cc: Likewise.
+	* unittests/basic_string_view/element_access/char/1.cc:
+	Likewise.
+	* unittests/basic_string_view/element_access/char/empty.cc:
+	Likewise.
+	* unittests/basic_string_view/element_access/char/front_back.cc:
+	Likewise.
+	* unittests/basic_string_view/inserters/char/2.cc: Likewise.
+	* unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
+	Likewise.
+	* unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
+	Likewise.
+	* unittests/basic_string_view/modifiers/swap/char/1.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/compare/char/1.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/compare/char/13650.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/copy/char/1.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/data/char/1.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/find/char/1.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/find/char/2.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/find/char/3.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/find/char/4.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/rfind/char/1.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/rfind/char/2.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/rfind/char/3.cc:
+	Likewise.
+	* unittests/basic_string_view/operations/substr/char/1.cc:
+	Likewise.
+	* unittests/basic_string_view/operators/char/2.cc: Likewise.
+	* unittests/string_view-selftests.c: New file.
+
+2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* unittests/basic_string_view/capacity/1.cc: New file.
+	* unittests/basic_string_view/capacity/empty_neg.cc: New file.
+	* unittests/basic_string_view/cons/char/1.cc: New file.
+	* unittests/basic_string_view/cons/char/2.cc: New file.
+	* unittests/basic_string_view/cons/char/3.cc: New file.
+	* unittests/basic_string_view/cons/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/cons/wchar_t/2.cc: New file.
+	* unittests/basic_string_view/cons/wchar_t/3.cc: New file.
+	* unittests/basic_string_view/element_access/char/1.cc: New file.
+	* unittests/basic_string_view/element_access/char/2.cc: New file.
+	* unittests/basic_string_view/element_access/char/empty.cc: New file.
+	* unittests/basic_string_view/element_access/char/front_back.cc: New file.
+	* unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
+	* unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
+	* unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
+	* unittests/basic_string_view/include.cc: New file.
+	* unittests/basic_string_view/inserters/char/1.cc: New file.
+	* unittests/basic_string_view/inserters/char/2.cc: New file.
+	* unittests/basic_string_view/inserters/char/3.cc: New file.
+	* unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
+	* unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
+	* unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
+	* unittests/basic_string_view/literals/types.cc: New file.
+	* unittests/basic_string_view/literals/values.cc: New file.
+	* unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
+	* unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
+	* unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
+	* unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/operations/compare/char/1.cc: New file.
+	* unittests/basic_string_view/operations/compare/char/13650.cc: New file.
+	* unittests/basic_string_view/operations/compare/char/2.cc: New file.
+	* unittests/basic_string_view/operations/compare/char/70483.cc: New file.
+	* unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
+	* unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
+	* unittests/basic_string_view/operations/copy/char/1.cc: New file.
+	* unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/operations/data/char/1.cc: New file.
+	* unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/operations/find/char/1.cc: New file.
+	* unittests/basic_string_view/operations/find/char/2.cc: New file.
+	* unittests/basic_string_view/operations/find/char/3.cc: New file.
+	* unittests/basic_string_view/operations/find/char/4.cc: New file.
+	* unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
+	* unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
+	* unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
+	* unittests/basic_string_view/operations/rfind/char/1.cc: New file.
+	* unittests/basic_string_view/operations/rfind/char/2.cc: New file.
+	* unittests/basic_string_view/operations/rfind/char/3.cc: New file.
+	* unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
+	* unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
+	* unittests/basic_string_view/operations/string_conversion/1.cc: New file.
+	* unittests/basic_string_view/operations/substr/char/1.cc: New file.
+	* unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/operators/char/2.cc: New file.
+	* unittests/basic_string_view/operators/wchar_t/2.cc: New file.
+	* unittests/basic_string_view/range_access/char/1.cc: New file.
+	* unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
+	* unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
+	* unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
+	* unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
+	* unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
+	* unittests/basic_string_view/requirements/typedefs.cc: New file.
+	* unittests/basic_string_view/typedefs.cc: New file.
+	* unittests/basic_string_view/types/1.cc: New file.
+
+2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* common/gdb_string_view.h: Remove libstdc++ implementation
+	details, adjust to gdb reality.
+	* common/gdb_string_view.tcc: Likewise.
+	* cli/cli-script.c (struct string_view): Remove.
+	(user_args) <m_args>: Change element type to gdb::string_view.
+	(user_args::insert_args): Adjust.
+
+2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* common/gdb_string_view.h: New file.
+	* common/gdb_string_view.tcc: New file.
+
+2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* ax_cxx_compile_stdcxx.m4: Sync with upstream.
+	* configure: Re-generate.
+
+2018-04-09  Pedro Alves  <palves@redhat.com>
+
+	* gdbarch.sh: Include "observable.h" instead of "observer.h".
+	(set_target_gdbarch): Call
+	gdb::observers::architecture_changed.notify instead of
+	observer_notify_architecture_changed.
+
+2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* tracepoint.c (struct current_traceframe_cleanup): Remove.
+	(do_restore_current_traceframe_cleanup): Remove.
+	(restore_current_traceframe_cleanup_dtor): Remove.
+	(make_cleanup_restore_current_traceframe): Remove.
+	(scoped_restore_current_traceframe::scoped_restore_current_traceframe):
+	New.
+	* tracepoint.h (struct scoped_restore_current_traceframe): New.
+	* infrun.c (fetch_inferior_event): Use
+	scoped_restore_current_traceframe.
+
+2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
+	Remove.
+	<n_allocated_type_units>: Remove.
+	<all_type_units>: Change to std::vector.
+	* dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
+	to std::vector change.
+	(dwarf2_per_objfile::get_cutu): Likewise.
+	(dwarf2_per_objfile::get_tu): Likewise.
+	(create_signatured_type_table_from_index): Likewise.
+	(create_signatured_type_table_from_debug_names): Likewise.
+	(dw2_symtab_iter_next): Likewise.
+	(dw2_print_stats): Likewise.
+	(dw2_expand_all_symtabs): Likewise.
+	(dw2_expand_marked_cus): Likewise.
+	(dw2_debug_names_iterator::next): Likewise.
+	(dwarf2_initialize_objfile): Likewise.
+	(add_signatured_type_cu_to_table): Likewise.
+	(create_all_type_units): Likewise.
+	(add_type_unit): Likewise.
+	(struct tu_abbrev_offset): Add constructor.
+	(build_type_psymtabs_1): Adjust to std::vector change.
+	(print_tu_stats): Likewise.
+	* dwarf-index-write.c (check_dwarf64_offsets): Likewise.
+	(write_debug_names): Likewise.
+
+2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
+	Make an std::vector.
+	<n_comp_units>: Remove.
+	* dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
+	to std::vector change.
+	(dwarf2_per_objfile::get_cutu): Likewise.
+	(dwarf2_per_objfile::get_cu): Likewise.
+	(create_cus_from_index): Likewise.
+	(create_addrmap_from_index): Likewise.
+	(create_addrmap_from_aranges): Likewise.
+	(dwarf2_read_index): Likewise.
+	(dw2_find_last_source_symtab): Likewise.
+	(dw2_map_symtabs_matching_filename): Likewise.
+	(dw2_symtab_iter_next): Likewise.
+	(dw2_print_stats): Likewise.
+	(dw2_expand_all_symtabs): Likewise.
+	(dw2_expand_symtabs_with_fullname): Likewise.
+	(dw2_expand_marked_cus): Likewise.
+	(dw2_map_symbol_filenames): Likewise.
+	(create_cus_from_debug_names): Likewise.
+	(dwarf2_read_debug_names): Likewise.
+	(dw2_debug_names_iterator::next): Likewise.
+	(dwarf2_initialize_objfile): Likewise.
+	(set_partial_user): Likewise.
+	(dwarf2_build_psymtabs_hard): Likewise.
+	(read_comp_units_from_section): Remove arguments, adjust to
+	std::vector change.
+	(create_all_comp_units): Adjust to std::vector and
+	read_comp_units_from_section changes.
+	(dwarf2_find_containing_comp_unit): Adjust to std::vector
+	change.
+	* dwarf-index-write.c (check_dwarf64_offsets): Likewise.
+	(psyms_seen_size): Likewise.
+	(write_gdbindex): Likewise.
+	(write_debug_names): Likewise.
+
+2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* dwarf2read.c (create_cus_from_index_list): Replace objfile arg
+	with dwarf2_per_objfile.
+	(create_cus_from_index): Likewise.
+	(create_signatured_type_table_from_index): Likewise.
+	(dwarf2_read_index): Likewise.
+	(dwarf2_initialize_objfile): Likewise.
+	(dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
+	per_cu rather than get_dwarf2_per_objfile.
+
+2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* dwarf2read.h (struct signatured_type): Forward declare.
+	(struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
+	New methods.
+	* dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
+	(dw2_get_cutu): ...this.
+	(dwarf2_per_objfile::get_cu): Rename from...
+	(dw2_get_cu): ...this.
+	(dwarf2_per_objfile::get_tu): New.
+	(create_addrmap_from_index): Adjust.
+	(create_addrmap_from_aranges): Adjust.
+	(dw2_find_last_source_symtab): Adjust.
+	(dw2_map_symtabs_matching_filename): Adjust.
+	(dw2_symtab_iter_next): Adjust.
+	(dw2_print_stats): Adjust.
+	(dw2_expand_all_symtabs): Adjust.
+	(dw2_expand_symtabs_with_fullname): Adjust.
+	(dw2_expand_marked_cus): Adjust.
+	(dw_expand_symtabs_matching_file_matcher): Adjust.
+	(dw2_map_symbol_filenames): Adjust.
+	(dw2_debug_names_iterator::next): Adjust.
+	(dwarf2_initialize_objfile): Adjust.
+	(set_partial_user): Adjust.
+	(dwarf2_build_psymtabs_hard): Adjust.
+
+2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* dwarf2read.c (create_signatured_type_table_from_debug_names):
+	Remove unused variables.
+	(dw2_map_symtabs_matching_filename): Likewise.
+	(dwarf2_record_block_ranges): Likewise.
+	(dwarf2_read_addr_index): Likewise.
+	(follow_die_offset): Likewise.
+
+2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
+	to symbol_file_add_main.
+
+2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	PR mi/22299
+	* mi/mi-console.c (do_fputc_async_safe): New.
+	(mi_console_file::write_async_safe): New.
+	(mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
+	* mi/mi-console.h (class mi_console_file) <write_async_safe>:
+	New.
+	* ui-file.c (ui_file::putstrn): Adjust call to
+	fputstrn_unfiltered.
+	* utils.c (printchar): Replace do_fputs and do_fprintf
+	parameters by do_fputc.
+	(fputstr_filtered): Adjust call to printchar.
+	(fputstr_unfiltered): Likewise.
+	(fputstrn_filtered): Likewise.
+	(fputstrn_unfiltered): Add do_fputc parameter, pass to
+	printchar.
+	* utils.h (do_fputc_ftype): New typedef.
+	(fputstrn_unfiltered): Add do_fputc parameter.
+
+2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* regformats/i386/i386-avx.dat: Remove.
+
+2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
+
+	PR gdb/22979
+	* amd64-tdep.c (amd64_none_init_abi): New function.
+	(amd64_x32_none_init_abi): New function.
+	(_initialize_amd64_tdep): Register handlers for x86-64 and
+	x64_32 with GDB_OSABI_NONE.
+	* osabi.c (gdbarch_init_osabi): Allow running handlers for the
+	GDB_OSABI_NONE osabi.
+
+2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
+
+	PR gdb/22980
+	* defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
+	GDB_OSABI_NONE.
+	* arch-utils.c (gdbarch_info_init): Don't set info->osabi.
+	* osabi.c (gdb_osabi_names): Add "unknown" entry.
+
+2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* common/byte-vector.h (char_vector): New type.
+	* target.h (target_read_alloc): Return
+	gdb::optional<byte_vector>.
+	(target_read_stralloc): Return gdb::optional<char_vector>.
+	(target_get_osdata): Return gdb::optional<char_vector>.
+	* target.c (target_read_alloc_1): Templatize.  Replacement
+	manual memory management with vector.
+	(target_read_alloc): Change return type, adjust.
+	(target_read_stralloc): Change return type, adjust.
+	(target_get_osdata): Change return type, adjust.
+	* auxv.c (struct auxv_info) <length>: Remove.
+	<data>: Change type to gdb::optional<byte_vector>.
+	(auxv_inferior_data_cleanup): Free auxv_info with delete.
+	(get_auxv_inferior_data): Allocate auxv_info with new, adjust.
+	(target_auxv_search): Adjust.
+	(fprint_target_auxv): Adjust.
+	* avr-tdep.c (avr_io_reg_read_command): Adjust.
+	* linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
+	(linux_make_corefile_notes): Adjust.
+	* osdata.c (get_osdata): Adjust.
+	* remote.c (remote_get_threads_with_qxfer): Adjust.
+	(remote_memory_map): Adjust.
+	(remote_traceframe_info): Adjust.
+	(btrace_read_config): Adjust.
+	(remote_read_btrace): Adjust.
+	(remote_pid_to_exec_file): Adjust.
+	* solib-aix.c (solib_aix_get_library_list): Adjust.
+	* solib-dsbt.c (decode_loadmap): Don't free buf.
+	(dsbt_get_initial_loadmaps): Adjust.
+	* solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
+	* solib-target.c (solib_target_current_sos): Adjust.
+	* tracepoint.c (sdata_make_value): Adjust.
+	* xml-support.c (xinclude_start_include): Adjust.
+	(xml_fetch_content_from_file): Adjust.
+	* xml-support.h (xml_fetch_another): Change return type.
+	(xml_fetch_content_from_file): Change return type.
+	* xml-syscall.c (xml_init_syscalls_info): Adjust.
+	* xml-tdesc.c (file_read_description_xml): Adjust.
+	(fetch_available_features_from_target): Change return type.
+	(target_fetch_description_xml): Adjust.
+	(target_read_description_xml): Adjust.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* value.c (~value): Update.
+	(struct value) <contents>: Now unique_xmalloc_ptr.
+	(value_contents_bits_eq, allocate_value_contents)
+	(value_contents_raw, value_contents_all_raw)
+	(value_contents_for_printing, value_contents_for_printing_const)
+	(set_value_enclosing_type): Update.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* value.c (range_s): Remove typedef, VEC.
+	(struct range): Add operator<.
+	(range_lessthan): Remove.
+	(ranges_contain): Change type.
+	(~value): Update.
+	(struct value) <unavailable, optimized_out>: Now std::vector.
+	(value_entirely_available)
+	(value_entirely_covered_by_range_vector)
+	(value_entirely_unavailable, value_entirely_optimized_out):
+	Update.
+	(insert_into_bit_range_vector): Change argument type.
+	(find_first_range_overlap): Likewise.
+	(struct ranges_and_idx, value_contents_bits_eq)
+	(require_not_optimized_out, require_available): Update.
+	(ranges_copy_adjusted): Change argument types.
+	(value_optimized_out, value_copy, value_fetch_lazy): Update.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* value.c (~value): Update.
+	(struct value) <parent>: Now a value_ref_ptr.
+	(value_parent, set_value_parent, value_address, value_copy):
+	Update.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* value.c (struct value): Add constructor, destructor, and member
+	initializers.
+	(allocate_value_lazy, value_decref): Update.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* value.c (struct value) <released, next>: Remove.
+	(all_values): Now a std::vector.
+	(allocate_value_lazy): Update.
+	(value_next): Remove.
+	(value_mark, value_free_to_mark, release_value)
+	(value_release_to_mark): Update.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* value.h (fetch_subexp_value, value_release_to_mark): Update.
+	(free_value_chain): Remove.
+	* value.c (free_value_chain): Remove.
+	(value_release_to_mark): Return a std::vector.
+	* ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
+	std::vector.
+	(check_condition): Update.
+	* eval.c (fetch_subexp_value): Change "val_chain" to a
+	std::vector.
+	* breakpoint.c (update_watchpoint): Update.
+	(can_use_hardware_watchpoint): Change "vals" to a std::vector.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* value.h (free_all_values): Remove.
+	* value.c (free_all_values): Remove.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
+	(value_history_chain, value_history_count): Remove.
+	(value_history): New global.
+	(record_latest_value, access_value_history, show_values)
+	(preserve_values): Update.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* varobj.h (struct varobj) <value>: Now a value_ref_ptr.
+	* varobj.c (varobj_set_display_format, varobj_set_value)
+	(install_default_visualizer, construct_visualizer)
+	(install_new_value, ~varobj, varobj_get_value_type)
+	(my_value_of_variable, varobj_editable_p): Update.
+	* c-varobj.c (c_describe_child, c_value_of_variable)
+	(cplus_number_of_children, cplus_describe_child): Update.
+	* ada-varobj.c (ada_number_of_children, ada_name_of_child)
+	(ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
+	(ada_value_of_variable, ada_value_is_changeable_p): Update.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* printcmd.c (last_examine_address): Change type to
+	value_ref_ptr.
+	(do_examine, x_command): Update.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* value.c (release_value): Update.
+	* breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
+	(struct bpstats) <val>: Now a value_ref_ptr.
+	* breakpoint.c (update_watchpoint, breakpoint_init_inferior)
+	(~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
+	(~watchpoint, print_it_watchpoint, watch_command_1)
+	(invalidate_bp_value_on_memory_change): Update.
+
+2018-04-06  Tom Tromey  <tom@tromey.com>
+
+	* varobj.c (varobj_clear_saved_item)
+	(update_dynamic_varobj_children, install_new_value, ~varobj):
+	Update.
+	* value.h (value_incref): Move declaration earlier.
+	(value_decref): Rename from value_free.
+	(struct value_ref_policy): New.
+	(value_ref_ptr): New typedef.
+	(struct value_deleter): Remove.
+	(gdb_value_up): Remove typedef.
+	(release_value): Change return type.
+	(release_value_or_incref): Remove.
+	* value.c (set_value_parent): Update.
+	(value_incref): Change return type.
+	(value_decref): Rename from value_free.
+	(value_free_to_mark, free_all_values, free_value_chain): Update.
+	(release_value): Return value_ref_ptr.
+	(release_value_or_incref): Remove.
+	(record_latest_value, set_internalvar, clear_internalvar):
+	Update.
+	* stack.c (info_frame_command): Don't call value_free.
+	* python/py-value.c (valpy_dealloc, valpy_new)
+	(value_to_value_object): Update.
+	* printcmd.c (do_examine): Update.
+	* opencl-lang.c (lval_func_free_closure): Update.
+	* mi/mi-main.c (register_changed_p): Don't call value_free.
+	* mep-tdep.c (mep_frame_prev_register): Don't call value_free.
+	* m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
+	* m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
+	value_free.
+	* guile/scm-value.c (vlscm_free_value_smob)
+	(vlscm_scm_from_value): Update.
+	* frame.c (frame_register_unwind, frame_unwind_register_signed)
+	(frame_unwind_register_unsigned, get_frame_register_bytes)
+	(put_frame_register_bytes): Don't call value_free.
+	* findvar.c (address_from_register): Don't call value_free.
+	* dwarf2read.c (dwarf2_compute_name): Don't call value_free.
+	* dwarf2loc.c (entry_data_value_free_closure)
+	(value_of_dwarf_reg_entry, free_pieced_value_closure)
+	(dwarf2_evaluate_loc_desc_full): Update.
+	* breakpoint.c (update_watchpoint, breakpoint_init_inferior)
+	(~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
+	(~watchpoint, watch_command_1)
+	(invalidate_bp_value_on_memory_change): Update.
+	* alpha-tdep.c (alpha_register_to_value): Don't call value_free.
+
+2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	PR gdb/23022
+	* warning.m4: Add -Wno-error=deprecated-register.
+	* configure: Re-generate.
+
+2018-04-05  Tom Tromey  <tom@tromey.com>
+
+	* linespec.h: Remove include of "vec.h".
+
+2018-04-05  Tom Tromey  <tom@tromey.com>
+
+	* linespec.c (typep): Remove typedef.
+	(find_methods, find_superclass_methods): Take a std::vector.
+	(find_method): Use std::vector.
+
+2018-04-05  Tom Tromey  <tom@tromey.com>
+
+	* utils.c (compare_strings): Remove.
+	* utils.h (compare_strings): Remove.
+	* objc-lang.h (find_imps): Update.
+	* objc-lang.c (find_methods): Take a std::vector.
+	(uniquify_strings, find_imps): Likewise.
+	* linespec.c (find_methods): Take a std::vector.
+	(decode_objc): Use std::vector.
+	(add_all_symbol_names_from_pspace, find_superclass_methods): Take
+	a std::vector.
+	(find_method, find_function_symbols): Use std::vector.
+
+2018-04-05  Tom Tromey  <tom@tromey.com>
+
+	* completer.c (completion_tracker::completion_tracker): Remove
+	cast.
+	(completion_tracker::discard_completions): Likewise.
+	* breakpoint.c (ambiguous_names_p): Remove cast.
+	* ada-lang.c (_initialize_ada_language): Remove cast.
+	* utils.h (streq): Update.
+	(streq_hash): Add new declaration.
+	* utils.c (streq): Return bool.
+	(streq_hash): New function.
+
+2018-04-05  Tom Tromey  <tom@tromey.com>
+
+	* linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
+	Remove a string copy.
+
+2018-04-05  Tom Tromey  <tom@tromey.com>
+
+	* linespec.c (filter_results): Use std::vector.
+	(decode_line_2, decode_line_full): Update.
+
+2018-04-05  Tom Tromey  <tom@tromey.com>
+
+	* linespec.c (canonical_to_fullform): Return std::string.
+	(filter_results): Update.
+	(struct decode_line_2_item): Add constructor.
+	<fullform, displayform>: Now std::string.
+	(decode_line_2_compare_items): Now a std::sort comparator.
+	(decode_line_2): Update.
+
+2018-04-05  Tom Tromey  <tom@tromey.com>
+
+	* linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
+	(unexpected_linespec_error): Update.
+	(linespec_parse_basic, parse_linespec): Update.
+
+2018-04-05  Tom Tromey  <tom@tromey.com>
+
+	* linespec.c (linespec_parse_basic): Reindent.
+
+2018-04-05  Tom Tromey  <tom@tromey.com>
+
+	* minsyms.h (iterate_over_minimal_symbols): Update.
+	* minsyms.c (iterate_over_minimal_symbols): Take a
+	gdb::function_view.
+	* linespec.c (struct collect_minsyms): Remove.
+	(compare_msyms): Now a std::sort comparator.
+	(add_minsym): Add parameters.
+	(search_minsyms_for_name): Update.  Use std::vector.
+
+2018-04-03  Tom Tromey  <tom@tromey.com>
+
+	* mipsread.c (read_alphacoff_dynamic_symtab): Use
+	gdb::byte_vector.
+
+2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
+
+	* MAINTAINERS (Write After Approval): Add Weimin Pan.
+
+2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
+
+	PR gdb/16959
+	* cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
+	printing static type.
+
+2018-04-01  Tom Tromey  <tom@tromey.com>
+
+	* rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
+	(rs6000_xfer_shared_libraries): Update.
+
+2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* common/gdb_vecs.h (char_ptr): Remove.
+	* tracepoint.c (encode_actions_1): Remove usage of char_ptr.
+
+2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
+	with std::vector.
+	* common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
+
+2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* tracepoint.h (struct uploaded_tp): Initialize fields.
+	<actions, step_actions, cmd_strings>: Change type to
+	std::vector<char *>.
+	* tracepoint.c (get_uploaded_tp): Allocate with new.
+	(free_uploaded_tps): Free with delete.
+	(parse_tracepoint_definition): Adjust to std::vector change.
+	* breakpoint.c (read_uploaded_action): Likewise.
+	(create_tracepoint_from_upload): Likewise.
+	* ctf.c (ctf_write_uploaded_tp): Likewise.
+	(SET_ARRAY_FIELD): Likewise.
+	* tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
+
+2018-03-30  Tom Tromey  <tom@tromey.com>
+
+	* solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
+	std::unique_ptr.
+	(svr4_keep_data_in_core): Update.
+	(svr4_read_so_list): Update.
+
+2018-03-30  Tom Tromey  <tom@tromey.com>
+
+	* windows-nat.c (handle_output_debug_string, handle_exception):
+	Update.
+	* target.h (target_read_string): Update.
+	* target.c (target_read_string): Change "string" to
+	unique_xmalloc_ptr.
+	* solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
+	Update.
+	* solib-frv.c (frv_current_sos): Update.
+	* solib-dsbt.c (dsbt_current_sos): Update.
+	* solib-darwin.c (darwin_current_sos): Update.
+	* linux-thread-db.c (inferior_has_bug): Update.
+	* expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
+	Update.  Remove alloca.
+	* ada-lang.c (ada_main_name): Update.
+
+2018-03-30  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
+	(struct dwo_file_deleter): New.
+	(dwo_file_up): New typedef.
+	(open_and_init_dwo_file): Use dwo_file_up.
+	(free_dwo_file_cleanup): Remove.
+
+2018-03-30  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
+	(free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
+
+2018-03-30  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (class free_cached_comp_units): New class.
+	(dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
+	(free_cached_comp_units): Remove function.
+
+2018-03-30  Tom Tromey  <tom@tromey.com>
+
+	* utils.h (make_cleanup_unpush_target): Remove.
+	* inf-ptrace.c (struct target_unpusher): New.
+	(target_unpush_up) New typedef.
+	(inf_ptrace_create_inferior, inf_ptrace_attach): Use
+	target_unpush_up.
+	* utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
+
+2018-03-27  Tom Tromey  <tom@tromey.com>
+
+	* utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
+
+2018-03-27  Pedro Alves  <palves@redhat.com>
+	    Tom Tromey  <tom@tromey.com>
+
+	* top.c (class gdb_readline_wrapper_cleanup): Add constructor,
+	destructor.  Now a class.
+	(gdb_readline_wrapper_cleanup): Remove function.
+	(gdb_readline_wrapper): Remove cleanups.
+
+2018-03-27  Tom Tromey  <tom@tromey.com>
+
+	* typeprint.h (struct type_print_options) <local_typedefs,
+	global_typedefs>: Remove "struct" keyword.
+	(class typedef_hash_table): New class.
+	(recursively_update_typedef_hash, add_template_parameters)
+	(create_typedef_hash, free_typedef_hash, copy_typedef_hash)
+	(find_typedef_in_hash): Don't declare.
+	* typeprint.c (struct typedef_hash_table): Move to typeprint.h.
+	(typedef_hash_table::recursively_update): Rename from
+	recursively_update_typedef_hash.  Now a member.
+	(typedef_hash_table::add_template_parameters): Rename from
+	add_template_parameters.  Now a member.
+	(typedef_hash_table::typedef_hash_table): Now a constructor;
+	rename from create_typedef_hash.
+	(typedef_hash_table::~typedef_hash_table): Now a destructor;
+	rename from free_typedef_hash.
+	(do_free_typedef_hash, make_cleanup_free_typedef_hash)
+	(do_free_global_table): Remove.
+	(typedef_hash_table::typedef_hash_table): New constructor; renamed
+	from copy_type_recursive.
+	(create_global_typedef_table): Remove.
+	(typedef_hash_table::find_global_typedef): Now a member of
+	typedef_hash_table.
+	(typedef_hash_table::find_typedef): Rename from
+	find_typedef_in_hash; now a member.
+	(whatis_exp): Update.
+	* extension.h (struct ext_lang_type_printers): Add constructor and
+	destructor.
+	(start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
+	declare.
+	* extension.c (ext_lang_type_printers::ext_lang_type_printers):
+	Now a constructor; rename from start_ext_lang_type_printers.
+	(ext_lang_type_printers): Now a destructor; rename from
+	free_ext_lang_type_printers.
+	* c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
+	Update.
+	(c_type_print_base_struct_union): Update.  Remove cleanups.
+
+2018-03-27  Tom Tromey  <tom@tromey.com>
+
+	* dwarf-index-write.c: Include <cmath>.
+
+2018-03-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* NEWS: Add entry describing new "set|show varsize-limit" command.
+	* ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
+	command.
+	* printcmd.c (_initialize_printcmd): Add "set var" alias of
+	"set variable".
+
+2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
+	dwarf-index-write.c
+	(HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
+	* dwarf-index-common.c: New file.
+	* dwarf-index-common.h: New file.
+	* dwarf-index-write.c: New file.
+	* dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
+	(struct dwarf2_section_info): Move from here.
+	(dwarf2_section_info_def): Likewise.
+	(DEF_VEC_O (dwarf2_section_info_def)): Likewise.
+	(offset_type): Likewise.
+	(DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
+	(DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
+	(DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
+	(byte_swap): Likewise.
+	(MAYBE_SWAP): Likewise.
+	(dwarf2_per_cu_ptr): Likewise.
+	(DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
+	(struct tu_stats): Likewise.
+	(struct dwarf2_per_objfile): Likewise.
+	(struct dwarf2_per_cu_data): Likewise.
+	(struct signatured_type): Likewise.
+	(sig_type_ptr): Likewise.
+	(DEF_VEC_P (sig_type_ptr)): Likewise.
+	(INDEX4_SUFFIX): Likewise.
+	(INDEX5_SUFFIX): Likewise.
+	(DEBUG_STR_SUFFIX): Likewise.
+	(dwarf2_read_section): Make non-static.
+	(mapped_index_string_hash): Move from here.
+	(dwarf5_djb_hash): Likewise.
+	(file_write): Likewise.
+	(class data_buf): Likewise.
+	(struct symtab_index_entry): Likewise.
+	(struct mapped_symtab): Likewise.
+	(find_slot): Likewise.
+	(hash_expand): Likewise.
+	(add_index_entry): Likewise.
+	(uniquify_cu_indices): Likewise.
+	(class c_str_view): Likewise.
+	(class c_str_view_hasher): Likewise.
+	(class vector_hasher): Likewise.
+	(write_hash_table): Likewise.
+	(psym_index_map): Likewise.
+	(struct addrmap_index_data): Likewise.
+	(add_address_entry): Likewise.
+	(add_address_entry_worker): Likewise.
+	(write_address_map): Likewise.
+	(symbol_kind): Likewise.
+	(write_psymbols): Likewise.
+	(struct signatured_type_index_data): Likewise.
+	(write_one_signatured_type): Likewise.
+	(recursively_count_psymbols): Likewise.
+	(recursively_write_psymbols): Likewise.
+	(class debug_names): Likewise.
+	(check_dwarf64_offsets): Likewise.
+	(psyms_seen_size): Likewise.
+	(write_gdbindex): Likewise.
+	(write_debug_names): Likewise.
+	(assert_file_size): Likewise.
+	(write_psymtabs_to_index): Likewise.
+	(save_gdb_index_command): Likewise.
+	(_initialize_dwarf2_read): Don't register the "save gdb-index"
+	command.
+	* dwarf2read.h: New file.
+
+2018-03-27  Joel Brobecker  <brobecker@adacore.com>
+
+	PR gdb/22670
+	* dwarf2read.c (dwarf2_physname): Do not return the demangled
+	symbol name if the CU's language stores symbol names in linkage
+	format.
+	* language.h (struct language_defn)
+	<la_store_sym_names_in_linkage_form_p>: New field.  Adjust
+	all instances of this struct.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	* stack.c (backtrace_command_1): Remove verbose code.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	* python/py-framefilter.c (py_print_type): Don't catch
+	exceptions.  Return void.
+	(py_print_value): Likewise.
+	(py_print_single_arg): Likewise.
+	(enumerate_args): Don't catch exceptions.
+	(py_print_args): Likewise.
+	(py_print_frame): Likewise.
+	(gdbpy_apply_frame_filter): Catch exceptions here.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	* stack.c (_initialize_stack): Remove trailing newlines from help
+	text.  Add "Usage" line to "backtrace" help.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	PR python/16486:
+	* python/py-framefilter.c (py_print_args): Call wrap_hint.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	* python/py-framefilter.c (py_print_single_arg): Return
+	EXT_LANG_BT_ERROR from catch.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	PR backtrace/15584:
+	* stack.c (backtrace_command_1): Move some code into no-filters
+	"if".
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	* python/py-framefilter.c (throw_quit_or_print_exception): New
+	function.
+	(gdbpy_apply_frame_filter): Use it.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	PR cli/17716:
+	* python/py-framefilter.c (py_print_type, py_print_value)
+	(enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
+	RETURN_MASK_ERROR.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	* python/py-framefilter.c (enumerate_args): Use
+	gdb::unique_xmalloc_ptr.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	* python/py-framefilter.c (py_print_frame): Return
+	EXT_LANG_BT_OK.
+	(gdbpy_apply_frame_filter): Update comment.
+	* extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
+	Remove.
+	<EXT_LANG_BT_NO_FILTERS>: Change value.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	PR backtrace/15582:
+	* stack.c (backtrace_command): Parse "hide" argument.
+	* python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
+	* extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
+	constant.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	* stack.c (backtrace_command_1): Remove "show_locals" parameter,
+	add "flags".
+	(backtrace_command): Remove "fulltrace", add "flags".
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	* stack.c (backtrace_command): Rewrite command line parsing.
+
+2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
+
+2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* filename-seen-cache.h: Add include guard.
+
+2018-03-26  Keith Seitz  <keiths@redhat.com>
+
+	* symfile.c (place_section): Remove "struct" from section_addr_info
+	in comment.
+	* windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
+	"struct" keyword from section_addr_info.
+
+2018-03-26  Alan Hayward  <alan.hayward@arm.com>
+
+	* regformats/regdef.h (reg): Add constructors.
+
+2018-03-25  Pedro Alves  <palves@redhat.com>
+
+	* eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
+	if then/else bodies in var_func_name extraction.
+
+2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
+
+	* minsyms.c (lookup_minimal_symbol_and_objfile): Use
+	lookup_minimal_symbol() to find symbol entry.
+	* minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
+
+2018-03-23  Keith Seitz  <keiths@redhat.com>
+
+	PR c++/22968
+	* dwarf2read.c (scan_partial_symbols): Scan structs/classes for
+	nested type definitions for C++, too.
+
+2018-03-23  Tom Tromey  <tom@tromey.com>
+
+	* machoread.c (struct oso_el): Add a constructor.  Don't define as
+	a typedef.
+	(macho_register_oso): Remove.
+	(macho_symtab_read): Take a std::vector.
+	(oso_el_compare_name): Now a std::sort comparator.
+	(macho_symfile_read_all_oso): Take a std::vector.
+	(macho_symfile_read): Use std::vector.  Remove cleanups.
+
+2018-03-22  Tom Tromey  <tom@tromey.com>
+
+	* record-full.c (record_full_exec_insn): Use gdb::byte_vector.
+	(record_full_goto_bookmark): Use std::string.
+
+2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	PR tdep/18295
+	* rs6000-tdep.c (skip_prologue): Match both stwux and stdux
+	a single mask.
+
+2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* rs6000-tdep.c (store_insn_p): New function.
+	(skip_prologue): New variable alloca_reg_offset. Set lr_reg
+	and cr_reg to their unshifted values. Use store_insn_p to
+	match LR saves using either R1 or fdata->alloca_reg. Use
+	store_insn_p to match CR saves. Set alloca_reg_offset
+	when alloca_reg and framep are set. Remove lr_reg shift
+	when assigning to fdata->lr_register.
+
+2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* linux-tdep.c (linux_info_proc): For "info proc cmdline", print
+	command line args instead of emitting a warning.
+
+2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* tracepoint.h (struct static_tracepoint_marker): Initialize
+	fields, define default constructor, move constructor and move
+	assignment, disable the rest.
+	<str_id, extra>: Make std::string.
+	(release_static_tracepoint_marker): Remove.
+	(free_current_marker): Remove.
+	* tracepoint.c (free_current_marker): Remove.
+	(parse_static_tracepoint_marker_definition): Adjust to
+	std::string, use new hex2str overload.
+	(release_static_tracepoint_marker): Remove.
+	(print_one_static_tracepoint_marker): Get marker by reference
+	and adjust to std::string.
+	(info_static_tracepoint_markers_command): Adjust to std::vector
+	changes
+	* target.h (static_tracepoint_marker_p): Remove typedef.
+	(DEF_VEC_P(static_tracepoint_marker_p)): Remove.
+	(struct target_ops) <to_static_tracepoint_marker_at>: Return
+	bool.
+	<to_static_tracepoint_markers_by_strid>: Return std::vector.
+	* target-debug.h
+	(target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
+	(target_debug_print_std_vector_static_tracepoint_marker): New.
+	(target_debug_print_struct_static_tracepoint_marker_p): Rename
+	to...
+	(target_debug_print_static_tracepoint_marker_p): ... this.
+	* target-delegates.c: Re-generate.
+	* breakpoint.h (struct tracepoint) <static_trace_marker_id>:
+	Make std::string.
+	* breakpoint.c (init_breakpoint_sal): Adjust to std::string.
+	(decode_static_tracepoint_spec): Adjust to std::vector.
+	(tracepoint_print_one_detail): Adjust to std::string.
+	(strace_marker_decode_location): Adjust to std::string.
+	(update_static_tracepoint): Adjust to std::string, remove call
+	to release_static_tracepoint_marker.
+	* linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
+	Adjust to std::vector.
+	* remote.c (remote_static_tracepoint_marker_at): Return bool.
+	(remote_static_tracepoint_markers_by_strid): Adjust to
+	std::vector.
+	* common/rsp-low.h (hex2str): New overload with explicit count
+	of bytes.
+	* common/rsp-low.c (hex2str): New overload with explicit count
+	of bytes.
+	* unittests/rsp-low-selftests.c (test_hex2str): New function.
+	(_initialize_rsp_low_selftests): Add test_hex2str test.
+	* unittests/tracepoint-selftests.c
+	(test_parse_static_tracepoint_marker_definition): Adjust to
+	std::string.
+
+2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* tracepoint.c (parse_static_tracepoint_marker_definition):
+	Consider case where the definition is followed by more
+	definitions.
+	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+	tracepoint-selftests.c.
+	* unittests/tracepoint-selftests.c: New.
+
+2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* MAINTAINERS (Write After Approval): Add Pedro Franco de
+	Carvalho.
+
+2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
+
+	* symtab.c (find_pc_sect_line): fixed indentation.
+
+2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
+
+	* symtab.c (find_pc_sect_line): now uses binary search.
+
+2018-03-19  Tom Tromey  <tom@tromey.com>
+
+	* rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
+	"IDENT" production.
+
+2018-03-19  Pedro Alves  <palves@redhat.com>
+	    Tom Tromey  <tom@tromey.com>
+
+	* unittests/observable-selftests.c: New file.
+	* common/observable.h: New file.
+	* observable.h: New file.
+	* ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
+	arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
+	breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
+	corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
+	extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
+	infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
+	linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
+	mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
+	ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
+	python/py-breakpoint.c, python/py-finishbreakpoint.c,
+	python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
+	record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
+	riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
+	spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
+	symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
+	tui/tui-interp.c, valops.c: Update all users.
+	* tui/tui-hooks.c (tui_bp_created_observer)
+	(tui_bp_deleted_observer, tui_bp_modified_observer)
+	(tui_inferior_exit_observer, tui_before_prompt_observer)
+	(tui_normal_stop_observer, tui_register_changed_observer):
+	Remove.
+	(tui_observers_token): New global.
+	(attach_or_detach, tui_attach_detach_observers): New functions.
+	(tui_install_hooks, tui_remove_hooks): Use
+	tui_attach_detach_observers.
+	* record-btrace.c (record_btrace_thread_observer): Remove.
+	(record_btrace_thread_observer_token): New global.
+	* observer.sh: Remove.
+	* observer.c: Rename to observable.c.
+	* observable.c (namespace gdb_observers): Define new objects.
+	(observer_debug): Move into gdb_observers namespace.
+	(struct observer, struct observer_list, xalloc_observer_list_node)
+	(xfree_observer_list_node, generic_observer_attach)
+	(generic_observer_detach, generic_observer_notify): Remove.
+	(_initialize_observer): Update.
+	Don't include observer.inc.
+	* Makefile.in (generated_files): Remove observer.h, observer.inc.
+	(clean mostlyclean): Likewise.
+	(observer.h, observer.inc): Remove targets.
+	(SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
+	(COMMON_SFILES): Use observable.c, not observer.c.
+	* .gitignore: Remove observer.h.
+
+2018-03-18  Tom Tromey  <tom@tromey.com>
+
+	* solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
+	gdb::def_vector.
+	(bfd_lookup_symbol_from_dyn_symtab): Likewise.
+
+2018-03-17  Tom Tromey  <tom@tromey.com>
+
+	* auto-load.c (auto_load_objfile_script_1): Use std::string.
+
+2018-03-17  Tom Tromey  <tom@tromey.com>
+
+	* target.c (class scoped_target_fd): New.
+	(target_fileio_close_cleanup): Remove.
+	(target_fileio_read_alloc_1): Use scoped_target_fd.
+
+2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* silent-rules.mk: New.
+	* Makefile.in: Include silent-rules.mk
+	(srcdir, VPATH, top_srcdir): Move up.
+	(COMPILE): Add ECHO_CXX.
+	(test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
+	(init.c): Add ECHO_INIT_C.
+	(gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
+	(version.c): Add ECHO_GEN.
+	(printcmd.o): Add ECHO_CXX.
+	(target-float.o): Add ECHO_CXX.
+	(ada-exp.o): Add ECHO_CXX.
+	(stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
+	(insight$(EXEEXT)): Add ECHO_CXXLD.
+	* gnulib/configure.ac: Add AM_SILENT_RULES.
+	* gnulib/aclocal.m4: Re-generate.
+	* gnulib/configure: Re-generate.
+	* gnulib/import/Makefile.in: Re-generate.
+
+2018-03-16  Tom Tromey  <tom@tromey.com>
+
+	* xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
+	* utils.h (make_cleanup_free_section_addr_info): Don't declare.
+	* utils.c (do_free_section_addr_info)
+	(make_cleanup_free_section_addr_info): Remove.
+	* symfile.h (struct other_sections): Add constructor.
+	(struct section_addr_info): Remove.
+	(section_addr_info): New typedef.
+	(struct sym_fns) <sym_offsets>: Change type of parameter.
+	(build_section_addr_info_from_objfile)
+	(relative_addr_info_to_section_offsets, addr_info_make_relative)
+	(default_symfile_offsets, symbol_file_add)
+	(symbol_file_add_from_bfd)
+	(build_section_addr_info_from_section_table): Update.
+	(alloc_section_addr_info, free_section_addr_info): Don't declare.
+	* symfile.c (alloc_section_addr_info): Remove.
+	(build_section_addr_info_from_section_table): Change return type.
+	Update.
+	(build_section_addr_info_from_bfd)
+	(build_section_addr_info_from_objfile): Likewise.
+	(free_section_addr_info): Remove.
+	(relative_addr_info_to_section_offsets): Change type of "addrs".
+	(addrs_section_compar): Now a std::sort comparator.
+	(addrs_section_sort): Change return type.
+	(addr_info_make_relative): Change type of "addrs".  Update.
+	(default_symfile_offsets, syms_from_objfile_1)
+	(syms_from_objfile, symbol_file_add_with_addrs): Likewise.
+	(symbol_file_add_separate): Update.
+	(symbol_file_add): Change type of "addrs".  Update.
+	(add_symbol_file_command): Update.  Remove cleanups.
+	* symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
+	cleanups.
+	* symfile-debug.c (debug_sym_offsets): Change type of "info".
+	* solib.c (solib_read_symbols): Update.
+	* objfiles.c (objfile_relocate): Update.  Remove cleanups.
+	* machoread.c (macho_symfile_offsets): Update.
+	* jit.c (jit_bfd_try_read_symtab): Update.
+
+2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+	unittests/utils-selftests.c.
+	* unittests/utils-selftests.c: New file.
+
+2018-03-14  Tom Tromey  <tom@tromey.com>
+
+	PR cli/14977:
+	* printcmd.c (printf_c_string, printf_wide_c_string): Special case
+	for NULL.
+
+2018-03-14  Tom Tromey  <tom@tromey.com>
+
+	PR cli/19918:
+	* printcmd.c (printf_pointer): Allow "-" in format.
+
+2018-03-14  Tom Tromey  <tom@tromey.com>
+
+	* printcmd.c (_initialize_printcmd): Add usage to printf.
+
+2018-03-14  Yao Qi  <qiyao@sourceware.org>
+
+	* MAINTAINERS: Update my email address.
+
+2018-03-13  Tom Tromey  <tom@tromey.com>
+
+	* machoread.c (macho_check_dsym): Change filenamep to a
+	std::string*.
+	(macho_symfile_read): Update.
+	* symfile.c (load_command): Use std::string.
+
+2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
+	to error message string.
+	(riscv_register_name): Use xsnprintf instead of sprintf.
+	(riscv_insn::fetch_instruction): Use gdb_assert instead of
+	internal_error.
+	(riscv_print_arg_location): Use gdb_assert_not_reached instead of
+	error.
+	(riscv_push_dummy_call): Likewise.
+
+2018-03-12  Tom Tromey  <tom@tromey.com>
+
+	* rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
+	Use gdb::byte_vector.
+	* arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
+
+2018-03-12  Yao Qi  <yao.qi@linaro.org>
+
+	* ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
+	parameter type to readable_regcache.
+	* ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
+	the declaration.
+
+2018-03-11  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (struct nextfield): Add initializers.
+	(struct nextfnfield): Remove.
+	(struct fnfieldlist): Add initializers.  Remove "length" and
+	"head", use std::vector.
+	(struct decl_field_list): Remove.
+	(struct field_info): Add initializers.
+	<fields, baseclasses>: Now std::vector.
+	<nbaseclasses, nfnfields, typedef_field_list_count,
+	nested_types_list_count>: Remove.
+	(dwarf2_add_field, dwarf2_add_type_defn)
+	(dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
+	(dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
+	(process_structure_scope): Update.
+
+2018-03-11  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
+	for use by std::sort.
+	(build_type_psymtabs_1): Use std::vector.
+
+2018-03-09  Eli Zaretskii  <eliz@gnu.org>
+
+	* top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
+	and LIBMPFR in the printed configuration.
+
+2018-03-08  Tom Tromey  <tom@tromey.com>
+
+	* source.c (get_filename_and_charpos): Use scoped_fd.
+	* nto-procfs.c (procfs_open_1): Use scoped_fd.
+	(procfs_pidlist): Likewise.
+	* procfs.c (proc_get_LDT_entry): Use scoped_fd.
+	(iterate_over_mappings): Likewise.
+
+2018-03-08  Tom Tromey  <tom@tromey.com>
+
+	* infcall.c (struct call_return_meta_info)
+	<stack_temporaries_enabled>: Remove.
+	(get_call_return_value, call_function_by_hand_dummy): Update.
+	* thread.c (disable_thread_stack_temporaries): Remove.
+	(enable_thread_stack_temporaries): Remove.
+	(thread_stack_temporaries_enabled_p): Return bool.
+	(push_thread_stack_temporary, value_in_thread_stack_temporaries)
+	(get_last_thread_stack_temporary): Update.
+	* eval.c (evaluate_subexp): Update.
+	* gdbthread.h (class enable_thread_stack_temporaries): Now a
+	class, not a function.
+	(value_ptr, value_vec): Remove typedefs.
+	(class thread_info) <stack_temporaries_enabled>: Now bool.
+	<stack_temporaries>: Now a std::vector.
+	(thread_stack_temporaries_enabled_p)
+	(value_in_thread_stack_temporaries): Return bool.
+
+2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* remote.c (putpkt_binary): Fix omitted bytes reporting.
+	(getpkt_or_notif_sane_1): Likewise.
+
+2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* build-id.c (build_id_to_debug_bfd): Use std::string.
+
+2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* build-id.c (find_separate_debug_file_by_buildid): Return
+	std::string.
+	* build-id.h (find_separate_debug_file_by_buildid): Return
+	std::string.
+	* coffread.c (coff_symfile_read): Adjust to std::string.
+	* elfread.c (elf_symfile_read): Adjust to std::string.
+	* symfile.c (separate_debug_file_exists): Change parameter to
+	std::string.
+	(find_separate_debug_file): Return std::string.
+	(find_separate_debug_file_by_debuglink): Return std::string.
+	* symfile.h (find_separate_debug_file_by_debuglink): Return
+	std::string.
+
+2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* common/xml-utils.c (xml_escape_text): Move code to...
+	(xml_escape_text_append): ... this new function.
+	* common/xml-utils.h (xml_escape_text_append): New declaration.
+	* unittests/xml-utils-selftests.c (test_xml_escape_text_append):
+	New function.
+	(_initialize_xml_utils): register test_xml_escape_text_append as
+	a selftest.
+
+2018-03-07  Alan Hayward  <alan.hayward@arm.com>
+
+	* defs.h: Remove MAX_REGISTER_SIZE.
+	* regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
+	asserts.
+	* python/py-unwind.c (pyuw_sniffer): Likewise.
+
+2018-03-07  Tom Tromey  <tom@tromey.com>
+
+	* linux-tdep.c (linux_info_proc): Update.
+	* target.h (struct target_ops) <to_fileio_readlink>: Return
+	optional<string>.
+	(target_fileio_readlink): Return optional<string>.
+	* remote.c (remote_hostio_readlink): Return optional<string>.
+	* inf-child.c (inf_child_fileio_readlink): Return
+	optional<string>.
+	* target.c (target_fileio_readlink): Return optional<string>.
+
+2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* regcache.c (cooked_read_test): Add riscv to the list of
+	architectures that have a save_reggroup.
+
+2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
+	value is not a dynamic class object.
+
+2018-03-06  Tom Tromey  <tom@tromey.com>
+
+	* rust-exp.y: Formatting fixes.
+
+2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* riscv-tdep.c (riscv_register_name): Remove target description
+	support.
+	(riscv_gdbarch_init): Remove target description check.
+
+2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* riscv-tdep.c: Remove 'Contributed by ...' lines from header
+	comment.
+	* riscv-tdep.h: Likewise.
+
+2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* riscv-tdep.c (riscv_pseudo_register_read): Delete.
+	(riscv_pseudo_register_write): Delete.
+	(riscv_gdbarch_init): Remove all use of pseudo registers.
+
+2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* record-btrace.c (btrace_print_lines): Replace cleanup
+	parameter with RAII equivalents.
+	(btrace_insn_history): Replace cleanup with RAII equivalents.
+	* ui-out.h (make_cleanup_ui_out_list_begin_end,
+	make_cleanup_ui_out_tuple_begin_end): Remove.
+	* ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
+	make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
+	make_cleanup_ui_out_list_begin_end): Remove.
+
+2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* record-btrace.c (record_btrace_maybe_mark_async_event): Change
+	parameter types to std::vector.  Use bool.
+	(record_btrace_wait): Replace VEC(tp_t) with
+	std::vector<thread_info *>.
+	* common/gdb_vecs.h (unordered_remove, ordered_remove): New.
+
+2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* record-btrace.c (record_btrace_disable_callback): Remove.
+	(struct scoped_btrace_disable): New.
+	(record_btrace_open): Use scoped_btrace_disable.
+
+2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
+	reading values from registers.
+
+2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
+	where appropriate.
+
+2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* riscv-tdep.c (riscv_print_arg_location): Add header comment,
+	change parameter type.  Use GDB's print functions, and use
+	core_addr_to_string where appropriate.
+	(riscv_push_dummy_call): Use core_addr_to_string where
+	appropriate, update call to riscv_print_arg_location, and reindent
+	a few lines.
+	(riscv_return_value): Update call to riscv_print_arg_location.
+
+2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+	    Tim Newsome <tim@sifive.com>
+	    Albert Ou <a0u@eecs.berkeley.edu>
+	    Darius Rad <darius@bluespec.com>
+
+	* Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
+	(HFILES_NO_SRCDIR): Add riscv-tdep.h.
+	(ALLDEPFILES): Add riscv-tdep.c
+	* configure.tgt: Add riscv support.
+	* riscv-tdep.c: New file.
+	* riscv-tdep.h: New file.
+	* NEWS: Mention new target.
+	* MAINTAINERS: Add entry for riscv.
+
+2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
+	fields within aggregates.
+
+2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* record-btrace.c (btrace_print_lines): Change type of flags to
+	gdb_disassembly_flags.
+
+2018-03-04  John Baldwin  <jhb@FreeBSD.org>
+
+	* fbsd-nat.c: Include "inf-ptrace.h".
+	(USE_SIGTRAP_SIGINFO): Conditionally define.
+	[USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
+	(fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
+	[USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
+	function.
+	[USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
+	Likewise.
+	[USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
+	Likewise.
+	(fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
+	"stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
+	"supports_stopped_by_hw_breakpoint" target methods.
+
+2018-03-04  John Baldwin  <jhb@FreeBSD.org>
+
+	* NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
+	* fbsd-nat.c (debug_fbsd_nat): New variable.
+	(show_fbsd_nat_debug): New function.
+	(fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
+	(_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
+
+2018-03-04  John Baldwin  <jhb@FreeBSD.org>
+
+	* nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
+	* nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
+	prototype.
+	* x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
+	(x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
+	method.
+
+2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* common/gdb_vecs.c (free_char_ptr_vec): Remove.
+	* common/gdb_vecs.h (free_char_ptr_vec): Remove.
+
+2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* charset.c (struct charset_vector): New.
+	(charsets): Change type to charset_vector.
+	(find_charset_names): Adjust.
+	(add_one): Adjust.
+	(_initialize_charset): Adjust.
+
+2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* progspace.h (struct program_space) <deleted_solibs>: Change
+	type to std::vector<std::string>.
+	* progspace.c (clear_program_space_solib_cache): Adjust.
+	* breakpoint.c (print_solib_event): Adjust.
+	(check_status_catch_solib): Adjust.
+	* solib.c (update_solib_list): Adjust.
+	* ui-out.h (class ui_out) <field_string>: New overload.
+	* ui-out.c (ui_out::field_string): New overload.
+
+2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* progspace.h (struct program_space): Add constructor and
+	destructor, initialize fields.
+	(add_program_space): Remove.
+	* progspace.c (add_program_space): Rename to...
+	(program_space::program_space): ... this.
+	(release_program_space): Rename to...
+	(program_space::~program_space): ... this.
+	(delete_program_space): Use delete to delete program_space.
+	(initialize_progspace): Use new to allocate program_space.
+	* inferior.c (add_inferior_with_spaces): Likewise.
+	(clone_inferior_command): Likewise.
+	* infrun.c (follow_fork_inferior): Likewise.
+	(handle_vfork_child_exec_or_exit): Likewise.
+
+2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
+	(delim_string_to_char_ptr_vec): Return std::vector of
+	gdb::unique_xmalloc_ptr.
+	(dirnames_to_char_ptr_vec_append): Take std::vector of
+	gdb::unique_xmalloc_ptr.
+	(dirnames_to_char_ptr_vec): Return std::vector of
+	gdb::unique_xmalloc_ptr.
+	* common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
+	Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
+	(delim_string_to_char_ptr_vec): Return an std::vector of
+	gdb::unique_xmalloc_ptr, adjust the code.
+	(dirnames_to_char_ptr_vec_append): Take an std::vector of
+	gdb::unique_xmalloc_ptr, adjust the code.
+	(dirnames_to_char_ptr_vec): Return an std::vector of
+	gdb::unique_xmalloc_ptr, adjust the code.
+	* auto-load.c (auto_load_safe_path_vec): Change type to
+	std::vector of gdb::unique_xmalloc_ptr.
+	(auto_load_expand_dir_vars): Return an std::vector of
+	gdb::unique_xmalloc_ptr, adjust the code.
+	(auto_load_safe_path_vec_update): Adjust.
+	(filename_is_in_auto_load_safe_path_vec): Adjust.
+	(auto_load_objfile_script_1): Adjust.
+	* build-id.c (build_id_to_debug_bfd): Adjust.
+	* linux-thread-db.c (thread_db_load_search): Adjust.
+	* source.c (add_path): Adjust.
+	(openp): Adjust.
+	* symfile.c (find_separate_debug_file): Adjust.
+	* utils.c (do_free_char_ptr_vec): Remove.
+	(make_cleanup_free_char_ptr_vec): Remove.
+
 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
 
 	PR gdb/22907
 	* common/pathstuff.c: Conditionally include "<windows.h>".
 
+2018-03-01  Georg Sauthoff  <mail@georg.so>
+
+	PR gdb/22888
+	* gcore.in: Quote variables and switch interpreter to bash.
+
+2018-03-01  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (alloc_discriminant_info): Fix default_index
+	assertion.  Add assertion for discriminant_index.
+	(quirk_rust_enum): Use correct base type name in univariant case.
+
+2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* record.c (get_call_history_modifiers): Return a
+	record_print_flags.
+	(cmd_record_call_history): Adjust.
+	* record-btrace.c (record_btrace_call_history): Adjust.
+	(record_btrace_call_history_range): Adjust.
+	(record_btrace_call_history_from): Adjust.
+	* target-debug.h (target_debug_print_record_print_flags): New.
+	* target-delegates.c: Re-generate.
+	* target.c (target_call_history): Change flags type.
+	(target_call_history_from): Likewise.
+	(target_call_history_range): Likewise.
+	* target.h (struct target_ops) <target_call_history>: Likewise.
+	(target_call_history_from): Likewise.
+	(target_call_history_range): Likewise.
+
 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
 	    Simon Marchi  <simon.marchi@polymtl.ca>
 
@@ -56,9 +7399,8 @@
 
 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
 
-	* Makefile.in (SFILES): Add "common/pathstuff.c".
+	* Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
 	(HFILES_NO_SRCDIR): Add "common/pathstuff.h".
-	(COMMON_OBS): Add "pathstuff.o".
 	* auto-load.c: Include "common/pathstuff.h".
 	* common/common-def.h (current_directory): Move here.
 	* common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
@@ -86,30 +7428,1016 @@
 	(gdb_realpath_keepfile): Likewise.
 	(gdb_abspath): Likewise.
 
+2018-02-28  John Baldwin  <jhb@FreeBSD.org>
+
+	* fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
+	wildcard process pid for super_resume for kernels with a
+	specific bug.
+
+2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
+
+	* compile/compile.c (get_args): Add additional comments
+	explaining function.
+
+2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
+	    Tom Tromey  <tom@tromey.com>
+
+	* target.h (memory_write_request_s): Remove typedef.  Don't define
+	VEC.
+	(target_write_memory_blocks): Change argument to std::vector.
+	(struct memory_write_request): Add constructor.
+	* target-memory.c (compare_block_starting_address): Return bool.
+	Change argument types.
+	(claim_memory): Change arguments to use std::vector.
+	(split_regular_and_flash_blocks, blocks_to_erase)
+	(compute_garbled_blocks): Likewise.
+	(cleanup_request_data, cleanup_write_requests_vector): Remove.
+	(target_write_memory_blocks): Change argument to std::vector.
+	* symfile.c (struct load_section_data): Add constructor and
+	destructor.  Use std::vector for "requests".
+	(struct load_progress_data): Add initializers.
+	(load_section_callback): Update.  Use "new".
+	(clear_memory_write_data): Remove.
+	(generic_load): Update.
+
+2018-02-27  Alan Hayward  <alan.hayward@arm.com>
+
+	* arch/aarch64.h: Use common/tdesc.h.
+
+2018-02-26  Maciej W. Rozycki  <macro@mips.com>
+
+	* mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
+	architecture with a 64-bit ABI.
+
+2018-02-26  Maciej W. Rozycki  <macro@mips.com>
+
+	* gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
+	ahead of target description loading.
+
+2018-02-26  Tom Tromey  <tom@tromey.com>
+
+	* stack.c (backtrace_command_1): Update.
+	* python/python-internal.h (gdbpy_apply_frame_filter): Change type
+	of "flags".
+	* python/py-framefilter.c (py_print_frame)
+	(gdbpy_apply_frame_filter): Change type of "flags".
+	* mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
+	of "flags".
+	(mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
+	(mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
+	* extension.h (enum frame_filter_flag): Rename from
+	frame_filter_flags.
+	(frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
+	(apply_ext_lang_frame_filter): Change type of "flags".
+	* extension.c (apply_ext_lang_frame_filter): Change type of
+	"flags".
+	* extension-priv.h (struct extension_language_ops)
+	<apply_frame_filter>: Change type of "flags".
+
+2018-02-26  Tom Tromey  <tom@tromey.com>
+
+	PR python/16497:
+	* stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
+	off-by-one in py_end computation.
+	* python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
+	PRINT_MORE_FRAMES.
+	* extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
+	constant.
+
+2018-02-26  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (struct variant_field): New.
+	(struct nextfield) <variant>: New field.
+	(dwarf2_add_field): Handle DW_TAG_variant_part.
+	(dwarf2_attach_fields_to_type): Attach a discriminant_info to a
+	discriminated union.
+	(read_structure_type): Handle DW_TAG_variant_part.
+	(handle_struct_member_die): New function, extracted from
+	process_structure_scope.  Handle DW_TAG_variant.
+	(process_structure_scope): Handle discriminated unions.  Call
+	handle_struct_member_die.
+
+2018-02-26  Tom Tromey  <tom@tromey.com>
+
+	* rust-lang.h (rust_last_path_segment): Declare.
+	* rust-lang.c (rust_last_path_segment): Now public.  Change
+	contract.
+	(struct disr_info): Remove.
+	(RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
+	(RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
+	(rust_get_disr_info, rust_tuple_variant_type_p): Remove.
+	(rust_enum_p, rust_enum_variant): New function.
+	(rust_underscore_fields): Remove "offset" parameter.
+	(rust_print_enum): New function.
+	(rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
+	<TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
+	(rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
+	enums.
+	(rust_internal_print_type): New function, from rust_print_type.
+	Remove enum code.
+	(rust_print_type): Call rust_internal_print_type.
+	(rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
+	Update enum handling.
+	* dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
+	(rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
+	(rust_union_quirks): New functions.
+	(process_full_comp_unit, process_full_type_unit): Call
+	rust_union_quirks.
+	(process_structure_scope): Update rust_unions if necessary.
+
+2018-02-26  Tom Tromey  <tom@tromey.com>
+
+	* value.h (value_union_variant): Declare.
+	* valops.c (value_union_variant): New function.
+	* gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
+	(struct discriminant_info): New.
+	(enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
+	enumerator.
+	(struct main_type) <flag_discriminated_union>: New field.
+
+2018-02-26  Tom Tromey  <tom@tromey.com>
+
+	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+	unittests/unpack-selftests.c.
+	* unittests/unpack-selftests.c: New file.
+	* value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
+
+2018-02-26  Yao Qi  <yao.qi@linaro.org>
+
+	* dwarf2read.c (struct partial_die_info) <read>: New method.
+	(read_partial_die): Remove the declaration.
+	(load_partial_dies): Update.
+	(partial_die_info::partial_die_info):
+	(read_partial_die): Change it to partial_die_info::read.
+
+2018-02-26  Yao Qi  <yao.qi@linaro.org>
+
+	* dwarf2read.c (struct partial_die_info) <fixup>: New method.
+	(fixup_partial_die): Remove declaration.
+	(scan_partial_symbols): Update.
+	(partial_die_parent_scope): Likewise.
+	(partial_die_full_name): Likewise.
+	(fixup_partial_die): Change it to partial_die_info::fixup.
+
+2018-02-26  Yao Qi  <yao.qi@linaro.org>
+
+	* dwarf2read.c (read_partial_die): Update the declaration.
+	(load_partial_dies): Caller update.
+	(read_partial_die): Remove one argument abbrev_len.
+
+2018-02-26  Yao Qi  <yao.qi@linaro.org>
+
+	* dwarf2read.c (struct partial_die_info): Add ctor, delete
+	assignment operator.
+	(load_partial_dies): Use ctor and copy ctor.
+	(read_partial_die): Update.
+	(dwarf2_cu::find_partial_die): Use ctor.
+
+2018-02-26  Yao Qi  <yao.qi@linaro.org>
+
+	* dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
+	(find_partial_die_in_comp_unit): Change it to
+	dwarf2_cu::find_partial_die.
+	(find_partial_die): Update.
+
+2018-02-26  Yao Qi  <yao.qi@linaro.org>
+
+	* dwarf2read.c (read_partial_die): Remove the code checking abbrev
+	is NULL.
+
+2018-02-26  Yao Qi  <yao.qi@linaro.org>
+
+	* dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
+
+2018-02-26  Alan Hayward  <alan.hayward@arm.com>
+
+	* arch/amd64.h: Use common/tdesc.h.
+	* arch/i386.c: Likewise.
+	* arch/i386.h: Likewise.
+	* arch/tic6x.c: Likewise.
+	* arch/tdesc.h: Move file from here...
+	* common/tdesc.h: ...to here.
+	* features/aarch64-core.c: Regenerate.
+	* features/aarch64-fpu.c: Regenerate.
+	* features/i386/32bit-avx.c: Regenerate.
+	* features/i386/32bit-avx512.c: Regenerate.
+	* features/i386/32bit-core.c: Regenerate.
+	* features/i386/32bit-linux.c: Regenerate.
+	* features/i386/32bit-mpx.c: Regenerate.
+	* features/i386/32bit-pkeys.c: Regenerate.
+	* features/i386/32bit-sse.c: Regenerate.
+	* features/i386/64bit-avx.c: Regenerate.
+	* features/i386/64bit-avx512.c: Regenerate.
+	* features/i386/64bit-core.c: Regenerate.
+	* features/i386/64bit-linux.c: Regenerate.
+	* features/i386/64bit-mpx.c: Regenerate.
+	* features/i386/64bit-pkeys.c: Regenerate.
+	* features/i386/64bit-segments.c: Regenerate.
+	* features/i386/64bit-sse.c: Regenerate.
+	* features/i386/x32-core.c: Regenerate.
+	* features/tic6x-c6xp.c: Regenerate.
+	* features/tic6x-core.c: Regenerate.
+	* features/tic6x-gp.c: Regenerate.
+	* target-descriptions.c: Use common/tdesc.h.
+	* target-descriptions.h: Likewise.
+
+2018-02-24  Tom Tromey  <tom@tromey.com>
+
+	* linux-thread-db.c (try_thread_db_load_from_pdir_1)
+	(try_thread_db_load_from_dir, thread_db_load_search): Use
+	std::string.
+	(info_auto_load_libthread_db_compare): Return bool.  Change
+	argument types.
+	(info_auto_load_libthread_db): Use std::vector, std::string.
+	Remove cleanups.
+
+2018-02-24  Tom Tromey  <tom@tromey.com>
+
+	* i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
+	std::string.
+	* gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
+	std::string*.
+	* gdbarch.c: Rebuild.
+	* gdbarch.h: Rebuild.
+	* breakpoint.c (check_fast_tracepoint_sals): Use std::string.
+	* arch-utils.h (default_fast_tracepoint_valid_at): Update.
+	* arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
+	std::string*.
+
+2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* gdbtypes.h (sect_offset): Change type to uint64_t.
+	(sect_offset_str): New function.
+	* dwarf2read.c (create_addrmap_from_aranges): Use
+	sect_offset_str.
+	(error_check_comp_unit_head): Likewise.
+	(create_debug_type_hash_table): Likewise.
+	(read_cutu_die_from_dwo): Likewise.
+	(init_cutu_and_read_dies): Likewise.
+	(init_cutu_and_read_dies_no_follow): Likewise.
+	(process_psymtab_comp_unit_reader): Likewise.
+	(partial_die_parent_scope): Likewise.
+	(peek_die_abbrev): Likewise.
+	(process_queue): Likewise.
+	(dwarf2_physname): Likewise.
+	(read_namespace_alias): Likewise.
+	(read_import_statement): Likewise.
+	(create_dwo_cu_reader): Likewise.
+	(create_cus_hash_table): Likewise.
+	(lookup_dwo_cutu): Likewise.
+	(inherit_abstract_dies): Likewise.
+	(read_func_scope): Likewise.
+	(read_call_site_scope): Likewise.
+	(dwarf2_add_member_fn): Likewise.
+	(read_common_block): Likewise.
+	(read_module_type): Likewise.
+	(read_typedef): Likewise.
+	(read_subrange_type): Likewise.
+	(load_partial_dies): Likewise.
+	(read_partial_die): Likewise.
+	(find_partial_die): Likewise.
+	(read_str_index): Likewise.
+	(dwarf2_string_attr): Likewise.
+	(build_error_marker_type): Likewise.
+	(lookup_die_type): Likewise.
+	(dump_die_shallow): Likewise.
+	(follow_die_ref): Likewise.
+	(dwarf2_fetch_die_loc_sect_off): Likewise.
+	(dwarf2_fetch_constant_bytes): Likewise.
+	(follow_die_sig): Likewise.
+	(get_signatured_type): Likewise.
+	(get_DW_AT_signature_type): Likewise.
+	(dwarf2_find_containing_comp_unit): Likewise.
+	(set_die_type): Likewise.
+
+2018-02-21  John Baldwin  <jhb@FreeBSD.org>
+
+	* arch/aarch64.c: Include "common-defs.h".
+	* arch/amd64.c: Likewise.
+	* arch/i386.c: Likewise.
+
+2018-02-21  Tom Tromey  <tom@tromey.com>
+
+	* value.h: (extract_field_op): Update.
+	* eval.c (extract_field_op): Return a const char *.
+	* expression.h (parse_expression_for_completion): Update.
+	* completer.c (complete_expression): Update.
+	(add_struct_fields): Make fieldname const.
+	* parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
+	(mark_completion_tag, parse_exp_in_context_1): Update.
+	(parse_expression_for_completion): Change "name" to
+	unique_xmalloc_ptr*.
+
+2018-02-21  Tom Tromey  <tom@tromey.com>
+
+	* infcall.c (call_function_by_hand_dummy): Use std::vector.
+
+2018-02-21  Yao Qi  <yao.qi@linaro.org>
+
+	* avr-tdep.c (avr_read_pc): Change parameter type to
+	readable_regcache.
+	* gdbarch.sh (read_pc): Likewise.
+	* gdbarch.c: Re-generated.
+	* gdbarch.h: Re-generated.
+	* hppa-tdep.c (hppa_read_pc): Change parameter type to
+	readable_regcache.
+	* ia64-tdep.c (ia64_read_pc): Likewise.
+	* mips-tdep.c (mips_read_pc): Likewise.
+	* spu-tdep.c (spu_read_pc): Likewise.
+
+2018-02-21  Yao Qi  <yao.qi@linaro.org>
+
+	* Makefile.in (COMMON_SFILES): Add regcache-dump.c
+	* regcache-dump.c: New file.
+	* regcache.c: Move register_dump to regcache-dump.c.
+	(maintenance_print_registers): Likewise.
+	(maintenance_print_raw_registers): Likewise.
+	(maintenance_print_cooked_registers): Likewise.
+	(maintenance_print_register_groups): Likewise.
+	(maintenance_print_remote_registers): Likewise.
+	(_initialize_regcache): Likewise.
+	* regcache.h (register_dump): Moved from regcache.c.
+
+2018-02-21  Yao Qi  <yao.qi@linaro.org>
+
+	* regcache.c (regcache::regcache): Update.
+	(regcache::invalidate): Move it to detached_regcache::invalidate.
+	(get_thread_arch_aspace_regcache): Update.
+	(regcache::raw_update): Update.
+	(regcache::cooked_read): Remove some code.
+	(regcache::cooked_read_value): Likewise.
+	(regcache::raw_write): Remove assert on m_readonly_p.
+	(regcache::raw_supply_integer): Move it to
+	detached_regcache::raw_supply_integer.
+	(regcache::raw_supply_zeroed): Likewise.
+	* regcache.h (detached_regcache) <raw_supply_integer>: New
+	declaration.
+	<raw_supply_zeroed, invalidate>: Likewise.
+	(regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
+	<invalidate>: Likewise.
+	<m_readonly_p>: Removed.
+
+2018-02-21  Yao Qi  <yao.qi@linaro.org>
+
+	* infcmd.c (get_return_value): Let stop_regs point to
+	get_current_regcache.
+	* regcache.c (regcache::regcache): Remove.
+	(register_dump_reg_buffer): New class.
+	(regcache_print): Adjust.
+	* regcache.h (regcache): Remove constructors.
+
+2018-02-21  Yao Qi  <yao.qi@linaro.org>
+
+	* regcache.c (class register_dump): New class.
+	(register_dump_regcache, register_dump_none): New class.
+	(register_dump_remote, register_dump_groups): New class.
+	(regcache_print): Update.
+	* regcache.h (regcache_dump_what): Move it to regcache.c.
+	(regcache) <dump>: Remove.
+
+2018-02-21  Yao Qi  <yao.qi@linaro.org>
+
+	* jit.c (struct jit_unwind_private) <regcache>: Change its type to
+	 reg_buffer_rw *.
+	(jit_unwind_reg_set_impl): Call raw_supply.
+	(jit_frame_sniffer): Use reg_buffer_rw.
+	* record-full.c (record_full_core_regbuf): Change its type.
+	(record_full_core_open_1): Use reg_buffer_rw.
+	(record_full_close): Likewise.
+	(record_full_core_fetch_registers): Use regcache->raw_supply.
+	(record_full_core_store_registers): Likewise.
+	* regcache.c (regcache::get_register_status): Move it to
+	reg_buffer.
+	(regcache_raw_set_cached_value): Remove.
+	(regcache::raw_set_cached_value): Remove.
+	(regcache::raw_write): Call raw_supply.
+	(regcache::raw_supply): Move it to reg_buffer_rw.
+	* regcache.h (regcache_raw_set_cached_value): Remove.
+	(reg_buffer_rw): New class.
+
+2018-02-21  Yao Qi  <yao.qi@linaro.org>
+
+	* dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
+	readonly_detached_regcache.
+	(dummy_frame_prev_register): Use regcache->cooked_read.
+	* frame.c (frame_save_as_regcache): Change return type.
+	(frame_pop): Update.
+	* frame.h (frame_save_as_regcache): Update declaration.
+	* inferior.h (get_infcall_suspend_state_regcache): Update
+	declaration.
+	* infrun.c (infcall_suspend_state) <registers>: use
+	readonly_detached_regcache.
+	(save_infcall_suspend_state): Don't use regcache_dup.
+	(get_infcall_suspend_state_regcache): Change return type.
+	* linux-fork.c (struct fork_info) <savedregs>: Change to
+	readonly_detached_regcache.
+	<pc>: New field.
+	(fork_save_infrun_state): Don't use regcache_dup.
+	(info_checkpoints_command): Adjust.
+	* mi/mi-main.c (register_changed_p): Update declaration.
+	(mi_cmd_data_list_changed_registers): Use
+	readonly_detached_regcache.
+	(register_changed_p): Change parameter type to
+	readonly_detached_regcache.
+	* ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
+	readonly_detached_regcache.
+	(ppu2spu_sniffer): Construct a new readonly_detached_regcache.
+	* regcache.c (readonly_detached_regcache::readonly_detached_regcache):
+	New.
+	(regcache::save): Move it to reg_buffer.
+	(regcache::restore): Change parameter type.
+	(regcache_dup): Remove.
+	* regcache.h (reg_buffer) <save>: New method.
+	(readonly_detached_regcache): New class.
+	* spu-tdep.c (spu2ppu_cache) <regcache>: Use
+	readonly_detached_regcache.
+	(spu2ppu_sniffer): Construct a new readonly_detached_regcache.
+
+2018-02-21  Yao Qi  <yao.qi@linaro.org>
+
+	* frame.c (frame_save_as_regcache): Use regcache method save.
+	(frame_pop): Use regcache method restore.
+	* infrun.c (restore_infcall_suspend_state): Likewise.
+	* linux-fork.c (fork_load_infrun_state): Likewise.
+	* ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
+	save.
+	* regcache.c (regcache_save): Remove.
+	(regcache::restore): More asserts.
+	(regcache_cpy): Remove.
+	* regcache.h (regcache_save): Remove the declaration.
+	(regcache::restore): Move from private to public.
+	Remove the friend declaration of regcache_cpy.
+	(regcache_cpy): Remove declaration.
+
+2018-02-21  Yao Qi  <yao.qi@linaro.org>
+
+	* aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
+	parameter type to 'readable_regcache *'.
+	* amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
+	* arm-tdep.c (arm_neon_quad_read): Likewise.
+	(arm_pseudo_read): Likewise.
+	* avr-tdep.c (avr_pseudo_register_read): Likewise.
+	* bfin-tdep.c (bfin_pseudo_register_read): Likewise.
+	* frv-tdep.c (frv_pseudo_register_read): Likewise.
+	* gdbarch.c: Re-generated.
+	* gdbarch.h: Re-generated.
+	* gdbarch.sh (pseudo_register_read): Change parameter type to
+	'readable_regcache *'.
+	(pseudo_register_read_value): Likewise.
+	* h8300-tdep.c (pseudo_from_raw_register): Likewise.
+	(h8300_pseudo_register_read): Likewise.
+	* hppa-tdep.c (hppa_pseudo_register_read): Likewise.
+	* i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
+	(i386_pseudo_register_read_into_value): Likewise.
+	(i386_pseudo_register_read_value): Likewise.
+	* i386-tdep.h (i386_pseudo_register_read_into_value): Update
+	declaration.
+	* ia64-tdep.c (ia64_pseudo_register_read): Likewise.
+	* m32c-tdep.c (m32c_raw_read): Likewise.
+	(m32c_read_flg): Likewise.
+	(m32c_banked_register): Likewise.
+	(m32c_banked_read): Likewise.
+	(m32c_sb_read): Likewise.
+	(m32c_part_read): Likewise.
+	(m32c_cat_read): Likewise.
+	(m32c_r3r2r1r0_read): Likewise.
+	(m32c_pseudo_register_read): Likewise.
+	* m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
+	* mep-tdep.c (mep_pseudo_cr32_read): Likewise.
+	(mep_pseudo_cr64_read): Likewise.
+	(mep_pseudo_register_read): Likewise.
+	* mips-tdep.c (mips_pseudo_register_read): Likewise.
+	* msp430-tdep.c (msp430_pseudo_register_read): Likewise.
+	* nds32-tdep.c (nds32_pseudo_register_read): Likewise.
+	* regcache.c (regcache::raw_read): Move it to readable_regcache.
+	(regcache::cooked_read): Likewise.
+	(regcache::cooked_read_value): Likewise.
+	(regcache_cooked_read_signed):
+	(regcache::cooked_read): Likewise.
+	* regcache.h (readable_regcache): New class.
+	(regcache): Inherit readable_regcache.  Move some methods to
+	readable_regcache.
+	* rl78-tdep.c (rl78_pseudo_register_read): Change
+	parameter type to 'readable_regcache *'.
+	* rs6000-tdep.c (do_regcache_raw_read): Remove.
+	(e500_pseudo_register_read): Change parameter type to
+	'readable_regcache *'.
+	(dfp_pseudo_register_read): Likewise.
+	(vsx_pseudo_register_read): Likewise.
+	(efpr_pseudo_register_read): Likewise.
+	* s390-tdep.c (s390_pseudo_register_read): Likewise.
+	* sh-tdep.c (sh_pseudo_register_read): Likewise.
+	* sh64-tdep.c (pseudo_register_read_portions): Likewise.
+	(sh64_pseudo_register_read): Likewise.
+	* sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
+	* sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
+	* spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
+	(spu_pseudo_register_read): Likewise.
+	* xtensa-tdep.c	(xtensa_register_read_masked): Likewise.
+	(xtensa_pseudo_register_read): Likewise.
+
+2018-02-21  Yao Qi  <yao.qi@linaro.org>
+
+	* regcache.c (regcache::regcache): Call reg_buffer ctor.
+	(regcache::arch): Move it to reg_buffer::arch.
+	(regcache::register_buffer): Likewise.
+	(regcache::assert_regnum): Likewise.
+	(regcache::num_raw_registers): Likewise.
+	* regcache.h (reg_buffer): New class.
+	(regcache): Inherit reg_buffer.
+
+2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
+	gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
+
+2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
+
+2018-02-19  Alan Hayward  <alan.hayward@arm.com>
+
+	* Makefile.in: (COMMON_SFILES): Add common/*.c files.
+	(SFILES): Remove common/*.c files.
+	(COMMON_OBS): Remove some *.o files built from common/*.c files.
+	* common/common.host: Add common reference.
+	* configure.ac: Likewise.
+	* configure: Regenerate.
+
+2018-02-16  Yao Qi  <yao.qi@linaro.org>
+
+	* block.c (block_namespace_info): Inherit allocate_on_obstack.
+	(block_initialize_namespace): Use new.
+	* dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
+	(dwarf2_free_objfile): Use delete.
+	* gdbtypes.c (type_pair): Inherit allocate_on_obstack.
+	(copy_type_recursive): Use new.
+	* gdb_obstack.h (allocate_on_obstack): New.
+
 2018-02-15  Yao Qi  <yao.qi@linaro.org>
 
 	PR gdb/22849
 	* inferior.c (exit_inferior_1): Reset inf->control.
 
+2018-02-15  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_to_fixed_value_create): Delete advance
+	declaration.
+
+2018-02-14  Pedro Alves  <palves@redhat.com>
+
+	* frame-unwind.c (frame_unwind_try_unwinder): Always call
+	frame_cleanup_after_sniffer on exception.
+
+2018-02-14  Tom Tromey  <tom@tromey.com>
+
+	* solist.h (struct target_so_ops) <bfd_open>: Make pathname
+	const.
+	(solib_bfd_open): Make pathname const.
+	* solib.c (solib_bfd_open): Make pathname const.
+	* solib-spu.c (spu_bfd_fopen): Make name const.
+	(spu_bfd_open): Make pathname const.
+	* solib-darwin.c (darwin_bfd_open): Make pathname const.
+	* solib-aix.c (solib_aix_bfd_open): Make pathname const.
+
+2018-02-14  Tom Tromey  <tom@tromey.com>
+
+	* symfile.c (symfile_bfd_open): Update.
+	* source.h (openp, source_full_path_of, find_and_open_source):
+	Change argument type to unique_xmalloc_ptr.
+	* source.c (openp): Take a unique_xmalloc_ptr.
+	(source_full_path_of, find_and_open_source): Likewise.
+	(open_source_file, symtab_to_fullname): Update.
+	* solist.h (struct target_so_ops) <find_and_open_solib>: Take a
+	unique_xmalloc_ptr.
+	* solib.c (solib_find_1): Use unique_xmalloc_ptr.
+	(exec_file_find): Update.
+	* psymtab.c (psymtab_to_fullname): Update.
+	* nto-tdep.h (nto_find_and_open_solib): Update.
+	* nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
+	unique_xmalloc_ptr.
+	* exec.c (exec_file_attach): Update.
+	* dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
+	* cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
+
+2018-02-14  Tom Tromey  <tom@tromey.com>
+
+	* solib.c: Include source.h.
+	* nto-tdep.c: Include source.h.
+	* mi/mi-cmd-env.c: Include source.h.
+	* infcmd.c: Include source.h.
+	* exec.c: Include source.h.
+	* defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
+	(add_path, directory_switch, source_path, init_source_path): Move
+	declarations...
+	* source.h (enum openp_flag, openp, source_full_path_of, mod_path)
+	(add_path, directory_switch, source_path, init_source_path):
+	...here.
+
+2018-02-14  Tom Tromey  <tom@tromey.com>
+
+	* solist.h (exec_file_find, solib_find): Return
+	unique_xmalloc_ptr.
+	(solib_bfd_fopen): Take a const char *.
+	* solib.c (solib_find_1): Return unique_xmalloc_ptr.
+	(exec_file_find, solib_find): Likewise.
+	(solib_bfd_fopen): Do not take ownership of "pathname".
+	(solib_bfd_open): Use unique_xmalloc_ptr.
+	* solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
+	* solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
+	* infrun.c (follow_exec): Use unique_xmalloc_ptr.
+	* exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
+
+2018-02-14  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (name_match_type_from_name): Remove reference to
+	ada_name_for_lookup in function's documentation.
+	* ada-lang.h (ada_name_for_lookup): Delete declaration.
+
+2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* defs.h (enum openp_flags): New enum.
+	(OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
+	Move to enum openp_flags.
+	(openp_flags): New enum flags.
+	(openp): Change parameter type to openp_flags.
+	* source.c (openp): Change parameter type to openp_flags.
+	* cli/cli-cmds.c (find_and_open_script): Use openp_flags.
+	* dwarf2read.c (try_open_dwop_file): Use openp_flags.
+
+2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
+	per-command.
+
+2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* dwarf2read.c (dwarf2_release_queue): Delete function, move body
+	into...
+	(class dwarf2_queue_guard): ...the destructor of this new class.
+	(dw2_do_instantiate_symtab): Create instance of the new class
+	dwarf2_queue_guard, remove cleanup.
+
+2018-02-09  Tom Tromey  <tom@tromey.com>
+
+	* source.c (find_source_lines): Don't reference past the end of
+	the vector.
+
+2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* remote.c (remote_btrace_maybe_reopen): Change error message.
+	* btrace.c (btrace_enable): Likewise.
+	(parse_xml_btrace): Likewise.
+	(parse_xml_btrace_conf): Likewise.
+
+2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
+	(linux_enable_pt, linux_enable_bts): Call
+	diagnose_perf_event_open_fail.
+
+2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
+	Remove parameter and change return type.  Update callers.  Move it.
+	(linux_enable_bts, linux_enable_pt): Improve error message.
+	(linux_enable_pt): Remove zero buffer size check.
+	(linux_enable_btrace): Improve error messages.  Remove NULL return
+	check.
+
+2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* btrace.c (btrace_enable): Remove target_supports_btrace call.
+	* nat/linux-btrace.c (perf_event_pt_event_type): Move.
+	(kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
+	(linux_supports_pt, linux_supports_btrace): Remove.
+	(linux_enable_bts): Call cpu_supports_bts.
+	* nat/linux-btrace.h (linux_supports_btrace): Remove.
+	* remote.c (remote_supports_btrace): Remove.
+	(init_remote_ops): Remove remote_supports_btrace.
+	* target-delegates.c: Regenerated.
+	* target.c (target_supports_btrace): Remove.
+	* target.h (target_ops) <to_supports_btrace>: Remove
+	(target_supports_btrace): Remove.
+	* x86-linux-nat.c (x86_linux_create_target): Remove
+	linux_supports_btrace.
+
+2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
+	btrace failed.
+	* x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
+	exception and use message in own exception.
+
+2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
+	(perf_event_pt_event_type): Use gdb_file_up.
+	(linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
+	scoped_fd, and scoped_mmap.
+
+2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* common/scoped_mmap.h: New.
+	* unittests/scoped_mmap-selftest.c: New.
+	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+	unittests/scoped_mmap-selftest.c.
+
+2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* common/scoped_fd.h: New.
+	* unittests/scoped_fd-selftest.c: New.
+	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+	unittests/scoped_fd-selftest.c.
+
+2018-02-09  Tom Tromey  <tom@tromey.com>
+
+	* auto-load.c (auto_load_section_scripts): Use
+	gdb::unique_xmalloc_ptr.
+
+2018-02-09  Tom Tromey  <tom@tromey.com>
+
+	* auto-load.c (execute_script_contents): Use std::string.
+
 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
 
-	PR gdb/22824:
 	* NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
 	Python function, rather than a new command.
 
+2018-02-08  Tom Tromey  <tom@tromey.com>
+
+	* solib.c (solib_find_1): Use std::string.
+	(solib_bfd_fopen): Use unique_xmalloc_ptr.
+
+2018-02-08  Tom Tromey  <tom@tromey.com>
+
+	* build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
+
+2018-02-08  Tom Tromey  <tom@tromey.com>
+
+	* source.c (find_source_lines): Use gdb::def_vector.
+
+2018-02-08  Tom Tromey  <tom@tromey.com>
+
+	* macrocmd.c (struct temporary_macro_definition): New.
+	(macro_define_command): Use temporary_macro_definition.  Remove
+	cleanups.
+	(free_macro_definition_ptr): Remove.
+
+2018-02-08  Tom Tromey  <tom@tromey.com>
+
+	* macroexp.c (maybe_expand): Use std::string.
+
+2018-02-08  Tom Tromey  <tom@tromey.com>
+
+	* macroexp.c (struct macro_buffer): Add initializers for some
+	members.
+	(init_buffer, init_shared_buffer, free_buffer)
+	(free_buffer_return_text): Remove.
+	(macro_buffer): New constructors.
+	(~macro_buffer): New destructor.
+	(macro_buffer::set_shared): New method.
+	(macro_buffer::resize_buffer, macro_buffer::appendc)
+	(macro_buffer::appendmem): Now methods, not free functions.
+	(set_token, append_tokens_without_splicing, stringify)
+	(macro_stringify): Update.
+	(gather_arguments): Change return type.  Remove argc_p argument,
+	add args_ptr argument.  Use std::vector.
+	(substitute_args): Remove argc argument.  Accept std::vector.
+	(expand): Update.  Use std::vector.
+	(scan, macro_expand, macro_expand_next): Update.
+
+2018-02-08  Tom Tromey  <tom@tromey.com>
+
+	* symtab.c (default_collect_symbol_completion_matches_break_on):
+	Use unique_xmalloc_ptr.
+	* macroscope.h: (sal_macro_scope, user_macro_scope)
+	(default_macro_scope): Return unique_xmalloc_ptr.
+	* macroscope.c (sal_macro_scope, user_macro_scope)
+	(default_macro_scope): Return unique_xmalloc_ptr.
+	* macroexp.h (macro_expand, macro_expand_once): Return
+	unique_xmalloc_ptr.
+	* macroexp.c (macro_expand, macro_expand_once): Return
+	unique_xmalloc_ptr.
+	* macrocmd.c (macro_expand_command, macro_expand_once_command)
+	(info_macro_command, info_macros_command): Use
+	unique_xmalloc_ptr.
+	* compile/compile-c-support.c (write_macro_definitions): Use
+	unique_xmalloc_ptr.
+	* c-exp.y (c_parse): Use unique_xmalloc_ptr.
+
+2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* value.c (value_static_field): Assign field type instead of
+	containing type when returning an optimized out value.
+
+2018-02-06  Yao Qi  <yao.qi@linaro.org>
+
+	* ft32-tdep.c (ft32_read_pc): Remove.
+	(ft32_write_pc): Remove.
+	(ft32_gdbarch_init): Update.
+	* m32r-tdep.c (m32r_read_pc): Remove.
+	(m32r_gdbarch_init): Update.
+	* mep-tdep.c (mep_read_pc): Remove.
+	(mep_gdbarch_init): Update.
+	* microblaze-tdep.c (microblaze_write_pc): Remove.
+	(microblaze_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_read_pc): Remove.
+	(mn10300_write_pc): Remove.
+	(mn10300_gdbarch_init): Update.
+	* moxie-tdep.c (moxie_read_pc): Remove.
+	(moxie_write_pc): Remove.
+	(moxie_gdbarch_init): Update.
+
+2018-02-06  Yao Qi  <yao.qi@linaro.org>
+
+	* expprint.c (print_subexp_standard): Handle
+	OP_F77_UNDETERMINED_ARGLIST.
+	(dump_subexp_body_standard): Likewise.
+
+2018-02-05  Alan Hayward  <alan.hayward@arm.com>
+
+	* target-descriptions.c (tdesc_element_visitor) Add empty
+	implementations.
+	(tdesc_type): Move make_gdb_type from here.
+	(tdesc_type_builtin): Likewise.
+	(tdesc_type_vector): Likewise.
+	(tdesc_type_with_fields): Move make_gdb_type_ functions from here.
+	(make_gdb_type_struct): Move from tdesc_type_with_fields.
+	(make_gdb_type_union): Likewise.
+	(make_gdb_type_flags): Likewise.
+	(make_gdb_type_enum): Likewise.
+	(make_gdb_type): New function.
+	(tdesc_register_type): Use static make_gdb_type.
+
+2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
+
+	* infcmd.c (default_print_one_register_info): Align natural-format
+	column values consistently one under another.
+	(pad_to_column): New function.
+
+2018-02-05  Joel Brobecker  <brobecker@adacore.com>
+
+	* dwarf2read.c (dwarf2_physname): Move commment.
+
+2018-02-01  Leszek Swirski  <leszeks@google.com>
+
+	* varobj.c (varobj_formatted_print_options): Allow recursive
+	pretty printing if pretty printing is enabled.
+
+2018-02-01  Leszek Swirski  <leszeks@google.com>
+
+	* c-exp.y (lex_one_token, classify_name, yylex): Don't classify
+	names after a structop as a filename.
+
+2018-02-01  Yao Qi  <yao.qi@linaro.org>
+
+	* arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
+	(arm_record_coproc_data_proc): Likewise.
+
+2018-02-01  Yao Qi  <yao.qi@linaro.org>
+
+	* arm-tdep.c (arm_record_extension_space): Change ret to signed.
+
+2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
+
+	* rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
+	assign shifted lr_reg to fdata->lr_register when lr_reg is set.
+
+2018-01-31  Pedro Alves  <palves@redhat.com>
+
+	* darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
+	* inflow.c (child_terminal_save_inferior): Wrap reference to
+	tcgetpgrp in HAVE_TERMIOS_H.
+	(child_interrupt, child_pass_ctrlc): Wrap references to signal in
+	_WIN32.
+	* remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
+	always iterate over all inferiors.
+	(gdbsim_cntrl_c): Adjust.
+	* windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
+
 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
 
-	* version.in: Set GDB version number to 8.1.0.DATE-git.
-	* PROBLEMS: Likewise.
+	* gdbtypes.c (lookup_array_range_type): Make sure the array's
+	index type is objfile-owned if the element type is as well.
 
 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
 
 	GDB 8.1 released.
 
-2018-01-31  Joel Brobecker  <brobecker@adacore.com>
+2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
 
-	* version.in: Set GDB version number to 8.1.
-	* PROBLEMS: Likewise.
+	* s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
+	"features/s390x-linux64.c".
+	(_initialize_s390_linux_tdep): Remove initialization of tdescs
+	s390_linux32 and s390x_linux64.
+	(s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
+	default tdesc.
+	* s390-tdep.c: Include "features/s390-linux32.c" and
+	"features/s390x-linux64.c".
+	(s390_tdesc_valid): Add check for tdesc_has_registers.
+	(s390_gdbarch_init): Make sure there is always a valid tdesc.
+	(_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
+	tdesc_s390x_linux64.
+	* s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
+	tdesc_s390x_linux64 to...
+	* s390-tdep.h: ...here.
+
+2018-01-30  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/13211
+	* config.in, configure: Regenerate.
+	* configure.ac: Check for getpgid.
+	* go32-nat.c (go32_pass_ctrlc): New.
+	(go32_target): Install it.
+	* inf-child.c (inf_child_target): Install
+	child_terminal_save_inferior, child_pass_ctrlc and
+	child_interrupt.
+	* inf-ptrace.c (inf_ptrace_interrupt): Delete.
+	(inf_ptrace_target): No longer install it.
+	* infcmd.c (interrupt_target_1): Adjust.
+	* inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
+	(child_interrupt): Declare.
+	(inferior::terminal_state): New.
+	* inflow.c (struct terminal_info): Update comments.
+	(inferior_process_group): Delete.
+	(terminal_is_ours): Delete.
+	(gdb_tty_state): New.
+	(child_terminal_init): Adjust.
+	(is_gdb_terminal, sharing_input_terminal_1)
+	(sharing_input_terminal): New functions.
+	(child_terminal_inferior): Adjust.  Use sharing_input_terminal.
+	Set the process's actual process group in the foreground if
+	possible.  Handle is_ours_for_output/is_ours distinction.  Don't
+	mark terminal as the inferior's if not sharing GDB's terminal.
+	Don't check attach_flag.
+	(child_terminal_ours_for_output, child_terminal_ours): Adjust to
+	pass down a target_terminal_state.
+	(child_terminal_save_inferior): New, factored out from ...
+	(child_terminal_ours_1): ... this.  Handle
+	target_terminal_state::is_ours_for_output.
+	(child_interrupt, child_pass_ctrlc): New.
+	(inflow_inferior_exit): Clear the inferior's terminal_state.
+	(copy_terminal_info): Copy the inferior's terminal state.
+	(_initialize_inflow): Remove reference to terminal_is_ours.
+	* inflow.h (inferior_process_group): Delete.
+	* nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
+	* procfs.c (procfs_target): Don't install procfs_interrupt.
+	(procfs_interrupt): Delete.
+	* remote.c (remote_serial_quit_handler): Adjust.
+	(remote_interrupt): Remove ptid parameter.  Adjust.
+	* target-delegates.c: Regenerate.
+	* target.c: Include "terminal.h".
+	(target_terminal::terminal_state): Rename to ...
+	(target_terminal::m_terminal_state): ... this.
+	(target_terminal::init): Adjust.
+	(target_terminal::inferior): Adjust to per-inferior
+	terminal_state.
+	(target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
+	(target_terminal::ours, target_terminal::ours_for_output): Use
+	target_terminal_is_ours_kind.
+	(target_interrupt): Remove ptid parameter.  Adjust.
+	(default_target_pass_ctrlc): Adjust.
+	* target.h (target_ops::to_terminal_save_inferior): New field.
+	(target_ops::to_interrupt): Remove ptid_t parameter.
+	(target_interrupt): Remove ptid_t parameter.  Update comment.
+	(target_pass_ctrlc): Update comment.
+	* target/target.h (target_terminal_state): New scoped enum,
+	factored out of ...
+	(target_terminal::terminal_state): ... here.
+	(target_terminal::inferior): Update comments.
+	(target_terminal::restore_inferior): New.
+	(target_terminal::is_inferior, target_terminal::is_ours)
+	(target_terminal::is_ours_for_output): Adjust.
+	(target_terminal::scoped_restore_terminal_state): Adjust to
+	rename, and call restore_inferior() instead of inferior().
+	(target_terminal::scoped_restore_terminal_state::m_state): Change
+	type.
+	(target_terminal::terminal_state): Rename to ...
+	(target_terminal::m_terminal_state): ... this and change type.
+
+2018-01-30  Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.c (wait_for_signal): New function.
+	(wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
+	directly.
+	(async_terminal_is_ours)
+	(linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
+	(linux_nat_add_target): Don't override
+	to_terminal_inferior/to_terminal_ours.
+
+2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* remote.c (remote_follow_fork): Don't call "detach_inferior".
+
+2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* dwarf2read.c (free_dwo_files): Add forward-declaration.
+	(dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
+	dwarf2_per_objfile_free here.
+	(dwarf2_per_objfile_free): Remove.
+	(_initialize_dwarf2_read): Don't register
+	dwarf2_per_objfile_free as a registry cleanup.
 
 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
 
@@ -133,6 +8461,34 @@
 	* python/python-internal.h (_hypot) [__MINGW32__]: Define back to
 	'hypoth'.  This avoids a compilation error.
 
+2018-01-26  Alan Hayward  <alan.hayward@arm.com>
+
+	* MAINTAINERS (Write After Approval): Fix ordering.
+
+2018-01-26  Alan Hayward  <alan.hayward@arm.com>
+
+	* MAINTAINERS (Write After Approval): Add Alan Hayward.
+
+2018-01-26  Alan Modra  <amodra@gmail.com>
+
+	* ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
+	(powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
+	Remove nop.  Make const.  Comment.
+	(powerpc32_plt_stub_so_2): New.
+	(POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
+	Correct count.  Update uses.
+	(ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
+	Move common code reading PLT entry word.  Correct
+	powerpc32_plt_stub PLT address calculation.
+	* ppc64-tdep.c (ppc64_standard_linkage1): Make const.
+	(ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
+	(ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
+	(ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
+	(ppc64_standard_linkage8): Likewise.
+	* rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
+	Correct insns description.
+	* ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
+
 2018-01-24  Pedro Alves  <palves@redhat.com>
 
 	GCC PR libstdc++/83906
@@ -146,9 +8502,123 @@
 	(operator==(const range_bounds &, const range_bounds &)): Declare.
 	(operator!=(const range_bounds &, const range_bounds &)): Declare.
 
-2018-01-22  Maciej W. Rozycki  <macro@mips.com>
+2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
 
-	* MAINTAINERS: Update my company e-mail address.
+	* s390-linux-tdep.c (s390_record_address_mask)
+	(s390_record_calc_disp_common, s390_record_calc_disp)
+	(s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
+	(s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
+	(s390_process_record): Move to s390-tdep.c.
+	(s390_linux_init_abi_any): Adjust.
+	* s390-tdep.c (s390_record_address_mask)
+	(s390_record_calc_disp_common, s390_record_calc_disp)
+	(s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
+	(s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
+	(s390_process_record): Moved from s390-linux-tdep.c
+	(s390_gdbarch_init): Adjust.
+
+2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
+
+	* s390-linux-nat.c (s390-tdep.h): New include.
+	* Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
+	(HFILES_NO_SRCDIR): Add s390-tdep.h.
+	(ALLDEPFILES): Add s390-tdep.c.
+	* configure.tgt (s390*-*-linux*): Add s390-tdep.o.
+	* s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
+	* s390-tdep.h: ...this.  New file.
+	* s390-linux-tdep.c (s390-tdep.h): New include.
+	(_initialize_s390_tdep): Rename to...
+	(_initialize_s390_linux_tdep): ...this and adjust.
+	(s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
+	(enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
+	s390-tdep.h.
+	(s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
+	(is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
+	(s390_is_partial_instruction, s390_software_single_step)
+	(is_non_branch_ril, s390_displaced_step_copy_insn)
+	(s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
+	(s390_prologue_data, s390_addr, s390_store, s390_load)
+	(s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
+	(s390_register_call_saved, s390_guess_tracepoint_registers)
+	(s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
+	(regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
+	(s390_pseudo_register_name, s390_pseudo_register_type)
+	(s390_pseudo_register_read, s390_pseudo_register_write)
+	(s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
+	(s390_ax_pseudo_register_push_stack, s390_gen_return_address)
+	(s390_addr_bits_remove, s390_address_class_type_flags)
+	(s390_address_class_type_flags_to_name)
+	(s390_address_class_name_to_type_flags, s390_effective_inner_type)
+	(s390_function_arg_float, s390_function_arg_vector)
+	(is_power_of_two, s390_function_arg_integer, s390_arg_state)
+	(s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
+	(s390_frame_align, s390_register_return_value, s390_return_value)
+	(s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
+	(s390_unwind_pseudo_register, s390_adjust_frame_regnum)
+	(s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
+	(s390_trad_frame_prev_register, s390_unwind_cache)
+	(s390_prologue_frame_unwind_cache)
+	(s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
+	(s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
+	(s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
+	(s390_stub_frame_this_id, s390_stub_frame_prev_register)
+	(s390_stub_frame_sniffer, s390_stub_frame_unwind)
+	(s390_frame_base_address, s390_local_base_address)
+	(s390_frame_base, s390_gcc_target_options)
+	(s390_gnu_triplet_regexp, s390_stap_is_single_operand)
+	(s390_validate_reg_range, s390_tdesc_valid)
+	(s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
+	* s390-tdep.c: ...this.  New file.
+
+2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
+
+	* s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
+	(s390_process_record, s390_gdbarch_tdep_alloc)
+	(s390_linux_init_abi_any): Use/set new hook.
+
+2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
+
+	* s390-linux-tdep.c (osabi.h): New include.
+	(s390_linux_init_abi_31, s390_linux_init_abi_64)
+	(s390_linux_init_abi_any): New functions.
+	(s390_gdbarch_init, _initialize_s390_tdep): Adjust.
+
+2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
+
+	* s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
+	tdesc_has_registers check
+
+2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
+
+	* s390-linux-tdep.c (s390_tdesc_valid): New function.
+	(s390_validate_reg_range): New macro.
+	(s390_gdbarch_init): Adjust.
+
+2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
+
+	* s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
+	(s390_gdbarch_tdep_alloc): Adjust.
+	(s390_gdbarch_init): Adjust.
+
+2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
+
+	* s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
+	<have_tdb>: Change type to bool.
+	(s390_gdbarch_tdep_alloc): Adjust.
+	(s390_gdbarch_init): Adjust.
+
+2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
+
+	* s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
+	(gdbarch_tdep) <have_upper, have_vx>: New fields.
+	(s390_gdbarch_tdep_alloc): New function.
+	(s390_gdbarch_init): Allocate tdep at start and use its fields
+	instead of separate variables.
+
+2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
+
+	* s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
+	when looking for cached gdbarch and add comment for remaining.
 
 2018-01-22  Pedro Alves  <palves@redhat.com>
 	    Sergio Durigan Junior  <sergiodj@redhat.com>
@@ -156,11 +8626,341 @@
 	* typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
 	case.
 
+2018-01-22  Maciej W. Rozycki  <macro@mips.com>
+
+	* MAINTAINERS: Update my company e-mail address.
+
+2018-01-22  Yao Qi  <yao.qi@linaro.org>
+
+	* regcache.c (cooked_write_test): New function.
+	(_initialize_regcache): Register the test.
+
+2018-01-22  Yao Qi  <yao.qi@linaro.org>
+
+	* ia64-tdep.c (ia64_pseudo_register_read): Call
+	regcache->cooked_read instead of regcache_cooked_read_unsigned.
+	* m32c-tdep.c (m32c_cat_read): Likewise.
+	(m32c_r3r2r1r0_read): Likewise.
+	* m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
+	* xtensa-tdep.c (xtensa_register_read_masked): Likewise.
+
+2018-01-22  Yao Qi  <yao.qi@linaro.org>
+
+	* aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
+	method raw_read instead of regcache_raw_read.
+	* amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
+	* arm-tdep.c (arm_neon_quad_read): Likewise.
+	* avr-tdep.c (avr_pseudo_register_read): Likewise.
+	* bfin-tdep.c (bfin_pseudo_register_read): Likewise.
+	* frv-tdep.c (frv_pseudo_register_read): Likewise.
+	* h8300-tdep.c (h8300_pseudo_register_read): Likewise.
+	* i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
+	(i386_pseudo_register_read_into_value): Likewise.
+	* mep-tdep.c (mep_pseudo_cr32_read): Likewise.
+	* msp430-tdep.c (msp430_pseudo_register_read): Likewise.
+	* nds32-tdep.c (nds32_pseudo_register_read): Likewise.
+	* rl78-tdep.c (rl78_pseudo_register_read): Likewise.
+	* s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
+	* sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
+	* sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
+	* spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
+	* xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
+
+2018-01-22  Yao Qi  <yao.qi@linaro.org>
+
+	* Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
+	* configure.tgt: Remove target mt.
+	* mt-tdep.c: Remove.
+	* regcache.c (cooked_read_test): Remove the check for mt.
+
+2018-01-22  Yao Qi  <yao.qi@linaro.org>
+
+	* jit.c (jit_frame_prev_register): Call regcache::cooked_read
+	instead of gdbarch_pseudo_register_read_value.
+
+2018-01-22  Joel Brobecker  <brobecker@adacore.com>
+
+	* dwarf2read.c (need_gnat_info): Return nonzero if the cu's
+	language is Ada.
+
+2018-01-22  Joel Brobecker  <brobecker@adacore.com>
+
+	* linespec.c (create_sals_line_offset): Remove code that preserved
+	the symtab_and_line's line number.
+
+2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* varobj.c (varobj_create): Don't set valid_block when creating a
+	floating varobj.
+
+2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* varobj.c (varobj_create): Remove out of date comment.
+
+2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	PR mi/20395
+	* ada-exp.y (write_var_from_sym): Pass extra parameter when
+	updating innermost block.
+	* parse.c (innermost_block_tracker::update): Take extra type
+	parameter, and check types match before updating innermost block.
+	(write_dollar_variable): Update innermost block for registers.
+	* parser-defs.h (enum innermost_block_tracker_type): New enum.
+	(innermost_block_tracker::innermost_block_tracker): Initialise
+	m_types member.
+	(innermost_block_tracker::reset): Take type parameter.
+	(innermost_block_tracker::update): Take type parameter, and pass
+	type through as needed.
+	(innermost_block_tracker::m_types): New member.
+	* varobj.c (varobj_create): Pass type when reseting innermost
+	block.
+
+2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* ada-exp.y (write_var_from_sym): Switch to innermost_block API.
+	* ada-lang.c (resolve_subexp): Likewise.
+	* breakpoint.c (set_breakpoint_condition) Likewise.
+	(watch_command_1) Likewise.
+	* c-exp.y (variable): Likewise.
+	* d-exp.y (PrimaryExpression): Likewise.
+	* f-exp.y (variable): Likewise.
+	* go-exp.y (variable): Likewise.
+	* m2-exp.y (variable): Likewise.
+	* objfiles.c (objfile::~objfile): Likewise.
+	* p-exp.y (variable): Likewise.
+	* parse.c (innermost_block): Change type.
+	* parser-defs.h (class innermost_block_tracker): New.
+	(innermost_block): Change to innermost_block_tracker.
+	* printcmd.c (display_command): Switch to innermost_block API.
+	(do_one_display): Likewise.
+	* rust-exp.y (do_one_display): Likewise.
+	* symfile.c (clear_symtab_users): Likewise.
+	* varobj.c (varobj_create): Switch to innermost_block API, replace
+	use of innermost_block with block stored on varobj object.
+
+2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* expression.h (innermost_block): Remove declaration.
+	* varobj.c: Add 'parser-defs.h' include.
+
+2018-01-19  Tom Tromey  <tom@tromey.com>
+
+	* rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
+	symbols in the static and global blocks.
+
+2018-01-19  James Clarke  <jrtc27@jrtc27.com>
+
+	* nat/linux-ptrace.c: Remove unnecessary reinclusion of
+	gdb_ptrace.h, and move including gdb_wait.h ...
+	* nat/linux-ptrace.h: ... to here.
+
+2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* inf-ptrace.c (inf_ptrace_detach): Adjust call to
+	inf_ptrace_detach_success.
+	(inf_ptrace_detach_success): Add inferior parameter, use it
+	instead of inferior_ptid, pass it to detach_inferior.
+	* inf-ptrace.h (inf_ptrace_detach_success): Add inferior
+	parameter.
+	* inferior.c (detach_inferior): Add overload that takes an
+	inferior object.
+	* inferior.h (detach_inferior): Likewise.
+	* linux-nat.c (linux_nat_detach): Use the inf parameter, don't
+	use inferior_ptid, adjust call to inf_ptrace_detach_success.
+	* linux-thread-db.c (thread_db_detach): Use inf parameter.
+
+2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* target.h (struct target_ops) <to_detach>: Add inferior
+	parameter.
+	(target_detach): Likewise.
+	* target.c (dispose_inferior): Pass inferior down.
+	(target_detach): Pass inferior down.  Assert that it is equal to
+	the current inferior.
+	* aix-thread.c (aix_thread_detach): Pass inferior down.
+	* corefile.c (core_file_command): Pass current_inferior() down.
+	* corelow.c (core_detach): Add inferior parameter.
+	* darwin-nat.c (darwin_detach): Likewise.
+	* gnu-nat.c (gnu_detach): Likewise.
+	* inf-ptrace.c (inf_ptrace_detach): Likewise.
+	* infcmd.c (detach_command): Pass current_inferior() down to
+	target_detach.
+	* infrun.c (follow_fork_inferior): Pass parent_inf to
+	target_detach.
+	(handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
+	target_detach.
+	* linux-nat.c (linux_nat_detach): Add inferior parameter.
+	* linux-thread-db.c (thread_db_detach): Likewise.
+	* nto-procfs.c (procfs_detach): Likewise.
+	* procfs.c (procfs_detach): Likewise.
+	* record.c (record_detach): Likewise.
+	* record.h (struct inferior): Forward-declare.
+	(record_detach): Add inferior parameter.
+	* remote-sim.c (gdbsim_detach): Likewise.
+	* remote.c (remote_detach_1): Likewise.
+	(remote_detach): Likewise.
+	(extended_remote_detach): Likewise.
+	* sol-thread.c (sol_thread_detach): Likewise.
+	* target-debug.h (target_debug_print_inferior_p): New macro.
+	* target-delegates.c: Re-generate.
+	* top.c (kill_or_detach): Pass inferior down to target_detach.
+	* windows-nat.c (windows_detach): Add inferior parameter.
+
+2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* target.h (struct target_ops) <to_detach>: Remove args
+	parameter.
+	(target_detach): Likewise.
+	* target.c (dispose_inferior): Adjust.
+	(target_detach): Remove args parameter, adjust.
+	* aix-thread.c (aix_thread_detach): Adjust.
+	* corefile.c (core_file_command): Adjust.
+	* corelow.c (core_detach): Adjust.
+	* darwin-nat.c (darwin_detach): Adjust.
+	* gnu-nat.c (gnu_detach): Adjust.
+	* inf-ptrace.c (inf_ptrace_detach): Adjust.
+	* infcmd.c (detach_command): Adjust
+	* infrun.c (follow_fork_inferior): Adjust.
+	(handle_vfork_child_exec_or_exit): Adjust.
+	* linux-fork.c (linux_fork_detach): Remove args parameter.
+	* linux-fork.h (linux_fork_detach): Likewise.
+	* linux-nat.c (linux_nat_detach): Likewise, and adjust.
+	* linux-thread-db.c (thread_db_detach): Likewise.
+	* nto-procfs.c (procfs_detach): Likewise.
+	* procfs.c (procfs_detach): Likewise.
+	(do_detach): Remove signo parameter.
+	* record.c (record_detach): Remove args parameter.
+	* record.h (record_detach): Likewise.
+	* remote-sim.c (gdbsim_detach): Likewise.
+	* remote.c (remote_detach_1): Likewise.
+	(remote_detach): Likewise.
+	(extended_remote_detach): Likewise.
+	* sol-thread.c (sol_thread_detach): Likewise.
+	* target-delegates.c: Re-generate.
+	* top.c (struct qt_args) <args>: Remove field.
+	(kill_or_detach): Don't pass args.
+	(quit_force): Don't set args.
+	* windows-nat.c (windows_detach): Remove args parameter.
+
+2018-01-19  Yao Qi  <yao.qi@linaro.org>
+
+	* arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
+	(arm_linux_init_abi): Install it.
+
+2018-01-19  Yao Qi  <yao.qi@linaro.org>
+
+	* osabi.c (gdb_osabi_names): Extend the regexp for
+	arm-linux-gnueabihf.
+
+2018-01-18  Yao Qi  <yao.qi@linaro.org>
+
+	* dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
+	m_abbrevs.
+	(abbrev_table::add_abbrev): Update.
+	(abbrev_table::lookup_abbrev): Update.
+
+2018-01-18  Yao Qi  <yao.qi@linaro.org>
+
+	* ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
+
 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
 
 	* compile/compile.c (compile_to_object): Convert "triplet_rx"
 	to "std::string".
 
+2018-01-17  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
+
+2018-01-17  Tom Tromey  <tom@tromey.com>
+
+	* gdbtypes.h (add_dyn_prop): Remove objfile parameter.
+	* gdbtypes.c (add_dyn_prop): Remove objfile parameter.
+	(create_array_type_with_stride): Update.
+	* dwarf2read.c (set_die_type): Update.
+
+2018-01-17  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (delayed_method_info): Remove typedef.
+	(dwarf2_cu::method_info): Now a std::vector.
+	(add_to_method_list): Update.
+	(free_delayed_list): Remove.
+	(compute_delayed_physnames): Update.
+	(process_full_comp_unit, process_full_type_unit): Clear the method
+	list.  Remove cleanups.
+	(psymtab_include_file_name): Add name_holder parameter.  Use
+	unique_xmalloc_ptr.
+	(dwarf_decode_lines): Update.
+
+2018-01-17  Tom Tromey  <tom@tromey.com>
+	    Simon Marchi  <simon.marchi@ericsson.com>
+
+	* dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
+	(dwarf2_per_objfile::free_cached_comp_units)
+	(init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
+	(init_cutu_and_read_dies_no_follow): Update.
+	(dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
+	(dwarf2_cu::~dwarf2_cu): New.
+	(free_heap_comp_unit, free_stack_comp_unit): Remove.
+	(age_cached_comp_units, free_one_cached_comp_unit): Update.
+
+2018-01-17  Tom Tromey  <tom@tromey.com>
+	    Simon Marchi  <simon.marchi@ericsson.com>
+
+	* dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
+	(struct die_reader_specs) <abbrev_table>: New member.
+	(struct abbrev_table): Add constructor.
+	<alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
+	<abbrev_obstack>: Now an auto_obstack.
+	(abbrev_table_up): New typedef.
+	(init_cu_die_reader): Add abbrev_table parameter.
+	(read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
+	Add result_dwo_abbrev_table.
+	(init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
+	(init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
+	Update.
+	(peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
+	parameter.
+	(skip_children): Update.
+	(abbrev_table::alloc_abbrev): Rename from
+	abbrev_table_alloc_abbrev.
+	(abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
+	(abbrev_table::lookup_abbrev): Rename from
+	abbrev_table_lookup_abbrev.
+	(abbrev_table_read_table): Return abbrev_table_up.
+	(abbrev_table_free, abbrev_table_free_cleanup)
+	(dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
+	(load_partial_dies): Update.
+
+2018-01-17  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2read.c (dwarf2_compute_name): Update comment.
+	(read_func_scope, read_variable): Update.
+	(new_symbol): Remove.
+	(new_symbol_full): Rename to new_symbol.
+
+2018-01-17  Mike Gulick  <mgulick@mathworks.com>
+
+	PR gdb/16577
+	* gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
+	a warning instead of throwing an error, set section size to 0 and return
+	NULL.
+	* gdb_bfd.h (gdb_bfd_map_section): Update description.
+
+2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
+	std::string.
+	(linux_ptrace_attach_fail_reason_string): Likewise.
+	* nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
+	Likewise.
+	(linux_ptrace_attach_fail_reason_string): Likewise.
+	* linux-nat.c (attach_proc_task_lwp_callback): Adjust.
+
+2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* linux-nat.c (linux_nat_attach): Remove xstrdup.
+
 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
 
 	PR gdb/21559
@@ -175,28 +8975,24 @@
 	(aarch64_linux_init_abi): Install it to gdbarch hook
 	gcc_target_options.
 
-2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* infrun.c (keep_going_pass_signal): Clear step-over info when
-	insert_breakpoints fails.
-
-2018-01-12  Joel Brobecker  <brobecker@adacore.com>
+2018-01-15  Pedro Alves  <palves@redhat.com>
 
-	* version.in: Set GDB version number to 8.0.91.DATE-git.
-	* PROBLEMS: Likewise.
+	* common/signals-state-save-restore.c
+	(save_original_signals_state): Fix typos.
 
-2018-01-12  Joel Brobecker  <brobecker@adacore.com>
+2017-01-12  Tom Tromey  <tom@tromey.com>
+	    Sergio Durigan Junior  <sergiodj@redhat.com>
 
-	GDB 8.0.91 released.
+	* Makefile.in (install-only): Install gdb-add-index.
 
-2018-01-12  Joel Brobecker  <brobecker@adacore.com>
+2018-01-12  John Baldwin  <jhb@FreeBSD.org>
 
-	* version.in: Set GDB version number to 8.0.91.
-	* PROBLEMS: Likewise.
+	* fbsd-tdep.c (KVE_PROTECTION): Correct value.
 
-2018-01-12  Joel Brobecker  <brobecker@adacore.com>
+2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
 
-	* NEWS: Rename "Changes since 8.0" into "Changes in 8.1".
+	* infrun.c (keep_going_pass_signal): Clear step-over info when
+	insert_breakpoints fails.
 
 2018-01-11  Pedro Alves  <palves@redhat.com>
 
@@ -245,6 +9041,52 @@
 	* minsyms.c (linkage_name_str): New function.
 	(iterate_over_minimal_symbols): Use it.
 
+2018-01-09  John Baldwin  <jhb@FreeBSD.org>
+
+	* NEWS: Document that 'info proc' now works on FreeBSD.
+
+2018-01-09  John Baldwin  <jhb@FreeBSD.org>
+
+	* configure.ac: Check for kinfo_getfile in libutil.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+	* fbsd-nat.c: Include "fbsd-tdep.h".
+	(fbsd_fetch_cmdline): New.
+	(fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
+	rather than calling error.
+	(fbsd_info_proc): New.
+	(fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
+	(fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
+	(fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
+
+2018-01-09  John Baldwin  <jhb@FreeBSD.org>
+
+	* fbsd-nat.c (struct free_deleter): Remove.
+	(fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
+
+2018-01-09  John Baldwin  <jhb@FreeBSD.org>
+
+	* fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
+	NULL for an empty pathname.
+
+2018-01-09  John Baldwin  <jhb@FreeBSD.org>
+
+	* fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
+	(KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
+	(KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
+	(KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
+	(KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
+	(KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
+	(KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
+	(KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
+	(kinfo_proc_layout_32, kinfo_proc_layout_i386)
+	(kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
+	(fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
+	(fbsd_core_fetch_timeval, fbsd_print_sigset)
+	(fbsd_core_info_proc_status, fbsd_core_info_proc): New.
+	(fbsd_init_abi):  Install gdbarch "core_info_proc" method.
+	* fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
+
 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
 
 	* gdb/gnu-nat.c: Include <elf.h> and <link.h>.
@@ -265,6 +9107,579 @@
 	GDB_SELF_TEST.
 	(maintenance_info_selftests): Likewise.
 
+2018-01-08  Xavier Roirand  <roirand@adacore.com>
+
+	* ada-valprint.c (val_print_packed_array_elements): Use
+	proper number of elements when printing an array indexed
+	by an enumeration type.
+
+2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
+	(dw2_get_file_names_reader): Adjust.
+	(lookup_dwo_signatured_type): Adjust.
+	(lookup_dwp_signatured_type): Adjust.
+	(lookup_signatured_type): Adjust.
+	(create_type_unit_group): Adjust.
+	(get_type_unit_group): Adjust.
+	(process_psymtab_comp_unit_reader): Adjust.
+	(build_type_psymtabs_reader): Adjust.
+	(scan_partial_symbols): Adjust.
+	(add_partial_symbol): Adjust.
+	(add_partial_subprogram): Adjust.
+	(peek_die_abbrev): Adjust.
+	(fixup_go_packaging): Adjust.
+	(process_imported_unit_die): Adjust.
+	(dwarf2_compute_name): Adjust.
+	(dwarf2_physname): Adjust.
+	(read_import_statement): Adjust.
+	(handle_DW_AT_stmt_list): Adjust.
+	(read_file_scope): Adjust.
+	(read_func_scope): Adjust.
+	(read_lexical_block_scope): Adjust.
+	(read_call_site_scope): Adjust.
+	(read_variable): Adjust.
+	(dwarf2_rnglists_process): Adjust.
+	(dwarf2_ranges_process): Adjust.
+	(dwarf2_ranges_read): Adjust.
+	(dwarf2_get_pc_bounds): Adjust.
+	(dwarf2_record_block_ranges): Adjust.
+	(dwarf2_add_field): Adjust.
+	(dwarf2_add_member_fn): Adjust.
+	(read_structure_type): Adjust.
+	(process_structure_scope): Adjust.
+	(read_enumeration_type): Adjust.
+	(read_array_type): Adjust.
+	(mark_common_block_symbol_computed): Adjust.
+	(read_common_block): Adjust.
+	(read_namespace_type): Adjust.
+	(read_namespace): Adjust.
+	(read_module_type): Adjust.
+	(read_tag_pointer_type): Adjust.
+	(read_tag_ptr_to_member_type): Adjust.
+	(read_tag_string_type): Adjust.
+	(read_subroutine_type): Adjust.
+	(read_typedef): Adjust.
+	(read_base_type): Adjust.
+	(attr_to_dynamic_prop): Adjust.
+	(read_subrange_type): Adjust.
+	(read_unspecified_type): Adjust.
+	(dwarf2_read_abbrevs): Adjust.
+	(load_partial_dies): Adjust.
+	(read_partial_die): Adjust.
+	(find_partial_die): Adjust.
+	(guess_partial_die_structure_name): Adjust.
+	(fixup_partial_die): Adjust.
+	(read_attribute_value): Adjust.
+	(read_addr_index): Adjust.
+	(read_addr_index_from_leb128): Adjust.
+	(read_str_index): Adjust.
+	(dwarf2_string_attr): Adjust.
+	(get_debug_line_section): Adjust.
+	(dwarf_decode_line_header): Adjust.
+	(lnp_state_machine::check_line_address): Adjust.
+	(dwarf_decode_lines_1): Adjust.
+	(dwarf_decode_lines): Adjust.
+	(dwarf2_start_symtab): Adjust.
+	(var_decode_location): Adjust.
+	(new_symbol_full): Adjust.
+	(dwarf2_const_value_data): Adjust.
+	(dwarf2_const_value_attr): Adjust.
+	(dwarf2_const_value): Adjust.
+	(die_type): Adjust.
+	(die_containing_type): Adjust.
+	(build_error_marker_type): Adjust.
+	(lookup_die_type): Adjust.
+	(guess_full_die_structure_name): Adjust.
+	(anonymous_struct_prefix): Adjust.
+	(determine_prefix): Adjust.
+	(dwarf2_name): Adjust.
+	(follow_die_ref_or_sig): Adjust.
+	(follow_die_offset): Adjust.
+	(follow_die_ref): Adjust.
+	(follow_die_sig_1): Adjust.
+	(follow_die_sig): Adjust.
+	(get_signatured_type): Adjust.
+	(get_DW_AT_signature_type): Adjust.
+	(decode_locdesc): Adjust.
+	(dwarf_decode_macros): Adjust.
+	(cu_debug_loc_section): Adjust.
+	(fill_in_loclist_baton): Adjust.
+	(dwarf2_symbol_mark_computed): Adjust.
+	(init_one_comp_unit): Don't assign
+	dwarf2_cu::dwarf2_per_objfile.
+	(set_die_type): Adjust.
+
+2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* dwarf2read.c (struct mapped_debug_names): Add constructor.
+	<dwarf2_per_objfile>: New field.
+	(dwarf2_per_objfile): Remove global.
+	(get_dwarf2_per_objfile): New function.
+	(set_dwarf2_per_objfile): New function.
+	(dwarf2_build_psymtabs_hard): Change objfile parameter to
+	dwarf2_per_objfile.
+	(abbrev_table_read_table): Add dwarf2_per_objfile parameter.
+	(read_abbrev_offset): Likewise.
+	(read_indirect_string): Likewise.
+	(read_indirect_line_string): Likewise.
+	(read_indirect_string_at_offset): Likewise.
+	(read_indirect_string_from_dwz): Likewise.
+	(dwarf2_find_containing_comp_unit): Change objfile parameter to
+	dwarf2_per_objfile.
+	(age_cached_comp_units): Add dwarf2_per_objfile parameter.
+	(create_all_comp_units): Change objfile parameter to
+	dwarf2_per_objfile.
+	(create_all_type_units): Likewise.
+	(process_queue): Add dwarf2_per_objfile parameter.
+	(read_and_check_comp_unit_head): Likewise.
+	(lookup_dwo_unit_in_dwp): Likewise.
+	(get_dwp_file): Likewise.
+	(process_cu_includes): Likewise.
+	(struct free_dwo_file_cleanup_data): New struct.
+	(dwarf2_has_info): Use get_dwarf2_per_objfile and
+	set_dwarf2_per_objfile.
+	(dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
+	(dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
+	context, adjust calls.
+	(dw2_instantiate_symtab): Likewise.
+	(dw2_get_cutu): Add dwarf2_per_objfile parameter.
+	(dw2_get_cu): Likewise.
+	(create_cu_from_index_list): Change objfile parameter to
+	dwarf2_per_objfile.
+	(create_cus_from_index_list): Get dwarf2_per_objfile from
+	context, adjust calls.
+	(create_cus_from_index): Likewise.
+	(create_signatured_type_table_from_index): Change objfile
+	parameter to dwarf2_per_objfile.
+	(create_signatured_type_table_from_debug_names): Change objfile
+	parameter to dwarf2_per_objfile.
+	(create_addrmap_from_index): Likewise.
+	(create_addrmap_from_aranges): Likewise.
+	(dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
+	(dw2_setup): Remove.
+	(dw2_get_file_names_reader): Get dwarf2_per_objfile from
+	context.
+	(dw2_find_last_source_symtab): Get dwarf2_per_objfile using
+	get_dwarf2_per_objfile.
+	(dw2_forget_cached_source_info): Likewise.
+	(dw2_map_symtabs_matching_filename): Likewise.
+	(struct dw2_symtab_iterator) <index>: Remove.
+	<dwarf2_per_objfile>: New field.
+	(dw2_symtab_iter_init): Replace index parameter with
+	dwarf2_per_objfile.
+	(dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
+	(dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
+	(dw2_print_stats): Likewise.
+	(dw2_dump): Likewise.
+	(dw2_expand_symtabs_for_function): Likewise.
+	(dw2_expand_all_symtabs): Likewise.
+	(dw2_expand_symtabs_with_fullname): Likewise.
+	(dw2_expand_marked_cus): Replace index and objfile parameters
+	with dwarf2_per_objfile.
+	(dw_expand_symtabs_matching_file_matcher): Add
+	dwarf2_per_objfile parameter and adjust calls.
+	(dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
+	adjust calls.
+	(dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
+	(dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
+	adjust calls.
+	(create_cus_from_debug_names_list): Replace objfile parameter
+	with dwarf2_per_objfile and adjust calls.
+	(create_cus_from_debug_names): Likewise.
+	(dwarf2_read_debug_names): Likewise.
+	(mapped_debug_names::namei_to_name): Adjust call.
+	(dw2_debug_names_iterator::next): Likewise.
+	(dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
+	(dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
+	(dw2_debug_names_dump): Likewise.
+	(dw2_debug_names_expand_symtabs_for_function): Likewise.
+	(dw2_debug_names_expand_symtabs_matching): Likewise.
+	(dwarf2_initialize_objfile): Likewise.
+	(dwarf2_build_psymtabs): Likewise.
+	(get_abbrev_section_for_cu): Get dwarf2_per_objfile from
+	this_cu.
+	(error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
+	(read_and_check_comp_unit_head): Likewise.
+	(read_abbrev_offset): Likewise.
+	(create_debug_type_hash_table): Likewise.
+	(create_debug_types_hash_table): Likewise.
+	(create_all_type_units): Replace objfile parameter with
+	dwarf2_per_objfile.
+	(add_type_unit): Add dwarf2_per_objfile parameter.
+	(fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
+	with dwarf2_per_objfile.
+	(lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
+	(lookup_dwp_signatured_type): Likewise.
+	(lookup_signatured_type): Likewise.
+	(read_cutu_die_from_dwo): Likewise.
+	(init_tu_and_read_dwo_dies): Likewise.
+	(init_cutu_and_read_dies): Likewise.
+	(init_cutu_and_read_dies_no_follow): Likewise.
+	(allocate_type_unit_groups_table): Add objfile parameter.
+	(create_type_unit_group): Use dwarf2_per_objfile from cu.
+	(get_type_unit_group): Likewise.
+	(process_psymtab_comp_unit): Update call.
+	(build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
+	(build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
+	(print_tu_stats): Likewise.
+	(build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
+	in void* parameter.
+	(build_type_psymtabs): Change objfile parameter to
+	dwarf2_per_objfile.
+	(process_skeletonless_type_unit): Use dwarf2_per_objfile
+	passed in void* parameter.
+	(process_skeletonless_type_units): Change objfile parameter to
+	dwarf2_per_objfile.
+	(set_partial_user): Likewise.
+	(dwarf2_build_psymtabs_hard): Likewise.
+	(read_comp_units_from_section): Likewise.
+	(create_all_comp_units): Likewise.
+	(scan_partial_symbols): Update calls.
+	(add_partial_symbol): Likewise.
+	(dwarf2_read_symtab): Use get_dwarf2_per_objfile.
+	(maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
+	(process_queue): Add dwarf2_per_objfile parameter.
+	(get_compunit_symtab): Use dwarf2_per_objfile from cu.
+	(compute_compunit_symtab_includes): Likewise.
+	(process_cu_includes): Add dwarf2_per_objfile parameter.
+	(process_full_comp_unit): Use dwarf2_per_objfile from cu.
+	(process_full_type_unit): Likewise.
+	(process_imported_unit_die): Update call.
+	(handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
+	(read_file_scope): Likewise.
+	(allocate_dwo_file_hash_table): Add objfile parameter.
+	(lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
+	(create_cus_hash_table): Likewise.
+	(create_dwp_hash_table): Likewise.
+	(create_dwo_unit_in_dwp_v1): Likewise.
+	(create_dwp_v2_section): Likewise.
+	(create_dwo_unit_in_dwp_v2): Likewise.
+	(lookup_dwo_unit_in_dwp): Likewise.
+	(try_open_dwop_file): Likewise.
+	(open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
+	(open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
+	cleanup to include a reference to dwarf2_per_objfile.
+	(open_dwp_file): Add dwarf2_per_objfile parameter.
+	(open_and_init_dwp_file): Likewise.
+	(get_dwp_file): Likewise.
+	(lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
+	(queue_and_load_all_dwo_tus): Update call.
+	(free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
+	data.
+	(dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
+	(dwarf2_ranges_process): Likewise.
+	(dwarf2_get_pc_bounds): Likewise.
+	(mark_common_block_symbol_computed): Likewise.
+	(abbrev_table_read_table): Add dwarf2_per_objfile parameter.
+	(dwarf2_read_abbrevs): Update call.
+	(read_partial_die): Use dwarf2_per_objfile from cu.
+	(find_partial_die): Likewise.
+	(fixup_partial_die): Likewise.
+	(read_attribute_value): Likewise.
+	(read_indirect_string_at_offset_from): Add objfile parameter.
+	(read_indirect_string_at_offset): Add dwarf2_per_objfile
+	parameter.
+	(read_indirect_string_from_dwz): Add objfile parameter.
+	(read_indirect_string): Add objfile parameter.
+	(read_addr_index_1): Add dwarf2_per_objfile parameter.
+	(read_addr_index): Use dwarf2_per_objfile from cu.
+	(dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
+	call dw2_setup.
+	(read_str_index): Use dwarf2_per_objfile from cu.
+	(get_debug_line_section): Likewise.
+	(read_formatted_entries): Add dwarf2_per_objfile parameter.
+	(dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
+	(new_symbol_full): Use dwarf2_per_objfile from cu.
+	(build_error_marker_type): Likewise.
+	(lookup_die_type): Likewise.
+	(determine_prefix): Likewise.
+	(follow_die_offset): Likewise.
+	(dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
+	(dwarf2_fetch_constant_bytes): Don't call dw2_setup.
+	(dwarf2_fetch_die_type_sect_off): Likewise.
+	(dwarf2_get_die_type): Likewise.
+	(follow_die_sig_1): Use dwarf2_per_objfile from cu.
+	(get_signatured_type): Likewise.
+	(get_DW_AT_signature_type): Likewise.
+	(dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
+	(dwarf_decode_macros): Use dwarf2_per_objfile from cu.
+	(cu_debug_loc_section): Likewise.
+	(fill_in_loclist_baton): Likewise.
+	(dwarf2_symbol_mark_computed): Likewise.
+	(dwarf2_find_containing_comp_unit): Change objfile parameter to
+	dwarf2_per_objfile.
+	(free_cached_comp_units): Use dwarf2_per_objfile passed in void*
+	parameter.
+	(age_cached_comp_units): Add dwarf2_per_objfile parameter.
+	(free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
+	(dwarf2_free_objfile): Use get_dwarf2_per_objfile.
+	(set_die_type): Use dwarf2_free_objfile from cu.
+	(get_die_type_at_offset): Likewise.
+	(dwarf2_per_objfile_free): Don't assign global variable.
+	(debug_names) <constructor>: Add dwarf2_per_objfile
+	parameter, update m_debugstrlookup construction.
+	(debug_names::debug_str_lookup): Add dwarf2_per_objfile
+	parameter.
+	<m_dwarf2_per_objfile>: New field.
+	<lookup>: Use m_dwarf2_per_objfile.
+	(check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
+	(psyms_seen_size): Likewise.
+	(write_gdbindex): Replace objfile parameter with
+	dwarf2_per_objfile.
+	(write_debug_names): Likewise.
+	(write_psymtabs_to_index): Likewise.
+	(save_gdb_index_command): Use get_dwarf2_per_objfile, update
+	calls.
+
+2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
+	<dwarf2_per_objfile>: New field.
+	(struct dwarf2_per_cu_data) <objfile>: Remove.
+	<dwarf2_per_objfile>: New field.
+	(create_cu_from_index_list): Assign dwarf2_per_objfile instead
+	of objfile.
+	(create_signatured_type_table_from_index): Likewise.
+	(create_debug_type_hash_table): Likewise.
+	(fill_in_sig_entry_from_dwo_entry): Likewise.
+	(lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
+	(create_type_unit_group): Assign dwarf2_per_objfile instead of
+	objfile.
+	(create_partial_symtab): Access objfile through
+	dwarf2_per_objfile.
+	(process_psymtab_comp_unit_reader): Likewise.
+	(read_comp_units_from_section): Likewise.
+	(scan_partial_symbols): Likewise.
+	(add_partial_symbol): Likewise.
+	(add_partial_subprogram): Likewise.
+	(peek_die_abbrev): Likewise.
+	(fixup_go_packaging): Likewise.
+	(process_full_comp_unit): Likewise.
+	(process_full_type_unit): Likewise.
+	(process_imported_unit_die): Likewise.
+	(dwarf2_compute_name): Likewise.
+	(dwarf2_physname): Likewise.
+	(read_import_statement): Likewise.
+	(create_cus_hash_table): Assign dwarf2_physname instead of
+	objfile.
+	(read_func_scope): Access objfile through dwarf2_per_objfile.
+	(read_lexical_block_scope): Likewise.
+	(read_call_site_scope): Likewise.
+	(read_variable): Likewise.
+	(dwarf2_rnglists_process): Likewise.
+	(dwarf2_ranges_process): Likewise.
+	(dwarf2_ranges_read): Likewise.
+	(dwarf2_record_block_ranges): Likewise.
+	(dwarf2_add_field): Likewise.
+	(dwarf2_add_member_fn): Likewise.
+	(read_structure_type): Likewise.
+	(process_structure_scope): Likewise.
+	(read_enumeration_type): Likewise.
+	(read_array_type): Likewise.
+	(read_common_block): Likewise.
+	(read_namespace_type): Likewise.
+	(read_namespace): Likewise.
+	(read_module_type): Likewise.
+	(read_tag_pointer_type): Likewise.
+	(read_tag_ptr_to_member_type): Likewise.
+	(read_tag_string_type): Likewise.
+	(read_subroutine_type): Likewise.
+	(read_typedef): Likewise.
+	(read_base_type): Likewise.
+	(attr_to_dynamic_prop): Likewise.
+	(read_subrange_type): Likewise.
+	(read_unspecified_type): Likewise.
+	(load_partial_dies): Likewise.
+	(read_partial_die): Likewise.
+	(find_partial_die): Likewise.
+	(guess_partial_die_structure_name): Likewise.
+	(fixup_partial_die): Likewise.
+	(read_attribute_value): Likewise.
+	(read_addr_index_from_leb128): Likewise.
+	(dwarf2_read_addr_index): Likewise.
+	(dwarf2_string_attr): Likewise.
+	(lnp_state_machine::check_line_address): Likewise.
+	(dwarf_decode_lines_1): Likewise.
+	(dwarf_decode_lines): Likewise.
+	(dwarf2_start_symtab): Likewise.
+	(var_decode_location): Likewise.
+	(new_symbol_full): Likewise.
+	(dwarf2_const_value_data): Likewise.
+	(dwarf2_const_value_attr): Likewise.
+	(dwarf2_const_value): Likewise.
+	(die_type): Likewise.
+	(die_containing_type): Likewise.
+	(lookup_die_type): Likewise.
+	(guess_full_die_structure_name): Likewise.
+	(anonymous_struct_prefix): Likewise.
+	(dwarf2_name): Likewise.
+	(follow_die_ref_or_sig): Likewise.
+	(follow_die_offset): Likewise.
+	(follow_die_ref): Likewise.
+	(dwarf2_fetch_die_loc_sect_off): Likewise.
+	(dwarf2_fetch_constant_bytes): Likewise.
+	(dwarf2_fetch_die_type_sect_off): Likewise.
+	(dwarf2_get_die_type): Likewise.
+	(follow_die_sig): Likewise.
+	(decode_locdesc): Likewise.
+	(dwarf2_per_cu_objfile): Likewise.
+	(dwarf2_per_cu_text_offset): Likewise.
+	(init_one_comp_unit): Assign dwarf2_per_objfile instead of
+	objfile.
+	(set_die_type): Access objfile through
+	dwarf2_per_objfile.
+
+2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* valprint.c (converted_character_d): Remove typedef.
+	(DEF_VEC_O (converted_character_d)): Remove.
+	(count_next_character): Use std::vector.
+	(print_converted_chars_to_obstack): Likewise.
+	(generic_printstr): Likewise.
+
+2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* xml-support.h (struct gdb_xml_value): Add constructor.
+	<value>: Change type to unique_xmalloc_ptr.
+	(gdb_xml_value_s): Remove typedef.
+	(DEF_VEC_O (gdb_xml_value_s)): Remove.
+	(gdb_xml_element_start_handler): Change parameter type to
+	std::vector.
+	(xml_find_attribute): Likewise.
+	* xml-support.c (xml_find_attribute): Change parameter type to
+	std::vector and adjust.
+	(gdb_xml_values_cleanup): Remove.
+	(gdb_xml_parser::start_element): Adjust to std::vector.
+	(xinclude_start_include): Change paraeter type to std::vector
+	and adjust.
+	* btrace.c (check_xml_btrace_version): Likewise.
+	(parse_xml_btrace_block): Likewise.
+	(parse_xml_btrace_pt_config_cpu): Likewise.
+	(parse_xml_btrace_pt): Likewise.
+	(parse_xml_btrace_conf_bts): Likewise.
+	(parse_xml_btrace_conf_pt): Likewise.
+	* memory-map.c (memory_map_start_memory): Likewise.
+	(memory_map_start_property): Likewise.
+	* osdata.c (osdata_start_osdata): Likewise.
+	(osdata_start_item): Likewise.
+	(osdata_start_column): Likewise.
+	* remote.c (start_thread): Likewise.
+	* solib-aix.c (library_list_start_library): Likewise.
+	(library_list_start_list): Likewise.
+	* solib-svr4.c (library_list_start_library): Likewise.
+	(svr4_library_list_start_list): Likewise.
+	* solib-target.c (library_list_start_segment): Likewise.
+	(library_list_start_section): Likewise.
+	(library_list_start_library): Likewise.
+	(library_list_start_list): Likewise.
+	* tracepoint.c (traceframe_info_start_memory): Likewise.
+	(traceframe_info_start_tvar): Likewise.
+	* xml-syscall.c (syscall_start_syscall): Likewise.
+	* xml-tdesc.c (tdesc_start_target): Likewise.
+	(tdesc_start_feature): Likewise.
+	(tdesc_start_reg): Likewise.
+	(tdesc_start_union): Likewise.
+	(tdesc_start_struct): Likewise.
+	(tdesc_start_flags): Likewise.
+	(tdesc_start_enum): Likewise.
+	(tdesc_start_field): Likewise.
+	(tdesc_start_enum_value): Likewise.
+	(tdesc_start_vector): Likewise.
+
+2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* extension.h (struct xmethod_worker) <clone>: Remove.
+	* python/py-xmethods.c (struct python_xmethod_worker) <clone>:
+	Remove.
+	(python_xmethod_worker::clone): Remove.
+	* valops.c (find_overload_match): Use std::move instead of
+	clone.
+
+2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
+	(struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
+	<free_xmethod_worker_data>: Remove.
+	<get_matching_xmethod_workers>: Chance VEC to std::vector.
+	<get_xmethod_arg_types>: Remove.
+	<get_xmethod_result_type>: Remove.
+	<invoke_xmethod>: Remove.
+	* extension.c (new_xmethod_worker): Remove.
+	(clone_xmethod_worker): Remove.
+	(get_matching_xmethod_workers): Return void, pass std::vector by
+	pointer.
+	(get_xmethod_arg_types): Rename to...
+	(xmethod_worker::get_arg_types): ... this, and adjust.
+	(get_xmethod_result_type): Rename to...
+	(xmethod_worker::get_result_type): ... this, and adjust.
+	(invoke_xmethod): Remove.
+	(free_xmethod_worker): Remove.
+	(free_xmethod_worker_vec): Remove.
+	* extension.h (enum ext_lang_rc): Move here from
+	extension-priv.h.
+	(struct xmethod_worker): Add constructor and destructor.
+	<data>: Remove.
+	<value>: Remove.
+	<invoke, clone, do_get_result_type, do_get_arg_types>: New
+	virtual pure methods.
+	<get_arg_types, get_result_type>: New methods.
+	(xmethod_worker_ptr): Remove typedef.
+	(DEF_VEC_P (xmethod_worker_ptr)): Remove.
+	(xmethod_worker_vec): Remove typedef.
+	(xmethod_worker_up): New typedef.
+	(invoke_xmethod): Remove.
+	(clone_xmethod_worker): Remove.
+	(free_xmethod_worker): Remove.
+	(free_xmethod_worker_vec): Remove.
+	(get_xmethod_arg_types): Remove.
+	(get_xmethod_result_type): Remove.
+	* valops.c (find_method_list): Use std::vector, don't use
+	intermediate vector.
+	(value_find_oload_method_list): Use std::vector.
+	(find_overload_match): Use std::vector.
+	(find_oload_champ): Use std::vector.
+	* value.c (value_free): Use operator delete.
+	(value_of_xmethod): Rename to...
+	(value_from_xmethod): ... this.  Don't assign
+	xmethod_worker::value, take rvalue-reference.
+	(result_type_of_xmethod): Adjust.
+	(call_xmethod): Adjust.
+	* value.h: Include extension.h.
+	(struct xmethod_worker): Don't forward-declare.
+	(value_of_xmethod): Rename to...
+	(value_from_xmethod): ... this, take rvalue-reference.
+	* python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
+	(struct python_xmethod_worker): ... this, add constructor and
+	destructor.
+	<invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
+	(gdbpy_free_xmethod_worker_data): Rename to...
+	(python_xmethod_worker::~python_xmethod_worker): ... this and
+	adjust.
+	(gdbpy_clone_xmethod_worker_data): Rename to...
+	(python_xmethod_worker::clone): ... this and adjust.
+	(gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
+	temporary vector.
+	(gdbpy_get_xmethod_arg_types): Rename to...
+	(python_xmethod_worker::do_get_arg_types): ... this and adjust.
+	(gdbpy_get_xmethod_result_type): Rename to...
+	(python_xmethod_worker::do_get_result_type): ... this and
+	adjust.
+	(gdbpy_invoke_xmethod): Rename to...
+	(python_xmethod_worker::invoke): ... this and adjust.
+	(new_python_xmethod_worker): Rename to...
+	(python_xmethod_worker::python_xmethod_worker): ... this and
+	adjust.
+	* python/python-internal.h (gdbpy_clone_xmethod_worker_data):
+	Remove.
+	(gdbpy_free_xmethod_worker_data): Remove.
+	(gdbpy_get_matching_xmethod_workers): Use std::vector.
+	(gdbpy_get_xmethod_arg_types): Remove.
+	(gdbpy_get_xmethod_result_type): Remove.
+	(gdbpy_invoke_xmethod): Remove.
+	* python/python.c (python_extension_ops): Remove obsolete
+	callbacks.
+
 2018-01-05  Pedro Alves  <palves@redhat.com>
 
 	PR gdb/18653
@@ -330,8 +9745,36 @@
 
 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
 
+	* ada-exp.y (write_object_renaming): When subscripting an array
+	using a symbol as the index, pass the block in call to
+	ada_lookup_encoded_symbol when looking that symbol up.
+
+2018-01-05  Jerome Guitton  <guitton@adacore.com>
+
+	* ada-lang.c (ada_array_length): Use ada_index_type instead of
+	TYPE_INDEX_TYPE.
+
+2018-01-05  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_to_fixed_value_create): Add handling of
+	the case where VALUE_LVAL (val0) is not lval_memory.
+
+2018-01-05  Xavier Roirand  <roirand@adacore.com>
+
+	* ada-valprint.c (print_optional_low_bound): Handle
+	character-indexed array printing like boolean-indexed array
+	printing.
+
+2018-01-05  Joel Brobecker  <brobecker@adacore.com>
+
+	* NEWS: Create a new section for the next release branch.
+	Rename the section of the current branch, now that it has
+	been cut.
+
+2018-01-05  Joel Brobecker  <brobecker@adacore.com>
+
 	GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
-	* version.in: Bump version to 8.0.90.DATE-git.
+	* version.in: Bump version to 8.1.50.DATE-git.
 
 2018-01-03  Xavier Roirand  <roirand@adacore.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/charset.c ./gdb/charset.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/charset.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/charset.c	2018-07-10 02:06:12.000000000 +0000
@@ -705,21 +705,33 @@ wchar_iterator::iterate (enum wchar_iter
   return -1;
 }
 
-/* The charset.c module initialization function.  */
+struct charset_vector
+{
+  ~charset_vector ()
+  {
+    clear ();
+  }
 
-static VEC (char_ptr) *charsets;
+  void clear ()
+  {
+    for (char *c : charsets)
+      xfree (c);
+
+    charsets.clear ();
+  }
+
+  std::vector<char *> charsets;
+};
+
+static charset_vector charsets;
 
 #ifdef PHONY_ICONV
 
 static void
 find_charset_names (void)
 {
-  /* Cast is fine here, because CHARSETS is never released.  Note that
-     the vec does not hold "const char *" pointers instead of "char *"
-     because the non-phony version stores heap-allocated strings in
-     it.  */
-  VEC_safe_push (char_ptr, charsets, (char *) GDB_DEFAULT_HOST_CHARSET);
-  VEC_safe_push (char_ptr, charsets, NULL);
+  charsets.charsets.push_back (xstrdup (GDB_DEFAULT_HOST_CHARSET));
+  charsets.charsets.push_back (NULL);
 }
 
 #else /* PHONY_ICONV */
@@ -740,7 +752,7 @@ add_one (unsigned int count, const char 
   unsigned int i;
 
   for (i = 0; i < count; ++i)
-    VEC_safe_push (char_ptr, charsets, xstrdup (names[i]));
+    charsets.charsets.push_back (xstrdup (names[i]));
 
   return 0;
 }
@@ -749,7 +761,8 @@ static void
 find_charset_names (void)
 {
   iconvlist (add_one, NULL);
-  VEC_safe_push (char_ptr, charsets, NULL);
+
+  charsets.charsets.push_back (NULL);
 }
 
 #else
@@ -879,7 +892,7 @@ find_charset_names (void)
 		break;
 	      keep_going = *p;
 	      *p = '\0';
-	      VEC_safe_push (char_ptr, charsets, xstrdup (start));
+	      charsets.charsets.push_back (xstrdup (start));
 	      if (!keep_going)
 		break;
 	      /* Skip any extra spaces.  */
@@ -900,11 +913,10 @@ find_charset_names (void)
   if (fail)
     {
       /* Some error occurred, so drop the vector.  */
-      free_char_ptr_vec (charsets);
-      charsets = NULL;
+      charsets.clear ();
     }
   else
-    VEC_safe_push (char_ptr, charsets, NULL);
+    charsets.charsets.push_back (NULL);
 }
 
 #endif /* HAVE_ICONVLIST || HAVE_LIBICONVLIST */
@@ -994,11 +1006,11 @@ void
 _initialize_charset (void)
 {
   /* The first element is always "auto".  */
-  VEC_safe_push (char_ptr, charsets, xstrdup ("auto"));
+  charsets.charsets.push_back (xstrdup ("auto"));
   find_charset_names ();
 
-  if (VEC_length (char_ptr, charsets) > 1)
-    charset_enum = (const char **) VEC_address (char_ptr, charsets);
+  if (charsets.charsets.size () > 1)
+    charset_enum = (const char **) charsets.charsets.data ();
   else
     charset_enum = default_charset_names;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-lang.c ./gdb/c-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-lang.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/c-lang.c	2018-07-10 02:06:12.000000000 +0000
@@ -25,6 +25,7 @@
 #include "language.h"
 #include "varobj.h"
 #include "c-lang.h"
+#include "c-support.h"
 #include "valprint.h"
 #include "macroscope.h"
 #include "charset.h"
@@ -233,7 +234,7 @@ c_printstr (struct ui_file *stream, stru
    target charset.  */
 
 void
-c_get_string (struct value *value, gdb_byte **buffer,
+c_get_string (struct value *value, gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
 	      int *length, struct type **char_type,
 	      const char **charset)
 {
@@ -299,8 +300,8 @@ c_get_string (struct value *value, gdb_b
       /* I is now either a user-defined length, the number of non-null
  	 characters, or FETCHLIMIT.  */
       *length = i * width;
-      *buffer = (gdb_byte *) xmalloc (*length);
-      memcpy (*buffer, contents, *length);
+      buffer->reset ((gdb_byte *) xmalloc (*length));
+      memcpy (buffer->get (), contents, *length);
       err = 0;
     }
   else
@@ -325,10 +326,7 @@ c_get_string (struct value *value, gdb_b
       err = read_string (addr, *length, width, fetchlimit,
 			 byte_order, buffer, length);
       if (err != 0)
-	{
-	  xfree (*buffer);
-	  memory_error (TARGET_XFER_E_IO, addr);
-	}
+	memory_error (TARGET_XFER_E_IO, addr);
     }
 
   /* If the LENGTH is specified at -1, we want to return the string
@@ -338,7 +336,7 @@ c_get_string (struct value *value, gdb_b
   if (req_length == -1)
     /* If the last character is null, subtract it from LENGTH.  */
     if (*length > 0
- 	&& extract_unsigned_integer (*buffer + *length - width,
+	&& extract_unsigned_integer (buffer->get () + *length - width,
 				     width, byte_order) == 0)
       *length -= width;
   
@@ -382,7 +380,7 @@ convert_ucn (char *p, char *limit, const
   gdb_byte data[4];
   int i;
 
-  for (i = 0; i < length && p < limit && isxdigit (*p); ++i, ++p)
+  for (i = 0; i < length && p < limit && ISXDIGIT (*p); ++i, ++p)
     result = (result << 4) + host_hex_value (*p);
 
   for (i = 3; i >= 0; --i)
@@ -424,7 +422,7 @@ convert_octal (struct type *type, char *
   unsigned long value = 0;
 
   for (i = 0;
-       i < 3 && p < limit && isdigit (*p) && *p != '8' && *p != '9';
+       i < 3 && p < limit && ISDIGIT (*p) && *p != '8' && *p != '9';
        ++i)
     {
       value = 8 * value + host_hex_value (*p);
@@ -447,7 +445,7 @@ convert_hex (struct type *type, char *p,
 {
   unsigned long value = 0;
 
-  while (p < limit && isxdigit (*p))
+  while (p < limit && ISXDIGIT (*p))
     {
       value = 16 * value + host_hex_value (*p);
       ++p;
@@ -488,7 +486,7 @@ convert_escape (struct type *type, const
 
     case 'x':
       ADVANCE;
-      if (!isxdigit (*p))
+      if (!ISXDIGIT (*p))
 	error (_("\\x used with no following hex digits."));
       p = convert_hex (type, p, limit, output);
       break;
@@ -510,7 +508,7 @@ convert_escape (struct type *type, const
 	int length = *p == 'u' ? 4 : 8;
 
 	ADVANCE;
-	if (!isxdigit (*p))
+	if (!ISXDIGIT (*p))
 	  error (_("\\u used with no following hex digits"));
 	p = convert_ucn (p, limit, dest_charset, output, length);
       }
@@ -751,6 +749,7 @@ const struct op_print c_op_print_tab[] =
   {"*", UNOP_IND, PREC_PREFIX, 0},
   {"&", UNOP_ADDR, PREC_PREFIX, 0},
   {"sizeof ", UNOP_SIZEOF, PREC_PREFIX, 0},
+  {"alignof ", UNOP_ALIGNOF, PREC_PREFIX, 0},
   {"++", UNOP_PREINCREMENT, PREC_PREFIX, 0},
   {"--", UNOP_PREDECREMENT, PREC_PREFIX, 0},
   {NULL, OP_NULL, PREC_PREFIX, 0}
@@ -841,7 +840,6 @@ extern const struct language_defn c_lang
   c_extensions,
   &exp_descriptor_c,
   c_parse,
-  c_yyerror,
   null_post_parser,
   c_printchar,			/* Print a character constant */
   c_printstr,			/* Function to print string constant */
@@ -853,6 +851,7 @@ extern const struct language_defn c_lang
   default_read_var_value,	/* la_read_var_value */
   NULL,				/* Language specific skip_trampoline */
   NULL,				/* name_of_this */
+  true,				/* la_store_sym_names_in_linkage_form_p */
   basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   NULL,				/* Language specific symbol demangler */
@@ -986,7 +985,6 @@ extern const struct language_defn cplus_
   cplus_extensions,
   &exp_descriptor_c,
   c_parse,
-  c_yyerror,
   null_post_parser,
   c_printchar,			/* Print a character constant */
   c_printstr,			/* Function to print string constant */
@@ -998,6 +996,7 @@ extern const struct language_defn cplus_
   default_read_var_value,	/* la_read_var_value */
   cplus_skip_trampoline,	/* Language specific skip_trampoline */
   "this",                       /* name_of_this */
+  false,			/* la_store_sym_names_in_linkage_form_p */
   cp_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   cp_lookup_transparent_type,   /* lookup_transparent_type */
   gdb_demangle,			/* Language specific symbol demangler */
@@ -1040,7 +1039,6 @@ extern const struct language_defn asm_la
   asm_extensions,
   &exp_descriptor_c,
   c_parse,
-  c_yyerror,
   null_post_parser,
   c_printchar,			/* Print a character constant */
   c_printstr,			/* Function to print string constant */
@@ -1052,6 +1050,7 @@ extern const struct language_defn asm_la
   default_read_var_value,	/* la_read_var_value */
   NULL,				/* Language specific skip_trampoline */
   NULL,				/* name_of_this */
+  true,				/* la_store_sym_names_in_linkage_form_p */
   basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   NULL,				/* Language specific symbol demangler */
@@ -1094,7 +1093,6 @@ extern const struct language_defn minima
   NULL,
   &exp_descriptor_c,
   c_parse,
-  c_yyerror,
   null_post_parser,
   c_printchar,			/* Print a character constant */
   c_printstr,			/* Function to print string constant */
@@ -1106,6 +1104,7 @@ extern const struct language_defn minima
   default_read_var_value,	/* la_read_var_value */
   NULL,				/* Language specific skip_trampoline */
   NULL,				/* name_of_this */
+  true,				/* la_store_sym_names_in_linkage_form_p */
   basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   NULL,				/* Language specific symbol demangler */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-lang.h ./gdb/c-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-lang.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/c-lang.h	2018-07-10 02:06:12.000000000 +0000
@@ -63,8 +63,6 @@ DEF_ENUM_FLAGS_TYPE (enum c_string_type_
 
 extern int c_parse (struct parser_state *);
 
-extern void c_yyerror (const char *);
-
 extern int c_parse_escape (const char **, struct obstack *);
 
 /* Defined in c-typeprint.c */
@@ -72,6 +70,13 @@ extern void c_print_type (struct type *,
 			  struct ui_file *, int, int,
 			  const struct type_print_options *);
 
+/* Print a type but allow the precise language to be specified.  */
+
+extern void c_print_type (struct type *, const char *,
+			  struct ui_file *, int, int,
+			  enum language,
+			  const struct type_print_options *);
+
 extern void c_print_typedef (struct type *,
 			     struct symbol *,
 			     struct ui_file *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-cmds.c ./gdb/cli/cli-cmds.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-cmds.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cli/cli-cmds.c	2018-07-10 02:06:12.000000000 +0000
@@ -315,7 +315,7 @@ is_complete_command (struct cmd_list_ele
 static void
 show_version (const char *args, int from_tty)
 {
-  print_gdb_version (gdb_stdout);
+  print_gdb_version (gdb_stdout, true);
   printf_filtered ("\n");
 }
 
@@ -496,7 +496,7 @@ gdb::optional<open_script>
 find_and_open_script (const char *script_file, int search_path)
 {
   int fd;
-  int search_flags = OPF_TRY_CWD_FIRST | OPF_RETURN_REALPATH;
+  openp_flags search_flags = OPF_TRY_CWD_FIRST | OPF_RETURN_REALPATH;
   gdb::optional<open_script> opened;
 
   gdb::unique_xmalloc_ptr<char> file (tilde_expand (script_file));
@@ -506,10 +506,9 @@ find_and_open_script (const char *script
 
   /* Search for and open 'file' on the search path used for source
      files.  Put the full location in *FULL_PATHP.  */
-  char *temp_path;
+  gdb::unique_xmalloc_ptr<char> full_path;
   fd = openp (source_path, search_flags,
-	      file.get (), O_RDONLY, &temp_path);
-  gdb::unique_xmalloc_ptr<char> full_path (temp_path);
+	      file.get (), O_RDONLY, &full_path);
 
   if (fd == -1)
     return opened;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-decode.c ./gdb/cli/cli-decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-decode.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cli/cli-decode.c	2018-07-10 02:06:12.000000000 +0000
@@ -193,7 +193,8 @@ static struct cmd_list_element *
 do_add_cmd (const char *name, enum command_class theclass,
 	    const char *doc, struct cmd_list_element **list)
 {
-  struct cmd_list_element *c = XNEW (struct cmd_list_element);
+  struct cmd_list_element *c = new struct cmd_list_element (name, theclass,
+							    doc);
   struct cmd_list_element *p, *iter;
 
   /* Turn each alias of the old command into an alias of the new
@@ -227,34 +228,6 @@ do_add_cmd (const char *name, enum comma
       p->next = c;
     }
 
-  c->name = name;
-  c->theclass = theclass;
-  set_cmd_context (c, NULL);
-  c->doc = doc;
-  c->cmd_deprecated = 0;
-  c->deprecated_warn_user = 0;
-  c->malloced_replacement = 0;
-  c->doc_allocated = 0;
-  c->replacement = NULL;
-  c->pre_show_hook = NULL;
-  c->hook_in = 0;
-  c->prefixlist = NULL;
-  c->prefixname = NULL;
-  c->allow_unknown = 0;
-  c->prefix = NULL;
-  c->abbrev_flag = 0;
-  set_cmd_completer (c, symbol_completer);
-  c->completer_handle_brkchars = NULL;
-  c->destroyer = NULL;
-  c->type = not_set_cmd;
-  c->var = NULL;
-  c->var_type = var_boolean;
-  c->enums = NULL;
-  c->user_commands = NULL;
-  c->cmd_pointer = NULL;
-  c->alias_chain = NULL;
-  c->suppress_notification = NULL;
-
   return c;
 }
 
@@ -841,8 +814,6 @@ delete_cmd (const char *name, struct cmd
 	  *prehookee = iter->hookee_pre;
 	  if (iter->hookee_post)
 	    iter->hookee_post->hook_post = 0;
-	  if (iter->doc && iter->doc_allocated)
-	    xfree ((char *) iter->doc);
 	  *posthook = iter->hook_post;
 	  *posthookee = iter->hookee_post;
 
@@ -866,7 +837,7 @@ delete_cmd (const char *name, struct cmd
 	      *prevp = iter->alias_chain;
 	    }
 
-	  xfree (iter);
+	  delete iter;
 
 	  /* We won't see another command with the same name.  */
 	  break;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-decode.h ./gdb/cli/cli-decode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-decode.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cli/cli-decode.h	2018-07-10 02:06:12.000000000 +0000
@@ -24,6 +24,7 @@
 /* Include the public interfaces.  */
 #include "command.h"
 #include "gdb_regex.h"
+#include "cli-script.h"
 
 #if 0
 /* FIXME: cagney/2002-03-17: Once cmd_type() has been removed, ``enum
@@ -45,8 +46,35 @@ cmd_types;
 
 struct cmd_list_element
   {
+    cmd_list_element (const char *name_, enum command_class theclass_,
+		      const char *doc_)
+      : name (name_),
+	theclass (theclass_),
+	cmd_deprecated (0),
+	deprecated_warn_user (0),
+	malloced_replacement (0),
+	doc_allocated (0),
+	hook_in (0),
+	allow_unknown (0),
+	abbrev_flag (0),
+	type (not_set_cmd),
+	var_type (var_boolean),
+	doc (doc_)
+    {
+      memset (&function, 0, sizeof (function));
+    }
+
+    ~cmd_list_element ()
+    {
+      if (doc && doc_allocated)
+	xfree ((char *) doc);
+    }
+
+    DISABLE_COPY_AND_ASSIGN (cmd_list_element);
+
+
     /* Points to next command in this list.  */
-    struct cmd_list_element *next;
+    struct cmd_list_element *next = nullptr;
 
     /* Name of this command.  */
     const char *name;
@@ -107,7 +135,8 @@ struct cmd_list_element
        cagney/2002-02-02: This function signature is evolving.  For
        the moment suggest sticking with either set_cmd_cfunc() or
        set_cmd_sfunc().  */
-    void (*func) (struct cmd_list_element *c, const char *args, int from_tty);
+    void (*func) (struct cmd_list_element *c, const char *args, int from_tty)
+      = nullptr;
     /* The command's real callback.  At present func() bounces through
        to one of the below.  */
     union
@@ -121,7 +150,7 @@ struct cmd_list_element
     function;
 
     /* Local state (context) for this command.  This can be anything.  */
-    void *context;
+    void *context = nullptr;
 
     /* Documentation of this command (or help topic).
        First line is brief documentation; remaining lines form, with it,
@@ -131,37 +160,37 @@ struct cmd_list_element
 
     /* For set/show commands.  A method for printing the output to the
        specified stream.  */
-    show_value_ftype *show_value_func;
+    show_value_ftype *show_value_func = nullptr;
 
     /* If this command is deprecated, this is the replacement name.  */
-    const char *replacement;
+    const char *replacement = nullptr;
 
     /* If this command represents a show command, then this function
        is called before the variable's value is examined.  */
-    void (*pre_show_hook) (struct cmd_list_element *c);
+    void (*pre_show_hook) (struct cmd_list_element *c) = nullptr;
 
     /* Hook for another command to be executed before this command.  */
-    struct cmd_list_element *hook_pre;
+    struct cmd_list_element *hook_pre = nullptr;
 
     /* Hook for another command to be executed after this command.  */
-    struct cmd_list_element *hook_post;
+    struct cmd_list_element *hook_post = nullptr;
 
     /* Nonzero identifies a prefix command.  For them, the address
        of the variable containing the list of subcommands.  */
-    struct cmd_list_element **prefixlist;
+    struct cmd_list_element **prefixlist = nullptr;
 
     /* For prefix commands only:
        String containing prefix commands to get here: this one
        plus any others needed to get to it.  Should end in a space.
        It is used before the word "command" in describing the
        commands reached through this prefix.  */
-    const char *prefixname;
+    const char *prefixname = nullptr;
 
     /* The prefix command of this command.  */
-    struct cmd_list_element *prefix;
+    struct cmd_list_element *prefix = nullptr;
 
     /* Completion routine for this command.  */
-    completer_ftype *completer;
+    completer_ftype *completer = symbol_completer;
 
     /* Handle the word break characters for this completer.  Usually
        this function need not be defined, but for some types of
@@ -169,47 +198,47 @@ struct cmd_list_element
        a class) the word break chars may need to be redefined
        depending on the completer type (e.g., for filename
        completers).  */
-    completer_handle_brkchars_ftype *completer_handle_brkchars;
+    completer_handle_brkchars_ftype *completer_handle_brkchars = nullptr;
 
     /* Destruction routine for this command.  If non-NULL, this is
        called when this command instance is destroyed.  This may be
        used to finalize the CONTEXT field, if needed.  */
-    void (*destroyer) (struct cmd_list_element *self, void *context);
+    void (*destroyer) (struct cmd_list_element *self, void *context) = nullptr;
 
     /* Pointer to variable affected by "set" and "show".  Doesn't
        matter if type is not_set.  */
-    void *var;
+    void *var = nullptr;
 
     /* Pointer to NULL terminated list of enumerated values (like
        argv).  */
-    const char *const *enums;
+    const char *const *enums = nullptr;
 
     /* Pointer to command strings of user-defined commands */
-    struct command_line *user_commands;
+    counted_command_line user_commands;
 
     /* Pointer to command that is hooked by this one, (by hook_pre)
        so the hook can be removed when this one is deleted.  */
-    struct cmd_list_element *hookee_pre;
+    struct cmd_list_element *hookee_pre = nullptr;
 
     /* Pointer to command that is hooked by this one, (by hook_post)
        so the hook can be removed when this one is deleted.  */
-    struct cmd_list_element *hookee_post;
+    struct cmd_list_element *hookee_post = nullptr;
 
     /* Pointer to command that is aliased by this one, so the
        aliased command can be located in case it has been hooked.  */
-    struct cmd_list_element *cmd_pointer;
+    struct cmd_list_element *cmd_pointer = nullptr;
 
     /* Start of a linked list of all aliases of this command.  */
-    struct cmd_list_element *aliases;
+    struct cmd_list_element *aliases = nullptr;
 
     /* Link pointer for aliases on an alias list.  */
-    struct cmd_list_element *alias_chain;
+    struct cmd_list_element *alias_chain = nullptr;
 
     /* If non-null, the pointer to a field in 'struct
        cli_suppress_notification', which will be set to true in cmd_func
        when this command is being executed.  It will be set back to false
        when the command has been executed.  */
-    int *suppress_notification;
+    int *suppress_notification = nullptr;
   };
 
 extern void help_cmd_list (struct cmd_list_element *, enum command_class,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-interp.c ./gdb/cli/cli-interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-interp.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cli/cli-interp.c	2018-07-10 02:06:12.000000000 +0000
@@ -26,9 +26,10 @@
 #include "top.h"		/* for "execute_command" */
 #include "event-top.h"
 #include "infrun.h"
-#include "observer.h"
+#include "observable.h"
 #include "gdbthread.h"
 #include "thread-fsm.h"
+#include "inferior.h"
 
 cli_interp_base::cli_interp_base (const char *name)
   : interp (name)
@@ -73,9 +74,7 @@ struct cli_suppress_notification cli_sup
 static struct cli_interp *
 as_cli_interp (struct interp *interp)
 {
-  if (strcmp (interp_name (interp), INTERP_CONSOLE) == 0)
-    return (struct cli_interp *) interp;
-  return NULL;
+  return dynamic_cast<cli_interp *> (interp);
 }
 
 /* Longjmp-safe wrapper for "execute_command".  */
@@ -356,11 +355,10 @@ safe_execute_command (struct ui_out *com
 		      int from_tty)
 {
   struct gdb_exception e = exception_none;
-  struct ui_out *saved_uiout;
 
   /* Save and override the global ``struct ui_out'' builder.  */
-  saved_uiout = current_uiout;
-  current_uiout = command_uiout;
+  scoped_restore saved_uiout = make_scoped_restore (&current_uiout,
+						    command_uiout);
 
   TRY
     {
@@ -372,9 +370,6 @@ safe_execute_command (struct ui_out *com
     }
   END_CATCH
 
-  /* Restore the global builder.  */
-  current_uiout = saved_uiout;
-
   /* FIXME: cagney/2005-01-13: This shouldn't be needed.  Instead the
      caller should print the exception.  */
   exception_print (gdb_stderr, e);
@@ -461,14 +456,14 @@ _initialize_cli_interp (void)
   interp_factory_register (INTERP_CONSOLE, cli_interp_factory);
 
   /* If changing this, remember to update tui-interp.c as well.  */
-  observer_attach_normal_stop (cli_on_normal_stop);
-  observer_attach_end_stepping_range (cli_on_end_stepping_range);
-  observer_attach_signal_received (cli_on_signal_received);
-  observer_attach_signal_exited (cli_on_signal_exited);
-  observer_attach_exited (cli_on_exited);
-  observer_attach_no_history (cli_on_no_history);
-  observer_attach_sync_execution_done (cli_on_sync_execution_done);
-  observer_attach_command_error (cli_on_command_error);
-  observer_attach_user_selected_context_changed
+  gdb::observers::normal_stop.attach (cli_on_normal_stop);
+  gdb::observers::end_stepping_range.attach (cli_on_end_stepping_range);
+  gdb::observers::signal_received.attach (cli_on_signal_received);
+  gdb::observers::signal_exited.attach (cli_on_signal_exited);
+  gdb::observers::exited.attach (cli_on_exited);
+  gdb::observers::no_history.attach (cli_on_no_history);
+  gdb::observers::sync_execution_done.attach (cli_on_sync_execution_done);
+  gdb::observers::command_error.attach (cli_on_command_error);
+  gdb::observers::user_selected_context_changed.attach
     (cli_on_user_selected_context_changed);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-script.c ./gdb/cli/cli-script.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-script.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cli/cli-script.c	2018-07-10 02:06:12.000000000 +0000
@@ -32,16 +32,20 @@
 #include "extension.h"
 #include "interps.h"
 #include "compile/compile.h"
+#include "common/gdb_string_view.h"
 
 #include <vector>
 
 /* Prototypes for local functions.  */
 
 static enum command_control_type
-recurse_read_control_structure (char * (*read_next_line_func) (void),
-				struct command_line *current_cmd,
-				void (*validator)(char *, void *),
-				void *closure);
+recurse_read_control_structure
+    (gdb::function_view<const char * ()> read_next_line_func,
+     struct command_line *current_cmd,
+     gdb::function_view<void (const char *)> validator);
+
+static void do_define_command (const char *comname, int from_tty,
+			       const counted_command_line *commands);
 
 static char *read_next_line (void);
 
@@ -54,18 +58,6 @@ static int command_nest_depth = 1;
 /* This is to prevent certain commands being printed twice.  */
 static int suppress_next_print_command_trace = 0;
 
-/* A non-owning slice of a string.  */
-
-struct string_view
-{
-  string_view (const char *str_, size_t len_)
-    : str (str_), len (len_)
-  {}
-
-  const char *str;
-  size_t len;
-};
-
 /* Structure for arguments to user defined functions.  */
 
 class user_args
@@ -91,7 +83,7 @@ private:
   std::string m_command_line;
 
   /* The arguments.  Each element points inside M_COMMAND_LINE.  */
-  std::vector<string_view> m_args;
+  std::vector<gdb::string_view> m_args;
 };
 
 /* The stack of arguments passed to user defined functions.  We need a
@@ -133,6 +125,7 @@ multi_line_command_p (enum command_contr
     case compile_control:
     case python_control:
     case guile_control:
+    case define_control:
       return 1;
     default:
       return 0;
@@ -145,35 +138,32 @@ multi_line_command_p (enum command_contr
 static struct command_line *
 build_command_line (enum command_control_type type, const char *args)
 {
-  struct command_line *cmd;
-
-  if ((args == NULL || *args == '\0')
-      && (type == if_control || type == while_control))
-    error (_("if/while commands require arguments."));
+  if (args == NULL || *args == '\0')
+    {
+      if (type == if_control)
+	error (_("if command requires an argument."));
+      else if (type == while_control)
+	error (_("while command requires an argument."));
+      else if (type == define_control)
+	error (_("define command requires an argument."));
+    }
   gdb_assert (args != NULL);
 
-  cmd = XNEW (struct command_line);
-  cmd->next = NULL;
-  cmd->control_type = type;
-
-  cmd->body_count = 1;
-  cmd->body_list = XCNEWVEC (struct command_line *, cmd->body_count);
-  cmd->line = xstrdup (args);
-
-  return cmd;
+  return new struct command_line (type, xstrdup (args));
 }
 
 /* Build and return a new command structure for the control commands
    such as "if" and "while".  */
 
-command_line_up
+counted_command_line
 get_command_line (enum command_control_type type, const char *arg)
 {
   /* Allocate and build a new command line structure.  */
-  command_line_up cmd (build_command_line (type, arg));
+  counted_command_line cmd (build_command_line (type, arg),
+			    command_lines_deleter ());
 
   /* Read in the body of this command.  */
-  if (recurse_read_control_structure (read_next_line, cmd.get (), 0, 0)
+  if (recurse_read_control_structure (read_next_line, cmd.get (), 0)
       == invalid_control)
     {
       warning (_("Error reading in canned sequence of commands."));
@@ -239,7 +229,7 @@ print_command_lines (struct ui_out *uiou
 	  else
 	    uiout->field_string (NULL, list->line);
 	  uiout->text ("\n");
-	  print_command_lines (uiout, *list->body_list, depth + 1);
+	  print_command_lines (uiout, list->body_list_0.get (), depth + 1);
 	  if (depth)
 	    uiout->spaces (2 * depth);
 	  uiout->field_string (NULL, "end");
@@ -255,16 +245,16 @@ print_command_lines (struct ui_out *uiou
 	  uiout->field_fmt (NULL, "if %s", list->line);
 	  uiout->text ("\n");
 	  /* The true arm.  */
-	  print_command_lines (uiout, list->body_list[0], depth + 1);
+	  print_command_lines (uiout, list->body_list_0.get (), depth + 1);
 
 	  /* Show the false arm if it exists.  */
-	  if (list->body_count == 2)
+	  if (list->body_list_1 != nullptr)
 	    {
 	      if (depth)
 		uiout->spaces (2 * depth);
 	      uiout->field_string (NULL, "else");
 	      uiout->text ("\n");
-	      print_command_lines (uiout, list->body_list[1], depth + 1);
+	      print_command_lines (uiout, list->body_list_1.get (), depth + 1);
 	    }
 
 	  if (depth)
@@ -284,7 +274,7 @@ print_command_lines (struct ui_out *uiou
 	  else
 	    uiout->field_string (NULL, "commands");
 	  uiout->text ("\n");
-	  print_command_lines (uiout, *list->body_list, depth + 1);
+	  print_command_lines (uiout, list->body_list_0.get (), depth + 1);
 	  if (depth)
 	    uiout->spaces (2 * depth);
 	  uiout->field_string (NULL, "end");
@@ -298,7 +288,7 @@ print_command_lines (struct ui_out *uiou
 	  uiout->field_string (NULL, "python");
 	  uiout->text ("\n");
 	  /* Don't indent python code at all.  */
-	  print_command_lines (uiout, *list->body_list, 0);
+	  print_command_lines (uiout, list->body_list_0.get (), 0);
 	  if (depth)
 	    uiout->spaces (2 * depth);
 	  uiout->field_string (NULL, "end");
@@ -311,7 +301,7 @@ print_command_lines (struct ui_out *uiou
 	{
 	  uiout->field_string (NULL, "compile expression");
 	  uiout->text ("\n");
-	  print_command_lines (uiout, *list->body_list, 0);
+	  print_command_lines (uiout, list->body_list_0.get (), 0);
 	  if (depth)
 	    uiout->spaces (2 * depth);
 	  uiout->field_string (NULL, "end");
@@ -324,7 +314,7 @@ print_command_lines (struct ui_out *uiou
 	{
 	  uiout->field_string (NULL, "guile");
 	  uiout->text ("\n");
-	  print_command_lines (uiout, *list->body_list, depth + 1);
+	  print_command_lines (uiout, list->body_list_0.get (), depth + 1);
 	  if (depth)
 	    uiout->spaces (2 * depth);
 	  uiout->field_string (NULL, "end");
@@ -384,36 +374,23 @@ execute_cmd_post_hook (struct cmd_list_e
     }
 }
 
+/* See cli-script.h.  */
+
 void
-execute_user_command (struct cmd_list_element *c, const char *args)
+execute_control_commands (struct command_line *cmdlines, int from_tty)
 {
-  struct ui *ui = current_ui;
-  struct command_line *cmdlines;
-  enum command_control_type ret;
-  extern unsigned int max_user_call_depth;
-
-  cmdlines = c->user_commands;
-  if (cmdlines == 0)
-    /* Null command */
-    return;
-
-  scoped_user_args_level push_user_args (args);
-
-  if (user_args_stack.size () > max_user_call_depth)
-    error (_("Max user call depth exceeded -- command aborted."));
-
   /* Set the instream to 0, indicating execution of a
      user-defined function.  */
   scoped_restore restore_instream
-    = make_scoped_restore (&ui->instream, nullptr);
-
+    = make_scoped_restore (&current_ui->instream, nullptr);
   scoped_restore save_async = make_scoped_restore (&current_ui->async, 0);
-
   scoped_restore save_nesting
     = make_scoped_restore (&command_nest_depth, command_nest_depth + 1);
+
   while (cmdlines)
     {
-      ret = execute_control_command (cmdlines);
+      enum command_control_type ret = execute_control_command (cmdlines,
+							       from_tty);
       if (ret != simple_control && ret != break_control)
 	{
 	  warning (_("Error executing canned sequence of commands."));
@@ -423,6 +400,61 @@ execute_user_command (struct cmd_list_el
     }
 }
 
+/* See cli-script.h.  */
+
+std::string
+execute_control_commands_to_string (struct command_line *commands,
+				    int from_tty)
+{
+  /* GDB_STDOUT should be better already restored during these
+     restoration callbacks.  */
+  set_batch_flag_and_restore_page_info save_page_info;
+
+  string_file str_file;
+
+  {
+    current_uiout->redirect (&str_file);
+    ui_out_redirect_pop redirect_popper (current_uiout);
+
+    scoped_restore save_stdout
+      = make_scoped_restore (&gdb_stdout, &str_file);
+    scoped_restore save_stderr
+      = make_scoped_restore (&gdb_stderr, &str_file);
+    scoped_restore save_stdlog
+      = make_scoped_restore (&gdb_stdlog, &str_file);
+    scoped_restore save_stdtarg
+      = make_scoped_restore (&gdb_stdtarg, &str_file);
+    scoped_restore save_stdtargerr
+      = make_scoped_restore (&gdb_stdtargerr, &str_file);
+
+    execute_control_commands (commands, from_tty);
+  }
+
+  return std::move (str_file.string ());
+}
+
+void
+execute_user_command (struct cmd_list_element *c, const char *args)
+{
+  counted_command_line cmdlines_copy;
+  extern unsigned int max_user_call_depth;
+
+  /* Ensure that the user commands can't be deleted while they are
+     executing.  */
+  cmdlines_copy = c->user_commands;
+  if (cmdlines_copy == 0)
+    /* Null command */
+    return;
+  struct command_line *cmdlines = cmdlines_copy.get ();
+
+  scoped_user_args_level push_user_args (args);
+
+  if (user_args_stack.size () > max_user_call_depth)
+    error (_("Max user call depth exceeded -- command aborted."));
+
+  execute_control_commands (cmdlines, 0);
+}
+
 /* This function is called every time GDB prints a prompt.  It ensures
    that errors and the like do not confuse the command tracing.  */
 
@@ -443,8 +475,9 @@ reset_command_nest_depth (void)
    via while_command or if_command.  Inner levels of 'if' and 'while'
    are dealt with directly.  Therefore we can use these functions
    to determine whether the command has been printed already or not.  */
+ATTRIBUTE_PRINTF (1, 2)
 void
-print_command_trace (const char *cmd)
+print_command_trace (const char *fmt, ...)
 {
   int i;
 
@@ -460,13 +493,18 @@ print_command_trace (const char *cmd)
   for (i=0; i < command_nest_depth; i++)
     printf_filtered ("+");
 
-  printf_filtered ("%s\n", cmd);
+  va_list args;
+
+  va_start (args, fmt);
+  vprintf_filtered (fmt, args);
+  va_end (args);
+  puts_filtered ("\n");
 }
 
 /* Helper for execute_control_command.  */
 
 static enum command_control_type
-execute_control_command_1 (struct command_line *cmd)
+execute_control_command_1 (struct command_line *cmd, int from_tty)
 {
   struct command_line *current;
   struct value *val;
@@ -484,7 +522,7 @@ execute_control_command_1 (struct comman
       {
 	/* A simple command, execute it and return.  */
 	std::string new_line = insert_user_defined_cmd_args (cmd->line);
-	execute_command (new_line.c_str (), 0);
+	execute_command (new_line.c_str (), from_tty);
 	ret = cmd->control_type;
 	break;
       }
@@ -507,11 +545,7 @@ execute_control_command_1 (struct comman
 
     case while_control:
       {
-	int len = strlen (cmd->line) + 7;
-	char *buffer = (char *) alloca (len);
-
-	xsnprintf (buffer, len, "while %s", cmd->line);
-	print_command_trace (buffer);
+	print_command_trace ("while %s", cmd->line);
 
 	/* Parse the loop control expression for the while statement.  */
 	std::string new_line = insert_user_defined_cmd_args (cmd->line);
@@ -538,12 +572,12 @@ execute_control_command_1 (struct comman
 	      break;
 
 	    /* Execute the body of the while statement.  */
-	    current = *cmd->body_list;
+	    current = cmd->body_list_0.get ();
 	    while (current)
 	      {
 		scoped_restore save_nesting
 		  = make_scoped_restore (&command_nest_depth, command_nest_depth + 1);
-		ret = execute_control_command_1 (current);
+		ret = execute_control_command_1 (current, from_tty);
 
 		/* If we got an error, or a "break" command, then stop
 		   looping.  */
@@ -572,11 +606,7 @@ execute_control_command_1 (struct comman
 
     case if_control:
       {
-	int len = strlen (cmd->line) + 4;
-	char *buffer = (char *) alloca (len);
-
-	xsnprintf (buffer, len, "if %s", cmd->line);
-	print_command_trace (buffer);
+	print_command_trace ("if %s", cmd->line);
 
 	/* Parse the conditional for the if statement.  */
 	std::string new_line = insert_user_defined_cmd_args (cmd->line);
@@ -592,9 +622,9 @@ execute_control_command_1 (struct comman
 	/* Choose which arm to take commands from based on the value
 	   of the conditional expression.  */
 	if (value_true (val))
-	  current = *cmd->body_list;
-	else if (cmd->body_count == 2)
-	  current = *(cmd->body_list + 1);
+	  current = cmd->body_list_0.get ();
+	else if (cmd->body_list_1 != nullptr)
+	  current = cmd->body_list_1.get ();
 	value_free_to_mark (val_mark);
 
 	/* Execute commands in the given arm.  */
@@ -602,7 +632,7 @@ execute_control_command_1 (struct comman
 	  {
 	    scoped_restore save_nesting
 	      = make_scoped_restore (&command_nest_depth, command_nest_depth + 1);
-	    ret = execute_control_command_1 (current);
+	    ret = execute_control_command_1 (current, from_tty);
 
 	    /* If we got an error, get out.  */
 	    if (ret != simple_control)
@@ -630,6 +660,12 @@ execute_control_command_1 (struct comman
       ret = simple_control;
       break;
 
+    case define_control:
+      print_command_trace ("define %s", cmd->line);
+      do_define_command (cmd->line, 0, &cmd->body_list_0);
+      ret = simple_control;
+      break;
+
     case python_control:
     case guile_control:
       {
@@ -647,15 +683,15 @@ execute_control_command_1 (struct comman
 }
 
 enum command_control_type
-execute_control_command (struct command_line *cmd)
+execute_control_command (struct command_line *cmd, int from_tty)
 {
   /* Make sure we use the console uiout.  It's possible that we are executing
      breakpoint commands while running the MI interpreter.  */
   interp *console = interp_lookup (current_ui, INTERP_CONSOLE);
   scoped_restore save_uiout
-    = make_scoped_restore (&current_uiout, interp_ui_out (console));
+    = make_scoped_restore (&current_uiout, console->interp_ui_out ());
 
-  return execute_control_command_1 (cmd);
+  return execute_control_command_1 (cmd, from_tty);
 }
 
 /* Like execute_control_command, but first set
@@ -676,7 +712,7 @@ static void
 while_command (const char *arg, int from_tty)
 {
   control_level = 1;
-  command_line_up command = get_command_line (while_control, arg);
+  counted_command_line command = get_command_line (while_control, arg);
 
   if (command == NULL)
     return;
@@ -693,7 +729,7 @@ static void
 if_command (const char *arg, int from_tty)
 {
   control_level = 1;
-  command_line_up command = get_command_line (if_control, arg);
+  counted_command_line command = get_command_line (if_control, arg);
 
   if (command == NULL)
     return;
@@ -827,7 +863,7 @@ user_args::insert_args (const char *line
 	    error (_("Missing argument %ld in user function."), i);
 	  else
 	    {
-	      new_line.append (m_args[i].str, m_args[i].len);
+	      new_line.append (m_args[i].data (), m_args[i].length ());
 	      line = tmp;
 	    }
 	}
@@ -839,31 +875,6 @@ user_args::insert_args (const char *line
 }
 
 
-/* Expand the body_list of COMMAND so that it can hold NEW_LENGTH
-   code bodies.  This is typically used when we encounter an "else"
-   clause for an "if" command.  */
-
-static void
-realloc_body_list (struct command_line *command, int new_length)
-{
-  int n;
-  struct command_line **body_list;
-
-  n = command->body_count;
-
-  /* Nothing to do?  */
-  if (new_length <= n)
-    return;
-
-  body_list = XCNEWVEC (struct command_line *, new_length);
-
-  memcpy (body_list, command->body_list, sizeof (struct command_line *) * n);
-
-  xfree (command->body_list);
-  command->body_list = body_list;
-  command->body_count = new_length;
-}
-
 /* Read next line from stdin.  Passed to read_command_line_1 and
    recurse_read_control_structure whenever we need to read commands
    from stdin.  */
@@ -925,11 +936,13 @@ line_first_arg (const char *p)
    Otherwise, only "end" is recognized.  */
 
 static enum misc_command_type
-process_next_line (char *p, struct command_line **command, int parse_commands,
-		   void (*validator)(char *, void *), void *closure)
+process_next_line (const char *p, struct command_line **command,
+		   int parse_commands,
+		   gdb::function_view<void (const char *)> validator)
+
 {
-  char *p_end;
-  char *p_start;
+  const char *p_end;
+  const char *p_start;
   int not_handled = 0;
 
   /* Not sure what to do here.  */
@@ -1004,6 +1017,8 @@ process_next_line (char *p, struct comma
 	{
 	  *command = build_command_line (commands_control, line_first_arg (p));
 	}
+      else if (command_name_equals (cmd, "define"))
+	*command = build_command_line (define_control, line_first_arg (p));
       else if (command_name_equals (cmd, "python") && !inline_cmd)
 	{
 	  /* Note that we ignore the inline "python command" form
@@ -1023,23 +1038,9 @@ process_next_line (char *p, struct comma
 	  *command = build_command_line (guile_control, "");
 	}
       else if (p_end - p == 10 && startswith (p, "loop_break"))
-	{
-	  *command = XNEW (struct command_line);
-	  (*command)->next = NULL;
-	  (*command)->line = NULL;
-	  (*command)->control_type = break_control;
-	  (*command)->body_count = 0;
-	  (*command)->body_list = NULL;
-	}
+	*command = new struct command_line (break_control);
       else if (p_end - p == 13 && startswith (p, "loop_continue"))
-	{
-	  *command = XNEW (struct command_line);
-	  (*command)->next = NULL;
-	  (*command)->line = NULL;
-	  (*command)->control_type = continue_control;
-	  (*command)->body_count = 0;
-	  (*command)->body_list = NULL;
-	}
+	*command = new struct command_line (continue_control);
       else
 	not_handled = 1;
     }
@@ -1047,24 +1048,19 @@ process_next_line (char *p, struct comma
   if (!parse_commands || not_handled)
     {
       /* A normal command.  */
-      *command = XNEW (struct command_line);
-      (*command)->next = NULL;
-      (*command)->line = savestring (p, p_end - p);
-      (*command)->control_type = simple_control;
-      (*command)->body_count = 0;
-      (*command)->body_list = NULL;
+      *command = new struct command_line (simple_control,
+					  savestring (p, p_end - p));
     }
 
   if (validator)
     {
-
       TRY
 	{
-	  validator ((*command)->line, closure);
+	  validator ((*command)->line);
 	}
       CATCH (ex, RETURN_MASK_ALL)
 	{
-	  xfree (*command);
+	  free_command_lines (command);
 	  throw_exception (ex);
 	}
       END_CATCH
@@ -1079,26 +1075,21 @@ process_next_line (char *p, struct comma
    obtain lines of the command.  */
 
 static enum command_control_type
-recurse_read_control_structure (char * (*read_next_line_func) (void),
+recurse_read_control_structure (gdb::function_view<const char * ()> read_next_line_func,
 				struct command_line *current_cmd,
-				void (*validator)(char *, void *),
-				void *closure)
+				gdb::function_view<void (const char *)> validator)
 {
-  int current_body, i;
   enum misc_command_type val;
   enum command_control_type ret;
   struct command_line **body_ptr, *child_tail, *next;
+  counted_command_line *current_body = &current_cmd->body_list_0;
 
   child_tail = NULL;
-  current_body = 1;
 
   /* Sanity checks.  */
   if (current_cmd->control_type == simple_control)
     error (_("Recursed on a simple control type."));
 
-  if (current_body > current_cmd->body_count)
-    error (_("Allocated body is smaller than this command type needs."));
-
   /* Read lines from the input stream and build control structures.  */
   while (1)
     {
@@ -1109,7 +1100,7 @@ recurse_read_control_structure (char * (
 			       current_cmd->control_type != python_control
 			       && current_cmd->control_type != guile_control
 			       && current_cmd->control_type != compile_control,
-			       validator, closure);
+			       validator);
 
       /* Just skip blanks and comments.  */
       if (val == nop_command)
@@ -1134,10 +1125,9 @@ recurse_read_control_structure (char * (
       if (val == else_command)
 	{
 	  if (current_cmd->control_type == if_control
-	      && current_body == 1)
+	      && current_body == &current_cmd->body_list_0)
 	    {
-	      realloc_body_list (current_cmd, 2);
-	      current_body = 2;
+	      current_body = &current_cmd->body_list_1;
 	      child_tail = NULL;
 	      continue;
 	    }
@@ -1153,14 +1143,7 @@ recurse_read_control_structure (char * (
 	  child_tail->next = next;
 	}
       else
-	{
-	  body_ptr = current_cmd->body_list;
-	  for (i = 1; i < current_body; i++)
-	    body_ptr++;
-
-	  *body_ptr = next;
-
-	}
+	*current_body = counted_command_line (next, command_lines_deleter ());
 
       child_tail = next;
 
@@ -1170,7 +1153,7 @@ recurse_read_control_structure (char * (
 	{
 	  control_level++;
 	  ret = recurse_read_control_structure (read_next_line_func, next,
-						validator, closure);
+						validator);
 	  control_level--;
 
 	  if (ret != simple_control)
@@ -1194,9 +1177,9 @@ recurse_read_control_structure (char * (
 
 #define END_MESSAGE "End with a line saying just \"end\"."
 
-command_line_up
-read_command_lines (char *prompt_arg, int from_tty, int parse_commands,
-		    void (*validator)(char *, void *), void *closure)
+counted_command_line
+read_command_lines (const char *prompt_arg, int from_tty, int parse_commands,
+		    gdb::function_view<void (const char *)> validator)
 {
   if (from_tty && input_interactive_p (current_ui))
     {
@@ -1216,16 +1199,16 @@ read_command_lines (char *prompt_arg, in
 
   /* Reading commands assumes the CLI behavior, so temporarily
      override the current interpreter with CLI.  */
-  command_line_up head;
+  counted_command_line head (nullptr, command_lines_deleter ());
   if (current_interp_named_p (INTERP_CONSOLE))
     head = read_command_lines_1 (read_next_line, parse_commands,
-				 validator, closure);
+				 validator);
   else
     {
       scoped_restore_interp interp_restorer (INTERP_CONSOLE);
 
       head = read_command_lines_1 (read_next_line, parse_commands,
-				   validator, closure);
+				   validator);
     }
 
   if (from_tty && input_interactive_p (current_ui)
@@ -1239,12 +1222,13 @@ read_command_lines (char *prompt_arg, in
 /* Act the same way as read_command_lines, except that each new line is
    obtained using READ_NEXT_LINE_FUNC.  */
 
-command_line_up
-read_command_lines_1 (char * (*read_next_line_func) (void), int parse_commands,
-		      void (*validator)(char *, void *), void *closure)
+counted_command_line
+read_command_lines_1 (gdb::function_view<const char * ()> read_next_line_func,
+		      int parse_commands,
+		      gdb::function_view<void (const char *)> validator)
 {
   struct command_line *tail, *next;
-  command_line_up head;
+  counted_command_line head (nullptr, command_lines_deleter ());
   enum command_control_type ret;
   enum misc_command_type val;
 
@@ -1255,7 +1239,7 @@ read_command_lines_1 (char * (*read_next
     {
       dont_repeat ();
       val = process_next_line (read_next_line_func (), &next, parse_commands,
-			       validator, closure);
+			       validator);
 
       /* Ignore blank lines or comments.  */
       if (val == nop_command)
@@ -1277,7 +1261,7 @@ read_command_lines_1 (char * (*read_next
 	{
 	  control_level++;
 	  ret = recurse_read_control_structure (read_next_line_func, next,
-						validator, closure);
+						validator);
 	  control_level--;
 
 	  if (ret == invalid_control)
@@ -1290,7 +1274,7 @@ read_command_lines_1 (char * (*read_next
 	}
       else
 	{
-	  head.reset (next);
+	  head = counted_command_line (next, command_lines_deleter ());
 	}
       tail = next;
     }
@@ -1310,54 +1294,15 @@ free_command_lines (struct command_line 
 {
   struct command_line *l = *lptr;
   struct command_line *next;
-  struct command_line **blist;
-  int i;
 
   while (l)
     {
-      if (l->body_count > 0)
-	{
-	  blist = l->body_list;
-	  for (i = 0; i < l->body_count; i++, blist++)
-	    free_command_lines (blist);
-	}
       next = l->next;
-      xfree (l->line);
-      xfree (l);
+      delete l;
       l = next;
     }
   *lptr = NULL;
 }
-
-command_line_up
-copy_command_lines (struct command_line *cmds)
-{
-  struct command_line *result = NULL;
-
-  if (cmds)
-    {
-      result = XNEW (struct command_line);
-
-      result->next = copy_command_lines (cmds->next).release ();
-      result->line = xstrdup (cmds->line);
-      result->control_type = cmds->control_type;
-      result->body_count = cmds->body_count;
-      if (cmds->body_count > 0)
-        {
-          int i;
-
-          result->body_list = XNEWVEC (struct command_line *, cmds->body_count);
-
-          for (i = 0; i < cmds->body_count; i++)
-            result->body_list[i]
-	      = copy_command_lines (cmds->body_list[i]).release ();
-        }
-      else
-        result->body_list = NULL;
-    }
-
-  return command_line_up (result);
-}
 
 /* Validate that *COMNAME is a valid name for a command.  Return the
    containing command list, in case it starts with a prefix command.
@@ -1416,10 +1361,16 @@ user_defined_command (const char *ignore
 {
 }
 
+/* Define a user-defined command.  If COMMANDS is NULL, then this is a
+   top-level call and the commands will be read using
+   read_command_lines.  Otherwise, it is a "define" command in an
+   existing command and the commands are provided.  In the
+   non-top-level case, various prompts and warnings are disabled.  */
+
 static void
-define_command (const char *comname, int from_tty)
+do_define_command (const char *comname, int from_tty,
+		   const counted_command_line *commands)
 {
-#define MAX_TMPBUF 128   
   enum cmd_hook_type
     {
       CMD_NO_HOOK = 0,
@@ -1428,7 +1379,6 @@ define_command (const char *comname, int
     };
   struct cmd_list_element *c, *newc, *hookc = 0, **list;
   const char *tem, *comfull;
-  char tmpbuf[MAX_TMPBUF];
   int  hook_type      = CMD_NO_HOOK;
   int  hook_name_size = 0;
    
@@ -1446,7 +1396,7 @@ define_command (const char *comname, int
   if (c && strcmp (comname, c->name) != 0)
     c = 0;
 
-  if (c)
+  if (c && commands == nullptr)
     {
       int q;
 
@@ -1480,7 +1430,7 @@ define_command (const char *comname, int
       hookc = lookup_cmd (&tem, *list, "", -1, 0);
       if (hookc && strcmp (comname + hook_name_size, hookc->name) != 0)
 	hookc = 0;
-      if (!hookc)
+      if (!hookc && commands == nullptr)
 	{
 	  warning (_("Your new `%s' command does not "
 		     "hook any existing command."),
@@ -1492,17 +1442,20 @@ define_command (const char *comname, int
 
   comname = xstrdup (comname);
 
-  xsnprintf (tmpbuf, sizeof (tmpbuf),
-	     "Type commands for definition of \"%s\".", comfull);
-  command_line_up cmds = read_command_lines (tmpbuf, from_tty, 1, 0, 0);
-
-  if (c && c->theclass == class_user)
-    free_command_lines (&c->user_commands);
+  counted_command_line cmds;
+  if (commands == nullptr)
+    {
+      std::string prompt
+	= string_printf ("Type commands for definition of \"%s\".", comfull);
+      cmds = read_command_lines (prompt.c_str (), from_tty, 1, 0);
+    }
+  else
+    cmds = *commands;
 
   newc = add_cmd (comname, class_user, user_defined_command,
 		  (c && c->theclass == class_user)
 		  ? c->doc : xstrdup ("User-defined."), list);
-  newc->user_commands = cmds.release ();
+  newc->user_commands = std::move (cmds);
 
   /* If this new command is a hook, then mark both commands as being
      tied.  */
@@ -1527,12 +1480,17 @@ define_command (const char *comname, int
 }
 
 static void
+define_command (const char *comname, int from_tty)
+{
+  do_define_command (comname, from_tty, nullptr);
+}
+
+static void
 document_command (const char *comname, int from_tty)
 {
   struct cmd_list_element *c, **list;
   const char *tem;
   const char *comfull;
-  char tmpbuf[128];
 
   comfull = comname;
   list = validate_comname (&comname);
@@ -1543,9 +1501,10 @@ document_command (const char *comname, i
   if (c->theclass != class_user)
     error (_("Command \"%s\" is built-in."), comfull);
 
-  xsnprintf (tmpbuf, sizeof (tmpbuf), "Type documentation for \"%s\".",
-	     comfull);
-  command_line_up doclines = read_command_lines (tmpbuf, from_tty, 0, 0, 0);
+  std::string prompt = string_printf ("Type documentation for \"%s\".",
+				      comfull);
+  counted_command_line doclines = read_command_lines (prompt.c_str (),
+						      from_tty, 0, 0);
 
   if (c->doc)
     xfree ((char *) c->doc);
@@ -1622,7 +1581,7 @@ show_user_1 (struct cmd_list_element *c,
       return;
     }
 
-  cmdlines = c->user_commands;
+  cmdlines = c->user_commands.get ();
   fprintf_filtered (stream, "User command \"%s%s\":\n", prefix, name);
 
   if (!cmdlines)
@@ -1643,7 +1602,9 @@ Define a new command name.  Command name
 Definition appears on following lines, one command per line.\n\
 End with a line of just \"end\".\n\
 Use the \"document\" command to give documentation for the new command.\n\
-Commands defined in this way may have up to ten arguments."));
+Commands defined in this way may accept an unlimited number of arguments\n\
+accessed via $arg0 .. $argN.  $argc tells how many arguments have\n\
+been passed."));
 
   add_com ("while", class_support, while_command, _("\
 Execute nested commands WHILE the conditional expression is non zero.\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.1.0.20180703/gdb/cli/cli-script.h ./gdb/cli/cli-script.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-script.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cli/cli-script.h	2018-07-10 02:06:12.000000000 +0000
@@ -42,15 +42,42 @@ enum command_control_type
   compile_control,
   guile_control,
   while_stepping_control,
+  define_control,
   invalid_control
 };
 
+struct command_line;
+
+extern void free_command_lines (struct command_line **);
+
+/* A deleter for command_line that calls free_command_lines.  */
+
+struct command_lines_deleter
+{
+  void operator() (command_line *cmd_lines) const
+  {
+    free_command_lines (&cmd_lines);
+  }
+};
+
+/* A reference-counted struct command_line.  */
+typedef std::shared_ptr<command_line> counted_command_line;
+
 /* * Structure for saved commands lines (for breakpoints, defined
    commands, etc).  */
 
 struct command_line
 {
-  struct command_line *next;
+  explicit command_line (command_control_type type_, char *line_ = nullptr)
+    : line (line_),
+      control_type (type_)
+  {
+    memset (&control_u, 0, sizeof (control_u));
+  }
+
+  DISABLE_COPY_AND_ASSIGN (command_line);
+
+  struct command_line *next = nullptr;
   char *line;
   enum command_control_type control_type;
   union
@@ -63,36 +90,27 @@ struct command_line
       compile;
     }
   control_u;
-  /* * The number of elements in body_list.  */
-  int body_count;
   /* * For composite commands, the nested lists of commands.  For
      example, for "if" command this will contain the then branch and
      the else branch, if that is available.  */
-  struct command_line **body_list;
-};
+  counted_command_line body_list_0;
+  counted_command_line body_list_1;
 
-extern void free_command_lines (struct command_line **);
+private:
 
-/* A deleter for command_line that calls free_command_lines.  */
+  friend void free_command_lines (struct command_line **);
 
-struct command_lines_deleter
-{
-  void operator() (command_line *cmd_lines) const
+  ~command_line ()
   {
-    free_command_lines (&cmd_lines);
+    xfree (line);
   }
 };
 
-/* A unique pointer to a command_line.  */
-
-typedef std::unique_ptr<command_line, command_lines_deleter> command_line_up;
-
-extern command_line_up read_command_lines (char *, int, int,
-					   void (*)(char *, void *),
-					   void *);
-extern command_line_up read_command_lines_1 (char * (*) (void), int,
-					     void (*)(char *, void *),
-					     void *);
+extern counted_command_line read_command_lines
+    (const char *, int, int, gdb::function_view<void (const char *)>);
+extern counted_command_line read_command_lines_1
+    (gdb::function_view<const char * ()>, int,
+     gdb::function_view<void (const char *)>);
 
 
 /* Exported to cli/cli-cmds.c */
@@ -104,22 +122,33 @@ extern void show_user_1 (struct cmd_list
 			 const char *name,
 			 struct ui_file *stream);
 
+/* Execute the commands in CMDLINES.  */
+
+extern void execute_control_commands (struct command_line *cmdlines,
+				      int from_tty);
+
+/* Run execute_control_commands for COMMANDS.  Capture its output into
+   the returned string, do not display it to the screen.  BATCH_FLAG
+   will be temporarily set to true.  */
+
+extern std::string execute_control_commands_to_string
+    (struct command_line *commands, int from_tty);
+
 /* Exported to gdb/breakpoint.c */
 
 extern enum command_control_type
-	execute_control_command (struct command_line *cmd);
+	execute_control_command (struct command_line *cmd,
+				 int from_tty = 0);
 
 extern enum command_control_type
 	execute_control_command_untraced (struct command_line *cmd);
 
-extern command_line_up get_command_line (enum command_control_type,
-					 const char *);
+extern counted_command_line get_command_line (enum command_control_type,
+					      const char *);
 
 extern void print_command_lines (struct ui_out *,
 				 struct command_line *, unsigned int);
 
-extern command_line_up copy_command_lines (struct command_line *cmds);
-
 /* Exported to gdb/infrun.c */
 
 extern void execute_user_command (struct cmd_list_element *c, const char *args);
@@ -132,7 +161,8 @@ extern std::string insert_user_defined_c
 
 /* Exported to top.c */
 
-extern void print_command_trace (const char *cmd);
+extern void print_command_trace (const char *cmd, ...)
+  ATTRIBUTE_PRINTF (1, 2);
 
 /* Exported to event-top.c */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-setshow.c ./gdb/cli/cli-setshow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli/cli-setshow.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cli/cli-setshow.c	2018-07-10 02:06:12.000000000 +0000
@@ -20,7 +20,7 @@
 #include "value.h"
 #include <ctype.h>
 #include "arch-utils.h"
-#include "observer.h"
+#include "observable.h"
 
 #include "ui-out.h"
 
@@ -511,20 +511,20 @@ do_set_command (const char *arg, int fro
 	case var_filename:
 	case var_optional_filename:
 	case var_enum:
-	  observer_notify_command_param_changed (name, *(char **) c->var);
+	  gdb::observers::command_param_changed.notify (name, *(char **) c->var);
 	  break;
 	case var_boolean:
 	  {
 	    const char *opt = *(int *) c->var ? "on" : "off";
 
-	    observer_notify_command_param_changed (name, opt);
+	    gdb::observers::command_param_changed.notify (name, opt);
 	  }
 	  break;
 	case var_auto_boolean:
 	  {
 	    const char *s = auto_boolean_enums[*(enum auto_boolean *) c->var];
 
-	    observer_notify_command_param_changed (name, s);
+	    gdb::observers::command_param_changed.notify (name, s);
 	  }
 	  break;
 	case var_uinteger:
@@ -533,7 +533,7 @@ do_set_command (const char *arg, int fro
 	    char s[64];
 
 	    xsnprintf (s, sizeof s, "%u", *(unsigned int *) c->var);
-	    observer_notify_command_param_changed (name, s);
+	    gdb::observers::command_param_changed.notify (name, s);
 	  }
 	  break;
 	case var_integer:
@@ -543,7 +543,7 @@ do_set_command (const char *arg, int fro
 	    char s[64];
 
 	    xsnprintf (s, sizeof s, "%d", *(int *) c->var);
-	    observer_notify_command_param_changed (name, s);
+	    gdb::observers::command_param_changed.notify (name, s);
 	  }
 	  break;
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli-out.c ./gdb/cli-out.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli-out.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cli-out.c	2018-07-10 02:06:12.000000000 +0000
@@ -156,7 +156,7 @@ cli_ui_out::do_field_string (int fldno, 
     spaces (before);
 
   if (string)
-    out_field_fmt (fldno, fldname, "%s", string);
+    fputs_filtered (string, m_streams.back ());
 
   if (after)
     spaces (after);
@@ -238,22 +238,6 @@ cli_ui_out::do_redirect (ui_file *outstr
 
 /* local functions */
 
-/* Like cli_ui_out::do_field_fmt, but takes a variable number of args
-   and makes a va_list and does not insert a separator.  */
-
-/* VARARGS */
-void
-cli_ui_out::out_field_fmt (int fldno, const char *fldname,
-			   const char *format, ...)
-{
-  va_list args;
-
-  va_start (args, format);
-  vfprintf_filtered (m_streams.back (), format, args);
-
-  va_end (args);
-}
-
 void
 cli_ui_out::field_separator ()
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli-out.h ./gdb/cli-out.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cli-out.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cli-out.h	2018-07-10 02:06:12.000000000 +0000
@@ -35,24 +35,26 @@ public:
 protected:
 
   virtual void do_table_begin (int nbrofcols, int nr_rows,
-				  const char *tblid) override;
+			       const char *tblid) override;
   virtual void do_table_body () override;
   virtual void do_table_end () override;
   virtual void do_table_header (int width, ui_align align,
-			     const std::string &col_name,
-			     const std::string &col_hdr) override;
+				const std::string &col_name,
+				const std::string &col_hdr) override;
   /* Note: level 0 is the top-level so LEVEL is always greater than
      zero.  */
   virtual void do_begin (ui_out_type type, const char *id) override;
   virtual void do_end (ui_out_type type) override;
   virtual void do_field_int (int fldno, int width, ui_align align,
-			  const char *fldname, int value) override;
+			     const char *fldname, int value) override;
   virtual void do_field_skip (int fldno, int width, ui_align align,
-			   const char *fldname) override;
+			      const char *fldname) override;
   virtual void do_field_string (int fldno, int width, ui_align align,
-			     const char *fldname, const char *string) override;
+				const char *fldname,
+				const char *string) override;
   virtual void do_field_fmt (int fldno, int width, ui_align align,
-			  const char *fldname, const char *format, va_list args)
+			     const char *fldname, const char *format,
+			     va_list args)
     override ATTRIBUTE_PRINTF (6,0);
   virtual void do_spaces (int numspaces) override;
   virtual void do_text (const char *string) override;
@@ -68,8 +70,6 @@ protected:
 private:
 
   void field_separator ();
-  void out_field_fmt (int fldno, const char *fldname, const char *format, ...)
-    ATTRIBUTE_PRINTF (4, 5);
 
   std::vector<ui_file *> m_streams;
   bool m_suppress_output;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/coff-pe-read.c ./gdb/coff-pe-read.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/coff-pe-read.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/coff-pe-read.c	2018-07-10 02:06:12.000000000 +0000
@@ -54,7 +54,7 @@ struct read_pe_section_data
   enum minimal_symbol_type ms_type;	/* Type to assign symbols in
 					   section.  */
   unsigned int index;		/* BFD section number.  */
-  const char *section_name;	/* Recorded section name.  */
+  std::string section_name;	/* Recorded section name.  */
 };
 
 #define IMAGE_SCN_CNT_CODE 0x20
@@ -106,7 +106,7 @@ get_pe_section_index (const char *sectio
   int i;
 
   for (i = 0; i < nb_sections; i++)
-    if (strcmp (sections[i].section_name, section_name) == 0)
+    if (sections[i].section_name == section_name)
       return i;
   return PE_SECTION_INDEX_INVALID;
 }
@@ -175,7 +175,8 @@ add_pe_exported_sym (minimal_symbol_read
   if ((section_data->ms_type == mst_unknown) && debug_coff_pe_read)
     fprintf_unfiltered (gdb_stdlog , _("Unknown section type for \"%s\""
 			" for entry \"%s\" in dll \"%s\"\n"),
-			section_data->section_name, sym_name, dll_name);
+			section_data->section_name.c_str (), sym_name,
+			dll_name);
 
   reader.record_with_info (qualified_name, vma, section_data->ms_type,
 			   section_data->index);
@@ -219,7 +220,7 @@ add_pe_forwarded_sym (minimal_symbol_rea
 	     forward_func_name);
 
 
-  msymbol = lookup_minimal_symbol_and_objfile (forward_qualified_name);
+  msymbol = lookup_bound_minimal_symbol (forward_qualified_name);
 
   if (!msymbol.minsym)
     {
@@ -227,7 +228,7 @@ add_pe_forwarded_sym (minimal_symbol_rea
 
       for (i = 0; i < forward_dll_name_len; i++)
 	forward_qualified_name[i] = tolower (forward_qualified_name[i]);
-      msymbol = lookup_minimal_symbol_and_objfile (forward_qualified_name);
+      msymbol = lookup_bound_minimal_symbol (forward_qualified_name);
     }
 
   if (!msymbol.minsym)
@@ -349,16 +350,12 @@ read_pe_exported_syms (minimal_symbol_re
   /* Array elements are for text, data and bss in that order
      Initialization with RVA_START > RVA_END guarantees that
      unused sections won't be matched.  */
-  struct read_pe_section_data *section_data;
   struct pe_sections_info pe_sections_info;
 
-  struct cleanup *back_to = make_cleanup (null_cleanup, 0);
-
   char const *target = bfd_get_target (objfile->obfd);
 
-  section_data = XCNEWVEC (struct read_pe_section_data, PE_SECTION_TABLE_SIZE);
-
-  make_cleanup (free_current_contents, &section_data);
+  std::vector<struct read_pe_section_data> section_data
+    (PE_SECTION_TABLE_SIZE);
 
   for (i=0; i < PE_SECTION_TABLE_SIZE; i++)
     {
@@ -384,7 +381,6 @@ read_pe_exported_syms (minimal_symbol_re
       /* This is not a recognized PE format file.  Abort now, because
 	 the code is untested on anything else.  *FIXME* test on
 	 further architectures and loosen or remove this test.  */
-      do_cleanups (back_to);
       return;
     }
 
@@ -397,10 +393,7 @@ read_pe_exported_syms (minimal_symbol_re
     num_entries = pe_get32 (dll, opthdr_ofs + 92);
 
   if (num_entries < 1)		/* No exports.  */
-    {
-      do_cleanups (back_to);
-      return;
-    }
+    return;
   if (is_pe64)
     {
       export_opthdrrva = pe_get32 (dll, opthdr_ofs + 112);
@@ -454,7 +447,6 @@ read_pe_exported_syms (minimal_symbol_re
   if (export_size == 0)
     {
       /* Empty export table.  */
-      do_cleanups (back_to);
       return;
     }
 
@@ -490,13 +482,8 @@ read_pe_exported_syms (minimal_symbol_re
 	}
       else
 	{
-	  char *name;
-
-	  section_data = XRESIZEVEC (struct read_pe_section_data, section_data,
-				     otherix + 1);
-	  name = xstrdup (sec_name);
-	  section_data[otherix].section_name = name;
-	  make_cleanup (xfree, name);
+	  section_data.resize (otherix + 1);
+	  section_data[otherix].section_name = sec_name;
 	  section_data[otherix].rva_start = vaddr;
 	  section_data[otherix].rva_end = vaddr + vsize;
 	  section_data[otherix].vma_offset = 0;
@@ -513,8 +500,8 @@ read_pe_exported_syms (minimal_symbol_re
 	}
     }
 
-  expdata = (unsigned char *) xmalloc (export_size);
-  make_cleanup (xfree, expdata);
+  gdb::def_vector<unsigned char> expdata_storage (export_size);
+  expdata = expdata_storage.data ();
 
   bfd_seek (dll, (file_ptr) expptr, SEEK_SET);
   bfd_bread (expdata, (bfd_size_type) export_size, dll);
@@ -530,7 +517,7 @@ read_pe_exported_syms (minimal_symbol_re
   dll_name = (char *) (pe_as32 (expdata + 12) + erva);
 
   pe_sections_info.nb_sections = otherix;
-  pe_sections_info.sections = section_data;
+  pe_sections_info.sections = section_data.data ();
 
   bfd_map_over_sections (dll, get_section_vmas, &pe_sections_info);
 
@@ -596,7 +583,7 @@ read_pe_exported_syms (minimal_symbol_re
 
 	      section_found = 1;
 	      add_pe_exported_sym (reader, sym_name, func_rva, ordinal,
-				   section_data + sectix, dll_name, objfile);
+				   &section_data[sectix], dll_name, objfile);
 	      ++nbnormal;
 	      break;
 	    }
@@ -608,7 +595,7 @@ read_pe_exported_syms (minimal_symbol_re
 	  if (name_rva == 0)
 	    {
 	      add_pe_exported_sym (reader, NULL, func_rva, ordinal,
-				   section_data, dll_name, objfile);
+				   &section_data[0], dll_name, objfile);
 	      ++nbnormal;
 	    }
 	  else if (debug_coff_pe_read)
@@ -622,8 +609,6 @@ read_pe_exported_syms (minimal_symbol_re
     fprintf_unfiltered (gdb_stdlog, _("Finished reading \"%s\", exports %ld,"
 			" forwards %ld, total %ld/%ld.\n"), dll_name, nbnormal,
 			nbforward, nbnormal + nbforward, nexp);
-  /* Discard expdata and section_data.  */
-  do_cleanups (back_to);
 }
 
 /* Extract from ABFD the offset of the .text section.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/coffread.c ./gdb/coffread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/coffread.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/coffread.c	2018-07-10 02:06:12.000000000 +0000
@@ -733,20 +733,17 @@ coff_symfile_read (struct objfile *objfi
   /* Try to add separate debug file if no symbols table found.   */
   if (!objfile_has_partial_symbols (objfile))
     {
-      char *debugfile;
+      std::string debugfile = find_separate_debug_file_by_buildid (objfile);
 
-      debugfile = find_separate_debug_file_by_buildid (objfile);
-
-      if (debugfile == NULL)
+      if (debugfile.empty ())
 	debugfile = find_separate_debug_file_by_debuglink (objfile);
-      make_cleanup (xfree, debugfile);
 
-      if (debugfile)
+      if (!debugfile.empty ())
 	{
-	  gdb_bfd_ref_ptr abfd (symfile_bfd_open (debugfile));
+	  gdb_bfd_ref_ptr abfd (symfile_bfd_open (debugfile.c_str ()));
 
-	  symbol_file_add_separate (abfd.get (), debugfile, symfile_flags,
-				    objfile);
+	  symbol_file_add_separate (abfd.get (), debugfile.c_str (),
+				    symfile_flags, objfile);
 	}
     }
 
@@ -769,8 +766,6 @@ coff_symfile_finish (struct objfile *obj
 {
   /* Let stabs reader clean up.  */
   stabsread_clear_cache ();
-
-  dwarf2_free_objfile (objfile);
 }
 
 
@@ -899,8 +894,7 @@ coff_symtab_read (minimal_symbol_reader 
 	case C_LINE:
 	case C_ALIAS:
 	case C_HIDDEN:
-	  complaint (&symfile_complaints,
-		     _("Bad n_sclass for symbol %s"),
+	  complaint (_("Bad n_sclass for symbol %s"),
 		     cs->c_name);
 	  break;
 
@@ -931,6 +925,7 @@ coff_symtab_read (minimal_symbol_reader 
 	     backtraces, so filter them out (from phdm@macqel.be).  */
 	  if (within_function)
 	    break;
+	  /* Fall through.  */
 	case C_STAT:
 	case C_THUMBLABEL:
 	case C_THUMBSTAT:
@@ -967,7 +962,8 @@ coff_symtab_read (minimal_symbol_reader 
 	    /* At least on a 3b1, gcc generates swbeg and string labels
 	       that look like this.  Ignore them.  */
 	    break;
-	  /* Fall in for static symbols that don't start with '.'  */
+	  /* For static symbols that don't start with '.'...  */
+	  /* Fall through.  */
 	case C_THUMBEXT:
 	case C_THUMBEXTFUNC:
 	case C_EXT:
@@ -1067,8 +1063,7 @@ coff_symtab_read (minimal_symbol_reader 
 	      /* main_aux.x_sym.x_misc.x_lnsz.x_lnno
 	         contains line number of '{' }.  */
 	      if (cs->c_naux != 1)
-		complaint (&symfile_complaints,
-			   _("`.bf' symbol %d has no aux entry"),
+		complaint (_("`.bf' symbol %d has no aux entry"),
 			   cs->c_symnum);
 	      fcn_first_line = main_aux.x_sym.x_misc.x_lnsz.x_lnno;
 	      fcn_first_line_addr = cs->c_value;
@@ -1094,8 +1089,7 @@ coff_symtab_read (minimal_symbol_reader 
 
 	      if (context_stack_depth <= 0)
 		{	/* We attempted to pop an empty context stack.  */
-		  complaint (&symfile_complaints,
-			     _("`.ef' symbol without matching `.bf' "
+		  complaint (_("`.ef' symbol without matching `.bf' "
 			       "symbol ignored starting at symnum %d"),
 			     cs->c_symnum);
 		  within_function = 0;
@@ -1106,8 +1100,7 @@ coff_symtab_read (minimal_symbol_reader 
 	      /* Stack must be empty now.  */
 	      if (context_stack_depth > 0 || newobj == NULL)
 		{
-		  complaint (&symfile_complaints,
-			     _("Unmatched .ef symbol(s) ignored "
+		  complaint (_("Unmatched .ef symbol(s) ignored "
 			       "starting at symnum %d"),
 			     cs->c_symnum);
 		  within_function = 0;
@@ -1115,8 +1108,7 @@ coff_symtab_read (minimal_symbol_reader 
 		}
 	      if (cs->c_naux != 1)
 		{
-		  complaint (&symfile_complaints,
-			     _("`.ef' symbol %d has no aux entry"),
+		  complaint (_("`.ef' symbol %d has no aux entry"),
 			     cs->c_symnum);
 		  fcn_last_line = 0x7FFFFFFF;
 		}
@@ -1161,8 +1153,7 @@ coff_symtab_read (minimal_symbol_reader 
 	    {
 	      if (context_stack_depth <= 0)
 		{	/* We attempted to pop an empty context stack.  */
-		  complaint (&symfile_complaints,
-			     _("`.eb' symbol without matching `.bb' "
+		  complaint (_("`.eb' symbol without matching `.bb' "
 			       "symbol ignored starting at symnum %d"),
 			     cs->c_symnum);
 		  break;
@@ -1171,8 +1162,7 @@ coff_symtab_read (minimal_symbol_reader 
 	      newobj = pop_context ();
 	      if (depth-- != newobj->depth)
 		{
-		  complaint (&symfile_complaints,
-			     _("Mismatched .eb symbol ignored "
+		  complaint (_("Mismatched .eb symbol ignored "
 			       "starting at symnum %d"),
 			     symnum);
 		  break;
@@ -1481,8 +1471,7 @@ enter_linenos (long file_offset, int fir
     return;
   if (file_offset < linetab_offset)
     {
-      complaint (&symfile_complaints,
-		 _("Line number pointer %ld lower than start of line numbers"),
+      complaint (_("Line number pointer %ld lower than start of line numbers"),
 		 file_offset);
       if (file_offset > linetab_size)	/* Too big to be an offset?  */
 	return;
@@ -1790,11 +1779,11 @@ process_coff_symbol (struct coff_symbol 
 	  /* Some compilers try to be helpful by inventing "fake"
 	     names for anonymous enums, structures, and unions, like
 	     "~0fake" or ".0fake".  Thanks, but no thanks...  */
-	  if (TYPE_TAG_NAME (SYMBOL_TYPE (sym)) == 0)
+	  if (TYPE_NAME (SYMBOL_TYPE (sym)) == 0)
 	    if (SYMBOL_LINKAGE_NAME (sym) != NULL
 		&& *SYMBOL_LINKAGE_NAME (sym) != '~'
 		&& *SYMBOL_LINKAGE_NAME (sym) != '.')
-	      TYPE_TAG_NAME (SYMBOL_TYPE (sym)) =
+	      TYPE_NAME (SYMBOL_TYPE (sym)) =
 		concat (SYMBOL_LINKAGE_NAME (sym), (char *)NULL);
 
 	  add_symbol_to_list (sym, &file_symbols);
@@ -1878,8 +1867,7 @@ decode_type (struct coff_symbol *cs, uns
 	}
       else
 	{
-	  complaint (&symfile_complaints,
-		     _("Symbol table entry for %s has bad tagndx value"),
+	  complaint (_("Symbol table entry for %s has bad tagndx value"),
 		     cs->c_name);
 	  /* And fall through to decode_base_type...  */
 	}
@@ -1960,10 +1948,6 @@ decode_base_type (struct coff_symbol *cs
 	  type = coff_alloc_type (cs->c_symnum);
 	  TYPE_CODE (type) = TYPE_CODE_STRUCT;
 	  TYPE_NAME (type) = NULL;
-	  /* This used to set the tag to "<opaque>".  But I think
-	     setting it to NULL is right, and the printing code can
-	     print it as "struct {...}".  */
-	  TYPE_TAG_NAME (type) = NULL;
 	  INIT_CPLUS_SPECIFIC (type);
 	  TYPE_LENGTH (type) = 0;
 	  TYPE_FIELDS (type) = 0;
@@ -1984,10 +1968,6 @@ decode_base_type (struct coff_symbol *cs
 	  /* Anonymous union type.  */
 	  type = coff_alloc_type (cs->c_symnum);
 	  TYPE_NAME (type) = NULL;
-	  /* This used to set the tag to "<opaque>".  But I think
-	     setting it to NULL is right, and the printing code can
-	     print it as "union {...}".  */
-	  TYPE_TAG_NAME (type) = NULL;
 	  INIT_CPLUS_SPECIFIC (type);
 	  TYPE_LENGTH (type) = 0;
 	  TYPE_FIELDS (type) = 0;
@@ -2010,10 +1990,6 @@ decode_base_type (struct coff_symbol *cs
 	  type = coff_alloc_type (cs->c_symnum);
 	  TYPE_CODE (type) = TYPE_CODE_ENUM;
 	  TYPE_NAME (type) = NULL;
-	  /* This used to set the tag to "<opaque>".  But I think
-	     setting it to NULL is right, and the printing code can
-	     print it as "enum {...}".  */
-	  TYPE_TAG_NAME (type) = NULL;
 	  TYPE_LENGTH (type) = 0;
 	  TYPE_FIELDS (type) = 0;
 	  TYPE_NFIELDS (type) = 0;
@@ -2048,8 +2024,7 @@ decode_base_type (struct coff_symbol *cs
       else
 	return objfile_type (objfile)->builtin_unsigned_long;
     }
-  complaint (&symfile_complaints, 
-	     _("Unexpected type for symbol %s"), cs->c_name);
+  complaint (_("Unexpected type for symbol %s"), cs->c_name);
   return objfile_type (objfile)->builtin_void;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/agent.c ./gdb/common/agent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/agent.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/agent.c	2018-07-10 02:06:12.000000000 +0000
@@ -190,7 +190,7 @@ agent_run_command (int pid, const char *
 {
   int fd;
   int tid = agent_get_helper_thread_id ();
-  ptid_t ptid = ptid_build (pid, tid, 0);
+  ptid_t ptid = ptid_t (pid, tid, 0);
 
   int ret = target_write_memory (ipa_sym_addrs.addr_cmd_buf,
 				 (gdb_byte *) cmd, len);
@@ -234,7 +234,7 @@ agent_run_command (int pid, const char *
     return -1;
 
   /* Need to read response with the inferior stopped.  */
-  if (!ptid_equal (ptid, null_ptid))
+  if (ptid != null_ptid)
     {
       /* Stop thread PTID.  */
       DEBUG_AGENT ("agent: stop helper thread\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.1.0.20180703/gdb/common/array-view.h ./gdb/common/array-view.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/array-view.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/array-view.h	2018-07-10 02:06:12.000000000 +0000
@@ -174,6 +174,33 @@ private:
   size_type m_size;
 };
 
+/* Compare LHS and RHS for (deep) equality.  That is, whether LHS and
+   RHS have the same sizes, and whether each pair of elements of LHS
+   and RHS at the same position compares equal.  */
+
+template <typename T>
+bool
+operator== (const gdb::array_view<T> &lhs, const gdb::array_view<T> &rhs)
+{
+  if (lhs.size () != rhs.size ())
+    return false;
+
+  for (size_t i = 0; i < lhs.size (); i++)
+    if (!(lhs[i] == rhs[i]))
+      return false;
+
+  return true;
+}
+
+/* Compare two array_views for inequality.  */
+
+template <typename T>
+bool
+operator!= (const gdb::array_view<T> &lhs, const gdb::array_view<T> &rhs)
+{
+  return !(lhs == rhs);
+}
+
 } /* namespace gdb */
 
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/btrace-common.c ./gdb/common/btrace-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/btrace-common.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/btrace-common.c	2018-07-10 02:06:12.000000000 +0000
@@ -64,28 +64,20 @@ btrace_format_short_string (enum btrace_
 /* See btrace-common.h.  */
 
 void
-btrace_data_init (struct btrace_data *data)
+btrace_data::fini ()
 {
-  data->format = BTRACE_FORMAT_NONE;
-}
-
-/* See btrace-common.h.  */
-
-void
-btrace_data_fini (struct btrace_data *data)
-{
-  switch (data->format)
+  switch (format)
     {
     case BTRACE_FORMAT_NONE:
       /* Nothing to do.  */
       return;
 
     case BTRACE_FORMAT_BTS:
-      VEC_free (btrace_block_s, data->variant.bts.blocks);
+      VEC_free (btrace_block_s, variant.bts.blocks);
       return;
 
     case BTRACE_FORMAT_PT:
-      xfree (data->variant.pt.data);
+      xfree (variant.pt.data);
       return;
     }
 
@@ -94,19 +86,19 @@ btrace_data_fini (struct btrace_data *da
 
 /* See btrace-common.h.  */
 
-int
-btrace_data_empty (struct btrace_data *data)
+bool
+btrace_data::empty () const
 {
-  switch (data->format)
+  switch (format)
     {
     case BTRACE_FORMAT_NONE:
-      return 1;
+      return true;
 
     case BTRACE_FORMAT_BTS:
-      return VEC_empty (btrace_block_s, data->variant.bts.blocks);
+      return VEC_empty (btrace_block_s, variant.bts.blocks);
 
     case BTRACE_FORMAT_PT:
-      return (data->variant.pt.size == 0);
+      return (variant.pt.size == 0);
     }
 
   internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
@@ -115,10 +107,10 @@ btrace_data_empty (struct btrace_data *d
 /* See btrace-common.h.  */
 
 void
-btrace_data_clear (struct btrace_data *data)
+btrace_data::clear ()
 {
-  btrace_data_fini (data);
-  btrace_data_init (data);
+  fini ();
+  format = BTRACE_FORMAT_NONE;
 }
 
 /* See btrace-common.h.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/btrace-common.h ./gdb/common/btrace-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/btrace-common.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/btrace-common.h	2018-07-10 02:06:12.000000000 +0000
@@ -164,7 +164,32 @@ struct btrace_data_pt
 /* The branch trace data.  */
 struct btrace_data
 {
-  enum btrace_format format;
+  btrace_data () = default;
+
+  ~btrace_data ()
+  {
+    fini ();
+  }
+
+  btrace_data &operator= (btrace_data &&other)
+  {
+    if (this != &other)
+      {
+	fini ();
+	format = other.format;
+	variant = other.variant;
+	other.format = BTRACE_FORMAT_NONE;
+      }
+    return *this;
+  }
+
+  /* Return true if this is empty; false otherwise.  */
+  bool empty () const;
+
+  /* Clear this object.  */
+  void clear ();
+
+  enum btrace_format format = BTRACE_FORMAT_NONE;
 
   union
   {
@@ -174,6 +199,12 @@ struct btrace_data
     /* Format == BTRACE_FORMAT_PT.  */
     struct btrace_data_pt pt;
   } variant;
+
+private:
+
+  DISABLE_COPY_AND_ASSIGN (btrace_data);
+
+  void fini ();
 };
 
 /* Target specific branch trace information.  */
@@ -217,18 +248,6 @@ extern const char *btrace_format_string 
 /* Return an abbreviation string representation of FORMAT.  */
 extern const char *btrace_format_short_string (enum btrace_format format);
 
-/* Initialize DATA.  */
-extern void btrace_data_init (struct btrace_data *data);
-
-/* Cleanup DATA.  */
-extern void btrace_data_fini (struct btrace_data *data);
-
-/* Clear DATA.  */
-extern void btrace_data_clear (struct btrace_data *data);
-
-/* Return non-zero if DATA is empty; zero otherwise.  */
-extern int btrace_data_empty (struct btrace_data *data);
-
 /* Append the branch trace data from SRC to the end of DST.
    Both SRC and DST must use the same format.
    Returns zero on success; a negative number otherwise.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/byte-vector.h ./gdb/common/byte-vector.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/byte-vector.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/byte-vector.h	2018-07-10 02:06:12.000000000 +0000
@@ -56,6 +56,7 @@ namespace gdb {
    and providing the whole std::vector API, if you end up needing it.
 */
 using byte_vector = gdb::def_vector<gdb_byte>;
+using char_vector = gdb::def_vector<char>;
 
 } /* namespace 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.1.0.20180703/gdb/common/common-defs.h ./gdb/common/common-defs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/common-defs.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/common-defs.h	2018-07-10 02:06:12.000000000 +0000
@@ -21,12 +21,23 @@
 #define COMMON_DEFS_H
 
 #include "config.h"
+
+#undef PACKAGE_NAME
+#undef PACKAGE_VERSION
+#undef PACKAGE_STRING
+#undef PACKAGE_TARNAME
+
 #ifdef GDBSERVER
 #include "build-gnulib-gdbserver/config.h"
 #else
 #include "build-gnulib/config.h"
 #endif
 
+#undef PACKAGE_NAME
+#undef PACKAGE_VERSION
+#undef PACKAGE_STRING
+#undef PACKAGE_TARNAME
+
 /* From:
     https://www.gnu.org/software/gnulib/manual/html_node/stdint_002eh.html
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/common-exceptions.h ./gdb/common/common-exceptions.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/common-exceptions.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/common-exceptions.h	2018-07-10 02:06:12.000000000 +0000
@@ -146,7 +146,7 @@ extern int exceptions_state_mc_catch (st
 #if GDB_XCPT != GDB_XCPT_SJMP
 extern void *exception_try_scope_entry (void);
 extern void exception_try_scope_exit (void *saved_state);
-extern void exception_rethrow (void);
+extern void exception_rethrow (void) ATTRIBUTE_NORETURN;
 #endif
 
 /* Macro to wrap up standard try/catch behavior.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/common.host ./gdb/common/common.host
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/common.host	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/common.host	2018-07-10 02:06:12.000000000 +0000
@@ -27,10 +27,10 @@
 
 case "${host}" in
 
-*-mingw*)	common_host_obs=mingw-strerror.o
+*-mingw*)	common_host_obs=common/mingw-strerror.o
 		;;
 *)
-		common_host_obs=posix-strerror.o
+		common_host_obs=common/posix-strerror.o
 		;;
 
 esac
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/common-regcache.h ./gdb/common/common-regcache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/common-regcache.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/common-regcache.h	2018-07-10 02:06:12.000000000 +0000
@@ -22,7 +22,7 @@
 
 /* This header is a stopgap until we have an independent regcache.  */
 
-enum register_status
+enum register_status : signed char
   {
     /* The register value is not in the cache, and we don't know yet
        whether it's available in the target (or traceframe).  */
@@ -62,4 +62,24 @@ extern enum register_status regcache_raw
 
 ULONGEST regcache_raw_get_unsigned (struct regcache *regcache, int regnum);
 
+struct reg_buffer_common
+{
+  virtual ~reg_buffer_common () = default;
+
+  /* Get the availability status of the value of register REGNUM in this
+     buffer.  */
+  virtual register_status get_register_status (int regnum) const = 0;
+
+  /* Supply register REGNUM, whose contents are stored in BUF, to REGCACHE.  */
+  virtual void raw_supply (int regnum, const void *buf) = 0;
+
+  /* Collect register REGNUM from REGCACHE and store its contents in BUF.  */
+  virtual void raw_collect (int regnum, void *buf) const = 0;
+
+  /* Compare the contents of the register stored in the regcache (ignoring the
+     first OFFSET bytes) to the contents of BUF (without any offset).  Returns
+     true if the same.  */
+  virtual bool raw_compare (int regnum, const void *buf, int offset) const = 0;
+};
+
 #endif /* COMMON_REGCACHE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/common-utils.c ./gdb/common/common-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/common-utils.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/common-utils.c	2018-07-10 02:06:12.000000000 +0000
@@ -440,3 +440,23 @@ is_regular_file (const char *name, int *
     *errno_ptr = EINVAL;
   return false;
 }
+
+/* See common/common-utils.h.  */
+
+ULONGEST
+align_up (ULONGEST v, int n)
+{
+  /* Check that N is really a power of two.  */
+  gdb_assert (n && (n & (n-1)) == 0);
+  return (v + n - 1) & -n;
+}
+
+/* See common/common-utils.h.  */
+
+ULONGEST
+align_down (ULONGEST v, int n)
+{
+  /* Check that N is really a power of two.  */
+  gdb_assert (n && (n & (n-1)) == 0);
+  return (v & -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.1.0.20180703/gdb/common/common-utils.h ./gdb/common/common-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/common-utils.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/common-utils.h	2018-07-10 02:06:12.000000000 +0000
@@ -151,4 +151,36 @@ in_inclusive_range (T value, T low, T hi
    we're expecting a regular file.  */
 extern bool is_regular_file (const char *name, int *errno_ptr);
 
+/* Ensure that V is aligned to an N byte boundary (B's assumed to be a
+   power of 2).  Round up/down when necessary.  Examples of correct
+   use include:
+
+    addr = align_up (addr, 8); -- VALUE needs 8 byte alignment
+    write_memory (addr, value, len);
+    addr += len;
+
+   and:
+
+    sp = align_down (sp - len, 16); -- Keep SP 16 byte aligned
+    write_memory (sp, value, len);
+
+   Note that uses such as:
+
+    write_memory (addr, value, len);
+    addr += align_up (len, 8);
+
+   and:
+
+    sp -= align_up (len, 8);
+    write_memory (sp, value, len);
+
+   are typically not correct as they don't ensure that the address (SP
+   or ADDR) is correctly aligned (relying on previous alignment to
+   keep things right).  This is also why the methods are called
+   "align_..." instead of "round_..." as the latter reads better with
+   this incorrect coding style.  */
+
+extern ULONGEST align_up (ULONGEST v, int n);
+extern ULONGEST align_down (ULONGEST v, int n);
+
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/diagnostics.h ./gdb/common/diagnostics.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/diagnostics.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/diagnostics.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,64 +0,0 @@
-/* Copyright (C) 2017-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef COMMON_DIAGNOSTICS_H
-#define COMMON_DIAGNOSTICS_H
-
-#include "common/preprocessor.h"
-
-#ifdef __GNUC__
-# define DIAGNOSTIC_PUSH _Pragma ("GCC diagnostic push")
-# define DIAGNOSTIC_POP _Pragma ("GCC diagnostic pop")
-# define DIAGNOSTIC_IGNORE(option) \
-  _Pragma (STRINGIFY (GCC diagnostic ignored option))
-#else
-# define DIAGNOSTIC_PUSH
-# define DIAGNOSTIC_POP
-# define DIAGNOSTIC_IGNORE(option)
-#endif
-
-#if defined (__clang__) /* clang */
-
-# define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE ("-Wself-move")
-# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \
-  DIAGNOSTIC_IGNORE ("-Wdeprecated-register")
-# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
-  DIAGNOSTIC_IGNORE ("-Wunused-function")
-# if __has_warning ("-Wenum-compare-switch")
-#  define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \
-   DIAGNOSTIC_IGNORE ("-Wenum-compare-switch")
-# 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/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/enum-flags.h ./gdb/common/enum-flags.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/enum-flags.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/enum-flags.h	2018-07-10 02:06:12.000000000 +0000
@@ -32,7 +32,7 @@
        flag_val3 = 1 << 3,
        flag_val4 = 1 << 4,
     };
-    DEF_ENUM_FLAGS_TYPE(enum some_flag, some_flags)
+    DEF_ENUM_FLAGS_TYPE(enum some_flag, some_flags);
 
     some_flags f = flag_val1 | flag_val2;
     f |= flag_val3;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/filestuff.h ./gdb/common/filestuff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/filestuff.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/filestuff.h	2018-07-10 02:06:12.000000000 +0000
@@ -19,6 +19,8 @@
 #ifndef FILESTUFF_H
 #define FILESTUFF_H
 
+#include <dirent.h>
+
 /* Note all the file descriptors which are open when this is called.
    These file descriptors will not be closed by close_most_fds.  */
 
@@ -84,4 +86,16 @@ extern int gdb_pipe_cloexec (int filedes
 
 extern struct cleanup *make_cleanup_close (int fd);
 
+struct gdb_dir_deleter
+{
+  void operator() (DIR *dir) const
+  {
+    closedir (dir);
+  }
+};
+
+/* A unique pointer to a DIR.  */
+
+typedef std::unique_ptr<DIR, gdb_dir_deleter> gdb_dir_up;
+
 #endif /* FILESTUFF_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/format.c ./gdb/common/format.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/format.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/format.c	2018-07-10 02:06:12.000000000 +0000
@@ -56,6 +56,9 @@ format_pieces::format_pieces (const char
 	    case 'b':
 	      *f++ = '\b';
 	      break;
+	    case 'e':
+	      *f++ = '\e';
+	      break;
 	    case 'f':
 	      *f++ = '\f';
 	      break;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/format.h ./gdb/common/format.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/format.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/format.h	2018-07-10 02:06:12.000000000 +0000
@@ -20,6 +20,8 @@
 #ifndef COMMON_FORMAT_H
 #define COMMON_FORMAT_H
 
+#include "common/gdb_string_view.h"
+
 #if defined(__MINGW32__) && !defined(PRINTF_HAS_LONG_LONG)
 # define USE_PRINTF_I64 1
 # define PRINTF_HAS_LONG_LONG
@@ -54,6 +56,12 @@ struct format_piece
   {
   }
 
+  bool operator== (const format_piece &other) const
+  {
+    return (this->argclass == other.argclass
+	    && gdb::string_view (this->string) == other.string);
+  }
+
   const char *string;
   enum argclass argclass;
 };
@@ -67,11 +75,6 @@ public:
 
   DISABLE_COPY_AND_ASSIGN (format_pieces);
 
-  format_piece &operator[] (size_t index)
-  {
-    return m_pieces[index];
-  }
-
   typedef std::vector<format_piece>::iterator iterator;
 
   iterator begin ()
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/gdb_ref_ptr.h ./gdb/common/gdb_ref_ptr.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/gdb_ref_ptr.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/gdb_ref_ptr.h	2018-07-10 02:06:12.000000000 +0000
@@ -149,6 +149,13 @@ class ref_ptr
     return m_obj;
   }
 
+  /* Acquire a new reference and return a ref_ptr that owns it.  */
+  static ref_ptr<T, Policy> new_reference (T *obj)
+  {
+    Policy::incref (obj);
+    return ref_ptr<T, Policy> (obj);
+  }
+
  private:
 
   T *m_obj;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/gdb_string_view.h ./gdb/common/gdb_string_view.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/gdb_string_view.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/gdb_string_view.h	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,560 @@
+// Components for manipulating non-owning sequences of characters -*- C++ -*-
+
+// Note: This file has been stolen from the gcc repo
+// (libstdc++-v3/include/experimental/string_view) and has local modifications.
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+// <http://www.gnu.org/licenses/>.
+
+//
+// N3762 basic_string_view library
+//
+
+#ifndef GDB_STRING_VIEW_H
+#define GDB_STRING_VIEW_H 1
+
+#if __cplusplus >= 201703L
+
+#include <string_view>
+
+namespace gdb {
+  using string_view = std::string_view;
+} /* namespace gdb */
+
+#else /* __cplusplus < 201703L */
+
+#include <string>
+#include <limits>
+
+namespace gdb {
+
+  /**
+   *  @class basic_string_view <experimental/string_view>
+   *  @brief  A non-owning reference to a string.
+   *
+   *  @ingroup strings
+   *  @ingroup sequences
+   *  @ingroup experimental
+   *
+   *  @tparam _CharT  Type of character
+   *  @tparam _Traits  Traits for character type, defaults to
+   *                   char_traits<_CharT>.
+   *
+   *  A basic_string_view looks like this:
+   *
+   *  @code
+   *    _CharT*    _M_str
+   *    size_t     _M_len
+   *  @endcode
+   */
+  template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
+    class basic_string_view
+    {
+    public:
+
+      // types
+      using traits_type = _Traits;
+      using value_type = _CharT;
+      using pointer = const _CharT*;
+      using const_pointer = const _CharT*;
+      using reference = const _CharT&;
+      using const_reference = const _CharT&;
+      using const_iterator = const _CharT*;
+      using iterator = const_iterator;
+      using const_reverse_iterator = std::reverse_iterator<const_iterator>;
+      using reverse_iterator = const_reverse_iterator;
+      using size_type = size_t;
+      using difference_type = ptrdiff_t;
+      static constexpr size_type npos = size_type(-1);
+
+      // [string.view.cons], construct/copy
+
+      constexpr
+      basic_string_view() noexcept
+      : _M_len{0}, _M_str{nullptr}
+      { }
+
+      constexpr basic_string_view(const basic_string_view&) noexcept = default;
+
+      template<typename _Allocator>
+        basic_string_view(const std::basic_string<_CharT, _Traits,
+			  _Allocator>& __str) noexcept
+        : _M_len{__str.length()}, _M_str{__str.data()}
+        { }
+
+      /*constexpr*/ basic_string_view(const _CharT* __str)
+      : _M_len{__str == nullptr ? 0 : traits_type::length(__str)},
+	_M_str{__str}
+      { }
+
+      constexpr basic_string_view(const _CharT* __str, size_type __len)
+      : _M_len{__len},
+        _M_str{__str}
+      { }
+
+      basic_string_view&
+      operator=(const basic_string_view&) noexcept = default;
+
+      // [string.view.iterators], iterators
+
+      constexpr const_iterator
+      begin() const noexcept
+      { return this->_M_str; }
+
+      constexpr const_iterator
+      end() const noexcept
+      { return this->_M_str + this->_M_len; }
+
+      constexpr const_iterator
+      cbegin() const noexcept
+      { return this->_M_str; }
+
+      constexpr const_iterator
+      cend() const noexcept
+      { return this->_M_str + this->_M_len; }
+
+      const_reverse_iterator
+      rbegin() const noexcept
+      { return const_reverse_iterator(this->end()); }
+
+      const_reverse_iterator
+      rend() const noexcept
+      { return const_reverse_iterator(this->begin()); }
+
+      const_reverse_iterator
+      crbegin() const noexcept
+      { return const_reverse_iterator(this->end()); }
+
+      const_reverse_iterator
+      crend() const noexcept
+      { return const_reverse_iterator(this->begin()); }
+
+      // [string.view.capacity], capacity
+
+      constexpr size_type
+      size() const noexcept
+      { return this->_M_len; }
+
+      constexpr size_type
+      length() const noexcept
+      { return _M_len; }
+
+      constexpr size_type
+      max_size() const noexcept
+      {
+	return (npos - sizeof(size_type) - sizeof(void*))
+		/ sizeof(value_type) / 4;
+      }
+
+      constexpr bool
+      empty() const noexcept
+      { return this->_M_len == 0; }
+
+      // [string.view.access], element access
+
+      constexpr const _CharT&
+      operator[](size_type __pos) const
+      {
+	// TODO: Assert to restore in a way compatible with the constexpr.
+	// __glibcxx_assert(__pos < this->_M_len);
+	return *(this->_M_str + __pos);
+      }
+
+      constexpr const _CharT&
+      at(size_type __pos) const
+      {
+	return __pos < this->_M_len
+	     ? *(this->_M_str + __pos)
+	     : (error (_("basic_string_view::at: __pos "
+			 "(which is %zu) >= this->size() "
+			 "(which is %zu)"),
+		       __pos, this->size()),
+		*this->_M_str);
+      }
+
+      constexpr const _CharT&
+      front() const
+      {
+	// TODO: Assert to restore in a way compatible with the constexpr.
+	// __glibcxx_assert(this->_M_len > 0);
+	return *this->_M_str;
+      }
+
+      constexpr const _CharT&
+      back() const
+      {
+	// TODO: Assert to restore in a way compatible with the constexpr.
+	// __glibcxx_assert(this->_M_len > 0);
+	return *(this->_M_str + this->_M_len - 1);
+      }
+
+      constexpr const _CharT*
+      data() const noexcept
+      { return this->_M_str; }
+
+      // [string.view.modifiers], modifiers:
+
+      /*constexpr*/ void
+      remove_prefix(size_type __n)
+      {
+	gdb_assert (this->_M_len >= __n);
+	this->_M_str += __n;
+	this->_M_len -= __n;
+      }
+
+      /*constexpr*/ void
+      remove_suffix(size_type __n)
+      { this->_M_len -= __n; }
+
+      /*constexpr*/ void
+      swap(basic_string_view& __sv) noexcept
+      {
+	auto __tmp = *this;
+	*this = __sv;
+	__sv = __tmp;
+      }
+
+
+      // [string.view.ops], string operations:
+
+      template<typename _Allocator>
+        explicit operator std::basic_string<_CharT, _Traits, _Allocator>() const
+        {
+	  return { this->_M_str, this->_M_len };
+	}
+
+      template<typename _Allocator = std::allocator<_CharT>>
+	std::basic_string<_CharT, _Traits, _Allocator>
+	to_string(const _Allocator& __alloc = _Allocator()) const
+	{
+	  return { this->_M_str, this->_M_len, __alloc };
+	}
+
+      size_type
+      copy(_CharT* __str, size_type __n, size_type __pos = 0) const
+      {
+	gdb_assert (__str != nullptr || __n == 0);
+	if (__pos > this->_M_len)
+	  error (_("basic_string_view::copy: __pos "
+		   "(which is %zu) > this->size() "
+		   "(which is %zu)"),
+		 __pos, this->size());
+	size_type __rlen{std::min(__n, size_type{this->_M_len  - __pos})};
+	for (auto __begin = this->_M_str + __pos,
+	     __end = __begin + __rlen; __begin != __end;)
+	  *__str++ = *__begin++;
+	return __rlen;
+      }
+
+
+      // [string.view.ops], string operations:
+
+      /*constexpr*/ basic_string_view
+      substr(size_type __pos, size_type __n=npos) const
+      {
+	return __pos <= this->_M_len
+	     ? basic_string_view{this->_M_str + __pos,
+				std::min(__n, size_type{this->_M_len  - __pos})}
+	     : (error (_("basic_string_view::substr: __pos "
+			 "(which is %zu) > this->size() "
+			 "(which is %zu)"),
+		       __pos, this->size()), basic_string_view{});
+      }
+
+      /*constexpr*/ int
+      compare(basic_string_view __str) const noexcept
+      {
+	int __ret = traits_type::compare(this->_M_str, __str._M_str,
+					 std::min(this->_M_len, __str._M_len));
+	if (__ret == 0)
+	  __ret = _S_compare(this->_M_len, __str._M_len);
+	return __ret;
+      }
+
+      /*constexpr*/ int
+      compare(size_type __pos1, size_type __n1, basic_string_view __str) const
+      { return this->substr(__pos1, __n1).compare(__str); }
+
+      /*constexpr*/ int
+      compare(size_type __pos1, size_type __n1,
+	      basic_string_view __str, size_type __pos2, size_type __n2) const
+      { return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2)); }
+
+      /*constexpr*/ int
+      compare(const _CharT* __str) const noexcept
+      { return this->compare(basic_string_view{__str}); }
+
+      /*constexpr*/ int
+      compare(size_type __pos1, size_type __n1, const _CharT* __str) const
+      { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); }
+
+      /*constexpr*/ int
+      compare(size_type __pos1, size_type __n1,
+	      const _CharT* __str, size_type __n2) const
+      {
+	return this->substr(__pos1, __n1)
+		   .compare(basic_string_view(__str, __n2));
+      }
+
+      /*constexpr*/ size_type
+      find(basic_string_view __str, size_type __pos = 0) const noexcept
+      { return this->find(__str._M_str, __pos, __str._M_len); }
+
+      /*constexpr*/ size_type
+      find(_CharT __c, size_type __pos=0) const noexcept;
+
+      /*constexpr*/ size_type
+      find(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
+
+      /*constexpr*/ size_type
+      find(const _CharT* __str, size_type __pos=0) const noexcept
+      { return this->find(__str, __pos, traits_type::length(__str)); }
+
+      /*constexpr*/ size_type
+      rfind(basic_string_view __str, size_type __pos = npos) const noexcept
+      { return this->rfind(__str._M_str, __pos, __str._M_len); }
+
+      /*constexpr*/ size_type
+      rfind(_CharT __c, size_type __pos = npos) const noexcept;
+
+      /*constexpr*/ size_type
+      rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
+
+      /*constexpr*/ size_type
+      rfind(const _CharT* __str, size_type __pos = npos) const noexcept
+      { return this->rfind(__str, __pos, traits_type::length(__str)); }
+
+      /*constexpr*/ size_type
+      find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept
+      { return this->find_first_of(__str._M_str, __pos, __str._M_len); }
+
+      /*constexpr*/ size_type
+      find_first_of(_CharT __c, size_type __pos = 0) const noexcept
+      { return this->find(__c, __pos); }
+
+      /*constexpr*/ size_type
+      find_first_of(const _CharT* __str, size_type __pos, size_type __n) const;
+
+      /*constexpr*/ size_type
+      find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept
+      { return this->find_first_of(__str, __pos, traits_type::length(__str)); }
+
+      /*constexpr*/ size_type
+      find_last_of(basic_string_view __str,
+		   size_type __pos = npos) const noexcept
+      { return this->find_last_of(__str._M_str, __pos, __str._M_len); }
+
+      size_type
+      find_last_of(_CharT __c, size_type __pos=npos) const noexcept
+      { return this->rfind(__c, __pos); }
+
+      /*constexpr*/ size_type
+      find_last_of(const _CharT* __str, size_type __pos, size_type __n) const;
+
+      /*constexpr*/ size_type
+      find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept
+      { return this->find_last_of(__str, __pos, traits_type::length(__str)); }
+
+      /*constexpr*/ size_type
+      find_first_not_of(basic_string_view __str,
+			size_type __pos = 0) const noexcept
+      { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); }
+
+      /*constexpr*/ size_type
+      find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept;
+
+      /*constexpr*/ size_type
+      find_first_not_of(const _CharT* __str,
+			size_type __pos, size_type __n) const;
+
+      /*constexpr*/ size_type
+      find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept
+      {
+	return this->find_first_not_of(__str, __pos,
+				       traits_type::length(__str));
+      }
+
+      /*constexpr*/ size_type
+      find_last_not_of(basic_string_view __str,
+		       size_type __pos = npos) const noexcept
+      { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); }
+
+      /*constexpr*/ size_type
+      find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept;
+
+      /*constexpr*/ size_type
+      find_last_not_of(const _CharT* __str,
+		       size_type __pos, size_type __n) const;
+
+      /*constexpr*/ size_type
+      find_last_not_of(const _CharT* __str,
+		       size_type __pos = npos) const noexcept
+      {
+	return this->find_last_not_of(__str, __pos,
+				      traits_type::length(__str));
+      }
+
+    private:
+
+      static constexpr int
+      _S_compare(size_type __n1, size_type __n2) noexcept
+      {
+	return difference_type(__n1 - __n2) > std::numeric_limits<int>::max()
+	     ? std::numeric_limits<int>::max()
+	     : difference_type(__n1 - __n2) < std::numeric_limits<int>::min()
+	     ? std::numeric_limits<int>::min()
+	     : static_cast<int>(difference_type(__n1 - __n2));
+      }
+
+      size_t	    _M_len;
+      const _CharT* _M_str;
+    };
+
+  // [string.view.comparison], non-member basic_string_view comparison functions
+
+  namespace __detail
+  {
+    // Identity transform to create a non-deduced context, so that only one
+    // argument participates in template argument deduction and the other
+    // argument gets implicitly converted to the deduced type. See n3766.html.
+    template<typename _Tp>
+      using __idt = typename std::common_type<_Tp>::type;
+  }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator==(basic_string_view<_CharT, _Traits> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.size() == __y.size() && __x.compare(__y) == 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator==(basic_string_view<_CharT, _Traits> __x,
+               __detail::__idt<basic_string_view<_CharT, _Traits>> __y) noexcept
+    { return __x.size() == __y.size() && __x.compare(__y) == 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator==(__detail::__idt<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.size() == __y.size() && __x.compare(__y) == 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator!=(basic_string_view<_CharT, _Traits> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return !(__x == __y); }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator!=(basic_string_view<_CharT, _Traits> __x,
+               __detail::__idt<basic_string_view<_CharT, _Traits>> __y) noexcept
+    { return !(__x == __y); }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator!=(__detail::__idt<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return !(__x == __y); }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator< (basic_string_view<_CharT, _Traits> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) < 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator< (basic_string_view<_CharT, _Traits> __x,
+               __detail::__idt<basic_string_view<_CharT, _Traits>> __y) noexcept
+    { return __x.compare(__y) < 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator< (__detail::__idt<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) < 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator> (basic_string_view<_CharT, _Traits> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) > 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator> (basic_string_view<_CharT, _Traits> __x,
+               __detail::__idt<basic_string_view<_CharT, _Traits>> __y) noexcept
+    { return __x.compare(__y) > 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator> (__detail::__idt<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) > 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator<=(basic_string_view<_CharT, _Traits> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) <= 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator<=(basic_string_view<_CharT, _Traits> __x,
+               __detail::__idt<basic_string_view<_CharT, _Traits>> __y) noexcept
+    { return __x.compare(__y) <= 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator<=(__detail::__idt<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) <= 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator>=(basic_string_view<_CharT, _Traits> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) >= 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator>=(basic_string_view<_CharT, _Traits> __x,
+               __detail::__idt<basic_string_view<_CharT, _Traits>> __y) noexcept
+    { return __x.compare(__y) >= 0; }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ bool
+    operator>=(__detail::__idt<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) >= 0; }
+
+  // basic_string_view typedef names
+
+  using string_view = basic_string_view<char>;
+} /* namespace gdb */
+
+#include "gdb_string_view.tcc"
+
+#endif // __cplusplus < 201703L
+
+#endif /* GDB_STRING_VIEW_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/gdb_string_view.tcc ./gdb/common/gdb_string_view.tcc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/gdb_string_view.tcc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/gdb_string_view.tcc	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,219 @@
+// Components for manipulating non-owning sequences of characters -*- C++ -*-
+
+// Note: This file has been stolen from the gcc repo
+// (libstdc++-v3/include/experimental/bits/string_view.tcc) and has local
+// modifications.
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+// <http://www.gnu.org/licenses/>.
+
+/** @file experimental/bits/string_view.tcc
+ *  This is an internal header file, included by other library headers.
+ *  Do not attempt to use it directly. @headername{experimental/string_view}
+ */
+
+//
+// N3762 basic_string_view library
+//
+
+#ifndef GDB_STRING_VIEW_TCC
+#define GDB_STRING_VIEW_TCC 1
+
+namespace gdb
+{
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find(const _CharT* __str, size_type __pos, size_type __n) const noexcept
+    {
+      gdb_assert (__str != nullptr || __n == 0);
+
+      if (__n == 0)
+	return __pos <= this->_M_len ? __pos : npos;
+
+      if (__n <= this->_M_len)
+	{
+	  for (; __pos <= this->_M_len - __n; ++__pos)
+	    if (traits_type::eq(this->_M_str[__pos], __str[0])
+		&& traits_type::compare(this->_M_str + __pos + 1,
+					__str + 1, __n - 1) == 0)
+	      return __pos;
+	}
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find(_CharT __c, size_type __pos) const noexcept
+    {
+      size_type __ret = npos;
+      if (__pos < this->_M_len)
+	{
+	  const size_type __n = this->_M_len - __pos;
+	  const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c);
+	  if (__p)
+	    __ret = __p - this->_M_str;
+	}
+      return __ret;
+    }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept
+    {
+      gdb_assert (__str != nullptr || __n == 0);
+
+      if (__n <= this->_M_len)
+	{
+	  __pos = std::min(size_type(this->_M_len - __n), __pos);
+	  do
+	    {
+	      if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0)
+		return __pos;
+	    }
+	  while (__pos-- > 0);
+	}
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    rfind(_CharT __c, size_type __pos) const noexcept
+    {
+      size_type __size = this->_M_len;
+      if (__size > 0)
+	{
+	  if (--__size > __pos)
+	    __size = __pos;
+	  for (++__size; __size-- > 0; )
+	    if (traits_type::eq(this->_M_str[__size], __c))
+	      return __size;
+	}
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_first_of(const _CharT* __str, size_type __pos, size_type __n) const
+    {
+      gdb_assert (__str != nullptr || __n == 0);
+      for (; __n && __pos < this->_M_len; ++__pos)
+	{
+	  const _CharT* __p = traits_type::find(__str, __n,
+						this->_M_str[__pos]);
+	  if (__p)
+	    return __pos;
+	}
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_last_of(const _CharT* __str, size_type __pos, size_type __n) const
+    {
+      gdb_assert (__str != nullptr || __n == 0);
+      size_type __size = this->size();
+      if (__size && __n)
+	{
+	  if (--__size > __pos)
+	    __size = __pos;
+	  do
+	    {
+	      if (traits_type::find(__str, __n, this->_M_str[__size]))
+		return __size;
+	    }
+	  while (__size-- != 0);
+	}
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_first_not_of(const _CharT* __str, size_type __pos, size_type __n) const
+    {
+      gdb_assert (__str != nullptr || __n == 0);
+      for (; __pos < this->_M_len; ++__pos)
+	if (!traits_type::find(__str, __n, this->_M_str[__pos]))
+	  return __pos;
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_first_not_of(_CharT __c, size_type __pos) const noexcept
+    {
+      for (; __pos < this->_M_len; ++__pos)
+	if (!traits_type::eq(this->_M_str[__pos], __c))
+	  return __pos;
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_last_not_of(const _CharT* __str, size_type __pos, size_type __n) const
+    {
+      gdb_assert (__str != nullptr || __n == 0);
+      size_type __size = this->_M_len;
+      if (__size)
+	{
+	  if (--__size > __pos)
+	    __size = __pos;
+	  do
+	    {
+	      if (!traits_type::find(__str, __n, this->_M_str[__size]))
+		return __size;
+	    }
+	  while (__size--);
+	}
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    /*constexpr*/ typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_last_not_of(_CharT __c, size_type __pos) const noexcept
+    {
+      size_type __size = this->_M_len;
+      if (__size)
+	{
+	  if (--__size > __pos)
+	    __size = __pos;
+	  do
+	    {
+	      if (!traits_type::eq(this->_M_str[__size], __c))
+		return __size;
+	    }
+	  while (__size--);
+	}
+      return npos;
+    }
+} // namespace gdb
+
+#endif // GDB_STRING_VIEW_TCC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/gdb_vecs.c ./gdb/common/gdb_vecs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/gdb_vecs.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/gdb_vecs.c	2018-07-10 02:06:12.000000000 +0000
@@ -21,30 +21,13 @@
 #include "gdb_vecs.h"
 #include "host-defs.h"
 
-/* Call xfree for each element of CHAR_PTR_VEC and final VEC_free for
-   CHAR_PTR_VEC itself.
-
-   You must not modify CHAR_PTR_VEC after it got registered with this function
-   by make_cleanup as the CHAR_PTR_VEC base address may change on its updates.
-   Contrary to VEC_free this function does not (cannot) clear the pointer.  */
-
-void
-free_char_ptr_vec (VEC (char_ptr) *char_ptr_vec)
-{
-  int ix;
-  char *name;
-
-  for (ix = 0; VEC_iterate (char_ptr, char_ptr_vec, ix, name); ++ix)
-    xfree (name);
-  VEC_free (char_ptr, char_ptr_vec);
-}
-
 /* Worker function to split character delimiter separated string of fields
-   STR into a CHAR_PTR_VEC.  */
+   STR into a char pointer vector.  */
 
 static void
-delim_string_to_char_ptr_vec_append (VEC (char_ptr) **vecp,
-				     const char *str, char delimiter)
+delim_string_to_char_ptr_vec_append
+  (std::vector<gdb::unique_xmalloc_ptr<char>> *vecp, const char *str,
+   char delimiter)
 {
   do
     {
@@ -64,49 +47,40 @@ delim_string_to_char_ptr_vec_append (VEC
       this_field = (char *) xmalloc (this_len + 1);
       memcpy (this_field, str, this_len);
       this_field[this_len] = '\0';
-      VEC_safe_push (char_ptr, *vecp, this_field);
+      vecp->emplace_back (this_field);
 
       str = next_field;
     }
   while (str != NULL);
 }
 
-/* Split STR, a list of DELIMITER-separated fields, into a CHAR_PTR_VEC.
-
-   You may modify the returned strings.
-   Read free_char_ptr_vec for its cleanup.  */
+/* See gdb_vecs.h.  */
 
-VEC (char_ptr) *
+std::vector<gdb::unique_xmalloc_ptr<char>>
 delim_string_to_char_ptr_vec (const char *str, char delimiter)
 {
-  VEC (char_ptr) *retval = NULL;
+  std::vector<gdb::unique_xmalloc_ptr<char>> retval;
   
   delim_string_to_char_ptr_vec_append (&retval, str, delimiter);
 
   return retval;
 }
 
-/* Extended version of dirnames_to_char_ptr_vec - additionally if *VECP is
-   non-NULL the new list elements from DIRNAMES are appended to the existing
-   *VECP list of entries.  *VECP address will be updated by this call.  */
+/* See gdb_vecs.h.  */
 
 void
-dirnames_to_char_ptr_vec_append (VEC (char_ptr) **vecp, const char *dirnames)
+dirnames_to_char_ptr_vec_append
+  (std::vector<gdb::unique_xmalloc_ptr<char>> *vecp, const char *dirnames)
 {
   delim_string_to_char_ptr_vec_append (vecp, dirnames, DIRNAME_SEPARATOR);
 }
 
-/* Split DIRNAMES by DIRNAME_SEPARATOR delimiter and return a list of all the
-   elements in their original order.  For empty string ("") DIRNAMES return
-   list of one empty string ("") element.
-   
-   You may modify the returned strings.
-   Read free_char_ptr_vec for its cleanup.  */
+/* See gdb_vecs.h.  */
 
-VEC (char_ptr) *
+std::vector<gdb::unique_xmalloc_ptr<char>>
 dirnames_to_char_ptr_vec (const char *dirnames)
 {
-  VEC (char_ptr) *retval = NULL;
+  std::vector<gdb::unique_xmalloc_ptr<char>> retval;
   
   dirnames_to_char_ptr_vec_append (&retval, dirnames);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/gdb_vecs.h ./gdb/common/gdb_vecs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/gdb_vecs.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/gdb_vecs.h	2018-07-10 02:06:12.000000000 +0000
@@ -22,24 +22,68 @@
 
 #include "vec.h"
 
-typedef char *char_ptr;
-typedef const char *const_char_ptr;
+/* Split STR, a list of DELIMITER-separated fields, into a char pointer vector.
 
-DEF_VEC_P (char_ptr);
+   You may modify the returned strings.  */
 
-DEF_VEC_P (const_char_ptr);
+extern std::vector<gdb::unique_xmalloc_ptr<char>>
+  delim_string_to_char_ptr_vec (const char *str, char delimiter);
 
-extern void free_char_ptr_vec (VEC (char_ptr) *char_ptr_vec);
+/* Like dirnames_to_char_ptr_vec, but append the directories to *VECP.  */
 
-extern struct cleanup *
-  make_cleanup_free_char_ptr_vec (VEC (char_ptr) *char_ptr_vec);
+extern void dirnames_to_char_ptr_vec_append
+  (std::vector<gdb::unique_xmalloc_ptr<char>> *vecp, const char *dirnames);
 
-extern VEC (char_ptr) *delim_string_to_char_ptr_vec (const char *str,
-						     char delimiter);
+/* Split DIRNAMES by DIRNAME_SEPARATOR delimiter and return a list of all the
+   elements in their original order.  For empty string ("") DIRNAMES return
+   list of one empty string ("") element.
 
-extern void dirnames_to_char_ptr_vec_append (VEC (char_ptr) **vecp,
-					     const char *dirnames);
+   You may modify the returned strings.  */
 
-extern VEC (char_ptr) *dirnames_to_char_ptr_vec (const char *dirnames);
+extern std::vector<gdb::unique_xmalloc_ptr<char>>
+  dirnames_to_char_ptr_vec (const char *dirnames);
+
+/* Remove the element pointed by iterator IT from VEC, not preserving the order
+   of the remaining elements.  Return the removed element.  */
+
+template <typename T>
+T
+unordered_remove (std::vector<T> &vec, typename std::vector<T>::iterator it)
+{
+  gdb_assert (it >= vec.begin () && it < vec.end ());
+
+  T removed = std::move (*it);
+  *it = std::move (vec.back ());
+  vec.pop_back ();
+
+  return removed;
+}
+
+/* Remove the element at position IX from VEC, not preserving the order of the
+   remaining elements.  Return the removed element.  */
+
+template <typename T>
+T
+unordered_remove (std::vector<T> &vec, typename std::vector<T>::size_type ix)
+{
+  gdb_assert (ix < vec.size ());
+
+  return unordered_remove (vec, vec.begin () + ix);
+}
+
+/* Remove the element at position IX from VEC, preserving the order the
+   remaining elements.  Return the removed element.  */
+
+template <typename T>
+T
+ordered_remove (std::vector<T> &vec, typename std::vector<T>::size_type ix)
+{
+  gdb_assert (ix < vec.size ());
+
+  T removed = std::move (vec[ix]);
+  vec.erase (vec.begin () + ix);
+
+  return removed;
+}
 
 #endif /* GDB_VECS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/observable.h ./gdb/common/observable.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/observable.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/observable.h	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,119 @@
+/* Observers
+
+   Copyright (C) 2016-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#if !defined (GDB_COMMON_OBSERVABLE_H)
+#define GDB_COMMON_OBSERVABLE_H
+
+#include <algorithm>
+#include <functional>
+#include <vector>
+
+namespace gdb
+{
+
+namespace observers
+{
+
+extern unsigned int observer_debug;
+
+/* An observer is an entity which is interested in being notified
+   when GDB reaches certain states, or certain events occur in GDB.
+   The entity being observed is called the observable.  To receive
+   notifications, the observer attaches a callback to the observable.
+   One observable can have several observers.
+
+   The observer implementation is also currently not reentrant.  In
+   particular, it is therefore not possible to call the attach or
+   detach routines during a notification.  */
+
+/* The type of a key that can be passed to attach, which can be passed
+   to detach to remove associated observers.  Tokens have address
+   identity, and are thus usually const globals.  */
+struct token
+{
+  token () = default;
+
+  DISABLE_COPY_AND_ASSIGN (token);
+};
+
+template<typename... T>
+class observable
+{
+public:
+
+  typedef std::function<void (T...)> func_type;
+
+  explicit observable (const char *name)
+    : m_name (name)
+  {
+  }
+
+  DISABLE_COPY_AND_ASSIGN (observable);
+
+  /* Attach F as an observer to this observable.  F cannot be
+     detached.  */
+  void attach (const func_type &f)
+  {
+    m_observers.emplace_back (nullptr, f);
+  }
+
+  /* Attach F as an observer to this observable.  T is a reference to
+     a token that can be used to later remove F.  */
+  void attach (const func_type &f, const token &t)
+  {
+    m_observers.emplace_back (&t, f);
+  }
+
+  /* Remove observers associated with T from this observable.  T is
+     the token that was previously passed to any number of "attach"
+     calls.  */
+  void detach (const token &t)
+  {
+    auto iter = std::remove_if (m_observers.begin (),
+				m_observers.end (),
+				[&] (const std::pair<const token *,
+				     func_type> &e)
+				{
+				  return e.first == &t;
+				});
+
+    m_observers.erase (iter, m_observers.end ());
+  }
+
+  /* Notify all observers that are attached to this observable.  */
+  void notify (T... args) const
+  {
+    if (observer_debug)
+      fprintf_unfiltered (gdb_stdlog, "observable %s notify() called\n",
+			  m_name);
+    for (auto &&e : m_observers)
+      e.second (args...);
+  }
+
+private:
+
+  std::vector<std::pair<const token *, func_type>> m_observers;
+  const char *m_name;
+};
+
+} /* namespace observers */
+
+} /* namespace gdb */
+
+#endif /* GDB_COMMON_OBSERVABLE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/poison.h ./gdb/common/poison.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/poison.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/poison.h	2018-07-10 02:06:12.000000000 +0000
@@ -21,6 +21,7 @@
 #define COMMON_POISON_H
 
 #include "traits.h"
+#include "obstack.h"
 
 /* Poison memset of non-POD types.  The idea is catching invalid
    initialization of non-POD structs that is easy to be introduced as
@@ -88,7 +89,11 @@ void *memmove (D *dest, const S *src, si
    objects that require new/delete.  */
 
 template<typename T>
-using IsMallocable = std::is_pod<T>;
+#if HAVE_IS_TRIVIALLY_CONSTRUCTIBLE
+using IsMallocable = std::is_trivially_constructible<T>;
+#else
+using IsMallocable = std::true_type;
+#endif
 
 template<typename T>
 using IsFreeable = gdb::Or<std::is_trivially_destructible<T>, std::is_void<T>>;
@@ -216,4 +221,28 @@ non-POD data type.");
 #undef XRESIZEVAR
 #define XRESIZEVAR(T, P, S) xresizevar<T> (P, S)
 
+template<typename T>
+static T *
+xobnew (obstack *ob)
+{
+  static_assert (IsMallocable<T>::value, "Trying to use XOBNEW with a \
+non-POD data type.");
+  return XOBNEW (ob, T);
+}
+
+#undef XOBNEW
+#define XOBNEW(O, T) xobnew<T> (O)
+
+template<typename T>
+static T *
+xobnewvec (obstack *ob, size_t n)
+{
+  static_assert (IsMallocable<T>::value, "Trying to use XOBNEWVEC with a \
+non-POD data type.");
+  return XOBNEWVEC (ob, T, n);
+}
+
+#undef XOBNEWVEC
+#define XOBNEWVEC(O, T, N) xobnewvec<T> (O, N)
+
 #endif /* COMMON_POISON_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/ptid.c ./gdb/common/ptid.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/ptid.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/ptid.c	2018-07-10 02:06:12.000000000 +0000
@@ -24,83 +24,3 @@
 
 ptid_t null_ptid = ptid_t::make_null ();
 ptid_t minus_one_ptid = ptid_t::make_minus_one ();
-
-/* See ptid.h.  */
-
-ptid_t
-ptid_build (int pid, long lwp, long tid)
-{
-  return ptid_t (pid, lwp, tid);
-}
-
-/* See ptid.h.  */
-
-ptid_t
-pid_to_ptid (int pid)
-{
-  return ptid_t (pid);
-}
-
-/* See ptid.h.  */
-
-int
-ptid_get_pid (const ptid_t &ptid)
-{
-  return ptid.pid ();
-}
-
-/* See ptid.h.  */
-
-long
-ptid_get_lwp (const ptid_t &ptid)
-{
-  return ptid.lwp ();
-}
-
-/* See ptid.h.  */
-
-long
-ptid_get_tid (const ptid_t &ptid)
-{
-  return ptid.tid ();
-}
-
-/* See ptid.h.  */
-
-int
-ptid_equal (const ptid_t &ptid1, const ptid_t &ptid2)
-{
-  return ptid1 == ptid2;
-}
-
-/* See ptid.h.  */
-
-int
-ptid_is_pid (const ptid_t &ptid)
-{
-  return ptid.is_pid ();
-}
-
-/* See ptid.h.  */
-
-int
-ptid_lwp_p (const ptid_t &ptid)
-{
-  return ptid.lwp_p ();
-}
-
-/* See ptid.h.  */
-
-int
-ptid_tid_p (const ptid_t &ptid)
-{
-  return ptid.tid_p ();
-}
-
-/* See ptid.h.  */
-
-int
-ptid_match (const ptid_t &ptid, const ptid_t &filter)
-{
-  return ptid.matches (filter);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/ptid.h ./gdb/common/ptid.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/ptid.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/ptid.h	2018-07-10 02:06:12.000000000 +0000
@@ -152,48 +152,4 @@ extern ptid_t null_ptid;
 
 extern ptid_t minus_one_ptid;
 
-
-/* The following functions are kept for backwards compatibility.  The use of
-   the ptid_t methods is preferred.  */
-
-/* See ptid_t::ptid_t.  */
-
-extern ptid_t ptid_build (int pid, long lwp, long tid);
-
-/* See ptid_t::ptid_t.  */
-
-extern ptid_t pid_to_ptid (int pid);
-
-/* See ptid_t::pid.  */
-
-extern int ptid_get_pid (const ptid_t &ptid);
-
-/* See ptid_t::lwp.  */
-
-extern long ptid_get_lwp (const ptid_t &ptid);
-
-/* See ptid_t::tid.  */
-
-extern long ptid_get_tid (const ptid_t &ptid);
-
-/* See ptid_t::operator== and ptid_t::operator!=.  */
-
-extern int ptid_equal (const ptid_t &ptid1, const ptid_t &ptid2);
-
-/* See ptid_t::is_pid.  */
-
-extern int ptid_is_pid (const ptid_t &ptid);
-
-/* See ptid_t::lwp_p.  */
-
-extern int ptid_lwp_p (const ptid_t &ptid);
-
-/* See ptid_t::tid_p.  */
-
-extern int ptid_tid_p (const ptid_t &ptid);
-
-/* See ptid_t::matches.  */
-
-extern int ptid_match (const ptid_t &ptid, const ptid_t &filter);
-
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/refcounted-object.h ./gdb/common/refcounted-object.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/refcounted-object.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/refcounted-object.h	2018-07-10 02:06:12.000000000 +0000
@@ -51,4 +51,20 @@ private:
   int m_refcount = 0;
 };
 
+/* A policy class to interface gdb::ref_ptr with a
+   refcounted_object.  */
+
+struct refcounted_object_ref_policy
+{
+  static void incref (refcounted_object *ptr)
+  {
+    ptr->incref ();
+  }
+
+  static void decref (refcounted_object *ptr)
+  {
+    ptr->decref ();
+  }
+};
+
 #endif /* REFCOUNTED_OBJECT_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/rsp-low.c ./gdb/common/rsp-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/rsp-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/rsp-low.c	2018-07-10 02:06:12.000000000 +0000
@@ -148,11 +148,18 @@ hex2bin (const char *hex)
 std::string
 hex2str (const char *hex)
 {
+  return hex2str (hex, strlen (hex));
+}
+
+/* See rsp-low.h.  */
+
+std::string
+hex2str (const char *hex, int count)
+{
   std::string ret;
-  size_t len = strlen (hex);
 
-  ret.reserve (len / 2);
-  for (size_t i = 0; i < len; ++i)
+  ret.reserve (count);
+  for (size_t i = 0; i < count; ++i)
     {
       if (hex[0] == '\0' || hex[1] == '\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.1.0.20180703/gdb/common/rsp-low.h ./gdb/common/rsp-low.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/rsp-low.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/rsp-low.h	2018-07-10 02:06:12.000000000 +0000
@@ -62,6 +62,10 @@ gdb::byte_vector hex2bin (const char *he
 
 extern std::string hex2str (const char *hex);
 
+/* Like hex2bin, but return a std::string.  */
+
+extern std::string hex2str (const char *hex, int count);
+
 /* Convert some bytes to a hexadecimal representation.  BIN holds the
    bytes to convert.  COUNT says how many bytes to convert.  The
    resulting characters are stored in HEX, followed by a NUL
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/scoped_fd.h ./gdb/common/scoped_fd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/scoped_fd.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/scoped_fd.h	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,60 @@
+/* scoped_fd, automatically close a file descriptor
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef SCOPED_FD_H
+#define SCOPED_FD_H
+
+#include "config.h"
+
+#ifdef HAVE_UNISTD_H
+
+#include <unistd.h>
+
+/* A smart-pointer-like class to automatically close a file descriptor.  */
+
+class scoped_fd
+{
+public:
+  explicit scoped_fd (int fd = -1) noexcept : m_fd (fd) {}
+  ~scoped_fd ()
+  {
+    if (m_fd >= 0)
+      close (m_fd);
+  }
+
+  DISABLE_COPY_AND_ASSIGN (scoped_fd);
+
+  int release () noexcept
+  {
+    int fd = m_fd;
+    m_fd = -1;
+    return fd;
+  }
+
+  int get () const noexcept
+  {
+    return m_fd;
+  }
+
+private:
+  int m_fd;
+};
+
+#endif /* HAVE_UNISTD_H */
+#endif /* SCOPED_FD_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/scoped_mmap.h ./gdb/common/scoped_mmap.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/scoped_mmap.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/scoped_mmap.h	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,76 @@
+/* scoped_mmap, automatically unmap files
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef SCOPED_MMAP_H
+#define SCOPED_MMAP_H
+
+#include "config.h"
+
+#ifdef HAVE_SYS_MMAN_H
+
+#include <sys/mman.h>
+
+/* A smart-pointer-like class to mmap() and automatically munmap() a memory
+   mapping.  */
+
+class scoped_mmap
+{
+public:
+  scoped_mmap () noexcept : m_mem (MAP_FAILED), m_length (0) {}
+  scoped_mmap (void *addr, size_t length, int prot, int flags, int fd,
+	       off_t offset) noexcept : m_length (length)
+    {
+      m_mem = mmap (addr, m_length, prot, flags, fd, offset);
+    }
+  ~scoped_mmap ()
+    {
+      if (m_mem != MAP_FAILED)
+	munmap (m_mem, m_length);
+    }
+
+  DISABLE_COPY_AND_ASSIGN (scoped_mmap);
+
+  void *release () noexcept
+    {
+      void *mem = m_mem;
+      m_mem = MAP_FAILED;
+      m_length = 0;
+      return mem;
+    }
+
+  void reset (void *addr, size_t length, int prot, int flags, int fd,
+	      off_t offset) noexcept
+    {
+      if (m_mem != MAP_FAILED)
+	munmap (m_mem, m_length);
+
+      m_length = length;
+      m_mem = mmap (addr, m_length, prot, flags, fd, offset);
+    }
+
+  size_t size () const noexcept { return m_length; }
+  void *get () const noexcept { return m_mem; }
+
+private:
+  void *m_mem;
+  size_t m_length;
+};
+
+#endif /* HAVE_SYS_MMAN_H */
+#endif /* SCOPED_MMAP_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/signals-state-save-restore.c ./gdb/common/signals-state-save-restore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/signals-state-save-restore.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/signals-state-save-restore.c	2018-07-10 02:06:12.000000000 +0000
@@ -72,8 +72,7 @@ save_original_signals_state (bool quiet)
 	  found_preinstalled = true;
 
 	  /* Use raw fprintf here because we're being called in early
-	     startup, because GDB's filtered streams are are
-	     created.  */
+	     startup, before GDB's filtered streams are created.  */
 	  fprintf (stderr,
 		   _("warning: Found custom handler for signal "
 		     "%d (%s) preinstalled.\n"), i,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/tdesc.c ./gdb/common/tdesc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/tdesc.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/tdesc.c	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,401 @@
+/* Target description support for GDB.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include "common/tdesc.h"
+
+tdesc_reg::tdesc_reg (struct tdesc_feature *feature, const std::string &name_,
+		      int regnum, int save_restore_, const char *group_,
+		      int bitsize_, const char *type_)
+  : name (name_), target_regnum (regnum),
+    save_restore (save_restore_),
+    group (group_ != NULL ? group_ : ""),
+    bitsize (bitsize_),
+    type (type_ != NULL ? type_ : "<unknown>")
+{
+  /* If the register's type is target-defined, look it up now.  We may not
+     have easy access to the containing feature when we want it later.  */
+  tdesc_type = tdesc_named_type (feature, type.c_str ());
+}
+
+/* Predefined types.  */
+static tdesc_type_builtin tdesc_predefined_types[] =
+{
+  { "bool", TDESC_TYPE_BOOL },
+  { "int8", TDESC_TYPE_INT8 },
+  { "int16", TDESC_TYPE_INT16 },
+  { "int32", TDESC_TYPE_INT32 },
+  { "int64", TDESC_TYPE_INT64 },
+  { "int128", TDESC_TYPE_INT128 },
+  { "uint8", TDESC_TYPE_UINT8 },
+  { "uint16", TDESC_TYPE_UINT16 },
+  { "uint32", TDESC_TYPE_UINT32 },
+  { "uint64", TDESC_TYPE_UINT64 },
+  { "uint128", TDESC_TYPE_UINT128 },
+  { "code_ptr", TDESC_TYPE_CODE_PTR },
+  { "data_ptr", TDESC_TYPE_DATA_PTR },
+  { "ieee_single", TDESC_TYPE_IEEE_SINGLE },
+  { "ieee_double", TDESC_TYPE_IEEE_DOUBLE },
+  { "arm_fpa_ext", TDESC_TYPE_ARM_FPA_EXT },
+  { "i387_ext", TDESC_TYPE_I387_EXT }
+};
+
+void tdesc_feature::accept (tdesc_element_visitor &v) const
+{
+  v.visit_pre (this);
+
+  for (const tdesc_type_up &type : types)
+    type->accept (v);
+
+  for (const tdesc_reg_up &reg : registers)
+    reg->accept (v);
+
+  v.visit_post (this);
+}
+
+bool tdesc_feature::operator== (const tdesc_feature &other) const
+{
+  if (name != other.name)
+    return false;
+
+  if (registers.size () != other.registers.size ())
+    return false;
+
+  for (int ix = 0; ix < registers.size (); ix++)
+    {
+      const tdesc_reg_up &reg1 = registers[ix];
+      const tdesc_reg_up &reg2 = other.registers[ix];
+
+      if (reg1 != reg2 && *reg1 != *reg2)
+	return false;
+      }
+
+  if (types.size () != other.types.size ())
+    return false;
+
+  for (int ix = 0; ix < types.size (); ix++)
+    {
+      const tdesc_type_up &type1 = types[ix];
+      const tdesc_type_up &type2 = other.types[ix];
+
+      if (type1 != type2 && *type1 != *type2)
+	return false;
+    }
+
+  return true;
+}
+
+/* Lookup a predefined type.  */
+
+static struct tdesc_type *
+tdesc_predefined_type (enum tdesc_type_kind kind)
+{
+  for (int ix = 0; ix < ARRAY_SIZE (tdesc_predefined_types); ix++)
+    if (tdesc_predefined_types[ix].kind == kind)
+      return &tdesc_predefined_types[ix];
+
+  gdb_assert_not_reached ("bad predefined tdesc type");
+}
+
+/* See common/tdesc.h.  */
+
+struct tdesc_type *
+tdesc_named_type (const struct tdesc_feature *feature, const char *id)
+{
+  /* First try target-defined types.  */
+  for (const tdesc_type_up &type : feature->types)
+    if (type->name == id)
+      return type.get ();
+
+  /* Next try the predefined types.  */
+  for (int ix = 0; ix < ARRAY_SIZE (tdesc_predefined_types); ix++)
+    if (tdesc_predefined_types[ix].name == id)
+      return &tdesc_predefined_types[ix];
+
+  return NULL;
+}
+
+/* See common/tdesc.h.  */
+
+void
+tdesc_create_reg (struct tdesc_feature *feature, const char *name,
+		  int regnum, int save_restore, const char *group,
+		  int bitsize, const char *type)
+{
+  tdesc_reg *reg = new tdesc_reg (feature, name, regnum, save_restore,
+				  group, bitsize, type);
+
+  feature->registers.emplace_back (reg);
+}
+
+/* See common/tdesc.h.  */
+
+struct tdesc_type *
+tdesc_create_vector (struct tdesc_feature *feature, const char *name,
+		     struct tdesc_type *field_type, int count)
+{
+  tdesc_type_vector *type = new tdesc_type_vector (name, field_type, count);
+  feature->types.emplace_back (type);
+
+  return type;
+}
+
+/* See common/tdesc.h.  */
+
+tdesc_type_with_fields *
+tdesc_create_struct (struct tdesc_feature *feature, const char *name)
+{
+  tdesc_type_with_fields *type
+    = new tdesc_type_with_fields (name, TDESC_TYPE_STRUCT);
+  feature->types.emplace_back (type);
+
+  return type;
+}
+
+/* See common/tdesc.h.  */
+
+void
+tdesc_set_struct_size (tdesc_type_with_fields *type, int size)
+{
+  gdb_assert (type->kind == TDESC_TYPE_STRUCT);
+  gdb_assert (size > 0);
+  type->size = size;
+}
+
+/* See common/tdesc.h.  */
+
+tdesc_type_with_fields *
+tdesc_create_union (struct tdesc_feature *feature, const char *name)
+{
+  tdesc_type_with_fields *type
+    = new tdesc_type_with_fields (name, TDESC_TYPE_UNION);
+  feature->types.emplace_back (type);
+
+  return type;
+}
+
+/* See common/tdesc.h.  */
+
+tdesc_type_with_fields *
+tdesc_create_flags (struct tdesc_feature *feature, const char *name,
+		    int size)
+{
+  gdb_assert (size > 0);
+
+  tdesc_type_with_fields *type
+    = new tdesc_type_with_fields (name, TDESC_TYPE_FLAGS, size);
+  feature->types.emplace_back (type);
+
+  return type;
+}
+
+/* See common/tdesc.h.  */
+
+tdesc_type_with_fields *
+tdesc_create_enum (struct tdesc_feature *feature, const char *name,
+		   int size)
+{
+  gdb_assert (size > 0);
+
+  tdesc_type_with_fields *type
+    = new tdesc_type_with_fields (name, TDESC_TYPE_ENUM, size);
+  feature->types.emplace_back (type);
+
+  return type;
+}
+
+/* See common/tdesc.h.  */
+
+void
+tdesc_add_field (tdesc_type_with_fields *type, const char *field_name,
+		 struct tdesc_type *field_type)
+{
+  gdb_assert (type->kind == TDESC_TYPE_UNION
+	      || type->kind == TDESC_TYPE_STRUCT);
+
+  /* Initialize start and end so we know this is not a bit-field
+     when we print-c-tdesc.  */
+  type->fields.emplace_back (field_name, field_type, -1, -1);
+}
+
+/* See common/tdesc.h.  */
+
+void
+tdesc_add_typed_bitfield (tdesc_type_with_fields *type, const char *field_name,
+			  int start, int end, struct tdesc_type *field_type)
+{
+  gdb_assert (type->kind == TDESC_TYPE_STRUCT
+	      || type->kind == TDESC_TYPE_FLAGS);
+  gdb_assert (start >= 0 && end >= start);
+
+  type->fields.emplace_back (field_name, field_type, start, end);
+}
+
+/* See common/tdesc.h.  */
+
+void
+tdesc_add_bitfield (tdesc_type_with_fields *type, const char *field_name,
+		    int start, int end)
+{
+  struct tdesc_type *field_type;
+
+  gdb_assert (start >= 0 && end >= start);
+
+  if (type->size > 4)
+    field_type = tdesc_predefined_type (TDESC_TYPE_UINT64);
+  else
+    field_type = tdesc_predefined_type (TDESC_TYPE_UINT32);
+
+  tdesc_add_typed_bitfield (type, field_name, start, end, field_type);
+}
+
+/* See common/tdesc.h.  */
+
+void
+tdesc_add_flag (tdesc_type_with_fields *type, int start,
+		const char *flag_name)
+{
+  gdb_assert (type->kind == TDESC_TYPE_FLAGS
+	      || type->kind == TDESC_TYPE_STRUCT);
+
+  type->fields.emplace_back (flag_name,
+			     tdesc_predefined_type (TDESC_TYPE_BOOL),
+			     start, start);
+}
+
+/* See common/tdesc.h.  */
+
+void
+tdesc_add_enum_value (tdesc_type_with_fields *type, int value,
+		      const char *name)
+{
+  gdb_assert (type->kind == TDESC_TYPE_ENUM);
+  type->fields.emplace_back (name,
+			     tdesc_predefined_type (TDESC_TYPE_INT32),
+			     value, -1);
+}
+
+void print_xml_feature::visit_pre (const tdesc_feature *e)
+{
+  string_appendf (*m_buffer, "<feature name=\"%s\">\n", e->name.c_str ());
+}
+
+void print_xml_feature::visit_post (const tdesc_feature *e)
+{
+  string_appendf (*m_buffer, "</feature>\n");
+}
+
+void print_xml_feature::visit (const tdesc_type_builtin *t)
+{
+  error (_("xml output is not supported for type \"%s\"."), t->name.c_str ());
+}
+
+void print_xml_feature::visit (const tdesc_type_vector *t)
+{
+  string_appendf (*m_buffer, "<vector id=\"%s\" type=\"%s\" count=\"%d\"/>\n",
+		  t->name.c_str (), t->element_type->name.c_str (), t->count);
+}
+
+void print_xml_feature::visit (const tdesc_type_with_fields *t)
+{
+  struct tdesc_type_field *f;
+  const static char *types[] = { "struct", "union", "flags", "enum" };
+
+  gdb_assert (t->kind >= TDESC_TYPE_STRUCT && t->kind <= TDESC_TYPE_ENUM);
+
+  string_appendf (*m_buffer,
+		  "<%s id=\"%s\"", types[t->kind - TDESC_TYPE_STRUCT],
+		  t->name.c_str ());
+
+  switch (t->kind)
+    {
+    case TDESC_TYPE_STRUCT:
+    case TDESC_TYPE_FLAGS:
+      if (t->size > 0)
+	string_appendf (*m_buffer, " size=\"%d\"", t->size);
+      string_appendf (*m_buffer, ">\n");
+
+      for (const tdesc_type_field &f : t->fields)
+	{
+	  string_appendf (*m_buffer, "  <field name=\"%s\" ", f.name.c_str ());
+	  if (f.start == -1)
+	    string_appendf (*m_buffer, "type=\"%s\"/>\n",
+			    f.type->name.c_str ());
+	  else
+	    string_appendf (*m_buffer, "start=\"%d\" end=\"%d\"/>\n", f.start,
+			    f.end);
+	}
+      break;
+
+    case TDESC_TYPE_ENUM:
+      string_appendf (*m_buffer, ">\n");
+      for (const tdesc_type_field &f : t->fields)
+	string_appendf (*m_buffer, "  <field name=\"%s\" start=\"%d\"/>\n",
+			f.name.c_str (), f.start);
+      break;
+
+    case TDESC_TYPE_UNION:
+      string_appendf (*m_buffer, ">\n");
+      for (const tdesc_type_field &f : t->fields)
+	string_appendf (*m_buffer, "  <field name=\"%s\" type=\"%s\"/>\n",
+			f.name.c_str (), f.type->name.c_str ());
+      break;
+
+    default:
+      error (_("xml output is not supported for type \"%s\"."),
+	     t->name.c_str ());
+    }
+
+  string_appendf (*m_buffer, "</%s>\n", types[t->kind - TDESC_TYPE_STRUCT]);
+}
+
+void print_xml_feature::visit (const tdesc_reg *r)
+{
+  string_appendf (*m_buffer,
+		  "<reg name=\"%s\" bitsize=\"%d\" type=\"%s\" regnum=\"%ld\"",
+		  r->name.c_str (), r->bitsize, r->type.c_str (),
+		  r->target_regnum);
+
+  if (r->group.length () > 0)
+    string_appendf (*m_buffer, " group=\"%s\"", r->group.c_str ());
+
+  if (r->save_restore == 0)
+    string_appendf (*m_buffer, " save-restore=\"no\"");
+
+  string_appendf (*m_buffer, "/>\n");
+}
+
+void print_xml_feature::visit_pre (const target_desc *e)
+{
+#ifndef IN_PROCESS_AGENT
+  string_appendf (*m_buffer, "<?xml version=\"1.0\"?>\n");
+  string_appendf (*m_buffer, "<!DOCTYPE target SYSTEM \"gdb-target.dtd\">\n");
+  string_appendf (*m_buffer, "<target>\n<architecture>%s</architecture>\n",
+		  tdesc_architecture_name (e));
+
+  const char *osabi = tdesc_osabi_name (e);
+  if (osabi != nullptr)
+    string_appendf (*m_buffer, "<osabi>%s</osabi>", osabi);
+#endif
+}
+
+void print_xml_feature::visit_post (const target_desc *e)
+{
+  string_appendf (*m_buffer, "</target>\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.1.0.20180703/gdb/common/tdesc.h ./gdb/common/tdesc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/tdesc.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/tdesc.h	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,407 @@
+/* Copyright (C) 2006-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef ARCH_TDESC_H
+#define ARCH_TDESC_H 1
+
+struct tdesc_feature;
+struct tdesc_type;
+struct tdesc_type_builtin;
+struct tdesc_type_vector;
+struct tdesc_type_with_fields;
+struct tdesc_reg;
+struct target_desc;
+
+/* The interface to visit different elements of target description.  */
+
+class tdesc_element_visitor
+{
+public:
+  virtual void visit_pre (const target_desc *e)
+  {}
+
+  virtual void visit_post (const target_desc *e)
+  {}
+
+  virtual void visit_pre (const tdesc_feature *e)
+  {}
+
+  virtual void visit_post (const tdesc_feature *e)
+  {}
+
+  virtual void visit (const tdesc_type_builtin *e)
+  {}
+
+  virtual void visit (const tdesc_type_vector *e)
+  {}
+
+  virtual void visit (const tdesc_type_with_fields *e)
+  {}
+
+  virtual void visit (const tdesc_reg *e)
+  {}
+};
+
+class tdesc_element
+{
+public:
+  virtual void accept (tdesc_element_visitor &v) const = 0;
+};
+
+/* An individual register from a target description.  */
+
+struct tdesc_reg : tdesc_element
+{
+  tdesc_reg (struct tdesc_feature *feature, const std::string &name_,
+	     int regnum, int save_restore_, const char *group_,
+	     int bitsize_, const char *type_);
+
+  virtual ~tdesc_reg () = default;
+
+  DISABLE_COPY_AND_ASSIGN (tdesc_reg);
+
+  /* The name of this register.  In standard features, it may be
+     recognized by the architecture support code, or it may be purely
+     for the user.  */
+  std::string name;
+
+  /* The register number used by this target to refer to this
+     register.  This is used for remote p/P packets and to determine
+     the ordering of registers in the remote g/G packets.  */
+  long target_regnum;
+
+  /* If this flag is set, GDB should save and restore this register
+     around calls to an inferior function.  */
+  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).  */
+  std::string group;
+
+  /* The size of the register, in bits.  */
+  int bitsize;
+
+  /* The type of the register.  This string corresponds to either
+     a named type from the target description or a predefined
+     type from GDB.  */
+  std::string type;
+
+  /* The target-described type corresponding to TYPE, if found.  */
+  struct tdesc_type *tdesc_type;
+
+  void accept (tdesc_element_visitor &v) const override
+  {
+    v.visit (this);
+  }
+
+  bool operator== (const tdesc_reg &other) const
+  {
+    return (name == other.name
+       && target_regnum == other.target_regnum
+       && save_restore == other.save_restore
+       && bitsize == other.bitsize
+       && group == other.group
+       && type == other.type);
+  }
+
+  bool operator!= (const tdesc_reg &other) const
+  {
+    return !(*this == other);
+  }
+};
+
+typedef std::unique_ptr<tdesc_reg> tdesc_reg_up;
+
+enum tdesc_type_kind
+{
+  /* Predefined types.  */
+  TDESC_TYPE_BOOL,
+  TDESC_TYPE_INT8,
+  TDESC_TYPE_INT16,
+  TDESC_TYPE_INT32,
+  TDESC_TYPE_INT64,
+  TDESC_TYPE_INT128,
+  TDESC_TYPE_UINT8,
+  TDESC_TYPE_UINT16,
+  TDESC_TYPE_UINT32,
+  TDESC_TYPE_UINT64,
+  TDESC_TYPE_UINT128,
+  TDESC_TYPE_CODE_PTR,
+  TDESC_TYPE_DATA_PTR,
+  TDESC_TYPE_IEEE_SINGLE,
+  TDESC_TYPE_IEEE_DOUBLE,
+  TDESC_TYPE_ARM_FPA_EXT,
+  TDESC_TYPE_I387_EXT,
+
+  /* Types defined by a target feature.  */
+  TDESC_TYPE_VECTOR,
+  TDESC_TYPE_STRUCT,
+  TDESC_TYPE_UNION,
+  TDESC_TYPE_FLAGS,
+  TDESC_TYPE_ENUM
+};
+
+struct tdesc_type : tdesc_element
+{
+  tdesc_type (const std::string &name_, enum tdesc_type_kind kind_)
+    : name (name_), kind (kind_)
+  {}
+
+  virtual ~tdesc_type () = default;
+
+  DISABLE_COPY_AND_ASSIGN (tdesc_type);
+
+  /* The name of this type.  */
+  std::string name;
+
+  /* Identify the kind of this type.  */
+  enum tdesc_type_kind kind;
+
+  bool operator== (const tdesc_type &other) const
+  {
+    return name == other.name && kind == other.kind;
+  }
+
+  bool operator!= (const tdesc_type &other) const
+  {
+    return !(*this == other);
+  }
+};
+
+typedef std::unique_ptr<tdesc_type> tdesc_type_up;
+
+struct tdesc_type_builtin : tdesc_type
+{
+  tdesc_type_builtin (const std::string &name, enum tdesc_type_kind kind)
+  : tdesc_type (name, kind)
+  {}
+
+  void accept (tdesc_element_visitor &v) const override
+  {
+    v.visit (this);
+  }
+};
+
+/* tdesc_type for vector types.  */
+
+struct tdesc_type_vector : tdesc_type
+{
+  tdesc_type_vector (const std::string &name, tdesc_type *element_type_,
+		     int count_)
+  : tdesc_type (name, TDESC_TYPE_VECTOR),
+    element_type (element_type_), count (count_)
+  {}
+
+  void accept (tdesc_element_visitor &v) const override
+  {
+    v.visit (this);
+  }
+
+  struct tdesc_type *element_type;
+  int count;
+};
+
+/* A named type from a target description.  */
+
+struct tdesc_type_field
+{
+  tdesc_type_field (const std::string &name_, tdesc_type *type_,
+		    int start_, int end_)
+  : name (name_), type (type_), start (start_), end (end_)
+  {}
+
+  std::string name;
+  struct tdesc_type *type;
+  /* For non-enum-values, either both are -1 (non-bitfield), or both are
+     not -1 (bitfield).  For enum values, start is the value (which could be
+     -1), end is -1.  */
+  int start, end;
+};
+
+/* tdesc_type for struct, union, flags, and enum types.  */
+
+struct tdesc_type_with_fields : tdesc_type
+{
+  tdesc_type_with_fields (const std::string &name, tdesc_type_kind kind,
+			  int size_ = 0)
+  : tdesc_type (name, kind), size (size_)
+  {}
+
+  void accept (tdesc_element_visitor &v) const override
+  {
+    v.visit (this);
+  }
+
+  std::vector<tdesc_type_field> fields;
+  int size;
+};
+
+/* A feature from a target description.  Each feature is a collection
+   of other elements, e.g. registers and types.  */
+
+struct tdesc_feature : tdesc_element
+{
+  tdesc_feature (const std::string &name_)
+    : name (name_)
+  {}
+
+  virtual ~tdesc_feature () = default;
+
+  DISABLE_COPY_AND_ASSIGN (tdesc_feature);
+
+  /* The name of this feature.  It may be recognized by the architecture
+     support code.  */
+  std::string name;
+
+  /* The registers associated with this feature.  */
+  std::vector<tdesc_reg_up> registers;
+
+  /* The types associated with this feature.  */
+  std::vector<tdesc_type_up> types;
+
+  void accept (tdesc_element_visitor &v) const override;
+
+  bool operator== (const tdesc_feature &other) const;
+
+  bool operator!= (const tdesc_feature &other) const
+  {
+    return !(*this == other);
+  }
+};
+
+typedef std::unique_ptr<tdesc_feature> tdesc_feature_up;
+
+/* Allocate a new target_desc.  */
+target_desc *allocate_target_description (void);
+
+/* Set TARGET_DESC's architecture by NAME.  */
+void set_tdesc_architecture (target_desc *target_desc,
+			     const char *name);
+
+/* Return the architecture associated with this target description as a string,
+   or NULL if no architecture was specified.  */
+const char *tdesc_architecture_name (const struct target_desc *target_desc);
+
+/* Set TARGET_DESC's osabi by NAME.  */
+void set_tdesc_osabi (target_desc *target_desc, const char *name);
+
+/* Return the osabi associated with this target description as a string,
+   or NULL if no osabi was specified.  */
+const char *tdesc_osabi_name (const struct target_desc *target_desc);
+
+/* Return the type associated with ID in the context of FEATURE, or
+   NULL if none.  */
+struct tdesc_type *tdesc_named_type (const struct tdesc_feature *feature,
+				     const char *id);
+
+/* Return the created feature named NAME in target description TDESC.  */
+struct tdesc_feature *tdesc_create_feature (struct target_desc *tdesc,
+					    const char *name);
+
+/* Return the created vector tdesc_type named NAME in FEATURE.  */
+struct tdesc_type *tdesc_create_vector (struct tdesc_feature *feature,
+					const char *name,
+					struct tdesc_type *field_type,
+					int count);
+
+/* Return the created struct tdesc_type named NAME in FEATURE.  */
+tdesc_type_with_fields *tdesc_create_struct (struct tdesc_feature *feature,
+					     const char *name);
+
+/* Return the created union tdesc_type named NAME in FEATURE.  */
+tdesc_type_with_fields *tdesc_create_union (struct tdesc_feature *feature,
+					    const char *name);
+
+/* Return the created flags tdesc_type named NAME in FEATURE.  */
+tdesc_type_with_fields *tdesc_create_flags (struct tdesc_feature *feature,
+					    const char *name,
+					    int size);
+
+/* Return the created enum tdesc_type named NAME in FEATURE.  */
+tdesc_type_with_fields *tdesc_create_enum (struct tdesc_feature *feature,
+					   const char *name,
+					   int size);
+
+/* Add a new field to TYPE.  FIELD_NAME is its name, and FIELD_TYPE is
+   its type.  */
+void tdesc_add_field (tdesc_type_with_fields *type, const char *field_name,
+		      struct tdesc_type *field_type);
+
+/* Add a new bitfield to TYPE, with range START to END.  FIELD_NAME is its name,
+   and FIELD_TYPE is its type.  */
+void tdesc_add_typed_bitfield (tdesc_type_with_fields *type,
+			       const char *field_name,
+			       int start, int end,
+			       struct tdesc_type *field_type);
+
+/* Set the total length of TYPE.  Structs which contain bitfields may
+   omit the reserved bits, so the end of the last field may not
+   suffice.  */
+void tdesc_set_struct_size (tdesc_type_with_fields *type, int size);
+
+/* Add a new untyped bitfield to TYPE.
+   Untyped bitfields become either uint32 or uint64 depending on the size
+   of the underlying type.  */
+void tdesc_add_bitfield (tdesc_type_with_fields *type, const char *field_name,
+			 int start, int end);
+
+/* A flag is just a typed(bool) single-bit bitfield.
+   This function is kept to minimize changes in generated files.  */
+void tdesc_add_flag (tdesc_type_with_fields *type, int start,
+		     const char *flag_name);
+
+/* Add field with VALUE and NAME to the enum TYPE.  */
+void tdesc_add_enum_value (tdesc_type_with_fields *type, int value,
+			   const char *name);
+
+/* Create a register in feature FEATURE.  */
+void tdesc_create_reg (struct tdesc_feature *feature, const char *name,
+		       int regnum, int save_restore, const char *group,
+		       int bitsize, const char *type);
+
+/* Return the tdesc in string XML format.  */
+
+const char *tdesc_get_features_xml (const target_desc *tdesc);
+
+/* Print target description as xml.  */
+
+class print_xml_feature : public tdesc_element_visitor
+{
+public:
+  print_xml_feature (std::string *buffer_)
+    : m_buffer (buffer_)
+  {}
+
+  void visit_pre (const target_desc *e) override;
+  void visit_post (const target_desc *e) override;
+  void visit_pre (const tdesc_feature *e) override;
+  void visit_post (const tdesc_feature *e) override;
+  void visit (const tdesc_type_builtin *type) override;
+  void visit (const tdesc_type_vector *type) override;
+  void visit (const tdesc_type_with_fields *type) override;
+  void visit (const tdesc_reg *reg) override;
+
+private:
+  std::string *m_buffer;
+};
+
+#endif /* ARCH_TDESC_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/traits.h ./gdb/common/traits.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/traits.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/traits.h	2018-07-10 02:06:12.000000000 +0000
@@ -33,6 +33,14 @@
 # define HAVE_IS_TRIVIALLY_COPYABLE 1
 #endif
 
+/* HAVE_IS_TRIVIALLY_CONSTRUCTIBLE is defined as 1 iff
+   std::is_trivially_constructible is available.  GCC only implemented it
+   in GCC 5.  */
+#if (__has_feature(is_trivially_constructible) \
+     || (defined __GNUC__ && __GNUC__ >= 5))
+# define HAVE_IS_TRIVIALLY_CONSTRUCTIBLE 1
+#endif
+
 namespace gdb {
 
 /* Pre C++14-safe (CWG 1558) version of C++17's std::void_t.  See
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/x86-xstate.h ./gdb/common/x86-xstate.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/x86-xstate.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/x86-xstate.h	2018-07-10 02:06:13.000000000 +0000
@@ -72,4 +72,17 @@
       (HAS_MPX (XCR0) ? X86_XSTATE_BNDCFG_SIZE : \
        (HAS_AVX (XCR0) ? X86_XSTATE_AVX_SIZE : X86_XSTATE_SSE_SIZE))))
 
+/* Initial value for fctrl register, as defined in the X86 manual, and
+   confirmed in the (Linux) kernel source.  When the x87 floating point
+   feature is not enabled in an inferior we use this as the value of the
+   fcrtl register.  */
+
+#define I387_FCTRL_INIT_VAL 0x037f
+
+/* Initial value for mxcsr register.  When the avx and sse floating point
+   features are not enabled in an inferior we use this as the value of the
+   mxcsr register.  */
+
+#define I387_MXCSR_INIT_VAL 0x1f80
+
 #endif /* X86_XSTATE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/xml-utils.c ./gdb/common/xml-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/xml-utils.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/xml-utils.c	2018-07-10 02:06:13.000000000 +0000
@@ -20,37 +20,44 @@
 #include "common-defs.h"
 #include "xml-utils.h"
 
-/* Return a string with special characters from TEXT replaced by entity
-   references.  */
+/* See xml-utils.h.  */
 
 std::string
 xml_escape_text (const char *text)
 {
   std::string result;
 
+  xml_escape_text_append (&result, text);
+
+  return result;
+}
+
+/* See xml-utils.h.  */
+
+void
+xml_escape_text_append (std::string *result, const char *text)
+{
   /* Expand the result.  */
   for (int i = 0; text[i] != '\0'; i++)
     switch (text[i])
       {
       case '\'':
-	result += "&apos;";
+	*result += "&apos;";
 	break;
       case '\"':
-	result += "&quot;";
+	*result += "&quot;";
 	break;
       case '&':
-	result += "&amp;";
+	*result += "&amp;";
 	break;
       case '<':
-	result += "&lt;";
+	*result += "&lt;";
 	break;
       case '>':
-	result += "&gt;";
+	*result += "&gt;";
 	break;
       default:
-	result += text[i];
+	*result += text[i];
 	break;
       }
-
-  return result;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/xml-utils.h ./gdb/common/xml-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/common/xml-utils.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/common/xml-utils.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,9 +20,14 @@
 #ifndef XML_UTILS_H
 #define XML_UTILS_H
 
-/* Return a malloc allocated string with special characters from TEXT
-   replaced by entity references.  */
+/* Return a string with special characters from TEXT replaced by entity
+   references.  */
 
 extern std::string xml_escape_text (const char *text);
 
+/* Append TEXT to RESULT, with special characters replaced by entity
+   references.  */
+
+extern void xml_escape_text_append (std::string *result, const char *text);
+
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/compile/compile.c ./gdb/compile/compile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/compile/compile.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/compile/compile.c	2018-07-10 02:06:13.000000000 +0000
@@ -149,7 +149,7 @@ compile_code_command (const char *arg, i
     eval_compile_command (NULL, arg, scope, NULL);
   else
     {
-      command_line_up l = get_command_line (compile_control, "");
+      counted_command_line l = get_command_line (compile_control, "");
 
       l->control_u.compile.scope = scope;
       execute_control_command_untraced (l.get ());
@@ -187,7 +187,7 @@ compile_print_command (const char *arg, 
     eval_compile_command (NULL, arg, scope, &fmt);
   else
     {
-      command_line_up l = get_command_line (compile_control, "");
+      counted_command_line l = get_command_line (compile_control, "");
 
       l->control_u.compile.scope = scope;
       l->control_u.compile.scope_data = &fmt;
@@ -394,9 +394,25 @@ filter_args (int *argcp, char **argv)
   *destv = NULL;
 }
 
-/* Produce final vector of GCC compilation options.  First element is target
-   size ("-m64", "-m32" etc.), optionally followed by DW_AT_producer options
-   and then compile-args string GDB variable.  */
+/* Produce final vector of GCC compilation options.
+
+   The first element of the combined argument vector are arguments
+   relating to the target size ("-m64", "-m32" etc.).  These are
+   sourced from the inferior's architecture.
+
+   The second element of the combined argument vector are arguments
+   stored in the inferior DW_AT_producer section.  If these are stored
+   in the inferior (there is no guarantee that they are), they are
+   added to the vector.
+
+   The third element of the combined argument vector are argument
+   supplied by the language implementation provided by
+   compile-{lang}-support.  These contain language specific arguments.
+
+   The final element of the combined argument vector are arguments
+   supplied by the "set compile-args" command.  These are always
+   appended last so as to override any of the arguments automatically
+   generated above.  */
 
 static void
 get_args (const struct compile_instance *compiler, struct gdbarch *gdbarch,
@@ -496,7 +512,7 @@ compile_to_object (struct command_line *
     {
       struct command_line *iter;
 
-      for (iter = cmd->body_list[0]; iter; iter = iter->next)
+      for (iter = cmd->body_list_0.get (); iter; iter = iter->next)
 	{
 	  input_buf.puts (iter->line);
 	  input_buf.puts ("\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.1.0.20180703/gdb/compile/compile-c-support.c ./gdb/compile/compile-c-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/compile/compile-c-support.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/compile/compile-c-support.c	2018-07-10 02:06:13.000000000 +0000
@@ -157,7 +157,7 @@ static void
 write_macro_definitions (const struct block *block, CORE_ADDR pc,
 			 struct ui_file *file)
 {
-  struct macro_scope *scope;
+  gdb::unique_xmalloc_ptr<struct macro_scope> scope;
 
   if (block != NULL)
     scope = sal_macro_scope (find_pc_line (pc, 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.1.0.20180703/gdb/compile/compile-c-types.c ./gdb/compile/compile-c-types.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/compile/compile-c-types.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/compile/compile-c-types.c	2018-07-10 02:06:13.000000000 +0000
@@ -273,9 +273,22 @@ convert_func (struct compile_c_instance 
 static gcc_type
 convert_int (struct compile_c_instance *context, struct type *type)
 {
-  return C_CTX (context)->c_ops->int_type_v0 (C_CTX (context),
-					      TYPE_UNSIGNED (type),
-					      TYPE_LENGTH (type));
+  if (C_CTX (context)->c_ops->c_version >= GCC_C_FE_VERSION_1)
+    {
+      if (TYPE_NOSIGN (type))
+	{
+	  gdb_assert (TYPE_LENGTH (type) == 1);
+	  return C_CTX (context)->c_ops->char_type (C_CTX (context));
+	}
+      return C_CTX (context)->c_ops->int_type (C_CTX (context),
+					       TYPE_UNSIGNED (type),
+					       TYPE_LENGTH (type),
+					       TYPE_NAME (type));
+    }
+  else
+    return C_CTX (context)->c_ops->int_type_v0 (C_CTX (context),
+						TYPE_UNSIGNED (type),
+						TYPE_LENGTH (type));
 }
 
 /* Convert a floating-point type to its gcc representation.  */
@@ -283,8 +296,13 @@ convert_int (struct compile_c_instance *
 static gcc_type
 convert_float (struct compile_c_instance *context, struct type *type)
 {
-  return C_CTX (context)->c_ops->float_type_v0 (C_CTX (context),
-						TYPE_LENGTH (type));
+  if (C_CTX (context)->c_ops->c_version >= GCC_C_FE_VERSION_1)
+    return C_CTX (context)->c_ops->float_type (C_CTX (context),
+					       TYPE_LENGTH (type),
+					       TYPE_NAME (type));
+  else
+    return C_CTX (context)->c_ops->float_type_v0 (C_CTX (context),
+						  TYPE_LENGTH (type));
 }
 
 /* Convert the 'void' type to its gcc representation.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/compile/compile-object-load.c ./gdb/compile/compile-object-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/compile/compile-object-load.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/compile/compile-object-load.c	2018-07-10 02:06:13.000000000 +0000
@@ -28,6 +28,7 @@
 #include "gdbcmd.h"
 #include "regcache.h"
 #include "inferior.h"
+#include "gdbthread.h"
 #include "compile.h"
 #include "block.h"
 #include "arch-utils.h"
@@ -554,8 +555,9 @@ get_regs_type (struct symbol *func_sym, 
 static void
 store_regs (struct type *regs_type, CORE_ADDR regs_base)
 {
+  thread_info *thread = inferior_thread ();
   struct gdbarch *gdbarch = target_gdbarch ();
-  struct regcache *regcache = get_thread_regcache (inferior_ptid);
+  struct regcache *regcache = get_thread_regcache (thread);
   int fieldno;
 
   for (fieldno = 0; fieldno < TYPE_NFIELDS (regs_type); fieldno++)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/complaints.c ./gdb/complaints.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/complaints.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/complaints.c	2018-07-10 02:06:13.000000000 +0000
@@ -21,6 +21,7 @@
 #include "complaints.h"
 #include "command.h"
 #include "gdbcmd.h"
+#include <unordered_map>
 
 /* Should each complaint message be self explanatory, or should we
    assume that a series of complaints is being produced?  */
@@ -29,120 +30,18 @@ enum complaint_series {
   /* Isolated self explanatory message.  */
   ISOLATED_MESSAGE,
 
-  /* First message of a series, includes an explanation.  */
-  FIRST_MESSAGE,
-
   /* First message of a series, but does not need to include any sort
      of explanation.  */
   SHORT_FIRST_MESSAGE,
-
-  /* Subsequent message of a series that needs no explanation (the
-     user already knows we have a problem so we can just state our
-     piece).  */
-  SUBSEQUENT_MESSAGE
-};
-
-/* Structure to manage complaints about symbol file contents.  */
-
-struct complain
-{
-  const char *file;
-  int line;
-  const char *fmt;
-  int counter;
-  struct complain *next;
-};
-
-/* The explanatory message that should accompany the complaint.  The
-   message is in two parts - pre and post - that are printed around
-   the complaint text.  */
-struct explanation
-{
-  const char *prefix;
-  const char *postfix;
-};
-
-struct complaints
-{
-  struct complain *root;
-
-  enum complaint_series series;
-
-  /* The explanatory messages that should accompany the complaint.
-     NOTE: cagney/2002-08-14: In a desperate attempt at being vaguely
-     i18n friendly, this is an array of two messages.  When present,
-     the PRE and POST EXPLANATION[SERIES] are used to wrap the
-     message.  */
-  const struct explanation *explanation;
 };
 
-static struct complain complaint_sentinel;
+/* Map format strings to counters.  */
 
-/* The symbol table complaint table.  */
-
-static struct explanation symfile_explanations[] = {
-  { "During symbol reading, ", "." },
-  { "During symbol reading...", "..."},
-  { "", "..."},
-  { "", "..."},
-  { NULL, NULL }
-};
-
-static struct complaints symfile_complaint_book = {
-  &complaint_sentinel,
-  ISOLATED_MESSAGE,
-  symfile_explanations
-};
-struct complaints *symfile_complaints = &symfile_complaint_book;
-
-/* Wrapper function to, on-demand, fill in a complaints object.  */
-
-static struct complaints *
-get_complaints (struct complaints **c)
-{
-  if ((*c) != NULL)
-    return (*c);
-  (*c) = XNEW (struct complaints);
-  (*c)->root = &complaint_sentinel;
-  (*c)->series = ISOLATED_MESSAGE;
-  (*c)->explanation = NULL;
-  return (*c);
-}
-
-static struct complain * ATTRIBUTE_PRINTF (4, 0)
-find_complaint (struct complaints *complaints, const char *file,
-		int line, const char *fmt)
-{
-  struct complain *complaint;
-
-  /* Find the complaint in the table.  A more efficient search
-     algorithm (based on hash table or something) could be used.  But
-     that can wait until someone shows evidence that this lookup is
-     a real bottle neck.  */
-  for (complaint = complaints->root;
-       complaint != NULL;
-       complaint = complaint->next)
-    {
-      if (complaint->fmt == fmt
-	  && complaint->file == file
-	  && complaint->line == line)
-	return complaint;
-    }
+static std::unordered_map<const char *, int> counters;
 
-  /* Oops not seen before, fill in a new complaint.  */
-  complaint = XNEW (struct complain);
-  complaint->fmt = fmt;
-  complaint->file = file;
-  complaint->line = line;
-  complaint->counter = 0;
-  complaint->next = NULL;
-
-  /* File it, return it.  */
-  complaint->next = complaints->root;
-  complaints->root = complaint;
-  return complaint;
-}
+/* How to print the next complaint.  */
 
+static complaint_series series;
 
 /* How many complaints about a particular thing should be printed
    before we stop whining about it?  Default is no whining at all,
@@ -150,82 +49,30 @@ find_complaint (struct complaints *compl
 
 int stop_whining = 0;
 
-/* Print a complaint, and link the complaint block into a chain for
-   later handling.  */
+/* See complaints.h.  */
 
-static void ATTRIBUTE_PRINTF (4, 0)
-vcomplaint (struct complaints **c, const char *file, 
-	    int line, const char *fmt,
-	    va_list args)
+void
+complaint_internal (const char *fmt, ...)
 {
-  struct complaints *complaints = get_complaints (c);
-  struct complain *complaint = find_complaint (complaints, file, 
-					       line, fmt);
-  enum complaint_series series;
-
-  gdb_assert (complaints != NULL);
+  va_list args;
 
-  complaint->counter++;
-  if (complaint->counter > stop_whining)
+  if (counters[fmt]++ > stop_whining)
     return;
 
-  if (info_verbose)
-    series = SUBSEQUENT_MESSAGE;
-  else
-    series = complaints->series;
+  va_start (args, fmt);
 
-  /* Pass 'fmt' instead of 'complaint->fmt' to printf-like callees
-     from here on, to avoid "format string is not a string literal"
-     warnings.  'fmt' is this function's printf-format parameter, so
-     the compiler can assume the passed in argument is a literal
-     string somewhere up the call chain.  */
-  gdb_assert (complaint->fmt == fmt);
-
-  if (complaint->file != NULL)
-    internal_vwarning (complaint->file, complaint->line, fmt, args);
-  else if (deprecated_warning_hook)
+  if (deprecated_warning_hook)
     (*deprecated_warning_hook) (fmt, args);
   else
     {
-      if (complaints->explanation == NULL)
-	/* A [v]warning() call always appends a newline.  */
-	vwarning (fmt, args);
+      std::string msg = string_vprintf (fmt, args);
+      wrap_here ("");
+      begin_line ();
+      if (series == ISOLATED_MESSAGE)
+	fprintf_filtered (gdb_stderr, "During symbol reading, %s.\n",
+			  msg.c_str ());
       else
-	{
-	  std::string msg = string_vprintf (fmt, args);
-	  wrap_here ("");
-	  if (series != SUBSEQUENT_MESSAGE)
-	    begin_line ();
-	  /* XXX: i18n */
-	  fprintf_filtered (gdb_stderr, "%s%s%s",
-			    complaints->explanation[series].prefix,
-			    msg.c_str (),
-			    complaints->explanation[series].postfix);
-	  /* Force a line-break after any isolated message.  For the
-             other cases, clear_complaints() takes care of any missing
-             trailing newline, the wrap_here() is just a hint.  */
-	  if (series == ISOLATED_MESSAGE)
-	    /* It would be really nice to use begin_line() here.
-	       Unfortunately that function doesn't track GDB_STDERR and
-	       consequently will sometimes supress a line when it
-	       shouldn't.  */
-	    fputs_filtered ("\n", gdb_stderr);
-	  else
-	    wrap_here ("");
-	}
-    }
-
-  switch (series)
-    {
-    case ISOLATED_MESSAGE:
-      break;
-    case FIRST_MESSAGE:
-      complaints->series = SUBSEQUENT_MESSAGE;
-      break;
-    case SUBSEQUENT_MESSAGE:
-    case SHORT_FIRST_MESSAGE:
-      complaints->series = SUBSEQUENT_MESSAGE;
-      break;
+	fprintf_filtered (gdb_stderr, "%s...", msg.c_str ());
     }
 
   /* If GDB dumps core, we'd like to see the complaints first.
@@ -233,25 +80,6 @@ vcomplaint (struct complaints **c, const
      becomes a performance hog.  */
 
   gdb_flush (gdb_stderr);
-}
-
-void
-complaint_internal (struct complaints **complaints, const char *fmt, ...)
-{
-  va_list args;
-
-  va_start (args, fmt);
-  vcomplaint (complaints, NULL/*file*/, 0/*line*/, fmt, args);
-  va_end (args);
-}
-
-void
-internal_complaint (struct complaints **complaints, const char *file,
-		    int line, const char *fmt, ...)
-{
-  va_list args;
-  va_start (args, fmt);
-  vcomplaint (complaints, file, line, fmt, args);
   va_end (args);
 }
 
@@ -259,50 +87,19 @@ internal_complaint (struct complaints **
    incremented.  If LESS_VERBOSE is 1, be less verbose about
    successive complaints, since the messages are appearing all
    together during a command that is reporting a contiguous block of
-   complaints (rather than being interleaved with other messages).  If
-   noisy is 1, we are in a noisy command, and our caller will print
-   enough context for the user to figure it out.  */
+   complaints (rather than being interleaved with other messages).  */
 
 void
-clear_complaints (struct complaints **c, int less_verbose, int noisy)
+clear_complaints (int less_verbose)
 {
-  struct complaints *complaints = get_complaints (c);
   struct complain *p;
 
-  for (p = complaints->root; p != NULL; p = p->next)
-    {
-      p->counter = 0;
-    }
-
-  switch (complaints->series)
-    {
-    case FIRST_MESSAGE:
-      /* Haven't yet printed anything.  */
-      break;
-    case SHORT_FIRST_MESSAGE:
-      /* Haven't yet printed anything.  */
-      break;
-    case ISOLATED_MESSAGE:
-      /* The code above, always forces a line-break.  No need to do it
-         here.  */
-      break;
-    case SUBSEQUENT_MESSAGE:
-      /* It would be really nice to use begin_line() here.
-         Unfortunately that function doesn't track GDB_STDERR and
-         consequently will sometimes supress a line when it
-         shouldn't.  */
-      fputs_unfiltered ("\n", gdb_stderr);
-      break;
-    default:
-      internal_error (__FILE__, __LINE__, _("bad switch"));
-    }
+  counters.clear ();
 
   if (!less_verbose)
-    complaints->series = ISOLATED_MESSAGE;
-  else if (!noisy)
-    complaints->series = FIRST_MESSAGE;
+    series = ISOLATED_MESSAGE;
   else
-    complaints->series = SHORT_FIRST_MESSAGE;
+    series = SHORT_FIRST_MESSAGE;
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/complaints.h ./gdb/complaints.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/complaints.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/complaints.h	2018-07-10 02:06:13.000000000 +0000
@@ -25,33 +25,24 @@
    particular category.  */
 struct complaints;
 
-/* Predefined categories.  */
-extern struct complaints *symfile_complaints;
-
 /* Helper for complaint.  */
-extern void complaint_internal (struct complaints **complaints,
-				const char *fmt, ...)
-  ATTRIBUTE_PRINTF (2, 3);
+extern void complaint_internal (const char *fmt, ...)
+  ATTRIBUTE_PRINTF (1, 2);
 
 /* Register a complaint.  This is a macro around complaint_internal to
    avoid computing complaint's arguments when complaints are disabled.
    Running FMT via gettext [i.e., _(FMT)] can be quite expensive, for
    example.  */
-#define complaint(COMPLAINTS, FMT, ...)				\
+#define complaint(FMT, ...)					\
   do								\
     {								\
       extern int stop_whining;					\
 								\
       if (stop_whining > 0)					\
-	complaint_internal (COMPLAINTS, FMT, ##__VA_ARGS__);	\
+	complaint_internal (FMT, ##__VA_ARGS__);		\
     }								\
   while (0)
 
-extern void internal_complaint (struct complaints **complaints,
-				const char *file, int line,
-				const char *fmt,
-				...) ATTRIBUTE_PRINTF (4, 5);
-
 /* Clear out / initialize all complaint counters that have ever been
    incremented.  If LESS_VERBOSE is 1, be less verbose about
    successive complaints, since the messages are appearing all
@@ -60,8 +51,7 @@ extern void internal_complaint (struct c
    noisy is 1, we are in a noisy command, and our caller will print
    enough context for the user to figure it out.  */
 
-extern void clear_complaints (struct complaints **complaints,
-			      int less_verbose, int noisy);
+extern void clear_complaints (int less_verbose);
 
 
 #endif /* !defined (COMPLAINTS_H) */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/completer.c ./gdb/completer.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/completer.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/completer.c	2018-07-10 02:06:13.000000000 +0000
@@ -962,7 +962,7 @@ location_completer_handle_brkchars (stru
 
 static void
 add_struct_fields (struct type *type, completion_list &output,
-		   char *fieldname, int namelen)
+		   const char *fieldname, int namelen)
 {
   int i;
   int computed_type_name = 0;
@@ -999,7 +999,7 @@ add_struct_fields (struct type *type, co
 	{
 	  if (!computed_type_name)
 	    {
-	      type_name = type_name_no_tag (type);
+	      type_name = TYPE_NAME (type);
 	      computed_type_name = 1;
 	    }
 	  /* Omit constructors from the completion list.  */
@@ -1016,12 +1016,11 @@ complete_expression (completion_tracker 
 		     const char *text, const char *word)
 {
   struct type *type = NULL;
-  char *fieldname;
+  gdb::unique_xmalloc_ptr<char> fieldname;
   enum type_code code = TYPE_CODE_UNDEF;
 
   /* Perform a tentative parse of the expression, to see whether a
      field completion is required.  */
-  fieldname = NULL;
   TRY
     {
       type = parse_expression_for_completion (text, &fieldname, &code);
@@ -1032,7 +1031,7 @@ complete_expression (completion_tracker 
     }
   END_CATCH
 
-  if (fieldname && type)
+  if (fieldname != nullptr && type)
     {
       for (;;)
 	{
@@ -1045,25 +1044,20 @@ complete_expression (completion_tracker 
       if (TYPE_CODE (type) == TYPE_CODE_UNION
 	  || TYPE_CODE (type) == TYPE_CODE_STRUCT)
 	{
-	  int flen = strlen (fieldname);
 	  completion_list result;
 
-	  add_struct_fields (type, result, fieldname, flen);
-	  xfree (fieldname);
+	  add_struct_fields (type, result, fieldname.get (),
+			     strlen (fieldname.get ()));
 	  tracker.add_completions (std::move (result));
 	  return;
 	}
     }
-  else if (fieldname && code != TYPE_CODE_UNDEF)
+  else if (fieldname != nullptr && code != TYPE_CODE_UNDEF)
     {
-      struct cleanup *cleanup = make_cleanup (xfree, fieldname);
-
-      collect_symbol_completion_matches_type (tracker, fieldname, fieldname,
-					      code);
-      do_cleanups (cleanup);
+      collect_symbol_completion_matches_type (tracker, fieldname.get (),
+					      fieldname.get (), code);
       return;
     }
-  xfree (fieldname);
 
   complete_files_symbols (tracker, text, word);
 }
@@ -1475,7 +1469,7 @@ int max_completions = 200;
 completion_tracker::completion_tracker ()
 {
   m_entries_hash = htab_create_alloc (INITIAL_COMPLETION_HTAB_SIZE,
-				      htab_hash_string, (htab_eq) streq,
+				      htab_hash_string, streq_hash,
 				      NULL, xcalloc, xfree);
 }
 
@@ -1493,7 +1487,7 @@ completion_tracker::discard_completions 
 
   htab_delete (m_entries_hash);
   m_entries_hash = htab_create_alloc (INITIAL_COMPLETION_HTAB_SIZE,
-				      htab_hash_string, (htab_eq) streq,
+				      htab_hash_string, streq_hash,
 				      NULL, xcalloc, xfree);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/config.in ./gdb/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/config.in	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/config.in	2018-07-10 02:06:13.000000000 +0000
@@ -192,6 +192,9 @@
 /* Define to 1 if you have the `getpagesize' function. */
 #undef HAVE_GETPAGESIZE
 
+/* Define to 1 if you have the `getpgid' function. */
+#undef HAVE_GETPGID
+
 /* Define to 1 if you have the `getrlimit' function. */
 #undef HAVE_GETRLIMIT
 
@@ -219,6 +222,9 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if your system has the kinfo_getfile function. */
+#undef HAVE_KINFO_GETFILE
+
 /* Define to 1 if your system has the kinfo_getvmmap function. */
 #undef HAVE_KINFO_GETVMMAP
 
@@ -444,40 +450,40 @@
 /* Define to 1 if your system has struct lwp. */
 #undef HAVE_STRUCT_LWP
 
-/* Define to 1 if `struct ptrace_lwpinfo' is a member of `pl_syscall_code'. */
+/* Define to 1 if `pl_syscall_code' is a member of `struct ptrace_lwpinfo'. */
 #undef HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE
 
-/* Define to 1 if `struct ptrace_lwpinfo' is a member of `pl_tdname'. */
+/* Define to 1 if `pl_tdname' is a member of `struct ptrace_lwpinfo'. */
 #undef HAVE_STRUCT_PTRACE_LWPINFO_PL_TDNAME
 
-/* Define to 1 if `struct pt_insn' is a member of `enabled'. */
+/* Define to 1 if `enabled' is a member of `struct pt_insn'. */
 #undef HAVE_STRUCT_PT_INSN_ENABLED
 
-/* Define to 1 if `struct pt_insn' is a member of `resynced'. */
+/* Define to 1 if `resynced' is a member of `struct pt_insn'. */
 #undef HAVE_STRUCT_PT_INSN_RESYNCED
 
 /* Define to 1 if your system has struct reg in <machine/reg.h>. */
 #undef HAVE_STRUCT_REG
 
-/* Define to 1 if `struct reg' is a member of `r_fs'. */
+/* Define to 1 if `r_fs' is a member of `struct reg'. */
 #undef HAVE_STRUCT_REG_R_FS
 
-/* Define to 1 if `struct reg' is a member of `r_gs'. */
+/* Define to 1 if `r_gs' is a member of `struct reg'. */
 #undef HAVE_STRUCT_REG_R_GS
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct thread' is a member of `td_pcb'. */
+/* Define to 1 if `td_pcb' is a member of `struct thread'. */
 #undef HAVE_STRUCT_THREAD_TD_PCB
 
-/* Define to 1 if `struct user_regs_struct' is a member of `fs_base'. */
+/* Define to 1 if `fs_base' is a member of `struct user_regs_struct'. */
 #undef HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE
 
-/* Define to 1 if `struct user_regs_struct' is a member of `gs_base'. */
+/* Define to 1 if `gs_base' is a member of `struct user_regs_struct'. */
 #undef HAVE_STRUCT_USER_REGS_STRUCT_GS_BASE
 
 /* Define to 1 if you have the <sys/debugreg.h> header file. */
@@ -764,6 +770,11 @@
 # endif
 #endif
 
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS
 
@@ -792,5 +803,8 @@
 /* Define to `int' if <sys/types.h> does not define. */
 #undef pid_t
 
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
 /* Define as `fork' if `vfork' does not work. */
 #undef vfork
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/configure ./gdb/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/configure	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/configure	2018-07-10 02:06:13.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -209,14 +236,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -314,10 +352,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -354,19 +400,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -439,6 +485,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -473,16 +523,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -494,28 +544,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -524,10 +554,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -589,6 +620,7 @@ ac_includes_default="\
 #endif"
 
 enable_option_checking=no
+ac_header_list=
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 GCORE_TRANSFORM_NAME
@@ -713,6 +745,7 @@ AWK
 REPORT_BUGS_TEXI
 REPORT_BUGS_TO
 PKGVERSION
+CODESIGN_CERT
 HAVE_NATIVE_GCORE_TARGET
 TARGET_OBS
 subdirs
@@ -829,6 +862,7 @@ enable_gdbtk
 with_libunwind_ia64
 with_curses
 enable_profiling
+enable_codesign
 with_pkgversion
 with_bugurl
 with_system_zlib
@@ -946,8 +980,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -992,7 +1027,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1018,7 +1053,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1222,7 +1257,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1238,7 +1273,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1268,8 +1303,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1277,7 +1312,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1287,7 +1322,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1295,13 +1330,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1324,7 +1359,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1338,8 +1373,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1354,9 +1387,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1395,11 +1428,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1439,7 +1472,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1506,8 +1539,9 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-plugins        Enable support for plugins
   --disable-largefile     omit support for large files
   --enable-targets=TARGETS
@@ -1518,6 +1552,7 @@ Optional Features:
   --enable-tui            enable full-screen terminal user interface (TUI)
   --enable-gdbtk          enable gdbtk graphical user interface (GUI)
   --enable-profiling      enable profiling of GDB
+  --enable-codesign=CERT  sign gdb with 'codesign -s CERT'
   --disable-rpath         do not hardcode runtime library paths
   --enable-libmcheck      Try linking with -lmcheck if available
   --enable-werror         treat compile warnings as errors
@@ -1597,7 +1632,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CXX         C++ compiler command
   CXXFLAGS    C++ compiler flags
@@ -1605,8 +1640,9 @@ Some influential environment variables:
   MAKEINFO    Parent configure detects if it is of sufficient version.
   MAKEINFOFLAGS
               Parameters for MAKEINFO.
-  YACC        The `Yet Another C Compiler' implementation to use. Defaults to
-              the first program found out of: `bison -y', `byacc', `yacc'.
+  YACC        The `Yet Another Compiler Compiler' implementation to use.
+              Defaults to the first program found out of: `bison -y', `byacc',
+              `yacc'.
   YFLAGS      The list of arguments that will be passed by default to $YACC.
               This script will default YFLAGS to the empty string to avoid a
               default value of `-d' given by some make applications.
@@ -1679,9 +1715,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1725,8 +1761,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1763,8 +1799,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_compile
 
@@ -1789,7 +1825,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1800,8 +1836,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1813,10 +1849,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1852,7 +1888,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1879,7 +1915,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1888,7 +1924,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1929,8 +1965,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1943,7 +1979,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1961,7 +1997,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1992,7 +2028,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -2006,8 +2042,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -2028,7 +2064,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2044,7 +2081,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2070,7 +2108,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2086,7 +2125,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2120,7 +2160,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2184,8 +2225,8 @@ rm -f core *.core core.conftest.* gmon.o
 rm -f conftest.val
 
   fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_compute_int
 
@@ -2197,7 +2238,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2252,7 +2293,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -2265,7 +2306,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2309,7 +2350,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -2322,7 +2363,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -2363,13 +2404,14 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
 ac_fn_c_check_decl ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
@@ -2377,7 +2419,7 @@ ac_fn_c_check_decl ()
   as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
 $as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2408,7 +2450,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_decl
 cat >config.log <<_ACEOF
@@ -2416,7 +2458,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2526,11 +2568,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2564,11 +2604,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2581,11 +2619,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2599,11 +2635,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2658,7 +2692,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2669,18 +2708,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2694,6 +2737,9 @@ else
   >$cache_file
 fi
 
+as_fn_append ac_header_list " stdlib.h"
+as_fn_append ac_header_list " unistd.h"
+as_fn_append ac_header_list " sys/param.h"
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
@@ -2749,7 +2795,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2804,7 +2850,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2816,7 +2862,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2844,7 +2890,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2856,7 +2902,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2897,7 +2943,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2909,7 +2955,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2937,7 +2983,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2950,7 +2996,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2996,7 +3042,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3008,7 +3054,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3040,7 +3086,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -3052,7 +3098,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3094,8 +3140,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3116,8 +3162,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -3134,12 +3180,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -3201,62 +3247,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -3286,19 +3298,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3338,8 +3409,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -3349,7 +3420,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3386,7 +3457,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3464,7 +3535,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -3473,8 +3544,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3575,7 +3645,7 @@ if test -z "$CXX"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then :
+if ${ac_cv_prog_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CXX"; then
@@ -3587,7 +3657,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3619,7 +3689,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CXX"; then
@@ -3631,7 +3701,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CXX="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3689,15 +3759,15 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3734,7 +3804,7 @@ ac_test_CXXFLAGS=${CXXFLAGS+set}
 ac_save_CXXFLAGS=$CXXFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
 $as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then :
+if ${ac_cv_prog_cxx_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_cxx_werror_flag=$ac_cxx_werror_flag
@@ -3830,7 +3900,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -3860,7 +3930,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3876,11 +3946,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -3919,7 +3989,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3935,18 +4005,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -3958,7 +4028,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -3972,7 +4042,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -4007,7 +4077,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -4021,7 +4091,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -4038,7 +4108,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -4073,7 +4143,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -4088,7 +4158,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4205,8 +4275,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -4218,7 +4287,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -4240,14 +4309,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -4279,16 +4348,22 @@ fi
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4302,27 +4377,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4340,14 +4415,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4355,7 +4430,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -4373,14 +4448,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4388,7 +4463,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -4425,7 +4500,7 @@ test -n "$target_alias" &&
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -4438,7 +4513,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -4454,7 +4529,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -4463,9 +4538,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -4478,11 +4553,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -4495,25 +4570,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -4544,7 +4619,7 @@ if test "$enable_largefile" != no; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
 $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+if ${ac_cv_sys_largefile_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_sys_largefile_CC=no
@@ -4595,7 +4670,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+if ${ac_cv_sys_file_offset_bits+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -4664,7 +4739,7 @@ rm -rf conftest*
   if test $ac_cv_sys_file_offset_bits = unknown; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
+if ${ac_cv_sys_large_files+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -4731,6 +4806,8 @@ _ACEOF
 esac
 rm -rf conftest*
   fi
+
+
 fi
 
 
@@ -4739,7 +4816,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${CC-cc} option to accept ANSI C" >&5
 $as_echo_n "checking for ${CC-cc} option to accept ANSI C... " >&6; }
-if test "${am_cv_prog_cc_stdc+set}" = set; then :
+if ${am_cv_prog_cc_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   am_cv_prog_cc_stdc=no
@@ -4816,10 +4893,10 @@ case "x$am_cv_prog_cc_stdc" in
   *) CC="$CC $am_cv_prog_cc_stdc" ;;
 esac
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -4828,17 +4905,17 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -4850,7 +4927,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4878,7 +4955,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -4890,7 +4967,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4931,16 +5008,22 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c
 
 ac_aux_dir=
 for ac_dir in .. "$srcdir"/..; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in .. \"$srcdir\"/.." "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in .. \"$srcdir\"/.." "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4967,7 +5050,7 @@ program_transform_name=`$as_echo "$progr
 # We require a C++11 compiler.  Check if one is available, and if
 # necessary, set CXX_DIALECT to some -std=xxx switch.
 
-      ax_cxx_compile_cxx11_required=true
+  ax_cxx_compile_alternatives="11 0x"    ax_cxx_compile_cxx11_required=true
   ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -4977,7 +5060,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
   ac_success=no
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
 $as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
-if test "${ax_cv_cxx_compile_cxx11+set}" = set; then :
+if ${ax_cv_cxx_compile_cxx11+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5283,11 +5366,12 @@ fi
   fi
 
     if test x$ac_success = xno; then
-    for switch in -std=gnu++11 -std=gnu++0x; do
+    for alternative in ${ax_cxx_compile_alternatives}; do
+      switch="-std=gnu++${alternative}"
       cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
 $as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
-if { as_var=$cachevar; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$cachevar+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_CXX="$CXX"
@@ -5601,16 +5685,17 @@ eval ac_res=\$$cachevar
   fi
 
     if test x$ac_success = xno; then
-                for switch in -std=c++11 -std=c++0x +std=c++11 "-h std=c++11"; do
-      cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
+                for alternative in ${ax_cxx_compile_alternatives}; do
+      for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
+        cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
 $as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
-if { as_var=$cachevar; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$cachevar+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_CXX="$CXX"
-         CXX="$CXX $switch"
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+           CXX="$CXX $switch"
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 
@@ -5905,14 +5990,18 @@ else
   eval $cachevar=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         CXX="$ac_save_CXX"
+           CXX="$ac_save_CXX"
 fi
 eval ac_res=\$$cachevar
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-      if eval test x\$$cachevar = xyes; then
-        CXX_DIALECT="$switch"
-        ac_success=yes
+        if eval test x\$$cachevar = xyes; then
+          CXX_DIALECT="$switch"
+          ac_success=yes
+          break
+        fi
+      done
+      if test x$ac_success = xyes; then
         break
       fi
     done
@@ -5925,7 +6014,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
   if test x$ax_cxx_compile_cxx11_required = xtrue; then
     if test x$ac_success = xno; then
-      as_fn_error "*** A compiler with support for C++11 language features is required." "$LINENO" 5
+      as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
     fi
   fi
   if test x$ac_success = xno; then
@@ -5962,7 +6051,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -6048,7 +6137,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -6162,7 +6251,7 @@ fi
   # The eval makes quoting arguments work.
   eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
        --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
-    as_fn_error "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
+    as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
 
   cd "$ac_popdir"
 
@@ -6284,7 +6373,7 @@ _ACEOF
 MAKEINFO_EXTRA_FLAGS=""
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $MAKEINFO supports @click" >&5
 $as_echo_n "checking whether $MAKEINFO supports @click... " >&6; }
-if test "${gdb_cv_have_makeinfo_click+set}" = set; then :
+if ${gdb_cv_have_makeinfo_click+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   echo '@clicksequence{a @click{} b}' >conftest.texinfo
@@ -6495,7 +6584,7 @@ subdirs="$subdirs testsuite"
 # Check whether --enable-targets was given.
 if test "${enable_targets+set}" = set; then :
   enableval=$enable_targets; case "${enableval}" in
-  yes | "") as_fn_error "enable-targets option must specify target names or 'all'" "$LINENO" 5
+  yes | "") as_fn_error $? "enable-targets option must specify target names or 'all'" "$LINENO" 5
             ;;
   no)       enable_targets= ;;
   *)        enable_targets=$enableval ;;
@@ -6509,7 +6598,7 @@ if test "${enable_64_bit_bfd+set}" = set
   enableval=$enable_64_bit_bfd; case "${enableval}" in
   yes)  want64=true  ;;
   no)   want64=false ;;
-  *)    as_fn_error "bad value ${enableval} for 64-bit-bfd option" "$LINENO" 5 ;;
+  *)    as_fn_error $? "bad value ${enableval} for 64-bit-bfd option" "$LINENO" 5 ;;
 esac
 else
   want64=false
@@ -6553,7 +6642,7 @@ do
     . ${srcdir}/configure.tgt
 
     if test -z "${gdb_target_obs}"; then :
-  as_fn_error "configuration ${targ} is unsupported." "$LINENO" 5
+  as_fn_error $? "configuration ${targ} is unsupported." "$LINENO" 5
 fi
 
     # Target-specific object files
@@ -6597,7 +6686,7 @@ if test x${all_targets} = xtrue; then
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
 $as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
@@ -6606,9 +6695,8 @@ else
   if test "$ac_cv_type_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long=0
    fi
@@ -6676,9 +6764,9 @@ if test "${enable_gdbcli+set}" = set; th
     yes)
       ;;
     no)
-      as_fn_error "the command-line interface cannot be disabled yet" "$LINENO" 5 ;;
+      as_fn_error $? "the command-line interface cannot be disabled yet" "$LINENO" 5 ;;
     *)
-      as_fn_error "bad value $enableval for --enable-gdbcli" "$LINENO" 5 ;;
+      as_fn_error $? "bad value $enableval for --enable-gdbcli" "$LINENO" 5 ;;
   esac
 else
   enable_gdbcli=yes
@@ -6700,7 +6788,7 @@ if test "${enable_gdbmi+set}" = set; the
     yes | no)
       ;;
     *)
-      as_fn_error "bad value $enableval for --enable-gdbmi" "$LINENO" 5 ;;
+      as_fn_error $? "bad value $enableval for --enable-gdbmi" "$LINENO" 5 ;;
   esac
 else
   enable_gdbmi=yes
@@ -6722,7 +6810,7 @@ if test "${enable_tui+set}" = set; then 
     yes | no | auto)
       ;;
     *)
-      as_fn_error "bad value $enableval for --enable-tui" "$LINENO" 5 ;;
+      as_fn_error $? "bad value $enableval for --enable-tui" "$LINENO" 5 ;;
   esac
 else
   enable_tui=auto
@@ -6736,7 +6824,7 @@ if test "${enable_gdbtk+set}" = set; the
     yes | no)
       ;;
     *)
-      as_fn_error "bad value $enableval for --enable-gdbtk" "$LINENO" 5 ;;
+      as_fn_error $? "bad value $enableval for --enable-gdbtk" "$LINENO" 5 ;;
   esac
 else
   if test -d $srcdir/gdbtk; then
@@ -6768,7 +6856,7 @@ fi
 # Backward compatibility option.
 if test "${with_libunwind+set}" = set; then
   if test x"$with_libunwind_ia64" != xauto; then
-    as_fn_error "option --with-libunwind is deprecated, use --with-libunwind-ia64" "$LINENO" 5
+    as_fn_error $? "option --with-libunwind is deprecated, use --with-libunwind-ia64" "$LINENO" 5
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: option --with-libunwind is deprecated, use --with-libunwind-ia64" >&5
 $as_echo "$as_me: WARNING: option --with-libunwind is deprecated, use --with-libunwind-ia64" >&2;}
@@ -6782,7 +6870,7 @@ case "$with_libunwind_ia64" in
     for ac_header in libunwind-ia64.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "libunwind-ia64.h" "ac_cv_header_libunwind_ia64_h" "$ac_includes_default"
-if test "x$ac_cv_header_libunwind_ia64_h" = x""yes; then :
+if test "x$ac_cv_header_libunwind_ia64_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBUNWIND_IA64_H 1
 _ACEOF
@@ -6794,7 +6882,7 @@ done
     with_libunwind_ia64=$ac_cv_header_libunwind_ia64_h
     ;;
   *)
-    as_fn_error "bad value $with_libunwind_ia64 for GDB --with-libunwind-ia64 option" "$LINENO" 5
+    as_fn_error $? "bad value $with_libunwind_ia64 for GDB --with-libunwind-ia64 option" "$LINENO" 5
     ;;
 esac
 
@@ -6802,7 +6890,7 @@ if test x"$with_libunwind_ia64" = xyes; 
   for ac_header in libunwind-ia64.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "libunwind-ia64.h" "ac_cv_header_libunwind_ia64_h" "$ac_includes_default"
-if test "x$ac_cv_header_libunwind_ia64_h" = x""yes; then :
+if test "x$ac_cv_header_libunwind_ia64_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBUNWIND_IA64_H 1
 _ACEOF
@@ -6812,7 +6900,7 @@ fi
 done
 
   if test x"$ac_cv_header_libunwind_ia64_h" != xyes; then
-    as_fn_error "GDB option --with-libunwind-ia64 requires libunwind-ia64.h" "$LINENO" 5
+    as_fn_error $? "GDB option --with-libunwind-ia64 requires libunwind-ia64.h" "$LINENO" 5
   fi
   CONFIG_OBS="$CONFIG_OBS ia64-libunwind-tdep.o"
   CONFIG_DEPS="$CONFIG_DEPS ia64-libunwind-tdep.o"
@@ -6839,7 +6927,7 @@ if test "${enable_profiling+set}" = set;
     yes | no)
       ;;
     *)
-      as_fn_error "bad value $enableval for --enable-profile" "$LINENO" 5 ;;
+      as_fn_error $? "bad value $enableval for --enable-profile" "$LINENO" 5 ;;
   esac
 else
   enable_profiling=no
@@ -6850,8 +6938,7 @@ for ac_func in monstartup _mcleanup
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -6861,7 +6948,7 @@ done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _etext" >&5
 $as_echo_n "checking for _etext... " >&6; }
-if test "${ac_cv_var__etext+set}" = set; then :
+if ${ac_cv_var__etext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6894,7 +6981,7 @@ if test $ac_cv_var__etext = yes; then
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for etext" >&5
 $as_echo_n "checking for etext... " >&6; }
-if test "${ac_cv_var_etext+set}" = set; then :
+if ${ac_cv_var_etext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6927,7 +7014,7 @@ if test $ac_cv_var_etext = yes; then
 fi
 if test "$enable_profiling" = yes ; then
   if test $ac_cv_func_monstartup = no || test $ac_cv_func__mcleanup = no; then
-    as_fn_error "--enable-profiling requires monstartup and _mcleanup" "$LINENO" 5
+    as_fn_error $? "--enable-profiling requires monstartup and _mcleanup" "$LINENO" 5
   fi
   PROFILE_CFLAGS=-pg
   OLD_CFLAGS="$CFLAGS"
@@ -6935,7 +7022,7 @@ if test "$enable_profiling" = yes ; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pg" >&5
 $as_echo_n "checking whether $CC supports -pg... " >&6; }
-if test "${ac_cv_cc_supports_pg+set}" = set; then :
+if ${ac_cv_cc_supports_pg+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6960,18 +7047,26 @@ fi
 $as_echo "$ac_cv_cc_supports_pg" >&6; }
 
   if test $ac_cv_cc_supports_pg = no; then
-    as_fn_error "--enable-profiling requires a compiler which supports -pg" "$LINENO" 5
+    as_fn_error $? "--enable-profiling requires a compiler which supports -pg" "$LINENO" 5
   fi
 
   CFLAGS="$OLD_CFLAGS"
 fi
 
+CODESIGN_CERT=
+# Check whether --enable-codesign was given.
+if test "${enable_codesign+set}" = set; then :
+  enableval=$enable_codesign; CODESIGN_CERT=$enableval
+fi
+
+
+
 
 
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -6987,7 +7082,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -7032,7 +7127,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7044,7 +7139,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7085,7 +7180,7 @@ done
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -7105,7 +7200,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -7177,7 +7272,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -7189,7 +7284,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7217,7 +7312,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7229,7 +7324,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7270,7 +7365,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_YACC+set}" = set; then :
+if ${ac_cv_prog_YACC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$YACC"; then
@@ -7282,7 +7377,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_YACC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7313,7 +7408,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -7325,7 +7420,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7353,7 +7448,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -7365,7 +7460,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7405,7 +7500,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}dlltool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
+if ${ac_cv_prog_DLLTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DLLTOOL"; then
@@ -7417,7 +7512,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7445,7 +7540,7 @@ if test -z "$ac_cv_prog_DLLTOOL"; then
 set dummy dlltool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DLLTOOL"; then
@@ -7457,7 +7552,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DLLTOOL="dlltool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7497,7 +7592,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}windres; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINDRES+set}" = set; then :
+if ${ac_cv_prog_WINDRES+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$WINDRES"; then
@@ -7509,7 +7604,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDRES="${ac_tool_prefix}windres"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7537,7 +7632,7 @@ if test -z "$ac_cv_prog_WINDRES"; then
 set dummy windres; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_WINDRES+set}" = set; then :
+if ${ac_cv_prog_ac_ct_WINDRES+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_WINDRES"; then
@@ -7549,7 +7644,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_WINDRES="windres"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7593,7 +7688,7 @@ case $host_os in
 set dummy ${ac_tool_prefix}mig; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MIG+set}" = set; then :
+if ${ac_cv_prog_MIG+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MIG"; then
@@ -7605,7 +7700,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MIG="${ac_tool_prefix}mig"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7633,7 +7728,7 @@ if test -z "$ac_cv_prog_MIG"; then
 set dummy mig; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_MIG+set}" = set; then :
+if ${ac_cv_prog_ac_ct_MIG+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_MIG"; then
@@ -7645,7 +7740,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_MIG="mig"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7681,7 +7776,7 @@ else
 fi
 
     if test x"$MIG" = x; then
-      as_fn_error "MIG not found but required for $host hosts" "$LINENO" 5
+      as_fn_error $? "MIG not found but required for $host hosts" "$LINENO" 5
     fi
     ;;
 esac
@@ -7693,7 +7788,7 @@ esac
 # We might need to link with -lm; most simulators need it.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lm" >&5
 $as_echo_n "checking for main in -lm... " >&6; }
-if test "${ac_cv_lib_m_main+set}" = set; then :
+if ${ac_cv_lib_m_main+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -7721,7 +7816,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_main" >&5
 $as_echo "$ac_cv_lib_m_main" >&6; }
-if test "x$ac_cv_lib_m_main" = x""yes; then :
+if test "x$ac_cv_lib_m_main" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -7734,7 +7829,7 @@ fi
 # Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
 $as_echo_n "checking for library containing gethostbyname... " >&6; }
-if test "${ac_cv_search_gethostbyname+set}" = set; then :
+if ${ac_cv_search_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -7768,11 +7863,11 @@ for ac_lib in '' nsl; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_gethostbyname+set}" = set; then :
+  if ${ac_cv_search_gethostbyname+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_gethostbyname+set}" = set; then :
+if ${ac_cv_search_gethostbyname+:} false; then :
 
 else
   ac_cv_search_gethostbyname=no
@@ -7792,7 +7887,7 @@ fi
 # Some systems (e.g. Solaris) have `socketpair' in libsocket.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socketpair" >&5
 $as_echo_n "checking for library containing socketpair... " >&6; }
-if test "${ac_cv_search_socketpair+set}" = set; then :
+if ${ac_cv_search_socketpair+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -7826,11 +7921,11 @@ for ac_lib in '' socket; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_socketpair+set}" = set; then :
+  if ${ac_cv_search_socketpair+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_socketpair+set}" = set; then :
+if ${ac_cv_search_socketpair+:} false; then :
 
 else
   ac_cv_search_socketpair=no
@@ -7870,7 +7965,7 @@ fi
 # On GNU/kFreeBSD systems, FreeBSD libutil is renamed to libutil-freebsd.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing kinfo_getvmmap" >&5
 $as_echo_n "checking for library containing kinfo_getvmmap... " >&6; }
-if test "${ac_cv_search_kinfo_getvmmap+set}" = set; then :
+if ${ac_cv_search_kinfo_getvmmap+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -7904,11 +7999,11 @@ for ac_lib in '' util util-freebsd; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_kinfo_getvmmap+set}" = set; then :
+  if ${ac_cv_search_kinfo_getvmmap+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_kinfo_getvmmap+set}" = set; then :
+if ${ac_cv_search_kinfo_getvmmap+:} false; then :
 
 else
   ac_cv_search_kinfo_getvmmap=no
@@ -7927,6 +8022,66 @@ if test "$ac_res" != no; then :
 fi
 
 
+# fbsd-nat.c can also use kinfo_getfile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing kinfo_getfile" >&5
+$as_echo_n "checking for library containing kinfo_getfile... " >&6; }
+if ${ac_cv_search_kinfo_getfile+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char kinfo_getfile ();
+int
+main ()
+{
+return kinfo_getfile ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' util util-freebsd; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_kinfo_getfile=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_kinfo_getfile+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_kinfo_getfile+:} false; then :
+
+else
+  ac_cv_search_kinfo_getfile=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_kinfo_getfile" >&5
+$as_echo "$ac_cv_search_kinfo_getfile" >&6; }
+ac_res=$ac_cv_search_kinfo_getfile
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+$as_echo "#define HAVE_KINFO_GETFILE 1" >>confdefs.h
+
+fi
+
+
 
       if test "X$prefix" = "XNONE"; then
     acl_final_prefix="$ac_default_prefix"
@@ -8003,7 +8158,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${acl_cv_path_LD+set}" = set; then :
+if ${acl_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -8036,10 +8191,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${acl_cv_prog_gnu_ld+set}" = set; then :
+if ${acl_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU ld's only accept -v.
@@ -8057,7 +8212,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld
 
                                                 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
 $as_echo_n "checking for shared library run path origin... " >&6; }
-if test "${acl_cv_rpath+set}" = set; then :
+if ${acl_cv_rpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -8475,7 +8630,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
 $as_echo_n "checking for iconv... " >&6; }
-if test "${am_cv_func_iconv+set}" = set; then :
+if ${am_cv_func_iconv+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -8616,7 +8771,7 @@ fi
   if test "$am_cv_func_iconv" = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
 $as_echo_n "checking for iconv declaration... " >&6; }
-    if test "${am_cv_proto_iconv+set}" = set; then :
+    if ${am_cv_proto_iconv+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -8732,7 +8887,7 @@ if test x"$prefer_curses" = xyes; then
   # a situation.
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing waddstr" >&5
 $as_echo_n "checking for library containing waddstr... " >&6; }
-if test "${ac_cv_search_waddstr+set}" = set; then :
+if ${ac_cv_search_waddstr+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -8766,11 +8921,11 @@ for ac_lib in '' ncursesw ncurses curses
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_waddstr+set}" = set; then :
+  if ${ac_cv_search_waddstr+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_waddstr+set}" = set; then :
+if ${ac_cv_search_waddstr+:} false; then :
 
 else
   ac_cv_search_waddstr=no
@@ -8803,7 +8958,7 @@ if test x"$enable_tui" != xno; then
       ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
     else
       if test x"$enable_tui" = xyes; then
-	as_fn_error "no enhanced curses library found; disable TUI" "$LINENO" 5
+	as_fn_error $? "no enhanced curses library found; disable TUI" "$LINENO" 5
       else
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no enhanced curses library found; disabling TUI" >&5
 $as_echo "$as_me: WARNING: no enhanced curses library found; disabling TUI" >&2;}
@@ -8830,7 +8985,7 @@ esac
 # These are the libraries checked by Readline.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tgetent" >&5
 $as_echo_n "checking for library containing tgetent... " >&6; }
-if test "${ac_cv_search_tgetent+set}" = set; then :
+if ${ac_cv_search_tgetent+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -8864,11 +9019,11 @@ for ac_lib in '' termcap tinfo curses nc
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_tgetent+set}" = set; then :
+  if ${ac_cv_search_tgetent+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_tgetent+set}" = set; then :
+if ${ac_cv_search_tgetent+:} false; then :
 
 else
   ac_cv_search_tgetent=no
@@ -8923,7 +9078,7 @@ TARGET_PTR=
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long long" >&5
 $as_echo_n "checking size of unsigned long long... " >&6; }
-if test "${ac_cv_sizeof_unsigned_long_long+set}" = set; then :
+if ${ac_cv_sizeof_unsigned_long_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long long))" "ac_cv_sizeof_unsigned_long_long"        "$ac_includes_default"; then :
@@ -8932,9 +9087,8 @@ else
   if test "$ac_cv_type_unsigned_long_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (unsigned long long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (unsigned long long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_unsigned_long_long=0
    fi
@@ -8957,7 +9111,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long" >&5
 $as_echo_n "checking size of unsigned long... " >&6; }
-if test "${ac_cv_sizeof_unsigned_long+set}" = set; then :
+if ${ac_cv_sizeof_unsigned_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long"        "$ac_includes_default"; then :
@@ -8966,9 +9120,8 @@ else
   if test "$ac_cv_type_unsigned_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (unsigned long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (unsigned long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_unsigned_long=0
    fi
@@ -8991,7 +9144,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned __int128" >&5
 $as_echo_n "checking size of unsigned __int128... " >&6; }
-if test "${ac_cv_sizeof_unsigned___int128+set}" = set; then :
+if ${ac_cv_sizeof_unsigned___int128+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned __int128))" "ac_cv_sizeof_unsigned___int128"        "$ac_includes_default"; then :
@@ -9000,9 +9153,8 @@ else
   if test "$ac_cv_type_unsigned___int128" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (unsigned __int128)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (unsigned __int128)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_unsigned___int128=0
    fi
@@ -9036,7 +9188,7 @@ ac_config_files="$ac_config_files jit-re
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
 $as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9070,11 +9222,11 @@ for ac_lib in '' dl; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlopen+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlopen+:} false; then :
 
 else
   ac_cv_search_dlopen=no
@@ -9568,7 +9720,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libexpat" >&5
 $as_echo_n "checking for libexpat... " >&6; }
-if test "${ac_cv_libexpat+set}" = set; then :
+if ${ac_cv_libexpat+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -9620,7 +9772,7 @@ fi
 
   if test "$HAVE_LIBEXPAT" != yes; then
     if test "$with_expat" = yes; then
-      as_fn_error "expat is missing or unusable" "$LINENO" 5
+      as_fn_error $? "expat is missing or unusable" "$LINENO" 5
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: expat is missing or unusable; some features may be unavailable." >&5
 $as_echo "$as_me: WARNING: expat is missing or unusable; some features may be unavailable." >&2;}
@@ -9631,7 +9783,7 @@ fi
     for ac_func in XML_StopParser
 do :
   ac_fn_c_check_func "$LINENO" "XML_StopParser" "ac_cv_func_XML_StopParser"
-if test "x$ac_cv_func_XML_StopParser" = x""yes; then :
+if test "x$ac_cv_func_XML_StopParser" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_XML_STOPPARSER 1
 _ACEOF
@@ -10073,7 +10225,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libmpfr" >&5
 $as_echo_n "checking for libmpfr... " >&6; }
-if test "${ac_cv_libmpfr+set}" = set; then :
+if ${ac_cv_libmpfr+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -10126,7 +10278,7 @@ fi
 
   if test "$HAVE_LIBMPFR" != yes; then
     if test "$with_mpfr" = yes; then
-      as_fn_error "MPFR is missing or unusable" "$LINENO" 5
+      as_fn_error $? "MPFR is missing or unusable" "$LINENO" 5
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: MPFR is missing or unusable; some features may be unavailable." >&5
 $as_echo "$as_me: WARNING: MPFR is missing or unusable; some features may be unavailable." >&2;}
@@ -10185,12 +10337,12 @@ else
       python_prog=${with_python}
       python_prefix=
     else
-      as_fn_error "invalid value for --with-python" "$LINENO" 5
+      as_fn_error $? "invalid value for --with-python" "$LINENO" 5
     fi
     ;;
   */*)
     # Disallow --with-python=foo/bar.
-    as_fn_error "invalid value for --with-python" "$LINENO" 5
+    as_fn_error $? "invalid value for --with-python" "$LINENO" 5
     ;;
   *)
     # The user has either specified auto, yes, or the name of the python
@@ -10203,7 +10355,7 @@ else
 set dummy python; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_python_prog_path+set}" = set; then :
+if ${ac_cv_path_python_prog_path+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $python_prog_path in
@@ -10217,7 +10369,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_python_prog_path="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10260,7 +10412,7 @@ fi
 set dummy ${python_prog}; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_python_prog_path+set}" = set; then :
+if ${ac_cv_path_python_prog_path+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $python_prog_path in
@@ -10274,7 +10426,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_python_prog_path="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10298,7 +10450,7 @@ fi
 
 
       if test "${python_prog_path}" = missing; then
-        as_fn_error "unable to find python program ${python_prog}" "$LINENO" 5
+        as_fn_error $? "unable to find python program ${python_prog}" "$LINENO" 5
       fi
       ;;
     esac
@@ -10312,21 +10464,21 @@ fi
     if test $? != 0; then
       have_python_config=failed
       if test "${with_python}" != auto; then
-        as_fn_error "failure running python-config --includes" "$LINENO" 5
+        as_fn_error $? "failure running python-config --includes" "$LINENO" 5
       fi
     fi
     python_libs=`${python_prog} ${srcdir}/python/python-config.py --ldflags`
     if test $? != 0; then
       have_python_config=failed
       if test "${with_python}" != auto; then
-        as_fn_error "failure running python-config --ldflags" "$LINENO" 5
+        as_fn_error $? "failure running python-config --ldflags" "$LINENO" 5
       fi
     fi
     python_prefix=`${python_prog} ${srcdir}/python/python-config.py --exec-prefix`
     if test $? != 0; then
       have_python_config=failed
       if test "${with_python}" != auto; then
-        as_fn_error "failure running python-config --exec-prefix" "$LINENO" 5
+        as_fn_error $? "failure running python-config --exec-prefix" "$LINENO" 5
       fi
     fi
   else
@@ -10375,7 +10527,7 @@ fi
   save_CPPFLAGS=$CPPFLAGS
   save_LIBS=$LIBS
   CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
-  LIBS="$LIBS $new_LIBS"
+  LIBS="$new_LIBS $LIBS"
   found_usable_python=no
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -10403,7 +10555,7 @@ rm -f core conftest.err conftest.$ac_obj
 
       ;;
     *)
-      as_fn_error "unable to determine python version from ${python_libs}" "$LINENO" 5
+      as_fn_error $? "unable to determine python version from ${python_libs}" "$LINENO" 5
       ;;
     esac
   elif test "${have_python_config}" != failed; then
@@ -10412,13 +10564,13 @@ rm -f core conftest.err conftest.$ac_obj
   version=python2.7
 
   new_CPPFLAGS=${python_includes}
-  new_LIBS="${python_libs} -lpython2.7"
+  new_LIBS="-lpython2.7 ${python_libs}"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${version}" >&5
 $as_echo_n "checking for ${version}... " >&6; }
   save_CPPFLAGS=$CPPFLAGS
   save_LIBS=$LIBS
   CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
-  LIBS="$LIBS $new_LIBS"
+  LIBS="$new_LIBS $LIBS"
   found_usable_python=no
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -10450,13 +10602,13 @@ rm -f core conftest.err conftest.$ac_obj
   version=python2.6
 
   new_CPPFLAGS=${python_includes}
-  new_LIBS="${python_libs} -lpython2.6"
+  new_LIBS="-lpython2.6 ${python_libs}"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${version}" >&5
 $as_echo_n "checking for ${version}... " >&6; }
   save_CPPFLAGS=$CPPFLAGS
   save_LIBS=$LIBS
   CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
-  LIBS="$LIBS $new_LIBS"
+  LIBS="$new_LIBS $LIBS"
   found_usable_python=no
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -10488,13 +10640,13 @@ rm -f core conftest.err conftest.$ac_obj
   version=python2.5
 
   new_CPPFLAGS=${python_includes}
-  new_LIBS="${python_libs} -lpython2.5"
+  new_LIBS="-lpython2.5 ${python_libs}"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${version}" >&5
 $as_echo_n "checking for ${version}... " >&6; }
   save_CPPFLAGS=$CPPFLAGS
   save_LIBS=$LIBS
   CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
-  LIBS="$LIBS $new_LIBS"
+  LIBS="$new_LIBS $LIBS"
   found_usable_python=no
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -10526,13 +10678,13 @@ rm -f core conftest.err conftest.$ac_obj
   version=python2.4
 
   new_CPPFLAGS=${python_includes}
-  new_LIBS="${python_libs} -lpython2.4"
+  new_LIBS="-lpython2.4 ${python_libs}"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${version}" >&5
 $as_echo_n "checking for ${version}... " >&6; }
   save_CPPFLAGS=$CPPFLAGS
   save_LIBS=$LIBS
   CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
-  LIBS="$LIBS $new_LIBS"
+  LIBS="$new_LIBS $LIBS"
   found_usable_python=no
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -10581,14 +10733,14 @@ rm -f core conftest.err conftest.$ac_obj
   if test "${have_libpython}" = no; then
     case "${with_python}" in
     yes)
-      as_fn_error "python is missing or unusable" "$LINENO" 5
+      as_fn_error $? "python is missing or unusable" "$LINENO" 5
       ;;
     auto)
       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: python is missing or unusable; some features may be unavailable." >&5
 $as_echo "$as_me: WARNING: python is missing or unusable; some features may be unavailable." >&2;}
       ;;
     *)
-      as_fn_error "no usable python found at ${with_python}" "$LINENO" 5
+      as_fn_error $? "no usable python found at ${with_python}" "$LINENO" 5
       ;;
     esac
   else
@@ -10711,7 +10863,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   python_has_threads=yes
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${python_has_threads}" >&5
 $as_echo "${python_has_threads}" >&6; }
   CPPFLAGS="${saved_CPPFLAGS}"
@@ -10766,7 +10918,7 @@ fi
 set dummy pkg-config; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_pkg_config_prog_path+set}" = set; then :
+if ${ac_cv_path_pkg_config_prog_path+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $pkg_config_prog_path in
@@ -10780,7 +10932,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_pkg_config_prog_path="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10831,18 +10983,18 @@ auto)
     fi
             new_CPPFLAGS=`${pkg_config} --cflags ${guile_version}`
     if test $? != 0; then
-      as_fn_error "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
+      as_fn_error $? "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
     fi
     new_LIBS=`${pkg_config} --libs ${guile_version}`
     if test $? != 0; then
-      as_fn_error "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
+      as_fn_error $? "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
     fi
         found_usable_guile=${guile_version}
     break
   done
   if test "${found_usable_guile}" = "checking"; then
     if test "${flag_errors}" = "yes"; then
-      as_fn_error "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
+      as_fn_error $? "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
     else
       found_usable_guile=no
     fi
@@ -10873,7 +11025,7 @@ fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
         ac_fn_c_check_func "$LINENO" "scm_set_automatic_finalization_enabled" "ac_cv_func_scm_set_automatic_finalization_enabled"
-if test "x$ac_cv_func_scm_set_automatic_finalization_enabled" = x""yes; then :
+if test "x$ac_cv_func_scm_set_automatic_finalization_enabled" = xyes; then :
 
 $as_echo "#define HAVE_GUILE_MANUAL_FINALIZATION 1" >>confdefs.h
 
@@ -10886,8 +11038,8 @@ fi
       if test "${flag_errors}" = yes; then
         { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "linking guile version ${guile_version} test program failed
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "linking guile version ${guile_version} test program failed
+See \`config.log' for more details" "$LINENO" 5; }
       fi
     fi
   fi
@@ -10898,7 +11050,7 @@ See \`config.log' for more details." "$L
   ;;
 yes)
   if test "${pkg_config_prog_path}" = "missing"; then
-    as_fn_error "pkg-config not found" "$LINENO" 5
+    as_fn_error $? "pkg-config not found" "$LINENO" 5
   fi
 
   pkg_config=${pkg_config_prog_path}
@@ -10915,18 +11067,18 @@ yes)
     fi
             new_CPPFLAGS=`${pkg_config} --cflags ${guile_version}`
     if test $? != 0; then
-      as_fn_error "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
+      as_fn_error $? "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
     fi
     new_LIBS=`${pkg_config} --libs ${guile_version}`
     if test $? != 0; then
-      as_fn_error "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
+      as_fn_error $? "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
     fi
         found_usable_guile=${guile_version}
     break
   done
   if test "${found_usable_guile}" = "checking"; then
     if test "${flag_errors}" = "yes"; then
-      as_fn_error "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
+      as_fn_error $? "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
     else
       found_usable_guile=no
     fi
@@ -10957,7 +11109,7 @@ fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
         ac_fn_c_check_func "$LINENO" "scm_set_automatic_finalization_enabled" "ac_cv_func_scm_set_automatic_finalization_enabled"
-if test "x$ac_cv_func_scm_set_automatic_finalization_enabled" = x""yes; then :
+if test "x$ac_cv_func_scm_set_automatic_finalization_enabled" = xyes; then :
 
 $as_echo "#define HAVE_GUILE_MANUAL_FINALIZATION 1" >>confdefs.h
 
@@ -10970,8 +11122,8 @@ fi
       if test "${flag_errors}" = yes; then
         { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "linking guile version ${guile_version} test program failed
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "linking guile version ${guile_version} test program failed
+See \`config.log' for more details" "$LINENO" 5; }
       fi
     fi
   fi
@@ -10996,18 +11148,18 @@ See \`config.log' for more details." "$L
     fi
             new_CPPFLAGS=`${pkg_config} --cflags ${guile_version}`
     if test $? != 0; then
-      as_fn_error "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
+      as_fn_error $? "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
     fi
     new_LIBS=`${pkg_config} --libs ${guile_version}`
     if test $? != 0; then
-      as_fn_error "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
+      as_fn_error $? "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
     fi
         found_usable_guile=${guile_version}
     break
   done
   if test "${found_usable_guile}" = "checking"; then
     if test "${flag_errors}" = "yes"; then
-      as_fn_error "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
+      as_fn_error $? "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
     else
       found_usable_guile=no
     fi
@@ -11038,7 +11190,7 @@ fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
         ac_fn_c_check_func "$LINENO" "scm_set_automatic_finalization_enabled" "ac_cv_func_scm_set_automatic_finalization_enabled"
-if test "x$ac_cv_func_scm_set_automatic_finalization_enabled" = x""yes; then :
+if test "x$ac_cv_func_scm_set_automatic_finalization_enabled" = xyes; then :
 
 $as_echo "#define HAVE_GUILE_MANUAL_FINALIZATION 1" >>confdefs.h
 
@@ -11051,8 +11203,8 @@ fi
       if test "${flag_errors}" = yes; then
         { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "linking guile version ${guile_version} test program failed
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "linking guile version ${guile_version} test program failed
+See \`config.log' for more details" "$LINENO" 5; }
       fi
     fi
   fi
@@ -11060,17 +11212,17 @@ See \`config.log' for more details." "$L
 $as_echo "${found_usable_guile}" >&6; }
 
   else
-    as_fn_error "Guile config program not executable: ${with_guile}" "$LINENO" 5
+    as_fn_error $? "Guile config program not executable: ${with_guile}" "$LINENO" 5
   fi
   ;;
 "" | */*)
   # Disallow --with=guile="" and --with-guile=foo/bar.
-  as_fn_error "invalid value for --with-guile" "$LINENO" 5
+  as_fn_error $? "invalid value for --with-guile" "$LINENO" 5
   ;;
 *)
   # A space separate list of guile versions to try, in order.
   if test "${pkg_config_prog_path}" = "missing"; then
-    as_fn_error "pkg-config not found" "$LINENO" 5
+    as_fn_error $? "pkg-config not found" "$LINENO" 5
   fi
 
   pkg_config=${pkg_config_prog_path}
@@ -11087,18 +11239,18 @@ See \`config.log' for more details." "$L
     fi
             new_CPPFLAGS=`${pkg_config} --cflags ${guile_version}`
     if test $? != 0; then
-      as_fn_error "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
+      as_fn_error $? "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
     fi
     new_LIBS=`${pkg_config} --libs ${guile_version}`
     if test $? != 0; then
-      as_fn_error "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
+      as_fn_error $? "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
     fi
         found_usable_guile=${guile_version}
     break
   done
   if test "${found_usable_guile}" = "checking"; then
     if test "${flag_errors}" = "yes"; then
-      as_fn_error "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
+      as_fn_error $? "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
     else
       found_usable_guile=no
     fi
@@ -11129,7 +11281,7 @@ fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
         ac_fn_c_check_func "$LINENO" "scm_set_automatic_finalization_enabled" "ac_cv_func_scm_set_automatic_finalization_enabled"
-if test "x$ac_cv_func_scm_set_automatic_finalization_enabled" = x""yes; then :
+if test "x$ac_cv_func_scm_set_automatic_finalization_enabled" = xyes; then :
 
 $as_echo "#define HAVE_GUILE_MANUAL_FINALIZATION 1" >>confdefs.h
 
@@ -11142,8 +11294,8 @@ fi
       if test "${flag_errors}" = yes; then
         { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "linking guile version ${guile_version} test program failed
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "linking guile version ${guile_version} test program failed
+See \`config.log' for more details" "$LINENO" 5; }
       fi
     fi
   fi
@@ -11159,7 +11311,7 @@ if test "${have_libguile}" != no; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the absolute file name of the 'guild' command" >&5
 $as_echo_n "checking for the absolute file name of the 'guild' command... " >&6; }
-if test "${ac_cv_guild_program_name+set}" = set; then :
+if ${ac_cv_guild_program_name+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_guild_program_name="`"${with_guile}" --variable guild "${guile_version}"`"
@@ -11178,7 +11330,7 @@ fi
 $as_echo "$ac_cv_guild_program_name" >&6; }
 
   if ! "$ac_cv_guild_program_name" --version >&5 2>&5; then
-    as_fn_error "'$ac_cv_guild_program_name' appears to be unusable" "$LINENO" 5
+    as_fn_error $? "'$ac_cv_guild_program_name' appears to be unusable" "$LINENO" 5
   fi
 
   GUILD="$ac_cv_guild_program_name"
@@ -11189,7 +11341,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the absolute file name of the 'guild' command" >&5
 $as_echo_n "checking for the absolute file name of the 'guild' command... " >&6; }
-if test "${ac_cv_guild_program_name+set}" = set; then :
+if ${ac_cv_guild_program_name+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_guild_program_name="`"${pkg_config_prog_path}" --variable guild "${guile_version}"`"
@@ -11208,7 +11360,7 @@ fi
 $as_echo "$ac_cv_guild_program_name" >&6; }
 
   if ! "$ac_cv_guild_program_name" --version >&5 2>&5; then
-    as_fn_error "'$ac_cv_guild_program_name' appears to be unusable" "$LINENO" 5
+    as_fn_error $? "'$ac_cv_guild_program_name' appears to be unusable" "$LINENO" 5
   fi
 
   GUILD="$ac_cv_guild_program_name"
@@ -11229,7 +11381,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether guild supports this host" >&5
 $as_echo_n "checking whether guild supports this host... " >&6; }
-if test "${ac_cv_guild_ok+set}" = set; then :
+if ${ac_cv_guild_ok+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   echo "$ac_cv_guild_program_name compile $GUILD_TARGET_FLAG -o conftest.go $srcdir/guile/lib/gdb/support.scm" >&5
@@ -11266,7 +11418,7 @@ if test "${have_libguile}" != no; then
   for ac_func in scm_new_smob
 do :
   ac_fn_c_check_func "$LINENO" "scm_new_smob" "ac_cv_func_scm_new_smob"
-if test "x$ac_cv_func_scm_new_smob" = x""yes; then :
+if test "x$ac_cv_func_scm_new_smob" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SCM_NEW_SMOB 1
 _ACEOF
@@ -11313,7 +11465,7 @@ if test "${enable_libmcheck+set}" = set;
   enableval=$enable_libmcheck; case "${enableval}" in
       yes | y) ENABLE_LIBMCHECK="yes" ;;
       no | n)  ENABLE_LIBMCHECK="no" ;;
-      *) as_fn_error "bad value ${enableval} for --enable-libmcheck" "$LINENO" 5 ;;
+      *) as_fn_error $? "bad value ${enableval} for --enable-libmcheck" "$LINENO" 5 ;;
     esac
 fi
 
@@ -11325,7 +11477,7 @@ fi
   if test "$ENABLE_LIBMCHECK" = "yes" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcheck" >&5
 $as_echo_n "checking for main in -lmcheck... " >&6; }
-if test "${ac_cv_lib_mcheck_main+set}" = set; then :
+if ${ac_cv_lib_mcheck_main+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11353,7 +11505,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcheck_main" >&5
 $as_echo "$ac_cv_lib_mcheck_main" >&6; }
-if test "x$ac_cv_lib_mcheck_main" = x""yes; then :
+if test "x$ac_cv_lib_mcheck_main" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBMCHECK 1
 _ACEOF
@@ -11404,10 +11556,10 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   perf_event=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
   if test "$perf_event" != yes; then
     if test "$with_intel_pt" = yes; then
-      as_fn_error "linux/perf_event.h missing or too old" "$LINENO" 5
+      as_fn_error $? "linux/perf_event.h missing or too old" "$LINENO" 5
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: linux/perf_event.h missing or too old; some features may be unavailable." >&5
 $as_echo "$as_me: WARNING: linux/perf_event.h missing or too old; some features may be unavailable." >&2;}
@@ -11826,7 +11978,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libipt" >&5
 $as_echo_n "checking for libipt... " >&6; }
-if test "${ac_cv_libipt+set}" = set; then :
+if ${ac_cv_libipt+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -11878,7 +12030,7 @@ fi
 
   if test "$HAVE_LIBIPT" != yes; then
     if test "$with_intel_pt" = yes; then
-      as_fn_error "libipt is missing or unusable" "$LINENO" 5
+      as_fn_error $? "libipt is missing or unusable" "$LINENO" 5
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libipt is missing or unusable; some features may be unavailable." >&5
 $as_echo "$as_me: WARNING: libipt is missing or unusable; some features may be unavailable." >&2;}
@@ -11889,7 +12041,7 @@ fi
     for ac_func in pt_insn_event
 do :
   ac_fn_c_check_func "$LINENO" "pt_insn_event" "ac_cv_func_pt_insn_event"
-if test "x$ac_cv_func_pt_insn_event" = x""yes; then :
+if test "x$ac_cv_func_pt_insn_event" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_PT_INSN_EVENT 1
 _ACEOF
@@ -11899,7 +12051,7 @@ done
 
     ac_fn_c_check_member "$LINENO" "struct pt_insn" "enabled" "ac_cv_member_struct_pt_insn_enabled" "#include <intel-pt.h>
 "
-if test "x$ac_cv_member_struct_pt_insn_enabled" = x""yes; then :
+if test "x$ac_cv_member_struct_pt_insn_enabled" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_PT_INSN_ENABLED 1
@@ -11909,7 +12061,7 @@ _ACEOF
 fi
 ac_fn_c_check_member "$LINENO" "struct pt_insn" "resynced" "ac_cv_member_struct_pt_insn_resynced" "#include <intel-pt.h>
 "
-if test "x$ac_cv_member_struct_pt_insn_resynced" = x""yes; then :
+if test "x$ac_cv_member_struct_pt_insn_resynced" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_PT_INSN_RESYNCED 1
@@ -11928,7 +12080,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12049,8 +12201,7 @@ for ac_header in nlist.h machine/reg.h p
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -12066,7 +12217,7 @@ do :
 #endif
 
 "
-if test "x$ac_cv_header_sys_user_h" = x""yes; then :
+if test "x$ac_cv_header_sys_user_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SYS_USER_H 1
 _ACEOF
@@ -12080,8 +12231,7 @@ for ac_header in curses.h cursesX.h ncur
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -12097,7 +12247,7 @@ do :
 #endif
 
 "
-if test "x$ac_cv_header_term_h" = x""yes; then :
+if test "x$ac_cv_header_term_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_TERM_H 1
 _ACEOF
@@ -12114,7 +12264,7 @@ done
 
   # Check for presence and size of long long.
   ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
-if test "x$ac_cv_type_long_long" = x""yes; then :
+if test "x$ac_cv_type_long_long" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_LONG_LONG 1
@@ -12126,7 +12276,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
 $as_echo_n "checking size of long long... " >&6; }
-if test "${ac_cv_sizeof_long_long+set}" = set; then :
+if ${ac_cv_sizeof_long_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"; then :
@@ -12135,9 +12285,8 @@ else
   if test "$ac_cv_type_long_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long_long=0
    fi
@@ -12157,8 +12306,9 @@ _ACEOF
 fi
 
 
-  ac_fn_c_check_decl "$LINENO" "basename(char *)" "ac_cv_have_decl_basename_char_p_" "$ac_includes_default"
-if test "x$ac_cv_have_decl_basename_char_p_" = x""yes; then :
+  as_ac_Symbol=`$as_echo "ac_cv_have_decl_basename(char *)" | $as_tr_sh`
+ac_fn_c_check_decl "$LINENO" "basename(char *)" "$as_ac_Symbol" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Symbol"\" = x"yes"; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12168,7 +12318,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_BASENAME $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "ffs" "ac_cv_have_decl_ffs" "$ac_includes_default"
-if test "x$ac_cv_have_decl_ffs" = x""yes; then :
+if test "x$ac_cv_have_decl_ffs" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12178,7 +12328,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FFS $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_asprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_asprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12188,7 +12338,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_ASPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vasprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vasprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12198,7 +12348,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_VASPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_snprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_snprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12208,7 +12358,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_SNPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vsnprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vsnprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12219,7 +12369,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
   ac_fn_c_check_decl "$LINENO" "strtol" "ac_cv_have_decl_strtol" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtol" = x""yes; then :
+if test "x$ac_cv_have_decl_strtol" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12229,7 +12379,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoul" "ac_cv_have_decl_strtoul" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoul" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoul" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12239,7 +12389,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOUL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoll" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoll" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12249,7 +12399,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOLL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoull" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoull" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12260,7 +12410,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
   ac_fn_c_check_decl "$LINENO" "strverscmp" "ac_cv_have_decl_strverscmp" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strverscmp" = x""yes; then :
+if test "x$ac_cv_have_decl_strverscmp" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12273,7 +12423,7 @@ _ACEOF
 
 
 ac_fn_c_check_decl "$LINENO" "free" "ac_cv_have_decl_free" "$ac_includes_default"
-if test "x$ac_cv_have_decl_free" = x""yes; then :
+if test "x$ac_cv_have_decl_free" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12283,7 +12433,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FREE $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "malloc" "ac_cv_have_decl_malloc" "$ac_includes_default"
-if test "x$ac_cv_have_decl_malloc" = x""yes; then :
+if test "x$ac_cv_have_decl_malloc" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12293,7 +12443,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_MALLOC $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "realloc" "ac_cv_have_decl_realloc" "$ac_includes_default"
-if test "x$ac_cv_have_decl_realloc" = x""yes; then :
+if test "x$ac_cv_have_decl_realloc" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12303,7 +12453,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_REALLOC $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_snprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_snprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12316,7 +12466,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
 $as_echo_n "checking for LC_MESSAGES... " >&6; }
-if test "${am_cv_val_LC_MESSAGES+set}" = set; then :
+if ${am_cv_val_LC_MESSAGES+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12352,7 +12502,7 @@ fi
 # ----------------------- #
 
 ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "$ac_includes_default"
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -12361,7 +12511,7 @@ _ACEOF
 
 fi
 ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default"
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -12379,7 +12529,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -12395,7 +12545,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
+if ${ac_cv_c_const+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12404,11 +12554,11 @@ else
 int
 main ()
 {
-/* FIXME: Include the comments suggested by Paul. */
+
 #ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
+  /* Ultrix mips cc rejects this sort of thing.  */
   typedef int charset[2];
-  const charset cs;
+  const charset cs = { 0, 0 };
   /* SunOS 4.1.1 cc rejects this.  */
   char const *const *pcpcc;
   char **ppc;
@@ -12425,8 +12575,9 @@ main ()
   ++pcpcc;
   ppc = (char**) pcpcc;
   pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
+  { /* SCO 3.2v4 cc rejects this sort of thing.  */
+    char tx;
+    char *t = &tx;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
 
     *t++ = 0;
@@ -12442,10 +12593,10 @@ main ()
     iptr p = 0;
     ++p;
   }
-  { /* AIX XL C 1.02.0.0 rejects this saying
+  { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
        "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
+    struct s { int j; const int *ap[3]; } bx;
+    struct s *b = &bx; b->j = 5;
   }
   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     const int foo = 10;
@@ -12475,7 +12626,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
 $as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then :
+if ${ac_cv_c_inline+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_inline=no
@@ -12517,7 +12668,7 @@ esac
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -12735,7 +12886,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -12744,12 +12895,15 @@ fi
 # Checks for library functions.  #
 # ------------------------------ #
 
-for ac_header in stdlib.h unistd.h
+
+
+
+  for ac_header in $ac_header_list
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -12758,10 +12912,17 @@ fi
 
 done
 
+
+
+
+
+
+
+
 for ac_func in getpagesize
 do :
   ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
-if test "x$ac_cv_func_getpagesize" = x""yes; then :
+if test "x$ac_cv_func_getpagesize" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_GETPAGESIZE 1
 _ACEOF
@@ -12771,7 +12932,7 @@ done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5
 $as_echo_n "checking for working mmap... " >&6; }
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then :
+if ${ac_cv_func_mmap_fixed_mapped+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -12814,11 +12975,6 @@ char *malloc ();
 
 /* This mess was copied from the GNU getpagesize.h.  */
 #ifndef HAVE_GETPAGESIZE
-/* Assume that all systems that can run configure have sys/param.h.  */
-# ifndef HAVE_SYS_PARAM_H
-#  define HAVE_SYS_PARAM_H 1
-# endif
-
 # ifdef _SC_PAGESIZE
 #  define getpagesize() sysconf(_SC_PAGESIZE)
 # else /* no _SC_PAGESIZE */
@@ -12853,8 +13009,9 @@ int
 main ()
 {
   char *data, *data2, *data3;
+  const char *cdata2;
   int i, pagesize;
-  int fd;
+  int fd, fd2;
 
   pagesize = getpagesize ();
 
@@ -12867,27 +13024,41 @@ main ()
   umask (0);
   fd = creat ("conftest.mmap", 0600);
   if (fd < 0)
-    return 1;
+    return 2;
   if (write (fd, data, pagesize) != pagesize)
-    return 1;
+    return 3;
   close (fd);
 
+  /* Next, check that the tail of a page is zero-filled.  File must have
+     non-zero length, otherwise we risk SIGBUS for entire page.  */
+  fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
+  if (fd2 < 0)
+    return 4;
+  cdata2 = "";
+  if (write (fd2, cdata2, 1) != 1)
+    return 5;
+  data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
+  if (data2 == MAP_FAILED)
+    return 6;
+  for (i = 0; i < pagesize; ++i)
+    if (*(data2 + i))
+      return 7;
+  close (fd2);
+  if (munmap (data2, pagesize))
+    return 8;
+
   /* Next, try to mmap the file at a fixed address which already has
      something else allocated at it.  If we can, also make sure that
      we see the same garbage.  */
   fd = open ("conftest.mmap", O_RDWR);
   if (fd < 0)
-    return 1;
-  data2 = (char *) malloc (2 * pagesize);
-  if (!data2)
-    return 1;
-  data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1);
+    return 9;
   if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
 		     MAP_PRIVATE | MAP_FIXED, fd, 0L))
-    return 1;
+    return 10;
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data2 + i))
-      return 1;
+      return 11;
 
   /* Finally, make sure that changes to the mapped area do not
      percolate back to the file as seen by read().  (This is a bug on
@@ -12896,12 +13067,12 @@ main ()
     *(data2 + i) = *(data2 + i) + 1;
   data3 = (char *) malloc (pagesize);
   if (!data3)
-    return 1;
+    return 12;
   if (read (fd, data3, pagesize) != pagesize)
-    return 1;
+    return 13;
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data3 + i))
-      return 1;
+      return 14;
   close (fd);
   return 0;
 }
@@ -12923,10 +13094,10 @@ if test $ac_cv_func_mmap_fixed_mapped = 
 $as_echo "#define HAVE_MMAP 1" >>confdefs.h
 
 fi
-rm -f conftest.mmap
+rm -f conftest.mmap conftest.txt
 
 ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = x""yes; then :
+if test "x$ac_cv_type_pid_t" = xyes; then :
 
 else
 
@@ -12939,7 +13110,7 @@ fi
 for ac_header in vfork.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default"
-if test "x$ac_cv_header_vfork_h" = x""yes; then :
+if test "x$ac_cv_header_vfork_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_VFORK_H 1
 _ACEOF
@@ -12952,8 +13123,7 @@ for ac_func in fork vfork
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -12964,7 +13134,7 @@ done
 if test "x$ac_cv_func_fork" = xyes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
 $as_echo_n "checking for working fork... " >&6; }
-if test "${ac_cv_func_fork_works+set}" = set; then :
+if ${ac_cv_func_fork_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -13017,7 +13187,7 @@ ac_cv_func_vfork_works=$ac_cv_func_vfork
 if test "x$ac_cv_func_vfork" = xyes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
 $as_echo_n "checking for working vfork... " >&6; }
-if test "${ac_cv_func_vfork_works+set}" = set; then :
+if ${ac_cv_func_vfork_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -13152,7 +13322,7 @@ fi
 
 for ac_func in getauxval getrusage getuid getgid \
 		pipe poll pread pread64 pwrite resize_term \
-		sbrk setpgid setpgrp setsid \
+		sbrk getpgid setpgid setpgrp setsid \
 		sigaction sigprocmask sigsetmask socketpair \
 		ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
 		setrlimit getrlimit posix_madvise waitpid \
@@ -13160,8 +13330,7 @@ for ac_func in getauxval getrusage getui
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13172,7 +13341,7 @@ done
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${am_cv_langinfo_codeset+set}" = set; then :
+if ${am_cv_langinfo_codeset+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13203,10 +13372,21 @@ fi
 
   fi
 
+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13320,7 +13500,7 @@ fi
 # for constant arguments.  Useless!
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
 $as_echo_n "checking for working alloca.h... " >&6; }
-if test "${ac_cv_working_alloca_h+set}" = set; then :
+if ${ac_cv_working_alloca_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13353,7 +13533,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
 $as_echo_n "checking for alloca... " >&6; }
-if test "${ac_cv_func_alloca_works+set}" = set; then :
+if ${ac_cv_func_alloca_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13372,7 +13552,7 @@ else
  #pragma alloca
 #   else
 #    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
+void *alloca (size_t);
 #    endif
 #   endif
 #  endif
@@ -13416,7 +13596,7 @@ ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if test "${ac_cv_os_cray+set}" = set; then :
+if ${ac_cv_os_cray+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13443,8 +13623,7 @@ if test $ac_cv_os_cray = yes; then
   for ac_func in _getb67 GETB67 getb67; do
     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
 
 cat >>confdefs.h <<_ACEOF
 #define CRAY_STACKSEG_END $ac_func
@@ -13458,7 +13637,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
 $as_echo_n "checking stack direction for C alloca... " >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then :
+if ${ac_cv_c_stack_direction+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -13468,23 +13647,20 @@ else
 /* end confdefs.h.  */
 $ac_includes_default
 int
-find_stack_direction ()
+find_stack_direction (int *addr, int depth)
 {
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
+  int dir, dummy = 0;
+  if (! addr)
+    addr = &dummy;
+  *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+  dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+  return dir + dummy;
 }
 
 int
-main ()
+main (int argc, char **argv)
 {
-  return find_stack_direction () < 0;
+  return find_stack_direction (0, argc + !argv + 20) < 0;
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
@@ -13510,7 +13686,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${am_cv_langinfo_codeset+set}" = set; then :
+if ${am_cv_langinfo_codeset+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13546,8 +13722,7 @@ fi
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -13561,8 +13736,7 @@ done
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13572,7 +13746,7 @@ done
 
 
   ac_fn_c_check_decl "$LINENO" "strerror" "ac_cv_have_decl_strerror" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strerror" = x""yes; then :
+if test "x$ac_cv_have_decl_strerror" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13582,7 +13756,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRERROR $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strstr" "ac_cv_have_decl_strstr" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strstr" = x""yes; then :
+if test "x$ac_cv_have_decl_strstr" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13595,7 +13769,7 @@ _ACEOF
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5
 $as_echo_n "checking for sigsetjmp... " >&6; }
-if test "${gdb_cv_func_sigsetjmp+set}" = set; then :
+if ${gdb_cv_func_sigsetjmp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13634,8 +13808,7 @@ for ac_header in sys/ptrace.h ptrace.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -13657,7 +13830,7 @@ gdb_ptrace_headers='
 # There is no point in checking if we don't have a prototype.
 ac_fn_c_check_decl "$LINENO" "ptrace" "ac_cv_have_decl_ptrace" "$gdb_ptrace_headers
 "
-if test "x$ac_cv_have_decl_ptrace" = x""yes; then :
+if test "x$ac_cv_have_decl_ptrace" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13679,7 +13852,7 @@ fi
 # empty argument list, so check for that explicitly.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of ptrace" >&5
 $as_echo_n "checking return type of ptrace... " >&6; }
-if test "${gdb_cv_func_ptrace_ret+set}" = set; then :
+if ${gdb_cv_func_ptrace_ret+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13726,7 +13899,7 @@ _ACEOF
 # Check argument types.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking types of arguments for ptrace" >&5
 $as_echo_n "checking types of arguments for ptrace... " >&6; }
-if test "${gdb_cv_func_ptrace_args+set}" = set; then :
+if ${gdb_cv_func_ptrace_args+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -13833,11 +14006,11 @@ fi
 if test "$cross_compiling" = no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setpgrp takes no argument" >&5
 $as_echo_n "checking whether setpgrp takes no argument... " >&6; }
-if test "${ac_cv_func_setpgrp_void+set}" = set; then :
+if ${ac_cv_func_setpgrp_void+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-  as_fn_error "cannot check setpgrp when cross compiling" "$LINENO" 5
+  as_fn_error $? "cannot check setpgrp when cross compiling" "$LINENO" 5
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -13874,7 +14047,7 @@ fi
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setpgrp takes no argument" >&5
 $as_echo_n "checking whether setpgrp takes no argument... " >&6; }
-if test "${ac_cv_func_setpgrp_void+set}" = set; then :
+if ${ac_cv_func_setpgrp_void+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13917,7 +14090,7 @@ gdb_use_included_regex=yes
 # using the included regex.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU regex" >&5
 $as_echo_n "checking for GNU regex... " >&6; }
-if test "${gdb_cv_have_gnu_regex+set}" = set; then :
+if ${gdb_cv_have_gnu_regex+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13966,7 +14139,7 @@ ac_fn_c_check_member "$LINENO" "struct t
 #include <sys/proc.h>
 
 "
-if test "x$ac_cv_member_struct_thread_td_pcb" = x""yes; then :
+if test "x$ac_cv_member_struct_thread_td_pcb" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_THREAD_TD_PCB 1
@@ -13979,7 +14152,7 @@ fi
 # See if <sys/lwp.h> defines `struct lwp`.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct lwp" >&5
 $as_echo_n "checking for struct lwp... " >&6; }
-if test "${gdb_cv_struct_lwp+set}" = set; then :
+if ${gdb_cv_struct_lwp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14013,7 +14186,7 @@ fi
 # See if <machine/reg.h> degines `struct reg'.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct reg in machine/reg.h" >&5
 $as_echo_n "checking for struct reg in machine/reg.h... " >&6; }
-if test "${gdb_cv_struct_reg+set}" = set; then :
+if ${gdb_cv_struct_reg+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14048,7 +14221,7 @@ fi
 ac_fn_c_check_member "$LINENO" "struct reg" "r_fs" "ac_cv_member_struct_reg_r_fs" "#include <sys/types.h>
 #include <machine/reg.h>
 "
-if test "x$ac_cv_member_struct_reg_r_fs" = x""yes; then :
+if test "x$ac_cv_member_struct_reg_r_fs" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_REG_R_FS 1
@@ -14059,7 +14232,7 @@ fi
 ac_fn_c_check_member "$LINENO" "struct reg" "r_gs" "ac_cv_member_struct_reg_r_gs" "#include <sys/types.h>
 #include <machine/reg.h>
 "
-if test "x$ac_cv_member_struct_reg_r_gs" = x""yes; then :
+if test "x$ac_cv_member_struct_reg_r_gs" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_REG_R_GS 1
@@ -14075,7 +14248,7 @@ fi
 ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "fs_base" "ac_cv_member_struct_user_regs_struct_fs_base" "#include <sys/types.h>
 #include <sys/user.h>
 "
-if test "x$ac_cv_member_struct_user_regs_struct_fs_base" = x""yes; then :
+if test "x$ac_cv_member_struct_user_regs_struct_fs_base" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE 1
@@ -14086,7 +14259,7 @@ fi
 ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "gs_base" "ac_cv_member_struct_user_regs_struct_gs_base" "#include <sys/types.h>
 #include <sys/user.h>
 "
-if test "x$ac_cv_member_struct_user_regs_struct_gs_base" = x""yes; then :
+if test "x$ac_cv_member_struct_user_regs_struct_gs_base" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_USER_REGS_STRUCT_GS_BASE 1
@@ -14099,7 +14272,7 @@ fi
 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTRACE_GETREGS" >&5
 $as_echo_n "checking for PTRACE_GETREGS... " >&6; }
-if test "${gdb_cv_have_ptrace_getregs+set}" = set; then :
+if ${gdb_cv_have_ptrace_getregs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14132,7 +14305,7 @@ fi
 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTRACE_GETFPXREGS" >&5
 $as_echo_n "checking for PTRACE_GETFPXREGS... " >&6; }
-if test "${gdb_cv_have_ptrace_getfpxregs+set}" = set; then :
+if ${gdb_cv_have_ptrace_getfpxregs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14165,7 +14338,7 @@ fi
 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PT_GETDBREGS" >&5
 $as_echo_n "checking for PT_GETDBREGS... " >&6; }
-if test "${gdb_cv_have_pt_getdbregs+set}" = set; then :
+if ${gdb_cv_have_pt_getdbregs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14199,7 +14372,7 @@ fi
 # See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PT_GETXMMREGS" >&5
 $as_echo_n "checking for PT_GETXMMREGS... " >&6; }
-if test "${gdb_cv_have_pt_getxmmregs+set}" = set; then :
+if ${gdb_cv_have_pt_getxmmregs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14235,7 +14408,7 @@ fi
 # `struct ptrace_lwpinfo'.
 ac_fn_c_check_member "$LINENO" "struct ptrace_lwpinfo" "pl_tdname" "ac_cv_member_struct_ptrace_lwpinfo_pl_tdname" "#include <sys/ptrace.h>
 "
-if test "x$ac_cv_member_struct_ptrace_lwpinfo_pl_tdname" = x""yes; then :
+if test "x$ac_cv_member_struct_ptrace_lwpinfo_pl_tdname" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_PTRACE_LWPINFO_PL_TDNAME 1
@@ -14250,7 +14423,7 @@ fi
 # FreeBSD 10.3.
 ac_fn_c_check_member "$LINENO" "struct ptrace_lwpinfo" "pl_syscall_code" "ac_cv_member_struct_ptrace_lwpinfo_pl_syscall_code" "#include <sys/ptrace.h>
 "
-if test "x$ac_cv_member_struct_ptrace_lwpinfo_pl_syscall_code" = x""yes; then :
+if test "x$ac_cv_member_struct_ptrace_lwpinfo_pl_syscall_code" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE 1
@@ -14263,7 +14436,7 @@ fi
 if test "$ac_cv_header_sys_procfs_h" = yes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for gregset_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_gregset_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_gregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14300,7 +14473,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for fpregset_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_fpregset_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_fpregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14337,7 +14510,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for prgregset_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_prgregset_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_prgregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14374,7 +14547,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prfpregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for prfpregset_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_prfpregset_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_prfpregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14411,7 +14584,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset32_t in sys/procfs.h" >&5
 $as_echo_n "checking for prgregset32_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_prgregset32_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_prgregset32_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14448,7 +14621,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpid_t in sys/procfs.h" >&5
 $as_echo_n "checking for lwpid_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_lwpid_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_lwpid_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14485,7 +14658,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psaddr_t in sys/procfs.h" >&5
 $as_echo_n "checking for psaddr_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_psaddr_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_psaddr_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14526,7 +14699,7 @@ fi
   if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether prfpregset_t type is broken" >&5
 $as_echo_n "checking whether prfpregset_t type is broken... " >&6; }
-    if test "${gdb_cv_prfpregset_t_broken+set}" = set; then :
+    if ${gdb_cv_prfpregset_t_broken+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -14567,7 +14740,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long support in compiler" >&5
 $as_echo_n "checking for long long support in compiler... " >&6; }
-if test "${gdb_cv_c_long_long+set}" = set; then :
+if ${gdb_cv_c_long_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14592,14 +14765,14 @@ fi
 $as_echo "$gdb_cv_c_long_long" >&6; }
 if test $gdb_cv_c_long_long != yes; then
   # libdecnumber requires long long.
-  as_fn_error "Compiler must support long long for GDB." "$LINENO" 5
+  as_fn_error $? "Compiler must support long long for GDB." "$LINENO" 5
 fi
 
 # Check if the compiler and runtime support printing long longs.
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long support in printf" >&5
 $as_echo_n "checking for long long support in printf... " >&6; }
-if test "${gdb_cv_printf_has_long_long+set}" = set; then :
+if ${gdb_cv_printf_has_long_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -14645,7 +14818,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for decfloat support in printf" >&5
 $as_echo_n "checking for decfloat support in printf... " >&6; }
-if test "${gdb_cv_printf_has_decfloat+set}" = set; then :
+if ${gdb_cv_printf_has_decfloat+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -14692,7 +14865,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double support in compiler" >&5
 $as_echo_n "checking for long double support in compiler... " >&6; }
-if test "${gdb_cv_c_long_double+set}" = set; then :
+if ${gdb_cv_c_long_double+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14718,7 +14891,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double support in printf" >&5
 $as_echo_n "checking for long double support in printf... " >&6; }
-if test "${gdb_cv_printf_has_long_double+set}" = set; then :
+if ${gdb_cv_printf_has_long_double+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -14760,7 +14933,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double support in scanf" >&5
 $as_echo_n "checking for long double support in scanf... " >&6; }
-if test "${gdb_cv_scanf_has_long_double+set}" = set; then :
+if ${gdb_cv_scanf_has_long_double+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -14802,7 +14975,7 @@ case ${host_os} in
 aix*)
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -bbigtoc option" >&5
 $as_echo_n "checking for -bbigtoc option... " >&6; }
-if test "${gdb_cv_bigtoc+set}" = set; then :
+if ${gdb_cv_bigtoc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -14934,7 +15107,7 @@ if test ${build} = ${host} -a ${host} = 
    aix*)
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AiX thread debugging library" >&5
 $as_echo_n "checking for AiX thread debugging library... " >&6; }
-      if test "${gdb_cv_have_aix_thread_debug+set}" = set; then :
+      if ${gdb_cv_have_aix_thread_debug+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14970,7 +15143,7 @@ fi
          # with AIX 6.x).
          ac_fn_c_check_decl "$LINENO" "getthrds" "ac_cv_have_decl_getthrds" "#include <procinfo.h>
 "
-if test "x$ac_cv_have_decl_getthrds" = x""yes; then :
+if test "x$ac_cv_have_decl_getthrds" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -14989,7 +15162,7 @@ fi
 if test "x$ac_cv_header_thread_db_h" = "xyes"; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <thread_db.h> has TD_NOTALLOC" >&5
 $as_echo_n "checking whether <thread_db.h> has TD_NOTALLOC... " >&6; }
-if test "${gdb_cv_thread_db_h_has_td_notalloc+set}" = set; then :
+if ${gdb_cv_thread_db_h_has_td_notalloc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15016,7 +15189,7 @@ fi
 $as_echo "$gdb_cv_thread_db_h_has_td_notalloc" >&6; }
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <thread_db.h> has TD_VERSION" >&5
 $as_echo_n "checking whether <thread_db.h> has TD_VERSION... " >&6; }
-if test "${gdb_cv_thread_db_h_has_td_version+set}" = set; then :
+if ${gdb_cv_thread_db_h_has_td_version+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15043,7 +15216,7 @@ fi
 $as_echo "$gdb_cv_thread_db_h_has_td_version" >&6; }
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <thread_db.h> has TD_NOTLS" >&5
 $as_echo_n "checking whether <thread_db.h> has TD_NOTLS... " >&6; }
-if test "${gdb_cv_thread_db_h_has_td_notls+set}" = set; then :
+if ${gdb_cv_thread_db_h_has_td_notls+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15087,7 +15260,7 @@ fi
 
 ac_fn_c_check_decl "$LINENO" "ADDR_NO_RANDOMIZE" "ac_cv_have_decl_ADDR_NO_RANDOMIZE" "#include <sys/personality.h>
 "
-if test "x$ac_cv_have_decl_ADDR_NO_RANDOMIZE" = x""yes; then :
+if test "x$ac_cv_have_decl_ADDR_NO_RANDOMIZE" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -15277,7 +15450,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -15298,7 +15471,11 @@ build_warnings="-Wall -Wpointer-arith \
 -Wno-switch -Wno-char-subscripts \
 -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable \
 -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized \
--Wno-mismatched-tags"
+-Wno-mismatched-tags \
+-Wno-error=deprecated-register \
+-Wsuggest-override \
+-Wimplicit-fallthrough=3 \
+-Wduplicated-cond"
 
 case "${host}" in
   *-*-mingw32*)
@@ -15415,7 +15592,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 # In the Cygwin environment, we need some additional flags.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cygwin" >&5
 $as_echo_n "checking for cygwin... " >&6; }
-if test "${gdb_cv_os_cygwin+set}" = set; then :
+if ${gdb_cv_os_cygwin+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15482,7 +15659,7 @@ esac
   LIBS="-lbfd -liberty -lz $intl $LIBS"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ELF support in BFD" >&5
 $as_echo_n "checking for ELF support in BFD... " >&6; }
-if test "${gdb_cv_var_elf+set}" = set; then :
+if ${gdb_cv_var_elf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15521,7 +15698,7 @@ if test $gdb_cv_var_elf = yes; then
   if test "$plugins" = "yes"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
 $as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -15555,11 +15732,11 @@ for ac_lib in '' dl; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlopen+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlopen+:} false; then :
 
 else
   ac_cv_search_dlopen=no
@@ -15593,7 +15770,7 @@ fi
   LIBS="-lbfd -liberty -lz $intl $LIBS"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Mach-O support in BFD" >&5
 $as_echo_n "checking for Mach-O support in BFD... " >&6; }
-if test "${gdb_cv_var_macho+set}" = set; then :
+if ${gdb_cv_var_macho+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -16058,7 +16235,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for liblzma" >&5
 $as_echo_n "checking for liblzma... " >&6; }
-if test "${ac_cv_liblzma+set}" = set; then :
+if ${ac_cv_liblzma+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -16112,7 +16289,7 @@ fi
 
     if test "$HAVE_LIBLZMA" != yes; then
       if test "$with_lzma" = yes; then
-        as_fn_error "missing liblzma for --with-lzma" "$LINENO" 5
+        as_fn_error $? "missing liblzma for --with-lzma" "$LINENO" 5
       fi
     fi
   fi
@@ -16164,7 +16341,7 @@ fi
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl configuration" >&5
 $as_echo_n "checking for Tcl configuration... " >&6; }
-	if test "${ac_cv_c_tclconfig+set}" = set; then :
+	if ${ac_cv_c_tclconfig+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -16178,7 +16355,7 @@ else
 		if test -f "${with_tclconfig}/tclConfig.sh" ; then
 		    ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)`
 		else
-		    as_fn_error "${with_tclconfig} directory doesn't contain tclConfig.sh" "$LINENO" 5
+		    as_fn_error $? "${with_tclconfig} directory doesn't contain tclConfig.sh" "$LINENO" 5
 		fi
 	    fi
 
@@ -16284,7 +16461,7 @@ fi
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tk configuration" >&5
 $as_echo_n "checking for Tk configuration... " >&6; }
-	if test "${ac_cv_c_tkconfig+set}" = set; then :
+	if ${ac_cv_c_tkconfig+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -16294,7 +16471,7 @@ else
 		if test -f "${with_tkconfig}/tkConfig.sh" ; then
 		    ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)`
 		else
-		    as_fn_error "${with_tkconfig} directory doesn't contain tkConfig.sh" "$LINENO" 5
+		    as_fn_error $? "${with_tkconfig} directory doesn't contain tkConfig.sh" "$LINENO" 5
 		fi
 	    fi
 
@@ -16477,7 +16654,7 @@ fi
   fi
 
   if test x"${private_dir}" = x; then
-    as_fn_error "could not find private Tcl headers" "$LINENO" 5
+    as_fn_error $? "could not find private Tcl headers" "$LINENO" 5
   else
     TCL_PRIVATE_INCLUDE="-I${private_dir}"
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${private_dir}" >&5
@@ -16586,7 +16763,7 @@ fi
   fi
 
   if test x"${private_dir}" = x; then
-    as_fn_error "could not find Tk private headers" "$LINENO" 5
+    as_fn_error $? "could not find Tk private headers" "$LINENO" 5
   else
     TK_PRIVATE_INCLUDE="-I${private_dir}"
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${private_dir}" >&5
@@ -16658,8 +16835,8 @@ if test "x$with_x" = xno; then
   have_x=disabled
 else
   case $x_includes,$x_libraries in #(
-    *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #(
-    *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
+    *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #(
+    *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # One or both of the vars are not set, and there is no cached value.
@@ -16676,7 +16853,7 @@ libdir:
 	@echo libdir='${LIBDIR}'
 _ACEOF
   if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
-    # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+    # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
     for ac_var in incroot usrlibdir libdir; do
       eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
     done
@@ -16762,7 +16939,7 @@ else
   fi
 done
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 fi # $ac_x_includes = no
 
 if test "$ac_x_libraries" = no; then
@@ -16952,7 +17129,7 @@ if test "${enable_multi_ice+set}" = set;
   enableval=$enable_multi_ice; case $enableval in
     yes | no)
       ;;
-    *) as_fn_error "bad value $enableval for --enable-multi-ice" "$LINENO" 5 ;;
+    *) as_fn_error $? "bad value $enableval for --enable-multi-ice" "$LINENO" 5 ;;
   esac
 fi
 
@@ -16965,7 +17142,7 @@ fi
 if test "${enable_gdbserver+set}" = set; then :
   enableval=$enable_gdbserver; case "${enableval}" in
   yes| no|auto) ;;
-  *) as_fn_error "bad value ${enableval} for --enable-gdbserver option" "$LINENO" 5 ;;
+  *) as_fn_error $? "bad value ${enableval} for --enable-gdbserver option" "$LINENO" 5 ;;
 esac
 else
   enable_gdbserver=auto
@@ -16992,7 +17169,7 @@ fi
 # If the user explicitly request the gdbserver to be built, verify that
 # we were in fact able to enable it.
 if test "$enable_gdbserver" = "yes" -a "$gdbserver_build_enabled" != "yes"; then
-  as_fn_error "Automatic gdbserver build is not supported for this configuration" "$LINENO" 5
+  as_fn_error $? "Automatic gdbserver build is not supported for this configuration" "$LINENO" 5
 fi
 
 # Check for babeltrace and babeltrace-ctf
@@ -17433,7 +17610,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libbabeltrace" >&5
 $as_echo_n "checking for libbabeltrace... " >&6; }
-if test "${ac_cv_libbabeltrace+set}" = set; then :
+if ${ac_cv_libbabeltrace+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -17498,7 +17675,7 @@ fi
 
   if test "$HAVE_LIBBABELTRACE" != yes; then
      if test "$with_babeltrace" = yes; then
-       as_fn_error "babeltrace is missing or unusable" "$LINENO" 5
+       as_fn_error $? "babeltrace is missing or unusable" "$LINENO" 5
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: babeltrace is missing or unusable; GDB is unable to read CTF data." >&5
 $as_echo "$as_me: WARNING: babeltrace is missing or unusable; GDB is unable to read CTF data." >&2;}
@@ -17534,7 +17711,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XSLTPROC+set}" = set; then :
+if ${ac_cv_path_XSLTPROC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $XSLTPROC in
@@ -17548,7 +17725,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -17576,7 +17753,7 @@ test -n "$XSLTPROC" || XSLTPROC="missing
 
 if test "x$USE_MAINTAINER_MODE" = xyes; then
   if test "${XSLTPROC}" = missing; then
-    as_fn_error "unable to find xsltproc.  maintainer-mode requires xsltproc." "$LINENO" 5
+    as_fn_error $? "unable to find xsltproc.  maintainer-mode requires xsltproc." "$LINENO" 5
   fi
 fi
 
@@ -17601,7 +17778,7 @@ if $development; then
 
 $as_echo "#define GDB_SELF_TEST 1" >>confdefs.h
 
-  CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_UNITTESTS_OBS) selftest.o selftest-arch.o"
+  CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_UNITTESTS_OBS) common/selftest.o selftest-arch.o"
   CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_UNITTESTS_SRCS) common/selftest.c selftest-arch.c"
 fi
 
@@ -17623,7 +17800,7 @@ fi
 
 ac_config_files="$ac_config_files gcore"
 
-ac_config_files="$ac_config_files Makefile gdb-gdb.gdb doc/Makefile data-directory/Makefile"
+ac_config_files="$ac_config_files Makefile gdb-gdb.gdb gdb-gdb.py doc/Makefile data-directory/Makefile"
 
 
 cat >confcache <<\_ACEOF
@@ -17690,10 +17867,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -17709,6 +17897,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -17724,20 +17913,20 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HAVE_PYTHON_TRUE}" && test -z "${HAVE_PYTHON_FALSE}"; then
-  as_fn_error "conditional \"HAVE_PYTHON\" was never defined.
+  as_fn_error $? "conditional \"HAVE_PYTHON\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HAVE_GUILE_TRUE}" && test -z "${HAVE_GUILE_FALSE}"; then
-  as_fn_error "conditional \"HAVE_GUILE\" was never defined.
+  as_fn_error $? "conditional \"HAVE_GUILE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -17838,6 +18027,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -17883,19 +18073,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -18033,16 +18223,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -18091,7 +18281,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -18102,28 +18292,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -18145,7 +18323,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -18186,6 +18364,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -18211,12 +18390,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -18233,11 +18413,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -18251,12 +18436,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -18269,7 +18457,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -18278,7 +18466,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -18298,7 +18486,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -18339,10 +18527,11 @@ do
     "gcore") CONFIG_FILES="$CONFIG_FILES gcore" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "gdb-gdb.gdb") CONFIG_FILES="$CONFIG_FILES gdb-gdb.gdb" ;;
+    "gdb-gdb.py") CONFIG_FILES="$CONFIG_FILES gdb-gdb.py" ;;
     "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
     "data-directory/Makefile") CONFIG_FILES="$CONFIG_FILES data-directory/Makefile" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -18366,9 +18555,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -18376,12 +18566,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -18415,24 +18606,24 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 # Create commands to substitute file output variables.
 {
   echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
-  echo 'cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&' &&
+  echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
   echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' &&
   echo "_ACAWK" &&
   echo "_ACEOF"
 } >conf$$files.sh &&
 . ./conf$$files.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 rm -f conf$$files.sh
 
 {
@@ -18440,18 +18631,18 @@ rm -f conf$$files.sh
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -18459,7 +18650,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -18473,7 +18664,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -18487,7 +18678,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -18507,7 +18698,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
   \$ac_cs_awk_pipe_init
@@ -18545,21 +18736,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -18571,7 +18770,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -18583,11 +18782,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -18672,7 +18871,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -18685,7 +18884,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -18704,7 +18903,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -18713,7 +18912,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -18739,8 +18938,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -18872,26 +19071,27 @@ s&@INSTALL@&$ac_INSTALL&;t t
 "
 eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
 if $ac_cs_awk_getline; then
-  $AWK -f "$tmp/subs.awk"
+  $AWK -f "$ac_tmp/subs.awk"
 else
-  $AWK -f "$tmp/subs.awk" | $SHELL
-fi >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  $AWK -f "$ac_tmp/subs.awk" | $SHELL
+fi \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -18900,21 +19100,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
   :L)
@@ -18934,19 +19134,19 @@ which seems to be undefined.  Please mak
 $as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
 
     if test ! -r "$ac_source"; then
-      as_fn_error "$ac_source: file not found" "$LINENO" 5
+      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
     fi
     rm -f "$ac_file"
 
     # Try a relative symlink, then a hard link, then a copy.
-    case $srcdir in
+    case $ac_source in
     [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
 	*) ac_rel_source=$ac_top_build_prefix$ac_source ;;
     esac
     ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
       ln "$ac_source" "$ac_file" 2>/dev/null ||
       cp -p "$ac_source" "$ac_file" ||
-      as_fn_error "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
+      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
   fi
  ;;
   :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
@@ -18970,6 +19170,12 @@ xconfig.h:config.in)
 echo > stamp-h ;;
 esac
  ;;
+    "gdb-gdb.py":F)
+case x$CONFIG_HEADERS in
+xconfig.h:config.in)
+echo > stamp-h ;;
+esac
+ ;;
     "doc/Makefile":F)
 case x$CONFIG_HEADERS in
 xconfig.h:config.in)
@@ -18992,7 +19198,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -19013,7 +19219,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 
 #
@@ -19154,7 +19360,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_
       # The eval makes quoting arguments work.
       eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
 	   --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
-	as_fn_error "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
+	as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
     fi
 
     cd "$ac_popdir"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/configure.ac ./gdb/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/configure.ac	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/configure.ac	2018-07-10 02:06:13.000000000 +0000
@@ -18,7 +18,6 @@ dnl along with this program.  If not, se
 
 dnl Process this file with autoconf to produce a configure script.
 
-AC_PREREQ(2.59)dnl
 AC_INIT(main.c)
 AC_CONFIG_HEADER(config.h:config.in)
 AM_MAINTAINER_MODE
@@ -472,6 +471,13 @@ if test "$enable_profiling" = yes ; then
   CFLAGS="$OLD_CFLAGS"
 fi
 
+CODESIGN_CERT=
+AC_ARG_ENABLE([codesign],
+  AS_HELP_STRING([--enable-codesign=CERT],
+                 [sign gdb with 'codesign -s CERT']),
+  [CODESIGN_CERT=$enableval])
+AC_SUBST([CODESIGN_CERT])
+
 ACX_PKGVERSION([GDB])
 ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
 AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
@@ -523,6 +529,11 @@ AC_SEARCH_LIBS(kinfo_getvmmap, util util
   [AC_DEFINE(HAVE_KINFO_GETVMMAP, 1,
             [Define to 1 if your system has the kinfo_getvmmap function. ])])
 
+# fbsd-nat.c can also use kinfo_getfile.
+AC_SEARCH_LIBS(kinfo_getfile, util util-freebsd,
+  [AC_DEFINE(HAVE_KINFO_GETFILE, 1,
+            [Define to 1 if your system has the kinfo_getfile function. ])])
+
 AM_ICONV
 
 # GDB may fork/exec the iconv program to get the list of supported character
@@ -727,10 +738,10 @@ AC_DEFUN([AC_TRY_LIBPYTHON],
   save_CPPFLAGS=$CPPFLAGS
   save_LIBS=$LIBS
   CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
-  LIBS="$LIBS $new_LIBS"
+  LIBS="$new_LIBS $LIBS"
   found_usable_python=no
-  AC_LINK_IFELSE(AC_LANG_PROGRAM([[#include "Python.h"]],
-                                 [[Py_Initialize ();]]),
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "Python.h"]],
+                                 [[Py_Initialize ();]])],
                  [have_libpython_var=${version}
                   found_usable_python=yes
                   PYTHON_CPPFLAGS=$new_CPPFLAGS
@@ -917,19 +928,19 @@ else
   elif test "${have_python_config}" != failed; then
     if test "${have_libpython}" = no; then
       AC_TRY_LIBPYTHON(python2.7, have_libpython,
-                       ${python_includes}, "${python_libs} -lpython2.7")
+                       ${python_includes}, "-lpython2.7 ${python_libs}")
     fi
     if test "${have_libpython}" = no; then
       AC_TRY_LIBPYTHON(python2.6, have_libpython,
-                       ${python_includes}, "${python_libs} -lpython2.6")
+                       ${python_includes}, "-lpython2.6 ${python_libs}")
     fi
     if test ${have_libpython} = no; then
       AC_TRY_LIBPYTHON(python2.5, have_libpython,
-                       ${python_includes}, "${python_libs} -lpython2.5")
+                       ${python_includes}, "-lpython2.5 ${python_libs}")
     fi
     if test ${have_libpython} = no; then
       AC_TRY_LIBPYTHON(python2.4, have_libpython,
-                       ${python_includes}, "${python_libs} -lpython2.4")
+                       ${python_includes}, "-lpython2.4 ${python_libs}")
     fi
   fi
   if test "${have_libpython}" = python2.7 -o "${have_libpython}" = python27; then
@@ -1016,12 +1027,12 @@ if test "${have_libpython}" != no; then
   CPPFLAGS="${PYTHON_CPPFLAGS}"
   # Note that the test is reversed so that python_has_threads=yes on
   # unexpected failures.
-  AC_PREPROC_IFELSE(AC_LANG_SOURCE([[
+  AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
 #include <Python.h>
 #ifdef WITH_THREAD
 # error
 #endif
-  ]]), [python_has_threads=no], [python_has_threads=yes])
+  ]])], [python_has_threads=no], [python_has_threads=yes])
   AC_MSG_RESULT(${python_has_threads})
   CPPFLAGS="${saved_CPPFLAGS}"
 else
@@ -1095,8 +1106,8 @@ AC_DEFUN([AC_TRY_LIBGUILE],
     save_LIBS=$LIBS
     CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
     LIBS="$LIBS $new_LIBS"
-    AC_LINK_IFELSE(AC_LANG_PROGRAM([[#include "libguile.h"]],
-                                   [[scm_init_guile ();]]),
+    AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "libguile.h"]],
+                                   [[scm_init_guile ();]])],
                    [have_libguile_var=yes
                     GUILE_CPPFLAGS=$new_CPPFLAGS
                     GUILE_LIBS=$new_LIBS],
@@ -1266,12 +1277,12 @@ if test "${with_intel_pt}" = no; then
   AC_MSG_WARN([Intel Processor Trace support disabled; some features may be unavailable.])
   HAVE_LIBIPT=no
 else
-  AC_PREPROC_IFELSE(AC_LANG_SOURCE([[
+  AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
 #include <linux/perf_event.h>
 #ifndef PERF_ATTR_SIZE_VER5
 # error
 #endif
-  ]]), [perf_event=yes], [perf_event=no])
+  ]])], [perf_event=yes], [perf_event=no])
   if test "$perf_event" != yes; then
     if test "$with_intel_pt" = yes; then
       AC_MSG_ERROR([linux/perf_event.h missing or too old])
@@ -1363,7 +1374,7 @@ AC_FUNC_MMAP
 AC_FUNC_VFORK
 AC_CHECK_FUNCS([getauxval getrusage getuid getgid \
 		pipe poll pread pread64 pwrite resize_term \
-		sbrk setpgid setpgrp setsid \
+		sbrk getpgid setpgid setpgrp setsid \
 		sigaction sigprocmask sigsetmask socketpair \
 		ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
 		setrlimit getrlimit posix_madvise waitpid \
@@ -1715,13 +1726,13 @@ if test "${gdb_native}" = yes; then
      old_CPPFLAGS="$CPPFLAGS"
      CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
      AC_RUN_IFELSE(
-       AC_LANG_PROGRAM(
+       [AC_LANG_PROGRAM(
          [#include "Python.h"],
          [int err;
           Py_Initialize ();
           err = PyRun_SimpleString ("import itertools\n");
           Py_Finalize ();
-          return err == 0 ? 0 : 1;]),
+          return err == 0 ? 0 : 1;])],
        [dynamic_list=true], [], [true])
      LIBS="$old_LIBS"
      CFLAGS="$old_CFLAGS"
@@ -2294,14 +2305,14 @@ AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "UTF
 if $development; then
   AC_DEFINE(GDB_SELF_TEST, 1,
             [Define if self-testing features should be enabled])
-  CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_UNITTESTS_OBS) selftest.o selftest-arch.o"
+  CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_UNITTESTS_OBS) common/selftest.o selftest-arch.o"
   CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_UNITTESTS_SRCS) common/selftest.c selftest-arch.c"
 fi
 
 GDB_AC_TRANSFORM([gdb], [GDB_TRANSFORM_NAME])
 GDB_AC_TRANSFORM([gcore], [GCORE_TRANSFORM_NAME])
 AC_CONFIG_FILES([gcore], [chmod +x gcore])
-AC_CONFIG_FILES([Makefile gdb-gdb.gdb doc/Makefile data-directory/Makefile],
+AC_CONFIG_FILES([Makefile gdb-gdb.gdb gdb-gdb.py doc/Makefile data-directory/Makefile],
 [
 case x$CONFIG_HEADERS in
 xconfig.h:config.in)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/configure.host ./gdb/configure.host
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/configure.host	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/configure.host	2018-07-10 02:06:13.000000000 +0000
@@ -64,7 +64,6 @@ arm*)			gdb_host_cpu=arm ;;
 hppa*)			gdb_host_cpu=pa ;;
 i[34567]86*)		gdb_host_cpu=i386 ;;
 m68*)			gdb_host_cpu=m68k ;;
-m88*)			gdb_host_cpu=m88k ;;
 mips*)			gdb_host_cpu=mips ;;
 powerpc* | rs6000)	gdb_host_cpu=powerpc ;;
 sparcv9 | sparc64)	gdb_host_cpu=sparc ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/configure.nat ./gdb/configure.nat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/configure.nat	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/configure.nat	2018-07-10 02:06:13.000000000 +0000
@@ -115,7 +115,7 @@ case ${gdb_host} in
 	case ${gdb_host_cpu} in
 	    alpha)
 		# Host: Little-endian Alpha running Linux
-		NATDEPFILES="${NATDEPFILES} alpha-linux-nat.o"
+		NATDEPFILES="${NATDEPFILES} linux-nat-trad.o alpha-linux-nat.o"
 		# doublest.c currently assumes some properties of FP arithmetic
 		# on the host which require this.
 		MH_CFLAGS='-mieee'
@@ -228,7 +228,8 @@ case ${gdb_host} in
 	    aarch64)
 		#  Host: AArch64 based machine running GNU/Linux
 		NATDEPFILES="${NATDEPFILES} aarch64-linux-nat.o \
-		aarch32-linux-nat.o aarch64-linux-hw-point.o aarch64-linux.o"
+		aarch32-linux-nat.o aarch64-linux-hw-point.o aarch64-linux.o \
+		aarch64-sve-linux-ptrace.o"
 		;;
 	    arm)
 		# Host: ARM based machine running GNU/Linux
@@ -255,8 +256,8 @@ case ${gdb_host} in
 		;;
 	    mips)
 		# Host: Linux/MIPS
-		NATDEPFILES="${NATDEPFILES} mips-linux-nat.o \
-		mips-linux-watch.o"
+		NATDEPFILES="${NATDEPFILES} linux-nat-trad.o \
+		mips-linux-nat.o mips-linux-watch.o"
 		;;
 	    pa)
 		# Host: Hewlett-Packard PA-RISC machine, running Linux
@@ -264,7 +265,7 @@ case ${gdb_host} in
 		;;
 	    powerpc)
 		# Host: PowerPC, running Linux
-		NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o"
+		NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o ppc-linux.o"
 		;;
 	    s390)
 		# Host: S390, running Linux
@@ -410,10 +411,6 @@ case ${gdb_host} in
 		NATDEPFILES="${NATDEPFILES} m68k-bsd-nat.o bsd-kvm.o"
 		LOADLIBES='-lkvm'
 		;;
-	    m88k)
-		# Host: OpenBSD/m88k
-		NATDEPFILES="${NATDEPFILES} m88k-bsd-nat.o"
-		;;
 	    pa)
 		# Host: OpenBSD/hppa
 		NATDEPFILES="${NATDEPFILES} obsd-nat.o hppa-obsd-nat.o"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/configure.tgt ./gdb/configure.tgt
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/configure.tgt	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/configure.tgt	2018-07-10 02:06:13.000000000 +0000
@@ -29,6 +29,7 @@ case $targ in
  hppa*-*-hpux* | \
  ia64-*-hpux* | \
  *-*-vxworks* | \
+ mt-*-* | \
  null)
     echo "*** Configuration $targ is obsolete." >&2
     echo "*** Support has been REMOVED." >&2
@@ -36,8 +37,9 @@ case $targ in
     ;;
 esac
 
-i386_tobjs="i386-tdep.o arch/i386.o i387-tdep.o"
-amd64_tobjs="amd64-tdep.o arch/amd64.o"
+x86_tobjs="x86-tdep.o"
+i386_tobjs="i386-tdep.o arch/i386.o i387-tdep.o ${x86_tobjs}"
+amd64_tobjs="amd64-tdep.o arch/amd64.o ${x86_tobjs}"
 
 # Here are three sections to get a list of target specific object
 # files according to target triplet $TARG.
@@ -371,11 +373,6 @@ m68*-*-openbsd*)
 	gdb_target_obs="m68k-tdep.o m68k-bsd-tdep.o"
 	;;
 
-m88*-*-openbsd*)
-	# Target: OpenBSD/m88k
-	gdb_target_obs="m88k-tdep.o"
-	;;
-
 mep-*-*)
 	# Target: Toshiba Media Processor (MEP)
 	gdb_target_obs="mep-tdep.o"
@@ -442,11 +439,6 @@ msp430*-*-elf)
 	gdb_sim=../sim/msp430/libsim.a
 	;;
 
-mt-*-*)
-	# Target: Morpho Technologies ms1 processor
-	gdb_target_obs="mt-tdep.o"
-	;;
-
 nds32*-*-elf)
 	# Target: AndesTech NDS32 core
 	gdb_target_obs="nds32-tdep.o"
@@ -500,7 +492,8 @@ powerpc*-*-linux*)
 			spu-multiarch.o \
 			glibc-tdep.o symfile-mem.o linux-tdep.o \
 			ravenscar-thread.o ppc-ravenscar-thread.o \
-			linux-record.o "
+			linux-record.o \
+			arch/ppc-linux-common.o"
 	gdb_sim=../sim/ppc/libsim.a
 	build_gdbserver=yes
 	;;
@@ -519,11 +512,16 @@ powerpc*-*-*)
 
 s390*-*-linux*)
 	# Target: S390 running Linux
-	gdb_target_obs="s390-linux-tdep.o solib-svr4.o linux-tdep.o \
-			linux-record.o symfile-mem.o"
+	gdb_target_obs="s390-linux-tdep.o s390-tdep.o solib-svr4.o \
+			linux-tdep.o linux-record.o symfile-mem.o"
 	build_gdbserver=yes
 	;;
 
+riscv*-*-*)
+	# Target: RISC-V architecture
+	gdb_target_obs="riscv-tdep.o"
+	;;
+
 rl78-*-elf)
 	# Target: Renesas rl78
 	gdb_target_obs="rl78-tdep.o"
@@ -544,7 +542,7 @@ score-*-*)
 
 sh*-*-linux*)
 	# Target: GNU/Linux Super-H
-	gdb_target_obs="sh-tdep.o sh64-tdep.o sh-linux-tdep.o \
+	gdb_target_obs="sh-tdep.o sh-linux-tdep.o \
 			solib-svr4.o symfile-mem.o \
 			glibc-tdep.o linux-tdep.o"
 	gdb_sim=../sim/sh/libsim.a
@@ -557,16 +555,11 @@ sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
 	;;
 sh*-*-openbsd*)
 	# Target: OpenBSD/sh
-	gdb_target_obs="sh-tdep.o sh64-tdep.o sh-nbsd-tdep.o"
-	;;
-sh64-*-elf*)
-	# Target: Renesas/Super-H 64 bit with simulator
-	gdb_target_obs="sh-tdep.o sh64-tdep.o"
-	gdb_sim=../sim/sh64/libsim.a
+	gdb_target_obs="sh-tdep.o sh-nbsd-tdep.o"
 	;;
 sh*)
 	# Target: Embedded Renesas Super-H processor
-	gdb_target_obs="sh-tdep.o sh64-tdep.o"
+	gdb_target_obs="sh-tdep.o"
 	gdb_sim=../sim/sh/libsim.a
 	;;
 
@@ -739,7 +732,7 @@ x86_64-*-openbsd*)
 x86_64-*-rtems*)
 	gdb_target_obs="${amd64_tobjs} ${i386_tobjs} i386-bsd-tdep.o"
 	;;
-xtensa*-*-linux*)	gdb_target=linux
+xtensa*-*-linux*)
 	# Target: GNU/Linux Xtensa
 	gdb_target_obs="xtensa-linux-tdep.o symfile-mem.o linux-tdep.o"
 	build_gdbserver=yes
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/contrib/gdb-add-index.sh ./gdb/contrib/gdb-add-index.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/contrib/gdb-add-index.sh	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/contrib/gdb-add-index.sh	2018-07-10 02:06:13.000000000 +0000
@@ -23,8 +23,14 @@ OBJCOPY=${OBJCOPY:=objcopy}
 
 myname="${0##*/}"
 
+dwarf5=""
+if [ "$1" = "-dwarf-5" ]; then
+    dwarf5="$1"
+    shift
+fi
+
 if test $# != 1; then
-    echo "usage: $myname FILE" 1>&2
+    echo "usage: $myname [-dwarf-5] FILE" 1>&2
     exit 1
 fi
 
@@ -48,7 +54,7 @@ rm -f $index4 $index5 $debugstr $debugst
 trap "rm -f $index4 $index5 $debugstr $debugstrmerge $debugstrerr" 0
 
 $GDB --batch -nx -iex 'set auto-load no' \
-    -ex "file $file" -ex "save gdb-index $dir" || {
+    -ex "file $file" -ex "save gdb-index $dwarf5 $dir" || {
     # Just in case.
     status=$?
     echo "$myname: gdb error generating index for $file" 1>&2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/corefile.c ./gdb/corefile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/corefile.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/corefile.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,7 +30,7 @@
 #include "dis-asm.h"
 #include <sys/stat.h>
 #include "completer.h"
-#include "observer.h"
+#include "observable.h"
 #include "cli/cli-utils.h"
 
 /* You can have any number of hooks for `exec_file_command' command to
@@ -49,29 +49,6 @@ static hook_type *exec_file_extra_hooks;
 						   hooks.  */
 static int exec_file_hook_count = 0;		/* Size of array.  */
 
-/* Binary file diddling handle for the core file.  */
-
-bfd *core_bfd = NULL;
-
-/* corelow.c target.  It is never NULL after GDB initialization.  */
-
-struct target_ops *core_target;
-
-
-/* Backward compatability with old way of specifying core files.  */
-
-void
-core_file_command (const char *filename, int from_tty)
-{
-  dont_repeat ();		/* Either way, seems bogus.  */
-
-  gdb_assert (core_target != NULL);
-
-  if (!filename)
-    (core_target->to_detach) (core_target, filename, from_tty);
-  else
-    (core_target->to_open) (filename, from_tty);
-}
 
 
 /* If there are two or more functions that wish to hook into
@@ -237,8 +214,7 @@ read_memory_object (enum target_object o
       enum target_xfer_status status;
       ULONGEST xfered_len;
 
-      status = target_xfer_partial (current_target.beneath,
-				    object, NULL,
+      status = target_xfer_partial (current_top_target (), object, NULL,
 				    myaddr + xfered, NULL,
 				    memaddr + xfered, len - xfered,
 				    &xfered_len);
@@ -408,7 +384,7 @@ write_memory_with_notification (CORE_ADD
 				ssize_t len)
 {
   write_memory (memaddr, myaddr, len);
-  observer_notify_memory_changed (current_inferior (), memaddr, len, myaddr);
+  gdb::observers::memory_changed.notify (current_inferior (), memaddr, len, myaddr);
 }
 
 /* Store VALUE at ADDR in the inferior as a LEN-byte unsigned
@@ -509,6 +485,7 @@ _initialize_core (void)
 
   c = add_cmd ("core-file", class_files, core_file_command, _("\
 Use FILE as core dump for examining memory and registers.\n\
+Usage: core-file FILE\n\
 No arg means have no core file.  This command has been superseded by the\n\
 `target core' and `detach' commands."), &cmdlist);
   set_cmd_completer (c, filename_completer);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/corelow.c ./gdb/corelow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/corelow.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/corelow.c	2018-07-10 02:06:13.000000000 +0000
@@ -50,46 +50,118 @@
 #define O_LARGEFILE 0
 #endif
 
-/* List of all available core_fns.  On gdb startup, each core file
-   register reader calls deprecated_add_core_fns() to register
-   information on each core format it is prepared to read.  */
+static core_fns *sniff_core_bfd (gdbarch *core_gdbarch,
+				 bfd *abfd);
 
-static struct core_fns *core_file_fns = NULL;
+/* The core file target.  */
 
-/* The core_fns for a core file handler that is prepared to read the
-   core file currently open on core_bfd.  */
+static const target_info core_target_info = {
+  "core",
+  N_("Local core dump file"),
+  N_("Use a core file as a target.  Specify the filename of the core file.")
+};
 
-static struct core_fns *core_vec = NULL;
+class core_target final : public target_ops
+{
+public:
+  core_target ();
+  ~core_target () override;
+
+  const target_info &info () const override
+  { return core_target_info; }
+
+  void close () override;
+  void detach (inferior *, int) override;
+  void fetch_registers (struct regcache *, int) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+  void files_info () override;
+
+  bool thread_alive (ptid_t ptid) override;
+  const struct target_desc *read_description () override;
+
+  const char *pid_to_str (ptid_t) override;
+
+  const char *thread_name (struct thread_info *) override;
+
+  bool has_memory () override;
+  bool has_stack () override;
+  bool has_registers () override;
+  bool info_proc (const char *, enum info_proc_what) override;
+
+  /* A few helpers.  */
+
+  /* Getter, see variable definition.  */
+  struct gdbarch *core_gdbarch ()
+  {
+    return m_core_gdbarch;
+  }
+
+  /* See definition.  */
+  void get_core_register_section (struct regcache *regcache,
+				  const struct regset *regset,
+				  const char *name,
+				  int min_size,
+				  int which,
+				  const char *human_name,
+				  bool required);
+
+private: /* per-core data */
+
+  /* The core's section table.  Note that these target sections are
+     *not* mapped in the current address spaces' set of target
+     sections --- those should come only from pure executable or
+     shared library bfds.  The core bfd sections are an implementation
+     detail of the core target, just like ptrace is for unix child
+     targets.  */
+  target_section_table m_core_section_table {};
+
+  /* The core_fns for a core file handler that is prepared to read the
+     core file currently open on core_bfd.  */
+  core_fns *m_core_vec = NULL;
+
+  /* FIXME: kettenis/20031023: Eventually this field should
+     disappear.  */
+  struct gdbarch *m_core_gdbarch = NULL;
+};
 
-/* FIXME: kettenis/20031023: Eventually this variable should
-   disappear.  */
+core_target::core_target ()
+{
+  to_stratum = process_stratum;
 
-static struct gdbarch *core_gdbarch = NULL;
+  m_core_gdbarch = gdbarch_from_bfd (core_bfd);
 
-/* Per-core data.  Currently, only the section table.  Note that these
-   target sections are *not* mapped in the current address spaces' set
-   of target sections --- those should come only from pure executable
-   or shared library bfds.  The core bfd sections are an
-   implementation detail of the core target, just like ptrace is for
-   unix child targets.  */
-static struct target_section_table *core_data;
+  /* Find a suitable core file handler to munch on core_bfd */
+  m_core_vec = sniff_core_bfd (m_core_gdbarch, core_bfd);
 
-static void core_files_info (struct target_ops *);
+  /* Find the data section */
+  if (build_section_table (core_bfd,
+			   &m_core_section_table.sections,
+			   &m_core_section_table.sections_end))
+    error (_("\"%s\": Can't find sections: %s"),
+	   bfd_get_filename (core_bfd), bfd_errmsg (bfd_get_error ()));
+}
 
-static struct core_fns *sniff_core_bfd (bfd *);
+core_target::~core_target ()
+{
+  xfree (m_core_section_table.sections);
+}
 
-static int gdb_check_format (bfd *);
+/* List of all available core_fns.  On gdb startup, each core file
+   register reader calls deprecated_add_core_fns() to register
+   information on each core format it is prepared to read.  */
 
-static void core_close (struct target_ops *self);
+static struct core_fns *core_file_fns = NULL;
 
-static void core_close_cleanup (void *ignore);
+static int gdb_check_format (bfd *);
 
 static void add_to_thread_list (bfd *, asection *, void *);
 
-static void init_core_ops (void);
-
-static struct target_ops core_ops;
-
 /* An arbitrary identifier for the core inferior.  */
 #define CORELOW_PID 1
 
@@ -123,7 +195,7 @@ default_core_sniffer (struct core_fns *o
    selected.  */
 
 static struct core_fns *
-sniff_core_bfd (bfd *abfd)
+sniff_core_bfd (struct gdbarch *core_gdbarch, bfd *abfd)
 {
   struct core_fns *cf;
   struct core_fns *yummy = NULL;
@@ -181,42 +253,27 @@ gdb_check_format (bfd *abfd)
   return (0);
 }
 
-/* Discard all vestiges of any previous core file and mark data and
-   stack spaces as empty.  */
+/* Close the core target.  */
 
-static void
-core_close (struct target_ops *self)
+void
+core_target::close ()
 {
   if (core_bfd)
     {
-      int pid = ptid_get_pid (inferior_ptid);
       inferior_ptid = null_ptid;    /* Avoid confusion from thread
 				       stuff.  */
-      if (pid != 0)
-	exit_inferior_silent (pid);
+      exit_inferior_silent (current_inferior ());
 
       /* Clear out solib state while the bfd is still open.  See
          comments in clear_solib in solib.c.  */
       clear_solib ();
 
-      if (core_data)
-	{
-	  xfree (core_data->sections);
-	  xfree (core_data);
-	  core_data = NULL;
-	}
-
-      gdb_bfd_unref (core_bfd);
-      core_bfd = NULL;
+      current_program_space->cbfd.reset (nullptr);
     }
-  core_vec = NULL;
-  core_gdbarch = NULL;
-}
 
-static void
-core_close_cleanup (void *ignore)
-{
-  core_close (NULL);
+  /* Core targets are heap-allocated (see core_target_open), so here
+     we delete ourselves.  */
+  delete this;
 }
 
 /* Look for sections whose names start with `.reg/' so that we can
@@ -253,7 +310,7 @@ add_to_thread_list (bfd *abfd, asection 
       inf->fake_pid_p = fake_pid_p;
     }
 
-  ptid = ptid_build (pid, lwpid, 0);
+  ptid = ptid_t (pid, lwpid, 0);
 
   add_thread (ptid);
 
@@ -264,10 +321,40 @@ add_to_thread_list (bfd *abfd, asection 
     inferior_ptid = ptid;			/* Yes, make it current.  */
 }
 
-/* This routine opens and sets up the core file bfd.  */
+/* Issue a message saying we have no core to debug, if FROM_TTY.  */
 
 static void
-core_open (const char *arg, int from_tty)
+maybe_say_no_core_file_now (int from_tty)
+{
+  if (from_tty)
+    printf_filtered (_("No core file now.\n"));
+}
+
+/* Backward compatability with old way of specifying core files.  */
+
+void
+core_file_command (const char *filename, int from_tty)
+{
+  dont_repeat ();		/* Either way, seems bogus.  */
+
+  if (filename == NULL)
+    {
+      if (core_bfd != NULL)
+	{
+	  target_detach (current_inferior (), from_tty);
+	  gdb_assert (core_bfd == NULL);
+	}
+      else
+	maybe_say_no_core_file_now (from_tty);
+    }
+  else
+    core_target_open (filename, from_tty);
+}
+
+/* See gdbcore.h.  */
+
+void
+core_target_open (const char *arg, int from_tty)
 {
   const char *p;
   int siggy;
@@ -316,29 +403,15 @@ core_open (const char *arg, int from_tty
 	     filename.get (), bfd_errmsg (bfd_get_error ()));
     }
 
-  /* Looks semi-reasonable.  Toss the old core file and work on the
-     new.  */
+  current_program_space->cbfd = std::move (temp_bfd);
 
-  unpush_target (&core_ops);
-  core_bfd = temp_bfd.release ();
-  old_chain = make_cleanup (core_close_cleanup, 0 /*ignore*/);
+  core_target *target = new core_target ();
 
-  core_gdbarch = gdbarch_from_bfd (core_bfd);
-
-  /* Find a suitable core file handler to munch on core_bfd */
-  core_vec = sniff_core_bfd (core_bfd);
+  /* Own the target until it is successfully pushed.  */
+  target_ops_up target_holder (target);
 
   validate_files ();
 
-  core_data = XCNEW (struct target_section_table);
-
-  /* Find the data section */
-  if (build_section_table (core_bfd,
-			   &core_data->sections,
-			   &core_data->sections_end))
-    error (_("\"%s\": Can't find sections: %s"),
-	   bfd_get_filename (core_bfd), bfd_errmsg (bfd_get_error ()));
-
   /* If we have no exec file, try to set the architecture from the
      core file.  We don't do this unconditionally since an exec file
      typically contains more information that helps us determine the
@@ -346,8 +419,8 @@ core_open (const char *arg, int from_tty
   if (!exec_bfd)
     set_gdbarch_from_file (core_bfd);
 
-  push_target (&core_ops);
-  discard_cleanups (old_chain);
+  push_target (target);
+  target_holder.release ();
 
   /* Do this before acknowledging the inferior, so if
      post_create_inferior throws (can happen easilly if you're loading
@@ -371,7 +444,7 @@ core_open (const char *arg, int from_tty
   bfd_map_over_sections (core_bfd, add_to_thread_list,
 			 bfd_get_section_by_name (core_bfd, ".reg"));
 
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     {
       /* Either we found no .reg/NN section, and hence we have a
 	 non-threaded core (single-threaded, from gdb's perspective),
@@ -379,19 +452,19 @@ core_open (const char *arg, int from_tty
 	 which was the "main" thread.  The latter case shouldn't
 	 usually happen, but we're dealing with input here, which can
 	 always be broken in different ways.  */
-      struct thread_info *thread = first_thread_of_process (-1);
+      thread_info *thread = first_thread_of_inferior (current_inferior ());
 
       if (thread == NULL)
 	{
 	  inferior_appeared (current_inferior (), CORELOW_PID);
-	  inferior_ptid = pid_to_ptid (CORELOW_PID);
+	  inferior_ptid = ptid_t (CORELOW_PID);
 	  add_thread_silent (inferior_ptid);
 	}
       else
-	switch_to_thread (thread->ptid);
+	switch_to_thread (thread);
     }
 
-  post_create_inferior (&core_ops, from_tty);
+  post_create_inferior (target, from_tty);
 
   /* Now go through the target stack looking for threads since there
      may be a thread_stratum target loaded on top of target core by
@@ -418,6 +491,8 @@ core_open (const char *arg, int from_tty
   siggy = bfd_core_file_failing_signal (core_bfd);
   if (siggy > 0)
     {
+      gdbarch *core_gdbarch = target->core_gdbarch ();
+
       /* If we don't have a CORE_GDBARCH to work with, assume a native
 	 core (map gdb_signal from host signals).  If we do have
 	 CORE_GDBARCH to work with, but no gdb_signal_from_target
@@ -463,20 +538,21 @@ core_open (const char *arg, int from_tty
     }
 }
 
-static void
-core_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+core_target::detach (inferior *inf, int from_tty)
 {
-  if (args)
-    error (_("Too many arguments"));
-  unpush_target (ops);
+  /* Note that 'this' is dangling after this call.  unpush_target
+     closes the target, and our close implementation deletes
+     'this'.  */
+  unpush_target (this);
+
   reinit_frame_cache ();
-  if (from_tty)
-    printf_filtered (_("No core file now.\n"));
+  maybe_say_no_core_file_now (from_tty);
 }
 
 /* Try to retrieve registers from a section in core_bfd, and supply
-   them to core_vec->core_read_registers, as the register set numbered
-   WHICH.
+   them to m_core_vec->core_read_registers, as the register set
+   numbered WHICH.
 
    If ptid's lwp member is zero, do the single-threaded
    thing: look for a section named NAME.  If ptid's lwp
@@ -487,18 +563,17 @@ core_detach (struct target_ops *ops, con
    HUMAN_NAME is a human-readable name for the kind of registers the
    NAME section contains, for use in error messages.
 
-   If REQUIRED is non-zero, print an error if the core file doesn't
-   have a section by the appropriate name.  Otherwise, just do
-   nothing.  */
+   If REQUIRED is true, print an error if the core file doesn't have a
+   section by the appropriate name.  Otherwise, just do nothing.  */
 
-static void
-get_core_register_section (struct regcache *regcache,
-			   const struct regset *regset,
-			   const char *name,
-			   int min_size,
-			   int which,
-			   const char *human_name,
-			   int required)
+void
+core_target::get_core_register_section (struct regcache *regcache,
+					const struct regset *regset,
+					const char *name,
+					int min_size,
+					int which,
+					const char *human_name,
+					bool required)
 {
   struct bfd_section *section;
   bfd_size_type size;
@@ -545,12 +620,19 @@ get_core_register_section (struct regcac
       return;
     }
 
-  gdb_assert (core_vec);
-  core_vec->core_read_registers (regcache, contents, size, which,
-				 ((CORE_ADDR)
-				  bfd_section_vma (core_bfd, section)));
+  gdb_assert (m_core_vec != nullptr);
+  m_core_vec->core_read_registers (regcache, contents, size, which,
+				   ((CORE_ADDR)
+				    bfd_section_vma (core_bfd, section)));
 }
 
+/* Data passed to gdbarch_iterate_over_regset_sections's callback.  */
+struct get_core_registers_cb_data
+{
+  core_target *target;
+  struct regcache *regcache;
+};
+
 /* Callback for get_core_registers that handles a single core file
    register note section. */
 
@@ -559,12 +641,12 @@ get_core_registers_cb (const char *sect_
 		       const struct regset *regset,
 		       const char *human_name, void *cb_data)
 {
-  struct regcache *regcache = (struct regcache *) cb_data;
-  int required = 0;
+  auto *data = (get_core_registers_cb_data *) cb_data;
+  bool required = false;
 
   if (strcmp (sect_name, ".reg") == 0)
     {
-      required = 1;
+      required = true;
       if (human_name == NULL)
 	human_name = "general-purpose";
     }
@@ -576,8 +658,8 @@ get_core_registers_cb (const char *sect_
 
   /* The 'which' parameter is only used when no regset is provided.
      Thus we just set it to -1. */
-  get_core_register_section (regcache, regset, sect_name,
-			     size, -1, human_name, required);
+  data->target->get_core_register_section (data->regcache, regset, sect_name,
+					   size, -1, human_name, required);
 }
 
 /* Get the registers out of a core file.  This is the machine-
@@ -587,15 +669,15 @@ get_core_registers_cb (const char *sect_
 
 /* We just get all the registers, so we don't use regno.  */
 
-static void
-get_core_registers (struct target_ops *ops,
-		    struct regcache *regcache, int regno)
+void
+core_target::fetch_registers (struct regcache *regcache, int regno)
 {
   int i;
   struct gdbarch *gdbarch;
 
-  if (!(core_gdbarch && gdbarch_iterate_over_regset_sections_p (core_gdbarch))
-      && (core_vec == NULL || core_vec->core_read_registers == NULL))
+  if (!(m_core_gdbarch != nullptr
+	&& gdbarch_iterate_over_regset_sections_p (m_core_gdbarch))
+      && (m_core_vec == NULL || m_core_vec->core_read_registers == NULL))
     {
       fprintf_filtered (gdb_stderr,
 		     "Can't fetch registers from this type of core file\n");
@@ -604,9 +686,12 @@ get_core_registers (struct target_ops *o
 
   gdbarch = regcache->arch ();
   if (gdbarch_iterate_over_regset_sections_p (gdbarch))
-    gdbarch_iterate_over_regset_sections (gdbarch,
-					  get_core_registers_cb,
-					  (void *) regcache, NULL);
+    {
+      get_core_registers_cb_data data = { this, regcache };
+      gdbarch_iterate_over_regset_sections (gdbarch,
+					    get_core_registers_cb,
+					    (void *) &data, NULL);
+    }
   else
     {
       get_core_register_section (regcache, NULL,
@@ -617,14 +702,14 @@ get_core_registers (struct target_ops *o
 
   /* Mark all registers not found in the core as unavailable.  */
   for (i = 0; i < gdbarch_num_regs (regcache->arch ()); i++)
-    if (regcache_register_status (regcache, i) == REG_UNKNOWN)
-      regcache_raw_supply (regcache, i, NULL);
+    if (regcache->get_register_status (i) == REG_UNKNOWN)
+      regcache->raw_supply (i, NULL);
 }
 
-static void
-core_files_info (struct target_ops *t)
+void
+core_target::files_info ()
 {
-  print_section_info (core_data, core_bfd);
+  print_section_info (&m_core_section_table, core_bfd);
 }
 
 struct spuid_list
@@ -657,20 +742,20 @@ add_to_spuid_list (bfd *abfd, asection *
   list->pos += 4;
 }
 
-static enum target_xfer_status
-core_xfer_partial (struct target_ops *ops, enum target_object object,
-		   const char *annex, gdb_byte *readbuf,
-		   const gdb_byte *writebuf, ULONGEST offset,
-		   ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+core_target::xfer_partial (enum target_object object, const char *annex,
+			   gdb_byte *readbuf, const gdb_byte *writebuf,
+			   ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 {
   switch (object)
     {
     case TARGET_OBJECT_MEMORY:
-      return section_table_xfer_memory_partial (readbuf, writebuf,
-						offset, len, xfered_len,
-						core_data->sections,
-						core_data->sections_end,
-						NULL);
+      return (section_table_xfer_memory_partial
+	      (readbuf, writebuf,
+	       offset, len, xfered_len,
+	       m_core_section_table.sections,
+	       m_core_section_table.sections_end,
+	       NULL));
 
     case TARGET_OBJECT_AUXV:
       if (readbuf)
@@ -743,14 +828,14 @@ core_xfer_partial (struct target_ops *op
       return TARGET_XFER_E_IO;
 
     case TARGET_OBJECT_LIBRARIES:
-      if (core_gdbarch
-	  && gdbarch_core_xfer_shared_libraries_p (core_gdbarch))
+      if (m_core_gdbarch != nullptr
+	  && gdbarch_core_xfer_shared_libraries_p (m_core_gdbarch))
 	{
 	  if (writebuf)
 	    return TARGET_XFER_E_IO;
 	  else
 	    {
-	      *xfered_len = gdbarch_core_xfer_shared_libraries (core_gdbarch,
+	      *xfered_len = gdbarch_core_xfer_shared_libraries (m_core_gdbarch,
 								readbuf,
 								offset, len);
 
@@ -763,15 +848,15 @@ core_xfer_partial (struct target_ops *op
       /* FALL THROUGH */
 
     case TARGET_OBJECT_LIBRARIES_AIX:
-      if (core_gdbarch
-	  && gdbarch_core_xfer_shared_libraries_aix_p (core_gdbarch))
+      if (m_core_gdbarch != nullptr
+	  && gdbarch_core_xfer_shared_libraries_aix_p (m_core_gdbarch))
 	{
 	  if (writebuf)
 	    return TARGET_XFER_E_IO;
 	  else
 	    {
 	      *xfered_len
-		= gdbarch_core_xfer_shared_libraries_aix (core_gdbarch,
+		= gdbarch_core_xfer_shared_libraries_aix (m_core_gdbarch,
 							  readbuf, offset,
 							  len);
 
@@ -844,10 +929,10 @@ core_xfer_partial (struct target_ops *op
     case TARGET_OBJECT_SIGNAL_INFO:
       if (readbuf)
 	{
-	  if (core_gdbarch
-	      && gdbarch_core_xfer_siginfo_p (core_gdbarch))
+	  if (m_core_gdbarch != nullptr
+	      && gdbarch_core_xfer_siginfo_p (m_core_gdbarch))
 	    {
-	      LONGEST l = gdbarch_core_xfer_siginfo  (core_gdbarch, readbuf,
+	      LONGEST l = gdbarch_core_xfer_siginfo  (m_core_gdbarch, readbuf,
 						      offset, len);
 
 	      if (l >= 0)
@@ -863,35 +948,13 @@ core_xfer_partial (struct target_ops *op
       return TARGET_XFER_E_IO;
 
     default:
-      return ops->beneath->to_xfer_partial (ops->beneath, object,
-					    annex, readbuf,
-					    writebuf, offset, len,
-					    xfered_len);
+      return this->beneath ()->xfer_partial (object, annex, readbuf,
+					     writebuf, offset, len,
+					     xfered_len);
     }
 }
 
 
-/* If mourn is being called in all the right places, this could be say
-   `gdb internal error' (since generic_mourn calls
-   breakpoint_init_inferior).  */
-
-static int
-ignore (struct target_ops *ops, struct gdbarch *gdbarch,
-	struct bp_target_info *bp_tgt)
-{
-  return 0;
-}
-
-/* Implement the to_remove_breakpoint method.  */
-
-static int
-core_remove_breakpoint (struct target_ops *ops, struct gdbarch *gdbarch,
-			struct bp_target_info *bp_tgt,
-			enum remove_bp_reason reason)
-{
-  return 0;
-}
-
 
 /* Okay, let's be honest: threads gleaned from a core file aren't
    exactly lively, are they?  On the other hand, if we don't claim
@@ -899,35 +962,34 @@ core_remove_breakpoint (struct target_op
    to appear in an "info thread" command, which is quite a useful
    behaviour.
  */
-static int
-core_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+core_target::thread_alive (ptid_t ptid)
 {
-  return 1;
+  return true;
 }
 
 /* Ask the current architecture what it knows about this core file.
    That will be used, in turn, to pick a better architecture.  This
    wrapper could be avoided if targets got a chance to specialize
-   core_ops.  */
+   core_target.  */
 
-static const struct target_desc *
-core_read_description (struct target_ops *target)
+const struct target_desc *
+core_target::read_description ()
 {
-  if (core_gdbarch && gdbarch_core_read_description_p (core_gdbarch))
+  if (m_core_gdbarch && gdbarch_core_read_description_p (m_core_gdbarch))
     {
       const struct target_desc *result;
 
-      result = gdbarch_core_read_description (core_gdbarch, 
-					      target, core_bfd);
+      result = gdbarch_core_read_description (m_core_gdbarch, this, core_bfd);
       if (result != NULL)
 	return result;
     }
 
-  return target->beneath->to_read_description (target->beneath);
+  return this->beneath ()->read_description ();
 }
 
-static const char *
-core_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+core_target::pid_to_str (ptid_t ptid)
 {
   static char buf[64];
   struct inferior *inf;
@@ -935,17 +997,17 @@ core_pid_to_str (struct target_ops *ops,
 
   /* The preferred way is to have a gdbarch/OS specific
      implementation.  */
-  if (core_gdbarch
-      && gdbarch_core_pid_to_str_p (core_gdbarch))
-    return gdbarch_core_pid_to_str (core_gdbarch, ptid);
+  if (m_core_gdbarch != nullptr
+      && gdbarch_core_pid_to_str_p (m_core_gdbarch))
+    return gdbarch_core_pid_to_str (m_core_gdbarch, ptid);
 
   /* Otherwise, if we don't have one, we'll just fallback to
      "process", with normal_pid_to_str.  */
 
   /* Try the LWPID field first.  */
-  pid = ptid_get_lwp (ptid);
+  pid = ptid.lwp ();
   if (pid != 0)
-    return normal_pid_to_str (pid_to_ptid (pid));
+    return normal_pid_to_str (ptid_t (pid));
 
   /* Otherwise, this isn't a "threaded" core -- use the PID field, but
      only if it isn't a fake PID.  */
@@ -958,38 +1020,37 @@ core_pid_to_str (struct target_ops *ops,
   return buf;
 }
 
-static const char *
-core_thread_name (struct target_ops *self, struct thread_info *thr)
+const char *
+core_target::thread_name (struct thread_info *thr)
 {
-  if (core_gdbarch
-      && gdbarch_core_thread_name_p (core_gdbarch))
-    return gdbarch_core_thread_name (core_gdbarch, thr);
+  if (m_core_gdbarch != nullptr
+      && gdbarch_core_thread_name_p (m_core_gdbarch))
+    return gdbarch_core_thread_name (m_core_gdbarch, thr);
   return NULL;
 }
 
-static int
-core_has_memory (struct target_ops *ops)
+bool
+core_target::has_memory ()
 {
   return (core_bfd != NULL);
 }
 
-static int
-core_has_stack (struct target_ops *ops)
+bool
+core_target::has_stack ()
 {
   return (core_bfd != NULL);
 }
 
-static int
-core_has_registers (struct target_ops *ops)
+bool
+core_target::has_registers ()
 {
   return (core_bfd != NULL);
 }
 
 /* Implement the to_info_proc method.  */
 
-static void
-core_info_proc (struct target_ops *ops, const char *args,
-		enum info_proc_what request)
+bool
+core_target::info_proc (const char *args, enum info_proc_what request)
 {
   struct gdbarch *gdbarch = get_current_arch ();
 
@@ -997,47 +1058,12 @@ core_info_proc (struct target_ops *ops, 
      method on gdbarch, not 'info_proc'.  */
   if (gdbarch_core_info_proc_p (gdbarch))
     gdbarch_core_info_proc (gdbarch, args, request);
-}
-
-/* Fill in core_ops with its defined operations and properties.  */
 
-static void
-init_core_ops (void)
-{
-  core_ops.to_shortname = "core";
-  core_ops.to_longname = "Local core dump file";
-  core_ops.to_doc =
-    "Use a core file as a target.  Specify the filename of the core file.";
-  core_ops.to_open = core_open;
-  core_ops.to_close = core_close;
-  core_ops.to_detach = core_detach;
-  core_ops.to_fetch_registers = get_core_registers;
-  core_ops.to_xfer_partial = core_xfer_partial;
-  core_ops.to_files_info = core_files_info;
-  core_ops.to_insert_breakpoint = ignore;
-  core_ops.to_remove_breakpoint = core_remove_breakpoint;
-  core_ops.to_thread_alive = core_thread_alive;
-  core_ops.to_read_description = core_read_description;
-  core_ops.to_pid_to_str = core_pid_to_str;
-  core_ops.to_thread_name = core_thread_name;
-  core_ops.to_stratum = process_stratum;
-  core_ops.to_has_memory = core_has_memory;
-  core_ops.to_has_stack = core_has_stack;
-  core_ops.to_has_registers = core_has_registers;
-  core_ops.to_info_proc = core_info_proc;
-  core_ops.to_magic = OPS_MAGIC;
-
-  if (core_target)
-    internal_error (__FILE__, __LINE__, 
-		    _("init_core_ops: core target already exists (\"%s\")."),
-		    core_target->to_longname);
-  core_target = &core_ops;
+  return true;
 }
 
 void
 _initialize_corelow (void)
 {
-  init_core_ops ();
-
-  add_target_with_completer (&core_ops, filename_completer);
+  add_target (core_target_info, core_target_open, filename_completer);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cp-name-parser.c ./gdb/cp-name-parser.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cp-name-parser.c	2018-07-03 02:10:18.000000000 +0000
+++ ./gdb/cp-name-parser.c	2018-07-10 02:10:06.000000000 +0000
@@ -52,7 +52,7 @@
 #define YYSKELETON_NAME "yacc.c"
 
 /* Pure parsers.  */
-#define YYPURE 0
+#define YYPURE 1
 
 /* Push parsers.  */
 #define YYPUSH 0
@@ -68,7 +68,7 @@
 /* Copy the first part of user declarations.  */
 
 /* Line 189 of yacc.c  */
-#line 30 "cp-name-parser.y"
+#line 38 "cp-name-parser.y"
 
 
 #include "defs.h"
@@ -77,17 +77,11 @@
 #include "safe-ctype.h"
 #include "demangle.h"
 #include "cp-support.h"
+#include "c-support.h"
+#include "parser-defs.h"
 
-/* Bison does not make it easy to create a parser without global
-   state, unfortunately.  Here are all the global variables used
-   in this parser.  */
-
-/* LEXPTR is the current pointer into our lex buffer.  PREV_LEXPTR
-   is the start of the last token lexed, only used for diagnostics.
-   ERROR_LEXPTR is the first place an error occurred.  GLOBAL_ERRMSG
-   is the first error message encountered.  */
-
-static const char *lexptr, *prev_lexptr, *error_lexptr, *global_errmsg;
+#define GDB_YY_REMAP_PREFIX cpname
+#include "yy-remap.h"
 
 /* The components built by the parser are allocated ahead of time,
    and cached in this structure.  */
@@ -100,199 +94,10 @@ struct demangle_info {
   struct demangle_component comps[ALLOC_CHUNK];
 };
 
-static struct demangle_info *demangle_info;
-
-static struct demangle_component *
-d_grab (void)
-{
-  struct demangle_info *more;
-
-  if (demangle_info->used >= ALLOC_CHUNK)
-    {
-      if (demangle_info->next == NULL)
-	{
-	  more = XNEW (struct demangle_info);
-	  more->next = NULL;
-	  demangle_info->next = more;
-	}
-      else
-	more = demangle_info->next;
-
-      more->used = 0;
-      demangle_info = more;
-    }
-  return &demangle_info->comps[demangle_info->used++];
-}
-
-/* The parse tree created by the parser is stored here after a successful
-   parse.  */
-
-static struct demangle_component *global_result;
-
-/* Prototypes for helper functions used when constructing the parse
-   tree.  */
-
-static struct demangle_component *d_qualify (struct demangle_component *, int,
-					     int);
-
-static struct demangle_component *d_int_type (int);
-
-static struct demangle_component *d_unary (const char *,
-					   struct demangle_component *);
-static struct demangle_component *d_binary (const char *,
-					    struct demangle_component *,
-					    struct demangle_component *);
-
-/* Flags passed to d_qualify.  */
-
-#define QUAL_CONST 1
-#define QUAL_RESTRICT 2
-#define QUAL_VOLATILE 4
-
-/* Flags passed to d_int_type.  */
-
-#define INT_CHAR	(1 << 0)
-#define INT_SHORT	(1 << 1)
-#define INT_LONG	(1 << 2)
-#define INT_LLONG	(1 << 3)
-
-#define INT_SIGNED	(1 << 4)
-#define INT_UNSIGNED	(1 << 5)
-
-/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
-   as well as gratuitiously global symbol names, so we can have multiple
-   yacc generated parsers in gdb.  Note that these are only the variables
-   produced by yacc.  If other parser generators (bison, byacc, etc) produce
-   additional global names that conflict at link time, then those parser
-   generators need to be fixed instead of adding those names to this list. */
-
-#define	yymaxdepth cpname_maxdepth
-#define	yyparse	cpname_parse
-#define	yylex	cpname_lex
-#define	yyerror	cpname_error
-#define	yylval	cpname_lval
-#define	yychar	cpname_char
-#define	yydebug	cpname_debug
-#define	yypact	cpname_pact	
-#define	yyr1	cpname_r1			
-#define	yyr2	cpname_r2			
-#define	yydef	cpname_def		
-#define	yychk	cpname_chk		
-#define	yypgo	cpname_pgo		
-#define	yyact	cpname_act		
-#define	yyexca	cpname_exca
-#define yyerrflag cpname_errflag
-#define yynerrs	cpname_nerrs
-#define	yyps	cpname_ps
-#define	yypv	cpname_pv
-#define	yys	cpname_s
-#define	yy_yys	cpname_yys
-#define	yystate	cpname_state
-#define	yytmp	cpname_tmp
-#define	yyv	cpname_v
-#define	yy_yyv	cpname_yyv
-#define	yyval	cpname_val
-#define	yylloc	cpname_lloc
-#define yyreds	cpname_reds		/* With YYDEBUG defined */
-#define yytoks	cpname_toks		/* With YYDEBUG defined */
-#define yyname	cpname_name		/* With YYDEBUG defined */
-#define yyrule	cpname_rule		/* With YYDEBUG defined */
-#define yylhs	cpname_yylhs
-#define yylen	cpname_yylen
-#define yydefred cpname_yydefred
-#define yydgoto	cpname_yydgoto
-#define yysindex cpname_yysindex
-#define yyrindex cpname_yyrindex
-#define yygindex cpname_yygindex
-#define yytable	 cpname_yytable
-#define yycheck	 cpname_yycheck
-#define yyss	cpname_yyss
-#define yysslim	cpname_yysslim
-#define yyssp	cpname_yyssp
-#define yystacksize cpname_yystacksize
-#define yyvs	cpname_yyvs
-#define yyvsp	cpname_yyvsp
-
-int yyparse (void);
-static int yylex (void);
-static void yyerror (const char *);
-
-/* Enable yydebug for the stand-alone parser.  */
-#ifdef TEST_CPNAMES
-# define YYDEBUG	1
-#endif
-
-/* Helper functions.  These wrap the demangler tree interface, handle
-   allocation from our global store, and return the allocated component.  */
-
-static struct demangle_component *
-fill_comp (enum demangle_component_type d_type, struct demangle_component *lhs,
-	   struct demangle_component *rhs)
-{
-  struct demangle_component *ret = d_grab ();
-  int i;
-
-  i = cplus_demangle_fill_component (ret, d_type, lhs, rhs);
-  gdb_assert (i);
-
-  return ret;
-}
-
-static struct demangle_component *
-make_operator (const char *name, int args)
-{
-  struct demangle_component *ret = d_grab ();
-  int i;
-
-  i = cplus_demangle_fill_operator (ret, name, args);
-  gdb_assert (i);
-
-  return ret;
-}
-
-static struct demangle_component *
-make_dtor (enum gnu_v3_dtor_kinds kind, struct demangle_component *name)
-{
-  struct demangle_component *ret = d_grab ();
-  int i;
-
-  i = cplus_demangle_fill_dtor (ret, kind, name);
-  gdb_assert (i);
-
-  return ret;
-}
-
-static struct demangle_component *
-make_builtin_type (const char *name)
-{
-  struct demangle_component *ret = d_grab ();
-  int i;
-
-  i = cplus_demangle_fill_builtin_type (ret, name);
-  gdb_assert (i);
-
-  return ret;
-}
-
-static struct demangle_component *
-make_name (const char *name, int len)
-{
-  struct demangle_component *ret = d_grab ();
-  int i;
-
-  i = cplus_demangle_fill_name (ret, name, len);
-  gdb_assert (i);
-
-  return ret;
-}
-
-#define d_left(dc) (dc)->u.s_binary.left
-#define d_right(dc) (dc)->u.s_binary.right
-
 
 
 /* Line 189 of yacc.c  */
-#line 296 "cp-name-parser.c"
+#line 101 "cp-name-parser.c.tmp"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -431,7 +236,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 253 "cp-name-parser.y"
+#line 66 "cp-name-parser.y"
 
     struct demangle_component *comp;
     struct nested {
@@ -453,7 +258,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 457 "cp-name-parser.c"
+#line 262 "cp-name-parser.c.tmp"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -463,9 +268,178 @@ typedef union YYSTYPE
 
 /* Copy the second part of user declarations.  */
 
+/* Line 264 of yacc.c  */
+#line 85 "cp-name-parser.y"
+
+
+struct cpname_state
+{
+  /* LEXPTR is the current pointer into our lex buffer.  PREV_LEXPTR
+     is the start of the last token lexed, only used for diagnostics.
+     ERROR_LEXPTR is the first place an error occurred.  GLOBAL_ERRMSG
+     is the first error message encountered.  */
+
+  const char *lexptr, *prev_lexptr, *error_lexptr, *global_errmsg;
+
+  struct demangle_info *demangle_info;
+
+  /* The parse tree created by the parser is stored here after a
+     successful parse.  */
+
+  struct demangle_component *global_result;
+
+  struct demangle_component *d_grab ();
+
+  /* Helper functions.  These wrap the demangler tree interface,
+     handle allocation from our global store, and return the allocated
+     component.  */
+
+  struct demangle_component *fill_comp (enum demangle_component_type d_type,
+					struct demangle_component *lhs,
+					struct demangle_component *rhs);
+
+  struct demangle_component *make_operator (const char *name, int args);
+
+  struct demangle_component *make_dtor (enum gnu_v3_dtor_kinds kind,
+					struct demangle_component *name);
+
+  struct demangle_component *make_builtin_type (const char *name);
+
+  struct demangle_component *make_name (const char *name, int len);
+
+  struct demangle_component *d_qualify (struct demangle_component *lhs,
+					int qualifiers, int is_method);
+
+  struct demangle_component *d_int_type (int flags);
+
+  struct demangle_component *d_unary (const char *name,
+				      struct demangle_component *lhs);
+
+  struct demangle_component *d_binary (const char *name,
+				       struct demangle_component *lhs,
+				       struct demangle_component *rhs);
+
+  int parse_number (const char *p, int len, int parsed_float, YYSTYPE *lvalp);
+};
+
+struct demangle_component *
+cpname_state::d_grab ()
+{
+  struct demangle_info *more;
+
+  if (demangle_info->used >= ALLOC_CHUNK)
+    {
+      if (demangle_info->next == NULL)
+	{
+	  more = XNEW (struct demangle_info);
+	  more->next = NULL;
+	  demangle_info->next = more;
+	}
+      else
+	more = demangle_info->next;
+
+      more->used = 0;
+      demangle_info = more;
+    }
+  return &demangle_info->comps[demangle_info->used++];
+}
+
+/* Flags passed to d_qualify.  */
+
+#define QUAL_CONST 1
+#define QUAL_RESTRICT 2
+#define QUAL_VOLATILE 4
+
+/* Flags passed to d_int_type.  */
+
+#define INT_CHAR	(1 << 0)
+#define INT_SHORT	(1 << 1)
+#define INT_LONG	(1 << 2)
+#define INT_LLONG	(1 << 3)
+
+#define INT_SIGNED	(1 << 4)
+#define INT_UNSIGNED	(1 << 5)
+
+/* Enable yydebug for the stand-alone parser.  */
+#ifdef TEST_CPNAMES
+# define YYDEBUG	1
+#endif
+
+/* Helper functions.  These wrap the demangler tree interface, handle
+   allocation from our global store, and return the allocated component.  */
+
+struct demangle_component *
+cpname_state::fill_comp (enum demangle_component_type d_type,
+			 struct demangle_component *lhs,
+			 struct demangle_component *rhs)
+{
+  struct demangle_component *ret = d_grab ();
+  int i;
+
+  i = cplus_demangle_fill_component (ret, d_type, lhs, rhs);
+  gdb_assert (i);
+
+  return ret;
+}
+
+struct demangle_component *
+cpname_state::make_operator (const char *name, int args)
+{
+  struct demangle_component *ret = d_grab ();
+  int i;
+
+  i = cplus_demangle_fill_operator (ret, name, args);
+  gdb_assert (i);
+
+  return ret;
+}
+
+struct demangle_component *
+cpname_state::make_dtor (enum gnu_v3_dtor_kinds kind,
+			 struct demangle_component *name)
+{
+  struct demangle_component *ret = d_grab ();
+  int i;
+
+  i = cplus_demangle_fill_dtor (ret, kind, name);
+  gdb_assert (i);
+
+  return ret;
+}
+
+struct demangle_component *
+cpname_state::make_builtin_type (const char *name)
+{
+  struct demangle_component *ret = d_grab ();
+  int i;
+
+  i = cplus_demangle_fill_builtin_type (ret, name);
+  gdb_assert (i);
+
+  return ret;
+}
+
+struct demangle_component *
+cpname_state::make_name (const char *name, int len)
+{
+  struct demangle_component *ret = d_grab ();
+  int i;
+
+  i = cplus_demangle_fill_name (ret, name, len);
+  gdb_assert (i);
+
+  return ret;
+}
+
+#define d_left(dc) (dc)->u.s_binary.left
+#define d_right(dc) (dc)->u.s_binary.right
+
+static int yylex (YYSTYPE *, cpname_state *);
+static void yyerror (cpname_state *, const char *);
+
 
 /* Line 264 of yacc.c  */
-#line 469 "cp-name-parser.c"
+#line 443 "cp-name-parser.c.tmp"
 
 #ifdef short
 # undef short
@@ -831,26 +805,26 @@ static const yytype_int8 yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   367,   367,   371,   373,   375,   380,   381,   388,   397,
-     400,   404,   407,   426,   428,   432,   438,   444,   450,   456,
-     458,   460,   462,   464,   466,   468,   470,   472,   474,   476,
-     478,   480,   482,   484,   486,   488,   490,   492,   494,   496,
-     498,   500,   502,   504,   506,   508,   510,   512,   520,   525,
-     530,   534,   539,   547,   548,   550,   562,   563,   569,   571,
-     572,   574,   577,   578,   581,   582,   586,   588,   591,   595,
-     600,   604,   613,   617,   620,   631,   632,   636,   638,   640,
-     643,   647,   652,   657,   663,   673,   677,   681,   689,   690,
-     693,   695,   697,   701,   702,   709,   711,   713,   715,   717,
-     719,   723,   724,   728,   730,   732,   734,   736,   738,   740,
-     744,   749,   752,   755,   761,   769,   771,   785,   787,   788,
-     790,   793,   795,   796,   798,   801,   803,   805,   807,   812,
-     815,   820,   827,   831,   842,   848,   866,   869,   877,   879,
-     890,   897,   898,   904,   908,   912,   914,   919,   924,   936,
-     940,   944,   952,   957,   966,   970,   975,   980,   984,   990,
-     996,   999,  1006,  1008,  1013,  1017,  1021,  1028,  1044,  1051,
-    1058,  1077,  1081,  1085,  1089,  1093,  1097,  1101,  1105,  1109,
-    1113,  1117,  1121,  1125,  1129,  1133,  1137,  1141,  1146,  1150,
-    1154,  1161,  1165,  1168,  1177,  1186
+       0,   348,   348,   352,   354,   356,   361,   362,   369,   378,
+     385,   389,   392,   411,   413,   417,   423,   429,   435,   441,
+     443,   445,   447,   449,   451,   453,   455,   457,   459,   461,
+     463,   465,   467,   469,   471,   473,   475,   477,   479,   481,
+     483,   485,   487,   489,   491,   493,   495,   497,   505,   510,
+     515,   519,   524,   532,   533,   535,   547,   548,   554,   556,
+     557,   559,   562,   563,   566,   567,   571,   573,   576,   580,
+     585,   589,   598,   602,   605,   616,   617,   621,   623,   625,
+     628,   632,   637,   642,   648,   658,   662,   666,   674,   675,
+     678,   680,   682,   686,   687,   694,   696,   698,   700,   702,
+     704,   708,   709,   713,   715,   717,   719,   721,   723,   725,
+     729,   734,   737,   740,   746,   754,   756,   770,   772,   773,
+     775,   778,   780,   781,   783,   786,   788,   790,   792,   797,
+     800,   805,   812,   816,   827,   833,   851,   854,   862,   864,
+     875,   882,   883,   889,   893,   897,   899,   904,   909,   921,
+     925,   929,   937,   942,   951,   955,   960,   965,   969,   975,
+     981,   984,   991,   993,   998,  1002,  1006,  1013,  1029,  1036,
+    1043,  1062,  1066,  1070,  1074,  1078,  1082,  1086,  1090,  1094,
+    1098,  1102,  1106,  1110,  1114,  1118,  1122,  1126,  1131,  1135,
+    1139,  1146,  1150,  1153,  1162,  1171
 };
 #endif
 
@@ -1361,7 +1335,7 @@ do								\
     }								\
   else								\
     {								\
-      yyerror (YY_("syntax error: cannot back up")); \
+      yyerror (state, YY_("syntax error: cannot back up")); \
       YYERROR;							\
     }								\
 while (YYID (0))
@@ -1416,9 +1390,9 @@ while (YYID (0))
 /* YYLEX -- calling `yylex' with the right arguments.  */
 
 #ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
 #else
-# define YYLEX yylex ()
+# define YYLEX yylex (&yylval, state)
 #endif
 
 /* Enable debugging if requested.  */
@@ -1441,7 +1415,7 @@ do {									  \
     {									  \
       YYFPRINTF (stderr, "%s ", Title);					  \
       yy_symbol_print (stderr,						  \
-		  Type, Value); \
+		  Type, Value, state); \
       YYFPRINTF (stderr, "\n");						  \
     }									  \
 } while (YYID (0))
@@ -1455,17 +1429,19 @@ do {									  \
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
 static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct cpname_state *state)
 #else
 static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+yy_symbol_value_print (yyoutput, yytype, yyvaluep, state)
     FILE *yyoutput;
     int yytype;
     YYSTYPE const * const yyvaluep;
+    struct cpname_state *state;
 #endif
 {
   if (!yyvaluep)
     return;
+  YYUSE (state);
 # ifdef YYPRINT
   if (yytype < YYNTOKENS)
     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
@@ -1487,13 +1463,14 @@ yy_symbol_value_print (yyoutput, yytype,
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
 static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct cpname_state *state)
 #else
 static void
-yy_symbol_print (yyoutput, yytype, yyvaluep)
+yy_symbol_print (yyoutput, yytype, yyvaluep, state)
     FILE *yyoutput;
     int yytype;
     YYSTYPE const * const yyvaluep;
+    struct cpname_state *state;
 #endif
 {
   if (yytype < YYNTOKENS)
@@ -1501,7 +1478,7 @@ yy_symbol_print (yyoutput, yytype, yyval
   else
     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
 
-  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep, state);
   YYFPRINTF (yyoutput, ")");
 }
 
@@ -1544,12 +1521,13 @@ do {								\
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
 static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule, struct cpname_state *state)
 #else
 static void
-yy_reduce_print (yyvsp, yyrule)
+yy_reduce_print (yyvsp, yyrule, state)
     YYSTYPE *yyvsp;
     int yyrule;
+    struct cpname_state *state;
 #endif
 {
   int yynrhs = yyr2[yyrule];
@@ -1563,7 +1541,7 @@ yy_reduce_print (yyvsp, yyrule)
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
 		       &(yyvsp[(yyi + 1) - (yynrhs)])
-		       		       );
+		       		       , state);
       YYFPRINTF (stderr, "\n");
     }
 }
@@ -1571,7 +1549,7 @@ yy_reduce_print (yyvsp, yyrule)
 # define YY_REDUCE_PRINT(Rule)		\
 do {					\
   if (yydebug)				\
-    yy_reduce_print (yyvsp, Rule); \
+    yy_reduce_print (yyvsp, Rule, state); \
 } while (YYID (0))
 
 /* Nonzero means print parse trace.  It is left uninitialized so that
@@ -1822,16 +1800,18 @@ yysyntax_error (char *yyresult, int yyst
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
 static void
-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct cpname_state *state)
 #else
 static void
-yydestruct (yymsg, yytype, yyvaluep)
+yydestruct (yymsg, yytype, yyvaluep, state)
     const char *yymsg;
     int yytype;
     YYSTYPE *yyvaluep;
+    struct cpname_state *state;
 #endif
 {
   YYUSE (yyvaluep);
+  YYUSE (state);
 
   if (!yymsg)
     yymsg = "Deleting";
@@ -1854,21 +1834,13 @@ int yyparse ();
 #endif
 #else /* ! YYPARSE_PARAM */
 #if defined __STDC__ || defined __cplusplus
-int yyparse (void);
+int yyparse (struct cpname_state *state);
 #else
 int yyparse ();
 #endif
 #endif /* ! YYPARSE_PARAM */
 
 
-/* The lookahead symbol.  */
-int yychar;
-
-/* The semantic value of the lookahead symbol.  */
-YYSTYPE yylval;
-
-/* Number of syntax errors so far.  */
-int yynerrs;
 
 
 
@@ -1890,15 +1862,22 @@ yyparse (YYPARSE_PARAM)
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
 int
-yyparse (void)
+yyparse (struct cpname_state *state)
 #else
 int
-yyparse ()
-
+yyparse (state)
+    struct cpname_state *state;
 #endif
 #endif
 {
+/* The lookahead symbol.  */
+int yychar;
 
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+
+    /* Number of syntax errors so far.  */
+    int yynerrs;
 
     int yystate;
     /* Number of tokens to shift before error messages enabled.  */
@@ -2142,28 +2121,28 @@ yyreduce:
         case 2:
 
 /* Line 1455 of yacc.c  */
-#line 368 "cp-name-parser.y"
-    { global_result = (yyvsp[(1) - (1)].comp); }
+#line 349 "cp-name-parser.y"
+    { state->global_result = (yyvsp[(1) - (1)].comp); }
     break;
 
   case 6:
 
 /* Line 1455 of yacc.c  */
-#line 380 "cp-name-parser.y"
+#line 361 "cp-name-parser.y"
     { (yyval.comp) = NULL; }
     break;
 
   case 7:
 
 /* Line 1455 of yacc.c  */
-#line 382 "cp-name-parser.y"
+#line 363 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 8:
 
 /* Line 1455 of yacc.c  */
-#line 389 "cp-name-parser.y"
+#line 370 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].nested).comp;
 			  *(yyvsp[(2) - (2)].nested).last = (yyvsp[(1) - (2)].comp);
 			}
@@ -2172,31 +2151,35 @@ yyreduce:
   case 9:
 
 /* Line 1455 of yacc.c  */
-#line 398 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (3)].comp), (yyvsp[(2) - (3)].nested).comp);
-			  if ((yyvsp[(3) - (3)].comp)) (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(3) - (3)].comp)); }
+#line 379 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME,
+					  (yyvsp[(1) - (3)].comp), (yyvsp[(2) - (3)].nested).comp);
+			  if ((yyvsp[(3) - (3)].comp))
+			    (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME,
+						   (yyval.comp), (yyvsp[(3) - (3)].comp));
+			}
     break;
 
   case 10:
 
 /* Line 1455 of yacc.c  */
-#line 401 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (3)].comp), (yyvsp[(2) - (3)].nested).comp);
-			  if ((yyvsp[(3) - (3)].comp)) (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(3) - (3)].comp)); }
+#line 386 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (3)].comp), (yyvsp[(2) - (3)].nested).comp);
+			  if ((yyvsp[(3) - (3)].comp)) (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 11:
 
 /* Line 1455 of yacc.c  */
-#line 405 "cp-name-parser.y"
+#line 390 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(1) - (2)].nested).comp;
-			  if ((yyvsp[(2) - (2)].comp)) (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(2) - (2)].comp)); }
+			  if ((yyvsp[(2) - (2)].comp)) (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 12:
 
 /* Line 1455 of yacc.c  */
-#line 408 "cp-name-parser.y"
+#line 393 "cp-name-parser.y"
     { if ((yyvsp[(2) - (2)].abstract).last)
 			    {
 			       /* First complete the abstract_declarator's type using
@@ -2207,285 +2190,285 @@ yyreduce:
 			    }
 			  /* If we have an arglist, build a function type.  */
 			  if ((yyvsp[(2) - (2)].abstract).fn.comp)
-			    (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (2)].nested).comp, (yyvsp[(2) - (2)].abstract).fn.comp);
+			    (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (2)].nested).comp, (yyvsp[(2) - (2)].abstract).fn.comp);
 			  else
 			    (yyval.comp) = (yyvsp[(1) - (2)].nested).comp;
-			  if ((yyvsp[(2) - (2)].abstract).start) (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(2) - (2)].abstract).start);
+			  if ((yyvsp[(2) - (2)].abstract).start) (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(2) - (2)].abstract).start);
 			}
     break;
 
   case 13:
 
 /* Line 1455 of yacc.c  */
-#line 427 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp ((enum demangle_component_type) (yyvsp[(1) - (2)].lval), (yyvsp[(2) - (2)].comp), NULL); }
+#line 412 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp ((enum demangle_component_type) (yyvsp[(1) - (2)].lval), (yyvsp[(2) - (2)].comp), NULL); }
     break;
 
   case 14:
 
 /* Line 1455 of yacc.c  */
-#line 429 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE, (yyvsp[(2) - (4)].comp), (yyvsp[(4) - (4)].comp)); }
+#line 414 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE, (yyvsp[(2) - (4)].comp), (yyvsp[(4) - (4)].comp)); }
     break;
 
   case 15:
 
 /* Line 1455 of yacc.c  */
-#line 433 "cp-name-parser.y"
+#line 418 "cp-name-parser.y"
     {
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
-			  (yyval.comp) = make_operator ("new", 3);
+			  (yyval.comp) = state->make_operator ("new", 3);
 			}
     break;
 
   case 16:
 
 /* Line 1455 of yacc.c  */
-#line 439 "cp-name-parser.y"
+#line 424 "cp-name-parser.y"
     {
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
-			  (yyval.comp) = make_operator ("delete ", 1);
+			  (yyval.comp) = state->make_operator ("delete ", 1);
 			}
     break;
 
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 445 "cp-name-parser.y"
+#line 430 "cp-name-parser.y"
     {
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
-			  (yyval.comp) = make_operator ("new[]", 3);
+			  (yyval.comp) = state->make_operator ("new[]", 3);
 			}
     break;
 
   case 18:
 
 /* Line 1455 of yacc.c  */
-#line 451 "cp-name-parser.y"
+#line 436 "cp-name-parser.y"
     {
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
-			  (yyval.comp) = make_operator ("delete[] ", 1);
+			  (yyval.comp) = state->make_operator ("delete[] ", 1);
 			}
     break;
 
   case 19:
 
 /* Line 1455 of yacc.c  */
-#line 457 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("+", 2); }
+#line 442 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("+", 2); }
     break;
 
   case 20:
 
 /* Line 1455 of yacc.c  */
-#line 459 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("-", 2); }
+#line 444 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("-", 2); }
     break;
 
   case 21:
 
 /* Line 1455 of yacc.c  */
-#line 461 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("*", 2); }
+#line 446 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("*", 2); }
     break;
 
   case 22:
 
 /* Line 1455 of yacc.c  */
-#line 463 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("/", 2); }
+#line 448 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("/", 2); }
     break;
 
   case 23:
 
 /* Line 1455 of yacc.c  */
-#line 465 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("%", 2); }
+#line 450 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("%", 2); }
     break;
 
   case 24:
 
 /* Line 1455 of yacc.c  */
-#line 467 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("^", 2); }
+#line 452 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("^", 2); }
     break;
 
   case 25:
 
 /* Line 1455 of yacc.c  */
-#line 469 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("&", 2); }
+#line 454 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("&", 2); }
     break;
 
   case 26:
 
 /* Line 1455 of yacc.c  */
-#line 471 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("|", 2); }
+#line 456 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("|", 2); }
     break;
 
   case 27:
 
 /* Line 1455 of yacc.c  */
-#line 473 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("~", 1); }
+#line 458 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("~", 1); }
     break;
 
   case 28:
 
 /* Line 1455 of yacc.c  */
-#line 475 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("!", 1); }
+#line 460 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("!", 1); }
     break;
 
   case 29:
 
 /* Line 1455 of yacc.c  */
-#line 477 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("=", 2); }
+#line 462 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("=", 2); }
     break;
 
   case 30:
 
 /* Line 1455 of yacc.c  */
-#line 479 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("<", 2); }
+#line 464 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("<", 2); }
     break;
 
   case 31:
 
 /* Line 1455 of yacc.c  */
-#line 481 "cp-name-parser.y"
-    { (yyval.comp) = make_operator (">", 2); }
+#line 466 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator (">", 2); }
     break;
 
   case 32:
 
 /* Line 1455 of yacc.c  */
-#line 483 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ((yyvsp[(2) - (2)].opname), 2); }
+#line 468 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ((yyvsp[(2) - (2)].opname), 2); }
     break;
 
   case 33:
 
 /* Line 1455 of yacc.c  */
-#line 485 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("<<", 2); }
+#line 470 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("<<", 2); }
     break;
 
   case 34:
 
 /* Line 1455 of yacc.c  */
-#line 487 "cp-name-parser.y"
-    { (yyval.comp) = make_operator (">>", 2); }
+#line 472 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator (">>", 2); }
     break;
 
   case 35:
 
 /* Line 1455 of yacc.c  */
-#line 489 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("==", 2); }
+#line 474 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("==", 2); }
     break;
 
   case 36:
 
 /* Line 1455 of yacc.c  */
-#line 491 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("!=", 2); }
+#line 476 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("!=", 2); }
     break;
 
   case 37:
 
 /* Line 1455 of yacc.c  */
-#line 493 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("<=", 2); }
+#line 478 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("<=", 2); }
     break;
 
   case 38:
 
 /* Line 1455 of yacc.c  */
-#line 495 "cp-name-parser.y"
-    { (yyval.comp) = make_operator (">=", 2); }
+#line 480 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator (">=", 2); }
     break;
 
   case 39:
 
 /* Line 1455 of yacc.c  */
-#line 497 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("&&", 2); }
+#line 482 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("&&", 2); }
     break;
 
   case 40:
 
 /* Line 1455 of yacc.c  */
-#line 499 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("||", 2); }
+#line 484 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("||", 2); }
     break;
 
   case 41:
 
 /* Line 1455 of yacc.c  */
-#line 501 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("++", 1); }
+#line 486 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("++", 1); }
     break;
 
   case 42:
 
 /* Line 1455 of yacc.c  */
-#line 503 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("--", 1); }
+#line 488 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("--", 1); }
     break;
 
   case 43:
 
 /* Line 1455 of yacc.c  */
-#line 505 "cp-name-parser.y"
-    { (yyval.comp) = make_operator (",", 2); }
+#line 490 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator (",", 2); }
     break;
 
   case 44:
 
 /* Line 1455 of yacc.c  */
-#line 507 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("->*", 2); }
+#line 492 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("->*", 2); }
     break;
 
   case 45:
 
 /* Line 1455 of yacc.c  */
-#line 509 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("->", 2); }
+#line 494 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("->", 2); }
     break;
 
   case 46:
 
 /* Line 1455 of yacc.c  */
-#line 511 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("()", 2); }
+#line 496 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("()", 2); }
     break;
 
   case 47:
 
 /* Line 1455 of yacc.c  */
-#line 513 "cp-name-parser.y"
-    { (yyval.comp) = make_operator ("[]", 2); }
+#line 498 "cp-name-parser.y"
+    { (yyval.comp) = state->make_operator ("[]", 2); }
     break;
 
   case 48:
 
 /* Line 1455 of yacc.c  */
-#line 521 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_CONVERSION, (yyvsp[(2) - (2)].comp), NULL); }
+#line 506 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_CONVERSION, (yyvsp[(2) - (2)].comp), NULL); }
     break;
 
   case 49:
 
 /* Line 1455 of yacc.c  */
-#line 526 "cp-name-parser.y"
+#line 511 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (2)].nested1).comp;
 			  d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp);
 			  (yyval.nested).last = &d_left ((yyvsp[(2) - (2)].comp));
@@ -2495,7 +2478,7 @@ yyreduce:
   case 50:
 
 /* Line 1455 of yacc.c  */
-#line 531 "cp-name-parser.y"
+#line 516 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (1)].comp);
 			  (yyval.nested).last = &d_left ((yyvsp[(1) - (1)].comp));
 			}
@@ -2504,7 +2487,7 @@ yyreduce:
   case 51:
 
 /* Line 1455 of yacc.c  */
-#line 535 "cp-name-parser.y"
+#line 520 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(2) - (3)].nested1).comp;
 			  d_right ((yyvsp[(2) - (3)].nested1).last) = (yyvsp[(3) - (3)].comp);
 			  (yyval.nested).last = &d_left ((yyvsp[(3) - (3)].comp));
@@ -2514,7 +2497,7 @@ yyreduce:
   case 52:
 
 /* Line 1455 of yacc.c  */
-#line 540 "cp-name-parser.y"
+#line 525 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(2) - (2)].comp);
 			  (yyval.nested).last = &d_left ((yyvsp[(2) - (2)].comp));
 			}
@@ -2523,57 +2506,57 @@ yyreduce:
   case 54:
 
 /* Line 1455 of yacc.c  */
-#line 549 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, (yyvsp[(1) - (4)].comp), (yyvsp[(3) - (4)].nested).comp); }
+#line 534 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_TEMPLATE, (yyvsp[(1) - (4)].comp), (yyvsp[(3) - (4)].nested).comp); }
     break;
 
   case 55:
 
 /* Line 1455 of yacc.c  */
-#line 551 "cp-name-parser.y"
-    { (yyval.comp) = make_dtor (gnu_v3_complete_object_dtor, (yyvsp[(2) - (2)].comp)); }
+#line 536 "cp-name-parser.y"
+    { (yyval.comp) = state->make_dtor (gnu_v3_complete_object_dtor, (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 57:
 
 /* Line 1455 of yacc.c  */
-#line 564 "cp-name-parser.y"
+#line 549 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 58:
 
 /* Line 1455 of yacc.c  */
-#line 570 "cp-name-parser.y"
+#line 555 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(1) - (2)].nested1).comp; d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 60:
 
 /* Line 1455 of yacc.c  */
-#line 573 "cp-name-parser.y"
+#line 558 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(1) - (2)].nested1).comp; d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 65:
 
 /* Line 1455 of yacc.c  */
-#line 583 "cp-name-parser.y"
+#line 568 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 66:
 
 /* Line 1455 of yacc.c  */
-#line 587 "cp-name-parser.y"
+#line 572 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(1) - (2)].nested1).comp; d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 592 "cp-name-parser.y"
-    { (yyval.nested1).comp = fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, (yyvsp[(1) - (2)].comp), NULL);
+#line 577 "cp-name-parser.y"
+    { (yyval.nested1).comp = state->fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, (yyvsp[(1) - (2)].comp), NULL);
 			  (yyval.nested1).last = (yyval.nested1).comp;
 			}
     break;
@@ -2581,9 +2564,9 @@ yyreduce:
   case 69:
 
 /* Line 1455 of yacc.c  */
-#line 596 "cp-name-parser.y"
+#line 581 "cp-name-parser.y"
     { (yyval.nested1).comp = (yyvsp[(1) - (3)].nested1).comp;
-			  d_right ((yyvsp[(1) - (3)].nested1).last) = fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, (yyvsp[(2) - (3)].comp), NULL);
+			  d_right ((yyvsp[(1) - (3)].nested1).last) = state->fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, (yyvsp[(2) - (3)].comp), NULL);
 			  (yyval.nested1).last = d_right ((yyvsp[(1) - (3)].nested1).last);
 			}
     break;
@@ -2591,8 +2574,8 @@ yyreduce:
   case 70:
 
 /* Line 1455 of yacc.c  */
-#line 601 "cp-name-parser.y"
-    { (yyval.nested1).comp = fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, (yyvsp[(1) - (2)].comp), NULL);
+#line 586 "cp-name-parser.y"
+    { (yyval.nested1).comp = state->fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, (yyvsp[(1) - (2)].comp), NULL);
 			  (yyval.nested1).last = (yyval.nested1).comp;
 			}
     break;
@@ -2600,9 +2583,9 @@ yyreduce:
   case 71:
 
 /* Line 1455 of yacc.c  */
-#line 605 "cp-name-parser.y"
+#line 590 "cp-name-parser.y"
     { (yyval.nested1).comp = (yyvsp[(1) - (3)].nested1).comp;
-			  d_right ((yyvsp[(1) - (3)].nested1).last) = fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, (yyvsp[(2) - (3)].comp), NULL);
+			  d_right ((yyvsp[(1) - (3)].nested1).last) = state->fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, (yyvsp[(2) - (3)].comp), NULL);
 			  (yyval.nested1).last = d_right ((yyvsp[(1) - (3)].nested1).last);
 			}
     break;
@@ -2610,24 +2593,24 @@ yyreduce:
   case 72:
 
 /* Line 1455 of yacc.c  */
-#line 614 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, (yyvsp[(1) - (4)].comp), (yyvsp[(3) - (4)].nested).comp); }
+#line 599 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_TEMPLATE, (yyvsp[(1) - (4)].comp), (yyvsp[(3) - (4)].nested).comp); }
     break;
 
   case 73:
 
 /* Line 1455 of yacc.c  */
-#line 618 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, (yyvsp[(1) - (1)].comp), NULL);
+#line 603 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, (yyvsp[(1) - (1)].comp), NULL);
 			(yyval.nested).last = &d_right ((yyval.nested).comp); }
     break;
 
   case 74:
 
 /* Line 1455 of yacc.c  */
-#line 621 "cp-name-parser.y"
+#line 606 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (3)].nested).comp;
-			  *(yyvsp[(1) - (3)].nested).last = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, (yyvsp[(3) - (3)].comp), NULL);
+			  *(yyvsp[(1) - (3)].nested).last = state->fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, (yyvsp[(3) - (3)].comp), NULL);
 			  (yyval.nested).last = &d_right (*(yyvsp[(1) - (3)].nested).last);
 			}
     break;
@@ -2635,7 +2618,7 @@ yyreduce:
   case 76:
 
 /* Line 1455 of yacc.c  */
-#line 633 "cp-name-parser.y"
+#line 618 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].abstract).comp;
 			  *(yyvsp[(2) - (2)].abstract).last = (yyvsp[(1) - (2)].comp);
 			}
@@ -2644,22 +2627,22 @@ yyreduce:
   case 77:
 
 /* Line 1455 of yacc.c  */
-#line 637 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(2) - (2)].comp)); }
+#line 622 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_UNARY, state->make_operator ("&", 1), (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 78:
 
 /* Line 1455 of yacc.c  */
-#line 639 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(3) - (4)].comp)); }
+#line 624 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_UNARY, state->make_operator ("&", 1), (yyvsp[(3) - (4)].comp)); }
     break;
 
   case 80:
 
 /* Line 1455 of yacc.c  */
-#line 644 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(1) - (1)].comp), NULL);
+#line 629 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(1) - (1)].comp), NULL);
 			  (yyval.nested).last = &d_right ((yyval.nested).comp);
 			}
     break;
@@ -2667,9 +2650,9 @@ yyreduce:
   case 81:
 
 /* Line 1455 of yacc.c  */
-#line 648 "cp-name-parser.y"
+#line 633 "cp-name-parser.y"
     { *(yyvsp[(2) - (2)].abstract).last = (yyvsp[(1) - (2)].comp);
-			  (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(2) - (2)].abstract).comp, NULL);
+			  (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(2) - (2)].abstract).comp, NULL);
 			  (yyval.nested).last = &d_right ((yyval.nested).comp);
 			}
     break;
@@ -2677,8 +2660,8 @@ yyreduce:
   case 82:
 
 /* Line 1455 of yacc.c  */
-#line 653 "cp-name-parser.y"
-    { *(yyvsp[(1) - (3)].nested).last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(3) - (3)].comp), NULL);
+#line 638 "cp-name-parser.y"
+    { *(yyvsp[(1) - (3)].nested).last = state->fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(3) - (3)].comp), NULL);
 			  (yyval.nested).comp = (yyvsp[(1) - (3)].nested).comp;
 			  (yyval.nested).last = &d_right (*(yyvsp[(1) - (3)].nested).last);
 			}
@@ -2687,9 +2670,9 @@ yyreduce:
   case 83:
 
 /* Line 1455 of yacc.c  */
-#line 658 "cp-name-parser.y"
+#line 643 "cp-name-parser.y"
     { *(yyvsp[(4) - (4)].abstract).last = (yyvsp[(3) - (4)].comp);
-			  *(yyvsp[(1) - (4)].nested).last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(4) - (4)].abstract).comp, NULL);
+			  *(yyvsp[(1) - (4)].nested).last = state->fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(4) - (4)].abstract).comp, NULL);
 			  (yyval.nested).comp = (yyvsp[(1) - (4)].nested).comp;
 			  (yyval.nested).last = &d_right (*(yyvsp[(1) - (4)].nested).last);
 			}
@@ -2698,10 +2681,10 @@ yyreduce:
   case 84:
 
 /* Line 1455 of yacc.c  */
-#line 664 "cp-name-parser.y"
+#line 649 "cp-name-parser.y"
     { *(yyvsp[(1) - (3)].nested).last
-			    = fill_comp (DEMANGLE_COMPONENT_ARGLIST,
-					   make_builtin_type ("..."),
+			    = state->fill_comp (DEMANGLE_COMPONENT_ARGLIST,
+					   state->make_builtin_type ("..."),
 					   NULL);
 			  (yyval.nested).comp = (yyvsp[(1) - (3)].nested).comp;
 			  (yyval.nested).last = &d_right (*(yyvsp[(1) - (3)].nested).last);
@@ -2711,298 +2694,298 @@ yyreduce:
   case 85:
 
 /* Line 1455 of yacc.c  */
-#line 674 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, (yyvsp[(2) - (4)].nested).comp);
+#line 659 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, (yyvsp[(2) - (4)].nested).comp);
 			  (yyval.nested).last = &d_left ((yyval.nested).comp);
-			  (yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(4) - (4)].lval), 1); }
+			  (yyval.nested).comp = state->d_qualify ((yyval.nested).comp, (yyvsp[(4) - (4)].lval), 1); }
     break;
 
   case 86:
 
 /* Line 1455 of yacc.c  */
-#line 678 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
+#line 663 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
 			  (yyval.nested).last = &d_left ((yyval.nested).comp);
-			  (yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(4) - (4)].lval), 1); }
+			  (yyval.nested).comp = state->d_qualify ((yyval.nested).comp, (yyvsp[(4) - (4)].lval), 1); }
     break;
 
   case 87:
 
 /* Line 1455 of yacc.c  */
-#line 682 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
+#line 667 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
 			  (yyval.nested).last = &d_left ((yyval.nested).comp);
-			  (yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(3) - (3)].lval), 1); }
+			  (yyval.nested).comp = state->d_qualify ((yyval.nested).comp, (yyvsp[(3) - (3)].lval), 1); }
     break;
 
   case 88:
 
 /* Line 1455 of yacc.c  */
-#line 689 "cp-name-parser.y"
+#line 674 "cp-name-parser.y"
     { (yyval.lval) = 0; }
     break;
 
   case 90:
 
 /* Line 1455 of yacc.c  */
-#line 694 "cp-name-parser.y"
+#line 679 "cp-name-parser.y"
     { (yyval.lval) = QUAL_RESTRICT; }
     break;
 
   case 91:
 
 /* Line 1455 of yacc.c  */
-#line 696 "cp-name-parser.y"
+#line 681 "cp-name-parser.y"
     { (yyval.lval) = QUAL_VOLATILE; }
     break;
 
   case 92:
 
 /* Line 1455 of yacc.c  */
-#line 698 "cp-name-parser.y"
+#line 683 "cp-name-parser.y"
     { (yyval.lval) = QUAL_CONST; }
     break;
 
   case 94:
 
 /* Line 1455 of yacc.c  */
-#line 703 "cp-name-parser.y"
+#line 688 "cp-name-parser.y"
     { (yyval.lval) = (yyvsp[(1) - (2)].lval) | (yyvsp[(2) - (2)].lval); }
     break;
 
   case 95:
 
 /* Line 1455 of yacc.c  */
-#line 710 "cp-name-parser.y"
+#line 695 "cp-name-parser.y"
     { (yyval.lval) = 0; }
     break;
 
   case 96:
 
 /* Line 1455 of yacc.c  */
-#line 712 "cp-name-parser.y"
+#line 697 "cp-name-parser.y"
     { (yyval.lval) = INT_SIGNED; }
     break;
 
   case 97:
 
 /* Line 1455 of yacc.c  */
-#line 714 "cp-name-parser.y"
+#line 699 "cp-name-parser.y"
     { (yyval.lval) = INT_UNSIGNED; }
     break;
 
   case 98:
 
 /* Line 1455 of yacc.c  */
-#line 716 "cp-name-parser.y"
+#line 701 "cp-name-parser.y"
     { (yyval.lval) = INT_CHAR; }
     break;
 
   case 99:
 
 /* Line 1455 of yacc.c  */
-#line 718 "cp-name-parser.y"
+#line 703 "cp-name-parser.y"
     { (yyval.lval) = INT_LONG; }
     break;
 
   case 100:
 
 /* Line 1455 of yacc.c  */
-#line 720 "cp-name-parser.y"
+#line 705 "cp-name-parser.y"
     { (yyval.lval) = INT_SHORT; }
     break;
 
   case 102:
 
 /* Line 1455 of yacc.c  */
-#line 725 "cp-name-parser.y"
+#line 710 "cp-name-parser.y"
     { (yyval.lval) = (yyvsp[(1) - (2)].lval) | (yyvsp[(2) - (2)].lval); if ((yyvsp[(1) - (2)].lval) & (yyvsp[(2) - (2)].lval) & INT_LONG) (yyval.lval) = (yyvsp[(1) - (2)].lval) | INT_LLONG; }
     break;
 
   case 103:
 
 /* Line 1455 of yacc.c  */
-#line 729 "cp-name-parser.y"
-    { (yyval.comp) = d_int_type ((yyvsp[(1) - (1)].lval)); }
+#line 714 "cp-name-parser.y"
+    { (yyval.comp) = state->d_int_type ((yyvsp[(1) - (1)].lval)); }
     break;
 
   case 104:
 
 /* Line 1455 of yacc.c  */
-#line 731 "cp-name-parser.y"
-    { (yyval.comp) = make_builtin_type ("float"); }
+#line 716 "cp-name-parser.y"
+    { (yyval.comp) = state->make_builtin_type ("float"); }
     break;
 
   case 105:
 
 /* Line 1455 of yacc.c  */
-#line 733 "cp-name-parser.y"
-    { (yyval.comp) = make_builtin_type ("double"); }
+#line 718 "cp-name-parser.y"
+    { (yyval.comp) = state->make_builtin_type ("double"); }
     break;
 
   case 106:
 
 /* Line 1455 of yacc.c  */
-#line 735 "cp-name-parser.y"
-    { (yyval.comp) = make_builtin_type ("long double"); }
+#line 720 "cp-name-parser.y"
+    { (yyval.comp) = state->make_builtin_type ("long double"); }
     break;
 
   case 107:
 
 /* Line 1455 of yacc.c  */
-#line 737 "cp-name-parser.y"
-    { (yyval.comp) = make_builtin_type ("bool"); }
+#line 722 "cp-name-parser.y"
+    { (yyval.comp) = state->make_builtin_type ("bool"); }
     break;
 
   case 108:
 
 /* Line 1455 of yacc.c  */
-#line 739 "cp-name-parser.y"
-    { (yyval.comp) = make_builtin_type ("wchar_t"); }
+#line 724 "cp-name-parser.y"
+    { (yyval.comp) = state->make_builtin_type ("wchar_t"); }
     break;
 
   case 109:
 
 /* Line 1455 of yacc.c  */
-#line 741 "cp-name-parser.y"
-    { (yyval.comp) = make_builtin_type ("void"); }
+#line 726 "cp-name-parser.y"
+    { (yyval.comp) = state->make_builtin_type ("void"); }
     break;
 
   case 110:
 
 /* Line 1455 of yacc.c  */
-#line 745 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_POINTER, NULL, NULL);
+#line 730 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_POINTER, NULL, NULL);
 			  (yyval.nested).last = &d_left ((yyval.nested).comp);
-			  (yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(2) - (2)].lval), 0); }
+			  (yyval.nested).comp = state->d_qualify ((yyval.nested).comp, (yyvsp[(2) - (2)].lval), 0); }
     break;
 
   case 111:
 
 /* Line 1455 of yacc.c  */
-#line 750 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_REFERENCE, NULL, NULL);
+#line 735 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_REFERENCE, NULL, NULL);
 			  (yyval.nested).last = &d_left ((yyval.nested).comp); }
     break;
 
   case 112:
 
 /* Line 1455 of yacc.c  */
-#line 753 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_RVALUE_REFERENCE, NULL, NULL);
+#line 738 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_RVALUE_REFERENCE, NULL, NULL);
 			  (yyval.nested).last = &d_left ((yyval.nested).comp); }
     break;
 
   case 113:
 
 /* Line 1455 of yacc.c  */
-#line 756 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_PTRMEM_TYPE, (yyvsp[(1) - (3)].nested1).comp, NULL);
+#line 741 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_PTRMEM_TYPE, (yyvsp[(1) - (3)].nested1).comp, NULL);
 			  /* Convert the innermost DEMANGLE_COMPONENT_QUAL_NAME to a DEMANGLE_COMPONENT_NAME.  */
 			  *(yyvsp[(1) - (3)].nested1).last = *d_left ((yyvsp[(1) - (3)].nested1).last);
 			  (yyval.nested).last = &d_right ((yyval.nested).comp);
-			  (yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(3) - (3)].lval), 0); }
+			  (yyval.nested).comp = state->d_qualify ((yyval.nested).comp, (yyvsp[(3) - (3)].lval), 0); }
     break;
 
   case 114:
 
 /* Line 1455 of yacc.c  */
-#line 762 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_PTRMEM_TYPE, (yyvsp[(2) - (4)].nested1).comp, NULL);
+#line 747 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_PTRMEM_TYPE, (yyvsp[(2) - (4)].nested1).comp, NULL);
 			  /* Convert the innermost DEMANGLE_COMPONENT_QUAL_NAME to a DEMANGLE_COMPONENT_NAME.  */
 			  *(yyvsp[(2) - (4)].nested1).last = *d_left ((yyvsp[(2) - (4)].nested1).last);
 			  (yyval.nested).last = &d_right ((yyval.nested).comp);
-			  (yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(4) - (4)].lval), 0); }
+			  (yyval.nested).comp = state->d_qualify ((yyval.nested).comp, (yyvsp[(4) - (4)].lval), 0); }
     break;
 
   case 115:
 
 /* Line 1455 of yacc.c  */
-#line 770 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_ARRAY_TYPE, NULL, NULL); }
+#line 755 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_ARRAY_TYPE, NULL, NULL); }
     break;
 
   case 116:
 
 /* Line 1455 of yacc.c  */
-#line 772 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_ARRAY_TYPE, (yyvsp[(2) - (3)].comp), NULL); }
+#line 757 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_ARRAY_TYPE, (yyvsp[(2) - (3)].comp), NULL); }
     break;
 
   case 117:
 
 /* Line 1455 of yacc.c  */
-#line 786 "cp-name-parser.y"
-    { (yyval.comp) = d_qualify ((yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].lval), 0); }
+#line 771 "cp-name-parser.y"
+    { (yyval.comp) = state->d_qualify ((yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].lval), 0); }
     break;
 
   case 119:
 
 /* Line 1455 of yacc.c  */
-#line 789 "cp-name-parser.y"
-    { (yyval.comp) = d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval), 0); }
+#line 774 "cp-name-parser.y"
+    { (yyval.comp) = state->d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval), 0); }
     break;
 
   case 120:
 
 /* Line 1455 of yacc.c  */
-#line 791 "cp-name-parser.y"
-    { (yyval.comp) = d_qualify ((yyvsp[(2) - (2)].comp), (yyvsp[(1) - (2)].lval), 0); }
+#line 776 "cp-name-parser.y"
+    { (yyval.comp) = state->d_qualify ((yyvsp[(2) - (2)].comp), (yyvsp[(1) - (2)].lval), 0); }
     break;
 
   case 121:
 
 /* Line 1455 of yacc.c  */
-#line 794 "cp-name-parser.y"
-    { (yyval.comp) = d_qualify ((yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].lval), 0); }
+#line 779 "cp-name-parser.y"
+    { (yyval.comp) = state->d_qualify ((yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].lval), 0); }
     break;
 
   case 123:
 
 /* Line 1455 of yacc.c  */
-#line 797 "cp-name-parser.y"
-    { (yyval.comp) = d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval), 0); }
+#line 782 "cp-name-parser.y"
+    { (yyval.comp) = state->d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval), 0); }
     break;
 
   case 124:
 
 /* Line 1455 of yacc.c  */
-#line 799 "cp-name-parser.y"
-    { (yyval.comp) = d_qualify ((yyvsp[(2) - (2)].comp), (yyvsp[(1) - (2)].lval), 0); }
+#line 784 "cp-name-parser.y"
+    { (yyval.comp) = state->d_qualify ((yyvsp[(2) - (2)].comp), (yyvsp[(1) - (2)].lval), 0); }
     break;
 
   case 125:
 
 /* Line 1455 of yacc.c  */
-#line 802 "cp-name-parser.y"
-    { (yyval.comp) = d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(3) - (3)].lval), 0); }
+#line 787 "cp-name-parser.y"
+    { (yyval.comp) = state->d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(3) - (3)].lval), 0); }
     break;
 
   case 126:
 
 /* Line 1455 of yacc.c  */
-#line 804 "cp-name-parser.y"
+#line 789 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 127:
 
 /* Line 1455 of yacc.c  */
-#line 806 "cp-name-parser.y"
-    { (yyval.comp) = d_qualify ((yyvsp[(3) - (4)].comp), (yyvsp[(1) - (4)].lval) | (yyvsp[(4) - (4)].lval), 0); }
+#line 791 "cp-name-parser.y"
+    { (yyval.comp) = state->d_qualify ((yyvsp[(3) - (4)].comp), (yyvsp[(1) - (4)].lval) | (yyvsp[(4) - (4)].lval), 0); }
     break;
 
   case 128:
 
 /* Line 1455 of yacc.c  */
-#line 808 "cp-name-parser.y"
-    { (yyval.comp) = d_qualify ((yyvsp[(3) - (3)].comp), (yyvsp[(1) - (3)].lval), 0); }
+#line 793 "cp-name-parser.y"
+    { (yyval.comp) = state->d_qualify ((yyvsp[(3) - (3)].comp), (yyvsp[(1) - (3)].lval), 0); }
     break;
 
   case 129:
 
 /* Line 1455 of yacc.c  */
-#line 813 "cp-name-parser.y"
+#line 798 "cp-name-parser.y"
     { (yyval.abstract).comp = (yyvsp[(1) - (1)].nested).comp; (yyval.abstract).last = (yyvsp[(1) - (1)].nested).last;
 			  (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; }
     break;
@@ -3010,7 +2993,7 @@ yyreduce:
   case 130:
 
 /* Line 1455 of yacc.c  */
-#line 816 "cp-name-parser.y"
+#line 801 "cp-name-parser.y"
     { (yyval.abstract) = (yyvsp[(2) - (2)].abstract); (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL;
 			  if ((yyvsp[(2) - (2)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(2) - (2)].abstract).fn.last; *(yyvsp[(2) - (2)].abstract).last = (yyvsp[(2) - (2)].abstract).fn.comp; }
 			  *(yyval.abstract).last = (yyvsp[(1) - (2)].nested).comp;
@@ -3020,7 +3003,7 @@ yyreduce:
   case 131:
 
 /* Line 1455 of yacc.c  */
-#line 821 "cp-name-parser.y"
+#line 806 "cp-name-parser.y"
     { (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL;
 			  if ((yyvsp[(1) - (1)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (1)].abstract).fn.last; *(yyvsp[(1) - (1)].abstract).last = (yyvsp[(1) - (1)].abstract).fn.comp; }
 			}
@@ -3029,7 +3012,7 @@ yyreduce:
   case 132:
 
 /* Line 1455 of yacc.c  */
-#line 828 "cp-name-parser.y"
+#line 813 "cp-name-parser.y"
     { (yyval.abstract) = (yyvsp[(2) - (3)].abstract); (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).fold_flag = 1;
 			  if ((yyvsp[(2) - (3)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(2) - (3)].abstract).fn.last; *(yyvsp[(2) - (3)].abstract).last = (yyvsp[(2) - (3)].abstract).fn.comp; }
 			}
@@ -3038,7 +3021,7 @@ yyreduce:
   case 133:
 
 /* Line 1455 of yacc.c  */
-#line 832 "cp-name-parser.y"
+#line 817 "cp-name-parser.y"
     { (yyval.abstract).fold_flag = 0;
 			  if ((yyvsp[(1) - (2)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (2)].abstract).fn.last; *(yyvsp[(1) - (2)].abstract).last = (yyvsp[(1) - (2)].abstract).fn.comp; }
 			  if ((yyvsp[(1) - (2)].abstract).fold_flag)
@@ -3054,7 +3037,7 @@ yyreduce:
   case 134:
 
 /* Line 1455 of yacc.c  */
-#line 843 "cp-name-parser.y"
+#line 828 "cp-name-parser.y"
     { (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).fold_flag = 0;
 			  if ((yyvsp[(1) - (2)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (2)].abstract).fn.last; *(yyvsp[(1) - (2)].abstract).last = (yyvsp[(1) - (2)].abstract).fn.comp; }
 			  *(yyvsp[(1) - (2)].abstract).last = (yyvsp[(2) - (2)].comp);
@@ -3065,7 +3048,7 @@ yyreduce:
   case 135:
 
 /* Line 1455 of yacc.c  */
-#line 849 "cp-name-parser.y"
+#line 834 "cp-name-parser.y"
     { (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).fold_flag = 0;
 			  (yyval.abstract).comp = (yyvsp[(1) - (1)].comp);
 			  (yyval.abstract).last = &d_right ((yyvsp[(1) - (1)].comp));
@@ -3075,7 +3058,7 @@ yyreduce:
   case 136:
 
 /* Line 1455 of yacc.c  */
-#line 867 "cp-name-parser.y"
+#line 852 "cp-name-parser.y"
     { (yyval.abstract).comp = (yyvsp[(1) - (1)].nested).comp; (yyval.abstract).last = (yyvsp[(1) - (1)].nested).last;
 			  (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).start = NULL; }
     break;
@@ -3083,7 +3066,7 @@ yyreduce:
   case 137:
 
 /* Line 1455 of yacc.c  */
-#line 870 "cp-name-parser.y"
+#line 855 "cp-name-parser.y"
     { (yyval.abstract) = (yyvsp[(2) - (2)].abstract);
 			  if ((yyvsp[(2) - (2)].abstract).last)
 			    *(yyval.abstract).last = (yyvsp[(1) - (2)].nested).comp;
@@ -3096,14 +3079,14 @@ yyreduce:
   case 138:
 
 /* Line 1455 of yacc.c  */
-#line 878 "cp-name-parser.y"
+#line 863 "cp-name-parser.y"
     { (yyval.abstract).comp = (yyvsp[(1) - (1)].abstract).comp; (yyval.abstract).last = (yyvsp[(1) - (1)].abstract).last; (yyval.abstract).fn = (yyvsp[(1) - (1)].abstract).fn; (yyval.abstract).start = NULL; }
     break;
 
   case 139:
 
 /* Line 1455 of yacc.c  */
-#line 880 "cp-name-parser.y"
+#line 865 "cp-name-parser.y"
     { (yyval.abstract).start = (yyvsp[(4) - (4)].comp);
 			  if ((yyvsp[(1) - (4)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (4)].abstract).fn.last; *(yyvsp[(1) - (4)].abstract).last = (yyvsp[(1) - (4)].abstract).fn.comp; }
 			  if ((yyvsp[(1) - (4)].abstract).fold_flag)
@@ -3119,7 +3102,7 @@ yyreduce:
   case 140:
 
 /* Line 1455 of yacc.c  */
-#line 891 "cp-name-parser.y"
+#line 876 "cp-name-parser.y"
     { (yyval.abstract).fn = (yyvsp[(1) - (2)].nested);
 			  (yyval.abstract).start = (yyvsp[(2) - (2)].comp);
 			  (yyval.abstract).comp = NULL; (yyval.abstract).last = NULL;
@@ -3129,7 +3112,7 @@ yyreduce:
   case 142:
 
 /* Line 1455 of yacc.c  */
-#line 899 "cp-name-parser.y"
+#line 884 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].abstract).comp;
 			  *(yyvsp[(2) - (2)].abstract).last = (yyvsp[(1) - (2)].comp);
 			}
@@ -3138,7 +3121,7 @@ yyreduce:
   case 143:
 
 /* Line 1455 of yacc.c  */
-#line 905 "cp-name-parser.y"
+#line 890 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(2) - (2)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(1) - (2)].nested).last;
 			  *(yyvsp[(2) - (2)].nested).last = (yyvsp[(1) - (2)].nested).comp; }
@@ -3147,14 +3130,14 @@ yyreduce:
   case 145:
 
 /* Line 1455 of yacc.c  */
-#line 913 "cp-name-parser.y"
+#line 898 "cp-name-parser.y"
     { (yyval.nested) = (yyvsp[(2) - (3)].nested); }
     break;
 
   case 146:
 
 /* Line 1455 of yacc.c  */
-#line 915 "cp-name-parser.y"
+#line 900 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp;
 			  *(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(2) - (2)].nested).last;
@@ -3164,7 +3147,7 @@ yyreduce:
   case 147:
 
 /* Line 1455 of yacc.c  */
-#line 920 "cp-name-parser.y"
+#line 905 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp;
 			  *(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].comp);
 			  (yyval.nested).last = &d_right ((yyvsp[(2) - (2)].comp));
@@ -3174,8 +3157,8 @@ yyreduce:
   case 148:
 
 /* Line 1455 of yacc.c  */
-#line 925 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (1)].comp), NULL);
+#line 910 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (1)].comp), NULL);
 			  (yyval.nested).last = &d_right ((yyval.nested).comp);
 			}
     break;
@@ -3183,7 +3166,7 @@ yyreduce:
   case 149:
 
 /* Line 1455 of yacc.c  */
-#line 937 "cp-name-parser.y"
+#line 922 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(2) - (2)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(1) - (2)].nested).last;
 			  *(yyvsp[(2) - (2)].nested).last = (yyvsp[(1) - (2)].nested).comp; }
@@ -3192,8 +3175,8 @@ yyreduce:
   case 150:
 
 /* Line 1455 of yacc.c  */
-#line 941 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (1)].comp), NULL);
+#line 926 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (1)].comp), NULL);
 			  (yyval.nested).last = &d_right ((yyval.nested).comp);
 			}
     break;
@@ -3201,28 +3184,28 @@ yyreduce:
   case 152:
 
 /* Line 1455 of yacc.c  */
-#line 953 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (4)].comp), (yyvsp[(2) - (4)].nested).comp);
+#line 938 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (4)].comp), (yyvsp[(2) - (4)].nested).comp);
 			  (yyval.nested).last = (yyvsp[(2) - (4)].nested).last;
-			  (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.nested).comp, (yyvsp[(4) - (4)].comp));
+			  (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.nested).comp, (yyvsp[(4) - (4)].comp));
 			}
     break;
 
   case 153:
 
 /* Line 1455 of yacc.c  */
-#line 958 "cp-name-parser.y"
+#line 943 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (4)].nested).comp;
 			  *(yyvsp[(1) - (4)].nested).last = (yyvsp[(2) - (4)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(2) - (4)].nested).last;
-			  (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.nested).comp, (yyvsp[(4) - (4)].comp));
+			  (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.nested).comp, (yyvsp[(4) - (4)].comp));
 			}
     break;
 
   case 154:
 
 /* Line 1455 of yacc.c  */
-#line 967 "cp-name-parser.y"
+#line 952 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(3) - (4)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(2) - (4)].nested).last;
 			  *(yyvsp[(3) - (4)].nested).last = (yyvsp[(2) - (4)].nested).comp; }
@@ -3231,7 +3214,7 @@ yyreduce:
   case 155:
 
 /* Line 1455 of yacc.c  */
-#line 971 "cp-name-parser.y"
+#line 956 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp;
 			  *(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(2) - (2)].nested).last;
@@ -3241,7 +3224,7 @@ yyreduce:
   case 156:
 
 /* Line 1455 of yacc.c  */
-#line 976 "cp-name-parser.y"
+#line 961 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp;
 			  *(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].comp);
 			  (yyval.nested).last = &d_right ((yyvsp[(2) - (2)].comp));
@@ -3251,8 +3234,8 @@ yyreduce:
   case 157:
 
 /* Line 1455 of yacc.c  */
-#line 981 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].nested).comp);
+#line 966 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].nested).comp);
 			  (yyval.nested).last = (yyvsp[(2) - (2)].nested).last;
 			}
     break;
@@ -3260,8 +3243,8 @@ yyreduce:
   case 158:
 
 /* Line 1455 of yacc.c  */
-#line 985 "cp-name-parser.y"
-    { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].comp));
+#line 970 "cp-name-parser.y"
+    { (yyval.nested).comp = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].comp));
 			  (yyval.nested).last = &d_right ((yyvsp[(2) - (2)].comp));
 			}
     break;
@@ -3269,56 +3252,56 @@ yyreduce:
   case 159:
 
 /* Line 1455 of yacc.c  */
-#line 991 "cp-name-parser.y"
+#line 976 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (3)].comp); }
     break;
 
   case 161:
 
 /* Line 1455 of yacc.c  */
-#line 1000 "cp-name-parser.y"
-    { (yyval.comp) = d_binary (">", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 985 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary (">", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 162:
 
 /* Line 1455 of yacc.c  */
-#line 1007 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(2) - (2)].comp)); }
+#line 992 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_UNARY, state->make_operator ("&", 1), (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 163:
 
 /* Line 1455 of yacc.c  */
-#line 1009 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(3) - (4)].comp)); }
+#line 994 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_UNARY, state->make_operator ("&", 1), (yyvsp[(3) - (4)].comp)); }
     break;
 
   case 164:
 
 /* Line 1455 of yacc.c  */
-#line 1014 "cp-name-parser.y"
-    { (yyval.comp) = d_unary ("-", (yyvsp[(2) - (2)].comp)); }
+#line 999 "cp-name-parser.y"
+    { (yyval.comp) = state->d_unary ("-", (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 165:
 
 /* Line 1455 of yacc.c  */
-#line 1018 "cp-name-parser.y"
-    { (yyval.comp) = d_unary ("!", (yyvsp[(2) - (2)].comp)); }
+#line 1003 "cp-name-parser.y"
+    { (yyval.comp) = state->d_unary ("!", (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 166:
 
 /* Line 1455 of yacc.c  */
-#line 1022 "cp-name-parser.y"
-    { (yyval.comp) = d_unary ("~", (yyvsp[(2) - (2)].comp)); }
+#line 1007 "cp-name-parser.y"
+    { (yyval.comp) = state->d_unary ("~", (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 167:
 
 /* Line 1455 of yacc.c  */
-#line 1029 "cp-name-parser.y"
+#line 1014 "cp-name-parser.y"
     { if ((yyvsp[(4) - (4)].comp)->type == DEMANGLE_COMPONENT_LITERAL
 		      || (yyvsp[(4) - (4)].comp)->type == DEMANGLE_COMPONENT_LITERAL_NEG)
 		    {
@@ -3326,8 +3309,8 @@ yyreduce:
 		      d_left ((yyvsp[(4) - (4)].comp)) = (yyvsp[(2) - (4)].comp);
 		    }
 		  else
-		    (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY,
-				      fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(2) - (4)].comp), NULL),
+		    (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_UNARY,
+				      state->fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(2) - (4)].comp), NULL),
 				      (yyvsp[(4) - (4)].comp));
 		}
     break;
@@ -3335,9 +3318,9 @@ yyreduce:
   case 168:
 
 /* Line 1455 of yacc.c  */
-#line 1045 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY,
-				    fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL),
+#line 1030 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_UNARY,
+				    state->fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL),
 				    (yyvsp[(6) - (7)].comp));
 		}
     break;
@@ -3345,9 +3328,9 @@ yyreduce:
   case 169:
 
 /* Line 1455 of yacc.c  */
-#line 1052 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY,
-				    fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL),
+#line 1037 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_UNARY,
+				    state->fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL),
 				    (yyvsp[(6) - (7)].comp));
 		}
     break;
@@ -3355,9 +3338,9 @@ yyreduce:
   case 170:
 
 /* Line 1455 of yacc.c  */
-#line 1059 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY,
-				    fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL),
+#line 1044 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_UNARY,
+				    state->fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL),
 				    (yyvsp[(6) - (7)].comp));
 		}
     break;
@@ -3365,165 +3348,165 @@ yyreduce:
   case 171:
 
 /* Line 1455 of yacc.c  */
-#line 1078 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("*", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1063 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("*", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 172:
 
 /* Line 1455 of yacc.c  */
-#line 1082 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("/", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1067 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("/", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 173:
 
 /* Line 1455 of yacc.c  */
-#line 1086 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("%", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1071 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("%", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 174:
 
 /* Line 1455 of yacc.c  */
-#line 1090 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("+", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1075 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("+", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 175:
 
 /* Line 1455 of yacc.c  */
-#line 1094 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("-", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1079 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("-", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 176:
 
 /* Line 1455 of yacc.c  */
-#line 1098 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("<<", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1083 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("<<", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 177:
 
 /* Line 1455 of yacc.c  */
-#line 1102 "cp-name-parser.y"
-    { (yyval.comp) = d_binary (">>", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1087 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary (">>", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 178:
 
 /* Line 1455 of yacc.c  */
-#line 1106 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("==", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1091 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("==", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 179:
 
 /* Line 1455 of yacc.c  */
-#line 1110 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("!=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1095 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("!=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 180:
 
 /* Line 1455 of yacc.c  */
-#line 1114 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("<=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1099 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("<=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 181:
 
 /* Line 1455 of yacc.c  */
-#line 1118 "cp-name-parser.y"
-    { (yyval.comp) = d_binary (">=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1103 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary (">=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 182:
 
 /* Line 1455 of yacc.c  */
-#line 1122 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("<", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1107 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("<", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 183:
 
 /* Line 1455 of yacc.c  */
-#line 1126 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("&", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1111 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("&", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 184:
 
 /* Line 1455 of yacc.c  */
-#line 1130 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("^", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1115 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("^", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 185:
 
 /* Line 1455 of yacc.c  */
-#line 1134 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("|", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1119 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("|", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 186:
 
 /* Line 1455 of yacc.c  */
-#line 1138 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("&&", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1123 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("&&", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 187:
 
 /* Line 1455 of yacc.c  */
-#line 1142 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("||", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1127 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("||", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 188:
 
 /* Line 1455 of yacc.c  */
-#line 1147 "cp-name-parser.y"
-    { (yyval.comp) = d_binary ("->", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1132 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary ("->", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 189:
 
 /* Line 1455 of yacc.c  */
-#line 1151 "cp-name-parser.y"
-    { (yyval.comp) = d_binary (".", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
+#line 1136 "cp-name-parser.y"
+    { (yyval.comp) = state->d_binary (".", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 190:
 
 /* Line 1455 of yacc.c  */
-#line 1155 "cp-name-parser.y"
-    { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TRINARY, make_operator ("?", 3),
-				    fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG1, (yyvsp[(1) - (5)].comp),
-						 fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG2, (yyvsp[(3) - (5)].comp), (yyvsp[(5) - (5)].comp))));
+#line 1140 "cp-name-parser.y"
+    { (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_TRINARY, state->make_operator ("?", 3),
+				    state->fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG1, (yyvsp[(1) - (5)].comp),
+						 state->fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG2, (yyvsp[(3) - (5)].comp), (yyvsp[(5) - (5)].comp))));
 		}
     break;
 
   case 193:
 
 /* Line 1455 of yacc.c  */
-#line 1169 "cp-name-parser.y"
+#line 1154 "cp-name-parser.y"
     {
 		  /* Match the whitespacing of cplus_demangle_operators.
 		     It would abort on unrecognized string otherwise.  */
-		  (yyval.comp) = d_unary ("sizeof ", (yyvsp[(3) - (4)].comp));
+		  (yyval.comp) = state->d_unary ("sizeof ", (yyvsp[(3) - (4)].comp));
 		}
     break;
 
   case 194:
 
 /* Line 1455 of yacc.c  */
-#line 1178 "cp-name-parser.y"
+#line 1163 "cp-name-parser.y"
     { struct demangle_component *i;
-		  i = make_name ("1", 1);
-		  (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LITERAL,
-				    make_builtin_type ("bool"),
+		  i = state->make_name ("1", 1);
+		  (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_LITERAL,
+				    state->make_builtin_type ( "bool"),
 				    i);
 		}
     break;
@@ -3531,11 +3514,11 @@ yyreduce:
   case 195:
 
 /* Line 1455 of yacc.c  */
-#line 1187 "cp-name-parser.y"
+#line 1172 "cp-name-parser.y"
     { struct demangle_component *i;
-		  i = make_name ("0", 1);
-		  (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LITERAL,
-				    make_builtin_type ("bool"),
+		  i = state->make_name ("0", 1);
+		  (yyval.comp) = state->fill_comp (DEMANGLE_COMPONENT_LITERAL,
+				    state->make_builtin_type ("bool"),
 				    i);
 		}
     break;
@@ -3543,7 +3526,7 @@ yyreduce:
 
 
 /* Line 1455 of yacc.c  */
-#line 3548 "cp-name-parser.c"
+#line 3531 "cp-name-parser.c.tmp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3578,7 +3561,7 @@ yyerrlab:
     {
       ++yynerrs;
 #if ! YYERROR_VERBOSE
-      yyerror (YY_("syntax error"));
+      yyerror (state, YY_("syntax error"));
 #else
       {
 	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
@@ -3602,11 +3585,11 @@ yyerrlab:
 	if (0 < yysize && yysize <= yymsg_alloc)
 	  {
 	    (void) yysyntax_error (yymsg, yystate, yychar);
-	    yyerror (yymsg);
+	    yyerror (state, yymsg);
 	  }
 	else
 	  {
-	    yyerror (YY_("syntax error"));
+	    yyerror (state, YY_("syntax error"));
 	    if (yysize != 0)
 	      goto yyexhaustedlab;
 	  }
@@ -3630,7 +3613,7 @@ yyerrlab:
       else
 	{
 	  yydestruct ("Error: discarding",
-		      yytoken, &yylval);
+		      yytoken, &yylval, state);
 	  yychar = YYEMPTY;
 	}
     }
@@ -3686,7 +3669,7 @@ yyerrlab1:
 
 
       yydestruct ("Error: popping",
-		  yystos[yystate], yyvsp);
+		  yystos[yystate], yyvsp, state);
       YYPOPSTACK (1);
       yystate = *yyssp;
       YY_STACK_PRINT (yyss, yyssp);
@@ -3721,7 +3704,7 @@ yyabortlab:
 | yyexhaustedlab -- memory exhaustion comes here.  |
 `-------------------------------------------------*/
 yyexhaustedlab:
-  yyerror (YY_("memory exhausted"));
+  yyerror (state, YY_("memory exhausted"));
   yyresult = 2;
   /* Fall through.  */
 #endif
@@ -3729,7 +3712,7 @@ yyexhaustedlab:
 yyreturn:
   if (yychar != YYEMPTY)
      yydestruct ("Cleanup: discarding lookahead",
-		 yytoken, &yylval);
+		 yytoken, &yylval, state);
   /* Do not reclaim the symbols of the rule which action triggered
      this YYABORT or YYACCEPT.  */
   YYPOPSTACK (yylen);
@@ -3737,7 +3720,7 @@ yyreturn:
   while (yyssp != yyss)
     {
       yydestruct ("Cleanup: popping",
-		  yystos[*yyssp], yyvsp);
+		  yystos[*yyssp], yyvsp, state);
       YYPOPSTACK (1);
     }
 #ifndef yyoverflow
@@ -3755,7 +3738,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 1197 "cp-name-parser.y"
+#line 1182 "cp-name-parser.y"
 
 
 /* Apply QUALIFIERS to LHS and return a qualified component.  IS_METHOD
@@ -3764,7 +3747,8 @@ yyreturn:
    may already be qualified; duplicate qualifiers are not created.  */
 
 struct demangle_component *
-d_qualify (struct demangle_component *lhs, int qualifiers, int is_method)
+cpname_state::d_qualify (struct demangle_component *lhs, int qualifiers,
+			 int is_method)
 {
   struct demangle_component **inner_p;
   enum demangle_component_type type;
@@ -3774,8 +3758,8 @@ d_qualify (struct demangle_component *lh
 #define HANDLE_QUAL(TYPE, MTYPE, QUAL)				\
   if ((qualifiers & QUAL) && (type != TYPE) && (type != MTYPE))	\
     {								\
-      *inner_p = fill_comp (is_method ? MTYPE : TYPE,	\
-			      *inner_p, NULL);			\
+      *inner_p = fill_comp (is_method ? MTYPE : TYPE,		\
+			    *inner_p, NULL);			\
       inner_p = &d_left (*inner_p);				\
       type = (*inner_p)->type;					\
     }								\
@@ -3798,8 +3782,8 @@ d_qualify (struct demangle_component *lh
 
 /* Return a builtin type corresponding to FLAGS.  */
 
-static struct demangle_component *
-d_int_type (int flags)
+struct demangle_component *
+cpname_state::d_int_type (int flags)
 {
   const char *name;
 
@@ -3851,41 +3835,20 @@ d_int_type (int flags)
 
 /* Wrapper to create a unary operation.  */
 
-static struct demangle_component *
-d_unary (const char *name, struct demangle_component *lhs)
+struct demangle_component *
+cpname_state::d_unary (const char *name, struct demangle_component *lhs)
 {
   return fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator (name, 1), lhs);
 }
 
 /* Wrapper to create a binary operation.  */
 
-static struct demangle_component *
-d_binary (const char *name, struct demangle_component *lhs, struct demangle_component *rhs)
+struct demangle_component *
+cpname_state::d_binary (const char *name, struct demangle_component *lhs,
+			struct demangle_component *rhs)
 {
   return fill_comp (DEMANGLE_COMPONENT_BINARY, make_operator (name, 2),
-		      fill_comp (DEMANGLE_COMPONENT_BINARY_ARGS, lhs, rhs));
-}
-
-/* Like ISALPHA, but also returns true for the union of all UTF-8
-   multi-byte sequence bytes and non-ASCII characters in
-   extended-ASCII charsets (e.g., Latin1).  I.e., returns true if the
-   high bit is set.  Note that not all UTF-8 ranges are allowed in C++
-   identifiers, but we don't need to be pedantic so for simplicity we
-   ignore that here.  Plus this avoids the complication of actually
-   knowing what was the right encoding.  */
-
-static inline bool
-cp_ident_is_alpha (unsigned char ch)
-{
-  return ISALPHA (ch) || ch >= 0x80;
-}
-
-/* Similarly, but Like ISALNUM.  */
-
-static inline bool
-cp_ident_is_alnum (unsigned char ch)
-{
-  return ISALNUM (ch) || ch >= 0x80;
+		    fill_comp (DEMANGLE_COMPONENT_BINARY_ARGS, lhs, rhs));
 }
 
 /* Find the end of a symbol name starting at LEXPTR.  */
@@ -3895,7 +3858,7 @@ symbol_end (const char *lexptr)
 {
   const char *p = lexptr;
 
-  while (*p && (cp_ident_is_alnum (*p) || *p == '_' || *p == '$' || *p == '.'))
+  while (*p && (c_ident_is_alnum (*p) || *p == '_' || *p == '$' || *p == '.'))
     p++;
 
   return p;
@@ -3905,8 +3868,9 @@ symbol_end (const char *lexptr)
    The number starts at P and contains LEN characters.  Store the result in
    YYLVAL.  */
 
-static int
-parse_number (const char *p, int len, int parsed_float)
+int
+cpname_state::parse_number (const char *p, int len, int parsed_float,
+			    YYSTYPE *lvalp)
 {
   int unsigned_p = 0;
 
@@ -3956,7 +3920,7 @@ parse_number (const char *p, int len, in
 	return ERROR;
 
       name = make_name (p, len);
-      yylval.comp = fill_comp (literal_type, type, name);
+      lvalp->comp = fill_comp (literal_type, type, name);
 
       return FLOAT;
     }
@@ -4005,13 +3969,13 @@ parse_number (const char *p, int len, in
      type = signed_type;
 
    name = make_name (p, len);
-   yylval.comp = fill_comp (literal_type, type, name);
+   lvalp->comp = fill_comp (literal_type, type, name);
 
    return INT;
 }
 
-static char backslashable[] = "abefnrtv";
-static char represented[] = "\a\b\e\f\n\r\t\v";
+static const char backslashable[] = "abefnrtv";
+static const char represented[] = "\a\b\e\f\n\r\t\v";
 
 /* Translate the backslash the way we would in the host character set.  */
 static int
@@ -4109,39 +4073,39 @@ cp_parse_escape (const char **string_ptr
 #define HANDLE_SPECIAL(string, comp)				\
   if (strncmp (tokstart, string, sizeof (string) - 1) == 0)	\
     {								\
-      lexptr = tokstart + sizeof (string) - 1;			\
-      yylval.lval = comp;					\
+      state->lexptr = tokstart + sizeof (string) - 1;			\
+      lvalp->lval = comp;					\
       return DEMANGLER_SPECIAL;					\
     }
 
 #define HANDLE_TOKEN2(string, token)			\
-  if (lexptr[1] == string[1])				\
+  if (state->lexptr[1] == string[1])				\
     {							\
-      lexptr += 2;					\
-      yylval.opname = string;				\
+      state->lexptr += 2;					\
+      lvalp->opname = string;				\
       return token;					\
     }      
 
 #define HANDLE_TOKEN3(string, token)			\
-  if (lexptr[1] == string[1] && lexptr[2] == string[2])	\
+  if (state->lexptr[1] == string[1] && state->lexptr[2] == string[2])	\
     {							\
-      lexptr += 3;					\
-      yylval.opname = string;				\
+      state->lexptr += 3;					\
+      lvalp->opname = string;				\
       return token;					\
     }      
 
 /* Read one token, getting characters through LEXPTR.  */
 
 static int
-yylex (void)
+yylex (YYSTYPE *lvalp, cpname_state *state)
 {
   int c;
   int namelen;
   const char *tokstart;
 
  retry:
-  prev_lexptr = lexptr;
-  tokstart = lexptr;
+  state->prev_lexptr = state->lexptr;
+  tokstart = state->lexptr;
 
   switch (c = *tokstart)
     {
@@ -4151,27 +4115,27 @@ yylex (void)
     case ' ':
     case '\t':
     case '\n':
-      lexptr++;
+      state->lexptr++;
       goto retry;
 
     case '\'':
       /* We either have a character constant ('0' or '\177' for example)
 	 or we have a quoted symbol reference ('foo(int,int)' in C++
 	 for example). */
-      lexptr++;
-      c = *lexptr++;
+      state->lexptr++;
+      c = *state->lexptr++;
       if (c == '\\')
-	c = cp_parse_escape (&lexptr);
+	c = cp_parse_escape (&state->lexptr);
       else if (c == '\'')
 	{
-	  yyerror (_("empty character constant"));
+	  yyerror (state, _("empty character constant"));
 	  return ERROR;
 	}
 
-      c = *lexptr++;
+      c = *state->lexptr++;
       if (c != '\'')
 	{
-	  yyerror (_("invalid character constant"));
+	  yyerror (state, _("invalid character constant"));
 	  return ERROR;
 	}
 
@@ -4179,36 +4143,38 @@ yylex (void)
 	 presumably the same one that appears in manglings - the decimal
 	 representation.  But if that isn't in our input then we have to
 	 allocate memory for it somewhere.  */
-      yylval.comp = fill_comp (DEMANGLE_COMPONENT_LITERAL,
-				 make_builtin_type ("char"),
-				 make_name (tokstart, lexptr - tokstart));
+      lvalp->comp
+	= state->fill_comp (DEMANGLE_COMPONENT_LITERAL,
+			    state->make_builtin_type ("char"),
+			    state->make_name (tokstart,
+					      state->lexptr - tokstart));
 
       return INT;
 
     case '(':
       if (strncmp (tokstart, "(anonymous namespace)", 21) == 0)
 	{
-	  lexptr += 21;
-	  yylval.comp = make_name ("(anonymous namespace)",
-				     sizeof "(anonymous namespace)" - 1);
+	  state->lexptr += 21;
+	  lvalp->comp = state->make_name ("(anonymous namespace)",
+					  sizeof "(anonymous namespace)" - 1);
 	  return NAME;
 	}
 	/* FALL THROUGH */
 
     case ')':
     case ',':
-      lexptr++;
+      state->lexptr++;
       return c;
 
     case '.':
-      if (lexptr[1] == '.' && lexptr[2] == '.')
+      if (state->lexptr[1] == '.' && state->lexptr[2] == '.')
 	{
-	  lexptr += 3;
+	  state->lexptr += 3;
 	  return ELLIPSIS;
 	}
 
       /* Might be a floating point number.  */
-      if (lexptr[1] < '0' || lexptr[1] > '9')
+      if (state->lexptr[1] < '0' || state->lexptr[1] > '9')
 	goto symbol;		/* Nope, must be a symbol. */
 
       goto try_number;
@@ -4221,16 +4187,16 @@ yylex (void)
       /* For construction vtables.  This is kind of hokey.  */
       if (strncmp (tokstart, "-in-", 4) == 0)
 	{
-	  lexptr += 4;
+	  state->lexptr += 4;
 	  return CONSTRUCTION_IN;
 	}
 
-      if (lexptr[1] < '0' || lexptr[1] > '9')
+      if (state->lexptr[1] < '0' || state->lexptr[1] > '9')
 	{
-	  lexptr++;
+	  state->lexptr++;
 	  return '-';
 	}
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
 
     try_number:
     case '0':
@@ -4288,74 +4254,75 @@ yylex (void)
 	    else if (! ISALNUM (*p))
 	      break;
 	  }
-	toktype = parse_number (tokstart, p - tokstart, got_dot|got_e);
+	toktype = state->parse_number (tokstart, p - tokstart, got_dot|got_e,
+				       lvalp);
         if (toktype == ERROR)
 	  {
 	    char *err_copy = (char *) alloca (p - tokstart + 1);
 
 	    memcpy (err_copy, tokstart, p - tokstart);
 	    err_copy[p - tokstart] = 0;
-	    yyerror (_("invalid number"));
+	    yyerror (state, _("invalid number"));
 	    return ERROR;
 	  }
-	lexptr = p;
+	state->lexptr = p;
 	return toktype;
       }
 
     case '+':
       HANDLE_TOKEN2 ("+=", ASSIGN_MODIFY);
       HANDLE_TOKEN2 ("++", INCREMENT);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '*':
       HANDLE_TOKEN2 ("*=", ASSIGN_MODIFY);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '/':
       HANDLE_TOKEN2 ("/=", ASSIGN_MODIFY);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '%':
       HANDLE_TOKEN2 ("%=", ASSIGN_MODIFY);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '|':
       HANDLE_TOKEN2 ("|=", ASSIGN_MODIFY);
       HANDLE_TOKEN2 ("||", OROR);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '&':
       HANDLE_TOKEN2 ("&=", ASSIGN_MODIFY);
       HANDLE_TOKEN2 ("&&", ANDAND);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '^':
       HANDLE_TOKEN2 ("^=", ASSIGN_MODIFY);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '!':
       HANDLE_TOKEN2 ("!=", NOTEQUAL);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '<':
       HANDLE_TOKEN3 ("<<=", ASSIGN_MODIFY);
       HANDLE_TOKEN2 ("<=", LEQ);
       HANDLE_TOKEN2 ("<<", LSH);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '>':
       HANDLE_TOKEN3 (">>=", ASSIGN_MODIFY);
       HANDLE_TOKEN2 (">=", GEQ);
       HANDLE_TOKEN2 (">>", RSH);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '=':
       HANDLE_TOKEN2 ("==", EQUAL);
-      lexptr++;
+      state->lexptr++;
       return c;
     case ':':
       HANDLE_TOKEN2 ("::", COLONCOLON);
-      lexptr++;
+      state->lexptr++;
       return c;
 
     case '[':
@@ -4366,19 +4333,19 @@ yylex (void)
     case '{':
     case '}':
     symbol:
-      lexptr++;
+      state->lexptr++;
       return c;
 
     case '"':
       /* These can't occur in C++ names.  */
-      yyerror (_("unexpected string literal"));
+      yyerror (state, _("unexpected string literal"));
       return ERROR;
     }
 
-  if (!(c == '_' || c == '$' || cp_ident_is_alpha (c)))
+  if (!(c == '_' || c == '$' || c_ident_is_alpha (c)))
     {
       /* We must have come across a bad character (e.g. ';').  */
-      yyerror (_("invalid character"));
+      yyerror (state, _("invalid character"));
       return ERROR;
     }
 
@@ -4386,9 +4353,9 @@ yylex (void)
   namelen = 0;
   do
     c = tokstart[++namelen];
-  while (cp_ident_is_alnum (c) || c == '_' || c == '$');
+  while (c_ident_is_alnum (c) || c == '_' || c == '$');
 
-  lexptr += namelen;
+  state->lexptr += namelen;
 
   /* Catch specific keywords.  Notice that some of the keywords contain
      spaces, and are sorted by the length of the first word.  They must
@@ -4402,7 +4369,7 @@ yylex (void)
     case 12:
       if (strncmp (tokstart, "construction vtable for ", 24) == 0)
 	{
-	  lexptr = tokstart + 24;
+	  state->lexptr = tokstart + 24;
 	  return CONSTRUCTION_VTABLE;
 	}
       if (strncmp (tokstart, "dynamic_cast", 12) == 0)
@@ -4440,23 +4407,23 @@ yylex (void)
       if (strncmp (tokstart, "global constructors keyed to ", 29) == 0)
 	{
 	  const char *p;
-	  lexptr = tokstart + 29;
-	  yylval.lval = DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS;
+	  state->lexptr = tokstart + 29;
+	  lvalp->lval = DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS;
 	  /* Find the end of the symbol.  */
-	  p = symbol_end (lexptr);
-	  yylval.comp = make_name (lexptr, p - lexptr);
-	  lexptr = p;
+	  p = symbol_end (state->lexptr);
+	  lvalp->comp = state->make_name (state->lexptr, p - state->lexptr);
+	  state->lexptr = p;
 	  return DEMANGLER_SPECIAL;
 	}
       if (strncmp (tokstart, "global destructors keyed to ", 28) == 0)
 	{
 	  const char *p;
-	  lexptr = tokstart + 28;
-	  yylval.lval = DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS;
+	  state->lexptr = tokstart + 28;
+	  lvalp->lval = DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS;
 	  /* Find the end of the symbol.  */
-	  p = symbol_end (lexptr);
-	  yylval.comp = make_name (lexptr, p - lexptr);
-	  lexptr = p;
+	  p = symbol_end (state->lexptr);
+	  lvalp->comp = state->make_name (state->lexptr, p - state->lexptr);
+	  state->lexptr = p;
 	  return DEMANGLER_SPECIAL;
 	}
 
@@ -4513,18 +4480,18 @@ yylex (void)
       break;
     }
 
-  yylval.comp = make_name (tokstart, namelen);
+  lvalp->comp = state->make_name (tokstart, namelen);
   return NAME;
 }
 
 static void
-yyerror (const char *msg)
+yyerror (cpname_state *state, const char *msg)
 {
-  if (global_errmsg)
+  if (state->global_errmsg)
     return;
 
-  error_lexptr = prev_lexptr;
-  global_errmsg = msg ? msg : "parse error";
+  state->error_lexptr = state->prev_lexptr;
+  state->global_errmsg = msg ? msg : "parse error";
 }
 
 /* Allocate a chunk of the components we'll need to build a tree.  We
@@ -4616,36 +4583,31 @@ cp_merge_demangle_parse_infos (struct de
 /* Convert a demangled name to a demangle_component tree.  On success,
    a structure containing the root of the new tree is returned.  On
    error, NULL is returned, and an error message will be set in
-   *ERRMSG (which does not need to be freed).  */
+   *ERRMSG.  */
 
 struct std::unique_ptr<demangle_parse_info>
-cp_demangled_name_to_comp (const char *demangled_name, const char **errmsg)
+cp_demangled_name_to_comp (const char *demangled_name,
+			   std::string *errmsg)
 {
-  static char errbuf[60];
+  cpname_state state;
 
-  prev_lexptr = lexptr = demangled_name;
-  error_lexptr = NULL;
-  global_errmsg = NULL;
+  state.prev_lexptr = state.lexptr = demangled_name;
+  state.error_lexptr = NULL;
+  state.global_errmsg = NULL;
 
-  demangle_info = allocate_info ();
+  state.demangle_info = allocate_info ();
 
   std::unique_ptr<demangle_parse_info> result (new demangle_parse_info);
-  result->info = demangle_info;
+  result->info = state.demangle_info;
 
-  if (yyparse ())
+  if (yyparse (&state))
     {
-      if (global_errmsg && errmsg)
-	{
-	  snprintf (errbuf, sizeof (errbuf) - 2, "%s, near `%s",
-		    global_errmsg, error_lexptr);
-	  strcat (errbuf, "'");
-	  *errmsg = errbuf;
-	}
+      if (state.global_errmsg && errmsg)
+	*errmsg = state.global_errmsg;
       return NULL;
     }
 
-  result->tree = global_result;
-  global_result = NULL;
+  result->tree = state.global_result;
 
   return result;
 }
@@ -4716,7 +4678,6 @@ main (int argc, char **argv)
   char *str2, *extra_chars, c;
   char buf[65536];
   int arg;
-  const char *errmsg;
 
   arg = 1;
   if (argv[arg] && strcmp (argv[arg], "--debug") == 0)
@@ -4743,11 +4704,12 @@ main (int argc, char **argv)
 	    continue;
 	  }
 
+	std::string errmsg;
 	std::unique_ptr<demangle_parse_info> result
 	  = cp_demangled_name_to_comp (str2, &errmsg);
 	if (result == NULL)
 	  {
-	    fputs (errmsg, stderr);
+	    fputs (errmsg.c_str (), stderr);
 	    fputc ('\n', stderr);
 	    continue;
 	  }
@@ -4764,11 +4726,12 @@ main (int argc, char **argv)
       }
   else
     {
+      std::string errmsg;
       std::unique_ptr<demangle_parse_info> result
 	= cp_demangled_name_to_comp (argv[arg], &errmsg);
       if (result == NULL)
 	{
-	  fputs (errmsg, stderr);
+	  fputs (errmsg.c_str (), stderr);
 	  fputc ('\n', stderr);
 	  return 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.1.0.20180703/gdb/cp-name-parser.y ./gdb/cp-name-parser.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cp-name-parser.y	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cp-name-parser.y	2018-07-10 02:06:13.000000000 +0000
@@ -27,6 +27,14 @@
    too messy, particularly when such includes can be inserted at random
    times by the parser generator.  */
 
+/* The Bison manual says that %pure-parser is deprecated, but we use
+   it anyway because it also works with Byacc.  That is also why
+   this uses %lex-param and %parse-param rather than the simpler
+   %param -- Byacc does not support the latter.  */
+%pure-parser
+%lex-param {struct cpname_state *state}
+%parse-param {struct cpname_state *state}
+
 %{
 
 #include "defs.h"
@@ -35,17 +43,11 @@
 #include "safe-ctype.h"
 #include "demangle.h"
 #include "cp-support.h"
+#include "c-support.h"
+#include "parser-defs.h"
 
-/* Bison does not make it easy to create a parser without global
-   state, unfortunately.  Here are all the global variables used
-   in this parser.  */
-
-/* LEXPTR is the current pointer into our lex buffer.  PREV_LEXPTR
-   is the start of the last token lexed, only used for diagnostics.
-   ERROR_LEXPTR is the first place an error occurred.  GLOBAL_ERRMSG
-   is the first error message encountered.  */
-
-static const char *lexptr, *prev_lexptr, *error_lexptr, *global_errmsg;
+#define GDB_YY_REMAP_PREFIX cpname
+#include "yy-remap.h"
 
 /* The components built by the parser are allocated ahead of time,
    and cached in this structure.  */
@@ -58,10 +60,82 @@ struct demangle_info {
   struct demangle_component comps[ALLOC_CHUNK];
 };
 
-static struct demangle_info *demangle_info;
+%}
+
+%union
+  {
+    struct demangle_component *comp;
+    struct nested {
+      struct demangle_component *comp;
+      struct demangle_component **last;
+    } nested;
+    struct {
+      struct demangle_component *comp, *last;
+    } nested1;
+    struct {
+      struct demangle_component *comp, **last;
+      struct nested fn;
+      struct demangle_component *start;
+      int fold_flag;
+    } abstract;
+    int lval;
+    const char *opname;
+  }
 
-static struct demangle_component *
-d_grab (void)
+%{
+
+struct cpname_state
+{
+  /* LEXPTR is the current pointer into our lex buffer.  PREV_LEXPTR
+     is the start of the last token lexed, only used for diagnostics.
+     ERROR_LEXPTR is the first place an error occurred.  GLOBAL_ERRMSG
+     is the first error message encountered.  */
+
+  const char *lexptr, *prev_lexptr, *error_lexptr, *global_errmsg;
+
+  struct demangle_info *demangle_info;
+
+  /* The parse tree created by the parser is stored here after a
+     successful parse.  */
+
+  struct demangle_component *global_result;
+
+  struct demangle_component *d_grab ();
+
+  /* Helper functions.  These wrap the demangler tree interface,
+     handle allocation from our global store, and return the allocated
+     component.  */
+
+  struct demangle_component *fill_comp (enum demangle_component_type d_type,
+					struct demangle_component *lhs,
+					struct demangle_component *rhs);
+
+  struct demangle_component *make_operator (const char *name, int args);
+
+  struct demangle_component *make_dtor (enum gnu_v3_dtor_kinds kind,
+					struct demangle_component *name);
+
+  struct demangle_component *make_builtin_type (const char *name);
+
+  struct demangle_component *make_name (const char *name, int len);
+
+  struct demangle_component *d_qualify (struct demangle_component *lhs,
+					int qualifiers, int is_method);
+
+  struct demangle_component *d_int_type (int flags);
+
+  struct demangle_component *d_unary (const char *name,
+				      struct demangle_component *lhs);
+
+  struct demangle_component *d_binary (const char *name,
+				       struct demangle_component *lhs,
+				       struct demangle_component *rhs);
+
+  int parse_number (const char *p, int len, int parsed_float, YYSTYPE *lvalp);
+};
+
+struct demangle_component *
+cpname_state::d_grab ()
 {
   struct demangle_info *more;
 
@@ -82,25 +156,6 @@ d_grab (void)
   return &demangle_info->comps[demangle_info->used++];
 }
 
-/* The parse tree created by the parser is stored here after a successful
-   parse.  */
-
-static struct demangle_component *global_result;
-
-/* Prototypes for helper functions used when constructing the parse
-   tree.  */
-
-static struct demangle_component *d_qualify (struct demangle_component *, int,
-					     int);
-
-static struct demangle_component *d_int_type (int);
-
-static struct demangle_component *d_unary (const char *,
-					   struct demangle_component *);
-static struct demangle_component *d_binary (const char *,
-					    struct demangle_component *,
-					    struct demangle_component *);
-
 /* Flags passed to d_qualify.  */
 
 #define QUAL_CONST 1
@@ -117,64 +172,6 @@ static struct demangle_component *d_bina
 #define INT_SIGNED	(1 << 4)
 #define INT_UNSIGNED	(1 << 5)
 
-/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
-   as well as gratuitiously global symbol names, so we can have multiple
-   yacc generated parsers in gdb.  Note that these are only the variables
-   produced by yacc.  If other parser generators (bison, byacc, etc) produce
-   additional global names that conflict at link time, then those parser
-   generators need to be fixed instead of adding those names to this list. */
-
-#define	yymaxdepth cpname_maxdepth
-#define	yyparse	cpname_parse
-#define	yylex	cpname_lex
-#define	yyerror	cpname_error
-#define	yylval	cpname_lval
-#define	yychar	cpname_char
-#define	yydebug	cpname_debug
-#define	yypact	cpname_pact	
-#define	yyr1	cpname_r1			
-#define	yyr2	cpname_r2			
-#define	yydef	cpname_def		
-#define	yychk	cpname_chk		
-#define	yypgo	cpname_pgo		
-#define	yyact	cpname_act		
-#define	yyexca	cpname_exca
-#define yyerrflag cpname_errflag
-#define yynerrs	cpname_nerrs
-#define	yyps	cpname_ps
-#define	yypv	cpname_pv
-#define	yys	cpname_s
-#define	yy_yys	cpname_yys
-#define	yystate	cpname_state
-#define	yytmp	cpname_tmp
-#define	yyv	cpname_v
-#define	yy_yyv	cpname_yyv
-#define	yyval	cpname_val
-#define	yylloc	cpname_lloc
-#define yyreds	cpname_reds		/* With YYDEBUG defined */
-#define yytoks	cpname_toks		/* With YYDEBUG defined */
-#define yyname	cpname_name		/* With YYDEBUG defined */
-#define yyrule	cpname_rule		/* With YYDEBUG defined */
-#define yylhs	cpname_yylhs
-#define yylen	cpname_yylen
-#define yydefred cpname_yydefred
-#define yydgoto	cpname_yydgoto
-#define yysindex cpname_yysindex
-#define yyrindex cpname_yyrindex
-#define yygindex cpname_yygindex
-#define yytable	 cpname_yytable
-#define yycheck	 cpname_yycheck
-#define yyss	cpname_yyss
-#define yysslim	cpname_yysslim
-#define yyssp	cpname_yyssp
-#define yystacksize cpname_yystacksize
-#define yyvs	cpname_yyvs
-#define yyvsp	cpname_yyvsp
-
-int yyparse (void);
-static int yylex (void);
-static void yyerror (const char *);
-
 /* Enable yydebug for the stand-alone parser.  */
 #ifdef TEST_CPNAMES
 # define YYDEBUG	1
@@ -183,9 +180,10 @@ static void yyerror (const char *);
 /* Helper functions.  These wrap the demangler tree interface, handle
    allocation from our global store, and return the allocated component.  */
 
-static struct demangle_component *
-fill_comp (enum demangle_component_type d_type, struct demangle_component *lhs,
-	   struct demangle_component *rhs)
+struct demangle_component *
+cpname_state::fill_comp (enum demangle_component_type d_type,
+			 struct demangle_component *lhs,
+			 struct demangle_component *rhs)
 {
   struct demangle_component *ret = d_grab ();
   int i;
@@ -196,8 +194,8 @@ fill_comp (enum demangle_component_type 
   return ret;
 }
 
-static struct demangle_component *
-make_operator (const char *name, int args)
+struct demangle_component *
+cpname_state::make_operator (const char *name, int args)
 {
   struct demangle_component *ret = d_grab ();
   int i;
@@ -208,8 +206,9 @@ make_operator (const char *name, int arg
   return ret;
 }
 
-static struct demangle_component *
-make_dtor (enum gnu_v3_dtor_kinds kind, struct demangle_component *name)
+struct demangle_component *
+cpname_state::make_dtor (enum gnu_v3_dtor_kinds kind,
+			 struct demangle_component *name)
 {
   struct demangle_component *ret = d_grab ();
   int i;
@@ -220,8 +219,8 @@ make_dtor (enum gnu_v3_dtor_kinds kind, 
   return ret;
 }
 
-static struct demangle_component *
-make_builtin_type (const char *name)
+struct demangle_component *
+cpname_state::make_builtin_type (const char *name)
 {
   struct demangle_component *ret = d_grab ();
   int i;
@@ -232,8 +231,8 @@ make_builtin_type (const char *name)
   return ret;
 }
 
-static struct demangle_component *
-make_name (const char *name, int len)
+struct demangle_component *
+cpname_state::make_name (const char *name, int len)
 {
   struct demangle_component *ret = d_grab ();
   int i;
@@ -247,28 +246,10 @@ make_name (const char *name, int len)
 #define d_left(dc) (dc)->u.s_binary.left
 #define d_right(dc) (dc)->u.s_binary.right
 
+static int yylex (YYSTYPE *, cpname_state *);
+static void yyerror (cpname_state *, const char *);
 %}
 
-%union
-  {
-    struct demangle_component *comp;
-    struct nested {
-      struct demangle_component *comp;
-      struct demangle_component **last;
-    } nested;
-    struct {
-      struct demangle_component *comp, *last;
-    } nested1;
-    struct {
-      struct demangle_component *comp, **last;
-      struct nested fn;
-      struct demangle_component *start;
-      int fold_flag;
-    } abstract;
-    int lval;
-    const char *opname;
-  }
-
 %type <comp> exp exp1 type start start_opt oper colon_name
 %type <comp> unqualified_name colon_ext_name
 %type <comp> templ template_arg
@@ -365,7 +346,7 @@ make_name (const char *name, int len)
 %%
 
 result		:	start
-			{ global_result = $1; }
+			{ state->global_result = $1; }
 		;
 
 start		:	type
@@ -395,15 +376,19 @@ function
 		   start_opt is used to handle "function-local" variables and
 		   types.  */
 		|	typespec_2 function_arglist start_opt
-			{ $$ = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, $2.comp);
-			  if ($3) $$ = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$, $3); }
+			{ $$ = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME,
+					  $1, $2.comp);
+			  if ($3)
+			    $$ = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME,
+						   $$, $3);
+			}
 		|	colon_ext_only function_arglist start_opt
-			{ $$ = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, $2.comp);
-			  if ($3) $$ = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$, $3); }
+			{ $$ = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, $2.comp);
+			  if ($3) $$ = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$, $3); }
 
 		|	conversion_op_name start_opt
 			{ $$ = $1.comp;
-			  if ($2) $$ = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$, $2); }
+			  if ($2) $$ = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$, $2); }
 		|	conversion_op_name abstract_declarator_fn
 			{ if ($2.last)
 			    {
@@ -415,102 +400,102 @@ function
 			    }
 			  /* If we have an arglist, build a function type.  */
 			  if ($2.fn.comp)
-			    $$ = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1.comp, $2.fn.comp);
+			    $$ = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1.comp, $2.fn.comp);
 			  else
 			    $$ = $1.comp;
-			  if ($2.start) $$ = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$, $2.start);
+			  if ($2.start) $$ = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$, $2.start);
 			}
 		;
 
 demangler_special
 		:	DEMANGLER_SPECIAL start
-			{ $$ = fill_comp ((enum demangle_component_type) $1, $2, NULL); }
+			{ $$ = state->fill_comp ((enum demangle_component_type) $1, $2, NULL); }
 		|	CONSTRUCTION_VTABLE start CONSTRUCTION_IN start
-			{ $$ = fill_comp (DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE, $2, $4); }
+			{ $$ = state->fill_comp (DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE, $2, $4); }
 		;
 
 oper	:	OPERATOR NEW
 			{
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
-			  $$ = make_operator ("new", 3);
+			  $$ = state->make_operator ("new", 3);
 			}
 		|	OPERATOR DELETE
 			{
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
-			  $$ = make_operator ("delete ", 1);
+			  $$ = state->make_operator ("delete ", 1);
 			}
 		|	OPERATOR NEW '[' ']'
 			{
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
-			  $$ = make_operator ("new[]", 3);
+			  $$ = state->make_operator ("new[]", 3);
 			}
 		|	OPERATOR DELETE '[' ']'
 			{
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
-			  $$ = make_operator ("delete[] ", 1);
+			  $$ = state->make_operator ("delete[] ", 1);
 			}
 		|	OPERATOR '+'
-			{ $$ = make_operator ("+", 2); }
+			{ $$ = state->make_operator ("+", 2); }
 		|	OPERATOR '-'
-			{ $$ = make_operator ("-", 2); }
+			{ $$ = state->make_operator ("-", 2); }
 		|	OPERATOR '*'
-			{ $$ = make_operator ("*", 2); }
+			{ $$ = state->make_operator ("*", 2); }
 		|	OPERATOR '/'
-			{ $$ = make_operator ("/", 2); }
+			{ $$ = state->make_operator ("/", 2); }
 		|	OPERATOR '%'
-			{ $$ = make_operator ("%", 2); }
+			{ $$ = state->make_operator ("%", 2); }
 		|	OPERATOR '^'
-			{ $$ = make_operator ("^", 2); }
+			{ $$ = state->make_operator ("^", 2); }
 		|	OPERATOR '&'
-			{ $$ = make_operator ("&", 2); }
+			{ $$ = state->make_operator ("&", 2); }
 		|	OPERATOR '|'
-			{ $$ = make_operator ("|", 2); }
+			{ $$ = state->make_operator ("|", 2); }
 		|	OPERATOR '~'
-			{ $$ = make_operator ("~", 1); }
+			{ $$ = state->make_operator ("~", 1); }
 		|	OPERATOR '!'
-			{ $$ = make_operator ("!", 1); }
+			{ $$ = state->make_operator ("!", 1); }
 		|	OPERATOR '='
-			{ $$ = make_operator ("=", 2); }
+			{ $$ = state->make_operator ("=", 2); }
 		|	OPERATOR '<'
-			{ $$ = make_operator ("<", 2); }
+			{ $$ = state->make_operator ("<", 2); }
 		|	OPERATOR '>'
-			{ $$ = make_operator (">", 2); }
+			{ $$ = state->make_operator (">", 2); }
 		|	OPERATOR ASSIGN_MODIFY
-			{ $$ = make_operator ($2, 2); }
+			{ $$ = state->make_operator ($2, 2); }
 		|	OPERATOR LSH
-			{ $$ = make_operator ("<<", 2); }
+			{ $$ = state->make_operator ("<<", 2); }
 		|	OPERATOR RSH
-			{ $$ = make_operator (">>", 2); }
+			{ $$ = state->make_operator (">>", 2); }
 		|	OPERATOR EQUAL
-			{ $$ = make_operator ("==", 2); }
+			{ $$ = state->make_operator ("==", 2); }
 		|	OPERATOR NOTEQUAL
-			{ $$ = make_operator ("!=", 2); }
+			{ $$ = state->make_operator ("!=", 2); }
 		|	OPERATOR LEQ
-			{ $$ = make_operator ("<=", 2); }
+			{ $$ = state->make_operator ("<=", 2); }
 		|	OPERATOR GEQ
-			{ $$ = make_operator (">=", 2); }
+			{ $$ = state->make_operator (">=", 2); }
 		|	OPERATOR ANDAND
-			{ $$ = make_operator ("&&", 2); }
+			{ $$ = state->make_operator ("&&", 2); }
 		|	OPERATOR OROR
-			{ $$ = make_operator ("||", 2); }
+			{ $$ = state->make_operator ("||", 2); }
 		|	OPERATOR INCREMENT
-			{ $$ = make_operator ("++", 1); }
+			{ $$ = state->make_operator ("++", 1); }
 		|	OPERATOR DECREMENT
-			{ $$ = make_operator ("--", 1); }
+			{ $$ = state->make_operator ("--", 1); }
 		|	OPERATOR ','
-			{ $$ = make_operator (",", 2); }
+			{ $$ = state->make_operator (",", 2); }
 		|	OPERATOR ARROW '*'
-			{ $$ = make_operator ("->*", 2); }
+			{ $$ = state->make_operator ("->*", 2); }
 		|	OPERATOR ARROW
-			{ $$ = make_operator ("->", 2); }
+			{ $$ = state->make_operator ("->", 2); }
 		|	OPERATOR '(' ')'
-			{ $$ = make_operator ("()", 2); }
+			{ $$ = state->make_operator ("()", 2); }
 		|	OPERATOR '[' ']'
-			{ $$ = make_operator ("[]", 2); }
+			{ $$ = state->make_operator ("[]", 2); }
 		;
 
 		/* Conversion operators.  We don't try to handle some of
@@ -518,7 +503,7 @@ oper	:	OPERATOR NEW
 		   since it's not clear that it's parseable.  */
 conversion_op
 		:	OPERATOR typespec_2
-			{ $$ = fill_comp (DEMANGLE_COMPONENT_CONVERSION, $2, NULL); }
+			{ $$ = state->fill_comp (DEMANGLE_COMPONENT_CONVERSION, $2, NULL); }
 		;
 
 conversion_op_name
@@ -546,9 +531,9 @@ conversion_op_name
 /* This accepts certain invalid placements of '~'.  */
 unqualified_name:	oper
 		|	oper '<' template_params '>'
-			{ $$ = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, $1, $3.comp); }
+			{ $$ = state->fill_comp (DEMANGLE_COMPONENT_TEMPLATE, $1, $3.comp); }
 		|	'~' NAME
-			{ $$ = make_dtor (gnu_v3_complete_object_dtor, $2); }
+			{ $$ = state->make_dtor (gnu_v3_complete_object_dtor, $2); }
 		;
 
 /* This rule is used in name and nested_name, and expanded inline there
@@ -589,21 +574,21 @@ ext_only_name	:	nested_name unqualified_
 		;
 
 nested_name	:	NAME COLONCOLON
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, $1, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, $1, NULL);
 			  $$.last = $$.comp;
 			}
 		|	nested_name NAME COLONCOLON
 			{ $$.comp = $1.comp;
-			  d_right ($1.last) = fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, $2, NULL);
+			  d_right ($1.last) = state->fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, $2, NULL);
 			  $$.last = d_right ($1.last);
 			}
 		|	templ COLONCOLON
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, $1, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, $1, NULL);
 			  $$.last = $$.comp;
 			}
 		|	nested_name templ COLONCOLON
 			{ $$.comp = $1.comp;
-			  d_right ($1.last) = fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, $2, NULL);
+			  d_right ($1.last) = state->fill_comp (DEMANGLE_COMPONENT_QUAL_NAME, $2, NULL);
 			  $$.last = d_right ($1.last);
 			}
 		;
@@ -611,15 +596,15 @@ nested_name	:	NAME COLONCOLON
 /* DEMANGLE_COMPONENT_TEMPLATE */
 /* DEMANGLE_COMPONENT_TEMPLATE_ARGLIST */
 templ	:	NAME '<' template_params '>'
-			{ $$ = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, $1, $3.comp); }
+			{ $$ = state->fill_comp (DEMANGLE_COMPONENT_TEMPLATE, $1, $3.comp); }
 		;
 
 template_params	:	template_arg
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, $1, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, $1, NULL);
 			$$.last = &d_right ($$.comp); }
 		|	template_params ',' template_arg
 			{ $$.comp = $1.comp;
-			  *$1.last = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, $3, NULL);
+			  *$1.last = state->fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, $3, NULL);
 			  $$.last = &d_right (*$1.last);
 			}
 		;
@@ -634,36 +619,36 @@ template_arg	:	typespec_2
 			  *$2.last = $1;
 			}
 		|	'&' start
-			{ $$ = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), $2); }
+			{ $$ = state->fill_comp (DEMANGLE_COMPONENT_UNARY, state->make_operator ("&", 1), $2); }
 		|	'&' '(' start ')'
-			{ $$ = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), $3); }
+			{ $$ = state->fill_comp (DEMANGLE_COMPONENT_UNARY, state->make_operator ("&", 1), $3); }
 		|	exp
 		;
 
 function_args	:	typespec_2
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, $1, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_ARGLIST, $1, NULL);
 			  $$.last = &d_right ($$.comp);
 			}
 		|	typespec_2 abstract_declarator
 			{ *$2.last = $1;
-			  $$.comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, $2.comp, NULL);
+			  $$.comp = state->fill_comp (DEMANGLE_COMPONENT_ARGLIST, $2.comp, NULL);
 			  $$.last = &d_right ($$.comp);
 			}
 		|	function_args ',' typespec_2
-			{ *$1.last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, $3, NULL);
+			{ *$1.last = state->fill_comp (DEMANGLE_COMPONENT_ARGLIST, $3, NULL);
 			  $$.comp = $1.comp;
 			  $$.last = &d_right (*$1.last);
 			}
 		|	function_args ',' typespec_2 abstract_declarator
 			{ *$4.last = $3;
-			  *$1.last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, $4.comp, NULL);
+			  *$1.last = state->fill_comp (DEMANGLE_COMPONENT_ARGLIST, $4.comp, NULL);
 			  $$.comp = $1.comp;
 			  $$.last = &d_right (*$1.last);
 			}
 		|	function_args ',' ELLIPSIS
 			{ *$1.last
-			    = fill_comp (DEMANGLE_COMPONENT_ARGLIST,
-					   make_builtin_type ("..."),
+			    = state->fill_comp (DEMANGLE_COMPONENT_ARGLIST,
+					   state->make_builtin_type ("..."),
 					   NULL);
 			  $$.comp = $1.comp;
 			  $$.last = &d_right (*$1.last);
@@ -671,17 +656,17 @@ function_args	:	typespec_2
 		;
 
 function_arglist:	'(' function_args ')' qualifiers_opt %prec NAME
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, $2.comp);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, $2.comp);
 			  $$.last = &d_left ($$.comp);
-			  $$.comp = d_qualify ($$.comp, $4, 1); }
+			  $$.comp = state->d_qualify ($$.comp, $4, 1); }
 		|	'(' VOID ')' qualifiers_opt
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
 			  $$.last = &d_left ($$.comp);
-			  $$.comp = d_qualify ($$.comp, $4, 1); }
+			  $$.comp = state->d_qualify ($$.comp, $4, 1); }
 		|	'(' ')' qualifiers_opt
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
 			  $$.last = &d_left ($$.comp);
-			  $$.comp = d_qualify ($$.comp, $3, 1); }
+			  $$.comp = state->d_qualify ($$.comp, $3, 1); }
 		;
 
 /* Should do something about DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL */
@@ -726,50 +711,50 @@ int_seq		:	int_part
 		;
 
 builtin_type	:	int_seq
-			{ $$ = d_int_type ($1); }
+			{ $$ = state->d_int_type ($1); }
 		|	FLOAT_KEYWORD
-			{ $$ = make_builtin_type ("float"); }
+			{ $$ = state->make_builtin_type ("float"); }
 		|	DOUBLE_KEYWORD
-			{ $$ = make_builtin_type ("double"); }
+			{ $$ = state->make_builtin_type ("double"); }
 		|	LONG DOUBLE_KEYWORD
-			{ $$ = make_builtin_type ("long double"); }
+			{ $$ = state->make_builtin_type ("long double"); }
 		|	BOOL
-			{ $$ = make_builtin_type ("bool"); }
+			{ $$ = state->make_builtin_type ("bool"); }
 		|	WCHAR_T
-			{ $$ = make_builtin_type ("wchar_t"); }
+			{ $$ = state->make_builtin_type ("wchar_t"); }
 		|	VOID
-			{ $$ = make_builtin_type ("void"); }
+			{ $$ = state->make_builtin_type ("void"); }
 		;
 
 ptr_operator	:	'*' qualifiers_opt
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_POINTER, NULL, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_POINTER, NULL, NULL);
 			  $$.last = &d_left ($$.comp);
-			  $$.comp = d_qualify ($$.comp, $2, 0); }
+			  $$.comp = state->d_qualify ($$.comp, $2, 0); }
 		/* g++ seems to allow qualifiers after the reference?  */
 		|	'&'
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_REFERENCE, NULL, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_REFERENCE, NULL, NULL);
 			  $$.last = &d_left ($$.comp); }
 		|	ANDAND
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_RVALUE_REFERENCE, NULL, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_RVALUE_REFERENCE, NULL, NULL);
 			  $$.last = &d_left ($$.comp); }
 		|	nested_name '*' qualifiers_opt
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_PTRMEM_TYPE, $1.comp, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_PTRMEM_TYPE, $1.comp, NULL);
 			  /* Convert the innermost DEMANGLE_COMPONENT_QUAL_NAME to a DEMANGLE_COMPONENT_NAME.  */
 			  *$1.last = *d_left ($1.last);
 			  $$.last = &d_right ($$.comp);
-			  $$.comp = d_qualify ($$.comp, $3, 0); }
+			  $$.comp = state->d_qualify ($$.comp, $3, 0); }
 		|	COLONCOLON nested_name '*' qualifiers_opt
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_PTRMEM_TYPE, $2.comp, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_PTRMEM_TYPE, $2.comp, NULL);
 			  /* Convert the innermost DEMANGLE_COMPONENT_QUAL_NAME to a DEMANGLE_COMPONENT_NAME.  */
 			  *$2.last = *d_left ($2.last);
 			  $$.last = &d_right ($$.comp);
-			  $$.comp = d_qualify ($$.comp, $4, 0); }
+			  $$.comp = state->d_qualify ($$.comp, $4, 0); }
 		;
 
 array_indicator	:	'[' ']'
-			{ $$ = fill_comp (DEMANGLE_COMPONENT_ARRAY_TYPE, NULL, NULL); }
+			{ $$ = state->fill_comp (DEMANGLE_COMPONENT_ARRAY_TYPE, NULL, NULL); }
 		|	'[' INT ']'
-			{ $$ = fill_comp (DEMANGLE_COMPONENT_ARRAY_TYPE, $2, NULL); }
+			{ $$ = state->fill_comp (DEMANGLE_COMPONENT_ARRAY_TYPE, $2, NULL); }
 		;
 
 /* Details of this approach inspired by the G++ < 3.4 parser.  */
@@ -783,29 +768,29 @@ typespec	:	builtin_type
 */
 
 typespec_2	:	builtin_type qualifiers
-			{ $$ = d_qualify ($1, $2, 0); }
+			{ $$ = state->d_qualify ($1, $2, 0); }
 		|	builtin_type
 		|	qualifiers builtin_type qualifiers
-			{ $$ = d_qualify ($2, $1 | $3, 0); }
+			{ $$ = state->d_qualify ($2, $1 | $3, 0); }
 		|	qualifiers builtin_type
-			{ $$ = d_qualify ($2, $1, 0); }
+			{ $$ = state->d_qualify ($2, $1, 0); }
 
 		|	name qualifiers
-			{ $$ = d_qualify ($1, $2, 0); }
+			{ $$ = state->d_qualify ($1, $2, 0); }
 		|	name
 		|	qualifiers name qualifiers
-			{ $$ = d_qualify ($2, $1 | $3, 0); }
+			{ $$ = state->d_qualify ($2, $1 | $3, 0); }
 		|	qualifiers name
-			{ $$ = d_qualify ($2, $1, 0); }
+			{ $$ = state->d_qualify ($2, $1, 0); }
 
 		|	COLONCOLON name qualifiers
-			{ $$ = d_qualify ($2, $3, 0); }
+			{ $$ = state->d_qualify ($2, $3, 0); }
 		|	COLONCOLON name
 			{ $$ = $2; }
 		|	qualifiers COLONCOLON name qualifiers
-			{ $$ = d_qualify ($3, $1 | $4, 0); }
+			{ $$ = state->d_qualify ($3, $1 | $4, 0); }
 		|	qualifiers COLONCOLON name
-			{ $$ = d_qualify ($3, $1, 0); }
+			{ $$ = state->d_qualify ($3, $1, 0); }
 		;
 
 abstract_declarator
@@ -922,7 +907,7 @@ direct_declarator
 			  $$.last = &d_right ($2);
 			}
 		|	colon_ext_name
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, NULL);
 			  $$.last = &d_right ($$.comp);
 			}
 		;
@@ -938,7 +923,7 @@ declarator_1	:	ptr_operator declarator_1
 			  $$.last = $1.last;
 			  *$2.last = $1.comp; }
 		|	colon_ext_name
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, NULL);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, NULL);
 			  $$.last = &d_right ($$.comp);
 			}
 		|	direct_declarator_1
@@ -950,15 +935,15 @@ declarator_1	:	ptr_operator declarator_1
 			   members will not be mangled.  If they are hopefully
 			   they'll end up to the right of the ::.  */
 		|	colon_ext_name function_arglist COLONCOLON start
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, $2.comp);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, $2.comp);
 			  $$.last = $2.last;
-			  $$.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$.comp, $4);
+			  $$.comp = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$.comp, $4);
 			}
 		|	direct_declarator_1 function_arglist COLONCOLON start
 			{ $$.comp = $1.comp;
 			  *$1.last = $2.comp;
 			  $$.last = $2.last;
-			  $$.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$.comp, $4);
+			  $$.comp = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$.comp, $4);
 			}
 		;
 
@@ -978,11 +963,11 @@ direct_declarator_1
 			  $$.last = &d_right ($2);
 			}
 		|	colon_ext_name function_arglist
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, $2.comp);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, $2.comp);
 			  $$.last = $2.last;
 			}
 		|	colon_ext_name array_indicator
-			{ $$.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, $2);
+			{ $$.comp = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, $2);
 			  $$.last = &d_right ($2);
 			}
 		;
@@ -997,29 +982,29 @@ exp1	:	exp
 	;
 
 exp1	:	exp '>' exp
-		{ $$ = d_binary (">", $1, $3); }
+		{ $$ = state->d_binary (">", $1, $3); }
 	;
 
 /* References.  Not allowed everywhere in template parameters, only
    at the top level, but treat them as expressions in case they are wrapped
    in parentheses.  */
 exp1	:	'&' start
-		{ $$ = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), $2); }
+		{ $$ = state->fill_comp (DEMANGLE_COMPONENT_UNARY, state->make_operator ("&", 1), $2); }
 	|	'&' '(' start ')'
-		{ $$ = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), $3); }
+		{ $$ = state->fill_comp (DEMANGLE_COMPONENT_UNARY, state->make_operator ("&", 1), $3); }
 	;
 
 /* Expressions, not including the comma operator.  */
 exp	:	'-' exp    %prec UNARY
-		{ $$ = d_unary ("-", $2); }
+		{ $$ = state->d_unary ("-", $2); }
 	;
 
 exp	:	'!' exp    %prec UNARY
-		{ $$ = d_unary ("!", $2); }
+		{ $$ = state->d_unary ("!", $2); }
 	;
 
 exp	:	'~' exp    %prec UNARY
-		{ $$ = d_unary ("~", $2); }
+		{ $$ = state->d_unary ("~", $2); }
 	;
 
 /* Casts.  First your normal C-style cast.  If exp is a LITERAL, just change
@@ -1033,8 +1018,8 @@ exp	:	'(' type ')' exp  %prec UNARY
 		      d_left ($4) = $2;
 		    }
 		  else
-		    $$ = fill_comp (DEMANGLE_COMPONENT_UNARY,
-				      fill_comp (DEMANGLE_COMPONENT_CAST, $2, NULL),
+		    $$ = state->fill_comp (DEMANGLE_COMPONENT_UNARY,
+				      state->fill_comp (DEMANGLE_COMPONENT_CAST, $2, NULL),
 				      $4);
 		}
 	;
@@ -1042,22 +1027,22 @@ exp	:	'(' type ')' exp  %prec UNARY
 /* Mangling does not differentiate between these, so we don't need to
    either.  */
 exp	:	STATIC_CAST '<' type '>' '(' exp1 ')' %prec UNARY
-		{ $$ = fill_comp (DEMANGLE_COMPONENT_UNARY,
-				    fill_comp (DEMANGLE_COMPONENT_CAST, $3, NULL),
+		{ $$ = state->fill_comp (DEMANGLE_COMPONENT_UNARY,
+				    state->fill_comp (DEMANGLE_COMPONENT_CAST, $3, NULL),
 				    $6);
 		}
 	;
 
 exp	:	DYNAMIC_CAST '<' type '>' '(' exp1 ')' %prec UNARY
-		{ $$ = fill_comp (DEMANGLE_COMPONENT_UNARY,
-				    fill_comp (DEMANGLE_COMPONENT_CAST, $3, NULL),
+		{ $$ = state->fill_comp (DEMANGLE_COMPONENT_UNARY,
+				    state->fill_comp (DEMANGLE_COMPONENT_CAST, $3, NULL),
 				    $6);
 		}
 	;
 
 exp	:	REINTERPRET_CAST '<' type '>' '(' exp1 ')' %prec UNARY
-		{ $$ = fill_comp (DEMANGLE_COMPONENT_UNARY,
-				    fill_comp (DEMANGLE_COMPONENT_CAST, $3, NULL),
+		{ $$ = state->fill_comp (DEMANGLE_COMPONENT_UNARY,
+				    state->fill_comp (DEMANGLE_COMPONENT_CAST, $3, NULL),
 				    $6);
 		}
 	;
@@ -1075,86 +1060,86 @@ exp	:	REINTERPRET_CAST '<' type '>' '(' 
 /* Binary operators in order of decreasing precedence.  */
 
 exp	:	exp '*' exp
-		{ $$ = d_binary ("*", $1, $3); }
+		{ $$ = state->d_binary ("*", $1, $3); }
 	;
 
 exp	:	exp '/' exp
-		{ $$ = d_binary ("/", $1, $3); }
+		{ $$ = state->d_binary ("/", $1, $3); }
 	;
 
 exp	:	exp '%' exp
-		{ $$ = d_binary ("%", $1, $3); }
+		{ $$ = state->d_binary ("%", $1, $3); }
 	;
 
 exp	:	exp '+' exp
-		{ $$ = d_binary ("+", $1, $3); }
+		{ $$ = state->d_binary ("+", $1, $3); }
 	;
 
 exp	:	exp '-' exp
-		{ $$ = d_binary ("-", $1, $3); }
+		{ $$ = state->d_binary ("-", $1, $3); }
 	;
 
 exp	:	exp LSH exp
-		{ $$ = d_binary ("<<", $1, $3); }
+		{ $$ = state->d_binary ("<<", $1, $3); }
 	;
 
 exp	:	exp RSH exp
-		{ $$ = d_binary (">>", $1, $3); }
+		{ $$ = state->d_binary (">>", $1, $3); }
 	;
 
 exp	:	exp EQUAL exp
-		{ $$ = d_binary ("==", $1, $3); }
+		{ $$ = state->d_binary ("==", $1, $3); }
 	;
 
 exp	:	exp NOTEQUAL exp
-		{ $$ = d_binary ("!=", $1, $3); }
+		{ $$ = state->d_binary ("!=", $1, $3); }
 	;
 
 exp	:	exp LEQ exp
-		{ $$ = d_binary ("<=", $1, $3); }
+		{ $$ = state->d_binary ("<=", $1, $3); }
 	;
 
 exp	:	exp GEQ exp
-		{ $$ = d_binary (">=", $1, $3); }
+		{ $$ = state->d_binary (">=", $1, $3); }
 	;
 
 exp	:	exp '<' exp
-		{ $$ = d_binary ("<", $1, $3); }
+		{ $$ = state->d_binary ("<", $1, $3); }
 	;
 
 exp	:	exp '&' exp
-		{ $$ = d_binary ("&", $1, $3); }
+		{ $$ = state->d_binary ("&", $1, $3); }
 	;
 
 exp	:	exp '^' exp
-		{ $$ = d_binary ("^", $1, $3); }
+		{ $$ = state->d_binary ("^", $1, $3); }
 	;
 
 exp	:	exp '|' exp
-		{ $$ = d_binary ("|", $1, $3); }
+		{ $$ = state->d_binary ("|", $1, $3); }
 	;
 
 exp	:	exp ANDAND exp
-		{ $$ = d_binary ("&&", $1, $3); }
+		{ $$ = state->d_binary ("&&", $1, $3); }
 	;
 
 exp	:	exp OROR exp
-		{ $$ = d_binary ("||", $1, $3); }
+		{ $$ = state->d_binary ("||", $1, $3); }
 	;
 
 /* Not 100% sure these are necessary, but they're harmless.  */
 exp	:	exp ARROW NAME
-		{ $$ = d_binary ("->", $1, $3); }
+		{ $$ = state->d_binary ("->", $1, $3); }
 	;
 
 exp	:	exp '.' NAME
-		{ $$ = d_binary (".", $1, $3); }
+		{ $$ = state->d_binary (".", $1, $3); }
 	;
 
 exp	:	exp '?' exp ':' exp	%prec '?'
-		{ $$ = fill_comp (DEMANGLE_COMPONENT_TRINARY, make_operator ("?", 3),
-				    fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG1, $1,
-						 fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG2, $3, $5)));
+		{ $$ = state->fill_comp (DEMANGLE_COMPONENT_TRINARY, state->make_operator ("?", 3),
+				    state->fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG1, $1,
+						 state->fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG2, $3, $5)));
 		}
 	;
 			  
@@ -1169,25 +1154,25 @@ exp	:	SIZEOF '(' type ')'	%prec UNARY
 		{
 		  /* Match the whitespacing of cplus_demangle_operators.
 		     It would abort on unrecognized string otherwise.  */
-		  $$ = d_unary ("sizeof ", $3);
+		  $$ = state->d_unary ("sizeof ", $3);
 		}
 	;
 
 /* C++.  */
 exp     :       TRUEKEYWORD    
 		{ struct demangle_component *i;
-		  i = make_name ("1", 1);
-		  $$ = fill_comp (DEMANGLE_COMPONENT_LITERAL,
-				    make_builtin_type ("bool"),
+		  i = state->make_name ("1", 1);
+		  $$ = state->fill_comp (DEMANGLE_COMPONENT_LITERAL,
+				    state->make_builtin_type ( "bool"),
 				    i);
 		}
 	;
 
 exp     :       FALSEKEYWORD   
 		{ struct demangle_component *i;
-		  i = make_name ("0", 1);
-		  $$ = fill_comp (DEMANGLE_COMPONENT_LITERAL,
-				    make_builtin_type ("bool"),
+		  i = state->make_name ("0", 1);
+		  $$ = state->fill_comp (DEMANGLE_COMPONENT_LITERAL,
+				    state->make_builtin_type ("bool"),
 				    i);
 		}
 	;
@@ -1202,7 +1187,8 @@ exp     :       FALSEKEYWORD   
    may already be qualified; duplicate qualifiers are not created.  */
 
 struct demangle_component *
-d_qualify (struct demangle_component *lhs, int qualifiers, int is_method)
+cpname_state::d_qualify (struct demangle_component *lhs, int qualifiers,
+			 int is_method)
 {
   struct demangle_component **inner_p;
   enum demangle_component_type type;
@@ -1212,8 +1198,8 @@ d_qualify (struct demangle_component *lh
 #define HANDLE_QUAL(TYPE, MTYPE, QUAL)				\
   if ((qualifiers & QUAL) && (type != TYPE) && (type != MTYPE))	\
     {								\
-      *inner_p = fill_comp (is_method ? MTYPE : TYPE,	\
-			      *inner_p, NULL);			\
+      *inner_p = fill_comp (is_method ? MTYPE : TYPE,		\
+			    *inner_p, NULL);			\
       inner_p = &d_left (*inner_p);				\
       type = (*inner_p)->type;					\
     }								\
@@ -1236,8 +1222,8 @@ d_qualify (struct demangle_component *lh
 
 /* Return a builtin type corresponding to FLAGS.  */
 
-static struct demangle_component *
-d_int_type (int flags)
+struct demangle_component *
+cpname_state::d_int_type (int flags)
 {
   const char *name;
 
@@ -1289,41 +1275,20 @@ d_int_type (int flags)
 
 /* Wrapper to create a unary operation.  */
 
-static struct demangle_component *
-d_unary (const char *name, struct demangle_component *lhs)
+struct demangle_component *
+cpname_state::d_unary (const char *name, struct demangle_component *lhs)
 {
   return fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator (name, 1), lhs);
 }
 
 /* Wrapper to create a binary operation.  */
 
-static struct demangle_component *
-d_binary (const char *name, struct demangle_component *lhs, struct demangle_component *rhs)
+struct demangle_component *
+cpname_state::d_binary (const char *name, struct demangle_component *lhs,
+			struct demangle_component *rhs)
 {
   return fill_comp (DEMANGLE_COMPONENT_BINARY, make_operator (name, 2),
-		      fill_comp (DEMANGLE_COMPONENT_BINARY_ARGS, lhs, rhs));
-}
-
-/* Like ISALPHA, but also returns true for the union of all UTF-8
-   multi-byte sequence bytes and non-ASCII characters in
-   extended-ASCII charsets (e.g., Latin1).  I.e., returns true if the
-   high bit is set.  Note that not all UTF-8 ranges are allowed in C++
-   identifiers, but we don't need to be pedantic so for simplicity we
-   ignore that here.  Plus this avoids the complication of actually
-   knowing what was the right encoding.  */
-
-static inline bool
-cp_ident_is_alpha (unsigned char ch)
-{
-  return ISALPHA (ch) || ch >= 0x80;
-}
-
-/* Similarly, but Like ISALNUM.  */
-
-static inline bool
-cp_ident_is_alnum (unsigned char ch)
-{
-  return ISALNUM (ch) || ch >= 0x80;
+		    fill_comp (DEMANGLE_COMPONENT_BINARY_ARGS, lhs, rhs));
 }
 
 /* Find the end of a symbol name starting at LEXPTR.  */
@@ -1333,7 +1298,7 @@ symbol_end (const char *lexptr)
 {
   const char *p = lexptr;
 
-  while (*p && (cp_ident_is_alnum (*p) || *p == '_' || *p == '$' || *p == '.'))
+  while (*p && (c_ident_is_alnum (*p) || *p == '_' || *p == '$' || *p == '.'))
     p++;
 
   return p;
@@ -1343,8 +1308,9 @@ symbol_end (const char *lexptr)
    The number starts at P and contains LEN characters.  Store the result in
    YYLVAL.  */
 
-static int
-parse_number (const char *p, int len, int parsed_float)
+int
+cpname_state::parse_number (const char *p, int len, int parsed_float,
+			    YYSTYPE *lvalp)
 {
   int unsigned_p = 0;
 
@@ -1394,7 +1360,7 @@ parse_number (const char *p, int len, in
 	return ERROR;
 
       name = make_name (p, len);
-      yylval.comp = fill_comp (literal_type, type, name);
+      lvalp->comp = fill_comp (literal_type, type, name);
 
       return FLOAT;
     }
@@ -1443,13 +1409,13 @@ parse_number (const char *p, int len, in
      type = signed_type;
 
    name = make_name (p, len);
-   yylval.comp = fill_comp (literal_type, type, name);
+   lvalp->comp = fill_comp (literal_type, type, name);
 
    return INT;
 }
 
-static char backslashable[] = "abefnrtv";
-static char represented[] = "\a\b\e\f\n\r\t\v";
+static const char backslashable[] = "abefnrtv";
+static const char represented[] = "\a\b\e\f\n\r\t\v";
 
 /* Translate the backslash the way we would in the host character set.  */
 static int
@@ -1547,39 +1513,39 @@ cp_parse_escape (const char **string_ptr
 #define HANDLE_SPECIAL(string, comp)				\
   if (strncmp (tokstart, string, sizeof (string) - 1) == 0)	\
     {								\
-      lexptr = tokstart + sizeof (string) - 1;			\
-      yylval.lval = comp;					\
+      state->lexptr = tokstart + sizeof (string) - 1;			\
+      lvalp->lval = comp;					\
       return DEMANGLER_SPECIAL;					\
     }
 
 #define HANDLE_TOKEN2(string, token)			\
-  if (lexptr[1] == string[1])				\
+  if (state->lexptr[1] == string[1])				\
     {							\
-      lexptr += 2;					\
-      yylval.opname = string;				\
+      state->lexptr += 2;					\
+      lvalp->opname = string;				\
       return token;					\
     }      
 
 #define HANDLE_TOKEN3(string, token)			\
-  if (lexptr[1] == string[1] && lexptr[2] == string[2])	\
+  if (state->lexptr[1] == string[1] && state->lexptr[2] == string[2])	\
     {							\
-      lexptr += 3;					\
-      yylval.opname = string;				\
+      state->lexptr += 3;					\
+      lvalp->opname = string;				\
       return token;					\
     }      
 
 /* Read one token, getting characters through LEXPTR.  */
 
 static int
-yylex (void)
+yylex (YYSTYPE *lvalp, cpname_state *state)
 {
   int c;
   int namelen;
   const char *tokstart;
 
  retry:
-  prev_lexptr = lexptr;
-  tokstart = lexptr;
+  state->prev_lexptr = state->lexptr;
+  tokstart = state->lexptr;
 
   switch (c = *tokstart)
     {
@@ -1589,27 +1555,27 @@ yylex (void)
     case ' ':
     case '\t':
     case '\n':
-      lexptr++;
+      state->lexptr++;
       goto retry;
 
     case '\'':
       /* We either have a character constant ('0' or '\177' for example)
 	 or we have a quoted symbol reference ('foo(int,int)' in C++
 	 for example). */
-      lexptr++;
-      c = *lexptr++;
+      state->lexptr++;
+      c = *state->lexptr++;
       if (c == '\\')
-	c = cp_parse_escape (&lexptr);
+	c = cp_parse_escape (&state->lexptr);
       else if (c == '\'')
 	{
-	  yyerror (_("empty character constant"));
+	  yyerror (state, _("empty character constant"));
 	  return ERROR;
 	}
 
-      c = *lexptr++;
+      c = *state->lexptr++;
       if (c != '\'')
 	{
-	  yyerror (_("invalid character constant"));
+	  yyerror (state, _("invalid character constant"));
 	  return ERROR;
 	}
 
@@ -1617,36 +1583,38 @@ yylex (void)
 	 presumably the same one that appears in manglings - the decimal
 	 representation.  But if that isn't in our input then we have to
 	 allocate memory for it somewhere.  */
-      yylval.comp = fill_comp (DEMANGLE_COMPONENT_LITERAL,
-				 make_builtin_type ("char"),
-				 make_name (tokstart, lexptr - tokstart));
+      lvalp->comp
+	= state->fill_comp (DEMANGLE_COMPONENT_LITERAL,
+			    state->make_builtin_type ("char"),
+			    state->make_name (tokstart,
+					      state->lexptr - tokstart));
 
       return INT;
 
     case '(':
       if (strncmp (tokstart, "(anonymous namespace)", 21) == 0)
 	{
-	  lexptr += 21;
-	  yylval.comp = make_name ("(anonymous namespace)",
-				     sizeof "(anonymous namespace)" - 1);
+	  state->lexptr += 21;
+	  lvalp->comp = state->make_name ("(anonymous namespace)",
+					  sizeof "(anonymous namespace)" - 1);
 	  return NAME;
 	}
 	/* FALL THROUGH */
 
     case ')':
     case ',':
-      lexptr++;
+      state->lexptr++;
       return c;
 
     case '.':
-      if (lexptr[1] == '.' && lexptr[2] == '.')
+      if (state->lexptr[1] == '.' && state->lexptr[2] == '.')
 	{
-	  lexptr += 3;
+	  state->lexptr += 3;
 	  return ELLIPSIS;
 	}
 
       /* Might be a floating point number.  */
-      if (lexptr[1] < '0' || lexptr[1] > '9')
+      if (state->lexptr[1] < '0' || state->lexptr[1] > '9')
 	goto symbol;		/* Nope, must be a symbol. */
 
       goto try_number;
@@ -1659,16 +1627,16 @@ yylex (void)
       /* For construction vtables.  This is kind of hokey.  */
       if (strncmp (tokstart, "-in-", 4) == 0)
 	{
-	  lexptr += 4;
+	  state->lexptr += 4;
 	  return CONSTRUCTION_IN;
 	}
 
-      if (lexptr[1] < '0' || lexptr[1] > '9')
+      if (state->lexptr[1] < '0' || state->lexptr[1] > '9')
 	{
-	  lexptr++;
+	  state->lexptr++;
 	  return '-';
 	}
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
 
     try_number:
     case '0':
@@ -1726,74 +1694,75 @@ yylex (void)
 	    else if (! ISALNUM (*p))
 	      break;
 	  }
-	toktype = parse_number (tokstart, p - tokstart, got_dot|got_e);
+	toktype = state->parse_number (tokstart, p - tokstart, got_dot|got_e,
+				       lvalp);
         if (toktype == ERROR)
 	  {
 	    char *err_copy = (char *) alloca (p - tokstart + 1);
 
 	    memcpy (err_copy, tokstart, p - tokstart);
 	    err_copy[p - tokstart] = 0;
-	    yyerror (_("invalid number"));
+	    yyerror (state, _("invalid number"));
 	    return ERROR;
 	  }
-	lexptr = p;
+	state->lexptr = p;
 	return toktype;
       }
 
     case '+':
       HANDLE_TOKEN2 ("+=", ASSIGN_MODIFY);
       HANDLE_TOKEN2 ("++", INCREMENT);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '*':
       HANDLE_TOKEN2 ("*=", ASSIGN_MODIFY);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '/':
       HANDLE_TOKEN2 ("/=", ASSIGN_MODIFY);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '%':
       HANDLE_TOKEN2 ("%=", ASSIGN_MODIFY);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '|':
       HANDLE_TOKEN2 ("|=", ASSIGN_MODIFY);
       HANDLE_TOKEN2 ("||", OROR);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '&':
       HANDLE_TOKEN2 ("&=", ASSIGN_MODIFY);
       HANDLE_TOKEN2 ("&&", ANDAND);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '^':
       HANDLE_TOKEN2 ("^=", ASSIGN_MODIFY);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '!':
       HANDLE_TOKEN2 ("!=", NOTEQUAL);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '<':
       HANDLE_TOKEN3 ("<<=", ASSIGN_MODIFY);
       HANDLE_TOKEN2 ("<=", LEQ);
       HANDLE_TOKEN2 ("<<", LSH);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '>':
       HANDLE_TOKEN3 (">>=", ASSIGN_MODIFY);
       HANDLE_TOKEN2 (">=", GEQ);
       HANDLE_TOKEN2 (">>", RSH);
-      lexptr++;
+      state->lexptr++;
       return c;
     case '=':
       HANDLE_TOKEN2 ("==", EQUAL);
-      lexptr++;
+      state->lexptr++;
       return c;
     case ':':
       HANDLE_TOKEN2 ("::", COLONCOLON);
-      lexptr++;
+      state->lexptr++;
       return c;
 
     case '[':
@@ -1804,19 +1773,19 @@ yylex (void)
     case '{':
     case '}':
     symbol:
-      lexptr++;
+      state->lexptr++;
       return c;
 
     case '"':
       /* These can't occur in C++ names.  */
-      yyerror (_("unexpected string literal"));
+      yyerror (state, _("unexpected string literal"));
       return ERROR;
     }
 
-  if (!(c == '_' || c == '$' || cp_ident_is_alpha (c)))
+  if (!(c == '_' || c == '$' || c_ident_is_alpha (c)))
     {
       /* We must have come across a bad character (e.g. ';').  */
-      yyerror (_("invalid character"));
+      yyerror (state, _("invalid character"));
       return ERROR;
     }
 
@@ -1824,9 +1793,9 @@ yylex (void)
   namelen = 0;
   do
     c = tokstart[++namelen];
-  while (cp_ident_is_alnum (c) || c == '_' || c == '$');
+  while (c_ident_is_alnum (c) || c == '_' || c == '$');
 
-  lexptr += namelen;
+  state->lexptr += namelen;
 
   /* Catch specific keywords.  Notice that some of the keywords contain
      spaces, and are sorted by the length of the first word.  They must
@@ -1840,7 +1809,7 @@ yylex (void)
     case 12:
       if (strncmp (tokstart, "construction vtable for ", 24) == 0)
 	{
-	  lexptr = tokstart + 24;
+	  state->lexptr = tokstart + 24;
 	  return CONSTRUCTION_VTABLE;
 	}
       if (strncmp (tokstart, "dynamic_cast", 12) == 0)
@@ -1878,23 +1847,23 @@ yylex (void)
       if (strncmp (tokstart, "global constructors keyed to ", 29) == 0)
 	{
 	  const char *p;
-	  lexptr = tokstart + 29;
-	  yylval.lval = DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS;
+	  state->lexptr = tokstart + 29;
+	  lvalp->lval = DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS;
 	  /* Find the end of the symbol.  */
-	  p = symbol_end (lexptr);
-	  yylval.comp = make_name (lexptr, p - lexptr);
-	  lexptr = p;
+	  p = symbol_end (state->lexptr);
+	  lvalp->comp = state->make_name (state->lexptr, p - state->lexptr);
+	  state->lexptr = p;
 	  return DEMANGLER_SPECIAL;
 	}
       if (strncmp (tokstart, "global destructors keyed to ", 28) == 0)
 	{
 	  const char *p;
-	  lexptr = tokstart + 28;
-	  yylval.lval = DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS;
+	  state->lexptr = tokstart + 28;
+	  lvalp->lval = DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS;
 	  /* Find the end of the symbol.  */
-	  p = symbol_end (lexptr);
-	  yylval.comp = make_name (lexptr, p - lexptr);
-	  lexptr = p;
+	  p = symbol_end (state->lexptr);
+	  lvalp->comp = state->make_name (state->lexptr, p - state->lexptr);
+	  state->lexptr = p;
 	  return DEMANGLER_SPECIAL;
 	}
 
@@ -1951,18 +1920,18 @@ yylex (void)
       break;
     }
 
-  yylval.comp = make_name (tokstart, namelen);
+  lvalp->comp = state->make_name (tokstart, namelen);
   return NAME;
 }
 
 static void
-yyerror (const char *msg)
+yyerror (cpname_state *state, const char *msg)
 {
-  if (global_errmsg)
+  if (state->global_errmsg)
     return;
 
-  error_lexptr = prev_lexptr;
-  global_errmsg = msg ? msg : "parse error";
+  state->error_lexptr = state->prev_lexptr;
+  state->global_errmsg = msg ? msg : "parse error";
 }
 
 /* Allocate a chunk of the components we'll need to build a tree.  We
@@ -2054,36 +2023,31 @@ cp_merge_demangle_parse_infos (struct de
 /* Convert a demangled name to a demangle_component tree.  On success,
    a structure containing the root of the new tree is returned.  On
    error, NULL is returned, and an error message will be set in
-   *ERRMSG (which does not need to be freed).  */
+   *ERRMSG.  */
 
 struct std::unique_ptr<demangle_parse_info>
-cp_demangled_name_to_comp (const char *demangled_name, const char **errmsg)
+cp_demangled_name_to_comp (const char *demangled_name,
+			   std::string *errmsg)
 {
-  static char errbuf[60];
+  cpname_state state;
 
-  prev_lexptr = lexptr = demangled_name;
-  error_lexptr = NULL;
-  global_errmsg = NULL;
+  state.prev_lexptr = state.lexptr = demangled_name;
+  state.error_lexptr = NULL;
+  state.global_errmsg = NULL;
 
-  demangle_info = allocate_info ();
+  state.demangle_info = allocate_info ();
 
   std::unique_ptr<demangle_parse_info> result (new demangle_parse_info);
-  result->info = demangle_info;
+  result->info = state.demangle_info;
 
-  if (yyparse ())
+  if (yyparse (&state))
     {
-      if (global_errmsg && errmsg)
-	{
-	  snprintf (errbuf, sizeof (errbuf) - 2, "%s, near `%s",
-		    global_errmsg, error_lexptr);
-	  strcat (errbuf, "'");
-	  *errmsg = errbuf;
-	}
+      if (state.global_errmsg && errmsg)
+	*errmsg = state.global_errmsg;
       return NULL;
     }
 
-  result->tree = global_result;
-  global_result = NULL;
+  result->tree = state.global_result;
 
   return result;
 }
@@ -2154,7 +2118,6 @@ main (int argc, char **argv)
   char *str2, *extra_chars, c;
   char buf[65536];
   int arg;
-  const char *errmsg;
 
   arg = 1;
   if (argv[arg] && strcmp (argv[arg], "--debug") == 0)
@@ -2181,11 +2144,12 @@ main (int argc, char **argv)
 	    continue;
 	  }
 
+	std::string errmsg;
 	std::unique_ptr<demangle_parse_info> result
 	  = cp_demangled_name_to_comp (str2, &errmsg);
 	if (result == NULL)
 	  {
-	    fputs (errmsg, stderr);
+	    fputs (errmsg.c_str (), stderr);
 	    fputc ('\n', stderr);
 	    continue;
 	  }
@@ -2202,11 +2166,12 @@ main (int argc, char **argv)
       }
   else
     {
+      std::string errmsg;
       std::unique_ptr<demangle_parse_info> result
 	= cp_demangled_name_to_comp (argv[arg], &errmsg);
       if (result == NULL)
 	{
-	  fputs (errmsg, stderr);
+	  fputs (errmsg.c_str (), stderr);
 	  fputc ('\n', stderr);
 	  return 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.1.0.20180703/gdb/cp-namespace.c ./gdb/cp-namespace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cp-namespace.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cp-namespace.c	2018-07-10 02:06:13.000000000 +0000
@@ -915,7 +915,7 @@ cp_lookup_nested_symbol (struct type *pa
 			 const struct block *block,
 			 const domain_enum domain)
 {
-  /* type_name_no_tag_or_error provides better error reporting using the
+  /* type_name_or_error provides better error reporting using the
      original type.  */
   struct type *saved_parent_type = parent_type;
 
@@ -923,7 +923,7 @@ cp_lookup_nested_symbol (struct type *pa
 
   if (symbol_lookup_debug)
     {
-      const char *type_name = type_name_no_tag (saved_parent_type);
+      const char *type_name = TYPE_NAME (saved_parent_type);
 
       fprintf_unfiltered (gdb_stdlog,
 			  "cp_lookup_nested_symbol (%s, %s, %s, %s)\n",
@@ -944,7 +944,7 @@ cp_lookup_nested_symbol (struct type *pa
     case TYPE_CODE_MODULE:
       {
 	int size;
-	const char *parent_name = type_name_no_tag_or_error (saved_parent_type);
+	const char *parent_name = type_name_or_error (saved_parent_type);
 	struct block_symbol sym;
 	char *concatenated_name;
 	int is_in_anonymous;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cp-support.c ./gdb/cp-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cp-support.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cp-support.c	2018-07-10 02:06:13.000000000 +0000
@@ -199,7 +199,7 @@ inspect_type (struct demangle_parse_info
 	      && strcmp (TYPE_NAME (type), name) == 0)
 	    return 0;
 
-	  is_anon = (TYPE_TAG_NAME (type) == NULL
+	  is_anon = (TYPE_NAME (type) == NULL
 		     && (TYPE_CODE (type) == TYPE_CODE_ENUM
 			 || TYPE_CODE (type) == TYPE_CODE_STRUCT
 			 || TYPE_CODE (type) == TYPE_CODE_UNION));
@@ -1108,8 +1108,7 @@ cp_find_first_component_aux (const char 
 static void
 demangled_name_complaint (const char *name)
 {
-  complaint (&symfile_complaints,
-	     "unexpected demangled name '%s'", name);
+  complaint ("unexpected demangled name '%s'", name);
 }
 
 /* If NAME is the fully-qualified name of a C++
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cp-support.h ./gdb/cp-support.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cp-support.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cp-support.h	2018-07-10 02:06:13.000000000 +0000
@@ -169,7 +169,7 @@ struct type *cp_find_type_baseclass_by_n
 /* Functions from cp-name-parser.y.  */
 
 extern std::unique_ptr<demangle_parse_info> cp_demangled_name_to_comp
-     (const char *demangled_name, const char **errmsg);
+     (const char *demangled_name, std::string *errmsg);
 
 extern gdb::unique_xmalloc_ptr<char> cp_comp_to_string
   (struct demangle_component *result, int estimated_len);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cp-valprint.c ./gdb/cp-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cp-valprint.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cp-valprint.c	2018-07-10 02:06:13.000000000 +0000
@@ -95,7 +95,7 @@ extern const char vtbl_ptr_name[] = "__v
 int
 cp_is_vtbl_ptr_type (struct type *type)
 {
-  const char *type_name = type_name_no_tag (type);
+  const char *type_name = TYPE_NAME (type);
 
   return (type_name != NULL && !strcmp (type_name, vtbl_ptr_name));
 }
@@ -243,7 +243,7 @@ cp_print_value_fields (struct type *type
 		  fprintf_filtered (stream, "\n");
 		  print_spaces_filtered (2 + 2 * recurse, stream);
 		  fputs_filtered ("members of ", stream);
-		  fputs_filtered (type_name_no_tag (type), stream);
+		  fputs_filtered (TYPE_NAME (type), stream);
 		  fputs_filtered (": ", stream);
 		}
 	    }
@@ -633,7 +633,8 @@ cp_print_static_field (struct type *type
       return;
     }
 
-  if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
+  struct type *real_type = check_typedef (type);
+  if (TYPE_CODE (real_type) == TYPE_CODE_STRUCT)
     {
       CORE_ADDR *first_dont_print;
       CORE_ADDR addr;
@@ -658,7 +659,6 @@ cp_print_static_field (struct type *type
       addr = value_address (val);
       obstack_grow (&dont_print_statmem_obstack, (char *) &addr,
 		    sizeof (CORE_ADDR));
-      type = check_typedef (type);
       cp_print_value_fields (type, value_enclosing_type (val),
 			     value_embedded_offset (val), addr,
 			     stream, recurse, val,
@@ -666,7 +666,7 @@ cp_print_static_field (struct type *type
       return;
     }
 
-  if (TYPE_CODE (type) == TYPE_CODE_ARRAY)
+  if (TYPE_CODE (real_type) == TYPE_CODE_ARRAY)
     {
       struct type **first_dont_print;
       int i;
@@ -787,7 +787,7 @@ cp_print_class_member (const gdb_byte *v
       const char *name;
 
       fputs_filtered (prefix, stream);
-      name = type_name_no_tag (self_type);
+      name = TYPE_NAME (self_type);
       if (name)
 	fputs_filtered (name, stream);
       else
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cris-tdep.c ./gdb/cris-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/cris-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/cris-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -849,7 +849,7 @@ cris_push_dummy_call (struct gdbarch *gd
           /* Data passed by value.  Fits in available register(s).  */
           for (i = 0; i < reg_demand; i++)
             {
-              regcache_cooked_write (regcache, argreg, val);
+              regcache->cooked_write (argreg, val);
               argreg++;
               val += 4;
             }
@@ -862,7 +862,7 @@ cris_push_dummy_call (struct gdbarch *gd
             {
               if (argreg <= ARG4_REGNUM)
                 {
-		  regcache_cooked_write (regcache, argreg, val);
+        	  regcache->cooked_write (argreg, val);
                   argreg++;
                   val += 4;
                 }
@@ -3809,7 +3809,7 @@ cris_supply_gregset (struct regcache *re
      knows about the actual size of each register so that's no problem.  */
   for (i = 0; i < NUM_GENREGS + NUM_SPECREGS; i++)
     {
-      regcache_raw_supply (regcache, i, (char *)&regp[i]);
+      regcache->raw_supply (i, (char *)&regp[i]);
     }
 
   if (tdep->cris_version == 32)
@@ -3817,8 +3817,8 @@ cris_supply_gregset (struct regcache *re
       /* Needed to set pseudo-register PC for CRISv32.  */
       /* FIXME: If ERP is in a delay slot at this point then the PC will
 	 be wrong.  Issue a warning to alert the user.  */
-      regcache_raw_supply (regcache, gdbarch_pc_regnum (gdbarch),
-			   (char *)&regp[ERP_REGNUM]);
+      regcache->raw_supply (gdbarch_pc_regnum (gdbarch),
+			    (char *)&regp[ERP_REGNUM]);
 
       if (*(char *)&regp[ERP_REGNUM] & 0x1)
 	fprintf_unfiltered (gdb_stderr, "Warning: PC in delay slot\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.1.0.20180703/gdb/c-support.h ./gdb/c-support.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-support.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/c-support.h	2018-07-10 02:06:12.000000000 +0000
@@ -0,0 +1,46 @@
+/* Helper routines for C support in GDB.
+   Copyright (C) 2017-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef C_SUPPORT_H
+#define C_SUPPORT_H
+
+#include "safe-ctype.h"
+
+/* Like ISALPHA, but also returns true for the union of all UTF-8
+   multi-byte sequence bytes and non-ASCII characters in
+   extended-ASCII charsets (e.g., Latin1).  I.e., returns true if the
+   high bit is set.  Note that not all UTF-8 ranges are allowed in C++
+   identifiers, but we don't need to be pedantic so for simplicity we
+   ignore that here.  Plus this avoids the complication of actually
+   knowing what was the right encoding.  */
+
+static inline bool
+c_ident_is_alpha (unsigned char ch)
+{
+  return ISALPHA (ch) || ch >= 0x80;
+}
+
+/* Similarly, but Like ISALNUM.  */
+
+static inline bool
+c_ident_is_alnum (unsigned char ch)
+{
+  return ISALNUM (ch) || ch >= 0x80;
+}
+
+#endif /* C_SUPPORT_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ctf.c ./gdb/ctf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ctf.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ctf.c	2018-07-10 02:06:13.000000000 +0000
@@ -32,6 +32,36 @@
 #include <ctype.h>
 #include <algorithm>
 
+/* The CTF target.  */
+
+static const target_info ctf_target_info = {
+  "ctf",
+  N_("CTF file"),
+  N_("(Use a CTF directory as a target.\n\
+Specify the filename of the CTF directory.")
+};
+
+class ctf_target final : public tracefile_target
+{
+public:
+  const target_info &info () const override
+  { return ctf_target_info; }
+
+  void close () override;
+  void fetch_registers (struct regcache *, int) override;
+  enum target_xfer_status xfer_partial (enum target_object object,
+						const char *annex,
+						gdb_byte *readbuf,
+						const gdb_byte *writebuf,
+						ULONGEST offset, ULONGEST len,
+						ULONGEST *xfered_len) override;
+  void files_info () override;
+  int trace_find (enum trace_find_type type, int num,
+			  CORE_ADDR addr1, CORE_ADDR addr2, int *tpp) override;
+  bool get_trace_state_variable_value (int tsv, LONGEST *val) override;
+  traceframe_info_up traceframe_info () override;
+};
+
 /* GDB saves trace buffers and other information (such as trace
    status) got from the remote target into Common Trace Format (CTF).
    The following types of information are expected to save in CTF:
@@ -530,8 +560,6 @@ ctf_write_uploaded_tp (struct trace_file
   int64_t int64;
   uint32_t u32;
   const gdb_byte zero = 0;
-  int a;
-  char *act;
 
   /* Event Id.  */
   int32 = CTF_EVENT_ID_TP_DEF;
@@ -569,15 +597,15 @@ ctf_write_uploaded_tp (struct trace_file
   ctf_save_write (&writer->tcs, &zero, 1);
 
   /* actions */
-  u32 = VEC_length (char_ptr, tp->actions);
+  u32 = tp->actions.size ();
   ctf_save_align_write (&writer->tcs, (gdb_byte *) &u32, 4, 4);
-  for (a = 0; VEC_iterate (char_ptr, tp->actions, a, act); ++a)
+  for (char *act : tp->actions)
     ctf_save_write (&writer->tcs, (gdb_byte *) act, strlen (act) + 1);
 
   /* step_actions */
-  u32 = VEC_length (char_ptr, tp->step_actions);
+  u32 = tp->step_actions.size ();
   ctf_save_align_write (&writer->tcs, (gdb_byte *) &u32, 4, 4);
-  for (a = 0; VEC_iterate (char_ptr, tp->step_actions, a, act); ++a)
+  for (char *act : tp->step_actions)
     ctf_save_write (&writer->tcs, (gdb_byte *) act, strlen (act) + 1);
 
   /* at_string */
@@ -593,9 +621,9 @@ ctf_write_uploaded_tp (struct trace_file
   ctf_save_write (&writer->tcs, &zero, 1);
 
   /* cmd_strings */
-  u32 = VEC_length (char_ptr, tp->cmd_strings);
+  u32 = tp->cmd_strings.size ();
   ctf_save_align_write (&writer->tcs, (gdb_byte *) &u32, 4, 4);
-  for (a = 0; VEC_iterate (char_ptr, tp->cmd_strings, a, act); ++a)
+  for (char *act : tp->cmd_strings)
     ctf_save_write (&writer->tcs, (gdb_byte *) act, strlen (act) + 1);
 
 }
@@ -828,7 +856,7 @@ static struct bt_iter_pos *start_pos;
 /* The name of CTF directory.  */
 static char *trace_dirname;
 
-static struct target_ops ctf_ops;
+static ctf_target ctf_ops;
 
 /* Destroy ctf iterator and context.  */
 
@@ -992,8 +1020,8 @@ ctf_read_tsv (struct uploaded_tsv **uplo
 	  const struct bt_definition *element				\
 	    = bt_ctf_get_index ((EVENT), def, i);			\
 									\
-	  VEC_safe_push (char_ptr, (VAR)->ARRAY,			\
-			 xstrdup (bt_ctf_get_string (element)));	\
+	  (VAR)->ARRAY.push_back					\
+	    (xstrdup (bt_ctf_get_string (element)));			\
 	}								\
     }									\
   while (0)
@@ -1077,7 +1105,7 @@ ctf_read_tp (struct uploaded_tp **upload
    second packet which contains events on trace blocks.  */
 
 static void
-ctf_open (const char *dirname, int from_tty)
+ctf_target_open (const char *dirname, int from_tty)
 {
   struct bt_ctf_event *event;
   uint32_t event_id;
@@ -1132,7 +1160,7 @@ ctf_open (const char *dirname, int from_
   push_target (&ctf_ops);
 
   inferior_appeared (current_inferior (), CTF_PID);
-  inferior_ptid = pid_to_ptid (CTF_PID);
+  inferior_ptid = ptid_t (CTF_PID);
   add_thread_silent (inferior_ptid);
 
   merge_uploaded_trace_state_variables (&uploaded_tsvs);
@@ -1144,18 +1172,15 @@ ctf_open (const char *dirname, int from_
 /* This is the implementation of target_ops method to_close.  Destroy
    CTF iterator and context.  */
 
-static void
-ctf_close (struct target_ops *self)
+void
+ctf_target::close ()
 {
-  int pid;
-
   ctf_destroy ();
   xfree (trace_dirname);
   trace_dirname = NULL;
 
-  pid = ptid_get_pid (inferior_ptid);
   inferior_ptid = null_ptid;	/* Avoid confusion from thread stuff.  */
-  exit_inferior_silent (pid);
+  exit_inferior_silent (current_inferior ());
 
   trace_reset_local_state ();
 }
@@ -1163,8 +1188,8 @@ ctf_close (struct target_ops *self)
 /* This is the implementation of target_ops method to_files_info.
    Print the directory name of CTF trace data.  */
 
-static void
-ctf_files_info (struct target_ops *t)
+void
+ctf_target::files_info ()
 {
   printf_filtered ("\t`%s'\n", trace_dirname);
 }
@@ -1174,9 +1199,8 @@ ctf_files_info (struct target_ops *t)
    extract contents from events, and set REGCACHE with the contents.
    If no matched events are found, mark registers unavailable.  */
 
-static void
-ctf_fetch_registers (struct target_ops *ops,
-		     struct regcache *regcache, int regno)
+void
+ctf_target::fetch_registers (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   struct bt_ctf_event *event = NULL;
@@ -1235,16 +1259,16 @@ ctf_fetch_registers (struct target_ops *
 	  /* Make sure we stay within block bounds.  */
 	  if (offset + regsize >= trace_regblock_size)
 	    break;
-	  if (regcache_register_status (regcache, regn) == REG_UNKNOWN)
+	  if (regcache->get_register_status (regn) == REG_UNKNOWN)
 	    {
 	      if (regno == regn)
 		{
-		  regcache_raw_supply (regcache, regno, regs + offset);
+		  regcache->raw_supply (regno, regs + offset);
 		  break;
 		}
 	      else if (regno == -1)
 		{
-		  regcache_raw_supply (regcache, regn, regs + offset);
+		  regcache->raw_supply (regn, regs + offset);
 		}
 	    }
 	  offset += regsize;
@@ -1260,11 +1284,11 @@ ctf_fetch_registers (struct target_ops *
    OFFSET is within the range, read the contents from events to
    READBUF.  */
 
-static enum target_xfer_status
-ctf_xfer_partial (struct target_ops *ops, enum target_object object,
-		  const char *annex, gdb_byte *readbuf,
-		  const gdb_byte *writebuf, ULONGEST offset,
-		  ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+ctf_target::xfer_partial (enum target_object object,
+			  const char *annex, gdb_byte *readbuf,
+			  const gdb_byte *writebuf, ULONGEST offset,
+			  ULONGEST len, ULONGEST *xfered_len)
 {
   /* We're only doing regular memory for now.  */
   if (object != TARGET_OBJECT_MEMORY)
@@ -1399,12 +1423,11 @@ ctf_xfer_partial (struct target_ops *ops
    trace variable is found, set the value of it to *VAL and return
    true, otherwise return false.  */
 
-static int
-ctf_get_trace_state_variable_value (struct target_ops *self,
-				    int tsvnum, LONGEST *val)
+bool
+ctf_target::get_trace_state_variable_value (int tsvnum, LONGEST *val)
 {
   struct bt_iter_pos *pos;
-  int found = 0;
+  bool found = false;
 
   gdb_assert (ctf_iter != NULL);
   /* Save the current position.  */
@@ -1435,7 +1458,7 @@ ctf_get_trace_state_variable_value (stru
 	      def = bt_ctf_get_field (event, scope, "val");
 	      *val = bt_ctf_get_uint64 (def);
 
-	      found = 1;
+	      found = true;
 	    }
 	}
 
@@ -1517,9 +1540,9 @@ ctf_get_traceframe_address (void)
    Iterate the events whose name is "frame", extract the tracepoint
    number in it.  Return traceframe number when matched.  */
 
-static int
-ctf_trace_find (struct target_ops *self, enum trace_find_type type, int num,
-		CORE_ADDR addr1, CORE_ADDR addr2, int *tpp)
+int
+ctf_target::trace_find (enum trace_find_type type, int num,
+			CORE_ADDR addr1, CORE_ADDR addr2, int *tpp)
 {
   int tfnum = 0;
   int found = 0;
@@ -1619,10 +1642,10 @@ ctf_trace_find (struct target_ops *self,
    frame, extract memory range information, and return them in
    traceframe_info.  */
 
-static traceframe_info_up
-ctf_traceframe_info (struct target_ops *self)
+traceframe_info_up
+ctf_target::traceframe_info ()
 {
-  traceframe_info_up info (new traceframe_info);
+  traceframe_info_up info (new struct traceframe_info);
   const char *name;
   struct bt_iter_pos *pos;
 
@@ -1686,27 +1709,6 @@ ctf_traceframe_info (struct target_ops *
   return info;
 }
 
-static void
-init_ctf_ops (void)
-{
-  memset (&ctf_ops, 0, sizeof (ctf_ops));
-
-  init_tracefile_ops (&ctf_ops);
-  ctf_ops.to_shortname = "ctf";
-  ctf_ops.to_longname = "CTF file";
-  ctf_ops.to_doc = "Use a CTF directory as a target.\n\
-Specify the filename of the CTF directory.";
-  ctf_ops.to_open = ctf_open;
-  ctf_ops.to_close = ctf_close;
-  ctf_ops.to_fetch_registers = ctf_fetch_registers;
-  ctf_ops.to_xfer_partial = ctf_xfer_partial;
-  ctf_ops.to_files_info = ctf_files_info;
-  ctf_ops.to_trace_find = ctf_trace_find;
-  ctf_ops.to_get_trace_state_variable_value
-    = ctf_get_trace_state_variable_value;
-  ctf_ops.to_traceframe_info = ctf_traceframe_info;
-}
-
 #endif
 
 /* module initialization */
@@ -1715,8 +1717,6 @@ void
 _initialize_ctf (void)
 {
 #if HAVE_LIBBABELTRACE
-  init_ctf_ops ();
-
-  add_target_with_completer (&ctf_ops, filename_completer);
+  add_target (ctf_target_info, ctf_target_open, filename_completer);
 #endif
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-typeprint.c ./gdb/c-typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-typeprint.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/c-typeprint.c	2018-07-10 02:06:12.000000000 +0000
@@ -32,14 +32,6 @@
 #include "cp-abi.h"
 #include "cp-support.h"
 
-/* When printing the offsets of a struct and its fields (i.e., 'ptype
-   /o'; type_print_options::print_offsets), we use this many
-   characters when printing the offset information at the beginning of
-   the line.  This is needed in order to generate the correct amount
-   of whitespaces when no offset info should be printed for a certain
-   field.  */
-#define OFFSET_SPC_LEN 23
-
 /* A list of access specifiers used for printing.  */
 
 enum access_specifier
@@ -50,9 +42,15 @@ enum access_specifier
   s_protected
 };
 
+static void c_type_print_varspec_suffix (struct type *, struct ui_file *, int,
+					 int, int,
+					 enum language,
+					 const struct type_print_options *);
+
 static void c_type_print_varspec_prefix (struct type *,
 					 struct ui_file *,
 					 int, int, int,
+					 enum language,
 					 const struct type_print_options *,
 					 struct print_offset_data *);
 
@@ -62,18 +60,19 @@ static void c_type_print_modifier (struc
 				   int, int);
 
 static void c_type_print_base_1 (struct type *type, struct ui_file *stream,
-				 int show, int level,
+				 int show, int level, enum language language,
 				 const struct type_print_options *flags,
 				 struct print_offset_data *podata);
 
 
 /* A callback function for cp_canonicalize_string_full that uses
-   find_typedef_in_hash.  */
+   typedef_hash_table::find_typedef.  */
 
 static const char *
 find_typedef_for_canonicalize (struct type *t, void *data)
 {
-  return find_typedef_in_hash ((const struct type_print_options *) data, t);
+  return typedef_hash_table::find_typedef
+    ((const struct type_print_options *) data, t);
 }
 
 /* Print NAME on STREAM.  If the 'raw' field of FLAGS is not set,
@@ -103,6 +102,7 @@ c_print_type_1 (struct type *type,
 		const char *varstring,
 		struct ui_file *stream,
 		int show, int level,
+		enum language language,
 		const struct type_print_options *flags,
 		struct print_offset_data *podata)
 {
@@ -114,7 +114,7 @@ c_print_type_1 (struct type *type,
   if (show > 0)
     type = check_typedef (type);
 
-  local_name = find_typedef_in_hash (flags, type);
+  local_name = typedef_hash_table::find_typedef (flags, type);
   if (local_name != NULL)
     {
       fputs_filtered (local_name, stream);
@@ -123,7 +123,7 @@ c_print_type_1 (struct type *type,
     }
   else
     {
-      c_type_print_base_1 (type, stream, show, level, flags, podata);
+      c_type_print_base_1 (type, stream, show, level, language, flags, podata);
       code = TYPE_CODE (type);
       if ((varstring != NULL && *varstring != '\0')
 	  /* Need a space if going to print stars or brackets;
@@ -139,7 +139,7 @@ c_print_type_1 (struct type *type,
 	fputs_filtered (" ", stream);
       need_post_space = (varstring != NULL && strcmp (varstring, "") != 0);
       c_type_print_varspec_prefix (type, stream, show, 0, need_post_space,
-				   flags, podata);
+				   language, flags, podata);
     }
 
   if (varstring != NULL)
@@ -153,7 +153,7 @@ c_print_type_1 (struct type *type,
 	  demangled_args = strchr (varstring, '(') != NULL;
 	  c_type_print_varspec_suffix (type, stream, show,
 				       0, demangled_args,
-				       flags);
+				       language, flags);
 	}
     }
 }
@@ -169,7 +169,25 @@ c_print_type (struct type *type,
 {
   struct print_offset_data podata;
 
-  c_print_type_1 (type, varstring, stream, show, level, flags, &podata);
+  c_print_type_1 (type, varstring, stream, show, level,
+		  current_language->la_language, flags, &podata);
+}
+
+
+/* See c-lang.h.  */
+
+void
+c_print_type (struct type *type,
+	      const char *varstring,
+	      struct ui_file *stream,
+	      int show, int level,
+	      enum language language,
+	      const struct type_print_options *flags)
+{
+  struct print_offset_data podata;
+
+  c_print_type_1 (type, varstring, stream, show, level, language, flags,
+		  &podata);
 }
 
 /* Print a typedef using C syntax.  TYPE is the underlying type.
@@ -234,7 +252,7 @@ cp_type_print_derivation_info (struct ui
 			? "public" : (TYPE_FIELD_PROTECTED (type, i)
 				      ? "protected" : "private"),
 			BASETYPE_VIA_VIRTUAL (type, i) ? " virtual" : "");
-      name = type_name_no_tag (TYPE_BASECLASS (type, i));
+      name = TYPE_NAME (TYPE_BASECLASS (type, i));
       if (name)
 	print_name_maybe_canonical (name, flags, stream);
       else
@@ -252,6 +270,7 @@ static void
 cp_type_print_method_args (struct type *mtype, const char *prefix,
 			   const char *varstring, int staticp,
 			   struct ui_file *stream,
+			   enum language language,
 			   const struct type_print_options *flags)
 {
   struct field *args = TYPE_FIELDS (mtype);
@@ -292,7 +311,7 @@ cp_type_print_method_args (struct type *
     }
   else if (varargs)
     fprintf_filtered (stream, "...");
-  else if (current_language->la_language == language_cplus)
+  else if (language == language_cplus)
     fprintf_filtered (stream, "void");
 
   fprintf_filtered (stream, ")");
@@ -339,6 +358,7 @@ c_type_print_varspec_prefix (struct type
 			     struct ui_file *stream,
 			     int show, int passed_a_ptr,
 			     int need_post_space,
+			     enum language language,
 			     const struct type_print_options *flags,
 			     struct print_offset_data *podata)
 {
@@ -356,40 +376,45 @@ c_type_print_varspec_prefix (struct type
     {
     case TYPE_CODE_PTR:
       c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
-				   stream, show, 1, 1, flags, podata);
+				   stream, show, 1, 1, language, flags,
+				   podata);
       fprintf_filtered (stream, "*");
       c_type_print_modifier (type, stream, 1, need_post_space);
       break;
 
     case TYPE_CODE_MEMBERPTR:
       c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
-				   stream, show, 0, 0, flags, podata);
-      name = type_name_no_tag (TYPE_SELF_TYPE (type));
+				   stream, show, 0, 0, language, flags, podata);
+      name = TYPE_NAME (TYPE_SELF_TYPE (type));
       if (name)
 	print_name_maybe_canonical (name, flags, stream);
       else
 	c_type_print_base_1 (TYPE_SELF_TYPE (type),
-			     stream, -1, passed_a_ptr, flags, podata);
+			     stream, -1, passed_a_ptr, language, flags,
+			     podata);
       fprintf_filtered (stream, "::*");
       break;
 
     case TYPE_CODE_METHODPTR:
       c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
-				   stream, show, 0, 0, flags, podata);
+				   stream, show, 0, 0, language, flags,
+				   podata);
       fprintf_filtered (stream, "(");
-      name = type_name_no_tag (TYPE_SELF_TYPE (type));
+      name = TYPE_NAME (TYPE_SELF_TYPE (type));
       if (name)
 	print_name_maybe_canonical (name, flags, stream);
       else
 	c_type_print_base_1 (TYPE_SELF_TYPE (type),
-			     stream, -1, passed_a_ptr, flags, podata);
+			     stream, -1, passed_a_ptr, language, flags,
+			     podata);
       fprintf_filtered (stream, "::*");
       break;
 
     case TYPE_CODE_REF:
     case TYPE_CODE_RVALUE_REF:
       c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
-				   stream, show, 1, 0, flags, podata);
+				   stream, show, 1, 0, language, flags,
+				   podata);
       fprintf_filtered (stream, TYPE_CODE(type) == TYPE_CODE_REF ? "&" : "&&");
       c_type_print_modifier (type, stream, 1, need_post_space);
       break;
@@ -397,22 +422,24 @@ c_type_print_varspec_prefix (struct type
     case TYPE_CODE_METHOD:
     case TYPE_CODE_FUNC:
       c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
-				   stream, show, 0, 0, flags, podata);
+				   stream, show, 0, 0, language, flags,
+				   podata);
       if (passed_a_ptr)
 	fprintf_filtered (stream, "(");
       break;
 
     case TYPE_CODE_ARRAY:
       c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
-				   stream, show, 0, 0, flags, podata);
+				   stream, show, 0, 0, language, flags,
+				   podata);
       if (passed_a_ptr)
 	fprintf_filtered (stream, "(");
       break;
 
     case TYPE_CODE_TYPEDEF:
       c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
-				   stream, show, passed_a_ptr, 0, flags,
-				   podata);
+				   stream, show, passed_a_ptr, 0,
+				   language, flags, podata);
       break;
 
     case TYPE_CODE_UNDEF:
@@ -551,7 +578,7 @@ c_type_print_args (struct type *type, st
 	  param_type = make_cv_type (0, 0, param_type, NULL);
 	}
 
-      c_print_type (param_type, "", stream, -1, 0, flags);
+      c_print_type (param_type, "", stream, -1, 0, language, flags);
       printed_any = 1;
     }
 
@@ -715,11 +742,12 @@ remove_qualifiers (char *qid)
    needed after the variable name (to describe its type).
    Args work like c_type_print_varspec_prefix.  */
 
-void
+static void
 c_type_print_varspec_suffix (struct type *type,
 			     struct ui_file *stream,
 			     int show, int passed_a_ptr,
 			     int demangled_args,
+			     enum language language,
 			     const struct type_print_options *flags)
 {
   if (type == 0)
@@ -752,26 +780,26 @@ c_type_print_varspec_suffix (struct type
 	fprintf_filtered (stream, (is_vector ? ")))" : "]"));
 
 	c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
-				     show, 0, 0, flags);
+				     show, 0, 0, language, flags);
       }
       break;
 
     case TYPE_CODE_MEMBERPTR:
       c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
-				   show, 0, 0, flags);
+				   show, 0, 0, language, flags);
       break;
 
     case TYPE_CODE_METHODPTR:
       fprintf_filtered (stream, ")");
       c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
-				   show, 0, 0, flags);
+				   show, 0, 0, language, flags);
       break;
 
     case TYPE_CODE_PTR:
     case TYPE_CODE_REF:
     case TYPE_CODE_RVALUE_REF:
       c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
-				   show, 1, 0, flags);
+				   show, 1, 0, language, flags);
       break;
 
     case TYPE_CODE_METHOD:
@@ -779,15 +807,14 @@ c_type_print_varspec_suffix (struct type
       if (passed_a_ptr)
 	fprintf_filtered (stream, ")");
       if (!demangled_args)
-	c_type_print_args (type, stream, 0, current_language->la_language,
-			   flags);
+	c_type_print_args (type, stream, 0, language, flags);
       c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
-				   show, passed_a_ptr, 0, flags);
+				   show, passed_a_ptr, 0, language, flags);
       break;
 
     case TYPE_CODE_TYPEDEF:
       c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
-				   show, passed_a_ptr, 0, flags);
+				   show, passed_a_ptr, 0, language, flags);
       break;
 
     case TYPE_CODE_UNDEF:
@@ -878,7 +905,7 @@ print_spaces_filtered_with_print_options
   if (!flags->print_offsets)
     print_spaces_filtered (level, stream);
   else
-    print_spaces_filtered (level + OFFSET_SPC_LEN, stream);
+    print_spaces_filtered (level + print_offset_data::indentation, stream);
 }
 
 /* Output an access specifier to STREAM, if needed.  LAST_ACCESS is the
@@ -921,112 +948,6 @@ output_access_specifier (struct ui_file 
   return last_access;
 }
 
-/* Print information about field at index FIELD_IDX of the union type
-   TYPE.  Since union fields don't have the concept of offsets, we
-   just print their sizes.
-
-   The output is strongly based on pahole(1).  */
-
-static void
-c_print_type_union_field_offset (struct type *type, unsigned int field_idx,
-				 struct ui_file *stream)
-{
-  struct type *ftype = check_typedef (TYPE_FIELD_TYPE (type, field_idx));
-
-  fprintf_filtered (stream, "/*              %4u */", TYPE_LENGTH (ftype));
-}
-
-/* Print information about field at index FIELD_IDX of the struct type
-   TYPE.
-
-   PODATA->END_BITPOS is the one-past-the-end bit position of the
-   previous field (where we expect this field to be if there is no
-   hole).  At the end, ENDPOS is updated to the one-past-the-end bit
-   position of the current field.
-
-   PODATA->OFFSET_BITPOS is the offset value we carry over when we are
-   printing a struct that is inside another struct; this is useful so
-   that the offset is constantly incremented (if we didn't carry it
-   over, the offset would be reset to zero when printing the inner
-   struct).
-
-   The output is strongly based on pahole(1).  */
-
-static void
-c_print_type_struct_field_offset (struct type *type, unsigned int field_idx,
-				  struct ui_file *stream,
-				  struct print_offset_data *podata)
-{
-  struct type *ftype = check_typedef (TYPE_FIELD_TYPE (type, field_idx));
-  unsigned int bitpos = TYPE_FIELD_BITPOS (type, field_idx);
-  unsigned int fieldsize_byte = TYPE_LENGTH (ftype);
-  unsigned int fieldsize_bit = fieldsize_byte * TARGET_CHAR_BIT;
-
-  /* We check for PODATA->END_BITPOS > 0 because there is a specific
-     scenario when PODATA->END_BITPOS can be zero and BITPOS can be >
-     0: when we are dealing with a struct/class with a virtual method.
-     Because of the vtable, the first field of the struct/class will
-     have an offset of sizeof (void *) (the size of the vtable).  If
-     we do not check for PODATA->END_BITPOS > 0 here, GDB will report
-     a hole before the first field, which is not accurate.  */
-  if (podata->end_bitpos > 0 && podata->end_bitpos < bitpos)
-    {
-      /* If PODATA->END_BITPOS is smaller than the current type's
-	 bitpos, it means there's a hole in the struct, so we report
-	 it here.  */
-      unsigned int hole = bitpos - podata->end_bitpos;
-      unsigned int hole_byte = hole / TARGET_CHAR_BIT;
-      unsigned int hole_bit = hole % TARGET_CHAR_BIT;
-
-      if (hole_bit > 0)
-	fprintf_filtered (stream, "/* XXX %2u-bit hole   */\n", hole_bit);
-
-      if (hole_byte > 0)
-	fprintf_filtered (stream, "/* XXX %2u-byte hole  */\n", hole_byte);
-    }
-
-  if (TYPE_FIELD_PACKED (type, field_idx))
-    {
-      /* We're dealing with a bitfield.  Print how many bits are left
-	 to be used.  */
-      unsigned int bitsize = TYPE_FIELD_BITSIZE (type, field_idx);
-      /* The bitpos relative to the beginning of our container
-	 field.  */
-      unsigned int relative_bitpos;
-
-      /* The following was copied from
-	 value.c:value_primitive_field.  */
-      if ((bitpos % fieldsize_bit) + bitsize <= fieldsize_bit)
-	relative_bitpos = bitpos % fieldsize_bit;
-      else
-	relative_bitpos = bitpos % TARGET_CHAR_BIT;
-
-      /* This is the exact offset (in bits) of this bitfield.  */
-      unsigned int bit_offset
-	= (bitpos - relative_bitpos) + podata->offset_bitpos;
-
-      /* The position of the field, relative to the beginning of the
-	 struct, and how many bits are left to be used in this
-	 container.  */
-      fprintf_filtered (stream, "/* %4u:%2u", bit_offset / TARGET_CHAR_BIT,
-			fieldsize_bit - (relative_bitpos + bitsize));
-      fieldsize_bit = bitsize;
-    }
-  else
-    {
-      /* The position of the field, relative to the beginning of the
-	 struct.  */
-      fprintf_filtered (stream, "/* %4u",
-			(bitpos + podata->offset_bitpos) / TARGET_CHAR_BIT);
-
-      fprintf_filtered (stream, "   ");
-    }
-
-  fprintf_filtered (stream, "   |  %4u */", fieldsize_byte);
-
-  podata->end_bitpos = bitpos + fieldsize_bit;
-}
-
 /* Return true if an access label (i.e., "public:", "private:",
    "protected:") needs to be printed for TYPE.  */
 
@@ -1087,6 +1008,7 @@ c_print_type_no_offsets (struct type *ty
 			 const char *varstring,
 			 struct ui_file *stream,
 			 int show, int level,
+			 enum language language,
 			 struct type_print_options *flags,
 			 struct print_offset_data *podata)
 {
@@ -1095,7 +1017,8 @@ c_print_type_no_offsets (struct type *ty
   /* Temporarily disable print_offsets, because it would mess with
      indentation.  */
   flags->print_offsets = 0;
-  c_print_type_1 (type, varstring, stream, show, level, flags, podata);
+  c_print_type_1 (type, varstring, stream, show, level, language, flags,
+		  podata);
   flags->print_offsets = old_po;
 }
 
@@ -1105,25 +1028,23 @@ c_print_type_no_offsets (struct type *ty
 static void
 c_type_print_base_struct_union (struct type *type, struct ui_file *stream,
 				int show, int level,
+				enum language language,
 				const struct type_print_options *flags,
 				struct print_offset_data *podata)
 {
   struct type_print_options local_flags = *flags;
-  struct type_print_options semi_local_flags = *flags;
-  struct cleanup *local_cleanups = make_cleanup (null_cleanup, NULL);
-
   local_flags.local_typedefs = NULL;
-  semi_local_flags.local_typedefs = NULL;
 
+  std::unique_ptr<typedef_hash_table> hash_holder;
   if (!flags->raw)
     {
       if (flags->local_typedefs)
 	local_flags.local_typedefs
-	  = copy_typedef_hash (flags->local_typedefs);
+	  = new typedef_hash_table (*flags->local_typedefs);
       else
-	local_flags.local_typedefs = create_typedef_hash ();
+	local_flags.local_typedefs = new typedef_hash_table ();
 
-      make_cleanup_free_typedef_hash (local_flags.local_typedefs);
+      hash_holder.reset (local_flags.local_typedefs);
     }
 
   c_type_print_modifier (type, stream, 0, 1);
@@ -1138,13 +1059,13 @@ c_type_print_base_struct_union (struct t
      spurious "{unnamed struct}"/"{unnamed union}"/"{unnamed
      enum}" tag for unnamed struct/union/enum's, which we don't
      want to print.  */
-  if (TYPE_TAG_NAME (type) != NULL
-      && !startswith (TYPE_TAG_NAME (type), "{unnamed"))
+  if (TYPE_NAME (type) != NULL
+      && !startswith (TYPE_NAME (type), "{unnamed"))
     {
       /* When printing the tag name, we are still effectively
 	 printing in the outer context, hence the use of FLAGS
 	 here.  */
-      print_name_maybe_canonical (TYPE_TAG_NAME (type), flags, stream);
+      print_name_maybe_canonical (TYPE_NAME (type), flags, stream);
       if (show > 0)
 	fputs_filtered (" ", stream);
     }
@@ -1153,10 +1074,10 @@ c_type_print_base_struct_union (struct t
     {
       /* If we just printed a tag name, no need to print anything
 	 else.  */
-      if (TYPE_TAG_NAME (type) == NULL)
+      if (TYPE_NAME (type) == NULL)
 	fprintf_filtered (stream, "{...}");
     }
-  else if (show > 0 || TYPE_TAG_NAME (type) == NULL)
+  else if (show > 0 || TYPE_NAME (type) == NULL)
     {
       struct type *basetype;
       int vptr_fieldno;
@@ -1164,18 +1085,25 @@ c_type_print_base_struct_union (struct t
       c_type_print_template_args (&local_flags, type, stream);
 
       /* Add in template parameters when printing derivation info.  */
-      add_template_parameters (local_flags.local_typedefs, type);
+      if (local_flags.local_typedefs != NULL)
+	local_flags.local_typedefs->add_template_parameters (type);
       cp_type_print_derivation_info (stream, type, &local_flags);
 
       /* This holds just the global typedefs and the template
 	 parameters.  */
-      semi_local_flags.local_typedefs
-	= copy_typedef_hash (local_flags.local_typedefs);
-      if (semi_local_flags.local_typedefs)
-	make_cleanup_free_typedef_hash (semi_local_flags.local_typedefs);
+      struct type_print_options semi_local_flags = *flags;
+      semi_local_flags.local_typedefs = NULL;
 
-      /* Now add in the local typedefs.  */
-      recursively_update_typedef_hash (local_flags.local_typedefs, type);
+      std::unique_ptr<typedef_hash_table> semi_holder;
+      if (local_flags.local_typedefs != nullptr)
+	{
+	  semi_local_flags.local_typedefs
+	    = new typedef_hash_table (*local_flags.local_typedefs);
+	  semi_holder.reset (semi_local_flags.local_typedefs);
+
+	  /* Now add in the local typedefs.  */
+	  local_flags.local_typedefs->recursively_update (type);
+	}
 
       fprintf_filtered (stream, "{\n");
 
@@ -1232,20 +1160,7 @@ c_type_print_base_struct_union (struct t
 	  bool is_static = field_is_static (&TYPE_FIELD (type, i));
 
 	  if (flags->print_offsets)
-	    {
-	      if (!is_static)
-		{
-		  if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
-		    {
-		      c_print_type_struct_field_offset
-			(type, i, stream, podata);
-		    }
-		  else if (TYPE_CODE (type) == TYPE_CODE_UNION)
-		    c_print_type_union_field_offset (type, i, stream);
-		}
-	      else
-		print_spaces_filtered (OFFSET_SPC_LEN, stream);
-	    }
+	    podata->update (type, i, stream);
 
 	  print_spaces_filtered (level + 4, stream);
 	  if (is_static)
@@ -1281,7 +1196,7 @@ c_type_print_base_struct_union (struct t
 	  c_print_type_1 (TYPE_FIELD_TYPE (type, i),
 			  TYPE_FIELD_NAME (type, i),
 			  stream, newshow, level + 4,
-			  &local_flags, &local_podata);
+			  language, &local_flags, &local_podata);
 
 	  if (!is_static && TYPE_FIELD_PACKED (type, i))
 	    {
@@ -1322,7 +1237,7 @@ c_type_print_base_struct_union (struct t
 	  struct fn_field *f = TYPE_FN_FIELDLIST1 (type, i);
 	  int j, len2 = TYPE_FN_FIELDLIST_LENGTH (type, i);
 	  const char *method_name = TYPE_FN_FIELDLIST_NAME (type, i);
-	  const char *name = type_name_no_tag (type);
+	  const char *name = TYPE_NAME (type);
 	  int is_constructor = name && strcmp (method_name,
 					       name) == 0;
 
@@ -1370,7 +1285,7 @@ c_type_print_base_struct_union (struct t
 		{
 		  c_print_type_no_offsets
 		    (TYPE_TARGET_TYPE (TYPE_FN_FIELD_TYPE (f, j)),
-		     "", stream, -1, 0, &local_flags, podata);
+		     "", stream, -1, 0, language, &local_flags, podata);
 
 		  fputs_filtered (" ", stream);
 		}
@@ -1402,7 +1317,8 @@ c_type_print_base_struct_union (struct t
 						 "",
 						 method_name,
 						 staticp,
-						 stream, &local_flags);
+						 stream, language,
+						 &local_flags);
 		    }
 		  else
 		    fprintf_filtered (stream,
@@ -1456,7 +1372,7 @@ c_type_print_base_struct_union (struct t
 							flags);
 	      c_print_type_no_offsets (TYPE_NESTED_TYPES_FIELD_TYPE (type, i),
 				       "", stream, show, level + 4,
-				       &semi_local_flags, podata);
+				       language, &semi_local_flags, podata);
 	      fprintf_filtered (stream, ";\n");
 	    }
 	}
@@ -1494,7 +1410,7 @@ c_type_print_base_struct_union (struct t
 	      c_print_type_no_offsets (target,
 				       TYPE_TYPEDEF_FIELD_NAME (type, i),
 				       stream, show - 1, level + 4,
-				       &semi_local_flags, podata);
+				       language, &semi_local_flags, podata);
 	      fprintf_filtered (stream, ";\n");
 	    }
 	}
@@ -1502,24 +1418,15 @@ c_type_print_base_struct_union (struct t
       if (flags->print_offsets)
 	{
 	  if (show > 0)
-	    {
-	      fputs_filtered ("\n", stream);
-	      print_spaces_filtered_with_print_options (level + 4,
-							stream,
-							flags);
-	      fprintf_filtered (stream, "/* total size (bytes): %4u */\n",
-				TYPE_LENGTH (type));
-	    }
+	    podata->finish (type, level, stream);
 
-	  print_spaces_filtered (OFFSET_SPC_LEN, stream);
+	  print_spaces_filtered (print_offset_data::indentation, stream);
 	  if (level == 0)
 	    print_spaces_filtered (2, stream);
 	}
 
       fprintfi_filtered (level, stream, "}");
     }
-
-  do_cleanups (local_cleanups);
 }
 
 /* Print the name of the type (or the ultimate pointer target,
@@ -1543,6 +1450,7 @@ c_type_print_base_struct_union (struct t
 static void
 c_type_print_base_1 (struct type *type, struct ui_file *stream,
 		     int show, int level,
+		     enum language language,
 		     const struct type_print_options *flags,
 		     struct print_offset_data *podata)
 {
@@ -1559,15 +1467,33 @@ c_type_print_base_1 (struct type *type, 
 
   /* When SHOW is zero or less, and there is a valid type name, then
      always just print the type name directly from the type.  */
-  /* If we have "typedef struct foo {. . .} bar;" do we want to print
-     it as "struct foo" or as "bar"?  Pick the latter, because C++
-     folk tend to expect things like "class5 *foo" rather than "struct
-     class5 *foo".  */
 
   if (show <= 0
       && TYPE_NAME (type) != NULL)
     {
       c_type_print_modifier (type, stream, 0, 1);
+
+      /* If we have "typedef struct foo {. . .} bar;" do we want to
+	 print it as "struct foo" or as "bar"?  Pick the latter for
+	 C++, because C++ folk tend to expect things like "class5
+	 *foo" rather than "struct class5 *foo".  We rather
+	 arbitrarily choose to make language_minimal work in a C-like
+	 way. */
+      if (language == language_c || language == language_minimal)
+	{
+	  if (TYPE_CODE (type) == TYPE_CODE_UNION)
+	    fprintf_filtered (stream, "union ");
+	  else if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
+	    {
+	      if (TYPE_DECLARED_CLASS (type))
+		fprintf_filtered (stream, "class ");
+	      else
+		fprintf_filtered (stream, "struct ");
+	    }
+	  else if (TYPE_CODE (type) == TYPE_CODE_ENUM)
+	    fprintf_filtered (stream, "enum ");
+	}
+
       print_name_maybe_canonical (TYPE_NAME (type), flags, stream);
       return;
     }
@@ -1590,7 +1516,7 @@ c_type_print_base_1 (struct type *type, 
 	type_print_unknown_return_type (stream);
       else
 	c_type_print_base_1 (TYPE_TARGET_TYPE (type),
-			     stream, show, level, flags, podata);
+			     stream, show, level, language, flags, podata);
       break;
     case TYPE_CODE_ARRAY:
     case TYPE_CODE_PTR:
@@ -1599,13 +1525,13 @@ c_type_print_base_1 (struct type *type, 
     case TYPE_CODE_RVALUE_REF:
     case TYPE_CODE_METHODPTR:
       c_type_print_base_1 (TYPE_TARGET_TYPE (type),
-			   stream, show, level, flags, podata);
+			   stream, show, level, language, flags, podata);
       break;
 
     case TYPE_CODE_STRUCT:
     case TYPE_CODE_UNION:
-      c_type_print_base_struct_union (type, stream, show, level, flags,
-				      podata);
+      c_type_print_base_struct_union (type, stream, show, level,
+				      language, flags, podata);
       break;
 
     case TYPE_CODE_ENUM:
@@ -1618,10 +1544,10 @@ c_type_print_base_1 (struct type *type, 
          "{unnamed struct}"/"{unnamed union}"/"{unnamed enum}"
          tag for unnamed struct/union/enum's, which we don't
          want to print.  */
-      if (TYPE_TAG_NAME (type) != NULL
-	  && !startswith (TYPE_TAG_NAME (type), "{unnamed"))
+      if (TYPE_NAME (type) != NULL
+	  && !startswith (TYPE_NAME (type), "{unnamed"))
 	{
-	  print_name_maybe_canonical (TYPE_TAG_NAME (type), flags, stream);
+	  print_name_maybe_canonical (TYPE_NAME (type), flags, stream);
 	  if (show > 0)
 	    fputs_filtered (" ", stream);
 	}
@@ -1631,10 +1557,10 @@ c_type_print_base_1 (struct type *type, 
 	{
 	  /* If we just printed a tag name, no need to print anything
 	     else.  */
-	  if (TYPE_TAG_NAME (type) == NULL)
+	  if (TYPE_NAME (type) == NULL)
 	    fprintf_filtered (stream, "{...}");
 	}
-      else if (show > 0 || TYPE_TAG_NAME (type) == NULL)
+      else if (show > 0 || TYPE_NAME (type) == NULL)
 	{
 	  LONGEST lastval = 0;
 
@@ -1646,8 +1572,7 @@ c_type_print_base_1 (struct type *type, 
 	     print too much than too little; but conversely not to
 	     print something egregiously outside the current
 	     language's syntax.  */
-	  if (current_language->la_language == language_cplus
-	      && TYPE_TARGET_TYPE (type) != NULL)
+	  if (language == language_cplus && TYPE_TARGET_TYPE (type) != NULL)
 	    {
 	      struct type *underlying = check_typedef (TYPE_TARGET_TYPE (type));
 
@@ -1708,7 +1633,7 @@ c_type_print_base_1 (struct type *type, 
 		c_print_type_1 (TYPE_FIELD_TYPE (type, i),
 				TYPE_FIELD_NAME (type, i),
 				stream, show, level + 4,
-				&local_flags, podata);
+				language, &local_flags, podata);
 		fprintf_filtered (stream, " @%s",
 				  plongest (TYPE_FIELD_BITPOS (type, i)));
 		if (TYPE_FIELD_BITSIZE (type, i) > 1)
@@ -1744,7 +1669,7 @@ c_type_print_base_1 (struct type *type, 
 
     case TYPE_CODE_NAMESPACE:
       fputs_filtered ("namespace ", stream);
-      fputs_filtered (TYPE_TAG_NAME (type), stream);
+      fputs_filtered (TYPE_NAME (type), stream);
       break;
 
     default:
@@ -1777,5 +1702,6 @@ c_type_print_base (struct type *type, st
 {
   struct print_offset_data podata;
 
-  c_type_print_base_1 (type, stream, show, level, flags, &podata);
+  c_type_print_base_1 (type, stream, show, level,
+		       current_language->la_language, flags, &podata);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-varobj.c ./gdb/c-varobj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/c-varobj.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/c-varobj.c	2018-07-10 02:06:12.000000000 +0000
@@ -145,8 +145,7 @@ c_is_path_expr_parent (const struct varo
   /* Anonymous unions and structs are also not path_expr parents.  */
   if ((TYPE_CODE (type) == TYPE_CODE_STRUCT
        || TYPE_CODE (type) == TYPE_CODE_UNION)
-      && TYPE_NAME (type) == NULL
-      && TYPE_TAG_NAME (type) == NULL)
+      && TYPE_NAME (type) == NULL)
     {
       const struct varobj *parent = var->parent;
 
@@ -286,7 +285,7 @@ c_describe_child (const struct varobj *p
 		  std::string *cname, struct value **cvalue,
 		  struct type **ctype, std::string *cfull_expression)
 {
-  struct value *value = parent->value;
+  struct value *value = parent->value.get ();
   struct type *type = varobj_get_value_type (parent);
   std::string parent_expression;
   int was_ptr;
@@ -513,21 +512,22 @@ c_value_of_variable (const struct varobj
 	  }
 	else
 	  {
-	    if (var->not_fetched && value_lazy (var->value))
+	    if (var->not_fetched && value_lazy (var->value.get ()))
 	      /* Frozen variable and no value yet.  We don't
 		 implicitly fetch the value.  MI response will
 		 use empty string for the value, which is OK.  */
 	      return std::string ();
 
 	    gdb_assert (varobj_value_is_changeable_p (var));
-	    gdb_assert (!value_lazy (var->value));
+	    gdb_assert (!value_lazy (var->value.get ()));
 	    
 	    /* If the specified format is the current one,
 	       we can reuse print_value.  */
 	    if (format == var->format)
 	      return var->print_value;
 	    else
-	      return varobj_value_get_print_value (var->value, format, var);
+	      return varobj_value_get_print_value (var->value.get (), format,
+						   var);
 	  }
       }
     }
@@ -579,7 +579,7 @@ cplus_number_of_children (const struct v
       /* It is necessary to access a real type (via RTTI).  */
       if (opts.objectprint)
         {
-          value = var->value;
+          value = var->value.get ();
           lookup_actual_type = (TYPE_IS_REFERENCE (var->type)
 				|| TYPE_CODE (var->type) == TYPE_CODE_PTR);
         }
@@ -616,7 +616,7 @@ cplus_number_of_children (const struct v
         {
 	  const struct varobj *parent = var->parent;
 
-	  value = parent->value;
+	  value = parent->value.get ();
 	  lookup_actual_type = (TYPE_IS_REFERENCE (parent->type)
 				|| TYPE_CODE (parent->type) == TYPE_CODE_PTR);
         }
@@ -724,7 +724,7 @@ cplus_describe_child (const struct varob
   if (opts.objectprint)
     lookup_actual_type = (TYPE_IS_REFERENCE (var->type)
 			  || TYPE_CODE (var->type) == TYPE_CODE_PTR);
-  value = var->value;
+  value = var->value.get ();
   type = varobj_get_value_type (var);
   if (cfull_expression)
     parent_expression
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/darwin-nat.c ./gdb/darwin-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/darwin-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/darwin-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -83,36 +83,12 @@
 #define PTRACE(CMD, PID, ADDR, SIG) \
  darwin_ptrace(#CMD, CMD, (PID), (ADDR), (SIG))
 
-static void darwin_interrupt (struct target_ops *self, ptid_t);
-
-static void darwin_resume_to (struct target_ops *ops, ptid_t ptid, int step,
-                              enum gdb_signal signal);
-static void darwin_resume (ptid_t ptid, int step,
-			   enum gdb_signal signal);
-
-static ptid_t darwin_wait_to (struct target_ops *ops, ptid_t ptid,
-                              struct target_waitstatus *status, int options);
 static ptid_t darwin_wait (ptid_t ptid, struct target_waitstatus *status);
 
-static void darwin_mourn_inferior (struct target_ops *ops);
-
-static void darwin_kill_inferior (struct target_ops *ops);
-
 static void darwin_ptrace_me (void);
 
 static void darwin_ptrace_him (int pid);
 
-static void darwin_create_inferior (struct target_ops *ops,
-				    const char *exec_file,
-				    const std::string &allargs,
-				    char **env, int from_tty);
-
-static void darwin_files_info (struct target_ops *ops);
-
-static const char *darwin_pid_to_str (struct target_ops *ops, ptid_t tpid);
-
-static int darwin_thread_alive (struct target_ops *ops, ptid_t tpid);
-
 static void darwin_encode_reply (mig_reply_error_t *reply,
 				 mach_msg_header_t *hdr, integer_t code);
 
@@ -121,9 +97,6 @@ static void darwin_deallocate_exception_
 static void darwin_setup_exceptions (struct inferior *inf);
 static void darwin_deallocate_threads (struct inferior *inf);
 
-/* Target operations for Darwin.  */
-static struct target_ops *darwin_ops;
-
 /* Task identifier of gdb.  */
 static task_t gdb_task;
 
@@ -369,7 +342,7 @@ darwin_check_new_threads (struct inferio
 	  pti->msg_state = DARWIN_RUNNING;
 
 	  /* Add the new thread.  */
-	  add_thread_with_info (ptid_build (inf->pid, 0, new_id), pti);
+	  add_thread_with_info (ptid_t (inf->pid, 0, new_id), pti);
 	  new_thread_vec.push_back (pti);
 	  new_ix++;
 	  continue;
@@ -377,7 +350,9 @@ darwin_check_new_threads (struct inferio
       if (old_ix < old_nbr && (new_ix == new_nbr || new_id > old_id))
 	{
 	  /* A thread was removed.  */
-	  delete_thread (ptid_build (inf->pid, 0, old_id));
+	  struct thread_info *thr
+	    = find_thread_ptid (ptid_t (inf->pid, 0, old_id));
+	  delete_thread (thr);
 	  kret = mach_port_deallocate (gdb_task, old_id);
 	  MACH_CHECK_ERROR (kret);
 	  old_ix++;
@@ -942,8 +917,8 @@ darwin_suspend_inferior_threads (struct 
     }
 }
 
-static void
-darwin_resume (ptid_t ptid, int step, enum gdb_signal signal)
+void
+darwin_nat_target::resume (ptid_t ptid, int step, enum gdb_signal signal)
 {
   struct target_waitstatus status;
   int pid;
@@ -955,7 +930,7 @@ darwin_resume (ptid_t ptid, int step, en
 
   inferior_debug
     (2, _("darwin_resume: pid=%d, tid=0x%lx, step=%d, signal=%d\n"),
-     ptid_get_pid (ptid), ptid_get_tid (ptid), step, signal);
+     ptid.pid (), ptid.tid (), step, signal);
 
   if (signal == GDB_SIGNAL_0)
     nsignal = 0;
@@ -967,7 +942,7 @@ darwin_resume (ptid_t ptid, int step, en
     ptid = inferior_ptid;
 
   /* minus_one_ptid is RESUME_ALL.  */
-  if (ptid_equal (ptid, minus_one_ptid))
+  if (ptid == minus_one_ptid)
     {
       struct resume_inferior_threads_param param;
 
@@ -982,7 +957,7 @@ darwin_resume (ptid_t ptid, int step, en
   else
     {
       struct inferior *inf = find_inferior_ptid (ptid);
-      long tid = ptid_get_tid (ptid);
+      long tid = ptid.tid ();
 
       /* Stop the inferior (should be useless).  */
       darwin_suspend_inferior (inf);
@@ -1007,13 +982,6 @@ darwin_resume (ptid_t ptid, int step, en
     }
 }
 
-static void
-darwin_resume_to (struct target_ops *ops, ptid_t ptid, int step,
-                  enum gdb_signal signal)
-{
-  return darwin_resume (ptid, step, signal);
-}
-
 static ptid_t
 darwin_decode_message (mach_msg_header_t *hdr,
 		       darwin_thread_t **pthread,
@@ -1106,7 +1074,7 @@ darwin_decode_message (mach_msg_header_t
 	  break;
 	}
 
-      return ptid_build (inf->pid, 0, thread->gdb_port);
+      return ptid_t (inf->pid, 0, thread->gdb_port);
     }
   else if (hdr->msgh_id == 0x48)
     {
@@ -1166,7 +1134,7 @@ darwin_decode_message (mach_msg_header_t
 	      /* Looks necessary on Leopard and harmless...  */
 	      wait4 (inf->pid, &wstatus, 0, NULL);
 
-	      inferior_ptid = ptid_build (inf->pid, 0, 0);
+	      inferior_ptid = ptid_t (inf->pid, 0, 0);
 	      return inferior_ptid;
 	    }
 	  else
@@ -1174,7 +1142,7 @@ darwin_decode_message (mach_msg_header_t
 	      inferior_debug (4, _("darwin_wait: pid=%d\n"), inf->pid);
 	      status->kind = TARGET_WAITKIND_EXITED;
 	      status->value.integer = 0; /* Don't know.  */
-	      return ptid_build (inf->pid, 0, 0);
+	      return ptid_t (inf->pid, 0, 0);
 	    }
 	}
     }
@@ -1204,7 +1172,7 @@ cancel_breakpoint (ptid_t ptid)
   if (breakpoint_inserted_here_p (regcache->aspace (), pc))
     {
       inferior_debug (4, "cancel_breakpoint for thread 0x%lx\n",
-		      (unsigned long) ptid_get_tid (ptid));
+		      (unsigned long) ptid.tid ());
 
       /* Back up the PC if necessary.  */
       if (gdbarch_decr_pc_after_break (gdbarch))
@@ -1231,7 +1199,7 @@ darwin_wait (ptid_t ptid, struct target_
 
   inferior_debug
     (2, _("darwin_wait: waiting for a message pid=%d thread=%lx\n"),
-     ptid_get_pid (ptid), ptid_get_tid (ptid));
+     ptid.pid (), ptid.tid ());
 
   /* Handle fake stop events at first.  */
   if (darwin_inf_fake_stop != NULL)
@@ -1245,7 +1213,7 @@ darwin_wait (ptid_t ptid, struct target_
       status->value.sig = GDB_SIGNAL_TRAP;
       thread = priv->threads[0];
       thread->msg_state = DARWIN_STOPPED;
-      return ptid_build (inf->pid, 0, thread->gdb_port);
+      return ptid_t (inf->pid, 0, thread->gdb_port);
     }
 
   do
@@ -1276,7 +1244,7 @@ darwin_wait (ptid_t ptid, struct target_
 	darwin_dump_message (hdr, darwin_debug_flag > 11);
 
       res = darwin_decode_message (hdr, &thread, &inf, status);
-      if (ptid_equal (res, minus_one_ptid))
+      if (res == minus_one_ptid)
 	continue;
 
       /* Early return in case an inferior has exited.  */
@@ -1317,7 +1285,7 @@ darwin_wait (ptid_t ptid, struct target_
 	  && thread->event.ex_type == EXC_BREAKPOINT)
 	{
 	  if (thread->single_step
-	      || cancel_breakpoint (ptid_build (inf->pid, 0, thread->gdb_port)))
+	      || cancel_breakpoint (ptid_t (inf->pid, 0, thread->gdb_port)))
 	    {
 	      gdb_assert (thread->msg_state == DARWIN_MESSAGE);
 	      darwin_send_reply (inf, thread);
@@ -1334,22 +1302,22 @@ darwin_wait (ptid_t ptid, struct target_
   return res;
 }
 
-static ptid_t
-darwin_wait_to (struct target_ops *ops,
-                ptid_t ptid, struct target_waitstatus *status, int options)
+ptid_t
+darwin_nat_target::wait (ptid_t ptid, struct target_waitstatus *status,
+			 int options)
 {
   return darwin_wait (ptid, status);
 }
 
-static void
-darwin_interrupt (struct target_ops *self, ptid_t t)
+void
+darwin_nat_target::interrupt ()
 {
   struct inferior *inf = current_inferior ();
   darwin_inferior *priv = get_darwin_inferior (inf);
 
   /* FIXME: handle in no_ptrace mode.  */
   gdb_assert (!priv->no_ptrace);
-  kill (inf->pid, SIGINT);
+  ::kill (inf->pid, SIGINT);
 }
 
 /* Deallocate threads port and vector.  */
@@ -1368,8 +1336,8 @@ darwin_deallocate_threads (struct inferi
   priv->threads.clear ();
 }
 
-static void
-darwin_mourn_inferior (struct target_ops *ops)
+void
+darwin_nat_target::mourn_inferior ()
 {
   struct inferior *inf = current_inferior ();
   darwin_inferior *priv = get_darwin_inferior (inf);
@@ -1414,7 +1382,7 @@ darwin_mourn_inferior (struct target_ops
 
   inf->priv = NULL;
 
-  inf_child_mourn_inferior (ops);
+  inf_child_target::mourn_inferior ();
 }
 
 static void
@@ -1538,8 +1506,8 @@ darwin_setup_exceptions (struct inferior
 	   kret);
 }
 
-static void
-darwin_kill_inferior (struct target_ops *ops)
+void
+darwin_nat_target::kill ()
 {
   struct inferior *inf = current_inferior ();
   darwin_inferior *priv = get_darwin_inferior (inf);
@@ -1549,7 +1517,7 @@ darwin_kill_inferior (struct target_ops 
   int status;
   int res;
 
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     return;
 
   gdb_assert (inf != NULL);
@@ -1559,7 +1527,7 @@ darwin_kill_inferior (struct target_ops 
 
   darwin_reply_to_all_pending_messages (inf);
 
-  res = kill (inf->pid, 9);
+  res = ::kill (inf->pid, 9);
 
   if (res == 0)
     {
@@ -1615,78 +1583,94 @@ darwin_attach_pid (struct inferior *inf)
   darwin_inferior *priv = new darwin_inferior;
   inf->priv.reset (priv);
 
-  kret = task_for_pid (gdb_task, inf->pid, &priv->task);
-  if (kret != KERN_SUCCESS)
+  TRY
     {
-      int status;
-
-      if (!inf->attach_flag)
+      kret = task_for_pid (gdb_task, inf->pid, &priv->task);
+      if (kret != KERN_SUCCESS)
 	{
-	  kill (inf->pid, 9);
-	  waitpid (inf->pid, &status, 0);
-	}
+	  int status;
 
-      error (_("Unable to find Mach task port for process-id %d: %s (0x%lx).\n"
+	  if (!inf->attach_flag)
+	    {
+	      kill (inf->pid, 9);
+	      waitpid (inf->pid, &status, 0);
+	    }
+
+	  error
+	    (_("Unable to find Mach task port for process-id %d: %s (0x%lx).\n"
 	       " (please check gdb is codesigned - see taskgated(8))"),
-             inf->pid, mach_error_string (kret), (unsigned long) kret);
-    }
+	     inf->pid, mach_error_string (kret), (unsigned long) kret);
+	}
 
-  inferior_debug (2, _("inferior task: 0x%x, pid: %d\n"),
-		  priv->task, inf->pid);
+      inferior_debug (2, _("inferior task: 0x%x, pid: %d\n"),
+		      priv->task, inf->pid);
 
-  if (darwin_ex_port == MACH_PORT_NULL)
-    {
-      /* Create a port to get exceptions.  */
-      kret = mach_port_allocate (gdb_task, MACH_PORT_RIGHT_RECEIVE,
-				 &darwin_ex_port);
-      if (kret != KERN_SUCCESS)
-	error (_("Unable to create exception port, mach_port_allocate "
-		 "returned: %d"),
-	       kret);
+      if (darwin_ex_port == MACH_PORT_NULL)
+	{
+	  /* Create a port to get exceptions.  */
+	  kret = mach_port_allocate (gdb_task, MACH_PORT_RIGHT_RECEIVE,
+				     &darwin_ex_port);
+	  if (kret != KERN_SUCCESS)
+	    error (_("Unable to create exception port, mach_port_allocate "
+		     "returned: %d"),
+		   kret);
+
+	  kret = mach_port_insert_right (gdb_task, darwin_ex_port,
+					 darwin_ex_port,
+					 MACH_MSG_TYPE_MAKE_SEND);
+	  if (kret != KERN_SUCCESS)
+	    error (_("Unable to create exception port, mach_port_insert_right "
+		     "returned: %d"),
+		   kret);
+
+	  /* Create a port set and put ex_port in it.  */
+	  kret = mach_port_allocate (gdb_task, MACH_PORT_RIGHT_PORT_SET,
+				     &darwin_port_set);
+	  if (kret != KERN_SUCCESS)
+	    error (_("Unable to create port set, mach_port_allocate "
+		     "returned: %d"),
+		   kret);
 
-      kret = mach_port_insert_right (gdb_task, darwin_ex_port, darwin_ex_port,
-				     MACH_MSG_TYPE_MAKE_SEND);
-      if (kret != KERN_SUCCESS)
-	error (_("Unable to create exception port, mach_port_insert_right "
-		 "returned: %d"),
-	       kret);
+	  kret = mach_port_move_member (gdb_task, darwin_ex_port,
+					darwin_port_set);
+	  if (kret != KERN_SUCCESS)
+	    error (_("Unable to move exception port into new port set, "
+		     "mach_port_move_member\n"
+		     "returned: %d"),
+		   kret);
+	}
 
-      /* Create a port set and put ex_port in it.  */
-      kret = mach_port_allocate (gdb_task, MACH_PORT_RIGHT_PORT_SET,
-				 &darwin_port_set);
+      /* Create a port to be notified when the child task terminates.  */
+      kret = mach_port_allocate (gdb_task, MACH_PORT_RIGHT_RECEIVE,
+				 &priv->notify_port);
       if (kret != KERN_SUCCESS)
-	error (_("Unable to create port set, mach_port_allocate "
+	error (_("Unable to create notification port, mach_port_allocate "
 		 "returned: %d"),
 	       kret);
 
-      kret = mach_port_move_member (gdb_task, darwin_ex_port, darwin_port_set);
+      kret = mach_port_move_member (gdb_task,
+				    priv->notify_port, darwin_port_set);
       if (kret != KERN_SUCCESS)
-	error (_("Unable to move exception port into new port set, "
+	error (_("Unable to move notification port into new port set, "
 		 "mach_port_move_member\n"
 		 "returned: %d"),
 	       kret);
-    }
 
-  /* Create a port to be notified when the child task terminates.  */
-  kret = mach_port_allocate (gdb_task, MACH_PORT_RIGHT_RECEIVE,
-			     &priv->notify_port);
-  if (kret != KERN_SUCCESS)
-    error (_("Unable to create notification port, mach_port_allocate "
-	     "returned: %d"),
-	   kret);
+      darwin_setup_request_notification (inf);
 
-  kret = mach_port_move_member (gdb_task,
-				priv->notify_port, darwin_port_set);
-  if (kret != KERN_SUCCESS)
-    error (_("Unable to move notification port into new port set, "
-	     "mach_port_move_member\n"
-	     "returned: %d"),
-	   kret);
-
-  darwin_setup_request_notification (inf);
+      darwin_setup_exceptions (inf);
+    }
+  CATCH (ex, RETURN_MASK_ALL)
+    {
+      inf->pid = 0;
+      inf->priv.reset ();
+      inferior_ptid = null_ptid;
 
-  darwin_setup_exceptions (inf);
+      throw_exception (ex);
+    }
+  END_CATCH
 
+  target_ops *darwin_ops = get_native_target ();
   if (!target_is_pushed (darwin_ops))
     push_target (darwin_ops);
 }
@@ -1835,11 +1819,10 @@ darwin_execvp (const char *file, char * 
   posix_spawnp (NULL, argv[0], NULL, &attr, argv, env);
 }
 
-static void
-darwin_create_inferior (struct target_ops *ops,
-			const char *exec_file,
-			const std::string &allargs,
-			char **env, int from_tty)
+void
+darwin_nat_target::create_inferior (const char *exec_file,
+				    const std::string &allargs,
+				    char **env, int from_tty)
 {
   /* Do the hard work.  */
   fork_inferior (exec_file, allargs, env, darwin_ptrace_me,
@@ -1877,8 +1860,8 @@ darwin_setup_fake_stop_event (struct inf
 
 /* Attach to process PID, then initialize for debugging it
    and wait for the trace-trap that results from attaching.  */
-static void
-darwin_attach (struct target_ops *ops, const char *args, int from_tty)
+void
+darwin_nat_target::attach (const char *args, int from_tty)
 {
   pid_t pid;
   pid_t pid2;
@@ -1898,19 +1881,19 @@ darwin_attach (struct target_ops *ops, c
 
       if (exec_file)
 	printf_unfiltered (_("Attaching to program: %s, %s\n"), exec_file,
-			   target_pid_to_str (pid_to_ptid (pid)));
+			   target_pid_to_str (ptid_t (pid)));
       else
 	printf_unfiltered (_("Attaching to %s\n"),
-			   target_pid_to_str (pid_to_ptid (pid)));
+			   target_pid_to_str (ptid_t (pid)));
 
       gdb_flush (gdb_stdout);
     }
 
-  if (pid == 0 || kill (pid, 0) < 0)
+  if (pid == 0 || ::kill (pid, 0) < 0)
     error (_("Can't attach to process %d: %s (%d)"),
            pid, safe_strerror (errno), errno);
 
-  inferior_ptid = pid_to_ptid (pid);
+  inferior_ptid = ptid_t (pid);
   inf = current_inferior ();
   inferior_appeared (inf, pid);
   inf->attach_flag = 1;
@@ -1923,7 +1906,7 @@ darwin_attach (struct target_ops *ops, c
 
   darwin_inferior *priv = get_darwin_inferior (inf);
 
-  darwin_check_osabi (priv, ptid_get_tid (inferior_ptid));
+  darwin_check_osabi (priv, inferior_ptid.tid ());
 
   darwin_setup_fake_stop_event (inf);
 
@@ -1937,11 +1920,11 @@ darwin_attach (struct target_ops *ops, c
    to work, it may be necessary for the process to have been
    previously attached.  It *might* work if the program was
    started via fork.  */
-static void
-darwin_detach (struct target_ops *ops, const char *args, int from_tty)
+
+void
+darwin_nat_target::detach (inferior *inf, int from_tty)
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
-  struct inferior *inf = current_inferior ();
+  pid_t pid = inferior_ptid.pid ();
   darwin_inferior *priv = get_darwin_inferior (inf);
   kern_return_t kret;
   int res;
@@ -1972,34 +1955,29 @@ darwin_detach (struct target_ops *ops, c
   if (priv->no_ptrace)
     darwin_resume_inferior (inf);
 
-  darwin_mourn_inferior (ops);
-}
-
-static void
-darwin_files_info (struct target_ops *ops)
-{
+  mourn_inferior ();
 }
 
-static const char *
-darwin_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+darwin_nat_target::pid_to_str (ptid_t ptid)
 {
   static char buf[80];
-  long tid = ptid_get_tid (ptid);
+  long tid = ptid.tid ();
 
   if (tid != 0)
     {
       snprintf (buf, sizeof (buf), _("Thread 0x%lx of process %u"),
-		tid, ptid_get_pid (ptid));
+		tid, ptid.pid ());
       return buf;
     }
 
   return normal_pid_to_str (ptid);
 }
 
-static int
-darwin_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+darwin_nat_target::thread_alive (ptid_t ptid)
 {
-  return 1;
+  return true;
 }
 
 /* If RDADDR is not NULL, read inferior task's LEN bytes from ADDR and
@@ -2194,11 +2172,11 @@ darwin_read_dyld_info (task_t task, CORE
 
 
 
-static enum target_xfer_status
-darwin_xfer_partial (struct target_ops *ops,
-		     enum target_object object, const char *annex,
-		     gdb_byte *readbuf, const gdb_byte *writebuf,
-		     ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+darwin_nat_target::xfer_partial (enum target_object object, const char *annex,
+				 gdb_byte *readbuf, const gdb_byte *writebuf,
+				 ULONGEST offset, ULONGEST len,
+				 ULONGEST *xfered_len)
 {
   struct inferior *inf = current_inferior ();
   darwin_inferior *priv = get_darwin_inferior (inf);
@@ -2245,7 +2223,7 @@ static void
 set_enable_mach_exceptions (const char *args, int from_tty,
 			    struct cmd_list_element *c)
 {
-  if (!ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid != null_ptid)
     {
       struct inferior *inf = current_inferior ();
       darwin_inferior *priv = get_darwin_inferior (inf);
@@ -2265,8 +2243,8 @@ set_enable_mach_exceptions (const char *
     }
 }
 
-static char *
-darwin_pid_to_exec_file (struct target_ops *self, int pid)
+char *
+darwin_nat_target::pid_to_exec_file (int pid)
 {
   static char path[PATH_MAX];
   int res;
@@ -2278,8 +2256,8 @@ darwin_pid_to_exec_file (struct target_o
     return NULL;
 }
 
-static ptid_t
-darwin_get_ada_task_ptid (struct target_ops *self, long lwp, long thread)
+ptid_t
+darwin_nat_target::get_ada_task_ptid (long lwp, long thread)
 {
   struct inferior *inf = current_inferior ();
   darwin_inferior *priv = get_darwin_inferior (inf);
@@ -2294,7 +2272,7 @@ darwin_get_ada_task_ptid (struct target_
   for (darwin_thread_t *t : priv->threads)
     {
       if (t->inf_port == lwp)
-	return ptid_build (ptid_get_pid (inferior_ptid), 0, t->gdb_port);
+	return ptid_t (inferior_ptid.pid (), 0, t->gdb_port);
     }
 
   /* Maybe the port was never extract.  Do it now.  */
@@ -2338,19 +2316,19 @@ darwin_get_ada_task_ptid (struct target_
                  names_count * sizeof (mach_port_t));
 
   if (res)
-    return ptid_build (ptid_get_pid (inferior_ptid), 0, res);
+    return ptid_t (inferior_ptid.pid (), 0, res);
   else
     return null_ptid;
 }
 
-static int
-darwin_supports_multi_process (struct target_ops *self)
+bool
+darwin_nat_target::supports_multi_process ()
 {
-  return 1;
+  return true;
 }
 
 void
-_initialize_darwin_inferior (void)
+_initialize_darwin_nat ()
 {
   kern_return_t kret;
 
@@ -2365,30 +2343,6 @@ _initialize_darwin_inferior (void)
       MACH_CHECK_ERROR (kret);
     }
 
-  darwin_ops = inf_child_target ();
-
-  darwin_ops->to_create_inferior = darwin_create_inferior;
-  darwin_ops->to_attach = darwin_attach;
-  darwin_ops->to_attach_no_wait = 0;
-  darwin_ops->to_detach = darwin_detach;
-  darwin_ops->to_files_info = darwin_files_info;
-  darwin_ops->to_wait = darwin_wait_to;
-  darwin_ops->to_mourn_inferior = darwin_mourn_inferior;
-  darwin_ops->to_kill = darwin_kill_inferior;
-  darwin_ops->to_interrupt = darwin_interrupt;
-  darwin_ops->to_resume = darwin_resume_to;
-  darwin_ops->to_thread_alive = darwin_thread_alive;
-  darwin_ops->to_pid_to_str = darwin_pid_to_str;
-  darwin_ops->to_pid_to_exec_file = darwin_pid_to_exec_file;
-  darwin_ops->to_load = NULL;
-  darwin_ops->to_xfer_partial = darwin_xfer_partial;
-  darwin_ops->to_supports_multi_process = darwin_supports_multi_process;
-  darwin_ops->to_get_ada_task_ptid = darwin_get_ada_task_ptid;
-
-  darwin_complete_target (darwin_ops);
-
-  add_target (darwin_ops);
-
   inferior_debug (2, _("GDB task: 0x%lx, pid: %d\n"),
 		  (unsigned long) mach_task_self (), getpid ());
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/darwin-nat.h ./gdb/darwin-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/darwin-nat.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/darwin-nat.h	2018-07-10 02:06:13.000000000 +0000
@@ -17,9 +17,50 @@
 #ifndef __DARWIN_NAT_H__
 #define __DARWIN_NAT_H__
 
+#include "inf-child.h"
 #include <mach/mach.h>
 #include "gdbthread.h"
 
+/* This needs to be overridden by the platform specific nat code.  */
+
+class darwin_nat_target : public inf_child_target
+{
+  void create_inferior (const char *exec_file,
+			const std::string &allargs,
+			char **env, int from_tty) override;
+
+  void attach (const char *, int) override;
+
+  void detach (inferior *, int) override;
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+  void mourn_inferior () override;
+
+  void kill () override;
+
+  void interrupt () override;
+
+  void resume (ptid_t, int , enum gdb_signal) override;
+
+  bool thread_alive (ptid_t ptid) override;
+
+  const char *pid_to_str (ptid_t) override;
+
+  char *pid_to_exec_file (int pid) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  bool supports_multi_process () override;
+
+  ptid_t get_ada_task_ptid (long lwp, long thread) override;
+};
+
 /* Describe the mach exception handling state for a task.  This state is saved
    before being changed and restored when a process is detached.
    For more information on these fields see task_get_exception_ports manual
@@ -158,11 +199,6 @@ extern void mach_check_error (kern_retur
 
 void darwin_set_sstep (thread_t thread, int enable);
 
-/* This one is called in darwin-nat.c, but needs to be provided by the
-   platform specific nat code.  It allows each platform to add platform specific
-   stuff to the darwin_ops.  */
-extern void darwin_complete_target (struct target_ops *target);
-
 void darwin_check_osabi (darwin_inferior *inf, thread_t thread);
 
 #endif /* __DARWIN_NAT_H__ */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/darwin-nat-info.c ./gdb/darwin-nat-info.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/darwin-nat-info.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/darwin-nat-info.c	2018-07-10 02:06:13.000000000 +0000
@@ -116,7 +116,7 @@ get_task_from_args (const char *args)
 
   if (args == NULL || *args == 0)
     {
-      if (ptid_equal (inferior_ptid, null_ptid))
+      if (inferior_ptid == null_ptid)
 	printf_unfiltered (_("No inferior running\n"));
 
       darwin_inferior *priv = get_darwin_inferior (current_inferior ());
@@ -257,7 +257,7 @@ info_mach_ports_command (const char *arg
 	    printf_unfiltered (_(" gdb-exception"));
 	  else if (port == darwin_port_set)
 	    printf_unfiltered (_(" gdb-port_set"));
-	  else if (!ptid_equal (inferior_ptid, null_ptid))
+	  else if (inferior_ptid != null_ptid)
 	    {
 	      struct inferior *inf = current_inferior ();
 	      darwin_inferior *priv = get_darwin_inferior (inf);
@@ -676,8 +676,7 @@ darwin_debug_regions_recurse (task_t tas
 	  uiout->field_int ("tag", r_info.user_tag);
       }
 
-      if (!uiout->is_mi_like_p ())
-	uiout->text ("\n");
+      uiout->text ("\n");
 
       if (r_info.is_submap)
 	r_depth++;
@@ -732,7 +731,7 @@ info_mach_region_command (const char *ex
     }
   address = value_as_address (val);
 
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     error (_("Inferior not available"));
 
   inf = current_inferior ();
@@ -804,7 +803,7 @@ info_mach_exceptions_command (const char
     {
       if (strcmp (args, "saved") == 0)
 	{
-	  if (ptid_equal (inferior_ptid, null_ptid))
+	  if (inferior_ptid == null_ptid)
 	    printf_unfiltered (_("No inferior running\n"));
 
 	  darwin_inferior *priv = get_darwin_inferior (current_inferior ());
@@ -828,7 +827,7 @@ info_mach_exceptions_command (const char
     {
       struct inferior *inf;
 
-      if (ptid_equal (inferior_ptid, null_ptid))
+      if (inferior_ptid == null_ptid)
 	printf_unfiltered (_("No inferior running\n"));
       inf = current_inferior ();
       
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dbxread.c ./gdb/dbxread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dbxread.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/dbxread.c	2018-07-10 02:06:13.000000000 +0000
@@ -164,21 +164,19 @@ static int has_line_numbers;
 static void
 unknown_symtype_complaint (const char *arg1)
 {
-  complaint (&symfile_complaints, _("unknown symbol type %s"), arg1);
+  complaint (_("unknown symbol type %s"), arg1);
 }
 
 static void
 lbrac_mismatch_complaint (int arg1)
 {
-  complaint (&symfile_complaints,
-	     _("N_LBRAC/N_RBRAC symbol mismatch at symtab pos %d"), arg1);
+  complaint (_("N_LBRAC/N_RBRAC symbol mismatch at symtab pos %d"), arg1);
 }
 
 static void
 repeated_header_complaint (const char *arg1, int arg2)
 {
-  complaint (&symfile_complaints,
-	     _("\"repeated\" header file %s not "
+  complaint (_("\"repeated\" header file %s not "
 	       "previously seen, at symtab pos %d"),
 	     arg1, arg2);
 }
@@ -238,15 +236,22 @@ find_text_range (bfd * sym_bfd, struct o
 
 struct header_file_location
 {
+  header_file_location (const char *name_, int instance_,
+			struct partial_symtab *pst_)
+    : name (name_),
+      instance (instance_),
+      pst (pst_)
+  {
+  }
+
   const char *name;		/* Name of header file */
   int instance;			/* See above */
   struct partial_symtab *pst;	/* Partial symtab that has the
 				   BINCL/EINCL defs for this file.  */
 };
 
-/* The actual list and controling variables.  */
-static struct header_file_location *bincl_list, *next_bincl;
-static int bincls_allocated;
+/* The list of bincls.  */
+static std::vector<struct header_file_location> *bincl_list;
 
 /* Local function prototypes.  */
 
@@ -259,15 +264,9 @@ static void dbx_psymtab_to_symtab_1 (str
 
 static void read_dbx_symtab (minimal_symbol_reader &, struct objfile *);
 
-static void free_bincl_list (struct objfile *);
-
 static struct partial_symtab *find_corresponding_bincl_psymtab (const char *,
 								int);
 
-static void add_bincl_to_list (struct partial_symtab *, const char *, int);
-
-static void init_bincl_list (int, struct objfile *);
-
 static const char *dbx_next_symbol_text (struct objfile *);
 
 static void fill_symbuf (bfd *);
@@ -857,36 +856,6 @@ dbx_next_symbol_text (struct objfile *ob
   return nlist.n_strx + stringtab_global + file_string_table_offset;
 }
 
-/* Initialize the list of bincls to contain none and have some
-   allocated.  */
-
-static void
-init_bincl_list (int number, struct objfile *objfile)
-{
-  bincls_allocated = number;
-  next_bincl = bincl_list = XNEWVEC (struct header_file_location,
-				     bincls_allocated);
-}
-
-/* Add a bincl to the list.  */
-
-static void
-add_bincl_to_list (struct partial_symtab *pst, const char *name, int instance)
-{
-  if (next_bincl >= bincl_list + bincls_allocated)
-    {
-      int offset = next_bincl - bincl_list;
-
-      bincls_allocated *= 2;
-      bincl_list = (struct header_file_location *)
-	xrealloc ((char *) bincl_list,
-		  bincls_allocated * sizeof (struct header_file_location));
-      next_bincl = bincl_list + offset;
-    }
-  next_bincl->pst = pst;
-  next_bincl->instance = instance;
-  next_bincl++->name = name;
-}
 
 /* Given a name, value pair, find the corresponding
    bincl in the list.  Return the partial symtab associated
@@ -895,38 +864,15 @@ add_bincl_to_list (struct partial_symtab
 static struct partial_symtab *
 find_corresponding_bincl_psymtab (const char *name, int instance)
 {
-  struct header_file_location *bincl;
-
-  for (bincl = bincl_list; bincl < next_bincl; bincl++)
-    if (bincl->instance == instance
-	&& strcmp (name, bincl->name) == 0)
-      return bincl->pst;
+  for (const header_file_location &bincl : *bincl_list)
+    if (bincl.instance == instance
+	&& strcmp (name, bincl.name) == 0)
+      return bincl.pst;
 
   repeated_header_complaint (name, symnum);
   return (struct partial_symtab *) 0;
 }
 
-/* Free the storage allocated for the bincl list.  */
-
-static void
-free_bincl_list (struct objfile *objfile)
-{
-  xfree (bincl_list);
-  bincls_allocated = 0;
-}
-
-static void
-do_free_bincl_list_cleanup (void *objfile)
-{
-  free_bincl_list ((struct objfile *) objfile);
-}
-
-static struct cleanup *
-make_cleanup_free_bincl_list (struct objfile *objfile)
-{
-  return make_cleanup (do_free_bincl_list_cleanup, objfile);
-}
-
 /* Set namestring based on nlist.  If the string table index is invalid, 
    give a fake name, and print a single error message per symbol file read,
    rather than abort the symbol reading or flood the user with messages.  */
@@ -940,8 +886,7 @@ set_namestring (struct objfile *objfile,
       >= DBX_STRINGTAB_SIZE (objfile)
       || nlist->n_strx + file_string_table_offset < nlist->n_strx)
     {
-      complaint (&symfile_complaints,
-		 _("bad string table offset in symbol %d"),
+      complaint (_("bad string table offset in symbol %d"),
 		 symnum);
       namestring = "<bad string table offset>";
     } 
@@ -999,8 +944,7 @@ find_stab_function_addr (const char *nam
 static void
 function_outside_compilation_unit_complaint (const char *arg1)
 {
-  complaint (&symfile_complaints,
-	     _("function `%s' appears to be defined "
+  complaint (_("function `%s' appears to be defined "
 	       "outside of all compilation units"),
 	     arg1);
 }
@@ -1023,7 +967,6 @@ read_dbx_symtab (minimal_symbol_reader &
   int nsl;
   int past_first_source_file = 0;
   CORE_ADDR last_function_start = 0;
-  struct cleanup *back_to;
   bfd *abfd;
   int textlow_not_set;
   int data_sect_index;
@@ -1064,8 +1007,9 @@ read_dbx_symtab (minimal_symbol_reader &
 				       sizeof (struct partial_symtab *));
 
   /* Init bincl list */
-  init_bincl_list (20, objfile);
-  back_to = make_cleanup_free_bincl_list (objfile);
+  std::vector<struct header_file_location> bincl_storage;
+  scoped_restore restore_bincl_global
+    = make_scoped_restore (&bincl_list, &bincl_storage);
 
   set_last_source_file (NULL);
 
@@ -1389,13 +1333,12 @@ read_dbx_symtab (minimal_symbol_reader &
 	      {
 		/* FIXME: we should not get here without a PST to work on.
 		   Attempt to recover.  */
-		complaint (&symfile_complaints,
-			   _("N_BINCL %s not in entries for "
+		complaint (_("N_BINCL %s not in entries for "
 			     "any file, at symtab pos %d"),
 			   namestring, symnum);
 		continue;
 	      }
-	    add_bincl_to_list (pst, namestring, nlist.n_value);
+	    bincl_list->emplace_back (namestring, nlist.n_value, pst);
 
 	    /* Mark down an include file in the current psymtab.  */
 
@@ -1839,8 +1782,7 @@ read_dbx_symtab (minimal_symbol_reader &
 		 time searching to the end of every string looking for
 		 a backslash.  */
 
-	      complaint (&symfile_complaints,
-			 _("unknown symbol descriptor `%c'"),
+	      complaint (_("unknown symbol descriptor `%c'"),
 			 p[1]);
 
 	      /* Ignore it; perhaps it is an extension that we don't
@@ -1983,8 +1925,6 @@ read_dbx_symtab (minimal_symbol_reader &
 		       text_end > pst->texthigh ? text_end : pst->texthigh,
 		       dependency_list, dependencies_used, textlow_not_set);
     }
-
-  do_cleanups (back_to);
 }
 
 /* Allocate and partially fill a partial symtab.  It will be
@@ -2246,8 +2186,6 @@ dbx_read_symtab (struct partial_symtab *
 
   if (LDSYMLEN (self) || self->number_of_dependencies)
     {
-      struct cleanup *back_to;
-
       /* Print the message now, before reading the string table,
          to avoid disconcerting pauses.  */
       if (info_verbose)
@@ -2258,22 +2196,20 @@ dbx_read_symtab (struct partial_symtab *
 
       next_symbol_text_func = dbx_next_symbol_text;
 
-      back_to = make_cleanup (null_cleanup, NULL);
-
-      if (DBX_STAB_SECTION (objfile))
-	{
-	  stabs_data
-	    = symfile_relocate_debug_section (objfile,
-					      DBX_STAB_SECTION (objfile),
-					      NULL);
-
-	  if (stabs_data)
-	    make_cleanup (free_current_contents, (void *) &stabs_data);
-	}
-
-      dbx_psymtab_to_symtab_1 (objfile, self);
+      {
+	scoped_restore restore_stabs_data = make_scoped_restore (&stabs_data);
+	gdb::unique_xmalloc_ptr<gdb_byte> data_holder;
+	if (DBX_STAB_SECTION (objfile))
+	  {
+	    stabs_data
+	      = symfile_relocate_debug_section (objfile,
+						DBX_STAB_SECTION (objfile),
+						NULL);
+	    data_holder.reset (stabs_data);
+	  }
 
-      do_cleanups (back_to);
+	dbx_psymtab_to_symtab_1 (objfile, self);
+      }
 
       /* Match with global symbols.  This only needs to be done once,
          after all of the symtabs and dependencies have been read in.   */
@@ -2635,8 +2571,7 @@ process_one_symbol (int type, int desc, 
 	     2000 would output N_LSYM entries after N_LBRAC
 	     entries.  As a consequence, these symbols are simply
 	     discarded.  Complain if this is the case.  */
-	  complaint (&symfile_complaints,
-		     _("misplaced N_LBRAC entry; discarding local "
+	  complaint (_("misplaced N_LBRAC entry; discarding local "
 		       "symbols which have no enclosing block"));
 	}
       local_symbols = newobj->locals;
@@ -2656,8 +2591,7 @@ process_one_symbol (int type, int desc, 
 		 ??? Which compilers?  Is this ever harmful?.  */
 	      if (newobj->start_addr > valu)
 		{
-		  complaint (&symfile_complaints,
-			     _("block start larger than block end"));
+		  complaint (_("block start larger than block end"));
 		  newobj->start_addr = valu;
 		}
 	      /* Make a block for the local symbols within.  */
@@ -2883,9 +2817,9 @@ process_one_symbol (int type, int desc, 
       unknown_symtype_complaint (hex_string (type));
       /* FALLTHROUGH */
 
-      /* The following symbol types don't need the address field
-         relocated, since it is either unused, or is absolute.  */
     define_a_symbol:
+      /* These symbol types don't need the address field relocated,
+         since it is either unused, or is absolute.  */
     case N_GSYM:		/* Global variable.  */
     case N_NSYMS:		/* Number of symbols (Ultrix).  */
     case N_NOMAP:		/* No map?  (Ultrix).  */
@@ -2937,8 +2871,7 @@ process_one_symbol (int type, int desc, 
 
 	      if (context_stack_depth > 1)
 		{
-		  complaint (&symfile_complaints,
-			     _("unmatched N_LBRAC before symtab pos %d"),
+		  complaint (_("unmatched N_LBRAC before symtab pos %d"),
 			     symnum);
 		  break;
 		}
@@ -3155,7 +3088,6 @@ elfstab_build_psymtabs (struct objfile *
   int val;
   bfd *sym_bfd = objfile->obfd;
   char *name = bfd_get_filename (sym_bfd);
-  struct cleanup *back_to = make_cleanup (null_cleanup, NULL);
 
   /* Find the first and last text address.  dbx_symfile_read seems to
      want this.  */
@@ -3193,9 +3125,13 @@ elfstab_build_psymtabs (struct objfile *
 
   symbuf_read = 0;
   symbuf_left = bfd_section_size (objfile->obfd, stabsect);
+
+  scoped_restore restore_stabs_data = make_scoped_restore (&stabs_data);
+  gdb::unique_xmalloc_ptr<gdb_byte> data_holder;
+
   stabs_data = symfile_relocate_debug_section (objfile, stabsect, NULL);
   if (stabs_data)
-    make_cleanup (free_current_contents, (void *) &stabs_data);
+    data_holder.reset (stabs_data);
 
   /* In an elf file, we've already installed the minimal symbols that came
      from the elf (non-stab) symbol table, so always act like an
@@ -3204,8 +3140,6 @@ elfstab_build_psymtabs (struct objfile *
      table and normal symbol entries won't be in the ".stab" section; but in
      case it does, it will install them itself.  */
   dbx_symfile_read (objfile, 0);
-
-  do_cleanups (back_to);
 }
 
 /* Scan and build partial symbols for a file with special sections for stabs
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dcache.c ./gdb/dcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dcache.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/dcache.c	2018-07-10 02:06:13.000000000 +0000
@@ -472,7 +472,7 @@ dcache_read_memory_partial (struct targe
   /* If this is a different inferior from what we've recorded,
      flush the cache.  */
 
-  if (! ptid_equal (inferior_ptid, dcache->ptid))
+  if (inferior_ptid != dcache->ptid)
     {
       dcache_invalidate (dcache);
       dcache->ptid = inferior_ptid;
@@ -595,7 +595,7 @@ dcache_info_1 (DCACHE *dcache, const cha
       i = strtol (exp, &linestart, 10);
       if (linestart == exp || i < 0)
 	{
-	  printf_filtered (_("Usage: info dcache [linenumber]\n"));
+	  printf_filtered (_("Usage: info dcache [LINENUMBER]\n"));
           return;
 	}
 
@@ -608,7 +608,7 @@ dcache_info_1 (DCACHE *dcache, const cha
 		   dcache ? (unsigned) dcache->line_size
 		   : dcache_line_size);
 
-  if (dcache == NULL || ptid_equal (dcache->ptid, null_ptid))
+  if (dcache == NULL || dcache->ptid == null_ptid)
     {
       printf_filtered (_("No data cache available.\n"));
       return;
@@ -701,9 +701,10 @@ exists only for compatibility reasons.")
   add_info ("dcache", info_dcache_command,
 	    _("\
 Print information on the dcache performance.\n\
+Usage: info dcache [LINENUMBER]\n\
 With no arguments, this command prints the cache configuration and a\n\
-summary of each line in the cache.  Use \"info dcache <lineno> to dump\"\n\
-the contents of a given line."));
+summary of each line in the cache.  With an argument, dump\"\n\
+the contents of the given line."));
 
   add_prefix_cmd ("dcache", class_obscure, set_dcache_command, _("\
 Use this command to set number of lines in dcache and line-size."),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/defs.h ./gdb/defs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/defs.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/defs.h	2018-07-10 02:06:13.000000000 +0000
@@ -327,39 +327,9 @@ extern int print_address_symbolic (struc
 				   struct ui_file *, int,
 				   const char *);
 
-extern int build_address_symbolic (struct gdbarch *,
-				   CORE_ADDR addr,
-				   int do_demangle, 
-				   char **name, 
-				   int *offset, 
-				   char **filename, 
-				   int *line, 	
-				   int *unmapped);
-
 extern void print_address (struct gdbarch *, CORE_ADDR, struct ui_file *);
 extern const char *pc_prefix (CORE_ADDR);
 
-/* From source.c */
-
-/* See openp function definition for their description.  */
-#define OPF_TRY_CWD_FIRST     0x01
-#define OPF_SEARCH_IN_PATH    0x02
-#define OPF_RETURN_REALPATH   0x04
-
-extern int openp (const char *, int, const char *, int, char **);
-
-extern int source_full_path_of (const char *, char **);
-
-extern void mod_path (const char *, char **);
-
-extern void add_path (const char *, char **, int);
-
-extern void directory_switch (const char *, int);
-
-extern char *source_path;
-
-extern void init_source_path (void);
-
 /* From exec.c */
 
 /* * Process memory area starting at ADDR with length SIZE.  Area is
@@ -503,9 +473,8 @@ extern int longest_to_int (LONGEST);
    table in osabi.c.  */
 enum gdb_osabi
 {
-  GDB_OSABI_UNINITIALIZED = -1, /* For struct gdbarch_info.  */
-
   GDB_OSABI_UNKNOWN = 0,	/* keep this zero */
+  GDB_OSABI_NONE,
 
   GDB_OSABI_SVR4,
   GDB_OSABI_HURD,
@@ -552,11 +521,6 @@ enum symbol_needs_kind
 /* Dynamic target-system-dependent parameters for GDB.  */
 #include "gdbarch.h"
 
-/* * Maximum size of a register.  Something small, but large enough for
-   all known ISAs.  If it turns out to be too small, make it bigger.  */
-
-enum { MAX_REGISTER_SIZE = 64 };
-
 /* In findvar.c.  */
 
 template<typename T, typename = RequireLongest<T>>
@@ -684,7 +648,7 @@ enum block_enum
   FIRST_LOCAL_BLOCK = 2
 };
 
-/* User selection used in observer.h and multiple print functions.  */
+/* User selection used in observable.h and multiple print functions.  */
 
 enum user_selected_what_flag
   {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-exp.c ./gdb/d-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-exp.c	2018-07-03 02:10:18.000000000 +0000
+++ ./gdb/d-exp.c	2018-07-10 02:10:06.000000000 +0000
@@ -102,14 +102,14 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static int type_aggregate_p (struct type *);
 
 
 
 /* Line 189 of yacc.c  */
-#line 113 "d-exp.c"
+#line 113 "d-exp.c.tmp"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -267,7 +267,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 271 "d-exp.c"
+#line 271 "d-exp.c.tmp"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -286,7 +286,7 @@ static int parse_number (struct parser_s
 
 
 /* Line 264 of yacc.c  */
-#line 290 "d-exp.c"
+#line 290 "d-exp.c.tmp"
 
 #ifdef short
 # undef short
@@ -621,9 +621,9 @@ static const yytype_uint16 yyrline[] =
      310,   312,   314,   316,   318,   319,   323,   327,   333,   334,
      339,   340,   348,   352,   357,   359,   361,   363,   364,   365,
      369,   371,   377,   378,   383,   382,   391,   404,   406,   411,
-     413,   461,   512,   514,   522,   529,   533,   537,   542,   547,
-     552,   558,   563,   568,   573,   577,   592,   610,   612,   616,
-     625,   627,   629,   632,   638
+     413,   454,   505,   507,   515,   522,   526,   530,   535,   540,
+     545,   551,   556,   561,   566,   570,   585,   603,   605,   609,
+     618,   620,   622,   625,   631
 };
 #endif
 
@@ -2059,12 +2059,7 @@ yyreduce:
 		  if (sym.symbol && SYMBOL_CLASS (sym.symbol) != LOC_TYPEDEF)
 		    {
 		      if (symbol_read_needs_frame (sym.symbol))
-			{
-			  if (innermost_block == 0
-			      || contained_in (sym.block, innermost_block))
-			    innermost_block = sym.block;
-			}
-
+			innermost_block.update (sym);
 		      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 		      write_exp_elt_block (pstate, sym.block);
 		      write_exp_elt_sym (pstate, sym.symbol);
@@ -2074,9 +2069,7 @@ yyreduce:
 		     {
 		      /* It hangs off of `this'.  Must not inadvertently convert from a
 			 method call to data ref.  */
-		      if (innermost_block == 0
-			  || contained_in (sym.block, innermost_block))
-			innermost_block = sym.block;
+		      innermost_block.update (sym);
 		      write_exp_elt_opcode (pstate, OP_THIS);
 		      write_exp_elt_opcode (pstate, OP_THIS);
 		      write_exp_elt_opcode (pstate, STRUCTOP_PTR);
@@ -2100,7 +2093,7 @@ yyreduce:
   case 81:
 
 /* Line 1455 of yacc.c  */
-#line 462 "d-exp.y"
+#line 455 "d-exp.y"
     { struct type *type = check_typedef ((yyvsp[(1) - (3)].tval));
 
 			  /* Check if the qualified name is in the global
@@ -2156,14 +2149,14 @@ yyreduce:
   case 82:
 
 /* Line 1455 of yacc.c  */
-#line 513 "d-exp.y"
+#line 506 "d-exp.y"
     { write_dollar_variable (pstate, (yyvsp[(1) - (1)].sval)); }
     break;
 
   case 83:
 
 /* Line 1455 of yacc.c  */
-#line 515 "d-exp.y"
+#line 508 "d-exp.y"
     { YYSTYPE val;
                   parse_number (pstate, (yyvsp[(1) - (1)].sval).ptr, (yyvsp[(1) - (1)].sval).length, 0, &val);
 		  write_exp_elt_opcode (pstate, OP_LONG);
@@ -2176,7 +2169,7 @@ yyreduce:
   case 84:
 
 /* Line 1455 of yacc.c  */
-#line 523 "d-exp.y"
+#line 516 "d-exp.y"
     { struct type *type = parse_d_type (pstate)->builtin_void;
 		  type = lookup_pointer_type (type);
 		  write_exp_elt_opcode (pstate, OP_LONG);
@@ -2188,7 +2181,7 @@ yyreduce:
   case 85:
 
 /* Line 1455 of yacc.c  */
-#line 530 "d-exp.y"
+#line 523 "d-exp.y"
     { write_exp_elt_opcode (pstate, OP_BOOL);
 		  write_exp_elt_longcst (pstate, (LONGEST) 1);
 		  write_exp_elt_opcode (pstate, OP_BOOL); }
@@ -2197,7 +2190,7 @@ yyreduce:
   case 86:
 
 /* Line 1455 of yacc.c  */
-#line 534 "d-exp.y"
+#line 527 "d-exp.y"
     { write_exp_elt_opcode (pstate, OP_BOOL);
 		  write_exp_elt_longcst (pstate, (LONGEST) 0);
 		  write_exp_elt_opcode (pstate, OP_BOOL); }
@@ -2206,7 +2199,7 @@ yyreduce:
   case 87:
 
 /* Line 1455 of yacc.c  */
-#line 538 "d-exp.y"
+#line 531 "d-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 		  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_int).type);
 		  write_exp_elt_longcst (pstate, (LONGEST)((yyvsp[(1) - (1)].typed_val_int).val));
@@ -2216,7 +2209,7 @@ yyreduce:
   case 88:
 
 /* Line 1455 of yacc.c  */
-#line 543 "d-exp.y"
+#line 536 "d-exp.y"
     { write_exp_elt_opcode (pstate, OP_FLOAT);
 		  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_float).type);
 		  write_exp_elt_floatcst (pstate, (yyvsp[(1) - (1)].typed_val_float).val);
@@ -2226,7 +2219,7 @@ yyreduce:
   case 89:
 
 /* Line 1455 of yacc.c  */
-#line 548 "d-exp.y"
+#line 541 "d-exp.y"
     { struct stoken_vector vec;
 		  vec.len = 1;
 		  vec.tokens = &(yyvsp[(1) - (1)].tsval);
@@ -2236,7 +2229,7 @@ yyreduce:
   case 90:
 
 /* Line 1455 of yacc.c  */
-#line 553 "d-exp.y"
+#line 546 "d-exp.y"
     { int i;
 		  write_exp_string_vector (pstate, 0, &(yyvsp[(1) - (1)].svec));
 		  for (i = 0; i < (yyvsp[(1) - (1)].svec).len; ++i)
@@ -2247,7 +2240,7 @@ yyreduce:
   case 91:
 
 /* Line 1455 of yacc.c  */
-#line 559 "d-exp.y"
+#line 552 "d-exp.y"
     { write_exp_elt_opcode (pstate, OP_ARRAY);
 		  write_exp_elt_longcst (pstate, (LONGEST) 0);
 		  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(1) - (1)].ival) - 1);
@@ -2257,21 +2250,21 @@ yyreduce:
   case 92:
 
 /* Line 1455 of yacc.c  */
-#line 564 "d-exp.y"
+#line 557 "d-exp.y"
     { write_exp_elt_opcode (pstate, OP_TYPEOF); }
     break;
 
   case 93:
 
 /* Line 1455 of yacc.c  */
-#line 569 "d-exp.y"
+#line 562 "d-exp.y"
     { (yyval.ival) = arglist_len; }
     break;
 
   case 95:
 
 /* Line 1455 of yacc.c  */
-#line 578 "d-exp.y"
+#line 571 "d-exp.y"
     { /* We copy the string here, and not in the
 		     lexer, to guarantee that we do not leak a
 		     string.  Note that we follow the
@@ -2291,7 +2284,7 @@ yyreduce:
   case 96:
 
 /* Line 1455 of yacc.c  */
-#line 593 "d-exp.y"
+#line 586 "d-exp.y"
     { /* Note that we NUL-terminate here, but just
 		     for convenience.  */
 		  char *p;
@@ -2311,14 +2304,14 @@ yyreduce:
   case 97:
 
 /* Line 1455 of yacc.c  */
-#line 611 "d-exp.y"
+#line 604 "d-exp.y"
     { /* Do nothing.  */ }
     break;
 
   case 98:
 
 /* Line 1455 of yacc.c  */
-#line 613 "d-exp.y"
+#line 606 "d-exp.y"
     { write_exp_elt_opcode (pstate, OP_TYPE);
 		  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].tval));
 		  write_exp_elt_opcode (pstate, OP_TYPE); }
@@ -2327,7 +2320,7 @@ yyreduce:
   case 99:
 
 /* Line 1455 of yacc.c  */
-#line 617 "d-exp.y"
+#line 610 "d-exp.y"
     { (yyval.tval) = follow_types ((yyvsp[(1) - (2)].tval));
 		  write_exp_elt_opcode (pstate, OP_TYPE);
 		  write_exp_elt_type (pstate, (yyval.tval));
@@ -2338,21 +2331,21 @@ yyreduce:
   case 100:
 
 /* Line 1455 of yacc.c  */
-#line 626 "d-exp.y"
+#line 619 "d-exp.y"
     { push_type (tp_pointer); }
     break;
 
   case 101:
 
 /* Line 1455 of yacc.c  */
-#line 628 "d-exp.y"
+#line 621 "d-exp.y"
     { push_type (tp_pointer); }
     break;
 
   case 102:
 
 /* Line 1455 of yacc.c  */
-#line 630 "d-exp.y"
+#line 623 "d-exp.y"
     { push_type_int ((yyvsp[(2) - (3)].typed_val_int).val);
 		  push_type (tp_array); }
     break;
@@ -2360,7 +2353,7 @@ yyreduce:
   case 103:
 
 /* Line 1455 of yacc.c  */
-#line 633 "d-exp.y"
+#line 626 "d-exp.y"
     { push_type_int ((yyvsp[(2) - (4)].typed_val_int).val);
 		  push_type (tp_array); }
     break;
@@ -2368,14 +2361,14 @@ yyreduce:
   case 104:
 
 /* Line 1455 of yacc.c  */
-#line 639 "d-exp.y"
+#line 632 "d-exp.y"
     { (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; }
     break;
 
 
 
 /* Line 1455 of yacc.c  */
-#line 2380 "d-exp.c"
+#line 2373 "d-exp.c.tmp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2587,7 +2580,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 642 "d-exp.y"
+#line 635 "d-exp.y"
 
 
 /* Return true if the type is aggregate-like.  */
@@ -3065,7 +3058,7 @@ lex_one_token (struct parser_state *par_
 	    last_was_structop = 1;
 	  goto symbol;		/* Nope, must be a symbol.  */
 	}
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
 
     case '0':
     case '1':
@@ -3583,13 +3576,13 @@ d_parse (struct parser_state *par_state)
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-exp.y ./gdb/d-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-exp.y	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/d-exp.y	2018-07-10 02:06:13.000000000 +0000
@@ -69,7 +69,7 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static int type_aggregate_p (struct type *);
 
@@ -422,12 +422,7 @@ PrimaryExpression:
 		  if (sym.symbol && SYMBOL_CLASS (sym.symbol) != LOC_TYPEDEF)
 		    {
 		      if (symbol_read_needs_frame (sym.symbol))
-			{
-			  if (innermost_block == 0
-			      || contained_in (sym.block, innermost_block))
-			    innermost_block = sym.block;
-			}
-
+			innermost_block.update (sym);
 		      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 		      write_exp_elt_block (pstate, sym.block);
 		      write_exp_elt_sym (pstate, sym.symbol);
@@ -437,9 +432,7 @@ PrimaryExpression:
 		     {
 		      /* It hangs off of `this'.  Must not inadvertently convert from a
 			 method call to data ref.  */
-		      if (innermost_block == 0
-			  || contained_in (sym.block, innermost_block))
-			innermost_block = sym.block;
+		      innermost_block.update (sym);
 		      write_exp_elt_opcode (pstate, OP_THIS);
 		      write_exp_elt_opcode (pstate, OP_THIS);
 		      write_exp_elt_opcode (pstate, STRUCTOP_PTR);
@@ -1116,7 +1109,7 @@ lex_one_token (struct parser_state *par_
 	    last_was_structop = 1;
 	  goto symbol;		/* Nope, must be a symbol.  */
 	}
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
 
     case '0':
     case '1':
@@ -1634,12 +1627,12 @@ d_parse (struct parser_state *par_state)
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/disasm.c ./gdb/disasm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/disasm.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/disasm.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,6 +30,7 @@
 #include "safe-ctype.h"
 #include <algorithm>
 #include "common/gdb_optional.h"
+#include "valprint.h"
 
 /* Disassemble functions.
    FIXME: We should get rid of all the duplicate code in gdb that does
@@ -199,8 +200,6 @@ gdb_pretty_print_disassembler::pretty_pr
   int offset;
   int line;
   int size;
-  char *filename = NULL;
-  char *name = NULL;
   CORE_ADDR pc;
   struct gdbarch *gdbarch = arch ();
 
@@ -237,6 +236,7 @@ gdb_pretty_print_disassembler::pretty_pr
       uiout->text (pc_prefix (pc));
     uiout->field_core_addr ("address", gdbarch, pc);
 
+    std::string name, filename;
     if (!build_address_symbolic (gdbarch, pc, 0, &name, &offset, &filename,
 				 &line, &unmapped))
       {
@@ -244,7 +244,7 @@ gdb_pretty_print_disassembler::pretty_pr
 	   the future.  */
 	uiout->text (" <");
 	if ((flags & DISASSEMBLY_OMIT_FNAME) == 0)
-	  uiout->field_string ("func-name", name);
+	  uiout->field_string ("func-name", name.c_str ());
 	uiout->text ("+");
 	uiout->field_int ("offset", offset);
 	uiout->text (">:\t");
@@ -252,11 +252,6 @@ gdb_pretty_print_disassembler::pretty_pr
     else
       uiout->text (":\t");
 
-    if (filename != NULL)
-      xfree (filename);
-    if (name != NULL)
-      xfree (name);
-
     m_insn_stb.clear ();
 
     if (flags & DISASSEMBLY_RAW_INSN)
@@ -727,6 +722,31 @@ fprintf_disasm (void *stream, const char
   return 0;
 }
 
+/* Combine implicit and user disassembler options and return them
+   in a newly-created string.  */
+
+static std::string
+get_all_disassembler_options (struct gdbarch *gdbarch)
+{
+  const char *implicit = gdbarch_disassembler_options_implicit (gdbarch);
+  const char *options = get_disassembler_options (gdbarch);
+  const char *comma = ",";
+
+  if (implicit == nullptr)
+    {
+      implicit = "";
+      comma = "";
+    }
+
+  if (options == nullptr)
+    {
+      options = "";
+      comma = "";
+    }
+
+  return string_printf ("%s%s%s", implicit, comma, options);
+}
+
 gdb_disassembler::gdb_disassembler (struct gdbarch *gdbarch,
 				    struct ui_file *file,
 				    di_read_memory_ftype read_memory_func)
@@ -751,7 +771,9 @@ gdb_disassembler::gdb_disassembler (stru
   m_di.endian = gdbarch_byte_order (gdbarch);
   m_di.endian_code = gdbarch_byte_order_for_code (gdbarch);
   m_di.application_data = this;
-  m_di.disassembler_options = get_disassembler_options (gdbarch);
+  m_disassembler_options_holder = get_all_disassembler_options (gdbarch);
+  if (!m_disassembler_options_holder.empty ())
+    m_di.disassembler_options = m_disassembler_options_holder.c_str ();
   disassemble_init_for_target (&m_di);
 }
 
@@ -838,13 +860,16 @@ gdb_buffered_insn_length_fprintf (void *
   return 0;
 }
 
-/* Initialize a struct disassemble_info for gdb_buffered_insn_length.  */
+/* Initialize a struct disassemble_info for gdb_buffered_insn_length.
+   Upon return, *DISASSEMBLER_OPTIONS_HOLDER owns the string pointed
+   to by DI.DISASSEMBLER_OPTIONS.  */
 
 static void
 gdb_buffered_insn_length_init_dis (struct gdbarch *gdbarch,
 				   struct disassemble_info *di,
 				   const gdb_byte *insn, int max_len,
-				   CORE_ADDR addr)
+				   CORE_ADDR addr,
+				   std::string *disassembler_options_holder)
 {
   init_disassemble_info (di, NULL, gdb_buffered_insn_length_fprintf);
 
@@ -860,7 +885,9 @@ gdb_buffered_insn_length_init_dis (struc
   di->endian = gdbarch_byte_order (gdbarch);
   di->endian_code = gdbarch_byte_order_for_code (gdbarch);
 
-  di->disassembler_options = get_disassembler_options (gdbarch);
+  *disassembler_options_holder = get_all_disassembler_options (gdbarch);
+  if (!disassembler_options_holder->empty ())
+    di->disassembler_options = disassembler_options_holder->c_str ();
   disassemble_init_for_target (di);
 }
 
@@ -872,8 +899,10 @@ gdb_buffered_insn_length (struct gdbarch
 			  const gdb_byte *insn, int max_len, CORE_ADDR addr)
 {
   struct disassemble_info di;
+  std::string disassembler_options_holder;
 
-  gdb_buffered_insn_length_init_dis (gdbarch, &di, insn, max_len, addr);
+  gdb_buffered_insn_length_init_dis (gdbarch, &di, insn, max_len, addr,
+				     &disassembler_options_holder);
 
   return gdbarch_print_insn (gdbarch, addr, &di);
 }
@@ -892,6 +921,7 @@ set_disassembler_options (char *prospect
 {
   struct gdbarch *gdbarch = get_current_arch ();
   char **disassembler_options = gdbarch_disassembler_options (gdbarch);
+  const disasm_options_and_args_t *valid_options_and_args;
   const disasm_options_t *valid_options;
   char *options = remove_whitespace_and_extra_commas (prospective_options);
   const char *opt;
@@ -908,20 +938,42 @@ set_disassembler_options (char *prospect
       return;
     }
 
-  valid_options = gdbarch_valid_disassembler_options (gdbarch);
-  if (valid_options  == NULL)
+  valid_options_and_args = gdbarch_valid_disassembler_options (gdbarch);
+  if (valid_options_and_args == NULL)
     {
       fprintf_filtered (gdb_stdlog, _("\
 'set disassembler-options ...' is not supported on this architecture.\n"));
       return;
     }
 
+  valid_options = &valid_options_and_args->options;
+
   /* Verify we have valid disassembler options.  */
   FOR_EACH_DISASSEMBLER_OPTION (opt, options)
     {
       size_t i;
       for (i = 0; valid_options->name[i] != NULL; i++)
-	if (disassembler_options_cmp (opt, valid_options->name[i]) == 0)
+	if (valid_options->arg != NULL && valid_options->arg[i] != NULL)
+	  {
+	    size_t len = strlen (valid_options->name[i]);
+	    bool found = false;
+	    const char *arg;
+	    size_t j;
+
+	    if (memcmp (opt, valid_options->name[i], len) != 0)
+	      continue;
+	    arg = opt + len;
+	    for (j = 0; valid_options->arg[i]->values[j] != NULL; j++)
+	      if (disassembler_options_cmp
+		    (arg, valid_options->arg[i]->values[j]) == 0)
+		{
+		  found = true;
+		  break;
+		}
+	    if (found)
+	      break;
+	  }
+	else if (disassembler_options_cmp (opt, valid_options->name[i]) == 0)
 	  break;
       if (valid_options->name[i] == NULL)
 	{
@@ -948,6 +1000,8 @@ show_disassembler_options_sfunc (struct 
 				 struct cmd_list_element *c, const char *value)
 {
   struct gdbarch *gdbarch = get_current_arch ();
+  const disasm_options_and_args_t *valid_options_and_args;
+  const disasm_option_arg_t *valid_args;
   const disasm_options_t *valid_options;
 
   const char *options = get_disassembler_options (gdbarch);
@@ -957,11 +1011,13 @@ show_disassembler_options_sfunc (struct 
   fprintf_filtered (file, _("The current disassembler options are '%s'\n"),
 		    options);
 
-  valid_options = gdbarch_valid_disassembler_options (gdbarch);
+  valid_options_and_args = gdbarch_valid_disassembler_options (gdbarch);
 
-  if (valid_options == NULL)
+  if (valid_options_and_args == NULL)
     return;
 
+  valid_options = &valid_options_and_args->options;
+
   fprintf_filtered (file, _("\n\
 The following disassembler options are supported for use with the\n\
 'set disassembler-options <option>[,<option>...]' command:\n"));
@@ -970,10 +1026,15 @@ The following disassembler options are s
     {
       size_t i, max_len = 0;
 
+      fprintf_filtered (file, "\n");
+
       /* Compute the length of the longest option name.  */
       for (i = 0; valid_options->name[i] != NULL; i++)
 	{
 	  size_t len = strlen (valid_options->name[i]);
+
+	  if (valid_options->arg != NULL && valid_options->arg[i] != NULL)
+	    len += strlen (valid_options->arg[i]->name);
 	  if (max_len < len)
 	    max_len = len;
 	}
@@ -981,10 +1042,17 @@ The following disassembler options are s
       for (i = 0, max_len++; valid_options->name[i] != NULL; i++)
 	{
 	  fprintf_filtered (file, "  %s", valid_options->name[i]);
+	  if (valid_options->arg != NULL && valid_options->arg[i] != NULL)
+	    fprintf_filtered (file, "%s", valid_options->arg[i]->name);
 	  if (valid_options->description[i] != NULL)
-	    fprintf_filtered (file, "%*c %s",
-			      (int)(max_len - strlen (valid_options->name[i])), ' ',
-			      valid_options->description[i]);
+	    {
+	      size_t len = strlen (valid_options->name[i]);
+
+	      if (valid_options->arg != NULL && valid_options->arg[i] != NULL)
+		len += strlen (valid_options->arg[i]->name);
+	      fprintf_filtered (file, "%*c %s", (int) (max_len - len), ' ',
+				valid_options->description[i]);
+	    }
 	  fprintf_filtered (file, "\n");
 	}
     }
@@ -995,12 +1063,33 @@ The following disassembler options are s
       for (i = 0; valid_options->name[i] != NULL; i++)
 	{
 	  fprintf_filtered (file, "%s", valid_options->name[i]);
+	  if (valid_options->arg != NULL && valid_options->arg[i] != NULL)
+	    fprintf_filtered (file, "%s", valid_options->arg[i]->name);
 	  if (valid_options->name[i + 1] != NULL)
 	    fprintf_filtered (file, ", ");
 	  wrap_here ("  ");
 	}
       fprintf_filtered (file, "\n");
     }
+
+  valid_args = valid_options_and_args->args;
+  if (valid_args != NULL)
+    {
+      size_t i, j;
+
+      for (i = 0; valid_args[i].name != NULL; i++)
+	{
+	  fprintf_filtered (file, _("\n\
+  For the options above, the following values are supported for \"%s\":\n   "),
+			    valid_args[i].name);
+	  for (j = 0; valid_args[i].values[j] != NULL; j++)
+	    {
+	      fprintf_filtered (file, " %s", valid_args[i].values[j]);
+	      wrap_here ("   ");
+	    }
+	  fprintf_filtered (file, "\n");
+	}
+    }
 }
 
 /* A completion function for "set disassembler".  */
@@ -1011,10 +1100,13 @@ disassembler_options_completer (struct c
 				const char *text, const char *word)
 {
   struct gdbarch *gdbarch = get_current_arch ();
-  const disasm_options_t *opts = gdbarch_valid_disassembler_options (gdbarch);
+  const disasm_options_and_args_t *opts_and_args
+    = gdbarch_valid_disassembler_options (gdbarch);
 
-  if (opts != NULL)
+  if (opts_and_args != NULL)
     {
+      const disasm_options_t *opts = &opts_and_args->options;
+
       /* Only attempt to complete on the last option text.  */
       const char *separator = strrchr (text, ',');
       if (separator != NULL)
@@ -1036,7 +1128,7 @@ _initialize_disasm (void)
   cmd = add_setshow_string_noescape_cmd ("disassembler-options", no_class,
 					 &prospective_options, _("\
 Set the disassembler options.\n\
-Usage: set disassembler-options <option>[,<option>...]\n\n\
+Usage: set disassembler-options OPTION [,OPTION]...\n\n\
 See: 'show disassembler-options' for valid option values.\n"), _("\
 Show the disassembler options."), NULL,
 					 set_disassembler_options_sfunc,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/disasm.h ./gdb/disasm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/disasm.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/disasm.h	2018-07-10 02:06:13.000000000 +0000
@@ -66,6 +66,11 @@ private:
   /* Stores data required for disassembling instructions in
      opcodes.  */
   struct disassemble_info m_di;
+
+  /* If we own the string in `m_di.disassembler_options', we do so
+     using this field.  */
+  std::string m_disassembler_options_holder;
+
   CORE_ADDR m_err_memaddr;
 
   static int dis_asm_read_memory (bfd_vma memaddr, gdb_byte *myaddr,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-lang.c ./gdb/d-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-lang.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/d-lang.c	2018-07-10 02:06:13.000000000 +0000
@@ -216,7 +216,6 @@ extern const struct language_defn d_lang
   d_extensions,
   &exp_descriptor_c,
   d_parse,
-  d_yyerror,
   null_post_parser,
   c_printchar,			/* Print a character constant.  */
   c_printstr,			/* Function to print string constant.  */
@@ -229,6 +228,7 @@ extern const struct language_defn d_lang
   default_read_var_value,	/* la_read_var_value */
   NULL,				/* Language specific skip_trampoline.  */
   "this",
+  false,			/* la_store_sym_names_in_linkage_form_p */
   d_lookup_symbol_nonlocal,
   basic_lookup_transparent_type,
   d_demangle,			/* Language specific symbol demangler.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-lang.h ./gdb/d-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-lang.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/d-lang.h	2018-07-10 02:06:13.000000000 +0000
@@ -58,8 +58,6 @@ struct builtin_d_type
 
 extern int d_parse (struct parser_state *);
 
-extern void d_yyerror (const char *);
-
 /* Defined in d-lang.c  */
 
 extern const char *d_main_name (void);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-namespace.c ./gdb/d-namespace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-namespace.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/d-namespace.c	2018-07-10 02:06:13.000000000 +0000
@@ -318,7 +318,7 @@ d_lookup_nested_symbol (struct type *par
     case TYPE_CODE_MODULE:
 	{
 	  int size;
-	  const char *parent_name = type_name_no_tag_or_error (saved_parent_type);
+	  const char *parent_name = type_name_or_error (saved_parent_type);
 	  struct block_symbol sym
 	    = d_lookup_symbol_in_module (parent_name, nested_name,
 					 block, VAR_DOMAIN, 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.1.0.20180703/gdb/doc/ChangeLog ./gdb/doc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/ChangeLog	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/doc/ChangeLog	2018-07-10 02:06:13.000000000 +0000
@@ -1,3 +1,128 @@
+2018-07-02  Maciej W. Rozycki  <macro@mips.com>
+
+	PR tdep/8282
+	* gdb.texinfo (Source and Machine Code): Document `set
+	disassembler-options' support for the MIPS target.
+
+2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
+
+	* gdb.texinfo (Files): Document "add-symbol-file -o offset".
+
+2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
+
+	* gdb.texinfo (Files): The address argument for "add-symbol-file"
+	is no longer mandatory.
+
+2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
+
+	* gdb.texinfo (Files): Document "symbol-file -o offset".
+
+2018-06-14  Tom de Vries  <tdevries@suse.de>
+
+	* gdb.texinfo (Background Execution): Add @cindex for '&'.
+
+2018-06-11  Eli Zaretskii  <eliz@gnu.org>
+
+	* gdb.texinfo (Maintenance Commands): Add a missing @anchor.
+
+2018-06-08  Gary Benson <gbenson@redhat.com>
+
+	* gdb.texinfo (Maintenance Commands): Document "maint check
+	libthread-db" and "maint set/show check-libthread-db".
+
+2018-06-05  Tom Tromey	<tom@tromey.com>
+
+	PR cli/12326:
+	* gdb.texinfo (Screen Size): Document "c" response to pagination
+	prompt.
+
+2018-05-31  Maciej W. Rozycki  <macro@mips.com>
+
+	* gdb.texinfo (Choosing Target Byte Order): Document endianness
+	selection details with the `set endian auto' mode.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	PR python/22731:
+	* python.texi (Breakpoints In Python): Mention that "commands" is
+	writable.
+
+2018-05-02  Tom Tromey  <tom@tromey.com>
+
+	PR python/20084:
+	* python.texi (Parameters In Python): Document PARAM_ZUINTEGER and
+	PARAM_ZUINTEGER_UNLIMITED.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* python.texi (Types In Python): Document Type.align.
+
+2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.texinfo (Symbols): Mention the fact that "info
+	variables/functions/types" show source files and line numbers.
+
+2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* gdb.texinfo: Document set/show record btrace cpu.
+
+2018-03-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.texinfo (Ada Settings): New subsubsection.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	PR backtrace/15582:
+	* gdb.texinfo (Backtrace): Mention "hide" argument.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	* gdb.texinfo (Backtrace): Describe options individually.
+
+2018-03-19  Tom Tromey  <tom@tromey.com>
+
+	* observer.texi: Remove.
+
+2018-03-04  John Baldwin  <jhb@FreeBSD.org>
+
+	* gdb.texinfo (Debugging Output): Document "set/show debug
+	fbsd-nat".
+
+2018-02-19  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.texinfo (Machine Code): Additional information about "info
+	line" command.
+
+2018-01-15  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* gdb.texinfo (gdb-add-index man): Add pindex.
+
+2018-01-15  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* gdb.texinfo (set cwd): Add period.
+	(gdb-add-index man): Move anchor.
+
+2017-01-12  Tom Tromey  <tom@tromey.com>
+	    Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* gdb.texinfo (Index Files): Mention gdb-add-index.
+	(gdb-add-index man): New section.
+	* Makefile.in (gdb-add-index.1): New rule to generate manpage
+	from gdb.texinfo.
+
+2018-01-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* gdb.texinfo (pwd): Fix whitespace.
+
+2018-01-09  John Baldwin  <jhb@FreeBSD.org>
+
+	* gdb.texinfo (pwd): Update cross-reference for Process Information
+	node and remove explicit /proc reference.
+	(Native): Rename subsection from SVR4 Process Information to
+	Process Information.
+	(Process Information): Reword introduction to be less /proc
+	centric.  Document support for "info proc" on FreeBSD.
+
 2018-01-03  Xavier Roirand  <roirand@adacore.com>
 
 	* gdb.texinfo (Set Catchpoints): Add documentation for new
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gcore.1 ./gdb/doc/gcore.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gcore.1	2018-07-03 02:10:48.000000000 +0000
+++ ./gdb/doc/gcore.1	2018-07-10 02:10:35.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GCORE 1"
-.TH GCORE 1 "2018-07-03" "gdb-8.1.0.20180703-git" "GNU Development Tools"
+.TH GCORE 1 "2018-07-10" "gdb-8.1.90.20180710-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.1.0.20180703/gdb/doc/gdb.1 ./gdb/doc/gdb.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.1	2018-07-03 02:10:47.000000000 +0000
+++ ./gdb/doc/gdb.1	2018-07-10 02:10:35.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB 1"
-.TH GDB 1 "2018-07-03" "gdb-8.1.0.20180703-git" "GNU Development Tools"
+.TH GDB 1 "2018-07-10" "gdb-8.1.90.20180710-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.1.0.20180703/gdb/doc/gdb-add-index.1 ./gdb/doc/gdb-add-index.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb-add-index.1	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/doc/gdb-add-index.1	2018-07-10 02:10:36.000000000 +0000
@@ -0,0 +1,188 @@
+.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
+.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.el \{\
+.    de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "GDB-ADD-INDEX 1"
+.TH GDB-ADD-INDEX 1 "2018-07-10" "gdb-8.1.90.20180710-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
+.nh
+.SH "NAME"
+gdb\-add\-index \- Add index files to speed up GDB
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+gdb-add-index \fIfilename\fR
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+When \s-1GDB\s0 finds a symbol file, it scans the symbols in the
+file in order to construct an internal symbol table.  This lets most
+\&\s-1GDB\s0 operations work quickly\*(--at the cost of a delay early on.
+For large programs, this delay can be quite lengthy, so \s-1GDB\s0
+provides a way to build an index, which speeds up startup.
+.PP
+To determine whether a file contains such an index, use the command
+\&\f(CW\*(C`readelf \-S filename\*(C'\fR: the index is stored in a section named
+\&\f(CW\*(C`.gdb_index\*(C'\fR.  The index file can only be produced on systems
+which use \s-1ELF\s0 binaries and \s-1DWARF\s0 debug information (i.e., sections
+named \f(CW\*(C`.debug_*\*(C'\fR).
+.PP
+\&\fBgdb-add-index\fR uses \s-1GDB\s0 and \fBobjdump\fR found
+in the \fB\s-1PATH\s0\fR environment variable.  If you want to use different
+versions of these programs, you can specify them through the
+\&\fB\s-1GDB\s0\fR and \fB\s-1OBJDUMP\s0\fR environment variables.
+.PP
+See more in
+the \s-1GDB\s0 manual in node \f(CW\*(C`Index Files\*(C'\fR
+\&\*(-- shell command \f(CW\*(C`info \-f gdb \-n "Index Files"\*(C'\fR.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+The full documentation for \s-1GDB\s0 is maintained as a Texinfo manual.
+If the \f(CW\*(C`info\*(C'\fR and \f(CW\*(C`gdb\*(C'\fR programs and \s-1GDB\s0's Texinfo
+documentation are properly installed at your site, the command
+.PP
+.Vb 1
+\&        info gdb
+.Ve
+.PP
+should give you access to the complete manual.
+.PP
+\&\fIUsing \s-1GDB:\s0 A Guide to the \s-1GNU\s0 Source-Level Debugger\fR,
+Richard M. Stallman and Roland H. Pesch, July 1991.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright (c) 1988\-2018 Free Software Foundation, Inc.
+.PP
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with the
+Invariant Sections being \*(L"Free Software\*(R" and \*(L"Free Software Needs
+Free Documentation\*(R", with the Front-Cover Texts being \*(L"A \s-1GNU\s0 Manual,\*(R"
+and with the Back-Cover Texts as in (a) below.
+.PP
+(a) The \s-1FSF\s0's Back-Cover Text is: \*(L"You are free to copy and modify
+this \s-1GNU\s0 Manual.  Buying copies from \s-1GNU\s0 Press supports the \s-1FSF\s0 in
+developing \s-1GNU\s0 and promoting software freedom.\*(R"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info ./gdb/doc/gdb.info
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info	2018-07-03 02:10:44.000000000 +0000
+++ ./gdb/doc/gdb.info	2018-07-10 02:10:32.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.1.0.20180703-git.
+Source-Level Debugger' for GDB (GDB) Version 8.1.90.20180710-git.
 
    Copyright (C) 1988-2018 Free Software Foundation, Inc.
 
@@ -38,747 +38,751 @@ developing GNU and promoting software fr
 
 
 Indirect:
-gdb.info-1: 1715
-gdb.info-2: 308239
-gdb.info-3: 601932
-gdb.info-4: 903232
-gdb.info-5: 1210736
-gdb.info-6: 1502198
-gdb.info-7: 1811481
+gdb.info-1: 1716
+gdb.info-2: 301867
+gdb.info-3: 604510
+gdb.info-4: 905850
+gdb.info-5: 1206106
+gdb.info-6: 1501788
+gdb.info-7: 1803837
 
 Tag Table:
 (Indirect)
-Node: Top1715
-Node: Summary5186
-Node: Free Software7047
-Node: Free Documentation7787
-Node: Contributors12721
-Node: Sample Session21295
-Node: Invocation28146
-Node: Invoking GDB28689
-Node: File Options31023
-Ref: --readnever34094
-Node: Mode Options34568
-Ref: -nx34795
-Ref: -nh35879
-Node: Startup42196
-Ref: Home Directory Init File42747
-Ref: Option -init-eval-command42857
-Ref: Init File in the Current Directory during Startup43197
-Ref: Startup-Footnote-145393
-Node: Quitting GDB45502
-Node: Shell Commands46399
-Node: Logging Output47326
-Node: Commands48163
-Node: Command Syntax48801
-Node: Completion50967
-Ref: Completion-Footnote-157877
-Node: Help58037
-Node: Running63788
-Node: Compilation65017
-Node: Starting67101
-Ref: set exec-wrapper72891
-Ref: set startup-with-shell73980
-Ref: set auto-connect-native-target75041
-Node: Arguments79437
-Node: Environment80706
-Ref: set environment82588
-Ref: unset environment83770
-Node: Working Directory84776
-Ref: set cwd command85348
-Ref: cd command86287
-Node: Input/Output86991
-Node: Attach89051
-Node: Kill Process91517
-Node: Inferiors and Programs92498
-Node: Threads100039
-Ref: thread numbers102150
-Ref: thread ID lists103040
-Ref: global thread numbers104080
-Ref: set libthread-db-search-path110437
-Node: Forks112491
-Node: Checkpoint/Restart119009
-Ref: Checkpoint/Restart-Footnote-1123537
-Node: Stopping123572
-Node: Breakpoints124835
-Node: Set Breaks128092
-Node: Set Watchpoints146634
-Node: Set Catchpoints156016
-Node: Delete Breaks168793
-Node: Disabling170729
-Node: Conditions174109
-Node: Break Commands179756
-Node: Dynamic Printf182976
-Node: Save Breakpoints187280
-Node: Static Probe Points188455
-Ref: Static Probe Points-Footnote-1192633
-Ref: Static Probe Points-Footnote-2192793
-Node: Error in Breakpoints192933
-Node: Breakpoint-related Warnings193669
-Node: Continuing and Stepping195996
-Ref: range stepping205459
-Node: Skipping Over Functions and Files206539
-Node: Signals212171
-Ref: stepping and signal handlers216605
-Ref: stepping into signal handlers217401
-Ref: extra signal information218634
-Node: Thread Stops221100
-Node: All-Stop Mode222199
-Node: Non-Stop Mode226166
-Node: Background Execution229579
-Node: Thread-Specific Breakpoints231795
-Node: Interrupted System Calls233811
-Node: Observer Mode235325
-Node: Reverse Execution238761
-Ref: Reverse Execution-Footnote-1243386
-Ref: Reverse Execution-Footnote-2244013
-Node: Process Record and Replay244063
-Node: Stack262796
-Node: Frames264344
-Node: Backtrace266638
-Ref: backtrace-command266975
-Ref: Backtrace-Footnote-1272745
-Node: Selection272933
-Node: Frame Info275814
-Node: Frame Filter Management277833
-Ref: disable frame-filter all278360
-Node: Source282668
-Node: List283734
-Node: Specify Location286436
-Node: Linespec Locations287057
-Node: Explicit Locations290456
-Node: Address Locations293668
-Node: Edit295419
-Ref: Edit-Footnote-1296895
-Node: Search297130
-Node: Source Path297938
-Ref: set substitute-path304304
-Node: Machine Code308239
-Node: Data318255
-Node: Expressions325988
-Node: Ambiguous Expressions328091
-Node: Variables331321
-Node: Arrays337919
-Node: Output Formats340450
-Ref: Output Formats-Footnote-1343823
-Node: Memory343980
-Ref: addressable memory unit350165
-Node: Auto Display351659
-Node: Print Settings356201
-Ref: set print entry-values364363
-Node: Pretty Printing375673
-Node: Pretty-Printer Introduction376187
-Node: Pretty-Printer Example377942
-Node: Pretty-Printer Commands378720
-Node: Value History381144
-Node: Convenience Vars383566
-Node: Convenience Funs390170
-Node: Registers395659
-Ref: standard registers396866
-Ref: Registers-Footnote-1401817
-Node: Floating Point Hardware402212
-Node: Vector Unit402744
-Node: OS Information403131
-Ref: linux info os infotypes405155
-Node: Memory Region Attributes409746
-Node: Dump/Restore Files414410
-Node: Core File Generation416813
-Ref: set use-coredump-filter418373
-Ref: set dump-excluded-mappings419821
-Node: Character Sets420103
-Node: Caching Target Data426468
-Ref: Caching Target Data-Footnote-1429196
-Node: Searching Memory429434
-Node: Value Sizes432577
-Node: Optimized Code434230
-Node: Inline Functions435907
-Node: Tail Call Frames438534
-Ref: set debug entry-values440671
-Node: Macros444733
-Ref: Macros-Footnote-1452309
-Node: Tracepoints452462
-Node: Set Tracepoints454524
-Node: Create and Delete Tracepoints457462
-Node: Enable and Disable Tracepoints463809
-Node: Tracepoint Passcounts465049
-Node: Tracepoint Conditions466460
-Node: Trace State Variables468154
-Node: Tracepoint Actions470349
-Node: Listing Tracepoints477132
-Node: Listing Static Tracepoint Markers478834
-Node: Starting and Stopping Trace Experiments480682
-Ref: disconnected tracing482427
-Node: Tracepoint Restrictions486847
-Node: Analyze Collected Data490616
-Node: tfind491922
-Node: tdump496404
-Node: save tracepoints498919
-Node: Tracepoint Variables499415
-Node: Trace Files500543
-Node: Overlays502919
-Node: How Overlays Work503639
-Ref: A code overlay506194
-Node: Overlay Commands509607
-Node: Automatic Overlay Debugging513789
-Node: Overlay Sample Program515928
-Node: Languages517665
-Node: Setting518828
-Node: Filenames520529
-Node: Manually521340
-Node: Automatically522549
-Node: Show523610
-Ref: show language523898
-Node: Checks524932
-Node: Type Checking525937
-Node: Range Checking527766
-Node: Supported Languages530167
-Node: C531504
-Node: C Operators532468
-Node: C Constants536807
-Node: C Plus Plus Expressions539686
-Node: C Defaults543046
-Node: C Checks543714
-Node: Debugging C544274
-Node: Debugging C Plus Plus544758
-Node: Decimal Floating Point549645
-Node: D550915
-Node: Go551173
-Node: Objective-C552267
-Node: Method Names in Commands552730
-Node: The Print Command with Objective-C554421
-Node: OpenCL C555072
-Node: OpenCL C Datatypes555347
-Node: OpenCL C Expressions555722
-Node: OpenCL C Operators556079
-Node: Fortran556311
-Node: Fortran Operators557032
-Node: Fortran Defaults557888
-Node: Special Fortran Commands558273
-Node: Pascal558779
-Node: Rust559290
-Node: Modula-2562377
-Node: M2 Operators563350
-Node: Built-In Func/Proc566348
-Node: M2 Constants569262
-Node: M2 Types570863
-Node: M2 Defaults574081
-Node: Deviations574682
-Node: M2 Checks575783
-Node: M2 Scope576600
-Node: GDB/M2577624
-Node: Ada578537
-Node: Ada Mode Intro579774
-Node: Omissions from Ada581276
-Node: Additions to Ada585631
-Node: Overloading support for Ada589559
-Node: Stopping Before Main Program591199
-Node: Ada Exceptions591746
-Node: Ada Tasks592945
-Node: Ada Tasks and Core Files599370
-Node: Ravenscar Profile601932
-Node: Ada Glitches603003
-Node: Unsupported Languages607016
-Node: Symbols607706
-Ref: quoting names608309
-Node: Altering633736
-Node: Assignment634774
-Node: Jumping637880
-Node: Signaling639954
-Node: Returning642883
-Node: Calling646234
-Node: Patching650848
-Node: Compiling and Injecting Code651962
-Ref: set debug compile655419
-Node: GDB Files665420
-Node: Files666209
-Ref: Shared Libraries679511
-Ref: Files-Footnote-1691709
-Node: File Caching691838
-Node: Separate Debug Files692972
-Ref: debug-file-directory696082
-Node: MiniDebugInfo704697
-Node: Index Files707148
-Node: Symbol Errors709737
-Node: Data Files713353
-Node: Targets714309
-Node: Active Targets715789
-Node: Target Commands716863
-Ref: load721252
-Ref: flash-erase722445
-Node: Byte Order722505
-Node: Remote Debugging723479
-Node: Connecting724741
-Ref: --multi Option in Types of Remote Connnections726967
-Ref: Attaching in Types of Remote Connections728382
-Ref: Host and target files728883
-Node: File Transfer735358
-Node: Server736297
-Ref: Running gdbserver737873
-Ref: Attaching to a program740091
-Ref: Other Command-Line Arguments for gdbserver742616
-Ref: Monitor Commands for gdbserver745832
-Ref: Server-Footnote-1751088
-Node: Remote Configuration751208
-Ref: set remotebreak752468
-Ref: set remote hardware-watchpoint-limit753931
-Ref: set remote hardware-breakpoint-limit753931
-Ref: set remote hardware-watchpoint-length-limit754157
-Ref: set remote exec-file754572
-Node: Remote Stub766581
-Node: Stub Contents769476
-Node: Bootstrapping771583
-Node: Debug Session775398
-Node: Configurations777439
-Node: Native778208
-Node: BSD libkvm Interface778739
-Node: SVR4 Process Information779796
-Node: DJGPP Native783556
-Node: Cygwin Native790115
-Node: Non-debug DLL Symbols795036
-Node: Hurd Native799275
-Node: Darwin804531
-Node: Embedded OS805792
-Node: Embedded Processors806203
-Node: ARC807193
-Node: ARM807740
-Node: M68K810287
-Node: MicroBlaze810460
-Node: MIPS Embedded811909
-Node: OpenRISC 1000813206
-Node: PowerPC Embedded814112
-Node: AVR817341
-Node: CRIS817713
-Node: Super-H818689
-Node: Architectures819748
-Node: AArch64820197
-Node: i386820603
-Ref: i386-Footnote-1824813
-Node: Alpha824899
-Node: MIPS825032
-Node: HPPA828926
-Node: SPU829444
-Node: PowerPC831630
-Node: Nios II832365
-Node: Sparc64832770
-Node: Controlling GDB835125
-Node: Prompt836021
-Node: Editing837739
-Node: Command History838682
-Node: Screen Size842988
-Node: Numbers844922
-Node: ABI846901
-Node: Auto-loading850074
-Ref: set auto-load off851449
-Ref: show auto-load852085
-Ref: info auto-load852864
-Node: Init File in the Current Directory855831
-Ref: set auto-load local-gdbinit856406
-Ref: show auto-load local-gdbinit856588
-Ref: info auto-load local-gdbinit856752
-Node: libthread_db.so.1 file856900
-Ref: set auto-load libthread-db857839
-Ref: show auto-load libthread-db857970
-Ref: info auto-load libthread-db858107
-Node: Auto-loading safe path858291
-Ref: set auto-load safe-path859597
-Ref: show auto-load safe-path860336
-Ref: add-auto-load-safe-path860459
-Node: Auto-loading verbose mode863361
-Ref: set debug auto-load864524
-Ref: show debug auto-load864625
-Node: Messages/Warnings864747
-Ref: confirmation requests866181
-Node: Debugging Output867385
-Node: Other Misc Settings877015
-Node: Extending GDB878039
-Node: Sequences879892
-Node: Define880553
-Node: Hooks884633
-Node: Command Files886999
-Node: Output892072
-Ref: eval896874
-Node: Auto-loading sequences897036
-Ref: set auto-load gdb-scripts897531
-Ref: show auto-load gdb-scripts897655
-Ref: info auto-load gdb-scripts897785
-Node: Python898016
-Node: Python Commands899189
-Node: Python API903232
-Node: Basic Python905837
-Ref: prompt_hook915712
-Node: Exception Handling916310
-Node: Values From Inferior918806
-Node: Types In Python932003
-Node: Pretty Printing API941558
-Node: Selecting Pretty-Printers945454
-Node: Writing a Pretty-Printer947787
-Node: Type Printing API953109
-Node: Frame Filter API955725
-Node: Frame Decorator API963006
-Ref: frame_args966590
-Node: Writing a Frame Filter969920
-Node: Unwinding Frames in Python981394
-Node: Xmethods In Python986850
-Node: Xmethod API989746
-Node: Writing an Xmethod993558
-Node: Inferiors In Python999393
-Node: Events In Python1002537
-Node: Threads In Python1011455
-Node: Recordings In Python1014342
-Node: Commands In Python1021676
-Node: Parameters In Python1031089
-Node: Functions In Python1036549
-Node: Progspaces In Python1038766
-Node: Objfiles In Python1042267
-Node: Frames In Python1048046
-Node: Blocks In Python1054889
-Node: Symbols In Python1059251
-Node: Symbol Tables In Python1066479
-Node: Line Tables In Python1069702
-Node: Breakpoints In Python1072539
-Ref: python_breakpoint_thread1078862
-Node: Finish Breakpoints in Python1081899
-Node: Lazy Strings In Python1084005
-Node: Architectures In Python1086235
-Node: Python Auto-loading1088424
-Ref: set auto-load python-scripts1089053
-Ref: show auto-load python-scripts1089153
-Ref: info auto-load python-scripts1089259
-Node: Python modules1090393
-Node: gdb.printing1090779
-Node: gdb.types1092206
-Node: gdb.prompt1095218
-Node: Guile1096867
-Node: Guile Introduction1097526
-Node: Guile Commands1098397
-Node: Guile API1100251
-Node: Basic Guile1102248
-Node: Guile Configuration1107930
-Node: GDB Scheme Data Types1108906
-Node: Guile Exception Handling1110738
-Node: Values From Inferior In Guile1114772
-Node: Arithmetic In Guile1130307
-Node: Types In Guile1131938
-Ref: Fields of a type in Guile1139879
-Node: Guile Pretty Printing API1141267
-Node: Selecting Guile Pretty-Printers1146869
-Node: Writing a Guile Pretty-Printer1149245
-Node: Commands In Guile1154430
-Node: Parameters In Guile1165210
-Ref: Parameters In Guile-Footnote-11172091
-Node: Progspaces In Guile1172207
-Node: Objfiles In Guile1174795
-Node: Frames In Guile1177076
-Node: Blocks In Guile1183654
-Node: Symbols In Guile1188462
-Node: Symbol Tables In Guile1195797
-Node: Breakpoints In Guile1198760
-Node: Lazy Strings In Guile1210736
-Node: Architectures In Guile1213027
-Node: Disassembly In Guile1217334
-Node: I/O Ports in Guile1220536
-Node: Memory Ports in Guile1221092
-Node: Iterators In Guile1224358
-Node: Guile Auto-loading1228647
-Ref: set auto-load guile-scripts1229270
-Ref: show auto-load guile-scripts1229368
-Ref: info auto-load guile-scripts1229472
-Node: Guile Modules1230431
-Node: Guile Printing Module1230753
-Node: Guile Types Module1231572
-Node: Auto-loading extensions1232865
-Node: objfile-gdbdotext file1234063
-Ref: set auto-load scripts-directory1235499
-Ref: with-auto-load-dir1235875
-Ref: show auto-load scripts-directory1236693
-Ref: add-auto-load-scripts-directory1236773
-Node: dotdebug_gdb_scripts section1237249
-Node: Which flavor to choose?1240999
-Node: Multiple Extension Languages1242820
-Node: Aliases1243884
-Node: Interpreters1246749
-Node: TUI1249842
-Node: TUI Overview1250840
-Node: TUI Keys1253273
-Node: TUI Single Key Mode1255577
-Node: TUI Commands1256584
-Node: TUI Configuration1260523
-Node: Emacs1261829
-Node: GDB/MI1267266
-Node: GDB/MI General Design1269240
-Node: Context management1271760
-Node: Asynchronous and non-stop modes1275547
-Node: Thread groups1278521
-Node: GDB/MI Command Syntax1280799
-Node: GDB/MI Input Syntax1281042
-Node: GDB/MI Output Syntax1282592
-Node: GDB/MI Compatibility with CLI1286177
-Node: GDB/MI Development and Front Ends1286914
-Node: GDB/MI Output Records1288568
-Node: GDB/MI Result Records1288974
-Node: GDB/MI Stream Records1290324
-Node: GDB/MI Async Records1291589
-Node: GDB/MI Breakpoint Information1302026
-Node: GDB/MI Frame Information1305977
-Node: GDB/MI Thread Information1307063
-Node: GDB/MI Ada Exception Information1308533
-Node: GDB/MI Simple Examples1309083
-Node: GDB/MI Command Description Format1311291
-Node: GDB/MI Breakpoint Commands1312171
-Ref: -break-insert1319279
-Node: GDB/MI Catchpoint Commands1332734
-Node: Shared Library GDB/MI Catchpoint Commands1333102
-Node: Ada Exception GDB/MI Catchpoint Commands1334760
-Node: GDB/MI Program Context1337164
-Node: GDB/MI Thread Commands1341432
-Node: GDB/MI Ada Tasking Commands1344695
-Node: GDB/MI Program Execution1346967
-Node: GDB/MI Stack Manipulation1359001
-Ref: -stack-list-arguments1360900
-Ref: -stack-list-frames1364605
-Ref: -stack-list-locals1368468
-Ref: -stack-list-variables1369958
-Node: GDB/MI Variable Objects1371492
-Ref: -var-set-format1381457
-Ref: -var-list-children1382838
-Ref: -var-update1391646
-Ref: -var-set-frozen1394644
-Ref: -var-set-update-range1395441
-Ref: -var-set-visualizer1395970
-Node: GDB/MI Data Manipulation1397460
-Node: GDB/MI Tracepoint Commands1417634
-Node: GDB/MI Symbol Query1429425
-Node: GDB/MI File Commands1430114
-Node: GDB/MI Target Manipulation1434548
-Node: GDB/MI File Transfer Commands1441206
-Node: GDB/MI Ada Exceptions Commands1442529
-Node: GDB/MI Support Commands1443882
-Node: GDB/MI Miscellaneous Commands1448455
-Ref: -interpreter-exec1458789
-Node: Annotations1461129
-Node: Annotations Overview1462048
-Node: Server Prefix1464511
-Node: Prompting1465245
-Node: Errors1466762
-Node: Invalidation1467658
-Node: Annotations for Running1468137
-Node: Source Annotations1469671
-Node: JIT Interface1470600
-Node: Declarations1472399
-Node: Registering Code1473786
-Node: Unregistering Code1474758
-Node: Custom Debug Info1475385
-Node: Using JIT Debug Info Readers1476681
-Node: Writing JIT Debug Info Readers1477693
-Node: In-Process Agent1479888
-Ref: Control Agent1481831
-Node: In-Process Agent Protocol1482698
-Node: IPA Protocol Objects1483489
-Ref: agent expression object1484487
-Ref: tracepoint action object1484692
-Ref: tracepoint object1484772
-Node: IPA Protocol Commands1487302
-Node: GDB Bugs1488772
-Node: Bug Criteria1489504
-Node: Bug Reporting1490381
-Node: Command Line Editing1498210
-Node: Introduction and Notation1498862
-Node: Readline Interaction1502198
-Node: Readline Bare Essentials1503387
-Node: Readline Movement Commands1505168
-Node: Readline Killing Commands1506126
-Node: Readline Arguments1508042
-Node: Searching1509084
-Node: Readline Init File1511234
-Node: Readline Init File Syntax1512385
-Node: Conditional Init Constructs1527484
-Node: Sample Init File1530007
-Node: Bindable Readline Commands1533121
-Node: Commands For Moving1534173
-Node: Commands For History1535031
-Node: Commands For Text1538426
-Node: Commands For Killing1541149
-Node: Numeric Arguments1543289
-Node: Commands For Completion1544425
-Node: Keyboard Macros1546391
-Node: Miscellaneous Commands1546959
-Node: Readline vi Mode1550807
-Node: Using History Interactively1551717
-Node: History Interaction1552232
-Node: Event Designators1553654
-Node: Word Designators1554791
-Node: Modifiers1556426
-Node: In Memoriam1557647
-Node: Formatting Documentation1558530
-Ref: Formatting Documentation-Footnote-11561902
-Node: Installing GDB1561996
-Node: Requirements1562568
-Ref: Expat1563137
-Ref: MPFR1564087
-Node: Running Configure1566478
-Node: Separate Objdir1570242
-Node: Config Names1573215
-Node: Configure Options1574690
-Node: System-wide configuration1577061
-Node: System-wide Configuration Scripts1579021
-Node: Maintenance Commands1580205
-Ref: maint info breakpoints1581860
-Node: Remote Protocol1602426
-Node: Overview1603118
-Ref: Binary Data1605663
-Node: Packets1608188
-Ref: thread-id syntax1609088
-Ref: extended mode1610533
-Ref: ? packet1610791
-Ref: bc1612257
-Ref: bs1612467
-Ref: read registers packet1614084
-Ref: cycle step packet1615939
-Ref: write register packet1618650
-Ref: step with signal packet1619629
-Ref: vCont packet1621105
-Ref: vCtrlC packet1624338
-Ref: vKill packet1626756
-Ref: X packet1628289
-Ref: insert breakpoint or watchpoint packet1628658
-Node: Stop Reply Packets1632984
-Ref: swbreak stop reason1636235
-Ref: thread create event1639832
-Ref: thread exit event1641035
-Node: General Query Packets1643244
-Ref: qCRC packet1646074
-Ref: QEnvironmentHexEncoded1649227
-Ref: QEnvironmentUnset1650457
-Ref: QEnvironmentReset1651401
-Ref: QSetWorkingDir packet1652345
-Ref: QNonStop1658796
-Ref: QCatchSyscalls1659472
-Ref: QPassSignals1661009
-Ref: QProgramSignals1662216
-Ref: QThreadEvents1663783
-Ref: qSearch memory1665801
-Ref: QStartNoAckMode1666309
-Ref: qSupported1666840
-Ref: multiprocess extensions1682847
-Ref: install tracepoint in tracing1684877
-Ref: qXfer read1689400
-Ref: qXfer auxiliary vector read1691007
-Ref: qXfer btrace read1691355
-Ref: qXfer btrace-conf read1692420
-Ref: qXfer executable filename read1692771
-Ref: qXfer target description read1693386
-Ref: qXfer library list read1693820
-Ref: qXfer svr4 library list read1694476
-Ref: qXfer memory map read1696329
-Ref: qXfer sdata read1696716
-Ref: qXfer siginfo read1697182
-Ref: qXfer spu read1697579
-Ref: qXfer threads read1698103
-Ref: qXfer traceframe info read1698506
-Ref: qXfer unwind info block1698924
-Ref: qXfer fdpic loadmap read1699158
-Ref: qXfer osdata read1699574
-Ref: qXfer write1699728
-Ref: qXfer siginfo write1700820
-Ref: qXfer spu write1701217
-Ref: General Query Packets-Footnote-11704073
-Node: Architecture-Specific Protocol Details1704400
-Node: ARM-Specific Protocol Details1704909
-Node: ARM Breakpoint Kinds1705157
-Node: MIPS-Specific Protocol Details1705488
-Node: MIPS Register packet Format1705771
-Node: MIPS Breakpoint Kinds1706698
-Node: Tracepoint Packets1707116
-Ref: QTEnable1716430
-Ref: QTDisable1716626
-Ref: qTfSTM1722163
-Ref: qTsSTM1722163
-Ref: qTSTMat1723240
-Ref: QTBuffer-size1724391
-Node: Host I/O Packets1726364
-Node: Interrupts1731944
-Ref: interrupting remote targets1732088
-Node: Notification Packets1734256
-Node: Remote Non-Stop1739681
-Node: Packet Acknowledgment1742797
-Node: Examples1744912
-Node: File-I/O Remote Protocol Extension1745506
-Node: File-I/O Overview1745968
-Node: Protocol Basics1748167
-Node: The F Request Packet1750396
-Node: The F Reply Packet1751297
-Node: The Ctrl-C Message1752215
-Node: Console I/O1753841
-Node: List of Supported Calls1755057
-Node: open1755419
-Node: close1757927
-Node: read1758310
-Node: write1758919
-Node: lseek1759690
-Node: rename1760574
-Node: unlink1761981
-Node: stat/fstat1762928
-Node: gettimeofday1763821
-Node: isatty1764257
-Node: system1764853
-Node: Protocol-specific Representation of Datatypes1766395
-Node: Integral Datatypes1766772
-Node: Pointer Values1767579
-Node: Memory Transfer1768283
-Node: struct stat1768903
-Node: struct timeval1771105
-Node: Constants1771622
-Node: Open Flags1772071
-Node: mode_t Values1772412
-Node: Errno Values1772904
-Node: Lseek Flags1773714
-Node: Limits1773899
-Node: File-I/O Examples1774259
-Node: Library List Format1775347
-Node: Library List Format for SVR4 Targets1778129
-Node: Memory Map Format1780596
-Node: Thread List Format1783120
-Node: Traceframe Info Format1784124
-Node: Branch Trace Format1785810
-Node: Branch Trace Configuration Format1787510
-Node: Agent Expressions1788684
-Node: General Bytecode Design1791505
-Node: Bytecode Descriptions1796299
-Node: Using Agent Expressions1811481
-Node: Varying Target Capabilities1813458
-Node: Rationale1814619
-Node: Target Descriptions1822008
-Node: Retrieving Descriptions1823951
-Node: Target Description Format1825036
-Node: Predefined Target Types1834911
-Node: Enum Target Types1836339
-Node: Standard Target Features1837334
-Node: AArch64 Features1839298
-Node: ARC Features1839721
-Node: ARM Features1841782
-Node: i386 Features1843296
-Node: MicroBlaze Features1845511
-Node: MIPS Features1846088
-Node: M68K Features1847279
-Node: NDS32 Features1847940
-Node: Nios II Features1848964
-Node: OpenRISC 1000 Features1849369
-Node: PowerPC Features1849735
-Node: S/390 and System z Features1851066
-Node: Sparc Features1853211
-Node: TIC6x Features1854116
-Node: Operating System Information1854665
-Node: Process list1855500
-Node: Trace File Format1856563
-Node: Index Section Format1859777
-Node: Man Pages1867703
-Node: gdb man1868109
-Node: gdbserver man1874145
-Node: gcore man1881342
-Node: gdbinit man1882284
-Node: Copying1883167
-Node: GNU Free Documentation License1920728
-Node: Concept Index1945875
-Node: Command and Variable Index2082994
+Node: Top1716
+Node: Summary5188
+Node: Free Software7049
+Node: Free Documentation7789
+Node: Contributors12723
+Node: Sample Session21297
+Node: Invocation28149
+Node: Invoking GDB28692
+Node: File Options31026
+Ref: --readnever34097
+Node: Mode Options34571
+Ref: -nx34798
+Ref: -nh35882
+Node: Startup42199
+Ref: Home Directory Init File42750
+Ref: Option -init-eval-command42860
+Ref: Init File in the Current Directory during Startup43200
+Ref: Startup-Footnote-145396
+Node: Quitting GDB45505
+Node: Shell Commands46402
+Node: Logging Output47329
+Node: Commands48166
+Node: Command Syntax48804
+Node: Completion50970
+Ref: Completion-Footnote-157880
+Node: Help58040
+Node: Running63791
+Node: Compilation65020
+Node: Starting67104
+Ref: set exec-wrapper72894
+Ref: set startup-with-shell73983
+Ref: set auto-connect-native-target75044
+Node: Arguments79440
+Node: Environment80709
+Ref: set environment82591
+Ref: unset environment83773
+Node: Working Directory84779
+Ref: set cwd command85351
+Ref: cd command86291
+Node: Input/Output86985
+Node: Attach89045
+Node: Kill Process91511
+Node: Inferiors and Programs92492
+Node: Threads100223
+Ref: thread numbers102334
+Ref: thread ID lists103224
+Ref: global thread numbers104264
+Ref: set libthread-db-search-path110621
+Node: Forks112675
+Node: Checkpoint/Restart119193
+Ref: Checkpoint/Restart-Footnote-1123721
+Node: Stopping123756
+Node: Breakpoints125019
+Node: Set Breaks128276
+Node: Set Watchpoints146818
+Node: Set Catchpoints156200
+Node: Delete Breaks168977
+Node: Disabling170913
+Node: Conditions174293
+Node: Break Commands179940
+Node: Dynamic Printf183160
+Node: Save Breakpoints187464
+Node: Static Probe Points188639
+Ref: Static Probe Points-Footnote-1192817
+Ref: Static Probe Points-Footnote-2192977
+Node: Error in Breakpoints193117
+Node: Breakpoint-related Warnings193853
+Node: Continuing and Stepping196180
+Ref: range stepping205643
+Node: Skipping Over Functions and Files206723
+Node: Signals212355
+Ref: stepping and signal handlers216789
+Ref: stepping into signal handlers217585
+Ref: extra signal information218818
+Node: Thread Stops221284
+Node: All-Stop Mode222383
+Node: Non-Stop Mode226350
+Node: Background Execution229763
+Node: Thread-Specific Breakpoints231979
+Node: Interrupted System Calls233995
+Node: Observer Mode235509
+Node: Reverse Execution238945
+Ref: Reverse Execution-Footnote-1243570
+Ref: Reverse Execution-Footnote-2244197
+Node: Process Record and Replay244247
+Node: Stack265339
+Node: Frames266887
+Node: Backtrace269181
+Ref: backtrace-command269518
+Ref: Backtrace-Footnote-1275766
+Node: Selection275954
+Node: Frame Info278835
+Node: Frame Filter Management280854
+Ref: disable frame-filter all281381
+Node: Source285689
+Node: List286755
+Node: Specify Location289457
+Node: Linespec Locations290078
+Node: Explicit Locations293477
+Node: Address Locations296689
+Node: Edit298440
+Ref: Edit-Footnote-1299916
+Node: Search301867
+Node: Source Path302675
+Ref: set substitute-path309041
+Node: Machine Code311261
+Node: Data321610
+Node: Expressions329343
+Node: Ambiguous Expressions331446
+Node: Variables334676
+Node: Arrays341274
+Node: Output Formats343805
+Ref: Output Formats-Footnote-1347178
+Node: Memory347335
+Ref: addressable memory unit353520
+Node: Auto Display355014
+Node: Print Settings359556
+Ref: set print entry-values367718
+Node: Pretty Printing379028
+Node: Pretty-Printer Introduction379542
+Node: Pretty-Printer Example381297
+Node: Pretty-Printer Commands382075
+Node: Value History384499
+Node: Convenience Vars386921
+Node: Convenience Funs393525
+Node: Registers399014
+Ref: standard registers400221
+Ref: Registers-Footnote-1405172
+Node: Floating Point Hardware405567
+Node: Vector Unit406099
+Node: OS Information406486
+Ref: linux info os infotypes408510
+Node: Memory Region Attributes413101
+Node: Dump/Restore Files417765
+Node: Core File Generation420168
+Ref: set use-coredump-filter421728
+Ref: set dump-excluded-mappings423176
+Node: Character Sets423458
+Node: Caching Target Data429823
+Ref: Caching Target Data-Footnote-1432551
+Node: Searching Memory432789
+Node: Value Sizes435932
+Node: Optimized Code437585
+Node: Inline Functions439262
+Node: Tail Call Frames441889
+Ref: set debug entry-values444026
+Node: Macros448088
+Ref: Macros-Footnote-1455664
+Node: Tracepoints455817
+Node: Set Tracepoints457879
+Node: Create and Delete Tracepoints460817
+Node: Enable and Disable Tracepoints467164
+Node: Tracepoint Passcounts468404
+Node: Tracepoint Conditions469815
+Node: Trace State Variables471509
+Node: Tracepoint Actions473704
+Node: Listing Tracepoints480487
+Node: Listing Static Tracepoint Markers482189
+Node: Starting and Stopping Trace Experiments484037
+Ref: disconnected tracing485782
+Node: Tracepoint Restrictions490202
+Node: Analyze Collected Data493971
+Node: tfind495277
+Node: tdump499759
+Node: save tracepoints502274
+Node: Tracepoint Variables502770
+Node: Trace Files503898
+Node: Overlays506274
+Node: How Overlays Work506994
+Ref: A code overlay509549
+Node: Overlay Commands512962
+Node: Automatic Overlay Debugging517144
+Node: Overlay Sample Program519283
+Node: Languages521020
+Node: Setting522183
+Node: Filenames523884
+Node: Manually524695
+Node: Automatically525904
+Node: Show526965
+Ref: show language527253
+Node: Checks528287
+Node: Type Checking529292
+Node: Range Checking531121
+Node: Supported Languages533522
+Node: C534859
+Node: C Operators535823
+Node: C Constants540162
+Node: C Plus Plus Expressions543041
+Node: C Defaults546401
+Node: C Checks547069
+Node: Debugging C547629
+Node: Debugging C Plus Plus548113
+Node: Decimal Floating Point553000
+Node: D554270
+Node: Go554528
+Node: Objective-C555622
+Node: Method Names in Commands556085
+Node: The Print Command with Objective-C557776
+Node: OpenCL C558427
+Node: OpenCL C Datatypes558702
+Node: OpenCL C Expressions559077
+Node: OpenCL C Operators559434
+Node: Fortran559666
+Node: Fortran Operators560387
+Node: Fortran Defaults561243
+Node: Special Fortran Commands561628
+Node: Pascal562134
+Node: Rust562645
+Node: Modula-2565732
+Node: M2 Operators566705
+Node: Built-In Func/Proc569703
+Node: M2 Constants572617
+Node: M2 Types574218
+Node: M2 Defaults577436
+Node: Deviations578037
+Node: M2 Checks579138
+Node: M2 Scope579955
+Node: GDB/M2580979
+Node: Ada581892
+Node: Ada Mode Intro583198
+Node: Omissions from Ada584700
+Node: Additions to Ada589055
+Node: Overloading support for Ada592983
+Node: Stopping Before Main Program594623
+Node: Ada Exceptions595170
+Node: Ada Tasks596369
+Node: Ada Tasks and Core Files604510
+Node: Ravenscar Profile605357
+Node: Ada Settings606428
+Node: Ada Glitches607850
+Node: Unsupported Languages611858
+Node: Symbols612548
+Ref: quoting names613151
+Node: Altering638900
+Node: Assignment639938
+Node: Jumping643044
+Node: Signaling645118
+Node: Returning648047
+Node: Calling651398
+Node: Patching656012
+Node: Compiling and Injecting Code657126
+Ref: set debug compile660583
+Node: GDB Files670584
+Node: Files671373
+Ref: Shared Libraries685090
+Ref: Files-Footnote-1697288
+Node: File Caching697417
+Node: Separate Debug Files698551
+Ref: debug-file-directory701661
+Node: MiniDebugInfo710276
+Node: Index Files712727
+Node: Symbol Errors715643
+Node: Data Files719259
+Node: Targets720215
+Node: Active Targets721695
+Node: Target Commands722769
+Ref: load727158
+Ref: flash-erase728351
+Node: Byte Order728411
+Node: Remote Debugging729850
+Node: Connecting731112
+Ref: --multi Option in Types of Remote Connnections733338
+Ref: Attaching in Types of Remote Connections734753
+Ref: Host and target files735254
+Node: File Transfer741729
+Node: Server742668
+Ref: Running gdbserver744244
+Ref: Attaching to a program746462
+Ref: Other Command-Line Arguments for gdbserver748987
+Ref: Monitor Commands for gdbserver752203
+Ref: Server-Footnote-1757459
+Node: Remote Configuration757579
+Ref: set remotebreak758839
+Ref: set remote hardware-watchpoint-limit760302
+Ref: set remote hardware-breakpoint-limit760302
+Ref: set remote hardware-watchpoint-length-limit760528
+Ref: set remote exec-file760943
+Node: Remote Stub772952
+Node: Stub Contents775847
+Node: Bootstrapping777954
+Node: Debug Session781769
+Node: Configurations783810
+Node: Native784579
+Node: BSD libkvm Interface785105
+Node: Process Information786157
+Node: DJGPP Native790396
+Node: Cygwin Native796950
+Node: Non-debug DLL Symbols801871
+Node: Hurd Native806110
+Node: Darwin811366
+Node: Embedded OS812627
+Node: Embedded Processors813038
+Node: ARC814028
+Node: ARM814575
+Node: M68K817122
+Node: MicroBlaze817295
+Node: MIPS Embedded818744
+Node: OpenRISC 1000820041
+Node: PowerPC Embedded820947
+Node: AVR824176
+Node: CRIS824548
+Node: Super-H825524
+Node: Architectures826583
+Node: AArch64827032
+Node: i386827438
+Ref: i386-Footnote-1831648
+Node: Alpha831734
+Node: MIPS831867
+Node: HPPA835761
+Node: SPU836279
+Node: PowerPC838465
+Node: Nios II839200
+Node: Sparc64839605
+Node: Controlling GDB841960
+Node: Prompt842856
+Node: Editing844574
+Node: Command History845517
+Node: Screen Size849823
+Node: Numbers851832
+Node: ABI853811
+Node: Auto-loading856984
+Ref: set auto-load off858359
+Ref: show auto-load858995
+Ref: info auto-load859774
+Node: Init File in the Current Directory862741
+Ref: set auto-load local-gdbinit863316
+Ref: show auto-load local-gdbinit863498
+Ref: info auto-load local-gdbinit863662
+Node: libthread_db.so.1 file863810
+Ref: set auto-load libthread-db864749
+Ref: show auto-load libthread-db864880
+Ref: info auto-load libthread-db865017
+Node: Auto-loading safe path865201
+Ref: set auto-load safe-path866507
+Ref: show auto-load safe-path867246
+Ref: add-auto-load-safe-path867369
+Node: Auto-loading verbose mode870271
+Ref: set debug auto-load871434
+Ref: show debug auto-load871535
+Node: Messages/Warnings871657
+Ref: confirmation requests873091
+Node: Debugging Output874295
+Node: Other Misc Settings884113
+Node: Extending GDB885137
+Node: Sequences886990
+Node: Define887651
+Node: Hooks891731
+Node: Command Files894097
+Node: Output899170
+Ref: eval903972
+Node: Auto-loading sequences905850
+Ref: set auto-load gdb-scripts906345
+Ref: show auto-load gdb-scripts906469
+Ref: info auto-load gdb-scripts906599
+Node: Python906830
+Node: Python Commands908003
+Node: Python API910331
+Node: Basic Python912936
+Ref: prompt_hook923523
+Node: Exception Handling924121
+Node: Values From Inferior926617
+Node: Types In Python939814
+Node: Pretty Printing API949674
+Node: Selecting Pretty-Printers953570
+Node: Writing a Pretty-Printer955903
+Node: Type Printing API961225
+Node: Frame Filter API963841
+Node: Frame Decorator API971122
+Ref: frame_args974706
+Node: Writing a Frame Filter978036
+Node: Unwinding Frames in Python989510
+Node: Xmethods In Python994966
+Node: Xmethod API997862
+Node: Writing an Xmethod1001674
+Node: Inferiors In Python1007509
+Node: Events In Python1010653
+Node: Threads In Python1019571
+Node: Recordings In Python1022458
+Node: Commands In Python1029792
+Node: Parameters In Python1039205
+Node: Functions In Python1045146
+Node: Progspaces In Python1047363
+Node: Objfiles In Python1050864
+Node: Frames In Python1056643
+Node: Blocks In Python1063486
+Node: Symbols In Python1067848
+Node: Symbol Tables In Python1075076
+Node: Line Tables In Python1078299
+Node: Breakpoints In Python1081136
+Ref: python_breakpoint_thread1087459
+Node: Finish Breakpoints in Python1090492
+Node: Lazy Strings In Python1092598
+Node: Architectures In Python1094828
+Node: Python Auto-loading1097017
+Ref: set auto-load python-scripts1097646
+Ref: show auto-load python-scripts1097746
+Ref: info auto-load python-scripts1097852
+Node: Python modules1098986
+Node: gdb.printing1099372
+Node: gdb.types1100799
+Node: gdb.prompt1103811
+Node: Guile1105460
+Node: Guile Introduction1106119
+Node: Guile Commands1106990
+Node: Guile API1108844
+Node: Basic Guile1110841
+Node: Guile Configuration1116523
+Node: GDB Scheme Data Types1117499
+Node: Guile Exception Handling1119331
+Node: Values From Inferior In Guile1123365
+Node: Arithmetic In Guile1138900
+Node: Types In Guile1140531
+Ref: Fields of a type in Guile1148472
+Node: Guile Pretty Printing API1149860
+Node: Selecting Guile Pretty-Printers1155462
+Node: Writing a Guile Pretty-Printer1157838
+Node: Commands In Guile1163023
+Node: Parameters In Guile1173803
+Ref: Parameters In Guile-Footnote-11180684
+Node: Progspaces In Guile1180800
+Node: Objfiles In Guile1183388
+Node: Frames In Guile1185669
+Node: Blocks In Guile1192247
+Node: Symbols In Guile1197055
+Node: Symbol Tables In Guile1206106
+Node: Breakpoints In Guile1209069
+Node: Lazy Strings In Guile1219330
+Node: Architectures In Guile1221621
+Node: Disassembly In Guile1225928
+Node: I/O Ports in Guile1229130
+Node: Memory Ports in Guile1229686
+Node: Iterators In Guile1232952
+Node: Guile Auto-loading1237241
+Ref: set auto-load guile-scripts1237864
+Ref: show auto-load guile-scripts1237962
+Ref: info auto-load guile-scripts1238066
+Node: Guile Modules1239025
+Node: Guile Printing Module1239347
+Node: Guile Types Module1240166
+Node: Auto-loading extensions1241459
+Node: objfile-gdbdotext file1242657
+Ref: set auto-load scripts-directory1244093
+Ref: with-auto-load-dir1244469
+Ref: show auto-load scripts-directory1245287
+Ref: add-auto-load-scripts-directory1245367
+Node: dotdebug_gdb_scripts section1245843
+Node: Which flavor to choose?1249593
+Node: Multiple Extension Languages1251414
+Node: Aliases1252478
+Node: Interpreters1255343
+Node: TUI1258436
+Node: TUI Overview1259434
+Node: TUI Keys1261867
+Node: TUI Single Key Mode1264171
+Node: TUI Commands1265178
+Node: TUI Configuration1269117
+Node: Emacs1270423
+Node: GDB/MI1275860
+Node: GDB/MI General Design1277834
+Node: Context management1280354
+Node: Asynchronous and non-stop modes1284141
+Node: Thread groups1287115
+Node: GDB/MI Command Syntax1289393
+Node: GDB/MI Input Syntax1289636
+Node: GDB/MI Output Syntax1291186
+Node: GDB/MI Compatibility with CLI1294771
+Node: GDB/MI Development and Front Ends1295508
+Node: GDB/MI Output Records1297162
+Node: GDB/MI Result Records1297568
+Node: GDB/MI Stream Records1298918
+Node: GDB/MI Async Records1300183
+Node: GDB/MI Breakpoint Information1310620
+Node: GDB/MI Frame Information1314571
+Node: GDB/MI Thread Information1315657
+Node: GDB/MI Ada Exception Information1317127
+Node: GDB/MI Simple Examples1317677
+Node: GDB/MI Command Description Format1319885
+Node: GDB/MI Breakpoint Commands1320765
+Ref: -break-insert1327873
+Node: GDB/MI Catchpoint Commands1341328
+Node: Shared Library GDB/MI Catchpoint Commands1341696
+Node: Ada Exception GDB/MI Catchpoint Commands1343354
+Node: GDB/MI Program Context1346855
+Node: GDB/MI Thread Commands1351123
+Node: GDB/MI Ada Tasking Commands1354386
+Node: GDB/MI Program Execution1356658
+Node: GDB/MI Stack Manipulation1368692
+Ref: -stack-list-arguments1370591
+Ref: -stack-list-frames1374296
+Ref: -stack-list-locals1378159
+Ref: -stack-list-variables1379649
+Node: GDB/MI Variable Objects1381183
+Ref: -var-set-format1391148
+Ref: -var-list-children1392529
+Ref: -var-update1401337
+Ref: -var-set-frozen1404335
+Ref: -var-set-update-range1405132
+Ref: -var-set-visualizer1405661
+Node: GDB/MI Data Manipulation1407151
+Node: GDB/MI Tracepoint Commands1427325
+Node: GDB/MI Symbol Query1439116
+Node: GDB/MI File Commands1439805
+Node: GDB/MI Target Manipulation1444239
+Node: GDB/MI File Transfer Commands1450897
+Node: GDB/MI Ada Exceptions Commands1452220
+Node: GDB/MI Support Commands1453573
+Node: GDB/MI Miscellaneous Commands1458146
+Ref: -interpreter-exec1468480
+Node: Annotations1470820
+Node: Annotations Overview1471739
+Node: Server Prefix1474202
+Node: Prompting1474936
+Node: Errors1476453
+Node: Invalidation1477349
+Node: Annotations for Running1477828
+Node: Source Annotations1479362
+Node: JIT Interface1480291
+Node: Declarations1482090
+Node: Registering Code1483477
+Node: Unregistering Code1484449
+Node: Custom Debug Info1485076
+Node: Using JIT Debug Info Readers1486372
+Node: Writing JIT Debug Info Readers1487384
+Node: In-Process Agent1489579
+Ref: Control Agent1491522
+Node: In-Process Agent Protocol1492389
+Node: IPA Protocol Objects1493180
+Ref: agent expression object1494178
+Ref: tracepoint action object1494383
+Ref: tracepoint object1494463
+Node: IPA Protocol Commands1496993
+Node: GDB Bugs1498463
+Node: Bug Criteria1499195
+Node: Bug Reporting1501788
+Node: Command Line Editing1509617
+Node: Introduction and Notation1510269
+Node: Readline Interaction1511890
+Node: Readline Bare Essentials1513079
+Node: Readline Movement Commands1514860
+Node: Readline Killing Commands1515818
+Node: Readline Arguments1517734
+Node: Searching1518776
+Node: Readline Init File1520926
+Node: Readline Init File Syntax1522077
+Node: Conditional Init Constructs1537176
+Node: Sample Init File1539699
+Node: Bindable Readline Commands1542813
+Node: Commands For Moving1543865
+Node: Commands For History1544723
+Node: Commands For Text1548118
+Node: Commands For Killing1550841
+Node: Numeric Arguments1552981
+Node: Commands For Completion1554117
+Node: Keyboard Macros1556083
+Node: Miscellaneous Commands1556651
+Node: Readline vi Mode1560499
+Node: Using History Interactively1561409
+Node: History Interaction1561924
+Node: Event Designators1563346
+Node: Word Designators1564483
+Node: Modifiers1566118
+Node: In Memoriam1567339
+Node: Formatting Documentation1568222
+Ref: Formatting Documentation-Footnote-11571598
+Node: Installing GDB1571694
+Node: Requirements1572266
+Ref: Expat1572835
+Ref: MPFR1573785
+Node: Running Configure1576176
+Node: Separate Objdir1579955
+Node: Config Names1582934
+Node: Configure Options1584411
+Node: System-wide configuration1586782
+Node: System-wide Configuration Scripts1588742
+Node: Maintenance Commands1589926
+Ref: maint info breakpoints1591581
+Ref: maint check libthread-db1600046
+Node: Remote Protocol1613042
+Node: Overview1613734
+Ref: Binary Data1616279
+Node: Packets1618804
+Ref: thread-id syntax1619704
+Ref: extended mode1621149
+Ref: ? packet1621407
+Ref: bc1622873
+Ref: bs1623083
+Ref: read registers packet1624700
+Ref: cycle step packet1626555
+Ref: write register packet1629266
+Ref: step with signal packet1630245
+Ref: vCont packet1631721
+Ref: vCtrlC packet1634954
+Ref: vKill packet1637372
+Ref: X packet1638905
+Ref: insert breakpoint or watchpoint packet1639274
+Node: Stop Reply Packets1643600
+Ref: swbreak stop reason1646851
+Ref: thread create event1650448
+Ref: thread exit event1651651
+Node: General Query Packets1653860
+Ref: qCRC packet1656690
+Ref: QEnvironmentHexEncoded1659843
+Ref: QEnvironmentUnset1661073
+Ref: QEnvironmentReset1662017
+Ref: QSetWorkingDir packet1662961
+Ref: QNonStop1669412
+Ref: QCatchSyscalls1670088
+Ref: QPassSignals1671625
+Ref: QProgramSignals1672832
+Ref: QThreadEvents1674399
+Ref: qSearch memory1676417
+Ref: QStartNoAckMode1676925
+Ref: qSupported1677456
+Ref: multiprocess extensions1693463
+Ref: install tracepoint in tracing1695493
+Ref: qXfer read1700016
+Ref: qXfer auxiliary vector read1701623
+Ref: qXfer btrace read1701971
+Ref: qXfer btrace-conf read1703036
+Ref: qXfer executable filename read1703387
+Ref: qXfer target description read1704002
+Ref: qXfer library list read1704436
+Ref: qXfer svr4 library list read1705092
+Ref: qXfer memory map read1706945
+Ref: qXfer sdata read1707332
+Ref: qXfer siginfo read1707798
+Ref: qXfer spu read1708195
+Ref: qXfer threads read1708719
+Ref: qXfer traceframe info read1709122
+Ref: qXfer unwind info block1709540
+Ref: qXfer fdpic loadmap read1709774
+Ref: qXfer osdata read1710190
+Ref: qXfer write1710344
+Ref: qXfer siginfo write1711436
+Ref: qXfer spu write1711833
+Ref: General Query Packets-Footnote-11714689
+Node: Architecture-Specific Protocol Details1715016
+Node: ARM-Specific Protocol Details1715525
+Node: ARM Breakpoint Kinds1715773
+Node: MIPS-Specific Protocol Details1716104
+Node: MIPS Register packet Format1716387
+Node: MIPS Breakpoint Kinds1717314
+Node: Tracepoint Packets1717732
+Ref: QTEnable1727046
+Ref: QTDisable1727242
+Ref: qTfSTM1732779
+Ref: qTsSTM1732779
+Ref: qTSTMat1733856
+Ref: QTBuffer-size1735007
+Node: Host I/O Packets1736980
+Node: Interrupts1742560
+Ref: interrupting remote targets1742704
+Node: Notification Packets1744872
+Node: Remote Non-Stop1750297
+Node: Packet Acknowledgment1753413
+Node: Examples1755528
+Node: File-I/O Remote Protocol Extension1756122
+Node: File-I/O Overview1756584
+Node: Protocol Basics1758783
+Node: The F Request Packet1761012
+Node: The F Reply Packet1761913
+Node: The Ctrl-C Message1762831
+Node: Console I/O1764457
+Node: List of Supported Calls1765673
+Node: open1766035
+Node: close1768543
+Node: read1768926
+Node: write1769535
+Node: lseek1770306
+Node: rename1771190
+Node: unlink1772597
+Node: stat/fstat1773544
+Node: gettimeofday1774437
+Node: isatty1774873
+Node: system1775469
+Node: Protocol-specific Representation of Datatypes1777011
+Node: Integral Datatypes1777388
+Node: Pointer Values1778195
+Node: Memory Transfer1778899
+Node: struct stat1779519
+Node: struct timeval1781721
+Node: Constants1782238
+Node: Open Flags1782687
+Node: mode_t Values1783028
+Node: Errno Values1783520
+Node: Lseek Flags1784330
+Node: Limits1784515
+Node: File-I/O Examples1784875
+Node: Library List Format1785963
+Node: Library List Format for SVR4 Targets1788745
+Node: Memory Map Format1791212
+Node: Thread List Format1793736
+Node: Traceframe Info Format1794740
+Node: Branch Trace Format1796426
+Node: Branch Trace Configuration Format1798126
+Node: Agent Expressions1799300
+Node: General Bytecode Design1803837
+Node: Bytecode Descriptions1808631
+Node: Using Agent Expressions1822098
+Node: Varying Target Capabilities1824075
+Node: Rationale1825236
+Node: Target Descriptions1832625
+Node: Retrieving Descriptions1834568
+Node: Target Description Format1835653
+Node: Predefined Target Types1845528
+Node: Enum Target Types1846956
+Node: Standard Target Features1847951
+Node: AArch64 Features1849915
+Node: ARC Features1850490
+Node: ARM Features1852551
+Node: i386 Features1854065
+Node: MicroBlaze Features1856280
+Node: MIPS Features1856857
+Node: M68K Features1858048
+Node: NDS32 Features1858709
+Node: Nios II Features1859733
+Node: OpenRISC 1000 Features1860138
+Node: PowerPC Features1860504
+Node: S/390 and System z Features1861835
+Node: Sparc Features1863980
+Node: TIC6x Features1864885
+Node: Operating System Information1865434
+Node: Process list1866269
+Node: Trace File Format1867332
+Node: Index Section Format1870546
+Node: Man Pages1878472
+Node: gdb man1878942
+Node: gdbserver man1884978
+Node: gcore man1892175
+Node: gdbinit man1893117
+Node: gdb-add-index man1894026
+Ref: gdb-add-index1894135
+Node: Copying1895009
+Node: GNU Free Documentation License1932570
+Node: Concept Index1957717
+Node: Command and Variable Index2095131
 
 End Tag Table
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-1 ./gdb/doc/gdb.info-1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-1	2018-07-03 02:10:32.000000000 +0000
+++ ./gdb/doc/gdb.info-1	2018-07-10 02:10: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.1.0.20180703-git.
+Source-Level Debugger' for GDB (GDB) Version 8.1.90.20180710-git.
 
    Copyright (C) 1988-2018 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.1.0.20180703-git.
+   This is the Tenth Edition, for GDB (GDB) Version 8.1.90.20180710-git.
 
    Copyright (C) 1988-2018 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.1.0.20180703-git, Copyright 1999 Free Software Foundation, Inc...
+     GDB 8.1.90.20180710-git, Copyright 1999 Free Software Foundation, Inc...
      (gdb)
 
 GDB reads only enough symbol data to know where to find the rest when
@@ -2059,7 +2059,7 @@ current working directory if remote debu
      of 'HOMEDRIVE' and 'HOMEPATH' as fallback.
 
      You can also change GDB's current working directory by using the
-     'cd' command.  *Note cd command::
+     'cd' command.  *Note cd command::.
 
 'show cwd'
      Show the inferior's working directory.  If no directory has been
@@ -2072,17 +2072,16 @@ current working directory if remote debu
 
      The GDB working directory serves as a default for the commands that
      specify files for GDB to operate on.  *Note Commands to Specify
-     Files: Files.  *Note set cwd command::
+     Files: Files.  *Note set cwd command::.
 
 'pwd'
      Print the GDB working directory.
 
    It is generally impossible to find the current working directory of
 the process being debugged (since a program can change its directory
-during its run).  If you work on a system where GDB is configured with
-the '/proc' support, you can use the 'info proc' command (*note SVR4
-Process Information::) to find out the current working directory of the
-debuggee.
+during its run).  If you work on a system where GDB supports the 'info
+proc' command (*note Process Information::), you can use the 'info proc'
+command to find out the current working directory of the debuggee.
 
 
 File: gdb.info,  Node: Input/Output,  Next: Attach,  Prev: Working Directory,  Up: Running
@@ -2243,7 +2242,10 @@ Each inferior may in turn have multiple 
    To find out what inferiors exist at any moment, use 'info inferiors':
 
 'info inferiors'
-     Print a list of all inferiors currently being managed by GDB.
+     Print a list of all inferiors currently being managed by GDB.  By
+     default all inferiors are printed, but the argument ID... - a space
+     separated list of inferior numbers - can be used to limit the
+     display to just the requested inferiors.
 
      GDB displays for each inferior (in this order):
 
@@ -5846,9 +5848,63 @@ GDB provides the following commands:
      that the accessed memory corresponds to the live target and not
      necessarily to the current replay position.
 
+'set record btrace cpu IDENTIFIER'
+     Set the processor to be used for enabling workarounds for processor
+     errata when decoding the trace.
+
+     Processor errata are defects in processor operation, caused by its
+     design or manufacture.  They can cause a trace not to match the
+     specification.  This, in turn, may cause trace decode to fail.  GDB
+     can detect erroneous trace packets and correct them, thus avoiding
+     the decoding failures.  These corrections are known as "errata
+     workarounds", and are enabled based on the processor on which the
+     trace was recorded.
+
+     By default, GDB attempts to detect the processor automatically, and
+     apply the necessary workarounds for it.  However, you may need to
+     specify the processor if GDB does not yet support it.  This command
+     allows you to do that, and also allows to disable the workarounds.
+
+     The argument IDENTIFIER identifies the CPU and is of the form:
+     'VENDOR:PROCESOR IDENTIFIER'.  In addition, there are two special
+     identifiers, 'none' and 'auto' (default).
+
+     The following vendor identifiers and corresponding processor
+     identifiers are currently supported:
+
+     'intel' FAMILY/MODEL[/STEPPING]
+             
+
+     On GNU/Linux systems, the processor FAMILY, MODEL, and STEPPING can
+     be obtained from '/proc/cpuinfo'.
+
+     If IDENTIFIER is 'auto', enable errata workarounds for the
+     processor on which the trace was recorded.  If IDENTIFIER is
+     'none', errata workarounds are disabled.
+
+     For example, when using an old GDB on a new system, decode may fail
+     because GDB does not support the new processor.  It often suffices
+     to specify an older processor that GDB supports.
+
+          (gdb) info record
+          Active record target: record-btrace
+          Recording format: Intel Processor Trace.
+          Buffer size: 16kB.
+          Failed to configure the Intel Processor Trace decoder: unknown cpu.
+          (gdb) set record btrace cpu intel:6/158
+          (gdb) info record
+          Active record target: record-btrace
+          Recording format: Intel Processor Trace.
+          Buffer size: 16kB.
+          Recorded 84872 instructions in 3189 functions (0 gaps) for thread 1 (...).
+
 'show record btrace replay-memory-access'
      Show the current setting of 'replay-memory-access'.
 
+'show record btrace cpu'
+     Show the processor to be used for enabling trace decode errata
+     workarounds.
+
 'set record btrace bts buffer-size SIZE'
 'set record btrace bts buffer-size unlimited'
      Set the requested ring buffer size for branch tracing in BTS
@@ -6150,40 +6206,44 @@ one line per frame, for many frames, sta
 executing frame (frame zero), followed by its caller (frame one), and on
 up the stack.
 
-'backtrace'
-'bt'
-     Print a backtrace of the entire stack: one line per frame for all
-     frames in the stack.
-
-     You can stop the backtrace at any time by typing the system
-     interrupt character, normally 'Ctrl-c'.
-
-'backtrace N'
-'bt N'
-     Similar, but print only the innermost N frames.
-
-'backtrace -N'
-'bt -N'
-     Similar, but print only the outermost N frames.
-
-'backtrace full'
-'bt full'
-'bt full N'
-'bt full -N'
-     Print the values of the local variables also.  As described above,
-     N specifies the number of frames to print.
-
-'backtrace no-filters'
-'bt no-filters'
-'bt no-filters N'
-'bt no-filters -N'
-'bt no-filters full'
-'bt no-filters full N'
-'bt no-filters full -N'
-     Do not run Python frame filters on this backtrace.  *Note Frame
-     Filter API::, for more information.  Additionally use *note disable
-     frame-filter all:: to turn off all frame filters.  This is only
-     relevant when GDB has been configured with 'Python' support.
+   To print a backtrace of the entire stack, use the 'backtrace'
+command, or its alias 'bt'.  This command will print one line per frame
+for frames in the stack.  By default, all stack frames are printed.  You
+can stop the backtrace at any time by typing the system interrupt
+character, normally 'Ctrl-c'.
+
+'backtrace [ARGS...]'
+'bt [ARGS...]'
+     Print the backtrace of the entire stack.  The optional ARGS can be
+     one of the following:
+
+     'N'
+     'N'
+          Print only the innermost N frames, where N is a positive
+          number.
+
+     '-N'
+     '-N'
+          Print only the outermost N frames, where N is a positive
+          number.
+
+     'full'
+          Print the values of the local variables also.  This can be
+          combined with a number to limit the number of frames shown.
+
+     'no-filters'
+          Do not run Python frame filters on this backtrace.  *Note
+          Frame Filter API::, for more information.  Additionally use
+          *note disable frame-filter all:: to turn off all frame
+          filters.  This is only relevant when GDB has been configured
+          with 'Python' support.
+
+     'hide'
+          A Python frame filter might decide to "elide" some frames.
+          Normally such elided frames are still printed, but they are
+          indented relative to the filtered frames that cause them to be
+          elided.  The 'hide' option causes elided frames to not be
+          printed at all.
 
    The names 'where' and 'info stack' (abbreviated 'info s') are
 additional aliases for 'backtrace'.
@@ -6929,204 +6989,3 @@ the following command-line syntax:
    The optional numeric value +NUMBER specifies the number of the line
 in the file where to start editing.
 
-
-File: gdb.info,  Node: Search,  Next: Source Path,  Prev: Edit,  Up: Source
-
-9.4 Searching Source Files
-==========================
-
-There are two commands for searching through the current source file for
-a regular expression.
-
-'forward-search REGEXP'
-'search REGEXP'
-     The command 'forward-search REGEXP' checks each line, starting with
-     the one following the last line listed, for a match for REGEXP.  It
-     lists the line that is found.  You can use the synonym 'search
-     REGEXP' or abbreviate the command name as 'fo'.
-
-'reverse-search REGEXP'
-     The command 'reverse-search REGEXP' checks each line, starting with
-     the one before the last line listed and going backward, for a match
-     for REGEXP.  It lists the line that is found.  You can abbreviate
-     this command as 'rev'.
-
-
-File: gdb.info,  Node: Source Path,  Next: Machine Code,  Prev: Search,  Up: Source
-
-9.5 Specifying Source Directories
-=================================
-
-Executable programs sometimes do not record the directories of the
-source files from which they were compiled, just the names.  Even when
-they do, the directories could be moved between the compilation and your
-debugging session.  GDB has a list of directories to search for source
-files; this is called the "source path".  Each time GDB wants a source
-file, it tries all the directories in the list, in the order they are
-present in the list, until it finds a file with the desired name.
-
-   For example, suppose an executable references the file
-'/usr/src/foo-1.0/lib/foo.c', and our source path is '/mnt/cross'.  The
-file is first looked up literally; if this fails,
-'/mnt/cross/usr/src/foo-1.0/lib/foo.c' is tried; if this fails,
-'/mnt/cross/foo.c' is opened; if this fails, an error message is
-printed.  GDB does not look up the parts of the source file name, such
-as '/mnt/cross/src/foo-1.0/lib/foo.c'.  Likewise, the subdirectories of
-the source path are not searched: if the source path is '/mnt/cross',
-and the binary refers to 'foo.c', GDB would not find it under
-'/mnt/cross/usr/src/foo-1.0/lib'.
-
-   Plain file names, relative file names with leading directories, file
-names containing dots, etc. are all treated as described above; for
-instance, if the source path is '/mnt/cross', and the source file is
-recorded as '../lib/foo.c', GDB would first try '../lib/foo.c', then
-'/mnt/cross/../lib/foo.c', and after that--'/mnt/cross/foo.c'.
-
-   Note that the executable search path is _not_ used to locate the
-source files.
-
-   Whenever you reset or rearrange the source path, GDB clears out any
-information it has cached about where source files are found and where
-each line is in the file.
-
-   When you start GDB, its source path includes only 'cdir' and 'cwd',
-in that order.  To add other directories, use the 'directory' command.
-
-   The search path is used to find both program source files and GDB
-script files (read using the '-command' option and 'source' command).
-
-   In addition to the source path, GDB provides a set of commands that
-manage a list of source path substitution rules.  A "substitution rule"
-specifies how to rewrite source directories stored in the program's
-debug information in case the sources were moved to a different
-directory between compilation and debugging.  A rule is made of two
-strings, the first specifying what needs to be rewritten in the path,
-and the second specifying how it should be rewritten.  In *note set
-substitute-path::, we name these two parts FROM and TO respectively.
-GDB does a simple string replacement of FROM with TO at the start of the
-directory part of the source file name, and uses that result instead of
-the original file name to look up the sources.
-
-   Using the previous example, suppose the 'foo-1.0' tree has been moved
-from '/usr/src' to '/mnt/cross', then you can tell GDB to replace
-'/usr/src' in all source path names with '/mnt/cross'.  The first lookup
-will then be '/mnt/cross/foo-1.0/lib/foo.c' in place of the original
-location of '/usr/src/foo-1.0/lib/foo.c'.  To define a source path
-substitution rule, use the 'set substitute-path' command (*note set
-substitute-path::).
-
-   To avoid unexpected substitution results, a rule is applied only if
-the FROM part of the directory name ends at a directory separator.  For
-instance, a rule substituting '/usr/source' into '/mnt/cross' will be
-applied to '/usr/source/foo-1.0' but not to '/usr/sourceware/foo-2.0'.
-And because the substitution is applied only at the beginning of the
-directory name, this rule will not be applied to
-'/root/usr/source/baz.c' either.
-
-   In many cases, you can achieve the same result using the 'directory'
-command.  However, 'set substitute-path' can be more efficient in the
-case where the sources are organized in a complex tree with multiple
-subdirectories.  With the 'directory' command, you need to add each
-subdirectory of your project.  If you moved the entire tree while
-preserving its internal organization, then 'set substitute-path' allows
-you to direct the debugger to all the sources with one single command.
-
-   'set substitute-path' is also more than just a shortcut command.  The
-source path is only used if the file at the original location no longer
-exists.  On the other hand, 'set substitute-path' modifies the debugger
-behavior to look at the rewritten location instead.  So, if for any
-reason a source file that is not relevant to your executable is located
-at the original location, a substitution rule is the only method
-available to point GDB at the new location.
-
-   You can configure a default source path substitution rule by
-configuring GDB with the '--with-relocated-sources=DIR' option.  The DIR
-should be the name of a directory under GDB's configured prefix (set
-with '--prefix' or '--exec-prefix'), and directory names in debug
-information under DIR will be adjusted automatically if the installed
-GDB is moved to a new location.  This is useful if GDB, libraries or
-executables with debug information and corresponding source code are
-being moved together.
-
-'directory DIRNAME ...'
-'dir DIRNAME ...'
-     Add directory DIRNAME to the front of the source path.  Several
-     directory names may be given to this command, separated by ':' (';'
-     on MS-DOS and MS-Windows, where ':' usually appears as part of
-     absolute file names) or whitespace.  You may specify a directory
-     that is already in the source path; this moves it forward, so GDB
-     searches it sooner.
-
-     You can use the string '$cdir' to refer to the compilation
-     directory (if one is recorded), and '$cwd' to refer to the current
-     working directory.  '$cwd' is not the same as '.'--the former
-     tracks the current working directory as it changes during your GDB
-     session, while the latter is immediately expanded to the current
-     directory at the time you add an entry to the source path.
-
-'directory'
-     Reset the source path to its default value ('$cdir:$cwd' on Unix
-     systems).  This requires confirmation.
-
-'set directories PATH-LIST'
-     Set the source path to PATH-LIST.  '$cdir:$cwd' are added if
-     missing.
-
-'show directories'
-     Print the source path: show which directories it contains.
-
-'set substitute-path FROM TO'
-     Define a source path substitution rule, and add it at the end of
-     the current list of existing substitution rules.  If a rule with
-     the same FROM was already defined, then the old rule is also
-     deleted.
-
-     For example, if the file '/foo/bar/baz.c' was moved to
-     '/mnt/cross/baz.c', then the command
-
-          (gdb) set substitute-path /foo/bar /mnt/cross
-
-     will tell GDB to replace '/foo/bar' with '/mnt/cross', which will
-     allow GDB to find the file 'baz.c' even though it was moved.
-
-     In the case when more than one substitution rule have been defined,
-     the rules are evaluated one by one in the order where they have
-     been defined.  The first one matching, if any, is selected to
-     perform the substitution.
-
-     For instance, if we had entered the following commands:
-
-          (gdb) set substitute-path /usr/src/include /mnt/include
-          (gdb) set substitute-path /usr/src /mnt/src
-
-     GDB would then rewrite '/usr/src/include/defs.h' into
-     '/mnt/include/defs.h' by using the first rule.  However, it would
-     use the second rule to rewrite '/usr/src/lib/foo.c' into
-     '/mnt/src/lib/foo.c'.
-
-'unset substitute-path [path]'
-     If a path is specified, search the current list of substitution
-     rules for a rule that would rewrite that path.  Delete that rule if
-     found.  A warning is emitted by the debugger if no rule could be
-     found.
-
-     If no path is specified, then all substitution rules are deleted.
-
-'show substitute-path [path]'
-     If a path is specified, then print the source path substitution
-     rule which would rewrite that path, if any.
-
-     If no path is specified, then print all existing source path
-     substitution rules.
-
-   If your source path is cluttered with directories that are no longer
-of interest, GDB may sometimes cause confusion by finding the wrong
-versions of source.  You can correct the situation as follows:
-
-  1. Use 'directory' with no argument to reset the source path to its
-     default value.
-
-  2. Use 'directory' with suitable arguments to reinstall the
-     directories you want in the source path.  You can add all the
-     directories in one command.
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-2 ./gdb/doc/gdb.info-2
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-2	2018-07-03 02:10:34.000000000 +0000
+++ ./gdb/doc/gdb.info-2	2018-07-10 02:10: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.1.0.20180703-git.
+Source-Level Debugger' for GDB (GDB) Version 8.1.90.20180710-git.
 
    Copyright (C) 1988-2018 Free Software Foundation, Inc.
 
@@ -37,6 +37,207 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: Search,  Next: Source Path,  Prev: Edit,  Up: Source
+
+9.4 Searching Source Files
+==========================
+
+There are two commands for searching through the current source file for
+a regular expression.
+
+'forward-search REGEXP'
+'search REGEXP'
+     The command 'forward-search REGEXP' checks each line, starting with
+     the one following the last line listed, for a match for REGEXP.  It
+     lists the line that is found.  You can use the synonym 'search
+     REGEXP' or abbreviate the command name as 'fo'.
+
+'reverse-search REGEXP'
+     The command 'reverse-search REGEXP' checks each line, starting with
+     the one before the last line listed and going backward, for a match
+     for REGEXP.  It lists the line that is found.  You can abbreviate
+     this command as 'rev'.
+
+
+File: gdb.info,  Node: Source Path,  Next: Machine Code,  Prev: Search,  Up: Source
+
+9.5 Specifying Source Directories
+=================================
+
+Executable programs sometimes do not record the directories of the
+source files from which they were compiled, just the names.  Even when
+they do, the directories could be moved between the compilation and your
+debugging session.  GDB has a list of directories to search for source
+files; this is called the "source path".  Each time GDB wants a source
+file, it tries all the directories in the list, in the order they are
+present in the list, until it finds a file with the desired name.
+
+   For example, suppose an executable references the file
+'/usr/src/foo-1.0/lib/foo.c', and our source path is '/mnt/cross'.  The
+file is first looked up literally; if this fails,
+'/mnt/cross/usr/src/foo-1.0/lib/foo.c' is tried; if this fails,
+'/mnt/cross/foo.c' is opened; if this fails, an error message is
+printed.  GDB does not look up the parts of the source file name, such
+as '/mnt/cross/src/foo-1.0/lib/foo.c'.  Likewise, the subdirectories of
+the source path are not searched: if the source path is '/mnt/cross',
+and the binary refers to 'foo.c', GDB would not find it under
+'/mnt/cross/usr/src/foo-1.0/lib'.
+
+   Plain file names, relative file names with leading directories, file
+names containing dots, etc. are all treated as described above; for
+instance, if the source path is '/mnt/cross', and the source file is
+recorded as '../lib/foo.c', GDB would first try '../lib/foo.c', then
+'/mnt/cross/../lib/foo.c', and after that--'/mnt/cross/foo.c'.
+
+   Note that the executable search path is _not_ used to locate the
+source files.
+
+   Whenever you reset or rearrange the source path, GDB clears out any
+information it has cached about where source files are found and where
+each line is in the file.
+
+   When you start GDB, its source path includes only 'cdir' and 'cwd',
+in that order.  To add other directories, use the 'directory' command.
+
+   The search path is used to find both program source files and GDB
+script files (read using the '-command' option and 'source' command).
+
+   In addition to the source path, GDB provides a set of commands that
+manage a list of source path substitution rules.  A "substitution rule"
+specifies how to rewrite source directories stored in the program's
+debug information in case the sources were moved to a different
+directory between compilation and debugging.  A rule is made of two
+strings, the first specifying what needs to be rewritten in the path,
+and the second specifying how it should be rewritten.  In *note set
+substitute-path::, we name these two parts FROM and TO respectively.
+GDB does a simple string replacement of FROM with TO at the start of the
+directory part of the source file name, and uses that result instead of
+the original file name to look up the sources.
+
+   Using the previous example, suppose the 'foo-1.0' tree has been moved
+from '/usr/src' to '/mnt/cross', then you can tell GDB to replace
+'/usr/src' in all source path names with '/mnt/cross'.  The first lookup
+will then be '/mnt/cross/foo-1.0/lib/foo.c' in place of the original
+location of '/usr/src/foo-1.0/lib/foo.c'.  To define a source path
+substitution rule, use the 'set substitute-path' command (*note set
+substitute-path::).
+
+   To avoid unexpected substitution results, a rule is applied only if
+the FROM part of the directory name ends at a directory separator.  For
+instance, a rule substituting '/usr/source' into '/mnt/cross' will be
+applied to '/usr/source/foo-1.0' but not to '/usr/sourceware/foo-2.0'.
+And because the substitution is applied only at the beginning of the
+directory name, this rule will not be applied to
+'/root/usr/source/baz.c' either.
+
+   In many cases, you can achieve the same result using the 'directory'
+command.  However, 'set substitute-path' can be more efficient in the
+case where the sources are organized in a complex tree with multiple
+subdirectories.  With the 'directory' command, you need to add each
+subdirectory of your project.  If you moved the entire tree while
+preserving its internal organization, then 'set substitute-path' allows
+you to direct the debugger to all the sources with one single command.
+
+   'set substitute-path' is also more than just a shortcut command.  The
+source path is only used if the file at the original location no longer
+exists.  On the other hand, 'set substitute-path' modifies the debugger
+behavior to look at the rewritten location instead.  So, if for any
+reason a source file that is not relevant to your executable is located
+at the original location, a substitution rule is the only method
+available to point GDB at the new location.
+
+   You can configure a default source path substitution rule by
+configuring GDB with the '--with-relocated-sources=DIR' option.  The DIR
+should be the name of a directory under GDB's configured prefix (set
+with '--prefix' or '--exec-prefix'), and directory names in debug
+information under DIR will be adjusted automatically if the installed
+GDB is moved to a new location.  This is useful if GDB, libraries or
+executables with debug information and corresponding source code are
+being moved together.
+
+'directory DIRNAME ...'
+'dir DIRNAME ...'
+     Add directory DIRNAME to the front of the source path.  Several
+     directory names may be given to this command, separated by ':' (';'
+     on MS-DOS and MS-Windows, where ':' usually appears as part of
+     absolute file names) or whitespace.  You may specify a directory
+     that is already in the source path; this moves it forward, so GDB
+     searches it sooner.
+
+     You can use the string '$cdir' to refer to the compilation
+     directory (if one is recorded), and '$cwd' to refer to the current
+     working directory.  '$cwd' is not the same as '.'--the former
+     tracks the current working directory as it changes during your GDB
+     session, while the latter is immediately expanded to the current
+     directory at the time you add an entry to the source path.
+
+'directory'
+     Reset the source path to its default value ('$cdir:$cwd' on Unix
+     systems).  This requires confirmation.
+
+'set directories PATH-LIST'
+     Set the source path to PATH-LIST.  '$cdir:$cwd' are added if
+     missing.
+
+'show directories'
+     Print the source path: show which directories it contains.
+
+'set substitute-path FROM TO'
+     Define a source path substitution rule, and add it at the end of
+     the current list of existing substitution rules.  If a rule with
+     the same FROM was already defined, then the old rule is also
+     deleted.
+
+     For example, if the file '/foo/bar/baz.c' was moved to
+     '/mnt/cross/baz.c', then the command
+
+          (gdb) set substitute-path /foo/bar /mnt/cross
+
+     will tell GDB to replace '/foo/bar' with '/mnt/cross', which will
+     allow GDB to find the file 'baz.c' even though it was moved.
+
+     In the case when more than one substitution rule have been defined,
+     the rules are evaluated one by one in the order where they have
+     been defined.  The first one matching, if any, is selected to
+     perform the substitution.
+
+     For instance, if we had entered the following commands:
+
+          (gdb) set substitute-path /usr/src/include /mnt/include
+          (gdb) set substitute-path /usr/src /mnt/src
+
+     GDB would then rewrite '/usr/src/include/defs.h' into
+     '/mnt/include/defs.h' by using the first rule.  However, it would
+     use the second rule to rewrite '/usr/src/lib/foo.c' into
+     '/mnt/src/lib/foo.c'.
+
+'unset substitute-path [path]'
+     If a path is specified, search the current list of substitution
+     rules for a rule that would rewrite that path.  Delete that rule if
+     found.  A warning is emitted by the debugger if no rule could be
+     found.
+
+     If no path is specified, then all substitution rules are deleted.
+
+'show substitute-path [path]'
+     If a path is specified, then print the source path substitution
+     rule which would rewrite that path, if any.
+
+     If no path is specified, then print all existing source path
+     substitution rules.
+
+   If your source path is cluttered with directories that are no longer
+of interest, GDB may sometimes cause confusion by finding the wrong
+versions of source.  You can correct the situation as follows:
+
+  1. Use 'directory' with no argument to reset the source path to its
+     default value.
+
+  2. Use 'directory' with suitable arguments to reinstall the
+     directories you want in the source path.  You can add all the
+     directories in one command.
+
+
 File: gdb.info,  Node: Machine Code,  Prev: Source Path,  Up: Source
 
 9.6 Source and Machine Code
@@ -50,21 +251,25 @@ line when execution stops.  When run und
 line' command causes the arrow to point to the line specified.  Also,
 'info line' prints addresses in symbolic form as well as hex.
 
+'info line'
 'info line LOCATION'
      Print the starting and ending addresses of the compiled code for
      source line LOCATION.  You can specify source lines in any of the
-     ways documented in *note Specify Location::.
+     ways documented in *note Specify Location::.  With no LOCATION
+     information about the current source line is printed.
 
    For example, we can use 'info line' to discover the location of the
 object code for the first line of function 'm4_changequote':
 
      (gdb) info line m4_changequote
-     Line 895 of "builtin.c" starts at pc 0x634c and ends at 0x6350.
+     Line 895 of "builtin.c" starts at pc 0x634c <m4_changequote> and \
+             ends at 0x6350 <m4_changequote+4>.
 
 We can also inquire (using '*ADDR' as the form for LOCATION) what source
 line covers a particular address:
      (gdb) info line *0x63ff
-     Line 926 of "builtin.c" starts at pc 0x63e4 and ends at 0x6404.
+     Line 926 of "builtin.c" starts at pc 0x63e4 <m4_changequote+152> and \
+             ends at 0x6404 <m4_changequote+184>.
 
    After 'info line', the default address for the 'x' command is changed
 to the starting address of the line, so that 'x/i' is sufficient to
@@ -72,6 +277,9 @@ begin examining the machine code (*note 
 Also, this address is saved as the value of the convenience variable
 '$_' (*note Convenience Variables: Convenience Vars.).
 
+   After 'info line', using 'info line' again without specifying a
+location will display information about the next source line.
+
 'disassemble'
 'disassemble /m'
 'disassemble /s'
@@ -261,7 +469,7 @@ able to resolve these to actual function
      If it is necessary to specify more than one disassembler option,
      then multiple options can be placed together into a comma separated
      list.  Currently this command is only supported on targets ARM,
-     PowerPC and S/390.
+     MIPS, PowerPC and S/390.
 
 'show disassembler-options'
      Show the current setting of the disassembler options.
@@ -6858,6 +7066,7 @@ difficult.
 * Ada Tasks and Core Files::    Tasking Support when Debugging Core Files
 * Ravenscar Profile::           Tasking Support when using the Ravenscar
                                    Profile
+* Ada Settings::                New settable GDB parameters for Ada.
 * Ada Glitches::                Known peculiarities of Ada mode.
 
 
@@ -7354,21 +7563,3 @@ Threads::).  GDB provides the following 
              3 140044840   1   15 Runnable              t1
              4 140056040   1   15 Delay Sleep           t3
 
-
-File: gdb.info,  Node: Ada Tasks and Core Files,  Next: Ravenscar Profile,  Prev: Ada Tasks,  Up: Ada
-
-15.4.10.8 Tasking Support when Debugging Core Files
-...................................................
-
-When inspecting a core file, as opposed to debugging a live program,
-tasking support may be limited or even unavailable, depending on the
-platform being used.  For instance, on x86-linux, the list of tasks is
-available, but task switching is not supported.
-
-   On certain platforms, the debugger needs to perform some memory
-writes in order to provide Ada tasking support.  When inspecting a core
-file, this means that the core file must be opened with read-write
-privileges, using the command '"set write on"' (*note Patching::).
-Under these circumstances, you should make a backup copy of the core
-file before inspecting it with 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.1.0.20180703/gdb/doc/gdb.info-3 ./gdb/doc/gdb.info-3
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-3	2018-07-03 02:10:36.000000000 +0000
+++ ./gdb/doc/gdb.info-3	2018-07-10 02:10: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.1.0.20180703-git.
+Source-Level Debugger' for GDB (GDB) Version 8.1.90.20180710-git.
 
    Copyright (C) 1988-2018 Free Software Foundation, Inc.
 
@@ -37,7 +37,25 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
-File: gdb.info,  Node: Ravenscar Profile,  Next: Ada Glitches,  Prev: Ada Tasks and Core Files,  Up: Ada
+File: gdb.info,  Node: Ada Tasks and Core Files,  Next: Ravenscar Profile,  Prev: Ada Tasks,  Up: Ada
+
+15.4.10.8 Tasking Support when Debugging Core Files
+...................................................
+
+When inspecting a core file, as opposed to debugging a live program,
+tasking support may be limited or even unavailable, depending on the
+platform being used.  For instance, on x86-linux, the list of tasks is
+available, but task switching is not supported.
+
+   On certain platforms, the debugger needs to perform some memory
+writes in order to provide Ada tasking support.  When inspecting a core
+file, this means that the core file must be opened with read-write
+privileges, using the command '"set write on"' (*note Patching::).
+Under these circumstances, you should make a backup copy of the core
+file before inspecting it with GDB.
+
+
+File: gdb.info,  Node: Ravenscar Profile,  Next: Ada Settings,  Prev: Ada Tasks and Core Files,  Up: Ada
 
 15.4.10.9 Tasking Support when using the Ravenscar Profile
 ..........................................................
@@ -63,9 +81,39 @@ requirements.
      program using the Ravenscar Profile.
 
 
-File: gdb.info,  Node: Ada Glitches,  Prev: Ravenscar Profile,  Up: Ada
+File: gdb.info,  Node: Ada Settings,  Next: Ada Glitches,  Prev: Ravenscar Profile,  Up: Ada
+
+15.4.10.10 Ada Settings
+.......................
 
-15.4.10.10 Known Peculiarities of Ada Mode
+'set varsize-limit SIZE'
+     Prevent GDB from attempting to evaluate objects whose size is above
+     the given limit (SIZE) when those sizes are computed from run-time
+     quantities.  This is typically the case when the object has a
+     variable size, such as an array whose bounds are not known at
+     compile time for example.  Setting SIZE to 'unlimited' removes the
+     size limitation.  By default, the limit is about 65KB.
+
+     The purpose of having such a limit is to prevent GDB from trying to
+     grab enormous chunks of virtual memory when asked to evaluate a
+     quantity whose bounds have been corrupted or have not yet been
+     fully initialized.  The limit applies to the results of some
+     subexpressions as well as to complete expressions.  For example, an
+     expression denoting a simple integer component, such as 'x.y.z',
+     may fail if the size of 'x.y' is variable and exceeds 'size'.  On
+     the other hand, GDB is sometimes clever; the expression 'A(i)',
+     where 'A' is an array variable with non-constant size, will
+     generally succeed regardless of the bounds on 'A', as long as the
+     component size is less than SIZE.
+
+'show varsize-limit'
+     Show the limit on types whose size is determined by run-time
+     quantities.
+
+
+File: gdb.info,  Node: Ada Glitches,  Prev: Ada Settings,  Up: Ada
+
+15.4.10.11 Known Peculiarities of Ada Mode
 ..........................................
 
 Besides the omissions listed previously (*note Omissions from Ada::), we
@@ -547,7 +595,7 @@ looks up the value of 'x' in the scope o
 
      This command differs from 'ptype' in two ways: first, like
      'whatis', it does not print a detailed description; second, it
-     lists all source files where a type is defined.
+     lists all source files and line numbers where a type is defined.
 
 'info type-printers'
      Versions of GDB that ship with Python scripting enabled may have
@@ -605,24 +653,29 @@ looks up the value of 'x' in the scope o
      read when needed.
 
 'info functions'
-     Print the names and data types of all defined functions.
+     Print the names and data types of all defined functions.  Similarly
+     to 'info types', this command groups its output by source files and
+     annotates each function definition with its source line number.
 
 'info functions REGEXP'
-     Print the names and data types of all defined functions whose names
-     contain a match for regular expression REGEXP.  Thus, 'info fun
-     step' finds all functions whose names include 'step'; 'info fun
-     ^step' finds those whose names start with 'step'.  If a function
-     name contains characters that conflict with the regular expression
-     language (e.g. 'operator*()'), they may be quoted with a backslash.
+     Like 'info functions', but only print the names and data types of
+     functions whose names contain a match for regular expression
+     REGEXP.  Thus, 'info fun step' finds all functions whose names
+     include 'step'; 'info fun ^step' finds those whose names start with
+     'step'.  If a function name contains characters that conflict with
+     the regular expression language (e.g. 'operator*()'), they may be
+     quoted with a backslash.
 
 'info variables'
      Print the names and data types of all variables that are defined
-     outside of functions (i.e. excluding local variables).
+     outside of functions (i.e. excluding local variables).  The printed
+     variables are grouped by source files and annotated with their
+     respective source line numbers.
 
 'info variables REGEXP'
-     Print the names and data types of all variables (except for local
-     variables) whose names contain a match for regular expression
-     REGEXP.
+     Like 'info variables', but only print the names and data types of
+     non-local variables whose names contain a match for regular
+     expression REGEXP.
 
 'info classes'
 'info classes REGEXP'
@@ -1566,11 +1619,16 @@ files are useful.
      necessary to locate your program.  Omitting FILENAME means to
      discard information on the executable file.
 
-'symbol-file [ FILENAME ]'
+'symbol-file [ FILENAME [ -o OFFSET ]]'
      Read symbol table information from file FILENAME.  'PATH' is
      searched when necessary.  Use the 'file' command to get both symbol
      table and program to run from the same file.
 
+     If an optional OFFSET is specified, it is added to the start
+     address of each section in the symbol file.  This is useful if the
+     program is relocated at runtime, such as the Linux kernel with
+     kASLR enabled.
+
      'symbol-file' with no argument clears out GDB information on your
      program's symbol table.
 
@@ -1639,18 +1697,21 @@ files are useful.
      in which the program is running.  To do this, use the 'kill'
      command (*note Killing the Child Process: Kill Process.).
 
-'add-symbol-file FILENAME ADDRESS'
-'add-symbol-file FILENAME ADDRESS [ -readnow | -readnever ]'
-'add-symbol-file FILENAME ADDRESS -s SECTION ADDRESS ...'
+'add-symbol-file FILENAME [ -readnow | -readnever ] [ -o OFFSET ] [ TEXTADDRESS ] [ -s SECTION ADDRESS ... ]'
      The 'add-symbol-file' command reads additional symbol table
      information from the file FILENAME.  You would use this command
      when FILENAME has been dynamically loaded (by some other means)
-     into the program that is running.  The ADDRESS should give the
-     memory address at which the file has been loaded; GDB cannot figure
-     this out for itself.  You can additionally specify an arbitrary
-     number of '-s SECTION ADDRESS' pairs, to give an explicit section
-     name and base address for that section.  You can specify any
-     ADDRESS as an expression.
+     into the program that is running.  The TEXTADDRESS parameter gives
+     the memory address at which the file's text section has been
+     loaded.  You can additionally specify the base address of other
+     sections using an arbitrary number of '-s SECTION ADDRESS' pairs.
+     If a section is omitted, GDB will use its default addresses as
+     found in FILENAME.  Any ADDRESS or TEXTADDRESS can be given as an
+     expression.
+
+     If an optional OFFSET is specified, it is added to the start
+     address of each section, except those for which the address was
+     specified explicitly.
 
      The symbol table of the file FILENAME is added to the symbol table
      originally read with the 'symbol-file' command.  You can use the
@@ -2387,6 +2448,17 @@ work quickly--at the cost of a delay ear
 delay can be quite lengthy, so GDB provides a way to build an index,
 which speeds up startup.
 
+   For convenience, GDB comes with a program, 'gdb-add-index', which can
+be used to add the index to a symbol file.  It takes the symbol file as
+its only argument:
+
+     $ gdb-add-index symfile
+
+   *Note gdb-add-index::.
+
+   It is also possible to do the work manually.  Here is what
+'gdb-add-index' does behind the curtains.
+
    The index is stored as a section in the symbol file.  GDB can write
 the index to a file, then you can put it into the symbol file using
 'objcopy'.
@@ -2782,6 +2854,14 @@ endian-ness manually.
 'show endian'
      Display GDB's current idea of the target byte order.
 
+   If the 'set endian auto' mode is in effect and no executable has been
+selected, then the endianness used is the last one chosen either by one
+of the 'set endian big' and 'set endian little' commands or by inferring
+from the last executable used.  If no endianness has been previously
+chosen, then the default for this mode is inferred from the target GDB
+has been built for, and is 'little' if the name of the target CPU has an
+'el' suffix and 'big' otherwise.
+
    Note that these commands merely adjust interpretation of symbolic
 data on the host, and that they have absolutely no effect on the target
 system.
@@ -4036,14 +4116,14 @@ configurations.
 * Menu:
 
 * BSD libkvm Interface::	Debugging BSD kernel memory images
-* SVR4 Process Information::    SVR4 process information
+* Process Information::         Process information
 * DJGPP Native::                Features specific to the DJGPP port
 * Cygwin Native::		Features specific to the Cygwin port
 * Hurd Native::                 Features specific to GNU Hurd
 * Darwin::			Features specific to Darwin
 
 
-File: gdb.info,  Node: BSD libkvm Interface,  Next: SVR4 Process Information,  Up: Native
+File: gdb.info,  Node: BSD libkvm Interface,  Next: Process Information,  Up: Native
 
 21.1.1 BSD libkvm Interface
 ---------------------------
@@ -4074,22 +4154,29 @@ available:
      available on modern FreeBSD systems.
 
 
-File: gdb.info,  Node: SVR4 Process Information,  Next: DJGPP Native,  Prev: BSD libkvm Interface,  Up: Native
-
-21.1.2 SVR4 Process Information
--------------------------------
+File: gdb.info,  Node: Process Information,  Next: DJGPP Native,  Prev: BSD libkvm Interface,  Up: Native
 
-Many versions of SVR4 and compatible systems provide a facility called
-'/proc' that can be used to examine the image of a running process using
-file-system subroutines.
-
-   If GDB is configured for an operating system with this facility, the
-command 'info proc' is available to report information about the process
-running your program, or about any process running on your system.  This
-includes, as of this writing, GNU/Linux and Solaris, for example.
+21.1.2 Process Information
+--------------------------
 
-   This command may also work on core files that were created on a
-system that has the '/proc' facility.
+Some operating systems provide interfaces to fetch additional
+information about running processes beyond memory and per-thread
+register state.  If GDB is configured for an operating system with a
+supported interface, the command 'info proc' is available to report
+information about the process running your program, or about any process
+running on your system.
+
+   One supported interface is a facility called '/proc' that can be used
+to examine the image of a running process using file-system subroutines.
+This facility is supported on GNU/Linux and Solaris systems.
+
+   On FreeBSD systems, system control nodes are used to query process
+information.
+
+   In addition, some systems may provide additional process information
+in core files.  Note that a core file may include a subset of the
+information available from a live process.  Process information is
+currently avaiable from cores created on GNU/Linux and FreeBSD systems.
 
 'info proc'
 'info proc PROCESS-ID'
@@ -4108,32 +4195,37 @@ system that has the '/proc' facility.
 
 'info proc cmdline'
      Show the original command line of the process.  This command is
-     specific to GNU/Linux.
+     supported on GNU/Linux and FreeBSD.
 
 'info proc cwd'
      Show the current working directory of the process.  This command is
-     specific to GNU/Linux.
+     supported on GNU/Linux and FreeBSD.
 
 'info proc exe'
      Show the name of executable of the process.  This command is
-     specific to GNU/Linux.
+     supported on GNU/Linux and FreeBSD.
 
 'info proc mappings'
-     Report the memory address space ranges accessible in the program,
-     with information on whether the process has read, write, or execute
-     access rights to each range.  On GNU/Linux systems, each memory
-     range includes the object file which is mapped to that range,
-     instead of the memory access rights to that range.
+     Report the memory address space ranges accessible in the program.
+     On Solaris and FreeBSD systems, each memory range includes
+     information on whether the process has read, write, or execute
+     access rights to each range.  On GNU/Linux and FreeBSD systems,
+     each memory range includes the object file which is mapped to that
+     range.
 
 'info proc stat'
 'info proc status'
-     These subcommands are specific to GNU/Linux systems.  They show the
-     process-related information, including the user ID and group ID;
-     how many threads are there in the process; its virtual memory
-     usage; the signals that are pending, blocked, and ignored; its TTY;
-     its consumption of system and user time; its stack size; its 'nice'
-     value; etc.  For more information, see the 'proc' man page (type
-     'man 5 proc' from your shell prompt).
+     Show additional process-related information, including the user ID
+     and group ID; virtual memory usage; the signals that are pending,
+     blocked, and ignored; its TTY; its consumption of system and user
+     time; its stack size; its 'nice' value; etc.  These commands are
+     supported on GNU/Linux and FreeBSD.
+
+     For GNU/Linux systems, see the 'proc' man page for more information
+     (type 'man 5 proc' from your shell prompt).
+
+     For FreeBSD systems, 'info proc stat' is an alias for 'info proc
+     status'.
 
 'info proc all'
      Show all the information about the process described under all of
@@ -4169,7 +4261,7 @@ system that has the '/proc' facility.
      mapinfos.
 
 
-File: gdb.info,  Node: DJGPP Native,  Next: Cygwin Native,  Prev: SVR4 Process Information,  Up: Native
+File: gdb.info,  Node: DJGPP Native,  Next: Cygwin Native,  Prev: Process Information,  Up: Native
 
 21.1.3 Features for Debugging DJGPP Programs
 --------------------------------------------
@@ -5737,10 +5829,12 @@ File: gdb.info,  Node: Screen Size,  Nex
 Certain commands to GDB may produce large amounts of information output
 to the screen.  To help you read all of it, GDB pauses and asks you for
 input at the end of each page of output.  Type <RET> when you want to
-continue the output, or 'q' to discard the remaining output.  Also, the
-screen width setting determines when to wrap lines of output.  Depending
-on what is being printed, GDB tries to break the line at a readable
-place, rather than simply letting it overflow onto the following line.
+see one more page of output, 'q' to discard the remaining output, or 'c'
+to continue without paging for the rest of the current command.  Also,
+the screen width setting determines when to wrap lines of output.
+Depending on what is being printed, GDB tries to break the line at a
+readable place, rather than simply letting it overflow onto the
+following line.
 
    Normally GDB knows the size of the screen from the terminal driver
 software.  For example, on Unix GDB uses the termcap data base together
@@ -6391,6 +6485,10 @@ commands.
      support.
 'show debug fbsd-lwp'
      Show the current state of FreeBSD LWP debugging messages.
+'set debug fbsd-nat'
+     Turns on or off debugging messages from the FreeBSD native target.
+'show debug fbsd-nat'
+     Show the current state of FreeBSD native target debugging messages.
 'set debug frame'
      Turns on or off display of GDB frame debugging info.  The default
      is off.
@@ -7015,127 +7113,3 @@ want.
      Convert the values of one or more EXPRESSIONS under the control of
      the string TEMPLATE to a command line, and call it.
 
-
-File: gdb.info,  Node: Auto-loading sequences,  Prev: Output,  Up: Sequences
-
-23.1.5 Controlling auto-loading native GDB scripts
---------------------------------------------------
-
-When a new object file is read (for example, due to the 'file' command,
-or because the inferior has loaded a shared library), GDB will look for
-the command file 'OBJFILE-gdb.gdb'.  *Note Auto-loading extensions::.
-
-   Auto-loading can be enabled or disabled, and the list of auto-loaded
-scripts can be printed.
-
-'set auto-load gdb-scripts [on|off]'
-     Enable or disable the auto-loading of canned sequences of commands
-     scripts.
-
-'show auto-load gdb-scripts'
-     Show whether auto-loading of canned sequences of commands scripts
-     is enabled or disabled.
-
-'info auto-load gdb-scripts [REGEXP]'
-     Print the list of all canned sequences of commands scripts that GDB
-     auto-loaded.
-
-   If REGEXP is supplied only canned sequences of commands scripts with
-matching names are printed.
-
-
-File: gdb.info,  Node: Python,  Next: Guile,  Prev: Sequences,  Up: Extending GDB
-
-23.2 Extending GDB using Python
-===============================
-
-You can extend GDB using the Python programming language
-(http://www.python.org/).  This feature is available only if GDB was
-configured using '--with-python'.
-
-   Python scripts used by GDB should be installed in
-'DATA-DIRECTORY/python', where DATA-DIRECTORY is the data directory as
-determined at GDB startup (*note Data Files::).  This directory, known
-as the "python directory", is automatically added to the Python Search
-Path in order to allow the Python interpreter to locate all scripts
-installed at this location.
-
-   Additionally, GDB commands and convenience functions which are
-written in Python and are located in the
-'DATA-DIRECTORY/python/gdb/command' or
-'DATA-DIRECTORY/python/gdb/function' directories are automatically
-imported when GDB starts.
-
-* Menu:
-
-* Python Commands::             Accessing Python from GDB.
-* Python API::                  Accessing GDB from Python.
-* Python Auto-loading::         Automatically loading Python code.
-* Python modules::              Python modules provided by GDB.
-
-
-File: gdb.info,  Node: Python Commands,  Next: Python API,  Up: Python
-
-23.2.1 Python Commands
-----------------------
-
-GDB provides two commands for accessing the Python interpreter, and one
-related setting:
-
-'python-interactive [COMMAND]'
-'pi [COMMAND]'
-     Without an argument, the 'python-interactive' command can be used
-     to start an interactive Python prompt.  To return to GDB, type the
-     'EOF' character (e.g., 'Ctrl-D' on an empty prompt).
-
-     Alternatively, a single-line Python command can be given as an
-     argument and evaluated.  If the command is an expression, the
-     result will be printed; otherwise, nothing will be printed.  For
-     example:
-
-          (gdb) python-interactive 2 + 3
-          5
-
-'python [COMMAND]'
-'py [COMMAND]'
-     The 'python' command can be used to evaluate Python code.
-
-     If given an argument, the 'python' command will evaluate the
-     argument as a Python command.  For example:
-
-          (gdb) python print 23
-          23
-
-     If you do not provide an argument to 'python', it will act as a
-     multi-line command, like 'define'.  In this case, the Python script
-     is made up of subsequent command lines, given after the 'python'
-     command.  This command list is terminated using a line containing
-     'end'.  For example:
-
-          (gdb) python
-          Type python script
-          End with a line saying just "end".
-          >print 23
-          >end
-          23
-
-'set python print-stack'
-     By default, GDB will print only the message component of a Python
-     exception when an error occurs in a Python script.  This can be
-     controlled using 'set python print-stack': if 'full', then full
-     Python stack printing is enabled; if 'none', then Python stack and
-     message printing is disabled; if 'message', the default, only the
-     message component of the error is printed.
-
-   It is also possible to execute a Python script from the GDB
-interpreter:
-
-'source script-name'
-     The script name must end with '.py' and GDB must be configured to
-     recognize the script language based on filename extension using the
-     'script-extension' setting.  *Note Extending GDB: Extending GDB.
-
-'python execfile ("script-name")'
-     This method is based on the 'execfile' Python built-in function,
-     and thus is always available.
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-4 ./gdb/doc/gdb.info-4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-4	2018-07-03 02:10:38.000000000 +0000
+++ ./gdb/doc/gdb.info-4	2018-07-10 02:10:26.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.1.0.20180703-git.
+Source-Level Debugger' for GDB (GDB) Version 8.1.90.20180710-git.
 
    Copyright (C) 1988-2018 Free Software Foundation, Inc.
 
@@ -37,6 +37,130 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: Auto-loading sequences,  Prev: Output,  Up: Sequences
+
+23.1.5 Controlling auto-loading native GDB scripts
+--------------------------------------------------
+
+When a new object file is read (for example, due to the 'file' command,
+or because the inferior has loaded a shared library), GDB will look for
+the command file 'OBJFILE-gdb.gdb'.  *Note Auto-loading extensions::.
+
+   Auto-loading can be enabled or disabled, and the list of auto-loaded
+scripts can be printed.
+
+'set auto-load gdb-scripts [on|off]'
+     Enable or disable the auto-loading of canned sequences of commands
+     scripts.
+
+'show auto-load gdb-scripts'
+     Show whether auto-loading of canned sequences of commands scripts
+     is enabled or disabled.
+
+'info auto-load gdb-scripts [REGEXP]'
+     Print the list of all canned sequences of commands scripts that GDB
+     auto-loaded.
+
+   If REGEXP is supplied only canned sequences of commands scripts with
+matching names are printed.
+
+
+File: gdb.info,  Node: Python,  Next: Guile,  Prev: Sequences,  Up: Extending GDB
+
+23.2 Extending GDB using Python
+===============================
+
+You can extend GDB using the Python programming language
+(http://www.python.org/).  This feature is available only if GDB was
+configured using '--with-python'.
+
+   Python scripts used by GDB should be installed in
+'DATA-DIRECTORY/python', where DATA-DIRECTORY is the data directory as
+determined at GDB startup (*note Data Files::).  This directory, known
+as the "python directory", is automatically added to the Python Search
+Path in order to allow the Python interpreter to locate all scripts
+installed at this location.
+
+   Additionally, GDB commands and convenience functions which are
+written in Python and are located in the
+'DATA-DIRECTORY/python/gdb/command' or
+'DATA-DIRECTORY/python/gdb/function' directories are automatically
+imported when GDB starts.
+
+* Menu:
+
+* Python Commands::             Accessing Python from GDB.
+* Python API::                  Accessing GDB from Python.
+* Python Auto-loading::         Automatically loading Python code.
+* Python modules::              Python modules provided by GDB.
+
+
+File: gdb.info,  Node: Python Commands,  Next: Python API,  Up: Python
+
+23.2.1 Python Commands
+----------------------
+
+GDB provides two commands for accessing the Python interpreter, and one
+related setting:
+
+'python-interactive [COMMAND]'
+'pi [COMMAND]'
+     Without an argument, the 'python-interactive' command can be used
+     to start an interactive Python prompt.  To return to GDB, type the
+     'EOF' character (e.g., 'Ctrl-D' on an empty prompt).
+
+     Alternatively, a single-line Python command can be given as an
+     argument and evaluated.  If the command is an expression, the
+     result will be printed; otherwise, nothing will be printed.  For
+     example:
+
+          (gdb) python-interactive 2 + 3
+          5
+
+'python [COMMAND]'
+'py [COMMAND]'
+     The 'python' command can be used to evaluate Python code.
+
+     If given an argument, the 'python' command will evaluate the
+     argument as a Python command.  For example:
+
+          (gdb) python print 23
+          23
+
+     If you do not provide an argument to 'python', it will act as a
+     multi-line command, like 'define'.  In this case, the Python script
+     is made up of subsequent command lines, given after the 'python'
+     command.  This command list is terminated using a line containing
+     'end'.  For example:
+
+          (gdb) python
+          Type python script
+          End with a line saying just "end".
+          >print 23
+          >end
+          23
+
+'set python print-stack'
+     By default, GDB will print only the message component of a Python
+     exception when an error occurs in a Python script.  This can be
+     controlled using 'set python print-stack': if 'full', then full
+     Python stack printing is enabled; if 'none', then Python stack and
+     message printing is disabled; if 'message', the default, only the
+     message component of the error is printed.
+
+   It is also possible to execute a Python script from the GDB
+interpreter:
+
+'source script-name'
+     The script name must end with '.py' and GDB must be configured to
+     recognize the script language based on filename extension using the
+     'script-extension' setting.  *Note Extending GDB: Extending GDB.
+
+'python execfile ("script-name")'
+     This method is based on the 'execfile' Python built-in function,
+     and thus is always available.
+
+
 File: gdb.info,  Node: Python API,  Next: Python Auto-loading,  Prev: Python Commands,  Up: Python
 
 23.2.2 Python API
@@ -189,6 +313,22 @@ classes added by GDB are placed in this 
      If no exception is raised, the return value is always an instance
      of 'gdb.Value' (*note Values From Inferior::).
 
+ -- Function: gdb.convenience_variable (name)
+     Return the value of the convenience variable (*note Convenience
+     Vars::) named NAME.  NAME must be a string.  The name should not
+     include the '$' that is used to mark a convenience variable in an
+     expression.  If the convenience variable does not exist, then
+     'None' is returned.
+
+ -- Function: gdb.set_convenience_variable (name, value)
+     Set the value of the convenience variable (*note Convenience
+     Vars::) named NAME.  NAME must be a string.  The name should not
+     include the '$' that is used to mark a convenience variable in an
+     expression.  If VALUE is 'None', then the convenience variable is
+     removed.  Otherwise, if VALUE is not a 'gdb.Value' (*note Values
+     From Inferior::), it is is converted using the 'gdb.Value'
+     constructor.
+
  -- Function: gdb.parse_and_eval (expression)
      Parse EXPRESSION, which must be a string, as an expression in the
      current language, evaluate it, and return the result as a
@@ -197,8 +337,7 @@ classes added by GDB are placed in this 
      This function can be useful when implementing a new command (*note
      Commands In Python::), as it provides a way to parse the command's
      argument as an expression.  It is also useful simply to compute
-     values, for example, it is the only way to get the value of a
-     convenience variable (*note Convenience Vars::) as a 'gdb.Value'.
+     values.
 
  -- Function: gdb.find_pc_line (pc)
      Return the 'gdb.Symtab_and_line' object corresponding to the PC
@@ -720,6 +859,12 @@ of the 'Type.fields' method for a descri
 
    An instance of 'Type' has the following attributes:
 
+ -- Variable: Type.alignof
+     The alignment of this type, in bytes.  Type alignment comes from
+     the debugging information; if it was not specified, then GDB will
+     use the relevant ABI to try to determine the alignment.  In some
+     cases, even this is not possible, and zero will be returned.
+
  -- Variable: Type.code
      The type code for this type.  The type code will be one of the
      'TYPE_CODE_' constants defined below.
@@ -3210,14 +3355,15 @@ Python scripts and commands.
      It can be read and assigned to just as any other attribute.  GDB
      does validation when assignments are made.
 
-   There are two methods that should be implemented in any 'Parameter'
+   There are two methods that may be implemented in any 'Parameter'
 class.  These are:
 
  -- Function: Parameter.get_set_string (self)
-     GDB will call this method when a PARAMETER's value has been changed
-     via the 'set' API (for example, 'set foo off').  The 'value'
-     attribute has already been populated with the new value and may be
-     used in output.  This method must return a string.
+     If this method exists, GDB will call it when a PARAMETER's value
+     has been changed via the 'set' API (for example, 'set foo off').
+     The 'value' attribute has already been populated with the new value
+     and may be used in output.  This method must return a string.  If
+     the returned string is not empty, GDB will present it to the user.
 
  -- Function: Parameter.get_show_string (self, svalue)
      GDB will call this method when a PARAMETER's 'show' API has been
@@ -3267,6 +3413,16 @@ module:
      The value is an integer.  This is like 'PARAM_INTEGER', except 0 is
      interpreted as itself.
 
+'gdb.PARAM_ZUINTEGER'
+     The value is an unsigned integer.  This is like 'PARAM_INTEGER',
+     except 0 is interpreted as itself, and the value cannot be
+     negative.
+
+'gdb.PARAM_ZUINTEGER_UNLIMITED'
+     The value is a signed integer.  This is like 'PARAM_ZUINTEGER',
+     except the special value -1 should be interpreted to mean
+     "unlimited".  Other negative values are not allowed.
+
 'gdb.PARAM_ENUM'
      The value is a string, which must be one of a collection string
      constants provided when the parameter is created.
@@ -4391,7 +4547,7 @@ in the 'gdb' module:
      This attribute holds the commands attached to the breakpoint.  If
      there are commands, this attribute's value is a string holding all
      the commands, separated by newlines.  If there are no commands,
-     this attribute is 'None'.  This attribute is not writable.
+     this attribute is 'None'.  This attribute is writable.
 
 
 File: gdb.info,  Node: Finish Breakpoints in Python,  Next: Lazy Strings In Python,  Prev: Breakpoints In Python,  Up: Python API
@@ -7273,320 +7429,3 @@ represented as constants in the 'gdb' mo
 'SYMBOL_LOC_COMPUTED'
      The value's address is a computed location.
 
-
-File: gdb.info,  Node: Symbol Tables In Guile,  Next: Breakpoints In Guile,  Prev: Symbols In Guile,  Up: Guile API
-
-23.3.3.18 Symbol table representation in Guile.
-...............................................
-
-Access to symbol table data maintained by GDB on the inferior is exposed
-to Guile via two objects: '<gdb:sal>' (symtab-and-line) and
-'<gdb:symtab>'.  Symbol table and line data for a frame is returned from
-the 'frame-find-sal' '<gdb:frame>' procedure.  *Note Frames In Guile::.
-
-   For more information on GDB's symbol table management, see *note
-Examining the Symbol Table: Symbols.
-
-   The following symtab-related procedures are provided by the '(gdb)'
-module:
-
- -- Scheme Procedure: symtab? object
-     Return '#t' if OBJECT is an object of type '<gdb:symtab>'.
-     Otherwise return '#f'.
-
- -- Scheme Procedure: symtab-valid? symtab
-     Return '#t' if the '<gdb:symtab>' object is valid, '#f' if not.  A
-     '<gdb:symtab>' object becomes invalid when the symbol table it
-     refers to no longer exists in GDB.  All other '<gdb:symtab>'
-     procedures will throw an exception if it is invalid at the time the
-     procedure is called.
-
- -- Scheme Procedure: symtab-filename symtab
-     Return the symbol table's source filename.
-
- -- Scheme Procedure: symtab-fullname symtab
-     Return the symbol table's source absolute file name.
-
- -- Scheme Procedure: symtab-objfile symtab
-     Return the symbol table's backing object file.  *Note Objfiles In
-     Guile::.
-
- -- Scheme Procedure: symtab-global-block symtab
-     Return the global block of the underlying symbol table.  *Note
-     Blocks In Guile::.
-
- -- Scheme Procedure: symtab-static-block symtab
-     Return the static block of the underlying symbol table.  *Note
-     Blocks In Guile::.
-
-   The following symtab-and-line-related procedures are provided by the
-'(gdb)' module:
-
- -- Scheme Procedure: sal? object
-     Return '#t' if OBJECT is an object of type '<gdb:sal>'.  Otherwise
-     return '#f'.
-
- -- Scheme Procedure: sal-valid? sal
-     Return '#t' if SAL is valid, '#f' if not.  A '<gdb:sal>' object
-     becomes invalid when the Symbol table object it refers to no longer
-     exists in GDB.  All other '<gdb:sal>' procedures will throw an
-     exception if it is invalid at the time the procedure is called.
-
- -- Scheme Procedure: sal-symtab sal
-     Return the symbol table object ('<gdb:symtab>') for SAL.
-
- -- Scheme Procedure: sal-line sal
-     Return the line number for SAL.
-
- -- Scheme Procedure: sal-pc sal
-     Return the start of the address range occupied by code for SAL.
-
- -- Scheme Procedure: sal-last sal
-     Return the end of the address range occupied by code for SAL.
-
- -- Scheme Procedure: find-pc-line pc
-     Return the '<gdb:sal>' object corresponding to the PC value.  If an
-     invalid value of PC is passed as an argument, then the 'symtab' and
-     'line' attributes of the returned '<gdb:sal>' object will be '#f'
-     and 0 respectively.
-
-
-File: gdb.info,  Node: Breakpoints In Guile,  Next: Lazy Strings In Guile,  Prev: Symbol Tables In Guile,  Up: Guile API
-
-23.3.3.19 Manipulating breakpoints using Guile
-..............................................
-
-Breakpoints in Guile are represented by objects of type
-'<gdb:breakpoint>'.  New breakpoints can be created with the
-'make-breakpoint' Guile function, and then added to GDB with the
-'register-breakpoint!' Guile function.  This two-step approach is taken
-to separate out the side-effect of adding the breakpoint to GDB from
-'make-breakpoint'.
-
-   Support is also provided to view and manipulate breakpoints created
-outside of Guile.
-
-   The following breakpoint-related procedures are provided by the
-'(gdb)' module:
-
- -- Scheme Procedure: make-breakpoint location [#:type type] [#:wp-class
-          wp-class] [#:internal internal]
-     Create a new breakpoint at LOCATION, a string naming the location
-     of the breakpoint, or an expression that defines a watchpoint.  The
-     contents can be any location recognized by the 'break' command, or
-     in the case of a watchpoint, by the 'watch' command.
-
-     The breakpoint is initially marked as 'invalid'.  The breakpoint is
-     not usable until it has been registered with GDB with
-     'register-breakpoint!', at which point it becomes 'valid'.  The
-     result is the '<gdb:breakpoint>' object representing the
-     breakpoint.
-
-     The optional TYPE denotes the breakpoint to create.  This argument
-     can be either 'BP_BREAKPOINT' or 'BP_WATCHPOINT', and defaults to
-     'BP_BREAKPOINT'.
-
-     The optional WP-CLASS argument defines the class of watchpoint to
-     create, if TYPE is 'BP_WATCHPOINT'.  If a watchpoint class is not
-     provided, it is assumed to be a 'WP_WRITE' class.
-
-     The optional INTERNAL argument allows the breakpoint to become
-     invisible to the user.  The breakpoint will neither be reported
-     when registered, nor will it be listed in the output from 'info
-     breakpoints' (but will be listed with the 'maint info breakpoints'
-     command).  If an internal flag is not provided, the breakpoint is
-     visible (non-internal).
-
-     When a watchpoint is created, GDB will try to create a hardware
-     assisted watchpoint.  If successful, the type of the watchpoint is
-     changed from 'BP_WATCHPOINT' to 'BP_HARDWARE_WATCHPOINT' for
-     'WP_WRITE', 'BP_READ_WATCHPOINT' for 'WP_READ', and
-     'BP_ACCESS_WATCHPOINT' for 'WP_ACCESS'.  If not successful, the
-     type of the watchpoint is left as 'WP_WATCHPOINT'.
-
-     The available types are represented by constants defined in the
-     'gdb' module:
-
-     'BP_BREAKPOINT'
-          Normal code breakpoint.
-
-     'BP_WATCHPOINT'
-          Watchpoint breakpoint.
-
-     'BP_HARDWARE_WATCHPOINT'
-          Hardware assisted watchpoint.  This value cannot be specified
-          when creating the breakpoint.
-
-     'BP_READ_WATCHPOINT'
-          Hardware assisted read watchpoint.  This value cannot be
-          specified when creating the breakpoint.
-
-     'BP_ACCESS_WATCHPOINT'
-          Hardware assisted access watchpoint.  This value cannot be
-          specified when creating the breakpoint.
-
-     The available watchpoint types represented by constants are defined
-     in the '(gdb)' module:
-
-     'WP_READ'
-          Read only watchpoint.
-
-     'WP_WRITE'
-          Write only watchpoint.
-
-     'WP_ACCESS'
-          Read/Write watchpoint.
-
- -- Scheme Procedure: register-breakpoint! breakpoint
-     Add BREAKPOINT, a '<gdb:breakpoint>' object, to GDB's list of
-     breakpoints.  The breakpoint must have been created with
-     'make-breakpoint'.  One cannot register breakpoints that have been
-     created outside of Guile.  Once a breakpoint is registered it
-     becomes 'valid'.  It is an error to register an already registered
-     breakpoint.  The result is unspecified.
-
- -- Scheme Procedure: delete-breakpoint! breakpoint
-     Remove BREAKPOINT from GDB's list of breakpoints.  This also
-     invalidates the Guile BREAKPOINT object.  Any further attempt to
-     access the object will throw an exception.
-
-     If BREAKPOINT was created from Guile with 'make-breakpoint' it may
-     be re-registered with GDB, in which case the breakpoint becomes
-     valid again.
-
- -- Scheme Procedure: breakpoints
-     Return a list of all breakpoints.  Each element of the list is a
-     '<gdb:breakpoint>' object.
-
- -- Scheme Procedure: breakpoint? object
-     Return '#t' if OBJECT is a '<gdb:breakpoint>' object, and '#f'
-     otherwise.
-
- -- Scheme Procedure: breakpoint-valid? breakpoint
-     Return '#t' if BREAKPOINT is valid, '#f' otherwise.  Breakpoints
-     created with 'make-breakpoint' are marked as invalid until they are
-     registered with GDB with 'register-breakpoint!'.  A
-     '<gdb:breakpoint>' object can become invalid if the user deletes
-     the breakpoint.  In this case, the object still exists, but the
-     underlying breakpoint does not.  In the cases of watchpoint scope,
-     the watchpoint remains valid even if execution of the inferior
-     leaves the scope of that watchpoint.
-
- -- Scheme Procedure: breakpoint-number breakpoint
-     Return the breakpoint's number -- the identifier used by the user
-     to manipulate the breakpoint.
-
- -- Scheme Procedure: breakpoint-type breakpoint
-     Return the breakpoint's type -- the identifier used to determine
-     the actual breakpoint type or use-case.
-
- -- Scheme Procedure: breakpoint-visible? breakpoint
-     Return '#t' if the breakpoint is visible to the user when hit, or
-     when the 'info breakpoints' command is run.  Otherwise return '#f'.
-
- -- Scheme Procedure: breakpoint-location breakpoint
-     Return the location of the breakpoint, as specified by the user.
-     It is a string.  If the breakpoint does not have a location (that
-     is, it is a watchpoint) return '#f'.
-
- -- Scheme Procedure: breakpoint-expression breakpoint
-     Return the breakpoint expression, as specified by the user.  It is
-     a string.  If the breakpoint does not have an expression (the
-     breakpoint is not a watchpoint) return '#f'.
-
- -- Scheme Procedure: breakpoint-enabled? breakpoint
-     Return '#t' if the breakpoint is enabled, and '#f' otherwise.
-
- -- Scheme Procedure: set-breakpoint-enabled! breakpoint flag
-     Set the enabled state of BREAKPOINT to FLAG.  If flag is '#f' it is
-     disabled, otherwise it is enabled.
-
- -- Scheme Procedure: breakpoint-silent? breakpoint
-     Return '#t' if the breakpoint is silent, and '#f' otherwise.
-
-     Note that a breakpoint can also be silent if it has commands and
-     the first command is 'silent'.  This is not reported by the
-     'silent' attribute.
-
- -- Scheme Procedure: set-breakpoint-silent! breakpoint flag
-     Set the silent state of BREAKPOINT to FLAG.  If flag is '#f' the
-     breakpoint is made silent, otherwise it is made non-silent (or
-     noisy).
-
- -- Scheme Procedure: breakpoint-ignore-count breakpoint
-     Return the ignore count for BREAKPOINT.
-
- -- Scheme Procedure: set-breakpoint-ignore-count! breakpoint count
-     Set the ignore count for BREAKPOINT to COUNT.
-
- -- Scheme Procedure: breakpoint-hit-count breakpoint
-     Return hit count of BREAKPOINT.
-
- -- Scheme Procedure: set-breakpoint-hit-count! breakpoint count
-     Set the hit count of BREAKPOINT to COUNT.  At present, COUNT must
-     be zero.
-
- -- Scheme Procedure: breakpoint-thread breakpoint
-     Return the global-thread-id for thread-specific breakpoint
-     BREAKPOINT.  Return #f if BREAKPOINT is not thread-specific.
-
- -- Scheme Procedure: set-breakpoint-thread! breakpoint
-          global-thread-id|#f
-     Set the thread-id for BREAKPOINT to GLOBAL-THREAD-ID If set to
-     '#f', the breakpoint is no longer thread-specific.
-
- -- Scheme Procedure: breakpoint-task breakpoint
-     If the breakpoint is Ada task-specific, return the Ada task id.  If
-     the breakpoint is not task-specific (or the underlying language is
-     not Ada), return '#f'.
-
- -- Scheme Procedure: set-breakpoint-task! breakpoint task
-     Set the Ada task of BREAKPOINT to TASK.  If set to '#f', the
-     breakpoint is no longer task-specific.
-
- -- Scheme Procedure: breakpoint-condition breakpoint
-     Return the condition of BREAKPOINT, as specified by the user.  It
-     is a string.  If there is no condition, return '#f'.
-
- -- Scheme Procedure: set-breakpoint-condition! breakpoint condition
-     Set the condition of BREAKPOINT to CONDITION, which must be a
-     string.  If set to '#f' then the breakpoint becomes unconditional.
-
- -- Scheme Procedure: breakpoint-stop breakpoint
-     Return the stop predicate of BREAKPOINT.  See
-     'set-breakpoint-stop!' below in this section.
-
- -- Scheme Procedure: set-breakpoint-stop! breakpoint procedure|#f
-     Set the stop predicate of BREAKPOINT.  The predicate PROCEDURE
-     takes one argument: the <gdb:breakpoint> object.  If this predicate
-     is set to a procedure then it is invoked whenever the inferior
-     reaches this breakpoint.  If it returns '#t', or any non-'#f'
-     value, then the inferior is stopped, otherwise the inferior will
-     continue.
-
-     If there are multiple breakpoints at the same location with a
-     'stop' predicate, each one will be called regardless of the return
-     status of the previous.  This ensures that all 'stop' predicates
-     have a chance to execute at that location.  In this scenario if one
-     of the methods returns '#t' but the others return '#f', the
-     inferior will still be stopped.
-
-     You should not alter the execution state of the inferior (i.e.,
-     step, next, etc.), alter the current frame context (i.e., change
-     the current active frame), or alter, add or delete any breakpoint.
-     As a general rule, you should not alter any data within GDB or the
-     inferior at this time.
-
-     Example 'stop' implementation:
-
-          (define (my-stop? bkpt)
-            (let ((int-val (parse-and-eval "foo")))
-              (value=? int-val 3)))
-          (define bkpt (make-breakpoint "main.c:42"))
-          (register-breakpoint! bkpt)
-          (set-breakpoint-stop! bkpt my-stop?)
-
- -- Scheme Procedure: breakpoint-commands breakpoint
-     Return the commands attached to BREAKPOINT as a string, or '#f' if
-     there are none.
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-5 ./gdb/doc/gdb.info-5
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-5	2018-07-03 02:10:40.000000000 +0000
+++ ./gdb/doc/gdb.info-5	2018-07-10 02:10:28.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.1.0.20180703-git.
+Source-Level Debugger' for GDB (GDB) Version 8.1.90.20180710-git.
 
    Copyright (C) 1988-2018 Free Software Foundation, Inc.
 
@@ -37,6 +37,323 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: Symbol Tables In Guile,  Next: Breakpoints In Guile,  Prev: Symbols In Guile,  Up: Guile API
+
+23.3.3.18 Symbol table representation in Guile.
+...............................................
+
+Access to symbol table data maintained by GDB on the inferior is exposed
+to Guile via two objects: '<gdb:sal>' (symtab-and-line) and
+'<gdb:symtab>'.  Symbol table and line data for a frame is returned from
+the 'frame-find-sal' '<gdb:frame>' procedure.  *Note Frames In Guile::.
+
+   For more information on GDB's symbol table management, see *note
+Examining the Symbol Table: Symbols.
+
+   The following symtab-related procedures are provided by the '(gdb)'
+module:
+
+ -- Scheme Procedure: symtab? object
+     Return '#t' if OBJECT is an object of type '<gdb:symtab>'.
+     Otherwise return '#f'.
+
+ -- Scheme Procedure: symtab-valid? symtab
+     Return '#t' if the '<gdb:symtab>' object is valid, '#f' if not.  A
+     '<gdb:symtab>' object becomes invalid when the symbol table it
+     refers to no longer exists in GDB.  All other '<gdb:symtab>'
+     procedures will throw an exception if it is invalid at the time the
+     procedure is called.
+
+ -- Scheme Procedure: symtab-filename symtab
+     Return the symbol table's source filename.
+
+ -- Scheme Procedure: symtab-fullname symtab
+     Return the symbol table's source absolute file name.
+
+ -- Scheme Procedure: symtab-objfile symtab
+     Return the symbol table's backing object file.  *Note Objfiles In
+     Guile::.
+
+ -- Scheme Procedure: symtab-global-block symtab
+     Return the global block of the underlying symbol table.  *Note
+     Blocks In Guile::.
+
+ -- Scheme Procedure: symtab-static-block symtab
+     Return the static block of the underlying symbol table.  *Note
+     Blocks In Guile::.
+
+   The following symtab-and-line-related procedures are provided by the
+'(gdb)' module:
+
+ -- Scheme Procedure: sal? object
+     Return '#t' if OBJECT is an object of type '<gdb:sal>'.  Otherwise
+     return '#f'.
+
+ -- Scheme Procedure: sal-valid? sal
+     Return '#t' if SAL is valid, '#f' if not.  A '<gdb:sal>' object
+     becomes invalid when the Symbol table object it refers to no longer
+     exists in GDB.  All other '<gdb:sal>' procedures will throw an
+     exception if it is invalid at the time the procedure is called.
+
+ -- Scheme Procedure: sal-symtab sal
+     Return the symbol table object ('<gdb:symtab>') for SAL.
+
+ -- Scheme Procedure: sal-line sal
+     Return the line number for SAL.
+
+ -- Scheme Procedure: sal-pc sal
+     Return the start of the address range occupied by code for SAL.
+
+ -- Scheme Procedure: sal-last sal
+     Return the end of the address range occupied by code for SAL.
+
+ -- Scheme Procedure: find-pc-line pc
+     Return the '<gdb:sal>' object corresponding to the PC value.  If an
+     invalid value of PC is passed as an argument, then the 'symtab' and
+     'line' attributes of the returned '<gdb:sal>' object will be '#f'
+     and 0 respectively.
+
+
+File: gdb.info,  Node: Breakpoints In Guile,  Next: Lazy Strings In Guile,  Prev: Symbol Tables In Guile,  Up: Guile API
+
+23.3.3.19 Manipulating breakpoints using Guile
+..............................................
+
+Breakpoints in Guile are represented by objects of type
+'<gdb:breakpoint>'.  New breakpoints can be created with the
+'make-breakpoint' Guile function, and then added to GDB with the
+'register-breakpoint!' Guile function.  This two-step approach is taken
+to separate out the side-effect of adding the breakpoint to GDB from
+'make-breakpoint'.
+
+   Support is also provided to view and manipulate breakpoints created
+outside of Guile.
+
+   The following breakpoint-related procedures are provided by the
+'(gdb)' module:
+
+ -- Scheme Procedure: make-breakpoint location [#:type type] [#:wp-class
+          wp-class] [#:internal internal]
+     Create a new breakpoint at LOCATION, a string naming the location
+     of the breakpoint, or an expression that defines a watchpoint.  The
+     contents can be any location recognized by the 'break' command, or
+     in the case of a watchpoint, by the 'watch' command.
+
+     The breakpoint is initially marked as 'invalid'.  The breakpoint is
+     not usable until it has been registered with GDB with
+     'register-breakpoint!', at which point it becomes 'valid'.  The
+     result is the '<gdb:breakpoint>' object representing the
+     breakpoint.
+
+     The optional TYPE denotes the breakpoint to create.  This argument
+     can be either 'BP_BREAKPOINT' or 'BP_WATCHPOINT', and defaults to
+     'BP_BREAKPOINT'.
+
+     The optional WP-CLASS argument defines the class of watchpoint to
+     create, if TYPE is 'BP_WATCHPOINT'.  If a watchpoint class is not
+     provided, it is assumed to be a 'WP_WRITE' class.
+
+     The optional INTERNAL argument allows the breakpoint to become
+     invisible to the user.  The breakpoint will neither be reported
+     when registered, nor will it be listed in the output from 'info
+     breakpoints' (but will be listed with the 'maint info breakpoints'
+     command).  If an internal flag is not provided, the breakpoint is
+     visible (non-internal).
+
+     When a watchpoint is created, GDB will try to create a hardware
+     assisted watchpoint.  If successful, the type of the watchpoint is
+     changed from 'BP_WATCHPOINT' to 'BP_HARDWARE_WATCHPOINT' for
+     'WP_WRITE', 'BP_READ_WATCHPOINT' for 'WP_READ', and
+     'BP_ACCESS_WATCHPOINT' for 'WP_ACCESS'.  If not successful, the
+     type of the watchpoint is left as 'WP_WATCHPOINT'.
+
+     The available types are represented by constants defined in the
+     'gdb' module:
+
+     'BP_BREAKPOINT'
+          Normal code breakpoint.
+
+     'BP_WATCHPOINT'
+          Watchpoint breakpoint.
+
+     'BP_HARDWARE_WATCHPOINT'
+          Hardware assisted watchpoint.  This value cannot be specified
+          when creating the breakpoint.
+
+     'BP_READ_WATCHPOINT'
+          Hardware assisted read watchpoint.  This value cannot be
+          specified when creating the breakpoint.
+
+     'BP_ACCESS_WATCHPOINT'
+          Hardware assisted access watchpoint.  This value cannot be
+          specified when creating the breakpoint.
+
+     The available watchpoint types represented by constants are defined
+     in the '(gdb)' module:
+
+     'WP_READ'
+          Read only watchpoint.
+
+     'WP_WRITE'
+          Write only watchpoint.
+
+     'WP_ACCESS'
+          Read/Write watchpoint.
+
+ -- Scheme Procedure: register-breakpoint! breakpoint
+     Add BREAKPOINT, a '<gdb:breakpoint>' object, to GDB's list of
+     breakpoints.  The breakpoint must have been created with
+     'make-breakpoint'.  One cannot register breakpoints that have been
+     created outside of Guile.  Once a breakpoint is registered it
+     becomes 'valid'.  It is an error to register an already registered
+     breakpoint.  The result is unspecified.
+
+ -- Scheme Procedure: delete-breakpoint! breakpoint
+     Remove BREAKPOINT from GDB's list of breakpoints.  This also
+     invalidates the Guile BREAKPOINT object.  Any further attempt to
+     access the object will throw an exception.
+
+     If BREAKPOINT was created from Guile with 'make-breakpoint' it may
+     be re-registered with GDB, in which case the breakpoint becomes
+     valid again.
+
+ -- Scheme Procedure: breakpoints
+     Return a list of all breakpoints.  Each element of the list is a
+     '<gdb:breakpoint>' object.
+
+ -- Scheme Procedure: breakpoint? object
+     Return '#t' if OBJECT is a '<gdb:breakpoint>' object, and '#f'
+     otherwise.
+
+ -- Scheme Procedure: breakpoint-valid? breakpoint
+     Return '#t' if BREAKPOINT is valid, '#f' otherwise.  Breakpoints
+     created with 'make-breakpoint' are marked as invalid until they are
+     registered with GDB with 'register-breakpoint!'.  A
+     '<gdb:breakpoint>' object can become invalid if the user deletes
+     the breakpoint.  In this case, the object still exists, but the
+     underlying breakpoint does not.  In the cases of watchpoint scope,
+     the watchpoint remains valid even if execution of the inferior
+     leaves the scope of that watchpoint.
+
+ -- Scheme Procedure: breakpoint-number breakpoint
+     Return the breakpoint's number -- the identifier used by the user
+     to manipulate the breakpoint.
+
+ -- Scheme Procedure: breakpoint-type breakpoint
+     Return the breakpoint's type -- the identifier used to determine
+     the actual breakpoint type or use-case.
+
+ -- Scheme Procedure: breakpoint-visible? breakpoint
+     Return '#t' if the breakpoint is visible to the user when hit, or
+     when the 'info breakpoints' command is run.  Otherwise return '#f'.
+
+ -- Scheme Procedure: breakpoint-location breakpoint
+     Return the location of the breakpoint, as specified by the user.
+     It is a string.  If the breakpoint does not have a location (that
+     is, it is a watchpoint) return '#f'.
+
+ -- Scheme Procedure: breakpoint-expression breakpoint
+     Return the breakpoint expression, as specified by the user.  It is
+     a string.  If the breakpoint does not have an expression (the
+     breakpoint is not a watchpoint) return '#f'.
+
+ -- Scheme Procedure: breakpoint-enabled? breakpoint
+     Return '#t' if the breakpoint is enabled, and '#f' otherwise.
+
+ -- Scheme Procedure: set-breakpoint-enabled! breakpoint flag
+     Set the enabled state of BREAKPOINT to FLAG.  If flag is '#f' it is
+     disabled, otherwise it is enabled.
+
+ -- Scheme Procedure: breakpoint-silent? breakpoint
+     Return '#t' if the breakpoint is silent, and '#f' otherwise.
+
+     Note that a breakpoint can also be silent if it has commands and
+     the first command is 'silent'.  This is not reported by the
+     'silent' attribute.
+
+ -- Scheme Procedure: set-breakpoint-silent! breakpoint flag
+     Set the silent state of BREAKPOINT to FLAG.  If flag is '#f' the
+     breakpoint is made silent, otherwise it is made non-silent (or
+     noisy).
+
+ -- Scheme Procedure: breakpoint-ignore-count breakpoint
+     Return the ignore count for BREAKPOINT.
+
+ -- Scheme Procedure: set-breakpoint-ignore-count! breakpoint count
+     Set the ignore count for BREAKPOINT to COUNT.
+
+ -- Scheme Procedure: breakpoint-hit-count breakpoint
+     Return hit count of BREAKPOINT.
+
+ -- Scheme Procedure: set-breakpoint-hit-count! breakpoint count
+     Set the hit count of BREAKPOINT to COUNT.  At present, COUNT must
+     be zero.
+
+ -- Scheme Procedure: breakpoint-thread breakpoint
+     Return the global-thread-id for thread-specific breakpoint
+     BREAKPOINT.  Return #f if BREAKPOINT is not thread-specific.
+
+ -- Scheme Procedure: set-breakpoint-thread! breakpoint
+          global-thread-id|#f
+     Set the thread-id for BREAKPOINT to GLOBAL-THREAD-ID If set to
+     '#f', the breakpoint is no longer thread-specific.
+
+ -- Scheme Procedure: breakpoint-task breakpoint
+     If the breakpoint is Ada task-specific, return the Ada task id.  If
+     the breakpoint is not task-specific (or the underlying language is
+     not Ada), return '#f'.
+
+ -- Scheme Procedure: set-breakpoint-task! breakpoint task
+     Set the Ada task of BREAKPOINT to TASK.  If set to '#f', the
+     breakpoint is no longer task-specific.
+
+ -- Scheme Procedure: breakpoint-condition breakpoint
+     Return the condition of BREAKPOINT, as specified by the user.  It
+     is a string.  If there is no condition, return '#f'.
+
+ -- Scheme Procedure: set-breakpoint-condition! breakpoint condition
+     Set the condition of BREAKPOINT to CONDITION, which must be a
+     string.  If set to '#f' then the breakpoint becomes unconditional.
+
+ -- Scheme Procedure: breakpoint-stop breakpoint
+     Return the stop predicate of BREAKPOINT.  See
+     'set-breakpoint-stop!' below in this section.
+
+ -- Scheme Procedure: set-breakpoint-stop! breakpoint procedure|#f
+     Set the stop predicate of BREAKPOINT.  The predicate PROCEDURE
+     takes one argument: the <gdb:breakpoint> object.  If this predicate
+     is set to a procedure then it is invoked whenever the inferior
+     reaches this breakpoint.  If it returns '#t', or any non-'#f'
+     value, then the inferior is stopped, otherwise the inferior will
+     continue.
+
+     If there are multiple breakpoints at the same location with a
+     'stop' predicate, each one will be called regardless of the return
+     status of the previous.  This ensures that all 'stop' predicates
+     have a chance to execute at that location.  In this scenario if one
+     of the methods returns '#t' but the others return '#f', the
+     inferior will still be stopped.
+
+     You should not alter the execution state of the inferior (i.e.,
+     step, next, etc.), alter the current frame context (i.e., change
+     the current active frame), or alter, add or delete any breakpoint.
+     As a general rule, you should not alter any data within GDB or the
+     inferior at this time.
+
+     Example 'stop' implementation:
+
+          (define (my-stop? bkpt)
+            (let ((int-val (parse-and-eval "foo")))
+              (value=? int-val 3)))
+          (define bkpt (make-breakpoint "main.c:42"))
+          (register-breakpoint! bkpt)
+          (set-breakpoint-stop! bkpt my-stop?)
+
+ -- Scheme Procedure: breakpoint-commands breakpoint
+     Return the commands attached to BREAKPOINT as a string, or '#f' if
+     there are none.
+
+
 File: gdb.info,  Node: Lazy Strings In Guile,  Next: Architectures In Guile,  Prev: Breakpoints In Guile,  Up: Guile API
 
 23.3.3.20 Guile representation of lazy strings.
@@ -3547,6 +3864,46 @@ Example
      times="0",original-location="__gnat_debug_raise_exception"}
      (gdb)
 
+The '-catch-handlers' Command
+-----------------------------
+
+Synopsis
+........
+
+      -catch-handlers [ -c CONDITION] [ -d ] [ -e EXCEPTION-NAME ]
+         [ -t ]
+
+   Add a catchpoint stopping when Ada exceptions are handled.  By
+default, the command stops the program when any Ada exception gets
+handled.  But it is also possible, by using some of the optional
+parameters described below, to create more selective catchpoints.
+
+   The possible optional parameters for this command are:
+
+'-c CONDITION'
+     Make the catchpoint conditional on CONDITION.
+'-d'
+     Create a disabled catchpoint.
+'-e EXCEPTION-NAME'
+     Only stop when EXCEPTION-NAME is handled.
+'-t'
+     Create a temporary catchpoint.
+
+GDB Command
+...........
+
+The corresponding GDB command is 'catch handlers'.
+
+Example
+.......
+
+     -catch-handlers -e Constraint_Error
+     ^done,bkptno="4",bkpt={number="4",type="breakpoint",disp="keep",
+     enabled="y",addr="0x0000000000402f68",
+     what="`Constraint_Error' Ada exception handlers",thread-groups=["i1"],
+     times="0",original-location="__gnat_begin_handler"}
+     (gdb)
+
 
 File: gdb.info,  Node: GDB/MI Program Context,  Next: GDB/MI Thread Commands,  Prev: GDB/MI Catchpoint Commands,  Up: GDB/MI
 
@@ -8388,227 +8745,3 @@ guidelines:
    * If you are an experienced user of debugging tools, your suggestions
      for improvement of GDB are welcome in any case.
 
-
-File: gdb.info,  Node: Bug Reporting,  Prev: Bug Criteria,  Up: GDB Bugs
-
-31.2 How to Report Bugs
-=======================
-
-A number of companies and individuals offer support for GNU products.
-If you obtained GDB from a support organization, we recommend you
-contact that organization first.
-
-   You can find contact information for many support companies and
-individuals in the file 'etc/SERVICE' in the GNU Emacs distribution.
-
-   In any event, we also recommend that you submit bug reports for GDB.
-The preferred method is to submit them directly using GDB's Bugs web
-page (http://www.gnu.org/software/gdb/bugs/).  Alternatively, the e-mail
-gateway <bug-gdb@gnu.org> can be used.
-
-   *Do not send bug reports to 'info-gdb', or to 'help-gdb', or to any
-newsgroups.*  Most users of GDB do not want to receive bug reports.
-Those that do have arranged to receive 'bug-gdb'.
-
-   The mailing list 'bug-gdb' has a newsgroup 'gnu.gdb.bug' which serves
-as a repeater.  The mailing list and the newsgroup carry exactly the
-same messages.  Often people think of posting bug reports to the
-newsgroup instead of mailing them.  This appears to work, but it has one
-problem which can be crucial: a newsgroup posting often lacks a mail
-path back to the sender.  Thus, if we need to ask for more information,
-we may be unable to reach you.  For this reason, it is better to send
-bug reports to the mailing list.
-
-   The fundamental principle of reporting bugs usefully is this: *report
-all the facts*.  If you are not sure whether to state a fact or leave it
-out, state it!
-
-   Often people omit facts because they think they know what causes the
-problem and assume that some details do not matter.  Thus, you might
-assume that the name of the variable you use in an example does not
-matter.  Well, probably it does not, but one cannot be sure.  Perhaps
-the bug is a stray memory reference which happens to fetch from the
-location where that name is stored in memory; perhaps, if the name were
-different, the contents of that location would fool the debugger into
-doing the right thing despite the bug.  Play it safe and give a
-specific, complete example.  That is the easiest thing for you to do,
-and the most helpful.
-
-   Keep in mind that the purpose of a bug report is to enable us to fix
-the bug.  It may be that the bug has been reported previously, but
-neither you nor we can know that unless your bug report is complete and
-self-contained.
-
-   Sometimes people give a few sketchy facts and ask, "Does this ring a
-bell?"  Those bug reports are useless, and we urge everyone to _refuse
-to respond to them_ except to chide the sender to report bugs properly.
-
-   To enable us to fix the bug, you should include all these things:
-
-   * The version of GDB.  GDB announces it if you start with no
-     arguments; you can also print it at any time using 'show version'.
-
-     Without this, we will not know whether there is any point in
-     looking for the bug in the current version of GDB.
-
-   * The type of machine you are using, and the operating system name
-     and version number.
-
-   * The details of the GDB build-time configuration.  GDB shows these
-     details if you invoke it with the '--configuration' command-line
-     option, or if you type 'show configuration' at GDB's prompt.
-
-   * What compiler (and its version) was used to compile GDB--e.g.
-     "gcc-2.8.1".
-
-   * What compiler (and its version) was used to compile the program you
-     are debugging--e.g. "gcc-2.8.1", or "HP92453-01 A.10.32.03 HP C
-     Compiler".  For GCC, you can say 'gcc --version' to get this
-     information; for other compilers, see the documentation for those
-     compilers.
-
-   * The command arguments you gave the compiler to compile your example
-     and observe the bug.  For example, did you use '-O'?  To guarantee
-     you will not omit something important, list them all.  A copy of
-     the Makefile (or the output from make) is sufficient.
-
-     If we were to try to guess the arguments, we would probably guess
-     wrong and then we might not encounter the bug.
-
-   * A complete input script, and all necessary source files, that will
-     reproduce the bug.
-
-   * A description of what behavior you observe that you believe is
-     incorrect.  For example, "It gets a fatal signal."
-
-     Of course, if the bug is that GDB gets a fatal signal, then we will
-     certainly notice it.  But if the bug is incorrect output, we might
-     not notice unless it is glaringly wrong.  You might as well not
-     give us a chance to make a mistake.
-
-     Even if the problem you experience is a fatal signal, you should
-     still say so explicitly.  Suppose something strange is going on,
-     such as, your copy of GDB is out of synch, or you have encountered
-     a bug in the C library on your system.  (This has happened!)  Your
-     copy might crash and ours would not.  If you told us to expect a
-     crash, then when ours fails to crash, we would know that the bug
-     was not happening for us.  If you had not told us to expect a
-     crash, then we would not be able to draw any conclusion from our
-     observations.
-
-     To collect all this information, you can use a session recording
-     program such as 'script', which is available on many Unix systems.
-     Just run your GDB session inside 'script' and then include the
-     'typescript' file with your bug report.
-
-     Another way to record a GDB session is to run GDB inside Emacs and
-     then save the entire buffer to a file.
-
-   * If you wish to suggest changes to the GDB source, send us context
-     diffs.  If you even discuss something in the GDB source, refer to
-     it by context, not by line number.
-
-     The line numbers in our development sources will not match those in
-     your sources.  Your line numbers would convey no useful information
-     to us.
-
-   Here are some things that are not necessary:
-
-   * A description of the envelope of the bug.
-
-     Often people who encounter a bug spend a lot of time investigating
-     which changes to the input file will make the bug go away and which
-     changes will not affect it.
-
-     This is often time consuming and not very useful, because the way
-     we will find the bug is by running a single example under the
-     debugger with breakpoints, not by pure deduction from a series of
-     examples.  We recommend that you save your time for something else.
-
-     Of course, if you can find a simpler example to report _instead_ of
-     the original one, that is a convenience for us.  Errors in the
-     output will be easier to spot, running under the debugger will take
-     less time, and so on.
-
-     However, simplification is not vital; if you do not want to do
-     this, report the bug anyway and send us the entire test case you
-     used.
-
-   * A patch for the bug.
-
-     A patch for the bug does help us if it is a good one.  But do not
-     omit the necessary information, such as the test case, on the
-     assumption that a patch is all we need.  We might see problems with
-     your patch and decide to fix the problem another way, or we might
-     not understand it at all.
-
-     Sometimes with a program as complicated as GDB it is very hard to
-     construct an example that will make the program follow a certain
-     path through the code.  If you do not send us the example, we will
-     not be able to construct one, so we will not be able to verify that
-     the bug is fixed.
-
-     And if we cannot understand what bug you are trying to fix, or why
-     your patch should be an improvement, we will not install it.  A
-     test case will help us to understand.
-
-   * A guess about what the bug is or what it depends on.
-
-     Such guesses are usually wrong.  Even we cannot guess right about
-     such things without first using the debugger to find the facts.
-
-
-File: gdb.info,  Node: Command Line Editing,  Next: Using History Interactively,  Prev: GDB Bugs,  Up: Top
-
-32 Command Line Editing
-***********************
-
-This chapter describes the basic features of the GNU command line
-editing interface.
-
-* Menu:
-
-* Introduction and Notation::	Notation used in this text.
-* Readline Interaction::	The minimum set of commands for editing a line.
-* Readline Init File::		Customizing Readline from a user's view.
-* Bindable Readline Commands::	A description of most of the Readline commands
-				available for binding
-* Readline vi Mode::		A short description of how to make Readline
-				behave like the vi editor.
-
-
-File: gdb.info,  Node: Introduction and Notation,  Next: Readline Interaction,  Up: Command Line Editing
-
-32.1 Introduction to Line Editing
-=================================
-
-The following paragraphs describe the notation used to represent
-keystrokes.
-
-   The text 'C-k' is read as 'Control-K' and describes the character
-produced when the <k> key is pressed while the Control key is depressed.
-
-   The text 'M-k' is read as 'Meta-K' and describes the character
-produced when the Meta key (if you have one) is depressed, and the <k>
-key is pressed.  The Meta key is labeled <ALT> on many keyboards.  On
-keyboards with two keys labeled <ALT> (usually to either side of the
-space bar), the <ALT> on the left side is generally set to work as a
-Meta key.  The <ALT> key on the right may also be configured to work as
-a Meta key or may be configured as some other modifier, such as a
-Compose key for typing accented characters.
-
-   If you do not have a Meta or <ALT> key, or another key working as a
-Meta key, the identical keystroke can be generated by typing <ESC>
-_first_, and then typing <k>.  Either process is known as "metafying"
-the <k> key.
-
-   The text 'M-C-k' is read as 'Meta-Control-k' and describes the
-character produced by "metafying" 'C-k'.
-
-   In addition, several keys have their own names.  Specifically, <DEL>,
-<ESC>, <LFD>, <SPC>, <RET>, and <TAB> all stand for themselves when seen
-in this text, or in an init file (*note Readline Init File::).  If your
-keyboard lacks a <LFD> key, typing <C-j> will produce the desired
-character.  The <RET> key may be labeled <Return> or <Enter> on some
-keyboards.
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-6 ./gdb/doc/gdb.info-6
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-6	2018-07-03 02:10:42.000000000 +0000
+++ ./gdb/doc/gdb.info-6	2018-07-10 02:10:30.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.1.0.20180703-git.
+Source-Level Debugger' for GDB (GDB) Version 8.1.90.20180710-git.
 
    Copyright (C) 1988-2018 Free Software Foundation, Inc.
 
@@ -37,6 +37,230 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: Bug Reporting,  Prev: Bug Criteria,  Up: GDB Bugs
+
+31.2 How to Report Bugs
+=======================
+
+A number of companies and individuals offer support for GNU products.
+If you obtained GDB from a support organization, we recommend you
+contact that organization first.
+
+   You can find contact information for many support companies and
+individuals in the file 'etc/SERVICE' in the GNU Emacs distribution.
+
+   In any event, we also recommend that you submit bug reports for GDB.
+The preferred method is to submit them directly using GDB's Bugs web
+page (http://www.gnu.org/software/gdb/bugs/).  Alternatively, the e-mail
+gateway <bug-gdb@gnu.org> can be used.
+
+   *Do not send bug reports to 'info-gdb', or to 'help-gdb', or to any
+newsgroups.*  Most users of GDB do not want to receive bug reports.
+Those that do have arranged to receive 'bug-gdb'.
+
+   The mailing list 'bug-gdb' has a newsgroup 'gnu.gdb.bug' which serves
+as a repeater.  The mailing list and the newsgroup carry exactly the
+same messages.  Often people think of posting bug reports to the
+newsgroup instead of mailing them.  This appears to work, but it has one
+problem which can be crucial: a newsgroup posting often lacks a mail
+path back to the sender.  Thus, if we need to ask for more information,
+we may be unable to reach you.  For this reason, it is better to send
+bug reports to the mailing list.
+
+   The fundamental principle of reporting bugs usefully is this: *report
+all the facts*.  If you are not sure whether to state a fact or leave it
+out, state it!
+
+   Often people omit facts because they think they know what causes the
+problem and assume that some details do not matter.  Thus, you might
+assume that the name of the variable you use in an example does not
+matter.  Well, probably it does not, but one cannot be sure.  Perhaps
+the bug is a stray memory reference which happens to fetch from the
+location where that name is stored in memory; perhaps, if the name were
+different, the contents of that location would fool the debugger into
+doing the right thing despite the bug.  Play it safe and give a
+specific, complete example.  That is the easiest thing for you to do,
+and the most helpful.
+
+   Keep in mind that the purpose of a bug report is to enable us to fix
+the bug.  It may be that the bug has been reported previously, but
+neither you nor we can know that unless your bug report is complete and
+self-contained.
+
+   Sometimes people give a few sketchy facts and ask, "Does this ring a
+bell?"  Those bug reports are useless, and we urge everyone to _refuse
+to respond to them_ except to chide the sender to report bugs properly.
+
+   To enable us to fix the bug, you should include all these things:
+
+   * The version of GDB.  GDB announces it if you start with no
+     arguments; you can also print it at any time using 'show version'.
+
+     Without this, we will not know whether there is any point in
+     looking for the bug in the current version of GDB.
+
+   * The type of machine you are using, and the operating system name
+     and version number.
+
+   * The details of the GDB build-time configuration.  GDB shows these
+     details if you invoke it with the '--configuration' command-line
+     option, or if you type 'show configuration' at GDB's prompt.
+
+   * What compiler (and its version) was used to compile GDB--e.g.
+     "gcc-2.8.1".
+
+   * What compiler (and its version) was used to compile the program you
+     are debugging--e.g. "gcc-2.8.1", or "HP92453-01 A.10.32.03 HP C
+     Compiler".  For GCC, you can say 'gcc --version' to get this
+     information; for other compilers, see the documentation for those
+     compilers.
+
+   * The command arguments you gave the compiler to compile your example
+     and observe the bug.  For example, did you use '-O'?  To guarantee
+     you will not omit something important, list them all.  A copy of
+     the Makefile (or the output from make) is sufficient.
+
+     If we were to try to guess the arguments, we would probably guess
+     wrong and then we might not encounter the bug.
+
+   * A complete input script, and all necessary source files, that will
+     reproduce the bug.
+
+   * A description of what behavior you observe that you believe is
+     incorrect.  For example, "It gets a fatal signal."
+
+     Of course, if the bug is that GDB gets a fatal signal, then we will
+     certainly notice it.  But if the bug is incorrect output, we might
+     not notice unless it is glaringly wrong.  You might as well not
+     give us a chance to make a mistake.
+
+     Even if the problem you experience is a fatal signal, you should
+     still say so explicitly.  Suppose something strange is going on,
+     such as, your copy of GDB is out of synch, or you have encountered
+     a bug in the C library on your system.  (This has happened!)  Your
+     copy might crash and ours would not.  If you told us to expect a
+     crash, then when ours fails to crash, we would know that the bug
+     was not happening for us.  If you had not told us to expect a
+     crash, then we would not be able to draw any conclusion from our
+     observations.
+
+     To collect all this information, you can use a session recording
+     program such as 'script', which is available on many Unix systems.
+     Just run your GDB session inside 'script' and then include the
+     'typescript' file with your bug report.
+
+     Another way to record a GDB session is to run GDB inside Emacs and
+     then save the entire buffer to a file.
+
+   * If you wish to suggest changes to the GDB source, send us context
+     diffs.  If you even discuss something in the GDB source, refer to
+     it by context, not by line number.
+
+     The line numbers in our development sources will not match those in
+     your sources.  Your line numbers would convey no useful information
+     to us.
+
+   Here are some things that are not necessary:
+
+   * A description of the envelope of the bug.
+
+     Often people who encounter a bug spend a lot of time investigating
+     which changes to the input file will make the bug go away and which
+     changes will not affect it.
+
+     This is often time consuming and not very useful, because the way
+     we will find the bug is by running a single example under the
+     debugger with breakpoints, not by pure deduction from a series of
+     examples.  We recommend that you save your time for something else.
+
+     Of course, if you can find a simpler example to report _instead_ of
+     the original one, that is a convenience for us.  Errors in the
+     output will be easier to spot, running under the debugger will take
+     less time, and so on.
+
+     However, simplification is not vital; if you do not want to do
+     this, report the bug anyway and send us the entire test case you
+     used.
+
+   * A patch for the bug.
+
+     A patch for the bug does help us if it is a good one.  But do not
+     omit the necessary information, such as the test case, on the
+     assumption that a patch is all we need.  We might see problems with
+     your patch and decide to fix the problem another way, or we might
+     not understand it at all.
+
+     Sometimes with a program as complicated as GDB it is very hard to
+     construct an example that will make the program follow a certain
+     path through the code.  If you do not send us the example, we will
+     not be able to construct one, so we will not be able to verify that
+     the bug is fixed.
+
+     And if we cannot understand what bug you are trying to fix, or why
+     your patch should be an improvement, we will not install it.  A
+     test case will help us to understand.
+
+   * A guess about what the bug is or what it depends on.
+
+     Such guesses are usually wrong.  Even we cannot guess right about
+     such things without first using the debugger to find the facts.
+
+
+File: gdb.info,  Node: Command Line Editing,  Next: Using History Interactively,  Prev: GDB Bugs,  Up: Top
+
+32 Command Line Editing
+***********************
+
+This chapter describes the basic features of the GNU command line
+editing interface.
+
+* Menu:
+
+* Introduction and Notation::	Notation used in this text.
+* Readline Interaction::	The minimum set of commands for editing a line.
+* Readline Init File::		Customizing Readline from a user's view.
+* Bindable Readline Commands::	A description of most of the Readline commands
+				available for binding
+* Readline vi Mode::		A short description of how to make Readline
+				behave like the vi editor.
+
+
+File: gdb.info,  Node: Introduction and Notation,  Next: Readline Interaction,  Up: Command Line Editing
+
+32.1 Introduction to Line Editing
+=================================
+
+The following paragraphs describe the notation used to represent
+keystrokes.
+
+   The text 'C-k' is read as 'Control-K' and describes the character
+produced when the <k> key is pressed while the Control key is depressed.
+
+   The text 'M-k' is read as 'Meta-K' and describes the character
+produced when the Meta key (if you have one) is depressed, and the <k>
+key is pressed.  The Meta key is labeled <ALT> on many keyboards.  On
+keyboards with two keys labeled <ALT> (usually to either side of the
+space bar), the <ALT> on the left side is generally set to work as a
+Meta key.  The <ALT> key on the right may also be configured to work as
+a Meta key or may be configured as some other modifier, such as a
+Compose key for typing accented characters.
+
+   If you do not have a Meta or <ALT> key, or another key working as a
+Meta key, the identical keystroke can be generated by typing <ESC>
+_first_, and then typing <k>.  Either process is known as "metafying"
+the <k> key.
+
+   The text 'M-C-k' is read as 'Meta-Control-k' and describes the
+character produced by "metafying" 'C-k'.
+
+   In addition, several keys have their own names.  Specifically, <DEL>,
+<ESC>, <LFD>, <SPC>, <RET>, and <TAB> all stand for themselves when seen
+in this text, or in an init file (*note Readline Init File::).  If your
+keyboard lacks a <LFD> key, typing <C-j> will produce the desired
+character.  The <RET> key may be labeled <Return> or <Enter> on some
+keyboards.
+
+
 File: gdb.info,  Node: Readline Interaction,  Next: Readline Init File,  Prev: Introduction and Notation,  Up: Command Line Editing
 
 32.2 Readline Interaction
@@ -1500,7 +1724,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.1.0.20180703-git/gdb/gdb.info', and it refers to subordinate
+'gdb-8.1.90.20180710-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'
@@ -1510,8 +1734,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.1.0.20180703-git', in the case of version
-8.1.0.20180703-git), you can make the Info file by typing:
+directory ('gdb-8.1.90.20180710-git', in the case of version
+8.1.90.20180710-git), you can make the Info file by typing:
 
      cd gdb
      make gdb.info
@@ -1536,8 +1760,8 @@ 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.1.0.20180703-git/gdb') and
-type:
+main source directory (for example, to 'gdb-8.1.90.20180710-git/gdb')
+and type:
 
      make gdb.dvi
 
@@ -1545,8 +1769,8 @@ type:
 
    ---------- Footnotes ----------
 
-   (1) In 'gdb-8.1.0.20180703-git/gdb/refcard.ps' of the version
-8.1.0.20180703-git release.
+   (1) In 'gdb-8.1.90.20180710-git/gdb/refcard.ps' of the version
+8.1.90.20180710-git release.
 
 
 File: gdb.info,  Node: Installing GDB,  Next: Maintenance Commands,  Prev: Formatting Documentation,  Up: Top
@@ -1664,39 +1888,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.1.0.20180703-git distribution is in
-the 'gdb-8.1.0.20180703-git' directory.  That directory contains:
+   For example, the GDB version 8.1.90.20180710-git distribution is in
+the 'gdb-8.1.90.20180710-git' directory.  That directory contains:
 
-'gdb-8.1.0.20180703-git/configure (and supporting files)'
+'gdb-8.1.90.20180710-git/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-'gdb-8.1.0.20180703-git/gdb'
+'gdb-8.1.90.20180710-git/gdb'
      the source specific to GDB itself
 
-'gdb-8.1.0.20180703-git/bfd'
+'gdb-8.1.90.20180710-git/bfd'
      source for the Binary File Descriptor library
 
-'gdb-8.1.0.20180703-git/include'
+'gdb-8.1.90.20180710-git/include'
      GNU include files
 
-'gdb-8.1.0.20180703-git/libiberty'
+'gdb-8.1.90.20180710-git/libiberty'
      source for the '-liberty' free software library
 
-'gdb-8.1.0.20180703-git/opcodes'
+'gdb-8.1.90.20180710-git/opcodes'
      source for the library of opcode tables and disassemblers
 
-'gdb-8.1.0.20180703-git/readline'
+'gdb-8.1.90.20180710-git/readline'
      source for the GNU command-line interface
 
-'gdb-8.1.0.20180703-git/glob'
+'gdb-8.1.90.20180710-git/glob'
      source for the GNU filename pattern-matching subroutine
 
-'gdb-8.1.0.20180703-git/mmalloc'
+'gdb-8.1.90.20180710-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.1.0.20180703-git' directory.
+the 'gdb-8.1.90.20180710-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
@@ -1704,7 +1928,7 @@ platform on which GDB will run as an arg
 
    For example:
 
-     cd gdb-8.1.0.20180703-git
+     cd gdb-8.1.90.20180710-git
      ./configure HOST
      make
 
@@ -1726,8 +1950,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.1.0.20180703-git' source directory for version
-8.1.0.20180703-git, 'configure' creates configuration files for every
+'gdb-8.1.90.20180710-git' source directory for version
+8.1.90.20180710-git, 'configure' creates configuration files for every
 directory level underneath (unless you tell it not to, with the
 '--norecursion' option).
 
@@ -1767,13 +1991,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.1.0.20180703-git, you can build GDB in a
+   For example, with version 8.1.90.20180710-git, you can build GDB in a
 separate directory for a Sun 4 like this:
 
-     cd gdb-8.1.0.20180703-git
+     cd gdb-8.1.90.20180710-git
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-8.1.0.20180703-git/configure sun4
+     ../gdb-8.1.90.20180710-git/configure sun4
      make
 
    When 'configure' builds a configuration using a remote source
@@ -1784,7 +2008,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.1.0.20180703-git/gdb/configure', you are configuring only one
+'../gdb-8.1.90.20180710-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'.
 
@@ -1800,8 +2024,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.1.0.20180703-git' (or in a separate configured directory
-configured with '--srcdir=DIRNAME/gdb-8.1.0.20180703-git'), you will
+'gdb-8.1.90.20180710-git' (or in a separate configured directory
+configured with '--srcdir=DIRNAME/gdb-8.1.90.20180710-git'), you will
 build all the required libraries, and then build GDB.
 
    When you have multiple hosts or targets configured in separate
@@ -1846,7 +2070,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.1.0.20180703-git', for version 8.1.0.20180703-git).
+('gdb-8.1.90.20180710-git', for version 8.1.90.20180710-git).
 
 
 File: gdb.info,  Node: Configure Options,  Next: System-wide configuration,  Prev: Config Names,  Up: Installing GDB
@@ -2229,6 +2453,14 @@ commands that turn on debugging messages
      Check that the target descriptions dynamically created by GDB equal
      the descriptions created from XML files found in DIR.
 
+'maint check libthread-db'
+     Run integrity checks on the current inferior's thread debugging
+     library.  This exercises all 'libthread_db' functionality used by
+     GDB on GNU/Linux systems, and by extension also exercises the
+     'proc_service' functions provided by GDB that 'libthread_db' uses.
+     Note that parts of the test may be skipped on some platforms when
+     debugging core files.
+
 'maint print dummy-frames'
      Prints the contents of GDB's internal dummy-frame stack.
 
@@ -2478,6 +2710,15 @@ commands that turn on debugging messages
             b. number of primary symbol tables
             c. number of blocks in the blockvector
 
+'maint set check-libthread-db [on|off]'
+'maint show check-libthread-db'
+     Control whether GDB should run integrity checks on inferior
+     specific thread debugging libraries as they are loaded.  The
+     default is not to perform such checks.  If any check fails GDB will
+     unload the library and continue searching for a suitable candidate
+     as described in *note set libthread-db-search-path::.  For more
+     information about the tests, see *note maint check libthread-db::.
+
 'maint space VALUE'
      An alias for 'maint set per-command space'.  A non-zero value
      enables it, zero disables it.
@@ -7437,434 +7678,3 @@ use by the debugging agent in real-time 
 * Varying Target Capabilities:: How to discover what the target can do.
 * Rationale::                   Why we did it this way.
 
-
-File: gdb.info,  Node: General Bytecode Design,  Next: Bytecode Descriptions,  Up: Agent Expressions
-
-F.1 General Bytecode Design
-===========================
-
-The agent represents bytecode expressions as an array of bytes.  Each
-instruction is one byte long (thus the term "bytecode").  Some
-instructions are followed by operand bytes; for example, the 'goto'
-instruction is followed by a destination for the jump.
-
-   The bytecode interpreter is a stack-based machine; most instructions
-pop their operands off the stack, perform some operation, and push the
-result back on the stack for the next instruction to consume.  Each
-element of the stack may contain either a integer or a floating point
-value; these values are as many bits wide as the largest integer that
-can be directly manipulated in the source language.  Stack elements
-carry no record of their type; bytecode could push a value as an
-integer, then pop it as a floating point value.  However, GDB will not
-generate code which does this.  In C, one might define the type of a
-stack element as follows:
-     union agent_val {
-       LONGEST l;
-       DOUBLEST d;
-     };
-where 'LONGEST' and 'DOUBLEST' are 'typedef' names for the largest
-integer and floating point types on the machine.
-
-   By the time the bytecode interpreter reaches the end of the
-expression, the value of the expression should be the only value left on
-the stack.  For tracing applications, 'trace' bytecodes in the
-expression will have recorded the necessary data, and the value on the
-stack may be discarded.  For other applications, like conditional
-breakpoints, the value may be useful.
-
-   Separate from the stack, the interpreter has two registers:
-'pc'
-     The address of the next bytecode to execute.
-
-'start'
-     The address of the start of the bytecode expression, necessary for
-     interpreting the 'goto' and 'if_goto' instructions.
-
-Neither of these registers is directly visible to the bytecode language
-itself, but they are useful for defining the meanings of the bytecode
-operations.
-
-   There are no instructions to perform side effects on the running
-program, or call the program's functions; we assume that these
-expressions are only used for unobtrusive debugging, not for patching
-the running code.
-
-   Most bytecode instructions do not distinguish between the various
-sizes of values, and operate on full-width values; the upper bits of the
-values are simply ignored, since they do not usually make a difference
-to the value computed.  The exceptions to this rule are:
-
-memory reference instructions ('ref'N)
-     There are distinct instructions to fetch different word sizes from
-     memory.  Once on the stack, however, the values are treated as
-     full-size integers.  They may need to be sign-extended; the 'ext'
-     instruction exists for this purpose.
-
-the sign-extension instruction ('ext' N)
-     These clearly need to know which portion of their operand is to be
-     extended to occupy the full length of the word.
-
-   If the interpreter is unable to evaluate an expression completely for
-some reason (a memory location is inaccessible, or a divisor is zero,
-for example), we say that interpretation "terminates with an error".
-This means that the problem is reported back to the interpreter's caller
-in some helpful way.  In general, code using agent expressions should
-assume that they may attempt to divide by zero, fetch arbitrary memory
-locations, and misbehave in other ways.
-
-   Even complicated C expressions compile to a few bytecode
-instructions; for example, the expression 'x + y * z' would typically
-produce code like the following, assuming that 'x' and 'y' live in
-registers, and 'z' is a global variable holding a 32-bit 'int':
-     reg 1
-     reg 2
-     const32 address of z
-     ref32
-     ext 32
-     mul
-     add
-     end
-
-   In detail, these mean:
-
-'reg 1'
-     Push the value of register 1 (presumably holding 'x') onto the
-     stack.
-
-'reg 2'
-     Push the value of register 2 (holding 'y').
-
-'const32 address of z'
-     Push the address of 'z' onto the stack.
-
-'ref32'
-     Fetch a 32-bit word from the address at the top of the stack;
-     replace the address on the stack with the value.  Thus, we replace
-     the address of 'z' with 'z''s value.
-
-'ext 32'
-     Sign-extend the value on the top of the stack from 32 bits to full
-     length.  This is necessary because 'z' is a signed integer.
-
-'mul'
-     Pop the top two numbers on the stack, multiply them, and push their
-     product.  Now the top of the stack contains the value of the
-     expression 'y * z'.
-
-'add'
-     Pop the top two numbers, add them, and push the sum.  Now the top
-     of the stack contains the value of 'x + y * z'.
-
-'end'
-     Stop executing; the value left on the stack top is the value to be
-     recorded.
-
-
-File: gdb.info,  Node: Bytecode Descriptions,  Next: Using Agent Expressions,  Prev: General Bytecode Design,  Up: Agent Expressions
-
-F.2 Bytecode Descriptions
-=========================
-
-Each bytecode description has the following form:
-
-'add' (0x02): A B => A+B
-
-     Pop the top two stack items, A and B, as integers; push their sum,
-     as an integer.
-
-   In this example, 'add' is the name of the bytecode, and '(0x02)' is
-the one-byte value used to encode the bytecode, in hexadecimal.  The
-phrase "A B => A+B" shows the stack before and after the bytecode
-executes.  Beforehand, the stack must contain at least two values, A and
-B; since the top of the stack is to the right, B is on the top of the
-stack, and A is underneath it.  After execution, the bytecode will have
-popped A and B from the stack, and replaced them with a single value,
-A+B.  There may be other values on the stack below those shown, but the
-bytecode affects only those shown.
-
-   Here is another example:
-
-'const8' (0x22) N: => N
-     Push the 8-bit integer constant N on the stack, without sign
-     extension.
-
-   In this example, the bytecode 'const8' takes an operand N directly
-from the bytecode stream; the operand follows the 'const8' bytecode
-itself.  We write any such operands immediately after the name of the
-bytecode, before the colon, and describe the exact encoding of the
-operand in the bytecode stream in the body of the bytecode description.
-
-   For the 'const8' bytecode, there are no stack items given before the
-=>; this simply means that the bytecode consumes no values from the
-stack.  If a bytecode consumes no values, or produces no values, the
-list on either side of the => may be empty.
-
-   If a value is written as A, B, or N, then the bytecode treats it as
-an integer.  If a value is written is ADDR, then the bytecode treats it
-as an address.
-
-   We do not fully describe the floating point operations here; although
-this design can be extended in a clean way to handle floating point
-values, they are not of immediate interest to the customer, so we avoid
-describing them, to save time.
-
-'float' (0x01): =>
-
-     Prefix for floating-point bytecodes.  Not implemented yet.
-
-'add' (0x02): A B => A+B
-     Pop two integers from the stack, and push their sum, as an integer.
-
-'sub' (0x03): A B => A-B
-     Pop two integers from the stack, subtract the top value from the
-     next-to-top value, and push the difference.
-
-'mul' (0x04): A B => A*B
-     Pop two integers from the stack, multiply them, and push the
-     product on the stack.  Note that, when one multiplies two N-bit
-     numbers yielding another N-bit number, it is irrelevant whether the
-     numbers are signed or not; the results are the same.
-
-'div_signed' (0x05): A B => A/B
-     Pop two signed integers from the stack; divide the next-to-top
-     value by the top value, and push the quotient.  If the divisor is
-     zero, terminate with an error.
-
-'div_unsigned' (0x06): A B => A/B
-     Pop two unsigned integers from the stack; divide the next-to-top
-     value by the top value, and push the quotient.  If the divisor is
-     zero, terminate with an error.
-
-'rem_signed' (0x07): A B => A MODULO B
-     Pop two signed integers from the stack; divide the next-to-top
-     value by the top value, and push the remainder.  If the divisor is
-     zero, terminate with an error.
-
-'rem_unsigned' (0x08): A B => A MODULO B
-     Pop two unsigned integers from the stack; divide the next-to-top
-     value by the top value, and push the remainder.  If the divisor is
-     zero, terminate with an error.
-
-'lsh' (0x09): A B => A<<B
-     Pop two integers from the stack; let A be the next-to-top value,
-     and B be the top value.  Shift A left by B bits, and push the
-     result.
-
-'rsh_signed' (0x0a): A B => '(signed)'A>>B
-     Pop two integers from the stack; let A be the next-to-top value,
-     and B be the top value.  Shift A right by B bits, inserting copies
-     of the top bit at the high end, and push the result.
-
-'rsh_unsigned' (0x0b): A B => A>>B
-     Pop two integers from the stack; let A be the next-to-top value,
-     and B be the top value.  Shift A right by B bits, inserting zero
-     bits at the high end, and push the result.
-
-'log_not' (0x0e): A => !A
-     Pop an integer from the stack; if it is zero, push the value one;
-     otherwise, push the value zero.
-
-'bit_and' (0x0f): A B => A&B
-     Pop two integers from the stack, and push their bitwise 'and'.
-
-'bit_or' (0x10): A B => A|B
-     Pop two integers from the stack, and push their bitwise 'or'.
-
-'bit_xor' (0x11): A B => A^B
-     Pop two integers from the stack, and push their bitwise
-     exclusive-'or'.
-
-'bit_not' (0x12): A => ~A
-     Pop an integer from the stack, and push its bitwise complement.
-
-'equal' (0x13): A B => A=B
-     Pop two integers from the stack; if they are equal, push the value
-     one; otherwise, push the value zero.
-
-'less_signed' (0x14): A B => A<B
-     Pop two signed integers from the stack; if the next-to-top value is
-     less than the top value, push the value one; otherwise, push the
-     value zero.
-
-'less_unsigned' (0x15): A B => A<B
-     Pop two unsigned integers from the stack; if the next-to-top value
-     is less than the top value, push the value one; otherwise, push the
-     value zero.
-
-'ext' (0x16) N: A => A, sign-extended from N bits
-     Pop an unsigned value from the stack; treating it as an N-bit
-     twos-complement value, extend it to full length.  This means that
-     all bits to the left of bit N-1 (where the least significant bit is
-     bit 0) are set to the value of bit N-1.  Note that N may be larger
-     than or equal to the width of the stack elements of the bytecode
-     engine; in this case, the bytecode should have no effect.
-
-     The number of source bits to preserve, N, is encoded as a single
-     byte unsigned integer following the 'ext' bytecode.
-
-'zero_ext' (0x2a) N: A => A, zero-extended from N bits
-     Pop an unsigned value from the stack; zero all but the bottom N
-     bits.
-
-     The number of source bits to preserve, N, is encoded as a single
-     byte unsigned integer following the 'zero_ext' bytecode.
-
-'ref8' (0x17): ADDR => A
-'ref16' (0x18): ADDR => A
-'ref32' (0x19): ADDR => A
-'ref64' (0x1a): ADDR => A
-     Pop an address ADDR from the stack.  For bytecode 'ref'N, fetch an
-     N-bit value from ADDR, using the natural target endianness.  Push
-     the fetched value as an unsigned integer.
-
-     Note that ADDR may not be aligned in any particular way; the 'refN'
-     bytecodes should operate correctly for any address.
-
-     If attempting to access memory at ADDR would cause a processor
-     exception of some sort, terminate with an error.
-
-'ref_float' (0x1b): ADDR => D
-'ref_double' (0x1c): ADDR => D
-'ref_long_double' (0x1d): ADDR => D
-'l_to_d' (0x1e): A => D
-'d_to_l' (0x1f): D => A
-     Not implemented yet.
-
-'dup' (0x28): A => A A
-     Push another copy of the stack's top element.
-
-'swap' (0x2b): A B => B A
-     Exchange the top two items on the stack.
-
-'pop' (0x29): A =>
-     Discard the top value on the stack.
-
-'pick' (0x32) N: A ... B => A ... B A
-     Duplicate an item from the stack and push it on the top of the
-     stack.  N, a single byte, indicates the stack item to copy.  If N
-     is zero, this is the same as 'dup'; if N is one, it copies the item
-     under the top item, etc.  If N exceeds the number of items on the
-     stack, terminate with an error.
-
-'rot' (0x33): A B C => C A B
-     Rotate the top three items on the stack.  The top item (c) becomes
-     the third item, the next-to-top item (b) becomes the top item and
-     the third item (a) from the top becomes the next-to-top item.
-
-'if_goto' (0x20) OFFSET: A =>
-     Pop an integer off the stack; if it is non-zero, branch to the
-     given offset in the bytecode string.  Otherwise, continue to the
-     next instruction in the bytecode stream.  In other words, if A is
-     non-zero, set the 'pc' register to 'start' + OFFSET.  Thus, an
-     offset of zero denotes the beginning of the expression.
-
-     The OFFSET is stored as a sixteen-bit unsigned value, stored
-     immediately following the 'if_goto' bytecode.  It is always stored
-     most significant byte first, regardless of the target's normal
-     endianness.  The offset is not guaranteed to fall at any particular
-     alignment within the bytecode stream; thus, on machines where
-     fetching a 16-bit on an unaligned address raises an exception, you
-     should fetch the offset one byte at a time.
-
-'goto' (0x21) OFFSET: =>
-     Branch unconditionally to OFFSET; in other words, set the 'pc'
-     register to 'start' + OFFSET.
-
-     The offset is stored in the same way as for the 'if_goto' bytecode.
-
-'const8' (0x22) N: => N
-'const16' (0x23) N: => N
-'const32' (0x24) N: => N
-'const64' (0x25) N: => N
-     Push the integer constant N on the stack, without sign extension.
-     To produce a small negative value, push a small twos-complement
-     value, and then sign-extend it using the 'ext' bytecode.
-
-     The constant N is stored in the appropriate number of bytes
-     following the 'const'B bytecode.  The constant N is always stored
-     most significant byte first, regardless of the target's normal
-     endianness.  The constant is not guaranteed to fall at any
-     particular alignment within the bytecode stream; thus, on machines
-     where fetching a 16-bit on an unaligned address raises an
-     exception, you should fetch N one byte at a time.
-
-'reg' (0x26) N: => A
-     Push the value of register number N, without sign extension.  The
-     registers are numbered following GDB's conventions.
-
-     The register number N is encoded as a 16-bit unsigned integer
-     immediately following the 'reg' bytecode.  It is always stored most
-     significant byte first, regardless of the target's normal
-     endianness.  The register number is not guaranteed to fall at any
-     particular alignment within the bytecode stream; thus, on machines
-     where fetching a 16-bit on an unaligned address raises an
-     exception, you should fetch the register number one byte at a time.
-
-'getv' (0x2c) N: => V
-     Push the value of trace state variable number N, without sign
-     extension.
-
-     The variable number N is encoded as a 16-bit unsigned integer
-     immediately following the 'getv' bytecode.  It is always stored
-     most significant byte first, regardless of the target's normal
-     endianness.  The variable number is not guaranteed to fall at any
-     particular alignment within the bytecode stream; thus, on machines
-     where fetching a 16-bit on an unaligned address raises an
-     exception, you should fetch the register number one byte at a time.
-
-'setv' (0x2d) N: V => V
-     Set trace state variable number N to the value found on the top of
-     the stack.  The stack is unchanged, so that the value is readily
-     available if the assignment is part of a larger expression.  The
-     handling of N is as described for 'getv'.
-
-'trace' (0x0c): ADDR SIZE =>
-     Record the contents of the SIZE bytes at ADDR in a trace buffer,
-     for later retrieval by GDB.
-
-'trace_quick' (0x0d) SIZE: ADDR => ADDR
-     Record the contents of the SIZE bytes at ADDR in a trace buffer,
-     for later retrieval by GDB. SIZE is a single byte unsigned integer
-     following the 'trace' opcode.
-
-     This bytecode is equivalent to the sequence 'dup const8 SIZE
-     trace', but we provide it anyway to save space in bytecode strings.
-
-'trace16' (0x30) SIZE: ADDR => ADDR
-     Identical to trace_quick, except that SIZE is a 16-bit big-endian
-     unsigned integer, not a single byte.  This should probably have
-     been named 'trace_quick16', for consistency.
-
-'tracev' (0x2e) N: => A
-     Record the value of trace state variable number N in the trace
-     buffer.  The handling of N is as described for 'getv'.
-
-'tracenz' (0x2f) ADDR SIZE =>
-     Record the bytes at ADDR in a trace buffer, for later retrieval by
-     GDB. Stop at either the first zero byte, or when SIZE bytes have
-     been recorded, whichever occurs first.
-
-'printf' (0x34) NUMARGS STRING =>
-     Do a formatted print, in the style of the C function 'printf').
-     The value of NUMARGS is the number of arguments to expect on the
-     stack, while STRING is the format string, prefixed with a two-byte
-     length.  The last byte of the string must be zero, and is included
-     in the length.  The format string includes escaped sequences just
-     as it appears in C source, so for instance the format string
-     '"\t%d\n"' is six characters long, and the output will consist of a
-     tab character, a decimal number, and a newline.  At the top of the
-     stack, above the values to be printed, this bytecode will pop a
-     "function" and "channel".  If the function is nonzero, then the
-     target may treat it as a function and call it, passing the channel
-     as a first argument, as with the C function 'fprintf'.  If the
-     function is zero, then the target may simply call a standard
-     formatted print function of its choice.  In all, this bytecode pops
-     2 + NUMARGS stack elements, and pushes nothing.
-
-'end' (0x27): =>
-     Stop executing bytecode; the result should be the top element of
-     the stack.  If the purpose of the expression was to compute an
-     lvalue or a range of memory, then the next-to-top of the stack is
-     the lvalue's address, and the top of the stack is the lvalue's
-     size, in bytes.
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-7 ./gdb/doc/gdb.info-7
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.info-7	2018-07-03 02:10:44.000000000 +0000
+++ ./gdb/doc/gdb.info-7	2018-07-10 02:10:32.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.1.0.20180703-git.
+Source-Level Debugger' for GDB (GDB) Version 8.1.90.20180710-git.
 
    Copyright (C) 1988-2018 Free Software Foundation, Inc.
 
@@ -37,6 +37,437 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: General Bytecode Design,  Next: Bytecode Descriptions,  Up: Agent Expressions
+
+F.1 General Bytecode Design
+===========================
+
+The agent represents bytecode expressions as an array of bytes.  Each
+instruction is one byte long (thus the term "bytecode").  Some
+instructions are followed by operand bytes; for example, the 'goto'
+instruction is followed by a destination for the jump.
+
+   The bytecode interpreter is a stack-based machine; most instructions
+pop their operands off the stack, perform some operation, and push the
+result back on the stack for the next instruction to consume.  Each
+element of the stack may contain either a integer or a floating point
+value; these values are as many bits wide as the largest integer that
+can be directly manipulated in the source language.  Stack elements
+carry no record of their type; bytecode could push a value as an
+integer, then pop it as a floating point value.  However, GDB will not
+generate code which does this.  In C, one might define the type of a
+stack element as follows:
+     union agent_val {
+       LONGEST l;
+       DOUBLEST d;
+     };
+where 'LONGEST' and 'DOUBLEST' are 'typedef' names for the largest
+integer and floating point types on the machine.
+
+   By the time the bytecode interpreter reaches the end of the
+expression, the value of the expression should be the only value left on
+the stack.  For tracing applications, 'trace' bytecodes in the
+expression will have recorded the necessary data, and the value on the
+stack may be discarded.  For other applications, like conditional
+breakpoints, the value may be useful.
+
+   Separate from the stack, the interpreter has two registers:
+'pc'
+     The address of the next bytecode to execute.
+
+'start'
+     The address of the start of the bytecode expression, necessary for
+     interpreting the 'goto' and 'if_goto' instructions.
+
+Neither of these registers is directly visible to the bytecode language
+itself, but they are useful for defining the meanings of the bytecode
+operations.
+
+   There are no instructions to perform side effects on the running
+program, or call the program's functions; we assume that these
+expressions are only used for unobtrusive debugging, not for patching
+the running code.
+
+   Most bytecode instructions do not distinguish between the various
+sizes of values, and operate on full-width values; the upper bits of the
+values are simply ignored, since they do not usually make a difference
+to the value computed.  The exceptions to this rule are:
+
+memory reference instructions ('ref'N)
+     There are distinct instructions to fetch different word sizes from
+     memory.  Once on the stack, however, the values are treated as
+     full-size integers.  They may need to be sign-extended; the 'ext'
+     instruction exists for this purpose.
+
+the sign-extension instruction ('ext' N)
+     These clearly need to know which portion of their operand is to be
+     extended to occupy the full length of the word.
+
+   If the interpreter is unable to evaluate an expression completely for
+some reason (a memory location is inaccessible, or a divisor is zero,
+for example), we say that interpretation "terminates with an error".
+This means that the problem is reported back to the interpreter's caller
+in some helpful way.  In general, code using agent expressions should
+assume that they may attempt to divide by zero, fetch arbitrary memory
+locations, and misbehave in other ways.
+
+   Even complicated C expressions compile to a few bytecode
+instructions; for example, the expression 'x + y * z' would typically
+produce code like the following, assuming that 'x' and 'y' live in
+registers, and 'z' is a global variable holding a 32-bit 'int':
+     reg 1
+     reg 2
+     const32 address of z
+     ref32
+     ext 32
+     mul
+     add
+     end
+
+   In detail, these mean:
+
+'reg 1'
+     Push the value of register 1 (presumably holding 'x') onto the
+     stack.
+
+'reg 2'
+     Push the value of register 2 (holding 'y').
+
+'const32 address of z'
+     Push the address of 'z' onto the stack.
+
+'ref32'
+     Fetch a 32-bit word from the address at the top of the stack;
+     replace the address on the stack with the value.  Thus, we replace
+     the address of 'z' with 'z''s value.
+
+'ext 32'
+     Sign-extend the value on the top of the stack from 32 bits to full
+     length.  This is necessary because 'z' is a signed integer.
+
+'mul'
+     Pop the top two numbers on the stack, multiply them, and push their
+     product.  Now the top of the stack contains the value of the
+     expression 'y * z'.
+
+'add'
+     Pop the top two numbers, add them, and push the sum.  Now the top
+     of the stack contains the value of 'x + y * z'.
+
+'end'
+     Stop executing; the value left on the stack top is the value to be
+     recorded.
+
+
+File: gdb.info,  Node: Bytecode Descriptions,  Next: Using Agent Expressions,  Prev: General Bytecode Design,  Up: Agent Expressions
+
+F.2 Bytecode Descriptions
+=========================
+
+Each bytecode description has the following form:
+
+'add' (0x02): A B => A+B
+
+     Pop the top two stack items, A and B, as integers; push their sum,
+     as an integer.
+
+   In this example, 'add' is the name of the bytecode, and '(0x02)' is
+the one-byte value used to encode the bytecode, in hexadecimal.  The
+phrase "A B => A+B" shows the stack before and after the bytecode
+executes.  Beforehand, the stack must contain at least two values, A and
+B; since the top of the stack is to the right, B is on the top of the
+stack, and A is underneath it.  After execution, the bytecode will have
+popped A and B from the stack, and replaced them with a single value,
+A+B.  There may be other values on the stack below those shown, but the
+bytecode affects only those shown.
+
+   Here is another example:
+
+'const8' (0x22) N: => N
+     Push the 8-bit integer constant N on the stack, without sign
+     extension.
+
+   In this example, the bytecode 'const8' takes an operand N directly
+from the bytecode stream; the operand follows the 'const8' bytecode
+itself.  We write any such operands immediately after the name of the
+bytecode, before the colon, and describe the exact encoding of the
+operand in the bytecode stream in the body of the bytecode description.
+
+   For the 'const8' bytecode, there are no stack items given before the
+=>; this simply means that the bytecode consumes no values from the
+stack.  If a bytecode consumes no values, or produces no values, the
+list on either side of the => may be empty.
+
+   If a value is written as A, B, or N, then the bytecode treats it as
+an integer.  If a value is written is ADDR, then the bytecode treats it
+as an address.
+
+   We do not fully describe the floating point operations here; although
+this design can be extended in a clean way to handle floating point
+values, they are not of immediate interest to the customer, so we avoid
+describing them, to save time.
+
+'float' (0x01): =>
+
+     Prefix for floating-point bytecodes.  Not implemented yet.
+
+'add' (0x02): A B => A+B
+     Pop two integers from the stack, and push their sum, as an integer.
+
+'sub' (0x03): A B => A-B
+     Pop two integers from the stack, subtract the top value from the
+     next-to-top value, and push the difference.
+
+'mul' (0x04): A B => A*B
+     Pop two integers from the stack, multiply them, and push the
+     product on the stack.  Note that, when one multiplies two N-bit
+     numbers yielding another N-bit number, it is irrelevant whether the
+     numbers are signed or not; the results are the same.
+
+'div_signed' (0x05): A B => A/B
+     Pop two signed integers from the stack; divide the next-to-top
+     value by the top value, and push the quotient.  If the divisor is
+     zero, terminate with an error.
+
+'div_unsigned' (0x06): A B => A/B
+     Pop two unsigned integers from the stack; divide the next-to-top
+     value by the top value, and push the quotient.  If the divisor is
+     zero, terminate with an error.
+
+'rem_signed' (0x07): A B => A MODULO B
+     Pop two signed integers from the stack; divide the next-to-top
+     value by the top value, and push the remainder.  If the divisor is
+     zero, terminate with an error.
+
+'rem_unsigned' (0x08): A B => A MODULO B
+     Pop two unsigned integers from the stack; divide the next-to-top
+     value by the top value, and push the remainder.  If the divisor is
+     zero, terminate with an error.
+
+'lsh' (0x09): A B => A<<B
+     Pop two integers from the stack; let A be the next-to-top value,
+     and B be the top value.  Shift A left by B bits, and push the
+     result.
+
+'rsh_signed' (0x0a): A B => '(signed)'A>>B
+     Pop two integers from the stack; let A be the next-to-top value,
+     and B be the top value.  Shift A right by B bits, inserting copies
+     of the top bit at the high end, and push the result.
+
+'rsh_unsigned' (0x0b): A B => A>>B
+     Pop two integers from the stack; let A be the next-to-top value,
+     and B be the top value.  Shift A right by B bits, inserting zero
+     bits at the high end, and push the result.
+
+'log_not' (0x0e): A => !A
+     Pop an integer from the stack; if it is zero, push the value one;
+     otherwise, push the value zero.
+
+'bit_and' (0x0f): A B => A&B
+     Pop two integers from the stack, and push their bitwise 'and'.
+
+'bit_or' (0x10): A B => A|B
+     Pop two integers from the stack, and push their bitwise 'or'.
+
+'bit_xor' (0x11): A B => A^B
+     Pop two integers from the stack, and push their bitwise
+     exclusive-'or'.
+
+'bit_not' (0x12): A => ~A
+     Pop an integer from the stack, and push its bitwise complement.
+
+'equal' (0x13): A B => A=B
+     Pop two integers from the stack; if they are equal, push the value
+     one; otherwise, push the value zero.
+
+'less_signed' (0x14): A B => A<B
+     Pop two signed integers from the stack; if the next-to-top value is
+     less than the top value, push the value one; otherwise, push the
+     value zero.
+
+'less_unsigned' (0x15): A B => A<B
+     Pop two unsigned integers from the stack; if the next-to-top value
+     is less than the top value, push the value one; otherwise, push the
+     value zero.
+
+'ext' (0x16) N: A => A, sign-extended from N bits
+     Pop an unsigned value from the stack; treating it as an N-bit
+     twos-complement value, extend it to full length.  This means that
+     all bits to the left of bit N-1 (where the least significant bit is
+     bit 0) are set to the value of bit N-1.  Note that N may be larger
+     than or equal to the width of the stack elements of the bytecode
+     engine; in this case, the bytecode should have no effect.
+
+     The number of source bits to preserve, N, is encoded as a single
+     byte unsigned integer following the 'ext' bytecode.
+
+'zero_ext' (0x2a) N: A => A, zero-extended from N bits
+     Pop an unsigned value from the stack; zero all but the bottom N
+     bits.
+
+     The number of source bits to preserve, N, is encoded as a single
+     byte unsigned integer following the 'zero_ext' bytecode.
+
+'ref8' (0x17): ADDR => A
+'ref16' (0x18): ADDR => A
+'ref32' (0x19): ADDR => A
+'ref64' (0x1a): ADDR => A
+     Pop an address ADDR from the stack.  For bytecode 'ref'N, fetch an
+     N-bit value from ADDR, using the natural target endianness.  Push
+     the fetched value as an unsigned integer.
+
+     Note that ADDR may not be aligned in any particular way; the 'refN'
+     bytecodes should operate correctly for any address.
+
+     If attempting to access memory at ADDR would cause a processor
+     exception of some sort, terminate with an error.
+
+'ref_float' (0x1b): ADDR => D
+'ref_double' (0x1c): ADDR => D
+'ref_long_double' (0x1d): ADDR => D
+'l_to_d' (0x1e): A => D
+'d_to_l' (0x1f): D => A
+     Not implemented yet.
+
+'dup' (0x28): A => A A
+     Push another copy of the stack's top element.
+
+'swap' (0x2b): A B => B A
+     Exchange the top two items on the stack.
+
+'pop' (0x29): A =>
+     Discard the top value on the stack.
+
+'pick' (0x32) N: A ... B => A ... B A
+     Duplicate an item from the stack and push it on the top of the
+     stack.  N, a single byte, indicates the stack item to copy.  If N
+     is zero, this is the same as 'dup'; if N is one, it copies the item
+     under the top item, etc.  If N exceeds the number of items on the
+     stack, terminate with an error.
+
+'rot' (0x33): A B C => C A B
+     Rotate the top three items on the stack.  The top item (c) becomes
+     the third item, the next-to-top item (b) becomes the top item and
+     the third item (a) from the top becomes the next-to-top item.
+
+'if_goto' (0x20) OFFSET: A =>
+     Pop an integer off the stack; if it is non-zero, branch to the
+     given offset in the bytecode string.  Otherwise, continue to the
+     next instruction in the bytecode stream.  In other words, if A is
+     non-zero, set the 'pc' register to 'start' + OFFSET.  Thus, an
+     offset of zero denotes the beginning of the expression.
+
+     The OFFSET is stored as a sixteen-bit unsigned value, stored
+     immediately following the 'if_goto' bytecode.  It is always stored
+     most significant byte first, regardless of the target's normal
+     endianness.  The offset is not guaranteed to fall at any particular
+     alignment within the bytecode stream; thus, on machines where
+     fetching a 16-bit on an unaligned address raises an exception, you
+     should fetch the offset one byte at a time.
+
+'goto' (0x21) OFFSET: =>
+     Branch unconditionally to OFFSET; in other words, set the 'pc'
+     register to 'start' + OFFSET.
+
+     The offset is stored in the same way as for the 'if_goto' bytecode.
+
+'const8' (0x22) N: => N
+'const16' (0x23) N: => N
+'const32' (0x24) N: => N
+'const64' (0x25) N: => N
+     Push the integer constant N on the stack, without sign extension.
+     To produce a small negative value, push a small twos-complement
+     value, and then sign-extend it using the 'ext' bytecode.
+
+     The constant N is stored in the appropriate number of bytes
+     following the 'const'B bytecode.  The constant N is always stored
+     most significant byte first, regardless of the target's normal
+     endianness.  The constant is not guaranteed to fall at any
+     particular alignment within the bytecode stream; thus, on machines
+     where fetching a 16-bit on an unaligned address raises an
+     exception, you should fetch N one byte at a time.
+
+'reg' (0x26) N: => A
+     Push the value of register number N, without sign extension.  The
+     registers are numbered following GDB's conventions.
+
+     The register number N is encoded as a 16-bit unsigned integer
+     immediately following the 'reg' bytecode.  It is always stored most
+     significant byte first, regardless of the target's normal
+     endianness.  The register number is not guaranteed to fall at any
+     particular alignment within the bytecode stream; thus, on machines
+     where fetching a 16-bit on an unaligned address raises an
+     exception, you should fetch the register number one byte at a time.
+
+'getv' (0x2c) N: => V
+     Push the value of trace state variable number N, without sign
+     extension.
+
+     The variable number N is encoded as a 16-bit unsigned integer
+     immediately following the 'getv' bytecode.  It is always stored
+     most significant byte first, regardless of the target's normal
+     endianness.  The variable number is not guaranteed to fall at any
+     particular alignment within the bytecode stream; thus, on machines
+     where fetching a 16-bit on an unaligned address raises an
+     exception, you should fetch the register number one byte at a time.
+
+'setv' (0x2d) N: V => V
+     Set trace state variable number N to the value found on the top of
+     the stack.  The stack is unchanged, so that the value is readily
+     available if the assignment is part of a larger expression.  The
+     handling of N is as described for 'getv'.
+
+'trace' (0x0c): ADDR SIZE =>
+     Record the contents of the SIZE bytes at ADDR in a trace buffer,
+     for later retrieval by GDB.
+
+'trace_quick' (0x0d) SIZE: ADDR => ADDR
+     Record the contents of the SIZE bytes at ADDR in a trace buffer,
+     for later retrieval by GDB. SIZE is a single byte unsigned integer
+     following the 'trace' opcode.
+
+     This bytecode is equivalent to the sequence 'dup const8 SIZE
+     trace', but we provide it anyway to save space in bytecode strings.
+
+'trace16' (0x30) SIZE: ADDR => ADDR
+     Identical to trace_quick, except that SIZE is a 16-bit big-endian
+     unsigned integer, not a single byte.  This should probably have
+     been named 'trace_quick16', for consistency.
+
+'tracev' (0x2e) N: => A
+     Record the value of trace state variable number N in the trace
+     buffer.  The handling of N is as described for 'getv'.
+
+'tracenz' (0x2f) ADDR SIZE =>
+     Record the bytes at ADDR in a trace buffer, for later retrieval by
+     GDB. Stop at either the first zero byte, or when SIZE bytes have
+     been recorded, whichever occurs first.
+
+'printf' (0x34) NUMARGS STRING =>
+     Do a formatted print, in the style of the C function 'printf').
+     The value of NUMARGS is the number of arguments to expect on the
+     stack, while STRING is the format string, prefixed with a two-byte
+     length.  The last byte of the string must be zero, and is included
+     in the length.  The format string includes escaped sequences just
+     as it appears in C source, so for instance the format string
+     '"\t%d\n"' is six characters long, and the output will consist of a
+     tab character, a decimal number, and a newline.  At the top of the
+     stack, above the values to be printed, this bytecode will pop a
+     "function" and "channel".  If the function is nonzero, then the
+     target may treat it as a function and call it, passing the channel
+     as a first argument, as with the C function 'fprintf'.  If the
+     function is zero, then the target may simply call a standard
+     formatted print function of its choice.  In all, this bytecode pops
+     2 + NUMARGS stack elements, and pushes nothing.
+
+'end' (0x27): =>
+     Stop executing bytecode; the result should be the top element of
+     the stack.  If the purpose of the expression was to compute an
+     lvalue or a range of memory, then the next-to-top of the stack is
+     the lvalue's address, and the top of the stack is the lvalue's
+     size, in bytes.
+
+
 File: gdb.info,  Node: Using Agent Expressions,  Next: Varying Target Capabilities,  Prev: Bytecode Descriptions,  Up: Agent Expressions
 
 F.3 Using Agent Expressions
@@ -759,6 +1190,10 @@ It should contain registers 'x0' through
    The 'org.gnu.gdb.aarch64.fpu' feature is optional.  If present, it
 should contain registers 'v0' through 'v31', 'fpsr', and 'fpcr'.
 
+   The 'org.gnu.gdb.aarch64.sve' feature is optional.  If present, it
+should contain registers 'z0' through 'z31', 'p0' through 'p15', 'ffr'
+and 'vg'.
+
 
 File: gdb.info,  Node: ARC Features,  Next: ARM Features,  Prev: AArch64 Features,  Up: Standard Target Features
 
@@ -1466,6 +1901,7 @@ Appendix K Manual pages
 * gdbserver man::               Remote Server for the GNU Debugger man page
 * gcore man::                   Generate a core file of a running program
 * gdbinit man::                 gdbinit scripts
+* gdb-add-index man::           Add index files to speed up GDB
 
 
 File: gdb.info,  Node: gdb man,  Next: gdbserver man,  Up: Man Pages
@@ -1874,7 +2310,7 @@ remains running without any change.
      'core.PID', where PID is the running program process ID.
 
 
-File: gdb.info,  Node: gdbinit man,  Prev: gcore man,  Up: Man Pages
+File: gdb.info,  Node: gdbinit man,  Next: gdb-add-index man,  Prev: gcore man,  Up: Man Pages
 
 gdbinit
 =======
@@ -1905,6 +2341,33 @@ described in *note Sequences::.
      See more in *note Init File in the Current Directory::.
 
 
+File: gdb.info,  Node: gdb-add-index man,  Prev: gdbinit man,  Up: Man Pages
+
+gdb-add-index
+=============
+
+gdb-add-index FILENAME
+
+   When GDB finds a symbol file, it scans the symbols in the file in
+order to construct an internal symbol table.  This lets most GDB
+operations work quickly-at the cost of a delay early on.  For large
+programs, this delay can be quite lengthy, so GDB provides a way to
+build an index, which speeds up startup.
+
+   To determine whether a file contains such an index, use the command
+'readelf -S filename': the index is stored in a section named
+'.gdb_index'.  The index file can only be produced on systems which use
+ELF binaries and DWARF debug information (i.e., sections named
+'.debug_*').
+
+   'gdb-add-index' uses GDB and 'objdump' found in the 'PATH'
+environment variable.  If you want to use different versions of these
+programs, you can specify them through the 'GDB' and 'OBJDUMP'
+environment variables.
+
+   See more in *note Index Files::.
+
+
 File: gdb.info,  Node: Copying,  Next: GNU Free Documentation License,  Prev: Man Pages,  Up: Top
 
 Appendix L GNU GENERAL PUBLIC LICENSE
@@ -3117,8 +3580,10 @@ Concept Index
 * $:                                     Value History.      (line   13)
 * $$:                                    Value History.      (line   13)
 * $_ and info breakpoints:               Set Breaks.         (line  126)
-* $_ and info line:                      Machine Code.       (line   30)
+* $_ and info line:                      Machine Code.       (line   34)
 * $_, $__, and value history:            Memory.             (line  119)
+* &, background execution of commands:   Background Execution.
+                                                             (line   16)
 * --annotate:                            Mode Options.       (line  121)
 * --args:                                Mode Options.       (line  134)
 * --attach, gdbserver option:            Server.             (line   86)
@@ -3161,7 +3626,7 @@ Concept Index
 * --windows:                             Mode Options.       (line   97)
 * --with-gdb-datadir:                    Data Files.         (line   19)
 * --with-relocated-sources:              Source Path.        (line   88)
-* --with-sysroot:                        Files.              (line  445)
+* --with-sysroot:                        Files.              (line  453)
 * --wrapper, gdbserver option:           Server.             (line  165)
 * --write:                               Mode Options.       (line  171)
 * -b:                                    Mode Options.       (line  140)
@@ -3181,7 +3646,7 @@ Concept Index
 * -p:                                    File Options.       (line   47)
 * -q:                                    Mode Options.       (line   40)
 * -r:                                    File Options.       (line   81)
-* -readnever, option for symbol-file command: Files.         (line   96)
+* -readnever, option for symbol-file command: Files.         (line  101)
 * -s:                                    File Options.       (line   31)
 * -t:                                    Mode Options.       (line  149)
 * -w:                                    Mode Options.       (line   97)
@@ -3202,8 +3667,8 @@ Concept Index
                                                              (line   76)
 * .note.gnu.build-id sections:           Separate Debug Files.
                                                              (line   92)
-* .o files, reading symbols from:        Files.              (line  138)
-* /proc:                                 SVR4 Process Information.
+* .o files, reading symbols from:        Files.              (line  146)
+* /proc:                                 Process Information.
                                                              (line    6)
 * <architecture>:                        Target Description Format.
                                                              (line   72)
@@ -3238,6 +3703,7 @@ Concept Index
 * Ada exception catching:                Set Catchpoints.    (line   66)
 * Ada exception handlers catching:       Set Catchpoints.    (line   83)
 * Ada mode, general:                     Ada Mode Intro.     (line    6)
+* Ada settings:                          Ada Settings.       (line    6)
 * Ada task switching:                    Ada Tasks.          (line  114)
 * Ada tasking and core file debugging:   Ada Tasks and Core Files.
                                                              (line    6)
@@ -3287,7 +3753,7 @@ Concept Index
 * arrays:                                Arrays.             (line    6)
 * arrays in expressions:                 Expressions.        (line   13)
 * artificial array:                      Arrays.             (line    6)
-* assembly instructions:                 Machine Code.       (line   36)
+* assembly instructions:                 Machine Code.       (line   43)
 * assignment:                            Assignment.         (line    6)
 * async output in GDB/MI:                GDB/MI Output Syntax.
                                                              (line   98)
@@ -3297,7 +3763,7 @@ Concept Index
                                                              (line    6)
 * asynchronous execution, and process record and replay: Process Record and Replay.
                                                              (line   95)
-* AT&T disassembly flavor:               Machine Code.       (line  230)
+* AT&T disassembly flavor:               Machine Code.       (line  237)
 * attach:                                Attach.             (line    6)
 * attach to a program, gdbserver:        Server.             (line   86)
 * auto-loading:                          Auto-loading.       (line    6)
@@ -3324,14 +3790,14 @@ Concept Index
 * B packet:                              Packets.            (line   91)
 * background execution:                  Background Execution.
                                                              (line    6)
-* backtrace beyond main function:        Backtrace.          (line  105)
-* backtrace limit:                       Backtrace.          (line  142)
-* base name differences:                 Files.              (line  512)
+* backtrace beyond main function:        Backtrace.          (line  109)
+* backtrace limit:                       Backtrace.          (line  146)
+* base name differences:                 Files.              (line  520)
 * baud rate for remote targets:          Remote Configuration.
                                                              (line   21)
 * bc packet:                             Packets.            (line   96)
 * bcache statistics:                     Maintenance Commands.
-                                                             (line  320)
+                                                             (line  328)
 * bits in remote address:                Remote Configuration.
                                                              (line   12)
 * blocks in guile:                       Blocks In Guile.    (line    6)
@@ -3409,7 +3875,7 @@ Concept Index
                                                              (line   36)
 * C++ exception handling:                Debugging C Plus Plus.
                                                              (line   20)
-* C++ overload debugging info:           Debugging Output.   (line  143)
+* C++ overload debugging info:           Debugging Output.   (line  147)
 * C++ scope resolution:                  Variables.          (line   90)
 * C++ symbol decoding style:             Print Settings.     (line  427)
 * C++ symbol display:                    Debugging C Plus Plus.
@@ -3456,7 +3922,7 @@ Concept Index
                                                              (line    6)
 * close, file-i/o system call:           close.              (line    6)
 * closest symbol and offset for an address: Symbols.         (line   95)
-* code address and its source line:      Machine Code.       (line   25)
+* code address and its source line:      Machine Code.       (line   28)
 * code compression, MIPS:                MIPS.               (line   49)
 * COFF/PE exported symbols:              Debugging Output.   (line   50)
 * collected data discarded:              Starting and Stopping Trace Experiments.
@@ -3559,12 +4025,12 @@ Concept Index
 * dcache size:                           Caching Target Data.
                                                              (line   57)
 * dead names, GNU Hurd:                  Hurd Native.        (line   84)
-* debug expression parser:               Debugging Output.   (line  148)
+* debug expression parser:               Debugging Output.   (line  152)
 * debug formats and C++:                 C Plus Plus Expressions.
                                                              (line    8)
 * debug link sections:                   Separate Debug Files.
                                                              (line   76)
-* debug remote protocol:                 Debugging Output.   (line  155)
+* debug remote protocol:                 Debugging Output.   (line  159)
 * debugger crash:                        Bug Criteria.       (line    9)
 * debugging agent:                       In-Process Agent.   (line    6)
 * debugging C++ programs:                C Plus Plus Expressions.
@@ -3584,7 +4050,7 @@ Concept Index
 * default collection action:             Tracepoint Actions. (line  142)
 * default data directory:                Data Files.         (line   19)
 * default source path substitution:      Source Path.        (line   88)
-* default system root:                   Files.              (line  445)
+* default system root:                   Files.              (line  453)
 * define trace state variable, remote request: Tracepoint Packets.
                                                              (line  121)
 * defining macros interactively:         Macros.             (line   59)
@@ -3613,7 +4079,7 @@ Concept Index
 * directory, current:                    Source Path.        (line  106)
 * disable address space randomization, remote request: General Query Packets.
                                                              (line   84)
-* disassembler options:                  Machine Code.       (line  215)
+* disassembler options:                  Machine Code.       (line  222)
 * disconnected tracing:                  Starting and Stopping Trace Experiments.
                                                              (line   45)
 * displaced stepping debugging info:     Debugging Output.   (line   75)
@@ -3627,7 +4093,7 @@ Concept Index
 * display GDB copyright:                 Help.               (line  138)
 * display of expressions:                Auto Display.       (line    6)
 * display remote monitor communications: Target Commands.    (line  107)
-* display remote packets:                Debugging Output.   (line  155)
+* display remote packets:                Debugging Output.   (line  159)
 * DJGPP debugging:                       DJGPP Native.       (line    6)
 * DLLs with no debugging symbols:        Non-debug DLL Symbols.
                                                              (line    6)
@@ -3637,7 +4103,7 @@ Concept Index
 * don't repeat command:                  Define.             (line   74)
 * don't repeat Guile command:            Commands In Guile.  (line   67)
 * don't repeat Python command:           Commands In Python. (line   42)
-* DOS file-name semantics of file names.: Files.             (line  468)
+* DOS file-name semantics of file names.: Files.             (line  476)
 * DOS serial data link, remote debugging: DJGPP Native.      (line  118)
 * DOS serial port status:                DJGPP Native.       (line  139)
 * DPMI:                                  DJGPP Native.       (line    6)
@@ -3649,12 +4115,12 @@ Concept Index
 * dump/restore files:                    Dump/Restore Files. (line    6)
 * DVC register:                          PowerPC Embedded.   (line    6)
 * DWARF compilation units cache:         Maintenance Commands.
-                                                             (line  386)
+                                                             (line  394)
 * DWARF DIEs:                            Debugging Output.   (line   56)
 * DWARF Line Tables:                     Debugging Output.   (line   61)
 * DWARF Reading:                         Debugging Output.   (line   68)
 * DWARF-2 CFI and CRIS:                  CRIS.               (line   18)
-* dynamic linking:                       Files.              (line  118)
+* dynamic linking:                       Files.              (line  123)
 * dynamic printf:                        Dynamic Printf.     (line    6)
 * dynamic varobj:                        GDB/MI Variable Objects.
                                                              (line  166)
@@ -3678,7 +4144,7 @@ Concept Index
 * event debugging info:                  Debugging Output.   (line   81)
 * event designators:                     Event Designators.  (line    6)
 * event handling:                        Set Catchpoints.    (line    6)
-* examine process image:                 SVR4 Process Information.
+* examine process image:                 Process Information.
                                                              (line    6)
 * examining data:                        Data.               (line    6)
 * examining memory:                      Memory.             (line    9)
@@ -3705,7 +4171,7 @@ Concept Index
 * explore value:                         Data.               (line  138)
 * exploring hierarchical data structures: Data.              (line   36)
 * expression debugging info:             Debugging Output.   (line   86)
-* expression parser, debugging info:     Debugging Output.   (line  148)
+* expression parser, debugging info:     Debugging Output.   (line  152)
 * expressions:                           Expressions.        (line    6)
 * expressions in Ada:                    Ada.                (line   11)
 * expressions in C or C++:               C.                  (line    6)
@@ -3726,7 +4192,7 @@ Concept Index
 * fatal signals:                         Signals.            (line   15)
 * features of the remote protocol:       General Query Packets.
                                                              (line  589)
-* file name canonicalization:            Files.              (line  512)
+* file name canonicalization:            Files.              (line  520)
 * file transfer:                         File Transfer.      (line    6)
 * file transfer, remote protocol:        Host I/O Packets.   (line    6)
 * file-i/o examples:                     File-I/O Examples.  (line    6)
@@ -3736,7 +4202,7 @@ Concept Index
 * file-i/o reply packet:                 The F Reply Packet. (line    6)
 * file-i/o request packet:               The F Request Packet.
                                                              (line    6)
-* filename-display:                      Backtrace.          (line  152)
+* filename-display:                      Backtrace.          (line  156)
 * find trace snapshot:                   tfind.              (line    6)
 * flinching:                             Messages/Warnings.  (line   49)
 * float promotion:                       ABI.                (line   34)
@@ -3756,8 +4222,8 @@ Concept Index
 * Fortran Defaults:                      Fortran Defaults.   (line    6)
 * Fortran operators and expressions:     Fortran Operators.  (line    6)
 * Fortran-specific support in GDB:       Fortran.            (line    6)
-* FR-V shared-library debugging:         Debugging Output.   (line  175)
-* frame debugging info:                  Debugging Output.   (line   97)
+* FR-V shared-library debugging:         Debugging Output.   (line  179)
+* frame debugging info:                  Debugging Output.   (line  101)
 * frame decorator api:                   Frame Decorator API.
                                                              (line    6)
 * frame filters api:                     Frame Filter API.   (line    6)
@@ -3770,10 +4236,11 @@ Concept Index
 * frames in python:                      Frames In Python.   (line    6)
 * free memory information (MS-DOS):      DJGPP Native.       (line   19)
 * FreeBSD LWP debug messages:            Debugging Output.   (line   92)
+* FreeBSD native target debug messages:  Debugging Output.   (line   97)
 * fstat, file-i/o system call:           stat/fstat.         (line    6)
 * Fujitsu:                               Remote Stub.        (line   68)
-* full symbol tables, listing GDB's internal: Symbols.       (line  541)
-* function call arguments, optimized out: Backtrace.         (line   83)
+* full symbol tables, listing GDB's internal: Symbols.       (line  546)
+* function call arguments, optimized out: Backtrace.         (line   87)
 * function entry/exit, wrong values of variables: Variables. (line  106)
 * functions without line info, and stepping: Continuing and Stepping.
                                                              (line   92)
@@ -3848,9 +4315,9 @@ Concept Index
 * GNU C++:                               C.                  (line   10)
 * GNU Emacs:                             Emacs.              (line    6)
 * GNU Hurd debugging:                    Hurd Native.        (line    6)
-* GNU/Hurd debug messages:               Debugging Output.   (line  102)
-* GNU/Linux LWP debug messages:          Debugging Output.   (line  117)
-* GNU/Linux namespaces debug messages:   Debugging Output.   (line  121)
+* GNU/Hurd debug messages:               Debugging Output.   (line  106)
+* GNU/Linux LWP debug messages:          Debugging Output.   (line  121)
+* GNU/Linux namespaces debug messages:   Debugging Output.   (line  125)
 * Go (programming language):             Go.                 (line    6)
 * guile api:                             Guile API.          (line    6)
 * guile architectures:                   Architectures In Guile.
@@ -3880,7 +4347,7 @@ Concept Index
 * handling signals:                      Signals.            (line   27)
 * hardware breakpoints:                  Set Breaks.         (line   61)
 * hardware debug registers:              Maintenance Commands.
-                                                             (line  412)
+                                                             (line  420)
 * hardware watchpoints:                  Set Watchpoints.    (line   31)
 * hash mark while downloading:           Target Commands.    (line   98)
 * heuristic-fence-post (Alpha, MIPS):    MIPS.               (line   14)
@@ -3917,7 +4384,7 @@ Concept Index
                                                              (line    6)
 * inferior:                              Inferiors and Programs.
                                                              (line   13)
-* inferior debugging info:               Debugging Output.   (line  106)
+* inferior debugging info:               Debugging Output.   (line  110)
 * inferior events in Python:             Events In Python.   (line    6)
 * inferior functions, calling:           Calling.            (line    6)
 * inferior tty:                          Input/Output.       (line   44)
@@ -3925,15 +4392,16 @@ Concept Index
                                                              (line    6)
 * infinite recursion in user-defined commands: Define.       (line   91)
 * info for known .debug_gdb_scripts-loaded scripts: Maintenance Commands.
-                                                             (line  313)
+                                                             (line  321)
 * info for known object files:           Maintenance Commands.
-                                                             (line  298)
-* info proc cmdline:                     SVR4 Process Information.
-                                                             (line   34)
-* info proc cwd:                         SVR4 Process Information.
-                                                             (line   38)
-* info proc exe:                         SVR4 Process Information.
-                                                             (line   42)
+                                                             (line  306)
+* info line, repeated calls:             Machine Code.       (line   40)
+* info proc cmdline:                     Process Information.
+                                                             (line   41)
+* info proc cwd:                         Process Information.
+                                                             (line   45)
+* info proc exe:                         Process Information.
+                                                             (line   49)
 * information about static tracepoint markers: Listing Static Tracepoint Markers.
                                                              (line    6)
 * information about tracepoints:         Listing Tracepoints.
@@ -3951,11 +4419,11 @@ Concept Index
 * input syntax for GDB/MI:               GDB/MI Input Syntax.
                                                              (line    6)
 * installation:                          Installing GDB.     (line    6)
-* instructions, assembly:                Machine Code.       (line   36)
+* instructions, assembly:                Machine Code.       (line   43)
 * integral datatypes, in file-i/o protocol: Integral Datatypes.
                                                              (line    6)
 * Intel:                                 Remote Stub.        (line   56)
-* Intel disassembly flavor:              Machine Code.       (line  230)
+* Intel disassembly flavor:              Machine Code.       (line  237)
 * Intel Memory Protection Extensions (MPX).: i386.           (line   21)
 * Intel MPX boundary violations:         Signals.            (line  197)
 * Intel Processor Trace:                 Process Record and Replay.
@@ -3987,7 +4455,7 @@ Concept Index
 * JIT debug info reader:                 Custom Debug Info.  (line    6)
 * just-in-time compilation:              JIT Interface.      (line    6)
 * just-in-time compilation, debugging messages: Debugging Output.
-                                                             (line  113)
+                                                             (line  117)
 * k packet:                              Packets.            (line  216)
 * kernel crash dump:                     BSD libkvm Interface.
                                                              (line    6)
@@ -4021,9 +4489,9 @@ Concept Index
 * limits, in file-i/o protocol:          Limits.             (line    6)
 * line tables in python:                 Line Tables In Python.
                                                              (line    6)
-* line tables, listing GDB's internal:   Symbols.            (line  588)
+* line tables, listing GDB's internal:   Symbols.            (line  593)
 * linespec locations:                    Linespec Locations. (line    6)
-* Linux lightweight processes:           Debugging Output.   (line  117)
+* Linux lightweight processes:           Debugging Output.   (line  121)
 * list active threads, remote request:   General Query Packets.
                                                              (line  238)
 * list of supported file-i/o calls:      List of Supported Calls.
@@ -4031,14 +4499,14 @@ Concept Index
 * list output in GDB/MI:                 GDB/MI Output Syntax.
                                                              (line  117)
 * list, how many lines to display:       List.               (line   30)
-* listing GDB's internal line tables:    Symbols.            (line  588)
-* listing GDB's internal symbol tables:  Symbols.            (line  541)
-* listing machine instructions:          Machine Code.       (line   36)
+* listing GDB's internal line tables:    Symbols.            (line  593)
+* listing GDB's internal symbol tables:  Symbols.            (line  546)
+* listing machine instructions:          Machine Code.       (line   43)
 * listing mapped overlays:               Overlay Commands.   (line   60)
 * lists of breakpoints:                  Breakpoints.        (line   45)
 * load address, overlay's:               How Overlays Work.  (line    6)
-* load shared library:                   Files.              (line  319)
-* load symbols from memory:              Files.              (line  185)
+* load shared library:                   Files.              (line  327)
+* load symbols from memory:              Files.              (line  193)
 * local variables:                       Symbols.            (line  403)
 * locate address:                        Output Formats.     (line   35)
 * location:                              Specify Location.   (line    6)
@@ -4053,8 +4521,8 @@ Concept Index
 * M packet:                              Packets.            (line  259)
 * m680x0:                                Remote Stub.        (line   59)
 * m68k-stub.c:                           Remote Stub.        (line   59)
-* Mach-O symbols processing:             Debugging Output.   (line  126)
-* machine instructions:                  Machine Code.       (line   36)
+* Mach-O symbols processing:             Debugging Output.   (line  130)
+* machine instructions:                  Machine Code.       (line   43)
 * macro definition, showing:             Macros.             (line   47)
 * macro expansion, showing the results of preprocessor: Macros.
                                                              (line   29)
@@ -4070,8 +4538,8 @@ Concept Index
                                                              (line    6)
 * manual overlay debugging:              Overlay Commands.   (line   23)
 * map an overlay:                        Overlay Commands.   (line   30)
-* mapinfo list, QNX Neutrino:            SVR4 Process Information.
-                                                             (line   92)
+* mapinfo list, QNX Neutrino:            Process Information.
+                                                             (line  104)
 * mapped address:                        How Overlays Work.  (line    6)
 * mapped overlays:                       How Overlays Work.  (line    6)
 * markers, static tracepoints:           Set Tracepoints.    (line   28)
@@ -4079,16 +4547,16 @@ Concept Index
                                                              (line   70)
 * member functions:                      C Plus Plus Expressions.
                                                              (line   16)
-* memory address space mappings:         SVR4 Process Information.
-                                                             (line   46)
+* memory address space mappings:         Process Information.
+                                                             (line   53)
 * memory map format:                     Memory Map Format.  (line    6)
 * memory region attributes:              Memory Region Attributes.
                                                              (line    6)
 * memory tracing:                        Breakpoints.        (line   17)
 * memory transfer, in file-i/o protocol: Memory Transfer.    (line    6)
 * memory used by commands:               Maintenance Commands.
-                                                             (line  493)
-* memory used for symbol tables:         Files.              (line  307)
+                                                             (line  510)
+* memory used for symbol tables:         Files.              (line  315)
 * memory, alignment and size of remote accesses: Packets.    (line  247)
 * memory, viewing as typed object:       Expressions.        (line   41)
 * mi interpreter:                        Interpreters.       (line   26)
@@ -4096,7 +4564,7 @@ Concept Index
 * mi2 interpreter:                       Interpreters.       (line   31)
 * minimal language:                      Unsupported Languages.
                                                              (line    6)
-* minimal symbol dump:                   Symbols.            (line  515)
+* minimal symbol dump:                   Symbols.            (line  520)
 * Minimal symbols and DLLs:              Non-debug DLL Symbols.
                                                              (line    6)
 * MIPS addresses, masking:               MIPS.               (line   80)
@@ -4124,7 +4592,7 @@ Concept Index
 * multiple processes:                    Forks.              (line    6)
 * multiple targets:                      Active Targets.     (line    6)
 * multiple threads:                      Threads.            (line    6)
-* multiple threads, backtrace:           Backtrace.          (line   49)
+* multiple threads, backtrace:           Backtrace.          (line   53)
 * multiple-symbols menu:                 Ambiguous Expressions.
                                                              (line   51)
 * multiprocess extensions, in remote protocol: General Query Packets.
@@ -4139,7 +4607,7 @@ Concept Index
                                                              (line    6)
 * native target:                         Target Commands.    (line   85)
 * negative breakpoint numbers:           Set Breaks.         (line  367)
-* never read symbols:                    Files.              (line   96)
+* never read symbols:                    Files.              (line  101)
 * New SYSTAG message:                    Threads.            (line   35)
 * new user interface:                    Interpreters.       (line   65)
 * Newlib OS ABI and its influence on the longjmp handling: ABI.
@@ -4167,9 +4635,9 @@ Concept Index
 * number of array elements to print:     Print Settings.     (line  141)
 * number representation:                 Numbers.            (line    6)
 * numbers for breakpoints:               Breakpoints.        (line   38)
-* object files, relocatable, reading symbols from: Files.    (line  138)
+* object files, relocatable, reading symbols from: Files.    (line  146)
 * Objective-C:                           Objective-C.        (line    6)
-* Objective-C, classes and selectors:    Symbols.            (line  466)
+* Objective-C, classes and selectors:    Symbols.            (line  471)
 * Objective-C, print objects:            The Print Command with Objective-C.
                                                              (line    6)
 * OBJFILE-gdb.gdb:                       objfile-gdbdotext file.
@@ -4180,10 +4648,10 @@ Concept Index
                                                              (line    6)
 * objfiles in guile:                     Objfiles In Guile.  (line    6)
 * objfiles in python:                    Objfiles In Python. (line    6)
-* observer debugging info:               Debugging Output.   (line  138)
+* observer debugging info:               Debugging Output.   (line  142)
 * octal escapes in strings:              Print Settings.     (line  353)
 * online documentation:                  Help.               (line    6)
-* opaque data types:                     Symbols.            (line  478)
+* opaque data types:                     Symbols.            (line  483)
 * open flags, in file-i/o protocol:      Open Flags.         (line    6)
 * open, file-i/o system call:            open.               (line    6)
 * OpenCL C:                              OpenCL C.           (line    6)
@@ -4201,7 +4669,7 @@ Concept Index
                                                              (line  102)
 * optimized out value in Python:         Values From Inferior.
                                                              (line   70)
-* optimized out, in backtrace:           Backtrace.          (line   83)
+* optimized out, in backtrace:           Backtrace.          (line   87)
 * optional debugging messages:           Debugging Output.   (line    6)
 * optional warnings:                     Messages/Warnings.  (line    6)
 * OS ABI:                                ABI.                (line   11)
@@ -4233,7 +4701,7 @@ Concept Index
                                                              (line  823)
 * packets, notification:                 Notification Packets.
                                                              (line    6)
-* packets, reporting on stdout:          Debugging Output.   (line  155)
+* packets, reporting on stdout:          Debugging Output.   (line  159)
 * packets, tracepoint:                   Tracepoint Packets. (line    6)
 * page size:                             Screen Size.        (line    6)
 * page tables display (MS-DOS):          DJGPP Native.       (line   55)
@@ -4242,8 +4710,8 @@ Concept Index
                                                              (line    6)
 * parameters in python:                  Parameters In Python.
                                                              (line    6)
-* partial symbol dump:                   Symbols.            (line  515)
-* partial symbol tables, listing GDB's internal: Symbols.    (line  541)
+* partial symbol dump:                   Symbols.            (line  520)
+* partial symbol tables, listing GDB's internal: Symbols.    (line  546)
 * Pascal:                                Summary.            (line   35)
 * Pascal objects, static members display: Print Settings.    (line  489)
 * Pascal support in GDB, limitations:    Pascal.             (line    6)
@@ -4266,7 +4734,7 @@ Concept Index
 * PowerPC architecture:                  PowerPC.            (line    6)
 * prefix for data files:                 Data Files.         (line    6)
 * prefix for executable and shared library file names: Files.
-                                                             (line  378)
+                                                             (line  386)
 * premature return from system calls:    Interrupted System Calls.
                                                              (line    6)
 * preprocessor macro expansion, showing the results of: Macros.
@@ -4288,9 +4756,9 @@ Concept Index
 * print list of auto-loaded Python scripts: Python Auto-loading.
                                                              (line   23)
 * print messages on inferior start and exit: Inferiors and Programs.
-                                                             (line  123)
+                                                             (line  126)
 * print messages on thread start and exit: Threads.          (line  221)
-* print messages when symbols are loaded: Symbols.           (line  496)
+* print messages when symbols are loaded: Symbols.           (line  501)
 * print settings:                        Print Settings.     (line    6)
 * print structures in indented form:     Print Settings.     (line  329)
 * print/don't print memory addresses:    Print Settings.     (line   13)
@@ -4301,24 +4769,24 @@ Concept Index
 * probe static tracepoint marker:        Create and Delete Tracepoints.
                                                              (line   75)
 * probing markers, static tracepoints:   Set Tracepoints.    (line   28)
-* process detailed status information:   SVR4 Process Information.
-                                                             (line   54)
-* process ID:                            SVR4 Process Information.
-                                                             (line   18)
-* process info via /proc:                SVR4 Process Information.
+* process detailed status information:   Process Information.
+                                                             (line   62)
+* process ID:                            Process Information.
+                                                             (line   25)
+* process info via /proc:                Process Information.
                                                              (line    6)
-* process list, QNX Neutrino:            SVR4 Process Information.
-                                                             (line   88)
+* process list, QNX Neutrino:            Process Information.
+                                                             (line  100)
 * process record and replay:             Process Record and Replay.
                                                              (line    6)
 * process status register:               Registers.          (line   31)
 * processes, multiple:                   Forks.              (line    6)
-* procfs API calls:                      SVR4 Process Information.
-                                                             (line   67)
+* procfs API calls:                      Process Information.
+                                                             (line   79)
 * profiling GDB:                         Maintenance Commands.
-                                                             (line  396)
+                                                             (line  404)
 * program counter register:              Registers.          (line   31)
-* program entry point:                   Backtrace.          (line  105)
+* program entry point:                   Backtrace.          (line  109)
 * programming in guile:                  Guile API.          (line    6)
 * programming in python:                 Python API.         (line    6)
 * progspaces in guile:                   Progspaces In Guile.
@@ -4458,9 +4926,9 @@ Concept Index
 * read special object, remote request:   General Query Packets.
                                                              (line 1125)
 * read, file-i/o system call:            read.               (line    6)
-* read-only sections:                    Files.              (line  257)
-* reading symbols from relocatable object files: Files.      (line  138)
-* reading symbols immediately:           Files.              (line   89)
+* read-only sections:                    Files.              (line  265)
+* reading symbols from relocatable object files: Files.      (line  146)
+* reading symbols immediately:           Files.              (line   94)
 * readline:                              Editing.            (line    6)
 * receive rights, GNU Hurd:              Hurd Native.        (line   84)
 * recent tracepoint number:              Create and Delete Tracepoints.
@@ -4485,9 +4953,9 @@ Concept Index
 * registers:                             Registers.          (line    6)
 * regular expression:                    Set Breaks.         (line   90)
 * reloading the overlay table:           Overlay Commands.   (line   52)
-* relocatable object files, reading symbols from: Files.     (line  138)
+* relocatable object files, reading symbols from: Files.     (line  146)
 * remote async notification debugging info: Debugging Output.
-                                                             (line  132)
+                                                             (line  136)
 * remote connection commands:            Connecting.         (line  120)
 * remote connection without stubs:       Server.             (line    6)
 * remote debugging:                      Remote Debugging.   (line    6)
@@ -4499,7 +4967,7 @@ Concept Index
 * remote packets, enabling and disabling: Remote Configuration.
                                                              (line  152)
 * remote programs, interrupting:         Connecting.         (line  188)
-* remote protocol debugging:             Debugging Output.   (line  155)
+* remote protocol debugging:             Debugging Output.   (line  159)
 * remote protocol, binary data:          Overview.           (line   63)
 * remote protocol, field separator:      Overview.           (line   55)
 * remote query requests:                 General Query Packets.
@@ -4538,7 +5006,7 @@ Concept Index
 * reset environment, remote request:     General Query Packets.
                                                              (line  197)
 * resources used by commands:            Maintenance Commands.
-                                                             (line  456)
+                                                             (line  464)
 * response time, MIPS debugging:         MIPS.               (line   10)
 * restart:                               Checkpoint/Restart. (line    6)
 * restore data from a file:              Dump/Restore Files. (line    6)
@@ -4589,9 +5057,9 @@ Concept Index
 * selecting python pretty-printers:      Selecting Pretty-Printers.
                                                              (line    6)
 * self tests:                            Maintenance Commands.
-                                                             (line  352)
+                                                             (line  360)
 * self tests <1>:                        Maintenance Commands.
-                                                             (line  358)
+                                                             (line  366)
 * semaphores on static probe points:     Static Probe Points.
                                                              (line   20)
 * send command to remote monitor:        Connecting.         (line  221)
@@ -4605,7 +5073,7 @@ Concept Index
 * separate debugging information files:  Separate Debug Files.
                                                              (line    6)
 * sequence-id, for GDB remote:           Overview.           (line   30)
-* serial connections, debugging:         Debugging Output.   (line  155)
+* serial connections, debugging:         Debugging Output.   (line  159)
 * serial line, target remote:            Connecting.         (line  129)
 * serial protocol, GDB remote:           Overview.           (line   14)
 * server prefix:                         Server Prefix.      (line    6)
@@ -4630,7 +5098,7 @@ Concept Index
 * setting watchpoints:                   Set Watchpoints.    (line    6)
 * SH:                                    Remote Stub.        (line   62)
 * sh-stub.c:                             Remote Stub.        (line   62)
-* shared libraries:                      Files.              (line  279)
+* shared libraries:                      Files.              (line  287)
 * shared library events, remote reply:   Stop Reply Packets. (line   65)
 * shell escape:                          Shell Commands.     (line   10)
 * show all convenience functions:        Convenience Funs.   (line  148)
@@ -4678,7 +5146,7 @@ Concept Index
 * start a new trace experiment:          Starting and Stopping Trace Experiments.
                                                              (line    6)
 * starting:                              Starting.           (line    6)
-* startup code, and backtrace:           Backtrace.          (line  105)
+* startup code, and backtrace:           Backtrace.          (line  109)
 * startup with shell, remote request:    General Query Packets.
                                                              (line  114)
 * stat, file-i/o system call:            stat/fstat.         (line    6)
@@ -4731,37 +5199,37 @@ Concept Index
                                                              (line  589)
 * switching threads:                     Threads.            (line    6)
 * switching threads automatically:       All-Stop Mode.      (line   28)
-* symbol cache size:                     Symbols.            (line  594)
-* symbol cache, flushing:                Symbols.            (line  610)
-* symbol cache, printing its contents:   Symbols.            (line  602)
-* symbol cache, printing usage statistics: Symbols.          (line  606)
+* symbol cache size:                     Symbols.            (line  599)
+* symbol cache, flushing:                Symbols.            (line  615)
+* symbol cache, printing its contents:   Symbols.            (line  607)
+* symbol cache, printing usage statistics: Symbols.          (line  611)
 * symbol decoding style, C++:            Print Settings.     (line  427)
-* symbol dump:                           Symbols.            (line  515)
-* symbol file functions:                 Debugging Output.   (line  187)
+* symbol dump:                           Symbols.            (line  520)
+* symbol file functions:                 Debugging Output.   (line  191)
 * symbol files, remote debugging:        Connecting.         (line   90)
 * symbol from address:                   Symbols.            (line   95)
-* symbol lookup:                         Debugging Output.   (line  180)
+* symbol lookup:                         Debugging Output.   (line  184)
 * symbol lookup, remote request:         General Query Packets.
                                                              (line 1045)
 * symbol names:                          Symbols.            (line   14)
 * symbol table:                          Files.              (line    6)
-* symbol table creation:                 Debugging Output.   (line  192)
+* symbol table creation:                 Debugging Output.   (line  196)
 * symbol tables in guile:                Symbol Tables In Guile.
                                                              (line    6)
 * symbol tables in python:               Symbol Tables In Python.
                                                              (line    6)
-* symbol tables, listing GDB's internal: Symbols.            (line  541)
+* symbol tables, listing GDB's internal: Symbols.            (line  546)
 * symbol, source file and line:          Print Settings.     (line   50)
 * symbols in guile:                      Symbols In Guile.   (line    6)
 * symbols in python:                     Symbols In Python.  (line    6)
-* symbols, never read:                   Files.              (line   96)
-* symbols, reading from relocatable object files: Files.     (line  138)
-* symbols, reading immediately:          Files.              (line   89)
+* symbols, never read:                   Files.              (line  101)
+* symbols, reading from relocatable object files: Files.     (line  146)
+* symbols, reading immediately:          Files.              (line   94)
 * Synopsys ARC:                          ARC.                (line    6)
-* syscall DSO:                           Files.              (line  185)
+* syscall DSO:                           Files.              (line  193)
 * system calls and thread breakpoints:   Interrupted System Calls.
                                                              (line    6)
-* system root, alternate:                Files.              (line  378)
+* system root, alternate:                Files.              (line  386)
 * system, file-i/o system call:          system.             (line    6)
 * system-wide configuration scripts:     System-wide Configuration Scripts.
                                                              (line    6)
@@ -4774,7 +5242,7 @@ Concept Index
 * target architecture:                   Targets.            (line   17)
 * target byte order:                     Byte Order.         (line    6)
 * target character set:                  Character Sets.     (line    6)
-* target debugging info:                 Debugging Output.   (line  199)
+* target debugging info:                 Debugging Output.   (line  203)
 * target descriptions:                   Target Descriptions.
                                                              (line    6)
 * target descriptions, AArch64 features: AArch64 Features.   (line    6)
@@ -4811,7 +5279,7 @@ Concept Index
 * target output in GDB/MI:               GDB/MI Output Syntax.
                                                              (line  110)
 * target stack description:              Maintenance Commands.
-                                                             (line  333)
+                                                             (line  341)
 * target-assisted range stepping:        Continuing and Stepping.
                                                              (line  210)
 * task attributes (GNU Hurd):            Hurd Native.        (line   48)
@@ -4852,14 +5320,14 @@ Concept Index
 * threads, continuing:                   Thread Stops.       (line    6)
 * threads, stopped:                      Thread Stops.       (line    6)
 * time of command execution:             Maintenance Commands.
-                                                             (line  497)
+                                                             (line  514)
 * timeout for commands:                  Maintenance Commands.
-                                                             (line  518)
+                                                             (line  535)
 * timeout for serial communications:     Remote Configuration.
                                                              (line   72)
 * timeout, for remote target connection: Remote Configuration.
                                                              (line  140)
-* timestampping debugging info:          Debugging Output.   (line  206)
+* timestampping debugging info:          Debugging Output.   (line  210)
 * trace experiment, status of:           Starting and Stopping Trace Experiments.
                                                              (line   27)
 * trace file format:                     Trace File Format.  (line    6)
@@ -4899,7 +5367,7 @@ Concept Index
                                                              (line    6)
 * type casting memory:                   Expressions.        (line   41)
 * type chain of a data type:             Maintenance Commands.
-                                                             (line  345)
+                                                             (line  353)
 * type checking:                         Checks.             (line   24)
 * type conversions in C++:               C Plus Plus Expressions.
                                                              (line   26)
@@ -4914,7 +5382,7 @@ Concept Index
 * unknown type:                          Symbols.            (line  362)
 * unlink, file-i/o system call:          unlink.             (line    6)
 * unlinked object files:                 Files.              (line   26)
-* unload symbols from shared libraries:  Files.              (line  340)
+* unload symbols from shared libraries:  Files.              (line  348)
 * unmap an overlay:                      Overlay Commands.   (line   39)
 * unmapped overlays:                     How Overlays Work.  (line    6)
 * unset environment variable, remote request: General Query Packets.
@@ -4930,7 +5398,7 @@ Concept Index
                                                              (line    6)
 * use only software watchpoints:         Set Watchpoints.    (line  108)
 * user registers:                        Maintenance Commands.
-                                                             (line  304)
+                                                             (line  312)
 * user-defined command:                  Define.             (line    6)
 * user-defined macros:                   Macros.             (line   59)
 * user-defined variables:                Convenience Vars.   (line    6)
@@ -4940,7 +5408,7 @@ Concept Index
 * values from inferior, with Python:     Values From Inferior.
                                                              (line    6)
 * variable name conflict:                Variables.          (line   36)
-* variable object debugging info:        Debugging Output.   (line  213)
+* variable object debugging info:        Debugging Output.   (line  217)
 * variable objects in GDB/MI:            GDB/MI Variable Objects.
                                                              (line    9)
 * variable values, wrong:                Variables.          (line  106)
@@ -4970,10 +5438,10 @@ Concept Index
 * vStopped packet:                       Packets.            (line  544)
 * VTBL display:                          Print Settings.     (line  500)
 * watchdog timer:                        Maintenance Commands.
-                                                             (line  518)
+                                                             (line  535)
 * watchpoints:                           Breakpoints.        (line   17)
 * watchpoints and threads:               Set Watchpoints.    (line  179)
-* where to look for shared libraries:    Files.              (line  373)
+* where to look for shared libraries:    Files.              (line  381)
 * wild pointer, interpreting:            Print Settings.     (line   80)
 * Wind River Linux system-wide configuration script: System-wide Configuration Scripts.
                                                              (line   22)
@@ -5000,7 +5468,7 @@ Concept Index
                                                              (line    6)
 * writing xmethods in Python:            Writing an Xmethod. (line    6)
 * wrong values:                          Variables.          (line  106)
-* x command, default address:            Machine Code.       (line   30)
+* x command, default address:            Machine Code.       (line   34)
 * X packet:                              Packets.            (line  547)
 * Xilinx MicroBlaze:                     MicroBlaze.         (line    6)
 * XInclude:                              Target Description Format.
@@ -5008,7 +5476,7 @@ Concept Index
 * XMD, Xilinx Microprocessor Debugger:   MicroBlaze.         (line    6)
 * xmethod API:                           Xmethod API.        (line    6)
 * xmethods in Python:                    Xmethods In Python. (line    6)
-* XML parser debugging:                  Debugging Output.   (line  219)
+* XML parser debugging:                  Debugging Output.   (line  223)
 * yanking text:                          Readline Killing Commands.
                                                              (line    6)
 * z packet:                              Packets.            (line  560)
@@ -5035,7 +5503,7 @@ Command, Variable, and Function Index
 
 * !:                                     Shell Commands.      (line  10)
 * "maint info selftests":                Maintenance Commands.
-                                                              (line 358)
+                                                              (line 366)
 * # (a comment):                         Command Syntax.      (line  37)
 * $bpnum, convenience variable:          Set Breaks.          (line   6)
 * $cdir, convenience variable:           Source Path.         (line 106)
@@ -5064,7 +5532,7 @@ Command, Variable, and Function Index
 * $_exitsignal, convenience variable:    Convenience Vars.    (line  85)
 * $_gthread, convenience variable:       Threads.             (line  98)
 * $_inferior, convenience variable:      Inferiors and Programs.
-                                                              (line  53)
+                                                              (line  56)
 * $_isvoid, convenience function:        Convenience Funs.    (line  15)
 * $_memeq, convenience function:         Convenience Funs.    (line  65)
 * $_probe_arg, convenience variable:     Static Probe Points. (line  77)
@@ -5109,6 +5577,8 @@ Command, Variable, and Function Index
                                                               (line  12)
 * -catch-exception:                      Ada Exception GDB/MI Catchpoint Commands.
                                                               (line  46)
+* -catch-handlers:                       Ada Exception GDB/MI Catchpoint Commands.
+                                                              (line  91)
 * -catch-load:                           Shared Library GDB/MI Catchpoint Commands.
                                                               (line   9)
 * -catch-unload:                         Shared Library GDB/MI Catchpoint Commands.
@@ -5336,9 +5806,9 @@ Command, Variable, and Function Index
 * add-auto-load-scripts-directory:       objfile-gdbdotext file.
                                                               (line  64)
 * add-inferior:                          Inferiors and Programs.
-                                                              (line  66)
-* add-symbol-file:                       Files.               (line 118)
-* add-symbol-file-from-memory:           Files.               (line 185)
+                                                              (line  69)
+* add-symbol-file:                       Files.               (line 123)
+* add-symbol-file-from-memory:           Files.               (line 193)
 * adi assign:                            Sparc64.             (line  45)
 * adi examine:                           Sparc64.             (line  27)
 * advance LOCATION:                      Continuing and Stepping.
@@ -5605,7 +6075,7 @@ Command, Variable, and Function Index
 * clear-screen (C-l):                    Commands For Moving. (line  26)
 * ClearObjFilesEvent.progspace:          Events In Python.    (line 125)
 * clone-inferior:                        Inferiors and Programs.
-                                                              (line  73)
+                                                              (line  76)
 * collect (tracepoints):                 Tracepoint Actions.  (line  49)
 * colon-colon, in Modula-2:              M2 Scope.            (line   6)
 * Command.complete:                      Commands In Python.  (line  70)
@@ -5684,7 +6154,7 @@ Command, Variable, and Function Index
                                                               (line  54)
 * copy-region-as-kill ():                Commands For Killing.
                                                               (line  45)
-* core-file:                             Files.               (line 102)
+* core-file:                             Files.               (line 107)
 * ctf:                                   Trace Files.         (line  28)
 * Ctrl-o (operate-and-get-next):         Command Syntax.      (line  41)
 * current-arch:                          Architectures In Guile.
@@ -5720,7 +6190,7 @@ Command, Variable, and Function Index
 * detach:                                Attach.              (line  36)
 * detach (remote):                       Connecting.          (line 205)
 * detach inferiors INFNO...:             Inferiors and Programs.
-                                                              (line 102)
+                                                              (line 105)
 * digit-argument (M-0, M-1, ... M--):    Numeric Arguments.   (line   6)
 * dir:                                   Source Path.         (line  38)
 * directory:                             Source Path.         (line  38)
@@ -5739,7 +6209,7 @@ Command, Variable, and Function Index
 * disable type-printer:                  Symbols.             (line 399)
 * disable-completion:                    Readline Init File Syntax.
                                                               (line  93)
-* disassemble:                           Machine Code.        (line  36)
+* disassemble:                           Machine Code.        (line  43)
 * disconnect:                            Connecting.          (line 214)
 * display:                               Auto Display.        (line  23)
 * do (down):                             Selection.           (line  32)
@@ -5852,7 +6322,7 @@ Command, Variable, and Function Index
                                                               (line  14)
 * flash-erase:                           Target Commands.     (line 140)
 * flushregs:                             Maintenance Commands.
-                                                              (line 295)
+                                                              (line 303)
 * flush_i_cache:                         Bootstrapping.       (line  60)
 * fo (forward-search):                   Search.              (line   9)
 * focus:                                 TUI Commands.        (line  55)
@@ -5952,6 +6422,8 @@ Command, Variable, and Function Index
 * gdb.COMPLETE_LOCATION:                 Commands In Python.  (line 183)
 * gdb.COMPLETE_NONE:                     Commands In Python.  (line 177)
 * gdb.COMPLETE_SYMBOL:                   Commands In Python.  (line 191)
+* gdb.convenience_variable:              Basic Python.        (line 102)
+* gdb.convenience_variable <1>:          Basic Python.        (line 102)
 * gdb.current_objfile:                   Objfiles In Python.  (line  15)
 * gdb.current_objfile <1>:               Objfiles In Python.  (line  15)
 * gdb.current_progspace:                 Progspaces In Python.
@@ -5960,19 +6432,19 @@ Command, Variable, and Function Index
                                                               (line  14)
 * gdb.current_recording:                 Recordings In Python.
                                                               (line  21)
-* gdb.decode_line:                       Basic Python.        (line 206)
-* gdb.decode_line <1>:                   Basic Python.        (line 206)
+* gdb.decode_line:                       Basic Python.        (line 221)
+* gdb.decode_line <1>:                   Basic Python.        (line 221)
 * gdb.default_visualizer:                Pretty Printing API. (line  85)
 * gdb.default_visualizer <1>:            Pretty Printing API. (line  85)
 * gdb.error:                             Exception Handling.  (line  22)
 * gdb.execute:                           Basic Python.        (line  36)
 * gdb.execute <1>:                       Basic Python.        (line  36)
-* gdb.find_pc_line:                      Basic Python.        (line 113)
-* gdb.find_pc_line <1>:                  Basic Python.        (line 113)
+* gdb.find_pc_line:                      Basic Python.        (line 128)
+* gdb.find_pc_line <1>:                  Basic Python.        (line 128)
 * gdb.FinishBreakpoint:                  Finish Breakpoints in Python.
                                                               (line   6)
-* gdb.flush:                             Basic Python.        (line 172)
-* gdb.flush <1>:                         Basic Python.        (line 172)
+* gdb.flush:                             Basic Python.        (line 187)
+* gdb.flush <1>:                         Basic Python.        (line 187)
 * gdb.frame_stop_reason_string:          Frames In Python.    (line  29)
 * gdb.Function:                          Functions In Python. (line   6)
 * gdb.GdbError:                          Exception Handling.  (line  42)
@@ -6006,36 +6478,40 @@ Command, Variable, and Function Index
 * gdb.parameter:                         Basic Python.        (line  78)
 * gdb.parameter <1>:                     Basic Python.        (line  78)
 * gdb.PARAM_AUTO_BOOLEAN:                Parameters In Python.
-                                                              (line  93)
+                                                              (line  94)
 * gdb.PARAM_BOOLEAN:                     Parameters In Python.
-                                                              (line  89)
+                                                              (line  90)
 * gdb.PARAM_ENUM:                        Parameters In Python.
-                                                              (line 127)
+                                                              (line 138)
 * gdb.PARAM_FILENAME:                    Parameters In Python.
-                                                              (line 119)
+                                                              (line 120)
 * gdb.PARAM_INTEGER:                     Parameters In Python.
-                                                              (line 102)
+                                                              (line 103)
 * gdb.PARAM_OPTIONAL_FILENAME:           Parameters In Python.
-                                                              (line 116)
+                                                              (line 117)
 * gdb.PARAM_STRING:                      Parameters In Python.
-                                                              (line 106)
+                                                              (line 107)
 * gdb.PARAM_STRING_NOESCAPE:             Parameters In Python.
-                                                              (line 112)
+                                                              (line 113)
 * gdb.PARAM_UINTEGER:                    Parameters In Python.
-                                                              (line  98)
+                                                              (line  99)
 * gdb.PARAM_ZINTEGER:                    Parameters In Python.
-                                                              (line 123)
-* gdb.parse_and_eval:                    Basic Python.        (line 102)
-* gdb.parse_and_eval <1>:                Basic Python.        (line 102)
-* gdb.post_event:                        Basic Python.        (line 120)
-* gdb.post_event <1>:                    Basic Python.        (line 120)
+                                                              (line 124)
+* gdb.PARAM_ZUINTEGER:                   Parameters In Python.
+                                                              (line 128)
+* gdb.PARAM_ZUINTEGER_UNLIMITED:         Parameters In Python.
+                                                              (line 133)
+* gdb.parse_and_eval:                    Basic Python.        (line 118)
+* gdb.parse_and_eval <1>:                Basic Python.        (line 118)
+* gdb.post_event:                        Basic Python.        (line 135)
+* gdb.post_event <1>:                    Basic Python.        (line 135)
 * gdb.Progspace:                         Progspaces In Python.
                                                               (line   6)
 * gdb.progspaces:                        Progspaces In Python.
                                                               (line  18)
 * gdb.progspaces <1>:                    Progspaces In Python.
                                                               (line  18)
-* gdb.prompt_hook:                       Basic Python.        (line 218)
+* gdb.prompt_hook:                       Basic Python.        (line 233)
 * gdb.PYTHONDIR:                         Basic Python.        (line  33)
 * gdb.PYTHONDIR <1>:                     Basic Python.        (line  33)
 * gdb.rbreak:                            Basic Python.        (line  62)
@@ -6045,16 +6521,18 @@ Command, Variable, and Function Index
 * gdb.selected_inferior:                 Inferiors In Python. (line  17)
 * gdb.selected_thread:                   Threads In Python.   (line  13)
 * gdb.selected_thread <1>:               Threads In Python.   (line  13)
-* gdb.solib_name:                        Basic Python.        (line 202)
-* gdb.solib_name <1>:                    Basic Python.        (line 202)
+* gdb.set_convenience_variable:          Basic Python.        (line 109)
+* gdb.set_convenience_variable <1>:      Basic Python.        (line 109)
+* gdb.solib_name:                        Basic Python.        (line 217)
+* gdb.solib_name <1>:                    Basic Python.        (line 217)
 * gdb.start_recording:                   Recordings In Python.
                                                               (line   9)
-* gdb.STDERR:                            Basic Python.        (line 162)
-* gdb.STDERR <1>:                        Basic Python.        (line 182)
-* gdb.STDLOG:                            Basic Python.        (line 165)
-* gdb.STDLOG <1>:                        Basic Python.        (line 185)
-* gdb.STDOUT:                            Basic Python.        (line 159)
-* gdb.STDOUT <1>:                        Basic Python.        (line 179)
+* gdb.STDERR:                            Basic Python.        (line 177)
+* gdb.STDERR <1>:                        Basic Python.        (line 197)
+* gdb.STDLOG:                            Basic Python.        (line 180)
+* gdb.STDLOG <1>:                        Basic Python.        (line 200)
+* gdb.STDOUT:                            Basic Python.        (line 174)
+* gdb.STDOUT <1>:                        Basic Python.        (line 194)
 * gdb.stop_recording:                    Recordings In Python.
                                                               (line  25)
 * gdb.string_to_argv:                    Commands In Python.  (line  61)
@@ -6084,38 +6562,38 @@ Command, Variable, and Function Index
                                                               (line   6)
 * gdb.Symtab_and_line:                   Symbol Tables In Python.
                                                               (line   6)
-* gdb.target_charset:                    Basic Python.        (line 191)
-* gdb.target_charset <1>:                Basic Python.        (line 191)
-* gdb.target_wide_charset:               Basic Python.        (line 196)
-* gdb.target_wide_charset <1>:           Basic Python.        (line 196)
+* gdb.target_charset:                    Basic Python.        (line 206)
+* gdb.target_charset <1>:                Basic Python.        (line 206)
+* gdb.target_wide_charset:               Basic Python.        (line 211)
+* gdb.target_wide_charset <1>:           Basic Python.        (line 211)
 * gdb.Type:                              Types In Python.     (line   6)
-* gdb.TYPE_CODE_ARRAY:                   Types In Python.     (line 192)
-* gdb.TYPE_CODE_BITSTRING:               Types In Python.     (line 230)
-* gdb.TYPE_CODE_BOOL:                    Types In Python.     (line 254)
-* gdb.TYPE_CODE_CHAR:                    Types In Python.     (line 251)
-* gdb.TYPE_CODE_COMPLEX:                 Types In Python.     (line 257)
-* gdb.TYPE_CODE_DECFLOAT:                Types In Python.     (line 266)
-* gdb.TYPE_CODE_ENUM:                    Types In Python.     (line 201)
-* gdb.TYPE_CODE_ERROR:                   Types In Python.     (line 233)
-* gdb.TYPE_CODE_FLAGS:                   Types In Python.     (line 204)
-* gdb.TYPE_CODE_FLT:                     Types In Python.     (line 213)
-* gdb.TYPE_CODE_FUNC:                    Types In Python.     (line 207)
-* gdb.TYPE_CODE_INT:                     Types In Python.     (line 210)
-* gdb.TYPE_CODE_INTERNAL_FUNCTION:       Types In Python.     (line 269)
-* gdb.TYPE_CODE_MEMBERPTR:               Types In Python.     (line 242)
-* gdb.TYPE_CODE_METHOD:                  Types In Python.     (line 236)
-* gdb.TYPE_CODE_METHODPTR:               Types In Python.     (line 239)
-* gdb.TYPE_CODE_NAMESPACE:               Types In Python.     (line 263)
-* gdb.TYPE_CODE_PTR:                     Types In Python.     (line 189)
-* gdb.TYPE_CODE_RANGE:                   Types In Python.     (line 222)
-* gdb.TYPE_CODE_REF:                     Types In Python.     (line 245)
-* gdb.TYPE_CODE_RVALUE_REF:              Types In Python.     (line 248)
-* gdb.TYPE_CODE_SET:                     Types In Python.     (line 219)
-* gdb.TYPE_CODE_STRING:                  Types In Python.     (line 225)
-* gdb.TYPE_CODE_STRUCT:                  Types In Python.     (line 195)
-* gdb.TYPE_CODE_TYPEDEF:                 Types In Python.     (line 260)
-* gdb.TYPE_CODE_UNION:                   Types In Python.     (line 198)
-* gdb.TYPE_CODE_VOID:                    Types In Python.     (line 216)
+* gdb.TYPE_CODE_ARRAY:                   Types In Python.     (line 198)
+* gdb.TYPE_CODE_BITSTRING:               Types In Python.     (line 236)
+* gdb.TYPE_CODE_BOOL:                    Types In Python.     (line 260)
+* gdb.TYPE_CODE_CHAR:                    Types In Python.     (line 257)
+* gdb.TYPE_CODE_COMPLEX:                 Types In Python.     (line 263)
+* gdb.TYPE_CODE_DECFLOAT:                Types In Python.     (line 272)
+* gdb.TYPE_CODE_ENUM:                    Types In Python.     (line 207)
+* gdb.TYPE_CODE_ERROR:                   Types In Python.     (line 239)
+* gdb.TYPE_CODE_FLAGS:                   Types In Python.     (line 210)
+* gdb.TYPE_CODE_FLT:                     Types In Python.     (line 219)
+* gdb.TYPE_CODE_FUNC:                    Types In Python.     (line 213)
+* gdb.TYPE_CODE_INT:                     Types In Python.     (line 216)
+* gdb.TYPE_CODE_INTERNAL_FUNCTION:       Types In Python.     (line 275)
+* gdb.TYPE_CODE_MEMBERPTR:               Types In Python.     (line 248)
+* gdb.TYPE_CODE_METHOD:                  Types In Python.     (line 242)
+* gdb.TYPE_CODE_METHODPTR:               Types In Python.     (line 245)
+* gdb.TYPE_CODE_NAMESPACE:               Types In Python.     (line 269)
+* gdb.TYPE_CODE_PTR:                     Types In Python.     (line 195)
+* gdb.TYPE_CODE_RANGE:                   Types In Python.     (line 228)
+* gdb.TYPE_CODE_REF:                     Types In Python.     (line 251)
+* gdb.TYPE_CODE_RVALUE_REF:              Types In Python.     (line 254)
+* gdb.TYPE_CODE_SET:                     Types In Python.     (line 225)
+* gdb.TYPE_CODE_STRING:                  Types In Python.     (line 231)
+* gdb.TYPE_CODE_STRUCT:                  Types In Python.     (line 201)
+* gdb.TYPE_CODE_TYPEDEF:                 Types In Python.     (line 266)
+* gdb.TYPE_CODE_UNION:                   Types In Python.     (line 204)
+* gdb.TYPE_CODE_VOID:                    Types In Python.     (line 222)
 * gdb.unwinder.register_unwinder:        Unwinding Frames in Python.
                                                               (line 122)
 * gdb.UnwindInfo.add_saved_register:     Unwinding Frames in Python.
@@ -6126,8 +6604,8 @@ Command, Variable, and Function Index
                                                               (line  80)
 * gdb.WP_WRITE:                          Breakpoints In Python.
                                                               (line  83)
-* gdb.write:                             Basic Python.        (line 154)
-* gdb.write <1>:                         Basic Python.        (line 154)
+* gdb.write:                             Basic Python.        (line 169)
+* gdb.write <1>:                         Basic Python.        (line 169)
 * gdb:error:                             Guile Exception Handling.
                                                               (line  69)
 * gdb:invalid-object:                    Guile Exception Handling.
@@ -6178,7 +6656,7 @@ Command, Variable, and Function Index
 * if:                                    Command Files.       (line  74)
 * ignore:                                Conditions.          (line  90)
 * inferior INFNO:                        Inferiors and Programs.
-                                                              (line  48)
+                                                              (line  51)
 * Inferior.is_valid:                     Inferiors In Python. (line  35)
 * Inferior.num:                          Inferiors In Python. (line  22)
 * Inferior.pid:                          Inferiors In Python. (line  25)
@@ -6222,18 +6700,18 @@ Command, Variable, and Function Index
 * info auxv:                             OS Information.      (line  20)
 * info breakpoints:                      Set Breaks.          (line 126)
 * info checkpoints:                      Checkpoint/Restart.  (line  31)
-* info classes:                          Symbols.             (line 466)
+* info classes:                          Symbols.             (line 471)
 * info common:                           Special Fortran Commands.
                                                               (line   9)
 * info copying:                          Help.                (line 138)
 * info dcache:                           Caching Target Data. (line  46)
 * info display:                          Auto Display.        (line  78)
-* info dll:                              Files.               (line 328)
+* info dll:                              Files.               (line 336)
 * info dos:                              DJGPP Native.        (line  15)
 * info exceptions:                       Ada Exceptions.      (line   8)
 * info extensions:                       Show.                (line  34)
 * info f (info frame):                   Frame Info.          (line  17)
-* info files:                            Files.               (line 203)
+* info files:                            Files.               (line 211)
 * info float:                            Floating Point Hardware.
                                                               (line   9)
 * info frame:                            Frame Info.          (line  17)
@@ -6242,7 +6720,7 @@ Command, Variable, and Function Index
                                                               (line  12)
 * info functions:                        Symbols.             (line 446)
 * info handle:                           Signals.             (line  33)
-* info inferiors:                        Inferiors and Programs.
+* info inferiors [ ID... ]:              Inferiors and Programs.
                                                               (line  25)
 * info io_registers, AVR:                AVR.                 (line  10)
 * info line:                             Machine Code.        (line  14)
@@ -6253,8 +6731,7 @@ Command, Variable, and Function Index
 * info macros:                           Macros.              (line  54)
 * info mem:                              Memory Region Attributes.
                                                               (line  45)
-* info meminfo:                          SVR4 Process Information.
-                                                              (line  92)
+* info meminfo:                          Process Information. (line 104)
 * info os:                               OS Information.      (line  37)
 * info os cpus:                          OS Information.      (line  43)
 * info os files:                         OS Information.      (line  51)
@@ -6266,23 +6743,21 @@ Command, Variable, and Function Index
 * info os shm:                           OS Information.      (line 102)
 * info os sockets:                       OS Information.      (line 112)
 * info os threads:                       OS Information.      (line 119)
-* info pidlist:                          SVR4 Process Information.
-                                                              (line  88)
+* info pidlist:                          Process Information. (line 100)
 * info pretty-printer:                   Pretty-Printer Commands.
                                                               (line   6)
 * info probes:                           Static Probe Points. (line  32)
-* info proc:                             SVR4 Process Information.
-                                                              (line  18)
+* info proc:                             Process Information. (line  25)
 * info program:                          Stopping.            (line  18)
 * info record:                           Process Record and Replay.
-                                                              (line 263)
+                                                              (line 317)
 * info registers:                        Registers.           (line  11)
 * info scope:                            Symbols.             (line 403)
-* info selectors:                        Symbols.             (line 472)
+* info selectors:                        Symbols.             (line 477)
 * info serial:                           DJGPP Native.        (line 139)
 * info set:                              Help.                (line 121)
-* info share:                            Files.               (line 322)
-* info sharedlibrary:                    Files.               (line 322)
+* info share:                            Files.               (line 330)
+* info sharedlibrary:                    Files.               (line 330)
 * info signals:                          Signals.             (line  33)
 * info skip:                             Skipping Over Functions and Files.
                                                               (line 113)
@@ -6290,11 +6765,11 @@ Command, Variable, and Function Index
 * info source, show the source language: Show.                (line  21)
 * info sources:                          Symbols.             (line 440)
 * info spu:                              SPU.                 (line  10)
-* info stack:                            Backtrace.           (line  46)
+* info stack:                            Backtrace.           (line  50)
 * info static-tracepoint-markers:        Listing Static Tracepoint Markers.
                                                               (line   6)
 * info symbol:                           Symbols.             (line  95)
-* info target:                           Files.               (line 203)
+* info target:                           Files.               (line 211)
 * info task TASKNO:                      Ada Tasks.           (line  88)
 * info tasks:                            Ada Tasks.           (line   9)
 * info terminal:                         Input/Output.        (line  12)
@@ -6305,7 +6780,7 @@ Command, Variable, and Function Index
                                                               (line  37)
 * info type-printers:                    Symbols.             (line 391)
 * info types:                            Symbols.             (line 377)
-* info variables:                        Symbols.             (line 457)
+* info variables:                        Symbols.             (line 460)
 * info vector:                           Vector Unit.         (line   9)
 * info w32:                              Cygwin Native.       (line  19)
 * info warranty:                         Help.                (line 142)
@@ -6358,7 +6833,7 @@ Command, Variable, and Function Index
                                                               (line 156)
 * kill:                                  Kill Process.        (line   6)
 * kill inferiors INFNO...:               Inferiors and Programs.
-                                                              (line 108)
+                                                              (line 111)
 * kill-line (C-k):                       Commands For Killing.
                                                               (line   6)
 * kill-region ():                        Commands For Killing.
@@ -6435,6 +6910,8 @@ Command, Variable, and Function Index
                                                               (line  94)
 * maint btrace packet-history:           Maintenance Commands.
                                                               (line  65)
+* maint check libthread-db:              Maintenance Commands.
+                                                              (line 244)
 * maint check xml-descriptions:          Maintenance Commands.
                                                               (line 240)
 * maint check-psymtabs:                  Maintenance Commands.
@@ -6453,19 +6930,19 @@ Command, Variable, and Function Index
                                                               (line 168)
 * maint expand-symtabs:                  Maintenance Commands.
                                                               (line 142)
-* maint flush-symbol-cache:              Symbols.             (line 610)
+* maint flush-symbol-cache:              Symbols.             (line 615)
 * maint info bfds:                       File Caching.        (line  10)
 * maint info breakpoints:                Maintenance Commands.
                                                               (line  32)
 * maint info btrace:                     Maintenance Commands.
                                                               (line  62)
-* maint info line-table:                 Symbols.             (line 588)
+* maint info line-table:                 Symbols.             (line 593)
 * maint info program-spaces:             Inferiors and Programs.
-                                                              (line 145)
-* maint info psymtabs:                   Symbols.             (line 541)
-* maint info sections:                   Files.               (line 212)
+                                                              (line 148)
+* maint info psymtabs:                   Symbols.             (line 546)
+* maint info sections:                   Files.               (line 220)
 * maint info sol-threads:                Threads.             (line 167)
-* maint info symtabs:                    Symbols.             (line 541)
+* maint info symtabs:                    Symbols.             (line 546)
 * maint internal-error:                  Maintenance Commands.
                                                               (line 173)
 * maint internal-warning:                Maintenance Commands.
@@ -6478,101 +6955,105 @@ Command, Variable, and Function Index
 * maint print c-tdesc [FILE]:            Maintenance Commands.
                                                               (line 230)
 * maint print cooked-registers:          Maintenance Commands.
-                                                              (line 260)
+                                                              (line 268)
 * maint print dummy-frames:              Maintenance Commands.
-                                                              (line 244)
-* maint print msymbols:                  Symbols.             (line 515)
+                                                              (line 252)
+* maint print msymbols:                  Symbols.             (line 520)
 * maint print objfiles:                  Maintenance Commands.
-                                                              (line 298)
-* maint print psymbols:                  Symbols.             (line 515)
+                                                              (line 306)
+* maint print psymbols:                  Symbols.             (line 520)
 * maint print raw-registers:             Maintenance Commands.
-                                                              (line 260)
+                                                              (line 268)
 * maint print reggroups:                 Maintenance Commands.
-                                                              (line 279)
+                                                              (line 287)
 * maint print register-groups:           Maintenance Commands.
-                                                              (line 260)
+                                                              (line 268)
 * maint print registers:                 Maintenance Commands.
-                                                              (line 260)
+                                                              (line 268)
 * maint print remote-registers:          Maintenance Commands.
-                                                              (line 260)
+                                                              (line 268)
 * maint print section-scripts:           Maintenance Commands.
-                                                              (line 313)
+                                                              (line 321)
 * maint print statistics:                Maintenance Commands.
-                                                              (line 320)
-* maint print symbol-cache:              Symbols.             (line 602)
-* maint print symbol-cache-statistics:   Symbols.             (line 606)
-* maint print symbols:                   Symbols.             (line 515)
+                                                              (line 328)
+* maint print symbol-cache:              Symbols.             (line 607)
+* maint print symbol-cache-statistics:   Symbols.             (line 611)
+* maint print symbols:                   Symbols.             (line 520)
 * maint print target-stack:              Maintenance Commands.
-                                                              (line 333)
+                                                              (line 341)
 * maint print type:                      Maintenance Commands.
-                                                              (line 345)
+                                                              (line 353)
 * maint print unwind, HPPA:              HPPA.                (line  17)
 * maint print user-registers:            Maintenance Commands.
-                                                              (line 304)
+                                                              (line 312)
 * maint selftest:                        Maintenance Commands.
-                                                              (line 352)
+                                                              (line 360)
 * maint set bfd-sharing:                 File Caching.        (line  14)
 * maint set btrace pt skip-pad:          Maintenance Commands.
                                                               (line 107)
 * maint set catch-demangler-crashes:     Maintenance Commands.
                                                               (line 146)
+* maint set check-libthread-db:          Maintenance Commands.
+                                                              (line 501)
 * maint set demangler-warning:           Maintenance Commands.
                                                               (line 197)
 * maint set dwarf always-disassemble:    Maintenance Commands.
-                                                              (line 361)
+                                                              (line 369)
 * maint set dwarf max-cache-age:         Maintenance Commands.
-                                                              (line 382)
+                                                              (line 390)
 * maint set internal-error:              Maintenance Commands.
                                                               (line 197)
 * maint set internal-warning:            Maintenance Commands.
                                                               (line 197)
 * maint set per-command:                 Maintenance Commands.
-                                                              (line 454)
+                                                              (line 462)
 * maint set profile:                     Maintenance Commands.
-                                                              (line 396)
+                                                              (line 404)
 * maint set show-all-tib:                Maintenance Commands.
-                                                              (line 420)
+                                                              (line 428)
 * maint set show-debug-regs:             Maintenance Commands.
-                                                              (line 412)
-* maint set symbol-cache-size:           Symbols.             (line 594)
+                                                              (line 420)
+* maint set symbol-cache-size:           Symbols.             (line 599)
 * maint set target-async:                Maintenance Commands.
-                                                              (line 426)
-* maint set target-non-stop MODE [on|off|auto]: Maintenance Commands.
                                                               (line 434)
+* maint set target-non-stop MODE [on|off|auto]: Maintenance Commands.
+                                                              (line 442)
 * maint show bfd-sharing:                File Caching.        (line  14)
 * maint show btrace pt skip-pad:         Maintenance Commands.
                                                               (line 108)
 * maint show catch-demangler-crashes:    Maintenance Commands.
                                                               (line 146)
+* maint show check-libthread-db:         Maintenance Commands.
+                                                              (line 501)
 * maint show demangler-warning:          Maintenance Commands.
                                                               (line 197)
 * maint show dwarf always-disassemble:   Maintenance Commands.
-                                                              (line 361)
+                                                              (line 369)
 * maint show dwarf max-cache-age:        Maintenance Commands.
-                                                              (line 382)
+                                                              (line 390)
 * maint show internal-error:             Maintenance Commands.
                                                               (line 197)
 * maint show internal-warning:           Maintenance Commands.
                                                               (line 197)
 * maint show per-command:                Maintenance Commands.
-                                                              (line 454)
+                                                              (line 462)
 * maint show profile:                    Maintenance Commands.
-                                                              (line 396)
+                                                              (line 404)
 * maint show show-all-tib:               Maintenance Commands.
-                                                              (line 420)
+                                                              (line 428)
 * maint show show-debug-regs:            Maintenance Commands.
-                                                              (line 412)
-* maint show symbol-cache-size:          Symbols.             (line 599)
+                                                              (line 420)
+* maint show symbol-cache-size:          Symbols.             (line 604)
 * maint show target-async:               Maintenance Commands.
-                                                              (line 426)
-* maint show target-non-stop:            Maintenance Commands.
                                                               (line 434)
+* maint show target-non-stop:            Maintenance Commands.
+                                                              (line 442)
 * maint space:                           Maintenance Commands.
-                                                              (line 493)
+                                                              (line 510)
 * maint time:                            Maintenance Commands.
-                                                              (line 497)
+                                                              (line 514)
 * maint translate-address:               Maintenance Commands.
-                                                              (line 501)
+                                                              (line 518)
 * maint undeprecate:                     Maintenance Commands.
                                                               (line 160)
 * make:                                  Shell Commands.      (line  21)
@@ -6655,7 +7136,7 @@ Command, Variable, and Function Index
                                                               (line  40)
 * non-incremental-reverse-search-history (M-p): Commands For History.
                                                               (line  35)
-* nosharedlibrary:                       Files.               (line 340)
+* nosharedlibrary:                       Files.               (line 348)
 * o (SingleKey TUI key):                 TUI Single Key Mode. (line  22)
 * Objfile:                               Objfiles In Python.  (line   6)
 * objfile-filename:                      Objfiles In Guile.   (line  28)
@@ -6693,7 +7174,7 @@ Command, Variable, and Function Index
 * Parameter.get_set_string:              Parameters In Python.
                                                               (line  73)
 * Parameter.get_show_string:             Parameters In Python.
-                                                              (line  79)
+                                                              (line  80)
 * Parameter.set_doc:                     Parameters In Python.
                                                               (line  53)
 * Parameter.show_doc:                    Parameters In Python.
@@ -6704,36 +7185,40 @@ Command, Variable, and Function Index
                                                               (line  18)
 * parameter?:                            Parameters In Guile. (line  99)
 * PARAM_AUTO_BOOLEAN:                    Parameters In Python.
-                                                              (line  93)
+                                                              (line  94)
 * PARAM_AUTO_BOOLEAN <1>:                Parameters In Guile. (line 120)
 * PARAM_BOOLEAN:                         Parameters In Python.
-                                                              (line  89)
+                                                              (line  90)
 * PARAM_BOOLEAN <1>:                     Parameters In Guile. (line 116)
 * PARAM_ENUM:                            Parameters In Python.
-                                                              (line 127)
+                                                              (line 138)
 * PARAM_ENUM <1>:                        Parameters In Guile. (line 156)
 * PARAM_FILENAME:                        Parameters In Python.
-                                                              (line 119)
+                                                              (line 120)
 * PARAM_FILENAME <1>:                    Parameters In Guile. (line 152)
 * PARAM_INTEGER:                         Parameters In Python.
-                                                              (line 102)
+                                                              (line 103)
 * PARAM_OPTIONAL_FILENAME:               Parameters In Python.
-                                                              (line 116)
+                                                              (line 117)
 * PARAM_OPTIONAL_FILENAME <1>:           Parameters In Guile. (line 149)
 * PARAM_STRING:                          Parameters In Python.
-                                                              (line 106)
+                                                              (line 107)
 * PARAM_STRING <1>:                      Parameters In Guile. (line 139)
 * PARAM_STRING_NOESCAPE:                 Parameters In Python.
-                                                              (line 112)
+                                                              (line 113)
 * PARAM_STRING_NOESCAPE <1>:             Parameters In Guile. (line 145)
 * PARAM_UINTEGER:                        Parameters In Python.
-                                                              (line  98)
+                                                              (line  99)
 * PARAM_UINTEGER <1>:                    Parameters In Guile. (line 125)
 * PARAM_ZINTEGER:                        Parameters In Python.
-                                                              (line 123)
+                                                              (line 124)
 * PARAM_ZINTEGER <1>:                    Parameters In Guile. (line 129)
-* PARAM_ZUINTEGER:                       Parameters In Guile. (line 132)
-* PARAM_ZUINTEGER_UNLIMITED:             Parameters In Guile. (line 135)
+* PARAM_ZUINTEGER:                       Parameters In Python.
+                                                              (line 128)
+* PARAM_ZUINTEGER <1>:                   Parameters In Guile. (line 132)
+* PARAM_ZUINTEGER_UNLIMITED:             Parameters In Python.
+                                                              (line 133)
+* PARAM_ZUINTEGER_UNLIMITED <1>:         Parameters In Guile. (line 135)
 * parse-and-eval:                        Basic Guile.         (line 113)
 * passcount:                             Tracepoint Passcounts.
                                                               (line   6)
@@ -6780,14 +7265,10 @@ Command, Variable, and Function Index
 * print-object:                          The Print Command with Objective-C.
                                                               (line   6)
 * printf:                                Output.              (line  46)
-* proc-trace-entry:                      SVR4 Process Information.
-                                                              (line  84)
-* proc-trace-exit:                       SVR4 Process Information.
-                                                              (line  84)
-* proc-untrace-entry:                    SVR4 Process Information.
-                                                              (line  84)
-* proc-untrace-exit:                     SVR4 Process Information.
-                                                              (line  84)
+* proc-trace-entry:                      Process Information. (line  96)
+* proc-trace-exit:                       Process Information. (line  96)
+* proc-untrace-entry:                    Process Information. (line  96)
+* proc-untrace-exit:                     Process Information. (line  96)
 * Progspace:                             Progspaces In Python.
                                                               (line   6)
 * progspace-filename:                    Progspaces In Guile. (line  34)
@@ -6827,7 +7308,7 @@ Command, Variable, and Function Index
 * rc (reverse-continue):                 Reverse Execution.   (line  30)
 * re-read-init-file (C-x C-r):           Miscellaneous Commands.
                                                               (line   6)
-* readnow:                               Files.               (line  89)
+* readnow:                               Files.               (line  94)
 * rec:                                   Process Record and Replay.
                                                               (line  38)
 * rec btrace:                            Process Record and Replay.
@@ -6839,13 +7320,13 @@ Command, Variable, and Function Index
 * rec bts:                               Process Record and Replay.
                                                               (line  38)
 * rec del:                               Process Record and Replay.
-                                                              (line 297)
+                                                              (line 351)
 * rec full:                              Process Record and Replay.
                                                               (line  38)
 * rec function-call-history:             Process Record and Replay.
-                                                              (line 363)
+                                                              (line 417)
 * rec instruction-history:               Process Record and Replay.
-                                                              (line 303)
+                                                              (line 357)
 * rec pt:                                Process Record and Replay.
                                                               (line  38)
 * rec s:                                 Process Record and Replay.
@@ -6862,15 +7343,15 @@ Command, Variable, and Function Index
 * record bts:                            Process Record and Replay.
                                                               (line  38)
 * record delete:                         Process Record and Replay.
-                                                              (line 297)
+                                                              (line 351)
 * record full:                           Process Record and Replay.
                                                               (line  38)
 * record function-call-history:          Process Record and Replay.
-                                                              (line 363)
+                                                              (line 417)
 * record goto:                           Process Record and Replay.
                                                               (line 123)
 * record instruction-history:            Process Record and Replay.
-                                                              (line 303)
+                                                              (line 357)
 * record pt:                             Process Record and Replay.
                                                               (line  38)
 * record restore:                        Process Record and Replay.
@@ -6934,8 +7415,8 @@ Command, Variable, and Function Index
 * remote get:                            File Transfer.       (line  19)
 * remote put:                            File Transfer.       (line  15)
 * remove-inferiors:                      Inferiors and Programs.
-                                                              (line  92)
-* remove-symbol-file:                    Files.               (line 166)
+                                                              (line  95)
+* remove-symbol-file:                    Files.               (line 174)
 * restart CHECKPOINT-ID:                 Checkpoint/Restart.  (line  41)
 * restore:                               Dump/Restore Files.  (line  40)
 * RET (repeat last command):             Command Syntax.      (line  21)
@@ -6978,11 +7459,11 @@ Command, Variable, and Function Index
 * sal?:                                  Symbol Tables In Guile.
                                                               (line  49)
 * save breakpoints:                      Save Breakpoints.    (line   9)
-* save gdb-index:                        Index Files.         (line  19)
+* save gdb-index:                        Index Files.         (line  30)
 * save tracepoints:                      save tracepoints.    (line   6)
 * save-tracepoints:                      save tracepoints.    (line   6)
 * search:                                Search.              (line   9)
-* section:                               Files.               (line 195)
+* section:                               Files.               (line 203)
 * select-frame:                          Selection.           (line  56)
 * selected-frame:                        Frames In Guile.     (line 156)
 * self:                                  Commands In Guile.   (line 100)
@@ -7012,9 +7493,9 @@ Command, Variable, and Function Index
                                                               (line  32)
 * set auto-load scripts-directory:       objfile-gdbdotext file.
                                                               (line  37)
-* set auto-solib-add:                    Files.               (line 299)
-* set backtrace:                         Backtrace.           (line 116)
-* set basenames-may-differ:              Files.               (line 528)
+* set auto-solib-add:                    Files.               (line 307)
+* set backtrace:                         Backtrace.           (line 120)
+* set basenames-may-differ:              Files.               (line 536)
 * set breakpoint always-inserted:        Set Breaks.          (line 318)
 * set breakpoint auto-hw:                Set Breaks.          (line 298)
 * set breakpoint condition-evaluation:   Set Breaks.          (line 339)
@@ -7069,9 +7550,9 @@ Command, Variable, and Function Index
 * set detach-on-fork:                    Forks.               (line  58)
 * set directories:                       Source Path.         (line 118)
 * set disable-randomization:             Starting.            (line 212)
-* set disassemble-next-line:             Machine Code.        (line 242)
-* set disassembler-options:              Machine Code.        (line 215)
-* set disassembly-flavor:                Machine Code.        (line 230)
+* set disassemble-next-line:             Machine Code.        (line 249)
+* set disassembler-options:              Machine Code.        (line 222)
+* set disassembly-flavor:                Machine Code.        (line 237)
 * set disconnected-dprintf:              Dynamic Printf.      (line  83)
 * set disconnected-tracing:              Starting and Stopping Trace Experiments.
                                                               (line  55)
@@ -7096,7 +7577,7 @@ Command, Variable, and Function Index
 * set guile print-stack:                 Guile Exception Handling.
                                                               (line   6)
 * set hash, for remote monitors:         Target Commands.     (line  98)
-* set height:                            Screen Size.         (line  20)
+* set height:                            Screen Size.         (line  22)
 * set history expansion:                 Command History.     (line  82)
 * set history filename:                  Command History.     (line  26)
 * set history remove-duplicates:         Command History.     (line  54)
@@ -7126,28 +7607,26 @@ Command, Variable, and Function Index
 * set new-console:                       Cygwin Native.       (line  72)
 * set new-group:                         Cygwin Native.       (line  81)
 * set non-stop:                          Non-Stop Mode.       (line  35)
-* set opaque-type-resolution:            Symbols.             (line 478)
+* set opaque-type-resolution:            Symbols.             (line 483)
 * set osabi:                             ABI.                 (line  11)
 * set output-radix:                      Numbers.             (line  30)
 * set overload-resolution:               Debugging C Plus Plus.
                                                               (line  59)
-* set pagination:                        Screen Size.         (line  39)
+* set pagination:                        Screen Size.         (line  41)
 * set powerpc:                           PowerPC Embedded.    (line  51)
 * set print:                             Print Settings.      (line  11)
 * set print entry-values:                Print Settings.      (line 206)
 * set print frame-arguments:             Print Settings.      (line 154)
 * set print inferior-events:             Inferiors and Programs.
-                                                              (line 123)
-* set print symbol-loading:              Symbols.             (line 496)
+                                                              (line 126)
+* set print symbol-loading:              Symbols.             (line 501)
 * set print thread-events:               Threads.             (line 221)
 * set print type methods:                Symbols.             (line  44)
 * set print type nested-type-limit:      Symbols.             (line  57)
 * set print type typedefs:               Symbols.             (line  68)
 * set processor:                         Targets.             (line  31)
-* set procfs-file:                       SVR4 Process Information.
-                                                              (line  73)
-* set procfs-trace:                      SVR4 Process Information.
-                                                              (line  67)
+* set procfs-file:                       Process Information. (line  85)
+* set procfs-trace:                      Process Information. (line  79)
 * set prompt:                            Prompt.              (line  16)
 * set python print-stack:                Python Commands.     (line  46)
 * set radix:                             Numbers.             (line  43)
@@ -7156,13 +7635,13 @@ Command, Variable, and Function Index
 * set ravenscar task-switching off:      Ravenscar Profile.   (line  14)
 * set ravenscar task-switching on:       Ravenscar Profile.   (line  10)
 * set record:                            Process Record and Replay.
-                                                              (line 353)
+                                                              (line 407)
 * set record btrace:                     Process Record and Replay.
                                                               (line 198)
 * set record btrace bts:                 Process Record and Replay.
-                                                              (line 217)
+                                                              (line 271)
 * set record btrace pt:                  Process Record and Replay.
-                                                              (line 240)
+                                                              (line 294)
 * set record full:                       Process Record and Replay.
                                                               (line 148)
 * set remote:                            Remote Configuration.
@@ -7180,20 +7659,20 @@ Command, Variable, and Function Index
 * set signals, Hurd command:             Hurd Native.         (line  11)
 * set sigs, Hurd command:                Hurd Native.         (line  11)
 * set sigthread:                         Hurd Native.         (line  21)
-* set solib-absolute-prefix:             Files.               (line 378)
-* set solib-search-path:                 Files.               (line 454)
+* set solib-absolute-prefix:             Files.               (line 386)
+* set solib-search-path:                 Files.               (line 462)
 * set spu:                               SPU.                 (line  38)
 * set stack-cache:                       Caching Target Data. (line  28)
 * set startup-with-shell:                Starting.            (line 145)
 * set step-mode:                         Continuing and Stepping.
                                                               (line  91)
-* set stop-on-solib-events:              Files.               (line 355)
+* set stop-on-solib-events:              Files.               (line 363)
 * set stopped, Hurd command:             Hurd Native.         (line  31)
 * set struct-convention:                 i386.                (line   7)
 * set substitute-path:                   Source Path.         (line 125)
-* set sysroot:                           Files.               (line 378)
+* set sysroot:                           Files.               (line 386)
 * set target-charset:                    Character Sets.      (line  28)
-* set target-file-system-kind (unix|dos-based|auto): Files.   (line 468)
+* set target-file-system-kind (unix|dos-based|auto): Files.   (line 476)
 * set target-wide-charset:               Character Sets.      (line  61)
 * set task, Hurd commands:               Hurd Native.         (line  48)
 * set tcp:                               Remote Configuration.
@@ -7208,7 +7687,7 @@ Command, Variable, and Function Index
                                                               (line 132)
 * set trace-user:                        Starting and Stopping Trace Experiments.
                                                               (line 122)
-* set trust-readonly-sections:           Files.               (line 257)
+* set trust-readonly-sections:           Files.               (line 265)
 * set tui active-border-mode:            TUI Configuration.   (line  24)
 * set tui border-kind:                   TUI Configuration.   (line   9)
 * set tui border-mode:                   TUI Configuration.   (line  23)
@@ -7217,10 +7696,11 @@ Command, Variable, and Function Index
 * set use-coredump-filter:               Core File Generation.
                                                               (line  33)
 * set variable:                          Assignment.          (line  16)
+* set varsize-limit:                     Ada Settings.        (line   6)
 * set verbose:                           Messages/Warnings.   (line  15)
 * set watchdog:                          Maintenance Commands.
-                                                              (line 518)
-* set width:                             Screen Size.         (line  20)
+                                                              (line 535)
+* set width:                             Screen Size.         (line  22)
 * set write:                             Patching.            (line  15)
 * set-breakpoint-condition!:             Breakpoints In Guile.
                                                               (line 198)
@@ -7253,8 +7733,8 @@ Command, Variable, and Function Index
                                                               (line  38)
 * set-progspace-pretty-printers!:        Progspaces In Guile. (line  57)
 * set_debug_traps:                       Stub Contents.       (line  10)
-* share:                                 Files.               (line 331)
-* sharedlibrary:                         Files.               (line 331)
+* share:                                 Files.               (line 339)
+* sharedlibrary:                         Files.               (line 339)
 * shell:                                 Shell Commands.      (line  10)
 * show:                                  Help.                (line 114)
 * show ada print-signatures:             Overloading support for Ada.
@@ -7279,9 +7759,9 @@ Command, Variable, and Function Index
                                                               (line  46)
 * show auto-load scripts-directory:      objfile-gdbdotext file.
                                                               (line  61)
-* show auto-solib-add:                   Files.               (line 316)
-* show backtrace:                        Backtrace.           (line 123)
-* show basenames-may-differ:             Files.               (line 531)
+* show auto-solib-add:                   Files.               (line 324)
+* show backtrace:                        Backtrace.           (line 127)
+* show basenames-may-differ:             Files.               (line 539)
 * show breakpoint always-inserted:       Set Breaks.          (line 318)
 * show breakpoint auto-hw:               Set Breaks.          (line 298)
 * show breakpoint condition-evaluation:  Set Breaks.          (line 339)
@@ -7332,9 +7812,9 @@ Command, Variable, and Function Index
 * show default-collect:                  Tracepoint Actions.  (line 150)
 * show detach-on-fork:                   Forks.               (line  73)
 * show directories:                      Source Path.         (line 122)
-* show disassemble-next-line:            Machine Code.        (line 242)
-* show disassembler-options:             Machine Code.        (line 227)
-* show disassembly-flavor:               Machine Code.        (line 239)
+* show disassemble-next-line:            Machine Code.        (line 249)
+* show disassembler-options:             Machine Code.        (line 234)
+* show disassembly-flavor:               Machine Code.        (line 246)
 * show disconnected-dprintf:             Dynamic Printf.      (line  88)
 * show disconnected-tracing:             Starting and Stopping Trace Experiments.
                                                               (line  62)
@@ -7350,7 +7830,7 @@ Command, Variable, and Function Index
                                                               (line  91)
 * show gnutarget:                        Target Commands.     (line  40)
 * show hash, for remote monitors:        Target Commands.     (line 104)
-* show height:                           Screen Size.         (line  20)
+* show height:                           Screen Size.         (line  22)
 * show history:                          Command History.     (line  87)
 * show host-charset:                     Character Sets.      (line  55)
 * show inferior-tty:                     Input/Output.        (line  54)
@@ -7376,35 +7856,33 @@ Command, Variable, and Function Index
 * show new-console:                      Cygwin Native.       (line  77)
 * show new-group:                        Cygwin Native.       (line  86)
 * show non-stop:                         Non-Stop Mode.       (line  38)
-* show opaque-type-resolution:           Symbols.             (line 493)
+* show opaque-type-resolution:           Symbols.             (line 498)
 * show osabi:                            ABI.                 (line  11)
 * show output-radix:                     Numbers.             (line  38)
 * show overload-resolution:              Debugging C Plus Plus.
                                                               (line  76)
-* show pagination:                       Screen Size.         (line  45)
+* show pagination:                       Screen Size.         (line  47)
 * show paths:                            Environment.         (line  29)
 * show print:                            Print Settings.      (line  39)
 * show print inferior-events:            Inferiors and Programs.
-                                                              (line 131)
-* show print symbol-loading:             Symbols.             (line 511)
+                                                              (line 134)
+* show print symbol-loading:             Symbols.             (line 516)
 * show print thread-events:              Threads.             (line 231)
 * show print type methods:               Symbols.             (line  53)
 * show print type nested-type-limit:     Symbols.             (line  64)
 * show print type typedefs:              Symbols.             (line  81)
 * show processor:                        Targets.             (line  31)
-* show procfs-file:                      SVR4 Process Information.
-                                                              (line  78)
-* show procfs-trace:                     SVR4 Process Information.
-                                                              (line  70)
+* show procfs-file:                      Process Information. (line  90)
+* show procfs-trace:                     Process Information. (line  82)
 * show prompt:                           Prompt.              (line  19)
 * show radix:                            Numbers.             (line  43)
 * show range-stepping:                   Continuing and Stepping.
                                                               (line 221)
 * show ravenscar task-switching:         Ravenscar Profile.   (line  22)
 * show record:                           Process Record and Replay.
-                                                              (line 359)
+                                                              (line 413)
 * show record btrace:                    Process Record and Replay.
-                                                              (line 214)
+                                                              (line 264)
 * show record full:                      Process Record and Replay.
                                                               (line 166)
 * show remote:                           Remote Configuration.
@@ -7421,16 +7899,16 @@ Command, Variable, and Function Index
 * show signals, Hurd command:            Hurd Native.         (line  17)
 * show sigs, Hurd command:               Hurd Native.         (line  17)
 * show sigthread:                        Hurd Native.         (line  27)
-* show solib-search-path:                Files.               (line 465)
+* show solib-search-path:                Files.               (line 473)
 * show spu:                              SPU.                 (line  43)
 * show stack-cache:                      Caching Target Data. (line  33)
-* show stop-on-solib-events:             Files.               (line 361)
+* show stop-on-solib-events:             Files.               (line 369)
 * show stopped, Hurd command:            Hurd Native.         (line  36)
 * show struct-convention:                i386.                (line  15)
 * show substitute-path:                  Source Path.         (line 162)
-* show sysroot:                          Files.               (line 451)
+* show sysroot:                          Files.               (line 459)
 * show target-charset:                   Character Sets.      (line  58)
-* show target-file-system-kind:          Files.               (line 468)
+* show target-file-system-kind:          Files.               (line 476)
 * show target-wide-charset:              Character Sets.      (line  67)
 * show task, Hurd commands:              Hurd Native.         (line  56)
 * show tcp:                              Remote Configuration.
@@ -7448,10 +7926,11 @@ Command, Variable, and Function Index
 * show unwindonsignal:                   Calling.             (line  43)
 * show user:                             Define.              (line  84)
 * show values:                           Value History.       (line  47)
+* show varsize-limit:                    Ada Settings.        (line  26)
 * show verbose:                          Messages/Warnings.   (line  21)
 * show version:                          Help.                (line 128)
 * show warranty:                         Help.                (line 142)
-* show width:                            Screen Size.         (line  20)
+* show width:                            Screen Size.         (line  22)
 * show write:                            Patching.            (line  26)
 * show-all-if-ambiguous:                 Readline Init File Syntax.
                                                               (line 212)
@@ -7499,13 +7978,13 @@ Command, Variable, and Function Index
 * starti:                                Starting.            (line 113)
 * starting annotation:                   Annotations for Running.
                                                               (line   6)
-* STDERR:                                Basic Python.        (line 162)
-* STDERR <1>:                            Basic Python.        (line 182)
+* STDERR:                                Basic Python.        (line 177)
+* STDERR <1>:                            Basic Python.        (line 197)
 * stdio-port?:                           I/O Ports in Guile.  (line  15)
-* STDLOG:                                Basic Python.        (line 165)
-* STDLOG <1>:                            Basic Python.        (line 185)
-* STDOUT:                                Basic Python.        (line 159)
-* STDOUT <1>:                            Basic Python.        (line 179)
+* STDLOG:                                Basic Python.        (line 180)
+* STDLOG <1>:                            Basic Python.        (line 200)
+* STDOUT:                                Basic Python.        (line 174)
+* STDOUT <1>:                            Basic Python.        (line 194)
 * step:                                  Continuing and Stepping.
                                                               (line  45)
 * step&:                                 Background Execution.
@@ -7703,76 +8182,77 @@ Command, Variable, and Function Index
 * type-unqualified:                      Types In Guile.      (line 107)
 * type-vector:                           Types In Guile.      (line  60)
 * type-volatile:                         Types In Guile.      (line 103)
-* Type.array:                            Types In Python.     (line 102)
-* Type.code:                             Types In Python.     (line  32)
-* Type.const:                            Types In Python.     (line 123)
-* Type.fields:                           Types In Python.     (line  53)
-* Type.name:                             Types In Python.     (line  36)
-* Type.optimized_out:                    Types In Python.     (line 180)
-* Type.pointer:                          Types In Python.     (line 146)
-* Type.range:                            Types In Python.     (line 136)
-* Type.reference:                        Types In Python.     (line 142)
-* Type.sizeof:                           Types In Python.     (line  40)
-* Type.strip_typedefs:                   Types In Python.     (line 150)
-* Type.tag:                              Types In Python.     (line  45)
-* Type.target:                           Types In Python.     (line 154)
-* Type.template_argument:                Types In Python.     (line 168)
-* Type.unqualified:                      Types In Python.     (line 131)
-* Type.vector:                           Types In Python.     (line 110)
-* Type.volatile:                         Types In Python.     (line 127)
+* Type.alignof:                          Types In Python.     (line  32)
+* Type.array:                            Types In Python.     (line 108)
+* Type.code:                             Types In Python.     (line  38)
+* Type.const:                            Types In Python.     (line 129)
+* Type.fields:                           Types In Python.     (line  59)
+* Type.name:                             Types In Python.     (line  42)
+* Type.optimized_out:                    Types In Python.     (line 186)
+* Type.pointer:                          Types In Python.     (line 152)
+* Type.range:                            Types In Python.     (line 142)
+* Type.reference:                        Types In Python.     (line 148)
+* Type.sizeof:                           Types In Python.     (line  46)
+* Type.strip_typedefs:                   Types In Python.     (line 156)
+* Type.tag:                              Types In Python.     (line  51)
+* Type.target:                           Types In Python.     (line 160)
+* Type.template_argument:                Types In Python.     (line 174)
+* Type.unqualified:                      Types In Python.     (line 137)
+* Type.vector:                           Types In Python.     (line 116)
+* Type.volatile:                         Types In Python.     (line 133)
 * type?:                                 Types In Guile.      (line  11)
-* TYPE_CODE_ARRAY:                       Types In Python.     (line 192)
+* TYPE_CODE_ARRAY:                       Types In Python.     (line 198)
 * TYPE_CODE_ARRAY <1>:                   Types In Guile.      (line 153)
-* TYPE_CODE_BITSTRING:                   Types In Python.     (line 230)
+* TYPE_CODE_BITSTRING:                   Types In Python.     (line 236)
 * TYPE_CODE_BITSTRING <1>:               Types In Guile.      (line 191)
-* TYPE_CODE_BOOL:                        Types In Python.     (line 254)
+* TYPE_CODE_BOOL:                        Types In Python.     (line 260)
 * TYPE_CODE_BOOL <1>:                    Types In Guile.      (line 212)
-* TYPE_CODE_CHAR:                        Types In Python.     (line 251)
+* TYPE_CODE_CHAR:                        Types In Python.     (line 257)
 * TYPE_CODE_CHAR <1>:                    Types In Guile.      (line 209)
-* TYPE_CODE_COMPLEX:                     Types In Python.     (line 257)
+* TYPE_CODE_COMPLEX:                     Types In Python.     (line 263)
 * TYPE_CODE_COMPLEX <1>:                 Types In Guile.      (line 215)
-* TYPE_CODE_DECFLOAT:                    Types In Python.     (line 266)
+* TYPE_CODE_DECFLOAT:                    Types In Python.     (line 272)
 * TYPE_CODE_DECFLOAT <1>:                Types In Guile.      (line 224)
-* TYPE_CODE_ENUM:                        Types In Python.     (line 201)
+* TYPE_CODE_ENUM:                        Types In Python.     (line 207)
 * TYPE_CODE_ENUM <1>:                    Types In Guile.      (line 162)
-* TYPE_CODE_ERROR:                       Types In Python.     (line 233)
+* TYPE_CODE_ERROR:                       Types In Python.     (line 239)
 * TYPE_CODE_ERROR <1>:                   Types In Guile.      (line 194)
-* TYPE_CODE_FLAGS:                       Types In Python.     (line 204)
+* TYPE_CODE_FLAGS:                       Types In Python.     (line 210)
 * TYPE_CODE_FLAGS <1>:                   Types In Guile.      (line 165)
-* TYPE_CODE_FLT:                         Types In Python.     (line 213)
+* TYPE_CODE_FLT:                         Types In Python.     (line 219)
 * TYPE_CODE_FLT <1>:                     Types In Guile.      (line 174)
-* TYPE_CODE_FUNC:                        Types In Python.     (line 207)
+* TYPE_CODE_FUNC:                        Types In Python.     (line 213)
 * TYPE_CODE_FUNC <1>:                    Types In Guile.      (line 168)
-* TYPE_CODE_INT:                         Types In Python.     (line 210)
+* TYPE_CODE_INT:                         Types In Python.     (line 216)
 * TYPE_CODE_INT <1>:                     Types In Guile.      (line 171)
-* TYPE_CODE_INTERNAL_FUNCTION:           Types In Python.     (line 269)
+* TYPE_CODE_INTERNAL_FUNCTION:           Types In Python.     (line 275)
 * TYPE_CODE_INTERNAL_FUNCTION <1>:       Types In Guile.      (line 227)
-* TYPE_CODE_MEMBERPTR:                   Types In Python.     (line 242)
+* TYPE_CODE_MEMBERPTR:                   Types In Python.     (line 248)
 * TYPE_CODE_MEMBERPTR <1>:               Types In Guile.      (line 203)
-* TYPE_CODE_METHOD:                      Types In Python.     (line 236)
+* TYPE_CODE_METHOD:                      Types In Python.     (line 242)
 * TYPE_CODE_METHOD <1>:                  Types In Guile.      (line 197)
-* TYPE_CODE_METHODPTR:                   Types In Python.     (line 239)
+* TYPE_CODE_METHODPTR:                   Types In Python.     (line 245)
 * TYPE_CODE_METHODPTR <1>:               Types In Guile.      (line 200)
-* TYPE_CODE_NAMESPACE:                   Types In Python.     (line 263)
+* TYPE_CODE_NAMESPACE:                   Types In Python.     (line 269)
 * TYPE_CODE_NAMESPACE <1>:               Types In Guile.      (line 221)
-* TYPE_CODE_PTR:                         Types In Python.     (line 189)
+* TYPE_CODE_PTR:                         Types In Python.     (line 195)
 * TYPE_CODE_PTR <1>:                     Types In Guile.      (line 150)
-* TYPE_CODE_RANGE:                       Types In Python.     (line 222)
+* TYPE_CODE_RANGE:                       Types In Python.     (line 228)
 * TYPE_CODE_RANGE <1>:                   Types In Guile.      (line 183)
-* TYPE_CODE_REF:                         Types In Python.     (line 245)
+* TYPE_CODE_REF:                         Types In Python.     (line 251)
 * TYPE_CODE_REF <1>:                     Types In Guile.      (line 206)
-* TYPE_CODE_RVALUE_REF:                  Types In Python.     (line 248)
-* TYPE_CODE_SET:                         Types In Python.     (line 219)
+* TYPE_CODE_RVALUE_REF:                  Types In Python.     (line 254)
+* TYPE_CODE_SET:                         Types In Python.     (line 225)
 * TYPE_CODE_SET <1>:                     Types In Guile.      (line 180)
-* TYPE_CODE_STRING:                      Types In Python.     (line 225)
+* TYPE_CODE_STRING:                      Types In Python.     (line 231)
 * TYPE_CODE_STRING <1>:                  Types In Guile.      (line 186)
-* TYPE_CODE_STRUCT:                      Types In Python.     (line 195)
+* TYPE_CODE_STRUCT:                      Types In Python.     (line 201)
 * TYPE_CODE_STRUCT <1>:                  Types In Guile.      (line 156)
-* TYPE_CODE_TYPEDEF:                     Types In Python.     (line 260)
+* TYPE_CODE_TYPEDEF:                     Types In Python.     (line 266)
 * TYPE_CODE_TYPEDEF <1>:                 Types In Guile.      (line 218)
-* TYPE_CODE_UNION:                       Types In Python.     (line 198)
+* TYPE_CODE_UNION:                       Types In Python.     (line 204)
 * TYPE_CODE_UNION <1>:                   Types In Guile.      (line 159)
-* TYPE_CODE_VOID:                        Types In Python.     (line 216)
+* TYPE_CODE_VOID:                        Types In Python.     (line 222)
 * TYPE_CODE_VOID <1>:                    Types In Guile.      (line 177)
 * u (SingleKey TUI key):                 TUI Single Key Mode. (line  37)
 * u (until):                             Continuing and Stepping.
@@ -7911,7 +8391,7 @@ Command, Variable, and Function Index
 * watchpoint annotation:                 Annotations for Running.
                                                               (line  50)
 * whatis:                                Symbols.             (line 125)
-* where:                                 Backtrace.           (line  46)
+* where:                                 Backtrace.           (line  50)
 * while:                                 Command Files.       (line  85)
 * while-stepping (tracepoints):          Tracepoint Actions.  (line 126)
 * winheight:                             TUI Commands.        (line 110)
@@ -7928,7 +8408,7 @@ Command, Variable, and Function Index
 * WP_WRITE <1>:                          Breakpoints In Guile.
                                                               (line  81)
 * x (examine memory):                    Memory.              (line   9)
-* x(examine), and info line:             Machine Code.        (line  30)
+* x(examine), and info line:             Machine Code.        (line  34)
 * XMethod.__init__:                      Xmethod API.         (line  38)
 * XMethodMatcher.match:                  Xmethod API.         (line  47)
 * XMethodMatcher.__init__:               Xmethod API.         (line  43)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdbinit.5 ./gdb/doc/gdbinit.5
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdbinit.5	2018-07-03 02:10:48.000000000 +0000
+++ ./gdb/doc/gdbinit.5	2018-07-10 02:10:36.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBINIT 5"
-.TH GDBINIT 5 "2018-07-03" "gdb-8.1.0.20180703-git" "GNU Development Tools"
+.TH GDBINIT 5 "2018-07-10" "gdb-8.1.90.20180710-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.1.0.20180703/gdb/doc/gdbserver.1 ./gdb/doc/gdbserver.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdbserver.1	2018-07-03 02:10:47.000000000 +0000
+++ ./gdb/doc/gdbserver.1	2018-07-10 02:10:35.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBSERVER 1"
-.TH GDBSERVER 1 "2018-07-03" "gdb-8.1.0.20180703-git" "GNU Development Tools"
+.TH GDBSERVER 1 "2018-07-10" "gdb-8.1.90.20180710-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.1.0.20180703/gdb/doc/gdb.texinfo ./gdb/doc/gdb.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/gdb.texinfo	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/doc/gdb.texinfo	2018-07-10 02:06:13.000000000 +0000
@@ -2495,7 +2495,7 @@ fallback.
 
 You can also change @value{GDBN}'s current working directory by using
 the @code{cd} command.
-@xref{cd command}
+@xref{cd command}.
 
 @kindex show cwd
 @cindex show inferior's working directory
@@ -2514,7 +2514,7 @@ given, @var{directory} uses @file{'~'}.
 The @value{GDBN} working directory serves as a default for the
 commands that specify files for @value{GDBN} to operate on.
 @xref{Files, ,Commands to Specify Files}.
-@xref{set cwd command}
+@xref{set cwd command}.
 
 @kindex pwd
 @item pwd
@@ -2523,9 +2523,9 @@ Print the @value{GDBN} working directory
 
 It is generally impossible to find the current working directory of
 the process being debugged (since a program can change its directory
-during its run).  If you work on a system where @value{GDBN} is
-configured with the @file{/proc} support, you can use the @code{info
-proc} command (@pxref{SVR4 Process Information}) to find out the
+during its run).  If you work on a system where @value{GDBN} supports
+the @code{info proc} command (@pxref{Process Information}), you can
+use the @code{info proc} command to find out the
 current working directory of the debuggee.
 
 @node Input/Output
@@ -2708,9 +2708,12 @@ To find out what inferiors exist at any 
 inferiors}}:
 
 @table @code
-@kindex info inferiors
+@kindex info inferiors [ @var{id}@dots{} ]
 @item info inferiors
 Print a list of all inferiors currently being managed by @value{GDBN}.
+By default all inferiors are printed, but the argument @var{id}@dots{}
+-- a space separated list of inferior numbers -- can be used to limit
+the display to just the requested inferiors.
 
 @value{GDBN} displays for each inferior (in this order):
 
@@ -6316,6 +6319,7 @@ a command prompt so that you can issue o
 If the target doesn't support async mode, @value{GDBN} issues an error
 message if you attempt to use the background execution commands.
 
+@cindex @code{&}, background execution of commands
 To specify background execution, add a @code{&} to the command.  For example,
 the background form of the @code{continue} command is @code{continue&}, or
 just @code{c&}.  The execution commands that accept background execution
@@ -6952,10 +6956,73 @@ and to read-write memory.  Beware that t
 to the live target and not necessarily to the current replay
 position.
 
+@item set record btrace cpu @var{identifier}
+Set the processor to be used for enabling workarounds for processor
+errata when decoding the trace.
+
+Processor errata are defects in processor operation, caused by its
+design or manufacture.  They can cause a trace not to match the
+specification.  This, in turn, may cause trace decode to fail.
+@value{GDBN} can detect erroneous trace packets and correct them, thus
+avoiding the decoding failures.  These corrections are known as
+@dfn{errata workarounds}, and are enabled based on the processor on
+which the trace was recorded.
+
+By default, @value{GDBN} attempts to detect the processor
+automatically, and apply the necessary workarounds for it.  However,
+you may need to specify the processor if @value{GDBN} does not yet
+support it.  This command allows you to do that, and also allows to
+disable the workarounds.
+
+The argument @var{identifier} identifies the @sc{cpu} and is of the
+form: @code{@var{vendor}:@var{procesor identifier}}.  In addition,
+there are two special identifiers, @code{none} and @code{auto}
+(default).
+
+The following vendor identifiers and corresponding processor
+identifiers are currently supported:
+
+@multitable @columnfractions .1 .9
+
+@item @code{intel}
+@tab @var{family}/@var{model}[/@var{stepping}]
+
+@end multitable
+
+On GNU/Linux systems, the processor @var{family}, @var{model}, and
+@var{stepping} can be obtained from @code{/proc/cpuinfo}.
+
+If @var{identifier} is @code{auto}, enable errata workarounds for the
+processor on which the trace was recorded.  If @var{identifier} is
+@code{none}, errata workarounds are disabled.
+
+For example, when using an old @value{GDBN} on a new system, decode
+may fail because @value{GDBN} does not support the new processor.  It
+often suffices to specify an older processor that @value{GDBN}
+supports.
+
+@smallexample
+(gdb) info record
+Active record target: record-btrace
+Recording format: Intel Processor Trace.
+Buffer size: 16kB.
+Failed to configure the Intel Processor Trace decoder: unknown cpu.
+(gdb) set record btrace cpu intel:6/158
+(gdb) info record
+Active record target: record-btrace
+Recording format: Intel Processor Trace.
+Buffer size: 16kB.
+Recorded 84872 instructions in 3189 functions (0 gaps) for thread 1 (...).
+@end smallexample
+
 @kindex show record btrace
 @item show record btrace replay-memory-access
 Show the current setting of @code{replay-memory-access}.
 
+@item show record btrace cpu
+Show the processor to be used for enabling trace decode errata
+workarounds.
+
 @kindex set record btrace bts
 @item set record btrace bts buffer-size @var{size}
 @itemx set record btrace bts buffer-size unlimited
@@ -7307,44 +7374,48 @@ frame (frame zero), followed by its call
 stack.
 
 @anchor{backtrace-command}
-@table @code
 @kindex backtrace
 @kindex bt @r{(@code{backtrace})}
-@item backtrace
-@itemx bt
-Print a backtrace of the entire stack: one line per frame for all
-frames in the stack.
-
-You can stop the backtrace at any time by typing the system interrupt
-character, normally @kbd{Ctrl-c}.
-
-@item backtrace @var{n}
-@itemx bt @var{n}
-Similar, but print only the innermost @var{n} frames.
-
-@item backtrace -@var{n}
-@itemx bt -@var{n}
-Similar, but print only the outermost @var{n} frames.
-
-@item backtrace full
-@itemx bt full
-@itemx bt full @var{n}
-@itemx bt full -@var{n}
-Print the values of the local variables also.  As described above,
-@var{n} specifies the number of frames to print.
-
-@item backtrace no-filters
-@itemx bt no-filters
-@itemx bt no-filters @var{n}
-@itemx bt no-filters -@var{n}
-@itemx bt no-filters full
-@itemx bt no-filters full @var{n}
-@itemx bt no-filters full -@var{n}
+To print a backtrace of the entire stack, use the @code{backtrace}
+command, or its alias @code{bt}.  This command will print one line per
+frame for frames in the stack.  By default, all stack frames are
+printed.  You can stop the backtrace at any time by typing the system
+interrupt character, normally @kbd{Ctrl-c}.
+
+@table @code
+@item backtrace [@var{args}@dots{}]
+@itemx bt [@var{args}@dots{}]
+Print the backtrace of the entire stack.  The optional @var{args} can
+be one of the following:
+
+@table @code
+@item @var{n}
+@itemx @var{n}
+Print only the innermost @var{n} frames, where @var{n} is a positive
+number.
+
+@item -@var{n}
+@itemx -@var{n}
+Print only the outermost @var{n} frames, where @var{n} is a positive
+number.
+
+@item full
+Print the values of the local variables also.  This can be combined
+with a number to limit the number of frames shown.
+
+@item no-filters
 Do not run Python frame filters on this backtrace.  @xref{Frame
 Filter API}, for more information.  Additionally use @ref{disable
 frame-filter all} to turn off all frame filters.  This is only
 relevant when @value{GDBN} has been configured with @code{Python}
 support.
+
+@item hide
+A Python frame filter might decide to ``elide'' some frames.  Normally
+such elided frames are still printed, but they are indented relative
+to the filtered frames that cause them to be elided.  The @code{hide}
+option causes elided frames to not be printed at all.
+@end table
 @end table
 
 @kindex where
@@ -8432,21 +8503,22 @@ well as hex.
 
 @table @code
 @kindex info line
-@item info line @var{location}
+@item info line
+@itemx info line @var{location}
 Print the starting and ending addresses of the compiled code for
 source line @var{location}.  You can specify source lines in any of
-the ways documented in @ref{Specify Location}.
+the ways documented in @ref{Specify Location}.  With no @var{location}
+information about the current source line is printed.
 @end table
 
 For example, we can use @code{info line} to discover the location of
 the object code for the first line of function
 @code{m4_changequote}:
 
-@c FIXME: I think this example should also show the addresses in
-@c symbolic form, as they usually would be displayed.
 @smallexample
 (@value{GDBP}) info line m4_changequote
-Line 895 of "builtin.c" starts at pc 0x634c and ends at 0x6350.
+Line 895 of "builtin.c" starts at pc 0x634c <m4_changequote> and \
+        ends at 0x6350 <m4_changequote+4>.
 @end smallexample
 
 @noindent
@@ -8455,7 +8527,8 @@ We can also inquire (using @code{*@var{a
 @var{location}) what source line covers a particular address:
 @smallexample
 (@value{GDBP}) info line *0x63ff
-Line 926 of "builtin.c" starts at pc 0x63e4 and ends at 0x6404.
+Line 926 of "builtin.c" starts at pc 0x63e4 <m4_changequote+152> and \
+        ends at 0x6404 <m4_changequote+184>.
 @end smallexample
 
 @cindex @code{$_} and @code{info line}
@@ -8468,6 +8541,11 @@ sufficient to begin examining the machin
 convenience variable @code{$_} (@pxref{Convenience Vars, ,Convenience
 Variables}).
 
+@cindex info line, repeated calls
+After @code{info line}, using @code{info line} again without
+specifying a location will display information about the next source
+line.
+
 @table @code
 @kindex disassemble
 @cindex assembly instructions
@@ -8681,7 +8759,7 @@ The default value is the empty string.
 
 If it is necessary to specify more than one disassembler option, then
 multiple options can be placed together into a comma separated list.
-Currently this command is only supported on targets ARM, PowerPC
+Currently this command is only supported on targets ARM, MIPS, PowerPC
 and S/390.
 
 @kindex show disassembler-options
@@ -16261,6 +16339,7 @@ to be difficult.
 * Ada Tasks and Core Files::    Tasking Support when Debugging Core Files
 * Ravenscar Profile::           Tasking Support when using the Ravenscar
                                    Profile
+* Ada Settings::                New settable GDB parameters for Ada.
 * Ada Glitches::                Known peculiarities of Ada mode.
 @end menu
 
@@ -16916,6 +16995,37 @@ using the Ravenscar Profile.
 
 @end table
 
+@node Ada Settings
+@subsubsection Ada Settings
+@cindex Ada settings
+
+@table @code
+@kindex set varsize-limit
+@item set varsize-limit @var{size}
+Prevent @value{GDBN} from attempting to evaluate objects whose size
+is above the given limit (@var{size}) when those sizes are computed
+from run-time quantities.  This is typically the case when the object
+has a variable size, such as an array whose bounds are not known at
+compile time for example.  Setting @var{size} to @code{unlimited}
+removes the size limitation.  By default, the limit is about 65KB.
+
+The purpose of having such a limit is to prevent @value{GDBN} from
+trying to grab enormous chunks of virtual memory when asked to evaluate
+a quantity whose bounds have been corrupted or have not yet been fully
+initialized.  The limit applies to the results of some subexpressions
+as well as to complete expressions.  For example, an expression denoting
+a simple integer component, such as @code{x.y.z}, may fail if the size of
+@code{x.y} is variable and exceeds @code{size}.  On the other hand,
+@value{GDBN} is sometimes clever; the expression @code{A(i)}, where
+@code{A} is an array variable with non-constant size, will generally
+succeed regardless of the bounds on @code{A}, as long as the component
+size is less than @var{size}.
+
+@kindex show varsize-limit
+@item show varsize-limit
+Show the limit on types whose size is determined by run-time quantities.
+@end table
+
 @node Ada Glitches
 @subsubsection Known Peculiarities of Ada Mode
 @cindex Ada, problems
@@ -17479,7 +17589,7 @@ name is @code{value}.
 
 This command differs from @code{ptype} in two ways: first, like
 @code{whatis}, it does not print a detailed description; second, it
-lists all source files where a type is defined.
+lists all source files and line numbers where a type is defined.
 
 @kindex info type-printers
 @item info type-printers
@@ -17557,24 +17667,29 @@ have already been read, and files whose 
 @kindex info functions
 @item info functions
 Print the names and data types of all defined functions.
+Similarly to @samp{info types}, this command groups its output by source
+files and annotates each function definition with its source line
+number.
 
 @item info functions @var{regexp}
-Print the names and data types of all defined functions
-whose names contain a match for regular expression @var{regexp}.
-Thus, @samp{info fun step} finds all functions whose names
-include @code{step}; @samp{info fun ^step} finds those whose names
-start with @code{step}.  If a function name contains characters
-that conflict with the regular expression language (e.g.@:
+Like @samp{info functions}, but only print the names and data types of
+functions whose names contain a match for regular expression
+@var{regexp}.  Thus, @samp{info fun step} finds all functions whose
+names include @code{step}; @samp{info fun ^step} finds those whose names
+start with @code{step}.  If a function name contains characters that
+conflict with the regular expression language (e.g.@:
 @samp{operator*()}), they may be quoted with a backslash.
 
 @kindex info variables
 @item info variables
 Print the names and data types of all variables that are defined
 outside of functions (i.e.@: excluding local variables).
+The printed variables are grouped by source files and annotated with
+their respective source line numbers.
 
 @item info variables @var{regexp}
-Print the names and data types of all variables (except for local
-variables) whose names contain a match for regular expression
+Like @kbd{info variables}, but only print the names and data types of
+non-local variables whose names contain a match for regular expression
 @var{regexp}.
 
 @kindex info classes
@@ -18708,11 +18823,16 @@ if necessary to locate your program.  Om
 discard information on the executable file.
 
 @kindex symbol-file
-@item symbol-file @r{[} @var{filename} @r{]}
+@item symbol-file @r{[} @var{filename} @r{[} -o @var{offset} @r{]]}
 Read symbol table information from file @var{filename}.  @code{PATH} is
 searched when necessary.  Use the @code{file} command to get both symbol
 table and program to run from the same file.
 
+If an optional @var{offset} is specified, it is added to the start
+address of each section in the symbol file.  This is useful if the
+program is relocated at runtime, such as the Linux kernel with kASLR
+enabled.
+
 @code{symbol-file} with no argument clears out @value{GDBN} information on your
 program's symbol table.
 
@@ -18798,18 +18918,21 @@ the program is running.  To do this, use
 
 @kindex add-symbol-file
 @cindex dynamic linking
-@item add-symbol-file @var{filename} @var{address}
-@itemx add-symbol-file @var{filename} @var{address} @r{[} -readnow @r{|} -readnever @r{]}
-@itemx add-symbol-file @var{filename} @var{address} -s @var{section} @var{address} @dots{}
+@item add-symbol-file @var{filename} @r{[} -readnow @r{|} -readnever @r{]} @r{[} -o @var{offset} @r{]} @r{[} @var{textaddress} @r{]} @r{[} -s @var{section} @var{address} @dots{} @r{]}
 The @code{add-symbol-file} command reads additional symbol table
 information from the file @var{filename}.  You would use this command
 when @var{filename} has been dynamically loaded (by some other means)
-into the program that is running.  The @var{address} should give the memory
-address at which the file has been loaded; @value{GDBN} cannot figure
-this out for itself.  You can additionally specify an arbitrary number
-of @samp{-s @var{section} @var{address}} pairs, to give an explicit
-section name and base address for that section.  You can specify any
-@var{address} as an expression.
+into the program that is running.  The @var{textaddress} parameter gives
+the memory address at which the file's text section has been loaded.
+You can additionally specify the base address of other sections using
+an arbitrary number of @samp{-s @var{section} @var{address}} pairs.
+If a section is omitted, @value{GDBN} will use its default addresses
+as found in @var{filename}.  Any @var{address} or @var{textaddress}
+can be given as an expression.
+
+If an optional @var{offset} is specified, it is added to the start
+address of each section, except those for which the address was
+specified explicitly.
 
 The symbol table of the file @var{filename} is added to the symbol table
 originally read with the @code{symbol-file} command.  You can use the
@@ -19712,6 +19835,19 @@ on.  For large programs, this delay can 
 @value{GDBN} provides a way to build an index, which speeds up
 startup.
 
+For convenience, @value{GDBN} comes with a program,
+@command{gdb-add-index}, which can be used to add the index to a
+symbol file.  It takes the symbol file as its only argument:
+
+@smallexample
+$ gdb-add-index symfile
+@end smallexample
+
+@xref{gdb-add-index}.
+
+It is also possible to do the work manually.  Here is what
+@command{gdb-add-index} does behind the curtains.
+
 The index is stored as a section in the symbol file.  @value{GDBN} can
 write the index to a file, then you can put it into the symbol file
 using @command{objcopy}.
@@ -20181,6 +20317,15 @@ Display @value{GDBN}'s current idea of t
 
 @end table
 
+If the @code{set endian auto} mode is in effect and no executable has
+been selected, then the endianness used is the last one chosen either
+by one of the @code{set endian big} and @code{set endian little}
+commands or by inferring from the last executable used.  If no
+endianness has been previously chosen, then the default for this mode
+is inferred from the target @value{GDBN} has been built for, and is
+@code{little} if the name of the target CPU has an @code{el} suffix
+and @code{big} otherwise.
+
 Note that these commands merely adjust interpretation of symbolic
 data on the host, and that they have absolutely no effect on the
 target system.
@@ -21712,7 +21857,7 @@ configurations.
 
 @menu
 * BSD libkvm Interface::	Debugging BSD kernel memory images
-* SVR4 Process Information::    SVR4 process information
+* Process Information::         Process information
 * DJGPP Native::                Features specific to the DJGPP port
 * Cygwin Native::		Features specific to the Cygwin port
 * Hurd Native::                 Features specific to @sc{gnu} Hurd
@@ -21759,24 +21904,32 @@ Set current context from proc address.  
 modern FreeBSD systems.
 @end table
 
-@node SVR4 Process Information
-@subsection SVR4 Process Information
+@node Process Information
+@subsection Process Information
 @cindex /proc
 @cindex examine process image
 @cindex process info via @file{/proc}
 
-Many versions of SVR4 and compatible systems provide a facility called
-@samp{/proc} that can be used to examine the image of a running
-process using file-system subroutines.
-
-If @value{GDBN} is configured for an operating system with this
-facility, the command @code{info proc} is available to report
-information about the process running your program, or about any
-process running on your system.  This includes, as of this writing,
-@sc{gnu}/Linux and Solaris, for example.
+Some operating systems provide interfaces to fetch additional
+information about running processes beyond memory and per-thread
+register state.  If @value{GDBN} is configured for an operating system
+with a supported interface, the command @code{info proc} is available
+to report information about the process running your program, or about
+any process running on your system.
+
+One supported interface is a facility called @samp{/proc} that can be
+used to examine the image of a running process using file-system
+subroutines.  This facility is supported on @sc{gnu}/Linux and Solaris
+systems.
+
+On FreeBSD systems, system control nodes are used to query process
+information.
 
-This command may also work on core files that were created on a system
-that has the @samp{/proc} facility.
+In addition, some systems may provide additional process information
+in core files.  Note that a core file may include a subset of the
+information available from a live process.  Process information is
+currently avaiable from cores created on @sc{gnu}/Linux and FreeBSD
+systems.
 
 @table @code
 @kindex info proc
@@ -21800,36 +21953,40 @@ a process ID rather than a thread ID).
 @item info proc cmdline
 @cindex info proc cmdline
 Show the original command line of the process.  This command is
-specific to @sc{gnu}/Linux.
+supported on @sc{gnu}/Linux and FreeBSD.
 
 @item info proc cwd
 @cindex info proc cwd
 Show the current working directory of the process.  This command is
-specific to @sc{gnu}/Linux.
+supported on @sc{gnu}/Linux and FreeBSD.
 
 @item info proc exe
 @cindex info proc exe
-Show the name of executable of the process.  This command is specific
-to @sc{gnu}/Linux.
+Show the name of executable of the process.  This command is supported
+on @sc{gnu}/Linux and FreeBSD.
 
 @item info proc mappings
 @cindex memory address space mappings
-Report the memory address space ranges accessible in the program, with
-information on whether the process has read, write, or execute access
-rights to each range.  On @sc{gnu}/Linux systems, each memory range
-includes the object file which is mapped to that range, instead of the
-memory access rights to that range.
+Report the memory address space ranges accessible in the program.  On
+Solaris and FreeBSD systems, each memory range includes information on
+whether the process has read, write, or execute access rights to each
+range.  On @sc{gnu}/Linux and FreeBSD systems, each memory range
+includes the object file which is mapped to that range.
 
 @item info proc stat
 @itemx info proc status
 @cindex process detailed status information
-These subcommands are specific to @sc{gnu}/Linux systems.  They show
-the process-related information, including the user ID and group ID;
-how many threads are there in the process; its virtual memory usage;
-the signals that are pending, blocked, and ignored; its TTY; its
-consumption of system and user time; its stack size; its @samp{nice}
-value; etc.  For more information, see the @samp{proc} man page
-(type @kbd{man 5 proc} from your shell prompt).
+Show additional process-related information, including the user ID and
+group ID; virtual memory usage; the signals that are pending, blocked,
+and ignored; its TTY; its consumption of system and user time; its
+stack size; its @samp{nice} value; etc.  These commands are supported
+on @sc{gnu}/Linux and FreeBSD.
+
+For @sc{gnu}/Linux systems, see the @samp{proc} man page for more
+information (type @kbd{man 5 proc} from your shell prompt).
+
+For FreeBSD systems, @code{info proc stat} is an alias for @code{info
+proc status}.
 
 @item info proc all
 Show all the information about the process described under all of the
@@ -23738,11 +23895,13 @@ Print ten commands just after the comman
 Certain commands to @value{GDBN} may produce large amounts of
 information output to the screen.  To help you read all of it,
 @value{GDBN} pauses and asks you for input at the end of each page of
-output.  Type @key{RET} when you want to continue the output, or @kbd{q}
-to discard the remaining output.  Also, the screen width setting
-determines when to wrap lines of output.  Depending on what is being
-printed, @value{GDBN} tries to break the line at a readable place,
-rather than simply letting it overflow onto the following line.
+output.  Type @key{RET} when you want to see one more page of output,
+@kbd{q} to discard the remaining output, or @kbd{c} to continue
+without paging for the rest of the current command.  Also, the screen
+width setting determines when to wrap lines of output.  Depending on
+what is being printed, @value{GDBN} tries to break the line at a
+readable place, rather than simply letting it overflow onto the
+following line.
 
 Normally @value{GDBN} knows the size of the screen from the terminal
 driver software.  For example, on Unix @value{GDBN} uses the termcap data base
@@ -24522,6 +24681,11 @@ Displays the current state of displaying
 Turns on or off debugging messages from the FreeBSD LWP debug support.
 @item show debug fbsd-lwp
 Show the current state of FreeBSD LWP debugging messages.
+@item set debug fbsd-nat
+@cindex FreeBSD native target debug messages
+Turns on or off debugging messages from the FreeBSD native target.
+@item show debug fbsd-nat
+Show the current state of FreeBSD native target debugging messages.
 @item set debug frame
 @cindex frame debugging info
 Turns on or off display of @value{GDBN} frame debugging info.  The
@@ -28512,6 +28676,50 @@ times="0",original-location="__gnat_debu
 (gdb)
 @end smallexample
 
+@subheading The @code{-catch-handlers} Command
+@findex -catch-handlers
+
+@subsubheading Synopsis
+
+@smallexample
+ -catch-handlers [ -c @var{condition}] [ -d ] [ -e @var{exception-name} ]
+    [ -t ]
+@end smallexample
+
+Add a catchpoint stopping when Ada exceptions are handled.
+By default, the command stops the program when any Ada exception
+gets handled.  But it is also possible, by using some of the
+optional parameters described below, to create more selective
+catchpoints.
+
+The possible optional parameters for this command are:
+
+@table @samp
+@item -c @var{condition}
+Make the catchpoint conditional on @var{condition}.
+@item -d
+Create a disabled catchpoint.
+@item -e @var{exception-name}
+Only stop when @var{exception-name} is handled.
+@item -t
+Create a temporary catchpoint.
+@end table
+
+@subsubheading @value{GDBN} Command
+
+The corresponding @value{GDBN} command is @samp{catch handlers}.
+
+@subsubheading Example
+
+@smallexample
+-catch-handlers -e Constraint_Error
+^done,bkptno="4",bkpt=@{number="4",type="breakpoint",disp="keep",
+enabled="y",addr="0x0000000000402f68",
+what="`Constraint_Error' Ada exception handlers",thread-groups=["i1"],
+times="0",original-location="__gnat_begin_handler"@}
+(gdb)
+@end smallexample
+
 @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 @node GDB/MI Program Context
 @section @sc{gdb/mi}  Program Context
@@ -35348,6 +35556,16 @@ modify XML target descriptions.
 Check that the target descriptions dynamically created by @value{GDBN}
 equal the descriptions created from XML files found in @var{dir}.
 
+@anchor{maint check libthread-db}
+@kindex maint check libthread-db
+@item maint check libthread-db
+Run integrity checks on the current inferior's thread debugging
+library.  This exercises all @code{libthread_db} functionality used by
+@value{GDBN} on GNU/Linux systems, and by extension also exercises the
+@code{proc_service} functions provided by @value{GDBN} that
+@code{libthread_db} uses.  Note that parts of the test may be skipped
+on some platforms when debugging core files.
+
 @kindex maint print dummy-frames
 @item maint print dummy-frames
 Prints the contents of @value{GDBN}'s internal dummy-frame stack.
@@ -35655,6 +35873,17 @@ number of blocks in the blockvector
 @end enumerate
 @end table
 
+@kindex maint set check-libthread-db
+@kindex maint show check-libthread-db
+@item maint set check-libthread-db [on|off]
+@itemx maint show check-libthread-db
+Control whether @value{GDBN} should run integrity checks on inferior
+specific thread debugging libraries as they are loaded.  The default
+is not to perform such checks.  If any check fails @value{GDBN} will
+unload the library and continue searching for a suitable candidate as
+described in @ref{set libthread-db-search-path}.  For more information
+about the tests, see @ref{maint check libthread-db}.
+
 @kindex maint space
 @cindex memory used by commands
 @item maint space @var{value}
@@ -41949,6 +42178,10 @@ The @samp{org.gnu.gdb.aarch64.fpu} featu
 it should contain registers @samp{v0} through @samp{v31}, @samp{fpsr},
 and @samp{fpcr}.
 
+The @samp{org.gnu.gdb.aarch64.sve} feature is optional.  If present,
+it should contain registers @samp{z0} through @samp{z31}, @samp{p0}
+through @samp{p15}, @samp{ffr} and @samp{vg}.
+
 @node ARC Features
 @subsection ARC Features
 @cindex target descriptions, ARC Features
@@ -42738,6 +42971,7 @@ switch (die->tag)
 * gdbserver man::               Remote Server for the GNU Debugger man page
 * gcore man::                   Generate a core file of a running program
 * gdbinit man::                 gdbinit scripts
+* gdb-add-index man::           Add index files to speed up GDB
 @end menu
 
 @node gdb man
@@ -43414,6 +43648,62 @@ Richard M. Stallman and Roland H. Pesch,
 @end ifset
 @c man end
 
+@node gdb-add-index man
+@heading gdb-add-index
+@pindex gdb-add-index
+@anchor{gdb-add-index}
+
+@c man title gdb-add-index Add index files to speed up GDB
+
+@c man begin SYNOPSIS gdb-add-index
+gdb-add-index @var{filename}
+@c man end
+
+@c man begin DESCRIPTION gdb-add-index
+When @value{GDBN} finds a symbol file, it scans the symbols in the
+file in order to construct an internal symbol table.  This lets most
+@value{GDBN} operations work quickly--at the cost of a delay early on.
+For large programs, this delay can be quite lengthy, so @value{GDBN}
+provides a way to build an index, which speeds up startup.
+
+To determine whether a file contains such an index, use the command
+@kbd{readelf -S filename}: the index is stored in a section named
+@code{.gdb_index}.  The index file can only be produced on systems
+which use ELF binaries and DWARF debug information (i.e., sections
+named @code{.debug_*}).
+
+@command{gdb-add-index} uses @value{GDBN} and @command{objdump} found
+in the @env{PATH} environment variable.  If you want to use different
+versions of these programs, you can specify them through the
+@env{GDB} and @env{OBJDUMP} environment variables.
+
+See more in
+@ifset man
+the @value{GDBN} manual in node @code{Index Files}
+-- shell command @kbd{info -f gdb -n "Index Files"}.
+@end ifset
+@ifclear man
+@ref{Index Files}.
+@end ifclear
+@c man end
+
+@c man begin SEEALSO gdb-add-index
+@ifset man
+The full documentation for @value{GDBN} is maintained as a Texinfo manual.
+If the @code{info} and @code{gdb} programs and @value{GDBN}'s Texinfo
+documentation are properly installed at your site, the command
+
+@smallexample
+info gdb
+@end smallexample
+
+should give you access to the complete manual.
+
+@cite{Using GDB: A Guide to the GNU Source-Level Debugger},
+Richard M. Stallman and Roland H. Pesch, July 1991.
+@end ifset
+@c man end
+
 @include gpl.texi
 
 @node GNU Free Documentation License
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/Makefile.in ./gdb/doc/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/Makefile.in	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/doc/Makefile.in	2018-07-10 02:06:13.000000000 +0000
@@ -174,7 +174,7 @@ POD2MAN5 = pod2man --center="GNU Develop
 		   --release="gdb-`sed q version.subst`" --section=5
 
 # List of man pages generated from gdb.texi
-MAN1S = gdb.1 gdbserver.1 gcore.1
+MAN1S = gdb.1 gdbserver.1 gcore.1 gdb-add-index.1
 MAN5S = gdbinit.5
 MANS = $(MAN1S) $(MAN5S)
 
@@ -633,6 +633,13 @@ gcore.1: $(GDB_DOC_FILES)
 		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
 	rm -f gcore.pod
 
+gdb-add-index.1: $(GDB_DOC_FILES)
+	touch $@
+	-$(TEXI2POD) $(MANCONF) -Dgdb-add-index < $(srcdir)/gdb.texinfo > gdb-add-index.pod
+	-($(POD2MAN1) gdb-add-index.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
+	rm -f gdb-add-index.pod
+
 gdbinit.5: $(GDB_DOC_FILES)
 	touch $@
 	-$(TEXI2POD) $(MANCONF) -Dgdbinit < $(srcdir)/gdb.texinfo > gdbinit.pod
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/observer.texi ./gdb/doc/observer.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/observer.texi	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/doc/observer.texi	1970-01-01 00:00:00.000000000 +0000
@@ -1,313 +0,0 @@
-@c -*-texinfo-*-
-
-@c This file is part of the GDB manual.
-@c
-@c Copyright (C) 2003-2018 Free Software Foundation, Inc.
-@c
-@c See the file gdbint.texinfo for copying conditions.
-@c
-@c Also, the @deftypefun lines from this file are processed into a
-@c header file during the GDB build process.  Permission is granted
-@c to redistribute and/or modify those lines under the terms of the
-@c GNU General Public License as published by the Free Software
-@c Foundation; either version 3 of the License, or (at your option)
-@c any later version.
-
-@node GDB Observers
-@appendix @value{GDBN} Currently available observers
-
-@section Implementation rationale
-@cindex observers implementation rationale
-
-An @dfn{observer} is an entity which is interested in being notified
-when GDB reaches certain states, or certain events occur in GDB.
-The entity being observed is called the @dfn{subject}.  To receive
-notifications, the observer attaches a callback to the subject.
-One subject can have several observers.
-
-@file{observer.c} implements an internal generic low-level event
-notification mechanism.  This generic event notification mechanism is
-then re-used to implement the exported high-level notification
-management routines for all possible notifications.
-
-The current implementation of the generic observer provides support
-for contextual data.  This contextual data is given to the subject
-when attaching the callback.  In return, the subject will provide
-this contextual data back to the observer as a parameter of the
-callback.
-
-Note that the current support for the contextual data is only partial,
-as it lacks a mechanism that would deallocate this data when the
-callback is detached.  This is not a problem so far, as this contextual
-data is only used internally to hold a function pointer.  Later on, if
-a certain observer needs to provide support for user-level contextual
-data, then the generic notification mechanism will need to be
-enhanced to allow the observer to provide a routine to deallocate the
-data when attaching the callback.
-
-The observer implementation is also currently not reentrant.
-In particular, it is therefore not possible to call the attach
-or detach routines during a notification.
-
-@section Debugging
-Observer notifications can be traced using the command @samp{set debug
-observer 1} (@pxref{Debugging Output, , Optional messages about
-internal happenings, gdb, Debugging with @var{GDBN}}).
-
-@section @code{normal_stop} Notifications
-@cindex @code{normal_stop} observer
-@cindex notification about inferior execution stop
-
-@value{GDBN} notifies all @code{normal_stop} observers when the
-inferior execution has just stopped, the associated messages and
-annotations have been printed, and the control is about to be returned
-to the user.
-
-Note that the @code{normal_stop} notification is not emitted when
-the execution stops due to a breakpoint, and this breakpoint has
-a condition that is not met.  If the breakpoint has any associated
-commands list, the commands are executed after the notification
-is emitted.
-
-The following interfaces are available to manage observers:
-
-@deftypefun extern struct observer *observer_attach_@var{event} (observer_@var{event}_ftype *@var{f})
-Using the function @var{f}, create an observer that is notified when
-ever @var{event} occurs, return the observer.
-@end deftypefun
-
-@deftypefun extern void observer_detach_@var{event} (struct observer *@var{observer});
-Remove @var{observer} from the list of observers to be notified when
-@var{event} occurs.
-@end deftypefun
-
-@deftypefun extern void observer_notify_@var{event} (void);
-Send a notification to all @var{event} observers.
-@end deftypefun
-
-The following observable events are defined:
-
-@deftypefun void normal_stop (struct bpstats *@var{bs}, int @var{print_frame})
-The inferior has stopped for real.  The  @var{bs} argument describes
-the breakpoints were are stopped at, if any.  Second argument
-@var{print_frame} non-zero means display the location where the
-inferior has stopped.
-@end deftypefun
-
-@deftypefun void signal_received (enum gdb_signal @var{siggnal})
-The inferior was stopped by a signal.
-@end deftypefun
-
-@deftypefun void end_stepping_range (void)
-We are done with a step/next/si/ni command.
-@end deftypefun
-
-@deftypefun void signal_exited (enum gdb_signal @var{siggnal})
-The inferior was terminated by a signal.
-@end deftypefun
-
-@deftypefun void exited (int @var{exitstatus})
-The inferior program is finished.
-@end deftypefun
-
-@deftypefun void no_history (void)
-Reverse execution: target ran out of history info.
-@end deftypefun
-
-@deftypefun void sync_execution_done (void)
-A synchronous command finished.
-@end deftypefun
-
-@deftypefun void command_error (void)
-An error was caught while executing a command.
-@end deftypefun
-
-@deftypefun void target_changed (struct target_ops *@var{target})
-The target's register contents have changed.
-@end deftypefun
-
-@deftypefun void executable_changed (void)
-The executable being debugged by GDB has changed: The user decided
-to debug a different program, or the program he was debugging has
-been modified since being loaded by the debugger (by being recompiled,
-for instance).
-@end deftypefun
-
-@deftypefun void inferior_created (struct target_ops *@var{objfile}, int @var{from_tty})
-@value{GDBN} has just connected to an inferior.  For @samp{run},
-@value{GDBN} calls this observer while the inferior is still stopped
-at the entry-point instruction.  For @samp{attach} and @samp{core},
-@value{GDBN} calls this observer immediately after connecting to the
-inferior, and before any information on the inferior has been printed.
-@end deftypefun
-
-@deftypefun void record_changed (struct inferior *@var{inferior}, int @var{started}, const char *@var{method}, const char *@var{format})
-The status of process record for inferior @var{inferior} in
-@value{GDBN} has changed.  The process record is started if
-@var{started} is true, and the process record is stopped if
-@var{started} is false.
-
-When @var{started} is true, @var{method} indicates the short name of the method
-used for recording.  If the method supports multiple formats, @var{format}
-indicates which one is being used, otherwise it is NULL.  When @var{started} is
-false, they are both NULL.
-@end deftypefun
-
-@deftypefun void solib_loaded (struct so_list *@var{solib})
-The shared library specified by @var{solib} has been loaded.  Note that
-when @value{GDBN} calls this observer, the library's symbols probably
-haven't been loaded yet.
-@end deftypefun
-
-@deftypefun void solib_unloaded (struct so_list *@var{solib})
-The shared library specified by @var{solib} has been unloaded.
-Note that when @value{GDBN} calls this observer, the library's
-symbols have not been unloaded yet, and thus are still available.
-@end deftypefun
-
-@deftypefun void new_objfile (struct objfile *@var{objfile})
-The symbol file specified by @var{objfile} has been loaded.
-Called with @var{objfile} equal to @code{NULL} to indicate
-previously loaded symbol table data has now been invalidated.
-@end deftypefun
-
-@deftypefun void free_objfile (struct objfile *@var{objfile})
-The object file specified by @var{objfile} is about to be freed.
-@end deftypefun
-
-@deftypefun void new_thread (struct thread_info *@var{t})
-The thread specified by @var{t} has been created.
-@end deftypefun
-
-@deftypefun void thread_exit (struct thread_info *@var{t}, int @var{silent})
-The thread specified by @var{t} has exited.  The @var{silent} argument
-indicates that @value{GDBN} is removing the thread from its tables
-without wanting to notify the user about it.
-@end deftypefun
-
-@deftypefun void thread_stop_requested (ptid_t @var{ptid})
-An explicit stop request was issued to @var{ptid}.  If @var{ptid}
-equals @var{minus_one_ptid}, the request applied to all threads.  If
-@code{ptid_is_pid(ptid)} returns true, the request applied to all
-threads of the process pointed at by @var{ptid}.  Otherwise, the
-request applied to the single thread pointed at by @var{ptid}.
-@end deftypefun
-
-@deftypefun void target_resumed (ptid_t @var{ptid})
-The target was resumed.  The @var{ptid} parameter specifies which
-thread was resume, and may be RESUME_ALL if all threads are resumed.
-@end deftypefun
-
-@deftypefun void about_to_proceed (void)
-The target is about to be proceeded.
-@end deftypefun
-
-@deftypefun void breakpoint_created (struct breakpoint *@var{b})
-A new breakpoint @var{b} has been created.
-@end deftypefun
-
-@deftypefun void breakpoint_deleted (struct breakpoint *@var{b})
-A breakpoint has been destroyed.  The argument @var{b} is the
-pointer to the destroyed breakpoint.
-@end deftypefun
-
-@deftypefun void breakpoint_modified (struct breakpoint *@var{b})
-A breakpoint has been modified in some way.  The argument @var{b}
-is the modified breakpoint.
-@end deftypefun
-
-@deftypefun void traceframe_changed (int @var{tfnum}, int @var{tpnum})
-The trace frame is changed to @var{tfnum} (e.g., by using the
-@code{tfind} command).  If @var{tfnum} is negative, it means
-@value{GDBN} resumes live debugging.  The number of the tracepoint
-associated with this traceframe is @var{tpnum}.
-@end deftypefun
-
-@deftypefun void architecture_changed (struct gdbarch *@var{newarch})
-The current architecture has changed.  The argument @var{newarch} is
-a pointer to the new architecture.
-@end deftypefun
-
-@deftypefun void thread_ptid_changed (ptid_t @var{old_ptid}, ptid_t @var{new_ptid})
-The thread's ptid has changed.  The @var{old_ptid} parameter specifies
-the old value, and @var{new_ptid} specifies the new value.
-@end deftypefun
-
-@deftypefun void inferior_added (struct inferior *@var{inf})
-The inferior @var{inf} has been added to the list of inferiors.  At
-this point, it might not be associated with any process.
-@end deftypefun
-
-@deftypefun void inferior_appeared (struct inferior *@var{inf})
-The inferior identified by @var{inf} has been attached to a process.
-@end deftypefun
-
-@deftypefun void inferior_exit (struct inferior *@var{inf})
-Either the inferior associated with @var{inf} has been detached from the
-process, or the process has exited.
-@end deftypefun
-
-@deftypefun void inferior_removed (struct inferior *@var{inf})
-The inferior @var{inf} has been removed from the list of inferiors.
-This method is called immediately before freeing @var{inf}.
-@end deftypefun
-
-@deftypefun void memory_changed (struct inferior *@var{inferior}, CORE_ADDR @var{addr}, ssize_t @var{len}, const bfd_byte *@var{data})
-Bytes from @var{data} to @var{data} + @var{len} have been written
-to the @var{inferior} at @var{addr}.
-@end deftypefun
-
-@deftypefun void before_prompt (const char *@var{current_prompt})
-Called before a top-level prompt is displayed.  @var{current_prompt} is
-the current top-level prompt.
-@end deftypefun
-
-@deftypefun void gdb_datadir_changed (void)
-Variable gdb_datadir has been set.  The value may not necessarily change.
-@end deftypefun
-
-@deftypefun void command_param_changed (const char *@var{param}, const char *@var{value})
-The parameter of some @code{set} commands in console are changed.  This
-method is called after a command @code{set @var{param} @var{value}}.
-@var{param} is the parameter of @code{set} command, and @var{value}
-is the value of changed parameter.
-@end deftypefun
-
-@deftypefun void tsv_created (const struct trace_state_variable *@var{tsv})
-The new trace state variable @var{tsv} is created.
-@end deftypefun
-
-@deftypefun void tsv_deleted (const struct trace_state_variable *@var{tsv})
-The trace state variable @var{tsv} is deleted.  If @var{tsv} is
-@code{NULL}, all trace state variables are deleted.
-@end deftypefun
-
-@deftypefun void tsv_modified (const struct trace_state_variable *@var{tsv})
-The trace state value @var{tsv} is modified.
-@end deftypefun
-
-@deftypefun void inferior_call_pre (ptid_t @var{thread}, CORE_ADDR @var{address})
-An inferior function at @var{address} is about to be called in thread
-@var{thread}.
-@end deftypefun
-
-@deftypefun void inferior_call_post (ptid_t @var{thread}, CORE_ADDR @var{address})
-The inferior function at @var{address} has just been called.  This observer
-is called even if the inferior exits during the call.  @var{thread} is the
-thread in which the function was called, which may be different from the
-current thread.
-@end deftypefun
-
-@deftypefun void register_changed (struct frame_info *@var{frame}, int @var{regnum})
-A register in the inferior has been modified by the @value{GDBN} user.
-@end deftypefun
-
-@deftypefun void test_notification (int @var{somearg})
-This observer is used for internal testing.  Do not use.  
-See testsuite/gdb.gdb/observer.exp.
-@end deftypefun
-
-@deftypefun void user_selected_context_changed (user_selected_what @var{selection})
-The user-selected inferior, thread and/or frame has changed.  The user_select_what
-flag specifies if the inferior, thread and/or frame has changed.
-@end deftypefun
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/python.texi ./gdb/doc/python.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/doc/python.texi	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/doc/python.texi	2018-07-10 02:06:13.000000000 +0000
@@ -288,6 +288,26 @@ If no exception is raised, the return va
 @code{gdb.Value} (@pxref{Values From Inferior}).
 @end defun
 
+@findex gdb.convenience_variable
+@defun gdb.convenience_variable (name)
+Return the value of the convenience variable (@pxref{Convenience
+Vars}) named @var{name}.  @var{name} must be a string.  The name
+should not include the @samp{$} that is used to mark a convenience
+variable in an expression.  If the convenience variable does not
+exist, then @code{None} is returned.
+@end defun
+
+@findex gdb.set_convenience_variable
+@defun gdb.set_convenience_variable (name, value)
+Set the value of the convenience variable (@pxref{Convenience Vars})
+named @var{name}.  @var{name} must be a string.  The name should not
+include the @samp{$} that is used to mark a convenience variable in an
+expression.  If @var{value} is @code{None}, then the convenience
+variable is removed.  Otherwise, if @var{value} is not a
+@code{gdb.Value} (@pxref{Values From Inferior}), it is is converted
+using the @code{gdb.Value} constructor.
+@end defun
+
 @findex gdb.parse_and_eval
 @defun gdb.parse_and_eval (expression)
 Parse @var{expression}, which must be a string, as an expression in
@@ -297,8 +317,7 @@ the current language, evaluate it, and r
 This function can be useful when implementing a new command
 (@pxref{Commands In Python}), as it provides a way to parse the
 command's argument as an expression.  It is also useful simply to
-compute values, for example, it is the only way to get the value of a
-convenience variable (@pxref{Convenience Vars}) as a @code{gdb.Value}.
+compute values.
 @end defun
 
 @findex gdb.find_pc_line
@@ -930,6 +949,13 @@ description of the @code{Type.fields} me
 
 An instance of @code{Type} has the following attributes:
 
+@defvar Type.alignof
+The alignment of this type, in bytes.  Type alignment comes from the
+debugging information; if it was not specified, then @value{GDBN} will
+use the relevant ABI to try to determine the alignment.  In some
+cases, even this is not possible, and zero will be returned.
+@end defvar
+
 @defvar Type.code
 The type code for this type.  The type code will be one of the
 @code{TYPE_CODE_} constants defined below.
@@ -3722,14 +3748,16 @@ parameter.  It can be read and assigned 
 attribute.  @value{GDBN} does validation when assignments are made.
 @end defvar
 
-There are two methods that should be implemented in any
-@code{Parameter} class.  These are:
+There are two methods that may be implemented in any @code{Parameter}
+class.  These are:
 
 @defun Parameter.get_set_string (self)
-@value{GDBN} will call this method when a @var{parameter}'s value has
-been changed via the @code{set} API (for example, @kbd{set foo off}).
-The @code{value} attribute has already been populated with the new
-value and may be used in output.  This method must return a string.
+If this method exists, @value{GDBN} will call it when a
+@var{parameter}'s value has been changed via the @code{set} API (for
+example, @kbd{set foo off}).  The @code{value} attribute has already
+been populated with the new value and may be used in output.  This
+method must return a string.  If the returned string is not empty,
+@value{GDBN} will present it to the user.
 @end defun
 
 @defun Parameter.get_show_string (self, svalue)
@@ -3800,6 +3828,19 @@ The value is a filename.  This is just l
 The value is an integer.  This is like @code{PARAM_INTEGER}, except 0
 is interpreted as itself.
 
+@findex PARAM_ZUINTEGER
+@findex gdb.PARAM_ZUINTEGER
+@item gdb.PARAM_ZUINTEGER
+The value is an unsigned integer.  This is like @code{PARAM_INTEGER},
+except 0 is interpreted as itself, and the value cannot be negative.
+
+@findex PARAM_ZUINTEGER_UNLIMITED
+@findex gdb.PARAM_ZUINTEGER_UNLIMITED
+@item gdb.PARAM_ZUINTEGER_UNLIMITED
+The value is a signed integer.  This is like @code{PARAM_ZUINTEGER},
+except the special value -1 should be interpreted to mean
+``unlimited''.  Other negative values are not allowed.
+
 @findex PARAM_ENUM
 @findex gdb.PARAM_ENUM
 @item gdb.PARAM_ENUM
@@ -5116,7 +5157,7 @@ value is @code{None}.  This attribute is
 This attribute holds the commands attached to the breakpoint.  If
 there are commands, this attribute's value is a string holding all the
 commands, separated by newlines.  If there are no commands, this
-attribute is @code{None}.  This attribute is not writable.
+attribute is @code{None}.  This attribute is writable.
 @end defvar
 
 @node Finish Breakpoints in Python
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dtrace-probe.c ./gdb/dtrace-probe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dtrace-probe.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/dtrace-probe.c	2018-07-10 02:06:13.000000000 +0000
@@ -607,8 +607,7 @@ dtrace_process_dof (asection *sect, stru
   return;
 	  
  invalid_dof_data:
-  complaint (&symfile_complaints,
-	     _("skipping section '%s' which does not contain valid DOF data."),
+  complaint (_("skipping section '%s' which does not contain valid DOF data."),
 	     sect->name);
 }
 
@@ -779,7 +778,7 @@ dtrace_probe::enable ()
 
   /* Enabling a dtrace probe implies patching the text section of the
      running process, so make sure the inferior is indeed running.  */
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     error (_("No inferior running"));
 
   /* Fast path.  */
@@ -803,7 +802,7 @@ dtrace_probe::disable ()
 
   /* Disabling a dtrace probe implies patching the text section of the
      running process, so make sure the inferior is indeed running.  */
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     error (_("No inferior running"));
 
   /* Fast path.  */
@@ -858,8 +857,7 @@ dtrace_static_probe_ops::get_probes (std
 	  /* Read the contents of the DOF section and then process it to
 	     extract the information of any probe defined into it.  */
 	  if (!bfd_malloc_and_get_section (abfd, sect, &dof))
-	    complaint (&symfile_complaints,
-		       _("could not obtain the contents of"
+	    complaint (_("could not obtain the contents of"
 			 "section '%s' in objfile `%s'."),
 		       sect->name, abfd->filename);
       
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dummy-frame.c ./gdb/dummy-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dummy-frame.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/dummy-frame.c	2018-07-10 02:06:13.000000000 +0000
@@ -26,7 +26,7 @@
 #include "frame-unwind.h"
 #include "command.h"
 #include "gdbcmd.h"
-#include "observer.h"
+#include "observable.h"
 #include "gdbthread.h"
 #include "infcall.h"
 
@@ -37,7 +37,7 @@ struct dummy_frame_id
   struct frame_id id;
 
   /* The thread this dummy_frame relates to.  */
-  ptid_t ptid;
+  thread_info *thread;
 };
 
 /* Return whether dummy_frame_id *ID1 and *ID2 are equal.  */
@@ -46,7 +46,7 @@ static int
 dummy_frame_id_eq (struct dummy_frame_id *id1,
 		   struct dummy_frame_id *id2)
 {
-  return frame_id_eq (id1->id, id2->id) && ptid_equal (id1->ptid, id2->ptid);
+  return frame_id_eq (id1->id, id2->id) && id1->thread == id2->thread;
 }
 
 /* List of dummy_frame destructors.  */
@@ -89,14 +89,14 @@ static struct dummy_frame *dummy_frame_s
 
 void
 dummy_frame_push (struct infcall_suspend_state *caller_state,
-		  const struct frame_id *dummy_id, ptid_t ptid)
+		  const frame_id *dummy_id, thread_info *thread)
 {
   struct dummy_frame *dummy_frame;
 
   dummy_frame = XCNEW (struct dummy_frame);
   dummy_frame->caller_state = caller_state;
   dummy_frame->id.id = (*dummy_id);
-  dummy_frame->id.ptid = ptid;
+  dummy_frame->id.thread = thread;
   dummy_frame->next = dummy_frame_stack;
   dummy_frame_stack = dummy_frame;
 }
@@ -130,7 +130,7 @@ pop_dummy_frame_bpt (struct breakpoint *
 {
   struct dummy_frame *dummy = (struct dummy_frame *) dummy_voidp;
 
-  if (b->thread == ptid_to_global_thread_id (dummy->id.ptid)
+  if (b->thread == dummy->id.thread->global_num
       && b->disposition == disp_del && frame_id_eq (b->frame_id, dummy->id.id))
     {
       while (b->related_breakpoint != b)
@@ -154,7 +154,7 @@ pop_dummy_frame (struct dummy_frame **du
 {
   struct dummy_frame *dummy = *dummy_ptr;
 
-  gdb_assert (ptid_equal (dummy->id.ptid, inferior_ptid));
+  gdb_assert (dummy->id.thread == inferior_thread ());
 
   while (dummy->dtor_list != NULL)
     {
@@ -196,16 +196,16 @@ lookup_dummy_frame (struct dummy_frame_i
   return NULL;
 }
 
-/* Find the dummy frame by DUMMY_ID and PTID, and pop it, restoring
+/* Find the dummy frame by DUMMY_ID and THREAD, and pop it, restoring
    program state to that before the frame was created.
    On return reinit_frame_cache has been called.
    If the frame isn't found, flag an internal error.  */
 
 void
-dummy_frame_pop (struct frame_id dummy_id, ptid_t ptid)
+dummy_frame_pop (frame_id dummy_id, thread_info *thread)
 {
   struct dummy_frame **dp;
-  struct dummy_frame_id id = { dummy_id, ptid };
+  struct dummy_frame_id id = { dummy_id, thread };
 
   dp = lookup_dummy_frame (&id);
   gdb_assert (dp != NULL);
@@ -218,10 +218,10 @@ dummy_frame_pop (struct frame_id dummy_i
    free its memory.  */
 
 void
-dummy_frame_discard (struct frame_id dummy_id, ptid_t ptid)
+dummy_frame_discard (struct frame_id dummy_id, thread_info *thread)
 {
   struct dummy_frame **dp;
-  struct dummy_frame_id id = { dummy_id, ptid };
+  struct dummy_frame_id id = { dummy_id, thread };
 
   dp = lookup_dummy_frame (&id);
   if (dp)
@@ -231,10 +231,10 @@ dummy_frame_discard (struct frame_id dum
 /* See dummy-frame.h.  */
 
 void
-register_dummy_frame_dtor (struct frame_id dummy_id, ptid_t ptid,
+register_dummy_frame_dtor (frame_id dummy_id, thread_info *thread,
 			   dummy_frame_dtor_ftype *dtor, void *dtor_data)
 {
-  struct dummy_frame_id id = { dummy_id, ptid };
+  struct dummy_frame_id id = { dummy_id, thread };
   struct dummy_frame **dp, *d;
   struct dummy_frame_dtor_list *list;
 
@@ -282,7 +282,7 @@ cleanup_dummy_frames (struct target_ops 
 struct dummy_frame_cache
 {
   struct frame_id this_id;
-  struct regcache *prev_regcache;
+  readonly_detached_regcache *prev_regcache;
 };
 
 static int
@@ -306,7 +306,7 @@ dummy_frame_sniffer (const struct frame_
 	 dummy ID, assuming it is a dummy frame.  */
       struct frame_id this_id
 	= gdbarch_dummy_id (get_frame_arch (this_frame), this_frame);
-      struct dummy_frame_id dummy_id = { this_id, inferior_ptid };
+      struct dummy_frame_id dummy_id = { this_id, inferior_thread () };
 
       /* Use that ID to find the corresponding cache entry.  */
       for (dummyframe = dummy_frame_stack;
@@ -352,8 +352,8 @@ dummy_frame_prev_register (struct frame_
   /* Use the regcache_cooked_read() method so that it, on the fly,
      constructs either a raw or pseudo register from the raw
      register cache.  */
-  regcache_cooked_read (cache->prev_regcache, regnum,
-			value_contents_writeable (reg_val));
+  cache->prev_regcache->cooked_read (regnum,
+				     value_contents_writeable (reg_val));
   return reg_val;
 }
 
@@ -397,7 +397,7 @@ fprint_dummy_frames (struct ui_file *fil
       fprintf_unfiltered (file, " id=");
       fprint_frame_id (file, s->id.id);
       fprintf_unfiltered (file, ", ptid=%s",
-			  target_pid_to_str (s->id.ptid));
+			  target_pid_to_str (s->id.thread->ptid));
       fprintf_unfiltered (file, "\n");
     }
 }
@@ -424,5 +424,5 @@ _initialize_dummy_frame (void)
 	   _("Print the contents of the internal dummy-frame stack."),
 	   &maintenanceprintlist);
 
-  observer_attach_inferior_created (cleanup_dummy_frames);
+  gdb::observers::inferior_created.attach (cleanup_dummy_frames);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dummy-frame.h ./gdb/dummy-frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dummy-frame.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/dummy-frame.h	2018-07-10 02:06:13.000000000 +0000
@@ -33,8 +33,9 @@ struct frame_unwind;
    be expanded so that it knowns the lower/upper extent of the dummy
    frame's code.  */
 
-extern void dummy_frame_push (struct infcall_suspend_state *caller_state,
-                              const struct frame_id *dummy_id, ptid_t ptid);
+extern void dummy_frame_push (infcall_suspend_state *caller_state,
+			      const frame_id *dummy_id,
+			      thread_info *thread);
 
 /* Pop the dummy frame DUMMY_ID, restoring program state to that before the
    frame was created.
@@ -45,9 +46,9 @@ extern void dummy_frame_push (struct inf
    stack, because the other frames may be for different threads, and there's
    currently no way to tell which stack frame is for which thread.  */
 
-extern void dummy_frame_pop (struct frame_id dummy_id, ptid_t ptid);
+extern void dummy_frame_pop (frame_id dummy_id, thread_info *thread);
 
-extern void dummy_frame_discard (struct frame_id dummy_id, ptid_t ptid);
+extern void dummy_frame_discard (frame_id dummy_id, thread_info *thread);
 
 /* If the PC falls in a dummy frame, return a dummy frame
    unwinder.  */
@@ -58,11 +59,12 @@ extern const struct frame_unwind dummy_f
    REGISTERS_VALID is 1 for dummy_frame_pop, 0 for dummy_frame_discard.  */
 typedef void (dummy_frame_dtor_ftype) (void *data, int registers_valid);
 
-/* Call DTOR with DTOR_DATA when DUMMY_ID frame of thread PTID gets discarded.
-   Dummy frame with DUMMY_ID must exist.  Multiple destructors may be
-   registered, they will be called in the reverse order of registrations
-   (LIFO).  */
-extern void register_dummy_frame_dtor (struct frame_id dummy_id, ptid_t ptid,
+/* Call DTOR with DTOR_DATA when DUMMY_ID frame of thread THREAD gets
+   discarded.  Dummy frame with DUMMY_ID must exist.  Multiple
+   destructors may be registered, they will be called in the reverse
+   order of registrations (LIFO).  */
+extern void register_dummy_frame_dtor (frame_id dummy_id,
+				       thread_info *thread,
 				       dummy_frame_dtor_ftype *dtor,
 				       void *dtor_data);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-valprint.c ./gdb/d-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/d-valprint.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/d-valprint.c	2018-07-10 02:06:13.000000000 +0000
@@ -88,6 +88,7 @@ d_val_print (struct type *type, int embe
 				  stream, recurse, val, options);
 	if (ret == 0)
 	  break;
+	/* Fall through.  */
       default:
 	c_val_print (type, embedded_offset, address, stream,
 		     recurse, val, options);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf2-frame.c ./gdb/dwarf2-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf2-frame.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/dwarf2-frame.c	2018-07-10 02:06:13.000000000 +0000
@@ -216,7 +216,7 @@ dwarf2_restore_rule (struct gdbarch *gdb
     {
       int regnum = dwarf_reg_to_regnum (gdbarch, reg);
 
-      complaint (&symfile_complaints, _("\
+      complaint (_("\
 incomplete CFI data; DW_CFA_restore unspecified\n\
 register %s (#%d) at %s"),
 		 gdbarch_register_name (gdbarch, regnum), regnum,
@@ -230,12 +230,12 @@ class dwarf_expr_executor : public dwarf
 
   struct frame_info *this_frame;
 
-  CORE_ADDR read_addr_from_reg (int reg) OVERRIDE
+  CORE_ADDR read_addr_from_reg (int reg) override
   {
     return ::read_addr_from_reg (this_frame, reg);
   }
 
-  struct value *get_reg_value (struct type *type, int reg) OVERRIDE
+  struct value *get_reg_value (struct type *type, int reg) override
   {
     struct gdbarch *gdbarch = get_frame_arch (this_frame);
     int regnum = dwarf_reg_to_regnum_or_error (gdbarch, reg);
@@ -243,44 +243,44 @@ class dwarf_expr_executor : public dwarf
     return value_from_register (type, regnum, this_frame);
   }
 
-  void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) OVERRIDE
+  void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) override
   {
     read_memory (addr, buf, len);
   }
 
-  void get_frame_base (const gdb_byte **start, size_t *length) OVERRIDE
+  void get_frame_base (const gdb_byte **start, size_t *length) override
   {
     invalid ("DW_OP_fbreg");
   }
 
   void push_dwarf_reg_entry_value (enum call_site_parameter_kind kind,
 				   union call_site_parameter_u kind_u,
-				   int deref_size) OVERRIDE
+				   int deref_size) override
   {
     invalid ("DW_OP_entry_value");
   }
 
-  CORE_ADDR get_object_address () OVERRIDE
+  CORE_ADDR get_object_address () override
   {
     invalid ("DW_OP_push_object_address");
   }
 
-  CORE_ADDR get_frame_cfa () OVERRIDE
+  CORE_ADDR get_frame_cfa () override
   {
     invalid ("DW_OP_call_frame_cfa");
   }
 
-  CORE_ADDR get_tls_address (CORE_ADDR offset) OVERRIDE
+  CORE_ADDR get_tls_address (CORE_ADDR offset) override
   {
     invalid ("DW_OP_form_tls_address");
   }
 
-  void dwarf_call (cu_offset die_offset) OVERRIDE
+  void dwarf_call (cu_offset die_offset) override
   {
     invalid ("DW_OP_call*");
   }
 
-  CORE_ADDR get_addr_index (unsigned int index)
+  CORE_ADDR get_addr_index (unsigned int index) override
   {
     invalid ("DW_OP_GNU_addr_index");
   }
@@ -449,7 +449,7 @@ execute_cfa_program (struct dwarf2_fde *
 
 		if (old_rs == NULL)
 		  {
-		    complaint (&symfile_complaints, _("\
+		    complaint (_("\
 bad CFI data; mismatched DW_CFA_restore_state at %s"),
 			       paddress (gdbarch, fs->pc));
 		  }
@@ -1111,7 +1111,7 @@ dwarf2_frame_cache (struct frame_info *t
 	if (fs.regs.reg[column].how == DWARF2_FRAME_REG_UNSPECIFIED)
 	  {
 	    if (cache->reg[regnum].how == DWARF2_FRAME_REG_UNSPECIFIED)
-	      complaint (&symfile_complaints, _("\
+	      complaint (_("\
 incomplete CFI data; unspecified registers (e.g., %s) at %s"),
 			 gdbarch_register_name (gdbarch, regnum),
 			 paddress (gdbarch, fs.pc));
@@ -2144,22 +2144,21 @@ decode_frame_entry (struct comp_unit *un
       break;
 
     case ALIGN4:
-      complaint (&symfile_complaints, _("\
+      complaint (_("\
 Corrupt data in %s:%s; align 4 workaround apparently succeeded"),
 		 unit->dwarf_frame_section->owner->filename,
 		 unit->dwarf_frame_section->name);
       break;
 
     case ALIGN8:
-      complaint (&symfile_complaints, _("\
+      complaint (_("\
 Corrupt data in %s:%s; align 8 workaround apparently succeeded"),
 		 unit->dwarf_frame_section->owner->filename,
 		 unit->dwarf_frame_section->name);
       break;
 
     default:
-      complaint (&symfile_complaints,
-		 _("Corrupt data in %s:%s"),
+      complaint (_("Corrupt data in %s:%s"),
 		 unit->dwarf_frame_section->owner->filename,
 		 unit->dwarf_frame_section->name);
       break;
@@ -2205,8 +2204,7 @@ dwarf2_build_frame_info (struct objfile 
   fde_table.entries = NULL;
 
   /* Build a minimal decoding of the DWARF2 compilation unit.  */
-  unit = (struct comp_unit *) obstack_alloc (&objfile->objfile_obstack,
-					     sizeof (struct comp_unit));
+  unit = XOBNEW (&objfile->objfile_obstack, comp_unit);
   unit->abfd = objfile->obfd;
   unit->objfile = objfile;
   unit->dbase = 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.1.0.20180703/gdb/dwarf2loc.c ./gdb/dwarf2loc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf2loc.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/dwarf2loc.c	2018-07-10 02:06:13.000000000 +0000
@@ -557,7 +557,7 @@ class dwarf_evaluate_loc_desc : public d
   /* Helper function for dwarf2_evaluate_loc_desc.  Computes the CFA for
      the frame in BATON.  */
 
-  CORE_ADDR get_frame_cfa () OVERRIDE
+  CORE_ADDR get_frame_cfa () override
   {
     return dwarf2_frame_cfa (frame);
   }
@@ -565,14 +565,14 @@ class dwarf_evaluate_loc_desc : public d
   /* Helper function for dwarf2_evaluate_loc_desc.  Computes the PC for
      the frame in BATON.  */
 
-  CORE_ADDR get_frame_pc () OVERRIDE
+  CORE_ADDR get_frame_pc () override
   {
     return get_frame_address_in_block (frame);
   }
 
   /* Using the objfile specified in BATON, find the address for the
      current thread's thread-local storage with offset OFFSET.  */
-  CORE_ADDR get_tls_address (CORE_ADDR offset) OVERRIDE
+  CORE_ADDR get_tls_address (CORE_ADDR offset) override
   {
     struct objfile *objfile = dwarf2_per_cu_objfile (per_cu);
 
@@ -582,12 +582,12 @@ class dwarf_evaluate_loc_desc : public d
   /* Helper interface of per_cu_dwarf_call for
      dwarf2_evaluate_loc_desc.  */
 
-  void dwarf_call (cu_offset die_offset) OVERRIDE
+  void dwarf_call (cu_offset die_offset) override
   {
     per_cu_dwarf_call (this, die_offset, per_cu);
   }
 
-  struct type *get_base_type (cu_offset die_offset, int size) OVERRIDE
+  struct type *get_base_type (cu_offset die_offset, int size) override
   {
     struct type *result = dwarf2_get_die_type (die_offset, per_cu);
     if (result == NULL)
@@ -600,7 +600,7 @@ class dwarf_evaluate_loc_desc : public d
   /* Callback function for dwarf2_evaluate_loc_desc.
      Fetch the address indexed by DW_OP_GNU_addr_index.  */
 
-  CORE_ADDR get_addr_index (unsigned int index) OVERRIDE
+  CORE_ADDR get_addr_index (unsigned int index) override
   {
     return dwarf2_read_addr_index (per_cu, index);
   }
@@ -608,7 +608,7 @@ class dwarf_evaluate_loc_desc : public d
   /* Callback function for get_object_address. Return the address of the VLA
      object.  */
 
-  CORE_ADDR get_object_address () OVERRIDE
+  CORE_ADDR get_object_address () override
   {
     if (obj_address == 0)
       error (_("Location address is not set."));
@@ -625,7 +625,7 @@ class dwarf_evaluate_loc_desc : public d
 
   void push_dwarf_reg_entry_value (enum call_site_parameter_kind kind,
 				   union call_site_parameter_u kind_u,
-				   int deref_size) OVERRIDE
+				   int deref_size) override
   {
     struct frame_info *caller_frame;
     struct dwarf2_per_cu_data *caller_per_cu;
@@ -666,7 +666,7 @@ class dwarf_evaluate_loc_desc : public d
   /* Using the frame specified in BATON, find the location expression
      describing the frame base.  Return a pointer to it in START and
      its length in LENGTH.  */
-  void get_frame_base (const gdb_byte **start, size_t * length) OVERRIDE
+  void get_frame_base (const gdb_byte **start, size_t * length) override
   {
     /* FIXME: cagney/2003-03-26: This code should be using
        get_frame_base_address(), and then implement a dwarf2 specific
@@ -694,14 +694,14 @@ class dwarf_evaluate_loc_desc : public d
 
   /* Read memory at ADDR (length LEN) into BUF.  */
 
-  void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) OVERRIDE
+  void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) override
   {
     read_memory (addr, buf, len);
   }
 
   /* Using the frame specified in BATON, return the value of register
      REGNUM, treated as a pointer.  */
-  CORE_ADDR read_addr_from_reg (int dwarf_regnum) OVERRIDE
+  CORE_ADDR read_addr_from_reg (int dwarf_regnum) override
   {
     struct gdbarch *gdbarch = get_frame_arch (frame);
     int regnum = dwarf_reg_to_regnum_or_error (gdbarch, dwarf_regnum);
@@ -711,7 +711,7 @@ class dwarf_evaluate_loc_desc : public d
 
   /* Implement "get_reg_value" callback.  */
 
-  struct value *get_reg_value (struct type *type, int dwarf_regnum) OVERRIDE
+  struct value *get_reg_value (struct type *type, int dwarf_regnum) override
   {
     struct gdbarch *gdbarch = get_frame_arch (frame);
     int regnum = dwarf_reg_to_regnum_or_error (gdbarch, dwarf_regnum);
@@ -1376,7 +1376,7 @@ entry_data_value_free_closure (struct va
 {
   struct value *target_val = (struct value *) value_computed_closure (v);
 
-  value_free (target_val);
+  value_decref (target_val);
 }
 
 /* Vector for methods for an entry value reference where the referenced value
@@ -1434,7 +1434,7 @@ value_of_dwarf_reg_entry (struct type *t
 					       target_type, caller_frame,
 					       caller_per_cu);
 
-  release_value (target_val);
+  release_value (target_val).release ();
   val = allocate_computed_value (type, &entry_data_value_funcs,
 				 target_val /* closure */);
 
@@ -2299,7 +2299,7 @@ free_pieced_value_closure (struct value 
     {
       for (dwarf_expr_piece &p : c->pieces)
 	if (p.location == DWARF_VALUE_STACK)
-	  value_free (p.v.value);
+	  value_decref (p.v.value);
 
       delete c;
     }
@@ -2482,9 +2482,8 @@ dwarf2_evaluate_loc_desc_full (struct ty
 	    /* Preserve VALUE because we are going to free values back
 	       to the mark, but we still need the value contents
 	       below.  */
-	    value_incref (value);
+	    value_ref_ptr value_holder = value_ref_ptr::new_reference (value);
 	    free_values.free_to_mark ();
-	    gdb_value_up value_holder (value);
 
 	    retval = allocate_value (subobj_type);
 
@@ -2736,7 +2735,7 @@ class symbol_needs_eval_context : public
   struct dwarf2_per_cu_data *per_cu;
 
   /* Reads from registers do require a frame.  */
-  CORE_ADDR read_addr_from_reg (int regnum) OVERRIDE
+  CORE_ADDR read_addr_from_reg (int regnum) override
   {
     needs = SYMBOL_NEEDS_FRAME;
     return 1;
@@ -2745,20 +2744,20 @@ class symbol_needs_eval_context : public
   /* "get_reg_value" callback: Reads from registers do require a
      frame.  */
 
-  struct value *get_reg_value (struct type *type, int regnum) OVERRIDE
+  struct value *get_reg_value (struct type *type, int regnum) override
   {
     needs = SYMBOL_NEEDS_FRAME;
     return value_zero (type, not_lval);
   }
 
   /* Reads from memory do not require a frame.  */
-  void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) OVERRIDE
+  void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) override
   {
     memset (buf, 0, len);
   }
 
   /* Frame-relative accesses do require a frame.  */
-  void get_frame_base (const gdb_byte **start, size_t *length) OVERRIDE
+  void get_frame_base (const gdb_byte **start, size_t *length) override
   {
     static gdb_byte lit0 = DW_OP_lit0;
 
@@ -2769,20 +2768,20 @@ class symbol_needs_eval_context : public
   }
 
   /* CFA accesses require a frame.  */
-  CORE_ADDR get_frame_cfa () OVERRIDE
+  CORE_ADDR get_frame_cfa () override
   {
     needs = SYMBOL_NEEDS_FRAME;
     return 1;
   }
 
-  CORE_ADDR get_frame_pc () OVERRIDE
+  CORE_ADDR get_frame_pc () override
   {
     needs = SYMBOL_NEEDS_FRAME;
     return 1;
   }
 
   /* Thread-local accesses require registers, but not a frame.  */
-  CORE_ADDR get_tls_address (CORE_ADDR offset) OVERRIDE
+  CORE_ADDR get_tls_address (CORE_ADDR offset) override
   {
     if (needs <= SYMBOL_NEEDS_REGISTERS)
       needs = SYMBOL_NEEDS_REGISTERS;
@@ -2792,7 +2791,7 @@ class symbol_needs_eval_context : public
   /* Helper interface of per_cu_dwarf_call for
      dwarf2_loc_desc_get_symbol_read_needs.  */
 
-  void dwarf_call (cu_offset die_offset) OVERRIDE
+  void dwarf_call (cu_offset die_offset) override
   {
     per_cu_dwarf_call (this, die_offset, per_cu);
   }
@@ -2802,7 +2801,7 @@ class symbol_needs_eval_context : public
 
   void push_dwarf_reg_entry_value (enum call_site_parameter_kind kind,
 				   union call_site_parameter_u kind_u,
-				   int deref_size) OVERRIDE
+				   int deref_size) override
   {
     needs = SYMBOL_NEEDS_FRAME;
 
@@ -2812,7 +2811,7 @@ class symbol_needs_eval_context : public
 
   /* DW_OP_GNU_addr_index doesn't require a frame.  */
 
-   CORE_ADDR get_addr_index (unsigned int index) OVERRIDE
+   CORE_ADDR get_addr_index (unsigned int index) override
    {
      /* Nothing to do.  */
      return 1;
@@ -2820,7 +2819,7 @@ class symbol_needs_eval_context : public
 
    /* DW_OP_push_object_address has a frame already passed through.  */
 
-   CORE_ADDR get_object_address () OVERRIDE
+   CORE_ADDR get_object_address () override
    {
      /* Nothing to do.  */
      return 1;
@@ -2866,7 +2865,7 @@ dwarf2_loc_desc_get_symbol_read_needs (c
 /* A helper function that throws an unimplemented error mentioning a
    given DWARF operator.  */
 
-static void
+static void ATTRIBUTE_NORETURN
 unimplemented (unsigned int op)
 {
   const char *name = get_DW_OP_name (op);
@@ -2893,8 +2892,7 @@ dwarf_reg_to_regnum (struct gdbarch *arc
 
   if (reg == -1)
     {
-      complaint (&symfile_complaints,
-		 _("bad DWARF register number %d"), dwarf_reg);
+      complaint (_("bad DWARF register number %d"), dwarf_reg);
     }
   return reg;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf2read.c ./gdb/dwarf2read.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf2read.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/dwarf2read.c	2018-07-10 02:06:13.000000000 +0000
@@ -29,6 +29,8 @@
    E.g., load_partial_dies, read_partial_die.  */
 
 #include "defs.h"
+#include "dwarf2read.h"
+#include "dwarf-index-common.h"
 #include "bfd.h"
 #include "elf-bfd.h"
 #include "symtab.h"
@@ -86,11 +88,9 @@
 #include <cmath>
 #include <set>
 #include <forward_list>
+#include "rust-lang.h"
 #include "common/pathstuff.h"
 
-typedef struct symbol *symbolp;
-DEF_VEC_P (symbolp);
-
 /* When == 1, print basic high level tracing messages.
    When > 1, be more verbose.
    This is in contrast to the low level DIE reading of dwarf_die_debug.  */
@@ -117,99 +117,6 @@ static int dwarf2_loclist_index;
 static int dwarf2_locexpr_block_index;
 static int dwarf2_loclist_block_index;
 
-/* A descriptor for dwarf sections.
-
-   S.ASECTION, SIZE are typically initialized when the objfile is first
-   scanned.  BUFFER, READIN are filled in later when the section is read.
-   If the section contained compressed data then SIZE is updated to record
-   the uncompressed size of the section.
-
-   DWP file format V2 introduces a wrinkle that is easiest to handle by
-   creating the concept of virtual sections contained within a real section.
-   In DWP V2 the sections of the input DWO files are concatenated together
-   into one section, but section offsets are kept relative to the original
-   input section.
-   If this is a virtual dwp-v2 section, S.CONTAINING_SECTION is a backlink to
-   the real section this "virtual" section is contained in, and BUFFER,SIZE
-   describe the virtual section.  */
-
-struct dwarf2_section_info
-{
-  union
-  {
-    /* If this is a real section, the bfd section.  */
-    asection *section;
-    /* If this is a virtual section, pointer to the containing ("real")
-       section.  */
-    struct dwarf2_section_info *containing_section;
-  } s;
-  /* Pointer to section data, only valid if readin.  */
-  const gdb_byte *buffer;
-  /* The size of the section, real or virtual.  */
-  bfd_size_type size;
-  /* If this is a virtual section, the offset in the real section.
-     Only valid if is_virtual.  */
-  bfd_size_type virtual_offset;
-  /* True if we have tried to read this section.  */
-  char readin;
-  /* True if this is a virtual section, False otherwise.
-     This specifies which of s.section and s.containing_section to use.  */
-  char is_virtual;
-};
-
-typedef struct dwarf2_section_info dwarf2_section_info_def;
-DEF_VEC_O (dwarf2_section_info_def);
-
-/* All offsets in the index are of this type.  It must be
-   architecture-independent.  */
-typedef uint32_t offset_type;
-
-DEF_VEC_I (offset_type);
-
-/* Ensure only legit values are used.  */
-#define DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE(cu_index, value) \
-  do { \
-    gdb_assert ((unsigned int) (value) <= 1); \
-    GDB_INDEX_SYMBOL_STATIC_SET_VALUE((cu_index), (value)); \
-  } while (0)
-
-/* Ensure only legit values are used.  */
-#define DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE(cu_index, value) \
-  do { \
-    gdb_assert ((value) >= GDB_INDEX_SYMBOL_KIND_TYPE \
-                && (value) <= GDB_INDEX_SYMBOL_KIND_OTHER); \
-    GDB_INDEX_SYMBOL_KIND_SET_VALUE((cu_index), (value)); \
-  } while (0)
-
-/* Ensure we don't use more than the alloted nuber of bits for the CU.  */
-#define DW2_GDB_INDEX_CU_SET_VALUE(cu_index, value) \
-  do { \
-    gdb_assert (((value) & ~GDB_INDEX_CU_MASK) == 0); \
-    GDB_INDEX_CU_SET_VALUE((cu_index), (value)); \
-  } while (0)
-
-#if WORDS_BIGENDIAN
-
-/* Convert VALUE between big- and little-endian.  */
-
-static offset_type
-byte_swap (offset_type value)
-{
-  offset_type result;
-
-  result = (value & 0xff) << 24;
-  result |= (value & 0xff00) << 8;
-  result |= (value & 0xff0000) >> 8;
-  result |= (value & 0xff000000) >> 24;
-  return result;
-}
-
-#define MAYBE_SWAP(V)  byte_swap (V)
-
-#else
-#define MAYBE_SWAP(V) static_cast<offset_type> (V)
-#endif /* WORDS_BIGENDIAN */
-
 /* An index into a (C++) symbol name component in a symbol name as
    recorded in the mapped_index's symbol table.  For each C++ symbol
    in the symbol table, we record one entry for the start of each
@@ -240,6 +147,9 @@ struct name_component
 
 struct mapped_index_base
 {
+  mapped_index_base () = default;
+  DISABLE_COPY_AND_ASSIGN (mapped_index_base);
+
   /* The name_component table (a sorted vector).  See name_component's
      description above.  */
   std::vector<name_component> name_components;
@@ -288,10 +198,7 @@ struct mapped_index final : public mappe
   };
 
   /* Index data format version.  */
-  int version;
-
-  /* The total length of the buffer.  */
-  off_t total_size;
+  int version = 0;
 
   /* The address table data.  */
   gdb::array_view<const gdb_byte> address_table;
@@ -300,7 +207,7 @@ struct mapped_index final : public mappe
   gdb::array_view<symbol_table_slot> symbol_table;
 
   /* A pointer to the constant pool.  */
-  const char *constant_pool;
+  const char *constant_pool = nullptr;
 
   bool symbol_name_slot_invalid (offset_type idx) const override
   {
@@ -321,6 +228,11 @@ struct mapped_index final : public mappe
    Uninitialized map has CU_COUNT 0.  */
 struct mapped_debug_names final : public mapped_index_base
 {
+  mapped_debug_names (struct dwarf2_per_objfile *dwarf2_per_objfile_)
+  : dwarf2_per_objfile (dwarf2_per_objfile_)
+  {}
+
+  struct dwarf2_per_objfile *dwarf2_per_objfile;
   bfd_endian dwarf5_byte_order;
   bool dwarf5_is_dwarf64;
   bool augmentation_is_gdb;
@@ -364,158 +276,24 @@ struct mapped_debug_names final : public
   { return this->name_count; }
 };
 
-typedef struct dwarf2_per_cu_data *dwarf2_per_cu_ptr;
-DEF_VEC_P (dwarf2_per_cu_ptr);
+/* See dwarf2read.h.  */
 
-struct tu_stats
+dwarf2_per_objfile *
+get_dwarf2_per_objfile (struct objfile *objfile)
 {
-  int nr_uniq_abbrev_tables;
-  int nr_symtabs;
-  int nr_symtab_sharers;
-  int nr_stmt_less_type_units;
-  int nr_all_type_units_reallocs;
-};
+  return ((struct dwarf2_per_objfile *)
+	  objfile_data (objfile, dwarf2_objfile_data_key));
+}
 
-/* Collection of data recorded per objfile.
-   This hangs off of dwarf2_objfile_data_key.  */
+/* Set the dwarf2_per_objfile associated to OBJFILE.  */
 
-struct dwarf2_per_objfile
+void
+set_dwarf2_per_objfile (struct objfile *objfile,
+			struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
-  /* Construct a dwarf2_per_objfile for OBJFILE.  NAMES points to the
-     dwarf2 section names, or is NULL if the standard ELF names are
-     used.  */
-  dwarf2_per_objfile (struct objfile *objfile,
-		      const dwarf2_debug_sections *names);
-
-  ~dwarf2_per_objfile ();
-
-  DISABLE_COPY_AND_ASSIGN (dwarf2_per_objfile);
-
-  /* Free all cached compilation units.  */
-  void free_cached_comp_units ();
-private:
-  /* This function is mapped across the sections and remembers the
-     offset and size of each of the debugging sections we are
-     interested in.  */
-  void locate_sections (bfd *abfd, asection *sectp,
-			const dwarf2_debug_sections &names);
-
-public:
-  dwarf2_section_info info {};
-  dwarf2_section_info abbrev {};
-  dwarf2_section_info line {};
-  dwarf2_section_info loc {};
-  dwarf2_section_info loclists {};
-  dwarf2_section_info macinfo {};
-  dwarf2_section_info macro {};
-  dwarf2_section_info str {};
-  dwarf2_section_info line_str {};
-  dwarf2_section_info ranges {};
-  dwarf2_section_info rnglists {};
-  dwarf2_section_info addr {};
-  dwarf2_section_info frame {};
-  dwarf2_section_info eh_frame {};
-  dwarf2_section_info gdb_index {};
-  dwarf2_section_info debug_names {};
-  dwarf2_section_info debug_aranges {};
-
-  VEC (dwarf2_section_info_def) *types = NULL;
-
-  /* Back link.  */
-  struct objfile *objfile = NULL;
-
-  /* Table of all the compilation units.  This is used to locate
-     the target compilation unit of a particular reference.  */
-  struct dwarf2_per_cu_data **all_comp_units = NULL;
-
-  /* The number of compilation units in ALL_COMP_UNITS.  */
-  int n_comp_units = 0;
-
-  /* The number of .debug_types-related CUs.  */
-  int n_type_units = 0;
-
-  /* The number of elements allocated in all_type_units.
-     If there are skeleton-less TUs, we add them to all_type_units lazily.  */
-  int n_allocated_type_units = 0;
-
-  /* The .debug_types-related CUs (TUs).
-     This is stored in malloc space because we may realloc it.  */
-  struct signatured_type **all_type_units = NULL;
-
-  /* Table of struct type_unit_group objects.
-     The hash key is the DW_AT_stmt_list value.  */
-  htab_t type_unit_groups {};
-
-  /* A table mapping .debug_types signatures to its signatured_type entry.
-     This is NULL if the .debug_types section hasn't been read in yet.  */
-  htab_t signatured_types {};
-
-  /* Type unit statistics, to see how well the scaling improvements
-     are doing.  */
-  struct tu_stats tu_stats {};
-
-  /* A chain of compilation units that are currently read in, so that
-     they can be freed later.  */
-  dwarf2_per_cu_data *read_in_chain = NULL;
-
-  /* A table mapping DW_AT_dwo_name values to struct dwo_file objects.
-     This is NULL if the table hasn't been allocated yet.  */
-  htab_t dwo_files {};
-
-  /* True if we've checked for whether there is a DWP file.  */
-  bool dwp_checked = false;
-
-  /* The DWP file if there is one, or NULL.  */
-  struct dwp_file *dwp_file = NULL;
-
-  /* The shared '.dwz' file, if one exists.  This is used when the
-     original data was compressed using 'dwz -m'.  */
-  struct dwz_file *dwz_file = NULL;
-
-  /* A flag indicating whether this objfile has a section loaded at a
-     VMA of 0.  */
-  bool has_section_at_zero = false;
-
-  /* True if we are using the mapped index,
-     or we are faking it for OBJF_READNOW's sake.  */
-  bool using_index = false;
-
-  /* The mapped index, or NULL if .gdb_index is missing or not being used.  */
-  mapped_index *index_table = NULL;
-
-  /* The mapped index, or NULL if .debug_names is missing or not being used.  */
-  std::unique_ptr<mapped_debug_names> debug_names_table;
-
-  /* When using index_table, this keeps track of all quick_file_names entries.
-     TUs typically share line table entries with a CU, so we maintain a
-     separate table of all line table entries to support the sharing.
-     Note that while there can be way more TUs than CUs, we've already
-     sorted all the TUs into "type unit groups", grouped by their
-     DW_AT_stmt_list value.  Therefore the only sharing done here is with a
-     CU and its associated TU group if there is one.  */
-  htab_t quick_file_names_table {};
-
-  /* Set during partial symbol reading, to prevent queueing of full
-     symbols.  */
-  bool reading_partial_symbols = false;
-
-  /* Table mapping type DIEs to their struct type *.
-     This is NULL if not allocated yet.
-     The mapping is done via (CU/TU + DIE offset) -> type.  */
-  htab_t die_type_hash {};
-
-  /* The CUs we recently read.  */
-  VEC (dwarf2_per_cu_ptr) *just_read_cus = NULL;
-
-  /* Table containing line_header indexed by offset and offset_in_dwz.  */
-  htab_t line_header_hash {};
-
-  /* Table containing all filenames.  This is an optional because the
-     table is lazily constructed on first access.  */
-  gdb::optional<filename_seen_cache> filenames_cache;
-};
-
-static struct dwarf2_per_objfile *dwarf2_per_objfile;
+  gdb_assert (get_dwarf2_per_objfile (objfile) == NULL);
+  set_objfile_data (objfile, dwarf2_objfile_data_key, dwarf2_per_objfile);
+}
 
 /* Default names of the debugging sections.  */
 
@@ -634,29 +412,28 @@ struct delayed_method_info
   struct die_info *die;
 };
 
-typedef struct delayed_method_info delayed_method_info;
-DEF_VEC_O (delayed_method_info);
-
 /* Internal state when decoding a particular compilation unit.  */
 struct dwarf2_cu
 {
-  /* The objfile containing this compilation unit.  */
-  struct objfile *objfile;
+  explicit dwarf2_cu (struct dwarf2_per_cu_data *per_cu);
+  ~dwarf2_cu ();
+
+  DISABLE_COPY_AND_ASSIGN (dwarf2_cu);
 
   /* The header of the compilation unit.  */
-  struct comp_unit_head header;
+  struct comp_unit_head header {};
 
   /* Base address of this compilation unit.  */
-  CORE_ADDR base_address;
+  CORE_ADDR base_address = 0;
 
   /* Non-zero if base_address has been set.  */
-  int base_known;
+  int base_known = 0;
 
   /* The language we are debugging.  */
-  enum language language;
-  const struct language_defn *language_defn;
+  enum language language = language_unknown;
+  const struct language_defn *language_defn = nullptr;
 
-  const char *producer;
+  const char *producer = nullptr;
 
   /* The generic symbol table building routines have separate lists for
      file scope symbols and all all other scopes (local scopes).  So
@@ -667,60 +444,55 @@ struct dwarf2_cu
      first local scope, and all other local scopes as nested local
      scopes, and worked fine.  Check to see if we really need to
      distinguish these in buildsym.c.  */
-  struct pending **list_in_scope;
-
-  /* The abbrev table for this CU.
-     Normally this points to the abbrev table in the objfile.
-     But if DWO_UNIT is non-NULL this is the abbrev table in the DWO file.  */
-  struct abbrev_table *abbrev_table;
+  struct pending **list_in_scope = nullptr;
 
   /* Hash table holding all the loaded partial DIEs
      with partial_die->offset.SECT_OFF as hash.  */
-  htab_t partial_dies;
+  htab_t partial_dies = nullptr;
 
   /* Storage for things with the same lifetime as this read-in compilation
      unit, including partial DIEs.  */
-  struct obstack comp_unit_obstack;
+  auto_obstack comp_unit_obstack;
 
   /* When multiple dwarf2_cu structures are living in memory, this field
      chains them all together, so that they can be released efficiently.
      We will probably also want a generation counter so that most-recently-used
      compilation units are cached...  */
-  struct dwarf2_per_cu_data *read_in_chain;
+  struct dwarf2_per_cu_data *read_in_chain = nullptr;
 
   /* Backlink to our per_cu entry.  */
   struct dwarf2_per_cu_data *per_cu;
 
   /* How many compilation units ago was this CU last referenced?  */
-  int last_used;
+  int last_used = 0;
 
   /* A hash table of DIE cu_offset for following references with
      die_info->offset.sect_off as hash.  */
-  htab_t die_hash;
+  htab_t die_hash = nullptr;
 
   /* Full DIEs if read in.  */
-  struct die_info *dies;
+  struct die_info *dies = nullptr;
 
   /* A set of pointers to dwarf2_per_cu_data objects for compilation
      units referenced by this one.  Only set during full symbol processing;
      partial symbol tables do not have dependencies.  */
-  htab_t dependencies;
+  htab_t dependencies = nullptr;
 
   /* Header data from the line table, during full symbol processing.  */
-  struct line_header *line_header;
+  struct line_header *line_header = nullptr;
   /* Non-NULL if LINE_HEADER is owned by this DWARF_CU.  Otherwise,
      it's owned by dwarf2_per_objfile::line_header_hash.  If non-NULL,
      this is the DW_TAG_compile_unit die for this CU.  We'll hold on
      to the line header as long as this DIE is being processed.  See
      process_die_scope.  */
-  die_info *line_header_die_owner;
+  die_info *line_header_die_owner = nullptr;
 
   /* A list of methods which need to have physnames computed
      after all type information has been read.  */
-  VEC (delayed_method_info) *method_list;
+  std::vector<delayed_method_info> method_list;
 
   /* To be copied to symtab->call_site_htab.  */
-  htab_t call_site_htab;
+  htab_t call_site_htab = nullptr;
 
   /* Non-NULL if this CU came from a DWO file.
      There is an invariant here that is important to remember:
@@ -731,12 +503,12 @@ struct dwarf2_cu
      is moot), or there is and either we're not going to read it (in which
      case this is NULL) or there is and we are reading it (in which case this
      is non-NULL).  */
-  struct dwo_unit *dwo_unit;
+  struct dwo_unit *dwo_unit = nullptr;
 
   /* The DW_AT_addr_base attribute if present, zero otherwise
      (zero is a valid value though).
      Note this value comes from the Fission stub CU/TU's DIE.  */
-  ULONGEST addr_base;
+  ULONGEST addr_base = 0;
 
   /* The DW_AT_ranges_base attribute if present, zero otherwise
      (zero is a valid value though).
@@ -748,7 +520,15 @@ struct dwarf2_cu
      DW_AT_ranges appeared in the DW_TAG_compile_unit of DWO DIEs: then
      DW_AT_ranges_base *would* have to be applied, and we'd have to care
      whether the DW_AT_ranges attribute came from the skeleton or DWO.  */
-  ULONGEST ranges_base;
+  ULONGEST ranges_base = 0;
+
+  /* When reading debug info generated by older versions of rustc, we
+     have to rewrite some union types to be struct types with a
+     variant part.  This rewriting must be done after the CU is fully
+     read in, because otherwise at the point of rewriting some struct
+     type might not have been fully processed.  So, we keep a list of
+     all such types here and process them after expansion.  */
+  std::vector<struct type *> rust_unions;
 
   /* Mark used when releasing cached dies.  */
   unsigned int mark : 1;
@@ -773,149 +553,10 @@ struct dwarf2_cu
      this information, but later versions do.  */
 
   unsigned int processing_has_namespace_info : 1;
-};
-
-/* Persistent data held for a compilation unit, even when not
-   processing it.  We put a pointer to this structure in the
-   read_symtab_private field of the psymtab.  */
-
-struct dwarf2_per_cu_data
-{
-  /* The start offset and length of this compilation unit.
-     NOTE: Unlike comp_unit_head.length, this length includes
-     initial_length_size.
-     If the DIE refers to a DWO file, this is always of the original die,
-     not the DWO file.  */
-  sect_offset sect_off;
-  unsigned int length;
-
-  /* DWARF standard version this data has been read from (such as 4 or 5).  */
-  short dwarf_version;
-
-  /* Flag indicating this compilation unit will be read in before
-     any of the current compilation units are processed.  */
-  unsigned int queued : 1;
-
-  /* This flag will be set when reading partial DIEs if we need to load
-     absolutely all DIEs for this compilation unit, instead of just the ones
-     we think are interesting.  It gets set if we look for a DIE in the
-     hash table and don't find it.  */
-  unsigned int load_all_dies : 1;
-
-  /* Non-zero if this CU is from .debug_types.
-     Struct dwarf2_per_cu_data is contained in struct signatured_type iff
-     this is non-zero.  */
-  unsigned int is_debug_types : 1;
-
-  /* Non-zero if this CU is from the .dwz file.  */
-  unsigned int is_dwz : 1;
-
-  /* Non-zero if reading a TU directly from a DWO file, bypassing the stub.
-     This flag is only valid if is_debug_types is true.
-     We can't read a CU directly from a DWO file: There are required
-     attributes in the stub.  */
-  unsigned int reading_dwo_directly : 1;
-
-  /* Non-zero if the TU has been read.
-     This is used to assist the "Stay in DWO Optimization" for Fission:
-     When reading a DWO, it's faster to read TUs from the DWO instead of
-     fetching them from random other DWOs (due to comdat folding).
-     If the TU has already been read, the optimization is unnecessary
-     (and unwise - we don't want to change where gdb thinks the TU lives
-     "midflight").
-     This flag is only valid if is_debug_types is true.  */
-  unsigned int tu_read : 1;
-
-  /* The section this CU/TU lives in.
-     If the DIE refers to a DWO file, this is always the original die,
-     not the DWO file.  */
-  struct dwarf2_section_info *section;
-
-  /* Set to non-NULL iff this CU is currently loaded.  When it gets freed out
-     of the CU cache it gets reset to NULL again.  This is left as NULL for
-     dummy CUs (a CU header, but nothing else).  */
-  struct dwarf2_cu *cu;
-
-  /* The corresponding objfile.
-     Normally we can get the objfile from dwarf2_per_objfile.
-     However we can enter this file with just a "per_cu" handle.  */
-  struct objfile *objfile;
-
-  /* When dwarf2_per_objfile->using_index is true, the 'quick' field
-     is active.  Otherwise, the 'psymtab' field is active.  */
-  union
-  {
-    /* The partial symbol table associated with this compilation unit,
-       or NULL for unread partial units.  */
-    struct partial_symtab *psymtab;
-
-    /* Data needed by the "quick" functions.  */
-    struct dwarf2_per_cu_quick_data *quick;
-  } v;
-
-  /* The CUs we import using DW_TAG_imported_unit.  This is filled in
-     while reading psymtabs, used to compute the psymtab dependencies,
-     and then cleared.  Then it is filled in again while reading full
-     symbols, and only deleted when the objfile is destroyed.
-
-     This is also used to work around a difference between the way gold
-     generates .gdb_index version <=7 and the way gdb does.  Arguably this
-     is a gold bug.  For symbols coming from TUs, gold records in the index
-     the CU that includes the TU instead of the TU itself.  This breaks
-     dw2_lookup_symbol: It assumes that if the index says symbol X lives
-     in CU/TU Y, then one need only expand Y and a subsequent lookup in Y
-     will find X.  Alas TUs live in their own symtab, so after expanding CU Y
-     we need to look in TU Z to find X.  Fortunately, this is akin to
-     DW_TAG_imported_unit, so we just use the same mechanism: For
-     .gdb_index version <=7 this also records the TUs that the CU referred
-     to.  Concurrently with this change gdb was modified to emit version 8
-     indices so we only pay a price for gold generated indices.
-     http://sourceware.org/bugzilla/show_bug.cgi?id=15021.  */
-  VEC (dwarf2_per_cu_ptr) *imported_symtabs;
-};
-
-/* Entry in the signatured_types hash table.  */
-
-struct signatured_type
-{
-  /* The "per_cu" object of this type.
-     This struct is used iff per_cu.is_debug_types.
-     N.B.: This is the first member so that it's easy to convert pointers
-     between them.  */
-  struct dwarf2_per_cu_data per_cu;
-
-  /* The type's signature.  */
-  ULONGEST signature;
-
-  /* Offset in the TU of the type's DIE, as read from the TU header.
-     If this TU is a DWO stub and the definition lives in a DWO file
-     (specified by DW_AT_GNU_dwo_name), this value is unusable.  */
-  cu_offset type_offset_in_tu;
-
-  /* Offset in the section of the type's DIE.
-     If the definition lives in a DWO file, this is the offset in the
-     .debug_types.dwo section.
-     The value is zero until the actual value is known.
-     Zero is otherwise not a valid section offset.  */
-  sect_offset type_offset_in_section;
-
-  /* Type units are grouped by their DW_AT_stmt_list entry so that they
-     can share them.  This points to the containing symtab.  */
-  struct type_unit_group *type_unit_group;
-
-  /* The type.
-     The first time we encounter this type we fully read it in and install it
-     in the symbol tables.  Subsequent times we only need the type.  */
-  struct type *type;
 
-  /* Containing DWO unit.
-     This field is valid iff per_cu.reading_dwo_directly.  */
-  struct dwo_unit *dwo_unit;
+  struct partial_die_info *find_partial_die (sect_offset sect_off);
 };
 
-typedef struct signatured_type *sig_type_ptr;
-DEF_VEC_P (sig_type_ptr);
-
 /* A struct that can be used as a hash key for tables based on DW_AT_stmt_list.
    This includes type_unit_group and quick_file_names.  */
 
@@ -1169,49 +810,60 @@ struct dwp_hash_table
 
 struct dwp_file
 {
+  dwp_file (const char *name_, gdb_bfd_ref_ptr &&abfd)
+    : name (name_),
+      dbfd (std::move (abfd))
+  {
+  }
+
   /* Name of the file.  */
   const char *name;
 
   /* File format version.  */
-  int version;
+  int version = 0;
 
   /* The bfd.  */
-  bfd *dbfd;
+  gdb_bfd_ref_ptr dbfd;
 
   /* Section info for this file.  */
-  struct dwp_sections sections;
+  struct dwp_sections sections {};
 
   /* Table of CUs in the file.  */
-  const struct dwp_hash_table *cus;
+  const struct dwp_hash_table *cus = nullptr;
 
   /* Table of TUs in the file.  */
-  const struct dwp_hash_table *tus;
+  const struct dwp_hash_table *tus = nullptr;
 
   /* Tables of loaded CUs/TUs.  Each entry is a struct dwo_unit *.  */
-  htab_t loaded_cus;
-  htab_t loaded_tus;
+  htab_t loaded_cus {};
+  htab_t loaded_tus {};
 
   /* Table to map ELF section numbers to their sections.
      This is only needed for the DWP V1 file format.  */
-  unsigned int num_sections;
-  asection **elf_sections;
+  unsigned int num_sections = 0;
+  asection **elf_sections = nullptr;
 };
 
 /* This represents a '.dwz' file.  */
 
 struct dwz_file
 {
+  dwz_file (gdb_bfd_ref_ptr &&bfd)
+    : dwz_bfd (std::move (bfd))
+  {
+  }
+
   /* A dwz file can only contain a few sections.  */
-  struct dwarf2_section_info abbrev;
-  struct dwarf2_section_info info;
-  struct dwarf2_section_info str;
-  struct dwarf2_section_info line;
-  struct dwarf2_section_info macro;
-  struct dwarf2_section_info gdb_index;
-  struct dwarf2_section_info debug_names;
+  struct dwarf2_section_info abbrev {};
+  struct dwarf2_section_info info {};
+  struct dwarf2_section_info str {};
+  struct dwarf2_section_info line {};
+  struct dwarf2_section_info macro {};
+  struct dwarf2_section_info gdb_index {};
+  struct dwarf2_section_info debug_names {};
 
   /* The dwz's BFD.  */
-  bfd *dwz_bfd;
+  gdb_bfd_ref_ptr dwz_bfd;
 };
 
 /* Struct used to pass misc. parameters to read_die_and_children, et
@@ -1242,6 +894,9 @@ struct die_reader_specs
 
   /* The value of the DW_AT_comp_dir attribute.  */
   const char *comp_dir;
+
+  /* The abbreviation table to use when reading the DIEs.  */
+  struct abbrev_table *abbrev_table;
 };
 
 /* Type of function passed to init_cutu_and_read_dies, et.al.  */
@@ -1387,16 +1042,34 @@ file_entry::include_dir (const line_head
 
 /* When we construct a partial symbol table entry we only
    need this much information.  */
-struct partial_die_info
+struct partial_die_info : public allocate_on_obstack
   {
+    partial_die_info (sect_offset sect_off, struct abbrev_info *abbrev);
+
+    /* Disable assign but still keep copy ctor, which is needed
+       load_partial_dies.   */
+    partial_die_info& operator=(const partial_die_info& rhs) = delete;
+
+    /* Adjust the partial die before generating a symbol for it.  This
+       function may set the is_external flag or change the DIE's
+       name.  */
+    void fixup (struct dwarf2_cu *cu);
+
+    /* Read a minimal amount of information into the minimal die
+       structure.  */
+    const gdb_byte *read (const struct die_reader_specs *reader,
+			  const struct abbrev_info &abbrev,
+			  const gdb_byte *info_ptr);
+
     /* Offset of this DIE.  */
-    sect_offset sect_off;
+    const sect_offset sect_off;
 
     /* DWARF-2 tag for this DIE.  */
-    ENUM_BITFIELD(dwarf_tag) tag : 16;
+    const ENUM_BITFIELD(dwarf_tag) tag : 16;
 
     /* Assorted flags describing the data found in this DIE.  */
-    unsigned int has_children : 1;
+    const unsigned int has_children : 1;
+
     unsigned int is_external : 1;
     unsigned int is_declaration : 1;
     unsigned int has_type : 1;
@@ -1420,7 +1093,7 @@ struct partial_die_info
     /* Flag set if any of the DIE's children are template arguments.  */
     unsigned int has_template_arguments : 1;
 
-    /* Flag set if fixup_partial_die has been called on this die.  */
+    /* Flag set if fixup has been called on this die.  */
     unsigned int fixup_called : 1;
 
     /* Flag set if DW_TAG_imported_unit uses DW_FORM_GNU_ref_alt.  */
@@ -1431,15 +1104,15 @@ struct partial_die_info
 
     /* The name of this DIE.  Normally the value of DW_AT_name, but
        sometimes a default name for unnamed DIEs.  */
-    const char *name;
+    const char *name = nullptr;
 
     /* The linkage name, if present.  */
-    const char *linkage_name;
+    const char *linkage_name = nullptr;
 
     /* The scope to prepend to our children.  This is generally
        allocated on the comp_unit_obstack, so will disappear
        when this compilation unit leaves the cache.  */
-    const char *scope;
+    const char *scope = nullptr;
 
     /* Some data associated with the partial DIE.  The tag determines
        which field is live.  */
@@ -1449,26 +1122,58 @@ struct partial_die_info
       struct dwarf_block *locdesc;
       /* The offset of an import, for DW_TAG_imported_unit.  */
       sect_offset sect_off;
-    } d;
+    } d {};
 
     /* If HAS_PC_INFO, the PC range associated with this DIE.  */
-    CORE_ADDR lowpc;
-    CORE_ADDR highpc;
+    CORE_ADDR lowpc = 0;
+    CORE_ADDR highpc = 0;
 
     /* Pointer into the info_buffer (or types_buffer) pointing at the target of
        DW_AT_sibling, if any.  */
-    /* NOTE: This member isn't strictly necessary, read_partial_die could
-       return DW_AT_sibling values to its caller load_partial_dies.  */
-    const gdb_byte *sibling;
+    /* NOTE: This member isn't strictly necessary, partial_die_info::read
+       could return DW_AT_sibling values to its caller load_partial_dies.  */
+    const gdb_byte *sibling = nullptr;
 
     /* If HAS_SPECIFICATION, the offset of the DIE referred to by
        DW_AT_specification (or DW_AT_abstract_origin or
        DW_AT_extension).  */
-    sect_offset spec_offset;
+    sect_offset spec_offset {};
 
     /* Pointers to this DIE's parent, first child, and next sibling,
        if any.  */
-    struct partial_die_info *die_parent, *die_child, *die_sibling;
+    struct partial_die_info *die_parent = nullptr;
+    struct partial_die_info *die_child = nullptr;
+    struct partial_die_info *die_sibling = nullptr;
+
+    friend struct partial_die_info *
+    dwarf2_cu::find_partial_die (sect_offset sect_off);
+
+  private:
+    /* Only need to do look up in dwarf2_cu::find_partial_die.  */
+    partial_die_info (sect_offset sect_off)
+      : partial_die_info (sect_off, DW_TAG_padding, 0)
+    {
+    }
+
+    partial_die_info (sect_offset sect_off_, enum dwarf_tag tag_,
+		      int has_children_)
+      : sect_off (sect_off_), tag (tag_), has_children (has_children_)
+    {
+      is_external = 0;
+      is_declaration = 0;
+      has_type = 0;
+      has_specification = 0;
+      has_pc_info = 0;
+      may_be_inlined = 0;
+      main_subprogram = 0;
+      scope_set = 0;
+      has_byte_size = 0;
+      has_const_value = 0;
+      has_template_arguments = 0;
+      fixup_called = 0;
+      is_dwz = 0;
+      spec_is_dwz = 0;
+    }
   };
 
 /* This data structure holds the information of an abbrev.  */
@@ -1498,20 +1203,47 @@ struct attr_abbrev
 
 struct abbrev_table
 {
+  explicit abbrev_table (sect_offset off)
+    : sect_off (off)
+  {
+    m_abbrevs =
+      XOBNEWVEC (&abbrev_obstack, struct abbrev_info *, ABBREV_HASH_SIZE);
+    memset (m_abbrevs, 0, ABBREV_HASH_SIZE * sizeof (struct abbrev_info *));
+  }
+
+  DISABLE_COPY_AND_ASSIGN (abbrev_table);
+
+  /* Allocate space for a struct abbrev_info object in
+     ABBREV_TABLE.  */
+  struct abbrev_info *alloc_abbrev ();
+
+  /* Add an abbreviation to the table.  */
+  void add_abbrev (unsigned int abbrev_number, struct abbrev_info *abbrev);
+
+  /* Look up an abbrev in the table.
+     Returns NULL if the abbrev is not found.  */
+
+  struct abbrev_info *lookup_abbrev (unsigned int abbrev_number);
+
+
   /* Where the abbrev table came from.
      This is used as a sanity check when the table is used.  */
-  sect_offset sect_off;
+  const sect_offset sect_off;
 
   /* Storage for the abbrev table.  */
-  struct obstack abbrev_obstack;
+  auto_obstack abbrev_obstack;
+
+private:
 
   /* Hash table of abbrevs.
      This is an array of size ABBREV_HASH_SIZE allocated in abbrev_obstack.
      It could be statically allocated, but the previous code didn't so we
      don't either.  */
-  struct abbrev_info **abbrevs;
+  struct abbrev_info **m_abbrevs;
 };
 
+typedef std::unique_ptr<struct abbrev_table> abbrev_table_up;
+
 /* Attributes have a name and a value.  */
 struct attribute
   {
@@ -1604,31 +1336,36 @@ struct dwarf_block
    and friends.  */
 static int bits_per_byte = 8;
 
-struct nextfield
-{
-  struct nextfield *next;
-  int accessibility;
-  int virtuality;
-  struct field field;
-};
+/* When reading a variant or variant part, we track a bit more
+   information about the field, and store it in an object of this
+   type.  */
 
-struct nextfnfield
+struct variant_field
 {
-  struct nextfnfield *next;
-  struct fn_field fnfield;
+  /* If we see a DW_TAG_variant, then this will be the discriminant
+     value.  */
+  ULONGEST discriminant_value;
+  /* If we see a DW_TAG_variant, then this will be set if this is the
+     default branch.  */
+  bool default_branch;
+  /* While reading a DW_TAG_variant_part, this will be set if this
+     field is the discriminant.  */
+  bool is_discriminant;
 };
 
-struct fnfieldlist
+struct nextfield
 {
-  const char *name;
-  int length;
-  struct nextfnfield *head;
+  int accessibility = 0;
+  int virtuality = 0;
+  /* Extra information to describe a variant or variant part.  */
+  struct variant_field variant {};
+  struct field field {};
 };
 
-struct decl_field_list
+struct fnfieldlist
 {
-  struct decl_field field;
-  struct decl_field_list *next;
+  const char *name = nullptr;
+  std::vector<struct fn_field> fnfields;
 };
 
 /* The routines that read and process dies for a C struct or C++ class
@@ -1637,34 +1374,27 @@ struct decl_field_list
 struct field_info
   {
     /* List of data member and baseclasses fields.  */
-    struct nextfield *fields, *baseclasses;
+    std::vector<struct nextfield> fields;
+    std::vector<struct nextfield> baseclasses;
 
     /* Number of fields (including baseclasses).  */
-    int nfields;
-
-    /* Number of baseclasses.  */
-    int nbaseclasses;
+    int nfields = 0;
 
     /* Set if the accesibility of one of the fields is not public.  */
-    int non_public_fields;
+    int non_public_fields = 0;
 
     /* Member function fieldlist array, contains name of possibly overloaded
        member function, number of overloaded member functions and a pointer
        to the head of the member function field chain.  */
-    struct fnfieldlist *fnfieldlists;
-
-    /* Number of entries in the fnfieldlists array.  */
-    int nfnfields;
+    std::vector<struct fnfieldlist> fnfieldlists;
 
     /* typedefs defined inside this class.  TYPEDEF_FIELD_LIST contains head of
        a NULL terminated list of TYPEDEF_FIELD_LIST_COUNT elements.  */
-    struct decl_field_list *typedef_field_list;
-    unsigned typedef_field_list_count;
+    std::vector<struct decl_field> typedef_field_list;
 
     /* Nested types defined by this class and the number of elements in this
        list.  */
-    struct decl_field_list *nested_types_list;
-    unsigned nested_types_list_count;
+    std::vector<struct decl_field> nested_types_list;
   };
 
 /* One item on the queue of compilation units to read in full symbols
@@ -1711,7 +1441,8 @@ static void build_type_psymtabs_reader (
 					struct die_info *type_unit_die,
 					int has_children, void *data);
 
-static void dwarf2_build_psymtabs_hard (struct objfile *);
+static void dwarf2_build_psymtabs_hard
+  (struct dwarf2_per_objfile *dwarf2_per_objfile);
 
 static void scan_partial_symbols (struct partial_die_info *,
 				  CORE_ADDR *, CORE_ADDR *,
@@ -1740,38 +1471,18 @@ static void dwarf2_read_symtab (struct p
 
 static void psymtab_to_symtab_1 (struct partial_symtab *);
 
-static struct abbrev_info *abbrev_table_lookup_abbrev
-  (const struct abbrev_table *, unsigned int);
-
-static struct abbrev_table *abbrev_table_read_table
-  (struct dwarf2_section_info *, sect_offset);
-
-static void abbrev_table_free (struct abbrev_table *);
-
-static void abbrev_table_free_cleanup (void *);
-
-static void dwarf2_read_abbrevs (struct dwarf2_cu *,
-				 struct dwarf2_section_info *);
-
-static void dwarf2_free_abbrev_table (void *);
+static abbrev_table_up abbrev_table_read_table
+  (struct dwarf2_per_objfile *dwarf2_per_objfile, struct dwarf2_section_info *,
+   sect_offset);
 
 static unsigned int peek_abbrev_code (bfd *, const gdb_byte *);
 
 static struct partial_die_info *load_partial_dies
   (const struct die_reader_specs *, const gdb_byte *, int);
 
-static const gdb_byte *read_partial_die (const struct die_reader_specs *,
-					 struct partial_die_info *,
-					 struct abbrev_info *,
-					 unsigned int,
-					 const gdb_byte *);
-
 static struct partial_die_info *find_partial_die (sect_offset, int,
 						  struct dwarf2_cu *);
 
-static void fixup_partial_die (struct partial_die_info *,
-			       struct dwarf2_cu *);
-
 static const gdb_byte *read_attribute (const struct die_reader_specs *,
 				       struct attribute *, struct attr_abbrev *,
 				       const gdb_byte *);
@@ -1801,25 +1512,28 @@ static LONGEST read_offset (bfd *, const
 
 static LONGEST read_offset_1 (bfd *, const gdb_byte *, unsigned int);
 
-static sect_offset read_abbrev_offset (struct dwarf2_section_info *,
-				       sect_offset);
+static sect_offset read_abbrev_offset
+  (struct dwarf2_per_objfile *dwarf2_per_objfile,
+   struct dwarf2_section_info *, sect_offset);
 
 static const gdb_byte *read_n_bytes (bfd *, const gdb_byte *, unsigned int);
 
 static const char *read_direct_string (bfd *, const gdb_byte *, unsigned int *);
 
-static const char *read_indirect_string (bfd *, const gdb_byte *,
-					 const struct comp_unit_head *,
-					 unsigned int *);
-
-static const char *read_indirect_line_string (bfd *, const gdb_byte *,
-					      const struct comp_unit_head *,
-					      unsigned int *);
-
-static const char *read_indirect_string_at_offset (bfd *abfd,
-						   LONGEST str_offset);
+static const char *read_indirect_string
+  (struct dwarf2_per_objfile *dwarf2_per_objfile, bfd *, const gdb_byte *,
+   const struct comp_unit_head *, unsigned int *);
+
+static const char *read_indirect_line_string
+  (struct dwarf2_per_objfile *dwarf2_per_objfile, bfd *, const gdb_byte *,
+   const struct comp_unit_head *, unsigned int *);
+
+static const char *read_indirect_string_at_offset
+  (struct dwarf2_per_objfile *dwarf2_per_objfile, bfd *abfd,
+   LONGEST str_offset);
 
-static const char *read_indirect_string_from_dwz (struct dwz_file *, LONGEST);
+static const char *read_indirect_string_from_dwz
+  (struct objfile *objfile, struct dwz_file *, LONGEST);
 
 static LONGEST read_signed_leb128 (bfd *, const gdb_byte *, unsigned int *);
 
@@ -1863,10 +1577,7 @@ static struct compunit_symtab *dwarf2_st
 						    CORE_ADDR);
 
 static struct symbol *new_symbol (struct die_info *, struct type *,
-				  struct dwarf2_cu *);
-
-static struct symbol *new_symbol_full (struct die_info *, struct type *,
-				       struct dwarf2_cu *, struct symbol *);
+				  struct dwarf2_cu *, struct symbol * = NULL);
 
 static void dwarf2_const_value (const struct attribute *, struct symbol *,
 				struct dwarf2_cu *);
@@ -2109,38 +1820,30 @@ static const gdb_byte *skip_one_die (con
 				     const gdb_byte *info_ptr,
 				     struct abbrev_info *abbrev);
 
-static void free_stack_comp_unit (void *);
-
 static hashval_t partial_die_hash (const void *item);
 
 static int partial_die_eq (const void *item_lhs, const void *item_rhs);
 
 static struct dwarf2_per_cu_data *dwarf2_find_containing_comp_unit
-  (sect_offset sect_off, unsigned int offset_in_dwz, struct objfile *objfile);
-
-static void init_one_comp_unit (struct dwarf2_cu *cu,
-				struct dwarf2_per_cu_data *per_cu);
+  (sect_offset sect_off, unsigned int offset_in_dwz,
+   struct dwarf2_per_objfile *dwarf2_per_objfile);
 
 static void prepare_one_comp_unit (struct dwarf2_cu *cu,
 				   struct die_info *comp_unit_die,
 				   enum language pretend_language);
 
-static void free_heap_comp_unit (void *);
-
-static void free_cached_comp_units (void *);
-
-static void age_cached_comp_units (void);
+static void age_cached_comp_units (struct dwarf2_per_objfile *dwarf2_per_objfile);
 
 static void free_one_cached_comp_unit (struct dwarf2_per_cu_data *);
 
 static struct type *set_die_type (struct die_info *, struct type *,
 				  struct dwarf2_cu *);
 
-static void create_all_comp_units (struct objfile *);
+static void create_all_comp_units (struct dwarf2_per_objfile *dwarf2_per_objfile);
 
-static int create_all_type_units (struct objfile *);
+static int create_all_type_units (struct dwarf2_per_objfile *dwarf2_per_objfile);
 
-static void load_full_comp_unit (struct dwarf2_per_cu_data *,
+static void load_full_comp_unit (struct dwarf2_per_cu_data *, bool,
 				 enum language);
 
 static void process_full_comp_unit (struct dwarf2_per_cu_data *,
@@ -2161,12 +1864,47 @@ static struct type *get_die_type_at_offs
 
 static struct type *get_die_type (struct die_info *die, struct dwarf2_cu *cu);
 
-static void dwarf2_release_queue (void *dummy);
-
 static void queue_comp_unit (struct dwarf2_per_cu_data *per_cu,
 			     enum language pretend_language);
 
-static void process_queue (void);
+static void process_queue (struct dwarf2_per_objfile *dwarf2_per_objfile);
+
+/* Class, the destructor of which frees all allocated queue entries.  This
+   will only have work to do if an error was thrown while processing the
+   dwarf.  If no error was thrown then the queue entries should have all
+   been processed, and freed, as we went along.  */
+
+class dwarf2_queue_guard
+{
+public:
+  dwarf2_queue_guard () = default;
+
+  /* Free any entries remaining on the queue.  There should only be
+     entries left if we hit an error while processing the dwarf.  */
+  ~dwarf2_queue_guard ()
+  {
+    struct dwarf2_queue_item *item, *last;
+
+    item = dwarf2_queue;
+    while (item)
+      {
+	/* Anything still marked queued is likely to be in an
+	   inconsistent state, so discard it.  */
+	if (item->per_cu->queued)
+	  {
+	    if (item->per_cu->cu != NULL)
+	      free_one_cached_comp_unit (item->per_cu);
+	    item->per_cu->queued = 0;
+	  }
+
+	last = item;
+	item = item->next;
+	xfree (last);
+      }
+
+    dwarf2_queue = dwarf2_queue_tail = NULL;
+  }
+};
 
 /* The return type of find_file_and_directory.  Note, the enclosed
    string pointers are only valid while this object is valid.  */
@@ -2197,14 +1935,15 @@ static char *file_full_name (int file, s
 enum class rcuh_kind { COMPILE, TYPE };
 
 static const gdb_byte *read_and_check_comp_unit_head
-  (struct comp_unit_head *header,
+  (struct dwarf2_per_objfile* dwarf2_per_objfile,
+   struct comp_unit_head *header,
    struct dwarf2_section_info *section,
    struct dwarf2_section_info *abbrev_section, const gdb_byte *info_ptr,
    rcuh_kind section_kind);
 
 static void init_cutu_and_read_dies
   (struct dwarf2_per_cu_data *this_cu, struct abbrev_table *abbrev_table,
-   int use_existing_cu, int keep,
+   int use_existing_cu, int keep, bool skip_partial,
    die_reader_func_ftype *die_reader_func, void *data);
 
 static void init_cutu_and_read_dies_simple
@@ -2216,10 +1955,12 @@ static htab_t allocate_signatured_type_t
 static htab_t allocate_dwo_unit_table (struct objfile *objfile);
 
 static struct dwo_unit *lookup_dwo_unit_in_dwp
-  (struct dwp_file *dwp_file, const char *comp_dir,
+  (struct dwarf2_per_objfile *dwarf2_per_objfile,
+   struct dwp_file *dwp_file, const char *comp_dir,
    ULONGEST signature, int is_debug_types);
 
-static struct dwp_file *get_dwp_file (void);
+static struct dwp_file *get_dwp_file
+  (struct dwarf2_per_objfile *dwarf2_per_objfile);
 
 static struct dwo_unit *lookup_dwo_comp_unit
   (struct dwarf2_per_cu_data *, const char *, const char *, ULONGEST);
@@ -2229,9 +1970,23 @@ static struct dwo_unit *lookup_dwo_type_
 
 static void queue_and_load_all_dwo_tus (struct dwarf2_per_cu_data *);
 
-static void free_dwo_file_cleanup (void *);
+static void free_dwo_file (struct dwo_file *);
+
+/* A unique_ptr helper to free a dwo_file.  */
+
+struct dwo_file_deleter
+{
+  void operator() (struct dwo_file *df) const
+  {
+    free_dwo_file (df);
+  }
+};
 
-static void process_cu_includes (void);
+/* A unique pointer to a dwo_file.  */
+
+typedef std::unique_ptr<struct dwo_file, dwo_file_deleter> dwo_file_up;
+
+static void process_cu_includes (struct dwarf2_per_objfile *dwarf2_per_objfile);
 
 static void check_producer (struct dwarf2_cu *cu);
 
@@ -2242,45 +1997,40 @@ static void free_line_header_voidp (void
 static void
 dwarf2_statement_list_fits_in_line_number_section_complaint (void)
 {
-  complaint (&symfile_complaints,
-	     _("statement list doesn't fit in .debug_line section"));
+  complaint (_("statement list doesn't fit in .debug_line section"));
 }
 
 static void
 dwarf2_debug_line_missing_file_complaint (void)
 {
-  complaint (&symfile_complaints,
-	     _(".debug_line section has line data without a file"));
+  complaint (_(".debug_line section has line data without a file"));
 }
 
 static void
 dwarf2_debug_line_missing_end_sequence_complaint (void)
 {
-  complaint (&symfile_complaints,
-	     _(".debug_line section has line "
+  complaint (_(".debug_line section has line "
 	       "program sequence without an end"));
 }
 
 static void
 dwarf2_complex_location_expr_complaint (void)
 {
-  complaint (&symfile_complaints, _("location expression too complex"));
+  complaint (_("location expression too complex"));
 }
 
 static void
 dwarf2_const_value_length_mismatch_complaint (const char *arg1, int arg2,
 					      int arg3)
 {
-  complaint (&symfile_complaints,
-	     _("const value length mismatch for '%s', got %d, expected %d"),
+  complaint (_("const value length mismatch for '%s', got %d, expected %d"),
 	     arg1, arg2, arg3);
 }
 
 static void
 dwarf2_section_buffer_overflow_complaint (struct dwarf2_section_info *section)
 {
-  complaint (&symfile_complaints,
-	     _("debug info runs off end of %s section"
+  complaint (_("debug info runs off end of %s section"
 	       " [in module %s]"),
 	     get_section_name (section),
 	     get_section_file_name (section));
@@ -2289,8 +2039,7 @@ dwarf2_section_buffer_overflow_complaint
 static void
 dwarf2_macro_malformed_definition_complaint (const char *arg1)
 {
-  complaint (&symfile_complaints,
-	     _("macro debug info contains a "
+  complaint (_("macro debug info contains a "
 	       "malformed macro definition:\n`%s'"),
 	     arg1);
 }
@@ -2298,8 +2047,7 @@ dwarf2_macro_malformed_definition_compla
 static void
 dwarf2_invalid_attrib_class_complaint (const char *arg1, const char *arg2)
 {
-  complaint (&symfile_complaints,
-	     _("invalid attribute class or form for '%s' in '%s'"),
+  complaint (_("invalid attribute class or form for '%s' in '%s'"),
 	     arg1, arg2);
 }
 
@@ -2365,11 +2113,6 @@ attr_value_as_address (struct attribute 
   return addr;
 }
 
-/* The suffix for an index file.  */
-#define INDEX4_SUFFIX ".gdb-index"
-#define INDEX5_SUFFIX ".debug_names"
-#define DEBUG_STR_SUFFIX ".debug_str"
-
 /* See declaration.  */
 
 dwarf2_per_objfile::dwarf2_per_objfile (struct objfile *objfile_,
@@ -2385,6 +2128,8 @@ dwarf2_per_objfile::dwarf2_per_objfile (
     locate_sections (obfd, sec, *names);
 }
 
+static void free_dwo_files (htab_t dwo_files, struct objfile *objfile);
+
 dwarf2_per_objfile::~dwarf2_per_objfile ()
 {
   /* Cached DIE trees use xmalloc and the comp_unit_obstack.  */
@@ -2396,6 +2141,17 @@ dwarf2_per_objfile::~dwarf2_per_objfile 
   if (line_header_hash)
     htab_delete (line_header_hash);
 
+  for (dwarf2_per_cu_data *per_cu : all_comp_units)
+    VEC_free (dwarf2_per_cu_ptr, per_cu->imported_symtabs);
+
+  for (signatured_type *sig_type : all_type_units)
+    VEC_free (dwarf2_per_cu_ptr, sig_type->per_cu.imported_symtabs);
+
+  VEC_free (dwarf2_section_info_def, types);
+
+  if (dwo_files != NULL)
+    free_dwo_files (dwo_files, objfile);
+
   /* Everything else should be on the objfile obstack.  */
 }
 
@@ -2410,12 +2166,36 @@ dwarf2_per_objfile::free_cached_comp_uni
     {
       dwarf2_per_cu_data *next_cu = per_cu->cu->read_in_chain;
 
-      free_heap_comp_unit (per_cu->cu);
+      delete per_cu->cu;
       *last_chain = next_cu;
       per_cu = next_cu;
     }
 }
 
+/* A helper class that calls free_cached_comp_units on
+   destruction.  */
+
+class free_cached_comp_units
+{
+public:
+
+  explicit free_cached_comp_units (dwarf2_per_objfile *per_objfile)
+    : m_per_objfile (per_objfile)
+  {
+  }
+
+  ~free_cached_comp_units ()
+  {
+    m_per_objfile->free_cached_comp_units ();
+  }
+
+  DISABLE_COPY_AND_ASSIGN (free_cached_comp_units);
+
+private:
+
+  dwarf2_per_objfile *m_per_objfile;
+};
+
 /* Try to locate the sections we need for DWARF 2 debugging
    information and return true if we have enough to do something.
    NAMES points to the dwarf2 section names, or is NULL if the standard
@@ -2428,16 +2208,16 @@ dwarf2_has_info (struct objfile *objfile
   if (objfile->flags & OBJF_READNEVER)
     return 0;
 
-  dwarf2_per_objfile = ((struct dwarf2_per_objfile *)
-			objfile_data (objfile, dwarf2_objfile_data_key));
-  if (!dwarf2_per_objfile)
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
+
+  if (dwarf2_per_objfile == NULL)
     {
       /* Initialize per-objfile state.  */
-      struct dwarf2_per_objfile *data
-	= XOBNEW (&objfile->objfile_obstack, struct dwarf2_per_objfile);
-
-      dwarf2_per_objfile = new (data) struct dwarf2_per_objfile (objfile, names);
-      set_objfile_data (objfile, dwarf2_objfile_data_key, dwarf2_per_objfile);
+      dwarf2_per_objfile
+	= new (&objfile->objfile_obstack) struct dwarf2_per_objfile (objfile,
+								     names);
+      set_dwarf2_per_objfile (objfile, dwarf2_per_objfile);
     }
   return (!dwarf2_per_objfile->info.is_virtual
 	  && dwarf2_per_objfile->info.s.section != NULL
@@ -2667,14 +2447,10 @@ dwarf2_section_empty_p (const struct dwa
   return section->s.section == NULL || section->size == 0;
 }
 
-/* Read the contents of the section INFO.
-   OBJFILE is the main object file, but not necessarily the file where
-   the section comes from.  E.g., for DWO files the bfd of INFO is the bfd
-   of the DWO file.
-   If the section is compressed, uncompress it before returning.  */
+/* See dwarf2read.h.  */
 
-static void
-dwarf2_read_section (struct objfile *objfile, struct dwarf2_section_info *info)
+void
+dwarf2_read_section (struct objfile *objfile, dwarf2_section_info *info)
 {
   asection *sectp;
   bfd *abfd;
@@ -2858,16 +2634,15 @@ locate_dwz_sections (bfd *abfd, asection
    is such a section but the file cannot be found.  */
 
 static struct dwz_file *
-dwarf2_get_dwz_file (void)
+dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
   const char *filename;
-  struct dwz_file *result;
   bfd_size_type buildid_len_arg;
   size_t buildid_len;
   bfd_byte *buildid;
 
   if (dwarf2_per_objfile->dwz_file != NULL)
-    return dwarf2_per_objfile->dwz_file;
+    return dwarf2_per_objfile->dwz_file.get ();
 
   bfd_set_error (bfd_error_no_error);
   gdb::unique_xmalloc_ptr<char> data
@@ -2913,15 +2688,16 @@ dwarf2_get_dwz_file (void)
     error (_("could not find '.gnu_debugaltlink' file for %s"),
 	   objfile_name (dwarf2_per_objfile->objfile));
 
-  result = OBSTACK_ZALLOC (&dwarf2_per_objfile->objfile->objfile_obstack,
-			   struct dwz_file);
-  result->dwz_bfd = dwz_bfd.release ();
+  std::unique_ptr<struct dwz_file> result
+    (new struct dwz_file (std::move (dwz_bfd)));
 
-  bfd_map_over_sections (result->dwz_bfd, locate_dwz_sections, result);
+  bfd_map_over_sections (result->dwz_bfd.get (), locate_dwz_sections,
+			 result.get ());
 
-  gdb_bfd_record_inclusion (dwarf2_per_objfile->objfile->obfd, result->dwz_bfd);
-  dwarf2_per_objfile->dwz_file = result;
-  return result;
+  gdb_bfd_record_inclusion (dwarf2_per_objfile->objfile->obfd,
+			    result->dwz_bfd.get ());
+  dwarf2_per_objfile->dwz_file = std::move (result);
+  return dwarf2_per_objfile->dwz_file.get ();
 }
 
 /* DWARF quick_symbols_functions support.  */
@@ -3055,12 +2831,12 @@ create_quick_file_names_table (unsigned 
    processing PER_CU->CU.  dw2_setup must have been already called.  */
 
 static void
-load_cu (struct dwarf2_per_cu_data *per_cu)
+load_cu (struct dwarf2_per_cu_data *per_cu, bool skip_partial)
 {
   if (per_cu->is_debug_types)
     load_full_type_unit (per_cu);
   else
-    load_full_comp_unit (per_cu, language_minimal);
+    load_full_comp_unit (per_cu, skip_partial, language_minimal);
 
   if (per_cu->cu == NULL)
     return;  /* Dummy CU.  */
@@ -3071,23 +2847,26 @@ load_cu (struct dwarf2_per_cu_data *per_
 /* Read in the symbols for PER_CU.  */
 
 static void
-dw2_do_instantiate_symtab (struct dwarf2_per_cu_data *per_cu)
+dw2_do_instantiate_symtab (struct dwarf2_per_cu_data *per_cu, bool skip_partial)
 {
-  struct cleanup *back_to;
+  struct dwarf2_per_objfile *dwarf2_per_objfile = per_cu->dwarf2_per_objfile;
 
   /* Skip type_unit_groups, reading the type units they contain
      is handled elsewhere.  */
   if (IS_TYPE_UNIT_GROUP (per_cu))
     return;
 
-  back_to = make_cleanup (dwarf2_release_queue, NULL);
+  /* The destructor of dwarf2_queue_guard frees any entries left on
+     the queue.  After this point we're guaranteed to leave this function
+     with the dwarf queue empty.  */
+  dwarf2_queue_guard q_guard;
 
   if (dwarf2_per_objfile->using_index
       ? per_cu->v.quick->compunit_symtab == NULL
       : (per_cu->v.psymtab == NULL || !per_cu->v.psymtab->readin))
     {
       queue_comp_unit (per_cu, language_minimal);
-      load_cu (per_cu);
+      load_cu (per_cu, skip_partial);
 
       /* If we just loaded a CU from a DWO, and we're working with an index
 	 that may badly handle TUs, load all the TUs in that DWO as well.
@@ -3098,17 +2877,15 @@ dw2_do_instantiate_symtab (struct dwarf2
 	  && dwarf2_per_objfile->index_table != NULL
 	  && dwarf2_per_objfile->index_table->version <= 7
 	  /* DWP files aren't supported yet.  */
-	  && get_dwp_file () == NULL)
+	  && get_dwp_file (dwarf2_per_objfile) == NULL)
 	queue_and_load_all_dwo_tus (per_cu);
     }
 
-  process_queue ();
+  process_queue (dwarf2_per_objfile);
 
   /* Age the cache, releasing compilation units that have not
      been used recently.  */
-  age_cached_comp_units ();
-
-  do_cleanups (back_to);
+  age_cached_comp_units (dwarf2_per_objfile);
 }
 
 /* Ensure that the symbols for PER_CU have been read in.  OBJFILE is
@@ -3116,57 +2893,55 @@ dw2_do_instantiate_symtab (struct dwarf2
    table.  */
 
 static struct compunit_symtab *
-dw2_instantiate_symtab (struct dwarf2_per_cu_data *per_cu)
+dw2_instantiate_symtab (struct dwarf2_per_cu_data *per_cu, bool skip_partial)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile = per_cu->dwarf2_per_objfile;
+
   gdb_assert (dwarf2_per_objfile->using_index);
   if (!per_cu->v.quick->compunit_symtab)
     {
-      struct cleanup *back_to = make_cleanup (free_cached_comp_units, NULL);
+      free_cached_comp_units freer (dwarf2_per_objfile);
       scoped_restore decrementer = increment_reading_symtab ();
-      dw2_do_instantiate_symtab (per_cu);
-      process_cu_includes ();
-      do_cleanups (back_to);
+      dw2_do_instantiate_symtab (per_cu, skip_partial);
+      process_cu_includes (dwarf2_per_objfile);
     }
 
   return per_cu->v.quick->compunit_symtab;
 }
 
-/* Return the CU/TU given its index.
+/* See declaration.  */
 
-   This is intended for loops like:
+dwarf2_per_cu_data *
+dwarf2_per_objfile::get_cutu (int index)
+{
+  if (index >= this->all_comp_units.size ())
+    {
+      index -= this->all_comp_units.size ();
+      gdb_assert (index < this->all_type_units.size ());
+      return &this->all_type_units[index]->per_cu;
+    }
 
-   for (i = 0; i < (dwarf2_per_objfile->n_comp_units
-		    + dwarf2_per_objfile->n_type_units); ++i)
-     {
-       struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
+  return this->all_comp_units[index];
+}
 
-       ...;
-     }
-*/
+/* See declaration.  */
 
-static struct dwarf2_per_cu_data *
-dw2_get_cutu (int index)
+dwarf2_per_cu_data *
+dwarf2_per_objfile::get_cu (int index)
 {
-  if (index >= dwarf2_per_objfile->n_comp_units)
-    {
-      index -= dwarf2_per_objfile->n_comp_units;
-      gdb_assert (index < dwarf2_per_objfile->n_type_units);
-      return &dwarf2_per_objfile->all_type_units[index]->per_cu;
-    }
+  gdb_assert (index >= 0 && index < this->all_comp_units.size ());
 
-  return dwarf2_per_objfile->all_comp_units[index];
+  return this->all_comp_units[index];
 }
 
-/* Return the CU given its index.
-   This differs from dw2_get_cutu in that it's for when you know INDEX
-   refers to a CU.  */
+/* See declaration.  */
 
-static struct dwarf2_per_cu_data *
-dw2_get_cu (int index)
+signatured_type *
+dwarf2_per_objfile::get_tu (int index)
 {
-  gdb_assert (index >= 0 && index < dwarf2_per_objfile->n_comp_units);
+  gdb_assert (index >= 0 && index < this->all_type_units.size ());
 
-  return dwarf2_per_objfile->all_comp_units[index];
+  return this->all_type_units[index];
 }
 
 /* Return a new dwarf2_per_cu_data allocated on OBJFILE's
@@ -3174,17 +2949,18 @@ dw2_get_cu (int index)
    values.  */
 
 static dwarf2_per_cu_data *
-create_cu_from_index_list (struct objfile *objfile,
+create_cu_from_index_list (struct dwarf2_per_objfile *dwarf2_per_objfile,
                           struct dwarf2_section_info *section,
                           int is_dwz,
                           sect_offset sect_off, ULONGEST length)
 {
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   dwarf2_per_cu_data *the_cu
     = OBSTACK_ZALLOC (&objfile->objfile_obstack,
                      struct dwarf2_per_cu_data);
   the_cu->sect_off = sect_off;
   the_cu->length = length;
-  the_cu->objfile = objfile;
+  the_cu->dwarf2_per_objfile = dwarf2_per_objfile;
   the_cu->section = section;
   the_cu->v.quick = OBSTACK_ZALLOC (&objfile->objfile_obstack,
                                    struct dwarf2_per_cu_quick_data);
@@ -3196,15 +2972,12 @@ create_cu_from_index_list (struct objfil
    CUs.  */
 
 static void
-create_cus_from_index_list (struct objfile *objfile,
+create_cus_from_index_list (struct dwarf2_per_objfile *dwarf2_per_objfile,
 			    const gdb_byte *cu_list, offset_type n_elements,
 			    struct dwarf2_section_info *section,
-			    int is_dwz,
-			    int base_offset)
+			    int is_dwz)
 {
-  offset_type i;
-
-  for (i = 0; i < n_elements; i += 2)
+  for (offset_type i = 0; i < n_elements; i += 2)
     {
       gdb_static_assert (sizeof (ULONGEST) >= 8);
 
@@ -3213,8 +2986,10 @@ create_cus_from_index_list (struct objfi
       ULONGEST length = extract_unsigned_integer (cu_list + 8, 8, BFD_ENDIAN_LITTLE);
       cu_list += 2 * 8;
 
-      dwarf2_per_objfile->all_comp_units[base_offset + i / 2]
-	= create_cu_from_index_list (objfile, section, is_dwz, sect_off, length);
+      dwarf2_per_cu_data *per_cu
+	= create_cu_from_index_list (dwarf2_per_objfile, section, is_dwz,
+				     sect_off, length);
+      dwarf2_per_objfile->all_comp_units.push_back (per_cu);
     }
 }
 
@@ -3222,48 +2997,42 @@ create_cus_from_index_list (struct objfi
    the CU objects for this objfile.  */
 
 static void
-create_cus_from_index (struct objfile *objfile,
+create_cus_from_index (struct dwarf2_per_objfile *dwarf2_per_objfile,
 		       const gdb_byte *cu_list, offset_type cu_list_elements,
 		       const gdb_byte *dwz_list, offset_type dwz_elements)
 {
-  struct dwz_file *dwz;
+  gdb_assert (dwarf2_per_objfile->all_comp_units.empty ());
+  dwarf2_per_objfile->all_comp_units.reserve
+    ((cu_list_elements + dwz_elements) / 2);
 
-  dwarf2_per_objfile->n_comp_units = (cu_list_elements + dwz_elements) / 2;
-  dwarf2_per_objfile->all_comp_units =
-    XOBNEWVEC (&objfile->objfile_obstack, struct dwarf2_per_cu_data *,
-	       dwarf2_per_objfile->n_comp_units);
-
-  create_cus_from_index_list (objfile, cu_list, cu_list_elements,
-			      &dwarf2_per_objfile->info, 0, 0);
+  create_cus_from_index_list (dwarf2_per_objfile, cu_list, cu_list_elements,
+			      &dwarf2_per_objfile->info, 0);
 
   if (dwz_elements == 0)
     return;
 
-  dwz = dwarf2_get_dwz_file ();
-  create_cus_from_index_list (objfile, dwz_list, dwz_elements, &dwz->info, 1,
-			      cu_list_elements / 2);
+  dwz_file *dwz = dwarf2_get_dwz_file (dwarf2_per_objfile);
+  create_cus_from_index_list (dwarf2_per_objfile, dwz_list, dwz_elements,
+			      &dwz->info, 1);
 }
 
 /* Create the signatured type hash table from the index.  */
 
 static void
-create_signatured_type_table_from_index (struct objfile *objfile,
-					 struct dwarf2_section_info *section,
-					 const gdb_byte *bytes,
-					 offset_type elements)
-{
-  offset_type i;
-  htab_t sig_types_hash;
-
-  dwarf2_per_objfile->n_type_units
-    = dwarf2_per_objfile->n_allocated_type_units
-    = elements / 3;
-  dwarf2_per_objfile->all_type_units =
-    XNEWVEC (struct signatured_type *, dwarf2_per_objfile->n_type_units);
+create_signatured_type_table_from_index
+  (struct dwarf2_per_objfile *dwarf2_per_objfile,
+   struct dwarf2_section_info *section,
+   const gdb_byte *bytes,
+   offset_type elements)
+{
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
 
-  sig_types_hash = allocate_signatured_type_table (objfile);
+  gdb_assert (dwarf2_per_objfile->all_type_units.empty ());
+  dwarf2_per_objfile->all_type_units.reserve (elements / 3);
 
-  for (i = 0; i < elements; i += 3)
+  htab_t sig_types_hash = allocate_signatured_type_table (objfile);
+
+  for (offset_type i = 0; i < elements; i += 3)
     {
       struct signatured_type *sig_type;
       ULONGEST signature;
@@ -3286,7 +3055,7 @@ create_signatured_type_table_from_index 
       sig_type->per_cu.is_debug_types = 1;
       sig_type->per_cu.section = section;
       sig_type->per_cu.sect_off = sect_off;
-      sig_type->per_cu.objfile = objfile;
+      sig_type->per_cu.dwarf2_per_objfile = dwarf2_per_objfile;
       sig_type->per_cu.v.quick
 	= OBSTACK_ZALLOC (&objfile->objfile_obstack,
 			  struct dwarf2_per_cu_quick_data);
@@ -3294,7 +3063,7 @@ create_signatured_type_table_from_index 
       slot = htab_find_slot (sig_types_hash, sig_type, INSERT);
       *slot = sig_type;
 
-      dwarf2_per_objfile->all_type_units[i / 3] = sig_type;
+      dwarf2_per_objfile->all_type_units.push_back (sig_type);
     }
 
   dwarf2_per_objfile->signatured_types = sig_types_hash;
@@ -3304,28 +3073,25 @@ create_signatured_type_table_from_index 
 
 static void
 create_signatured_type_table_from_debug_names
-  (struct objfile *objfile,
+  (struct dwarf2_per_objfile *dwarf2_per_objfile,
    const mapped_debug_names &map,
    struct dwarf2_section_info *section,
    struct dwarf2_section_info *abbrev_section)
 {
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
+
   dwarf2_read_section (objfile, section);
   dwarf2_read_section (objfile, abbrev_section);
 
-  dwarf2_per_objfile->n_type_units
-    = dwarf2_per_objfile->n_allocated_type_units
-    = map.tu_count;
-  dwarf2_per_objfile->all_type_units
-    = XNEWVEC (struct signatured_type *, dwarf2_per_objfile->n_type_units);
+  gdb_assert (dwarf2_per_objfile->all_type_units.empty ());
+  dwarf2_per_objfile->all_type_units.reserve (map.tu_count);
 
   htab_t sig_types_hash = allocate_signatured_type_table (objfile);
 
   for (uint32_t i = 0; i < map.tu_count; ++i)
     {
       struct signatured_type *sig_type;
-      ULONGEST signature;
       void **slot;
-      cu_offset type_offset_in_tu;
 
       sect_offset sect_off
 	= (sect_offset) (extract_unsigned_integer
@@ -3334,7 +3100,8 @@ create_signatured_type_table_from_debug_
 			  map.dwarf5_byte_order));
 
       comp_unit_head cu_header;
-      read_and_check_comp_unit_head (&cu_header, section, abbrev_section,
+      read_and_check_comp_unit_head (dwarf2_per_objfile, &cu_header, section,
+				     abbrev_section,
 				     section->buffer + to_underlying (sect_off),
 				     rcuh_kind::TYPE);
 
@@ -3345,7 +3112,7 @@ create_signatured_type_table_from_debug_
       sig_type->per_cu.is_debug_types = 1;
       sig_type->per_cu.section = section;
       sig_type->per_cu.sect_off = sect_off;
-      sig_type->per_cu.objfile = objfile;
+      sig_type->per_cu.dwarf2_per_objfile = dwarf2_per_objfile;
       sig_type->per_cu.v.quick
 	= OBSTACK_ZALLOC (&objfile->objfile_obstack,
 			  struct dwarf2_per_cu_quick_data);
@@ -3353,7 +3120,7 @@ create_signatured_type_table_from_debug_
       slot = htab_find_slot (sig_types_hash, sig_type, INSERT);
       *slot = sig_type;
 
-      dwarf2_per_objfile->all_type_units[i] = sig_type;
+      dwarf2_per_objfile->all_type_units.push_back (sig_type);
     }
 
   dwarf2_per_objfile->signatured_types = sig_types_hash;
@@ -3363,8 +3130,10 @@ create_signatured_type_table_from_debug_
    populate the objfile's psymtabs_addrmap.  */
 
 static void
-create_addrmap_from_index (struct objfile *objfile, struct mapped_index *index)
+create_addrmap_from_index (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			   struct mapped_index *index)
 {
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   const gdb_byte *iter, *end;
   struct addrmap *mutable_map;
@@ -3391,23 +3160,22 @@ create_addrmap_from_index (struct objfil
 
       if (lo > hi)
 	{
-	  complaint (&symfile_complaints,
-		     _(".gdb_index address table has invalid range (%s - %s)"),
+	  complaint (_(".gdb_index address table has invalid range (%s - %s)"),
 		     hex_string (lo), hex_string (hi));
 	  continue;
 	}
 
-      if (cu_index >= dwarf2_per_objfile->n_comp_units)
+      if (cu_index >= dwarf2_per_objfile->all_comp_units.size ())
 	{
-	  complaint (&symfile_complaints,
-		     _(".gdb_index address table has invalid CU number %u"),
+	  complaint (_(".gdb_index address table has invalid CU number %u"),
 		     (unsigned) cu_index);
 	  continue;
 	}
 
       lo = gdbarch_adjust_dwarf2_addr (gdbarch, lo + baseaddr);
       hi = gdbarch_adjust_dwarf2_addr (gdbarch, hi + baseaddr);
-      addrmap_set_empty (mutable_map, lo, hi - 1, dw2_get_cutu (cu_index));
+      addrmap_set_empty (mutable_map, lo, hi - 1,
+			 dwarf2_per_objfile->get_cu (cu_index));
     }
 
   objfile->psymtabs_addrmap = addrmap_create_fixed (mutable_map,
@@ -3418,9 +3186,10 @@ create_addrmap_from_index (struct objfil
    populate the objfile's psymtabs_addrmap.  */
 
 static void
-create_addrmap_from_aranges (struct objfile *objfile,
+create_addrmap_from_aranges (struct dwarf2_per_objfile *dwarf2_per_objfile,
 			     struct dwarf2_section_info *section)
 {
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   bfd *abfd = objfile->obfd;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   const CORE_ADDR baseaddr = ANOFFSET (objfile->section_offsets,
@@ -3433,16 +3202,15 @@ create_addrmap_from_aranges (struct objf
 		     dwarf2_per_cu_data *,
 		     gdb::hash_enum<sect_offset>>
     debug_info_offset_to_per_cu;
-  for (int cui = 0; cui < dwarf2_per_objfile->n_comp_units; ++cui)
+  for (dwarf2_per_cu_data *per_cu : dwarf2_per_objfile->all_comp_units)
     {
-      dwarf2_per_cu_data *per_cu = dw2_get_cutu (cui);
       const auto insertpair
 	= debug_info_offset_to_per_cu.emplace (per_cu->sect_off, per_cu);
       if (!insertpair.second)
 	{
 	  warning (_("Section .debug_aranges in %s has duplicate "
-		     "debug_info_offset %u, ignoring .debug_aranges."),
-		   objfile_name (objfile), to_underlying (per_cu->sect_off));
+		     "debug_info_offset %s, ignoring .debug_aranges."),
+		   objfile_name (objfile), sect_offset_str (per_cu->sect_off));
 	  return;
 	}
     }
@@ -3573,31 +3341,6 @@ create_addrmap_from_aranges (struct objf
 						    &objfile->objfile_obstack);
 }
 
-/* The hash function for strings in the mapped index.  This is the same as
-   SYMBOL_HASH_NEXT, but we keep a separate copy to maintain control over the
-   implementation.  This is necessary because the hash function is tied to the
-   format of the mapped index file.  The hash values do not have to match with
-   SYMBOL_HASH_NEXT.
-   
-   Use INT_MAX for INDEX_VERSION if you generate the current index format.  */
-
-static hashval_t
-mapped_index_string_hash (int index_version, const void *p)
-{
-  const unsigned char *str = (const unsigned char *) p;
-  hashval_t r = 0;
-  unsigned char c;
-
-  while ((c = *str++) != 0)
-    {
-      if (index_version >= 5)
-	c = tolower (c);
-      r = r * 67 + c - 113;
-    }
-
-  return r;
-}
-
 /* Find a slot in the mapped index INDEX for the object named NAME.
    If NAME is found, set *VEC_OUT to point to the CU vector in the
    constant pool and return true.  If NAME cannot be found, return
@@ -3662,7 +3405,7 @@ find_slot_in_mapped_hash (struct mapped_
 
 /* A helper function that reads the .gdb_index from SECTION and fills
    in MAP.  FILENAME is the name of the file containing the section;
-   it is used for error reporting.  DEPRECATED_OK is nonzero if it is
+   it is used for error reporting.  DEPRECATED_OK is true if it is
    ok to use deprecated sections.
 
    CU_LIST, CU_LIST_ELEMENTS, TYPES_LIST, and TYPES_LIST_ELEMENTS are
@@ -3671,16 +3414,16 @@ find_slot_in_mapped_hash (struct mapped_
 
    Returns 1 if all went well, 0 otherwise.  */
 
-static int
-read_index_from_section (struct objfile *objfile,
-			 const char *filename,
-			 int deprecated_ok,
-			 struct dwarf2_section_info *section,
-			 struct mapped_index *map,
-			 const gdb_byte **cu_list,
-			 offset_type *cu_list_elements,
-			 const gdb_byte **types_list,
-			 offset_type *types_list_elements)
+static bool
+read_gdb_index_from_section (struct objfile *objfile,
+			     const char *filename,
+			     bool deprecated_ok,
+			     struct dwarf2_section_info *section,
+			     struct mapped_index *map,
+			     const gdb_byte **cu_list,
+			     offset_type *cu_list_elements,
+			     const gdb_byte **types_list,
+			     offset_type *types_list_elements)
 {
   const gdb_byte *addr;
   offset_type version;
@@ -3751,7 +3494,6 @@ to use the section anyway."),
     return 0;
 
   map->version = version;
-  map->total_size = section->size;
 
   metadata = (offset_type *) (addr + sizeof (offset_type));
 
@@ -3790,39 +3532,40 @@ to use the section anyway."),
    elements of all the CUs and return 1.  Otherwise, return 0.  */
 
 static int
-dwarf2_read_index (struct objfile *objfile)
+dwarf2_read_gdb_index (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
-  struct mapped_index local_map, *map;
   const gdb_byte *cu_list, *types_list, *dwz_list = NULL;
   offset_type cu_list_elements, types_list_elements, dwz_list_elements = 0;
   struct dwz_file *dwz;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
 
-  if (!read_index_from_section (objfile, objfile_name (objfile),
-				use_deprecated_index_sections,
-				&dwarf2_per_objfile->gdb_index, &local_map,
-				&cu_list, &cu_list_elements,
-				&types_list, &types_list_elements))
+  std::unique_ptr<struct mapped_index> map (new struct mapped_index);
+  if (!read_gdb_index_from_section (objfile, objfile_name (objfile),
+				    use_deprecated_index_sections,
+				    &dwarf2_per_objfile->gdb_index, map.get (),
+				    &cu_list, &cu_list_elements,
+				    &types_list, &types_list_elements))
     return 0;
 
   /* Don't use the index if it's empty.  */
-  if (local_map.symbol_table.empty ())
+  if (map->symbol_table.empty ())
     return 0;
 
   /* If there is a .dwz file, read it so we can get its CU list as
      well.  */
-  dwz = dwarf2_get_dwz_file ();
+  dwz = dwarf2_get_dwz_file (dwarf2_per_objfile);
   if (dwz != NULL)
     {
       struct mapped_index dwz_map;
       const gdb_byte *dwz_types_ignore;
       offset_type dwz_types_elements_ignore;
 
-      if (!read_index_from_section (objfile, bfd_get_filename (dwz->dwz_bfd),
-				    1,
-				    &dwz->gdb_index, &dwz_map,
-				    &dwz_list, &dwz_list_elements,
-				    &dwz_types_ignore,
-				    &dwz_types_elements_ignore))
+      if (!read_gdb_index_from_section (objfile,
+					bfd_get_filename (dwz->dwz_bfd), 1,
+					&dwz->gdb_index, &dwz_map,
+					&dwz_list, &dwz_list_elements,
+					&dwz_types_ignore,
+					&dwz_types_elements_ignore))
 	{
 	  warning (_("could not read '.gdb_index' section from %s; skipping"),
 		   bfd_get_filename (dwz->dwz_bfd));
@@ -3830,8 +3573,8 @@ dwarf2_read_index (struct objfile *objfi
 	}
     }
 
-  create_cus_from_index (objfile, cu_list, cu_list_elements, dwz_list,
-			 dwz_list_elements);
+  create_cus_from_index (dwarf2_per_objfile, cu_list, cu_list_elements,
+			 dwz_list, dwz_list_elements);
 
   if (types_list_elements)
     {
@@ -3845,35 +3588,20 @@ dwarf2_read_index (struct objfile *objfi
       section = VEC_index (dwarf2_section_info_def,
 			   dwarf2_per_objfile->types, 0);
 
-      create_signatured_type_table_from_index (objfile, section, types_list,
-					       types_list_elements);
+      create_signatured_type_table_from_index (dwarf2_per_objfile, section,
+					       types_list, types_list_elements);
     }
 
-  create_addrmap_from_index (objfile, &local_map);
+  create_addrmap_from_index (dwarf2_per_objfile, map.get ());
 
-  map = XOBNEW (&objfile->objfile_obstack, struct mapped_index);
-  map = new (map) mapped_index ();
-  *map = local_map;
-
-  dwarf2_per_objfile->index_table = map;
+  dwarf2_per_objfile->index_table = std::move (map);
   dwarf2_per_objfile->using_index = 1;
   dwarf2_per_objfile->quick_file_names_table =
-    create_quick_file_names_table (dwarf2_per_objfile->n_comp_units);
+    create_quick_file_names_table (dwarf2_per_objfile->all_comp_units.size ());
 
   return 1;
 }
 
-/* A helper for the "quick" functions which sets the global
-   dwarf2_per_objfile according to OBJFILE.  */
-
-static void
-dw2_setup (struct objfile *objfile)
-{
-  dwarf2_per_objfile = ((struct dwarf2_per_objfile *)
-		        objfile_data (objfile, dwarf2_objfile_data_key));
-  gdb_assert (dwarf2_per_objfile);
-}
-
 /* die_reader_func for dw2_get_file_names.  */
 
 static void
@@ -3884,7 +3612,9 @@ dw2_get_file_names_reader (const struct 
 			   void *data)
 {
   struct dwarf2_cu *cu = reader->cu;
-  struct dwarf2_per_cu_data *this_cu = cu->per_cu;  
+  struct dwarf2_per_cu_data *this_cu = cu->per_cu;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct dwarf2_per_cu_data *lh_cu;
   struct attribute *attr;
@@ -3997,14 +3727,14 @@ dw2_get_real_path (struct objfile *objfi
 static struct symtab *
 dw2_find_last_source_symtab (struct objfile *objfile)
 {
-  struct compunit_symtab *cust;
-  int index;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
+  dwarf2_per_cu_data *dwarf_cu = dwarf2_per_objfile->all_comp_units.back ();
+  compunit_symtab *cust = dw2_instantiate_symtab (dwarf_cu, false);
 
-  dw2_setup (objfile);
-  index = dwarf2_per_objfile->n_comp_units - 1;
-  cust = dw2_instantiate_symtab (dw2_get_cutu (index));
   if (cust == NULL)
     return NULL;
+
   return compunit_primary_filetab (cust);
 }
 
@@ -4032,7 +3762,8 @@ dw2_free_cached_file_names (void **slot,
 static void
 dw2_forget_cached_source_info (struct objfile *objfile)
 {
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
 
   htab_traverse_noresize (dwarf2_per_objfile->quick_file_names_table,
 			  dw2_free_cached_file_names, NULL);
@@ -4055,7 +3786,7 @@ dw2_map_expand_apply (struct objfile *ob
 
   /* This may expand more than one symtab, and we want to iterate over
      all of them.  */
-  dw2_instantiate_symtab (per_cu);
+  dw2_instantiate_symtab (per_cu, false);
 
   return iterate_over_some_symtabs (name, real_path, objfile->compunit_symtabs,
 				    last_made, callback);
@@ -4068,29 +3799,24 @@ dw2_map_symtabs_matching_filename
   (struct objfile *objfile, const char *name, const char *real_path,
    gdb::function_view<bool (symtab *)> callback)
 {
-  int i;
   const char *name_basename = lbasename (name);
-
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
 
   /* The rule is CUs specify all the files, including those used by
      any TU, so there's no need to scan TUs here.  */
 
-  for (i = 0; i < dwarf2_per_objfile->n_comp_units; ++i)
+  for (dwarf2_per_cu_data *per_cu : dwarf2_per_objfile->all_comp_units)
     {
-      int j;
-      struct dwarf2_per_cu_data *per_cu = dw2_get_cu (i);
-      struct quick_file_names *file_data;
-
       /* We only need to look at symtabs not already expanded.  */
       if (per_cu->v.quick->compunit_symtab)
 	continue;
 
-      file_data = dw2_get_file_names (per_cu);
+      quick_file_names *file_data = dw2_get_file_names (per_cu);
       if (file_data == NULL)
 	continue;
 
-      for (j = 0; j < file_data->num_file_names; ++j)
+      for (int j = 0; j < file_data->num_file_names; ++j)
 	{
 	  const char *this_name = file_data->file_names[j];
 	  const char *this_real_name;
@@ -4141,8 +3867,8 @@ dw2_map_symtabs_matching_filename
 
 struct dw2_symtab_iterator
 {
-  /* The internalized form of .gdb_index.  */
-  struct mapped_index *index;
+  /* The dwarf2_per_objfile owning the CUs we are iterating on.  */
+  struct dwarf2_per_objfile *dwarf2_per_objfile;
   /* If non-zero, only look for symbols that match BLOCK_INDEX.  */
   int want_specific_block;
   /* One of GLOBAL_BLOCK or STATIC_BLOCK.
@@ -4170,20 +3896,23 @@ struct dw2_symtab_iterator
 
 static void
 dw2_symtab_iter_init (struct dw2_symtab_iterator *iter,
-		      struct mapped_index *index,
+		      struct dwarf2_per_objfile *dwarf2_per_objfile,
 		      int want_specific_block,
 		      int block_index,
 		      domain_enum domain,
 		      const char *name)
 {
-  iter->index = index;
+  iter->dwarf2_per_objfile = dwarf2_per_objfile;
   iter->want_specific_block = want_specific_block;
   iter->block_index = block_index;
   iter->domain = domain;
   iter->next = 0;
   iter->global_seen = 0;
 
-  if (find_slot_in_mapped_hash (index, name, &iter->vec))
+  mapped_index *index = dwarf2_per_objfile->index_table.get ();
+
+  /* index is NULL if OBJF_READNOW.  */
+  if (index != NULL && find_slot_in_mapped_hash (index, name, &iter->vec))
     iter->length = MAYBE_SWAP (*iter->vec);
   else
     {
@@ -4197,12 +3926,13 @@ dw2_symtab_iter_init (struct dw2_symtab_
 static struct dwarf2_per_cu_data *
 dw2_symtab_iter_next (struct dw2_symtab_iterator *iter)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile = iter->dwarf2_per_objfile;
+
   for ( ; iter->next < iter->length; ++iter->next)
     {
       offset_type cu_index_and_attrs =
 	MAYBE_SWAP (iter->vec[iter->next + 1]);
       offset_type cu_index = GDB_INDEX_CU_VALUE (cu_index_and_attrs);
-      struct dwarf2_per_cu_data *per_cu;
       int want_static = iter->block_index != GLOBAL_BLOCK;
       /* This value is only valid for index versions >= 7.  */
       int is_static = GDB_INDEX_SYMBOL_STATIC_VALUE (cu_index_and_attrs);
@@ -4213,21 +3943,20 @@ dw2_symtab_iter_next (struct dw2_symtab_
 	 and indices >= 7 may elide them for certain symbols
 	 (gold does this).  */
       int attrs_valid =
-	(iter->index->version >= 7
+	(dwarf2_per_objfile->index_table->version >= 7
 	 && symbol_kind != GDB_INDEX_SYMBOL_KIND_NONE);
 
       /* Don't crash on bad data.  */
-      if (cu_index >= (dwarf2_per_objfile->n_comp_units
-		       + dwarf2_per_objfile->n_type_units))
+      if (cu_index >= (dwarf2_per_objfile->all_comp_units.size ()
+		       + dwarf2_per_objfile->all_type_units.size ()))
 	{
-	  complaint (&symfile_complaints,
-		     _(".gdb_index entry has bad CU index"
+	  complaint (_(".gdb_index entry has bad CU index"
 		       " [in module %s]"),
 		     objfile_name (dwarf2_per_objfile->objfile));
 	  continue;
 	}
 
-      per_cu = dw2_get_cutu (cu_index);
+      dwarf2_per_cu_data *per_cu = dwarf2_per_objfile->get_cutu (cu_index);
 
       /* Skip if already read in.  */
       if (per_cu->v.quick->compunit_symtab)
@@ -4283,46 +4012,39 @@ dw2_lookup_symbol (struct objfile *objfi
 		   const char *name, domain_enum domain)
 {
   struct compunit_symtab *stab_best = NULL;
-  struct mapped_index *index;
-
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
 
   lookup_name_info lookup_name (name, symbol_name_match_type::FULL);
 
-  index = dwarf2_per_objfile->index_table;
-
-  /* index is NULL if OBJF_READNOW.  */
-  if (index)
-    {
-      struct dw2_symtab_iterator iter;
-      struct dwarf2_per_cu_data *per_cu;
+  struct dw2_symtab_iterator iter;
+  struct dwarf2_per_cu_data *per_cu;
 
-      dw2_symtab_iter_init (&iter, index, 1, block_index, domain, name);
+  dw2_symtab_iter_init (&iter, dwarf2_per_objfile, 1, block_index, domain, name);
 
-      while ((per_cu = dw2_symtab_iter_next (&iter)) != NULL)
-	{
-	  struct symbol *sym, *with_opaque = NULL;
-	  struct compunit_symtab *stab = dw2_instantiate_symtab (per_cu);
-	  const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (stab);
-	  struct block *block = BLOCKVECTOR_BLOCK (bv, block_index);
-
-	  sym = block_find_symbol (block, name, domain,
-				   block_find_non_opaque_type_preferred,
-				   &with_opaque);
-
-	  /* Some caution must be observed with overloaded functions
-	     and methods, since the index will not contain any overload
-	     information (but NAME might contain it).  */
-
-	  if (sym != NULL
-	      && SYMBOL_MATCHES_SEARCH_NAME (sym, lookup_name))
-	    return stab;
-	  if (with_opaque != NULL
-	      && SYMBOL_MATCHES_SEARCH_NAME (with_opaque, lookup_name))
-	    stab_best = stab;
+  while ((per_cu = dw2_symtab_iter_next (&iter)) != NULL)
+    {
+      struct symbol *sym, *with_opaque = NULL;
+      struct compunit_symtab *stab = dw2_instantiate_symtab (per_cu, false);
+      const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (stab);
+      struct block *block = BLOCKVECTOR_BLOCK (bv, block_index);
 
-	  /* Keep looking through other CUs.  */
-	}
+      sym = block_find_symbol (block, name, domain,
+			       block_find_non_opaque_type_preferred,
+			       &with_opaque);
+
+      /* Some caution must be observed with overloaded functions
+	 and methods, since the index will not contain any overload
+	 information (but NAME might contain it).  */
+
+      if (sym != NULL
+	  && SYMBOL_MATCHES_SEARCH_NAME (sym, lookup_name))
+	return stab;
+      if (with_opaque != NULL
+	  && SYMBOL_MATCHES_SEARCH_NAME (with_opaque, lookup_name))
+	stab_best = stab;
+
+      /* Keep looking through other CUs.  */
     }
 
   return stab_best;
@@ -4331,14 +4053,15 @@ dw2_lookup_symbol (struct objfile *objfi
 static void
 dw2_print_stats (struct objfile *objfile)
 {
-  int i, total, count;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
+  int total = (dwarf2_per_objfile->all_comp_units.size ()
+	       + dwarf2_per_objfile->all_type_units.size ());
+  int count = 0;
 
-  dw2_setup (objfile);
-  total = dwarf2_per_objfile->n_comp_units + dwarf2_per_objfile->n_type_units;
-  count = 0;
-  for (i = 0; i < total; ++i)
+  for (int i = 0; i < total; ++i)
     {
-      struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
+      dwarf2_per_cu_data *per_cu = dwarf2_per_objfile->get_cutu (i);
 
       if (!per_cu->v.quick->compunit_symtab)
 	++count;
@@ -4355,7 +4078,9 @@ dw2_print_stats (struct objfile *objfile
 static void
 dw2_dump (struct objfile *objfile)
 {
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
+
   gdb_assert (dwarf2_per_objfile->using_index);
   printf_filtered (".gdb_index:");
   if (dwarf2_per_objfile->index_table != NULL)
@@ -4380,40 +4105,39 @@ static void
 dw2_expand_symtabs_for_function (struct objfile *objfile,
 				 const char *func_name)
 {
-  struct mapped_index *index;
-
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
 
-  index = dwarf2_per_objfile->index_table;
+  struct dw2_symtab_iterator iter;
+  struct dwarf2_per_cu_data *per_cu;
 
-  /* index is NULL if OBJF_READNOW.  */
-  if (index)
-    {
-      struct dw2_symtab_iterator iter;
-      struct dwarf2_per_cu_data *per_cu;
+  /* Note: It doesn't matter what we pass for block_index here.  */
+  dw2_symtab_iter_init (&iter, dwarf2_per_objfile, 0, GLOBAL_BLOCK, VAR_DOMAIN,
+			func_name);
 
-      /* Note: It doesn't matter what we pass for block_index here.  */
-      dw2_symtab_iter_init (&iter, index, 0, GLOBAL_BLOCK, VAR_DOMAIN,
-			    func_name);
+  while ((per_cu = dw2_symtab_iter_next (&iter)) != NULL)
+    dw2_instantiate_symtab (per_cu, false);
 
-      while ((per_cu = dw2_symtab_iter_next (&iter)) != NULL)
-	dw2_instantiate_symtab (per_cu);
-    }
 }
 
 static void
 dw2_expand_all_symtabs (struct objfile *objfile)
 {
-  int i;
-
-  dw2_setup (objfile);
-
-  for (i = 0; i < (dwarf2_per_objfile->n_comp_units
-		   + dwarf2_per_objfile->n_type_units); ++i)
-    {
-      struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
-
-      dw2_instantiate_symtab (per_cu);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
+  int total_units = (dwarf2_per_objfile->all_comp_units.size ()
+		     + dwarf2_per_objfile->all_type_units.size ());
+
+  for (int i = 0; i < total_units; ++i)
+    {
+      dwarf2_per_cu_data *per_cu = dwarf2_per_objfile->get_cutu (i);
+
+      /* We don't want to directly expand a partial CU, because if we
+	 read it with the wrong language, then assertion failures can
+	 be triggered later on.  See PR symtab/23010.  So, tell
+	 dw2_instantiate_symtab to skip partial CUs -- any important
+	 partial CU will be read via DW_TAG_imported_unit anyway.  */
+      dw2_instantiate_symtab (per_cu, true);
     }
 }
 
@@ -4421,36 +4145,31 @@ static void
 dw2_expand_symtabs_with_fullname (struct objfile *objfile,
 				  const char *fullname)
 {
-  int i;
-
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
 
   /* We don't need to consider type units here.
      This is only called for examining code, e.g. expand_line_sal.
      There can be an order of magnitude (or more) more type units
      than comp units, and we avoid them if we can.  */
 
-  for (i = 0; i < dwarf2_per_objfile->n_comp_units; ++i)
+  for (dwarf2_per_cu_data *per_cu : dwarf2_per_objfile->all_comp_units)
     {
-      int j;
-      struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
-      struct quick_file_names *file_data;
-
       /* We only need to look at symtabs not already expanded.  */
       if (per_cu->v.quick->compunit_symtab)
 	continue;
 
-      file_data = dw2_get_file_names (per_cu);
+      quick_file_names *file_data = dw2_get_file_names (per_cu);
       if (file_data == NULL)
 	continue;
 
-      for (j = 0; j < file_data->num_file_names; ++j)
+      for (int j = 0; j < file_data->num_file_names; ++j)
 	{
 	  const char *this_fullname = file_data->file_names[j];
 
 	  if (filename_cmp (this_fullname, fullname) == 0)
 	    {
-	      dw2_instantiate_symtab (per_cu);
+	      dw2_instantiate_symtab (per_cu, false);
 	      break;
 	    }
 	}
@@ -4851,13 +4570,13 @@ public:
   DISABLE_COPY_AND_ASSIGN (mock_mapped_index);
 
   /* Return the number of names in the symbol table.  */
-  virtual size_t symbol_name_count () const
+  size_t symbol_name_count () const override
   {
     return m_symbol_table.size ();
   }
 
   /* Get the name of the symbol at IDX in the symbol table.  */
-  virtual const char *symbol_name_at (offset_type idx) const
+  const char *symbol_name_at (offset_type idx) const override
   {
     return m_symbol_table[idx];
   }
@@ -5274,7 +4993,7 @@ dw2_expand_symtabs_matching_one
       bool symtab_was_null
 	= (per_cu->v.quick->compunit_symtab == NULL);
 
-      dw2_instantiate_symtab (per_cu);
+      dw2_instantiate_symtab (per_cu, false);
 
       if (expansion_notify != NULL
 	  && symtab_was_null
@@ -5289,21 +5008,20 @@ dw2_expand_symtabs_matching_one
 
 static void
 dw2_expand_marked_cus
-  (mapped_index &index, offset_type idx,
-   struct objfile *objfile,
+  (struct dwarf2_per_objfile *dwarf2_per_objfile, offset_type idx,
    gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
    gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
    search_domain kind)
 {
   offset_type *vec, vec_len, vec_idx;
   bool global_seen = false;
+  mapped_index &index = *dwarf2_per_objfile->index_table;
 
   vec = (offset_type *) (index.constant_pool
 			 + MAYBE_SWAP (index.symbol_table[idx].vec));
   vec_len = MAYBE_SWAP (vec[0]);
   for (vec_idx = 0; vec_idx < vec_len; ++vec_idx)
     {
-      struct dwarf2_per_cu_data *per_cu;
       offset_type cu_index_and_attrs = MAYBE_SWAP (vec[vec_idx + 1]);
       /* This value is only valid for index versions >= 7.  */
       int is_static = GDB_INDEX_SYMBOL_STATIC_VALUE (cu_index_and_attrs);
@@ -5350,16 +5068,16 @@ dw2_expand_marked_cus
 	}
 
       /* Don't crash on bad data.  */
-      if (cu_index >= (dwarf2_per_objfile->n_comp_units
-		       + dwarf2_per_objfile->n_type_units))
+      if (cu_index >= (dwarf2_per_objfile->all_comp_units.size ()
+		       + dwarf2_per_objfile->all_type_units.size ()))
 	{
-	  complaint (&symfile_complaints,
-		     _(".gdb_index entry has bad CU index"
-		       " [in module %s]"), objfile_name (objfile));
+	  complaint (_(".gdb_index entry has bad CU index"
+		       " [in module %s]"),
+		       objfile_name (dwarf2_per_objfile->objfile));
 	  continue;
 	}
 
-      per_cu = dw2_get_cutu (cu_index);
+      dwarf2_per_cu_data *per_cu = dwarf2_per_objfile->get_cutu (cu_index);
       dw2_expand_symtabs_matching_one (per_cu, file_matcher,
 				       expansion_notify);
     }
@@ -5371,7 +5089,8 @@ dw2_expand_marked_cus
 
 static void
 dw_expand_symtabs_matching_file_matcher
-  (gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher)
+  (struct dwarf2_per_objfile *dwarf2_per_objfile,
+   gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher)
 {
   if (file_matcher == NULL)
     return;
@@ -5388,13 +5107,8 @@ dw_expand_symtabs_matching_file_matcher
   /* The rule is CUs specify all the files, including those used by
      any TU, so there's no need to scan TUs here.  */
 
-  for (int i = 0; i < dwarf2_per_objfile->n_comp_units; ++i)
+  for (dwarf2_per_cu_data *per_cu : dwarf2_per_objfile->all_comp_units)
     {
-      int j;
-      struct dwarf2_per_cu_data *per_cu = dw2_get_cu (i);
-      struct quick_file_names *file_data;
-      void **slot;
-
       QUIT;
 
       per_cu->v.quick->mark = 0;
@@ -5403,7 +5117,7 @@ dw_expand_symtabs_matching_file_matcher
       if (per_cu->v.quick->compunit_symtab)
 	continue;
 
-      file_data = dw2_get_file_names (per_cu);
+      quick_file_names *file_data = dw2_get_file_names (per_cu);
       if (file_data == NULL)
 	continue;
 
@@ -5415,7 +5129,7 @@ dw_expand_symtabs_matching_file_matcher
 	  continue;
 	}
 
-      for (j = 0; j < file_data->num_file_names; ++j)
+      for (int j = 0; j < file_data->num_file_names; ++j)
 	{
 	  const char *this_real_name;
 
@@ -5440,10 +5154,10 @@ dw_expand_symtabs_matching_file_matcher
 	    }
 	}
 
-      slot = htab_find_slot (per_cu->v.quick->mark
-			     ? visited_found.get ()
-			     : visited_not_found.get (),
-			     file_data, INSERT);
+      void **slot = htab_find_slot (per_cu->v.quick->mark
+				    ? visited_found.get ()
+				    : visited_not_found.get (),
+				    file_data, INSERT);
       *slot = file_data;
     }
 }
@@ -5457,13 +5171,14 @@ dw2_expand_symtabs_matching
    gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
    enum search_domain kind)
 {
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
 
   /* index_table is NULL if OBJF_READNOW.  */
   if (!dwarf2_per_objfile->index_table)
     return;
 
-  dw_expand_symtabs_matching_file_matcher (file_matcher);
+  dw_expand_symtabs_matching_file_matcher (dwarf2_per_objfile, file_matcher);
 
   mapped_index &index = *dwarf2_per_objfile->index_table;
 
@@ -5471,7 +5186,7 @@ dw2_expand_symtabs_matching
 				      symbol_matcher,
 				      kind, [&] (offset_type idx)
     {
-      dw2_expand_marked_cus (index, idx, objfile, file_matcher,
+      dw2_expand_marked_cus (dwarf2_per_objfile, idx, file_matcher,
 			     expansion_notify, kind);
     });
 }
@@ -5514,8 +5229,6 @@ dw2_find_pc_sect_compunit_symtab (struct
   struct dwarf2_per_cu_data *data;
   struct compunit_symtab *result;
 
-  dw2_setup (objfile);
-
   if (!objfile->psymtabs_addrmap)
     return NULL;
 
@@ -5529,7 +5242,8 @@ dw2_find_pc_sect_compunit_symtab (struct
 	     paddress (get_objfile_arch (objfile), pc));
 
   result
-    = recursively_find_pc_sect_compunit_symtab (dw2_instantiate_symtab (data),
+    = recursively_find_pc_sect_compunit_symtab (dw2_instantiate_symtab (data,
+									false),
 						pc);
   gdb_assert (result != NULL);
   return result;
@@ -5539,7 +5253,8 @@ static void
 dw2_map_symbol_filenames (struct objfile *objfile, symbol_filename_ftype *fun,
 			  void *data, int need_fullname)
 {
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
 
   if (!dwarf2_per_objfile->filenames_cache)
     {
@@ -5553,10 +5268,8 @@ dw2_map_symbol_filenames (struct objfile
 	 by any TU, so there's no need to scan TUs here.  We can
 	 ignore file names coming from already-expanded CUs.  */
 
-      for (int i = 0; i < dwarf2_per_objfile->n_comp_units; ++i)
+      for (dwarf2_per_cu_data *per_cu : dwarf2_per_objfile->all_comp_units)
 	{
-	  struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
-
 	  if (per_cu->v.quick->compunit_symtab)
 	    {
 	      void **slot = htab_find_slot (visited.get (),
@@ -5567,21 +5280,17 @@ dw2_map_symbol_filenames (struct objfile
 	    }
 	}
 
-      for (int i = 0; i < dwarf2_per_objfile->n_comp_units; ++i)
+      for (dwarf2_per_cu_data *per_cu : dwarf2_per_objfile->all_comp_units)
 	{
-	  struct dwarf2_per_cu_data *per_cu = dw2_get_cu (i);
-	  struct quick_file_names *file_data;
-	  void **slot;
-
 	  /* We only need to look at symtabs not already expanded.  */
 	  if (per_cu->v.quick->compunit_symtab)
 	    continue;
 
-	  file_data = dw2_get_file_names (per_cu);
+	  quick_file_names *file_data = dw2_get_file_names (per_cu);
 	  if (file_data == NULL)
 	    continue;
 
-	  slot = htab_find_slot (visited.get (), file_data, INSERT);
+	  void **slot = htab_find_slot (visited.get (), file_data, INSERT);
 	  if (*slot)
 	    {
 	      /* Already visited.  */
@@ -5826,10 +5535,10 @@ read_debug_names_from_section (struct ob
    list.  */
 
 static void
-create_cus_from_debug_names_list (struct objfile *objfile,
+create_cus_from_debug_names_list (struct dwarf2_per_objfile *dwarf2_per_objfile,
 				  const mapped_debug_names &map,
 				  dwarf2_section_info &section,
-				  bool is_dwz, int base_offset)
+				  bool is_dwz)
 {
   sect_offset sect_off_prev;
   for (uint32_t i = 0; i <= map.cu_count; ++i)
@@ -5848,61 +5557,61 @@ create_cus_from_debug_names_list (struct
       if (i >= 1)
 	{
 	  const ULONGEST length = sect_off_next - sect_off_prev;
-	  dwarf2_per_objfile->all_comp_units[base_offset + (i - 1)]
-	    = create_cu_from_index_list (objfile, &section, is_dwz,
+	  dwarf2_per_cu_data *per_cu
+	    = create_cu_from_index_list (dwarf2_per_objfile, &section, is_dwz,
 					 sect_off_prev, length);
+	  dwarf2_per_objfile->all_comp_units.push_back (per_cu);
 	}
       sect_off_prev = sect_off_next;
     }
 }
 
 /* Read the CU list from the mapped index, and use it to create all
-   the CU objects for this objfile.  */
+   the CU objects for this dwarf2_per_objfile.  */
 
 static void
-create_cus_from_debug_names (struct objfile *objfile,
+create_cus_from_debug_names (struct dwarf2_per_objfile *dwarf2_per_objfile,
 			     const mapped_debug_names &map,
 			     const mapped_debug_names &dwz_map)
 {
+  gdb_assert (dwarf2_per_objfile->all_comp_units.empty ());
+  dwarf2_per_objfile->all_comp_units.reserve (map.cu_count + dwz_map.cu_count);
 
-  dwarf2_per_objfile->n_comp_units = map.cu_count + dwz_map.cu_count;
-  dwarf2_per_objfile->all_comp_units
-    = XOBNEWVEC (&objfile->objfile_obstack, struct dwarf2_per_cu_data *,
-		 dwarf2_per_objfile->n_comp_units);
-
-  create_cus_from_debug_names_list (objfile, map, dwarf2_per_objfile->info,
-				    false /* is_dwz */,
-				    0 /* base_offset */);
+  create_cus_from_debug_names_list (dwarf2_per_objfile, map,
+				    dwarf2_per_objfile->info,
+				    false /* is_dwz */);
 
   if (dwz_map.cu_count == 0)
     return;
 
-  dwz_file *dwz = dwarf2_get_dwz_file ();
-  create_cus_from_debug_names_list (objfile, dwz_map, dwz->info,
-				    true /* is_dwz */,
-				    map.cu_count /* base_offset */);
+  dwz_file *dwz = dwarf2_get_dwz_file (dwarf2_per_objfile);
+  create_cus_from_debug_names_list (dwarf2_per_objfile, dwz_map, dwz->info,
+				    true /* is_dwz */);
 }
 
 /* Read .debug_names.  If everything went ok, initialize the "quick"
    elements of all the CUs and return true.  Otherwise, return false.  */
 
 static bool
-dwarf2_read_debug_names (struct objfile *objfile)
+dwarf2_read_debug_names (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
-  mapped_debug_names local_map, dwz_map;
+  std::unique_ptr<mapped_debug_names> map
+    (new mapped_debug_names (dwarf2_per_objfile));
+  mapped_debug_names dwz_map (dwarf2_per_objfile);
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
 
   if (!read_debug_names_from_section (objfile, objfile_name (objfile),
 				      &dwarf2_per_objfile->debug_names,
-				      local_map))
+				      *map))
     return false;
 
   /* Don't use the index if it's empty.  */
-  if (local_map.name_count == 0)
+  if (map->name_count == 0)
     return false;
 
   /* If there is a .dwz file, read it so we can get its CU list as
      well.  */
-  dwz_file *dwz = dwarf2_get_dwz_file ();
+  dwz_file *dwz = dwarf2_get_dwz_file (dwarf2_per_objfile);
   if (dwz != NULL)
     {
       if (!read_debug_names_from_section (objfile,
@@ -5915,9 +5624,9 @@ dwarf2_read_debug_names (struct objfile 
 	}
     }
 
-  create_cus_from_debug_names (objfile, local_map, dwz_map);
+  create_cus_from_debug_names (dwarf2_per_objfile, *map, dwz_map);
 
-  if (local_map.tu_count != 0)
+  if (map->tu_count != 0)
     {
       /* We can only handle a single .debug_types when we have an
 	 index.  */
@@ -5928,36 +5637,20 @@ dwarf2_read_debug_names (struct objfile 
 						dwarf2_per_objfile->types, 0);
 
       create_signatured_type_table_from_debug_names
-	(objfile, local_map, section, &dwarf2_per_objfile->abbrev);
+	(dwarf2_per_objfile, *map, section, &dwarf2_per_objfile->abbrev);
     }
 
-  create_addrmap_from_aranges (objfile, &dwarf2_per_objfile->debug_aranges);
+  create_addrmap_from_aranges (dwarf2_per_objfile,
+			       &dwarf2_per_objfile->debug_aranges);
 
-  dwarf2_per_objfile->debug_names_table.reset (new mapped_debug_names);
-  *dwarf2_per_objfile->debug_names_table = std::move (local_map);
+  dwarf2_per_objfile->debug_names_table = std::move (map);
   dwarf2_per_objfile->using_index = 1;
   dwarf2_per_objfile->quick_file_names_table =
-    create_quick_file_names_table (dwarf2_per_objfile->n_comp_units);
+    create_quick_file_names_table (dwarf2_per_objfile->all_comp_units.size ());
 
   return true;
 }
 
-/* Symbol name hashing function as specified by DWARF-5.  */
-
-static uint32_t
-dwarf5_djb_hash (const char *str_)
-{
-  const unsigned char *str = (const unsigned char *) str_;
-
-  /* Note: tolower here ignores UTF-8, which isn't fully compliant.
-     See http://dwarfstd.org/ShowIssue.php?issue=161027.1.  */
-
-  uint32_t hash = 5381;
-  while (int c = *str++)
-    hash = hash * 33 + tolower (c);
-  return hash;
-}
-
 /* Type used to manage iterating over all CUs looking for a symbol for
    .debug_names.  */
 
@@ -6020,7 +5713,7 @@ mapped_debug_names::namei_to_name (uint3
 				offset_size,
 				dwarf5_byte_order);
   return read_indirect_string_at_offset
-    (dwarf2_per_objfile->objfile->obfd, namei_string_offs);
+    (dwarf2_per_objfile, dwarf2_per_objfile->objfile->obfd, namei_string_offs);
 }
 
 /* Find a slot in .debug_names for the object named NAME.  If NAME is
@@ -6065,11 +5758,10 @@ dw2_debug_names_iterator::find_vec_in_de
   --namei;
   if (namei >= map.name_count)
     {
-      complaint (&symfile_complaints,
-		 _("Wrong .debug_names with name index %u but name_count=%u "
+      complaint (_("Wrong .debug_names with name index %u but name_count=%u "
 		   "[in module %s]"),
 		 namei, map.name_count,
-		 objfile_name (dwarf2_per_objfile->objfile));
+		 objfile_name (map.dwarf2_per_objfile->objfile));
       return NULL;
     }
 
@@ -6089,8 +5781,7 @@ dw2_debug_names_iterator::find_vec_in_de
 #if 0 /* An expensive sanity check.  */
 	  if (namei_full_hash != dwarf5_djb_hash (namei_string))
 	    {
-	      complaint (&symfile_complaints,
-			 _("Wrong .debug_names hash for string at index %u "
+	      complaint (_("Wrong .debug_names hash for string at index %u "
 			   "[in module %s]"),
 			 namei, objfile_name (dwarf2_per_objfile->objfile));
 	      return NULL;
@@ -6119,11 +5810,10 @@ dw2_debug_names_iterator::find_vec_in_de
 {
   if (namei >= map.name_count)
     {
-      complaint (&symfile_complaints,
-		 _("Wrong .debug_names with name index %u but name_count=%u "
+      complaint (_("Wrong .debug_names with name index %u but name_count=%u "
 		   "[in module %s]"),
 		 namei, map.name_count,
-		 objfile_name (dwarf2_per_objfile->objfile));
+		 objfile_name (map.dwarf2_per_objfile->objfile));
       return NULL;
     }
 
@@ -6142,7 +5832,9 @@ dw2_debug_names_iterator::next ()
   if (m_addr == NULL)
     return NULL;
 
-  bfd *const abfd = dwarf2_per_objfile->objfile->obfd;
+  struct dwarf2_per_objfile *dwarf2_per_objfile = m_map.dwarf2_per_objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
+  bfd *const abfd = objfile->obfd;
 
  again:
 
@@ -6155,10 +5847,9 @@ dw2_debug_names_iterator::next ()
   const auto indexval_it = m_map.abbrev_map.find (abbrev);
   if (indexval_it == m_map.abbrev_map.cend ())
     {
-      complaint (&symfile_complaints,
-		 _("Wrong .debug_names undefined abbrev code %s "
+      complaint (_("Wrong .debug_names undefined abbrev code %s "
 		   "[in module %s]"),
-		 pulongest (abbrev), objfile_name (dwarf2_per_objfile->objfile));
+		 pulongest (abbrev), objfile_name (objfile));
       return NULL;
     }
   const mapped_debug_names::index_val &indexval = indexval_it->second;
@@ -6181,39 +5872,36 @@ dw2_debug_names_iterator::next ()
 	  m_addr += bytes_read;
 	  break;
 	default:
-	  complaint (&symfile_complaints,
-		     _("Unsupported .debug_names form %s [in module %s]"),
+	  complaint (_("Unsupported .debug_names form %s [in module %s]"),
 		     dwarf_form_name (attr.form),
-		     objfile_name (dwarf2_per_objfile->objfile));
+		     objfile_name (objfile));
 	  return NULL;
 	}
       switch (attr.dw_idx)
 	{
 	case DW_IDX_compile_unit:
 	  /* Don't crash on bad data.  */
-	  if (ull >= dwarf2_per_objfile->n_comp_units)
+	  if (ull >= dwarf2_per_objfile->all_comp_units.size ())
 	    {
-	      complaint (&symfile_complaints,
-			 _(".debug_names entry has bad CU index %s"
+	      complaint (_(".debug_names entry has bad CU index %s"
 			   " [in module %s]"),
 			 pulongest (ull),
 			 objfile_name (dwarf2_per_objfile->objfile));
 	      continue;
 	    }
-	  per_cu = dw2_get_cutu (ull);
+	  per_cu = dwarf2_per_objfile->get_cutu (ull);
 	  break;
 	case DW_IDX_type_unit:
 	  /* Don't crash on bad data.  */
-	  if (ull >= dwarf2_per_objfile->n_type_units)
+	  if (ull >= dwarf2_per_objfile->all_type_units.size ())
 	    {
-	      complaint (&symfile_complaints,
-			 _(".debug_names entry has bad TU index %s"
+	      complaint (_(".debug_names entry has bad TU index %s"
 			   " [in module %s]"),
 			 pulongest (ull),
 			 objfile_name (dwarf2_per_objfile->objfile));
 	      continue;
 	    }
-	  per_cu = dw2_get_cutu (dwarf2_per_objfile->n_comp_units + ull);
+	  per_cu = &dwarf2_per_objfile->get_tu (ull)->per_cu;
 	  break;
 	case DW_IDX_GNU_internal:
 	  if (!m_map.augmentation_is_gdb)
@@ -6327,7 +6015,8 @@ dw2_debug_names_lookup_symbol (struct ob
 			       const char *name, domain_enum domain)
 {
   const block_enum block_index = static_cast<block_enum> (block_index_int);
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
 
   const auto &mapp = dwarf2_per_objfile->debug_names_table;
   if (!mapp)
@@ -6345,7 +6034,7 @@ dw2_debug_names_lookup_symbol (struct ob
   while ((per_cu = iter.next ()) != NULL)
     {
       struct symbol *sym, *with_opaque = NULL;
-      struct compunit_symtab *stab = dw2_instantiate_symtab (per_cu);
+      struct compunit_symtab *stab = dw2_instantiate_symtab (per_cu, false);
       const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (stab);
       struct block *block = BLOCKVECTOR_BLOCK (bv, block_index);
 
@@ -6377,7 +6066,9 @@ dw2_debug_names_lookup_symbol (struct ob
 static void
 dw2_debug_names_dump (struct objfile *objfile)
 {
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
+
   gdb_assert (dwarf2_per_objfile->using_index);
   printf_filtered (".debug_names:");
   if (dwarf2_per_objfile->debug_names_table)
@@ -6391,7 +6082,8 @@ static void
 dw2_debug_names_expand_symtabs_for_function (struct objfile *objfile,
 					     const char *func_name)
 {
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
 
   /* dwarf2_per_objfile->debug_names_table is NULL if OBJF_READNOW.  */
   if (dwarf2_per_objfile->debug_names_table)
@@ -6404,7 +6096,7 @@ dw2_debug_names_expand_symtabs_for_funct
 
       struct dwarf2_per_cu_data *per_cu;
       while ((per_cu = iter.next ()) != NULL)
-	dw2_instantiate_symtab (per_cu);
+	dw2_instantiate_symtab (per_cu, false);
     }
 }
 
@@ -6417,13 +6109,14 @@ dw2_debug_names_expand_symtabs_matching
    gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
    enum search_domain kind)
 {
-  dw2_setup (objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
 
   /* debug_names_table is NULL if OBJF_READNOW.  */
   if (!dwarf2_per_objfile->debug_names_table)
     return;
 
-  dw_expand_symtabs_matching_file_matcher (file_matcher);
+  dw_expand_symtabs_matching_file_matcher (dwarf2_per_objfile, file_matcher);
 
   mapped_debug_names &map = *dwarf2_per_objfile->debug_names_table;
 
@@ -6467,24 +6160,26 @@ const struct quick_symbol_functions dwar
 bool
 dwarf2_initialize_objfile (struct objfile *objfile, dw_index_kind *index_kind)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
+
   /* If we're about to read full symbols, don't bother with the
      indices.  In this case we also don't care if some other debug
      format is making psymtabs, because they are all about to be
      expanded anyway.  */
   if ((objfile->flags & OBJF_READNOW))
     {
-      int i;
-
       dwarf2_per_objfile->using_index = 1;
-      create_all_comp_units (objfile);
-      create_all_type_units (objfile);
-      dwarf2_per_objfile->quick_file_names_table =
-	create_quick_file_names_table (dwarf2_per_objfile->n_comp_units);
+      create_all_comp_units (dwarf2_per_objfile);
+      create_all_type_units (dwarf2_per_objfile);
+      dwarf2_per_objfile->quick_file_names_table
+	= create_quick_file_names_table
+	    (dwarf2_per_objfile->all_comp_units.size ());
 
-      for (i = 0; i < (dwarf2_per_objfile->n_comp_units
-		       + dwarf2_per_objfile->n_type_units); ++i)
+      for (int i = 0; i < (dwarf2_per_objfile->all_comp_units.size ()
+			   + dwarf2_per_objfile->all_type_units.size ()); ++i)
 	{
-	  struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
+	  dwarf2_per_cu_data *per_cu = dwarf2_per_objfile->get_cutu (i);
 
 	  per_cu->v.quick = OBSTACK_ZALLOC (&objfile->objfile_obstack,
 					    struct dwarf2_per_cu_quick_data);
@@ -6497,13 +6192,13 @@ dwarf2_initialize_objfile (struct objfil
       return true;
     }
 
-  if (dwarf2_read_debug_names (objfile))
+  if (dwarf2_read_debug_names (dwarf2_per_objfile))
     {
       *index_kind = dw_index_kind::DEBUG_NAMES;
       return true;
     }
 
-  if (dwarf2_read_index (objfile))
+  if (dwarf2_read_gdb_index (dwarf2_per_objfile))
     {
       *index_kind = dw_index_kind::GDB_INDEX;
       return true;
@@ -6519,6 +6214,8 @@ dwarf2_initialize_objfile (struct objfil
 void
 dwarf2_build_psymtabs (struct objfile *objfile)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
 
   if (objfile->global_psymbols.capacity () == 0
       && objfile->static_psymbols.capacity () == 0)
@@ -6530,7 +6227,7 @@ dwarf2_build_psymtabs (struct objfile *o
 	 objfile's obstack is still uselessly kept around.  However,
 	 freeing it seems unsafe.  */
       psymtab_discarder psymtabs (objfile);
-      dwarf2_build_psymtabs_hard (objfile);
+      dwarf2_build_psymtabs_hard (dwarf2_per_objfile);
       psymtabs.keep ();
     }
   CATCH (except, RETURN_MASK_ERROR)
@@ -6611,6 +6308,10 @@ read_comp_unit_head (struct comp_unit_he
   cu_header->offset_size = (bytes_read == 4) ? 4 : 8;
   info_ptr += bytes_read;
   cu_header->version = read_2_bytes (abfd, info_ptr);
+  if (cu_header->version < 2 || cu_header->version > 5)
+    error (_("Dwarf Error: wrong version in compilation unit header "
+	   "(is %d, should be 2, 3, 4 or 5) [in module %s]"),
+	   cu_header->version, filename);
   info_ptr += 2;
   if (cu_header->version < 5)
     switch (section_kind)
@@ -6691,9 +6392,10 @@ static struct dwarf2_section_info *
 get_abbrev_section_for_cu (struct dwarf2_per_cu_data *this_cu)
 {
   struct dwarf2_section_info *abbrev;
+  struct dwarf2_per_objfile *dwarf2_per_objfile = this_cu->dwarf2_per_objfile;
 
   if (this_cu->is_dwz)
-    abbrev = &dwarf2_get_dwz_file ()->abbrev;
+    abbrev = &dwarf2_get_dwz_file (dwarf2_per_objfile)->abbrev;
   else
     abbrev = &dwarf2_per_objfile->abbrev;
 
@@ -6705,23 +6407,19 @@ get_abbrev_section_for_cu (struct dwarf2
    Perform various error checking on the header.  */
 
 static void
-error_check_comp_unit_head (struct comp_unit_head *header,
+error_check_comp_unit_head (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			    struct comp_unit_head *header,
 			    struct dwarf2_section_info *section,
 			    struct dwarf2_section_info *abbrev_section)
 {
   const char *filename = get_section_file_name (section);
 
-  if (header->version < 2 || header->version > 5)
-    error (_("Dwarf Error: wrong version in compilation unit header "
-	   "(is %d, should be 2, 3, 4 or 5) [in module %s]"), header->version,
-	   filename);
-
   if (to_underlying (header->abbrev_sect_off)
       >= dwarf2_section_size (dwarf2_per_objfile->objfile, abbrev_section))
-    error (_("Dwarf Error: bad offset (0x%x) in compilation unit header "
-	   "(offset 0x%x + 6) [in module %s]"),
-	   to_underlying (header->abbrev_sect_off),
-	   to_underlying (header->sect_off),
+    error (_("Dwarf Error: bad offset (%s) in compilation unit header "
+	   "(offset %s + 6) [in module %s]"),
+	   sect_offset_str (header->abbrev_sect_off),
+	   sect_offset_str (header->sect_off),
 	   filename);
 
   /* Cast to ULONGEST to use 64-bit arithmetic when possible to
@@ -6729,8 +6427,8 @@ error_check_comp_unit_head (struct comp_
   if (((ULONGEST) header->sect_off + get_cu_length (header))
       > section->size)
     error (_("Dwarf Error: bad length (0x%x) in compilation unit header "
-	   "(offset 0x%x + 0) [in module %s]"),
-	   header->length, to_underlying (header->sect_off),
+	   "(offset %s + 0) [in module %s]"),
+	   header->length, sect_offset_str (header->sect_off),
 	   filename);
 }
 
@@ -6739,7 +6437,8 @@ error_check_comp_unit_head (struct comp_
    The result is a pointer to the start of the first DIE.  */
 
 static const gdb_byte *
-read_and_check_comp_unit_head (struct comp_unit_head *header,
+read_and_check_comp_unit_head (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			       struct comp_unit_head *header,
 			       struct dwarf2_section_info *section,
 			       struct dwarf2_section_info *abbrev_section,
 			       const gdb_byte *info_ptr,
@@ -6753,7 +6452,8 @@ read_and_check_comp_unit_head (struct co
 
   header->first_die_cu_offset = (cu_offset) (info_ptr - beg_of_comp_unit);
 
-  error_check_comp_unit_head (header, section, abbrev_section);
+  error_check_comp_unit_head (dwarf2_per_objfile, header, section,
+			      abbrev_section);
 
   return info_ptr;
 }
@@ -6761,7 +6461,8 @@ read_and_check_comp_unit_head (struct co
 /* Fetch the abbreviation table offset from a comp or type unit header.  */
 
 static sect_offset
-read_abbrev_offset (struct dwarf2_section_info *section,
+read_abbrev_offset (struct dwarf2_per_objfile *dwarf2_per_objfile,
+		    struct dwarf2_section_info *section,
 		    sect_offset sect_off)
 {
   bfd *abfd = get_section_bfd_owner (section);
@@ -6884,10 +6585,10 @@ static int
 add_signatured_type_cu_to_table (void **slot, void *datum)
 {
   struct signatured_type *sigt = (struct signatured_type *) *slot;
-  struct signatured_type ***datap = (struct signatured_type ***) datum;
+  std::vector<signatured_type *> *all_type_units
+    = (std::vector<signatured_type *> *) datum;
 
-  **datap = sigt;
-  ++*datap;
+  all_type_units->push_back (sigt);
 
   return 1;
 }
@@ -6897,7 +6598,8 @@ add_signatured_type_cu_to_table (void **
    therefore DW_UT_type.  */
 
 static void
-create_debug_type_hash_table (struct dwo_file *dwo_file,
+create_debug_type_hash_table (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			      struct dwo_file *dwo_file,
 			      dwarf2_section_info *section, htab_t &types_htab,
 			      rcuh_kind section_kind)
 {
@@ -6948,7 +6650,7 @@ create_debug_type_hash_table (struct dwo
       /* We need to read the type's signature in order to build the hash
 	 table, but we don't need anything else just yet.  */
 
-      ptr = read_and_check_comp_unit_head (&header, section,
+      ptr = read_and_check_comp_unit_head (dwarf2_per_objfile, &header, section,
 					   abbrev_section, ptr, section_kind);
 
       length = get_cu_length (&header);
@@ -6991,7 +6693,7 @@ create_debug_type_hash_table (struct dwo
 				     struct signatured_type);
 	  sig_type->signature = header.signature;
 	  sig_type->type_offset_in_tu = header.type_cu_offset_in_tu;
-	  sig_type->per_cu.objfile = objfile;
+	  sig_type->per_cu.dwarf2_per_objfile = dwarf2_per_objfile;
 	  sig_type->per_cu.is_debug_types = 1;
 	  sig_type->per_cu.section = section;
 	  sig_type->per_cu.sect_off = sect_off;
@@ -7021,17 +6723,16 @@ create_debug_type_hash_table (struct dwo
 	      dup_sect_off = dup_tu->per_cu.sect_off;
 	    }
 
-	  complaint (&symfile_complaints,
-		     _("debug type entry at offset 0x%x is duplicate to"
-		       " the entry at offset 0x%x, signature %s"),
-		     to_underlying (sect_off), to_underlying (dup_sect_off),
+	  complaint (_("debug type entry at offset %s is duplicate to"
+		       " the entry at offset %s, signature %s"),
+		     sect_offset_str (sect_off), sect_offset_str (dup_sect_off),
 		     hex_string (header.signature));
 	}
       *slot = dwo_file ? (void *) dwo_tu : (void *) sig_type;
 
       if (dwarf_read_debug > 1)
-	fprintf_unfiltered (gdb_stdlog, "  offset 0x%x, signature %s\n",
-			    to_underlying (sect_off),
+	fprintf_unfiltered (gdb_stdlog, "  offset %s, signature %s\n",
+			    sect_offset_str (sect_off),
 			    hex_string (header.signature));
 
       info_ptr += length;
@@ -7048,7 +6749,8 @@ create_debug_type_hash_table (struct dwo
    Note: This function processes DWO files only, not DWP files.  */
 
 static void
-create_debug_types_hash_table (struct dwo_file *dwo_file,
+create_debug_types_hash_table (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			       struct dwo_file *dwo_file,
 			       VEC (dwarf2_section_info_def) *types,
 			       htab_t &types_htab)
 {
@@ -7061,8 +6763,8 @@ create_debug_types_hash_table (struct dw
   for (ix = 0;
        VEC_iterate (dwarf2_section_info_def, types, ix, section);
        ++ix)
-    create_debug_type_hash_table (dwo_file, section, types_htab,
-				  rcuh_kind::TYPE);
+    create_debug_type_hash_table (dwarf2_per_objfile, dwo_file, section,
+				  types_htab, rcuh_kind::TYPE);
 }
 
 /* Create the hash table of all entries in the .debug_types section,
@@ -7071,14 +6773,15 @@ create_debug_types_hash_table (struct dw
    otherwise non-zero.	*/
 
 static int
-create_all_type_units (struct objfile *objfile)
+create_all_type_units (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
   htab_t types_htab = NULL;
-  struct signatured_type **iter;
 
-  create_debug_type_hash_table (NULL, &dwarf2_per_objfile->info, types_htab,
+  create_debug_type_hash_table (dwarf2_per_objfile, NULL,
+				&dwarf2_per_objfile->info, types_htab,
 				rcuh_kind::COMPILE);
-  create_debug_types_hash_table (NULL, dwarf2_per_objfile->types, types_htab);
+  create_debug_types_hash_table (dwarf2_per_objfile, NULL,
+				 dwarf2_per_objfile->types, types_htab);
   if (types_htab == NULL)
     {
       dwarf2_per_objfile->signatured_types = NULL;
@@ -7087,15 +6790,11 @@ create_all_type_units (struct objfile *o
 
   dwarf2_per_objfile->signatured_types = types_htab;
 
-  dwarf2_per_objfile->n_type_units
-    = dwarf2_per_objfile->n_allocated_type_units
-    = htab_elements (types_htab);
-  dwarf2_per_objfile->all_type_units =
-    XNEWVEC (struct signatured_type *, dwarf2_per_objfile->n_type_units);
-  iter = &dwarf2_per_objfile->all_type_units[0];
-  htab_traverse_noresize (types_htab, add_signatured_type_cu_to_table, &iter);
-  gdb_assert (iter - &dwarf2_per_objfile->all_type_units[0]
-	      == dwarf2_per_objfile->n_type_units);
+  gdb_assert (dwarf2_per_objfile->all_type_units.empty ());
+  dwarf2_per_objfile->all_type_units.reserve (htab_elements (types_htab));
+
+  htab_traverse_noresize (types_htab, add_signatured_type_cu_to_table,
+			  &dwarf2_per_objfile->all_type_units);
 
   return 1;
 }
@@ -7105,30 +6804,19 @@ create_all_type_units (struct objfile *o
    Otherwise we find one.  */
 
 static struct signatured_type *
-add_type_unit (ULONGEST sig, void **slot)
+add_type_unit (struct dwarf2_per_objfile *dwarf2_per_objfile, ULONGEST sig,
+	       void **slot)
 {
   struct objfile *objfile = dwarf2_per_objfile->objfile;
-  int n_type_units = dwarf2_per_objfile->n_type_units;
-  struct signatured_type *sig_type;
 
-  gdb_assert (n_type_units <= dwarf2_per_objfile->n_allocated_type_units);
-  ++n_type_units;
-  if (n_type_units > dwarf2_per_objfile->n_allocated_type_units)
-    {
-      if (dwarf2_per_objfile->n_allocated_type_units == 0)
-	dwarf2_per_objfile->n_allocated_type_units = 1;
-      dwarf2_per_objfile->n_allocated_type_units *= 2;
-      dwarf2_per_objfile->all_type_units
-	= XRESIZEVEC (struct signatured_type *,
-		      dwarf2_per_objfile->all_type_units,
-		      dwarf2_per_objfile->n_allocated_type_units);
-      ++dwarf2_per_objfile->tu_stats.nr_all_type_units_reallocs;
-    }
-  dwarf2_per_objfile->n_type_units = n_type_units;
-
-  sig_type = OBSTACK_ZALLOC (&objfile->objfile_obstack,
-			     struct signatured_type);
-  dwarf2_per_objfile->all_type_units[n_type_units - 1] = sig_type;
+  if (dwarf2_per_objfile->all_type_units.size ()
+      == dwarf2_per_objfile->all_type_units.capacity ())
+    ++dwarf2_per_objfile->tu_stats.nr_all_type_units_reallocs;
+
+  signatured_type *sig_type = OBSTACK_ZALLOC (&objfile->objfile_obstack,
+					      struct signatured_type);
+
+  dwarf2_per_objfile->all_type_units.push_back (sig_type);
   sig_type->signature = sig;
   sig_type->per_cu.is_debug_types = 1;
   if (dwarf2_per_objfile->using_index)
@@ -7153,7 +6841,7 @@ add_type_unit (ULONGEST sig, void **slot
    Fill in SIG_ENTRY with DWO_ENTRY.  */
 
 static void
-fill_in_sig_entry_from_dwo_entry (struct objfile *objfile,
+fill_in_sig_entry_from_dwo_entry (struct dwarf2_per_objfile *dwarf2_per_objfile,
 				  struct signatured_type *sig_entry,
 				  struct dwo_unit *dwo_entry)
 {
@@ -7176,7 +6864,7 @@ fill_in_sig_entry_from_dwo_entry (struct
   sig_entry->per_cu.sect_off = dwo_entry->sect_off;
   sig_entry->per_cu.length = dwo_entry->length;
   sig_entry->per_cu.reading_dwo_directly = 1;
-  sig_entry->per_cu.objfile = objfile;
+  sig_entry->per_cu.dwarf2_per_objfile = dwarf2_per_objfile;
   sig_entry->type_offset_in_tu = dwo_entry->type_offset_in_tu;
   sig_entry->dwo_unit = dwo_entry;
 }
@@ -7196,6 +6884,8 @@ fill_in_sig_entry_from_dwo_entry (struct
 static struct signatured_type *
 lookup_dwo_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct dwo_file *dwo_file;
   struct dwo_unit find_dwo_entry, *dwo_entry;
@@ -7249,9 +6939,9 @@ lookup_dwo_signatured_type (struct dwarf
 
   /* If the global table doesn't have an entry for this TU, add one.  */
   if (sig_entry == NULL)
-    sig_entry = add_type_unit (sig, slot);
+    sig_entry = add_type_unit (dwarf2_per_objfile, sig, slot);
 
-  fill_in_sig_entry_from_dwo_entry (objfile, sig_entry, dwo_entry);
+  fill_in_sig_entry_from_dwo_entry (dwarf2_per_objfile, sig_entry, dwo_entry);
   sig_entry->per_cu.tu_read = 1;
   return sig_entry;
 }
@@ -7264,8 +6954,10 @@ lookup_dwo_signatured_type (struct dwarf
 static struct signatured_type *
 lookup_dwp_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
-  struct dwp_file *dwp_file = get_dwp_file ();
+  struct dwp_file *dwp_file = get_dwp_file (dwarf2_per_objfile);
   struct dwo_unit *dwo_entry;
   struct signatured_type find_sig_entry, *sig_entry;
   void **slot;
@@ -7294,13 +6986,13 @@ lookup_dwp_signatured_type (struct dwarf
 
   if (dwp_file->tus == NULL)
     return NULL;
-  dwo_entry = lookup_dwo_unit_in_dwp (dwp_file, NULL,
+  dwo_entry = lookup_dwo_unit_in_dwp (dwarf2_per_objfile, dwp_file, NULL,
 				      sig, 1 /* is_debug_types */);
   if (dwo_entry == NULL)
     return NULL;
 
-  sig_entry = add_type_unit (sig, slot);
-  fill_in_sig_entry_from_dwo_entry (objfile, sig_entry, dwo_entry);
+  sig_entry = add_type_unit (dwarf2_per_objfile, sig, slot);
+  fill_in_sig_entry_from_dwo_entry (dwarf2_per_objfile, sig_entry, dwo_entry);
 
   return sig_entry;
 }
@@ -7312,12 +7004,15 @@ lookup_dwp_signatured_type (struct dwarf
 static struct signatured_type *
 lookup_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
+
   if (cu->dwo_unit
       && dwarf2_per_objfile->using_index)
     {
       /* We're in a DWO/DWP file, and we're using .gdb_index.
 	 These cases require special processing.  */
-      if (get_dwp_file () == NULL)
+      if (get_dwp_file (dwarf2_per_objfile) == NULL)
 	return lookup_dwo_signatured_type (cu, sig);
       else
 	return lookup_dwp_signatured_type (cu, sig);
@@ -7343,7 +7038,8 @@ static void
 init_cu_die_reader (struct die_reader_specs *reader,
 		    struct dwarf2_cu *cu,
 		    struct dwarf2_section_info *section,
-		    struct dwo_file *dwo_file)
+		    struct dwo_file *dwo_file,
+		    struct abbrev_table *abbrev_table)
 {
   gdb_assert (section->readin && section->buffer != NULL);
   reader->abfd = get_section_bfd_owner (section);
@@ -7353,6 +7049,7 @@ init_cu_die_reader (struct die_reader_sp
   reader->buffer = section->buffer;
   reader->buffer_end = section->buffer + section->size;
   reader->comp_dir = NULL;
+  reader->abbrev_table = abbrev_table;
 }
 
 /* Subroutine of init_cutu_and_read_dies to simplify it.
@@ -7368,24 +7065,26 @@ init_cu_die_reader (struct die_reader_sp
    STUB_COMP_DIR may be non-NULL.
    *RESULT_READER,*RESULT_INFO_PTR,*RESULT_COMP_UNIT_DIE,*RESULT_HAS_CHILDREN
    are filled in with the info of the DIE from the DWO file.
-   ABBREV_TABLE_PROVIDED is non-zero if the caller of init_cutu_and_read_dies
-   provided an abbrev table to use.
+   *RESULT_DWO_ABBREV_TABLE will be filled in with the abbrev table allocated
+   from the dwo.  Since *RESULT_READER references this abbrev table, it must be
+   kept around for at least as long as *RESULT_READER.
+
    The result is non-zero if a valid (non-dummy) DIE was found.  */
 
 static int
 read_cutu_die_from_dwo (struct dwarf2_per_cu_data *this_cu,
 			struct dwo_unit *dwo_unit,
-			int abbrev_table_provided,
 			struct die_info *stub_comp_unit_die,
 			const char *stub_comp_dir,
 			struct die_reader_specs *result_reader,
 			const gdb_byte **result_info_ptr,
 			struct die_info **result_comp_unit_die,
-			int *result_has_children)
+			int *result_has_children,
+			abbrev_table_up *result_dwo_abbrev_table)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile = this_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct dwarf2_cu *cu = this_cu->cu;
-  struct dwarf2_section_info *section;
   bfd *abfd;
   const gdb_byte *begin_info_ptr, *info_ptr;
   struct attribute *comp_dir, *stmt_list, *low_pc, *high_pc, *ranges;
@@ -7448,29 +7147,29 @@ read_cutu_die_from_dwo (struct dwarf2_pe
 
   /* Set up for reading the DWO CU/TU.  */
   cu->dwo_unit = dwo_unit;
-  section = dwo_unit->section;
+  dwarf2_section_info *section = dwo_unit->section;
   dwarf2_read_section (objfile, section);
   abfd = get_section_bfd_owner (section);
   begin_info_ptr = info_ptr = (section->buffer
 			       + to_underlying (dwo_unit->sect_off));
   dwo_abbrev_section = &dwo_unit->dwo_file->sections.abbrev;
-  init_cu_die_reader (result_reader, cu, section, dwo_unit->dwo_file);
 
   if (this_cu->is_debug_types)
     {
       struct signatured_type *sig_type = (struct signatured_type *) this_cu;
 
-      info_ptr = read_and_check_comp_unit_head (&cu->header, section,
+      info_ptr = read_and_check_comp_unit_head (dwarf2_per_objfile,
+						&cu->header, section,
 						dwo_abbrev_section,
 						info_ptr, rcuh_kind::TYPE);
       /* This is not an assert because it can be caused by bad debug info.  */
       if (sig_type->signature != cu->header.signature)
 	{
 	  error (_("Dwarf Error: signature mismatch %s vs %s while reading"
-		   " TU at offset 0x%x [in module %s]"),
+		   " TU at offset %s [in module %s]"),
 		 hex_string (sig_type->signature),
 		 hex_string (cu->header.signature),
-		 to_underlying (dwo_unit->sect_off),
+		 sect_offset_str (dwo_unit->sect_off),
 		 bfd_get_filename (abfd));
 	}
       gdb_assert (dwo_unit->sect_off == cu->header.sect_off);
@@ -7486,7 +7185,8 @@ read_cutu_die_from_dwo (struct dwarf2_pe
     }
   else
     {
-      info_ptr = read_and_check_comp_unit_head (&cu->header, section,
+      info_ptr = read_and_check_comp_unit_head (dwarf2_per_objfile,
+						&cu->header, section,
 						dwo_abbrev_section,
 						info_ptr, rcuh_kind::COMPILE);
       gdb_assert (dwo_unit->sect_off == cu->header.sect_off);
@@ -7495,22 +7195,11 @@ read_cutu_die_from_dwo (struct dwarf2_pe
       dwo_unit->length = get_cu_length (&cu->header);
     }
 
-  /* Replace the CU's original abbrev table with the DWO's.
-     Reminder: We can't read the abbrev table until we've read the header.  */
-  if (abbrev_table_provided)
-    {
-      /* Don't free the provided abbrev table, the caller of
-	 init_cutu_and_read_dies owns it.  */
-      dwarf2_read_abbrevs (cu, dwo_abbrev_section);
-      /* Ensure the DWO abbrev table gets freed.  */
-      make_cleanup (dwarf2_free_abbrev_table, cu);
-    }
-  else
-    {
-      dwarf2_free_abbrev_table (cu);
-      dwarf2_read_abbrevs (cu, dwo_abbrev_section);
-      /* Leave any existing abbrev table cleanup as is.  */
-    }
+  *result_dwo_abbrev_table
+    = abbrev_table_read_table (dwarf2_per_objfile, dwo_abbrev_section,
+			       cu->header.abbrev_sect_off);
+  init_cu_die_reader (result_reader, cu, section, dwo_unit->dwo_file,
+		      result_dwo_abbrev_table->get ());
 
   /* Read in the die, but leave space to copy over the attributes
      from the stub.  This has the benefit of simplifying the rest of
@@ -7602,7 +7291,7 @@ lookup_dwo_unit (struct dwarf2_per_cu_da
       if (! attr)
 	error (_("Dwarf Error: missing dwo_id for dwo_name %s"
 		 " [in module %s]"),
-	       dwo_name, objfile_name (this_cu->objfile));
+	       dwo_name, objfile_name (this_cu->dwarf2_per_objfile->objfile));
       signature = DW_UNSND (attr);
       dwo_unit = lookup_dwo_comp_unit (this_cu, dwo_name, comp_dir,
 				       signature);
@@ -7613,12 +7302,7 @@ lookup_dwo_unit (struct dwarf2_per_cu_da
 
 /* Subroutine of init_cutu_and_read_dies to simplify it.
    See it for a description of the parameters.
-   Read a TU directly from a DWO file, bypassing the stub.
-
-   Note: This function could be a little bit simpler if we shared cleanups
-   with our caller, init_cutu_and_read_dies.  That's generally a fragile thing
-   to do, so we keep this function self-contained.  Or we could move this
-   into our caller, but it's complex enough already.  */
+   Read a TU directly from a DWO file, bypassing the stub.  */
 
 static void
 init_tu_and_read_dwo_dies (struct dwarf2_per_cu_data *this_cu,
@@ -7626,13 +7310,13 @@ init_tu_and_read_dwo_dies (struct dwarf2
 			   die_reader_func_ftype *die_reader_func,
 			   void *data)
 {
-  struct dwarf2_cu *cu;
+  std::unique_ptr<dwarf2_cu> new_cu;
   struct signatured_type *sig_type;
-  struct cleanup *cleanups, *free_cu_cleanup = NULL;
   struct die_reader_specs reader;
   const gdb_byte *info_ptr;
   struct die_info *comp_unit_die;
   int has_children;
+  struct dwarf2_per_objfile *dwarf2_per_objfile = this_cu->dwarf2_per_objfile;
 
   /* Verify we can do the following downcast, and that we have the
      data we need.  */
@@ -7640,12 +7324,9 @@ init_tu_and_read_dwo_dies (struct dwarf2
   sig_type = (struct signatured_type *) this_cu;
   gdb_assert (sig_type->dwo_unit != NULL);
 
-  cleanups = make_cleanup (null_cleanup, NULL);
-
   if (use_existing_cu && this_cu->cu != NULL)
     {
       gdb_assert (this_cu->cu->dwo_unit == sig_type->dwo_unit);
-      cu = this_cu->cu;
       /* There's no need to do the rereading_dwo_cu handling that
 	 init_cutu_and_read_dies does since we don't read the stub.  */
     }
@@ -7653,25 +7334,25 @@ init_tu_and_read_dwo_dies (struct dwarf2
     {
       /* If !use_existing_cu, this_cu->cu must be NULL.  */
       gdb_assert (this_cu->cu == NULL);
-      cu = XNEW (struct dwarf2_cu);
-      init_one_comp_unit (cu, this_cu);
-      /* If an error occurs while loading, release our storage.  */
-      free_cu_cleanup = make_cleanup (free_heap_comp_unit, cu);
+      new_cu.reset (new dwarf2_cu (this_cu));
     }
 
   /* A future optimization, if needed, would be to use an existing
      abbrev table.  When reading DWOs with skeletonless TUs, all the TUs
      could share abbrev tables.  */
 
+  /* The abbreviation table used by READER, this must live at least as long as
+     READER.  */
+  abbrev_table_up dwo_abbrev_table;
+
   if (read_cutu_die_from_dwo (this_cu, sig_type->dwo_unit,
-			      0 /* abbrev_table_provided */,
 			      NULL /* stub_comp_unit_die */,
 			      sig_type->dwo_unit->dwo_file->comp_dir,
 			      &reader, &info_ptr,
-			      &comp_unit_die, &has_children) == 0)
+			      &comp_unit_die, &has_children,
+			      &dwo_abbrev_table) == 0)
     {
       /* Dummy die.  */
-      do_cleanups (cleanups);
       return;
     }
 
@@ -7682,27 +7363,14 @@ init_tu_and_read_dwo_dies (struct dwarf2
      but the alternative is making the latter more complex.
      This function is only for the special case of using DWO files directly:
      no point in overly complicating the general case just to handle this.  */
-  if (free_cu_cleanup != NULL)
+  if (new_cu != NULL && keep)
     {
-      if (keep)
-	{
-	  /* We've successfully allocated this compilation unit.  Let our
-	     caller clean it up when finished with it.  */
-	  discard_cleanups (free_cu_cleanup);
-
-	  /* We can only discard free_cu_cleanup and all subsequent cleanups.
-	     So we have to manually free the abbrev table.  */
-	  dwarf2_free_abbrev_table (cu);
-
-	  /* Link this CU into read_in_chain.  */
-	  this_cu->cu->read_in_chain = dwarf2_per_objfile->read_in_chain;
-	  dwarf2_per_objfile->read_in_chain = this_cu;
-	}
-      else
-	do_cleanups (free_cu_cleanup);
+      /* Link this CU into read_in_chain.  */
+      this_cu->cu->read_in_chain = dwarf2_per_objfile->read_in_chain;
+      dwarf2_per_objfile->read_in_chain = this_cu;
+      /* The chain owns it now.  */
+      new_cu.release ();
     }
-
-  do_cleanups (cleanups);
 }
 
 /* Initialize a CU (or TU) and read its DIEs.
@@ -7725,9 +7393,11 @@ static void
 init_cutu_and_read_dies (struct dwarf2_per_cu_data *this_cu,
 			 struct abbrev_table *abbrev_table,
 			 int use_existing_cu, int keep,
+			 bool skip_partial,
 			 die_reader_func_ftype *die_reader_func,
 			 void *data)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile = this_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct dwarf2_section_info *section = this_cu->section;
   bfd *abfd = get_section_bfd_owner (section);
@@ -7737,7 +7407,6 @@ init_cutu_and_read_dies (struct dwarf2_p
   struct die_info *comp_unit_die;
   int has_children;
   struct attribute *attr;
-  struct cleanup *cleanups, *free_cu_cleanup = NULL;
   struct signatured_type *sig_type = NULL;
   struct dwarf2_section_info *abbrev_section;
   /* Non-zero if CU currently points to a DWO file and we need to
@@ -7746,9 +7415,9 @@ init_cutu_and_read_dies (struct dwarf2_p
   int rereading_dwo_cu = 0;
 
   if (dwarf_die_debug)
-    fprintf_unfiltered (gdb_stdlog, "Reading %s unit at offset 0x%x\n",
+    fprintf_unfiltered (gdb_stdlog, "Reading %s unit at offset %s\n",
 			this_cu->is_debug_types ? "type" : "comp",
-			to_underlying (this_cu->sect_off));
+			sect_offset_str (this_cu->sect_off));
 
   if (use_existing_cu)
     gdb_assert (keep);
@@ -7765,8 +7434,6 @@ init_cutu_and_read_dies (struct dwarf2_p
       return;
     }
 
-  cleanups = make_cleanup (null_cleanup, NULL);
-
   /* This is cheap if the section is already read in.  */
   dwarf2_read_section (objfile, section);
 
@@ -7774,6 +7441,7 @@ init_cutu_and_read_dies (struct dwarf2_p
 
   abbrev_section = get_abbrev_section_for_cu (this_cu);
 
+  std::unique_ptr<dwarf2_cu> new_cu;
   if (use_existing_cu && this_cu->cu != NULL)
     {
       cu = this_cu->cu;
@@ -7790,10 +7458,8 @@ init_cutu_and_read_dies (struct dwarf2_p
     {
       /* If !use_existing_cu, this_cu->cu must be NULL.  */
       gdb_assert (this_cu->cu == NULL);
-      cu = XNEW (struct dwarf2_cu);
-      init_one_comp_unit (cu, this_cu);
-      /* If an error occurs while loading, release our storage.  */
-      free_cu_cleanup = make_cleanup (free_heap_comp_unit, cu);
+      new_cu.reset (new dwarf2_cu (this_cu));
+      cu = new_cu.get ();
     }
 
   /* Get the header.  */
@@ -7806,7 +7472,8 @@ init_cutu_and_read_dies (struct dwarf2_p
     {
       if (this_cu->is_debug_types)
 	{
-	  info_ptr = read_and_check_comp_unit_head (&cu->header, section,
+	  info_ptr = read_and_check_comp_unit_head (dwarf2_per_objfile,
+						    &cu->header, section,
 						    abbrev_section, info_ptr,
 						    rcuh_kind::TYPE);
 
@@ -7830,7 +7497,8 @@ init_cutu_and_read_dies (struct dwarf2_p
 	}
       else
 	{
-	  info_ptr = read_and_check_comp_unit_head (&cu->header, section,
+	  info_ptr = read_and_check_comp_unit_head (dwarf2_per_objfile,
+						    &cu->header, section,
 						    abbrev_section,
 						    info_ptr,
 						    rcuh_kind::COMPILE);
@@ -7844,42 +7512,39 @@ init_cutu_and_read_dies (struct dwarf2_p
   /* Skip dummy compilation units.  */
   if (info_ptr >= begin_info_ptr + this_cu->length
       || peek_abbrev_code (abfd, info_ptr) == 0)
-    {
-      do_cleanups (cleanups);
-      return;
-    }
+    return;
 
   /* If we don't have them yet, read the abbrevs for this compilation unit.
      And if we need to read them now, make sure they're freed when we're
-     done.  Note that it's important that if the CU had an abbrev table
-     on entry we don't free it when we're done: Somewhere up the call stack
-     it may be in use.  */
+     done (own the table through ABBREV_TABLE_HOLDER).  */
+  abbrev_table_up abbrev_table_holder;
   if (abbrev_table != NULL)
+    gdb_assert (cu->header.abbrev_sect_off == abbrev_table->sect_off);
+  else
     {
-      gdb_assert (cu->abbrev_table == NULL);
-      gdb_assert (cu->header.abbrev_sect_off == abbrev_table->sect_off);
-      cu->abbrev_table = abbrev_table;
-    }
-  else if (cu->abbrev_table == NULL)
-    {
-      dwarf2_read_abbrevs (cu, abbrev_section);
-      make_cleanup (dwarf2_free_abbrev_table, cu);
-    }
-  else if (rereading_dwo_cu)
-    {
-      dwarf2_free_abbrev_table (cu);
-      dwarf2_read_abbrevs (cu, abbrev_section);
+      abbrev_table_holder
+	= abbrev_table_read_table (dwarf2_per_objfile, abbrev_section,
+				   cu->header.abbrev_sect_off);
+      abbrev_table = abbrev_table_holder.get ();
     }
 
   /* Read the top level CU/TU die.  */
-  init_cu_die_reader (&reader, cu, section, NULL);
+  init_cu_die_reader (&reader, cu, section, NULL, abbrev_table);
   info_ptr = read_full_die (&reader, &comp_unit_die, info_ptr, &has_children);
 
+  if (skip_partial && comp_unit_die->tag == DW_TAG_partial_unit)
+    return;
+
   /* If we are in a DWO stub, process it and then read in the "real" CU/TU
-     from the DWO file.
+     from the DWO file.  read_cutu_die_from_dwo will allocate the abbreviation
+     table from the DWO file and pass the ownership over to us.  It will be
+     referenced from READER, so we must make sure to free it after we're done
+     with READER.
+
      Note that if USE_EXISTING_OK != 0, and THIS_CU->cu already contains a
      DWO CU, that this test will fail (the attribute will not be present).  */
   attr = dwarf2_attr (comp_unit_die, DW_AT_GNU_dwo_name, cu);
+  abbrev_table_up dwo_abbrev_table;
   if (attr)
     {
       struct dwo_unit *dwo_unit;
@@ -7887,22 +7552,21 @@ init_cutu_and_read_dies (struct dwarf2_p
 
       if (has_children)
 	{
-	  complaint (&symfile_complaints,
-		     _("compilation unit with DW_AT_GNU_dwo_name"
-		       " has children (offset 0x%x) [in module %s]"),
-		     to_underlying (this_cu->sect_off), bfd_get_filename (abfd));
+	  complaint (_("compilation unit with DW_AT_GNU_dwo_name"
+		       " has children (offset %s) [in module %s]"),
+		     sect_offset_str (this_cu->sect_off),
+		     bfd_get_filename (abfd));
 	}
       dwo_unit = lookup_dwo_unit (this_cu, comp_unit_die);
       if (dwo_unit != NULL)
 	{
 	  if (read_cutu_die_from_dwo (this_cu, dwo_unit,
-				      abbrev_table != NULL,
 				      comp_unit_die, NULL,
 				      &reader, &info_ptr,
-				      &dwo_comp_unit_die, &has_children) == 0)
+				      &dwo_comp_unit_die, &has_children,
+				      &dwo_abbrev_table) == 0)
 	    {
 	      /* Dummy die.  */
-	      do_cleanups (cleanups);
 	      return;
 	    }
 	  comp_unit_die = dwo_comp_unit_die;
@@ -7921,27 +7585,14 @@ init_cutu_and_read_dies (struct dwarf2_p
   die_reader_func (&reader, info_ptr, comp_unit_die, has_children, data);
 
   /* Done, clean up.  */
-  if (free_cu_cleanup != NULL)
+  if (new_cu != NULL && keep)
     {
-      if (keep)
-	{
-	  /* We've successfully allocated this compilation unit.  Let our
-	     caller clean it up when finished with it.  */
-	  discard_cleanups (free_cu_cleanup);
-
-	  /* We can only discard free_cu_cleanup and all subsequent cleanups.
-	     So we have to manually free the abbrev table.  */
-	  dwarf2_free_abbrev_table (cu);
-
-	  /* Link this CU into read_in_chain.  */
-	  this_cu->cu->read_in_chain = dwarf2_per_objfile->read_in_chain;
-	  dwarf2_per_objfile->read_in_chain = this_cu;
-	}
-      else
-	do_cleanups (free_cu_cleanup);
+      /* Link this CU into read_in_chain.  */
+      this_cu->cu->read_in_chain = dwarf2_per_objfile->read_in_chain;
+      dwarf2_per_objfile->read_in_chain = this_cu;
+      /* The chain owns it now.  */
+      new_cu.release ();
     }
-
-  do_cleanups (cleanups);
 }
 
 /* Read CU/TU THIS_CU but do not follow DW_AT_GNU_dwo_name if present.
@@ -7966,21 +7617,20 @@ init_cutu_and_read_dies_no_follow (struc
 				   die_reader_func_ftype *die_reader_func,
 				   void *data)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile = this_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct dwarf2_section_info *section = this_cu->section;
   bfd *abfd = get_section_bfd_owner (section);
   struct dwarf2_section_info *abbrev_section;
-  struct dwarf2_cu cu;
   const gdb_byte *begin_info_ptr, *info_ptr;
   struct die_reader_specs reader;
-  struct cleanup *cleanups;
   struct die_info *comp_unit_die;
   int has_children;
 
   if (dwarf_die_debug)
-    fprintf_unfiltered (gdb_stdlog, "Reading %s unit at offset 0x%x\n",
+    fprintf_unfiltered (gdb_stdlog, "Reading %s unit at offset %s\n",
 			this_cu->is_debug_types ? "type" : "comp",
-			to_underlying (this_cu->sect_off));
+			sect_offset_str (this_cu->sect_off));
 
   gdb_assert (this_cu->cu == NULL);
 
@@ -7991,12 +7641,11 @@ init_cutu_and_read_dies_no_follow (struc
   /* This is cheap if the section is already read in.  */
   dwarf2_read_section (objfile, section);
 
-  init_one_comp_unit (&cu, this_cu);
-
-  cleanups = make_cleanup (free_stack_comp_unit, &cu);
+  struct dwarf2_cu cu (this_cu);
 
   begin_info_ptr = info_ptr = section->buffer + to_underlying (this_cu->sect_off);
-  info_ptr = read_and_check_comp_unit_head (&cu.header, section,
+  info_ptr = read_and_check_comp_unit_head (dwarf2_per_objfile,
+					    &cu.header, section,
 					    abbrev_section, info_ptr,
 					    (this_cu->is_debug_types
 					     ? rcuh_kind::TYPE
@@ -8007,20 +7656,16 @@ init_cutu_and_read_dies_no_follow (struc
   /* Skip dummy compilation units.  */
   if (info_ptr >= begin_info_ptr + this_cu->length
       || peek_abbrev_code (abfd, info_ptr) == 0)
-    {
-      do_cleanups (cleanups);
-      return;
-    }
+    return;
 
-  dwarf2_read_abbrevs (&cu, abbrev_section);
-  make_cleanup (dwarf2_free_abbrev_table, &cu);
+  abbrev_table_up abbrev_table
+    = abbrev_table_read_table (dwarf2_per_objfile, abbrev_section,
+			       cu.header.abbrev_sect_off);
 
-  init_cu_die_reader (&reader, &cu, section, dwo_file);
+  init_cu_die_reader (&reader, &cu, section, dwo_file, abbrev_table.get ());
   info_ptr = read_full_die (&reader, &comp_unit_die, info_ptr, &has_children);
 
   die_reader_func (&reader, info_ptr, comp_unit_die, has_children, data);
-
-  do_cleanups (cleanups);
 }
 
 /* Read a CU/TU, except that this does not look for DW_AT_GNU_dwo_name and
@@ -8069,13 +7714,13 @@ eq_type_unit_group (const void *item_lhs
 /* Allocate a hash table for type unit groups.  */
 
 static htab_t
-allocate_type_unit_groups_table (void)
+allocate_type_unit_groups_table (struct objfile *objfile)
 {
   return htab_create_alloc_ex (3,
 			       hash_type_unit_group,
 			       eq_type_unit_group,
 			       NULL,
-			       &dwarf2_per_objfile->objfile->objfile_obstack,
+			       &objfile->objfile_obstack,
 			       hashtab_obstack_allocate,
 			       dummy_obstack_deallocate);
 }
@@ -8092,6 +7737,8 @@ allocate_type_unit_groups_table (void)
 static struct type_unit_group *
 create_type_unit_group (struct dwarf2_cu *cu, sect_offset line_offset_struct)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct dwarf2_per_cu_data *per_cu;
   struct type_unit_group *tu_group;
@@ -8099,7 +7746,7 @@ create_type_unit_group (struct dwarf2_cu
   tu_group = OBSTACK_ZALLOC (&objfile->objfile_obstack,
 			     struct type_unit_group);
   per_cu = &tu_group->per_cu;
-  per_cu->objfile = objfile;
+  per_cu->dwarf2_per_objfile = dwarf2_per_objfile;
 
   if (dwarf2_per_objfile->using_index)
     {
@@ -8137,6 +7784,8 @@ create_type_unit_group (struct dwarf2_cu
 static struct type_unit_group *
 get_type_unit_group (struct dwarf2_cu *cu, const struct attribute *stmt_list)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct tu_stats *tu_stats = &dwarf2_per_objfile->tu_stats;
   struct type_unit_group *tu_group;
   void **slot;
@@ -8146,7 +7795,7 @@ get_type_unit_group (struct dwarf2_cu *c
   if (dwarf2_per_objfile->type_unit_groups == NULL)
     {
       dwarf2_per_objfile->type_unit_groups =
-	allocate_type_unit_groups_table ();
+	allocate_type_unit_groups_table (dwarf2_per_objfile->objfile);
     }
 
   /* Do we need to create a new group, or can we use an existing one?  */
@@ -8199,7 +7848,7 @@ get_type_unit_group (struct dwarf2_cu *c
 static struct partial_symtab *
 create_partial_symtab (struct dwarf2_per_cu_data *per_cu, const char *name)
 {
-  struct objfile *objfile = per_cu->objfile;
+  struct objfile *objfile = per_cu->dwarf2_per_objfile->objfile;
   struct partial_symtab *pst;
 
   pst = start_psymtab_common (objfile, name, 0,
@@ -8241,7 +7890,7 @@ process_psymtab_comp_unit_reader (const 
 				  void *data)
 {
   struct dwarf2_cu *cu = reader->cu;
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct dwarf2_per_cu_data *per_cu = cu->per_cu;
   CORE_ADDR baseaddr;
@@ -8352,10 +8001,10 @@ process_psymtab_comp_unit_reader (const 
       struct gdbarch *gdbarch = get_objfile_arch (objfile);
 
       fprintf_unfiltered (gdb_stdlog,
-			  "Psymtab for %s unit @0x%x: %s - %s"
+			  "Psymtab for %s unit @%s: %s - %s"
 			  ", %d global, %d static syms\n",
 			  per_cu->is_debug_types ? "type" : "comp",
-			  to_underlying (per_cu->sect_off),
+			  sect_offset_str (per_cu->sect_off),
 			  paddress (gdbarch, pst->textlow),
 			  paddress (gdbarch, pst->texthigh),
 			  pst->n_global_syms, pst->n_static_syms);
@@ -8379,19 +8028,19 @@ process_psymtab_comp_unit (struct dwarf2
     free_one_cached_comp_unit (this_cu);
 
   if (this_cu->is_debug_types)
-    init_cutu_and_read_dies (this_cu, NULL, 0, 0, build_type_psymtabs_reader,
-			     NULL);
+    init_cutu_and_read_dies (this_cu, NULL, 0, 0, false,
+			     build_type_psymtabs_reader, NULL);
   else
     {
       process_psymtab_comp_unit_data info;
       info.want_partial_unit = want_partial_unit;
       info.pretend_language = pretend_language;
-      init_cutu_and_read_dies (this_cu, NULL, 0, 0,
+      init_cutu_and_read_dies (this_cu, NULL, 0, 0, false,
 			       process_psymtab_comp_unit_reader, &info);
     }
 
   /* Age out any secondary CUs.  */
-  age_cached_comp_units ();
+  age_cached_comp_units (this_cu->dwarf2_per_objfile);
 }
 
 /* Reader function for build_type_psymtabs.  */
@@ -8403,6 +8052,8 @@ build_type_psymtabs_reader (const struct
 			    int has_children,
 			    void *data)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = reader->cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct dwarf2_cu *cu = reader->cu;
   struct dwarf2_per_cu_data *per_cu = cu->per_cu;
@@ -8443,23 +8094,21 @@ build_type_psymtabs_reader (const struct
 
 struct tu_abbrev_offset
 {
-  struct signatured_type *sig_type;
+  tu_abbrev_offset (signatured_type *sig_type_, sect_offset abbrev_offset_)
+  : sig_type (sig_type_), abbrev_offset (abbrev_offset_)
+  {}
+
+  signatured_type *sig_type;
   sect_offset abbrev_offset;
 };
 
-/* Helper routine for build_type_psymtabs_1, passed to qsort.  */
+/* Helper routine for build_type_psymtabs_1, passed to std::sort.  */
 
-static int
-sort_tu_by_abbrev_offset (const void *ap, const void *bp)
+static bool
+sort_tu_by_abbrev_offset (const struct tu_abbrev_offset &a,
+			  const struct tu_abbrev_offset &b)
 {
-  const struct tu_abbrev_offset * const *a
-    = (const struct tu_abbrev_offset * const*) ap;
-  const struct tu_abbrev_offset * const *b
-    = (const struct tu_abbrev_offset * const*) bp;
-  sect_offset aoff = (*a)->abbrev_offset;
-  sect_offset boff = (*b)->abbrev_offset;
-
-  return (aoff > boff) - (aoff < boff);
+  return a.abbrev_offset < b.abbrev_offset;
 }
 
 /* Efficiently read all the type units.
@@ -8481,19 +8130,16 @@ sort_tu_by_abbrev_offset (const void *ap
    dwarf2_per_objfile->type_unit_groups.  */
 
 static void
-build_type_psymtabs_1 (void)
+build_type_psymtabs_1 (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
   struct tu_stats *tu_stats = &dwarf2_per_objfile->tu_stats;
-  struct cleanup *cleanups;
-  struct abbrev_table *abbrev_table;
+  abbrev_table_up abbrev_table;
   sect_offset abbrev_offset;
-  struct tu_abbrev_offset *sorted_by_abbrev;
-  int i;
 
   /* It's up to the caller to not call us multiple times.  */
   gdb_assert (dwarf2_per_objfile->type_unit_groups == NULL);
 
-  if (dwarf2_per_objfile->n_type_units == 0)
+  if (dwarf2_per_objfile->all_type_units.empty ())
     return;
 
   /* TUs typically share abbrev tables, and there can be way more TUs than
@@ -8520,64 +8166,49 @@ build_type_psymtabs_1 (void)
 
   /* Sort in a separate table to maintain the order of all_type_units
      for .gdb_index: TU indices directly index all_type_units.  */
-  sorted_by_abbrev = XNEWVEC (struct tu_abbrev_offset,
-			      dwarf2_per_objfile->n_type_units);
-  for (i = 0; i < dwarf2_per_objfile->n_type_units; ++i)
-    {
-      struct signatured_type *sig_type = dwarf2_per_objfile->all_type_units[i];
-
-      sorted_by_abbrev[i].sig_type = sig_type;
-      sorted_by_abbrev[i].abbrev_offset =
-	read_abbrev_offset (sig_type->per_cu.section,
-			    sig_type->per_cu.sect_off);
-    }
-  cleanups = make_cleanup (xfree, sorted_by_abbrev);
-  qsort (sorted_by_abbrev, dwarf2_per_objfile->n_type_units,
-	 sizeof (struct tu_abbrev_offset), sort_tu_by_abbrev_offset);
+  std::vector<tu_abbrev_offset> sorted_by_abbrev;
+  sorted_by_abbrev.reserve (dwarf2_per_objfile->all_type_units.size ());
+
+  for (signatured_type *sig_type : dwarf2_per_objfile->all_type_units)
+    sorted_by_abbrev.emplace_back
+      (sig_type, read_abbrev_offset (dwarf2_per_objfile,
+				     sig_type->per_cu.section,
+				     sig_type->per_cu.sect_off));
+
+  std::sort (sorted_by_abbrev.begin (), sorted_by_abbrev.end (),
+	     sort_tu_by_abbrev_offset);
 
   abbrev_offset = (sect_offset) ~(unsigned) 0;
-  abbrev_table = NULL;
-  make_cleanup (abbrev_table_free_cleanup, &abbrev_table);
 
-  for (i = 0; i < dwarf2_per_objfile->n_type_units; ++i)
+  for (const tu_abbrev_offset &tu : sorted_by_abbrev)
     {
-      const struct tu_abbrev_offset *tu = &sorted_by_abbrev[i];
-
       /* Switch to the next abbrev table if necessary.  */
       if (abbrev_table == NULL
-	  || tu->abbrev_offset != abbrev_offset)
+	  || tu.abbrev_offset != abbrev_offset)
 	{
-	  if (abbrev_table != NULL)
-	    {
-	      abbrev_table_free (abbrev_table);
-	      /* Reset to NULL in case abbrev_table_read_table throws
-		 an error: abbrev_table_free_cleanup will get called.  */
-	      abbrev_table = NULL;
-	    }
-	  abbrev_offset = tu->abbrev_offset;
+	  abbrev_offset = tu.abbrev_offset;
 	  abbrev_table =
-	    abbrev_table_read_table (&dwarf2_per_objfile->abbrev,
+	    abbrev_table_read_table (dwarf2_per_objfile,
+				     &dwarf2_per_objfile->abbrev,
 				     abbrev_offset);
 	  ++tu_stats->nr_uniq_abbrev_tables;
 	}
 
-      init_cutu_and_read_dies (&tu->sig_type->per_cu, abbrev_table, 0, 0,
-			       build_type_psymtabs_reader, NULL);
+      init_cutu_and_read_dies (&tu.sig_type->per_cu, abbrev_table.get (),
+			       0, 0, false, build_type_psymtabs_reader, NULL);
     }
-
-  do_cleanups (cleanups);
 }
 
 /* Print collected type unit statistics.  */
 
 static void
-print_tu_stats (void)
+print_tu_stats (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
   struct tu_stats *tu_stats = &dwarf2_per_objfile->tu_stats;
 
   fprintf_unfiltered (gdb_stdlog, "Type unit statistics:\n");
-  fprintf_unfiltered (gdb_stdlog, "  %d TUs\n",
-		      dwarf2_per_objfile->n_type_units);
+  fprintf_unfiltered (gdb_stdlog, "  %zu TUs\n",
+		      dwarf2_per_objfile->all_type_units.size ());
   fprintf_unfiltered (gdb_stdlog, "  %d uniq abbrev tables\n",
 		      tu_stats->nr_uniq_abbrev_tables);
   fprintf_unfiltered (gdb_stdlog, "  %d symtabs from stmt_list entries\n",
@@ -8595,6 +8226,8 @@ print_tu_stats (void)
 static int
 build_type_psymtab_dependencies (void **slot, void *info)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = (struct dwarf2_per_objfile *) info;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct type_unit_group *tu_group = (struct type_unit_group *) *slot;
   struct dwarf2_per_cu_data *per_cu = &tu_group->per_cu;
@@ -8627,12 +8260,12 @@ build_type_psymtab_dependencies (void **
    Build partial symbol tables for the .debug_types comp-units.  */
 
 static void
-build_type_psymtabs (struct objfile *objfile)
+build_type_psymtabs (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
-  if (! create_all_type_units (objfile))
+  if (! create_all_type_units (dwarf2_per_objfile))
     return;
 
-  build_type_psymtabs_1 ();
+  build_type_psymtabs_1 (dwarf2_per_objfile);
 }
 
 /* Traversal function for process_skeletonless_type_unit.
@@ -8642,7 +8275,8 @@ static int
 process_skeletonless_type_unit (void **slot, void *info)
 {
   struct dwo_unit *dwo_unit = (struct dwo_unit *) *slot;
-  struct objfile *objfile = (struct objfile *) info;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = (struct dwarf2_per_objfile *) info;
   struct signatured_type find_entry, *entry;
 
   /* If this TU doesn't exist in the global table, add it and read it in.  */
@@ -8650,7 +8284,7 @@ process_skeletonless_type_unit (void **s
   if (dwarf2_per_objfile->signatured_types == NULL)
     {
       dwarf2_per_objfile->signatured_types
-	= allocate_signatured_type_table (objfile);
+	= allocate_signatured_type_table (dwarf2_per_objfile->objfile);
     }
 
   find_entry.signature = dwo_unit->signature;
@@ -8663,12 +8297,12 @@ process_skeletonless_type_unit (void **s
 
   /* This does the job that create_all_type_units would have done for
      this TU.  */
-  entry = add_type_unit (dwo_unit->signature, slot);
-  fill_in_sig_entry_from_dwo_entry (objfile, entry, dwo_unit);
+  entry = add_type_unit (dwarf2_per_objfile, dwo_unit->signature, slot);
+  fill_in_sig_entry_from_dwo_entry (dwarf2_per_objfile, entry, dwo_unit);
   *slot = entry;
 
   /* This does the job that build_type_psymtabs_1 would have done.  */
-  init_cutu_and_read_dies (&entry->per_cu, NULL, 0, 0,
+  init_cutu_and_read_dies (&entry->per_cu, NULL, 0, 0, false,
 			   build_type_psymtabs_reader, NULL);
 
   return 1;
@@ -8695,35 +8329,31 @@ process_dwo_file_for_skeletonless_type_u
    Note: This can't be done until we know what all the DWO files are.  */
 
 static void
-process_skeletonless_type_units (struct objfile *objfile)
+process_skeletonless_type_units (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
   /* Skeletonless TUs in DWP files without .gdb_index is not supported yet.  */
-  if (get_dwp_file () == NULL
+  if (get_dwp_file (dwarf2_per_objfile) == NULL
       && dwarf2_per_objfile->dwo_files != NULL)
     {
       htab_traverse_noresize (dwarf2_per_objfile->dwo_files,
 			      process_dwo_file_for_skeletonless_type_units,
-			      objfile);
+			      dwarf2_per_objfile);
     }
 }
 
-/* Compute the 'user' field for each psymtab in OBJFILE.  */
+/* Compute the 'user' field for each psymtab in DWARF2_PER_OBJFILE.  */
 
 static void
-set_partial_user (struct objfile *objfile)
+set_partial_user (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
-  int i;
-
-  for (i = 0; i < dwarf2_per_objfile->n_comp_units; ++i)
+  for (dwarf2_per_cu_data *per_cu : dwarf2_per_objfile->all_comp_units)
     {
-      struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
       struct partial_symtab *pst = per_cu->v.psymtab;
-      int j;
 
       if (pst == NULL)
 	continue;
 
-      for (j = 0; j < pst->number_of_dependencies; ++j)
+      for (int j = 0; j < pst->number_of_dependencies; ++j)
 	{
 	  /* Set the 'user' field only if it is not already set.  */
 	  if (pst->dependencies[j]->user == NULL)
@@ -8736,10 +8366,9 @@ set_partial_user (struct objfile *objfil
    .debug_info and .debug_abbrev sections.  */
 
 static void
-dwarf2_build_psymtabs_hard (struct objfile *objfile)
+dwarf2_build_psymtabs_hard (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
-  struct cleanup *back_to;
-  int i;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
 
   if (dwarf_read_debug)
     {
@@ -8753,11 +8382,11 @@ dwarf2_build_psymtabs_hard (struct objfi
 
   /* Any cached compilation units will be linked by the per-objfile
      read_in_chain.  Make sure to free them when we're done.  */
-  back_to = make_cleanup (free_cached_comp_units, NULL);
+  free_cached_comp_units freer (dwarf2_per_objfile);
 
-  build_type_psymtabs (objfile);
+  build_type_psymtabs (dwarf2_per_objfile);
 
-  create_all_comp_units (objfile);
+  create_all_comp_units (dwarf2_per_objfile);
 
   /* Create a temporary address map on a temporary obstack.  We later
      copy this to the final obstack.  */
@@ -8767,35 +8396,29 @@ dwarf2_build_psymtabs_hard (struct objfi
     = make_scoped_restore (&objfile->psymtabs_addrmap,
 			   addrmap_create_mutable (&temp_obstack));
 
-  for (i = 0; i < dwarf2_per_objfile->n_comp_units; ++i)
-    {
-      struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
-
-      process_psymtab_comp_unit (per_cu, 0, language_minimal);
-    }
+  for (dwarf2_per_cu_data *per_cu : dwarf2_per_objfile->all_comp_units)
+    process_psymtab_comp_unit (per_cu, 0, language_minimal);
 
   /* This has to wait until we read the CUs, we need the list of DWOs.  */
-  process_skeletonless_type_units (objfile);
+  process_skeletonless_type_units (dwarf2_per_objfile);
 
   /* Now that all TUs have been processed we can fill in the dependencies.  */
   if (dwarf2_per_objfile->type_unit_groups != NULL)
     {
       htab_traverse_noresize (dwarf2_per_objfile->type_unit_groups,
-			      build_type_psymtab_dependencies, NULL);
+			      build_type_psymtab_dependencies, dwarf2_per_objfile);
     }
 
   if (dwarf_read_debug)
-    print_tu_stats ();
+    print_tu_stats (dwarf2_per_objfile);
 
-  set_partial_user (objfile);
+  set_partial_user (dwarf2_per_objfile);
 
   objfile->psymtabs_addrmap = addrmap_create_fixed (objfile->psymtabs_addrmap,
 						    &objfile->objfile_obstack);
   /* At this point we want to keep the address map.  */
   save_psymtabs_addrmap.release ();
 
-  do_cleanups (back_to);
-
   if (dwarf_read_debug)
     fprintf_unfiltered (gdb_stdlog, "Done building psymtabs of %s\n",
 			objfile_name (objfile));
@@ -8827,20 +8450,18 @@ load_partial_comp_unit_reader (const str
 static void
 load_partial_comp_unit (struct dwarf2_per_cu_data *this_cu)
 {
-  init_cutu_and_read_dies (this_cu, NULL, 1, 1,
+  init_cutu_and_read_dies (this_cu, NULL, 1, 1, false,
 			   load_partial_comp_unit_reader, NULL);
 }
 
 static void
-read_comp_units_from_section (struct objfile *objfile,
+read_comp_units_from_section (struct dwarf2_per_objfile *dwarf2_per_objfile,
 			      struct dwarf2_section_info *section,
 			      struct dwarf2_section_info *abbrev_section,
-			      unsigned int is_dwz,
-			      int *n_allocated,
-			      int *n_comp_units,
-			      struct dwarf2_per_cu_data ***all_comp_units)
+			      unsigned int is_dwz)
 {
   const gdb_byte *info_ptr;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
 
   if (dwarf_read_debug)
     fprintf_unfiltered (gdb_stdlog, "Reading %s for %s\n",
@@ -8858,8 +8479,9 @@ read_comp_units_from_section (struct obj
       sect_offset sect_off = (sect_offset) (info_ptr - section->buffer);
 
       comp_unit_head cu_header;
-      read_and_check_comp_unit_head (&cu_header, section, abbrev_section,
-				     info_ptr, rcuh_kind::COMPILE);
+      read_and_check_comp_unit_head (dwarf2_per_objfile, &cu_header, section,
+				     abbrev_section, info_ptr,
+				     rcuh_kind::COMPILE);
 
       /* Save the compilation unit for later lookup.  */
       if (cu_header.unit_type != DW_UT_type)
@@ -8881,17 +8503,10 @@ read_comp_units_from_section (struct obj
       this_cu->sect_off = sect_off;
       this_cu->length = cu_header.length + cu_header.initial_length_size;
       this_cu->is_dwz = is_dwz;
-      this_cu->objfile = objfile;
+      this_cu->dwarf2_per_objfile = dwarf2_per_objfile;
       this_cu->section = section;
 
-      if (*n_comp_units == *n_allocated)
-	{
-	  *n_allocated *= 2;
-	  *all_comp_units = XRESIZEVEC (struct dwarf2_per_cu_data *,
-					*all_comp_units, *n_allocated);
-	}
-      (*all_comp_units)[*n_comp_units] = this_cu;
-      ++*n_comp_units;
+      dwarf2_per_objfile->all_comp_units.push_back (this_cu);
 
       info_ptr = info_ptr + this_cu->length;
     }
@@ -8901,34 +8516,16 @@ read_comp_units_from_section (struct obj
    This is only done for -readnow and building partial symtabs.  */
 
 static void
-create_all_comp_units (struct objfile *objfile)
+create_all_comp_units (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
-  int n_allocated;
-  int n_comp_units;
-  struct dwarf2_per_cu_data **all_comp_units;
-  struct dwz_file *dwz;
-
-  n_comp_units = 0;
-  n_allocated = 10;
-  all_comp_units = XNEWVEC (struct dwarf2_per_cu_data *, n_allocated);
-
-  read_comp_units_from_section (objfile, &dwarf2_per_objfile->info,
-				&dwarf2_per_objfile->abbrev, 0,
-				&n_allocated, &n_comp_units, &all_comp_units);
+  gdb_assert (dwarf2_per_objfile->all_comp_units.empty ());
+  read_comp_units_from_section (dwarf2_per_objfile, &dwarf2_per_objfile->info,
+				&dwarf2_per_objfile->abbrev, 0);
 
-  dwz = dwarf2_get_dwz_file ();
+  dwz_file *dwz = dwarf2_get_dwz_file (dwarf2_per_objfile);
   if (dwz != NULL)
-    read_comp_units_from_section (objfile, &dwz->info, &dwz->abbrev, 1,
-				  &n_allocated, &n_comp_units,
-				  &all_comp_units);
-
-  dwarf2_per_objfile->all_comp_units = XOBNEWVEC (&objfile->objfile_obstack,
-						  struct dwarf2_per_cu_data *,
-						  n_comp_units);
-  memcpy (dwarf2_per_objfile->all_comp_units, all_comp_units,
-	  n_comp_units * sizeof (struct dwarf2_per_cu_data *));
-  xfree (all_comp_units);
-  dwarf2_per_objfile->n_comp_units = n_comp_units;
+    read_comp_units_from_section (dwarf2_per_objfile, &dwz->info, &dwz->abbrev,
+				  1);
 }
 
 /* Process all loaded DIEs for compilation unit CU, starting at
@@ -8952,7 +8549,7 @@ scan_partial_symbols (struct partial_die
 
   while (pdi != NULL)
     {
-      fixup_partial_die (pdi, cu);
+      pdi->fixup (cu);
 
       /* Anonymous namespaces or modules have no name but have interesting
 	 children, so we need to look at them.  Ditto for anonymous
@@ -8960,11 +8557,13 @@ scan_partial_symbols (struct partial_die
 
       if (pdi->name != NULL || pdi->tag == DW_TAG_namespace
 	  || pdi->tag == DW_TAG_module || pdi->tag == DW_TAG_enumeration_type
-	  || pdi->tag == DW_TAG_imported_unit)
+	  || pdi->tag == DW_TAG_imported_unit
+	  || pdi->tag == DW_TAG_inlined_subroutine)
 	{
 	  switch (pdi->tag)
 	    {
 	    case DW_TAG_subprogram:
+	    case DW_TAG_inlined_subroutine:
 	      add_partial_subprogram (pdi, lowpc, highpc, set_addrmap, cu);
 	      break;
 	    case DW_TAG_constant:
@@ -8983,7 +8582,8 @@ scan_partial_symbols (struct partial_die
 		{
 		  add_partial_symbol (pdi, cu);
 		}
-	      if (cu->language == language_rust && pdi->has_children)
+	      if ((cu->language == language_rust
+		   || cu->language == language_cplus) && pdi->has_children)
 		scan_partial_symbols (pdi->die_child, lowpc, highpc,
 				      set_addrmap, cu);
 	      break;
@@ -9012,12 +8612,12 @@ scan_partial_symbols (struct partial_die
 		  {
 		    error (_("Dwarf Error: DW_TAG_imported_unit is not"
 			     " supported in type units [in module %s]"),
-			   objfile_name (cu->objfile));
+			   objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
 		  }
 
-		per_cu = dwarf2_find_containing_comp_unit (pdi->d.sect_off,
-							   pdi->is_dwz,
-							   cu->objfile);
+		per_cu = dwarf2_find_containing_comp_unit
+			   (pdi->d.sect_off, pdi->is_dwz,
+			    cu->per_cu->dwarf2_per_objfile);
 
 		/* Go read the partial unit, if needed.  */
 		if (per_cu->v.psymtab == NULL)
@@ -9086,7 +8686,7 @@ partial_die_parent_scope (struct partial
   if (parent->scope_set)
     return parent->scope;
 
-  fixup_partial_die (parent, cu);
+  parent->fixup (cu);
 
   grandparent_scope = partial_die_parent_scope (parent, cu);
 
@@ -9126,9 +8726,8 @@ partial_die_parent_scope (struct partial
       /* FIXME drow/2004-04-01: What should we be doing with
 	 function-local names?  For partial symbols, we should probably be
 	 ignoring them.  */
-      complaint (&symfile_complaints,
-		 _("unhandled containing DIE tag %d for DIE at %d"),
-		 parent->tag, to_underlying (pdi->sect_off));
+      complaint (_("unhandled containing DIE tag %d for DIE at %s"),
+		 parent->tag, sect_offset_str (pdi->sect_off));
       parent->scope = grandparent_scope;
     }
 
@@ -9151,7 +8750,7 @@ partial_die_full_name (struct partial_di
      types here will be reused if full symbols are loaded later.  */
   if (pdi->has_template_arguments)
     {
-      fixup_partial_die (pdi, cu);
+      pdi->fixup (cu);
 
       if (pdi->name != NULL && strchr (pdi->name, '<') == NULL)
 	{
@@ -9179,7 +8778,9 @@ partial_die_full_name (struct partial_di
 static void
 add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   CORE_ADDR addr = 0;
   const char *actual_name = NULL;
@@ -9197,6 +8798,7 @@ add_partial_symbol (struct partial_die_i
 
   switch (pdi->tag)
     {
+    case DW_TAG_inlined_subroutine:
     case DW_TAG_subprogram:
       addr = gdbarch_adjust_dwarf2_addr (gdbarch, pdi->lowpc + baseaddr);
       if (pdi->is_external || cu->language == language_ada)
@@ -9394,12 +8996,12 @@ add_partial_module (struct partial_die_i
     scan_partial_symbols (pdi->die_child, lowpc, highpc, set_addrmap, cu);
 }
 
-/* Read a partial die corresponding to a subprogram and create a partial
-   symbol for that subprogram.  When the CU language allows it, this
-   routine also defines a partial symbol for each nested subprogram
-   that this subprogram contains.  If SET_ADDRMAP is true, record the
-   covered ranges in the addrmap.  Set *LOWPC and *HIGHPC to the lowest
-   and highest PC values found in PDI.
+/* Read a partial die corresponding to a subprogram or an inlined
+   subprogram and create a partial symbol for that subprogram.
+   When the CU language allows it, this routine also defines a partial
+   symbol for each nested subprogram that this subprogram contains.
+   If SET_ADDRMAP is true, record the covered ranges in the addrmap.
+   Set *LOWPC and *HIGHPC to the lowest and highest PC values found in PDI.
 
    PDI may also be a lexical block, in which case we simply search
    recursively for subprograms defined inside that lexical block.
@@ -9411,7 +9013,7 @@ add_partial_subprogram (struct partial_d
 			CORE_ADDR *lowpc, CORE_ADDR *highpc,
 			int set_addrmap, struct dwarf2_cu *cu)
 {
-  if (pdi->tag == DW_TAG_subprogram)
+  if (pdi->tag == DW_TAG_subprogram || pdi->tag == DW_TAG_inlined_subroutine)
     {
       if (pdi->has_pc_info)
         {
@@ -9421,7 +9023,7 @@ add_partial_subprogram (struct partial_d
             *highpc = pdi->highpc;
 	  if (set_addrmap)
 	    {
-	      struct objfile *objfile = cu->objfile;
+	      struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
 	      struct gdbarch *gdbarch = get_objfile_arch (objfile);
 	      CORE_ADDR baseaddr;
 	      CORE_ADDR highpc;
@@ -9457,8 +9059,9 @@ add_partial_subprogram (struct partial_d
       pdi = pdi->die_child;
       while (pdi != NULL)
 	{
-	  fixup_partial_die (pdi, cu);
+	  pdi->fixup (cu);
 	  if (pdi->tag == DW_TAG_subprogram
+	      || pdi->tag == DW_TAG_inlined_subroutine
 	      || pdi->tag == DW_TAG_lexical_block)
 	    add_partial_subprogram (pdi, lowpc, highpc, set_addrmap, cu);
 	  pdi = pdi->die_sibling;
@@ -9481,7 +9084,7 @@ add_partial_enumeration (struct partial_
   while (pdi)
     {
       if (pdi->tag != DW_TAG_enumerator || pdi->name == NULL)
-	complaint (&symfile_complaints, _("malformed enumerator DIE ignored"));
+	complaint (_("malformed enumerator DIE ignored"));
       else
 	add_partial_symbol (pdi, cu);
       pdi = pdi->die_sibling;
@@ -9498,31 +9101,32 @@ peek_abbrev_code (bfd *abfd, const gdb_b
   return read_unsigned_leb128 (abfd, info_ptr, &bytes_read);
 }
 
-/* Read the initial uleb128 in the die at INFO_PTR in compilation unit CU.
+/* Read the initial uleb128 in the die at INFO_PTR in compilation unit
+   READER::CU.  Use READER::ABBREV_TABLE to lookup any abbreviation.
+
    Return the corresponding abbrev, or NULL if the number is zero (indicating
    an empty DIE).  In either case *BYTES_READ will be set to the length of
    the initial number.  */
 
 static struct abbrev_info *
-peek_die_abbrev (const gdb_byte *info_ptr, unsigned int *bytes_read,
-		 struct dwarf2_cu *cu)
+peek_die_abbrev (const die_reader_specs &reader,
+		 const gdb_byte *info_ptr, unsigned int *bytes_read)
 {
-  bfd *abfd = cu->objfile->obfd;
-  unsigned int abbrev_number;
-  struct abbrev_info *abbrev;
-
-  abbrev_number = read_unsigned_leb128 (abfd, info_ptr, bytes_read);
+  dwarf2_cu *cu = reader.cu;
+  bfd *abfd = cu->per_cu->dwarf2_per_objfile->objfile->obfd;
+  unsigned int abbrev_number
+    = read_unsigned_leb128 (abfd, info_ptr, bytes_read);
 
   if (abbrev_number == 0)
     return NULL;
 
-  abbrev = abbrev_table_lookup_abbrev (cu->abbrev_table, abbrev_number);
+  abbrev_info *abbrev = reader.abbrev_table->lookup_abbrev (abbrev_number);
   if (!abbrev)
     {
       error (_("Dwarf Error: Could not find abbrev number %d in %s"
-	       " at offset 0x%x [in module %s]"),
+	       " at offset %s [in module %s]"),
 	     abbrev_number, cu->per_cu->is_debug_types ? "TU" : "CU",
-	     to_underlying (cu->header.sect_off), bfd_get_filename (abfd));
+	     sect_offset_str (cu->header.sect_off), bfd_get_filename (abfd));
     }
 
   return abbrev;
@@ -9535,13 +9139,11 @@ peek_die_abbrev (const gdb_byte *info_pt
 static const gdb_byte *
 skip_children (const struct die_reader_specs *reader, const gdb_byte *info_ptr)
 {
-  struct dwarf2_cu *cu = reader->cu;
-  struct abbrev_info *abbrev;
-  unsigned int bytes_read;
-
   while (1)
     {
-      abbrev = peek_die_abbrev (info_ptr, &bytes_read, cu);
+      unsigned int bytes_read;
+      abbrev_info *abbrev = peek_die_abbrev (*reader, info_ptr, &bytes_read);
+
       if (abbrev == NULL)
 	return info_ptr + bytes_read;
       else
@@ -9574,16 +9176,14 @@ skip_one_die (const struct die_reader_sp
 	{
 	  read_attribute (reader, &attr, &abbrev->attrs[i], info_ptr);
 	  if (attr.form == DW_FORM_ref_addr)
-	    complaint (&symfile_complaints,
-		       _("ignoring absolute DW_AT_sibling"));
+	    complaint (_("ignoring absolute DW_AT_sibling"));
 	  else
 	    {
 	      sect_offset off = dwarf2_get_ref_die_offset (&attr);
 	      const gdb_byte *sibling_ptr = buffer + to_underlying (off);
 
 	      if (sibling_ptr < info_ptr)
-		complaint (&symfile_complaints,
-			   _("DW_AT_sibling points backwards"));
+		complaint (_("DW_AT_sibling points backwards"));
 	      else if (sibling_ptr > reader->buffer_end)
 		dwarf2_section_buffer_overflow_complaint (reader->die_section);
 	      else
@@ -9715,6 +9315,9 @@ static void
 dwarf2_read_symtab (struct partial_symtab *self,
 		    struct objfile *objfile)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = get_dwarf2_per_objfile (objfile);
+
   if (self->readin)
     {
       warning (_("bug: psymtab for %s is already read in."),
@@ -9729,11 +9332,6 @@ dwarf2_read_symtab (struct partial_symta
 	  gdb_flush (gdb_stdout);
 	}
 
-      /* Restore our global data.  */
-      dwarf2_per_objfile
-	= (struct dwarf2_per_objfile *) objfile_data (objfile,
-						      dwarf2_objfile_data_key);
-
       /* If this psymtab is constructed from a debug-only objfile, the
 	 has_section_at_zero flag will not necessarily be correct.  We
 	 can get the correct value for this flag by looking at the data
@@ -9741,9 +9339,7 @@ dwarf2_read_symtab (struct partial_symta
       if (objfile->separate_debug_objfile_backlink)
 	{
 	  struct dwarf2_per_objfile *dpo_backlink
-	    = ((struct dwarf2_per_objfile *)
-	       objfile_data (objfile->separate_debug_objfile_backlink,
-			     dwarf2_objfile_data_key));
+	    = get_dwarf2_per_objfile (objfile->separate_debug_objfile_backlink);
 
 	  dwarf2_per_objfile->has_section_at_zero
 	    = dpo_backlink->has_section_at_zero;
@@ -9758,7 +9354,7 @@ dwarf2_read_symtab (struct partial_symta
 	printf_filtered (_("done.\n"));
     }
 
-  process_cu_includes ();
+  process_cu_includes (dwarf2_per_objfile);
 }
 
 /* Reading in full CUs.  */
@@ -9802,7 +9398,7 @@ maybe_queue_comp_unit (struct dwarf2_cu 
   /* We may arrive here during partial symbol reading, if we need full
      DIEs to process an unusual case (e.g. template arguments).  Do
      not queue PER_CU, just tell our caller to load its DIEs.  */
-  if (dwarf2_per_objfile->reading_partial_symbols)
+  if (per_cu->dwarf2_per_objfile->reading_partial_symbols)
     {
       if (per_cu->cu == NULL || per_cu->cu->dies == NULL)
 	return 1;
@@ -9835,7 +9431,7 @@ maybe_queue_comp_unit (struct dwarf2_cu 
 /* Process the queue.  */
 
 static void
-process_queue (void)
+process_queue (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
   struct dwarf2_queue_item *item, *next_item;
 
@@ -9865,17 +9461,17 @@ process_queue (void)
 	      struct signatured_type *sig_type =
 		(struct signatured_type *) per_cu;
 
-	      sprintf (buf, "TU %s at offset 0x%x",
+	      sprintf (buf, "TU %s at offset %s",
 		       hex_string (sig_type->signature),
-		       to_underlying (per_cu->sect_off));
+		       sect_offset_str (per_cu->sect_off));
 	      /* There can be 100s of TUs.
 		 Only print them in verbose mode.  */
 	      debug_print_threshold = 2;
 	    }
 	  else
 	    {
-	      sprintf (buf, "CU at offset 0x%x",
-		       to_underlying (per_cu->sect_off));
+	      sprintf (buf, "CU at offset %s",
+		       sect_offset_str (per_cu->sect_off));
 	      debug_print_threshold = 1;
 	    }
 
@@ -9905,35 +9501,6 @@ process_queue (void)
     }
 }
 
-/* Free all allocated queue entries.  This function only releases anything if
-   an error was thrown; if the queue was processed then it would have been
-   freed as we went along.  */
-
-static void
-dwarf2_release_queue (void *dummy)
-{
-  struct dwarf2_queue_item *item, *last;
-
-  item = dwarf2_queue;
-  while (item)
-    {
-      /* Anything still marked queued is likely to be in an
-	 inconsistent state, so discard it.  */
-      if (item->per_cu->queued)
-	{
-	  if (item->per_cu->cu != NULL)
-	    free_one_cached_comp_unit (item->per_cu);
-	  item->per_cu->queued = 0;
-	}
-
-      last = item;
-      item = item->next;
-      xfree (last);
-    }
-
-  dwarf2_queue = dwarf2_queue_tail = NULL;
-}
-
 /* Read in full symbols for PST, and anything it depends on.  */
 
 static void
@@ -9974,7 +9541,7 @@ psymtab_to_symtab_1 (struct partial_symt
       return;
     }
 
-  dw2_do_instantiate_symtab (per_cu);
+  dw2_do_instantiate_symtab (per_cu, false);
 }
 
 /* Trivial hash function for die_info: the hash value of a DIE
@@ -10043,11 +9610,12 @@ load_full_comp_unit_reader (const struct
 
 static void
 load_full_comp_unit (struct dwarf2_per_cu_data *this_cu,
+		     bool skip_partial,
 		     enum language pretend_language)
 {
   gdb_assert (! this_cu->is_debug_types);
 
-  init_cutu_and_read_dies (this_cu, NULL, 1, 1,
+  init_cutu_and_read_dies (this_cu, NULL, 1, 1, skip_partial,
 			   load_full_comp_unit_reader, &pretend_language);
 }
 
@@ -10064,20 +9632,7 @@ add_to_method_list (struct type *type, i
   mi.index = index;
   mi.name = name;
   mi.die = die;
-  VEC_safe_push (delayed_method_info, cu->method_list, &mi);
-}
-
-/* A cleanup for freeing the delayed method list.  */
-
-static void
-free_delayed_list (void *ptr)
-{
-  struct dwarf2_cu *cu = (struct dwarf2_cu *) ptr;
-  if (cu->method_list != NULL)
-    {
-      VEC_free (delayed_method_info, cu->method_list);
-      cu->method_list = NULL;
-    }
+  cu->method_list.push_back (mi);
 }
 
 /* Check whether [PHYSNAME, PHYSNAME+LEN) ends with a modifier like
@@ -10106,21 +9661,18 @@ check_modifier (const char *physname, si
 static void
 compute_delayed_physnames (struct dwarf2_cu *cu)
 {
-  int i;
-  struct delayed_method_info *mi;
-
   /* Only C++ delays computing physnames.  */
-  if (VEC_empty (delayed_method_info, cu->method_list))
+  if (cu->method_list.empty ())
     return;
   gdb_assert (cu->language == language_cplus);
 
-  for (i = 0; VEC_iterate (delayed_method_info, cu->method_list, i, mi) ; ++i)
+  for (const delayed_method_info &mi : cu->method_list)
     {
       const char *physname;
       struct fn_fieldlist *fn_flp
-	= &TYPE_FN_FIELDLIST (mi->type, mi->fnfield_index);
-      physname = dwarf2_physname (mi->name, mi->die, cu);
-      TYPE_FN_FIELD_PHYSNAME (fn_flp->fn_fields, mi->index)
+	= &TYPE_FN_FIELDLIST (mi.type, mi.fnfield_index);
+      physname = dwarf2_physname (mi.name, mi.die, cu);
+      TYPE_FN_FIELD_PHYSNAME (fn_flp->fn_fields, mi.index)
 	= physname ? physname : "";
 
       /* Since there's no tag to indicate whether a method is a
@@ -10135,14 +9687,17 @@ compute_delayed_physnames (struct dwarf2
 	      if (physname[len] == ')') /* shortcut */
 		break;
 	      else if (check_modifier (physname, len, " const"))
-		TYPE_FN_FIELD_CONST (fn_flp->fn_fields, mi->index) = 1;
+		TYPE_FN_FIELD_CONST (fn_flp->fn_fields, mi.index) = 1;
 	      else if (check_modifier (physname, len, " volatile"))
-		TYPE_FN_FIELD_VOLATILE (fn_flp->fn_fields, mi->index) = 1;
+		TYPE_FN_FIELD_VOLATILE (fn_flp->fn_fields, mi.index) = 1;
 	      else
 		break;
 	    }
 	}
     }
+
+  /* The list is no longer needed.  */
+  cu->method_list.clear ();
 }
 
 /* Go objects should be embedded in a DW_TAG_module DIE,
@@ -10180,13 +9735,14 @@ fixup_go_packaging (struct dwarf2_cu *cu
 		package_name = this_package_name;
 	      else
 		{
+		  struct objfile *objfile
+		    = cu->per_cu->dwarf2_per_objfile->objfile;
 		  if (strcmp (package_name, this_package_name) != 0)
-		    complaint (&symfile_complaints,
-			       _("Symtab %s has objects from two different Go packages: %s and %s"),
+		    complaint (_("Symtab %s has objects from two different Go packages: %s and %s"),
 			       (symbol_symtab (sym) != NULL
 				? symtab_to_filename_for_display
 				    (symbol_symtab (sym))
-				: objfile_name (cu->objfile)),
+				: objfile_name (objfile)),
 			       this_package_name, package_name);
 		  xfree (this_package_name);
 		}
@@ -10196,7 +9752,7 @@ fixup_go_packaging (struct dwarf2_cu *cu
 
   if (package_name != NULL)
     {
-      struct objfile *objfile = cu->objfile;
+      struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
       const char *saved_package_name
 	= (const char *) obstack_copy0 (&objfile->per_bfd->storage_obstack,
 					package_name,
@@ -10205,8 +9761,6 @@ fixup_go_packaging (struct dwarf2_cu *cu
 				     saved_package_name);
       struct symbol *sym;
 
-      TYPE_TAG_NAME (type) = TYPE_NAME (type);
-
       sym = allocate_symbol (objfile);
       SYMBOL_SET_LANGUAGE (sym, language_go, &objfile->objfile_obstack);
       SYMBOL_SET_NAMES (sym, saved_package_name,
@@ -10223,87 +9777,399 @@ fixup_go_packaging (struct dwarf2_cu *cu
     }
 }
 
-/* Return the symtab for PER_CU.  This works properly regardless of
-   whether we're using the index or psymtabs.  */
+/* Allocate a fully-qualified name consisting of the two parts on the
+   obstack.  */
 
-static struct compunit_symtab *
-get_compunit_symtab (struct dwarf2_per_cu_data *per_cu)
+static const char *
+rust_fully_qualify (struct obstack *obstack, const char *p1, const char *p2)
 {
-  return (dwarf2_per_objfile->using_index
-	  ? per_cu->v.quick->compunit_symtab
-	  : per_cu->v.psymtab->compunit_symtab);
+  return obconcat (obstack, p1, "::", p2, (char *) NULL);
 }
 
-/* A helper function for computing the list of all symbol tables
-   included by PER_CU.  */
+/* A helper that allocates a struct discriminant_info to attach to a
+   union type.  */
 
-static void
-recursively_compute_inclusions (VEC (compunit_symtab_ptr) **result,
-				htab_t all_children, htab_t all_type_symtabs,
-				struct dwarf2_per_cu_data *per_cu,
-				struct compunit_symtab *immediate_parent)
-{
-  void **slot;
-  int ix;
-  struct compunit_symtab *cust;
-  struct dwarf2_per_cu_data *iter;
+static struct discriminant_info *
+alloc_discriminant_info (struct type *type, int discriminant_index,
+			 int default_index)
+{
+  gdb_assert (TYPE_CODE (type) == TYPE_CODE_UNION);
+  gdb_assert (discriminant_index == -1
+	      || (discriminant_index >= 0
+		  && discriminant_index < TYPE_NFIELDS (type)));
+  gdb_assert (default_index == -1
+	      || (default_index >= 0 && default_index < TYPE_NFIELDS (type)));
+
+  TYPE_FLAG_DISCRIMINATED_UNION (type) = 1;
+
+  struct discriminant_info *disc
+    = ((struct discriminant_info *)
+       TYPE_ZALLOC (type,
+		    offsetof (struct discriminant_info, discriminants)
+		    + TYPE_NFIELDS (type) * sizeof (disc->discriminants[0])));
+  disc->default_index = default_index;
+  disc->discriminant_index = discriminant_index;
 
-  slot = htab_find_slot (all_children, per_cu, INSERT);
-  if (*slot != NULL)
-    {
-      /* This inclusion and its children have been processed.  */
-      return;
-    }
+  struct dynamic_prop prop;
+  prop.kind = PROP_UNDEFINED;
+  prop.data.baton = disc;
 
-  *slot = per_cu;
-  /* Only add a CU if it has a symbol table.  */
-  cust = get_compunit_symtab (per_cu);
-  if (cust != NULL)
-    {
-      /* If this is a type unit only add its symbol table if we haven't
-	 seen it yet (type unit per_cu's can share symtabs).  */
-      if (per_cu->is_debug_types)
-	{
-	  slot = htab_find_slot (all_type_symtabs, cust, INSERT);
-	  if (*slot == NULL)
-	    {
-	      *slot = cust;
-	      VEC_safe_push (compunit_symtab_ptr, *result, cust);
-	      if (cust->user == NULL)
-		cust->user = immediate_parent;
-	    }
-	}
-      else
-	{
-	  VEC_safe_push (compunit_symtab_ptr, *result, cust);
-	  if (cust->user == NULL)
-	    cust->user = immediate_parent;
-	}
-    }
+  add_dyn_prop (DYN_PROP_DISCRIMINATED, prop, type);
 
-  for (ix = 0;
-       VEC_iterate (dwarf2_per_cu_ptr, per_cu->imported_symtabs, ix, iter);
-       ++ix)
-    {
-      recursively_compute_inclusions (result, all_children,
-				      all_type_symtabs, iter, cust);
-    }
+  return disc;
 }
 
-/* Compute the compunit_symtab 'includes' fields for the compunit_symtab of
-   PER_CU.  */
+/* Some versions of rustc emitted enums in an unusual way.
+
+   Ordinary enums were emitted as unions.  The first element of each
+   structure in the union was named "RUST$ENUM$DISR".  This element
+   held the discriminant.
+
+   These versions of Rust also implemented the "non-zero"
+   optimization.  When the enum had two values, and one is empty and
+   the other holds a pointer that cannot be zero, the pointer is used
+   as the discriminant, with a zero value meaning the empty variant.
+   Here, the union's first member is of the form
+   RUST$ENCODED$ENUM$<fieldno>$<fieldno>$...$<variantname>
+   where the fieldnos are the indices of the fields that should be
+   traversed in order to find the field (which may be several fields deep)
+   and the variantname is the name of the variant of the case when the
+   field is zero.
+
+   This function recognizes whether TYPE is of one of these forms,
+   and, if so, smashes it to be a variant type.  */
 
 static void
-compute_compunit_symtab_includes (struct dwarf2_per_cu_data *per_cu)
+quirk_rust_enum (struct type *type, struct objfile *objfile)
 {
-  gdb_assert (! per_cu->is_debug_types);
+  gdb_assert (TYPE_CODE (type) == TYPE_CODE_UNION);
 
-  if (!VEC_empty (dwarf2_per_cu_ptr, per_cu->imported_symtabs))
-    {
-      int ix, len;
-      struct dwarf2_per_cu_data *per_cu_iter;
-      struct compunit_symtab *compunit_symtab_iter;
-      VEC (compunit_symtab_ptr) *result_symtabs = NULL;
+  /* We don't need to deal with empty enums.  */
+  if (TYPE_NFIELDS (type) == 0)
+    return;
+
+#define RUST_ENUM_PREFIX "RUST$ENCODED$ENUM$"
+  if (TYPE_NFIELDS (type) == 1
+      && startswith (TYPE_FIELD_NAME (type, 0), RUST_ENUM_PREFIX))
+    {
+      const char *name = TYPE_FIELD_NAME (type, 0) + strlen (RUST_ENUM_PREFIX);
+
+      /* Decode the field name to find the offset of the
+	 discriminant.  */
+      ULONGEST bit_offset = 0;
+      struct type *field_type = TYPE_FIELD_TYPE (type, 0);
+      while (name[0] >= '0' && name[0] <= '9')
+	{
+	  char *tail;
+	  unsigned long index = strtoul (name, &tail, 10);
+	  name = tail;
+	  if (*name != '$'
+	      || index >= TYPE_NFIELDS (field_type)
+	      || (TYPE_FIELD_LOC_KIND (field_type, index)
+		  != FIELD_LOC_KIND_BITPOS))
+	    {
+	      complaint (_("Could not parse Rust enum encoding string \"%s\""
+			   "[in module %s]"),
+			 TYPE_FIELD_NAME (type, 0),
+			 objfile_name (objfile));
+	      return;
+	    }
+	  ++name;
+
+	  bit_offset += TYPE_FIELD_BITPOS (field_type, index);
+	  field_type = TYPE_FIELD_TYPE (field_type, index);
+	}
+
+      /* Make a union to hold the variants.  */
+      struct type *union_type = alloc_type (objfile);
+      TYPE_CODE (union_type) = TYPE_CODE_UNION;
+      TYPE_NFIELDS (union_type) = 3;
+      TYPE_FIELDS (union_type)
+	= (struct field *) TYPE_ZALLOC (type, 3 * sizeof (struct field));
+      TYPE_LENGTH (union_type) = TYPE_LENGTH (type);
+      set_type_align (union_type, TYPE_RAW_ALIGN (type));
+
+      /* Put the discriminant must at index 0.  */
+      TYPE_FIELD_TYPE (union_type, 0) = field_type;
+      TYPE_FIELD_ARTIFICIAL (union_type, 0) = 1;
+      TYPE_FIELD_NAME (union_type, 0) = "<<discriminant>>";
+      SET_FIELD_BITPOS (TYPE_FIELD (union_type, 0), bit_offset);
+
+      /* The order of fields doesn't really matter, so put the real
+	 field at index 1 and the data-less field at index 2.  */
+      struct discriminant_info *disc
+	= alloc_discriminant_info (union_type, 0, 1);
+      TYPE_FIELD (union_type, 1) = TYPE_FIELD (type, 0);
+      TYPE_FIELD_NAME (union_type, 1)
+	= rust_last_path_segment (TYPE_NAME (TYPE_FIELD_TYPE (union_type, 1)));
+      TYPE_NAME (TYPE_FIELD_TYPE (union_type, 1))
+	= rust_fully_qualify (&objfile->objfile_obstack, TYPE_NAME (type),
+			      TYPE_FIELD_NAME (union_type, 1));
+
+      const char *dataless_name
+	= rust_fully_qualify (&objfile->objfile_obstack, TYPE_NAME (type),
+			      name);
+      struct type *dataless_type = init_type (objfile, TYPE_CODE_VOID, 0,
+					      dataless_name);
+      TYPE_FIELD_TYPE (union_type, 2) = dataless_type;
+      /* NAME points into the original discriminant name, which
+	 already has the correct lifetime.  */
+      TYPE_FIELD_NAME (union_type, 2) = name;
+      SET_FIELD_BITPOS (TYPE_FIELD (union_type, 2), 0);
+      disc->discriminants[2] = 0;
+
+      /* Smash this type to be a structure type.  We have to do this
+	 because the type has already been recorded.  */
+      TYPE_CODE (type) = TYPE_CODE_STRUCT;
+      TYPE_NFIELDS (type) = 1;
+      TYPE_FIELDS (type)
+	= (struct field *) TYPE_ZALLOC (type, sizeof (struct field));
+
+      /* Install the variant part.  */
+      TYPE_FIELD_TYPE (type, 0) = union_type;
+      SET_FIELD_BITPOS (TYPE_FIELD (type, 0), 0);
+      TYPE_FIELD_NAME (type, 0) = "<<variants>>";
+    }
+  else if (TYPE_NFIELDS (type) == 1)
+    {
+      /* We assume that a union with a single field is a univariant
+	 enum.  */
+      /* Smash this type to be a structure type.  We have to do this
+	 because the type has already been recorded.  */
+      TYPE_CODE (type) = TYPE_CODE_STRUCT;
+
+      /* Make a union to hold the variants.  */
+      struct type *union_type = alloc_type (objfile);
+      TYPE_CODE (union_type) = TYPE_CODE_UNION;
+      TYPE_NFIELDS (union_type) = TYPE_NFIELDS (type);
+      TYPE_LENGTH (union_type) = TYPE_LENGTH (type);
+      set_type_align (union_type, TYPE_RAW_ALIGN (type));
+      TYPE_FIELDS (union_type) = TYPE_FIELDS (type);
+
+      struct type *field_type = TYPE_FIELD_TYPE (union_type, 0);
+      const char *variant_name
+	= rust_last_path_segment (TYPE_NAME (field_type));
+      TYPE_FIELD_NAME (union_type, 0) = variant_name;
+      TYPE_NAME (field_type)
+	= rust_fully_qualify (&objfile->objfile_obstack,
+			      TYPE_NAME (type), variant_name);
+
+      /* Install the union in the outer struct type.  */
+      TYPE_NFIELDS (type) = 1;
+      TYPE_FIELDS (type)
+	= (struct field *) TYPE_ZALLOC (union_type, sizeof (struct field));
+      TYPE_FIELD_TYPE (type, 0) = union_type;
+      TYPE_FIELD_NAME (type, 0) = "<<variants>>";
+      SET_FIELD_BITPOS (TYPE_FIELD (type, 0), 0);
+
+      alloc_discriminant_info (union_type, -1, 0);
+    }
+  else
+    {
+      struct type *disr_type = nullptr;
+      for (int i = 0; i < TYPE_NFIELDS (type); ++i)
+	{
+	  disr_type = TYPE_FIELD_TYPE (type, i);
+
+	  if (TYPE_CODE (disr_type) != TYPE_CODE_STRUCT)
+	    {
+	      /* All fields of a true enum will be structs.  */
+	      return;
+	    }
+	  else if (TYPE_NFIELDS (disr_type) == 0)
+	    {
+	      /* Could be data-less variant, so keep going.  */
+	      disr_type = nullptr;
+	    }
+	  else if (strcmp (TYPE_FIELD_NAME (disr_type, 0),
+			   "RUST$ENUM$DISR") != 0)
+	    {
+	      /* Not a Rust enum.  */
+	      return;
+	    }
+	  else
+	    {
+	      /* Found one.  */
+	      break;
+	    }
+	}
+
+      /* If we got here without a discriminant, then it's probably
+	 just a union.  */
+      if (disr_type == nullptr)
+	return;
+
+      /* Smash this type to be a structure type.  We have to do this
+	 because the type has already been recorded.  */
+      TYPE_CODE (type) = TYPE_CODE_STRUCT;
+
+      /* Make a union to hold the variants.  */
+      struct field *disr_field = &TYPE_FIELD (disr_type, 0);
+      struct type *union_type = alloc_type (objfile);
+      TYPE_CODE (union_type) = TYPE_CODE_UNION;
+      TYPE_NFIELDS (union_type) = 1 + TYPE_NFIELDS (type);
+      TYPE_LENGTH (union_type) = TYPE_LENGTH (type);
+      set_type_align (union_type, TYPE_RAW_ALIGN (type));
+      TYPE_FIELDS (union_type)
+	= (struct field *) TYPE_ZALLOC (union_type,
+					(TYPE_NFIELDS (union_type)
+					 * sizeof (struct field)));
+
+      memcpy (TYPE_FIELDS (union_type) + 1, TYPE_FIELDS (type),
+	      TYPE_NFIELDS (type) * sizeof (struct field));
+
+      /* Install the discriminant at index 0 in the union.  */
+      TYPE_FIELD (union_type, 0) = *disr_field;
+      TYPE_FIELD_ARTIFICIAL (union_type, 0) = 1;
+      TYPE_FIELD_NAME (union_type, 0) = "<<discriminant>>";
+
+      /* Install the union in the outer struct type.  */
+      TYPE_FIELD_TYPE (type, 0) = union_type;
+      TYPE_FIELD_NAME (type, 0) = "<<variants>>";
+      TYPE_NFIELDS (type) = 1;
+
+      /* Set the size and offset of the union type.  */
+      SET_FIELD_BITPOS (TYPE_FIELD (type, 0), 0);
+
+      /* We need a way to find the correct discriminant given a
+	 variant name.  For convenience we build a map here.  */
+      struct type *enum_type = FIELD_TYPE (*disr_field);
+      std::unordered_map<std::string, ULONGEST> discriminant_map;
+      for (int i = 0; i < TYPE_NFIELDS (enum_type); ++i)
+	{
+	  if (TYPE_FIELD_LOC_KIND (enum_type, i) == FIELD_LOC_KIND_ENUMVAL)
+	    {
+	      const char *name
+		= rust_last_path_segment (TYPE_FIELD_NAME (enum_type, i));
+	      discriminant_map[name] = TYPE_FIELD_ENUMVAL (enum_type, i);
+	    }
+	}
+
+      int n_fields = TYPE_NFIELDS (union_type);
+      struct discriminant_info *disc
+	= alloc_discriminant_info (union_type, 0, -1);
+      /* Skip the discriminant here.  */
+      for (int i = 1; i < n_fields; ++i)
+	{
+	  /* Find the final word in the name of this variant's type.
+	     That name can be used to look up the correct
+	     discriminant.  */
+	  const char *variant_name
+	    = rust_last_path_segment (TYPE_NAME (TYPE_FIELD_TYPE (union_type,
+								  i)));
+
+	  auto iter = discriminant_map.find (variant_name);
+	  if (iter != discriminant_map.end ())
+	    disc->discriminants[i] = iter->second;
+
+	  /* Remove the discriminant field, if it exists.  */
+	  struct type *sub_type = TYPE_FIELD_TYPE (union_type, i);
+	  if (TYPE_NFIELDS (sub_type) > 0)
+	    {
+	      --TYPE_NFIELDS (sub_type);
+	      ++TYPE_FIELDS (sub_type);
+	    }
+	  TYPE_FIELD_NAME (union_type, i) = variant_name;
+	  TYPE_NAME (sub_type)
+	    = rust_fully_qualify (&objfile->objfile_obstack,
+				  TYPE_NAME (type), variant_name);
+	}
+    }
+}
+
+/* Rewrite some Rust unions to be structures with variants parts.  */
+
+static void
+rust_union_quirks (struct dwarf2_cu *cu)
+{
+  gdb_assert (cu->language == language_rust);
+  for (type *type_ : cu->rust_unions)
+    quirk_rust_enum (type_, cu->per_cu->dwarf2_per_objfile->objfile);
+  /* We don't need this any more.  */
+  cu->rust_unions.clear ();
+}
+
+/* Return the symtab for PER_CU.  This works properly regardless of
+   whether we're using the index or psymtabs.  */
+
+static struct compunit_symtab *
+get_compunit_symtab (struct dwarf2_per_cu_data *per_cu)
+{
+  return (per_cu->dwarf2_per_objfile->using_index
+	  ? per_cu->v.quick->compunit_symtab
+	  : per_cu->v.psymtab->compunit_symtab);
+}
+
+/* A helper function for computing the list of all symbol tables
+   included by PER_CU.  */
+
+static void
+recursively_compute_inclusions (VEC (compunit_symtab_ptr) **result,
+				htab_t all_children, htab_t all_type_symtabs,
+				struct dwarf2_per_cu_data *per_cu,
+				struct compunit_symtab *immediate_parent)
+{
+  void **slot;
+  int ix;
+  struct compunit_symtab *cust;
+  struct dwarf2_per_cu_data *iter;
+
+  slot = htab_find_slot (all_children, per_cu, INSERT);
+  if (*slot != NULL)
+    {
+      /* This inclusion and its children have been processed.  */
+      return;
+    }
+
+  *slot = per_cu;
+  /* Only add a CU if it has a symbol table.  */
+  cust = get_compunit_symtab (per_cu);
+  if (cust != NULL)
+    {
+      /* If this is a type unit only add its symbol table if we haven't
+	 seen it yet (type unit per_cu's can share symtabs).  */
+      if (per_cu->is_debug_types)
+	{
+	  slot = htab_find_slot (all_type_symtabs, cust, INSERT);
+	  if (*slot == NULL)
+	    {
+	      *slot = cust;
+	      VEC_safe_push (compunit_symtab_ptr, *result, cust);
+	      if (cust->user == NULL)
+		cust->user = immediate_parent;
+	    }
+	}
+      else
+	{
+	  VEC_safe_push (compunit_symtab_ptr, *result, cust);
+	  if (cust->user == NULL)
+	    cust->user = immediate_parent;
+	}
+    }
+
+  for (ix = 0;
+       VEC_iterate (dwarf2_per_cu_ptr, per_cu->imported_symtabs, ix, iter);
+       ++ix)
+    {
+      recursively_compute_inclusions (result, all_children,
+				      all_type_symtabs, iter, cust);
+    }
+}
+
+/* Compute the compunit_symtab 'includes' fields for the compunit_symtab of
+   PER_CU.  */
+
+static void
+compute_compunit_symtab_includes (struct dwarf2_per_cu_data *per_cu)
+{
+  gdb_assert (! per_cu->is_debug_types);
+
+  if (!VEC_empty (dwarf2_per_cu_ptr, per_cu->imported_symtabs))
+    {
+      int ix, len;
+      struct dwarf2_per_cu_data *per_cu_iter;
+      struct compunit_symtab *compunit_symtab_iter;
+      VEC (compunit_symtab_ptr) *result_symtabs = NULL;
       htab_t all_children, all_type_symtabs;
       struct compunit_symtab *cust = get_compunit_symtab (per_cu);
 
@@ -10329,7 +10195,7 @@ compute_compunit_symtab_includes (struct
       /* Now we have a transitive closure of all the included symtabs.  */
       len = VEC_length (compunit_symtab_ptr, result_symtabs);
       cust->includes
-	= XOBNEWVEC (&dwarf2_per_objfile->objfile->objfile_obstack,
+	= XOBNEWVEC (&per_cu->dwarf2_per_objfile->objfile->objfile_obstack,
 		     struct compunit_symtab *, len + 1);
       for (ix = 0;
 	   VEC_iterate (compunit_symtab_ptr, result_symtabs, ix,
@@ -10348,21 +10214,15 @@ compute_compunit_symtab_includes (struct
    read.  */
 
 static void
-process_cu_includes (void)
+process_cu_includes (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
-  int ix;
-  struct dwarf2_per_cu_data *iter;
-
-  for (ix = 0;
-       VEC_iterate (dwarf2_per_cu_ptr, dwarf2_per_objfile->just_read_cus,
-		    ix, iter);
-       ++ix)
+  for (dwarf2_per_cu_data *iter : dwarf2_per_objfile->just_read_cus)
     {
       if (! iter->is_debug_types)
 	compute_compunit_symtab_includes (iter);
     }
 
-  VEC_free (dwarf2_per_cu_ptr, dwarf2_per_objfile->just_read_cus);
+  dwarf2_per_objfile->just_read_cus.clear ();
 }
 
 /* Generate full symbol information for PER_CU, whose DIEs have
@@ -10373,11 +10233,11 @@ process_full_comp_unit (struct dwarf2_pe
 			enum language pretend_language)
 {
   struct dwarf2_cu *cu = per_cu->cu;
-  struct objfile *objfile = per_cu->objfile;
+  struct dwarf2_per_objfile *dwarf2_per_objfile = per_cu->dwarf2_per_objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   CORE_ADDR lowpc, highpc;
   struct compunit_symtab *cust;
-  struct cleanup *delayed_list_cleanup;
   CORE_ADDR baseaddr;
   struct block *static_block;
   CORE_ADDR addr;
@@ -10386,7 +10246,9 @@ process_full_comp_unit (struct dwarf2_pe
 
   buildsym_init ();
   scoped_free_pendings free_pending;
-  delayed_list_cleanup = make_cleanup (free_delayed_list, cu);
+
+  /* Clear the list here in case something was left over.  */
+  cu->method_list.clear ();
 
   cu->list_in_scope = &file_symbols;
 
@@ -10404,7 +10266,9 @@ process_full_comp_unit (struct dwarf2_pe
      should be complete, and it should now be safe to compute all of the
      physnames.  */
   compute_delayed_physnames (cu);
-  do_cleanups (delayed_list_cleanup);
+
+  if (cu->language == language_rust)
+    rust_union_quirks (cu);
 
   /* Some compilers don't define a DW_AT_high_pc attribute for the
      compilation unit.  If the DW_AT_high_pc is missing, synthesize
@@ -10466,7 +10330,7 @@ process_full_comp_unit (struct dwarf2_pe
     }
 
   /* Push it for inclusion processing later.  */
-  VEC_safe_push (dwarf2_per_cu_ptr, dwarf2_per_objfile->just_read_cus, per_cu);
+  dwarf2_per_objfile->just_read_cus.push_back (per_cu);
 }
 
 /* Generate full symbol information for type unit PER_CU, whose DIEs have
@@ -10477,9 +10341,9 @@ process_full_type_unit (struct dwarf2_pe
 			enum language pretend_language)
 {
   struct dwarf2_cu *cu = per_cu->cu;
-  struct objfile *objfile = per_cu->objfile;
+  struct dwarf2_per_objfile *dwarf2_per_objfile = per_cu->dwarf2_per_objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct compunit_symtab *cust;
-  struct cleanup *delayed_list_cleanup;
   struct signatured_type *sig_type;
 
   gdb_assert (per_cu->is_debug_types);
@@ -10487,7 +10351,9 @@ process_full_type_unit (struct dwarf2_pe
 
   buildsym_init ();
   scoped_free_pendings free_pending;
-  delayed_list_cleanup = make_cleanup (free_delayed_list, cu);
+
+  /* Clear the list here in case something was left over.  */
+  cu->method_list.clear ();
 
   cu->list_in_scope = &file_symbols;
 
@@ -10505,7 +10371,9 @@ process_full_type_unit (struct dwarf2_pe
      should be complete, and it should now be safe to compute all of the
      physnames.  */
   compute_delayed_physnames (cu);
-  do_cleanups (delayed_list_cleanup);
+
+  if (cu->language == language_rust)
+    rust_union_quirks (cu);
 
   /* TUs share symbol tables.
      If this is the first TU to use this symtab, complete the construction
@@ -10555,7 +10423,7 @@ process_imported_unit_die (struct die_in
     {
       error (_("Dwarf Error: DW_TAG_imported_unit is not"
 	       " supported in type units [in module %s]"),
-	     objfile_name (cu->objfile));
+	     objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
     }
 
   attr = dwarf2_attr (die, DW_AT_import, cu);
@@ -10564,11 +10432,12 @@ process_imported_unit_die (struct die_in
       sect_offset sect_off = dwarf2_get_ref_die_offset (attr);
       bool is_dwz = (attr->form == DW_FORM_GNU_ref_alt || cu->per_cu->is_dwz);
       dwarf2_per_cu_data *per_cu
-	= dwarf2_find_containing_comp_unit (sect_off, is_dwz, cu->objfile);
+	= dwarf2_find_containing_comp_unit (sect_off, is_dwz,
+					    cu->per_cu->dwarf2_per_objfile);
 
       /* If necessary, add it to the queue and load its DIEs.  */
       if (maybe_queue_comp_unit (cu, per_cu, cu->language))
-	load_full_comp_unit (per_cu, cu->language);
+	load_full_comp_unit (per_cu, false, cu->language);
 
       VEC_safe_push (dwarf2_per_cu_ptr, cu->per_cu->imported_symtabs,
 		     per_cu);
@@ -10685,12 +10554,13 @@ process_die (struct die_info *die, struc
       cu->processing_has_namespace_info = 1;
       if (read_namespace_alias (die, cu))
 	break;
-      /* The declaration is not a global namespace alias: fall through.  */
+      /* The declaration is not a global namespace alias.  */
+      /* Fall through.  */
     case DW_TAG_imported_module:
       cu->processing_has_namespace_info = 1;
       if (die->child != NULL && (die->tag == DW_TAG_imported_declaration
 				 || cu->language != language_fortran))
-	complaint (&symfile_complaints, _("Tag '%s' has unexpected children"),
+	complaint (_("Tag '%s' has unexpected children"),
 		   dwarf_tag_name (die->tag));
       read_import_statement (die, cu);
       break;
@@ -10821,7 +10691,7 @@ dwarf2_compute_name (const char *name,
 		     struct die_info *die, struct dwarf2_cu *cu,
 		     int physname)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
 
   if (name == NULL)
     name = dwarf2_name (die, cu);
@@ -10830,7 +10700,7 @@ dwarf2_compute_name (const char *name,
      but otherwise compute it by typename_concat inside GDB.
      FIXME: Actually this is not really true, or at least not always true.
      It's all very confusing.  SYMBOL_SET_NAMES doesn't try to demangle
-     Fortran names because there is no mangling standard.  So new_symbol_full
+     Fortran names because there is no mangling standard.  So new_symbol
      will set the demangled name to the result of dwarf2_full_name, and it is
      the demangled name that GDB uses if it exists.  */
   if (cu->language == language_ada
@@ -10924,8 +10794,7 @@ dwarf2_compute_name (const char *name,
 		  attr = dwarf2_attr (child, DW_AT_type, cu);
 		  if (attr == NULL)
 		    {
-		      complaint (&symfile_complaints,
-				 _("template parameter missing DW_AT_type"));
+		      complaint (_("template parameter missing DW_AT_type"));
 		      buf.puts ("UNKNOWN_TYPE");
 		      continue;
 		    }
@@ -10933,15 +10802,15 @@ dwarf2_compute_name (const char *name,
 
 		  if (child->tag == DW_TAG_template_type_param)
 		    {
-		      c_print_type (type, "", &buf, -1, 0, &type_print_raw_options);
+		      c_print_type (type, "", &buf, -1, 0, cu->language,
+				    &type_print_raw_options);
 		      continue;
 		    }
 
 		  attr = dwarf2_attr (child, DW_AT_const_value, cu);
 		  if (attr == NULL)
 		    {
-		      complaint (&symfile_complaints,
-				 _("template parameter missing "
+		      complaint (_("template parameter missing "
 				   "DW_AT_const_value"));
 		      buf.puts ("UNKNOWN_VALUE");
 		      continue;
@@ -10979,7 +10848,6 @@ dwarf2_compute_name (const char *name,
 		      opts.raw = 1;
 		      value_print (v, &buf, &opts);
 		      release_value (v);
-		      value_free (v);
 		    }
 		}
 
@@ -11070,7 +10938,7 @@ dwarf2_full_name (const char *name, stru
 static const char *
 dwarf2_physname (const char *name, struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   const char *retval, *mangled = NULL, *canon = NULL;
   int need_copy = 1;
 
@@ -11092,23 +10960,27 @@ dwarf2_physname (const char *name, struc
   gdb::unique_xmalloc_ptr<char> demangled;
   if (mangled != NULL)
     {
-      /* Use DMGL_RET_DROP for C++ template functions to suppress their return
-	 type.  It is easier for GDB users to search for such functions as
-	 `name(params)' than `long name(params)'.  In such case the minimal
-	 symbol names do not match the full symbol names but for template
-	 functions there is never a need to look up their definition from their
-	 declaration so the only disadvantage remains the minimal symbol
-	 variant `long name(params)' does not have the proper inferior type.
-	 */
 
-      if (cu->language == language_go)
+      if (language_def (cu->language)->la_store_sym_names_in_linkage_form_p)
+	{
+	  /* Do nothing (do not demangle the symbol name).  */
+	}
+      else if (cu->language == language_go)
 	{
-	  /* This is a lie, but we already lie to the caller new_symbol_full.
-	     new_symbol_full assumes we return the mangled name.
+	  /* This is a lie, but we already lie to the caller new_symbol.
+	     new_symbol assumes we return the mangled name.
 	     This just undoes that lie until things are cleaned up.  */
 	}
       else
 	{
+	  /* Use DMGL_RET_DROP for C++ template functions to suppress
+	     their return type.  It is easier for GDB users to search
+	     for such functions as `name(params)' than `long name(params)'.
+	     In such case the minimal symbol names do not match the full
+	     symbol names but for template functions there is never a need
+	     to look up their definition from their declaration so
+	     the only disadvantage remains the minimal symbol variant
+	     `long name(params)' does not have the proper inferior type.  */
 	  demangled.reset (gdb_demangle (mangled,
 					 (DMGL_PARAMS | DMGL_ANSI
 					  | DMGL_RET_DROP)));
@@ -11132,10 +11004,9 @@ dwarf2_physname (const char *name, struc
 	     compute DW_AT_linkage_name incorrectly.  But in such case
 	     GDB would need to be bug-to-bug compatible.  */
 
-	  complaint (&symfile_complaints,
-		     _("Computed physname <%s> does not match demangled <%s> "
-		       "(from linkage <%s>) - DIE at 0x%x [in module %s]"),
-		     physname, canon, mangled, to_underlying (die->sect_off),
+	  complaint (_("Computed physname <%s> does not match demangled <%s> "
+		       "(from linkage <%s>) - DIE at %s [in module %s]"),
+		     physname, canon, mangled, sect_offset_str (die->sect_off),
 		     objfile_name (objfile));
 
 	  /* Prefer DW_AT_linkage_name (in the CANON form) - when it
@@ -11196,9 +11067,8 @@ read_namespace_alias (struct die_info *d
 
       if (num == MAX_NESTED_IMPORTED_DECLARATIONS)
 	{
-	  complaint (&symfile_complaints,
-		     _("DIE at 0x%x has too many recursively imported "
-		       "declarations"), to_underlying (d->sect_off));
+	  complaint (_("DIE at %s has too many recursively imported "
+		       "declarations"), sect_offset_str (d->sect_off));
 	  return 0;
 	}
 
@@ -11244,7 +11114,7 @@ using_directives (enum language language
 static void
 read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct attribute *import_attr;
   struct die_info *imported_die, *child_die;
   struct dwarf2_cu *imported_cu;
@@ -11259,7 +11129,7 @@ read_import_statement (struct die_info *
   import_attr = dwarf2_attr (die, DW_AT_import, cu);
   if (import_attr == NULL)
     {
-      complaint (&symfile_complaints, _("Tag '%s' has no DW_AT_import"),
+      complaint (_("Tag '%s' has no DW_AT_import"),
 		 dwarf_tag_name (die->tag));
       return;
     }
@@ -11339,17 +11209,17 @@ read_import_statement (struct die_info *
 
 	if (child_die->tag != DW_TAG_imported_declaration)
 	  {
-	    complaint (&symfile_complaints,
-		       _("child DW_TAG_imported_declaration expected "
-			 "- DIE at 0x%x [in module %s]"),
-		       to_underlying (child_die->sect_off), objfile_name (objfile));
+	    complaint (_("child DW_TAG_imported_declaration expected "
+			 "- DIE at %s [in module %s]"),
+		       sect_offset_str (child_die->sect_off),
+		       objfile_name (objfile));
 	    continue;
 	  }
 
 	import_attr = dwarf2_attr (child_die, DW_AT_import, cu);
 	if (import_attr == NULL)
 	  {
-	    complaint (&symfile_complaints, _("Tag '%s' has no DW_AT_import"),
+	    complaint (_("Tag '%s' has no DW_AT_import"),
 		       dwarf_tag_name (child_die->tag));
 	    continue;
 	  }
@@ -11360,10 +11230,10 @@ read_import_statement (struct die_info *
 	imported_name = dwarf2_name (imported_die, imported_cu);
 	if (imported_name == NULL)
 	  {
-	    complaint (&symfile_complaints,
-		       _("child DW_TAG_imported_declaration has unknown "
-			 "imported name - DIE at 0x%x [in module %s]"),
-		       to_underlying (child_die->sect_off), objfile_name (objfile));
+	    complaint (_("child DW_TAG_imported_declaration has unknown "
+			 "imported name - DIE at %s [in module %s]"),
+		       sect_offset_str (child_die->sect_off),
+		       objfile_name (objfile));
 	    continue;
 	  }
 
@@ -11451,6 +11321,8 @@ static void
 handle_DW_AT_stmt_list (struct die_info *die, struct dwarf2_cu *cu,
 			const char *comp_dir, CORE_ADDR lowpc) /* ARI: editCase function */
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct attribute *attr;
   struct line_header line_header_local;
@@ -11549,6 +11421,8 @@ handle_DW_AT_stmt_list (struct die_info 
 static void
 read_file_scope (struct die_info *die, struct dwarf2_cu *cu)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   CORE_ADDR lowpc = ((CORE_ADDR) -1);
@@ -11609,8 +11483,7 @@ read_file_scope (struct die_info *die, s
   if (attr && cu->line_header)
     {
       if (dwarf2_attr (die, DW_AT_macro_info, cu))
-	complaint (&symfile_complaints,
-		   _("CU refers to both DW_AT_macros and DW_AT_macro_info"));
+	complaint (_("CU refers to both DW_AT_macros and DW_AT_macro_info"));
 
       dwarf_decode_macros (cu, DW_UNSND (attr), 1);
     }
@@ -11800,10 +11673,8 @@ eq_dwo_file (const void *item_lhs, const
 /* Allocate a hash table for DWO files.  */
 
 static htab_t
-allocate_dwo_file_hash_table (void)
+allocate_dwo_file_hash_table (struct objfile *objfile)
 {
-  struct objfile *objfile = dwarf2_per_objfile->objfile;
-
   return htab_create_alloc_ex (41,
 			       hash_dwo_file,
 			       eq_dwo_file,
@@ -11816,13 +11687,16 @@ allocate_dwo_file_hash_table (void)
 /* Lookup DWO file DWO_NAME.  */
 
 static void **
-lookup_dwo_file_slot (const char *dwo_name, const char *comp_dir)
+lookup_dwo_file_slot (struct dwarf2_per_objfile *dwarf2_per_objfile,
+		      const char *dwo_name,
+		      const char *comp_dir)
 {
   struct dwo_file find_entry;
   void **slot;
 
   if (dwarf2_per_objfile->dwo_files == NULL)
-    dwarf2_per_objfile->dwo_files = allocate_dwo_file_hash_table ();
+    dwarf2_per_objfile->dwo_files
+      = allocate_dwo_file_hash_table (dwarf2_per_objfile->objfile);
 
   memset (&find_entry, 0, sizeof (find_entry));
   find_entry.dwo_name = dwo_name;
@@ -11899,10 +11773,9 @@ create_dwo_cu_reader (const struct die_r
   attr = dwarf2_attr (comp_unit_die, DW_AT_GNU_dwo_id, cu);
   if (attr == NULL)
     {
-      complaint (&symfile_complaints,
-		 _("Dwarf Error: debug entry at offset 0x%x is missing"
+      complaint (_("Dwarf Error: debug entry at offset %s is missing"
 		   " its dwo_id [in module %s]"),
-		 to_underlying (sect_off), dwo_file->dwo_name);
+		 sect_offset_str (sect_off), dwo_file->dwo_name);
       return;
     }
 
@@ -11913,8 +11786,8 @@ create_dwo_cu_reader (const struct die_r
   dwo_unit->length = cu->per_cu->length;
 
   if (dwarf_read_debug)
-    fprintf_unfiltered (gdb_stdlog, "  offset 0x%x, dwo_id %s\n",
-			to_underlying (sect_off),
+    fprintf_unfiltered (gdb_stdlog, "  offset %s, dwo_id %s\n",
+			sect_offset_str (sect_off),
 			hex_string (dwo_unit->signature));
 }
 
@@ -11922,7 +11795,8 @@ create_dwo_cu_reader (const struct die_r
    Note: This function processes DWO files only, not DWP files.  */
 
 static void
-create_cus_hash_table (struct dwo_file &dwo_file, dwarf2_section_info &section,
+create_cus_hash_table (struct dwarf2_per_objfile *dwarf2_per_objfile,
+		       struct dwo_file &dwo_file, dwarf2_section_info &section,
 		       htab_t &cus_htab)
 {
   struct objfile *objfile = dwarf2_per_objfile->objfile;
@@ -11953,7 +11827,7 @@ create_cus_hash_table (struct dwo_file &
       memset (&create_dwo_cu_data.dwo_unit, 0,
 	      sizeof (create_dwo_cu_data.dwo_unit));
       memset (&per_cu, 0, sizeof (per_cu));
-      per_cu.objfile = objfile;
+      per_cu.dwarf2_per_objfile = dwarf2_per_objfile;
       per_cu.is_debug_types = 0;
       per_cu.sect_off = sect_offset (info_ptr - section.buffer);
       per_cu.section = &section;
@@ -11979,10 +11853,9 @@ create_cus_hash_table (struct dwo_file &
 	  const struct dwo_unit *dup_cu = (const struct dwo_unit *)*slot;
 	  sect_offset dup_sect_off = dup_cu->sect_off;
 
-	  complaint (&symfile_complaints,
-		     _("debug cu entry at offset 0x%x is duplicate to"
-		       " the entry at offset 0x%x, signature %s"),
-		     to_underlying (sect_off), to_underlying (dup_sect_off),
+	  complaint (_("debug cu entry at offset %s is duplicate to"
+		       " the entry at offset %s, signature %s"),
+		     sect_offset_str (sect_off), sect_offset_str (dup_sect_off),
 		     hex_string (dwo_unit->signature));
 	}
       *slot = (void *)dwo_unit;
@@ -12127,10 +12000,11 @@ create_cus_hash_table (struct dwo_file &
    Note: This function processes DWP files only, not DWO files.  */
 
 static struct dwp_hash_table *
-create_dwp_hash_table (struct dwp_file *dwp_file, int is_debug_types)
+create_dwp_hash_table (struct dwarf2_per_objfile *dwarf2_per_objfile,
+		       struct dwp_file *dwp_file, int is_debug_types)
 {
   struct objfile *objfile = dwarf2_per_objfile->objfile;
-  bfd *dbfd = dwp_file->dbfd;
+  bfd *dbfd = dwp_file->dbfd.get ();
   const gdb_byte *index_ptr, *index_end;
   struct dwarf2_section_info *index;
   uint32_t version, nr_columns, nr_units, nr_slots;
@@ -12189,8 +12063,7 @@ create_dwp_hash_table (struct dwp_file *
       if (nr_slots != 0 || nr_units != 0
 	  || (version == 2 && nr_columns != 0))
 	{
-	  complaint (&symfile_complaints,
-		     _("Empty DWP but nr_slots,nr_units,nr_columns not"
+	  complaint (_("Empty DWP but nr_slots,nr_units,nr_columns not"
 		       " all zero [in modules %s]"),
 		     dwp_file->name);
 	}
@@ -12364,7 +12237,8 @@ locate_v1_virtual_dwo_sections (asection
    This is for DWP version 1 files.  */
 
 static struct dwo_unit *
-create_dwo_unit_in_dwp_v1 (struct dwp_file *dwp_file,
+create_dwo_unit_in_dwp_v1 (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			   struct dwp_file *dwp_file,
 			   uint32_t unit_index,
 			   const char *comp_dir,
 			   ULONGEST signature, int is_debug_types)
@@ -12372,7 +12246,7 @@ create_dwo_unit_in_dwp_v1 (struct dwp_fi
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   const struct dwp_hash_table *dwp_htab =
     is_debug_types ? dwp_file->tus : dwp_file->cus;
-  bfd *dbfd = dwp_file->dbfd;
+  bfd *dbfd = dwp_file->dbfd.get ();
   const char *kind = is_debug_types ? "TU" : "CU";
   struct dwo_file *dwo_file;
   struct dwo_unit *dwo_unit;
@@ -12462,7 +12336,9 @@ create_dwo_unit_in_dwp_v1 (struct dwp_fi
 		   get_section_id (&sections.loc),
 		   get_section_id (&sections.str_offsets));
   /* Can we use an existing virtual DWO file?  */
-  dwo_file_slot = lookup_dwo_file_slot (virtual_dwo_name.c_str (), comp_dir);
+  dwo_file_slot = lookup_dwo_file_slot (dwarf2_per_objfile,
+					virtual_dwo_name.c_str (),
+					comp_dir);
   /* Create one if necessary.  */
   if (*dwo_file_slot == NULL)
     {
@@ -12521,7 +12397,8 @@ create_dwo_unit_in_dwp_v1 (struct dwp_fi
    of just that piece.  */
 
 static struct dwarf2_section_info
-create_dwp_v2_section (struct dwarf2_section_info *section,
+create_dwp_v2_section (struct dwarf2_per_objfile *dwarf2_per_objfile,
+		       struct dwarf2_section_info *section,
 		       bfd_size_type offset, bfd_size_type size)
 {
   struct dwarf2_section_info result;
@@ -12562,7 +12439,8 @@ create_dwp_v2_section (struct dwarf2_sec
    This is for DWP version 2 files.  */
 
 static struct dwo_unit *
-create_dwo_unit_in_dwp_v2 (struct dwp_file *dwp_file,
+create_dwo_unit_in_dwp_v2 (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			   struct dwp_file *dwp_file,
 			   uint32_t unit_index,
 			   const char *comp_dir,
 			   ULONGEST signature, int is_debug_types)
@@ -12570,7 +12448,7 @@ create_dwo_unit_in_dwp_v2 (struct dwp_fi
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   const struct dwp_hash_table *dwp_htab =
     is_debug_types ? dwp_file->tus : dwp_file->cus;
-  bfd *dbfd = dwp_file->dbfd;
+  bfd *dbfd = dwp_file->dbfd.get ();
   const char *kind = is_debug_types ? "TU" : "CU";
   struct dwo_file *dwo_file;
   struct dwo_unit *dwo_unit;
@@ -12656,7 +12534,9 @@ create_dwo_unit_in_dwp_v2 (struct dwp_fi
 		   (long) (sections.str_offsets_size
 			   ? sections.str_offsets_offset : 0));
   /* Can we use an existing virtual DWO file?  */
-  dwo_file_slot = lookup_dwo_file_slot (virtual_dwo_name.c_str (), comp_dir);
+  dwo_file_slot = lookup_dwo_file_slot (dwarf2_per_objfile,
+					virtual_dwo_name.c_str (),
+					comp_dir);
   /* Create one if necessary.  */
   if (*dwo_file_slot == NULL)
     {
@@ -12672,22 +12552,23 @@ create_dwo_unit_in_dwp_v2 (struct dwp_fi
 					virtual_dwo_name.size ());
       dwo_file->comp_dir = comp_dir;
       dwo_file->sections.abbrev =
-	create_dwp_v2_section (&dwp_file->sections.abbrev,
+	create_dwp_v2_section (dwarf2_per_objfile, &dwp_file->sections.abbrev,
 			       sections.abbrev_offset, sections.abbrev_size);
       dwo_file->sections.line =
-	create_dwp_v2_section (&dwp_file->sections.line,
+	create_dwp_v2_section (dwarf2_per_objfile, &dwp_file->sections.line,
 			       sections.line_offset, sections.line_size);
       dwo_file->sections.loc =
-	create_dwp_v2_section (&dwp_file->sections.loc,
+	create_dwp_v2_section (dwarf2_per_objfile, &dwp_file->sections.loc,
 			       sections.loc_offset, sections.loc_size);
       dwo_file->sections.macinfo =
-	create_dwp_v2_section (&dwp_file->sections.macinfo,
+	create_dwp_v2_section (dwarf2_per_objfile, &dwp_file->sections.macinfo,
 			       sections.macinfo_offset, sections.macinfo_size);
       dwo_file->sections.macro =
-	create_dwp_v2_section (&dwp_file->sections.macro,
+	create_dwp_v2_section (dwarf2_per_objfile, &dwp_file->sections.macro,
 			       sections.macro_offset, sections.macro_size);
       dwo_file->sections.str_offsets =
-	create_dwp_v2_section (&dwp_file->sections.str_offsets,
+	create_dwp_v2_section (dwarf2_per_objfile,
+			       &dwp_file->sections.str_offsets,
 			       sections.str_offsets_offset,
 			       sections.str_offsets_size);
       /* The "str" section is global to the entire DWP file.  */
@@ -12716,7 +12597,8 @@ create_dwo_unit_in_dwp_v2 (struct dwp_fi
   dwo_unit->signature = signature;
   dwo_unit->section =
     XOBNEW (&objfile->objfile_obstack, struct dwarf2_section_info);
-  *dwo_unit->section = create_dwp_v2_section (is_debug_types
+  *dwo_unit->section = create_dwp_v2_section (dwarf2_per_objfile,
+					      is_debug_types
 					      ? &dwp_file->sections.types
 					      : &dwp_file->sections.info,
 					      sections.info_or_types_offset,
@@ -12730,12 +12612,13 @@ create_dwo_unit_in_dwp_v2 (struct dwp_fi
    Returns NULL if the signature isn't found.  */
 
 static struct dwo_unit *
-lookup_dwo_unit_in_dwp (struct dwp_file *dwp_file, const char *comp_dir,
+lookup_dwo_unit_in_dwp (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			struct dwp_file *dwp_file, const char *comp_dir,
 			ULONGEST signature, int is_debug_types)
 {
   const struct dwp_hash_table *dwp_htab =
     is_debug_types ? dwp_file->tus : dwp_file->cus;
-  bfd *dbfd = dwp_file->dbfd;
+  bfd *dbfd = dwp_file->dbfd.get ();
   uint32_t mask = dwp_htab->nr_slots - 1;
   uint32_t hash = signature & mask;
   uint32_t hash2 = ((signature >> 32) & mask) | 1;
@@ -12768,13 +12651,15 @@ lookup_dwo_unit_in_dwp (struct dwp_file 
 
 	  if (dwp_file->version == 1)
 	    {
-	      *slot = create_dwo_unit_in_dwp_v1 (dwp_file, unit_index,
+	      *slot = create_dwo_unit_in_dwp_v1 (dwarf2_per_objfile,
+						 dwp_file, unit_index,
 						 comp_dir, signature,
 						 is_debug_types);
 	    }
 	  else
 	    {
-	      *slot = create_dwo_unit_in_dwp_v2 (dwp_file, unit_index,
+	      *slot = create_dwo_unit_in_dwp_v2 (dwarf2_per_objfile,
+						 dwp_file, unit_index,
 						 comp_dir, signature,
 						 is_debug_types);
 	    }
@@ -12803,38 +12688,44 @@ lookup_dwo_unit_in_dwp (struct dwp_file 
    NOTE: This function is derived from symfile_bfd_open.  */
 
 static gdb_bfd_ref_ptr
-try_open_dwop_file (const char *file_name, int is_dwp, int search_cwd)
+try_open_dwop_file (struct dwarf2_per_objfile *dwarf2_per_objfile,
+		    const char *file_name, int is_dwp, int search_cwd)
 {
-  int desc, flags;
-  char *absolute_name;
+  int desc;
   /* Blech.  OPF_TRY_CWD_FIRST also disables searching the path list if
      FILE_NAME contains a '/'.  So we can't use it.  Instead prepend "."
      to debug_file_directory.  */
-  char *search_path;
+  const char *search_path;
   static const char dirname_separator_string[] = { DIRNAME_SEPARATOR, '\0' };
 
+  gdb::unique_xmalloc_ptr<char> search_path_holder;
   if (search_cwd)
     {
       if (*debug_file_directory != '\0')
-	search_path = concat (".", dirname_separator_string,
-			      debug_file_directory, (char *) NULL);
+	{
+	  search_path_holder.reset (concat (".", dirname_separator_string,
+					    debug_file_directory,
+					    (char *) NULL));
+	  search_path = search_path_holder.get ();
+	}
       else
-	search_path = xstrdup (".");
+	search_path = ".";
     }
   else
-    search_path = xstrdup (debug_file_directory);
+    search_path = debug_file_directory;
 
-  flags = OPF_RETURN_REALPATH;
+  openp_flags flags = OPF_RETURN_REALPATH;
   if (is_dwp)
     flags |= OPF_SEARCH_IN_PATH;
+
+  gdb::unique_xmalloc_ptr<char> absolute_name;
   desc = openp (search_path, flags, file_name,
 		O_RDONLY | O_BINARY, &absolute_name);
-  xfree (search_path);
   if (desc < 0)
     return NULL;
 
-  gdb_bfd_ref_ptr sym_bfd (gdb_bfd_open (absolute_name, gnutarget, desc));
-  xfree (absolute_name);
+  gdb_bfd_ref_ptr sym_bfd (gdb_bfd_open (absolute_name.get (),
+					 gnutarget, desc));
   if (sym_bfd == NULL)
     return NULL;
   bfd_set_cacheable (sym_bfd.get (), 1);
@@ -12859,10 +12750,12 @@ try_open_dwop_file (const char *file_nam
    same as symfile_bfd_open.  */
 
 static gdb_bfd_ref_ptr
-open_dwo_file (const char *file_name, const char *comp_dir)
+open_dwo_file (struct dwarf2_per_objfile *dwarf2_per_objfile,
+	       const char *file_name, const char *comp_dir)
 {
   if (IS_ABSOLUTE_PATH (file_name))
-    return try_open_dwop_file (file_name, 0 /*is_dwp*/, 0 /*search_cwd*/);
+    return try_open_dwop_file (dwarf2_per_objfile, file_name,
+			       0 /*is_dwp*/, 0 /*search_cwd*/);
 
   /* Before trying the search path, try DWO_NAME in COMP_DIR.  */
 
@@ -12873,7 +12766,9 @@ open_dwo_file (const char *file_name, co
 
       /* NOTE: If comp_dir is a relative path, this will also try the
 	 search path, which seems useful.  */
-      gdb_bfd_ref_ptr abfd (try_open_dwop_file (path_to_try, 0 /*is_dwp*/,
+      gdb_bfd_ref_ptr abfd (try_open_dwop_file (dwarf2_per_objfile,
+						path_to_try,
+						0 /*is_dwp*/,
 						1 /*search_cwd*/));
       xfree (path_to_try);
       if (abfd != NULL)
@@ -12886,7 +12781,8 @@ open_dwo_file (const char *file_name, co
   if (*debug_file_directory == '\0')
     return NULL;
 
-  return try_open_dwop_file (file_name, 0 /*is_dwp*/, 1 /*search_cwd*/);
+  return try_open_dwop_file (dwarf2_per_objfile, file_name,
+			     0 /*is_dwp*/, 1 /*search_cwd*/);
 }
 
 /* This function is mapped across the sections and remembers the offset and
@@ -12958,38 +12854,38 @@ static struct dwo_file *
 open_and_init_dwo_file (struct dwarf2_per_cu_data *per_cu,
 			const char *dwo_name, const char *comp_dir)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile = per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
-  struct dwo_file *dwo_file;
-  struct cleanup *cleanups;
 
-  gdb_bfd_ref_ptr dbfd (open_dwo_file (dwo_name, comp_dir));
+  gdb_bfd_ref_ptr dbfd (open_dwo_file (dwarf2_per_objfile, dwo_name, comp_dir));
   if (dbfd == NULL)
     {
       if (dwarf_read_debug)
 	fprintf_unfiltered (gdb_stdlog, "DWO file not found: %s\n", dwo_name);
       return NULL;
     }
-  dwo_file = OBSTACK_ZALLOC (&objfile->objfile_obstack, struct dwo_file);
+
+  /* We use a unique pointer here, despite the obstack allocation,
+     because a dwo_file needs some cleanup if it is abandoned.  */
+  dwo_file_up dwo_file (OBSTACK_ZALLOC (&objfile->objfile_obstack,
+					struct dwo_file));
   dwo_file->dwo_name = dwo_name;
   dwo_file->comp_dir = comp_dir;
   dwo_file->dbfd = dbfd.release ();
 
-  cleanups = make_cleanup (free_dwo_file_cleanup, dwo_file);
-
   bfd_map_over_sections (dwo_file->dbfd, dwarf2_locate_dwo_sections,
 			 &dwo_file->sections);
 
-  create_cus_hash_table (*dwo_file, dwo_file->sections.info, dwo_file->cus);
+  create_cus_hash_table (dwarf2_per_objfile, *dwo_file, dwo_file->sections.info,
+			 dwo_file->cus);
 
-  create_debug_types_hash_table (dwo_file, dwo_file->sections.types,
-				 dwo_file->tus);
-
-  discard_cleanups (cleanups);
+  create_debug_types_hash_table (dwarf2_per_objfile, dwo_file.get (),
+				 dwo_file->sections.types, dwo_file->tus);
 
   if (dwarf_read_debug)
     fprintf_unfiltered (gdb_stdlog, "DWO file found: %s\n", dwo_name);
 
-  return dwo_file;
+  return dwo_file.release ();
 }
 
 /* This function is mapped across the sections and remembers the offset and
@@ -13130,9 +13026,11 @@ allocate_dwp_loaded_cutus_table (struct 
    same as symfile_bfd_open.  */
 
 static gdb_bfd_ref_ptr
-open_dwp_file (const char *file_name)
+open_dwp_file (struct dwarf2_per_objfile *dwarf2_per_objfile,
+	       const char *file_name)
 {
-  gdb_bfd_ref_ptr abfd (try_open_dwop_file (file_name, 1 /*is_dwp*/,
+  gdb_bfd_ref_ptr abfd (try_open_dwop_file (dwarf2_per_objfile, file_name,
+					    1 /*is_dwp*/,
 					    1 /*search_cwd*/));
   if (abfd != NULL)
     return abfd;
@@ -13150,7 +13048,8 @@ open_dwp_file (const char *file_name)
       /* Don't implicitly search the current directory here.
 	 If the user wants to search "." to handle this case,
 	 it must be added to debug-file-directory.  */
-      return try_open_dwop_file (lbasename (file_name), 1 /*is_dwp*/,
+      return try_open_dwop_file (dwarf2_per_objfile,
+				 lbasename (file_name), 1 /*is_dwp*/,
 				 0 /*search_cwd*/);
     }
 
@@ -13161,11 +13060,10 @@ open_dwp_file (const char *file_name)
    By convention the name of the DWP file is ${objfile}.dwp.
    The result is NULL if it can't be found.  */
 
-static struct dwp_file *
-open_and_init_dwp_file (void)
+static std::unique_ptr<struct dwp_file>
+open_and_init_dwp_file (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
   struct objfile *objfile = dwarf2_per_objfile->objfile;
-  struct dwp_file *dwp_file;
 
   /* Try to find first .dwp for the binary file before any symbolic links
      resolving.  */
@@ -13185,25 +13083,26 @@ open_and_init_dwp_file (void)
 
   dwp_name += ".dwp";
 
-  gdb_bfd_ref_ptr dbfd (open_dwp_file (dwp_name.c_str ()));
+  gdb_bfd_ref_ptr dbfd (open_dwp_file (dwarf2_per_objfile, dwp_name.c_str ()));
   if (dbfd == NULL
       && strcmp (objfile->original_name, objfile_name (objfile)) != 0)
     {
       /* Try to find .dwp for the binary file after gdb_realpath resolving.  */
       dwp_name = objfile_name (objfile);
       dwp_name += ".dwp";
-      dbfd = open_dwp_file (dwp_name.c_str ());
+      dbfd = open_dwp_file (dwarf2_per_objfile, dwp_name.c_str ());
     }
 
   if (dbfd == NULL)
     {
       if (dwarf_read_debug)
 	fprintf_unfiltered (gdb_stdlog, "DWP file not found: %s\n", dwp_name.c_str ());
-      return NULL;
+      return std::unique_ptr<dwp_file> ();
     }
-  dwp_file = OBSTACK_ZALLOC (&objfile->objfile_obstack, struct dwp_file);
-  dwp_file->name = bfd_get_filename (dbfd.get ());
-  dwp_file->dbfd = dbfd.release ();
+
+  const char *name = bfd_get_filename (dbfd.get ());
+  std::unique_ptr<struct dwp_file> dwp_file
+    (new struct dwp_file (name, std::move (dbfd)));
 
   /* +1: section 0 is unused */
   dwp_file->num_sections = bfd_count_sections (dwp_file->dbfd) + 1;
@@ -13211,12 +13110,15 @@ open_and_init_dwp_file (void)
     OBSTACK_CALLOC (&objfile->objfile_obstack,
 		    dwp_file->num_sections, asection *);
 
-  bfd_map_over_sections (dwp_file->dbfd, dwarf2_locate_common_dwp_sections,
-			 dwp_file);
+  bfd_map_over_sections (dwp_file->dbfd.get (),
+			 dwarf2_locate_common_dwp_sections,
+			 dwp_file.get ());
 
-  dwp_file->cus = create_dwp_hash_table (dwp_file, 0);
+  dwp_file->cus = create_dwp_hash_table (dwarf2_per_objfile, dwp_file.get (),
+					 0);
 
-  dwp_file->tus = create_dwp_hash_table (dwp_file, 1);
+  dwp_file->tus = create_dwp_hash_table (dwarf2_per_objfile, dwp_file.get (),
+					 1);
 
   /* The DWP file version is stored in the hash table.  Oh well.  */
   if (dwp_file->cus && dwp_file->tus
@@ -13239,8 +13141,9 @@ open_and_init_dwp_file (void)
     dwp_file->version = 2;
 
   if (dwp_file->version == 2)
-    bfd_map_over_sections (dwp_file->dbfd, dwarf2_locate_v2_dwp_sections,
-			   dwp_file);
+    bfd_map_over_sections (dwp_file->dbfd.get (),
+			   dwarf2_locate_v2_dwp_sections,
+			   dwp_file.get ());
 
   dwp_file->loaded_cus = allocate_dwp_loaded_cutus_table (objfile);
   dwp_file->loaded_tus = allocate_dwp_loaded_cutus_table (objfile);
@@ -13260,14 +13163,15 @@ open_and_init_dwp_file (void)
 /* Wrapper around open_and_init_dwp_file, only open it once.  */
 
 static struct dwp_file *
-get_dwp_file (void)
+get_dwp_file (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
   if (! dwarf2_per_objfile->dwp_checked)
     {
-      dwarf2_per_objfile->dwp_file = open_and_init_dwp_file ();
+      dwarf2_per_objfile->dwp_file
+	= open_and_init_dwp_file (dwarf2_per_objfile);
       dwarf2_per_objfile->dwp_checked = 1;
     }
-  return dwarf2_per_objfile->dwp_file;
+  return dwarf2_per_objfile->dwp_file.get ();
 }
 
 /* Subroutine of lookup_dwo_comp_unit, lookup_dwo_type_unit.
@@ -13291,6 +13195,7 @@ lookup_dwo_cutu (struct dwarf2_per_cu_da
 		 const char *dwo_name, const char *comp_dir,
 		 ULONGEST signature, int is_debug_types)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile = this_unit->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   const char *kind = is_debug_types ? "TU" : "CU";
   void **dwo_file_slot;
@@ -13302,7 +13207,7 @@ lookup_dwo_cutu (struct dwarf2_per_cu_da
      look for the original DWO file.  It makes gdb behave differently
      depending on whether one is debugging in the build tree.  */
 
-  dwp_file = get_dwp_file ();
+  dwp_file = get_dwp_file (dwarf2_per_objfile);
   if (dwp_file != NULL)
     {
       const struct dwp_hash_table *dwp_htab =
@@ -13311,7 +13216,7 @@ lookup_dwo_cutu (struct dwarf2_per_cu_da
       if (dwp_htab != NULL)
 	{
 	  struct dwo_unit *dwo_cutu =
-	    lookup_dwo_unit_in_dwp (dwp_file, comp_dir,
+	    lookup_dwo_unit_in_dwp (dwarf2_per_objfile, dwp_file, comp_dir,
 				    signature, is_debug_types);
 
 	  if (dwo_cutu != NULL)
@@ -13331,7 +13236,8 @@ lookup_dwo_cutu (struct dwarf2_per_cu_da
     {
       /* No DWP file, look for the DWO file.  */
 
-      dwo_file_slot = lookup_dwo_file_slot (dwo_name, comp_dir);
+      dwo_file_slot = lookup_dwo_file_slot (dwarf2_per_objfile,
+					    dwo_name, comp_dir);
       if (*dwo_file_slot == NULL)
 	{
 	  /* Read in the file and build a table of the CUs/TUs it contains.  */
@@ -13397,12 +13303,12 @@ lookup_dwo_cutu (struct dwarf2_per_cu_da
       dwp_text = string_printf (" [in DWP file %s]",
 				lbasename (dwp_file->name));
 
-    warning (_("Could not find DWO %s %s(%s)%s referenced by %s at offset 0x%x"
+    warning (_("Could not find DWO %s %s(%s)%s referenced by %s at offset %s"
 	       " [in module %s]"),
 	     kind, dwo_name, hex_string (signature),
 	     dwp_text.c_str (),
 	     this_unit->is_debug_types ? "TU" : "CU",
-	     to_underlying (this_unit->sect_off), objfile_name (objfile));
+	     sect_offset_str (this_unit->sect_off), objfile_name (objfile));
   }
   return NULL;
 }
@@ -13466,7 +13372,7 @@ queue_and_load_all_dwo_tus (struct dwarf
   struct dwo_file *dwo_file;
 
   gdb_assert (!per_cu->is_debug_types);
-  gdb_assert (get_dwp_file () == NULL);
+  gdb_assert (get_dwp_file (per_cu->dwarf2_per_objfile) == NULL);
   gdb_assert (per_cu->cu != NULL);
 
   dwo_unit = per_cu->cu->dwo_unit;
@@ -13478,39 +13384,25 @@ queue_and_load_all_dwo_tus (struct dwarf
 }
 
 /* Free all resources associated with DWO_FILE.
-   Close the DWO file and munmap the sections.
-   All memory should be on the objfile obstack.  */
+   Close the DWO file and munmap the sections.  */
 
 static void
-free_dwo_file (struct dwo_file *dwo_file, struct objfile *objfile)
+free_dwo_file (struct dwo_file *dwo_file)
 {
-
   /* Note: dbfd is NULL for virtual DWO files.  */
   gdb_bfd_unref (dwo_file->dbfd);
 
   VEC_free (dwarf2_section_info_def, dwo_file->sections.types);
 }
 
-/* Wrapper for free_dwo_file for use in cleanups.  */
-
-static void
-free_dwo_file_cleanup (void *arg)
-{
-  struct dwo_file *dwo_file = (struct dwo_file *) arg;
-  struct objfile *objfile = dwarf2_per_objfile->objfile;
-
-  free_dwo_file (dwo_file, objfile);
-}
-
 /* Traversal function for free_dwo_files.  */
 
 static int
 free_dwo_file_from_slot (void **slot, void *info)
 {
   struct dwo_file *dwo_file = (struct dwo_file *) *slot;
-  struct objfile *objfile = (struct objfile *) info;
 
-  free_dwo_file (dwo_file, objfile);
+  free_dwo_file (dwo_file);
 
   return 1;
 }
@@ -13561,10 +13453,9 @@ inherit_abstract_dies (struct die_info *
   if (die->tag != origin_die->tag
       && !(die->tag == DW_TAG_inlined_subroutine
 	   && origin_die->tag == DW_TAG_subprogram))
-    complaint (&symfile_complaints,
-	       _("DIE 0x%x and its abstract origin 0x%x have different tags"),
-	       to_underlying (die->sect_off),
-	       to_underlying (origin_die->sect_off));
+    complaint (_("DIE %s and its abstract origin %s have different tags"),
+	       sect_offset_str (die->sect_off),
+	       sect_offset_str (origin_die->sect_off));
 
   std::vector<sect_offset> offsets;
 
@@ -13608,17 +13499,15 @@ inherit_abstract_dies (struct die_info *
 	  if (child_die->tag != child_origin_die->tag
 	      && !(child_die->tag == DW_TAG_inlined_subroutine
 		   && child_origin_die->tag == DW_TAG_subprogram))
-	    complaint (&symfile_complaints,
-		       _("Child DIE 0x%x and its abstract origin 0x%x have "
+	    complaint (_("Child DIE %s and its abstract origin %s have "
 			 "different tags"),
-		       to_underlying (child_die->sect_off),
-		       to_underlying (child_origin_die->sect_off));
+		       sect_offset_str (child_die->sect_off),
+		       sect_offset_str (child_origin_die->sect_off));
 	  if (child_origin_die->parent != origin_die)
-	    complaint (&symfile_complaints,
-		       _("Child DIE 0x%x and its abstract origin 0x%x have "
+	    complaint (_("Child DIE %s and its abstract origin %s have "
 			 "different parents"),
-		       to_underlying (child_die->sect_off),
-		       to_underlying (child_origin_die->sect_off));
+		       sect_offset_str (child_die->sect_off),
+		       sect_offset_str (child_origin_die->sect_off));
 	  else
 	    offsets.push_back (child_origin_die->sect_off);
 	}
@@ -13627,10 +13516,9 @@ inherit_abstract_dies (struct die_info *
   sect_offset *offsets_end = offsets.data () + offsets.size ();
   for (offsetp = offsets.data () + 1; offsetp < offsets_end; offsetp++)
     if (offsetp[-1] == *offsetp)
-      complaint (&symfile_complaints,
-		 _("Multiple children of DIE 0x%x refer "
-		   "to DIE 0x%x as their abstract origin"),
-		 to_underlying (die->sect_off), to_underlying (*offsetp));
+      complaint (_("Multiple children of DIE %s refer "
+		   "to DIE %s as their abstract origin"),
+		 sect_offset_str (die->sect_off), sect_offset_str (*offsetp));
 
   offsetp = offsets.data ();
   origin_child_die = origin_die->child;
@@ -13658,7 +13546,7 @@ inherit_abstract_dies (struct die_info *
 static void
 read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct context_stack *newobj;
   CORE_ADDR lowpc;
@@ -13694,9 +13582,8 @@ read_func_scope (struct die_info *die, s
      illegal according to the DWARF standard.  */
   if (name == NULL)
     {
-      complaint (&symfile_complaints,
-		 _("missing name for subprogram DIE at %d"),
-		 to_underlying (die->sect_off));
+      complaint (_("missing name for subprogram DIE at %s"),
+		 sect_offset_str (die->sect_off));
       return;
     }
 
@@ -13706,10 +13593,9 @@ read_func_scope (struct die_info *die, s
     {
       attr = dwarf2_attr (die, DW_AT_external, cu);
       if (!attr || !DW_UNSND (attr))
-	complaint (&symfile_complaints,
-		   _("cannot get low and high bounds "
-		     "for subprogram DIE at %d"),
-		   to_underlying (die->sect_off));
+	complaint (_("cannot get low and high bounds "
+		     "for subprogram DIE at %s"),
+		   sect_offset_str (die->sect_off));
       return;
     }
 
@@ -13730,8 +13616,8 @@ read_func_scope (struct die_info *die, s
     }
 
   newobj = push_context (0, lowpc);
-  newobj->name = new_symbol_full (die, read_type_die (die, cu), cu,
-			       (struct symbol *) templ_func);
+  newobj->name = new_symbol (die, read_type_die (die, cu), cu,
+			     (struct symbol *) templ_func);
 
   /* If there is a location expression for DW_AT_frame_base, record
      it.  */
@@ -13849,7 +13735,7 @@ read_func_scope (struct die_info *die, s
 static void
 read_lexical_block_scope (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct context_stack *newobj;
   CORE_ADDR lowpc, highpc;
@@ -13920,7 +13806,7 @@ read_lexical_block_scope (struct die_inf
 static void
 read_call_site_scope (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   CORE_ADDR pc, baseaddr;
   struct attribute *attr;
@@ -13940,10 +13826,9 @@ read_call_site_scope (struct die_info *d
     }
   if (!attr)
     {
-      complaint (&symfile_complaints,
-		 _("missing DW_AT_call_return_pc for DW_TAG_call_site "
-		   "DIE 0x%x [in module %s]"),
-		 to_underlying (die->sect_off), objfile_name (objfile));
+      complaint (_("missing DW_AT_call_return_pc for DW_TAG_call_site "
+		   "DIE %s [in module %s]"),
+		 sect_offset_str (die->sect_off), objfile_name (objfile));
       return;
     }
   pc = attr_value_as_address (attr) + baseaddr;
@@ -13957,10 +13842,9 @@ read_call_site_scope (struct die_info *d
   slot = htab_find_slot (cu->call_site_htab, &call_site_local, INSERT);
   if (*slot != NULL)
     {
-      complaint (&symfile_complaints,
-		 _("Duplicate PC %s for DW_TAG_call_site "
-		   "DIE 0x%x [in module %s]"),
-		 paddress (gdbarch, pc), to_underlying (die->sect_off),
+      complaint (_("Duplicate PC %s for DW_TAG_call_site "
+		   "DIE %s [in module %s]"),
+		 paddress (gdbarch, pc), sect_offset_str (die->sect_off),
 		 objfile_name (objfile));
       return;
     }
@@ -13974,10 +13858,9 @@ read_call_site_scope (struct die_info *d
       if (child_die->tag != DW_TAG_call_site_parameter
           && child_die->tag != DW_TAG_GNU_call_site_parameter)
 	{
-	  complaint (&symfile_complaints,
-		     _("Tag %d is not DW_TAG_call_site_parameter in "
-		       "DW_TAG_call_site child DIE 0x%x [in module %s]"),
-		     child_die->tag, to_underlying (child_die->sect_off),
+	  complaint (_("Tag %d is not DW_TAG_call_site_parameter in "
+		       "DW_TAG_call_site child DIE %s [in module %s]"),
+		     child_die->tag, sect_offset_str (child_die->sect_off),
 		     objfile_name (objfile));
 	  continue;
 	}
@@ -14037,10 +13920,9 @@ read_call_site_scope (struct die_info *d
 	      TYPE_TAIL_CALL_LIST (func_type) = call_site;
 	    }
 	  else
-	    complaint (&symfile_complaints,
-		       _("Cannot find function owning DW_TAG_call_site "
-			 "DIE 0x%x [in module %s]"),
-		       to_underlying (die->sect_off), objfile_name (objfile));
+	    complaint (_("Cannot find function owning DW_TAG_call_site "
+			 "DIE %s [in module %s]"),
+		       sect_offset_str (die->sect_off), objfile_name (objfile));
 	}
     }
 
@@ -14074,7 +13956,7 @@ read_call_site_scope (struct die_info *d
       struct die_info *target_die;
 
       target_die = follow_die_ref (die, attr, &target_cu);
-      gdb_assert (target_cu->objfile == objfile);
+      gdb_assert (target_cu->per_cu->dwarf2_per_objfile->objfile == objfile);
       if (die_is_declaration (target_die, target_cu))
 	{
 	  const char *target_physname;
@@ -14084,10 +13966,9 @@ read_call_site_scope (struct die_info *d
 	  if (target_physname == NULL)
 	    target_physname = dwarf2_physname (NULL, target_die, target_cu);
 	  if (target_physname == NULL)
-	    complaint (&symfile_complaints,
-		       _("DW_AT_call_target target DIE has invalid "
-		         "physname, for referencing DIE 0x%x [in module %s]"),
-		       to_underlying (die->sect_off), objfile_name (objfile));
+	    complaint (_("DW_AT_call_target target DIE has invalid "
+		         "physname, for referencing DIE %s [in module %s]"),
+		       sect_offset_str (die->sect_off), objfile_name (objfile));
 	  else
 	    SET_FIELD_PHYSNAME (call_site->target, target_physname);
 	}
@@ -14098,10 +13979,9 @@ read_call_site_scope (struct die_info *d
 	  /* DW_AT_entry_pc should be preferred.  */
 	  if (dwarf2_get_pc_bounds (target_die, &lowpc, NULL, target_cu, NULL)
 	      <= PC_BOUNDS_INVALID)
-	    complaint (&symfile_complaints,
-		       _("DW_AT_call_target target DIE has invalid "
-		         "low pc, for referencing DIE 0x%x [in module %s]"),
-		       to_underlying (die->sect_off), objfile_name (objfile));
+	    complaint (_("DW_AT_call_target target DIE has invalid "
+		         "low pc, for referencing DIE %s [in module %s]"),
+		       sect_offset_str (die->sect_off), objfile_name (objfile));
 	  else
 	    {
 	      lowpc = gdbarch_adjust_dwarf2_addr (gdbarch, lowpc + baseaddr);
@@ -14110,10 +13990,9 @@ read_call_site_scope (struct die_info *d
 	}
     }
   else
-    complaint (&symfile_complaints,
-	       _("DW_TAG_call_site DW_AT_call_target is neither "
-		 "block nor reference, for DIE 0x%x [in module %s]"),
-	       to_underlying (die->sect_off), objfile_name (objfile));
+    complaint (_("DW_TAG_call_site DW_AT_call_target is neither "
+		 "block nor reference, for DIE %s [in module %s]"),
+	       sect_offset_str (die->sect_off), objfile_name (objfile));
 
   call_site->per_cu = cu->per_cu;
 
@@ -14157,10 +14036,9 @@ read_call_site_scope (struct die_info *d
 	      /* As DW_OP_GNU_parameter_ref uses CU-relative offset this
 		 binding can be done only inside one CU.  Such referenced DIE
 		 therefore cannot be even moved to DW_TAG_partial_unit.  */
-	      complaint (&symfile_complaints,
-			 _("DW_AT_call_parameter offset is not in CU for "
-			   "DW_TAG_call_site child DIE 0x%x [in module %s]"),
-			 to_underlying (child_die->sect_off),
+	      complaint (_("DW_AT_call_parameter offset is not in CU for "
+			   "DW_TAG_call_site child DIE %s [in module %s]"),
+			 sect_offset_str (child_die->sect_off),
 			 objfile_name (objfile));
 	      continue;
 	    }
@@ -14169,10 +14047,9 @@ read_call_site_scope (struct die_info *d
 	}
       else if (loc == NULL || origin != NULL || !attr_form_is_block (loc))
 	{
-	  complaint (&symfile_complaints,
-		     _("No DW_FORM_block* DW_AT_location for "
-		       "DW_TAG_call_site child DIE 0x%x [in module %s]"),
-		     to_underlying (child_die->sect_off), objfile_name (objfile));
+	  complaint (_("No DW_FORM_block* DW_AT_location for "
+		       "DW_TAG_call_site child DIE %s [in module %s]"),
+		     sect_offset_str (child_die->sect_off), objfile_name (objfile));
 	  continue;
 	}
       else
@@ -14187,12 +14064,11 @@ read_call_site_scope (struct die_info *d
 	    parameter->kind = CALL_SITE_PARAMETER_FB_OFFSET;
 	  else
 	    {
-	      complaint (&symfile_complaints,
-			 _("Only single DW_OP_reg or DW_OP_fbreg is supported "
+	      complaint (_("Only single DW_OP_reg or DW_OP_fbreg is supported "
 			   "for DW_FORM_block* DW_AT_location is supported for "
-			   "DW_TAG_call_site child DIE 0x%x "
+			   "DW_TAG_call_site child DIE %s "
 			   "[in module %s]"),
-			 to_underlying (child_die->sect_off),
+			 sect_offset_str (child_die->sect_off),
 			 objfile_name (objfile));
 	      continue;
 	    }
@@ -14203,10 +14079,9 @@ read_call_site_scope (struct die_info *d
 	attr = dwarf2_attr (child_die, DW_AT_GNU_call_site_value, cu);
       if (!attr_form_is_block (attr))
 	{
-	  complaint (&symfile_complaints,
-		     _("No DW_FORM_block* DW_AT_call_value for "
-		       "DW_TAG_call_site child DIE 0x%x [in module %s]"),
-		     to_underlying (child_die->sect_off),
+	  complaint (_("No DW_FORM_block* DW_AT_call_value for "
+		       "DW_TAG_call_site child DIE %s [in module %s]"),
+		     sect_offset_str (child_die->sect_off),
 		     objfile_name (objfile));
 	  continue;
 	}
@@ -14224,10 +14099,9 @@ read_call_site_scope (struct die_info *d
       if (attr)
 	{
 	  if (!attr_form_is_block (attr))
-	    complaint (&symfile_complaints,
-		       _("No DW_FORM_block* DW_AT_call_data_value for "
-			 "DW_TAG_call_site child DIE 0x%x [in module %s]"),
-		       to_underlying (child_die->sect_off),
+	    complaint (_("No DW_FORM_block* DW_AT_call_data_value for "
+			 "DW_TAG_call_site child DIE %s [in module %s]"),
+		       sect_offset_str (child_die->sect_off),
 		       objfile_name (objfile));
 	  else
 	    {
@@ -14276,7 +14150,7 @@ read_variable (struct die_info *die, str
 
       if (containing_type != NULL)
 	{
-	  struct objfile *objfile = cu->objfile;
+	  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
 
 	  storage = OBSTACK_ZALLOC (&objfile->objfile_obstack,
 				    struct rust_vtable_symbol);
@@ -14286,7 +14160,7 @@ read_variable (struct die_info *die, str
 	}
     }
 
-  new_symbol_full (die, NULL, cu, storage);
+  new_symbol (die, NULL, cu, storage);
 }
 
 /* Call CALLBACK from DW_AT_ranges attribute value OFFSET
@@ -14301,7 +14175,9 @@ static bool
 dwarf2_rnglists_process (unsigned offset, struct dwarf2_cu *cu,
 			 Callback &&callback)
 {
-  struct objfile *objfile = cu->objfile;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   bfd *obfd = objfile->obfd;
   /* Base address selection entry.  */
   CORE_ADDR base;
@@ -14316,8 +14192,7 @@ dwarf2_rnglists_process (unsigned offset
   dwarf2_read_section (objfile, &dwarf2_per_objfile->rnglists);
   if (offset >= dwarf2_per_objfile->rnglists.size)
     {
-      complaint (&symfile_complaints,
-		 _("Offset %d out of bounds for DW_AT_ranges attribute"),
+      complaint (_("Offset %d out of bounds for DW_AT_ranges attribute"),
 		 offset);
       return false;
     }
@@ -14398,8 +14273,7 @@ dwarf2_rnglists_process (unsigned offset
 	  buffer += bytes_read;
 	  break;
 	default:
-	  complaint (&symfile_complaints,
-		     _("Invalid .debug_rnglists data (no base address)"));
+	  complaint (_("Invalid .debug_rnglists data (no base address)"));
 	  return false;
 	}
       if (rlet == DW_RLE_end_of_list || overflow)
@@ -14411,16 +14285,14 @@ dwarf2_rnglists_process (unsigned offset
 	{
 	  /* We have no valid base address for the ranges
 	     data.  */
-	  complaint (&symfile_complaints,
-		     _("Invalid .debug_rnglists data (no base address)"));
+	  complaint (_("Invalid .debug_rnglists data (no base address)"));
 	  return false;
 	}
 
       if (range_beginning > range_end)
 	{
 	  /* Inverted range entries are invalid.  */
-	  complaint (&symfile_complaints,
-		     _("Invalid .debug_rnglists data (inverted range)"));
+	  complaint (_("Invalid .debug_rnglists data (inverted range)"));
 	  return false;
 	}
 
@@ -14436,8 +14308,7 @@ dwarf2_rnglists_process (unsigned offset
       if (range_beginning + baseaddr == 0
 	  && !dwarf2_per_objfile->has_section_at_zero)
 	{
-	  complaint (&symfile_complaints,
-		     _(".debug_rnglists entry has start address of zero"
+	  complaint (_(".debug_rnglists entry has start address of zero"
 		       " [in module %s]"), objfile_name (objfile));
 	  continue;
 	}
@@ -14447,8 +14318,7 @@ dwarf2_rnglists_process (unsigned offset
 
   if (overflow)
     {
-      complaint (&symfile_complaints,
-		 _("Offset %d is not terminated "
+      complaint (_("Offset %d is not terminated "
 		   "for DW_AT_ranges attribute"),
 		 offset);
       return false;
@@ -14467,7 +14337,9 @@ static int
 dwarf2_ranges_process (unsigned offset, struct dwarf2_cu *cu,
 		       Callback &&callback)
 {
-  struct objfile *objfile = cu->objfile;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+      = cu->per_cu->dwarf2_per_objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct comp_unit_head *cu_header = &cu->header;
   bfd *obfd = objfile->obfd;
   unsigned int addr_size = cu_header->addr_size;
@@ -14488,8 +14360,7 @@ dwarf2_ranges_process (unsigned offset, 
   dwarf2_read_section (objfile, &dwarf2_per_objfile->ranges);
   if (offset >= dwarf2_per_objfile->ranges.size)
     {
-      complaint (&symfile_complaints,
-		 _("Offset %d out of bounds for DW_AT_ranges attribute"),
+      complaint (_("Offset %d out of bounds for DW_AT_ranges attribute"),
 		 offset);
       return 0;
     }
@@ -14528,16 +14399,14 @@ dwarf2_ranges_process (unsigned offset, 
 	{
 	  /* We have no valid base address for the ranges
 	     data.  */
-	  complaint (&symfile_complaints,
-		     _("Invalid .debug_ranges data (no base address)"));
+	  complaint (_("Invalid .debug_ranges data (no base address)"));
 	  return 0;
 	}
 
       if (range_beginning > range_end)
 	{
 	  /* Inverted range entries are invalid.  */
-	  complaint (&symfile_complaints,
-		     _("Invalid .debug_ranges data (inverted range)"));
+	  complaint (_("Invalid .debug_ranges data (inverted range)"));
 	  return 0;
 	}
 
@@ -14553,8 +14422,7 @@ dwarf2_ranges_process (unsigned offset, 
       if (range_beginning + baseaddr == 0
 	  && !dwarf2_per_objfile->has_section_at_zero)
 	{
-	  complaint (&symfile_complaints,
-		     _(".debug_ranges entry has start address of zero"
+	  complaint (_(".debug_ranges entry has start address of zero"
 		       " [in module %s]"), objfile_name (objfile));
 	  continue;
 	}
@@ -14574,7 +14442,7 @@ dwarf2_ranges_read (unsigned offset, COR
 		    CORE_ADDR *high_return, struct dwarf2_cu *cu,
 		    struct partial_symtab *ranges_pst)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   const CORE_ADDR baseaddr = ANOFFSET (objfile->section_offsets,
 				       SECT_OFF_TEXT (objfile));
@@ -14641,6 +14509,8 @@ dwarf2_get_pc_bounds (struct die_info *d
 		      CORE_ADDR *highpc, struct dwarf2_cu *cu,
 		      struct partial_symtab *pst)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct attribute *attr;
   struct attribute *attr_high;
   CORE_ADDR low = 0;
@@ -14690,7 +14560,7 @@ dwarf2_get_pc_bounds (struct die_info *d
 	return PC_BOUNDS_NOT_PRESENT;
     }
 
-  /* read_partial_die has also the strict LOW < HIGH requirement.  */
+  /* partial_die_info::read has also the strict LOW < HIGH requirement.  */
   if (high <= low)
     return PC_BOUNDS_INVALID;
 
@@ -14815,7 +14685,7 @@ static void
 dwarf2_record_block_ranges (struct die_info *die, struct block *block,
                             CORE_ADDR baseaddr, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct attribute *attr;
   struct attribute *attr_high;
@@ -14850,24 +14720,6 @@ dwarf2_record_block_ranges (struct die_i
          address range list in the .debug_ranges section.  */
       unsigned long offset = (DW_UNSND (attr)
 			      + (need_ranges_base ? cu->ranges_base : 0));
-      const gdb_byte *buffer;
-
-      /* For some target architectures, but not others, the
-         read_address function sign-extends the addresses it returns.
-         To recognize base address selection entries, we need a
-         mask.  */
-      unsigned int addr_size = cu->header.addr_size;
-      CORE_ADDR base_select_mask = ~(~(CORE_ADDR)1 << (addr_size * 8 - 1));
-
-      /* The base address, to which the next pair is relative.  Note
-         that this 'base' is a DWARF concept: most entries in a range
-         list are relative, to reduce the number of relocs against the
-         debugging information.  This is separate from this function's
-         'baseaddr' argument, which GDB uses to relocate debugging
-         information from a shared library based on the address at
-         which the library was loaded.  */
-      CORE_ADDR base = cu->base_address;
-      int base_known = cu->base_known;
 
       dwarf2_ranges_process (offset, cu,
 	[&] (CORE_ADDR start, CORE_ADDR end)
@@ -14999,28 +14851,24 @@ static void
 dwarf2_add_field (struct field_info *fip, struct die_info *die,
 		  struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct nextfield *new_field;
   struct attribute *attr;
   struct field *fp;
   const char *fieldname = "";
 
-  /* Allocate a new field list entry and link it in.  */
-  new_field = XNEW (struct nextfield);
-  make_cleanup (xfree, new_field);
-  memset (new_field, 0, sizeof (struct nextfield));
-
   if (die->tag == DW_TAG_inheritance)
     {
-      new_field->next = fip->baseclasses;
-      fip->baseclasses = new_field;
+      fip->baseclasses.emplace_back ();
+      new_field = &fip->baseclasses.back ();
     }
   else
     {
-      new_field->next = fip->fields;
-      fip->fields = new_field;
+      fip->fields.emplace_back ();
+      new_field = &fip->fields.back ();
     }
+
   fip->nfields++;
 
   attr = dwarf2_attr (die, DW_AT_accessibility, cu);
@@ -15179,9 +15027,22 @@ dwarf2_add_field (struct field_info *fip
 	SET_FIELD_BITPOS (*fp, offset * bits_per_byte);
       FIELD_BITSIZE (*fp) = 0;
       FIELD_TYPE (*fp) = die_type (die, cu);
-      FIELD_NAME (*fp) = type_name_no_tag (fp->type);
-      fip->nbaseclasses++;
+      FIELD_NAME (*fp) = TYPE_NAME (fp->type);
+    }
+  else if (die->tag == DW_TAG_variant_part)
+    {
+      /* process_structure_scope will treat this DIE as a union.  */
+      process_structure_scope (die, cu);
+
+      /* The variant part is relative to the start of the enclosing
+	 structure.  */
+      SET_FIELD_BITPOS (*fp, 0);
+      fp->type = get_die_type (die, cu);
+      fp->artificial = 1;
+      fp->name = "<<variant>>";
     }
+  else
+    gdb_assert_not_reached ("missing case in dwarf2_add_field");
 }
 
 /* Can the type given by DIE define another type?  */
@@ -15209,20 +15070,14 @@ static void
 dwarf2_add_type_defn (struct field_info *fip, struct die_info *die,
 		      struct dwarf2_cu *cu)
 {
-  struct decl_field_list *new_field;
-  struct decl_field *fp;
-
-  /* Allocate a new field list entry and link it in.  */
-  new_field = XCNEW (struct decl_field_list);
-  make_cleanup (xfree, new_field);
+  struct decl_field fp;
+  memset (&fp, 0, sizeof (fp));
 
   gdb_assert (type_can_define_types (die));
 
-  fp = &new_field->field;
-
   /* Get name of field.  NULL is okay here, meaning an anonymous type.  */
-  fp->name = dwarf2_name (die, cu);
-  fp->type = read_type_die (die, cu);
+  fp.name = dwarf2_name (die, cu);
+  fp.type = read_type_die (die, cu);
 
   /* Save accessibility.  */
   enum dwarf_access_attribute accessibility;
@@ -15237,28 +15092,19 @@ dwarf2_add_type_defn (struct field_info 
       /* The assumed value if neither private nor protected.  */
       break;
     case DW_ACCESS_private:
-      fp->is_private = 1;
+      fp.is_private = 1;
       break;
     case DW_ACCESS_protected:
-      fp->is_protected = 1;
+      fp.is_protected = 1;
       break;
     default:
-      complaint (&symfile_complaints,
-		 _("Unhandled DW_AT_accessibility value (%x)"), accessibility);
+      complaint (_("Unhandled DW_AT_accessibility value (%x)"), accessibility);
     }
 
   if (die->tag == DW_TAG_typedef)
-    {
-      new_field->next = fip->typedef_field_list;
-      fip->typedef_field_list = new_field;
-      fip->typedef_field_list_count++;
-    }
+    fip->typedef_field_list.push_back (fp);
   else
-    {
-      new_field->next = fip->nested_types_list;
-      fip->nested_types_list = new_field;
-      fip->nested_types_list_count++;
-    }
+    fip->nested_types_list.push_back (fp);
 }
 
 /* Create the vector of fields, and attach it to the type.  */
@@ -15273,8 +15119,7 @@ dwarf2_attach_fields_to_type (struct fie
      and create blank accessibility bitfields if necessary.  */
   TYPE_NFIELDS (type) = nfields;
   TYPE_FIELDS (type) = (struct field *)
-    TYPE_ALLOC (type, sizeof (struct field) * nfields);
-  memset (TYPE_FIELDS (type), 0, sizeof (struct field) * nfields);
+    TYPE_ZALLOC (type, sizeof (struct field) * nfields);
 
   if (fip->non_public_fields && cu->language != language_ada)
     {
@@ -15295,47 +15140,53 @@ dwarf2_attach_fields_to_type (struct fie
 
   /* If the type has baseclasses, allocate and clear a bit vector for
      TYPE_FIELD_VIRTUAL_BITS.  */
-  if (fip->nbaseclasses && cu->language != language_ada)
+  if (!fip->baseclasses.empty () && cu->language != language_ada)
     {
-      int num_bytes = B_BYTES (fip->nbaseclasses);
+      int num_bytes = B_BYTES (fip->baseclasses.size ());
       unsigned char *pointer;
 
       ALLOCATE_CPLUS_STRUCT_TYPE (type);
       pointer = (unsigned char *) TYPE_ALLOC (type, num_bytes);
       TYPE_FIELD_VIRTUAL_BITS (type) = pointer;
-      B_CLRALL (TYPE_FIELD_VIRTUAL_BITS (type), fip->nbaseclasses);
-      TYPE_N_BASECLASSES (type) = fip->nbaseclasses;
+      B_CLRALL (TYPE_FIELD_VIRTUAL_BITS (type), fip->baseclasses.size ());
+      TYPE_N_BASECLASSES (type) = fip->baseclasses.size ();
     }
 
-  /* Copy the saved-up fields into the field vector.  Start from the head of
-     the list, adding to the tail of the field array, so that they end up in
-     the same order in the array in which they were added to the list.  */
-  while (nfields-- > 0)
+  if (TYPE_FLAG_DISCRIMINATED_UNION (type))
     {
-      struct nextfield *fieldp;
+      struct discriminant_info *di = alloc_discriminant_info (type, -1, -1);
 
-      if (fip->fields)
-	{
-	  fieldp = fip->fields;
-	  fip->fields = fieldp->next;
-	}
-      else
+      for (int index = 0; index < nfields; ++index)
 	{
-	  fieldp = fip->baseclasses;
-	  fip->baseclasses = fieldp->next;
+	  struct nextfield &field = fip->fields[index];
+
+	  if (field.variant.is_discriminant)
+	    di->discriminant_index = index;
+	  else if (field.variant.default_branch)
+	    di->default_index = index;
+	  else
+	    di->discriminants[index] = field.variant.discriminant_value;
 	}
+    }
+
+  /* Copy the saved-up fields into the field vector.  */
+  for (int i = 0; i < nfields; ++i)
+    {
+      struct nextfield &field
+	= ((i < fip->baseclasses.size ()) ? fip->baseclasses[i]
+	   : fip->fields[i - fip->baseclasses.size ()]);
 
-      TYPE_FIELD (type, nfields) = fieldp->field;
-      switch (fieldp->accessibility)
+      TYPE_FIELD (type, i) = field.field;
+      switch (field.accessibility)
 	{
 	case DW_ACCESS_private:
 	  if (cu->language != language_ada)
-	    SET_TYPE_FIELD_PRIVATE (type, nfields);
+	    SET_TYPE_FIELD_PRIVATE (type, i);
 	  break;
 
 	case DW_ACCESS_protected:
 	  if (cu->language != language_ada)
-	    SET_TYPE_FIELD_PROTECTED (type, nfields);
+	    SET_TYPE_FIELD_PROTECTED (type, i);
 	  break;
 
 	case DW_ACCESS_public:
@@ -15344,20 +15195,20 @@ dwarf2_attach_fields_to_type (struct fie
 	default:
 	  /* Unknown accessibility.  Complain and treat it as public.  */
 	  {
-	    complaint (&symfile_complaints, _("unsupported accessibility %d"),
-		       fieldp->accessibility);
+	    complaint (_("unsupported accessibility %d"),
+		       field.accessibility);
 	  }
 	  break;
 	}
-      if (nfields < fip->nbaseclasses)
+      if (i < fip->baseclasses.size ())
 	{
-	  switch (fieldp->virtuality)
+	  switch (field.virtuality)
 	    {
 	    case DW_VIRTUALITY_virtual:
 	    case DW_VIRTUALITY_pure_virtual:
 	      if (cu->language == language_ada)
 		error (_("unexpected virtuality in component of Ada type"));
-	      SET_TYPE_FIELD_VIRTUAL (type, nfields);
+	      SET_TYPE_FIELD_VIRTUAL (type, i);
 	      break;
 	    }
 	}
@@ -15398,13 +15249,12 @@ static void
 dwarf2_add_member_fn (struct field_info *fip, struct die_info *die,
 		      struct type *type, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct attribute *attr;
-  struct fnfieldlist *flp;
   int i;
+  struct fnfieldlist *flp = nullptr;
   struct fn_field *fnp;
   const char *fieldname;
-  struct nextfnfield *new_fnfield;
   struct type *this_type;
   enum dwarf_access_attribute accessibility;
 
@@ -15417,51 +15267,33 @@ dwarf2_add_member_fn (struct field_info 
     return;
 
   /* Look up member function name in fieldlist.  */
-  for (i = 0; i < fip->nfnfields; i++)
+  for (i = 0; i < fip->fnfieldlists.size (); i++)
     {
       if (strcmp (fip->fnfieldlists[i].name, fieldname) == 0)
-	break;
+	{
+	  flp = &fip->fnfieldlists[i];
+	  break;
+	}
     }
 
-  /* Create new list element if necessary.  */
-  if (i < fip->nfnfields)
-    flp = &fip->fnfieldlists[i];
-  else
+  /* Create a new fnfieldlist if necessary.  */
+  if (flp == nullptr)
     {
-      if ((fip->nfnfields % DW_FIELD_ALLOC_CHUNK) == 0)
-	{
-	  fip->fnfieldlists = (struct fnfieldlist *)
-	    xrealloc (fip->fnfieldlists,
-		      (fip->nfnfields + DW_FIELD_ALLOC_CHUNK)
-		      * sizeof (struct fnfieldlist));
-	  if (fip->nfnfields == 0)
-	    make_cleanup (free_current_contents, &fip->fnfieldlists);
-	}
-      flp = &fip->fnfieldlists[fip->nfnfields];
+      fip->fnfieldlists.emplace_back ();
+      flp = &fip->fnfieldlists.back ();
       flp->name = fieldname;
-      flp->length = 0;
-      flp->head = NULL;
-      i = fip->nfnfields++;
-    }
-
-  /* Create a new member function field and chain it to the field list
-     entry.  */
-  new_fnfield = XNEW (struct nextfnfield);
-  make_cleanup (xfree, new_fnfield);
-  memset (new_fnfield, 0, sizeof (struct nextfnfield));
-  new_fnfield->next = flp->head;
-  flp->head = new_fnfield;
-  flp->length++;
+      i = fip->fnfieldlists.size () - 1;
+    }
 
-  /* Fill in the member function field info.  */
-  fnp = &new_fnfield->fnfield;
+  /* Create a new member function field and add it to the vector of
+     fnfieldlists.  */
+  flp->fnfields.emplace_back ();
+  fnp = &flp->fnfields.back ();
 
   /* Delay processing of the physname until later.  */
   if (cu->language == language_cplus)
-    {
-      add_to_method_list (type, i, flp->length - 1, fieldname,
-			  die, cu);
-    }
+    add_to_method_list (type, i, flp->fnfields.size () - 1, fieldname,
+			die, cu);
   else
     {
       const char *physname = dwarf2_physname (fieldname, die, cu);
@@ -15492,7 +15324,7 @@ dwarf2_add_member_fn (struct field_info 
 	fnp->voffset = VOFFSET_STATIC;
     }
   else
-    complaint (&symfile_complaints, _("member function type missing for '%s'"),
+    complaint (_("member function type missing for '%s'"),
 	       dwarf2_full_name (fieldname, die, cu));
 
   /* Get fcontext from DW_AT_containing_type if present.  */
@@ -15564,10 +15396,9 @@ dwarf2_add_member_fn (struct field_info 
 	      if (TYPE_NFIELDS (this_type) == 0
 		  || !TYPE_FIELD_ARTIFICIAL (this_type, 0))
 		{
-		  complaint (&symfile_complaints,
-			     _("cannot determine context for virtual member "
-			       "function \"%s\" (offset %d)"),
-			     fieldname, to_underlying (die->sect_off));
+		  complaint (_("cannot determine context for virtual member "
+			       "function \"%s\" (offset %s)"),
+			     fieldname, sect_offset_str (die->sect_off));
 		}
 	      else
 		{
@@ -15592,10 +15423,9 @@ dwarf2_add_member_fn (struct field_info 
       if (attr && DW_UNSND (attr))
 	{
 	  /* GCC does this, as of 2008-08-25; PR debug/37237.  */
-	  complaint (&symfile_complaints,
-		     _("Member function \"%s\" (offset %d) is virtual "
+	  complaint (_("Member function \"%s\" (offset %s) is virtual "
 		       "but the vtable offset is not specified"),
-		     fieldname, to_underlying (die->sect_off));
+		     fieldname, sect_offset_str (die->sect_off));
 	  ALLOCATE_CPLUS_STRUCT_TYPE (type);
 	  TYPE_CPLUS_DYNAMIC (type) = 1;
 	}
@@ -15608,31 +15438,29 @@ static void
 dwarf2_attach_fn_fields_to_type (struct field_info *fip, struct type *type,
 				 struct dwarf2_cu *cu)
 {
-  struct fnfieldlist *flp;
-  int i;
-
   if (cu->language == language_ada)
     error (_("unexpected member functions in Ada type"));
 
   ALLOCATE_CPLUS_STRUCT_TYPE (type);
   TYPE_FN_FIELDLISTS (type) = (struct fn_fieldlist *)
-    TYPE_ALLOC (type, sizeof (struct fn_fieldlist) * fip->nfnfields);
+    TYPE_ALLOC (type,
+		sizeof (struct fn_fieldlist) * fip->fnfieldlists.size ());
 
-  for (i = 0, flp = fip->fnfieldlists; i < fip->nfnfields; i++, flp++)
+  for (int i = 0; i < fip->fnfieldlists.size (); i++)
     {
-      struct nextfnfield *nfp = flp->head;
+      struct fnfieldlist &nf = fip->fnfieldlists[i];
       struct fn_fieldlist *fn_flp = &TYPE_FN_FIELDLIST (type, i);
-      int k;
 
-      TYPE_FN_FIELDLIST_NAME (type, i) = flp->name;
-      TYPE_FN_FIELDLIST_LENGTH (type, i) = flp->length;
+      TYPE_FN_FIELDLIST_NAME (type, i) = nf.name;
+      TYPE_FN_FIELDLIST_LENGTH (type, i) = nf.fnfields.size ();
       fn_flp->fn_fields = (struct fn_field *)
-	TYPE_ALLOC (type, sizeof (struct fn_field) * flp->length);
-      for (k = flp->length; (k--, nfp); nfp = nfp->next)
-	fn_flp->fn_fields[k] = nfp->fnfield;
+	TYPE_ALLOC (type, sizeof (struct fn_field) * nf.fnfields.size ());
+
+      for (int k = 0; k < nf.fnfields.size (); ++k)
+	fn_flp->fn_fields[k] = nf.fnfields[k];
     }
 
-  TYPE_NFN_FIELDS (type) = fip->nfnfields;
+  TYPE_NFN_FIELDS (type) = fip->fnfieldlists.size ();
 }
 
 /* Returns non-zero if NAME is the name of a vtable member in CU's
@@ -15694,6 +15522,77 @@ quirk_gcc_member_function_pointer (struc
   smash_to_methodptr_type (type, new_type);
 }
 
+/* If the DIE has a DW_AT_alignment attribute, return its value, doing
+   appropriate error checking and issuing complaints if there is a
+   problem.  */
+
+static ULONGEST
+get_alignment (struct dwarf2_cu *cu, struct die_info *die)
+{
+  struct attribute *attr = dwarf2_attr (die, DW_AT_alignment, cu);
+
+  if (attr == nullptr)
+    return 0;
+
+  if (!attr_form_is_constant (attr))
+    {
+      complaint (_("DW_AT_alignment must have constant form"
+		   " - DIE at %s [in module %s]"),
+		 sect_offset_str (die->sect_off),
+		 objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
+      return 0;
+    }
+
+  ULONGEST align;
+  if (attr->form == DW_FORM_sdata)
+    {
+      LONGEST val = DW_SND (attr);
+      if (val < 0)
+	{
+	  complaint (_("DW_AT_alignment value must not be negative"
+		       " - DIE at %s [in module %s]"),
+		     sect_offset_str (die->sect_off),
+		     objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
+	  return 0;
+	}
+      align = val;
+    }
+  else
+    align = DW_UNSND (attr);
+
+  if (align == 0)
+    {
+      complaint (_("DW_AT_alignment value must not be zero"
+		   " - DIE at %s [in module %s]"),
+		 sect_offset_str (die->sect_off),
+		 objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
+      return 0;
+    }
+  if ((align & (align - 1)) != 0)
+    {
+      complaint (_("DW_AT_alignment value must be a power of 2"
+		   " - DIE at %s [in module %s]"),
+		 sect_offset_str (die->sect_off),
+		 objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
+      return 0;
+    }
+
+  return align;
+}
+
+/* If the DIE has a DW_AT_alignment attribute, use its value to set
+   the alignment for TYPE.  */
+
+static void
+maybe_set_alignment (struct dwarf2_cu *cu, struct die_info *die,
+		     struct type *type)
+{
+  if (!set_type_align (type, get_alignment (cu, die)))
+    complaint (_("DW_AT_alignment value too large"
+		 " - DIE at %s [in module %s]"),
+	       sect_offset_str (die->sect_off),
+	       objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
+}
 
 /* Called when we find the DIE that starts a structure or union scope
    (definition) to create a type for the structure or union.  Fill in
@@ -15710,7 +15609,7 @@ quirk_gcc_member_function_pointer (struc
 static struct type *
 read_structure_type (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct type *type;
   struct attribute *attr;
   const char *name;
@@ -15745,18 +15644,13 @@ read_structure_type (struct die_info *di
 	  if (get_die_type (die, cu) != NULL)
 	    return get_die_type (die, cu);
 
-	  TYPE_TAG_NAME (type) = full_name;
-	  if (die->tag == DW_TAG_structure_type
-	      || die->tag == DW_TAG_class_type)
-	    TYPE_NAME (type) = TYPE_TAG_NAME (type);
+	  TYPE_NAME (type) = full_name;
 	}
       else
 	{
 	  /* The name is already allocated along with this objfile, so
 	     we don't need to duplicate it for the type.  */
-	  TYPE_TAG_NAME (type) = name;
-	  if (die->tag == DW_TAG_class_type)
-	    TYPE_NAME (type) = TYPE_TAG_NAME (type);
+	  TYPE_NAME (type) = name;
 	}
     }
 
@@ -15768,6 +15662,11 @@ read_structure_type (struct die_info *di
     {
       TYPE_CODE (type) = TYPE_CODE_UNION;
     }
+  else if (die->tag == DW_TAG_variant_part)
+    {
+      TYPE_CODE (type) = TYPE_CODE_UNION;
+      TYPE_FLAG_DISCRIMINATED_UNION (type) = 1;
+    }
   else
     {
       TYPE_CODE (type) = TYPE_CODE_STRUCT;
@@ -15799,6 +15698,8 @@ read_structure_type (struct die_info *di
       TYPE_LENGTH (type) = 0;
     }
 
+  maybe_set_alignment (cu, die, type);
+
   if (producer_is_icc_lt_14 (cu) && (TYPE_LENGTH (type) == 0))
     {
       /* ICC<14 does not output the required DW_AT_declaration on
@@ -15827,13 +15728,98 @@ read_structure_type (struct die_info *di
   return type;
 }
 
-/* Finish creating a structure or union type, including filling in
-   its members and creating a symbol for it.  */
+/* A helper for process_structure_scope that handles a single member
+   DIE.  */
+
+static void
+handle_struct_member_die (struct die_info *child_die, struct type *type,
+			  struct field_info *fi,
+			  std::vector<struct symbol *> *template_args,
+			  struct dwarf2_cu *cu)
+{
+  if (child_die->tag == DW_TAG_member
+      || child_die->tag == DW_TAG_variable
+      || child_die->tag == DW_TAG_variant_part)
+    {
+      /* NOTE: carlton/2002-11-05: A C++ static data member
+	 should be a DW_TAG_member that is a declaration, but
+	 all versions of G++ as of this writing (so through at
+	 least 3.2.1) incorrectly generate DW_TAG_variable
+	 tags for them instead.  */
+      dwarf2_add_field (fi, child_die, cu);
+    }
+  else if (child_die->tag == DW_TAG_subprogram)
+    {
+      /* Rust doesn't have member functions in the C++ sense.
+	 However, it does emit ordinary functions as children
+	 of a struct DIE.  */
+      if (cu->language == language_rust)
+	read_func_scope (child_die, cu);
+      else
+	{
+	  /* C++ member function.  */
+	  dwarf2_add_member_fn (fi, child_die, type, cu);
+	}
+    }
+  else if (child_die->tag == DW_TAG_inheritance)
+    {
+      /* C++ base class field.  */
+      dwarf2_add_field (fi, child_die, cu);
+    }
+  else if (type_can_define_types (child_die))
+    dwarf2_add_type_defn (fi, child_die, cu);
+  else if (child_die->tag == DW_TAG_template_type_param
+	   || child_die->tag == DW_TAG_template_value_param)
+    {
+      struct symbol *arg = new_symbol (child_die, NULL, cu);
+
+      if (arg != NULL)
+	template_args->push_back (arg);
+    }
+  else if (child_die->tag == DW_TAG_variant)
+    {
+      /* In a variant we want to get the discriminant and also add a
+	 field for our sole member child.  */
+      struct attribute *discr = dwarf2_attr (child_die, DW_AT_discr_value, cu);
+
+      for (struct die_info *variant_child = child_die->child;
+	   variant_child != NULL;
+	   variant_child = sibling_die (variant_child))
+	{
+	  if (variant_child->tag == DW_TAG_member)
+	    {
+	      handle_struct_member_die (variant_child, type, fi,
+					template_args, cu);
+	      /* Only handle the one.  */
+	      break;
+	    }
+	}
+
+      /* We don't handle this but we might as well report it if we see
+	 it.  */
+      if (dwarf2_attr (child_die, DW_AT_discr_list, cu) != nullptr)
+	  complaint (_("DW_AT_discr_list is not supported yet"
+		       " - DIE at %s [in module %s]"),
+		     sect_offset_str (child_die->sect_off),
+		     objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
+
+      /* The first field was just added, so we can stash the
+	 discriminant there.  */
+      gdb_assert (!fi->fields.empty ());
+      if (discr == NULL)
+	fi->fields.back ().variant.default_branch = true;
+      else
+	fi->fields.back ().variant.discriminant_value = DW_UNSND (discr);
+    }
+}
+
+/* Finish creating a structure or union type, including filling in
+   its members and creating a symbol for it.  */
 
 static void
 process_structure_scope (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct die_info *child_die;
   struct type *type;
 
@@ -15841,56 +15827,51 @@ process_structure_scope (struct die_info
   if (type == NULL)
     type = read_structure_type (die, cu);
 
+  /* When reading a DW_TAG_variant_part, we need to notice when we
+     read the discriminant member, so we can record it later in the
+     discriminant_info.  */
+  bool is_variant_part = TYPE_FLAG_DISCRIMINATED_UNION (type);
+  sect_offset discr_offset;
+
+  if (is_variant_part)
+    {
+      struct attribute *discr = dwarf2_attr (die, DW_AT_discr, cu);
+      if (discr == NULL)
+	{
+	  /* Maybe it's a univariant form, an extension we support.
+	     In this case arrange not to check the offset.  */
+	  is_variant_part = false;
+	}
+      else if (attr_form_is_ref (discr))
+	{
+	  struct dwarf2_cu *target_cu = cu;
+	  struct die_info *target_die = follow_die_ref (die, discr, &target_cu);
+
+	  discr_offset = target_die->sect_off;
+	}
+      else
+	{
+	  complaint (_("DW_AT_discr does not have DIE reference form"
+		       " - DIE at %s [in module %s]"),
+		     sect_offset_str (die->sect_off),
+		     objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
+	  is_variant_part = false;
+	}
+    }
+
   if (die->child != NULL && ! die_is_declaration (die, cu))
     {
       struct field_info fi;
       std::vector<struct symbol *> template_args;
-      struct cleanup *back_to = make_cleanup (null_cleanup, 0);
-
-      memset (&fi, 0, sizeof (struct field_info));
 
       child_die = die->child;
 
       while (child_die && child_die->tag)
 	{
-	  if (child_die->tag == DW_TAG_member
-	      || child_die->tag == DW_TAG_variable)
-	    {
-	      /* NOTE: carlton/2002-11-05: A C++ static data member
-		 should be a DW_TAG_member that is a declaration, but
-		 all versions of G++ as of this writing (so through at
-		 least 3.2.1) incorrectly generate DW_TAG_variable
-		 tags for them instead.  */
-	      dwarf2_add_field (&fi, child_die, cu);
-	    }
-	  else if (child_die->tag == DW_TAG_subprogram)
-	    {
-	      /* Rust doesn't have member functions in the C++ sense.
-		 However, it does emit ordinary functions as children
-		 of a struct DIE.  */
-	      if (cu->language == language_rust)
-		read_func_scope (child_die, cu);
-	      else
-		{
-		  /* C++ member function.  */
-		  dwarf2_add_member_fn (&fi, child_die, type, cu);
-		}
-	    }
-	  else if (child_die->tag == DW_TAG_inheritance)
-	    {
-	      /* C++ base class field.  */
-	      dwarf2_add_field (&fi, child_die, cu);
-	    }
-	  else if (type_can_define_types (child_die))
-	    dwarf2_add_type_defn (&fi, child_die, cu);
-	  else if (child_die->tag == DW_TAG_template_type_param
-		   || child_die->tag == DW_TAG_template_value_param)
-	    {
-	      struct symbol *arg = new_symbol (child_die, NULL, cu);
+	  handle_struct_member_die (child_die, type, &fi, &template_args, cu);
 
-	      if (arg != NULL)
-		template_args.push_back (arg);
-	    }
+	  if (is_variant_part && discr_offset == child_die->sect_off)
+	    fi.fields.back ().variant.is_discriminant = true;
 
 	  child_die = sibling_die (child_die);
 	}
@@ -15913,7 +15894,7 @@ process_structure_scope (struct die_info
       /* Attach fields and member functions to the type.  */
       if (fi.nfields)
 	dwarf2_attach_fields_to_type (&fi, type, cu);
-      if (fi.nfnfields)
+      if (!fi.fnfieldlists.empty ())
 	{
 	  dwarf2_attach_fn_fields_to_type (&fi, type, cu);
 
@@ -15947,11 +15928,9 @@ process_structure_scope (struct die_info
 
 		  /* Complain if virtual function table field not found.  */
 		  if (i < TYPE_N_BASECLASSES (t))
-		    complaint (&symfile_complaints,
-			       _("virtual function table pointer "
+		    complaint (_("virtual function table pointer "
 				 "not found when defining class '%s'"),
-			       TYPE_TAG_NAME (type) ? TYPE_TAG_NAME (type) :
-			       "");
+			       TYPE_NAME (type) ? TYPE_NAME (type) : "");
 		}
 	      else
 		{
@@ -15983,56 +15962,41 @@ process_structure_scope (struct die_info
 
       /* Copy fi.typedef_field_list linked list elements content into the
 	 allocated array TYPE_TYPEDEF_FIELD_ARRAY (type).  */
-      if (fi.typedef_field_list)
+      if (!fi.typedef_field_list.empty ())
 	{
-	  int i = fi.typedef_field_list_count;
+	  int count = fi.typedef_field_list.size ();
 
 	  ALLOCATE_CPLUS_STRUCT_TYPE (type);
 	  TYPE_TYPEDEF_FIELD_ARRAY (type)
 	    = ((struct decl_field *)
-	       TYPE_ALLOC (type, sizeof (TYPE_TYPEDEF_FIELD (type, 0)) * i));
-	  TYPE_TYPEDEF_FIELD_COUNT (type) = i;
-
-	  /* Reverse the list order to keep the debug info elements order.  */
-	  while (--i >= 0)
-	    {
-	      struct decl_field *dest, *src;
+	       TYPE_ALLOC (type,
+			   sizeof (TYPE_TYPEDEF_FIELD (type, 0)) * count));
+	  TYPE_TYPEDEF_FIELD_COUNT (type) = count;
 
-	      dest = &TYPE_TYPEDEF_FIELD (type, i);
-	      src = &fi.typedef_field_list->field;
-	      fi.typedef_field_list = fi.typedef_field_list->next;
-	      *dest = *src;
-	    }
+	  for (int i = 0; i < fi.typedef_field_list.size (); ++i)
+	    TYPE_TYPEDEF_FIELD (type, i) = fi.typedef_field_list[i];
 	}
 
       /* Copy fi.nested_types_list linked list elements content into the
 	 allocated array TYPE_NESTED_TYPES_ARRAY (type).  */
-      if (fi.nested_types_list != NULL && cu->language != language_ada)
+      if (!fi.nested_types_list.empty () && cu->language != language_ada)
 	{
-	  int i = fi.nested_types_list_count;
+	  int count = fi.nested_types_list.size ();
 
 	  ALLOCATE_CPLUS_STRUCT_TYPE (type);
 	  TYPE_NESTED_TYPES_ARRAY (type)
 	    = ((struct decl_field *)
-	       TYPE_ALLOC (type, sizeof (struct decl_field) * i));
-	  TYPE_NESTED_TYPES_COUNT (type) = i;
+	       TYPE_ALLOC (type, sizeof (struct decl_field) * count));
+	  TYPE_NESTED_TYPES_COUNT (type) = count;
 
-	  /* Reverse the list order to keep the debug info elements order.  */
-	  while (--i >= 0)
-	    {
-	      struct decl_field *dest, *src;
-
-	      dest = &TYPE_NESTED_TYPES_FIELD (type, i);
-	      src = &fi.nested_types_list->field;
-	      fi.nested_types_list = fi.nested_types_list->next;
-	      *dest = *src;
-	    }
+	  for (int i = 0; i < fi.nested_types_list.size (); ++i)
+	    TYPE_NESTED_TYPES_FIELD (type, i) = fi.nested_types_list[i];
 	}
-
-      do_cleanups (back_to);
     }
 
   quirk_gcc_member_function_pointer (type, objfile);
+  if (cu->language == language_rust && die->tag == DW_TAG_union_type)
+    cu->rust_unions.push_back (type);
 
   /* NOTE: carlton/2004-03-16: GCC 3.4 (or at least one of its
      snapshots) has been known to create a die giving a declaration
@@ -16133,7 +16097,7 @@ update_enumeration_type_from_children (s
 static struct type *
 read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct type *type;
   struct attribute *attr;
   const char *name;
@@ -16156,7 +16120,7 @@ read_enumeration_type (struct die_info *
   TYPE_CODE (type) = TYPE_CODE_ENUM;
   name = dwarf2_full_name (NULL, die, cu);
   if (name != NULL)
-    TYPE_TAG_NAME (type) = name;
+    TYPE_NAME (type) = name;
 
   attr = dwarf2_attr (die, DW_AT_type, cu);
   if (attr != NULL)
@@ -16176,6 +16140,8 @@ read_enumeration_type (struct die_info *
       TYPE_LENGTH (type) = 0;
     }
 
+  maybe_set_alignment (cu, die, type);
+
   /* The enumeration DIE can be incomplete.  In Ada, any type can be
      declared as private in the package spec, and then defined only
      inside the package body.  Such types are known as Taft Amendment
@@ -16201,6 +16167,9 @@ read_enumeration_type (struct die_info *
       TYPE_UNSIGNED (type) = TYPE_UNSIGNED (TYPE_TARGET_TYPE (type));
       if (TYPE_LENGTH (type) == 0)
 	TYPE_LENGTH (type) = TYPE_LENGTH (TYPE_TARGET_TYPE (type));
+      if (TYPE_RAW_ALIGN (type) == 0
+	  && TYPE_RAW_ALIGN (TYPE_TARGET_TYPE (type)) != 0)
+	set_type_align (type, TYPE_RAW_ALIGN (TYPE_TARGET_TYPE (type)));
     }
 
   TYPE_DECLARED_CLASS (type) = dwarf2_flag_true_p (die, DW_AT_enum_class, cu);
@@ -16305,7 +16274,7 @@ process_enumeration_scope (struct die_in
 static struct type *
 read_array_type (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct die_info *child_die;
   struct type *type;
   struct type *element_type, *range_type, *index_type;
@@ -16331,11 +16300,10 @@ read_array_type (struct die_info *die, s
       stride_ok = attr_to_dynamic_prop (attr, die, cu, byte_stride_prop);
       if (!stride_ok)
 	{
-	  complaint (&symfile_complaints,
-		     _("unable to read array DW_AT_byte_stride "
-		       " - DIE at 0x%x [in module %s]"),
-		     to_underlying (die->sect_off),
-		     objfile_name (cu->objfile));
+	  complaint (_("unable to read array DW_AT_byte_stride "
+		       " - DIE at %s [in module %s]"),
+		     sect_offset_str (die->sect_off),
+		     objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
 	  /* Ignore this attribute.  We will likely not be able to print
 	     arrays of this type correctly, but there is little we can do
 	     to help if we cannot read the attribute's value.  */
@@ -16416,8 +16384,7 @@ read_array_type (struct die_info *die, s
       if (DW_UNSND (attr) >= TYPE_LENGTH (type))
 	TYPE_LENGTH (type) = DW_UNSND (attr);
       else
-	complaint (&symfile_complaints,
-		   _("DW_AT_byte_size for array type smaller "
+	complaint (_("DW_AT_byte_size for array type smaller "
 		     "than the total size of elements"));
     }
 
@@ -16425,6 +16392,8 @@ read_array_type (struct die_info *die, s
   if (name)
     TYPE_NAME (type) = name;
 
+  maybe_set_alignment (cu, die, type);
+
   /* Install the type in the die.  */
   set_die_type (die, type, cu);
 
@@ -16489,6 +16458,8 @@ read_set_type (struct die_info *die, str
   if (attr)
     TYPE_LENGTH (set_type) = DW_UNSND (attr);
 
+  maybe_set_alignment (cu, die, set_type);
+
   return set_die_type (die, set_type, cu);
 }
 
@@ -16508,6 +16479,8 @@ mark_common_block_symbol_computed (struc
 				   struct attribute *member_loc,
 				   struct dwarf2_cu *cu)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct dwarf2_locexpr_baton *baton;
   gdb_byte *ptr;
@@ -16597,7 +16570,7 @@ read_common_block (struct die_info *die,
 
   if (die->child != NULL)
     {
-      struct objfile *objfile = cu->objfile;
+      struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
       struct die_info *child_die;
       size_t n_entries = 0, size;
       struct common_block *common_block;
@@ -16637,12 +16610,11 @@ read_common_block (struct die_info *die,
 		     not specified by DWARF.  It seems to have been
 		     emitted by gfortran at least as recently as:
 		     http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23057.  */
-		  complaint (&symfile_complaints,
-			     _("Variable in common block has "
+		  complaint (_("Variable in common block has "
 			       "DW_AT_data_member_location "
-			       "- DIE at 0x%x [in module %s]"),
-			     to_underlying (child_die->sect_off),
-			     objfile_name (cu->objfile));
+			       "- DIE at %s [in module %s]"),
+			       sect_offset_str (child_die->sect_off),
+			     objfile_name (objfile));
 
 		  if (attr_form_is_section_offset (member_loc))
 		    dwarf2_complex_location_expr_complaint ();
@@ -16669,7 +16641,7 @@ read_common_block (struct die_info *die,
 static struct type *
 read_namespace_type (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   const char *previous_prefix, *name;
   int is_anonymous;
   struct type *type;
@@ -16699,7 +16671,6 @@ read_namespace_type (struct die_info *di
 
   /* Create the type.  */
   type = init_type (objfile, TYPE_CODE_NAMESPACE, 0, name);
-  TYPE_TAG_NAME (type) = TYPE_NAME (type);
 
   return set_die_type (die, type, cu);
 }
@@ -16709,7 +16680,7 @@ read_namespace_type (struct die_info *di
 static void
 read_namespace (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   int is_anonymous;
 
   /* Add a symbol associated to this if we haven't seen the namespace
@@ -16754,20 +16725,16 @@ read_namespace (struct die_info *die, st
 static struct type *
 read_module_type (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   const char *module_name;
   struct type *type;
 
   module_name = dwarf2_name (die, cu);
   if (!module_name)
-    complaint (&symfile_complaints,
-	       _("DW_TAG_module has no name, offset 0x%x"),
-               to_underlying (die->sect_off));
+    complaint (_("DW_TAG_module has no name, offset %s"),
+               sect_offset_str (die->sect_off));
   type = init_type (objfile, TYPE_CODE_MODULE, 0, module_name);
 
-  /* determine_prefix uses TYPE_TAG_NAME.  */
-  TYPE_TAG_NAME (type) = TYPE_NAME (type);
-
   return set_die_type (die, type, cu);
 }
 
@@ -16828,7 +16795,8 @@ namespace_name (struct die_info *die, in
 static struct type *
 read_tag_pointer_type (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct gdbarch *gdbarch = get_objfile_arch (cu->objfile);
+  struct gdbarch *gdbarch
+    = get_objfile_arch (cu->per_cu->dwarf2_per_objfile->objfile);
   struct comp_unit_head *cu_header = &cu->header;
   struct type *type;
   struct attribute *attr_byte_size;
@@ -16857,10 +16825,15 @@ read_tag_pointer_type (struct die_info *
   else
     addr_class = DW_ADDR_none;
 
-  /* If the pointer size or address class is different than the
-     default, create a type variant marked as such and set the
-     length accordingly.  */
-  if (TYPE_LENGTH (type) != byte_size || addr_class != DW_ADDR_none)
+  ULONGEST alignment = get_alignment (cu, die);
+
+  /* If the pointer size, alignment, or address class is different
+     than the default, create a type variant marked as such and set
+     the length accordingly.  */
+  if (TYPE_LENGTH (type) != byte_size
+      || (alignment != 0 && TYPE_RAW_ALIGN (type) != 0
+	  && alignment != TYPE_RAW_ALIGN (type))
+      || addr_class != DW_ADDR_none)
     {
       if (gdbarch_address_class_type_flags_p (gdbarch))
 	{
@@ -16874,8 +16847,14 @@ read_tag_pointer_type (struct die_info *
 	}
       else if (TYPE_LENGTH (type) != byte_size)
 	{
-	  complaint (&symfile_complaints,
-		     _("invalid pointer size %d"), byte_size);
+	  complaint (_("invalid pointer size %d"), byte_size);
+	}
+      else if (TYPE_RAW_ALIGN (type) != alignment)
+	{
+	  complaint (_("Invalid DW_AT_alignment"
+		       " - DIE at %s [in module %s]"),
+		     sect_offset_str (die->sect_off),
+		     objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
 	}
       else
 	{
@@ -16884,6 +16863,7 @@ read_tag_pointer_type (struct die_info *
     }
 
   TYPE_LENGTH (type) = byte_size;
+  set_type_align (type, alignment);
   return set_die_type (die, type, cu);
 }
 
@@ -16909,7 +16889,8 @@ read_tag_ptr_to_member_type (struct die_
     type = lookup_methodptr_type (to_type);
   else if (TYPE_CODE (check_typedef (to_type)) == TYPE_CODE_FUNC)
     {
-      struct type *new_type = alloc_type (cu->objfile);
+      struct type *new_type
+	= alloc_type (cu->per_cu->dwarf2_per_objfile->objfile);
 
       smash_to_method_type (new_type, domain, TYPE_TARGET_TYPE (to_type),
 			    TYPE_FIELDS (to_type), TYPE_NFIELDS (to_type),
@@ -16952,6 +16933,7 @@ read_tag_reference_type (struct die_info
     {
       TYPE_LENGTH (type) = cu_header->addr_size;
     }
+  maybe_set_alignment (cu, die, type);
   return set_die_type (die, type, cu);
 }
 
@@ -17072,7 +17054,7 @@ read_tag_atomic_type (struct die_info *d
 static struct type *
 read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct type *type, *range_type, *index_type, *char_type;
   struct attribute *attr;
@@ -17150,7 +17132,7 @@ prototyped_function_p (struct die_info *
 static struct type *
 read_subroutine_type (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct type *type;		/* Type that this function returns.  */
   struct type *ftype;		/* Function that returns above type.  */
   struct attribute *attr;
@@ -17287,7 +17269,7 @@ read_subroutine_type (struct die_info *d
 static struct type *
 read_typedef (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   const char *name = NULL;
   struct type *this_type, *target_type;
 
@@ -17302,10 +17284,9 @@ read_typedef (struct die_info *die, stru
     {
       /* Self-referential typedefs are, it seems, not allowed by the DWARF
 	 spec and cause infinite loops in GDB.  */
-      complaint (&symfile_complaints,
-		 _("Self-referential DW_TAG_typedef "
-		   "- DIE at 0x%x [in module %s]"),
-		 to_underlying (die->sect_off), objfile_name (objfile));
+      complaint (_("Self-referential DW_TAG_typedef "
+		   "- DIE at %s [in module %s]"),
+		 sect_offset_str (die->sect_off), objfile_name (objfile));
       TYPE_TARGET_TYPE (this_type) = NULL;
     }
   return this_type;
@@ -17338,7 +17319,7 @@ dwarf2_init_float_type (struct objfile *
 static struct type *
 read_base_type (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct type *type;
   struct attribute *attr;
   int encoding = 0, bits = 0;
@@ -17357,8 +17338,7 @@ read_base_type (struct die_info *die, st
   name = dwarf2_name (die, cu);
   if (!name)
     {
-      complaint (&symfile_complaints,
-		 _("DW_AT_name missing from DW_TAG_base_type"));
+      complaint (_("DW_AT_name missing from DW_TAG_base_type"));
     }
 
   switch (encoding)
@@ -17419,8 +17399,7 @@ read_base_type (struct die_info *die, st
 	    type = builtin_type (arch)->builtin_char32;
 	  else
 	    {
-	      complaint (&symfile_complaints,
-			 _("unsupported DW_ATE_UTF bit size: '%d'"),
+	      complaint (_("unsupported DW_ATE_UTF bit size: '%d'"),
 			 bits);
 	      type = init_integer_type (objfile, bits, 1, name);
 	    }
@@ -17429,7 +17408,7 @@ read_base_type (struct die_info *die, st
 	break;
 
       default:
-	complaint (&symfile_complaints, _("unsupported DW_AT_encoding: '%s'"),
+	complaint (_("unsupported DW_AT_encoding: '%s'"),
 		   dwarf_type_encoding_name (encoding));
 	type = init_type (objfile, TYPE_CODE_ERROR, bits, name);
 	break;
@@ -17438,6 +17417,8 @@ read_base_type (struct die_info *die, st
   if (name && strcmp (name, "char") == 0)
     TYPE_NOSIGN (type) = 1;
 
+  maybe_set_alignment (cu, die, type);
+
   return set_die_type (die, type, cu);
 }
 
@@ -17450,7 +17431,8 @@ attr_to_dynamic_prop (const struct attri
 		      struct dwarf2_cu *cu, struct dynamic_prop *prop)
 {
   struct dwarf2_property_baton *baton;
-  struct obstack *obstack = &cu->objfile->objfile_obstack;
+  struct obstack *obstack
+    = &cu->per_cu->dwarf2_per_objfile->objfile->objfile_obstack;
 
   if (attr == NULL || prop == NULL)
     return 0;
@@ -17609,9 +17591,10 @@ read_subrange_type (struct die_info *die
   if (attr)
     attr_to_dynamic_prop (attr, die, cu, &low);
   else if (!low_default_is_valid)
-    complaint (&symfile_complaints, _("Missing DW_AT_lower_bound "
-				      "- DIE at 0x%x [in module %s]"),
-	       to_underlying (die->sect_off), objfile_name (cu->objfile));
+    complaint (_("Missing DW_AT_lower_bound "
+				      "- DIE at %s [in module %s]"),
+	       sect_offset_str (die->sect_off),
+	       objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
 
   attr = dwarf2_attr (die, DW_AT_upper_bound, cu);
   if (!attr_to_dynamic_prop (attr, die, cu, &high))
@@ -17641,7 +17624,7 @@ read_subrange_type (struct die_info *die
      high bound or count are not yet handled by this code.  */
   if (TYPE_CODE (base_type) == TYPE_CODE_VOID)
     {
-      struct objfile *objfile = cu->objfile;
+      struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
       struct gdbarch *gdbarch = get_objfile_arch (objfile);
       int addr_size = gdbarch_addr_bit (gdbarch) /8;
       struct type *int_type = objfile_type (objfile)->builtin_int;
@@ -17698,6 +17681,8 @@ read_subrange_type (struct die_info *die
   if (attr)
     TYPE_LENGTH (range_type) = DW_UNSND (attr);
 
+  maybe_set_alignment (cu, die, range_type);
+
   set_die_type (die, range_type, cu);
 
   /* set_die_type should be already done.  */
@@ -17711,7 +17696,8 @@ read_unspecified_type (struct die_info *
 {
   struct type *type;
 
-  type = init_type (cu->objfile, TYPE_CODE_VOID, 0, NULL);
+  type = init_type (cu->per_cu->dwarf2_per_objfile->objfile, TYPE_CODE_VOID,0,
+		    NULL);
   TYPE_NAME (type) = dwarf2_name (die, cu);
 
   /* In Ada, an unspecified type is typically used when the description
@@ -17853,7 +17839,7 @@ read_full_die_1 (const struct die_reader
       return info_ptr;
     }
 
-  abbrev = abbrev_table_lookup_abbrev (cu->abbrev_table, abbrev_number);
+  abbrev = reader->abbrev_table->lookup_abbrev (abbrev_number);
   if (!abbrev)
     error (_("Dwarf Error: could not find abbrev number %d [in module %s]"),
 	   abbrev_number,
@@ -17914,12 +17900,12 @@ read_full_die (const struct die_reader_s
 
 /* Allocate space for a struct abbrev_info object in ABBREV_TABLE.  */
 
-static struct abbrev_info *
-abbrev_table_alloc_abbrev (struct abbrev_table *abbrev_table)
+struct abbrev_info *
+abbrev_table::alloc_abbrev ()
 {
   struct abbrev_info *abbrev;
 
-  abbrev = XOBNEW (&abbrev_table->abbrev_obstack, struct abbrev_info);
+  abbrev = XOBNEW (&abbrev_obstack, struct abbrev_info);
   memset (abbrev, 0, sizeof (struct abbrev_info));
 
   return abbrev;
@@ -17927,30 +17913,28 @@ abbrev_table_alloc_abbrev (struct abbrev
 
 /* Add an abbreviation to the table.  */
 
-static void
-abbrev_table_add_abbrev (struct abbrev_table *abbrev_table,
-			 unsigned int abbrev_number,
-			 struct abbrev_info *abbrev)
+void
+abbrev_table::add_abbrev (unsigned int abbrev_number,
+			  struct abbrev_info *abbrev)
 {
   unsigned int hash_number;
 
   hash_number = abbrev_number % ABBREV_HASH_SIZE;
-  abbrev->next = abbrev_table->abbrevs[hash_number];
-  abbrev_table->abbrevs[hash_number] = abbrev;
+  abbrev->next = m_abbrevs[hash_number];
+  m_abbrevs[hash_number] = abbrev;
 }
 
 /* Look up an abbrev in the table.
    Returns NULL if the abbrev is not found.  */
 
-static struct abbrev_info *
-abbrev_table_lookup_abbrev (const struct abbrev_table *abbrev_table,
-			    unsigned int abbrev_number)
+struct abbrev_info *
+abbrev_table::lookup_abbrev (unsigned int abbrev_number)
 {
   unsigned int hash_number;
   struct abbrev_info *abbrev;
 
   hash_number = abbrev_number % ABBREV_HASH_SIZE;
-  abbrev = abbrev_table->abbrevs[hash_number];
+  abbrev = m_abbrevs[hash_number];
 
   while (abbrev)
     {
@@ -17963,13 +17947,13 @@ abbrev_table_lookup_abbrev (const struct
 
 /* Read in an abbrev table.  */
 
-static struct abbrev_table *
-abbrev_table_read_table (struct dwarf2_section_info *section,
+static abbrev_table_up
+abbrev_table_read_table (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			 struct dwarf2_section_info *section,
 			 sect_offset sect_off)
 {
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   bfd *abfd = get_section_bfd_owner (section);
-  struct abbrev_table *abbrev_table;
   const gdb_byte *abbrev_ptr;
   struct abbrev_info *cur_abbrev;
   unsigned int abbrev_number, bytes_read, abbrev_name;
@@ -17977,14 +17961,7 @@ abbrev_table_read_table (struct dwarf2_s
   struct attr_abbrev *cur_attrs;
   unsigned int allocated_attrs;
 
-  abbrev_table = XNEW (struct abbrev_table);
-  abbrev_table->sect_off = sect_off;
-  obstack_init (&abbrev_table->abbrev_obstack);
-  abbrev_table->abbrevs =
-    XOBNEWVEC (&abbrev_table->abbrev_obstack, struct abbrev_info *,
-	       ABBREV_HASH_SIZE);
-  memset (abbrev_table->abbrevs, 0,
-	  ABBREV_HASH_SIZE * sizeof (struct abbrev_info *));
+  abbrev_table_up abbrev_table (new struct abbrev_table (sect_off));
 
   dwarf2_read_section (objfile, section);
   abbrev_ptr = section->buffer + to_underlying (sect_off);
@@ -17997,7 +17974,7 @@ abbrev_table_read_table (struct dwarf2_s
   /* Loop until we reach an abbrev number of 0.  */
   while (abbrev_number)
     {
-      cur_abbrev = abbrev_table_alloc_abbrev (abbrev_table);
+      cur_abbrev = abbrev_table->alloc_abbrev ();
 
       /* read in abbrev header */
       cur_abbrev->number = abbrev_number;
@@ -18052,7 +18029,7 @@ abbrev_table_read_table (struct dwarf2_s
       memcpy (cur_abbrev->attrs, cur_attrs,
 	      cur_abbrev->num_attrs * sizeof (struct attr_abbrev));
 
-      abbrev_table_add_abbrev (abbrev_table, abbrev_number, cur_abbrev);
+      abbrev_table->add_abbrev (abbrev_number, cur_abbrev);
 
       /* Get next abbreviation.
          Under Irix6 the abbreviations for a compilation unit are not
@@ -18065,7 +18042,7 @@ abbrev_table_read_table (struct dwarf2_s
 	break;
       abbrev_number = read_unsigned_leb128 (abfd, abbrev_ptr, &bytes_read);
       abbrev_ptr += bytes_read;
-      if (abbrev_table_lookup_abbrev (abbrev_table, abbrev_number) != NULL)
+      if (abbrev_table->lookup_abbrev (abbrev_number) != NULL)
 	break;
     }
 
@@ -18073,54 +18050,6 @@ abbrev_table_read_table (struct dwarf2_s
   return abbrev_table;
 }
 
-/* Free the resources held by ABBREV_TABLE.  */
-
-static void
-abbrev_table_free (struct abbrev_table *abbrev_table)
-{
-  obstack_free (&abbrev_table->abbrev_obstack, NULL);
-  xfree (abbrev_table);
-}
-
-/* Same as abbrev_table_free but as a cleanup.
-   We pass in a pointer to the pointer to the table so that we can
-   set the pointer to NULL when we're done.  It also simplifies
-   build_type_psymtabs_1.  */
-
-static void
-abbrev_table_free_cleanup (void *table_ptr)
-{
-  struct abbrev_table **abbrev_table_ptr = (struct abbrev_table **) table_ptr;
-
-  if (*abbrev_table_ptr != NULL)
-    abbrev_table_free (*abbrev_table_ptr);
-  *abbrev_table_ptr = NULL;
-}
-
-/* Read the abbrev table for CU from ABBREV_SECTION.  */
-
-static void
-dwarf2_read_abbrevs (struct dwarf2_cu *cu,
-		     struct dwarf2_section_info *abbrev_section)
-{
-  cu->abbrev_table =
-    abbrev_table_read_table (abbrev_section, cu->header.abbrev_sect_off);
-}
-
-/* Release the memory used by the abbrev table for a compilation unit.  */
-
-static void
-dwarf2_free_abbrev_table (void *ptr_to_cu)
-{
-  struct dwarf2_cu *cu = (struct dwarf2_cu *) ptr_to_cu;
-
-  if (cu->abbrev_table != NULL)
-    abbrev_table_free (cu->abbrev_table);
-  /* Set this to NULL so that we SEGV if we try to read it later,
-     and also because free_comp_unit verifies this is NULL.  */
-  cu->abbrev_table = NULL;
-}
-
 /* Returns nonzero if TAG represents a type that we might generate a partial
    symbol for.  */
 
@@ -18160,10 +18089,8 @@ load_partial_dies (const struct die_read
 		   const gdb_byte *info_ptr, int building_psymtab)
 {
   struct dwarf2_cu *cu = reader->cu;
-  struct objfile *objfile = cu->objfile;
-  struct partial_die_info *part_die;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct partial_die_info *parent_die, *last_die, *first_die = NULL;
-  struct abbrev_info *abbrev;
   unsigned int bytes_read;
   unsigned int load_all = 0;
   int nesting_level = 1;
@@ -18184,25 +18111,16 @@ load_partial_dies (const struct die_read
 			    hashtab_obstack_allocate,
 			    dummy_obstack_deallocate);
 
-  part_die = XOBNEW (&cu->comp_unit_obstack, struct partial_die_info);
-
   while (1)
     {
-      abbrev = peek_die_abbrev (info_ptr, &bytes_read, cu);
+      abbrev_info *abbrev = peek_die_abbrev (*reader, info_ptr, &bytes_read);
 
       /* A NULL abbrev means the end of a series of children.  */
       if (abbrev == NULL)
 	{
 	  if (--nesting_level == 0)
-	    {
-	      /* PART_DIE was probably the last thing allocated on the
-		 comp_unit_obstack, so we could call obstack_free
-		 here.  We don't do that because the waste is small,
-		 and will be cleaned up when we're done with this
-		 compilation unit.  This way, we're also more robust
-		 against other users of the comp_unit_obstack.  */
-	      return first_die;
-	    }
+	    return first_die;
+
 	  info_ptr += bytes_read;
 	  last_die = parent_die;
 	  parent_die = parent_die->die_parent;
@@ -18246,6 +18164,7 @@ load_partial_dies (const struct die_read
 	  && abbrev->tag != DW_TAG_constant
 	  && abbrev->tag != DW_TAG_enumerator
 	  && abbrev->tag != DW_TAG_subprogram
+	  && abbrev->tag != DW_TAG_inlined_subroutine
 	  && abbrev->tag != DW_TAG_lexical_block
 	  && abbrev->tag != DW_TAG_variable
 	  && abbrev->tag != DW_TAG_namespace
@@ -18259,8 +18178,10 @@ load_partial_dies (const struct die_read
 	  continue;
 	}
 
-      info_ptr = read_partial_die (reader, part_die, abbrev, bytes_read,
-				   info_ptr);
+      struct partial_die_info pdi ((sect_offset) (info_ptr - reader->buffer),
+				   abbrev);
+
+      info_ptr = pdi.read (reader, *abbrev, info_ptr + bytes_read);
 
       /* This two-pass algorithm for processing partial symbols has a
 	 high cost in cache pressure.  Thus, handle some simple cases
@@ -18279,60 +18200,61 @@ load_partial_dies (const struct die_read
 	 of them, for a language without namespaces), can be processed
 	 directly.  */
       if (parent_die == NULL
-	  && part_die->has_specification == 0
-	  && part_die->is_declaration == 0
-	  && ((part_die->tag == DW_TAG_typedef && !part_die->has_children)
-	      || part_die->tag == DW_TAG_base_type
-	      || part_die->tag == DW_TAG_subrange_type))
+	  && pdi.has_specification == 0
+	  && pdi.is_declaration == 0
+	  && ((pdi.tag == DW_TAG_typedef && !pdi.has_children)
+	      || pdi.tag == DW_TAG_base_type
+	      || pdi.tag == DW_TAG_subrange_type))
 	{
-	  if (building_psymtab && part_die->name != NULL)
-	    add_psymbol_to_list (part_die->name, strlen (part_die->name), 0,
+	  if (building_psymtab && pdi.name != NULL)
+	    add_psymbol_to_list (pdi.name, strlen (pdi.name), 0,
 				 VAR_DOMAIN, LOC_TYPEDEF,
 				 &objfile->static_psymbols,
 				 0, cu->language, objfile);
-	  info_ptr = locate_pdi_sibling (reader, part_die, info_ptr);
+	  info_ptr = locate_pdi_sibling (reader, &pdi, info_ptr);
 	  continue;
 	}
 
       /* The exception for DW_TAG_typedef with has_children above is
 	 a workaround of GCC PR debug/47510.  In the case of this complaint
-	 type_name_no_tag_or_error will error on such types later.
+	 type_name_or_error will error on such types later.
 
 	 GDB skipped children of DW_TAG_typedef by the shortcut above and then
 	 it could not find the child DIEs referenced later, this is checked
 	 above.  In correct DWARF DW_TAG_typedef should have no children.  */
 
-      if (part_die->tag == DW_TAG_typedef && part_die->has_children)
-	complaint (&symfile_complaints,
-		   _("DW_TAG_typedef has childen - GCC PR debug/47510 bug "
-		     "- DIE at 0x%x [in module %s]"),
-		   to_underlying (part_die->sect_off), objfile_name (objfile));
+      if (pdi.tag == DW_TAG_typedef && pdi.has_children)
+	complaint (_("DW_TAG_typedef has childen - GCC PR debug/47510 bug "
+		     "- DIE at %s [in module %s]"),
+		   sect_offset_str (pdi.sect_off), objfile_name (objfile));
 
       /* If we're at the second level, and we're an enumerator, and
 	 our parent has no specification (meaning possibly lives in a
 	 namespace elsewhere), then we can add the partial symbol now
 	 instead of queueing it.  */
-      if (part_die->tag == DW_TAG_enumerator
+      if (pdi.tag == DW_TAG_enumerator
 	  && parent_die != NULL
 	  && parent_die->die_parent == NULL
 	  && parent_die->tag == DW_TAG_enumeration_type
 	  && parent_die->has_specification == 0)
 	{
-	  if (part_die->name == NULL)
-	    complaint (&symfile_complaints,
-		       _("malformed enumerator DIE ignored"));
+	  if (pdi.name == NULL)
+	    complaint (_("malformed enumerator DIE ignored"));
 	  else if (building_psymtab)
-	    add_psymbol_to_list (part_die->name, strlen (part_die->name), 0,
+	    add_psymbol_to_list (pdi.name, strlen (pdi.name), 0,
 				 VAR_DOMAIN, LOC_CONST,
 				 cu->language == language_cplus
 				 ? &objfile->global_psymbols
 				 : &objfile->static_psymbols,
 				 0, cu->language, objfile);
 
-	  info_ptr = locate_pdi_sibling (reader, part_die, info_ptr);
+	  info_ptr = locate_pdi_sibling (reader, &pdi, info_ptr);
 	  continue;
 	}
 
+      struct partial_die_info *part_die
+	= new (&cu->comp_unit_obstack) partial_die_info (pdi);
+
       /* We'll save this DIE so link it in.  */
       part_die->die_parent = parent_die;
       part_die->die_sibling = NULL;
@@ -18384,8 +18306,6 @@ load_partial_dies (const struct die_read
 	  *slot = part_die;
 	}
 
-      part_die = XOBNEW (&cu->comp_unit_obstack, struct partial_die_info);
-
       /* For some DIEs we want to follow their children (if any).  For C
 	 we have no reason to follow the children of structures; for other
 	 languages we have to, so that we can get at method physnames
@@ -18428,45 +18348,39 @@ load_partial_dies (const struct die_read
     }
 }
 
-/* Read a minimal amount of information into the minimal die structure.  */
+partial_die_info::partial_die_info (sect_offset sect_off_,
+				    struct abbrev_info *abbrev)
+  : partial_die_info (sect_off_, abbrev->tag, abbrev->has_children)
+{
+}
+
+/* Read a minimal amount of information into the minimal die structure.
+   INFO_PTR should point just after the initial uleb128 of a DIE.  */
 
-static const gdb_byte *
-read_partial_die (const struct die_reader_specs *reader,
-		  struct partial_die_info *part_die,
-		  struct abbrev_info *abbrev, unsigned int abbrev_len,
-		  const gdb_byte *info_ptr)
+const gdb_byte *
+partial_die_info::read (const struct die_reader_specs *reader,
+			const struct abbrev_info &abbrev, const gdb_byte *info_ptr)
 {
   struct dwarf2_cu *cu = reader->cu;
-  struct objfile *objfile = cu->objfile;
-  const gdb_byte *buffer = reader->buffer;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   unsigned int i;
-  struct attribute attr;
   int has_low_pc_attr = 0;
   int has_high_pc_attr = 0;
   int high_pc_relative = 0;
 
-  memset (part_die, 0, sizeof (struct partial_die_info));
-
-  part_die->sect_off = (sect_offset) (info_ptr - buffer);
-
-  info_ptr += abbrev_len;
-
-  if (abbrev == NULL)
-    return info_ptr;
-
-  part_die->tag = abbrev->tag;
-  part_die->has_children = abbrev->has_children;
-
-  for (i = 0; i < abbrev->num_attrs; ++i)
+  for (i = 0; i < abbrev.num_attrs; ++i)
     {
-      info_ptr = read_attribute (reader, &attr, &abbrev->attrs[i], info_ptr);
+      struct attribute attr;
+
+      info_ptr = read_attribute (reader, &attr, &abbrev.attrs[i], info_ptr);
 
       /* Store the data if it is of an attribute we want to keep in a
          partial symbol table.  */
       switch (attr.name)
 	{
 	case DW_AT_name:
-	  switch (part_die->tag)
+	  switch (tag)
 	    {
 	    case DW_TAG_compile_unit:
 	    case DW_TAG_partial_unit:
@@ -18477,12 +18391,16 @@ read_partial_die (const struct die_reade
 	    case DW_TAG_enumerator:
 	      /* These tags always have simple identifiers already; no need
 		 to canonicalize them.  */
-	      part_die->name = DW_STRING (&attr);
+	      name = DW_STRING (&attr);
 	      break;
 	    default:
-	      part_die->name
-		= dwarf2_canonicalize_name (DW_STRING (&attr), cu,
-					    &objfile->per_bfd->storage_obstack);
+	      {
+		struct objfile *objfile = dwarf2_per_objfile->objfile;
+
+		name
+		  = dwarf2_canonicalize_name (DW_STRING (&attr), cu,
+					      &objfile->per_bfd->storage_obstack);
+	      }
 	      break;
 	    }
 	  break;
@@ -18492,16 +18410,16 @@ read_partial_die (const struct die_reade
 	     assume they will be the same, and we only store the last
 	     one we see.  */
 	  if (cu->language == language_ada)
-	    part_die->name = DW_STRING (&attr);
-	  part_die->linkage_name = DW_STRING (&attr);
+	    name = DW_STRING (&attr);
+	  linkage_name = DW_STRING (&attr);
 	  break;
 	case DW_AT_low_pc:
 	  has_low_pc_attr = 1;
-	  part_die->lowpc = attr_value_as_address (&attr);
+	  lowpc = attr_value_as_address (&attr);
 	  break;
 	case DW_AT_high_pc:
 	  has_high_pc_attr = 1;
-	  part_die->highpc = attr_value_as_address (&attr);
+	  highpc = attr_value_as_address (&attr);
 	  if (cu->header.version >= 4 && attr_form_is_constant (&attr))
 		high_pc_relative = 1;
 	  break;
@@ -18509,7 +18427,7 @@ read_partial_die (const struct die_reade
           /* Support the .debug_loc offsets.  */
           if (attr_form_is_block (&attr))
             {
-	       part_die->d.locdesc = DW_BLOCK (&attr);
+	       d.locdesc = DW_BLOCK (&attr);
             }
           else if (attr_form_is_section_offset (&attr))
             {
@@ -18522,47 +18440,46 @@ read_partial_die (const struct die_reade
             }
 	  break;
 	case DW_AT_external:
-	  part_die->is_external = DW_UNSND (&attr);
+	  is_external = DW_UNSND (&attr);
 	  break;
 	case DW_AT_declaration:
-	  part_die->is_declaration = DW_UNSND (&attr);
+	  is_declaration = DW_UNSND (&attr);
 	  break;
 	case DW_AT_type:
-	  part_die->has_type = 1;
+	  has_type = 1;
 	  break;
 	case DW_AT_abstract_origin:
 	case DW_AT_specification:
 	case DW_AT_extension:
-	  part_die->has_specification = 1;
-	  part_die->spec_offset = dwarf2_get_ref_die_offset (&attr);
-	  part_die->spec_is_dwz = (attr.form == DW_FORM_GNU_ref_alt
+	  has_specification = 1;
+	  spec_offset = dwarf2_get_ref_die_offset (&attr);
+	  spec_is_dwz = (attr.form == DW_FORM_GNU_ref_alt
 				   || cu->per_cu->is_dwz);
 	  break;
 	case DW_AT_sibling:
 	  /* Ignore absolute siblings, they might point outside of
 	     the current compile unit.  */
 	  if (attr.form == DW_FORM_ref_addr)
-	    complaint (&symfile_complaints,
-		       _("ignoring absolute DW_AT_sibling"));
+	    complaint (_("ignoring absolute DW_AT_sibling"));
 	  else
 	    {
+	      const gdb_byte *buffer = reader->buffer;
 	      sect_offset off = dwarf2_get_ref_die_offset (&attr);
 	      const gdb_byte *sibling_ptr = buffer + to_underlying (off);
 
 	      if (sibling_ptr < info_ptr)
-		complaint (&symfile_complaints,
-			   _("DW_AT_sibling points backwards"));
+		complaint (_("DW_AT_sibling points backwards"));
 	      else if (sibling_ptr > reader->buffer_end)
 		dwarf2_section_buffer_overflow_complaint (reader->die_section);
 	      else
-		part_die->sibling = sibling_ptr;
+		sibling = sibling_ptr;
 	    }
 	  break;
         case DW_AT_byte_size:
-          part_die->has_byte_size = 1;
+          has_byte_size = 1;
           break;
         case DW_AT_const_value:
-          part_die->has_const_value = 1;
+          has_const_value = 1;
           break;
 	case DW_AT_calling_convention:
 	  /* DWARF doesn't provide a way to identify a program's source-level
@@ -18581,25 +18498,25 @@ read_partial_die (const struct die_reade
 	     compatibility.  */
 	  if (DW_UNSND (&attr) == DW_CC_program
 	      && cu->language == language_fortran)
-	    part_die->main_subprogram = 1;
+	    main_subprogram = 1;
 	  break;
 	case DW_AT_inline:
 	  if (DW_UNSND (&attr) == DW_INL_inlined
 	      || DW_UNSND (&attr) == DW_INL_declared_inlined)
-	    part_die->may_be_inlined = 1;
+	    may_be_inlined = 1;
 	  break;
 
 	case DW_AT_import:
-	  if (part_die->tag == DW_TAG_imported_unit)
+	  if (tag == DW_TAG_imported_unit)
 	    {
-	      part_die->d.sect_off = dwarf2_get_ref_die_offset (&attr);
-	      part_die->is_dwz = (attr.form == DW_FORM_GNU_ref_alt
+	      d.sect_off = dwarf2_get_ref_die_offset (&attr);
+	      is_dwz = (attr.form == DW_FORM_GNU_ref_alt
 				  || cu->per_cu->is_dwz);
 	    }
 	  break;
 
 	case DW_AT_main_subprogram:
-	  part_die->main_subprogram = DW_UNSND (&attr);
+	  main_subprogram = DW_UNSND (&attr);
 	  break;
 
 	default:
@@ -18608,7 +18525,7 @@ read_partial_die (const struct die_reade
     }
 
   if (high_pc_relative)
-    part_die->highpc += part_die->lowpc;
+    highpc += lowpc;
 
   if (has_low_pc_attr && has_high_pc_attr)
     {
@@ -18620,31 +18537,32 @@ read_partial_die (const struct die_reade
 	 labels are not in the output, so the relocs get a value of 0.
 	 If this is a discarded function, mark the pc bounds as invalid,
 	 so that GDB will ignore it.  */
-      if (part_die->lowpc == 0 && !dwarf2_per_objfile->has_section_at_zero)
+      if (lowpc == 0 && !dwarf2_per_objfile->has_section_at_zero)
 	{
+	  struct objfile *objfile = dwarf2_per_objfile->objfile;
 	  struct gdbarch *gdbarch = get_objfile_arch (objfile);
 
-	  complaint (&symfile_complaints,
-		     _("DW_AT_low_pc %s is zero "
-		       "for DIE at 0x%x [in module %s]"),
-		     paddress (gdbarch, part_die->lowpc),
-		     to_underlying (part_die->sect_off), objfile_name (objfile));
+	  complaint (_("DW_AT_low_pc %s is zero "
+		       "for DIE at %s [in module %s]"),
+		     paddress (gdbarch, lowpc),
+		     sect_offset_str (sect_off),
+		     objfile_name (objfile));
 	}
       /* dwarf2_get_pc_bounds has also the strict low < high requirement.  */
-      else if (part_die->lowpc >= part_die->highpc)
+      else if (lowpc >= highpc)
 	{
+	  struct objfile *objfile = dwarf2_per_objfile->objfile;
 	  struct gdbarch *gdbarch = get_objfile_arch (objfile);
 
-	  complaint (&symfile_complaints,
-		     _("DW_AT_low_pc %s is not < DW_AT_high_pc %s "
-		       "for DIE at 0x%x [in module %s]"),
-		     paddress (gdbarch, part_die->lowpc),
-		     paddress (gdbarch, part_die->highpc),
-		     to_underlying (part_die->sect_off),
+	  complaint (_("DW_AT_low_pc %s is not < DW_AT_high_pc %s "
+		       "for DIE at %s [in module %s]"),
+		     paddress (gdbarch, lowpc),
+		     paddress (gdbarch, highpc),
+		     sect_offset_str (sect_off),
 		     objfile_name (objfile));
 	}
       else
-	part_die->has_pc_info = 1;
+	has_pc_info = 1;
     }
 
   return info_ptr;
@@ -18652,15 +18570,14 @@ read_partial_die (const struct die_reade
 
 /* Find a cached partial DIE at OFFSET in CU.  */
 
-static struct partial_die_info *
-find_partial_die_in_comp_unit (sect_offset sect_off, struct dwarf2_cu *cu)
+struct partial_die_info *
+dwarf2_cu::find_partial_die (sect_offset sect_off)
 {
   struct partial_die_info *lookup_die = NULL;
-  struct partial_die_info part_die;
+  struct partial_die_info part_die (sect_off);
 
-  part_die.sect_off = sect_off;
   lookup_die = ((struct partial_die_info *)
-		htab_find_with_hash (cu->partial_dies, &part_die,
+		htab_find_with_hash (partial_dies, &part_die,
 				     to_underlying (sect_off)));
 
   return lookup_die;
@@ -18674,14 +18591,16 @@ find_partial_die_in_comp_unit (sect_offs
 static struct partial_die_info *
 find_partial_die (sect_offset sect_off, int offset_in_dwz, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct dwarf2_per_cu_data *per_cu = NULL;
   struct partial_die_info *pd = NULL;
 
   if (offset_in_dwz == cu->per_cu->is_dwz
       && offset_in_cu_p (&cu->header, sect_off))
     {
-      pd = find_partial_die_in_comp_unit (sect_off, cu);
+      pd = cu->find_partial_die (sect_off);
       if (pd != NULL)
 	return pd;
       /* We missed recording what we needed.
@@ -18693,19 +18612,19 @@ find_partial_die (sect_offset sect_off, 
       /* TUs don't reference other CUs/TUs (except via type signatures).  */
       if (cu->per_cu->is_debug_types)
 	{
-	  error (_("Dwarf Error: Type Unit at offset 0x%x contains"
-		   " external reference to offset 0x%x [in module %s].\n"),
-		 to_underlying (cu->header.sect_off), to_underlying (sect_off),
+	  error (_("Dwarf Error: Type Unit at offset %s contains"
+		   " external reference to offset %s [in module %s].\n"),
+		 sect_offset_str (cu->header.sect_off), sect_offset_str (sect_off),
 		 bfd_get_filename (objfile->obfd));
 	}
       per_cu = dwarf2_find_containing_comp_unit (sect_off, offset_in_dwz,
-						 objfile);
+						 dwarf2_per_objfile);
 
       if (per_cu->cu == NULL || per_cu->cu->partial_dies == NULL)
 	load_partial_comp_unit (per_cu);
 
       per_cu->cu->last_used = 0;
-      pd = find_partial_die_in_comp_unit (sect_off, per_cu->cu);
+      pd = per_cu->cu->find_partial_die (sect_off);
     }
 
   /* If we didn't find it, and not all dies have been loaded,
@@ -18723,14 +18642,14 @@ find_partial_die (sect_offset sect_off, 
 	 set.  */
       load_partial_comp_unit (per_cu);
 
-      pd = find_partial_die_in_comp_unit (sect_off, per_cu->cu);
+      pd = per_cu->cu->find_partial_die (sect_off);
     }
 
   if (pd == NULL)
     internal_error (__FILE__, __LINE__,
-		    _("could not find partial DIE 0x%x "
+		    _("could not find partial DIE %s "
 		      "in cache [from module %s]\n"),
-		    to_underlying (sect_off), bfd_get_filename (objfile->obfd));
+		    sect_offset_str (sect_off), bfd_get_filename (objfile->obfd));
   return pd;
 }
 
@@ -18775,9 +18694,10 @@ guess_partial_die_structure_name (struct
 						 child_pdi->linkage_name);
 	  if (actual_class_name != NULL)
 	    {
+	      struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
 	      struct_pdi->name
 		= ((const char *)
-		   obstack_copy0 (&cu->objfile->per_bfd->storage_obstack,
+		   obstack_copy0 (&objfile->per_bfd->storage_obstack,
 				  actual_class_name,
 				  strlen (actual_class_name)));
 	      xfree (actual_class_name);
@@ -18787,70 +18707,66 @@ guess_partial_die_structure_name (struct
     }
 }
 
-/* Adjust PART_DIE before generating a symbol for it.  This function
-   may set the is_external flag or change the DIE's name.  */
-
-static void
-fixup_partial_die (struct partial_die_info *part_die,
-		   struct dwarf2_cu *cu)
+void
+partial_die_info::fixup (struct dwarf2_cu *cu)
 {
   /* Once we've fixed up a die, there's no point in doing so again.
      This also avoids a memory leak if we were to call
      guess_partial_die_structure_name multiple times.  */
-  if (part_die->fixup_called)
+  if (fixup_called)
     return;
 
   /* If we found a reference attribute and the DIE has no name, try
      to find a name in the referred to DIE.  */
 
-  if (part_die->name == NULL && part_die->has_specification)
+  if (name == NULL && has_specification)
     {
       struct partial_die_info *spec_die;
 
-      spec_die = find_partial_die (part_die->spec_offset,
-				   part_die->spec_is_dwz, cu);
+      spec_die = find_partial_die (spec_offset, spec_is_dwz, cu);
 
-      fixup_partial_die (spec_die, cu);
+      spec_die->fixup (cu);
 
       if (spec_die->name)
 	{
-	  part_die->name = spec_die->name;
+	  name = spec_die->name;
 
 	  /* Copy DW_AT_external attribute if it is set.  */
 	  if (spec_die->is_external)
-	    part_die->is_external = spec_die->is_external;
+	    is_external = spec_die->is_external;
 	}
     }
 
   /* Set default names for some unnamed DIEs.  */
 
-  if (part_die->name == NULL && part_die->tag == DW_TAG_namespace)
-    part_die->name = CP_ANONYMOUS_NAMESPACE_STR;
+  if (name == NULL && tag == DW_TAG_namespace)
+    name = CP_ANONYMOUS_NAMESPACE_STR;
 
   /* If there is no parent die to provide a namespace, and there are
      children, see if we can determine the namespace from their linkage
      name.  */
   if (cu->language == language_cplus
-      && !VEC_empty (dwarf2_section_info_def, dwarf2_per_objfile->types)
-      && part_die->die_parent == NULL
-      && part_die->has_children
-      && (part_die->tag == DW_TAG_class_type
-	  || part_die->tag == DW_TAG_structure_type
-	  || part_die->tag == DW_TAG_union_type))
-    guess_partial_die_structure_name (part_die, cu);
+      && !VEC_empty (dwarf2_section_info_def,
+		     cu->per_cu->dwarf2_per_objfile->types)
+      && die_parent == NULL
+      && has_children
+      && (tag == DW_TAG_class_type
+	  || tag == DW_TAG_structure_type
+	  || tag == DW_TAG_union_type))
+    guess_partial_die_structure_name (this, cu);
 
   /* GCC might emit a nameless struct or union that has a linkage
      name.  See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47510.  */
-  if (part_die->name == NULL
-      && (part_die->tag == DW_TAG_class_type
-	  || part_die->tag == DW_TAG_interface_type
-	  || part_die->tag == DW_TAG_structure_type
-	  || part_die->tag == DW_TAG_union_type)
-      && part_die->linkage_name != NULL)
+  if (name == NULL
+      && (tag == DW_TAG_class_type
+	  || tag == DW_TAG_interface_type
+	  || tag == DW_TAG_structure_type
+	  || tag == DW_TAG_union_type)
+      && linkage_name != NULL)
     {
       char *demangled;
 
-      demangled = gdb_demangle (part_die->linkage_name, DMGL_TYPES);
+      demangled = gdb_demangle (linkage_name, DMGL_TYPES);
       if (demangled)
 	{
 	  const char *base;
@@ -18863,15 +18779,16 @@ fixup_partial_die (struct partial_die_in
 	  else
 	    base = demangled;
 
-	  part_die->name
+	  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
+	  name
 	    = ((const char *)
-	       obstack_copy0 (&cu->objfile->per_bfd->storage_obstack,
+	       obstack_copy0 (&objfile->per_bfd->storage_obstack,
 			      base, strlen (base)));
 	  xfree (demangled);
 	}
     }
 
-  part_die->fixup_called = 1;
+  fixup_called = 1;
 }
 
 /* Read an attribute value described by an attribute form.  */
@@ -18882,7 +18799,9 @@ read_attribute_value (const struct die_r
 		      LONGEST implicit_const, const gdb_byte *info_ptr)
 {
   struct dwarf2_cu *cu = reader->cu;
-  struct objfile *objfile = cu->objfile;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   bfd *abfd = reader->abfd;
   struct comp_unit_head *cu_header = &cu->header;
@@ -18956,7 +18875,8 @@ read_attribute_value (const struct die_r
     case DW_FORM_strp:
       if (!cu->per_cu->is_dwz)
 	{
-	  DW_STRING (attr) = read_indirect_string (abfd, info_ptr, cu_header,
+	  DW_STRING (attr) = read_indirect_string (dwarf2_per_objfile,
+						   abfd, info_ptr, cu_header,
 						   &bytes_read);
 	  DW_STRING_IS_CANONICAL (attr) = 0;
 	  info_ptr += bytes_read;
@@ -18966,7 +18886,8 @@ read_attribute_value (const struct die_r
     case DW_FORM_line_strp:
       if (!cu->per_cu->is_dwz)
 	{
-	  DW_STRING (attr) = read_indirect_line_string (abfd, info_ptr,
+	  DW_STRING (attr) = read_indirect_line_string (dwarf2_per_objfile,
+							abfd, info_ptr,
 							cu_header, &bytes_read);
 	  DW_STRING_IS_CANONICAL (attr) = 0;
 	  info_ptr += bytes_read;
@@ -18975,11 +18896,12 @@ read_attribute_value (const struct die_r
       /* FALLTHROUGH */
     case DW_FORM_GNU_strp_alt:
       {
-	struct dwz_file *dwz = dwarf2_get_dwz_file ();
+	struct dwz_file *dwz = dwarf2_get_dwz_file (dwarf2_per_objfile);
 	LONGEST str_offset = read_offset (abfd, info_ptr, cu_header,
 					  &bytes_read);
 
-	DW_STRING (attr) = read_indirect_string_from_dwz (dwz, str_offset);
+	DW_STRING (attr) = read_indirect_string_from_dwz (objfile,
+							  dwz, str_offset);
 	DW_STRING_IS_CANONICAL (attr) = 0;
 	info_ptr += bytes_read;
       }
@@ -19114,8 +19036,7 @@ read_attribute_value (const struct die_r
       && DW_UNSND (attr) >= 0xffffffff)
     {
       complaint
-        (&symfile_complaints,
-         _("Suspicious DW_AT_byte_size value treated as zero instead of %s"),
+        (_("Suspicious DW_AT_byte_size value treated as zero instead of %s"),
          hex_string (DW_UNSND (attr)));
       DW_UNSND (attr) = 0;
     }
@@ -19313,8 +19234,7 @@ read_checked_initial_length_and_offset (
 	      || cu_header->initial_length_size == 12);
 
   if (cu_header->initial_length_size != *bytes_read)
-    complaint (&symfile_complaints,
-	       _("intermixed 32-bit and 64-bit DWARF sections"));
+    complaint (_("intermixed 32-bit and 64-bit DWARF sections"));
 
   *offset_size = (*bytes_read == 4) ? 4 : 8;
   return length;
@@ -19389,12 +19309,13 @@ read_direct_string (bfd *abfd, const gdb
    reporting strings FORM_NAME and SECT_NAME.  */
 
 static const char *
-read_indirect_string_at_offset_from (bfd *abfd, LONGEST str_offset,
+read_indirect_string_at_offset_from (struct objfile *objfile,
+				     bfd *abfd, LONGEST str_offset,
 				     struct dwarf2_section_info *sect,
 				     const char *form_name,
 				     const char *sect_name)
 {
-  dwarf2_read_section (dwarf2_per_objfile->objfile, sect);
+  dwarf2_read_section (objfile, sect);
   if (sect->buffer == NULL)
     error (_("%s used without %s section [in module %s]"),
 	   form_name, sect_name, bfd_get_filename (abfd));
@@ -19410,9 +19331,11 @@ read_indirect_string_at_offset_from (bfd
 /* Return pointer to string at .debug_str offset STR_OFFSET.  */
 
 static const char *
-read_indirect_string_at_offset (bfd *abfd, LONGEST str_offset)
+read_indirect_string_at_offset (struct dwarf2_per_objfile *dwarf2_per_objfile,
+				bfd *abfd, LONGEST str_offset)
 {
-  return read_indirect_string_at_offset_from (abfd, str_offset,
+  return read_indirect_string_at_offset_from (dwarf2_per_objfile->objfile,
+					      abfd, str_offset,
 					      &dwarf2_per_objfile->str,
 					      "DW_FORM_strp", ".debug_str");
 }
@@ -19420,9 +19343,11 @@ read_indirect_string_at_offset (bfd *abf
 /* Return pointer to string at .debug_line_str offset STR_OFFSET.  */
 
 static const char *
-read_indirect_line_string_at_offset (bfd *abfd, LONGEST str_offset)
+read_indirect_line_string_at_offset (struct dwarf2_per_objfile *dwarf2_per_objfile,
+				     bfd *abfd, LONGEST str_offset)
 {
-  return read_indirect_string_at_offset_from (abfd, str_offset,
+  return read_indirect_string_at_offset_from (dwarf2_per_objfile->objfile,
+					      abfd, str_offset,
 					      &dwarf2_per_objfile->line_str,
 					      "DW_FORM_line_strp",
 					      ".debug_line_str");
@@ -19434,9 +19359,10 @@ read_indirect_line_string_at_offset (bfd
    return a pointer to the string.  */
 
 static const char *
-read_indirect_string_from_dwz (struct dwz_file *dwz, LONGEST str_offset)
+read_indirect_string_from_dwz (struct objfile *objfile, struct dwz_file *dwz,
+			       LONGEST str_offset)
 {
-  dwarf2_read_section (dwarf2_per_objfile->objfile, &dwz->str);
+  dwarf2_read_section (objfile, &dwz->str);
 
   if (dwz->str.buffer == NULL)
     error (_("DW_FORM_GNU_strp_alt used without .debug_str "
@@ -19457,13 +19383,14 @@ read_indirect_string_from_dwz (struct dw
    Return *BYTES_READ_PTR count of bytes read from BUF.  */
 
 static const char *
-read_indirect_string (bfd *abfd, const gdb_byte *buf,
+read_indirect_string (struct dwarf2_per_objfile *dwarf2_per_objfile, bfd *abfd,
+		      const gdb_byte *buf,
 		      const struct comp_unit_head *cu_header,
 		      unsigned int *bytes_read_ptr)
 {
   LONGEST str_offset = read_offset (abfd, buf, cu_header, bytes_read_ptr);
 
-  return read_indirect_string_at_offset (abfd, str_offset);
+  return read_indirect_string_at_offset (dwarf2_per_objfile, abfd, str_offset);
 }
 
 /* Return pointer to string at .debug_line_str offset as read from BUF.
@@ -19471,13 +19398,15 @@ read_indirect_string (bfd *abfd, const g
    Return *BYTES_READ_PTR count of bytes read from BUF.  */
 
 static const char *
-read_indirect_line_string (bfd *abfd, const gdb_byte *buf,
+read_indirect_line_string (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			   bfd *abfd, const gdb_byte *buf,
 			   const struct comp_unit_head *cu_header,
 			   unsigned int *bytes_read_ptr)
 {
   LONGEST str_offset = read_offset (abfd, buf, cu_header, bytes_read_ptr);
 
-  return read_indirect_line_string_at_offset (abfd, str_offset);
+  return read_indirect_line_string_at_offset (dwarf2_per_objfile, abfd,
+					      str_offset);
 }
 
 ULONGEST
@@ -19542,7 +19471,8 @@ read_signed_leb128 (bfd *abfd, const gdb
    ADDR_SIZE is the size of addresses from the CU header.  */
 
 static CORE_ADDR
-read_addr_index_1 (unsigned int addr_index, ULONGEST addr_base, int addr_size)
+read_addr_index_1 (struct dwarf2_per_objfile *dwarf2_per_objfile,
+		   unsigned int addr_index, ULONGEST addr_base, int addr_size)
 {
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   bfd *abfd = objfile->obfd;
@@ -19569,7 +19499,8 @@ read_addr_index_1 (unsigned int addr_ind
 static CORE_ADDR
 read_addr_index (struct dwarf2_cu *cu, unsigned int addr_index)
 {
-  return read_addr_index_1 (addr_index, cu->addr_base, cu->header.addr_size);
+  return read_addr_index_1 (cu->per_cu->dwarf2_per_objfile, addr_index,
+			    cu->addr_base, cu->header.addr_size);
 }
 
 /* Given a pointer to an leb128 value, fetch the value from .debug_addr.  */
@@ -19578,7 +19509,7 @@ static CORE_ADDR
 read_addr_index_from_leb128 (struct dwarf2_cu *cu, const gdb_byte *info_ptr,
 			     unsigned int *bytes_read)
 {
-  bfd *abfd = cu->objfile->obfd;
+  bfd *abfd = cu->per_cu->dwarf2_per_objfile->objfile->obfd;
   unsigned int addr_index = read_unsigned_leb128 (abfd, info_ptr, bytes_read);
 
   return read_addr_index (cu, addr_index);
@@ -19619,14 +19550,11 @@ CORE_ADDR
 dwarf2_read_addr_index (struct dwarf2_per_cu_data *per_cu,
 			unsigned int addr_index)
 {
-  struct objfile *objfile = per_cu->objfile;
+  struct dwarf2_per_objfile *dwarf2_per_objfile = per_cu->dwarf2_per_objfile;
   struct dwarf2_cu *cu = per_cu->cu;
   ULONGEST addr_base;
   int addr_size;
 
-  /* This is intended to be called from outside this file.  */
-  dw2_setup (objfile);
-
   /* We need addr_base and addr_size.
      If we don't have PER_CU->cu, we have to get it.
      Nasty, but the alternative is storing the needed info in PER_CU,
@@ -19654,13 +19582,14 @@ dwarf2_read_addr_index (struct dwarf2_pe
 
       /* Note: We can't use init_cutu_and_read_dies_simple here,
 	 we need addr_base.  */
-      init_cutu_and_read_dies (per_cu, NULL, 0, 0,
+      init_cutu_and_read_dies (per_cu, NULL, 0, 0, false,
 			       dwarf2_read_addr_index_reader, &aidata);
       addr_base = aidata.addr_base;
       addr_size = aidata.addr_size;
     }
 
-  return read_addr_index_1 (addr_index, addr_base, addr_size);
+  return read_addr_index_1 (dwarf2_per_objfile, addr_index, addr_base,
+			    addr_size);
 }
 
 /* Given a DW_FORM_GNU_str_index, fetch the string.
@@ -19669,10 +19598,12 @@ dwarf2_read_addr_index (struct dwarf2_pe
 static const char *
 read_str_index (const struct die_reader_specs *reader, ULONGEST str_index)
 {
+  struct dwarf2_cu *cu = reader->cu;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   const char *objf_name = objfile_name (objfile);
   bfd *abfd = objfile->obfd;
-  struct dwarf2_cu *cu = reader->cu;
   struct dwarf2_section_info *str_section = &reader->dwo_file->sections.str;
   struct dwarf2_section_info *str_offsets_section =
     &reader->dwo_file->sections.str_offsets;
@@ -19684,16 +19615,16 @@ read_str_index (const struct die_reader_
   dwarf2_read_section (objfile, str_offsets_section);
   if (str_section->buffer == NULL)
     error (_("%s used without .debug_str.dwo section"
-	     " in CU at offset 0x%x [in module %s]"),
-	   form_name, to_underlying (cu->header.sect_off), objf_name);
+	     " in CU at offset %s [in module %s]"),
+	   form_name, sect_offset_str (cu->header.sect_off), objf_name);
   if (str_offsets_section->buffer == NULL)
     error (_("%s used without .debug_str_offsets.dwo section"
-	     " in CU at offset 0x%x [in module %s]"),
-	   form_name, to_underlying (cu->header.sect_off), objf_name);
+	     " in CU at offset %s [in module %s]"),
+	   form_name, sect_offset_str (cu->header.sect_off), objf_name);
   if (str_index * cu->header.offset_size >= str_offsets_section->size)
     error (_("%s pointing outside of .debug_str_offsets.dwo"
-	     " section in CU at offset 0x%x [in module %s]"),
-	   form_name, to_underlying (cu->header.sect_off), objf_name);
+	     " section in CU at offset %s [in module %s]"),
+	   form_name, sect_offset_str (cu->header.sect_off), objf_name);
   info_ptr = (str_offsets_section->buffer
 	      + str_index * cu->header.offset_size);
   if (cu->header.offset_size == 4)
@@ -19702,8 +19633,8 @@ read_str_index (const struct die_reader_
     str_offset = bfd_get_64 (abfd, info_ptr);
   if (str_offset >= str_section->size)
     error (_("Offset from %s pointing outside of"
-	     " .debug_str.dwo section in CU at offset 0x%x [in module %s]"),
-	   form_name, to_underlying (cu->header.sect_off), objf_name);
+	     " .debug_str.dwo section in CU at offset %s [in module %s]"),
+	   form_name, sect_offset_str (cu->header.sect_off), objf_name);
   return (const char *) (str_section->buffer + str_offset);
 }
 
@@ -19848,11 +19779,10 @@ dwarf2_string_attr (struct die_info *die
 	  || attr->form == DW_FORM_GNU_strp_alt)
 	str = DW_STRING (attr);
       else
-        complaint (&symfile_complaints,
-	           _("string type expected for attribute %s for "
-		     "DIE at 0x%x in module %s"),
-		   dwarf_attr_name (name), to_underlying (die->sect_off),
-		   objfile_name (cu->objfile));
+        complaint (_("string type expected for attribute %s for "
+		     "DIE at %s in module %s"),
+		   dwarf_attr_name (name), sect_offset_str (die->sect_off),
+		   objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
     }
 
   return str;
@@ -19944,6 +19874,8 @@ static struct dwarf2_section_info *
 get_debug_line_section (struct dwarf2_cu *cu)
 {
   struct dwarf2_section_info *section;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
 
   /* For TUs in DWO files, the DW_AT_stmt_list attribute lives in the
      DWO file.  */
@@ -19951,7 +19883,7 @@ get_debug_line_section (struct dwarf2_cu
     section = &cu->dwo_unit->dwo_file->sections.line;
   else if (cu->per_cu->is_dwz)
     {
-      struct dwz_file *dwz = dwarf2_get_dwz_file ();
+      struct dwz_file *dwz = dwarf2_get_dwz_file (dwarf2_per_objfile);
 
       section = &dwz->line;
     }
@@ -19967,7 +19899,8 @@ get_debug_line_section (struct dwarf2_cu
    format.  */
 
 static void
-read_formatted_entries (bfd *abfd, const gdb_byte **bufp,
+read_formatted_entries (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			bfd *abfd, const gdb_byte **bufp,
 			struct line_header *lh,
 			const struct comp_unit_head *cu_header,
 			void (*callback) (struct line_header *lh,
@@ -20019,7 +19952,8 @@ read_formatted_entries (bfd *abfd, const
 	      break;
 
 	    case DW_FORM_line_strp:
-	      string.emplace (read_indirect_line_string (abfd, buf,
+	      string.emplace (read_indirect_line_string (dwarf2_per_objfile,
+							 abfd, buf,
 							 cu_header,
 							 &bytes_read));
 	      buf += bytes_read;
@@ -20077,8 +20011,7 @@ read_formatted_entries (bfd *abfd, const
 	    case DW_LNCT_MD5:
 	      break;
 	    default:
-	      complaint (&symfile_complaints,
-			 _("Unknown format content type %s"),
+	      complaint (_("Unknown format content type %s"),
 			 pulongest (content_type));
 	    }
 	}
@@ -20108,15 +20041,17 @@ dwarf_decode_line_header (sect_offset se
   const char *cur_dir, *cur_file;
   struct dwarf2_section_info *section;
   bfd *abfd;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
 
   section = get_debug_line_section (cu);
   dwarf2_read_section (dwarf2_per_objfile->objfile, section);
   if (section->buffer == NULL)
     {
       if (cu->dwo_unit && cu->per_cu->is_debug_types)
-	complaint (&symfile_complaints, _("missing .debug_line.dwo section"));
+	complaint (_("missing .debug_line.dwo section"));
       else
-	complaint (&symfile_complaints, _("missing .debug_line section"));
+	complaint (_("missing .debug_line section"));
       return 0;
     }
 
@@ -20156,8 +20091,7 @@ dwarf_decode_line_header (sect_offset se
     {
       /* This is a version we don't understand.  The format could have
 	 changed in ways we don't handle properly so just punt.  */
-      complaint (&symfile_complaints,
-		 _("unsupported version in .debug_line section"));
+      complaint (_("unsupported version in .debug_line section"));
       return NULL;
     }
   if (lh->version >= 5)
@@ -20172,8 +20106,7 @@ dwarf_decode_line_header (sect_offset se
       line_ptr += 1;
       if (segment_selector_size != 0)
 	{
-	  complaint (&symfile_complaints,
-		     _("unsupported segment selector size %u "
+	  complaint (_("unsupported segment selector size %u "
 		       "in .debug_line section"),
 		     segment_selector_size);
 	  return NULL;
@@ -20194,8 +20127,7 @@ dwarf_decode_line_header (sect_offset se
   if (lh->maximum_ops_per_instruction == 0)
     {
       lh->maximum_ops_per_instruction = 1;
-      complaint (&symfile_complaints,
-		 _("invalid maximum_ops_per_instruction "
+      complaint (_("invalid maximum_ops_per_instruction "
 		   "in `.debug_line' section"));
     }
 
@@ -20219,7 +20151,8 @@ dwarf_decode_line_header (sect_offset se
   if (lh->version >= 5)
     {
       /* Read directory table.  */
-      read_formatted_entries (abfd, &line_ptr, lh.get (), &cu->header,
+      read_formatted_entries (dwarf2_per_objfile, abfd, &line_ptr, lh.get (),
+			      &cu->header,
 			      [] (struct line_header *lh, const char *name,
 				  dir_index d_index, unsigned int mod_time,
 				  unsigned int length)
@@ -20228,7 +20161,8 @@ dwarf_decode_line_header (sect_offset se
 	});
 
       /* Read file name table.  */
-      read_formatted_entries (abfd, &line_ptr, lh.get (), &cu->header,
+      read_formatted_entries (dwarf2_per_objfile, abfd, &line_ptr, lh.get (),
+			      &cu->header,
 			      [] (struct line_header *lh, const char *name,
 				  dir_index d_index, unsigned int mod_time,
 				  unsigned int length)
@@ -20267,8 +20201,7 @@ dwarf_decode_line_header (sect_offset se
   lh->statement_program_start = line_ptr;
 
   if (line_ptr > (section->buffer + section->size))
-    complaint (&symfile_complaints,
-	       _("line number info header doesn't "
+    complaint (_("line number info header doesn't "
 		 "fit in `.debug_line' section"));
 
   return lh;
@@ -20278,25 +20211,24 @@ dwarf_decode_line_header (sect_offset se
    Return the file name of the psymtab for included file FILE_INDEX
    in line header LH of PST.
    COMP_DIR is the compilation directory (DW_AT_comp_dir) or NULL if unknown.
-   If space for the result is malloc'd, it will be freed by a cleanup.
-   Returns NULL if FILE_INDEX should be ignored, i.e., it is pst->filename.
-
-   The function creates dangling cleanup registration.  */
+   If space for the result is malloc'd, *NAME_HOLDER will be set.
+   Returns NULL if FILE_INDEX should be ignored, i.e., it is pst->filename.  */
 
 static const char *
 psymtab_include_file_name (const struct line_header *lh, int file_index,
 			   const struct partial_symtab *pst,
-			   const char *comp_dir)
+			   const char *comp_dir,
+			   gdb::unique_xmalloc_ptr<char> *name_holder)
 {
   const file_entry &fe = lh->file_names[file_index];
   const char *include_name = fe.name;
   const char *include_name_to_compare = include_name;
   const char *pst_filename;
-  char *copied_name = NULL;
   int file_is_pst;
 
   const char *dir_name = fe.include_dir (lh);
 
+  gdb::unique_xmalloc_ptr<char> hold_compare;
   if (!IS_ABSOLUTE_PATH (include_name)
       && (dir_name != NULL || comp_dir != NULL))
     {
@@ -20323,36 +20255,30 @@ psymtab_include_file_name (const struct 
 
       if (dir_name != NULL)
 	{
-	  char *tem = concat (dir_name, SLASH_STRING,
-			      include_name, (char *)NULL);
-
-	  make_cleanup (xfree, tem);
-	  include_name = tem;
+	  name_holder->reset (concat (dir_name, SLASH_STRING,
+				      include_name, (char *) NULL));
+	  include_name = name_holder->get ();
 	  include_name_to_compare = include_name;
 	}
       if (!IS_ABSOLUTE_PATH (include_name) && comp_dir != NULL)
 	{
-	  char *tem = concat (comp_dir, SLASH_STRING,
-			      include_name, (char *)NULL);
-
-	  make_cleanup (xfree, tem);
-	  include_name_to_compare = tem;
+	  hold_compare.reset (concat (comp_dir, SLASH_STRING,
+				      include_name, (char *) NULL));
+	  include_name_to_compare = hold_compare.get ();
 	}
     }
 
   pst_filename = pst->filename;
+  gdb::unique_xmalloc_ptr<char> copied_name;
   if (!IS_ABSOLUTE_PATH (pst_filename) && pst->dirname != NULL)
     {
-      copied_name = concat (pst->dirname, SLASH_STRING,
-			    pst_filename, (char *)NULL);
-      pst_filename = copied_name;
+      copied_name.reset (concat (pst->dirname, SLASH_STRING,
+				 pst_filename, (char *) NULL));
+      pst_filename = copied_name.get ();
     }
 
   file_is_pst = FILENAME_CMP (include_name_to_compare, pst_filename) == 0;
 
-  if (copied_name != NULL)
-    xfree (copied_name);
-
   if (file_is_pst)
     return NULL;
   return include_name;
@@ -20378,11 +20304,11 @@ public:
      we're processing the end of a sequence.  */
   void record_line (bool end_sequence);
 
-  /* Check address and if invalid nop-out the rest of the lines in this
-     sequence.  */
+  /* Check ADDRESS is zero and less than UNRELOCATED_LOWPC and if true
+     nop-out rest of the lines in this sequence.  */
   void check_line_address (struct dwarf2_cu *cu,
 			   const gdb_byte *line_ptr,
-			   CORE_ADDR lowpc, CORE_ADDR address);
+			   CORE_ADDR unrelocated_lowpc, CORE_ADDR address);
 
   void handle_set_discriminator (unsigned int discriminator)
   {
@@ -20726,23 +20652,22 @@ lnp_state_machine::lnp_state_machine (gd
 void
 lnp_state_machine::check_line_address (struct dwarf2_cu *cu,
 				       const gdb_byte *line_ptr,
-				       CORE_ADDR lowpc, CORE_ADDR address)
+				       CORE_ADDR unrelocated_lowpc, CORE_ADDR address)
 {
-  /* If address < lowpc then it's not a usable value, it's outside the
-     pc range of the CU.  However, we restrict the test to only address
-     values of zero to preserve GDB's previous behaviour which is to
-     handle the specific case of a function being GC'd by the linker.  */
+  /* If ADDRESS < UNRELOCATED_LOWPC then it's not a usable value, it's outside
+     the pc range of the CU.  However, we restrict the test to only ADDRESS
+     values of zero to preserve GDB's previous behaviour which is to handle
+     the specific case of a function being GC'd by the linker.  */
 
-  if (address == 0 && address < lowpc)
+  if (address == 0 && address < unrelocated_lowpc)
     {
       /* This line table is for a function which has been
 	 GCd by the linker.  Ignore it.  PR gdb/12528 */
 
-      struct objfile *objfile = cu->objfile;
+      struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
       long line_offset = line_ptr - get_debug_line_section (cu)->buffer;
 
-      complaint (&symfile_complaints,
-		 _(".debug_line address at offset 0x%lx is 0 [in module %s]"),
+      complaint (_(".debug_line address at offset 0x%lx is 0 [in module %s]"),
 		 line_offset, objfile_name (objfile));
       m_record_line_callback = noop_record_line;
       /* Note: record_line_callback is left as noop_record_line until
@@ -20764,7 +20689,7 @@ dwarf_decode_lines_1 (struct line_header
   unsigned int bytes_read, extended_len;
   unsigned char op_code, extended_op;
   CORE_ADDR baseaddr;
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   bfd *abfd = objfile->obfd;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   /* True if we're recording line info (as opposed to building partial
@@ -20828,7 +20753,7 @@ dwarf_decode_lines_1 (struct line_header
 		    line_ptr += bytes_read;
 
 		    state_machine.check_line_address (cu, line_ptr,
-						      lowpc, address);
+						      lowpc - baseaddr, address);
 		    state_machine.handle_set_address (baseaddr, address);
 		  }
 		  break;
@@ -20869,8 +20794,7 @@ dwarf_decode_lines_1 (struct line_header
 		  }
 		  break;
 		default:
-		  complaint (&symfile_complaints,
-			     _("mangled .debug_line section"));
+		  complaint (_("mangled .debug_line section"));
 		  return;
 		}
 	      /* Make sure that we parsed the extended op correctly.  If e.g.
@@ -20878,8 +20802,7 @@ dwarf_decode_lines_1 (struct line_header
 		 we may have read the wrong number of bytes.  */
 	      if (line_ptr != extended_end)
 		{
-		  complaint (&symfile_complaints,
-			     _("mangled .debug_line section"));
+		  complaint (_("mangled .debug_line section"));
 		  return;
 		}
 	      break;
@@ -20995,7 +20918,7 @@ dwarf_decode_lines (struct line_header *
 		    struct dwarf2_cu *cu, struct partial_symtab *pst,
 		    CORE_ADDR lowpc, int decode_mapping)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   const int decode_for_pst_p = (pst != NULL);
 
   if (decode_mapping)
@@ -21010,8 +20933,10 @@ dwarf_decode_lines (struct line_header *
       for (file_index = 0; file_index < lh->file_names.size (); file_index++)
         if (lh->file_names[file_index].included_p == 1)
           {
+	    gdb::unique_xmalloc_ptr<char> name_holder;
 	    const char *include_name =
-	      psymtab_include_file_name (lh, file_index, pst, comp_dir);
+	      psymtab_include_file_name (lh, file_index, pst, comp_dir,
+					 &name_holder);
 	    if (include_name != NULL)
               dwarf2_create_include_psymtab (include_name, pst, objfile);
           }
@@ -21095,7 +21020,8 @@ dwarf2_start_symtab (struct dwarf2_cu *c
 		     const char *name, const char *comp_dir, CORE_ADDR low_pc)
 {
   struct compunit_symtab *cust
-    = start_symtab (cu->objfile, name, comp_dir, low_pc, cu->language);
+    = start_symtab (cu->per_cu->dwarf2_per_objfile->objfile, name, comp_dir,
+		    low_pc, cu->language);
 
   record_debugformat ("DWARF 2");
   record_producer (cu->producer);
@@ -21112,7 +21038,7 @@ static void
 var_decode_location (struct attribute *attr, struct symbol *sym,
 		     struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct comp_unit_head *cu_header = &cu->header;
 
   /* NOTE drow/2003-01-30: There used to be a comment and some special
@@ -21182,10 +21108,12 @@ var_decode_location (struct attribute *a
    NULL, allocate a new symbol on the objfile's obstack.  */
 
 static struct symbol *
-new_symbol_full (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
-		 struct symbol *space)
+new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
+	    struct symbol *space)
 {
-  struct objfile *objfile = cu->objfile;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct symbol *sym = NULL;
   const char *name;
@@ -21253,8 +21181,7 @@ new_symbol_full (struct die_info *die, s
 	    fe = NULL;
 
 	  if (fe == NULL)
-	    complaint (&symfile_complaints,
-		       _("file index out of range"));
+	    complaint (_("file index out of range"));
 	  else
 	    symbol_set_symtab (sym, fe->symtab);
 	}
@@ -21539,7 +21466,7 @@ new_symbol_full (struct die_info *die, s
 	     trash data, but since we must specifically ignore things
 	     we don't recognize, there is nothing else we should do at
 	     this point.  */
-	  complaint (&symfile_complaints, _("unsupported tag: '%s'"),
+	  complaint (_("unsupported tag: '%s'"),
 		     dwarf_tag_name (die->tag));
 	  break;
 	}
@@ -21563,14 +21490,6 @@ new_symbol_full (struct die_info *die, s
   return (sym);
 }
 
-/* A wrapper for new_symbol_full that always allocates a new symbol.  */
-
-static struct symbol *
-new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
-{
-  return new_symbol_full (die, type, cu, NULL);
-}
-
 /* Given an attr with a DW_FORM_dataN value in host byte order,
    zero-extend it as appropriate for the symbol's type.  The DWARF
    standard (v4) is not entirely clear about the meaning of using
@@ -21583,7 +21502,7 @@ static gdb_byte *
 dwarf2_const_value_data (const struct attribute *attr, struct obstack *obstack,
 			 struct dwarf2_cu *cu, LONGEST *value, int bits)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   enum bfd_endian byte_order = bfd_big_endian (objfile->obfd) ?
 				BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE;
   LONGEST l = DW_UNSND (attr);
@@ -21618,7 +21537,7 @@ dwarf2_const_value_attr (const struct at
 			 LONGEST *value, const gdb_byte **bytes,
 			 struct dwarf2_locexpr_baton **baton)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   struct comp_unit_head *cu_header = &cu->header;
   struct dwarf_block *blk;
   enum bfd_endian byte_order = (bfd_big_endian (objfile->obfd) ?
@@ -21705,8 +21624,7 @@ dwarf2_const_value_attr (const struct at
       break;
 
     default:
-      complaint (&symfile_complaints,
-		 _("unsupported const value attribute form: '%s'"),
+      complaint (_("unsupported const value attribute form: '%s'"),
 		 dwarf_form_name (attr->form));
       *value = 0;
       break;
@@ -21720,7 +21638,7 @@ static void
 dwarf2_const_value (const struct attribute *attr, struct symbol *sym,
 		    struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   LONGEST value;
   const gdb_byte *bytes;
   struct dwarf2_locexpr_baton *baton;
@@ -21757,8 +21675,9 @@ die_type (struct die_info *die, struct d
   type_attr = dwarf2_attr (die, DW_AT_type, cu);
   if (!type_attr)
     {
+      struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
       /* A missing DW_AT_type represents a void type.  */
-      return objfile_type (cu->objfile)->builtin_void;
+      return objfile_type (objfile)->builtin_void;
     }
 
   return lookup_die_type (die, type_attr, cu);
@@ -21771,15 +21690,9 @@ die_type (struct die_info *die, struct d
 static int
 need_gnat_info (struct dwarf2_cu *cu)
 {
-  /* FIXME: brobecker/2010-10-12: As of now, only the AdaCore version
-     of GNAT produces this auxiliary information, without any indication
-     that it is produced.  Part of enhancing the FSF version of GNAT
-     to produce that information will be to put in place an indicator
-     that we can use in order to determine whether the descriptive type
-     info is available or not.  One suggestion that has been made is
-     to use a new attribute, attached to the CU die.  For now, assume
-     that the descriptive type info is not available.  */
-  return 0;
+  /* Assume that the Ada compiler was GNAT, which always produces
+     the auxiliary information.  */
+  return (cu->language == language_ada);
 }
 
 /* Return the auxiliary type of the die in question using its
@@ -21821,11 +21734,12 @@ static struct type *
 die_containing_type (struct die_info *die, struct dwarf2_cu *cu)
 {
   struct attribute *type_attr;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
 
   type_attr = dwarf2_attr (die, DW_AT_containing_type, cu);
   if (!type_attr)
     error (_("Dwarf Error: Problem turning containing type into gdb type "
-	     "[in module %s]"), objfile_name (cu->objfile));
+	     "[in module %s]"), objfile_name (objfile));
 
   return lookup_die_type (die, type_attr, cu);
 }
@@ -21835,13 +21749,15 @@ die_containing_type (struct die_info *di
 static struct type *
 build_error_marker_type (struct dwarf2_cu *cu, struct die_info *die)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   char *message, *saved;
 
-  message = xstrprintf (_("<unknown type in %s, CU 0x%x, DIE 0x%x>"),
+  message = xstrprintf (_("<unknown type in %s, CU %s, DIE %s>"),
 			objfile_name (objfile),
-			to_underlying (cu->header.sect_off),
-			to_underlying (die->sect_off));
+			sect_offset_str (cu->header.sect_off),
+			sect_offset_str (die->sect_off));
   saved = (char *) obstack_copy0 (&objfile->objfile_obstack,
 				  message, strlen (message));
   xfree (message);
@@ -21858,7 +21774,9 @@ static struct type *
 lookup_die_type (struct die_info *die, const struct attribute *attr,
 		 struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct type *this_type;
 
   gdb_assert (attr->name == DW_AT_type
@@ -21872,7 +21790,8 @@ lookup_die_type (struct die_info *die, c
       struct dwarf2_per_cu_data *per_cu;
       sect_offset sect_off = dwarf2_get_ref_die_offset (attr);
 
-      per_cu = dwarf2_find_containing_comp_unit (sect_off, 1, cu->objfile);
+      per_cu = dwarf2_find_containing_comp_unit (sect_off, 1,
+						 dwarf2_per_objfile);
       this_type = get_die_type_at_offset (sect_off, per_cu);
     }
   else if (attr_form_is_ref (attr))
@@ -21889,10 +21808,9 @@ lookup_die_type (struct die_info *die, c
     }
   else
     {
-      complaint (&symfile_complaints,
-		 _("Dwarf Error: Bad type attribute %s in DIE"
-		   " at 0x%x [in module %s]"),
-		 dwarf_attr_name (attr->name), to_underlying (die->sect_off),
+      complaint (_("Dwarf Error: Bad type attribute %s in DIE"
+		   " at %s [in module %s]"),
+		 dwarf_attr_name (attr->name), sect_offset_str (die->sect_off),
 		 objfile_name (objfile));
       return build_error_marker_type (cu, die);
     }
@@ -22018,8 +21936,7 @@ read_type_die_1 (struct die_info *die, s
       this_type = read_tag_atomic_type (die, cu);
       break;
     default:
-      complaint (&symfile_complaints,
-		 _("unexpected tag in read_type_die: '%s'"),
+      complaint (_("unexpected tag in read_type_die: '%s'"),
 		 dwarf_tag_name (die->tag));
       break;
     }
@@ -22041,6 +21958,7 @@ guess_full_die_structure_name (struct di
   struct die_info *spec_die;
   struct dwarf2_cu *spec_cu;
   struct die_info *child;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
 
   spec_cu = cu;
   spec_die = die_specification (die, &spec_cu);
@@ -22082,7 +22000,7 @@ guess_full_die_structure_name (struct di
 			  && actual_name[actual_name_len
 					 - die_name_len - 1] == ':')
 			name = (char *) obstack_copy0 (
-			  &cu->objfile->per_bfd->storage_obstack,
+			  &objfile->per_bfd->storage_obstack,
 			  actual_name, actual_name_len - die_name_len - 2);
 		    }
 		}
@@ -22124,7 +22042,8 @@ anonymous_struct_prefix (struct die_info
   if (base == NULL || base == DW_STRING (attr) || base[-1] != ':')
     return "";
 
-  return (char *) obstack_copy0 (&cu->objfile->per_bfd->storage_obstack,
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
+  return (char *) obstack_copy0 (&objfile->per_bfd->storage_obstack,
 				 DW_STRING (attr),
 				 &base[-1] - DW_STRING (attr));
 }
@@ -22147,6 +22066,8 @@ anonymous_struct_prefix (struct die_info
 static const char *
 determine_prefix (struct die_info *die, struct dwarf2_cu *cu)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct die_info *parent, *spec_die;
   struct dwarf2_cu *spec_cu;
   struct type *parent_type;
@@ -22229,8 +22150,7 @@ determine_prefix (struct die_info *die, 
 	 doesn't allow it), and break the loop here.  */
       name = dwarf2_name (die, cu);
       parent_name = dwarf2_name (parent, cu);
-      complaint (&symfile_complaints,
-		 _("template param type '%s' defined within parent '%s'"),
+      complaint (_("template param type '%s' defined within parent '%s'"),
 		 name ? name : "<unknown>",
 		 parent_name ? parent_name : "<unknown>");
       return "";
@@ -22244,18 +22164,18 @@ determine_prefix (struct die_info *die, 
 	   DW_TAG_namespace DIEs with a name of "::" for the global namespace.
 	   Work around this problem here.  */
 	if (cu->language == language_cplus
-	    && strcmp (TYPE_TAG_NAME (parent_type), "::") == 0)
+	    && strcmp (TYPE_NAME (parent_type), "::") == 0)
 	  return "";
 	/* We give a name to even anonymous namespaces.  */
-	return TYPE_TAG_NAME (parent_type);
+	return TYPE_NAME (parent_type);
       case DW_TAG_class_type:
       case DW_TAG_interface_type:
       case DW_TAG_structure_type:
       case DW_TAG_union_type:
       case DW_TAG_module:
 	parent_type = read_type_die (parent, cu);
-	if (TYPE_TAG_NAME (parent_type) != NULL)
-	  return TYPE_TAG_NAME (parent_type);
+	if (TYPE_NAME (parent_type) != NULL)
+	  return TYPE_NAME (parent_type);
 	else
 	  /* An anonymous structure is only allowed non-static data
 	     members; no typedefs, no member functions, et cetera.
@@ -22280,8 +22200,8 @@ determine_prefix (struct die_info *die, 
 	parent_type = read_type_die (parent, cu);
 	if (TYPE_DECLARED_CLASS (parent_type))
 	  {
-	    if (TYPE_TAG_NAME (parent_type) != NULL)
-	      return TYPE_TAG_NAME (parent_type);
+	    if (TYPE_NAME (parent_type) != NULL)
+	      return TYPE_NAME (parent_type);
 	    return "";
 	  }
 	/* Fall through.  */
@@ -22392,6 +22312,7 @@ static const char *
 dwarf2_name (struct die_info *die, struct dwarf2_cu *cu)
 {
   struct attribute *attr;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
 
   attr = dwarf2_attr (die, DW_AT_name, cu);
   if ((!attr || !DW_STRING (attr))
@@ -22454,7 +22375,7 @@ dwarf2_name (struct die_info *die, struc
 	      /* FIXME: we already did this for the partial symbol... */
 	      DW_STRING (attr)
 		= ((const char *)
-		   obstack_copy0 (&cu->objfile->per_bfd->storage_obstack,
+		   obstack_copy0 (&objfile->per_bfd->storage_obstack,
 				  demangled, strlen (demangled)));
 	      DW_STRING_IS_CANONICAL (attr) = 1;
 	      xfree (demangled);
@@ -22478,7 +22399,7 @@ dwarf2_name (struct die_info *die, struc
     {
       DW_STRING (attr)
 	= dwarf2_canonicalize_name (DW_STRING (attr), cu,
-				    &cu->objfile->per_bfd->storage_obstack);
+				    &objfile->per_bfd->storage_obstack);
       DW_STRING_IS_CANONICAL (attr) = 1;
     }
   return DW_STRING (attr);
@@ -22577,15 +22498,15 @@ dump_die_shallow (struct ui_file *f, int
   unsigned int i;
 
   print_spaces (indent, f);
-  fprintf_unfiltered (f, "Die: %s (abbrev %d, offset 0x%x)\n",
+  fprintf_unfiltered (f, "Die: %s (abbrev %d, offset %s)\n",
 		      dwarf_tag_name (die->tag), die->abbrev,
-		      to_underlying (die->sect_off));
+		      sect_offset_str (die->sect_off));
 
   if (die->parent != NULL)
     {
       print_spaces (indent, f);
-      fprintf_unfiltered (f, "  parent at offset: 0x%x\n",
-			  to_underlying (die->parent->sect_off));
+      fprintf_unfiltered (f, "  parent at offset: %s\n",
+			  sect_offset_str (die->parent->sect_off));
     }
 
   print_spaces (indent, f);
@@ -22764,8 +22685,7 @@ dwarf2_get_ref_die_offset (const struct 
   if (attr_form_is_ref (attr))
     return (sect_offset) DW_UNSND (attr);
 
-  complaint (&symfile_complaints,
-	     _("unsupported die ref attribute form: '%s'"),
+  complaint (_("unsupported die ref attribute form: '%s'"),
 	     dwarf_form_name (attr->form));
   return {};
 }
@@ -22787,8 +22707,7 @@ dwarf2_get_attr_constant_value (const st
   else
     {
       /* For DW_FORM_data16 see attr_form_is_constant.  */
-      complaint (&symfile_complaints,
-		 _("Attribute value is not a constant (%s)"),
+      complaint (_("Attribute value is not a constant (%s)"),
                  dwarf_form_name (attr->form));
       return default_value;
     }
@@ -22812,7 +22731,7 @@ follow_die_ref_or_sig (struct die_info *
     {
       dump_die_for_error (src_die);
       error (_("Dwarf Error: Expected reference attribute [in module %s]"),
-	     objfile_name ((*ref_cu)->objfile));
+	     objfile_name ((*ref_cu)->per_cu->dwarf2_per_objfile->objfile));
     }
 
   return die;
@@ -22829,6 +22748,8 @@ follow_die_offset (sect_offset sect_off,
 {
   struct die_info temp_die;
   struct dwarf2_cu *target_cu, *cu = *ref_cu;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
 
   gdb_assert (cu->per_cu != NULL);
 
@@ -22848,11 +22769,11 @@ follow_die_offset (sect_offset sect_off,
       struct dwarf2_per_cu_data *per_cu;
 
       per_cu = dwarf2_find_containing_comp_unit (sect_off, offset_in_dwz,
-						 cu->objfile);
+						 dwarf2_per_objfile);
 
       /* If necessary, add it to the queue and load its DIEs.  */
       if (maybe_queue_comp_unit (cu, per_cu, cu->language))
-	load_full_comp_unit (per_cu, cu->language);
+	load_full_comp_unit (per_cu, false, cu->language);
 
       target_cu = per_cu->cu;
     }
@@ -22860,7 +22781,7 @@ follow_die_offset (sect_offset sect_off,
     {
       /* We're loading full DIEs during partial symbol reading.  */
       gdb_assert (dwarf2_per_objfile->reading_partial_symbols);
-      load_full_comp_unit (cu->per_cu, language_minimal);
+      load_full_comp_unit (cu->per_cu, false, language_minimal);
     }
 
   *ref_cu = target_cu;
@@ -22887,17 +22808,18 @@ follow_die_ref (struct die_info *src_die
 			    || cu->per_cu->is_dwz),
 			   ref_cu);
   if (!die)
-    error (_("Dwarf Error: Cannot find DIE at 0x%x referenced from DIE "
-	   "at 0x%x [in module %s]"),
-	   to_underlying (sect_off), to_underlying (src_die->sect_off),
-	   objfile_name (cu->objfile));
+    error (_("Dwarf Error: Cannot find DIE at %s referenced from DIE "
+	   "at %s [in module %s]"),
+	   sect_offset_str (sect_off), sect_offset_str (src_die->sect_off),
+	   objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
 
   return die;
 }
 
 /* Return DWARF block referenced by DW_AT_location of DIE at SECT_OFF at PER_CU.
    Returned value is intended for DW_OP_call*.  Returned
-   dwarf2_locexpr_baton->data has lifetime of PER_CU->OBJFILE.  */
+   dwarf2_locexpr_baton->data has lifetime of
+   PER_CU->DWARF2_PER_OBJFILE->OBJFILE.  */
 
 struct dwarf2_locexpr_baton
 dwarf2_fetch_die_loc_sect_off (sect_offset sect_off,
@@ -22909,24 +22831,24 @@ dwarf2_fetch_die_loc_sect_off (sect_offs
   struct die_info *die;
   struct attribute *attr;
   struct dwarf2_locexpr_baton retval;
-
-  dw2_setup (per_cu->objfile);
+  struct dwarf2_per_objfile *dwarf2_per_objfile = per_cu->dwarf2_per_objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
 
   if (per_cu->cu == NULL)
-    load_cu (per_cu);
+    load_cu (per_cu, false);
   cu = per_cu->cu;
   if (cu == NULL)
     {
       /* We shouldn't get here for a dummy CU, but don't crash on the user.
 	 Instead just throw an error, not much else we can do.  */
-      error (_("Dwarf Error: Dummy CU at 0x%x referenced in module %s"),
-	     to_underlying (sect_off), objfile_name (per_cu->objfile));
+      error (_("Dwarf Error: Dummy CU at %s referenced in module %s"),
+	     sect_offset_str (sect_off), objfile_name (objfile));
     }
 
   die = follow_die_offset (sect_off, per_cu->is_dwz, &cu);
   if (!die)
-    error (_("Dwarf Error: Cannot find DIE at 0x%x referenced in module %s"),
-	   to_underlying (sect_off), objfile_name (per_cu->objfile));
+    error (_("Dwarf Error: Cannot find DIE at %s referenced in module %s"),
+	   sect_offset_str (sect_off), objfile_name (objfile));
 
   attr = dwarf2_attr (die, DW_AT_location, cu);
   if (!attr)
@@ -22952,16 +22874,16 @@ dwarf2_fetch_die_loc_sect_off (sect_offs
   else
     {
       if (!attr_form_is_block (attr))
-	error (_("Dwarf Error: DIE at 0x%x referenced in module %s "
+	error (_("Dwarf Error: DIE at %s referenced in module %s "
 		 "is neither DW_FORM_block* nor DW_FORM_exprloc"),
-	       to_underlying (sect_off), objfile_name (per_cu->objfile));
+	       sect_offset_str (sect_off), objfile_name (objfile));
 
       retval.data = DW_BLOCK (attr)->data;
       retval.size = DW_BLOCK (attr)->size;
     }
   retval.per_cu = cu->per_cu;
 
-  age_cached_comp_units ();
+  age_cached_comp_units (dwarf2_per_objfile);
 
   return retval;
 }
@@ -23017,31 +22939,29 @@ dwarf2_fetch_constant_bytes (sect_offset
   struct type *type;
   LONGEST value;
   enum bfd_endian byte_order;
-
-  dw2_setup (per_cu->objfile);
+  struct objfile *objfile = per_cu->dwarf2_per_objfile->objfile;
 
   if (per_cu->cu == NULL)
-    load_cu (per_cu);
+    load_cu (per_cu, false);
   cu = per_cu->cu;
   if (cu == NULL)
     {
       /* We shouldn't get here for a dummy CU, but don't crash on the user.
 	 Instead just throw an error, not much else we can do.  */
-      error (_("Dwarf Error: Dummy CU at 0x%x referenced in module %s"),
-	     to_underlying (sect_off), objfile_name (per_cu->objfile));
+      error (_("Dwarf Error: Dummy CU at %s referenced in module %s"),
+	     sect_offset_str (sect_off), objfile_name (objfile));
     }
 
   die = follow_die_offset (sect_off, per_cu->is_dwz, &cu);
   if (!die)
-    error (_("Dwarf Error: Cannot find DIE at 0x%x referenced in module %s"),
-	   to_underlying (sect_off), objfile_name (per_cu->objfile));
-
+    error (_("Dwarf Error: Cannot find DIE at %s referenced in module %s"),
+	   sect_offset_str (sect_off), objfile_name (objfile));
 
   attr = dwarf2_attr (die, DW_AT_const_value, cu);
   if (attr == NULL)
     return NULL;
 
-  byte_order = (bfd_big_endian (per_cu->objfile->obfd)
+  byte_order = (bfd_big_endian (objfile->obfd)
 		? BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE);
 
   switch (attr->form)
@@ -23124,8 +23044,7 @@ dwarf2_fetch_constant_bytes (sect_offset
       break;
 
     default:
-      complaint (&symfile_complaints,
-		 _("unsupported const value attribute form: '%s'"),
+      complaint (_("unsupported const value attribute form: '%s'"),
 		 dwarf_form_name (attr->form));
       break;
     }
@@ -23143,10 +23062,8 @@ dwarf2_fetch_die_type_sect_off (sect_off
   struct dwarf2_cu *cu;
   struct die_info *die;
 
-  dw2_setup (per_cu->objfile);
-
   if (per_cu->cu == NULL)
-    load_cu (per_cu);
+    load_cu (per_cu, false);
   cu = per_cu->cu;
   if (!cu)
     return NULL;
@@ -23165,8 +23082,6 @@ struct type *
 dwarf2_get_die_type (cu_offset die_offset,
 		     struct dwarf2_per_cu_data *per_cu)
 {
-  dw2_setup (per_cu->objfile);
-
   sect_offset die_offset_sect = per_cu->sect_off + to_underlying (die_offset);
   return get_die_type_at_offset (die_offset_sect, per_cu);
 }
@@ -23201,6 +23116,9 @@ follow_die_sig_1 (struct die_info *src_d
 						 to_underlying (temp_die.sect_off));
   if (die)
     {
+      struct dwarf2_per_objfile *dwarf2_per_objfile
+	= (*ref_cu)->per_cu->dwarf2_per_objfile;
+
       /* For .gdb_index version 7 keep track of included TUs.
 	 http://sourceware.org/bugzilla/show_bug.cgi?id=15021.  */
       if (dwarf2_per_objfile->index_table != NULL
@@ -23240,9 +23158,9 @@ follow_die_sig (struct die_info *src_die
   if (sig_type == NULL)
     {
       error (_("Dwarf Error: Cannot find signatured DIE %s referenced"
-               " from DIE at 0x%x [in module %s]"),
-             hex_string (signature), to_underlying (src_die->sect_off),
-	     objfile_name ((*ref_cu)->objfile));
+               " from DIE at %s [in module %s]"),
+             hex_string (signature), sect_offset_str (src_die->sect_off),
+	     objfile_name ((*ref_cu)->per_cu->dwarf2_per_objfile->objfile));
     }
 
   die = follow_die_sig_1 (src_die, sig_type, ref_cu);
@@ -23250,9 +23168,9 @@ follow_die_sig (struct die_info *src_die
     {
       dump_die_for_error (src_die);
       error (_("Dwarf Error: Problem reading signatured DIE %s referenced"
-	       " from DIE at 0x%x [in module %s]"),
-	     hex_string (signature), to_underlying (src_die->sect_off),
-	     objfile_name ((*ref_cu)->objfile));
+	       " from DIE at %s [in module %s]"),
+	     hex_string (signature), sect_offset_str (src_die->sect_off),
+	     objfile_name ((*ref_cu)->per_cu->dwarf2_per_objfile->objfile));
     }
 
   return die;
@@ -23265,6 +23183,8 @@ static struct type *
 get_signatured_type (struct die_info *die, ULONGEST signature,
 		     struct dwarf2_cu *cu)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct signatured_type *sig_type;
   struct dwarf2_cu *type_cu;
   struct die_info *type_die;
@@ -23275,10 +23195,9 @@ get_signatured_type (struct die_info *di
      the debug info.  */
   if (sig_type == NULL)
     {
-      complaint (&symfile_complaints,
-		 _("Dwarf Error: Cannot find signatured DIE %s referenced"
-		   " from DIE at 0x%x [in module %s]"),
-		 hex_string (signature), to_underlying (die->sect_off),
+      complaint (_("Dwarf Error: Cannot find signatured DIE %s referenced"
+		   " from DIE at %s [in module %s]"),
+		 hex_string (signature), sect_offset_str (die->sect_off),
 		 objfile_name (dwarf2_per_objfile->objfile));
       return build_error_marker_type (cu, die);
     }
@@ -23297,20 +23216,18 @@ get_signatured_type (struct die_info *di
       type = read_type_die (type_die, type_cu);
       if (type == NULL)
 	{
-	  complaint (&symfile_complaints,
-		     _("Dwarf Error: Cannot build signatured type %s"
-		       " referenced from DIE at 0x%x [in module %s]"),
-		     hex_string (signature), to_underlying (die->sect_off),
+	  complaint (_("Dwarf Error: Cannot build signatured type %s"
+		       " referenced from DIE at %s [in module %s]"),
+		     hex_string (signature), sect_offset_str (die->sect_off),
 		     objfile_name (dwarf2_per_objfile->objfile));
 	  type = build_error_marker_type (cu, die);
 	}
     }
   else
     {
-      complaint (&symfile_complaints,
-		 _("Dwarf Error: Problem reading signatured DIE %s referenced"
-		   " from DIE at 0x%x [in module %s]"),
-		 hex_string (signature), to_underlying (die->sect_off),
+      complaint (_("Dwarf Error: Problem reading signatured DIE %s referenced"
+		   " from DIE at %s [in module %s]"),
+		 hex_string (signature), sect_offset_str (die->sect_off),
 		 objfile_name (dwarf2_per_objfile->objfile));
       type = build_error_marker_type (cu, die);
     }
@@ -23340,10 +23257,12 @@ get_DW_AT_signature_type (struct die_inf
     }
   else
     {
-      complaint (&symfile_complaints,
-		 _("Dwarf Error: DW_AT_signature has bad form %s in DIE"
-		   " at 0x%x [in module %s]"),
-		 dwarf_form_name (attr->form), to_underlying (die->sect_off),
+      struct dwarf2_per_objfile *dwarf2_per_objfile
+	= cu->per_cu->dwarf2_per_objfile;
+
+      complaint (_("Dwarf Error: DW_AT_signature has bad form %s in DIE"
+		   " at %s [in module %s]"),
+		 dwarf_form_name (attr->form), sect_offset_str (die->sect_off),
 		 objfile_name (dwarf2_per_objfile->objfile));
       return build_error_marker_type (cu, die);
     }
@@ -23421,7 +23340,7 @@ read_signatured_type (struct signatured_
   gdb_assert (per_cu->is_debug_types);
   gdb_assert (per_cu->cu == NULL);
 
-  init_cutu_and_read_dies (per_cu, NULL, 0, 1,
+  init_cutu_and_read_dies (per_cu, NULL, 0, 1, false,
 			   read_signatured_type_reader, NULL);
   sig_type->per_cu.tu_read = 1;
 }
@@ -23450,7 +23369,7 @@ read_signatured_type (struct signatured_
 static CORE_ADDR
 decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu)
 {
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
   size_t i;
   size_t size = blk->size;
   const gdb_byte *data = blk->data;
@@ -23661,10 +23580,10 @@ decode_locdesc (struct dwarf_block *blk,
 	    const char *name = get_DW_OP_name (op);
 
 	    if (name)
-	      complaint (&symfile_complaints, _("unsupported stack op: '%s'"),
+	      complaint (_("unsupported stack op: '%s'"),
 			 name);
 	    else
-	      complaint (&symfile_complaints, _("unsupported stack op: '%02x'"),
+	      complaint (_("unsupported stack op: '%02x'"),
 			 op);
 	  }
 
@@ -23675,15 +23594,13 @@ decode_locdesc (struct dwarf_block *blk,
          outside of the allocated space.  Also enforce minimum>0.  */
       if (stacki >= ARRAY_SIZE (stack) - 1)
 	{
-	  complaint (&symfile_complaints,
-		     _("location description stack overflow"));
+	  complaint (_("location description stack overflow"));
 	  return 0;
 	}
 
       if (stacki <= 0)
 	{
-	  complaint (&symfile_complaints,
-		     _("location description stack underflow"));
+	  complaint (_("location description stack underflow"));
 	  return 0;
 	}
     }
@@ -23746,8 +23663,7 @@ file_file_name (int file, struct line_he
       xsnprintf (fake_name, sizeof (fake_name),
 		 "<bad macro file number %d>", file);
 
-      complaint (&symfile_complaints,
-                 _("bad file number in macro information (%d)"),
+      complaint (_("bad file number in macro information (%d)"),
                  file);
 
       return xstrdup (fake_name);
@@ -23809,8 +23725,7 @@ consume_improper_spaces (const char *p, 
 {
   if (*p == ' ')
     {
-      complaint (&symfile_complaints,
-		 _("macro definition contains spaces "
+      complaint (_("macro definition contains spaces "
 		   "in formal argument list:\n`%s'"),
 		 body);
 
@@ -24039,8 +23954,7 @@ skip_form_bytes (bfd *abfd, const gdb_by
 
     default:
       {
-	complaint (&symfile_complaints,
-		   _("invalid form 0x%x in `%s'"),
+	complaint (_("invalid form 0x%x in `%s'"),
 		   form, get_section_name (section));
 	return NULL;
       }
@@ -24067,8 +23981,7 @@ skip_unknown_opcode (unsigned int opcode
 
   if (opcode_definitions[opcode] == NULL)
     {
-      complaint (&symfile_complaints,
-		 _("unrecognized DW_MACFINO opcode 0x%x"),
+      complaint (_("unrecognized DW_MACFINO opcode 0x%x"),
 		 opcode);
       return NULL;
     }
@@ -24113,8 +24026,7 @@ dwarf_parse_macro_header (const gdb_byte
       version = read_2_bytes (abfd, mac_ptr);
       if (version != 4 && version != 5)
 	{
-	  complaint (&symfile_complaints,
-		     _("unrecognized version `%d' in .debug_macro section"),
+	  complaint (_("unrecognized version `%d' in .debug_macro section"),
 		     version);
 	  return NULL;
 	}
@@ -24157,7 +24069,8 @@ dwarf_parse_macro_header (const gdb_byte
    including DW_MACRO_import.  */
 
 static void
-dwarf_decode_macro_bytes (bfd *abfd,
+dwarf_decode_macro_bytes (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			  bfd *abfd,
 			  const gdb_byte *mac_ptr, const gdb_byte *mac_end,
 			  struct macro_source_file *current_file,
 			  struct line_header *lh,
@@ -24243,12 +24156,15 @@ dwarf_decode_macro_bytes (bfd *abfd,
 		    || macinfo_type == DW_MACRO_undef_sup
 		    || section_is_dwz)
 		  {
-		    struct dwz_file *dwz = dwarf2_get_dwz_file ();
+		    struct dwz_file *dwz
+		      = dwarf2_get_dwz_file (dwarf2_per_objfile);
 
-		    body = read_indirect_string_from_dwz (dwz, str_offset);
+		    body = read_indirect_string_from_dwz (objfile,
+							  dwz, str_offset);
 		  }
 		else
-		  body = read_indirect_string_at_offset (abfd, str_offset);
+		  body = read_indirect_string_at_offset (dwarf2_per_objfile,
+							 abfd, str_offset);
 	      }
 
 	    is_define = (macinfo_type == DW_MACRO_define
@@ -24257,8 +24173,7 @@ dwarf_decode_macro_bytes (bfd *abfd,
             if (! current_file)
 	      {
 		/* DWARF violation as no main source is present.  */
-		complaint (&symfile_complaints,
-			   _("debug info with no main source gives macro %s "
+		complaint (_("debug info with no main source gives macro %s "
 			     "on line %d: %s"),
 			   is_define ? _("definition") : _("undefinition"),
 			   line, body);
@@ -24266,8 +24181,7 @@ dwarf_decode_macro_bytes (bfd *abfd,
 	      }
 	    if ((line == 0 && !at_commandline)
 		|| (line != 0 && at_commandline))
-	      complaint (&symfile_complaints,
-			 _("debug info gives %s macro %s with %s line %d: %s"),
+	      complaint (_("debug info gives %s macro %s with %s line %d: %s"),
 			 at_commandline ? _("command-line") : _("in-file"),
 			 is_define ? _("definition") : _("undefinition"),
 			 line == 0 ? _("zero") : _("non-zero"), line, body);
@@ -24296,8 +24210,7 @@ dwarf_decode_macro_bytes (bfd *abfd,
 
 	    if ((line == 0 && !at_commandline)
 		|| (line != 0 && at_commandline))
-	      complaint (&symfile_complaints,
-			 _("debug info gives source %d included "
+	      complaint (_("debug info gives source %d included "
 			   "from %s at %s line %d"),
 			 file, at_commandline ? _("command-line") : _("file"),
 			 line == 0 ? _("zero") : _("non-zero"), line);
@@ -24315,8 +24228,7 @@ dwarf_decode_macro_bytes (bfd *abfd,
 
         case DW_MACRO_end_file:
           if (! current_file)
-	    complaint (&symfile_complaints,
-		       _("macro debug info has an unmatched "
+	    complaint (_("macro debug info has an unmatched "
 			 "`close_file' directive"));
           else
             {
@@ -24343,8 +24255,7 @@ dwarf_decode_macro_bytes (bfd *abfd,
 		    = (enum dwarf_macro_record_type) read_1_byte (abfd,
 								  mac_ptr);
                   if (next_type != 0)
-		    complaint (&symfile_complaints,
-			       _("no terminating 0-type entry for "
+		    complaint (_("no terminating 0-type entry for "
 				 "macros in `.debug_macinfo' section"));
 
                   return;
@@ -24368,7 +24279,7 @@ dwarf_decode_macro_bytes (bfd *abfd,
 
 	    if (macinfo_type == DW_MACRO_import_sup)
 	      {
-		struct dwz_file *dwz = dwarf2_get_dwz_file ();
+		struct dwz_file *dwz = dwarf2_get_dwz_file (dwarf2_per_objfile);
 
 		dwarf2_read_section (objfile, &dwz->macro);
 
@@ -24385,15 +24296,15 @@ dwarf_decode_macro_bytes (bfd *abfd,
 	      {
 		/* This has actually happened; see
 		   http://sourceware.org/bugzilla/show_bug.cgi?id=13568.  */
-		complaint (&symfile_complaints,
-			   _("recursive DW_MACRO_import in "
+		complaint (_("recursive DW_MACRO_import in "
 			     ".debug_macro section"));
 	      }
 	    else
 	      {
 		*slot = (void *) new_mac_ptr;
 
-		dwarf_decode_macro_bytes (include_bfd, new_mac_ptr,
+		dwarf_decode_macro_bytes (dwarf2_per_objfile,
+					  include_bfd, new_mac_ptr,
 					  include_mac_end, current_file, lh,
 					  section, section_is_gnu, is_dwz,
 					  offset_size, include_hash);
@@ -24436,6 +24347,8 @@ static void
 dwarf_decode_macros (struct dwarf2_cu *cu, unsigned int offset,
                      int section_is_gnu)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct line_header *lh = cu->line_header;
   bfd *abfd;
@@ -24478,7 +24391,7 @@ dwarf_decode_macros (struct dwarf2_cu *c
   dwarf2_read_section (objfile, section);
   if (section->buffer == NULL)
     {
-      complaint (&symfile_complaints, _("missing %s section"), section_name);
+      complaint (_("missing %s section"), section_name);
       return;
     }
   abfd = get_section_bfd_owner (section);
@@ -24618,7 +24531,8 @@ dwarf_decode_macros (struct dwarf2_cu *c
   mac_ptr = section->buffer + offset;
   slot = htab_find_slot (include_hash.get (), mac_ptr, INSERT);
   *slot = (void *) mac_ptr;
-  dwarf_decode_macro_bytes (abfd, mac_ptr, mac_end,
+  dwarf_decode_macro_bytes (dwarf2_per_objfile,
+			    abfd, mac_ptr, mac_end,
 			    current_file, lh, section,
 			    section_is_gnu, 0, offset_size,
 			    include_hash.get ());
@@ -24717,6 +24631,9 @@ attr_form_is_ref (const struct attribute
 static struct dwarf2_section_info *
 cu_debug_loc_section (struct dwarf2_cu *cu)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
+
   if (cu->dwo_unit)
     {
       struct dwo_sections *sections = &cu->dwo_unit->dwo_file->sections;
@@ -24734,6 +24651,8 @@ fill_in_loclist_baton (struct dwarf2_cu 
 		       struct dwarf2_loclist_baton *baton,
 		       const struct attribute *attr)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct dwarf2_section_info *section = cu_debug_loc_section (cu);
 
   dwarf2_read_section (dwarf2_per_objfile->objfile, section);
@@ -24752,6 +24671,8 @@ static void
 dwarf2_symbol_mark_computed (const struct attribute *attr, struct symbol *sym,
 			     struct dwarf2_cu *cu, int is_block)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct dwarf2_section_info *section = cu_debug_loc_section (cu);
 
@@ -24768,8 +24689,7 @@ dwarf2_symbol_mark_computed (const struc
       fill_in_loclist_baton (cu, baton, attr);
 
       if (cu->base_known == 0)
-	complaint (&symfile_complaints,
-		   _("Location list used without "
+	complaint (_("Location list used without "
 		     "specifying the CU base address."));
 
       SYMBOL_ACLASS_INDEX (sym) = (is_block
@@ -24816,7 +24736,7 @@ dwarf2_symbol_mark_computed (const struc
 struct objfile *
 dwarf2_per_cu_objfile (struct dwarf2_per_cu_data *per_cu)
 {
-  struct objfile *objfile = per_cu->objfile;
+  struct objfile *objfile = per_cu->dwarf2_per_objfile->objfile;
 
   /* Return the master objfile, so that we can report and look up the
      correct file containing this variable.  */
@@ -24898,7 +24818,7 @@ dwarf2_per_cu_ref_addr_size (struct dwar
 CORE_ADDR
 dwarf2_per_cu_text_offset (struct dwarf2_per_cu_data *per_cu)
 {
-  struct objfile *objfile = per_cu->objfile;
+  struct objfile *objfile = per_cu->dwarf2_per_objfile->objfile;
 
   return ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
 }
@@ -24917,14 +24837,14 @@ dwarf2_version (struct dwarf2_per_cu_dat
 static struct dwarf2_per_cu_data *
 dwarf2_find_containing_comp_unit (sect_offset sect_off,
 				  unsigned int offset_in_dwz,
-				  struct objfile *objfile)
+				  struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
   struct dwarf2_per_cu_data *this_cu;
   int low, high;
   const sect_offset *cu_off;
 
   low = 0;
-  high = dwarf2_per_objfile->n_comp_units - 1;
+  high = dwarf2_per_objfile->all_comp_units.size () - 1;
   while (high > low)
     {
       struct dwarf2_per_cu_data *mid_cu;
@@ -24945,8 +24865,9 @@ dwarf2_find_containing_comp_unit (sect_o
     {
       if (low == 0 || this_cu->is_dwz != offset_in_dwz)
 	error (_("Dwarf Error: could not find partial DIE containing "
-	       "offset 0x%x [in module %s]"),
-	       to_underlying (sect_off), bfd_get_filename (objfile->obfd));
+	       "offset %s [in module %s]"),
+	       sect_offset_str (sect_off),
+	       bfd_get_filename (dwarf2_per_objfile->objfile->obfd));
 
       gdb_assert (dwarf2_per_objfile->all_comp_units[low-1]->sect_off
 		  <= sect_off);
@@ -24955,9 +24876,9 @@ dwarf2_find_containing_comp_unit (sect_o
   else
     {
       this_cu = dwarf2_per_objfile->all_comp_units[low];
-      if (low == dwarf2_per_objfile->n_comp_units - 1
+      if (low == dwarf2_per_objfile->all_comp_units.size () - 1
 	  && sect_off >= this_cu->sect_off + this_cu->length)
-	error (_("invalid dwarf2 offset %u"), to_underlying (sect_off));
+	error (_("invalid dwarf2 offset %s"), sect_offset_str (sect_off));
       gdb_assert (sect_off < this_cu->sect_off + this_cu->length);
       return this_cu;
     }
@@ -24965,14 +24886,24 @@ dwarf2_find_containing_comp_unit (sect_o
 
 /* Initialize dwarf2_cu CU, owned by PER_CU.  */
 
-static void
-init_one_comp_unit (struct dwarf2_cu *cu, struct dwarf2_per_cu_data *per_cu)
+dwarf2_cu::dwarf2_cu (struct dwarf2_per_cu_data *per_cu_)
+  : per_cu (per_cu_),
+    mark (0),
+    has_loclist (0),
+    checked_producer (0),
+    producer_is_gxx_lt_4_6 (0),
+    producer_is_gcc_lt_4_3 (0),
+    producer_is_icc_lt_14 (0),
+    processing_has_namespace_info (0)
+{
+  per_cu->cu = this;
+}
+
+/* Destroy a dwarf2_cu.  */
+
+dwarf2_cu::~dwarf2_cu ()
 {
-  memset (cu, 0, sizeof (*cu));
-  per_cu->cu = cu;
-  cu->per_cu = per_cu;
-  cu->objfile = per_cu->objfile;
-  obstack_init (&cu->comp_unit_obstack);
+  per_cu->cu = NULL;
 }
 
 /* Initialize basic fields of dwarf_cu CU according to DIE COMP_UNIT_DIE.  */
@@ -24996,56 +24927,11 @@ prepare_one_comp_unit (struct dwarf2_cu 
   cu->producer = dwarf2_string_attr (comp_unit_die, DW_AT_producer, cu);
 }
 
-/* Release one cached compilation unit, CU.  We unlink it from the tree
-   of compilation units, but we don't remove it from the read_in_chain;
-   the caller is responsible for that.
-   NOTE: DATA is a void * because this function is also used as a
-   cleanup routine.  */
-
-static void
-free_heap_comp_unit (void *data)
-{
-  struct dwarf2_cu *cu = (struct dwarf2_cu *) data;
-
-  gdb_assert (cu->per_cu != NULL);
-  cu->per_cu->cu = NULL;
-  cu->per_cu = NULL;
-
-  obstack_free (&cu->comp_unit_obstack, NULL);
-
-  xfree (cu);
-}
-
-/* This cleanup function is passed the address of a dwarf2_cu on the stack
-   when we're finished with it.  We can't free the pointer itself, but be
-   sure to unlink it from the cache.  Also release any associated storage.  */
-
-static void
-free_stack_comp_unit (void *data)
-{
-  struct dwarf2_cu *cu = (struct dwarf2_cu *) data;
-
-  gdb_assert (cu->per_cu != NULL);
-  cu->per_cu->cu = NULL;
-  cu->per_cu = NULL;
-
-  obstack_free (&cu->comp_unit_obstack, NULL);
-  cu->partial_dies = NULL;
-}
-
-/* Free all cached compilation units.  */
-
-static void
-free_cached_comp_units (void *data)
-{
-  dwarf2_per_objfile->free_cached_comp_units ();
-}
-
 /* Increase the age counter on each cached compilation unit, and free
    any that are too old.  */
 
 static void
-age_cached_comp_units (void)
+age_cached_comp_units (struct dwarf2_per_objfile *dwarf2_per_objfile)
 {
   struct dwarf2_per_cu_data *per_cu, **last_chain;
 
@@ -25069,7 +24955,7 @@ age_cached_comp_units (void)
 
       if (!per_cu->cu->mark)
 	{
-	  free_heap_comp_unit (per_cu->cu);
+	  delete per_cu->cu;
 	  *last_chain = next_cu;
 	}
       else
@@ -25085,6 +24971,8 @@ static void
 free_one_cached_comp_unit (struct dwarf2_per_cu_data *target_per_cu)
 {
   struct dwarf2_per_cu_data *per_cu, **last_chain;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = target_per_cu->dwarf2_per_objfile;
 
   per_cu = dwarf2_per_objfile->read_in_chain;
   last_chain = &dwarf2_per_objfile->read_in_chain;
@@ -25096,7 +24984,7 @@ free_one_cached_comp_unit (struct dwarf2
 
       if (per_cu == target_per_cu)
 	{
-	  free_heap_comp_unit (per_cu->cu);
+	  delete per_cu->cu;
 	  per_cu->cu = NULL;
 	  *last_chain = next_cu;
 	  break;
@@ -25108,19 +24996,15 @@ free_one_cached_comp_unit (struct dwarf2
     }
 }
 
-/* Release all extra memory associated with OBJFILE.  */
+/* Cleanup function for the dwarf2_per_objfile data.  */
 
-void
-dwarf2_free_objfile (struct objfile *objfile)
+static void
+dwarf2_free_objfile (struct objfile *objfile, void *datum)
 {
-  dwarf2_per_objfile
-    = (struct dwarf2_per_objfile *) objfile_data (objfile,
-						  dwarf2_objfile_data_key);
-
-  if (dwarf2_per_objfile == NULL)
-    return;
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = static_cast<struct dwarf2_per_objfile *> (datum);
 
-  dwarf2_per_objfile->~dwarf2_per_objfile ();
+  delete dwarf2_per_objfile;
 }
 
 /* A set of CU "per_cu" pointer, DIE offset, and GDB type pointer.
@@ -25190,8 +25074,10 @@ per_cu_offset_and_type_eq (const void *i
 static struct type *
 set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
 {
+  struct dwarf2_per_objfile *dwarf2_per_objfile
+    = cu->per_cu->dwarf2_per_objfile;
   struct dwarf2_per_cu_offset_and_type **slot, ofs;
-  struct objfile *objfile = cu->objfile;
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct attribute *attr;
   struct dynamic_prop prop;
 
@@ -25216,14 +25102,13 @@ set_die_type (struct die_info *die, stru
   if (attr_form_is_block (attr))
     {
       if (attr_to_dynamic_prop (attr, die, cu, &prop))
-        add_dyn_prop (DYN_PROP_ALLOCATED, prop, type, objfile);
+        add_dyn_prop (DYN_PROP_ALLOCATED, prop, type);
     }
   else if (attr != NULL)
     {
-      complaint (&symfile_complaints,
-		 _("DW_AT_allocated has the wrong form (%s) at DIE 0x%x"),
+      complaint (_("DW_AT_allocated has the wrong form (%s) at DIE %s"),
 		 (attr != NULL ? dwarf_form_name (attr->form) : "n/a"),
-		 to_underlying (die->sect_off));
+		 sect_offset_str (die->sect_off));
     }
 
   /* Read DW_AT_associated and set in type.  */
@@ -25231,20 +25116,19 @@ set_die_type (struct die_info *die, stru
   if (attr_form_is_block (attr))
     {
       if (attr_to_dynamic_prop (attr, die, cu, &prop))
-        add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type, objfile);
+        add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type);
     }
   else if (attr != NULL)
     {
-      complaint (&symfile_complaints,
-		 _("DW_AT_associated has the wrong form (%s) at DIE 0x%x"),
+      complaint (_("DW_AT_associated has the wrong form (%s) at DIE %s"),
 		 (attr != NULL ? dwarf_form_name (attr->form) : "n/a"),
-		 to_underlying (die->sect_off));
+		 sect_offset_str (die->sect_off));
     }
 
   /* Read DW_AT_data_location and set in type.  */
   attr = dwarf2_attr (die, DW_AT_data_location, cu);
   if (attr_to_dynamic_prop (attr, die, cu, &prop))
-    add_dyn_prop (DYN_PROP_DATA_LOCATION, prop, type, objfile);
+    add_dyn_prop (DYN_PROP_DATA_LOCATION, prop, type);
 
   if (dwarf2_per_objfile->die_type_hash == NULL)
     {
@@ -25264,9 +25148,8 @@ set_die_type (struct die_info *die, stru
   slot = (struct dwarf2_per_cu_offset_and_type **)
     htab_find_slot (dwarf2_per_objfile->die_type_hash, &ofs, INSERT);
   if (*slot)
-    complaint (&symfile_complaints,
-	       _("A problem internal to GDB: DIE 0x%x has type already set"),
-	       to_underlying (die->sect_off));
+    complaint (_("A problem internal to GDB: DIE %s has type already set"),
+	       sect_offset_str (die->sect_off));
   *slot = XOBNEW (&objfile->objfile_obstack,
 		  struct dwarf2_per_cu_offset_and_type);
   **slot = ofs;
@@ -25281,6 +25164,7 @@ get_die_type_at_offset (sect_offset sect
 			struct dwarf2_per_cu_data *per_cu)
 {
   struct dwarf2_per_cu_offset_and_type *slot, ofs;
+  struct dwarf2_per_objfile *dwarf2_per_objfile = per_cu->dwarf2_per_objfile;
 
   if (dwarf2_per_objfile->die_type_hash == NULL)
     return NULL;
@@ -25416,1689 +25300,56 @@ show_dwarf_cmd (const char *args, int fr
   cmd_show_list (show_dwarf_cmdlist, from_tty, "");
 }
 
-/* Free data associated with OBJFILE, if necessary.  */
-
-static void
-dwarf2_per_objfile_free (struct objfile *objfile, void *d)
-{
-  struct dwarf2_per_objfile *data = (struct dwarf2_per_objfile *) d;
-  int ix;
-
-  /* Make sure we don't accidentally use dwarf2_per_objfile while
-     cleaning up.  */
-  dwarf2_per_objfile = NULL;
-
-  for (ix = 0; ix < data->n_comp_units; ++ix)
-   VEC_free (dwarf2_per_cu_ptr, data->all_comp_units[ix]->imported_symtabs);
-
-  for (ix = 0; ix < data->n_type_units; ++ix)
-    VEC_free (dwarf2_per_cu_ptr,
-	      data->all_type_units[ix]->per_cu.imported_symtabs);
-  xfree (data->all_type_units);
-
-  VEC_free (dwarf2_section_info_def, data->types);
-
-  if (data->dwo_files)
-    free_dwo_files (data->dwo_files, objfile);
-  if (data->dwp_file)
-    gdb_bfd_unref (data->dwp_file->dbfd);
-
-  if (data->dwz_file && data->dwz_file->dwz_bfd)
-    gdb_bfd_unref (data->dwz_file->dwz_bfd);
-
-  if (data->index_table != NULL)
-    data->index_table->~mapped_index ();
-}
-
-
-/* The "save gdb-index" command.  */
-
-/* Write SIZE bytes from the buffer pointed to by DATA to FILE, with
-   error checking.  */
+int dwarf_always_disassemble;
 
 static void
-file_write (FILE *file, const void *data, size_t size)
+show_dwarf_always_disassemble (struct ui_file *file, int from_tty,
+			       struct cmd_list_element *c, const char *value)
 {
-  if (fwrite (data, 1, size, file) != size)
-    error (_("couldn't data write to file"));
+  fprintf_filtered (file,
+		    _("Whether to always disassemble "
+		      "DWARF expressions is %s.\n"),
+		    value);
 }
 
-/* Write the contents of VEC to FILE, with error checking.  */
-
-template<typename Elem, typename Alloc>
 static void
-file_write (FILE *file, const std::vector<Elem, Alloc> &vec)
+show_check_physname (struct ui_file *file, int from_tty,
+		     struct cmd_list_element *c, const char *value)
 {
-  file_write (file, vec.data (), vec.size () * sizeof (vec[0]));
+  fprintf_filtered (file,
+		    _("Whether to check \"physname\" is %s.\n"),
+		    value);
 }
 
-/* In-memory buffer to prepare data to be written later to a file.  */
-class data_buf
+void
+_initialize_dwarf2_read (void)
 {
-public:
-  /* Copy DATA to the end of the buffer.  */
-  template<typename T>
-  void append_data (const T &data)
-  {
-    std::copy (reinterpret_cast<const gdb_byte *> (&data),
-	       reinterpret_cast<const gdb_byte *> (&data + 1),
-	       grow (sizeof (data)));
-  }
-
-  /* Copy CSTR (a zero-terminated string) to the end of buffer.  The
-     terminating zero is appended too.  */
-  void append_cstr0 (const char *cstr)
-  {
-    const size_t size = strlen (cstr) + 1;
-    std::copy (cstr, cstr + size, grow (size));
-  }
+  dwarf2_objfile_data_key
+    = register_objfile_data_with_cleanup (nullptr, dwarf2_free_objfile);
 
-  /* Store INPUT as ULEB128 to the end of buffer.  */
-  void append_unsigned_leb128 (ULONGEST input)
-  {
-    for (;;)
-      {
-	gdb_byte output = input & 0x7f;
-	input >>= 7;
-	if (input)
-	  output |= 0x80;
-	append_data (output);
-	if (input == 0)
-	  break;
-      }
-  }
+  add_prefix_cmd ("dwarf", class_maintenance, set_dwarf_cmd, _("\
+Set DWARF specific variables.\n\
+Configure DWARF variables such as the cache size"),
+                  &set_dwarf_cmdlist, "maintenance set dwarf ",
+                  0/*allow-unknown*/, &maintenance_set_cmdlist);
 
-  /* Accept a host-format integer in VAL and append it to the buffer
-     as a target-format integer which is LEN bytes long.  */
-  void append_uint (size_t len, bfd_endian byte_order, ULONGEST val)
-  {
-    ::store_unsigned_integer (grow (len), len, byte_order, val);
-  }
+  add_prefix_cmd ("dwarf", class_maintenance, show_dwarf_cmd, _("\
+Show DWARF specific variables\n\
+Show DWARF variables such as the cache size"),
+                  &show_dwarf_cmdlist, "maintenance show dwarf ",
+                  0/*allow-unknown*/, &maintenance_show_cmdlist);
 
-  /* Return the size of the buffer.  */
-  size_t size () const
-  {
-    return m_vec.size ();
-  }
-
-  /* Return true iff the buffer is empty.  */
-  bool empty () const
-  {
-    return m_vec.empty ();
-  }
-
-  /* Write the buffer to FILE.  */
-  void file_write (FILE *file) const
-  {
-    ::file_write (file, m_vec);
-  }
-
-private:
-  /* Grow SIZE bytes at the end of the buffer.  Returns a pointer to
-     the start of the new block.  */
-  gdb_byte *grow (size_t size)
-  {
-    m_vec.resize (m_vec.size () + size);
-    return &*(m_vec.end () - size);
-  }
-
-  gdb::byte_vector m_vec;
-};
-
-/* An entry in the symbol table.  */
-struct symtab_index_entry
-{
-  /* The name of the symbol.  */
-  const char *name;
-  /* The offset of the name in the constant pool.  */
-  offset_type index_offset;
-  /* A sorted vector of the indices of all the CUs that hold an object
-     of this name.  */
-  std::vector<offset_type> cu_indices;
-};
-
-/* The symbol table.  This is a power-of-2-sized hash table.  */
-struct mapped_symtab
-{
-  mapped_symtab ()
-  {
-    data.resize (1024);
-  }
-
-  offset_type n_elements = 0;
-  std::vector<symtab_index_entry> data;
-};
-
-/* Find a slot in SYMTAB for the symbol NAME.  Returns a reference to
-   the slot.
-   
-   Function is used only during write_hash_table so no index format backward
-   compatibility is needed.  */
-
-static symtab_index_entry &
-find_slot (struct mapped_symtab *symtab, const char *name)
-{
-  offset_type index, step, hash = mapped_index_string_hash (INT_MAX, name);
-
-  index = hash & (symtab->data.size () - 1);
-  step = ((hash * 17) & (symtab->data.size () - 1)) | 1;
-
-  for (;;)
-    {
-      if (symtab->data[index].name == NULL
-	  || strcmp (name, symtab->data[index].name) == 0)
-	return symtab->data[index];
-      index = (index + step) & (symtab->data.size () - 1);
-    }
-}
-
-/* Expand SYMTAB's hash table.  */
-
-static void
-hash_expand (struct mapped_symtab *symtab)
-{
-  auto old_entries = std::move (symtab->data);
-
-  symtab->data.clear ();
-  symtab->data.resize (old_entries.size () * 2);
-
-  for (auto &it : old_entries)
-    if (it.name != NULL)
-      {
-	auto &ref = find_slot (symtab, it.name);
-	ref = std::move (it);
-      }
-}
-
-/* Add an entry to SYMTAB.  NAME is the name of the symbol.
-   CU_INDEX is the index of the CU in which the symbol appears.
-   IS_STATIC is one if the symbol is static, otherwise zero (global).  */
-
-static void
-add_index_entry (struct mapped_symtab *symtab, const char *name,
-		 int is_static, gdb_index_symbol_kind kind,
-		 offset_type cu_index)
-{
-  offset_type cu_index_and_attrs;
-
-  ++symtab->n_elements;
-  if (4 * symtab->n_elements / 3 >= symtab->data.size ())
-    hash_expand (symtab);
-
-  symtab_index_entry &slot = find_slot (symtab, name);
-  if (slot.name == NULL)
-    {
-      slot.name = name;
-      /* index_offset is set later.  */
-    }
-
-  cu_index_and_attrs = 0;
-  DW2_GDB_INDEX_CU_SET_VALUE (cu_index_and_attrs, cu_index);
-  DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE (cu_index_and_attrs, is_static);
-  DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE (cu_index_and_attrs, kind);
-
-  /* We don't want to record an index value twice as we want to avoid the
-     duplication.
-     We process all global symbols and then all static symbols
-     (which would allow us to avoid the duplication by only having to check
-     the last entry pushed), but a symbol could have multiple kinds in one CU.
-     To keep things simple we don't worry about the duplication here and
-     sort and uniqufy the list after we've processed all symbols.  */
-  slot.cu_indices.push_back (cu_index_and_attrs);
-}
-
-/* Sort and remove duplicates of all symbols' cu_indices lists.  */
-
-static void
-uniquify_cu_indices (struct mapped_symtab *symtab)
-{
-  for (auto &entry : symtab->data)
-    {
-      if (entry.name != NULL && !entry.cu_indices.empty ())
-	{
-	  auto &cu_indices = entry.cu_indices;
-	  std::sort (cu_indices.begin (), cu_indices.end ());
-	  auto from = std::unique (cu_indices.begin (), cu_indices.end ());
-	  cu_indices.erase (from, cu_indices.end ());
-	}
-    }
-}
-
-/* A form of 'const char *' suitable for container keys.  Only the
-   pointer is stored.  The strings themselves are compared, not the
-   pointers.  */
-class c_str_view
-{
-public:
-  c_str_view (const char *cstr)
-    : m_cstr (cstr)
-  {}
-
-  bool operator== (const c_str_view &other) const
-  {
-    return strcmp (m_cstr, other.m_cstr) == 0;
-  }
-
-  /* Return the underlying C string.  Note, the returned string is
-     only a reference with lifetime of this object.  */
-  const char *c_str () const
-  {
-    return m_cstr;
-  }
-
-private:
-  friend class c_str_view_hasher;
-  const char *const m_cstr;
-};
-
-/* A std::unordered_map::hasher for c_str_view that uses the right
-   hash function for strings in a mapped index.  */
-class c_str_view_hasher
-{
-public:
-  size_t operator () (const c_str_view &x) const
-  {
-    return mapped_index_string_hash (INT_MAX, x.m_cstr);
-  }
-};
-
-/* A std::unordered_map::hasher for std::vector<>.  */
-template<typename T>
-class vector_hasher
-{
-public:
-  size_t operator () (const std::vector<T> &key) const
-  {
-    return iterative_hash (key.data (),
-			   sizeof (key.front ()) * key.size (), 0);
-  }
-};
-
-/* Write the mapped hash table SYMTAB to the data buffer OUTPUT, with
-   constant pool entries going into the data buffer CPOOL.  */
-
-static void
-write_hash_table (mapped_symtab *symtab, data_buf &output, data_buf &cpool)
-{
-  {
-    /* Elements are sorted vectors of the indices of all the CUs that
-       hold an object of this name.  */
-    std::unordered_map<std::vector<offset_type>, offset_type,
-		       vector_hasher<offset_type>>
-      symbol_hash_table;
-
-    /* We add all the index vectors to the constant pool first, to
-       ensure alignment is ok.  */
-    for (symtab_index_entry &entry : symtab->data)
-      {
-	if (entry.name == NULL)
-	  continue;
-	gdb_assert (entry.index_offset == 0);
-
-	/* Finding before inserting is faster than always trying to
-	   insert, because inserting always allocates a node, does the
-	   lookup, and then destroys the new node if another node
-	   already had the same key.  C++17 try_emplace will avoid
-	   this.  */
-	const auto found
-	  = symbol_hash_table.find (entry.cu_indices);
-	if (found != symbol_hash_table.end ())
-	  {
-	    entry.index_offset = found->second;
-	    continue;
-	  }
-
-	symbol_hash_table.emplace (entry.cu_indices, cpool.size ());
-	entry.index_offset = cpool.size ();
-	cpool.append_data (MAYBE_SWAP (entry.cu_indices.size ()));
-	for (const auto index : entry.cu_indices)
-	  cpool.append_data (MAYBE_SWAP (index));
-      }
-  }
-
-  /* Now write out the hash table.  */
-  std::unordered_map<c_str_view, offset_type, c_str_view_hasher> str_table;
-  for (const auto &entry : symtab->data)
-    {
-      offset_type str_off, vec_off;
-
-      if (entry.name != NULL)
-	{
-	  const auto insertpair = str_table.emplace (entry.name, cpool.size ());
-	  if (insertpair.second)
-	    cpool.append_cstr0 (entry.name);
-	  str_off = insertpair.first->second;
-	  vec_off = entry.index_offset;
-	}
-      else
-	{
-	  /* While 0 is a valid constant pool index, it is not valid
-	     to have 0 for both offsets.  */
-	  str_off = 0;
-	  vec_off = 0;
-	}
-
-      output.append_data (MAYBE_SWAP (str_off));
-      output.append_data (MAYBE_SWAP (vec_off));
-    }
-}
-
-typedef std::unordered_map<partial_symtab *, unsigned int> psym_index_map;
-
-/* Helper struct for building the address table.  */
-struct addrmap_index_data
-{
-  addrmap_index_data (data_buf &addr_vec_, psym_index_map &cu_index_htab_)
-    : addr_vec (addr_vec_), cu_index_htab (cu_index_htab_)
-  {}
-
-  struct objfile *objfile;
-  data_buf &addr_vec;
-  psym_index_map &cu_index_htab;
-
-  /* Non-zero if the previous_* fields are valid.
-     We can't write an entry until we see the next entry (since it is only then
-     that we know the end of the entry).  */
-  int previous_valid;
-  /* Index of the CU in the table of all CUs in the index file.  */
-  unsigned int previous_cu_index;
-  /* Start address of the CU.  */
-  CORE_ADDR previous_cu_start;
-};
-
-/* Write an address entry to ADDR_VEC.  */
-
-static void
-add_address_entry (struct objfile *objfile, data_buf &addr_vec,
-		   CORE_ADDR start, CORE_ADDR end, unsigned int cu_index)
-{
-  CORE_ADDR baseaddr;
-
-  baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
-
-  addr_vec.append_uint (8, BFD_ENDIAN_LITTLE, start - baseaddr);
-  addr_vec.append_uint (8, BFD_ENDIAN_LITTLE, end - baseaddr);
-  addr_vec.append_data (MAYBE_SWAP (cu_index));
-}
-
-/* Worker function for traversing an addrmap to build the address table.  */
-
-static int
-add_address_entry_worker (void *datap, CORE_ADDR start_addr, void *obj)
-{
-  struct addrmap_index_data *data = (struct addrmap_index_data *) datap;
-  struct partial_symtab *pst = (struct partial_symtab *) obj;
-
-  if (data->previous_valid)
-    add_address_entry (data->objfile, data->addr_vec,
-		       data->previous_cu_start, start_addr,
-		       data->previous_cu_index);
-
-  data->previous_cu_start = start_addr;
-  if (pst != NULL)
-    {
-      const auto it = data->cu_index_htab.find (pst);
-      gdb_assert (it != data->cu_index_htab.cend ());
-      data->previous_cu_index = it->second;
-      data->previous_valid = 1;
-    }
-  else
-    data->previous_valid = 0;
-
-  return 0;
-}
-
-/* Write OBJFILE's address map to ADDR_VEC.
-   CU_INDEX_HTAB is used to map addrmap entries to their CU indices
-   in the index file.  */
-
-static void
-write_address_map (struct objfile *objfile, data_buf &addr_vec,
-		   psym_index_map &cu_index_htab)
-{
-  struct addrmap_index_data addrmap_index_data (addr_vec, cu_index_htab);
-
-  /* When writing the address table, we have to cope with the fact that
-     the addrmap iterator only provides the start of a region; we have to
-     wait until the next invocation to get the start of the next region.  */
-
-  addrmap_index_data.objfile = objfile;
-  addrmap_index_data.previous_valid = 0;
-
-  addrmap_foreach (objfile->psymtabs_addrmap, add_address_entry_worker,
-		   &addrmap_index_data);
-
-  /* It's highly unlikely the last entry (end address = 0xff...ff)
-     is valid, but we should still handle it.
-     The end address is recorded as the start of the next region, but that
-     doesn't work here.  To cope we pass 0xff...ff, this is a rare situation
-     anyway.  */
-  if (addrmap_index_data.previous_valid)
-    add_address_entry (objfile, addr_vec,
-		       addrmap_index_data.previous_cu_start, (CORE_ADDR) -1,
-		       addrmap_index_data.previous_cu_index);
-}
-
-/* Return the symbol kind of PSYM.  */
-
-static gdb_index_symbol_kind
-symbol_kind (struct partial_symbol *psym)
-{
-  domain_enum domain = PSYMBOL_DOMAIN (psym);
-  enum address_class aclass = PSYMBOL_CLASS (psym);
-
-  switch (domain)
-    {
-    case VAR_DOMAIN:
-      switch (aclass)
-	{
-	case LOC_BLOCK:
-	  return GDB_INDEX_SYMBOL_KIND_FUNCTION;
-	case LOC_TYPEDEF:
-	  return GDB_INDEX_SYMBOL_KIND_TYPE;
-	case LOC_COMPUTED:
-	case LOC_CONST_BYTES:
-	case LOC_OPTIMIZED_OUT:
-	case LOC_STATIC:
-	  return GDB_INDEX_SYMBOL_KIND_VARIABLE;
-	case LOC_CONST:
-	  /* Note: It's currently impossible to recognize psyms as enum values
-	     short of reading the type info.  For now punt.  */
-	  return GDB_INDEX_SYMBOL_KIND_VARIABLE;
-	default:
-	  /* There are other LOC_FOO values that one might want to classify
-	     as variables, but dwarf2read.c doesn't currently use them.  */
-	  return GDB_INDEX_SYMBOL_KIND_OTHER;
-	}
-    case STRUCT_DOMAIN:
-      return GDB_INDEX_SYMBOL_KIND_TYPE;
-    default:
-      return GDB_INDEX_SYMBOL_KIND_OTHER;
-    }
-}
-
-/* Add a list of partial symbols to SYMTAB.  */
-
-static void
-write_psymbols (struct mapped_symtab *symtab,
-		std::unordered_set<partial_symbol *> &psyms_seen,
-		struct partial_symbol **psymp,
-		int count,
-		offset_type cu_index,
-		int is_static)
-{
-  for (; count-- > 0; ++psymp)
-    {
-      struct partial_symbol *psym = *psymp;
-
-      if (SYMBOL_LANGUAGE (psym) == language_ada)
-	error (_("Ada is not currently supported by the index"));
-
-      /* Only add a given psymbol once.  */
-      if (psyms_seen.insert (psym).second)
-	{
-	  gdb_index_symbol_kind kind = symbol_kind (psym);
-
-	  add_index_entry (symtab, SYMBOL_SEARCH_NAME (psym),
-			   is_static, kind, cu_index);
-	}
-    }
-}
-
-/* A helper struct used when iterating over debug_types.  */
-struct signatured_type_index_data
-{
-  signatured_type_index_data (data_buf &types_list_,
-                              std::unordered_set<partial_symbol *> &psyms_seen_)
-    : types_list (types_list_), psyms_seen (psyms_seen_)
-  {}
-
-  struct objfile *objfile;
-  struct mapped_symtab *symtab;
-  data_buf &types_list;
-  std::unordered_set<partial_symbol *> &psyms_seen;
-  int cu_index;
-};
-
-/* A helper function that writes a single signatured_type to an
-   obstack.  */
-
-static int
-write_one_signatured_type (void **slot, void *d)
-{
-  struct signatured_type_index_data *info
-    = (struct signatured_type_index_data *) d;
-  struct signatured_type *entry = (struct signatured_type *) *slot;
-  struct partial_symtab *psymtab = entry->per_cu.v.psymtab;
-
-  write_psymbols (info->symtab,
-		  info->psyms_seen,
-		  (info->objfile->global_psymbols.data ()
-		   + psymtab->globals_offset),
-		  psymtab->n_global_syms, info->cu_index,
-		  0);
-  write_psymbols (info->symtab,
-		  info->psyms_seen,
-		  (info->objfile->static_psymbols.data ()
-		   + psymtab->statics_offset),
-		  psymtab->n_static_syms, info->cu_index,
-		  1);
-
-  info->types_list.append_uint (8, BFD_ENDIAN_LITTLE,
-				to_underlying (entry->per_cu.sect_off));
-  info->types_list.append_uint (8, BFD_ENDIAN_LITTLE,
-				to_underlying (entry->type_offset_in_tu));
-  info->types_list.append_uint (8, BFD_ENDIAN_LITTLE, entry->signature);
-
-  ++info->cu_index;
-
-  return 1;
-}
-
-/* Recurse into all "included" dependencies and count their symbols as
-   if they appeared in this psymtab.  */
-
-static void
-recursively_count_psymbols (struct partial_symtab *psymtab,
-			    size_t &psyms_seen)
-{
-  for (int i = 0; i < psymtab->number_of_dependencies; ++i)
-    if (psymtab->dependencies[i]->user != NULL)
-      recursively_count_psymbols (psymtab->dependencies[i],
-				  psyms_seen);
-
-  psyms_seen += psymtab->n_global_syms;
-  psyms_seen += psymtab->n_static_syms;
-}
-
-/* Recurse into all "included" dependencies and write their symbols as
-   if they appeared in this psymtab.  */
-
-static void
-recursively_write_psymbols (struct objfile *objfile,
-			    struct partial_symtab *psymtab,
-			    struct mapped_symtab *symtab,
-			    std::unordered_set<partial_symbol *> &psyms_seen,
-			    offset_type cu_index)
-{
-  int i;
-
-  for (i = 0; i < psymtab->number_of_dependencies; ++i)
-    if (psymtab->dependencies[i]->user != NULL)
-      recursively_write_psymbols (objfile, psymtab->dependencies[i],
-				  symtab, psyms_seen, cu_index);
-
-  write_psymbols (symtab,
-		  psyms_seen,
-		  objfile->global_psymbols.data () + psymtab->globals_offset,
-		  psymtab->n_global_syms, cu_index,
-		  0);
-  write_psymbols (symtab,
-		  psyms_seen,
-		  objfile->static_psymbols.data () + psymtab->statics_offset,
-		  psymtab->n_static_syms, cu_index,
-		  1);
-}
-
-/* DWARF-5 .debug_names builder.  */
-class debug_names
-{
-public:
-  debug_names (bool is_dwarf64, bfd_endian dwarf5_byte_order)
-    : m_dwarf5_byte_order (dwarf5_byte_order),
-      m_dwarf32 (dwarf5_byte_order),
-      m_dwarf64 (dwarf5_byte_order),
-      m_dwarf (is_dwarf64
-	       ? static_cast<dwarf &> (m_dwarf64)
-	       : static_cast<dwarf &> (m_dwarf32)),
-      m_name_table_string_offs (m_dwarf.name_table_string_offs),
-      m_name_table_entry_offs (m_dwarf.name_table_entry_offs)
-  {}
-
-  int dwarf5_offset_size () const
-  {
-    const bool dwarf5_is_dwarf64 = &m_dwarf == &m_dwarf64;
-    return dwarf5_is_dwarf64 ? 8 : 4;
-  }
-
-  /* Is this symbol from DW_TAG_compile_unit or DW_TAG_type_unit?  */
-  enum class unit_kind { cu, tu };
-
-  /* Insert one symbol.  */
-  void insert (const partial_symbol *psym, int cu_index, bool is_static,
-	       unit_kind kind)
-  {
-    const int dwarf_tag = psymbol_tag (psym);
-    if (dwarf_tag == 0)
-      return;
-    const char *const name = SYMBOL_SEARCH_NAME (psym);
-    const auto insertpair
-      = m_name_to_value_set.emplace (c_str_view (name),
-				     std::set<symbol_value> ());
-    std::set<symbol_value> &value_set = insertpair.first->second;
-    value_set.emplace (symbol_value (dwarf_tag, cu_index, is_static, kind));
-  }
-
-  /* Build all the tables.  All symbols must be already inserted.
-     This function does not call file_write, caller has to do it
-     afterwards.  */
-  void build ()
-  {
-    /* Verify the build method has not be called twice.  */
-    gdb_assert (m_abbrev_table.empty ());
-    const size_t name_count = m_name_to_value_set.size ();
-    m_bucket_table.resize
-      (std::pow (2, std::ceil (std::log2 (name_count * 4 / 3))));
-    m_hash_table.reserve (name_count);
-    m_name_table_string_offs.reserve (name_count);
-    m_name_table_entry_offs.reserve (name_count);
-
-    /* Map each hash of symbol to its name and value.  */
-    struct hash_it_pair
-    {
-      uint32_t hash;
-      decltype (m_name_to_value_set)::const_iterator it;
-    };
-    std::vector<std::forward_list<hash_it_pair>> bucket_hash;
-    bucket_hash.resize (m_bucket_table.size ());
-    for (decltype (m_name_to_value_set)::const_iterator it
-	   = m_name_to_value_set.cbegin ();
-	 it != m_name_to_value_set.cend ();
-	 ++it)
-      {
-	const char *const name = it->first.c_str ();
-	const uint32_t hash = dwarf5_djb_hash (name);
-	hash_it_pair hashitpair;
-	hashitpair.hash = hash;
-	hashitpair.it = it;
-	auto &slot = bucket_hash[hash % bucket_hash.size()];
-	slot.push_front (std::move (hashitpair));
-      }
-    for (size_t bucket_ix = 0; bucket_ix < bucket_hash.size (); ++bucket_ix)
-      {
-	const std::forward_list<hash_it_pair> &hashitlist
-	  = bucket_hash[bucket_ix];
-	if (hashitlist.empty ())
-	  continue;
-	uint32_t &bucket_slot = m_bucket_table[bucket_ix];
-	/* The hashes array is indexed starting at 1.  */
-	store_unsigned_integer (reinterpret_cast<gdb_byte *> (&bucket_slot),
-				sizeof (bucket_slot), m_dwarf5_byte_order,
-				m_hash_table.size () + 1);
-	for (const hash_it_pair &hashitpair : hashitlist)
-	  {
-	    m_hash_table.push_back (0);
-	    store_unsigned_integer (reinterpret_cast<gdb_byte *>
-							(&m_hash_table.back ()),
-				    sizeof (m_hash_table.back ()),
-				    m_dwarf5_byte_order, hashitpair.hash);
-	    const c_str_view &name = hashitpair.it->first;
-	    const std::set<symbol_value> &value_set = hashitpair.it->second;
-	    m_name_table_string_offs.push_back_reorder
-	      (m_debugstrlookup.lookup (name.c_str ()));
-	    m_name_table_entry_offs.push_back_reorder (m_entry_pool.size ());
-	    gdb_assert (!value_set.empty ());
-	    for (const symbol_value &value : value_set)
-	      {
-		int &idx = m_indexkey_to_idx[index_key (value.dwarf_tag,
-							value.is_static,
-							value.kind)];
-		if (idx == 0)
-		  {
-		    idx = m_idx_next++;
-		    m_abbrev_table.append_unsigned_leb128 (idx);
-		    m_abbrev_table.append_unsigned_leb128 (value.dwarf_tag);
-		    m_abbrev_table.append_unsigned_leb128
-			      (value.kind == unit_kind::cu ? DW_IDX_compile_unit
-							   : DW_IDX_type_unit);
-		    m_abbrev_table.append_unsigned_leb128 (DW_FORM_udata);
-		    m_abbrev_table.append_unsigned_leb128 (value.is_static
-							   ? DW_IDX_GNU_internal
-							   : DW_IDX_GNU_external);
-		    m_abbrev_table.append_unsigned_leb128 (DW_FORM_flag_present);
-
-		    /* Terminate attributes list.  */
-		    m_abbrev_table.append_unsigned_leb128 (0);
-		    m_abbrev_table.append_unsigned_leb128 (0);
-		  }
-
-		m_entry_pool.append_unsigned_leb128 (idx);
-		m_entry_pool.append_unsigned_leb128 (value.cu_index);
-	      }
-
-	    /* Terminate the list of CUs.  */
-	    m_entry_pool.append_unsigned_leb128 (0);
-	  }
-      }
-    gdb_assert (m_hash_table.size () == name_count);
-
-    /* Terminate tags list.  */
-    m_abbrev_table.append_unsigned_leb128 (0);
-  }
-
-  /* Return .debug_names bucket count.  This must be called only after
-     calling the build method.  */
-  uint32_t bucket_count () const
-  {
-    /* Verify the build method has been already called.  */
-    gdb_assert (!m_abbrev_table.empty ());
-    const uint32_t retval = m_bucket_table.size ();
-
-    /* Check for overflow.  */
-    gdb_assert (retval == m_bucket_table.size ());
-    return retval;
-  }
-
-  /* Return .debug_names names count.  This must be called only after
-     calling the build method.  */
-  uint32_t name_count () const
-  {
-    /* Verify the build method has been already called.  */
-    gdb_assert (!m_abbrev_table.empty ());
-    const uint32_t retval = m_hash_table.size ();
-
-    /* Check for overflow.  */
-    gdb_assert (retval == m_hash_table.size ());
-    return retval;
-  }
-
-  /* Return number of bytes of .debug_names abbreviation table.  This
-     must be called only after calling the build method.  */
-  uint32_t abbrev_table_bytes () const
-  {
-    gdb_assert (!m_abbrev_table.empty ());
-    return m_abbrev_table.size ();
-  }
-
-  /* Recurse into all "included" dependencies and store their symbols
-     as if they appeared in this psymtab.  */
-  void recursively_write_psymbols
-    (struct objfile *objfile,
-     struct partial_symtab *psymtab,
-     std::unordered_set<partial_symbol *> &psyms_seen,
-     int cu_index)
-  {
-    for (int i = 0; i < psymtab->number_of_dependencies; ++i)
-      if (psymtab->dependencies[i]->user != NULL)
-	recursively_write_psymbols (objfile, psymtab->dependencies[i],
-				    psyms_seen, cu_index);
-
-    write_psymbols (psyms_seen,
-		    objfile->global_psymbols.data () + psymtab->globals_offset,
-		    psymtab->n_global_syms, cu_index, false, unit_kind::cu);
-    write_psymbols (psyms_seen,
-		    objfile->static_psymbols.data () + psymtab->statics_offset,
-		    psymtab->n_static_syms, cu_index, true, unit_kind::cu);
-  }
-
-  /* Return number of bytes the .debug_names section will have.  This
-     must be called only after calling the build method.  */
-  size_t bytes () const
-  {
-    /* Verify the build method has been already called.  */
-    gdb_assert (!m_abbrev_table.empty ());
-    size_t expected_bytes = 0;
-    expected_bytes += m_bucket_table.size () * sizeof (m_bucket_table[0]);
-    expected_bytes += m_hash_table.size () * sizeof (m_hash_table[0]);
-    expected_bytes += m_name_table_string_offs.bytes ();
-    expected_bytes += m_name_table_entry_offs.bytes ();
-    expected_bytes += m_abbrev_table.size ();
-    expected_bytes += m_entry_pool.size ();
-    return expected_bytes;
-  }
-
-  /* Write .debug_names to FILE_NAMES and .debug_str addition to
-     FILE_STR.  This must be called only after calling the build
-     method.  */
-  void file_write (FILE *file_names, FILE *file_str) const
-  {
-    /* Verify the build method has been already called.  */
-    gdb_assert (!m_abbrev_table.empty ());
-    ::file_write (file_names, m_bucket_table);
-    ::file_write (file_names, m_hash_table);
-    m_name_table_string_offs.file_write (file_names);
-    m_name_table_entry_offs.file_write (file_names);
-    m_abbrev_table.file_write (file_names);
-    m_entry_pool.file_write (file_names);
-    m_debugstrlookup.file_write (file_str);
-  }
-
-  /* A helper user data for write_one_signatured_type.  */
-  class write_one_signatured_type_data
-  {
-  public:
-    write_one_signatured_type_data (debug_names &nametable_,
-                                    signatured_type_index_data &&info_)
-    : nametable (nametable_), info (std::move (info_))
-    {}
-    debug_names &nametable;
-    struct signatured_type_index_data info;
-  };
-
-  /* A helper function to pass write_one_signatured_type to
-     htab_traverse_noresize.  */
-  static int
-  write_one_signatured_type (void **slot, void *d)
-  {
-    write_one_signatured_type_data *data = (write_one_signatured_type_data *) d;
-    struct signatured_type_index_data *info = &data->info;
-    struct signatured_type *entry = (struct signatured_type *) *slot;
-
-    data->nametable.write_one_signatured_type (entry, info);
-
-    return 1;
-  }
-
-private:
-
-  /* Storage for symbol names mapping them to their .debug_str section
-     offsets.  */
-  class debug_str_lookup
-  {
-  public:
-
-    /* Object costructor to be called for current DWARF2_PER_OBJFILE.
-       All .debug_str section strings are automatically stored.  */
-    debug_str_lookup ()
-      : m_abfd (dwarf2_per_objfile->objfile->obfd)
-    {
-      dwarf2_read_section (dwarf2_per_objfile->objfile,
-			   &dwarf2_per_objfile->str);
-      if (dwarf2_per_objfile->str.buffer == NULL)
-	return;
-      for (const gdb_byte *data = dwarf2_per_objfile->str.buffer;
-	   data < (dwarf2_per_objfile->str.buffer
-		   + dwarf2_per_objfile->str.size);)
-	{
-	  const char *const s = reinterpret_cast<const char *> (data);
-	  const auto insertpair
-	    = m_str_table.emplace (c_str_view (s),
-				   data - dwarf2_per_objfile->str.buffer);
-	  if (!insertpair.second)
-	    complaint (&symfile_complaints,
-		       _("Duplicate string \"%s\" in "
-			 ".debug_str section [in module %s]"),
-		       s, bfd_get_filename (m_abfd));
-	  data += strlen (s) + 1;
-	}
-    }
-
-    /* Return offset of symbol name S in the .debug_str section.  Add
-       such symbol to the section's end if it does not exist there
-       yet.  */
-    size_t lookup (const char *s)
-    {
-      const auto it = m_str_table.find (c_str_view (s));
-      if (it != m_str_table.end ())
-	return it->second;
-      const size_t offset = (dwarf2_per_objfile->str.size
-			     + m_str_add_buf.size ());
-      m_str_table.emplace (c_str_view (s), offset);
-      m_str_add_buf.append_cstr0 (s);
-      return offset;
-    }
-
-    /* Append the end of the .debug_str section to FILE.  */
-    void file_write (FILE *file) const
-    {
-      m_str_add_buf.file_write (file);
-    }
-
-  private:
-    std::unordered_map<c_str_view, size_t, c_str_view_hasher> m_str_table;
-    bfd *const m_abfd;
-
-    /* Data to add at the end of .debug_str for new needed symbol names.  */
-    data_buf m_str_add_buf;
-  };
-
-  /* Container to map used DWARF tags to their .debug_names abbreviation
-     tags.  */
-  class index_key
-  {
-  public:
-    index_key (int dwarf_tag_, bool is_static_, unit_kind kind_)
-      : dwarf_tag (dwarf_tag_), is_static (is_static_), kind (kind_)
-    {
-    }
-
-    bool
-    operator== (const index_key &other) const
-    {
-      return (dwarf_tag == other.dwarf_tag && is_static == other.is_static
-	      && kind == other.kind);
-    }
-
-    const int dwarf_tag;
-    const bool is_static;
-    const unit_kind kind;
-  };
-
-  /* Provide std::unordered_map::hasher for index_key.  */
-  class index_key_hasher
-  {
-  public:
-    size_t
-    operator () (const index_key &key) const
-    {
-      return (std::hash<int>() (key.dwarf_tag) << 1) | key.is_static;
-    }
-  };
-
-  /* Parameters of one symbol entry.  */
-  class symbol_value
-  {
-  public:
-    const int dwarf_tag, cu_index;
-    const bool is_static;
-    const unit_kind kind;
-
-    symbol_value (int dwarf_tag_, int cu_index_, bool is_static_,
-		  unit_kind kind_)
-      : dwarf_tag (dwarf_tag_), cu_index (cu_index_), is_static (is_static_),
-        kind (kind_)
-    {}
-
-    bool
-    operator< (const symbol_value &other) const
-    {
-#define X(n) \
-  do \
-    { \
-      if (n < other.n) \
-	return true; \
-      if (n > other.n) \
-	return false; \
-    } \
-  while (0)
-      X (dwarf_tag);
-      X (is_static);
-      X (kind);
-      X (cu_index);
-#undef X
-      return false;
-    }
-  };
-
-  /* Abstract base class to unify DWARF-32 and DWARF-64 name table
-     output.  */
-  class offset_vec
-  {
-  protected:
-    const bfd_endian dwarf5_byte_order;
-  public:
-    explicit offset_vec (bfd_endian dwarf5_byte_order_)
-      : dwarf5_byte_order (dwarf5_byte_order_)
-    {}
-
-    /* Call std::vector::reserve for NELEM elements.  */
-    virtual void reserve (size_t nelem) = 0;
-
-    /* Call std::vector::push_back with store_unsigned_integer byte
-       reordering for ELEM.  */
-    virtual void push_back_reorder (size_t elem) = 0;
-
-    /* Return expected output size in bytes.  */
-    virtual size_t bytes () const = 0;
-
-    /* Write name table to FILE.  */
-    virtual void file_write (FILE *file) const = 0;
-  };
-
-  /* Template to unify DWARF-32 and DWARF-64 output.  */
-  template<typename OffsetSize>
-  class offset_vec_tmpl : public offset_vec
-  {
-  public:
-    explicit offset_vec_tmpl (bfd_endian dwarf5_byte_order_)
-      : offset_vec (dwarf5_byte_order_)
-    {}
-
-    /* Implement offset_vec::reserve.  */
-    void reserve (size_t nelem) override
-    {
-      m_vec.reserve (nelem);
-    }
-
-    /* Implement offset_vec::push_back_reorder.  */
-    void push_back_reorder (size_t elem) override
-    {
-      m_vec.push_back (elem);
-      /* Check for overflow.  */
-      gdb_assert (m_vec.back () == elem);
-      store_unsigned_integer (reinterpret_cast<gdb_byte *> (&m_vec.back ()),
-			      sizeof (m_vec.back ()), dwarf5_byte_order, elem);
-    }
-
-    /* Implement offset_vec::bytes.  */
-    size_t bytes () const override
-    {
-      return m_vec.size () * sizeof (m_vec[0]);
-    }
-
-    /* Implement offset_vec::file_write.  */
-    void file_write (FILE *file) const override
-    {
-      ::file_write (file, m_vec);
-    }
-
-  private:
-    std::vector<OffsetSize> m_vec;
-  };
-
-  /* Base class to unify DWARF-32 and DWARF-64 .debug_names output
-     respecting name table width.  */
-  class dwarf
-  {
-  public:
-    offset_vec &name_table_string_offs, &name_table_entry_offs;
-
-    dwarf (offset_vec &name_table_string_offs_,
-	   offset_vec &name_table_entry_offs_)
-      : name_table_string_offs (name_table_string_offs_),
-	name_table_entry_offs (name_table_entry_offs_)
-    {
-    }
-  };
-
-  /* Template to unify DWARF-32 and DWARF-64 .debug_names output
-     respecting name table width.  */
-  template<typename OffsetSize>
-  class dwarf_tmpl : public dwarf
-  {
-  public:
-    explicit dwarf_tmpl (bfd_endian dwarf5_byte_order_)
-      : dwarf (m_name_table_string_offs, m_name_table_entry_offs),
-	m_name_table_string_offs (dwarf5_byte_order_),
-	m_name_table_entry_offs (dwarf5_byte_order_)
-    {}
-
-  private:
-    offset_vec_tmpl<OffsetSize> m_name_table_string_offs;
-    offset_vec_tmpl<OffsetSize> m_name_table_entry_offs;
-  };
-
-  /* Try to reconstruct original DWARF tag for given partial_symbol.
-     This function is not DWARF-5 compliant but it is sufficient for
-     GDB as a DWARF-5 index consumer.  */
-  static int psymbol_tag (const struct partial_symbol *psym)
-  {
-    domain_enum domain = PSYMBOL_DOMAIN (psym);
-    enum address_class aclass = PSYMBOL_CLASS (psym);
-
-    switch (domain)
-      {
-      case VAR_DOMAIN:
-	switch (aclass)
-	  {
-	  case LOC_BLOCK:
-	    return DW_TAG_subprogram;
-	  case LOC_TYPEDEF:
-	    return DW_TAG_typedef;
-	  case LOC_COMPUTED:
-	  case LOC_CONST_BYTES:
-	  case LOC_OPTIMIZED_OUT:
-	  case LOC_STATIC:
-	    return DW_TAG_variable;
-	  case LOC_CONST:
-	    /* Note: It's currently impossible to recognize psyms as enum values
-	       short of reading the type info.  For now punt.  */
-	    return DW_TAG_variable;
-	  default:
-	    /* There are other LOC_FOO values that one might want to classify
-	       as variables, but dwarf2read.c doesn't currently use them.  */
-	    return DW_TAG_variable;
-	  }
-      case STRUCT_DOMAIN:
-	return DW_TAG_structure_type;
-      default:
-	return 0;
-      }
-  }
-
-  /* Call insert for all partial symbols and mark them in PSYMS_SEEN.  */
-  void write_psymbols (std::unordered_set<partial_symbol *> &psyms_seen,
-		       struct partial_symbol **psymp, int count, int cu_index,
-		       bool is_static, unit_kind kind)
-  {
-    for (; count-- > 0; ++psymp)
-      {
-	struct partial_symbol *psym = *psymp;
-
-	if (SYMBOL_LANGUAGE (psym) == language_ada)
-	  error (_("Ada is not currently supported by the index"));
-
-	/* Only add a given psymbol once.  */
-	if (psyms_seen.insert (psym).second)
-	  insert (psym, cu_index, is_static, kind);
-      }
-  }
-
-  /* A helper function that writes a single signatured_type
-     to a debug_names.  */
-  void
-  write_one_signatured_type (struct signatured_type *entry,
-			     struct signatured_type_index_data *info)
-  {
-    struct partial_symtab *psymtab = entry->per_cu.v.psymtab;
-
-    write_psymbols (info->psyms_seen,
-		    (info->objfile->global_psymbols.data ()
-		     + psymtab->globals_offset),
-		    psymtab->n_global_syms, info->cu_index, false,
-		    unit_kind::tu);
-    write_psymbols (info->psyms_seen,
-		    (info->objfile->static_psymbols.data ()
-		     + psymtab->statics_offset),
-		    psymtab->n_static_syms, info->cu_index, true,
-		    unit_kind::tu);
-
-    info->types_list.append_uint (dwarf5_offset_size (), m_dwarf5_byte_order,
-				  to_underlying (entry->per_cu.sect_off));
-
-    ++info->cu_index;
-  }
-
-  /* Store value of each symbol.  */
-  std::unordered_map<c_str_view, std::set<symbol_value>, c_str_view_hasher>
-    m_name_to_value_set;
-
-  /* Tables of DWARF-5 .debug_names.  They are in object file byte
-     order.  */
-  std::vector<uint32_t> m_bucket_table;
-  std::vector<uint32_t> m_hash_table;
-
-  const bfd_endian m_dwarf5_byte_order;
-  dwarf_tmpl<uint32_t> m_dwarf32;
-  dwarf_tmpl<uint64_t> m_dwarf64;
-  dwarf &m_dwarf;
-  offset_vec &m_name_table_string_offs, &m_name_table_entry_offs;
-  debug_str_lookup m_debugstrlookup;
-
-  /* Map each used .debug_names abbreviation tag parameter to its
-     index value.  */
-  std::unordered_map<index_key, int, index_key_hasher> m_indexkey_to_idx;
-
-  /* Next unused .debug_names abbreviation tag for
-     m_indexkey_to_idx.  */
-  int m_idx_next = 1;
-
-  /* .debug_names abbreviation table.  */
-  data_buf m_abbrev_table;
-
-  /* .debug_names entry pool.  */
-  data_buf m_entry_pool;
-};
-
-/* Return iff any of the needed offsets does not fit into 32-bit
-   .debug_names section.  */
-
-static bool
-check_dwarf64_offsets ()
-{
-  for (int i = 0; i < dwarf2_per_objfile->n_comp_units; ++i)
-    {
-      const dwarf2_per_cu_data &per_cu = *dwarf2_per_objfile->all_comp_units[i];
-
-      if (to_underlying (per_cu.sect_off) >= (static_cast<uint64_t> (1) << 32))
-	return true;
-    }
-  for (int i = 0; i < dwarf2_per_objfile->n_type_units; ++i)
-    {
-      const signatured_type &sigtype = *dwarf2_per_objfile->all_type_units[i];
-      const dwarf2_per_cu_data &per_cu = sigtype.per_cu;
-
-      if (to_underlying (per_cu.sect_off) >= (static_cast<uint64_t> (1) << 32))
-	return true;
-    }
-  return false;
-}
-
-/* The psyms_seen set is potentially going to be largish (~40k
-   elements when indexing a -g3 build of GDB itself).  Estimate the
-   number of elements in order to avoid too many rehashes, which
-   require rebuilding buckets and thus many trips to
-   malloc/free.  */
-
-static size_t
-psyms_seen_size ()
-{
-  size_t psyms_count = 0;
-  for (int i = 0; i < dwarf2_per_objfile->n_comp_units; ++i)
-    {
-      struct dwarf2_per_cu_data *per_cu
-	= dwarf2_per_objfile->all_comp_units[i];
-      struct partial_symtab *psymtab = per_cu->v.psymtab;
-
-      if (psymtab != NULL && psymtab->user == NULL)
-	recursively_count_psymbols (psymtab, psyms_count);
-    }
-  /* Generating an index for gdb itself shows a ratio of
-     TOTAL_SEEN_SYMS/UNIQUE_SYMS or ~5.  4 seems like a good bet.  */
-  return psyms_count / 4;
-}
-
-/* Write new .gdb_index section for OBJFILE into OUT_FILE.
-   Return how many bytes were expected to be written into OUT_FILE.  */
-
-static size_t
-write_gdbindex (struct objfile *objfile, FILE *out_file)
-{
-  mapped_symtab symtab;
-  data_buf cu_list;
-
-  /* While we're scanning CU's create a table that maps a psymtab pointer
-     (which is what addrmap records) to its index (which is what is recorded
-     in the index file).  This will later be needed to write the address
-     table.  */
-  psym_index_map cu_index_htab;
-  cu_index_htab.reserve (dwarf2_per_objfile->n_comp_units);
-
-  /* The CU list is already sorted, so we don't need to do additional
-     work here.  Also, the debug_types entries do not appear in
-     all_comp_units, but only in their own hash table.  */
-
-  std::unordered_set<partial_symbol *> psyms_seen (psyms_seen_size ());
-  for (int i = 0; i < dwarf2_per_objfile->n_comp_units; ++i)
-    {
-      struct dwarf2_per_cu_data *per_cu
-	= dwarf2_per_objfile->all_comp_units[i];
-      struct partial_symtab *psymtab = per_cu->v.psymtab;
-
-      /* CU of a shared file from 'dwz -m' may be unused by this main file.
-	 It may be referenced from a local scope but in such case it does not
-	 need to be present in .gdb_index.  */
-      if (psymtab == NULL)
-	continue;
-
-      if (psymtab->user == NULL)
-	recursively_write_psymbols (objfile, psymtab, &symtab,
-				    psyms_seen, i);
-
-      const auto insertpair = cu_index_htab.emplace (psymtab, i);
-      gdb_assert (insertpair.second);
-
-      cu_list.append_uint (8, BFD_ENDIAN_LITTLE,
-			   to_underlying (per_cu->sect_off));
-      cu_list.append_uint (8, BFD_ENDIAN_LITTLE, per_cu->length);
-    }
-
-  /* Dump the address map.  */
-  data_buf addr_vec;
-  write_address_map (objfile, addr_vec, cu_index_htab);
-
-  /* Write out the .debug_type entries, if any.  */
-  data_buf types_cu_list;
-  if (dwarf2_per_objfile->signatured_types)
-    {
-      signatured_type_index_data sig_data (types_cu_list,
-					   psyms_seen);
-
-      sig_data.objfile = objfile;
-      sig_data.symtab = &symtab;
-      sig_data.cu_index = dwarf2_per_objfile->n_comp_units;
-      htab_traverse_noresize (dwarf2_per_objfile->signatured_types,
-			      write_one_signatured_type, &sig_data);
-    }
-
-  /* Now that we've processed all symbols we can shrink their cu_indices
-     lists.  */
-  uniquify_cu_indices (&symtab);
-
-  data_buf symtab_vec, constant_pool;
-  write_hash_table (&symtab, symtab_vec, constant_pool);
-
-  data_buf contents;
-  const offset_type size_of_contents = 6 * sizeof (offset_type);
-  offset_type total_len = size_of_contents;
-
-  /* The version number.  */
-  contents.append_data (MAYBE_SWAP (8));
-
-  /* The offset of the CU list from the start of the file.  */
-  contents.append_data (MAYBE_SWAP (total_len));
-  total_len += cu_list.size ();
-
-  /* The offset of the types CU list from the start of the file.  */
-  contents.append_data (MAYBE_SWAP (total_len));
-  total_len += types_cu_list.size ();
-
-  /* The offset of the address table from the start of the file.  */
-  contents.append_data (MAYBE_SWAP (total_len));
-  total_len += addr_vec.size ();
-
-  /* The offset of the symbol table from the start of the file.  */
-  contents.append_data (MAYBE_SWAP (total_len));
-  total_len += symtab_vec.size ();
-
-  /* The offset of the constant pool from the start of the file.  */
-  contents.append_data (MAYBE_SWAP (total_len));
-  total_len += constant_pool.size ();
-
-  gdb_assert (contents.size () == size_of_contents);
-
-  contents.file_write (out_file);
-  cu_list.file_write (out_file);
-  types_cu_list.file_write (out_file);
-  addr_vec.file_write (out_file);
-  symtab_vec.file_write (out_file);
-  constant_pool.file_write (out_file);
-
-  return total_len;
-}
-
-/* DWARF-5 augmentation string for GDB's DW_IDX_GNU_* extension.  */
-static const gdb_byte dwarf5_gdb_augmentation[] = { 'G', 'D', 'B', 0 };
-
-/* Write a new .debug_names section for OBJFILE into OUT_FILE, write
-   needed addition to .debug_str section to OUT_FILE_STR.  Return how
-   many bytes were expected to be written into OUT_FILE.  */
-
-static size_t
-write_debug_names (struct objfile *objfile, FILE *out_file, FILE *out_file_str)
-{
-  const bool dwarf5_is_dwarf64 = check_dwarf64_offsets ();
-  const enum bfd_endian dwarf5_byte_order
-    = gdbarch_byte_order (get_objfile_arch (objfile));
-
-  /* The CU list is already sorted, so we don't need to do additional
-     work here.  Also, the debug_types entries do not appear in
-     all_comp_units, but only in their own hash table.  */
-  data_buf cu_list;
-  debug_names nametable (dwarf5_is_dwarf64, dwarf5_byte_order);
-  std::unordered_set<partial_symbol *> psyms_seen (psyms_seen_size ());
-  for (int i = 0; i < dwarf2_per_objfile->n_comp_units; ++i)
-    {
-      const dwarf2_per_cu_data *per_cu = dwarf2_per_objfile->all_comp_units[i];
-      partial_symtab *psymtab = per_cu->v.psymtab;
-
-      /* CU of a shared file from 'dwz -m' may be unused by this main
-	 file.  It may be referenced from a local scope but in such
-	 case it does not need to be present in .debug_names.  */
-      if (psymtab == NULL)
-	continue;
-
-      if (psymtab->user == NULL)
-	nametable.recursively_write_psymbols (objfile, psymtab, psyms_seen, i);
-
-      cu_list.append_uint (nametable.dwarf5_offset_size (), dwarf5_byte_order,
-			   to_underlying (per_cu->sect_off));
-    }
-
-  /* Write out the .debug_type entries, if any.  */
-  data_buf types_cu_list;
-  if (dwarf2_per_objfile->signatured_types)
-    {
-      debug_names::write_one_signatured_type_data sig_data (nametable,
-			signatured_type_index_data (types_cu_list, psyms_seen));
-
-      sig_data.info.objfile = objfile;
-      /* It is used only for gdb_index.  */
-      sig_data.info.symtab = nullptr;
-      sig_data.info.cu_index = 0;
-      htab_traverse_noresize (dwarf2_per_objfile->signatured_types,
-			      debug_names::write_one_signatured_type,
-			      &sig_data);
-    }
-
-  nametable.build ();
-
-  /* No addr_vec - DWARF-5 uses .debug_aranges generated by GCC.  */
-
-  const offset_type bytes_of_header
-    = ((dwarf5_is_dwarf64 ? 12 : 4)
-       + 2 + 2 + 7 * 4
-       + sizeof (dwarf5_gdb_augmentation));
-  size_t expected_bytes = 0;
-  expected_bytes += bytes_of_header;
-  expected_bytes += cu_list.size ();
-  expected_bytes += types_cu_list.size ();
-  expected_bytes += nametable.bytes ();
-  data_buf header;
-
-  if (!dwarf5_is_dwarf64)
-    {
-      const uint64_t size64 = expected_bytes - 4;
-      gdb_assert (size64 < 0xfffffff0);
-      header.append_uint (4, dwarf5_byte_order, size64);
-    }
-  else
-    {
-      header.append_uint (4, dwarf5_byte_order, 0xffffffff);
-      header.append_uint (8, dwarf5_byte_order, expected_bytes - 12);
-    }
-
-  /* The version number.  */
-  header.append_uint (2, dwarf5_byte_order, 5);
-
-  /* Padding.  */
-  header.append_uint (2, dwarf5_byte_order, 0);
-
-  /* comp_unit_count - The number of CUs in the CU list.  */
-  header.append_uint (4, dwarf5_byte_order, dwarf2_per_objfile->n_comp_units);
-
-  /* local_type_unit_count - The number of TUs in the local TU
-     list.  */
-  header.append_uint (4, dwarf5_byte_order, dwarf2_per_objfile->n_type_units);
-
-  /* foreign_type_unit_count - The number of TUs in the foreign TU
-     list.  */
-  header.append_uint (4, dwarf5_byte_order, 0);
-
-  /* bucket_count - The number of hash buckets in the hash lookup
-     table.  */
-  header.append_uint (4, dwarf5_byte_order, nametable.bucket_count ());
-
-  /* name_count - The number of unique names in the index.  */
-  header.append_uint (4, dwarf5_byte_order, nametable.name_count ());
-
-  /* abbrev_table_size - The size in bytes of the abbreviations
-     table.  */
-  header.append_uint (4, dwarf5_byte_order, nametable.abbrev_table_bytes ());
-
-  /* augmentation_string_size - The size in bytes of the augmentation
-     string.  This value is rounded up to a multiple of 4.  */
-  static_assert (sizeof (dwarf5_gdb_augmentation) % 4 == 0, "");
-  header.append_uint (4, dwarf5_byte_order, sizeof (dwarf5_gdb_augmentation));
-  header.append_data (dwarf5_gdb_augmentation);
-
-  gdb_assert (header.size () == bytes_of_header);
-
-  header.file_write (out_file);
-  cu_list.file_write (out_file);
-  types_cu_list.file_write (out_file);
-  nametable.file_write (out_file, out_file_str);
-
-  return expected_bytes;
-}
-
-/* Assert that FILE's size is EXPECTED_SIZE.  Assumes file's seek
-   position is at the end of the file.  */
-
-static void
-assert_file_size (FILE *file, const char *filename, size_t expected_size)
-{
-  const auto file_size = ftell (file);
-  if (file_size == -1)
-    error (_("Can't get `%s' size"), filename);
-  gdb_assert (file_size == expected_size);
-}
-
-/* Create an index file for OBJFILE in the directory DIR.  */
-
-static void
-write_psymtabs_to_index (struct objfile *objfile, const char *dir,
-			 dw_index_kind index_kind)
-{
-  if (dwarf2_per_objfile->using_index)
-    error (_("Cannot use an index to create the index"));
-
-  if (VEC_length (dwarf2_section_info_def, dwarf2_per_objfile->types) > 1)
-    error (_("Cannot make an index when the file has multiple .debug_types sections"));
-
-  if (!objfile->psymtabs || !objfile->psymtabs_addrmap)
-    return;
-
-  struct stat st;
-  if (stat (objfile_name (objfile), &st) < 0)
-    perror_with_name (objfile_name (objfile));
-
-  std::string filename (std::string (dir) + SLASH_STRING
-			+ lbasename (objfile_name (objfile))
-			+ (index_kind == dw_index_kind::DEBUG_NAMES
-			   ? INDEX5_SUFFIX : INDEX4_SUFFIX));
-
-  FILE *out_file = gdb_fopen_cloexec (filename.c_str (), "wb").release ();
-  if (!out_file)
-    error (_("Can't open `%s' for writing"), filename.c_str ());
-
-  /* Order matters here; we want FILE to be closed before FILENAME is
-     unlinked, because on MS-Windows one cannot delete a file that is
-     still open.  (Don't call anything here that might throw until
-     file_closer is created.)  */
-  gdb::unlinker unlink_file (filename.c_str ());
-  gdb_file_up close_out_file (out_file);
-
-  if (index_kind == dw_index_kind::DEBUG_NAMES)
-    {
-      std::string filename_str (std::string (dir) + SLASH_STRING
-				+ lbasename (objfile_name (objfile))
-				+ DEBUG_STR_SUFFIX);
-      FILE *out_file_str
-	= gdb_fopen_cloexec (filename_str.c_str (), "wb").release ();
-      if (!out_file_str)
-	error (_("Can't open `%s' for writing"), filename_str.c_str ());
-      gdb::unlinker unlink_file_str (filename_str.c_str ());
-      gdb_file_up close_out_file_str (out_file_str);
-
-      const size_t total_len
-	= write_debug_names (objfile, out_file, out_file_str);
-      assert_file_size (out_file, filename.c_str (), total_len);
-
-      /* We want to keep the file .debug_str file too.  */
-      unlink_file_str.keep ();
-    }
-  else
-    {
-      const size_t total_len
-	= write_gdbindex (objfile, out_file);
-      assert_file_size (out_file, filename.c_str (), total_len);
-    }
-
-  /* We want to keep the file.  */
-  unlink_file.keep ();
-}
-
-/* Implementation of the `save gdb-index' command.
-   
-   Note that the .gdb_index file format used by this command is
-   documented in the GDB manual.  Any changes here must be documented
-   there.  */
-
-static void
-save_gdb_index_command (const char *arg, int from_tty)
-{
-  struct objfile *objfile;
-  const char dwarf5space[] = "-dwarf-5 ";
-  dw_index_kind index_kind = dw_index_kind::GDB_INDEX;
-
-  if (!arg)
-    arg = "";
-
-  arg = skip_spaces (arg);
-  if (strncmp (arg, dwarf5space, strlen (dwarf5space)) == 0)
-    {
-      index_kind = dw_index_kind::DEBUG_NAMES;
-      arg += strlen (dwarf5space);
-      arg = skip_spaces (arg);
-    }
-
-  if (!*arg)
-    error (_("usage: save gdb-index [-dwarf-5] DIRECTORY"));
-
-  ALL_OBJFILES (objfile)
-  {
-    struct stat st;
-
-    /* If the objfile does not correspond to an actual file, skip it.  */
-    if (stat (objfile_name (objfile), &st) < 0)
-      continue;
-
-    dwarf2_per_objfile
-      = (struct dwarf2_per_objfile *) objfile_data (objfile,
-						    dwarf2_objfile_data_key);
-    if (dwarf2_per_objfile)
-      {
-
-	TRY
-	  {
-	    write_psymtabs_to_index (objfile, arg, index_kind);
-	  }
-	CATCH (except, RETURN_MASK_ERROR)
-	  {
-	    exception_fprintf (gdb_stderr, except,
-			       _("Error while writing index for `%s': "),
-			       objfile_name (objfile));
-	  }
-	END_CATCH
-      }
-  }
-}
-
-
-
-int dwarf_always_disassemble;
-
-static void
-show_dwarf_always_disassemble (struct ui_file *file, int from_tty,
-			       struct cmd_list_element *c, const char *value)
-{
-  fprintf_filtered (file,
-		    _("Whether to always disassemble "
-		      "DWARF expressions is %s.\n"),
-		    value);
-}
-
-static void
-show_check_physname (struct ui_file *file, int from_tty,
-		     struct cmd_list_element *c, const char *value)
-{
-  fprintf_filtered (file,
-		    _("Whether to check \"physname\" is %s.\n"),
-		    value);
-}
-
-void
-_initialize_dwarf2_read (void)
-{
-  struct cmd_list_element *c;
-
-  dwarf2_objfile_data_key
-    = register_objfile_data_with_cleanup (NULL, dwarf2_per_objfile_free);
-
-  add_prefix_cmd ("dwarf", class_maintenance, set_dwarf_cmd, _("\
-Set DWARF specific variables.\n\
-Configure DWARF variables such as the cache size"),
-                  &set_dwarf_cmdlist, "maintenance set dwarf ",
-                  0/*allow-unknown*/, &maintenance_set_cmdlist);
-
-  add_prefix_cmd ("dwarf", class_maintenance, show_dwarf_cmd, _("\
-Show DWARF specific variables\n\
-Show DWARF variables such as the cache size"),
-                  &show_dwarf_cmdlist, "maintenance show dwarf ",
-                  0/*allow-unknown*/, &maintenance_show_cmdlist);
-
-  add_setshow_zinteger_cmd ("max-cache-age", class_obscure,
-			    &dwarf_max_cache_age, _("\
-Set the upper bound on the age of cached DWARF compilation units."), _("\
-Show the upper bound on the age of cached DWARF compilation units."), _("\
-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."),
-			    NULL,
-			    show_dwarf_max_cache_age,
-			    &set_dwarf_cmdlist,
-			    &show_dwarf_cmdlist);
+  add_setshow_zinteger_cmd ("max-cache-age", class_obscure,
+			    &dwarf_max_cache_age, _("\
+Set the upper bound on the age of cached DWARF compilation units."), _("\
+Show the upper bound on the age of cached DWARF compilation units."), _("\
+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."),
+			    NULL,
+			    show_dwarf_max_cache_age,
+			    &set_dwarf_cmdlist,
+			    &show_dwarf_cmdlist);
 
   add_setshow_boolean_cmd ("always-disassemble", class_obscure,
 			   &dwarf_always_disassemble, _("\
@@ -27161,17 +25412,6 @@ Warning: This option must be enabled bef
 			   NULL,
 			   &setlist, &showlist);
 
-  c = add_cmd ("gdb-index", class_files, save_gdb_index_command,
-	       _("\
-Save a gdb-index file.\n\
-Usage: save gdb-index [-dwarf-5] DIRECTORY\n\
-\n\
-No options create one file with .gdb-index extension for pre-DWARF-5\n\
-compatible .gdb_index section.  With -dwarf-5 creates two files with\n\
-extension .debug_names and .debug_str for DWARF-5 .debug_names section."),
-	       &save_cmdlist);
-  set_cmd_completer (c, filename_completer);
-
   dwarf2_locexpr_index = register_symbol_computed_impl (LOC_COMPUTED,
 							&dwarf2_locexpr_funcs);
   dwarf2_loclist_index = register_symbol_computed_impl (LOC_COMPUTED,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf2read.h ./gdb/dwarf2read.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf2read.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/dwarf2read.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,389 @@
+/* DWARF 2 debugging format support for GDB.
+
+   Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef DWARF2READ_H
+#define DWARF2READ_H
+
+#include "filename-seen-cache.h"
+#include "gdb_obstack.h"
+
+typedef struct dwarf2_per_cu_data *dwarf2_per_cu_ptr;
+DEF_VEC_P (dwarf2_per_cu_ptr);
+
+/* A descriptor for dwarf sections.
+
+   S.ASECTION, SIZE are typically initialized when the objfile is first
+   scanned.  BUFFER, READIN are filled in later when the section is read.
+   If the section contained compressed data then SIZE is updated to record
+   the uncompressed size of the section.
+
+   DWP file format V2 introduces a wrinkle that is easiest to handle by
+   creating the concept of virtual sections contained within a real section.
+   In DWP V2 the sections of the input DWO files are concatenated together
+   into one section, but section offsets are kept relative to the original
+   input section.
+   If this is a virtual dwp-v2 section, S.CONTAINING_SECTION is a backlink to
+   the real section this "virtual" section is contained in, and BUFFER,SIZE
+   describe the virtual section.  */
+
+struct dwarf2_section_info
+{
+  union
+  {
+    /* If this is a real section, the bfd section.  */
+    asection *section;
+    /* If this is a virtual section, pointer to the containing ("real")
+       section.  */
+    struct dwarf2_section_info *containing_section;
+  } s;
+  /* Pointer to section data, only valid if readin.  */
+  const gdb_byte *buffer;
+  /* The size of the section, real or virtual.  */
+  bfd_size_type size;
+  /* If this is a virtual section, the offset in the real section.
+     Only valid if is_virtual.  */
+  bfd_size_type virtual_offset;
+  /* True if we have tried to read this section.  */
+  char readin;
+  /* True if this is a virtual section, False otherwise.
+     This specifies which of s.section and s.containing_section to use.  */
+  char is_virtual;
+};
+
+typedef struct dwarf2_section_info dwarf2_section_info_def;
+DEF_VEC_O (dwarf2_section_info_def);
+
+/* Read the contents of the section INFO.
+   OBJFILE is the main object file, but not necessarily the file where
+   the section comes from.  E.g., for DWO files the bfd of INFO is the bfd
+   of the DWO file.
+   If the section is compressed, uncompress it before returning.  */
+
+void dwarf2_read_section (struct objfile *objfile, dwarf2_section_info *info);
+
+struct tu_stats
+{
+  int nr_uniq_abbrev_tables;
+  int nr_symtabs;
+  int nr_symtab_sharers;
+  int nr_stmt_less_type_units;
+  int nr_all_type_units_reallocs;
+};
+
+struct dwarf2_debug_sections;
+struct mapped_index;
+struct mapped_debug_names;
+struct signatured_type;
+
+/* Collection of data recorded per objfile.
+   This hangs off of dwarf2_objfile_data_key.  */
+
+struct dwarf2_per_objfile : public allocate_on_obstack
+{
+  /* Construct a dwarf2_per_objfile for OBJFILE.  NAMES points to the
+     dwarf2 section names, or is NULL if the standard ELF names are
+     used.  */
+  dwarf2_per_objfile (struct objfile *objfile,
+		      const dwarf2_debug_sections *names);
+
+  ~dwarf2_per_objfile ();
+
+  DISABLE_COPY_AND_ASSIGN (dwarf2_per_objfile);
+
+  /* Return the CU/TU given its index.
+
+     This is intended for loops like:
+
+     for (i = 0; i < (dwarf2_per_objfile->n_comp_units
+		      + dwarf2_per_objfile->n_type_units); ++i)
+       {
+         dwarf2_per_cu_data *per_cu = dwarf2_per_objfile->get_cutu (i);
+
+         ...;
+       }
+  */
+  dwarf2_per_cu_data *get_cutu (int index);
+
+  /* Return the CU given its index.
+     This differs from get_cutu in that it's for when you know INDEX refers to a
+     CU.  */
+  dwarf2_per_cu_data *get_cu (int index);
+
+  /* Return the TU given its index.
+     This differs from get_cutu in that it's for when you know INDEX refers to a
+     TU.  */
+  signatured_type *get_tu (int index);
+
+  /* Free all cached compilation units.  */
+  void free_cached_comp_units ();
+private:
+  /* This function is mapped across the sections and remembers the
+     offset and size of each of the debugging sections we are
+     interested in.  */
+  void locate_sections (bfd *abfd, asection *sectp,
+			const dwarf2_debug_sections &names);
+
+public:
+  dwarf2_section_info info {};
+  dwarf2_section_info abbrev {};
+  dwarf2_section_info line {};
+  dwarf2_section_info loc {};
+  dwarf2_section_info loclists {};
+  dwarf2_section_info macinfo {};
+  dwarf2_section_info macro {};
+  dwarf2_section_info str {};
+  dwarf2_section_info line_str {};
+  dwarf2_section_info ranges {};
+  dwarf2_section_info rnglists {};
+  dwarf2_section_info addr {};
+  dwarf2_section_info frame {};
+  dwarf2_section_info eh_frame {};
+  dwarf2_section_info gdb_index {};
+  dwarf2_section_info debug_names {};
+  dwarf2_section_info debug_aranges {};
+
+  VEC (dwarf2_section_info_def) *types = NULL;
+
+  /* Back link.  */
+  struct objfile *objfile = NULL;
+
+  /* Table of all the compilation units.  This is used to locate
+     the target compilation unit of a particular reference.  */
+  std::vector<dwarf2_per_cu_data *> all_comp_units;
+
+  /* The .debug_types-related CUs (TUs).  */
+  std::vector<signatured_type *> all_type_units;
+
+  /* Table of struct type_unit_group objects.
+     The hash key is the DW_AT_stmt_list value.  */
+  htab_t type_unit_groups {};
+
+  /* A table mapping .debug_types signatures to its signatured_type entry.
+     This is NULL if the .debug_types section hasn't been read in yet.  */
+  htab_t signatured_types {};
+
+  /* Type unit statistics, to see how well the scaling improvements
+     are doing.  */
+  struct tu_stats tu_stats {};
+
+  /* A chain of compilation units that are currently read in, so that
+     they can be freed later.  */
+  dwarf2_per_cu_data *read_in_chain = NULL;
+
+  /* A table mapping DW_AT_dwo_name values to struct dwo_file objects.
+     This is NULL if the table hasn't been allocated yet.  */
+  htab_t dwo_files {};
+
+  /* True if we've checked for whether there is a DWP file.  */
+  bool dwp_checked = false;
+
+  /* The DWP file if there is one, or NULL.  */
+  std::unique_ptr<struct dwp_file> dwp_file;
+
+  /* The shared '.dwz' file, if one exists.  This is used when the
+     original data was compressed using 'dwz -m'.  */
+  std::unique_ptr<struct dwz_file> dwz_file;
+
+  /* A flag indicating whether this objfile has a section loaded at a
+     VMA of 0.  */
+  bool has_section_at_zero = false;
+
+  /* True if we are using the mapped index,
+     or we are faking it for OBJF_READNOW's sake.  */
+  bool using_index = false;
+
+  /* The mapped index, or NULL if .gdb_index is missing or not being used.  */
+  std::unique_ptr<mapped_index> index_table;
+
+  /* The mapped index, or NULL if .debug_names is missing or not being used.  */
+  std::unique_ptr<mapped_debug_names> debug_names_table;
+
+  /* When using index_table, this keeps track of all quick_file_names entries.
+     TUs typically share line table entries with a CU, so we maintain a
+     separate table of all line table entries to support the sharing.
+     Note that while there can be way more TUs than CUs, we've already
+     sorted all the TUs into "type unit groups", grouped by their
+     DW_AT_stmt_list value.  Therefore the only sharing done here is with a
+     CU and its associated TU group if there is one.  */
+  htab_t quick_file_names_table {};
+
+  /* Set during partial symbol reading, to prevent queueing of full
+     symbols.  */
+  bool reading_partial_symbols = false;
+
+  /* Table mapping type DIEs to their struct type *.
+     This is NULL if not allocated yet.
+     The mapping is done via (CU/TU + DIE offset) -> type.  */
+  htab_t die_type_hash {};
+
+  /* The CUs we recently read.  */
+  std::vector<dwarf2_per_cu_data *> just_read_cus;
+
+  /* Table containing line_header indexed by offset and offset_in_dwz.  */
+  htab_t line_header_hash {};
+
+  /* Table containing all filenames.  This is an optional because the
+     table is lazily constructed on first access.  */
+  gdb::optional<filename_seen_cache> filenames_cache;
+};
+
+/* Get the dwarf2_per_objfile associated to OBJFILE.  */
+
+dwarf2_per_objfile *get_dwarf2_per_objfile (struct objfile *objfile);
+
+/* Persistent data held for a compilation unit, even when not
+   processing it.  We put a pointer to this structure in the
+   read_symtab_private field of the psymtab.  */
+
+struct dwarf2_per_cu_data
+{
+  /* The start offset and length of this compilation unit.
+     NOTE: Unlike comp_unit_head.length, this length includes
+     initial_length_size.
+     If the DIE refers to a DWO file, this is always of the original die,
+     not the DWO file.  */
+  sect_offset sect_off;
+  unsigned int length;
+
+  /* DWARF standard version this data has been read from (such as 4 or 5).  */
+  short dwarf_version;
+
+  /* Flag indicating this compilation unit will be read in before
+     any of the current compilation units are processed.  */
+  unsigned int queued : 1;
+
+  /* This flag will be set when reading partial DIEs if we need to load
+     absolutely all DIEs for this compilation unit, instead of just the ones
+     we think are interesting.  It gets set if we look for a DIE in the
+     hash table and don't find it.  */
+  unsigned int load_all_dies : 1;
+
+  /* Non-zero if this CU is from .debug_types.
+     Struct dwarf2_per_cu_data is contained in struct signatured_type iff
+     this is non-zero.  */
+  unsigned int is_debug_types : 1;
+
+  /* Non-zero if this CU is from the .dwz file.  */
+  unsigned int is_dwz : 1;
+
+  /* Non-zero if reading a TU directly from a DWO file, bypassing the stub.
+     This flag is only valid if is_debug_types is true.
+     We can't read a CU directly from a DWO file: There are required
+     attributes in the stub.  */
+  unsigned int reading_dwo_directly : 1;
+
+  /* Non-zero if the TU has been read.
+     This is used to assist the "Stay in DWO Optimization" for Fission:
+     When reading a DWO, it's faster to read TUs from the DWO instead of
+     fetching them from random other DWOs (due to comdat folding).
+     If the TU has already been read, the optimization is unnecessary
+     (and unwise - we don't want to change where gdb thinks the TU lives
+     "midflight").
+     This flag is only valid if is_debug_types is true.  */
+  unsigned int tu_read : 1;
+
+  /* The section this CU/TU lives in.
+     If the DIE refers to a DWO file, this is always the original die,
+     not the DWO file.  */
+  struct dwarf2_section_info *section;
+
+  /* Set to non-NULL iff this CU is currently loaded.  When it gets freed out
+     of the CU cache it gets reset to NULL again.  This is left as NULL for
+     dummy CUs (a CU header, but nothing else).  */
+  struct dwarf2_cu *cu;
+
+  /* The corresponding dwarf2_per_objfile.  */
+  struct dwarf2_per_objfile *dwarf2_per_objfile;
+
+  /* When dwarf2_per_objfile->using_index is true, the 'quick' field
+     is active.  Otherwise, the 'psymtab' field is active.  */
+  union
+  {
+    /* The partial symbol table associated with this compilation unit,
+       or NULL for unread partial units.  */
+    struct partial_symtab *psymtab;
+
+    /* Data needed by the "quick" functions.  */
+    struct dwarf2_per_cu_quick_data *quick;
+  } v;
+
+  /* The CUs we import using DW_TAG_imported_unit.  This is filled in
+     while reading psymtabs, used to compute the psymtab dependencies,
+     and then cleared.  Then it is filled in again while reading full
+     symbols, and only deleted when the objfile is destroyed.
+
+     This is also used to work around a difference between the way gold
+     generates .gdb_index version <=7 and the way gdb does.  Arguably this
+     is a gold bug.  For symbols coming from TUs, gold records in the index
+     the CU that includes the TU instead of the TU itself.  This breaks
+     dw2_lookup_symbol: It assumes that if the index says symbol X lives
+     in CU/TU Y, then one need only expand Y and a subsequent lookup in Y
+     will find X.  Alas TUs live in their own symtab, so after expanding CU Y
+     we need to look in TU Z to find X.  Fortunately, this is akin to
+     DW_TAG_imported_unit, so we just use the same mechanism: For
+     .gdb_index version <=7 this also records the TUs that the CU referred
+     to.  Concurrently with this change gdb was modified to emit version 8
+     indices so we only pay a price for gold generated indices.
+     http://sourceware.org/bugzilla/show_bug.cgi?id=15021.  */
+  VEC (dwarf2_per_cu_ptr) *imported_symtabs;
+};
+
+/* Entry in the signatured_types hash table.  */
+
+struct signatured_type
+{
+  /* The "per_cu" object of this type.
+     This struct is used iff per_cu.is_debug_types.
+     N.B.: This is the first member so that it's easy to convert pointers
+     between them.  */
+  struct dwarf2_per_cu_data per_cu;
+
+  /* The type's signature.  */
+  ULONGEST signature;
+
+  /* Offset in the TU of the type's DIE, as read from the TU header.
+     If this TU is a DWO stub and the definition lives in a DWO file
+     (specified by DW_AT_GNU_dwo_name), this value is unusable.  */
+  cu_offset type_offset_in_tu;
+
+  /* Offset in the section of the type's DIE.
+     If the definition lives in a DWO file, this is the offset in the
+     .debug_types.dwo section.
+     The value is zero until the actual value is known.
+     Zero is otherwise not a valid section offset.  */
+  sect_offset type_offset_in_section;
+
+  /* Type units are grouped by their DW_AT_stmt_list entry so that they
+     can share them.  This points to the containing symtab.  */
+  struct type_unit_group *type_unit_group;
+
+  /* The type.
+     The first time we encounter this type we fully read it in and install it
+     in the symbol tables.  Subsequent times we only need the type.  */
+  struct type *type;
+
+  /* Containing DWO unit.
+     This field is valid iff per_cu.reading_dwo_directly.  */
+  struct dwo_unit *dwo_unit;
+};
+
+typedef struct signatured_type *sig_type_ptr;
+DEF_VEC_P (sig_type_ptr);
+
+#endif /* DWARF2READ_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf-index-common.c ./gdb/dwarf-index-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf-index-common.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/dwarf-index-common.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,56 @@
+/* Things needed for both reading and writing DWARF indices.
+
+   Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "dwarf-index-common.h"
+
+/* See dwarf-index-common.h.  */
+
+hashval_t
+mapped_index_string_hash (int index_version, const void *p)
+{
+  const unsigned char *str = (const unsigned char *) p;
+  hashval_t r = 0;
+  unsigned char c;
+
+  while ((c = *str++) != 0)
+    {
+      if (index_version >= 5)
+	c = tolower (c);
+      r = r * 67 + c - 113;
+    }
+
+  return r;
+}
+
+/* See dwarf-index-common.h.  */
+
+uint32_t
+dwarf5_djb_hash (const char *str_)
+{
+  const unsigned char *str = (const unsigned char *) str_;
+
+  /* Note: tolower here ignores UTF-8, which isn't fully compliant.
+     See http://dwarfstd.org/ShowIssue.php?issue=161027.1.  */
+
+  uint32_t hash = 5381;
+  while (int c = *str++)
+    hash = hash * 33 + tolower (c);
+  return hash;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf-index-common.h ./gdb/dwarf-index-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf-index-common.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/dwarf-index-common.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,63 @@
+/* Things needed for both reading and writing DWARF indices.
+
+   Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef DWARF_INDEX_COMMON_H
+#define DWARF_INDEX_COMMON_H
+
+/* All offsets in the index are of this type.  It must be
+   architecture-independent.  */
+typedef uint32_t offset_type;
+
+#if WORDS_BIGENDIAN
+
+/* Convert VALUE between big- and little-endian.  */
+
+static inline offset_type
+byte_swap (offset_type value)
+{
+  offset_type result;
+
+  result = (value & 0xff) << 24;
+  result |= (value & 0xff00) << 8;
+  result |= (value & 0xff0000) >> 8;
+  result |= (value & 0xff000000) >> 24;
+  return result;
+}
+
+#define MAYBE_SWAP(V)  byte_swap (V)
+
+#else
+#define MAYBE_SWAP(V) static_cast<offset_type> (V)
+#endif /* WORDS_BIGENDIAN */
+
+/* The hash function for strings in the mapped index.  This is the same as
+   SYMBOL_HASH_NEXT, but we keep a separate copy to maintain control over the
+   implementation.  This is necessary because the hash function is tied to the
+   format of the mapped index file.  The hash values do not have to match with
+   SYMBOL_HASH_NEXT.
+
+   Use INT_MAX for INDEX_VERSION if you generate the current index format.  */
+
+hashval_t mapped_index_string_hash (int index_version, const void *p);
+
+/* Symbol name hashing function as specified by DWARF-5.  */
+
+uint32_t dwarf5_djb_hash (const char *str_);
+
+#endif /* DWARF_INDEX_COMMON_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf-index-write.c ./gdb/dwarf-index-write.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/dwarf-index-write.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/dwarf-index-write.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,1685 @@
+/* DWARF index writing support for GDB.
+
+   Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+
+#include "addrmap.h"
+#include "cli/cli-decode.h"
+#include "common/byte-vector.h"
+#include "common/filestuff.h"
+#include "common/gdb_unlinker.h"
+#include "complaints.h"
+#include "dwarf-index-common.h"
+#include "dwarf2.h"
+#include "dwarf2read.h"
+#include "gdb/gdb-index.h"
+#include "gdbcmd.h"
+#include "objfiles.h"
+#include "psympriv.h"
+
+#include <algorithm>
+#include <cmath>
+#include <set>
+#include <unordered_map>
+#include <unordered_set>
+
+/* The suffix for an index file.  */
+#define INDEX4_SUFFIX ".gdb-index"
+#define INDEX5_SUFFIX ".debug_names"
+#define DEBUG_STR_SUFFIX ".debug_str"
+
+/* Ensure only legit values are used.  */
+#define DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE(cu_index, value) \
+  do { \
+    gdb_assert ((unsigned int) (value) <= 1); \
+    GDB_INDEX_SYMBOL_STATIC_SET_VALUE((cu_index), (value)); \
+  } while (0)
+
+/* Ensure only legit values are used.  */
+#define DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE(cu_index, value) \
+  do { \
+    gdb_assert ((value) >= GDB_INDEX_SYMBOL_KIND_TYPE \
+                && (value) <= GDB_INDEX_SYMBOL_KIND_OTHER); \
+    GDB_INDEX_SYMBOL_KIND_SET_VALUE((cu_index), (value)); \
+  } while (0)
+
+/* Ensure we don't use more than the alloted nuber of bits for the CU.  */
+#define DW2_GDB_INDEX_CU_SET_VALUE(cu_index, value) \
+  do { \
+    gdb_assert (((value) & ~GDB_INDEX_CU_MASK) == 0); \
+    GDB_INDEX_CU_SET_VALUE((cu_index), (value)); \
+  } while (0)
+
+/* The "save gdb-index" command.  */
+
+/* Write SIZE bytes from the buffer pointed to by DATA to FILE, with
+   error checking.  */
+
+static void
+file_write (FILE *file, const void *data, size_t size)
+{
+  if (fwrite (data, 1, size, file) != size)
+    error (_("couldn't data write to file"));
+}
+
+/* Write the contents of VEC to FILE, with error checking.  */
+
+template<typename Elem, typename Alloc>
+static void
+file_write (FILE *file, const std::vector<Elem, Alloc> &vec)
+{
+  file_write (file, vec.data (), vec.size () * sizeof (vec[0]));
+}
+
+/* In-memory buffer to prepare data to be written later to a file.  */
+class data_buf
+{
+public:
+  /* Copy DATA to the end of the buffer.  */
+  template<typename T>
+  void append_data (const T &data)
+  {
+    std::copy (reinterpret_cast<const gdb_byte *> (&data),
+	       reinterpret_cast<const gdb_byte *> (&data + 1),
+	       grow (sizeof (data)));
+  }
+
+  /* Copy CSTR (a zero-terminated string) to the end of buffer.  The
+     terminating zero is appended too.  */
+  void append_cstr0 (const char *cstr)
+  {
+    const size_t size = strlen (cstr) + 1;
+    std::copy (cstr, cstr + size, grow (size));
+  }
+
+  /* Store INPUT as ULEB128 to the end of buffer.  */
+  void append_unsigned_leb128 (ULONGEST input)
+  {
+    for (;;)
+      {
+	gdb_byte output = input & 0x7f;
+	input >>= 7;
+	if (input)
+	  output |= 0x80;
+	append_data (output);
+	if (input == 0)
+	  break;
+      }
+  }
+
+  /* Accept a host-format integer in VAL and append it to the buffer
+     as a target-format integer which is LEN bytes long.  */
+  void append_uint (size_t len, bfd_endian byte_order, ULONGEST val)
+  {
+    ::store_unsigned_integer (grow (len), len, byte_order, val);
+  }
+
+  /* Return the size of the buffer.  */
+  size_t size () const
+  {
+    return m_vec.size ();
+  }
+
+  /* Return true iff the buffer is empty.  */
+  bool empty () const
+  {
+    return m_vec.empty ();
+  }
+
+  /* Write the buffer to FILE.  */
+  void file_write (FILE *file) const
+  {
+    ::file_write (file, m_vec);
+  }
+
+private:
+  /* Grow SIZE bytes at the end of the buffer.  Returns a pointer to
+     the start of the new block.  */
+  gdb_byte *grow (size_t size)
+  {
+    m_vec.resize (m_vec.size () + size);
+    return &*(m_vec.end () - size);
+  }
+
+  gdb::byte_vector m_vec;
+};
+
+/* An entry in the symbol table.  */
+struct symtab_index_entry
+{
+  /* The name of the symbol.  */
+  const char *name;
+  /* The offset of the name in the constant pool.  */
+  offset_type index_offset;
+  /* A sorted vector of the indices of all the CUs that hold an object
+     of this name.  */
+  std::vector<offset_type> cu_indices;
+};
+
+/* The symbol table.  This is a power-of-2-sized hash table.  */
+struct mapped_symtab
+{
+  mapped_symtab ()
+  {
+    data.resize (1024);
+  }
+
+  offset_type n_elements = 0;
+  std::vector<symtab_index_entry> data;
+};
+
+/* Find a slot in SYMTAB for the symbol NAME.  Returns a reference to
+   the slot.
+
+   Function is used only during write_hash_table so no index format backward
+   compatibility is needed.  */
+
+static symtab_index_entry &
+find_slot (struct mapped_symtab *symtab, const char *name)
+{
+  offset_type index, step, hash = mapped_index_string_hash (INT_MAX, name);
+
+  index = hash & (symtab->data.size () - 1);
+  step = ((hash * 17) & (symtab->data.size () - 1)) | 1;
+
+  for (;;)
+    {
+      if (symtab->data[index].name == NULL
+	  || strcmp (name, symtab->data[index].name) == 0)
+	return symtab->data[index];
+      index = (index + step) & (symtab->data.size () - 1);
+    }
+}
+
+/* Expand SYMTAB's hash table.  */
+
+static void
+hash_expand (struct mapped_symtab *symtab)
+{
+  auto old_entries = std::move (symtab->data);
+
+  symtab->data.clear ();
+  symtab->data.resize (old_entries.size () * 2);
+
+  for (auto &it : old_entries)
+    if (it.name != NULL)
+      {
+	auto &ref = find_slot (symtab, it.name);
+	ref = std::move (it);
+      }
+}
+
+/* Add an entry to SYMTAB.  NAME is the name of the symbol.
+   CU_INDEX is the index of the CU in which the symbol appears.
+   IS_STATIC is one if the symbol is static, otherwise zero (global).  */
+
+static void
+add_index_entry (struct mapped_symtab *symtab, const char *name,
+		 int is_static, gdb_index_symbol_kind kind,
+		 offset_type cu_index)
+{
+  offset_type cu_index_and_attrs;
+
+  ++symtab->n_elements;
+  if (4 * symtab->n_elements / 3 >= symtab->data.size ())
+    hash_expand (symtab);
+
+  symtab_index_entry &slot = find_slot (symtab, name);
+  if (slot.name == NULL)
+    {
+      slot.name = name;
+      /* index_offset is set later.  */
+    }
+
+  cu_index_and_attrs = 0;
+  DW2_GDB_INDEX_CU_SET_VALUE (cu_index_and_attrs, cu_index);
+  DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE (cu_index_and_attrs, is_static);
+  DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE (cu_index_and_attrs, kind);
+
+  /* We don't want to record an index value twice as we want to avoid the
+     duplication.
+     We process all global symbols and then all static symbols
+     (which would allow us to avoid the duplication by only having to check
+     the last entry pushed), but a symbol could have multiple kinds in one CU.
+     To keep things simple we don't worry about the duplication here and
+     sort and uniqufy the list after we've processed all symbols.  */
+  slot.cu_indices.push_back (cu_index_and_attrs);
+}
+
+/* Sort and remove duplicates of all symbols' cu_indices lists.  */
+
+static void
+uniquify_cu_indices (struct mapped_symtab *symtab)
+{
+  for (auto &entry : symtab->data)
+    {
+      if (entry.name != NULL && !entry.cu_indices.empty ())
+	{
+	  auto &cu_indices = entry.cu_indices;
+	  std::sort (cu_indices.begin (), cu_indices.end ());
+	  auto from = std::unique (cu_indices.begin (), cu_indices.end ());
+	  cu_indices.erase (from, cu_indices.end ());
+	}
+    }
+}
+
+/* A form of 'const char *' suitable for container keys.  Only the
+   pointer is stored.  The strings themselves are compared, not the
+   pointers.  */
+class c_str_view
+{
+public:
+  c_str_view (const char *cstr)
+    : m_cstr (cstr)
+  {}
+
+  bool operator== (const c_str_view &other) const
+  {
+    return strcmp (m_cstr, other.m_cstr) == 0;
+  }
+
+  /* Return the underlying C string.  Note, the returned string is
+     only a reference with lifetime of this object.  */
+  const char *c_str () const
+  {
+    return m_cstr;
+  }
+
+private:
+  friend class c_str_view_hasher;
+  const char *const m_cstr;
+};
+
+/* A std::unordered_map::hasher for c_str_view that uses the right
+   hash function for strings in a mapped index.  */
+class c_str_view_hasher
+{
+public:
+  size_t operator () (const c_str_view &x) const
+  {
+    return mapped_index_string_hash (INT_MAX, x.m_cstr);
+  }
+};
+
+/* A std::unordered_map::hasher for std::vector<>.  */
+template<typename T>
+class vector_hasher
+{
+public:
+  size_t operator () (const std::vector<T> &key) const
+  {
+    return iterative_hash (key.data (),
+			   sizeof (key.front ()) * key.size (), 0);
+  }
+};
+
+/* Write the mapped hash table SYMTAB to the data buffer OUTPUT, with
+   constant pool entries going into the data buffer CPOOL.  */
+
+static void
+write_hash_table (mapped_symtab *symtab, data_buf &output, data_buf &cpool)
+{
+  {
+    /* Elements are sorted vectors of the indices of all the CUs that
+       hold an object of this name.  */
+    std::unordered_map<std::vector<offset_type>, offset_type,
+		       vector_hasher<offset_type>>
+      symbol_hash_table;
+
+    /* We add all the index vectors to the constant pool first, to
+       ensure alignment is ok.  */
+    for (symtab_index_entry &entry : symtab->data)
+      {
+	if (entry.name == NULL)
+	  continue;
+	gdb_assert (entry.index_offset == 0);
+
+	/* Finding before inserting is faster than always trying to
+	   insert, because inserting always allocates a node, does the
+	   lookup, and then destroys the new node if another node
+	   already had the same key.  C++17 try_emplace will avoid
+	   this.  */
+	const auto found
+	  = symbol_hash_table.find (entry.cu_indices);
+	if (found != symbol_hash_table.end ())
+	  {
+	    entry.index_offset = found->second;
+	    continue;
+	  }
+
+	symbol_hash_table.emplace (entry.cu_indices, cpool.size ());
+	entry.index_offset = cpool.size ();
+	cpool.append_data (MAYBE_SWAP (entry.cu_indices.size ()));
+	for (const auto index : entry.cu_indices)
+	  cpool.append_data (MAYBE_SWAP (index));
+      }
+  }
+
+  /* Now write out the hash table.  */
+  std::unordered_map<c_str_view, offset_type, c_str_view_hasher> str_table;
+  for (const auto &entry : symtab->data)
+    {
+      offset_type str_off, vec_off;
+
+      if (entry.name != NULL)
+	{
+	  const auto insertpair = str_table.emplace (entry.name, cpool.size ());
+	  if (insertpair.second)
+	    cpool.append_cstr0 (entry.name);
+	  str_off = insertpair.first->second;
+	  vec_off = entry.index_offset;
+	}
+      else
+	{
+	  /* While 0 is a valid constant pool index, it is not valid
+	     to have 0 for both offsets.  */
+	  str_off = 0;
+	  vec_off = 0;
+	}
+
+      output.append_data (MAYBE_SWAP (str_off));
+      output.append_data (MAYBE_SWAP (vec_off));
+    }
+}
+
+typedef std::unordered_map<partial_symtab *, unsigned int> psym_index_map;
+
+/* Helper struct for building the address table.  */
+struct addrmap_index_data
+{
+  addrmap_index_data (data_buf &addr_vec_, psym_index_map &cu_index_htab_)
+    : addr_vec (addr_vec_), cu_index_htab (cu_index_htab_)
+  {}
+
+  struct objfile *objfile;
+  data_buf &addr_vec;
+  psym_index_map &cu_index_htab;
+
+  /* Non-zero if the previous_* fields are valid.
+     We can't write an entry until we see the next entry (since it is only then
+     that we know the end of the entry).  */
+  int previous_valid;
+  /* Index of the CU in the table of all CUs in the index file.  */
+  unsigned int previous_cu_index;
+  /* Start address of the CU.  */
+  CORE_ADDR previous_cu_start;
+};
+
+/* Write an address entry to ADDR_VEC.  */
+
+static void
+add_address_entry (struct objfile *objfile, data_buf &addr_vec,
+		   CORE_ADDR start, CORE_ADDR end, unsigned int cu_index)
+{
+  CORE_ADDR baseaddr;
+
+  baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
+
+  addr_vec.append_uint (8, BFD_ENDIAN_LITTLE, start - baseaddr);
+  addr_vec.append_uint (8, BFD_ENDIAN_LITTLE, end - baseaddr);
+  addr_vec.append_data (MAYBE_SWAP (cu_index));
+}
+
+/* Worker function for traversing an addrmap to build the address table.  */
+
+static int
+add_address_entry_worker (void *datap, CORE_ADDR start_addr, void *obj)
+{
+  struct addrmap_index_data *data = (struct addrmap_index_data *) datap;
+  struct partial_symtab *pst = (struct partial_symtab *) obj;
+
+  if (data->previous_valid)
+    add_address_entry (data->objfile, data->addr_vec,
+		       data->previous_cu_start, start_addr,
+		       data->previous_cu_index);
+
+  data->previous_cu_start = start_addr;
+  if (pst != NULL)
+    {
+      const auto it = data->cu_index_htab.find (pst);
+      gdb_assert (it != data->cu_index_htab.cend ());
+      data->previous_cu_index = it->second;
+      data->previous_valid = 1;
+    }
+  else
+    data->previous_valid = 0;
+
+  return 0;
+}
+
+/* Write OBJFILE's address map to ADDR_VEC.
+   CU_INDEX_HTAB is used to map addrmap entries to their CU indices
+   in the index file.  */
+
+static void
+write_address_map (struct objfile *objfile, data_buf &addr_vec,
+		   psym_index_map &cu_index_htab)
+{
+  struct addrmap_index_data addrmap_index_data (addr_vec, cu_index_htab);
+
+  /* When writing the address table, we have to cope with the fact that
+     the addrmap iterator only provides the start of a region; we have to
+     wait until the next invocation to get the start of the next region.  */
+
+  addrmap_index_data.objfile = objfile;
+  addrmap_index_data.previous_valid = 0;
+
+  addrmap_foreach (objfile->psymtabs_addrmap, add_address_entry_worker,
+		   &addrmap_index_data);
+
+  /* It's highly unlikely the last entry (end address = 0xff...ff)
+     is valid, but we should still handle it.
+     The end address is recorded as the start of the next region, but that
+     doesn't work here.  To cope we pass 0xff...ff, this is a rare situation
+     anyway.  */
+  if (addrmap_index_data.previous_valid)
+    add_address_entry (objfile, addr_vec,
+		       addrmap_index_data.previous_cu_start, (CORE_ADDR) -1,
+		       addrmap_index_data.previous_cu_index);
+}
+
+/* Return the symbol kind of PSYM.  */
+
+static gdb_index_symbol_kind
+symbol_kind (struct partial_symbol *psym)
+{
+  domain_enum domain = PSYMBOL_DOMAIN (psym);
+  enum address_class aclass = PSYMBOL_CLASS (psym);
+
+  switch (domain)
+    {
+    case VAR_DOMAIN:
+      switch (aclass)
+	{
+	case LOC_BLOCK:
+	  return GDB_INDEX_SYMBOL_KIND_FUNCTION;
+	case LOC_TYPEDEF:
+	  return GDB_INDEX_SYMBOL_KIND_TYPE;
+	case LOC_COMPUTED:
+	case LOC_CONST_BYTES:
+	case LOC_OPTIMIZED_OUT:
+	case LOC_STATIC:
+	  return GDB_INDEX_SYMBOL_KIND_VARIABLE;
+	case LOC_CONST:
+	  /* Note: It's currently impossible to recognize psyms as enum values
+	     short of reading the type info.  For now punt.  */
+	  return GDB_INDEX_SYMBOL_KIND_VARIABLE;
+	default:
+	  /* There are other LOC_FOO values that one might want to classify
+	     as variables, but dwarf2read.c doesn't currently use them.  */
+	  return GDB_INDEX_SYMBOL_KIND_OTHER;
+	}
+    case STRUCT_DOMAIN:
+      return GDB_INDEX_SYMBOL_KIND_TYPE;
+    default:
+      return GDB_INDEX_SYMBOL_KIND_OTHER;
+    }
+}
+
+/* Add a list of partial symbols to SYMTAB.  */
+
+static void
+write_psymbols (struct mapped_symtab *symtab,
+		std::unordered_set<partial_symbol *> &psyms_seen,
+		struct partial_symbol **psymp,
+		int count,
+		offset_type cu_index,
+		int is_static)
+{
+  for (; count-- > 0; ++psymp)
+    {
+      struct partial_symbol *psym = *psymp;
+
+      if (SYMBOL_LANGUAGE (psym) == language_ada)
+	error (_("Ada is not currently supported by the index"));
+
+      /* Only add a given psymbol once.  */
+      if (psyms_seen.insert (psym).second)
+	{
+	  gdb_index_symbol_kind kind = symbol_kind (psym);
+
+	  add_index_entry (symtab, SYMBOL_SEARCH_NAME (psym),
+			   is_static, kind, cu_index);
+	}
+    }
+}
+
+/* A helper struct used when iterating over debug_types.  */
+struct signatured_type_index_data
+{
+  signatured_type_index_data (data_buf &types_list_,
+                              std::unordered_set<partial_symbol *> &psyms_seen_)
+    : types_list (types_list_), psyms_seen (psyms_seen_)
+  {}
+
+  struct objfile *objfile;
+  struct mapped_symtab *symtab;
+  data_buf &types_list;
+  std::unordered_set<partial_symbol *> &psyms_seen;
+  int cu_index;
+};
+
+/* A helper function that writes a single signatured_type to an
+   obstack.  */
+
+static int
+write_one_signatured_type (void **slot, void *d)
+{
+  struct signatured_type_index_data *info
+    = (struct signatured_type_index_data *) d;
+  struct signatured_type *entry = (struct signatured_type *) *slot;
+  struct partial_symtab *psymtab = entry->per_cu.v.psymtab;
+
+  write_psymbols (info->symtab,
+		  info->psyms_seen,
+		  (info->objfile->global_psymbols.data ()
+		   + psymtab->globals_offset),
+		  psymtab->n_global_syms, info->cu_index,
+		  0);
+  write_psymbols (info->symtab,
+		  info->psyms_seen,
+		  (info->objfile->static_psymbols.data ()
+		   + psymtab->statics_offset),
+		  psymtab->n_static_syms, info->cu_index,
+		  1);
+
+  info->types_list.append_uint (8, BFD_ENDIAN_LITTLE,
+				to_underlying (entry->per_cu.sect_off));
+  info->types_list.append_uint (8, BFD_ENDIAN_LITTLE,
+				to_underlying (entry->type_offset_in_tu));
+  info->types_list.append_uint (8, BFD_ENDIAN_LITTLE, entry->signature);
+
+  ++info->cu_index;
+
+  return 1;
+}
+
+/* Recurse into all "included" dependencies and count their symbols as
+   if they appeared in this psymtab.  */
+
+static void
+recursively_count_psymbols (struct partial_symtab *psymtab,
+			    size_t &psyms_seen)
+{
+  for (int i = 0; i < psymtab->number_of_dependencies; ++i)
+    if (psymtab->dependencies[i]->user != NULL)
+      recursively_count_psymbols (psymtab->dependencies[i],
+				  psyms_seen);
+
+  psyms_seen += psymtab->n_global_syms;
+  psyms_seen += psymtab->n_static_syms;
+}
+
+/* Recurse into all "included" dependencies and write their symbols as
+   if they appeared in this psymtab.  */
+
+static void
+recursively_write_psymbols (struct objfile *objfile,
+			    struct partial_symtab *psymtab,
+			    struct mapped_symtab *symtab,
+			    std::unordered_set<partial_symbol *> &psyms_seen,
+			    offset_type cu_index)
+{
+  int i;
+
+  for (i = 0; i < psymtab->number_of_dependencies; ++i)
+    if (psymtab->dependencies[i]->user != NULL)
+      recursively_write_psymbols (objfile, psymtab->dependencies[i],
+				  symtab, psyms_seen, cu_index);
+
+  write_psymbols (symtab,
+		  psyms_seen,
+		  objfile->global_psymbols.data () + psymtab->globals_offset,
+		  psymtab->n_global_syms, cu_index,
+		  0);
+  write_psymbols (symtab,
+		  psyms_seen,
+		  objfile->static_psymbols.data () + psymtab->statics_offset,
+		  psymtab->n_static_syms, cu_index,
+		  1);
+}
+
+/* DWARF-5 .debug_names builder.  */
+class debug_names
+{
+public:
+  debug_names (struct dwarf2_per_objfile *dwarf2_per_objfile, bool is_dwarf64,
+	       bfd_endian dwarf5_byte_order)
+    : m_dwarf5_byte_order (dwarf5_byte_order),
+      m_dwarf32 (dwarf5_byte_order),
+      m_dwarf64 (dwarf5_byte_order),
+      m_dwarf (is_dwarf64
+	       ? static_cast<dwarf &> (m_dwarf64)
+	       : static_cast<dwarf &> (m_dwarf32)),
+      m_name_table_string_offs (m_dwarf.name_table_string_offs),
+      m_name_table_entry_offs (m_dwarf.name_table_entry_offs),
+      m_debugstrlookup (dwarf2_per_objfile)
+  {}
+
+  int dwarf5_offset_size () const
+  {
+    const bool dwarf5_is_dwarf64 = &m_dwarf == &m_dwarf64;
+    return dwarf5_is_dwarf64 ? 8 : 4;
+  }
+
+  /* Is this symbol from DW_TAG_compile_unit or DW_TAG_type_unit?  */
+  enum class unit_kind { cu, tu };
+
+  /* Insert one symbol.  */
+  void insert (const partial_symbol *psym, int cu_index, bool is_static,
+	       unit_kind kind)
+  {
+    const int dwarf_tag = psymbol_tag (psym);
+    if (dwarf_tag == 0)
+      return;
+    const char *const name = SYMBOL_SEARCH_NAME (psym);
+    const auto insertpair
+      = m_name_to_value_set.emplace (c_str_view (name),
+				     std::set<symbol_value> ());
+    std::set<symbol_value> &value_set = insertpair.first->second;
+    value_set.emplace (symbol_value (dwarf_tag, cu_index, is_static, kind));
+  }
+
+  /* Build all the tables.  All symbols must be already inserted.
+     This function does not call file_write, caller has to do it
+     afterwards.  */
+  void build ()
+  {
+    /* Verify the build method has not be called twice.  */
+    gdb_assert (m_abbrev_table.empty ());
+    const size_t name_count = m_name_to_value_set.size ();
+    m_bucket_table.resize
+      (std::pow (2, std::ceil (std::log2 (name_count * 4 / 3))));
+    m_hash_table.reserve (name_count);
+    m_name_table_string_offs.reserve (name_count);
+    m_name_table_entry_offs.reserve (name_count);
+
+    /* Map each hash of symbol to its name and value.  */
+    struct hash_it_pair
+    {
+      uint32_t hash;
+      decltype (m_name_to_value_set)::const_iterator it;
+    };
+    std::vector<std::forward_list<hash_it_pair>> bucket_hash;
+    bucket_hash.resize (m_bucket_table.size ());
+    for (decltype (m_name_to_value_set)::const_iterator it
+	   = m_name_to_value_set.cbegin ();
+	 it != m_name_to_value_set.cend ();
+	 ++it)
+      {
+	const char *const name = it->first.c_str ();
+	const uint32_t hash = dwarf5_djb_hash (name);
+	hash_it_pair hashitpair;
+	hashitpair.hash = hash;
+	hashitpair.it = it;
+	auto &slot = bucket_hash[hash % bucket_hash.size()];
+	slot.push_front (std::move (hashitpair));
+      }
+    for (size_t bucket_ix = 0; bucket_ix < bucket_hash.size (); ++bucket_ix)
+      {
+	const std::forward_list<hash_it_pair> &hashitlist
+	  = bucket_hash[bucket_ix];
+	if (hashitlist.empty ())
+	  continue;
+	uint32_t &bucket_slot = m_bucket_table[bucket_ix];
+	/* The hashes array is indexed starting at 1.  */
+	store_unsigned_integer (reinterpret_cast<gdb_byte *> (&bucket_slot),
+				sizeof (bucket_slot), m_dwarf5_byte_order,
+				m_hash_table.size () + 1);
+	for (const hash_it_pair &hashitpair : hashitlist)
+	  {
+	    m_hash_table.push_back (0);
+	    store_unsigned_integer (reinterpret_cast<gdb_byte *>
+							(&m_hash_table.back ()),
+				    sizeof (m_hash_table.back ()),
+				    m_dwarf5_byte_order, hashitpair.hash);
+	    const c_str_view &name = hashitpair.it->first;
+	    const std::set<symbol_value> &value_set = hashitpair.it->second;
+	    m_name_table_string_offs.push_back_reorder
+	      (m_debugstrlookup.lookup (name.c_str ()));
+	    m_name_table_entry_offs.push_back_reorder (m_entry_pool.size ());
+	    gdb_assert (!value_set.empty ());
+	    for (const symbol_value &value : value_set)
+	      {
+		int &idx = m_indexkey_to_idx[index_key (value.dwarf_tag,
+							value.is_static,
+							value.kind)];
+		if (idx == 0)
+		  {
+		    idx = m_idx_next++;
+		    m_abbrev_table.append_unsigned_leb128 (idx);
+		    m_abbrev_table.append_unsigned_leb128 (value.dwarf_tag);
+		    m_abbrev_table.append_unsigned_leb128
+			      (value.kind == unit_kind::cu ? DW_IDX_compile_unit
+							   : DW_IDX_type_unit);
+		    m_abbrev_table.append_unsigned_leb128 (DW_FORM_udata);
+		    m_abbrev_table.append_unsigned_leb128 (value.is_static
+							   ? DW_IDX_GNU_internal
+							   : DW_IDX_GNU_external);
+		    m_abbrev_table.append_unsigned_leb128 (DW_FORM_flag_present);
+
+		    /* Terminate attributes list.  */
+		    m_abbrev_table.append_unsigned_leb128 (0);
+		    m_abbrev_table.append_unsigned_leb128 (0);
+		  }
+
+		m_entry_pool.append_unsigned_leb128 (idx);
+		m_entry_pool.append_unsigned_leb128 (value.cu_index);
+	      }
+
+	    /* Terminate the list of CUs.  */
+	    m_entry_pool.append_unsigned_leb128 (0);
+	  }
+      }
+    gdb_assert (m_hash_table.size () == name_count);
+
+    /* Terminate tags list.  */
+    m_abbrev_table.append_unsigned_leb128 (0);
+  }
+
+  /* Return .debug_names bucket count.  This must be called only after
+     calling the build method.  */
+  uint32_t bucket_count () const
+  {
+    /* Verify the build method has been already called.  */
+    gdb_assert (!m_abbrev_table.empty ());
+    const uint32_t retval = m_bucket_table.size ();
+
+    /* Check for overflow.  */
+    gdb_assert (retval == m_bucket_table.size ());
+    return retval;
+  }
+
+  /* Return .debug_names names count.  This must be called only after
+     calling the build method.  */
+  uint32_t name_count () const
+  {
+    /* Verify the build method has been already called.  */
+    gdb_assert (!m_abbrev_table.empty ());
+    const uint32_t retval = m_hash_table.size ();
+
+    /* Check for overflow.  */
+    gdb_assert (retval == m_hash_table.size ());
+    return retval;
+  }
+
+  /* Return number of bytes of .debug_names abbreviation table.  This
+     must be called only after calling the build method.  */
+  uint32_t abbrev_table_bytes () const
+  {
+    gdb_assert (!m_abbrev_table.empty ());
+    return m_abbrev_table.size ();
+  }
+
+  /* Recurse into all "included" dependencies and store their symbols
+     as if they appeared in this psymtab.  */
+  void recursively_write_psymbols
+    (struct objfile *objfile,
+     struct partial_symtab *psymtab,
+     std::unordered_set<partial_symbol *> &psyms_seen,
+     int cu_index)
+  {
+    for (int i = 0; i < psymtab->number_of_dependencies; ++i)
+      if (psymtab->dependencies[i]->user != NULL)
+	recursively_write_psymbols (objfile, psymtab->dependencies[i],
+				    psyms_seen, cu_index);
+
+    write_psymbols (psyms_seen,
+		    objfile->global_psymbols.data () + psymtab->globals_offset,
+		    psymtab->n_global_syms, cu_index, false, unit_kind::cu);
+    write_psymbols (psyms_seen,
+		    objfile->static_psymbols.data () + psymtab->statics_offset,
+		    psymtab->n_static_syms, cu_index, true, unit_kind::cu);
+  }
+
+  /* Return number of bytes the .debug_names section will have.  This
+     must be called only after calling the build method.  */
+  size_t bytes () const
+  {
+    /* Verify the build method has been already called.  */
+    gdb_assert (!m_abbrev_table.empty ());
+    size_t expected_bytes = 0;
+    expected_bytes += m_bucket_table.size () * sizeof (m_bucket_table[0]);
+    expected_bytes += m_hash_table.size () * sizeof (m_hash_table[0]);
+    expected_bytes += m_name_table_string_offs.bytes ();
+    expected_bytes += m_name_table_entry_offs.bytes ();
+    expected_bytes += m_abbrev_table.size ();
+    expected_bytes += m_entry_pool.size ();
+    return expected_bytes;
+  }
+
+  /* Write .debug_names to FILE_NAMES and .debug_str addition to
+     FILE_STR.  This must be called only after calling the build
+     method.  */
+  void file_write (FILE *file_names, FILE *file_str) const
+  {
+    /* Verify the build method has been already called.  */
+    gdb_assert (!m_abbrev_table.empty ());
+    ::file_write (file_names, m_bucket_table);
+    ::file_write (file_names, m_hash_table);
+    m_name_table_string_offs.file_write (file_names);
+    m_name_table_entry_offs.file_write (file_names);
+    m_abbrev_table.file_write (file_names);
+    m_entry_pool.file_write (file_names);
+    m_debugstrlookup.file_write (file_str);
+  }
+
+  /* A helper user data for write_one_signatured_type.  */
+  class write_one_signatured_type_data
+  {
+  public:
+    write_one_signatured_type_data (debug_names &nametable_,
+                                    signatured_type_index_data &&info_)
+    : nametable (nametable_), info (std::move (info_))
+    {}
+    debug_names &nametable;
+    struct signatured_type_index_data info;
+  };
+
+  /* A helper function to pass write_one_signatured_type to
+     htab_traverse_noresize.  */
+  static int
+  write_one_signatured_type (void **slot, void *d)
+  {
+    write_one_signatured_type_data *data = (write_one_signatured_type_data *) d;
+    struct signatured_type_index_data *info = &data->info;
+    struct signatured_type *entry = (struct signatured_type *) *slot;
+
+    data->nametable.write_one_signatured_type (entry, info);
+
+    return 1;
+  }
+
+private:
+
+  /* Storage for symbol names mapping them to their .debug_str section
+     offsets.  */
+  class debug_str_lookup
+  {
+  public:
+
+    /* Object costructor to be called for current DWARF2_PER_OBJFILE.
+       All .debug_str section strings are automatically stored.  */
+    debug_str_lookup (struct dwarf2_per_objfile *dwarf2_per_objfile)
+      : m_abfd (dwarf2_per_objfile->objfile->obfd),
+	m_dwarf2_per_objfile (dwarf2_per_objfile)
+    {
+      dwarf2_read_section (dwarf2_per_objfile->objfile,
+			   &dwarf2_per_objfile->str);
+      if (dwarf2_per_objfile->str.buffer == NULL)
+	return;
+      for (const gdb_byte *data = dwarf2_per_objfile->str.buffer;
+	   data < (dwarf2_per_objfile->str.buffer
+		   + dwarf2_per_objfile->str.size);)
+	{
+	  const char *const s = reinterpret_cast<const char *> (data);
+	  const auto insertpair
+	    = m_str_table.emplace (c_str_view (s),
+				   data - dwarf2_per_objfile->str.buffer);
+	  if (!insertpair.second)
+	    complaint (_("Duplicate string \"%s\" in "
+			 ".debug_str section [in module %s]"),
+		       s, bfd_get_filename (m_abfd));
+	  data += strlen (s) + 1;
+	}
+    }
+
+    /* Return offset of symbol name S in the .debug_str section.  Add
+       such symbol to the section's end if it does not exist there
+       yet.  */
+    size_t lookup (const char *s)
+    {
+      const auto it = m_str_table.find (c_str_view (s));
+      if (it != m_str_table.end ())
+	return it->second;
+      const size_t offset = (m_dwarf2_per_objfile->str.size
+			     + m_str_add_buf.size ());
+      m_str_table.emplace (c_str_view (s), offset);
+      m_str_add_buf.append_cstr0 (s);
+      return offset;
+    }
+
+    /* Append the end of the .debug_str section to FILE.  */
+    void file_write (FILE *file) const
+    {
+      m_str_add_buf.file_write (file);
+    }
+
+  private:
+    std::unordered_map<c_str_view, size_t, c_str_view_hasher> m_str_table;
+    bfd *const m_abfd;
+    struct dwarf2_per_objfile *m_dwarf2_per_objfile;
+
+    /* Data to add at the end of .debug_str for new needed symbol names.  */
+    data_buf m_str_add_buf;
+  };
+
+  /* Container to map used DWARF tags to their .debug_names abbreviation
+     tags.  */
+  class index_key
+  {
+  public:
+    index_key (int dwarf_tag_, bool is_static_, unit_kind kind_)
+      : dwarf_tag (dwarf_tag_), is_static (is_static_), kind (kind_)
+    {
+    }
+
+    bool
+    operator== (const index_key &other) const
+    {
+      return (dwarf_tag == other.dwarf_tag && is_static == other.is_static
+	      && kind == other.kind);
+    }
+
+    const int dwarf_tag;
+    const bool is_static;
+    const unit_kind kind;
+  };
+
+  /* Provide std::unordered_map::hasher for index_key.  */
+  class index_key_hasher
+  {
+  public:
+    size_t
+    operator () (const index_key &key) const
+    {
+      return (std::hash<int>() (key.dwarf_tag) << 1) | key.is_static;
+    }
+  };
+
+  /* Parameters of one symbol entry.  */
+  class symbol_value
+  {
+  public:
+    const int dwarf_tag, cu_index;
+    const bool is_static;
+    const unit_kind kind;
+
+    symbol_value (int dwarf_tag_, int cu_index_, bool is_static_,
+		  unit_kind kind_)
+      : dwarf_tag (dwarf_tag_), cu_index (cu_index_), is_static (is_static_),
+        kind (kind_)
+    {}
+
+    bool
+    operator< (const symbol_value &other) const
+    {
+#define X(n) \
+  do \
+    { \
+      if (n < other.n) \
+	return true; \
+      if (n > other.n) \
+	return false; \
+    } \
+  while (0)
+      X (dwarf_tag);
+      X (is_static);
+      X (kind);
+      X (cu_index);
+#undef X
+      return false;
+    }
+  };
+
+  /* Abstract base class to unify DWARF-32 and DWARF-64 name table
+     output.  */
+  class offset_vec
+  {
+  protected:
+    const bfd_endian dwarf5_byte_order;
+  public:
+    explicit offset_vec (bfd_endian dwarf5_byte_order_)
+      : dwarf5_byte_order (dwarf5_byte_order_)
+    {}
+
+    /* Call std::vector::reserve for NELEM elements.  */
+    virtual void reserve (size_t nelem) = 0;
+
+    /* Call std::vector::push_back with store_unsigned_integer byte
+       reordering for ELEM.  */
+    virtual void push_back_reorder (size_t elem) = 0;
+
+    /* Return expected output size in bytes.  */
+    virtual size_t bytes () const = 0;
+
+    /* Write name table to FILE.  */
+    virtual void file_write (FILE *file) const = 0;
+  };
+
+  /* Template to unify DWARF-32 and DWARF-64 output.  */
+  template<typename OffsetSize>
+  class offset_vec_tmpl : public offset_vec
+  {
+  public:
+    explicit offset_vec_tmpl (bfd_endian dwarf5_byte_order_)
+      : offset_vec (dwarf5_byte_order_)
+    {}
+
+    /* Implement offset_vec::reserve.  */
+    void reserve (size_t nelem) override
+    {
+      m_vec.reserve (nelem);
+    }
+
+    /* Implement offset_vec::push_back_reorder.  */
+    void push_back_reorder (size_t elem) override
+    {
+      m_vec.push_back (elem);
+      /* Check for overflow.  */
+      gdb_assert (m_vec.back () == elem);
+      store_unsigned_integer (reinterpret_cast<gdb_byte *> (&m_vec.back ()),
+			      sizeof (m_vec.back ()), dwarf5_byte_order, elem);
+    }
+
+    /* Implement offset_vec::bytes.  */
+    size_t bytes () const override
+    {
+      return m_vec.size () * sizeof (m_vec[0]);
+    }
+
+    /* Implement offset_vec::file_write.  */
+    void file_write (FILE *file) const override
+    {
+      ::file_write (file, m_vec);
+    }
+
+  private:
+    std::vector<OffsetSize> m_vec;
+  };
+
+  /* Base class to unify DWARF-32 and DWARF-64 .debug_names output
+     respecting name table width.  */
+  class dwarf
+  {
+  public:
+    offset_vec &name_table_string_offs, &name_table_entry_offs;
+
+    dwarf (offset_vec &name_table_string_offs_,
+	   offset_vec &name_table_entry_offs_)
+      : name_table_string_offs (name_table_string_offs_),
+	name_table_entry_offs (name_table_entry_offs_)
+    {
+    }
+  };
+
+  /* Template to unify DWARF-32 and DWARF-64 .debug_names output
+     respecting name table width.  */
+  template<typename OffsetSize>
+  class dwarf_tmpl : public dwarf
+  {
+  public:
+    explicit dwarf_tmpl (bfd_endian dwarf5_byte_order_)
+      : dwarf (m_name_table_string_offs, m_name_table_entry_offs),
+	m_name_table_string_offs (dwarf5_byte_order_),
+	m_name_table_entry_offs (dwarf5_byte_order_)
+    {}
+
+  private:
+    offset_vec_tmpl<OffsetSize> m_name_table_string_offs;
+    offset_vec_tmpl<OffsetSize> m_name_table_entry_offs;
+  };
+
+  /* Try to reconstruct original DWARF tag for given partial_symbol.
+     This function is not DWARF-5 compliant but it is sufficient for
+     GDB as a DWARF-5 index consumer.  */
+  static int psymbol_tag (const struct partial_symbol *psym)
+  {
+    domain_enum domain = PSYMBOL_DOMAIN (psym);
+    enum address_class aclass = PSYMBOL_CLASS (psym);
+
+    switch (domain)
+      {
+      case VAR_DOMAIN:
+	switch (aclass)
+	  {
+	  case LOC_BLOCK:
+	    return DW_TAG_subprogram;
+	  case LOC_TYPEDEF:
+	    return DW_TAG_typedef;
+	  case LOC_COMPUTED:
+	  case LOC_CONST_BYTES:
+	  case LOC_OPTIMIZED_OUT:
+	  case LOC_STATIC:
+	    return DW_TAG_variable;
+	  case LOC_CONST:
+	    /* Note: It's currently impossible to recognize psyms as enum values
+	       short of reading the type info.  For now punt.  */
+	    return DW_TAG_variable;
+	  default:
+	    /* There are other LOC_FOO values that one might want to classify
+	       as variables, but dwarf2read.c doesn't currently use them.  */
+	    return DW_TAG_variable;
+	  }
+      case STRUCT_DOMAIN:
+	return DW_TAG_structure_type;
+      default:
+	return 0;
+      }
+  }
+
+  /* Call insert for all partial symbols and mark them in PSYMS_SEEN.  */
+  void write_psymbols (std::unordered_set<partial_symbol *> &psyms_seen,
+		       struct partial_symbol **psymp, int count, int cu_index,
+		       bool is_static, unit_kind kind)
+  {
+    for (; count-- > 0; ++psymp)
+      {
+	struct partial_symbol *psym = *psymp;
+
+	if (SYMBOL_LANGUAGE (psym) == language_ada)
+	  error (_("Ada is not currently supported by the index"));
+
+	/* Only add a given psymbol once.  */
+	if (psyms_seen.insert (psym).second)
+	  insert (psym, cu_index, is_static, kind);
+      }
+  }
+
+  /* A helper function that writes a single signatured_type
+     to a debug_names.  */
+  void
+  write_one_signatured_type (struct signatured_type *entry,
+			     struct signatured_type_index_data *info)
+  {
+    struct partial_symtab *psymtab = entry->per_cu.v.psymtab;
+
+    write_psymbols (info->psyms_seen,
+		    (info->objfile->global_psymbols.data ()
+		     + psymtab->globals_offset),
+		    psymtab->n_global_syms, info->cu_index, false,
+		    unit_kind::tu);
+    write_psymbols (info->psyms_seen,
+		    (info->objfile->static_psymbols.data ()
+		     + psymtab->statics_offset),
+		    psymtab->n_static_syms, info->cu_index, true,
+		    unit_kind::tu);
+
+    info->types_list.append_uint (dwarf5_offset_size (), m_dwarf5_byte_order,
+				  to_underlying (entry->per_cu.sect_off));
+
+    ++info->cu_index;
+  }
+
+  /* Store value of each symbol.  */
+  std::unordered_map<c_str_view, std::set<symbol_value>, c_str_view_hasher>
+    m_name_to_value_set;
+
+  /* Tables of DWARF-5 .debug_names.  They are in object file byte
+     order.  */
+  std::vector<uint32_t> m_bucket_table;
+  std::vector<uint32_t> m_hash_table;
+
+  const bfd_endian m_dwarf5_byte_order;
+  dwarf_tmpl<uint32_t> m_dwarf32;
+  dwarf_tmpl<uint64_t> m_dwarf64;
+  dwarf &m_dwarf;
+  offset_vec &m_name_table_string_offs, &m_name_table_entry_offs;
+  debug_str_lookup m_debugstrlookup;
+
+  /* Map each used .debug_names abbreviation tag parameter to its
+     index value.  */
+  std::unordered_map<index_key, int, index_key_hasher> m_indexkey_to_idx;
+
+  /* Next unused .debug_names abbreviation tag for
+     m_indexkey_to_idx.  */
+  int m_idx_next = 1;
+
+  /* .debug_names abbreviation table.  */
+  data_buf m_abbrev_table;
+
+  /* .debug_names entry pool.  */
+  data_buf m_entry_pool;
+};
+
+/* Return iff any of the needed offsets does not fit into 32-bit
+   .debug_names section.  */
+
+static bool
+check_dwarf64_offsets (struct dwarf2_per_objfile *dwarf2_per_objfile)
+{
+  for (dwarf2_per_cu_data *per_cu : dwarf2_per_objfile->all_comp_units)
+    {
+      if (to_underlying (per_cu->sect_off) >= (static_cast<uint64_t> (1) << 32))
+	return true;
+    }
+  for (const signatured_type *sigtype : dwarf2_per_objfile->all_type_units)
+    {
+      const dwarf2_per_cu_data &per_cu = sigtype->per_cu;
+
+      if (to_underlying (per_cu.sect_off) >= (static_cast<uint64_t> (1) << 32))
+	return true;
+    }
+  return false;
+}
+
+/* The psyms_seen set is potentially going to be largish (~40k
+   elements when indexing a -g3 build of GDB itself).  Estimate the
+   number of elements in order to avoid too many rehashes, which
+   require rebuilding buckets and thus many trips to
+   malloc/free.  */
+
+static size_t
+psyms_seen_size (struct dwarf2_per_objfile *dwarf2_per_objfile)
+{
+  size_t psyms_count = 0;
+  for (dwarf2_per_cu_data *per_cu : dwarf2_per_objfile->all_comp_units)
+    {
+      struct partial_symtab *psymtab = per_cu->v.psymtab;
+
+      if (psymtab != NULL && psymtab->user == NULL)
+	recursively_count_psymbols (psymtab, psyms_count);
+    }
+  /* Generating an index for gdb itself shows a ratio of
+     TOTAL_SEEN_SYMS/UNIQUE_SYMS or ~5.  4 seems like a good bet.  */
+  return psyms_count / 4;
+}
+
+/* Write new .gdb_index section for OBJFILE into OUT_FILE.
+   Return how many bytes were expected to be written into OUT_FILE.  */
+
+static size_t
+write_gdbindex (struct dwarf2_per_objfile *dwarf2_per_objfile, FILE *out_file)
+{
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
+  mapped_symtab symtab;
+  data_buf cu_list;
+
+  /* While we're scanning CU's create a table that maps a psymtab pointer
+     (which is what addrmap records) to its index (which is what is recorded
+     in the index file).  This will later be needed to write the address
+     table.  */
+  psym_index_map cu_index_htab;
+  cu_index_htab.reserve (dwarf2_per_objfile->all_comp_units.size ());
+
+  /* The CU list is already sorted, so we don't need to do additional
+     work here.  Also, the debug_types entries do not appear in
+     all_comp_units, but only in their own hash table.  */
+
+  std::unordered_set<partial_symbol *> psyms_seen
+    (psyms_seen_size (dwarf2_per_objfile));
+  for (int i = 0; i < dwarf2_per_objfile->all_comp_units.size (); ++i)
+    {
+      struct dwarf2_per_cu_data *per_cu
+	= dwarf2_per_objfile->all_comp_units[i];
+      struct partial_symtab *psymtab = per_cu->v.psymtab;
+
+      /* CU of a shared file from 'dwz -m' may be unused by this main file.
+	 It may be referenced from a local scope but in such case it does not
+	 need to be present in .gdb_index.  */
+      if (psymtab == NULL)
+	continue;
+
+      if (psymtab->user == NULL)
+	recursively_write_psymbols (objfile, psymtab, &symtab,
+				    psyms_seen, i);
+
+      const auto insertpair = cu_index_htab.emplace (psymtab, i);
+      gdb_assert (insertpair.second);
+
+      cu_list.append_uint (8, BFD_ENDIAN_LITTLE,
+			   to_underlying (per_cu->sect_off));
+      cu_list.append_uint (8, BFD_ENDIAN_LITTLE, per_cu->length);
+    }
+
+  /* Dump the address map.  */
+  data_buf addr_vec;
+  write_address_map (objfile, addr_vec, cu_index_htab);
+
+  /* Write out the .debug_type entries, if any.  */
+  data_buf types_cu_list;
+  if (dwarf2_per_objfile->signatured_types)
+    {
+      signatured_type_index_data sig_data (types_cu_list,
+					   psyms_seen);
+
+      sig_data.objfile = objfile;
+      sig_data.symtab = &symtab;
+      sig_data.cu_index = dwarf2_per_objfile->all_comp_units.size ();
+      htab_traverse_noresize (dwarf2_per_objfile->signatured_types,
+			      write_one_signatured_type, &sig_data);
+    }
+
+  /* Now that we've processed all symbols we can shrink their cu_indices
+     lists.  */
+  uniquify_cu_indices (&symtab);
+
+  data_buf symtab_vec, constant_pool;
+  write_hash_table (&symtab, symtab_vec, constant_pool);
+
+  data_buf contents;
+  const offset_type size_of_contents = 6 * sizeof (offset_type);
+  offset_type total_len = size_of_contents;
+
+  /* The version number.  */
+  contents.append_data (MAYBE_SWAP (8));
+
+  /* The offset of the CU list from the start of the file.  */
+  contents.append_data (MAYBE_SWAP (total_len));
+  total_len += cu_list.size ();
+
+  /* The offset of the types CU list from the start of the file.  */
+  contents.append_data (MAYBE_SWAP (total_len));
+  total_len += types_cu_list.size ();
+
+  /* The offset of the address table from the start of the file.  */
+  contents.append_data (MAYBE_SWAP (total_len));
+  total_len += addr_vec.size ();
+
+  /* The offset of the symbol table from the start of the file.  */
+  contents.append_data (MAYBE_SWAP (total_len));
+  total_len += symtab_vec.size ();
+
+  /* The offset of the constant pool from the start of the file.  */
+  contents.append_data (MAYBE_SWAP (total_len));
+  total_len += constant_pool.size ();
+
+  gdb_assert (contents.size () == size_of_contents);
+
+  contents.file_write (out_file);
+  cu_list.file_write (out_file);
+  types_cu_list.file_write (out_file);
+  addr_vec.file_write (out_file);
+  symtab_vec.file_write (out_file);
+  constant_pool.file_write (out_file);
+
+  return total_len;
+}
+
+/* DWARF-5 augmentation string for GDB's DW_IDX_GNU_* extension.  */
+static const gdb_byte dwarf5_gdb_augmentation[] = { 'G', 'D', 'B', 0 };
+
+/* Write a new .debug_names section for OBJFILE into OUT_FILE, write
+   needed addition to .debug_str section to OUT_FILE_STR.  Return how
+   many bytes were expected to be written into OUT_FILE.  */
+
+static size_t
+write_debug_names (struct dwarf2_per_objfile *dwarf2_per_objfile,
+		   FILE *out_file, FILE *out_file_str)
+{
+  const bool dwarf5_is_dwarf64 = check_dwarf64_offsets (dwarf2_per_objfile);
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
+  const enum bfd_endian dwarf5_byte_order
+    = gdbarch_byte_order (get_objfile_arch (objfile));
+
+  /* The CU list is already sorted, so we don't need to do additional
+     work here.  Also, the debug_types entries do not appear in
+     all_comp_units, but only in their own hash table.  */
+  data_buf cu_list;
+  debug_names nametable (dwarf2_per_objfile, dwarf5_is_dwarf64,
+			 dwarf5_byte_order);
+  std::unordered_set<partial_symbol *>
+    psyms_seen (psyms_seen_size (dwarf2_per_objfile));
+  for (int i = 0; i < dwarf2_per_objfile->all_comp_units.size (); ++i)
+    {
+      const dwarf2_per_cu_data *per_cu = dwarf2_per_objfile->all_comp_units[i];
+      partial_symtab *psymtab = per_cu->v.psymtab;
+
+      /* CU of a shared file from 'dwz -m' may be unused by this main
+	 file.  It may be referenced from a local scope but in such
+	 case it does not need to be present in .debug_names.  */
+      if (psymtab == NULL)
+	continue;
+
+      if (psymtab->user == NULL)
+	nametable.recursively_write_psymbols (objfile, psymtab, psyms_seen, i);
+
+      cu_list.append_uint (nametable.dwarf5_offset_size (), dwarf5_byte_order,
+			   to_underlying (per_cu->sect_off));
+    }
+
+  /* Write out the .debug_type entries, if any.  */
+  data_buf types_cu_list;
+  if (dwarf2_per_objfile->signatured_types)
+    {
+      debug_names::write_one_signatured_type_data sig_data (nametable,
+			signatured_type_index_data (types_cu_list, psyms_seen));
+
+      sig_data.info.objfile = objfile;
+      /* It is used only for gdb_index.  */
+      sig_data.info.symtab = nullptr;
+      sig_data.info.cu_index = 0;
+      htab_traverse_noresize (dwarf2_per_objfile->signatured_types,
+			      debug_names::write_one_signatured_type,
+			      &sig_data);
+    }
+
+  nametable.build ();
+
+  /* No addr_vec - DWARF-5 uses .debug_aranges generated by GCC.  */
+
+  const offset_type bytes_of_header
+    = ((dwarf5_is_dwarf64 ? 12 : 4)
+       + 2 + 2 + 7 * 4
+       + sizeof (dwarf5_gdb_augmentation));
+  size_t expected_bytes = 0;
+  expected_bytes += bytes_of_header;
+  expected_bytes += cu_list.size ();
+  expected_bytes += types_cu_list.size ();
+  expected_bytes += nametable.bytes ();
+  data_buf header;
+
+  if (!dwarf5_is_dwarf64)
+    {
+      const uint64_t size64 = expected_bytes - 4;
+      gdb_assert (size64 < 0xfffffff0);
+      header.append_uint (4, dwarf5_byte_order, size64);
+    }
+  else
+    {
+      header.append_uint (4, dwarf5_byte_order, 0xffffffff);
+      header.append_uint (8, dwarf5_byte_order, expected_bytes - 12);
+    }
+
+  /* The version number.  */
+  header.append_uint (2, dwarf5_byte_order, 5);
+
+  /* Padding.  */
+  header.append_uint (2, dwarf5_byte_order, 0);
+
+  /* comp_unit_count - The number of CUs in the CU list.  */
+  header.append_uint (4, dwarf5_byte_order,
+		      dwarf2_per_objfile->all_comp_units.size ());
+
+  /* local_type_unit_count - The number of TUs in the local TU
+     list.  */
+  header.append_uint (4, dwarf5_byte_order,
+		      dwarf2_per_objfile->all_type_units.size ());
+
+  /* foreign_type_unit_count - The number of TUs in the foreign TU
+     list.  */
+  header.append_uint (4, dwarf5_byte_order, 0);
+
+  /* bucket_count - The number of hash buckets in the hash lookup
+     table.  */
+  header.append_uint (4, dwarf5_byte_order, nametable.bucket_count ());
+
+  /* name_count - The number of unique names in the index.  */
+  header.append_uint (4, dwarf5_byte_order, nametable.name_count ());
+
+  /* abbrev_table_size - The size in bytes of the abbreviations
+     table.  */
+  header.append_uint (4, dwarf5_byte_order, nametable.abbrev_table_bytes ());
+
+  /* augmentation_string_size - The size in bytes of the augmentation
+     string.  This value is rounded up to a multiple of 4.  */
+  static_assert (sizeof (dwarf5_gdb_augmentation) % 4 == 0, "");
+  header.append_uint (4, dwarf5_byte_order, sizeof (dwarf5_gdb_augmentation));
+  header.append_data (dwarf5_gdb_augmentation);
+
+  gdb_assert (header.size () == bytes_of_header);
+
+  header.file_write (out_file);
+  cu_list.file_write (out_file);
+  types_cu_list.file_write (out_file);
+  nametable.file_write (out_file, out_file_str);
+
+  return expected_bytes;
+}
+
+/* Assert that FILE's size is EXPECTED_SIZE.  Assumes file's seek
+   position is at the end of the file.  */
+
+static void
+assert_file_size (FILE *file, const char *filename, size_t expected_size)
+{
+  const auto file_size = ftell (file);
+  if (file_size == -1)
+    error (_("Can't get `%s' size"), filename);
+  gdb_assert (file_size == expected_size);
+}
+
+/* Create an index file for OBJFILE in the directory DIR.  */
+
+static void
+write_psymtabs_to_index (struct dwarf2_per_objfile *dwarf2_per_objfile,
+			 const char *dir,
+			 dw_index_kind index_kind)
+{
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
+
+  if (dwarf2_per_objfile->using_index)
+    error (_("Cannot use an index to create the index"));
+
+  if (VEC_length (dwarf2_section_info_def, dwarf2_per_objfile->types) > 1)
+    error (_("Cannot make an index when the file has multiple .debug_types sections"));
+
+  if (!objfile->psymtabs || !objfile->psymtabs_addrmap)
+    return;
+
+  struct stat st;
+  if (stat (objfile_name (objfile), &st) < 0)
+    perror_with_name (objfile_name (objfile));
+
+  std::string filename (std::string (dir) + SLASH_STRING
+			+ lbasename (objfile_name (objfile))
+			+ (index_kind == dw_index_kind::DEBUG_NAMES
+			   ? INDEX5_SUFFIX : INDEX4_SUFFIX));
+
+  FILE *out_file = gdb_fopen_cloexec (filename.c_str (), "wb").release ();
+  if (!out_file)
+    error (_("Can't open `%s' for writing"), filename.c_str ());
+
+  /* Order matters here; we want FILE to be closed before FILENAME is
+     unlinked, because on MS-Windows one cannot delete a file that is
+     still open.  (Don't call anything here that might throw until
+     file_closer is created.)  */
+  gdb::unlinker unlink_file (filename.c_str ());
+  gdb_file_up close_out_file (out_file);
+
+  if (index_kind == dw_index_kind::DEBUG_NAMES)
+    {
+      std::string filename_str (std::string (dir) + SLASH_STRING
+				+ lbasename (objfile_name (objfile))
+				+ DEBUG_STR_SUFFIX);
+      FILE *out_file_str
+	= gdb_fopen_cloexec (filename_str.c_str (), "wb").release ();
+      if (!out_file_str)
+	error (_("Can't open `%s' for writing"), filename_str.c_str ());
+      gdb::unlinker unlink_file_str (filename_str.c_str ());
+      gdb_file_up close_out_file_str (out_file_str);
+
+      const size_t total_len
+	= write_debug_names (dwarf2_per_objfile, out_file, out_file_str);
+      assert_file_size (out_file, filename.c_str (), total_len);
+
+      /* We want to keep the file .debug_str file too.  */
+      unlink_file_str.keep ();
+    }
+  else
+    {
+      const size_t total_len
+	= write_gdbindex (dwarf2_per_objfile, out_file);
+      assert_file_size (out_file, filename.c_str (), total_len);
+    }
+
+  /* We want to keep the file.  */
+  unlink_file.keep ();
+}
+
+/* Implementation of the `save gdb-index' command.
+
+   Note that the .gdb_index file format used by this command is
+   documented in the GDB manual.  Any changes here must be documented
+   there.  */
+
+static void
+save_gdb_index_command (const char *arg, int from_tty)
+{
+  struct objfile *objfile;
+  const char dwarf5space[] = "-dwarf-5 ";
+  dw_index_kind index_kind = dw_index_kind::GDB_INDEX;
+
+  if (!arg)
+    arg = "";
+
+  arg = skip_spaces (arg);
+  if (strncmp (arg, dwarf5space, strlen (dwarf5space)) == 0)
+    {
+      index_kind = dw_index_kind::DEBUG_NAMES;
+      arg += strlen (dwarf5space);
+      arg = skip_spaces (arg);
+    }
+
+  if (!*arg)
+    error (_("usage: save gdb-index [-dwarf-5] DIRECTORY"));
+
+  ALL_OBJFILES (objfile)
+  {
+    struct stat st;
+
+    /* If the objfile does not correspond to an actual file, skip it.  */
+    if (stat (objfile_name (objfile), &st) < 0)
+      continue;
+
+    struct dwarf2_per_objfile *dwarf2_per_objfile
+      = get_dwarf2_per_objfile (objfile);
+
+    if (dwarf2_per_objfile != NULL)
+      {
+	TRY
+	  {
+	    write_psymtabs_to_index (dwarf2_per_objfile, arg, index_kind);
+	  }
+	CATCH (except, RETURN_MASK_ERROR)
+	  {
+	    exception_fprintf (gdb_stderr, except,
+			       _("Error while writing index for `%s': "),
+			       objfile_name (objfile));
+	  }
+	END_CATCH
+      }
+
+  }
+}
+
+void
+_initialize_dwarf_index_write ()
+{
+  cmd_list_element *c = add_cmd ("gdb-index", class_files,
+				 save_gdb_index_command, _("\
+Save a gdb-index file.\n\
+Usage: save gdb-index [-dwarf-5] DIRECTORY\n\
+\n\
+No options create one file with .gdb-index extension for pre-DWARF-5\n\
+compatible .gdb_index section.  With -dwarf-5 creates two files with\n\
+extension .debug_names and .debug_str for DWARF-5 .debug_names section."),
+	       &save_cmdlist);
+  set_cmd_completer (c, filename_completer);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/elfread.c ./gdb/elfread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/elfread.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/elfread.c	2018-07-10 02:06:13.000000000 +0000
@@ -41,6 +41,7 @@
 #include "value.h"
 #include "infcall.h"
 #include "gdbthread.h"
+#include "inferior.h"
 #include "regcache.h"
 #include "bcache.h"
 #include "gdb_bfd.h"
@@ -120,17 +121,14 @@ elf_symfile_segments (bfd *abfd)
   for (i = 0, sect = abfd->sections; sect != NULL; i++, sect = sect->next)
     {
       int j;
-      CORE_ADDR vma;
 
       if ((bfd_get_section_flags (abfd, sect) & SEC_ALLOC) == 0)
 	continue;
 
-      vma = bfd_get_section_vma (abfd, sect);
+      Elf_Internal_Shdr *this_hdr = &elf_section_data (sect)->this_hdr;
 
       for (j = 0; j < num_segments; j++)
-	if (segments[j]->p_memsz > 0
-	    && vma >= segments[j]->p_vaddr
-	    && (vma - segments[j]->p_vaddr) < segments[j]->p_memsz)
+	if (ELF_SECTION_IN_SEGMENT (this_hdr, segments[j]))
 	  {
 	    data->segment_info[i] = j + 1;
 	    break;
@@ -422,7 +420,11 @@ elf_symtab_read (minimal_symbol_reader &
 	    {
 	      if (sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE))
 		{
-		  if (sym->section->flags & SEC_LOAD)
+		  if (sym->flags & BSF_GNU_INDIRECT_FUNCTION)
+		    {
+		      ms_type = mst_data_gnu_ifunc;
+		    }
+		  else if (sym->section->flags & SEC_LOAD)
 		    {
 		      ms_type = mst_data;
 		    }
@@ -535,8 +537,7 @@ elf_rel_plt_read (minimal_symbol_reader 
 {
   bfd *obfd = objfile->obfd;
   const struct elf_backend_data *bed = get_elf_backend_data (obfd);
-  asection *plt, *relplt, *got_plt;
-  int plt_elf_idx;
+  asection *relplt, *got_plt;
   bfd_size_type reloc_count, reloc;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct type *ptr_type = builtin_type (gdbarch)->builtin_data_ptr;
@@ -545,11 +546,6 @@ elf_rel_plt_read (minimal_symbol_reader 
   if (objfile->separate_debug_objfile_backlink)
     return;
 
-  plt = bfd_get_section_by_name (obfd, ".plt");
-  if (plt == NULL)
-    return;
-  plt_elf_idx = elf_section_data (plt)->this_idx;
-
   got_plt = bfd_get_section_by_name (obfd, ".got.plt");
   if (got_plt == NULL)
     {
@@ -559,12 +555,25 @@ elf_rel_plt_read (minimal_symbol_reader 
 	return;
     }
 
+  /* Depending on system, we may find jump slots in a relocation
+     section for either .got.plt or .plt.  */
+  asection *plt = bfd_get_section_by_name (obfd, ".plt");
+  int plt_elf_idx = (plt != NULL) ? elf_section_data (plt)->this_idx : -1;
+
+  int got_plt_elf_idx = elf_section_data (got_plt)->this_idx;
+
   /* This search algorithm is from _bfd_elf_canonicalize_dynamic_reloc.  */
   for (relplt = obfd->sections; relplt != NULL; relplt = relplt->next)
-    if (elf_section_data (relplt)->this_hdr.sh_info == plt_elf_idx
-	&& (elf_section_data (relplt)->this_hdr.sh_type == SHT_REL
-	    || elf_section_data (relplt)->this_hdr.sh_type == SHT_RELA))
-      break;
+    {
+      const auto &this_hdr = elf_section_data (relplt)->this_hdr;
+
+      if (this_hdr.sh_type == SHT_REL || this_hdr.sh_type == SHT_RELA)
+	{
+	  if (this_hdr.sh_info == plt_elf_idx
+	      || this_hdr.sh_info == got_plt_elf_idx)
+	    break;
+	}
+    }
   if (relplt == NULL)
     return;
 
@@ -573,6 +582,17 @@ elf_rel_plt_read (minimal_symbol_reader 
 
   std::string string_buffer;
 
+  /* Does ADDRESS reside in SECTION of OBFD?  */
+  auto within_section = [obfd] (asection *section, CORE_ADDR address)
+    {
+      if (section == NULL)
+	return false;
+
+      return (bfd_get_section_vma (obfd, section) <= address
+	      && (address < bfd_get_section_vma (obfd, section)
+		  + bfd_get_section_size (section)));
+    };
+
   reloc_count = relplt->size / elf_section_data (relplt)->this_hdr.sh_entsize;
   for (reloc = 0; reloc < reloc_count; reloc++)
     {
@@ -585,23 +605,29 @@ elf_rel_plt_read (minimal_symbol_reader 
       name = bfd_asymbol_name (*relplt->relocation[reloc].sym_ptr_ptr);
       address = relplt->relocation[reloc].address;
 
-      /* Does the pointer reside in the .got.plt section?  */
-      if (!(bfd_get_section_vma (obfd, got_plt) <= address
-            && address < bfd_get_section_vma (obfd, got_plt)
-			 + bfd_get_section_size (got_plt)))
+      asection *msym_section;
+
+      /* Does the pointer reside in either the .got.plt or .plt
+	 sections?  */
+      if (within_section (got_plt, address))
+	msym_section = got_plt;
+      else if (within_section (plt, address))
+	msym_section = plt;
+      else
 	continue;
 
-      /* We cannot check if NAME is a reference to mst_text_gnu_ifunc as in
-	 OBJFILE the symbol is undefined and the objfile having NAME defined
-	 may not yet have been loaded.  */
+      /* We cannot check if NAME is a reference to
+	 mst_text_gnu_ifunc/mst_data_gnu_ifunc as in OBJFILE the
+	 symbol is undefined and the objfile having NAME defined may
+	 not yet have been loaded.  */
 
       string_buffer.assign (name);
       string_buffer.append (got_suffix, got_suffix + got_suffix_len);
 
       msym = record_minimal_symbol (reader, string_buffer.c_str (),
 				    string_buffer.size (),
-                                    true, address, mst_slot_got_plt, got_plt,
-				    objfile);
+				    true, address, mst_slot_got_plt,
+				    msym_section, objfile);
       if (msym)
 	SET_MSYMBOL_SIZE (msym, ptr_size);
     }
@@ -657,7 +683,6 @@ static int
 elf_gnu_ifunc_record_cache (const char *name, CORE_ADDR addr)
 {
   struct bound_minimal_symbol msym;
-  asection *sect;
   struct objfile *objfile;
   htab_t htab;
   struct elf_gnu_ifunc_cache entry_local, *entry_p;
@@ -668,14 +693,17 @@ elf_gnu_ifunc_record_cache (const char *
     return 0;
   if (BMSYMBOL_VALUE_ADDRESS (msym) != addr)
     return 0;
-  /* minimal symbols have always SYMBOL_OBJ_SECTION non-NULL.  */
-  sect = MSYMBOL_OBJ_SECTION (msym.objfile, msym.minsym)->the_bfd_section;
   objfile = msym.objfile;
 
   /* If .plt jumps back to .plt the symbol is still deferred for later
-     resolution and it has no use for GDB.  Besides ".text" this symbol can
-     reside also in ".opd" for ppc64 function descriptor.  */
-  if (strcmp (bfd_get_section_name (objfile->obfd, sect), ".plt") == 0)
+     resolution and it has no use for GDB.  */
+  const char *target_name = MSYMBOL_LINKAGE_NAME (msym.minsym);
+  size_t len = strlen (target_name);
+
+  /* Note we check the symbol's name instead of checking whether the
+     symbol is in the .plt section because some systems have @plt
+     symbols in the .text section.  */
+  if (len > 4 && strcmp (target_name + len - 4, "@plt") == 0)
     return 0;
 
   htab = (htab_t) objfile_data (objfile, elf_objfile_gnu_ifunc_cache_data);
@@ -807,13 +835,15 @@ elf_gnu_ifunc_resolve_by_got (const char
 	continue;
       addr = extract_typed_address (buf, ptr_type);
       addr = gdbarch_convert_from_func_ptr_addr (gdbarch, addr,
-						 &current_target);
+						 current_top_target ());
       addr = gdbarch_addr_bits_remove (gdbarch, addr);
 
-      if (addr_p)
-	*addr_p = addr;
       if (elf_gnu_ifunc_record_cache (name, addr))
-	return 1;
+	{
+	  if (addr_p != NULL)
+	    *addr_p = addr;
+	  return 1;
+	}
     }
 
   return 0;
@@ -872,13 +902,12 @@ elf_gnu_ifunc_resolve_addr (struct gdbar
      parameter.  FUNCTION is the function entry address.  ADDRESS may be a
      function descriptor.  */
 
-  target_auxv_search (&current_target, AT_HWCAP, &hwcap);
+  target_auxv_search (current_top_target (), AT_HWCAP, &hwcap);
   hwcap_val = value_from_longest (builtin_type (gdbarch)
 				  ->builtin_unsigned_long, hwcap);
   address_val = call_function_by_hand (function, NULL, 1, &hwcap_val);
   address = value_as_address (address_val);
-  address = gdbarch_convert_from_func_ptr_addr (gdbarch, address,
-						&current_target);
+  address = gdbarch_convert_from_func_ptr_addr (gdbarch, address, current_top_target ());
   address = gdbarch_addr_bits_remove (gdbarch, address);
 
   if (name_at_pc)
@@ -896,7 +925,7 @@ elf_gnu_ifunc_resolver_stop (struct brea
   struct frame_info *prev_frame = get_prev_frame (get_current_frame ());
   struct frame_id prev_frame_id = get_stack_frame_id (prev_frame);
   CORE_ADDR prev_pc = get_frame_pc (prev_frame);
-  int thread_id = ptid_to_global_thread_id (inferior_ptid);
+  int thread_id = inferior_thread ()->global_num;
 
   gdb_assert (b->type == bp_gnu_ifunc_resolver);
 
@@ -943,10 +972,11 @@ elf_gnu_ifunc_resolver_stop (struct brea
 static void
 elf_gnu_ifunc_resolver_return_stop (struct breakpoint *b)
 {
+  thread_info *thread = inferior_thread ();
   struct gdbarch *gdbarch = get_frame_arch (get_current_frame ());
   struct type *func_func_type = builtin_type (gdbarch)->builtin_func_func;
   struct type *value_type = TYPE_TARGET_TYPE (func_func_type);
-  struct regcache *regcache = get_thread_regcache (inferior_ptid);
+  struct regcache *regcache = get_thread_regcache (thread);
   struct value *func_func;
   struct value *value;
   CORE_ADDR resolved_address, resolved_pc;
@@ -985,7 +1015,7 @@ elf_gnu_ifunc_resolver_return_stop (stru
   resolved_address = value_as_address (value);
   resolved_pc = gdbarch_convert_from_func_ptr_addr (gdbarch,
 						    resolved_address,
-						    &current_target);
+						    current_top_target ());
   resolved_pc = gdbarch_addr_bits_remove (gdbarch, resolved_pc);
 
   gdb_assert (current_program_space == b->pspace || b->pspace == NULL);
@@ -994,7 +1024,8 @@ elf_gnu_ifunc_resolver_return_stop (stru
 
   b->type = bp_breakpoint;
   update_breakpoint_locations (b, current_program_space,
-			       find_pc_line (resolved_pc, 0), {});
+			       find_function_start_sal (resolved_pc, NULL, true),
+			       {});
 }
 
 /* A helper function for elf_symfile_read that reads the minimal
@@ -1259,17 +1290,16 @@ elf_symfile_read (struct objfile *objfil
 	   && objfile->separate_debug_objfile == NULL
 	   && objfile->separate_debug_objfile_backlink == NULL)
     {
-      gdb::unique_xmalloc_ptr<char> debugfile
-	(find_separate_debug_file_by_buildid (objfile));
+      std::string debugfile = find_separate_debug_file_by_buildid (objfile);
 
-      if (debugfile == NULL)
-	debugfile.reset (find_separate_debug_file_by_debuglink (objfile));
+      if (debugfile.empty ())
+	debugfile = find_separate_debug_file_by_debuglink (objfile);
 
-      if (debugfile != NULL)
+      if (!debugfile.empty ())
 	{
-	  gdb_bfd_ref_ptr abfd (symfile_bfd_open (debugfile.get ()));
+	  gdb_bfd_ref_ptr abfd (symfile_bfd_open (debugfile.c_str ()));
 
-	  symbol_file_add_separate (abfd.get (), debugfile.get (),
+	  symbol_file_add_separate (abfd.get (), debugfile.c_str (),
 				    symfile_flags, objfile);
 	}
     }
@@ -1306,7 +1336,6 @@ elf_new_init (struct objfile *ignore)
 static void
 elf_symfile_finish (struct objfile *objfile)
 {
-  dwarf2_free_objfile (objfile);
 }
 
 /* ELF specific initialization routine for reading symbols.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/eval.c ./gdb/eval.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/eval.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/eval.c	2018-07-10 02:06:13.000000000 +0000
@@ -69,27 +69,20 @@ struct value *
 evaluate_subexp (struct type *expect_type, struct expression *exp,
 		 int *pos, enum noside noside)
 {
-  struct cleanup *cleanups;
   struct value *retval;
-  int cleanup_temps = 0;
 
+  gdb::optional<enable_thread_stack_temporaries> stack_temporaries;
   if (*pos == 0 && target_has_execution
       && exp->language_defn->la_language == language_cplus
-      && !thread_stack_temporaries_enabled_p (inferior_ptid))
-    {
-      cleanups = enable_thread_stack_temporaries (inferior_ptid);
-      cleanup_temps = 1;
-    }
+      && !thread_stack_temporaries_enabled_p (inferior_thread ()))
+    stack_temporaries.emplace (inferior_thread ());
 
   retval = (*exp->language_defn->la_exp_desc->evaluate_exp)
     (expect_type, exp, pos, noside);
 
-  if (cleanup_temps)
-    {
-      if (value_in_thread_stack_temporaries (retval, inferior_ptid))
-	retval = value_non_lval (retval);
-      do_cleanups (cleanups);
-    }
+  if (stack_temporaries.has_value ()
+      && value_in_thread_stack_temporaries (retval, inferior_thread ()))
+    retval = value_non_lval (retval);
 
   return retval;
 }
@@ -186,14 +179,14 @@ evaluate_subexpression_type (struct expr
    set to any referenced values.  *VALP will never be a lazy value.
    This is the value which we store in struct breakpoint.
 
-   If VAL_CHAIN is non-NULL, *VAL_CHAIN will be released from the
-   value chain.  The caller must free the values individually.  If
-   VAL_CHAIN is NULL, all generated values will be left on the value
-   chain.  */
+   If VAL_CHAIN is non-NULL, the values put into *VAL_CHAIN will be
+   released from the value chain.  If VAL_CHAIN is NULL, all generated
+   values will be left on the value chain.  */
 
 void
 fetch_subexp_value (struct expression *exp, int *pc, struct value **valp,
-		    struct value **resultp, struct value **val_chain,
+		    struct value **resultp,
+		    std::vector<value_ref_ptr> *val_chain,
 		    int preserve_errors)
 {
   struct value *mark, *new_mark, *result;
@@ -202,7 +195,7 @@ fetch_subexp_value (struct expression *e
   if (resultp)
     *resultp = NULL;
   if (val_chain)
-    *val_chain = NULL;
+    val_chain->clear ();
 
   /* Evaluate the expression.  */
   mark = value_mark ();
@@ -222,6 +215,7 @@ fetch_subexp_value (struct expression *e
 	case MEMORY_ERROR:
 	  if (!preserve_errors)
 	    break;
+	  /* Fall through.  */
 	default:
 	  throw_exception (ex);
 	  break;
@@ -260,8 +254,7 @@ fetch_subexp_value (struct expression *e
     {
       /* Return the chain of intermediate values.  We use this to
 	 decide which addresses to watch.  */
-      *val_chain = new_mark;
-      value_release_to_mark (mark);
+      *val_chain = value_release_to_mark (mark);
     }
 }
 
@@ -272,7 +265,7 @@ fetch_subexp_value (struct expression *e
    subexpression of the left-hand-side of the dereference.  This is
    used when completing field names.  */
 
-char *
+const char *
 extract_field_op (struct expression *exp, int *subexp)
 {
   int tem;
@@ -742,17 +735,13 @@ value *
 evaluate_var_msym_value (enum noside noside,
 			 struct objfile *objfile, minimal_symbol *msymbol)
 {
-  if (noside == EVAL_AVOID_SIDE_EFFECTS)
-    {
-      type *the_type = find_minsym_type_and_address (msymbol, objfile, NULL);
-      return value_zero (the_type, not_lval);
-    }
+  CORE_ADDR address;
+  type *the_type = find_minsym_type_and_address (msymbol, objfile, &address);
+
+  if (noside == EVAL_AVOID_SIDE_EFFECTS && !TYPE_GNU_IFUNC (the_type))
+    return value_zero (the_type, not_lval);
   else
-    {
-      CORE_ADDR address;
-      type *the_type = find_minsym_type_and_address (msymbol, objfile, &address);
-      return value_at_lazy (the_type, address);
-    }
+    return value_at_lazy (the_type, address);
 }
 
 /* Helper for returning a value when handling EVAL_SKIP.  */
@@ -805,6 +794,15 @@ eval_call (expression *exp, enum noside 
       else if (TYPE_CODE (ftype) == TYPE_CODE_FUNC
 	       || TYPE_CODE (ftype) == TYPE_CODE_METHOD)
 	{
+	  if (TYPE_GNU_IFUNC (ftype))
+	    {
+	      CORE_ADDR address = value_address (argvec[0]);
+	      type *resolved_type = find_gnu_ifunc_target_type (address);
+
+	      if (resolved_type != NULL)
+		ftype = resolved_type;
+	    }
+
 	  type *return_type = TYPE_TARGET_TYPE (ftype);
 
 	  if (return_type == NULL)
@@ -992,13 +990,13 @@ evaluate_funcall (type *expect_type, exp
       function_name = NULL;
       if (TYPE_CODE (type) == TYPE_CODE_NAMESPACE)
 	{
-	  function = cp_lookup_symbol_namespace (TYPE_TAG_NAME (type),
+	  function = cp_lookup_symbol_namespace (TYPE_NAME (type),
 						 name,
 						 get_selected_block (0),
 						 VAR_DOMAIN).symbol;
 	  if (function == NULL)
 	    error (_("No symbol \"%s\" in namespace \"%s\"."),
-		   name, TYPE_TAG_NAME (type));
+		   name, TYPE_NAME (type));
 
 	  tem = 1;
 	  /* arg2 is left as NULL on purpose.  */
@@ -1046,13 +1044,13 @@ evaluate_funcall (type *expect_type, exp
 	{
 	  if (op == OP_VAR_MSYM_VALUE)
 	    {
-	      symbol *sym = exp->elts[*pos + 2].symbol;
-	      var_func_name = SYMBOL_PRINT_NAME (sym);
+	      minimal_symbol *msym = exp->elts[*pos + 2].msymbol;
+	      var_func_name = MSYMBOL_PRINT_NAME (msym);
 	    }
 	  else if (op == OP_VAR_VALUE)
 	    {
-	      minimal_symbol *msym = exp->elts[*pos + 2].msymbol;
-	      var_func_name = MSYMBOL_PRINT_NAME (msym);
+	      symbol *sym = exp->elts[*pos + 2].symbol;
+	      var_func_name = SYMBOL_PRINT_NAME (sym);
 	    }
 
 	  argvec[0] = evaluate_subexp_with_coercion (exp, pos, noside);
@@ -1750,7 +1748,7 @@ evaluate_subexp_standard (struct type *e
 	    /* The address might point to a function descriptor;
 	       resolve it to the actual code address instead.  */
 	    addr = gdbarch_convert_from_func_ptr_addr (exp->gdbarch, addr,
-						       &current_target);
+						       current_top_target ());
 
 	    /* Is it a high_level symbol?  */
 	    sym = find_pc_function (addr);
@@ -2670,6 +2668,19 @@ evaluate_subexp_standard (struct type *e
 	}
       return evaluate_subexp_for_sizeof (exp, pos, noside);
 
+    case UNOP_ALIGNOF:
+      {
+	struct type *type
+	  = value_type (evaluate_subexp (NULL_TYPE, exp, pos,
+					 EVAL_AVOID_SIDE_EFFECTS));
+	/* FIXME: This should be size_t.  */
+	struct type *size_type = builtin_type (exp->gdbarch)->builtin_int;
+	ULONGEST align = type_align (type);
+	if (align == 0)
+	  error (_("could not determine alignment of type"));
+	return value_from_longest (size_type, align);
+      }
+
     case UNOP_CAST:
       (*pos) += 2;
       type = exp->elts[pc + 1].type;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/event-loop.c ./gdb/event-loop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/event-loop.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/event-loop.c	2018-07-10 02:06:13.000000000 +0000
@@ -34,7 +34,7 @@
 #include <sys/types.h>
 #include "gdb_sys_time.h"
 #include "gdb_select.h"
-#include "observer.h"
+#include "observable.h"
 #include "top.h"
 
 /* Tell create_file_handler what events we are interested in.
@@ -382,7 +382,7 @@ start_event_loop (void)
 	     get around to resetting the prompt, which leaves readline
 	     in a messed-up state.  Reset it here.  */
 	  current_ui->prompt_state = PROMPT_NEEDED;
-	  observer_notify_command_error ();
+	  gdb::observers::command_error.notify ();
 	  /* This call looks bizarre, but it is required.  If the user
 	     entered a command that caused an error,
 	     after_char_processing_hook won't be called from
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/event-top.c ./gdb/event-top.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/event-top.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/event-top.c	2018-07-10 02:06:13.000000000 +0000
@@ -32,7 +32,7 @@
 #include "cli/cli-script.h"     /* for reset_command_nest_depth */
 #include "main.h"
 #include "gdbthread.h"
-#include "observer.h"
+#include "observable.h"
 #include "continuations.h"
 #include "gdbcmd.h"		/* for dont_repeat() */
 #include "annotate.h"
@@ -428,7 +428,7 @@ top_level_prompt (void)
 
   /* Give observers a chance of changing the prompt.  E.g., the python
      `gdb.prompt_hook' is installed as an observer.  */
-  observer_notify_before_prompt (get_prompt ());
+  gdb::observers::before_prompt.notify (get_prompt ());
 
   prompt = get_prompt ();
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/exceptions.c ./gdb/exceptions.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/exceptions.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/exceptions.c	2018-07-10 02:06:13.000000000 +0000
@@ -39,7 +39,11 @@ print_flush (void)
     deprecated_error_begin_hook ();
 
   gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
-  if (target_supports_terminal_ours ())
+  /* While normally there's always something pushed on the target
+     stack, the NULL check is needed here because we can get here very
+     early during startup, before the target stack is first
+     initialized.  */
+  if (current_top_target () != NULL && target_supports_terminal_ours ())
     {
       term_state.emplace ();
       target_terminal::ours_for_output ();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/exec.c ./gdb/exec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/exec.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/exec.c	2018-07-10 02:06:13.000000000 +0000
@@ -29,12 +29,13 @@
 #include "completer.h"
 #include "value.h"
 #include "exec.h"
-#include "observer.h"
+#include "observable.h"
 #include "arch-utils.h"
 #include "gdbthread.h"
 #include "progspace.h"
 #include "gdb_bfd.h"
 #include "gcore.h"
+#include "source.h"
 
 #include <fcntl.h>
 #include "readline/readline.h"
@@ -48,15 +49,39 @@
 
 void (*deprecated_file_changed_hook) (const char *);
 
-/* Prototypes for local functions */
+static const target_info exec_target_info = {
+  "exec",
+  N_("Local exec file"),
+  N_("Use an executable file as a target.\n\
+Specify the filename of the executable file.")
+};
 
-static void exec_files_info (struct target_ops *);
+/* The target vector for executable files.  */
 
-static void init_exec_ops (void);
+struct exec_target final : public target_ops
+{
+  exec_target ()
+  { to_stratum = file_stratum; }
 
-/* The target vector for executable files.  */
+  const target_info &info () const override
+  { return exec_target_info; }
 
-static struct target_ops exec_ops;
+  void close () override;
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+  struct target_section_table *get_section_table () override;
+  void files_info () override;
+
+  bool has_memory () override;
+  char *make_corefile_notes (bfd *, int *) override;
+  int find_memory_regions (find_memory_region_ftype func, void *data) override;
+};
+
+static exec_target exec_ops;
 
 /* Whether to open exec and core files read-only or read-write.  */
 
@@ -71,7 +96,7 @@ show_write_files (struct ui_file *file, 
 
 
 static void
-exec_open (const char *args, int from_tty)
+exec_target_open (const char *args, int from_tty)
 {
   target_preopen (from_tty);
   exec_file_attach (args, from_tty);
@@ -104,8 +129,8 @@ exec_close (void)
 /* This is the target_close implementation.  Clears all target
    sections and closes all executable bfds from all program spaces.  */
 
-static void
-exec_close_1 (struct target_ops *self)
+void
+exec_target::close ()
 {
   struct program_space *ss;
   scoped_restore_current_program_space restore_pspace;
@@ -118,17 +143,7 @@ exec_close_1 (struct target_ops *self)
     }
 }
 
-void
-exec_file_clear (int from_tty)
-{
-  /* Remove exec file.  */
-  exec_close ();
-
-  if (from_tty)
-    printf_unfiltered (_("No executable file now.\n"));
-}
-
-/* See exec.h.  */
+/* See gdbcore.h.  */
 
 void
 try_open_exec_file (const char *exec_file_host, struct inferior *inf,
@@ -191,8 +206,7 @@ try_open_exec_file (const char *exec_fil
 void
 exec_file_locate_attach (int pid, int defer_bp_reset, int from_tty)
 {
-  char *exec_file_target, *exec_file_host;
-  struct cleanup *old_chain;
+  char *exec_file_target;
   symfile_add_flags add_flags = 0;
 
   /* Do nothing if we already have an executable filename.  */
@@ -210,8 +224,8 @@ exec_file_locate_attach (int pid, int de
       return;
     }
 
-  exec_file_host = exec_file_find (exec_file_target, NULL);
-  old_chain = make_cleanup (xfree, exec_file_host);
+  gdb::unique_xmalloc_ptr<char> exec_file_host
+    = exec_file_find (exec_file_target, NULL);
 
   if (defer_bp_reset)
     add_flags |= SYMFILE_DEFER_BP_RESET;
@@ -220,8 +234,7 @@ exec_file_locate_attach (int pid, int de
     add_flags |= SYMFILE_VERBOSE;
 
   /* Attempt to open the exec file.  */
-  try_open_exec_file (exec_file_host, current_inferior (), add_flags);
-  do_cleanups (old_chain);
+  try_open_exec_file (exec_file_host.get (), current_inferior (), add_flags);
 }
 
 /* Set FILENAME as the new exec file.
@@ -247,7 +260,7 @@ exec_file_attach (const char *filename, 
   /* First, acquire a reference to the current exec_bfd.  We release
      this at the end of the function; but acquiring it now lets the
      BFD cache return it if this call refers to the same file.  */
-  gdb_bfd_ref_ptr exec_bfd_holder = new_bfd_ref (exec_bfd);
+  gdb_bfd_ref_ptr exec_bfd_holder = gdb_bfd_ref_ptr::new_reference (exec_bfd);
 
   /* Remove any previous exec file.  */
   exec_close ();
@@ -292,12 +305,10 @@ exec_file_attach (const char *filename, 
 	}
       else
 	{
-	  char *temp_pathname;
-
 	  scratch_chan = openp (getenv ("PATH"), OPF_TRY_CWD_FIRST,
 				filename, write_files ?
 				O_RDWR | O_BINARY : O_RDONLY | O_BINARY,
-				&temp_pathname);
+				&scratch_storage);
 #if defined(__GO32__) || defined(_WIN32) || defined(__CYGWIN__)
 	  if (scratch_chan < 0)
 	    {
@@ -308,14 +319,13 @@ exec_file_attach (const char *filename, 
 				    exename, write_files ?
 				    O_RDWR | O_BINARY
 				    : O_RDONLY | O_BINARY,
-				    &temp_pathname);
+				    &scratch_storage);
 	    }
 #endif
 	  if (scratch_chan < 0)
 	    perror_with_name (filename);
 
-	  scratch_storage.reset (temp_pathname);
-	  scratch_pathname = temp_pathname;
+	  scratch_pathname = scratch_storage.get ();
 
 	  /* gdb_bfd_open (and its variants) prefers canonicalized
 	     pathname for better BFD caching.  */
@@ -382,7 +392,7 @@ exec_file_attach (const char *filename, 
     }
 
   bfd_cache_close_all ();
-  observer_notify_executable_changed ();
+  gdb::observers::executable_changed.notify ();
 }
 
 /*  Process the first arg in ARGS as the new exec file.
@@ -850,19 +860,19 @@ section_table_xfer_memory_partial (gdb_b
   return TARGET_XFER_EOF;		/* We can't help.  */
 }
 
-static struct target_section_table *
-exec_get_section_table (struct target_ops *ops)
+struct target_section_table *
+exec_target::get_section_table ()
 {
   return current_target_sections;
 }
 
-static enum target_xfer_status
-exec_xfer_partial (struct target_ops *ops, enum target_object object,
-		   const char *annex, gdb_byte *readbuf,
-		   const gdb_byte *writebuf,
-		   ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+exec_target::xfer_partial (enum target_object object,
+			   const char *annex, gdb_byte *readbuf,
+			   const gdb_byte *writebuf,
+			   ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 {
-  struct target_section_table *table = target_get_section_table (ops);
+  struct target_section_table *table = get_section_table ();
 
   if (object == TARGET_OBJECT_MEMORY)
     return section_table_xfer_memory_partial (readbuf, writebuf,
@@ -944,8 +954,8 @@ print_section_info (struct target_sectio
     }
 }
 
-static void
-exec_files_info (struct target_ops *t)
+void
+exec_target::files_info ()
 {
   if (exec_bfd)
     print_section_info (current_target_sections, exec_bfd);
@@ -985,7 +995,7 @@ set_section_command (const char *args, i
 	  p->addr += offset;
 	  p->endaddr += offset;
 	  if (from_tty)
-	    exec_files_info (&exec_ops);
+	    exec_ops.files_info ();
 	  return;
 	}
     }
@@ -1017,29 +1027,8 @@ exec_set_section_address (const char *fi
     }
 }
 
-/* If mourn is being called in all the right places, this could be say
-   `gdb internal error' (since generic_mourn calls
-   breakpoint_init_inferior).  */
-
-static int
-ignore (struct target_ops *ops, struct gdbarch *gdbarch,
-	struct bp_target_info *bp_tgt)
-{
-  return 0;
-}
-
-/* Implement the to_remove_breakpoint method.  */
-
-static int
-exec_remove_breakpoint (struct target_ops *ops, struct gdbarch *gdbarch,
-			struct bp_target_info *bp_tgt,
-			enum remove_bp_reason reason)
-{
-  return 0;
-}
-
-static int
-exec_has_memory (struct target_ops *ops)
+bool
+exec_target::has_memory ()
 {
   /* We can provide memory if we have any file/target sections to read
      from.  */
@@ -1047,34 +1036,16 @@ exec_has_memory (struct target_ops *ops)
 	  != current_target_sections->sections_end);
 }
 
-static char *
-exec_make_note_section (struct target_ops *self, bfd *obfd, int *note_size)
+char *
+exec_target::make_corefile_notes (bfd *obfd, int *note_size)
 {
   error (_("Can't create a corefile"));
 }
 
-/* Fill in the exec file target vector.  Very few entries need to be
-   defined.  */
-
-static void
-init_exec_ops (void)
+int
+exec_target::find_memory_regions (find_memory_region_ftype func, void *data)
 {
-  exec_ops.to_shortname = "exec";
-  exec_ops.to_longname = "Local exec file";
-  exec_ops.to_doc = "Use an executable file as a target.\n\
-Specify the filename of the executable file.";
-  exec_ops.to_open = exec_open;
-  exec_ops.to_close = exec_close_1;
-  exec_ops.to_xfer_partial = exec_xfer_partial;
-  exec_ops.to_get_section_table = exec_get_section_table;
-  exec_ops.to_files_info = exec_files_info;
-  exec_ops.to_insert_breakpoint = ignore;
-  exec_ops.to_remove_breakpoint = exec_remove_breakpoint;
-  exec_ops.to_stratum = file_stratum;
-  exec_ops.to_has_memory = exec_has_memory;
-  exec_ops.to_make_corefile_notes = exec_make_note_section;
-  exec_ops.to_find_memory_regions = objfile_find_memory_regions;
-  exec_ops.to_magic = OPS_MAGIC;
+  return objfile_find_memory_regions (this, func, data);
 }
 
 void
@@ -1082,8 +1053,6 @@ _initialize_exec (void)
 {
   struct cmd_list_element *c;
 
-  init_exec_ops ();
-
   if (!dbx_commands)
     {
       c = add_cmd ("file", class_files, file_command, _("\
@@ -1117,5 +1086,5 @@ Show writing into executable and core fi
 			   show_write_files,
 			   &setlist, &showlist);
 
-  add_target_with_completer (&exec_ops, filename_completer);
+  add_target (exec_target_info, exec_target_open, filename_completer);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/expprint.c ./gdb/expprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/expprint.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/expprint.c	2018-07-10 02:06:13.000000000 +0000
@@ -86,7 +86,7 @@ print_subexp_standard (struct expression
     case OP_SCOPE:
       myprec = PREC_PREFIX;
       assoc = 0;
-      fputs_filtered (type_name_no_tag (exp->elts[pc + 1].type), stream);
+      fputs_filtered (TYPE_NAME (exp->elts[pc + 1].type), stream);
       fputs_filtered ("::", stream);
       nargs = longest_to_int (exp->elts[pc + 2].longconst);
       (*pos) += 4 + BYTES_TO_EXP_ELEM (nargs + 1);
@@ -186,6 +186,7 @@ print_subexp_standard (struct expression
       return;
 
     case OP_FUNCALL:
+    case OP_F77_UNDETERMINED_ARGLIST:
       (*pos) += 2;
       nargs = longest_to_int (exp->elts[pc + 1].longconst);
       print_subexp (exp, pos, stream, PREC_SUFFIX);
@@ -239,7 +240,7 @@ print_subexp_standard (struct expression
 
     case OP_OBJC_MSGCALL:
       {			/* Objective C message (method) call.  */
-	char *selector;
+	gdb::unique_xmalloc_ptr<char> selector;
 
 	(*pos) += 3;
 	nargs = longest_to_int (exp->elts[pc + 2].longconst);
@@ -255,8 +256,7 @@ print_subexp_standard (struct expression
 	  {
 	    char *s, *nextS;
 
-	    s = (char *) alloca (strlen (selector) + 1);
-	    strcpy (s, selector);
+	    s = selector.get ();
 	    for (tem = 0; tem < nargs; tem++)
 	      {
 		nextS = strchr (s, ':');
@@ -269,11 +269,9 @@ print_subexp_standard (struct expression
 	  }
 	else
 	  {
-	    fprintf_unfiltered (stream, " %s", selector);
+	    fprintf_unfiltered (stream, " %s", selector.get ());
 	  }
 	fprintf_unfiltered (stream, "]");
-	/* "selector" was malloc'd by target_read_string.  Free it.  */
-	xfree (selector);
 	return;
       }
 
@@ -580,9 +578,13 @@ print_subexp_standard (struct expression
 	  longest_to_int (exp->elts[pc + 1].longconst);
 	*pos += 2;
 
+	if (range_type == NONE_BOUND_DEFAULT_EXCLUSIVE
+	    || range_type == LOW_BOUND_DEFAULT_EXCLUSIVE)
+	  fputs_filtered ("EXCLUSIVE_", stream);
 	fputs_filtered ("RANGE(", stream);
 	if (range_type == HIGH_BOUND_DEFAULT
-	    || range_type == NONE_BOUND_DEFAULT)
+	    || range_type == NONE_BOUND_DEFAULT
+	    || range_type == NONE_BOUND_DEFAULT_EXCLUSIVE)
 	  print_subexp (exp, pos, stream, PREC_ABOVE_COMMA);
 	fputs_filtered ("..", stream);
 	if (range_type == LOW_BOUND_DEFAULT
@@ -848,6 +850,7 @@ dump_subexp_body_standard (struct expres
     case UNOP_PREDECREMENT:
     case UNOP_POSTDECREMENT:
     case UNOP_SIZEOF:
+    case UNOP_ALIGNOF:
     case UNOP_PLUS:
     case UNOP_CAP:
     case UNOP_CHR:
@@ -923,6 +926,7 @@ dump_subexp_body_standard (struct expres
       elt += 2;
       break;
     case OP_FUNCALL:
+    case OP_F77_UNDETERMINED_ARGLIST:
       {
 	int i, nargs;
 
@@ -1100,12 +1104,18 @@ dump_subexp_body_standard (struct expres
 	  case LOW_BOUND_DEFAULT:
 	    fputs_filtered ("Range '..EXP'", stream);
 	    break;
+	  case LOW_BOUND_DEFAULT_EXCLUSIVE:
+	    fputs_filtered ("ExclusiveRange '..EXP'", stream);
+	    break;
 	  case HIGH_BOUND_DEFAULT:
 	    fputs_filtered ("Range 'EXP..'", stream);
 	    break;
 	  case NONE_BOUND_DEFAULT:
 	    fputs_filtered ("Range 'EXP..EXP'", stream);
 	    break;
+	  case NONE_BOUND_DEFAULT_EXCLUSIVE:
+	    fputs_filtered ("ExclusiveRange 'EXP..EXP'", stream);
+	    break;
 	  default:
 	    fputs_filtered ("Invalid Range!", stream);
 	    break;
@@ -1123,7 +1133,6 @@ dump_subexp_body_standard (struct expres
     default:
     case OP_NULL:
     case MULTI_SUBSCRIPT:
-    case OP_F77_UNDETERMINED_ARGLIST:
     case OP_COMPLEX:
     case OP_BOOL:
     case OP_M2_STRING:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/expression.h ./gdb/expression.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/expression.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/expression.h	2018-07-10 02:06:13.000000000 +0000
@@ -101,8 +101,8 @@ extern expression_up parse_expression (c
 extern expression_up parse_expression_with_language (const char *string,
 						     enum language lang);
 
-extern struct type *parse_expression_for_completion (const char *, char **,
-						     enum type_code *);
+extern struct type *parse_expression_for_completion
+    (const char *, gdb::unique_xmalloc_ptr<char> *, enum type_code *);
 
 extern expression_up parse_exp_1 (const char **, CORE_ADDR pc,
 				  const struct block *, int);
@@ -111,11 +111,6 @@ extern expression_up parse_exp_1 (const 
    attempt completion.  */
 extern int parse_completion;
 
-/* The innermost context required by the stack and register variables
-   we've encountered so far.  To use this, set it to NULL, then call
-   parse_<whatever>, then look at it.  */
-extern const struct block *innermost_block;
-
 /* From eval.c */
 
 /* Values of NOSIDE argument to eval_subexp.  */
@@ -155,15 +150,26 @@ extern void dump_prefix_expression (stru
 
 /* In an OP_RANGE expression, either bound could be empty, indicating
    that its value is by default that of the corresponding bound of the
-   array or string.  So we have four sorts of subrange.  This
-   enumeration type is to identify this.  */
-   
+   array or string.  Also, the upper end of the range can be exclusive
+   or inclusive.  So we have six sorts of subrange.  This enumeration
+   type is to identify this.  */
+
 enum range_type
-  {
-    BOTH_BOUND_DEFAULT,		/* "(:)"  */
-    LOW_BOUND_DEFAULT,		/* "(:high)"  */
-    HIGH_BOUND_DEFAULT,		/* "(low:)"  */
-    NONE_BOUND_DEFAULT		/* "(low:high)"  */
-  };
+{
+  /* Neither the low nor the high bound was given -- so this refers to
+     the entire available range.  */
+  BOTH_BOUND_DEFAULT,
+  /* The low bound was not given and the high bound is inclusive.  */
+  LOW_BOUND_DEFAULT,
+  /* The high bound was not given and the low bound in inclusive.  */
+  HIGH_BOUND_DEFAULT,
+  /* Both bounds were given and both are inclusive.  */
+  NONE_BOUND_DEFAULT,
+  /* The low bound was not given and the high bound is exclusive.  */
+  NONE_BOUND_DEFAULT_EXCLUSIVE,
+  /* Both bounds were given.  The low bound is inclusive and the high
+     bound is exclusive.  */
+  LOW_BOUND_DEFAULT_EXCLUSIVE,
+};
 
 #endif /* !defined (EXPRESSION_H) */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/extension.c ./gdb/extension.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/extension.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/extension.c	2018-07-10 02:06:13.000000000 +0000
@@ -28,7 +28,7 @@
 #include "event-top.h"
 #include "extension.h"
 #include "extension-priv.h"
-#include "observer.h"
+#include "observable.h"
 #include "cli/cli-script.h"
 #include "python/python.h"
 #include "guile/guile.h"
@@ -405,21 +405,16 @@ auto_load_ext_lang_scripts_for_objfile (
    We don't know in advance which extension language will provide a
    pretty-printer for the type, so all are initialized.  */
 
-struct ext_lang_type_printers *
-start_ext_lang_type_printers (void)
+ext_lang_type_printers::ext_lang_type_printers ()
 {
-  struct ext_lang_type_printers *printers
-    = XCNEW (struct ext_lang_type_printers);
   int i;
   const struct extension_language_defn *extlang;
 
   ALL_ENABLED_EXTENSION_LANGUAGES (i, extlang)
     {
       if (extlang->ops->start_type_printers != NULL)
-	extlang->ops->start_type_printers (extlang, printers);
+	extlang->ops->start_type_printers (extlang, this);
     }
-
-  return printers;
 }
 
 /* Iteratively try the type pretty-printers specified by PRINTERS
@@ -460,11 +455,7 @@ apply_ext_lang_type_printers (struct ext
   return NULL;
 }
 
-/* Call this after pretty-printing a type to release all memory held
-   by PRINTERS.  */
-
-void
-free_ext_lang_type_printers (struct ext_lang_type_printers *printers)
+ext_lang_type_printers::~ext_lang_type_printers ()
 {
   int i;
   const struct extension_language_defn *extlang;
@@ -472,10 +463,8 @@ free_ext_lang_type_printers (struct ext_
   ALL_ENABLED_EXTENSION_LANGUAGES (i, extlang)
     {
       if (extlang->ops->free_type_printers != NULL)
-	extlang->ops->free_type_printers (extlang, printers);
+	extlang->ops->free_type_printers (extlang, this);
     }
-
-  xfree (printers);
 }
 
 /* Try to pretty-print a value of type TYPE located at VAL's contents
@@ -553,7 +542,8 @@ apply_ext_lang_val_pretty_printer (struc
    rather than trying filters in other extension languages.  */
 
 enum ext_lang_bt_status
-apply_ext_lang_frame_filter (struct frame_info *frame, int flags,
+apply_ext_lang_frame_filter (struct frame_info *frame,
+			     frame_filter_flags flags,
 			     enum ext_lang_frame_args args_type,
 			     struct ui_out *out,
 			     int frame_low, int frame_high)
@@ -850,68 +840,18 @@ check_quit_flag (void)
 
   return result;
 }
-
-/* xmethod support.  */
-
-/* The xmethod API routines do not have "ext_lang" in the name because
-   the name "xmethod" implies that this routine deals with extension
-   languages.  Plus some of the methods take a xmethod_foo * "self/this"
-   arg, not an extension_language_defn * arg.  */
-
-/* Returns a new xmethod_worker with EXTLANG and DATA.  Space for the
-   result must be freed with free_xmethod_worker.  */
-
-struct xmethod_worker *
-new_xmethod_worker (const struct extension_language_defn *extlang, void *data)
-{
-  struct xmethod_worker *worker = XCNEW (struct xmethod_worker);
-
-  worker->extlang = extlang;
-  worker->data = data;
-  worker->value = NULL;
-
-  return worker;
-}
 
-/* Clones WORKER and returns a new but identical worker.
-   The function get_matching_xmethod_workers (see below), returns a
-   vector of matching workers.  If a particular worker is selected by GDB
-   to invoke a method, then this function can help in cloning the
-   selected worker and freeing up the vector via a cleanup.
+/* See extension.h.  */
 
-   Space for the result must be freed with free_xmethod_worker.  */
-
-struct xmethod_worker *
-clone_xmethod_worker (struct xmethod_worker *worker)
-{
-  struct xmethod_worker *new_worker;
-  const struct extension_language_defn *extlang = worker->extlang;
-
-  gdb_assert (extlang->ops->clone_xmethod_worker_data != NULL);
-
-  new_worker = new_xmethod_worker
-    (extlang,
-     extlang->ops->clone_xmethod_worker_data (extlang, worker->data));
-
-  return new_worker;
-}
-
-/* If a method with name METHOD_NAME is to be invoked on an object of type
-   TYPE, then all entension languages are searched for implementations of
-   methods with name METHOD.  All matches found are returned as a vector
-   of 'xmethod_worker_ptr' objects.  If no matching methods are
-   found, NULL is returned.  */
-
-VEC (xmethod_worker_ptr) *
-get_matching_xmethod_workers (struct type *type, const char *method_name)
+void
+get_matching_xmethod_workers (struct type *type, const char *method_name,
+			      std::vector<xmethod_worker_up> *workers)
 {
-  VEC (xmethod_worker_ptr) *workers = NULL;
   int i;
   const struct extension_language_defn *extlang;
 
   ALL_ENABLED_EXTENSION_LANGUAGES (i, extlang)
     {
-      VEC (xmethod_worker_ptr) *lang_workers, *new_vec;
       enum ext_lang_rc rc;
 
       /* If an extension language does not support xmethods, ignore
@@ -921,115 +861,45 @@ get_matching_xmethod_workers (struct typ
 
       rc = extlang->ops->get_matching_xmethod_workers (extlang,
 						       type, method_name,
-						       &lang_workers);
+						       workers);
       if (rc == EXT_LANG_RC_ERROR)
-	{
-	  free_xmethod_worker_vec (workers);
-	  error (_("Error while looking for matching xmethod workers "
-		   "defined in %s."), extlang->capitalized_name);
-	}
-
-      new_vec = VEC_merge (xmethod_worker_ptr, workers, lang_workers);
-      /* Free only the vectors and not the elements as NEW_VEC still
-	 contains them.  */
-      VEC_free (xmethod_worker_ptr, workers);
-      VEC_free (xmethod_worker_ptr, lang_workers);
-      workers = new_vec;
+	error (_("Error while looking for matching xmethod workers "
+		 "defined in %s."), extlang->capitalized_name);
     }
-
-  return workers;
 }
 
-/* Return the arg types of the xmethod encapsulated in WORKER.
-   An array of arg types is returned.  The length of the array is returned in
-   NARGS.  The type of the 'this' object is returned as the first element of
-   array.  */
+/* See extension.h.  */
 
-struct type **
-get_xmethod_arg_types (struct xmethod_worker *worker, int *nargs)
+type **
+xmethod_worker::get_arg_types (int *nargs)
 {
-  enum ext_lang_rc rc;
-  struct type **type_array = NULL;
-  const struct extension_language_defn *extlang = worker->extlang;
-
-  gdb_assert (extlang->ops->get_xmethod_arg_types != NULL);
+  type **type_array = NULL;
 
-  rc = extlang->ops->get_xmethod_arg_types (extlang, worker, nargs,
-					    &type_array);
+  ext_lang_rc rc = do_get_arg_types (nargs, &type_array);
   if (rc == EXT_LANG_RC_ERROR)
-    {
-      error (_("Error while looking for arg types of a xmethod worker "
-	       "defined in %s."), extlang->capitalized_name);
-    }
+    error (_("Error while looking for arg types of a xmethod worker "
+	     "defined in %s."), m_extlang->capitalized_name);
 
   return type_array;
 }
 
-/* Return the type of the result of the xmethod encapsulated in WORKER.
-   OBJECT, ARGS, NARGS are the same as for invoke_xmethod.  */
+/* See extension.h.  */
 
 struct type *
-get_xmethod_result_type (struct xmethod_worker *worker,
-			 struct value *object, struct value **args, int nargs)
+xmethod_worker::get_result_type (value *object, value **args, int nargs)
 {
-  enum ext_lang_rc rc;
-  struct type *result_type;
-  const struct extension_language_defn *extlang = worker->extlang;
-
-  gdb_assert (extlang->ops->get_xmethod_arg_types != NULL);
-
-  rc = extlang->ops->get_xmethod_result_type (extlang, worker,
-					      object, args, nargs,
-					      &result_type);
+  type *result_type;
+
+  ext_lang_rc rc = do_get_result_type (object, args, nargs, &result_type);
   if (rc == EXT_LANG_RC_ERROR)
     {
       error (_("Error while fetching result type of an xmethod worker "
-	       "defined in %s."), extlang->capitalized_name);
+	       "defined in %s."), m_extlang->capitalized_name);
     }
 
   return result_type;
 }
 
-/* Invokes the xmethod encapsulated in WORKER and returns the result.
-   The method is invoked on OBJ with arguments in the ARGS array.  NARGS is
-   the length of the this array.  */
-
-struct value *
-invoke_xmethod (struct xmethod_worker *worker, struct value *obj,
-		     struct value **args, int nargs)
-{
-  gdb_assert (worker->extlang->ops->invoke_xmethod != NULL);
-
-  return worker->extlang->ops->invoke_xmethod (worker->extlang, worker,
-					       obj, args, nargs);
-}
-
-/* Frees the xmethod worker WORKER.  */
-
-void
-free_xmethod_worker (struct xmethod_worker *worker)
-{
-  gdb_assert (worker->extlang->ops->free_xmethod_worker_data != NULL);
-  worker->extlang->ops->free_xmethod_worker_data (worker->extlang,
-						  worker->data);
-  xfree (worker);
-}
-
-/* Frees a vector of xmethod_workers VEC.  */
-
-void
-free_xmethod_worker_vec (void *vec)
-{
-  int i;
-  struct xmethod_worker *worker;
-  VEC (xmethod_worker_ptr) *v = (VEC (xmethod_worker_ptr) *) vec;
-
-  for (i = 0; VEC_iterate (xmethod_worker_ptr, v, i, worker); i++)
-    free_xmethod_worker (worker);
-
-  VEC_free (xmethod_worker_ptr, v);
-}
-
 /* Called via an observer before gdb prints its prompt.
    Iterate over the extension languages giving them a chance to
    change the prompt.  The first one to change the prompt wins,
@@ -1064,5 +934,5 @@ ext_lang_before_prompt (const char *curr
 void
 _initialize_extension (void)
 {
-  observer_attach_before_prompt (ext_lang_before_prompt);
+  gdb::observers::before_prompt.attach (ext_lang_before_prompt);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/extension.h ./gdb/extension.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/extension.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/extension.h	2018-07-10 02:06:13.000000000 +0000
@@ -76,32 +76,36 @@ enum ext_lang_bt_status
        succeeded.  */
     EXT_LANG_BT_OK = 1,
 
-    /* Return when the frame filter process is complete, and all
-       operations have succeeded.  */
-    EXT_LANG_BT_COMPLETED = 2,
-
     /* Return when the frame filter process is complete, but there
        were no filter registered and enabled to process.  */
-    EXT_LANG_BT_NO_FILTERS = 3
+    EXT_LANG_BT_NO_FILTERS = 2
   };
 
 /* Flags to pass to apply_extlang_frame_filter.  */
 
-enum frame_filter_flags
+enum frame_filter_flag
   {
     /* Set this flag if frame level is to be printed.  */
-    PRINT_LEVEL = 1,
+    PRINT_LEVEL = 1 << 0,
 
     /* Set this flag if frame information is to be printed.  */
-    PRINT_FRAME_INFO = 2,
+    PRINT_FRAME_INFO = 1 << 1,
 
     /* Set this flag if frame arguments are to be printed.  */
-    PRINT_ARGS = 4,
+    PRINT_ARGS = 1 << 2,
 
     /* Set this flag if frame locals are to be printed.  */
-    PRINT_LOCALS = 8,
+    PRINT_LOCALS = 1 << 3,
+
+    /* Set this flag if a "More frames" message is to be printed.  */
+    PRINT_MORE_FRAMES = 1 << 4,
+
+    /* Set this flag if elided frames should not be printed.  */
+    PRINT_HIDE = 1 << 5,
   };
 
+DEF_ENUM_FLAGS_TYPE (enum frame_filter_flag, frame_filter_flags);
+
 /* A choice of the different frame argument printing strategies that
    can occur in different cases of frame filter instantiation.  */
 
@@ -142,30 +146,87 @@ enum ext_lang_bp_stop
 
 struct ext_lang_type_printers
 {
+  ext_lang_type_printers ();
+  ~ext_lang_type_printers ();
+
+  DISABLE_COPY_AND_ASSIGN (ext_lang_type_printers);
+
   /* Type-printers from Python.  */
-  void *py_type_printers;
+  void *py_type_printers = nullptr;
+};
+
+/* The return code for some API calls.  */
+
+enum ext_lang_rc
+{
+  /* The operation completed successfully.  */
+  EXT_LANG_RC_OK,
+
+  /* The operation was not performed (e.g., no pretty-printer).  */
+  EXT_LANG_RC_NOP,
+
+  /* There was an error (e.g., Python error while printing a value).
+     When an error occurs no further extension languages are tried.
+     This is to preserve existing behaviour, and because it's convenient
+     for Python developers.
+     Note: This is different than encountering a memory error trying to read
+     a value for pretty-printing.  Here we're referring to, e.g., programming
+     errors that trigger an exception in the extension language.  */
+  EXT_LANG_RC_ERROR
 };
 
 /* A type which holds its extension language specific xmethod worker data.  */
 
 struct xmethod_worker
 {
-  /* The language the xmethod worker is implemented in.  */
-  const struct extension_language_defn *extlang;
+  xmethod_worker (const extension_language_defn *extlang)
+  : m_extlang (extlang)
+  {}
+
+  virtual ~xmethod_worker () = default;
+
+  /* Invoke the xmethod encapsulated in this worker and return the result.
+     The method is invoked on OBJ with arguments in the ARGS array.  NARGS is
+     the length of the this array.  */
+
+  virtual value *invoke (value *obj, value **args, int nargs) = 0;
+
+  /* Return the arg types of the xmethod encapsulated in this worker.
+     An array of arg types is returned.  The length of the array is returned in
+     NARGS.  The type of the 'this' object is returned as the first element of
+     array.  */
+
+  type **get_arg_types (int *nargs);
 
-  /* The extension language specific data for this xmethod worker.  */
-  void *data;
+  /* Return the type of the result of the xmethod encapsulated in this worker.
+     OBJECT, ARGS, NARGS are the same as for invoke.  */
 
-  /* The TYPE_CODE_XMETHOD value corresponding to this worker.
-     Always use value_of_xmethod to access it.  */
-  struct value *value;
+  type *get_result_type (value *object, value **args, int nargs);
+
+private:
+
+  /* Return the types of the arguments the method takes.  The number of
+     arguments is returned in NARGS, and their types are returned in the array
+     ARGTYPES.  */
+
+  virtual enum ext_lang_rc do_get_arg_types
+    (int *nargs, struct type ***arg_types) = 0;
+
+  /* Fetch the type of the result of the method implemented by this worker.
+     OBJECT, ARGS, NARGS are the same as for the invoked method.  The result
+     type is stored in *RESULT_TYPE.  */
+
+  virtual enum ext_lang_rc do_get_result_type
+    (struct value *obj, struct value **args, int nargs,
+     struct type **result_type_ptr) = 0;
+
+  /* The language the xmethod worker is implemented in.  */
+
+  const extension_language_defn *m_extlang;
 };
 
-typedef struct xmethod_worker *xmethod_worker_ptr;
-DEF_VEC_P (xmethod_worker_ptr);
-typedef VEC (xmethod_worker_ptr) xmethod_worker_vec;
+typedef std::unique_ptr<xmethod_worker> xmethod_worker_up;
 
-
 /* The interface for gdb's own extension(/scripting) language.  */
 extern const struct extension_language_defn extension_language_gdb;
 
@@ -217,13 +278,9 @@ extern void eval_ext_lang_from_control_c
 
 extern void auto_load_ext_lang_scripts_for_objfile (struct objfile *);
 
-extern struct ext_lang_type_printers *start_ext_lang_type_printers (void);
-
 extern char *apply_ext_lang_type_printers (struct ext_lang_type_printers *,
 					   struct type *);
 
-extern void free_ext_lang_type_printers (struct ext_lang_type_printers *);
-
 extern int apply_ext_lang_val_pretty_printer
   (struct type *type,
    LONGEST embedded_offset, CORE_ADDR address,
@@ -232,7 +289,8 @@ extern int apply_ext_lang_val_pretty_pri
    const struct language_defn *language);
 
 extern enum ext_lang_bt_status apply_ext_lang_frame_filter
-  (struct frame_info *frame, int flags, enum ext_lang_frame_args args_type,
+  (struct frame_info *frame, frame_filter_flags flags,
+   enum ext_lang_frame_args args_type,
    struct ui_out *out, int frame_low, int frame_high);
 
 extern void preserve_ext_lang_values (struct objfile *, htab_t copied_types);
@@ -242,26 +300,13 @@ extern const struct extension_language_d
 
 extern int breakpoint_ext_lang_cond_says_stop (struct breakpoint *);
 
-extern struct value *invoke_xmethod (struct xmethod_worker *,
-				     struct value *,
-				     struct value **, int nargs);
-
-extern struct xmethod_worker *clone_xmethod_worker (struct xmethod_worker *);
-
-extern struct xmethod_worker *new_xmethod_worker
-  (const struct extension_language_defn *extlang, void *data);
-
-extern void free_xmethod_worker (struct xmethod_worker *);
-
-extern void free_xmethod_worker_vec (void *vec);
-
-extern xmethod_worker_vec *get_matching_xmethod_workers
-  (struct type *, const char *);
-
-extern struct type **get_xmethod_arg_types (struct xmethod_worker *, int *);
-
-extern struct type *get_xmethod_result_type (struct xmethod_worker *,
-					     struct value *object,
-					     struct value **args, int nargs);
+/* If a method with name METHOD_NAME is to be invoked on an object of type
+   TYPE, then all extension languages are searched for implementations of
+   methods with name METHOD_NAME.  All matches found are appended to the WORKERS
+   vector.  */
+
+extern void get_matching_xmethod_workers
+  (struct type *type, const char *method_name,
+   std::vector<xmethod_worker_up> *workers);
 
 #endif /* EXTENSION_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/extension-priv.h ./gdb/extension-priv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/extension-priv.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/extension-priv.h	2018-07-10 02:06:13.000000000 +0000
@@ -25,26 +25,6 @@
 #include <signal.h>
 #include "cli/cli-script.h"
 
-/* The return code for some API calls.  */
-
-enum ext_lang_rc
-  {
-    /* The operation completed successfully.  */
-    EXT_LANG_RC_OK,
-
-    /* The operation was not performed (e.g., no pretty-printer).  */
-    EXT_LANG_RC_NOP,
-
-    /* There was an error (e.g., Python error while printing a value).
-       When an error occurs no further extension languages are tried.
-       This is to preserve existing behaviour, and because it's convenient
-       for Python developers.
-       Note: This is different than encountering a memory error trying to read
-       a value for pretty-printing.  Here we're referring to, e.g., programming
-       errors that trigger an exception in the extension language.  */
-    EXT_LANG_RC_ERROR
-  };
-
 /* High level description of an extension/scripting language.
    An entry for each is compiled into GDB regardless of whether the support
    is present.  This is done so that we can issue meaningful errors if the
@@ -203,7 +183,8 @@ struct extension_language_ops
      or SCR_BT_COMPLETED on success.  */
   enum ext_lang_bt_status (*apply_frame_filter)
     (const struct extension_language_defn *,
-     struct frame_info *frame, int flags, enum ext_lang_frame_args args_type,
+     struct frame_info *frame, frame_filter_flags flags,
+     enum ext_lang_frame_args args_type,
      struct ui_out *out, int frame_low, int frame_high);
 
   /* Update values held by the extension language when OBJFILE is discarded.
@@ -261,63 +242,18 @@ struct extension_language_ops
   enum ext_lang_rc (*before_prompt) (const struct extension_language_defn *,
 				     const char *current_gdb_prompt);
 
-  /* xmethod support:
-     clone_xmethod_worker_data, free_xmethod_worker_data,
-     get_matching_xmethod_workers, get_xmethod_arg_types,
-     get_xmethod_return_type, invoke_xmethod.
-     These methods are optional and may be NULL, but if one of them is
-     implemented then they all must be.  */
-
-  /* Clone DATA and return a new but identical xmethod worker data
-     object for this extension language.  */
-  void * (*clone_xmethod_worker_data)
-    (const struct extension_language_defn *extlang, void *data);
-
-  /* Free the DATA object of this extension language.  */
-  void (*free_xmethod_worker_data)
-    (const struct extension_language_defn *extlang, void *data);
-
   /* Return a vector of matching xmethod workers defined in this
      extension language.  The workers service methods with name
      METHOD_NAME on objects of type OBJ_TYPE.  The vector is returned
-     in DM_VEC.  */
+     in DM_VEC.
+
+     This field may be NULL if the extension language does not support
+     xmethods.  */
   enum ext_lang_rc (*get_matching_xmethod_workers)
     (const struct extension_language_defn *extlang,
      struct type *obj_type,
      const char *method_name,
-     xmethod_worker_vec **dm_vec);
-
-  /* Given a WORKER servicing a particular method, return the types
-     of the arguments the method takes.  The number of arguments is
-     returned in NARGS, and their types are returned in the array
-     ARGTYPES.  */
-  enum ext_lang_rc (*get_xmethod_arg_types)
-    (const struct extension_language_defn *extlang,
-     struct xmethod_worker *worker,
-     int *nargs,
-     struct type ***arg_types);
-
-  /* Given a WORKER servicing a particular method, fetch the type of the
-     result of the method.  OBJECT, ARGS, NARGS are the same as for
-     invoke_xmethod.  The result type is stored in *RESULT_TYPE.
-     For backward compatibility with 7.9, which did not support getting the
-     result type, if the get_result_type operation is not provided by WORKER
-     then EXT_LANG_RC_OK is returned and NULL is returned in *RESULT_TYPE.  */
-  enum ext_lang_rc (*get_xmethod_result_type)
-    (const struct extension_language_defn *extlang,
-     struct xmethod_worker *worker,
-     struct value *object, struct value **args, int nargs,
-     struct type **result_type);
-
-  /* Invoke the xmethod serviced by WORKER.  The xmethod is invoked
-     on OBJECT with arguments in the array ARGS.  NARGS is the length of
-     this array.  Returns the value returned by the xmethod.  */
-  struct value * (*invoke_xmethod)
-    (const struct extension_language_defn *extlang,
-     struct xmethod_worker *worker,
-     struct value *object,
-     struct value **args,
-     int nargs);
+     std::vector<xmethod_worker_up> *dm_vec);
 };
 
 /* State necessary to restore a signal handler to its previous value.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/fbsd-nat.c ./gdb/fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/fbsd-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/fbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -26,28 +26,31 @@
 #include "gdbcmd.h"
 #include "gdbthread.h"
 #include "gdb_wait.h"
+#include "inf-ptrace.h"
 #include <sys/types.h>
 #include <sys/procfs.h>
 #include <sys/ptrace.h>
 #include <sys/signal.h>
 #include <sys/sysctl.h>
 #include <sys/user.h>
-#ifdef HAVE_KINFO_GETVMMAP
+#if defined(HAVE_KINFO_GETFILE) || defined(HAVE_KINFO_GETVMMAP)
 #include <libutil.h>
-#else
+#endif
+#if !defined(HAVE_KINFO_GETVMMAP)
 #include "filestuff.h"
 #endif
 
 #include "elf-bfd.h"
 #include "fbsd-nat.h"
+#include "fbsd-tdep.h"
 
 #include <list>
 
 /* Return the name of a file that can be opened to get the symbols for
    the child process identified by PID.  */
 
-static char *
-fbsd_pid_to_exec_file (struct target_ops *self, int pid)
+char *
+fbsd_nat_target::pid_to_exec_file (int pid)
 {
   ssize_t len;
   static char buf[PATH_MAX];
@@ -63,7 +66,10 @@ fbsd_pid_to_exec_file (struct target_ops
   mib[3] = pid;
   buflen = sizeof buf;
   if (sysctl (mib, 4, buf, &buflen, NULL, 0) == 0)
-    return buf;
+    /* The kern.proc.pathname.<pid> sysctl returns a length of zero
+       for processes without an associated executable such as kernel
+       processes.  */
+    return buflen == 0 ? NULL : buf;
 #endif
 
   xsnprintf (name, PATH_MAX, "/proc/%d/exe", pid);
@@ -78,28 +84,20 @@ fbsd_pid_to_exec_file (struct target_ops
 }
 
 #ifdef HAVE_KINFO_GETVMMAP
-/* Deleter for std::unique_ptr that invokes free.  */
-
-template <typename T>
-struct free_deleter
-{
-  void operator() (T *ptr) const { free (ptr); }
-};
-
 /* Iterate over all the memory regions in the current inferior,
    calling FUNC for each memory region.  OBFD is passed as the last
    argument to FUNC.  */
 
-static int
-fbsd_find_memory_regions (struct target_ops *self,
-			  find_memory_region_ftype func, void *obfd)
+int
+fbsd_nat_target::find_memory_regions (find_memory_region_ftype func,
+				      void *obfd)
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
+  pid_t pid = inferior_ptid.pid ();
   struct kinfo_vmentry *kve;
   uint64_t size;
   int i, nitems;
 
-  std::unique_ptr<struct kinfo_vmentry, free_deleter<struct kinfo_vmentry>>
+  gdb::unique_xmalloc_ptr<struct kinfo_vmentry>
     vmentl (kinfo_getvmmap (pid, &nitems));
   if (vmentl == NULL)
     perror_with_name (_("Couldn't fetch VM map entries."));
@@ -164,11 +162,11 @@ fbsd_read_mapping (FILE *mapfile, unsign
    calling FUNC for each memory region.  OBFD is passed as the last
    argument to FUNC.  */
 
-static int
-fbsd_find_memory_regions (struct target_ops *self,
-			  find_memory_region_ftype func, void *obfd)
+int
+fbsd_nat_target::find_memory_regions (find_memory_region_ftype func,
+				      void *obfd)
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
+  pid_t pid = inferior_ptid.pid ();
   unsigned long start, end, size;
   char protection[4];
   int read, write, exec;
@@ -210,15 +208,333 @@ fbsd_find_memory_regions (struct target_
 }
 #endif
 
+/* Fetch the command line for a running process.  */
+
+static gdb::unique_xmalloc_ptr<char>
+fbsd_fetch_cmdline (pid_t pid)
+{
+  size_t len;
+  int mib[4];
+
+  len = 0;
+  mib[0] = CTL_KERN;
+  mib[1] = KERN_PROC;
+  mib[2] = KERN_PROC_ARGS;
+  mib[3] = pid;
+  if (sysctl (mib, 4, NULL, &len, NULL, 0) == -1)
+    return nullptr;
+
+  if (len == 0)
+    return nullptr;
+
+  gdb::unique_xmalloc_ptr<char> cmdline ((char *) xmalloc (len));
+  if (sysctl (mib, 4, cmdline.get (), &len, NULL, 0) == -1)
+    return nullptr;
+
+  return cmdline;
+}
+
+/* Fetch the external variant of the kernel's internal process
+   structure for the process PID into KP.  */
+
+static bool
+fbsd_fetch_kinfo_proc (pid_t pid, struct kinfo_proc *kp)
+{
+  size_t len;
+  int mib[4];
+
+  len = sizeof *kp;
+  mib[0] = CTL_KERN;
+  mib[1] = KERN_PROC;
+  mib[2] = KERN_PROC_PID;
+  mib[3] = pid;
+  return (sysctl (mib, 4, kp, &len, NULL, 0) == 0);
+}
+
+/* Implement the "info_proc" target_ops method.  */
+
+bool
+fbsd_nat_target::info_proc (const char *args, enum info_proc_what what)
+{
+#ifdef HAVE_KINFO_GETFILE
+  gdb::unique_xmalloc_ptr<struct kinfo_file> fdtbl;
+  int nfd = 0;
+#endif
+  struct kinfo_proc kp;
+  char *tmp;
+  pid_t pid;
+  bool do_cmdline = false;
+  bool do_cwd = false;
+  bool do_exe = false;
+#ifdef HAVE_KINFO_GETVMMAP
+  bool do_mappings = false;
+#endif
+  bool do_status = false;
+
+  switch (what)
+    {
+    case IP_MINIMAL:
+      do_cmdline = true;
+      do_cwd = true;
+      do_exe = true;
+      break;
+#ifdef HAVE_KINFO_GETVMMAP
+    case IP_MAPPINGS:
+      do_mappings = true;
+      break;
+#endif
+    case IP_STATUS:
+    case IP_STAT:
+      do_status = true;
+      break;
+    case IP_CMDLINE:
+      do_cmdline = true;
+      break;
+    case IP_EXE:
+      do_exe = true;
+      break;
+    case IP_CWD:
+      do_cwd = true;
+      break;
+    case IP_ALL:
+      do_cmdline = true;
+      do_cwd = true;
+      do_exe = true;
+#ifdef HAVE_KINFO_GETVMMAP
+      do_mappings = true;
+#endif
+      do_status = true;
+      break;
+    default:
+      error (_("Not supported on this target."));
+    }
+
+  gdb_argv built_argv (args);
+  if (built_argv.count () == 0)
+    {
+      pid = inferior_ptid.pid ();
+      if (pid == 0)
+	error (_("No current process: you must name one."));
+    }
+  else if (built_argv.count () == 1 && isdigit (built_argv[0][0]))
+    pid = strtol (built_argv[0], NULL, 10);
+  else
+    error (_("Invalid arguments."));
+
+  printf_filtered (_("process %d\n"), pid);
+#ifdef HAVE_KINFO_GETFILE
+  if (do_cwd || do_exe)
+    fdtbl.reset (kinfo_getfile (pid, &nfd));
+#endif
+
+  if (do_cmdline)
+    {
+      gdb::unique_xmalloc_ptr<char> cmdline = fbsd_fetch_cmdline (pid);
+      if (cmdline != nullptr)
+	printf_filtered ("cmdline = '%s'\n", cmdline.get ());
+      else
+	warning (_("unable to fetch command line"));
+    }
+  if (do_cwd)
+    {
+      const char *cwd = NULL;
+#ifdef HAVE_KINFO_GETFILE
+      struct kinfo_file *kf = fdtbl.get ();
+      for (int i = 0; i < nfd; i++, kf++)
+	{
+	  if (kf->kf_type == KF_TYPE_VNODE && kf->kf_fd == KF_FD_TYPE_CWD)
+	    {
+	      cwd = kf->kf_path;
+	      break;
+	    }
+	}
+#endif
+      if (cwd != NULL)
+	printf_filtered ("cwd = '%s'\n", cwd);
+      else
+	warning (_("unable to fetch current working directory"));
+    }
+  if (do_exe)
+    {
+      const char *exe = NULL;
+#ifdef HAVE_KINFO_GETFILE
+      struct kinfo_file *kf = fdtbl.get ();
+      for (int i = 0; i < nfd; i++, kf++)
+	{
+	  if (kf->kf_type == KF_TYPE_VNODE && kf->kf_fd == KF_FD_TYPE_TEXT)
+	    {
+	      exe = kf->kf_path;
+	      break;
+	    }
+	}
+#endif
+      if (exe == NULL)
+	exe = pid_to_exec_file (pid);
+      if (exe != NULL)
+	printf_filtered ("exe = '%s'\n", exe);
+      else
+	warning (_("unable to fetch executable path name"));
+    }
+#ifdef HAVE_KINFO_GETVMMAP
+  if (do_mappings)
+    {
+      int nvment;
+      gdb::unique_xmalloc_ptr<struct kinfo_vmentry>
+	vmentl (kinfo_getvmmap (pid, &nvment));
+
+      if (vmentl != nullptr)
+	{
+	  printf_filtered (_("Mapped address spaces:\n\n"));
+#ifdef __LP64__
+	  printf_filtered ("  %18s %18s %10s %10s %9s %s\n",
+			   "Start Addr",
+			   "  End Addr",
+			   "      Size", "    Offset", "Flags  ", "File");
+#else
+	  printf_filtered ("\t%10s %10s %10s %10s %9s %s\n",
+			   "Start Addr",
+			   "  End Addr",
+			   "      Size", "    Offset", "Flags  ", "File");
+#endif
+
+	  struct kinfo_vmentry *kve = vmentl.get ();
+	  for (int i = 0; i < nvment; i++, kve++)
+	    {
+	      ULONGEST start, end;
+
+	      start = kve->kve_start;
+	      end = kve->kve_end;
+#ifdef __LP64__
+	      printf_filtered ("  %18s %18s %10s %10s %9s %s\n",
+			       hex_string (start),
+			       hex_string (end),
+			       hex_string (end - start),
+			       hex_string (kve->kve_offset),
+			       fbsd_vm_map_entry_flags (kve->kve_flags,
+							kve->kve_protection),
+			       kve->kve_path);
+#else
+	      printf_filtered ("\t%10s %10s %10s %10s %9s %s\n",
+			       hex_string (start),
+			       hex_string (end),
+			       hex_string (end - start),
+			       hex_string (kve->kve_offset),
+			       fbsd_vm_map_entry_flags (kve->kve_flags,
+							kve->kve_protection),
+			       kve->kve_path);
+#endif
+	    }
+	}
+      else
+	warning (_("unable to fetch virtual memory map"));
+    }
+#endif
+  if (do_status)
+    {
+      if (!fbsd_fetch_kinfo_proc (pid, &kp))
+	warning (_("Failed to fetch process information"));
+      else
+	{
+	  const char *state;
+	  int pgtok;
+
+	  printf_filtered ("Name: %s\n", kp.ki_comm);
+	  switch (kp.ki_stat)
+	    {
+	    case SIDL:
+	      state = "I (idle)";
+	      break;
+	    case SRUN:
+	      state = "R (running)";
+	      break;
+	    case SSTOP:
+	      state = "T (stopped)";
+	      break;
+	    case SZOMB:
+	      state = "Z (zombie)";
+	      break;
+	    case SSLEEP:
+	      state = "S (sleeping)";
+	      break;
+	    case SWAIT:
+	      state = "W (interrupt wait)";
+	      break;
+	    case SLOCK:
+	      state = "L (blocked on lock)";
+	      break;
+	    default:
+	      state = "? (unknown)";
+	      break;
+	    }
+	  printf_filtered ("State: %s\n", state);
+	  printf_filtered ("Parent process: %d\n", kp.ki_ppid);
+	  printf_filtered ("Process group: %d\n", kp.ki_pgid);
+	  printf_filtered ("Session id: %d\n", kp.ki_sid);
+	  printf_filtered ("TTY: %ju\n", (uintmax_t) kp.ki_tdev);
+	  printf_filtered ("TTY owner process group: %d\n", kp.ki_tpgid);
+	  printf_filtered ("User IDs (real, effective, saved): %d %d %d\n",
+			   kp.ki_ruid, kp.ki_uid, kp.ki_svuid);
+	  printf_filtered ("Group IDs (real, effective, saved): %d %d %d\n",
+			   kp.ki_rgid, kp.ki_groups[0], kp.ki_svgid);
+	  printf_filtered ("Groups: ");
+	  for (int i = 0; i < kp.ki_ngroups; i++)
+	    printf_filtered ("%d ", kp.ki_groups[i]);
+	  printf_filtered ("\n");
+	  printf_filtered ("Minor faults (no memory page): %ld\n",
+			   kp.ki_rusage.ru_minflt);
+	  printf_filtered ("Minor faults, children: %ld\n",
+			   kp.ki_rusage_ch.ru_minflt);
+	  printf_filtered ("Major faults (memory page faults): %ld\n",
+			   kp.ki_rusage.ru_majflt);
+	  printf_filtered ("Major faults, children: %ld\n",
+			   kp.ki_rusage_ch.ru_majflt);
+	  printf_filtered ("utime: %jd.%06ld\n",
+			   (intmax_t) kp.ki_rusage.ru_utime.tv_sec,
+			   kp.ki_rusage.ru_utime.tv_usec);
+	  printf_filtered ("stime: %jd.%06ld\n",
+			   (intmax_t) kp.ki_rusage.ru_stime.tv_sec,
+			   kp.ki_rusage.ru_stime.tv_usec);
+	  printf_filtered ("utime, children: %jd.%06ld\n",
+			   (intmax_t) kp.ki_rusage_ch.ru_utime.tv_sec,
+			   kp.ki_rusage_ch.ru_utime.tv_usec);
+	  printf_filtered ("stime, children: %jd.%06ld\n",
+			   (intmax_t) kp.ki_rusage_ch.ru_stime.tv_sec,
+			   kp.ki_rusage_ch.ru_stime.tv_usec);
+	  printf_filtered ("'nice' value: %d\n", kp.ki_nice);
+	  printf_filtered ("Start time: %jd.%06ld\n", kp.ki_start.tv_sec,
+			   kp.ki_start.tv_usec);
+	  pgtok = getpagesize () / 1024;
+	  printf_filtered ("Virtual memory size: %ju kB\n",
+			   (uintmax_t) kp.ki_size / 1024);
+	  printf_filtered ("Data size: %ju kB\n",
+			   (uintmax_t) kp.ki_dsize * pgtok);
+	  printf_filtered ("Stack size: %ju kB\n",
+			   (uintmax_t) kp.ki_ssize * pgtok);
+	  printf_filtered ("Text size: %ju kB\n",
+			   (uintmax_t) kp.ki_tsize * pgtok);
+	  printf_filtered ("Resident set size: %ju kB\n",
+			   (uintmax_t) kp.ki_rssize * pgtok);
+	  printf_filtered ("Maximum RSS: %ju kB\n",
+			   (uintmax_t) kp.ki_rusage.ru_maxrss);
+	  printf_filtered ("Pending Signals: ");
+	  for (int i = 0; i < _SIG_WORDS; i++)
+	    printf_filtered ("%08x ", kp.ki_siglist.__bits[i]);
+	  printf_filtered ("\n");
+	  printf_filtered ("Ignored Signals: ");
+	  for (int i = 0; i < _SIG_WORDS; i++)
+	    printf_filtered ("%08x ", kp.ki_sigignore.__bits[i]);
+	  printf_filtered ("\n");
+	  printf_filtered ("Caught Signals: ");
+	  for (int i = 0; i < _SIG_WORDS; i++)
+	    printf_filtered ("%08x ", kp.ki_sigcatch.__bits[i]);
+	  printf_filtered ("\n");
+	}
+    }
+
+  return true;
+}
+
 #ifdef KERN_PROC_AUXV
-static enum target_xfer_status (*super_xfer_partial) (struct target_ops *ops,
-						      enum target_object object,
-						      const char *annex,
-						      gdb_byte *readbuf,
-						      const gdb_byte *writebuf,
-						      ULONGEST offset,
-						      ULONGEST len,
-						      ULONGEST *xfered_len);
 
 #ifdef PT_LWPINFO
 /* Return the size of siginfo for the current inferior.  */
@@ -349,15 +665,16 @@ fbsd_convert_siginfo (siginfo_t *si)
 }
 #endif
 
-/* Implement the "to_xfer_partial target_ops" method.  */
+/* Implement the "xfer_partial" target_ops method.  */
 
-static enum target_xfer_status
-fbsd_xfer_partial (struct target_ops *ops, enum target_object object,
-		   const char *annex, gdb_byte *readbuf,
-		   const gdb_byte *writebuf,
-		   ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+fbsd_nat_target::xfer_partial (enum target_object object,
+			       const char *annex, gdb_byte *readbuf,
+			       const gdb_byte *writebuf,
+			       ULONGEST offset, ULONGEST len,
+			       ULONGEST *xfered_len)
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
+  pid_t pid = inferior_ptid.pid ();
 
   switch (object)
     {
@@ -435,23 +752,16 @@ fbsd_xfer_partial (struct target_ops *op
 	return TARGET_XFER_E_IO;
       }
     default:
-      return super_xfer_partial (ops, object, annex, readbuf, writebuf, offset,
-				 len, xfered_len);
+      return inf_ptrace_target::xfer_partial (object, annex,
+					      readbuf, writebuf, offset,
+					      len, xfered_len);
     }
 }
 #endif
 
 #ifdef PT_LWPINFO
 static int debug_fbsd_lwp;
-
-static void (*super_resume) (struct target_ops *,
-			     ptid_t,
-			     int,
-			     enum gdb_signal);
-static ptid_t (*super_wait) (struct target_ops *,
-			     ptid_t,
-			     struct target_waitstatus *,
-			     int);
+static int debug_fbsd_nat;
 
 static void
 show_fbsd_lwp_debug (struct ui_file *file, int from_tty,
@@ -460,25 +770,13 @@ show_fbsd_lwp_debug (struct ui_file *fil
   fprintf_filtered (file, _("Debugging of FreeBSD lwp module is %s.\n"), value);
 }
 
-#if defined(TDP_RFPPWAIT) || defined(HAVE_STRUCT_PTRACE_LWPINFO_PL_TDNAME)
-/* Fetch the external variant of the kernel's internal process
-   structure for the process PID into KP.  */
-
 static void
-fbsd_fetch_kinfo_proc (pid_t pid, struct kinfo_proc *kp)
+show_fbsd_nat_debug (struct ui_file *file, int from_tty,
+		     struct cmd_list_element *c, const char *value)
 {
-  size_t len;
-  int mib[4];
-
-  len = sizeof *kp;
-  mib[0] = CTL_KERN;
-  mib[1] = KERN_PROC;
-  mib[2] = KERN_PROC_PID;
-  mib[3] = pid;
-  if (sysctl (mib, 4, kp, &len, NULL, 0) == -1)
-    perror_with_name (("sysctl"));
+  fprintf_filtered (file, _("Debugging of FreeBSD native target is %s.\n"),
+		    value);
 }
-#endif
 
 /*
   FreeBSD's first thread support was via a "reentrant" version of libc
@@ -509,38 +807,38 @@ fbsd_fetch_kinfo_proc (pid_t pid, struct
 
 /* Return true if PTID is still active in the inferior.  */
 
-static int
-fbsd_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+fbsd_nat_target::thread_alive (ptid_t ptid)
 {
-  if (ptid_lwp_p (ptid))
+  if (ptid.lwp_p ())
     {
       struct ptrace_lwpinfo pl;
 
-      if (ptrace (PT_LWPINFO, ptid_get_lwp (ptid), (caddr_t) &pl, sizeof pl)
+      if (ptrace (PT_LWPINFO, ptid.lwp (), (caddr_t) &pl, sizeof pl)
 	  == -1)
-	return 0;
+	return false;
 #ifdef PL_FLAG_EXITED
       if (pl.pl_flags & PL_FLAG_EXITED)
-	return 0;
+	return false;
 #endif
     }
 
-  return 1;
+  return true;
 }
 
 /* Convert PTID to a string.  Returns the string in a static
    buffer.  */
 
-static const char *
-fbsd_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+fbsd_nat_target::pid_to_str (ptid_t ptid)
 {
   lwpid_t lwp;
 
-  lwp = ptid_get_lwp (ptid);
+  lwp = ptid.lwp ();
   if (lwp != 0)
     {
       static char buf[64];
-      int pid = ptid_get_pid (ptid);
+      int pid = ptid.pid ();
 
       xsnprintf (buf, sizeof buf, "LWP %d of process %d", lwp, pid);
       return buf;
@@ -553,19 +851,20 @@ fbsd_pid_to_str (struct target_ops *ops,
 /* Return the name assigned to a thread by an application.  Returns
    the string in a static buffer.  */
 
-static const char *
-fbsd_thread_name (struct target_ops *self, struct thread_info *thr)
+const char *
+fbsd_nat_target::thread_name (struct thread_info *thr)
 {
   struct ptrace_lwpinfo pl;
   struct kinfo_proc kp;
-  int pid = ptid_get_pid (thr->ptid);
-  long lwp = ptid_get_lwp (thr->ptid);
+  int pid = thr->ptid.pid ();
+  long lwp = thr->ptid.lwp ();
   static char buf[sizeof pl.pl_tdname + 1];
 
   /* Note that ptrace_lwpinfo returns the process command in pl_tdname
      if a name has not been set explicitly.  Return a NULL name in
      that case.  */
-  fbsd_fetch_kinfo_proc (pid, &kp);
+  if (!fbsd_fetch_kinfo_proc (pid, &kp))
+    perror_with_name (_("Failed to fetch process information"));
   if (ptrace (PT_LWPINFO, lwp, (caddr_t) &pl, sizeof pl) == -1)
     perror_with_name (("ptrace"));
   if (strcmp (kp.ki_comm, pl.pl_tdname) == 0)
@@ -627,7 +926,7 @@ fbsd_add_threads (pid_t pid)
 {
   int i, nlwps;
 
-  gdb_assert (!in_thread_list (pid_to_ptid (pid)));
+  gdb_assert (!in_thread_list (ptid_t (pid)));
   nlwps = ptrace (PT_GETNUMLWPS, pid, NULL, 0);
   if (nlwps == -1)
     perror_with_name (("ptrace"));
@@ -640,7 +939,7 @@ fbsd_add_threads (pid_t pid)
 
   for (i = 0; i < nlwps; i++)
     {
-      ptid_t ptid = ptid_build (pid, lwps[i], 0);
+      ptid_t ptid = ptid_t (pid, lwps[i], 0);
 
       if (!in_thread_list (ptid))
 	{
@@ -663,10 +962,10 @@ fbsd_add_threads (pid_t pid)
     }
 }
 
-/* Implement the "to_update_thread_list" target_ops method.  */
+/* Implement the "update_thread_list" target_ops method.  */
 
-static void
-fbsd_update_thread_list (struct target_ops *ops)
+void
+fbsd_nat_target::update_thread_list ()
 {
 #ifdef PT_LWP_EVENTS
   /* With support for thread events, threads are added/deleted from the
@@ -675,7 +974,7 @@ fbsd_update_thread_list (struct target_o
 #else
   prune_threads ();
 
-  fbsd_add_threads (ptid_get_pid (inferior_ptid));
+  fbsd_add_threads (inferior_ptid.pid ());
 #endif
 }
 
@@ -781,20 +1080,19 @@ fbsd_next_vfork_done (void)
 #endif
 #endif
 
-/* Implement the "to_resume" target_ops method.  */
+/* Implement the "resume" target_ops method.  */
 
-static void
-fbsd_resume (struct target_ops *ops,
-	     ptid_t ptid, int step, enum gdb_signal signo)
+void
+fbsd_nat_target::resume (ptid_t ptid, int step, enum gdb_signal signo)
 {
 #if defined(TDP_RFPPWAIT) && !defined(PTRACE_VFORK)
   pid_t pid;
 
   /* Don't PT_CONTINUE a process which has a pending vfork done event.  */
-  if (ptid_equal (minus_one_ptid, ptid))
-    pid = ptid_get_pid (inferior_ptid);
+  if (minus_one_ptid == ptid)
+    pid = inferior_ptid.pid ();
   else
-    pid = ptid_get_pid (ptid);
+    pid = ptid.pid ();
   if (fbsd_is_vfork_done_pending (pid))
     return;
 #endif
@@ -802,9 +1100,9 @@ fbsd_resume (struct target_ops *ops,
   if (debug_fbsd_lwp)
     fprintf_unfiltered (gdb_stdlog,
 			"FLWP: fbsd_resume for ptid (%d, %ld, %ld)\n",
-			ptid_get_pid (ptid), ptid_get_lwp (ptid),
-			ptid_get_tid (ptid));
-  if (ptid_lwp_p (ptid))
+			ptid.pid (), ptid.lwp (),
+			ptid.tid ());
+  if (ptid.lwp_p ())
     {
       /* If ptid is a specific LWP, suspend all other LWPs in the process.  */
       struct thread_info *tp;
@@ -812,15 +1110,15 @@ fbsd_resume (struct target_ops *ops,
 
       ALL_NON_EXITED_THREADS (tp)
         {
-	  if (ptid_get_pid (tp->ptid) != ptid_get_pid (ptid))
+	  if (tp->ptid.pid () != ptid.pid ())
 	    continue;
 
-	  if (ptid_get_lwp (tp->ptid) == ptid_get_lwp (ptid))
+	  if (tp->ptid.lwp () == ptid.lwp ())
 	    request = PT_RESUME;
 	  else
 	    request = PT_SUSPEND;
 
-	  if (ptrace (request, ptid_get_lwp (tp->ptid), NULL, 0) == -1)
+	  if (ptrace (request, tp->ptid.lwp (), NULL, 0) == -1)
 	    perror_with_name (("ptrace"));
 	}
     }
@@ -832,25 +1130,105 @@ fbsd_resume (struct target_ops *ops,
 
       ALL_NON_EXITED_THREADS (tp)
         {
-	  if (!ptid_match (tp->ptid, ptid))
+	  if (!tp->ptid.matches (ptid))
 	    continue;
 
-	  if (ptrace (PT_RESUME, ptid_get_lwp (tp->ptid), NULL, 0) == -1)
+	  if (ptrace (PT_RESUME, tp->ptid.lwp (), NULL, 0) == -1)
 	    perror_with_name (("ptrace"));
 	}
       ptid = inferior_ptid;
     }
-  super_resume (ops, ptid, step, signo);
+
+#if __FreeBSD_version < 1200052
+  /* When multiple threads within a process wish to report STOPPED
+     events from wait(), the kernel picks one thread event as the
+     thread event to report.  The chosen thread event is retrieved via
+     PT_LWPINFO by passing the process ID as the request pid.  If
+     multiple events are pending, then the subsequent wait() after
+     resuming a process will report another STOPPED event after
+     resuming the process to handle the next thread event and so on.
+
+     A single thread event is cleared as a side effect of resuming the
+     process with PT_CONTINUE, PT_STEP, etc.  In older kernels,
+     however, the request pid was used to select which thread's event
+     was cleared rather than always clearing the event that was just
+     reported.  To avoid clearing the event of the wrong LWP, always
+     pass the process ID instead of an LWP ID to PT_CONTINUE or
+     PT_SYSCALL.
+
+     In the case of stepping, the process ID cannot be used with
+     PT_STEP since it would step the thread that reported an event
+     which may not be the thread indicated by PTID.  For stepping, use
+     PT_SETSTEP to enable stepping on the desired thread before
+     resuming the process via PT_CONTINUE instead of using
+     PT_STEP.  */
+  if (step)
+    {
+      if (ptrace (PT_SETSTEP, get_ptrace_pid (ptid), NULL, 0) == -1)
+	perror_with_name (("ptrace"));
+      step = 0;
+    }
+  ptid = ptid_t (ptid.pid ());
+#endif
+  inf_ptrace_target::resume (ptid, step, signo);
+}
+
+#ifdef USE_SIGTRAP_SIGINFO
+/* Handle breakpoint and trace traps reported via SIGTRAP.  If the
+   trap was a breakpoint or trace trap that should be reported to the
+   core, return true.  */
+
+static bool
+fbsd_handle_debug_trap (ptid_t ptid, const struct ptrace_lwpinfo &pl)
+{
+
+  /* Ignore traps without valid siginfo or for signals other than
+     SIGTRAP.  */
+  if (! (pl.pl_flags & PL_FLAG_SI) || pl.pl_siginfo.si_signo != SIGTRAP)
+    return false;
+
+  /* Trace traps are either a single step or a hardware watchpoint or
+     breakpoint.  */
+  if (pl.pl_siginfo.si_code == TRAP_TRACE)
+    {
+      if (debug_fbsd_nat)
+	fprintf_unfiltered (gdb_stdlog,
+			    "FNAT: trace trap for LWP %ld\n", ptid.lwp ());
+      return true;
+    }
+
+  if (pl.pl_siginfo.si_code == TRAP_BRKPT)
+    {
+      /* Fixup PC for the software breakpoint.  */
+      struct regcache *regcache = get_thread_regcache (ptid);
+      struct gdbarch *gdbarch = regcache->arch ();
+      int decr_pc = gdbarch_decr_pc_after_break (gdbarch);
+
+      if (debug_fbsd_nat)
+	fprintf_unfiltered (gdb_stdlog,
+			    "FNAT: sw breakpoint trap for LWP %ld\n",
+			    ptid.lwp ());
+      if (decr_pc != 0)
+	{
+	  CORE_ADDR pc;
+
+	  pc = regcache_read_pc (regcache);
+	  regcache_write_pc (regcache, pc - decr_pc);
+	}
+      return true;
+    }
+
+  return false;
 }
+#endif
 
 /* Wait for the child specified by PTID to do something.  Return the
    process ID of the child, or MINUS_ONE_PTID in case of error; store
    the status in *OURSTATUS.  */
 
-static ptid_t
-fbsd_wait (struct target_ops *ops,
-	   ptid_t ptid, struct target_waitstatus *ourstatus,
-	   int target_options)
+ptid_t
+fbsd_nat_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
+		       int target_options)
 {
   ptid_t wptid;
 
@@ -858,33 +1236,46 @@ fbsd_wait (struct target_ops *ops,
     {
 #ifndef PTRACE_VFORK
       wptid = fbsd_next_vfork_done ();
-      if (!ptid_equal (wptid, null_ptid))
+      if (wptid != null_ptid)
 	{
 	  ourstatus->kind = TARGET_WAITKIND_VFORK_DONE;
 	  return wptid;
 	}
 #endif
-      wptid = super_wait (ops, ptid, ourstatus, target_options);
+      wptid = inf_ptrace_target::wait (ptid, ourstatus, target_options);
       if (ourstatus->kind == TARGET_WAITKIND_STOPPED)
 	{
 	  struct ptrace_lwpinfo pl;
 	  pid_t pid;
 	  int status;
 
-	  pid = ptid_get_pid (wptid);
+	  pid = wptid.pid ();
 	  if (ptrace (PT_LWPINFO, pid, (caddr_t) &pl, sizeof pl) == -1)
 	    perror_with_name (("ptrace"));
 
-	  wptid = ptid_build (pid, pl.pl_lwpid, 0);
+	  wptid = ptid_t (pid, pl.pl_lwpid, 0);
+
+	  if (debug_fbsd_nat)
+	    {
+	      fprintf_unfiltered (gdb_stdlog,
+				  "FNAT: stop for LWP %u event %d flags %#x\n",
+				  pl.pl_lwpid, pl.pl_event, pl.pl_flags);
+	      if (pl.pl_flags & PL_FLAG_SI)
+		fprintf_unfiltered (gdb_stdlog,
+				    "FNAT: si_signo %u si_code %u\n",
+				    pl.pl_siginfo.si_signo,
+				    pl.pl_siginfo.si_code);
+	    }
 
 #ifdef PT_LWP_EVENTS
 	  if (pl.pl_flags & PL_FLAG_EXITED)
 	    {
 	      /* If GDB attaches to a multi-threaded process, exiting
-		 threads might be skipped during fbsd_post_attach that
+		 threads might be skipped during post_attach that
 		 have not yet reported their PL_FLAG_EXITED event.
 		 Ignore EXITED events for an unknown LWP.  */
-	      if (in_thread_list (wptid))
+	      thread_info *thr = find_thread_ptid (wptid);
+	      if (thr != nullptr)
 		{
 		  if (debug_fbsd_lwp)
 		    fprintf_unfiltered (gdb_stdlog,
@@ -893,7 +1284,7 @@ fbsd_wait (struct target_ops *ops,
 		  if (print_thread_events)
 		    printf_unfiltered (_("[%s exited]\n"), target_pid_to_str
 				       (wptid));
-		  delete_thread (wptid);
+		  delete_thread (thr);
 		}
 	      if (ptrace (PT_CONTINUE, pid, (caddr_t) 1, 0) == -1)
 		perror_with_name (("ptrace"));
@@ -907,13 +1298,13 @@ fbsd_wait (struct target_ops *ops,
 	     PL_FLAG_BORN in case the first stop reported after
 	     attaching to an existing process is a PL_FLAG_BORN
 	     event.  */
-	  if (in_thread_list (pid_to_ptid (pid)))
+	  if (in_thread_list (ptid_t (pid)))
 	    {
 	      if (debug_fbsd_lwp)
 		fprintf_unfiltered (gdb_stdlog,
 				    "FLWP: using LWP %u for first thread\n",
 				    pl.pl_lwpid);
-	      thread_change_ptid (pid_to_ptid (pid), wptid);
+	      thread_change_ptid (ptid_t (pid), wptid);
 	    }
 
 #ifdef PT_LWP_EVENTS
@@ -954,7 +1345,7 @@ fbsd_wait (struct target_ops *ops,
 
 	      /* Make sure the other end of the fork is stopped too.  */
 	      child_ptid = fbsd_is_child_pending (child);
-	      if (ptid_equal (child_ptid, null_ptid))
+	      if (child_ptid == null_ptid)
 		{
 		  pid = waitpid (child, &status, 0);
 		  if (pid == -1)
@@ -966,18 +1357,22 @@ fbsd_wait (struct target_ops *ops,
 		    perror_with_name (("ptrace"));
 
 		  gdb_assert (pl.pl_flags & PL_FLAG_CHILD);
-		  child_ptid = ptid_build (child, pl.pl_lwpid, 0);
+		  child_ptid = ptid_t (child, pl.pl_lwpid, 0);
 		}
 
 	      /* Enable additional events on the child process.  */
-	      fbsd_enable_proc_events (ptid_get_pid (child_ptid));
+	      fbsd_enable_proc_events (child_ptid.pid ());
 
 #ifndef PTRACE_VFORK
 	      /* For vfork, the child process will have the P_PPWAIT
 		 flag set.  */
-	      fbsd_fetch_kinfo_proc (child, &kp);
-	      if (kp.ki_flag & P_PPWAIT)
-		ourstatus->kind = TARGET_WAITKIND_VFORKED;
+	      if (fbsd_fetch_kinfo_proc (child, &kp))
+		{
+		  if (kp.ki_flag & P_PPWAIT)
+		    ourstatus->kind = TARGET_WAITKIND_VFORKED;
+		}
+	      else
+		warning (_("Failed to fetch process information"));
 #endif
 	      ourstatus->value.related_pid = child_ptid;
 
@@ -1007,11 +1402,16 @@ fbsd_wait (struct target_ops *ops,
 	    {
 	      ourstatus->kind = TARGET_WAITKIND_EXECD;
 	      ourstatus->value.execd_pathname
-		= xstrdup (fbsd_pid_to_exec_file (NULL, pid));
+		= xstrdup (pid_to_exec_file (pid));
 	      return wptid;
 	    }
 #endif
 
+#ifdef USE_SIGTRAP_SIGINFO
+	  if (fbsd_handle_debug_trap (wptid, pl))
+	    return wptid;
+#endif
+
 	  /* Note that PL_FLAG_SCE is set for any event reported while
 	     a thread is executing a system call in the kernel.  In
 	     particular, signals that interrupt a sleep in a system
@@ -1050,18 +1450,44 @@ fbsd_wait (struct target_ops *ops,
     }
 }
 
+#ifdef USE_SIGTRAP_SIGINFO
+/* Implement the "stopped_by_sw_breakpoint" target_ops method.  */
+
+bool
+fbsd_nat_target::stopped_by_sw_breakpoint ()
+{
+  struct ptrace_lwpinfo pl;
+
+  if (ptrace (PT_LWPINFO, get_ptrace_pid (inferior_ptid), (caddr_t) &pl,
+	      sizeof pl) == -1)
+    return false;
+
+  return ((pl.pl_flags & PL_FLAG_SI)
+	  && pl.pl_siginfo.si_signo == SIGTRAP
+	  && pl.pl_siginfo.si_code == TRAP_BRKPT);
+}
+
+/* Implement the "supports_stopped_by_sw_breakpoint" target_ops
+   method.  */
+
+bool
+fbsd_nat_target::supports_stopped_by_sw_breakpoint ()
+{
+  return true;
+}
+#endif
+
 #ifdef TDP_RFPPWAIT
 /* Target hook for follow_fork.  On entry and at return inferior_ptid is
    the ptid of the followed inferior.  */
 
-static int
-fbsd_follow_fork (struct target_ops *ops, int follow_child,
-			int detach_fork)
+int
+fbsd_nat_target::follow_fork (int follow_child, int detach_fork)
 {
   if (!follow_child && detach_fork)
     {
       struct thread_info *tp = inferior_thread ();
-      pid_t child_pid = ptid_get_pid (tp->pending_follow.value.related_pid);
+      pid_t child_pid = tp->pending_follow.value.related_pid.pid ();
 
       /* Breakpoints have already been detached from the child by
 	 infrun.c.  */
@@ -1102,43 +1528,43 @@ fbsd_follow_fork (struct target_ops *ops
   return 0;
 }
 
-static int
-fbsd_insert_fork_catchpoint (struct target_ops *self, int pid)
+int
+fbsd_nat_target::insert_fork_catchpoint (int pid)
 {
   return 0;
 }
 
-static int
-fbsd_remove_fork_catchpoint (struct target_ops *self, int pid)
+int
+fbsd_nat_target::remove_fork_catchpoint (int pid)
 {
   return 0;
 }
 
-static int
-fbsd_insert_vfork_catchpoint (struct target_ops *self, int pid)
+int
+fbsd_nat_target::insert_vfork_catchpoint (int pid)
 {
   return 0;
 }
 
-static int
-fbsd_remove_vfork_catchpoint (struct target_ops *self, int pid)
+int
+fbsd_nat_target::remove_vfork_catchpoint (int pid)
 {
   return 0;
 }
 #endif
 
-/* Implement the "to_post_startup_inferior" target_ops method.  */
+/* Implement the "post_startup_inferior" target_ops method.  */
 
-static void
-fbsd_post_startup_inferior (struct target_ops *self, ptid_t pid)
+void
+fbsd_nat_target::post_startup_inferior (ptid_t pid)
 {
-  fbsd_enable_proc_events (ptid_get_pid (pid));
+  fbsd_enable_proc_events (pid.pid ());
 }
 
-/* Implement the "to_post_attach" target_ops method.  */
+/* Implement the "post_attach" target_ops method.  */
 
-static void
-fbsd_post_attach (struct target_ops *self, int pid)
+void
+fbsd_nat_target::post_attach (int pid)
 {
   fbsd_enable_proc_events (pid);
   fbsd_add_threads (pid);
@@ -1148,24 +1574,24 @@ fbsd_post_attach (struct target_ops *sel
 /* If the FreeBSD kernel supports PL_FLAG_EXEC, then traced processes
    will always stop after exec.  */
 
-static int
-fbsd_insert_exec_catchpoint (struct target_ops *self, int pid)
+int
+fbsd_nat_target::insert_exec_catchpoint (int pid)
 {
   return 0;
 }
 
-static int
-fbsd_remove_exec_catchpoint (struct target_ops *self, int pid)
+int
+fbsd_nat_target::remove_exec_catchpoint (int pid)
 {
   return 0;
 }
 #endif
 
 #ifdef HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE
-static int
-fbsd_set_syscall_catchpoint (struct target_ops *self, int pid, bool needed,
-			     int any_count,
-			     gdb::array_view<const int> syscall_counts)
+int
+fbsd_nat_target::set_syscall_catchpoint (int pid, bool needed,
+					 int any_count,
+					 gdb::array_view<const int> syscall_counts)
 {
 
   /* Ignore the arguments.  inf-ptrace.c will use PT_SYSCALL which
@@ -1177,47 +1603,6 @@ fbsd_set_syscall_catchpoint (struct targ
 #endif
 
 void
-fbsd_nat_add_target (struct target_ops *t)
-{
-  t->to_pid_to_exec_file = fbsd_pid_to_exec_file;
-  t->to_find_memory_regions = fbsd_find_memory_regions;
-#ifdef KERN_PROC_AUXV
-  super_xfer_partial = t->to_xfer_partial;
-  t->to_xfer_partial = fbsd_xfer_partial;
-#endif
-#ifdef PT_LWPINFO
-  t->to_thread_alive = fbsd_thread_alive;
-  t->to_pid_to_str = fbsd_pid_to_str;
-#ifdef HAVE_STRUCT_PTRACE_LWPINFO_PL_TDNAME
-  t->to_thread_name = fbsd_thread_name;
-#endif
-  t->to_update_thread_list = fbsd_update_thread_list;
-  t->to_has_thread_control = tc_schedlock;
-  super_resume = t->to_resume;
-  t->to_resume = fbsd_resume;
-  super_wait = t->to_wait;
-  t->to_wait = fbsd_wait;
-  t->to_post_startup_inferior = fbsd_post_startup_inferior;
-  t->to_post_attach = fbsd_post_attach;
-#ifdef TDP_RFPPWAIT
-  t->to_follow_fork = fbsd_follow_fork;
-  t->to_insert_fork_catchpoint = fbsd_insert_fork_catchpoint;
-  t->to_remove_fork_catchpoint = fbsd_remove_fork_catchpoint;
-  t->to_insert_vfork_catchpoint = fbsd_insert_vfork_catchpoint;
-  t->to_remove_vfork_catchpoint = fbsd_remove_vfork_catchpoint;
-#endif
-#ifdef PL_FLAG_EXEC
-  t->to_insert_exec_catchpoint = fbsd_insert_exec_catchpoint;
-  t->to_remove_exec_catchpoint = fbsd_remove_exec_catchpoint;
-#endif
-#ifdef HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE
-  t->to_set_syscall_catchpoint = fbsd_set_syscall_catchpoint;
-#endif
-#endif
-  add_target (t);
-}
-
-void
 _initialize_fbsd_nat (void)
 {
 #ifdef PT_LWPINFO
@@ -1229,5 +1614,13 @@ Enables printf debugging output."),
 			   NULL,
 			   &show_fbsd_lwp_debug,
 			   &setdebuglist, &showdebuglist);
+  add_setshow_boolean_cmd ("fbsd-nat", class_maintenance,
+			   &debug_fbsd_nat, _("\
+Set debugging of FreeBSD native target."), _("\
+Show debugging of FreeBSD native target."), _("\
+Enables printf debugging output."),
+			   NULL,
+			   &show_fbsd_nat_debug,
+			   &setdebuglist, &showdebuglist);
 #endif
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/fbsd-nat.h ./gdb/fbsd-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/fbsd-nat.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/fbsd-nat.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,8 +20,81 @@
 #ifndef FBSD_NAT_H
 #define FBSD_NAT_H
 
-/* Register the customized FreeBSD target.  This should be used
-   instead of calling add_target directly.  */
-extern void fbsd_nat_add_target (struct target_ops *);
+#include "inf-ptrace.h"
+
+#ifdef TRAP_BRKPT
+/* MIPS does not set si_code for SIGTRAP.  sparc64 reports
+   non-standard values in si_code for SIGTRAP.  */
+# if !defined(__mips__) && !defined(__sparc64__)
+#  define USE_SIGTRAP_SIGINFO
+# endif
+#endif
+
+/* A prototype FreeBSD target.  */
+
+class fbsd_nat_target : public inf_ptrace_target
+{
+public:
+  char *pid_to_exec_file (int pid) override;
+
+  int find_memory_regions (find_memory_region_ftype func, void *data) override;
+
+  bool info_proc (const char *, enum info_proc_what) override;
+
+#ifdef KERN_PROC_AUXV
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+#endif
+
+#ifdef PT_LWPINFO
+  bool thread_alive (ptid_t ptid) override;
+  const char *pid_to_str (ptid_t) override;
+
+#ifdef HAVE_STRUCT_PTRACE_LWPINFO_PL_TDNAME
+  const char *thread_name (struct thread_info *) override;
+#endif
+
+  void update_thread_list () override;
+
+  thread_control_capabilities get_thread_control_capabilities () override
+  { return tc_schedlock; }
+
+  void resume (ptid_t, int, enum gdb_signal) override;
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+  void post_startup_inferior (ptid_t) override;
+  void post_attach (int) override;
+
+#ifdef USE_SIGTRAP_SIGINFO
+  bool supports_stopped_by_sw_breakpoint () override;
+  bool stopped_by_sw_breakpoint () override;
+#endif
+
+#ifdef TDP_RFPPWAIT
+  int follow_fork (int, int) override;
+
+  int insert_fork_catchpoint (int) override;
+  int remove_fork_catchpoint (int) override;
+
+  int insert_vfork_catchpoint (int) override;
+  int remove_vfork_catchpoint (int) override;
+#endif
+
+#ifdef PL_FLAG_EXEC
+  int insert_exec_catchpoint (int) override;
+  int remove_exec_catchpoint (int) override;
+#endif
+
+#ifdef HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE
+  int set_syscall_catchpoint (int, bool, int, gdb::array_view<const int>)
+    override;
+#endif
+#endif /* PT_LWPINFO */
+};
 
 #endif /* fbsd-nat.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/fbsd-tdep.c ./gdb/fbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/fbsd-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/fbsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -52,6 +52,228 @@
 #define	SIZE64_SIGINFO_T	80
 #define	SIZE32_SIGINFO_T	64
 
+/* Offsets in data structure used in NT_FREEBSD_PROCSTAT_VMMAP core
+   dump notes.  See <sys/user.h> for the definition of struct
+   kinfo_vmentry.  This data structure should have the same layout on
+   all architectures.  */
+
+#define	KVE_STRUCTSIZE		0x0
+#define	KVE_START		0x8
+#define	KVE_END			0x10
+#define	KVE_OFFSET		0x18
+#define	KVE_FLAGS		0x2c
+#define	KVE_PROTECTION		0x38
+#define	KVE_PATH		0x88
+
+/* Flags in the 'kve_protection' field in struct kinfo_vmentry.  These
+   match the KVME_PROT_* constants in <sys/user.h>.  */
+
+#define	KINFO_VME_PROT_READ	0x00000001
+#define	KINFO_VME_PROT_WRITE	0x00000002
+#define	KINFO_VME_PROT_EXEC	0x00000004
+
+/* Flags in the 'kve_flags' field in struct kinfo_vmentry.  These
+   match the KVME_FLAG_* constants in <sys/user.h>.  */
+
+#define	KINFO_VME_FLAG_COW		0x00000001
+#define	KINFO_VME_FLAG_NEEDS_COPY	0x00000002
+#define	KINFO_VME_FLAG_NOCOREDUMP	0x00000004
+#define	KINFO_VME_FLAG_SUPER		0x00000008
+#define	KINFO_VME_FLAG_GROWS_UP		0x00000010
+#define	KINFO_VME_FLAG_GROWS_DOWN	0x00000020
+
+/* Offsets in data structure used in NT_FREEBSD_PROCSTAT_FILES core
+   dump notes.  See <sys/user.h> for the definition of struct
+   kinfo_file.  This data structure should have the same layout on all
+   architectures.  */
+
+#define	KF_STRUCTSIZE		0x0
+#define	KF_TYPE			0x4
+#define	KF_FD			0x8
+#define	KF_PATH			0x170
+
+/* Constants for the 'kf_type' field in struct kinfo_file.  These
+   match the KF_TYPE_* constants in <sys/user.h>.  */
+
+#define	KINFO_FILE_TYPE_VNODE	1
+
+/* Special values for the 'kf_fd' field in struct kinfo_file.  These
+   match the KF_FD_TYPE_* constants in <sys/user.h>.  */
+
+#define	KINFO_FILE_FD_TYPE_CWD	-1
+#define	KINFO_FILE_FD_TYPE_TEXT	-5
+
+/* Number of 32-bit words in a signal set.  This matches _SIG_WORDS in
+   <sys/_sigset.h> and is the same value on all architectures.  */
+
+#define	SIG_WORDS		4
+
+/* Offsets in data structure used in NT_FREEBSD_PROCSTAT_PROC core
+   dump notes.  See <sys/user.h> for the definition of struct
+   kinfo_proc.  This data structure has different layouts on different
+   architectures mostly due to ILP32 vs LP64.  However, FreeBSD/i386
+   uses a 32-bit time_t while all other architectures use a 64-bit
+   time_t.
+
+   The core dump note actually contains one kinfo_proc structure for
+   each thread, but all of the process-wide data can be obtained from
+   the first structure.  One result of this note's format is that some
+   of the process-wide status available in the native target method
+   from the kern.proc.pid.<pid> sysctl such as ki_stat and ki_siglist
+   is not available from a core dump.  Instead, the per-thread data
+   structures contain the value of these fields for individual
+   threads.  */
+
+struct kinfo_proc_layout
+{
+  /* Offsets of struct kinfo_proc members.  */
+  int ki_layout;
+  int ki_pid;
+  int ki_ppid;
+  int ki_pgid;
+  int ki_tpgid;
+  int ki_sid;
+  int ki_tdev_freebsd11;
+  int ki_sigignore;
+  int ki_sigcatch;
+  int ki_uid;
+  int ki_ruid;
+  int ki_svuid;
+  int ki_rgid;
+  int ki_svgid;
+  int ki_ngroups;
+  int ki_groups;
+  int ki_size;
+  int ki_rssize;
+  int ki_tsize;
+  int ki_dsize;
+  int ki_ssize;
+  int ki_start;
+  int ki_nice;
+  int ki_comm;
+  int ki_tdev;
+  int ki_rusage;
+  int ki_rusage_ch;
+
+  /* Offsets of struct rusage members.  */
+  int ru_utime;
+  int ru_stime;
+  int ru_maxrss;
+  int ru_minflt;
+  int ru_majflt;
+};
+
+const struct kinfo_proc_layout kinfo_proc_layout_32 =
+  {
+    .ki_layout = 0x4,
+    .ki_pid = 0x28,
+    .ki_ppid = 0x2c,
+    .ki_pgid = 0x30,
+    .ki_tpgid = 0x34,
+    .ki_sid = 0x38,
+    .ki_tdev_freebsd11 = 0x44,
+    .ki_sigignore = 0x68,
+    .ki_sigcatch = 0x78,
+    .ki_uid = 0x88,
+    .ki_ruid = 0x8c,
+    .ki_svuid = 0x90,
+    .ki_rgid = 0x94,
+    .ki_svgid = 0x98,
+    .ki_ngroups = 0x9c,
+    .ki_groups = 0xa0,
+    .ki_size = 0xe0,
+    .ki_rssize = 0xe4,
+    .ki_tsize = 0xec,
+    .ki_dsize = 0xf0,
+    .ki_ssize = 0xf4,
+    .ki_start = 0x118,
+    .ki_nice = 0x145,
+    .ki_comm = 0x17f,
+    .ki_tdev = 0x1f0,
+    .ki_rusage = 0x220,
+    .ki_rusage_ch = 0x278,
+
+    .ru_utime = 0x0,
+    .ru_stime = 0x10,
+    .ru_maxrss = 0x20,
+    .ru_minflt = 0x30,
+    .ru_majflt = 0x34,
+  };
+
+const struct kinfo_proc_layout kinfo_proc_layout_i386 =
+  {
+    .ki_layout = 0x4,
+    .ki_pid = 0x28,
+    .ki_ppid = 0x2c,
+    .ki_pgid = 0x30,
+    .ki_tpgid = 0x34,
+    .ki_sid = 0x38,
+    .ki_tdev_freebsd11 = 0x44,
+    .ki_sigignore = 0x68,
+    .ki_sigcatch = 0x78,
+    .ki_uid = 0x88,
+    .ki_ruid = 0x8c,
+    .ki_svuid = 0x90,
+    .ki_rgid = 0x94,
+    .ki_svgid = 0x98,
+    .ki_ngroups = 0x9c,
+    .ki_groups = 0xa0,
+    .ki_size = 0xe0,
+    .ki_rssize = 0xe4,
+    .ki_tsize = 0xec,
+    .ki_dsize = 0xf0,
+    .ki_ssize = 0xf4,
+    .ki_start = 0x118,
+    .ki_nice = 0x135,
+    .ki_comm = 0x16f,
+    .ki_tdev = 0x1e0,
+    .ki_rusage = 0x210,
+    .ki_rusage_ch = 0x258,
+
+    .ru_utime = 0x0,
+    .ru_stime = 0x8,
+    .ru_maxrss = 0x10,
+    .ru_minflt = 0x20,
+    .ru_majflt = 0x24,
+  };
+
+const struct kinfo_proc_layout kinfo_proc_layout_64 =
+  {
+    .ki_layout = 0x4,
+    .ki_pid = 0x48,
+    .ki_ppid = 0x4c,
+    .ki_pgid = 0x50,
+    .ki_tpgid = 0x54,
+    .ki_sid = 0x58,
+    .ki_tdev_freebsd11 = 0x64,
+    .ki_sigignore = 0x88,
+    .ki_sigcatch = 0x98,
+    .ki_uid = 0xa8,
+    .ki_ruid = 0xac,
+    .ki_svuid = 0xb0,
+    .ki_rgid = 0xb4,
+    .ki_svgid = 0xb8,
+    .ki_ngroups = 0xbc,
+    .ki_groups = 0xc0,
+    .ki_size = 0x100,
+    .ki_rssize = 0x108,
+    .ki_tsize = 0x118,
+    .ki_dsize = 0x120,
+    .ki_ssize = 0x128,
+    .ki_start = 0x150,
+    .ki_nice = 0x185,
+    .ki_comm = 0x1bf,
+    .ki_tdev = 0x230,
+    .ki_rusage = 0x260,
+    .ki_rusage_ch = 0x2f0,
+
+    .ru_utime = 0x0,
+    .ru_stime = 0x10,
+    .ru_maxrss = 0x20,
+    .ru_minflt = 0x40,
+    .ru_majflt = 0x48,
+  };
+
 static struct gdbarch_data *fbsd_gdbarch_data_handle;
 
 struct fbsd_gdbarch_data
@@ -79,9 +301,9 @@ fbsd_core_pid_to_str (struct gdbarch *gd
 {
   static char buf[80];
 
-  if (ptid_get_lwp (ptid) != 0)
+  if (ptid.lwp () != 0)
     {
-      xsnprintf (buf, sizeof buf, "LWP %ld", ptid_get_lwp (ptid));
+      xsnprintf (buf, sizeof buf, "LWP %ld", ptid.lwp ());
       return buf;
     }
 
@@ -98,7 +320,7 @@ fbsd_core_thread_name (struct gdbarch *g
   struct bfd_section *section;
   bfd_size_type size;
 
-  if (ptid_get_lwp (thr->ptid) != 0)
+  if (thr->ptid.lwp () != 0)
     {
       /* FreeBSD includes a NT_FREEBSD_THRMISC note for each thread
 	 whose contents are defined by a "struct thrmisc" declared in
@@ -184,7 +406,7 @@ static int
 find_signalled_thread (struct thread_info *info, void *data)
 {
   if (info->suspend.stop_signal != GDB_SIGNAL_0
-      && ptid_get_pid (info->ptid) == ptid_get_pid (inferior_ptid))
+      && info->ptid.pid () == inferior_ptid.pid ())
     return 1;
 
   return 0;
@@ -255,7 +477,7 @@ fbsd_collect_thread_registers (const str
   data.note_size = note_size;
   data.stop_signal = stop_signal;
   data.abort_iteration = 0;
-  data.lwp = ptid_get_lwp (ptid);
+  data.lwp = ptid.lwp ();
 
   gdbarch_iterate_over_regset_sections (gdbarch,
 					fbsd_collect_regset_section_cb,
@@ -356,7 +578,7 @@ fbsd_make_corefile_notes (struct gdbarch
     {
       if (thr == signalled_thr)
 	continue;
-      if (ptid_get_pid (thr->ptid) != ptid_get_pid (inferior_ptid))
+      if (thr->ptid.pid () != inferior_ptid.pid ())
 	continue;
 
       fbsd_corefile_thread (thr, &thread_args);
@@ -367,6 +589,433 @@ fbsd_make_corefile_notes (struct gdbarch
   return note_data;
 }
 
+/* Helper function to generate mappings flags for a single VM map
+   entry in 'info proc mappings'.  */
+
+const char *
+fbsd_vm_map_entry_flags (int kve_flags, int kve_protection)
+{
+  static char vm_flags[9];
+
+  vm_flags[0] = (kve_protection & KINFO_VME_PROT_READ) ? 'r' : '-';
+  vm_flags[1] = (kve_protection & KINFO_VME_PROT_WRITE) ? 'w' : '-';
+  vm_flags[2] = (kve_protection & KINFO_VME_PROT_EXEC) ? 'x' : '-';
+  vm_flags[3] = ' ';
+  vm_flags[4] = (kve_flags & KINFO_VME_FLAG_COW) ? 'C' : '-';
+  vm_flags[5] = (kve_flags & KINFO_VME_FLAG_NEEDS_COPY) ? 'N' : '-';
+  vm_flags[6] = (kve_flags & KINFO_VME_FLAG_SUPER) ? 'S' : '-';
+  vm_flags[7] = (kve_flags & KINFO_VME_FLAG_GROWS_UP) ? 'U'
+    : (kve_flags & KINFO_VME_FLAG_GROWS_DOWN) ? 'D' : '-';
+  vm_flags[8] = '\0';
+
+  return vm_flags;
+}
+
+/* Implement "info proc mappings" for a corefile.  */
+
+static void
+fbsd_core_info_proc_mappings (struct gdbarch *gdbarch)
+{
+  asection *section;
+  unsigned char *descdata, *descend;
+  size_t note_size;
+
+  section = bfd_get_section_by_name (core_bfd, ".note.freebsdcore.vmmap");
+  if (section == NULL)
+    {
+      warning (_("unable to find mappings in core file"));
+      return;
+    }
+
+  note_size = bfd_get_section_size (section);
+  if (note_size < 4)
+    error (_("malformed core note - too short for header"));
+
+  gdb::def_vector<unsigned char> contents (note_size);
+  if (!bfd_get_section_contents (core_bfd, section, contents.data (),
+				 0, note_size))
+    error (_("could not get core note contents"));
+
+  descdata = contents.data ();
+  descend = descdata + note_size;
+
+  /* Skip over the structure size.  */
+  descdata += 4;
+
+  printf_filtered (_("Mapped address spaces:\n\n"));
+  if (gdbarch_addr_bit (gdbarch) == 64)
+    {
+      printf_filtered ("  %18s %18s %10s %10s %9s %s\n",
+		       "Start Addr",
+		       "  End Addr",
+		       "      Size", "    Offset", "Flags  ", "File");
+    }
+  else
+    {
+      printf_filtered ("\t%10s %10s %10s %10s %9s %s\n",
+		       "Start Addr",
+		       "  End Addr",
+		       "      Size", "    Offset", "Flags  ", "File");
+    }
+
+  while (descdata + KVE_PATH < descend)
+    {
+      ULONGEST start, end, offset, flags, prot, structsize;
+
+      structsize = bfd_get_32 (core_bfd, descdata + KVE_STRUCTSIZE);
+      if (structsize < KVE_PATH)
+	error (_("malformed core note - vmmap entry too small"));
+
+      start = bfd_get_64 (core_bfd, descdata + KVE_START);
+      end = bfd_get_64 (core_bfd, descdata + KVE_END);
+      offset = bfd_get_64 (core_bfd, descdata + KVE_OFFSET);
+      flags = bfd_get_32 (core_bfd, descdata + KVE_FLAGS);
+      prot = bfd_get_32 (core_bfd, descdata + KVE_PROTECTION);
+      if (gdbarch_addr_bit (gdbarch) == 64)
+	{
+	  printf_filtered ("  %18s %18s %10s %10s %9s %s\n",
+			   paddress (gdbarch, start),
+			   paddress (gdbarch, end),
+			   hex_string (end - start),
+			   hex_string (offset),
+			   fbsd_vm_map_entry_flags (flags, prot),
+			   descdata + KVE_PATH);
+	}
+      else
+	{
+	  printf_filtered ("\t%10s %10s %10s %10s %9s %s\n",
+			   paddress (gdbarch, start),
+			   paddress (gdbarch, end),
+			   hex_string (end - start),
+			   hex_string (offset),
+			   fbsd_vm_map_entry_flags (flags, prot),
+			   descdata + KVE_PATH);
+	}
+
+      descdata += structsize;
+    }
+}
+
+/* Fetch the pathname of a vnode for a single file descriptor from the
+   file table core note.  */
+
+static gdb::unique_xmalloc_ptr<char>
+fbsd_core_vnode_path (struct gdbarch *gdbarch, int fd)
+{
+  asection *section;
+  unsigned char *descdata, *descend;
+  size_t note_size;
+
+  section = bfd_get_section_by_name (core_bfd, ".note.freebsdcore.files");
+  if (section == NULL)
+    return nullptr;
+
+  note_size = bfd_get_section_size (section);
+  if (note_size < 4)
+    error (_("malformed core note - too short for header"));
+
+  gdb::def_vector<unsigned char> contents (note_size);
+  if (!bfd_get_section_contents (core_bfd, section, contents.data (),
+				 0, note_size))
+    error (_("could not get core note contents"));
+
+  descdata = contents.data ();
+  descend = descdata + note_size;
+
+  /* Skip over the structure size.  */
+  descdata += 4;
+
+  while (descdata + KVE_PATH < descend)
+    {
+      ULONGEST structsize;
+
+      structsize = bfd_get_32 (core_bfd, descdata + KF_STRUCTSIZE);
+      if (structsize < KVE_PATH)
+	error (_("malformed core note - vmmap entry too small"));
+
+      if (bfd_get_32 (core_bfd, descdata + KF_TYPE) == KINFO_FILE_TYPE_VNODE
+	  && bfd_get_signed_32 (core_bfd, descdata + KF_FD) == fd)
+	{
+	  char *path = (char *) descdata + KF_PATH;
+	  return gdb::unique_xmalloc_ptr<char> (xstrdup (path));
+	}
+
+      descdata += structsize;
+    }
+  return nullptr;
+}
+
+/* Helper function to read a struct timeval.  */
+
+static void
+fbsd_core_fetch_timeval (struct gdbarch *gdbarch, unsigned char *data,
+			 LONGEST &sec, ULONGEST &usec)
+{
+  if (gdbarch_addr_bit (gdbarch) == 64)
+    {
+      sec = bfd_get_signed_64 (core_bfd, data);
+      usec = bfd_get_64 (core_bfd, data + 8);
+    }
+  else if (bfd_get_arch (core_bfd) == bfd_arch_i386)
+    {
+      sec = bfd_get_signed_32 (core_bfd, data);
+      usec = bfd_get_32 (core_bfd, data + 4);
+    }
+  else
+    {
+      sec = bfd_get_signed_64 (core_bfd, data);
+      usec = bfd_get_32 (core_bfd, data + 8);
+    }
+}
+
+/* Print out the contents of a signal set.  */
+
+static void
+fbsd_print_sigset (const char *descr, unsigned char *sigset)
+{
+  printf_filtered ("%s: ", descr);
+  for (int i = 0; i < SIG_WORDS; i++)
+    printf_filtered ("%08x ",
+		     (unsigned int) bfd_get_32 (core_bfd, sigset + i * 4));
+  printf_filtered ("\n");
+}
+
+/* Implement "info proc status" for a corefile.  */
+
+static void
+fbsd_core_info_proc_status (struct gdbarch *gdbarch)
+{
+  const struct kinfo_proc_layout *kp;
+  asection *section;
+  const char *state;
+  unsigned char *descdata;
+  int addr_bit, long_bit;
+  size_t note_size;
+  ULONGEST value;
+  LONGEST sec;
+
+  section = bfd_get_section_by_name (core_bfd, ".note.freebsdcore.proc");
+  if (section == NULL)
+    {
+      warning (_("unable to find process info in core file"));
+      return;
+    }
+
+  addr_bit = gdbarch_addr_bit (gdbarch);
+  if (addr_bit == 64)
+    kp = &kinfo_proc_layout_64;
+  else if (bfd_get_arch (core_bfd) == bfd_arch_i386)
+    kp = &kinfo_proc_layout_i386;
+  else
+    kp = &kinfo_proc_layout_32;
+  long_bit = gdbarch_long_bit (gdbarch);
+
+  /*
+   * Ensure that the note is large enough for all of the fields fetched
+   * by this function.  In particular, the note must contain the 32-bit
+   * structure size, then it must be long enough to access the last
+   * field used (ki_rusage_ch.ru_majflt) which is the size of a long.
+   */
+  note_size = bfd_get_section_size (section);
+  if (note_size < (4 + kp->ki_rusage_ch + kp->ru_majflt
+		   + long_bit / TARGET_CHAR_BIT))
+    error (_("malformed core note - too short"));
+
+  gdb::def_vector<unsigned char> contents (note_size);
+  if (!bfd_get_section_contents (core_bfd, section, contents.data (),
+				 0, note_size))
+    error (_("could not get core note contents"));
+
+  descdata = contents.data ();
+
+  /* Skip over the structure size.  */
+  descdata += 4;
+
+  /* Verify 'ki_layout' is 0.  */
+  if (bfd_get_32 (core_bfd, descdata + kp->ki_layout) != 0)
+    {
+      warning (_("unsupported process information in core file"));
+      return;
+    }
+
+  printf_filtered ("Name: %.19s\n", descdata + kp->ki_comm);
+  printf_filtered ("Process ID: %s\n",
+		   pulongest (bfd_get_32 (core_bfd, descdata + kp->ki_pid)));
+  printf_filtered ("Parent process: %s\n",
+		   pulongest (bfd_get_32 (core_bfd, descdata + kp->ki_ppid)));
+  printf_filtered ("Process group: %s\n",
+		   pulongest (bfd_get_32 (core_bfd, descdata + kp->ki_pgid)));
+  printf_filtered ("Session id: %s\n",
+		   pulongest (bfd_get_32 (core_bfd, descdata + kp->ki_sid)));
+
+  /* FreeBSD 12.0 and later store a 64-bit dev_t at 'ki_tdev'.  Older
+     kernels store a 32-bit dev_t at 'ki_tdev_freebsd11'.  In older
+     kernels the 64-bit 'ki_tdev' field is in a reserved section of
+     the structure that is cleared to zero.  Assume that a zero value
+     in ki_tdev indicates a core dump from an older kernel and use the
+     value in 'ki_tdev_freebsd11' instead.  */
+  value = bfd_get_64 (core_bfd, descdata + kp->ki_tdev);
+  if (value == 0)
+    value = bfd_get_32 (core_bfd, descdata + kp->ki_tdev_freebsd11);
+  printf_filtered ("TTY: %s\n", pulongest (value));
+  printf_filtered ("TTY owner process group: %s\n",
+		   pulongest (bfd_get_32 (core_bfd, descdata + kp->ki_tpgid)));
+  printf_filtered ("User IDs (real, effective, saved): %s %s %s\n",
+		   pulongest (bfd_get_32 (core_bfd, descdata + kp->ki_ruid)),
+		   pulongest (bfd_get_32 (core_bfd, descdata + kp->ki_uid)),
+		   pulongest (bfd_get_32 (core_bfd, descdata + kp->ki_svuid)));
+  printf_filtered ("Group IDs (real, effective, saved): %s %s %s\n",
+		   pulongest (bfd_get_32 (core_bfd, descdata + kp->ki_rgid)),
+		   pulongest (bfd_get_32 (core_bfd, descdata + kp->ki_groups)),
+		   pulongest (bfd_get_32 (core_bfd, descdata + kp->ki_svgid)));
+  printf_filtered ("Groups: ");
+  uint16_t ngroups = bfd_get_16 (core_bfd, descdata + kp->ki_ngroups);
+  for (int i = 0; i < ngroups; i++)
+    printf_filtered ("%s ",
+		     pulongest (bfd_get_32 (core_bfd,
+					    descdata + kp->ki_groups + i * 4)));
+  printf_filtered ("\n");
+  value = bfd_get (long_bit, core_bfd,
+		   descdata + kp->ki_rusage + kp->ru_minflt);
+  printf_filtered ("Minor faults (no memory page): %s\n", pulongest (value));
+  value = bfd_get (long_bit, core_bfd,
+		   descdata + kp->ki_rusage_ch + kp->ru_minflt);
+  printf_filtered ("Minor faults, children: %s\n", pulongest (value));
+  value = bfd_get (long_bit, core_bfd,
+		   descdata + kp->ki_rusage + kp->ru_majflt);
+  printf_filtered ("Major faults (memory page faults): %s\n",
+		   pulongest (value));
+  value = bfd_get (long_bit, core_bfd,
+		   descdata + kp->ki_rusage_ch + kp->ru_majflt);
+  printf_filtered ("Major faults, children: %s\n", pulongest (value));
+  fbsd_core_fetch_timeval (gdbarch,
+			   descdata + kp->ki_rusage + kp->ru_utime,
+			   sec, value);
+  printf_filtered ("utime: %s.%06d\n", plongest (sec), (int) value);
+  fbsd_core_fetch_timeval (gdbarch,
+			   descdata + kp->ki_rusage + kp->ru_stime,
+			   sec, value);
+  printf_filtered ("stime: %s.%06d\n", plongest (sec), (int) value);
+  fbsd_core_fetch_timeval (gdbarch,
+			   descdata + kp->ki_rusage_ch + kp->ru_utime,
+			   sec, value);
+  printf_filtered ("utime, children: %s.%06d\n", plongest (sec), (int) value);
+  fbsd_core_fetch_timeval (gdbarch,
+			   descdata + kp->ki_rusage_ch + kp->ru_stime,
+			   sec, value);
+  printf_filtered ("stime, children: %s.%06d\n", plongest (sec), (int) value);
+  printf_filtered ("'nice' value: %d\n",
+		   bfd_get_signed_8 (core_bfd, descdata + kp->ki_nice));
+  fbsd_core_fetch_timeval (gdbarch, descdata + kp->ki_start, sec, value);
+  printf_filtered ("Start time: %s.%06d\n", plongest (sec), (int) value);
+  printf_filtered ("Virtual memory size: %s kB\n",
+		   pulongest (bfd_get (addr_bit, core_bfd,
+				       descdata + kp->ki_size) / 1024));
+  printf_filtered ("Data size: %s pages\n",
+		   pulongest (bfd_get (addr_bit, core_bfd,
+				       descdata + kp->ki_dsize)));
+  printf_filtered ("Stack size: %s pages\n",
+		   pulongest (bfd_get (addr_bit, core_bfd,
+				       descdata + kp->ki_ssize)));
+  printf_filtered ("Text size: %s pages\n",
+		   pulongest (bfd_get (addr_bit, core_bfd,
+				       descdata + kp->ki_tsize)));
+  printf_filtered ("Resident set size: %s pages\n",
+		   pulongest (bfd_get (addr_bit, core_bfd,
+				       descdata + kp->ki_rssize)));
+  printf_filtered ("Maximum RSS: %s pages\n",
+		   pulongest (bfd_get (long_bit, core_bfd,
+				       descdata + kp->ki_rusage
+				       + kp->ru_maxrss)));
+  fbsd_print_sigset ("Ignored Signals", descdata + kp->ki_sigignore);
+  fbsd_print_sigset ("Caught Signals", descdata + kp->ki_sigcatch);
+}
+
+/* Implement the "core_info_proc" gdbarch method.  */
+
+static void
+fbsd_core_info_proc (struct gdbarch *gdbarch, const char *args,
+		     enum info_proc_what what)
+{
+  bool do_cmdline = false;
+  bool do_cwd = false;
+  bool do_exe = false;
+  bool do_mappings = false;
+  bool do_status = false;
+  int pid;
+
+  switch (what)
+    {
+    case IP_MINIMAL:
+      do_cmdline = true;
+      do_cwd = true;
+      do_exe = true;
+      break;
+    case IP_MAPPINGS:
+      do_mappings = true;
+      break;
+    case IP_STATUS:
+    case IP_STAT:
+      do_status = true;
+      break;
+    case IP_CMDLINE:
+      do_cmdline = true;
+      break;
+    case IP_EXE:
+      do_exe = true;
+      break;
+    case IP_CWD:
+      do_cwd = true;
+      break;
+    case IP_ALL:
+      do_cmdline = true;
+      do_cwd = true;
+      do_exe = true;
+      do_mappings = true;
+      do_status = true;
+      break;
+    default:
+      return;
+    }
+
+  pid = bfd_core_file_pid (core_bfd);
+  if (pid != 0)
+    printf_filtered (_("process %d\n"), pid);
+
+  if (do_cmdline)
+    {
+      const char *cmdline;
+
+      cmdline = bfd_core_file_failing_command (core_bfd);
+      if (cmdline)
+	printf_filtered ("cmdline = '%s'\n", cmdline);
+      else
+	warning (_("Command line unavailable"));
+    }
+  if (do_cwd)
+    {
+      gdb::unique_xmalloc_ptr<char> cwd =
+	fbsd_core_vnode_path (gdbarch, KINFO_FILE_FD_TYPE_CWD);
+      if (cwd)
+	printf_filtered ("cwd = '%s'\n", cwd.get ());
+      else
+	warning (_("unable to read current working directory"));
+    }
+  if (do_exe)
+    {
+      gdb::unique_xmalloc_ptr<char> exe =
+	fbsd_core_vnode_path (gdbarch, KINFO_FILE_FD_TYPE_TEXT);
+      if (exe)
+	printf_filtered ("exe = '%s'\n", exe.get ());
+      else
+	warning (_("unable to read executable path name"));
+    }
+  if (do_mappings)
+    fbsd_core_info_proc_mappings (gdbarch);
+  if (do_status)
+    fbsd_core_info_proc_status (gdbarch);
+}
+
 /* Print descriptions of FreeBSD-specific AUXV entries to FILE.  */
 
 static void
@@ -497,8 +1146,7 @@ fbsd_get_siginfo_type (struct gdbarch *g
 /* Implement the "get_syscall_number" gdbarch method.  */
 
 static LONGEST
-fbsd_get_syscall_number (struct gdbarch *gdbarch,
-			 ptid_t ptid)
+fbsd_get_syscall_number (struct gdbarch *gdbarch, thread_info *thread)
 {
 
   /* FreeBSD doesn't use gdbarch_get_syscall_number since FreeBSD
@@ -519,6 +1167,7 @@ fbsd_init_abi (struct gdbarch_info info,
   set_gdbarch_core_thread_name (gdbarch, fbsd_core_thread_name);
   set_gdbarch_core_xfer_siginfo (gdbarch, fbsd_core_xfer_siginfo);
   set_gdbarch_make_corefile_notes (gdbarch, fbsd_make_corefile_notes);
+  set_gdbarch_core_info_proc (gdbarch, fbsd_core_info_proc);
   set_gdbarch_print_auxv_entry (gdbarch, fbsd_print_auxv_entry);
   set_gdbarch_get_siginfo_type (gdbarch, fbsd_get_siginfo_type);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/fbsd-tdep.h ./gdb/fbsd-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/fbsd-tdep.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/fbsd-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -22,4 +22,11 @@
 
 extern void fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch);
 
+/* Helper function to generate mappings flags for a single VM map
+   entry in 'info proc mappings'.  The KVE_FLAGS and KVE_PROTECTION
+   parameters should contain the values of the corresponding fields in
+   a 'struct kinfo_vmentry'.  */
+
+extern const char *fbsd_vm_map_entry_flags (int kve_flags, int kve_protection);
+
 #endif /* fbsd-tdep.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/aarch64-core.c ./gdb/features/aarch64-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/aarch64-core.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/aarch64-core.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: aarch64-core.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_aarch64_core (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.core", "aarch64-core.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.core");
   tdesc_type_with_fields *type_with_fields;
   type_with_fields = tdesc_create_flags (feature, "cpsr_flags", 4);
   tdesc_add_flag (type_with_fields, 0, "SP");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/aarch64-fpu.c ./gdb/features/aarch64-fpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/aarch64-fpu.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/aarch64-fpu.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: aarch64-fpu.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_aarch64_fpu (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.fpu", "aarch64-fpu.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.fpu");
   tdesc_type *element_type;
   element_type = tdesc_named_type (feature, "ieee_double");
   tdesc_create_vector (feature, "v2d", element_type, 2);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/aarch64-sve.c ./gdb/features/aarch64-sve.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/aarch64-sve.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/features/aarch64-sve.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,158 @@
+/* Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common/tdesc.h"
+
+/* This function is NOT auto generated from xml.  Create the aarch64 with SVE
+   feature into RESULT, where SCALE is the number of 128 bit chunks in a Z
+   register.  */
+
+static int
+create_feature_aarch64_sve (struct target_desc *result, long regnum,
+			    uint64_t scale)
+{
+  struct tdesc_feature *feature;
+  tdesc_type *element_type, *field_type;
+  tdesc_type_with_fields *type_with_fields;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.sve");
+
+  element_type = tdesc_named_type (feature, "ieee_double");
+  tdesc_create_vector (feature, "svevdf", element_type, 2 * scale);
+
+  element_type = tdesc_named_type (feature, "uint64");
+  tdesc_create_vector (feature, "svevdu", element_type, 2 * scale);
+
+  element_type = tdesc_named_type (feature, "int64");
+  tdesc_create_vector (feature, "svevds", element_type, 2 * scale);
+
+  element_type = tdesc_named_type (feature, "ieee_single");
+  tdesc_create_vector (feature, "svevsf", element_type, 4 * scale);
+
+  element_type = tdesc_named_type (feature, "uint32");
+  tdesc_create_vector (feature, "svevsu", element_type, 4 * scale);
+
+  element_type = tdesc_named_type (feature, "int32");
+  tdesc_create_vector (feature, "svevss", element_type, 4 * scale);
+
+  element_type = tdesc_named_type (feature, "uint16");
+  tdesc_create_vector (feature, "svevhu", element_type, 8 * scale);
+
+  element_type = tdesc_named_type (feature, "int16");
+  tdesc_create_vector (feature, "svevhs", element_type, 8 * scale);
+
+  element_type = tdesc_named_type (feature, "uint8");
+  tdesc_create_vector (feature, "svevbu", element_type, 16 * scale);
+
+  element_type = tdesc_named_type (feature, "int8");
+  tdesc_create_vector (feature, "svevbs", element_type, 16 * scale);
+
+  type_with_fields = tdesc_create_union (feature, "svevnd");
+  field_type = tdesc_named_type (feature, "svevdf");
+  tdesc_add_field (type_with_fields, "f", field_type);
+  field_type = tdesc_named_type (feature, "svevdu");
+  tdesc_add_field (type_with_fields, "u", field_type);
+  field_type = tdesc_named_type (feature, "svevds");
+  tdesc_add_field (type_with_fields, "s", field_type);
+
+  type_with_fields = tdesc_create_union (feature, "svevns");
+  field_type = tdesc_named_type (feature, "svevsf");
+  tdesc_add_field (type_with_fields, "f", field_type);
+  field_type = tdesc_named_type (feature, "svevsu");
+  tdesc_add_field (type_with_fields, "u", field_type);
+  field_type = tdesc_named_type (feature, "svevss");
+  tdesc_add_field (type_with_fields, "s", field_type);
+
+  type_with_fields = tdesc_create_union (feature, "svevnh");
+  field_type = tdesc_named_type (feature, "svevhu");
+  tdesc_add_field (type_with_fields, "u", field_type);
+  field_type = tdesc_named_type (feature, "svevhs");
+  tdesc_add_field (type_with_fields, "s", field_type);
+
+  type_with_fields = tdesc_create_union (feature, "svevnb");
+  field_type = tdesc_named_type (feature, "svevbu");
+  tdesc_add_field (type_with_fields, "u", field_type);
+  field_type = tdesc_named_type (feature, "svevbs");
+  tdesc_add_field (type_with_fields, "s", field_type);
+
+  type_with_fields = tdesc_create_union (feature, "svev");
+  field_type = tdesc_named_type (feature, "svevnd");
+  tdesc_add_field (type_with_fields, "d", field_type);
+  field_type = tdesc_named_type (feature, "svevns");
+  tdesc_add_field (type_with_fields, "s", field_type);
+  field_type = tdesc_named_type (feature, "svevnh");
+  tdesc_add_field (type_with_fields, "h", field_type);
+  field_type = tdesc_named_type (feature, "svevnb");
+  tdesc_add_field (type_with_fields, "b", field_type);
+
+  field_type = tdesc_named_type (feature, "uint8");
+  tdesc_create_vector (feature, "svep", field_type, 2 * scale);
+
+  tdesc_create_reg (feature, "z0", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z1", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z2", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z3", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z4", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z5", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z6", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z7", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z8", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z9", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z10", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z11", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z12", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z13", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z14", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z15", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z16", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z17", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z18", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z19", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z20", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z21", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z22", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z23", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z24", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z25", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z26", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z27", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z28", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z29", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z30", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "z31", regnum++, 1, NULL, 128 * scale, "svev");
+  tdesc_create_reg (feature, "fpsr", regnum++, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "fpcr", regnum++, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "p0", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p1", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p2", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p3", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p4", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p5", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p6", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p7", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p8", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p9", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p10", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p11", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p12", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p13", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p14", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "p15", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "ffr", regnum++, 1, NULL, 16 * scale, "svep");
+  tdesc_create_reg (feature, "vg", regnum++, 1, NULL, 64, "int");
+  return regnum;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-avx512.c ./gdb/features/i386/32bit-avx512.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-avx512.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/32bit-avx512.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 32bit-avx512.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_32bit_avx512 (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx512", "32bit-avx512.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx512");
   tdesc_type *element_type;
   element_type = tdesc_named_type (feature, "uint128");
   tdesc_create_vector (feature, "v2ui128", element_type, 2);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-avx.c ./gdb/features/i386/32bit-avx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-avx.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/32bit-avx.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 32bit-avx.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_32bit_avx (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx", "32bit-avx.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx");
   tdesc_create_reg (feature, "ymm0h", regnum++, 1, NULL, 128, "uint128");
   tdesc_create_reg (feature, "ymm1h", regnum++, 1, NULL, 128, "uint128");
   tdesc_create_reg (feature, "ymm2h", regnum++, 1, NULL, 128, "uint128");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-core.c ./gdb/features/i386/32bit-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-core.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/32bit-core.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 32bit-core.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_32bit_core (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core", "32bit-core.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core");
   tdesc_type_with_fields *type_with_fields;
   type_with_fields = tdesc_create_flags (feature, "i386_eflags", 4);
   tdesc_add_flag (type_with_fields, 0, "CF");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-linux.c ./gdb/features/i386/32bit-linux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-linux.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/32bit-linux.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 32bit-linux.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_32bit_linux (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux", "32bit-linux.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux");
   regnum = 41;
   tdesc_create_reg (feature, "orig_eax", regnum++, 1, NULL, 32, "int");
   return regnum;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-mpx.c ./gdb/features/i386/32bit-mpx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-mpx.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/32bit-mpx.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 32bit-mpx.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_32bit_mpx (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx", "32bit-mpx.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx");
   tdesc_type_with_fields *type_with_fields;
   type_with_fields = tdesc_create_struct (feature, "br128");
   tdesc_type *field_type;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-pkeys.c ./gdb/features/i386/32bit-pkeys.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-pkeys.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/32bit-pkeys.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 32bit-pkeys.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_32bit_pkeys (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.pkeys", "32bit-pkeys.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.pkeys");
   tdesc_create_reg (feature, "pkru", regnum++, 1, NULL, 32, "uint32");
   return regnum;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-sse.c ./gdb/features/i386/32bit-sse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/32bit-sse.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/32bit-sse.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 32bit-sse.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_32bit_sse (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse", "32bit-sse.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse");
   tdesc_type *element_type;
   element_type = tdesc_named_type (feature, "ieee_single");
   tdesc_create_vector (feature, "v4f", element_type, 4);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-avx512.c ./gdb/features/i386/64bit-avx512.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-avx512.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/64bit-avx512.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 64bit-avx512.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_64bit_avx512 (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx512", "64bit-avx512.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx512");
   tdesc_type *element_type;
   element_type = tdesc_named_type (feature, "ieee_single");
   tdesc_create_vector (feature, "v4f", element_type, 4);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-avx.c ./gdb/features/i386/64bit-avx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-avx.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/64bit-avx.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 64bit-avx.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_64bit_avx (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx", "64bit-avx.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx");
   tdesc_create_reg (feature, "ymm0h", regnum++, 1, NULL, 128, "uint128");
   tdesc_create_reg (feature, "ymm1h", regnum++, 1, NULL, 128, "uint128");
   tdesc_create_reg (feature, "ymm2h", regnum++, 1, NULL, 128, "uint128");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-core.c ./gdb/features/i386/64bit-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-core.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/64bit-core.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 64bit-core.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_64bit_core (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core", "64bit-core.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core");
   tdesc_type_with_fields *type_with_fields;
   type_with_fields = tdesc_create_flags (feature, "i386_eflags", 4);
   tdesc_add_flag (type_with_fields, 0, "CF");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-linux.c ./gdb/features/i386/64bit-linux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-linux.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/64bit-linux.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 64bit-linux.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_64bit_linux (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux", "64bit-linux.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux");
   regnum = 57;
   tdesc_create_reg (feature, "orig_rax", regnum++, 1, NULL, 64, "int");
   return regnum;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-mpx.c ./gdb/features/i386/64bit-mpx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-mpx.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/64bit-mpx.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 64bit-mpx.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_64bit_mpx (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx", "64bit-mpx.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx");
   tdesc_type_with_fields *type_with_fields;
   type_with_fields = tdesc_create_struct (feature, "br128");
   tdesc_type *field_type;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-pkeys.c ./gdb/features/i386/64bit-pkeys.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-pkeys.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/64bit-pkeys.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 64bit-pkeys.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_64bit_pkeys (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.pkeys", "64bit-pkeys.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.pkeys");
   tdesc_create_reg (feature, "pkru", regnum++, 1, NULL, 32, "uint32");
   return regnum;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-segments.c ./gdb/features/i386/64bit-segments.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-segments.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/64bit-segments.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 64bit-segments.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_64bit_segments (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.segments", "64bit-segments.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.segments");
   tdesc_create_reg (feature, "fs_base", regnum++, 1, NULL, 64, "int");
   tdesc_create_reg (feature, "gs_base", regnum++, 1, NULL, 64, "int");
   return regnum;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-sse.c ./gdb/features/i386/64bit-sse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/64bit-sse.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/64bit-sse.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: 64bit-sse.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_64bit_sse (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse", "64bit-sse.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse");
   tdesc_type *element_type;
   element_type = tdesc_named_type (feature, "ieee_single");
   tdesc_create_vector (feature, "v4f", element_type, 4);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/x32-core.c ./gdb/features/i386/x32-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/i386/x32-core.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/i386/x32-core.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: x32-core.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_i386_x32_core (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core", "x32-core.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core");
   tdesc_type_with_fields *type_with_fields;
   type_with_fields = tdesc_create_flags (feature, "i386_eflags", 4);
   tdesc_add_flag (type_with_fields, 0, "CF");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/Makefile ./gdb/features/Makefile
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/Makefile	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/Makefile	2018-07-10 02:06:13.000000000 +0000
@@ -193,12 +193,18 @@ XMLTOC = \
 TDESC_CFILES = $(patsubst %.xml,%.c,$(XMLTOC))
 GDB = false
 
+#Targets which use feature based target descriptions.
+aarch64-feature = 1
+i386-feature = 1
+tic6x-feature = 1
+
 all: $(OUTPUTS)
 
 $(outdir)/%.dat: %.xml number-regs.xsl sort-regs.xsl gdbserver-regs.xsl
 	echo "# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:" > $(outdir)/$*.tmp
 	echo "# Generated from: $<" >> $(outdir)/$*.tmp
 	echo "name:`echo $(notdir $*) | sed 's/-/_/g'`" >> $(outdir)/$*.tmp
+	$(if $($(firstword $(subst /, ,$(subst -, ,$*)))-feature), echo "feature:1") >> $(outdir)/$*.tmp
 	echo "xmltarget:$(<F)" >> $(outdir)/$*.tmp
 	echo "expedite:$(if $($*-expedite),$($*-expedite),$($(firstword $(subst -, ,$(notdir $*)))-expedite))" \
 	  >> $(outdir)/$*.tmp
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/tic6x-c6xp.c ./gdb/features/tic6x-c6xp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/tic6x-c6xp.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/tic6x-c6xp.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: tic6x-c6xp.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_tic6x_c6xp (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.c6xp", "tic6x-c6xp.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.c6xp");
   tdesc_create_reg (feature, "TSR", regnum++, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "ILC", regnum++, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "RILC", regnum++, 1, NULL, 32, "uint32");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/tic6x-core.c ./gdb/features/tic6x-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/tic6x-core.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/tic6x-core.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: tic6x-core.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_tic6x_core (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.core", "tic6x-core.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.core");
   tdesc_create_reg (feature, "A0", regnum++, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "A1", regnum++, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "A2", regnum++, 1, NULL, 32, "uint32");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/tic6x-gp.c ./gdb/features/tic6x-gp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/features/tic6x-gp.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/features/tic6x-gp.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,14 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
   Original: tic6x-gp.xml */
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 static int
 create_feature_tic6x_gp (struct target_desc *result, long regnum)
 {
   struct tdesc_feature *feature;
 
-  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.gp", "tic6x-gp.xml");
+  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.gp");
   tdesc_create_reg (feature, "A16", regnum++, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "A17", regnum++, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "A18", regnum++, 1, NULL, 32, "uint32");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/f-exp.c ./gdb/f-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/f-exp.c	2018-07-03 02:10:18.000000000 +0000
+++ ./gdb/f-exp.c	2018-07-10 02:10:06.000000000 +0000
@@ -101,7 +101,7 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static void growbuf_by_size (int);
 
@@ -110,7 +110,7 @@ static int match_string_literal (void);
 
 
 /* Line 189 of yacc.c  */
-#line 114 "f-exp.c"
+#line 114 "f-exp.c.tmp"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -252,7 +252,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 256 "f-exp.c"
+#line 256 "f-exp.c.tmp"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -271,7 +271,7 @@ static int parse_number (struct parser_s
 
 
 /* Line 264 of yacc.c  */
-#line 275 "f-exp.c"
+#line 275 "f-exp.c.tmp"
 
 #ifdef short
 # undef short
@@ -593,10 +593,10 @@ static const yytype_uint16 yyrline[] =
      276,   282,   288,   292,   300,   306,   314,   318,   322,   326,
      330,   334,   338,   342,   346,   350,   354,   358,   362,   366,
      370,   374,   378,   382,   387,   391,   395,   401,   408,   419,
-     426,   429,   432,   443,   450,   458,   495,   498,   499,   543,
-     545,   547,   549,   551,   554,   556,   558,   562,   564,   569,
-     571,   573,   575,   577,   579,   581,   583,   585,   587,   589,
-     591,   593,   595,   600,   605,   612,   616
+     426,   429,   432,   443,   450,   458,   490,   493,   494,   538,
+     540,   542,   544,   546,   549,   551,   553,   557,   559,   564,
+     566,   568,   570,   572,   574,   576,   578,   580,   582,   584,
+     586,   588,   590,   595,   600,   607,   611
 };
 #endif
 
@@ -2064,12 +2064,7 @@ yyreduce:
 			  if (sym.symbol)
 			    {
 			      if (symbol_read_needs_frame (sym.symbol))
-				{
-				  if (innermost_block == 0
-				      || contained_in (sym.block,
-						       innermost_block))
-				    innermost_block = sym.block;
-				}
+				innermost_block.update (sym);
 			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			      write_exp_elt_block (pstate, sym.block);
 			      write_exp_elt_sym (pstate, sym.symbol);
@@ -2097,7 +2092,7 @@ yyreduce:
   case 58:
 
 /* Line 1455 of yacc.c  */
-#line 500 "f-exp.y"
+#line 495 "f-exp.y"
     {
 		  /* This is where the interesting stuff happens.  */
 		  int done = 0;
@@ -2144,168 +2139,168 @@ yyreduce:
   case 59:
 
 /* Line 1455 of yacc.c  */
-#line 544 "f-exp.y"
+#line 539 "f-exp.y"
     { push_type (tp_pointer); (yyval.voidval) = 0; }
     break;
 
   case 60:
 
 /* Line 1455 of yacc.c  */
-#line 546 "f-exp.y"
+#line 541 "f-exp.y"
     { push_type (tp_pointer); (yyval.voidval) = (yyvsp[(2) - (2)].voidval); }
     break;
 
   case 61:
 
 /* Line 1455 of yacc.c  */
-#line 548 "f-exp.y"
+#line 543 "f-exp.y"
     { push_type (tp_reference); (yyval.voidval) = 0; }
     break;
 
   case 62:
 
 /* Line 1455 of yacc.c  */
-#line 550 "f-exp.y"
+#line 545 "f-exp.y"
     { push_type (tp_reference); (yyval.voidval) = (yyvsp[(2) - (2)].voidval); }
     break;
 
   case 64:
 
 /* Line 1455 of yacc.c  */
-#line 555 "f-exp.y"
+#line 550 "f-exp.y"
     { (yyval.voidval) = (yyvsp[(2) - (3)].voidval); }
     break;
 
   case 65:
 
 /* Line 1455 of yacc.c  */
-#line 557 "f-exp.y"
+#line 552 "f-exp.y"
     { push_type (tp_function); }
     break;
 
   case 66:
 
 /* Line 1455 of yacc.c  */
-#line 559 "f-exp.y"
+#line 554 "f-exp.y"
     { push_type (tp_function); }
     break;
 
   case 67:
 
 /* Line 1455 of yacc.c  */
-#line 563 "f-exp.y"
+#line 558 "f-exp.y"
     { (yyval.voidval) = 0; }
     break;
 
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 565 "f-exp.y"
+#line 560 "f-exp.y"
     { xfree ((yyvsp[(2) - (3)].tvec)); (yyval.voidval) = 0; }
     break;
 
   case 69:
 
 /* Line 1455 of yacc.c  */
-#line 570 "f-exp.y"
+#line 565 "f-exp.y"
     { (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; }
     break;
 
   case 70:
 
 /* Line 1455 of yacc.c  */
-#line 572 "f-exp.y"
+#line 567 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_integer; }
     break;
 
   case 71:
 
 /* Line 1455 of yacc.c  */
-#line 574 "f-exp.y"
+#line 569 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_integer_s2; }
     break;
 
   case 72:
 
 /* Line 1455 of yacc.c  */
-#line 576 "f-exp.y"
+#line 571 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_character; }
     break;
 
   case 73:
 
 /* Line 1455 of yacc.c  */
-#line 578 "f-exp.y"
+#line 573 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_logical_s8; }
     break;
 
   case 74:
 
 /* Line 1455 of yacc.c  */
-#line 580 "f-exp.y"
+#line 575 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_logical; }
     break;
 
   case 75:
 
 /* Line 1455 of yacc.c  */
-#line 582 "f-exp.y"
+#line 577 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_logical_s2; }
     break;
 
   case 76:
 
 /* Line 1455 of yacc.c  */
-#line 584 "f-exp.y"
+#line 579 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_logical_s1; }
     break;
 
   case 77:
 
 /* Line 1455 of yacc.c  */
-#line 586 "f-exp.y"
+#line 581 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_real; }
     break;
 
   case 78:
 
 /* Line 1455 of yacc.c  */
-#line 588 "f-exp.y"
+#line 583 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_real_s8; }
     break;
 
   case 79:
 
 /* Line 1455 of yacc.c  */
-#line 590 "f-exp.y"
+#line 585 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_real_s16; }
     break;
 
   case 80:
 
 /* Line 1455 of yacc.c  */
-#line 592 "f-exp.y"
+#line 587 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_complex_s8; }
     break;
 
   case 81:
 
 /* Line 1455 of yacc.c  */
-#line 594 "f-exp.y"
+#line 589 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_complex_s16; }
     break;
 
   case 82:
 
 /* Line 1455 of yacc.c  */
-#line 596 "f-exp.y"
+#line 591 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_complex_s32; }
     break;
 
   case 83:
 
 /* Line 1455 of yacc.c  */
-#line 601 "f-exp.y"
+#line 596 "f-exp.y"
     { (yyval.tvec) = (struct type **) xmalloc (sizeof (struct type *) * 2);
 		  (yyval.ivec)[0] = 1;	/* Number of types in vector */
 		  (yyval.tvec)[1] = (yyvsp[(1) - (1)].tval);
@@ -2315,7 +2310,7 @@ yyreduce:
   case 84:
 
 /* Line 1455 of yacc.c  */
-#line 606 "f-exp.y"
+#line 601 "f-exp.y"
     { int len = sizeof (struct type *) * (++((yyvsp[(1) - (3)].ivec)[0]) + 1);
 		  (yyval.tvec) = (struct type **) xrealloc ((char *) (yyvsp[(1) - (3)].tvec), len);
 		  (yyval.tvec)[(yyval.ivec)[0]] = (yyvsp[(3) - (3)].tval);
@@ -2325,14 +2320,14 @@ yyreduce:
   case 85:
 
 /* Line 1455 of yacc.c  */
-#line 613 "f-exp.y"
+#line 608 "f-exp.y"
     {  (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
 
 
 /* Line 1455 of yacc.c  */
-#line 2337 "f-exp.c"
+#line 2332 "f-exp.c.tmp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2544,7 +2539,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 626 "f-exp.y"
+#line 621 "f-exp.y"
 
 
 /* Take care of parsing a number (anything that starts with a digit).
@@ -2935,7 +2930,7 @@ yylex (void)
       /* Might be a floating point number.  */
       if (lexptr[1] < '0' || lexptr[1] > '9')
 	goto symbol;		/* Nope, must be a symbol.  */
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
       
     case '0':
     case '1':
@@ -3143,12 +3138,12 @@ f_parse (struct parser_state *par_state)
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/f-exp.y ./gdb/f-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/f-exp.y	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/f-exp.y	2018-07-10 02:06:13.000000000 +0000
@@ -72,7 +72,7 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static void growbuf_by_size (int);
 
@@ -461,12 +461,7 @@ variable:	name_not_typename
 			  if (sym.symbol)
 			    {
 			      if (symbol_read_needs_frame (sym.symbol))
-				{
-				  if (innermost_block == 0
-				      || contained_in (sym.block,
-						       innermost_block))
-				    innermost_block = sym.block;
-				}
+				innermost_block.update (sym);
 			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			      write_exp_elt_block (pstate, sym.block);
 			      write_exp_elt_sym (pstate, sym.symbol);
@@ -1013,7 +1008,7 @@ yylex (void)
       /* Might be a floating point number.  */
       if (lexptr[1] < '0' || lexptr[1] > '9')
 	goto symbol;		/* Nope, must be a symbol.  */
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
       
     case '0':
     case '1':
@@ -1221,11 +1216,11 @@ f_parse (struct parser_state *par_state)
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/filename-seen-cache.h ./gdb/filename-seen-cache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/filename-seen-cache.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/filename-seen-cache.h	2018-07-10 02:06:13.000000000 +0000
@@ -17,6 +17,9 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#ifndef FILENAME_SEEN_CACHE_H
+#define FILENAME_SEEN_CACHE_H
+
 #include "defs.h"
 #include "common/function-view.h"
 
@@ -59,3 +62,5 @@ private:
   /* Table of files seen so far.  */
   htab_t m_tab;
 };
+
+#endif /* FILENAME_SEEN_CACHE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/findvar.c ./gdb/findvar.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/findvar.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/findvar.c	2018-07-10 02:06:13.000000000 +0000
@@ -1004,7 +1004,6 @@ address_from_register (int regnum, struc
 
   result = value_as_address (value);
   release_value (value);
-  value_free (value);
 
   return result;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/f-lang.c ./gdb/f-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/f-lang.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/f-lang.c	2018-07-10 02:06:13.000000000 +0000
@@ -257,7 +257,6 @@ extern const struct language_defn f_lang
   f_extensions,
   &exp_descriptor_standard,
   f_parse,			/* parser */
-  f_yyerror,			/* parser error function */
   null_post_parser,
   f_printchar,			/* Print character constant */
   f_printstr,			/* function to print string constant */
@@ -269,6 +268,7 @@ extern const struct language_defn f_lang
   default_read_var_value,	/* la_read_var_value */
   NULL,				/* Language specific skip_trampoline */
   NULL,                    	/* name_of_this */
+  false,			/* la_store_sym_names_in_linkage_form_p */
   cp_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/f-lang.h ./gdb/f-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/f-lang.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/f-lang.h	2018-07-10 02:06:13.000000000 +0000
@@ -25,8 +25,6 @@ struct parser_state;
 
 extern int f_parse (struct parser_state *);
 
-extern void f_yyerror (const char *);	/* Defined in f-exp.y */
-
 extern void f_print_type (struct type *, const char *, struct ui_file *, int,
 			  int, const struct type_print_options *);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/fork-child.c ./gdb/fork-child.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/fork-child.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/fork-child.c	2018-07-10 02:06:13.000000000 +0000
@@ -88,7 +88,7 @@ postfork_hook (pid_t pid)
   inferior_appeared (inf, pid);
 
   /* Needed for wait_for_inferior stuff.  */
-  inferior_ptid = pid_to_ptid (pid);
+  inferior_ptid = ptid_t (pid);
 
   gdb_assert (saved_ui != NULL);
   current_ui = saved_ui;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/frame.c ./gdb/frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/frame.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/frame.c	2018-07-10 02:06:13.000000000 +0000
@@ -34,7 +34,7 @@
 #include "frame-base.h"
 #include "command.h"
 #include "gdbcmd.h"
-#include "observer.h"
+#include "observable.h"
 #include "objfiles.h"
 #include "gdbthread.h"
 #include "block.h"
@@ -269,6 +269,22 @@ frame_stash_invalidate (void)
   htab_empty (frame_stash);
 }
 
+/* See frame.h  */
+scoped_restore_selected_frame::scoped_restore_selected_frame ()
+{
+  m_fid = get_frame_id (get_selected_frame (NULL));
+}
+
+/* See frame.h  */
+scoped_restore_selected_frame::~scoped_restore_selected_frame ()
+{
+  frame_info *frame = frame_find_by_id (m_fid);
+  if (frame == NULL)
+    warning (_("Unable to restore previously selected frame."));
+  else
+    select_frame (frame);
+}
+
 /* Flag to control debugging.  */
 
 unsigned int frame_debug;
@@ -1008,22 +1024,20 @@ get_frame_func (struct frame_info *this_
   return pc;
 }
 
-static enum register_status
-do_frame_register_read (void *src, int regnum, gdb_byte *buf)
-{
-  if (!deprecated_frame_register_read ((struct frame_info *) src, regnum, buf))
-    return REG_UNAVAILABLE;
-  else
-    return REG_VALID;
-}
-
-std::unique_ptr<struct regcache>
+std::unique_ptr<readonly_detached_regcache>
 frame_save_as_regcache (struct frame_info *this_frame)
 {
-  std::unique_ptr<struct regcache> regcache
-    (new struct regcache (get_frame_arch (this_frame)));
+  auto cooked_read = [this_frame] (int regnum, gdb_byte *buf)
+    {
+      if (!deprecated_frame_register_read (this_frame, regnum, buf))
+	return REG_UNAVAILABLE;
+      else
+	return REG_VALID;
+    };
+
+  std::unique_ptr<readonly_detached_regcache> regcache
+    (new readonly_detached_regcache (get_frame_arch (this_frame), cooked_read));
 
-  regcache_save (regcache.get (), do_frame_register_read, this_frame);
   return regcache;
 }
 
@@ -1036,7 +1050,7 @@ frame_pop (struct frame_info *this_frame
     {
       /* Popping a dummy frame involves restoring more than just registers.
 	 dummy_frame_pop does all the work.  */
-      dummy_frame_pop (get_frame_id (this_frame), inferior_ptid);
+      dummy_frame_pop (get_frame_id (this_frame), inferior_thread ());
       return;
     }
 
@@ -1057,7 +1071,7 @@ frame_pop (struct frame_info *this_frame
      Save them in a scratch buffer so that there isn't a race between
      trying to extract the old values from the current regcache while
      at the same time writing new values into that same cache.  */
-  std::unique_ptr<struct regcache> scratch
+  std::unique_ptr<readonly_detached_regcache> scratch
     = frame_save_as_regcache (prev_frame);
 
   /* FIXME: cagney/2003-03-16: It should be possible to tell the
@@ -1068,9 +1082,8 @@ frame_pop (struct frame_info *this_frame
      Unfortunately, they don't implement it.  Their lack of a formal
      definition can lead to targets writing back bogus values
      (arguably a bug in the target code mind).  */
-  /* Now copy those saved registers into the current regcache.
-     Here, regcache_cpy() calls regcache_restore().  */
-  regcache_cpy (get_current_regcache (), scratch.get ());
+  /* Now copy those saved registers into the current regcache.  */
+  get_current_regcache ()->restore (scratch.get ());
 
   /* We've made right mess of GDB's local state, just discard
      everything.  */
@@ -1118,7 +1131,6 @@ frame_register_unwind (struct frame_info
   /* Dispose of the new value.  This prevents watchpoints from
      trying to watch the saved frame pointer.  */
   release_value (value);
-  value_free (value);
 }
 
 void
@@ -1265,7 +1277,6 @@ frame_unwind_register_signed (struct fra
 				      byte_order);
 
   release_value (value);
-  value_free (value);
   return r;
 }
 
@@ -1300,7 +1311,6 @@ frame_unwind_register_unsigned (struct f
 					 byte_order);
 
   release_value (value);
-  value_free (value);
   return r;
 }
 
@@ -1353,7 +1363,7 @@ put_frame_register (struct frame_info *f
 	break;
       }
     case lval_register:
-      regcache_cooked_write (get_current_regcache (), realnum, buf);
+      get_current_regcache ()->cooked_write (realnum, buf);
       break;
     default:
       error (_("Attempt to assign to an unmodifiable value."));
@@ -1447,12 +1457,10 @@ get_frame_register_bytes (struct frame_i
 	  if (*optimizedp || *unavailablep)
 	    {
 	      release_value (value);
-	      value_free (value);
 	      return 0;
 	    }
 	  memcpy (myaddr, value_contents_all (value) + offset, curr_len);
 	  release_value (value);
-	  value_free (value);
 	}
 
       myaddr += curr_len;
@@ -1501,7 +1509,6 @@ put_frame_register_bytes (struct frame_i
 		  curr_len);
 	  put_frame_register (frame, regnum, value_contents_raw (value));
 	  release_value (value);
-	  value_free (value);
 	}
 
       myaddr += curr_len;
@@ -1615,15 +1622,16 @@ has_stack_frames (void)
   if (get_traceframe_number () < 0)
     {
       /* No current inferior, no frame.  */
-      if (ptid_equal (inferior_ptid, null_ptid))
+      if (inferior_ptid == null_ptid)
 	return 0;
 
+      thread_info *tp = inferior_thread ();
       /* Don't try to read from a dead thread.  */
-      if (is_exited (inferior_ptid))
+      if (tp->state == THREAD_EXITED)
 	return 0;
 
       /* ... or from a spinning thread.  */
-      if (is_executing (inferior_ptid))
+      if (tp->executing)
 	return 0;
     }
 
@@ -1862,22 +1870,6 @@ frame_register_unwind_location (struct f
     }
 }
 
-/* Called during frame unwinding to remove a previous frame pointer from a
-   frame passed in ARG.  */
-
-static void
-remove_prev_frame (void *arg)
-{
-  struct frame_info *this_frame, *prev_frame;
-
-  this_frame = (struct frame_info *) arg;
-  prev_frame = this_frame->prev;
-  gdb_assert (prev_frame != NULL);
-
-  prev_frame->next = NULL;
-  this_frame->prev = NULL;
-}
-
 /* Get the previous raw frame, and check that it is not identical to
    same other frame frame already in the chain.  If it is, there is
    most likely a stack cycle, so we discard it, and mark THIS_FRAME as
@@ -1890,7 +1882,6 @@ static struct frame_info *
 get_prev_frame_if_no_cycle (struct frame_info *this_frame)
 {
   struct frame_info *prev_frame;
-  struct cleanup *prev_frame_cleanup;
 
   prev_frame = get_prev_frame_raw (this_frame);
 
@@ -1906,29 +1897,35 @@ get_prev_frame_if_no_cycle (struct frame
   if (prev_frame->level == 0)
     return prev_frame;
 
-  /* The cleanup will remove the previous frame that get_prev_frame_raw
-     linked onto THIS_FRAME.  */
-  prev_frame_cleanup = make_cleanup (remove_prev_frame, this_frame);
-
-  compute_frame_id (prev_frame);
-  if (!frame_stash_add (prev_frame))
+  TRY
     {
-      /* Another frame with the same id was already in the stash.  We just
-	 detected a cycle.  */
-      if (frame_debug)
+      compute_frame_id (prev_frame);
+      if (!frame_stash_add (prev_frame))
 	{
-	  fprintf_unfiltered (gdb_stdlog, "-> ");
-	  fprint_frame (gdb_stdlog, NULL);
-	  fprintf_unfiltered (gdb_stdlog, " // this frame has same ID }\n");
+	  /* Another frame with the same id was already in the stash.  We just
+	     detected a cycle.  */
+	  if (frame_debug)
+	    {
+	      fprintf_unfiltered (gdb_stdlog, "-> ");
+	      fprint_frame (gdb_stdlog, NULL);
+	      fprintf_unfiltered (gdb_stdlog, " // this frame has same ID }\n");
+	    }
+	  this_frame->stop_reason = UNWIND_SAME_ID;
+	  /* Unlink.  */
+	  prev_frame->next = NULL;
+	  this_frame->prev = NULL;
+	  prev_frame = NULL;
 	}
-      this_frame->stop_reason = UNWIND_SAME_ID;
-      /* Unlink.  */
+    }
+  CATCH (ex, RETURN_MASK_ALL)
+    {
       prev_frame->next = NULL;
       this_frame->prev = NULL;
-      prev_frame = NULL;
+
+      throw_exception (ex);
     }
+  END_CATCH
 
-  discard_cleanups (prev_frame_cleanup);
   return prev_frame;
 }
 
@@ -2224,7 +2221,7 @@ inside_main_func (struct frame_info *thi
      returned.  */
   maddr = gdbarch_convert_from_func_ptr_addr (get_frame_arch (this_frame),
 					      BMSYMBOL_VALUE_ADDRESS (msymbol),
-					      &current_target);
+					      current_top_target ());
   return maddr == get_frame_func (this_frame);
 }
 
@@ -2501,7 +2498,7 @@ find_frame_sal (frame_info *frame)
       if (next_frame)
 	sym = get_frame_function (next_frame);
       else
-	sym = inline_skipped_symbol (inferior_ptid);
+	sym = inline_skipped_symbol (inferior_thread ());
 
       /* If frame is inline, it certainly has symbols.  */
       gdb_assert (sym);
@@ -2924,7 +2921,7 @@ _initialize_frame (void)
 
   frame_stash_create ();
 
-  observer_attach_target_changed (frame_observer_target_changed);
+  gdb::observers::target_changed.attach (frame_observer_target_changed);
 
   add_prefix_cmd ("backtrace", class_maintenance, set_backtrace_cmd, _("\
 Set backtrace specific variables.\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.1.0.20180703/gdb/frame.h ./gdb/frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/frame.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/frame.h	2018-07-10 02:06:13.000000000 +0000
@@ -164,6 +164,25 @@ struct frame_id
   int artificial_depth;
 };
 
+/* Save and restore the currently selected frame.  */
+
+class scoped_restore_selected_frame
+{
+public:
+  /* Save the currently selected frame.  */
+  scoped_restore_selected_frame ();
+
+  /* Restore the currently selected frame.  */
+  ~scoped_restore_selected_frame ();
+
+  DISABLE_COPY_AND_ASSIGN (scoped_restore_selected_frame);
+
+private:
+
+  /* The ID of the previously selected frame.  */
+  struct frame_id m_fid;
+};
+
 /* Methods for constructing and comparing Frame IDs.  */
 
 /* For convenience.  All fields are zero.  This means "there is no frame".  */
@@ -680,8 +699,9 @@ extern void *frame_obstack_zalloc (unsig
 #define FRAME_OBSTACK_CALLOC(NUMBER,TYPE) \
   ((TYPE *) frame_obstack_zalloc ((NUMBER) * sizeof (TYPE)))
 
+class readonly_detached_regcache;
 /* Create a regcache, and copy the frame's registers into it.  */
-std::unique_ptr<struct regcache> frame_save_as_regcache
+std::unique_ptr<readonly_detached_regcache> frame_save_as_regcache
     (struct frame_info *this_frame);
 
 extern const struct block *get_frame_block (struct frame_info *,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/frame-unwind.c ./gdb/frame-unwind.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/frame-unwind.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/frame-unwind.c	2018-07-10 02:06:13.000000000 +0000
@@ -110,13 +110,14 @@ frame_unwind_try_unwinder (struct frame_
       /* Catch all exceptions, caused by either interrupt or error.
 	 Reset *THIS_CACHE.  */
       *this_cache = NULL;
+      frame_cleanup_after_sniffer (this_frame);
+
       if (ex.error == NOT_AVAILABLE_ERROR)
 	{
 	  /* This usually means that not even the PC is available,
 	     thus most unwinders aren't able to determine if they're
 	     the best fit.  Keep trying.  Fallback prologue unwinders
 	     should always accept the frame.  */
-	  frame_cleanup_after_sniffer (this_frame);
 	  return 0;
 	}
       throw_exception (ex);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/frv-tdep.c ./gdb/frv-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/frv-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/frv-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -295,16 +295,16 @@ frv_register_type (struct gdbarch *gdbar
 }
 
 static enum register_status
-frv_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
+frv_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
                           int reg, gdb_byte *buffer)
 {
   enum register_status status;
 
   if (reg == iacc0_regnum)
     {
-      status = regcache_raw_read (regcache, iacc0h_regnum, buffer);
+      status = regcache->raw_read (iacc0h_regnum, buffer);
       if (status == REG_VALID)
-	status = regcache_raw_read (regcache, iacc0l_regnum, (bfd_byte *) buffer + 4);
+	status = regcache->raw_read (iacc0l_regnum, (bfd_byte *) buffer + 4);
     }
   else if (accg0_regnum <= reg && reg <= accg7_regnum)
     {
@@ -315,7 +315,7 @@ frv_pseudo_register_read (struct gdbarch
       int byte_num = (reg - accg0_regnum) % 4;
       gdb_byte buf[4];
 
-      status = regcache_raw_read (regcache, raw_regnum, buf);
+      status = regcache->raw_read (raw_regnum, buf);
       if (status == REG_VALID)
 	{
 	  memset (buffer, 0, 4);
@@ -337,8 +337,8 @@ frv_pseudo_register_write (struct gdbarc
 {
   if (reg == iacc0_regnum)
     {
-      regcache_raw_write (regcache, iacc0h_regnum, buffer);
-      regcache_raw_write (regcache, iacc0l_regnum, (bfd_byte *) buffer + 4);
+      regcache->raw_write (iacc0h_regnum, buffer);
+      regcache->raw_write (iacc0l_regnum, (bfd_byte *) buffer + 4);
     }
   else if (accg0_regnum <= reg && reg <= accg7_regnum)
     {
@@ -349,9 +349,9 @@ frv_pseudo_register_write (struct gdbarc
       int byte_num = (reg - accg0_regnum) % 4;
       gdb_byte buf[4];
 
-      regcache_raw_read (regcache, raw_regnum, buf);
+      regcache->raw_read (raw_regnum, buf);
       buf[byte_num] = ((bfd_byte *) buffer)[0];
-      regcache_raw_write (regcache, raw_regnum, buf);
+      regcache->raw_write (raw_regnum, buf);
     }
 }
 
@@ -1327,12 +1327,12 @@ frv_store_return_value (struct type *typ
       bfd_byte val[4];
       memset (val, 0, sizeof (val));
       memcpy (val + (4 - len), valbuf, len);
-      regcache_cooked_write (regcache, 8, val);
+      regcache->cooked_write (8, val);
     }
   else if (len == 8)
     {
-      regcache_cooked_write (regcache, 8, valbuf);
-      regcache_cooked_write (regcache, 9, (bfd_byte *) valbuf + 4);
+      regcache->cooked_write (8, valbuf);
+      regcache->cooked_write (9, (bfd_byte *) valbuf + 4);
     }
   else
     internal_error (__FILE__, __LINE__,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ft32-tdep.c ./gdb/ft32-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ft32-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/ft32-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -383,26 +383,6 @@ ft32_address_class_name_to_type_flags (s
     return 0;
 }
 
-
-/* Implement the "read_pc" gdbarch method.  */
-
-static CORE_ADDR
-ft32_read_pc (struct regcache *regcache)
-{
-  ULONGEST pc;
-
-  regcache_cooked_read_unsigned (regcache, FT32_PC_REGNUM, &pc);
-  return pc;
-}
-
-/* Implement the "write_pc" gdbarch method.  */
-
-static void
-ft32_write_pc (struct regcache *regcache, CORE_ADDR val)
-{
-  regcache_cooked_write_unsigned (regcache, FT32_PC_REGNUM, val);
-}
-
 /* Implement the "unwind_sp" gdbarch method.  */
 
 static CORE_ADDR
@@ -622,8 +602,6 @@ ft32_gdbarch_init (struct gdbarch_info i
 				     func_void_type);
   TYPE_INSTANCE_FLAGS (tdep->pc_type) |= TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1;
 
-  set_gdbarch_read_pc (gdbarch, ft32_read_pc);
-  set_gdbarch_write_pc (gdbarch, ft32_write_pc);
   set_gdbarch_unwind_sp (gdbarch, ft32_unwind_sp);
 
   set_gdbarch_num_regs (gdbarch, FT32_NUM_REGS);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/f-typeprint.c ./gdb/f-typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/f-typeprint.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/f-typeprint.c	2018-07-10 02:06:13.000000000 +0000
@@ -290,7 +290,12 @@ f_type_print_base (struct type *type, st
 
   if ((show <= 0) && (TYPE_NAME (type) != NULL))
     {
-      fprintfi_filtered (level, stream, "%s", TYPE_NAME (type));
+      const char *prefix = "";
+      if (TYPE_CODE (type) == TYPE_CODE_UNION)
+	prefix = "Type, C_Union :: ";
+      else if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
+	prefix = "Type ";
+      fprintfi_filtered (level, stream, "%s%s", prefix, TYPE_NAME (type));
       return;
     }
 
@@ -370,7 +375,7 @@ f_type_print_base (struct type *type, st
 	fprintfi_filtered (level, stream, "Type, C_Union :: ");
       else
 	fprintfi_filtered (level, stream, "Type ");
-      fputs_filtered (TYPE_TAG_NAME (type), stream);
+      fputs_filtered (TYPE_NAME (type), stream);
       /* According to the definition,
          we only print structure elements in case show > 0.  */
       if (show > 0)
@@ -387,12 +392,12 @@ f_type_print_base (struct type *type, st
 	      fputs_filtered ("\n", stream);
 	    }
 	  fprintfi_filtered (level, stream, "End Type ");
-	  fputs_filtered (TYPE_TAG_NAME (type), stream);
+	  fputs_filtered (TYPE_NAME (type), stream);
 	}
       break;
 
     case TYPE_CODE_MODULE:
-      fprintfi_filtered (level, stream, "module %s", TYPE_TAG_NAME (type));
+      fprintfi_filtered (level, stream, "module %s", TYPE_NAME (type));
       break;
 
     default_case:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gcore ./gdb/gcore
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gcore	2018-07-03 02:10:14.000000000 +0000
+++ ./gdb/gcore	2018-07-10 02:10:02.000000000 +0000
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/env bash
 
 #   Copyright (C) 2003-2018 Free Software Foundation, Inc.
 
@@ -28,9 +28,9 @@ name=core
 dump_all_cmds=()
 
 while getopts :ao: opt; do
-    case $opt in
+    case "$opt" in
         a)
-            case $OSTYPE in
+            case "$OSTYPE" in
                 linux*)
                     dump_all_cmds=("-ex" "set use-coredump-filter off")
                     dump_all_cmds+=("-ex" "set dump-excluded-mappings on")
@@ -84,7 +84,7 @@ fi
 
 # Check if the GDB binary is in the expected path.  If not, just
 # quit with a message.
-if [ ! -f "$binary_path"/i386-pc-linux-gnu-gdb ]; then
+if [ ! -f "$binary_path/i386-pc-linux-gnu-gdb" ]; then
   echo "gcore: GDB binary (${binary_path}/i386-pc-linux-gnu-gdb) not found"
   exit 1
 fi
@@ -93,16 +93,16 @@ fi
 rc=0
 
 # Loop through pids
-for pid in $*
+for pid in "$@"
 do
 	# `</dev/null' to avoid touching interactive terminal if it is
 	# available but not accessible as GDB would get stopped on SIGTTIN.
-	$binary_path/i386-pc-linux-gnu-gdb </dev/null --nx --batch \
+	"$binary_path/i386-pc-linux-gnu-gdb" </dev/null --nx --batch \
 	    -ex "set pagination off" -ex "set height 0" -ex "set width 0" \
 	    "${dump_all_cmds[@]}" \
 	    -ex "attach $pid" -ex "gcore $name.$pid" -ex detach -ex quit
 
-	if [ -r $name.$pid ] ; then 
+	if [ -r "$name.$pid" ] ; then
 	    rc=0
 	else
 	    echo "i386-pc-linux-gnu-gcore: failed to create $name.$pid"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gcore.c ./gdb/gcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gcore.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gcore.c	2018-07-10 02:06:13.000000000 +0000
@@ -151,7 +151,7 @@ gcore_command (const char *args, int fro
   else
     {
       /* Default corefile name is "core.PID".  */
-      corefilename.reset (xstrprintf ("core.%d", ptid_get_pid (inferior_ptid)));
+      corefilename.reset (xstrprintf ("core.%d", inferior_ptid.pid ()));
     }
 
   if (info_verbose)
@@ -611,7 +611,8 @@ _initialize_gcore (void)
 {
   add_com ("generate-core-file", class_files, gcore_command, _("\
 Save a core file with the current state of the debugged process.\n\
-Argument is optional filename.  Default filename is 'core.<process_id>'."));
+Usage: generate-core-file [FILENAME]\n\
+Argument is optional filename.  Default filename is 'core.PROCESS_ID'."));
 
   add_com_alias ("gcore", "generate-core-file", class_files, 1);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gcore.in ./gdb/gcore.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gcore.in	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gcore.in	2018-07-10 02:06:13.000000000 +0000
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/env bash
 
 #   Copyright (C) 2003-2018 Free Software Foundation, Inc.
 
@@ -28,9 +28,9 @@ name=core
 dump_all_cmds=()
 
 while getopts :ao: opt; do
-    case $opt in
+    case "$opt" in
         a)
-            case $OSTYPE in
+            case "$OSTYPE" in
                 linux*)
                     dump_all_cmds=("-ex" "set use-coredump-filter off")
                     dump_all_cmds+=("-ex" "set dump-excluded-mappings on")
@@ -84,7 +84,7 @@ fi
 
 # Check if the GDB binary is in the expected path.  If not, just
 # quit with a message.
-if [ ! -f "$binary_path"/@GDB_TRANSFORM_NAME@ ]; then
+if [ ! -f "$binary_path/@GDB_TRANSFORM_NAME@" ]; then
   echo "gcore: GDB binary (${binary_path}/@GDB_TRANSFORM_NAME@) not found"
   exit 1
 fi
@@ -93,16 +93,16 @@ fi
 rc=0
 
 # Loop through pids
-for pid in $*
+for pid in "$@"
 do
 	# `</dev/null' to avoid touching interactive terminal if it is
 	# available but not accessible as GDB would get stopped on SIGTTIN.
-	$binary_path/@GDB_TRANSFORM_NAME@ </dev/null --nx --batch \
+	"$binary_path/@GDB_TRANSFORM_NAME@" </dev/null --nx --batch \
 	    -ex "set pagination off" -ex "set height 0" -ex "set width 0" \
 	    "${dump_all_cmds[@]}" \
 	    -ex "attach $pid" -ex "gcore $name.$pid" -ex detach -ex quit
 
-	if [ -r $name.$pid ] ; then 
+	if [ -r "$name.$pid" ] ; then
 	    rc=0
 	else
 	    echo "@GCORE_TRANSFORM_NAME@: failed to create $name.$pid"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbarch.c ./gdb/gdbarch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbarch.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbarch.c	2018-07-10 02:06:13.000000000 +0000
@@ -44,7 +44,7 @@
 #include "reggroups.h"
 #include "osabi.h"
 #include "gdb_obstack.h"
-#include "observer.h"
+#include "observable.h"
 #include "regcache.h"
 #include "objfiles.h"
 #include "auxv.h"
@@ -175,7 +175,6 @@ struct gdbarch
   int int_bit;
   int long_bit;
   int long_long_bit;
-  int long_long_align_bit;
   int half_bit;
   const struct floatformat ** half_format;
   int float_bit;
@@ -266,6 +265,7 @@ struct gdbarch
   gdbarch_skip_trampoline_code_ftype *skip_trampoline_code;
   gdbarch_skip_solib_resolver_ftype *skip_solib_resolver;
   gdbarch_in_solib_return_trampoline_ftype *in_solib_return_trampoline;
+  gdbarch_in_indirect_branch_thunk_ftype *in_indirect_branch_thunk;
   gdbarch_stack_frame_destroyed_p_ftype *stack_frame_destroyed_p;
   gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special;
   gdbarch_coff_make_msymbol_special_ftype *coff_make_msymbol_special;
@@ -350,8 +350,10 @@ struct gdbarch
   gdbarch_gcc_target_options_ftype *gcc_target_options;
   gdbarch_gnu_triplet_regexp_ftype *gnu_triplet_regexp;
   gdbarch_addressable_memory_unit_size_ftype *addressable_memory_unit_size;
+  const char * disassembler_options_implicit;
   char ** disassembler_options;
-  const disasm_options_t * valid_disassembler_options;
+  const disasm_options_and_args_t * valid_disassembler_options;
+  gdbarch_type_align_ftype *type_align;
 };
 
 /* Create a new ``struct gdbarch'' based on information provided by
@@ -387,7 +389,6 @@ gdbarch_alloc (const struct gdbarch_info
   gdbarch->int_bit = 4*TARGET_CHAR_BIT;
   gdbarch->long_bit = 4*TARGET_CHAR_BIT;
   gdbarch->long_long_bit = 2*gdbarch->long_bit;
-  gdbarch->long_long_align_bit = 2*gdbarch->long_bit;
   gdbarch->half_bit = 2*TARGET_CHAR_BIT;
   gdbarch->float_bit = 4*TARGET_CHAR_BIT;
   gdbarch->double_bit = 8*TARGET_CHAR_BIT;
@@ -433,6 +434,7 @@ gdbarch_alloc (const struct gdbarch_info
   gdbarch->skip_trampoline_code = generic_skip_trampoline_code;
   gdbarch->skip_solib_resolver = generic_skip_solib_resolver;
   gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
+  gdbarch->in_indirect_branch_thunk = default_in_indirect_branch_thunk;
   gdbarch->stack_frame_destroyed_p = generic_stack_frame_destroyed_p;
   gdbarch->coff_make_msymbol_special = default_coff_make_msymbol_special;
   gdbarch->make_symbol_special = default_make_symbol_special;
@@ -463,21 +465,17 @@ gdbarch_alloc (const struct gdbarch_info
   gdbarch->gcc_target_options = default_gcc_target_options;
   gdbarch->gnu_triplet_regexp = default_gnu_triplet_regexp;
   gdbarch->addressable_memory_unit_size = default_addressable_memory_unit_size;
+  gdbarch->type_align = default_type_align;
   /* gdbarch_alloc() */
 
   return gdbarch;
 }
 
 
-/* Allocate extra space using the per-architecture obstack.  */
 
-void *
-gdbarch_obstack_zalloc (struct gdbarch *arch, long size)
+obstack *gdbarch_obstack (gdbarch *arch)
 {
-  void *data = obstack_alloc (arch->obstack, size);
-
-  memset (data, 0, size);
-  return data;
+  return arch->obstack;
 }
 
 /* See gdbarch.h.  */
@@ -526,7 +524,6 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of int_bit, invalid_p == 0 */
   /* Skip verify of long_bit, invalid_p == 0 */
   /* Skip verify of long_long_bit, invalid_p == 0 */
-  /* Skip verify of long_long_align_bit, invalid_p == 0 */
   /* Skip verify of half_bit, invalid_p == 0 */
   if (gdbarch->half_format == 0)
     gdbarch->half_format = floatformats_ieee_half;
@@ -626,6 +623,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of skip_trampoline_code, invalid_p == 0 */
   /* Skip verify of skip_solib_resolver, invalid_p == 0 */
   /* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
+  /* Skip verify of in_indirect_branch_thunk, invalid_p == 0 */
   /* Skip verify of stack_frame_destroyed_p, invalid_p == 0 */
   /* Skip verify of elf_make_msymbol_special, has predicate.  */
   /* Skip verify of coff_make_msymbol_special, invalid_p == 0 */
@@ -710,8 +708,10 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of gcc_target_options, invalid_p == 0 */
   /* Skip verify of gnu_triplet_regexp, invalid_p == 0 */
   /* Skip verify of addressable_memory_unit_size, invalid_p == 0 */
+  /* Skip verify of disassembler_options_implicit, invalid_p == 0 */
   /* Skip verify of disassembler_options, invalid_p == 0 */
   /* Skip verify of valid_disassembler_options, invalid_p == 0 */
+  /* Skip verify of type_align, invalid_p == 0 */
   if (!log.empty ())
     internal_error (__FILE__, __LINE__,
                     _("verify_gdbarch: the following are invalid ...%s"),
@@ -904,6 +904,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: disassembler_options = %s\n",
                       pstring_ptr (gdbarch->disassembler_options));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: disassembler_options_implicit = %s\n",
+                      pstring (gdbarch->disassembler_options_implicit));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: gdbarch_displaced_step_copy_insn_p() = %d\n",
                       gdbarch_displaced_step_copy_insn_p (gdbarch));
   fprintf_unfiltered (file,
@@ -1102,6 +1105,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: have_nonsteppable_watchpoint = %s\n",
                       plongest (gdbarch->have_nonsteppable_watchpoint));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: in_indirect_branch_thunk = <%s>\n",
+                      host_address_to_string (gdbarch->in_indirect_branch_thunk));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: in_solib_return_trampoline = <%s>\n",
                       host_address_to_string (gdbarch->in_solib_return_trampoline));
   fprintf_unfiltered (file,
@@ -1156,9 +1162,6 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: long_double_format = %s\n",
                       pformat (gdbarch->long_double_format));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: long_long_align_bit = %s\n",
-                      plongest (gdbarch->long_long_align_bit));
-  fprintf_unfiltered (file,
                       "gdbarch_dump: long_long_bit = %s\n",
                       plongest (gdbarch->long_long_bit));
   fprintf_unfiltered (file,
@@ -1435,6 +1438,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: target_desc = %s\n",
                       host_address_to_string (gdbarch->target_desc));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: type_align = <%s>\n",
+                      host_address_to_string (gdbarch->type_align));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: gdbarch_unwind_pc_p() = %d\n",
                       gdbarch_unwind_pc_p (gdbarch));
   fprintf_unfiltered (file,
@@ -1626,23 +1632,6 @@ set_gdbarch_long_long_bit (struct gdbarc
 }
 
 int
-gdbarch_long_long_align_bit (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  /* Skip verify of long_long_align_bit, invalid_p == 0 */
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_long_long_align_bit called\n");
-  return gdbarch->long_long_align_bit;
-}
-
-void
-set_gdbarch_long_long_align_bit (struct gdbarch *gdbarch,
-                                 int long_long_align_bit)
-{
-  gdbarch->long_long_align_bit = long_long_align_bit;
-}
-
-int
 gdbarch_half_bit (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
@@ -1905,7 +1894,7 @@ gdbarch_read_pc_p (struct gdbarch *gdbar
 }
 
 CORE_ADDR
-gdbarch_read_pc (struct gdbarch *gdbarch, struct regcache *regcache)
+gdbarch_read_pc (struct gdbarch *gdbarch, readable_regcache *regcache)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->read_pc != NULL);
@@ -1970,7 +1959,7 @@ gdbarch_pseudo_register_read_p (struct g
 }
 
 enum register_status
-gdbarch_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, gdb_byte *buf)
+gdbarch_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum, gdb_byte *buf)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->pseudo_register_read != NULL);
@@ -1994,7 +1983,7 @@ gdbarch_pseudo_register_read_value_p (st
 }
 
 struct value *
-gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum)
+gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->pseudo_register_read_value != NULL);
@@ -3353,6 +3342,23 @@ set_gdbarch_in_solib_return_trampoline (
   gdbarch->in_solib_return_trampoline = in_solib_return_trampoline;
 }
 
+bool
+gdbarch_in_indirect_branch_thunk (struct gdbarch *gdbarch, CORE_ADDR pc)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->in_indirect_branch_thunk != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_in_indirect_branch_thunk called\n");
+  return gdbarch->in_indirect_branch_thunk (gdbarch, pc);
+}
+
+void
+set_gdbarch_in_indirect_branch_thunk (struct gdbarch *gdbarch,
+                                      gdbarch_in_indirect_branch_thunk_ftype in_indirect_branch_thunk)
+{
+  gdbarch->in_indirect_branch_thunk = in_indirect_branch_thunk;
+}
+
 int
 gdbarch_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR addr)
 {
@@ -4268,13 +4274,13 @@ gdbarch_get_syscall_number_p (struct gdb
 }
 
 LONGEST
-gdbarch_get_syscall_number (struct gdbarch *gdbarch, ptid_t ptid)
+gdbarch_get_syscall_number (struct gdbarch *gdbarch, thread_info *thread)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->get_syscall_number != NULL);
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_get_syscall_number called\n");
-  return gdbarch->get_syscall_number (gdbarch, ptid);
+  return gdbarch->get_syscall_number (gdbarch, thread);
 }
 
 void
@@ -4650,7 +4656,7 @@ set_gdbarch_has_shared_address_space (st
 }
 
 int
-gdbarch_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr, char **msg)
+gdbarch_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr, std::string *msg)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->fast_tracepoint_valid_at != NULL);
@@ -5043,6 +5049,23 @@ set_gdbarch_addressable_memory_unit_size
   gdbarch->addressable_memory_unit_size = addressable_memory_unit_size;
 }
 
+const char *
+gdbarch_disassembler_options_implicit (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  /* Skip verify of disassembler_options_implicit, invalid_p == 0 */
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_disassembler_options_implicit called\n");
+  return gdbarch->disassembler_options_implicit;
+}
+
+void
+set_gdbarch_disassembler_options_implicit (struct gdbarch *gdbarch,
+                                           const char * disassembler_options_implicit)
+{
+  gdbarch->disassembler_options_implicit = disassembler_options_implicit;
+}
+
 char **
 gdbarch_disassembler_options (struct gdbarch *gdbarch)
 {
@@ -5060,7 +5083,7 @@ set_gdbarch_disassembler_options (struct
   gdbarch->disassembler_options = disassembler_options;
 }
 
-const disasm_options_t *
+const disasm_options_and_args_t *
 gdbarch_valid_disassembler_options (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
@@ -5072,11 +5095,28 @@ gdbarch_valid_disassembler_options (stru
 
 void
 set_gdbarch_valid_disassembler_options (struct gdbarch *gdbarch,
-                                        const disasm_options_t * valid_disassembler_options)
+                                        const disasm_options_and_args_t * valid_disassembler_options)
 {
   gdbarch->valid_disassembler_options = valid_disassembler_options;
 }
 
+ULONGEST
+gdbarch_type_align (struct gdbarch *gdbarch, struct type *type)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->type_align != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_type_align called\n");
+  return gdbarch->type_align (gdbarch, type);
+}
+
+void
+set_gdbarch_type_align (struct gdbarch *gdbarch,
+                        gdbarch_type_align_ftype type_align)
+{
+  gdbarch->type_align = type_align;
+}
+
 
 /* Keep a registry of per-architecture data-pointers required by GDB
    modules.  */
@@ -5457,7 +5497,7 @@ set_target_gdbarch (struct gdbarch *new_
   gdb_assert (new_gdbarch != NULL);
   gdb_assert (new_gdbarch->initialized_p);
   current_inferior ()->gdbarch = new_gdbarch;
-  observer_notify_architecture_changed (new_gdbarch);
+  gdb::observers::architecture_changed.notify (new_gdbarch);
   registers_changed ();
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbarch.h ./gdb/gdbarch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbarch.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbarch.h	2018-07-10 02:06:13.000000000 +0000
@@ -38,6 +38,7 @@
 #include <vector>
 #include "frame.h"
 #include "dis-asm.h"
+#include "gdb_obstack.h"
 
 struct floatformat;
 struct ui_file;
@@ -147,12 +148,6 @@ extern void set_gdbarch_long_bit (struct
 extern int gdbarch_long_long_bit (struct gdbarch *gdbarch);
 extern void set_gdbarch_long_long_bit (struct gdbarch *gdbarch, int long_long_bit);
 
-/* Alignment of a long long or unsigned long long for the target
-   machine. */
-
-extern int gdbarch_long_long_align_bit (struct gdbarch *gdbarch);
-extern void set_gdbarch_long_long_align_bit (struct gdbarch *gdbarch, int long_long_align_bit);
-
 /* The ABI default bit-size and format for "half", "float", "double", and
    "long double".  These bit/format pairs should eventually be combined
    into a single object.  For the moment, just initialize them as a pair.
@@ -245,8 +240,8 @@ extern void set_gdbarch_char_signed (str
 
 extern int gdbarch_read_pc_p (struct gdbarch *gdbarch);
 
-typedef CORE_ADDR (gdbarch_read_pc_ftype) (struct regcache *regcache);
-extern CORE_ADDR gdbarch_read_pc (struct gdbarch *gdbarch, struct regcache *regcache);
+typedef CORE_ADDR (gdbarch_read_pc_ftype) (readable_regcache *regcache);
+extern CORE_ADDR gdbarch_read_pc (struct gdbarch *gdbarch, readable_regcache *regcache);
 extern void set_gdbarch_read_pc (struct gdbarch *gdbarch, gdbarch_read_pc_ftype *read_pc);
 
 extern int gdbarch_write_pc_p (struct gdbarch *gdbarch);
@@ -265,8 +260,8 @@ extern void set_gdbarch_virtual_frame_po
 
 extern int gdbarch_pseudo_register_read_p (struct gdbarch *gdbarch);
 
-typedef enum register_status (gdbarch_pseudo_register_read_ftype) (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, gdb_byte *buf);
-extern enum register_status gdbarch_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, gdb_byte *buf);
+typedef enum register_status (gdbarch_pseudo_register_read_ftype) (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum, gdb_byte *buf);
+extern enum register_status gdbarch_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum, gdb_byte *buf);
 extern void set_gdbarch_pseudo_register_read (struct gdbarch *gdbarch, gdbarch_pseudo_register_read_ftype *pseudo_register_read);
 
 /* Read a register into a new struct value.  If the register is wholly
@@ -276,8 +271,8 @@ extern void set_gdbarch_pseudo_register_
 
 extern int gdbarch_pseudo_register_read_value_p (struct gdbarch *gdbarch);
 
-typedef struct value * (gdbarch_pseudo_register_read_value_ftype) (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum);
-extern struct value * gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum);
+typedef struct value * (gdbarch_pseudo_register_read_value_ftype) (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum);
+extern struct value * gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum);
 extern void set_gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, gdbarch_pseudo_register_read_value_ftype *pseudo_register_read_value);
 
 extern int gdbarch_pseudo_register_write_p (struct gdbarch *gdbarch);
@@ -741,6 +736,12 @@ typedef int (gdbarch_in_solib_return_tra
 extern int gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, const char *name);
 extern void set_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, gdbarch_in_solib_return_trampoline_ftype *in_solib_return_trampoline);
 
+/* Return true if PC lies inside an indirect branch thunk. */
+
+typedef bool (gdbarch_in_indirect_branch_thunk_ftype) (struct gdbarch *gdbarch, CORE_ADDR pc);
+extern bool gdbarch_in_indirect_branch_thunk (struct gdbarch *gdbarch, CORE_ADDR pc);
+extern void set_gdbarch_in_indirect_branch_thunk (struct gdbarch *gdbarch, gdbarch_in_indirect_branch_thunk_ftype *in_indirect_branch_thunk);
+
 /* A target might have problems with watchpoints as soon as the stack
    frame of the current function has been destroyed.  This mostly happens
    as the first action in a function's epilogue.  stack_frame_destroyed_p()
@@ -1167,8 +1168,8 @@ extern void set_gdbarch_record_special_s
 
 extern int gdbarch_get_syscall_number_p (struct gdbarch *gdbarch);
 
-typedef LONGEST (gdbarch_get_syscall_number_ftype) (struct gdbarch *gdbarch, ptid_t ptid);
-extern LONGEST gdbarch_get_syscall_number (struct gdbarch *gdbarch, ptid_t ptid);
+typedef LONGEST (gdbarch_get_syscall_number_ftype) (struct gdbarch *gdbarch, thread_info *thread);
+extern LONGEST gdbarch_get_syscall_number (struct gdbarch *gdbarch, thread_info *thread);
 extern void set_gdbarch_get_syscall_number (struct gdbarch *gdbarch, gdbarch_get_syscall_number_ftype *get_syscall_number);
 
 /* The filename of the XML syscall for this architecture. */
@@ -1366,8 +1367,8 @@ extern void set_gdbarch_has_shared_addre
 
 /* True if a fast tracepoint can be set at an address. */
 
-typedef int (gdbarch_fast_tracepoint_valid_at_ftype) (struct gdbarch *gdbarch, CORE_ADDR addr, char **msg);
-extern int gdbarch_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr, char **msg);
+typedef int (gdbarch_fast_tracepoint_valid_at_ftype) (struct gdbarch *gdbarch, CORE_ADDR addr, std::string *msg);
+extern int gdbarch_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr, std::string *msg);
 extern void set_gdbarch_fast_tracepoint_valid_at (struct gdbarch *gdbarch, gdbarch_fast_tracepoint_valid_at_ftype *fast_tracepoint_valid_at);
 
 /* Guess register state based on tracepoint location.  Used for tracepoints
@@ -1548,11 +1549,20 @@ extern void set_gdbarch_addressable_memo
 
 /* Functions for allowing a target to modify its disassembler options. */
 
+extern const char * gdbarch_disassembler_options_implicit (struct gdbarch *gdbarch);
+extern void set_gdbarch_disassembler_options_implicit (struct gdbarch *gdbarch, const char * disassembler_options_implicit);
+
 extern char ** gdbarch_disassembler_options (struct gdbarch *gdbarch);
 extern void set_gdbarch_disassembler_options (struct gdbarch *gdbarch, char ** disassembler_options);
 
-extern const disasm_options_t * gdbarch_valid_disassembler_options (struct gdbarch *gdbarch);
-extern void set_gdbarch_valid_disassembler_options (struct gdbarch *gdbarch, const disasm_options_t * valid_disassembler_options);
+extern const disasm_options_and_args_t * gdbarch_valid_disassembler_options (struct gdbarch *gdbarch);
+extern void set_gdbarch_valid_disassembler_options (struct gdbarch *gdbarch, const disasm_options_and_args_t * valid_disassembler_options);
+
+/* Type alignment. */
+
+typedef ULONGEST (gdbarch_type_align_ftype) (struct gdbarch *gdbarch, struct type *type);
+extern ULONGEST gdbarch_type_align (struct gdbarch *gdbarch, struct type *type);
+extern void set_gdbarch_type_align (struct gdbarch *gdbarch, gdbarch_type_align_ftype *type_align);
 
 /* Definition for an unknown syscall, used basically in error-cases.  */
 #define UNKNOWN_SYSCALL (-1)
@@ -1699,14 +1709,17 @@ extern struct gdbarch *gdbarch_alloc (co
 
 extern void gdbarch_free (struct gdbarch *);
 
+/* Get the obstack owned by ARCH.  */
+
+extern obstack *gdbarch_obstack (gdbarch *arch);
 
 /* Helper function.  Allocate memory from the ``struct gdbarch''
    obstack.  The memory is freed when the corresponding architecture
    is also freed.  */
 
-extern void *gdbarch_obstack_zalloc (struct gdbarch *gdbarch, long size);
-#define GDBARCH_OBSTACK_CALLOC(GDBARCH, NR, TYPE) ((TYPE *) gdbarch_obstack_zalloc ((GDBARCH), (NR) * sizeof (TYPE)))
-#define GDBARCH_OBSTACK_ZALLOC(GDBARCH, TYPE) ((TYPE *) gdbarch_obstack_zalloc ((GDBARCH), sizeof (TYPE)))
+#define GDBARCH_OBSTACK_CALLOC(GDBARCH, NR, TYPE)   obstack_calloc<TYPE> (gdbarch_obstack ((GDBARCH)), (NR))
+
+#define GDBARCH_OBSTACK_ZALLOC(GDBARCH, TYPE)   obstack_zalloc<TYPE> (gdbarch_obstack ((GDBARCH)))
 
 /* Duplicate STRING, returning an equivalent string that's allocated on the
    obstack associated with GDBARCH.  The string is freed when the corresponding
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbarch-selftests.c ./gdb/gdbarch-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbarch-selftests.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbarch-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -71,8 +71,8 @@ register_to_value_test (struct gdbarch *
 
   /* Error out if debugging something, because we're going to push the
      test target, which would pop any existing target.  */
-  if (current_target.to_stratum >= process_stratum)
-    error (_("target already pushed"));
+  if (current_top_target ()->to_stratum >= process_stratum)
+   error (_("target already pushed"));
 
   /* Create a mock environment.  An inferior with a thread, with a
      process_stratum target pushed.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbarch.sh ./gdb/gdbarch.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbarch.sh	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbarch.sh	2018-07-10 02:06:13.000000000 +0000
@@ -360,9 +360,6 @@ v;int;long_bit;;;8 * sizeof (long);4*TAR
 # Number of bits in a long long or unsigned long long for the target
 # machine.
 v;int;long_long_bit;;;8 * sizeof (LONGEST);2*gdbarch->long_bit;;0
-# Alignment of a long long or unsigned long long for the target
-# machine.
-v;int;long_long_align_bit;;;8 * sizeof (LONGEST);2*gdbarch->long_bit;;0
 
 # The ABI default bit-size and format for "half", "float", "double", and
 # "long double".  These bit/format pairs should eventually be combined
@@ -422,19 +419,19 @@ v;int;dwarf2_addr_size;;;sizeof (void*);
 # One if \`char' acts like \`signed char', zero if \`unsigned char'.
 v;int;char_signed;;;1;-1;1
 #
-F;CORE_ADDR;read_pc;struct regcache *regcache;regcache
+F;CORE_ADDR;read_pc;readable_regcache *regcache;regcache
 F;void;write_pc;struct regcache *regcache, CORE_ADDR val;regcache, val
 # Function for getting target's idea of a frame pointer.  FIXME: GDB's
 # whole scheme for dealing with "frames" and "frame pointers" needs a
 # serious shakedown.
 m;void;virtual_frame_pointer;CORE_ADDR pc, int *frame_regnum, LONGEST *frame_offset;pc, frame_regnum, frame_offset;0;legacy_virtual_frame_pointer;;0
 #
-M;enum register_status;pseudo_register_read;struct regcache *regcache, int cookednum, gdb_byte *buf;regcache, cookednum, buf
+M;enum register_status;pseudo_register_read;readable_regcache *regcache, int cookednum, gdb_byte *buf;regcache, cookednum, buf
 # Read a register into a new struct value.  If the register is wholly
 # or partly unavailable, this should call mark_value_bytes_unavailable
 # as appropriate.  If this is defined, then pseudo_register_read will
 # never be called.
-M;struct value *;pseudo_register_read_value;struct regcache *regcache, int cookednum;regcache, cookednum
+M;struct value *;pseudo_register_read_value;readable_regcache *regcache, int cookednum;regcache, cookednum
 M;void;pseudo_register_write;struct regcache *regcache, int cookednum, const gdb_byte *buf;regcache, cookednum, buf
 #
 v;int;num_regs;;;0;-1
@@ -660,6 +657,9 @@ m;CORE_ADDR;skip_solib_resolver;CORE_ADD
 # Some systems also have trampoline code for returning from shared libs.
 m;int;in_solib_return_trampoline;CORE_ADDR pc, const char *name;pc, name;;generic_in_solib_return_trampoline;;0
 
+# Return true if PC lies inside an indirect branch thunk.
+m;bool;in_indirect_branch_thunk;CORE_ADDR pc;pc;;default_in_indirect_branch_thunk;;0
+
 # A target might have problems with watchpoints as soon as the stack
 # frame of the current function has been destroyed.  This mostly happens
 # as the first action in a function's epilogue.  stack_frame_destroyed_p()
@@ -904,7 +904,7 @@ M;void;record_special_symbol;struct objf
 # Function for the 'catch syscall' feature.
 
 # Get architecture-specific system calls information from registers.
-M;LONGEST;get_syscall_number;ptid_t ptid;ptid
+M;LONGEST;get_syscall_number;thread_info *thread;thread
 
 # The filename of the XML syscall for this architecture.
 v;const char *;xml_syscall_file;;;0;0;;0;pstring (gdbarch->xml_syscall_file)
@@ -1045,7 +1045,7 @@ v;int;has_global_breakpoints;;;0;0;;0
 m;int;has_shared_address_space;void;;;default_has_shared_address_space;;0
 
 # True if a fast tracepoint can be set at an address.
-m;int;fast_tracepoint_valid_at;CORE_ADDR addr, char **msg;addr, msg;;default_fast_tracepoint_valid_at;;0
+m;int;fast_tracepoint_valid_at;CORE_ADDR addr, std::string *msg;addr, msg;;default_fast_tracepoint_valid_at;;0
 
 # Guess register state based on tracepoint location.  Used for tracepoints
 # where no registers have been collected, but there's only one location,
@@ -1157,8 +1157,12 @@ m;const char *;gnu_triplet_regexp;void;;
 m;int;addressable_memory_unit_size;void;;;default_addressable_memory_unit_size;;0
 
 # Functions for allowing a target to modify its disassembler options.
+v;const char *;disassembler_options_implicit;;;0;0;;0;pstring (gdbarch->disassembler_options_implicit)
 v;char **;disassembler_options;;;0;0;;0;pstring_ptr (gdbarch->disassembler_options)
-v;const disasm_options_t *;valid_disassembler_options;;;0;0;;0;host_address_to_string (gdbarch->valid_disassembler_options)
+v;const disasm_options_and_args_t *;valid_disassembler_options;;;0;0;;0;host_address_to_string (gdbarch->valid_disassembler_options)
+
+# Type alignment.
+m;ULONGEST;type_align;struct type *type;type;;default_type_align;;0
 
 EOF
 }
@@ -1258,6 +1262,7 @@ cat <<EOF
 #include <vector>
 #include "frame.h"
 #include "dis-asm.h"
+#include "gdb_obstack.h"
 
 struct floatformat;
 struct ui_file;
@@ -1529,14 +1534,19 @@ extern struct gdbarch *gdbarch_alloc (co
 
 extern void gdbarch_free (struct gdbarch *);
 
+/* Get the obstack owned by ARCH.  */
+
+extern obstack *gdbarch_obstack (gdbarch *arch);
 
 /* Helper function.  Allocate memory from the \`\`struct gdbarch''
    obstack.  The memory is freed when the corresponding architecture
    is also freed.  */
 
-extern void *gdbarch_obstack_zalloc (struct gdbarch *gdbarch, long size);
-#define GDBARCH_OBSTACK_CALLOC(GDBARCH, NR, TYPE) ((TYPE *) gdbarch_obstack_zalloc ((GDBARCH), (NR) * sizeof (TYPE)))
-#define GDBARCH_OBSTACK_ZALLOC(GDBARCH, TYPE) ((TYPE *) gdbarch_obstack_zalloc ((GDBARCH), sizeof (TYPE)))
+#define GDBARCH_OBSTACK_CALLOC(GDBARCH, NR, TYPE) \
+  obstack_calloc<TYPE> (gdbarch_obstack ((GDBARCH)), (NR))
+
+#define GDBARCH_OBSTACK_ZALLOC(GDBARCH, TYPE) \
+  obstack_zalloc<TYPE> (gdbarch_obstack ((GDBARCH)))
 
 /* Duplicate STRING, returning an equivalent string that's allocated on the
    obstack associated with GDBARCH.  The string is freed when the corresponding
@@ -1644,7 +1654,7 @@ cat <<EOF
 #include "reggroups.h"
 #include "osabi.h"
 #include "gdb_obstack.h"
-#include "observer.h"
+#include "observable.h"
 #include "regcache.h"
 #include "objfiles.h"
 #include "auxv.h"
@@ -1846,15 +1856,10 @@ EOF
 printf "\n"
 printf "\n"
 cat <<EOF
-/* Allocate extra space using the per-architecture obstack.  */
 
-void *
-gdbarch_obstack_zalloc (struct gdbarch *arch, long size)
+obstack *gdbarch_obstack (gdbarch *arch)
 {
-  void *data = obstack_alloc (arch->obstack, size);
-
-  memset (data, 0, size);
-  return data;
+  return arch->obstack;
 }
 
 /* See gdbarch.h.  */
@@ -2506,7 +2511,7 @@ set_target_gdbarch (struct gdbarch *new_
   gdb_assert (new_gdbarch != NULL);
   gdb_assert (new_gdbarch->initialized_p);
   current_inferior ()->gdbarch = new_gdbarch;
-  observer_notify_architecture_changed (new_gdbarch);
+  gdb::observers::architecture_changed.notify (new_gdbarch);
   registers_changed ();
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb_bfd.c ./gdb/gdb_bfd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb_bfd.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdb_bfd.c	2018-07-10 02:06:13.000000000 +0000
@@ -450,7 +450,7 @@ gdb_bfd_open (const char *name, const ch
 			    host_address_to_string (abfd),
 			    bfd_get_filename (abfd));
       close (fd);
-      return new_bfd_ref (abfd);
+      return gdb_bfd_ref_ptr::new_reference (abfd);
     }
 
   abfd = bfd_fopen (name, target, FOPEN_RB, fd);
@@ -470,7 +470,7 @@ gdb_bfd_open (const char *name, const ch
       *slot = abfd;
     }
 
-  return new_bfd_ref (abfd);
+  return gdb_bfd_ref_ptr::new_reference (abfd);
 }
 
 /* A helper function that releases any section data attached to the
@@ -702,9 +702,15 @@ gdb_bfd_map_section (asection *sectp, bf
 
   data = NULL;
   if (!bfd_get_full_section_contents (abfd, sectp, &data))
-    error (_("Can't read data for section '%s' in file '%s'"),
-	   bfd_get_section_name (abfd, sectp),
-	   bfd_get_filename (abfd));
+    {
+      warning (_("Can't read data for section '%s' in file '%s'"),
+	       bfd_get_section_name (abfd, sectp),
+	       bfd_get_filename (abfd));
+      /* Set size to 0 to prevent further attempts to read the invalid
+	 section.  */
+      *size = 0;
+      return (const gdb_byte *) NULL;
+    }
   descriptor->data = data;
 
  done:
@@ -775,7 +781,7 @@ gdb_bfd_fopen (const char *filename, con
 {
   bfd *result = bfd_fopen (filename, target, mode, fd);
 
-  return new_bfd_ref (result);
+  return gdb_bfd_ref_ptr::new_reference (result);
 }
 
 /* See gdb_bfd.h.  */
@@ -785,7 +791,7 @@ gdb_bfd_openr (const char *filename, con
 {
   bfd *result = bfd_openr (filename, target);
 
-  return new_bfd_ref (result);
+  return gdb_bfd_ref_ptr::new_reference (result);
 }
 
 /* See gdb_bfd.h.  */
@@ -795,7 +801,7 @@ gdb_bfd_openw (const char *filename, con
 {
   bfd *result = bfd_openw (filename, target);
 
-  return new_bfd_ref (result);
+  return gdb_bfd_ref_ptr::new_reference (result);
 }
 
 /* See gdb_bfd.h.  */
@@ -820,7 +826,7 @@ gdb_bfd_openr_iovec (const char *filenam
 				 open_func, open_closure,
 				 pread_func, close_func, stat_func);
 
-  return new_bfd_ref (result);
+  return gdb_bfd_ref_ptr::new_reference (result);
 }
 
 /* See gdb_bfd.h.  */
@@ -865,7 +871,7 @@ gdb_bfd_record_inclusion (bfd *includer,
   struct gdb_bfd_data *gdata;
 
   gdata = (struct gdb_bfd_data *) bfd_usrdata (includer);
-  gdata->included_bfds.push_back (new_bfd_ref (includee));
+  gdata->included_bfds.push_back (gdb_bfd_ref_ptr::new_reference (includee));
 }
 
 /* See gdb_bfd.h.  */
@@ -875,7 +881,7 @@ gdb_bfd_fdopenr (const char *filename, c
 {
   bfd *result = bfd_fdopenr (filename, target, fd);
 
-  return new_bfd_ref (result);
+  return gdb_bfd_ref_ptr::new_reference (result);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb_bfd.h ./gdb/gdb_bfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb_bfd.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdb_bfd.h	2018-07-10 02:06:13.000000000 +0000
@@ -68,27 +68,16 @@ struct gdb_bfd_ref_policy
 /* A gdb::ref_ptr that has been specialized for BFD objects.  */
 typedef gdb::ref_ptr<struct bfd, gdb_bfd_ref_policy> gdb_bfd_ref_ptr;
 
-/* A helper function that calls gdb_bfd_ref and returns a
-   gdb_bfd_ref_ptr.  */
-
-static inline gdb_bfd_ref_ptr
-new_bfd_ref (struct bfd *abfd)
-{
-  gdb_bfd_ref (abfd);
-  return gdb_bfd_ref_ptr (abfd);
-}
-
 /* Open a read-only (FOPEN_RB) BFD given arguments like bfd_fopen.
    If NAME starts with TARGET_SYSROOT_PREFIX then the BFD will be
    opened using target fileio operations if necessary.  Returns NULL
-   on error.  On success, returns a new reference to the BFD, which
-   must be freed with gdb_bfd_unref.  BFDs returned by this call are
-   shared among all callers opening the same file.  If FD is not -1,
-   then after this call it is owned by BFD.  If the BFD was not
-   accessed using target fileio operations then the filename
-   associated with the BFD and accessible with bfd_get_filename will
-   not be exactly NAME but rather NAME with TARGET_SYSROOT_PREFIX
-   stripped.  */
+   on error.  On success, returns a new reference to the BFD.  BFDs
+   returned by this call are shared among all callers opening the same
+   file.  If FD is not -1, then after this call it is owned by BFD.
+   If the BFD was not accessed using target fileio operations then the
+   filename associated with the BFD and accessible with
+   bfd_get_filename will not be exactly NAME but rather NAME with
+   TARGET_SYSROOT_PREFIX stripped.  */
 
 gdb_bfd_ref_ptr gdb_bfd_open (const char *name, const char *target, int fd);
 
@@ -115,15 +104,14 @@ void gdb_bfd_mark_parent (bfd *child, bf
 
 void gdb_bfd_record_inclusion (bfd *includer, bfd *includee);
 
-/* Try to read or map the contents of the section SECT.  If
-   successful, the section data is returned and *SIZE is set to the
-   size of the section data; this may not be the same as the size
-   according to bfd_get_section_size if the section was compressed.
-   The returned section data is associated with the BFD and will be
-   destroyed when the BFD is destroyed.  There is no other way to free
-   it; for temporary uses of section data, see
-   bfd_malloc_and_get_section.  SECT may not have relocations.  This
-   function will throw on error.  */
+/* Try to read or map the contents of the section SECT.  If successful, the
+   section data is returned and *SIZE is set to the size of the section data;
+   this may not be the same as the size according to bfd_get_section_size if the
+   section was compressed.  The returned section data is associated with the BFD
+   and will be destroyed when the BFD is destroyed.  There is no other way to
+   free it; for temporary uses of section data, see bfd_malloc_and_get_section.
+   SECT may not have relocations.  If there is an error reading the section,
+   this issues a warning, sets *SIZE to 0, and returns NULL.  */
 
 const gdb_byte *gdb_bfd_map_section (asection *section, bfd_size_type *size);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbcmd.h ./gdb/gdbcmd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbcmd.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbcmd.h	2018-07-10 02:06:13.000000000 +0000
@@ -135,8 +135,6 @@ extern struct cmd_list_element *save_cmd
 extern void execute_command (const char *, int);
 extern std::string execute_command_to_string (const char *p, int from_tty);
 
-enum command_control_type execute_control_command (struct command_line *);
-
 extern void print_command_line (struct command_line *, unsigned int,
 				struct ui_file *);
 extern void print_command_lines (struct ui_out *,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbcore.h ./gdb/gdbcore.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbcore.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbcore.h	2018-07-10 02:06:13.000000000 +0000
@@ -133,14 +133,16 @@ extern void specify_exec_file_hook (void
 
 /* Binary File Diddler for the core file.  */
 
-extern bfd *core_bfd;
-
-extern struct target_ops *core_target;
+#define core_bfd (current_program_space->cbfd.get ())
 
 /* Whether to open exec and core files read-only or read-write.  */
 
 extern int write_files;
 
+/* Open and set up the core file bfd.  */
+
+extern void core_target_open (const char *arg, int from_tty);
+
 extern void core_file_command (const char *filename, int from_tty);
 
 extern void exec_file_attach (const char *filename, int from_tty);
@@ -153,8 +155,6 @@ extern void exec_file_attach (const char
 
 extern void exec_file_locate_attach (int pid, int defer_bp_reset, int from_tty);
 
-extern void exec_file_clear (int from_tty);
-
 extern void validate_files (void);
 
 /* The current default bfd target.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb-gdb.py ./gdb/gdb-gdb.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb-gdb.py	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdb-gdb.py	1970-01-01 00:00:00.000000000 +0000
@@ -1,252 +0,0 @@
-# Copyright (C) 2009-2018 Free Software Foundation, Inc.
-#
-# This file is part of GDB.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-import gdb
-import os.path
-
-class TypeFlag:
-    """A class that allows us to store a flag name, its short name,
-    and its value.
-
-    In the GDB sources, struct type has a component called instance_flags
-    in which the value is the addition of various flags.  These flags are
-    defined by the enumerates type_instance_flag_value.  This class helps us
-    recreate a list with all these flags that is easy to manipulate and sort.
-    Because all flag names start with TYPE_INSTANCE_FLAG_, a short_name
-    attribute is provided that strips this prefix.
-
-    ATTRIBUTES
-      name:  The enumeration name (eg: "TYPE_INSTANCE_FLAG_CONST").
-      value: The associated value.
-      short_name: The enumeration name, with the suffix stripped.
-    """
-    def __init__(self, name, value):
-        self.name = name
-        self.value = value
-        self.short_name = name.replace("TYPE_INSTANCE_FLAG_", '')
-    def __cmp__(self, other):
-        """Sort by value order."""
-        return self.value.__cmp__(other.value)
-
-# A list of all existing TYPE_INSTANCE_FLAGS_* enumerations,
-# stored as TypeFlags objects.  Lazy-initialized.
-TYPE_FLAGS = None
-
-class TypeFlagsPrinter:
-    """A class that prints a decoded form of an instance_flags value.
-
-    This class uses a global named TYPE_FLAGS, which is a list of
-    all defined TypeFlag values.  Using a global allows us to compute
-    this list only once.
-
-    This class relies on a couple of enumeration types being defined.
-    If not, then printing of the instance_flag is going to be degraded,
-    but it's not a fatal error.
-    """
-    def __init__(self, val):
-        self.val = val
-    def __str__(self):
-        global TYPE_FLAGS
-        if TYPE_FLAGS is None:
-            self.init_TYPE_FLAGS()
-        if not self.val:
-            return "0"
-        if TYPE_FLAGS:
-            flag_list = [flag.short_name for flag in TYPE_FLAGS
-                         if self.val & flag.value]
-        else:
-            flag_list = ["???"]
-        return "0x%x [%s]" % (self.val, "|".join(flag_list))
-    def init_TYPE_FLAGS(self):
-        """Initialize the TYPE_FLAGS global as a list of TypeFlag objects.
-        This operation requires the search of a couple of enumeration types.
-        If not found, a warning is printed on stdout, and TYPE_FLAGS is
-        set to the empty list.
-
-        The resulting list is sorted by increasing value, to facilitate
-        printing of the list of flags used in an instance_flags value.
-        """
-        global TYPE_FLAGS
-        TYPE_FLAGS = []
-        try:
-            iflags = gdb.lookup_type("enum type_instance_flag_value")
-        except:
-            print("Warning: Cannot find enum type_instance_flag_value type.")
-            print("         `struct type' pretty-printer will be degraded")
-            return
-        TYPE_FLAGS = [TypeFlag(field.name, field.enumval)
-                      for field in iflags.fields()]
-        TYPE_FLAGS.sort()
-
-class StructTypePrettyPrinter:
-    """Pretty-print an object of type struct type"""
-    def __init__(self, val):
-        self.val = val
-    def to_string(self):
-        fields = []
-        fields.append("pointer_type = %s" % self.val['pointer_type'])
-        fields.append("reference_type = %s" % self.val['reference_type'])
-        fields.append("chain = %s" % self.val['reference_type'])
-        fields.append("instance_flags = %s"
-                      % TypeFlagsPrinter(self.val['instance_flags']))
-        fields.append("length = %d" % self.val['length'])
-        fields.append("main_type = %s" % self.val['main_type'])
-        return "\n{" + ",\n ".join(fields) + "}"
-
-class StructMainTypePrettyPrinter:
-    """Pretty-print an objet of type main_type"""
-    def __init__(self, val):
-        self.val = val
-    def flags_to_string(self):
-        """struct main_type contains a series of components that
-        are one-bit ints whose name start with "flag_".  For instance:
-        flag_unsigned, flag_stub, etc.  In essence, these components are
-        really boolean flags, and this method prints a short synthetic
-        version of the value of all these flags.  For instance, if
-        flag_unsigned and flag_static are the only components set to 1,
-        this function will return "unsigned|static".
-        """
-        fields = [field.name.replace("flag_", "")
-                  for field in self.val.type.fields()
-                  if field.name.startswith("flag_")
-                     and self.val[field.name]]
-        return "|".join(fields)
-    def owner_to_string(self):
-        """Return an image of component "owner".
-        """
-        if self.val['flag_objfile_owned'] != 0:
-            return "%s (objfile)" % self.val['owner']['objfile']
-        else:
-            return "%s (gdbarch)" % self.val['owner']['gdbarch']
-    def struct_field_location_img(self, field_val):
-        """Return an image of the loc component inside the given field
-        gdb.Value.
-        """
-        loc_val = field_val['loc']
-        loc_kind = str(field_val['loc_kind'])
-        if loc_kind == "FIELD_LOC_KIND_BITPOS":
-            return 'bitpos = %d' % loc_val['bitpos']
-        elif loc_kind == "FIELD_LOC_KIND_ENUMVAL":
-            return 'enumval = %d' % loc_val['enumval']
-        elif loc_kind == "FIELD_LOC_KIND_PHYSADDR":
-            return 'physaddr = 0x%x' % loc_val['physaddr']
-        elif loc_kind == "FIELD_LOC_KIND_PHYSNAME":
-            return 'physname = %s' % loc_val['physname']
-        elif loc_kind == "FIELD_LOC_KIND_DWARF_BLOCK":
-            return 'dwarf_block = %s' % loc_val['dwarf_block']
-        else:
-            return 'loc = ??? (unsupported loc_kind value)'
-    def struct_field_img(self, fieldno):
-        """Return an image of the main_type field number FIELDNO.
-        """
-        f = self.val['flds_bnds']['fields'][fieldno]
-        label = "flds_bnds.fields[%d]:" % fieldno
-        if f['artificial']:
-            label += " (artificial)"
-        fields = []
-        fields.append("name = %s" % f['name'])
-        fields.append("type = %s" % f['type'])
-        fields.append("loc_kind = %s" % f['loc_kind'])
-        fields.append("bitsize = %d" % f['bitsize'])
-        fields.append(self.struct_field_location_img(f))
-        return label + "\n" + "  {" + ",\n   ".join(fields) + "}"
-    def bounds_img(self):
-        """Return an image of the main_type bounds.
-        """
-        b = self.val['flds_bnds']['bounds'].dereference()
-        low = str(b['low'])
-        if b['low_undefined'] != 0:
-            low += " (undefined)"
-        high = str(b['high'])
-        if b['high_undefined'] != 0:
-            high += " (undefined)"
-        return "flds_bnds.bounds = {%s, %s}" % (low, high)
-    def type_specific_img(self):
-        """Return a string image of the main_type type_specific union.
-        Only the relevant component of that union is printed (based on
-        the value of the type_specific_kind field.
-        """
-        type_specific_kind = str(self.val['type_specific_field'])
-        type_specific = self.val['type_specific']
-        if type_specific_kind == "TYPE_SPECIFIC_NONE":
-            img = 'type_specific_field = %s' % type_specific_kind
-        elif type_specific_kind == "TYPE_SPECIFIC_CPLUS_STUFF":
-            img = "cplus_stuff = %s" % type_specific['cplus_stuff']
-        elif type_specific_kind == "TYPE_SPECIFIC_GNAT_STUFF":
-            img = ("gnat_stuff = {descriptive_type = %s}"
-                   % type_specific['gnat_stuff']['descriptive_type'])
-        elif type_specific_kind == "TYPE_SPECIFIC_FLOATFORMAT":
-            img = "floatformat[0..1] = %s" % type_specific['floatformat']
-        elif type_specific_kind == "TYPE_SPECIFIC_FUNC":
-            img = ("calling_convention = %d"
-                   % type_specific['func_stuff']['calling_convention'])
-            # tail_call_list is not printed.
-        elif type_specific_kind == "TYPE_SPECIFIC_SELF_TYPE":
-            img = "self_type = %s" % type_specific['self_type']
-        else:
-            img = ("type_specific = ??? (unknown type_secific_kind: %s)"
-                   % type_specific_kind)
-        return img
-
-    def to_string(self):
-        """Return a pretty-printed image of our main_type.
-        """
-        fields = []
-        fields.append("name = %s" % self.val['name'])
-        fields.append("tag_name = %s" % self.val['tag_name'])
-        fields.append("code = %s" % self.val['code'])
-        fields.append("flags = [%s]" % self.flags_to_string())
-        fields.append("owner = %s" % self.owner_to_string())
-        fields.append("target_type = %s" % self.val['target_type'])
-        if self.val['nfields'] > 0:
-            for fieldno in range(self.val['nfields']):
-                fields.append(self.struct_field_img(fieldno))
-        if self.val['code'] == gdb.TYPE_CODE_RANGE:
-            fields.append(self.bounds_img())
-        fields.append(self.type_specific_img())
-
-        return "\n{" + ",\n ".join(fields) + "}"
-
-def type_lookup_function(val):
-    """A routine that returns the correct pretty printer for VAL
-    if appropriate.  Returns None otherwise.
-    """
-    if val.type.tag == "type":
-        return StructTypePrettyPrinter(val)
-    elif val.type.tag == "main_type":
-        return StructMainTypePrettyPrinter(val)
-    return None
-
-def register_pretty_printer(objfile):
-    """A routine to register a pretty-printer against the given OBJFILE.
-    """
-    objfile.pretty_printers.append(type_lookup_function)
-
-if __name__ == "__main__":
-    if gdb.current_objfile() is not None:
-        # This is the case where this script is being "auto-loaded"
-        # for a given objfile.  Register the pretty-printer for that
-        # objfile.
-        register_pretty_printer(gdb.current_objfile())
-    else:
-        # We need to locate the objfile corresponding to the GDB
-        # executable, and register the pretty-printer for that objfile.
-        # FIXME: The condition used to match the objfile is too simplistic
-        # and will not work on Windows.
-        for objfile in gdb.objfiles():
-            if os.path.basename(objfile.filename) == "gdb":
-                objfile.pretty_printers.append(type_lookup_function)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb-gdb.py.in ./gdb/gdb-gdb.py.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb-gdb.py.in	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gdb-gdb.py.in	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,284 @@
+# Copyright (C) 2009-2018 Free Software Foundation, Inc.
+#
+# This file is part of GDB.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+import gdb
+import os.path
+
+
+class TypeFlag:
+    """A class that allows us to store a flag name, its short name,
+    and its value.
+
+    In the GDB sources, struct type has a component called instance_flags
+    in which the value is the addition of various flags.  These flags are
+    defined by the enumerates type_instance_flag_value.  This class helps us
+    recreate a list with all these flags that is easy to manipulate and sort.
+    Because all flag names start with TYPE_INSTANCE_FLAG_, a short_name
+    attribute is provided that strips this prefix.
+
+    ATTRIBUTES
+      name:  The enumeration name (eg: "TYPE_INSTANCE_FLAG_CONST").
+      value: The associated value.
+      short_name: The enumeration name, with the suffix stripped.
+    """
+
+    def __init__(self, name, value):
+        self.name = name
+        self.value = value
+        self.short_name = name.replace("TYPE_INSTANCE_FLAG_", '')
+
+    def __lt__(self, other):
+        """Sort by value order."""
+        return self.value < other.value
+
+
+# A list of all existing TYPE_INSTANCE_FLAGS_* enumerations,
+# stored as TypeFlags objects.  Lazy-initialized.
+TYPE_FLAGS = None
+
+
+class TypeFlagsPrinter:
+    """A class that prints a decoded form of an instance_flags value.
+
+    This class uses a global named TYPE_FLAGS, which is a list of
+    all defined TypeFlag values.  Using a global allows us to compute
+    this list only once.
+
+    This class relies on a couple of enumeration types being defined.
+    If not, then printing of the instance_flag is going to be degraded,
+    but it's not a fatal error.
+    """
+
+    def __init__(self, val):
+        self.val = val
+
+    def __str__(self):
+        global TYPE_FLAGS
+        if TYPE_FLAGS is None:
+            self.init_TYPE_FLAGS()
+        if not self.val:
+            return "0"
+        if TYPE_FLAGS:
+            flag_list = [flag.short_name for flag in TYPE_FLAGS
+                         if self.val & flag.value]
+        else:
+            flag_list = ["???"]
+        return "0x%x [%s]" % (self.val, "|".join(flag_list))
+
+    def init_TYPE_FLAGS(self):
+        """Initialize the TYPE_FLAGS global as a list of TypeFlag objects.
+        This operation requires the search of a couple of enumeration types.
+        If not found, a warning is printed on stdout, and TYPE_FLAGS is
+        set to the empty list.
+
+        The resulting list is sorted by increasing value, to facilitate
+        printing of the list of flags used in an instance_flags value.
+        """
+        global TYPE_FLAGS
+        TYPE_FLAGS = []
+        try:
+            iflags = gdb.lookup_type("enum type_instance_flag_value")
+        except:
+            print("Warning: Cannot find enum type_instance_flag_value type.")
+            print("         `struct type' pretty-printer will be degraded")
+            return
+        TYPE_FLAGS = [TypeFlag(field.name, field.enumval)
+                      for field in iflags.fields()]
+        TYPE_FLAGS.sort()
+
+
+class StructTypePrettyPrinter:
+    """Pretty-print an object of type struct type"""
+
+    def __init__(self, val):
+        self.val = val
+
+    def to_string(self):
+        fields = []
+        fields.append("pointer_type = %s" % self.val['pointer_type'])
+        fields.append("reference_type = %s" % self.val['reference_type'])
+        fields.append("chain = %s" % self.val['reference_type'])
+        fields.append("instance_flags = %s"
+                      % TypeFlagsPrinter(self.val['instance_flags']))
+        fields.append("length = %d" % self.val['length'])
+        fields.append("main_type = %s" % self.val['main_type'])
+        return "\n{" + ",\n ".join(fields) + "}"
+
+
+class StructMainTypePrettyPrinter:
+    """Pretty-print an objet of type main_type"""
+
+    def __init__(self, val):
+        self.val = val
+
+    def flags_to_string(self):
+        """struct main_type contains a series of components that
+        are one-bit ints whose name start with "flag_".  For instance:
+        flag_unsigned, flag_stub, etc.  In essence, these components are
+        really boolean flags, and this method prints a short synthetic
+        version of the value of all these flags.  For instance, if
+        flag_unsigned and flag_static are the only components set to 1,
+        this function will return "unsigned|static".
+        """
+        fields = [field.name.replace("flag_", "")
+                  for field in self.val.type.fields()
+                  if field.name.startswith("flag_") and self.val[field.name]]
+        return "|".join(fields)
+
+    def owner_to_string(self):
+        """Return an image of component "owner".
+        """
+        if self.val['flag_objfile_owned'] != 0:
+            return "%s (objfile)" % self.val['owner']['objfile']
+        else:
+            return "%s (gdbarch)" % self.val['owner']['gdbarch']
+
+    def struct_field_location_img(self, field_val):
+        """Return an image of the loc component inside the given field
+        gdb.Value.
+        """
+        loc_val = field_val['loc']
+        loc_kind = str(field_val['loc_kind'])
+        if loc_kind == "FIELD_LOC_KIND_BITPOS":
+            return 'bitpos = %d' % loc_val['bitpos']
+        elif loc_kind == "FIELD_LOC_KIND_ENUMVAL":
+            return 'enumval = %d' % loc_val['enumval']
+        elif loc_kind == "FIELD_LOC_KIND_PHYSADDR":
+            return 'physaddr = 0x%x' % loc_val['physaddr']
+        elif loc_kind == "FIELD_LOC_KIND_PHYSNAME":
+            return 'physname = %s' % loc_val['physname']
+        elif loc_kind == "FIELD_LOC_KIND_DWARF_BLOCK":
+            return 'dwarf_block = %s' % loc_val['dwarf_block']
+        else:
+            return 'loc = ??? (unsupported loc_kind value)'
+
+    def struct_field_img(self, fieldno):
+        """Return an image of the main_type field number FIELDNO.
+        """
+        f = self.val['flds_bnds']['fields'][fieldno]
+        label = "flds_bnds.fields[%d]:" % fieldno
+        if f['artificial']:
+            label += " (artificial)"
+        fields = []
+        fields.append("name = %s" % f['name'])
+        fields.append("type = %s" % f['type'])
+        fields.append("loc_kind = %s" % f['loc_kind'])
+        fields.append("bitsize = %d" % f['bitsize'])
+        fields.append(self.struct_field_location_img(f))
+        return label + "\n" + "  {" + ",\n   ".join(fields) + "}"
+
+    def bounds_img(self):
+        """Return an image of the main_type bounds.
+        """
+        b = self.val['flds_bnds']['bounds'].dereference()
+        low = str(b['low'])
+        if b['low_undefined'] != 0:
+            low += " (undefined)"
+        high = str(b['high'])
+        if b['high_undefined'] != 0:
+            high += " (undefined)"
+        return "flds_bnds.bounds = {%s, %s}" % (low, high)
+
+    def type_specific_img(self):
+        """Return a string image of the main_type type_specific union.
+        Only the relevant component of that union is printed (based on
+        the value of the type_specific_kind field.
+        """
+        type_specific_kind = str(self.val['type_specific_field'])
+        type_specific = self.val['type_specific']
+        if type_specific_kind == "TYPE_SPECIFIC_NONE":
+            img = 'type_specific_field = %s' % type_specific_kind
+        elif type_specific_kind == "TYPE_SPECIFIC_CPLUS_STUFF":
+            img = "cplus_stuff = %s" % type_specific['cplus_stuff']
+        elif type_specific_kind == "TYPE_SPECIFIC_GNAT_STUFF":
+            img = ("gnat_stuff = {descriptive_type = %s}"
+                   % type_specific['gnat_stuff']['descriptive_type'])
+        elif type_specific_kind == "TYPE_SPECIFIC_FLOATFORMAT":
+            img = "floatformat[0..1] = %s" % type_specific['floatformat']
+        elif type_specific_kind == "TYPE_SPECIFIC_FUNC":
+            img = ("calling_convention = %d"
+                   % type_specific['func_stuff']['calling_convention'])
+            # tail_call_list is not printed.
+        elif type_specific_kind == "TYPE_SPECIFIC_SELF_TYPE":
+            img = "self_type = %s" % type_specific['self_type']
+        else:
+            img = ("type_specific = ??? (unknown type_secific_kind: %s)"
+                   % type_specific_kind)
+        return img
+
+    def to_string(self):
+        """Return a pretty-printed image of our main_type.
+        """
+        fields = []
+        fields.append("name = %s" % self.val['name'])
+        fields.append("code = %s" % self.val['code'])
+        fields.append("flags = [%s]" % self.flags_to_string())
+        fields.append("owner = %s" % self.owner_to_string())
+        fields.append("target_type = %s" % self.val['target_type'])
+        if self.val['nfields'] > 0:
+            for fieldno in range(self.val['nfields']):
+                fields.append(self.struct_field_img(fieldno))
+        if self.val['code'] == gdb.TYPE_CODE_RANGE:
+            fields.append(self.bounds_img())
+        fields.append(self.type_specific_img())
+
+        return "\n{" + ",\n ".join(fields) + "}"
+
+
+class CoreAddrPrettyPrinter:
+    """Print CORE_ADDR values as hex."""
+
+    def __init__(self, val):
+        self._val = val
+
+    def to_string(self):
+        return hex(int(self._val))
+
+
+def type_lookup_function(val):
+    """A routine that returns the correct pretty printer for VAL
+    if appropriate.  Returns None otherwise.
+    """
+    if val.type.tag == "type":
+        return StructTypePrettyPrinter(val)
+    elif val.type.tag == "main_type":
+        return StructMainTypePrettyPrinter(val)
+    elif val.type.name == 'CORE_ADDR':
+        return CoreAddrPrettyPrinter(val)
+    return None
+
+
+def register_pretty_printer(objfile):
+    """A routine to register a pretty-printer against the given OBJFILE.
+    """
+    objfile.pretty_printers.append(type_lookup_function)
+
+
+if __name__ == "__main__":
+    if gdb.current_objfile() is not None:
+        # This is the case where this script is being "auto-loaded"
+        # for a given objfile.  Register the pretty-printer for that
+        # objfile.
+        register_pretty_printer(gdb.current_objfile())
+    else:
+        # We need to locate the objfile corresponding to the GDB
+        # executable, and register the pretty-printer for that objfile.
+        # FIXME: The condition used to match the objfile is too simplistic
+        # and will not work on Windows.
+        for objfile in gdb.objfiles():
+            if os.path.basename(objfile.filename) == "gdb":
+                objfile.pretty_printers.append(type_lookup_function)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb_obstack.h ./gdb/gdb_obstack.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb_obstack.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdb_obstack.h	2018-07-10 02:06:13.000000000 +0000
@@ -24,12 +24,40 @@
 
 /* Utility macros - wrap obstack alloc into something more robust.  */
 
-#define OBSTACK_ZALLOC(OBSTACK,TYPE) \
-  ((TYPE *) memset (obstack_alloc ((OBSTACK), sizeof (TYPE)), 0, sizeof (TYPE)))
+template <typename T>
+static inline T*
+obstack_zalloc (struct obstack *ob)
+{
+  static_assert (IsMallocable<T>::value, "Trying to use OBSTACK_ZALLOC with a \
+non-POD data type.  Use obstack_new instead.");
+  return ((T *) memset (obstack_alloc (ob, sizeof (T)), 0, sizeof (T)));
+}
+
+#define OBSTACK_ZALLOC(OBSTACK,TYPE) obstack_zalloc<TYPE> ((OBSTACK))
+
+template <typename T>
+static inline T *
+obstack_calloc (struct obstack *ob, size_t number)
+{
+  static_assert (IsMallocable<T>::value, "Trying to use OBSTACK_CALLOC with a \
+non-POD data type.  Use obstack_new instead.");
+  return ((T *) memset (obstack_alloc (ob, number * sizeof (T)), 0,
+			number * sizeof (T)));
+}
 
 #define OBSTACK_CALLOC(OBSTACK,NUMBER,TYPE) \
-  ((TYPE *) memset (obstack_alloc ((OBSTACK), (NUMBER) * sizeof (TYPE)), \
-		    0, (NUMBER) * sizeof (TYPE)))
+  obstack_calloc<TYPE> ((OBSTACK), (NUMBER))
+
+/* Allocate an object on OB and call its constructor.  */
+
+template <typename T, typename... Args>
+static inline T*
+obstack_new (struct obstack *ob, Args&&... args)
+{
+  T* object = (T *) obstack_alloc (ob, sizeof (T));
+  object = new (object) T (std::forward<Args> (args)...);
+  return object;
+}
 
 /* Unless explicitly specified, GDB obstacks always use xmalloc() and
    xfree().  */
@@ -78,4 +106,24 @@ struct auto_obstack : obstack
   { obstack_free (this, obstack_base (this)); }
 };
 
+/* Objects are allocated on obstack instead of heap.  */
+
+struct allocate_on_obstack
+{
+  allocate_on_obstack () = default;
+
+  void* operator new (size_t size, struct obstack *obstack)
+  {
+    return obstack_alloc (obstack, size);
+  }
+
+  void* operator new[] (size_t size, struct obstack *obstack)
+  {
+    return obstack_alloc (obstack, size);
+  }
+
+  void operator delete (void *memory) {}
+  void operator delete[] (void *memory) {}
+};
+
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb_proc_service.h ./gdb/gdb_proc_service.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdb_proc_service.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdb_proc_service.h	2018-07-10 02:06:13.000000000 +0000
@@ -23,6 +23,8 @@
 
 #include "gregset.h"
 
+struct thread_info;
+
 #ifdef HAVE_PROC_SERVICE_H
 
 /* glibc's proc_service.h doesn't wrap itself with extern "C".  Need
@@ -179,7 +181,7 @@ typedef prfpregset_t gdb_prfpregset_t;
 struct ps_prochandle
 {
   /* The LWP we use for memory reads.  */
-  ptid_t ptid;
+  thread_info *thread;
 };
 
 #endif /* gdb_proc_service.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/aclocal.m4 ./gdb/gdbserver/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/aclocal.m4	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/aclocal.m4	2018-07-10 02:06:13.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -50,20 +48,17 @@ fi])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -71,13 +66,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -85,16 +81,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -102,7 +94,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/ax.c ./gdb/gdbserver/ax.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/ax.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/ax.c	2018-07-10 02:06:13.000000000 +0000
@@ -847,6 +847,11 @@ ax_printf (CORE_ADDR fn, CORE_ADDR chan,
 	    int j;
 
 	    tem = args[i];
+	    if (tem == 0)
+	      {
+		printf (current_substring, "(null)");
+		break;
+	      }
 
 	    /* This is a %s argument.  Find the length of the string.  */
 	    for (j = 0;; j++)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/ChangeLog ./gdb/gdbserver/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/ChangeLog	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/ChangeLog	2018-07-10 02:06:13.000000000 +0000
@@ -1,3 +1,300 @@
+2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	* linux-low.c (initialize_low): Call linux_proc_init_warnings.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* linux-low.c: Update.
+	* lynx-low.c: Update.
+	* mem-break.c: Update.
+	* nto-low.c: Update.
+	* remote-utils.c: Update.
+	* server.c: Update.
+	* spu-low.c: Update.
+	* target.c: Update.
+	* win32-low.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* server.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* linux-low.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* target.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* linux-low.c: Update.
+	* linux-mips-low.c: Update.
+	* lynx-low.c: Update.
+	* nto-low.c: Update.
+	* remote-utils.c: Update.
+	* server.c: Update.
+	* spu-low.c: Update.
+	* target.c: Update.
+	* thread-db.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* linux-low.c: Update.
+	* linux-mips-low.c: Update.
+	* lynx-low.c: Update.
+	* mem-break.c: Update.
+	* nto-low.c: Update.
+	* remote-utils.c: Update.
+	* server.c: Update.
+	* spu-low.c: Update.
+	* target.c: Update.
+	* tracepoint.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* linux-low.c: Update.
+	* linux-ppc-low.c: Update.
+	* linux-x86-low.c: Update.
+	* proc-service.c: Update.
+	* server.c: Update.
+	* spu-low.c: Update.
+	* thread-db.c: Update.
+	* win32-low.c: Update.
+
+2018-07-03  Tom Tromey  <tom@tromey.com>
+
+	* linux-low.c: Update.
+	* lynx-low.c: Update.
+	* nto-low.c: Update.
+	* remote-utils.c: Update.
+	* spu-low.c: Update.
+	* thread-db.c: Update.
+	* win32-low.c: Update.
+
+2018-06-29  Joel Brobecker  <brobecker@adacore.com>
+
+	* linux-x86-tdesc.c (amd64_linux_read_description): Add missing
+	parameter in call to 'amd64_create_target_description'.
+
+2018-06-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* x86-tdesc.h: Remove executable permission flag.
+
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* configure.ac: Remove AC_PREREQ, add missing quoting.
+	* configure: Re-generate.
+	* config.in: Re-generate.
+	* aclocal.m4: Re-generate.
+
+2018-06-18  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* tracepoint.h (current_traceframe): Remove declaration.
+
+2018-06-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* linux-aarch64-low.c (is_sve_tdesc): New function.
+	(aarch64_sve_regs_copy_to_regcache): Likewise.
+	(aarch64_sve_regs_copy_from_regcache): Likewise.
+	(aarch64_regs_info): Add SVE checks.
+	(initialize_low_arch): Initialize SVE.
+
+2018-06-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* Makefile.in: Add aarch64-sve-linux-ptrace.c.
+
+2018-06-11  Alan Hayward  <alan.hayward@arm.com>
+
+	* linux-aarch64-ipa.c (get_ipa_tdesc): Add null VQ param.
+	(initialize_low_tracepoint): Likewise
+	* linux-aarch64-low.c (aarch64_arch_setup): Get VQ.
+	* linux-aarch64-tdesc-selftest.c (aarch64_tdesc_test): Add null VQ
+	param.
+	* linux-aarch64-tdesc.c (aarch64_linux_read_description): Add VQ
+	checks.
+	* linux-aarch64-tdesc.h (aarch64_linux_read_description): Add VQ.
+
+2018-06-11  Alan Hayward  <alan.hayward@arm.com>
+
+	* server.h (PBUFSIZ): Increase size
+
+2018-06-11  Alan Hayward  <alan.hayward@arm.com>
+
+	* regcache.c (regcache::raw_compare): New function.
+	* regcache.h (regcache::raw_compare): New declaration.
+
+2018-06-11  Alan Hayward  <alan.hayward@arm.com>
+
+	* regcache.c (new_register_cache): Use new.
+	(free_register_cache): Use delete.
+	(register_data): Use const.
+	(supply_register): Move body inside regcache.
+	(regcache::raw_supply): New override function.
+	(collect_register): Move body inside regcache.
+	(regcache::raw_collect): New override function.
+	(regcache::get_register_status): New override function.
+	* regcache.h (struct regcache): Inherit from reg_buffer_common.
+
+2018-06-09  Tom Tromey  <tom@tromey.com>
+
+	* event-loop.c (gdb_event, gdb_event_p): Remove typedefs.  Don't
+	declare queue.
+	(event_queue): Use std::queue.
+	(gdb_event_xfree): Remove.
+	(initialize_event_loop, process_event, wait_for_event): Update.
+
+2018-06-08  Stan Cox  <scox@redhat.com>
+
+	* win32-low.c (win32_create_inferior):  last_ptid and last_status
+	moved to client_state.
+
+2018-06-08  Pedro Alves  <palves@redhat.com>
+
+	* Makefile.in (GDBREPLAY_OBS): Add common/cleanups.o,
+	common/common-exceptions.o, common/common-utils.o,
+	common/errors.o, common/print-utils.o and utils.o.
+	* gdbreplay.c: Include "common-defs.h" instead of the two
+	'config.h's here.  Don't include stdio.h, errno.h, stdlib.h,
+	string.h or alloca.h.
+	(perror_with_name): Delete.
+	(remote_open): Use xstrdup instead of strdup.
+	(main): Rename to ...
+	(captured_main): ... this.
+	(main): New.
+
+2018-06-08  Tom Tromey  <tom@tromey.com>
+
+	* linux-low.c (linux_low_read_btrace): Update.
+
+2018-06-04  Stan Cox  <scox@redhat.com>
+
+	* server.h (struct client_state): New.
+	* server.c (cont_thread, general_thread, multi_process)
+	(report_fork_events, report_vfork_events, report_exec_events)
+	(report_thread_events, swbreak_feature, hwbreak_feature)
+	(vCont_supported, disable_randomization, pass_signals)
+	(program_signals, program_signals_p, last_status, last_ptid, own_buf):
+	Moved to client_state.
+	* remote-utils.c (remote_debug, noack_mode)
+	(transport_is_reliable): Moved to client_state.
+	* tracepoint.c (current_traceframe): Moved to client_state.
+
+	Update all callers.
+	* server.c, remote-utils.c, tracepoint.c, fork-child.c,
+	linux-low.c, remote-utils.h, target.c: Use client_state.
+
+2018-05-31  Alan Hayward  <alan.hayward@arm.com>
+
+	* configure.srv: Add new c/h file.
+
+2018-05-31  Alan Hayward  <alan.hayward@arm.com>
+
+	* linux-aarch64-tdesc.c (aarch64_linux_read_description): Add
+	null VQ.
+
+2018-05-25  Maciej W. Rozycki  <macro@mips.com>
+
+	* gdb.arch/mips-fpregset-core.exp: New test.
+	* gdb.arch/mips-fpregset-core.c: New test source.
+
+2018-05-23  Erik Kurzinger  <ekurzinger@nvidia.com>
+
+	PR server/23198
+	* hostio.c (require_int): Do not report overflow for integers
+	between 0xfffffff and 0x7fffffff.
+
+2018-05-22  Maciej W. Rozycki  <macro@mips.com>
+
+	* linux-mips-low.c [HAVE_PTRACE_GETREGS] (mips_collect_register)
+	(mips_supply_register): Move outside HAVE_PTRACE_GETREGS.
+	(mips_collect_ptrace_register, mips_supply_ptrace_register): New
+	functions.
+	(the_low_target): Wire them.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* linux-ppc-low.c (ppc_fill_vrregset): Add vscr_offset variable.
+	Set vscr_offset to 0 in little-endian mode and 12 in big-endian
+	mode. Call collect_register_by_name with vscr using
+	vscr_offset. Zero-pad vscr and vrsave fields in collector buffer.
+	(ppc_store_vrregset): Add and set vscr_offset variable as in
+	ppc_fill_vrregset. Call supply_register_by_name with vscr using
+	vscr_offset.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* linux-ppc-low.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
+	(ppc_arch_setup): Change SIZEOF_VRREGS and SIZEOF_VSXREGS to
+	PPC_LINUX_SIZEOF_VRREGSET and PPC_LINUX_SIZEOF_VSXREGSET.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* linux-ppc-low.c (ppc_fill_vsxregset): Remove ppc_hwcap check.
+	(ppc_store_vsxregset): Likewise.
+	(ppc_fill_vrregset): Likewise.
+	(ppc_store_vrregset): Likewise.
+	(ppc_fill_evrregset): Likewise.
+	(ppc_store_evrregset): Likewise.
+	(ppc_regsets): Set VSX/VR/EVR regset sizes to 0.
+	(ppc_arch_setup): Iterate through ppc_regsets and set sizes when
+	needed.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* linux-ppc-low.c (ppc_arch_setup): Remove code for getting the
+	wordsize of the inferior. Call ppc_linux_target_wordsize.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* configure.srv (srv_tgtobj): Add arch/ppc-linux-common.o.
+	* Makefile.in (SFILES): Add arch/ppc-linux-common.c.
+	* linux-ppc-tdesc.h: Rename to linux-ppc-tdesc-init.h.
+	* linux-ppc-tdesc-init.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
+	(tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
+	(tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
+	(tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
+	(tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
+	(tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
+	(tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
+	(tdesc_powerpc_e500l): Remove.
+	* linux-ppc-ipa.c: Include arch/ppc-linux-tdesc.h and
+	linux-ppc-tdesc-init.h. Don't include linux-ppc-tdesc.h.
+	* linux-ppc-low.c: Include arch/ppc-linux-common.h,
+	arch/ppc-linux-tdesc.h, and linux-ppc-tdesc-init.h. Don't include
+	linux-ppc-tdesc.h.
+	(ppc_arch_setup): Remove target description matching code. Fill a
+	ppc_linux_features struct and call ppc_linux_match_description
+	with it.
+
+2018-05-22  Maciej W. Rozycki  <macro@mips.com>
+
+	* linux-mips-low.c (mips_cannot_fetch_register): Return 1 if the
+	width of the requested register exceeds the width of the
+	`ptrace' data type.
+	(mips_cannot_store_register): Likewise.
+
+2018-05-21  Maciej W. Rozycki  <macro@mips.com>
+
+	* linux-mips-low.c (mips_fetch_register): New function.  Update
+	preceding comment.
+	(mips_store_gregset): Supply 0 rather than $restart for $zero.
+	(the_low_target): Wire `mips_fetch_register'.
+
+2018-05-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* lynx-i386-low.c (LYNXOS_178): New macro.
+	[LYNXOS_178] (usr_fcontext_t): Provide a definition that matches
+	the layout on LynxOS-178.
+	(lynx_i386_fill_fpregset, lynx_i386_store_fpregset): Do not
+	handle floating point registers that are not supported by
+	LynxOS-178.
+
+2018-05-10  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+
 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
 
 	PR server/23158:
@@ -35,6 +332,214 @@
 	* win32-low.c (create_process): Only call gdb_tilde_expand if
 	inferior_cwd is not NULL.
 
+2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* i387-fp.c (i387_cache_to_xsave): Only write x87 control
+	registers to the cache if their values have changed.
+	(i387_xsave_to_cache): Provide default values for x87 control
+	registers when these features are available, but disabled.
+	* regcache.c (supply_register_by_name_zeroed): New function.
+	* regcache.h (supply_register_by_name_zeroed): Declare new
+	function.
+
+2018-05-07  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+
+2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Pedro Alves <palves@redhat.com>
+
+	* linux-aarch64-low.c (aarch64_stopped_data_address):
+	Likewise.
+
+2018-04-27  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+
+2018-04-23  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+
+2018-04-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* Makefile.in (depcomp): Add "..".
+	(all_deps_files): New and use it.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* configure.srv (aarch64*-*-linux*): Don't include xml.
+	(i[34567]86-*-cygwin*): Likewise.
+	(i[34567]86-*-linux*): Likewise.
+	(i[34567]86-*-lynxos*): Likewise.
+	(i[34567]86-*-mingw32ce*): Likewise.
+	(i[34567]86-*-mingw*): Likewise.
+	(i[34567]86-*-nto*): Likewise.
+	(tic6x-*-uclinux): Likewise.
+	(x86_64-*-linux*): Likewise.
+	(x86_64-*-mingw*): Likewise.
+	(x86_64-*-cygwin*): Likewise.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* tdesc.c: Remove xml parameter.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* server.c (get_features_xml): Remove cast.
+	* tdesc.c (void target_desc::accept): Fill in function.
+	(tdesc_get_features_xml): Remove old xml creation.
+	(print_xml_feature::visit_pre): Add xml vistor.
+	* tdesc.h (struct target_desc): Make xmltarget mutable.
+	(tdesc_get_features_xml): Remove declaration.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* tdesc.c (tdesc_architecture_name): Add new function.
+	(tdesc_osabi_name): Likewise.
+	(tdesc_get_features_xml): Use new functions.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* tdesc.c (tdesc_create_flags): Remove.
+	(tdesc_add_flag): Likewise.
+	(tdesc_named_type): Likewise.
+	(tdesc_create_union): Likewise.
+	(tdesc_create_struct): Likewise.
+	(tdesc_create_vector): Likewise.
+	(tdesc_add_bitfield): Likewise.
+	(tdesc_add_field): Likewise.
+	(tdesc_set_struct_size): Likewise.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* tdesc.c (~target_desc): Remove implictly deleted items.
+	(init_target_desc): Iterate all features.
+	(tdesc_get_features_xml): Use vector.
+	(tdesc_create_feature): Create feature.
+	* tdesc.h (tdesc_feature) Remove
+	(target_desc): Add features.
+
+2018-04-18  Alan Hayward  <alan.hayward@arm.com>
+
+	* Makefile.in: Add common/tdesc.c
+	* tdesc.c (init_target_desc): init all reg_defs from register
+	vector.
+	(tdesc_create_reg): Create tdesc_reg.
+	* tdesc.h (tdesc_feature): Add register vector.
+
+2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* tdesc.h (struct target_desc) <features>: Change type to
+	std::vector<std::string>.
+	* tdesc.c (target_desc::~target_desc): Adjust to std::vector
+	changes.
+	(tdesc_get_features_xml): Likewise.
+	(tdesc_create_feature): Likewise.
+
+2018-03-26  Alan Hayward  <alan.hayward@arm.com>
+
+	* regcache.c (find_register_by_number): Return a ref.
+	(find_regno): Use references.
+	(register_size): Likewise.
+	(register_data): Likewise.
+	* tdesc.c (target_desc::~target_desc): Remove free calls.
+	(target_desc::operator==): Use std::vector compare.
+	(init_target_desc): Use reference.
+	(tdesc_create_reg): Use reg constructors.
+	* tdesc.h (struct target_desc): Replace pointer with object.
+
+2018-03-23  Alan Hayward  <alan.hayward@arm.com>
+
+	* regcache.c (find_register_by_number): Make static.
+	(find_regno): Use find_register_by_number
+	* regcache.h (struct reg): Remove declaration.
+
+2018-03-23  Alan Hayward  <alan.hayward@arm.com>
+
+	* tdesc.c (target_desc::~target_desc): Move to here.
+	(target_desc::operator==): Likewise.
+	* tdesc.h (target_desc::~target_desc): Move from here.
+	(target_desc::operator==): Likewise.
+
+2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* linux-s390-low.c (s390_get_wordsize): Correct brace style.
+
+2018-03-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* linux-s390-ipa.c (get_ipa_tdesc): Add handling for
+	S390_TDESC_GS.
+	* linux-s390-low.c (s390_get_ipa_tdesc_idx): Likewise.
+	(initialize_low_tracepoint): Call init_registers_s390x_gs_linux64
+	and init_registers_s390_gs_linux64.
+
+2018-03-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* linux-s390-low.c (s390_fill_gs): Remove function.
+	(s390_fill_gsbc): Remove function.
+	(s390_regsets): Set fill functions for the guarded storage regsets
+	to NULL.
+
+2018-03-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* linux-s390-low.c (s390_get_hwcap): Replace tdesc parameter by
+	the word size.  Add comment.
+	(s390_get_wordsize): New function.
+	(s390_arch_setup): No longer select a temporary tdesc to fetch the
+	pswm with it.  Instead, use s390_get_wordsize to determine the
+	word size first and derive the correct tdesc from that directly.
+
+2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* Makefile.in: Include silent-rules.mk.
+	(srcdir, abs_top_srcdir, abs_srcdir, VPATH): Move up.
+	(COMPILE): Add ECHO_CXX.
+	(gdbserver$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
+	(gdbreplay$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
+	($(IPA_LIB)): Add SILENCE and ECHO_CXXLD.
+	(version-generated.c): Add ECHO_GEN.
+	(stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN_GENERATED.
+	(IPAGENT_COMPILE): Add ECHO_CXX.
+	(%-generated.c): Add ECHO_REGDAT.
+
+2018-03-14  Tom Tromey  <tom@tromey.com>
+
+	PR cli/14977:
+	* ax.c (ax_printf): Special case for NULL.
+
+2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* linux-low.c (linux_qxfer_libraries_svr4): Use
+	xml_escape_text_append.
+
+2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* linux-low.c (linux_qxfer_libraries_svr4): Use std::string.
+
+2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* server.c (handle_general_set): Remove unnecessary xstrdup.
+
+2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* server.c (parse_debug_format_options): Adjust to
+	delim_string_to_char_ptr_vec changes.
+	* thread-db.c (thread_db_load_search): Adjust to
+	dirnames_to_char_ptr_vec changes.
+
+2018-03-01  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* target.h (target_enable_btrace, target_disable_btrace)
+	(target_read_btrace, target_read_btrace_conf): Turn macro into
+	inline function.  Throw error if target method is not defined.
+	* server.c (handle_qxfer_btrace handle_qxfer_btrace_conf): Remove
+	check for btrace target method.  Be prepared to handle exceptions
+	from btrace target methods.
+
 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
 
 	* server.c (captured_main): Change order of error message printed
@@ -58,6 +563,73 @@
 	* server.c (current_directory): New global variable.
 	(captured_main): Initialize "current_directory".
 
+2018-02-26  Alan Hayward  <alan.hayward@arm.com>
+
+	* tdesc.c: Use common/tdesc.h.
+	* tdesc.h: Likewise.
+
+2018-02-20  Alan Hayward  <alan.hayward@arm.com>
+	    Simon Marchi  <simon.marchi@ericsson.com>
+
+	* Makefile.in: Switch order of make rules.
+
+2018-02-19  Alan Hayward  <alan.hayward@arm.com>
+
+	* Makefile.in: Add common directory in build.
+	* configure.ac: Add common reference.
+	* configure: Regenerate.
+
+2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* linux-low.c (linux_target_ops): Remove linux_supports_btrace.
+	* nto-low.c (nto_target_ops): Remove NULL for supports_btrace.
+	* spu-low.c (spu_target_ops): Likewise.
+	* win32-low.c (win32_target_ops): Likewise.
+	* server.c (supported_btrace_packets): Report packets unconditionally.
+	* target.h (target_ops) <supports_btrace>: Remove.
+	(target_supports_btrace): Remove.
+
+2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* server.c (handle_btrace_enable_bts, handle_btrace_enable_pt)
+	(handle_btrace_disable): Change return type to void.  Use exceptions
+	to report errors.
+	(handle_btrace_general_set): Catch exception and copy message to
+	return message.
+
+2018-02-08  Tom Tromey  <tom@tromey.com>
+
+	* linux-low.c (install_software_single_step_breakpoints): Use
+	make_scoped_restore.
+	* inferiors.c (make_cleanup_restore_current_thread): Remove.
+	(do_restore_current_thread_cleanup): Remove.
+	* gdbthread.h (make_cleanup_restore_current_thread): Don't
+	declare.
+
+2018-02-08  Tom Tromey  <tom@tromey.com>
+
+	* mem-break.c (set_raw_breakpoint_at): Use
+	gdb::unique_xmalloc_ptr.
+
+2018-01-30  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/13211
+	* target.c (target_terminal::terminal_state): Rename to ...
+	(target_terminal::m_terminal_state): ... this.
+
+2018-01-19  James Clarke  <jrtc27@jrtc27.com>
+
+	* linux-low.c (handle_extended_wait): Surround call to
+	thread_db_notice_clone with #ifdef USE_THREAD_DB.
+
+2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* linux-low.c (attach_proc_task_lwp_callback): Adjust to
+	linux_ptrace_attach_fail_reason_string now returning an
+	std::string.
+	(linux_attach): Likewise.
+	* thread-db.c (attach_thread): Likewise.
+
 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
 
 	PR gdb/21559
@@ -65,6 +637,12 @@
 	checking for fs_base/gs_base fields in struct user_regs_struct.
 	* configure: Regenerate.
 
+2018-01-16  Yao Qi  <yao.qi@linaro.org>
+
+	PR gdb/18749
+	* linux-low.c (fetch_register): Call supply_register instead of
+	error.
+
 2018-01-08  Yao Qi  <yao.qi@linaro.org>
 	    Simon Marchi  <simon.marchi@ericsson.com>
 
@@ -75,6 +653,11 @@
 	* server.c (captured_main): Wrap variable selftest_filter with
 	GDB_SELF_TEST.
 
+2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* server.c (parse_debug_format_options): Return std::string.
+	(handle_monitor_command, captured_main): Adjust.
+
 2018-01-05  Pedro Alves  <palves@redhat.com>
 
 	PR gdb/18653
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/config.in ./gdb/gdbserver/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/config.in	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/config.in	2018-07-10 02:06:13.000000000 +0000
@@ -232,16 +232,16 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct user_regs_struct' is a member of `fs_base'. */
+/* Define to 1 if `fs_base' is a member of `struct user_regs_struct'. */
 #undef HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE
 
-/* Define to 1 if `struct user_regs_struct' is a member of `gs_base'. */
+/* Define to 1 if `gs_base' is a member of `struct user_regs_struct'. */
 #undef HAVE_STRUCT_USER_REGS_STRUCT_GS_BASE
 
 /* Define to 1 if the target supports __sync_*_compare_and_swap */
@@ -399,6 +399,11 @@
 /* Define if an XML target description is available. */
 #undef USE_XML
 
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS
 
@@ -418,5 +423,8 @@
 /* Define to `int' if <sys/types.h> does not define. */
 #undef pid_t
 
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
 /* Define as `fork' if `vfork' does not work. */
 #undef vfork
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/configure ./gdb/gdbserver/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/configure	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/configure	2018-07-10 02:06:13.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -209,14 +236,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -314,10 +352,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -354,19 +400,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -439,6 +485,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -473,16 +523,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -494,28 +544,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -524,10 +554,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -776,8 +807,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -822,7 +854,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -848,7 +880,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1052,7 +1084,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1068,7 +1100,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1098,8 +1130,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1107,7 +1139,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1117,7 +1149,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1125,13 +1157,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1154,7 +1186,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1168,8 +1200,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1184,9 +1214,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1225,11 +1255,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1269,7 +1299,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1332,8 +1362,9 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --disable-largefile     omit support for large files
   --enable-libmcheck      Try linking with -lmcheck if available
   --enable-werror         treat compile warnings as errors
@@ -1363,7 +1394,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CXX         C++ compiler command
   CXXFLAGS    C++ compiler flags
@@ -1436,9 +1467,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1482,8 +1513,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1520,8 +1551,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_compile
 
@@ -1546,7 +1577,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1557,8 +1588,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1570,10 +1601,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1609,7 +1640,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1636,7 +1667,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1645,7 +1676,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1686,8 +1717,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1700,7 +1731,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1718,7 +1749,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1749,7 +1780,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1763,8 +1794,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1777,7 +1808,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1818,7 +1849,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 
@@ -1830,7 +1861,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1885,13 +1916,14 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
 ac_fn_c_check_decl ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
@@ -1899,7 +1931,7 @@ ac_fn_c_check_decl ()
   as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
 $as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1930,7 +1962,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_decl
 
@@ -1951,7 +1983,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1967,7 +2000,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1993,7 +2027,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2009,7 +2044,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2043,7 +2079,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2107,8 +2144,8 @@ rm -f core *.core core.conftest.* gmon.o
 rm -f conftest.val
 
   fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_compute_int
 
@@ -2121,7 +2158,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2165,7 +2202,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 cat >config.log <<_ACEOF
@@ -2173,7 +2210,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2283,11 +2320,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2321,11 +2356,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2338,11 +2371,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2356,11 +2387,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2415,7 +2444,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2426,18 +2460,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2506,7 +2544,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2559,7 +2597,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2571,7 +2609,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2599,7 +2637,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2611,7 +2649,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2652,7 +2690,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2664,7 +2702,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2692,7 +2730,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2705,7 +2743,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2751,7 +2789,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2763,7 +2801,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2795,7 +2833,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2807,7 +2845,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2849,8 +2887,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -2871,8 +2909,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -2889,12 +2927,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -2956,62 +2994,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -3041,19 +3045,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3093,8 +3156,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -3104,7 +3167,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3141,7 +3204,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3219,7 +3282,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -3228,8 +3291,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3330,7 +3392,7 @@ if test -z "$CXX"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then :
+if ${ac_cv_prog_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CXX"; then
@@ -3342,7 +3404,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3374,7 +3436,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CXX"; then
@@ -3386,7 +3448,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CXX="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3444,15 +3506,15 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3489,7 +3551,7 @@ ac_test_CXXFLAGS=${CXXFLAGS+set}
 ac_save_CXXFLAGS=$CXXFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
 $as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then :
+if ${ac_cv_prog_cxx_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_cxx_werror_flag=$ac_cxx_werror_flag
@@ -3584,7 +3646,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -3614,7 +3676,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3630,11 +3692,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -3673,7 +3735,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3689,18 +3751,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -3712,7 +3774,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -3726,7 +3788,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -3761,7 +3823,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -3775,7 +3837,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -3792,7 +3854,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -3827,7 +3889,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -3842,7 +3904,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3959,8 +4021,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -3972,7 +4033,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -3994,14 +4055,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -4041,7 +4102,7 @@ if test "$enable_largefile" != no; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
 $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+if ${ac_cv_sys_largefile_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_sys_largefile_CC=no
@@ -4092,7 +4153,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+if ${ac_cv_sys_file_offset_bits+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -4161,7 +4222,7 @@ rm -rf conftest*
   if test $ac_cv_sys_file_offset_bits = unknown; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
+if ${ac_cv_sys_large_files+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -4228,21 +4289,29 @@ _ACEOF
 esac
 rm -rf conftest*
   fi
+
+
 fi
 
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4256,27 +4325,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4294,14 +4363,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4309,7 +4378,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -4327,14 +4396,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4342,7 +4411,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -4383,7 +4452,7 @@ test -n "$target_alias" &&
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -4403,7 +4472,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -4464,7 +4533,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -4476,7 +4545,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4504,7 +4573,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -4516,7 +4585,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4556,7 +4625,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -4568,7 +4637,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4596,7 +4665,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -4608,7 +4677,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4658,7 +4727,7 @@ program_transform_name=`$as_echo "$progr
 # We require a C++11 compiler.  Check if one is available, and if
 # necessary, set CXX_DIALECT to some -std=xxx switch.
 
-      ax_cxx_compile_cxx11_required=true
+  ax_cxx_compile_alternatives="11 0x"    ax_cxx_compile_cxx11_required=true
   ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -4668,7 +4737,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
   ac_success=no
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
 $as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
-if test "${ax_cv_cxx_compile_cxx11+set}" = set; then :
+if ${ax_cv_cxx_compile_cxx11+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4974,11 +5043,12 @@ fi
   fi
 
     if test x$ac_success = xno; then
-    for switch in -std=gnu++11 -std=gnu++0x; do
+    for alternative in ${ax_cxx_compile_alternatives}; do
+      switch="-std=gnu++${alternative}"
       cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
 $as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
-if { as_var=$cachevar; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$cachevar+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_CXX="$CXX"
@@ -5292,16 +5362,17 @@ eval ac_res=\$$cachevar
   fi
 
     if test x$ac_success = xno; then
-                for switch in -std=c++11 -std=c++0x +std=c++11 "-h std=c++11"; do
-      cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
+                for alternative in ${ax_cxx_compile_alternatives}; do
+      for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
+        cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
 $as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
-if { as_var=$cachevar; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$cachevar+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_CXX="$CXX"
-         CXX="$CXX $switch"
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+           CXX="$CXX $switch"
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 
@@ -5596,14 +5667,18 @@ else
   eval $cachevar=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         CXX="$ac_save_CXX"
+           CXX="$ac_save_CXX"
 fi
 eval ac_res=\$$cachevar
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-      if eval test x\$$cachevar = xyes; then
-        CXX_DIALECT="$switch"
-        ac_success=yes
+        if eval test x\$$cachevar = xyes; then
+          CXX_DIALECT="$switch"
+          ac_success=yes
+          break
+        fi
+      done
+      if test x$ac_success = xyes; then
         break
       fi
     done
@@ -5616,7 +5691,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
   if test x$ax_cxx_compile_cxx11_required = xtrue; then
     if test x$ac_success = xno; then
-      as_fn_error "*** A compiler with support for C++11 language features is required." "$LINENO" 5
+      as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
     fi
   fi
   if test x$ac_success = xno; then
@@ -5635,7 +5710,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5762,7 +5837,7 @@ if test "${enable_libmcheck+set}" = set;
   enableval=$enable_libmcheck; case "${enableval}" in
       yes | y) ENABLE_LIBMCHECK="yes" ;;
       no | n)  ENABLE_LIBMCHECK="no" ;;
-      *) as_fn_error "bad value ${enableval} for --enable-libmcheck" "$LINENO" 5 ;;
+      *) as_fn_error $? "bad value ${enableval} for --enable-libmcheck" "$LINENO" 5 ;;
     esac
 fi
 
@@ -5774,7 +5849,7 @@ fi
   if test "$ENABLE_LIBMCHECK" = "yes" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcheck" >&5
 $as_echo_n "checking for main in -lmcheck... " >&6; }
-if test "${ac_cv_lib_mcheck_main+set}" = set; then :
+if ${ac_cv_lib_mcheck_main+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -5802,7 +5877,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mcheck_main" >&5
 $as_echo "$ac_cv_lib_mcheck_main" >&6; }
-if test "x$ac_cv_lib_mcheck_main" = x""yes; then :
+if test "x$ac_cv_lib_mcheck_main" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBMCHECK 1
 _ACEOF
@@ -5815,7 +5890,7 @@ fi
 
 
 if $development; then
-  srv_selftest_objs="selftest.o"
+  srv_selftest_objs="common/selftest.o"
 
 $as_echo "#define GDB_SELF_TEST 1" >>confdefs.h
 
@@ -5858,7 +5933,7 @@ ac_config_commands="$ac_config_commands 
 
 
 # Create sub-directories for objects and dependencies.
-CONFIG_SRC_SUBDIR="arch"
+CONFIG_SRC_SUBDIR="arch common"
 
 
 ac_config_commands="$ac_config_commands gdbdepdir"
@@ -5869,7 +5944,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -5955,7 +6030,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -6070,7 +6145,7 @@ fi
   # The eval makes quoting arguments work.
   eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
        --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
-    as_fn_error "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
+    as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
 
   cd "$ac_popdir"
 
@@ -6173,7 +6248,7 @@ fi
   # The eval makes quoting arguments work.
   eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
        --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
-    as_fn_error "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
+    as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
 
   cd "$ac_popdir"
 
@@ -6182,8 +6257,7 @@ for ac_header in termios.h sys/reg.h str
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -6193,7 +6267,7 @@ fi
 done
 
 ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = x""yes; then :
+if test "x$ac_cv_type_pid_t" = xyes; then :
 
 else
 
@@ -6206,7 +6280,7 @@ fi
 for ac_header in vfork.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default"
-if test "x$ac_cv_header_vfork_h" = x""yes; then :
+if test "x$ac_cv_header_vfork_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_VFORK_H 1
 _ACEOF
@@ -6219,8 +6293,7 @@ for ac_func in fork vfork
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -6231,7 +6304,7 @@ done
 if test "x$ac_cv_func_fork" = xyes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
 $as_echo_n "checking for working fork... " >&6; }
-if test "${ac_cv_func_fork_works+set}" = set; then :
+if ${ac_cv_func_fork_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -6284,7 +6357,7 @@ ac_cv_func_vfork_works=$ac_cv_func_vfork
 if test "x$ac_cv_func_vfork" = xyes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
 $as_echo_n "checking for working vfork... " >&6; }
-if test "${ac_cv_func_vfork_works+set}" = set; then :
+if ${ac_cv_func_vfork_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -6421,8 +6494,7 @@ for ac_func in getauxval pread pwrite pr
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -6431,10 +6503,21 @@ fi
 done
 
 
+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6548,7 +6631,7 @@ fi
 # for constant arguments.  Useless!
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
 $as_echo_n "checking for working alloca.h... " >&6; }
-if test "${ac_cv_working_alloca_h+set}" = set; then :
+if ${ac_cv_working_alloca_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6581,7 +6664,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
 $as_echo_n "checking for alloca... " >&6; }
-if test "${ac_cv_func_alloca_works+set}" = set; then :
+if ${ac_cv_func_alloca_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6600,7 +6683,7 @@ else
  #pragma alloca
 #   else
 #    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
+void *alloca (size_t);
 #    endif
 #   endif
 #  endif
@@ -6644,7 +6727,7 @@ ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if test "${ac_cv_os_cray+set}" = set; then :
+if ${ac_cv_os_cray+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6671,8 +6754,7 @@ if test $ac_cv_os_cray = yes; then
   for ac_func in _getb67 GETB67 getb67; do
     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
 
 cat >>confdefs.h <<_ACEOF
 #define CRAY_STACKSEG_END $ac_func
@@ -6686,7 +6768,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
 $as_echo_n "checking stack direction for C alloca... " >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then :
+if ${ac_cv_c_stack_direction+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -6696,23 +6778,20 @@ else
 /* end confdefs.h.  */
 $ac_includes_default
 int
-find_stack_direction ()
+find_stack_direction (int *addr, int depth)
 {
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
+  int dir, dummy = 0;
+  if (! addr)
+    addr = &dummy;
+  *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+  dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+  return dir + dummy;
 }
 
 int
-main ()
+main (int argc, char **argv)
 {
-  return find_stack_direction () < 0;
+  return find_stack_direction (0, argc + !argv + 20) < 0;
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
@@ -6738,7 +6817,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${am_cv_langinfo_codeset+set}" = set; then :
+if ${am_cv_langinfo_codeset+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6774,8 +6853,7 @@ fi
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -6789,8 +6867,7 @@ done
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -6800,7 +6877,7 @@ done
 
 
   ac_fn_c_check_decl "$LINENO" "strerror" "ac_cv_have_decl_strerror" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strerror" = x""yes; then :
+if test "x$ac_cv_have_decl_strerror" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6810,7 +6887,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRERROR $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strstr" "ac_cv_have_decl_strstr" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strstr" = x""yes; then :
+if test "x$ac_cv_have_decl_strstr" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6823,7 +6900,7 @@ _ACEOF
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5
 $as_echo_n "checking for sigsetjmp... " >&6; }
-if test "${gdb_cv_func_sigsetjmp+set}" = set; then :
+if ${gdb_cv_func_sigsetjmp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6862,8 +6939,7 @@ for ac_header in sys/ptrace.h ptrace.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -6885,7 +6961,7 @@ gdb_ptrace_headers='
 # There is no point in checking if we don't have a prototype.
 ac_fn_c_check_decl "$LINENO" "ptrace" "ac_cv_have_decl_ptrace" "$gdb_ptrace_headers
 "
-if test "x$ac_cv_have_decl_ptrace" = x""yes; then :
+if test "x$ac_cv_have_decl_ptrace" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6907,7 +6983,7 @@ fi
 # empty argument list, so check for that explicitly.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of ptrace" >&5
 $as_echo_n "checking return type of ptrace... " >&6; }
-if test "${gdb_cv_func_ptrace_ret+set}" = set; then :
+if ${gdb_cv_func_ptrace_ret+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6954,7 +7030,7 @@ _ACEOF
 # Check argument types.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking types of arguments for ptrace" >&5
 $as_echo_n "checking types of arguments for ptrace... " >&6; }
-if test "${gdb_cv_func_ptrace_args+set}" = set; then :
+if ${gdb_cv_func_ptrace_args+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7144,7 +7220,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -7165,7 +7241,11 @@ build_warnings="-Wall -Wpointer-arith \
 -Wno-switch -Wno-char-subscripts \
 -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable \
 -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized \
--Wno-mismatched-tags"
+-Wno-mismatched-tags \
+-Wno-error=deprecated-register \
+-Wsuggest-override \
+-Wimplicit-fallthrough=3 \
+-Wduplicated-cond"
 
 case "${host}" in
   *-*-mingw32*)
@@ -7289,7 +7369,7 @@ LIBS="$LIBS -ldl"
 for ac_func in dladdr
 do :
   ac_fn_c_check_func "$LINENO" "dladdr" "ac_cv_func_dladdr"
-if test "x$ac_cv_func_dladdr" = x""yes; then :
+if test "x$ac_cv_func_dladdr" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLADDR 1
 _ACEOF
@@ -7302,7 +7382,7 @@ LIBS="$old_LIBS"
 
   # Check for presence and size of long long.
   ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
-if test "x$ac_cv_type_long_long" = x""yes; then :
+if test "x$ac_cv_type_long_long" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_LONG_LONG 1
@@ -7314,7 +7394,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
 $as_echo_n "checking size of long long... " >&6; }
-if test "${ac_cv_sizeof_long_long+set}" = set; then :
+if ${ac_cv_sizeof_long_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"; then :
@@ -7323,9 +7403,8 @@ else
   if test "$ac_cv_type_long_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long_long=0
    fi
@@ -7345,8 +7424,9 @@ _ACEOF
 fi
 
 
-  ac_fn_c_check_decl "$LINENO" "basename(char *)" "ac_cv_have_decl_basename_char_p_" "$ac_includes_default"
-if test "x$ac_cv_have_decl_basename_char_p_" = x""yes; then :
+  as_ac_Symbol=`$as_echo "ac_cv_have_decl_basename(char *)" | $as_tr_sh`
+ac_fn_c_check_decl "$LINENO" "basename(char *)" "$as_ac_Symbol" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Symbol"\" = x"yes"; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7356,7 +7436,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_BASENAME $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "ffs" "ac_cv_have_decl_ffs" "$ac_includes_default"
-if test "x$ac_cv_have_decl_ffs" = x""yes; then :
+if test "x$ac_cv_have_decl_ffs" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7366,7 +7446,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FFS $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_asprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_asprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7376,7 +7456,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_ASPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vasprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vasprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7386,7 +7466,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_VASPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_snprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_snprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7396,7 +7476,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_SNPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vsnprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vsnprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7407,7 +7487,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
   ac_fn_c_check_decl "$LINENO" "strtol" "ac_cv_have_decl_strtol" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtol" = x""yes; then :
+if test "x$ac_cv_have_decl_strtol" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7417,7 +7497,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoul" "ac_cv_have_decl_strtoul" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoul" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoul" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7427,7 +7507,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOUL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoll" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoll" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7437,7 +7517,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOLL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoull" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoull" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7448,7 +7528,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
   ac_fn_c_check_decl "$LINENO" "strverscmp" "ac_cv_have_decl_strverscmp" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strverscmp" = x""yes; then :
+if test "x$ac_cv_have_decl_strverscmp" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7461,7 +7541,7 @@ _ACEOF
 
 
 ac_fn_c_check_decl "$LINENO" "strerror" "ac_cv_have_decl_strerror" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strerror" = x""yes; then :
+if test "x$ac_cv_have_decl_strerror" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7471,7 +7551,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRERROR $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "perror" "ac_cv_have_decl_perror" "$ac_includes_default"
-if test "x$ac_cv_have_decl_perror" = x""yes; then :
+if test "x$ac_cv_have_decl_perror" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7481,7 +7561,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_PERROR $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vasprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vasprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7491,7 +7571,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_VASPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vsnprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vsnprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7503,7 +7583,7 @@ _ACEOF
 
 
 ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "$ac_includes_default"
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -7512,7 +7592,7 @@ _ACEOF
 
 fi
 ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default"
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -7528,7 +7608,7 @@ fi
 ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "fs_base" "ac_cv_member_struct_user_regs_struct_fs_base" "#include <sys/types.h>
 #include <sys/user.h>
 "
-if test "x$ac_cv_member_struct_user_regs_struct_fs_base" = x""yes; then :
+if test "x$ac_cv_member_struct_user_regs_struct_fs_base" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE 1
@@ -7539,7 +7619,7 @@ fi
 ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "gs_base" "ac_cv_member_struct_user_regs_struct_gs_base" "#include <sys/types.h>
 #include <sys/user.h>
 "
-if test "x$ac_cv_member_struct_user_regs_struct_gs_base" = x""yes; then :
+if test "x$ac_cv_member_struct_user_regs_struct_gs_base" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_USER_REGS_STRUCT_GS_BASE 1
@@ -7554,7 +7634,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -7580,7 +7660,7 @@ case "${target}" in
     ac_fn_c_check_type "$LINENO" "Elf32_auxv_t" "ac_cv_type_Elf32_auxv_t" "#include <elf.h>
 
 "
-if test "x$ac_cv_type_Elf32_auxv_t" = x""yes; then :
+if test "x$ac_cv_type_Elf32_auxv_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_ELF32_AUXV_T 1
@@ -7591,7 +7671,7 @@ fi
 ac_fn_c_check_type "$LINENO" "Elf64_auxv_t" "ac_cv_type_Elf64_auxv_t" "#include <elf.h>
 
 "
-if test "x$ac_cv_type_Elf64_auxv_t" = x""yes; then :
+if test "x$ac_cv_type_Elf64_auxv_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_ELF64_AUXV_T 1
@@ -7607,7 +7687,7 @@ esac
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -7623,7 +7703,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -7664,7 +7744,7 @@ case "${target}" in
   i[34567]86-*-linux*)
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if building for x86-64" >&5
 $as_echo_n "checking if building for x86-64... " >&6; }
-if test "${gdb_cv_i386_is_x86_64+set}" = set; then :
+if ${gdb_cv_i386_is_x86_64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   save_CPPFLAGS="$CPPFLAGS"
@@ -7694,7 +7774,7 @@ fi
   x86_64-*-linux*)
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if building for x32" >&5
 $as_echo_n "checking if building for x32... " >&6; }
-if test "${gdb_cv_x86_is_x32+set}" = set; then :
+if ${gdb_cv_x86_is_x32+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   save_CPPFLAGS="$CPPFLAGS"
@@ -7724,7 +7804,7 @@ fi
   m68k-*-*)
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if building for Coldfire" >&5
 $as_echo_n "checking if building for Coldfire... " >&6; }
-if test "${gdb_cv_m68k_is_coldfire+set}" = set; then :
+if ${gdb_cv_m68k_is_coldfire+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   save_CPPFLAGS="$CPPFLAGS"
@@ -7787,7 +7867,7 @@ if test "${srv_linux_regsets}" = "yes"; 
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTRACE_GETREGS" >&5
 $as_echo_n "checking for PTRACE_GETREGS... " >&6; }
-  if test "${gdbsrv_cv_have_ptrace_getregs+set}" = set; then :
+  if ${gdbsrv_cv_have_ptrace_getregs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7819,7 +7899,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTRACE_GETFPXREGS" >&5
 $as_echo_n "checking for PTRACE_GETFPXREGS... " >&6; }
-  if test "${gdbsrv_cv_have_ptrace_getfpxregs+set}" = set; then :
+  if ${gdbsrv_cv_have_ptrace_getfpxregs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7859,7 +7939,7 @@ fi
 if test "$ac_cv_header_sys_procfs_h" = yes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpid_t in sys/procfs.h" >&5
 $as_echo_n "checking for lwpid_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_lwpid_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_lwpid_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7896,7 +7976,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psaddr_t in sys/procfs.h" >&5
 $as_echo_n "checking for psaddr_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_psaddr_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_psaddr_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7933,7 +8013,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for prgregset_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_prgregset_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_prgregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7970,7 +8050,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prfpregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for prfpregset_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_prfpregset_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_prfpregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8007,7 +8087,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_fpregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for elf_fpregset_t in sys/procfs.h... " >&6; }
- if test "${bfd_cv_have_sys_procfs_type_elf_fpregset_t+set}" = set; then :
+ if ${bfd_cv_have_sys_procfs_type_elf_fpregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8047,7 +8127,7 @@ fi
 if test "$bfd_cv_have_sys_procfs_type_lwpid_t" != yes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpid_t in thread_db.h" >&5
 $as_echo_n "checking for lwpid_t in thread_db.h... " >&6; }
- if test "${gdbserver_cv_have_thread_db_type_lwpid_t+set}" = set; then :
+ if ${gdbserver_cv_have_thread_db_type_lwpid_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8084,7 +8164,7 @@ fi
 if test "$bfd_cv_have_sys_procfs_type_psaddr_t" != yes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psaddr_t in thread_db.h" >&5
 $as_echo_n "checking for psaddr_t in thread_db.h... " >&6; }
- if test "${gdbserver_cv_have_thread_db_type_psaddr_t+set}" = set; then :
+ if ${gdbserver_cv_have_thread_db_type_psaddr_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8121,7 +8201,7 @@ fi
 old_LIBS="$LIBS"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -8155,7 +8235,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBDL 1
 _ACEOF
@@ -8232,7 +8312,7 @@ rm -f core conftest.err conftest.$ac_obj
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TD_VERSION" >&5
 $as_echo_n "checking for TD_VERSION... " >&6; }
-if test "${gdbsrv_cv_have_td_version+set}" = set; then :
+if ${gdbsrv_cv_have_td_version+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8295,7 +8375,7 @@ GDBSERVER_LIBS="$srv_libs"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports __sync_*_compare_and_swap" >&5
 $as_echo_n "checking whether the target supports __sync_*_compare_and_swap... " >&6; }
-if test "${gdbsrv_cv_have_sync_builtins+set}" = set; then :
+if ${gdbsrv_cv_have_sync_builtins+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -8349,7 +8429,7 @@ CFLAGS="$saved_cflags"
 
 ac_fn_c_check_decl "$LINENO" "ADDR_NO_RANDOMIZE" "ac_cv_have_decl_ADDR_NO_RANDOMIZE" "#include <sys/personality.h>
 "
-if test "x$ac_cv_have_decl_ADDR_NO_RANDOMIZE" = x""yes; then :
+if test "x$ac_cv_have_decl_ADDR_NO_RANDOMIZE" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -8439,7 +8519,7 @@ if test "${enable_inprocess_agent+set}" 
   enableval=$enable_inprocess_agent; case "$enableval" in
   yes) want_ipa=true ;;
   no) want_ipa=false ;;
-  *) as_fn_error "bad value $enableval for inprocess-agent" "$LINENO" 5 ;;
+  *) as_fn_error $? "bad value $enableval for inprocess-agent" "$LINENO" 5 ;;
 esac
 else
   want_ipa=$have_ipa
@@ -8451,7 +8531,7 @@ if $want_ipa ; then
      IPA_DEPFILES="$ipa_obj"
      extra_libraries="$extra_libraries libinproctrace.so"
    else
-     as_fn_error "inprocess agent not supported for this target" "$LINENO" 5
+     as_fn_error $? "inprocess agent not supported for this target" "$LINENO" 5
    fi
 fi
 
@@ -8537,10 +8617,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -8556,6 +8647,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -8571,11 +8663,11 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -8676,6 +8768,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -8721,19 +8814,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -8871,16 +8964,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -8929,7 +9022,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -8940,28 +9033,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -8983,7 +9064,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -9023,6 +9104,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -9045,12 +9127,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -9066,11 +9149,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -9084,12 +9172,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -9102,7 +9193,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -9111,7 +9202,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -9131,7 +9222,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -9171,7 +9262,7 @@ do
     "gdbdepdir") CONFIG_COMMANDS="$CONFIG_COMMANDS gdbdepdir" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -9194,9 +9285,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -9204,12 +9296,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -9226,12 +9319,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -9240,18 +9333,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -9259,7 +9352,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -9273,7 +9366,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -9287,7 +9380,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -9307,7 +9400,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -9339,21 +9432,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -9365,7 +9466,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -9377,11 +9478,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -9466,7 +9567,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -9479,7 +9580,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -9498,7 +9599,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -9507,7 +9608,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -9533,8 +9634,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -9664,23 +9765,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -9689,21 +9791,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -9735,7 +9837,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -9756,7 +9858,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/configure.ac ./gdb/gdbserver/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/configure.ac	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/configure.ac	2018-07-10 02:06:13.000000000 +0000
@@ -18,8 +18,6 @@ dnl along with this program.  If not, se
 
 dnl Process this file with autoconf to produce a configure script.
 
-AC_PREREQ(2.59)dnl
-
 AC_INIT(server.c)
 AC_CONFIG_HEADER(config.h:config.in)
 
@@ -57,7 +55,7 @@ fi
 GDB_AC_LIBMCHECK(${libmcheck_default})
 
 if $development; then
-  srv_selftest_objs="selftest.o"
+  srv_selftest_objs="common/selftest.o"
   AC_DEFINE(GDB_SELF_TEST, 1,
             [Define if self-testing features should be enabled])
 fi
@@ -69,7 +67,7 @@ ACX_NONCANONICAL_HOST
 ZW_CREATE_DEPDIR
 
 # Create sub-directories for objects and dependencies.
-CONFIG_SRC_SUBDIR="arch"
+CONFIG_SRC_SUBDIR="arch common"
 AC_SUBST(CONFIG_SRC_SUBDIR)
 
 AC_CONFIG_COMMANDS([gdbdepdir],[
@@ -429,7 +427,7 @@ fi
 dnl Check for -fvisibility=hidden support in the compiler.
 saved_cflags="$CFLAGS"
 CFLAGS="$CFLAGS -fvisibility=hidden"
-AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
 		        [gdbsrv_cv_have_visibility_hidden=yes],
 	        	[gdbsrv_cv_have_visibility_hidden=no])
 CFLAGS="$saved_cflags"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/configure.srv ./gdb/gdbserver/configure.srv
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/configure.srv	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/configure.srv	2018-07-10 02:06:13.000000000 +0000
@@ -34,14 +34,6 @@ fi
 
 ipa_ppc_linux_regobj="powerpc-32l-ipa.o powerpc-altivec32l-ipa.o powerpc-cell32l-ipa.o powerpc-vsx32l-ipa.o powerpc-isa205-32l-ipa.o powerpc-isa205-altivec32l-ipa.o powerpc-isa205-vsx32l-ipa.o powerpc-e500l-ipa.o powerpc-64l-ipa.o powerpc-altivec64l-ipa.o powerpc-cell64l-ipa.o powerpc-vsx64l-ipa.o powerpc-isa205-64l-ipa.o powerpc-isa205-altivec64l-ipa.o powerpc-isa205-vsx64l-ipa.o"
 
-srv_i386_32bit_xmlfiles="i386/32bit-core.xml i386/32bit-sse.xml i386/32bit-avx.xml i386/32bit-avx512.xml i386/32bit-mpx.xml i386/32bit-pkeys.xml"
-srv_i386_64bit_xmlfiles="i386/64bit-core.xml i386/64bit-segments.xml i386/64bit-sse.xml i386/64bit-avx.xml i386/64bit-avx512.xml i386/x32-core.xml i386/64bit-mpx.xml i386/64bit-pkeys.xml"
-srv_i386_xmlfiles="i386/i386.xml $srv_i386_32bit_xmlfiles"
-srv_amd64_xmlfiles="i386/amd64.xml $srv_i386_64bit_xmlfiles"
-srv_i386_linux_xmlfiles="i386/32bit-linux.xml $srv_i386_32bit_xmlfiles"
-srv_amd64_linux_xmlfiles="i386/64bit-linux.xml $srv_i386_64bit_xmlfiles"
-
-
 # Linux object files.  This is so we don't have to repeat
 # these files over and over again.
 srv_linux_obj="linux-low.o linux-osdata.o linux-procfs.o linux-ptrace.o linux-waitpid.o linux-personality.o linux-namespaces.o fork-child.o fork-inferior.o"
@@ -62,12 +54,8 @@ case "${target}" in
 			srv_tgtobj="$srv_tgtobj arch/aarch64-insn.o"
 			srv_tgtobj="$srv_tgtobj arch/aarch64.o"
 			srv_tgtobj="$srv_tgtobj linux-aarch64-tdesc.o"
+			srv_tgtobj="$srv_tgtobj aarch64-sve-linux-ptrace.o"
 			srv_tgtobj="${srv_tgtobj} $srv_linux_obj"
-			srv_xmlfiles="aarch64.xml"
-			srv_xmlfiles="${srv_xmlfiles} aarch64-core.xml"
-			srv_xmlfiles="${srv_xmlfiles} aarch64-fpu.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm/arm-core.xml arm/arm-vfpv3.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm/arm-with-neon.xml"
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes
 			ipa_obj="linux-aarch64-ipa.o"
@@ -121,13 +109,10 @@ case "${target}" in
   i[34567]86-*-cygwin*)	srv_regobj=""
 			srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o"
 			srv_tgtobj="${srv_tgtobj} arch/i386.o"
-			srv_xmlfiles="$srv_i386_xmlfiles"
 			;;
   i[34567]86-*-linux*)	srv_regobj="$srv_i386_linux_regobj"
-			srv_xmlfiles="$srv_i386_linux_xmlfiles"
 			if test "$gdb_cv_i386_is_x86_64" = yes ; then
 			    srv_regobj="$srv_regobj $srv_amd64_linux_regobj"
-			    srv_xmlfiles="${srv_xmlfiles} $srv_amd64_linux_xmlfiles"
 			    srv_tgtobj="amd64-linux-siginfo.o"
 			fi
 			srv_tgtobj="${srv_tgtobj} arch/i386.o"
@@ -145,9 +130,6 @@ case "${target}" in
   i[34567]86-*-lynxos*)	srv_regobj=""
 			srv_tgtobj="lynx-low.o lynx-i386-low.o fork-child.o fork-inferior.o"
 			srv_tgtobj="${srv_tgtobj} arch/i386.o"
-			srv_xmlfiles="i386/i386.xml"
-			srv_xmlfiles="${srv_xmlfiles} i386/32bit-core.xml"
-			srv_xmlfiles="${srv_xmlfiles} i386/32bit-sse.xml"
 			srv_lynxos=yes
 			;;
   i[34567]86-*-mingw32ce*)
@@ -155,7 +137,6 @@ case "${target}" in
 			srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o"
 			srv_tgtobj="${srv_tgtobj} arch/i386.o"
 			srv_tgtobj="${srv_tgtobj} wincecompat.o"
-			srv_xmlfiles="$srv_i386_xmlfiles"
 			# hostio_last_error implementation is in win32-low.c
 			srv_hostio_err_objs=""
 			srv_mingw=yes
@@ -164,12 +145,10 @@ case "${target}" in
   i[34567]86-*-mingw*)	srv_regobj=""
 			srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o"
 			srv_tgtobj="${srv_tgtobj} arch/i386.o"
-			srv_xmlfiles="$srv_i386_xmlfiles"
 			srv_mingw=yes
 			;;
   i[34567]86-*-nto*)	srv_regobj=""
 			srv_tgtobj="nto-low.o nto-x86-low.o arch/i386.o"
-			srv_xmlfiles="$srv_i386_xmlfiles"
 			srv_qnx="yes"
 			;;
   ia64-*-linux*)	srv_regobj=reg-ia64.o
@@ -247,6 +226,7 @@ case "${target}" in
 			srv_regobj="${srv_regobj} powerpc-isa205-altivec64l.o"
 			srv_regobj="${srv_regobj} powerpc-isa205-vsx64l.o"
 			srv_tgtobj="$srv_linux_obj linux-ppc-low.o ppc-linux.o"
+			srv_tgtobj="${srv_tgtobj} arch/ppc-linux-common.o"
 			srv_xmlfiles="rs6000/powerpc-32l.xml"
 			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec32l.xml"
 			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-cell32l.xml"
@@ -370,9 +350,6 @@ case "${target}" in
                         else
 			  srv_regobj=""
                         fi
-			srv_xmlfiles="${srv_xmlfiles} tic6x-core.xml"
-			srv_xmlfiles="${srv_xmlfiles} tic6x-gp.xml"
-			srv_xmlfiles="${srv_xmlfiles} tic6x-c6xp.xml"
 			srv_tgtobj="$srv_linux_obj linux-tic6x-low.o"
 			srv_tgtobj="${srv_tgtobj} arch/tic6x.o"
 			srv_linux_regsets=yes
@@ -386,7 +363,6 @@ case "${target}" in
 			srv_tgtobj="${srv_tgtobj} linux-btrace.o x86-linux.o"
 			srv_tgtobj="${srv_tgtobj} x86-linux-dregs.o"
 			srv_tgtobj="${srv_tgtobj} amd64-linux-siginfo.o"
-			srv_xmlfiles="$srv_i386_linux_xmlfiles $srv_amd64_linux_xmlfiles"
 			srv_linux_usrregs=yes # This is for i386 progs.
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes
@@ -397,13 +373,11 @@ case "${target}" in
   x86_64-*-mingw*)	srv_regobj=""
 			srv_tgtobj="x86-low.o x86-dregs.o i387-fp.o win32-low.o win32-i386-low.o"
 			srv_tgtobj="${srv_tgtobj} arch/amd64.o"
-			srv_xmlfiles="$srv_i386_xmlfiles $srv_amd64_xmlfiles"
 			srv_mingw=yes
 			;;
   x86_64-*-cygwin*)	srv_regobj=""
 			srv_tgtobj="x86-low.o x86-dregs.o i387-fp.o win32-low.o win32-i386-low.o"
 			srv_tgtobj="${srv_tgtobj} arch/amd64.o"
-			srv_xmlfiles="$srv_i386_xmlfiles"
 			;;
 
   xtensa*-*-linux*)	srv_regobj=reg-xtensa.o
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/event-loop.c ./gdb/gdbserver/event-loop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/event-loop.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/event-loop.c	2018-07-10 02:06:13.000000000 +0000
@@ -19,7 +19,6 @@
 /* Based on src/gdb/event-loop.c.  */
 
 #include "server.h"
-#include "queue.h"
 
 #include <sys/types.h>
 #include "gdb_sys_time.h"
@@ -30,8 +29,8 @@
 #endif
 
 #include <unistd.h>
+#include <queue>
 
-typedef struct gdb_event gdb_event;
 typedef int (event_handler_func) (gdb_fildes_t);
 
 /* Tell create_file_handler what events we are interested in.  */
@@ -40,8 +39,7 @@ typedef int (event_handler_func) (gdb_fi
 #define GDB_WRITABLE	(1<<2)
 #define GDB_EXCEPTION	(1<<3)
 
-/* Events are queued by calling 'QUEUE_enque (gdb_event_p, event_queue,
-   file_event_ptr)' and serviced later
+/* Events are queued by on the event_queue and serviced later
    on by do_one_event.  An event can be, for instance, a file
    descriptor becoming ready to be read.  Servicing an event simply
    means that the procedure PROC will be called.  We have 2 queues,
@@ -52,14 +50,14 @@ typedef int (event_handler_func) (gdb_fi
    descriptor whose state change generated the event, plus doing other
    cleanups and such.  */
 
-typedef struct gdb_event
+struct gdb_event
   {
     /* Procedure to call to service this event.  */
     event_handler_func *proc;
 
     /* File descriptor that is ready.  */
     gdb_fildes_t fd;
-  } *gdb_event_p;
+  };
 
 /* Information about each file descriptor we register with the event
    loop.  */
@@ -89,9 +87,9 @@ typedef struct file_handler
   }
 file_handler;
 
-DECLARE_QUEUE_P(gdb_event_p);
-static QUEUE(gdb_event_p) *event_queue = NULL;
-DEFINE_QUEUE_P(gdb_event_p);
+typedef gdb::unique_xmalloc_ptr<gdb_event> gdb_event_up;
+
+static std::queue<gdb_event_up, std::list<gdb_event_up>> event_queue;
 
 /* Gdb_notifier is just a list of file descriptors gdb is interested
    in.  These are the input file descriptor, and the target file
@@ -146,18 +144,9 @@ static struct
   }
 callback_list;
 
-/* Free EVENT.  */
-
-static void
-gdb_event_xfree (struct gdb_event *event)
-{
-  xfree (event);
-}
-
 void
 initialize_event_loop (void)
 {
-  event_queue = QUEUE_alloc (gdb_event_p, gdb_event_xfree);
 }
 
 /* Process one event.  If an event was processed, 1 is returned
@@ -173,13 +162,14 @@ process_event (void)
      proc function could end up jumping out to the caller of this
      function.  In that case, we would have on the event queue an
      event which has been processed, but not deleted.  */
-  if (!QUEUE_is_empty (gdb_event_p, event_queue))
+  if (!event_queue.empty ())
     {
-      gdb_event *event_ptr = QUEUE_deque (gdb_event_p, event_queue);
+      gdb_event_up event_ptr = std::move (event_queue.front ());
+      event_queue.pop ();
+
       event_handler_func *proc = event_ptr->proc;
       gdb_fildes_t fd = event_ptr->fd;
 
-      gdb_event_xfree (event_ptr);
       /* Now call the procedure associated with the event.  */
       if ((*proc) (fd))
 	return -1;
@@ -522,7 +512,7 @@ wait_for_event (void)
 	{
 	  gdb_event *file_event_ptr = create_file_event (file_ptr->fd);
 
-	  QUEUE_enque (gdb_event_p, event_queue, file_event_ptr);
+	  event_queue.emplace (file_event_ptr);
 	}
       file_ptr->ready_mask = mask;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/fork-child.c ./gdb/gdbserver/fork-child.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/fork-child.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/fork-child.c	2018-07-10 02:06:13.000000000 +0000
@@ -44,6 +44,7 @@ restore_old_foreground_pgrp (void)
 void
 prefork_hook (const char *args)
 {
+  client_state &cs = get_client_state ();
   if (debug_threads)
     {
       debug_printf ("args: %s\n", args);
@@ -57,7 +58,7 @@ prefork_hook (const char *args)
 
   /* Clear this so the backend doesn't get confused, thinking
      CONT_THREAD died, and it needs to resume all threads.  */
-  cont_thread = null_ptid;
+  cs.cont_thread = null_ptid;
 }
 
 /* See nat/fork-inferior.h.  */
@@ -96,6 +97,7 @@ gdb_flush_out_err ()
 void
 post_fork_inferior (int pid, const char *program)
 {
+  client_state &cs = get_client_state ();
 #ifdef SIGTTOU
   signal (SIGTTOU, SIG_IGN);
   signal (SIGTTIN, SIG_IGN);
@@ -106,9 +108,9 @@ post_fork_inferior (int pid, const char 
 #endif
 
   startup_inferior (pid, START_INFERIOR_TRAPS_EXPECTED,
-		    &last_status, &last_ptid);
+		    &cs.last_status, &cs.last_ptid);
   current_thread->last_resume_kind = resume_stop;
-  current_thread->last_status = last_status;
+  current_thread->last_status = cs.last_status;
   signal_pid = pid;
   target_post_create_inferior ();
   fprintf (stderr, "Process %s created; pid = %d\n", program, pid);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/gdbreplay.c ./gdb/gdbserver/gdbreplay.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/gdbreplay.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/gdbreplay.c	2018-07-10 02:06:13.000000000 +0000
@@ -17,11 +17,9 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "config.h"
-#include "build-gnulib-gdbserver/config.h"
+#include "common-defs.h"
 #include "version.h"
 
-#include <stdio.h>
 #if HAVE_SYS_FILE_H
 #include <sys/file.h>
 #endif
@@ -32,9 +30,6 @@
 #if HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
 #include <unistd.h>
 #ifdef HAVE_NETINET_IN_H
 #include <netinet/in.h>
@@ -49,8 +44,6 @@
 #include <netinet/tcp.h>
 #endif
 
-#include <alloca.h>
-
 #if USE_WIN32API
 #include <winsock2.h>
 #endif
@@ -115,32 +108,6 @@ strerror (DWORD error)
 
 #endif /* __MINGW32CE__ */
 
-/* Print the system error message for errno, and also mention STRING
-   as the file name for which the error was encountered.
-   Then return to command level.  */
-
-static void
-perror_with_name (const char *string)
-{
-#ifndef STDC_HEADERS
-  extern int errno;
-#endif
-  const char *err;
-  char *combined;
-
-  err = strerror (errno);
-  if (err == NULL)
-    err = "unknown error";
-
-  combined = (char *) alloca (strlen (err) + strlen (string) + 3);
-  strcpy (combined, string);
-  strcat (combined, ": ");
-  strcat (combined, err);
-  fprintf (stderr, "\n%s.\n", combined);
-  fflush (stderr);
-  exit (1);
-}
-
 static void
 sync_error (FILE *fp, const char *desc, int expect, int got)
 {
@@ -422,8 +389,11 @@ gdbreplay_usage (FILE *stream)
     fprintf (stream, "Report bugs to \"%s\".\n", REPORT_BUGS_TO);
 }
 
-int
-main (int argc, char *argv[])
+/* Main function.  This is called by the real "main" function,
+   wrapped in a TRY_CATCH that handles any uncaught exceptions.  */
+
+static void ATTRIBUTE_NORETURN
+captured_main (int argc, char *argv[])
 {
   FILE *fp;
   int ch;
@@ -471,3 +441,25 @@ main (int argc, char *argv[])
   remote_close ();
   exit (0);
 }
+
+int
+main (int argc, char *argv[])
+{
+  TRY
+    {
+      captured_main (argc, argv);
+    }
+  CATCH (exception, RETURN_MASK_ALL)
+    {
+      if (exception.reason == RETURN_ERROR)
+	{
+	  fflush (stdout);
+	  fprintf (stderr, "%s\n", exception.message);
+	}
+
+      exit (1);
+    }
+  END_CATCH
+
+  gdb_assert_not_reached ("captured_main should never return");
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/gdbthread.h ./gdb/gdbserver/gdbthread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/gdbthread.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/gdbthread.h	2018-07-10 02:06:13.000000000 +0000
@@ -224,7 +224,4 @@ lwpid_of (const thread_info *thread)
   return thread->id.lwp ();
 }
 
-/* Create a cleanup to restore current_thread.  */
-struct cleanup *make_cleanup_restore_current_thread (void);
-
 #endif /* GDB_THREAD_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/hostio.c ./gdb/gdbserver/hostio.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/hostio.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/hostio.c	2018-07-10 02:06:13.000000000 +0000
@@ -96,22 +96,27 @@ static int
 require_int (char **pp, int *value)
 {
   char *p;
-  int count;
+  int count, firstdigit;
 
   p = *pp;
   *value = 0;
   count = 0;
+  firstdigit = -1;
 
   while (*p && *p != ',')
     {
       int nib;
 
-      /* Don't allow overflow.  */
-      if (count >= 7)
+      if (safe_fromhex (p[0], &nib))
 	return -1;
 
-      if (safe_fromhex (p[0], &nib))
+      if (firstdigit == -1)
+	firstdigit = nib;
+
+      /* Don't allow overflow.  */
+      if (count >= 8 || (count == 7 && firstdigit >= 0x8))
 	return -1;
+
       *value = *value * 16 + nib;
       p++;
       count++;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/i387-fp.c ./gdb/gdbserver/i387-fp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/i387-fp.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/i387-fp.c	2018-07-10 02:06:13.000000000 +0000
@@ -294,17 +294,31 @@ i387_cache_to_xsave (struct regcache *re
   if (clear_bv)
     {
       if ((clear_bv & X86_XSTATE_X87))
-	for (i = 0; i < 8; i++)
-	  memset (((char *) &fp->st_space[0]) + i * 16, 0, 10);
+	{
+	  for (i = 0; i < 8; i++)
+	    memset (((char *) &fp->st_space[0]) + i * 16, 0, 10);
+
+	  fp->fioff = 0;
+	  fp->fooff = 0;
+	  fp->fctrl = I387_FCTRL_INIT_VAL;
+	  fp->fstat = 0;
+	  fp->ftag = 0;
+	  fp->fiseg = 0;
+	  fp->foseg = 0;
+	  fp->fop = 0;
+	}
 
       if ((clear_bv & X86_XSTATE_SSE))
-	for (i = 0; i < num_xmm_registers; i++) 
+	for (i = 0; i < num_xmm_registers; i++)
 	  memset (((char *) &fp->xmm_space[0]) + i * 16, 0, 16);
 
       if ((clear_bv & X86_XSTATE_AVX))
-	for (i = 0; i < num_xmm_registers; i++) 
+	for (i = 0; i < num_xmm_registers; i++)
 	  memset (((char *) &fp->ymmh_space[0]) + i * 16, 0, 16);
 
+      if ((clear_bv & X86_XSTATE_SSE) && (clear_bv & X86_XSTATE_AVX))
+	memset (((char *) &fp->mxcsr), 0, 4);
+
       if ((clear_bv & X86_XSTATE_BNDREGS))
 	for (i = 0; i < num_mpx_bnd_registers; i++)
 	  memset (((char *) &fp->mpx_bnd_space[0]) + i * 16, 0, 16);
@@ -523,43 +537,93 @@ i387_cache_to_xsave (struct regcache *re
 	}
     }
 
-  /* Update the corresponding bits in xstate_bv if any SSE/AVX
-     registers are changed.  */
-  fp->xstate_bv |= xstate_bv;
+  if ((x86_xcr0 & X86_XSTATE_SSE) || (x86_xcr0 & X86_XSTATE_AVX))
+    {
+      collect_register_by_name (regcache, "mxcsr", raw);
+      if (memcmp (raw, &fp->mxcsr, 4) != 0)
+	{
+	  if (((fp->xstate_bv | xstate_bv)
+	       & (X86_XSTATE_SSE | X86_XSTATE_AVX)) == 0)
+	    xstate_bv |= X86_XSTATE_SSE;
+	  memcpy (&fp->mxcsr, raw, 4);
+	}
+    }
 
-  collect_register_by_name (regcache, "fioff", &fp->fioff);
-  collect_register_by_name (regcache, "fooff", &fp->fooff);
-  collect_register_by_name (regcache, "mxcsr", &fp->mxcsr);
-
-  /* This one's 11 bits... */
-  collect_register_by_name (regcache, "fop", &val2);
-  fp->fop = (val2 & 0x7FF) | (fp->fop & 0xF800);
+  if (x86_xcr0 & X86_XSTATE_X87)
+    {
+      collect_register_by_name (regcache, "fioff", raw);
+      if (memcmp (raw, &fp->fioff, 4) != 0)
+	{
+	  xstate_bv |= X86_XSTATE_X87;
+	  memcpy (&fp->fioff, raw, 4);
+	}
 
-  /* Some registers are 16-bit.  */
-  collect_register_by_name (regcache, "fctrl", &val);
-  fp->fctrl = val;
+      collect_register_by_name (regcache, "fooff", raw);
+      if (memcmp (raw, &fp->fooff, 4) != 0)
+	{
+	  xstate_bv |= X86_XSTATE_X87;
+	  memcpy (&fp->fooff, raw, 4);
+	}
 
-  collect_register_by_name (regcache, "fstat", &val);
-  fp->fstat = val;
+      /* This one's 11 bits... */
+      collect_register_by_name (regcache, "fop", &val2);
+      val2 = (val2 & 0x7FF) | (fp->fop & 0xF800);
+      if (fp->fop != val2)
+	{
+	  xstate_bv |= X86_XSTATE_X87;
+	  fp->fop = val2;
+	}
 
-  /* Convert to the simplifed tag form stored in fxsave data.  */
-  collect_register_by_name (regcache, "ftag", &val);
-  val &= 0xFFFF;
-  val2 = 0;
-  for (i = 7; i >= 0; i--)
-    {
-      int tag = (val >> (i * 2)) & 3;
+      /* Some registers are 16-bit.  */
+      collect_register_by_name (regcache, "fctrl", &val);
+      if (fp->fctrl != val)
+	{
+	  xstate_bv |= X86_XSTATE_X87;
+	  fp->fctrl = val;
+	}
 
-      if (tag != 3)
-	val2 |= (1 << i);
-    }
-  fp->ftag = val2;
+      collect_register_by_name (regcache, "fstat", &val);
+      if (fp->fstat != val)
+	{
+	  xstate_bv |= X86_XSTATE_X87;
+	  fp->fstat = val;
+	}
 
-  collect_register_by_name (regcache, "fiseg", &val);
-  fp->fiseg = val;
+      /* Convert to the simplifed tag form stored in fxsave data.  */
+      collect_register_by_name (regcache, "ftag", &val);
+      val &= 0xFFFF;
+      val2 = 0;
+      for (i = 7; i >= 0; i--)
+	{
+	  int tag = (val >> (i * 2)) & 3;
+
+	  if (tag != 3)
+	    val2 |= (1 << i);
+	}
+      if (fp->ftag != val2)
+	{
+	  xstate_bv |= X86_XSTATE_X87;
+	  fp->ftag = val2;
+	}
+
+      collect_register_by_name (regcache, "fiseg", &val);
+      if (fp->fiseg != val)
+	{
+	  xstate_bv |= X86_XSTATE_X87;
+	  fp->fiseg = val;
+	}
+
+      collect_register_by_name (regcache, "foseg", &val);
+      if (fp->foseg != val)
+	{
+	  xstate_bv |= X86_XSTATE_X87;
+	  fp->foseg = val;
+	}
+    }
 
-  collect_register_by_name (regcache, "foseg", &val);
-  fp->foseg = val;
+  /* Update the corresponding bits in xstate_bv if any SSE/AVX
+     registers are changed.  */
+  fp->xstate_bv |= xstate_bv;
 }
 
 static int
@@ -844,39 +908,67 @@ i387_xsave_to_cache (struct regcache *re
 	}
     }
 
-  supply_register_by_name (regcache, "fioff", &fp->fioff);
-  supply_register_by_name (regcache, "fooff", &fp->fooff);
-  supply_register_by_name (regcache, "mxcsr", &fp->mxcsr);
+  if ((clear_bv & (X86_XSTATE_SSE | X86_XSTATE_AVX))
+      == (X86_XSTATE_SSE | X86_XSTATE_AVX))
+    {
+      unsigned int default_mxcsr = I387_MXCSR_INIT_VAL;
+      supply_register_by_name (regcache, "mxcsr", &default_mxcsr);
+    }
+  else
+    supply_register_by_name (regcache, "mxcsr", &fp->mxcsr);
 
-  /* Some registers are 16-bit.  */
-  val = fp->fctrl & 0xFFFF;
-  supply_register_by_name (regcache, "fctrl", &val);
+  if ((clear_bv & X86_XSTATE_X87) != 0)
+    {
+      supply_register_by_name_zeroed (regcache, "fioff");
+      supply_register_by_name_zeroed (regcache, "fooff");
 
-  val = fp->fstat & 0xFFFF;
-  supply_register_by_name (regcache, "fstat", &val);
+      val = I387_FCTRL_INIT_VAL;
+      supply_register_by_name (regcache, "fctrl", &val);
 
-  /* Generate the form of ftag data that GDB expects.  */
-  top = (fp->fstat >> 11) & 0x7;
-  val = 0;
-  for (i = 7; i >= 0; i--)
-    {
-      int tag;
-      if (fp->ftag & (1 << i))
-	tag = i387_ftag (fxp, (i + 8 - top) % 8);
-      else
-	tag = 3;
-      val |= tag << (2 * i);
+      supply_register_by_name_zeroed (regcache, "fstat");
+
+      val = 0xFFFF;
+      supply_register_by_name (regcache, "ftag", &val);
+
+      supply_register_by_name_zeroed (regcache, "fiseg");
+      supply_register_by_name_zeroed (regcache, "foseg");
+      supply_register_by_name_zeroed (regcache, "fop");
     }
-  supply_register_by_name (regcache, "ftag", &val);
+  else
+    {
+      supply_register_by_name (regcache, "fioff", &fp->fioff);
+      supply_register_by_name (regcache, "fooff", &fp->fooff);
 
-  val = fp->fiseg & 0xFFFF;
-  supply_register_by_name (regcache, "fiseg", &val);
+      /* Some registers are 16-bit.  */
+      val = fp->fctrl & 0xFFFF;
+      supply_register_by_name (regcache, "fctrl", &val);
+
+      val = fp->fstat & 0xFFFF;
+      supply_register_by_name (regcache, "fstat", &val);
+
+      /* Generate the form of ftag data that GDB expects.  */
+      top = (fp->fstat >> 11) & 0x7;
+      val = 0;
+      for (i = 7; i >= 0; i--)
+	{
+	  int tag;
+	  if (fp->ftag & (1 << i))
+	    tag = i387_ftag (fxp, (i + 8 - top) % 8);
+	  else
+	    tag = 3;
+	  val |= tag << (2 * i);
+	}
+      supply_register_by_name (regcache, "ftag", &val);
 
-  val = fp->foseg & 0xFFFF;
-  supply_register_by_name (regcache, "foseg", &val);
+      val = fp->fiseg & 0xFFFF;
+      supply_register_by_name (regcache, "fiseg", &val);
 
-  val = (fp->fop) & 0x7FF;
-  supply_register_by_name (regcache, "fop", &val);
+      val = fp->foseg & 0xFFFF;
+      supply_register_by_name (regcache, "foseg", &val);
+
+      val = (fp->fop) & 0x7FF;
+      supply_register_by_name (regcache, "fop", &val);
+    }
 }
 
 /* Default to SSE.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/inferiors.c ./gdb/gdbserver/inferiors.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/inferiors.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/inferiors.c	2018-07-10 02:06:13.000000000 +0000
@@ -213,18 +213,6 @@ current_process (void)
   return get_thread_process (current_thread);
 }
 
-static void
-do_restore_current_thread_cleanup (void *arg)
-{
-  current_thread = (struct thread_info *) arg;
-}
-
-struct cleanup *
-make_cleanup_restore_current_thread (void)
-{
-  return make_cleanup (do_restore_current_thread_cleanup, current_thread);
-}
-
 /* See common/common-gdbthread.h.  */
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-aarch64-ipa.c ./gdb/gdbserver/linux-aarch64-ipa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-aarch64-ipa.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-aarch64-ipa.c	2018-07-10 02:06:13.000000000 +0000
@@ -147,12 +147,12 @@ get_raw_reg (const unsigned char *raw_re
 
 /* Return target_desc to use for IPA, given the tdesc index passed by
    gdbserver.  Index is ignored, since we have only one tdesc
-   at the moment.  */
+   at the moment.  SVE not yet supported.  */
 
 const struct target_desc *
 get_ipa_tdesc (int idx)
 {
-  return aarch64_linux_read_description ();
+  return aarch64_linux_read_description (0);
 }
 
 /* Allocate buffer for the jump pads.  The branch instruction has a reach
@@ -204,5 +204,6 @@ alloc_jump_pad_buffer (size_t size)
 void
 initialize_low_tracepoint (void)
 {
-  aarch64_linux_read_description ();
+  /* SVE not yet supported.  */
+  aarch64_linux_read_description (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.1.0.20180703/gdb/gdbserver/linux-aarch64-low.c ./gdb/gdbserver/linux-aarch64-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-aarch64-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-aarch64-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -40,6 +40,8 @@
 #include "gdb_proc_service.h"
 #include "arch/aarch64.h"
 #include "linux-aarch64-tdesc.h"
+#include "nat/aarch64-sve-linux-ptrace.h"
+#include "tdesc.h"
 
 #ifdef HAVE_SYS_REG_H
 #include <sys/reg.h>
@@ -72,6 +74,16 @@ is_64bit_tdesc (void)
   return register_size (regcache->tdesc, 0) == 8;
 }
 
+/* Return true if the regcache contains the number of SVE registers.  */
+
+static bool
+is_sve_tdesc (void)
+{
+  struct regcache *regcache = get_thread_regcache (current_thread, 0);
+
+  return regcache->tdesc->reg_defs.size () == AARCH64_SVE_NUM_REGS;
+}
+
 /* Implementation of linux_target_ops method "cannot_store_register".  */
 
 static int
@@ -360,14 +372,39 @@ aarch64_stopped_data_address (void)
   state = aarch64_get_debug_reg_state (pid_of (current_thread));
   for (i = aarch64_num_wp_regs - 1; i >= 0; --i)
     {
+      const unsigned int offset
+	= aarch64_watchpoint_offset (state->dr_ctrl_wp[i]);
       const unsigned int len = aarch64_watchpoint_length (state->dr_ctrl_wp[i]);
       const CORE_ADDR addr_trap = (CORE_ADDR) siginfo.si_addr;
-      const CORE_ADDR addr_watch = state->dr_addr_wp[i];
+      const CORE_ADDR addr_watch = state->dr_addr_wp[i] + offset;
+      const CORE_ADDR addr_watch_aligned = align_down (state->dr_addr_wp[i], 8);
+      const CORE_ADDR addr_orig = state->dr_addr_orig_wp[i];
+
       if (state->dr_ref_count_wp[i]
 	  && DR_CONTROL_ENABLED (state->dr_ctrl_wp[i])
-	  && addr_trap >= addr_watch
+	  && addr_trap >= addr_watch_aligned
 	  && addr_trap < addr_watch + len)
-	return addr_trap;
+	{
+	  /* ADDR_TRAP reports the first address of the memory range
+	     accessed by the CPU, regardless of what was the memory
+	     range watched.  Thus, a large CPU access that straddles
+	     the ADDR_WATCH..ADDR_WATCH+LEN range may result in an
+	     ADDR_TRAP that is lower than the
+	     ADDR_WATCH..ADDR_WATCH+LEN range.  E.g.:
+
+	     addr: |   4   |   5   |   6   |   7   |   8   |
+				   |---- range watched ----|
+		   |----------- range accessed ------------|
+
+	     In this case, ADDR_TRAP will be 4.
+
+	     To match a watchpoint known to GDB core, we must never
+	     report *ADDR_P outside of any ADDR_WATCH..ADDR_WATCH+LEN
+	     range.  ADDR_WATCH <= ADDR_TRAP < ADDR_ORIG is a false
+	     positive on kernels older than 4.10.  See PR
+	     external/20207.  */
+	  return addr_orig;
+	}
     }
 
   return (CORE_ADDR) 0;
@@ -478,13 +515,32 @@ aarch64_arch_setup (void)
   is_elf64 = linux_pid_exe_is_elf_64_file (tid, &machine);
 
   if (is_elf64)
-    current_process ()->tdesc = aarch64_linux_read_description ();
+    {
+      uint64_t vq = aarch64_sve_get_vq (tid);
+      current_process ()->tdesc = aarch64_linux_read_description (vq);
+    }
   else
     current_process ()->tdesc = tdesc_arm_with_neon;
 
   aarch64_linux_get_debug_reg_capacity (lwpid_of (current_thread));
 }
 
+/* Wrapper for aarch64_sve_regs_copy_to_reg_buf.  */
+
+static void
+aarch64_sve_regs_copy_to_regcache (struct regcache *regcache, const void *buf)
+{
+  return aarch64_sve_regs_copy_to_reg_buf (regcache, buf);
+}
+
+/* Wrapper for aarch64_sve_regs_copy_from_reg_buf.  */
+
+static void
+aarch64_sve_regs_copy_from_regcache (struct regcache *regcache, void *buf)
+{
+  return aarch64_sve_regs_copy_from_reg_buf (regcache, buf);
+}
+
 static struct regset_info aarch64_regsets[] =
 {
   { PTRACE_GETREGSET, PTRACE_SETREGSET, NT_PRSTATUS,
@@ -511,15 +567,44 @@ static struct regs_info regs_info_aarch6
     &aarch64_regsets_info,
   };
 
+static struct regset_info aarch64_sve_regsets[] =
+{
+  { PTRACE_GETREGSET, PTRACE_SETREGSET, NT_PRSTATUS,
+    sizeof (struct user_pt_regs), GENERAL_REGS,
+    aarch64_fill_gregset, aarch64_store_gregset },
+  { PTRACE_GETREGSET, PTRACE_SETREGSET, NT_ARM_SVE,
+    SVE_PT_SIZE (AARCH64_MAX_SVE_VQ, SVE_PT_REGS_SVE), EXTENDED_REGS,
+    aarch64_sve_regs_copy_from_regcache, aarch64_sve_regs_copy_to_regcache
+  },
+  NULL_REGSET
+};
+
+static struct regsets_info aarch64_sve_regsets_info =
+  {
+    aarch64_sve_regsets, /* regsets.  */
+    0, /* num_regsets.  */
+    NULL, /* disabled_regsets.  */
+  };
+
+static struct regs_info regs_info_aarch64_sve =
+  {
+    NULL, /* regset_bitmap.  */
+    NULL, /* usrregs.  */
+    &aarch64_sve_regsets_info,
+  };
+
 /* Implementation of linux_target_ops method "regs_info".  */
 
 static const struct regs_info *
 aarch64_regs_info (void)
 {
-  if (is_64bit_tdesc ())
-    return &regs_info_aarch64;
-  else
+  if (!is_64bit_tdesc ())
     return &regs_info_aarch32;
+
+  if (is_sve_tdesc ())
+    return &regs_info_aarch64_sve;
+
+  return &regs_info_aarch64;
 }
 
 /* Implementation of linux_target_ops method "supports_tracepoints".  */
@@ -2998,6 +3083,7 @@ initialize_low_arch (void)
   initialize_low_arch_aarch32 ();
 
   initialize_regsets_info (&aarch64_regsets_info);
+  initialize_regsets_info (&aarch64_sve_regsets_info);
 
 #if GDB_SELF_TEST
   initialize_low_tdesc ();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-aarch64-tdesc.c ./gdb/gdbserver/linux-aarch64-tdesc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-aarch64-tdesc.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-aarch64-tdesc.c	2018-07-10 02:06:13.000000000 +0000
@@ -21,22 +21,37 @@
 #include "tdesc.h"
 #include "arch/aarch64.h"
 #include "linux-aarch32-low.h"
+#include <inttypes.h>
+
+/* All possible aarch64 target descriptors.  */
+struct target_desc *tdesc_aarch64_list[AARCH64_MAX_SVE_VQ + 1];
 
 /* Create the aarch64 target description.  */
 
 const target_desc *
-aarch64_linux_read_description ()
+aarch64_linux_read_description (uint64_t vq)
 {
-  static target_desc *aarch64_tdesc = NULL;
-  target_desc **tdesc = &aarch64_tdesc;
+  if (vq > AARCH64_MAX_SVE_VQ)
+    error (_("VQ is %" PRIu64 ", maximum supported value is %d"), vq,
+	   AARCH64_MAX_SVE_VQ);
+
+  struct target_desc *tdesc = tdesc_aarch64_list[vq];
 
-  if (*tdesc == NULL)
+  if (tdesc == NULL)
     {
-      *tdesc = aarch64_create_target_description ();
+      tdesc = aarch64_create_target_description (vq);
 
       static const char *expedite_regs_aarch64[] = { "x29", "sp", "pc", NULL };
-      init_target_desc (*tdesc, expedite_regs_aarch64);
+      static const char *expedite_regs_aarch64_sve[] = { "x29", "sp", "pc",
+							 "vg", NULL };
+
+      if (vq == 0)
+	init_target_desc (tdesc, expedite_regs_aarch64);
+      else
+	init_target_desc (tdesc, expedite_regs_aarch64_sve);
+
+      tdesc_aarch64_list[vq] = tdesc;
     }
 
-  return *tdesc;
+  return tdesc;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-aarch64-tdesc.h ./gdb/gdbserver/linux-aarch64-tdesc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-aarch64-tdesc.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-aarch64-tdesc.h	2018-07-10 02:06:13.000000000 +0000
@@ -17,7 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-const target_desc * aarch64_linux_read_description ();
+const target_desc * aarch64_linux_read_description (uint64_t vq);
 
 #if GDB_SELF_TEST
 void initialize_low_tdesc ();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-aarch64-tdesc-selftest.c ./gdb/gdbserver/linux-aarch64-tdesc-selftest.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-aarch64-tdesc-selftest.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-aarch64-tdesc-selftest.c	2018-07-10 02:06:13.000000000 +0000
@@ -29,7 +29,7 @@ namespace tdesc {
 static void
 aarch64_tdesc_test ()
 {
-  const target_desc *tdesc = aarch64_linux_read_description ();
+  const target_desc *tdesc = aarch64_linux_read_description (0);
   SELF_CHECK (*tdesc == *tdesc_aarch64);
 }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-low.c ./gdb/gdbserver/linux-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -50,6 +50,7 @@
 #include "common-inferior.h"
 #include "nat/fork-inferior.h"
 #include "environ.h"
+#include "common/scoped_restore.h"
 #ifndef ELFMAG0
 /* Don't include <linux/elf.h> here.  If it got included by gdb_proc_service.h
    then ELFMAG0 will have been defined.  If it didn't get included by
@@ -474,6 +475,7 @@ linux_arch_setup_thread (struct thread_i
 static int
 handle_extended_wait (struct lwp_info **orig_event_lwp, int wstat)
 {
+  client_state &cs = get_client_state ();
   struct lwp_info *event_lwp = *orig_event_lwp;
   int event = linux_ptrace_get_extended_event (wstat);
   struct thread_info *event_thr = get_lwp_thread (event_lwp);
@@ -521,14 +523,14 @@ handle_extended_wait (struct lwp_info **
 	  struct thread_info *child_thr;
 	  struct target_desc *tdesc;
 
-	  ptid = ptid_build (new_pid, new_pid, 0);
+	  ptid = ptid_t (new_pid, new_pid, 0);
 
 	  if (debug_threads)
 	    {
 	      debug_printf ("HEW: Got fork event from LWP %ld, "
 			    "new child is %d\n",
-			    ptid_get_lwp (ptid_of (event_thr)),
-			    ptid_get_pid (ptid));
+			    ptid_of (event_thr).lwp (),
+			    ptid.pid ());
 	    }
 
 	  /* Add the new process to the tables and clone the breakpoint
@@ -628,7 +630,7 @@ handle_extended_wait (struct lwp_info **
 		      "from LWP %ld, new child is LWP %ld\n",
 		      lwpid_of (event_thr), new_pid);
 
-      ptid = ptid_build (pid_of (event_thr), new_pid, 0);
+      ptid = ptid_t (pid_of (event_thr), new_pid, 0);
       new_lwp = add_lwp (ptid);
 
       /* Either we're going to immediately resume the new thread
@@ -654,14 +656,16 @@ handle_extended_wait (struct lwp_info **
 	  new_lwp->status_pending_p = 1;
 	  new_lwp->status_pending = status;
 	}
-      else if (report_thread_events)
+      else if (cs.report_thread_events)
 	{
 	  new_lwp->waitstatus.kind = TARGET_WAITKIND_THREAD_CREATED;
 	  new_lwp->status_pending_p = 1;
 	  new_lwp->status_pending = status;
 	}
 
+#ifdef USE_THREAD_DB
       thread_db_notice_clone (event_thr, ptid);
+#endif
 
       /* Don't report the event.  */
       return 1;
@@ -680,7 +684,7 @@ handle_extended_wait (struct lwp_info **
       /* Report the event.  */
       return 0;
     }
-  else if (event == PTRACE_EVENT_EXEC && report_exec_events)
+  else if (event == PTRACE_EVENT_EXEC && cs.report_exec_events)
     {
       struct process_info *proc;
       std::vector<int> syscalls_to_catch;
@@ -695,7 +699,7 @@ handle_extended_wait (struct lwp_info **
 
       /* Get the event ptid.  */
       event_ptid = ptid_of (event_thr);
-      event_pid = ptid_get_pid (event_ptid);
+      event_pid = event_ptid.pid ();
 
       /* Save the syscall list from the execing process.  */
       proc = get_thread_process (event_thr);
@@ -995,13 +999,14 @@ static int
 linux_create_inferior (const char *program,
 		       const std::vector<char *> &program_args)
 {
+  client_state &cs = get_client_state ();
   struct lwp_info *new_lwp;
   int pid;
   ptid_t ptid;
 
   {
     maybe_disable_address_space_randomization restore_personality
-      (disable_randomization);
+      (cs.disable_randomization);
     std::string str_program_args = stringify_argv (program_args);
 
     pid = fork_inferior (program,
@@ -1012,7 +1017,7 @@ linux_create_inferior (const char *progr
 
   linux_add_process (pid, 0);
 
-  ptid = ptid_build (pid, pid, 0);
+  ptid = ptid_t (pid, pid, 0);
   new_lwp = add_lwp (ptid);
   new_lwp->must_set_ptrace_flags = 1;
 
@@ -1047,7 +1052,7 @@ int
 linux_attach_lwp (ptid_t ptid)
 {
   struct lwp_info *new_lwp;
-  int lwpid = ptid_get_lwp (ptid);
+  int lwpid = ptid.lwp ();
 
   if (ptrace (PTRACE_ATTACH, lwpid, (PTRACE_TYPE_ARG3) 0, (PTRACE_TYPE_ARG4) 0)
       != 0)
@@ -1135,7 +1140,7 @@ attach_proc_task_lwp_callback (ptid_t pt
   /* Is this a new thread?  */
   if (find_thread_ptid (ptid) == NULL)
     {
-      int lwpid = ptid_get_lwp (ptid);
+      int lwpid = ptid.lwp ();
       int err;
 
       if (debug_threads)
@@ -1159,9 +1164,10 @@ attach_proc_task_lwp_callback (ptid_t pt
 	}
       else if (err != 0)
 	{
-	  warning (_("Cannot attach to lwp %d: %s"),
-		   lwpid,
-		   linux_ptrace_attach_fail_reason_string (ptid, err));
+	  std::string reason
+	    = linux_ptrace_attach_fail_reason_string (ptid, err);
+
+	  warning (_("Cannot attach to lwp %d: %s"), lwpid, reason.c_str ());
 	}
 
       return 1;
@@ -1179,21 +1185,24 @@ linux_attach (unsigned long pid)
 {
   struct process_info *proc;
   struct thread_info *initial_thread;
-  ptid_t ptid = ptid_build (pid, pid, 0);
+  ptid_t ptid = ptid_t (pid, pid, 0);
   int err;
 
   /* Attach to PID.  We will check for other threads
      soon.  */
   err = linux_attach_lwp (ptid);
   if (err != 0)
-    error ("Cannot attach to process %ld: %s",
-	   pid, linux_ptrace_attach_fail_reason_string (ptid, err));
+    {
+      std::string reason = linux_ptrace_attach_fail_reason_string (ptid, err);
+
+      error ("Cannot attach to process %ld: %s", pid, reason.c_str ());
+    }
 
   proc = linux_add_process (pid, 1);
 
   /* Don't ignore the initial SIGSTOP if we just attached to this
      process.  It will be collected by wait shortly.  */
-  initial_thread = find_thread_ptid (ptid_build (pid, pid, 0));
+  initial_thread = find_thread_ptid (ptid_t (pid, pid, 0));
   initial_thread->last_resume_kind = resume_stop;
 
   /* We must attach to every LWP.  If /proc is mounted, use that to
@@ -1217,13 +1226,13 @@ linux_attach (unsigned long pid)
     {
       struct lwp_info *lwp;
       int wstat, lwpid;
-      ptid_t pid_ptid = pid_to_ptid (pid);
+      ptid_t pid_ptid = ptid_t (pid);
 
       lwpid = linux_wait_for_event_filtered (pid_ptid, pid_ptid,
 					     &wstat, __WALL);
       gdb_assert (lwpid > 0);
 
-      lwp = find_lwp_pid (pid_to_ptid (lwpid));
+      lwp = find_lwp_pid (ptid_t (lwpid));
 
       if (!WIFSTOPPED (wstat) || WSTOPSIG (wstat) != SIGSTOP)
 	{
@@ -1314,8 +1323,8 @@ static void
 kill_wait_lwp (struct lwp_info *lwp)
 {
   struct thread_info *thr = get_lwp_thread (lwp);
-  int pid = ptid_get_pid (ptid_of (thr));
-  int lwpid = ptid_get_lwp (ptid_of (thr));
+  int pid = ptid_of (thr).pid ();
+  int lwpid = ptid_of (thr).lwp ();
   int wstat;
   int res;
 
@@ -1396,7 +1405,7 @@ linux_kill (int pid)
 
   /* See the comment in linux_kill_one_lwp.  We did not kill the first
      thread in the list, so do so now.  */
-  lwp = find_lwp_pid (pid_to_ptid (pid));
+  lwp = find_lwp_pid (ptid_t (pid));
 
   if (lwp == NULL)
     {
@@ -1422,6 +1431,7 @@ linux_kill (int pid)
 static int
 get_detach_signal (struct thread_info *thread)
 {
+  client_state &cs = get_client_state ();
   enum gdb_signal signo = GDB_SIGNAL_0;
   int status;
   struct lwp_info *lp = get_thread_lwp (thread);
@@ -1462,7 +1472,7 @@ get_detach_signal (struct thread_info *t
 
   signo = gdb_signal_from_host (WSTOPSIG (status));
 
-  if (program_signals_p && !program_signals[signo])
+  if (cs.program_signals_p && !cs.program_signals[signo])
     {
       if (debug_threads)
 	debug_printf ("GPS: lwp %s had signal %s, but it is in nopass state\n",
@@ -1470,7 +1480,7 @@ get_detach_signal (struct thread_info *t
 		      gdb_signal_to_string (signo));
       return 0;
     }
-  else if (!program_signals_p
+  else if (!cs.program_signals_p
 	   /* If we have no way to know which signals GDB does not
 	      want to have passed to the program, assume
 	      SIGTRAP/SIGINT, which is GDB's default.  */
@@ -1630,7 +1640,7 @@ linux_detach (int pid)
      able to reap the leader.  */
   for_each_thread (pid, linux_detach_lwp_callback);
 
-  main_lwp = find_lwp_pid (pid_to_ptid (pid));
+  main_lwp = find_lwp_pid (ptid_t (pid));
   linux_detach_one_lwp (main_lwp);
 
   the_target->mourn (process);
@@ -1868,7 +1878,7 @@ check_zombie_leaders (void)
     pid_t leader_pid = pid_of (proc);
     struct lwp_info *leader_lp;
 
-    leader_lp = find_lwp_pid (pid_to_ptid (leader_pid));
+    leader_lp = find_lwp_pid (ptid_t (leader_pid));
 
     if (debug_threads)
       debug_printf ("leader_pid=%d, leader_lp!=NULL=%d, "
@@ -2321,18 +2331,19 @@ check_stopped_by_watchpoint (struct lwp_
 static int
 linux_low_ptrace_options (int attached)
 {
+  client_state &cs = get_client_state ();
   int options = 0;
 
   if (!attached)
     options |= PTRACE_O_EXITKILL;
 
-  if (report_fork_events)
+  if (cs.report_fork_events)
     options |= PTRACE_O_TRACEFORK;
 
-  if (report_vfork_events)
+  if (cs.report_vfork_events)
     options |= (PTRACE_O_TRACEVFORK | PTRACE_O_TRACEVFORKDONE);
 
-  if (report_exec_events)
+  if (cs.report_exec_events)
     options |= PTRACE_O_TRACEEXEC;
 
   options |= PTRACE_O_TRACESYSGOOD;
@@ -2347,11 +2358,12 @@ linux_low_ptrace_options (int attached)
 static struct lwp_info *
 linux_low_filter_event (int lwpid, int wstat)
 {
+  client_state &cs = get_client_state ();
   struct lwp_info *child;
   struct thread_info *thread;
   int have_stop_pc = 0;
 
-  child = find_lwp_pid (pid_to_ptid (lwpid));
+  child = find_lwp_pid (ptid_t (lwpid));
 
   /* Check for stop events reported by a process we didn't already
      know about - anything not already in our LWP list.
@@ -2379,7 +2391,7 @@ linux_low_filter_event (int lwpid, int w
 			"after exec.\n", lwpid);
 	}
 
-      child_ptid = ptid_build (lwpid, lwpid, 0);
+      child_ptid = ptid_t (lwpid, lwpid, 0);
       child = add_lwp (child_ptid);
       child->stopped = 1;
       current_thread = child->thread;
@@ -2418,7 +2430,7 @@ linux_low_filter_event (int lwpid, int w
       /* If there is at least one more LWP, then the exit signal was
 	 not the end of the debugged application and should be
 	 ignored, unless GDB wants to hear about thread exits.  */
-      if (report_thread_events
+      if (cs.report_thread_events
 	  || last_thread_of_process_p (pid_of (thread)))
 	{
 	  /* Since events are serialized to GDB core, and we can't
@@ -2623,7 +2635,7 @@ linux_wait_for_event_filtered (ptid_t wa
 
   /* Check for a lwp with a pending status.  */
 
-  if (ptid_equal (filter_ptid, minus_one_ptid) || ptid_is_pid (filter_ptid))
+  if (filter_ptid == minus_one_ptid || filter_ptid.is_pid ())
     {
       event_thread = find_thread_in_random ([&] (thread_info *thread)
 	{
@@ -2635,7 +2647,7 @@ linux_wait_for_event_filtered (ptid_t wa
       if (debug_threads && event_thread)
 	debug_printf ("Got a pending child %ld\n", lwpid_of (event_thread));
     }
-  else if (!ptid_equal (filter_ptid, null_ptid))
+  else if (filter_ptid != null_ptid)
     {
       requested_child = find_lwp_pid (filter_ptid);
 
@@ -3042,12 +3054,13 @@ static ptid_t
 filter_exit_event (struct lwp_info *event_child,
 		   struct target_waitstatus *ourstatus)
 {
+  client_state &cs = get_client_state ();
   struct thread_info *thread = get_lwp_thread (event_child);
   ptid_t ptid = ptid_of (thread);
 
   if (!last_thread_of_process_p (pid_of (thread)))
     {
-      if (report_thread_events)
+      if (cs.report_thread_events)
 	ourstatus->kind = TARGET_WAITKIND_THREAD_EXITED;
       else
 	ourstatus->kind = TARGET_WAITKIND_IGNORE;
@@ -3099,6 +3112,7 @@ static ptid_t
 linux_wait_1 (ptid_t ptid,
 	      struct target_waitstatus *ourstatus, int target_options)
 {
+  client_state &cs = get_client_state ();
   int w;
   struct lwp_info *event_child;
   int options;
@@ -3145,7 +3159,7 @@ linux_wait_1 (ptid_t ptid,
   else
     any_resumed = 0;
 
-  if (ptid_equal (step_over_bkpt, null_ptid))
+  if (step_over_bkpt == null_ptid)
     pid = linux_wait_for_event (ptid, &w, options);
   else
     {
@@ -3234,7 +3248,7 @@ linux_wait_1 (ptid_t ptid,
      if it's not the single_step_breakpoint we are hitting.
      This avoids that a program would keep trapping a permanent breakpoint
      forever.  */
-  if (!ptid_equal (step_over_bkpt, null_ptid)
+  if (step_over_bkpt != null_ptid
       && event_child->stop_reason == TARGET_STOPPED_BY_SW_BREAKPOINT
       && (event_child->stepping
 	  || !single_step_breakpoint_inserted_here (event_child->stop_pc)))
@@ -3468,7 +3482,7 @@ linux_wait_1 (ptid_t ptid,
 	       || WSTOPSIG (w) == __SIGRTMIN + 1))
 	  ||
 #endif
-	  (pass_signals[gdb_signal_from_host (WSTOPSIG (w))]
+	  (cs.pass_signals[gdb_signal_from_host (WSTOPSIG (w))]
 	   && !(WSTOPSIG (w) == SIGSTOP
 		&& current_thread->last_resume_kind == resume_stop)
 	   && !linux_wstatus_maybe_breakpoint (w))))
@@ -3722,7 +3736,7 @@ linux_wait_1 (ptid_t ptid,
 	 from among those that have had events.  Giving equal priority
 	 to all LWPs that have had events helps prevent
 	 starvation.  */
-      if (ptid_equal (ptid, minus_one_ptid))
+      if (ptid == minus_one_ptid)
 	{
 	  event_child->status_pending_p = 1;
 	  event_child->status_pending = w;
@@ -3775,7 +3789,7 @@ linux_wait_1 (ptid_t ptid,
      it was a software breakpoint, and the client doesn't know we can
      adjust the breakpoint ourselves.  */
   if (event_child->stop_reason == TARGET_STOPPED_BY_SW_BREAKPOINT
-      && !swbreak_feature)
+      && !cs.swbreak_feature)
     {
       int decr_pc = the_low_target.decr_pc_after_break;
 
@@ -3813,7 +3827,7 @@ linux_wait_1 (ptid_t ptid,
       ourstatus->value.sig = gdb_signal_from_host (WSTOPSIG (w));
     }
 
-  gdb_assert (ptid_equal (step_over_bkpt, null_ptid));
+  gdb_assert (step_over_bkpt == null_ptid);
 
   if (debug_threads)
     {
@@ -3872,14 +3886,14 @@ linux_wait (ptid_t ptid,
       event_ptid = linux_wait_1 (ptid, ourstatus, target_options);
     }
   while ((target_options & TARGET_WNOHANG) == 0
-	 && ptid_equal (event_ptid, null_ptid)
+	 && event_ptid == null_ptid
 	 && ourstatus->kind == TARGET_WAITKIND_IGNORE);
 
   /* If at least one stop was reported, there may be more.  A single
      SIGCHLD can signal more than one child stop.  */
   if (target_is_async_p ()
       && (target_options & TARGET_WNOHANG) != 0
-      && !ptid_equal (event_ptid, null_ptid))
+      && event_ptid != null_ptid)
     async_file_mark ();
 
   return event_ptid;
@@ -4201,15 +4215,14 @@ install_software_single_step_breakpoints
 {
   struct thread_info *thread = get_lwp_thread (lwp);
   struct regcache *regcache = get_thread_regcache (thread, 1);
-  struct cleanup *old_chain = make_cleanup_restore_current_thread ();
+
+  scoped_restore save_current_thread = make_scoped_restore (&current_thread);
 
   current_thread = thread;
   std::vector<CORE_ADDR> next_pcs = the_low_target.get_next_pcs (regcache);
 
   for (CORE_ADDR pc : next_pcs)
     set_single_step_breakpoint (pc, current_ptid);
-
-  do_cleanups (old_chain);
 }
 
 /* Single step via hardware or software single step.
@@ -4529,13 +4542,13 @@ linux_set_resume_request (thread_info *t
   for (int ndx = 0; ndx < n; ndx++)
     {
       ptid_t ptid = resume[ndx].thread;
-      if (ptid_equal (ptid, minus_one_ptid)
+      if (ptid == minus_one_ptid
 	  || ptid == thread->id
 	  /* Handle both 'pPID' and 'pPID.-1' as meaning 'all threads
 	     of PID'.  */
-	  || (ptid_get_pid (ptid) == pid_of (thread)
-	      && (ptid_is_pid (ptid)
-		  || ptid_get_lwp (ptid) == -1)))
+	  || (ptid.pid () == pid_of (thread)
+	      && (ptid.is_pid ()
+		  || ptid.lwp () == -1)))
 	{
 	  if (resume[ndx].kind == resume_stop
 	      && thread->last_resume_kind == resume_stop)
@@ -4886,7 +4899,7 @@ finish_step_over (struct lwp_info *lwp)
 static void
 complete_ongoing_step_over (void)
 {
-  if (!ptid_equal (step_over_bkpt, null_ptid))
+  if (step_over_bkpt != null_ptid)
     {
       struct lwp_info *lwp;
       int wstat;
@@ -5555,7 +5568,11 @@ fetch_register (const struct usrregs_inf
 		(PTRACE_TYPE_ARG3) (uintptr_t) regaddr, (PTRACE_TYPE_ARG4) 0);
       regaddr += sizeof (PTRACE_XFER_TYPE);
       if (errno != 0)
-	error ("reading register %d: %s", regno, strerror (errno));
+	{
+	  /* Mark register REGNO unavailable.  */
+	  supply_register (regcache, regno, NULL);
+	  return;
+	}
     }
 
   if (the_low_target.supply_ptrace_register)
@@ -6978,8 +6995,6 @@ linux_qxfer_libraries_svr4 (const char *
 			    unsigned const char *writebuf,
 			    CORE_ADDR offset, int len)
 {
-  char *document;
-  unsigned document_len;
   struct process_info_private *const priv = current_process ()->priv;
   char filename[PATH_MAX];
   int pid, is_elf64;
@@ -7009,8 +7024,6 @@ linux_qxfer_libraries_svr4 (const char *
   unsigned int machine;
   int ptr_size;
   CORE_ADDR lm_addr = 0, lm_prev = 0;
-  int allocated = 1024;
-  char *p;
   CORE_ADDR l_name, l_addr, l_ld, l_next, l_prev;
   int header_done = 0;
 
@@ -7083,9 +7096,7 @@ linux_qxfer_libraries_svr4 (const char *
 	}
     }
 
-  document = (char *) xmalloc (allocated);
-  strcpy (document, "<library-list-svr4 version=\"1.0\"");
-  p = document + strlen (document);
+  std::string document = "<library-list-svr4 version=\"1.0\"";
 
   while (lm_addr
 	 && read_one_ptr (lm_addr + lmo->l_name_offset,
@@ -7115,10 +7126,7 @@ linux_qxfer_libraries_svr4 (const char *
 	 executable does not have PT_DYNAMIC present and this function already
 	 exited above due to failed get_r_debug.  */
       if (lm_prev == 0)
-	{
-	  sprintf (p, " main-lm=\"0x%lx\"", (unsigned long) lm_addr);
-	  p = p + strlen (p);
-	}
+	string_appendf (document, " main-lm=\"0x%lx\"", (unsigned long) lm_addr);
       else
 	{
 	  /* Not checking for error because reading may stop before
@@ -7128,31 +7136,19 @@ linux_qxfer_libraries_svr4 (const char *
 	  libname[sizeof (libname) - 1] = '\0';
 	  if (libname[0] != '\0')
 	    {
-	      /* 6x the size for xml_escape_text below.  */
-	      size_t len = 6 * strlen ((char *) libname);
-
 	      if (!header_done)
 		{
 		  /* Terminate `<library-list-svr4'.  */
-		  *p++ = '>';
+		  document += '>';
 		  header_done = 1;
 		}
 
-	      while (allocated < p - document + len + 200)
-		{
-		  /* Expand to guarantee sufficient storage.  */
-		  uintptr_t document_len = p - document;
-
-		  document = (char *) xrealloc (document, 2 * allocated);
-		  allocated *= 2;
-		  p = document + document_len;
-		}
-
-	      std::string name = xml_escape_text ((char *) libname);
-	      p += sprintf (p, "<library name=\"%s\" lm=\"0x%lx\" "
-			    "l_addr=\"0x%lx\" l_ld=\"0x%lx\"/>",
-			    name.c_str (), (unsigned long) lm_addr,
-			    (unsigned long) l_addr, (unsigned long) l_ld);
+	      string_appendf (document, "<library name=\"");
+	      xml_escape_text_append (&document, (char *) libname);
+	      string_appendf (document, "\" lm=\"0x%lx\" "
+			      "l_addr=\"0x%lx\" l_ld=\"0x%lx\"/>",
+			      (unsigned long) lm_addr, (unsigned long) l_addr,
+			      (unsigned long) l_ld);
 	    }
 	}
 
@@ -7163,12 +7159,12 @@ linux_qxfer_libraries_svr4 (const char *
   if (!header_done)
     {
       /* Empty list; terminate `<library-list-svr4'.  */
-      strcpy (p, "/>");
+      document += "/>";
     }
   else
-    strcpy (p, "</library-list-svr4>");
+    document += "</library-list-svr4>";
 
-  document_len = strlen (document);
+  int document_len = document.length ();
   if (offset < document_len)
     document_len -= offset;
   else
@@ -7176,8 +7172,7 @@ linux_qxfer_libraries_svr4 (const char *
   if (len > document_len)
     len = document_len;
 
-  memcpy (readbuf, document + offset, len);
-  xfree (document);
+  memcpy (readbuf, document.data () + offset, len);
 
   return len;
 }
@@ -7255,8 +7250,6 @@ linux_low_read_btrace (struct btrace_tar
   enum btrace_error err;
   int i;
 
-  btrace_data_init (&btrace);
-
   err = linux_read_btrace (&btrace, tinfo, type);
   if (err != BTRACE_ERR_NONE)
     {
@@ -7265,14 +7258,14 @@ linux_low_read_btrace (struct btrace_tar
       else
 	buffer_grow_str0 (buffer, "E.Generic Error.");
 
-      goto err;
+      return -1;
     }
 
   switch (btrace.format)
     {
     case BTRACE_FORMAT_NONE:
       buffer_grow_str0 (buffer, "E.No Trace.");
-      goto err;
+      return -1;
 
     case BTRACE_FORMAT_BTS:
       buffer_grow_str (buffer, "<!DOCTYPE btrace SYSTEM \"btrace.dtd\">\n");
@@ -7303,15 +7296,10 @@ linux_low_read_btrace (struct btrace_tar
 
     default:
       buffer_grow_str0 (buffer, "E.Unsupported Trace Format.");
-      goto err;
+      return -1;
     }
 
-  btrace_data_fini (&btrace);
   return 0;
-
-err:
-  btrace_data_fini (&btrace);
-  return -1;
 }
 
 /* See to_btrace_conf target method.  */
@@ -7521,7 +7509,6 @@ static struct target_ops linux_target_op
   linux_qxfer_libraries_svr4,
   linux_supports_agent,
 #ifdef HAVE_LINUX_BTRACE
-  linux_supports_btrace,
   linux_enable_btrace,
   linux_low_disable_btrace,
   linux_low_read_btrace,
@@ -7531,7 +7518,6 @@ static struct target_ops linux_target_op
   NULL,
   NULL,
   NULL,
-  NULL,
 #endif
   linux_supports_range_stepping,
   linux_proc_pid_to_exec_file,
@@ -7572,6 +7558,7 @@ initialize_low (void)
   set_target_ops (&linux_target_ops);
 
   linux_ptrace_init_warnings ();
+  linux_proc_init_warnings ();
 
   sigchld_action.sa_handler = sigchld_handler;
   sigemptyset (&sigchld_action.sa_mask);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-mips-low.c ./gdb/gdbserver/linux-mips-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-mips-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-mips-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -198,8 +198,8 @@ struct arch_lwp_info
 
 /* Pseudo registers can not be read.  ptrace does not provide a way to
    read (or set) PS_REGNUM, and there's no point in reading or setting
-   ZERO_REGNUM.  We also can not set BADVADDR, CAUSE, or FCRIR via
-   ptrace().  */
+   ZERO_REGNUM, it's always 0.  We also can not set BADVADDR, CAUSE,
+   or FCRIR via ptrace().  */
 
 static int
 mips_cannot_fetch_register (int regno)
@@ -211,6 +211,10 @@ mips_cannot_fetch_register (int regno)
 
   tdesc = current_process ()->tdesc;
 
+  /* On n32 we can't access 64-bit registers via PTRACE_PEEKUSR.  */
+  if (register_size (tdesc, regno) > sizeof (PTRACE_XFER_TYPE))
+    return 1;
+
   if (find_regno (tdesc, "r0") == regno)
     return 1;
 
@@ -227,6 +231,10 @@ mips_cannot_store_register (int regno)
 
   tdesc = current_process ()->tdesc;
 
+  /* On n32 we can't access 64-bit registers via PTRACE_POKEUSR.  */
+  if (register_size (tdesc, regno) > sizeof (PTRACE_XFER_TYPE))
+    return 1;
+
   if (find_regno (tdesc, "r0") == regno)
     return 1;
 
@@ -242,6 +250,20 @@ mips_cannot_store_register (int regno)
   return 0;
 }
 
+static int
+mips_fetch_register (struct regcache *regcache, int regno)
+{
+  const struct target_desc *tdesc = current_process ()->tdesc;
+
+  if (find_regno (tdesc, "r0") == regno)
+    {
+      supply_register_zeroed (regcache, regno);
+      return 1;
+    }
+
+  return 0;
+}
+
 static CORE_ADDR
 mips_get_pc (struct regcache *regcache)
 {
@@ -418,7 +440,7 @@ static void
 mips_linux_prepare_to_resume (struct lwp_info *lwp)
 {
   ptid_t ptid = ptid_of (get_lwp_thread (lwp));
-  struct process_info *proc = find_process_pid (ptid_get_pid (ptid));
+  struct process_info *proc = find_process_pid (ptid.pid ());
   struct arch_process_info *priv = proc->priv->arch_private;
 
   if (lwp->arch_private->watch_registers_changed)
@@ -428,7 +450,7 @@ mips_linux_prepare_to_resume (struct lwp
       if (mips_linux_watch_get_num_valid (&priv->watch_mirror) > 0)
 	{
 	  /* Write the mirrored watch register values.  */
-	  int tid = ptid_get_lwp (ptid);
+	  int tid = ptid.lwp ();
 
 	  if (-1 == ptrace (PTRACE_SET_WATCH_REGS, tid,
 			    &priv->watch_mirror, NULL))
@@ -655,8 +677,6 @@ ps_get_thread_area (struct ps_prochandle
   return PS_OK;
 }
 
-#ifdef HAVE_PTRACE_GETREGS
-
 static void
 mips_collect_register (struct regcache *regcache,
 		       int use_64bit, int regno, union mips_register *reg)
@@ -689,6 +709,8 @@ mips_supply_register (struct regcache *r
   supply_register (regcache, regno, reg->buf + offset);
 }
 
+#ifdef HAVE_PTRACE_GETREGS
+
 static void
 mips_collect_register_32bit (struct regcache *regcache,
 			     int use_64bit, int regno, unsigned char *buf)
@@ -750,7 +772,9 @@ mips_store_gregset (struct regcache *reg
 
   use_64bit = (register_size (regcache->tdesc, 0) == 8);
 
-  for (i = 0; i < 32; i++)
+  supply_register_by_name_zeroed (regcache, "r0");
+
+  for (i = 1; i < 32; i++)
     mips_supply_register (regcache, use_64bit, i, regset + i);
 
   mips_supply_register (regcache, use_64bit,
@@ -822,6 +846,46 @@ mips_store_fpregset (struct regcache *re
 }
 #endif /* HAVE_PTRACE_GETREGS */
 
+/* Take care of 32-bit registers with 64-bit ptrace, POKEUSER side.  */
+
+static void
+mips_collect_ptrace_register (struct regcache *regcache,
+			      int regno, char *buf)
+{
+  const struct target_desc *tdesc = current_process ()->tdesc;
+  int use_64bit = sizeof (PTRACE_XFER_TYPE) == 8;
+
+  if (use_64bit && register_size (regcache->tdesc, regno) == 4)
+    {
+      union mips_register reg;
+
+      mips_collect_register (regcache, 0, regno, &reg);
+      memcpy (buf, &reg, sizeof (reg));
+    }
+  else
+    collect_register (regcache, regno, buf);
+}
+
+/* Take care of 32-bit registers with 64-bit ptrace, PEEKUSER side.  */
+
+static void
+mips_supply_ptrace_register (struct regcache *regcache,
+			     int regno, const char *buf)
+{
+  const struct target_desc *tdesc = current_process ()->tdesc;
+  int use_64bit = sizeof (PTRACE_XFER_TYPE) == 8;
+
+  if (use_64bit && register_size (regcache->tdesc, regno) == 4)
+    {
+      union mips_register reg;
+
+      memcpy (&reg, buf, sizeof (reg));
+      mips_supply_register (regcache, 0, regno, &reg);
+    }
+  else
+    supply_register (regcache, regno, buf);
+}
+
 static struct regset_info mips_regsets[] = {
 #ifdef HAVE_PTRACE_GETREGS
   { PTRACE_GETREGS, PTRACE_SETREGS, 0, 38 * 8, GENERAL_REGS,
@@ -879,7 +943,7 @@ struct linux_target_ops the_low_target =
   mips_regs_info,
   mips_cannot_fetch_register,
   mips_cannot_store_register,
-  NULL, /* fetch_register */
+  mips_fetch_register,
   mips_get_pc,
   mips_set_pc,
   NULL, /* breakpoint_kind_from_pc */
@@ -892,8 +956,8 @@ struct linux_target_ops the_low_target =
   mips_remove_point,
   mips_stopped_by_watchpoint,
   mips_stopped_data_address,
-  NULL,
-  NULL,
+  mips_collect_ptrace_register,
+  mips_supply_ptrace_register,
   NULL, /* siginfo_fixup */
   mips_linux_new_process,
   mips_linux_delete_process,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-ppc-ipa.c ./gdb/gdbserver/linux-ppc-ipa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-ppc-ipa.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-ppc-ipa.c	2018-07-10 02:06:13.000000000 +0000
@@ -21,7 +21,8 @@
 #include "server.h"
 #include <sys/mman.h>
 #include "tracepoint.h"
-#include "linux-ppc-tdesc.h"
+#include "arch/ppc-linux-tdesc.h"
+#include "linux-ppc-tdesc-init.h"
 #include <elf.h>
 #ifdef HAVE_GETAUXVAL
 #include <sys/auxv.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-ppc-low.c ./gdb/gdbserver/linux-ppc-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-ppc-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-ppc-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -23,8 +23,10 @@
 #include <elf.h>
 #include <asm/ptrace.h>
 
+#include "arch/ppc-linux-common.h"
+#include "arch/ppc-linux-tdesc.h"
 #include "nat/ppc-linux.h"
-#include "linux-ppc-tdesc.h"
+#include "linux-ppc-tdesc-init.h"
 #include "ax.h"
 #include "tracepoint.h"
 
@@ -457,17 +459,12 @@ static void ppc_fill_gregset (struct reg
     ppc_collect_ptrace_register (regcache, i, (char *) buf + ppc_regmap[i]);
 }
 
-#define SIZEOF_VSXREGS 32*8
-
 static void
 ppc_fill_vsxregset (struct regcache *regcache, void *buf)
 {
   int i, base;
   char *regset = (char *) buf;
 
-  if (!(ppc_hwcap & PPC_FEATURE_HAS_VSX))
-    return;
-
   base = find_regno (regcache->tdesc, "vs0h");
   for (i = 0; i < 32; i++)
     collect_register (regcache, base + i, &regset[i * 8]);
@@ -479,30 +476,32 @@ ppc_store_vsxregset (struct regcache *re
   int i, base;
   const char *regset = (const char *) buf;
 
-  if (!(ppc_hwcap & PPC_FEATURE_HAS_VSX))
-    return;
-
   base = find_regno (regcache->tdesc, "vs0h");
   for (i = 0; i < 32; i++)
     supply_register (regcache, base + i, &regset[i * 8]);
 }
 
-#define SIZEOF_VRREGS 33*16+4
-
 static void
 ppc_fill_vrregset (struct regcache *regcache, void *buf)
 {
   int i, base;
   char *regset = (char *) buf;
-
-  if (!(ppc_hwcap & PPC_FEATURE_HAS_ALTIVEC))
-    return;
+  int vscr_offset = 0;
 
   base = find_regno (regcache->tdesc, "vr0");
   for (i = 0; i < 32; i++)
     collect_register (regcache, base + i, &regset[i * 16]);
 
-  collect_register_by_name (regcache, "vscr", &regset[32 * 16 + 12]);
+  if (__BYTE_ORDER == __BIG_ENDIAN)
+    vscr_offset = 12;
+
+  /* Zero-pad the unused bytes in the fields for vscr and vrsave in
+     case they get displayed somewhere.  */
+  memset (&regset[32 * 16], 0, 16);
+  collect_register_by_name (regcache, "vscr",
+			    &regset[32 * 16 + vscr_offset]);
+
+  memset (&regset[33 * 16], 0, 16);
   collect_register_by_name (regcache, "vrsave", &regset[33 * 16]);
 }
 
@@ -511,15 +510,17 @@ ppc_store_vrregset (struct regcache *reg
 {
   int i, base;
   const char *regset = (const char *) buf;
-
-  if (!(ppc_hwcap & PPC_FEATURE_HAS_ALTIVEC))
-    return;
+  int vscr_offset = 0;
 
   base = find_regno (regcache->tdesc, "vr0");
   for (i = 0; i < 32; i++)
     supply_register (regcache, base + i, &regset[i * 16]);
 
-  supply_register_by_name (regcache, "vscr", &regset[32 * 16 + 12]);
+  if (__BYTE_ORDER == __BIG_ENDIAN)
+    vscr_offset = 12;
+
+  supply_register_by_name (regcache, "vscr",
+			   &regset[32 * 16 + vscr_offset]);
   supply_register_by_name (regcache, "vrsave", &regset[33 * 16]);
 }
 
@@ -536,9 +537,6 @@ ppc_fill_evrregset (struct regcache *reg
   int i, ev0;
   struct gdb_evrregset_t *regset = (struct gdb_evrregset_t *) buf;
 
-  if (!(ppc_hwcap & PPC_FEATURE_HAS_SPE))
-    return;
-
   ev0 = find_regno (regcache->tdesc, "ev0h");
   for (i = 0; i < 32; i++)
     collect_register (regcache, ev0 + i, &regset->evr[i]);
@@ -553,9 +551,6 @@ ppc_store_evrregset (struct regcache *re
   int i, ev0;
   const struct gdb_evrregset_t *regset = (const struct gdb_evrregset_t *) buf;
 
-  if (!(ppc_hwcap & PPC_FEATURE_HAS_SPE))
-    return;
-
   ev0 = find_regno (regcache->tdesc, "ev0h");
   for (i = 0; i < 32; i++)
     supply_register (regcache, ev0 + i, &regset->evr[i]);
@@ -577,11 +572,11 @@ static struct regset_info ppc_regsets[] 
      fetch them every time, but still fall back to PTRACE_PEEKUSER for the
      general registers.  Some kernels support these, but not the newer
      PPC_PTRACE_GETREGS.  */
-  { PTRACE_GETVSXREGS, PTRACE_SETVSXREGS, 0, SIZEOF_VSXREGS, EXTENDED_REGS,
+  { PTRACE_GETVSXREGS, PTRACE_SETVSXREGS, 0, 0, EXTENDED_REGS,
   ppc_fill_vsxregset, ppc_store_vsxregset },
-  { PTRACE_GETVRREGS, PTRACE_SETVRREGS, 0, SIZEOF_VRREGS, EXTENDED_REGS,
+  { PTRACE_GETVRREGS, PTRACE_SETVRREGS, 0, 0, EXTENDED_REGS,
     ppc_fill_vrregset, ppc_store_vrregset },
-  { PTRACE_GETEVRREGS, PTRACE_SETEVRREGS, 0, 32 * 4 + 8 + 4, EXTENDED_REGS,
+  { PTRACE_GETEVRREGS, PTRACE_SETEVRREGS, 0, 0, EXTENDED_REGS,
     ppc_fill_evrregset, ppc_store_evrregset },
   { 0, 0, 0, 0, GENERAL_REGS, ppc_fill_gregset, NULL },
   NULL_REGSET
@@ -617,74 +612,36 @@ static void
 ppc_arch_setup (void)
 {
   const struct target_desc *tdesc;
-#ifdef __powerpc64__
-  long msr;
-  struct regcache *regcache;
+  struct regset_info *regset;
+  struct ppc_linux_features features = ppc_linux_no_features;
 
-  /* On a 64-bit host, assume 64-bit inferior process with no
-     AltiVec registers.  Reset ppc_hwcap to ensure that the
-     collect_register call below does not fail.  */
-  tdesc = tdesc_powerpc_64l;
-  current_process ()->tdesc = tdesc;
-  ppc_hwcap = 0;
+  int tid = lwpid_of (current_thread);
 
-  regcache = new_register_cache (tdesc);
-  fetch_inferior_registers (regcache, find_regno (tdesc, "msr"));
-  collect_register_by_name (regcache, "msr", &msr);
-  free_register_cache (regcache);
-  if (ppc64_64bit_inferior_p (msr))
-    {
-      ppc_get_auxv (AT_HWCAP, &ppc_hwcap);
-      if (ppc_hwcap & PPC_FEATURE_CELL)
-	tdesc = tdesc_powerpc_cell64l;
-      else if (ppc_hwcap & PPC_FEATURE_HAS_VSX)
-	{
-	  /* Power ISA 2.05 (implemented by Power 6 and newer processors)
-	     increases the FPSCR from 32 bits to 64 bits. Even though Power 7
-	     supports this ISA version, it doesn't have PPC_FEATURE_ARCH_2_05
-	     set, only PPC_FEATURE_ARCH_2_06.  Since for now the only bits
-	     used in the higher half of the register are for Decimal Floating
-	     Point, we check if that feature is available to decide the size
-	     of the FPSCR.  */
-	  if (ppc_hwcap & PPC_FEATURE_HAS_DFP)
-	    tdesc = tdesc_powerpc_isa205_vsx64l;
-	  else
-	    tdesc = tdesc_powerpc_vsx64l;
-	}
-      else if (ppc_hwcap & PPC_FEATURE_HAS_ALTIVEC)
-	{
-	  if (ppc_hwcap & PPC_FEATURE_HAS_DFP)
-	    tdesc = tdesc_powerpc_isa205_altivec64l;
-	  else
-	    tdesc = tdesc_powerpc_altivec64l;
-	}
+  features.wordsize = ppc_linux_target_wordsize (tid);
 
-      current_process ()->tdesc = tdesc;
-      return;
-    }
-#endif
+  if (features.wordsize == 4)
+      tdesc = tdesc_powerpc_32l;
+  else
+      tdesc = tdesc_powerpc_64l;
 
-  /* OK, we have a 32-bit inferior.  */
-  tdesc = tdesc_powerpc_32l;
   current_process ()->tdesc = tdesc;
 
+  /* The value of current_process ()->tdesc needs to be set for this
+     call.  */
   ppc_get_auxv (AT_HWCAP, &ppc_hwcap);
+
+  features.isa205 = ppc_linux_has_isa205 (ppc_hwcap);
+
+  if (ppc_hwcap & PPC_FEATURE_HAS_VSX)
+    features.vsx = true;
+
+  if (ppc_hwcap & PPC_FEATURE_HAS_ALTIVEC)
+    features.altivec = true;
+
   if (ppc_hwcap & PPC_FEATURE_CELL)
-    tdesc = tdesc_powerpc_cell32l;
-  else if (ppc_hwcap & PPC_FEATURE_HAS_VSX)
-    {
-      if (ppc_hwcap & PPC_FEATURE_HAS_DFP)
-	tdesc = tdesc_powerpc_isa205_vsx32l;
-      else
-	tdesc = tdesc_powerpc_vsx32l;
-    }
-  else if (ppc_hwcap & PPC_FEATURE_HAS_ALTIVEC)
-    {
-      if (ppc_hwcap & PPC_FEATURE_HAS_DFP)
-	tdesc = tdesc_powerpc_isa205_altivec32l;
-      else
-	tdesc = tdesc_powerpc_altivec32l;
-    }
+    features.cell = true;
+
+  tdesc = ppc_linux_match_description (features);
 
   /* On 32-bit machines, check for SPE registers.
      Set the low target's regmap field as appropriately.  */
@@ -707,7 +664,27 @@ ppc_arch_setup (void)
       ppc_regmap_adjusted = 1;
    }
 #endif
+
   current_process ()->tdesc = tdesc;
+
+  for (regset = ppc_regsets; regset->size >= 0; regset++)
+    switch (regset->get_request)
+      {
+      case PTRACE_GETVRREGS:
+	regset->size = features.altivec ? PPC_LINUX_SIZEOF_VRREGSET : 0;
+	break;
+      case PTRACE_GETVSXREGS:
+	regset->size = features.vsx ? PPC_LINUX_SIZEOF_VSXREGSET : 0;
+	break;
+      case PTRACE_GETEVRREGS:
+	if (ppc_hwcap & PPC_FEATURE_HAS_SPE)
+	  regset->size = 32 * 4 + 8 + 4;
+	else
+	  regset->size = 0;
+	break;
+      default:
+	break;
+      }
 }
 
 /* Implementation of linux_target_ops method "supports_tracepoints".  */
@@ -726,7 +703,7 @@ ppc_supports_tracepoints (void)
 static int
 ppc_get_thread_area (int lwpid, CORE_ADDR *addr)
 {
-  struct lwp_info *lwp = find_lwp_pid (pid_to_ptid (lwpid));
+  struct lwp_info *lwp = find_lwp_pid (ptid_t (lwpid));
   struct thread_info *thr = get_lwp_thread (lwp);
   struct regcache *regcache = get_thread_regcache (thr, 1);
   ULONGEST tp = 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.1.0.20180703/gdb/gdbserver/linux-ppc-tdesc.h ./gdb/gdbserver/linux-ppc-tdesc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-ppc-tdesc.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-ppc-tdesc.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,101 +0,0 @@
-/* Low level support for ppc, shared between gdbserver and IPA.
-
-   Copyright (C) 2016-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Note: since IPA obviously knows what ABI it's running on (32 vs 64),
-   it's sufficient to pass only the register set here.  This, together with
-   the ABI known at IPA compile time, maps to a tdesc.  */
-
-enum ppc_linux_tdesc {
-  PPC_TDESC_BASE,
-  PPC_TDESC_ALTIVEC,
-  PPC_TDESC_CELL,
-  PPC_TDESC_VSX,
-  PPC_TDESC_ISA205,
-  PPC_TDESC_ISA205_ALTIVEC,
-  PPC_TDESC_ISA205_VSX,
-  PPC_TDESC_E500,
-};
-
-#if !defined __powerpc64__ || !defined IN_PROCESS_AGENT
-
-/* Defined in auto-generated file powerpc-32l.c.  */
-void init_registers_powerpc_32l (void);
-extern const struct target_desc *tdesc_powerpc_32l;
-
-/* Defined in auto-generated file powerpc-altivec32l.c.  */
-void init_registers_powerpc_altivec32l (void);
-extern const struct target_desc *tdesc_powerpc_altivec32l;
-
-/* Defined in auto-generated file powerpc-cell32l.c.  */
-void init_registers_powerpc_cell32l (void);
-extern const struct target_desc *tdesc_powerpc_cell32l;
-
-/* Defined in auto-generated file powerpc-vsx32l.c.  */
-void init_registers_powerpc_vsx32l (void);
-extern const struct target_desc *tdesc_powerpc_vsx32l;
-
-/* Defined in auto-generated file powerpc-isa205-32l.c.  */
-void init_registers_powerpc_isa205_32l (void);
-extern const struct target_desc *tdesc_powerpc_isa205_32l;
-
-/* Defined in auto-generated file powerpc-isa205-altivec32l.c.  */
-void init_registers_powerpc_isa205_altivec32l (void);
-extern const struct target_desc *tdesc_powerpc_isa205_altivec32l;
-
-/* Defined in auto-generated file powerpc-isa205-vsx32l.c.  */
-void init_registers_powerpc_isa205_vsx32l (void);
-extern const struct target_desc *tdesc_powerpc_isa205_vsx32l;
-
-/* Defined in auto-generated file powerpc-e500l.c.  */
-void init_registers_powerpc_e500l (void);
-extern const struct target_desc *tdesc_powerpc_e500l;
-
-#endif
-
-#if defined __powerpc64__
-
-/* Defined in auto-generated file powerpc-64l.c.  */
-void init_registers_powerpc_64l (void);
-extern const struct target_desc *tdesc_powerpc_64l;
-
-/* Defined in auto-generated file powerpc-altivec64l.c.  */
-void init_registers_powerpc_altivec64l (void);
-extern const struct target_desc *tdesc_powerpc_altivec64l;
-
-/* Defined in auto-generated file powerpc-cell64l.c.  */
-void init_registers_powerpc_cell64l (void);
-extern const struct target_desc *tdesc_powerpc_cell64l;
-
-/* Defined in auto-generated file powerpc-vsx64l.c.  */
-void init_registers_powerpc_vsx64l (void);
-extern const struct target_desc *tdesc_powerpc_vsx64l;
-
-/* Defined in auto-generated file powerpc-isa205-64l.c.  */
-void init_registers_powerpc_isa205_64l (void);
-extern const struct target_desc *tdesc_powerpc_isa205_64l;
-
-/* Defined in auto-generated file powerpc-isa205-altivec64l.c.  */
-void init_registers_powerpc_isa205_altivec64l (void);
-extern const struct target_desc *tdesc_powerpc_isa205_altivec64l;
-
-/* Defined in auto-generated file powerpc-isa205-vsx64l.c.  */
-void init_registers_powerpc_isa205_vsx64l (void);
-extern const struct target_desc *tdesc_powerpc_isa205_vsx64l;
-
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-ppc-tdesc-init.h ./gdb/gdbserver/linux-ppc-tdesc-init.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-ppc-tdesc-init.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gdbserver/linux-ppc-tdesc-init.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,86 @@
+/* Low level support for ppc, shared between gdbserver and IPA.
+
+   Copyright (C) 2016-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Note: since IPA obviously knows what ABI it's running on (32 vs 64),
+   it's sufficient to pass only the register set here.  This, together with
+   the ABI known at IPA compile time, maps to a tdesc.  */
+
+enum ppc_linux_tdesc {
+  PPC_TDESC_BASE,
+  PPC_TDESC_ALTIVEC,
+  PPC_TDESC_CELL,
+  PPC_TDESC_VSX,
+  PPC_TDESC_ISA205,
+  PPC_TDESC_ISA205_ALTIVEC,
+  PPC_TDESC_ISA205_VSX,
+  PPC_TDESC_E500,
+};
+
+#if !defined __powerpc64__ || !defined IN_PROCESS_AGENT
+
+/* Defined in auto-generated file powerpc-32l.c.  */
+void init_registers_powerpc_32l (void);
+
+/* Defined in auto-generated file powerpc-altivec32l.c.  */
+void init_registers_powerpc_altivec32l (void);
+
+/* Defined in auto-generated file powerpc-cell32l.c.  */
+void init_registers_powerpc_cell32l (void);
+
+/* Defined in auto-generated file powerpc-vsx32l.c.  */
+void init_registers_powerpc_vsx32l (void);
+
+/* Defined in auto-generated file powerpc-isa205-32l.c.  */
+void init_registers_powerpc_isa205_32l (void);
+
+/* Defined in auto-generated file powerpc-isa205-altivec32l.c.  */
+void init_registers_powerpc_isa205_altivec32l (void);
+
+/* Defined in auto-generated file powerpc-isa205-vsx32l.c.  */
+void init_registers_powerpc_isa205_vsx32l (void);
+
+/* Defined in auto-generated file powerpc-e500l.c.  */
+void init_registers_powerpc_e500l (void);
+
+#endif
+
+#if defined __powerpc64__
+
+/* Defined in auto-generated file powerpc-64l.c.  */
+void init_registers_powerpc_64l (void);
+
+/* Defined in auto-generated file powerpc-altivec64l.c.  */
+void init_registers_powerpc_altivec64l (void);
+
+/* Defined in auto-generated file powerpc-cell64l.c.  */
+void init_registers_powerpc_cell64l (void);
+
+/* Defined in auto-generated file powerpc-vsx64l.c.  */
+void init_registers_powerpc_vsx64l (void);
+
+/* Defined in auto-generated file powerpc-isa205-64l.c.  */
+void init_registers_powerpc_isa205_64l (void);
+
+/* Defined in auto-generated file powerpc-isa205-altivec64l.c.  */
+void init_registers_powerpc_isa205_altivec64l (void);
+
+/* Defined in auto-generated file powerpc-isa205-vsx64l.c.  */
+void init_registers_powerpc_isa205_vsx64l (void);
+
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-s390-ipa.c ./gdb/gdbserver/linux-s390-ipa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-s390-ipa.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-s390-ipa.c	2018-07-10 02:06:13.000000000 +0000
@@ -119,7 +119,7 @@ static const int s390_linux64_ft_collect
   FT_VR (28), FT_VR (29), FT_VR (30), FT_VR (31),
 };
 
-/* Used for s390-te-linux64, s390-tevx-linux64.  */
+/* Used for s390-te-linux64, s390-tevx-linux64, and s390-gs-linux64.  */
 
 static const int s390_te_linux64_ft_collect_regmap[] = {
   /* 32-bit PSWA and PSWM.  */
@@ -207,7 +207,8 @@ static const int s390x_ft_collect_regmap
   FT_VR (28), FT_VR (29), FT_VR (30), FT_VR (31),
 };
 
-/* Used for s390x-te-linux64, s390x-tevx-linux64.  */
+/* Used for s390x-te-linux64, s390x-tevx-linux64, and
+   s390x-gs-linux64.  */
 
 static const int s390x_te_ft_collect_regmap[] = {
   /* 64-bit PSWA and PSWM.  */
@@ -335,6 +336,9 @@ get_ipa_tdesc (int idx)
     case S390_TDESC_TEVX:
       SET_REGMAP(s390x_te_ft_collect_regmap, 0);
       return tdesc_s390x_tevx_linux64;
+    case S390_TDESC_GS:
+      SET_REGMAP(s390x_te_ft_collect_regmap, 0);
+      return tdesc_s390x_gs_linux64;
 #else
     case S390_TDESC_32:
       SET_REGMAP(s390_linux32_ft_collect_regmap, 0);
@@ -363,6 +367,9 @@ get_ipa_tdesc (int idx)
     case S390_TDESC_TEVX:
       SET_REGMAP(s390_te_linux64_ft_collect_regmap, 0);
       return tdesc_s390_tevx_linux64;
+    case S390_TDESC_GS:
+      SET_REGMAP(s390_te_ft_collect_regmap, 0);
+      return tdesc_s390_gs_linux64;
 #endif
     default:
       internal_error (__FILE__, __LINE__,
@@ -440,6 +447,7 @@ initialize_low_tracepoint (void)
   init_registers_s390x_te_linux64 ();
   init_registers_s390x_vx_linux64 ();
   init_registers_s390x_tevx_linux64 ();
+  init_registers_s390x_gs_linux64 ();
 #else
   init_registers_s390_linux32 ();
   init_registers_s390_linux32v1 ();
@@ -450,5 +458,6 @@ initialize_low_tracepoint (void)
   init_registers_s390_te_linux64 ();
   init_registers_s390_vx_linux64 ();
   init_registers_s390_tevx_linux64 ();
+  init_registers_s390_gs_linux64 ();
 #endif
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-s390-low.c ./gdb/gdbserver/linux-s390-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-s390-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-s390-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -375,16 +375,6 @@ s390_store_vxrs_high (struct regcache *r
 }
 
 static void
-s390_fill_gs (struct regcache *regcache, void *buf)
-{
-  int gsd = find_regno (regcache->tdesc, "gsd");
-  int i;
-
-  for (i = 0; i < 3; i++)
-    collect_register (regcache, gsd + i, (char *) buf + 8 * (i + 1));
-}
-
-static void
 s390_store_gs (struct regcache *regcache, const void *buf)
 {
   int gsd = find_regno (regcache->tdesc, "gsd");
@@ -395,16 +385,6 @@ s390_store_gs (struct regcache *regcache
 }
 
 static void
-s390_fill_gsbc (struct regcache *regcache, void *buf)
-{
-  int bc_gsd = find_regno (regcache->tdesc, "bc_gsd");
-  int i;
-
-  for (i = 0; i < 3; i++)
-    collect_register (regcache, bc_gsd + i, (char *) buf + 8 * (i + 1));
-}
-
-static void
 s390_store_gsbc (struct regcache *regcache, const void *buf)
 {
   int bc_gsd = find_regno (regcache->tdesc, "bc_gsd");
@@ -432,10 +412,11 @@ static struct regset_info s390_regsets[]
     EXTENDED_REGS, s390_fill_vxrs_low, s390_store_vxrs_low },
   { PTRACE_GETREGSET, PTRACE_SETREGSET, NT_S390_VXRS_HIGH, 0,
     EXTENDED_REGS, s390_fill_vxrs_high, s390_store_vxrs_high },
-  { PTRACE_GETREGSET, PTRACE_SETREGSET, NT_S390_GS_CB, 0,
-    EXTENDED_REGS, s390_fill_gs, s390_store_gs },
-  { PTRACE_GETREGSET, PTRACE_SETREGSET, NT_S390_GS_BC, 0,
-    EXTENDED_REGS, s390_fill_gsbc, s390_store_gsbc },
+  /* Guarded storage registers are read-only.  */
+  { PTRACE_GETREGSET, -1, NT_S390_GS_CB, 0, EXTENDED_REGS,
+    NULL, s390_store_gs },
+  { PTRACE_GETREGSET, -1, NT_S390_GS_BC, 0, EXTENDED_REGS,
+    NULL, s390_store_gsbc },
   NULL_REGSET
 };
 
@@ -486,10 +467,12 @@ s390_set_pc (struct regcache *regcache, 
     }
 }
 
+/* Get HWCAP from AUXV, using the given WORDSIZE.  Return the HWCAP, or
+   zero if not found.  */
+
 static unsigned long
-s390_get_hwcap (const struct target_desc *tdesc)
+s390_get_hwcap (int wordsize)
 {
-  int wordsize = register_size (tdesc, 0);
   gdb_byte *data = (gdb_byte *) alloca (2 * wordsize);
   int offset = 0;
 
@@ -514,6 +497,28 @@ s390_get_hwcap (const struct target_desc
   return 0;
 }
 
+/* Determine the word size for the given PID, in bytes.  */
+
+#ifdef __s390x__
+static int
+s390_get_wordsize (int pid)
+{
+  errno = 0;
+  PTRACE_XFER_TYPE pswm = ptrace (PTRACE_PEEKUSER, pid,
+				  (PTRACE_TYPE_ARG3) 0,
+				  (PTRACE_TYPE_ARG4) 0);
+  if (errno != 0)
+    {
+      warning (_("Couldn't determine word size, assuming 64-bit.\n"));
+      return 8;
+    }
+  /* Derive word size from extended addressing mode (PSW bit 31).  */
+  return pswm & (1L << 32) ? 8 : 4;
+}
+#else
+#define s390_get_wordsize(pid) 4
+#endif
+
 static int
 s390_check_regset (int pid, int regset, int regsize)
 {
@@ -540,49 +545,32 @@ s390_arch_setup (void)
   const struct target_desc *tdesc;
   struct regset_info *regset;
 
-  /* Check whether the kernel supports extra register sets.  */
+  /* Determine word size and HWCAP.  */
   int pid = pid_of (current_thread);
+  int wordsize = s390_get_wordsize (pid);
+  unsigned long hwcap = s390_get_hwcap (wordsize);
+
+  /* Check whether the kernel supports extra register sets.  */
   int have_regset_last_break
     = s390_check_regset (pid, NT_S390_LAST_BREAK, 8);
   int have_regset_system_call
     = s390_check_regset (pid, NT_S390_SYSTEM_CALL, 4);
-  int have_regset_tdb = s390_check_regset (pid, NT_S390_TDB, 256);
-  int have_regset_vxrs = s390_check_regset (pid, NT_S390_VXRS_LOW, 128)
-    && s390_check_regset (pid, NT_S390_VXRS_HIGH, 256);
-  int have_regset_gs = s390_check_regset (pid, NT_S390_GS_CB, 32)
-    && s390_check_regset (pid, NT_S390_GS_BC, 32);
-
-  /* Assume 31-bit inferior process.  */
-  if (have_regset_system_call)
-    tdesc = tdesc_s390_linux32v2;
-  else if (have_regset_last_break)
-    tdesc = tdesc_s390_linux32v1;
-  else
-    tdesc = tdesc_s390_linux32;
+  int have_regset_tdb
+    = (s390_check_regset (pid, NT_S390_TDB, 256)
+       && (hwcap & HWCAP_S390_TE) != 0);
+  int have_regset_vxrs
+    = (s390_check_regset (pid, NT_S390_VXRS_LOW, 128)
+       && s390_check_regset (pid, NT_S390_VXRS_HIGH, 256)
+       && (hwcap & HWCAP_S390_VX) != 0);
+  int have_regset_gs
+    = (s390_check_regset (pid, NT_S390_GS_CB, 32)
+       && s390_check_regset (pid, NT_S390_GS_BC, 32)
+       && (hwcap & HWCAP_S390_GS) != 0);
 
-  /* On a 64-bit host, check the low bit of the (31-bit) PSWM
-     -- if this is one, we actually have a 64-bit inferior.  */
   {
 #ifdef __s390x__
-    unsigned int pswm;
-    struct regcache *regcache = new_register_cache (tdesc);
-
-    fetch_inferior_registers (regcache, find_regno (tdesc, "pswm"));
-    collect_register_by_name (regcache, "pswm", &pswm);
-    free_register_cache (regcache);
-
-    if (pswm & 1)
+    if (wordsize == 8)
       {
-	if (have_regset_tdb)
-	  have_regset_tdb =
-	    (s390_get_hwcap (tdesc_s390x_linux64v2) & HWCAP_S390_TE) != 0;
-	if (have_regset_vxrs)
-	  have_regset_vxrs =
-	    (s390_get_hwcap (tdesc_s390x_linux64v2) & HWCAP_S390_VX) != 0;
-	if (have_regset_gs)
-	  have_regset_gs =
-	    (s390_get_hwcap (tdesc_s390x_linux64v2) & HWCAP_S390_GS) != 0;
-
 	if (have_regset_gs)
 	  tdesc = tdesc_s390x_gs_linux64;
 	else if (have_regset_vxrs)
@@ -602,16 +590,9 @@ s390_arch_setup (void)
        using the full 64-bit GPRs.  */
     else
 #endif
-    if (s390_get_hwcap (tdesc) & HWCAP_S390_HIGH_GPRS)
+    if (hwcap & HWCAP_S390_HIGH_GPRS)
       {
 	have_hwcap_s390_high_gprs = 1;
-	if (have_regset_tdb)
-	  have_regset_tdb = (s390_get_hwcap (tdesc) & HWCAP_S390_TE) != 0;
-	if (have_regset_vxrs)
-	  have_regset_vxrs = (s390_get_hwcap (tdesc) & HWCAP_S390_VX) != 0;
-	if (have_regset_gs)
-	  have_regset_gs = (s390_get_hwcap (tdesc) & HWCAP_S390_GS) != 0;
-
 	if (have_regset_gs)
 	  tdesc = tdesc_s390_gs_linux64;
 	else if (have_regset_vxrs)
@@ -626,6 +607,16 @@ s390_arch_setup (void)
 	else
 	  tdesc = tdesc_s390_linux64;
       }
+    else
+      {
+	/* Assume 31-bit inferior process.  */
+	if (have_regset_system_call)
+	  tdesc = tdesc_s390_linux32v2;
+	else if (have_regset_last_break)
+	  tdesc = tdesc_s390_linux32v1;
+	else
+	  tdesc = tdesc_s390_linux32;
+      }
 
     have_hwcap_s390_vx = have_regset_vxrs;
   }
@@ -1441,6 +1432,8 @@ s390_get_ipa_tdesc_idx (void)
     return S390_TDESC_VX;
   if (tdesc == tdesc_s390x_tevx_linux64)
     return S390_TDESC_TEVX;
+  if (tdesc == tdesc_s390x_gs_linux64)
+    return S390_TDESC_GS;
 #endif
 
   if (tdesc == tdesc_s390_linux32)
@@ -1461,6 +1454,8 @@ s390_get_ipa_tdesc_idx (void)
     return S390_TDESC_VX;
   if (tdesc == tdesc_s390_tevx_linux64)
     return S390_TDESC_TEVX;
+  if (tdesc == tdesc_s390_gs_linux64)
+    return S390_TDESC_GS;
 
   return 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.1.0.20180703/gdb/gdbserver/linux-x86-low.c ./gdb/gdbserver/linux-x86-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-x86-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-x86-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -255,7 +255,7 @@ x86_get_thread_area (int lwpid, CORE_ADD
 #endif
 
   {
-    struct lwp_info *lwp = find_lwp_pid (pid_to_ptid (lwpid));
+    struct lwp_info *lwp = find_lwp_pid (ptid_t (lwpid));
     struct thread_info *thr = get_lwp_thread (lwp);
     struct regcache *regcache = get_thread_regcache (thr, 1);
     unsigned int desc[4];
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-x86-tdesc.c ./gdb/gdbserver/linux-x86-tdesc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/linux-x86-tdesc.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/linux-x86-tdesc.c	2018-07-10 02:06:13.000000000 +0000
@@ -118,7 +118,7 @@ amd64_linux_read_description (uint64_t x
 
   if (*tdesc == NULL)
     {
-      *tdesc = amd64_create_target_description (xcr0, is_x32, true);
+      *tdesc = amd64_create_target_description (xcr0, is_x32, true, true);
 
       init_target_desc (*tdesc, amd64_expedite_regs);
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/lynx-i386-low.c ./gdb/gdbserver/lynx-i386-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/lynx-i386-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/lynx-i386-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -25,7 +25,15 @@
 
 /* The following two typedefs are defined in a .h file which is not
    in the standard include path (/sys/include/family/x86/ucontext.h),
-   so we just duplicate them here.  */
+   so we just duplicate them here.
+
+   Unfortunately for us, the definition of this structure differs between
+   LynxOS 5.x and LynxOS 178.  Rather than duplicate the code, we use
+   different definitions depending on the target.  */
+
+#ifdef VMOS_DEV
+#define LYNXOS_178
+#endif
 
 /* General register context */
 typedef struct usr_econtext {
@@ -52,6 +60,28 @@ typedef struct usr_econtext {
     uint32_t    uec_gs;
 } usr_econtext_t;
 
+#if defined(LYNXOS_178)
+
+/* Floating point register context                                                                                      */
+typedef struct usr_fcontext {
+        uint32_t         ufc_control;
+        uint32_t         ufc_status;
+        uint32_t         ufc_tag;
+        uint8_t         *ufc_inst_off;
+        uint32_t         ufc_inst_sel;
+        uint8_t         *ufc_data_off;
+        uint32_t         ufc_data_sel;
+        struct ufp387_real {
+                uint16_t        umant4;
+        uint16_t        umant3;
+        uint16_t        umant2;
+        uint16_t        umant1;
+        uint16_t        us_and_e;
+        } ufc_reg[8];
+} usr_fcontext_t;
+
+#else /* This is LynxOS 5.x.  */
+
 /* Floating point and SIMD register context */
 typedef struct usr_fcontext {
         uint16_t         ufc_control;
@@ -87,6 +117,8 @@ typedef struct usr_fcontext {
         char ureserved[16][14];
 } usr_fcontext_t;
 
+#endif
+
 /* The index of various registers inside the regcache.  */
 
 enum lynx_i386_gdb_regnum
@@ -219,6 +251,7 @@ lynx_i386_fill_fpregset (struct regcache
                     buf + offsetof (usr_fcontext_t, ufc_data_sel));
   collect_register (regcache, I386_FOOFF_REGNUM,
                     buf + offsetof (usr_fcontext_t, ufc_data_off));
+#if !defined(LYNXOS_178)
   collect_16bit_register (regcache, I386_FOP_REGNUM,
                           buf + offsetof (usr_fcontext_t, ufc_opcode));
 
@@ -229,6 +262,7 @@ lynx_i386_fill_fpregset (struct regcache
 		      + i * sizeof (struct uxmm_register));
   collect_register (regcache, I386_MXCSR_REGNUM,
                     buf + offsetof (usr_fcontext_t, usse_mxcsr));
+#endif
 }
 
 /* This is the supply counterpart for collect_16bit_register:
@@ -277,6 +311,7 @@ lynx_i386_store_fpregset (struct regcach
                    buf + offsetof (usr_fcontext_t, ufc_data_sel));
   supply_register (regcache, I386_FOOFF_REGNUM,
                    buf + offsetof (usr_fcontext_t, ufc_data_off));
+#if !defined(LYNXOS_178)
   supply_16bit_register (regcache, I386_FOP_REGNUM,
                          buf + offsetof (usr_fcontext_t, ufc_opcode));
 
@@ -287,6 +322,7 @@ lynx_i386_store_fpregset (struct regcach
 		     + i * sizeof (struct uxmm_register));
   supply_register (regcache, I386_MXCSR_REGNUM,
                    buf + offsetof (usr_fcontext_t, usse_mxcsr));
+#endif
 }
 
 /* Implements the lynx_target_ops.arch_setup routine.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/lynx-low.c ./gdb/gdbserver/lynx-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/lynx-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/lynx-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -64,14 +64,14 @@ lynx_debug (char *string, ...)
 /* Build a ptid_t given a PID and a LynxOS TID.  */
 
 static ptid_t
-lynx_ptid_build (int pid, long tid)
+lynx_ptid_t (int pid, long tid)
 {
   /* brobecker/2010-06-21: It looks like the LWP field in ptids
      should be distinct for each thread (see write_ptid where it
      writes the thread ID from the LWP).  So instead of storing
      the LynxOS tid in the tid field of the ptid, we store it in
      the lwp field.  */
-  return ptid_build (pid, tid, 0);
+  return ptid_t (pid, tid, 0);
 }
 
 /* Return the process ID of the given PTID.
@@ -83,7 +83,7 @@ lynx_ptid_build (int pid, long tid)
 static int
 lynx_ptid_get_pid (ptid_t ptid)
 {
-  return ptid_get_pid (ptid);
+  return ptid.pid ();
 }
 
 /* Return the LynxOS tid of the given PTID.  */
@@ -91,9 +91,9 @@ lynx_ptid_get_pid (ptid_t ptid)
 static long
 lynx_ptid_get_tid (ptid_t ptid)
 {
-  /* See lynx_ptid_build: The LynxOS tid is stored inside the lwp field
+  /* See lynx_ptid_t: The LynxOS tid is stored inside the lwp field
      of the ptid.  */
-  return ptid_get_lwp (ptid);
+  return ptid.lwp ();
 }
 
 /* For a given PTID, return the associated PID as known by the LynxOS
@@ -294,7 +294,7 @@ lynx_add_threads_after_attach (int pid)
     if ((sscanf (buf, "%d %d", &thread_pid, &thread_tid) == 2
 	 && thread_pid == pid))
     {
-      ptid_t thread_ptid = lynx_ptid_build (pid, thread_tid);
+      ptid_t thread_ptid = lynx_ptid_t (pid, thread_tid);
 
       if (!find_thread_ptid (thread_ptid))
 	{
@@ -312,7 +312,7 @@ lynx_add_threads_after_attach (int pid)
 static int
 lynx_attach (unsigned long pid)
 {
-  ptid_t ptid = lynx_ptid_build (pid, 0);
+  ptid_t ptid = lynx_ptid_t (pid, 0);
 
   if (lynx_ptrace (PTRACE_ATTACH, ptid, 0, 0, 0) != 0)
     error ("Cannot attach to process %lu: %s (%d)\n", pid,
@@ -342,17 +342,17 @@ lynx_resume (struct thread_resume *resum
      LynxOS 178 is a little more sensitive, and triggers some
      unexpected signals (Eg SIG61) when we resume the inferior
      using a different thread.  */
-  if (ptid_equal (ptid, minus_one_ptid))
+  if (ptid == minus_one_ptid)
     ptid = current_process()->priv->last_wait_event_ptid;
 
   /* The ptid might still be minus_one_ptid; this can happen between
      the moment we create the inferior or attach to a process, and
      the moment we resume its execution for the first time.  It is
      fine to use the current_thread's ptid in those cases.  */
-  if (ptid_equal (ptid, minus_one_ptid))
+  if (ptid == minus_one_ptid)
     ptid = ptid_of (current_thread);
 
-  regcache_invalidate_pid (ptid_get_pid (ptid));
+  regcache_invalidate_pid (ptid.pid ());
 
   errno = 0;
   lynx_ptrace (request, ptid, 1, signal, 0);
@@ -422,7 +422,7 @@ lynx_wait_1 (ptid_t ptid, struct target_
   int wstat;
   ptid_t new_ptid;
 
-  if (ptid_equal (ptid, minus_one_ptid))
+  if (ptid == minus_one_ptid)
     pid = lynx_ptid_get_pid (ptid_of (current_thread));
   else
     pid = BUILDPID (lynx_ptid_get_pid (ptid), lynx_ptid_get_tid (ptid));
@@ -430,7 +430,7 @@ lynx_wait_1 (ptid_t ptid, struct target_
 retry:
 
   ret = lynx_waitpid (pid, &wstat);
-  new_ptid = lynx_ptid_build (ret, ((union wait *) &wstat)->w_tid);
+  new_ptid = lynx_ptid_t (ret, ((union wait *) &wstat)->w_tid);
   find_process_pid (ret)->priv->last_wait_event_ptid = new_ptid;
 
   /* If this is a new thread, then add it now.  The reason why we do
@@ -524,7 +524,7 @@ lynx_wait (ptid_t ptid, struct target_wa
 static int
 lynx_kill (int pid)
 {
-  ptid_t ptid = lynx_ptid_build (pid, 0);
+  ptid_t ptid = lynx_ptid_t (pid, 0);
   struct target_waitstatus status;
   struct process_info *process;
 
@@ -543,7 +543,7 @@ lynx_kill (int pid)
 static int
 lynx_detach (int pid)
 {
-  ptid_t ptid = lynx_ptid_build (pid, 0);
+  ptid_t ptid = lynx_ptid_t (pid, 0);
   struct process_info *process;
 
   process = find_process_pid (pid);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/Makefile.in ./gdb/gdbserver/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/Makefile.in	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/Makefile.in	2018-07-10 02:06:13.000000000 +0000
@@ -62,14 +62,7 @@ AR_FLAGS = rc
 # Dependency tracking information.
 DEPMODE = @CCDEPMODE@
 DEPDIR = @DEPDIR@
-depcomp = $(SHELL) $(srcdir)/../depcomp
-
-# Note that these are overridden by GNU make-specific code below if
-# GNU make is used.  The overrides implement dependency tracking.
-COMPILE.pre = $(CXX) -x c++ $(CXX_DIALECT)
-COMPILE.post = -c -o $@
-COMPILE = $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
-POSTCOMPILE = @true
+depcomp = $(SHELL) $(srcdir)/../../depcomp
 
 # Directory containing source files.  Don't clean up the spacing,
 # this exact string is matched for by the "configure" script.
@@ -78,6 +71,15 @@ abs_top_srcdir = @abs_top_srcdir@
 abs_srcdir = @abs_srcdir@
 VPATH = @srcdir@
 
+include $(srcdir)/../silent-rules.mk
+
+# Note that these are overridden by GNU make-specific code below if
+# GNU make is used.  The overrides implement dependency tracking.
+COMPILE.pre = $(CXX) -x c++ $(CXX_DIALECT)
+COMPILE.post = -c -o $@
+COMPILE = $(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
+POSTCOMPILE = @true
+
 # It is also possible that you will need to add -I/usr/include/sys to the
 # CFLAGS section if your system doesn't have fcntl.h in /usr/include (which
 # is where it should be according to Posix).
@@ -194,6 +196,7 @@ SFILES = \
 	$(srcdir)/arch/arm.c \
 	$(srcdir)/arch/arm-get-next-pcs.c \
 	$(srcdir)/arch/arm-linux.c \
+	$(srcdir)/arch/ppc-linux-common.c \
 	$(srcdir)/common/btrace-common.c \
 	$(srcdir)/common/buffer.c \
 	$(srcdir)/common/cleanups.c \
@@ -213,8 +216,10 @@ SFILES = \
 	$(srcdir)/common/print-utils.c \
 	$(srcdir)/common/ptid.c \
 	$(srcdir)/common/rsp-low.c \
+	$(srcdir)/common/tdesc.c \
 	$(srcdir)/common/vec.c \
 	$(srcdir)/common/xml-utils.c \
+	$(srcdir)/nat/aarch64-sve-linux-ptrace.c \
 	$(srcdir)/nat/linux-btrace.c \
 	$(srcdir)/nat/linux-namespaces.c \
 	$(srcdir)/nat/linux-osdata.c \
@@ -232,54 +237,64 @@ SOURCES = $(SFILES)
 TAGFILES = $(SOURCES) ${HFILES} ${ALLPARAM} ${POSSLIBS}
 
 OBS = \
-	agent.o \
 	ax.o \
-	btrace-common.o \
-	buffer.o \
-	cleanups.o \
-	common-debug.o \
-	common-exceptions.o \
-	job-control.o \
-	common-regcache.o \
-	common-utils.o \
+	common/agent.o \
+	common/btrace-common.o \
+	common/buffer.o \
+	common/cleanups.o \
+	common/common-debug.o \
+	common/common-exceptions.o \
+	common/job-control.o \
+	common/common-regcache.o \
+	common/common-utils.o \
+	common/errors.o \
+	common/environ.o \
+	common/fileio.o \
+	common/filestuff.o \
+	common/format.o \
+	common/gdb_tilde_expand.o \
+	common/gdb_vecs.o \
+	common/new-op.o \
+	common/pathstuff.o \
+	common/print-utils.o \
+	common/ptid.o \
+	common/rsp-low.o \
+	common/signals.o \
+	common/signals-state-save-restore.o \
+	common/tdesc.o \
+	common/vec.o \
+	common/xml-utils.o \
 	debug.o \
 	dll.o \
-	errors.o \
-	environ.o \
 	event-loop.o \
-	fileio.o \
-	filestuff.o \
-	format.o \
-	gdb_tilde_expand.o \
-	gdb_vecs.o \
 	hostio.o \
 	inferiors.o \
 	mem-break.o \
-	new-op.o \
 	notif.o \
-	pathstuff.o \
-	print-utils.o \
-	ptid.o \
 	regcache.o \
 	remote-utils.o \
-	rsp-low.o \
 	server.o \
-	signals.o \
-	signals-state-save-restore.o \
 	symbol.o \
 	target.o \
 	tdesc.o \
 	tracepoint.o \
 	utils.o \
-	vec.o \
 	version.o \
 	waitstatus.o \
-	xml-utils.o \
 	$(DEPFILES) \
 	$(LIBOBJS) \
 	$(XML_BUILTIN)
 
-GDBREPLAY_OBS = gdbreplay.o version.o
+GDBREPLAY_OBS = \
+	common/cleanups.o \
+	common/common-exceptions.o \
+	common/common-utils.o \
+	common/errors.o \
+	common/print-utils.o \
+	gdbreplay.o \
+	utils.o \
+	version.o
+
 GDBSERVER_LIBS = @GDBSERVER_LIBS@
 XM_CLIBS = @LIBS@
 CDEPS = $(srcdir)/proc-service.list
@@ -378,9 +393,10 @@ clean-info: force
 	@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
 
 gdbserver$(EXEEXT): $(OBS) ${ADD_DEPS} ${CDEPS} $(LIBGNU) $(LIBIBERTY)
-	rm -f gdbserver$(EXEEXT)
-	$(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) -o gdbserver$(EXEEXT) $(OBS) \
-	$(LIBGNU) $(LIBIBERTY) $(GDBSERVER_LIBS) $(XM_CLIBS)
+	$(SILENCE) rm -f gdbserver$(EXEEXT)
+	$(ECHO_CXXLD) $(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \
+		-o gdbserver$(EXEEXT) $(OBS) $(LIBGNU) $(LIBIBERTY) \
+		$(GDBSERVER_LIBS) $(XM_CLIBS)
 
 $(LIBGNU) $(LIBIBERTY) $(GNULIB_H): all-lib
 all-lib: $(GNULIB_BUILDDIR)/Makefile $(LIBIBERTY_BUILDDIR)/Makefile
@@ -388,31 +404,34 @@ all-lib: $(GNULIB_BUILDDIR)/Makefile $(L
 .PHONY: all-lib
 
 gdbreplay$(EXEEXT): $(GDBREPLAY_OBS) $(LIBGNU) $(LIBIBERTY)
-	rm -f gdbreplay$(EXEEXT)
-	$(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) -o gdbreplay$(EXEEXT) $(GDBREPLAY_OBS) \
-	  $(XM_CLIBS) $(LIBGNU) $(LIBIBERTY)
+	$(SILENCE) rm -f gdbreplay$(EXEEXT)
+	$(ECHO_CXXLD) $(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \
+		-o gdbreplay$(EXEEXT) $(GDBREPLAY_OBS) $(XM_CLIBS) $(LIBGNU) \
+		$(LIBIBERTY)
 
 IPA_OBJS = \
 	ax-ipa.o \
-	common-utils-ipa.o \
-	errors-ipa.o \
-	format-ipa.o \
-	print-utils-ipa.o \
+	common/common-utils-ipa.o \
+	common/errors-ipa.o \
+	common/format-ipa.o \
+	common/print-utils-ipa.o \
+	common/rsp-low-ipa.o \
+	common/tdesc-ipa.o \
+	common/vec-ipa.o \
 	regcache-ipa.o \
 	remote-utils-ipa.o \
-	rsp-low-ipa.o \
 	tdesc-ipa.o \
 	tracepoint-ipa.o \
 	utils-ipa.o \
-	vec-ipa.o \
 	${IPA_DEPFILES}
 
 IPA_LIB = libinproctrace.so
 
 $(IPA_LIB): $(IPA_OBJS) ${ADD_DEPS} ${CDEPS}
-	rm -f $(IPA_LIB)
-	$(CC_LD) -shared -fPIC -Wl,--soname=$(IPA_LIB) -Wl,--no-undefined $(INTERNAL_CFLAGS) \
-	$(INTERNAL_LDFLAGS) -o $(IPA_LIB) ${IPA_OBJS} -ldl -pthread
+	$(SILENCE) rm -f $(IPA_LIB)
+	$(ECHO_CXXLD) $(CC_LD) -shared -fPIC -Wl,--soname=$(IPA_LIB) \
+		-Wl,--no-undefined $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \
+		-o $(IPA_LIB) ${IPA_OBJS} -ldl -pthread
 
 # Put the proper machine-specific files first, so M-. on a machine
 # specific routine gets the one for the correct machine.
@@ -494,15 +513,16 @@ am--refresh:
 force:
 
 version-generated.c: Makefile $(srcdir)/../version.in $(srcdir)/../../bfd/version.h $(srcdir)/../common/create-version.sh
-	$(SHELL) $(srcdir)/../common/create-version.sh $(srcdir)/.. \
-	    $(host_alias) $(target_alias) $@
+	$(ECHO_GEN) $(SHELL) $(srcdir)/../common/create-version.sh $(srcdir)/.. \
+		$(host_alias) $(target_alias) $@
 
 xml-builtin-generated.c: stamp-xml; @true
 stamp-xml: $(XML_DIR)/feature_to_c.sh Makefile $(XML_FILES)
-	rm -f xml-builtin.tmp
-	$(SHELL) $(XML_DIR)/feature_to_c.sh xml-builtin.tmp $(XML_FILES)
-	$(SHELL) $(srcdir)/../../move-if-change xml-builtin.tmp xml-builtin-generated.c
-	echo stamp > stamp-xml
+	$(SILENCE) rm -f xml-builtin.tmp
+	$(ECHO_GEN_XML_BUILTIN_GENERATED) $(SHELL) $(XML_DIR)/feature_to_c.sh \
+		xml-builtin.tmp $(XML_FILES)
+	$(SILENCE) $(SHELL) $(srcdir)/../../move-if-change xml-builtin.tmp xml-builtin-generated.c
+	$(SILENCE) echo stamp > stamp-xml
 
 .PRECIOUS: xml-builtin.c
 
@@ -527,7 +547,7 @@ IPAGENT_CFLAGS = $(INTERNAL_CFLAGS) $(US
 	-fPIC -DIN_PROCESS_AGENT \
 	-fvisibility=hidden
 
-IPAGENT_COMPILE = $(COMPILE.pre) $(IPAGENT_CFLAGS) $(COMPILE.post)
+IPAGENT_COMPILE = $(ECHO_CXX) $(COMPILE.pre) $(IPAGENT_CFLAGS) $(COMPILE.post)
 
 # Rules for special cases.
 
@@ -539,11 +559,15 @@ ax.o: ax.c
 	$(COMPILE) $(WARN_CFLAGS_NO_FORMAT) $<
 	$(POSTCOMPILE)
 
-arch/%.o: ../arch/%.c
-	$(COMPILE) $<
+# Rules for objects that go in the in-process agent.
+
+arch/%-ipa.o: ../arch/%.c
+	$(IPAGENT_COMPILE) $<
 	$(POSTCOMPILE)
 
-# Rules for objects that go in the in-process agent.
+common/%-ipa.o: ../common/%.c
+	$(IPAGENT_COMPILE) $<
+	$(POSTCOMPILE)
 
 %-ipa.o: %-generated.c
 	$(IPAGENT_COMPILE) $<
@@ -564,25 +588,21 @@ arch/%.o: ../arch/%.c
 	$(IPAGENT_COMPILE) $<
 	$(POSTCOMPILE)
 
-%-ipa.o: ../common/%.c
-	$(IPAGENT_COMPILE) $<
-	$(POSTCOMPILE)
+# Rules for objects that go in the gdbserver binary.
 
-arch/%-ipa.o: ../arch/%.c
-	$(IPAGENT_COMPILE) $<
+arch/%.o: ../arch/%.c
+	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-# Rules for objects that go in the gdbserver binary.
-
-%.o: %-generated.c
+common/%.o: ../common/%.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-%.o: %.c
+%.o: %-generated.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-%.o: ../common/%.c
+%.o: %.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -598,16 +618,16 @@ arch/%-ipa.o: ../arch/%.c
 # -generated to identify and clean them easily.
 
 %-generated.c: ../regformats/%.dat | $(regdat_sh)
-	$(SHELL) $(regdat_sh) $< $@
+	$(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@
 
 %-generated.c: ../regformats/arm/%.dat | $(regdat_sh)
-	$(SHELL) $(regdat_sh) $< $@
+	$(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@
 
 %-generated.c: ../regformats/i386/%.dat | $(regdat_sh)
-	$(SHELL) $(regdat_sh) $< $@
+	$(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@
 
 %-generated.c: ../regformats/rs6000/%.dat | $(regdat_sh)
-	$(SHELL) $(regdat_sh) $< $@
+	$(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@
 
 #
 # Dependency tracking.
@@ -643,8 +663,12 @@ else
 $(all_object_files) : $(generated_files)
 endif
 
+# All the .deps files to include.
+all_deps_files = $(foreach dep,$(patsubst %.o,%.Po,$(all_object_files)),\
+		   $(dir $(dep))/$(DEPDIR)/$(notdir $(dep)))
+
 # Dependencies.
--include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))
+-include $(all_deps_files)
 
 # Disable implicit make rules.
 include $(srcdir)/../disable-implicit-rules.mk
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/mem-break.c ./gdb/gdbserver/mem-break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/mem-break.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/mem-break.c	2018-07-10 02:06:13.000000000 +0000
@@ -431,7 +431,6 @@ set_raw_breakpoint_at (enum raw_bkpt_typ
 {
   struct process_info *proc = current_process ();
   struct raw_breakpoint *bp;
-  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
 
   if (type == raw_bkpt_type_sw || type == raw_bkpt_type_hw)
     {
@@ -450,13 +449,14 @@ set_raw_breakpoint_at (enum raw_bkpt_typ
   else
     bp = find_raw_breakpoint_at (where, type, kind);
 
+  gdb::unique_xmalloc_ptr<struct raw_breakpoint> bp_holder;
   if (bp == NULL)
     {
-      bp = XCNEW (struct raw_breakpoint);
+      bp_holder.reset (XCNEW (struct raw_breakpoint));
+      bp = bp_holder.get ();
       bp->pc = where;
       bp->kind = kind;
       bp->raw_type = type;
-      make_cleanup (xfree, bp);
     }
 
   if (!bp->inserted)
@@ -468,14 +468,15 @@ set_raw_breakpoint_at (enum raw_bkpt_typ
 	    debug_printf ("Failed to insert breakpoint at 0x%s (%d).\n",
 			  paddress (where), *err);
 
-	  do_cleanups (old_chain);
 	  return NULL;
 	}
 
       bp->inserted = 1;
     }
 
-  discard_cleanups (old_chain);
+  /* If the breakpoint was allocated above, we know we want to keep it
+     now.  */
+  bp_holder.release ();
 
   /* Link the breakpoint in, if this is the first reference.  */
   if (++bp->refcount == 1)
@@ -1481,7 +1482,7 @@ set_single_step_breakpoint (CORE_ADDR st
 {
   struct single_step_breakpoint *bp;
 
-  gdb_assert (ptid_get_pid (current_ptid) == ptid_get_pid (ptid));
+  gdb_assert (current_ptid.pid () == ptid.pid ());
 
   bp = (struct single_step_breakpoint *) set_breakpoint_type_at (single_step_breakpoint,
 								stop_at, NULL);
@@ -1500,8 +1501,7 @@ delete_single_step_breakpoints (struct t
   while (bp)
     {
       if (bp->type == single_step_breakpoint
-	  && ptid_equal (((struct single_step_breakpoint *) bp)->ptid,
-			 ptid_of (thread)))
+	  && ((struct single_step_breakpoint *) bp)->ptid == ptid_of (thread))
 	{
 	  struct thread_info *saved_thread = current_thread;
 
@@ -1597,8 +1597,7 @@ uninsert_single_step_breakpoints (struct
   for (bp = proc->breakpoints; bp != NULL; bp = bp->next)
     {
     if (bp->type == single_step_breakpoint
-	&& ptid_equal (((struct single_step_breakpoint *) bp)->ptid,
-		       ptid_of (thread)))
+	&& ((struct single_step_breakpoint *) bp)->ptid == ptid_of (thread))
       {
 	gdb_assert (bp->raw->inserted > 0);
 
@@ -1672,8 +1671,7 @@ has_single_step_breakpoints (struct thre
   while (bp)
     {
       if (bp->type == single_step_breakpoint
-	  && ptid_equal (((struct single_step_breakpoint *) bp)->ptid,
-			 ptid_of (thread)))
+	  && ((struct single_step_breakpoint *) bp)->ptid == ptid_of (thread))
 	return 1;
       else
 	{
@@ -1707,8 +1705,7 @@ reinsert_single_step_breakpoints (struct
   for (bp = proc->breakpoints; bp != NULL; bp = bp->next)
     {
       if (bp->type == single_step_breakpoint
-	  && ptid_equal (((struct single_step_breakpoint *) bp)->ptid,
-			 ptid_of (thread)))
+	  && ((struct single_step_breakpoint *) bp)->ptid == ptid_of (thread))
 	{
 	  gdb_assert (bp->raw->inserted > 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.1.0.20180703/gdb/gdbserver/nto-low.c ./gdb/gdbserver/nto-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/nto-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/nto-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -91,13 +91,13 @@ nto_set_thread (ptid_t ptid)
 {
   int res = 0;
 
-  TRACE ("%s pid: %d tid: %ld\n", __func__, ptid_get_pid (ptid),
-	 ptid_get_lwp (ptid));
+  TRACE ("%s pid: %d tid: %ld\n", __func__, ptid.pid (),
+	 ptid.lwp ());
   if (nto_inferior.ctl_fd != -1
-      && !ptid_equal (ptid, null_ptid)
-      && !ptid_equal (ptid, minus_one_ptid))
+      && ptid != null_ptid
+      && ptid != minus_one_ptid)
     {
-      pthread_t tid = ptid_get_lwp (ptid);
+      pthread_t tid = ptid.lwp ();
 
       if (EOK == devctl (nto_inferior.ctl_fd, DCMD_PROC_CURTHREAD, &tid,
 	  sizeof (tid), 0))
@@ -142,7 +142,7 @@ nto_find_new_threads (struct nto_inferio
 	{
 	  struct thread_info *ti;
 
-	  ptid = ptid_build (nto_inferior->pid, tid, 0);
+	  ptid = ptid_t (nto_inferior->pid, tid, 0);
 	  ti = find_thread_ptid (ptid);
 	  if (ti != NULL)
 	    {
@@ -157,7 +157,7 @@ nto_find_new_threads (struct nto_inferio
       if (status.state != STATE_DEAD)
 	{
 	  TRACE ("Adding thread %d\n", tid);
-	  ptid = ptid_build (nto_inferior->pid, tid, 0);
+	  ptid = ptid_t (nto_inferior->pid, tid, 0);
 	  if (!find_thread_ptid (ptid))
 	    add_thread (ptid, NULL);
 	}
@@ -208,12 +208,12 @@ do_attach (pid_t pid)
       struct process_info *proc;
 
       kill (pid, SIGCONT);
-      ptid = ptid_build (status.pid, status.tid, 0);
+      ptid = ptid_t (status.pid, status.tid, 0);
       the_low_target.arch_setup ();
       proc = add_process (status.pid, 1);
       proc->tdesc = nto_tdesc;
       TRACE ("Adding thread: pid=%d tid=%ld\n", status.pid,
-	     ptid_get_lwp (ptid));
+	     ptid.lwp ());
       nto_find_new_threads (&nto_inferior);
     }
   else
@@ -430,9 +430,9 @@ nto_thread_alive (ptid_t ptid)
 {
   int res;
 
-  TRACE ("%s pid:%d tid:%d\n", __func__, ptid_get_pid (ptid),
-	 ptid_get_lwp (ptid));
-  if (SignalKill (0, ptid_get_pid (ptid), ptid_get_lwp (ptid),
+  TRACE ("%s pid:%d tid:%d\n", __func__, ptid.pid (),
+	 ptid.lwp ());
+  if (SignalKill (0, ptid.pid (), ptid.lwp (),
 		  0, 0, 0) == -1)
     res = 0;
   else
@@ -582,7 +582,7 @@ nto_wait (ptid_t ptid,
 	    int waitval = 0;
 
 	    TRACE ("  TERMINATED\n");
-	    waitpid (ptid_get_pid (ptid), &waitval, WNOHANG);
+	    waitpid (ptid.pid (), &waitval, WNOHANG);
 	    if (nto_inferior.exit_signo)
 	      {
 		/* Abnormal death.  */
@@ -609,7 +609,7 @@ nto_wait (ptid_t ptid,
 	}
     }
 
-  return ptid_build (status.pid, status.tid, 0);
+  return ptid_t (status.pid, status.tid, 0);
 }
 
 /* Fetch inferior's registers for currently selected thread (CURRENT_INFERIOR).
@@ -740,7 +740,7 @@ static void
 nto_request_interrupt (void)
 {
   TRACE ("%s\n", __func__);
-  nto_set_thread (ptid_build (nto_inferior.pid, 1, 0));
+  nto_set_thread (ptid_t (nto_inferior.pid, 1, 0));
   if (EOK != devctl (nto_inferior.ctl_fd, DCMD_PROC_STOP, NULL, 0, 0))
     TRACE ("Error stopping inferior.\n");
 }
@@ -991,7 +991,6 @@ static struct target_ops nto_target_ops 
   NULL, /* get_min_fast_tracepoint_insn_len */
   NULL, /* qxfer_libraries_svr4 */
   NULL, /* support_agent */
-  NULL, /* support_btrace */
   NULL, /* enable_btrace */
   NULL, /* disable_btrace */
   NULL, /* read_btrace */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/proc-service.c ./gdb/gdbserver/proc-service.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/proc-service.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/proc-service.c	2018-07-10 02:06:13.000000000 +0000
@@ -108,7 +108,7 @@ ps_lgetregs (gdb_ps_prochandle_t ph, lwp
   struct thread_info *reg_thread, *saved_thread;
   struct regcache *regcache;
 
-  lwp = find_lwp_pid (pid_to_ptid (lwpid));
+  lwp = find_lwp_pid (ptid_t (lwpid));
   if (lwp == NULL)
     return PS_ERR;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/regcache.c ./gdb/gdbserver/regcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/regcache.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/regcache.c	2018-07-10 02:06:13.000000000 +0000
@@ -159,7 +159,7 @@ init_register_cache (struct regcache *re
 struct regcache *
 new_register_cache (const struct target_desc *tdesc)
 {
-  struct regcache *regcache = XCNEW (struct regcache);
+  struct regcache *regcache = new struct regcache;
 
   gdb_assert (tdesc->registers_size != 0);
 
@@ -174,7 +174,7 @@ free_register_cache (struct regcache *re
       if (regcache->registers_owned)
 	free (regcache->registers);
       free (regcache->register_status);
-      free (regcache);
+      delete regcache;
     }
 }
 
@@ -196,6 +196,13 @@ regcache_cpy (struct regcache *dst, stru
   dst->registers_valid = src->registers_valid;
 }
 
+/* Return a reference to the description of register N.  */
+
+static const struct reg &
+find_register_by_number (const struct target_desc *tdesc, int n)
+{
+  return tdesc->reg_defs[n];
+}
 
 #ifndef IN_PROCESS_AGENT
 
@@ -244,24 +251,13 @@ find_regno (const struct target_desc *td
 {
   for (int i = 0; i < tdesc->reg_defs.size (); ++i)
     {
-      struct reg *reg = tdesc->reg_defs[i];
-
-      if (strcmp (name, reg->name) == 0)
+      if (strcmp (name, find_register_by_number (tdesc, i).name) == 0)
 	return i;
     }
   internal_error (__FILE__, __LINE__, "Unknown register %s requested",
 		  name);
 }
 
-#endif
-
-struct reg *
-find_register_by_number (const struct target_desc *tdesc, int n)
-{
-  return tdesc->reg_defs[n];
-}
-
-#ifndef IN_PROCESS_AGENT
 static void
 free_register_cache_thread (struct thread_info *thread)
 {
@@ -292,7 +288,7 @@ register_cache_size (const struct target
 int
 register_size (const struct target_desc *tdesc, int n)
 {
-  return find_register_by_number (tdesc, n)->size / 8;
+  return find_register_by_number (tdesc, n).size / 8;
 }
 
 /* See common/common-regcache.h.  */
@@ -304,35 +300,37 @@ regcache_register_size (const struct reg
 }
 
 static unsigned char *
-register_data (struct regcache *regcache, int n, int fetch)
+register_data (const struct regcache *regcache, int n, int fetch)
 {
   return (regcache->registers
-	  + find_register_by_number (regcache->tdesc, n)->offset / 8);
+	  + find_register_by_number (regcache->tdesc, n).offset / 8);
 }
 
-/* Supply register N, whose contents are stored in BUF, to REGCACHE.
-   If BUF is NULL, the register's value is recorded as
-   unavailable.  */
-
 void
 supply_register (struct regcache *regcache, int n, const void *buf)
 {
+  return regcache->raw_supply (n, buf);
+}
+
+/* See common/common-regcache.h.  */
+
+void
+regcache::raw_supply (int n, const void *buf)
+{
   if (buf)
     {
-      memcpy (register_data (regcache, n, 0), buf,
-	      register_size (regcache->tdesc, n));
+      memcpy (register_data (this, n, 0), buf, register_size (tdesc, n));
 #ifndef IN_PROCESS_AGENT
-      if (regcache->register_status != NULL)
-	regcache->register_status[n] = REG_VALID;
+      if (register_status != NULL)
+	register_status[n] = REG_VALID;
 #endif
     }
   else
     {
-      memset (register_data (regcache, n, 0), 0,
-	      register_size (regcache->tdesc, n));
+      memset (register_data (this, n, 0), 0, register_size (tdesc, n));
 #ifndef IN_PROCESS_AGENT
-      if (regcache->register_status != NULL)
-	regcache->register_status[n] = REG_UNAVAILABLE;
+      if (register_status != NULL)
+	register_status[n] = REG_UNAVAILABLE;
 #endif
     }
 }
@@ -350,6 +348,19 @@ supply_register_zeroed (struct regcache 
 #endif
 }
 
+#ifndef IN_PROCESS_AGENT
+
+/* Supply register called NAME with value zero to REGCACHE.  */
+
+void
+supply_register_by_name_zeroed (struct regcache *regcache,
+				const char *name)
+{
+  supply_register_zeroed (regcache, find_regno (regcache->tdesc, name));
+}
+
+#endif
+
 /* Supply the whole register set whose contents are stored in BUF, to
    REGCACHE.  If BUF is NULL, all the registers' values are recorded
    as unavailable.  */
@@ -401,8 +412,15 @@ supply_register_by_name (struct regcache
 void
 collect_register (struct regcache *regcache, int n, void *buf)
 {
-  memcpy (buf, register_data (regcache, n, 1),
-	  register_size (regcache->tdesc, n));
+  regcache->raw_collect (n, buf);
+}
+
+/* See common/common-regcache.h.  */
+
+void
+regcache::raw_collect (int n, void *buf) const
+{
+  memcpy (buf, register_data (this, n, 1), register_size (tdesc, n));
 }
 
 enum register_status
@@ -471,3 +489,30 @@ regcache_write_pc (struct regcache *regc
 }
 
 #endif
+
+/* See common/common-regcache.h.  */
+
+enum register_status
+regcache::get_register_status (int regnum) const
+{
+#ifndef IN_PROCESS_AGENT
+  gdb_assert (regnum >= 0 && regnum < tdesc->reg_defs.size ());
+  return (enum register_status) (register_status[regnum]);
+#else
+  return REG_VALID;
+#endif
+}
+
+/* See common/common-regcache.h.  */
+
+bool
+regcache::raw_compare (int regnum, const void *buf, int offset) const
+{
+  gdb_assert (buf != NULL);
+
+  const unsigned char *regbuf = register_data (this, regnum, 1);
+  int size = register_size (tdesc, regnum);
+  gdb_assert (size >= offset);
+
+  return (memcmp (buf, regbuf + offset, size - offset) == 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.1.0.20180703/gdb/gdbserver/regcache.h ./gdb/gdbserver/regcache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/regcache.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/regcache.h	2018-07-10 02:06:13.000000000 +0000
@@ -28,23 +28,35 @@ struct target_desc;
    inferior; this is primarily for simplicity, as the performance
    benefit is minimal.  */
 
-struct regcache
+struct regcache : public reg_buffer_common
 {
   /* The regcache's target description.  */
-  const struct target_desc *tdesc;
+  const struct target_desc *tdesc = nullptr;
 
   /* Whether the REGISTERS buffer's contents are valid.  If false, we
      haven't fetched the registers from the target yet.  Not that this
      register cache is _not_ pass-through, unlike GDB's.  Note that
      "valid" here is unrelated to whether the registers are available
      in a traceframe.  For that, check REGISTER_STATUS below.  */
-  int registers_valid;
-  int registers_owned;
-  unsigned char *registers;
+  int registers_valid = 0;
+  int registers_owned = 0;
+  unsigned char *registers = nullptr;
 #ifndef IN_PROCESS_AGENT
   /* One of REG_UNAVAILBLE or REG_VALID.  */
-  unsigned char *register_status;
+  unsigned char *register_status = nullptr;
 #endif
+
+  /* See common/common-regcache.h.  */
+  enum register_status get_register_status (int regnum) const override;
+
+  /* See common/common-regcache.h.  */
+  void raw_supply (int regnum, const void *buf) override;
+
+  /* See common/common-regcache.h.  */
+  void raw_collect (int regnum, void *buf) const override;
+
+  /* See common/common-regcache.h.  */
+  bool raw_compare (int regnum, const void *buf, int offset) const override;
 };
 
 struct regcache *init_register_cache (struct regcache *regcache,
@@ -94,10 +106,6 @@ void registers_from_string (struct regca
 
 void regcache_write_pc (struct regcache *regcache, CORE_ADDR pc);
 
-/* Return a pointer to the description of register ``n''.  */
-
-struct reg *find_register_by_number (const struct target_desc *tdesc, int n);
-
 int register_cache_size (const struct target_desc *tdesc);
 
 int register_size (const struct target_desc *tdesc, int n);
@@ -111,6 +119,9 @@ void supply_register_zeroed (struct regc
 void supply_register_by_name (struct regcache *regcache,
 			      const char *name, const void *buf);
 
+void supply_register_by_name_zeroed (struct regcache *regcache,
+				     const char *name);
+
 void supply_regblock (struct regcache *regcache, const void *buf);
 
 void collect_register (struct regcache *regcache, int n, void *buf);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/remote-utils.c ./gdb/gdbserver/remote-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/remote-utils.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/remote-utils.c	2018-07-10 02:06:13.000000000 +0000
@@ -115,11 +115,6 @@ static gdb_fildes_t listen_desc = INVALI
 extern int using_threads;
 extern int debug_threads;
 
-/* If true, then GDB has requested noack mode.  */
-int noack_mode = 0;
-/* If true, then we tell GDB to use noack mode by default.  */
-int transport_is_reliable = 0;
-
 #ifdef USE_WIN32API
 # define read(fd, buf, len) recv (fd, (char *) buf, len, 0)
 # define write(fd, buf, len) send (fd, (char *) buf, len, 0)
@@ -222,6 +217,7 @@ handle_accept_event (int err, gdb_client
 void
 remote_prepare (const char *name)
 {
+  client_state &cs = get_client_state ();
   const char *port_str;
 #ifdef USE_WIN32API
   static int winsock_initialized;
@@ -238,14 +234,14 @@ remote_prepare (const char *name)
 	 call to remote_open so start_inferior knows the connection is
 	 via stdio.  */
       remote_is_stdio = 1;
-      transport_is_reliable = 1;
+      cs.transport_is_reliable = 1;
       return;
     }
 
   port_str = strchr (name, ':');
   if (port_str == NULL)
     {
-      transport_is_reliable = 0;
+      cs.transport_is_reliable = 0;
       return;
     }
 
@@ -280,7 +276,7 @@ remote_prepare (const char *name)
       || listen (listen_desc, 1))
     perror_with_name ("Can't bind address");
 
-  transport_is_reliable = 1;
+  cs.transport_is_reliable = 1;
 }
 
 /* Open a connection to a remote debugger.
@@ -485,17 +481,18 @@ try_rle (char *buf, int remaining, unsig
 char *
 write_ptid (char *buf, ptid_t ptid)
 {
+  client_state &cs = get_client_state ();
   int pid, tid;
 
-  if (multi_process)
+  if (cs.multi_process)
     {
-      pid = ptid_get_pid (ptid);
+      pid = ptid.pid ();
       if (pid < 0)
 	buf += sprintf (buf, "p-%x.", -pid);
       else
 	buf += sprintf (buf, "p%x.", pid);
     }
-  tid = ptid_get_lwp (ptid);
+  tid = ptid.lwp ();
   if (tid < 0)
     buf += sprintf (buf, "-%x", -tid);
   else
@@ -545,7 +542,7 @@ read_ptid (const char *buf, const char *
 
       if (obuf)
 	*obuf = pp;
-      return ptid_build (pid, tid, 0);
+      return ptid_t (pid, tid, 0);
     }
 
   /* No multi-process.  Just a tid.  */
@@ -558,7 +555,7 @@ read_ptid (const char *buf, const char *
 
   if (obuf)
     *obuf = pp;
-  return ptid_build (pid, tid, 0);
+  return ptid_t (pid, tid, 0);
 }
 
 /* Write COUNT bytes in BUF to the client.
@@ -594,6 +591,7 @@ read_prim (void *buf, int count)
 static int
 putpkt_binary_1 (char *buf, int cnt, int is_notif)
 {
+  client_state &cs = get_client_state ();
   int i;
   unsigned char csum = 0;
   char *buf2;
@@ -631,7 +629,7 @@ putpkt_binary_1 (char *buf, int cnt, int
 	  return -1;
 	}
 
-      if (noack_mode || is_notif)
+      if (cs.noack_mode || is_notif)
 	{
 	  /* Don't expect an ack then.  */
 	  if (remote_debug)
@@ -851,6 +849,7 @@ static unsigned char *readchar_bufp;
 static int
 readchar (void)
 {
+  client_state &cs = get_client_state ();
   int ch;
 
   if (readchar_bufcnt == 0)
@@ -926,6 +925,7 @@ reschedule (void)
 int
 getpkt (char *buf)
 {
+  client_state &cs = get_client_state ();
   char *bp;
   unsigned char csum, c1, c2;
   int c;
@@ -977,7 +977,7 @@ getpkt (char *buf)
       if (csum == (c1 << 4) + c2)
 	break;
 
-      if (noack_mode)
+      if (cs.noack_mode)
 	{
 	  fprintf (stderr,
 		   "Bad checksum, sentsum=0x%x, csum=0x%x, "
@@ -993,7 +993,7 @@ getpkt (char *buf)
 	return -1;
     }
 
-  if (!noack_mode)
+  if (!cs.noack_mode)
     {
       if (remote_debug)
 	{
@@ -1081,6 +1081,7 @@ void
 prepare_resume_reply (char *buf, ptid_t ptid,
 		      struct target_waitstatus *status)
 {
+  client_state &cs = get_client_state ();
   if (debug_threads)
     debug_printf ("Writing resume reply for %s:%d\n",
 		  target_pid_to_str (ptid), status->kind);
@@ -1100,8 +1101,9 @@ prepare_resume_reply (char *buf, ptid_t 
 	const char **regp;
 	struct regcache *regcache;
 
-	if ((status->kind == TARGET_WAITKIND_FORKED && report_fork_events)
-	    || (status->kind == TARGET_WAITKIND_VFORKED && report_vfork_events))
+	if ((status->kind == TARGET_WAITKIND_FORKED && cs.report_fork_events)
+	    || (status->kind == TARGET_WAITKIND_VFORKED 
+		&& cs.report_vfork_events))
 	  {
 	    enum gdb_signal signal = GDB_SIGNAL_TRAP;
 	    const char *event = (status->kind == TARGET_WAITKIND_FORKED
@@ -1112,13 +1114,14 @@ prepare_resume_reply (char *buf, ptid_t 
 	    buf = write_ptid (buf, status->value.related_pid);
 	    strcat (buf, ";");
 	  }
-	else if (status->kind == TARGET_WAITKIND_VFORK_DONE && report_vfork_events)
+	else if (status->kind == TARGET_WAITKIND_VFORK_DONE 
+		 && cs.report_vfork_events)
 	  {
 	    enum gdb_signal signal = GDB_SIGNAL_TRAP;
 
 	    sprintf (buf, "T%02xvforkdone:;", signal);
 	  }
-	else if (status->kind == TARGET_WAITKIND_EXECD && report_exec_events)
+	else if (status->kind == TARGET_WAITKIND_EXECD && cs.report_exec_events)
 	  {
 	    enum gdb_signal signal = GDB_SIGNAL_TRAP;
 	    const char *event = "exec";
@@ -1138,7 +1141,7 @@ prepare_resume_reply (char *buf, ptid_t 
 	    buf += strlen (buf);
 	  }
 	else if (status->kind == TARGET_WAITKIND_THREAD_CREATED
-		 && report_thread_events)
+		 && cs.report_thread_events)
 	  {
 	    enum gdb_signal signal = GDB_SIGNAL_TRAP;
 
@@ -1186,12 +1189,12 @@ prepare_resume_reply (char *buf, ptid_t 
 	      *buf++ = tohex ((addr >> (i - 1) * 4) & 0xf);
 	    *buf++ = ';';
 	  }
-	else if (swbreak_feature && target_stopped_by_sw_breakpoint ())
+	else if (cs.swbreak_feature && target_stopped_by_sw_breakpoint ())
 	  {
 	    sprintf (buf, "swbreak:;");
 	    buf += strlen (buf);
 	  }
-	else if (hwbreak_feature && target_stopped_by_hw_breakpoint ())
+	else if (cs.hwbreak_feature && target_stopped_by_hw_breakpoint ())
 	  {
 	    sprintf (buf, "hwbreak:;");
 	    buf += strlen (buf);
@@ -1219,13 +1222,13 @@ prepare_resume_reply (char *buf, ptid_t 
 	       in GDB will claim this event belongs to inferior_ptid
 	       if we do not specify a thread, and there's no way for
 	       gdbserver to know what inferior_ptid is.  */
-	    if (1 || !ptid_equal (general_thread, ptid))
+	    if (1 || cs.general_thread != ptid)
 	      {
 		int core = -1;
 		/* In non-stop, don't change the general thread behind
 		   GDB's back.  */
 		if (!non_stop)
-		  general_thread = ptid;
+		  cs.general_thread = ptid;
 		sprintf (buf, "thread:");
 		buf += strlen (buf);
 		buf = write_ptid (buf, ptid);
@@ -1256,16 +1259,16 @@ prepare_resume_reply (char *buf, ptid_t 
       }
       break;
     case TARGET_WAITKIND_EXITED:
-      if (multi_process)
+      if (cs.multi_process)
 	sprintf (buf, "W%x;process:%x",
-		 status->value.integer, ptid_get_pid (ptid));
+		 status->value.integer, ptid.pid ());
       else
 	sprintf (buf, "W%02x", status->value.integer);
       break;
     case TARGET_WAITKIND_SIGNALLED:
-      if (multi_process)
+      if (cs.multi_process)
 	sprintf (buf, "X%x;process:%x",
-		 status->value.sig, ptid_get_pid (ptid));
+		 status->value.sig, ptid.pid ());
       else
 	sprintf (buf, "X%02x", status->value.sig);
       break;
@@ -1435,6 +1438,7 @@ clear_symbol_cache (struct sym_cache **s
 int
 look_up_one_symbol (const char *name, CORE_ADDR *addrp, int may_ask_gdb)
 {
+  client_state &cs = get_client_state ();
   char *p, *q;
   int len;
   struct sym_cache *sym;
@@ -1456,14 +1460,14 @@ look_up_one_symbol (const char *name, CO
     return 0;
 
   /* Send the request.  */
-  strcpy (own_buf, "qSymbol:");
-  bin2hex ((const gdb_byte *) name, own_buf + strlen ("qSymbol:"),
+  strcpy (cs.own_buf, "qSymbol:");
+  bin2hex ((const gdb_byte *) name, cs.own_buf + strlen ("qSymbol:"),
 	  strlen (name));
-  if (putpkt (own_buf) < 0)
+  if (putpkt (cs.own_buf) < 0)
     return -1;
 
   /* FIXME:  Eventually add buffer overflow checking (to getpkt?)  */
-  len = getpkt (own_buf);
+  len = getpkt (cs.own_buf);
   if (len < 0)
     return -1;
 
@@ -1474,45 +1478,45 @@ look_up_one_symbol (const char *name, CO
      while it figures out the address of the symbol.  */
   while (1)
     {
-      if (own_buf[0] == 'm')
+      if (cs.own_buf[0] == 'm')
 	{
 	  CORE_ADDR mem_addr;
 	  unsigned char *mem_buf;
 	  unsigned int mem_len;
 
-	  decode_m_packet (&own_buf[1], &mem_addr, &mem_len);
+	  decode_m_packet (&cs.own_buf[1], &mem_addr, &mem_len);
 	  mem_buf = (unsigned char *) xmalloc (mem_len);
 	  if (read_inferior_memory (mem_addr, mem_buf, mem_len) == 0)
-	    bin2hex (mem_buf, own_buf, mem_len);
+	    bin2hex (mem_buf, cs.own_buf, mem_len);
 	  else
-	    write_enn (own_buf);
+	    write_enn (cs.own_buf);
 	  free (mem_buf);
-	  if (putpkt (own_buf) < 0)
+	  if (putpkt (cs.own_buf) < 0)
 	    return -1;
 	}
-      else if (own_buf[0] == 'v')
+      else if (cs.own_buf[0] == 'v')
 	{
 	  int new_len = -1;
-	  handle_v_requests (own_buf, len, &new_len);
+	  handle_v_requests (cs.own_buf, len, &new_len);
 	  if (new_len != -1)
-	    putpkt_binary (own_buf, new_len);
+	    putpkt_binary (cs.own_buf, new_len);
 	  else
-	    putpkt (own_buf);
+	    putpkt (cs.own_buf);
 	}
       else
 	break;
-      len = getpkt (own_buf);
+      len = getpkt (cs.own_buf);
       if (len < 0)
 	return -1;
     }
 
-  if (!startswith (own_buf, "qSymbol:"))
+  if (!startswith (cs.own_buf, "qSymbol:"))
     {
-      warning ("Malformed response to qSymbol, ignoring: %s\n", own_buf);
+      warning ("Malformed response to qSymbol, ignoring: %s\n", cs.own_buf);
       return -1;
     }
 
-  p = own_buf + strlen ("qSymbol:");
+  p = cs.own_buf + strlen ("qSymbol:");
   q = p;
   while (*q && *q != ':')
     q++;
@@ -1548,17 +1552,18 @@ look_up_one_symbol (const char *name, CO
 int
 relocate_instruction (CORE_ADDR *to, CORE_ADDR oldloc)
 {
+  client_state &cs = get_client_state ();
   int len;
   ULONGEST written = 0;
 
   /* Send the request.  */
-  sprintf (own_buf, "qRelocInsn:%s;%s", paddress (oldloc),
+  sprintf (cs.own_buf, "qRelocInsn:%s;%s", paddress (oldloc),
 	   paddress (*to));
-  if (putpkt (own_buf) < 0)
+  if (putpkt (cs.own_buf) < 0)
     return -1;
 
   /* FIXME:  Eventually add buffer overflow checking (to getpkt?)  */
-  len = getpkt (own_buf);
+  len = getpkt (cs.own_buf);
   if (len < 0)
     return -1;
 
@@ -1566,61 +1571,61 @@ relocate_instruction (CORE_ADDR *to, COR
      wait for the qRelocInsn "response".  That requires re-entering
      the main loop.  For now, this is an adequate approximation; allow
      GDB to access memory.  */
-  while (own_buf[0] == 'm' || own_buf[0] == 'M' || own_buf[0] == 'X')
+  while (cs.own_buf[0] == 'm' || cs.own_buf[0] == 'M' || cs.own_buf[0] == 'X')
     {
       CORE_ADDR mem_addr;
       unsigned char *mem_buf = NULL;
       unsigned int mem_len;
 
-      if (own_buf[0] == 'm')
+      if (cs.own_buf[0] == 'm')
 	{
-	  decode_m_packet (&own_buf[1], &mem_addr, &mem_len);
+	  decode_m_packet (&cs.own_buf[1], &mem_addr, &mem_len);
 	  mem_buf = (unsigned char *) xmalloc (mem_len);
 	  if (read_inferior_memory (mem_addr, mem_buf, mem_len) == 0)
-	    bin2hex (mem_buf, own_buf, mem_len);
+	    bin2hex (mem_buf, cs.own_buf, mem_len);
 	  else
-	    write_enn (own_buf);
+	    write_enn (cs.own_buf);
 	}
-      else if (own_buf[0] == 'X')
+      else if (cs.own_buf[0] == 'X')
 	{
-	  if (decode_X_packet (&own_buf[1], len - 1, &mem_addr,
+	  if (decode_X_packet (&cs.own_buf[1], len - 1, &mem_addr,
 			       &mem_len, &mem_buf) < 0
 	      || write_inferior_memory (mem_addr, mem_buf, mem_len) != 0)
-	    write_enn (own_buf);
+	    write_enn (cs.own_buf);
 	  else
-	    write_ok (own_buf);
+	    write_ok (cs.own_buf);
 	}
       else
 	{
-	  decode_M_packet (&own_buf[1], &mem_addr, &mem_len, &mem_buf);
+	  decode_M_packet (&cs.own_buf[1], &mem_addr, &mem_len, &mem_buf);
 	  if (write_inferior_memory (mem_addr, mem_buf, mem_len) == 0)
-	    write_ok (own_buf);
+	    write_ok (cs.own_buf);
 	  else
-	    write_enn (own_buf);
+	    write_enn (cs.own_buf);
 	}
       free (mem_buf);
-      if (putpkt (own_buf) < 0)
+      if (putpkt (cs.own_buf) < 0)
 	return -1;
-      len = getpkt (own_buf);
+      len = getpkt (cs.own_buf);
       if (len < 0)
 	return -1;
     }
 
-  if (own_buf[0] == 'E')
+  if (cs.own_buf[0] == 'E')
     {
       warning ("An error occurred while relocating an instruction: %s\n",
-	       own_buf);
+	       cs.own_buf);
       return -1;
     }
 
-  if (!startswith (own_buf, "qRelocInsn:"))
+  if (!startswith (cs.own_buf, "qRelocInsn:"))
     {
       warning ("Malformed response to qRelocInsn, ignoring: %s\n",
-	       own_buf);
+	       cs.own_buf);
       return -1;
     }
 
-  unpack_varlen_hex (own_buf + strlen ("qRelocInsn:"), &written);
+  unpack_varlen_hex (cs.own_buf + strlen ("qRelocInsn:"), &written);
 
   *to += written;
   return 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.1.0.20180703/gdb/gdbserver/remote-utils.h ./gdb/gdbserver/remote-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/remote-utils.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/remote-utils.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,8 +20,6 @@
 #define REMOTE_UTILS_H
 
 extern int remote_debug;
-extern int noack_mode;
-extern int transport_is_reliable;
 
 int gdb_connected (void);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/server.c ./gdb/gdbserver/server.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/server.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/server.c	2018-07-10 02:06:13.000000000 +0000
@@ -72,17 +72,6 @@ static gdb_environ our_environ;
 
 int startup_with_shell = 1;
 
-/* The thread set with an `Hc' packet.  `Hc' is deprecated in favor of
-   `vCont'.  Note the multi-process extensions made `vCont' a
-   requirement, so `Hc pPID.TID' is pretty much undefined.  So
-   CONT_THREAD can be null_ptid for no `Hc' thread, minus_one_ptid for
-   resuming all threads of the process (again, `Hc' isn't used for
-   multi-process), or a specific thread ptid_t.  */
-ptid_t cont_thread;
-
-/* The thread set with an `Hg' packet.  */
-ptid_t general_thread;
-
 int server_waiting;
 
 static int extended_protocol;
@@ -92,27 +81,10 @@ static int exit_requested;
 /* --once: Exit after the first connection has closed.  */
 int run_once;
 
-int multi_process;
-int report_fork_events;
-int report_vfork_events;
-int report_exec_events;
-int report_thread_events;
-
 /* Whether to report TARGET_WAITKING_NO_RESUMED events.  */
 static int report_no_resumed;
 
 int non_stop;
-int swbreak_feature;
-int hwbreak_feature;
-
-/* True if the "vContSupported" feature is active.  In that case, GDB
-   wants us to report whether single step is supported in the reply to
-   "vCont?" packet.  */
-static int vCont_supported;
-
-/* Whether we should attempt to disable the operating system's address
-   space randomization feature before starting an inferior.  */
-int disable_randomization = 1;
 
 static struct {
   /* Set the PROGRAM_PATH.  Here we adjust the path of the provided
@@ -146,10 +118,6 @@ private:
 static std::vector<char *> program_args;
 static std::string wrapper_argv;
 
-int pass_signals[GDB_SIGNAL_LAST];
-int program_signals[GDB_SIGNAL_LAST];
-int program_signals_p;
-
 /* The PID of the originally created or attached inferior.  Used to
    send signals to the process when GDB sends us an asynchronous interrupt
    (user hitting Control-C in the client), and to wait for the child to exit
@@ -165,11 +133,6 @@ int disable_packet_Tthread;
 int disable_packet_qC;
 int disable_packet_qfThreadInfo;
 
-/* Last status reported to GDB.  */
-struct target_waitstatus last_status;
-ptid_t last_ptid;
-
-char *own_buf;
 static unsigned char *mem_buf;
 
 /* A sub-class of 'struct notif_event' for stop, holding information
@@ -193,6 +156,18 @@ static struct btrace_config current_btra
 
 DEFINE_QUEUE_P (notif_event_p);
 
+/* The client remote protocol state. */
+
+static client_state g_client_state;
+
+client_state &
+get_client_state ()
+{
+  client_state &cs = g_client_state;
+  return cs;
+}
+
+
 /* Put a stop reply to the stop reply queue.  */
 
 static void
@@ -215,7 +190,7 @@ remove_all_on_match_ptid (QUEUE (notif_e
   ptid_t filter_ptid = *(ptid_t *) data;
   struct vstop_notif *vstop_event = (struct vstop_notif *) event;
 
-  if (ptid_match (vstop_event->ptid, filter_ptid))
+  if (vstop_event->ptid.matches (filter_ptid))
     {
       if (q->free_func != NULL)
 	q->free_func (event);
@@ -254,13 +229,13 @@ in_queued_stop_replies_ptid (QUEUE (noti
   ptid_t filter_ptid = *(ptid_t *) data;
   struct vstop_notif *vstop_event = (struct vstop_notif *) event;
 
-  if (ptid_match (vstop_event->ptid, filter_ptid))
+  if (vstop_event->ptid.matches (filter_ptid))
     return 0;
 
   /* Don't resume fork children that GDB does not know about yet.  */
   if ((vstop_event->status.kind == TARGET_WAITKIND_FORKED
        || vstop_event->status.kind == TARGET_WAITKIND_VFORKED)
-      && ptid_match (vstop_event->status.value.related_pid, filter_ptid))
+      && vstop_event->status.value.related_pid.matches (filter_ptid))
     return 0;
 
   return 1;
@@ -316,6 +291,7 @@ get_environ ()
 static int
 attach_inferior (int pid)
 {
+  client_state &cs = get_client_state ();
   /* myattach should return -1 if attaching is unsupported,
      0 if it succeeded, and call error() otherwise.  */
 
@@ -332,17 +308,17 @@ attach_inferior (int pid)
 
   if (!non_stop)
     {
-      last_ptid = mywait (pid_to_ptid (pid), &last_status, 0, 0);
+      cs.last_ptid = mywait (ptid_t (pid), &cs.last_status, 0, 0);
 
       /* GDB knows to ignore the first SIGSTOP after attaching to a running
 	 process using the "attach" command, but this is different; it's
 	 just using "target remote".  Pretend it's just starting up.  */
-      if (last_status.kind == TARGET_WAITKIND_STOPPED
-	  && last_status.value.sig == GDB_SIGNAL_STOP)
-	last_status.value.sig = GDB_SIGNAL_TRAP;
+      if (cs.last_status.kind == TARGET_WAITKIND_STOPPED
+	  && cs.last_status.value.sig == GDB_SIGNAL_STOP)
+	cs.last_status.value.sig = GDB_SIGNAL_TRAP;
 
       current_thread->last_resume_kind = resume_stop;
-      current_thread->last_status = last_status;
+      current_thread->last_status = cs.last_status;
     }
 
   return 0;
@@ -414,50 +390,41 @@ write_qxfer_response (char *buf, const g
 
 /* Handle btrace enabling in BTS format.  */
 
-static const char *
+static void
 handle_btrace_enable_bts (struct thread_info *thread)
 {
   if (thread->btrace != NULL)
-    return "E.Btrace already enabled.";
+    error (_("Btrace already enabled."));
 
   current_btrace_conf.format = BTRACE_FORMAT_BTS;
   thread->btrace = target_enable_btrace (thread->id, &current_btrace_conf);
-  if (thread->btrace == NULL)
-    return "E.Could not enable btrace.";
-
-  return NULL;
 }
 
 /* Handle btrace enabling in Intel Processor Trace format.  */
 
-static const char *
+static void
 handle_btrace_enable_pt (struct thread_info *thread)
 {
   if (thread->btrace != NULL)
-    return "E.Btrace already enabled.";
+    error (_("Btrace already enabled."));
 
   current_btrace_conf.format = BTRACE_FORMAT_PT;
   thread->btrace = target_enable_btrace (thread->id, &current_btrace_conf);
-  if (thread->btrace == NULL)
-    return "E.Could not enable btrace.";
-
-  return NULL;
 }
 
 /* Handle btrace disabling.  */
 
-static const char *
+static void
 handle_btrace_disable (struct thread_info *thread)
 {
 
   if (thread->btrace == NULL)
-    return "E.Branch tracing not enabled.";
+    error (_("Branch tracing not enabled."));
 
   if (target_disable_btrace (thread->btrace) != 0)
-    return "E.Could not disable branch tracing.";
+    error (_("Could not disable branch tracing."));
 
   thread->btrace = NULL;
-  return NULL;
 }
 
 /* Handle the "Qbtrace" packet.  */
@@ -465,8 +432,8 @@ handle_btrace_disable (struct thread_inf
 static int
 handle_btrace_general_set (char *own_buf)
 {
+  client_state &cs = get_client_state ();
   struct thread_info *thread;
-  const char *err;
   char *op;
 
   if (!startswith (own_buf, "Qbtrace:"))
@@ -474,35 +441,38 @@ handle_btrace_general_set (char *own_buf
 
   op = own_buf + strlen ("Qbtrace:");
 
-  if (ptid_equal (general_thread, null_ptid)
-      || ptid_equal (general_thread, minus_one_ptid))
+  if (cs.general_thread == null_ptid
+      || cs.general_thread == minus_one_ptid)
     {
       strcpy (own_buf, "E.Must select a single thread.");
       return -1;
     }
 
-  thread = find_thread_ptid (general_thread);
+  thread = find_thread_ptid (cs.general_thread);
   if (thread == NULL)
     {
       strcpy (own_buf, "E.No such thread.");
       return -1;
     }
 
-  err = NULL;
-
-  if (strcmp (op, "bts") == 0)
-    err = handle_btrace_enable_bts (thread);
-  else if (strcmp (op, "pt") == 0)
-    err = handle_btrace_enable_pt (thread);
-  else if (strcmp (op, "off") == 0)
-    err = handle_btrace_disable (thread);
-  else
-    err = "E.Bad Qbtrace operation. Use bts, pt, or off.";
+  TRY
+    {
+      if (strcmp (op, "bts") == 0)
+	handle_btrace_enable_bts (thread);
+      else if (strcmp (op, "pt") == 0)
+	handle_btrace_enable_pt (thread);
+      else if (strcmp (op, "off") == 0)
+	handle_btrace_disable (thread);
+      else
+	error (_("Bad Qbtrace operation.  Use bts, pt, or off."));
 
-  if (err != 0)
-    strcpy (own_buf, err);
-  else
-    write_ok (own_buf);
+      write_ok (own_buf);
+    }
+  CATCH (exception, RETURN_MASK_ERROR)
+    {
+      sprintf (own_buf, "E.%s", exception.message);
+    }
+  END_CATCH
 
   return 1;
 }
@@ -512,6 +482,7 @@ handle_btrace_general_set (char *own_buf
 static int
 handle_btrace_conf_general_set (char *own_buf)
 {
+  client_state &cs = get_client_state ();
   struct thread_info *thread;
   char *op;
 
@@ -520,14 +491,14 @@ handle_btrace_conf_general_set (char *ow
 
   op = own_buf + strlen ("Qbtrace-conf:");
 
-  if (ptid_equal (general_thread, null_ptid)
-      || ptid_equal (general_thread, minus_one_ptid))
+  if (cs.general_thread == null_ptid
+      || cs.general_thread == minus_one_ptid)
     {
       strcpy (own_buf, "E.Must select a single thread.");
       return -1;
     }
 
-  thread = find_thread_ptid (general_thread);
+  thread = find_thread_ptid (cs.general_thread);
   if (thread == NULL)
     {
       strcpy (own_buf, "E.No such thread.");
@@ -579,6 +550,7 @@ handle_btrace_conf_general_set (char *ow
 static void
 handle_general_set (char *own_buf)
 {
+  client_state &cs = get_client_state ();
   if (startswith (own_buf, "QPassSignals:"))
     {
       int numsigs = (int) GDB_SIGNAL_LAST, i;
@@ -590,7 +562,7 @@ handle_general_set (char *own_buf)
 	{
 	  if (i == cursig)
 	    {
-	      pass_signals[i] = 1;
+	      cs.pass_signals[i] = 1;
 	      if (*p == '\0')
 		/* Keep looping, to clear the remaining signals.  */
 		cursig = -1;
@@ -598,7 +570,7 @@ handle_general_set (char *own_buf)
 		p = decode_address_to_semicolon (&cursig, p);
 	    }
 	  else
-	    pass_signals[i] = 0;
+	    cs.pass_signals[i] = 0;
 	}
       strcpy (own_buf, "OK");
       return;
@@ -610,14 +582,14 @@ handle_general_set (char *own_buf)
       const char *p = own_buf + strlen ("QProgramSignals:");
       CORE_ADDR cursig;
 
-      program_signals_p = 1;
+      cs.program_signals_p = 1;
 
       p = decode_address_to_semicolon (&cursig, p);
       for (i = 0; i < numsigs; i++)
 	{
 	  if (i == cursig)
 	    {
-	      program_signals[i] = 1;
+	      cs.program_signals[i] = 1;
 	      if (*p == '\0')
 		/* Keep looping, to clear the remaining signals.  */
 		cursig = -1;
@@ -625,7 +597,7 @@ handle_general_set (char *own_buf)
 		p = decode_address_to_semicolon (&cursig, p);
 	    }
 	  else
-	    program_signals[i] = 0;
+	    cs.program_signals[i] = 0;
 	}
       strcpy (own_buf, "OK");
       return;
@@ -748,7 +720,7 @@ handle_general_set (char *own_buf)
 	  debug_flush ();
 	}
 
-      noack_mode = 1;
+      cs.noack_mode = 1;
       write_ok (own_buf);
       return;
     }
@@ -796,11 +768,11 @@ handle_general_set (char *own_buf)
       ULONGEST setting;
 
       unpack_varlen_hex (packet, &setting);
-      disable_randomization = setting;
+      cs.disable_randomization = setting;
 
       if (remote_debug)
 	{
-	  debug_printf (disable_randomization
+	  debug_printf (cs.disable_randomization
 			? "[address space randomization disabled]\n"
 			: "[address space randomization enabled]\n");
 	}
@@ -854,20 +826,17 @@ handle_general_set (char *own_buf)
 	req = TRIBOOL_TRUE;
       else
 	{
-	  char *mode_copy = xstrdup (mode);
-
 	  /* We don't know what this mode is, so complain to GDB.  */
 	  sprintf (own_buf, "E.Unknown thread-events mode requested: %s\n",
-		   mode_copy);
-	  xfree (mode_copy);
+		   mode);
 	  return;
 	}
 
-      report_thread_events = (req == TRIBOOL_TRUE);
+      cs.report_thread_events = (req == TRIBOOL_TRUE);
 
       if (remote_debug)
 	{
-	  const char *req_str = report_thread_events ? "enabled" : "disabled";
+	  const char *req_str = cs.report_thread_events ? "enabled" : "disabled";
 
 	  debug_printf ("[thread events are now %s]\n", req_str);
 	}
@@ -950,7 +919,7 @@ get_features_xml (const char *annex)
 
   if (strcmp (annex, "target.xml") == 0)
     {
-      const char *ret = tdesc_get_features_xml ((target_desc*) desc);
+      const char *ret = tdesc_get_features_xml (desc);
 
       if (*ret == '@')
 	return ret + 1;
@@ -1008,14 +977,15 @@ monitor_show_help (void)
 static int
 gdb_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
 {
+  client_state &cs = get_client_state ();
   int res;
 
-  if (current_traceframe >= 0)
+  if (cs.current_traceframe >= 0)
     {
       ULONGEST nbytes;
       ULONGEST length = len;
 
-      if (traceframe_read_mem (current_traceframe,
+      if (traceframe_read_mem (cs.current_traceframe,
 			       memaddr, myaddr, len, &nbytes))
 	return -1;
       /* Data read from trace buffer, we're done.  */
@@ -1048,7 +1018,8 @@ gdb_read_memory (CORE_ADDR memaddr, unsi
 static int
 gdb_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr, int len)
 {
-  if (current_traceframe >= 0)
+  client_state &cs = get_client_state ();
+  if (cs.current_traceframe >= 0)
     return EIO;
   else
     {
@@ -1223,17 +1194,18 @@ handle_search_memory (char *own_buf, int
 static void
 handle_detach (char *own_buf)
 {
+  client_state &cs = get_client_state ();
   require_running_or_return (own_buf);
 
   int pid;
 
-  if (multi_process)
+  if (cs.multi_process)
     {
       /* skip 'D;' */
       pid = strtol (&own_buf[2], NULL, 16);
     }
   else
-    pid = ptid_get_pid (current_ptid);
+    pid = current_ptid.pid ();
 
   if ((tracing && disconnected_tracing) || any_persistent_commands ())
     {
@@ -1284,7 +1256,7 @@ handle_detach (char *own_buf)
     write_enn (own_buf);
   else
     {
-      discard_queued_stop_replies (pid_to_ptid (pid));
+      discard_queued_stop_replies (ptid_t (pid));
       write_ok (own_buf);
 
       if (extended_protocol || target_running ())
@@ -1292,9 +1264,9 @@ handle_detach (char *own_buf)
 	  /* There is still at least one inferior remaining or
 	     we are in extended mode, so don't terminate gdbserver,
 	     and instead treat this like a normal program exit.  */
-	  last_status.kind = TARGET_WAITKIND_EXITED;
-	  last_status.value.integer = 0;
-	  last_ptid = pid_to_ptid (pid);
+	  cs.last_status.kind = TARGET_WAITKIND_EXITED;
+	  cs.last_status.value.integer = 0;
+	  cs.last_ptid = ptid_t (pid);
 
 	  current_thread = NULL;
 	}
@@ -1316,8 +1288,8 @@ handle_detach (char *own_buf)
    ARG is the text after "--debug-format=" or "monitor set debug-format".
    IS_MONITOR is non-zero if we're invoked via "monitor set debug-format".
    This triggers calls to monitor_output.
-   The result is NULL if all options were parsed ok, otherwise an error
-   message which the caller must free.
+   The result is an empty string if all options were parsed ok, otherwise an
+   error message which the caller must free.
 
    N.B. These commands affect all debug format settings, they are not
    cumulative.  If a format is not specified, it is turned off.
@@ -1329,13 +1301,9 @@ handle_detach (char *own_buf)
    to gdb's "set debug foo on|off" because we also use this function to
    parse "--debug-format=foo,bar".  */
 
-static char *
+static std::string
 parse_debug_format_options (const char *arg, int is_monitor)
 {
-  VEC (char_ptr) *options;
-  int ix;
-  char *option;
-
   /* First turn all debug format options off.  */
   debug_timestamp = 0;
 
@@ -1343,23 +1311,24 @@ parse_debug_format_options (const char *
   while (isspace (*arg))
     ++arg;
 
-  options = delim_string_to_char_ptr_vec (arg, ',');
+  std::vector<gdb::unique_xmalloc_ptr<char>> options
+    = delim_string_to_char_ptr_vec (arg, ',');
 
-  for (ix = 0; VEC_iterate (char_ptr, options, ix, option); ++ix)
+  for (const gdb::unique_xmalloc_ptr<char> &option : options)
     {
-      if (strcmp (option, "all") == 0)
+      if (strcmp (option.get (), "all") == 0)
 	{
 	  debug_timestamp = 1;
 	  if (is_monitor)
 	    monitor_output ("All extra debug format options enabled.\n");
 	}
-      else if (strcmp (option, "none") == 0)
+      else if (strcmp (option.get (), "none") == 0)
 	{
 	  debug_timestamp = 0;
 	  if (is_monitor)
 	    monitor_output ("All extra debug format options disabled.\n");
 	}
-      else if (strcmp (option, "timestamp") == 0)
+      else if (strcmp (option.get (), "timestamp") == 0)
 	{
 	  debug_timestamp = 1;
 	  if (is_monitor)
@@ -1371,17 +1340,11 @@ parse_debug_format_options (const char *
 	  continue;
 	}
       else
-	{
-	  char *msg = xstrprintf ("Unknown debug-format argument: \"%s\"\n",
-				  option);
-
-	  free_char_ptr_vec (options);
-	  return msg;
-	}
+	return string_printf ("Unknown debug-format argument: \"%s\"\n",
+			      option.get ());
     }
 
-  free_char_ptr_vec (options);
-  return NULL;
+  return std::string ();
 }
 
 /* Handle monitor commands not handled by target-specific handlers.  */
@@ -1421,16 +1384,15 @@ handle_monitor_command (char *mon, char 
     }
   else if (startswith (mon, "set debug-format "))
     {
-      char *error_msg
+      std::string error_msg
 	= parse_debug_format_options (mon + sizeof ("set debug-format ") - 1,
 				      1);
 
-      if (error_msg != NULL)
+      if (!error_msg.empty ())
 	{
-	  monitor_output (error_msg);
+	  monitor_output (error_msg.c_str ());
 	  monitor_show_help ();
 	  write_enn (own_buf);
-	  xfree (error_msg);
 	}
     }
   else if (strcmp (mon, "help") == 0)
@@ -1666,15 +1628,17 @@ handle_qxfer_statictrace (const char *an
 			  gdb_byte *readbuf, const gdb_byte *writebuf,
 			  ULONGEST offset, LONGEST len)
 {
+  client_state &cs = get_client_state ();
   ULONGEST nbytes;
 
   if (writebuf != NULL)
     return -2;
 
-  if (annex[0] != '\0' || current_thread == NULL || current_traceframe == -1)
+  if (annex[0] != '\0' || current_thread == NULL 
+      || cs.current_traceframe == -1)
     return -1;
 
-  if (traceframe_read_sdata (current_traceframe, offset,
+  if (traceframe_read_sdata (cs.current_traceframe, offset,
 			     readbuf, len, &nbytes))
     return -1;
   return nbytes;
@@ -1790,13 +1754,14 @@ handle_qxfer_traceframe_info (const char
 			      gdb_byte *readbuf, const gdb_byte *writebuf,
 			      ULONGEST offset, LONGEST len)
 {
+  client_state &cs = get_client_state ();
   static char *result = 0;
   static unsigned int result_length = 0;
 
   if (writebuf != NULL)
     return -2;
 
-  if (!target_running () || annex[0] != '\0' || current_traceframe == -1)
+  if (!target_running () || annex[0] != '\0' || cs.current_traceframe == -1)
     return -1;
 
   if (offset == 0)
@@ -1810,7 +1775,7 @@ handle_qxfer_traceframe_info (const char
 
       buffer_init (&buffer);
 
-      traceframe_read_info (current_traceframe, &buffer);
+      traceframe_read_info (cs.current_traceframe, &buffer);
 
       result = buffer_finish (&buffer);
       result_length = strlen (result);
@@ -1855,31 +1820,32 @@ handle_qxfer_btrace (const char *annex,
 		     gdb_byte *readbuf, const gdb_byte *writebuf,
 		     ULONGEST offset, LONGEST len)
 {
+  client_state &cs = get_client_state ();
   static struct buffer cache;
   struct thread_info *thread;
   enum btrace_read_type type;
   int result;
 
-  if (the_target->read_btrace == NULL || writebuf != NULL)
+  if (writebuf != NULL)
     return -2;
 
-  if (ptid_equal (general_thread, null_ptid)
-      || ptid_equal (general_thread, minus_one_ptid))
+  if (cs.general_thread == null_ptid
+      || cs.general_thread == minus_one_ptid)
     {
-      strcpy (own_buf, "E.Must select a single thread.");
+      strcpy (cs.own_buf, "E.Must select a single thread.");
       return -3;
     }
 
-  thread = find_thread_ptid (general_thread);
+  thread = find_thread_ptid (cs.general_thread);
   if (thread == NULL)
     {
-      strcpy (own_buf, "E.No such thread.");
+      strcpy (cs.own_buf, "E.No such thread.");
       return -3;
     }
 
   if (thread->btrace == NULL)
     {
-      strcpy (own_buf, "E.Btrace not enabled.");
+      strcpy (cs.own_buf, "E.Btrace not enabled.");
       return -3;
     }
 
@@ -1891,7 +1857,7 @@ handle_qxfer_btrace (const char *annex,
     type = BTRACE_READ_DELTA;
   else
     {
-      strcpy (own_buf, "E.Bad annex.");
+      strcpy (cs.own_buf, "E.Bad annex.");
       return -3;
     }
 
@@ -1899,12 +1865,21 @@ handle_qxfer_btrace (const char *annex,
     {
       buffer_free (&cache);
 
-      result = target_read_btrace (thread->btrace, &cache, type);
-      if (result != 0)
+      TRY
+	{
+	  result = target_read_btrace (thread->btrace, &cache, type);
+	  if (result != 0)
+	    memcpy (cs.own_buf, cache.buffer, cache.used_size);
+	}
+      CATCH (exception, RETURN_MASK_ERROR)
 	{
-	  memcpy (own_buf, cache.buffer, cache.used_size);
-	  return -3;
+	  sprintf (cs.own_buf, "E.%s", exception.message);
+	  result = -1;
 	}
+      END_CATCH
+
+      if (result != 0)
+	return -3;
     }
   else if (offset > cache.used_size)
     {
@@ -1927,33 +1902,34 @@ handle_qxfer_btrace_conf (const char *an
 			  gdb_byte *readbuf, const gdb_byte *writebuf,
 			  ULONGEST offset, LONGEST len)
 {
+  client_state &cs = get_client_state ();
   static struct buffer cache;
   struct thread_info *thread;
   int result;
 
-  if (the_target->read_btrace_conf == NULL || writebuf != NULL)
+  if (writebuf != NULL)
     return -2;
 
   if (annex[0] != '\0')
     return -1;
 
-  if (ptid_equal (general_thread, null_ptid)
-      || ptid_equal (general_thread, minus_one_ptid))
+  if (cs.general_thread == null_ptid
+      || cs.general_thread == minus_one_ptid)
     {
-      strcpy (own_buf, "E.Must select a single thread.");
+      strcpy (cs.own_buf, "E.Must select a single thread.");
       return -3;
     }
 
-  thread = find_thread_ptid (general_thread);
+  thread = find_thread_ptid (cs.general_thread);
   if (thread == NULL)
     {
-      strcpy (own_buf, "E.No such thread.");
+      strcpy (cs.own_buf, "E.No such thread.");
       return -3;
     }
 
   if (thread->btrace == NULL)
     {
-      strcpy (own_buf, "E.Btrace not enabled.");
+      strcpy (cs.own_buf, "E.Btrace not enabled.");
       return -3;
     }
 
@@ -1961,12 +1937,21 @@ handle_qxfer_btrace_conf (const char *an
     {
       buffer_free (&cache);
 
-      result = target_read_btrace_conf (thread->btrace, &cache);
-      if (result != 0)
+      TRY
 	{
-	  memcpy (own_buf, cache.buffer, cache.used_size);
-	  return -3;
+	  result = target_read_btrace_conf (thread->btrace, &cache);
+	  if (result != 0)
+	    memcpy (cs.own_buf, cache.buffer, cache.used_size);
 	}
+      CATCH (exception, RETURN_MASK_ERROR)
+	{
+	  sprintf (cs.own_buf, "E.%s", exception.message);
+	  result = -1;
+	}
+      END_CATCH
+
+      if (result != 0)
+	return -3;
     }
   else if (offset > cache.used_size)
     {
@@ -2146,27 +2131,10 @@ crc32 (CORE_ADDR base, int len, unsigned
 static void
 supported_btrace_packets (char *buf)
 {
-  int btrace_supported = 0;
-
-  if (target_supports_btrace (BTRACE_FORMAT_BTS))
-    {
-      strcat (buf, ";Qbtrace:bts+");
-      strcat (buf, ";Qbtrace-conf:bts:size+");
-
-      btrace_supported = 1;
-    }
-
-  if (target_supports_btrace (BTRACE_FORMAT_PT))
-    {
-      strcat (buf, ";Qbtrace:pt+");
-      strcat (buf, ";Qbtrace-conf:pt:size+");
-
-      btrace_supported = 1;
-    }
-
-  if (!btrace_supported)
-    return;
-
+  strcat (buf, ";Qbtrace:bts+");
+  strcat (buf, ";Qbtrace-conf:bts:size+");
+  strcat (buf, ";Qbtrace:pt+");
+  strcat (buf, ";Qbtrace-conf:pt:size+");
   strcat (buf, ";Qbtrace:off+");
   strcat (buf, ";qXfer:btrace:read+");
   strcat (buf, ";qXfer:btrace-conf:read+");
@@ -2177,6 +2145,7 @@ supported_btrace_packets (char *buf)
 static void
 handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
 {
+  client_state &cs = get_client_state ();
   static std::list<thread_info *>::const_iterator thread_iter;
 
   /* Reply the current thread id.  */
@@ -2185,8 +2154,8 @@ handle_query (char *own_buf, int packet_
       ptid_t ptid;
       require_running_or_return (own_buf);
 
-      if (general_thread != null_ptid && general_thread != minus_one_ptid)
-	ptid = general_thread;
+      if (cs.general_thread != null_ptid && cs.general_thread != minus_one_ptid)
+	ptid = cs.general_thread;
       else
 	{
 	  thread_iter = all_threads.begin ();
@@ -2211,7 +2180,7 @@ handle_query (char *own_buf, int packet_
       if (current_thread == NULL)
 	{
 	  current_thread
-	    = find_any_thread_of_pid (ptid_get_pid (general_thread));
+	    = find_any_thread_of_pid (cs.general_thread.pid ());
 
 	  /* Just in case, if we didn't find a thread, then bail out
 	     instead of crashing.  */
@@ -2331,7 +2300,7 @@ handle_query (char *own_buf, int packet_
 		  /* GDB supports and wants multi-process support if
 		     possible.  */
 		  if (target_supports_multi_process ())
-		    multi_process = 1;
+		    cs.multi_process = 1;
 		}
 	      else if (strcmp (p, "qRelocInsn+") == 0)
 		{
@@ -2344,35 +2313,35 @@ handle_query (char *own_buf, int packet_
 		     by a software breakpoint and for us to handle PC
 		     adjustment if necessary on this target.  */
 		  if (target_supports_stopped_by_sw_breakpoint ())
-		    swbreak_feature = 1;
+		    cs.swbreak_feature = 1;
 		}
 	      else if (strcmp (p, "hwbreak+") == 0)
 		{
 		  /* GDB wants us to report whether a trap is caused
 		     by a hardware breakpoint.  */
 		  if (target_supports_stopped_by_hw_breakpoint ())
-		    hwbreak_feature = 1;
+		    cs.hwbreak_feature = 1;
 		}
 	      else if (strcmp (p, "fork-events+") == 0)
 		{
 		  /* GDB supports and wants fork events if possible.  */
 		  if (target_supports_fork_events ())
-		    report_fork_events = 1;
+		    cs.report_fork_events = 1;
 		}
 	      else if (strcmp (p, "vfork-events+") == 0)
 		{
 		  /* GDB supports and wants vfork events if possible.  */
 		  if (target_supports_vfork_events ())
-		    report_vfork_events = 1;
+		    cs.report_vfork_events = 1;
 		}
 	      else if (strcmp (p, "exec-events+") == 0)
 		{
 		  /* GDB supports and wants exec events if possible.  */
 		  if (target_supports_exec_events ())
-		    report_exec_events = 1;
+		    cs.report_exec_events = 1;
 		}
 	      else if (strcmp (p, "vContSupported+") == 0)
-		vCont_supported = 1;
+		cs.vCont_supported = 1;
 	      else if (strcmp (p, "QThreadEvents+") == 0)
 		;
 	      else if (strcmp (p, "no-resumed+") == 0)
@@ -2437,7 +2406,7 @@ handle_query (char *own_buf, int packet_
 	 qXfer:feature:read at all, we will never be re-queried.  */
       strcat (own_buf, ";qXfer:features:read+");
 
-      if (transport_is_reliable)
+      if (cs.transport_is_reliable)
 	strcat (own_buf, ";QStartNoAckMode+");
 
       if (the_target->qxfer_osdata != NULL)
@@ -2727,11 +2696,11 @@ visit_actioned_threads (thread_info *thr
     {
       const struct thread_resume *action = &actions[i];
 
-      if (ptid_equal (action->thread, minus_one_ptid)
-	  || ptid_equal (action->thread, thread->id)
-	  || ((ptid_get_pid (action->thread)
+      if (action->thread == minus_one_ptid
+	  || action->thread == thread->id
+	  || ((action->thread.pid ()
 	       == thread->id.pid ())
-	      && ptid_get_lwp (action->thread) == -1))
+	      && action->thread.lwp () == -1))
 	{
 	  if ((*callback) (action, thread))
 	    return true;
@@ -2748,13 +2717,14 @@ static int
 handle_pending_status (const struct thread_resume *resumption,
 		       struct thread_info *thread)
 {
+  client_state &cs = get_client_state ();
   if (thread->status_pending_p)
     {
       thread->status_pending_p = 0;
 
-      last_status = thread->last_status;
-      last_ptid = thread->id;
-      prepare_resume_reply (own_buf, last_ptid, &last_status);
+      cs.last_status = thread->last_status;
+      cs.last_ptid = thread->id;
+      prepare_resume_reply (cs.own_buf, cs.last_ptid, &cs.last_status);
       return 1;
     }
   return 0;
@@ -2874,6 +2844,7 @@ err:
 static void
 resume (struct thread_resume *actions, size_t num_actions)
 {
+  client_state &cs = get_client_state ();
   if (!non_stop)
     {
       /* Check if among the threads that GDB wants actioned, there's
@@ -2896,37 +2867,37 @@ resume (struct thread_resume *actions, s
   (*the_target->resume) (actions, num_actions);
 
   if (non_stop)
-    write_ok (own_buf);
+    write_ok (cs.own_buf);
   else
     {
-      last_ptid = mywait (minus_one_ptid, &last_status, 0, 1);
+      cs.last_ptid = mywait (minus_one_ptid, &cs.last_status, 0, 1);
 
-      if (last_status.kind == TARGET_WAITKIND_NO_RESUMED
+      if (cs.last_status.kind == TARGET_WAITKIND_NO_RESUMED
 	  && !report_no_resumed)
 	{
 	  /* The client does not support this stop reply.  At least
 	     return error.  */
-	  sprintf (own_buf, "E.No unwaited-for children left.");
+	  sprintf (cs.own_buf, "E.No unwaited-for children left.");
 	  disable_async_io ();
 	  return;
 	}
 
-      if (last_status.kind != TARGET_WAITKIND_EXITED
-          && last_status.kind != TARGET_WAITKIND_SIGNALLED
-	  && last_status.kind != TARGET_WAITKIND_NO_RESUMED)
-	current_thread->last_status = last_status;
+      if (cs.last_status.kind != TARGET_WAITKIND_EXITED
+          && cs.last_status.kind != TARGET_WAITKIND_SIGNALLED
+	  && cs.last_status.kind != TARGET_WAITKIND_NO_RESUMED)
+	current_thread->last_status = cs.last_status;
 
       /* From the client's perspective, all-stop mode always stops all
 	 threads implicitly (and the target backend has already done
 	 so by now).  Tag all threads as "want-stopped", so we don't
 	 resume them implicitly without the client telling us to.  */
       gdb_wants_all_threads_stopped ();
-      prepare_resume_reply (own_buf, last_ptid, &last_status);
+      prepare_resume_reply (cs.own_buf, cs.last_ptid, &cs.last_status);
       disable_async_io ();
 
-      if (last_status.kind == TARGET_WAITKIND_EXITED
-          || last_status.kind == TARGET_WAITKIND_SIGNALLED)
-        target_mourn_inferior (last_ptid);
+      if (cs.last_status.kind == TARGET_WAITKIND_EXITED
+          || cs.last_status.kind == TARGET_WAITKIND_SIGNALLED)
+        target_mourn_inferior (cs.last_ptid);
     }
 }
 
@@ -2934,6 +2905,7 @@ resume (struct thread_resume *actions, s
 static int
 handle_v_attach (char *own_buf)
 {
+  client_state &cs = get_client_state ();
   int pid;
 
   pid = strtol (own_buf + 8, NULL, 16);
@@ -2953,7 +2925,7 @@ handle_v_attach (char *own_buf)
 	  write_ok (own_buf);
 	}
       else
-	prepare_resume_reply (own_buf, last_ptid, &last_status);
+	prepare_resume_reply (own_buf, cs.last_ptid, &cs.last_status);
 
       return 1;
     }
@@ -2968,6 +2940,7 @@ handle_v_attach (char *own_buf)
 static int
 handle_v_run (char *own_buf)
 {
+  client_state &cs = get_client_state ();
   char *p, *next_p;
   std::vector<char *> new_argv;
   char *new_program_name = NULL;
@@ -3074,15 +3047,15 @@ handle_v_run (char *own_buf)
 
   create_inferior (program_path.get (), program_args);
 
-  if (last_status.kind == TARGET_WAITKIND_STOPPED)
+  if (cs.last_status.kind == TARGET_WAITKIND_STOPPED)
     {
-      prepare_resume_reply (own_buf, last_ptid, &last_status);
+      prepare_resume_reply (own_buf, cs.last_ptid, &cs.last_status);
 
       /* In non-stop, sending a resume reply doesn't set the general
 	 thread, but GDB assumes a vRun sets it (this is so GDB can
 	 query which is the main thread of the new inferior.  */
       if (non_stop)
-	general_thread = last_ptid;
+	cs.general_thread = cs.last_ptid;
 
       return 1;
     }
@@ -3097,18 +3070,19 @@ handle_v_run (char *own_buf)
 static int
 handle_v_kill (char *own_buf)
 {
+  client_state &cs = get_client_state ();
   int pid;
   char *p = &own_buf[6];
-  if (multi_process)
+  if (cs.multi_process)
     pid = strtol (p, NULL, 16);
   else
     pid = signal_pid;
   if (pid != 0 && kill_inferior (pid) == 0)
     {
-      last_status.kind = TARGET_WAITKIND_SIGNALLED;
-      last_status.value.sig = GDB_SIGNAL_KILL;
-      last_ptid = pid_to_ptid (pid);
-      discard_queued_stop_replies (last_ptid);
+      cs.last_status.kind = TARGET_WAITKIND_SIGNALLED;
+      cs.last_status.value.sig = GDB_SIGNAL_KILL;
+      cs.last_ptid = ptid_t (pid);
+      discard_queued_stop_replies (cs.last_ptid);
       write_ok (own_buf);
       return 1;
     }
@@ -3123,6 +3097,7 @@ handle_v_kill (char *own_buf)
 void
 handle_v_requests (char *own_buf, int packet_len, int *new_packet_len)
 {
+  client_state &cs = get_client_state ();
   if (!disable_packet_vCont)
     {
       if (strcmp (own_buf, "vCtrlC") == 0)
@@ -3144,7 +3119,7 @@ handle_v_requests (char *own_buf, int pa
 
 	  if (target_supports_hardware_single_step ()
 	      || target_supports_software_single_step ()
-	      || !vCont_supported)
+	      || !cs.vCont_supported)
 	    {
 	      /* If target supports single step either by hardware or by
 		 software, add actions s and S to the list of supported
@@ -3170,7 +3145,7 @@ handle_v_requests (char *own_buf, int pa
 
   if (startswith (own_buf, "vAttach;"))
     {
-      if ((!extended_protocol || !multi_process) && target_running ())
+      if ((!extended_protocol || !cs.multi_process) && target_running ())
 	{
 	  fprintf (stderr, "Already debugging a process\n");
 	  write_enn (own_buf);
@@ -3182,7 +3157,7 @@ handle_v_requests (char *own_buf, int pa
 
   if (startswith (own_buf, "vRun;"))
     {
-      if ((!extended_protocol || !multi_process) && target_running ())
+      if ((!extended_protocol || !cs.multi_process) && target_running ())
 	{
 	  fprintf (stderr, "Already debugging a process\n");
 	  write_enn (own_buf);
@@ -3219,12 +3194,13 @@ handle_v_requests (char *own_buf, int pa
 static void
 myresume (char *own_buf, int step, int sig)
 {
+  client_state &cs = get_client_state ();
   struct thread_resume resume_info[2];
   int n = 0;
   int valid_cont_thread;
 
-  valid_cont_thread = (!ptid_equal (cont_thread, null_ptid)
-			 && !ptid_equal (cont_thread, minus_one_ptid));
+  valid_cont_thread = (cs.cont_thread != null_ptid
+			 && cs.cont_thread != minus_one_ptid);
 
   if (step || sig || valid_cont_thread)
     {
@@ -3339,6 +3315,8 @@ set_pending_status_callback (thread_info
 static void
 handle_status (char *own_buf)
 {
+  client_state &cs = get_client_state ();
+
   /* GDB is connected, don't forward events to the target anymore.  */
   for_each_process ([] (process_info *process) {
     process->gdb_detached = 0;
@@ -3355,7 +3333,7 @@ handle_status (char *own_buf)
       /* The first is sent immediatly.  OK is sent if there is no
 	 stopped thread, which is the same handling of the vStopped
 	 packet (by design).  */
-      notif_write_event (&notif_stop, own_buf);
+      notif_write_event (&notif_stop, cs.own_buf);
     }
   else
     {
@@ -3375,10 +3353,10 @@ handle_status (char *own_buf)
 
       /* Prefer the last thread that reported an event to GDB (even if
 	 that was a GDB_SIGNAL_TRAP).  */
-      if (last_status.kind != TARGET_WAITKIND_IGNORE
-	  && last_status.kind != TARGET_WAITKIND_EXITED
-	  && last_status.kind != TARGET_WAITKIND_SIGNALLED)
-	thread = find_thread_ptid (last_ptid);
+      if (cs.last_status.kind != TARGET_WAITKIND_IGNORE
+	  && cs.last_status.kind != TARGET_WAITKIND_EXITED
+	  && cs.last_status.kind != TARGET_WAITKIND_SIGNALLED)
+	thread = find_thread_ptid (cs.last_ptid);
 
       /* If the last event thread is not found for some reason, look
 	 for some other thread that might have an event to report.  */
@@ -3403,7 +3381,7 @@ handle_status (char *own_buf)
 
 	  /* GDB assumes the current thread is the thread we're
 	     reporting the status for.  */
-	  general_thread = thread->id;
+	  cs.general_thread = thread->id;
 	  set_desired_thread ();
 
 	  gdb_assert (tp->last_status.kind != TARGET_WAITKIND_IGNORE);
@@ -3503,7 +3481,7 @@ kill_inferior_callback (process_info *pr
   int pid = process->pid;
 
   kill_inferior (pid);
-  discard_queued_stop_replies (pid_to_ptid (pid));
+  discard_queued_stop_replies (ptid_t (pid));
 }
 
 /* Call this when exiting gdbserver with possible inferiors that need
@@ -3549,7 +3527,7 @@ detach_or_kill_for_exit (void)
     else
       kill_inferior (pid);
 
-    discard_queued_stop_replies (pid_to_ptid (pid));
+    discard_queued_stop_replies (ptid_t (pid));
   });
 }
 
@@ -3596,6 +3574,8 @@ captured_main (int argc, char *argv[])
 #endif
 
   current_directory = getcwd (NULL, 0);
+  client_state &cs = get_client_state ();
+
   if (current_directory == NULL)
     {
       error (_("Could not find current working directory: %s"),
@@ -3651,13 +3631,13 @@ captured_main (int argc, char *argv[])
 	debug_threads = 1;
       else if (startswith (*next_arg, "--debug-format="))
 	{
-	  char *error_msg
+	  std::string error_msg
 	    = parse_debug_format_options ((*next_arg)
 					  + sizeof ("--debug-format=") - 1, 0);
 
-	  if (error_msg != NULL)
+	  if (!error_msg.empty ())
 	    {
-	      fprintf (stderr, "%s", error_msg);
+	      fprintf (stderr, "%s", error_msg.c_str ());
 	      exit (1);
 	    }
 	}
@@ -3710,9 +3690,9 @@ captured_main (int argc, char *argv[])
 	  break;
 	}
       else if (strcmp (*next_arg, "--disable-randomization") == 0)
-	disable_randomization = 1;
+	cs.disable_randomization = 1;
       else if (strcmp (*next_arg, "--no-disable-randomization") == 0)
-	disable_randomization = 0;
+	cs.disable_randomization = 0;
       else if (strcmp (*next_arg, "--startup-with-shell") == 0)
 	startup_with_shell = true;
       else if (strcmp (*next_arg, "--no-startup-with-shell") == 0)
@@ -3799,7 +3779,6 @@ captured_main (int argc, char *argv[])
     initialize_tracepoint ();
   initialize_notif ();
 
-  own_buf = (char *) xmalloc (PBUFSIZ + 1);
   mem_buf = (unsigned char *) xmalloc (PBUFSIZ);
 
   if (selftest)
@@ -3838,9 +3817,9 @@ captured_main (int argc, char *argv[])
     }
   else
     {
-      last_status.kind = TARGET_WAITKIND_EXITED;
-      last_status.value.integer = 0;
-      last_ptid = minus_one_ptid;
+      cs.last_status.kind = TARGET_WAITKIND_EXITED;
+      cs.last_status.value.integer = 0;
+      cs.last_ptid = minus_one_ptid;
     }
   make_cleanup (detach_or_kill_for_exit_cleanup, NULL);
 
@@ -3849,8 +3828,8 @@ captured_main (int argc, char *argv[])
      shared library event" notice on gdb side.  */
   dlls_changed = 0;
 
-  if (last_status.kind == TARGET_WAITKIND_EXITED
-      || last_status.kind == TARGET_WAITKIND_SIGNALLED)
+  if (cs.last_status.kind == TARGET_WAITKIND_EXITED
+      || cs.last_status.kind == TARGET_WAITKIND_SIGNALLED)
     was_running = 0;
   else
     was_running = 1;
@@ -3860,18 +3839,17 @@ captured_main (int argc, char *argv[])
 
   while (1)
     {
-
-      noack_mode = 0;
-      multi_process = 0;
-      report_fork_events = 0;
-      report_vfork_events = 0;
-      report_exec_events = 0;
+      cs.noack_mode = 0;
+      cs.multi_process = 0;
+      cs.report_fork_events = 0;
+      cs.report_vfork_events = 0;
+      cs.report_exec_events = 0;
       /* Be sure we're out of tfind mode.  */
-      current_traceframe = -1;
-      cont_thread = null_ptid;
-      swbreak_feature = 0;
-      hwbreak_feature = 0;
-      vCont_supported = 0;
+      cs.current_traceframe = -1;
+      cs.cont_thread = null_ptid;
+      cs.swbreak_feature = 0;
+      cs.hwbreak_feature = 0;
+      cs.vCont_supported = 0;
 
       remote_open (port);
 
@@ -3947,8 +3925,8 @@ captured_main (int argc, char *argv[])
 
 	  if (response_needed)
 	    {
-	      write_enn (own_buf);
-	      putpkt (own_buf);
+	      write_enn (cs.own_buf);
+	      putpkt (cs.own_buf);
 	    }
 
 	  if (run_once)
@@ -4043,6 +4021,7 @@ process_point_options (struct gdb_breakp
 static int
 process_serial_event (void)
 {
+  client_state &cs = get_client_state ();
   int signal;
   unsigned int len;
   int res;
@@ -4054,7 +4033,7 @@ process_serial_event (void)
   disable_async_io ();
 
   response_needed = 0;
-  packet_len = getpkt (own_buf);
+  packet_len = getpkt (cs.own_buf);
   if (packet_len <= 0)
     {
       remote_close ();
@@ -4063,31 +4042,31 @@ process_serial_event (void)
     }
   response_needed = 1;
 
-  char ch = own_buf[0];
+  char ch = cs.own_buf[0];
   switch (ch)
     {
     case 'q':
-      handle_query (own_buf, packet_len, &new_packet_len);
+      handle_query (cs.own_buf, packet_len, &new_packet_len);
       break;
     case 'Q':
-      handle_general_set (own_buf);
+      handle_general_set (cs.own_buf);
       break;
     case 'D':
-      handle_detach (own_buf);
+      handle_detach (cs.own_buf);
       break;
     case '!':
       extended_protocol = 1;
-      write_ok (own_buf);
+      write_ok (cs.own_buf);
       break;
     case '?':
-      handle_status (own_buf);
+      handle_status (cs.own_buf);
       break;
     case 'H':
-      if (own_buf[1] == 'c' || own_buf[1] == 'g' || own_buf[1] == 's')
+      if (cs.own_buf[1] == 'c' || cs.own_buf[1] == 'g' || cs.own_buf[1] == 's')
 	{
-	  require_running_or_break (own_buf);
+	  require_running_or_break (cs.own_buf);
 
-	  ptid_t thread_id = read_ptid (&own_buf[2], NULL);
+	  ptid_t thread_id = read_ptid (&cs.own_buf[2], NULL);
 
 	  if (thread_id == null_ptid || thread_id == minus_one_ptid)
 	    thread_id = null_ptid;
@@ -4098,7 +4077,7 @@ process_serial_event (void)
 
 	      if (thread == NULL)
 		{
-		  write_enn (own_buf);
+		  write_enn (cs.own_buf);
 		  break;
 		}
 
@@ -4109,52 +4088,52 @@ process_serial_event (void)
 	      /* The ptid represents a lwp/tid.  */
 	      if (find_thread_ptid (thread_id) == NULL)
 		{
-		  write_enn (own_buf);
+		  write_enn (cs.own_buf);
 		  break;
 		}
 	    }
 
-	  if (own_buf[1] == 'g')
+	  if (cs.own_buf[1] == 'g')
 	    {
-	      if (ptid_equal (thread_id, null_ptid))
+	      if (thread_id == null_ptid)
 		{
 		  /* GDB is telling us to choose any thread.  Check if
 		     the currently selected thread is still valid. If
 		     it is not, select the first available.  */
-		  thread_info *thread = find_thread_ptid (general_thread);
+		  thread_info *thread = find_thread_ptid (cs.general_thread);
 		  if (thread == NULL)
 		    thread = get_first_thread ();
 		  thread_id = thread->id;
 		}
 
-	      general_thread = thread_id;
+	      cs.general_thread = thread_id;
 	      set_desired_thread ();
 	      gdb_assert (current_thread != NULL);
 	    }
-	  else if (own_buf[1] == 'c')
-	    cont_thread = thread_id;
+	  else if (cs.own_buf[1] == 'c')
+	    cs.cont_thread = thread_id;
 
-	  write_ok (own_buf);
+	  write_ok (cs.own_buf);
 	}
       else
 	{
 	  /* Silently ignore it so that gdb can extend the protocol
 	     without compatibility headaches.  */
-	  own_buf[0] = '\0';
+	  cs.own_buf[0] = '\0';
 	}
       break;
     case 'g':
-      require_running_or_break (own_buf);
-      if (current_traceframe >= 0)
+      require_running_or_break (cs.own_buf);
+      if (cs.current_traceframe >= 0)
 	{
 	  struct regcache *regcache
 	    = new_register_cache (current_target_desc ());
 
-	  if (fetch_traceframe_registers (current_traceframe,
+	  if (fetch_traceframe_registers (cs.current_traceframe,
 					  regcache, -1) == 0)
-	    registers_to_string (regcache, own_buf);
+	    registers_to_string (regcache, cs.own_buf);
 	  else
-	    write_enn (own_buf);
+	    write_enn (cs.own_buf);
 	  free_register_cache (regcache);
 	}
       else
@@ -4162,85 +4141,85 @@ process_serial_event (void)
 	  struct regcache *regcache;
 
 	  if (!set_desired_thread ())
-	    write_enn (own_buf);
+	    write_enn (cs.own_buf);
 	  else
 	    {
 	      regcache = get_thread_regcache (current_thread, 1);
-	      registers_to_string (regcache, own_buf);
+	      registers_to_string (regcache, cs.own_buf);
 	    }
 	}
       break;
     case 'G':
-      require_running_or_break (own_buf);
-      if (current_traceframe >= 0)
-	write_enn (own_buf);
+      require_running_or_break (cs.own_buf);
+      if (cs.current_traceframe >= 0)
+	write_enn (cs.own_buf);
       else
 	{
 	  struct regcache *regcache;
 
 	  if (!set_desired_thread ())
-	    write_enn (own_buf);
+	    write_enn (cs.own_buf);
 	  else
 	    {
 	      regcache = get_thread_regcache (current_thread, 1);
-	      registers_from_string (regcache, &own_buf[1]);
-	      write_ok (own_buf);
+	      registers_from_string (regcache, &cs.own_buf[1]);
+	      write_ok (cs.own_buf);
 	    }
 	}
       break;
     case 'm':
-      require_running_or_break (own_buf);
-      decode_m_packet (&own_buf[1], &mem_addr, &len);
+      require_running_or_break (cs.own_buf);
+      decode_m_packet (&cs.own_buf[1], &mem_addr, &len);
       res = gdb_read_memory (mem_addr, mem_buf, len);
       if (res < 0)
-	write_enn (own_buf);
+	write_enn (cs.own_buf);
       else
-	bin2hex (mem_buf, own_buf, res);
+	bin2hex (mem_buf, cs.own_buf, res);
       break;
     case 'M':
-      require_running_or_break (own_buf);
-      decode_M_packet (&own_buf[1], &mem_addr, &len, &mem_buf);
+      require_running_or_break (cs.own_buf);
+      decode_M_packet (&cs.own_buf[1], &mem_addr, &len, &mem_buf);
       if (gdb_write_memory (mem_addr, mem_buf, len) == 0)
-	write_ok (own_buf);
+	write_ok (cs.own_buf);
       else
-	write_enn (own_buf);
+	write_enn (cs.own_buf);
       break;
     case 'X':
-      require_running_or_break (own_buf);
-      if (decode_X_packet (&own_buf[1], packet_len - 1,
+      require_running_or_break (cs.own_buf);
+      if (decode_X_packet (&cs.own_buf[1], packet_len - 1,
 			   &mem_addr, &len, &mem_buf) < 0
 	  || gdb_write_memory (mem_addr, mem_buf, len) != 0)
-	write_enn (own_buf);
+	write_enn (cs.own_buf);
       else
-	write_ok (own_buf);
+	write_ok (cs.own_buf);
       break;
     case 'C':
-      require_running_or_break (own_buf);
-      hex2bin (own_buf + 1, &sig, 1);
+      require_running_or_break (cs.own_buf);
+      hex2bin (cs.own_buf + 1, &sig, 1);
       if (gdb_signal_to_host_p ((enum gdb_signal) sig))
 	signal = gdb_signal_to_host ((enum gdb_signal) sig);
       else
 	signal = 0;
-      myresume (own_buf, 0, signal);
+      myresume (cs.own_buf, 0, signal);
       break;
     case 'S':
-      require_running_or_break (own_buf);
-      hex2bin (own_buf + 1, &sig, 1);
+      require_running_or_break (cs.own_buf);
+      hex2bin (cs.own_buf + 1, &sig, 1);
       if (gdb_signal_to_host_p ((enum gdb_signal) sig))
 	signal = gdb_signal_to_host ((enum gdb_signal) sig);
       else
 	signal = 0;
-      myresume (own_buf, 1, signal);
+      myresume (cs.own_buf, 1, signal);
       break;
     case 'c':
-      require_running_or_break (own_buf);
+      require_running_or_break (cs.own_buf);
       signal = 0;
-      myresume (own_buf, 0, signal);
+      myresume (cs.own_buf, 0, signal);
       break;
     case 's':
-      require_running_or_break (own_buf);
+      require_running_or_break (cs.own_buf);
       signal = 0;
-      myresume (own_buf, 1, signal);
+      myresume (cs.own_buf, 1, signal);
       break;
     case 'Z':  /* insert_ ... */
       /* Fallthrough.  */
@@ -4249,10 +4228,10 @@ process_serial_event (void)
 	char *dataptr;
 	ULONGEST addr;
 	int kind;
-	char type = own_buf[1];
+	char type = cs.own_buf[1];
 	int res;
 	const int insert = ch == 'Z';
-	const char *p = &own_buf[3];
+	const char *p = &cs.own_buf[3];
 
 	p = unpack_varlen_hex (p, &addr);
 	kind = strtol (p + 1, &dataptr, 16);
@@ -4280,12 +4259,12 @@ process_serial_event (void)
 	  res = delete_gdb_breakpoint (type, addr, kind);
 
 	if (res == 0)
-	  write_ok (own_buf);
+	  write_ok (cs.own_buf);
 	else if (res == 1)
 	  /* Unsupported.  */
-	  own_buf[0] = '\0';
+	  cs.own_buf[0] = '\0';
 	else
-	  write_enn (own_buf);
+	  write_enn (cs.own_buf);
 	break;
       }
     case 'k':
@@ -4303,8 +4282,8 @@ process_serial_event (void)
 	 running.  The traditional protocol will exit instead.  */
       if (extended_protocol)
 	{
-	  last_status.kind = TARGET_WAITKIND_EXITED;
-	  last_status.value.sig = GDB_SIGNAL_KILL;
+	  cs.last_status.kind = TARGET_WAITKIND_EXITED;
+	  cs.last_status.value.sig = GDB_SIGNAL_KILL;
 	  return 0;
 	}
       else
@@ -4312,19 +4291,19 @@ process_serial_event (void)
 
     case 'T':
       {
-	require_running_or_break (own_buf);
+	require_running_or_break (cs.own_buf);
 
-	ptid_t thread_id = read_ptid (&own_buf[1], NULL);
+	ptid_t thread_id = read_ptid (&cs.own_buf[1], NULL);
 	if (find_thread_ptid (thread_id) == NULL)
 	  {
-	    write_enn (own_buf);
+	    write_enn (cs.own_buf);
 	    break;
 	  }
 
 	if (mythread_alive (thread_id))
-	  write_ok (own_buf);
+	  write_ok (cs.own_buf);
 	else
-	  write_enn (own_buf);
+	  write_enn (cs.own_buf);
       }
       break;
     case 'R':
@@ -4344,22 +4323,22 @@ process_serial_event (void)
 	    {
 	      create_inferior (program_path.get (), program_args);
 
-	      if (last_status.kind == TARGET_WAITKIND_STOPPED)
+	      if (cs.last_status.kind == TARGET_WAITKIND_STOPPED)
 		{
 		  /* Stopped at the first instruction of the target
 		     process.  */
-		  general_thread = last_ptid;
+		  cs.general_thread = cs.last_ptid;
 		}
 	      else
 		{
 		  /* Something went wrong.  */
-		  general_thread = null_ptid;
+		  cs.general_thread = null_ptid;
 		}
 	    }
 	  else
 	    {
-	      last_status.kind = TARGET_WAITKIND_EXITED;
-	      last_status.value.sig = GDB_SIGNAL_KILL;
+	      cs.last_status.kind = TARGET_WAITKIND_EXITED;
+	      cs.last_status.value.sig = GDB_SIGNAL_KILL;
 	    }
 	  return 0;
 	}
@@ -4368,26 +4347,26 @@ process_serial_event (void)
 	  /* It is a request we don't understand.  Respond with an
 	     empty packet so that gdb knows that we don't support this
 	     request.  */
-	  own_buf[0] = '\0';
+	  cs.own_buf[0] = '\0';
 	  break;
 	}
     case 'v':
       /* Extended (long) request.  */
-      handle_v_requests (own_buf, packet_len, &new_packet_len);
+      handle_v_requests (cs.own_buf, packet_len, &new_packet_len);
       break;
 
     default:
       /* It is a request we don't understand.  Respond with an empty
 	 packet so that gdb knows that we don't support this
 	 request.  */
-      own_buf[0] = '\0';
+      cs.own_buf[0] = '\0';
       break;
     }
 
   if (new_packet_len != -1)
-    putpkt_binary (own_buf, new_packet_len);
+    putpkt_binary (cs.own_buf, new_packet_len);
   else
-    putpkt (own_buf);
+    putpkt (cs.own_buf);
 
   response_needed = 0;
 
@@ -4434,30 +4413,31 @@ push_stop_notification (ptid_t ptid, str
 int
 handle_target_event (int err, gdb_client_data client_data)
 {
+  client_state &cs = get_client_state ();
   if (debug_threads)
     debug_printf ("handling possible target event\n");
 
-  last_ptid = mywait (minus_one_ptid, &last_status,
+  cs.last_ptid = mywait (minus_one_ptid, &cs.last_status,
 		      TARGET_WNOHANG, 1);
 
-  if (last_status.kind == TARGET_WAITKIND_NO_RESUMED)
+  if (cs.last_status.kind == TARGET_WAITKIND_NO_RESUMED)
     {
       if (gdb_connected () && report_no_resumed)
-	push_stop_notification (null_ptid, &last_status);
+	push_stop_notification (null_ptid, &cs.last_status);
     }
-  else if (last_status.kind != TARGET_WAITKIND_IGNORE)
+  else if (cs.last_status.kind != TARGET_WAITKIND_IGNORE)
     {
-      int pid = ptid_get_pid (last_ptid);
+      int pid = cs.last_ptid.pid ();
       struct process_info *process = find_process_pid (pid);
       int forward_event = !gdb_connected () || process->gdb_detached;
 
-      if (last_status.kind == TARGET_WAITKIND_EXITED
-	  || last_status.kind == TARGET_WAITKIND_SIGNALLED)
+      if (cs.last_status.kind == TARGET_WAITKIND_EXITED
+	  || cs.last_status.kind == TARGET_WAITKIND_SIGNALLED)
 	{
 	  mark_breakpoints_out (process);
-	  target_mourn_inferior (last_ptid);
+	  target_mourn_inferior (cs.last_ptid);
 	}
-      else if (last_status.kind == TARGET_WAITKIND_THREAD_EXITED)
+      else if (cs.last_status.kind == TARGET_WAITKIND_THREAD_EXITED)
 	;
       else
 	{
@@ -4465,7 +4445,7 @@ handle_target_event (int err, gdb_client
 	     "want-stopped" state to what the client wants, until it
 	     gets a new resume action.  */
 	  current_thread->last_resume_kind = resume_stop;
-	  current_thread->last_status = last_status;
+	  current_thread->last_status = cs.last_status;
 	}
 
       if (forward_event)
@@ -4476,9 +4456,9 @@ handle_target_event (int err, gdb_client
 	      exit (0);
 	    }
 
-	  if (last_status.kind == TARGET_WAITKIND_EXITED
-	      || last_status.kind == TARGET_WAITKIND_SIGNALLED
-	      || last_status.kind == TARGET_WAITKIND_THREAD_EXITED)
+	  if (cs.last_status.kind == TARGET_WAITKIND_EXITED
+	      || cs.last_status.kind == TARGET_WAITKIND_SIGNALLED
+	      || cs.last_status.kind == TARGET_WAITKIND_THREAD_EXITED)
 	    ;
 	  else
 	    {
@@ -4490,18 +4470,18 @@ handle_target_event (int err, gdb_client
 	      if (debug_threads)
 		debug_printf ("GDB not connected; forwarding event %d for"
 			      " [%s]\n",
-			      (int) last_status.kind,
-			      target_pid_to_str (last_ptid));
+			      (int) cs.last_status.kind,
+			      target_pid_to_str (cs.last_ptid));
 
-	      if (last_status.kind == TARGET_WAITKIND_STOPPED)
-		signal = last_status.value.sig;
+	      if (cs.last_status.kind == TARGET_WAITKIND_STOPPED)
+		signal = cs.last_status.value.sig;
 	      else
 		signal = GDB_SIGNAL_0;
-	      target_continue (last_ptid, signal);
+	      target_continue (cs.last_ptid, signal);
 	    }
 	}
       else
-	push_stop_notification (last_ptid, &last_status);
+	push_stop_notification (cs.last_ptid, &cs.last_status);
     }
 
   /* Be sure to not change the selected thread behind GDB's back.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/server.h ./gdb/gdbserver/server.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/server.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/server.h	2018-07-10 02:06:13.000000000 +0000
@@ -60,8 +60,6 @@ int vsnprintf(char *str, size_t size, co
 #include "gdb_signals.h"
 #include "target.h"
 #include "mem-break.h"
-#include "gdbthread.h"
-#include "inferiors.h"
 #include "environ.h"
 
 /* Target-specific functions */
@@ -70,42 +68,16 @@ void initialize_low ();
 
 /* Public variables in server.c */
 
-extern ptid_t cont_thread;
-extern ptid_t general_thread;
-
 extern int server_waiting;
-extern int pass_signals[];
-extern int program_signals[];
-extern int program_signals_p;
 
 extern int disable_packet_vCont;
 extern int disable_packet_Tthread;
 extern int disable_packet_qC;
 extern int disable_packet_qfThreadInfo;
 
-extern char *own_buf;
-
 extern int run_once;
-extern int multi_process;
-extern int report_fork_events;
-extern int report_vfork_events;
-extern int report_exec_events;
-extern int report_thread_events;
 extern int non_stop;
 
-/* True if the "swbreak+" feature is active.  In that case, GDB wants
-   us to report whether a trap is explained by a software breakpoint
-   and for the server to handle PC adjustment if necessary on this
-   target.  Only enabled if the target supports it.  */
-extern int swbreak_feature;
-
-/* True if the "hwbreak+" feature is active.  In that case, GDB wants
-   us to report whether a trap is explained by a hardware breakpoint.
-   Only enabled if the target supports it.  */
-extern int hwbreak_feature;
-
-extern int disable_randomization;
-
 #if USE_WIN32API
 #include <winsock2.h>
 typedef SOCKET gdb_fildes_t;
@@ -141,7 +113,7 @@ extern int in_queued_stop_replies (ptid_
 /* Buffer sizes for transferring memory, registers, etc.   Set to a constant
    value to accomodate multiple register formats.  This value must be at least
    as large as the largest register set supported by gdbserver.  */
-#define PBUFSIZ 16384
+#define PBUFSIZ 18432
 
 /* Definition for an unknown syscall, used basically in error-cases.  */
 #define UNKNOWN_SYSCALL (-1)
@@ -158,8 +130,79 @@ extern void post_fork_inferior (int pid,
 /* Get the gdb_environ being used in the current session.  */
 extern gdb_environ *get_environ ();
 
-extern target_waitstatus last_status;
-extern ptid_t last_ptid;
 extern unsigned long signal_pid;
 
+
+/* Description of the client remote protocol state for the currently
+   connected client.  */
+
+struct client_state
+{
+  client_state ():
+    own_buf ((char *) xmalloc (PBUFSIZ + 1)) 
+  {}
+
+  /* The thread set with an `Hc' packet.  `Hc' is deprecated in favor of
+     `vCont'.  Note the multi-process extensions made `vCont' a
+     requirement, so `Hc pPID.TID' is pretty much undefined.  So
+     CONT_THREAD can be null_ptid for no `Hc' thread, minus_one_ptid for
+     resuming all threads of the process (again, `Hc' isn't used for
+     multi-process), or a specific thread ptid_t.  */
+  ptid_t cont_thread;
+
+  /* The thread set with an `Hg' packet.  */
+  ptid_t general_thread;
+
+  int multi_process = 0;
+  int report_fork_events = 0;
+  int report_vfork_events = 0;
+  int report_exec_events = 0;
+  int report_thread_events = 0;
+
+  /* True if the "swbreak+" feature is active.  In that case, GDB wants
+     us to report whether a trap is explained by a software breakpoint
+     and for the server to handle PC adjustment if necessary on this
+     target.  Only enabled if the target supports it.  */
+  int swbreak_feature = 0;
+  /* True if the "hwbreak+" feature is active.  In that case, GDB wants
+     us to report whether a trap is explained by a hardware breakpoint.
+     Only enabled if the target supports it.  */
+  int hwbreak_feature = 0;
+
+  /* True if the "vContSupported" feature is active.  In that case, GDB
+     wants us to report whether single step is supported in the reply to
+     "vCont?" packet.  */
+  int vCont_supported = 0;
+
+  /* Whether we should attempt to disable the operating system's address
+     space randomization feature before starting an inferior.  */
+  int disable_randomization = 0;
+
+  int pass_signals[GDB_SIGNAL_LAST];
+  int program_signals[GDB_SIGNAL_LAST];
+  int program_signals_p = 0;
+
+  /* Last status reported to GDB.  */
+  struct target_waitstatus last_status;
+  ptid_t last_ptid;
+
+  char *own_buf;
+
+  /* If true, then GDB has requested noack mode.  */
+  int noack_mode = 0;
+  /* If true, then we tell GDB to use noack mode by default.  */
+  int transport_is_reliable = 0;
+
+  /* The traceframe to be used as the source of data to send back to
+     GDB.  A value of -1 means to get data from the live program.  */
+
+  int current_traceframe = -1;
+
+};
+
+client_state &get_client_state ();
+
+#include "gdbthread.h"
+#include "inferiors.h"
+
 #endif /* SERVER_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/spu-low.c ./gdb/gdbserver/spu-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/spu-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/spu-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -66,7 +66,7 @@ fetch_ppc_register (int regno)
 {
   PTRACE_TYPE_RET res;
 
-  int tid = ptid_get_lwp (current_ptid);
+  int tid = current_ptid.lwp ();
 
 #ifndef __powerpc64__
   /* If running as a 32-bit process on a 64-bit system, we attempt
@@ -151,7 +151,7 @@ fetch_ppc_memory (CORE_ADDR memaddr, cha
 	       / sizeof (PTRACE_TYPE_RET));
   PTRACE_TYPE_RET *buffer;
 
-  int tid = ptid_get_lwp (current_ptid);
+  int tid = current_ptid.lwp ();
 
   buffer = XALLOCAVEC (PTRACE_TYPE_RET, count);
   for (i = 0; i < count; i++, addr += sizeof (PTRACE_TYPE_RET))
@@ -176,7 +176,7 @@ store_ppc_memory (CORE_ADDR memaddr, cha
 	       / sizeof (PTRACE_TYPE_RET));
   PTRACE_TYPE_RET *buffer;
 
-  int tid = ptid_get_lwp (current_ptid);
+  int tid = current_ptid.lwp ();
 
   buffer = XALLOCAVEC (PTRACE_TYPE_RET, count);
 
@@ -241,7 +241,7 @@ spu_proc_xfer_spu (const char *annex, un
   if (!annex)
     return 0;
 
-  sprintf (buf, "/proc/%ld/fd/%s", ptid_get_lwp (current_ptid), annex);
+  sprintf (buf, "/proc/%ld/fd/%s", current_ptid.lwp (), annex);
   fd = open (buf, writebuf? O_WRONLY : O_RDONLY);
   if (fd <= 0)
     return -1;
@@ -297,7 +297,7 @@ spu_create_inferior (const char *program
   proc = add_process (pid, 0);
   proc->tdesc = tdesc_spu;
 
-  ptid = ptid_build (pid, pid, 0);
+  ptid = ptid_t (pid, pid, 0);
   add_thread (ptid, NULL);
   return pid;
 }
@@ -319,7 +319,7 @@ spu_attach (unsigned long  pid)
 
   proc = add_process (pid, 1);
   proc->tdesc = tdesc_spu;
-  ptid = ptid_build (pid, pid, 0);
+  ptid = ptid_t (pid, pid, 0);
   add_thread (ptid, NULL);
   return 0;
 }
@@ -383,7 +383,7 @@ spu_join (int pid)
 static int
 spu_thread_alive (ptid_t ptid)
 {
-  return ptid_equal (ptid, current_ptid);
+  return ptid == current_ptid;
 }
 
 /* Resume process.  */
@@ -394,8 +394,8 @@ spu_resume (struct thread_resume *resume
   size_t i;
 
   for (i = 0; i < n; i++)
-    if (ptid_equal (resume_info[i].thread, minus_one_ptid)
-	|| ptid_equal (resume_info[i].thread, ptid_of (thr)))
+    if (resume_info[i].thread == minus_one_ptid
+	|| resume_info[i].thread == ptid_of (thr))
       break;
 
   if (i == n)
@@ -409,7 +409,7 @@ spu_resume (struct thread_resume *resume
   regcache_invalidate ();
 
   errno = 0;
-  ptrace (PTRACE_CONT, ptid_get_lwp (ptid_of (thr)), 0, resume_info[i].sig);
+  ptrace (PTRACE_CONT, ptid_of (thr).lwp (), 0, resume_info[i].sig);
   if (errno)
     perror_with_name ("ptrace");
 }
@@ -418,7 +418,7 @@ spu_resume (struct thread_resume *resume
 static ptid_t
 spu_wait (ptid_t ptid, struct target_waitstatus *ourstatus, int options)
 {
-  int pid = ptid_get_pid (ptid);
+  int pid = ptid.pid ();
   int w;
   int ret;
 
@@ -457,7 +457,7 @@ spu_wait (ptid_t ptid, struct target_wai
       ourstatus->kind =  TARGET_WAITKIND_EXITED;
       ourstatus->value.integer = WEXITSTATUS (w);
       clear_inferiors ();
-      return pid_to_ptid (ret);
+      return ptid_t (ret);
     }
   else if (!WIFSTOPPED (w))
     {
@@ -465,7 +465,7 @@ spu_wait (ptid_t ptid, struct target_wai
       ourstatus->kind = TARGET_WAITKIND_SIGNALLED;
       ourstatus->value.sig = gdb_signal_from_host (WTERMSIG (w));
       clear_inferiors ();
-      return pid_to_ptid (ret);
+      return ptid_t (ret);
     }
 
   /* After attach, we may have received a SIGSTOP.  Do not return this
@@ -474,12 +474,12 @@ spu_wait (ptid_t ptid, struct target_wai
     {
       ourstatus->kind = TARGET_WAITKIND_STOPPED;
       ourstatus->value.sig = GDB_SIGNAL_0;
-      return ptid_build (ret, ret, 0);
+      return ptid_t (ret, ret, 0);
     }
 
   ourstatus->kind = TARGET_WAITKIND_STOPPED;
   ourstatus->value.sig = gdb_signal_from_host (WSTOPSIG (w));
-  return ptid_build (ret, ret, 0);
+  return ptid_t (ret, ret, 0);
 }
 
 /* Fetch inferior registers.  */
@@ -717,7 +717,6 @@ static struct target_ops spu_target_ops 
   NULL, /* get_min_fast_tracepoint_insn_len */
   NULL, /* qxfer_libraries_svr4 */
   NULL, /* support_agent */
-  NULL, /* support_btrace */
   NULL, /* enable_btrace */
   NULL, /* disable_btrace */
   NULL, /* read_btrace */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/target.c ./gdb/gdbserver/target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/target.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/target.c	2018-07-10 02:06:13.000000000 +0000
@@ -26,7 +26,8 @@ struct target_ops *the_target;
 int
 set_desired_thread ()
 {
-  thread_info *found = find_thread_ptid (general_thread);
+  client_state &cs = get_client_state ();
+  thread_info *found = find_thread_ptid (cs.general_thread);
 
   current_thread = found;
   return (current_thread != NULL);
@@ -42,6 +43,8 @@ static ptid_t prev_general_thread;
 int
 prepare_to_access_memory (void)
 {
+  client_state &cs = get_client_state ();
+
   /* The first thread found.  */
   struct thread_info *first = NULL;
   /* The first stopped thread found.  */
@@ -51,7 +54,7 @@ prepare_to_access_memory (void)
 
   /* Save the general thread value, since prepare_to_access_memory could change
      it.  */
-  prev_general_thread = general_thread;
+  prev_general_thread = cs.general_thread;
 
   if (the_target->prepare_to_access_memory != NULL)
     {
@@ -98,7 +101,7 @@ prepare_to_access_memory (void)
     }
 
   current_thread = thread;
-  general_thread = ptid_of (thread);
+  cs.general_thread = ptid_of (thread);
 
   return 0;
 }
@@ -108,12 +111,14 @@ prepare_to_access_memory (void)
 void
 done_accessing_memory (void)
 {
+  client_state &cs = get_client_state ();
+
   if (the_target->done_accessing_memory != NULL)
     the_target->done_accessing_memory ();
 
   /* Restore the previous selected thread.  */
-  general_thread = prev_general_thread;
-  switch_to_thread (general_thread);
+  cs.general_thread = prev_general_thread;
+  switch_to_thread (cs.general_thread);
 }
 
 int
@@ -243,7 +248,7 @@ target_wait (ptid_t ptid, struct target_
 void
 target_mourn_inferior (ptid_t ptid)
 {
-  (*the_target->mourn) (find_process_pid (ptid_get_pid (ptid)));
+  (*the_target->mourn) (find_process_pid (ptid.pid ()));
 }
 
 /* See target/target.h.  */
@@ -309,19 +314,19 @@ target_pid_to_str (ptid_t ptid)
 {
   static char buf[80];
 
-  if (ptid_equal (ptid, minus_one_ptid))
+  if (ptid == minus_one_ptid)
     xsnprintf (buf, sizeof (buf), "<all threads>");
-  else if (ptid_equal (ptid, null_ptid))
+  else if (ptid == null_ptid)
     xsnprintf (buf, sizeof (buf), "<null thread>");
-  else if (ptid_get_tid (ptid) != 0)
+  else if (ptid.tid () != 0)
     xsnprintf (buf, sizeof (buf), "Thread %d.0x%lx",
-	       ptid_get_pid (ptid), ptid_get_tid (ptid));
-  else if (ptid_get_lwp (ptid) != 0)
+	       ptid.pid (), ptid.tid ());
+  else if (ptid.lwp () != 0)
     xsnprintf (buf, sizeof (buf), "LWP %d.%ld",
-	       ptid_get_pid (ptid), ptid_get_lwp (ptid));
+	       ptid.pid (), ptid.lwp ());
   else
     xsnprintf (buf, sizeof (buf), "Process %d",
-	       ptid_get_pid (ptid));
+	       ptid.pid ());
 
   return buf;
 }
@@ -360,8 +365,8 @@ default_breakpoint_kind_from_pc (CORE_AD
 
 /* Define it.  */
 
-enum target_terminal::terminal_state target_terminal::terminal_state
-  = target_terminal::terminal_is_ours;
+target_terminal_state target_terminal::m_terminal_state
+  = target_terminal_state::is_ours;
 
 /* See target/target.h.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/target.h ./gdb/gdbserver/target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/target.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/target.h	2018-07-10 02:06:13.000000000 +0000
@@ -391,9 +391,6 @@ struct target_ops
   /* Return true if target supports debugging agent.  */
   int (*supports_agent) (void);
 
-  /* Check whether the target supports branch tracing.  */
-  int (*supports_btrace) (struct target_ops *, enum btrace_format);
-
   /* Enable branch tracing for PTID based on CONF and allocate a branch trace
      target information struct for reading and for disabling branch trace.  */
   struct btrace_target_info *(*enable_btrace)
@@ -623,21 +620,44 @@ int kill_inferior (int);
   (the_target->supports_agent ? \
    (*the_target->supports_agent) () : 0)
 
-#define target_supports_btrace(format)			\
-  (the_target->supports_btrace				\
-   ? (*the_target->supports_btrace) (the_target, format) : 0)
-
-#define target_enable_btrace(ptid, conf) \
-  (*the_target->enable_btrace) (ptid, conf)
-
-#define target_disable_btrace(tinfo) \
-  (*the_target->disable_btrace) (tinfo)
-
-#define target_read_btrace(tinfo, buffer, type)	\
-  (*the_target->read_btrace) (tinfo, buffer, type)
+static inline struct btrace_target_info *
+target_enable_btrace (ptid_t ptid, const struct btrace_config *conf)
+{
+  if (the_target->enable_btrace == nullptr)
+    error (_("Target does not support branch tracing."));
+
+  return (*the_target->enable_btrace) (ptid, conf);
+}
+
+static inline int
+target_disable_btrace (struct btrace_target_info *tinfo)
+{
+  if (the_target->disable_btrace == nullptr)
+    error (_("Target does not support branch tracing."));
+
+  return (*the_target->disable_btrace) (tinfo);
+}
+
+static inline int
+target_read_btrace (struct btrace_target_info *tinfo,
+		    struct buffer *buffer,
+		    enum btrace_read_type type)
+{
+  if (the_target->read_btrace == nullptr)
+    error (_("Target does not support branch tracing."));
+
+  return (*the_target->read_btrace) (tinfo, buffer, type);
+}
+
+static inline int
+target_read_btrace_conf (struct btrace_target_info *tinfo,
+			 struct buffer *buffer)
+{
+  if (the_target->read_btrace_conf == nullptr)
+    error (_("Target does not support branch tracing."));
 
-#define target_read_btrace_conf(tinfo, buffer)	\
-  (*the_target->read_btrace_conf) (tinfo, buffer)
+  return (*the_target->read_btrace_conf) (tinfo, buffer);
+}
 
 #define target_supports_range_stepping() \
   (the_target->supports_range_stepping ? \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/tdesc.c ./gdb/gdbserver/tdesc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/tdesc.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/tdesc.c	2018-07-10 02:06:13.000000000 +0000
@@ -19,17 +19,68 @@
 #include "tdesc.h"
 #include "regdef.h"
 
+#ifndef IN_PROCESS_AGENT
+
+target_desc::~target_desc ()
+{
+  xfree ((char *) arch);
+  xfree ((char *) osabi);
+}
+
+bool target_desc::operator== (const target_desc &other) const
+{
+  if (reg_defs != other.reg_defs)
+    return false;
+
+  /* Compare expedite_regs.  */
+  int i = 0;
+  for (; expedite_regs[i] != NULL; i++)
+    {
+      if (strcmp (expedite_regs[i], other.expedite_regs[i]) != 0)
+	return false;
+    }
+  if (other.expedite_regs[i] != NULL)
+    return false;
+
+  return true;
+}
+
+#endif
+
+void target_desc::accept (tdesc_element_visitor &v) const
+{
+#ifndef IN_PROCESS_AGENT
+  v.visit_pre (this);
+
+  for (const tdesc_feature_up &feature : features)
+    feature->accept (v);
+
+  v.visit_post (this);
+#endif
+}
+
 void
 init_target_desc (struct target_desc *tdesc,
 		  const char **expedite_regs)
 {
   int offset = 0;
 
-  for (reg *reg : tdesc->reg_defs)
-    {
-      reg->offset = offset;
-      offset += reg->size;
-    }
+  /* Go through all the features and populate reg_defs.  */
+  for (const tdesc_feature_up &feature : tdesc->features)
+    for (const tdesc_reg_up &treg : feature->registers)
+      {
+	int regnum = treg->target_regnum;
+
+	/* Register number will increase (possibly with gaps) or be zero.  */
+	gdb_assert (regnum == 0 || regnum >= tdesc->reg_defs.size ());
+
+	if (regnum != 0)
+	  tdesc->reg_defs.resize (regnum, reg (offset));
+
+	tdesc->reg_defs.emplace_back (treg->name.c_str (), offset,
+				      treg->bitsize);
+	offset += treg->bitsize;
+      }
 
   tdesc->registers_size = offset / 8;
 
@@ -71,7 +122,15 @@ current_target_desc (void)
   return current_process ()->tdesc;
 }
 
-/* See arch/tdesc.h.  */
+/* See common/tdesc.h.  */
+
+const char *
+tdesc_architecture_name (const struct target_desc *target_desc)
+{
+  return target_desc->arch;
+}
+
+/* See common/tdesc.h.  */
 
 void
 set_tdesc_architecture (struct target_desc *target_desc,
@@ -80,7 +139,15 @@ set_tdesc_architecture (struct target_de
   target_desc->arch = xstrdup (name);
 }
 
-/* See arch/tdesc.h.  */
+/* See common/tdesc.h.  */
+
+const char *
+tdesc_osabi_name (const struct target_desc *target_desc)
+{
+  return target_desc->osabi;
+}
+
+/* See common/tdesc.h.  */
 
 void
 set_tdesc_osabi (struct target_desc *target_desc, const char *name)
@@ -88,45 +155,21 @@ set_tdesc_osabi (struct target_desc *tar
   target_desc->osabi = xstrdup (name);
 }
 
-/* Return a string which is of XML format, including XML target
-   description to be sent to GDB.  */
+/* See common/tdesc.h.  */
 
 const char *
-tdesc_get_features_xml (target_desc *tdesc)
+tdesc_get_features_xml (const target_desc *tdesc)
 {
   /* Either .xmltarget or .features is not NULL.  */
   gdb_assert (tdesc->xmltarget != NULL
-	      || (tdesc->features != NULL
+	      || (!tdesc->features.empty ()
 		  && tdesc->arch != NULL));
 
   if (tdesc->xmltarget == NULL)
     {
-      std::string buffer ("@<?xml version=\"1.0\"?>");
-
-      buffer += "<!DOCTYPE target SYSTEM \"gdb-target.dtd\">";
-      buffer += "<target>";
-      buffer += "<architecture>";
-      buffer += tdesc->arch;
-      buffer += "</architecture>";
-
-      if (tdesc->osabi != nullptr)
-	{
-	  buffer += "<osabi>";
-	  buffer += tdesc->osabi;
-	  buffer += "</osabi>";
-	}
-
-      char *xml;
-
-      for (int i = 0; VEC_iterate (char_ptr, tdesc->features, i, xml); i++)
-	{
-	  buffer += "<xi:include href=\"";
-	  buffer += xml;
-	  buffer += "\"/>";
-	}
-
-      buffer += "</target>";
-
+      std::string buffer ("@");
+      print_xml_feature v (&buffer);
+      tdesc->accept (v);
       tdesc->xmltarget = xstrdup (buffer.c_str ());
     }
 
@@ -134,113 +177,12 @@ tdesc_get_features_xml (target_desc *tde
 }
 #endif
 
-struct tdesc_type
-{};
-
-/* See arch/tdesc.h.  */
+/* See common/tdesc.h.  */
 
 struct tdesc_feature *
-tdesc_create_feature (struct target_desc *tdesc, const char *name,
-		      const char *xml)
-{
-#ifndef IN_PROCESS_AGENT
-  VEC_safe_push (char_ptr, tdesc->features, xstrdup (xml));
-#endif
-  return tdesc;
-}
-
-/* See arch/tdesc.h.  */
-
-tdesc_type_with_fields *
-tdesc_create_flags (struct tdesc_feature *feature, const char *name,
-		    int size)
-{
-  return NULL;
-}
-
-/* See arch/tdesc.h.  */
-
-void
-tdesc_add_flag (tdesc_type_with_fields *type, int start,
-		const char *flag_name)
-{}
-
-/* See arch/tdesc.h.  */
-
-struct tdesc_type *
-tdesc_named_type (const struct tdesc_feature *feature, const char *id)
-{
-  return NULL;
-}
-
-/* See arch/tdesc.h.  */
-
-tdesc_type_with_fields *
-tdesc_create_union (struct tdesc_feature *feature, const char *id)
-{
-  return NULL;
-}
-
-/* See arch/tdesc.h.  */
-
-tdesc_type_with_fields *
-tdesc_create_struct (struct tdesc_feature *feature, const char *id)
-{
-  return NULL;
-}
-
-/* See arch/tdesc.h.  */
-
-void
-tdesc_create_reg (struct tdesc_feature *feature, const char *name,
-		  int regnum, int save_restore, const char *group,
-		  int bitsize, const char *type)
-{
-  struct target_desc *tdesc = (struct target_desc *) feature;
-
-  while (tdesc->reg_defs.size () < regnum)
-    {
-      struct reg *reg = XCNEW (struct reg);
-
-      reg->name = "";
-      reg->size = 0;
-      tdesc->reg_defs.push_back (reg);
-    }
-
-  gdb_assert (regnum == 0
-	      || regnum == tdesc->reg_defs.size ());
-
-  struct reg *reg = XCNEW (struct reg);
-
-  reg->name = name;
-  reg->size = bitsize;
-  tdesc->reg_defs.push_back (reg);
-}
-
-/* See arch/tdesc.h.  */
-
-struct tdesc_type *
-tdesc_create_vector (struct tdesc_feature *feature, const char *name,
-		     struct tdesc_type *field_type, int count)
-{
-  return NULL;
-}
-
-void
-tdesc_add_bitfield (tdesc_type_with_fields *type, const char *field_name,
-		    int start, int end)
-{}
-
-/* See arch/tdesc.h.  */
-
-void
-tdesc_add_field (tdesc_type_with_fields *type, const char *field_name,
-		 struct tdesc_type *field_type)
-{}
-
-/* See arch/tdesc.h.  */
-
-void
-tdesc_set_struct_size (tdesc_type_with_fields *type, int size)
+tdesc_create_feature (struct target_desc *tdesc, const char *name)
 {
+  struct tdesc_feature *new_feature = new tdesc_feature (name);
+  tdesc->features.emplace_back (new_feature);
+  return new_feature;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/tdesc.h ./gdb/gdbserver/tdesc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/tdesc.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/tdesc.h	2018-07-10 02:06:13.000000000 +0000
@@ -19,26 +19,26 @@
 #ifndef TDESC_H
 #define TDESC_H
 
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 #include "regdef.h"
 #include <vector>
 
-struct tdesc_feature
-{};
-
 /* A target description.  Inherit from tdesc_feature so that target_desc
    can be used as tdesc_feature.  */
 
-struct target_desc : tdesc_feature
+struct target_desc : tdesc_element
 {
   /* A vector of elements of register definitions that
      describe the inferior's register set.  */
-  std::vector<struct reg *> reg_defs;
+  std::vector<struct reg> reg_defs;
 
   /* The register cache size, in bytes.  */
   int registers_size;
 
+  /* XML features in this target description.  */
+  std::vector<tdesc_feature_up> features;
+
 #ifndef IN_PROCESS_AGENT
   /* An array of register names.  These are the "expedite" registers:
      registers whose values are sent along with stop replies.  */
@@ -49,12 +49,9 @@ struct target_desc : tdesc_feature
      verbatim XML code (prefixed with a '@') or else the name of the
      actual XML file to be used in place of "target.xml".
 
-     It can be NULL, then, its content is got from the following three
-     fields features, arch, and osabi in tdesc_get_features_xml.  */
-  const char *xmltarget = NULL;
-
-  /* XML features in this target description.  */
-  VEC (char_ptr) *features = NULL;
+     If NULL then its content will be generated by parsing the target
+     description into xml.  */
+  mutable const char *xmltarget = NULL;
 
   /* The value of <architecture> element in the XML, replying GDB.  */
   const char *arch = NULL;
@@ -67,55 +64,17 @@ public:
     : registers_size (0)
   {}
 
-  ~target_desc ()
-  {
-    int i;
-
-    for (reg *reg : reg_defs)
-      xfree (reg);
-
-    xfree ((char *) arch);
-    xfree ((char *) osabi);
+  ~target_desc ();
 
-    char *f;
-
-    for (i = 0; VEC_iterate (char_ptr, features, i, f); i++)
-      xfree (f);
-    VEC_free (char_ptr, features);
-  }
-
-  bool operator== (const target_desc &other) const
-  {
-    if (reg_defs.size () != other.reg_defs.size ())
-      return false;
-
-    for (int i = 0; i < reg_defs.size (); ++i)
-      {
-	struct reg *reg = reg_defs[i];
-	struct reg *reg2 = other.reg_defs[i];
-
-	if (reg != reg2 && *reg != *reg2)
-	  return false;
-      }
-
-    /* Compare expedite_regs.  */
-    int i = 0;
-    for (; expedite_regs[i] != NULL; i++)
-      {
-	if (strcmp (expedite_regs[i], other.expedite_regs[i]) != 0)
-	  return false;
-      }
-    if (other.expedite_regs[i] != NULL)
-      return false;
-
-    return true;
-  }
+  bool operator== (const target_desc &other) const;
 
   bool operator!= (const target_desc &other) const
   {
     return !(*this == other);
   }
 #endif
+
+  void accept (tdesc_element_visitor &v) const override;
 };
 
 /* Copy target description SRC to DEST.  */
@@ -134,8 +93,4 @@ void init_target_desc (struct target_des
 
 const struct target_desc *current_target_desc (void);
 
-#ifndef IN_PROCESS_AGENT
-const char *tdesc_get_features_xml (struct target_desc *tdesc);
-#endif
-
 #endif /* TDESC_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/thread-db.c ./gdb/gdbserver/thread-db.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/thread-db.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/thread-db.c	2018-07-10 02:06:13.000000000 +0000
@@ -167,7 +167,7 @@ find_one_thread (ptid_t ptid)
   td_err_e err;
   struct lwp_info *lwp;
   struct thread_db *thread_db = current_process ()->priv->thread_db;
-  int lwpid = ptid_get_lwp (ptid);
+  int lwpid = ptid.lwp ();
 
   thread_info *thread = find_thread_ptid (ptid);
   lwp = get_thread_lwp (thread);
@@ -215,7 +215,7 @@ attach_thread (const td_thrhandle_t *th_
 {
   struct process_info *proc = current_process ();
   int pid = pid_of (proc);
-  ptid_t ptid = ptid_build (pid, ti_p->ti_lid, 0);
+  ptid_t ptid = ptid_t (pid, ti_p->ti_lid, 0);
   struct lwp_info *lwp;
   int err;
 
@@ -225,9 +225,11 @@ attach_thread (const td_thrhandle_t *th_
   err = linux_attach_lwp (ptid);
   if (err != 0)
     {
+      std::string reason = linux_ptrace_attach_fail_reason_string (ptid, err);
+
       warning ("Could not attach to thread %ld (LWP %d): %s\n",
-	       (unsigned long) ti_p->ti_tid, ti_p->ti_lid,
-	       linux_ptrace_attach_fail_reason_string (ptid, err));
+	       (unsigned long) ti_p->ti_tid, ti_p->ti_lid, reason.c_str ());
+
       return 0;
     }
 
@@ -250,7 +252,7 @@ maybe_attach_thread (const td_thrhandle_
 {
   struct lwp_info *lwp;
 
-  lwp = find_lwp_pid (pid_to_ptid (ti_p->ti_lid));
+  lwp = find_lwp_pid (ptid_t (ti_p->ti_lid));
   if (lwp != NULL)
     return 1;
 
@@ -681,17 +683,17 @@ try_thread_db_load_from_dir (const char 
 static int
 thread_db_load_search (void)
 {
-  VEC (char_ptr) *dir_vec;
-  char *this_dir;
-  int i, rc = 0;
+  int rc = 0;
 
   if (libthread_db_search_path == NULL)
     libthread_db_search_path = xstrdup (LIBTHREAD_DB_SEARCH_PATH);
 
-  dir_vec = dirnames_to_char_ptr_vec (libthread_db_search_path);
+  std::vector<gdb::unique_xmalloc_ptr<char>> dir_vec
+    = dirnames_to_char_ptr_vec (libthread_db_search_path);
 
-  for (i = 0; VEC_iterate (char_ptr, dir_vec, i, this_dir); ++i)
+  for (const gdb::unique_xmalloc_ptr<char> &this_dir_up : dir_vec)
     {
+      char *this_dir = this_dir_up.get ();
       const int pdir_len = sizeof ("$pdir") - 1;
       size_t this_dir_len;
 
@@ -723,7 +725,6 @@ thread_db_load_search (void)
 	}
     }
 
-  free_char_ptr_vec (dir_vec);
   if (debug_threads)
     debug_printf ("thread_db_load_search returning %d\n", rc);
   return rc;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/tracepoint.c ./gdb/gdbserver/tracepoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/tracepoint.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/tracepoint.c	2018-07-10 02:06:13.000000000 +0000
@@ -973,11 +973,6 @@ struct traceframe
    fields (and no data) marks the end of trace data.  */
 #define TRACEFRAME_EOB_MARKER_SIZE offsetof (struct traceframe, data)
 
-/* The traceframe to be used as the source of data to send back to
-   GDB.  A value of -1 means to get data from the live program.  */
-
-int current_traceframe = -1;
-
 /* This flag is true if the trace buffer is circular, meaning that
    when it fills, the oldest trace frames are discarded in order to
    make room.  */
@@ -2279,10 +2274,11 @@ static struct traceframe *
 find_next_traceframe_in_range (CORE_ADDR lo, CORE_ADDR hi, int inside_p,
 			       int *tfnump)
 {
+  client_state &cs = get_client_state ();
   struct traceframe *tframe;
   CORE_ADDR tfaddr;
 
-  *tfnump = current_traceframe + 1;
+  *tfnump = cs.current_traceframe + 1;
   tframe = find_traceframe (*tfnump);
   /* The search is not supposed to wrap around.  */
   if (!tframe)
@@ -2312,9 +2308,10 @@ find_next_traceframe_in_range (CORE_ADDR
 static struct traceframe *
 find_next_traceframe_by_tracepoint (int num, int *tfnump)
 {
+  client_state &cs = get_client_state ();
   struct traceframe *tframe;
 
-  *tfnump = current_traceframe + 1;
+  *tfnump = cs.current_traceframe + 1;
   tframe = find_traceframe (*tfnump);
   /* The search is not supposed to wrap around.  */
   if (!tframe)
@@ -2343,6 +2340,7 @@ find_next_traceframe_by_tracepoint (int 
 static void
 cmd_qtinit (char *packet)
 {
+  client_state &cs = get_client_state ();
   struct trace_state_variable *tsv, *prev, *next;
 
   /* Can't do this command without a pid attached.  */
@@ -2353,7 +2351,7 @@ cmd_qtinit (char *packet)
     }
 
   /* Make sure we don't try to read from a trace frame.  */
-  current_traceframe = -1;
+  cs.current_traceframe = -1;
 
   stop_tracing ();
 
@@ -2813,6 +2811,7 @@ cmd_qtenable_disable (char *own_buf, int
 static void
 cmd_qtv (char *own_buf)
 {
+  client_state &cs = get_client_state ();
   ULONGEST num;
   LONGEST val = 0;
   int err;
@@ -2821,7 +2820,7 @@ cmd_qtv (char *own_buf)
   packet += strlen ("qTV:");
   unpack_varlen_hex (packet, &num);
 
-  if (current_traceframe >= 0)
+  if (cs.current_traceframe >= 0)
     {
       err = traceframe_read_tsv ((int) num, &val);
       if (err)
@@ -3552,6 +3551,7 @@ cmd_qtdisconnected (char *own_buf)
 static void
 cmd_qtframe (char *own_buf)
 {
+  client_state &cs = get_client_state ();
   ULONGEST frame, pc, lo, hi, num;
   int tfnum, tpnum;
   struct traceframe *tframe;
@@ -3602,7 +3602,7 @@ cmd_qtframe (char *own_buf)
       if (tfnum == -1)
 	{
 	  trace_debug ("Want to stop looking at traceframes");
-	  current_traceframe = -1;
+	  cs.current_traceframe = -1;
 	  write_ok (own_buf);
 	  return;
 	}
@@ -3612,7 +3612,7 @@ cmd_qtframe (char *own_buf)
 
   if (tframe)
     {
-      current_traceframe = tfnum;
+      cs.current_traceframe = tfnum;
       sprintf (own_buf, "F%xT%x", tfnum, tframe->tpnum);
     }
   else
@@ -5297,6 +5297,7 @@ traceframe_read_mem (int tfnum, CORE_ADD
 static int
 traceframe_read_tsv (int tsvnum, LONGEST *val)
 {
+  client_state &cs = get_client_state ();
   int tfnum;
   struct traceframe *tframe;
   unsigned char *database, *dataptr;
@@ -5306,7 +5307,7 @@ traceframe_read_tsv (int tsvnum, LONGEST
 
   trace_debug ("traceframe_read_tsv");
 
-  tfnum = current_traceframe;
+  tfnum = cs.current_traceframe;
 
   if (tfnum < 0)
     {
@@ -6834,7 +6835,7 @@ static int
 run_inferior_command (char *cmd, int len)
 {
   int err = -1;
-  int pid = ptid_get_pid (current_ptid);
+  int pid = current_ptid.pid ();
 
   trace_debug ("run_inferior_command: running: %s", cmd);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/tracepoint.h ./gdb/gdbserver/tracepoint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/tracepoint.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/tracepoint.h	2018-07-10 02:06:13.000000000 +0000
@@ -83,8 +83,6 @@ int tracepoint_was_hit (struct thread_in
 
 void release_while_stepping_state_list (struct thread_info *tinfo);
 
-extern int current_traceframe;
-
 int in_readonly_region (CORE_ADDR addr, ULONGEST length);
 int traceframe_read_mem (int tfnum, CORE_ADDR addr,
 			 unsigned char *buf, ULONGEST length,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/win32-i386-low.c ./gdb/gdbserver/win32-i386-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/win32-i386-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/win32-i386-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -436,7 +436,7 @@ i386_arch_setup (void)
 
 #ifdef __x86_64__
   tdesc = amd64_create_target_description (X86_XSTATE_SSE_MASK, false,
-						 false);
+					   false, false);
   const char **expedite_regs = amd64_expedite_regs;
 #else
   tdesc = i386_create_target_description (X86_XSTATE_SSE_MASK, false);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/win32-low.c ./gdb/gdbserver/win32-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbserver/win32-low.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbserver/win32-low.c	2018-07-10 02:06:13.000000000 +0000
@@ -120,7 +120,7 @@ current_thread_ptid (void)
 static ptid_t
 debug_event_ptid (DEBUG_EVENT *event)
 {
-  return ptid_build (event->dwProcessId, event->dwThreadId, 0);
+  return ptid_t (event->dwProcessId, event->dwThreadId, 0);
 }
 
 /* Get the thread context of the thread associated with TH.  */
@@ -208,7 +208,7 @@ static win32_thread_info *
 child_add_thread (DWORD pid, DWORD tid, HANDLE h, void *tlb)
 {
   win32_thread_info *th;
-  ptid_t ptid = ptid_build (pid, tid, 0);
+  ptid_t ptid = ptid_t (pid, tid, 0);
 
   if ((th = thread_rec (ptid, FALSE)))
     return th;
@@ -627,6 +627,7 @@ static int
 win32_create_inferior (const char *program,
 		       const std::vector<char *> &program_args)
 {
+  client_state &cs = get_client_state ();
 #ifndef USE_WIN32API
   char real_path[PATH_MAX];
   char *orig_path, *new_path, *path_ptr;
@@ -706,7 +707,7 @@ win32_create_inferior (const char *progr
 
   /* Wait till we are at 1st instruction in program, return new pid
      (assuming success).  */
-  last_ptid = win32_wait (pid_to_ptid (current_process_id), &last_status, 0);
+  cs.last_ptid = win32_wait (ptid_t (current_process_id), &cs.last_status, 0);
 
   return current_process_id;
 }
@@ -913,7 +914,7 @@ win32_resume (struct thread_resume *resu
   /* This handles the very limited set of resume packets that GDB can
      currently produce.  */
 
-  if (n == 1 && ptid_equal (resume_info[0].thread, minus_one_ptid))
+  if (n == 1 && resume_info[0].thread == minus_one_ptid)
     tid = -1;
   else if (n > 1)
     tid = -1;
@@ -922,7 +923,7 @@ win32_resume (struct thread_resume *resu
        the Windows resume code do the right thing for thread switching.  */
     tid = current_event.dwThreadId;
 
-  if (!ptid_equal (resume_info[0].thread, minus_one_ptid))
+  if (resume_info[0].thread != minus_one_ptid)
     {
       sig = gdb_signal_from_host (resume_info[0].sig);
       step = resume_info[0].kind == resume_step;
@@ -1611,7 +1612,7 @@ win32_wait (ptid_t ptid, struct target_w
 	  OUTMSG2 (("Child exited with retcode = %x\n",
 		    ourstatus->value.integer));
 	  win32_clear_inferiors ();
-	  return pid_to_ptid (current_event.dwProcessId);
+	  return ptid_t (current_event.dwProcessId);
 	case TARGET_WAITKIND_STOPPED:
 	case TARGET_WAITKIND_LOADED:
 	  OUTMSG2 (("Child Stopped with signal = %d \n",
@@ -1849,7 +1850,6 @@ static struct target_ops win32_target_op
   NULL, /* get_min_fast_tracepoint_insn_len */
   NULL, /* qxfer_libraries_svr4 */
   NULL, /* support_agent */
-  NULL, /* support_btrace */
   NULL, /* enable_btrace */
   NULL, /* disable_btrace */
   NULL, /* read_btrace */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbthread.h ./gdb/gdbthread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbthread.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbthread.h	2018-07-10 02:06:13.000000000 +0000
@@ -168,17 +168,22 @@ struct thread_suspend_state
 
   /* Record the pc of the thread the last time it stopped.  (This is
      not the current thread's PC as that may have changed since the
-     last stop, e.g., "return" command, or "p $pc = 0xf000").  This is
-     used in coordination with stop_reason and waitstatus_pending_p:
-     if the thread's PC is changed since it last stopped, a pending
-     breakpoint waitstatus is discarded.  */
+     last stop, e.g., "return" command, or "p $pc = 0xf000").
+
+     - If the thread's PC has not changed since the thread last
+       stopped, then proceed skips a breakpoint at the current PC,
+       otherwise we let the thread run into the breakpoint.
+
+     - If the thread has an unprocessed event pending, as indicated by
+       waitstatus_pending_p, this is used in coordination with
+       stop_reason: if the thread's PC has changed since the thread
+       last stopped, a pending breakpoint waitstatus is discarded.
+
+     - If the thread is running, this is set to -1, to avoid leaving
+       it with a stale value, to make it easier to catch bugs.  */
   CORE_ADDR stop_pc;
 };
 
-typedef struct value *value_ptr;
-DEF_VEC_P (value_ptr);
-typedef VEC (value_ptr) value_vec;
-
 /* Base class for target-specific thread data.  */
 struct private_thread_info
 {
@@ -212,9 +217,12 @@ public:
   {
     /* If this is the current thread, or there's code out there that
        relies on it existing (refcount > 0) we can't delete yet.  */
-    return (refcount () == 0 && !ptid_equal (ptid, inferior_ptid));
+    return (refcount () == 0 && ptid != inferior_ptid);
   }
 
+  /* Mark this thread as running and notify observers.  */
+  void set_running (bool running);
+
   struct thread_info *next = NULL;
   ptid_t ptid;			/* "Actual process id";
 				    In fact, this may be overloaded with 
@@ -358,11 +366,11 @@ public:
 
   /* Flag which indicates that the stack temporaries should be stored while
      evaluating expressions.  */
-  int stack_temporaries_enabled = 0;
+  bool stack_temporaries_enabled = false;
 
   /* Values that are stored as temporaries on stack while evaluating
      expressions.  */
-  value_vec *stack_temporaries = NULL;
+  std::vector<struct value *> stack_temporaries;
 
   /* Step-over chain.  A thread is in the step-over queue if these are
      non-NULL.  If only a single thread is in the chain, then these
@@ -371,6 +379,11 @@ public:
   struct thread_info *step_over_next = NULL;
 };
 
+/* A gdb::ref_ptr pointer to a thread_info.  */
+
+using thread_info_ref
+  = gdb::ref_ptr<struct thread_info, refcounted_object_ref_policy>;
+
 /* Create an empty thread list, or empty the existing one.  */
 extern void init_thread_list (void);
 
@@ -389,12 +402,12 @@ extern struct thread_info *add_thread_wi
 						 struct private_thread_info *);
 
 /* Delete an existing thread list entry.  */
-extern void delete_thread (ptid_t);
+extern void delete_thread (struct thread_info *thread);
 
 /* Delete an existing thread list entry, and be quiet about it.  Used
    after the process this thread having belonged to having already
    exited, for example.  */
-extern void delete_thread_silent (ptid_t);
+extern void delete_thread_silent (struct thread_info *thread);
 
 /* Delete a step_resume_breakpoint from the thread database.  */
 extern void delete_step_resume_breakpoint (struct thread_info *);
@@ -415,16 +428,6 @@ extern int thread_has_single_step_breakp
 						   const address_space *aspace,
 						   CORE_ADDR addr);
 
-/* Translate the global integer thread id (GDB's homegrown id, not the
-   system's) into a "pid" (which may be overloaded with extra thread
-   information).  */
-extern ptid_t global_thread_id_to_ptid (int num);
-
-/* Translate a 'pid' (which may be overloaded with extra thread
-   information) into the global integer thread id (GDB's homegrown id,
-   not the system's).  */
-extern int ptid_to_global_thread_id (ptid_t ptid);
-
 /* Returns whether to show inferior-qualified thread IDs, or plain
    thread numbers.  Inferior-qualified IDs are shown whenever we have
    multiple inferiors, or the only inferior left has number > 1.  */
@@ -436,8 +439,7 @@ extern int show_inferior_qualified_tids 
    circular static buffer, NUMCELLS deep.  */
 const char *print_thread_id (struct thread_info *thr);
 
-/* Boolean test for an already-known pid (which may be overloaded with
-   extra thread information).  */
+/* Boolean test for an already-known ptid.  */
 extern int in_thread_list (ptid_t ptid);
 
 /* Boolean test for an already-known global thread id (GDB's homegrown
@@ -454,17 +456,16 @@ struct thread_info *find_thread_global_i
 struct thread_info *find_thread_by_handle (struct value *thread_handle,
 					   struct inferior *inf);
 
-/* Finds the first thread of the inferior given by PID.  If PID is -1,
-   returns the first thread in the list.  */
-struct thread_info *first_thread_of_process (int pid);
-
-/* Returns any thread of process PID, giving preference to the current
-   thread.  */
-extern struct thread_info *any_thread_of_process (int pid);
+/* Finds the first thread of the specified inferior.  */
+extern struct thread_info *first_thread_of_inferior (inferior *inf);
+
+/* Returns any thread of inferior INF, giving preference to the
+   current thread.  */
+extern struct thread_info *any_thread_of_inferior (inferior *inf);
 
-/* Returns any non-exited thread of process PID, giving preference to
+/* Returns any non-exited thread of inferior INF, giving preference to
    the current thread, and to not executing threads.  */
-extern struct thread_info *any_live_thread_of_process (int pid);
+extern struct thread_info *any_live_thread_of_inferior (inferior *inf);
 
 /* Change the ptid of thread OLD_PTID to NEW_PTID.  */
 void thread_change_ptid (ptid_t old_ptid, ptid_t new_ptid);
@@ -500,8 +501,13 @@ extern struct thread_info *iterate_over_
 
 extern int thread_count (void);
 
-/* Switch from one thread to another.  Does not read registers and
-   sets STOP_PC to -1.  */
+/* Switch context to thread THR.  Also sets the STOP_PC global.  */
+extern void switch_to_thread (struct thread_info *thr);
+
+/* Switch context to no thread selected.  */
+extern void switch_to_no_thread ();
+
+/* Switch from one thread to another.  Does not read registers.  */
 extern void switch_to_thread_no_regs (struct thread_info *thread);
 
 /* Marks or clears thread(s) PTID as resumed.  If PTID is
@@ -553,9 +559,6 @@ extern int is_stopped (ptid_t ptid);
    thread_info.  */
 extern void set_executing (ptid_t ptid, int executing);
 
-/* Reports if thread PTID is executing.  */
-extern int is_executing (ptid_t ptid);
-
 /* True if any (known or unknown) thread is or may be executing.  */
 extern int threads_are_executing (void);
 
@@ -571,10 +574,33 @@ extern int threads_are_executing (void);
    Notifications are only emitted if the thread state did change.  */
 extern void finish_thread_state (ptid_t ptid);
 
-/* Same as FINISH_THREAD_STATE, but with an interface suitable to be
-   registered as a cleanup.  PTID_P points to the ptid_t that is
-   passed to FINISH_THREAD_STATE.  */
-extern void finish_thread_state_cleanup (void *ptid_p);
+/* Calls finish_thread_state on scope exit, unless release() is called
+   to disengage.  */
+class scoped_finish_thread_state
+{
+public:
+  explicit scoped_finish_thread_state (ptid_t ptid)
+    : m_ptid (ptid)
+  {}
+
+  ~scoped_finish_thread_state ()
+  {
+    if (!m_released)
+      finish_thread_state (m_ptid);
+  }
+
+  /* Disengage.  */
+  void release ()
+  {
+    m_released = true;
+  }
+
+  DISABLE_COPY_AND_ASSIGN (scoped_finish_thread_state);
+
+private:
+  bool m_released = false;
+  ptid_t m_ptid;
+};
 
 /* Commands with a prefix of `thread'.  */
 extern struct cmd_list_element *thread_cmd_list;
@@ -634,15 +660,48 @@ extern void delete_exited_threads (void)
 
 int pc_in_thread_step_range (CORE_ADDR pc, struct thread_info *thread);
 
-extern struct cleanup *enable_thread_stack_temporaries (ptid_t ptid);
+/* Enable storing stack temporaries for thread THR and disable and
+   clear the stack temporaries on destruction.  Holds a strong
+   reference to THR.  */
+
+class enable_thread_stack_temporaries
+{
+public:
+
+  explicit enable_thread_stack_temporaries (struct thread_info *thr)
+    : m_thr (thr)
+  {
+    gdb_assert (m_thr != NULL);
+
+    m_thr->incref ();
+
+    m_thr->stack_temporaries_enabled = true;
+    m_thr->stack_temporaries.clear ();
+  }
+
+  ~enable_thread_stack_temporaries ()
+  {
+    m_thr->stack_temporaries_enabled = false;
+    m_thr->stack_temporaries.clear ();
+
+    m_thr->decref ();
+  }
+
+  DISABLE_COPY_AND_ASSIGN (enable_thread_stack_temporaries);
+
+private:
+
+  struct thread_info *m_thr;
+};
 
-extern int thread_stack_temporaries_enabled_p (ptid_t ptid);
+extern bool thread_stack_temporaries_enabled_p (struct thread_info *tp);
 
-extern void push_thread_stack_temporary (ptid_t ptid, struct value *v);
+extern void push_thread_stack_temporary (struct thread_info *tp, struct value *v);
 
-extern struct value *get_last_thread_stack_temporary (ptid_t);
+extern value *get_last_thread_stack_temporary (struct thread_info *tp);
 
-extern int value_in_thread_stack_temporaries (struct value *, ptid_t);
+extern bool value_in_thread_stack_temporaries (struct value *,
+					       struct thread_info *thr);
 
 /* Add TP to the end of its inferior's pending step-over chain.  */
 
@@ -670,9 +729,9 @@ extern void thread_cancel_execution_comm
    executing).  */
 extern void validate_registers_access (void);
 
-/* Check whether it makes sense to access a register of PTID at this point.
+/* Check whether it makes sense to access a register of THREAD at this point.
    Returns true if registers may be accessed; false otherwise.  */
-extern bool can_access_registers_ptid (ptid_t ptid);
+extern bool can_access_registers_thread (struct thread_info *thread);
 
 /* Returns whether to show which thread hit the breakpoint, received a
    signal, etc. and ended up causing a user-visible stop.  This is
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbtypes.c ./gdb/gdbtypes.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbtypes.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbtypes.c	2018-07-10 02:06:13.000000000 +0000
@@ -1024,7 +1024,7 @@ get_discrete_bounds (struct type *type, 
 	  *highp = -*lowp - 1;
 	  return 0;
 	}
-      /* ... fall through for unsigned ints ...  */
+      /* fall through */
     case TYPE_CODE_CHAR:
       *lowp = 0;
       /* This round-about calculation is to avoid shifting by
@@ -1204,8 +1204,7 @@ create_array_type_with_stride (struct ty
     (struct field *) TYPE_ZALLOC (result_type, sizeof (struct field));
   TYPE_INDEX_TYPE (result_type) = range_type;
   if (byte_stride_prop != NULL)
-    add_dyn_prop (DYN_PROP_BYTE_STRIDE, *byte_stride_prop, result_type,
-		  TYPE_OBJFILE (result_type));
+    add_dyn_prop (DYN_PROP_BYTE_STRIDE, *byte_stride_prop, result_type);
   else if (bit_stride > 0)
     TYPE_FIELD_BITSIZE (result_type, 0) = bit_stride;
 
@@ -1232,10 +1231,15 @@ struct type *
 lookup_array_range_type (struct type *element_type,
 			 LONGEST low_bound, LONGEST high_bound)
 {
-  struct gdbarch *gdbarch = get_type_arch (element_type);
-  struct type *index_type = builtin_type (gdbarch)->builtin_int;
-  struct type *range_type
-    = create_static_range_type (NULL, index_type, low_bound, high_bound);
+  struct type *index_type;
+  struct type *range_type;
+
+  if (TYPE_OBJFILE_OWNED (element_type))
+    index_type = objfile_type (TYPE_OWNER (element_type).objfile)->builtin_int;
+  else
+    index_type = builtin_type (get_type_arch (element_type))->builtin_int;
+  range_type = create_static_range_type (NULL, index_type,
+					 low_bound, high_bound);
 
   return create_array_type (NULL, element_type, range_type);
 }
@@ -1459,22 +1463,7 @@ smash_to_method_type (struct type *type,
   TYPE_LENGTH (type) = 1;	/* In practice, this is never needed.  */
 }
 
-/* Return a typename for a struct/union/enum type without "struct ",
-   "union ", or "enum ".  If the type has a NULL name, return NULL.  */
-
-const char *
-type_name_no_tag (const struct type *type)
-{
-  if (TYPE_TAG_NAME (type) != NULL)
-    return TYPE_TAG_NAME (type);
-
-  /* Is there code which expects this to return the name if there is
-     no tag name?  My guess is that this is mainly used for C++ in
-     cases where the two will always be the same.  */
-  return TYPE_NAME (type);
-}
-
-/* A wrapper of type_name_no_tag which calls error if the type is anonymous.
+/* A wrapper of TYPE_NAME which calls error if the type is anonymous.
    Since GCC PR debug/47510 DWARF provides associated information to detect the
    anonymous class linkage name from its typedef.
 
@@ -1482,7 +1471,7 @@ type_name_no_tag (const struct type *typ
    apply it itself.  */
 
 const char *
-type_name_no_tag_or_error (struct type *type)
+type_name_or_error (struct type *type)
 {
   struct type *saved_type = type;
   const char *name;
@@ -1490,11 +1479,11 @@ type_name_no_tag_or_error (struct type *
 
   type = check_typedef (type);
 
-  name = type_name_no_tag (type);
+  name = TYPE_NAME (type);
   if (name != NULL)
     return name;
 
-  name = type_name_no_tag (saved_type);
+  name = TYPE_NAME (saved_type);
   objfile = TYPE_OBJFILE (saved_type);
   error (_("Invalid anonymous type %s [in module %s], GCC PR debug/47510 bug?"),
 	 name ? name : "<anonymous>",
@@ -1688,7 +1677,7 @@ lookup_struct_elt_type (struct type *typ
   {
     char *type_name;
 
-    type_name = type_name_no_tag (type);
+    type_name = TYPE_NAME (type);
     if (type_name != NULL && strcmp (type_name, name) == 0)
       return type;
   }
@@ -1883,7 +1872,7 @@ get_vptr_fieldno (struct type *type, str
 static void
 stub_noname_complaint (void)
 {
-  complaint (&symfile_complaints, _("stub type has NULL name"));
+  complaint (_("stub type has NULL name"));
 }
 
 /* Return nonzero if TYPE has a DYN_PROP_BYTE_STRIDE dynamic property
@@ -2343,13 +2332,14 @@ get_dyn_prop (enum dynamic_prop_node_kin
 
 void
 add_dyn_prop (enum dynamic_prop_node_kind prop_kind, struct dynamic_prop prop,
-              struct type *type, struct objfile *objfile)
+              struct type *type)
 {
   struct dynamic_prop_list *temp;
 
   gdb_assert (TYPE_OBJFILE_OWNED (type));
 
-  temp = XOBNEW (&objfile->objfile_obstack, struct dynamic_prop_list);
+  temp = XOBNEW (&TYPE_OBJFILE (type)->objfile_obstack,
+		 struct dynamic_prop_list);
   temp->prop_kind = prop_kind;
   temp->prop = prop;
   temp->next = TYPE_DYN_PROP_LIST (type);
@@ -2439,11 +2429,9 @@ check_typedef (struct type *type)
 	  if (currently_reading_symtab)
 	    return make_qualified_type (type, instance_flags, NULL);
 
-	  name = type_name_no_tag (type);
-	  /* FIXME: shouldn't we separately check the TYPE_NAME and
-	     the TYPE_TAG_NAME, and look in STRUCT_DOMAIN and/or
-	     VAR_DOMAIN as appropriate?  (this code was written before
-	     TYPE_NAME and TYPE_TAG_NAME were separate).  */
+	  name = TYPE_NAME (type);
+	  /* FIXME: shouldn't we look in STRUCT_DOMAIN and/or
+	     VAR_DOMAIN as appropriate?  */
 	  if (name == NULL)
 	    {
 	      stub_noname_complaint ();
@@ -2494,7 +2482,7 @@ check_typedef (struct type *type)
       && opaque_type_resolution 
       && !currently_reading_symtab)
     {
-      const char *name = type_name_no_tag (type);
+      const char *name = TYPE_NAME (type);
       struct type *newtype;
 
       if (name == NULL)
@@ -2528,11 +2516,9 @@ check_typedef (struct type *type)
      types.  */
   else if (TYPE_STUB (type) && !currently_reading_symtab)
     {
-      const char *name = type_name_no_tag (type);
-      /* FIXME: shouldn't we separately check the TYPE_NAME and the
-         TYPE_TAG_NAME, and look in STRUCT_DOMAIN and/or VAR_DOMAIN
-         as appropriate?  (this code was written before TYPE_NAME and
-         TYPE_TAG_NAME were separate).  */
+      const char *name = TYPE_NAME (type);
+      /* FIXME: shouldn't we look in STRUCT_DOMAIN and/or VAR_DOMAIN
+         as appropriate?  */
       struct symbol *sym;
 
       if (name == NULL)
@@ -3008,6 +2994,128 @@ init_pointer_type (struct objfile *objfi
   return t;
 }
 
+/* See gdbtypes.h.  */
+
+unsigned
+type_raw_align (struct type *type)
+{
+  if (type->align_log2 != 0)
+    return 1 << (type->align_log2 - 1);
+  return 0;
+}
+
+/* See gdbtypes.h.  */
+
+unsigned
+type_align (struct type *type)
+{
+  unsigned raw_align = type_raw_align (type);
+  if (raw_align != 0)
+    return raw_align;
+
+  ULONGEST align = 0;
+  switch (TYPE_CODE (type))
+    {
+    case TYPE_CODE_PTR:
+    case TYPE_CODE_FUNC:
+    case TYPE_CODE_FLAGS:
+    case TYPE_CODE_INT:
+    case TYPE_CODE_FLT:
+    case TYPE_CODE_ENUM:
+    case TYPE_CODE_REF:
+    case TYPE_CODE_RVALUE_REF:
+    case TYPE_CODE_CHAR:
+    case TYPE_CODE_BOOL:
+    case TYPE_CODE_DECFLOAT:
+      {
+	struct gdbarch *arch = get_type_arch (type);
+	align = gdbarch_type_align (arch, type);
+      }
+      break;
+
+    case TYPE_CODE_ARRAY:
+    case TYPE_CODE_COMPLEX:
+    case TYPE_CODE_TYPEDEF:
+      align = type_align (TYPE_TARGET_TYPE (type));
+      break;
+
+    case TYPE_CODE_STRUCT:
+    case TYPE_CODE_UNION:
+      {
+	if (TYPE_NFIELDS (type) == 0)
+	  {
+	    /* An empty struct has alignment 1.  */
+	    align = 1;
+	    break;
+	  }
+	for (unsigned i = 0; i < TYPE_NFIELDS (type); ++i)
+	  {
+	    ULONGEST f_align = type_align (TYPE_FIELD_TYPE (type, i));
+	    if (f_align == 0)
+	      {
+		/* Don't pretend we know something we don't.  */
+		align = 0;
+		break;
+	      }
+	    if (f_align > align)
+	      align = f_align;
+	  }
+      }
+      break;
+
+    case TYPE_CODE_SET:
+    case TYPE_CODE_RANGE:
+    case TYPE_CODE_STRING:
+      /* Not sure what to do here, and these can't appear in C or C++
+	 anyway.  */
+      break;
+
+    case TYPE_CODE_METHODPTR:
+    case TYPE_CODE_MEMBERPTR:
+      align = type_length_units (type);
+      break;
+
+    case TYPE_CODE_VOID:
+      align = 1;
+      break;
+
+    case TYPE_CODE_ERROR:
+    case TYPE_CODE_METHOD:
+    default:
+      break;
+    }
+
+  if ((align & (align - 1)) != 0)
+    {
+      /* Not a power of 2, so pass.  */
+      align = 0;
+    }
+
+  return align;
+}
+
+/* See gdbtypes.h.  */
+
+bool
+set_type_align (struct type *type, ULONGEST align)
+{
+  /* Must be a power of 2.  Zero is ok.  */
+  gdb_assert ((align & (align - 1)) == 0);
+
+  unsigned result = 0;
+  while (align != 0)
+    {
+      ++result;
+      align >>= 1;
+    }
+
+  if (result >= (1 << TYPE_ALIGN_BITS))
+    return false;
+
+  type->align_log2 = result;
+  return true;
+}
+
 
 /* Queries on types.  */
 
@@ -3424,10 +3532,10 @@ integer_types_same_name_p (const char *f
   return 1;
 }
 
-/* Compares type A to type B returns 1 if the represent the same type
-   0 otherwise.  */
+/* Compares type A to type B.  Returns true if they represent the same
+   type, false otherwise.  */
 
-int
+bool
 types_equal (struct type *a, struct type *b)
 {
   /* Identical type pointers.  */
@@ -3435,7 +3543,7 @@ types_equal (struct type *a, struct type
      and a.  The reason is that builtin types are different from
      the same ones constructed from the object.  */
   if (a == b)
-    return 1;
+    return true;
 
   /* Resolve typedefs */
   if (TYPE_CODE (a) == TYPE_CODE_TYPEDEF)
@@ -3446,7 +3554,7 @@ types_equal (struct type *a, struct type
   /* If after resolving typedefs a and b are not of the same type
      code then they are not equal.  */
   if (TYPE_CODE (a) != TYPE_CODE (b))
-    return 0;
+    return false;
 
   /* If a and b are both pointers types or both reference types then
      they are equal of the same type iff the objects they refer to are
@@ -3463,11 +3571,11 @@ types_equal (struct type *a, struct type
 
   if (TYPE_NAME (a) && TYPE_NAME (b)
       && strcmp (TYPE_NAME (a), TYPE_NAME (b)) == 0)
-    return 1;
+    return true;
 
   /* Check if identical after resolving typedefs.  */
   if (a == b)
-    return 1;
+    return true;
 
   /* Two function types are equal if their argument and return types
      are equal.  */
@@ -3476,60 +3584,60 @@ types_equal (struct type *a, struct type
       int i;
 
       if (TYPE_NFIELDS (a) != TYPE_NFIELDS (b))
-	return 0;
+	return false;
       
       if (!types_equal (TYPE_TARGET_TYPE (a), TYPE_TARGET_TYPE (b)))
-	return 0;
+	return false;
 
       for (i = 0; i < TYPE_NFIELDS (a); ++i)
 	if (!types_equal (TYPE_FIELD_TYPE (a, i), TYPE_FIELD_TYPE (b, i)))
-	  return 0;
+	  return false;
 
-      return 1;
+      return true;
     }
 
-  return 0;
+  return false;
 }
 
 /* Deep comparison of types.  */
 
 /* An entry in the type-equality bcache.  */
 
-typedef struct type_equality_entry
+struct type_equality_entry
 {
-  struct type *type1, *type2;
-} type_equality_entry_d;
+  type_equality_entry (struct type *t1, struct type *t2)
+    : type1 (t1),
+      type2 (t2)
+  {
+  }
 
-DEF_VEC_O (type_equality_entry_d);
+  struct type *type1, *type2;
+};
 
-/* A helper function to compare two strings.  Returns 1 if they are
-   the same, 0 otherwise.  Handles NULLs properly.  */
+/* A helper function to compare two strings.  Returns true if they are
+   the same, false otherwise.  Handles NULLs properly.  */
 
-static int
+static bool
 compare_maybe_null_strings (const char *s, const char *t)
 {
-  if (s == NULL && t != NULL)
-    return 0;
-  else if (s != NULL && t == NULL)
-    return 0;
-  else if (s == NULL && t== NULL)
-    return 1;
+  if (s == NULL || t == NULL)
+    return s == t;
   return strcmp (s, t) == 0;
 }
 
 /* A helper function for check_types_worklist that checks two types for
-   "deep" equality.  Returns non-zero if the types are considered the
-   same, zero otherwise.  */
+   "deep" equality.  Returns true if the types are considered the
+   same, false otherwise.  */
 
-static int
+static bool
 check_types_equal (struct type *type1, struct type *type2,
-		   VEC (type_equality_entry_d) **worklist)
+		   std::vector<type_equality_entry> *worklist)
 {
   type1 = check_typedef (type1);
   type2 = check_typedef (type2);
 
   if (type1 == type2)
-    return 1;
+    return true;
 
   if (TYPE_CODE (type1) != TYPE_CODE (type2)
       || TYPE_LENGTH (type1) != TYPE_LENGTH (type2)
@@ -3540,18 +3648,17 @@ check_types_equal (struct type *type1, s
       || TYPE_NOTTEXT (type1) != TYPE_NOTTEXT (type2)
       || TYPE_INSTANCE_FLAGS (type1) != TYPE_INSTANCE_FLAGS (type2)
       || TYPE_NFIELDS (type1) != TYPE_NFIELDS (type2))
-    return 0;
+    return false;
 
-  if (!compare_maybe_null_strings (TYPE_TAG_NAME (type1),
-				   TYPE_TAG_NAME (type2)))
-    return 0;
   if (!compare_maybe_null_strings (TYPE_NAME (type1), TYPE_NAME (type2)))
-    return 0;
+    return false;
+  if (!compare_maybe_null_strings (TYPE_NAME (type1), TYPE_NAME (type2)))
+    return false;
 
   if (TYPE_CODE (type1) == TYPE_CODE_RANGE)
     {
       if (*TYPE_RANGE_DATA (type1) != *TYPE_RANGE_DATA (type2))
-	return 0;
+	return false;
     }
   else
     {
@@ -3561,34 +3668,33 @@ check_types_equal (struct type *type1, s
 	{
 	  const struct field *field1 = &TYPE_FIELD (type1, i);
 	  const struct field *field2 = &TYPE_FIELD (type2, i);
-	  struct type_equality_entry entry;
 
 	  if (FIELD_ARTIFICIAL (*field1) != FIELD_ARTIFICIAL (*field2)
 	      || FIELD_BITSIZE (*field1) != FIELD_BITSIZE (*field2)
 	      || FIELD_LOC_KIND (*field1) != FIELD_LOC_KIND (*field2))
-	    return 0;
+	    return false;
 	  if (!compare_maybe_null_strings (FIELD_NAME (*field1),
 					   FIELD_NAME (*field2)))
-	    return 0;
+	    return false;
 	  switch (FIELD_LOC_KIND (*field1))
 	    {
 	    case FIELD_LOC_KIND_BITPOS:
 	      if (FIELD_BITPOS (*field1) != FIELD_BITPOS (*field2))
-		return 0;
+		return false;
 	      break;
 	    case FIELD_LOC_KIND_ENUMVAL:
 	      if (FIELD_ENUMVAL (*field1) != FIELD_ENUMVAL (*field2))
-		return 0;
+		return false;
 	      break;
 	    case FIELD_LOC_KIND_PHYSADDR:
 	      if (FIELD_STATIC_PHYSADDR (*field1)
 		  != FIELD_STATIC_PHYSADDR (*field2))
-		return 0;
+		return false;
 	      break;
 	    case FIELD_LOC_KIND_PHYSNAME:
 	      if (!compare_maybe_null_strings (FIELD_STATIC_PHYSNAME (*field1),
 					       FIELD_STATIC_PHYSNAME (*field2)))
-		return 0;
+		return false;
 	      break;
 	    case FIELD_LOC_KIND_DWARF_BLOCK:
 	      {
@@ -3599,7 +3705,7 @@ check_types_equal (struct type *type1, s
 		if (block1->per_cu != block2->per_cu
 		    || block1->size != block2->size
 		    || memcmp (block1->data, block2->data, block1->size) != 0)
-		  return 0;
+		  return false;
 	      }
 	      break;
 	    default:
@@ -3608,43 +3714,37 @@ check_types_equal (struct type *type1, s
 			      FIELD_LOC_KIND (*field1));
 	    }
 
-	  entry.type1 = FIELD_TYPE (*field1);
-	  entry.type2 = FIELD_TYPE (*field2);
-	  VEC_safe_push (type_equality_entry_d, *worklist, &entry);
+	  worklist->emplace_back (FIELD_TYPE (*field1), FIELD_TYPE (*field2));
 	}
     }
 
   if (TYPE_TARGET_TYPE (type1) != NULL)
     {
-      struct type_equality_entry entry;
-
       if (TYPE_TARGET_TYPE (type2) == NULL)
-	return 0;
+	return false;
 
-      entry.type1 = TYPE_TARGET_TYPE (type1);
-      entry.type2 = TYPE_TARGET_TYPE (type2);
-      VEC_safe_push (type_equality_entry_d, *worklist, &entry);
+      worklist->emplace_back (TYPE_TARGET_TYPE (type1),
+			      TYPE_TARGET_TYPE (type2));
     }
   else if (TYPE_TARGET_TYPE (type2) != NULL)
-    return 0;
+    return false;
 
-  return 1;
+  return true;
 }
 
-/* Check types on a worklist for equality.  Returns zero if any pair
-   is not equal, non-zero if they are all considered equal.  */
+/* Check types on a worklist for equality.  Returns false if any pair
+   is not equal, true if they are all considered equal.  */
 
-static int
-check_types_worklist (VEC (type_equality_entry_d) **worklist,
+static bool
+check_types_worklist (std::vector<type_equality_entry> *worklist,
 		      struct bcache *cache)
 {
-  while (!VEC_empty (type_equality_entry_d, *worklist))
+  while (!worklist->empty ())
     {
-      struct type_equality_entry entry;
       int added;
 
-      entry = *VEC_last (type_equality_entry_d, *worklist);
-      VEC_pop (type_equality_entry_d, *worklist);
+      struct type_equality_entry entry = std::move (worklist->back ());
+      worklist->pop_back ();
 
       /* If the type pair has already been visited, we know it is
 	 ok.  */
@@ -3652,36 +3752,33 @@ check_types_worklist (VEC (type_equality
       if (!added)
 	continue;
 
-      if (check_types_equal (entry.type1, entry.type2, worklist) == 0)
-	return 0;
+      if (!check_types_equal (entry.type1, entry.type2, worklist))
+	return false;
     }
 
-  return 1;
+  return true;
 }
 
-/* Return non-zero if types TYPE1 and TYPE2 are equal, as determined by a
-   "deep comparison".  Otherwise return zero.  */
+/* Return true if types TYPE1 and TYPE2 are equal, as determined by a
+   "deep comparison".  Otherwise return false.  */
 
-int
+bool
 types_deeply_equal (struct type *type1, struct type *type2)
 {
   struct gdb_exception except = exception_none;
-  int result = 0;
+  bool result = false;
   struct bcache *cache;
-  VEC (type_equality_entry_d) *worklist = NULL;
-  struct type_equality_entry entry;
+  std::vector<type_equality_entry> worklist;
 
   gdb_assert (type1 != NULL && type2 != NULL);
 
   /* Early exit for the simple case.  */
   if (type1 == type2)
-    return 1;
+    return true;
 
   cache = bcache_xmalloc (NULL, NULL);
 
-  entry.type1 = type1;
-  entry.type2 = type2;
-  VEC_safe_push (type_equality_entry_d, worklist, &entry);
+  worklist.emplace_back (type1, type2);
 
   /* check_types_worklist calls several nested helper functions, some
      of which can raise a GDB exception, so we just check and rethrow
@@ -3698,7 +3795,6 @@ types_deeply_equal (struct type *type1, 
   END_CATCH
 
   bcache_xfree (cache);
-  VEC_free (type_equality_entry_d, worklist);
 
   /* Rethrow if there was a problem.  */
   if (except.reason < 0)
@@ -4018,7 +4114,7 @@ rank_one_type (struct type *parm, struct
 	    return INTEGER_CONVERSION_BADNESS;
 	  else if (TYPE_LENGTH (arg) < TYPE_LENGTH (parm))
 	    return INTEGER_PROMOTION_BADNESS;
-	  /* >>> !! else fall through !! <<< */
+	  /* fall through */
 	case TYPE_CODE_CHAR:
 	  /* Deal with signed, unsigned, and plain chars for C++ and
 	     with int cases falling through from previous case.  */
@@ -4124,7 +4220,7 @@ rank_one_type (struct type *parm, struct
 	  rank.subrank = distance_to_ancestor (parm, arg, 0);
 	  if (rank.subrank >= 0)
 	    return sum_ranks (BASE_CONVERSION_BADNESS, rank);
-	  /* else fall through */
+	  /* fall through */
 	default:
 	  return INCOMPATIBLE_TYPE_BADNESS;
 	}
@@ -4414,10 +4510,6 @@ recursive_dump_type (struct type *type, 
 		    TYPE_NAME (type) ? TYPE_NAME (type) : "<NULL>");
   gdb_print_host_address (TYPE_NAME (type), gdb_stdout);
   printf_filtered (")\n");
-  printfi_filtered (spaces, "tagname '%s' (",
-		    TYPE_TAG_NAME (type) ? TYPE_TAG_NAME (type) : "<NULL>");
-  gdb_print_host_address (TYPE_TAG_NAME (type), gdb_stdout);
-  printf_filtered (")\n");
   printfi_filtered (spaces, "code 0x%x ", TYPE_CODE (type));
   switch (TYPE_CODE (type))
     {
@@ -4694,9 +4786,13 @@ recursive_dump_type (struct type *type, 
 /* Trivial helpers for the libiberty hash table, for mapping one
    type to another.  */
 
-struct type_pair
+struct type_pair : public allocate_on_obstack
 {
-  struct type *old, *newobj;
+  type_pair (struct type *old_, struct type *newobj_)
+    : old (old_), newobj (newobj_)
+  {}
+
+  struct type * const old, * const newobj;
 };
 
 static hashval_t
@@ -4764,7 +4860,6 @@ copy_type_recursive (struct objfile *obj
 		     struct type *type,
 		     htab_t copied_types)
 {
-  struct type_pair *stored, pair;
   void **slot;
   struct type *new_type;
 
@@ -4775,7 +4870,8 @@ copy_type_recursive (struct objfile *obj
      if it did, the type might disappear unexpectedly.  */
   gdb_assert (TYPE_OBJFILE (type) == objfile);
 
-  pair.old = type;
+  struct type_pair pair (type, nullptr);
+
   slot = htab_find_slot (copied_types, &pair, INSERT);
   if (*slot != NULL)
     return ((struct type_pair *) *slot)->newobj;
@@ -4784,9 +4880,9 @@ copy_type_recursive (struct objfile *obj
 
   /* We must add the new type to the hash table immediately, in case
      we encounter this type again during a recursive call below.  */
-  stored = XOBNEW (&objfile->objfile_obstack, struct type_pair);
-  stored->old = type;
-  stored->newobj = new_type;
+  struct type_pair *stored
+    = new (&objfile->objfile_obstack) struct type_pair (type, new_type);
+
   *slot = stored;
 
   /* Copy the common fields of types.  For the main type, we simply
@@ -4797,8 +4893,6 @@ copy_type_recursive (struct objfile *obj
 
   if (TYPE_NAME (type))
     TYPE_NAME (new_type) = xstrdup (TYPE_NAME (type));
-  if (TYPE_TAG_NAME (type))
-    TYPE_TAG_NAME (new_type) = xstrdup (TYPE_TAG_NAME (type));
 
   TYPE_INSTANCE_FLAGS (new_type) = TYPE_INSTANCE_FLAGS (type);
   TYPE_LENGTH (new_type) = TYPE_LENGTH (type);
@@ -5136,7 +5230,7 @@ arch_composite_type (struct gdbarch *gdb
 
   gdb_assert (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION);
   t = arch_type (gdbarch, code, 0, NULL);
-  TYPE_TAG_NAME (t) = name;
+  TYPE_NAME (t) = name;
   INIT_CPLUS_SPECIFIC (t);
   return t;
 }
@@ -5434,10 +5528,6 @@ objfile_type (struct objfile *objfile)
   objfile_type->nodebug_text_gnu_ifunc_symbol
     = init_type (objfile, TYPE_CODE_FUNC, TARGET_CHAR_BIT,
 		 "<text gnu-indirect-function variable, no debug info>");
-  /* Ifunc resolvers return a function address.  */
-  TYPE_TARGET_TYPE (objfile_type->nodebug_text_gnu_ifunc_symbol)
-    = init_integer_type (objfile, gdbarch_addr_bit (gdbarch), 1,
-			 "__IFUNC_RESOLVER_RET");
   TYPE_GNU_IFUNC (objfile_type->nodebug_text_gnu_ifunc_symbol) = 1;
   objfile_type->nodebug_got_plt_symbol
     = init_pointer_type (objfile, gdbarch_addr_bit (gdbarch),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbtypes.h ./gdb/gdbtypes.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gdbtypes.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gdbtypes.h	2018-07-10 02:06:13.000000000 +0000
@@ -47,6 +47,8 @@
 #include "hashtab.h"
 #include "common/offset-type.h"
 #include "common/enum-flags.h"
+#include "common/underlying.h"
+#include "common/print-utils.h"
 
 /* Forward declarations for prototypes.  */
 struct field;
@@ -63,7 +65,13 @@ DEFINE_OFFSET_TYPE (cu_offset, unsigned 
 
 /* * Offset relative to the start of its .debug_info or .debug_types
    section.  */
-DEFINE_OFFSET_TYPE (sect_offset, unsigned int);
+DEFINE_OFFSET_TYPE (sect_offset, uint64_t);
+
+static inline char *
+sect_offset_str (sect_offset offset)
+{
+  return hex_string (to_underlying (offset));
+}
 
 /* Some macros for char-based bitfields.  */
 
@@ -304,6 +312,14 @@ DEF_ENUM_FLAGS_TYPE (enum type_instance_
 
 #define TYPE_FLAG_ENUM(t) (TYPE_MAIN_TYPE (t)->flag_flag_enum)
 
+/* * True if this type is a discriminated union type.  Only valid for
+   TYPE_CODE_UNION.  A discriminated union stores a reference to the
+   discriminant field along with the discriminator values in a dynamic
+   property.  */
+
+#define TYPE_FLAG_DISCRIMINATED_UNION(t) \
+  (TYPE_MAIN_TYPE (t)->flag_discriminated_union)
+
 /* * Constant type.  If this is set, the corresponding type has a
    const modifier.  */
 
@@ -373,6 +389,39 @@ DEF_ENUM_FLAGS_TYPE (enum type_instance_
 #define TYPE_ADDRESS_CLASS_ALL(t) (TYPE_INSTANCE_FLAGS(t) \
 				   & TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL)
 
+/* * Information needed for a discriminated union.  A discriminated
+   union is handled somewhat differently from an ordinary union.
+
+   One field is designated as the discriminant.  Only one other field
+   is active at a time; which one depends on the value of the
+   discriminant and the data in this structure.
+
+   Additionally, it is possible to have a univariant discriminated
+   union.  In this case, the union has just a single field, which is
+   assumed to be the only active variant -- in this case no
+   discriminant is provided.  */
+
+struct discriminant_info
+{
+  /* * The index of the discriminant field.  If -1, then this union
+     must have just a single field.  */
+
+  int discriminant_index;
+
+  /* * The index of the default branch of the union.  If -1, then
+     there is no default branch.  */
+
+  int default_index;
+
+  /* * The discriminant values corresponding to each branch.  This has
+     a number of entries equal to the number of fields in this union.
+     If discriminant_index is not -1, then that entry in this array is
+     not used.  If default_index is not -1, then that entry in this
+     array is not used.  */
+
+  ULONGEST discriminants[1];
+};
+
 enum dynamic_prop_kind
 {
   PROP_UNDEFINED, /* Not defined.  */
@@ -431,6 +480,9 @@ enum dynamic_prop_node_kind
 
   /* A property providing an array's byte stride.  */
   DYN_PROP_BYTE_STRIDE,
+
+  /* A property holding information about a discriminated union.  */
+  DYN_PROP_DISCRIMINATED,
 };
 
 /* * List for dynamic type attributes.  */
@@ -650,6 +702,13 @@ struct main_type
 
   unsigned int flag_flag_enum : 1;
 
+  /* * True if this type is a discriminated union type.  Only valid
+     for TYPE_CODE_UNION.  A discriminated union stores a reference to
+     the discriminant field along with the discriminator values in a
+     dynamic property.  */
+
+  unsigned int flag_discriminated_union : 1;
+
   /* * A discriminant telling us which field of the type_specific
      union is being used for this type, if any.  */
 
@@ -662,26 +721,12 @@ struct main_type
 
   /* * Name of this type, or NULL if none.
 
-     This is used for printing only, except by poorly designed C++
-     code.  For looking up a name, look for a symbol in the
-     VAR_DOMAIN.  This is generally allocated in the objfile's
-     obstack.  However coffread.c uses malloc.  */
+     This is used for printing only.  For looking up a name, look for
+     a symbol in the VAR_DOMAIN.  This is generally allocated in the
+     objfile's obstack.  However coffread.c uses malloc.  */
 
   const char *name;
 
-  /* * Tag name for this type, or NULL if none.  This means that the
-     name of the type consists of a keyword followed by the tag name.
-     Which keyword is determined by the type code ("struct" for
-     TYPE_CODE_STRUCT, etc.).  As far as I know C/C++ are the only
-     languages with this feature.
-
-     This is used for printing only, except by poorly designed C++ code.
-     For looking up a name, look for a symbol in the STRUCT_DOMAIN.
-     One more legitimate use is that if TYPE_STUB is set, this is
-     the name to use to look for definitions in other files.  */
-
-  const char *tag_name;
-
   /* * Every type is now associated with a particular objfile, and the
      type is allocated on the objfile_obstack for that objfile.  One
      problem however, is that there are times when gdb allocates new
@@ -743,6 +788,10 @@ struct main_type
   struct dynamic_prop_list *dyn_prop_list;
 };
 
+/* * Number of bits allocated for alignment.  */
+
+#define TYPE_ALIGN_BITS 8
+
 /* * A ``struct type'' describes a particular instance of a type, with
    some particular qualification.  */
 
@@ -772,6 +821,14 @@ struct type
 
   struct type *chain;
 
+  /* * The alignment for this type.  Zero means that the alignment was
+     not specified in the debug info.  Note that this is stored in a
+     funny way: as the log base 2 (plus 1) of the alignment; so a
+     value of 1 means the alignment is 1, and a value of 9 means the
+     alignment is 256.  */
+
+  unsigned align_log2 : TYPE_ALIGN_BITS;
+
   /* * Flags specific to this instance of the type, indicating where
      on the ring we are.
 
@@ -782,7 +839,7 @@ struct type
      instance flags are completely inherited from the target type.  No
      qualifiers can be cleared by the typedef.  See also
      check_typedef.  */
-  int instance_flags;
+  unsigned instance_flags : 9;
 
   /* * Length of storage for a value of this type.  The value is the
      expression in host bytes of what sizeof(type) would return.  This
@@ -1222,7 +1279,6 @@ extern void allocate_gnat_aux_type (stru
 #define TYPE_INSTANCE_FLAGS(thistype) (thistype)->instance_flags
 #define TYPE_MAIN_TYPE(thistype) (thistype)->main_type
 #define TYPE_NAME(thistype) TYPE_MAIN_TYPE(thistype)->name
-#define TYPE_TAG_NAME(type) TYPE_MAIN_TYPE(type)->tag_name
 #define TYPE_TARGET_TYPE(thistype) TYPE_MAIN_TYPE(thistype)->target_type
 #define TYPE_POINTER_TYPE(thistype) (thistype)->pointer_type
 #define TYPE_REFERENCE_TYPE(thistype) (thistype)->reference_type
@@ -1233,6 +1289,26 @@ extern void allocate_gnat_aux_type (stru
    so you only have to call check_typedef once.  Since allocate_value
    calls check_typedef, TYPE_LENGTH (VALUE_TYPE (X)) is safe.  */
 #define TYPE_LENGTH(thistype) (thistype)->length
+
+/* * Return the alignment of the type in target addressable memory
+   units, or 0 if no alignment was specified.  */
+#define TYPE_RAW_ALIGN(thistype) type_raw_align (thistype)
+
+/* * Return the alignment of the type in target addressable memory
+   units, or 0 if no alignment was specified.  */
+extern unsigned type_raw_align (struct type *);
+
+/* * Return the alignment of the type in target addressable memory
+   units.  Return 0 if the alignment cannot be determined; but note
+   that this makes an effort to compute the alignment even it it was
+   not specified in the debug info.  */
+extern unsigned type_align (struct type *);
+
+/* * Set the alignment of the type.  The alignment must be a power of
+   2.  Returns false if the given value does not fit in the available
+   space in struct type.  */
+extern bool set_type_align (struct type *, ULONGEST);
+
 /* * Note that TYPE_CODE can be TYPE_CODE_TYPEDEF, so if you want the real
    type, you need to do TYPE_CODE (check_type (this_type)).  */
 #define TYPE_CODE(thistype) TYPE_MAIN_TYPE(thistype)->code
@@ -1791,9 +1867,7 @@ extern void smash_to_methodptr_type (str
 
 extern struct type *allocate_stub_method (struct type *);
 
-extern const char *type_name_no_tag (const struct type *);
-
-extern const char *type_name_no_tag_or_error (struct type *type);
+extern const char *type_name_or_error (struct type *type);
 
 extern struct type *lookup_struct_elt_type (struct type *, const char *, int);
 
@@ -1861,11 +1935,10 @@ extern struct dynamic_prop *get_dyn_prop
 /* * Given a dynamic property PROP of a given KIND, add this dynamic
    property to the given TYPE.
 
-   This function assumes that TYPE is objfile-owned, and that OBJFILE
-   is the TYPE's objfile.  */
+   This function assumes that TYPE is objfile-owned.  */
 extern void add_dyn_prop
   (enum dynamic_prop_node_kind kind, struct dynamic_prop prop,
-   struct type *type, struct objfile *objfile);
+   struct type *type);
 
 extern void remove_dyn_prop (enum dynamic_prop_node_kind prop_kind,
                              struct type *type);
@@ -2002,9 +2075,9 @@ extern struct type *copy_type_recursive 
 
 extern struct type *copy_type (const struct type *type);
 
-extern int types_equal (struct type *, struct type *);
+extern bool types_equal (struct type *, struct type *);
 
-extern int types_deeply_equal (struct type *, struct type *);
+extern bool types_deeply_equal (struct type *, struct type *);
 
 extern int type_not_allocated (const struct type *type);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/.gitignore ./gdb/.gitignore
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/.gitignore	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/.gitignore	2018-07-10 02:06:12.000000000 +0000
@@ -21,7 +21,6 @@
 /jv-exp.c
 /m2-exp.c
 /objc-exp.c
-/observer.h
 /observer.inc
 /p-exp.c
 /rust-exp.c
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/glibc-tdep.c ./gdb/glibc-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/glibc-tdep.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/glibc-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -54,7 +54,7 @@ glibc_skip_solib_resolver (struct gdbarc
      debugging programs that use shared libraries.  */
 
   struct bound_minimal_symbol resolver 
-    = lookup_minimal_symbol_and_objfile ("_dl_runtime_resolve");
+    = lookup_bound_minimal_symbol ("_dl_runtime_resolve");
 
   if (resolver.minsym)
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/aclocal.m4 ./gdb/gnulib/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/aclocal.m4	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gnulib/aclocal.m4	2018-07-10 02:06:13.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,15 +11,470 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
-[m4_warning([this file was generated for autoconf 2.64.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+# po.m4 serial 24 (gettext-0.19)
+dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ([2.60])
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+  AC_REQUIRE([AC_PROG_SED])dnl
+  AC_REQUIRE([AM_NLS])dnl
+
+  dnl Release version of the gettext macros. This is used to ensure that
+  dnl the gettext macros and po/Makefile.in.in are in sync.
+  AC_SUBST([GETTEXT_MACRO_VERSION], [0.19])
+
+  dnl Perform the following tests also if --disable-nls has been given,
+  dnl because they are needed for "make dist" to work.
+
+  dnl Search for GNU msgfmt in the PATH.
+  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+  dnl The second test excludes FreeBSD msgfmt.
+  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
+
+  dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+  case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+    *) MSGFMT_015=$MSGFMT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([MSGFMT_015])
+changequote(,)dnl
+  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+    *) GMSGFMT_015=$GMSGFMT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([GMSGFMT_015])
+
+  dnl Search for GNU xgettext 0.12 or newer in the PATH.
+  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+  dnl The second test excludes FreeBSD xgettext.
+  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  dnl Remove leftover from FreeBSD xgettext call.
+  rm -f messages.po
+
+  dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+  case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+    *) XGETTEXT_015=$XGETTEXT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([XGETTEXT_015])
+
+  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+  dnl Installation directories.
+  dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
+  dnl have to define it here, so that it can be used in po/Makefile.
+  test -n "$localedir" || localedir='${datadir}/locale'
+  AC_SUBST([localedir])
+
+  dnl Support for AM_XGETTEXT_OPTION.
+  test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+  AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
+
+  AC_CONFIG_COMMANDS([po-directories], [[
+    for ac_file in $CONFIG_FILES; do
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+      # PO directories have a Makefile.in generated from Makefile.in.in.
+      case "$ac_file" in */Makefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+        esac
+        # Treat a directory as a PO directory if and only if it has a
+        # POTFILES.in file. This allows packages to have multiple PO
+        # directories under different names or in different locations.
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          gt_tab=`printf '\t'`
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          POMAKEFILEDEPS="POTFILES.in"
+          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$OBSOLETE_ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+          else
+            # The set of available languages was given in configure.in.
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
+            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+          fi
+          # Compute POFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+          # Compute UPDATEPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+          # Compute DUMMYPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+          # Compute GMOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+          case "$ac_given_srcdir" in
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
+          esac
+          POFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          GMOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
+              fi
+              for desiredlang in $desiredlanguages; do
+                # Use the presentlang catalog if desiredlang is
+                #   a. equal to presentlang, or
+                #   b. a variant of presentlang (because in this case,
+                #      presentlang can be used as a fallback for messages
+                #      which are not translated in the desiredlang catalog).
+                case "$desiredlang" in
+                  "$presentlang"*) useit=yes;;
+                esac
+              done
+              if test $useit = yes; then
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
+          fi
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+            if test -f "$f"; then
+              case "$f" in
+                *.orig | *.bak | *~) ;;
+                *) cat "$f" >> "$ac_dir/Makefile" ;;
+              esac
+            fi
+          done
+        fi
+        ;;
+      esac
+    done]],
+   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+    # from automake < 1.5.
+    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+   ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+  # When this code is run, in config.status, two variables have already been
+  # set:
+  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+  # - LINGUAS is the value of the environment variable LINGUAS at configure
+  #   time.
+
+changequote(,)dnl
+  # Adjust a relative srcdir.
+  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+  ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+  # In autoconf-2.13 it is called $ac_given_srcdir.
+  # In autoconf-2.50 it is called $srcdir.
+  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+  case "$ac_given_srcdir" in
+    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+    /*) top_srcdir="$ac_given_srcdir" ;;
+    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+  # Find a way to echo strings without interpreting backslash.
+  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+    gt_echo='echo'
+  else
+    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+      gt_echo='printf %s\n'
+    else
+      echo_func () {
+        cat <<EOT
+$*
+EOT
+      }
+      gt_echo='echo_func'
+    fi
+  fi
+
+  # A sed script that extracts the value of VARIABLE from a Makefile.
+  tab=`printf '\t'`
+  sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
+  # Seen the first line of the variable definition.
+  s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
+  ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+  # Set POTFILES to the value of the Makefile variable POTFILES.
+  sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
+  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+  # Compute POTFILES_DEPS as
+  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+  POTFILES_DEPS=
+  for file in $POTFILES; do
+    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+  done
+  POMAKEFILEDEPS=""
+
+  if test -n "$OBSOLETE_ALL_LINGUAS"; then
+    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+  fi
+  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+    # The LINGUAS file contains the set of available languages.
+    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+  else
+    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+    sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
+    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+  fi
+  # Hide the ALL_LINGUAS assignment from automake < 1.5.
+  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+  # Compute POFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+  # Compute UPDATEPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+  # Compute DUMMYPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+  # Compute GMOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+  # Compute PROPERTIESFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+  # Compute CLASSFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+  # Compute QMFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+  # Compute MSGFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+  # Compute RESOURCESDLLFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+  case "$ac_given_srcdir" in
+    .) srcdirpre= ;;
+    *) srcdirpre='$(srcdir)/' ;;
+  esac
+  POFILES=
+  UPDATEPOFILES=
+  DUMMYPOFILES=
+  GMOFILES=
+  PROPERTIESFILES=
+  CLASSFILES=
+  QMFILES=
+  MSGFILES=
+  RESOURCESDLLFILES=
+  for lang in $ALL_LINGUAS; do
+    POFILES="$POFILES $srcdirpre$lang.po"
+    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+    PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+    QMFILES="$QMFILES $srcdirpre$lang.qm"
+    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+  done
+  # CATALOGS depends on both $ac_dir and the user's LINGUAS
+  # environment variable.
+  INST_LINGUAS=
+  if test -n "$ALL_LINGUAS"; then
+    for presentlang in $ALL_LINGUAS; do
+      useit=no
+      if test "%UNSET%" != "$LINGUAS"; then
+        desiredlanguages="$LINGUAS"
+      else
+        desiredlanguages="$ALL_LINGUAS"
+      fi
+      for desiredlang in $desiredlanguages; do
+        # Use the presentlang catalog if desiredlang is
+        #   a. equal to presentlang, or
+        #   b. a variant of presentlang (because in this case,
+        #      presentlang can be used as a fallback for messages
+        #      which are not translated in the desiredlang catalog).
+        case "$desiredlang" in
+          "$presentlang"*) useit=yes;;
+        esac
+      done
+      if test $useit = yes; then
+        INST_LINGUAS="$INST_LINGUAS $presentlang"
+      fi
+    done
+  fi
+  CATALOGS=
+  JAVACATALOGS=
+  QTCATALOGS=
+  TCLCATALOGS=
+  CSHARPCATALOGS=
+  if test -n "$INST_LINGUAS"; then
+    for lang in $INST_LINGUAS; do
+      CATALOGS="$CATALOGS $lang.gmo"
+      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+      QTCATALOGS="$QTCATALOGS $lang.qm"
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+    done
+  fi
+
+  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+  tab=`printf '\t'`
+  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if test -n "$POMAKEFILEDEPS"; then
+    cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+  fi
+  mv "$ac_file.tmp" "$ac_file"
+])
+
+dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
+AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
+[
+  XGETTEXT_EXTRA_OPTIONS=
+])
+
+dnl Registers an option to be passed to xgettext in the po subdirectory.
+AC_DEFUN([AM_XGETTEXT_OPTION],
+[
+  AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
+])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -31,10 +486,10 @@ To do so, use the procedure documented b
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.15'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
+m4_if([$1], [1.15.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -50,22 +505,82 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
+# Copyright (C) 2011-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_AR([ACT-IF-FAIL])
+# -------------------------
+# Try to determine the archiver interface, and trigger the ar-lib wrapper
+# if it is needed.  If the detection of archiver interface fails, run
+# ACT-IF-FAIL (default is to abort configure with a proper error message).
+AC_DEFUN([AM_PROG_AR],
+[AC_BEFORE([$0], [LT_INIT])dnl
+AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([ar-lib])dnl
+AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
+: ${AR=ar}
+
+AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
+  [AC_LANG_PUSH([C])
+   am_cv_ar_interface=ar
+   AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
+     [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+      AC_TRY_EVAL([am_ar_try])
+      if test "$ac_status" -eq 0; then
+        am_cv_ar_interface=ar
+      else
+        am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+        AC_TRY_EVAL([am_ar_try])
+        if test "$ac_status" -eq 0; then
+          am_cv_ar_interface=lib
+        else
+          am_cv_ar_interface=unknown
+        fi
+      fi
+      rm -f conftest.lib libconftest.a
+     ])
+   AC_LANG_POP([C])])
+
+case $am_cv_ar_interface in
+ar)
+  ;;
+lib)
+  # Microsoft lib, so override with the ar-lib wrapper script.
+  # FIXME: It is wrong to rewrite AR.
+  # But if we don't then we get into trouble of one sort or another.
+  # A longer-term fix would be to have automake use am__AR in this case,
+  # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+  # similar.
+  AR="$am_aux_dir/ar-lib $AR"
+  ;;
+unknown)
+  m4_default([$1],
+             [AC_MSG_ERROR([could not determine $AR interface])])
+  ;;
+esac
+AC_SUBST([AR])dnl
+])
+
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -84,7 +599,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCON
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -102,53 +617,26 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCON
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
-
-# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# This was merged into AC_PROG_CC in Autoconf.
-
-AU_DEFUN([AM_PROG_CC_STDC],
-[AC_PROG_CC
-AC_DIAGNOSE([obsolete], [$0:
-	your code should no longer depend upon `am_cv_prog_cc_stdc', but upon
-	`ac_cv_prog_cc_stdc'.  Remove this warning and the assignment when
-	you adjust the code.  You can also remove the above call to
-	AC_PROG_CC if you already called it elsewhere.])
-am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
-])
-AU_DEFUN([fp_PROG_CC_STDC])
-
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -167,16 +655,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 10
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -186,7 +672,7 @@ fi])])
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -199,12 +685,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMAND
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -212,8 +699,9 @@ AC_CACHE_CHECK([dependency style of $dep
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -252,16 +740,16 @@ AC_CACHE_CHECK([dependency style of $dep
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -270,16 +758,16 @@ AC_CACHE_CHECK([dependency style of $dep
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -327,7 +815,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -337,34 +825,39 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}d
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
 AC_SUBST([AMDEPBACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
 ])
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 5
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 [{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -377,7 +870,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -389,21 +882,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
+    test -z "$am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`AS_DIRNAME(["$file"])`
@@ -421,7 +912,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
+# is enabled.  FIXME.  This creates each '.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -431,18 +922,21 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS]
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 16
-
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
 # -----------------------------------------------
@@ -455,7 +949,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS]
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -484,33 +978,42 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -519,34 +1022,82 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR
 			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES(CC)],
-		  [define([AC_PROG_CC],
-			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES([CC])],
+		  [m4_define([AC_PROG_CC],
+			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES(CXX)],
-		  [define([AC_PROG_CXX],
-			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES([CXX])],
+		  [m4_define([AC_PROG_CXX],
+			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES(OBJC)],
-		  [define([AC_PROG_OBJC],
-			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+		  [_AM_DEPENDENCIES([OBJC])],
+		  [m4_define([AC_PROG_OBJC],
+			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+		  [_AM_DEPENDENCIES([OBJCXX])],
+		  [m4_define([AC_PROG_OBJCXX],
+			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
 ])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
 ])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
-
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
@@ -568,7 +1119,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -579,7 +1130,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNA
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -587,16 +1138,14 @@ if test x"${install_sh}" != xset; then
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -613,20 +1162,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -634,13 +1180,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -648,18 +1195,14 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
-
 # AM_MAKE_INCLUDE()
 # -----------------
 # Check to see how make treats includes.
@@ -677,7 +1220,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -704,15 +1247,12 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
 AC_DEFUN([AM_MISSING_PROG],
@@ -720,11 +1260,10 @@ AC_DEFUN([AM_MISSING_PROG],
 $1=${$1-"${am_missing_run}$2"}
 AC_SUBST($1)])
 
-
 # AM_MISSING_HAS_RUN
 # ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
@@ -737,63 +1276,64 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+#  -*- Autoconf -*-
+# Obsolete and "removed" macros, that must however still report explicit
+# error messages when used, to smooth transition.
+#
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
+AC_DEFUN([AM_CONFIG_HEADER],
+[AC_DIAGNOSE([obsolete],
+['$0': this macro is obsolete.
+You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl
+AC_CONFIG_HEADERS($@)])
+
+AC_DEFUN([AM_PROG_CC_STDC],
+[AC_PROG_CC
+am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
+AC_DIAGNOSE([obsolete],
+['$0': this macro is obsolete.
+You should simply use the 'AC][_PROG_CC' macro instead.
+Also, your code should no longer depend upon 'am_cv_prog_cc_stdc',
+but upon 'ac_cv_prog_cc_stdc'.])])
+
+AC_DEFUN([AM_C_PROTOTYPES],
+         [AC_FATAL([automatic de-ANSI-fication support has been removed])])
+AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
-
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
 AC_DEFUN([_AM_MANGLE_OPTION],
 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
 
 # _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
 
 # _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
@@ -804,24 +1344,82 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -832,32 +1430,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$[2]" = conftest.file
    )
 then
@@ -867,9 +1473,85 @@ else
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+  [--enable-silent-rules],
+  [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+  [--disable-silent-rules],
+  [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using '$V' instead of '$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -877,34 +1559,32 @@ AC_MSG_RESULT(yes)])
 
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -912,24 +1592,22 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -939,75 +1617,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
 # Substitute a variable $(am__untar) that extract such
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
+#
 AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+[# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
 
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
 
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  [m4_case([$1],
+    [ustar],
+     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+      if test $am_uid -le $am_max_uid; then
+         AC_MSG_RESULT([yes])
+      else
+         AC_MSG_RESULT([no])
+         _am_tools=none
+      fi
+      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+      if test $am_gid -le $am_max_gid; then
+         AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no])
+        _am_tools=none
+      fi],
+
+  [pax],
+    [],
+
+  [m4_fatal([Unknown tar format])])
+
+  AC_MSG_CHECKING([how to create a $1 tar archive])
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        AM_RUN_LOG([$_am_tar --version]) && break
+      done
+      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x $1 -w "$$tardir"'
+      am__tar_='pax -L -x $1 -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+      am__untar='cpio -i -H $1 -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
+
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_$1}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      AM_RUN_LOG([$am__untar <conftest.tar])
+      AM_RUN_LOG([cat conftest.dir/file])
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
   rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
 
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
 AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
@@ -1087,6 +1804,7 @@ m4_include([import/m4/memchr.m4])
 m4_include([import/m4/memmem.m4])
 m4_include([import/m4/mempcpy.m4])
 m4_include([import/m4/memrchr.m4])
+m4_include([import/m4/mkstemp.m4])
 m4_include([import/m4/mmap-anon.m4])
 m4_include([import/m4/mode_t.m4])
 m4_include([import/m4/msvc-inval.m4])
@@ -1106,6 +1824,7 @@ m4_include([import/m4/rename.m4])
 m4_include([import/m4/rewinddir.m4])
 m4_include([import/m4/rmdir.m4])
 m4_include([import/m4/save-cwd.m4])
+m4_include([import/m4/secure_getenv.m4])
 m4_include([import/m4/setenv.m4])
 m4_include([import/m4/signal_h.m4])
 m4_include([import/m4/ssize_t.m4])
@@ -1125,6 +1844,7 @@ m4_include([import/m4/sys_socket_h.m4])
 m4_include([import/m4/sys_stat_h.m4])
 m4_include([import/m4/sys_time_h.m4])
 m4_include([import/m4/sys_types_h.m4])
+m4_include([import/m4/tempname.m4])
 m4_include([import/m4/time_h.m4])
 m4_include([import/m4/unistd-safer.m4])
 m4_include([import/m4/unistd_h.m4])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/config.in ./gdb/gnulib/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/config.in	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gnulib/config.in	2018-07-10 02:06:13.000000000 +0000
@@ -18,12 +18,12 @@
 /* Define to the number of bits in type 'wint_t'. */
 #undef BITSIZEOF_WINT_T
 
-/* Define to one of '_getb67', 'GETB67', 'getb67' for Cray-2 and Cray-YMP
-   systems. This function is required for 'alloca.c' support on those systems.
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
    */
 #undef CRAY_STACKSEG_END
 
-/* Define to 1 if using 'alloca.c'. */
+/* Define to 1 if using `alloca.c'. */
 #undef C_ALLOCA
 
 /* Define to 1 if the C locale may have encoding errors. */
@@ -195,6 +195,9 @@
 /* Define to 1 when the gnulib module memrchr should be tested. */
 #undef GNULIB_TEST_MEMRCHR
 
+/* Define to 1 when the gnulib module mkstemp should be tested. */
+#undef GNULIB_TEST_MKSTEMP
+
 /* Define to 1 when the gnulib module open should be tested. */
 #undef GNULIB_TEST_OPEN
 
@@ -228,6 +231,9 @@
 /* Define to 1 when the gnulib module rmdir should be tested. */
 #undef GNULIB_TEST_RMDIR
 
+/* Define to 1 when the gnulib module secure_getenv should be tested. */
+#undef GNULIB_TEST_SECURE_GETENV
+
 /* Define to 1 when the gnulib module setenv should be tested. */
 #undef GNULIB_TEST_SETENV
 
@@ -411,9 +417,18 @@
 /* Define to 1 if you have the `getdtablesize' function. */
 #undef HAVE_GETDTABLESIZE
 
+/* Define to 1 if you have the `getegid' function. */
+#undef HAVE_GETEGID
+
+/* Define to 1 if you have the `geteuid' function. */
+#undef HAVE_GETEUID
+
 /* Define to 1 if you have the `getexecname' function. */
 #undef HAVE_GETEXECNAME
 
+/* Define to 1 if you have the `getgid' function. */
+#undef HAVE_GETGID
+
 /* Define to 1 if you have the `getlogin_r' function. */
 #undef HAVE_GETLOGIN_R
 
@@ -429,6 +444,9 @@
 /* Define to 1 if you have the `gettimeofday' function. */
 #undef HAVE_GETTIMEOFDAY
 
+/* Define to 1 if you have the `getuid' function. */
+#undef HAVE_GETUID
+
 /* Define to 1 if you have the <glob.h> header file. */
 #undef HAVE_GLOB_H
 
@@ -444,6 +462,9 @@
 /* Define if the isnan(long double) function is available in libc. */
 #undef HAVE_ISNANL_IN_LIBC
 
+/* Define to 1 if you have the `issetugid' function. */
+#undef HAVE_ISSETUGID
+
 /* Define to 1 if you have the `iswcntrl' function. */
 #undef HAVE_ISWCNTRL
 
@@ -503,6 +524,9 @@
    when it succeeds. */
 #undef HAVE_MINIMALLY_WORKING_GETCWD
 
+/* Define to 1 if you have the `mkstemp' function. */
+#undef HAVE_MKSTEMP
+
 /* Define to 1 if you have the `mprotect' function. */
 #undef HAVE_MPROTECT
 
@@ -1370,6 +1394,9 @@
 /* Define to 1 if you have the <search.h> header file. */
 #undef HAVE_SEARCH_H
 
+/* Define to 1 if you have the `secure_getenv' function. */
+#undef HAVE_SECURE_GETENV
+
 /* Define to 1 if you have the `setdtablesize' function. */
 #undef HAVE_SETDTABLESIZE
 
@@ -1510,6 +1537,9 @@
 /* Define to 1 if you have the `_set_invalid_parameter_handler' function. */
 #undef HAVE__SET_INVALID_PARAMETER_HANDLER
 
+/* Define to 1 if you have the `__secure_getenv' function. */
+#undef HAVE___SECURE_GETENV
+
 /* Define as the bit index in the word where to find bit 0 of the exponent of
    'long double'. */
 #undef LDBL_EXPBIT0_BIT
@@ -1632,9 +1662,9 @@
 /* If using the C implementation of alloca, define if you know the
    direction of stack growth for your system; otherwise it will be
    automatically deduced at runtime.
-        STACK_DIRECTION > 0 => grows toward higher addresses
-        STACK_DIRECTION < 0 => grows toward lower addresses
-        STACK_DIRECTION = 0 => direction of growth unknown */
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
 #undef STACK_DIRECTION
 
 /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
@@ -1909,6 +1939,9 @@
 # define __restrict__
 #endif
 
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
 /* Define as a signed type of the same size as size_t. */
 #undef ssize_t
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/configure ./gdb/gnulib/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/configure	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gnulib/configure	2018-07-10 02:06:13.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69 for libgnu UNUSED-VERSION.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -209,14 +236,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -314,10 +352,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -354,19 +400,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -439,6 +485,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -473,16 +523,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -494,28 +544,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -524,10 +554,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -544,12 +575,12 @@ MFLAGS=
 MAKEFLAGS=
 
 # Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-PACKAGE_URL=
+PACKAGE_NAME='libgnu'
+PACKAGE_TARNAME='libgnu'
+PACKAGE_VERSION='UNUSED-VERSION'
+PACKAGE_STRING='libgnu UNUSED-VERSION'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
 
 ac_unique_file="import/memmem.c"
 # Factoring default headers for most tests.
@@ -600,9 +631,14 @@ gl_LIBOBJS
 LTLIBOBJS
 LIBOBJS
 LN_S
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
+am__nodep
 AMDEPBACKSLASH
 AMDEP_FALSE
 AMDEP_TRUE
@@ -1636,6 +1672,7 @@ build_cpu
 build
 RANLIB
 ARFLAGS
+ac_ct_AR
 AR
 EGREP
 GREP
@@ -1694,6 +1731,7 @@ enable_option_checking
 enable_maintainer_mode
 enable_largefile
 enable_dependency_tracking
+enable_silent_rules
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1744,7 +1782,7 @@ sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
 infodir='${datarootdir}/info'
 htmldir='${docdir}'
 dvidir='${docdir}'
@@ -1766,8 +1804,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -1812,7 +1851,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1838,7 +1877,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -2042,7 +2081,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -2058,7 +2097,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -2088,8 +2127,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -2097,7 +2136,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -2107,7 +2146,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -2115,13 +2154,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -2144,7 +2183,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -2158,8 +2197,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -2174,9 +2211,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -2215,11 +2252,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -2245,7 +2282,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
+\`configure' configures libgnu UNUSED-VERSION to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2259,7 +2296,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -2293,7 +2330,7 @@ Fine tuning of the installation director
   --infodir=DIR           info documentation [DATAROOTDIR/info]
   --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
   --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/libgnu]
   --htmldir=DIR           html documentation [DOCDIR]
   --dvidir=DIR            dvi documentation [DOCDIR]
   --pdfdir=DIR            pdf documentation [DOCDIR]
@@ -2315,18 +2352,25 @@ _ACEOF
 fi
 
 if test -n "$ac_init_help"; then
-
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of libgnu UNUSED-VERSION:";;
+   esac
   cat <<\_ACEOF
 
 Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --disable-largefile     omit support for large files
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
 
 Some influential environment variables:
   CC          C compiler command
@@ -2334,7 +2378,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -2404,10 +2448,10 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.64
+libgnu configure UNUSED-VERSION
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -2451,8 +2495,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -2477,7 +2521,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -2488,8 +2532,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -2501,10 +2545,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -2540,7 +2584,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -2567,7 +2611,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -2576,7 +2620,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -2617,8 +2661,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -2631,7 +2675,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2649,10 +2693,64 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=no"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+	 return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+	    return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+
 # ac_fn_c_try_link LINENO
 # -----------------------
 # Try to link conftest.$ac_ext, and return whether this succeeded.
@@ -2680,7 +2778,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -2694,8 +2792,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -2707,7 +2805,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2762,19 +2860,22 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
 ac_fn_c_check_decl ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5
-$as_echo_n "checking whether $2 is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  as_decl_name=`echo $2|sed 's/ *(.*//'`
+  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2783,8 +2884,12 @@ else
 int
 main ()
 {
-#ifndef $2
-  (void) $2;
+#ifndef $as_decl_name
+#ifdef __cplusplus
+  (void) $as_decl_use;
+#else
+  (void) $as_decl_name;
+#endif
 #endif
 
   ;
@@ -2801,7 +2906,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_decl
 
@@ -2822,7 +2927,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2838,7 +2944,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2864,7 +2971,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2880,7 +2988,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2914,7 +3023,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2978,70 +3088,16 @@ rm -f core *.core core.conftest.* gmon.o
 rm -f conftest.val
 
   fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_compute_int
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-	 return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-	    return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_type
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+It was created by libgnu $as_me UNUSED-VERSION, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -3151,11 +3207,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -3189,11 +3243,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -3206,11 +3258,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -3224,11 +3274,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -3283,7 +3331,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -3294,18 +3347,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -3362,8 +3419,14 @@ as_fn_append ac_func_list " mbsinit"
 as_fn_append ac_func_list " mbrtowc"
 as_fn_append ac_header_list " sys/mman.h"
 as_fn_append ac_func_list " mprotect"
+as_fn_append ac_func_list " mkstemp"
 as_fn_append ac_func_list " openat"
 as_fn_append ac_func_list " link"
+as_fn_append ac_func_list " secure_getenv"
+as_fn_append ac_func_list " getuid"
+as_fn_append ac_func_list " geteuid"
+as_fn_append ac_func_list " getgid"
+as_fn_append ac_func_list " getegid"
 as_fn_append ac_func_list " setenv"
 as_fn_append ac_func_list " strdup"
 as_fn_append ac_func_list " pipe"
@@ -3424,7 +3487,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -3437,6 +3500,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
@@ -3473,7 +3537,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3485,7 +3549,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3513,7 +3577,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -3525,7 +3589,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3566,7 +3630,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3578,7 +3642,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3606,7 +3670,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3619,7 +3683,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -3665,7 +3729,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3677,7 +3741,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3709,7 +3773,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -3721,7 +3785,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3763,8 +3827,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3785,32 +3849,30 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdio.h>
+
 int
 main ()
 {
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -3872,62 +3934,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -3957,19 +3985,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4009,8 +4096,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4020,7 +4107,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4057,7 +4144,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4135,7 +4222,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4144,8 +4231,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4230,6 +4316,97 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS con
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -4243,7 +4420,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -4273,7 +4450,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -4289,11 +4466,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -4332,7 +4509,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -4348,18 +4525,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -4371,7 +4548,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -4385,7 +4562,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -4420,7 +4597,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -4434,7 +4611,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -4451,7 +4628,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -4486,7 +4663,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -4501,7 +4678,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4618,8 +4795,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -4631,7 +4807,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -4656,7 +4832,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4710,7 +4886,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
 $as_echo_n "checking whether _XOPEN_SOURCE should be defined... " >&6; }
-if test "${ac_cv_should_define__xopen_source+set}" = set; then :
+if ${ac_cv_should_define__xopen_source+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_should_define__xopen_source=no
@@ -4768,7 +4944,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
 $as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
-if test "${gl_cv_c_amsterdam_compiler+set}" = set; then :
+if ${gl_cv_c_amsterdam_compiler+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -4801,7 +4977,177 @@ fi
       ARFLAGS='-o'
     fi
   else
-                                        :
+                                        if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar lib "link -lib"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$AR" && break
+  done
+fi
+if test -z "$AR"; then
+  ac_ct_AR=$AR
+  for ac_prog in ar lib "link -lib"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_AR" && break
+done
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+fi
+
+: ${AR=ar}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5
+$as_echo_n "checking the archiver ($AR) interface... " >&6; }
+if ${am_cv_ar_interface+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+   am_cv_ar_interface=ar
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int some_variable = 0;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5'
+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+  (eval $am_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      if test "$ac_status" -eq 0; then
+        am_cv_ar_interface=ar
+      else
+        am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5'
+        { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+  (eval $am_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+        if test "$ac_status" -eq 0; then
+          am_cv_ar_interface=lib
+        else
+          am_cv_ar_interface=unknown
+        fi
+      fi
+      rm -f conftest.lib libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
+$as_echo "$am_cv_ar_interface" >&6; }
+
+case $am_cv_ar_interface in
+ar)
+  ;;
+lib)
+  # Microsoft lib, so override with the ar-lib wrapper script.
+  # FIXME: It is wrong to rewrite AR.
+  # But if we don't then we get into trouble of one sort or another.
+  # A longer-term fix would be to have automake use am__AR in this case,
+  # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+  # similar.
+  AR="$am_aux_dir/ar-lib $AR"
+  ;;
+unknown)
+  as_fn_error $? "could not determine $AR interface" "$LINENO" 5
+  ;;
+esac
+
   fi
 
         if test -n "$ac_tool_prefix"; then
@@ -4809,7 +5155,7 @@ fi
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -4821,7 +5167,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4849,7 +5195,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -4861,7 +5207,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4911,7 +5257,7 @@ fi
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -4923,7 +5269,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4951,7 +5297,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -4963,7 +5309,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5002,52 +5348,29 @@ fi
   fi
 
 
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -5065,14 +5388,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5080,7 +5403,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5134,7 +5457,7 @@ if test "$enable_largefile" != no; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
 $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+if ${ac_cv_sys_largefile_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_sys_largefile_CC=no
@@ -5185,7 +5508,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+if ${ac_cv_sys_file_offset_bits+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -5254,7 +5577,7 @@ rm -rf conftest*
   if test $ac_cv_sys_file_offset_bits = unknown; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
+if ${ac_cv_sys_large_files+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -5409,6 +5732,7 @@ fi
   # Code from module memmem-simple:
   # Code from module mempcpy:
   # Code from module memrchr:
+  # Code from module mkstemp:
   # Code from module msvc-inval:
   # Code from module msvc-nothrow:
   # Code from module multiarch:
@@ -5428,6 +5752,7 @@ fi
   # Code from module rmdir:
   # Code from module same-inode:
   # Code from module save-cwd:
+  # Code from module secure_getenv:
   # Code from module setenv:
   # Code from module signal-h:
   # Code from module snippet/_Noreturn:
@@ -5454,6 +5779,7 @@ fi
   # Code from module sys_stat:
   # Code from module sys_time:
   # Code from module sys_types:
+  # Code from module tempname:
   # Code from module time:
   # Code from module unistd:
   # Code from module unistd-safer:
@@ -5473,7 +5799,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -5485,7 +5811,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5513,7 +5839,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -5525,7 +5851,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5566,7 +5892,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -5578,7 +5904,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5606,7 +5932,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -5619,7 +5945,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -5665,7 +5991,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -5677,7 +6003,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5709,7 +6035,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -5721,7 +6047,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5763,8 +6089,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -5785,15 +6111,15 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5830,7 +6156,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -5908,7 +6234,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -5917,8 +6243,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -6003,22 +6328,86 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS con
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 
 am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
 
 
 ac_aux_dir=
 for ac_dir in ../.. "$srcdir"/../..; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in ../.. \"$srcdir\"/../.." "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in ../.. \"$srcdir\"/../.." "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -6032,14 +6421,14 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -6047,7 +6436,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -6079,11 +6468,22 @@ test -n "$target_alias" &&
           LIBC_FATAL_STDERR_=1
   export LIBC_FATAL_STDERR_
 
+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
 $as_echo_n "checking for working alloca.h... " >&6; }
-if test "${ac_cv_working_alloca_h+set}" = set; then :
+if ${ac_cv_working_alloca_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6116,7 +6516,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
 $as_echo_n "checking for alloca... " >&6; }
-if test "${ac_cv_func_alloca_works+set}" = set; then :
+if ${ac_cv_func_alloca_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6135,7 +6535,7 @@ else
  #pragma alloca
 #   else
 #    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
+void *alloca (size_t);
 #    endif
 #   endif
 #  endif
@@ -6181,9 +6581,9 @@ ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
 $as_echo "#define C_ALLOCA 1" >>confdefs.h
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether 'alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether 'alloca.c' needs Cray hooks... " >&6; }
-if test "${ac_cv_os_cray+set}" = set; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
+$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
+if ${ac_cv_os_cray+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6210,8 +6610,7 @@ if test $ac_cv_os_cray = yes; then
   for ac_func in _getb67 GETB67 getb67; do
     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
 
 cat >>confdefs.h <<_ACEOF
 #define CRAY_STACKSEG_END $ac_func
@@ -6225,7 +6624,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
 $as_echo_n "checking stack direction for C alloca... " >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then :
+if ${ac_cv_c_stack_direction+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -6358,8 +6757,7 @@ fi
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -6377,7 +6775,7 @@ done
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
 $as_echo_n "checking whether // is distinct from /... " >&6; }
-if test "${gl_cv_double_slash_root+set}" = set; then :
+if ${gl_cv_double_slash_root+:} false; then :
   $as_echo_n "(cached) " >&6
 else
    if test x"$cross_compiling" = xyes ; then
@@ -6418,7 +6816,7 @@ fi
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether realpath works" >&5
 $as_echo_n "checking whether realpath works... " >&6; }
-if test "${gl_cv_func_realpath_works+set}" = set; then :
+if ${gl_cv_func_realpath_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -6622,8 +7020,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -6817,7 +7214,7 @@ done
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5
 $as_echo_n "checking whether the preprocessor supports include_next... " >&6; }
-if test "${gl_cv_have_include_next+set}" = set; then :
+if ${gl_cv_have_include_next+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftestd1a conftestd1b conftestd2
@@ -6897,7 +7294,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system header files limit the line length" >&5
 $as_echo_n "checking whether system header files limit the line length... " >&6; }
-if test "${gl_cv_pragma_columns+set}" = set; then :
+if ${gl_cv_pragma_columns+:} false; then :
   $as_echo_n "(cached) " >&6
 else
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6938,7 +7335,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5
 $as_echo_n "checking if environ is properly declared... " >&6; }
-  if test "${gt_cv_var_environ_declaration+set}" = set; then :
+  if ${gt_cv_var_environ_declaration+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -6984,7 +7381,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5
 $as_echo_n "checking for complete errno.h... " >&6; }
-if test "${gl_cv_header_errno_h_complete+set}" = set; then :
+if ${gl_cv_header_errno_h_complete+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7073,7 +7470,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <errno.h>" >&5
 $as_echo_n "checking absolute name of <errno.h>... " >&6; }
-if test "${gl_cv_next_errno_h+set}" = set; then :
+if ${gl_cv_next_errno_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7146,7 +7543,7 @@ fi
   if test -n "$ERRNO_H"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5
 $as_echo_n "checking for EMULTIHOP value... " >&6; }
-if test "${gl_cv_header_errno_h_EMULTIHOP+set}" = set; then :
+if ${gl_cv_header_errno_h_EMULTIHOP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7217,7 +7614,7 @@ fi
   if test -n "$ERRNO_H"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5
 $as_echo_n "checking for ENOLINK value... " >&6; }
-if test "${gl_cv_header_errno_h_ENOLINK+set}" = set; then :
+if ${gl_cv_header_errno_h_ENOLINK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7288,7 +7685,7 @@ fi
   if test -n "$ERRNO_H"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5
 $as_echo_n "checking for EOVERFLOW value... " >&6; }
-if test "${gl_cv_header_errno_h_EOVERFLOW+set}" = set; then :
+if ${gl_cv_header_errno_h_EOVERFLOW+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7357,7 +7754,7 @@ fi
 
 
 ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strerror_r" = x""yes; then :
+if test "x$ac_cv_have_decl_strerror_r" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7370,7 +7767,7 @@ _ACEOF
 for ac_func in strerror_r
 do :
   ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r"
-if test "x$ac_cv_func_strerror_r" = x""yes; then :
+if test "x$ac_cv_func_strerror_r" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_STRERROR_R 1
 _ACEOF
@@ -7380,7 +7777,7 @@ done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5
 $as_echo_n "checking whether strerror_r returns char *... " >&6; }
-if test "${ac_cv_func_strerror_r_char_p+set}" = set; then :
+if ${ac_cv_func_strerror_r_char_p+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7449,10 +7846,13 @@ if test $ac_cv_func_strerror_r_char_p = 
 fi
 
 
+  XGETTEXT_EXTRA_OPTIONS=
+
+
 
 
 ac_fn_c_check_decl "$LINENO" "fchdir" "ac_cv_have_decl_fchdir" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fchdir" = x""yes; then :
+if test "x$ac_cv_have_decl_fchdir" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7484,7 +7884,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5
 $as_echo_n "checking for working fcntl.h... " >&6; }
-if test "${gl_cv_header_working_fcntl_h+set}" = set; then :
+if ${gl_cv_header_working_fcntl_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -7624,7 +8024,7 @@ _ACEOF
 
 
 ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = x""yes; then :
+if test "x$ac_cv_type_pid_t" = xyes; then :
 
 else
 
@@ -7635,7 +8035,7 @@ _ACEOF
 fi
 
 ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
-if test "x$ac_cv_type_mode_t" = x""yes; then :
+if test "x$ac_cv_type_mode_t" = xyes; then :
 
 else
 
@@ -7653,7 +8053,7 @@ fi
 
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5
 $as_echo_n "checking for mbstate_t... " >&6; }
-if test "${ac_cv_type_mbstate_t+set}" = set; then :
+if ${ac_cv_type_mbstate_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7969,7 +8369,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexp() can be used without linking with libm" >&5
 $as_echo_n "checking whether frexp() can be used without linking with libm... " >&6; }
-if test "${gl_cv_func_frexp_no_libm+set}" = set; then :
+if ${gl_cv_func_frexp_no_libm+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7998,7 +8398,7 @@ fi
 $as_echo "$gl_cv_func_frexp_no_libm" >&6; }
 
 ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default"
-if test "x$ac_cv_have_decl_alarm" = x""yes; then :
+if test "x$ac_cv_have_decl_alarm" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -8011,7 +8411,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether long double and double are the same" >&5
 $as_echo_n "checking whether long double and double are the same... " >&6; }
-if test "${gl_cv_long_double_equals_double+set}" = set; then :
+if ${gl_cv_long_double_equals_double+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8087,7 +8487,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
 $as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
-if test "${ac_cv_header_stat_broken+set}" = set; then :
+if ${ac_cv_header_stat_broken+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8135,7 +8535,7 @@ fi
     mingw*)
                         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5
 $as_echo_n "checking for 64-bit off_t... " >&6; }
-if test "${gl_cv_type_off_t_64+set}" = set; then :
+if ${gl_cv_type_off_t_64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8193,7 +8593,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/stat.h>" >&5
 $as_echo_n "checking absolute name of <sys/stat.h>... " >&6; }
-if test "${gl_cv_next_sys_stat_h+set}" = set; then :
+if ${gl_cv_next_sys_stat_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -8273,7 +8673,7 @@ fi
       ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h>
      #include <sys/stat.h>
 "
-if test "x$ac_cv_type_nlink_t" = x""yes; then :
+if test "x$ac_cv_type_nlink_t" = xyes; then :
 
 else
 
@@ -8287,7 +8687,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8313,8 +8713,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8327,7 +8726,7 @@ fi
 
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5
 $as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; }
-if test "${gl_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then :
+if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f conftest.sym conftest.file
@@ -8391,7 +8790,7 @@ _ACEOF
 
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5
 $as_echo_n "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; }
-if test "${gl_cv_func_getcwd_null+set}" = set; then :
+if ${gl_cv_func_getcwd_null+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -8462,7 +8861,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getcwd with POSIX signature" >&5
 $as_echo_n "checking for getcwd with POSIX signature... " >&6; }
-if test "${gl_cv_func_getcwd_posix_signature+set}" = set; then :
+if ${gl_cv_func_getcwd_posix_signature+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8494,7 +8893,7 @@ fi
 $as_echo "$gl_cv_func_getcwd_posix_signature" >&6; }
 
 ac_fn_c_check_decl "$LINENO" "getcwd" "ac_cv_have_decl_getcwd" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getcwd" = x""yes; then :
+if test "x$ac_cv_have_decl_getcwd" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -8507,7 +8906,7 @@ _ACEOF
 
 
 ac_fn_c_check_decl "$LINENO" "getdtablesize" "ac_cv_have_decl_getdtablesize" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getdtablesize" = x""yes; then :
+if test "x$ac_cv_have_decl_getdtablesize" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -8518,7 +8917,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 ac_fn_c_check_decl "$LINENO" "getlogin_r" "ac_cv_have_decl_getlogin_r" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getlogin_r" = x""yes; then :
+if test "x$ac_cv_have_decl_getlogin_r" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -8531,7 +8930,7 @@ _ACEOF
 
 
 ac_fn_c_check_decl "$LINENO" "getlogin" "ac_cv_have_decl_getlogin" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getlogin" = x""yes; then :
+if test "x$ac_cv_have_decl_getlogin" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -8547,7 +8946,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5
 $as_echo_n "checking for C/C++ restrict keyword... " >&6; }
-if test "${ac_cv_c_restrict+set}" = set; then :
+if ${ac_cv_c_restrict+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_restrict=no
@@ -8622,7 +9021,7 @@ _ACEOF
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/time.h>" >&5
 $as_echo_n "checking absolute name of <sys/time.h>... " >&6; }
-if test "${gl_cv_next_sys_time_h+set}" = set; then :
+if ${gl_cv_next_sys_time_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -8699,7 +9098,7 @@ fi
                     for ac_header in winsock2.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
-if test "x$ac_cv_header_winsock2_h" = x""yes; then :
+if test "x$ac_cv_header_winsock2_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINSOCK2_H 1
 _ACEOF
@@ -8720,7 +9119,7 @@ done
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5
 $as_echo_n "checking for struct timeval... " >&6; }
-if test "${gl_cv_sys_struct_timeval+set}" = set; then :
+if ${gl_cv_sys_struct_timeval+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8756,7 +9155,7 @@ fi
   else
                             { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wide-enough struct timeval.tv_sec member" >&5
 $as_echo_n "checking for wide-enough struct timeval.tv_sec member... " >&6; }
-if test "${gl_cv_sys_struct_timeval_tv_sec+set}" = set; then :
+if ${gl_cv_sys_struct_timeval_tv_sec+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8801,7 +9200,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8831,8 +9230,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8868,7 +9266,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <limits.h>" >&5
 $as_echo_n "checking absolute name of <limits.h>... " >&6; }
-if test "${gl_cv_next_limits_h+set}" = set; then :
+if ${gl_cv_next_limits_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -8935,7 +9333,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether limits.h has ULLONG_WIDTH etc." >&5
 $as_echo_n "checking whether limits.h has ULLONG_WIDTH etc.... " >&6; }
-if test "${gl_cv_header_limits_width+set}" = set; then :
+if ${gl_cv_header_limits_width+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8980,7 +9378,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5
 $as_echo_n "checking for unsigned long long int... " >&6; }
-if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then :
+if ${ac_cv_type_unsigned_long_long_int+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_type_unsigned_long_long_int=yes
@@ -9038,7 +9436,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5
 $as_echo_n "checking for long long int... " >&6; }
-if test "${ac_cv_type_long_long_int+set}" = set; then :
+if ${ac_cv_type_long_long_int+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_type_long_long_int=yes
@@ -9195,7 +9593,7 @@ rm -f core conftest.err conftest.$ac_obj
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdint.h>" >&5
 $as_echo_n "checking absolute name of <stdint.h>... " >&6; }
-if test "${gl_cv_next_stdint_h+set}" = set; then :
+if ${gl_cv_next_stdint_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -9269,7 +9667,7 @@ fi
     if test $ac_cv_header_stdint_h = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5
 $as_echo_n "checking whether stdint.h conforms to C99... " >&6; }
-if test "${gl_cv_header_working_stdint_h+set}" = set; then :
+if ${gl_cv_header_working_stdint_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   gl_cv_header_working_stdint_h=no
@@ -9553,7 +9951,7 @@ fi
     HAVE_C99_STDINT_H=1
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h predates C++11" >&5
 $as_echo_n "checking whether stdint.h predates C++11... " >&6; }
-if test "${gl_cv_header_stdint_predates_cxx11_h+set}" = set; then :
+if ${gl_cv_header_stdint_predates_cxx11_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   gl_cv_header_stdint_predates_cxx11_h=yes
@@ -9605,7 +10003,7 @@ fi
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h has UINTMAX_WIDTH etc." >&5
 $as_echo_n "checking whether stdint.h has UINTMAX_WIDTH etc.... " >&6; }
-if test "${gl_cv_header_stdint_width+set}" = set; then :
+if ${gl_cv_header_stdint_width+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   gl_cv_header_stdint_width=no
@@ -9654,8 +10052,7 @@ fi
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -9678,7 +10075,7 @@ done
   for gltype in ptrdiff_t size_t ; do
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
 $as_echo_n "checking for bit size of $gltype... " >&6; }
-if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${gl_cv_bitsizeof_${gltype}+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result"        "
@@ -9723,7 +10120,7 @@ _ACEOF
   for gltype in sig_atomic_t wchar_t wint_t ; do
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
 $as_echo_n "checking for bit size of $gltype... " >&6; }
-if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${gl_cv_bitsizeof_${gltype}+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result"        "
@@ -9767,7 +10164,7 @@ _ACEOF
   for gltype in sig_atomic_t wchar_t wint_t ; do
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5
 $as_echo_n "checking whether $gltype is signed... " >&6; }
-if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${gl_cv_type_${gltype}_signed+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9826,7 +10223,7 @@ _ACEOF
   for gltype in ptrdiff_t size_t ; do
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
 $as_echo_n "checking for $gltype integer literal suffix... " >&6; }
-if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${gl_cv_type_${gltype}_suffix+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval gl_cv_type_${gltype}_suffix=no
@@ -9898,7 +10295,7 @@ _ACEOF
   for gltype in sig_atomic_t wchar_t wint_t ; do
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
 $as_echo_n "checking for $gltype integer literal suffix... " >&6; }
-if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${gl_cv_type_${gltype}_suffix+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval gl_cv_type_${gltype}_suffix=no
@@ -10034,7 +10431,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <inttypes.h>" >&5
 $as_echo_n "checking absolute name of <inttypes.h>... " >&6; }
-if test "${gl_cv_next_inttypes_h+set}" = set; then :
+if ${gl_cv_next_inttypes_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -10106,7 +10503,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -10132,8 +10529,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -10147,7 +10543,7 @@ fi
   for ac_header in inttypes.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"
-if test "x$ac_cv_header_inttypes_h" = x""yes; then :
+if test "x$ac_cv_header_inttypes_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_INTTYPES_H 1
 _ACEOF
@@ -10159,7 +10555,7 @@ done
   if test $ac_cv_header_inttypes_h = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5
 $as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; }
-if test "${gt_cv_inttypes_pri_broken+set}" = set; then :
+if ${gt_cv_inttypes_pri_broken+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -10205,7 +10601,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5
 $as_echo_n "checking where to find the exponent in a 'double'... " >&6; }
-if test "${gl_cv_cc_double_expbit0+set}" = set; then :
+if ${gl_cv_cc_double_expbit0+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -10225,7 +10621,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&
 else
 
                                                          :
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -10551,7 +10947,7 @@ _ACEOF
 
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -10769,7 +11165,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -10777,7 +11173,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${am_cv_langinfo_codeset+set}" = set; then :
+if ${am_cv_langinfo_codeset+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -10809,7 +11205,7 @@ fi
   fi
 
 ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getc_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -10822,7 +11218,7 @@ _ACEOF
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5
 $as_echo_n "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; }
-if test "${ac_cv_gnu_library_2_1+set}" = set; then :
+if ${ac_cv_gnu_library_2_1+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -10861,7 +11257,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5
 $as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; }
-if test "${gl_cv_func_malloc_posix+set}" = set; then :
+if ${gl_cv_func_malloc_posix+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -10895,7 +11291,7 @@ fi
       for ac_header in stdlib.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = x""yes; then :
+if test "x$ac_cv_header_stdlib_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_STDLIB_H 1
 _ACEOF
@@ -10906,7 +11302,7 @@ done
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
 $as_echo_n "checking for GNU libc compatible malloc... " >&6; }
-if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then :
+if ${ac_cv_func_malloc_0_nonnull+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -11069,7 +11465,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
 $as_echo_n "checking for a traditional japanese locale... " >&6; }
-if test "${gt_cv_locale_ja+set}" = set; then :
+if ${gt_cv_locale_ja+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -11208,7 +11604,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
 $as_echo_n "checking for a transitional chinese locale... " >&6; }
-if test "${gt_cv_locale_zh_CN+set}" = set; then :
+if ${gt_cv_locale_zh_CN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -11340,7 +11736,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
 $as_echo_n "checking for a french Unicode locale... " >&6; }
-if test "${gt_cv_locale_fr_utf8+set}" = set; then :
+if ${gt_cv_locale_fr_utf8+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -11469,7 +11865,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
 $as_echo_n "checking for a traditional french locale... " >&6; }
-if test "${gt_cv_locale_fr+set}" = set; then :
+if ${gt_cv_locale_fr+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -11686,7 +12082,7 @@ fi
   # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is
   # irrelevant for anonymous mappings.
   ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = x""yes; then :
+if test "x$ac_cv_func_mmap" = xyes; then :
   gl_have_mmap=yes
 else
   gl_have_mmap=no
@@ -11757,7 +12153,7 @@ rm -f conftest*
     # Assume that memchr works on platforms that lack mprotect.
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memchr works" >&5
 $as_echo_n "checking whether memchr works... " >&6; }
-if test "${gl_cv_func_memchr_works+set}" = set; then :
+if ${gl_cv_func_memchr_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -11836,7 +12232,7 @@ fi
   fi
 
 ac_fn_c_check_decl "$LINENO" "memmem" "ac_cv_have_decl_memmem" "$ac_includes_default"
-if test "x$ac_cv_have_decl_memmem" = x""yes; then :
+if test "x$ac_cv_have_decl_memmem" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -11853,7 +12249,7 @@ _ACEOF
   for ac_func in memmem
 do :
   ac_fn_c_check_func "$LINENO" "memmem" "ac_cv_func_memmem"
-if test "x$ac_cv_func_memmem" = x""yes; then :
+if test "x$ac_cv_func_memmem" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_MEMMEM 1
 _ACEOF
@@ -11872,7 +12268,7 @@ done
   else
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmem works" >&5
 $as_echo_n "checking whether memmem works... " >&6; }
-if test "${gl_cv_func_memmem_works_always+set}" = set; then :
+if ${gl_cv_func_memmem_works_always+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -11957,7 +12353,7 @@ fi
   :
 
 ac_fn_c_check_decl "$LINENO" "memrchr" "ac_cv_have_decl_memrchr" "$ac_includes_default"
-if test "x$ac_cv_have_decl_memrchr" = x""yes; then :
+if test "x$ac_cv_have_decl_memrchr" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -11972,9 +12368,11 @@ _ACEOF
 
 
 
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5
 $as_echo_n "checking for promoted mode_t type... " >&6; }
-if test "${gl_cv_promoted_mode_t+set}" = set; then :
+if ${gl_cv_promoted_mode_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -12112,8 +12510,18 @@ _ACEOF
 
 
 
+
+
+
+
+
+
+
+
+
+
 ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_setenv" = x""yes; then :
+if test "x$ac_cv_have_decl_setenv" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12139,7 +12547,7 @@ _ACEOF
   for ac_header in search.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default"
-if test "x$ac_cv_header_search_h" = x""yes; then :
+if test "x$ac_cv_header_search_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SEARCH_H 1
 _ACEOF
@@ -12151,7 +12559,7 @@ done
   for ac_func in tsearch
 do :
   ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch"
-if test "x$ac_cv_func_tsearch" = x""yes; then :
+if test "x$ac_cv_func_tsearch" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_TSEARCH 1
 _ACEOF
@@ -12188,7 +12596,7 @@ done
       #include <sys/types.h>
 
 "
-if test "x$ac_cv_type_sigset_t" = x""yes; then :
+if test "x$ac_cv_type_sigset_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SIGSET_T 1
@@ -12205,7 +12613,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
 $as_echo_n "checking for uid_t in sys/types.h... " >&6; }
-if test "${ac_cv_type_uid_t+set}" = set; then :
+if ${ac_cv_type_uid_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12235,7 +12643,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
-if test "${ac_cv_header_stdbool_h+set}" = set; then :
+if ${ac_cv_header_stdbool_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12318,7 +12726,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
 $as_echo "$ac_cv_header_stdbool_h" >&6; }
    ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
-if test "x$ac_cv_type__Bool" = x""yes; then :
+if test "x$ac_cv_type__Bool" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE__BOOL 1
@@ -12336,7 +12744,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
 $as_echo_n "checking for wchar_t... " >&6; }
-if test "${gt_cv_c_wchar_t+set}" = set; then :
+if ${gt_cv_c_wchar_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12369,7 +12777,7 @@ fi
 
 
 ac_fn_c_check_decl "$LINENO" "strdup" "ac_cv_have_decl_strdup" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strdup" = x""yes; then :
+if test "x$ac_cv_have_decl_strdup" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12383,7 +12791,7 @@ _ACEOF
      REPLACE_STRERROR_0=0
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5
 $as_echo_n "checking whether strerror(0) succeeds... " >&6; }
-if test "${gl_cv_func_strerror_0_works+set}" = set; then :
+if ${gl_cv_func_strerror_0_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -12455,7 +12863,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <string.h>" >&5
 $as_echo_n "checking absolute name of <string.h>... " >&6; }
-if test "${gl_cv_next_string_h+set}" = set; then :
+if ${gl_cv_next_string_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -12519,7 +12927,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12545,8 +12953,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -12564,7 +12971,7 @@ fi
   else
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strstr works" >&5
 $as_echo_n "checking whether strstr works... " >&6; }
-if test "${gl_cv_func_strstr_works_always+set}" = set; then :
+if ${gl_cv_func_strstr_works_always+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -12636,7 +13043,7 @@ fi
   fi
 
 ac_fn_c_check_decl "$LINENO" "strtok_r" "ac_cv_have_decl_strtok_r" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtok_r" = x""yes; then :
+if test "x$ac_cv_have_decl_strtok_r" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12649,7 +13056,7 @@ _ACEOF
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
 if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then :
+  if ${ac_cv_path_mkdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -12659,7 +13066,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_prog in mkdir gmkdir; do
 	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
 	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
 	     'mkdir (GNU coreutils) '* | \
 	     'mkdir (coreutils) '* | \
@@ -12674,6 +13081,7 @@ IFS=$as_save_IFS
 
 fi
 
+  test -d ./--version && rmdir ./--version
   if test "${ac_cv_path_mkdir+set}" = set; then
     MKDIR_P="$ac_cv_path_mkdir -p"
   else
@@ -12681,7 +13089,6 @@ fi
     # value for MKDIR_P within a source directory, because that will
     # break other packages using the cache if that directory is
     # removed, or if the value is a relative name.
-    test -d ./--version && rmdir ./--version
     MKDIR_P="$ac_install_sh -d"
   fi
 fi
@@ -12711,7 +13118,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/types.h>" >&5
 $as_echo_n "checking absolute name of <sys/types.h>... " >&6; }
-if test "${gl_cv_next_sys_types_h+set}" = set; then :
+if ${gl_cv_next_sys_types_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -12800,7 +13207,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <time.h>" >&5
 $as_echo_n "checking for struct timespec in <time.h>... " >&6; }
-if test "${gl_cv_sys_struct_timespec_in_time_h+set}" = set; then :
+if ${gl_cv_sys_struct_timespec_in_time_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12834,7 +13241,7 @@ fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <sys/time.h>" >&5
 $as_echo_n "checking for struct timespec in <sys/time.h>... " >&6; }
-if test "${gl_cv_sys_struct_timespec_in_sys_time_h+set}" = set; then :
+if ${gl_cv_sys_struct_timespec_in_sys_time_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12863,7 +13270,7 @@ fi
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <pthread.h>" >&5
 $as_echo_n "checking for struct timespec in <pthread.h>... " >&6; }
-if test "${gl_cv_sys_struct_timespec_in_pthread_h+set}" = set; then :
+if ${gl_cv_sys_struct_timespec_in_pthread_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12892,7 +13299,7 @@ fi
       else
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <unistd.h>" >&5
 $as_echo_n "checking for struct timespec in <unistd.h>... " >&6; }
-if test "${gl_cv_sys_struct_timespec_in_unistd_h+set}" = set; then :
+if ${gl_cv_sys_struct_timespec_in_unistd_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12943,7 +13350,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <time.h>" >&5
 $as_echo_n "checking absolute name of <time.h>... " >&6; }
-if test "${gl_cv_next_time_h+set}" = set; then :
+if ${gl_cv_next_time_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -13006,7 +13413,7 @@ fi
 
 
 ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_unsetenv" = x""yes; then :
+if test "x$ac_cv_have_decl_unsetenv" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13019,7 +13426,7 @@ _ACEOF
 
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <wchar.h> uses 'inline' correctly" >&5
 $as_echo_n "checking whether <wchar.h> uses 'inline' correctly... " >&6; }
-if test "${gl_cv_header_wchar_h_correct_inline+set}" = set; then :
+if ${gl_cv_header_wchar_h_correct_inline+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   gl_cv_header_wchar_h_correct_inline=yes
@@ -13081,7 +13488,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5
 $as_echo "$gl_cv_header_wchar_h_correct_inline" >&6; }
   if test $gl_cv_header_wchar_h_correct_inline = no; then
-    as_fn_error "<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
+    as_fn_error $? "<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
 This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in
 C99 mode. You have four options:
   - Add the flag -fgnu89-inline to CC and reconfigure, or
@@ -13106,7 +13513,7 @@ Configuration aborted." "$LINENO" 5
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
 $as_echo_n "checking for wint_t... " >&6; }
-if test "${gt_cv_c_wint_t+set}" = set; then :
+if ${gt_cv_c_wint_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13190,7 +13597,7 @@ fi
   if test $ac_cv_working_alloca_h = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5
 $as_echo_n "checking for alloca as a compiler built-in... " >&6; }
-if test "${gl_cv_rpl_alloca+set}" = set; then :
+if ${gl_cv_rpl_alloca+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -13337,7 +13744,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether this system has an arbitrary file name length limit" >&5
 $as_echo_n "checking whether this system has an arbitrary file name length limit... " >&6; }
-if test "${gl_cv_have_arbitrary_file_name_length_limit+set}" = set; then :
+if ${gl_cv_have_arbitrary_file_name_length_limit+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13412,7 +13819,7 @@ fi
                     for ac_header in winsock2.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
-if test "x$ac_cv_header_winsock2_h" = x""yes; then :
+if test "x$ac_cv_header_winsock2_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINSOCK2_H 1
 _ACEOF
@@ -13483,7 +13890,7 @@ done
   for ac_func in closedir
 do :
   ac_fn_c_check_func "$LINENO" "closedir" "ac_cv_func_closedir"
-if test "x$ac_cv_func_closedir" = x""yes; then :
+if test "x$ac_cv_func_closedir" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_CLOSEDIR 1
 _ACEOF
@@ -13546,7 +13953,7 @@ done
 
   fi
     if test "x$docdir" = x; then
-    docdir='${datarootdir}/doc/${PACKAGE}'
+    docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
 
   fi
     if test "x$htmldir" = x; then
@@ -13583,7 +13990,7 @@ done
 
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_ino member in directory struct" >&5
 $as_echo_n "checking for d_ino member in directory struct... " >&6; }
-if test "${gl_cv_struct_dirent_d_ino+set}" = set; then :
+if ${gl_cv_struct_dirent_d_ino+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -13646,7 +14053,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_type member in directory struct" >&5
 $as_echo_n "checking for d_type member in directory struct... " >&6; }
-if test "${gl_cv_struct_dirent_d_type+set}" = set; then :
+if ${gl_cv_struct_dirent_d_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13699,7 +14106,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <dirent.h>" >&5
 $as_echo_n "checking absolute name of <dirent.h>... " >&6; }
-if test "${gl_cv_next_dirent_h+set}" = set; then :
+if ${gl_cv_next_dirent_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -13775,7 +14182,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13801,8 +14208,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13820,7 +14226,7 @@ fi
   for ac_func in dirfd
 do :
   ac_fn_c_check_func "$LINENO" "dirfd" "ac_cv_func_dirfd"
-if test "x$ac_cv_func_dirfd" = x""yes; then :
+if test "x$ac_cv_func_dirfd" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DIRFD 1
 _ACEOF
@@ -13831,7 +14237,7 @@ done
   ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
       #include <dirent.h>
 "
-if test "x$ac_cv_have_decl_dirfd" = x""yes; then :
+if test "x$ac_cv_have_decl_dirfd" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -13847,7 +14253,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dirfd is a macro" >&5
 $as_echo_n "checking whether dirfd is a macro... " >&6; }
-if test "${gl_cv_func_dirfd_macro+set}" = set; then :
+if ${gl_cv_func_dirfd_macro+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13897,7 +14303,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to get the file descriptor associated with an open DIR*" >&5
 $as_echo_n "checking how to get the file descriptor associated with an open DIR*... " >&6; }
-if test "${gl_cv_sys_dir_fd_member_name+set}" = set; then :
+if ${gl_cv_sys_dir_fd_member_name+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -13967,7 +14373,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
 $as_echo_n "checking whether // is distinct from /... " >&6; }
-if test "${gl_cv_double_slash_root+set}" = set; then :
+if ${gl_cv_double_slash_root+:} false; then :
   $as_echo_n "(cached) " >&6
 else
    if test x"$cross_compiling" = xyes ; then
@@ -14022,7 +14428,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup works" >&5
 $as_echo_n "checking whether dup works... " >&6; }
-if test "${gl_cv_func_dup_works+set}" = set; then :
+if ${gl_cv_func_dup_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -14104,7 +14510,7 @@ fi
   if test $HAVE_DUP2 = 1; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5
 $as_echo_n "checking whether dup2 works... " >&6; }
-if test "${gl_cv_func_dup2_works+set}" = set; then :
+if ${gl_cv_func_dup2_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -14210,7 +14616,7 @@ fi
         for ac_func in setdtablesize
 do :
   ac_fn_c_check_func "$LINENO" "setdtablesize" "ac_cv_func_setdtablesize"
-if test "x$ac_cv_func_setdtablesize" = x""yes; then :
+if test "x$ac_cv_func_setdtablesize" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SETDTABLESIZE 1
 _ACEOF
@@ -14284,7 +14690,7 @@ done
 
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
 $as_echo_n "checking for error_at_line... " >&6; }
-if test "${ac_cv_lib_error_at_line+set}" = set; then :
+if ${ac_cv_lib_error_at_line+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14327,6 +14733,13 @@ fi
   fi
 
 
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format"
+
+
+
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format"
+
+
 
 
 
@@ -14354,7 +14767,7 @@ fi
 
                 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open can visit directories" >&5
 $as_echo_n "checking whether open can visit directories... " >&6; }
-if test "${gl_cv_func_open_directory_works+set}" = set; then :
+if ${gl_cv_func_open_directory_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -14433,7 +14846,7 @@ fi
   else
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl handles F_DUPFD correctly" >&5
 $as_echo_n "checking whether fcntl handles F_DUPFD correctly... " >&6; }
-if test "${gl_cv_func_fcntl_f_dupfd_works+set}" = set; then :
+if ${gl_cv_func_fcntl_f_dupfd_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -14519,7 +14932,7 @@ fi
 
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl understands F_DUPFD_CLOEXEC" >&5
 $as_echo_n "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; }
-if test "${gl_cv_func_fcntl_f_dupfd_cloexec+set}" = set; then :
+if ${gl_cv_func_fcntl_f_dupfd_cloexec+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14645,7 +15058,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <fcntl.h>" >&5
 $as_echo_n "checking absolute name of <fcntl.h>... " >&6; }
-if test "${gl_cv_next_fcntl_h+set}" = set; then :
+if ${gl_cv_next_fcntl_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -14713,7 +15126,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14739,8 +15152,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -14759,7 +15171,7 @@ fi
 #include <dirent.h>
 
 "
-if test "x$ac_cv_have_decl_fdopendir" = x""yes; then :
+if test "x$ac_cv_have_decl_fdopendir" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -14780,7 +15192,7 @@ fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fdopendir works" >&5
 $as_echo_n "checking whether fdopendir works... " >&6; }
-if test "${gl_cv_func_fdopendir_works+set}" = set; then :
+if ${gl_cv_func_fdopendir_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -14879,7 +15291,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for flexible array member" >&5
 $as_echo_n "checking for flexible array member... " >&6; }
-if test "${ac_cv_c_flexmember+set}" = set; then :
+if ${ac_cv_c_flexmember+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14973,7 +15385,7 @@ rm -f conftest*
     REPLACE_ITOLD=0
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether conversion from 'int' to 'long double' works" >&5
 $as_echo_n "checking whether conversion from 'int' to 'long double' works... " >&6; }
-if test "${gl_cv_func_itold_works+set}" = set; then :
+if ${gl_cv_func_itold_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -15046,7 +15458,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <float.h>" >&5
 $as_echo_n "checking absolute name of <float.h>... " >&6; }
-if test "${gl_cv_next_float_h+set}" = set; then :
+if ${gl_cv_next_float_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -15152,7 +15564,7 @@ fi
   gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working $gl_fnmatch_required fnmatch" >&5
 $as_echo_n "checking for working $gl_fnmatch_required fnmatch... " >&6; }
-if { as_var=$gl_fnmatch_cache_var; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$gl_fnmatch_cache_var+:} false; then :
   $as_echo_n "(cached) " >&6
 else
                            if test $gl_fnmatch_required = GNU; then
@@ -15301,7 +15713,7 @@ _ACEOF
 
   ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include <ctype.h>
 "
-if test "x$ac_cv_have_decl_isblank" = x""yes; then :
+if test "x$ac_cv_have_decl_isblank" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -15340,7 +15752,7 @@ _ACEOF
 
   ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include <ctype.h>
 "
-if test "x$ac_cv_have_decl_isblank" = x""yes; then :
+if test "x$ac_cv_have_decl_isblank" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -15361,7 +15773,7 @@ _ACEOF
   if test $gl_cv_func_frexp_no_libm = no; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexp() can be used with libm" >&5
 $as_echo_n "checking whether frexp() can be used with libm... " >&6; }
-if test "${gl_cv_func_frexp_in_libm+set}" = set; then :
+if ${gl_cv_func_frexp_in_libm+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -15404,7 +15816,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexp works" >&5
 $as_echo_n "checking whether frexp works... " >&6; }
-if test "${gl_cv_func_frexp_works+set}" = set; then :
+if ${gl_cv_func_frexp_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -15546,7 +15958,7 @@ fi
 
       ac_fn_c_check_decl "$LINENO" "frexpl" "ac_cv_have_decl_frexpl" "#include <math.h>
 "
-if test "x$ac_cv_have_decl_frexpl" = x""yes; then :
+if test "x$ac_cv_have_decl_frexpl" = xyes; then :
 
 else
   HAVE_DECL_FREXPL=0
@@ -15558,7 +15970,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexpl() can be used without linking with libm" >&5
 $as_echo_n "checking whether frexpl() can be used without linking with libm... " >&6; }
-if test "${gl_cv_func_frexpl_no_libm+set}" = set; then :
+if ${gl_cv_func_frexpl_no_libm+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -15589,7 +16001,7 @@ fi
     if test $gl_cv_func_frexpl_no_libm = no; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexpl() can be used with libm" >&5
 $as_echo_n "checking whether frexpl() can be used with libm... " >&6; }
-if test "${gl_cv_func_frexpl_in_libm+set}" = set; then :
+if ${gl_cv_func_frexpl_in_libm+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -15631,7 +16043,7 @@ fi
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexpl works" >&5
 $as_echo_n "checking whether frexpl works... " >&6; }
-if test "${gl_cv_func_frexpl_works+set}" = set; then :
+if ${gl_cv_func_frexpl_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -15875,7 +16287,7 @@ fi
   else
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fstatat (..., 0) works" >&5
 $as_echo_n "checking whether fstatat (..., 0) works... " >&6; }
-if test "${gl_cv_func_fstatat_zero_flag+set}" = set; then :
+if ${gl_cv_func_fstatat_zero_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -15971,7 +16383,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd handles long file names properly" >&5
 $as_echo_n "checking whether getcwd handles long file names properly... " >&6; }
-if test "${gl_cv_func_getcwd_path_max+set}" = set; then :
+if ${gl_cv_func_getcwd_path_max+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # Arrange for deletion of the temporary directory this test creates.
@@ -16208,7 +16620,7 @@ fi
   for ac_func in getpagesize
 do :
   ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
-if test "x$ac_cv_func_getpagesize" = x""yes; then :
+if test "x$ac_cv_func_getpagesize" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_GETPAGESIZE 1
 _ACEOF
@@ -16218,7 +16630,7 @@ done
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd aborts when 4k < cwd_length < 16k" >&5
 $as_echo_n "checking whether getcwd aborts when 4k < cwd_length < 16k... " >&6; }
-if test "${gl_cv_func_getcwd_abort_bug+set}" = set; then :
+if ${gl_cv_func_getcwd_abort_bug+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # Remove any remnants of a previous test.
@@ -16490,7 +16902,7 @@ _ACEOF
     # require setrlimit before getdtablesize() can report a larger value.
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getdtablesize works" >&5
 $as_echo_n "checking whether getdtablesize works... " >&6; }
-if test "${gl_cv_func_getdtablesize_works+set}" = set; then :
+if ${gl_cv_func_getdtablesize_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -16584,7 +16996,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getlogin_r works with small buffers" >&5
 $as_echo_n "checking whether getlogin_r works with small buffers... " >&6; }
-if test "${gl_cv_func_getlogin_r_works+set}" = set; then :
+if ${gl_cv_func_getlogin_r_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -16680,7 +17092,7 @@ fi
   ac_found=0
   ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
 "
-if test "x$ac_cv_have_decl_program_invocation_name" = x""yes; then :
+if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -16695,7 +17107,7 @@ fi
 
   ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include <errno.h>
 "
-if test "x$ac_cv_have_decl_program_invocation_short_name" = x""yes; then :
+if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -16710,7 +17122,7 @@ fi
 
   ac_fn_c_check_decl "$LINENO" "__argv" "ac_cv_have_decl___argv" "#include <stdlib.h>
 "
-if test "x$ac_cv_have_decl___argv" = x""yes; then :
+if test "x$ac_cv_have_decl___argv" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -16730,7 +17142,7 @@ fi
     # the only way to implement getprogname.
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __progname is defined in default libraries" >&5
 $as_echo_n "checking whether __progname is defined in default libraries... " >&6; }
-if test "${gl_cv_var___progname+set}" = set; then :
+if ${gl_cv_var___progname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -16782,7 +17194,7 @@ fi
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5
 $as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; }
-if test "${gl_cv_func_gettimeofday_clobber+set}" = set; then :
+if ${gl_cv_func_gettimeofday_clobber+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -16847,7 +17259,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5
 $as_echo_n "checking for gettimeofday with POSIX signature... " >&6; }
-if test "${gl_cv_func_gettimeofday_posix_signature+set}" = set; then :
+if ${gl_cv_func_gettimeofday_posix_signature+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -16931,7 +17343,7 @@ _ACEOF
   for ac_header in sys/timeb.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_timeb_h" = x""yes; then :
+if test "x$ac_cv_header_sys_timeb_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SYS_TIMEB_H 1
 _ACEOF
@@ -16943,7 +17355,7 @@ done
   for ac_func in _ftime
 do :
   ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime"
-if test "x$ac_cv_func__ftime" = x""yes; then :
+if test "x$ac_cv_func__ftime" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE__FTIME 1
 _ACEOF
@@ -16972,7 +17384,7 @@ done
   for ac_header in glob.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "glob.h" "ac_cv_header_glob_h" "$ac_includes_default"
-if test "x$ac_cv_header_glob_h" = x""yes; then :
+if test "x$ac_cv_header_glob_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_GLOB_H 1
 _ACEOF
@@ -16987,7 +17399,7 @@ done
   if test -z "$GLOB_H"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU glob interface version 1" >&5
 $as_echo_n "checking for GNU glob interface version 1... " >&6; }
-if test "${gl_cv_gnu_glob_interface_version_1+set}" = set; then :
+if ${gl_cv_gnu_glob_interface_version_1+:} false; then :
   $as_echo_n "(cached) " >&6
 else
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -17013,7 +17425,7 @@ fi
   if test -z "$GLOB_H"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether glob lists broken symlinks" >&5
 $as_echo_n "checking whether glob lists broken symlinks... " >&6; }
-if test "${gl_cv_glob_lists_symlinks+set}" = set; then :
+if ${gl_cv_glob_lists_symlinks+:} false; then :
   $as_echo_n "(cached) " >&6
 else
        if ln -s conf-doesntexist conf$$-globtest 2>/dev/null; then
@@ -17137,7 +17549,7 @@ rm -f core conftest.err conftest.$ac_obj
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5
 $as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; }
-if test "${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+set}" = set; then :
+if ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -17189,7 +17601,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5
 $as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; }
-if test "${gl_cv_test_INT64_MAX_EQ_LONG_MAX+set}" = set; then :
+if ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -17243,7 +17655,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5
 $as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
-if test "${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+set}" = set; then :
+if ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -17295,7 +17707,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5
 $as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
-if test "${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+set}" = set; then :
+if ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -17353,7 +17765,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(double) can be used without linking with libm" >&5
 $as_echo_n "checking whether isnan(double) can be used without linking with libm... " >&6; }
-if test "${gl_cv_func_isnand_no_libm+set}" = set; then :
+if ${gl_cv_func_isnand_no_libm+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -17414,7 +17826,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(long double) can be used without linking with libm" >&5
 $as_echo_n "checking whether isnan(long double) can be used without linking with libm... " >&6; }
-if test "${gl_cv_func_isnanl_no_libm+set}" = set; then :
+if ${gl_cv_func_isnanl_no_libm+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -17457,7 +17869,7 @@ fi
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnanl works" >&5
 $as_echo_n "checking whether isnanl works... " >&6; }
-if test "${gl_cv_func_isnanl_works+set}" = set; then :
+if ${gl_cv_func_isnanl_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -17618,7 +18030,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5
 $as_echo_n "checking where to find the exponent in a 'long double'... " >&6; }
-if test "${gl_cv_cc_long_double_expbit0+set}" = set; then :
+if ${gl_cv_cc_long_double_expbit0+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -17842,7 +18254,7 @@ _ACEOF
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <math.h>" >&5
 $as_echo_n "checking absolute name of <math.h>... " >&6; }
-if test "${gl_cv_next_math_h+set}" = set; then :
+if ${gl_cv_next_math_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -17909,7 +18321,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NAN macro works" >&5
 $as_echo_n "checking whether NAN macro works... " >&6; }
-if test "${gl_cv_header_math_nan_works+set}" = set; then :
+if ${gl_cv_header_math_nan_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -17944,7 +18356,7 @@ fi
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether HUGE_VAL works" >&5
 $as_echo_n "checking whether HUGE_VAL works... " >&6; }
-if test "${gl_cv_header_math_huge_val_works+set}" = set; then :
+if ${gl_cv_header_math_huge_val_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -17978,7 +18390,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -18003,8 +18415,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -18030,7 +18441,7 @@ fi
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; }
-if test "${gl_cv_func_mbrtowc_incomplete_state+set}" = set; then :
+if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -18093,7 +18504,7 @@ fi
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; }
-if test "${gl_cv_func_mbrtowc_sanitycheck+set}" = set; then :
+if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -18183,7 +18594,7 @@ fi
 #include <wchar.h>
 
 "
-if test "x$ac_cv_have_decl_mbrtowc" = x""yes; then :
+if test "x$ac_cv_have_decl_mbrtowc" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -18205,7 +18616,7 @@ _ACEOF
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL pwc argument" >&5
 $as_echo_n "checking whether mbrtowc handles a NULL pwc argument... " >&6; }
-if test "${gl_cv_func_mbrtowc_null_arg1+set}" = set; then :
+if ${gl_cv_func_mbrtowc_null_arg1+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -18282,7 +18693,7 @@ fi
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL string argument" >&5
 $as_echo_n "checking whether mbrtowc handles a NULL string argument... " >&6; }
-if test "${gl_cv_func_mbrtowc_null_arg2+set}" = set; then :
+if ${gl_cv_func_mbrtowc_null_arg2+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -18349,7 +18760,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc has a correct return value" >&5
 $as_echo_n "checking whether mbrtowc has a correct return value... " >&6; }
-if test "${gl_cv_func_mbrtowc_retval+set}" = set; then :
+if ${gl_cv_func_mbrtowc_retval+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -18485,7 +18896,7 @@ fi
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc returns 0 when parsing a NUL character" >&5
 $as_echo_n "checking whether mbrtowc returns 0 when parsing a NUL character... " >&6; }
-if test "${gl_cv_func_mbrtowc_nul_retval+set}" = set; then :
+if ${gl_cv_func_mbrtowc_nul_retval+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -18546,7 +18957,7 @@ fi
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works on empty input" >&5
 $as_echo_n "checking whether mbrtowc works on empty input... " >&6; }
-if test "${gl_cv_func_mbrtowc_empty_input+set}" = set; then :
+if ${gl_cv_func_mbrtowc_empty_input+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -18588,7 +18999,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C locale is free of encoding errors" >&5
 $as_echo_n "checking whether the C locale is free of encoding errors... " >&6; }
-if test "${gl_cv_C_locale_sans_EILSEQ+set}" = set; then :
+if ${gl_cv_C_locale_sans_EILSEQ+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -18737,7 +19148,7 @@ fi
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; }
-if test "${gl_cv_func_mbrtowc_incomplete_state+set}" = set; then :
+if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -18800,7 +19211,7 @@ fi
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; }
-if test "${gl_cv_func_mbrtowc_sanitycheck+set}" = set; then :
+if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -18890,7 +19301,7 @@ fi
 #include <wchar.h>
 
 "
-if test "x$ac_cv_have_decl_mbsinit" = x""yes; then :
+if test "x$ac_cv_have_decl_mbsinit" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -18959,7 +19370,7 @@ _ACEOF
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; }
-if test "${gl_cv_func_mbrtowc_incomplete_state+set}" = set; then :
+if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -19022,7 +19433,7 @@ fi
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; }
-if test "${gl_cv_func_mbrtowc_sanitycheck+set}" = set; then :
+if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -19112,7 +19523,7 @@ fi
 #include <wchar.h>
 
 "
-if test "x$ac_cv_have_decl_mbsrtowcs" = x""yes; then :
+if test "x$ac_cv_have_decl_mbsrtowcs" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -19137,7 +19548,7 @@ _ACEOF
 
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbsrtowcs works" >&5
 $as_echo_n "checking whether mbsrtowcs works... " >&6; }
-if test "${gl_cv_func_mbsrtowcs_works+set}" = set; then :
+if ${gl_cv_func_mbsrtowcs_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -19305,7 +19716,7 @@ fi
   for ac_header in bp-sym.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "bp-sym.h" "ac_cv_header_bp_sym_h" "$ac_includes_default"
-if test "x$ac_cv_header_bp_sym_h" = x""yes; then :
+if test "x$ac_cv_header_bp_sym_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_BP_SYM_H 1
 _ACEOF
@@ -19336,7 +19747,7 @@ done
   if test $HAVE_DECL_MEMMEM = 1 && test $REPLACE_MEMMEM = 0; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmem works in linear time" >&5
 $as_echo_n "checking whether memmem works in linear time... " >&6; }
-if test "${gl_cv_func_memmem_works_fast+set}" = set; then :
+if ${gl_cv_func_memmem_works_fast+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -19445,7 +19856,7 @@ fi
   for ac_func in memmem
 do :
   ac_fn_c_check_func "$LINENO" "memmem" "ac_cv_func_memmem"
-if test "x$ac_cv_func_memmem" = x""yes; then :
+if test "x$ac_cv_func_memmem" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_MEMMEM 1
 _ACEOF
@@ -19464,7 +19875,7 @@ done
   else
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmem works" >&5
 $as_echo_n "checking whether memmem works... " >&6; }
-if test "${gl_cv_func_memmem_works_always+set}" = set; then :
+if ${gl_cv_func_memmem_works_always+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -19584,7 +19995,7 @@ fi
   for ac_func in mempcpy
 do :
   ac_fn_c_check_func "$LINENO" "mempcpy" "ac_cv_func_mempcpy"
-if test "x$ac_cv_func_mempcpy" = x""yes; then :
+if test "x$ac_cv_func_mempcpy" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_MEMPCPY 1
 _ACEOF
@@ -19638,7 +20049,7 @@ done
   for ac_func in memrchr
 do :
   ac_fn_c_check_func "$LINENO" "memrchr" "ac_cv_func_memrchr"
-if test "x$ac_cv_func_memrchr" = x""yes; then :
+if test "x$ac_cv_func_memrchr" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_MEMRCHR 1
 _ACEOF
@@ -19676,6 +20087,117 @@ done
 
 
 
+
+
+
+  if test $ac_cv_func_mkstemp = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mkstemp" >&5
+$as_echo_n "checking for working mkstemp... " >&6; }
+if ${gl_cv_func_working_mkstemp+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+        mkdir conftest.mkstemp
+        if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                     # Guess yes on glibc systems.
+             *-gnu*) gl_cv_func_working_mkstemp="guessing yes" ;;
+                     # If we don't know, assume the worst.
+             *)      gl_cv_func_working_mkstemp="guessing no" ;;
+           esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+int result = 0;
+              int i;
+              off_t large = (off_t) 4294967295u;
+              if (large < 0)
+                large = 2147483647;
+              umask (0);
+              for (i = 0; i < 70; i++)
+                {
+                  char templ[] = "conftest.mkstemp/coXXXXXX";
+                  int (*mkstemp_function) (char *) = mkstemp;
+                  int fd = mkstemp_function (templ);
+                  if (fd < 0)
+                    result |= 1;
+                  else
+                    {
+                      struct stat st;
+                      if (lseek (fd, large, SEEK_SET) != large)
+                        result |= 2;
+                      if (fstat (fd, &st) < 0)
+                        result |= 4;
+                      else if (st.st_mode & 0077)
+                        result |= 8;
+                      if (close (fd))
+                        result |= 16;
+                    }
+                }
+              return result;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_working_mkstemp=yes
+else
+  gl_cv_func_working_mkstemp=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+        rm -rf conftest.mkstemp
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mkstemp" >&5
+$as_echo "$gl_cv_func_working_mkstemp" >&6; }
+    case "$gl_cv_func_working_mkstemp" in
+      *yes) ;;
+      *)
+        REPLACE_MKSTEMP=1
+        ;;
+    esac
+  else
+    HAVE_MKSTEMP=0
+  fi
+
+  if test $HAVE_MKSTEMP = 0 || test $REPLACE_MKSTEMP = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS mkstemp.$ac_objext"
+
+
+
+  fi
+
+
+
+
+
+          GNULIB_MKSTEMP=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_MKSTEMP 1" >>confdefs.h
+
+
+
+
   if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
 
 
@@ -19712,7 +20234,7 @@ done
 
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5
 $as_echo_n "checking whether open recognizes a trailing slash... " >&6; }
-if test "${gl_cv_func_open_slash+set}" = set; then :
+if ${gl_cv_func_open_slash+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # Assume that if we have lstat, we can also check symlinks.
@@ -19881,7 +20403,7 @@ _ACEOF
   for ac_func in opendir
 do :
   ac_fn_c_check_func "$LINENO" "opendir" "ac_cv_func_opendir"
-if test "x$ac_cv_func_opendir" = x""yes; then :
+if test "x$ac_cv_func_opendir" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_OPENDIR 1
 _ACEOF
@@ -19948,7 +20470,7 @@ done
   for ac_func in rawmemchr
 do :
   ac_fn_c_check_func "$LINENO" "rawmemchr" "ac_cv_func_rawmemchr"
-if test "x$ac_cv_func_rawmemchr" = x""yes; then :
+if test "x$ac_cv_func_rawmemchr" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_RAWMEMCHR 1
 _ACEOF
@@ -19994,7 +20516,7 @@ done
   for ac_func in readdir
 do :
   ac_fn_c_check_func "$LINENO" "readdir" "ac_cv_func_readdir"
-if test "x$ac_cv_func_readdir" = x""yes; then :
+if test "x$ac_cv_func_readdir" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_READDIR 1
 _ACEOF
@@ -20041,7 +20563,7 @@ done
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink signature is correct" >&5
 $as_echo_n "checking whether readlink signature is correct... " >&6; }
-if test "${gl_cv_decl_readlink_works+set}" = set; then :
+if ${gl_cv_decl_readlink_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -20068,7 +20590,7 @@ fi
 $as_echo "$gl_cv_decl_readlink_works" >&6; }
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5
 $as_echo_n "checking whether readlink handles trailing slash correctly... " >&6; }
-if test "${gl_cv_func_readlink_works+set}" = set; then :
+if ${gl_cv_func_readlink_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # We have readlink, so assume ln -s works.
@@ -20199,12 +20721,12 @@ fi
 
                 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename honors trailing slash on destination" >&5
 $as_echo_n "checking whether rename honors trailing slash on destination... " >&6; }
-if test "${gl_cv_func_rename_slash_dst_works+set}" = set; then :
+if ${gl_cv_func_rename_slash_dst_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk
     touch conftest.f && touch conftest.f1 && mkdir conftest.d1 ||
-      as_fn_error "cannot create temporary files" "$LINENO" 5
+      as_fn_error $? "cannot create temporary files" "$LINENO" 5
     # Assume that if we have lstat, we can also check symlinks.
     if test $ac_cv_func_lstat = yes; then
       ln -s conftest.f conftest.lnk
@@ -20268,12 +20790,12 @@ fi
 
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename honors trailing slash on source" >&5
 $as_echo_n "checking whether rename honors trailing slash on source... " >&6; }
-if test "${gl_cv_func_rename_slash_src_works+set}" = set; then :
+if ${gl_cv_func_rename_slash_src_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk
     touch conftest.f && touch conftest.f1 && mkdir conftest.d1 ||
-      as_fn_error "cannot create temporary files" "$LINENO" 5
+      as_fn_error $? "cannot create temporary files" "$LINENO" 5
     # Assume that if we have lstat, we can also check symlinks.
     if test $ac_cv_func_lstat = yes; then
       ln -s conftest.f conftest.lnk
@@ -20338,7 +20860,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename manages hard links correctly" >&5
 $as_echo_n "checking whether rename manages hard links correctly... " >&6; }
-if test "${gl_cv_func_rename_link_works+set}" = set; then :
+if ${gl_cv_func_rename_link_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test $ac_cv_func_link = yes; then
@@ -20411,12 +20933,12 @@ fi
 
           { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename manages existing destinations correctly" >&5
 $as_echo_n "checking whether rename manages existing destinations correctly... " >&6; }
-if test "${gl_cv_func_rename_dest_works+set}" = set; then :
+if ${gl_cv_func_rename_dest_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftest.f conftest.d1 conftest.d2
     touch conftest.f && mkdir conftest.d1 conftest.d2 ||
-      as_fn_error "cannot create temporary files" "$LINENO" 5
+      as_fn_error $? "cannot create temporary files" "$LINENO" 5
     if test "$cross_compiling" = yes; then :
         case "$host_os" in
                  # Guess yes on glibc systems.
@@ -20503,7 +21025,7 @@ fi
   for ac_func in rewinddir
 do :
   ac_fn_c_check_func "$LINENO" "rewinddir" "ac_cv_func_rewinddir"
-if test "x$ac_cv_func_rewinddir" = x""yes; then :
+if test "x$ac_cv_func_rewinddir" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_REWINDDIR 1
 _ACEOF
@@ -20547,7 +21069,7 @@ done
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rmdir works" >&5
 $as_echo_n "checking whether rmdir works... " >&6; }
-if test "${gl_cv_func_rmdir_works+set}" = set; then :
+if ${gl_cv_func_rmdir_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   mkdir conftest.dir
@@ -20639,12 +21161,75 @@ fi
 
 
 
+
+
+
+  if test $ac_cv_func_secure_getenv = no; then
+    HAVE_SECURE_GETENV=0
+  fi
+
+  if test $HAVE_SECURE_GETENV = 0; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS secure_getenv.$ac_objext"
+
+
+  for ac_func in __secure_getenv
+do :
+  ac_fn_c_check_func "$LINENO" "__secure_getenv" "ac_cv_func___secure_getenv"
+if test "x$ac_cv_func___secure_getenv" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE___SECURE_GETENV 1
+_ACEOF
+
+fi
+done
+
+  if test $ac_cv_func___secure_getenv = no; then
+    for ac_func in issetugid
+do :
+  ac_fn_c_check_func "$LINENO" "issetugid" "ac_cv_func_issetugid"
+if test "x$ac_cv_func_issetugid" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_ISSETUGID 1
+_ACEOF
+
+fi
+done
+
+  fi
+
+
+  fi
+
+
+
+
+
+          GNULIB_SECURE_GETENV=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_SECURE_GETENV 1" >>confdefs.h
+
+
+
+
+
      if test $ac_cv_func_setenv = no; then
     HAVE_SETENV=0
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5
 $as_echo_n "checking whether setenv validates arguments... " >&6; }
-if test "${gl_cv_func_setenv_works+set}" = set; then :
+if ${gl_cv_func_setenv_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -20749,7 +21334,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <signal.h>" >&5
 $as_echo_n "checking absolute name of <signal.h>... " >&6; }
-if test "${gl_cv_next_signal_h+set}" = set; then :
+if ${gl_cv_next_signal_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -20814,7 +21399,7 @@ fi
 #include <signal.h>
 
 "
-if test "x$ac_cv_type_volatile_sig_atomic_t" = x""yes; then :
+if test "x$ac_cv_type_volatile_sig_atomic_t" = xyes; then :
 
 else
   HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0
@@ -20830,7 +21415,7 @@ fi
 #include <signal.h>
 
 "
-if test "x$ac_cv_type_sighandler_t" = x""yes; then :
+if test "x$ac_cv_type_sighandler_t" = xyes; then :
 
 else
   HAVE_SIGHANDLER_T=0
@@ -20842,7 +21427,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -20868,8 +21453,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -20882,7 +21466,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
 $as_echo_n "checking for ssize_t... " >&6; }
-if test "${gt_cv_ssize_t+set}" = set; then :
+if ${gt_cv_ssize_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -20917,7 +21501,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5
 $as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; }
-if test "${gl_cv_func_stat_dir_slash+set}" = set; then :
+if ${gl_cv_func_stat_dir_slash+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -20952,7 +21536,7 @@ fi
 $as_echo "$gl_cv_func_stat_dir_slash" >&6; }
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5
 $as_echo_n "checking whether stat handles trailing slashes on files... " >&6; }
-if test "${gl_cv_func_stat_file_slash+set}" = set; then :
+if ${gl_cv_func_stat_file_slash+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   touch conftest.tmp
@@ -21078,7 +21662,7 @@ fi
   ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include <stddef.h>
 
 "
-if test "x$ac_cv_type_max_align_t" = x""yes; then :
+if test "x$ac_cv_type_max_align_t" = xyes; then :
 
 else
   HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h
@@ -21090,7 +21674,7 @@ fi
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
 $as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; }
-if test "${gl_cv_decl_null_works+set}" = set; then :
+if ${gl_cv_decl_null_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -21142,7 +21726,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stddef.h>" >&5
 $as_echo_n "checking absolute name of <stddef.h>... " >&6; }
-if test "${gl_cv_next_stddef_h+set}" = set; then :
+if ${gl_cv_next_stddef_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -21221,7 +21805,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdio.h>" >&5
 $as_echo_n "checking absolute name of <stdio.h>... " >&6; }
-if test "${gl_cv_next_stdio_h+set}" = set; then :
+if ${gl_cv_next_stdio_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -21282,7 +21866,7 @@ fi
 
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking which flavor of printf attribute matches inttypes macros" >&5
 $as_echo_n "checking which flavor of printf attribute matches inttypes macros... " >&6; }
-if test "${gl_cv_func_printf_attribute_flavor+set}" = set; then :
+if ${gl_cv_func_printf_attribute_flavor+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -21363,7 +21947,7 @@ _ACEOF
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -21389,8 +21973,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -21415,7 +21998,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdlib.h>" >&5
 $as_echo_n "checking absolute name of <stdlib.h>... " >&6; }
-if test "${gl_cv_next_stdlib_h+set}" = set; then :
+if ${gl_cv_next_stdlib_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -21479,7 +22062,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -21511,8 +22094,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -21529,7 +22111,7 @@ fi
   for ac_func in strchrnul
 do :
   ac_fn_c_check_func "$LINENO" "strchrnul" "ac_cv_func_strchrnul"
-if test "x$ac_cv_func_strchrnul" = x""yes; then :
+if test "x$ac_cv_func_strchrnul" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_STRCHRNUL 1
 _ACEOF
@@ -21542,7 +22124,7 @@ done
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strchrnul works" >&5
 $as_echo_n "checking whether strchrnul works... " >&6; }
-if test "${gl_cv_func_strchrnul_works+set}" = set; then :
+if ${gl_cv_func_strchrnul_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -21681,7 +22263,7 @@ fi
   if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5
 $as_echo_n "checking for working strerror function... " >&6; }
-if test "${gl_cv_func_working_strerror+set}" = set; then :
+if ${gl_cv_func_working_strerror+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -21784,7 +22366,7 @@ _ACEOF
                     for ac_header in winsock2.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
-if test "x$ac_cv_header_winsock2_h" = x""yes; then :
+if test "x$ac_cv_header_winsock2_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINSOCK2_H 1
 _ACEOF
@@ -21812,7 +22394,7 @@ done
   if test $REPLACE_STRSTR = 0; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strstr works in linear time" >&5
 $as_echo_n "checking whether strstr works in linear time... " >&6; }
-if test "${gl_cv_func_strstr_linear+set}" = set; then :
+if ${gl_cv_func_strstr_linear+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -21931,7 +22513,7 @@ fi
   else
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strstr works" >&5
 $as_echo_n "checking whether strstr works... " >&6; }
-if test "${gl_cv_func_strstr_works_always+set}" = set; then :
+if ${gl_cv_func_strstr_works_always+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -22036,7 +22618,7 @@ fi
      for ac_func in strtok_r
 do :
   ac_fn_c_check_func "$LINENO" "strtok_r" "ac_cv_func_strtok_r"
-if test "x$ac_cv_func_strtok_r" = x""yes; then :
+if test "x$ac_cv_func_strtok_r" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_STRTOK_R 1
 _ACEOF
@@ -22048,7 +22630,7 @@ done
     HAVE_STRTOK_R=1
                         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtok_r works" >&5
 $as_echo_n "checking whether strtok_r works... " >&6; }
-if test "${gl_cv_func_strtok_r_works+set}" = set; then :
+if ${gl_cv_func_strtok_r_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -22161,7 +22743,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/stat.h>" >&5
 $as_echo_n "checking absolute name of <sys/stat.h>... " >&6; }
-if test "${gl_cv_next_sys_stat_h+set}" = set; then :
+if ${gl_cv_next_sys_stat_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -22241,7 +22823,7 @@ fi
       ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h>
      #include <sys/stat.h>
 "
-if test "x$ac_cv_type_nlink_t" = x""yes; then :
+if test "x$ac_cv_type_nlink_t" = xyes; then :
 
 else
 
@@ -22255,7 +22837,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -22281,8 +22863,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -22301,6 +22882,11 @@ fi
 
 
 
+  :
+
+
+
+
 
 
 
@@ -22319,7 +22905,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <unistd.h>" >&5
 $as_echo_n "checking absolute name of <unistd.h>... " >&6; }
-if test "${gl_cv_next_unistd_h+set}" = set; then :
+if ${gl_cv_next_unistd_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -22399,7 +22985,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -22437,8 +23023,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -22460,7 +23045,7 @@ fi
   for ac_func in unsetenv
 do :
   ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv"
-if test "x$ac_cv_func_unsetenv" = x""yes; then :
+if test "x$ac_cv_func_unsetenv" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_UNSETENV 1
 _ACEOF
@@ -22474,7 +23059,7 @@ done
     HAVE_UNSETENV=1
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5
 $as_echo_n "checking for unsetenv() return type... " >&6; }
-if test "${gt_cv_func_unsetenv_ret+set}" = set; then :
+if ${gt_cv_func_unsetenv_ret+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -22515,7 +23100,7 @@ fi
 
                 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5
 $as_echo_n "checking whether unsetenv obeys POSIX... " >&6; }
-if test "${gl_cv_func_unsetenv_works+set}" = set; then :
+if ${gl_cv_func_unsetenv_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -22626,7 +23211,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wchar.h>" >&5
 $as_echo_n "checking absolute name of <wchar.h>... " >&6; }
-if test "${gl_cv_next_wchar_h+set}" = set; then :
+if ${gl_cv_next_wchar_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -22712,7 +23297,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -22748,8 +23333,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -22793,7 +23377,7 @@ fi
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wctype.h>" >&5
 $as_echo_n "checking absolute name of <wctype.h>... " >&6; }
-if test "${gl_cv_next_wctype_h+set}" = set; then :
+if ${gl_cv_next_wctype_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -22861,7 +23445,7 @@ fi
     if test $ac_cv_func_iswcntrl = yes; then
                   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5
 $as_echo_n "checking whether iswcntrl works... " >&6; }
-if test "${gl_cv_func_iswcntrl_works+set}" = set; then :
+if ${gl_cv_func_iswcntrl_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -22939,7 +23523,7 @@ fi
     for ac_func in towlower
 do :
   ac_fn_c_check_func "$LINENO" "towlower" "ac_cv_func_towlower"
-if test "x$ac_cv_func_towlower" = x""yes; then :
+if test "x$ac_cv_func_towlower" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_TOWLOWER 1
 _ACEOF
@@ -22963,7 +23547,7 @@ done
           #endif
 
 "
-if test "x$ac_cv_have_decl_towlower" = x""yes; then :
+if test "x$ac_cv_have_decl_towlower" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -22988,7 +23572,7 @@ _ACEOF
 
           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctype_t" >&5
 $as_echo_n "checking for wctype_t... " >&6; }
-if test "${gl_cv_type_wctype_t+set}" = set; then :
+if ${gl_cv_type_wctype_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -23030,7 +23614,7 @@ fi
 
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctrans_t" >&5
 $as_echo_n "checking for wctrans_t... " >&6; }
-if test "${gl_cv_type_wctrans_t+set}" = set; then :
+if ${gl_cv_type_wctrans_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -23073,7 +23657,7 @@ fi
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_gl_Symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -23110,8 +23694,7 @@ fi
 eval ac_res=\$$as_gl_Symbol
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-    eval as_val=\$$as_gl_Symbol
-   if test "x$as_val" = x""yes; then :
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
@@ -23163,7 +23746,7 @@ fi
 
 # We don't use automake, but gnulib does.  This line lets us generate
 # its Makefile.in.
-am__api_version='1.11'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -23182,7 +23765,7 @@ am__api_version='1.11'
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -23202,7 +23785,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -23260,56 +23843,71 @@ test -z "$INSTALL_DATA" && INSTALL_DATA=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
 '
 case `pwd` in
   *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+	&& test "$*" != "X conftest.file $srcdir/configure"; then
 
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$2" = conftest.file
    )
 then
    # Ok.
    :
 else
-   as_fn_error "newly created file is older than distributed files!
+   as_fn_error $? "newly created file is older than distributed files!
 Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
 test "$program_prefix" != NONE &&
   program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
@@ -23320,9 +23918,6 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
@@ -23332,15 +23927,15 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -23349,17 +23944,17 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -23371,7 +23966,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -23399,7 +23994,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -23411,7 +24006,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -23449,19 +24044,13 @@ fi
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -23473,7 +24062,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -23501,7 +24090,7 @@ done
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -23509,7 +24098,7 @@ SHELL = /bin/sh
 all:
 	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -23556,7 +24145,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -23589,6 +24178,7 @@ fi
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
  if test "x$enable_dependency_tracking" != xno; then
   AMDEP_TRUE=
@@ -23599,13 +24189,52 @@ else
 fi
 
 
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
 if test "`cd $srcdir && pwd`" != "`pwd`"; then
   # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
   # is not polluted with repeated "-I."
   am__isrc=' -I$(srcdir)'
   # test to see if srcdir already configured
   if test -f $srcdir/config.status; then
-    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
   fi
 fi
 
@@ -23620,8 +24249,8 @@ fi
 
 
 # Define the identity of the package.
- PACKAGE=libgnu
- VERSION=UNUSED-VERSION
+ PACKAGE='libgnu'
+ VERSION='UNUSED-VERSION'
 
 
 # Some tools Automake needs.
@@ -23640,13 +24269,24 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_ru
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
+# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar  pax cpio none'
 
-AMTAR=${AMTAR-"${am_missing_run}tar"}
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 
 
 
@@ -23655,15 +24295,16 @@ depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -23697,16 +24338,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -23715,16 +24356,16 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -23779,6 +24420,88 @@ fi
 
 
 
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
+
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=0;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
 
 # --------------------- #
 # Checks for programs.  #
@@ -23801,7 +24524,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -23813,7 +24536,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -23841,7 +24564,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -23853,7 +24576,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -23894,7 +24617,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -23906,7 +24629,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -23934,7 +24657,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -23946,7 +24669,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -24054,10 +24777,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -24088,53 +24822,53 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then
-  as_fn_error "conditional \"GL_COND_LIBTOOL\" was never defined.
+  as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GL_GENERATE_ALLOCA_H_TRUE}" && test -z "${GL_GENERATE_ALLOCA_H_FALSE}"; then
-  as_fn_error "conditional \"GL_GENERATE_ALLOCA_H\" was never defined.
+  as_fn_error $? "conditional \"GL_GENERATE_ALLOCA_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GL_GENERATE_ERRNO_H_TRUE}" && test -z "${GL_GENERATE_ERRNO_H_FALSE}"; then
-  as_fn_error "conditional \"GL_GENERATE_ERRNO_H\" was never defined.
+  as_fn_error $? "conditional \"GL_GENERATE_ERRNO_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GL_GENERATE_FLOAT_H_TRUE}" && test -z "${GL_GENERATE_FLOAT_H_FALSE}"; then
-  as_fn_error "conditional \"GL_GENERATE_FLOAT_H\" was never defined.
+  as_fn_error $? "conditional \"GL_GENERATE_FLOAT_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GL_GENERATE_FNMATCH_H_TRUE}" && test -z "${GL_GENERATE_FNMATCH_H_FALSE}"; then
-  as_fn_error "conditional \"GL_GENERATE_FNMATCH_H\" was never defined.
+  as_fn_error $? "conditional \"GL_GENERATE_FNMATCH_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GL_GENERATE_GLOB_H_TRUE}" && test -z "${GL_GENERATE_GLOB_H_FALSE}"; then
-  as_fn_error "conditional \"GL_GENERATE_GLOB_H\" was never defined.
+  as_fn_error $? "conditional \"GL_GENERATE_GLOB_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then
-  as_fn_error "conditional \"GL_GENERATE_LIMITS_H\" was never defined.
+  as_fn_error $? "conditional \"GL_GENERATE_LIMITS_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then
-  as_fn_error "conditional \"GL_GENERATE_LIMITS_H\" was never defined.
+  as_fn_error $? "conditional \"GL_GENERATE_LIMITS_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then
-  as_fn_error "conditional \"GL_GENERATE_STDINT_H\" was never defined.
+  as_fn_error $? "conditional \"GL_GENERATE_STDINT_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
 
 if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then
-  as_fn_error "conditional \"GL_GENERATE_STDBOOL_H\" was never defined.
+  as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then
-  as_fn_error "conditional \"GL_GENERATE_STDDEF_H\" was never defined.
+  as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
@@ -24169,12 +24903,20 @@ fi
     gltests_LTLIBOBJS=$gltests_ltlibobjs
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error "conditional \"AMDEP\" was never defined.
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
  if test -n "$EXEEXT"; then
@@ -24186,7 +24928,7 @@ else
 fi
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -24287,6 +25029,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -24332,19 +25075,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -24482,16 +25225,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -24540,7 +25283,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -24551,28 +25294,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -24593,8 +25324,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+This file was extended by libgnu $as_me UNUSED-VERSION, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -24634,6 +25365,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -24656,12 +25388,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+libgnu config.status UNUSED-VERSION
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -24679,11 +25412,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -24697,12 +25435,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -24715,7 +25456,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -24724,7 +25465,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -24744,7 +25485,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -24784,7 +25525,7 @@ do
     "import/Makefile") CONFIG_FILES="$CONFIG_FILES import/Makefile" ;;
     "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -24807,9 +25548,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -24817,12 +25559,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -24839,12 +25582,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -24853,18 +25596,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -24872,7 +25615,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -24886,7 +25629,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -24900,7 +25643,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -24920,7 +25663,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -24952,21 +25695,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -24978,7 +25729,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -24990,11 +25741,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -25079,7 +25830,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -25092,7 +25843,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -25111,7 +25862,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -25120,7 +25871,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -25146,8 +25897,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -25283,23 +26034,24 @@ s&@INSTALL@&$ac_INSTALL&;t t
 s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -25308,21 +26060,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
 # Compute "$ac_file"'s index in $config_headers.
 _am_arg="$ac_file"
@@ -25368,7 +26120,7 @@ echo "timestamp for $_am_arg" >`$as_dirn
 
   case $ac_file$ac_mode in
     "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -25381,7 +26133,7 @@ echo "timestamp for $_am_arg" >`$as_dirn
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -25415,21 +26167,19 @@ echo "timestamp for $_am_arg" >`$as_dirn
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
+    test -z "$am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`$as_dirname -- "$file" ||
@@ -25478,7 +26228,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -25499,7 +26249,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/configure.ac ./gdb/gnulib/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/configure.ac	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gnulib/configure.ac	2018-07-10 02:06:13.000000000 +0000
@@ -18,8 +18,8 @@ dnl along with this program.  If not, se
 
 dnl Process this file with autoconf to produce a configure script.
 
-AC_PREREQ(2.64)dnl
-AC_INIT(import/memmem.c)
+AC_INIT([libgnu], [UNUSED-VERSION])
+AC_CONFIG_SRCDIR([import/memmem.c])
 AC_CONFIG_HEADER(config.h:config.in)
 AM_MAINTAINER_MODE
 
@@ -35,7 +35,9 @@ gl_INIT
 
 # We don't use automake, but gnulib does.  This line lets us generate
 # its Makefile.in.
-AM_INIT_AUTOMAKE(libgnu, UNUSED-VERSION, [no-define])
+AM_INIT_AUTOMAKE([no-define])
+
+AM_SILENT_RULES([yes])
 
 # --------------------- #
 # Checks for programs.  #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/m4/gnulib-cache.m4 ./gdb/gnulib/import/m4/gnulib-cache.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/m4/gnulib-cache.m4	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gnulib/import/m4/gnulib-cache.m4	2018-07-10 02:06:13.000000000 +0000
@@ -27,7 +27,7 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl getcwd glob inttypes limits-h lstat memchr memmem pathmax rawmemchr readlink rename setenv signal-h strchrnul strstr strtok_r sys_stat unistd unsetenv update-copyright wchar wctype-h
+#   gnulib-tool --import --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl getcwd glob inttypes limits-h lstat memchr memmem mkstemp pathmax rawmemchr readlink rename setenv signal-h strchrnul strstr strtok_r sys_stat unistd unsetenv update-copyright wchar wctype-h
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([])
@@ -46,6 +46,7 @@ gl_MODULES([
   lstat
   memchr
   memmem
+  mkstemp
   pathmax
   rawmemchr
   readlink
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/m4/gnulib-comp.m4 ./gdb/gnulib/import/m4/gnulib-comp.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/m4/gnulib-comp.m4	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/gnulib/import/m4/gnulib-comp.m4	2018-07-10 02:06:13.000000000 +0000
@@ -118,6 +118,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module memmem-simple:
   # Code from module mempcpy:
   # Code from module memrchr:
+  # Code from module mkstemp:
   # Code from module msvc-inval:
   # Code from module msvc-nothrow:
   # Code from module multiarch:
@@ -137,6 +138,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module rmdir:
   # Code from module same-inode:
   # Code from module save-cwd:
+  # Code from module secure_getenv:
   # Code from module setenv:
   # Code from module signal-h:
   # Code from module snippet/_Noreturn:
@@ -163,6 +165,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module sys_stat:
   # Code from module sys_time:
   # Code from module sys_types:
+  # Code from module tempname:
   # Code from module time:
   # Code from module unistd:
   # Code from module unistd-safer:
@@ -421,6 +424,12 @@ AC_DEFUN([gl_INIT],
     gl_PREREQ_MEMRCHR
   fi
   gl_STRING_MODULE_INDICATOR([memrchr])
+  gl_FUNC_MKSTEMP
+  if test $HAVE_MKSTEMP = 0 || test $REPLACE_MKSTEMP = 1; then
+    AC_LIBOBJ([mkstemp])
+    gl_PREREQ_MKSTEMP
+  fi
+  gl_STDLIB_MODULE_INDICATOR([mkstemp])
   AC_REQUIRE([gl_MSVC_INVAL])
   if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
     AC_LIBOBJ([msvc-inval])
@@ -487,6 +496,12 @@ AC_DEFUN([gl_INIT],
   fi
   gl_UNISTD_MODULE_INDICATOR([rmdir])
   gl_SAVE_CWD
+  gl_FUNC_SECURE_GETENV
+  if test $HAVE_SECURE_GETENV = 0; then
+    AC_LIBOBJ([secure_getenv])
+    gl_PREREQ_SECURE_GETENV
+  fi
+  gl_STDLIB_MODULE_INDICATOR([secure_getenv])
   gl_FUNC_SETENV
   if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
     AC_LIBOBJ([setenv])
@@ -551,6 +566,7 @@ AC_DEFUN([gl_INIT],
   AC_PROG_MKDIR_P
   gl_SYS_TYPES_H
   AC_PROG_MKDIR_P
+  gl_FUNC_GEN_TEMPNAME
   gl_HEADER_TIME_H
   gl_UNISTD_H
   gl_UNISTD_SAFER
@@ -797,6 +813,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/memmem.c
   lib/mempcpy.c
   lib/memrchr.c
+  lib/mkstemp.c
   lib/msvc-inval.c
   lib/msvc-inval.h
   lib/msvc-nothrow.c
@@ -823,6 +840,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/same-inode.h
   lib/save-cwd.c
   lib/save-cwd.h
+  lib/secure_getenv.c
   lib/setenv.c
   lib/signal.in.h
   lib/stat.c
@@ -848,6 +866,8 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/sys_stat.in.h
   lib/sys_time.in.h
   lib/sys_types.in.h
+  lib/tempname.c
+  lib/tempname.h
   lib/time.in.h
   lib/unistd--.h
   lib/unistd-safer.h
@@ -932,6 +952,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/memmem.m4
   m4/mempcpy.m4
   m4/memrchr.m4
+  m4/mkstemp.m4
   m4/mmap-anon.m4
   m4/mode_t.m4
   m4/msvc-inval.m4
@@ -951,6 +972,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/rewinddir.m4
   m4/rmdir.m4
   m4/save-cwd.m4
+  m4/secure_getenv.m4
   m4/setenv.m4
   m4/signal_h.m4
   m4/ssize_t.m4
@@ -970,6 +992,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/sys_stat_h.m4
   m4/sys_time_h.m4
   m4/sys_types_h.m4
+  m4/tempname.m4
   m4/time_h.m4
   m4/unistd-safer.m4
   m4/unistd_h.m4
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/m4/mkstemp.m4 ./gdb/gnulib/import/m4/mkstemp.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/m4/mkstemp.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/mkstemp.m4	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,82 @@
+#serial 23
+
+# Copyright (C) 2001, 2003-2007, 2009-2016 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a
+# silly limit that it can create no more than 26 files from a given template.
+# Other systems lack mkstemp altogether.
+# On OSF1/Tru64 V4.0F, the system-provided mkstemp function can create
+# only 32 files per process.
+# On some hosts, mkstemp creates files with mode 0666, which is a security
+# problem and a violation of POSIX 2008.
+# On systems like the above, arrange to use the replacement function.
+AC_DEFUN([gl_FUNC_MKSTEMP],
+[
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+  AC_CHECK_FUNCS_ONCE([mkstemp])
+  if test $ac_cv_func_mkstemp = yes; then
+    AC_CACHE_CHECK([for working mkstemp],
+      [gl_cv_func_working_mkstemp],
+      [
+        mkdir conftest.mkstemp
+        AC_RUN_IFELSE(
+          [AC_LANG_PROGRAM(
+            [AC_INCLUDES_DEFAULT],
+            [[int result = 0;
+              int i;
+              off_t large = (off_t) 4294967295u;
+              if (large < 0)
+                large = 2147483647;
+              umask (0);
+              for (i = 0; i < 70; i++)
+                {
+                  char templ[] = "conftest.mkstemp/coXXXXXX";
+                  int (*mkstemp_function) (char *) = mkstemp;
+                  int fd = mkstemp_function (templ);
+                  if (fd < 0)
+                    result |= 1;
+                  else
+                    {
+                      struct stat st;
+                      if (lseek (fd, large, SEEK_SET) != large)
+                        result |= 2;
+                      if (fstat (fd, &st) < 0)
+                        result |= 4;
+                      else if (st.st_mode & 0077)
+                        result |= 8;
+                      if (close (fd))
+                        result |= 16;
+                    }
+                }
+              return result;]])],
+          [gl_cv_func_working_mkstemp=yes],
+          [gl_cv_func_working_mkstemp=no],
+          [case "$host_os" in
+                     # Guess yes on glibc systems.
+             *-gnu*) gl_cv_func_working_mkstemp="guessing yes" ;;
+                     # If we don't know, assume the worst.
+             *)      gl_cv_func_working_mkstemp="guessing no" ;;
+           esac
+          ])
+        rm -rf conftest.mkstemp
+      ])
+    case "$gl_cv_func_working_mkstemp" in
+      *yes) ;;
+      *)
+        REPLACE_MKSTEMP=1
+        ;;
+    esac
+  else
+    HAVE_MKSTEMP=0
+  fi
+])
+
+# Prerequisites of lib/mkstemp.c.
+AC_DEFUN([gl_PREREQ_MKSTEMP],
+[
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/m4/secure_getenv.m4 ./gdb/gnulib/import/m4/secure_getenv.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/m4/secure_getenv.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/secure_getenv.m4	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,26 @@
+# Look up an environment variable more securely.
+dnl Copyright 2013-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_SECURE_GETENV],
+[
+  dnl Persuade glibc <stdlib.h> to declare secure_getenv().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_CHECK_FUNCS_ONCE([secure_getenv])
+  if test $ac_cv_func_secure_getenv = no; then
+    HAVE_SECURE_GETENV=0
+  fi
+])
+
+# Prerequisites of lib/secure_getenv.c.
+AC_DEFUN([gl_PREREQ_SECURE_GETENV], [
+  AC_CHECK_FUNCS([__secure_getenv])
+  if test $ac_cv_func___secure_getenv = no; then
+    AC_CHECK_FUNCS([issetugid])
+  fi
+  AC_CHECK_FUNCS_ONCE([getuid geteuid getgid getegid])
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/m4/tempname.m4 ./gdb/gnulib/import/m4/tempname.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/m4/tempname.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/tempname.m4	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,19 @@
+#serial 5
+
+# Copyright (C) 2006-2007, 2009-2016 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# glibc provides __gen_tempname as a wrapper for mk[ds]temp.  Expose
+# it as a public API, and provide it on systems that are lacking.
+AC_DEFUN([gl_FUNC_GEN_TEMPNAME],
+[
+  gl_PREREQ_TEMPNAME
+])
+
+# Prerequisites of lib/tempname.c.
+AC_DEFUN([gl_PREREQ_TEMPNAME],
+[
+  :
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/Makefile.am ./gdb/gnulib/import/Makefile.am
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/Makefile.am	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gnulib/import/Makefile.am	2018-07-10 02:06:13.000000000 +0000
@@ -21,7 +21,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl getcwd glob inttypes limits-h lstat memchr memmem pathmax rawmemchr readlink rename setenv signal-h strchrnul strstr strtok_r sys_stat unistd unsetenv update-copyright wchar wctype-h
+# Reproduce by: gnulib-tool --import --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl getcwd glob inttypes limits-h lstat memchr memmem mkstemp pathmax rawmemchr readlink rename setenv signal-h strchrnul strstr strtok_r sys_stat unistd unsetenv update-copyright wchar wctype-h
 
 AUTOMAKE_OPTIONS = 1.9.6 gnits
 
@@ -1169,6 +1169,15 @@ EXTRA_libgnu_a_SOURCES += memrchr.c
 
 ## end   gnulib module memrchr
 
+## begin gnulib module mkstemp
+
+
+EXTRA_DIST += mkstemp.c
+
+EXTRA_libgnu_a_SOURCES += mkstemp.c
+
+## end   gnulib module mkstemp
+
 ## begin gnulib module msvc-inval
 
 
@@ -1312,6 +1321,15 @@ EXTRA_DIST += save-cwd.h
 
 ## end   gnulib module save-cwd
 
+## begin gnulib module secure_getenv
+
+
+EXTRA_DIST += secure_getenv.c
+
+EXTRA_libgnu_a_SOURCES += secure_getenv.c
+
+## end   gnulib module secure_getenv
+
 ## begin gnulib module setenv
 
 
@@ -2080,6 +2098,14 @@ EXTRA_DIST += sys_types.in.h
 
 ## end   gnulib module sys_types
 
+## begin gnulib module tempname
+
+libgnu_a_SOURCES += tempname.c
+
+EXTRA_DIST += tempname.h
+
+## end   gnulib module tempname
+
 ## begin gnulib module time
 
 BUILT_SOURCES += time.h
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/Makefile.in ./gdb/gnulib/import/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/Makefile.in	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gnulib/import/Makefile.in	2018-07-10 02:06:13.000000000 +0000
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -36,11 +35,66 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl getcwd glob inttypes limits-h lstat memchr memmem pathmax rawmemchr readlink rename setenv signal-h strchrnul strstr strtok_r sys_stat unistd unsetenv update-copyright wchar wctype-h
+# Reproduce by: gnulib-tool --import --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl getcwd glob inttypes limits-h lstat memchr memmem mkstemp pathmax rawmemchr readlink rename setenv signal-h strchrnul strstr strtok_r sys_stat unistd unsetenv update-copyright wchar wctype-h
 
 
 
 VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -60,8 +114,6 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = import
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in alloca.c
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/import/m4/00gnulib.m4 \
 	$(top_srcdir)/import/m4/absolute-header.m4 \
@@ -137,6 +189,7 @@ am__aclocal_m4_deps = $(top_srcdir)/impo
 	$(top_srcdir)/import/m4/memmem.m4 \
 	$(top_srcdir)/import/m4/mempcpy.m4 \
 	$(top_srcdir)/import/m4/memrchr.m4 \
+	$(top_srcdir)/import/m4/mkstemp.m4 \
 	$(top_srcdir)/import/m4/mmap-anon.m4 \
 	$(top_srcdir)/import/m4/mode_t.m4 \
 	$(top_srcdir)/import/m4/msvc-inval.m4 \
@@ -156,6 +209,7 @@ am__aclocal_m4_deps = $(top_srcdir)/impo
 	$(top_srcdir)/import/m4/rewinddir.m4 \
 	$(top_srcdir)/import/m4/rmdir.m4 \
 	$(top_srcdir)/import/m4/save-cwd.m4 \
+	$(top_srcdir)/import/m4/secure_getenv.m4 \
 	$(top_srcdir)/import/m4/setenv.m4 \
 	$(top_srcdir)/import/m4/signal_h.m4 \
 	$(top_srcdir)/import/m4/ssize_t.m4 \
@@ -175,6 +229,7 @@ am__aclocal_m4_deps = $(top_srcdir)/impo
 	$(top_srcdir)/import/m4/sys_stat_h.m4 \
 	$(top_srcdir)/import/m4/sys_time_h.m4 \
 	$(top_srcdir)/import/m4/sys_types_h.m4 \
+	$(top_srcdir)/import/m4/tempname.m4 \
 	$(top_srcdir)/import/m4/time_h.m4 \
 	$(top_srcdir)/import/m4/unistd-safer.m4 \
 	$(top_srcdir)/import/m4/unistd_h.m4 \
@@ -185,11 +240,17 @@ am__aclocal_m4_deps = $(top_srcdir)/impo
 	$(top_srcdir)/import/m4/wint_t.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
 libgnu_a_AR = $(AR) $(ARFLAGS)
 am__DEPENDENCIES_1 =
 am_libgnu_a_OBJECTS = cloexec.$(OBJEXT) dirname-lgpl.$(OBJEXT) \
@@ -198,36 +259,85 @@ am_libgnu_a_OBJECTS = cloexec.$(OBJEXT) 
 	filenamecat-lgpl.$(OBJEXT) getprogname.$(OBJEXT) \
 	hard-locale.$(OBJEXT) localcharset.$(OBJEXT) malloca.$(OBJEXT) \
 	math.$(OBJEXT) openat-die.$(OBJEXT) save-cwd.$(OBJEXT) \
-	strnlen1.$(OBJEXT) unistd.$(OBJEXT) dup-safer.$(OBJEXT) \
-	fd-safer.$(OBJEXT) pipe-safer.$(OBJEXT) wctype-h.$(OBJEXT)
+	strnlen1.$(OBJEXT) tempname.$(OBJEXT) unistd.$(OBJEXT) \
+	dup-safer.$(OBJEXT) fd-safer.$(OBJEXT) pipe-safer.$(OBJEXT) \
+	wctype-h.$(OBJEXT)
 libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS)
 LTLIBRARIES = $(noinst_LTLIBRARIES)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/../../depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(libgnu_a_SOURCES) $(EXTRA_libgnu_a_SOURCES)
 DIST_SOURCES = $(libgnu_a_SOURCES) $(EXTRA_libgnu_a_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-	html-recursive info-recursive install-data-recursive \
-	install-dvi-recursive install-exec-recursive \
-	install-html-recursive install-info-recursive \
-	install-pdf-recursive install-ps-recursive install-recursive \
-	installcheck-recursive installdirs-recursive pdf-recursive \
-	ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
 	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/../../depcomp \
+	$(top_srcdir)/../../mkinstalldirs alloca.c
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -259,6 +369,7 @@ ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
@@ -1274,6 +1385,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -1352,12 +1464,12 @@ EXTRA_DIST = m4/gnulib-cache.m4 alloca.c
 	lstat.c malloc.c malloca.h malloca.valgrind math.in.h \
 	mbrtowc.c mbsinit.c mbsrtowcs-impl.h mbsrtowcs-state.c \
 	mbsrtowcs.c memchr.c memchr.valgrind memmem.c str-two-way.h \
-	mempcpy.c memrchr.c msvc-inval.c msvc-inval.h msvc-nothrow.c \
-	msvc-nothrow.h open.c openat.c openat.h dirent-private.h \
-	opendir.c pathmax.h rawmemchr.c rawmemchr.valgrind \
-	dirent-private.h readdir.c readlink.c realloc.c rename.c \
-	dirent-private.h rewinddir.c rmdir.c same-inode.h save-cwd.h \
-	setenv.c signal.in.h \
+	mempcpy.c memrchr.c mkstemp.c msvc-inval.c msvc-inval.h \
+	msvc-nothrow.c msvc-nothrow.h open.c openat.c openat.h \
+	dirent-private.h opendir.c pathmax.h rawmemchr.c \
+	rawmemchr.valgrind dirent-private.h readdir.c readlink.c \
+	realloc.c rename.c dirent-private.h rewinddir.c rmdir.c \
+	same-inode.h save-cwd.h secure_getenv.c setenv.c signal.in.h \
 	$(top_srcdir)/import/extra/snippet/_Noreturn.h \
 	$(top_srcdir)/import/extra/snippet/arg-nonnull.h \
 	$(top_srcdir)/import/extra/snippet/c++defs.h \
@@ -1366,9 +1478,10 @@ EXTRA_DIST = m4/gnulib-cache.m4 alloca.c
 	strchrnul.c strchrnul.valgrind strdup.c streq.h strerror.c \
 	strerror-override.c strerror-override.h string.in.h \
 	str-two-way.h strstr.c strtok_r.c sys_stat.in.h sys_time.in.h \
-	sys_types.in.h time.in.h unistd.in.h unistd--.h unistd-safer.h \
-	unsetenv.c $(top_srcdir)/import/extra/update-copyright \
-	verify.h wchar.in.h wctype.in.h
+	sys_types.in.h tempname.h time.in.h unistd.in.h unistd--.h \
+	unistd-safer.h unsetenv.c \
+	$(top_srcdir)/import/extra/update-copyright verify.h \
+	wchar.in.h wctype.in.h
 
 # The BUILT_SOURCES created by this Makefile snippet are not used via #include
 # statements but through direct file reference. Therefore this snippet must be
@@ -1408,8 +1521,8 @@ libgnu_a_SOURCES = cloexec.c dirname-lgp
 	stripslash.c exitfail.c fd-hook.c filenamecat-lgpl.c \
 	getprogname.h getprogname.c gettext.h hard-locale.c \
 	localcharset.h localcharset.c malloca.c math.c openat-die.c \
-	save-cwd.c strnlen1.h strnlen1.c unistd.c dup-safer.c \
-	fd-safer.c pipe-safer.c wctype-h.c
+	save-cwd.c strnlen1.h strnlen1.c tempname.c unistd.c \
+	dup-safer.c fd-safer.c pipe-safer.c wctype-h.c
 libgnu_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@
 libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@
 EXTRA_libgnu_a_SOURCES = alloca.c openat-proc.c canonicalize-lgpl.c \
@@ -1419,11 +1532,12 @@ EXTRA_libgnu_a_SOURCES = alloca.c openat
 	fstatat.c getcwd.c getcwd-lgpl.c getdtablesize.c getlogin_r.c \
 	gettimeofday.c glob.c isnan.c isnand.c isnan.c isnanl.c \
 	lstat.c malloc.c mbrtowc.c mbsinit.c mbsrtowcs-state.c \
-	mbsrtowcs.c memchr.c memmem.c mempcpy.c memrchr.c msvc-inval.c \
-	msvc-nothrow.c open.c openat.c opendir.c rawmemchr.c readdir.c \
-	readlink.c realloc.c rename.c rewinddir.c rmdir.c setenv.c \
-	stat.c strchrnul.c strdup.c strerror.c strerror-override.c \
-	strstr.c strtok_r.c unsetenv.c
+	mbsrtowcs.c memchr.c memmem.c mempcpy.c memrchr.c mkstemp.c \
+	msvc-inval.c msvc-nothrow.c open.c openat.c opendir.c \
+	rawmemchr.c readdir.c readlink.c realloc.c rename.c \
+	rewinddir.c rmdir.c secure_getenv.c setenv.c stat.c \
+	strchrnul.c strdup.c strerror.c strerror-override.c strstr.c \
+	strtok_r.c unsetenv.c
 
 # Use this preprocessor expression to decide whether #include_next works.
 # Do not rely on a 'configure'-time test for this, since the expression
@@ -1456,7 +1570,6 @@ all: $(BUILT_SOURCES)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits import/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnits import/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1477,19 +1590,22 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
 
 clean-noinstLIBRARIES:
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libgnu.a: $(libgnu_a_OBJECTS) $(libgnu_a_DEPENDENCIES) 
-	-rm -f libgnu.a
-	$(libgnu_a_AR) libgnu.a $(libgnu_a_OBJECTS) $(libgnu_a_LIBADD)
-	$(RANLIB) libgnu.a
+
+libgnu.a: $(libgnu_a_OBJECTS) $(libgnu_a_DEPENDENCIES) $(EXTRA_libgnu_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libgnu.a
+	$(AM_V_AR)$(libgnu_a_AR) libgnu.a $(libgnu_a_OBJECTS) $(libgnu_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libgnu.a
 
 clean-noinstLTLIBRARIES:
 	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(noinst_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -1497,7 +1613,6 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/at-func.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename-lgpl.Po@am__quote@
@@ -1551,6 +1666,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memmem.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mempcpy.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memrchr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkstemp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-inval.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-nothrow.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@
@@ -1567,6 +1683,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rewinddir.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmdir.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/save-cwd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secure_getenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strchrnul.Po@am__quote@
@@ -1577,41 +1694,45 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen1.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strstr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtok_r.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unistd.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctype-h.Po@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -1626,57 +1747,12 @@ distclean-compile:
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-ctags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-	done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1692,12 +1768,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCE
 	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	$(am__define_uniq_tagged_files); \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -1709,15 +1780,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCE
 	      $$unique; \
 	  fi; \
 	fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -1726,6 +1793,21 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1762,13 +1844,10 @@ distdir: $(DISTFILES)
 	done
 	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
-	    test -d "$(distdir)/$$subdir" \
-	    || $(MKDIR_P) "$(distdir)/$$subdir" \
-	    || exit 1; \
-	  fi; \
-	done
-	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
 	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
 	    $(am__relativize); \
 	    new_distdir=$$reldir; \
@@ -1805,10 +1884,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -1831,7 +1915,7 @@ clean-am: clean-generic clean-noinstLIBR
 	mostlyclean-am
 
 distclean: distclean-recursive
-	-rm -rf $(DEPDIR) ./$(DEPDIR)
+	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
 	distclean-tags
@@ -1877,7 +1961,7 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
-	-rm -rf $(DEPDIR) ./$(DEPDIR)
+	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1896,24 +1980,25 @@ ps-am:
 
 uninstall-am: uninstall-local
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-	ctags-recursive install install-am install-strip \
-	tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-	all all-am all-local check check-am clean clean-generic \
-	clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \
-	ctags-recursive distclean distclean-compile distclean-generic \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-exec-local \
-	install-html install-html-am install-info install-info-am \
-	install-man install-pdf install-pdf-am install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-local pdf pdf-am ps ps-am tags \
-	tags-recursive uninstall uninstall-am uninstall-local
+.MAKE: $(am__recursive_targets) all check install install-am \
+	install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
+	check check-am clean clean-generic clean-noinstLIBRARIES \
+	clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \
+	distclean-compile distclean-generic distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-exec-local install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-compile mostlyclean-generic \
+	mostlyclean-local pdf pdf-am ps ps-am tags tags-am uninstall \
+	uninstall-am uninstall-local
+
+.PRECIOUS: Makefile
 
 
 # We need the following in order to create <alloca.h> when the system
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/mkstemp.c ./gdb/gnulib/import/mkstemp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/mkstemp.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/mkstemp.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,50 @@
+/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2016 Free Software
+   Foundation, Inc.
+   This file is derived from the one in the GNU C Library.
+
+   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/>.  */
+
+#if !_LIBC
+# include <config.h>
+#endif
+
+#include <stdlib.h>
+
+#if !_LIBC
+# include "tempname.h"
+# define __gen_tempname gen_tempname
+# ifndef __GT_FILE
+#  define __GT_FILE GT_FILE
+# endif
+#endif
+
+#include <stdio.h>
+
+#ifndef __GT_FILE
+# define __GT_FILE 0
+#endif
+
+/* Generate a unique temporary file name from XTEMPLATE.
+   The last six characters of XTEMPLATE must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   Then open the file and return a fd.
+
+   If you are creating temporary files which will later be removed,
+   consider using the clean-temp module, which avoids several pitfalls
+   of using mkstemp directly. */
+int
+mkstemp (char *xtemplate)
+{
+  return __gen_tempname (xtemplate, 0, 0, __GT_FILE);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/secure_getenv.c ./gdb/gnulib/import/secure_getenv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/secure_getenv.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/secure_getenv.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,54 @@
+/* Look up an environment variable, returning NULL in insecure situations.
+
+   Copyright 2013-2016 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/>.  */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#if !HAVE___SECURE_GETENV
+# if HAVE_ISSETUGID || (HAVE_GETUID && HAVE_GETEUID && HAVE_GETGID && HAVE_GETEGID)
+#  include <unistd.h>
+# endif
+#endif
+
+char *
+secure_getenv (char const *name)
+{
+#if HAVE___SECURE_GETENV /* glibc */
+  return __secure_getenv (name);
+#elif HAVE_ISSETUGID /* OS X, FreeBSD, NetBSD, OpenBSD */
+  if (issetugid ())
+    return NULL;
+  return getenv (name);
+#elif HAVE_GETUID && HAVE_GETEUID && HAVE_GETGID && HAVE_GETEGID /* other Unix */
+  if (geteuid () != getuid () || getegid () != getgid ())
+    return NULL;
+  return getenv (name);
+#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* native Windows */
+  /* On native Windows, there is no such concept as setuid or setgid binaries.
+     - Programs launched as system services have high privileges, but they don't
+       inherit environment variables from a user.
+     - Programs launched by a user with "Run as Administrator" have high
+       privileges and use the environment variables, but the user has been asked
+       whether he agrees.
+     - Programs launched by a user without "Run as Administrator" cannot gain
+       high privileges, therefore there is no risk. */
+  return getenv (name);
+#else
+  return NULL;
+#endif
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/tempname.c ./gdb/gnulib/import/tempname.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/tempname.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/tempname.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,324 @@
+/* tempname.c - generate the name of a temporary file.
+
+   Copyright (C) 1991-2003, 2005-2007, 2009-2016 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/>.  */
+
+/* Extracted from glibc sysdeps/posix/tempname.c.  See also tmpdir.c.  */
+
+#if !_LIBC
+# include <config.h>
+# include "tempname.h"
+#endif
+
+#include <sys/types.h>
+#include <assert.h>
+
+#include <errno.h>
+#ifndef __set_errno
+# define __set_errno(Val) errno = (Val)
+#endif
+
+#include <stdio.h>
+#ifndef P_tmpdir
+# define P_tmpdir "/tmp"
+#endif
+#ifndef TMP_MAX
+# define TMP_MAX 238328
+#endif
+#ifndef __GT_FILE
+# define __GT_FILE      0
+# define __GT_DIR       1
+# define __GT_NOCREATE  2
+#endif
+#if !_LIBC && (GT_FILE != __GT_FILE || GT_DIR != __GT_DIR       \
+               || GT_NOCREATE != __GT_NOCREATE)
+# error report this to bug-gnulib@gnu.org
+#endif
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <fcntl.h>
+#include <sys/time.h>
+#include <stdint.h>
+#include <unistd.h>
+
+#include <sys/stat.h>
+
+#if _LIBC
+# define struct_stat64 struct stat64
+#else
+# define struct_stat64 struct stat
+# define __try_tempname try_tempname
+# define __gen_tempname gen_tempname
+# define __getpid getpid
+# define __gettimeofday gettimeofday
+# define __mkdir mkdir
+# define __open open
+# define __lxstat64(version, file, buf) lstat (file, buf)
+# define __secure_getenv secure_getenv
+#endif
+
+#ifdef _LIBC
+# include <hp-timing.h>
+# if HP_TIMING_AVAIL
+#  define RANDOM_BITS(Var) \
+  if (__builtin_expect (value == UINT64_C (0), 0))                            \
+    {                                                                         \
+      /* If this is the first time this function is used initialize           \
+         the variable we accumulate the value in to some somewhat             \
+         random value.  If we'd not do this programs at startup time          \
+         might have a reduced set of possible names, at least on slow         \
+         machines.  */                                                        \
+      struct timeval tv;                                                      \
+      __gettimeofday (&tv, NULL);                                             \
+      value = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec;                      \
+    }                                                                         \
+  HP_TIMING_NOW (Var)
+# endif
+#endif
+
+/* Use the widest available unsigned type if uint64_t is not
+   available.  The algorithm below extracts a number less than 62**6
+   (approximately 2**35.725) from uint64_t, so ancient hosts where
+   uintmax_t is only 32 bits lose about 3.725 bits of randomness,
+   which is better than not having mkstemp at all.  */
+#if !defined UINT64_MAX && !defined uint64_t
+# define uint64_t uintmax_t
+#endif
+
+#if _LIBC
+/* Return nonzero if DIR is an existent directory.  */
+static int
+direxists (const char *dir)
+{
+  struct_stat64 buf;
+  return __xstat64 (_STAT_VER, dir, &buf) == 0 && S_ISDIR (buf.st_mode);
+}
+
+/* Path search algorithm, for tmpnam, tmpfile, etc.  If DIR is
+   non-null and exists, uses it; otherwise uses the first of $TMPDIR,
+   P_tmpdir, /tmp that exists.  Copies into TMPL a template suitable
+   for use with mk[s]temp.  Will fail (-1) if DIR is non-null and
+   doesn't exist, none of the searched dirs exists, or there's not
+   enough space in TMPL. */
+int
+__path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx,
+               int try_tmpdir)
+{
+  const char *d;
+  size_t dlen, plen;
+
+  if (!pfx || !pfx[0])
+    {
+      pfx = "file";
+      plen = 4;
+    }
+  else
+    {
+      plen = strlen (pfx);
+      if (plen > 5)
+        plen = 5;
+    }
+
+  if (try_tmpdir)
+    {
+      d = __secure_getenv ("TMPDIR");
+      if (d != NULL && direxists (d))
+        dir = d;
+      else if (dir != NULL && direxists (dir))
+        /* nothing */ ;
+      else
+        dir = NULL;
+    }
+  if (dir == NULL)
+    {
+      if (direxists (P_tmpdir))
+        dir = P_tmpdir;
+      else if (strcmp (P_tmpdir, "/tmp") != 0 && direxists ("/tmp"))
+        dir = "/tmp";
+      else
+        {
+          __set_errno (ENOENT);
+          return -1;
+        }
+    }
+
+  dlen = strlen (dir);
+  while (dlen > 1 && dir[dlen - 1] == '/')
+    dlen--;                     /* remove trailing slashes */
+
+  /* check we have room for "${dir}/${pfx}XXXXXX\0" */
+  if (tmpl_len < dlen + 1 + plen + 6 + 1)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  sprintf (tmpl, "%.*s/%.*sXXXXXX", (int) dlen, dir, (int) plen, pfx);
+  return 0;
+}
+#endif /* _LIBC */
+
+/* These are the characters used in temporary file names.  */
+static const char letters[] =
+"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+
+int
+__try_tempname (char *tmpl, int suffixlen, void *args,
+                int (*tryfunc) (char *, void *))
+{
+  int len;
+  char *XXXXXX;
+  static uint64_t value;
+  uint64_t random_time_bits;
+  unsigned int count;
+  int fd = -1;
+  int save_errno = errno;
+
+  /* A lower bound on the number of temporary files to attempt to
+     generate.  The maximum total number of temporary file names that
+     can exist for a given template is 62**6.  It should never be
+     necessary to try all of these combinations.  Instead if a reasonable
+     number of names is tried (we define reasonable as 62**3) fail to
+     give the system administrator the chance to remove the problems.  */
+#define ATTEMPTS_MIN (62 * 62 * 62)
+
+  /* The number of times to attempt to generate a temporary file.  To
+     conform to POSIX, this must be no smaller than TMP_MAX.  */
+#if ATTEMPTS_MIN < TMP_MAX
+  unsigned int attempts = TMP_MAX;
+#else
+  unsigned int attempts = ATTEMPTS_MIN;
+#endif
+
+  len = strlen (tmpl);
+  if (len < 6 + suffixlen || memcmp (&tmpl[len - 6 - suffixlen], "XXXXXX", 6))
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  /* This is where the Xs start.  */
+  XXXXXX = &tmpl[len - 6 - suffixlen];
+
+  /* Get some more or less random data.  */
+#ifdef RANDOM_BITS
+  RANDOM_BITS (random_time_bits);
+#else
+  {
+    struct timeval tv;
+    __gettimeofday (&tv, NULL);
+    random_time_bits = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec;
+  }
+#endif
+  value += random_time_bits ^ __getpid ();
+
+  for (count = 0; count < attempts; value += 7777, ++count)
+    {
+      uint64_t v = value;
+
+      /* Fill in the random bits.  */
+      XXXXXX[0] = letters[v % 62];
+      v /= 62;
+      XXXXXX[1] = letters[v % 62];
+      v /= 62;
+      XXXXXX[2] = letters[v % 62];
+      v /= 62;
+      XXXXXX[3] = letters[v % 62];
+      v /= 62;
+      XXXXXX[4] = letters[v % 62];
+      v /= 62;
+      XXXXXX[5] = letters[v % 62];
+
+      fd = tryfunc (tmpl, args);
+      if (fd >= 0)
+        {
+          __set_errno (save_errno);
+          return fd;
+        }
+      else if (errno != EEXIST)
+        return -1;
+    }
+
+  /* We got out of the loop because we ran out of combinations to try.  */
+  __set_errno (EEXIST);
+  return -1;
+}
+
+static int
+try_file (char *tmpl, void *flags)
+{
+  int *openflags = flags;
+  return __open (tmpl,
+                 (*openflags & ~O_ACCMODE)
+                 | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
+}
+
+static int
+try_dir (char *tmpl, void *flags _GL_UNUSED)
+{
+  return __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR);
+}
+
+static int
+try_nocreate (char *tmpl, void *flags _GL_UNUSED)
+{
+  struct_stat64 st;
+
+  if (__lxstat64 (_STAT_VER, tmpl, &st) == 0)
+    __set_errno (EEXIST);
+  return errno == ENOENT ? 0 : -1;
+}
+
+/* Generate a temporary file name based on TMPL.  TMPL must match the
+   rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
+   The name constructed does not exist at the time of the call to
+   __gen_tempname.  TMPL is overwritten with the result.
+
+   KIND may be one of:
+   __GT_NOCREATE:       simply verify that the name does not exist
+                        at the time of the call.
+   __GT_FILE:           create the file using open(O_CREAT|O_EXCL)
+                        and return a read-write fd.  The file is mode 0600.
+   __GT_DIR:            create a directory, which will be mode 0700.
+
+   We use a clever algorithm to get hard-to-predict names. */
+int
+__gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
+{
+  int (*tryfunc) (char *, void *);
+
+  switch (kind)
+    {
+    case __GT_FILE:
+      tryfunc = try_file;
+      break;
+
+    case __GT_DIR:
+      tryfunc = try_dir;
+      break;
+
+    case __GT_NOCREATE:
+      tryfunc = try_nocreate;
+      break;
+
+    default:
+      assert (! "invalid KIND in __gen_tempname");
+      abort ();
+    }
+  return __try_tempname (tmpl, suffixlen, &flags, tryfunc);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/tempname.h ./gdb/gnulib/import/tempname.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/import/tempname.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/tempname.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,65 @@
+/* Create a temporary file or directory.
+
+   Copyright (C) 2006, 2009-2016 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/>.  */
+
+/* header written by Eric Blake */
+
+#ifndef GL_TEMPNAME_H
+# define GL_TEMPNAME_H
+
+# include <stdio.h>
+
+# ifdef __GT_FILE
+#  define GT_FILE     __GT_FILE
+#  define GT_DIR      __GT_DIR
+#  define GT_NOCREATE __GT_NOCREATE
+# else
+#  define GT_FILE     0
+#  define GT_DIR      1
+#  define GT_NOCREATE 2
+# endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Generate a temporary file name based on TMPL.  TMPL must match the
+   rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
+   The name constructed does not exist at the time of the call to
+   gen_tempname.  TMPL is overwritten with the result.
+
+   KIND may be one of:
+   GT_NOCREATE:         simply verify that the name does not exist
+                        at the time of the call.
+   GT_FILE:             create a large file using open(O_CREAT|O_EXCL)
+                        and return a read-write fd.  The file is mode 0600.
+   GT_DIR:              create a directory, which will be mode 0700.
+
+   We use a clever algorithm to get hard-to-predict names. */
+extern int gen_tempname (char *tmpl, int suffixlen, int flags, int kind);
+
+/* Similar to gen_tempname, but TRYFUNC is called for each temporary
+   name to try.  If TRYFUNC returns a non-negative number, TRY_GEN_TEMPNAME
+   returns with this value.  Otherwise, if errno is set to EEXIST, another
+   name is tried, or else TRY_GEN_TEMPNAME returns -1. */
+extern int try_tempname (char *tmpl, int suffixlen, void *args,
+                         int (*tryfunc) (char *, void *));
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* GL_TEMPNAME_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/update-gnulib.sh ./gdb/gnulib/update-gnulib.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnulib/update-gnulib.sh	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/gnulib/update-gnulib.sh	2018-07-10 02:06:13.000000000 +0000
@@ -44,6 +44,7 @@ IMPORTED_GNULIB_MODULES="\
     limits-h \
     memchr \
     memmem \
+    mkstemp \
     pathmax \
     rawmemchr \
     readlink \
@@ -66,8 +67,8 @@ GNULIB_COMMIT_SHA1="38237baf99386101934c
 
 # The expected version number for the various auto tools we will
 # use after the import.
-AUTOCONF_VERSION="2.64"
-AUTOMAKE_VERSION="1.11.1"
+AUTOCONF_VERSION="2.69"
+AUTOMAKE_VERSION="1.15.1"
 ACLOCAL_VERSION="$AUTOMAKE_VERSION"
 
 if [ $# -ne 1 ]; then
@@ -106,7 +107,8 @@ fi
 # Verify that we have the correct version of autoconf.
 ver=`autoconf --version 2>&1 | head -1 | sed 's/.*) //'`
 if [ "$ver" != "$AUTOCONF_VERSION" ]; then
-   echo "Error: Wrong autoconf version: $ver. Aborting."
+   echo "Error: Wrong autoconf version ($ver), we need $AUTOCONF_VERSION."
+   echo "Aborting."
    exit 1
 fi
 
@@ -137,7 +139,8 @@ fi
 #
 ver=`aclocal --version 2>&1 | grep -v "called too early to check prototype" | head -1 | sed 's/.*) //'`
 if [ "$ver" != "$ACLOCAL_VERSION" ]; then
-   echo "Error: Wrong aclocal version: $ver. Aborting."
+   echo "Error: Wrong aclocal version ($ver), we need $ACLOCAL_VERSION."
+   echo "Aborting."
    exit 1
 fi
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnu-nat.c ./gdb/gnu-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnu-nat.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gnu-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -1096,11 +1096,11 @@ inf_validate_procs (struct inf *inf)
 	    last = thread;
 	    proc_debug (thread, "new thread: %lu", threads[i]);
 
-	    ptid = ptid_build (inf->pid, thread->tid, 0);
+	    ptid = ptid_t (inf->pid, thread->tid, 0);
 
 	    /* Tell GDB's generic thread code.  */
 
-	    if (ptid_equal (inferior_ptid, pid_to_ptid (inf->pid)))
+	    if (inferior_ptid == ptid_t (inf->pid))
 	      /* This is the first time we're hearing about thread
 		 ids, after a fork-child.  */
 	      thread_change_ptid (inferior_ptid, ptid);
@@ -1461,9 +1461,10 @@ extern "C" int notify_server (mach_msg_h
 extern "C" int process_reply_server (mach_msg_header_t *, mach_msg_header_t *);
 
 /* Wait for something to happen in the inferior, returning what in STATUS.  */
-static ptid_t
-gnu_wait (struct target_ops *ops,
-	  ptid_t ptid, struct target_waitstatus *status, int options)
+
+ptid_t
+gnu_nat_target::wait (ptid_t ptid, struct target_waitstatus *status,
+		      int options)
 {
   struct msg
     {
@@ -1615,17 +1616,17 @@ rewait:
 
   thread = inf->wait.thread;
   if (thread)
-    ptid = ptid_build (inf->pid, thread->tid, 0);
-  else if (ptid_equal (ptid, minus_one_ptid))
+    ptid = ptid_t (inf->pid, thread->tid, 0);
+  else if (ptid == minus_one_ptid)
     thread = inf_tid_to_thread (inf, -1);
   else
-    thread = inf_tid_to_thread (inf, ptid_get_lwp (ptid));
+    thread = inf_tid_to_thread (inf, ptid.lwp ());
 
   if (!thread || thread->port == MACH_PORT_NULL)
     {
       /* TID is dead; try and find a new thread.  */
       if (inf_update_procs (inf) && inf->threads)
-	ptid = ptid_build (inf->pid, inf->threads->tid, 0); /* The first
+	ptid = ptid_t (inf->pid, inf->threads->tid, 0); /* The first
 							       available
 							       thread.  */
       else
@@ -1633,7 +1634,7 @@ rewait:
     }
 
   if (thread
-      && !ptid_equal (ptid, minus_one_ptid)
+      && ptid != minus_one_ptid
       && status->kind != TARGET_WAITKIND_SPURIOUS
       && inf->pause_sc == 0 && thread->pause_sc == 0)
     /* If something actually happened to THREAD, make sure we
@@ -1998,9 +1999,8 @@ port_msgs_queued (mach_port_t port)
    still unprocessed from the last resume we did (any given resume may result
    in multiple events returned by wait).  */
 
-static void
-gnu_resume (struct target_ops *ops,
-	    ptid_t ptid, int step, enum gdb_signal sig)
+void
+gnu_nat_target::resume (ptid_t ptid, int step, enum gdb_signal sig)
 {
   struct proc *step_thread = 0;
   int resume_all;
@@ -2036,20 +2036,20 @@ gnu_resume (struct target_ops *ops,
   inf_update_procs (inf);
 
   /* A specific PTID means `step only this process id'.  */
-  resume_all = ptid_equal (ptid, minus_one_ptid);
+  resume_all = ptid == minus_one_ptid;
 
   if (resume_all)
     /* Allow all threads to run, except perhaps single-stepping one.  */
     {
       inf_debug (inf, "running all threads; tid = %d",
-		 ptid_get_pid (inferior_ptid));
+		 inferior_ptid.pid ());
       ptid = inferior_ptid;	/* What to step.  */
       inf_set_threads_resume_sc (inf, 0, 1);
     }
   else
     /* Just allow a single thread to run.  */
     {
-      struct proc *thread = inf_tid_to_thread (inf, ptid_get_lwp (ptid));
+      struct proc *thread = inf_tid_to_thread (inf, ptid.lwp ());
 
       if (!thread)
 	error (_("Can't run single thread id %s: no such thread!"),
@@ -2060,7 +2060,7 @@ gnu_resume (struct target_ops *ops,
 
   if (step)
     {
-      step_thread = inf_tid_to_thread (inf, ptid_get_lwp (ptid));
+      step_thread = inf_tid_to_thread (inf, ptid.lwp ());
       if (!step_thread)
 	warning (_("Can't step thread id %s: no such thread."),
 		 target_pid_to_str (ptid));
@@ -2075,8 +2075,8 @@ gnu_resume (struct target_ops *ops,
 }
 
 
-static void
-gnu_kill_inferior (struct target_ops *ops)
+void
+gnu_nat_target::kill ()
 {
   struct proc *task = gnu_current_inf->task;
 
@@ -2090,12 +2090,12 @@ gnu_kill_inferior (struct target_ops *op
 }
 
 /* Clean up after the inferior dies.  */
-static void
-gnu_mourn_inferior (struct target_ops *ops)
+void
+gnu_nat_target::mourn_inferior ()
 {
   inf_debug (gnu_current_inf, "rip");
   inf_detach (gnu_current_inf);
-  inf_child_mourn_inferior (ops);
+  inf_child_target::mourn_inferior ();
 }
 
 
@@ -2131,11 +2131,11 @@ gnu_ptrace_me (void)
     trace_start_error_with_name ("ptrace");
 }
 
-static void
-gnu_create_inferior (struct target_ops *ops, 
-		     const char *exec_file, const std::string &allargs,
-		     char **env,
-		     int from_tty)
+void
+gnu_nat_target::create_inferior (const char *exec_file,
+				 const std::string &allargs,
+				 char **env,
+				 int from_tty)
 {
   struct inf *inf = cur_inf ();
   int pid;
@@ -2148,14 +2148,14 @@ gnu_create_inferior (struct target_ops *
   /* We have something that executes now.  We'll be running through
      the shell at this point (if startup-with-shell is true), but the
      pid shouldn't change.  */
-  add_thread_silent (pid_to_ptid (pid));
+  add_thread_silent (ptid_t (pid));
 
   /* Attach to the now stopped child, which is actually a shell...  */
   inf_debug (inf, "attaching to child: %d", pid);
 
   inf_attach (inf, pid);
 
-  push_target (ops);
+  push_target (this);
 
   inf->pending_execs = 1;
   inf->nomsg = 1;
@@ -2167,7 +2167,7 @@ gnu_create_inferior (struct target_ops *
 
   /* We now have thread info.  */
   thread_change_ptid (inferior_ptid,
-		      ptid_build (inf->pid, inf_pick_first_thread (), 0));
+		      ptid_t (inf->pid, inf_pick_first_thread (), 0));
 
   gdb_startup_inferior (pid, START_INFERIOR_TRAPS_EXPECTED);
 
@@ -2190,8 +2190,8 @@ gnu_create_inferior (struct target_ops *
 
 /* Attach to process PID, then initialize for debugging it
    and wait for the trace-trap that results from attaching.  */
-static void
-gnu_attach (struct target_ops *ops, const char *args, int from_tty)
+void
+gnu_nat_target::attach (const char *args, int from_tty)
 {
   int pid;
   char *exec_file;
@@ -2220,7 +2220,7 @@ gnu_attach (struct target_ops *ops, cons
 
   inf_attach (inf, pid);
 
-  push_target (ops);
+  push_target (this);
 
   inferior = current_inferior ();
   inferior_appeared (inferior, pid);
@@ -2228,7 +2228,7 @@ gnu_attach (struct target_ops *ops, cons
 
   inf_update_procs (inf);
 
-  inferior_ptid = ptid_build (pid, inf_pick_first_thread (), 0);
+  inferior_ptid = ptid_t (pid, inf_pick_first_thread (), 0);
 
   /* We have to initialize the terminal settings now, since the code
      below might try to restore them.  */
@@ -2254,8 +2254,8 @@ gnu_attach (struct target_ops *ops, cons
    to work, it may be necessary for the process to have been
    previously attached.  It *might* work if the program was
    started via fork.  */
-static void
-gnu_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+gnu_nat_target::detach (inferior *inf, int from_tty)
 {
   int pid;
 
@@ -2282,18 +2282,18 @@ gnu_detach (struct target_ops *ops, cons
 }
 
 
-static void
-gnu_stop (struct target_ops *self, ptid_t ptid)
+void
+gnu_nat_target::stop (ptid_t ptid)
 {
-  error (_("to_stop target function not implemented"));
+  error (_("stop target function not implemented"));
 }
 
-static int
-gnu_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+gnu_nat_target::thread_alive (ptid_t ptid)
 {
   inf_update_procs (gnu_current_inf);
   return !!inf_tid_to_thread (gnu_current_inf,
-			      ptid_get_lwp (ptid));
+			      ptid.lwp ());
 }
 
 
@@ -2599,11 +2599,11 @@ gnu_xfer_auxv (gdb_byte *readbuf, const 
 
 /* Target to_xfer_partial implementation.  */
 
-static enum target_xfer_status
-gnu_xfer_partial (struct target_ops *ops, enum target_object object,
-		  const char *annex, gdb_byte *readbuf,
-		  const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-		  ULONGEST *xfered_len)
+enum target_xfer_status
+gnu_nat_target::xfer_partial (enum target_object object,
+			      const char *annex, gdb_byte *readbuf,
+			      const gdb_byte *writebuf, ULONGEST offset,
+			      ULONGEST len, ULONGEST *xfered_len)
 {
   switch (object)
     {
@@ -2617,9 +2617,10 @@ gnu_xfer_partial (struct target_ops *ops
 }
 
 /* Call FUNC on each memory region in the task.  */
-static int
-gnu_find_memory_regions (struct target_ops *self,
-			 find_memory_region_ftype func, void *data)
+
+int
+gnu_nat_target::find_memory_regions (find_memory_region_ftype func,
+				     void *data)
 {
   kern_return_t err;
   task_t task;
@@ -2711,11 +2712,11 @@ proc_string (struct proc *proc)
   return tid_str;
 }
 
-static const char *
-gnu_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+gnu_nat_target::pid_to_str (ptid_t ptid)
 {
   struct inf *inf = gnu_current_inf;
-  int tid = ptid_get_lwp (ptid);
+  int tid = ptid.lwp ();
   struct proc *thread = inf_tid_to_thread (inf, tid);
 
   if (thread)
@@ -2730,32 +2731,6 @@ gnu_pid_to_str (struct target_ops *ops, 
 }
 
 
-/* Create a prototype generic GNU/Hurd target.  The client can
-   override it with local methods.  */
-
-struct target_ops *
-gnu_target (void)
-{
-  struct target_ops *t = inf_child_target ();
-
-  t->to_attach = gnu_attach;
-  t->to_attach_no_wait = 1;
-  t->to_detach = gnu_detach;
-  t->to_resume = gnu_resume;
-  t->to_wait = gnu_wait;
-  t->to_xfer_partial = gnu_xfer_partial;
-  t->to_find_memory_regions = gnu_find_memory_regions;
-  t->to_kill = gnu_kill_inferior;
-  t->to_create_inferior = gnu_create_inferior;
-  t->to_mourn_inferior = gnu_mourn_inferior;
-  t->to_thread_alive = gnu_thread_alive;
-  t->to_pid_to_str = gnu_pid_to_str;
-  t->to_stop = gnu_stop;
-
-  return t;
-}
-
-
 /* User task commands.  */
 
 static struct cmd_list_element *set_task_cmd_list = 0;
@@ -2843,7 +2818,7 @@ cur_thread (void)
 {
   struct inf *inf = cur_inf ();
   struct proc *thread = inf_tid_to_thread (inf,
-					   ptid_get_lwp (inferior_ptid));
+					   inferior_ptid.lwp ());
   if (!thread)
     error (_("No current thread."));
   return thread;
@@ -3043,7 +3018,7 @@ set_sig_thread_cmd (const char *args, in
   else
     {
       struct thread_info *tp = parse_thread_id (args, NULL);
-      inf->signal_thread = inf_tid_to_thread (inf, ptid_get_lwp (tp->ptid));
+      inf->signal_thread = inf_tid_to_thread (inf, tp->ptid.lwp ());
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnu-nat.h ./gdb/gnu-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnu-nat.h	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gnu-nat.h	2018-07-10 02:06:13.000000000 +0000
@@ -103,8 +103,36 @@ extern int gnu_debug_flag;
         fprintf_unfiltered (gdb_stdlog, "%s:%d: " msg "\r\n", \
 			    __FILE__ , __LINE__ , ##args); } while (0)
 
-/* Create a prototype generic GNU/Hurd target.  The client can
-   override it with local methods.  */
-struct target_ops *gnu_target (void);
+/* A prototype generic GNU/Hurd target.  The client can override it
+   with local methods.  */
+
+struct gnu_nat_target : public inf_child_target
+{
+  void attach (const char *, int) override;
+  bool attach_no_wait () override
+  { return true; }
+
+  void detach (inferior *, int) override;
+  void resume (ptid_t, int, enum gdb_signal) override;
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  int find_memory_regions (find_memory_region_ftype func, void *data)
+    override;
+  void kill () override;
+
+  void create_inferior (const char *, const std::string &,
+			char **, int) override;
+  void mourn_inferior () override;
+  bool thread_alive (ptid_t ptid) override;
+  const char *pid_to_str (ptid_t) override;
+  void stop (ptid_t) override;
+};
 
 #endif /* __GNU_NAT_H__ */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnu-v3-abi.c ./gdb/gnu-v3-abi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/gnu-v3-abi.c	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/gnu-v3-abi.c	2018-07-10 02:06:13.000000000 +0000
@@ -164,7 +164,7 @@ build_gdb_vtable_type (struct gdbarch *a
   t = arch_type (arch, TYPE_CODE_STRUCT, offset * TARGET_CHAR_BIT, NULL);
   TYPE_NFIELDS (t) = field - field_list;
   TYPE_FIELDS (t) = field_list;
-  TYPE_TAG_NAME (t) = "gdb_gnu_v3_abi_vtable";
+  TYPE_NAME (t) = "gdb_gnu_v3_abi_vtable";
   INIT_CPLUS_SPECIFIC (t);
 
   return make_type_with_address_space (t, TYPE_INSTANCE_FLAG_CODE_SPACE);
@@ -299,8 +299,9 @@ gnuv3_rtti_type (struct value *value,
   LONGEST offset_to_top;
   const char *atsign;
 
-  /* We only have RTTI for class objects.  */
-  if (TYPE_CODE (values_type) != TYPE_CODE_STRUCT)
+  /* We only have RTTI for dynamic class objects.  */
+  if (TYPE_CODE (values_type) != TYPE_CODE_STRUCT
+      || !gnuv3_dynamic_class (values_type))
     return NULL;
 
   /* Determine architecture.  */
@@ -1027,7 +1028,7 @@ build_std_type_info_type (struct gdbarch
   t = arch_type (arch, TYPE_CODE_STRUCT, offset * TARGET_CHAR_BIT, NULL);
   TYPE_NFIELDS (t) = field - field_list;
   TYPE_FIELDS (t) = field_list;
-  TYPE_TAG_NAME (t) = "gdb_gnu_v3_type_info";
+  TYPE_NAME (t) = "gdb_gnu_v3_type_info";
   INIT_CPLUS_SPECIFIC (t);
 
   return t;
@@ -1216,7 +1217,7 @@ gnuv3_skip_trampoline (struct frame_info
      of the real function from the function descriptor before passing on
      the address to other layers of GDB.  */
   func_addr = gdbarch_convert_from_func_ptr_addr (gdbarch, method_stop_pc,
-                                                  &current_target);
+						  current_top_target ());
   if (func_addr != 0)
     method_stop_pc = func_addr;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/go32-nat.c ./gdb/go32-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/go32-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/go32-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -232,7 +232,6 @@ static int dr_ref_count[4];
 #define SOME_PID 42
 
 static int prog_has_started = 0;
-static void go32_mourn_inferior (struct target_ops *ops);
 
 #define r_ofs(x) (offsetof(TSS,x))
 
@@ -335,8 +334,56 @@ static struct {
   {GDB_SIGNAL_LAST, -1}
 };
 
-static void
-go32_attach (struct target_ops *ops, const char *args, int from_tty)
+/* The go32 target.  */
+
+struct go32_nat_target final : public x86_nat_target<inf_child_target>
+{
+  void attach (const char *, int) override;
+
+  void resume (ptid_t, int, enum gdb_signal) override;
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  void files_info () override;
+
+  void terminal_init () override;
+
+  void terminal_inferior () override;
+
+  void terminal_ours_for_output () override;
+
+  void terminal_ours () override;
+
+  void terminal_info (const char *, int) override;
+
+  void pass_ctrlc () override;
+
+  void kill () override;
+
+  void create_inferior (const char *, const std::string &,
+			char **, int) override;
+
+  void mourn_inferior () override;
+
+  bool thread_alive (ptid_t ptid) override;
+
+  const char *pid_to_str (ptid_t) override;
+};
+
+static go32_nat_target the_go32_nat_target;
+
+void
+go32_nat_target::attach (const char *args, int from_tty)
 {
   error (_("\
 You cannot attach to a running program on this platform.\n\
@@ -346,9 +393,8 @@ Use the `run' command to run DJGPP progr
 static int resume_is_step;
 static int resume_signal = -1;
 
-static void
-go32_resume (struct target_ops *ops,
-	     ptid_t ptid, int step, enum gdb_signal siggnal)
+void
+go32_nat_target::resume (ptid_t ptid, int step, enum gdb_signal siggnal)
 {
   int i;
 
@@ -371,9 +417,9 @@ go32_resume (struct target_ops *ops,
 
 static char child_cwd[FILENAME_MAX];
 
-static ptid_t
-go32_wait (struct target_ops *ops,
-	   ptid_t ptid, struct target_waitstatus *status, int options)
+ptid_t
+go32_nat_target::wait (ptid_t ptid, struct target_waitstatus *status,
+		       int options)
 {
   int i;
   unsigned char saved_opcode;
@@ -487,7 +533,7 @@ go32_wait (struct target_ops *ops,
 	    }
 	}
     }
-  return pid_to_ptid (SOME_PID);
+  return ptid_t (SOME_PID);
 }
 
 static void
@@ -495,8 +541,8 @@ fetch_register (struct regcache *regcach
 {
   struct gdbarch *gdbarch = regcache->arch ();
   if (regno < gdbarch_fp0_regnum (gdbarch))
-    regcache_raw_supply (regcache, regno,
-			 (char *) &a_tss + regno_mapping[regno].tss_ofs);
+    regcache->raw_supply (regno,
+			  (char *) &a_tss + regno_mapping[regno].tss_ofs);
   else if (i386_fp_regnum_p (gdbarch, regno) || i386_fpc_regnum_p (gdbarch,
 								   regno))
     i387_supply_fsave (regcache, regno, &npx);
@@ -505,9 +551,8 @@ fetch_register (struct regcache *regcach
 		    _("Invalid register no. %d in fetch_register."), regno);
 }
 
-static void
-go32_fetch_registers (struct target_ops *ops,
-		      struct regcache *regcache, int regno)
+void
+go32_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
   if (regno >= 0)
     fetch_register (regcache, regno);
@@ -526,8 +571,8 @@ store_register (const struct regcache *r
 {
   struct gdbarch *gdbarch = regcache->arch ();
   if (regno < gdbarch_fp0_regnum (gdbarch))
-    regcache_raw_collect (regcache, regno,
-			  (char *) &a_tss + regno_mapping[regno].tss_ofs);
+    regcache->raw_collect (regno,
+			   (char *) &a_tss + regno_mapping[regno].tss_ofs);
   else if (i386_fp_regnum_p (gdbarch, regno) || i386_fpc_regnum_p (gdbarch,
 								   regno))
     i387_collect_fsave (regcache, regno, &npx);
@@ -536,9 +581,8 @@ store_register (const struct regcache *r
 		    _("Invalid register no. %d in store_register."), regno);
 }
 
-static void
-go32_store_registers (struct target_ops *ops,
-		      struct regcache *regcache, int regno)
+void
+go32_nat_target::store_registers (struct regcache *regcache, int regno)
 {
   unsigned r;
 
@@ -598,11 +642,12 @@ go32_xfer_memory (gdb_byte *readbuf, con
 
 /* Target to_xfer_partial implementation.  */
 
-static enum target_xfer_status
-go32_xfer_partial (struct target_ops *ops, enum target_object object,
-		   const char *annex, gdb_byte *readbuf,
-		   const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-		   ULONGEST *xfered_len)
+enum target_xfer_status
+go32_nat_target::xfer_partial (enum target_object object,
+			       const char *annex, gdb_byte *readbuf,
+			       const gdb_byte *writebuf, ULONGEST offset,
+			       ULONGEST len,
+			       ULONGEST *xfered_len)
 {
   switch (object)
     {
@@ -610,30 +655,30 @@ go32_xfer_partial (struct target_ops *op
       return go32_xfer_memory (readbuf, writebuf, offset, len, xfered_len);
 
     default:
-      return ops->beneath->to_xfer_partial (ops->beneath, object, annex,
-					    readbuf, writebuf, offset, len,
-					    xfered_len);
+      return this->beneath ()->xfer_partial (object, annex,
+					     readbuf, writebuf, offset, len,
+					     xfered_len);
     }
 }
 
 static cmdline_t child_cmd;	/* Parsed child's command line kept here.  */
 
-static void
-go32_files_info (struct target_ops *target)
+void
+go32_nat_target::files_info ()
 {
   printf_unfiltered ("You are running a DJGPP V2 program.\n");
 }
 
-static void
-go32_kill_inferior (struct target_ops *ops)
+void
+go32_nat_target::kill_inferior ()
 {
-  go32_mourn_inferior (ops);
+  mourn_inferior ();
 }
 
-static void
-go32_create_inferior (struct target_ops *ops,
-		      const char *exec_file,
-		      const std::string &allargs, char **env, int from_tty)
+void
+go32_nat_target::create_inferior (const char *exec_file,
+				  const std::string &allargs,
+				  char **env, int from_tty)
 {
   extern char **environ;
   jmp_buf start_state;
@@ -707,12 +752,12 @@ go32_create_inferior (struct target_ops 
   save_npx ();
 #endif
 
-  inferior_ptid = pid_to_ptid (SOME_PID);
+  inferior_ptid = ptid_t (SOME_PID);
   inf = current_inferior ();
   inferior_appeared (inf, SOME_PID);
 
-  if (!target_is_pushed (ops))
-    push_target (ops);
+  if (!target_is_pushed (this))
+    push_target (this);
 
   add_thread_silent (inferior_ptid);
 
@@ -721,8 +766,8 @@ go32_create_inferior (struct target_ops 
   prog_has_started = 1;
 }
 
-static void
-go32_mourn_inferior (struct target_ops *ops)
+void
+go32_nat_target::mourn_inferior ()
 {
   ptid_t ptid;
 
@@ -743,11 +788,10 @@ go32_mourn_inferior (struct target_ops *
 
   ptid = inferior_ptid;
   inferior_ptid = null_ptid;
-  delete_thread_silent (ptid);
   prog_has_started = 0;
 
   generic_mourn_inferior ();
-  inf_child_maybe_unpush_target (ops);
+  maybe_unpush_target ();
 }
 
 /* Hardware watchpoint support.  */
@@ -852,15 +896,15 @@ static int inf_terminal_mode;
    second call will always see GDB's own cooked terminal.  */
 static int terminal_is_ours = 1;
 
-static void
-go32_terminal_init (struct target_ops *self)
+void
+go32_nat_target::terminal_init ()
 {
   inf_mode_valid = 0;	/* Reinitialize, in case they are restarting child.  */
   terminal_is_ours = 1;
 }
 
-static void
-go32_terminal_info (struct target_ops *self, const char *args, int from_tty)
+void
+go32_nat_target::terminal_info (const char *args, int from_tty)
 {
   printf_unfiltered ("Inferior's terminal is in %s mode.\n",
 		     !inf_mode_valid
@@ -889,8 +933,8 @@ go32_terminal_info (struct target_ops *s
 #endif
 }
 
-static void
-go32_terminal_inferior (struct target_ops *self)
+void
+go32_nat_target::terminal_inferior ()
 {
   /* Redirect standard handles as child wants them.  */
   errno = 0;
@@ -910,8 +954,8 @@ go32_terminal_inferior (struct target_op
   }
 }
 
-static void
-go32_terminal_ours (struct target_ops *self)
+void
+go32_nat_target::terminal_ours ()
 {
   /* Switch to cooked mode on the gdb terminal and save the inferior
      terminal mode to be restored when it is resumed.  */
@@ -937,44 +981,21 @@ go32_terminal_ours (struct target_ops *s
   }
 }
 
-static int
-go32_thread_alive (struct target_ops *ops, ptid_t ptid)
+void
+go32_nat_target::pass_ctrlc ()
 {
-  return !ptid_equal (ptid, null_ptid);
 }
 
-static const char *
-go32_pid_to_str (struct target_ops *ops, ptid_t ptid)
+bool
+go32_nat_target::thread_alive (ptid_t ptid)
 {
-  return normal_pid_to_str (ptid);
+  return ptid != null_ptid;
 }
 
-/* Create a go32 target.  */
-
-static struct target_ops *
-go32_target (void)
+const char *
+go32_nat_target::pid_to_str (ptid_t ptid)
 {
-  struct target_ops *t = inf_child_target ();
-
-  t->to_attach = go32_attach;
-  t->to_resume = go32_resume;
-  t->to_wait = go32_wait;
-  t->to_fetch_registers = go32_fetch_registers;
-  t->to_store_registers = go32_store_registers;
-  t->to_xfer_partial = go32_xfer_partial;
-  t->to_files_info = go32_files_info;
-  t->to_terminal_init = go32_terminal_init;
-  t->to_terminal_inferior = go32_terminal_inferior;
-  t->to_terminal_ours_for_output = go32_terminal_ours;
-  t->to_terminal_ours = go32_terminal_ours;
-  t->to_terminal_info = go32_terminal_info;
-  t->to_kill = go32_kill_inferior;
-  t->to_create_inferior = go32_create_inferior;
-  t->to_mourn_inferior = go32_mourn_inferior;
-  t->to_thread_alive = go32_thread_alive;
-  t->to_pid_to_str = go32_pid_to_str;
-
-  return t;
+  return normal_pid_to_str (ptid);
 }
 
 /* Return the current DOS codepage number.  */
@@ -2061,8 +2082,6 @@ go32_info_dos_command (const char *args,
 void
 _initialize_go32_nat (void)
 {
-  struct target_ops *t = go32_target ();
-
   x86_dr_low.set_control = go32_set_dr7;
   x86_dr_low.set_addr = go32_set_dr;
   x86_dr_low.get_status = go32_get_dr6;
@@ -2070,8 +2089,7 @@ _initialize_go32_nat (void)
   x86_dr_low.get_addr = go32_get_dr;
   x86_set_debug_register_length (4);
 
-  x86_use_watchpoints (t);
-  add_target (t);
+  add_inf_child_target (&the_go32_nat_target);
 
   /* Initialize child's cwd as empty to be initialized when starting
      the child.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/go-exp.c ./gdb/go-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/go-exp.c	2018-07-03 02:10:18.000000000 +0000
+++ ./gdb/go-exp.c	2018-07-10 02:10:06.000000000 +0000
@@ -101,12 +101,12 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 
 
 /* Line 189 of yacc.c  */
-#line 110 "go-exp.c"
+#line 110 "go-exp.c.tmp"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -253,7 +253,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 257 "go-exp.c"
+#line 257 "go-exp.c.tmp"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -272,7 +272,7 @@ static int parse_number (struct parser_s
 
 
 /* Line 264 of yacc.c  */
-#line 276 "go-exp.c"
+#line 276 "go-exp.c.tmp"
 
 #ifdef short
 # undef short
@@ -590,7 +590,7 @@ static const yytype_uint16 yyrline[] =
      321,   325,   329,   333,   337,   341,   345,   349,   353,   357,
      361,   365,   369,   373,   377,   381,   385,   389,   393,   397,
      401,   407,   414,   423,   436,   443,   446,   452,   467,   474,
-     491,   509,   521,   527,   533,   549,   601,   603,   610,   623
+     491,   509,   521,   527,   533,   549,   596,   598,   605,   618
 };
 #endif
 
@@ -2162,12 +2162,7 @@ yyreduce:
 			  if (sym.symbol)
 			    {
 			      if (symbol_read_needs_frame (sym.symbol))
-				{
-				  if (innermost_block == 0
-				      || contained_in (sym.block,
-						       innermost_block))
-				    innermost_block = sym.block;
-				}
+				innermost_block.update (sym);
 
 			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			      write_exp_elt_block (pstate, sym.block);
@@ -2203,21 +2198,21 @@ yyreduce:
   case 66:
 
 /* Line 1455 of yacc.c  */
-#line 602 "go-exp.y"
+#line 597 "go-exp.y"
     { (yyval.tval) = lookup_pointer_type ((yyvsp[(2) - (2)].tval)); }
     break;
 
   case 67:
 
 /* Line 1455 of yacc.c  */
-#line 604 "go-exp.y"
+#line 599 "go-exp.y"
     { (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; }
     break;
 
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 611 "go-exp.y"
+#line 606 "go-exp.y"
     { (yyval.tval) = builtin_go_type (parse_gdbarch (pstate))
 			    ->builtin_uint8; }
     break;
@@ -2225,7 +2220,7 @@ yyreduce:
 
 
 /* Line 1455 of yacc.c  */
-#line 2230 "go-exp.c"
+#line 2225 "go-exp.c.tmp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2437,7 +2432,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 633 "go-exp.y"
+#line 628 "go-exp.y"
 
 
 /* Take care of parsing a number (anything that starts with a digit).
@@ -2901,7 +2896,7 @@ lex_one_token (struct parser_state *par_
 	    last_was_structop = 1;
 	  goto symbol;		/* Nope, must be a symbol. */
 	}
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
 
     case '0':
     case '1':
@@ -3391,12 +3386,12 @@ go_parse (struct parser_state *par_state
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/go-exp.y ./gdb/go-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/go-exp.y	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/go-exp.y	2018-07-10 02:06:13.000000000 +0000
@@ -81,7 +81,7 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 %}
 
@@ -552,12 +552,7 @@ variable:	name_not_typename
 			  if (sym.symbol)
 			    {
 			      if (symbol_read_needs_frame (sym.symbol))
-				{
-				  if (innermost_block == 0
-				      || contained_in (sym.block,
-						       innermost_block))
-				    innermost_block = sym.block;
-				}
+				innermost_block.update (sym);
 
 			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			      write_exp_elt_block (pstate, sym.block);
@@ -1093,7 +1088,7 @@ lex_one_token (struct parser_state *par_
 	    last_was_structop = 1;
 	  goto symbol;		/* Nope, must be a symbol. */
 	}
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
 
     case '0':
     case '1':
@@ -1583,11 +1578,11 @@ go_parse (struct parser_state *par_state
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/go-lang.c ./gdb/go-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/go-lang.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/go-lang.c	2018-07-10 02:06:13.000000000 +0000
@@ -106,8 +106,8 @@ static int
 sixg_string_p (struct type *type)
 {
   if (TYPE_NFIELDS (type) == 2
-      && TYPE_TAG_NAME (type) != NULL
-      && strcmp (TYPE_TAG_NAME (type), "string") == 0)
+      && TYPE_NAME (type) != NULL
+      && strcmp (TYPE_NAME (type), "string") == 0)
     return 1;
 
   return 0;
@@ -577,7 +577,6 @@ extern const struct language_defn go_lan
   NULL,
   &exp_descriptor_c,
   go_parse,
-  go_yyerror,
   null_post_parser,
   c_printchar,			/* Print a character constant.  */
   c_printstr,			/* Function to print string constant.  */
@@ -590,6 +589,7 @@ extern const struct language_defn go_lan
   default_read_var_value,	/* la_read_var_value */
   NULL,				/* Language specific skip_trampoline.  */
   NULL,				/* name_of_this */
+  false,			/* la_store_sym_names_in_linkage_form_p */
   basic_lookup_symbol_nonlocal, 
   basic_lookup_transparent_type,
   go_demangle,			/* Language specific symbol demangler.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/go-lang.h ./gdb/go-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/go-lang.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/go-lang.h	2018-07-10 02:06:13.000000000 +0000
@@ -60,8 +60,6 @@ enum go_type
 
 extern int go_parse (struct parser_state *);
 
-extern void go_yyerror (const char *);
-
 /* Defined in go-lang.c.  */
 
 extern const char *go_main_name (void);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/guile.c ./gdb/guile/guile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/guile.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/guile/guile.c	2018-07-10 02:06:13.000000000 +0000
@@ -209,7 +209,7 @@ guile_command (const char *arg, int from
     }
   else
     {
-      command_line_up l = get_command_line (guile_control, "");
+      counted_command_line l = get_command_line (guile_control, "");
 
       execute_control_command_untraced (l.get ());
     }
@@ -256,12 +256,12 @@ gdbscm_eval_from_control_command
   char *script, *msg;
   struct cleanup *cleanup;
 
-  if (cmd->body_count != 1)
+  if (cmd->body_list_1 != nullptr)
     error (_("Invalid \"guile\" block structure."));
 
   cleanup = make_cleanup (null_cleanup, NULL);
 
-  script = compute_scheme_string (cmd->body_list[0]);
+  script = compute_scheme_string (cmd->body_list_0.get ());
   msg = gdbscm_safe_eval_string (script, 0);
   xfree (script);
   if (msg != NULL)
@@ -408,7 +408,7 @@ guile_command (const char *arg, int from
     {
       /* Even if Guile isn't enabled, we still have to slurp the
 	 command list to the corresponding "end".  */
-      command_line_up l = get_command_line (guile_control, "");
+      counted_command_line l = get_command_line (guile_control, "");
 
       execute_control_command_untraced (l.get ());
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/scm-breakpoint.c ./gdb/guile/scm-breakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/scm-breakpoint.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/guile/scm-breakpoint.c	2018-07-10 02:06:13.000000000 +0000
@@ -25,7 +25,7 @@
 #include "breakpoint.h"
 #include "gdbcmd.h"
 #include "gdbthread.h"
-#include "observer.h"
+#include "observable.h"
 #include "cli/cli-script.h"
 #include "ada-lang.h"
 #include "arch-utils.h"
@@ -1327,8 +1327,8 @@ gdbscm_initialize_breakpoints (void)
   scm_set_smob_free (breakpoint_smob_tag, bpscm_free_breakpoint_smob);
   scm_set_smob_print (breakpoint_smob_tag, bpscm_print_breakpoint_smob);
 
-  observer_attach_breakpoint_created (bpscm_breakpoint_created);
-  observer_attach_breakpoint_deleted (bpscm_breakpoint_deleted);
+  gdb::observers::breakpoint_created.attach (bpscm_breakpoint_created);
+  gdb::observers::breakpoint_deleted.attach (bpscm_breakpoint_deleted);
 
   gdbscm_define_integer_constants (breakpoint_integer_constants, 1);
   gdbscm_define_functions (breakpoint_functions, 1);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/scm-frame.c ./gdb/guile/scm-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/scm-frame.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/guile/scm-frame.c	2018-07-10 02:06:13.000000000 +0000
@@ -877,7 +877,6 @@ gdbscm_frame_read_var (SCM self, SCM sym
     }
   else if (scm_is_string (symbol_scm))
     {
-      char *var_name;
       const struct block *block = NULL;
       struct cleanup *cleanup;
       struct gdb_exception except = exception_none;
@@ -893,38 +892,35 @@ gdbscm_frame_read_var (SCM self, SCM sym
 	    gdbscm_throw (except_scm);
 	}
 
-      var_name = gdbscm_scm_to_c_string (symbol_scm);
-      cleanup = make_cleanup (xfree, var_name);
-      /* N.B. Between here and the call to do_cleanups, don't do anything
-	 to cause a Scheme exception without performing the cleanup.  */
+      {
+	gdb::unique_xmalloc_ptr<char> var_name
+	  (gdbscm_scm_to_c_string (symbol_scm));
+	/* N.B. Between here and the end of the scope, don't do anything
+	   to cause a Scheme exception.  */
+
+	TRY
+	  {
+	    struct block_symbol lookup_sym;
+
+	    if (block == NULL)
+	      block = get_frame_block (frame, NULL);
+	    lookup_sym = lookup_symbol (var_name.get (), block, VAR_DOMAIN,
+					NULL);
+	    var = lookup_sym.symbol;
+	    block = lookup_sym.block;
+	  }
+	CATCH (ex, RETURN_MASK_ALL)
+	  {
+	    except = ex;
+	  }
+	END_CATCH
+      }
 
-      TRY
-	{
-	  struct block_symbol lookup_sym;
-
-	  if (block == NULL)
-	    block = get_frame_block (frame, NULL);
-	  lookup_sym = lookup_symbol (var_name, block, VAR_DOMAIN, NULL);
-	  var = lookup_sym.symbol;
-	  block = lookup_sym.block;
-	}
-      CATCH (ex, RETURN_MASK_ALL)
-	{
-	  except = ex;
-	}
-      END_CATCH
-
-      do_cleanups (cleanup);
       GDBSCM_HANDLE_GDB_EXCEPTION (except);
 
       if (var == NULL)
-	{
-	  do_cleanups (cleanup);
-	  gdbscm_out_of_range_error (FUNC_NAME, 0, symbol_scm,
-				     _("variable not found"));
-	}
-
-      do_cleanups (cleanup);
+	gdbscm_out_of_range_error (FUNC_NAME, 0, symbol_scm,
+				   _("variable not found"));
     }
   else
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/scm-type.c ./gdb/guile/scm-type.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/scm-type.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/guile/scm-type.c	2018-07-10 02:06:13.000000000 +0000
@@ -224,7 +224,7 @@ tyscm_equal_p_type_smob (SCM type1_scm, 
 {
   type_smob *type1_smob, *type2_smob;
   struct type *type1, *type2;
-  int result = 0;
+  bool result = false;
 
   SCM_ASSERT_TYPE (tyscm_is_type (type1_scm), type1_scm, SCM_ARG1, FUNC_NAME,
 		   type_smob_name);
@@ -576,10 +576,16 @@ gdbscm_type_tag (SCM self)
   type_smob *t_smob
     = tyscm_get_type_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
   struct type *type = t_smob->type;
+  const char *tagname = nullptr;
 
-  if (!TYPE_TAG_NAME (type))
+  if (TYPE_CODE (type) == TYPE_CODE_STRUCT
+      || TYPE_CODE (type) == TYPE_CODE_UNION
+      || TYPE_CODE (type) == TYPE_CODE_ENUM)
+    tagname = TYPE_NAME (type);
+
+  if (tagname == nullptr)
     return SCM_BOOL_F;
-  return gdbscm_scm_from_c_string (TYPE_TAG_NAME (type));
+  return gdbscm_scm_from_c_string (tagname);
 }
 
 /* (type-name <gdb:type>) -> string
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/scm-utils.c ./gdb/guile/scm-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/scm-utils.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/guile/scm-utils.c	2018-07-10 02:06:13.000000000 +0000
@@ -386,7 +386,7 @@ gdbscm_parse_function_args (const char *
   SCM status;
   SCM rest = SCM_EOL;
   /* Keep track of malloc'd strings.  We need to free them upon error.  */
-  VEC (char_ptr) *allocated_strings = NULL;
+  std::vector<char *> allocated_strings;
   char *ptr;
 
   have_rest = validate_arg_format (format);
@@ -419,7 +419,7 @@ gdbscm_parse_function_args (const char *
 	  if (!gdbscm_is_false (status))
 	    goto fail;
 	  if (*p == 's')
-	    VEC_safe_push (char_ptr, allocated_strings, *(char **) arg_ptr);
+	    allocated_strings.push_back (*(char **) arg_ptr);
 	}
       ++p;
       ++position;
@@ -485,10 +485,7 @@ gdbscm_parse_function_args (const char *
 	      if (!gdbscm_is_false (status))
 		goto fail;
 	      if (p[i] == 's')
-		{
-		  VEC_safe_push (char_ptr, allocated_strings,
-				 *(char **) arg_ptr);
-		}
+		allocated_strings.push_back (*(char **) arg_ptr);
 	    }
 	}
     }
@@ -516,14 +513,12 @@ gdbscm_parse_function_args (const char *
     }
 
   va_end (args);
-  VEC_free (char_ptr, allocated_strings);
   return;
 
  fail:
   va_end (args);
-  for (i = 0; VEC_iterate (char_ptr, allocated_strings, i, ptr); ++i)
+  for (char *ptr : allocated_strings)
     xfree (ptr);
-  VEC_free (char_ptr, allocated_strings);
   gdbscm_throw (status);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/scm-value.c ./gdb/guile/scm-value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/guile/scm-value.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/guile/scm-value.c	2018-07-10 02:06:13.000000000 +0000
@@ -131,7 +131,7 @@ vlscm_free_value_smob (SCM self)
   value_smob *v_smob = (value_smob *) SCM_SMOB_DATA (self);
 
   vlscm_forget_value_smob (v_smob);
-  value_free (v_smob->value);
+  value_decref (v_smob->value);
 
   return 0;
 }
@@ -253,8 +253,7 @@ vlscm_scm_from_value (struct value *valu
   SCM v_scm = vlscm_make_value_smob ();
   value_smob *v_smob = (value_smob *) SCM_SMOB_DATA (v_scm);
 
-  v_smob->value = value;
-  release_value_or_incref (value);
+  v_smob->value = release_value (value).release ();
   vlscm_remember_scheme_value (v_smob);
 
   return v_scm;
@@ -1107,7 +1106,7 @@ gdbscm_value_to_string (SCM self, SCM re
   char *encoding = NULL;
   SCM errors = SCM_BOOL_F;
   int length = -1;
-  gdb_byte *buffer = NULL;
+  gdb::unique_xmalloc_ptr<gdb_byte> buffer;
   const char *la_encoding = NULL;
   struct type *char_type = NULL;
   SCM result;
@@ -1164,9 +1163,10 @@ gdbscm_value_to_string (SCM self, SCM re
   scm_dynwind_begin ((scm_t_dynwind_flags) 0);
 
   gdbscm_dynwind_xfree (encoding);
-  gdbscm_dynwind_xfree (buffer);
+  gdb_byte *buffer_contents = buffer.release ();
+  gdbscm_dynwind_xfree (buffer_contents);
 
-  result = scm_from_stringn ((const char *) buffer,
+  result = scm_from_stringn ((const char *) buffer_contents,
 			     length * TYPE_LENGTH (char_type),
 			     (encoding != NULL && *encoding != '\0'
 			      ? encoding
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/h8300-tdep.c ./gdb/h8300-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/h8300-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/h8300-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -1160,14 +1160,14 @@ h8300_register_type (struct gdbarch *gdb
    raw registers.  These helpers extend/narrow the values.  */
 
 static enum register_status
-pseudo_from_raw_register (struct gdbarch *gdbarch, struct regcache *regcache,
+pseudo_from_raw_register (struct gdbarch *gdbarch, readable_regcache *regcache,
 			  gdb_byte *buf, int pseudo_regno, int raw_regno)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   enum register_status status;
   ULONGEST val;
 
-  status = regcache_raw_read_unsigned (regcache, raw_regno, &val);
+  status = regcache->raw_read (raw_regno, &val);
   if (status == REG_VALID)
     store_unsigned_integer (buf,
 			    register_size (gdbarch, pseudo_regno),
@@ -1191,7 +1191,7 @@ raw_from_pseudo_register (struct gdbarch
 
 static enum register_status
 h8300_pseudo_register_read (struct gdbarch *gdbarch,
-			    struct regcache *regcache, int regno,
+			    readable_regcache *regcache, int regno,
 			    gdb_byte *buf)
 {
   if (regno == E_PSEUDO_CCR_REGNUM (gdbarch))
@@ -1205,7 +1205,7 @@ h8300_pseudo_register_read (struct gdbar
 				       regno, E_EXR_REGNUM);
     }
   else
-    return regcache_raw_read (regcache, regno, buf);
+    return regcache->raw_read (regno, buf);
 }
 
 static void
@@ -1218,7 +1218,7 @@ h8300_pseudo_register_write (struct gdba
   else if (regno == E_PSEUDO_EXR_REGNUM (gdbarch))
     raw_from_pseudo_register (gdbarch, regcache, buf, E_EXR_REGNUM, regno);
   else
-    regcache_raw_write (regcache, regno, buf);
+    regcache->raw_write (regno, buf);
 }
 
 static int
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-linux-nat.c ./gdb/hppa-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/hppa-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -34,6 +34,16 @@
 
 #include "hppa-tdep.h"
 
+class hppa_linux_nat_target final : public linux_nat_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static hppa_linux_nat_target the_hppa_linux_nat_target;
+
 /* Prototypes for supply_gregset etc.  */
 #include "gregset.h"
 
@@ -219,11 +229,11 @@ fetch_register (struct regcache *regcach
 
   if (gdbarch_cannot_fetch_register (gdbarch, regno))
     {
-      regcache_raw_supply (regcache, regno, NULL);
+      regcache->raw_supply (regno, NULL);
       return;
     }
 
-  tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  tid = get_ptrace_pid (regcache->ptid ());
 
   errno = 0;
   val = ptrace (PTRACE_PEEKUSER, tid, hppa_linux_register_addr (regno, 0), 0);
@@ -232,7 +242,7 @@ fetch_register (struct regcache *regcach
 	   gdbarch_register_name (gdbarch, regno),
 	   regno, safe_strerror (errno));
 
-  regcache_raw_supply (regcache, regno, &val);
+  regcache->raw_supply (regno, &val);
 }
 
 /* Store one register.  */
@@ -247,10 +257,10 @@ store_register (const struct regcache *r
   if (gdbarch_cannot_store_register (gdbarch, regno))
     return;
 
-  tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  tid = get_ptrace_pid (regcache->ptid ());
 
   errno = 0;
-  regcache_raw_collect (regcache, regno, &val);
+  regcache->raw_collect (regno, &val);
   ptrace (PTRACE_POKEUSER, tid, hppa_linux_register_addr (regno, 0), val);
   if (errno != 0)
     error (_("Couldn't write register %s (#%d): %s."),
@@ -262,9 +272,8 @@ store_register (const struct regcache *r
    regno == -1, otherwise fetch all general registers or all floating
    point registers depending upon the value of regno.  */
 
-static void
-hppa_linux_fetch_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regno)
+void
+hppa_linux_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
   if (-1 == regno)
     {
@@ -283,9 +292,8 @@ hppa_linux_fetch_inferior_registers (str
    regno == -1, otherwise store all general registers or all floating
    point registers depending upon the value of regno.  */
 
-static void
-hppa_linux_store_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regno)
+void
+hppa_linux_nat_target::store_registers (struct regcache *regcache, int regno)
 {
   if (-1 == regno)
     {
@@ -312,7 +320,7 @@ supply_gregset (struct regcache *regcach
   for (i = 0; i < sizeof (greg_map) / sizeof (greg_map[0]); i++, regp++)
     {
       int regno = greg_map[i];
-      regcache_raw_supply (regcache, regno, regp);
+      regcache->raw_supply (regno, regp);
     }
 }
 
@@ -331,9 +339,7 @@ fill_gregset (const struct regcache *reg
       int mregno = greg_map[i];
 
       if (regno == -1 || regno == mregno)
-	{
-          regcache_raw_collect(regcache, mregno, &(*gregsetp)[i]);
-	}
+	regcache->raw_collect (mregno, &(*gregsetp)[i]);
     }
 }
 
@@ -350,8 +356,8 @@ supply_fpregset (struct regcache *regcac
   for (regi = 0; regi <= 31; regi++)
     {
       from = (const char *) &((*fpregsetp)[regi]);
-      regcache_raw_supply (regcache, 2*regi + HPPA_FP0_REGNUM, from);
-      regcache_raw_supply (regcache, 2*regi + HPPA_FP0_REGNUM + 1, from + 4);
+      regcache->raw_supply (2*regi + HPPA_FP0_REGNUM, from);
+      regcache->raw_supply (2*regi + HPPA_FP0_REGNUM + 1, from + 4);
     }
 }
 
@@ -373,22 +379,14 @@ fill_fpregset (const struct regcache *re
       char *to = (char *) &((*fpregsetp)[(i - HPPA_FP0_REGNUM) / 2]);
       if ((i - HPPA_FP0_REGNUM) & 1)
 	to += 4;
-      regcache_raw_collect (regcache, i, to);
+      regcache->raw_collect (i, to);
    }
 }
 
 void
 _initialize_hppa_linux_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
-  /* Add our register access methods.  */
-  t->to_fetch_registers = hppa_linux_fetch_inferior_registers;
-  t->to_store_registers = hppa_linux_store_inferior_registers;
-
   /* Register the target.  */
-  linux_nat_add_target (t);
+  linux_target = &the_hppa_linux_nat_target;
+  add_inf_child_target (&the_hppa_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-nbsd-nat.c ./gdb/hppa-nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-nbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/hppa-nbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,6 +30,14 @@
 
 #include "nbsd-nat.h"
 
+class hppa_nbsd_nat_target final : public nbsd_nat_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static hppa_nbsd_nat_target the_hppa_nbsd_nat_target;
+
 static int
 hppanbsd_gregset_supplies_p (int regnum)
 {
@@ -55,19 +63,19 @@ hppanbsd_supply_gregset (struct regcache
   int regnum;
 
   for (regnum = HPPA_R1_REGNUM; regnum <= HPPA_R31_REGNUM; regnum++)
-    regcache_raw_supply (regcache, regnum, regs + regnum * 4);
+    regcache->raw_supply (regnum, regs + regnum * 4);
 
-  regcache_raw_supply (regcache, HPPA_SAR_REGNUM, regs + 32 * 4);
-  regcache_raw_supply (regcache, HPPA_PCSQ_HEAD_REGNUM, regs + 33 * 4);
-  regcache_raw_supply (regcache, HPPA_PCSQ_TAIL_REGNUM, regs + 34 * 4);
-  regcache_raw_supply (regcache, HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
-  regcache_raw_supply (regcache, HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
-  regcache_raw_supply (regcache, HPPA_IPSW_REGNUM, regs);
-  regcache_raw_supply (regcache, HPPA_SR4_REGNUM, regs + 41 * 4);
-  regcache_raw_supply (regcache, HPPA_SR4_REGNUM + 1, regs + 37 * 4);
-  regcache_raw_supply (regcache, HPPA_SR4_REGNUM + 2, regs + 38 * 4);
-  regcache_raw_supply (regcache, HPPA_SR4_REGNUM + 3, regs + 39 * 4);
-  regcache_raw_supply (regcache, HPPA_SR4_REGNUM + 4, regs + 40 * 4);
+  regcache->raw_supply (HPPA_SAR_REGNUM, regs + 32 * 4);
+  regcache->raw_supply (HPPA_PCSQ_HEAD_REGNUM, regs + 33 * 4);
+  regcache->raw_supply (HPPA_PCSQ_TAIL_REGNUM, regs + 34 * 4);
+  regcache->raw_supply (HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
+  regcache->raw_supply (HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
+  regcache->raw_supply (HPPA_IPSW_REGNUM, regs);
+  regcache->raw_supply (HPPA_SR4_REGNUM, regs + 41 * 4);
+  regcache->raw_supply (HPPA_SR4_REGNUM + 1, regs + 37 * 4);
+  regcache->raw_supply (HPPA_SR4_REGNUM + 2, regs + 38 * 4);
+  regcache->raw_supply (HPPA_SR4_REGNUM + 3, regs + 39 * 4);
+  regcache->raw_supply (HPPA_SR4_REGNUM + 4, regs + 40 * 4);
 }
 
 /* Supply the floating-point registers stored in FPREGS to REGCACHE.  */
@@ -81,8 +89,8 @@ hppanbsd_supply_fpregset (struct regcach
   for (regnum = HPPA_FP0_REGNUM; regnum <= HPPA_FP31R_REGNUM;
        regnum += 2, regs += 8)
     {
-      regcache_raw_supply (regcache, regnum, regs);
-      regcache_raw_supply (regcache, regnum + 1, regs + 4);
+      regcache->raw_supply (regnum, regs);
+      regcache->raw_supply (regnum + 1, regs + 4);
     }
 }
 
@@ -100,38 +108,38 @@ hppanbsd_collect_gregset (const struct r
   for (i = HPPA_R1_REGNUM; i <= HPPA_R31_REGNUM; i++)
     {
       if (regnum == -1 || regnum == i)
-	regcache_raw_collect (regcache, i, regs + i * 4);
+	regcache->raw_collect (i, regs + i * 4);
     }
 
   if (regnum == -1 || regnum == HPPA_IPSW_REGNUM)
-    regcache_raw_collect (regcache, HPPA_IPSW_REGNUM, regs);
+    regcache->raw_collect (HPPA_IPSW_REGNUM, regs);
   if (regnum == -1 || regnum == HPPA_PCOQ_HEAD_REGNUM)
-    regcache_raw_collect (regcache, HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
+    regcache->raw_collect (HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
   if (regnum == -1 || regnum == HPPA_PCOQ_TAIL_REGNUM)
-    regcache_raw_collect (regcache, HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
+    regcache->raw_collect (HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
 
   if (regnum == -1 || regnum == HPPA_SAR_REGNUM)
-    regcache_raw_collect (regcache, HPPA_SAR_REGNUM, regs + 32 * 4);
+    regcache->raw_collect (HPPA_SAR_REGNUM, regs + 32 * 4);
   if (regnum == -1 || regnum == HPPA_PCSQ_HEAD_REGNUM)
-    regcache_raw_collect (regcache, HPPA_PCSQ_HEAD_REGNUM, regs + 33 * 4);
+    regcache->raw_collect (HPPA_PCSQ_HEAD_REGNUM, regs + 33 * 4);
   if (regnum == -1 || regnum == HPPA_PCSQ_TAIL_REGNUM)
-    regcache_raw_collect (regcache, HPPA_PCSQ_TAIL_REGNUM, regs + 34 * 4);
+    regcache->raw_collect (HPPA_PCSQ_TAIL_REGNUM, regs + 34 * 4);
   if (regnum == -1 || regnum == HPPA_PCOQ_HEAD_REGNUM)
-    regcache_raw_collect (regcache, HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
+    regcache->raw_collect (HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
   if (regnum == -1 || regnum == HPPA_PCOQ_TAIL_REGNUM)
-    regcache_raw_collect (regcache, HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
+    regcache->raw_collect (HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
   if (regnum == -1 || regnum == HPPA_IPSW_REGNUM)
-    regcache_raw_collect (regcache, HPPA_IPSW_REGNUM, regs);
+    regcache->raw_collect (HPPA_IPSW_REGNUM, regs);
   if (regnum == -1 || regnum == HPPA_SR4_REGNUM)
-    regcache_raw_collect (regcache, HPPA_SR4_REGNUM, regs + 41 * 4);
+    regcache->raw_collect (HPPA_SR4_REGNUM, regs + 41 * 4);
   if (regnum == -1 || regnum == HPPA_SR4_REGNUM + 1)
-    regcache_raw_collect (regcache, HPPA_SR4_REGNUM + 1, regs + 37 * 4);
+    regcache->raw_collect (HPPA_SR4_REGNUM + 1, regs + 37 * 4);
   if (regnum == -1 || regnum == HPPA_SR4_REGNUM + 2)
-    regcache_raw_collect (regcache, HPPA_SR4_REGNUM + 2, regs + 38 * 4);
+    regcache->raw_collect (HPPA_SR4_REGNUM + 2, regs + 38 * 4);
   if (regnum == -1 || regnum == HPPA_SR4_REGNUM + 3)
-    regcache_raw_collect (regcache, HPPA_SR4_REGNUM + 3, regs + 39 * 4);
+    regcache->raw_collect (HPPA_SR4_REGNUM + 3, regs + 39 * 4);
   if (regnum == -1 || regnum == HPPA_SR4_REGNUM + 4)
-    regcache_raw_collect (regcache, HPPA_SR4_REGNUM + 4, regs + 40 * 4);
+    regcache->raw_collect (HPPA_SR4_REGNUM + 4, regs + 40 * 4);
 }
 
 /* Collect the floating-point registers from REGCACHE and store them
@@ -148,8 +156,8 @@ hppanbsd_collect_fpregset (struct regcac
     {
       if (regnum == -1 || regnum == i || regnum == i + 1)
 	{
-	  regcache_raw_collect (regcache, i, regs);
-	  regcache_raw_collect (regcache, i + 1, regs + 4);
+	  regcache->raw_collect (i, regs);
+	  regcache->raw_collect (i + 1, regs + 4);
 	}
     }
 }
@@ -158,12 +166,11 @@ hppanbsd_collect_fpregset (struct regcac
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers (including the floating-point registers).  */
 
-static void
-hppanbsd_fetch_registers (struct target_ops *ops,
-			  struct regcache *regcache, int regnum)
+void
+hppa_nbsd_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 
 {
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (regnum == -1 || hppanbsd_gregset_supplies_p (regnum))
     {
@@ -189,11 +196,10 @@ hppanbsd_fetch_registers (struct target_
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers (including the floating-point registers).  */
 
-static void
-hppanbsd_store_registers (struct target_ops *ops,
-			  struct regcache *regcache, int regnum)
+void
+hppa_nbsd_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (regnum == -1 || hppanbsd_gregset_supplies_p (regnum))
     {
@@ -225,15 +231,5 @@ hppanbsd_store_registers (struct target_
 void
 _initialize_hppanbsd_nat (void)
 {
-  struct target_ops *t;
-
-  /* Add some extra features to the ptrace target.  */
-  t = inf_ptrace_target ();
-
-  t->to_fetch_registers = hppanbsd_fetch_registers;
-  t->to_store_registers = hppanbsd_store_registers;
-
-  t->to_pid_to_exec_file = nbsd_pid_to_exec_file;
-
-  add_target (t);
+  add_inf_child_target (&the_hppa_nbsd_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-nbsd-tdep.c ./gdb/hppa-nbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-nbsd-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/hppa-nbsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -171,7 +171,7 @@ hppanbsd_supply_gregset (const struct re
   for (i = 0; i < ARRAY_SIZE (hppanbsd_reg_offset); i++)
     if (hppanbsd_reg_offset[i] != -1)
       if (regnum == -1 || regnum == i)
-	regcache_raw_supply (regcache, i, regs + hppanbsd_reg_offset[i]);
+	regcache->raw_supply (i, regs + hppanbsd_reg_offset[i]);
 }
 
 /* NetBSD/hppa register set.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-obsd-nat.c ./gdb/hppa-obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-obsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/hppa-obsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -31,6 +31,14 @@
 
 #include "obsd-nat.h"
 
+struct hppa_obsd_nat_target final : public obsd_nat_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static hppa_obsd_nat_target the_hppa_obsd_nat_target;
+
 static int
 hppaobsd_gregset_supplies_p (int regnum)
 {
@@ -52,34 +60,34 @@ hppaobsd_supply_gregset (struct regcache
   const char *regs = gregs;
   int regnum;
 
-  regcache_raw_supply (regcache, HPPA_R0_REGNUM, &zero);
+  regcache->raw_supply (HPPA_R0_REGNUM, &zero);
   for (regnum = HPPA_R1_REGNUM; regnum <= HPPA_R31_REGNUM; regnum++)
-    regcache_raw_supply (regcache, regnum, regs + regnum * 4);
+    regcache->raw_supply (regnum, regs + regnum * 4);
 
   if (sizeof(struct reg) >= 46 * 4)
     {
-      regcache_raw_supply (regcache, HPPA_IPSW_REGNUM, regs);
-      regcache_raw_supply (regcache, HPPA_SAR_REGNUM, regs + 32 * 4);
-      regcache_raw_supply (regcache, HPPA_PCSQ_HEAD_REGNUM, regs + 33 * 4);
-      regcache_raw_supply (regcache, HPPA_PCSQ_TAIL_REGNUM, regs + 34 * 4);
-      regcache_raw_supply (regcache, HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
-      regcache_raw_supply (regcache, HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
-      regcache_raw_supply (regcache, HPPA_SR0_REGNUM, regs + 37 * 4);
-      regcache_raw_supply (regcache, HPPA_SR1_REGNUM, regs + 38 * 4);
-      regcache_raw_supply (regcache, HPPA_SR2_REGNUM, regs + 39 * 4);
-      regcache_raw_supply (regcache, HPPA_SR3_REGNUM, regs + 40 * 4);
-      regcache_raw_supply (regcache, HPPA_SR4_REGNUM, regs + 41 * 4);
-      regcache_raw_supply (regcache, HPPA_SR5_REGNUM, regs + 42 * 4);
-      regcache_raw_supply (regcache, HPPA_SR6_REGNUM, regs + 43 * 4);
-      regcache_raw_supply (regcache, HPPA_SR7_REGNUM, regs + 44 * 4);
-      regcache_raw_supply (regcache, HPPA_CR26_REGNUM, regs + 45 * 4);
-      regcache_raw_supply (regcache, HPPA_CR27_REGNUM, regs + 46 * 4);
+      regcache->raw_supply (HPPA_IPSW_REGNUM, regs);
+      regcache->raw_supply (HPPA_SAR_REGNUM, regs + 32 * 4);
+      regcache->raw_supply (HPPA_PCSQ_HEAD_REGNUM, regs + 33 * 4);
+      regcache->raw_supply (HPPA_PCSQ_TAIL_REGNUM, regs + 34 * 4);
+      regcache->raw_supply (HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
+      regcache->raw_supply (HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
+      regcache->raw_supply (HPPA_SR0_REGNUM, regs + 37 * 4);
+      regcache->raw_supply (HPPA_SR1_REGNUM, regs + 38 * 4);
+      regcache->raw_supply (HPPA_SR2_REGNUM, regs + 39 * 4);
+      regcache->raw_supply (HPPA_SR3_REGNUM, regs + 40 * 4);
+      regcache->raw_supply (HPPA_SR4_REGNUM, regs + 41 * 4);
+      regcache->raw_supply (HPPA_SR5_REGNUM, regs + 42 * 4);
+      regcache->raw_supply (HPPA_SR6_REGNUM, regs + 43 * 4);
+      regcache->raw_supply (HPPA_SR7_REGNUM, regs + 44 * 4);
+      regcache->raw_supply (HPPA_CR26_REGNUM, regs + 45 * 4);
+      regcache->raw_supply (HPPA_CR27_REGNUM, regs + 46 * 4);
     } 
   else
     {
-      regcache_raw_supply (regcache, HPPA_SAR_REGNUM, regs);
-      regcache_raw_supply (regcache, HPPA_PCOQ_HEAD_REGNUM, regs + 32 * 4);
-      regcache_raw_supply (regcache, HPPA_PCOQ_TAIL_REGNUM, regs + 33 * 4);
+      regcache->raw_supply (HPPA_SAR_REGNUM, regs);
+      regcache->raw_supply (HPPA_PCOQ_HEAD_REGNUM, regs + 32 * 4);
+      regcache->raw_supply (HPPA_PCOQ_TAIL_REGNUM, regs + 33 * 4);
     }
 }
 
@@ -94,8 +102,8 @@ hppaobsd_supply_fpregset (struct regcach
   for (regnum = HPPA_FP0_REGNUM; regnum <= HPPA_FP31R_REGNUM;
        regnum += 2, regs += 8)
     {
-      regcache_raw_supply (regcache, regnum, regs);
-      regcache_raw_supply (regcache, regnum + 1, regs + 4);
+      regcache->raw_supply (regnum, regs);
+      regcache->raw_supply (regnum + 1, regs + 4);
     }
 }
 
@@ -112,52 +120,52 @@ hppaobsd_collect_gregset (const struct r
   for (i = HPPA_R1_REGNUM; i <= HPPA_R31_REGNUM; i++)
     {
       if (regnum == -1 || regnum == i)
-	regcache_raw_collect (regcache, i, regs + i * 4);
+	regcache->raw_collect (i, regs + i * 4);
     }
 
   if (sizeof(struct reg) >= 46 * 4)
     {
       if (regnum == -1 || regnum == HPPA_IPSW_REGNUM)
-	regcache_raw_collect (regcache, HPPA_IPSW_REGNUM, regs);
+	regcache->raw_collect (HPPA_IPSW_REGNUM, regs);
       if (regnum == -1 || regnum == HPPA_SAR_REGNUM)
-	regcache_raw_collect (regcache, HPPA_SAR_REGNUM, regs + 32 * 4);
+	regcache->raw_collect (HPPA_SAR_REGNUM, regs + 32 * 4);
       if (regnum == -1 || regnum == HPPA_PCSQ_HEAD_REGNUM)
-	regcache_raw_collect (regcache, HPPA_PCSQ_HEAD_REGNUM, regs + 33 * 4);
+	regcache->raw_collect (HPPA_PCSQ_HEAD_REGNUM, regs + 33 * 4);
       if (regnum == -1 || regnum == HPPA_PCSQ_TAIL_REGNUM)
-	regcache_raw_collect (regcache, HPPA_PCSQ_TAIL_REGNUM, regs + 34 * 4);
+	regcache->raw_collect (HPPA_PCSQ_TAIL_REGNUM, regs + 34 * 4);
       if (regnum == -1 || regnum == HPPA_PCOQ_HEAD_REGNUM)
-	regcache_raw_collect (regcache, HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
+	regcache->raw_collect (HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
       if (regnum == -1 || regnum == HPPA_PCOQ_TAIL_REGNUM)
-	regcache_raw_collect (regcache, HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
+	regcache->raw_collect (HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
       if (regnum == -1 || regnum == HPPA_SR0_REGNUM)
-	regcache_raw_collect (regcache, HPPA_SR0_REGNUM, regs + 37 * 4);
+	regcache->raw_collect (HPPA_SR0_REGNUM, regs + 37 * 4);
       if (regnum == -1 || regnum == HPPA_SR1_REGNUM)
-	regcache_raw_collect (regcache, HPPA_SR1_REGNUM, regs + 38 * 4);
+	regcache->raw_collect (HPPA_SR1_REGNUM, regs + 38 * 4);
       if (regnum == -1 || regnum == HPPA_SR2_REGNUM)
-	regcache_raw_collect (regcache, HPPA_SR2_REGNUM, regs + 39 * 4);
+	regcache->raw_collect (HPPA_SR2_REGNUM, regs + 39 * 4);
       if (regnum == -1 || regnum == HPPA_SR3_REGNUM)
-	regcache_raw_collect (regcache, HPPA_SR3_REGNUM, regs + 40 * 4);
+	regcache->raw_collect (HPPA_SR3_REGNUM, regs + 40 * 4);
       if (regnum == -1 || regnum == HPPA_SR4_REGNUM)
-	regcache_raw_collect (regcache, HPPA_SR4_REGNUM, regs + 41 * 4);
+	regcache->raw_collect (HPPA_SR4_REGNUM, regs + 41 * 4);
       if (regnum == -1 || regnum == HPPA_SR5_REGNUM)
-	regcache_raw_collect (regcache, HPPA_SR5_REGNUM, regs + 42 * 4);
+	regcache->raw_collect (HPPA_SR5_REGNUM, regs + 42 * 4);
       if (regnum == -1 || regnum == HPPA_SR6_REGNUM)
-	regcache_raw_collect (regcache, HPPA_SR6_REGNUM, regs + 43 * 4);
+	regcache->raw_collect (HPPA_SR6_REGNUM, regs + 43 * 4);
       if (regnum == -1 || regnum == HPPA_SR7_REGNUM)
-	regcache_raw_collect (regcache, HPPA_SR7_REGNUM, regs + 44 * 4);
+	regcache->raw_collect (HPPA_SR7_REGNUM, regs + 44 * 4);
       if (regnum == -1 || regnum == HPPA_CR26_REGNUM)
-	regcache_raw_collect (regcache, HPPA_CR26_REGNUM, regs + 45 * 4);
+	regcache->raw_collect (HPPA_CR26_REGNUM, regs + 45 * 4);
       if (regnum == -1 || regnum == HPPA_CR27_REGNUM)
-	regcache_raw_collect (regcache, HPPA_CR27_REGNUM, regs + 46 * 4);
+	regcache->raw_collect (HPPA_CR27_REGNUM, regs + 46 * 4);
     }
   else
     {
       if (regnum == -1 || regnum == HPPA_SAR_REGNUM)
-	regcache_raw_collect (regcache, HPPA_SAR_REGNUM, regs);
+	regcache->raw_collect (HPPA_SAR_REGNUM, regs);
       if (regnum == -1 || regnum == HPPA_PCOQ_HEAD_REGNUM)
-	regcache_raw_collect (regcache, HPPA_PCOQ_HEAD_REGNUM, regs + 32 * 4);
+	regcache->raw_collect (HPPA_PCOQ_HEAD_REGNUM, regs + 32 * 4);
       if (regnum == -1 || regnum == HPPA_PCOQ_TAIL_REGNUM)
-	regcache_raw_collect (regcache, HPPA_PCOQ_TAIL_REGNUM, regs + 33 * 4);
+	regcache->raw_collect (HPPA_PCOQ_TAIL_REGNUM, regs + 33 * 4);
     }
 }
 
@@ -175,8 +183,8 @@ hppaobsd_collect_fpregset (struct regcac
     {
       if (regnum == -1 || regnum == i || regnum == i + 1)
 	{
-	  regcache_raw_collect (regcache, i, regs);
-	  regcache_raw_collect (regcache, i + 1, regs + 4);
+	  regcache->raw_collect (i, regs);
+	  regcache->raw_collect (i + 1, regs + 4);
 	}
     }
 }
@@ -185,11 +193,10 @@ hppaobsd_collect_fpregset (struct regcac
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers (including the floating-point registers).  */
 
-static void
-hppaobsd_fetch_registers (struct target_ops *ops,
-			  struct regcache *regcache, int regnum)
+void
+hppa_obsd_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (regnum == -1 || hppaobsd_gregset_supplies_p (regnum))
     {
@@ -215,9 +222,8 @@ hppaobsd_fetch_registers (struct target_
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers (including the floating-point registers).  */
 
-static void
-hppaobsd_store_registers (struct target_ops *ops,
-			  struct regcache *regcache, int regnum)
+void
+hppa_obsd_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
   if (regnum == -1 || hppaobsd_gregset_supplies_p (regnum))
     {
@@ -249,10 +255,5 @@ hppaobsd_store_registers (struct target_
 void
 _initialize_hppaobsd_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = hppaobsd_fetch_registers;
-  t->to_store_registers = hppaobsd_store_registers;
-  obsd_add_target (t);
+  add_inf_child_target (&the_hppa_obsd_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-obsd-tdep.c ./gdb/hppa-obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-obsd-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/hppa-obsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -51,56 +51,56 @@ hppaobsd_supply_gregset (const struct re
   gdb_assert (len >= HPPAOBSD_SIZEOF_GREGS);
 
   if (regnum == -1 || regnum == HPPA_R0_REGNUM)
-    regcache_raw_supply (regcache, HPPA_R0_REGNUM, &zero);
+    regcache->raw_supply (HPPA_R0_REGNUM, &zero);
   for (i = HPPA_R1_REGNUM, offset = 4; i <= HPPA_R31_REGNUM; i++, offset += 4)
     {
       if (regnum == -1 || regnum == i)
-	regcache_raw_supply (regcache, i, regs + offset);
+	regcache->raw_supply (i, regs + offset);
     }
 
   if (len >= HPPANBSD_SIZEOF_GREGS)
     {
       if (regnum == -1 || regnum == HPPA_IPSW_REGNUM)
-	regcache_raw_supply (regcache, HPPA_IPSW_REGNUM, regs);
+	regcache->raw_supply (HPPA_IPSW_REGNUM, regs);
       if (regnum == -1 || regnum == HPPA_SAR_REGNUM)
-	regcache_raw_supply (regcache, HPPA_SAR_REGNUM, regs + 32 * 4);
+	regcache->raw_supply (HPPA_SAR_REGNUM, regs + 32 * 4);
       if (regnum == -1 || regnum == HPPA_PCSQ_HEAD_REGNUM)
-	regcache_raw_supply (regcache, HPPA_PCSQ_HEAD_REGNUM, regs + 33 * 4);
+	regcache->raw_supply (HPPA_PCSQ_HEAD_REGNUM, regs + 33 * 4);
       if (regnum == -1 || regnum == HPPA_PCSQ_TAIL_REGNUM)
-	regcache_raw_supply (regcache, HPPA_PCSQ_TAIL_REGNUM, regs + 34 * 4);
+	regcache->raw_supply (HPPA_PCSQ_TAIL_REGNUM, regs + 34 * 4);
       if (regnum == -1 || regnum == HPPA_PCOQ_HEAD_REGNUM)
-	regcache_raw_supply (regcache, HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
+	regcache->raw_supply (HPPA_PCOQ_HEAD_REGNUM, regs + 35 * 4);
       if (regnum == -1 || regnum == HPPA_PCOQ_TAIL_REGNUM)
-	regcache_raw_supply (regcache, HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
+	regcache->raw_supply (HPPA_PCOQ_TAIL_REGNUM, regs + 36 * 4);
       if (regnum == -1 || regnum == HPPA_SR0_REGNUM)
-	regcache_raw_supply (regcache, HPPA_SR0_REGNUM, regs + 37 * 4);
+	regcache->raw_supply (HPPA_SR0_REGNUM, regs + 37 * 4);
       if (regnum == -1 || regnum == HPPA_SR1_REGNUM)
-	regcache_raw_supply (regcache, HPPA_SR1_REGNUM, regs + 38 * 4);
+	regcache->raw_supply (HPPA_SR1_REGNUM, regs + 38 * 4);
       if (regnum == -1 || regnum == HPPA_SR2_REGNUM)
-	regcache_raw_supply (regcache, HPPA_SR2_REGNUM, regs + 39 * 4);
+	regcache->raw_supply (HPPA_SR2_REGNUM, regs + 39 * 4);
       if (regnum == -1 || regnum == HPPA_SR3_REGNUM)
-	regcache_raw_supply (regcache, HPPA_SR3_REGNUM, regs + 40 * 4);
+	regcache->raw_supply (HPPA_SR3_REGNUM, regs + 40 * 4);
       if (regnum == -1 || regnum == HPPA_SR4_REGNUM)
-	regcache_raw_supply (regcache, HPPA_SR4_REGNUM, regs + 41 * 4);
+	regcache->raw_supply (HPPA_SR4_REGNUM, regs + 41 * 4);
       if (regnum == -1 || regnum == HPPA_SR5_REGNUM)
-	regcache_raw_supply (regcache, HPPA_SR5_REGNUM, regs + 42 * 4);
+	regcache->raw_supply (HPPA_SR5_REGNUM, regs + 42 * 4);
       if (regnum == -1 || regnum == HPPA_SR6_REGNUM)
-	regcache_raw_supply (regcache, HPPA_SR6_REGNUM, regs + 43 * 4);
+	regcache->raw_supply (HPPA_SR6_REGNUM, regs + 43 * 4);
       if (regnum == -1 || regnum == HPPA_SR7_REGNUM)
-	regcache_raw_supply (regcache, HPPA_SR7_REGNUM, regs + 44 * 4);
+	regcache->raw_supply (HPPA_SR7_REGNUM, regs + 44 * 4);
       if (regnum == -1 || regnum == HPPA_CR26_REGNUM)
-	regcache_raw_supply (regcache, HPPA_CR26_REGNUM, regs + 45 * 4);
+	regcache->raw_supply (HPPA_CR26_REGNUM, regs + 45 * 4);
       if (regnum == -1 || regnum == HPPA_CR27_REGNUM)
-	regcache_raw_supply (regcache, HPPA_CR27_REGNUM, regs + 46 * 4);
+	regcache->raw_supply (HPPA_CR27_REGNUM, regs + 46 * 4);
     }
   else
     {
       if (regnum == -1 || regnum == HPPA_SAR_REGNUM)
-	regcache_raw_supply (regcache, HPPA_SAR_REGNUM, regs);
+	regcache->raw_supply (HPPA_SAR_REGNUM, regs);
       if (regnum == -1 || regnum == HPPA_PCOQ_HEAD_REGNUM)
-	regcache_raw_supply (regcache, HPPA_PCOQ_HEAD_REGNUM, regs + 32 * 4);
+	regcache->raw_supply (HPPA_PCOQ_HEAD_REGNUM, regs + 32 * 4);
       if (regnum == -1 || regnum == HPPA_PCOQ_TAIL_REGNUM)
-	regcache_raw_supply (regcache, HPPA_PCOQ_TAIL_REGNUM, regs + 33 * 4);
+	regcache->raw_supply (HPPA_PCOQ_TAIL_REGNUM, regs + 33 * 4);
     }
 }
 
@@ -121,7 +121,7 @@ hppaobsd_supply_fpregset (const struct r
   for (i = HPPA_FP0_REGNUM; i <= HPPA_FP31R_REGNUM; i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + (i - HPPA_FP0_REGNUM) * 4);
+	regcache->raw_supply (i, regs + (i - HPPA_FP0_REGNUM) * 4);
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-tdep.c ./gdb/hppa-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/hppa-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/hppa-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -205,13 +205,10 @@ hppa_symbol_address(const char *sym)
 static struct hppa_objfile_private *
 hppa_init_objfile_priv_data (struct objfile *objfile)
 {
-  struct hppa_objfile_private *priv;
+  hppa_objfile_private *priv
+    = OBSTACK_ZALLOC (&objfile->objfile_obstack, hppa_objfile_private);
 
-  priv = (struct hppa_objfile_private *)
-  	 obstack_alloc (&objfile->objfile_obstack,
-	 		sizeof (struct hppa_objfile_private));
   set_objfile_data (objfile, hppa_objfile_priv_data, priv);
-  memset (priv, 0, sizeof (*priv));
 
   return priv;
 }
@@ -823,17 +820,15 @@ hppa32_push_dummy_call (struct gdbarch *
 		  int fpLreg = 72 + (param_ptr - 36) / 4 * 2;
 		  int fpreg = 74 + (param_ptr - 32) / 8 * 4;
 
-		  regcache_cooked_write (regcache, grreg, param_val);
-		  regcache_cooked_write (regcache, fpLreg, param_val);
+		  regcache->cooked_write (grreg, param_val);
+		  regcache->cooked_write (fpLreg, param_val);
 
 		  if (param_len > 4)
 		    {
-		      regcache_cooked_write (regcache, grreg + 1, 
-					     param_val + 4);
+		      regcache->cooked_write (grreg + 1, param_val + 4);
 
-		      regcache_cooked_write (regcache, fpreg, param_val);
-		      regcache_cooked_write (regcache, fpreg + 1, 
-					     param_val + 4);
+		      regcache->cooked_write (fpreg, param_val);
+		      regcache->cooked_write (fpreg + 1, param_val + 4);
 		    }
 		}
 	    }
@@ -1049,8 +1044,8 @@ hppa64_push_dummy_call (struct gdbarch *
 		     passed in floating-point registers, are passed in
 		     the right halves of the floating point registers;
 		     the left halves are unused."  */
-		  regcache_cooked_write_part (regcache, regnum, offset % 8,
-					      len, value_contents (arg));
+		  regcache->cooked_write_part (regnum, offset % 8, len,
+					       value_contents (arg));
 		}
 	    }
 	}
@@ -1091,8 +1086,8 @@ hppa64_push_dummy_call (struct gdbarch *
       regnum = HPPA_ARG0_REGNUM - offset / 8;
       while (regnum > HPPA_ARG0_REGNUM - 8 && len > 0)
 	{
-	  regcache_cooked_write_part (regcache, regnum,
-				      offset % 8, std::min (len, 8), valbuf);
+	  regcache->cooked_write_part (regnum, offset % 8, std::min (len, 8),
+				       valbuf);
 	  offset += std::min (len, 8);
 	  valbuf += std::min (len, 8);
 	  len -= std::min (len, 8);
@@ -1157,20 +1152,18 @@ hppa32_return_value (struct gdbarch *gdb
       if (part > 0)
 	{
 	  if (readbuf != NULL)
-	    regcache_cooked_read_part (regcache, reg, 4 - part,
-				       part, readbuf);
+	    regcache->cooked_read_part (reg, 4 - part, part, readbuf);
 	  if (writebuf != NULL)
-	    regcache_cooked_write_part (regcache, reg, 4 - part,
-					part, writebuf);
+	    regcache->cooked_write_part (reg, 4 - part, part, writebuf);
 	  reg++;
 	}
       /* Now transfer the remaining register values.  */
       for (b = part; b < TYPE_LENGTH (type); b += 4)
 	{
 	  if (readbuf != NULL)
-	    regcache_cooked_read (regcache, reg, readbuf + b);
+	    regcache->cooked_read (reg, readbuf + b);
 	  if (writebuf != NULL)
-	    regcache_cooked_write (regcache, reg, writebuf + b);
+	    regcache->cooked_write (reg, writebuf + b);
 	  reg++;
 	}
       return RETURN_VALUE_REGISTER_CONVENTION;
@@ -1248,8 +1241,8 @@ hppa64_return_value (struct gdbarch *gdb
     {
       while (len > 0)
 	{
-	  regcache_cooked_read_part (regcache, regnum, offset,
-				     std::min (len, 8), readbuf);
+	  regcache->cooked_read_part (regnum, offset, std::min (len, 8),
+				      readbuf);
 	  readbuf += std::min (len, 8);
 	  len -= std::min (len, 8);
 	  regnum++;
@@ -1260,8 +1253,8 @@ hppa64_return_value (struct gdbarch *gdb
     {
       while (len > 0)
 	{
-	  regcache_cooked_write_part (regcache, regnum, offset,
-				      std::min (len, 8), writebuf);
+	  regcache->cooked_write_part (regnum, offset, std::min (len, 8),
+				       writebuf);
 	  writebuf += std::min (len, 8);
 	  len -= std::min (len, 8);
 	  regnum++;
@@ -1304,13 +1297,13 @@ hppa64_frame_align (struct gdbarch *gdba
 }
 
 CORE_ADDR
-hppa_read_pc (struct regcache *regcache)
+hppa_read_pc (readable_regcache *regcache)
 {
   ULONGEST ipsw;
   ULONGEST pc;
 
-  regcache_cooked_read_unsigned (regcache, HPPA_IPSW_REGNUM, &ipsw);
-  regcache_cooked_read_unsigned (regcache, HPPA_PCOQ_HEAD_REGNUM, &pc);
+  regcache->cooked_read (HPPA_IPSW_REGNUM, &ipsw);
+  regcache->cooked_read (HPPA_PCOQ_HEAD_REGNUM, &pc);
 
   /* If the current instruction is nullified, then we are effectively
      still executing the previous instruction.  Pretend we are still
@@ -2747,14 +2740,14 @@ hppa_fetch_pointer_argument (struct fram
 }
 
 static enum register_status
-hppa_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
+hppa_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
 			   int regnum, gdb_byte *buf)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   ULONGEST tmp;
   enum register_status status;
 
-  status = regcache_raw_read_unsigned (regcache, regnum, &tmp);
+  status = regcache->raw_read (regnum, &tmp);
   if (status == REG_VALID)
     {
       if (regnum == HPPA_PCOQ_HEAD_REGNUM || regnum == HPPA_PCOQ_TAIL_REGNUM)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-bsd-nat.c ./gdb/i386-bsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-bsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-bsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -97,7 +97,7 @@ i386bsd_supply_gregset (struct regcache 
       int offset = i386bsd_r_reg_offset[regnum];
 
       if (offset != -1)
-	regcache_raw_supply (regcache, regnum, regs + offset);
+	regcache->raw_supply (regnum, regs + offset);
     }
 }
 
@@ -119,7 +119,7 @@ i386bsd_collect_gregset (const struct re
 	  int offset = i386bsd_r_reg_offset[i];
 
 	  if (offset != -1)
-	    regcache_raw_collect (regcache, i, regs + offset);
+	    regcache->raw_collect (i, regs + offset);
 	}
     }
 }
@@ -127,11 +127,10 @@ i386bsd_collect_gregset (const struct re
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers (including the floating point registers).  */
 
-static void
-i386bsd_fetch_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int regnum)
+void
+i386bsd_fetch_inferior_registers (struct regcache *regcache, int regnum)
 {
-  pid_t pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t pid = get_ptrace_pid (regcache->ptid ());
 
   if (regnum == -1 || GETREGS_SUPPLIES (regnum))
     {
@@ -191,11 +190,10 @@ i386bsd_fetch_inferior_registers (struct
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers (including the floating point registers).  */
 
-static void
-i386bsd_store_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int regnum)
+void
+i386bsd_store_inferior_registers (struct regcache *regcache, int regnum)
 {
-  pid_t pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t pid = get_ptrace_pid (regcache->ptid ());
 
   if (regnum == -1 || GETREGS_SUPPLIES (regnum))
     {
@@ -267,20 +265,6 @@ i386bsd_store_inferior_registers (struct
     }
 }
 
-/* Create a prototype *BSD/i386 target.  The client can override it
-   with local methods.  */
-
-struct target_ops *
-i386bsd_target (void)
-{
-  struct target_ops *t;
-
-  t = x86bsd_target ();
-  t->to_fetch_registers = i386bsd_fetch_inferior_registers;
-  t->to_store_registers = i386bsd_store_inferior_registers;
-  return t;
-}
-
 void
 _initialize_i386bsd_nat (void)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-bsd-nat.h ./gdb/i386-bsd-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-bsd-nat.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-bsd-nat.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,9 +20,23 @@
 #ifndef I386_BSD_NAT_H
 #define I386_BSD_NAT_H
 
-/* Create a prototype *BSD/i386 target.  The client can override it
-   with local methods.  */
+/* Helper functions.  See definitions.  */
+extern void i386bsd_fetch_inferior_registers (struct regcache *regcache,
+					      int regnum);
+extern void i386bsd_store_inferior_registers (struct regcache *regcache,
+					      int regnum);
 
-extern struct target_ops *i386bsd_target (void);
+/* A prototype *BSD/i386 target.  */
+
+template<typename BaseTarget>
+class i386_bsd_nat_target : public x86bsd_nat_target<BaseTarget>
+{
+public:
+  void fetch_registers (struct regcache *regcache, int regnum) override
+  { i386bsd_fetch_inferior_registers (regcache, regnum); }
+
+  void store_registers (struct regcache *regcache, int regnum) override
+  { i386bsd_store_inferior_registers (regcache, regnum); }
+};
 
 #endif /* i386-bsd-nat.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-cygwin-tdep.c ./gdb/i386-cygwin-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-cygwin-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-cygwin-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -183,9 +183,9 @@ i386_windows_core_pid_to_str (struct gdb
 {
   static char buf[80];
 
-  if (ptid_get_lwp (ptid) != 0)
+  if (ptid.lwp () != 0)
     {
-      snprintf (buf, sizeof (buf), "Thread 0x%lx", ptid_get_lwp (ptid));
+      snprintf (buf, sizeof (buf), "Thread 0x%lx", ptid.lwp ());
       return buf;
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-darwin-nat.c ./gdb/i386-darwin-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-darwin-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-darwin-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -43,14 +43,23 @@
 #include "amd64-darwin-tdep.h"
 #endif
 
+struct i386_darwin_nat_target final : public x86_nat_target<darwin_nat_target>
+{
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static struct i386_darwin_nat_target darwin_target;
+
 /* Read register values from the inferior process.
    If REGNO is -1, do this for all registers.
    Otherwise, REGNO specifies which register (so we can save time).  */
-static void
-i386_darwin_fetch_inferior_registers (struct target_ops *ops,
-				      struct regcache *regcache, int regno)
+
+void
+i386_darwin_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
-  thread_t current_thread = ptid_get_tid (regcache_get_ptid (regcache));
+  thread_t current_thread = regcache->ptid ().tid ();
   int fetched = 0;
   struct gdbarch *gdbarch = regcache->arch ();
 
@@ -123,9 +132,8 @@ i386_darwin_fetch_inferior_registers (st
 	      MACH_CHECK_ERROR (ret);
 	    }
 	  for (i = 0; i < I386_NUM_GREGS; i++)
-	    regcache_raw_supply
-	      (regcache, i,
-	       (char *)&gp_regs + i386_darwin_thread_state_reg_offset[i]);
+	    regcache->raw_supply
+	      (i, (char *) &gp_regs + i386_darwin_thread_state_reg_offset[i]);
 
           fetched++;
         }
@@ -155,7 +163,7 @@ i386_darwin_fetch_inferior_registers (st
   if (! fetched)
     {
       warning (_("unknown register %d"), regno);
-      regcache_raw_supply (regcache, regno, NULL);
+      regcache->raw_supply (regno, NULL);
     }
 }
 
@@ -163,11 +171,11 @@ i386_darwin_fetch_inferior_registers (st
    If REGNO is -1, do this for all registers.
    Otherwise, REGNO specifies which register (so we can save time).  */
 
-static void
-i386_darwin_store_inferior_registers (struct target_ops *ops,
-				      struct regcache *regcache, int regno)
+void
+i386_darwin_nat_target::store_registers (struct regcache *regcache,
+					 int regno)
 {
-  thread_t current_thread = ptid_get_tid (regcache_get_ptid (regcache));
+  thread_t current_thread = regcache->ptid ().tid ();
   struct gdbarch *gdbarch = regcache->arch ();
 
 #ifdef BFD64
@@ -236,9 +244,8 @@ i386_darwin_store_inferior_registers (st
 
 	  for (i = 0; i < I386_NUM_GREGS; i++)
 	    if (regno == -1 || regno == i)
-	      regcache_raw_collect
-		(regcache, i,
-		 (char *)&gp_regs + i386_darwin_thread_state_reg_offset[i]);
+	      regcache->raw_collect
+		(i, (char *) &gp_regs + i386_darwin_thread_state_reg_offset[i]);
 
           ret = thread_set_state (current_thread, x86_THREAD_STATE32,
                                   (thread_state_t) &gp_regs,
@@ -281,7 +288,7 @@ i386_darwin_dr_set (int regnum, CORE_ADD
 
   gdb_assert (regnum >= 0 && regnum <= DR_CONTROL);
 
-  current_thread = ptid_get_tid (inferior_ptid);
+  current_thread = inferior_ptid.tid ();
 
   dr_regs.dsh.flavor = x86_DEBUG_STATE;
   dr_regs.dsh.count = x86_DEBUG_STATE_COUNT;
@@ -370,7 +377,7 @@ i386_darwin_dr_get (int regnum)
 
   gdb_assert (regnum >= 0 && regnum <= DR_CONTROL);
 
-  current_thread = ptid_get_tid (inferior_ptid);
+  current_thread = inferior_ptid.tid ();
 
   dr_regs.dsh.flavor = x86_DEBUG_STATE;
   dr_regs.dsh.count = x86_DEBUG_STATE_COUNT;
@@ -628,7 +635,7 @@ darwin_set_sstep (thread_t thread, int e
 }
 
 void
-darwin_complete_target (struct target_ops *target)
+_initialize_i386_darwin_nat (void)
 {
 #ifdef BFD64
   amd64_native_gregset64_reg_offset = amd64_darwin_thread_state_reg_offset;
@@ -637,8 +644,6 @@ darwin_complete_target (struct target_op
   amd64_native_gregset32_num_regs = i386_darwin_thread_state_num_regs;
 #endif
 
-  x86_use_watchpoints (target);
-
   x86_dr_low.set_control = i386_darwin_dr_set_control;
   x86_dr_low.set_addr = i386_darwin_dr_set_addr;
   x86_dr_low.get_addr = i386_darwin_dr_get_addr;
@@ -652,6 +657,5 @@ darwin_complete_target (struct target_op
   x86_set_debug_register_length (4);
 #endif
 
-  target->to_fetch_registers = i386_darwin_fetch_inferior_registers;
-  target->to_store_registers = i386_darwin_store_inferior_registers;
+  add_inf_child_target (&darwin_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-darwin-tdep.c ./gdb/i386-darwin-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-darwin-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-darwin-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -189,8 +189,7 @@ i386_darwin_push_dummy_call (struct gdba
               if (write_pass)
                 {
                   const gdb_byte *val = value_contents_all (args[i]);
-                  regcache_raw_write
-                    (regcache, I387_MM0_REGNUM(tdep) + num_m128, val);
+                  regcache->raw_write (I387_MM0_REGNUM(tdep) + num_m128, val);
                 }
               num_m128++;
             }
@@ -228,10 +227,10 @@ i386_darwin_push_dummy_call (struct gdba
 
   /* Finally, update the stack pointer...  */
   store_unsigned_integer (buf, 4, byte_order, sp);
-  regcache_cooked_write (regcache, I386_ESP_REGNUM, buf);
+  regcache->cooked_write (I386_ESP_REGNUM, buf);
 
   /* ...and fake a frame pointer.  */
-  regcache_cooked_write (regcache, I386_EBP_REGNUM, buf);
+  regcache->cooked_write (I386_EBP_REGNUM, buf);
 
   /* MarkK wrote: This "+ 8" is all over the place:
      (i386_frame_this_id, i386_sigtramp_frame_this_id,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-fbsd-nat.c ./gdb/i386-fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-fbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-fbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -34,21 +34,38 @@
 #include "x86-bsd-nat.h"
 #include "i386-bsd-nat.h"
 
+class i386_fbsd_nat_target final
+  : public i386_bsd_nat_target<fbsd_nat_target>
+{
+public:
+  /* Add some extra features to the common *BSD/i386 target.  */
+#ifdef PT_GETXSTATE_INFO
+  const struct target_desc *read_description () override;
+#endif
+
+  void resume (ptid_t, int, enum gdb_signal) override;
+
+#if defined(HAVE_PT_GETDBREGS) && defined(USE_SIGTRAP_SIGINFO)
+  bool supports_stopped_by_hw_breakpoint () override;
+#endif
+};
+
+static i386_fbsd_nat_target the_i386_fbsd_nat_target;
+
 /* Resume execution of the inferior process.  If STEP is nonzero,
    single-step it.  If SIGNAL is nonzero, give it that signal.  */
 
-static void
-i386fbsd_resume (struct target_ops *ops,
-		 ptid_t ptid, int step, enum gdb_signal signal)
+void
+i386_fbsd_nat_target::resume (ptid_t ptid, int step, enum gdb_signal signal)
 {
-  pid_t pid = ptid_get_pid (ptid);
+  pid_t pid = ptid.pid ();
   int request = PT_STEP;
 
   if (pid == -1)
     /* Resume all threads.  This only gets used in the non-threaded
        case, where "resume all threads" and "resume inferior_ptid" are
        the same.  */
-    pid = ptid_get_pid (inferior_ptid);
+    pid = inferior_ptid.pid ();
 
   if (!step)
     {
@@ -106,23 +123,23 @@ i386fbsd_supply_pcb (struct regcache *re
     return 0;
 
   pcb->pcb_esp += 4;
-  regcache_raw_supply (regcache, I386_EDI_REGNUM, &pcb->pcb_edi);
-  regcache_raw_supply (regcache, I386_ESI_REGNUM, &pcb->pcb_esi);
-  regcache_raw_supply (regcache, I386_EBP_REGNUM, &pcb->pcb_ebp);
-  regcache_raw_supply (regcache, I386_ESP_REGNUM, &pcb->pcb_esp);
-  regcache_raw_supply (regcache, I386_EBX_REGNUM, &pcb->pcb_ebx);
-  regcache_raw_supply (regcache, I386_EIP_REGNUM, &pcb->pcb_eip);
-  regcache_raw_supply (regcache, I386_GS_REGNUM, &pcb->pcb_gs);
+  regcache->raw_supply (I386_EDI_REGNUM, &pcb->pcb_edi);
+  regcache->raw_supply (I386_ESI_REGNUM, &pcb->pcb_esi);
+  regcache->raw_supply (I386_EBP_REGNUM, &pcb->pcb_ebp);
+  regcache->raw_supply (I386_ESP_REGNUM, &pcb->pcb_esp);
+  regcache->raw_supply (I386_EBX_REGNUM, &pcb->pcb_ebx);
+  regcache->raw_supply (I386_EIP_REGNUM, &pcb->pcb_eip);
+  regcache->raw_supply (I386_GS_REGNUM, &pcb->pcb_gs);
 
   return 1;
 }
 
 
 #ifdef PT_GETXSTATE_INFO
-/* Implement the to_read_description method.  */
+/* Implement the read_description method.  */
 
-static const struct target_desc *
-i386fbsd_read_description (struct target_ops *ops)
+const struct target_desc *
+i386_fbsd_nat_target::read_description ()
 {
   static int xsave_probed;
   static uint64_t xcr0;
@@ -131,7 +148,7 @@ i386fbsd_read_description (struct target
     {
       struct ptrace_xstate_info info;
 
-      if (ptrace (PT_GETXSTATE_INFO, ptid_get_pid (inferior_ptid),
+      if (ptrace (PT_GETXSTATE_INFO, inferior_ptid.pid (),
 		  (PTRACE_TYPE_ARG3) &info, sizeof (info)) == 0)
 	{
 	  x86bsd_xsave_len = info.xsave_len;
@@ -147,20 +164,20 @@ i386fbsd_read_description (struct target
 }
 #endif
 
-void
-_initialize_i386fbsd_nat (void)
-{
-  struct target_ops *t;
+#if defined(HAVE_PT_GETDBREGS) && defined(USE_SIGTRAP_SIGINFO)
+/* Implement the supports_stopped_by_hw_breakpoints method.  */
 
-  /* Add some extra features to the common *BSD/i386 target.  */
-  t = i386bsd_target ();
-
-#ifdef PT_GETXSTATE_INFO
-  t->to_read_description = i386fbsd_read_description;
+bool
+i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint ()
+{
+  return true;
+}
 #endif
 
-  t->to_resume = i386fbsd_resume;
-  fbsd_nat_add_target (t);
+void
+_initialize_i386fbsd_nat (void)
+{
+  add_inf_child_target (&the_i386_fbsd_nat_target);
 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (i386fbsd_supply_pcb);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-gnu-nat.c ./gdb/i386-gnu-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-gnu-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-gnu-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -54,6 +54,23 @@ static int reg_offset[] =
 #define REG_ADDR(state, regnum) ((char *)(state) + reg_offset[regnum])
 
 
+
+/* The i386 GNU Hurd target.  */
+
+#ifdef i386_DEBUG_STATE
+using gnu_base_target = x86_nat_target<gnu_nat_target>;
+#else
+using gnu_base_target = gnu_nat_target;
+#endif
+
+struct i386_gnu_nat_target final : public gnu_base_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static i386_gnu_nat_target the_i386_gnu_nat_target;
+
 /* Get the whole floating-point state of THREAD and record the values
    of the corresponding (pseudo) registers.  */
 
@@ -91,12 +108,12 @@ gnu_fetch_registers (struct target_ops *
 		     struct regcache *regcache, int regno)
 {
   struct proc *thread;
-  ptid_t ptid = regcache_get_ptid (regcache);
+  ptid_t ptid = regcache->ptid ();
 
   /* Make sure we know about new threads.  */
   inf_update_procs (gnu_current_inf);
 
-  thread = inf_tid_to_thread (gnu_current_inf, ptid_get_lwp (ptid));
+  thread = inf_tid_to_thread (gnu_current_inf, ptid.lwp ());
   if (!thread)
     error (_("Can't fetch registers from thread %s: No such thread"),
 	   target_pid_to_str (ptid));
@@ -121,7 +138,7 @@ gnu_fetch_registers (struct target_ops *
 	  proc_debug (thread, "fetching all register");
 
 	  for (i = 0; i < I386_NUM_GREGS; i++)
-	    regcache_raw_supply (regcache, i, REG_ADDR (state, i));
+	    regcache->raw_supply (i, REG_ADDR (state, i));
 	  thread->fetched_regs = ~0;
 	}
       else
@@ -130,8 +147,7 @@ gnu_fetch_registers (struct target_ops *
 		      gdbarch_register_name (regcache->arch (),
 					     regno));
 
-	  regcache_raw_supply (regcache, regno,
-			       REG_ADDR (state, regno));
+	  regcache->raw_supply (regno, REG_ADDR (state, regno));
 	  thread->fetched_regs |= (1 << regno);
 	}
     }
@@ -184,12 +200,12 @@ gnu_store_registers (struct target_ops *
 {
   struct proc *thread;
   struct gdbarch *gdbarch = regcache->arch ();
-  ptid_t ptid = regcache_get_ptid (regcache);
+  ptid_t ptid = regcache->ptid ();
 
   /* Make sure we know about new threads.  */
   inf_update_procs (gnu_current_inf);
 
-  thread = inf_tid_to_thread (gnu_current_inf, ptid_get_lwp (ptid));
+  thread = inf_tid_to_thread (gnu_current_inf, ptid.lwp ());
   if (!thread)
     error (_("Couldn't store registers into thread %s: No such thread"),
 	   target_pid_to_str (ptid));
@@ -233,8 +249,8 @@ gnu_store_registers (struct target_ops *
 			 gdbarch_register_name (gdbarch, check_regno));
 		if (regno >= 0 && regno != check_regno)
 		  /* Update GDB's copy of the register.  */
-		  regcache_raw_supply (regcache, check_regno,
-				       REG_ADDR (state, check_regno));
+		  regcache->raw_supply (check_regno,
+					REG_ADDR (state, check_regno));
 		else
 		  warning (_("... also writing this register!  "
 			     "Suspicious..."));
@@ -248,16 +264,16 @@ gnu_store_registers (struct target_ops *
 	  proc_debug (thread, "storing all registers");
 
 	  for (i = 0; i < I386_NUM_GREGS; i++)
-	    if (REG_VALID == regcache_register_status (regcache, i))
-	      regcache_raw_collect (regcache, i, REG_ADDR (state, i));
+	    if (REG_VALID == regcache->get_register_status (i))
+	      regcache->raw_collect (i, REG_ADDR (state, i));
 	}
       else
 	{
 	  proc_debug (thread, "storing register %s",
 		      gdbarch_register_name (gdbarch, regno));
 
-	  gdb_assert (REG_VALID == regcache_register_status (regcache, regno));
-	  regcache_raw_collect (regcache, regno, REG_ADDR (state, regno));
+	  gdb_assert (REG_VALID == regcache->get_register_status (regno));
+	  regcache->raw_collect (regno, REG_ADDR (state, regno));
 	}
 
       /* Restore the T bit.  */
@@ -376,7 +392,7 @@ i386_gnu_dr_get_reg (ptid_t ptid, int re
   /* Make sure we know about new threads.  */
   inf_update_procs (gnu_current_inf);
 
-  thread = inf_tid_to_thread (gnu_current_inf, ptid_get_lwp (ptid));
+  thread = inf_tid_to_thread (gnu_current_inf, ptid.lwp ());
   i386_gnu_dr_get (&regs, thread);
 
   return regs.dr[regnum];
@@ -412,14 +428,7 @@ i386_gnu_dr_get_control (void)
 void
 _initialize_i386gnu_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Hurd methods.  */
-  t = gnu_target ();
-
 #ifdef i386_DEBUG_STATE
-  x86_use_watchpoints (t);
-
   x86_dr_low.set_control = i386_gnu_dr_set_control;
   gdb_assert (DR_FIRSTADDR == 0 && DR_LASTADDR < i386_DEBUG_STATE_COUNT);
   x86_dr_low.set_addr = i386_gnu_dr_set_addr;
@@ -429,9 +438,6 @@ _initialize_i386gnu_nat (void)
   x86_set_debug_register_length (4);
 #endif /* i386_DEBUG_STATE */
 
-  t->to_fetch_registers = gnu_fetch_registers;
-  t->to_store_registers = gnu_store_registers;
-
   /* Register the target.  */
-  add_target (t);
+  add_inf_child_target (&the_i386_gnu_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-linux-nat.c ./gdb/i386-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -33,11 +33,22 @@
 #include "i386-linux-tdep.h"
 #include "x86-xstate.h"
 
-#include "linux-nat.h"
 #include "x86-linux-nat.h"
 #include "nat/linux-ptrace.h"
 #include "inf-ptrace.h"
 
+struct i386_linux_nat_target final : public x86_linux_nat_target
+{
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  /* Override the default ptrace resume method.  */
+  void low_resume (ptid_t ptid, int step, enum gdb_signal sig) override;
+};
+
+static i386_linux_nat_target the_i386_linux_nat_target;
+
 /* The register sets used in GNU/Linux ELF core-dumps are identical to
    the register sets in `struct user' that is used for a.out
    core-dumps, and is also used by `ptrace'.  The corresponding types
@@ -101,11 +112,11 @@ fetch_register (struct regcache *regcach
   gdb_assert (!have_ptrace_getregs);
   if (i386_linux_gregset_reg_offset[regno] == -1)
     {
-      regcache_raw_supply (regcache, regno, NULL);
+      regcache->raw_supply (regno, NULL);
       return;
     }
 
-  tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  tid = get_ptrace_pid (regcache->ptid ());
 
   errno = 0;
   val = ptrace (PTRACE_PEEKUSER, tid,
@@ -115,7 +126,7 @@ fetch_register (struct regcache *regcach
 	   gdbarch_register_name (regcache->arch (), regno),
 	   regno, safe_strerror (errno));
 
-  regcache_raw_supply (regcache, regno, &val);
+  regcache->raw_supply (regno, &val);
 }
 
 /* Store one register.  */
@@ -130,10 +141,10 @@ store_register (const struct regcache *r
   if (i386_linux_gregset_reg_offset[regno] == -1)
     return;
 
-  tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  tid = get_ptrace_pid (regcache->ptid ());
 
   errno = 0;
-  regcache_raw_collect (regcache, regno, &val);
+  regcache->raw_collect (regno, &val);
   ptrace (PTRACE_POKEUSER, tid,
 	  i386_linux_gregset_reg_offset[regno], val);
   if (errno != 0)
@@ -156,13 +167,13 @@ supply_gregset (struct regcache *regcach
   int i;
 
   for (i = 0; i < I386_NUM_GREGS; i++)
-    regcache_raw_supply (regcache, i,
-			 regp + i386_linux_gregset_reg_offset[i]);
+    regcache->raw_supply (i, regp + i386_linux_gregset_reg_offset[i]);
 
   if (I386_LINUX_ORIG_EAX_REGNUM
 	< gdbarch_num_regs (regcache->arch ()))
-    regcache_raw_supply (regcache, I386_LINUX_ORIG_EAX_REGNUM, regp
-			 + i386_linux_gregset_reg_offset[I386_LINUX_ORIG_EAX_REGNUM]);
+    regcache->raw_supply
+      (I386_LINUX_ORIG_EAX_REGNUM,
+       regp + i386_linux_gregset_reg_offset[I386_LINUX_ORIG_EAX_REGNUM]);
 }
 
 /* Fill register REGNO (if it is a general-purpose register) in
@@ -178,14 +189,14 @@ fill_gregset (const struct regcache *reg
 
   for (i = 0; i < I386_NUM_GREGS; i++)
     if (regno == -1 || regno == i)
-      regcache_raw_collect (regcache, i,
-			    regp + i386_linux_gregset_reg_offset[i]);
+      regcache->raw_collect (i, regp + i386_linux_gregset_reg_offset[i]);
 
   if ((regno == -1 || regno == I386_LINUX_ORIG_EAX_REGNUM)
       && I386_LINUX_ORIG_EAX_REGNUM
 	   < gdbarch_num_regs (regcache->arch ()))
-    regcache_raw_collect (regcache, I386_LINUX_ORIG_EAX_REGNUM, regp
-			  + i386_linux_gregset_reg_offset[I386_LINUX_ORIG_EAX_REGNUM]);
+    regcache->raw_collect
+      (I386_LINUX_ORIG_EAX_REGNUM,
+       regp + i386_linux_gregset_reg_offset[I386_LINUX_ORIG_EAX_REGNUM]);
 }
 
 #ifdef HAVE_PTRACE_GETREGS
@@ -446,9 +457,8 @@ store_fpxregs (const struct regcache *re
    this for all registers (including the floating point and SSE
    registers).  */
 
-static void
-i386_linux_fetch_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regno)
+void
+i386_linux_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
   pid_t tid;
 
@@ -465,7 +475,7 @@ i386_linux_fetch_inferior_registers (str
       return;
     }
 
-  tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  tid = get_ptrace_pid (regcache->ptid ());
 
   /* Use the PTRACE_GETFPXREGS request whenever possible, since it
      transfers more registers in one system call, and we'll cache the
@@ -478,7 +488,7 @@ i386_linux_fetch_inferior_registers (str
       /* The call above might reset `have_ptrace_getregs'.  */
       if (!have_ptrace_getregs)
 	{
-	  i386_linux_fetch_inferior_registers (ops, regcache, regno);
+	  fetch_registers (regcache, regno);
 	  return;
 	}
 
@@ -524,9 +534,8 @@ i386_linux_fetch_inferior_registers (str
 /* Store register REGNO back into the child process.  If REGNO is -1,
    do this for all registers (including the floating point and SSE
    registers).  */
-static void
-i386_linux_store_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regno)
+void
+i386_linux_nat_target::store_registers (struct regcache *regcache, int regno)
 {
   pid_t tid;
 
@@ -543,7 +552,7 @@ i386_linux_store_inferior_registers (str
       return;
     }
 
-  tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  tid = get_ptrace_pid (regcache->ptid ());
 
   /* Use the PTRACE_SETFPXREGS requests whenever possible, since it
      transfers more registers in one system call.  But remember that
@@ -635,11 +644,10 @@ static const unsigned char linux_syscall
    If STEP is nonzero, single-step it.
    If SIGNAL is nonzero, give it that signal.  */
 
-static void
-i386_linux_resume (struct target_ops *ops,
-		   ptid_t ptid, int step, enum gdb_signal signal)
+void
+i386_linux_nat_target::low_resume (ptid_t ptid, int step, enum gdb_signal signal)
 {
-  int pid = ptid_get_lwp (ptid);
+  int pid = ptid.lwp ();
   int request;
 
   if (catch_syscall_enabled () > 0)
@@ -706,16 +714,8 @@ i386_linux_resume (struct target_ops *op
 void
 _initialize_i386_linux_nat (void)
 {
-  /* Create a generic x86 GNU/Linux target.  */
-  struct target_ops *t = x86_linux_create_target ();
-
-  /* Override the default ptrace resume method.  */
-  t->to_resume = i386_linux_resume;
-
-  /* Add our register access methods.  */
-  t->to_fetch_registers = i386_linux_fetch_inferior_registers;
-  t->to_store_registers = i386_linux_store_inferior_registers;
+  linux_target = &the_i386_linux_nat_target;
 
   /* Add the target.  */
-  x86_linux_add_target (t);
+  add_inf_child_target (linux_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-linux-tdep.c ./gdb/i386-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -547,7 +547,7 @@ i386_linux_get_syscall_number_from_regca
   /* Getting the system call number from the register.
      When dealing with x86 architecture, this information
      is stored at %eax register.  */
-  regcache_cooked_read (regcache, I386_LINUX_ORIG_EAX_REGNUM, buf);
+  regcache->cooked_read (I386_LINUX_ORIG_EAX_REGNUM, buf);
 
   ret = extract_signed_integer (buf, 4, byte_order);
 
@@ -559,9 +559,9 @@ i386_linux_get_syscall_number_from_regca
 
 static LONGEST
 i386_linux_get_syscall_number (struct gdbarch *gdbarch,
-                               ptid_t ptid)
+			       thread_info *thread)
 {
-  struct regcache *regcache = get_thread_regcache (ptid);
+  struct regcache *regcache = get_thread_regcache (thread);
 
   return i386_linux_get_syscall_number_from_regcache (regcache);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-nbsd-nat.c ./gdb/i386-nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-nbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-nbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -61,26 +61,23 @@ i386nbsd_supply_pcb (struct regcache *re
 
   read_memory (pcb->pcb_esp, (gdb_byte *)&sf, sizeof sf);
   pcb->pcb_esp += sizeof (struct switchframe);
-  regcache_raw_supply (regcache, I386_EDI_REGNUM, &sf.sf_edi);
-  regcache_raw_supply (regcache, I386_ESI_REGNUM, &sf.sf_esi);
-  regcache_raw_supply (regcache, I386_EBP_REGNUM, &pcb->pcb_ebp);
-  regcache_raw_supply (regcache, I386_ESP_REGNUM, &pcb->pcb_esp);
-  regcache_raw_supply (regcache, I386_EBX_REGNUM, &sf.sf_ebx);
-  regcache_raw_supply (regcache, I386_EIP_REGNUM, &sf.sf_eip);
+  regcache->raw_supply (I386_EDI_REGNUM, &sf.sf_edi);
+  regcache->raw_supply (I386_ESI_REGNUM, &sf.sf_esi);
+  regcache->raw_supply (I386_EBP_REGNUM, &pcb->pcb_ebp);
+  regcache->raw_supply (I386_ESP_REGNUM, &pcb->pcb_esp);
+  regcache->raw_supply (I386_EBX_REGNUM, &sf.sf_ebx);
+  regcache->raw_supply (I386_EIP_REGNUM, &sf.sf_eip);
 
   return 1;
 }
 
+static i386_bsd_nat_target<nbsd_nat_target> the_i386_nbsd_nat_target;
+
 void
 _initialize_i386nbsd_nat (void)
 {
-  struct target_ops *t;
+  add_inf_child_target (&the_i386_nbsd_nat_target);
 
-  /* Add some extra features to the common *BSD/i386 target.  */
-  t = i386bsd_target ();
-  t->to_pid_to_exec_file = nbsd_pid_to_exec_file;
-  add_target (t);
- 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (i386nbsd_supply_pcb);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-nto-tdep.c ./gdb/i386-nto-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-nto-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-nto-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -250,7 +250,7 @@ i386nto_regset_fill (const struct regcac
 	{
 	  int offset = nto_reg_offset (regno);
 	  if (offset != -1)
-	    regcache_raw_collect (regcache, regno, data + offset);
+	    regcache->raw_collect (regno, data + offset);
 	}
     }
   else if (regset == NTO_REG_FLOAT)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-obsd-nat.c ./gdb/i386-obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-obsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-obsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -67,10 +67,10 @@ i386obsd_supply_pcb (struct regcache *re
       /* Yes, we have a frame that matches cpu_switch().  */
       read_memory (pcb->pcb_esp, (gdb_byte *) &sf, sizeof sf);
       pcb->pcb_esp += sizeof (struct switchframe);
-      regcache_raw_supply (regcache, I386_EDI_REGNUM, &sf.sf_edi);
-      regcache_raw_supply (regcache, I386_ESI_REGNUM, &sf.sf_esi);
-      regcache_raw_supply (regcache, I386_EBX_REGNUM, &sf.sf_ebx);
-      regcache_raw_supply (regcache, I386_EIP_REGNUM, &sf.sf_eip);
+      regcache->raw_supply (I386_EDI_REGNUM, &sf.sf_edi);
+      regcache->raw_supply (I386_ESI_REGNUM, &sf.sf_esi);
+      regcache->raw_supply (I386_EBX_REGNUM, &sf.sf_ebx);
+      regcache->raw_supply (I386_EIP_REGNUM, &sf.sf_eip);
     }
   else
 #endif
@@ -79,20 +79,21 @@ i386obsd_supply_pcb (struct regcache *re
       pcb->pcb_esp = pcb->pcb_ebp;
       pcb->pcb_ebp = read_memory_integer(pcb->pcb_esp, 4, byte_order);
       sf.sf_eip = read_memory_integer(pcb->pcb_esp + 4, 4, byte_order);
-      regcache_raw_supply (regcache, I386_EIP_REGNUM, &sf.sf_eip);
+      regcache->raw_supply (I386_EIP_REGNUM, &sf.sf_eip);
     }
 
-  regcache_raw_supply (regcache, I386_EBP_REGNUM, &pcb->pcb_ebp);
-  regcache_raw_supply (regcache, I386_ESP_REGNUM, &pcb->pcb_esp);
+  regcache->raw_supply (I386_EBP_REGNUM, &pcb->pcb_ebp);
+  regcache->raw_supply (I386_ESP_REGNUM, &pcb->pcb_esp);
 
   return 1;
 }
 
+static i386_bsd_nat_target<obsd_nat_target> the_i386_obsd_nat_target;
+
 void
 _initialize_i386obsd_nat (void)
 {
-  /* Add some extra features to the common *BSD/i386 target.  */
-  obsd_add_target (i386bsd_target ());
+  add_inf_child_target (&i386_obsd_nat_target);
 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (i386obsd_supply_pcb);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-obsd-tdep.c ./gdb/i386-obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-obsd-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-obsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -210,7 +210,7 @@ i386obsd_supply_uthread (struct regcache
          returned from _thread_machdep_switch.  */
       offset = i386obsd_uthread_reg_offset[I386_EIP_REGNUM] + 4;
       store_unsigned_integer (buf, 4, byte_order, sp + offset);
-      regcache_raw_supply (regcache, I386_ESP_REGNUM, buf);
+      regcache->raw_supply (I386_ESP_REGNUM, buf);
     }
 
   for (i = 0; i < ARRAY_SIZE (i386obsd_uthread_reg_offset); i++)
@@ -225,7 +225,7 @@ i386obsd_supply_uthread (struct regcache
 
 	  /* Read the saved register from the stack frame.  */
 	  read_memory (sp + i386obsd_uthread_reg_offset[i], buf, 4);
-	  regcache_raw_supply (regcache, i, buf);
+	  regcache->raw_supply (i, buf);
 	}
     }
 }
@@ -250,7 +250,7 @@ i386obsd_collect_uthread (const struct r
       /* Calculate the stack pointer (frame pointer) that will be
          stored into the thread structure.  */
       offset = i386obsd_uthread_reg_offset[I386_EIP_REGNUM] + 4;
-      regcache_raw_collect (regcache, I386_ESP_REGNUM, buf);
+      regcache->raw_collect (I386_ESP_REGNUM, buf);
       sp = extract_unsigned_integer (buf, 4, byte_order) - offset;
 
       /* Store the stack pointer.  */
@@ -272,7 +272,7 @@ i386obsd_collect_uthread (const struct r
 	    sp = read_memory_unsigned_integer (sp_addr, 4, byte_order);
 
 	  /* Write the register into the stack frame.  */
-	  regcache_raw_collect (regcache, i, buf);
+	  regcache->raw_collect (i, buf);
 	  write_memory (sp + i386obsd_uthread_reg_offset[i], buf, 4);
 	}
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-sol2-nat.c ./gdb/i386-sol2-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-sol2-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-sol2-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -133,13 +133,6 @@ fill_fpregset (const struct regcache *re
 void
 _initialize_amd64_sol2_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic procfs methods.  */
-  t = procfs_target ();
-
-  procfs_use_watchpoints (t);
-
 #if defined (PR_MODEL_NATIVE) && (PR_MODEL_NATIVE == PR_MODEL_LP64)
   amd64_native_gregset32_reg_offset = amd64_sol2_gregset32_reg_offset;
   amd64_native_gregset32_num_regs =
@@ -148,6 +141,4 @@ _initialize_amd64_sol2_nat (void)
   amd64_native_gregset64_num_regs =
     ARRAY_SIZE (amd64_sol2_gregset64_reg_offset);
 #endif
-
-  add_target (t);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-tdep.c ./gdb/i386-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -47,6 +47,7 @@
 #include "i386-tdep.h"
 #include "i387-tdep.h"
 #include "x86-xstate.h"
+#include "x86-tdep.h"
 
 #include "record.h"
 #include "record-full.h"
@@ -2754,10 +2755,10 @@ i386_push_dummy_call (struct gdbarch *gd
 
   /* Finally, update the stack pointer...  */
   store_unsigned_integer (buf, 4, byte_order, sp);
-  regcache_cooked_write (regcache, I386_ESP_REGNUM, buf);
+  regcache->cooked_write (I386_ESP_REGNUM, buf);
 
   /* ...and fake a frame pointer.  */
-  regcache_cooked_write (regcache, I386_EBP_REGNUM, buf);
+  regcache->cooked_write (I386_EBP_REGNUM, buf);
 
   /* MarkK wrote: This "+ 8" is all over the place:
      (i386_frame_this_id, i386_sigtramp_frame_this_id,
@@ -2801,7 +2802,7 @@ i386_extract_return_value (struct gdbarc
 	 its contents to the desired type.  This is probably not
 	 exactly how it would happen on the target itself, but it is
 	 the best we can do.  */
-      regcache_raw_read (regcache, I386_ST0_REGNUM, buf);
+      regcache->raw_read (I386_ST0_REGNUM, buf);
       target_float_convert (buf, i387_ext_type (gdbarch), valbuf, type);
     }
   else
@@ -2811,14 +2812,14 @@ i386_extract_return_value (struct gdbarc
 
       if (len <= low_size)
 	{
-	  regcache_raw_read (regcache, LOW_RETURN_REGNUM, buf);
+	  regcache->raw_read (LOW_RETURN_REGNUM, buf);
 	  memcpy (valbuf, buf, len);
 	}
       else if (len <= (low_size + high_size))
 	{
-	  regcache_raw_read (regcache, LOW_RETURN_REGNUM, buf);
+	  regcache->raw_read (LOW_RETURN_REGNUM, buf);
 	  memcpy (valbuf, buf, low_size);
-	  regcache_raw_read (regcache, HIGH_RETURN_REGNUM, buf);
+	  regcache->raw_read (HIGH_RETURN_REGNUM, buf);
 	  memcpy (valbuf + low_size, buf, len - low_size);
 	}
       else
@@ -2858,7 +2859,7 @@ i386_store_return_value (struct gdbarch 
 	 not exactly how it would happen on the target itself, but
 	 it is the best we can do.  */
       target_float_convert (valbuf, type, buf, i387_ext_type (gdbarch));
-      regcache_raw_write (regcache, I386_ST0_REGNUM, buf);
+      regcache->raw_write (I386_ST0_REGNUM, buf);
 
       /* Set the top of the floating-point register stack to 7.  The
          actual value doesn't really matter, but 7 is what a normal
@@ -2879,12 +2880,12 @@ i386_store_return_value (struct gdbarch 
       int high_size = register_size (gdbarch, HIGH_RETURN_REGNUM);
 
       if (len <= low_size)
-	regcache_raw_write_part (regcache, LOW_RETURN_REGNUM, 0, len, valbuf);
+	regcache->raw_write_part (LOW_RETURN_REGNUM, 0, len, valbuf);
       else if (len <= (low_size + high_size))
 	{
-	  regcache_raw_write (regcache, LOW_RETURN_REGNUM, valbuf);
-	  regcache_raw_write_part (regcache, HIGH_RETURN_REGNUM, 0,
-				   len - low_size, valbuf + low_size);
+	  regcache->raw_write (LOW_RETURN_REGNUM, valbuf);
+	  regcache->raw_write_part (HIGH_RETURN_REGNUM, 0, len - low_size,
+				    valbuf + low_size);
 	}
       else
 	internal_error (__FILE__, __LINE__,
@@ -3248,7 +3249,7 @@ i386_pseudo_register_type (struct gdbarc
    the MMX registers need to be mapped onto floating point registers.  */
 
 static int
-i386_mmx_regnum_to_fp_regnum (struct regcache *regcache, int regnum)
+i386_mmx_regnum_to_fp_regnum (readable_regcache *regcache, int regnum)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (regcache->arch ());
   int mmxreg, fpreg;
@@ -3256,7 +3257,7 @@ i386_mmx_regnum_to_fp_regnum (struct reg
   int tos;
 
   mmxreg = regnum - tdep->mm0_regnum;
-  regcache_raw_read_unsigned (regcache, I387_FSTAT_REGNUM (tdep), &fstat);
+  regcache->raw_read (I387_FSTAT_REGNUM (tdep), &fstat);
   tos = (fstat >> 11) & 0x7;
   fpreg = (mmxreg + tos) % 8;
 
@@ -3269,7 +3270,7 @@ i386_mmx_regnum_to_fp_regnum (struct reg
 
 void
 i386_pseudo_register_read_into_value (struct gdbarch *gdbarch,
-				      struct regcache *regcache,
+				      readable_regcache *regcache,
 				      int regnum,
 				      struct value *result_value)
 {
@@ -3282,7 +3283,7 @@ i386_pseudo_register_read_into_value (st
       int fpnum = i386_mmx_regnum_to_fp_regnum (regcache, regnum);
 
       /* Extract (always little endian).  */
-      status = regcache_raw_read (regcache, fpnum, raw_buf);
+      status = regcache->raw_read (fpnum, raw_buf);
       if (status != REG_VALID)
 	mark_value_bytes_unavailable (result_value, 0,
 				      TYPE_LENGTH (value_type (result_value)));
@@ -3297,9 +3298,8 @@ i386_pseudo_register_read_into_value (st
 	  regnum -= tdep->bnd0_regnum;
 
 	  /* Extract (always little endian).  Read lower 128bits.  */
-	  status = regcache_raw_read (regcache,
-				      I387_BND0R_REGNUM (tdep) + regnum,
-				      raw_buf);
+	  status = regcache->raw_read (I387_BND0R_REGNUM (tdep) + regnum,
+				       raw_buf);
 	  if (status != REG_VALID)
 	    mark_value_bytes_unavailable (result_value, 0, 16);
 	  else
@@ -3321,9 +3321,7 @@ i386_pseudo_register_read_into_value (st
 	  regnum -= tdep->k0_regnum;
 
 	  /* Extract (always little endian).  */
-	  status = regcache_raw_read (regcache,
-				      tdep->k0_regnum + regnum,
-				      raw_buf);
+	  status = regcache->raw_read (tdep->k0_regnum + regnum, raw_buf);
 	  if (status != REG_VALID)
 	    mark_value_bytes_unavailable (result_value, 0, 8);
 	  else
@@ -3336,18 +3334,16 @@ i386_pseudo_register_read_into_value (st
 	  if (regnum < num_lower_zmm_regs)
 	    {
 	      /* Extract (always little endian).  Read lower 128bits.  */
-	      status = regcache_raw_read (regcache,
-					  I387_XMM0_REGNUM (tdep) + regnum,
-					  raw_buf);
+	      status = regcache->raw_read (I387_XMM0_REGNUM (tdep) + regnum,
+					   raw_buf);
 	      if (status != REG_VALID)
 		mark_value_bytes_unavailable (result_value, 0, 16);
 	      else
 		memcpy (buf, raw_buf, 16);
 
 	      /* Extract (always little endian).  Read upper 128bits.  */
-	      status = regcache_raw_read (regcache,
-					  tdep->ymm0h_regnum + regnum,
-					  raw_buf);
+	      status = regcache->raw_read (tdep->ymm0h_regnum + regnum,
+					   raw_buf);
 	      if (status != REG_VALID)
 		mark_value_bytes_unavailable (result_value, 16, 16);
 	      else
@@ -3356,20 +3352,18 @@ i386_pseudo_register_read_into_value (st
 	  else
 	    {
 	      /* Extract (always little endian).  Read lower 128bits.  */
-	      status = regcache_raw_read (regcache,
-					  I387_XMM16_REGNUM (tdep) + regnum
-					  - num_lower_zmm_regs,
-					  raw_buf);
+	      status = regcache->raw_read (I387_XMM16_REGNUM (tdep) + regnum
+					   - num_lower_zmm_regs,
+					   raw_buf);
 	      if (status != REG_VALID)
 		mark_value_bytes_unavailable (result_value, 0, 16);
 	      else
 		memcpy (buf, raw_buf, 16);
 
 	      /* Extract (always little endian).  Read upper 128bits.  */
-	      status = regcache_raw_read (regcache,
-					  I387_YMM16H_REGNUM (tdep) + regnum
-					  - num_lower_zmm_regs,
-					  raw_buf);
+	      status = regcache->raw_read (I387_YMM16H_REGNUM (tdep) + regnum
+					   - num_lower_zmm_regs,
+					   raw_buf);
 	      if (status != REG_VALID)
 		mark_value_bytes_unavailable (result_value, 16, 16);
 	      else
@@ -3377,9 +3371,8 @@ i386_pseudo_register_read_into_value (st
 	    }
 
 	  /* Read upper 256bits.  */
-	  status = regcache_raw_read (regcache,
-				      tdep->zmm0h_regnum + regnum,
-				      raw_buf);
+	  status = regcache->raw_read (tdep->zmm0h_regnum + regnum,
+				       raw_buf);
 	  if (status != REG_VALID)
 	    mark_value_bytes_unavailable (result_value, 32, 32);
 	  else
@@ -3390,17 +3383,15 @@ i386_pseudo_register_read_into_value (st
 	  regnum -= tdep->ymm0_regnum;
 
 	  /* Extract (always little endian).  Read lower 128bits.  */
-	  status = regcache_raw_read (regcache,
-				      I387_XMM0_REGNUM (tdep) + regnum,
-				      raw_buf);
+	  status = regcache->raw_read (I387_XMM0_REGNUM (tdep) + regnum,
+				       raw_buf);
 	  if (status != REG_VALID)
 	    mark_value_bytes_unavailable (result_value, 0, 16);
 	  else
 	    memcpy (buf, raw_buf, 16);
 	  /* Read upper 128bits.  */
-	  status = regcache_raw_read (regcache,
-				      tdep->ymm0h_regnum + regnum,
-				      raw_buf);
+	  status = regcache->raw_read (tdep->ymm0h_regnum + regnum,
+				       raw_buf);
 	  if (status != REG_VALID)
 	    mark_value_bytes_unavailable (result_value, 16, 32);
 	  else
@@ -3410,17 +3401,15 @@ i386_pseudo_register_read_into_value (st
 	{
 	  regnum -= tdep->ymm16_regnum;
 	  /* Extract (always little endian).  Read lower 128bits.  */
-	  status = regcache_raw_read (regcache,
-				      I387_XMM16_REGNUM (tdep) + regnum,
-				      raw_buf);
+	  status = regcache->raw_read (I387_XMM16_REGNUM (tdep) + regnum,
+				       raw_buf);
 	  if (status != REG_VALID)
 	    mark_value_bytes_unavailable (result_value, 0, 16);
 	  else
 	    memcpy (buf, raw_buf, 16);
 	  /* Read upper 128bits.  */
-	  status = regcache_raw_read (regcache,
-				      tdep->ymm16h_regnum + regnum,
-				      raw_buf);
+	  status = regcache->raw_read (tdep->ymm16h_regnum + regnum,
+				       raw_buf);
 	  if (status != REG_VALID)
 	    mark_value_bytes_unavailable (result_value, 16, 16);
 	  else
@@ -3431,7 +3420,7 @@ i386_pseudo_register_read_into_value (st
 	  int gpnum = regnum - tdep->ax_regnum;
 
 	  /* Extract (always little endian).  */
-	  status = regcache_raw_read (regcache, gpnum, raw_buf);
+	  status = regcache->raw_read (gpnum, raw_buf);
 	  if (status != REG_VALID)
 	    mark_value_bytes_unavailable (result_value, 0,
 					  TYPE_LENGTH (value_type (result_value)));
@@ -3444,7 +3433,7 @@ i386_pseudo_register_read_into_value (st
 
 	  /* Extract (always little endian).  We read both lower and
 	     upper registers.  */
-	  status = regcache_raw_read (regcache, gpnum % 4, raw_buf);
+	  status = regcache->raw_read (gpnum % 4, raw_buf);
 	  if (status != REG_VALID)
 	    mark_value_bytes_unavailable (result_value, 0,
 					  TYPE_LENGTH (value_type (result_value)));
@@ -3460,7 +3449,7 @@ i386_pseudo_register_read_into_value (st
 
 static struct value *
 i386_pseudo_register_read_value (struct gdbarch *gdbarch,
-				 struct regcache *regcache,
+				 readable_regcache *regcache,
 				 int regnum)
 {
   struct value *result;
@@ -3485,11 +3474,11 @@ i386_pseudo_register_write (struct gdbar
       int fpnum = i386_mmx_regnum_to_fp_regnum (regcache, regnum);
 
       /* Read ...  */
-      regcache_raw_read (regcache, fpnum, raw_buf);
+      regcache->raw_read (fpnum, raw_buf);
       /* ... Modify ... (always little endian).  */
       memcpy (raw_buf, buf, register_size (gdbarch, regnum));
       /* ... Write.  */
-      regcache_raw_write (regcache, fpnum, raw_buf);
+      regcache->raw_write (fpnum, raw_buf);
     }
   else
     {
@@ -3507,9 +3496,8 @@ i386_pseudo_register_write (struct gdbar
 	  upper = extract_unsigned_integer (buf + size, size, byte_order);
 
 	  /* Fetching register buffer.  */
-	  regcache_raw_read (regcache,
-			     I387_BND0R_REGNUM (tdep) + regnum,
-			     raw_buf);
+	  regcache->raw_read (I387_BND0R_REGNUM (tdep) + regnum,
+			      raw_buf);
 
 	  upper = ~upper;
 
@@ -3517,18 +3505,13 @@ i386_pseudo_register_write (struct gdbar
 	  memcpy (raw_buf, &lower, 8);
 	  memcpy (raw_buf + 8, &upper, 8);
 
-
-	  regcache_raw_write (regcache,
-			      I387_BND0R_REGNUM (tdep) + regnum,
-			      raw_buf);
+	  regcache->raw_write (I387_BND0R_REGNUM (tdep) + regnum, raw_buf);
 	}
       else if (i386_k_regnum_p (gdbarch, regnum))
 	{
 	  regnum -= tdep->k0_regnum;
 
-	  regcache_raw_write (regcache,
-			      tdep->k0_regnum + regnum,
-			      buf);
+	  regcache->raw_write (tdep->k0_regnum + regnum, buf);
 	}
       else if (i386_zmm_regnum_p (gdbarch, regnum))
 	{
@@ -3537,82 +3520,64 @@ i386_pseudo_register_write (struct gdbar
 	  if (regnum < num_lower_zmm_regs)
 	    {
 	      /* Write lower 128bits.  */
-	      regcache_raw_write (regcache,
-				  I387_XMM0_REGNUM (tdep) + regnum,
-				  buf);
+	      regcache->raw_write (I387_XMM0_REGNUM (tdep) + regnum, buf);
 	      /* Write upper 128bits.  */
-	      regcache_raw_write (regcache,
-				  I387_YMM0_REGNUM (tdep) + regnum,
-				  buf + 16);
+	      regcache->raw_write (I387_YMM0_REGNUM (tdep) + regnum, buf + 16);
 	    }
 	  else
 	    {
 	      /* Write lower 128bits.  */
-	      regcache_raw_write (regcache,
-				  I387_XMM16_REGNUM (tdep) + regnum
-				  - num_lower_zmm_regs,
-				  buf);
+	      regcache->raw_write (I387_XMM16_REGNUM (tdep) + regnum
+				   - num_lower_zmm_regs, buf);
 	      /* Write upper 128bits.  */
-	      regcache_raw_write (regcache,
-				  I387_YMM16H_REGNUM (tdep) + regnum
-				  - num_lower_zmm_regs,
-				  buf + 16);
+	      regcache->raw_write (I387_YMM16H_REGNUM (tdep) + regnum
+				   - num_lower_zmm_regs, buf + 16);
 	    }
 	  /* Write upper 256bits.  */
-	  regcache_raw_write (regcache,
-			      tdep->zmm0h_regnum + regnum,
-			      buf + 32);
+	  regcache->raw_write (tdep->zmm0h_regnum + regnum, buf + 32);
 	}
       else if (i386_ymm_regnum_p (gdbarch, regnum))
 	{
 	  regnum -= tdep->ymm0_regnum;
 
 	  /* ... Write lower 128bits.  */
-	  regcache_raw_write (regcache,
-			     I387_XMM0_REGNUM (tdep) + regnum,
-			     buf);
+	  regcache->raw_write (I387_XMM0_REGNUM (tdep) + regnum, buf);
 	  /* ... Write upper 128bits.  */
-	  regcache_raw_write (regcache,
-			     tdep->ymm0h_regnum + regnum,
-			     buf + 16);
+	  regcache->raw_write (tdep->ymm0h_regnum + regnum, buf + 16);
 	}
       else if (i386_ymm_avx512_regnum_p (gdbarch, regnum))
 	{
 	  regnum -= tdep->ymm16_regnum;
 
 	  /* ... Write lower 128bits.  */
-	  regcache_raw_write (regcache,
-			      I387_XMM16_REGNUM (tdep) + regnum,
-			      buf);
+	  regcache->raw_write (I387_XMM16_REGNUM (tdep) + regnum, buf);
 	  /* ... Write upper 128bits.  */
-	  regcache_raw_write (regcache,
-			      tdep->ymm16h_regnum + regnum,
-			      buf + 16);
+	  regcache->raw_write (tdep->ymm16h_regnum + regnum, buf + 16);
 	}
       else if (i386_word_regnum_p (gdbarch, regnum))
 	{
 	  int gpnum = regnum - tdep->ax_regnum;
 
 	  /* Read ...  */
-	  regcache_raw_read (regcache, gpnum, raw_buf);
+	  regcache->raw_read (gpnum, raw_buf);
 	  /* ... Modify ... (always little endian).  */
 	  memcpy (raw_buf, buf, 2);
 	  /* ... Write.  */
-	  regcache_raw_write (regcache, gpnum, raw_buf);
+	  regcache->raw_write (gpnum, raw_buf);
 	}
       else if (i386_byte_regnum_p (gdbarch, regnum))
 	{
 	  int gpnum = regnum - tdep->al_regnum;
 
 	  /* Read ...  We read both lower and upper registers.  */
-	  regcache_raw_read (regcache, gpnum % 4, raw_buf);
+	  regcache->raw_read (gpnum % 4, raw_buf);
 	  /* ... Modify ... (always little endian).  */
 	  if (gpnum >= 4)
 	    memcpy (raw_buf + 1, buf, 1);
 	  else
 	    memcpy (raw_buf, buf, 1);
 	  /* ... Write.  */
-	  regcache_raw_write (regcache, gpnum % 4, raw_buf);
+	  regcache->raw_write (gpnum % 4, raw_buf);
 	}
       else
 	internal_error (__FILE__, __LINE__, _("invalid regnum"));
@@ -3850,7 +3815,7 @@ i386_supply_gregset (const struct regset
     {
       if ((regnum == i || regnum == -1)
 	  && tdep->gregset_reg_offset[i] != -1)
-	regcache_raw_supply (regcache, i, regs + tdep->gregset_reg_offset[i]);
+	regcache->raw_supply (i, regs + tdep->gregset_reg_offset[i]);
     }
 }
 
@@ -3875,7 +3840,7 @@ i386_collect_gregset (const struct regse
     {
       if ((regnum == i || regnum == -1)
 	  && tdep->gregset_reg_offset[i] != -1)
-	regcache_raw_collect (regcache, i, regs + tdep->gregset_reg_offset[i]);
+	regcache->raw_collect (i, regs + tdep->gregset_reg_offset[i]);
     }
 }
 
@@ -4433,6 +4398,15 @@ i386_gnu_triplet_regexp (struct gdbarch 
 
 
 
+/* Implement the "in_indirect_branch_thunk" gdbarch function.  */
+
+static bool
+i386_in_indirect_branch_thunk (struct gdbarch *gdbarch, CORE_ADDR pc)
+{
+  return x86_in_indirect_branch_thunk (pc, i386_register_names,
+				       I386_EAX_REGNUM, I386_EIP_REGNUM);
+}
+
 /* Generic ELF.  */
 
 void
@@ -4459,6 +4433,9 @@ 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_in_indirect_branch_thunk (gdbarch,
+					i386_in_indirect_branch_thunk);
 }
 
 /* System V Release 4 (SVR4).  */
@@ -7129,6 +7106,7 @@ Do you want to stop the program?"),
 	      else if (ir.rm == 1)
 		break;
 	    }
+	  /* Fall through.  */
 	case 3:  /* lidt */
 	  if (ir.mod == 3)
 	    {
@@ -8123,7 +8101,7 @@ static const int i386_record_regmap[] =
 
 static int
 i386_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr,
-			       char **msg)
+			       std::string *msg)
 {
   int len, jumplen;
 
@@ -8156,15 +8134,15 @@ i386_fast_tracepoint_valid_at (struct gd
       /* Return a bit of target-specific detail to add to the caller's
 	 generic failure message.  */
       if (msg)
-	*msg = xstrprintf (_("; instruction is only %d bytes long, "
-			     "need at least %d bytes for the jump"),
-			   len, jumplen);
+	*msg = string_printf (_("; instruction is only %d bytes long, "
+				"need at least %d bytes for the jump"),
+			      len, jumplen);
       return 0;
     }
   else
     {
       if (msg)
-	*msg = NULL;
+	msg->clear ();
       return 1;
     }
 }
@@ -8346,6 +8324,31 @@ i386_validate_tdesc_p (struct gdbarch_td
 }
 
 
+
+/* Implement the type_align gdbarch function.  */
+
+static ULONGEST
+i386_type_align (struct gdbarch *gdbarch, struct type *type)
+{
+  type = check_typedef (type);
+
+  if (gdbarch_ptr_bit (gdbarch) == 32)
+    {
+      if ((TYPE_CODE (type) == TYPE_CODE_INT
+	   || TYPE_CODE (type) == TYPE_CODE_FLT)
+	  && TYPE_LENGTH (type) > 4)
+	return 4;
+
+      /* Handle x86's funny long double.  */
+      if (TYPE_CODE (type) == TYPE_CODE_FLT
+	  && gdbarch_long_double_bit (gdbarch) == TYPE_LENGTH (type) * 8)
+	return 4;
+    }
+
+  return TYPE_LENGTH (type);
+}
+
+
 /* Note: This is called for both i386 and amd64.  */
 
 static struct gdbarch *
@@ -8403,7 +8406,7 @@ i386_gdbarch_init (struct gdbarch_info i
 
   tdep->record_regmap = i386_record_regmap;
 
-  set_gdbarch_long_long_align_bit (gdbarch, 32);
+  set_gdbarch_type_align (gdbarch, i386_type_align);
 
   /* The format used for `long double' on almost all i386 targets is
      the i387 extended floating-point format.  In fact, of all targets
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-tdep.h ./gdb/i386-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-tdep.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -364,7 +364,7 @@ extern struct type *i386_pseudo_register
 					       int regnum);
 
 extern void i386_pseudo_register_read_into_value (struct gdbarch *gdbarch,
-						  struct regcache *regcache,
+						  readable_regcache *regcache,
 						  int regnum,
 						  struct value *result);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-v4-nat.c ./gdb/i386-v4-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i386-v4-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i386-v4-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -107,7 +107,7 @@ supply_gregset (struct regcache *regcach
   int regnum;
 
   for (regnum = 0; regnum < I386_NUM_GREGS; regnum++)
-    regcache_raw_supply (regcache, regnum, regp + regmap[regnum]);
+    regcache->raw_supply (regnum, regp + regmap[regnum]);
 }
 
 /* Fill register REGNUM (if it is a general-purpose register) in
@@ -123,7 +123,7 @@ fill_gregset (const struct regcache *reg
 
   for (i = 0; i < I386_NUM_GREGS; i++)
     if (regnum == -1 || regnum == i)
-      regcache_raw_collect (regcache, i, regp + regmap[i]);
+      regcache->raw_collect (i, regp + regmap[i]);
 }
 
 #endif /* HAVE_GREGSET_T */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i387-tdep.c ./gdb/i387-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i387-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i387-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -450,7 +450,7 @@ i387_supply_fsave (struct regcache *regc
       {
 	if (fsave == NULL)
 	  {
-	    regcache_raw_supply (regcache, i, NULL);
+	    regcache->raw_supply (i, NULL);
 	    continue;
 	  }
 
@@ -465,22 +465,22 @@ i387_supply_fsave (struct regcache *regc
 	    val[2] = val[3] = 0;
 	    if (i == I387_FOP_REGNUM (tdep))
 	      val[1] &= ((1 << 3) - 1);
-	    regcache_raw_supply (regcache, i, val);
+	    regcache->raw_supply (i, val);
 	  }
 	else
-	  regcache_raw_supply (regcache, i, FSAVE_ADDR (tdep, regs, i));
+	  regcache->raw_supply (i, FSAVE_ADDR (tdep, regs, i));
       }
 
   /* Provide dummy values for the SSE registers.  */
   for (i = I387_XMM0_REGNUM (tdep); i < I387_MXCSR_REGNUM (tdep); i++)
     if (regnum == -1 || regnum == i)
-      regcache_raw_supply (regcache, i, NULL);
+      regcache->raw_supply (i, NULL);
   if (regnum == -1 || regnum == I387_MXCSR_REGNUM (tdep))
     {
       gdb_byte buf[4];
 
-      store_unsigned_integer (buf, 4, byte_order, 0x1f80);
-      regcache_raw_supply (regcache, I387_MXCSR_REGNUM (tdep), buf);
+      store_unsigned_integer (buf, 4, byte_order, I387_MXCSR_INIT_VAL);
+      regcache->raw_supply (I387_MXCSR_REGNUM (tdep), buf);
     }
 }
 
@@ -508,7 +508,7 @@ i387_collect_fsave (const struct regcach
 	  {
 	    gdb_byte buf[4];
 
-	    regcache_raw_collect (regcache, i, buf);
+	    regcache->raw_collect (i, buf);
 
 	    if (i == I387_FOP_REGNUM (tdep))
 	      {
@@ -520,7 +520,7 @@ i387_collect_fsave (const struct regcach
 	    memcpy (FSAVE_ADDR (tdep, regs, i), buf, 2);
 	  }
 	else
-	  regcache_raw_collect (regcache, i, FSAVE_ADDR (tdep, regs, i));
+	  regcache->raw_collect (i, FSAVE_ADDR (tdep, regs, i));
       }
 }
 
@@ -597,7 +597,7 @@ i387_supply_fxsave (struct regcache *reg
       {
 	if (regs == NULL)
 	  {
-	    regcache_raw_supply (regcache, i, NULL);
+	    regcache->raw_supply (i, NULL);
 	    continue;
 	  }
 
@@ -644,18 +644,18 @@ i387_supply_fxsave (struct regcache *reg
 		val[0] = ftag & 0xff;
 		val[1] = (ftag >> 8) & 0xff;
 	      }
-	    regcache_raw_supply (regcache, i, val);
+	    regcache->raw_supply (i, val);
 	  }
 	else
-	  regcache_raw_supply (regcache, i, FXSAVE_ADDR (tdep, regs, i));
+	  regcache->raw_supply (i, FXSAVE_ADDR (tdep, regs, i));
       }
 
   if (regnum == I387_MXCSR_REGNUM (tdep) || regnum == -1)
     {
       if (regs == NULL)
-	regcache_raw_supply (regcache, I387_MXCSR_REGNUM (tdep), NULL);
+	regcache->raw_supply (I387_MXCSR_REGNUM (tdep), NULL);
       else
-	regcache_raw_supply (regcache, I387_MXCSR_REGNUM (tdep),
+	regcache->raw_supply (I387_MXCSR_REGNUM (tdep),
 			     FXSAVE_MXCSR_ADDR (regs));
     }
 }
@@ -685,7 +685,7 @@ i387_collect_fxsave (const struct regcac
 	  {
 	    gdb_byte buf[4];
 
-	    regcache_raw_collect (regcache, i, buf);
+	    regcache->raw_collect (i, buf);
 
 	    if (i == I387_FOP_REGNUM (tdep))
 	      {
@@ -716,11 +716,11 @@ i387_collect_fxsave (const struct regcac
 	    memcpy (FXSAVE_ADDR (tdep, regs, i), buf, 2);
 	  }
 	else
-	  regcache_raw_collect (regcache, i, FXSAVE_ADDR (tdep, regs, i));
+	  regcache->raw_collect (i, FXSAVE_ADDR (tdep, regs, i));
       }
 
   if (regnum == I387_MXCSR_REGNUM (tdep) || regnum == -1)
-    regcache_raw_collect (regcache, I387_MXCSR_REGNUM (tdep),
+    regcache->raw_collect (I387_MXCSR_REGNUM (tdep),
 			  FXSAVE_MXCSR_ADDR (regs));
 }
 
@@ -892,6 +892,27 @@ static int xsave_pkeys_offset[] =
 #define XSAVE_PKEYS_ADDR(tdep, xsave, regnum) \
   (xsave + xsave_pkeys_offset[regnum - I387_PKRU_REGNUM (tdep)])
 
+
+/* Extract from XSAVE a bitset of the features that are available on the
+   target, but which have not yet been enabled.  */
+
+ULONGEST
+i387_xsave_get_clear_bv (struct gdbarch *gdbarch, const void *xsave)
+{
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  const gdb_byte *regs = (const gdb_byte *) xsave;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  /* Get `xstat_bv'.  The supported bits in `xstat_bv' are 8 bytes.  */
+  ULONGEST xstate_bv = extract_unsigned_integer (XSAVE_XSTATE_BV_ADDR (regs),
+						 8, byte_order);
+
+  /* Clear part in vector registers if its bit in xstat_bv is zero.  */
+  ULONGEST clear_bv = (~(xstate_bv)) & tdep->xcr0;
+
+  return clear_bv;
+}
+
 /* Similar to i387_supply_fxsave, but use XSAVE extended state.  */
 
 void
@@ -899,6 +920,7 @@ i387_supply_xsave (struct regcache *regc
 		   const void *xsave)
 {
   struct gdbarch *gdbarch = regcache->arch ();
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
   const gdb_byte *regs = (const gdb_byte *) xsave;
   int i;
@@ -956,20 +978,7 @@ i387_supply_xsave (struct regcache *regc
   else
     regclass = none;
 
-  if (regclass != none)
-    {
-      /* Get `xstat_bv'.  The supported bits in `xstat_bv' are 8 bytes.  */
-      enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-      ULONGEST xstate_bv = 0;
-
-      xstate_bv = extract_unsigned_integer (XSAVE_XSTATE_BV_ADDR (regs),
-					    8, byte_order);
-
-      /* Clear part in vector registers if its bit in xstat_bv is zero.  */
-      clear_bv = (~(xstate_bv)) & tdep->xcr0;
-    }
-  else
-    clear_bv = X86_XSTATE_ALL_MASK;
+  clear_bv = i387_xsave_get_clear_bv (gdbarch, xsave);
 
   /* With the delayed xsave mechanism, in between the program
      starting, and the program accessing the vector registers for the
@@ -987,74 +996,68 @@ i387_supply_xsave (struct regcache *regc
 
     case pkeys:
       if ((clear_bv & X86_XSTATE_PKRU))
-	regcache_raw_supply (regcache, regnum, zero);
+	regcache->raw_supply (regnum, zero);
       else
-	regcache_raw_supply (regcache, regnum,
-			     XSAVE_PKEYS_ADDR (tdep, regs, regnum));
+	regcache->raw_supply (regnum, XSAVE_PKEYS_ADDR (tdep, regs, regnum));
       return;
 
     case avx512_zmm_h:
       if ((clear_bv & (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM)))
-	regcache_raw_supply (regcache, regnum, zero);
+	regcache->raw_supply (regnum, zero);
       else
-	regcache_raw_supply (regcache, regnum,
-			     XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, regnum));
+	regcache->raw_supply (regnum,
+			      XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, regnum));
       return;
 
     case avx512_k:
       if ((clear_bv & X86_XSTATE_K))
-	regcache_raw_supply (regcache, regnum, zero);
+	regcache->raw_supply (regnum, zero);
       else
-	regcache_raw_supply (regcache, regnum,
-			     XSAVE_AVX512_K_ADDR (tdep, regs, regnum));
+	regcache->raw_supply (regnum, XSAVE_AVX512_K_ADDR (tdep, regs, regnum));
       return;
 
     case avx512_ymmh_avx512:
       if ((clear_bv & X86_XSTATE_ZMM))
-	regcache_raw_supply (regcache, regnum, zero);
+	regcache->raw_supply (regnum, zero);
       else
-	regcache_raw_supply (regcache, regnum,
-			     XSAVE_YMM_AVX512_ADDR (tdep, regs, regnum));
+	regcache->raw_supply (regnum,
+			      XSAVE_YMM_AVX512_ADDR (tdep, regs, regnum));
       return;
 
     case avx512_xmm_avx512:
       if ((clear_bv & X86_XSTATE_ZMM))
-	regcache_raw_supply (regcache, regnum, zero);
+	regcache->raw_supply (regnum, zero);
       else
-	regcache_raw_supply (regcache, regnum,
-			     XSAVE_XMM_AVX512_ADDR (tdep, regs, regnum));
+	regcache->raw_supply (regnum,
+			      XSAVE_XMM_AVX512_ADDR (tdep, regs, regnum));
       return;
 
     case avxh:
       if ((clear_bv & X86_XSTATE_AVX))
-	regcache_raw_supply (regcache, regnum, zero);
+	regcache->raw_supply (regnum, zero);
       else
-	regcache_raw_supply (regcache, regnum,
-			     XSAVE_AVXH_ADDR (tdep, regs, regnum));
+	regcache->raw_supply (regnum, XSAVE_AVXH_ADDR (tdep, regs, regnum));
       return;
 
     case mpx:
       if ((clear_bv & X86_XSTATE_BNDREGS))
-	regcache_raw_supply (regcache, regnum, zero);
+	regcache->raw_supply (regnum, zero);
       else
-	regcache_raw_supply (regcache, regnum,
-			     XSAVE_MPX_ADDR (tdep, regs, regnum));
+	regcache->raw_supply (regnum, XSAVE_MPX_ADDR (tdep, regs, regnum));
       return;
 
     case sse:
       if ((clear_bv & X86_XSTATE_SSE))
-	regcache_raw_supply (regcache, regnum, zero);
+	regcache->raw_supply (regnum, zero);
       else
-	regcache_raw_supply (regcache, regnum,
-			     FXSAVE_ADDR (tdep, regs, regnum));
+	regcache->raw_supply (regnum, FXSAVE_ADDR (tdep, regs, regnum));
       return;
 
     case x87:
       if ((clear_bv & X86_XSTATE_X87))
-	regcache_raw_supply (regcache, regnum, zero);
+	regcache->raw_supply (regnum, zero);
       else
-	regcache_raw_supply (regcache, regnum,
-			     FXSAVE_ADDR (tdep, regs, regnum));
+	regcache->raw_supply (regnum, FXSAVE_ADDR (tdep, regs, regnum));
       return;
 
     case all:
@@ -1066,15 +1069,14 @@ i387_supply_xsave (struct regcache *regc
 	      for (i = I387_PKRU_REGNUM (tdep);
 		   i < I387_PKEYSEND_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i, zero);
+		regcache->raw_supply (i, zero);
 	    }
 	  else
 	    {
 	      for (i = I387_PKRU_REGNUM (tdep);
 		   i < I387_PKEYSEND_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i,
-				     XSAVE_PKEYS_ADDR (tdep, regs, i));
+		regcache->raw_supply (i, XSAVE_PKEYS_ADDR (tdep, regs, i));
 	    }
 	}
 
@@ -1086,15 +1088,15 @@ i387_supply_xsave (struct regcache *regc
 	      for (i = I387_ZMM0H_REGNUM (tdep);
 		   i < I387_ZMMENDH_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i, zero);
+		regcache->raw_supply (i, zero);
 	    }
 	  else
 	    {
 	      for (i = I387_ZMM0H_REGNUM (tdep);
 		   i < I387_ZMMENDH_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i,
-				     XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, i));
+		regcache->raw_supply (i,
+				      XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, i));
 	    }
 	}
 
@@ -1106,15 +1108,14 @@ i387_supply_xsave (struct regcache *regc
 	      for (i = I387_K0_REGNUM (tdep);
 		   i < I387_KEND_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i, zero);
+		regcache->raw_supply (i, zero);
 	    }
 	  else
 	    {
 	      for (i = I387_K0_REGNUM (tdep);
 		   i < I387_KEND_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i,
-				     XSAVE_AVX512_K_ADDR (tdep, regs, i));
+		regcache->raw_supply (i, XSAVE_AVX512_K_ADDR (tdep, regs, i));
 	    }
 	}
 
@@ -1126,24 +1127,22 @@ i387_supply_xsave (struct regcache *regc
 	      for (i = I387_YMM16H_REGNUM (tdep);
 		   i < I387_YMMH_AVX512_END_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i, zero);
+		regcache->raw_supply (i, zero);
 	      for (i = I387_XMM16_REGNUM (tdep);
 		   i < I387_XMM_AVX512_END_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i, zero);
+		regcache->raw_supply (i, zero);
 	    }
 	  else
 	    {
 	      for (i = I387_YMM16H_REGNUM (tdep);
 		   i < I387_YMMH_AVX512_END_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i,
-				     XSAVE_YMM_AVX512_ADDR (tdep, regs, i));
+		regcache->raw_supply (i, XSAVE_YMM_AVX512_ADDR (tdep, regs, i));
 	      for (i = I387_XMM16_REGNUM (tdep);
 		   i < I387_XMM_AVX512_END_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i,
-				     XSAVE_XMM_AVX512_ADDR (tdep, regs, i));
+		regcache->raw_supply (i, XSAVE_XMM_AVX512_ADDR (tdep, regs, i));
 	    }
 	}
       /* Handle the upper YMM registers.  */
@@ -1154,15 +1153,14 @@ i387_supply_xsave (struct regcache *regc
 	      for (i = I387_YMM0H_REGNUM (tdep);
 		   i < I387_YMMENDH_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i, zero);
+		regcache->raw_supply (i, zero);
 	    }
 	  else
 	    {
 	      for (i = I387_YMM0H_REGNUM (tdep);
 		   i < I387_YMMENDH_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i,
-				     XSAVE_AVXH_ADDR (tdep, regs, i));
+		regcache->raw_supply (i, XSAVE_AVXH_ADDR (tdep, regs, i));
 	    }
 	}
 
@@ -1173,14 +1171,13 @@ i387_supply_xsave (struct regcache *regc
 	    {
 	      for (i = I387_BND0R_REGNUM (tdep);
 		   i < I387_BNDCFGU_REGNUM (tdep); i++)
-		regcache_raw_supply (regcache, i, zero);
+		regcache->raw_supply (i, zero);
 	    }
 	  else
 	    {
 	      for (i = I387_BND0R_REGNUM (tdep);
 		   i < I387_BNDCFGU_REGNUM (tdep); i++)
-		regcache_raw_supply (regcache, i,
-				     XSAVE_MPX_ADDR (tdep, regs, i));
+		regcache->raw_supply (i, XSAVE_MPX_ADDR (tdep, regs, i));
 	    }
 	}
 
@@ -1191,14 +1188,13 @@ i387_supply_xsave (struct regcache *regc
 	    {
 	      for (i = I387_BNDCFGU_REGNUM (tdep);
 		   i < I387_MPXEND_REGNUM (tdep); i++)
-		regcache_raw_supply (regcache, i, zero);
+		regcache->raw_supply (i, zero);
 	    }
 	  else
 	    {
 	      for (i = I387_BNDCFGU_REGNUM (tdep);
 		   i < I387_MPXEND_REGNUM (tdep); i++)
-		regcache_raw_supply (regcache, i,
-				     XSAVE_MPX_ADDR (tdep, regs, i));
+		regcache->raw_supply (i, XSAVE_MPX_ADDR (tdep, regs, i));
 	    }
 	}
 
@@ -1210,14 +1206,13 @@ i387_supply_xsave (struct regcache *regc
 	      for (i = I387_XMM0_REGNUM (tdep);
 		   i < I387_MXCSR_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i, zero);
+		regcache->raw_supply (i, zero);
 	    }
 	  else
 	    {
 	      for (i = I387_XMM0_REGNUM (tdep);
 		   i < I387_MXCSR_REGNUM (tdep); i++)
-		regcache_raw_supply (regcache, i,
-				     FXSAVE_ADDR (tdep, regs, i));
+		regcache->raw_supply (i, FXSAVE_ADDR (tdep, regs, i));
 	    }
 	}
 
@@ -1229,14 +1224,14 @@ i387_supply_xsave (struct regcache *regc
 	      for (i = I387_ST0_REGNUM (tdep);
 		   i < I387_FCTRL_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i, zero);
+		regcache->raw_supply (i, zero);
 	    }
 	  else
 	    {
 	      for (i = I387_ST0_REGNUM (tdep);
 		   i < I387_FCTRL_REGNUM (tdep);
 		   i++)
-		regcache_raw_supply (regcache, i, FXSAVE_ADDR (tdep, regs, i));
+		regcache->raw_supply (i, FXSAVE_ADDR (tdep, regs, i));
 	    }
 	}
       break;
@@ -1246,10 +1241,30 @@ i387_supply_xsave (struct regcache *regc
   for (i = I387_FCTRL_REGNUM (tdep); i < I387_XMM0_REGNUM (tdep); i++)
     if (regnum == -1 || regnum == i)
       {
+	if (clear_bv & X86_XSTATE_X87)
+	  {
+	    if (i == I387_FCTRL_REGNUM (tdep))
+	      {
+		gdb_byte buf[4];
+
+		store_unsigned_integer (buf, 4, byte_order,
+					I387_FCTRL_INIT_VAL);
+		regcache->raw_supply (i, buf);
+	      }
+	    else if (i == I387_FTAG_REGNUM (tdep))
+	      {
+		gdb_byte buf[4];
+
+		store_unsigned_integer (buf, 4, byte_order, 0xffff);
+		regcache->raw_supply (i, buf);
+	      }
+	    else
+	      regcache->raw_supply (i, zero);
+	  }
 	/* Most of the FPU control registers occupy only 16 bits in
 	   the xsave extended state.  Give those a special treatment.  */
-	if (i != I387_FIOFF_REGNUM (tdep)
-	    && i != I387_FOOFF_REGNUM (tdep))
+	else if (i != I387_FIOFF_REGNUM (tdep)
+		 && i != I387_FOOFF_REGNUM (tdep))
 	  {
 	    gdb_byte val[4];
 
@@ -1257,7 +1272,7 @@ i387_supply_xsave (struct regcache *regc
 	    val[2] = val[3] = 0;
 	    if (i == I387_FOP_REGNUM (tdep))
 	      val[1] &= ((1 << 3) - 1);
-	    else if (i== I387_FTAG_REGNUM (tdep))
+	    else if (i == I387_FTAG_REGNUM (tdep))
 	      {
 		/* The fxsave area contains a simplified version of
 		   the tag word.  We have to look at the actual 80-bit
@@ -1289,15 +1304,28 @@ i387_supply_xsave (struct regcache *regc
 		val[0] = ftag & 0xff;
 		val[1] = (ftag >> 8) & 0xff;
 	      }
-	    regcache_raw_supply (regcache, i, val);
+	    regcache->raw_supply (i, val);
 	  }
-	else 
-	  regcache_raw_supply (regcache, i, FXSAVE_ADDR (tdep, regs, i));
+	else
+	  regcache->raw_supply (i, FXSAVE_ADDR (tdep, regs, i));
       }
 
   if (regnum == I387_MXCSR_REGNUM (tdep) || regnum == -1)
-    regcache_raw_supply (regcache, I387_MXCSR_REGNUM (tdep),
-			 FXSAVE_MXCSR_ADDR (regs));
+    {
+      /* The MXCSR register is placed into the xsave buffer if either the
+	 AVX or SSE features are enabled.  */
+      if ((clear_bv & (X86_XSTATE_AVX | X86_XSTATE_SSE))
+	  == (X86_XSTATE_AVX | X86_XSTATE_SSE))
+	{
+	  gdb_byte buf[4];
+
+	  store_unsigned_integer (buf, 4, byte_order, I387_MXCSR_INIT_VAL);
+	  regcache->raw_supply (I387_MXCSR_REGNUM (tdep), buf);
+	}
+      else
+	regcache->raw_supply (I387_MXCSR_REGNUM (tdep),
+			      FXSAVE_MXCSR_ADDR (regs));
+    }
 }
 
 /* Similar to i387_collect_fxsave, but use XSAVE extended state.  */
@@ -1307,22 +1335,24 @@ i387_collect_xsave (const struct regcach
 		    void *xsave, int gcore)
 {
   struct gdbarch *gdbarch = regcache->arch ();
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  gdb_byte *regs = (gdb_byte *) xsave;
-  int i;
+  gdb_byte *p, *regs = (gdb_byte *) xsave;
+  gdb_byte raw[I386_MAX_REGISTER_SIZE];
+  ULONGEST initial_xstate_bv, clear_bv, xstate_bv = 0;
+  unsigned int i;
   enum
     {
-      none = 0x0,
-      check = 0x1,
-      x87 = 0x2 | check,
-      sse = 0x4 | check,
-      avxh = 0x8 | check,
-      mpx  = 0x10 | check,
-      avx512_k = 0x20 | check,
-      avx512_zmm_h = 0x40 | check,
-      avx512_ymmh_avx512 = 0x80 | check,
-      avx512_xmm_avx512 = 0x100 | check,
-      pkeys = 0x200 | check,
+      x87_ctrl_or_mxcsr = 0x1,
+      x87 = 0x2,
+      sse = 0x4,
+      avxh = 0x8,
+      mpx  = 0x10,
+      avx512_k = 0x20,
+      avx512_zmm_h = 0x40,
+      avx512_ymmh_avx512 = 0x80,
+      avx512_xmm_avx512 = 0x100,
+      pkeys = 0x200,
       all = x87 | sse | avxh | mpx | avx512_k | avx512_zmm_h
 	    | avx512_ymmh_avx512 | avx512_xmm_avx512 | pkeys
     } regclass;
@@ -1359,8 +1389,12 @@ i387_collect_xsave (const struct regcach
   else if (regnum >= I387_ST0_REGNUM (tdep)
 	   && regnum < I387_FCTRL_REGNUM (tdep))
     regclass = x87;
+  else if ((regnum >= I387_FCTRL_REGNUM (tdep)
+	    && regnum < I387_XMM0_REGNUM (tdep))
+	   || regnum == I387_MXCSR_REGNUM (tdep))
+    regclass = x87_ctrl_or_mxcsr;
   else
-    regclass = none;
+    internal_error (__FILE__, __LINE__, _("invalid i387 regnum %d"), regnum);
 
   if (gcore)
     {
@@ -1373,361 +1407,387 @@ i387_collect_xsave (const struct regcach
       memcpy (XSAVE_XSTATE_BV_ADDR (regs), &tdep->xcr0, 8);
     }
 
-  if ((regclass & check))
+  /* The supported bits in `xstat_bv' are 8 bytes.  */
+  initial_xstate_bv = extract_unsigned_integer (XSAVE_XSTATE_BV_ADDR (regs),
+						8, byte_order);
+  clear_bv = (~(initial_xstate_bv)) & tdep->xcr0;
+
+  /* The XSAVE buffer was filled lazily by the kernel.  Only those
+     features that are enabled were written into the buffer, disabled
+     features left the buffer uninitialised.  In order to identify if any
+     registers have changed we will be comparing the register cache
+     version to the version in the XSAVE buffer, it is important then that
+     at this point we initialise to the default values any features in
+     XSAVE that are not yet initialised.
+
+     This could be made more efficient, we know which features (from
+     REGNUM) we will be potentially updating, and could limit ourselves to
+     only clearing that feature.  However, the extra complexity does not
+     seem justified at this point.  */
+  if (clear_bv)
     {
-      gdb_byte raw[I386_MAX_REGISTER_SIZE];
-      ULONGEST initial_xstate_bv, clear_bv, xstate_bv = 0;
-      gdb_byte *p;
-      enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-
-      /* The supported bits in `xstat_bv' are 8 bytes.  */
-      initial_xstate_bv = extract_unsigned_integer (XSAVE_XSTATE_BV_ADDR (regs),
-						    8, byte_order);
-      clear_bv = (~(initial_xstate_bv)) & tdep->xcr0;
+      if ((clear_bv & X86_XSTATE_PKRU))
+	for (i = I387_PKRU_REGNUM (tdep);
+	     i < I387_PKEYSEND_REGNUM (tdep); i++)
+	  memset (XSAVE_PKEYS_ADDR (tdep, regs, i), 0, 4);
 
-      /* Clear register set if its bit in xstat_bv is zero.  */
-      if (clear_bv)
-	{
-	  if ((clear_bv & X86_XSTATE_PKRU))
-	    for (i = I387_PKRU_REGNUM (tdep);
-		 i < I387_PKEYSEND_REGNUM (tdep); i++)
-	      memset (XSAVE_PKEYS_ADDR (tdep, regs, i), 0, 4);
-
-	  if ((clear_bv & X86_XSTATE_BNDREGS))
-	    for (i = I387_BND0R_REGNUM (tdep);
-		 i < I387_BNDCFGU_REGNUM (tdep); i++)
-	      memset (XSAVE_MPX_ADDR (tdep, regs, i), 0, 16);
-
-	  if ((clear_bv & X86_XSTATE_BNDCFG))
-	    for (i = I387_BNDCFGU_REGNUM (tdep);
-		 i < I387_MPXEND_REGNUM (tdep); i++)
-	      memset (XSAVE_MPX_ADDR (tdep, regs, i), 0, 8);
+      if ((clear_bv & X86_XSTATE_BNDREGS))
+	for (i = I387_BND0R_REGNUM (tdep);
+	     i < I387_BNDCFGU_REGNUM (tdep); i++)
+	  memset (XSAVE_MPX_ADDR (tdep, regs, i), 0, 16);
+
+      if ((clear_bv & X86_XSTATE_BNDCFG))
+	for (i = I387_BNDCFGU_REGNUM (tdep);
+	     i < I387_MPXEND_REGNUM (tdep); i++)
+	  memset (XSAVE_MPX_ADDR (tdep, regs, i), 0, 8);
 
-	  if ((clear_bv & (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM)))
-	    for (i = I387_ZMM0H_REGNUM (tdep);
-		i < I387_ZMMENDH_REGNUM (tdep); i++)
-	      memset (XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, i), 0, 32);
+      if ((clear_bv & (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM)))
+	for (i = I387_ZMM0H_REGNUM (tdep);
+	     i < I387_ZMMENDH_REGNUM (tdep); i++)
+	  memset (XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, i), 0, 32);
 
-	  if ((clear_bv & X86_XSTATE_K))
-	    for (i = I387_K0_REGNUM (tdep);
-		i < I387_KEND_REGNUM (tdep); i++)
-	      memset (XSAVE_AVX512_K_ADDR (tdep, regs, i), 0, 8);
+      if ((clear_bv & X86_XSTATE_K))
+	for (i = I387_K0_REGNUM (tdep);
+	     i < I387_KEND_REGNUM (tdep); i++)
+	  memset (XSAVE_AVX512_K_ADDR (tdep, regs, i), 0, 8);
 
-	  if ((clear_bv & X86_XSTATE_ZMM))
-	    {
-	      for (i = I387_YMM16H_REGNUM (tdep);
-		  i < I387_YMMH_AVX512_END_REGNUM (tdep); i++)
-		memset (XSAVE_YMM_AVX512_ADDR (tdep, regs, i), 0, 16);
-	      for (i = I387_XMM16_REGNUM (tdep);
-	          i < I387_XMM_AVX512_END_REGNUM (tdep); i++)
-		memset (XSAVE_XMM_AVX512_ADDR (tdep, regs, i), 0, 16);
-	    }
+      if ((clear_bv & X86_XSTATE_ZMM))
+	{
+	  for (i = I387_YMM16H_REGNUM (tdep);
+	       i < I387_YMMH_AVX512_END_REGNUM (tdep); i++)
+	    memset (XSAVE_YMM_AVX512_ADDR (tdep, regs, i), 0, 16);
+	  for (i = I387_XMM16_REGNUM (tdep);
+	       i < I387_XMM_AVX512_END_REGNUM (tdep); i++)
+	    memset (XSAVE_XMM_AVX512_ADDR (tdep, regs, i), 0, 16);
+	}
 
-	  if ((clear_bv & X86_XSTATE_AVX))
-	    for (i = I387_YMM0H_REGNUM (tdep);
-		 i < I387_YMMENDH_REGNUM (tdep); i++)
-	      memset (XSAVE_AVXH_ADDR (tdep, regs, i), 0, 16);
+      if ((clear_bv & X86_XSTATE_AVX))
+	for (i = I387_YMM0H_REGNUM (tdep);
+	     i < I387_YMMENDH_REGNUM (tdep); i++)
+	  memset (XSAVE_AVXH_ADDR (tdep, regs, i), 0, 16);
 
-	  if ((clear_bv & X86_XSTATE_SSE))
-	    for (i = I387_XMM0_REGNUM (tdep);
-		 i < I387_MXCSR_REGNUM (tdep); i++)
-	      memset (FXSAVE_ADDR (tdep, regs, i), 0, 16);
+      if ((clear_bv & X86_XSTATE_SSE))
+	for (i = I387_XMM0_REGNUM (tdep);
+	     i < I387_MXCSR_REGNUM (tdep); i++)
+	  memset (FXSAVE_ADDR (tdep, regs, i), 0, 16);
+
+      /* The mxcsr register is written into the xsave buffer if either AVX
+	 or SSE is enabled, so only clear it if both of those features
+	 require clearing.  */
+      if ((clear_bv & (X86_XSTATE_AVX | X86_XSTATE_SSE))
+	  == (X86_XSTATE_AVX | X86_XSTATE_SSE))
+	store_unsigned_integer (FXSAVE_MXCSR_ADDR (regs), 2, byte_order,
+				I387_MXCSR_INIT_VAL);
 
-	  if ((clear_bv & X86_XSTATE_X87))
-	    for (i = I387_ST0_REGNUM (tdep);
-		 i < I387_FCTRL_REGNUM (tdep); i++)
-	      memset (FXSAVE_ADDR (tdep, regs, i), 0, 10);
+      if ((clear_bv & X86_XSTATE_X87))
+	{
+	  for (i = I387_ST0_REGNUM (tdep);
+	       i < I387_FCTRL_REGNUM (tdep); i++)
+	    memset (FXSAVE_ADDR (tdep, regs, i), 0, 10);
+
+	  for (i = I387_FCTRL_REGNUM (tdep);
+	       i < I387_XMM0_REGNUM (tdep); i++)
+	    {
+	      if (i == I387_FCTRL_REGNUM (tdep))
+		store_unsigned_integer (FXSAVE_ADDR (tdep, regs, i), 2,
+					byte_order, I387_FCTRL_INIT_VAL);
+	      else
+		memset (FXSAVE_ADDR (tdep, regs, i), 0,
+			regcache_register_size (regcache, i));
+	    }
 	}
+    }
 
-      if (regclass == all)
-	{
-	  /* Check if any PKEYS registers are changed.  */
-	  if ((tdep->xcr0 & X86_XSTATE_PKRU))
-	    for (i = I387_PKRU_REGNUM (tdep);
-		 i < I387_PKEYSEND_REGNUM (tdep); i++)
+  if (regclass == all)
+    {
+      /* Check if any PKEYS registers are changed.  */
+      if ((tdep->xcr0 & X86_XSTATE_PKRU))
+	for (i = I387_PKRU_REGNUM (tdep);
+	     i < I387_PKEYSEND_REGNUM (tdep); i++)
+	  {
+	    regcache->raw_collect (i, raw);
+	    p = XSAVE_PKEYS_ADDR (tdep, regs, i);
+	    if (memcmp (raw, p, 4) != 0)
 	      {
-		regcache_raw_collect (regcache, i, raw);
-		p = XSAVE_PKEYS_ADDR (tdep, regs, i);
-		if (memcmp (raw, p, 4) != 0)
-		  {
-		    xstate_bv |= X86_XSTATE_PKRU;
-		    memcpy (p, raw, 4);
-		  }
+		xstate_bv |= X86_XSTATE_PKRU;
+		memcpy (p, raw, 4);
 	      }
+	  }
 
-	  /* Check if any ZMMH registers are changed.  */
-	  if ((tdep->xcr0 & (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM)))
-	    for (i = I387_ZMM0H_REGNUM (tdep);
-		 i < I387_ZMMENDH_REGNUM (tdep); i++)
+      /* Check if any ZMMH registers are changed.  */
+      if ((tdep->xcr0 & (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM)))
+	for (i = I387_ZMM0H_REGNUM (tdep);
+	     i < I387_ZMMENDH_REGNUM (tdep); i++)
+	  {
+	    regcache->raw_collect (i, raw);
+	    p = XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, i);
+	    if (memcmp (raw, p, 32) != 0)
 	      {
-		regcache_raw_collect (regcache, i, raw);
-		p = XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, i);
-		if (memcmp (raw, p, 32) != 0)
-		  {
-		    xstate_bv |= (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM);
-		    memcpy (p, raw, 32);
-		  }
+		xstate_bv |= (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM);
+		memcpy (p, raw, 32);
 	      }
+	  }
 
-	  /* Check if any K registers are changed.  */
-	  if ((tdep->xcr0 & X86_XSTATE_K))
-	    for (i = I387_K0_REGNUM (tdep);
-		 i < I387_KEND_REGNUM (tdep); i++)
+      /* Check if any K registers are changed.  */
+      if ((tdep->xcr0 & X86_XSTATE_K))
+	for (i = I387_K0_REGNUM (tdep);
+	     i < I387_KEND_REGNUM (tdep); i++)
+	  {
+	    regcache->raw_collect (i, raw);
+	    p = XSAVE_AVX512_K_ADDR (tdep, regs, i);
+	    if (memcmp (raw, p, 8) != 0)
 	      {
-		regcache_raw_collect (regcache, i, raw);
-		p = XSAVE_AVX512_K_ADDR (tdep, regs, i);
-		if (memcmp (raw, p, 8) != 0)
-		  {
-		    xstate_bv |= X86_XSTATE_K;
-		    memcpy (p, raw, 8);
-		  }
+		xstate_bv |= X86_XSTATE_K;
+		memcpy (p, raw, 8);
 	      }
+	  }
 
-	  /* Check if any XMM or upper YMM registers are changed.  */
-	  if ((tdep->xcr0 & X86_XSTATE_ZMM))
+      /* Check if any XMM or upper YMM registers are changed.  */
+      if ((tdep->xcr0 & X86_XSTATE_ZMM))
+	{
+	  for (i = I387_YMM16H_REGNUM (tdep);
+	       i < I387_YMMH_AVX512_END_REGNUM (tdep); i++)
 	    {
-	      for (i = I387_YMM16H_REGNUM (tdep);
-		   i < I387_YMMH_AVX512_END_REGNUM (tdep); i++)
+	      regcache->raw_collect (i, raw);
+	      p = XSAVE_YMM_AVX512_ADDR (tdep, regs, i);
+	      if (memcmp (raw, p, 16) != 0)
 		{
-		  regcache_raw_collect (regcache, i, raw);
-		  p = XSAVE_YMM_AVX512_ADDR (tdep, regs, i);
-		  if (memcmp (raw, p, 16) != 0)
-		    {
-		      xstate_bv |= X86_XSTATE_ZMM;
-		      memcpy (p, raw, 16);
-		    }
+		  xstate_bv |= X86_XSTATE_ZMM;
+		  memcpy (p, raw, 16);
 		}
-	      for (i = I387_XMM16_REGNUM (tdep);
-		   i < I387_XMM_AVX512_END_REGNUM (tdep); i++)
+	    }
+	  for (i = I387_XMM16_REGNUM (tdep);
+	       i < I387_XMM_AVX512_END_REGNUM (tdep); i++)
+	    {
+	      regcache->raw_collect (i, raw);
+	      p = XSAVE_XMM_AVX512_ADDR (tdep, regs, i);
+	      if (memcmp (raw, p, 16) != 0)
 		{
-		  regcache_raw_collect (regcache, i, raw);
-		  p = XSAVE_XMM_AVX512_ADDR (tdep, regs, i);
-		  if (memcmp (raw, p, 16) != 0)
-		    {
-		      xstate_bv |= X86_XSTATE_ZMM;
-		      memcpy (p, raw, 16);
-		    }
+		  xstate_bv |= X86_XSTATE_ZMM;
+		  memcpy (p, raw, 16);
 		}
 	    }
+	}
 
-	  /* Check if any upper YMM registers are changed.  */
-	  if ((tdep->xcr0 & X86_XSTATE_AVX))
-	    for (i = I387_YMM0H_REGNUM (tdep);
-		 i < I387_YMMENDH_REGNUM (tdep); i++)
+      /* Check if any upper MPX registers are changed.  */
+      if ((tdep->xcr0 & X86_XSTATE_BNDREGS))
+	for (i = I387_BND0R_REGNUM (tdep);
+	     i < I387_BNDCFGU_REGNUM (tdep); i++)
+	  {
+	    regcache->raw_collect (i, raw);
+	    p = XSAVE_MPX_ADDR (tdep, regs, i);
+	    if (memcmp (raw, p, 16))
 	      {
-		regcache_raw_collect (regcache, i, raw);
-		p = XSAVE_AVXH_ADDR (tdep, regs, i);
-		if (memcmp (raw, p, 16))
-		  {
-		    xstate_bv |= X86_XSTATE_AVX;
-		    memcpy (p, raw, 16);
-		  }
+		xstate_bv |= X86_XSTATE_BNDREGS;
+		memcpy (p, raw, 16);
 	      }
-	  /* Check if any upper MPX registers are changed.  */
-	  if ((tdep->xcr0 & X86_XSTATE_BNDREGS))
-	    for (i = I387_BND0R_REGNUM (tdep);
-		 i < I387_BNDCFGU_REGNUM (tdep); i++)
+	  }
+
+      /* Check if any upper MPX registers are changed.  */
+      if ((tdep->xcr0 & X86_XSTATE_BNDCFG))
+	for (i = I387_BNDCFGU_REGNUM (tdep);
+	     i < I387_MPXEND_REGNUM (tdep); i++)
+	  {
+	    regcache->raw_collect (i, raw);
+	    p = XSAVE_MPX_ADDR (tdep, regs, i);
+	    if (memcmp (raw, p, 8))
 	      {
-		regcache_raw_collect (regcache, i, raw);
-		p = XSAVE_MPX_ADDR (tdep, regs, i);
-		if (memcmp (raw, p, 16))
-		  {
-		    xstate_bv |= X86_XSTATE_BNDREGS;
-		    memcpy (p, raw, 16);
-		  }
+		xstate_bv |= X86_XSTATE_BNDCFG;
+		memcpy (p, raw, 8);
 	      }
+	  }
 
-	  /* Check if any upper MPX registers are changed.  */
-	  if ((tdep->xcr0 & X86_XSTATE_BNDCFG))
-	    for (i = I387_BNDCFGU_REGNUM (tdep);
-		 i < I387_MPXEND_REGNUM (tdep); i++)
+      /* Check if any upper YMM registers are changed.  */
+      if ((tdep->xcr0 & X86_XSTATE_AVX))
+	for (i = I387_YMM0H_REGNUM (tdep);
+	     i < I387_YMMENDH_REGNUM (tdep); i++)
+	  {
+	    regcache->raw_collect (i, raw);
+	    p = XSAVE_AVXH_ADDR (tdep, regs, i);
+	    if (memcmp (raw, p, 16))
 	      {
-		regcache_raw_collect (regcache, i, raw);
-		p = XSAVE_MPX_ADDR (tdep, regs, i);
-		if (memcmp (raw, p, 8))
-		  {
-		    xstate_bv |= X86_XSTATE_BNDCFG;
-		    memcpy (p, raw, 8);
-		  }
+		xstate_bv |= X86_XSTATE_AVX;
+		memcpy (p, raw, 16);
 	      }
+	  }
 
-	  /* Check if any SSE registers are changed.  */
-	  if ((tdep->xcr0 & X86_XSTATE_SSE))
-	    for (i = I387_XMM0_REGNUM (tdep);
-		 i < I387_MXCSR_REGNUM (tdep); i++)
+      /* Check if any SSE registers are changed.  */
+      if ((tdep->xcr0 & X86_XSTATE_SSE))
+	for (i = I387_XMM0_REGNUM (tdep);
+	     i < I387_MXCSR_REGNUM (tdep); i++)
+	  {
+	    regcache->raw_collect (i, raw);
+	    p = FXSAVE_ADDR (tdep, regs, i);
+	    if (memcmp (raw, p, 16))
 	      {
-		regcache_raw_collect (regcache, i, raw);
-		p = FXSAVE_ADDR (tdep, regs, i);
-		if (memcmp (raw, p, 16))
-		  {
-		    xstate_bv |= X86_XSTATE_SSE;
-		    memcpy (p, raw, 16);
-		  }
+		xstate_bv |= X86_XSTATE_SSE;
+		memcpy (p, raw, 16);
 	      }
+	  }
+
+      if ((tdep->xcr0 & X86_XSTATE_AVX) || (tdep->xcr0 & X86_XSTATE_SSE))
+	{
+	  i = I387_MXCSR_REGNUM (tdep);
+	  regcache->raw_collect (i, raw);
+	  p = FXSAVE_MXCSR_ADDR (regs);
+	  if (memcmp (raw, p, 4))
+	    {
+	      /* Now, we need to mark one of either SSE of AVX as enabled.
+		 We could pick either.  What we do is check to see if one
+		 of the features is already enabled, if it is then we leave
+		 it at that, otherwise we pick SSE.  */
+	      if ((xstate_bv & (X86_XSTATE_SSE | X86_XSTATE_AVX)) == 0)
+		xstate_bv |= X86_XSTATE_SSE;
+	      memcpy (p, raw, 4);
+	    }
+	}
 
-	  /* Check if any X87 registers are changed.  */
-	  if ((tdep->xcr0 & X86_XSTATE_X87))
-	    for (i = I387_ST0_REGNUM (tdep);
-		 i < I387_FCTRL_REGNUM (tdep); i++)
+      /* Check if any X87 registers are changed.  Only the non-control
+	 registers are handled here, the control registers are all handled
+	 later on in this function.  */
+      if ((tdep->xcr0 & X86_XSTATE_X87))
+	for (i = I387_ST0_REGNUM (tdep);
+	     i < I387_FCTRL_REGNUM (tdep); i++)
+	  {
+	    regcache->raw_collect (i, raw);
+	    p = FXSAVE_ADDR (tdep, regs, i);
+	    if (memcmp (raw, p, 10))
 	      {
-		regcache_raw_collect (regcache, i, raw);
-		p = FXSAVE_ADDR (tdep, regs, i);
-		if (memcmp (raw, p, 10))
-		  {
-		    xstate_bv |= X86_XSTATE_X87;
-		    memcpy (p, raw, 10);
-		  }
+		xstate_bv |= X86_XSTATE_X87;
+		memcpy (p, raw, 10);
 	      }
-	}
-      else
+	  }
+    }
+  else
+    {
+      /* Check if REGNUM is changed.  */
+      regcache->raw_collect (regnum, raw);
+
+      switch (regclass)
 	{
-	  /* Check if REGNUM is changed.  */
-	  regcache_raw_collect (regcache, regnum, raw);
+	default:
+	  internal_error (__FILE__, __LINE__,
+			  _("invalid i387 regclass"));
 
-	  switch (regclass)
+	case pkeys:
+	  /* This is a PKEYS register.  */
+	  p = XSAVE_PKEYS_ADDR (tdep, regs, regnum);
+	  if (memcmp (raw, p, 4) != 0)
 	    {
-	    default:
-	      internal_error (__FILE__, __LINE__,
-			      _("invalid i387 regclass"));
-
-	    case pkeys:
-	      /* This is a PKEYS register.  */
-	      p = XSAVE_PKEYS_ADDR (tdep, regs, regnum);
-	      if (memcmp (raw, p, 4) != 0)
-		{
-		  xstate_bv |= X86_XSTATE_PKRU;
-		  memcpy (p, raw, 4);
-		}
-	      break;
+	      xstate_bv |= X86_XSTATE_PKRU;
+	      memcpy (p, raw, 4);
+	    }
+	  break;
 
-	    case avx512_zmm_h:
-	      /* This is a ZMM register.  */
-	      p = XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, regnum);
-	      if (memcmp (raw, p, 32) != 0)
-		{
-		  xstate_bv |= (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM);
-		  memcpy (p, raw, 32);
-		}
-	      break;
-	    case avx512_k:
-	      /* This is a AVX512 mask register.  */
-	      p = XSAVE_AVX512_K_ADDR (tdep, regs, regnum);
-	      if (memcmp (raw, p, 8) != 0)
-		{
-		  xstate_bv |= X86_XSTATE_K;
-		  memcpy (p, raw, 8);
-		}
-	      break;
+	case avx512_zmm_h:
+	  /* This is a ZMM register.  */
+	  p = XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, regnum);
+	  if (memcmp (raw, p, 32) != 0)
+	    {
+	      xstate_bv |= (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM);
+	      memcpy (p, raw, 32);
+	    }
+	  break;
+	case avx512_k:
+	  /* This is a AVX512 mask register.  */
+	  p = XSAVE_AVX512_K_ADDR (tdep, regs, regnum);
+	  if (memcmp (raw, p, 8) != 0)
+	    {
+	      xstate_bv |= X86_XSTATE_K;
+	      memcpy (p, raw, 8);
+	    }
+	  break;
 
-	    case avx512_ymmh_avx512:
-	      /* This is an upper YMM16-31 register.  */
-	      p = XSAVE_YMM_AVX512_ADDR (tdep, regs, regnum);
-	      if (memcmp (raw, p, 16) != 0)
-		{
-		  xstate_bv |= X86_XSTATE_ZMM;
-		  memcpy (p, raw, 16);
-		}
-	      break;
+	case avx512_ymmh_avx512:
+	  /* This is an upper YMM16-31 register.  */
+	  p = XSAVE_YMM_AVX512_ADDR (tdep, regs, regnum);
+	  if (memcmp (raw, p, 16) != 0)
+	    {
+	      xstate_bv |= X86_XSTATE_ZMM;
+	      memcpy (p, raw, 16);
+	    }
+	  break;
 
-	    case avx512_xmm_avx512:
-	      /* This is an upper XMM16-31 register.  */
-	      p = XSAVE_XMM_AVX512_ADDR (tdep, regs, regnum);
-	      if (memcmp (raw, p, 16) != 0)
-		{
-		  xstate_bv |= X86_XSTATE_ZMM;
-		  memcpy (p, raw, 16);
-		}
-	      break;
+	case avx512_xmm_avx512:
+	  /* This is an upper XMM16-31 register.  */
+	  p = XSAVE_XMM_AVX512_ADDR (tdep, regs, regnum);
+	  if (memcmp (raw, p, 16) != 0)
+	    {
+	      xstate_bv |= X86_XSTATE_ZMM;
+	      memcpy (p, raw, 16);
+	    }
+	  break;
 
-	    case avxh:
-	      /* This is an upper YMM register.  */
-	      p = XSAVE_AVXH_ADDR (tdep, regs, regnum);
+	case avxh:
+	  /* This is an upper YMM register.  */
+	  p = XSAVE_AVXH_ADDR (tdep, regs, regnum);
+	  if (memcmp (raw, p, 16))
+	    {
+	      xstate_bv |= X86_XSTATE_AVX;
+	      memcpy (p, raw, 16);
+	    }
+	  break;
+
+	case mpx:
+	  if (regnum < I387_BNDCFGU_REGNUM (tdep))
+	    {
+	      regcache->raw_collect (regnum, raw);
+	      p = XSAVE_MPX_ADDR (tdep, regs, regnum);
 	      if (memcmp (raw, p, 16))
 		{
-		  xstate_bv |= X86_XSTATE_AVX;
+		  xstate_bv |= X86_XSTATE_BNDREGS;
 		  memcpy (p, raw, 16);
 		}
-	      break;
+	    }
+	  else
+	    {
+	      p = XSAVE_MPX_ADDR (tdep, regs, regnum);
+	      xstate_bv |= X86_XSTATE_BNDCFG;
+	      memcpy (p, raw, 8);
+	    }
+	  break;
 
-	    case mpx:
-	      if (regnum < I387_BNDCFGU_REGNUM (tdep))
-		{
-		  regcache_raw_collect (regcache, regnum, raw);
-		  p = XSAVE_MPX_ADDR (tdep, regs, regnum);
-		  if (memcmp (raw, p, 16))
-		    {
-		      xstate_bv |= X86_XSTATE_BNDREGS;
-		      memcpy (p, raw, 16);
-		    }
-		}
-	      else
-		{
-		  p = XSAVE_MPX_ADDR (tdep, regs, regnum);
-		  xstate_bv |= X86_XSTATE_BNDCFG;
-		  memcpy (p, raw, 8);
-		}
-	      break;
+	case sse:
+	  /* This is an SSE register.  */
+	  p = FXSAVE_ADDR (tdep, regs, regnum);
+	  if (memcmp (raw, p, 16))
+	    {
+	      xstate_bv |= X86_XSTATE_SSE;
+	      memcpy (p, raw, 16);
+	    }
+	  break;
 
-	    case sse:
-	      /* This is an SSE register.  */
-	      p = FXSAVE_ADDR (tdep, regs, regnum);
-	      if (memcmp (raw, p, 16))
-		{
-		  xstate_bv |= X86_XSTATE_SSE;
-		  memcpy (p, raw, 16);
-		}
-	      break;
+	case x87:
+	  /* This is an x87 register.  */
+	  p = FXSAVE_ADDR (tdep, regs, regnum);
+	  if (memcmp (raw, p, 10))
+	    {
+	      xstate_bv |= X86_XSTATE_X87;
+	      memcpy (p, raw, 10);
+	    }
+	  break;
 
-	    case x87:
-	      /* This is an x87 register.  */
-	      p = FXSAVE_ADDR (tdep, regs, regnum);
-	      if (memcmp (raw, p, 10))
+	case x87_ctrl_or_mxcsr:
+	  /* We only handle MXCSR here.  All other x87 control registers
+	     are handled separately below.  */
+	  if (regnum == I387_MXCSR_REGNUM (tdep))
+	    {
+	      p = FXSAVE_MXCSR_ADDR (regs);
+	      if (memcmp (raw, p, 2))
 		{
-		  xstate_bv |= X86_XSTATE_X87;
-		  memcpy (p, raw, 10);
+		  /* We're only setting MXCSR, so check the initial state
+		     to see if either of AVX or SSE are already enabled.
+		     If they are then we'll attribute this changed MXCSR to
+		     that feature.  If neither feature is enabled, then
+		     we'll attribute this change to the SSE feature.  */
+		  xstate_bv |= (initial_xstate_bv
+				& (X86_XSTATE_AVX | X86_XSTATE_SSE));
+		  if ((xstate_bv & (X86_XSTATE_AVX | X86_XSTATE_SSE)) == 0)
+		    xstate_bv |= X86_XSTATE_SSE;
+		  memcpy (p, raw, 2);
 		}
-	      break;
 	    }
 	}
-
-      /* Update the corresponding bits in `xstate_bv' if any SSE/AVX
-	 registers are changed.  */
-      if (xstate_bv)
-	{
-	  /* The supported bits in `xstat_bv' are 8 bytes.  */
-	  initial_xstate_bv |= xstate_bv;
-	  store_unsigned_integer (XSAVE_XSTATE_BV_ADDR (regs),
-				  8, byte_order,
-				  initial_xstate_bv);
-
-	  switch (regclass)
-	    {
-	    default:
-	      internal_error (__FILE__, __LINE__,
-			      _("invalid i387 regclass"));
-
-	    case all:
-	      break;
-
-	    case x87:
-	    case sse:
-	    case avxh:
-	    case mpx:
-	    case avx512_k:
-	    case avx512_zmm_h:
-	    case avx512_ymmh_avx512:
-	    case avx512_xmm_avx512:
-	    case pkeys:
-	      /* Register REGNUM has been updated.  Return.  */
-	      return;
-	    }
-	}
-      else
-	{
-	  /* Return if REGNUM isn't changed.  */
-	  if (regclass != all)
-	    return;
-	}
     }
 
   /* Only handle x87 control registers.  */
@@ -1741,7 +1801,7 @@ i387_collect_xsave (const struct regcach
 	  {
 	    gdb_byte buf[4];
 
-	    regcache_raw_collect (regcache, i, buf);
+	    regcache->raw_collect (i, buf);
 
 	    if (i == I387_FOP_REGNUM (tdep))
 	      {
@@ -1769,15 +1829,38 @@ i387_collect_xsave (const struct regcach
 		      buf[0] |= (1 << fpreg);
 		  }
 	      }
-	    memcpy (FXSAVE_ADDR (tdep, regs, i), buf, 2);
+	    p = FXSAVE_ADDR (tdep, regs, i);
+	    if (memcmp (p, buf, 2))
+	      {
+		xstate_bv |= X86_XSTATE_X87;
+		memcpy (p, buf, 2);
+	      }
 	  }
 	else
-	  regcache_raw_collect (regcache, i, FXSAVE_ADDR (tdep, regs, i));
+	  {
+	    int regsize;
+
+	    regcache->raw_collect (i, raw);
+	    regsize = regcache_register_size (regcache, i);
+	    p = FXSAVE_ADDR (tdep, regs, i);
+	    if (memcmp (raw, p, regsize))
+	      {
+		xstate_bv |= X86_XSTATE_X87;
+		memcpy (p, raw, regsize);
+	      }
+	  }
       }
 
-  if (regnum == I387_MXCSR_REGNUM (tdep) || regnum == -1)
-    regcache_raw_collect (regcache, I387_MXCSR_REGNUM (tdep),
-			  FXSAVE_MXCSR_ADDR (regs));
+  /* Update the corresponding bits in `xstate_bv' if any
+     registers are changed.  */
+  if (xstate_bv)
+    {
+      /* The supported bits in `xstat_bv' are 8 bytes.  */
+      initial_xstate_bv |= xstate_bv;
+      store_unsigned_integer (XSAVE_XSTATE_BV_ADDR (regs),
+			      8, byte_order,
+			      initial_xstate_bv);
+    }
 }
 
 /* Recreate the FTW (tag word) valid bits from the 80-bit FP data in
@@ -1865,6 +1948,6 @@ i387_reset_bnd_regs (struct gdbarch *gdb
 
       memset (bnd_buf, 0, 16);
       for (int i = 0; i < I387_NUM_BND_REGS; i++)
-	regcache_raw_write (regcache, I387_BND0R_REGNUM (tdep) + i, bnd_buf);
+	regcache->raw_write (I387_BND0R_REGNUM (tdep) + i, bnd_buf);
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i387-tdep.h ./gdb/i387-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/i387-tdep.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/i387-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -156,6 +156,12 @@ extern void i387_collect_fxsave (const s
 extern void i387_collect_xsave (const struct regcache *regcache,
 				int regnum, void *xsave, int gcore);
 
+/* Extract a bitset from XSAVE indicating which features are available in
+   the inferior, but not yet initialised.  */
+
+extern ULONGEST i387_xsave_get_clear_bv (struct gdbarch *gdbarch,
+					 const void *xsave);
+
 /* Prepare the FPU stack in REGCACHE for a function return.  */
 
 extern void i387_return_value (struct gdbarch *gdbarch,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-libunwind-tdep.c ./gdb/ia64-libunwind-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-libunwind-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ia64-libunwind-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -452,7 +452,7 @@ libunwind_sigtramp_frame_sniffer (const 
    are usually located at BOF, this is not always true and only the libunwind
    info can decipher where they actually are.  */
 int
-libunwind_get_reg_special (struct gdbarch *gdbarch, struct regcache *regcache,
+libunwind_get_reg_special (struct gdbarch *gdbarch, readable_regcache *regcache,
 			   int regnum, void *buf)
 {
   unw_cursor_t cursor;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-libunwind-tdep.h ./gdb/ia64-libunwind-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-libunwind-tdep.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ia64-libunwind-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -71,7 +71,7 @@ unw_word_t libunwind_find_dyn_list (unw_
 				    void *);
 
 int libunwind_get_reg_special (struct gdbarch *gdbarch,
-			       struct regcache *regcache,
+			       readable_regcache *regcache,
 			       int regnum, void *buf);
 
 #endif /* IA64_LIBUNWIND_TDEP_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-linux-nat.c ./gdb/ia64-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ia64-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -43,6 +43,49 @@
 
 #include "inf-ptrace.h"
 
+class ia64_linux_nat_target final : public linux_nat_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  const struct target_desc *read_description () override;
+
+  /* Override watchpoint routines.  */
+
+  /* The IA-64 architecture can step over a watch point (without
+     triggering it again) if the "dd" (data debug fault disable) bit
+     in the processor status word is set.
+
+     This PSR bit is set in
+     ia64_linux_nat_target::stopped_by_watchpoint when the code there
+     has determined that a hardware watchpoint has indeed been hit.
+     The CPU will then be able to execute one instruction without
+     triggering a watchpoint.  */
+  bool have_steppable_watchpoint () { return 1; }
+
+  int can_use_hw_breakpoint (enum bptype, int, int) override;
+  bool stopped_by_watchpoint () override;
+  bool stopped_data_address (CORE_ADDR *) override;
+  int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+  int remove_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+  /* Override linux_nat_target low methods.  */
+  void low_new_thread (struct lwp_info *lp) override;
+  bool low_status_is_event (int status) override;
+};
+
+static ia64_linux_nat_target the_ia64_linux_nat_target;
+
 /* These must match the order of the register names.
 
    Some sort of lookup table is needed because the offsets associated
@@ -371,33 +414,32 @@ supply_gregset (struct regcache *regcach
 
   for (regi = IA64_GR0_REGNUM; regi <= IA64_GR31_REGNUM; regi++)
     {
-      regcache_raw_supply (regcache, regi, regp + (regi - IA64_GR0_REGNUM));
+      regcache->raw_supply (regi, regp + (regi - IA64_GR0_REGNUM));
     }
 
   /* FIXME: NAT collection bits are at index 32; gotta deal with these
      somehow...  */
 
-  regcache_raw_supply (regcache, IA64_PR_REGNUM, regp + 33);
+  regcache->raw_supply (IA64_PR_REGNUM, regp + 33);
 
   for (regi = IA64_BR0_REGNUM; regi <= IA64_BR7_REGNUM; regi++)
     {
-      regcache_raw_supply (regcache, regi,
-			   regp + 34 + (regi - IA64_BR0_REGNUM));
+      regcache->raw_supply (regi, regp + 34 + (regi - IA64_BR0_REGNUM));
     }
 
-  regcache_raw_supply (regcache, IA64_IP_REGNUM, regp + 42);
-  regcache_raw_supply (regcache, IA64_CFM_REGNUM, regp + 43);
-  regcache_raw_supply (regcache, IA64_PSR_REGNUM, regp + 44);
-  regcache_raw_supply (regcache, IA64_RSC_REGNUM, regp + 45);
-  regcache_raw_supply (regcache, IA64_BSP_REGNUM, regp + 46);
-  regcache_raw_supply (regcache, IA64_BSPSTORE_REGNUM, regp + 47);
-  regcache_raw_supply (regcache, IA64_RNAT_REGNUM, regp + 48);
-  regcache_raw_supply (regcache, IA64_CCV_REGNUM, regp + 49);
-  regcache_raw_supply (regcache, IA64_UNAT_REGNUM, regp + 50);
-  regcache_raw_supply (regcache, IA64_FPSR_REGNUM, regp + 51);
-  regcache_raw_supply (regcache, IA64_PFS_REGNUM, regp + 52);
-  regcache_raw_supply (regcache, IA64_LC_REGNUM, regp + 53);
-  regcache_raw_supply (regcache, IA64_EC_REGNUM, regp + 54);
+  regcache->raw_supply (IA64_IP_REGNUM, regp + 42);
+  regcache->raw_supply (IA64_CFM_REGNUM, regp + 43);
+  regcache->raw_supply (IA64_PSR_REGNUM, regp + 44);
+  regcache->raw_supply (IA64_RSC_REGNUM, regp + 45);
+  regcache->raw_supply (IA64_BSP_REGNUM, regp + 46);
+  regcache->raw_supply (IA64_BSPSTORE_REGNUM, regp + 47);
+  regcache->raw_supply (IA64_RNAT_REGNUM, regp + 48);
+  regcache->raw_supply (IA64_CCV_REGNUM, regp + 49);
+  regcache->raw_supply (IA64_UNAT_REGNUM, regp + 50);
+  regcache->raw_supply (IA64_FPSR_REGNUM, regp + 51);
+  regcache->raw_supply (IA64_PFS_REGNUM, regp + 52);
+  regcache->raw_supply (IA64_LC_REGNUM, regp + 53);
+  regcache->raw_supply (IA64_EC_REGNUM, regp + 54);
 }
 
 void
@@ -408,7 +450,7 @@ fill_gregset (const struct regcache *reg
 
 #define COPY_REG(_idx_,_regi_) \
   if ((regno == -1) || regno == _regi_) \
-    regcache_raw_collect (regcache, _regi_, regp + _idx_)
+    regcache->raw_collect (_regi_, regp + _idx_)
 
   for (regi = IA64_GR0_REGNUM; regi <= IA64_GR31_REGNUM; regi++)
     {
@@ -457,14 +499,14 @@ supply_fpregset (struct regcache *regcac
      for fr0/fr1 and always supply their expected values.  */
 
   /* fr0 is always read as zero.  */
-  regcache_raw_supply (regcache, IA64_FR0_REGNUM, f_zero);
+  regcache->raw_supply (IA64_FR0_REGNUM, f_zero);
   /* fr1 is always read as one (1.0).  */
-  regcache_raw_supply (regcache, IA64_FR1_REGNUM, f_one);
+  regcache->raw_supply (IA64_FR1_REGNUM, f_one);
 
   for (regi = IA64_FR2_REGNUM; regi <= IA64_FR127_REGNUM; regi++)
     {
       from = (const char *) &((*fpregsetp)[regi - IA64_FR0_REGNUM]);
-      regcache_raw_supply (regcache, regi, from);
+      regcache->raw_supply (regi, from);
     }
 }
 
@@ -482,8 +524,7 @@ fill_fpregset (const struct regcache *re
   for (regi = IA64_FR0_REGNUM; regi <= IA64_FR127_REGNUM; regi++)
     {
       if ((regno == -1) || (regno == regi))
-	regcache_raw_collect (regcache, regi,
-			      &((*fpregsetp)[regi - IA64_FR0_REGNUM]));
+	regcache->raw_collect (regi, &((*fpregsetp)[regi - IA64_FR0_REGNUM]));
     }
 }
 
@@ -512,9 +553,9 @@ store_debug_register (ptid_t ptid, int i
 {
   int tid;
 
-  tid = ptid_get_lwp (ptid);
+  tid = ptid.lwp ();
   if (tid == 0)
-    tid = ptid_get_pid (ptid);
+    tid = ptid.pid ();
 
   (void) ptrace (PT_WRITE_U, tid, (PTRACE_TYPE_ARG3) (PT_DBR + 8 * idx), val);
 }
@@ -542,11 +583,10 @@ is_power_of_2 (int val)
   return onecount <= 1;
 }
 
-static int
-ia64_linux_insert_watchpoint (struct target_ops *self,
-			      CORE_ADDR addr, int len,
-			      enum target_hw_bp_type type,
-			      struct expression *cond)
+int
+ia64_linux_nat_target::insert_watchpoint (CORE_ADDR addr, int len,
+					  enum target_hw_bp_type type,
+					  struct expression *cond)
 {
   struct lwp_info *lp;
   int idx;
@@ -598,11 +638,10 @@ ia64_linux_insert_watchpoint (struct tar
   return 0;
 }
 
-static int
-ia64_linux_remove_watchpoint (struct target_ops *self,
-			      CORE_ADDR addr, int len,
-			      enum target_hw_bp_type type,
-			      struct expression *cond)
+int
+ia64_linux_nat_target::remove_watchpoint (CORE_ADDR addr, int len,
+					  enum target_hw_bp_type type,
+					  struct expression *cond)
 {
   int idx;
   long dbr_addr, dbr_mask;
@@ -650,19 +689,19 @@ ia64_linux_new_thread (struct lwp_info *
     enable_watchpoints_in_psr (lp->ptid);
 }
 
-static int
-ia64_linux_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
+bool
+ia64_linux_nat_target::stopped_data_address (CORE_ADDR *addr_p)
 {
   CORE_ADDR psr;
   siginfo_t siginfo;
   struct regcache *regcache = get_current_regcache ();
 
   if (!linux_nat_get_siginfo (inferior_ptid, &siginfo))
-    return 0;
+    return false;
 
   if (siginfo.si_signo != SIGTRAP
       || (siginfo.si_code & 0xffff) != 0x0004 /* TRAP_HWBKPT */)
-    return 0;
+    return false;
 
   regcache_cooked_read_unsigned (regcache, IA64_PSR_REGNUM, &psr);
   psr |= IA64_PSR_DD;	/* Set the dd bit - this will disable the watchpoint
@@ -670,14 +709,14 @@ ia64_linux_stopped_data_address (struct 
   regcache_cooked_write_unsigned (regcache, IA64_PSR_REGNUM, psr);
 
   *addr_p = (CORE_ADDR) siginfo.si_addr;
-  return 1;
+  return true;
 }
 
-static int
-ia64_linux_stopped_by_watchpoint (struct target_ops *ops)
+bool
+ia64_linux_nat_target::stopped_by_watchpoint ()
 {
   CORE_ADDR addr;
-  return ia64_linux_stopped_data_address (ops, &addr);
+  return stopped_data_address (&addr);
 }
 
 static int
@@ -707,7 +746,7 @@ ia64_linux_fetch_register (struct regcac
       const gdb_byte zero[8] = { 0 };
 
       gdb_assert (sizeof (zero) == register_size (gdbarch, regnum));
-      regcache_raw_supply (regcache, regnum, zero);
+      regcache->raw_supply (regnum, zero);
       return;
     }
 
@@ -717,7 +756,7 @@ ia64_linux_fetch_register (struct regcac
       const gdb_byte f_zero[16] = { 0 };
 
       gdb_assert (sizeof (f_zero) == register_size (gdbarch, regnum));
-      regcache_raw_supply (regcache, regnum, f_zero);
+      regcache->raw_supply (regnum, f_zero);
       return;
     }
 
@@ -728,17 +767,17 @@ ia64_linux_fetch_register (struct regcac
 	{ 0, 0, 0, 0, 0, 0, 0, 0x80, 0xff, 0xff, 0, 0, 0, 0, 0, 0 };
 
       gdb_assert (sizeof (f_one) == register_size (gdbarch, regnum));
-      regcache_raw_supply (regcache, regnum, f_one);
+      regcache->raw_supply (regnum, f_one);
       return;
     }
 
   if (ia64_cannot_fetch_register (gdbarch, regnum))
     {
-      regcache_raw_supply (regcache, regnum, NULL);
+      regcache->raw_supply (regnum, NULL);
       return;
     }
 
-  pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid = get_ptrace_pid (regcache->ptid ());
 
   /* This isn't really an address, but ptrace thinks of it as one.  */
   addr = ia64_register_addr (gdbarch, regnum);
@@ -759,15 +798,14 @@ ia64_linux_fetch_register (struct regcac
 
       addr += sizeof (PTRACE_TYPE_RET);
     }
-  regcache_raw_supply (regcache, regnum, buf);
+  regcache->raw_supply (regnum, buf);
 }
 
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers.  */
 
-static void
-ia64_linux_fetch_registers (struct target_ops *ops,
-			    struct regcache *regcache, int regnum)
+void
+ia64_linux_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   if (regnum == -1)
     for (regnum = 0;
@@ -793,7 +831,7 @@ ia64_linux_store_register (const struct 
   if (ia64_cannot_store_register (gdbarch, regnum))
     return;
 
-  pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid = get_ptrace_pid (regcache->ptid ());
 
   /* This isn't really an address, but ptrace thinks of it as one.  */
   addr = ia64_register_addr (gdbarch, regnum);
@@ -803,7 +841,7 @@ ia64_linux_store_register (const struct 
   buf = (PTRACE_TYPE_RET *) alloca (size);
 
   /* Write the register contents into the inferior a chunk at a time.  */
-  regcache_raw_collect (regcache, regnum, buf);
+  regcache->raw_collect (regnum, buf);
   for (i = 0; i < size / sizeof (PTRACE_TYPE_RET); i++)
     {
       errno = 0;
@@ -820,9 +858,8 @@ ia64_linux_store_register (const struct 
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers.  */
 
-static void
-ia64_linux_store_registers (struct target_ops *ops,
-			    struct regcache *regcache, int regnum)
+void
+ia64_linux_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
   if (regnum == -1)
     for (regnum = 0;
@@ -833,18 +870,14 @@ ia64_linux_store_registers (struct targe
     ia64_linux_store_register (regcache, regnum);
 }
 
+/* Implement the xfer_partial target_ops method.  */
 
-static target_xfer_partial_ftype *super_xfer_partial;
-
-/* Implement the to_xfer_partial target_ops method.  */
-
-static enum target_xfer_status
-ia64_linux_xfer_partial (struct target_ops *ops,
-			 enum target_object object,
-			 const char *annex,
-			 gdb_byte *readbuf, const gdb_byte *writebuf,
-			 ULONGEST offset, ULONGEST len,
-			 ULONGEST *xfered_len)
+enum target_xfer_status
+ia64_linux_nat_target::xfer_partial (enum target_object object,
+				     const char *annex,
+				     gdb_byte *readbuf, const gdb_byte *writebuf,
+				     ULONGEST offset, ULONGEST len,
+				     ULONGEST *xfered_len)
 {
   if (object == TARGET_OBJECT_UNWIND_TABLE && readbuf != NULL)
     {
@@ -875,8 +908,8 @@ ia64_linux_xfer_partial (struct target_o
       return TARGET_XFER_OK;
     }
 
-  return super_xfer_partial (ops, object, annex, readbuf, writebuf,
-			     offset, len, xfered_len);
+  return linux_nat_target::xfer_partial (object, annex, readbuf, writebuf,
+					 offset, len, xfered_len);
 }
 
 /* For break.b instruction ia64 CPU forgets the immediate value and generates
@@ -884,8 +917,8 @@ ia64_linux_xfer_partial (struct target_o
    ia64 does not use gdbarch_decr_pc_after_break so we do not have to make any
    difference for the signals here.  */
 
-static int
-ia64_linux_status_is_event (int status)
+bool
+ia64_linux_nat_target::low_status_is_event (int status)
 {
   return WIFSTOPPED (status) && (WSTOPSIG (status) == SIGTRAP
 				 || WSTOPSIG (status) == SIGILL);
@@ -894,39 +927,7 @@ ia64_linux_status_is_event (int status)
 void
 _initialize_ia64_linux_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
-  /* Override the default fetch/store register routines.  */
-  t->to_fetch_registers = ia64_linux_fetch_registers;
-  t->to_store_registers = ia64_linux_store_registers;
-
-  /* Override the default to_xfer_partial.  */
-  super_xfer_partial = t->to_xfer_partial;
-  t->to_xfer_partial = ia64_linux_xfer_partial;
-
-  /* Override watchpoint routines.  */
-
-  /* The IA-64 architecture can step over a watch point (without triggering
-     it again) if the "dd" (data debug fault disable) bit in the processor
-     status word is set.
-
-     This PSR bit is set in ia64_linux_stopped_by_watchpoint when the
-     code there has determined that a hardware watchpoint has indeed
-     been hit.  The CPU will then be able to execute one instruction
-     without triggering a watchpoint.  */
-
-  t->to_have_steppable_watchpoint = 1;
-  t->to_can_use_hw_breakpoint = ia64_linux_can_use_hw_breakpoint;
-  t->to_stopped_by_watchpoint = ia64_linux_stopped_by_watchpoint;
-  t->to_stopped_data_address = ia64_linux_stopped_data_address;
-  t->to_insert_watchpoint = ia64_linux_insert_watchpoint;
-  t->to_remove_watchpoint = ia64_linux_remove_watchpoint;
-
   /* Register the target.  */
-  linux_nat_add_target (t);
-  linux_nat_set_new_thread (t, ia64_linux_new_thread);
-  linux_nat_set_status_is_event (t, ia64_linux_status_is_event);
+  linux_target = &the_ia64_linux_nat_target;
+  add_inf_child_target (&the_ia64_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-linux-tdep.c ./gdb/ia64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ia64-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -184,9 +184,9 @@ ia64_linux_supply_fpregset (const struct
      did the same.  So ignore whatever might be recorded in fpregset_t
      for fr0/fr1 and always supply their expected values.  */
   if (regnum == -1 || regnum == IA64_FR0_REGNUM)
-    regcache_raw_supply (regcache, IA64_FR0_REGNUM, f_zero);
+    regcache->raw_supply (IA64_FR0_REGNUM, f_zero);
   if (regnum == -1 || regnum == IA64_FR1_REGNUM)
-    regcache_raw_supply (regcache, IA64_FR1_REGNUM, f_one);
+    regcache->raw_supply (IA64_FR1_REGNUM, f_one);
 }
 
 static const struct regset ia64_linux_gregset =
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-tdep.c ./gdb/ia64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ia64-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -876,13 +876,13 @@ ia64_breakpoint_from_pc (struct gdbarch 
 }
 
 static CORE_ADDR
-ia64_read_pc (struct regcache *regcache)
+ia64_read_pc (readable_regcache *regcache)
 {
   ULONGEST psr_value, pc_value;
   int slot_num;
 
-  regcache_cooked_read_unsigned (regcache, IA64_PSR_REGNUM, &psr_value);
-  regcache_cooked_read_unsigned (regcache, IA64_IP_REGNUM, &pc_value);
+  regcache->cooked_read (IA64_PSR_REGNUM, &psr_value);
+  regcache->cooked_read (IA64_IP_REGNUM, &pc_value);
   slot_num = (psr_value >> 41) & 3;
 
   return pc_value | (slot_num * SLOT_MULTIPLIER);
@@ -927,7 +927,7 @@ rse_address_add(CORE_ADDR addr, int nslo
 }
 
 static enum register_status
-ia64_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
+ia64_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
                            int regnum, gdb_byte *buf)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -951,13 +951,11 @@ ia64_pseudo_register_read (struct gdbarc
 	  ULONGEST bsp;
 	  CORE_ADDR reg;
 
-	  status = regcache_cooked_read_unsigned (regcache,
-						  IA64_BSP_REGNUM, &bsp);
+	  status = regcache->cooked_read (IA64_BSP_REGNUM, &bsp);
 	  if (status != REG_VALID)
 	    return status;
 
-	  status = regcache_cooked_read_unsigned (regcache,
-						  IA64_CFM_REGNUM, &cfm);
+	  status = regcache->cooked_read (IA64_CFM_REGNUM, &cfm);
 	  if (status != REG_VALID)
 	    return status;
 
@@ -982,7 +980,8 @@ ia64_pseudo_register_read (struct gdbarc
     {
       ULONGEST unatN_val;
       ULONGEST unat;
-      status = regcache_cooked_read_unsigned (regcache, IA64_UNAT_REGNUM, &unat);
+
+      status = regcache->cooked_read (IA64_UNAT_REGNUM, &unat);
       if (status != REG_VALID)
 	return status;
       unatN_val = (unat & (1LL << (regnum - IA64_NAT0_REGNUM))) != 0;
@@ -995,10 +994,12 @@ ia64_pseudo_register_read (struct gdbarc
       ULONGEST bsp;
       ULONGEST cfm;
       CORE_ADDR gr_addr = 0;
-      status = regcache_cooked_read_unsigned (regcache, IA64_BSP_REGNUM, &bsp);
+
+      status = regcache->cooked_read (IA64_BSP_REGNUM, &bsp);
       if (status != REG_VALID)
 	return status;
-      status = regcache_cooked_read_unsigned (regcache, IA64_CFM_REGNUM, &cfm);
+
+      status = regcache->cooked_read (IA64_CFM_REGNUM, &cfm);
       if (status != REG_VALID)
 	return status;
 
@@ -1013,14 +1014,13 @@ ia64_pseudo_register_read (struct gdbarc
 	{
 	  /* Compute address of nat collection bits.  */
 	  CORE_ADDR nat_addr = gr_addr | 0x1f8;
-	  CORE_ADDR nat_collection;
+	  ULONGEST nat_collection;
 	  int nat_bit;
 	  /* If our nat collection address is bigger than bsp, we have to get
 	     the nat collection from rnat.  Otherwise, we fetch the nat
 	     collection from the computed address.  */
 	  if (nat_addr >= bsp)
-	    regcache_cooked_read_unsigned (regcache, IA64_RNAT_REGNUM,
-					   &nat_collection);
+	    regcache->cooked_read (IA64_RNAT_REGNUM, &nat_collection);
 	  else
 	    nat_collection = read_memory_integer (nat_addr, 8, byte_order);
 	  nat_bit = (gr_addr >> 3) & 0x3f;
@@ -1036,10 +1036,11 @@ ia64_pseudo_register_read (struct gdbarc
          It can be calculated as the bsp - sof (sizeof frame).  */
       ULONGEST bsp, vbsp;
       ULONGEST cfm;
-      status = regcache_cooked_read_unsigned (regcache, IA64_BSP_REGNUM, &bsp);
+
+      status = regcache->cooked_read (IA64_BSP_REGNUM, &bsp);
       if (status != REG_VALID)
 	return status;
-      status = regcache_cooked_read_unsigned (regcache, IA64_CFM_REGNUM, &cfm);
+      status = regcache->cooked_read (IA64_CFM_REGNUM, &cfm);
       if (status != REG_VALID)
 	return status;
 
@@ -1054,10 +1055,11 @@ ia64_pseudo_register_read (struct gdbarc
       ULONGEST pr;
       ULONGEST cfm;
       ULONGEST prN_val;
-      status = regcache_cooked_read_unsigned (regcache, IA64_PR_REGNUM, &pr);
+
+      status = regcache->cooked_read (IA64_PR_REGNUM, &pr);
       if (status != REG_VALID)
 	return status;
-      status = regcache_cooked_read_unsigned (regcache, IA64_CFM_REGNUM, &cfm);
+      status = regcache->cooked_read (IA64_CFM_REGNUM, &cfm);
       if (status != REG_VALID)
 	return status;
 
@@ -2614,7 +2616,7 @@ ia64_access_rse_fpreg (unw_addr_space_t 
   /* We never call any libunwind routines that need to write registers.  */
   gdb_assert (!write);
 
-  regcache_cooked_read (regcache, regnum, (gdb_byte *) val);
+  regcache->cooked_read (regnum, (gdb_byte *) val);
 
   return 0;
 }
@@ -2658,7 +2660,7 @@ getunwind_table (gdb_byte **buf_p)
      we should find a way to override the corefile layer's
      xfer_partial method.  */
 
-  x = target_read_alloc (&current_target, TARGET_OBJECT_UNWIND_TABLE,
+  x = target_read_alloc (current_top_target (), TARGET_OBJECT_UNWIND_TABLE,
 			 NULL, buf_p);
 
   return x;
@@ -3208,7 +3210,7 @@ ia64_extract_return_value (struct type *
 
       while (n-- > 0)
 	{
-	  regcache_cooked_read (regcache, regnum, from);
+	  regcache->cooked_read (regnum, from);
 	  target_float_convert (from, ia64_ext_type (gdbarch),
 				valbuf + offset, float_elt_type);
 	  offset += TYPE_LENGTH (float_elt_type);
@@ -3275,7 +3277,7 @@ ia64_store_return_value (struct type *ty
 	{
 	  target_float_convert (valbuf + offset, float_elt_type,
 				to, ia64_ext_type (gdbarch));
-	  regcache_cooked_write (regcache, regnum, to);
+	  regcache->cooked_write (regnum, to);
 	  offset += TYPE_LENGTH (float_elt_type);
 	  regnum++;
 	}
@@ -3832,7 +3834,7 @@ ia64_push_dummy_call (struct gdbarch *gd
 	      target_float_convert (value_contents (arg) + argoffset,
 				    float_elt_type, to,
 				    ia64_ext_type (gdbarch));
-	      regcache_cooked_write (regcache, floatreg, to);
+	      regcache->cooked_write (floatreg, to);
 	      floatreg++;
 	      argoffset += TYPE_LENGTH (float_elt_type);
 	      len -= TYPE_LENGTH (float_elt_type);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-vms-tdep.c ./gdb/ia64-vms-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ia64-vms-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ia64-vms-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -42,7 +42,7 @@ ia64_vms_find_proc_info_x (unw_addr_spac
   CORE_ADDR table_addr;
   unsigned int info_len;
 
-  res = target_read (&current_target, TARGET_OBJECT_OPENVMS_UIB,
+  res = target_read (current_top_target (), TARGET_OBJECT_OPENVMS_UIB,
                      annex + 2, buf, 0, sizeof (buf));
 
   if (res != sizeof (buf))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/infcall.c ./gdb/infcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/infcall.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/infcall.c	2018-07-10 02:06:13.000000000 +0000
@@ -35,10 +35,11 @@
 #include "ada-lang.h"
 #include "gdbthread.h"
 #include "event-top.h"
-#include "observer.h"
+#include "observable.h"
 #include "top.h"
 #include "interps.h"
 #include "thread-fsm.h"
+#include <algorithm>
 
 /* If we can't find a function's name from its address,
    we print this instead.  */
@@ -228,26 +229,12 @@ value_arg_coerce (struct gdbarch *gdbarc
   return value_cast (type, arg);
 }
 
-/* Return the return type of a function with its first instruction exactly at
-   the PC address.  Return NULL otherwise.  */
-
-static struct type *
-find_function_return_type (CORE_ADDR pc)
-{
-  struct symbol *sym = find_pc_function (pc);
-
-  if (sym != NULL && BLOCK_START (SYMBOL_BLOCK_VALUE (sym)) == pc
-      && SYMBOL_TYPE (sym) != NULL)
-    return TYPE_TARGET_TYPE (SYMBOL_TYPE (sym));
-
-  return NULL;
-}
-
-/* Determine a function's address and its return type from its value.
-   Calls error() if the function is not valid for calling.  */
+/* See infcall.h.  */
 
 CORE_ADDR
-find_function_addr (struct value *function, struct type **retval_type)
+find_function_addr (struct value *function,
+		    struct type **retval_type,
+		    struct type **function_type)
 {
   struct type *ftype = check_typedef (value_type (function));
   struct gdbarch *gdbarch = get_type_arch (ftype);
@@ -269,22 +256,38 @@ find_function_addr (struct value *functi
       if (TYPE_CODE (ftype) == TYPE_CODE_FUNC
 	  || TYPE_CODE (ftype) == TYPE_CODE_METHOD)
 	funaddr = gdbarch_convert_from_func_ptr_addr (gdbarch, funaddr,
-						      &current_target);
+						      current_top_target ());
     }
   if (TYPE_CODE (ftype) == TYPE_CODE_FUNC
       || TYPE_CODE (ftype) == TYPE_CODE_METHOD)
     {
-      value_type = TYPE_TARGET_TYPE (ftype);
-
       if (TYPE_GNU_IFUNC (ftype))
 	{
-	  funaddr = gnu_ifunc_resolve_addr (gdbarch, funaddr);
+	  CORE_ADDR resolver_addr = funaddr;
 
-	  /* Skip querying the function symbol if no RETVAL_TYPE has been
-	     asked for.  */
-	  if (retval_type)
-	    value_type = find_function_return_type (funaddr);
+	  /* Resolve the ifunc.  Note this may call the resolver
+	     function in the inferior.  */
+	  funaddr = gnu_ifunc_resolve_addr (gdbarch, resolver_addr);
+
+	  /* Skip querying the function symbol if no RETVAL_TYPE or
+	     FUNCTION_TYPE have been asked for.  */
+	  if (retval_type != NULL || function_type != NULL)
+	    {
+	      type *target_ftype = find_function_type (funaddr);
+	      /* If we don't have debug info for the target function,
+		 see if we can instead extract the target function's
+		 type from the type that the resolver returns.  */
+	      if (target_ftype == NULL)
+		target_ftype = find_gnu_ifunc_target_type (resolver_addr);
+	      if (target_ftype != NULL)
+		{
+		  value_type = TYPE_TARGET_TYPE (check_typedef (target_ftype));
+		  ftype = target_ftype;
+		}
+	    }
 	}
+      else
+	value_type = TYPE_TARGET_TYPE (ftype);
     }
   else if (TYPE_CODE (ftype) == TYPE_CODE_INT)
     {
@@ -304,8 +307,9 @@ find_function_addr (struct value *functi
 
 	      funaddr = value_as_address (value_addr (function));
 	      nfunaddr = funaddr;
-	      funaddr = gdbarch_convert_from_func_ptr_addr (gdbarch, funaddr,
-							    &current_target);
+	      funaddr
+		= gdbarch_convert_from_func_ptr_addr (gdbarch, funaddr,
+						      current_top_target ());
 	      if (funaddr != nfunaddr)
 		found_descriptor = 1;
 	    }
@@ -319,6 +323,8 @@ find_function_addr (struct value *functi
 
   if (retval_type != NULL)
     *retval_type = value_type;
+  if (function_type != NULL)
+    *function_type = ftype;
   return funaddr + gdbarch_deprecated_function_start_offset (gdbarch);
 }
 
@@ -408,9 +414,6 @@ struct call_return_meta_info
 
   /* If using a structure return, this is the structure's address.  */
   CORE_ADDR struct_addr;
-
-  /* Whether stack temporaries are enabled.  */
-  int stack_temporaries_enabled;
 };
 
 /* Extract the called function's return value.  */
@@ -419,7 +422,8 @@ static struct value *
 get_call_return_value (struct call_return_meta_info *ri)
 {
   struct value *retval = NULL;
-  int stack_temporaries = thread_stack_temporaries_enabled_p (inferior_ptid);
+  thread_info *thr = inferior_thread ();
+  bool stack_temporaries = thread_stack_temporaries_enabled_p (thr);
 
   if (TYPE_CODE (ri->value_type) == TYPE_CODE_VOID)
     retval = allocate_value (ri->value_type);
@@ -429,7 +433,7 @@ get_call_return_value (struct call_retur
 	{
 	  retval = value_from_contents_and_address (ri->value_type, NULL,
 						    ri->struct_addr);
-	  push_thread_stack_temporary (inferior_ptid, retval);
+	  push_thread_stack_temporary (thr, retval);
 	}
       else
 	{
@@ -455,7 +459,7 @@ get_call_return_value (struct call_retur
 	     the this pointer, GDB needs the memory address of the
 	     value.  */
 	  value_force_lval (retval, ri->struct_addr);
-	  push_thread_stack_temporary (inferior_ptid, retval);
+	  push_thread_stack_temporary (thr, retval);
 	}
     }
 
@@ -583,6 +587,7 @@ run_inferior_call (struct call_thread_fs
   struct gdb_exception caught_error = exception_none;
   int saved_in_infcall = call_thread->control.in_infcall;
   ptid_t call_thread_ptid = call_thread->ptid;
+  inferior *call_thread_inf = call_thread->inf;
   enum prompt_state saved_prompt_state = current_ui->prompt_state;
   int was_running = call_thread->state == THREAD_RUNNING;
   int saved_ui_async = current_ui->async;
@@ -634,10 +639,6 @@ run_inferior_call (struct call_thread_fs
     ui_register_input_event_handler (current_ui);
   current_ui->async = saved_ui_async;
 
-  /* At this point the current thread may have changed.  Refresh
-     CALL_THREAD as it could be invalid if its thread has exited.  */
-  call_thread = find_thread_ptid (call_thread_ptid);
-
   /* If the infcall does NOT succeed, normal_stop will have already
      finished the thread states.  However, on success, normal_stop
      defers here, so that we can set back the thread states to what
@@ -654,7 +655,7 @@ run_inferior_call (struct call_thread_fs
      evaluates true and thus we'll present a user-visible stop is
      decided elsewhere.  */
   if (!was_running
-      && ptid_equal (call_thread_ptid, inferior_ptid)
+      && call_thread_ptid == inferior_ptid
       && stop_stack_dummy == STOP_STACK_DUMMY)
     finish_thread_state (user_visible_resume_ptid (0));
 
@@ -667,12 +668,11 @@ run_inferior_call (struct call_thread_fs
      of error out of resume()), then we wouldn't need this.  */
   if (caught_error.reason < 0)
     {
-      if (call_thread != NULL)
+      if (call_thread->state != THREAD_EXITED)
 	breakpoint_auto_delete (call_thread->control.stop_bpstat);
     }
 
-  if (call_thread != NULL)
-    call_thread->control.in_infcall = saved_in_infcall;
+  call_thread->control.in_infcall = saved_in_infcall;
 
   return caught_error;
 }
@@ -721,28 +721,21 @@ call_function_by_hand_dummy (struct valu
 			     void *dummy_dtor_data)
 {
   CORE_ADDR sp;
-  struct type *values_type, *target_values_type;
+  struct type *target_values_type;
   unsigned char struct_return = 0, hidden_first_param_p = 0;
   CORE_ADDR struct_addr = 0;
   struct infcall_control_state *inf_status;
   struct cleanup *inf_status_cleanup;
   struct infcall_suspend_state *caller_state;
-  CORE_ADDR funaddr;
   CORE_ADDR real_pc;
-  struct type *ftype = check_typedef (value_type (function));
   CORE_ADDR bp_addr;
   struct frame_id dummy_id;
-  struct cleanup *args_cleanup;
   struct frame_info *frame;
   struct gdbarch *gdbarch;
   struct cleanup *terminate_bp_cleanup;
   ptid_t call_thread_ptid;
   struct gdb_exception e;
   char name_buf[RAW_FUNCTION_ADDRESS_SIZE];
-  int stack_temporaries = thread_stack_temporaries_enabled_p (inferior_ptid);
-
-  if (TYPE_CODE (ftype) == TYPE_CODE_PTR)
-    ftype = check_typedef (TYPE_TARGET_TYPE (ftype));
 
   if (!target_has_execution)
     noprocess ();
@@ -753,6 +746,14 @@ call_function_by_hand_dummy (struct valu
   if (execution_direction == EXEC_REVERSE)
     error (_("Cannot call functions in reverse mode."));
 
+  /* We're going to run the target, and inspect the thread's state
+     afterwards.  Hold a strong reference so that the pointer remains
+     valid even if the thread exits.  */
+  thread_info_ref call_thread
+    = thread_info_ref::new_reference (inferior_thread ());
+
+  bool stack_temporaries = thread_stack_temporaries_enabled_p (call_thread.get ());
+
   frame = get_current_frame ();
   gdbarch = get_frame_arch (frame);
 
@@ -845,7 +846,7 @@ call_function_by_hand_dummy (struct valu
       {
 	struct value *lastval;
 
-	lastval = get_last_thread_stack_temporary (inferior_ptid);
+	lastval = get_last_thread_stack_temporary (call_thread.get ());
         if (lastval != NULL)
 	  {
 	    CORE_ADDR lastval_addr = value_address (lastval);
@@ -867,7 +868,10 @@ call_function_by_hand_dummy (struct valu
       }
   }
 
-  funaddr = find_function_addr (function, &values_type);
+  type *ftype;
+  type *values_type;
+  CORE_ADDR funaddr = find_function_addr (function, &values_type, &ftype);
+
   if (values_type == NULL)
     values_type = default_return_type;
   if (values_type == NULL)
@@ -906,7 +910,7 @@ call_function_by_hand_dummy (struct valu
       target_values_type = values_type;
     }
 
-  observer_notify_inferior_call_pre (inferior_ptid, funaddr);
+  gdb::observers::inferior_call_pre.notify (inferior_ptid, funaddr);
 
   /* Determine the location of the breakpoint (and possibly other
      stuff) that the called function will return to.  The SPARC, for a
@@ -1054,21 +1058,16 @@ call_function_by_hand_dummy (struct valu
 	}
     }
 
+  std::vector<struct value *> new_args;
   if (hidden_first_param_p)
     {
-      struct value **new_args;
-
       /* Add the new argument to the front of the argument list.  */
-      new_args = XNEWVEC (struct value *, nargs + 1);
-      new_args[0] = value_from_pointer (lookup_pointer_type (values_type),
-					struct_addr);
-      memcpy (&new_args[1], &args[0], sizeof (struct value *) * nargs);
-      args = new_args;
+      new_args.push_back
+	(value_from_pointer (lookup_pointer_type (values_type), struct_addr));
+      std::copy (&args[0], &args[nargs], std::back_inserter (new_args));
+      args = new_args.data ();
       nargs++;
-      args_cleanup = make_cleanup (xfree, args);
     }
-  else
-    args_cleanup = make_cleanup (null_cleanup, NULL);
 
   /* Create the dummy stack frame.  Pass in the call dummy address as,
      presumably, the ABI code knows where, in the call dummy, the
@@ -1077,8 +1076,6 @@ call_function_by_hand_dummy (struct valu
 				bp_addr, nargs, args,
 				sp, struct_return, struct_addr);
 
-  do_cleanups (args_cleanup);
-
   /* Set up a frame ID for the dummy frame so we can pass it to
      set_momentary_breakpoint.  We need to give the breakpoint a frame
      ID so that the breakpoint code can correctly re-identify the
@@ -1144,9 +1141,9 @@ call_function_by_hand_dummy (struct valu
   /* Everything's ready, push all the info needed to restore the
      caller (and identify the dummy-frame) onto the dummy-frame
      stack.  */
-  dummy_frame_push (caller_state, &dummy_id, inferior_ptid);
+  dummy_frame_push (caller_state, &dummy_id, call_thread.get ());
   if (dummy_dtor != NULL)
-    register_dummy_frame_dtor (dummy_id, inferior_ptid,
+    register_dummy_frame_dtor (dummy_id, call_thread.get (),
 			       dummy_dtor, dummy_dtor_data);
 
   /* Register a clean-up for unwind_on_terminating_exception_breakpoint.  */
@@ -1157,20 +1154,17 @@ call_function_by_hand_dummy (struct valu
      If you're looking to implement asynchronous dummy-frames, then
      just below is the place to chop this function in two..  */
 
-  /* TP is invalid after run_inferior_call returns, so enclose this
-     in a block so that it's only in scope during the time it's valid.  */
   {
-    struct thread_info *tp = inferior_thread ();
     struct thread_fsm *saved_sm;
     struct call_thread_fsm *sm;
 
     /* Save the current FSM.  We'll override it.  */
-    saved_sm = tp->thread_fsm;
-    tp->thread_fsm = NULL;
+    saved_sm = call_thread->thread_fsm;
+    call_thread->thread_fsm = NULL;
 
     /* Save this thread's ptid, we need it later but the thread
        may have exited.  */
-    call_thread_ptid = tp->ptid;
+    call_thread_ptid = call_thread->ptid;
 
     /* Run the inferior until it stops.  */
 
@@ -1184,17 +1178,16 @@ call_function_by_hand_dummy (struct valu
 			      struct_return || hidden_first_param_p,
 			      struct_addr);
 
-    e = run_inferior_call (sm, tp, real_pc);
+    e = run_inferior_call (sm, call_thread.get (), real_pc);
 
-    observer_notify_inferior_call_post (call_thread_ptid, funaddr);
+    gdb::observers::inferior_call_post.notify (call_thread_ptid, funaddr);
 
-    tp = find_thread_ptid (call_thread_ptid);
-    if (tp != NULL)
+    if (call_thread->state != THREAD_EXITED)
       {
 	/* The FSM should still be the same.  */
-	gdb_assert (tp->thread_fsm == &sm->thread_fsm);
+	gdb_assert (call_thread->thread_fsm == &sm->thread_fsm);
 
-	if (thread_fsm_finished_p (tp->thread_fsm))
+	if (thread_fsm_finished_p (call_thread->thread_fsm))
 	  {
 	    struct value *retval;
 
@@ -1202,7 +1195,7 @@ call_function_by_hand_dummy (struct valu
 	       which runs its destructors and restores the inferior's
 	       suspend state, and restore the inferior control
 	       state.  */
-	    dummy_frame_pop (dummy_id, call_thread_ptid);
+	    dummy_frame_pop (dummy_id, call_thread.get ());
 	    restore_infcall_control_state (inf_status);
 
 	    /* Get the return value.  */
@@ -1210,9 +1203,9 @@ call_function_by_hand_dummy (struct valu
 
 	    /* Clean up / destroy the call FSM, and restore the
 	       original one.  */
-	    thread_fsm_clean_up (tp->thread_fsm, tp);
-	    thread_fsm_delete (tp->thread_fsm);
-	    tp->thread_fsm = saved_sm;
+	    thread_fsm_clean_up (call_thread->thread_fsm, call_thread.get ());
+	    thread_fsm_delete (call_thread->thread_fsm);
+	    call_thread->thread_fsm = saved_sm;
 
 	    maybe_remove_breakpoints ();
 
@@ -1223,7 +1216,7 @@ call_function_by_hand_dummy (struct valu
 
 	/* Didn't complete.  Restore previous state machine, and
 	   handle the error.  */
-	tp->thread_fsm = saved_sm;
+	call_thread->thread_fsm = saved_sm;
       }
   }
 
@@ -1278,7 +1271,7 @@ When the function is done executing, GDB
 	     name);
     }
 
-  if (! ptid_equal (call_thread_ptid, inferior_ptid))
+  if (call_thread_ptid != inferior_ptid)
     {
       const char *name = get_function_name (funaddr,
 					    name_buf, sizeof (name_buf));
@@ -1324,7 +1317,7 @@ When the function is done executing, GDB
 
 	      /* We must get back to the frame we were before the
 		 dummy call.  */
-	      dummy_frame_pop (dummy_id, call_thread_ptid);
+	      dummy_frame_pop (dummy_id, call_thread.get ());
 
 	      /* We also need to restore inferior status to that before the
 		 dummy call.  */
@@ -1365,7 +1358,7 @@ When the function is done executing, GDB
 	{
 	  /* We must get back to the frame we were before the dummy
 	     call.  */
-	  dummy_frame_pop (dummy_id, call_thread_ptid);
+	  dummy_frame_pop (dummy_id, call_thread.get ());
 
 	  /* We also need to restore inferior status to that before
 	     the dummy call.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/infcall.h ./gdb/infcall.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/infcall.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/infcall.h	2018-07-10 02:06:13.000000000 +0000
@@ -25,8 +25,15 @@
 struct value;
 struct type;
 
+/* Determine a function's address and its return type from its value.
+   If the function is a GNU ifunc, then return the address of the
+   target function, and set *FUNCTION_TYPE to the target function's
+   type, and *RETVAL_TYPE to the target function's return type.
+   Calls error() if the function is not valid for calling.  */
+
 extern CORE_ADDR find_function_addr (struct value *function, 
-				     struct type **retval_type);
+				     struct type **retval_type,
+				     struct type **function_type = NULL);
 
 /* Perform a function call in the inferior.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inf-child.c ./gdb/inf-child.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inf-child.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/inf-child.c	2018-07-10 02:06:13.000000000 +0000
@@ -39,10 +39,17 @@
 #include <fcntl.h>
 #include <unistd.h>
 
-/* A pointer to what is returned by inf_child_target.  Used by
-   inf_child_open to push the most-derived target in reaction to
-   "target native".  */
-static struct target_ops *inf_child_ops = NULL;
+static const target_info inf_child_target_info = {
+  "native",
+  N_("Native process"),
+  N_("Native process (started by the \"run\" command).")
+};
+
+const target_info &
+inf_child_target::info () const
+{
+  return inf_child_target_info;
+}
 
 /* Helper function for child_wait and the derivatives of child_wait.
    HOSTSTATUS is the waitstatus from wait() or the equivalent; store our
@@ -67,35 +74,11 @@ store_waitstatus (struct target_waitstat
     }
 }
 
-/* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
-   for all registers.  */
-
-static void
-inf_child_fetch_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regnum)
-{
-  if (regnum == -1)
-    {
-      for (regnum = 0;
-	   regnum < gdbarch_num_regs (regcache->arch ());
-	   regnum++)
-	regcache_raw_supply (regcache, regnum, NULL);
-    }
-  else
-    regcache_raw_supply (regcache, regnum, NULL);
-}
-
-/* Store register REGNUM back into the inferior.  If REGNUM is -1, do
-   this for all registers (including the floating point registers).  */
+inf_child_target::~inf_child_target ()
+{}
 
-static void
-inf_child_store_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regnum)
-{
-}
-
-static void
-inf_child_post_attach (struct target_ops *self, int pid)
+void
+inf_child_target::post_attach (int pid)
 {
   /* This target doesn't require a meaningful "post attach" operation
      by a debugger.  */
@@ -107,10 +90,57 @@ inf_child_post_attach (struct target_ops
    makes sure that registers contains all the registers from the
    program being debugged.  */
 
-static void
-inf_child_prepare_to_store (struct target_ops *self,
-			    struct regcache *regcache)
+void
+inf_child_target::prepare_to_store (struct regcache *regcache)
+{
+}
+
+bool
+inf_child_target::supports_terminal_ours ()
+{
+  return true;
+}
+
+void
+inf_child_target::terminal_init ()
+{
+  child_terminal_init (this);
+}
+
+void
+inf_child_target::terminal_inferior ()
+{
+  child_terminal_inferior (this);
+}
+
+void
+inf_child_target::terminal_ours_for_output ()
+{
+  child_terminal_ours_for_output (this);
+}
+
+void
+inf_child_target::terminal_ours ()
+{
+  child_terminal_ours (this);
+}
+
+void
+inf_child_target::interrupt ()
+{
+  child_interrupt (this);
+}
+
+void
+inf_child_target::pass_ctrlc ()
+{
+  child_pass_ctrlc (this);
+}
+
+void
+inf_child_target::terminal_info (const char *args, int from_tty)
 {
+  child_terminal_info (this, args, from_tty);
 }
 
 /* True if the user did "target native".  In that case, we won't
@@ -121,9 +151,14 @@ static int inf_child_explicitly_opened;
 /* See inf-child.h.  */
 
 void
-inf_child_open_target (struct target_ops *target, const char *arg,
-		       int from_tty)
+inf_child_open_target (const char *arg, int from_tty)
 {
+  target_ops *target = get_native_target ();
+
+  /* There's always only ever one native target, and if we get here,
+     it better be an inf-child target.  */
+  gdb_assert (dynamic_cast<inf_child_target *> (target) != NULL);
+
   target_preopen (from_tty);
   push_target (target);
   inf_child_explicitly_opened = 1;
@@ -131,16 +166,10 @@ inf_child_open_target (struct target_ops
     printf_filtered ("Done.  Use the \"run\" command to start a process.\n");
 }
 
-static void
-inf_child_open (const char *arg, int from_tty)
-{
-  inf_child_open_target (inf_child_ops, arg, from_tty);
-}
-
 /* Implement the to_disconnect target_ops method.  */
 
-static void
-inf_child_disconnect (struct target_ops *target, const char *args, int from_tty)
+void
+inf_child_target::disconnect (const char *args, int from_tty)
 {
   if (args != NULL)
     error (_("Argument given to \"disconnect\"."));
@@ -152,65 +181,98 @@ inf_child_disconnect (struct target_ops 
 
 /* Implement the to_close target_ops method.  */
 
-static void
-inf_child_close (struct target_ops *target)
+void
+inf_child_target::close ()
 {
   /* In case we were forcibly closed.  */
   inf_child_explicitly_opened = 0;
 }
 
 void
-inf_child_mourn_inferior (struct target_ops *ops)
+inf_child_target::mourn_inferior ()
 {
   generic_mourn_inferior ();
-  inf_child_maybe_unpush_target (ops);
+  maybe_unpush_target ();
 }
 
 /* See inf-child.h.  */
 
 void
-inf_child_maybe_unpush_target (struct target_ops *ops)
+inf_child_target::maybe_unpush_target ()
 {
   if (!inf_child_explicitly_opened && !have_inferiors ())
-    unpush_target (ops);
+    unpush_target (this);
 }
 
-static void
-inf_child_post_startup_inferior (struct target_ops *self, ptid_t ptid)
+void
+inf_child_target::post_startup_inferior (ptid_t ptid)
 {
   /* This target doesn't require a meaningful "post startup inferior"
      operation by a debugger.  */
 }
 
-static int
-inf_child_follow_fork (struct target_ops *ops, int follow_child,
-		       int detach_fork)
+bool
+inf_child_target::can_run ()
 {
-  /* This target doesn't support following fork or vfork events.  */
-  return 0;
+  return true;
 }
 
-static int
-inf_child_can_run (struct target_ops *self)
+bool
+inf_child_target::can_create_inferior ()
 {
-  return 1;
+  return true;
 }
 
-static char *
-inf_child_pid_to_exec_file (struct target_ops *self, int pid)
+bool
+inf_child_target::can_attach ()
+{
+  return true;
+}
+
+char *
+inf_child_target::pid_to_exec_file (int pid)
 {
   /* This target doesn't support translation of a process ID to the
      filename of the executable file.  */
   return NULL;
 }
 
+bool
+inf_child_target::has_all_memory ()
+{
+  return default_child_has_all_memory ();
+}
+
+bool
+inf_child_target::has_memory ()
+{
+  return default_child_has_memory ();
+}
+
+bool
+inf_child_target::has_stack ()
+{
+  return default_child_has_stack ();
+}
+
+bool
+inf_child_target::has_registers ()
+{
+  return default_child_has_registers ();
+}
+
+bool
+inf_child_target::has_execution (ptid_t ptid)
+{
+  return default_child_has_execution (ptid);
+}
+
 /* Implementation of to_fileio_open.  */
 
-static int
-inf_child_fileio_open (struct target_ops *self,
-		       struct inferior *inf, const char *filename,
-		       int flags, int mode, int warn_if_slow,
-		       int *target_errno)
+int
+inf_child_target::fileio_open (struct inferior *inf, const char *filename,
+			       int flags, int mode, int warn_if_slow,
+			       int *target_errno)
 {
   int nat_flags;
   mode_t nat_mode;
@@ -232,10 +294,9 @@ inf_child_fileio_open (struct target_ops
 
 /* Implementation of to_fileio_pwrite.  */
 
-static int
-inf_child_fileio_pwrite (struct target_ops *self,
-			 int fd, const gdb_byte *write_buf, int len,
-			 ULONGEST offset, int *target_errno)
+int
+inf_child_target::fileio_pwrite (int fd, const gdb_byte *write_buf, int len,
+				 ULONGEST offset, int *target_errno)
 {
   int ret;
 
@@ -260,10 +321,9 @@ inf_child_fileio_pwrite (struct target_o
 
 /* Implementation of to_fileio_pread.  */
 
-static int
-inf_child_fileio_pread (struct target_ops *self,
-			int fd, gdb_byte *read_buf, int len,
-			ULONGEST offset, int *target_errno)
+int
+inf_child_target::fileio_pread (int fd, gdb_byte *read_buf, int len,
+				ULONGEST offset, int *target_errno)
 {
   int ret;
 
@@ -288,9 +348,8 @@ inf_child_fileio_pread (struct target_op
 
 /* Implementation of to_fileio_fstat.  */
 
-static int
-inf_child_fileio_fstat (struct target_ops *self, int fd,
-			struct stat *sb, int *target_errno)
+int
+inf_child_target::fileio_fstat (int fd, struct stat *sb, int *target_errno)
 {
   int ret;
 
@@ -303,12 +362,12 @@ inf_child_fileio_fstat (struct target_op
 
 /* Implementation of to_fileio_close.  */
 
-static int
-inf_child_fileio_close (struct target_ops *self, int fd, int *target_errno)
+int
+inf_child_target::fileio_close (int fd, int *target_errno)
 {
   int ret;
 
-  ret = close (fd);
+  ret = ::close (fd);
   if (ret == -1)
     *target_errno = host_to_fileio_error (errno);
 
@@ -317,10 +376,9 @@ inf_child_fileio_close (struct target_op
 
 /* Implementation of to_fileio_unlink.  */
 
-static int
-inf_child_fileio_unlink (struct target_ops *self,
-			 struct inferior *inf, const char *filename,
-			 int *target_errno)
+int
+inf_child_target::fileio_unlink (struct inferior *inf, const char *filename,
+				 int *target_errno)
 {
   int ret;
 
@@ -333,112 +391,58 @@ inf_child_fileio_unlink (struct target_o
 
 /* Implementation of to_fileio_readlink.  */
 
-static char *
-inf_child_fileio_readlink (struct target_ops *self,
-			   struct inferior *inf, const char *filename,
-			   int *target_errno)
+gdb::optional<std::string>
+inf_child_target::fileio_readlink (struct inferior *inf, const char *filename,
+				   int *target_errno)
 {
   /* We support readlink only on systems that also provide a compile-time
      maximum path length (PATH_MAX), at least for now.  */
 #if defined (PATH_MAX)
   char buf[PATH_MAX];
   int len;
-  char *ret;
 
   len = readlink (filename, buf, sizeof buf);
   if (len < 0)
     {
       *target_errno = host_to_fileio_error (errno);
-      return NULL;
+      return {};
     }
 
-  ret = (char *) xmalloc (len + 1);
-  memcpy (ret, buf, len);
-  ret[len] = '\0';
-  return ret;
+  return std::string (buf, len);
 #else
   *target_errno = FILEIO_ENOSYS;
-  return NULL;
+  return {};
 #endif
 }
 
-static int
-inf_child_use_agent (struct target_ops *self, int use)
+bool
+inf_child_target::use_agent (bool use)
 {
   if (agent_loaded_p ())
     {
-      use_agent = use;
-      return 1;
+      ::use_agent = use;
+      return true;
     }
   else
-    return 0;
+    return false;
 }
 
-static int
-inf_child_can_use_agent (struct target_ops *self)
+bool
+inf_child_target::can_use_agent ()
 {
   return agent_loaded_p ();
 }
 
-/* Default implementation of the to_can_async_p and
-   to_supports_non_stop methods.  */
-
-static int
-return_zero (struct target_ops *ignore)
+inf_child_target::inf_child_target ()
 {
-  return 0;
+  this->to_stratum = process_stratum;
 }
 
-struct target_ops *
-inf_child_target (void)
-{
-  struct target_ops *t = XCNEW (struct target_ops);
-
-  t->to_shortname = "native";
-  t->to_longname = "Native process";
-  t->to_doc = "Native process (started by the \"run\" command).";
-  t->to_open = inf_child_open;
-  t->to_close = inf_child_close;
-  t->to_disconnect = inf_child_disconnect;
-  t->to_post_attach = inf_child_post_attach;
-  t->to_fetch_registers = inf_child_fetch_inferior_registers;
-  t->to_store_registers = inf_child_store_inferior_registers;
-  t->to_prepare_to_store = inf_child_prepare_to_store;
-  t->to_insert_breakpoint = memory_insert_breakpoint;
-  t->to_remove_breakpoint = memory_remove_breakpoint;
-  t->to_terminal_init = child_terminal_init;
-  t->to_terminal_inferior = child_terminal_inferior;
-  t->to_terminal_ours_for_output = child_terminal_ours_for_output;
-  t->to_terminal_ours = child_terminal_ours;
-  t->to_terminal_info = child_terminal_info;
-  t->to_post_startup_inferior = inf_child_post_startup_inferior;
-  t->to_follow_fork = inf_child_follow_fork;
-  t->to_can_run = inf_child_can_run;
-  /* We must default these because they must be implemented by any
-     target that can run.  */
-  t->to_can_async_p = return_zero;
-  t->to_supports_non_stop = return_zero;
-  t->to_pid_to_exec_file = inf_child_pid_to_exec_file;
-  t->to_stratum = process_stratum;
-  t->to_has_all_memory = default_child_has_all_memory;
-  t->to_has_memory = default_child_has_memory;
-  t->to_has_stack = default_child_has_stack;
-  t->to_has_registers = default_child_has_registers;
-  t->to_has_execution = default_child_has_execution;
-  t->to_fileio_open = inf_child_fileio_open;
-  t->to_fileio_pwrite = inf_child_fileio_pwrite;
-  t->to_fileio_pread = inf_child_fileio_pread;
-  t->to_fileio_fstat = inf_child_fileio_fstat;
-  t->to_fileio_close = inf_child_fileio_close;
-  t->to_fileio_unlink = inf_child_fileio_unlink;
-  t->to_fileio_readlink = inf_child_fileio_readlink;
-  t->to_magic = OPS_MAGIC;
-  t->to_use_agent = inf_child_use_agent;
-  t->to_can_use_agent = inf_child_can_use_agent;
-
-  /* Store a pointer so we can push the most-derived target from
-     inf_child_open.  */
-  inf_child_ops = t;
+/* See inf-child.h.  */
 
-  return t;
+void
+add_inf_child_target (inf_child_target *target)
+{
+  set_native_target (target);
+  add_target (inf_child_target_info, inf_child_open_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inf-child.h ./gdb/inf-child.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inf-child.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/inf-child.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,33 +20,109 @@
 #ifndef INF_CHILD_H
 #define INF_CHILD_H
 
-/* Create a prototype child target.  The client can override it with
-   local methods.  */
+#include "target.h"
 
-extern struct target_ops *inf_child_target (void);
+/* A prototype child target.  The client can override it with local
+   methods.  */
+
+class inf_child_target
+  : public memory_breakpoint_target<target_ops>
+{
+public:
+  inf_child_target ();
+  ~inf_child_target () override = 0;
+
+  const target_info &info () const override;
+
+  void close () override;
+
+  void disconnect (const char *, int) override;
+
+  void fetch_registers (struct regcache *, int) override = 0;
+  void store_registers (struct regcache *, int) override = 0;
+
+  void prepare_to_store (struct regcache *) override;
+
+  bool supports_terminal_ours () override;
+  void terminal_init () override;
+  void terminal_inferior () override;
+  void terminal_ours_for_output () override;
+  void terminal_ours () override;
+  void terminal_info (const char *, int) override;
+
+  void interrupt () override;
+  void pass_ctrlc () override;
+
+  void post_startup_inferior (ptid_t) override;
+
+  void mourn_inferior () override;
+
+  bool can_run () override;
+
+  bool can_create_inferior () override;
+  void create_inferior (const char *, const std::string &,
+			char **, int) override = 0;
+
+  bool can_attach () override;
+  void attach (const char *, int) override = 0;
+
+  void post_attach (int) override;
+
+  /* We must default these because they must be implemented by any
+     target that can run.  */
+  bool can_async_p ()  override { return false; }
+  bool supports_non_stop ()  override { return false; }
+  bool supports_disable_randomization () override { return false; }
+
+  char *pid_to_exec_file (int pid) override;
+
+  bool has_all_memory () override;
+  bool has_memory () override;
+  bool has_stack () override;
+  bool has_registers () override;
+  bool has_execution (ptid_t) override;
+
+  int fileio_open (struct inferior *inf, const char *filename,
+		   int flags, int mode, int warn_if_slow,
+		   int *target_errno) override;
+  int fileio_pwrite (int fd, const gdb_byte *write_buf, int len,
+		     ULONGEST offset, int *target_errno) override;
+  int fileio_pread (int fd, gdb_byte *read_buf, int len,
+		    ULONGEST offset, int *target_errno) override;
+  int fileio_fstat (int fd, struct stat *sb, int *target_errno) override;
+  int fileio_close (int fd, int *target_errno) override;
+  int fileio_unlink (struct inferior *inf,
+		     const char *filename,
+		     int *target_errno) override;
+  gdb::optional<std::string> fileio_readlink (struct inferior *inf,
+					      const char *filename,
+					      int *target_errno) override;
+  bool use_agent (bool use) override;
+
+  bool can_use_agent () override;
+
+protected:
+  /* Unpush the target if it wasn't explicitly open with "target native"
+     and there are no live inferiors left.  Note: if calling this as a
+     result of a mourn or detach, the current inferior shall already
+     have its PID cleared, so it isn't counted as live.  That's usually
+     done by calling either generic_mourn_inferior or
+     detach_inferior.  */
+  void maybe_unpush_target ();
+};
 
 /* Functions for helping to write a native target.  */
 
 /* This is for native targets which use a unix/POSIX-style waitstatus.  */
 extern void store_waitstatus (struct target_waitstatus *, int);
 
-/* This is to be called by the native target's open routine to push
-   the target, in case it need to override to_open.  */
-
-extern void inf_child_open_target (struct target_ops *target,
-				   const char *arg, int from_tty);
-
-/* To be called by the native target's to_mourn_inferior routine.  */
-
-extern void inf_child_mourn_inferior (struct target_ops *ops);
-
-/* Unpush the target if it wasn't explicitly open with "target native"
-   and there are no live inferiors left.  Note: if calling this as a
-   result of a mourn or detach, the current inferior shall already
-   have its PID cleared, so it isn't counted as live.  That's usually
-   done by calling either generic_mourn_inferior or
-   detach_inferior.  */
-
-extern void inf_child_maybe_unpush_target (struct target_ops *ops);
+/* Register TARGET as native target and set it up to respond to the
+   "target native" command.  */
+extern void add_inf_child_target (inf_child_target *target);
+
+/* target_open_ftype callback for inf-child targets.  Used by targets
+   that want to register an alternative target_info object.  Most
+   targets use add_inf_child_target instead.  */
+extern void inf_child_open_target (const char *arg, int from_tty);
 
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/infcmd.c ./gdb/infcmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/infcmd.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/infcmd.c	2018-07-10 02:06:13.000000000 +0000
@@ -42,7 +42,7 @@
 #include "block.h"
 #include "solib.h"
 #include <ctype.h>
-#include "observer.h"
+#include "observable.h"
 #include "target-descriptions.h"
 #include "user-regs.h"
 #include "cli/cli-decode.h"
@@ -59,6 +59,7 @@
 #include "top.h"
 #include "interps.h"
 #include "common/gdb_optional.h"
+#include "source.h"
 
 /* Local functions: */
 
@@ -93,10 +94,6 @@ static char *inferior_io_terminal_scratc
 
 ptid_t inferior_ptid;
 
-/* Address at which inferior stopped.  */
-
-CORE_ADDR stop_pc;
-
 /* Nonzero if stopped due to completion of a stack dummy routine.  */
 
 enum stop_stack_kind stop_stack_dummy;
@@ -447,10 +444,12 @@ post_create_inferior (struct target_ops 
   /* Now that we know the register layout, retrieve current PC.  But
      if the PC is unavailable (e.g., we're opening a core file with
      missing registers info), ignore it.  */
-  stop_pc = 0;
+  thread_info *thr = inferior_thread ();
+
+  thr->suspend.stop_pc = 0;
   TRY
     {
-      stop_pc = regcache_read_pc (get_current_regcache ());
+      thr->suspend.stop_pc = regcache_read_pc (get_current_regcache ());
     }
   CATCH (ex, RETURN_MASK_ERROR)
     {
@@ -498,7 +497,7 @@ post_create_inferior (struct target_ops 
      if the now pushed target supports hardware watchpoints.  */
   breakpoint_re_set ();
 
-  observer_notify_inferior_created (target, from_tty);
+  gdb::observers::inferior_created.notify (target, from_tty);
 }
 
 /* Kill the inferior if already running.  This function is designed
@@ -509,7 +508,7 @@ post_create_inferior (struct target_ops 
 static void
 kill_if_already_running (int from_tty)
 {
-  if (! ptid_equal (inferior_ptid, null_ptid) && target_has_execution)
+  if (inferior_ptid != null_ptid && target_has_execution)
     {
       /* Bail out before killing the program if we will not be able to
 	 restart it.  */
@@ -530,7 +529,7 @@ prepare_execution_command (struct target
 {
   /* If we get a request for running in the bg but the target
      doesn't support it, error out.  */
-  if (background && !target->to_can_async_p (target))
+  if (background && !target->can_async_p ())
     error (_("Asynchronous execution not supported on this target."));
 
   if (!background)
@@ -564,8 +563,6 @@ static void
 run_command_1 (const char *args, int from_tty, enum run_how run_how)
 {
   const char *exec_file;
-  struct cleanup *old_chain;
-  ptid_t ptid;
   struct ui_out *uiout = current_uiout;
   struct target_ops *run_target;
   int async_exec;
@@ -601,7 +598,7 @@ run_command_1 (const char *args, int fro
 
   prepare_execution_command (run_target, async_exec);
 
-  if (non_stop && !run_target->to_supports_non_stop (run_target))
+  if (non_stop && !run_target->supports_non_stop ())
     error (_("The target does not support running in non-stop mode."));
 
   /* Done.  Can now set breakpoints, change inferior args, etc.  */
@@ -640,10 +637,10 @@ run_command_1 (const char *args, int fro
 
   /* We call get_inferior_args() because we might need to compute
      the value now.  */
-  run_target->to_create_inferior (run_target, exec_file,
-				  std::string (get_inferior_args ()),
-				  current_inferior ()->environment.envp (),
-				  from_tty);
+  run_target->create_inferior (exec_file,
+			       std::string (get_inferior_args ()),
+			       current_inferior ()->environment.envp (),
+			       from_tty);
   /* to_create_inferior should push the target, so after this point we
      shouldn't refer to run_target again.  */
   run_target = NULL;
@@ -654,15 +651,14 @@ run_command_1 (const char *args, int fro
      events --- the frontend shouldn't see them as stopped.  In
      all-stop, always finish the state of all threads, as we may be
      resuming more than just the new process.  */
-  if (non_stop)
-    ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
-  else
-    ptid = minus_one_ptid;
-  old_chain = make_cleanup (finish_thread_state_cleanup, &ptid);
+  ptid_t finish_ptid = (non_stop
+			? ptid_t (current_inferior ()->pid)
+			: minus_one_ptid);
+  scoped_finish_thread_state finish_state (finish_ptid);
 
   /* Pass zero for FROM_TTY, because at this point the "run" command
      has done its thing; now we are setting up the running program.  */
-  post_create_inferior (&current_target, 0);
+  post_create_inferior (current_top_target (), 0);
 
   /* Queue a pending event so that the program stops immediately.  */
   if (run_how == RUN_STOP_AT_FIRST_INSN)
@@ -679,7 +675,7 @@ run_command_1 (const char *args, int fro
 
   /* Since there was no error, there's no need to finish the thread
      states here.  */
-  discard_cleanups (old_chain);
+  finish_state.release ();
 }
 
 static void
@@ -725,10 +721,10 @@ proceed_thread_callback (struct thread_i
      much.  If/when GDB gains a way to tell the target `hold this
      thread stopped until I say otherwise', then we can optimize
      this.  */
-  if (!is_stopped (thread->ptid))
+  if (thread->state != THREAD_STOPPED)
     return 0;
 
-  switch_to_thread (thread->ptid);
+  switch_to_thread (thread);
   clear_proceed_status (0);
   proceed ((CORE_ADDR) -1, GDB_SIGNAL_DEFAULT);
   return 0;
@@ -737,8 +733,8 @@ proceed_thread_callback (struct thread_i
 static void
 ensure_valid_thread (void)
 {
-  if (ptid_equal (inferior_ptid, null_ptid)
-      || is_exited (inferior_ptid))
+  if (inferior_ptid == null_ptid
+      || inferior_thread ()->state == THREAD_EXITED)
     error (_("Cannot execute this command without a live selected thread."));
 }
 
@@ -767,7 +763,7 @@ error_is_running (void)
 static void
 ensure_not_running (void)
 {
-  if (is_running (inferior_ptid))
+  if (inferior_thread ()->state == THREAD_RUNNING)
     error_is_running ();
 }
 
@@ -857,7 +853,7 @@ continue_command (const char *args, int 
       struct thread_info *tp;
 
       if (non_stop)
-	tp = find_thread_ptid (inferior_ptid);
+	tp = inferior_thread ();
       else
 	{
 	  ptid_t last_ptid;
@@ -898,7 +894,7 @@ continue_command (const char *args, int 
       ensure_not_running ();
     }
 
-  prepare_execution_command (&current_target, async_exec);
+  prepare_execution_command (current_top_target (), async_exec);
 
   if (from_tty)
     printf_filtered (_("Continuing.\n"));
@@ -1045,7 +1041,7 @@ step_1 (int skip_subroutines, int single
     = strip_bg_char (count_string, &async_exec);
   count_string = stripped.get ();
 
-  prepare_execution_command (&current_target, async_exec);
+  prepare_execution_command (current_top_target (), async_exec);
 
   count = count_string ? parse_and_eval_long (count_string) : 1;
 
@@ -1150,7 +1146,7 @@ prepare_one_step (struct step_command_fs
 
 	  /* Step at an inlined function behaves like "down".  */
 	  if (!sm->skip_subroutines
-	      && inline_skipped_frames (inferior_ptid))
+	      && inline_skipped_frames (tp))
 	    {
 	      ptid_t resume_ptid;
 
@@ -1158,7 +1154,7 @@ prepare_one_step (struct step_command_fs
 	      resume_ptid = user_visible_resume_ptid (1);
 	      set_running (resume_ptid, 1);
 
-	      step_into_inline_frame (inferior_ptid);
+	      step_into_inline_frame (tp);
 	      sm->count--;
 	      return prepare_one_step (sm);
 	    }
@@ -1234,7 +1230,7 @@ jump_command (const char *arg, int from_
   gdb::unique_xmalloc_ptr<char> stripped = strip_bg_char (arg, &async_exec);
   arg = stripped.get ();
 
-  prepare_execution_command (&current_target, async_exec);
+  prepare_execution_command (current_top_target (), async_exec);
 
   if (!arg)
     error_no_arg (_("starting address"));
@@ -1314,7 +1310,7 @@ signal_command (const char *signum_exp, 
     = strip_bg_char (signum_exp, &async_exec);
   signum_exp = stripped.get ();
 
-  prepare_execution_command (&current_target, async_exec);
+  prepare_execution_command (current_top_target (), async_exec);
 
   if (!signum_exp)
     error_no_arg (_("signal number"));
@@ -1353,9 +1349,9 @@ signal_command (const char *signum_exp, 
 
       ALL_NON_EXITED_THREADS (tp)
 	{
-	  if (ptid_equal (tp->ptid, inferior_ptid))
+	  if (tp->ptid == inferior_ptid)
 	    continue;
-	  if (!ptid_match (tp->ptid, resume_ptid))
+	  if (!tp->ptid.matches (resume_ptid))
 	    continue;
 
 	  if (tp->suspend.stop_signal != GDB_SIGNAL_0
@@ -1587,7 +1583,7 @@ until_command (const char *arg, int from
   gdb::unique_xmalloc_ptr<char> stripped = strip_bg_char (arg, &async_exec);
   arg = stripped.get ();
 
-  prepare_execution_command (&current_target, async_exec);
+  prepare_execution_command (current_top_target (), async_exec);
 
   if (arg)
     until_break_command (arg, from_tty, 0);
@@ -1612,7 +1608,7 @@ advance_command (const char *arg, int fr
   gdb::unique_xmalloc_ptr<char> stripped = strip_bg_char (arg, &async_exec);
   arg = stripped.get ();
 
-  prepare_execution_command (&current_target, async_exec);
+  prepare_execution_command (current_top_target (), async_exec);
 
   until_break_command (arg, from_tty, 1);
 }
@@ -1624,8 +1620,8 @@ advance_command (const char *arg, int fr
 struct value *
 get_return_value (struct value *function, struct type *value_type)
 {
-  regcache stop_regs (regcache::readonly, *get_current_regcache ());
-  struct gdbarch *gdbarch = stop_regs.arch ();
+  regcache *stop_regs = get_current_regcache ();
+  struct gdbarch *gdbarch = stop_regs->arch ();
   struct value *value;
 
   value_type = check_typedef (value_type);
@@ -1645,7 +1641,7 @@ get_return_value (struct value *function
     case RETURN_VALUE_ABI_RETURNS_ADDRESS:
     case RETURN_VALUE_ABI_PRESERVES_ADDRESS:
       value = allocate_value (value_type);
-      gdbarch_return_value (gdbarch, function, value_type, &stop_regs,
+      gdbarch_return_value (gdbarch, function, value_type, stop_regs,
 			    value_contents_raw (value), NULL);
       break;
     case RETURN_VALUE_STRUCT_CONVENTION:
@@ -1689,7 +1685,7 @@ print_return_value_1 (struct ui_out *uio
       uiout->field_fmt ("gdb-result-var", "$%d",
 			 rv->value_history_index);
       uiout->text (" = ");
-      get_no_prettyformat_print_options (&opts);
+      get_user_print_options (&opts);
 
       string_file stb;
 
@@ -1992,7 +1988,7 @@ finish_command (const char *arg, int fro
   gdb::unique_xmalloc_ptr<char> stripped = strip_bg_char (arg, &async_exec);
   arg = stripped.get ();
 
-  prepare_execution_command (&current_target, async_exec);
+  prepare_execution_command (current_top_target (), async_exec);
 
   if (arg)
     error (_("The \"finish\" command does not take any arguments."));
@@ -2078,7 +2074,6 @@ info_program_command (const char *args, 
 {
   bpstat bs;
   int num, stat;
-  struct thread_info *tp;
   ptid_t ptid;
 
   if (!target_has_execution)
@@ -2096,18 +2091,22 @@ info_program_command (const char *args, 
       get_last_target_status (&ptid, &ws);
     }
 
-  if (ptid_equal (ptid, null_ptid) || is_exited (ptid))
+  if (ptid == null_ptid)
+    error (_("No selected thread."));
+
+  thread_info *tp = find_thread_ptid (ptid);
+
+  if (tp->state == THREAD_EXITED)
     error (_("Invalid selected thread."));
-  else if (is_running (ptid))
+  else if (tp->state == THREAD_RUNNING)
     error (_("Selected thread is running."));
 
-  tp = find_thread_ptid (ptid);
   bs = tp->control.stop_bpstat;
   stat = bpstat_num (&bs, &num);
 
   target_files_info ();
   printf_filtered (_("Program stopped at %s.\n"),
-		   paddress (target_gdbarch (), stop_pc));
+		   paddress (target_gdbarch (), tp->suspend.stop_pc));
   if (tp->control.stop_step)
     printf_filtered (_("It stopped after being stepped.\n"));
   else if (stat != 0)
@@ -2283,6 +2282,16 @@ path_command (const char *dirname, int f
 }
 
 
+static void
+pad_to_column (string_file &stream, int col)
+{
+  /* At least one space must be printed to separate columns.  */
+  stream.putc (' ');
+  const int size = stream.size ();
+  if (size < col)
+    stream.puts (n_spaces (col - size));
+}
+
 /* Print out the register NAME with value VAL, to FILE, in the default
    fashion.  */
 
@@ -2293,9 +2302,17 @@ default_print_one_register_info (struct 
 {
   struct type *regtype = value_type (val);
   int print_raw_format;
+  string_file format_stream;
+  enum tab_stops
+    {
+      value_column_1 = 15,
+      /* Give enough room for "0x", 16 hex digits and two spaces in
+         preceding column.  */
+      value_column_2 = value_column_1 + 2 + 16 + 2,
+    };
 
-  fputs_filtered (name, file);
-  print_spaces_filtered (15 - strlen (name), file);
+  format_stream.puts (name);
+  pad_to_column (format_stream, value_column_1);
 
   print_raw_format = (value_entirely_available (val)
 		      && !value_optimized_out (val));
@@ -2314,14 +2331,15 @@ default_print_one_register_info (struct 
 
       val_print (regtype,
 		 value_embedded_offset (val), 0,
-		 file, 0, val, &opts, current_language);
+		 &format_stream, 0, val, &opts, current_language);
 
       if (print_raw_format)
 	{
-	  fprintf_filtered (file, "\t(raw ");
-	  print_hex_chars (file, valaddr, TYPE_LENGTH (regtype), byte_order,
-			   true);
-	  fprintf_filtered (file, ")");
+	  pad_to_column (format_stream, value_column_2);
+	  format_stream.puts ("(raw ");
+	  print_hex_chars (&format_stream, valaddr, TYPE_LENGTH (regtype),
+			   byte_order, true);
+	  format_stream.putc (')');
 	}
     }
   else
@@ -2333,20 +2351,21 @@ default_print_one_register_info (struct 
       opts.deref_ref = 1;
       val_print (regtype,
 		 value_embedded_offset (val), 0,
-		 file, 0, val, &opts, current_language);
+		 &format_stream, 0, val, &opts, current_language);
       /* If not a vector register, print it also according to its
 	 natural format.  */
       if (print_raw_format && TYPE_VECTOR (regtype) == 0)
 	{
+	  pad_to_column (format_stream, value_column_2);
 	  get_user_print_options (&opts);
 	  opts.deref_ref = 1;
-	  fprintf_filtered (file, "\t");
 	  val_print (regtype,
 		     value_embedded_offset (val), 0,
-		     file, 0, val, &opts, current_language);
+		     &format_stream, 0, val, &opts, current_language);
 	}
     }
 
+  fputs_filtered (format_stream.c_str (), file);
   fprintf_filtered (file, "\n");
 }
 
@@ -2573,12 +2592,23 @@ kill_command (const char *arg, int from_
      It should be a distinct flag that indicates that a target is active, cuz
      some targets don't have processes!  */
 
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     error (_("The program is not being run."));
   if (!query (_("Kill the program being debugged? ")))
     error (_("Not confirmed."));
+
+  int pid = current_inferior ()->pid;
+  /* Save the pid as a string before killing the inferior, since that
+     may unpush the current target, and we need the string after.  */
+  std::string pid_str = target_pid_to_str (ptid_t (pid));
+  int infnum = current_inferior ()->num;
+
   target_kill ();
 
+  if (print_inferior_events)
+    printf_unfiltered (_("[Inferior %d (%s) killed]\n"),
+		       infnum, pid_str.c_str ());
+
   /* If we still have other inferiors to debug, then don't mess with
      with their threads.  */
   if (!have_inferiors ())
@@ -2608,13 +2638,13 @@ proceed_after_attach_callback (struct th
 {
   int pid = * (int *) arg;
 
-  if (ptid_get_pid (thread->ptid) == pid
-      && !is_exited (thread->ptid)
-      && !is_executing (thread->ptid)
+  if (thread->ptid.pid () == pid
+      && thread->state != THREAD_EXITED
+      && !thread->executing
       && !thread->stop_requested
       && thread->suspend.stop_signal == GDB_SIGNAL_0)
     {
-      switch_to_thread (thread->ptid);
+      switch_to_thread (thread);
       clear_proceed_status (0);
       proceed ((CORE_ADDR) -1, GDB_SIGNAL_DEFAULT);
     }
@@ -2647,7 +2677,7 @@ setup_inferior (int from_tty)
   /* If no exec file is yet known, try to determine it from the
      process itself.  */
   if (get_exec_file (0) == NULL)
-    exec_file_locate_attach (ptid_get_pid (inferior_ptid), 1, from_tty);
+    exec_file_locate_attach (inferior_ptid.pid (), 1, from_tty);
   else
     {
       reopen_exec_file ();
@@ -2655,9 +2685,9 @@ setup_inferior (int from_tty)
     }
 
   /* Take any necessary post-attaching actions for this platform.  */
-  target_post_attach (ptid_get_pid (inferior_ptid));
+  target_post_attach (inferior_ptid.pid ());
 
-  post_create_inferior (&current_target, from_tty);
+  post_create_inferior (current_top_target (), from_tty);
 }
 
 /* What to do after the first program stops after attaching.  */
@@ -2721,7 +2751,7 @@ attach_post_wait (const char *args, int 
 	 Be sure to explicitly stop all threads of the process.  This
 	 should have no effect on already stopped threads.  */
       if (non_stop)
-	target_stop (pid_to_ptid (inferior->pid));
+	target_stop (ptid_t (inferior->pid));
       else if (target_is_non_stop_p ())
 	{
 	  struct thread_info *thread;
@@ -2736,7 +2766,7 @@ attach_post_wait (const char *args, int 
 	     still exists.  */
 	  ALL_NON_EXITED_THREADS (thread)
 	    {
-	      if (ptid_get_pid (thread->ptid) == pid)
+	      if (thread->ptid.pid () == pid)
 		{
 		  if (thread->inf->num < lowest->inf->num
 		      || thread->per_inf_num < lowest->per_inf_num)
@@ -2744,7 +2774,7 @@ attach_post_wait (const char *args, int 
 		}
 	    }
 
-	  switch_to_thread (lowest->ptid);
+	  switch_to_thread (lowest);
 	}
 
       /* Tell the user/frontend where we're stopped.  */
@@ -2820,10 +2850,10 @@ attach_command (const char *args, int fr
 
   prepare_execution_command (attach_target, async_exec);
 
-  if (non_stop && !attach_target->to_supports_non_stop (attach_target))
+  if (non_stop && !attach_target->supports_non_stop ())
     error (_("Cannot attach to this target in non-stop mode"));
 
-  attach_target->to_attach (attach_target, args, from_tty);
+  attach_target->attach (args, from_tty);
   /* to_attach should push the target, so after this point we
      shouldn't refer to attach_target again.  */
   attach_target = NULL;
@@ -2867,14 +2897,14 @@ attach_command (const char *args, int fr
       else
 	/* The user requested an `attach', so stop all threads of this
 	   inferior.  */
-	target_stop (pid_to_ptid (ptid_get_pid (inferior_ptid)));
+	target_stop (ptid_t (inferior_ptid.pid ()));
     }
 
   mode = async_exec ? ATTACH_POST_WAIT_RESUME : ATTACH_POST_WAIT_STOP;
 
   /* Some system don't generate traps when attaching to inferior.
      E.g. Mach 3 or GNU hurd.  */
-  if (!target_attach_no_wait)
+  if (!target_attach_no_wait ())
     {
       struct attach_command_continuation_args *a;
 
@@ -2910,7 +2940,7 @@ attach_command (const char *args, int fr
    as stopped.  */
 
 void
-notice_new_inferior (ptid_t ptid, int leave_running, int from_tty)
+notice_new_inferior (thread_info *thr, int leave_running, int from_tty)
 {
   enum attach_post_wait_mode mode
     = leave_running ? ATTACH_POST_WAIT_RESUME : ATTACH_POST_WAIT_NOTHING;
@@ -2922,12 +2952,12 @@ notice_new_inferior (ptid_t ptid, int le
 
   /* Avoid reading registers -- we haven't fetched the target
      description yet.  */
-  switch_to_thread_no_regs (find_thread_ptid (ptid));
+  switch_to_thread_no_regs (thr);
 
   /* When we "notice" a new inferior we need to do all the things we
      would normally do if we had just attached to it.  */
 
-  if (is_executing (inferior_ptid))
+  if (thr->executing)
     {
       struct attach_command_continuation_args *a;
       struct inferior *inferior = current_inferior ();
@@ -2969,14 +2999,14 @@ detach_command (const char *args, int fr
 {
   dont_repeat ();		/* Not for the faint of heart.  */
 
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     error (_("The program is not being run."));
 
   query_if_trace_running (from_tty);
 
   disconnect_tracing ();
 
-  target_detach (args, from_tty);
+  target_detach (current_inferior (), from_tty);
 
   /* The current inferior process was just detached successfully.  Get
      rid of breakpoints that no longer make sense.  Note we don't do
@@ -3033,7 +3063,7 @@ interrupt_target_1 (int all_threads)
   if (non_stop)
     target_stop (ptid);
   else
-    target_interrupt (ptid);
+    target_interrupt ();
 
   /* Tag the thread as having been explicitly requested to stop, so
      other parts of gdb know not to resume this thread automatically,
@@ -3416,7 +3446,7 @@ Execution will also stop upon exit from 
 
   c = add_com ("jump", class_run, jump_command, _("\
 Continue program being debugged at specified line or address.\n\
-Usage: jump <location>\n\
+Usage: jump LOCATION\n\
 Give as argument either LINENUM or *ADDR, where ADDR is an expression\n\
 for an address to start at."));
   set_cmd_completer (c, location_completer);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inferior.c ./gdb/inferior.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inferior.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/inferior.c	2018-07-10 02:06:13.000000000 +0000
@@ -26,7 +26,7 @@
 #include "gdbcmd.h"
 #include "gdbthread.h"
 #include "ui-out.h"
-#include "observer.h"
+#include "observable.h"
 #include "gdbcore.h"
 #include "symfile.h"
 #include "environ.h"
@@ -45,9 +45,8 @@ DEFINE_REGISTRY (inferior, REGISTRY_ACCE
 struct inferior *inferior_list = NULL;
 static int highest_inferior_num;
 
-/* Print notices on inferior events (attach, detach, etc.), set with
-   `set print inferior-events'.  */
-static int print_inferior_events = 0;
+/* See inferior.h.  */
+int print_inferior_events = 1;
 
 /* The Current Inferior.  This is a strong reference.  I.e., whenever
    an inferior is the current inferior, its refcount is
@@ -109,7 +108,7 @@ add_inferior_silent (int pid)
       last->next = inf;
     }
 
-  observer_notify_inferior_added (inf);
+  gdb::observers::inferior_added.notify (inf);
 
   if (pid != 0)
     inferior_appeared (inf, pid);
@@ -123,7 +122,9 @@ add_inferior (int pid)
   struct inferior *inf = add_inferior_silent (pid);
 
   if (print_inferior_events)
-    printf_unfiltered (_("[New inferior %d]\n"), pid);
+    printf_unfiltered (_("[New inferior %d (%s)]\n"),
+		       inf->num,
+		       target_pid_to_str (ptid_t (pid)));
 
   return inf;
 }
@@ -140,12 +141,12 @@ delete_thread_of_inferior (struct thread
   struct delete_thread_of_inferior_arg *arg
     = (struct delete_thread_of_inferior_arg *) data;
 
-  if (ptid_get_pid (tp->ptid) == arg->pid)
+  if (tp->ptid.pid () == arg->pid)
     {
       if (arg->silent)
-	delete_thread_silent (tp->ptid);
+	delete_thread_silent (tp);
       else
-	delete_thread (tp->ptid);
+	delete_thread (tp);
     }
 
   return 0;
@@ -176,7 +177,7 @@ delete_inferior (struct inferior *todel)
   else
     inferior_list = inf->next;
 
-  observer_notify_inferior_removed (inf);
+  gdb::observers::inferior_removed.notify (inf);
 
   /* If this program space is rendered useless, remove it. */
   if (program_space_empty_p (inf->pspace))
@@ -206,7 +207,7 @@ exit_inferior_1 (struct inferior *inftoe
 
   iterate_over_threads (delete_thread_of_inferior, &arg);
 
-  observer_notify_inferior_exit (inf);
+  gdb::observers::inferior_exit.notify (inf);
 
   inf->pid = 0;
   inf->fake_pid_p = 0;
@@ -229,14 +230,10 @@ exit_inferior_1 (struct inferior *inftoe
 }
 
 void
-exit_inferior (int pid)
+exit_inferior (inferior *inf)
 {
-  struct inferior *inf = find_inferior_pid (pid);
-
+  int pid = inf->pid;
   exit_inferior_1 (inf, 0);
-
-  if (print_inferior_events)
-    printf_unfiltered (_("[Inferior %d exited]\n"), pid);
 }
 
 void
@@ -248,22 +245,25 @@ exit_inferior_silent (int pid)
 }
 
 void
-exit_inferior_num_silent (int num)
+exit_inferior_silent (inferior *inf)
 {
-  struct inferior *inf = find_inferior_id (num);
-
   exit_inferior_1 (inf, 1);
 }
 
+/* See inferior.h.  */
+
 void
-detach_inferior (int pid)
+detach_inferior (inferior *inf)
 {
-  struct inferior *inf = find_inferior_pid (pid);
+  /* Save the pid, since exit_inferior_1 will reset it.  */
+  int pid = inf->pid;
 
   exit_inferior_1 (inf, 0);
 
   if (print_inferior_events)
-    printf_unfiltered (_("[Inferior %d detached]\n"), pid);
+    printf_unfiltered (_("[Inferior %d (%s) detached]\n"),
+		       inf->num,
+		       target_pid_to_str (ptid_t (pid)));
 }
 
 void
@@ -273,7 +273,7 @@ inferior_appeared (struct inferior *inf,
   inf->has_exit_code = 0;
   inf->exit_code = 0;
 
-  observer_notify_inferior_appeared (inf);
+  gdb::observers::inferior_appeared.notify (inf);
 }
 
 void
@@ -284,7 +284,7 @@ discard_all_inferiors (void)
   for (inf = inferior_list; inf; inf = inf->next)
     {
       if (inf->pid != 0)
-	exit_inferior_silent (inf->pid);
+	exit_inferior_silent (inf);
     }
 }
 
@@ -322,7 +322,7 @@ find_inferior_pid (int pid)
 struct inferior *
 find_inferior_ptid (ptid_t ptid)
 {
-  return find_inferior_pid (ptid_get_pid (ptid));
+  return find_inferior_pid (ptid.pid ());
 }
 
 /* See inferior.h.  */
@@ -361,52 +361,6 @@ iterate_over_inferiors (int (*callback) 
 }
 
 int
-valid_gdb_inferior_id (int num)
-{
-  struct inferior *inf;
-
-  for (inf = inferior_list; inf; inf = inf->next)
-    if (inf->num == num)
-      return 1;
-
-  return 0;
-}
-
-int
-pid_to_gdb_inferior_id (int pid)
-{
-  struct inferior *inf;
-
-  for (inf = inferior_list; inf; inf = inf->next)
-    if (inf->pid == pid)
-      return inf->num;
-
-  return 0;
-}
-
-int
-gdb_inferior_id_to_pid (int num)
-{
-  struct inferior *inferior = find_inferior_id (num);
-  if (inferior)
-    return inferior->pid;
-  else
-    return -1;
-}
-
-int
-in_inferior_list (int pid)
-{
-  struct inferior *inf;
-
-  for (inf = inferior_list; inf; inf = inf->next)
-    if (inf->pid == pid)
-      return 1;
-
-  return 0;
-}
-
-int
 have_inferiors (void)
 {
   struct inferior *inf;
@@ -434,7 +388,7 @@ number_of_live_inferiors (void)
 	struct thread_info *tp;
 
 	ALL_NON_EXITED_THREADS (tp)
-	 if (tp && ptid_get_pid (tp->ptid) == inf->pid)
+	 if (tp && tp->ptid.pid () == inf->pid)
 	   if (target_has_execution_1 (tp->ptid))
 	     {
 	       /* Found a live thread in this inferior, go to the next
@@ -503,7 +457,7 @@ static const char *
 inferior_pid_to_str (int pid)
 {
   if (pid != 0)
-    return target_pid_to_str (pid_to_ptid (pid));
+    return target_pid_to_str (ptid_t (pid));
   else
     return _("<null>");
 }
@@ -600,8 +554,6 @@ print_inferior (struct ui_out *uiout, co
 static void
 detach_inferior_command (const char *args, int from_tty)
 {
-  struct thread_info *tp;
-
   if (!args || !*args)
     error (_("Requires argument (inferior id(s) to detach)"));
 
@@ -610,27 +562,27 @@ detach_inferior_command (const char *arg
     {
       int num = parser.get_number ();
 
-      if (!valid_gdb_inferior_id (num))
+      inferior *inf = find_inferior_id (num);
+      if (inf == NULL)
 	{
 	  warning (_("Inferior ID %d not known."), num);
 	  continue;
 	}
 
-      int pid = gdb_inferior_id_to_pid (num);
-      if (pid == 0)
+      if (inf->pid == 0)
 	{
 	  warning (_("Inferior ID %d is not running."), num);
 	  continue;
 	}
 
-      tp = any_thread_of_process (pid);
-      if (!tp)
+      thread_info *tp = any_thread_of_inferior (inf);
+      if (tp == NULL)
 	{
 	  warning (_("Inferior ID %d has no threads."), num);
 	  continue;
 	}
 
-      switch_to_thread (tp->ptid);
+      switch_to_thread (tp);
 
       detach_command (NULL, from_tty);
     }
@@ -639,8 +591,6 @@ detach_inferior_command (const char *arg
 static void
 kill_inferior_command (const char *args, int from_tty)
 {
-  struct thread_info *tp;
-
   if (!args || !*args)
     error (_("Requires argument (inferior id(s) to kill)"));
 
@@ -649,27 +599,27 @@ kill_inferior_command (const char *args,
     {
       int num = parser.get_number ();
 
-      if (!valid_gdb_inferior_id (num))
+      inferior *inf = find_inferior_id (num);
+      if (inf == NULL)
 	{
 	  warning (_("Inferior ID %d not known."), num);
 	  continue;
 	}
 
-      int pid = gdb_inferior_id_to_pid (num);
-      if (pid == 0)
+      if (inf->pid == 0)
 	{
 	  warning (_("Inferior ID %d is not running."), num);
 	  continue;
 	}
 
-      tp = any_thread_of_process (pid);
-      if (!tp)
+      thread_info *tp = any_thread_of_inferior (inf);
+      if (tp == NULL)
 	{
 	  warning (_("Inferior ID %d has no threads."), num);
 	  continue;
 	}
 
-      switch_to_thread (tp->ptid);
+      switch_to_thread (tp);
 
       target_kill ();
     }
@@ -691,18 +641,16 @@ inferior_command (const char *args, int 
 
   if (inf->pid != 0)
     {
-      if (inf->pid != ptid_get_pid (inferior_ptid))
+      if (inf != current_inferior ())
 	{
-	  struct thread_info *tp;
-
-	  tp = any_thread_of_process (inf->pid);
-	  if (!tp)
+	  thread_info *tp = any_thread_of_inferior (inf);
+	  if (tp == NULL)
 	    error (_("Inferior has no threads."));
 
-	  switch_to_thread (tp->ptid);
+	  switch_to_thread (tp);
 	}
 
-      observer_notify_user_selected_context_changed
+      gdb::observers::user_selected_context_changed.notify
 	(USER_SELECTED_INFERIOR
 	 | USER_SELECTED_THREAD
 	 | USER_SELECTED_FRAME);
@@ -710,10 +658,11 @@ inferior_command (const char *args, int 
   else
     {
       set_current_inferior (inf);
-      switch_to_thread (null_ptid);
+      switch_to_no_thread ();
       set_current_program_space (inf->pspace);
 
-      observer_notify_user_selected_context_changed (USER_SELECTED_INFERIOR);
+      gdb::observers::user_selected_context_changed.notify
+	(USER_SELECTED_INFERIOR);
     }
 }
 
@@ -773,7 +722,7 @@ add_inferior_with_spaces (void)
      doesn't really return a new address space; otherwise, it
      really does.  */
   aspace = maybe_new_address_space ();
-  pspace = add_program_space (aspace);
+  pspace = new program_space (aspace);
   inf = add_inferior (0);
   inf->pspace = pspace;
   inf->aspace = pspace->aspace;
@@ -843,7 +792,7 @@ add_inferior_command (const char *args, 
 	     symbols.q.  */
 	  set_current_program_space (inf->pspace);
 	  set_current_inferior (inf);
-	  switch_to_thread (null_ptid);
+	  switch_to_no_thread ();
 
 	  exec_file_attach (exec.get (), from_tty);
 	  symbol_file_add_main (exec.get (), add_flags);
@@ -917,7 +866,7 @@ clone_inferior_command (const char *args
 	 doesn't really return a new address space; otherwise, it
 	 really does.  */
       aspace = maybe_new_address_space ();
-      pspace = add_program_space (aspace);
+      pspace = new program_space (aspace);
       inf = add_inferior (0);
       inf->pspace = pspace;
       inf->aspace = pspace->aspace;
@@ -931,7 +880,7 @@ clone_inferior_command (const char *args
       printf_filtered (_("Added inferior %d.\n"), inf->num);
 
       set_current_inferior (inf);
-      switch_to_thread (null_ptid);
+      switch_to_no_thread ();
       clone_program_space (pspace, orginf->pspace);
     }
 }
@@ -977,19 +926,22 @@ initialize_inferiors (void)
      can only allocate an inferior when all those modules have done
      that.  Do this after initialize_progspace, due to the
      current_program_space reference.  */
-  current_inferior_ = add_inferior (0);
+  current_inferior_ = add_inferior_silent (0);
   current_inferior_->incref ();
   current_inferior_->pspace = current_program_space;
   current_inferior_->aspace = current_program_space->aspace;
   /* The architecture will be initialized shortly, by
      initialize_current_architecture.  */
 
-  add_info ("inferiors", info_inferiors_command, 
-	    _("IDs of specified inferiors (all inferiors if no argument)."));
+  add_info ("inferiors", info_inferiors_command,
+	    _("Print a list of inferiors being managed.\n\
+Usage: info inferiors [ID]...\n\
+If IDs are specified, the list is limited to just those inferiors.\n\
+By default all inferiors are displayed."));
 
   c = add_com ("add-inferior", no_class, add_inferior_command, _("\
 Add a new inferior.\n\
-Usage: add-inferior [-copies <N>] [-exec <FILENAME>]\n\
+Usage: add-inferior [-copies N] [-exec FILENAME]\n\
 N is the optional number of inferiors to add, default is 1.\n\
 FILENAME is the file name of the executable to use\n\
 as main program."));
@@ -1001,22 +953,25 @@ Usage: remove-inferiors ID..."));
 
   add_com ("clone-inferior", no_class, clone_inferior_command, _("\
 Clone inferior ID.\n\
-Usage: clone-inferior [-copies <N>] [ID]\n\
+Usage: clone-inferior [-copies N] [ID]\n\
 Add N copies of inferior ID.  The new inferior has the same\n\
 executable loaded as the copied inferior.  If -copies is not specified,\n\
 adds 1 copy.  If ID is not specified, it is the current inferior\n\
 that is cloned."));
 
   add_cmd ("inferiors", class_run, detach_inferior_command, _("\
-Detach from inferior ID (or list of IDS)."),
+Detach from inferior ID (or list of IDS).\n\
+Usage; detach inferiors ID..."),
 	   &detachlist);
 
   add_cmd ("inferiors", class_run, kill_inferior_command, _("\
-Kill inferior ID (or list of IDs)."),
+Kill inferior ID (or list of IDs).\n\
+Usage: kill inferiors ID..."),
 	   &killlist);
 
   add_cmd ("inferior", class_run, inferior_command, _("\
 Use this command to switch between inferiors.\n\
+Usage: inferior ID\n\
 The new inferior ID must be currently known."),
 	   &cmdlist);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inferior.h ./gdb/inferior.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inferior.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/inferior.h	2018-07-10 02:06:13.000000000 +0000
@@ -32,6 +32,7 @@ struct terminal_info;
 struct target_desc_info;
 struct continuation;
 struct inferior;
+struct thread_info;
 
 /* For bpstat.  */
 #include "breakpoint.h"
@@ -70,7 +71,7 @@ extern struct cleanup *make_cleanup_rest
 extern void discard_infcall_suspend_state (struct infcall_suspend_state *);
 extern void discard_infcall_control_state (struct infcall_control_state *);
 
-extern struct regcache *
+extern readonly_detached_regcache *
   get_infcall_suspend_state_regcache (struct infcall_suspend_state *);
 
 extern void set_sigint_trap (void);
@@ -83,7 +84,7 @@ extern void set_inferior_io_terminal (co
 extern const char *get_inferior_io_terminal (void);
 
 /* Collected pid, tid, etc. of the debugged inferior.  When there's
-   no inferior, ptid_get_pid (inferior_ptid) will be 0.  */
+   no inferior, inferior_ptid.pid () will be 0.  */
 
 extern ptid_t inferior_ptid;
 
@@ -129,10 +130,16 @@ extern void child_terminal_ours_for_outp
 
 extern void child_terminal_inferior (struct target_ops *self);
 
+extern void child_terminal_save_inferior (struct target_ops *self);
+
 extern void child_terminal_init (struct target_ops *self);
 
 extern void child_terminal_init_with_pgrp (int pgrp);
 
+extern void child_pass_ctrlc (struct target_ops *self);
+
+extern void child_interrupt (struct target_ops *self);
+
 /* From fork-child.c */
 
 /* Helper function to call STARTUP_INFERIOR with PID and NUM_TRAPS.
@@ -170,7 +177,7 @@ extern void delete_longjmp_breakpoint_cl
 
 extern void detach_command (const char *, int);
 
-extern void notice_new_inferior (ptid_t, int, int);
+extern void notice_new_inferior (struct thread_info *, int, int);
 
 extern struct value *get_return_value (struct value *function,
 				       struct type *value_type);
@@ -201,10 +208,6 @@ extern void prepare_execution_command (s
    the target is started up with a shell.  */
 extern int startup_with_shell;
 
-/* Address at which inferior stopped.  */
-
-extern CORE_ADDR stop_pc;
-
 /* Nonzero if stopped due to completion of a stack dummy routine.  */
 
 extern enum stop_stack_kind stop_stack_dummy;
@@ -214,6 +217,10 @@ extern enum stop_stack_kind stop_stack_d
 
 extern int stopped_by_random_signal;
 
+/* Print notices on inferior events (attach, detach, etc.), set with
+   `set print inferior-events'.  */
+extern int print_inferior_events;
+
 /* STEP_OVER_ALL means step over all subroutine calls.
    STEP_OVER_UNDEBUGGABLE means step over calls to undebuggable functions.
    STEP_OVER_NONE means don't step over any subroutine calls.  */
@@ -367,6 +374,10 @@ public:
   /* The name of terminal device to use for I/O.  */
   char *terminal = NULL;
 
+  /* The terminal state as set by the last target_terminal::terminal_*
+     call.  */
+  target_terminal_state terminal_state = target_terminal_state::is_ours;
+
   /* Environment to use for running inferior,
      in format described in environ.h.  */
   gdb_environ environment;
@@ -458,11 +469,11 @@ extern struct inferior *add_inferior_sil
 extern void delete_inferior (struct inferior *todel);
 
 /* Delete an existing inferior list entry, due to inferior detaching.  */
-extern void detach_inferior (int pid);
+extern void detach_inferior (inferior *inf);
 
-extern void exit_inferior (int pid);
+extern void exit_inferior (inferior *inf);
 
-extern void exit_inferior_silent (int pid);
+extern void exit_inferior_silent (inferior *inf);
 
 extern void exit_inferior_num_silent (int num);
 
@@ -471,21 +482,6 @@ extern void inferior_appeared (struct in
 /* Get rid of all inferiors.  */
 extern void discard_all_inferiors (void);
 
-/* Translate the integer inferior id (GDB's homegrown id, not the system's)
-   into a "pid" (which may be overloaded with extra inferior information).  */
-extern int gdb_inferior_id_to_pid (int);
-
-/* Translate a target 'pid' into the integer inferior id (GDB's
-   homegrown id, not the system's).  */
-extern int pid_to_gdb_inferior_id (int pid);
-
-/* Boolean test for an already-known pid.  */
-extern int in_inferior_list (int pid);
-
-/* Boolean test for an already-known inferior id (GDB's homegrown id,
-   not the system's).  */
-extern int valid_gdb_inferior_id (int num);
-
 /* Search function to lookup an inferior by target 'pid'.  */
 extern struct inferior *find_inferior_pid (int pid);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inf-loop.c ./gdb/inf-loop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inf-loop.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/inf-loop.c	2018-07-10 02:06:13.000000000 +0000
@@ -29,7 +29,7 @@
 #include "continuations.h"
 #include "interps.h"
 #include "top.h"
-#include "observer.h"
+#include "observable.h"
 
 /* General function to handle events in the inferior.  */
 
@@ -55,7 +55,7 @@ inferior_event_handler (enum inferior_ev
 
       /* Do all continuations associated with the whole inferior (not
 	 a particular thread).  */
-      if (!ptid_equal (inferior_ptid, null_ptid))
+      if (inferior_ptid != null_ptid)
 	do_all_inferior_continuations (0);
 
       /* When running a command list (from a user command, say), these
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inflow.c ./gdb/inflow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inflow.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/inflow.c	2018-07-10 02:06:13.000000000 +0000
@@ -24,7 +24,7 @@
 #include "terminal.h"
 #include "target.h"
 #include "gdbthread.h"
-#include "observer.h"
+#include "observable.h"
 #include <signal.h>
 #include <fcntl.h>
 #include "gdb_select.h"
@@ -46,7 +46,7 @@
 
 static void pass_signal (int);
 
-static void child_terminal_ours_1 (int);
+static void child_terminal_ours_1 (target_terminal_state);
 
 /* Record terminal status separately for debugger and inferior.  */
 
@@ -54,8 +54,8 @@ static struct serial *stdin_serial;
 
 /* Terminal related info we need to keep track of.  Each inferior
    holds an instance of this structure --- we save it whenever the
-   corresponding inferior stops, and restore it to the foreground
-   inferior when it resumes.  */
+   corresponding inferior stops, and restore it to the terminal when
+   the inferior is resumed in the foreground.  */
 struct terminal_info
 {
   /* The name of the tty (from the `tty' command) that we gave to the
@@ -63,11 +63,23 @@ struct terminal_info
   char *run_terminal;
 
   /* TTY state.  We save it whenever the inferior stops, and restore
-     it when it resumes.  */
+     it when it resumes in the foreground.  */
   serial_ttystate ttystate;
 
 #ifdef HAVE_TERMIOS_H
-  /* Process group.  Saved and restored just like ttystate.  */
+  /* The terminal's foreground process group.  Saved whenever the
+     inferior stops.  This is the pgrp displayed by "info terminal".
+     Note that this may be not the inferior's actual process group,
+     since each inferior that we spawn has its own process group, and
+     only one can be in the foreground at a time.  When the inferior
+     resumes, if we can determine the inferior's actual pgrp, then we
+     make that the foreground pgrp instead of what was saved here.
+     While it's a bit arbitrary which inferior's pgrp ends up in the
+     foreground when we resume several inferiors, this at least makes
+     'resume inf1+inf2' + 'stop all' + 'resume inf2' end up with
+     inf2's pgrp in the foreground instead of inf1's (which would be
+     problematic since it would be left stopped: Ctrl-C wouldn't work,
+     for example).  */
   pid_t process_group;
 #endif
 
@@ -120,17 +132,6 @@ private:
 #endif
 };
 
-#ifdef HAVE_TERMIOS_H
-
-/* Return the process group of the current inferior.  */
-
-pid_t
-inferior_process_group (void)
-{
-  return get_inflow_inferior_data (current_inferior ())->process_group;
-}
-#endif
-
 /* While the inferior is running, we want SIGINT and SIGQUIT to go to the
    inferior only.  If we have job control, that takes care of it.  If not,
    we save our handlers in these two variables and set SIGINT and SIGQUIT
@@ -146,11 +147,17 @@ static sighandler_t sigquit_ours;
    fork_inferior, while forking a new child.  */
 static const char *inferior_thisrun_terminal;
 
-/* Nonzero if our terminal settings are in effect.  Zero if the
-   inferior's settings are in effect.  Ignored if !gdb_has_a_terminal
-   ().  */
-
-int terminal_is_ours;
+/* Track who owns GDB's terminal (is it GDB or some inferior?).  While
+   target_terminal::is_ours() etc. tracks the core's intention and is
+   independent of the target backend, this tracks the actual state of
+   GDB's own tty.  So for example,
+
+     (target_terminal::is_inferior () && gdb_tty_state == terminal_is_ours)
+
+   is true when the (native) inferior is not sharing a terminal with
+   GDB (e.g., because we attached to an inferior that is running on a
+   different terminal).  */
+static target_terminal_state gdb_tty_state = target_terminal_state::is_ours;
 
 /* See terminal.h.  */
 
@@ -196,29 +203,21 @@ gdb_has_a_terminal (void)
 void
 child_terminal_init (struct target_ops *self)
 {
-  struct inferior *inf = current_inferior ();
-  struct terminal_info *tinfo = get_inflow_inferior_data (inf);
+  if (!gdb_has_a_terminal ())
+    return;
+
+  inferior *inf = current_inferior ();
+  terminal_info *tinfo = get_inflow_inferior_data (inf);
 
 #ifdef HAVE_TERMIOS_H
-  /* Store the process group even without a terminal as it is used not
-     only to reset the tty foreground process group, but also to
-     interrupt the inferior.  A child we spawn should be a process
-     group leader (PGID==PID) at this point, though that may not be
-     true if we're attaching to an existing process.  */
+  /* A child we spawn should be a process group leader (PGID==PID) at
+     this point, though that may not be true if we're attaching to an
+     existing process.  */
   tinfo->process_group = inf->pid;
 #endif
 
-  if (gdb_has_a_terminal ())
-    {
-      xfree (tinfo->ttystate);
-      tinfo->ttystate = serial_copy_tty_state (stdin_serial,
-					       initial_gdb_ttystate);
-
-      /* Make sure that next time we call terminal_inferior (which will be
-         before the program runs, as it needs to be), we install the new
-         process group.  */
-      terminal_is_ours = 1;
-    }
+  xfree (tinfo->ttystate);
+  tinfo->ttystate = serial_copy_tty_state (stdin_serial, initial_gdb_ttystate);
 }
 
 /* Save the terminal settings again.  This is necessary for the TUI
@@ -235,31 +234,137 @@ gdb_save_tty_state (void)
     }
 }
 
-/* Put the inferior's terminal settings into effect.
-   This is preparation for starting or resuming the inferior.
+/* Try to determine whether TTY is GDB's input terminal.  Returns
+   TRIBOOL_UNKNOWN if we can't tell.  */
 
-   N.B. Targets that want to use this with async support must build that
-   support on top of this (e.g., the caller still needs to remove stdin
-   from the event loop).  E.g., see linux_nat_terminal_inferior.  */
+static tribool
+is_gdb_terminal (const char *tty)
+{
+  struct stat gdb_tty;
+  struct stat other_tty;
+  int res;
+
+  res = stat (tty, &other_tty);
+  if (res == -1)
+    return TRIBOOL_UNKNOWN;
+
+  res = fstat (STDIN_FILENO, &gdb_tty);
+  if (res == -1)
+    return TRIBOOL_UNKNOWN;
+
+  return ((gdb_tty.st_dev == other_tty.st_dev
+	   && gdb_tty.st_ino == other_tty.st_ino)
+	  ? TRIBOOL_TRUE
+	  : TRIBOOL_FALSE);
+}
+
+/* Helper for sharing_input_terminal.  Try to determine whether
+   inferior INF is using the same TTY for input as GDB is.  Returns
+   TRIBOOL_UNKNOWN if we can't tell.  */
+
+static tribool
+sharing_input_terminal_1 (inferior *inf)
+{
+  /* Using host-dependent code here is fine, because the
+     child_terminal_foo functions are meant to be used by child/native
+     targets.  */
+#if defined (__linux__) || defined (__sun__)
+  char buf[100];
+
+  xsnprintf (buf, sizeof (buf), "/proc/%d/fd/0", inf->pid);
+  return is_gdb_terminal (buf);
+#else
+  return TRIBOOL_UNKNOWN;
+#endif
+}
+
+/* Return true if the inferior is using the same TTY for input as GDB
+   is.  If this is true, then we save/restore terminal flags/state.
+
+   This is necessary because if inf->attach_flag is set, we don't
+   offhand know whether we are sharing a terminal with the inferior or
+   not.  Attaching a process without a terminal is one case where we
+   do not; attaching a process which we ran from the same shell as GDB
+   via `&' is one case where we do.
+
+   If we can't determine, we assume the TTY is being shared.  This
+   works OK if you're only debugging one inferior.  However, if you're
+   debugging more than one inferior, and e.g., one is spawned by GDB
+   with "run" (sharing terminal with GDB), and another is attached to
+   (and running on a different terminal, as is most common), then it
+   matters, because we can only restore the terminal settings of one
+   of the inferiors, and in that scenario, we want to restore the
+   settings of the "run"'ed inferior.
+
+   Note, this is not the same as determining whether GDB and the
+   inferior are in the same session / connected to the same
+   controlling tty.  An inferior (fork child) may call setsid,
+   disconnecting itself from the ctty, while still leaving
+   stdin/stdout/stderr associated with the original terminal.  If
+   we're debugging that process, we should also save/restore terminal
+   settings.  */
+
+static bool
+sharing_input_terminal (inferior *inf)
+{
+  terminal_info *tinfo = get_inflow_inferior_data (inf);
+
+  tribool res = sharing_input_terminal_1 (inf);
+
+  if (res == TRIBOOL_UNKNOWN)
+    {
+      /* As fallback, if we can't determine by stat'ing the inferior's
+	 tty directly (because it's not supported on this host) and
+	 the child was spawned, check whether run_terminal is our tty.
+	 This isn't ideal, since this is checking the child's
+	 controlling terminal, not the input terminal (which may have
+	 been redirected), but is still better than nothing.  A false
+	 positive ("set inferior-tty" points to our terminal, but I/O
+	 was redirected) is much more likely than a false negative
+	 ("set inferior-tty" points to some other terminal, and then
+	 output was redirected to our terminal), and with a false
+	 positive we just end up trying to save/restore terminal
+	 settings when we didn't need to or we actually can't.  */
+      if (tinfo->run_terminal != NULL)
+	res = is_gdb_terminal (tinfo->run_terminal);
+
+      /* If we still can't determine, assume yes.  */
+      if (res == TRIBOOL_UNKNOWN)
+	return true;
+    }
+
+  return res == TRIBOOL_TRUE;
+}
+
+/* Put the inferior's terminal settings into effect.  This is
+   preparation for starting or resuming the inferior.  */
 
 void
 child_terminal_inferior (struct target_ops *self)
 {
-  struct inferior *inf;
-  struct terminal_info *tinfo;
-
-  if (!terminal_is_ours)
+  /* If we resume more than one inferior in the foreground on GDB's
+     terminal, then the first inferior's terminal settings "win".
+     Note that every child process is put in its own process group, so
+     the first process that ends up resumed ends up determining which
+     process group the kernel forwards Ctrl-C/Ctrl-Z (SIGINT/SIGTTOU)
+     to.  */
+  if (gdb_tty_state == target_terminal_state::is_inferior)
     return;
 
-  inf = current_inferior ();
-  tinfo = get_inflow_inferior_data (inf);
+  inferior *inf = current_inferior ();
+  terminal_info *tinfo = get_inflow_inferior_data (inf);
 
   if (gdb_has_a_terminal ()
       && tinfo->ttystate != NULL
-      && tinfo->run_terminal == NULL)
+      && sharing_input_terminal (inf))
     {
       int result;
 
+      /* Ignore SIGTTOU since it will happen when we try to set the
+	 terminal's state (if gdb_tty_state is currently
+	 ours_for_output).  */
+      scoped_ignore_sigttou ignore_sigttou;
+
 #ifdef F_GETFL
       result = fcntl (0, F_SETFL, tinfo->tflags);
       OOPSY ("fcntl F_SETFL");
@@ -276,28 +381,40 @@ child_terminal_inferior (struct target_o
 #endif
 	}
 
-      /* If attach_flag is set, we don't know whether we are sharing a
-         terminal with the inferior or not.  (attaching a process
-         without a terminal is one case where we do not; attaching a
-         process which we ran from the same shell as GDB via `&' is
-         one case where we do, I think (but perhaps this is not
-         `sharing' in the sense that we need to save and restore tty
-         state)).  I don't know if there is any way to tell whether we
-         are sharing a terminal.  So what we do is to go through all
-         the saving and restoring of the tty state, but ignore errors
-         setting the process group, which will happen if we are not
-         sharing a terminal).  */
-
       if (job_control)
 	{
 #ifdef HAVE_TERMIOS_H
+	  /* If we can't tell the inferior's actual process group,
+	     then restore whatever was the foreground pgrp the last
+	     time the inferior was running.  See also comments
+	     describing terminal_state::process_group.  */
+#ifdef HAVE_GETPGID
+	  result = tcsetpgrp (0, getpgid (inf->pid));
+#else
 	  result = tcsetpgrp (0, tinfo->process_group);
-	  if (!inf->attach_flag)
-	    OOPSY ("tcsetpgrp");
+#endif
+	  if (result == -1)
+	    {
+#if 0
+	      /* This fails if either GDB has no controlling terminal,
+		 e.g., running under 'setsid(1)', or if the inferior
+		 is not attached to GDB's controlling terminal.  E.g.,
+		 if it called setsid to create a new session or used
+		 the TIOCNOTTY ioctl, or simply if we've attached to a
+		 process running on another terminal and we couldn't
+		 tell whether it was sharing GDB's terminal (and so
+		 assumed yes).  */
+	      fprintf_unfiltered
+		(gdb_stderr,
+		 "[tcsetpgrp failed in child_terminal_inferior: %s]\n",
+		 safe_strerror (errno));
+#endif
+	    }
 #endif
 	}
+
+      gdb_tty_state = target_terminal_state::is_inferior;
     }
-  terminal_is_ours = 0;
 }
 
 /* Put some of our terminal settings into effect,
@@ -314,7 +431,7 @@ child_terminal_inferior (struct target_o
 void
 child_terminal_ours_for_output (struct target_ops *self)
 {
-  child_terminal_ours_1 (1);
+  child_terminal_ours_1 (target_terminal_state::is_ours_for_output);
 }
 
 /* Put our terminal settings into effect.
@@ -328,35 +445,52 @@ child_terminal_ours_for_output (struct t
 void
 child_terminal_ours (struct target_ops *self)
 {
-  child_terminal_ours_1 (0);
+  child_terminal_ours_1 (target_terminal_state::is_ours);
 }
 
-/* output_only is not used, and should not be used unless we introduce
-   separate terminal_is_ours and terminal_is_ours_for_output
-   flags.  */
+/* Save the current terminal settings in the inferior's terminal_info
+   cache.  */
 
-static void
-child_terminal_ours_1 (int output_only)
+void
+child_terminal_save_inferior (struct target_ops *self)
 {
-  struct inferior *inf;
-  struct terminal_info *tinfo;
+  /* Avoid attempting all the ioctl's when running in batch.  */
+  if (!gdb_has_a_terminal ())
+    return;
 
-  if (terminal_is_ours)
+  inferior *inf = current_inferior ();
+  terminal_info *tinfo = get_inflow_inferior_data (inf);
+
+  /* No need to save/restore if the inferior is not sharing GDB's
+     tty.  */
+  if (!sharing_input_terminal (inf))
     return;
 
-  terminal_is_ours = 1;
+  xfree (tinfo->ttystate);
+  tinfo->ttystate = serial_get_tty_state (stdin_serial);
 
-  /* Checking inferior->run_terminal is necessary so that
-     if GDB is running in the background, it won't block trying
-     to do the ioctl()'s below.  Checking gdb_has_a_terminal
-     avoids attempting all the ioctl's when running in batch.  */
+#ifdef HAVE_TERMIOS_H
+  tinfo->process_group = tcgetpgrp (0);
+#endif
 
-  inf = current_inferior ();
-  tinfo = get_inflow_inferior_data (inf);
+#ifdef F_GETFL
+  tinfo->tflags = fcntl (0, F_GETFL, 0);
+#endif
+}
+
+/* Switch terminal state to DESIRED_STATE, either is_ours, or
+   is_ours_for_output.  */
 
-  if (tinfo->run_terminal != NULL || gdb_has_a_terminal () == 0)
+static void
+child_terminal_ours_1 (target_terminal_state desired_state)
+{
+  gdb_assert (desired_state != target_terminal_state::is_inferior);
+
+  /* Avoid attempting all the ioctl's when running in batch.  */
+  if (!gdb_has_a_terminal ())
     return;
-  else
+
+  if (gdb_tty_state != desired_state)
     {
       int result ATTRIBUTE_UNUSED;
 
@@ -364,21 +498,13 @@ child_terminal_ours_1 (int output_only)
 	 terminal's pgrp.  */
       scoped_ignore_sigttou ignore_sigttou;
 
-      xfree (tinfo->ttystate);
-      tinfo->ttystate = serial_get_tty_state (stdin_serial);
-
-#ifdef HAVE_TERMIOS_H
-      if (!inf->attach_flag)
-	/* If tcsetpgrp failed in terminal_inferior, this would give us
-	   our process group instead of the inferior's.  See
-	   terminal_inferior for details.  */
-	tinfo->process_group = tcgetpgrp (0);
-#endif
-
       /* Set tty state to our_ttystate.  */
       serial_set_tty_state (stdin_serial, our_terminal_info.ttystate);
 
-      if (job_control)
+      /* If we only want output, then leave the inferior's pgrp in the
+	 foreground, so that Ctrl-C/Ctrl-Z reach the inferior
+	 directly.  */
+      if (job_control && desired_state == target_terminal_state::is_ours)
 	{
 #ifdef HAVE_TERMIOS_H
 	  result = tcsetpgrp (0, our_terminal_info.process_group);
@@ -395,7 +521,7 @@ child_terminal_ours_1 (int output_only)
 #endif /* termios */
 	}
 
-      if (!job_control)
+      if (!job_control && desired_state == target_terminal_state::is_ours)
 	{
 	  signal (SIGINT, sigint_ours);
 #ifdef SIGQUIT
@@ -404,12 +530,98 @@ child_terminal_ours_1 (int output_only)
 	}
 
 #ifdef F_GETFL
-      tinfo->tflags = fcntl (0, F_GETFL, 0);
       result = fcntl (0, F_SETFL, our_terminal_info.tflags);
 #endif
+
+      gdb_tty_state = desired_state;
     }
 }
 
+/* Interrupt the inferior.  Implementation of target_interrupt for
+   child/native targets.  */
+
+void
+child_interrupt (struct target_ops *self)
+{
+  /* Interrupt the first inferior that has a resumed thread.  */
+  thread_info *thr;
+  thread_info *resumed = NULL;
+  ALL_NON_EXITED_THREADS (thr)
+    {
+      if (thr->executing)
+	{
+	  resumed = thr;
+	  break;
+	}
+      if (thr->suspend.waitstatus_pending_p)
+	resumed = thr;
+    }
+
+  if (resumed != NULL)
+    {
+      /* Note that unlike pressing Ctrl-C on the controlling terminal,
+	 here we only interrupt one process, not the whole process
+	 group.  This is because interrupting a process group (with
+	 either Ctrl-C or with kill(3) with negative PID) sends a
+	 SIGINT to each process in the process group, and we may not
+	 be debugging all processes in the process group.  */
+#ifndef _WIN32
+      kill (resumed->inf->pid, SIGINT);
+#endif
+    }
+}
+
+/* Pass a Ctrl-C to the inferior as-if a Ctrl-C was pressed while the
+   inferior was in the foreground.  Implementation of
+   target_pass_ctrlc for child/native targets.  */
+
+void
+child_pass_ctrlc (struct target_ops *self)
+{
+  gdb_assert (!target_terminal::is_ours ());
+
+#ifdef HAVE_TERMIOS_H
+  if (job_control)
+    {
+      pid_t term_pgrp = tcgetpgrp (0);
+
+      /* If there's any inferior sharing our terminal, pass the SIGINT
+	 to the terminal's foreground process group.  This acts just
+	 like the user typed a ^C on the terminal while the inferior
+	 was in the foreground.  Note that using a negative process
+	 number in kill() is a System V-ism.  The proper BSD interface
+	 is killpg().  However, all modern BSDs support the System V
+	 interface too.  */
+
+      if (term_pgrp != -1 && term_pgrp != our_terminal_info.process_group)
+	{
+	  kill (-term_pgrp, SIGINT);
+	  return;
+	}
+    }
+#endif
+
+  /* Otherwise, pass the Ctrl-C to the first inferior that was resumed
+     in the foreground.  */
+  inferior *inf;
+  ALL_INFERIORS (inf)
+    {
+      if (inf->terminal_state != target_terminal_state::is_ours)
+	{
+	  gdb_assert (inf->pid != 0);
+
+#ifndef _WIN32
+	  kill (inf->pid, SIGINT);
+#endif
+	  return;
+	}
+    }
+
+  /* If no inferior was resumed in the foreground, then how did the
+     !is_ours assert above pass?  */
+  gdb_assert_not_reached ("no inferior resumed in the fg found");
+}
+
 /* Per-inferior data key.  */
 static const struct inferior_data *inflow_inferior_data;
 
@@ -452,6 +664,8 @@ inflow_inferior_exit (struct inferior *i
 {
   struct terminal_info *info;
 
+  inf->terminal_state = target_terminal_state::is_ours;
+
   info = (struct terminal_info *) inferior_data (inf, inflow_inferior_data);
   if (info != NULL)
     {
@@ -482,6 +696,8 @@ copy_terminal_info (struct inferior *to,
   if (tinfo_from->ttystate)
     tinfo_to->ttystate
       = serial_copy_tty_state (stdin_serial, tinfo_from->ttystate);
+
+  to->terminal_state = from->terminal_state;
 }
 
 void
@@ -502,7 +718,7 @@ child_terminal_info (struct target_ops *
       return;
     }
 
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     return;
 
   inf = current_inferior ();
@@ -692,7 +908,7 @@ static void
 pass_signal (int signo)
 {
 #ifndef _WIN32
-  kill (ptid_get_pid (inferior_ptid), SIGINT);
+  kill (inferior_ptid.pid (), SIGINT);
 #endif
 }
 
@@ -770,12 +986,10 @@ _initialize_inflow (void)
   add_info ("terminal", info_terminal_command,
 	    _("Print inferior's saved terminal status."));
 
-  terminal_is_ours = 1;
-
   /* OK, figure out whether we have job control.  */
   have_job_control ();
 
-  observer_attach_inferior_exit (inflow_inferior_exit);
+  gdb::observers::inferior_exit.attach (inflow_inferior_exit);
 
   inflow_inferior_data
     = register_inferior_data_with_cleanup (NULL, inflow_inferior_data_cleanup);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inflow.h ./gdb/inflow.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inflow.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/inflow.h	2018-07-10 02:06:13.000000000 +0000
@@ -22,9 +22,4 @@
 
 #include <unistd.h>
 
-/* Process group of the current inferior.  */
-#ifdef HAVE_TERMIOS_H
-extern pid_t inferior_process_group (void);
-#endif
-
 #endif /* inflow.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inf-ptrace.c ./gdb/inf-ptrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inf-ptrace.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/inf-ptrace.c	2018-07-10 02:06:13.000000000 +0000
@@ -36,19 +36,37 @@
 
 
 
+/* A unique_ptr helper to unpush a target.  */
+
+struct target_unpusher
+{
+  void operator() (struct target_ops *ops) const
+  {
+    unpush_target (ops);
+  }
+};
+
+/* A unique_ptr that unpushes a target on destruction.  */
+
+typedef std::unique_ptr<struct target_ops, target_unpusher> target_unpush_up;
+
+
+
+inf_ptrace_target::~inf_ptrace_target ()
+{}
+
 #ifdef PT_GET_PROCESS_STATE
 
 /* Target hook for follow_fork.  On entry and at return inferior_ptid is
    the ptid of the followed inferior.  */
 
-static int
-inf_ptrace_follow_fork (struct target_ops *ops, int follow_child,
-			int detach_fork)
+int
+inf_ptrace_target::follow_fork (int follow_child, int detach_fork)
 {
   if (!follow_child)
     {
       struct thread_info *tp = inferior_thread ();
-      pid_t child_pid = ptid_get_pid (tp->pending_follow.value.related_pid);
+      pid_t child_pid = tp->pending_follow.value.related_pid.pid ();
 
       /* Breakpoints have already been detached from the child by
 	 infrun.c.  */
@@ -60,14 +78,14 @@ inf_ptrace_follow_fork (struct target_op
   return 0;
 }
 
-static int
-inf_ptrace_insert_fork_catchpoint (struct target_ops *self, int pid)
+int
+inf_ptrace_target::insert_fork_catchpoint (int pid)
 {
   return 0;
 }
 
-static int
-inf_ptrace_remove_fork_catchpoint (struct target_ops *self, int pid)
+int
+inf_ptrace_target::remove_fork_catchpoint (int pid)
 {
   return 0;
 }
@@ -90,36 +108,36 @@ inf_ptrace_me (void)
    ENV is the environment vector to pass.  If FROM_TTY is non-zero, be
    chatty about it.  */
 
-static void
-inf_ptrace_create_inferior (struct target_ops *ops,
-			    const char *exec_file, const std::string &allargs,
-			    char **env, int from_tty)
+void
+inf_ptrace_target::create_inferior (const char *exec_file,
+				    const std::string &allargs,
+				    char **env, int from_tty)
 {
   pid_t pid;
   ptid_t ptid;
 
   /* Do not change either targets above or the same target if already present.
      The reason is the target stack is shared across multiple inferiors.  */
-  int ops_already_pushed = target_is_pushed (ops);
-  struct cleanup *back_to = make_cleanup (null_cleanup, NULL);
+  int ops_already_pushed = target_is_pushed (this);
 
+  target_unpush_up unpusher;
   if (! ops_already_pushed)
     {
       /* Clear possible core file with its process_stratum.  */
-      push_target (ops);
-      make_cleanup_unpush_target (ops);
+      push_target (this);
+      unpusher.reset (this);
     }
 
   pid = fork_inferior (exec_file, allargs, env, inf_ptrace_me, NULL,
 		       NULL, NULL, NULL);
 
-  ptid = pid_to_ptid (pid);
+  ptid = ptid_t (pid);
   /* We have something that executes now.  We'll be running through
      the shell at this point (if startup-with-shell is true), but the
      pid shouldn't change.  */
   add_thread_silent (ptid);
 
-  discard_cleanups (back_to);
+  unpusher.release ();
 
   gdb_startup_inferior (pid, START_INFERIOR_TRAPS_EXPECTED);
 
@@ -130,15 +148,15 @@ inf_ptrace_create_inferior (struct targe
 
 #ifdef PT_GET_PROCESS_STATE
 
-static void
-inf_ptrace_post_startup_inferior (struct target_ops *self, ptid_t pid)
+void
+inf_ptrace_target::post_startup_inferior (ptid_t pid)
 {
   ptrace_event_t pe;
 
   /* Set the initial event mask.  */
   memset (&pe, 0, sizeof pe);
   pe.pe_set_event |= PTRACE_FORK;
-  if (ptrace (PT_SET_EVENT_MASK, ptid_get_pid (pid),
+  if (ptrace (PT_SET_EVENT_MASK, pid.pid (),
 	      (PTRACE_TYPE_ARG3)&pe, sizeof pe) == -1)
     perror_with_name (("ptrace"));
 }
@@ -147,8 +165,8 @@ inf_ptrace_post_startup_inferior (struct
 
 /* Clean up a rotting corpse of an inferior after it died.  */
 
-static void
-inf_ptrace_mourn_inferior (struct target_ops *ops)
+void
+inf_ptrace_target::mourn_inferior ()
 {
   int status;
 
@@ -156,16 +174,16 @@ inf_ptrace_mourn_inferior (struct target
      Do not check whether this succeeds though, since we may be
      dealing with a process that we attached to.  Such a process will
      only report its exit status to its original parent.  */
-  waitpid (ptid_get_pid (inferior_ptid), &status, 0);
+  waitpid (inferior_ptid.pid (), &status, 0);
 
-  inf_child_mourn_inferior (ops);
+  inf_child_target::mourn_inferior ();
 }
 
 /* Attach to the process specified by ARGS.  If FROM_TTY is non-zero,
    be chatty about it.  */
 
-static void
-inf_ptrace_attach (struct target_ops *ops, const char *args, int from_tty)
+void
+inf_ptrace_target::attach (const char *args, int from_tty)
 {
   char *exec_file;
   pid_t pid;
@@ -173,20 +191,20 @@ inf_ptrace_attach (struct target_ops *op
 
   /* Do not change either targets above or the same target if already present.
      The reason is the target stack is shared across multiple inferiors.  */
-  int ops_already_pushed = target_is_pushed (ops);
-  struct cleanup *back_to = make_cleanup (null_cleanup, NULL);
+  int ops_already_pushed = target_is_pushed (this);
 
   pid = parse_pid_to_attach (args);
 
   if (pid == getpid ())		/* Trying to masturbate?  */
     error (_("I refuse to debug myself!"));
 
+  target_unpush_up unpusher;
   if (! ops_already_pushed)
     {
       /* target_pid_to_str already uses the target.  Also clear possible core
 	 file with its process_stratum.  */
-      push_target (ops);
-      make_cleanup_unpush_target (ops);
+      push_target (this);
+      unpusher.reset (this);
     }
 
   if (from_tty)
@@ -195,10 +213,10 @@ inf_ptrace_attach (struct target_ops *op
 
       if (exec_file)
 	printf_unfiltered (_("Attaching to program: %s, %s\n"), exec_file,
-			   target_pid_to_str (pid_to_ptid (pid)));
+			   target_pid_to_str (ptid_t (pid)));
       else
 	printf_unfiltered (_("Attaching to %s\n"),
-			   target_pid_to_str (pid_to_ptid (pid)));
+			   target_pid_to_str (ptid_t (pid)));
 
       gdb_flush (gdb_stdout);
     }
@@ -215,19 +233,22 @@ inf_ptrace_attach (struct target_ops *op
   inf = current_inferior ();
   inferior_appeared (inf, pid);
   inf->attach_flag = 1;
-  inferior_ptid = pid_to_ptid (pid);
+  inferior_ptid = ptid_t (pid);
 
   /* Always add a main thread.  If some target extends the ptrace
      target, it should decorate the ptid later with more info.  */
-  add_thread_silent (inferior_ptid);
+  thread_info *thr = add_thread_silent (inferior_ptid);
+  /* Don't consider the thread stopped until we've processed its
+     initial SIGSTOP stop.  */
+  set_executing (thr->ptid, true);
 
-  discard_cleanups (back_to);
+  unpusher.release ();
 }
 
 #ifdef PT_GET_PROCESS_STATE
 
-static void
-inf_ptrace_post_attach (struct target_ops *self, int pid)
+void
+inf_ptrace_target::post_attach (int pid)
 {
   ptrace_event_t pe;
 
@@ -241,18 +262,14 @@ inf_ptrace_post_attach (struct target_op
 
 #endif
 
-/* Detach from the inferior, optionally passing it the signal
-   specified by ARGS.  If FROM_TTY is non-zero, be chatty about it.  */
+/* Detach from the inferior.  If FROM_TTY is non-zero, be chatty about it.  */
 
-static void
-inf_ptrace_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+inf_ptrace_target::detach (inferior *inf, int from_tty)
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
-  int sig = 0;
+  pid_t pid = inferior_ptid.pid ();
 
   target_announce_detach (from_tty);
-  if (args)
-    sig = atoi (args);
 
 #ifdef PT_DETACH
   /* We'd better not have left any breakpoints in the program or it'll
@@ -260,35 +277,33 @@ inf_ptrace_detach (struct target_ops *op
      previously attached to the inferior.  It *might* work if we
      started the process ourselves.  */
   errno = 0;
-  ptrace (PT_DETACH, pid, (PTRACE_TYPE_ARG3)1, sig);
+  ptrace (PT_DETACH, pid, (PTRACE_TYPE_ARG3)1, 0);
   if (errno != 0)
     perror_with_name (("ptrace"));
 #else
   error (_("This system does not support detaching from a process"));
 #endif
 
-  inf_ptrace_detach_success (ops);
+  detach_success (inf);
 }
 
 /* See inf-ptrace.h.  */
 
 void
-inf_ptrace_detach_success (struct target_ops *ops)
+inf_ptrace_target::detach_success (inferior *inf)
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
-
   inferior_ptid = null_ptid;
-  detach_inferior (pid);
+  detach_inferior (inf);
 
-  inf_child_maybe_unpush_target (ops);
+  maybe_unpush_target ();
 }
 
 /* Kill the inferior.  */
 
-static void
-inf_ptrace_kill (struct target_ops *ops)
+void
+inf_ptrace_target::kill ()
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
+  pid_t pid = inferior_ptid.pid ();
   int status;
 
   if (pid == 0)
@@ -300,19 +315,6 @@ inf_ptrace_kill (struct target_ops *ops)
   target_mourn_inferior (inferior_ptid);
 }
 
-/* Interrupt the inferior.  */
-
-static void
-inf_ptrace_interrupt (struct target_ops *self, ptid_t ptid)
-{
-  /* Send a SIGINT to the process group.  This acts just like the user
-     typed a ^C on the controlling terminal.  Note that using a
-     negative process number in kill() is a System V-ism.  The proper
-     BSD interface is killpg().  However, all modern BSDs support the
-     System V interface too.  */
-  kill (-inferior_process_group (), SIGINT);
-}
-
 /* Return which PID to pass to ptrace in order to observe/control the
    tracee identified by PTID.  */
 
@@ -323,9 +325,9 @@ get_ptrace_pid (ptid_t ptid)
 
   /* If we have an LWPID to work with, use it.  Otherwise, we're
      dealing with a non-threaded program/target.  */
-  pid = ptid_get_lwp (ptid);
+  pid = ptid.lwp ();
   if (pid == 0)
-    pid = ptid_get_pid (ptid);
+    pid = ptid.pid ();
   return pid;
 }
 
@@ -333,17 +335,16 @@ get_ptrace_pid (ptid_t ptid)
    STEP is nonzero, single-step it.  If SIGNAL is nonzero, give it
    that signal.  */
 
-static void
-inf_ptrace_resume (struct target_ops *ops,
-		   ptid_t ptid, int step, enum gdb_signal signal)
+void
+inf_ptrace_target::resume (ptid_t ptid, int step, enum gdb_signal signal)
 {
   pid_t pid;
   int request;
 
-  if (ptid_equal (minus_one_ptid, ptid))
+  if (minus_one_ptid == ptid)
     /* Resume all threads.  Traditionally ptrace() only supports
        single-threaded processes, so simply resume the inferior.  */
-    pid = ptid_get_pid (inferior_ptid);
+    pid = inferior_ptid.pid ();
   else
     pid = get_ptrace_pid (ptid);
 
@@ -375,9 +376,9 @@ inf_ptrace_resume (struct target_ops *op
    process ID of the child, or MINUS_ONE_PTID in case of error; store
    the status in *OURSTATUS.  */
 
-static ptid_t
-inf_ptrace_wait (struct target_ops *ops,
-		 ptid_t ptid, struct target_waitstatus *ourstatus, int options)
+ptid_t
+inf_ptrace_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
+			 int options)
 {
   pid_t pid;
   int status, save_errno;
@@ -388,7 +389,7 @@ inf_ptrace_wait (struct target_ops *ops,
 
       do
 	{
-	  pid = waitpid (ptid_get_pid (ptid), &status, 0);
+	  pid = waitpid (ptid.pid (), &status, 0);
 	  save_errno = errno;
 	}
       while (pid == -1 && errno == EINTR);
@@ -408,7 +409,7 @@ inf_ptrace_wait (struct target_ops *ops,
 	}
 
       /* Ignore terminated detached child processes.  */
-      if (!WIFSTOPPED (status) && pid != ptid_get_pid (inferior_ptid))
+      if (!WIFSTOPPED (status) && pid != inferior_ptid.pid ())
 	pid = -1;
     }
   while (pid == -1);
@@ -427,7 +428,7 @@ inf_ptrace_wait (struct target_ops *ops,
 	{
 	case PTRACE_FORK:
 	  ourstatus->kind = TARGET_WAITKIND_FORKED;
-	  ourstatus->value.related_pid = pid_to_ptid (pe.pe_other_pid);
+	  ourstatus->value.related_pid = ptid_t (pe.pe_other_pid);
 
 	  /* Make sure the other end of the fork is stopped too.  */
 	  fpid = waitpid (pe.pe_other_pid, &status, 0);
@@ -440,19 +441,19 @@ inf_ptrace_wait (struct target_ops *ops,
 
 	  gdb_assert (pe.pe_report_event == PTRACE_FORK);
 	  gdb_assert (pe.pe_other_pid == pid);
-	  if (fpid == ptid_get_pid (inferior_ptid))
+	  if (fpid == inferior_ptid.pid ())
 	    {
-	      ourstatus->value.related_pid = pid_to_ptid (pe.pe_other_pid);
-	      return pid_to_ptid (fpid);
+	      ourstatus->value.related_pid = ptid_t (pe.pe_other_pid);
+	      return ptid_t (fpid);
 	    }
 
-	  return pid_to_ptid (pid);
+	  return ptid_t (pid);
 	}
     }
 #endif
 
   store_waitstatus (ourstatus, status);
-  return pid_to_ptid (pid);
+  return ptid_t (pid);
 }
 
 /* Transfer data via ptrace into process PID's memory from WRITEBUF, or
@@ -523,11 +524,11 @@ inf_ptrace_peek_poke (pid_t pid, gdb_byt
 
 /* Implement the to_xfer_partial target_ops method.  */
 
-static enum target_xfer_status
-inf_ptrace_xfer_partial (struct target_ops *ops, enum target_object object,
-			 const char *annex, gdb_byte *readbuf,
-			 const gdb_byte *writebuf,
-			 ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+inf_ptrace_target::xfer_partial (enum target_object object,
+				 const char *annex, gdb_byte *readbuf,
+				 const gdb_byte *writebuf,
+				 ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 {
   pid_t pid = get_ptrace_pid (inferior_ptid);
 
@@ -609,17 +610,17 @@ inf_ptrace_xfer_partial (struct target_o
 
 /* Return non-zero if the thread specified by PTID is alive.  */
 
-static int
-inf_ptrace_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+inf_ptrace_target::thread_alive (ptid_t ptid)
 {
   /* ??? Is kill the right way to do this?  */
-  return (kill (ptid_get_pid (ptid), 0) != -1);
+  return (::kill (ptid.pid (), 0) != -1);
 }
 
 /* Print status information about what we're accessing.  */
 
-static void
-inf_ptrace_files_info (struct target_ops *ignore)
+void
+inf_ptrace_target::files_info ()
 {
   struct inferior *inf = current_inferior ();
 
@@ -628,8 +629,8 @@ inf_ptrace_files_info (struct target_ops
 		   target_pid_to_str (inferior_ptid));
 }
 
-static const char *
-inf_ptrace_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+inf_ptrace_target::pid_to_str (ptid_t ptid)
 {
   return normal_pid_to_str (ptid);
 }
@@ -641,9 +642,9 @@ inf_ptrace_pid_to_str (struct target_ops
    Return -1 if there is insufficient buffer for a whole entry.
    Return 1 if an entry was read into *TYPEP and *VALP.  */
 
-static int
-inf_ptrace_auxv_parse (struct target_ops *ops, gdb_byte **readptr,
-		       gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
+int
+inf_ptrace_target::auxv_parse (gdb_byte **readptr, gdb_byte *endptr,
+			       CORE_ADDR *typep, CORE_ADDR *valp)
 {
   struct type *int_type = builtin_type (target_gdbarch ())->builtin_int;
   struct type *ptr_type = builtin_type (target_gdbarch ())->builtin_data_ptr;
@@ -668,173 +669,4 @@ inf_ptrace_auxv_parse (struct target_ops
 }
 
 #endif
-
-/* Create a prototype ptrace target.  The client can override it with
-   local methods.  */
-
-struct target_ops *
-inf_ptrace_target (void)
-{
-  struct target_ops *t = inf_child_target ();
-
-  t->to_attach = inf_ptrace_attach;
-  t->to_detach = inf_ptrace_detach;
-  t->to_resume = inf_ptrace_resume;
-  t->to_wait = inf_ptrace_wait;
-  t->to_files_info = inf_ptrace_files_info;
-  t->to_kill = inf_ptrace_kill;
-  t->to_create_inferior = inf_ptrace_create_inferior;
-#ifdef PT_GET_PROCESS_STATE
-  t->to_follow_fork = inf_ptrace_follow_fork;
-  t->to_insert_fork_catchpoint = inf_ptrace_insert_fork_catchpoint;
-  t->to_remove_fork_catchpoint = inf_ptrace_remove_fork_catchpoint;
-  t->to_post_startup_inferior = inf_ptrace_post_startup_inferior;
-  t->to_post_attach = inf_ptrace_post_attach;
-#endif
-  t->to_mourn_inferior = inf_ptrace_mourn_inferior;
-  t->to_thread_alive = inf_ptrace_thread_alive;
-  t->to_pid_to_str = inf_ptrace_pid_to_str;
-  t->to_interrupt = inf_ptrace_interrupt;
-  t->to_xfer_partial = inf_ptrace_xfer_partial;
-#if defined (PT_IO) && defined (PIOD_READ_AUXV)
-  t->to_auxv_parse = inf_ptrace_auxv_parse;
-#endif
-
-  return t;
-}
 
-
-/* Pointer to a function that returns the offset within the user area
-   where a particular register is stored.  */
-static CORE_ADDR (*inf_ptrace_register_u_offset)(struct gdbarch *, int, int);
-
-/* Fetch register REGNUM from the inferior.  */
-
-static void
-inf_ptrace_fetch_register (struct regcache *regcache, int regnum)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  CORE_ADDR addr;
-  size_t size;
-  PTRACE_TYPE_RET *buf;
-  pid_t pid;
-  int i;
-
-  /* This isn't really an address, but ptrace thinks of it as one.  */
-  addr = inf_ptrace_register_u_offset (gdbarch, regnum, 0);
-  if (addr == (CORE_ADDR)-1
-      || gdbarch_cannot_fetch_register (gdbarch, regnum))
-    {
-      regcache_raw_supply (regcache, regnum, NULL);
-      return;
-    }
-
-  pid = get_ptrace_pid (regcache_get_ptid (regcache));
-
-  size = register_size (gdbarch, regnum);
-  gdb_assert ((size % sizeof (PTRACE_TYPE_RET)) == 0);
-  buf = (PTRACE_TYPE_RET *) alloca (size);
-
-  /* Read the register contents from the inferior a chunk at a time.  */
-  for (i = 0; i < size / sizeof (PTRACE_TYPE_RET); i++)
-    {
-      errno = 0;
-      buf[i] = ptrace (PT_READ_U, pid, (PTRACE_TYPE_ARG3)(uintptr_t)addr, 0);
-      if (errno != 0)
-	error (_("Couldn't read register %s (#%d): %s."),
-	       gdbarch_register_name (gdbarch, regnum),
-	       regnum, safe_strerror (errno));
-
-      addr += sizeof (PTRACE_TYPE_RET);
-    }
-  regcache_raw_supply (regcache, regnum, buf);
-}
-
-/* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
-   for all registers.  */
-
-static void
-inf_ptrace_fetch_registers (struct target_ops *ops,
-			    struct regcache *regcache, int regnum)
-{
-  if (regnum == -1)
-    for (regnum = 0;
-	 regnum < gdbarch_num_regs (regcache->arch ());
-	 regnum++)
-      inf_ptrace_fetch_register (regcache, regnum);
-  else
-    inf_ptrace_fetch_register (regcache, regnum);
-}
-
-/* Store register REGNUM into the inferior.  */
-
-static void
-inf_ptrace_store_register (const struct regcache *regcache, int regnum)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  CORE_ADDR addr;
-  size_t size;
-  PTRACE_TYPE_RET *buf;
-  pid_t pid;
-  int i;
-
-  /* This isn't really an address, but ptrace thinks of it as one.  */
-  addr = inf_ptrace_register_u_offset (gdbarch, regnum, 1);
-  if (addr == (CORE_ADDR)-1 
-      || gdbarch_cannot_store_register (gdbarch, regnum))
-    return;
-
-  pid = get_ptrace_pid (regcache_get_ptid (regcache));
-
-  size = register_size (gdbarch, regnum);
-  gdb_assert ((size % sizeof (PTRACE_TYPE_RET)) == 0);
-  buf = (PTRACE_TYPE_RET *) alloca (size);
-
-  /* Write the register contents into the inferior a chunk at a time.  */
-  regcache_raw_collect (regcache, regnum, buf);
-  for (i = 0; i < size / sizeof (PTRACE_TYPE_RET); i++)
-    {
-      errno = 0;
-      ptrace (PT_WRITE_U, pid, (PTRACE_TYPE_ARG3)(uintptr_t)addr, buf[i]);
-      if (errno != 0)
-	error (_("Couldn't write register %s (#%d): %s."),
-	       gdbarch_register_name (gdbarch, regnum),
-	       regnum, safe_strerror (errno));
-
-      addr += sizeof (PTRACE_TYPE_RET);
-    }
-}
-
-/* Store register REGNUM back into the inferior.  If REGNUM is -1, do
-   this for all registers.  */
-
-static void
-inf_ptrace_store_registers (struct target_ops *ops,
-			    struct regcache *regcache, int regnum)
-{
-  if (regnum == -1)
-    for (regnum = 0;
-	 regnum < gdbarch_num_regs (regcache->arch ());
-	 regnum++)
-      inf_ptrace_store_register (regcache, regnum);
-  else
-    inf_ptrace_store_register (regcache, regnum);
-}
-
-/* Create a "traditional" ptrace target.  REGISTER_U_OFFSET should be
-   a function returning the offset within the user area where a
-   particular register is stored.  */
-
-struct target_ops *
-inf_ptrace_trad_target (CORE_ADDR (*register_u_offset)
-					(struct gdbarch *, int, int))
-{
-  struct target_ops *t = inf_ptrace_target();
-
-  gdb_assert (register_u_offset);
-  inf_ptrace_register_u_offset = register_u_offset;
-  t->to_fetch_registers = inf_ptrace_fetch_registers;
-  t->to_store_registers = inf_ptrace_store_registers;
-
-  return t;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inf-ptrace.h ./gdb/inf-ptrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inf-ptrace.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/inf-ptrace.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,26 +20,67 @@
 #ifndef INF_PTRACE_H
 #define INF_PTRACE_H
 
-/* Create a prototype ptrace target.  The client can override it with
-   local methods.  */
+#include "inf-child.h"
 
-extern struct target_ops *inf_ptrace_target (void);
+/* An abstract prototype ptrace target.  The client can override it
+   with local methods.  */
 
-/* Create a "traditional" ptrace target.  REGISTER_U_OFFSET should be
-   a function returning the offset within the user area where a
-   particular register is stored.  */
-
-extern struct target_ops *
-  inf_ptrace_trad_target (CORE_ADDR (*register_u_offset)
-					(struct gdbarch *, int, int));
+struct inf_ptrace_target : public inf_child_target
+{
+  ~inf_ptrace_target () override = 0;
+
+  void attach (const char *, int) override;
+
+  void detach (inferior *inf, int) override;
+
+  void resume (ptid_t, int, enum gdb_signal) override;
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+  void files_info () override;
+
+  void kill () override;
+
+  void create_inferior (const char *, const std::string &,
+			char **, int) override;
+#ifdef PT_GET_PROCESS_STATE
+  int follow_fork (int, int) override;
+
+  int insert_fork_catchpoint (int) override;
+
+  int remove_fork_catchpoint (int) override;
+
+  void post_startup_inferior (ptid_t) override;
+
+  void post_attach (int) override;
+#endif
+
+  void mourn_inferior () override;
+
+  bool thread_alive (ptid_t ptid) override;
+
+  const char *pid_to_str (ptid_t) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+#if defined (PT_IO) && defined (PIOD_READ_AUXV)
+  int auxv_parse (gdb_byte **readptr,
+		  gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp) override;
+#endif
+
+protected:
+  /* Cleanup the inferior after a successful ptrace detach.  */
+  void detach_success (inferior *inf);
+};
 
 /* Return which PID to pass to ptrace in order to observe/control the
    tracee identified by PTID.  */
 
 extern pid_t get_ptrace_pid (ptid_t);
 
-
-/* Cleanup the inferior after a successful ptrace detach.  */
-extern void inf_ptrace_detach_success (struct target_ops *ops);
-
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/infrun.c ./gdb/infrun.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/infrun.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/infrun.c	2018-07-10 02:06:13.000000000 +0000
@@ -38,7 +38,7 @@
 #include "inf-loop.h"
 #include "regcache.h"
 #include "value.h"
-#include "observer.h"
+#include "observable.h"
 #include "language.h"
 #include "solib.h"
 #include "main.h"
@@ -383,8 +383,6 @@ static int stop_print_frame;
 static ptid_t target_last_wait_ptid;
 static struct target_waitstatus target_last_waitstatus;
 
-static void context_switch (ptid_t ptid);
-
 void init_thread_stepping_state (struct thread_info *tss);
 
 static const char follow_fork_mode_child[] = "child";
@@ -458,17 +456,17 @@ holding the child stopped.  Try \"set de
 	  if (has_vforked)
 	    {
 	      /* Keep breakpoints list in sync.  */
-	      remove_breakpoints_pid (ptid_get_pid (inferior_ptid));
+	      remove_breakpoints_inf (current_inferior ());
 	    }
 
-	  if (info_verbose || debug_infrun)
+	  if (print_inferior_events)
 	    {
 	      /* Ensure that we have a process ptid.  */
-	      ptid_t process_ptid = pid_to_ptid (ptid_get_pid (child_ptid));
+	      ptid_t process_ptid = ptid_t (child_ptid.pid ());
 
 	      target_terminal::ours_for_output ();
 	      fprintf_filtered (gdb_stdlog,
-				_("Detaching after %s from child %s.\n"),
+				_("[Detaching after %s from child %s]\n"),
 				has_vforked ? "vfork" : "fork",
 				target_pid_to_str (process_ptid));
 	    }
@@ -478,7 +476,7 @@ holding the child stopped.  Try \"set de
 	  struct inferior *parent_inf, *child_inf;
 
 	  /* Add process to GDB's tables.  */
-	  child_inf = add_inferior (ptid_get_pid (child_ptid));
+	  child_inf = add_inferior (child_ptid.pid ());
 
 	  parent_inf = current_inferior ();
 	  child_inf->attach_flag = parent_inf->attach_flag;
@@ -489,7 +487,7 @@ holding the child stopped.  Try \"set de
 	  scoped_restore_current_pspace_and_thread restore_pspace_thread;
 
 	  inferior_ptid = child_ptid;
-	  add_thread (inferior_ptid);
+	  add_thread_silent (inferior_ptid);
 	  set_current_inferior (child_inf);
 	  child_inf->symfile_flags = SYMFILE_NO_READ;
 
@@ -511,7 +509,7 @@ holding the child stopped.  Try \"set de
 	  else
 	    {
 	      child_inf->aspace = new_address_space ();
-	      child_inf->pspace = add_program_space (child_inf->aspace);
+	      child_inf->pspace = new program_space (child_inf->aspace);
 	      child_inf->removable = 1;
 	      set_current_program_space (child_inf->pspace);
 	      clone_program_space (child_inf->pspace, parent_inf->pspace);
@@ -549,20 +547,23 @@ holding the child stopped.  Try \"set de
       struct inferior *parent_inf, *child_inf;
       struct program_space *parent_pspace;
 
-      if (info_verbose || debug_infrun)
+      if (print_inferior_events)
 	{
+	  std::string parent_pid = target_pid_to_str (parent_ptid);
+	  std::string child_pid = target_pid_to_str (child_ptid);
+
 	  target_terminal::ours_for_output ();
 	  fprintf_filtered (gdb_stdlog,
-			    _("Attaching after %s %s to child %s.\n"),
-			    target_pid_to_str (parent_ptid),
+			    _("[Attaching after %s %s to child %s]\n"),
+			    parent_pid.c_str (),
 			    has_vforked ? "vfork" : "fork",
-			    target_pid_to_str (child_ptid));
+			    child_pid.c_str ());
 	}
 
       /* Add the new inferior first, so that the target_detach below
 	 doesn't unpush the target.  */
 
-      child_inf = add_inferior (ptid_get_pid (child_ptid));
+      child_inf = add_inferior (child_ptid.pid ());
 
       parent_inf = current_inferior ();
       child_inf->attach_flag = parent_inf->attach_flag;
@@ -594,19 +595,19 @@ holding the child stopped.  Try \"set de
 	}
       else if (detach_fork)
 	{
-	  if (info_verbose || debug_infrun)
+	  if (print_inferior_events)
 	    {
 	      /* Ensure that we have a process ptid.  */
-	      ptid_t process_ptid = pid_to_ptid (ptid_get_pid (child_ptid));
+	      ptid_t process_ptid = ptid_t (parent_ptid.pid ());
 
 	      target_terminal::ours_for_output ();
 	      fprintf_filtered (gdb_stdlog,
-				_("Detaching after fork from "
-				  "child %s.\n"),
+				_("[Detaching after fork from "
+				  "parent %s]\n"),
 				target_pid_to_str (process_ptid));
 	    }
 
-	  target_detach (NULL, 0);
+	  target_detach (parent_inf, 0);
 	}
 
       /* Note that the detach above makes PARENT_INF dangling.  */
@@ -616,7 +617,7 @@ holding the child stopped.  Try \"set de
 	 informing the solib layer about this new process.  */
 
       inferior_ptid = child_ptid;
-      add_thread (inferior_ptid);
+      add_thread_silent (inferior_ptid);
       set_current_inferior (child_inf);
 
       /* If this is a vfork child, then the address-space is shared
@@ -630,7 +631,7 @@ holding the child stopped.  Try \"set de
       else
 	{
 	  child_inf->aspace = new_address_space ();
-	  child_inf->pspace = add_program_space (child_inf->aspace);
+	  child_inf->pspace = new program_space (child_inf->aspace);
 	  child_inf->removable = 1;
 	  child_inf->symfile_flags = SYMFILE_NO_READ;
 	  set_current_program_space (child_inf->pspace);
@@ -686,14 +687,16 @@ follow_fork (void)
 
       /* Check if we switched over from WAIT_PTID, since the event was
 	 reported.  */
-      if (!ptid_equal (wait_ptid, minus_one_ptid)
-	  && !ptid_equal (inferior_ptid, wait_ptid))
+      if (wait_ptid != minus_one_ptid
+	  && inferior_ptid != wait_ptid)
 	{
 	  /* We did.  Switch back to WAIT_PTID thread, to tell the
 	     target to follow it (in either direction).  We'll
 	     afterwards refuse to resume, and inform the user what
 	     happened.  */
-	  switch_to_thread (wait_ptid);
+	  thread_info *wait_thread
+	    = find_thread_ptid (wait_ptid);
+	  switch_to_thread (wait_thread);
 	  should_resume = 0;
 	}
     }
@@ -764,7 +767,8 @@ follow_fork (void)
 	    /* If we followed the child, switch to it...  */
 	    if (follow_child)
 	      {
-		switch_to_thread (child);
+		thread_info *child_thr = find_thread_ptid (child);
+		switch_to_thread (child_thr);
 
 		/* ... and preserve the stepping state, in case the
 		   user was stepping over the fork call.  */
@@ -795,8 +799,6 @@ follow_fork (void)
 		/* Reset breakpoints in the child as appropriate.  */
 		follow_inferior_reset_breakpoints ();
 	      }
-	    else
-	      switch_to_thread (parent);
 	  }
       }
       break;
@@ -862,9 +864,9 @@ proceed_after_vfork_done (struct thread_
 {
   int pid = * (int *) arg;
 
-  if (ptid_get_pid (thread->ptid) == pid
-      && is_running (thread->ptid)
-      && !is_executing (thread->ptid)
+  if (thread->ptid.pid () == pid
+      && thread->state == THREAD_RUNNING
+      && !thread->executing
       && !thread->stop_requested
       && thread->suspend.stop_signal == GDB_SIGNAL_0)
     {
@@ -873,7 +875,7 @@ proceed_after_vfork_done (struct thread_
 			    "infrun: resuming vfork parent thread %s\n",
 			    target_pid_to_str (thread->ptid));
 
-      switch_to_thread (thread->ptid);
+      switch_to_thread (thread);
       clear_proceed_status (0);
       proceed ((CORE_ADDR) -1, GDB_SIGNAL_DEFAULT);
     }
@@ -936,8 +938,8 @@ handle_vfork_child_exec_or_exit (int exe
 	    maybe_restore_thread.emplace ();
 
 	  /* We're letting loose of the parent.  */
-	  tp = any_live_thread_of_process (inf->vfork_parent->pid);
-	  switch_to_thread (tp->ptid);
+	  tp = any_live_thread_of_inferior (inf->vfork_parent);
+	  switch_to_thread (tp);
 
 	  /* We're about to detach from the parent, which implicitly
 	     removes breakpoints from its address space.  There's a
@@ -956,27 +958,28 @@ handle_vfork_child_exec_or_exit (int exe
 	  inf->aspace = NULL;
 	  inf->pspace = NULL;
 
-	  if (debug_infrun || info_verbose)
+	  if (print_inferior_events)
 	    {
+	      const char *pidstr
+		= target_pid_to_str (ptid_t (inf->vfork_parent->pid));
+
 	      target_terminal::ours_for_output ();
 
 	      if (exec)
 		{
 		  fprintf_filtered (gdb_stdlog,
-				    _("Detaching vfork parent process "
-				      "%d after child exec.\n"),
-				    inf->vfork_parent->pid);
+				    _("[Detaching vfork parent %s "
+				      "after child exec]\n"), pidstr);
 		}
 	      else
 		{
 		  fprintf_filtered (gdb_stdlog,
-				    _("Detaching vfork parent process "
-				      "%d after child exit.\n"),
-				    inf->vfork_parent->pid);
+				    _("[Detaching vfork parent %s "
+				      "after child exit]\n"), pidstr);
 		}
 	    }
 
-	  target_detach (NULL, 0);
+	  target_detach (inf->vfork_parent, 0);
 
 	  /* Put it back.  */
 	  inf->pspace = pspace;
@@ -986,7 +989,7 @@ handle_vfork_child_exec_or_exit (int exe
 	{
 	  /* We're staying attached to the parent, so, really give the
 	     child a new address space.  */
-	  inf->pspace = add_program_space (maybe_new_address_space ());
+	  inf->pspace = new program_space (maybe_new_address_space ());
 	  inf->aspace = inf->pspace->aspace;
 	  inf->removable = 1;
 	  set_current_program_space (inf->pspace);
@@ -1020,7 +1023,7 @@ handle_vfork_child_exec_or_exit (int exe
 	     program space resets breakpoints).  */
 	  inf->aspace = NULL;
 	  inf->pspace = NULL;
-	  pspace = add_program_space (maybe_new_address_space ());
+	  pspace = new program_space (maybe_new_address_space ());
 	  set_current_program_space (pspace);
 	  inf->removable = 1;
 	  inf->symfile_flags = SYMFILE_NO_READ;
@@ -1079,10 +1082,8 @@ follow_exec (ptid_t ptid, char *exec_fil
 {
   struct thread_info *th, *tmp;
   struct inferior *inf = current_inferior ();
-  int pid = ptid_get_pid (ptid);
+  int pid = ptid.pid ();
   ptid_t process_ptid;
-  char *exec_file_host;
-  struct cleanup *old_chain;
 
   /* This is an exec event that we actually wish to pay attention to.
      Refresh our symbol table to the newly exec'd program, remove any
@@ -1127,8 +1128,8 @@ follow_exec (ptid_t ptid, char *exec_fil
      stop provides a nicer sequence of events for user and MI
      notifications.  */
   ALL_THREADS_SAFE (th, tmp)
-    if (ptid_get_pid (th->ptid) == pid && !ptid_equal (th->ptid, ptid))
-      delete_thread (th->ptid);
+    if (th->ptid.pid () == pid && th->ptid != ptid)
+      delete_thread (th);
 
   /* We also need to clear any left over stale state for the
      leader/event thread.  E.g., if there was any step-resume
@@ -1149,7 +1150,7 @@ follow_exec (ptid_t ptid, char *exec_fil
   update_breakpoints_after_exec ();
 
   /* What is this a.out's name?  */
-  process_ptid = pid_to_ptid (pid);
+  process_ptid = ptid_t (pid);
   printf_unfiltered (_("%s is executing new program: %s\n"),
 		     target_pid_to_str (process_ptid),
 		     exec_file_target);
@@ -1161,8 +1162,8 @@ follow_exec (ptid_t ptid, char *exec_fil
 
   breakpoint_init_inferior (inf_execd);
 
-  exec_file_host = exec_file_find (exec_file_target, NULL);
-  old_chain = make_cleanup (xfree, exec_file_host);
+  gdb::unique_xmalloc_ptr<char> exec_file_host
+    = exec_file_find (exec_file_target, NULL);
 
   /* If we were unable to map the executable target pathname onto a host
      pathname, tell the user that.  Otherwise GDB's subsequent behavior
@@ -1189,7 +1190,7 @@ follow_exec (ptid_t ptid, char *exec_fil
       /* Do exit processing for the original inferior before adding
 	 the new inferior so we don't have two active inferiors with
 	 the same ptid, which can confuse find_inferior_ptid.  */
-      exit_inferior_num_silent (current_inferior ()->num);
+      exit_inferior_silent (current_inferior ());
 
       inf = add_inferior_with_spaces ();
       inf->pid = pid;
@@ -1216,9 +1217,7 @@ follow_exec (ptid_t ptid, char *exec_fil
      Executable) main symbol file will only be computed by
      solib_create_inferior_hook below.  breakpoint_re_set would fail
      to insert the breakpoints with the zero displacement.  */
-  try_open_exec_file (exec_file_host, inf, SYMFILE_DEFER_BP_RESET);
-
-  do_cleanups (old_chain);
+  try_open_exec_file (exec_file_host.get (), inf, SYMFILE_DEFER_BP_RESET);
 
   /* If the target can specify a description, read it.  Must do this
      after flipping to the new executable (because the target supplied
@@ -1485,16 +1484,16 @@ struct displaced_step_inferior_state
   struct displaced_step_inferior_state *next;
 
   /* The process this displaced step state refers to.  */
-  int pid;
+  inferior *inf;
 
   /* True if preparing a displaced step ever failed.  If so, we won't
      try displaced stepping for this inferior again.  */
   int failed_before;
 
-  /* If this is not null_ptid, this is the thread carrying out a
+  /* If this is not nullptr, this is the thread carrying out a
      displaced single-step in process PID.  This thread's state will
      require fixing up once it has completed its step.  */
-  ptid_t step_ptid;
+  thread_info *step_thread;
 
   /* The architecture the thread had when we stepped it.  */
   struct gdbarch *step_gdbarch;
@@ -1518,14 +1517,14 @@ static struct displaced_step_inferior_st
 /* Get the displaced stepping state of process PID.  */
 
 static struct displaced_step_inferior_state *
-get_displaced_stepping_state (int pid)
+get_displaced_stepping_state (inferior *inf)
 {
   struct displaced_step_inferior_state *state;
 
   for (state = displaced_step_inferior_states;
        state != NULL;
        state = state->next)
-    if (state->pid == pid)
+    if (state->inf == inf)
       return state;
 
   return NULL;
@@ -1542,7 +1541,7 @@ displaced_step_in_progress_any_inferior 
   for (state = displaced_step_inferior_states;
        state != NULL;
        state = state->next)
-    if (!ptid_equal (state->step_ptid, null_ptid))
+    if (state->step_thread != nullptr)
       return 1;
 
   return 0;
@@ -1552,26 +1551,26 @@ displaced_step_in_progress_any_inferior 
    step.  */
 
 static int
-displaced_step_in_progress_thread (ptid_t ptid)
+displaced_step_in_progress_thread (thread_info *thread)
 {
   struct displaced_step_inferior_state *displaced;
 
-  gdb_assert (!ptid_equal (ptid, null_ptid));
+  gdb_assert (thread != NULL);
 
-  displaced = get_displaced_stepping_state (ptid_get_pid (ptid));
+  displaced = get_displaced_stepping_state (thread->inf);
 
-  return (displaced != NULL && ptid_equal (displaced->step_ptid, ptid));
+  return (displaced != NULL && displaced->step_thread == thread);
 }
 
 /* Return true if process PID has a thread doing a displaced step.  */
 
 static int
-displaced_step_in_progress (int pid)
+displaced_step_in_progress (inferior *inf)
 {
   struct displaced_step_inferior_state *displaced;
 
-  displaced = get_displaced_stepping_state (pid);
-  if (displaced != NULL && !ptid_equal (displaced->step_ptid, null_ptid))
+  displaced = get_displaced_stepping_state (inf);
+  if (displaced != NULL && displaced->step_thread != nullptr)
     return 1;
 
   return 0;
@@ -1582,18 +1581,18 @@ displaced_step_in_progress (int pid)
    entry, if it already exists.  Never returns NULL.  */
 
 static struct displaced_step_inferior_state *
-add_displaced_stepping_state (int pid)
+add_displaced_stepping_state (inferior *inf)
 {
   struct displaced_step_inferior_state *state;
 
   for (state = displaced_step_inferior_states;
        state != NULL;
        state = state->next)
-    if (state->pid == pid)
+    if (state->inf == inf)
       return state;
 
   state = XCNEW (struct displaced_step_inferior_state);
-  state->pid = pid;
+  state->inf = inf;
   state->next = displaced_step_inferior_states;
   displaced_step_inferior_states = state;
 
@@ -1608,11 +1607,12 @@ struct displaced_step_closure*
 get_displaced_step_closure_by_addr (CORE_ADDR addr)
 {
   struct displaced_step_inferior_state *displaced
-    = get_displaced_stepping_state (ptid_get_pid (inferior_ptid));
+    = get_displaced_stepping_state (current_inferior ());
 
   /* If checking the mode of displaced instruction in copy area.  */
-  if (displaced && !ptid_equal (displaced->step_ptid, null_ptid)
-     && (displaced->step_copy == addr))
+  if (displaced != NULL
+      && displaced->step_thread != nullptr
+      && displaced->step_copy == addr)
     return displaced->step_closure;
 
   return NULL;
@@ -1621,17 +1621,17 @@ get_displaced_step_closure_by_addr (CORE
 /* Remove the displaced stepping state of process PID.  */
 
 static void
-remove_displaced_stepping_state (int pid)
+remove_displaced_stepping_state (inferior *inf)
 {
   struct displaced_step_inferior_state *it, **prev_next_p;
 
-  gdb_assert (pid != 0);
+  gdb_assert (inf != nullptr);
 
   it = displaced_step_inferior_states;
   prev_next_p = &displaced_step_inferior_states;
   while (it)
     {
-      if (it->pid == pid)
+      if (it->inf == inf)
 	{
 	  *prev_next_p = it->next;
 	  xfree (it);
@@ -1646,7 +1646,7 @@ remove_displaced_stepping_state (int pid
 static void
 infrun_inferior_exit (struct inferior *inf)
 {
-  remove_displaced_stepping_state (inf->pid);
+  remove_displaced_stepping_state (inf);
 }
 
 /* If ON, and the architecture supports it, GDB will use displaced
@@ -1681,11 +1681,11 @@ show_can_use_displaced_stepping (struct 
 static int
 use_displaced_stepping (struct thread_info *tp)
 {
-  struct regcache *regcache = get_thread_regcache (tp->ptid);
+  struct regcache *regcache = get_thread_regcache (tp);
   struct gdbarch *gdbarch = regcache->arch ();
   struct displaced_step_inferior_state *displaced_state;
 
-  displaced_state = get_displaced_stepping_state (ptid_get_pid (tp->ptid));
+  displaced_state = get_displaced_stepping_state (tp->inf);
 
   return (((can_use_displaced_stepping == AUTO_BOOLEAN_AUTO
 	    && target_is_non_stop_p ())
@@ -1701,7 +1701,7 @@ static void
 displaced_step_clear (struct displaced_step_inferior_state *displaced)
 {
   /* Indicate that there is no cleanup pending.  */
-  displaced->step_ptid = null_ptid;
+  displaced->step_thread = nullptr;
 
   delete displaced->step_closure;
   displaced->step_closure = NULL;
@@ -1746,11 +1746,10 @@ displaced_step_dump_bytes (struct ui_fil
    if this instruction can't be displaced stepped.  */
 
 static int
-displaced_step_prepare_throw (ptid_t ptid)
+displaced_step_prepare_throw (thread_info *tp)
 {
   struct cleanup *ignore_cleanups;
-  struct thread_info *tp = find_thread_ptid (ptid);
-  struct regcache *regcache = get_thread_regcache (ptid);
+  regcache *regcache = get_thread_regcache (tp);
   struct gdbarch *gdbarch = regcache->arch ();
   const address_space *aspace = regcache->aspace ();
   CORE_ADDR original, copy;
@@ -1775,9 +1774,9 @@ displaced_step_prepare_throw (ptid_t pti
   /* We have to displaced step one thread at a time, as we only have
      access to a single scratch space per inferior.  */
 
-  displaced = add_displaced_stepping_state (ptid_get_pid (ptid));
+  displaced = add_displaced_stepping_state (tp->inf);
 
-  if (!ptid_equal (displaced->step_ptid, null_ptid))
+  if (displaced->step_thread != nullptr)
     {
       /* Already waiting for a displaced step to finish.  Defer this
 	 request and place in queue.  */
@@ -1785,7 +1784,7 @@ displaced_step_prepare_throw (ptid_t pti
       if (debug_displaced)
 	fprintf_unfiltered (gdb_stdlog,
 			    "displaced: deferring step of %s\n",
-			    target_pid_to_str (ptid));
+			    target_pid_to_str (tp->ptid));
 
       thread_step_over_chain_enqueue (tp);
       return 0;
@@ -1795,13 +1794,14 @@ displaced_step_prepare_throw (ptid_t pti
       if (debug_displaced)
 	fprintf_unfiltered (gdb_stdlog,
 			    "displaced: stepping %s now\n",
-			    target_pid_to_str (ptid));
+			    target_pid_to_str (tp->ptid));
     }
 
   displaced_step_clear (displaced);
 
-  scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
-  inferior_ptid = ptid;
+  scoped_restore_current_thread restore_thread;
+
+  switch_to_thread (tp);
 
   original = regcache_read_pc (regcache);
 
@@ -1861,7 +1861,7 @@ displaced_step_prepare_throw (ptid_t pti
 
   /* Save the information we need to fix things up if the step
      succeeds.  */
-  displaced->step_ptid = ptid;
+  displaced->step_thread = tp;
   displaced->step_gdbarch = gdbarch;
   displaced->step_closure = closure;
   displaced->step_original = original;
@@ -1885,13 +1885,13 @@ displaced_step_prepare_throw (ptid_t pti
    attempts at displaced stepping if we get a memory error.  */
 
 static int
-displaced_step_prepare (ptid_t ptid)
+displaced_step_prepare (thread_info *thread)
 {
   int prepared = -1;
 
   TRY
     {
-      prepared = displaced_step_prepare_throw (ptid);
+      prepared = displaced_step_prepare_throw (thread);
     }
   CATCH (ex, RETURN_MASK_ERROR)
     {
@@ -1918,7 +1918,7 @@ displaced_step_prepare (ptid_t ptid)
 
       /* Disable further displaced stepping attempts.  */
       displaced_state
-	= get_displaced_stepping_state (ptid_get_pid (ptid));
+	= get_displaced_stepping_state (thread->inf);
       displaced_state->failed_before = 1;
     }
   END_CATCH
@@ -1960,30 +1960,29 @@ displaced_step_restore (struct displaced
    -1.  If the thread wasn't displaced stepping, return 0.  */
 
 static int
-displaced_step_fixup (ptid_t event_ptid, enum gdb_signal signal)
+displaced_step_fixup (thread_info *event_thread, enum gdb_signal signal)
 {
   struct cleanup *old_cleanups;
   struct displaced_step_inferior_state *displaced
-    = get_displaced_stepping_state (ptid_get_pid (event_ptid));
+    = get_displaced_stepping_state (event_thread->inf);
   int ret;
 
   /* Was any thread of this process doing a displaced step?  */
   if (displaced == NULL)
     return 0;
 
-  /* Was this event for the pid we displaced?  */
-  if (ptid_equal (displaced->step_ptid, null_ptid)
-      || ! ptid_equal (displaced->step_ptid, event_ptid))
+  /* Was this event for the thread we displaced?  */
+  if (displaced->step_thread != event_thread)
     return 0;
 
   old_cleanups = make_cleanup (displaced_step_clear_cleanup, displaced);
 
-  displaced_step_restore (displaced, displaced->step_ptid);
+  displaced_step_restore (displaced, displaced->step_thread->ptid);
 
   /* Fixup may need to read memory/registers.  Switch to the thread
      that we're fixing up.  Also, target_stopped_by_watchpoint checks
      the current thread.  */
-  switch_to_thread (event_ptid);
+  switch_to_thread (event_thread);
 
   /* Did the instruction complete successfully?  */
   if (signal == GDB_SIGNAL_TRAP
@@ -1996,14 +1995,14 @@ displaced_step_fixup (ptid_t event_ptid,
                                     displaced->step_closure,
                                     displaced->step_original,
                                     displaced->step_copy,
-                                    get_thread_regcache (displaced->step_ptid));
+                                    get_thread_regcache (displaced->step_thread));
       ret = 1;
     }
   else
     {
       /* Since the instruction didn't complete, all we can do is
          relocate the PC.  */
-      struct regcache *regcache = get_thread_regcache (event_ptid);
+      struct regcache *regcache = get_thread_regcache (event_thread);
       CORE_ADDR pc = regcache_read_pc (regcache);
 
       pc = displaced->step_original + (pc - displaced->step_copy);
@@ -2013,7 +2012,7 @@ displaced_step_fixup (ptid_t event_ptid,
 
   do_cleanups (old_cleanups);
 
-  displaced->step_ptid = null_ptid;
+  displaced->step_thread = nullptr;
 
   return ret;
 }
@@ -2082,7 +2081,7 @@ start_step_over (void)
 
       /* If this inferior already has a displaced step in process,
 	 don't start a new one.  */
-      if (displaced_step_in_progress (ptid_get_pid (tp->ptid)))
+      if (displaced_step_in_progress (tp->inf))
 	continue;
 
       step_what = thread_still_needs_step_over (tp);
@@ -2132,7 +2131,7 @@ start_step_over (void)
       if (!target_is_non_stop_p () && !step_what)
 	continue;
 
-      switch_to_thread (tp->ptid);
+      switch_to_thread (tp);
       reset_ecs (ecs, tp);
       keep_going_pass_signal (ecs);
 
@@ -2177,16 +2176,8 @@ infrun_thread_ptid_changed (ptid_t old_p
 {
   struct displaced_step_inferior_state *displaced;
 
-  if (ptid_equal (inferior_ptid, old_ptid))
+  if (inferior_ptid == old_ptid)
     inferior_ptid = new_ptid;
-
-  for (displaced = displaced_step_inferior_states;
-       displaced;
-       displaced = displaced->next)
-    {
-      if (ptid_equal (displaced->step_ptid, old_ptid))
-	displaced->step_ptid = new_ptid;
-    }
 }
 
 
@@ -2277,7 +2268,7 @@ user_visible_resume_ptid (int step)
     {
       /* Resume all threads of the current process (and none of other
 	 processes).  */
-      resume_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
+      resume_ptid = ptid_t (inferior_ptid.pid ());
     }
   else
     {
@@ -2344,7 +2335,7 @@ do_target_resume (ptid_t resume_ptid, in
        return to the scratch pad area, which would no longer be
        valid.  */
   if (step_over_info_valid_p ()
-      || displaced_step_in_progress (ptid_get_pid (tp->ptid)))
+      || displaced_step_in_progress (tp->inf))
     target_pass_signals (0, NULL);
   else
     target_pass_signals ((int) GDB_SIGNAL_LAST, signal_pass);
@@ -2408,7 +2399,11 @@ resume_1 (enum gdb_signal sig)
       tp->suspend.stop_signal = GDB_SIGNAL_0;
 
       if (target_can_async_p ())
-	target_async (1);
+	{
+	  target_async (1);
+	  /* Tell the event loop we have an event to process. */
+	  mark_async_event_handler (infrun_async_inferior_event_token);
+	}
       return;
     }
 
@@ -2545,7 +2540,7 @@ resume_1 (enum gdb_signal sig)
       && sig == GDB_SIGNAL_0
       && !current_inferior ()->waiting_for_vfork_done)
     {
-      int prepared = displaced_step_prepare (inferior_ptid);
+      int prepared = displaced_step_prepare (tp);
 
       if (prepared == 0)
 	{
@@ -2576,9 +2571,9 @@ resume_1 (enum gdb_signal sig)
 
 	  /* Update pc to reflect the new address from which we will
 	     execute instructions due to displaced stepping.  */
-	  pc = regcache_read_pc (get_thread_regcache (inferior_ptid));
+	  pc = regcache_read_pc (get_thread_regcache (tp));
 
-	  displaced = get_displaced_stepping_state (ptid_get_pid (inferior_ptid));
+	  displaced = get_displaced_stepping_state (tp->inf);
 	  step = gdbarch_displaced_step_hw_singlestep (gdbarch,
 						       displaced->step_closure);
 	}
@@ -2707,7 +2702,7 @@ resume_1 (enum gdb_signal sig)
       && use_displaced_stepping (tp)
       && !step_over_info_valid_p ())
     {
-      struct regcache *resume_regcache = get_thread_regcache (tp->ptid);
+      struct regcache *resume_regcache = get_thread_regcache (tp);
       struct gdbarch *resume_gdbarch = resume_regcache->arch ();
       CORE_ADDR actual_pc = regcache_read_pc (resume_regcache);
       gdb_byte buf[4];
@@ -2882,13 +2877,13 @@ clear_proceed_status (int step)
 	 we're about to resume, implicitly and explicitly.  */
       ALL_NON_EXITED_THREADS (tp)
         {
-	  if (!ptid_match (tp->ptid, resume_ptid))
+	  if (!tp->ptid.matches (resume_ptid))
 	    continue;
 	  clear_proceed_status_thread (tp);
 	}
     }
 
-  if (!ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid != null_ptid)
     {
       struct inferior *inferior;
 
@@ -2903,7 +2898,7 @@ clear_proceed_status (int step)
       inferior->control.stop_soon = NO_STOP_QUIETLY;
     }
 
-  observer_notify_about_to_proceed ();
+  gdb::observers::about_to_proceed.notify ();
 }
 
 /* Returns true if TP is still stopped at a breakpoint that needs
@@ -2915,7 +2910,7 @@ thread_still_needs_step_over_bp (struct 
 {
   if (tp->stepping_over_breakpoint)
     {
-      struct regcache *regcache = get_thread_regcache (tp->ptid);
+      struct regcache *regcache = get_thread_regcache (tp);
 
       if (breakpoint_here_p (regcache->aspace (),
 			     regcache_read_pc (regcache))
@@ -2983,7 +2978,6 @@ proceed (CORE_ADDR addr, enum gdb_signal
   ptid_t resume_ptid;
   struct execution_control_state ecss;
   struct execution_control_state *ecs = &ecss;
-  struct cleanup *old_chain;
   int started;
 
   /* If we're stopped at a fork/vfork, follow the branch set by the
@@ -3015,7 +3009,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
 
   if (addr == (CORE_ADDR) -1)
     {
-      if (pc == stop_pc
+      if (pc == tp->suspend.stop_pc
 	  && breakpoint_here_p (aspace, pc) == ordinary_breakpoint_here
 	  && execution_direction != EXEC_REVERSE)
 	/* There is a breakpoint at the address we will resume at,
@@ -3047,7 +3041,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
   /* If an exception is thrown from this point on, make sure to
      propagate GDB's knowledge of the executing state to the
      frontend/user running state.  */
-  old_chain = make_cleanup (finish_thread_state_cleanup, &resume_ptid);
+  scoped_finish_thread_state finish_state (resume_ptid);
 
   /* Even if RESUME_PTID is a wildcard, and we end up resuming fewer
      threads (e.g., we might need to set threads stepping over
@@ -3101,7 +3095,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
 	    continue;
 
 	  /* Ignore threads of processes we're not resuming.  */
-	  if (!ptid_match (tp->ptid, resume_ptid))
+	  if (!tp->ptid.matches (resume_ptid))
 	    continue;
 
 	  if (!thread_still_needs_step_over (tp))
@@ -3155,7 +3149,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
 	ALL_NON_EXITED_THREADS (tp)
         {
 	  /* Ignore threads of processes we're not resuming.  */
-	  if (!ptid_match (tp->ptid, resume_ptid))
+	  if (!tp->ptid.matches (resume_ptid))
 	    continue;
 
 	  if (tp->resumed)
@@ -3183,7 +3177,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
 				target_pid_to_str (tp->ptid));
 
 	  reset_ecs (ecs, tp);
-	  switch_to_thread (tp->ptid);
+	  switch_to_thread (tp);
 	  keep_going_pass_signal (ecs);
 	  if (!ecs->wait_some_more)
 	    error (_("Command aborted."));
@@ -3193,7 +3187,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
       {
 	/* The thread wasn't started, and isn't queued, run it now.  */
 	reset_ecs (ecs, tp);
-	switch_to_thread (tp->ptid);
+	switch_to_thread (tp);
 	keep_going_pass_signal (ecs);
 	if (!ecs->wait_some_more)
 	  error (_("Command aborted."));
@@ -3202,7 +3196,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
 
   target_commit_resume ();
 
-  discard_cleanups (old_chain);
+  finish_state.release ();
 
   /* Tell the event loop to wait for it to stop.  If the target
      supports asynchronous execution, it'll do this from within
@@ -3241,7 +3235,7 @@ start_remote (int from_tty)
   /* Now that the inferior has stopped, do any bookkeeping like
      loading shared libraries.  We want to do this before normal_stop,
      so that the displayed frame is up to date.  */
-  post_create_inferior (&current_target, from_tty);
+  post_create_inferior (current_top_target (), from_tty);
 
   normal_stop ();
 }
@@ -3297,7 +3291,7 @@ infrun_thread_stop_requested (ptid_t pti
      thread had been temporarily paused for some step-over), set up
      for reporting the stop now.  */
   ALL_NON_EXITED_THREADS (tp)
-    if (ptid_match (tp->ptid, ptid))
+    if (tp->ptid.matches (ptid))
       {
 	if (tp->state != THREAD_RUNNING)
 	  continue;
@@ -3342,7 +3336,7 @@ infrun_thread_stop_requested (ptid_t pti
 static void
 infrun_thread_thread_exit (struct thread_info *tp, int silent)
 {
-  if (ptid_equal (target_last_wait_ptid, tp->ptid))
+  if (target_last_wait_ptid == tp->ptid)
     nullify_last_target_wait_ptid ();
 }
 
@@ -3367,7 +3361,7 @@ typedef void (*for_each_just_stopped_thr
 static void
 for_each_just_stopped_thread (for_each_just_stopped_thread_callback_func func)
 {
-  if (!target_has_execution || ptid_equal (inferior_ptid, null_ptid))
+  if (!target_has_execution || inferior_ptid == null_ptid)
     return;
 
   if (target_is_non_stop_p ())
@@ -3428,16 +3422,16 @@ print_target_wait_results (ptid_t waiton
      is set.  */
 
   stb.printf ("infrun: target_wait (%d.%ld.%ld",
-	      ptid_get_pid (waiton_ptid),
-	      ptid_get_lwp (waiton_ptid),
-	      ptid_get_tid (waiton_ptid));
-  if (ptid_get_pid (waiton_ptid) != -1)
+	      waiton_ptid.pid (),
+	      waiton_ptid.lwp (),
+	      waiton_ptid.tid ());
+  if (waiton_ptid.pid () != -1)
     stb.printf (" [%s]", target_pid_to_str (waiton_ptid));
   stb.printf (", status) =\n");
   stb.printf ("infrun:   %d.%ld.%ld [%s],\n",
-	      ptid_get_pid (result_ptid),
-	      ptid_get_lwp (result_ptid),
-	      ptid_get_tid (result_ptid),
+	      result_ptid.pid (),
+	      result_ptid.lwp (),
+	      result_ptid.tid (),
 	      target_pid_to_str (result_ptid));
   stb.printf ("infrun:   %s\n", status_string.c_str ());
 
@@ -3459,7 +3453,7 @@ random_pending_event_thread (ptid_t wait
   /* First see how many events we have.  Count only resumed threads
      that have an event pending.  */
   ALL_NON_EXITED_THREADS (event_tp)
-    if (ptid_match (event_tp->ptid, waiton_ptid)
+    if (event_tp->ptid.matches (waiton_ptid)
 	&& event_tp->resumed
 	&& event_tp->suspend.waitstatus_pending_p)
       num_events++;
@@ -3478,7 +3472,7 @@ random_pending_event_thread (ptid_t wait
 
   /* Select the Nth thread that has had an event.  */
   ALL_NON_EXITED_THREADS (event_tp)
-    if (ptid_match (event_tp->ptid, waiton_ptid)
+    if (event_tp->ptid.matches (waiton_ptid)
 	&& event_tp->resumed
 	&& event_tp->suspend.waitstatus_pending_p)
       if (random_selector-- == 0)
@@ -3499,7 +3493,7 @@ do_target_wait (ptid_t ptid, struct targ
 
   /* First check if there is a resumed thread with a wait status
      pending.  */
-  if (ptid_equal (ptid, minus_one_ptid) || ptid_is_pid (ptid))
+  if (ptid == minus_one_ptid || ptid.is_pid ())
     {
       tp = random_pending_event_thread (ptid);
     }
@@ -3521,7 +3515,7 @@ do_target_wait (ptid_t ptid, struct targ
       && (tp->suspend.stop_reason == TARGET_STOPPED_BY_SW_BREAKPOINT
 	  || tp->suspend.stop_reason == TARGET_STOPPED_BY_HW_BREAKPOINT))
     {
-      struct regcache *regcache = get_thread_regcache (tp->ptid);
+      struct regcache *regcache = get_thread_regcache (tp);
       struct gdbarch *gdbarch = regcache->arch ();
       CORE_ADDR pc;
       int discard = 0;
@@ -3534,7 +3528,7 @@ do_target_wait (ptid_t ptid, struct targ
 	    fprintf_unfiltered (gdb_stdlog,
 				"infrun: PC of %s changed.  was=%s, now=%s\n",
 				target_pid_to_str (tp->ptid),
-				paddress (gdbarch, tp->prev_pc),
+				paddress (gdbarch, tp->suspend.stop_pc),
 				paddress (gdbarch, pc));
 	  discard = 1;
 	}
@@ -3584,7 +3578,7 @@ do_target_wait (ptid_t ptid, struct targ
 	  struct gdbarch *gdbarch;
 	  int decr_pc;
 
-	  regcache = get_thread_regcache (tp->ptid);
+	  regcache = get_thread_regcache (tp);
 	  gdbarch = regcache->arch ();
 
 	  decr_pc = gdbarch_decr_pc_after_break (gdbarch);
@@ -3627,14 +3621,13 @@ void
 prepare_for_detach (void)
 {
   struct inferior *inf = current_inferior ();
-  ptid_t pid_ptid = pid_to_ptid (inf->pid);
-  struct displaced_step_inferior_state *displaced;
+  ptid_t pid_ptid = ptid_t (inf->pid);
 
-  displaced = get_displaced_stepping_state (inf->pid);
+  displaced_step_inferior_state *displaced = get_displaced_stepping_state (inf);
 
   /* Is any thread of this process displaced stepping?  If not,
      there's nothing else to do.  */
-  if (displaced == NULL || ptid_equal (displaced->step_ptid, null_ptid))
+  if (displaced == NULL || displaced->step_thread == nullptr)
     return;
 
   if (debug_infrun)
@@ -3643,9 +3636,8 @@ prepare_for_detach (void)
 
   scoped_restore restore_detaching = make_scoped_restore (&inf->detaching, true);
 
-  while (!ptid_equal (displaced->step_ptid, null_ptid))
+  while (displaced->step_thread != nullptr)
     {
-      struct cleanup *old_chain_2;
       struct execution_control_state ecss;
       struct execution_control_state *ecs;
 
@@ -3667,14 +3659,13 @@ prepare_for_detach (void)
       /* If an error happens while handling the event, propagate GDB's
 	 knowledge of the executing state to the frontend/user running
 	 state.  */
-      old_chain_2 = make_cleanup (finish_thread_state_cleanup,
-				  &minus_one_ptid);
+      scoped_finish_thread_state finish_state (minus_one_ptid);
 
       /* Now figure out what to do with the result of the result.  */
       handle_inferior_event (ecs);
 
       /* No error, don't finish the state yet.  */
-      discard_cleanups (old_chain_2);
+      finish_state.release ();
 
       /* Breakpoints and watchpoints are not installed on the target
 	 at this point, and signals are passed directly to the
@@ -3700,7 +3691,6 @@ void
 wait_for_inferior (void)
 {
   struct cleanup *old_cleanups;
-  struct cleanup *thread_state_chain;
 
   if (debug_infrun)
     fprintf_unfiltered
@@ -3713,7 +3703,7 @@ wait_for_inferior (void)
   /* If an error happens while handling the event, propagate GDB's
      knowledge of the executing state to the frontend/user running
      state.  */
-  thread_state_chain = make_cleanup (finish_thread_state_cleanup, &minus_one_ptid);
+  scoped_finish_thread_state finish_state (minus_one_ptid);
 
   while (1)
     {
@@ -3744,7 +3734,7 @@ wait_for_inferior (void)
     }
 
   /* No error, don't finish the state yet.  */
-  discard_cleanups (thread_state_chain);
+  finish_state.release ();
 
   do_cleanups (old_cleanups);
 }
@@ -3798,12 +3788,12 @@ clean_up_just_stopped_threads_fsms (stru
 	  if (thr == ecs->event_thread)
 	    continue;
 
-	  switch_to_thread (thr->ptid);
+	  switch_to_thread (thr);
 	  thread_fsm_clean_up (thr->thread_fsm, thr);
 	}
 
       if (ecs->event_thread != NULL)
-	switch_to_thread (ecs->event_thread->ptid);
+	switch_to_thread (ecs->event_thread);
     }
 }
 
@@ -3820,7 +3810,7 @@ check_curr_ui_sync_execution_done (void)
       && !gdb_in_secondary_prompt_p (ui))
     {
       target_terminal::ours ();
-      observer_notify_sync_execution_done ();
+      gdb::observers::sync_execution_done.notify ();
       ui_register_input_event_handler (ui);
     }
 }
@@ -3863,7 +3853,6 @@ fetch_inferior_event (void *client_data)
   struct execution_control_state ecss;
   struct execution_control_state *ecs = &ecss;
   struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
-  struct cleanup *ts_old_chain;
   int cmd_done = 0;
   ptid_t waiton_ptid = minus_one_ptid;
 
@@ -3881,9 +3870,10 @@ fetch_inferior_event (void *client_data)
      debugging.  If we're looking at traceframes while the target is
      running, we're going to need to get back to that mode after
      handling the event.  */
+  gdb::optional<scoped_restore_current_traceframe> maybe_restore_traceframe;
   if (non_stop)
     {
-      make_cleanup_restore_current_traceframe ();
+      maybe_restore_traceframe.emplace ();
       set_current_traceframe (-1);
     }
 
@@ -3915,14 +3905,12 @@ fetch_inferior_event (void *client_data)
   /* If an error happens while handling the event, propagate GDB's
      knowledge of the executing state to the frontend/user running
      state.  */
-  if (!target_is_non_stop_p ())
-    ts_old_chain = make_cleanup (finish_thread_state_cleanup, &minus_one_ptid);
-  else
-    ts_old_chain = make_cleanup (finish_thread_state_cleanup, &ecs->ptid);
+  ptid_t finish_ptid = !target_is_non_stop_p () ? minus_one_ptid : ecs->ptid;
+  scoped_finish_thread_state finish_state (finish_ptid);
 
   /* Get executed before make_cleanup_restore_current_thread above to apply
      still for the thread which has thrown the exception.  */
-  make_bpstat_clear_actions_cleanup ();
+  struct cleanup *ts_old_chain = make_bpstat_clear_actions_cleanup ();
 
   make_cleanup (delete_just_stopped_threads_infrun_breakpoints_cleanup, NULL);
 
@@ -3934,7 +3922,6 @@ fetch_inferior_event (void *client_data)
       struct inferior *inf = find_inferior_ptid (ecs->ptid);
       int should_stop = 1;
       struct thread_info *thr = ecs->event_thread;
-      int should_notify_stop = 1;
 
       delete_just_stopped_threads_infrun_breakpoints ();
 
@@ -3952,6 +3939,9 @@ fetch_inferior_event (void *client_data)
 	}
       else
 	{
+	  int should_notify_stop = 1;
+	  int proceeded = 0;
+
 	  clean_up_just_stopped_threads_fsms (ecs);
 
 	  if (thr != NULL && thr->thread_fsm != NULL)
@@ -3962,24 +3952,24 @@ fetch_inferior_event (void *client_data)
 
 	  if (should_notify_stop)
 	    {
-	      int proceeded = 0;
-
 	      /* We may not find an inferior if this was a process exit.  */
 	      if (inf == NULL || inf->control.stop_soon == NO_STOP_QUIETLY)
 		proceeded = normal_stop ();
+	    }
 
-	      if (!proceeded)
-		{
-		  inferior_event_handler (INF_EXEC_COMPLETE, NULL);
-		  cmd_done = 1;
-		}
+	  if (!proceeded)
+	    {
+	      inferior_event_handler (INF_EXEC_COMPLETE, NULL);
+	      cmd_done = 1;
 	    }
 	}
     }
 
-  /* No error, don't finish the thread states yet.  */
   discard_cleanups (ts_old_chain);
 
+  /* No error, don't finish the thread states yet.  */
+  finish_state.release ();
+
   /* Revert thread and frame.  */
   do_cleanups (old_chain);
 
@@ -3990,8 +3980,8 @@ fetch_inferior_event (void *client_data)
 
   if (cmd_done
       && exec_done_display_p
-      && (ptid_equal (inferior_ptid, null_ptid)
-	  || !is_running (inferior_ptid)))
+      && (inferior_ptid == null_ptid
+	  || inferior_thread ()->state != THREAD_RUNNING))
     printf_unfiltered (_("completed.\n"));
 }
 
@@ -4049,17 +4039,19 @@ nullify_last_target_wait_ptid (void)
 /* Switch thread contexts.  */
 
 static void
-context_switch (ptid_t ptid)
+context_switch (execution_control_state *ecs)
 {
-  if (debug_infrun && !ptid_equal (ptid, inferior_ptid))
+  if (debug_infrun
+      && ecs->ptid != inferior_ptid
+      && ecs->event_thread != inferior_thread ())
     {
       fprintf_unfiltered (gdb_stdlog, "infrun: Switching context from %s ",
 			  target_pid_to_str (inferior_ptid));
       fprintf_unfiltered (gdb_stdlog, "to %s\n",
-			  target_pid_to_str (ptid));
+			  target_pid_to_str (ecs->ptid));
     }
 
-  switch_to_thread (ptid);
+  switch_to_thread (ecs->event_thread);
 }
 
 /* If the target can't tell whether we've hit breakpoints
@@ -4145,7 +4137,7 @@ adjust_pc_after_break (struct thread_inf
 
   /* If this target does not decrement the PC after breakpoints, then
      we have nothing to do.  */
-  regcache = get_thread_regcache (thread->ptid);
+  regcache = get_thread_regcache (thread);
   gdbarch = regcache->arch ();
 
   decr_pc = gdbarch_decr_pc_after_break (gdbarch);
@@ -4253,12 +4245,11 @@ handle_syscall_event (struct execution_c
   struct regcache *regcache;
   int syscall_number;
 
-  if (!ptid_equal (ecs->ptid, inferior_ptid))
-    context_switch (ecs->ptid);
+  context_switch (ecs);
 
-  regcache = get_thread_regcache (ecs->ptid);
+  regcache = get_thread_regcache (ecs->event_thread);
   syscall_number = ecs->ws.value.syscall_number;
-  stop_pc = regcache_read_pc (regcache);
+  ecs->event_thread->suspend.stop_pc = regcache_read_pc (regcache);
 
   if (catch_syscall_enabled () > 0
       && catching_syscall_number (syscall_number) > 0)
@@ -4269,7 +4260,8 @@ handle_syscall_event (struct execution_c
 
       ecs->event_thread->control.stop_bpstat
 	= bpstat_stop_status (regcache->aspace (),
-			      stop_pc, ecs->ptid, &ecs->ws);
+			      ecs->event_thread->suspend.stop_pc,
+			      ecs->event_thread, &ecs->ws);
 
       if (handle_stop_requested (ecs))
 	return 0;
@@ -4299,7 +4291,8 @@ fill_in_stop_func (struct gdbarch *gdbar
     {
       /* Don't care about return value; stop_func_start and stop_func_name
 	 will both be 0 if it doesn't work.  */
-      find_pc_partial_function (stop_pc, &ecs->stop_func_name,
+      find_pc_partial_function (ecs->event_thread->suspend.stop_pc,
+				&ecs->stop_func_name,
 				&ecs->stop_func_start, &ecs->stop_func_end);
       ecs->stop_func_start
 	+= gdbarch_deprecated_function_start_offset (gdbarch);
@@ -4313,12 +4306,12 @@ fill_in_stop_func (struct gdbarch *gdbar
 }
 
 
-/* Return the STOP_SOON field of the inferior pointed at by PTID.  */
+/* Return the STOP_SOON field of the inferior pointed at by ECS.  */
 
 static enum stop_kind
-get_inferior_stop_soon (ptid_t ptid)
+get_inferior_stop_soon (execution_control_state *ecs)
 {
-  struct inferior *inf = find_inferior_ptid (ptid);
+  struct inferior *inf = find_inferior_ptid (ecs->ptid);
 
   gdb_assert (inf != NULL);
   return inf->control.stop_soon;
@@ -4371,23 +4364,11 @@ THREAD_STOPPED_BY (sw_breakpoint)
 /* Generate thread_stopped_by_hw_breakpoint.  */
 THREAD_STOPPED_BY (hw_breakpoint)
 
-/* Cleanups that switches to the PTID pointed at by PTID_P.  */
-
-static void
-switch_to_thread_cleanup (void *ptid_p)
-{
-  ptid_t ptid = *(ptid_t *) ptid_p;
-
-  switch_to_thread (ptid);
-}
-
 /* Save the thread's event and stop reason to process it later.  */
 
 static void
 save_waitstatus (struct thread_info *tp, struct target_waitstatus *ws)
 {
-  struct regcache *regcache;
-
   if (debug_infrun)
     {
       std::string statstr = target_waitstatus_to_string (ws);
@@ -4395,16 +4376,16 @@ save_waitstatus (struct thread_info *tp,
       fprintf_unfiltered (gdb_stdlog,
 			  "infrun: saving status %s for %d.%ld.%ld\n",
 			  statstr.c_str (),
-			  ptid_get_pid (tp->ptid),
-			  ptid_get_lwp (tp->ptid),
-			  ptid_get_tid (tp->ptid));
+			  tp->ptid.pid (),
+			  tp->ptid.lwp (),
+			  tp->ptid.tid ());
     }
 
   /* Record for later.  */
   tp->suspend.waitstatus = *ws;
   tp->suspend.waitstatus_pending_p = 1;
 
-  regcache = get_thread_regcache (tp->ptid);
+  struct regcache *regcache = get_thread_regcache (tp);
   const address_space *aspace = regcache->aspace ();
 
   if (ws->kind == TARGET_WAITKIND_STOPPED
@@ -4470,7 +4451,6 @@ stop_all_threads (void)
   /* We may need multiple passes to discover all threads.  */
   int pass;
   int iterations = 0;
-  ptid_t entry_ptid;
   struct cleanup *old_chain;
 
   gdb_assert (target_is_non_stop_p ());
@@ -4478,11 +4458,10 @@ stop_all_threads (void)
   if (debug_infrun)
     fprintf_unfiltered (gdb_stdlog, "infrun: stop_all_threads\n");
 
-  entry_ptid = inferior_ptid;
-  old_chain = make_cleanup (switch_to_thread_cleanup, &entry_ptid);
+  scoped_restore_current_thread restore_thread;
 
   target_thread_events (1);
-  make_cleanup (disable_thread_events, NULL);
+  old_chain = make_cleanup (disable_thread_events, NULL);
 
   /* Request threads to stop, and then wait for the stops.  Because
      threads we already know about can spawn more threads while we're
@@ -4557,6 +4536,7 @@ stop_all_threads (void)
 	    pass = -1;
 
 	  event_ptid = wait_one (&ws);
+
 	  if (ws.kind == TARGET_WAITKIND_NO_RESUMED)
 	    {
 	      /* All resumed threads exited.  */
@@ -4567,7 +4547,7 @@ stop_all_threads (void)
 	    {
 	      if (debug_infrun)
 		{
-		  ptid_t ptid = pid_to_ptid (ws.value.integer);
+		  ptid_t ptid = ptid_t (ws.value.integer);
 
 		  fprintf_unfiltered (gdb_stdlog,
 				      "infrun: %s exited while "
@@ -4577,7 +4557,7 @@ stop_all_threads (void)
 	    }
 	  else
 	    {
-	      struct inferior *inf;
+	      inferior *inf;
 
 	      t = find_thread_ptid (event_ptid);
 	      if (t == NULL)
@@ -4605,7 +4585,7 @@ stop_all_threads (void)
 		  t->suspend.waitstatus.kind = TARGET_WAITKIND_IGNORE;
 		  t->suspend.waitstatus_pending_p = 0;
 
-		  if (displaced_step_fixup (t->ptid, GDB_SIGNAL_0) < 0)
+		  if (displaced_step_fixup (t, GDB_SIGNAL_0) < 0)
 		    {
 		      /* Add it back to the step-over queue.  */
 		      if (debug_infrun)
@@ -4633,9 +4613,9 @@ stop_all_threads (void)
 					  "infrun: target_wait %s, saving "
 					  "status for %d.%ld.%ld\n",
 					  statstr.c_str (),
-					  ptid_get_pid (t->ptid),
-					  ptid_get_lwp (t->ptid),
-					  ptid_get_tid (t->ptid));
+					  t->ptid.pid (),
+					  t->ptid.lwp (),
+					  t->ptid.tid ());
 		    }
 
 		  /* Record for later.  */
@@ -4644,14 +4624,14 @@ stop_all_threads (void)
 		  sig = (ws.kind == TARGET_WAITKIND_STOPPED
 			 ? ws.value.sig : GDB_SIGNAL_0);
 
-		  if (displaced_step_fixup (t->ptid, sig) < 0)
+		  if (displaced_step_fixup (t, sig) < 0)
 		    {
 		      /* Add it back to the step-over queue.  */
 		      t->control.trap_expected = 0;
 		      thread_step_over_chain_enqueue (t);
 		    }
 
-		  regcache = get_thread_regcache (t->ptid);
+		  regcache = get_thread_regcache (t);
 		  t->suspend.stop_pc = regcache_read_pc (regcache);
 
 		  if (debug_infrun)
@@ -4770,7 +4750,7 @@ handle_no_resumed (struct execution_cont
       if (inf->pid == 0)
 	continue;
 
-      thread = any_live_thread_of_process (inf->pid);
+      thread_info *thread = any_live_thread_of_inferior (inf);
       if (thread == NULL)
 	{
 	  if (debug_infrun)
@@ -4887,7 +4867,7 @@ handle_inferior_event_1 (struct executio
 	  || ecs->ws.value.sig == GDB_SIGNAL_SEGV
 	  || ecs->ws.value.sig == GDB_SIGNAL_EMT))
     {
-      struct regcache *regcache = get_thread_regcache (ecs->ptid);
+      struct regcache *regcache = get_thread_regcache (ecs->event_thread);
 
       if (breakpoint_inserted_here_p (regcache->aspace (),
 				      regcache_read_pc (regcache)))
@@ -4924,7 +4904,7 @@ handle_inferior_event_1 (struct executio
 	   process as not-executing so that finish_thread_state marks
 	   them stopped (in the user's perspective) if/when we present
 	   the stop to the user.  */
-	mark_ptid = pid_to_ptid (ptid_get_pid (ecs->ptid));
+	mark_ptid = ptid_t (ecs->ptid.pid ());
       }
     else
       mark_ptid = ecs->ptid;
@@ -4940,8 +4920,7 @@ handle_inferior_event_1 (struct executio
     case TARGET_WAITKIND_LOADED:
       if (debug_infrun)
         fprintf_unfiltered (gdb_stdlog, "infrun: TARGET_WAITKIND_LOADED\n");
-      if (!ptid_equal (ecs->ptid, inferior_ptid))
-	context_switch (ecs->ptid);
+      context_switch (ecs);
       /* Ignore gracefully during startup of the inferior, as it might
          be the shell which has just loaded some objects, otherwise
          add the symbols for the newly loaded objects.  Also ignore at
@@ -4949,18 +4928,19 @@ handle_inferior_event_1 (struct executio
          the full list of libraries once the connection is
          established.  */
 
-      stop_soon = get_inferior_stop_soon (ecs->ptid);
+      stop_soon = get_inferior_stop_soon (ecs);
       if (stop_soon == NO_STOP_QUIETLY)
 	{
 	  struct regcache *regcache;
 
-	  regcache = get_thread_regcache (ecs->ptid);
+	  regcache = get_thread_regcache (ecs->event_thread);
 
 	  handle_solib_event ();
 
 	  ecs->event_thread->control.stop_bpstat
 	    = bpstat_stop_status (regcache->aspace (),
-				  stop_pc, ecs->ptid, &ecs->ws);
+				  ecs->event_thread->suspend.stop_pc,
+				  ecs->event_thread, &ecs->ws);
 
 	  if (handle_stop_requested (ecs))
 	    return;
@@ -5021,8 +5001,7 @@ handle_inferior_event_1 (struct executio
         fprintf_unfiltered (gdb_stdlog, "infrun: TARGET_WAITKIND_SPURIOUS\n");
       if (handle_stop_requested (ecs))
 	return;
-      if (!ptid_equal (ecs->ptid, inferior_ptid))
-	context_switch (ecs->ptid);
+      context_switch (ecs);
       resume (GDB_SIGNAL_0);
       prepare_to_wait (ecs);
       return;
@@ -5032,8 +5011,7 @@ handle_inferior_event_1 (struct executio
         fprintf_unfiltered (gdb_stdlog, "infrun: TARGET_WAITKIND_THREAD_CREATED\n");
       if (handle_stop_requested (ecs))
 	return;
-      if (!ptid_equal (ecs->ptid, inferior_ptid))
-	context_switch (ecs->ptid);
+      context_switch (ecs);
       if (!switch_back_to_stepped_thread (ecs))
 	keep_going (ecs);
       return;
@@ -5073,12 +5051,11 @@ handle_inferior_event_1 (struct executio
 	  /* Support the --return-child-result option.  */
 	  return_child_result_value = ecs->ws.value.integer;
 
-	  observer_notify_exited (ecs->ws.value.integer);
+	  gdb::observers::exited.notify (ecs->ws.value.integer);
 	}
       else
 	{
-	  struct regcache *regcache = get_thread_regcache (ecs->ptid);
-	  struct gdbarch *gdbarch = regcache->arch ();
+	  struct gdbarch *gdbarch = current_inferior ()->gdbarch;
 
 	  if (gdbarch_gdb_signal_to_target_p (gdbarch))
 	    {
@@ -5102,7 +5079,7 @@ handle_inferior_event_1 (struct executio
 Cannot fill $_exitsignal with the correct signal number.\n"));
 	    }
 
-	  observer_notify_signal_exited (ecs->ws.value.sig);
+	  gdb::observers::signal_exited.notify (ecs->ws.value.sig);
 	}
 
       gdb_flush (gdb_stdout);
@@ -5125,12 +5102,12 @@ Cannot fill $_exitsignal with the correc
 
       /* Check whether the inferior is displaced stepping.  */
       {
-	struct regcache *regcache = get_thread_regcache (ecs->ptid);
+	struct regcache *regcache = get_thread_regcache (ecs->event_thread);
 	struct gdbarch *gdbarch = regcache->arch ();
 
 	/* If checking displaced stepping is supported, and thread
 	   ecs->ptid is displaced stepping.  */
-	if (displaced_step_in_progress_thread (ecs->ptid))
+	if (displaced_step_in_progress_thread (ecs->event_thread))
 	  {
 	    struct inferior *parent_inf
 	      = find_inferior_ptid (ecs->ptid);
@@ -5142,7 +5119,7 @@ Cannot fill $_exitsignal with the correc
 	       has been done.  Perform cleanup for parent process here.  Note
 	       that this operation also cleans up the child process for vfork,
 	       because their pages are shared.  */
-	    displaced_step_fixup (ecs->ptid, GDB_SIGNAL_TRAP);
+	    displaced_step_fixup (ecs->event_thread, GDB_SIGNAL_TRAP);
 	    /* Start a new step-over in another thread if there's one
 	       that needs it.  */
 	    start_step_over ();
@@ -5150,7 +5127,7 @@ Cannot fill $_exitsignal with the correc
 	    if (ecs->ws.kind == TARGET_WAITKIND_FORKED)
 	      {
 		struct displaced_step_inferior_state *displaced
-		  = get_displaced_stepping_state (ptid_get_pid (ecs->ptid));
+		  = get_displaced_stepping_state (parent_inf);
 
 		/* Restore scratch pad for child process.  */
 		displaced_step_restore (displaced, ecs->ws.value.related_pid);
@@ -5181,8 +5158,7 @@ Cannot fill $_exitsignal with the correc
 	  }
       }
 
-      if (!ptid_equal (ecs->ptid, inferior_ptid))
-	context_switch (ecs->ptid);
+      context_switch (ecs);
 
       /* Immediately detach breakpoints from the child before there's
 	 any chance of letting the user delete breakpoints from the
@@ -5210,11 +5186,13 @@ Cannot fill $_exitsignal with the correc
 	 and not immediately.  */
       ecs->event_thread->pending_follow = ecs->ws;
 
-      stop_pc = regcache_read_pc (get_thread_regcache (ecs->ptid));
+      ecs->event_thread->suspend.stop_pc
+	= regcache_read_pc (get_thread_regcache (ecs->event_thread));
 
       ecs->event_thread->control.stop_bpstat
 	= bpstat_stop_status (get_current_regcache ()->aspace (),
-			      stop_pc, ecs->ptid, &ecs->ws);
+			      ecs->event_thread->suspend.stop_pc,
+			      ecs->event_thread, &ecs->ws);
 
       if (handle_stop_requested (ecs))
 	return;
@@ -5225,8 +5203,6 @@ Cannot fill $_exitsignal with the correc
 	 watchpoints, for example, always appear in the bpstat.  */
       if (!bpstat_causes_stop (ecs->event_thread->control.stop_bpstat))
 	{
-	  ptid_t parent;
-	  ptid_t child;
 	  int should_resume;
 	  int follow_child
 	    = (follow_fork_mode_string == follow_fork_mode_child);
@@ -5235,19 +5211,19 @@ Cannot fill $_exitsignal with the correc
 
 	  should_resume = follow_fork ();
 
-	  parent = ecs->ptid;
-	  child = ecs->ws.value.related_pid;
+	  thread_info *parent = ecs->event_thread;
+	  thread_info *child = find_thread_ptid (ecs->ws.value.related_pid);
 
 	  /* At this point, the parent is marked running, and the
 	     child is marked stopped.  */
 
 	  /* If not resuming the parent, mark it stopped.  */
 	  if (follow_child && !detach_fork && !non_stop && !sched_multi)
-	    set_running (parent, 0);
+	    parent->set_running (false);
 
 	  /* If resuming the child, mark it running.  */
 	  if (follow_child || (!detach_fork && (non_stop || sched_multi)))
-	    set_running (child, 1);
+	    child->set_running (true);
 
 	  /* In non-stop mode, also resume the other branch.  */
 	  if (!detach_fork && (non_stop
@@ -5288,8 +5264,7 @@ Cannot fill $_exitsignal with the correc
 	fprintf_unfiltered (gdb_stdlog,
 			    "infrun: TARGET_WAITKIND_VFORK_DONE\n");
 
-      if (!ptid_equal (ecs->ptid, inferior_ptid))
-	context_switch (ecs->ptid);
+      context_switch (ecs);
 
       current_inferior ()->waiting_for_vfork_done = 0;
       current_inferior ()->pspace->breakpoints_not_allowed = 0;
@@ -5309,8 +5284,7 @@ Cannot fill $_exitsignal with the correc
       /* Note we can't read registers yet (the stop_pc), because we
 	 don't yet know the inferior's post-exec architecture.
 	 'stop_pc' is explicitly read below instead.  */
-      if (!ptid_equal (ecs->ptid, inferior_ptid))
-	switch_to_thread_no_regs (ecs->event_thread);
+      switch_to_thread_no_regs (ecs->event_thread);
 
       /* Do whatever is necessary to the parent branch of the vfork.  */
       handle_vfork_child_exec_or_exit (1);
@@ -5320,16 +5294,18 @@ Cannot fill $_exitsignal with the correc
          stop.  */
       follow_exec (inferior_ptid, ecs->ws.value.execd_pathname);
 
-      stop_pc = regcache_read_pc (get_thread_regcache (ecs->ptid));
-
       /* In follow_exec we may have deleted the original thread and
 	 created a new one.  Make sure that the event thread is the
 	 execd thread for that case (this is a nop otherwise).  */
       ecs->event_thread = inferior_thread ();
 
+      ecs->event_thread->suspend.stop_pc
+	= regcache_read_pc (get_thread_regcache (ecs->event_thread));
+
       ecs->event_thread->control.stop_bpstat
 	= bpstat_stop_status (get_current_regcache ()->aspace (),
-			      stop_pc, ecs->ptid, &ecs->ws);
+			      ecs->event_thread->suspend.stop_pc,
+			      ecs->event_thread, &ecs->ws);
 
       /* Note that this may be referenced from inside
 	 bpstat_stop_status above, through inferior_has_execd.  */
@@ -5385,18 +5361,18 @@ Cannot fill $_exitsignal with the correc
       /* Reverse execution: target ran out of history info.  */
 
       /* Switch to the stopped thread.  */
-      if (!ptid_equal (ecs->ptid, inferior_ptid))
-	context_switch (ecs->ptid);
+      context_switch (ecs);
       if (debug_infrun)
 	fprintf_unfiltered (gdb_stdlog, "infrun: stopped\n");
 
       delete_just_stopped_threads_single_step_breakpoints ();
-      stop_pc = regcache_read_pc (get_thread_regcache (inferior_ptid));
+      ecs->event_thread->suspend.stop_pc
+	= regcache_read_pc (get_thread_regcache (inferior_thread ()));
 
       if (handle_stop_requested (ecs))
 	return;
 
-      observer_notify_no_history ();
+      gdb::observers::no_history.notify ();
       stop_waiting (ecs);
       return;
     }
@@ -5516,7 +5492,7 @@ restart_threads (struct thread_info *eve
 				"infrun: restart threads: [%s] continuing\n",
 				target_pid_to_str (tp->ptid));
 	  reset_ecs (ecs, tp);
-	  switch_to_thread (tp->ptid);
+	  switch_to_thread (tp);
 	  keep_going_pass_signal (ecs);
 	}
     }
@@ -5544,7 +5520,7 @@ finish_step_over (struct execution_contr
 {
   int had_step_over_info;
 
-  displaced_step_fixup (ecs->ptid,
+  displaced_step_fixup (ecs->event_thread,
 			ecs->event_thread->suspend.stop_signal);
 
   had_step_over_info = step_over_info_valid_p ();
@@ -5582,7 +5558,7 @@ finish_step_over (struct execution_contr
 	 another thread has a pending event for this breakpoint too,
 	 we'd discard its event (because the breakpoint that
 	 originally caused the event was no longer inserted).  */
-      context_switch (ecs->ptid);
+      context_switch (ecs);
       insert_breakpoints ();
 
       restart_threads (ecs->event_thread);
@@ -5625,7 +5601,7 @@ finish_step_over (struct execution_contr
 
 	  gdb_assert (!tp->executing);
 
-	  regcache = get_thread_regcache (tp->ptid);
+	  regcache = get_thread_regcache (tp);
 	  tp->suspend.stop_pc = regcache_read_pc (regcache);
 
 	  if (debug_infrun)
@@ -5683,25 +5659,27 @@ handle_signal_stop (struct execution_con
       && ecs->event_thread->suspend.stop_signal == GDB_SIGNAL_TRAP)
     ecs->event_thread->suspend.stop_signal = GDB_SIGNAL_0;
 
-  stop_pc = regcache_read_pc (get_thread_regcache (ecs->ptid));
+  ecs->event_thread->suspend.stop_pc
+    = regcache_read_pc (get_thread_regcache (ecs->event_thread));
 
   if (debug_infrun)
     {
-      struct regcache *regcache = get_thread_regcache (ecs->ptid);
+      struct regcache *regcache = get_thread_regcache (ecs->event_thread);
       struct gdbarch *gdbarch = regcache->arch ();
       scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
 
       inferior_ptid = ecs->ptid;
 
       fprintf_unfiltered (gdb_stdlog, "infrun: stop_pc = %s\n",
-                          paddress (gdbarch, stop_pc));
+			  paddress (gdbarch,
+				    ecs->event_thread->suspend.stop_pc));
       if (target_stopped_by_watchpoint ())
 	{
           CORE_ADDR addr;
 
 	  fprintf_unfiltered (gdb_stdlog, "infrun: stopped by watchpoint\n");
 
-          if (target_stopped_data_address (&current_target, &addr))
+	  if (target_stopped_data_address (current_top_target (), &addr))
             fprintf_unfiltered (gdb_stdlog,
                                 "infrun: stopped data address = %s\n",
                                 paddress (gdbarch, addr));
@@ -5713,11 +5691,10 @@ handle_signal_stop (struct execution_con
 
   /* This is originated from start_remote(), start_inferior() and
      shared libraries hook functions.  */
-  stop_soon = get_inferior_stop_soon (ecs->ptid);
+  stop_soon = get_inferior_stop_soon (ecs);
   if (stop_soon == STOP_QUIETLY || stop_soon == STOP_QUIETLY_REMOTE)
     {
-      if (!ptid_equal (ecs->ptid, inferior_ptid))
-	context_switch (ecs->ptid);
+      context_switch (ecs);
       if (debug_infrun)
 	fprintf_unfiltered (gdb_stdlog, "infrun: quietly stopped\n");
       stop_print_frame = 1;
@@ -5758,15 +5735,15 @@ handle_signal_stop (struct execution_con
 
   /* See if something interesting happened to the non-current thread.  If
      so, then switch to that thread.  */
-  if (!ptid_equal (ecs->ptid, inferior_ptid))
+  if (ecs->ptid != inferior_ptid)
     {
       if (debug_infrun)
 	fprintf_unfiltered (gdb_stdlog, "infrun: context switch\n");
 
-      context_switch (ecs->ptid);
+      context_switch (ecs);
 
       if (deprecated_context_hook)
-	deprecated_context_hook (ptid_to_global_thread_id (ecs->ptid));
+	deprecated_context_hook (ecs->event_thread->global_num);
     }
 
   /* At this point, get hold of the now-current thread's frame.  */
@@ -5779,7 +5756,7 @@ handle_signal_stop (struct execution_con
       struct regcache *regcache;
       CORE_ADDR pc;
 
-      regcache = get_thread_regcache (ecs->ptid);
+      regcache = get_thread_regcache (ecs->event_thread);
       const address_space *aspace = regcache->aspace ();
 
       pc = regcache_read_pc (regcache);
@@ -5866,14 +5843,15 @@ handle_signal_stop (struct execution_con
   ecs->event_thread->control.stop_step = 0;
   stop_print_frame = 1;
   stopped_by_random_signal = 0;
+  bpstat stop_chain = NULL;
 
   /* Hide inlined functions starting here, unless we just performed stepi or
      nexti.  After stepi and nexti, always show the innermost frame (not any
      inline function call sites).  */
   if (ecs->event_thread->control.step_range_end != 1)
     {
-      const address_space *aspace =
-	get_thread_regcache (ecs->ptid)->aspace ();
+      const address_space *aspace
+	= get_thread_regcache (ecs->event_thread)->aspace ();
 
       /* skip_inline_frames is expensive, so we avoid it if we can
 	 determine that the address is one where functions cannot have
@@ -5890,14 +5868,19 @@ handle_signal_stop (struct execution_con
 	 user had set a breakpoint on that inlined code, the missing
 	 skip_inline_frames call would break things.  Fortunately
 	 that's an extremely unlikely scenario.  */
-      if (!pc_at_non_inline_function (aspace, stop_pc, &ecs->ws)
+      if (!pc_at_non_inline_function (aspace,
+				      ecs->event_thread->suspend.stop_pc,
+				      &ecs->ws)
 	  && !(ecs->event_thread->suspend.stop_signal == GDB_SIGNAL_TRAP
 	       && ecs->event_thread->control.trap_expected
 	       && pc_at_non_inline_function (aspace,
 					     ecs->event_thread->prev_pc,
 					     &ecs->ws)))
 	{
-	  skip_inline_frames (ecs->ptid);
+	  stop_chain = build_bpstat_chain (aspace,
+					   ecs->event_thread->suspend.stop_pc,
+					   &ecs->ws);
+	  skip_inline_frames (ecs->event_thread, stop_chain);
 
 	  /* Re-fetch current thread's frame in case that invalidated
 	     the frame cache.  */
@@ -5946,7 +5929,8 @@ handle_signal_stop (struct execution_con
      handles this event.  */
   ecs->event_thread->control.stop_bpstat
     = bpstat_stop_status (get_current_regcache ()->aspace (),
-			  stop_pc, ecs->ptid, &ecs->ws);
+			  ecs->event_thread->suspend.stop_pc,
+			  ecs->event_thread, &ecs->ws, stop_chain);
 
   /* Following in case break condition called a
      function.  */
@@ -5998,14 +5982,15 @@ handle_signal_stop (struct execution_con
      been removed.  */
   if (random_signal && target_stopped_by_sw_breakpoint ())
     {
-      if (program_breakpoint_here_p (gdbarch, stop_pc))
+      if (program_breakpoint_here_p (gdbarch,
+				     ecs->event_thread->suspend.stop_pc))
 	{
 	  struct regcache *regcache;
 	  int decr_pc;
 
 	  /* Re-adjust PC to what the program would see if GDB was not
 	     debugging it.  */
-	  regcache = get_thread_regcache (ecs->event_thread->ptid);
+	  regcache = get_thread_regcache (ecs->event_thread);
 	  decr_pc = gdbarch_decr_pc_after_break (gdbarch);
 	  if (decr_pc != 0)
 	    {
@@ -6016,7 +6001,8 @@ handle_signal_stop (struct execution_con
 		restore_operation_disable.emplace
 		  (record_full_gdb_operation_disable_set ());
 
-	      regcache_write_pc (regcache, stop_pc + decr_pc);
+	      regcache_write_pc (regcache,
+				 ecs->event_thread->suspend.stop_pc + decr_pc);
 	    }
 	}
       else
@@ -6100,7 +6086,7 @@ handle_signal_stop (struct execution_con
 	{
 	  /* The signal table tells us to print about this signal.  */
 	  target_terminal::ours_for_output ();
-	  observer_notify_signal_received (ecs->event_thread->suspend.stop_signal);
+	  gdb::observers::signal_received.notify (ecs->event_thread->suspend.stop_signal);
 	  target_terminal::inferior ();
 	}
 
@@ -6108,7 +6094,7 @@ handle_signal_stop (struct execution_con
       if (signal_program[ecs->event_thread->suspend.stop_signal] == 0)
 	ecs->event_thread->suspend.stop_signal = GDB_SIGNAL_0;
 
-      if (ecs->event_thread->prev_pc == stop_pc
+      if (ecs->event_thread->prev_pc == ecs->event_thread->suspend.stop_pc
 	  && ecs->event_thread->control.trap_expected
 	  && ecs->event_thread->control.step_resume_breakpoint == NULL)
 	{
@@ -6140,7 +6126,8 @@ handle_signal_stop (struct execution_con
 	}
 
       if (ecs->event_thread->suspend.stop_signal != GDB_SIGNAL_0
-	  && (pc_in_thread_step_range (stop_pc, ecs->event_thread)
+	  && (pc_in_thread_step_range (ecs->event_thread->suspend.stop_pc,
+				       ecs->event_thread)
 	      || ecs->event_thread->control.step_range_end == 1)
 	  && frame_id_eq (get_stack_frame_id (frame),
 			  ecs->event_thread->control.step_stack_frame_id)
@@ -6370,7 +6357,7 @@ process_event_stop_test (struct executio
 	  return;
 	}
       fill_in_stop_func (gdbarch, ecs);
-      if (stop_pc == ecs->stop_func_start
+      if (ecs->event_thread->suspend.stop_pc == ecs->stop_func_start
 	  && execution_direction == EXEC_REVERSE)
 	{
 	  /* We are stepping over a function call in reverse, and just
@@ -6503,7 +6490,8 @@ process_event_stop_test (struct executio
      through a function epilogue and therefore must detect when
      the current-frame changes in the middle of a line.  */
 
-  if (pc_in_thread_step_range (stop_pc, ecs->event_thread)
+  if (pc_in_thread_step_range (ecs->event_thread->suspend.stop_pc,
+			       ecs->event_thread)
       && (execution_direction != EXEC_REVERSE
 	  || frame_id_eq (get_frame_id (frame),
 			  ecs->event_thread->control.step_frame_id)))
@@ -6522,6 +6510,7 @@ process_event_stop_test (struct executio
       /* When stepping backward, stop at beginning of line range
 	 (unless it's the function entry point, in which case
 	 keep going back to the call point).  */
+      CORE_ADDR stop_pc = ecs->event_thread->suspend.stop_pc;
       if (stop_pc == ecs->event_thread->control.step_range_start
 	  && stop_pc != ecs->stop_func_start
 	  && execution_direction == EXEC_REVERSE)
@@ -6548,10 +6537,11 @@ process_event_stop_test (struct executio
 
   if (execution_direction != EXEC_REVERSE
       && ecs->event_thread->control.step_over_calls == STEP_OVER_UNDEBUGGABLE
-      && in_solib_dynsym_resolve_code (stop_pc))
+      && in_solib_dynsym_resolve_code (ecs->event_thread->suspend.stop_pc))
     {
       CORE_ADDR pc_after_resolver =
-	gdbarch_skip_solib_resolver (gdbarch, stop_pc);
+	gdbarch_skip_solib_resolver (gdbarch,
+				     ecs->event_thread->suspend.stop_pc);
 
       if (debug_infrun)
 	 fprintf_unfiltered (gdb_stdlog,
@@ -6573,6 +6563,18 @@ process_event_stop_test (struct executio
       return;
     }
 
+  /* Step through an indirect branch thunk.  */
+  if (ecs->event_thread->control.step_over_calls != STEP_OVER_NONE
+      && gdbarch_in_indirect_branch_thunk (gdbarch,
+					   ecs->event_thread->suspend.stop_pc))
+    {
+      if (debug_infrun)
+	 fprintf_unfiltered (gdb_stdlog,
+			     "infrun: stepped into indirect branch thunk\n");
+      keep_going (ecs);
+      return;
+    }
+
   if (ecs->event_thread->control.step_range_end != 1
       && (ecs->event_thread->control.step_over_calls == STEP_OVER_UNDEBUGGABLE
 	  || ecs->event_thread->control.step_over_calls == STEP_OVER_ALL)
@@ -6596,13 +6598,14 @@ process_event_stop_test (struct executio
      call check below as on some targets return trampolines look
      like subroutine calls (MIPS16 return thunks).  */
   if (gdbarch_in_solib_return_trampoline (gdbarch,
-					  stop_pc, ecs->stop_func_name)
+					  ecs->event_thread->suspend.stop_pc,
+					  ecs->stop_func_name)
       && ecs->event_thread->control.step_over_calls != STEP_OVER_NONE)
     {
       /* Determine where this trampoline returns.  */
-      CORE_ADDR real_stop_pc;
-
-      real_stop_pc = gdbarch_skip_trampoline_code (gdbarch, frame, stop_pc);
+      CORE_ADDR stop_pc = ecs->event_thread->suspend.stop_pc;
+      CORE_ADDR real_stop_pc
+	= gdbarch_skip_trampoline_code (gdbarch, frame, stop_pc);
 
       if (debug_infrun)
 	 fprintf_unfiltered (gdb_stdlog,
@@ -6654,8 +6657,9 @@ process_event_stop_test (struct executio
 	  && (!frame_id_eq (ecs->event_thread->control.step_stack_frame_id,
 			    outer_frame_id)
 	      || (ecs->event_thread->control.step_start_function
-		  != find_pc_function (stop_pc)))))
+		  != find_pc_function (ecs->event_thread->suspend.stop_pc)))))
     {
+      CORE_ADDR stop_pc = ecs->event_thread->suspend.stop_pc;
       CORE_ADDR real_stop_pc;
 
       if (debug_infrun)
@@ -6813,6 +6817,8 @@ process_event_stop_test (struct executio
   if (execution_direction == EXEC_REVERSE
       && ecs->event_thread->control.step_over_calls != STEP_OVER_NONE)
     {
+      CORE_ADDR stop_pc = ecs->event_thread->suspend.stop_pc;
+
       if (gdbarch_skip_trampoline_code (gdbarch, frame, stop_pc)
 	  || (ecs->stop_func_start == 0
 	      && in_solib_dynsym_resolve_code (stop_pc)))
@@ -6840,7 +6846,7 @@ process_event_stop_test (struct executio
 	}
     }
 
-  stop_pc_sal = find_pc_line (stop_pc, 0);
+  stop_pc_sal = find_pc_line (ecs->event_thread->suspend.stop_pc, 0);
 
   /* NOTE: tausq/2004-05-24: This if block used to be done before all
      the trampoline processing logic, however, there are some trampolines 
@@ -6908,7 +6914,7 @@ process_event_stop_test (struct executio
 
   if (frame_id_eq (get_frame_id (get_current_frame ()),
 		   ecs->event_thread->control.step_frame_id)
-      && inline_skipped_frames (ecs->ptid))
+      && inline_skipped_frames (ecs->event_thread))
     {
       if (debug_infrun)
 	fprintf_unfiltered (gdb_stdlog,
@@ -6925,7 +6931,7 @@ process_event_stop_test (struct executio
 
 	  if (call_sal.line == ecs->event_thread->current_line
 	      && call_sal.symtab == ecs->event_thread->current_symtab)
-	    step_into_inline_frame (ecs->ptid);
+	    step_into_inline_frame (ecs->event_thread);
 
 	  end_stepping_range (ecs);
 	  return;
@@ -6966,7 +6972,7 @@ process_event_stop_test (struct executio
       return;
     }
 
-  if ((stop_pc == stop_pc_sal.pc)
+  if ((ecs->event_thread->suspend.stop_pc == stop_pc_sal.pc)
       && (ecs->event_thread->current_line != stop_pc_sal.line
  	  || ecs->event_thread->current_symtab != stop_pc_sal.symtab))
     {
@@ -7100,7 +7106,7 @@ switch_back_to_stepped_thread (struct ex
 	  /* Ignore threads of processes the caller is not
 	     resuming.  */
 	  if (!sched_multi
-	      && ptid_get_pid (tp->ptid) != ptid_get_pid (ecs->ptid))
+	      && tp->ptid.pid () != ecs->ptid.pid ())
 	    continue;
 
 	  /* When stepping over a breakpoint, we lock all threads
@@ -7182,15 +7188,14 @@ keep_going_stepped_thread (struct thread
        stepping thread is still alive.  For that reason, we need to
        synchronously query the target now.  */
 
-  if (is_exited (tp->ptid)
-      || !target_thread_alive (tp->ptid))
+  if (tp->state == THREAD_EXITED || !target_thread_alive (tp->ptid))
     {
       if (debug_infrun)
 	fprintf_unfiltered (gdb_stdlog,
 			    "infrun: not resuming previously  "
 			    "stepped thread, it has vanished\n");
 
-      delete_thread (tp->ptid);
+      delete_thread (tp);
       return 0;
     }
 
@@ -7199,9 +7204,9 @@ keep_going_stepped_thread (struct thread
 			"infrun: resuming previously stepped thread\n");
 
   reset_ecs (ecs, tp);
-  switch_to_thread (tp->ptid);
+  switch_to_thread (tp);
 
-  stop_pc = regcache_read_pc (get_thread_regcache (tp->ptid));
+  tp->suspend.stop_pc = regcache_read_pc (get_thread_regcache (tp));
   frame = get_current_frame ();
 
   /* If the PC of the thread we were trying to single-step has
@@ -7217,7 +7222,7 @@ keep_going_stepped_thread (struct thread
      This prevents us continuously moving the single-step breakpoint
      forward, one instruction at a time, overstepping.  */
 
-  if (stop_pc != tp->prev_pc)
+  if (tp->suspend.stop_pc != tp->prev_pc)
     {
       ptid_t resume_ptid;
 
@@ -7225,7 +7230,7 @@ keep_going_stepped_thread (struct thread
 	fprintf_unfiltered (gdb_stdlog,
 			    "infrun: expected thread advanced also (%s -> %s)\n",
 			    paddress (target_gdbarch (), tp->prev_pc),
-			    paddress (target_gdbarch (), stop_pc));
+			    paddress (target_gdbarch (), tp->suspend.stop_pc));
 
       /* Clear the info of the previous step-over, as it's no longer
 	 valid (if the thread was trying to step over a breakpoint, it
@@ -7239,7 +7244,7 @@ keep_going_stepped_thread (struct thread
 
       insert_single_step_breakpoint (get_frame_arch (frame),
 				     get_frame_address_space (frame),
-				     stop_pc);
+				     tp->suspend.stop_pc);
 
       tp->resumed = 1;
       resume_ptid = internal_resume_ptid (tp->control.stepping_command);
@@ -7280,7 +7285,8 @@ handle_step_into_function (struct gdbarc
 {
   fill_in_stop_func (gdbarch, ecs);
 
-  compunit_symtab *cust = find_pc_compunit_symtab (stop_pc);
+  compunit_symtab *cust
+    = find_pc_compunit_symtab (ecs->event_thread->suspend.stop_pc);
   if (cust != NULL && compunit_language (cust) != language_asm)
     ecs->stop_func_start
       = gdbarch_skip_prologue_noexcept (gdbarch, ecs->stop_func_start);
@@ -7320,7 +7326,7 @@ handle_step_into_function (struct gdbarc
 					     ecs->stop_func_start);
     }
 
-  if (ecs->stop_func_start == stop_pc)
+  if (ecs->stop_func_start == ecs->event_thread->suspend.stop_pc)
     {
       /* We are already there: stop now.  */
       end_stepping_range (ecs);
@@ -7359,15 +7365,15 @@ handle_step_into_function_backward (stru
 
   fill_in_stop_func (gdbarch, ecs);
 
-  cust = find_pc_compunit_symtab (stop_pc);
+  cust = find_pc_compunit_symtab (ecs->event_thread->suspend.stop_pc);
   if (cust != NULL && compunit_language (cust) != language_asm)
     ecs->stop_func_start
       = gdbarch_skip_prologue_noexcept (gdbarch, ecs->stop_func_start);
 
-  stop_func_sal = find_pc_line (stop_pc, 0);
+  stop_func_sal = find_pc_line (ecs->event_thread->suspend.stop_pc, 0);
 
   /* OK, we're just going to keep stepping here.  */
-  if (stop_func_sal.pc == stop_pc)
+  if (stop_func_sal.pc == ecs->event_thread->suspend.stop_pc)
     {
       /* We're there already.  Just stop stepping now.  */
       end_stepping_range (ecs);
@@ -7667,12 +7673,12 @@ stop_waiting (struct execution_control_s
 static void
 keep_going_pass_signal (struct execution_control_state *ecs)
 {
-  gdb_assert (ptid_equal (ecs->event_thread->ptid, inferior_ptid));
+  gdb_assert (ecs->event_thread->ptid == inferior_ptid);
   gdb_assert (!ecs->event_thread->resumed);
 
   /* Save the pc before execution, to compare with pc after stop.  */
   ecs->event_thread->prev_pc
-    = regcache_read_pc (get_thread_regcache (ecs->ptid));
+    = regcache_read_pc (get_thread_regcache (ecs->event_thread));
 
   if (ecs->event_thread->control.trap_expected)
     {
@@ -7881,7 +7887,7 @@ void
 print_exited_reason (struct ui_out *uiout, int exitstatus)
 {
   struct inferior *inf = current_inferior ();
-  const char *pidstr = target_pid_to_str (pid_to_ptid (inf->pid));
+  const char *pidstr = target_pid_to_str (ptid_t (inf->pid));
 
   annotate_exited (exitstatus);
   if (exitstatus)
@@ -8002,7 +8008,8 @@ print_stop_location (struct target_waits
       if (tp->control.stop_step
 	  && frame_id_eq (tp->control.step_frame_id,
 			  get_frame_id (get_current_frame ()))
-	  && tp->control.step_start_function == find_pc_function (stop_pc))
+	  && (tp->control.step_start_function
+	      == find_pc_function (tp->suspend.stop_pc)))
 	{
 	  /* Finished step, just print source line.  */
 	  source_flag = SRC_LINE;
@@ -8118,7 +8125,7 @@ save_stop_context (void)
   sc->ptid = inferior_ptid;
   sc->inf_num = current_inferior ()->num;
 
-  if (!ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid != null_ptid)
     {
       /* Take a strong reference so that the thread can't be deleted
 	 yet.  */
@@ -8150,7 +8157,7 @@ release_stop_context_cleanup (void *arg)
 static int
 stop_context_changed (struct stop_context *prev)
 {
-  if (!ptid_equal (prev->ptid, inferior_ptid))
+  if (prev->ptid != inferior_ptid)
     return 1;
   if (prev->inf_num != current_inferior ()->num)
     return 1;
@@ -8168,8 +8175,6 @@ normal_stop (void)
 {
   struct target_waitstatus last;
   ptid_t last_ptid;
-  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
-  ptid_t pid_ptid;
 
   get_last_target_status (&last_ptid, &last);
 
@@ -8179,8 +8184,11 @@ normal_stop (void)
      propagate GDB's knowledge of the executing state to the
      frontend/user running state.  A QUIT is an easy exception to see
      here, so do this before any filtered output.  */
+
+  gdb::optional<scoped_finish_thread_state> maybe_finish_thread_state;
+
   if (!non_stop)
-    make_cleanup (finish_thread_state_cleanup, &minus_one_ptid);
+    maybe_finish_thread_state.emplace (minus_one_ptid);
   else if (last.kind == TARGET_WAITKIND_SIGNALLED
 	   || last.kind == TARGET_WAITKIND_EXITED)
     {
@@ -8189,14 +8197,11 @@ normal_stop (void)
 	 "checkpoint", when the current checkpoint/fork exits,
 	 linux-fork.c automatically switches to another fork from
 	 within target_mourn_inferior.  */
-      if (!ptid_equal (inferior_ptid, null_ptid))
-	{
-	  pid_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
-	  make_cleanup (finish_thread_state_cleanup, &pid_ptid);
-	}
+      if (inferior_ptid != null_ptid)
+	maybe_finish_thread_state.emplace (ptid_t (inferior_ptid.pid ()));
     }
   else if (last.kind != TARGET_WAITKIND_NO_RESUMED)
-    make_cleanup (finish_thread_state_cleanup, &inferior_ptid);
+    maybe_finish_thread_state.emplace (inferior_ptid);
 
   /* As we're presenting a stop, and potentially removing breakpoints,
      update the thread list so we can tell whether there are threads
@@ -8209,7 +8214,7 @@ normal_stop (void)
   update_thread_list ();
 
   if (last.kind == TARGET_WAITKIND_STOPPED && stopped_by_random_signal)
-    observer_notify_signal_received (inferior_thread ()->suspend.stop_signal);
+    gdb::observers::signal_received.notify (inferior_thread ()->suspend.stop_signal);
 
   /* As with the notification of thread events, we want to delay
      notifying the user that we've switched thread context until
@@ -8228,7 +8233,7 @@ normal_stop (void)
      after this event is handled, so we're not really switching, only
      informing of a stop.  */
   if (!non_stop
-      && !ptid_equal (previous_inferior_ptid, inferior_ptid)
+      && previous_inferior_ptid != inferior_ptid
       && target_has_execution
       && last.kind != TARGET_WAITKIND_SIGNALLED
       && last.kind != TARGET_WAITKIND_EXITED
@@ -8269,7 +8274,7 @@ normal_stop (void)
     }
 
   /* Let the user/frontend see the threads as stopped.  */
-  do_cleanups (old_chain);
+  maybe_finish_thread_state.reset ();
 
   /* Select innermost stack frame - i.e., current frame is frame 0,
      and current location is based on that.  Handle the case where the
@@ -8333,11 +8338,11 @@ normal_stop (void)
 
   /* Notify observers about the stop.  This is where the interpreters
      print the stop event.  */
-  if (!ptid_equal (inferior_ptid, null_ptid))
-    observer_notify_normal_stop (inferior_thread ()->control.stop_bpstat,
+  if (inferior_ptid != null_ptid)
+    gdb::observers::normal_stop.notify (inferior_thread ()->control.stop_bpstat,
 				 stop_print_frame);
   else
-    observer_notify_normal_stop (NULL, stop_print_frame);
+    gdb::observers::normal_stop.notify (NULL, stop_print_frame);
 
   annotate_stopped ();
 
@@ -8737,7 +8742,7 @@ siginfo_value_read (struct value *v)
   validate_registers_access ();
 
   transferred =
-    target_read (&current_target, TARGET_OBJECT_SIGNAL_INFO,
+    target_read (current_top_target (), TARGET_OBJECT_SIGNAL_INFO,
 		 NULL,
 		 value_contents_all_raw (v),
 		 value_offset (v),
@@ -8759,7 +8764,7 @@ siginfo_value_write (struct value *v, st
      vice versa.  */
   validate_registers_access ();
 
-  transferred = target_write (&current_target,
+  transferred = target_write (current_top_target (),
 			      TARGET_OBJECT_SIGNAL_INFO,
 			      NULL,
 			      value_contents_all_raw (fromval),
@@ -8785,7 +8790,7 @@ siginfo_make_value (struct gdbarch *gdba
 		    void *ignore)
 {
   if (target_has_stack
-      && !ptid_equal (inferior_ptid, null_ptid)
+      && inferior_ptid != null_ptid
       && gdbarch_get_siginfo_type_p (gdbarch))
     {
       struct type *type = gdbarch_get_siginfo_type (gdbarch);
@@ -8808,8 +8813,7 @@ struct infcall_suspend_state
   struct thread_suspend_state thread_suspend;
 
   /* Other fields:  */
-  CORE_ADDR stop_pc;
-  struct regcache *registers;
+  readonly_detached_regcache *registers;
 
   /* Format of SIGINFO_DATA or NULL if it is not present.  */
   struct gdbarch *siginfo_gdbarch;
@@ -8838,7 +8842,7 @@ save_infcall_suspend_state (void)
       siginfo_data = (gdb_byte *) xmalloc (len);
       back_to = make_cleanup (xfree, siginfo_data);
 
-      if (target_read (&current_target, TARGET_OBJECT_SIGNAL_INFO, NULL,
+      if (target_read (current_top_target (), TARGET_OBJECT_SIGNAL_INFO, NULL,
 		       siginfo_data, 0, len) == len)
 	discard_cleanups (back_to);
       else
@@ -8863,9 +8867,7 @@ save_infcall_suspend_state (void)
      GDB_SIGNAL_0 anyway.  */
   tp->suspend.stop_signal = GDB_SIGNAL_0;
 
-  inf_state->stop_pc = stop_pc;
-
-  inf_state->registers = regcache_dup (regcache);
+  inf_state->registers = new readonly_detached_regcache (*regcache);
 
   return inf_state;
 }
@@ -8881,14 +8883,12 @@ restore_infcall_suspend_state (struct in
 
   tp->suspend = inf_state->thread_suspend;
 
-  stop_pc = inf_state->stop_pc;
-
   if (inf_state->siginfo_gdbarch == gdbarch)
     {
       struct type *type = gdbarch_get_siginfo_type (gdbarch);
 
       /* Errors ignored.  */
-      target_write (&current_target, TARGET_OBJECT_SIGNAL_INFO, NULL,
+      target_write (current_top_target (), TARGET_OBJECT_SIGNAL_INFO, NULL,
 		    inf_state->siginfo_data, 0, TYPE_LENGTH (type));
     }
 
@@ -8896,7 +8896,7 @@ restore_infcall_suspend_state (struct in
      (and perhaps other times).  */
   if (target_has_execution)
     /* NB: The register write goes through to the target.  */
-    regcache_cpy (regcache, inf_state->registers);
+    regcache->restore (inf_state->registers);
 
   discard_infcall_suspend_state (inf_state);
 }
@@ -8922,7 +8922,7 @@ discard_infcall_suspend_state (struct in
   xfree (inf_state);
 }
 
-struct regcache *
+readonly_detached_regcache *
 get_infcall_suspend_state_regcache (struct infcall_suspend_state *inf_state)
 {
   return inf_state->registers;
@@ -9442,10 +9442,10 @@ enabled by default on some platforms."),
   inferior_ptid = null_ptid;
   target_last_wait_ptid = minus_one_ptid;
 
-  observer_attach_thread_ptid_changed (infrun_thread_ptid_changed);
-  observer_attach_thread_stop_requested (infrun_thread_stop_requested);
-  observer_attach_thread_exit (infrun_thread_thread_exit);
-  observer_attach_inferior_exit (infrun_inferior_exit);
+  gdb::observers::thread_ptid_changed.attach (infrun_thread_ptid_changed);
+  gdb::observers::thread_stop_requested.attach (infrun_thread_stop_requested);
+  gdb::observers::thread_exit.attach (infrun_thread_thread_exit);
+  gdb::observers::inferior_exit.attach (infrun_inferior_exit);
 
   /* Explicitly create without lookup, since that tries to create a
      value with a void typed value, and when we get here, gdbarch
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inline-frame.c ./gdb/inline-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inline-frame.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/inline-frame.c	2018-07-10 02:06:13.000000000 +0000
@@ -18,15 +18,18 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
+#include "breakpoint.h"
 #include "inline-frame.h"
 #include "addrmap.h"
 #include "block.h"
 #include "frame-unwind.h"
 #include "inferior.h"
+#include "gdbthread.h"
 #include "regcache.h"
 #include "symtab.h"
 #include "vec.h"
 #include "frame.h"
+#include <algorithm>
 
 /* We need to save a few variables for every thread stopped at the
    virtual call site of an inlined function.  If there was always a
@@ -34,10 +37,15 @@
    keep our own list.  */
 struct inline_state
 {
+  inline_state (thread_info *thread_, int skipped_frames_, CORE_ADDR saved_pc_,
+		symbol *skipped_symbol_)
+    : thread (thread_), skipped_frames (skipped_frames_), saved_pc (saved_pc_),
+      skipped_symbol (skipped_symbol_)
+  {}
+
   /* The thread this data relates to.  It should be a currently
-     stopped thread; we assume thread IDs never change while the
-     thread is stopped.  */
-  ptid_t ptid;
+     stopped thread.  */
+  thread_info *thread;
 
   /* The number of inlined functions we are skipping.  Each of these
      functions can be stepped in to.  */
@@ -55,54 +63,37 @@ struct inline_state
   struct symbol *skipped_symbol;
 };
 
-typedef struct inline_state inline_state_s;
-DEF_VEC_O(inline_state_s);
-
-static VEC(inline_state_s) *inline_states;
+static std::vector<inline_state> inline_states;
 
-/* Locate saved inlined frame state for PTID, if it exists
-   and is valid.  */
+/* Locate saved inlined frame state for THREAD, if it exists and is
+   valid.  */
 
 static struct inline_state *
-find_inline_frame_state (ptid_t ptid)
+find_inline_frame_state (thread_info *thread)
 {
-  struct inline_state *state;
-  int ix;
+  auto state_it = std::find_if (inline_states.begin (), inline_states.end (),
+				[thread] (const inline_state &state)
+				  {
+				    return state.thread == thread;
+				  });
+
+  if (state_it == inline_states.end ())
+    return nullptr;
+
+  inline_state &state = *state_it;
+  struct regcache *regcache = get_thread_regcache (thread);
+  CORE_ADDR current_pc = regcache_read_pc (regcache);
 
-  for (ix = 0; VEC_iterate (inline_state_s, inline_states, ix, state); ix++)
+  if (current_pc != state.saved_pc)
     {
-      if (ptid_equal (state->ptid, ptid))
-	{
-	  struct regcache *regcache = get_thread_regcache (ptid);
-	  CORE_ADDR current_pc = regcache_read_pc (regcache);
+      /* PC has changed - this context is invalid.  Use the
+	 default behavior.  */
 
-	  if (current_pc != state->saved_pc)
-	    {
-	      /* PC has changed - this context is invalid.  Use the
-		 default behavior.  */
-	      VEC_unordered_remove (inline_state_s, inline_states, ix);
-	      return NULL;
-	    }
-	  else
-	    return state;
-	}
+      unordered_remove (inline_states, state_it);
+      return nullptr;
     }
 
-  return NULL;
-}
-
-/* Allocate saved inlined frame state for PTID.  */
-
-static struct inline_state *
-allocate_inline_frame_state (ptid_t ptid)
-{
-  struct inline_state *state;
-
-  state = VEC_safe_push (inline_state_s, inline_states, NULL);
-  memset (state, 0, sizeof (*state));
-  state->ptid = ptid;
-
-  return state;
+  return &state;
 }
 
 /* Forget about any hidden inlined functions in PTID, which is new or
@@ -112,36 +103,34 @@ allocate_inline_frame_state (ptid_t ptid
 void
 clear_inline_frame_state (ptid_t ptid)
 {
-  struct inline_state *state;
-  int ix;
-
-  if (ptid_equal (ptid, minus_one_ptid))
+  if (ptid == minus_one_ptid)
     {
-      VEC_free (inline_state_s, inline_states);
+      inline_states.clear ();
       return;
     }
 
-  if (ptid_is_pid (ptid))
+  if (ptid.is_pid ())
     {
-      VEC (inline_state_s) *new_states = NULL;
-      int pid = ptid_get_pid (ptid);
+      int pid = ptid.pid ();
+      auto it = std::remove_if (inline_states.begin (), inline_states.end (),
+				[pid] (const inline_state &state)
+				  {
+				    return pid == state.thread->inf->pid;
+				  });
+
+      inline_states.erase (it, inline_states.end ());
 
-      for (ix = 0;
-	   VEC_iterate (inline_state_s, inline_states, ix, state);
-	   ix++)
-	if (pid != ptid_get_pid (state->ptid))
-	  VEC_safe_push (inline_state_s, new_states, state);
-      VEC_free (inline_state_s, inline_states);
-      inline_states = new_states;
       return;
     }
 
-  for (ix = 0; VEC_iterate (inline_state_s, inline_states, ix, state); ix++)
-    if (ptid_equal (state->ptid, ptid))
-      {
-	VEC_unordered_remove (inline_state_s, inline_states, ix);
-	return;
-      }
+  auto it = std::find_if (inline_states.begin (), inline_states.end (),
+			  [&ptid] (const inline_state &state)
+			    {
+			      return ptid == state.thread->ptid;
+			    });
+
+  if (it != inline_states.end ())
+    unordered_remove (inline_states, it);
 }
 
 static void
@@ -210,7 +199,7 @@ inline_frame_sniffer (const struct frame
   const struct block *frame_block, *cur_block;
   int depth;
   struct frame_info *next_frame;
-  struct inline_state *state = find_inline_frame_state (inferior_ptid);
+  struct inline_state *state = find_inline_frame_state (inferior_thread ());
 
   this_pc = get_frame_address_in_block (this_frame);
   frame_block = block_for_pc (this_pc);
@@ -296,23 +285,52 @@ block_starting_point_at (CORE_ADDR pc, c
   return 1;
 }
 
-/* Skip all inlined functions whose call sites are at the current PC.
-   Frames for the hidden functions will not appear in the backtrace until the
-   user steps into them.  */
+/* Loop over the stop chain and determine if execution stopped in an
+   inlined frame because of a user breakpoint set at FRAME_BLOCK.  */
+
+static bool
+stopped_by_user_bp_inline_frame (const block *frame_block, bpstat stop_chain)
+{
+  for (bpstat s = stop_chain; s != NULL; s = s->next)
+    {
+      struct breakpoint *bpt = s->breakpoint_at;
+
+      if (bpt != NULL && user_breakpoint_p (bpt))
+	{
+	  bp_location *loc = s->bp_location_at;
+	  enum bp_loc_type t = loc->loc_type;
+
+	  if (t == bp_loc_software_breakpoint
+	      || t == bp_loc_hardware_breakpoint)
+	    {
+	      /* If the location has a function symbol, check whether
+		 the frame was for that inlined function.  If it has
+		 no function symbol, then assume it is.  I.e., default
+		 to presenting the stop at the innermost inline
+		 function.  */
+	      if (loc->symbol == nullptr
+		  || frame_block == SYMBOL_BLOCK_VALUE (loc->symbol))
+		return true;
+	    }
+	}
+    }
+
+  return false;
+}
+
+/* See inline-frame.h.  */
 
 void
-skip_inline_frames (ptid_t ptid)
+skip_inline_frames (thread_info *thread, bpstat stop_chain)
 {
-  CORE_ADDR this_pc;
   const struct block *frame_block, *cur_block;
   struct symbol *last_sym = NULL;
   int skip_count = 0;
-  struct inline_state *state;
 
   /* This function is called right after reinitializing the frame
      cache.  We try not to do more unwinding than absolutely
      necessary, for performance.  */
-  this_pc = get_frame_pc (get_current_frame ());
+  CORE_ADDR this_pc = get_frame_pc (get_current_frame ());
   frame_block = block_for_pc (this_pc);
 
   if (frame_block != NULL)
@@ -327,6 +345,12 @@ skip_inline_frames (ptid_t ptid)
 	      if (BLOCK_START (cur_block) == this_pc
 		  || block_starting_point_at (this_pc, cur_block))
 		{
+		  /* Do not skip the inlined frame if execution
+		     stopped in an inlined frame because of a user
+		     breakpoint for this inline function.  */
+		  if (stopped_by_user_bp_inline_frame (cur_block, stop_chain))
+		    break;
+
 		  skip_count++;
 		  last_sym = BLOCK_FUNCTION (cur_block);
 		}
@@ -340,11 +364,8 @@ skip_inline_frames (ptid_t ptid)
 	}
     }
 
-  gdb_assert (find_inline_frame_state (ptid) == NULL);
-  state = allocate_inline_frame_state (ptid);
-  state->skipped_frames = skip_count;
-  state->saved_pc = this_pc;
-  state->skipped_symbol = last_sym;
+  gdb_assert (find_inline_frame_state (thread) == NULL);
+  inline_states.emplace_back (thread, skip_count, this_pc, last_sym);
 
   if (skip_count != 0)
     reinit_frame_cache ();
@@ -353,9 +374,9 @@ skip_inline_frames (ptid_t ptid)
 /* Step into an inlined function by unhiding it.  */
 
 void
-step_into_inline_frame (ptid_t ptid)
+step_into_inline_frame (thread_info *thread)
 {
-  struct inline_state *state = find_inline_frame_state (ptid);
+  inline_state *state = find_inline_frame_state (thread);
 
   gdb_assert (state != NULL && state->skipped_frames > 0);
   state->skipped_frames--;
@@ -366,9 +387,9 @@ step_into_inline_frame (ptid_t ptid)
    frame.  */
 
 int
-inline_skipped_frames (ptid_t ptid)
+inline_skipped_frames (thread_info *thread)
 {
-  struct inline_state *state = find_inline_frame_state (ptid);
+  inline_state *state = find_inline_frame_state (thread);
 
   if (state == NULL)
     return 0;
@@ -380,9 +401,9 @@ inline_skipped_frames (ptid_t ptid)
    the function inlined into the current frame.  */
 
 struct symbol *
-inline_skipped_symbol (ptid_t ptid)
+inline_skipped_symbol (thread_info *thread)
 {
-  struct inline_state *state = find_inline_frame_state (ptid);
+  inline_state *state = find_inline_frame_state (thread);
 
   gdb_assert (state != NULL);
   return state->skipped_symbol;
@@ -409,7 +430,7 @@ frame_inlined_callees (struct frame_info
      they can be stepped into later.  If we are unwinding already
      outer frames from some non-inlined frame this does not apply.  */
   if (next_frame == NULL)
-    inline_count += inline_skipped_frames (inferior_ptid);
+    inline_count += inline_skipped_frames (inferior_thread ());
 
   return inline_count;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inline-frame.h ./gdb/inline-frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/inline-frame.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/inline-frame.h	2018-07-10 02:06:13.000000000 +0000
@@ -22,16 +22,21 @@
 
 struct frame_info;
 struct frame_unwind;
+struct bpstats;
 
 /* The inline frame unwinder.  */
 
 extern const struct frame_unwind inline_frame_unwind;
 
 /* Skip all inlined functions whose call sites are at the current PC.
-   Frames for the hidden functions will not appear in the backtrace until the
-   user steps into them.  */
 
-void skip_inline_frames (ptid_t ptid);
+   If non-NULL, STOP_CHAIN is used to determine whether a stop was caused by
+   a user breakpoint.  In that case, do not skip that inlined frame.  This
+   allows the inlined frame to be treated as if it were non-inlined from the
+   user's perspective.  GDB will stop "in" the inlined frame instead of
+   the caller.  */
+
+void skip_inline_frames (thread_info *thread, struct bpstats *stop_chain);
 
 /* Forget about any hidden inlined functions in PTID, which is new or
    about to be resumed.  If PTID is minus_one_ptid, forget about all
@@ -41,17 +46,17 @@ void clear_inline_frame_state (ptid_t pt
 
 /* Step into an inlined function by unhiding it.  */
 
-void step_into_inline_frame (ptid_t ptid);
+void step_into_inline_frame (thread_info *thread);
 
 /* Return the number of hidden functions inlined into the current
    frame.  */
 
-int inline_skipped_frames (ptid_t ptid);
+int inline_skipped_frames (thread_info *thread);
 
 /* If one or more inlined functions are hidden, return the symbol for
    the function inlined into the current frame.  */
 
-struct symbol *inline_skipped_symbol (ptid_t ptid);
+struct symbol *inline_skipped_symbol (thread_info *thread);
 
 /* Return the number of functions inlined into THIS_FRAME.  Some of
    the callees may not have associated frames (see
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/interps.c ./gdb/interps.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/interps.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/interps.c	2018-07-10 02:06:13.000000000 +0000
@@ -78,8 +78,8 @@ static struct interp *interp_lookup_exis
 					      const char *name);
 
 interp::interp (const char *name)
+  : m_name (xstrdup (name))
 {
-  this->name = xstrdup (name);
   this->inited = false;
 }
 
@@ -129,7 +129,7 @@ interp_add (struct ui *ui, struct interp
 {
   struct ui_interp_info *ui_interp = get_interp_info (ui);
 
-  gdb_assert (interp_lookup_existing (ui, interp->name) == NULL);
+  gdb_assert (interp_lookup_existing (ui, interp->name ()) == NULL);
 
   interp->next = ui_interp->interp_list;
   ui_interp->interp_list = interp;
@@ -170,11 +170,11 @@ interp_set (struct interp *interp, bool 
   /* We use interpreter_p for the "set interpreter" variable, so we need
      to make sure we have a malloc'ed copy for the set command to free.  */
   if (interpreter_p != NULL
-      && strcmp (interp->name, interpreter_p) != 0)
+      && strcmp (interp->name (), interpreter_p) != 0)
     {
       xfree (interpreter_p);
 
-      interpreter_p = xstrdup (interp->name);
+      interpreter_p = xstrdup (interp->name ());
     }
 
   /* Run the init proc.  */
@@ -206,7 +206,7 @@ interp_lookup_existing (struct ui *ui, c
        interp != NULL;
        interp = interp->next)
     {
-      if (strcmp (interp->name, name) == 0)
+      if (strcmp (interp->name (), name) == 0)
 	return interp;
     }
 
@@ -251,18 +251,6 @@ set_top_level_interpreter (const char *n
   interp_set (interp, true);
 }
 
-/* Returns the current interpreter.  */
-
-struct ui_out *
-interp_ui_out (struct interp *interp)
-{
-  struct ui_interp_info *ui_interp = get_current_interp_info ();
-
-  if (interp == NULL)
-    interp = ui_interp->current_interpreter;
-  return interp->interp_ui_out ();
-}
-
 void
 current_interp_set_logging (ui_file_up logfile,
 			    bool logging_redirect)
@@ -286,14 +274,6 @@ scoped_restore_interp::set_interp (const
   return old_interp;
 }
 
-/* Returns the interpreter's name.  */
-
-const char *
-interp_name (struct interp *interp)
-{
-  return interp->name;
-}
-
 /* Returns true if the current interp is the passed in name.  */
 int
 current_interp_named_p (const char *interp_name)
@@ -302,7 +282,7 @@ current_interp_named_p (const char *inte
   struct interp *interp = ui_interp->current_interpreter;
 
   if (interp != NULL)
-    return (strcmp (interp->name, interp_name) == 0);
+    return (strcmp (interp->name (), interp_name) == 0);
 
   return 0;
 }
@@ -354,18 +334,11 @@ interp_exec (struct interp *interp, cons
 {
   struct ui_interp_info *ui_interp = get_current_interp_info ();
 
-  struct gdb_exception ex;
-  struct interp *save_command_interp;
-
   /* See `command_interp' for why we do this.  */
-  save_command_interp = ui_interp->command_interpreter;
-  ui_interp->command_interpreter = interp;
-
-  ex = interp->exec (command_str);
-
-  ui_interp->command_interpreter = save_command_interp;
+  scoped_restore save_command_interp
+    = make_scoped_restore (&ui_interp->command_interpreter, interp);
 
-  return ex;
+  return interp->exec (command_str);
 }
 
 /* A convenience routine that nulls out all the common command hooks.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/interps.h ./gdb/interps.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/interps.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/interps.h	2018-07-10 02:06:13.000000000 +0000
@@ -74,8 +74,13 @@ public:
   virtual bool supports_command_editing ()
   { return false; }
 
+  const char *name () const
+  {
+    return m_name;
+  }
+
   /* This is the name in "-i=" and "set interpreter".  */
-  const char *name;
+  const char *m_name;
 
   /* Interpreters are stored in a linked list, this is the next
      one...  */
@@ -98,9 +103,6 @@ extern struct interp *interp_lookup (str
    interpreter fails to initialize.  */
 extern void set_top_level_interpreter (const char *name);
 
-extern struct ui_out *interp_ui_out (struct interp *interp);
-extern const char *interp_name (struct interp *interp);
-
 /* Temporarily set the current interpreter, and reset it on
    destruction.  */
 class scoped_restore_interp
@@ -114,7 +116,7 @@ public:
 
   ~scoped_restore_interp ()
   {
-    set_interp (interp_name (m_interp));
+    set_interp (m_interp->name ());
   }
 
   scoped_restore_interp (const scoped_restore_interp &) = delete;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/iq2000-tdep.c ./gdb/iq2000-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/iq2000-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/iq2000-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -510,7 +510,7 @@ iq2000_store_return_value (struct type *
 
       memset (buf, 0, 4);
       memcpy (buf + 4 - size, valbuf, size);
-      regcache_raw_write (regcache, regno++, buf);
+      regcache->raw_write (regno++, buf);
       len -= size;
       valbuf = ((char *) valbuf) + size;
     }
@@ -737,7 +737,7 @@ iq2000_push_dummy_call (struct gdbarch *
           if (argreg <= E_LAST_ARGREG)
             {
               /* Passed in a register.  */
-	      regcache_raw_write (regcache, argreg++, buf);
+	      regcache->raw_write (argreg++, buf);
             }
           else
             {
@@ -756,8 +756,8 @@ iq2000_push_dummy_call (struct gdbarch *
                  (must start with an even-numbered reg).  */
               if (((argreg - E_1ST_ARGREG) % 2) != 0)
                 argreg++;
-	      regcache_raw_write (regcache, argreg++, val);
-	      regcache_raw_write (regcache, argreg++, val + 4);
+	      regcache->raw_write (argreg++, val);
+	      regcache->raw_write (argreg++, val + 4);
             }
           else
             {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/jit.c ./gdb/jit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/jit.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/jit.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,7 +30,7 @@
 #include "gdbcmd.h"
 #include "gdbcore.h"
 #include "inferior.h"
-#include "observer.h"
+#include "observable.h"
 #include "objfiles.h"
 #include "regcache.h"
 #include "symfile.h"
@@ -413,8 +413,8 @@ jit_read_code_entry (struct gdbarch *gdb
   ptr_type = builtin_type (gdbarch)->builtin_data_ptr;
   ptr_size = TYPE_LENGTH (ptr_type);
 
-  /* Figure out where the longlong value will be.  */
-  align_bytes = gdbarch_long_long_align_bit (gdbarch) / 8;
+  /* Figure out where the uint64_t value will be.  */
+  align_bytes = type_align (builtin_type (gdbarch)->builtin_uint64);
   off = 3 * ptr_size;
   off = (off + (align_bytes - 1)) & ~(align_bytes - 1);
 
@@ -888,11 +888,8 @@ jit_bfd_try_read_symtab (struct jit_code
                          CORE_ADDR entry_addr,
                          struct gdbarch *gdbarch)
 {
-  struct section_addr_info *sai;
   struct bfd_section *sec;
   struct objfile *objfile;
-  struct cleanup *old_cleanups;
-  int i;
   const struct bfd_arch_info *b;
 
   if (jit_debug)
@@ -931,27 +928,23 @@ JITed symbol file is not an object file,
   /* Read the section address information out of the symbol file.  Since the
      file is generated by the JIT at runtime, it should all of the absolute
      addresses that we care about.  */
-  sai = alloc_section_addr_info (bfd_count_sections (nbfd.get ()));
-  old_cleanups = make_cleanup_free_section_addr_info (sai);
-  i = 0;
+  section_addr_info sai;
   for (sec = nbfd->sections; sec != NULL; sec = sec->next)
     if ((bfd_get_section_flags (nbfd.get (), sec) & (SEC_ALLOC|SEC_LOAD)) != 0)
       {
         /* We assume that these virtual addresses are absolute, and do not
            treat them as offsets.  */
-        sai->other[i].addr = bfd_get_section_vma (nbfd.get (), sec);
-        sai->other[i].name = xstrdup (bfd_get_section_name (nbfd.get (), sec));
-        sai->other[i].sectindex = sec->index;
-        ++i;
+	sai.emplace_back (bfd_get_section_vma (nbfd.get (), sec),
+			  bfd_get_section_name (nbfd.get (), sec),
+			  sec->index);
       }
-  sai->num_sections = i;
 
   /* This call does not take ownership of SAI.  */
   objfile = symbol_file_add_from_bfd (nbfd.get (),
-				      bfd_get_filename (nbfd.get ()), 0, sai,
+				      bfd_get_filename (nbfd.get ()), 0,
+				      &sai,
 				      OBJF_SHARED | OBJF_NOT_FILENAME, NULL);
 
-  do_cleanups (old_cleanups);
   add_objfile_entry (objfile, entry_addr);
 }
 
@@ -1048,7 +1041,7 @@ jit_breakpoint_re_set_internal (struct g
     {
       /* Lookup the registration symbol.  If it is missing, then we
 	 assume we are not attached to a JIT.  */
-      reg_symbol = lookup_minimal_symbol_and_objfile (jit_break_name);
+      reg_symbol = lookup_bound_minimal_symbol (jit_break_name);
       if (reg_symbol.minsym == NULL
 	  || BMSYMBOL_VALUE_ADDRESS (reg_symbol) == 0)
 	return 1;
@@ -1097,7 +1090,7 @@ struct jit_unwind_private
 {
   /* Cached register values.  See jit_frame_sniffer to see how this
      works.  */
-  struct regcache *regcache;
+  detached_regcache *regcache;
 
   /* The frame being unwound.  */
   struct frame_info *this_frame;
@@ -1126,7 +1119,7 @@ jit_unwind_reg_set_impl (struct gdb_unwi
       return;
     }
 
-  regcache_raw_set_cached_value (priv->regcache, gdb_reg, value->value);
+  priv->regcache->raw_supply (gdb_reg, value->value);
   value->free (value);
 }
 
@@ -1188,7 +1181,6 @@ jit_frame_sniffer (const struct frame_un
   struct jit_unwind_private *priv_data;
   struct gdb_unwind_callbacks callbacks;
   struct gdb_reader_funcs *funcs;
-  struct gdbarch *gdbarch;
 
   callbacks.reg_get = jit_unwind_reg_get_impl;
   callbacks.reg_set = jit_unwind_reg_set_impl;
@@ -1201,11 +1193,11 @@ jit_frame_sniffer (const struct frame_un
 
   gdb_assert (!*cache);
 
-  gdbarch = get_frame_arch (this_frame);
-
   *cache = XCNEW (struct jit_unwind_private);
   priv_data = (struct jit_unwind_private *) *cache;
-  priv_data->regcache = new regcache (gdbarch);
+  /* Take a snapshot of current regcache.  */
+  priv_data->regcache = new detached_regcache (get_frame_arch (this_frame),
+					       true);
   priv_data->this_frame = this_frame;
 
   callbacks.priv_data = priv_data;
@@ -1271,19 +1263,13 @@ jit_frame_prev_register (struct frame_in
     return frame_unwind_got_optimized (this_frame, reg);
 
   gdbarch = priv->regcache->arch ();
-  if (reg < gdbarch_num_regs (gdbarch))
-    {
-      gdb_byte *buf = (gdb_byte *) alloca (register_size (gdbarch, reg));
-      enum register_status status;
+  gdb_byte *buf = (gdb_byte *) alloca (register_size (gdbarch, reg));
+  enum register_status status = priv->regcache->cooked_read (reg, buf);
 
-      status = regcache_raw_read (priv->regcache, reg, buf);
-      if (status == REG_VALID)
-	return frame_unwind_got_bytes (this_frame, reg, buf);
-      else
-	return frame_unwind_got_optimized (this_frame, reg);
-    }
+  if (status == REG_VALID)
+    return frame_unwind_got_bytes (this_frame, reg, buf);
   else
-    return gdbarch_pseudo_register_read_value (gdbarch, priv->regcache, reg);
+    return frame_unwind_got_optimized (this_frame, reg);
 }
 
 /* Relay everything back to the unwinder registered by the JIT debug
@@ -1513,9 +1499,9 @@ _initialize_jit (void)
 			     show_jit_debug,
 			     &setdebuglist, &showdebuglist);
 
-  observer_attach_inferior_created (jit_inferior_created);
-  observer_attach_inferior_exit (jit_inferior_exit_hook);
-  observer_attach_breakpoint_deleted (jit_breakpoint_deleted);
+  gdb::observers::inferior_created.attach (jit_inferior_created);
+  gdb::observers::inferior_exit.attach (jit_inferior_exit_hook);
+  gdb::observers::breakpoint_deleted.attach (jit_breakpoint_deleted);
 
   jit_objfile_data =
     register_objfile_data_with_cleanup (NULL, free_objfile_data);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/language.c ./gdb/language.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/language.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/language.c	2018-07-10 02:06:13.000000000 +0000
@@ -46,8 +46,6 @@
 #include "c-lang.h"
 #include <algorithm>
 
-static void unk_lang_error (const char *);
-
 static int unk_lang_parser (struct parser_state *);
 
 static void set_range_case (void);
@@ -693,8 +691,9 @@ default_print_array_index (struct value 
 }
 
 void
-default_get_string (struct value *value, gdb_byte **buffer, int *length,
-		    struct type **char_type, const char **charset)
+default_get_string (struct value *value,
+		    gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
+		    int *length, struct type **char_type, const char **charset)
 {
   error (_("Getting a string is unsupported in this language."));
 }
@@ -751,12 +750,6 @@ unk_lang_parser (struct parser_state *ps
 }
 
 static void
-unk_lang_error (const char *msg)
-{
-  error (_("Attempted to parse an expression with unknown language"));
-}
-
-static void
 unk_lang_emit_char (int c, struct type *type, struct ui_file *stream,
 		    int quoter)
 {
@@ -852,7 +845,6 @@ const struct language_defn unknown_langu
   NULL,
   &exp_descriptor_standard,
   unk_lang_parser,
-  unk_lang_error,
   null_post_parser,
   unk_lang_printchar,		/* Print character constant */
   unk_lang_printstr,
@@ -864,6 +856,7 @@ const struct language_defn unknown_langu
   default_read_var_value,	/* la_read_var_value */
   unk_lang_trampoline,		/* Language specific skip_trampoline */
   "this",        	    	/* name_of_this */
+  true,				/* store_sym_names_in_linkage_form_p */
   basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   unk_lang_demangle,		/* Language specific symbol demangler */
@@ -903,7 +896,6 @@ const struct language_defn auto_language
   NULL,
   &exp_descriptor_standard,
   unk_lang_parser,
-  unk_lang_error,
   null_post_parser,
   unk_lang_printchar,		/* Print character constant */
   unk_lang_printstr,
@@ -915,6 +907,7 @@ const struct language_defn auto_language
   default_read_var_value,	/* la_read_var_value */
   unk_lang_trampoline,		/* Language specific skip_trampoline */
   "this",		        /* name_of_this */
+  false,			/* store_sym_names_in_linkage_form_p */
   basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   unk_lang_demangle,		/* Language specific symbol demangler */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/language.h ./gdb/language.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/language.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/language.h	2018-07-10 02:06:13.000000000 +0000
@@ -172,10 +172,6 @@ struct language_defn
 
     int (*la_parser) (struct parser_state *);
 
-    /* Parser error function.  */
-
-    void (*la_error) (const char *);
-
     /* Given an expression *EXPP created by prefixifying the result of
        la_parser, perform any remaining processing necessary to complete
        its translation.  *EXPP may change; la_post_parser is responsible 
@@ -264,6 +260,26 @@ struct language_defn
 
     const char *la_name_of_this;
 
+    /* True if the symbols names should be stored in GDB's data structures
+       for minimal/partial/full symbols using their linkage (aka mangled)
+       form; false if the symbol names should be demangled first.
+
+       Most languages implement symbol lookup by comparing the demangled
+       names, in which case it is advantageous to store that information
+       already demangled, and so would set this field to false.
+
+       On the other hand, some languages have opted for doing symbol
+       lookups by comparing mangled names instead, for reasons usually
+       specific to the language.  Those languages should set this field
+       to true.
+
+       And finally, other languages such as C or Asm do not have
+       the concept of mangled vs demangled name, so those languages
+       should set this field to true as well, to prevent any accidental
+       demangling through an unrelated language's demangler.  */
+
+    const bool la_store_sym_names_in_linkage_form_p;
+
     /* This is a function that lookup_symbol will call when it gets to
        the part of symbol lookup where C looks up static and global
        variables.  */
@@ -350,8 +366,10 @@ struct language_defn
        characters, excluding any eventual terminating null character.
        Otherwise *LENGTH will include all characters - including any nulls.
        CHARSET will hold the encoding used in the string.  */
-    void (*la_get_string) (struct value *value, gdb_byte **buffer, int *length,
-			   struct type **chartype, const char **charset);
+    void (*la_get_string) (struct value *value,
+			   gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
+			   int *length, struct type **chartype,
+			   const char **charset);
 
     /* Return an expression that can be used for a location
        watchpoint.  TYPE is a pointer type that points to the memory
@@ -611,8 +629,10 @@ int default_pass_by_reference (struct ty
 void default_print_typedef (struct type *type, struct symbol *new_symbol,
 			    struct ui_file *stream);
 
-void default_get_string (struct value *value, gdb_byte **buffer, int *length,
-			 struct type **char_type, const char **charset);
+void default_get_string (struct value *value,
+			 gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
+			 int *length, struct type **char_type,
+			 const char **charset);
 
 /* Default name hashing function.  */
 
@@ -622,8 +642,10 @@ void default_get_string (struct value *v
    comparison operators hash to the same value.  */
 extern unsigned int default_search_name_hash (const char *search_name);
 
-void c_get_string (struct value *value, gdb_byte **buffer, int *length,
-		   struct type **char_type, const char **charset);
+void c_get_string (struct value *value,
+		   gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
+		   int *length, struct type **char_type,
+		   const char **charset);
 
 /* The default implementation of la_symbol_name_matcher.  Matches with
    strncmp_iw.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linespec.c ./gdb/linespec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linespec.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/linespec.c	2018-07-10 02:06:13.000000000 +0000
@@ -46,6 +46,7 @@
 #include "location.h"
 #include "common/function-view.h"
 #include "common/def-vector.h"
+#include <algorithm>
 
 /* An enumeration of the various things a user might attempt to
    complete for a linespec location.  */
@@ -79,9 +80,6 @@ enum class linespec_complete_what
 typedef struct symbol *symbolp;
 DEF_VEC_P (symbolp);
 
-typedef struct type *typep;
-DEF_VEC_P (typep);
-
 /* An address entry is used to ensure that any given location is only
    added to the result a single time.  It holds an address and the
    program space from which the address came.  */
@@ -376,10 +374,9 @@ static void add_matching_symbols_to_info
 					  struct collect_info *info,
 					  struct program_space *pspace);
 
-static void add_all_symbol_names_from_pspace (struct collect_info *info,
-					      struct program_space *pspace,
-					      VEC (const_char_ptr) *names,
-					      enum search_domain search_domain);
+static void add_all_symbol_names_from_pspace
+    (struct collect_info *info, struct program_space *pspace,
+     const std::vector<const char *> &names, enum search_domain search_domain);
 
 static VEC (symtab_ptr) *
   collect_symtabs_from_filename (const char *file,
@@ -535,20 +532,18 @@ skip_quote_char (const char *string, cha
 /* Make a writable copy of the string given in TOKEN, trimming
    any trailing whitespace.  */
 
-static char *
+static gdb::unique_xmalloc_ptr<char>
 copy_token_string (linespec_token token)
 {
-  char *str, *s;
+  const char *str, *s;
 
   if (token.type == LSTOKEN_KEYWORD)
-    return xstrdup (LS_TOKEN_KEYWORD (token));
+    return gdb::unique_xmalloc_ptr<char> (xstrdup (LS_TOKEN_KEYWORD (token)));
 
-  str = savestring (LS_TOKEN_STOKEN (token).ptr,
-		    LS_TOKEN_STOKEN (token).length);
+  str = LS_TOKEN_STOKEN (token).ptr;
   s = remove_trailing_whitespace (str, str + LS_TOKEN_STOKEN (token).length);
-  *s = '\0';
 
-  return str;
+  return gdb::unique_xmalloc_ptr<char> (savestring (str, s - str));
 }
 
 /* Does P represent the end of a quote-enclosed linespec?  */
@@ -1212,11 +1207,11 @@ iterate_over_file_blocks
 
 static void
 find_methods (struct type *t, enum language t_lang, const char *name,
-	      VEC (const_char_ptr) **result_names,
-	      VEC (typep) **superclasses)
+	      std::vector<const char *> *result_names,
+	      std::vector<struct type *> *superclasses)
 {
   int ibase;
-  const char *class_name = type_name_no_tag (t);
+  const char *class_name = TYPE_NAME (t);
 
   /* Ignore this class if it doesn't have a name.  This is ugly, but
      unless we figure out how to get the physname without the name of
@@ -1267,14 +1262,14 @@ find_methods (struct type *t, enum langu
 		  if (TYPE_FN_FIELD_STUB (f, field_counter))
 		    continue;
 		  phys_name = TYPE_FN_FIELD_PHYSNAME (f, field_counter);
-		  VEC_safe_push (const_char_ptr, *result_names, phys_name);
+		  result_names->push_back (phys_name);
 		}
 	    }
 	}
     }
 
   for (ibase = 0; ibase < TYPE_N_BASECLASSES (t); ibase++)
-    VEC_safe_push (typep, *superclasses, TYPE_BASECLASS (t, ibase));
+    superclasses->push_back (TYPE_BASECLASS (t, ibase));
 }
 
 /* Find an instance of the character C in the string S that is outside
@@ -1385,16 +1380,16 @@ find_toplevel_string (const char *haysta
 }
 
 /* Convert CANONICAL to its string representation using
-   symtab_to_fullname for SYMTAB.  The caller must xfree the result.  */
+   symtab_to_fullname for SYMTAB.  */
 
-static char *
+static std::string
 canonical_to_fullform (const struct linespec_canonical_name *canonical)
 {
   if (canonical->symtab == NULL)
-    return xstrdup (canonical->suffix);
+    return canonical->suffix;
   else
-    return xstrprintf ("%s:%s", symtab_to_fullname (canonical->symtab),
-		       canonical->suffix);
+    return string_printf ("%s:%s", symtab_to_fullname (canonical->symtab),
+			  canonical->suffix);
 }
 
 /* Given FILTERS, a list of canonical names, filter the sals in RESULT
@@ -1403,29 +1398,21 @@ canonical_to_fullform (const struct line
 static void
 filter_results (struct linespec_state *self,
 		std::vector<symtab_and_line> *result,
-		VEC (const_char_ptr) *filters)
+		const std::vector<const char *> &filters)
 {
-  int i;
-  const char *name;
-
-  for (i = 0; VEC_iterate (const_char_ptr, filters, i, name); ++i)
+  for (const char *name : filters)
     {
       linespec_sals lsal;
 
       for (size_t j = 0; j < result->size (); ++j)
 	{
 	  const struct linespec_canonical_name *canonical;
-	  char *fullform;
-	  struct cleanup *cleanup;
 
 	  canonical = &self->canonical_names[j];
-	  fullform = canonical_to_fullform (canonical);
-	  cleanup = make_cleanup (xfree, fullform);
+	  std::string fullform = canonical_to_fullform (canonical);
 
-	  if (strcmp (name, fullform) == 0)
+	  if (name == fullform)
 	    lsal.sals.push_back ((*result)[j]);
-
-	  do_cleanups (cleanup);
 	}
 
       if (!lsal.sals.empty ())
@@ -1459,34 +1446,35 @@ convert_results_to_lsals (struct linespe
 
 struct decode_line_2_item
 {
-  /* The form using symtab_to_fullname.
-     It must be xfree'ed after use.  */
-  char *fullform;
-
-  /* The form using symtab_to_filename_for_display.
-     It must be xfree'ed after use.  */
-  char *displayform;
+  decode_line_2_item (std::string &&fullform_, std::string &&displayform_,
+		      bool selected_)
+    : fullform (std::move (fullform_)),
+      displayform (std::move (displayform_)),
+      selected (selected_)
+  {
+  }
+
+  /* The form using symtab_to_fullname.  */
+  std::string fullform;
+
+  /* The form using symtab_to_filename_for_display.  */
+  std::string displayform;
 
   /* Field is initialized to zero and it is set to one if the user
      requested breakpoint for this entry.  */
   unsigned int selected : 1;
 };
 
-/* Helper for qsort to sort decode_line_2_item entries by DISPLAYFORM and
-   secondarily by FULLFORM.  */
-
-static int
-decode_line_2_compare_items (const void *ap, const void *bp)
-{
-  const struct decode_line_2_item *a = (const struct decode_line_2_item *) ap;
-  const struct decode_line_2_item *b = (const struct decode_line_2_item *) bp;
-  int retval;
-
-  retval = strcmp (a->displayform, b->displayform);
-  if (retval != 0)
-    return retval;
+/* Helper for std::sort to sort decode_line_2_item entries by
+   DISPLAYFORM and secondarily by FULLFORM.  */
 
-  return strcmp (a->fullform, b->fullform);
+static bool
+decode_line_2_compare_items (const decode_line_2_item &a,
+			     const decode_line_2_item &b)
+{
+  if (a.displayform != b.displayform)
+    return a.displayform < b.displayform;
+  return a.fullform < b.fullform;
 }
 
 /* Handle multiple results in RESULT depending on SELECT_MODE.  This
@@ -1502,77 +1490,66 @@ decode_line_2 (struct linespec_state *se
   char *args;
   const char *prompt;
   int i;
-  struct cleanup *old_chain;
-  VEC (const_char_ptr) *filters = NULL;
-  struct decode_line_2_item *items;
-  int items_count;
+  std::vector<const char *> filters;
+  std::vector<struct decode_line_2_item> items;
 
   gdb_assert (select_mode != multiple_symbols_all);
   gdb_assert (self->canonical != NULL);
   gdb_assert (!result->empty ());
 
-  old_chain = make_cleanup (VEC_cleanup (const_char_ptr), &filters);
-
   /* Prepare ITEMS array.  */
-  items_count = result->size ();
-  items = XNEWVEC (struct decode_line_2_item, items_count);
-  make_cleanup (xfree, items);
-  for (i = 0; i < items_count; ++i)
+  for (i = 0; i < result->size (); ++i)
     {
       const struct linespec_canonical_name *canonical;
       struct decode_line_2_item *item;
 
+      std::string displayform;
+
       canonical = &self->canonical_names[i];
       gdb_assert (canonical->suffix != NULL);
-      item = &items[i];
 
-      item->fullform = canonical_to_fullform (canonical);
-      make_cleanup (xfree, item->fullform);
+      std::string fullform = canonical_to_fullform (canonical);
 
       if (canonical->symtab == NULL)
-	item->displayform = canonical->suffix;
+	displayform = canonical->suffix;
       else
 	{
 	  const char *fn_for_display;
 
 	  fn_for_display = symtab_to_filename_for_display (canonical->symtab);
-	  item->displayform = xstrprintf ("%s:%s", fn_for_display,
-					  canonical->suffix);
-	  make_cleanup (xfree, item->displayform);
+	  displayform = string_printf ("%s:%s", fn_for_display,
+				       canonical->suffix);
 	}
 
-      item->selected = 0;
+      items.emplace_back (std::move (fullform), std::move (displayform),
+			  false);
     }
 
   /* Sort the list of method names.  */
-  qsort (items, items_count, sizeof (*items), decode_line_2_compare_items);
+  std::sort (items.begin (), items.end (), decode_line_2_compare_items);
 
   /* Remove entries with the same FULLFORM.  */
-  if (items_count >= 2)
-    {
-      struct decode_line_2_item *dst, *src;
-
-      dst = items;
-      for (src = &items[1]; src < &items[items_count]; src++)
-	if (strcmp (src->fullform, dst->fullform) != 0)
-	  *++dst = *src;
-      items_count = dst + 1 - items;
-    }
+  items.erase (std::unique (items.begin (), items.end (),
+			    [] (const struct decode_line_2_item &a,
+				const struct decode_line_2_item &b)
+			      {
+				return a.fullform == b.fullform;
+			      }),
+	       items.end ());
 
-  if (select_mode == multiple_symbols_cancel && items_count > 1)
+  if (select_mode == multiple_symbols_cancel && items.size () > 1)
     error (_("canceled because the command is ambiguous\n"
 	     "See set/show multiple-symbol."));
   
-  if (select_mode == multiple_symbols_all || items_count == 1)
+  if (select_mode == multiple_symbols_all || items.size () == 1)
     {
-      do_cleanups (old_chain);
       convert_results_to_lsals (self, result);
       return;
     }
 
   printf_unfiltered (_("[0] cancel\n[1] all\n"));
-  for (i = 0; i < items_count; i++)
-    printf_unfiltered ("[%d] %s\n", i + 2, items[i].displayform);
+  for (i = 0; i < items.size (); i++)
+    printf_unfiltered ("[%d] %s\n", i + 2, items[i].displayform.c_str ());
 
   prompt = getenv ("PS2");
   if (prompt == NULL)
@@ -1599,13 +1576,12 @@ decode_line_2 (struct linespec_state *se
 	     multiple_symbols_all behavior even with the 'ask'
 	     setting; and he can get separate breakpoints by entering
 	     "2-57" at the query.  */
-	  do_cleanups (old_chain);
 	  convert_results_to_lsals (self, result);
 	  return;
 	}
 
       num -= 2;
-      if (num >= items_count)
+      if (num >= items.size ())
 	printf_unfiltered (_("No choice number %d.\n"), num);
       else
 	{
@@ -1613,7 +1589,7 @@ decode_line_2 (struct linespec_state *se
 
 	  if (!item->selected)
 	    {
-	      VEC_safe_push (const_char_ptr, filters, item->fullform);
+	      filters.push_back (item->fullform.c_str ());
 	      item->selected = 1;
 	    }
 	  else
@@ -1625,7 +1601,6 @@ decode_line_2 (struct linespec_state *se
     }
 
   filter_results (self, result, filters);
-  do_cleanups (old_chain);
 }
 
 
@@ -1691,13 +1666,10 @@ unexpected_linespec_error (linespec_pars
   if (token.type == LSTOKEN_STRING || token.type == LSTOKEN_NUMBER
       || token.type == LSTOKEN_KEYWORD)
     {
-      char *string;
-
-      string = copy_token_string (token);
-      make_cleanup (xfree, string);
+      gdb::unique_xmalloc_ptr<char> string = copy_token_string (token);
       throw_error (GENERIC_ERROR,
 		   _("malformed linespec error: unexpected %s, \"%s\""),
-		   token_type_strings[token.type], string);
+		   token_type_strings[token.type], string.get ());
     }
   else
     throw_error (GENERIC_ERROR,
@@ -1791,11 +1763,10 @@ set_completion_after_number (linespec_pa
 static void
 linespec_parse_basic (linespec_parser *parser)
 {
-  char *name;
+  gdb::unique_xmalloc_ptr<char> name;
   linespec_token token;
   VEC (symbolp) *symbols, *labels;
   VEC (bound_minimal_symbol_d) *minimal_symbols;
-  struct cleanup *cleanup;
 
   /* Get the next token.  */
   token = linespec_lexer_lex_one (parser);
@@ -1817,9 +1788,8 @@ linespec_parse_basic (linespec_parser *p
 
       /* Record the line offset and get the next token.  */
       name = copy_token_string (token);
-      cleanup = make_cleanup (xfree, name);
-      PARSER_EXPLICIT (parser)->line_offset = linespec_parse_line_offset (name);
-      do_cleanups (cleanup);
+      PARSER_EXPLICIT (parser)->line_offset
+	= linespec_parse_line_offset (name.get ());
 
       /* Get the next token.  */
       token = linespec_lexer_consume_token (parser);
@@ -1850,7 +1820,6 @@ linespec_parse_basic (linespec_parser *p
   /* The current token will contain the name of a function, method,
      or label.  */
   name = copy_token_string (token);
-  cleanup = make_cleanup (free_current_contents, &name);
 
   if (parser->completion_tracker != NULL)
     {
@@ -1884,80 +1853,68 @@ linespec_parse_basic (linespec_parser *p
 	      PARSER_STREAM (parser)++;
 	      LS_TOKEN_STOKEN (token).length++;
 
-	      xfree (name);
-	      name = savestring (parser->completion_word,
-				 (PARSER_STREAM (parser)
-				  - parser->completion_word));
+	      name.reset (savestring (parser->completion_word,
+				      (PARSER_STREAM (parser)
+				       - parser->completion_word)));
 	    }
 	}
 
-      PARSER_EXPLICIT (parser)->function_name = name;
-      discard_cleanups (cleanup);
+      PARSER_EXPLICIT (parser)->function_name = name.release ();
     }
   else
     {
-      /* XXX Reindent before pushing.  */
+      /* Try looking it up as a function/method.  */
+      find_linespec_symbols (PARSER_STATE (parser),
+			     PARSER_RESULT (parser)->file_symtabs, name.get (),
+			     PARSER_EXPLICIT (parser)->func_name_match_type,
+			     &symbols, &minimal_symbols);
 
-  /* Try looking it up as a function/method.  */
-  find_linespec_symbols (PARSER_STATE (parser),
-			 PARSER_RESULT (parser)->file_symtabs, name,
-			 PARSER_EXPLICIT (parser)->func_name_match_type,
-			 &symbols, &minimal_symbols);
-
-  if (symbols != NULL || minimal_symbols != NULL)
-    {
-      PARSER_RESULT (parser)->function_symbols = symbols;
-      PARSER_RESULT (parser)->minimal_symbols = minimal_symbols;
-      PARSER_EXPLICIT (parser)->function_name = name;
-      symbols = NULL;
-      discard_cleanups (cleanup);
-    }
-  else
-    {
-      /* NAME was not a function or a method.  So it must be a label
-	 name or user specified variable like "break foo.c:$zippo".  */
-      labels = find_label_symbols (PARSER_STATE (parser), NULL,
-				   &symbols, name);
-      if (labels != NULL)
-	{
-	  PARSER_RESULT (parser)->labels.label_symbols = labels;
-	  PARSER_RESULT (parser)->labels.function_symbols = symbols;
-	  PARSER_EXPLICIT (parser)->label_name = name;
+      if (symbols != NULL || minimal_symbols != NULL)
+	{
+	  PARSER_RESULT (parser)->function_symbols = symbols;
+	  PARSER_RESULT (parser)->minimal_symbols = minimal_symbols;
+	  PARSER_EXPLICIT (parser)->function_name = name.release ();
 	  symbols = NULL;
-	  discard_cleanups (cleanup);
 	}
-      else if (token.type == LSTOKEN_STRING
-	       && *LS_TOKEN_STOKEN (token).ptr == '$')
+      else
 	{
-	  /* User specified a convenience variable or history value.  */
-	  PARSER_EXPLICIT (parser)->line_offset
-	    = linespec_parse_variable (PARSER_STATE (parser), name);
-
-	  if (PARSER_EXPLICIT (parser)->line_offset.sign == LINE_OFFSET_UNKNOWN)
+	  /* NAME was not a function or a method.  So it must be a label
+	     name or user specified variable like "break foo.c:$zippo".  */
+	  labels = find_label_symbols (PARSER_STATE (parser), NULL,
+				       &symbols, name.get ());
+	  if (labels != NULL)
 	    {
-	      /* The user-specified variable was not valid.  Do not
-		 throw an error here.  parse_linespec will do it for us.  */
-	      PARSER_EXPLICIT (parser)->function_name = name;
-	      discard_cleanups (cleanup);
-	      return;
+	      PARSER_RESULT (parser)->labels.label_symbols = labels;
+	      PARSER_RESULT (parser)->labels.function_symbols = symbols;
+	      PARSER_EXPLICIT (parser)->label_name = name.release ();
+	      symbols = NULL;
 	    }
+	  else if (token.type == LSTOKEN_STRING
+		   && *LS_TOKEN_STOKEN (token).ptr == '$')
+	    {
+	      /* User specified a convenience variable or history value.  */
+	      PARSER_EXPLICIT (parser)->line_offset
+		= linespec_parse_variable (PARSER_STATE (parser), name.get ());
 
-	  /* The convenience variable/history value parsed correctly.
-	     NAME is no longer needed.  */
-	  do_cleanups (cleanup);
-	}
-      else
-	{
-	  /* The name is also not a label.  Abort parsing.  Do not throw
-	     an error here.  parse_linespec will do it for us.  */
+	      if (PARSER_EXPLICIT (parser)->line_offset.sign == LINE_OFFSET_UNKNOWN)
+		{
+		  /* The user-specified variable was not valid.  Do not
+		     throw an error here.  parse_linespec will do it for us.  */
+		  PARSER_EXPLICIT (parser)->function_name = name.release ();
+		  return;
+		}
+	    }
+	  else
+	    {
+	      /* The name is also not a label.  Abort parsing.  Do not throw
+		 an error here.  parse_linespec will do it for us.  */
 
-	  /* Save a copy of the name we were trying to lookup.  */
-	  PARSER_EXPLICIT (parser)->function_name = name;
-	  discard_cleanups (cleanup);
-	  return;
+	      /* Save a copy of the name we were trying to lookup.  */
+	      PARSER_EXPLICIT (parser)->function_name = name.release ();
+	      return;
+	    }
 	}
     }
-    }
 
   int previous_qc = parser->completion_quote_char;
 
@@ -1981,10 +1938,8 @@ linespec_parse_basic (linespec_parser *p
 	  set_completion_after_number (parser, linespec_complete_what::KEYWORD);
 
 	  name = copy_token_string (token);
-	  cleanup = make_cleanup (xfree, name);
 	  PARSER_EXPLICIT (parser)->line_offset
-	    = linespec_parse_line_offset (name);
-	  do_cleanups (cleanup);
+	    = linespec_parse_line_offset (name.get ());
 
 	  /* Get the next token.  */
 	  token = linespec_lexer_consume_token (parser);
@@ -2026,29 +1981,26 @@ linespec_parse_basic (linespec_parser *p
 	    }
 	  else
 	    {
-	      /* XXX Reindent before pushing.  */
-
-	  /* Grab a copy of the label's name and look it up.  */
-	  name = copy_token_string (token);
-	  cleanup = make_cleanup (xfree, name);
-	  labels = find_label_symbols (PARSER_STATE (parser),
-				       PARSER_RESULT (parser)->function_symbols,
-				       &symbols, name);
+	      /* Grab a copy of the label's name and look it up.  */
+	      name = copy_token_string (token);
+	      labels
+		= find_label_symbols (PARSER_STATE (parser),
+				      PARSER_RESULT (parser)->function_symbols,
+				      &symbols, name.get ());
 
-	  if (labels != NULL)
-	    {
-	      PARSER_RESULT (parser)->labels.label_symbols = labels;
-	      PARSER_RESULT (parser)->labels.function_symbols = symbols;
-	      PARSER_EXPLICIT (parser)->label_name = name;
-	      symbols = NULL;
-	      discard_cleanups (cleanup);
-	    }
-	  else
-	    {
-	      /* We don't know what it was, but it isn't a label.  */
-	      undefined_label_error (PARSER_EXPLICIT (parser)->function_name,
-				     name);
-	    }
+	      if (labels != NULL)
+		{
+		  PARSER_RESULT (parser)->labels.label_symbols = labels;
+		  PARSER_RESULT (parser)->labels.function_symbols = symbols;
+		  PARSER_EXPLICIT (parser)->label_name = name.release ();
+		  symbols = NULL;
+		}
+	      else
+		{
+		  /* We don't know what it was, but it isn't a label.  */
+		  undefined_label_error
+		    (PARSER_EXPLICIT (parser)->function_name, name.get ());
+		}
 
 	    }
 
@@ -2065,11 +2017,9 @@ linespec_parse_basic (linespec_parser *p
 
 	      /* Record the line offset and get the next token.  */
 	      name = copy_token_string (token);
-	      cleanup = make_cleanup (xfree, name);
 
 	      PARSER_EXPLICIT (parser)->line_offset
-		= linespec_parse_line_offset (name);
-	      do_cleanups (cleanup);
+		= linespec_parse_line_offset (name.get ());
 
 	      /* Get the next token.  */
 	      token = linespec_lexer_consume_token (parser);
@@ -2246,9 +2196,7 @@ create_sals_line_offset (struct linespec
 
 	    if (self->funfirstline)
 	      skip_prologue_sal (&intermediate_results[i]);
-	    /* Make sure the line matches the request, not what was
-	       found.  */
-	    intermediate_results[i].line = val.line;
+	    intermediate_results[i].symbol = sym;
 	    add_sal_to_sals (self, &values, &intermediate_results[i],
 			     sym ? SYMBOL_NATURAL_NAME (sym) : NULL, 0);
 	  }
@@ -2277,6 +2225,7 @@ convert_address_location_to_sals (struct
   sal.pc = address;
   sal.section = find_pc_overlay (address);
   sal.explicit_pc = 1;
+  sal.symbol = find_pc_sect_containing_function (sal.pc, sal.section);
 
   std::vector<symtab_and_line> sals;
   add_sal_to_sals (self, &sals, &sal, core_addr_to_string (address), 1);
@@ -2311,12 +2260,6 @@ convert_linespec_to_sals (struct linespe
   else if (ls->function_symbols != NULL || ls->minimal_symbols != NULL)
     {
       /* We have just a bunch of functions and/or methods.  */
-      int i;
-      struct symtab_and_line sal;
-      struct symbol *sym;
-      bound_minimal_symbol_d *elem;
-      struct program_space *pspace;
-
       if (ls->function_symbols != NULL)
 	{
 	  /* Sort symbols so that symbols with the same program space are next
@@ -2325,30 +2268,81 @@ convert_linespec_to_sals (struct linespe
 		 VEC_length (symbolp, ls->function_symbols),
 		 sizeof (symbolp), compare_symbols);
 
-	  for (i = 0; VEC_iterate (symbolp, ls->function_symbols, i, sym); ++i)
+	  struct symbol *sym;
+	  for (int i = 0; VEC_iterate (symbolp, ls->function_symbols, i, sym); ++i)
 	    {
-	      pspace = SYMTAB_PSPACE (symbol_symtab (sym));
+	      program_space *pspace = SYMTAB_PSPACE (symbol_symtab (sym));
 	      set_current_program_space (pspace);
-	      if (symbol_to_sal (&sal, state->funfirstline, sym)
-		  && maybe_add_address (state->addr_set, pspace, sal.pc))
-		add_sal_to_sals (state, &sals, &sal,
-				 SYMBOL_NATURAL_NAME (sym), 0);
+
+	      /* Don't skip to the first line of the function if we
+		 had found an ifunc minimal symbol for this function,
+		 because that means that this function is an ifunc
+		 resolver with the same name as the ifunc itself.  */
+	      bool found_ifunc = false;
+
+	      if (state->funfirstline
+		   && ls->minimal_symbols != NULL
+		   && SYMBOL_CLASS (sym) == LOC_BLOCK)
+		{
+		  const CORE_ADDR addr
+		    = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
+
+		  bound_minimal_symbol_d *elem;
+		  for (int m = 0;
+		       VEC_iterate (bound_minimal_symbol_d, ls->minimal_symbols,
+				    m, elem);
+		       ++m)
+		    {
+		      if (MSYMBOL_TYPE (elem->minsym) == mst_text_gnu_ifunc
+			  || MSYMBOL_TYPE (elem->minsym) == mst_data_gnu_ifunc)
+			{
+			  CORE_ADDR msym_addr = BMSYMBOL_VALUE_ADDRESS (*elem);
+			  if (MSYMBOL_TYPE (elem->minsym) == mst_data_gnu_ifunc)
+			    {
+			      struct gdbarch *gdbarch
+				= get_objfile_arch (elem->objfile);
+			      msym_addr
+				= (gdbarch_convert_from_func_ptr_addr
+				   (gdbarch,
+				    msym_addr,
+				    current_top_target ()));
+			    }
+
+			  if (msym_addr == addr)
+			    {
+			      found_ifunc = true;
+			      break;
+			    }
+			}
+		    }
+		}
+
+	      if (!found_ifunc)
+		{
+		  symtab_and_line sal;
+		  if (symbol_to_sal (&sal, state->funfirstline, sym)
+		      && maybe_add_address (state->addr_set, pspace, sal.pc))
+		    add_sal_to_sals (state, &sals, &sal,
+				     SYMBOL_NATURAL_NAME (sym), 0);
+		}
 	    }
 	}
 
       if (ls->minimal_symbols != NULL)
 	{
-	  /* Sort minimal symbols by program space, too.  */
+	  /* Sort minimal symbols by program space, too  */
 	  qsort (VEC_address (bound_minimal_symbol_d, ls->minimal_symbols),
 		 VEC_length (bound_minimal_symbol_d, ls->minimal_symbols),
 		 sizeof (bound_minimal_symbol_d), compare_msymbols);
 
-	  for (i = 0;
+	  bound_minimal_symbol_d *elem;
+
+	  for (int i = 0;
 	       VEC_iterate (bound_minimal_symbol_d, ls->minimal_symbols,
 			    i, elem);
 	       ++i)
 	    {
-	      pspace = elem->objfile->pspace;
+	      program_space *pspace = elem->objfile->pspace;
 	      set_current_program_space (pspace);
 	      minsym_found (state, elem->objfile, elem->minsym, &sals);
 	    }
@@ -2529,7 +2523,6 @@ parse_linespec (linespec_parser *parser,
 {
   linespec_token token;
   struct gdb_exception file_exception = exception_none;
-  struct cleanup *cleanup;
 
   /* A special case to start.  It has become quite popular for
      IDEs to work around bugs in the previous parser by quoting
@@ -2587,18 +2580,14 @@ parse_linespec (linespec_parser *parser,
   /* It must be either LSTOKEN_STRING or LSTOKEN_NUMBER.  */
   if (token.type == LSTOKEN_STRING && *LS_TOKEN_STOKEN (token).ptr == '$')
     {
-      char *var;
-
       /* A NULL entry means to use GLOBAL_DEFAULT_SYMTAB.  */
       if (parser->completion_tracker == NULL)
 	VEC_safe_push (symtab_ptr, PARSER_RESULT (parser)->file_symtabs, NULL);
 
       /* User specified a convenience variable or history value.  */
-      var = copy_token_string (token);
-      cleanup = make_cleanup (xfree, var);
+      gdb::unique_xmalloc_ptr<char> var = copy_token_string (token);
       PARSER_EXPLICIT (parser)->line_offset
-	= linespec_parse_variable (PARSER_STATE (parser), var);
-      do_cleanups (cleanup);
+	= linespec_parse_variable (PARSER_STATE (parser), var.get ());
 
       /* If a line_offset wasn't found (VAR is the name of a user
 	 variable/function), then skip to normal symbol processing.  */
@@ -2627,17 +2616,15 @@ parse_linespec (linespec_parser *parser,
 
   if (token.type == LSTOKEN_COLON)
     {
-      char *user_filename;
-
       /* Get the current token again and extract the filename.  */
       token = linespec_lexer_lex_one (parser);
-      user_filename = copy_token_string (token);
+      gdb::unique_xmalloc_ptr<char> user_filename = copy_token_string (token);
 
       /* Check if the input is a filename.  */
       TRY
 	{
 	  PARSER_RESULT (parser)->file_symtabs
-	    = symtabs_from_filename (user_filename,
+	    = symtabs_from_filename (user_filename.get (),
 				     PARSER_STATE (parser)->search_pspace);
 	}
       CATCH (ex, RETURN_MASK_ERROR)
@@ -2649,7 +2636,7 @@ parse_linespec (linespec_parser *parser,
       if (file_exception.reason >= 0)
 	{
 	  /* Symtabs were found for the file.  Record the filename.  */
-	  PARSER_EXPLICIT (parser)->source_filename = user_filename;
+	  PARSER_EXPLICIT (parser)->source_filename = user_filename.release ();
 
 	  /* Get the next token.  */
 	  token = linespec_lexer_consume_token (parser);
@@ -2659,9 +2646,6 @@ parse_linespec (linespec_parser *parser,
 	}
       else
 	{
-	  /* No symtabs found -- discard user_filename.  */
-	  xfree (user_filename);
-
 	  /* A NULL entry means to use GLOBAL_DEFAULT_SYMTAB.  */
 	  VEC_safe_push (symtab_ptr, PARSER_RESULT (parser)->file_symtabs, NULL);
 	}
@@ -3224,16 +3208,10 @@ event_location_to_sals (linespec_parser 
 
 	if (addr_string != NULL)
 	  {
-	    char *expr = xstrdup (addr_string);
-	    const char *const_expr = expr;
-	    struct cleanup *cleanup = make_cleanup (xfree, expr);
-
-	    addr = linespec_expression_to_pc (&const_expr);
+	    addr = linespec_expression_to_pc (&addr_string);
 	    if (PARSER_STATE (parser)->canonical != NULL)
 	      PARSER_STATE (parser)->canonical->location
 		= copy_event_location (location);
-
-	    do_cleanups (cleanup);
 	  }
 
 	result = convert_address_location_to_sals (PARSER_STATE (parser),
@@ -3275,7 +3253,7 @@ decode_line_full (const struct event_loc
 		  const char *filter)
 {
   struct cleanup *cleanups;
-  VEC (const_char_ptr) *filters = NULL;
+  std::vector<const char *> filters;
   linespec_parser parser;
   struct linespec_state *state;
 
@@ -3317,7 +3295,7 @@ decode_line_full (const struct event_loc
 
   if (select_mode == NULL)
     {
-      if (interp_ui_out (top_level_interpreter ())->is_mi_like_p ())
+      if (top_level_interpreter ()->interp_ui_out ()->is_mi_like_p ())
 	select_mode = multiple_symbols_all;
       else
 	select_mode = multiple_symbols_select_mode ();
@@ -3327,8 +3305,7 @@ decode_line_full (const struct event_loc
     {
       if (filter != NULL)
 	{
-	  make_cleanup (VEC_cleanup (const_char_ptr), &filters);
-	  VEC_safe_push (const_char_ptr, filters, filter);
+	  filters.push_back (filter);
 	  filter_results (state, &result, filters);
 	}
       else
@@ -3464,20 +3441,19 @@ static std::vector<symtab_and_line>
 decode_objc (struct linespec_state *self, linespec_p ls, const char *arg)
 {
   struct collect_info info;
-  VEC (const_char_ptr) *symbol_names = NULL;
+  std::vector<const char *> symbol_names;
   const char *new_argptr;
-  struct cleanup *cleanup = make_cleanup (VEC_cleanup (const_char_ptr),
-					  &symbol_names);
 
   info.state = self;
   info.file_symtabs = NULL;
   VEC_safe_push (symtab_ptr, info.file_symtabs, NULL);
-  make_cleanup (VEC_cleanup (symtab_ptr), &info.file_symtabs);
+  struct cleanup *cleanup = make_cleanup (VEC_cleanup (symtab_ptr),
+					  &info.file_symtabs);
   info.result.symbols = NULL;
   info.result.minimal_symbols = NULL;
 
   new_argptr = find_imps (arg, &symbol_names);
-  if (VEC_empty (const_char_ptr, symbol_names))
+  if (symbol_names.empty ())
     {
       do_cleanups (cleanup);
       return {};
@@ -3703,46 +3679,34 @@ compare_msymbols (const void *a, const v
 static void
 add_all_symbol_names_from_pspace (struct collect_info *info,
 				  struct program_space *pspace,
-				  VEC (const_char_ptr) *names,
+				  const std::vector<const char *> &names,
 				  enum search_domain search_domain)
 {
-  int ix;
-  const char *iter;
-
-  for (ix = 0; VEC_iterate (const_char_ptr, names, ix, iter); ++ix)
+  for (const char *iter : names)
     add_matching_symbols_to_info (iter,
 				  symbol_name_match_type::FULL,
 				  search_domain, info, pspace);
 }
 
 static void
-find_superclass_methods (VEC (typep) *superclasses,
+find_superclass_methods (std::vector<struct type *> &&superclasses,
 			 const char *name, enum language name_lang,
-			 VEC (const_char_ptr) **result_names)
+			 std::vector<const char *> *result_names)
 {
-  int old_len = VEC_length (const_char_ptr, *result_names);
-  VEC (typep) *iter_classes;
-  struct cleanup *cleanup = make_cleanup (null_cleanup, NULL);
+  size_t old_len = result_names->size ();
 
-  iter_classes = superclasses;
   while (1)
     {
-      VEC (typep) *new_supers = NULL;
-      int ix;
-      struct type *t;
+      std::vector<struct type *> new_supers;
 
-      make_cleanup (VEC_cleanup (typep), &new_supers);
-      for (ix = 0; VEC_iterate (typep, iter_classes, ix, t); ++ix)
+      for (type *t : superclasses)
 	find_methods (t, name_lang, name, result_names, &new_supers);
 
-      if (VEC_length (const_char_ptr, *result_names) != old_len
-	  || VEC_empty (typep, new_supers))
+      if (result_names->size () != old_len || new_supers.empty ())
 	break;
 
-      iter_classes = new_supers;
+      superclasses = std::move (new_supers);
     }
-
-  do_cleanups (cleanup);
 }
 
 /* This finds the method METHOD_NAME in the class CLASS_NAME whose type is
@@ -3756,11 +3720,10 @@ find_method (struct linespec_state *self
 	     VEC (bound_minimal_symbol_d) **minsyms)
 {
   struct symbol *sym;
-  struct cleanup *cleanup = make_cleanup (null_cleanup, NULL);
   int ix;
-  int last_result_len;
-  VEC (typep) *superclass_vec;
-  VEC (const_char_ptr) *result_names;
+  size_t last_result_len;
+  std::vector<struct type *> superclass_vec;
+  std::vector<const char *> result_names;
   struct collect_info info;
 
   /* Sort symbols so that symbols with the same program space are next
@@ -3784,10 +3747,6 @@ find_method (struct linespec_state *self
      those names.  This loop is written in a somewhat funny way
      because we collect data across the program space before deciding
      what to do.  */
-  superclass_vec = NULL;
-  make_cleanup (VEC_cleanup (typep), &superclass_vec);
-  result_names = NULL;
-  make_cleanup (VEC_cleanup (const_char_ptr), &result_names);
   last_result_len = 0;
   for (ix = 0; VEC_iterate (symbolp, sym_classes, ix, sym); ++ix)
     {
@@ -3812,8 +3771,8 @@ find_method (struct linespec_state *self
 	{
 	  /* If we did not find a direct implementation anywhere in
 	     this program space, consider superclasses.  */
-	  if (VEC_length (const_char_ptr, result_names) == last_result_len)
-	    find_superclass_methods (superclass_vec, method_name,
+	  if (result_names.size () == last_result_len)
+	    find_superclass_methods (std::move (superclass_vec), method_name,
 				     SYMBOL_LANGUAGE (sym), &result_names);
 
 	  /* We have a list of candidate symbol names, so now we
@@ -3822,8 +3781,8 @@ find_method (struct linespec_state *self
 	  add_all_symbol_names_from_pspace (&info, pspace, result_names,
 					    FUNCTIONS_DOMAIN);
 
-	  VEC_truncate (typep, superclass_vec, 0);
-	  last_result_len = VEC_length (const_char_ptr, result_names);
+	  superclass_vec.clear ();
+	  last_result_len = result_names.size ();
 	}
     }
 
@@ -3832,7 +3791,6 @@ find_method (struct linespec_state *self
     {
       *symbols = info.result.symbols;
       *minsyms = info.result.minimal_symbols;
-      do_cleanups (cleanup);
       return;
     }
 
@@ -3968,9 +3926,7 @@ find_function_symbols (struct linespec_s
 		       VEC (bound_minimal_symbol_d) **minsyms)
 {
   struct collect_info info;
-  VEC (const_char_ptr) *symbol_names = NULL;
-  struct cleanup *cleanup = make_cleanup (VEC_cleanup (const_char_ptr),
-					  &symbol_names);
+  std::vector<const char *> symbol_names;
 
   info.state = state;
   info.result.symbols = NULL;
@@ -3979,15 +3935,13 @@ find_function_symbols (struct linespec_s
 
   /* Try NAME as an Objective-C selector.  */
   find_imps (name, &symbol_names);
-  if (!VEC_empty (const_char_ptr, symbol_names))
+  if (!symbol_names.empty ())
     add_all_symbol_names_from_pspace (&info, state->search_pspace,
 				      symbol_names, FUNCTIONS_DOMAIN);
   else
     add_matching_symbols_to_info (name, name_match_type, FUNCTIONS_DOMAIN,
 				  &info, state->search_pspace);
 
-  do_cleanups (cleanup);
-
   if (VEC_empty (symbolp, info.result.symbols))
     {
       VEC_free (symbolp, info.result.symbols);
@@ -4337,33 +4291,36 @@ minsym_found (struct linespec_state *sel
 	      struct minimal_symbol *msymbol,
 	      std::vector<symtab_and_line> *result)
 {
-  struct symtab_and_line sal;
+  bool want_start_sal;
 
   CORE_ADDR func_addr;
-  if (msymbol_is_function (objfile, msymbol, &func_addr))
-    {
-      sal = find_pc_sect_line (func_addr, NULL, 0);
+  bool is_function = msymbol_is_function (objfile, msymbol, &func_addr);
 
-      if (self->funfirstline)
-	{
-	  if (sal.symtab != NULL
-	      && (COMPUNIT_LOCATIONS_VALID (SYMTAB_COMPUNIT (sal.symtab))
-		  || SYMTAB_LANGUAGE (sal.symtab) == language_asm))
-	    {
-	      struct gdbarch *gdbarch = get_objfile_arch (objfile);
+  if (is_function)
+    {
+      const char *msym_name = MSYMBOL_LINKAGE_NAME (msymbol);
 
-	      sal.pc = func_addr;
-	      if (gdbarch_skip_entrypoint_p (gdbarch))
-		sal.pc = gdbarch_skip_entrypoint (gdbarch, sal.pc);
-	    }
-	  else
-	    skip_prologue_sal (&sal);
-	}
+      if (MSYMBOL_TYPE (msymbol) == mst_text_gnu_ifunc
+	  || MSYMBOL_TYPE (msymbol) == mst_data_gnu_ifunc)
+	want_start_sal = gnu_ifunc_resolve_name (msym_name, &func_addr);
+      else
+	want_start_sal = true;
     }
+
+  symtab_and_line sal;
+
+  if (is_function && want_start_sal)
+    sal = find_function_start_sal (func_addr, NULL, self->funfirstline);
   else
     {
       sal.objfile = objfile;
-      sal.pc = MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
+      sal.msymbol = msymbol;
+      /* Store func_addr, not the minsym's address in case this was an
+	 ifunc that hasn't been resolved yet.  */
+      if (is_function)
+	sal.pc = func_addr;
+      else
+	sal.pc = MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
       sal.pspace = current_program_space;
     }
 
@@ -4373,27 +4330,6 @@ minsym_found (struct linespec_state *sel
     add_sal_to_sals (self, result, &sal, MSYMBOL_NATURAL_NAME (msymbol), 0);
 }
 
-/* A helper struct to pass some data through
-   iterate_over_minimal_symbols.  */
-
-struct collect_minsyms
-{
-  /* The objfile we're examining.  */
-  struct objfile *objfile;
-
-  /* Only search the given symtab, or NULL to search for all symbols.  */
-  struct symtab *symtab;
-
-  /* The funfirstline setting from the initial call.  */
-  int funfirstline;
-
-  /* The list_mode setting from the initial call.  */
-  int list_mode;
-
-  /* The resulting symbols.  */
-  VEC (bound_minimal_symbol_d) *msyms;
-};
-
 /* A helper function to classify a minimal_symbol_type according to
    priority.  */
 
@@ -4418,47 +4354,46 @@ classify_mtype (enum minimal_symbol_type
     }
 }
 
-/* Callback for qsort that sorts symbols by priority.  */
+/* Callback for std::sort that sorts symbols by priority.  */
 
-static int
-compare_msyms (const void *a, const void *b)
+static bool
+compare_msyms (const bound_minimal_symbol &a, const bound_minimal_symbol &b)
 {
-  const bound_minimal_symbol_d *moa = (const bound_minimal_symbol_d *) a;
-  const bound_minimal_symbol_d *mob = (const bound_minimal_symbol_d *) b;
-  enum minimal_symbol_type ta = MSYMBOL_TYPE (moa->minsym);
-  enum minimal_symbol_type tb = MSYMBOL_TYPE (mob->minsym);
+  enum minimal_symbol_type ta = MSYMBOL_TYPE (a.minsym);
+  enum minimal_symbol_type tb = MSYMBOL_TYPE (b.minsym);
 
-  return classify_mtype (ta) - classify_mtype (tb);
+  return classify_mtype (ta) < classify_mtype (tb);
 }
 
-/* Callback for iterate_over_minimal_symbols that adds the symbol to
-   the result.  */
+/* Helper for search_minsyms_for_name that adds the symbol to the
+   result.  */
 
 static void
-add_minsym (struct minimal_symbol *minsym, void *d)
+add_minsym (struct minimal_symbol *minsym, struct objfile *objfile,
+	    struct symtab *symtab, int list_mode,
+	    std::vector<struct bound_minimal_symbol> *msyms)
 {
-  struct collect_minsyms *info = (struct collect_minsyms *) d;
-
-  if (info->symtab != NULL)
+  if (symtab != NULL)
     {
       /* We're looking for a label for which we don't have debug
 	 info.  */
       CORE_ADDR func_addr;
-      if (msymbol_is_function (info->objfile, minsym, &func_addr))
+      if (msymbol_is_function (objfile, minsym, &func_addr))
 	{
 	  symtab_and_line sal = find_pc_sect_line (func_addr, NULL, 0);
 
-	  if (info->symtab != sal.symtab)
+	  if (symtab != sal.symtab)
 	    return;
 	}
     }
 
   /* Exclude data symbols when looking for breakpoint locations.  */
-  if (!info->list_mode && !msymbol_is_function (info->objfile, minsym))
+  if (!list_mode && !msymbol_is_function (objfile, minsym))
     return;
 
-  bound_minimal_symbol_d mo = {minsym, info->objfile};
-  VEC_safe_push (bound_minimal_symbol_d, info->msyms, &mo);
+  struct bound_minimal_symbol mo = {minsym, objfile};
+  msyms->push_back (mo);
+  return;
 }
 
 /* Search for minimal symbols called NAME.  If SEARCH_PSPACE
@@ -4474,15 +4409,7 @@ search_minsyms_for_name (struct collect_
 			 struct program_space *search_pspace,
 			 struct symtab *symtab)
 {
-  struct collect_minsyms local;
-  struct cleanup *cleanup;
-
-  memset (&local, 0, sizeof (local));
-  local.funfirstline = info->state->funfirstline;
-  local.list_mode = info->state->list_mode;
-  local.symtab = symtab;
-
-  cleanup = make_cleanup (VEC_cleanup (bound_minimal_symbol_d), &local.msyms);
+  std::vector<struct bound_minimal_symbol> minsyms;
 
   if (symtab == NULL)
     {
@@ -4501,8 +4428,14 @@ search_minsyms_for_name (struct collect_
 
 	ALL_OBJFILES (objfile)
 	{
-	  local.objfile = objfile;
-	  iterate_over_minimal_symbols (objfile, name, add_minsym, &local);
+	  iterate_over_minimal_symbols (objfile, name,
+					[&] (struct minimal_symbol *msym)
+					  {
+					    add_minsym (msym, objfile, nullptr,
+							info->state->list_mode,
+							&minsyms);
+					    return false;
+					  });
 	}
       }
     }
@@ -4511,41 +4444,37 @@ search_minsyms_for_name (struct collect_
       if (search_pspace == NULL || SYMTAB_PSPACE (symtab) == search_pspace)
 	{
 	  set_current_program_space (SYMTAB_PSPACE (symtab));
-	  local.objfile = SYMTAB_OBJFILE(symtab);
-	  iterate_over_minimal_symbols (local.objfile, name, add_minsym, &local);
+	  iterate_over_minimal_symbols
+	    (SYMTAB_OBJFILE (symtab), name,
+	     [&] (struct minimal_symbol *msym)
+	       {
+		 add_minsym (msym, SYMTAB_OBJFILE (symtab), symtab,
+			     info->state->list_mode, &minsyms);
+		 return false;
+	       });
 	}
     }
 
-    if (!VEC_empty (bound_minimal_symbol_d, local.msyms))
-      {
-	int classification;
-	int ix;
-	bound_minimal_symbol_d *item;
-
-	qsort (VEC_address (bound_minimal_symbol_d, local.msyms),
-	       VEC_length (bound_minimal_symbol_d, local.msyms),
-	       sizeof (bound_minimal_symbol_d),
-	       compare_msyms);
-
-	/* Now the minsyms are in classification order.  So, we walk
-	   over them and process just the minsyms with the same
-	   classification as the very first minsym in the list.  */
-	item = VEC_index (bound_minimal_symbol_d, local.msyms, 0);
-	classification = classify_mtype (MSYMBOL_TYPE (item->minsym));
-
-	for (ix = 0;
-	     VEC_iterate (bound_minimal_symbol_d, local.msyms, ix, item);
-	     ++ix)
-	  {
-	    if (classify_mtype (MSYMBOL_TYPE (item->minsym)) != classification)
-	      break;
+  if (!minsyms.empty ())
+    {
+      int classification;
 
-	    VEC_safe_push (bound_minimal_symbol_d,
-			   info->result.minimal_symbols, item);
-	  }
-      }
+      std::sort (minsyms.begin (), minsyms.end (), compare_msyms);
+
+      /* Now the minsyms are in classification order.  So, we walk
+	 over them and process just the minsyms with the same
+	 classification as the very first minsym in the list.  */
+      classification = classify_mtype (MSYMBOL_TYPE (minsyms[0].minsym));
 
-    do_cleanups (cleanup);
+      for (const bound_minimal_symbol &item : minsyms)
+	{
+	  if (classify_mtype (MSYMBOL_TYPE (item.minsym)) != classification)
+	    break;
+
+	  VEC_safe_push (bound_minimal_symbol_d,
+			 info->result.minimal_symbols, &item);
+	}
+    }
 }
 
 /* A helper function to add all symbols matching NAME to INFO.  If
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linespec.h ./gdb/linespec.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linespec.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/linespec.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,7 +20,6 @@
 struct symtab;
 
 #include "location.h"
-#include "vec.h"
 
 /* Flags to pass to decode_line_1 and decode_line_full.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-fork.c ./gdb/linux-fork.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-fork.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/linux-fork.c	2018-07-10 02:06:13.000000000 +0000
@@ -45,8 +45,9 @@ struct fork_info
   ptid_t ptid;
   ptid_t parent_ptid;
   int num;			/* Convenient handle (GDB fork id).  */
-  struct regcache *savedregs;	/* Convenient for info fork, saves
+  readonly_detached_regcache *savedregs;	/* Convenient for info fork, saves
 				   having to actually switch contexts.  */
+  CORE_ADDR pc;
   int clobber_regs;		/* True if we should restore saved regs.  */
   off_t *filepos;		/* Set of open file descriptors' offsets.  */
   int maxfd;
@@ -82,18 +83,18 @@ add_fork (pid_t pid)
 {
   struct fork_info *fp;
 
-  if (fork_list == NULL && pid != ptid_get_pid (inferior_ptid))
+  if (fork_list == NULL && pid != inferior_ptid.pid ())
     {
       /* Special case -- if this is the first fork in the list
 	 (the list is hitherto empty), and if this new fork is
 	 NOT the current inferior_ptid, then add inferior_ptid
 	 first, as a special zeroeth fork id.  */
       highest_fork_num = -1;
-      add_fork (ptid_get_pid (inferior_ptid));	/* safe recursion */
+      add_fork (inferior_ptid.pid ());	/* safe recursion */
     }
 
   fp = XCNEW (struct fork_info);
-  fp->ptid = ptid_build (pid, pid, 0);
+  fp->ptid = ptid_t (pid, pid, 0);
   fp->num = ++highest_fork_num;
 
   if (fork_list == NULL)
@@ -140,10 +141,10 @@ delete_fork (ptid_t ptid)
 
   fpprev = NULL;
 
-  linux_nat_forget_process (ptid_get_pid (ptid));
+  linux_target->low_forget_process (ptid.pid ());
 
   for (fp = fork_list; fp; fpprev = fp, fp = fp->next)
-    if (ptid_equal (fp->ptid, ptid))
+    if (fp->ptid == ptid)
       break;
 
   if (!fp)
@@ -161,7 +162,7 @@ delete_fork (ptid_t ptid)
      remove it, leaving the list empty -- we're now down to the
      default case of debugging a single process.  */
   if (fork_list != NULL && fork_list->next == NULL &&
-      ptid_equal (fork_list->ptid, inferior_ptid))
+      fork_list->ptid == inferior_ptid)
     {
       /* Last fork -- delete from list and handle as solo process
 	 (should be a safe recursion).  */
@@ -176,7 +177,7 @@ find_fork_ptid (ptid_t ptid)
   struct fork_info *fp;
 
   for (fp = fork_list; fp; fp = fp->next)
-    if (ptid_equal (fp->ptid, ptid))
+    if (fp->ptid == ptid)
       return fp;
 
   return NULL;
@@ -202,7 +203,7 @@ find_fork_pid (pid_t pid)
   struct fork_info *fp;
 
   for (fp = fork_list; fp; fp = fp->next)
-    if (pid == ptid_get_pid (fp->ptid))
+    if (pid == fp->ptid.pid ())
       return fp;
 
   return NULL;
@@ -215,7 +216,7 @@ fork_id_to_ptid (int num)
   if (fork)
     return fork->ptid;
   else
-    return pid_to_ptid (-1);
+    return ptid_t (-1);
 }
 
 static void
@@ -261,12 +262,13 @@ fork_load_infrun_state (struct fork_info
   linux_nat_switch_fork (fp->ptid);
 
   if (fp->savedregs && fp->clobber_regs)
-    regcache_cpy (get_current_regcache (), fp->savedregs);
+    get_current_regcache ()->restore (fp->savedregs);
 
   registers_changed ();
   reinit_frame_cache ();
 
-  stop_pc = regcache_read_pc (get_current_regcache ());
+  inferior_thread ()->suspend.stop_pc
+    = regcache_read_pc (get_current_regcache ());
   nullify_last_target_wait_ptid ();
 
   /* Now restore the file positions of open file descriptors.  */
@@ -294,7 +296,8 @@ fork_save_infrun_state (struct fork_info
   if (fp->savedregs)
     delete fp->savedregs;
 
-  fp->savedregs = regcache_dup (get_current_regcache ());
+  fp->savedregs = new readonly_detached_regcache (*get_current_regcache ());
+  fp->pc = regcache_read_pc (get_current_regcache ());
   fp->clobber_regs = clobber_regs;
 
   if (clobber_regs)
@@ -302,7 +305,7 @@ fork_save_infrun_state (struct fork_info
       /* Now save the 'state' (file position) of all open file descriptors.
 	 Unfortunately fork does not take care of that for us...  */
       snprintf (path, PATH_MAX, "/proc/%ld/fd",
-		(long) ptid_get_pid (fp->ptid));
+		(long) fp->ptid.pid ());
       if ((d = opendir (path)) != NULL)
 	{
 	  long tmp;
@@ -352,7 +355,7 @@ linux_fork_killall (void)
 
   for (fp = fork_list; fp; fp = fp->next)
     {
-      pid = ptid_get_pid (fp->ptid);
+      pid = fp->ptid.pid ();
       do {
 	/* Use SIGKILL instead of PTRACE_KILL because the former works even
 	   if the thread is running, while the later doesn't.  */
@@ -380,7 +383,7 @@ linux_fork_mourn_inferior (void)
      Do not check whether this succeeds though, since we may be
      dealing with a process that we attached to.  Such a process will
      only report its exit status to its original parent.  */
-  waitpid (ptid_get_pid (inferior_ptid), &status, 0);
+  waitpid (inferior_ptid.pid (), &status, 0);
 
   /* OK, presumably inferior_ptid is the one who has exited.
      We need to delete that one from the fork_list, and switch
@@ -407,13 +410,13 @@ linux_fork_mourn_inferior (void)
    the first available.  */
 
 void
-linux_fork_detach (const char *args, int from_tty)
+linux_fork_detach (int from_tty)
 {
   /* OK, inferior_ptid is the one we are detaching from.  We need to
      delete it from the fork_list, and switch to the next available
      fork.  */
 
-  if (ptrace (PTRACE_DETACH, ptid_get_pid (inferior_ptid), 0, 0))
+  if (ptrace (PTRACE_DETACH, inferior_ptid.pid (), 0, 0))
     error (_("Unable to detach %s"), target_pid_to_str (inferior_ptid));
 
   delete_fork (inferior_ptid);
@@ -459,7 +462,7 @@ inferior_call_waitpid (ptid_t pptid, int
   struct cleanup *old_cleanup;
   int ret = -1;
 
-  if (!ptid_equal (pptid, inferior_ptid))
+  if (pptid != inferior_ptid)
     {
       /* Switch to pptid.  */
       oldfp = find_fork_ptid (inferior_ptid);
@@ -512,14 +515,14 @@ delete_checkpoint_command (const char *a
     error (_("Requires argument (checkpoint id to delete)"));
 
   ptid = fork_id_to_ptid (parse_and_eval_long (args));
-  if (ptid_equal (ptid, minus_one_ptid))
+  if (ptid == minus_one_ptid)
     error (_("No such checkpoint id, %s"), args);
 
-  if (ptid_equal (ptid, inferior_ptid))
+  if (ptid == inferior_ptid)
     error (_("\
 Please switch to another checkpoint before deleting the current one"));
 
-  if (ptrace (PTRACE_KILL, ptid_get_pid (ptid), 0, 0))
+  if (ptrace (PTRACE_KILL, ptid.pid (), 0, 0))
     error (_("Unable to kill pid %s"), target_pid_to_str (ptid));
 
   fi = find_fork_ptid (ptid);
@@ -533,12 +536,13 @@ Please switch to another checkpoint befo
 
   /* If fi->parent_ptid is not a part of lwp but it's a part of checkpoint
      list, waitpid the ptid.
-     If fi->parent_ptid is a part of lwp and it is stoped, waitpid the
+     If fi->parent_ptid is a part of lwp and it is stopped, waitpid the
      ptid.  */
-  if ((!find_thread_ptid (pptid) && find_fork_ptid (pptid))
-      || (find_thread_ptid (pptid) && is_stopped (pptid)))
+  thread_info *parent = find_thread_ptid (pptid);
+  if ((parent == NULL && find_fork_ptid (pptid))
+      || (parent != NULL && parent->state == THREAD_STOPPED))
     {
-      if (inferior_call_waitpid (pptid, ptid_get_pid (ptid)))
+      if (inferior_call_waitpid (pptid, ptid.pid ()))
         warning (_("Unable to wait pid %s"), target_pid_to_str (ptid));
     }
 }
@@ -552,14 +556,14 @@ detach_checkpoint_command (const char *a
     error (_("Requires argument (checkpoint id to detach)"));
 
   ptid = fork_id_to_ptid (parse_and_eval_long (args));
-  if (ptid_equal (ptid, minus_one_ptid))
+  if (ptid == minus_one_ptid)
     error (_("No such checkpoint id, %s"), args);
 
-  if (ptid_equal (ptid, inferior_ptid))
+  if (ptid == inferior_ptid)
     error (_("\
 Please switch to another checkpoint before detaching the current one"));
 
-  if (ptrace (PTRACE_DETACH, ptid_get_pid (ptid), 0, 0))
+  if (ptrace (PTRACE_DETACH, ptid.pid (), 0, 0))
     error (_("Unable to detach %s"), target_pid_to_str (ptid));
 
   if (from_tty)
@@ -589,16 +593,12 @@ info_checkpoints_command (const char *ar
 	continue;
 
       printed = fp;
-      if (ptid_equal (fp->ptid, inferior_ptid))
-	{
-	  printf_filtered ("* ");
-	  pc = regcache_read_pc (get_current_regcache ());
-	}
+      if (fp->ptid == inferior_ptid)
+	printf_filtered ("* ");
       else
-	{
-	  printf_filtered ("  ");
-	  pc = regcache_read_pc (fp->savedregs);
-	}
+	printf_filtered ("  ");
+
+      pc = fp->pc;
       printf_filtered ("%d %s", fp->num, target_pid_to_str (fp->ptid));
       if (fp->num == 0)
 	printf_filtered (_(" (main process)"));
@@ -649,7 +649,7 @@ inf_has_multiple_thread_cb (struct threa
 {
   int *count_p = (int *) data;
   
-  if (current_inferior ()->pid == ptid_get_pid (tp->ptid))
+  if (current_inferior ()->pid == tp->ptid.pid ())
     (*count_p)++;
   
   /* Stop the iteration if multiple threads have been detected.  */
@@ -702,7 +702,7 @@ checkpoint_command (const char *args, in
   /* Tell linux-nat.c that we're checkpointing this inferior.  */
   {
     scoped_restore save_pid
-      = make_scoped_restore (&checkpointing_pid, ptid_get_pid (inferior_ptid));
+      = make_scoped_restore (&checkpointing_pid, inferior_ptid.pid ());
 
     ret = call_function_by_hand (fork_fn, NULL, 0, &ret);
   }
@@ -723,9 +723,9 @@ checkpoint_command (const char *args, in
 		       fp != NULL ? fp->num : -1, (long) retpid);
       if (info_verbose)
 	{
-	  parent_pid = ptid_get_lwp (last_target_ptid);
+	  parent_pid = last_target_ptid.lwp ();
 	  if (parent_pid == 0)
-	    parent_pid = ptid_get_pid (last_target_ptid);
+	    parent_pid = last_target_ptid.pid ();
 	  printf_filtered (_("   gdb says parent = %ld.\n"),
 			   (long) parent_pid);
 	}
@@ -789,8 +789,8 @@ Fork a duplicate process (experimental).
      process.  */
 
   add_com ("restart", class_obscure, restart_command, _("\
-restart <n>: restore program context from a checkpoint.\n\
-Argument 'n' is checkpoint ID, as displayed by 'info checkpoints'."));
+restart N: restore program context from a checkpoint.\n\
+Argument N is checkpoint ID, as displayed by 'info checkpoints'."));
 
   /* Delete checkpoint command: kill the process and remove it from
      the fork list.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-fork.h ./gdb/linux-fork.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-fork.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/linux-fork.h	2018-07-10 02:06:13.000000000 +0000
@@ -22,6 +22,6 @@ extern struct fork_info *add_fork (pid_t
 extern struct fork_info *find_fork_pid (pid_t);
 extern void linux_fork_killall (void);
 extern void linux_fork_mourn_inferior (void);
-extern void linux_fork_detach (const char *, int);
+extern void linux_fork_detach (int);
 extern int forks_exist_p (void);
 extern int linux_fork_checkpointing_p (int);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-nat.c ./gdb/linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -186,41 +186,11 @@ leader.  */
 #define O_LARGEFILE 0
 #endif
 
+struct linux_nat_target *linux_target;
+
 /* Does the current host support PTRACE_GETREGSET?  */
 enum tribool have_ptrace_getregset = TRIBOOL_UNKNOWN;
 
-/* The single-threaded native GNU/Linux target_ops.  We save a pointer for
-   the use of the multi-threaded target.  */
-static struct target_ops *linux_ops;
-static struct target_ops linux_ops_saved;
-
-/* The method to call, if any, when a new thread is attached.  */
-static void (*linux_nat_new_thread) (struct lwp_info *);
-
-/* The method to call, if any, when a thread is destroyed.  */
-static void (*linux_nat_delete_thread) (struct arch_lwp_info *);
-
-/* The method to call, if any, when a new fork is attached.  */
-static linux_nat_new_fork_ftype *linux_nat_new_fork;
-
-/* The method to call, if any, when a process is no longer
-   attached.  */
-static linux_nat_forget_process_ftype *linux_nat_forget_process_hook;
-
-/* Hook to call prior to resuming a thread.  */
-static void (*linux_nat_prepare_to_resume) (struct lwp_info *);
-
-/* The method to call, if any, when the siginfo object needs to be
-   converted between the layout returned by ptrace, and the layout in
-   the architecture of the inferior.  */
-static int (*linux_nat_siginfo_fixup) (siginfo_t *,
-				       gdb_byte *,
-				       int);
-
-/* The saved to_xfer_partial method, inherited from inf-ptrace.c.
-   Called by our to_xfer_partial.  */
-static target_xfer_partial_ftype *super_xfer_partial;
-
 /* The saved to_close method, inherited from inf-ptrace.c.
    Called by our to_close.  */
 static void (*super_close) (struct target_ops *);
@@ -309,9 +279,6 @@ static struct lwp_info *find_lwp_pid (pt
 
 static int lwp_status_pending_p (struct lwp_info *lp);
 
-static int sigtrap_is_event (int status);
-static int (*linux_nat_status_is_event) (int status) = sigtrap_is_event;
-
 static void save_stop_reason (struct lwp_info *lp);
 
 
@@ -417,30 +384,34 @@ linux_nat_ptrace_options (int attached)
   return options;
 }
 
-/* Initialize ptrace warnings and check for supported ptrace
-   features given PID.
+/* Initialize ptrace and procfs warnings and check for supported
+   ptrace features given PID.
 
    ATTACHED should be nonzero iff we attached to the inferior.  */
 
 static void
-linux_init_ptrace (pid_t pid, int attached)
+linux_init_ptrace_procfs (pid_t pid, int attached)
 {
   int options = linux_nat_ptrace_options (attached);
 
   linux_enable_event_reporting (pid, options);
   linux_ptrace_init_warnings ();
+  linux_proc_init_warnings ();
 }
 
-static void
-linux_child_post_attach (struct target_ops *self, int pid)
+linux_nat_target::~linux_nat_target ()
+{}
+
+void
+linux_nat_target::post_attach (int pid)
 {
-  linux_init_ptrace (pid, 1);
+  linux_init_ptrace_procfs (pid, 1);
 }
 
-static void
-linux_child_post_startup_inferior (struct target_ops *self, ptid_t ptid)
+void
+linux_nat_target::post_startup_inferior (ptid_t ptid)
 {
-  linux_init_ptrace (ptid_get_pid (ptid), 0);
+  linux_init_ptrace_procfs (ptid.pid (), 0);
 }
 
 /* Return the number of known LWPs in the tgid given by PID.  */
@@ -452,7 +423,7 @@ num_lwps (int pid)
   struct lwp_info *lp;
 
   for (lp = lwp_list; lp; lp = lp->next)
-    if (ptid_get_pid (lp->ptid) == pid)
+    if (lp->ptid.pid () == pid)
       count++;
 
   return count;
@@ -472,9 +443,8 @@ delete_lwp_cleanup (void *lp_voidp)
    ptid of the followed inferior.  At return, inferior_ptid will be
    unchanged.  */
 
-static int
-linux_child_follow_fork (struct target_ops *ops, int follow_child,
-			 int detach_fork)
+int
+linux_nat_target::follow_fork (int follow_child, int detach_fork)
 {
   if (!follow_child)
     {
@@ -488,8 +458,8 @@ linux_child_follow_fork (struct target_o
 		     == TARGET_WAITKIND_VFORKED);
       parent_ptid = inferior_ptid;
       child_ptid = inferior_thread ()->pending_follow.value.related_pid;
-      parent_pid = ptid_get_lwp (parent_ptid);
-      child_pid = ptid_get_lwp (child_ptid);
+      parent_pid = parent_ptid.lwp ();
+      child_pid = child_ptid.lwp ();
 
       /* We're already attached to the parent, by default.  */
       child_lp = add_lwp (child_ptid);
@@ -502,8 +472,7 @@ linux_child_follow_fork (struct target_o
 	  struct cleanup *old_chain = make_cleanup (delete_lwp_cleanup,
 						    child_lp);
 
-	  if (linux_nat_prepare_to_resume != NULL)
-	    linux_nat_prepare_to_resume (child_lp);
+	  linux_target->low_prepare_to_resume (child_lp);
 
 	  /* When debugging an inferior in an architecture that supports
 	     hardware single stepping on a kernel without commit
@@ -638,46 +607,45 @@ linux_child_follow_fork (struct target_o
 }
 
 
-static int
-linux_child_insert_fork_catchpoint (struct target_ops *self, int pid)
+int
+linux_nat_target::insert_fork_catchpoint (int pid)
 {
   return !linux_supports_tracefork ();
 }
 
-static int
-linux_child_remove_fork_catchpoint (struct target_ops *self, int pid)
+int
+linux_nat_target::remove_fork_catchpoint (int pid)
 {
   return 0;
 }
 
-static int
-linux_child_insert_vfork_catchpoint (struct target_ops *self, int pid)
+int
+linux_nat_target::insert_vfork_catchpoint (int pid)
 {
   return !linux_supports_tracefork ();
 }
 
-static int
-linux_child_remove_vfork_catchpoint (struct target_ops *self, int pid)
+int
+linux_nat_target::remove_vfork_catchpoint (int pid)
 {
   return 0;
 }
 
-static int
-linux_child_insert_exec_catchpoint (struct target_ops *self, int pid)
+int
+linux_nat_target::insert_exec_catchpoint (int pid)
 {
   return !linux_supports_tracefork ();
 }
 
-static int
-linux_child_remove_exec_catchpoint (struct target_ops *self, int pid)
+int
+linux_nat_target::remove_exec_catchpoint (int pid)
 {
   return 0;
 }
 
-static int
-linux_child_set_syscall_catchpoint (struct target_ops *self,
-				    int pid, bool needed, int any_count,
-				    gdb::array_view<const int> syscall_counts)
+int
+linux_nat_target::set_syscall_catchpoint (int pid, bool needed, int any_count,
+					  gdb::array_view<const int> syscall_counts)
 {
   if (!linux_supports_tracesysgood ())
     return 1;
@@ -701,7 +669,7 @@ static hashval_t
 lwp_info_hash (const void *ap)
 {
   const struct lwp_info *lp = (struct lwp_info *) ap;
-  pid_t pid = ptid_get_lwp (lp->ptid);
+  pid_t pid = lp->ptid.lwp ();
 
   return iterative_hash_object (pid, 0);
 }
@@ -715,7 +683,7 @@ lwp_lwpid_htab_eq (const void *a, const 
   const struct lwp_info *entry = (const struct lwp_info *) a;
   const struct lwp_info *element = (const struct lwp_info *) b;
 
-  return ptid_get_lwp (entry->ptid) == ptid_get_lwp (element->ptid);
+  return entry->ptid.lwp () == element->ptid.lwp ();
 }
 
 /* Create the lwp_lwpid_htab hash table.  */
@@ -811,9 +779,8 @@ restore_child_signals_mask (sigset_t *pr
 static sigset_t pass_mask;
 
 /* Update signals to pass to the inferior.  */
-static void
-linux_nat_pass_signals (struct target_ops *self,
-			int numsigs, unsigned char *pass_signals)
+void
+linux_nat_target::pass_signals (int numsigs, unsigned char *pass_signals)
 {
   int signo;
 
@@ -831,7 +798,6 @@ linux_nat_pass_signals (struct target_op
 
 /* Prototypes for local functions.  */
 static int stop_wait_callback (struct lwp_info *lp, void *data);
-static char *linux_child_pid_to_exec_file (struct target_ops *self, int pid);
 static int resume_stopped_resumed_lwps (struct lwp_info *lp, void *data);
 static int check_ptrace_stopped_lwp_gone (struct lwp_info *lp);
 
@@ -843,10 +809,7 @@ static void
 lwp_free (struct lwp_info *lp)
 {
   /* Let the arch specific bits release arch_lwp_info.  */
-  if (linux_nat_delete_thread != NULL)
-    linux_nat_delete_thread (lp->arch_private);
-  else
-    gdb_assert (lp->arch_private == NULL);
+  linux_target->low_delete_thread (lp->arch_private);
 
   xfree (lp);
 }
@@ -859,7 +822,7 @@ lwp_lwpid_htab_remove_pid (void **slot, 
   struct lwp_info *lp = (struct lwp_info *) *slot;
   int pid = *(int *) info;
 
-  if (ptid_get_pid (lp->ptid) == pid)
+  if (lp->ptid.pid () == pid)
     {
       htab_clear_slot (lwp_lwpid_htab, slot);
       lwp_list_remove (lp);
@@ -896,7 +859,7 @@ add_initial_lwp (ptid_t ptid)
 {
   struct lwp_info *lp;
 
-  gdb_assert (ptid_lwp_p (ptid));
+  gdb_assert (ptid.lwp_p ());
 
   lp = XNEW (struct lwp_info);
 
@@ -932,8 +895,7 @@ add_lwp (ptid_t ptid)
      clients of this callback take the opportunity to install
      watchpoints in the new thread.  We don't do this for the first
      thread though.  See add_initial_lwp.  */
-  if (linux_nat_new_thread != NULL)
-    linux_nat_new_thread (lp);
+  linux_target->low_new_thread (lp);
 
   return lp;
 }
@@ -974,12 +936,12 @@ find_lwp_pid (ptid_t ptid)
   int lwp;
   struct lwp_info dummy;
 
-  if (ptid_lwp_p (ptid))
-    lwp = ptid_get_lwp (ptid);
+  if (ptid.lwp_p ())
+    lwp = ptid.lwp ();
   else
-    lwp = ptid_get_pid (ptid);
+    lwp = ptid.pid ();
 
-  dummy.ptid = ptid_build (0, lwp, 0);
+  dummy.ptid = ptid_t (0, lwp, 0);
   lp = (struct lwp_info *) htab_find (lwp_lwpid_htab, &dummy);
   return lp;
 }
@@ -997,7 +959,7 @@ iterate_over_lwps (ptid_t filter,
     {
       lpnext = lp->next;
 
-      if (ptid_match (lp->ptid, filter))
+      if (lp->ptid.matches (filter))
 	{
 	  if ((*callback) (lp, data) != 0)
 	    return lp;
@@ -1017,7 +979,7 @@ linux_nat_switch_fork (ptid_t new_ptid)
 {
   struct lwp_info *lp;
 
-  purge_lwp_list (ptid_get_pid (inferior_ptid));
+  purge_lwp_list (inferior_ptid.pid ());
 
   lp = add_lwp (new_ptid);
   lp->stopped = 1;
@@ -1045,7 +1007,7 @@ exit_lwp (struct lwp_info *lp)
       if (print_thread_events)
 	printf_unfiltered (_("[%s exited]\n"), target_pid_to_str (lp->ptid));
 
-      delete_thread (lp->ptid);
+      delete_thread (th);
     }
 
   delete_lwp (lp->ptid);
@@ -1057,7 +1019,7 @@ exit_lwp (struct lwp_info *lp)
 static int
 linux_nat_post_attach_wait (ptid_t ptid, int *signalled)
 {
-  pid_t new_pid, pid = ptid_get_lwp (ptid);
+  pid_t new_pid, pid = ptid.lwp ();
   int status;
 
   if (linux_proc_pid_is_stopped (pid))
@@ -1113,10 +1075,10 @@ linux_nat_post_attach_wait (ptid_t ptid,
   return status;
 }
 
-static void
-linux_nat_create_inferior (struct target_ops *ops, 
-			   const char *exec_file, const std::string &allargs,
-			   char **env, int from_tty)
+void
+linux_nat_target::create_inferior (const char *exec_file,
+				   const std::string &allargs,
+				   char **env, int from_tty)
 {
   maybe_disable_address_space_randomization restore_personality
     (disable_randomization);
@@ -1125,9 +1087,9 @@ linux_nat_create_inferior (struct target
      we have to mask the async mode.  */
 
   /* Make sure we report all signals during startup.  */
-  linux_nat_pass_signals (ops, 0, NULL);
+  pass_signals (0, NULL);
 
-  linux_ops->to_create_inferior (ops, exec_file, allargs, env, from_tty);
+  inf_ptrace_target::create_inferior (exec_file, allargs, env, from_tty);
 }
 
 /* Callback for linux_proc_attach_tgid_threads.  Attach to PTID if not
@@ -1143,7 +1105,7 @@ attach_proc_task_lwp_callback (ptid_t pt
   lp = find_lwp_pid (ptid);
   if (lp == NULL)
     {
-      int lwpid = ptid_get_lwp (ptid);
+      int lwpid = ptid.lwp ();
 
       if (ptrace (PTRACE_ATTACH, lwpid, 0, 0) < 0)
 	{
@@ -1167,10 +1129,11 @@ attach_proc_task_lwp_callback (ptid_t pt
 	    }
 	  else
 	    {
+	      std::string reason
+		= linux_ptrace_attach_fail_reason_string (ptid, err);
+
 	      warning (_("Cannot attach to lwp %d: %s"),
-		       lwpid,
-		       linux_ptrace_attach_fail_reason_string (ptid,
-							       err));
+		       lwpid, reason.c_str ());
 	    }
 	}
       else
@@ -1206,48 +1169,37 @@ attach_proc_task_lwp_callback (ptid_t pt
   return 0;
 }
 
-static void
-linux_nat_attach (struct target_ops *ops, const char *args, int from_tty)
+void
+linux_nat_target::attach (const char *args, int from_tty)
 {
   struct lwp_info *lp;
   int status;
   ptid_t ptid;
 
   /* Make sure we report all signals during attach.  */
-  linux_nat_pass_signals (ops, 0, NULL);
+  pass_signals (0, NULL);
 
   TRY
     {
-      linux_ops->to_attach (ops, args, from_tty);
+      inf_ptrace_target::attach (args, from_tty);
     }
   CATCH (ex, RETURN_MASK_ERROR)
     {
       pid_t pid = parse_pid_to_attach (args);
-      struct buffer buffer;
-      char *message, *buffer_s;
-
-      message = xstrdup (ex.message);
-      make_cleanup (xfree, message);
-
-      buffer_init (&buffer);
-      linux_ptrace_attach_fail_reason (pid, &buffer);
+      std::string reason = linux_ptrace_attach_fail_reason (pid);
 
-      buffer_grow_str0 (&buffer, "");
-      buffer_s = buffer_finish (&buffer);
-      make_cleanup (xfree, buffer_s);
-
-      if (*buffer_s != '\0')
-	throw_error (ex.error, "warning: %s\n%s", buffer_s, message);
+      if (!reason.empty ())
+	throw_error (ex.error, "warning: %s\n%s", reason.c_str (), ex.message);
       else
-	throw_error (ex.error, "%s", message);
+	throw_error (ex.error, "%s", ex.message);
     }
   END_CATCH
 
   /* The ptrace base target adds the main thread with (pid,0,0)
      format.  Decorate it with lwp info.  */
-  ptid = ptid_build (ptid_get_pid (inferior_ptid),
-		     ptid_get_pid (inferior_ptid),
-		     0);
+  ptid = ptid_t (inferior_ptid.pid (),
+		 inferior_ptid.pid (),
+		 0);
   thread_change_ptid (inferior_ptid, ptid);
 
   /* Add the initial process as the first LWP to the list.  */
@@ -1284,7 +1236,7 @@ linux_nat_attach (struct target_ops *ops
 
       internal_error (__FILE__, __LINE__,
 		      _("unexpected status %d for PID %ld"),
-		      status, (long) ptid_get_lwp (ptid));
+		      status, (long) ptid.lwp ());
     }
 
   lp->stopped = 1;
@@ -1294,7 +1246,7 @@ linux_nat_attach (struct target_ops *ops
   if (debug_linux_nat)
     fprintf_unfiltered (gdb_stdlog,
 			"LNA: waitpid %ld, saving status %s\n",
-			(long) ptid_get_pid (lp->ptid), status_to_str (status));
+			(long) lp->ptid.pid (), status_to_str (status));
 
   lp->status = status;
 
@@ -1305,7 +1257,7 @@ linux_nat_attach (struct target_ops *ops
      of threads/LWPs, and those structures may well be corrupted.
      Note that once thread_db is loaded, we'll still use it to list
      threads and associate pthread info with each LWP.  */
-  linux_proc_attach_tgid_threads (ptid_get_pid (lp->ptid),
+  linux_proc_attach_tgid_threads (lp->ptid.pid (),
 				  attach_proc_task_lwp_callback);
 
   if (target_can_async_p ())
@@ -1347,27 +1299,26 @@ get_detach_signal (struct lwp_info *lp)
     signo = GDB_SIGNAL_0; /* a pending ptrace event, not a real signal.  */
   else if (lp->status)
     signo = gdb_signal_from_host (WSTOPSIG (lp->status));
-  else if (target_is_non_stop_p () && !is_executing (lp->ptid))
+  else
     {
       struct thread_info *tp = find_thread_ptid (lp->ptid);
 
-      if (tp->suspend.waitstatus_pending_p)
-	signo = tp->suspend.waitstatus.value.sig;
-      else
-	signo = tp->suspend.stop_signal;
-    }
-  else if (!target_is_non_stop_p ())
-    {
-      struct target_waitstatus last;
-      ptid_t last_ptid;
-
-      get_last_target_status (&last_ptid, &last);
-
-      if (ptid_get_lwp (lp->ptid) == ptid_get_lwp (last_ptid))
+      if (target_is_non_stop_p () && !tp->executing)
 	{
-	  struct thread_info *tp = find_thread_ptid (lp->ptid);
+	  if (tp->suspend.waitstatus_pending_p)
+	    signo = tp->suspend.waitstatus.value.sig;
+	  else
+	    signo = tp->suspend.stop_signal;
+	}
+      else if (!target_is_non_stop_p ())
+	{
+	  struct target_waitstatus last;
+	  ptid_t last_ptid;
+
+	  get_last_target_status (&last_ptid, &last);
 
-	  signo = tp->suspend.stop_signal;
+	  if (lp->ptid.lwp () == last_ptid.lwp ())
+	    signo = tp->suspend.stop_signal;
 	}
     }
 
@@ -1408,7 +1359,7 @@ get_detach_signal (struct lwp_info *lp)
 static void
 detach_one_lwp (struct lwp_info *lp, int *signo_p)
 {
-  int lwpid = ptid_get_lwp (lp->ptid);
+  int lwpid = lp->ptid.lwp ();
   int signo;
 
   gdb_assert (lp->status == 0 || WIFSTOPPED (lp->status));
@@ -1443,8 +1394,7 @@ detach_one_lwp (struct lwp_info *lp, int
      it below, when detach fails with ESRCH.  */
   TRY
     {
-      if (linux_nat_prepare_to_resume != NULL)
-	linux_nat_prepare_to_resume (lp);
+      linux_target->low_prepare_to_resume (lp);
     }
   CATCH (ex, RETURN_MASK_ERROR)
     {
@@ -1501,35 +1451,33 @@ detach_callback (struct lwp_info *lp, vo
   /* We don't actually detach from the thread group leader just yet.
      If the thread group exits, we must reap the zombie clone lwps
      before we're able to reap the leader.  */
-  if (ptid_get_lwp (lp->ptid) != ptid_get_pid (lp->ptid))
+  if (lp->ptid.lwp () != lp->ptid.pid ())
     detach_one_lwp (lp, NULL);
   return 0;
 }
 
-static void
-linux_nat_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+linux_nat_target::detach (inferior *inf, int from_tty)
 {
-  int pid;
   struct lwp_info *main_lwp;
-
-  pid = ptid_get_pid (inferior_ptid);
+  int pid = inf->pid;
 
   /* Don't unregister from the event loop, as there may be other
      inferiors running. */
 
   /* Stop all threads before detaching.  ptrace requires that the
      thread is stopped to sucessfully detach.  */
-  iterate_over_lwps (pid_to_ptid (pid), stop_callback, NULL);
+  iterate_over_lwps (ptid_t (pid), stop_callback, NULL);
   /* ... and wait until all of them have reported back that
      they're no longer running.  */
-  iterate_over_lwps (pid_to_ptid (pid), stop_wait_callback, NULL);
+  iterate_over_lwps (ptid_t (pid), stop_wait_callback, NULL);
 
-  iterate_over_lwps (pid_to_ptid (pid), detach_callback, NULL);
+  iterate_over_lwps (ptid_t (pid), detach_callback, NULL);
 
   /* Only the initial process should be left right now.  */
-  gdb_assert (num_lwps (ptid_get_pid (inferior_ptid)) == 1);
+  gdb_assert (num_lwps (pid) == 1);
 
-  main_lwp = find_lwp_pid (pid_to_ptid (pid));
+  main_lwp = find_lwp_pid (ptid_t (pid));
 
   if (forks_exist_p ())
     {
@@ -1537,25 +1485,18 @@ linux_nat_detach (struct target_ops *ops
 	 from, but there are other viable forks to debug.  Detach from
 	 the current fork, and context-switch to the first
 	 available.  */
-      linux_fork_detach (args, from_tty);
+      linux_fork_detach (from_tty);
     }
   else
     {
-      int signo;
-
       target_announce_detach (from_tty);
 
-      /* Pass on any pending signal for the last LWP, unless the user
-	 requested detaching with a different signal (most likely 0,
-	 meaning, discard the signal).  */
-      if (args != NULL)
-	signo = atoi (args);
-      else
-	signo = get_detach_signal (main_lwp);
+      /* Pass on any pending signal for the last LWP.  */
+      int signo = get_detach_signal (main_lwp);
 
       detach_one_lwp (main_lwp, &signo);
 
-      inf_ptrace_detach_success (ops);
+      detach_success (inf);
     }
 }
 
@@ -1580,9 +1521,8 @@ linux_resume_one_lwp_throw (struct lwp_i
   else
     lp->stop_pc = 0;
 
-  if (linux_nat_prepare_to_resume != NULL)
-    linux_nat_prepare_to_resume (lp);
-  linux_ops->to_resume (linux_ops, lp->ptid, step, signo);
+  linux_target->low_prepare_to_resume (lp);
+  linux_target->low_resume (lp->ptid, step, signo);
 
   /* Successfully resumed.  Clear state that no longer makes sense,
      and mark the LWP as running.  Must not do this before resuming
@@ -1618,7 +1558,7 @@ check_ptrace_stopped_lwp_gone (struct lw
      other than ptrace-stopped.  */
 
   /* Don't assume anything if /proc/PID/status can't be read.  */
-  if (linux_proc_pid_is_trace_stopped_nowarn (ptid_get_lwp (lp->ptid)) == 0)
+  if (linux_proc_pid_is_trace_stopped_nowarn (lp->ptid.lwp ()) == 0)
     {
       lp->stop_reason = TARGET_STOPPED_BY_NO_REASON;
       lp->status = 0;
@@ -1735,9 +1675,8 @@ resume_set_callback (struct lwp_info *lp
   return 0;
 }
 
-static void
-linux_nat_resume (struct target_ops *ops,
-		  ptid_t ptid, int step, enum gdb_signal signo)
+void
+linux_nat_target::resume (ptid_t ptid, int step, enum gdb_signal signo)
 {
   struct lwp_info *lp;
   int resume_many;
@@ -1752,8 +1691,8 @@ linux_nat_resume (struct target_ops *ops
 			target_pid_to_str (inferior_ptid));
 
   /* A specific PTID means `step only this process id'.  */
-  resume_many = (ptid_equal (minus_one_ptid, ptid)
-		 || ptid_is_pid (ptid));
+  resume_many = (minus_one_ptid == ptid
+		 || ptid.is_pid ());
 
   /* Mark the lwps we're resuming as resumed.  */
   iterate_over_lwps (ptid, resume_set_callback, NULL);
@@ -1862,7 +1801,8 @@ linux_handle_syscall_trap (struct lwp_in
 {
   struct target_waitstatus *ourstatus = &lp->waitstatus;
   struct gdbarch *gdbarch = target_thread_architecture (lp->ptid);
-  int syscall_number = (int) gdbarch_get_syscall_number (gdbarch, lp->ptid);
+  thread_info *thread = find_thread_ptid (lp->ptid);
+  int syscall_number = (int) gdbarch_get_syscall_number (gdbarch, thread);
 
   if (stopping)
     {
@@ -1892,10 +1832,10 @@ linux_handle_syscall_trap (struct lwp_in
 			    "for LWP %ld (stopping threads), "
 			    "resuming with PTRACE_CONT for SIGSTOP\n",
 			    syscall_number,
-			    ptid_get_lwp (lp->ptid));
+			    lp->ptid.lwp ());
 
       lp->syscall_state = TARGET_WAITKIND_IGNORE;
-      ptrace (PTRACE_CONT, ptid_get_lwp (lp->ptid), 0, 0);
+      ptrace (PTRACE_CONT, lp->ptid.lwp (), 0, 0);
       lp->stopped = 0;
       return 1;
     }
@@ -1925,7 +1865,7 @@ linux_handle_syscall_trap (struct lwp_in
 				== TARGET_WAITKIND_SYSCALL_ENTRY
 				? "entry" : "return",
 				syscall_number,
-				ptid_get_lwp (lp->ptid));
+				lp->ptid.lwp ());
 	  return 0;
 	}
 
@@ -1936,7 +1876,7 @@ linux_handle_syscall_trap (struct lwp_in
 			    lp->syscall_state == TARGET_WAITKIND_SYSCALL_ENTRY
 			    ? "entry" : "return",
 			    syscall_number,
-			    ptid_get_lwp (lp->ptid));
+			    lp->ptid.lwp ());
     }
   else
     {
@@ -1962,7 +1902,7 @@ linux_handle_syscall_trap (struct lwp_in
 			    "with no syscall catchpoints."
 			    " %d for LWP %ld, ignoring\n",
 			    syscall_number,
-			    ptid_get_lwp (lp->ptid));
+			    lp->ptid.lwp ());
       lp->syscall_state = TARGET_WAITKIND_IGNORE;
     }
 
@@ -1986,7 +1926,7 @@ linux_handle_syscall_trap (struct lwp_in
 static int
 linux_handle_extended_wait (struct lwp_info *lp, int status)
 {
-  int pid = ptid_get_lwp (lp->ptid);
+  int pid = lp->ptid.lwp ();
   struct target_waitstatus *ourstatus = &lp->waitstatus;
   int event = linux_ptrace_get_extended_event (status);
 
@@ -2019,19 +1959,18 @@ linux_handle_extended_wait (struct lwp_i
 			    _("wait returned unexpected status 0x%x"), status);
 	}
 
-      ourstatus->value.related_pid = ptid_build (new_pid, new_pid, 0);
+      ourstatus->value.related_pid = ptid_t (new_pid, new_pid, 0);
 
       if (event == PTRACE_EVENT_FORK || event == PTRACE_EVENT_VFORK)
 	{
 	  /* The arch-specific native code may need to know about new
 	     forks even if those end up never mapped to an
 	     inferior.  */
-	  if (linux_nat_new_fork != NULL)
-	    linux_nat_new_fork (lp, new_pid);
+	  linux_target->low_new_fork (lp, new_pid);
 	}
 
       if (event == PTRACE_EVENT_FORK
-	  && linux_fork_checkpointing_p (ptid_get_pid (lp->ptid)))
+	  && linux_fork_checkpointing_p (lp->ptid.pid ()))
 	{
 	  /* Handle checkpointing by linux-fork.c here as a special
 	     case.  We don't want the follow-fork-mode or 'catch fork'
@@ -2039,7 +1978,7 @@ linux_handle_extended_wait (struct lwp_i
 
 	  /* This won't actually modify the breakpoint list, but will
 	     physically remove the breakpoints from the child.  */
-	  detach_breakpoints (ptid_build (new_pid, new_pid, 0));
+	  detach_breakpoints (ptid_t (new_pid, new_pid, 0));
 
 	  /* Retain child fork in ptrace (stopped) state.  */
 	  if (!find_fork_pid (new_pid))
@@ -2070,7 +2009,7 @@ linux_handle_extended_wait (struct lwp_i
 				"from LWP %d, new child is LWP %ld\n",
 				pid, new_pid);
 
-	  new_lp = add_lwp (ptid_build (ptid_get_pid (lp->ptid), new_pid, 0));
+	  new_lp = add_lwp (ptid_t (lp->ptid.pid (), new_pid, 0));
 	  new_lp->stopped = 1;
 	  new_lp->resumed = 1;
 
@@ -2081,7 +2020,7 @@ linux_handle_extended_wait (struct lwp_i
 	    {
 	      /* The process is not using thread_db.  Add the LWP to
 		 GDB's list.  */
-	      target_post_attach (ptid_get_lwp (new_lp->ptid));
+	      target_post_attach (new_lp->ptid.lwp ());
 	      add_thread (new_lp->ptid);
 	    }
 
@@ -2111,7 +2050,7 @@ linux_handle_extended_wait (struct lwp_i
 		fprintf_unfiltered (gdb_stdlog,
 				    "LHEW: waitpid of new LWP %ld, "
 				    "saving status %s\n",
-				    (long) ptid_get_lwp (new_lp->ptid),
+				    (long) new_lp->ptid.lwp (),
 				    status_to_str (status));
 	      new_lp->status = status;
 	    }
@@ -2132,11 +2071,11 @@ linux_handle_extended_wait (struct lwp_i
       if (debug_linux_nat)
 	fprintf_unfiltered (gdb_stdlog,
 			    "LHEW: Got exec event from LWP %ld\n",
-			    ptid_get_lwp (lp->ptid));
+			    lp->ptid.lwp ());
 
       ourstatus->kind = TARGET_WAITKIND_EXECD;
       ourstatus->value.execd_pathname
-	= xstrdup (linux_child_pid_to_exec_file (NULL, pid));
+	= xstrdup (linux_proc_pid_to_exec_file (pid));
 
       /* The thread that execed must have been resumed, but, when a
 	 thread execs, it changes its tid to the tgid, and the old
@@ -2153,7 +2092,7 @@ linux_handle_extended_wait (struct lwp_i
 	    fprintf_unfiltered (gdb_stdlog,
 				"LHEW: Got expected PTRACE_EVENT_"
 				"VFORK_DONE from LWP %ld: stopping\n",
-				ptid_get_lwp (lp->ptid));
+				lp->ptid.lwp ());
 
 	  ourstatus->kind = TARGET_WAITKIND_VFORK_DONE;
 	  return 0;
@@ -2163,7 +2102,7 @@ linux_handle_extended_wait (struct lwp_i
 	fprintf_unfiltered (gdb_stdlog,
 			    "LHEW: Got PTRACE_EVENT_VFORK_DONE "
 			    "from LWP %ld: ignoring\n",
-			    ptid_get_lwp (lp->ptid));
+			    lp->ptid.lwp ());
       return 1;
     }
 
@@ -2171,6 +2110,30 @@ linux_handle_extended_wait (struct lwp_i
 		  _("unknown ptrace event %d"), event);
 }
 
+/* Suspend waiting for a signal.  We're mostly interested in
+   SIGCHLD/SIGINT.  */
+
+static void
+wait_for_signal ()
+{
+  if (debug_linux_nat)
+    fprintf_unfiltered (gdb_stdlog, "linux-nat: about to sigsuspend\n");
+  sigsuspend (&suspend_mask);
+
+  /* If the quit flag is set, it means that the user pressed Ctrl-C
+     and we're debugging a process that is running on a separate
+     terminal, so we must forward the Ctrl-C to the inferior.  (If the
+     inferior is sharing GDB's terminal, then the Ctrl-C reaches the
+     inferior directly.)  We must do this here because functions that
+     need to block waiting for a signal loop forever until there's an
+     event to report before returning back to the event loop.  */
+  if (!target_terminal::is_ours ())
+    {
+      if (check_quit_flag ())
+	target_pass_ctrlc ();
+    }
+}
+
 /* Wait for LP to stop.  Returns the wait status, or 0 if the LWP has
    exited.  */
 
@@ -2190,7 +2153,7 @@ wait_lwp (struct lwp_info *lp)
 
   for (;;)
     {
-      pid = my_waitpid (ptid_get_lwp (lp->ptid), &status, __WALL | WNOHANG);
+      pid = my_waitpid (lp->ptid.lwp (), &status, __WALL | WNOHANG);
       if (pid == -1 && errno == ECHILD)
 	{
 	  /* The thread has previously exited.  We need to delete it
@@ -2219,8 +2182,8 @@ wait_lwp (struct lwp_info *lp)
 	 Therefore always use WNOHANG with sigsuspend - it is equivalent to
 	 waiting waitpid but linux_proc_pid_is_zombie is safe this way.  */
 
-      if (ptid_get_pid (lp->ptid) == ptid_get_lwp (lp->ptid)
-	  && linux_proc_pid_is_zombie (ptid_get_lwp (lp->ptid)))
+      if (lp->ptid.pid () == lp->ptid.lwp ()
+	  && linux_proc_pid_is_zombie (lp->ptid.lwp ()))
 	{
 	  thread_dead = 1;
 	  if (debug_linux_nat)
@@ -2236,17 +2199,14 @@ wait_lwp (struct lwp_info *lp)
 	 linux_nat_wait_1 and there if we get called my_waitpid gets called
 	 again before it gets to sigsuspend so we can safely let the handlers
 	 get executed here.  */
-
-      if (debug_linux_nat)
-	fprintf_unfiltered (gdb_stdlog, "WL: about to sigsuspend\n");
-      sigsuspend (&suspend_mask);
+      wait_for_signal ();
     }
 
   restore_child_signals_mask (&prev_mask);
 
   if (!thread_dead)
     {
-      gdb_assert (pid == ptid_get_lwp (lp->ptid));
+      gdb_assert (pid == lp->ptid.lwp ());
 
       if (debug_linux_nat)
 	{
@@ -2260,11 +2220,11 @@ wait_lwp (struct lwp_info *lp)
       if (WIFEXITED (status) || WIFSIGNALED (status))
 	{
 	  if (report_thread_events
-	      || ptid_get_pid (lp->ptid) == ptid_get_lwp (lp->ptid))
+	      || lp->ptid.pid () == lp->ptid.lwp ())
 	    {
 	      if (debug_linux_nat)
 		fprintf_unfiltered (gdb_stdlog, "WL: LWP %d exited.\n",
-				    ptid_get_pid (lp->ptid));
+				    lp->ptid.pid ());
 
 	      /* If this is the leader exiting, it means the whole
 		 process is gone.  Store the status to report to the
@@ -2292,10 +2252,10 @@ wait_lwp (struct lwp_info *lp)
 
   if (lp->must_set_ptrace_flags)
     {
-      struct inferior *inf = find_inferior_pid (ptid_get_pid (lp->ptid));
+      struct inferior *inf = find_inferior_pid (lp->ptid.pid ());
       int options = linux_nat_ptrace_options (inf->attach_flag);
 
-      linux_enable_event_reporting (ptid_get_lwp (lp->ptid), options);
+      linux_enable_event_reporting (lp->ptid.lwp (), options);
       lp->must_set_ptrace_flags = 0;
     }
 
@@ -2348,7 +2308,7 @@ stop_callback (struct lwp_info *lp, void
 			      target_pid_to_str (lp->ptid));
 	}
       errno = 0;
-      ret = kill_lwp (ptid_get_lwp (lp->ptid), SIGSTOP);
+      ret = kill_lwp (lp->ptid.lwp (), SIGSTOP);
       if (debug_linux_nat)
 	{
 	  fprintf_unfiltered (gdb_stdlog,
@@ -2438,7 +2398,7 @@ maybe_clear_ignore_sigint (struct lwp_in
   if (!lp->ignore_sigint)
     return;
 
-  if (!linux_nat_has_pending_sigint (ptid_get_lwp (lp->ptid)))
+  if (!linux_nat_has_pending_sigint (lp->ptid.lwp ()))
     {
       if (debug_linux_nat)
 	fprintf_unfiltered (gdb_stdlog,
@@ -2466,22 +2426,14 @@ maybe_clear_ignore_sigint (struct lwp_in
 static int
 check_stopped_by_watchpoint (struct lwp_info *lp)
 {
-  if (linux_ops->to_stopped_by_watchpoint == NULL)
-    return 0;
-
   scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
   inferior_ptid = lp->ptid;
 
-  if (linux_ops->to_stopped_by_watchpoint (linux_ops))
+  if (linux_target->low_stopped_by_watchpoint ())
     {
       lp->stop_reason = TARGET_STOPPED_BY_WATCHPOINT;
-
-      if (linux_ops->to_stopped_data_address != NULL)
-	lp->stopped_data_address_p =
-	  linux_ops->to_stopped_data_address (&current_target,
-					      &lp->stopped_data_address);
-      else
-	lp->stopped_data_address_p = 0;
+      lp->stopped_data_address_p
+	= linux_target->low_stopped_data_address (&lp->stopped_data_address);
     }
 
   return lp->stop_reason == TARGET_STOPPED_BY_WATCHPOINT;
@@ -2489,8 +2441,8 @@ check_stopped_by_watchpoint (struct lwp_
 
 /* Returns true if the LWP had stopped for a watchpoint.  */
 
-static int
-linux_nat_stopped_by_watchpoint (struct target_ops *ops)
+bool
+linux_nat_target::stopped_by_watchpoint ()
 {
   struct lwp_info *lp = find_lwp_pid (inferior_ptid);
 
@@ -2499,8 +2451,8 @@ linux_nat_stopped_by_watchpoint (struct 
   return lp->stop_reason == TARGET_STOPPED_BY_WATCHPOINT;
 }
 
-static int
-linux_nat_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
+bool
+linux_nat_target::stopped_data_address (CORE_ADDR *addr_p)
 {
   struct lwp_info *lp = find_lwp_pid (inferior_ptid);
 
@@ -2513,23 +2465,12 @@ linux_nat_stopped_data_address (struct t
 
 /* Commonly any breakpoint / watchpoint generate only SIGTRAP.  */
 
-static int
-sigtrap_is_event (int status)
+bool
+linux_nat_target::low_status_is_event (int status)
 {
   return WIFSTOPPED (status) && WSTOPSIG (status) == SIGTRAP;
 }
 
-/* Set alternative SIGTRAP-like events recognizer.  If
-   breakpoint_inserted_here_p there then gdbarch_decr_pc_after_break will be
-   applied.  */
-
-void
-linux_nat_set_status_is_event (struct target_ops *t,
-			       int (*status_is_event) (int status))
-{
-  linux_nat_status_is_event = status_is_event;
-}
-
 /* Wait until LP is stopped.  */
 
 static int
@@ -2556,7 +2497,7 @@ stop_wait_callback (struct lwp_info *lp,
 	  lp->ignore_sigint = 0;
 
 	  errno = 0;
-	  ptrace (PTRACE_CONT, ptid_get_lwp (lp->ptid), 0, 0);
+	  ptrace (PTRACE_CONT, lp->ptid.lwp (), 0, 0);
 	  lp->stopped = 0;
 	  if (debug_linux_nat)
 	    fprintf_unfiltered (gdb_stdlog,
@@ -2587,17 +2528,23 @@ stop_wait_callback (struct lwp_info *lp,
 	}
       else
 	{
-	  /* We caught the SIGSTOP that we intended to catch, so
-	     there's no SIGSTOP pending.  */
+	  /* We caught the SIGSTOP that we intended to catch.  */
 
 	  if (debug_linux_nat)
 	    fprintf_unfiltered (gdb_stdlog,
 				"SWC: Expected SIGSTOP caught for %s.\n",
 				target_pid_to_str (lp->ptid));
 
-	  /* Reset SIGNALLED only after the stop_wait_callback call
-	     above as it does gdb_assert on SIGNALLED.  */
 	  lp->signalled = 0;
+
+	  /* If we are waiting for this stop so we can report the thread
+	     stopped then we need to record this status.  Otherwise, we can
+	     now discard this stop event.  */
+	  if (lp->last_resume_kind == resume_stop)
+	    {
+	      lp->status = status;
+	      save_stop_reason (lp);
+	    }
 	}
     }
 
@@ -2744,7 +2691,7 @@ save_stop_reason (struct lwp_info *lp)
   gdb_assert (lp->stop_reason == TARGET_STOPPED_BY_NO_REASON);
   gdb_assert (lp->status != 0);
 
-  if (!linux_nat_status_is_event (lp->status))
+  if (!linux_target->low_status_is_event (lp->status))
     return;
 
   regcache = get_thread_regcache (lp->ptid);
@@ -2850,8 +2797,8 @@ save_stop_reason (struct lwp_info *lp)
 
 /* Returns true if the LWP had stopped for a software breakpoint.  */
 
-static int
-linux_nat_stopped_by_sw_breakpoint (struct target_ops *ops)
+bool
+linux_nat_target::stopped_by_sw_breakpoint ()
 {
   struct lwp_info *lp = find_lwp_pid (inferior_ptid);
 
@@ -2862,8 +2809,8 @@ linux_nat_stopped_by_sw_breakpoint (stru
 
 /* Implement the supports_stopped_by_sw_breakpoint method.  */
 
-static int
-linux_nat_supports_stopped_by_sw_breakpoint (struct target_ops *ops)
+bool
+linux_nat_target::supports_stopped_by_sw_breakpoint ()
 {
   return USE_SIGTRAP_SIGINFO;
 }
@@ -2871,8 +2818,8 @@ linux_nat_supports_stopped_by_sw_breakpo
 /* Returns true if the LWP had stopped for a hardware
    breakpoint/watchpoint.  */
 
-static int
-linux_nat_stopped_by_hw_breakpoint (struct target_ops *ops)
+bool
+linux_nat_target::stopped_by_hw_breakpoint ()
 {
   struct lwp_info *lp = find_lwp_pid (inferior_ptid);
 
@@ -2883,8 +2830,8 @@ linux_nat_stopped_by_hw_breakpoint (stru
 
 /* Implement the supports_stopped_by_hw_breakpoint method.  */
 
-static int
-linux_nat_supports_stopped_by_hw_breakpoint (struct target_ops *ops)
+bool
+linux_nat_target::supports_stopped_by_hw_breakpoint ()
 {
   return USE_SIGTRAP_SIGINFO;
 }
@@ -2974,7 +2921,7 @@ linux_nat_filter_event (int lwpid, int s
   struct lwp_info *lp;
   int event = linux_ptrace_get_extended_event (status);
 
-  lp = find_lwp_pid (pid_to_ptid (lwpid));
+  lp = find_lwp_pid (ptid_t (lwpid));
 
   /* Check for stop events reported by a process we didn't already
      know about - anything not already in our LWP list.
@@ -2998,7 +2945,7 @@ linux_nat_filter_event (int lwpid, int s
 			    "LLW: Re-adding thread group leader LWP %d.\n",
 			    lwpid);
 
-      lp = add_lwp (ptid_build (lwpid, lwpid, 0));
+      lp = add_lwp (ptid_t (lwpid, lwpid, 0));
       lp->stopped = 1;
       lp->resumed = 1;
       add_thread (lp->ptid);
@@ -3027,10 +2974,10 @@ linux_nat_filter_event (int lwpid, int s
 
   if (WIFSTOPPED (status) && lp->must_set_ptrace_flags)
     {
-      struct inferior *inf = find_inferior_pid (ptid_get_pid (lp->ptid));
+      struct inferior *inf = find_inferior_pid (lp->ptid.pid ());
       int options = linux_nat_ptrace_options (inf->attach_flag);
 
-      linux_enable_event_reporting (ptid_get_lwp (lp->ptid), options);
+      linux_enable_event_reporting (lp->ptid.lwp (), options);
       lp->must_set_ptrace_flags = 0;
     }
 
@@ -3068,7 +3015,7 @@ linux_nat_filter_event (int lwpid, int s
   if (WIFEXITED (status) || WIFSIGNALED (status))
     {
       if (!report_thread_events
-	  && num_lwps (ptid_get_pid (lp->ptid)) > 1)
+	  && num_lwps (lp->ptid.pid ()) > 1)
 	{
 	  if (debug_linux_nat)
 	    fprintf_unfiltered (gdb_stdlog,
@@ -3089,7 +3036,7 @@ linux_nat_filter_event (int lwpid, int s
       if (debug_linux_nat)
 	fprintf_unfiltered (gdb_stdlog,
 			    "LWP %ld exited (resumed=%d)\n",
-			    ptid_get_lwp (lp->ptid), lp->resumed);
+			    lp->ptid.lwp (), lp->resumed);
 
       /* Dead LWP's aren't expected to reported a pending sigstop.  */
       lp->signalled = 0;
@@ -3179,7 +3126,7 @@ linux_nat_filter_event (int lwpid, int s
 		 will receive it - unless they're using CLONE_THREAD to
 		 share signals.  Since we only want to report it once, we
 		 mark it as ignored for all LWPs except this one.  */
-	      iterate_over_lwps (pid_to_ptid (ptid_get_pid (lp->ptid)),
+	      iterate_over_lwps (ptid_t (lp->ptid.pid ()),
 					      set_ignore_sigint, NULL);
 	      lp->ignore_sigint = 0;
 	    }
@@ -3230,7 +3177,7 @@ check_zombie_leaders (void)
       if (inf->pid == 0)
 	continue;
 
-      leader_lp = find_lwp_pid (pid_to_ptid (inf->pid));
+      leader_lp = find_lwp_pid (ptid_t (inf->pid));
       if (leader_lp != NULL
 	  /* Check if there are other threads in the group, as we may
 	     have raced with the inferior simply exiting.  */
@@ -3281,7 +3228,7 @@ filter_exit_event (struct lwp_info *even
 {
   ptid_t ptid = event_child->ptid;
 
-  if (num_lwps (ptid_get_pid (ptid)) > 1)
+  if (num_lwps (ptid.pid ()) > 1)
     {
       if (report_thread_events)
 	ourstatus->kind = TARGET_WAITKIND_THREAD_EXITED;
@@ -3295,8 +3242,7 @@ filter_exit_event (struct lwp_info *even
 }
 
 static ptid_t
-linux_nat_wait_1 (struct target_ops *ops,
-		  ptid_t ptid, struct target_waitstatus *ourstatus,
+linux_nat_wait_1 (ptid_t ptid, struct target_waitstatus *ourstatus,
 		  int target_options)
 {
   sigset_t prev_mask;
@@ -3310,12 +3256,12 @@ linux_nat_wait_1 (struct target_ops *ops
   /* The first time we get here after starting a new inferior, we may
      not have added it to the LWP list yet - this is the earliest
      moment at which we know its PID.  */
-  if (ptid_is_pid (inferior_ptid))
+  if (inferior_ptid.is_pid ())
     {
       /* Upgrade the main thread's ptid.  */
       thread_change_ptid (inferior_ptid,
-			  ptid_build (ptid_get_pid (inferior_ptid),
-				      ptid_get_pid (inferior_ptid), 0));
+			  ptid_t (inferior_ptid.pid (),
+				  inferior_ptid.pid (), 0));
 
       lp = add_initial_lwp (inferior_ptid);
       lp->resumed = 1;
@@ -3423,9 +3369,7 @@ linux_nat_wait_1 (struct target_ops *ops
       gdb_assert (lp == NULL);
 
       /* Block until we get an event reported with SIGCHLD.  */
-      if (debug_linux_nat)
-	fprintf_unfiltered (gdb_stdlog, "LNW: about to sigsuspend\n");
-      sigsuspend (&suspend_mask);
+      wait_for_signal ();
     }
 
   gdb_assert (lp);
@@ -3446,7 +3390,7 @@ linux_nat_wait_1 (struct target_ops *ops
   /* If we're not waiting for a specific LWP, choose an event LWP from
      among those that have had events.  Giving equal priority to all
      LWPs that have had events helps prevent starvation.  */
-  if (ptid_equal (ptid, minus_one_ptid) || ptid_is_pid (ptid))
+  if (ptid == minus_one_ptid || ptid.is_pid ())
     select_event_lwp (ptid, &lp, &status);
 
   gdb_assert (lp != NULL);
@@ -3486,7 +3430,7 @@ linux_nat_wait_1 (struct target_ops *ops
       resume_clear_callback (lp, NULL);
     }
 
-  if (linux_nat_status_is_event (status))
+  if (linux_target->low_status_is_event (status))
     {
       if (debug_linux_nat)
 	fprintf_unfiltered (gdb_stdlog,
@@ -3570,7 +3514,7 @@ resume_stopped_resumed_lwps (struct lwp_
 
 	  /* Don't bother if there's a breakpoint at PC that we'd hit
 	     immediately, and we're not waiting for this LWP.  */
-	  if (!ptid_match (lp->ptid, *wait_ptid_p))
+	  if (!lp->ptid.matches (*wait_ptid_p))
 	    {
 	      if (breakpoint_inserted_here_p (regcache->aspace (), pc))
 		leave_stopped = 1;
@@ -3600,10 +3544,9 @@ resume_stopped_resumed_lwps (struct lwp_
   return 0;
 }
 
-static ptid_t
-linux_nat_wait (struct target_ops *ops,
-		ptid_t ptid, struct target_waitstatus *ourstatus,
-		int target_options)
+ptid_t
+linux_nat_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
+			int target_options)
 {
   ptid_t event_ptid;
 
@@ -3633,7 +3576,7 @@ linux_nat_wait (struct target_ops *ops,
   if (target_is_non_stop_p ())
     iterate_over_lwps (minus_one_ptid, resume_stopped_resumed_lwps, &ptid);
 
-  event_ptid = linux_nat_wait_1 (ops, ptid, ourstatus, target_options);
+  event_ptid = linux_nat_wait_1 (ptid, ourstatus, target_options);
 
   /* If we requested any event, and something came out, assume there
      may be more.  If we requested a specific lwp or process, also
@@ -3641,7 +3584,7 @@ linux_nat_wait (struct target_ops *ops,
   if (target_is_async_p ()
       && ((ourstatus->kind != TARGET_WAITKIND_IGNORE
 	   && ourstatus->kind != TARGET_WAITKIND_NO_RESUMED)
-	  || !ptid_equal (ptid, minus_one_ptid)))
+	  || ptid != minus_one_ptid))
     async_file_mark ();
 
   return event_ptid;
@@ -3716,7 +3659,7 @@ kill_wait_one_lwp (pid_t pid)
 static int
 kill_callback (struct lwp_info *lp, void *data)
 {
-  kill_one_lwp (ptid_get_lwp (lp->ptid));
+  kill_one_lwp (lp->ptid.lwp ());
   return 0;
 }
 
@@ -3725,7 +3668,7 @@ kill_callback (struct lwp_info *lp, void
 static int
 kill_wait_callback (struct lwp_info *lp, void *data)
 {
-  kill_wait_one_lwp (ptid_get_lwp (lp->ptid));
+  kill_wait_one_lwp (lp->ptid.lwp ());
   return 0;
 }
 
@@ -3746,21 +3689,21 @@ kill_unfollowed_fork_children (struct in
 	    || ws->kind == TARGET_WAITKIND_VFORKED)
 	  {
 	    ptid_t child_ptid = ws->value.related_pid;
-	    int child_pid = ptid_get_pid (child_ptid);
-	    int child_lwp = ptid_get_lwp (child_ptid);
+	    int child_pid = child_ptid.pid ();
+	    int child_lwp = child_ptid.lwp ();
 
 	    kill_one_lwp (child_lwp);
 	    kill_wait_one_lwp (child_lwp);
 
 	    /* Let the arch-specific native code know this process is
 	       gone.  */
-	    linux_nat_forget_process (child_pid);
+	    linux_target->low_forget_process (child_pid);
 	  }
       }
 }
 
-static void
-linux_nat_kill (struct target_ops *ops)
+void
+linux_nat_target::kill ()
 {
   /* If we're stopped while forking and we haven't followed yet,
      kill the other task.  We need to do this first because the
@@ -3771,7 +3714,7 @@ linux_nat_kill (struct target_ops *ops)
     linux_fork_killall ();
   else
     {
-      ptid_t ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
+      ptid_t ptid = ptid_t (inferior_ptid.pid ());
 
       /* Stop all threads before killing them, since ptrace requires
 	 that the thread is stopped to sucessfully PTRACE_KILL.  */
@@ -3790,16 +3733,16 @@ linux_nat_kill (struct target_ops *ops)
   target_mourn_inferior (inferior_ptid);
 }
 
-static void
-linux_nat_mourn_inferior (struct target_ops *ops)
+void
+linux_nat_target::mourn_inferior ()
 {
-  int pid = ptid_get_pid (inferior_ptid);
+  int pid = inferior_ptid.pid ();
 
   purge_lwp_list (pid);
 
   if (! forks_exist_p ())
     /* Normal case, no other forks available.  */
-    linux_ops->to_mourn_inferior (ops);
+    inf_ptrace_target::mourn_inferior ();
   else
     /* Multi-fork case.  The current inferior_ptid has exited, but
        there are other viable forks to debug.  Delete the exiting
@@ -3807,7 +3750,7 @@ linux_nat_mourn_inferior (struct target_
     linux_fork_mourn_inferior ();
 
   /* Let the arch-specific native code know this process is gone.  */
-  linux_nat_forget_process (pid);
+  linux_target->low_forget_process (pid);
 }
 
 /* Convert a native/host siginfo object, into/from the siginfo in the
@@ -3816,14 +3759,9 @@ linux_nat_mourn_inferior (struct target_
 static void
 siginfo_fixup (siginfo_t *siginfo, gdb_byte *inf_siginfo, int direction)
 {
-  int done = 0;
-
-  if (linux_nat_siginfo_fixup != NULL)
-    done = linux_nat_siginfo_fixup (siginfo, inf_siginfo, direction);
-
-  /* If there was no callback, or the callback didn't do anything,
-     then just do a straight memcpy.  */
-  if (!done)
+  /* If the low target didn't do anything, then just do a straight
+     memcpy.  */
+  if (!linux_target->low_siginfo_fixup (siginfo, inf_siginfo, direction))
     {
       if (direction == 1)
 	memcpy (siginfo, inf_siginfo, sizeof (siginfo_t));
@@ -3833,7 +3771,7 @@ siginfo_fixup (siginfo_t *siginfo, gdb_b
 }
 
 static enum target_xfer_status
-linux_xfer_siginfo (struct target_ops *ops, enum target_object object,
+linux_xfer_siginfo (enum target_object object,
                     const char *annex, gdb_byte *readbuf,
 		    const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
 		    ULONGEST *xfered_len)
@@ -3845,9 +3783,9 @@ linux_xfer_siginfo (struct target_ops *o
   gdb_assert (object == TARGET_OBJECT_SIGNAL_INFO);
   gdb_assert (readbuf || writebuf);
 
-  pid = ptid_get_lwp (inferior_ptid);
+  pid = inferior_ptid.lwp ();
   if (pid == 0)
-    pid = ptid_get_pid (inferior_ptid);
+    pid = inferior_ptid.pid ();
 
   if (offset > sizeof (siginfo))
     return TARGET_XFER_E_IO;
@@ -3888,31 +3826,79 @@ linux_xfer_siginfo (struct target_ops *o
 }
 
 static enum target_xfer_status
-linux_nat_xfer_partial (struct target_ops *ops, enum target_object object,
-			const char *annex, gdb_byte *readbuf,
-			const gdb_byte *writebuf,
-			ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
+linux_nat_xfer_osdata (enum target_object object,
+		       const char *annex, gdb_byte *readbuf,
+		       const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
+		       ULONGEST *xfered_len);
+
+static enum target_xfer_status
+linux_proc_xfer_spu (enum target_object object,
+		     const char *annex, gdb_byte *readbuf,
+		     const gdb_byte *writebuf,
+		     ULONGEST offset, ULONGEST len, ULONGEST *xfered_len);
+
+static enum target_xfer_status
+linux_proc_xfer_partial (enum target_object object,
+			 const char *annex, gdb_byte *readbuf,
+			 const gdb_byte *writebuf,
+			 ULONGEST offset, LONGEST len, ULONGEST *xfered_len);
+
+enum target_xfer_status
+linux_nat_target::xfer_partial (enum target_object object,
+				const char *annex, gdb_byte *readbuf,
+				const gdb_byte *writebuf,
+				ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 {
   enum target_xfer_status xfer;
 
   if (object == TARGET_OBJECT_SIGNAL_INFO)
-    return linux_xfer_siginfo (ops, object, annex, readbuf, writebuf,
+    return linux_xfer_siginfo (object, annex, readbuf, writebuf,
 			       offset, len, xfered_len);
 
   /* The target is connected but no live inferior is selected.  Pass
      this request down to a lower stratum (e.g., the executable
      file).  */
-  if (object == TARGET_OBJECT_MEMORY && ptid_equal (inferior_ptid, null_ptid))
+  if (object == TARGET_OBJECT_MEMORY && inferior_ptid == null_ptid)
     return TARGET_XFER_EOF;
 
-  xfer = linux_ops->to_xfer_partial (ops, object, annex, readbuf, writebuf,
-				     offset, len, xfered_len);
+  if (object == TARGET_OBJECT_AUXV)
+    return memory_xfer_auxv (this, object, annex, readbuf, writebuf,
+			     offset, len, xfered_len);
 
-  return xfer;
+  if (object == TARGET_OBJECT_OSDATA)
+    return linux_nat_xfer_osdata (object, annex, readbuf, writebuf,
+				  offset, len, xfered_len);
+
+  if (object == TARGET_OBJECT_SPU)
+    return linux_proc_xfer_spu (object, annex, readbuf, writebuf,
+				offset, len, xfered_len);
+
+  /* GDB calculates all addresses in the largest possible address
+     width.
+     The address width must be masked before its final use - either by
+     linux_proc_xfer_partial or inf_ptrace_target::xfer_partial.
+
+     Compare ADDR_BIT first to avoid a compiler warning on shift overflow.  */
+
+  if (object == TARGET_OBJECT_MEMORY)
+    {
+      int addr_bit = gdbarch_addr_bit (target_gdbarch ());
+
+      if (addr_bit < (sizeof (ULONGEST) * HOST_CHAR_BIT))
+	offset &= ((ULONGEST) 1 << addr_bit) - 1;
+    }
+
+  xfer = linux_proc_xfer_partial (object, annex, readbuf, writebuf,
+				  offset, len, xfered_len);
+  if (xfer != TARGET_XFER_EOF)
+    return xfer;
+
+  return inf_ptrace_target::xfer_partial (object, annex, readbuf, writebuf,
+					  offset, len, xfered_len);
 }
 
-static int
-linux_nat_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+linux_nat_target::thread_alive (ptid_t ptid)
 {
   /* As long as a PTID is in lwp list, consider it alive.  */
   return find_lwp_pid (ptid) != NULL;
@@ -3921,8 +3907,8 @@ linux_nat_thread_alive (struct target_op
 /* Implement the to_update_thread_list target method for this
    target.  */
 
-static void
-linux_nat_update_thread_list (struct target_ops *ops)
+void
+linux_nat_target::update_thread_list ()
 {
   struct lwp_info *lwp;
 
@@ -3943,24 +3929,24 @@ linux_nat_update_thread_list (struct tar
     }
 }
 
-static const char *
-linux_nat_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+linux_nat_target::pid_to_str (ptid_t ptid)
 {
   static char buf[64];
 
-  if (ptid_lwp_p (ptid)
-      && (ptid_get_pid (ptid) != ptid_get_lwp (ptid)
-	  || num_lwps (ptid_get_pid (ptid)) > 1))
+  if (ptid.lwp_p ()
+      && (ptid.pid () != ptid.lwp ()
+	  || num_lwps (ptid.pid ()) > 1))
     {
-      snprintf (buf, sizeof (buf), "LWP %ld", ptid_get_lwp (ptid));
+      snprintf (buf, sizeof (buf), "LWP %ld", ptid.lwp ());
       return buf;
     }
 
   return normal_pid_to_str (ptid);
 }
 
-static const char *
-linux_nat_thread_name (struct target_ops *self, struct thread_info *thr)
+const char *
+linux_nat_target::thread_name (struct thread_info *thr)
 {
   return linux_proc_tid_get_name (thr->ptid);
 }
@@ -3968,8 +3954,8 @@ linux_nat_thread_name (struct target_ops
 /* Accepts an integer PID; Returns a string representing a file that
    can be opened to get the symbols for the child process.  */
 
-static char *
-linux_child_pid_to_exec_file (struct target_ops *self, int pid)
+char *
+linux_nat_target::pid_to_exec_file (int pid)
 {
   return linux_proc_pid_to_exec_file (pid);
 }
@@ -3979,7 +3965,7 @@ linux_child_pid_to_exec_file (struct tar
    efficient than banging away at PTRACE_PEEKTEXT.  */
 
 static enum target_xfer_status
-linux_proc_xfer_partial (struct target_ops *ops, enum target_object object,
+linux_proc_xfer_partial (enum target_object object,
 			 const char *annex, gdb_byte *readbuf,
 			 const gdb_byte *writebuf,
 			 ULONGEST offset, LONGEST len, ULONGEST *xfered_len)
@@ -3998,7 +3984,7 @@ linux_proc_xfer_partial (struct target_o
   /* We could keep this file open and cache it - possibly one per
      thread.  That requires some juggling, but is even faster.  */
   xsnprintf (filename, sizeof filename, "/proc/%ld/mem",
-	     ptid_get_lwp (inferior_ptid));
+	     inferior_ptid.lwp ());
   fd = gdb_open_cloexec (filename, ((readbuf ? O_RDONLY : O_WRONLY)
 				    | O_LARGEFILE), 0);
   if (fd == -1)
@@ -4083,7 +4069,7 @@ spu_enumerate_spu_ids (int pid, gdb_byte
    object type, using the /proc file system.  */
 
 static enum target_xfer_status
-linux_proc_xfer_spu (struct target_ops *ops, enum target_object object,
+linux_proc_xfer_spu (enum target_object object,
 		     const char *annex, gdb_byte *readbuf,
 		     const gdb_byte *writebuf,
 		     ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
@@ -4091,7 +4077,7 @@ linux_proc_xfer_spu (struct target_ops *
   char buf[128];
   int fd = 0;
   int ret = -1;
-  int pid = ptid_get_lwp (inferior_ptid);
+  int pid = inferior_ptid.lwp ();
 
   if (!annex)
     {
@@ -4223,7 +4209,7 @@ linux_proc_pending_signals (int pid, sig
 }
 
 static enum target_xfer_status
-linux_nat_xfer_osdata (struct target_ops *ops, enum target_object object,
+linux_nat_xfer_osdata (enum target_object object,
 		       const char *annex, gdb_byte *readbuf,
 		       const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
 		       ULONGEST *xfered_len)
@@ -4237,49 +4223,6 @@ linux_nat_xfer_osdata (struct target_ops
     return TARGET_XFER_OK;
 }
 
-static enum target_xfer_status
-linux_xfer_partial (struct target_ops *ops, enum target_object object,
-                    const char *annex, gdb_byte *readbuf,
-		    const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-		    ULONGEST *xfered_len)
-{
-  enum target_xfer_status xfer;
-
-  if (object == TARGET_OBJECT_AUXV)
-    return memory_xfer_auxv (ops, object, annex, readbuf, writebuf,
-			     offset, len, xfered_len);
-
-  if (object == TARGET_OBJECT_OSDATA)
-    return linux_nat_xfer_osdata (ops, object, annex, readbuf, writebuf,
-				  offset, len, xfered_len);
-
-  if (object == TARGET_OBJECT_SPU)
-    return linux_proc_xfer_spu (ops, object, annex, readbuf, writebuf,
-				offset, len, xfered_len);
-
-  /* GDB calculates all the addresses in possibly larget width of the address.
-     Address width needs to be masked before its final use - either by
-     linux_proc_xfer_partial or inf_ptrace_xfer_partial.
-
-     Compare ADDR_BIT first to avoid a compiler warning on shift overflow.  */
-
-  if (object == TARGET_OBJECT_MEMORY)
-    {
-      int addr_bit = gdbarch_addr_bit (target_gdbarch ());
-
-      if (addr_bit < (sizeof (ULONGEST) * HOST_CHAR_BIT))
-	offset &= ((ULONGEST) 1 << addr_bit) - 1;
-    }
-
-  xfer = linux_proc_xfer_partial (ops, object, annex, readbuf, writebuf,
-				  offset, len, xfered_len);
-  if (xfer != TARGET_XFER_EOF)
-    return xfer;
-
-  return super_xfer_partial (ops, object, annex, readbuf, writebuf,
-			     offset, len, xfered_len);
-}
-
 static void
 cleanup_target_stop (void *arg)
 {
@@ -4291,17 +4234,16 @@ cleanup_target_stop (void *arg)
   target_continue_no_signal (*ptid);
 }
 
-static VEC(static_tracepoint_marker_p) *
-linux_child_static_tracepoint_markers_by_strid (struct target_ops *self,
-						const char *strid)
+std::vector<static_tracepoint_marker>
+linux_nat_target::static_tracepoint_markers_by_strid (const char *strid)
 {
   char s[IPA_CMD_BUF_SIZE];
   struct cleanup *old_chain;
-  int pid = ptid_get_pid (inferior_ptid);
-  VEC(static_tracepoint_marker_p) *markers = NULL;
-  struct static_tracepoint_marker *marker = NULL;
+  int pid = inferior_ptid.pid ();
+  std::vector<static_tracepoint_marker> markers;
   const char *p = s;
-  ptid_t ptid = ptid_build (pid, 0, 0);
+  ptid_t ptid = ptid_t (pid, 0, 0);
+  static_tracepoint_marker marker;
 
   /* Pause all */
   target_stop (ptid);
@@ -4311,29 +4253,16 @@ linux_child_static_tracepoint_markers_by
 
   agent_run_command (pid, s, strlen (s) + 1);
 
-  old_chain = make_cleanup (free_current_marker, &marker);
-  make_cleanup (cleanup_target_stop, &ptid);
+  old_chain = make_cleanup (cleanup_target_stop, &ptid);
 
   while (*p++ == 'm')
     {
-      if (marker == NULL)
-	marker = XCNEW (struct static_tracepoint_marker);
-
       do
 	{
-	  parse_static_tracepoint_marker_definition (p, &p, marker);
+	  parse_static_tracepoint_marker_definition (p, &p, &marker);
 
-	  if (strid == NULL || strcmp (strid, marker->str_id) == 0)
-	    {
-	      VEC_safe_push (static_tracepoint_marker_p,
-			     markers, marker);
-	      marker = NULL;
-	    }
-	  else
-	    {
-	      release_static_tracepoint_marker (marker);
-	      memset (marker, 0, sizeof (*marker));
-	    }
+	  if (strid == NULL || marker.str_id == strid)
+	    markers.push_back (std::move (marker));
 	}
       while (*p++ == ',');	/* comma-separated list */
 
@@ -4348,81 +4277,34 @@ linux_child_static_tracepoint_markers_by
   return markers;
 }
 
-/* Create a prototype generic GNU/Linux target.  The client can override
-   it with local methods.  */
-
-static void
-linux_target_install_ops (struct target_ops *t)
-{
-  t->to_insert_fork_catchpoint = linux_child_insert_fork_catchpoint;
-  t->to_remove_fork_catchpoint = linux_child_remove_fork_catchpoint;
-  t->to_insert_vfork_catchpoint = linux_child_insert_vfork_catchpoint;
-  t->to_remove_vfork_catchpoint = linux_child_remove_vfork_catchpoint;
-  t->to_insert_exec_catchpoint = linux_child_insert_exec_catchpoint;
-  t->to_remove_exec_catchpoint = linux_child_remove_exec_catchpoint;
-  t->to_set_syscall_catchpoint = linux_child_set_syscall_catchpoint;
-  t->to_pid_to_exec_file = linux_child_pid_to_exec_file;
-  t->to_post_startup_inferior = linux_child_post_startup_inferior;
-  t->to_post_attach = linux_child_post_attach;
-  t->to_follow_fork = linux_child_follow_fork;
-
-  super_xfer_partial = t->to_xfer_partial;
-  t->to_xfer_partial = linux_xfer_partial;
-
-  t->to_static_tracepoint_markers_by_strid
-    = linux_child_static_tracepoint_markers_by_strid;
-}
-
-struct target_ops *
-linux_target (void)
-{
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  linux_target_install_ops (t);
-
-  return t;
-}
-
-struct target_ops *
-linux_trad_target (CORE_ADDR (*register_u_offset)(struct gdbarch *, int, int))
-{
-  struct target_ops *t;
-
-  t = inf_ptrace_trad_target (register_u_offset);
-  linux_target_install_ops (t);
-
-  return t;
-}
-
 /* target_is_async_p implementation.  */
 
-static int
-linux_nat_is_async_p (struct target_ops *ops)
+bool
+linux_nat_target::is_async_p ()
 {
   return linux_is_async_p ();
 }
 
 /* target_can_async_p implementation.  */
 
-static int
-linux_nat_can_async_p (struct target_ops *ops)
+bool
+linux_nat_target::can_async_p ()
 {
   /* We're always async, unless the user explicitly prevented it with the
      "maint set target-async" command.  */
   return target_async_permitted;
 }
 
-static int
-linux_nat_supports_non_stop (struct target_ops *self)
+bool
+linux_nat_target::supports_non_stop ()
 {
   return 1;
 }
 
 /* to_always_non_stop_p implementation.  */
 
-static int
-linux_nat_always_non_stop_p (struct target_ops *self)
+bool
+linux_nat_target::always_non_stop_p ()
 {
   return 1;
 }
@@ -4432,14 +4314,14 @@ linux_nat_always_non_stop_p (struct targ
 
 int linux_multi_process = 1;
 
-static int
-linux_nat_supports_multi_process (struct target_ops *self)
+bool
+linux_nat_target::supports_multi_process ()
 {
   return linux_multi_process;
 }
 
-static int
-linux_nat_supports_disable_randomization (struct target_ops *self)
+bool
+linux_nat_target::supports_disable_randomization ()
 {
 #ifdef HAVE_PERSONALITY
   return 1;
@@ -4448,49 +4330,6 @@ linux_nat_supports_disable_randomization
 #endif
 }
 
-static int async_terminal_is_ours = 1;
-
-/* target_terminal_inferior implementation.
-
-   This is a wrapper around child_terminal_inferior to add async support.  */
-
-static void
-linux_nat_terminal_inferior (struct target_ops *self)
-{
-  child_terminal_inferior (self);
-
-  /* Calls to target_terminal_*() are meant to be idempotent.  */
-  if (!async_terminal_is_ours)
-    return;
-
-  async_terminal_is_ours = 0;
-  set_sigint_trap ();
-}
-
-/* target_terminal::ours implementation.
-
-   This is a wrapper around child_terminal_ours to add async support (and
-   implement the target_terminal::ours vs target_terminal::ours_for_output
-   distinction).  child_terminal_ours is currently no different than
-   child_terminal_ours_for_output.
-   We leave target_terminal::ours_for_output alone, leaving it to
-   child_terminal_ours_for_output.  */
-
-static void
-linux_nat_terminal_ours (struct target_ops *self)
-{
-  /* GDB should never give the terminal to the inferior if the
-     inferior is running in the background (run&, continue&, etc.),
-     but claiming it sure should.  */
-  child_terminal_ours (self);
-
-  if (async_terminal_is_ours)
-    return;
-
-  clear_sigint_trap ();
-  async_terminal_is_ours = 1;
-}
-
 /* SIGCHLD handler that serves two purposes: In non-stop/async mode,
    so we notice when any child changes state, and notify the
    event-loop; it allows us to use sigsuspend in linux_nat_wait_1
@@ -4561,8 +4400,8 @@ linux_async_pipe (int enable)
 
 /* target_async implementation.  */
 
-static void
-linux_nat_async (struct target_ops *ops, int enable)
+void
+linux_nat_target::async (int enable)
 {
   if (enable)
     {
@@ -4603,7 +4442,7 @@ linux_nat_stop_lwp (struct lwp_info *lwp
 	    fprintf_unfiltered (gdb_stdlog,
 				"linux-nat: already stopping LWP %ld at "
 				"GDB's request\n",
-				ptid_get_lwp (lwp->ptid));
+				lwp->ptid.lwp ());
 	  return 0;
 	}
 
@@ -4630,23 +4469,20 @@ linux_nat_stop_lwp (struct lwp_info *lwp
   return 0;
 }
 
-static void
-linux_nat_stop (struct target_ops *self, ptid_t ptid)
+void
+linux_nat_target::stop (ptid_t ptid)
 {
   iterate_over_lwps (ptid, linux_nat_stop_lwp, NULL);
 }
 
-static void
-linux_nat_close (struct target_ops *self)
+void
+linux_nat_target::close ()
 {
   /* Unregister from the event loop.  */
-  if (linux_nat_is_async_p (self))
-    linux_nat_async (self, 0);
-
-  if (linux_ops->to_close)
-    linux_ops->to_close (linux_ops);
+  if (is_async_p ())
+    async (0);
 
-  super_close (self);
+  inf_ptrace_target::close ();
 }
 
 /* When requests are passed down from the linux-nat layer to the
@@ -4656,24 +4492,24 @@ linux_nat_close (struct target_ops *self
    lwpid is a "main" process id or not (it assumes so).  We reverse
    look up the "main" process id from the lwp here.  */
 
-static struct address_space *
-linux_nat_thread_address_space (struct target_ops *t, ptid_t ptid)
+struct address_space *
+linux_nat_target::thread_address_space (ptid_t ptid)
 {
   struct lwp_info *lwp;
   struct inferior *inf;
   int pid;
 
-  if (ptid_get_lwp (ptid) == 0)
+  if (ptid.lwp () == 0)
     {
       /* An (lwpid,0,0) ptid.  Look up the lwp object to get at the
 	 tgid.  */
       lwp = find_lwp_pid (ptid);
-      pid = ptid_get_pid (lwp->ptid);
+      pid = lwp->ptid.pid ();
     }
   else
     {
       /* A (pid,lwpid,0) ptid.  */
-      pid = ptid_get_pid (ptid);
+      pid = ptid.pid ();
     }
 
   inf = find_inferior_pid (pid);
@@ -4683,8 +4519,8 @@ linux_nat_thread_address_space (struct t
 
 /* Return the cached value of the processor core for thread PTID.  */
 
-static int
-linux_nat_core_of_thread (struct target_ops *ops, ptid_t ptid)
+int
+linux_nat_target::core_of_thread (ptid_t ptid)
 {
   struct lwp_info *info = find_lwp_pid (ptid);
 
@@ -4695,13 +4531,13 @@ linux_nat_core_of_thread (struct target_
 
 /* Implementation of to_filesystem_is_local.  */
 
-static int
-linux_nat_filesystem_is_local (struct target_ops *ops)
+bool
+linux_nat_target::filesystem_is_local ()
 {
   struct inferior *inf = current_inferior ();
 
   if (inf->fake_pid_p || inf->pid == 0)
-    return 1;
+    return true;
 
   return linux_ns_same (inf->pid, LINUX_NS_MNT);
 }
@@ -4725,11 +4561,10 @@ linux_nat_fileio_pid_of (struct inferior
 
 /* Implementation of to_fileio_open.  */
 
-static int
-linux_nat_fileio_open (struct target_ops *self,
-		       struct inferior *inf, const char *filename,
-		       int flags, int mode, int warn_if_slow,
-		       int *target_errno)
+int
+linux_nat_target::fileio_open (struct inferior *inf, const char *filename,
+			       int flags, int mode, int warn_if_slow,
+			       int *target_errno)
 {
   int nat_flags;
   mode_t nat_mode;
@@ -4752,35 +4587,29 @@ linux_nat_fileio_open (struct target_ops
 
 /* Implementation of to_fileio_readlink.  */
 
-static char *
-linux_nat_fileio_readlink (struct target_ops *self,
-			   struct inferior *inf, const char *filename,
-			   int *target_errno)
+gdb::optional<std::string>
+linux_nat_target::fileio_readlink (struct inferior *inf, const char *filename,
+				   int *target_errno)
 {
   char buf[PATH_MAX];
   int len;
-  char *ret;
 
   len = linux_mntns_readlink (linux_nat_fileio_pid_of (inf),
 			      filename, buf, sizeof (buf));
   if (len < 0)
     {
       *target_errno = host_to_fileio_error (errno);
-      return NULL;
+      return {};
     }
 
-  ret = (char *) xmalloc (len + 1);
-  memcpy (ret, buf, len);
-  ret[len] = '\0';
-  return ret;
+  return std::string (buf, len);
 }
 
 /* Implementation of to_fileio_unlink.  */
 
-static int
-linux_nat_fileio_unlink (struct target_ops *self,
-			 struct inferior *inf, const char *filename,
-			 int *target_errno)
+int
+linux_nat_target::fileio_unlink (struct inferior *inf, const char *filename,
+				 int *target_errno)
 {
   int ret;
 
@@ -4794,152 +4623,19 @@ linux_nat_fileio_unlink (struct target_o
 
 /* Implementation of the to_thread_events method.  */
 
-static void
-linux_nat_thread_events (struct target_ops *ops, int enable)
+void
+linux_nat_target::thread_events (int enable)
 {
   report_thread_events = enable;
 }
 
-void
-linux_nat_add_target (struct target_ops *t)
+linux_nat_target::linux_nat_target ()
 {
-  /* Save the provided single-threaded target.  We save this in a separate
-     variable because another target we've inherited from (e.g. inf-ptrace)
-     may have saved a pointer to T; we want to use it for the final
-     process stratum target.  */
-  linux_ops_saved = *t;
-  linux_ops = &linux_ops_saved;
-
-  /* Override some methods for multithreading.  */
-  t->to_create_inferior = linux_nat_create_inferior;
-  t->to_attach = linux_nat_attach;
-  t->to_detach = linux_nat_detach;
-  t->to_resume = linux_nat_resume;
-  t->to_wait = linux_nat_wait;
-  t->to_pass_signals = linux_nat_pass_signals;
-  t->to_xfer_partial = linux_nat_xfer_partial;
-  t->to_kill = linux_nat_kill;
-  t->to_mourn_inferior = linux_nat_mourn_inferior;
-  t->to_thread_alive = linux_nat_thread_alive;
-  t->to_update_thread_list = linux_nat_update_thread_list;
-  t->to_pid_to_str = linux_nat_pid_to_str;
-  t->to_thread_name = linux_nat_thread_name;
-  t->to_has_thread_control = tc_schedlock;
-  t->to_thread_address_space = linux_nat_thread_address_space;
-  t->to_stopped_by_watchpoint = linux_nat_stopped_by_watchpoint;
-  t->to_stopped_data_address = linux_nat_stopped_data_address;
-  t->to_stopped_by_sw_breakpoint = linux_nat_stopped_by_sw_breakpoint;
-  t->to_supports_stopped_by_sw_breakpoint = linux_nat_supports_stopped_by_sw_breakpoint;
-  t->to_stopped_by_hw_breakpoint = linux_nat_stopped_by_hw_breakpoint;
-  t->to_supports_stopped_by_hw_breakpoint = linux_nat_supports_stopped_by_hw_breakpoint;
-  t->to_thread_events = linux_nat_thread_events;
-
-  t->to_can_async_p = linux_nat_can_async_p;
-  t->to_is_async_p = linux_nat_is_async_p;
-  t->to_supports_non_stop = linux_nat_supports_non_stop;
-  t->to_always_non_stop_p = linux_nat_always_non_stop_p;
-  t->to_async = linux_nat_async;
-  t->to_terminal_inferior = linux_nat_terminal_inferior;
-  t->to_terminal_ours = linux_nat_terminal_ours;
-
-  super_close = t->to_close;
-  t->to_close = linux_nat_close;
-
-  t->to_stop = linux_nat_stop;
-
-  t->to_supports_multi_process = linux_nat_supports_multi_process;
-
-  t->to_supports_disable_randomization
-    = linux_nat_supports_disable_randomization;
-
-  t->to_core_of_thread = linux_nat_core_of_thread;
-
-  t->to_filesystem_is_local = linux_nat_filesystem_is_local;
-  t->to_fileio_open = linux_nat_fileio_open;
-  t->to_fileio_readlink = linux_nat_fileio_readlink;
-  t->to_fileio_unlink = linux_nat_fileio_unlink;
-
   /* We don't change the stratum; this target will sit at
      process_stratum and thread_db will set at thread_stratum.  This
      is a little strange, since this is a multi-threaded-capable
      target, but we want to be on the stack below thread_db, and we
      also want to be used for single-threaded processes.  */
-
-  add_target (t);
-}
-
-/* Register a method to call whenever a new thread is attached.  */
-void
-linux_nat_set_new_thread (struct target_ops *t,
-			  void (*new_thread) (struct lwp_info *))
-{
-  /* Save the pointer.  We only support a single registered instance
-     of the GNU/Linux native target, so we do not need to map this to
-     T.  */
-  linux_nat_new_thread = new_thread;
-}
-
-/* Register a method to call whenever a new thread is attached.  */
-void
-linux_nat_set_delete_thread (struct target_ops *t,
-			     void (*delete_thread) (struct arch_lwp_info *))
-{
-  /* Save the pointer.  We only support a single registered instance
-     of the GNU/Linux native target, so we do not need to map this to
-     T.  */
-  linux_nat_delete_thread = delete_thread;
-}
-
-/* See declaration in linux-nat.h.  */
-
-void
-linux_nat_set_new_fork (struct target_ops *t,
-			linux_nat_new_fork_ftype *new_fork)
-{
-  /* Save the pointer.  */
-  linux_nat_new_fork = new_fork;
-}
-
-/* See declaration in linux-nat.h.  */
-
-void
-linux_nat_set_forget_process (struct target_ops *t,
-			      linux_nat_forget_process_ftype *fn)
-{
-  /* Save the pointer.  */
-  linux_nat_forget_process_hook = fn;
-}
-
-/* See declaration in linux-nat.h.  */
-
-void
-linux_nat_forget_process (pid_t pid)
-{
-  if (linux_nat_forget_process_hook != NULL)
-    linux_nat_forget_process_hook (pid);
-}
-
-/* Register a method that converts a siginfo object between the layout
-   that ptrace returns, and the layout in the architecture of the
-   inferior.  */
-void
-linux_nat_set_siginfo_fixup (struct target_ops *t,
-			     int (*siginfo_fixup) (siginfo_t *,
-						   gdb_byte *,
-						   int))
-{
-  /* Save the pointer.  */
-  linux_nat_siginfo_fixup = siginfo_fixup;
-}
-
-/* Register a method to call prior to resuming a thread.  */
-
-void
-linux_nat_set_prepare_to_resume (struct target_ops *t,
-				 void (*prepare_to_resume) (struct lwp_info *))
-{
-  /* Save the pointer.  */
-  linux_nat_prepare_to_resume = prepare_to_resume;
 }
 
 /* See linux-nat.h.  */
@@ -4949,9 +4645,9 @@ linux_nat_get_siginfo (ptid_t ptid, sigi
 {
   int pid;
 
-  pid = ptid_get_lwp (ptid);
+  pid = ptid.lwp ();
   if (pid == 0)
-    pid = ptid_get_pid (ptid);
+    pid = ptid.pid ();
 
   errno = 0;
   ptrace (PTRACE_GETSIGINFO, pid, (PTRACE_TYPE_ARG3) 0, siginfo);
@@ -4968,7 +4664,7 @@ linux_nat_get_siginfo (ptid_t ptid, sigi
 ptid_t
 current_lwp_ptid (void)
 {
-  gdb_assert (ptid_lwp_p (inferior_ptid));
+  gdb_assert (inferior_ptid.lwp_p ());
   return inferior_ptid;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-nat.h ./gdb/linux-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-nat.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/linux-nat.h	2018-07-10 02:06:13.000000000 +0000
@@ -18,9 +18,174 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "nat/linux-nat.h"
+#include "inf-ptrace.h"
 #include "target.h"
 #include <signal.h>
 
+/* A prototype generic GNU/Linux target.  A concrete instance should
+   override it with local methods.  */
+
+class linux_nat_target : public inf_ptrace_target
+{
+public:
+  linux_nat_target ();
+  ~linux_nat_target () override = 0;
+
+  thread_control_capabilities get_thread_control_capabilities () override
+  { return tc_schedlock; }
+
+  void create_inferior (const char *, const std::string &,
+			char **, int) override;
+
+  void attach (const char *, int) override;
+
+  void detach (inferior *, int) override;
+
+  void resume (ptid_t, int, enum gdb_signal) override;
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+  void pass_signals (int, unsigned char *) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  void kill () override;
+
+  void mourn_inferior () override;
+  bool thread_alive (ptid_t ptid) override;
+
+  void update_thread_list () override;
+
+  const char *pid_to_str (ptid_t) override;
+
+  const char *thread_name (struct thread_info *) override;
+
+  struct address_space *thread_address_space (ptid_t) override;
+
+  bool stopped_by_watchpoint () override;
+
+  bool stopped_data_address (CORE_ADDR *) override;
+
+  bool stopped_by_sw_breakpoint () override;
+  bool supports_stopped_by_sw_breakpoint () override;
+
+  bool stopped_by_hw_breakpoint () override;
+  bool supports_stopped_by_hw_breakpoint () override;
+
+  void thread_events (int) override;
+
+  bool can_async_p () override;
+  bool is_async_p () override;
+
+  bool supports_non_stop () override;
+  bool always_non_stop_p () override;
+
+  void async (int) override;
+
+  void close () override;
+
+  void stop (ptid_t) override;
+
+  bool supports_multi_process () override;
+
+  bool supports_disable_randomization () override;
+
+  int core_of_thread (ptid_t ptid) override;
+
+  bool filesystem_is_local () override;
+
+  int fileio_open (struct inferior *inf, const char *filename,
+		   int flags, int mode, int warn_if_slow,
+		   int *target_errno) override;
+
+  gdb::optional<std::string>
+    fileio_readlink (struct inferior *inf,
+		     const char *filename,
+		     int *target_errno) override;
+
+  int fileio_unlink (struct inferior *inf,
+		     const char *filename,
+		     int *target_errno) override;
+
+  int insert_fork_catchpoint (int) override;
+  int remove_fork_catchpoint (int) override;
+  int insert_vfork_catchpoint (int) override;
+  int remove_vfork_catchpoint (int) override;
+
+  int insert_exec_catchpoint (int) override;
+  int remove_exec_catchpoint (int) override;
+
+  int set_syscall_catchpoint (int pid, bool needed, int any_count,
+			      gdb::array_view<const int> syscall_counts) override;
+
+  char *pid_to_exec_file (int pid) override;
+
+  void post_startup_inferior (ptid_t) override;
+
+  void post_attach (int) override;
+
+  int follow_fork (int, int) override;
+
+  std::vector<static_tracepoint_marker>
+    static_tracepoint_markers_by_strid (const char *id) override;
+
+  /* Methods that are meant to overridden by the concrete
+     arch-specific target instance.  */
+
+  virtual void low_resume (ptid_t ptid, int step, enum gdb_signal sig)
+  { inf_ptrace_target::resume (ptid, step, sig); }
+
+  virtual bool low_stopped_by_watchpoint ()
+  { return false; }
+
+  virtual bool low_stopped_data_address (CORE_ADDR *addr_p)
+  { return false; }
+
+  /* The method to call, if any, when a new thread is attached.  */
+  virtual void low_new_thread (struct lwp_info *)
+  {}
+
+  /* The method to call, if any, when a thread is destroyed.  */
+  virtual void low_delete_thread (struct arch_lwp_info *lp)
+  {
+    gdb_assert (lp == NULL);
+  }
+
+  /* The method to call, if any, when a new fork is attached.  */
+  virtual void low_new_fork (struct lwp_info *parent, pid_t child_pid)
+  {}
+
+  /* The method to call, if any, when a process is no longer
+     attached.  */
+  virtual void low_forget_process (pid_t pid)
+  {}
+
+  /* Hook to call prior to resuming a thread.  */
+  virtual void low_prepare_to_resume (struct lwp_info *)
+  {}
+
+  /* Convert a ptrace/host siginfo object, into/from the siginfo in
+     the layout of the inferiors' architecture.  Returns true if any
+     conversion was done; false otherwise, in which case the caller
+     does a straight memcpy.  If DIRECTION is 1, then copy from INF to
+     PTRACE.  If DIRECTION is 0, copy from PTRACE to INF.  */
+  virtual bool low_siginfo_fixup (siginfo_t *ptrace, gdb_byte *inf,
+				  int direction)
+  { return false; }
+
+  /* SIGTRAP-like breakpoint status events recognizer.  The default
+     recognizes SIGTRAP only.  */
+  virtual bool low_status_is_event (int status);
+};
+
+/* The final/concrete instance.  */
+extern linux_nat_target *linux_target;
+
 struct arch_lwp_info;
 
 /* Structure describing an LWP.  This is public only for the purposes
@@ -149,55 +314,6 @@ extern void linux_stop_and_wait_all_lwps
    left stopped.)  */
 extern void linux_unstop_all_lwps (void);
 
-/* Create a prototype generic GNU/Linux target.  The client can
-   override it with local methods.  */
-struct target_ops * linux_target (void);
-
-/* Create a generic GNU/Linux target using traditional 
-   ptrace register access.  */
-struct target_ops *
-linux_trad_target (CORE_ADDR (*register_u_offset)(struct gdbarch *, int, int));
-
-/* Register the customized GNU/Linux target.  This should be used
-   instead of calling add_target directly.  */
-void linux_nat_add_target (struct target_ops *);
-
-/* Register a method to call whenever a new thread is attached.  */
-void linux_nat_set_new_thread (struct target_ops *, void (*) (struct lwp_info *));
-
-/* Register a method to call whenever a new thread is deleted.  */
-void linux_nat_set_delete_thread (struct target_ops *,
-				  void (*) (struct arch_lwp_info *));
-
-/* Register a method to call whenever a new fork is attached.  */
-typedef void (linux_nat_new_fork_ftype) (struct lwp_info *parent,
-					 pid_t child_pid);
-void linux_nat_set_new_fork (struct target_ops *ops,
-			     linux_nat_new_fork_ftype *fn);
-
-/* Register a method to call whenever a process is killed or
-   detached.  */
-typedef void (linux_nat_forget_process_ftype) (pid_t pid);
-void linux_nat_set_forget_process (struct target_ops *ops,
-				   linux_nat_forget_process_ftype *fn);
-
-/* Call the method registered with the function above.  PID is the
-   process to forget about.  */
-void linux_nat_forget_process (pid_t pid);
-
-/* Register a method that converts a siginfo object between the layout
-   that ptrace returns, and the layout in the architecture of the
-   inferior.  */
-void linux_nat_set_siginfo_fixup (struct target_ops *,
-				  int (*) (siginfo_t *,
-					   gdb_byte *,
-					   int));
-
-/* Register a method to call prior to resuming a thread.  */
-
-void linux_nat_set_prepare_to_resume (struct target_ops *,
-				      void (*) (struct lwp_info *));
-
 /* Update linux-nat internal state when changing from one fork
    to another.  */
 void linux_nat_switch_fork (ptid_t new_ptid);
@@ -206,7 +322,3 @@ void linux_nat_switch_fork (ptid_t new_p
    Return 1 if it was retrieved successfully, 0 otherwise (*SIGINFO is
    uninitialized in such case).  */
 int linux_nat_get_siginfo (ptid_t ptid, siginfo_t *siginfo);
-
-/* Set alternative SIGTRAP-like events recognizer.  */
-void linux_nat_set_status_is_event (struct target_ops *t,
-				    int (*status_is_event) (int status));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-nat-trad.c ./gdb/linux-nat-trad.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-nat-trad.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/linux-nat-trad.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,144 @@
+/* Generic GNU/Linux target using traditional ptrace register access.
+
+   Copyright (C) 1988-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "linux-nat-trad.h"
+
+#include "nat/gdb_ptrace.h"
+#include "inf-ptrace.h"
+
+/* Fetch register REGNUM from the inferior.  */
+
+void
+linux_nat_trad_target::fetch_register (struct regcache *regcache, int regnum)
+{
+  struct gdbarch *gdbarch = regcache->arch ();
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  CORE_ADDR addr;
+  gdb_byte *buf;
+  size_t size;
+  pid_t pid;
+  int i;
+
+  /* This isn't really an address, but ptrace thinks of it as one.  */
+  addr = register_u_offset (gdbarch, regnum, 0);
+  if (addr == (CORE_ADDR)-1
+      || gdbarch_cannot_fetch_register (gdbarch, regnum))
+    {
+      regcache->raw_supply (regnum, NULL);
+      return;
+    }
+
+  pid = get_ptrace_pid (regcache->ptid ());
+
+  size = register_size (gdbarch, regnum);
+  buf = (gdb_byte *) alloca (size);
+
+  /* Read the register contents from the inferior a chunk at a time.  */
+  for (i = 0; i < size; i += sizeof (PTRACE_TYPE_RET))
+    {
+      size_t chunk = std::min (sizeof (PTRACE_TYPE_RET), size - i);
+      PTRACE_TYPE_RET val;
+
+      errno = 0;
+      val = ptrace (PT_READ_U, pid, (PTRACE_TYPE_ARG3) (uintptr_t) addr, 0);
+      if (errno != 0)
+	error (_("Couldn't read register %s (#%d): %s."),
+	       gdbarch_register_name (gdbarch, regnum),
+	       regnum, safe_strerror (errno));
+      store_unsigned_integer (buf + i, chunk, byte_order, val);
+
+      addr += sizeof (PTRACE_TYPE_RET);
+    }
+  regcache->raw_supply (regnum, buf);
+}
+
+/* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
+   for all registers.  */
+
+void
+linux_nat_trad_target::fetch_registers (struct regcache *regcache, int regnum)
+{
+  if (regnum == -1)
+    for (regnum = 0;
+	 regnum < gdbarch_num_regs (regcache->arch ());
+	 regnum++)
+      fetch_register (regcache, regnum);
+  else
+    fetch_register (regcache, regnum);
+}
+
+/* Store register REGNUM into the inferior.  */
+
+void
+linux_nat_trad_target::store_register (const struct regcache *regcache,
+				       int regnum)
+{
+  struct gdbarch *gdbarch = regcache->arch ();
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  CORE_ADDR addr;
+  size_t size;
+  gdb_byte *buf;
+  pid_t pid;
+  int i;
+
+  /* This isn't really an address, but ptrace thinks of it as one.  */
+  addr = register_u_offset (gdbarch, regnum, 1);
+  if (addr == (CORE_ADDR)-1
+      || gdbarch_cannot_store_register (gdbarch, regnum))
+    return;
+
+  pid = get_ptrace_pid (regcache->ptid ());
+
+  size = register_size (gdbarch, regnum);
+  buf = (gdb_byte *) alloca (size);
+
+  /* Write the register contents into the inferior a chunk at a time.  */
+  regcache->raw_collect (regnum, buf);
+  for (i = 0; i < size; i += sizeof (PTRACE_TYPE_RET))
+    {
+      size_t chunk = std::min (sizeof (PTRACE_TYPE_RET), size - i);
+      PTRACE_TYPE_RET val;
+
+      val = extract_unsigned_integer (buf + i, chunk, byte_order);
+      errno = 0;
+      ptrace (PT_WRITE_U, pid, (PTRACE_TYPE_ARG3) (uintptr_t) addr, val);
+      if (errno != 0)
+	error (_("Couldn't write register %s (#%d): %s."),
+	       gdbarch_register_name (gdbarch, regnum),
+	       regnum, safe_strerror (errno));
+
+      addr += sizeof (PTRACE_TYPE_RET);
+    }
+}
+
+/* Store register REGNUM back into the inferior.  If REGNUM is -1, do
+   this for all registers.  */
+
+void
+linux_nat_trad_target::store_registers (struct regcache *regcache, int regnum)
+{
+  if (regnum == -1)
+    for (regnum = 0;
+	 regnum < gdbarch_num_regs (regcache->arch ());
+	 regnum++)
+      store_register (regcache, regnum);
+  else
+    store_register (regcache, regnum);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-nat-trad.h ./gdb/linux-nat-trad.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-nat-trad.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/linux-nat-trad.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,46 @@
+/* Generic GNU/Linux target using traditional ptrace register access.
+
+   Copyright (C) 2000-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef LINUX_NAT_TRAD_H
+#define LINUX_NAT_TRAD_H
+
+#include "linux-nat.h"
+
+/* A prototype GNU/Linux target using traditional ptrace register
+   access.  A concrete type should override REGISTER_U_OFFSET.  */
+
+class linux_nat_trad_target : public linux_nat_target
+{
+public:
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+protected:
+  /* Return the offset within the user area where a particular
+     register is stored.  */
+  virtual CORE_ADDR register_u_offset (struct gdbarch *gdbarch,
+				       int regnum, int store) = 0;
+
+private:
+  /* Helpers.  See definition.  */
+  void fetch_register (struct regcache *regcache, int regnum);
+  void store_register (const struct regcache *regcache, int regnum);
+};
+
+#endif /* LINUX_NAT_TRAD_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-record.c ./gdb/linux-record.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-record.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/linux-record.c	2018-07-10 02:06:13.000000000 +0000
@@ -881,6 +881,7 @@ Do you want to stop the program?"),
 	      if (record_linux_sockaddr (regcache, tdep, tmpulongest, len))
 		return -1;
 	    }
+	  break;
 	case RECORD_SYS_RECV:
 	  regcache_raw_read_unsigned (regcache, tdep->arg2,
 				      &tmpulongest);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-tdep.c ./gdb/linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -32,7 +32,7 @@
 #include "cli/cli-utils.h"
 #include "arch-utils.h"
 #include "gdb_obstack.h"
-#include "observer.h"
+#include "observable.h"
 #include "objfiles.h"
 #include "infcall.h"
 #include "gdbcmd.h"
@@ -402,8 +402,8 @@ linux_is_uclinux (void)
 {
   CORE_ADDR dummy;
 
-  return (target_auxv_search (&current_target, AT_NULL, &dummy) > 0
-	  && target_auxv_search (&current_target, AT_PAGESZ, &dummy) == 0);
+  return (target_auxv_search (current_top_target (), AT_NULL, &dummy) > 0
+	  && target_auxv_search (current_top_target (), AT_PAGESZ, &dummy) == 0);
 }
 
 static int
@@ -419,9 +419,9 @@ linux_core_pid_to_str (struct gdbarch *g
 {
   static char buf[80];
 
-  if (ptid_get_lwp (ptid) != 0)
+  if (ptid.lwp () != 0)
     {
-      snprintf (buf, sizeof (buf), "LWP %ld", ptid_get_lwp (ptid));
+      snprintf (buf, sizeof (buf), "LWP %ld", ptid.lwp ());
       return buf;
     }
 
@@ -754,36 +754,42 @@ linux_info_proc (struct gdbarch *gdbarch
   if (cmdline_f)
     {
       xsnprintf (filename, sizeof filename, "/proc/%ld/cmdline", pid);
-      gdb::unique_xmalloc_ptr<char> cmdline
-	= target_fileio_read_stralloc (NULL, filename);
-      if (cmdline)
-	printf_filtered ("cmdline = '%s'\n", cmdline.get ());
+      gdb_byte *buffer;
+      ssize_t len = target_fileio_read_alloc (NULL, filename, &buffer);
+
+      if (len > 0)
+	{
+	  gdb::unique_xmalloc_ptr<char> cmdline ((char *) buffer);
+	  ssize_t pos;
+
+	  for (pos = 0; pos < len - 1; pos++)
+	    {
+	      if (buffer[pos] == '\0')
+		buffer[pos] = ' ';
+	    }
+	  buffer[len - 1] = '\0';
+	  printf_filtered ("cmdline = '%s'\n", buffer);
+	}
       else
 	warning (_("unable to open /proc file '%s'"), filename);
     }
   if (cwd_f)
     {
       xsnprintf (filename, sizeof filename, "/proc/%ld/cwd", pid);
-      data = target_fileio_readlink (NULL, filename, &target_errno);
-      if (data)
-	{
-	  struct cleanup *cleanup = make_cleanup (xfree, data);
-          printf_filtered ("cwd = '%s'\n", data);
-	  do_cleanups (cleanup);
-	}
+      gdb::optional<std::string> contents
+	= target_fileio_readlink (NULL, filename, &target_errno);
+      if (contents.has_value ())
+	printf_filtered ("cwd = '%s'\n", contents->c_str ());
       else
 	warning (_("unable to read link '%s'"), filename);
     }
   if (exe_f)
     {
       xsnprintf (filename, sizeof filename, "/proc/%ld/exe", pid);
-      data = target_fileio_readlink (NULL, filename, &target_errno);
-      if (data)
-	{
-	  struct cleanup *cleanup = make_cleanup (xfree, data);
-          printf_filtered ("exe = '%s'\n", data);
-	  do_cleanups (cleanup);
-	}
+      gdb::optional<std::string> contents
+	= target_fileio_readlink (NULL, filename, &target_errno);
+      if (contents.has_value ())
+	printf_filtered ("exe = '%s'\n", contents->c_str ());
       else
 	warning (_("unable to read link '%s'"), filename);
     }
@@ -1380,7 +1386,7 @@ static int
 find_signalled_thread (struct thread_info *info, void *data)
 {
   if (info->suspend.stop_signal != GDB_SIGNAL_0
-      && ptid_get_pid (info->ptid) == ptid_get_pid (inferior_ptid))
+      && info->ptid.pid () == inferior_ptid.pid ())
     return 1;
 
   return 0;
@@ -1414,47 +1420,42 @@ linux_spu_make_corefile_notes (bfd *obfd
    };
 
   enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  gdb_byte *spu_ids;
-  LONGEST i, j, size;
 
   /* Determine list of SPU ids.  */
-  size = target_read_alloc (&current_target, TARGET_OBJECT_SPU,
-			    NULL, &spu_ids);
+  gdb::optional<gdb::byte_vector>
+    spu_ids = target_read_alloc (current_top_target (),
+				 TARGET_OBJECT_SPU, NULL);
+
+  if (!spu_ids)
+    return note_data;
 
   /* Generate corefile notes for each SPU file.  */
-  for (i = 0; i < size; i += 4)
+  for (size_t i = 0; i < spu_ids->size (); i += 4)
     {
-      int fd = extract_unsigned_integer (spu_ids + i, 4, byte_order);
+      int fd = extract_unsigned_integer (spu_ids->data () + i, 4, byte_order);
 
-      for (j = 0; j < sizeof (spu_files) / sizeof (spu_files[0]); j++)
+      for (size_t j = 0; j < sizeof (spu_files) / sizeof (spu_files[0]); j++)
 	{
 	  char annex[32], note_name[32];
-	  gdb_byte *spu_data;
-	  LONGEST spu_len;
 
 	  xsnprintf (annex, sizeof annex, "%d/%s", fd, spu_files[j]);
-	  spu_len = target_read_alloc (&current_target, TARGET_OBJECT_SPU,
-				       annex, &spu_data);
-	  if (spu_len > 0)
+	  gdb::optional<gdb::byte_vector> spu_data
+	    = target_read_alloc (current_top_target (), TARGET_OBJECT_SPU, annex);
+
+	  if (spu_data && !spu_data->empty ())
 	    {
 	      xsnprintf (note_name, sizeof note_name, "SPU/%s", annex);
 	      note_data = elfcore_write_note (obfd, note_data, note_size,
 					      note_name, NT_SPU,
-					      spu_data, spu_len);
-	      xfree (spu_data);
+					      spu_data->data (),
+					      spu_data->size ());
 
 	      if (!note_data)
-		{
-		  xfree (spu_ids);
-		  return NULL;
-		}
+		return nullptr;
 	    }
 	}
     }
 
-  if (size > 0)
-    xfree (spu_ids);
-
   return note_data;
 }
 
@@ -1631,9 +1632,9 @@ linux_collect_thread_registers (const st
   data.abort_iteration = 0;
 
   /* For remote targets the LWP may not be available, so use the TID.  */
-  data.lwp = ptid_get_lwp (ptid);
+  data.lwp = ptid.lwp ();
   if (!data.lwp)
-    data.lwp = ptid_get_tid (ptid);
+    data.lwp = ptid.tid ();
 
   gdbarch_iterate_over_regset_sections (gdbarch,
 					linux_collect_regset_section_cb,
@@ -1661,7 +1662,7 @@ linux_get_siginfo_data (thread_info *thr
 
   gdb::byte_vector buf (TYPE_LENGTH (siginfo_type));
 
-  bytes_read = target_read (&current_target, TARGET_OBJECT_SIGNAL_INFO, NULL,
+  bytes_read = target_read (current_top_target (), TARGET_OBJECT_SIGNAL_INFO, NULL,
 			    buf.data (), 0, TYPE_LENGTH (siginfo_type));
   if (bytes_read != TYPE_LENGTH (siginfo_type))
     buf.clear ();
@@ -1744,7 +1745,7 @@ linux_fill_prpsinfo (struct elf_internal
   gdb_assert (p != NULL);
 
   /* Obtaining PID and filename.  */
-  pid = ptid_get_pid (inferior_ptid);
+  pid = inferior_ptid.pid ();
   xsnprintf (filename, sizeof (filename), "/proc/%d/cmdline", (int) pid);
   /* The full name of the program which generated the corefile.  */
   gdb::unique_xmalloc_ptr<char> fname
@@ -1905,8 +1906,6 @@ linux_make_corefile_notes (struct gdbarc
   struct linux_corefile_thread_data thread_args;
   struct elf_internal_linux_prpsinfo prpsinfo;
   char *note_data = NULL;
-  gdb_byte *auxv;
-  int auxv_len;
   struct thread_info *curr_thr, *signalled_thr, *thr;
 
   if (! gdbarch_iterate_over_regset_sections_p (gdbarch))
@@ -1960,7 +1959,7 @@ linux_make_corefile_notes (struct gdbarc
     {
       if (thr == signalled_thr)
 	continue;
-      if (ptid_get_pid (thr->ptid) != ptid_get_pid (inferior_ptid))
+      if (thr->ptid.pid () != inferior_ptid.pid ())
 	continue;
 
       linux_corefile_thread (thr, &thread_args);
@@ -1971,13 +1970,13 @@ linux_make_corefile_notes (struct gdbarc
     return NULL;
 
   /* Auxillary vector.  */
-  auxv_len = target_read_alloc (&current_target, TARGET_OBJECT_AUXV,
-				NULL, &auxv);
-  if (auxv_len > 0)
+  gdb::optional<gdb::byte_vector> auxv =
+    target_read_alloc (current_top_target (), TARGET_OBJECT_AUXV, NULL);
+  if (auxv && !auxv->empty ())
     {
       note_data = elfcore_write_note (obfd, note_data, note_size,
-				      "CORE", NT_AUXV, auxv, auxv_len);
-      xfree (auxv);
+				      "CORE", NT_AUXV, auxv->data (),
+				      auxv->size ());
 
       if (!note_data)
 	return NULL;
@@ -2255,7 +2254,7 @@ linux_vsyscall_range_raw (struct gdbarch
   char filename[100];
   long pid;
 
-  if (target_auxv_search (&current_target, AT_SYSINFO_EHDR, &range->start) <= 0)
+  if (target_auxv_search (current_top_target (), AT_SYSINFO_EHDR, &range->start) <= 0)
     return 0;
 
   /* It doesn't make sense to access the host's /proc when debugging a
@@ -2445,14 +2444,14 @@ linux_displaced_step_location (struct gd
      local-store address and is thus not usable as displaced stepping
      location.  The auxiliary vector gets us the PowerPC-side entry
      point address instead.  */
-  if (target_auxv_search (&current_target, AT_ENTRY, &addr) <= 0)
+  if (target_auxv_search (current_top_target (), AT_ENTRY, &addr) <= 0)
     throw_error (NOT_SUPPORTED_ERROR,
 		 _("Cannot find AT_ENTRY auxiliary vector entry."));
 
   /* Make certain that the address points at real code, and not a
      function descriptor.  */
   addr = gdbarch_convert_from_func_ptr_addr (gdbarch, addr,
-					     &current_target);
+					     current_top_target ());
 
   /* Inferior calls also use the entry point as a breakpoint location.
      We don't want displaced stepping to interfere with those
@@ -2519,8 +2518,8 @@ _initialize_linux_tdep (void)
   linux_inferior_data
     = register_inferior_data_with_cleanup (NULL, linux_inferior_data_cleanup);
   /* Observers used to invalidate the cache when needed.  */
-  observer_attach_inferior_exit (invalidate_linux_cache_inf);
-  observer_attach_inferior_appeared (invalidate_linux_cache_inf);
+  gdb::observers::inferior_exit.attach (invalidate_linux_cache_inf);
+  gdb::observers::inferior_appeared.attach (invalidate_linux_cache_inf);
 
   add_setshow_boolean_cmd ("use-coredump-filter", class_files,
 			   &use_coredump_filter, _("\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-thread-db.c ./gdb/linux-thread-db.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/linux-thread-db.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/linux-thread-db.c	2018-07-10 02:06:13.000000000 +0000
@@ -35,7 +35,7 @@
 #include "solib.h"
 #include "solib-svr4.h"
 #include "gdbcore.h"
-#include "observer.h"
+#include "observable.h"
 #include "linux-nat.h"
 #include "nat/linux-procfs.h"
 #include "nat/linux-ptrace.h"
@@ -47,6 +47,7 @@
 #include "nat/linux-namespaces.h"
 #include <algorithm>
 #include "common/pathstuff.h"
+#include "valprint.h"
 
 /* GNU/Linux libthread_db support.
 
@@ -75,12 +76,52 @@
    of the ptid_t prevents thread IDs changing when libpthread is
    loaded or unloaded.  */
 
+static const target_info thread_db_target_info = {
+  "multi-thread",
+  N_("multi-threaded child process."),
+  N_("Threads and pthreads support.")
+};
+
+class thread_db_target final : public target_ops
+{
+public:
+  thread_db_target ();
+
+  const target_info &info () const override
+  { return thread_db_target_info; }
+
+  void detach (inferior *, int) override;
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+  void resume (ptid_t, int, enum gdb_signal) override;
+  void mourn_inferior () override;
+  void update_thread_list () override;
+  const char *pid_to_str (ptid_t) override;
+  CORE_ADDR get_thread_local_address (ptid_t ptid,
+				      CORE_ADDR load_module_addr,
+				      CORE_ADDR offset) override;
+  const char *extra_thread_info (struct thread_info *) override;
+  ptid_t get_ada_task_ptid (long lwp, long thread) override;
+
+  thread_info *thread_handle_to_thread_info (const gdb_byte *thread_handle,
+					     int handle_len,
+					     inferior *inf) override;
+};
+
+thread_db_target::thread_db_target ()
+{
+  this->to_stratum = thread_stratum;
+}
+
 static char *libthread_db_search_path;
 
 /* Set to non-zero if thread_db auto-loading is enabled
    by the "set auto-load libthread-db" command.  */
 static int auto_load_thread_db = 1;
 
+/* Set to non-zero if load-time libthread_db tests have been enabled
+   by the "maintenence set check-libthread-db" command.  */
+static int check_thread_db_on_load = 0;
+
 /* "show" command for the auto_load_thread_db configuration variable.  */
 
 static void
@@ -118,7 +159,7 @@ show_libthread_db_debug (struct ui_file 
    threads.  */
 
 /* This module's target vector.  */
-static struct target_ops thread_db_ops;
+static thread_db_target the_thread_db_target;
 
 /* Non-zero if we have determined the signals used by the threads
    library.  */
@@ -169,8 +210,9 @@ struct thread_db_info
    bookkeeping.  */
 struct thread_db_info *thread_db_list;
 
-static void thread_db_find_new_threads_1 (ptid_t ptid);
-static void thread_db_find_new_threads_2 (ptid_t ptid, int until_no_new);
+static void thread_db_find_new_threads_1 (thread_info *stopped);
+static void thread_db_find_new_threads_2 (thread_info *stopped,
+					  bool until_no_new);
 
 static void check_thread_signals (void);
 
@@ -188,7 +230,7 @@ add_thread_db_info (void *handle)
 {
   struct thread_db_info *info = XCNEW (struct thread_db_info);
 
-  info->pid = ptid_get_pid (inferior_ptid);
+  info->pid = inferior_ptid.pid ();
   info->handle = handle;
 
   /* The workaround works by reading from /proc/pid/status, so it is
@@ -335,10 +377,11 @@ thread_db_err_str (td_err_e err)
     }
 }
 
-/* Fetch the user-level thread id of PTID.  */
+/* Fetch the user-level thread id of PTID.  STOPPED is a stopped
+   thread that we can use to access memory.  */
 
 static struct thread_info *
-thread_from_lwp (ptid_t ptid)
+thread_from_lwp (thread_info *stopped, ptid_t ptid)
 {
   td_thrhandle_t th;
   td_thrinfo_t ti;
@@ -351,17 +394,17 @@ thread_from_lwp (ptid_t ptid)
 
   /* This ptid comes from linux-nat.c, which should always fill in the
      LWP.  */
-  gdb_assert (ptid_get_lwp (ptid) != 0);
+  gdb_assert (ptid.lwp () != 0);
 
-  info = get_thread_db_info (ptid_get_pid (ptid));
+  info = get_thread_db_info (ptid.pid ());
 
   /* Access an lwp we know is stopped.  */
-  info->proc_handle.ptid = ptid;
-  err = info->td_ta_map_lwp2thr_p (info->thread_agent, ptid_get_lwp (ptid),
+  info->proc_handle.thread = stopped;
+  err = info->td_ta_map_lwp2thr_p (info->thread_agent, ptid.lwp (),
 				   &th);
   if (err != TD_OK)
     error (_("Cannot find user-level thread for LWP %ld: %s"),
-	   ptid_get_lwp (ptid), thread_db_err_str (err));
+	   ptid.lwp (), thread_db_err_str (err));
 
   err = info->td_thr_get_info_p (&th, &ti);
   if (err != TD_OK)
@@ -381,16 +424,18 @@ thread_db_notice_clone (ptid_t parent, p
 {
   struct thread_db_info *info;
 
-  info = get_thread_db_info (ptid_get_pid (child));
+  info = get_thread_db_info (child.pid ());
 
   if (info == NULL)
     return 0;
 
-  thread_from_lwp (child);
+  thread_info *stopped = find_thread_ptid (parent);
+
+  thread_from_lwp (stopped, child);
 
-  /* If we do not know about the main thread yet, this would be a good
-     time to find it.  */
-  thread_from_lwp (parent);
+  /* If we do not know about the main thread's pthread info yet, this
+     would be a good time to find it.  */
+  thread_from_lwp (stopped, parent);
   return 1;
 }
 
@@ -413,7 +458,7 @@ inferior_has_bug (const char *ver_symbol
 {
   struct bound_minimal_symbol version_msym;
   CORE_ADDR version_addr;
-  char *version;
+  gdb::unique_xmalloc_ptr<char> version;
   int err, got, retval = 0;
 
   version_msym = lookup_minimal_symbol (ver_symbol, NULL, NULL);
@@ -422,15 +467,14 @@ inferior_has_bug (const char *ver_symbol
 
   version_addr = BMSYMBOL_VALUE_ADDRESS (version_msym);
   got = target_read_string (version_addr, &version, 32, &err);
-  if (err == 0 && memchr (version, 0, got) == &version[got -1])
+  if (err == 0 && memchr (version.get (), 0, got) == version.get () + got - 1)
     {
       int major, minor;
 
-      retval = (sscanf (version, "%d.%d", &major, &minor) == 2
+      retval = (sscanf (version.get (), "%d.%d", &major, &minor) == 2
 		&& (major < ver_major_min
 		    || (major == ver_major_min && minor < ver_minor_min)));
     }
-  xfree (version);
 
   return retval;
 }
@@ -442,12 +486,12 @@ inferior_has_bug (const char *ver_symbol
    otherwise.  */
 
 static int
-thread_db_find_new_threads_silently (ptid_t ptid)
+thread_db_find_new_threads_silently (thread_info *stopped)
 {
 
   TRY
     {
-      thread_db_find_new_threads_2 (ptid, 1);
+      thread_db_find_new_threads_2 (stopped, true);
     }
 
   CATCH (except, RETURN_MASK_ERROR)
@@ -499,6 +543,250 @@ dladdr_to_soname (const void *addr)
   return NULL;
 }
 
+/* State for check_thread_db_callback.  */
+
+struct check_thread_db_info
+{
+  /* The libthread_db under test.  */
+  struct thread_db_info *info;
+
+  /* True if progress should be logged.  */
+  bool log_progress;
+
+  /* True if the callback was called.  */
+  bool threads_seen;
+
+  /* Name of last libthread_db function called.  */
+  const char *last_call;
+
+  /* Value returned by last libthread_db call.  */
+  td_err_e last_result;
+};
+
+static struct check_thread_db_info *tdb_testinfo;
+
+/* Callback for check_thread_db.  */
+
+static int
+check_thread_db_callback (const td_thrhandle_t *th, void *arg)
+{
+  gdb_assert (tdb_testinfo != NULL);
+  tdb_testinfo->threads_seen = true;
+
+#define LOG(fmt, args...)						\
+  do									\
+    {									\
+      if (tdb_testinfo->log_progress)					\
+	{								\
+	  debug_printf (fmt, ## args);					\
+	  gdb_flush (gdb_stdlog);					\
+	}								\
+    }									\
+  while (0)
+
+#define CHECK_1(expr, args...)						\
+  do									\
+    {									\
+      if (!(expr))							\
+	{								\
+	  LOG (" ... FAIL!\n");						\
+	  error (args);							\
+	}								\
+    }									\
+  while (0)
+
+#define CHECK(expr)							\
+  CHECK_1 (expr, "(%s) == false", #expr)
+
+#define CALL_UNCHECKED(func, args...)					\
+  do									\
+    {									\
+      tdb_testinfo->last_call = #func;					\
+      tdb_testinfo->last_result						\
+	= tdb_testinfo->info->func ## _p (args);			\
+    }									\
+  while (0)
+
+#define CHECK_CALL()							\
+  CHECK_1 (tdb_testinfo->last_result == TD_OK,				\
+	   _("%s failed: %s"),						\
+	   tdb_testinfo->last_call,					\
+	   thread_db_err_str (tdb_testinfo->last_result))		\
+
+#define CALL(func, args...)						\
+  do									\
+    {									\
+      CALL_UNCHECKED (func, args);					\
+      CHECK_CALL ();							\
+    }									\
+  while (0)
+
+  LOG ("  Got thread");
+
+  /* Check td_ta_thr_iter passed consistent arguments.  */
+  CHECK (th != NULL);
+  CHECK (arg == (void *) tdb_testinfo);
+  CHECK (th->th_ta_p == tdb_testinfo->info->thread_agent);
+
+  LOG (" %s", core_addr_to_string_nz ((CORE_ADDR) th->th_unique));
+
+  /* Check td_thr_get_info.  */
+  td_thrinfo_t ti;
+  CALL (td_thr_get_info, th, &ti);
+
+  LOG (" => %d", ti.ti_lid);
+
+  CHECK (ti.ti_ta_p == th->th_ta_p);
+  CHECK (ti.ti_tid == (thread_t) th->th_unique);
+
+  /* Check td_ta_map_lwp2thr.  */
+  td_thrhandle_t th2;
+  memset (&th2, 23, sizeof (td_thrhandle_t));
+  CALL_UNCHECKED (td_ta_map_lwp2thr, th->th_ta_p, ti.ti_lid, &th2);
+
+  if (tdb_testinfo->last_result == TD_ERR && !target_has_execution)
+    {
+      /* Some platforms require execution for td_ta_map_lwp2thr.  */
+      LOG (_("; can't map_lwp2thr"));
+    }
+  else
+    {
+      CHECK_CALL ();
+
+      LOG (" => %s", core_addr_to_string_nz ((CORE_ADDR) th2.th_unique));
+
+      CHECK (memcmp (th, &th2, sizeof (td_thrhandle_t)) == 0);
+    }
+
+  /* Attempt TLS access.  Assuming errno is TLS, this calls
+     thread_db_get_thread_local_address, which in turn calls
+     td_thr_tls_get_addr for live inferiors or td_thr_tlsbase
+     for core files.  This test is skipped if the thread has
+     not been recorded; proceeding in that case would result
+     in the test having the side-effect of noticing threads
+     which seems wrong.
+
+     Note that in glibc's libthread_db td_thr_tls_get_addr is
+     a thin wrapper around td_thr_tlsbase; this check always
+     hits the bulk of the code.
+
+     Note also that we don't actually check any libthread_db
+     calls are made, we just assume they were; future changes
+     to how GDB accesses TLS could result in this passing
+     without exercising the calls it's supposed to.  */
+  ptid_t ptid = ptid_t (tdb_testinfo->info->pid, ti.ti_lid, 0);
+  struct thread_info *thread_info = find_thread_ptid (ptid);
+  if (thread_info != NULL && thread_info->priv != NULL)
+    {
+      LOG ("; errno");
+
+      scoped_restore_current_thread restore_current_thread;
+      switch_to_thread (ptid);
+
+      expression_up expr = parse_expression ("(int) errno");
+      struct value *val = evaluate_expression (expr.get ());
+
+      if (tdb_testinfo->log_progress)
+	{
+	  struct value_print_options opts;
+
+	  get_user_print_options (&opts);
+	  LOG (" = ");
+	  value_print (val, gdb_stdlog, &opts);
+	}
+    }
+
+  LOG (" ... OK\n");
+
+#undef LOG
+#undef CHECK_1
+#undef CHECK
+#undef CALL_UNCHECKED
+#undef CHECK_CALL
+#undef CALL
+
+  return 0;
+}
+
+/* Run integrity checks on the dlopen()ed libthread_db described by
+   INFO.  Returns true on success, displays a warning and returns
+   false on failure.  Logs progress messages to gdb_stdlog during
+   the test if LOG_PROGRESS is true.  */
+
+static bool
+check_thread_db (struct thread_db_info *info, bool log_progress)
+{
+  bool test_passed = true;
+
+  if (log_progress)
+    debug_printf (_("Running libthread_db integrity checks:\n"));
+
+  /* GDB avoids using td_ta_thr_iter wherever possible (see comment
+     in try_thread_db_load_1 below) so in order to test it we may
+     have to locate it ourselves.  */
+  td_ta_thr_iter_ftype *td_ta_thr_iter_p = info->td_ta_thr_iter_p;
+  if (td_ta_thr_iter_p == NULL)
+    {
+      void *thr_iter = verbose_dlsym (info->handle, "td_ta_thr_iter");
+      if (thr_iter == NULL)
+	return 0;
+
+      td_ta_thr_iter_p = (td_ta_thr_iter_ftype *) thr_iter;
+    }
+
+  /* Set up the test state we share with the callback.  */
+  gdb_assert (tdb_testinfo == NULL);
+  struct check_thread_db_info tdb_testinfo_buf;
+  tdb_testinfo = &tdb_testinfo_buf;
+
+  memset (tdb_testinfo, 0, sizeof (struct check_thread_db_info));
+  tdb_testinfo->info = info;
+  tdb_testinfo->log_progress = log_progress;
+
+  /* td_ta_thr_iter shouldn't be used on running processes.  Note that
+     it's possible the inferior will stop midway through modifying one
+     of its thread lists, in which case the check will spuriously
+     fail.  */
+  linux_stop_and_wait_all_lwps ();
+
+  TRY
+    {
+      td_err_e err = td_ta_thr_iter_p (info->thread_agent,
+				       check_thread_db_callback,
+				       tdb_testinfo,
+				       TD_THR_ANY_STATE,
+				       TD_THR_LOWEST_PRIORITY,
+				       TD_SIGNO_MASK,
+				       TD_THR_ANY_USER_FLAGS);
+
+      if (err != TD_OK)
+	error (_("td_ta_thr_iter failed: %s"), thread_db_err_str (err));
+
+      if (!tdb_testinfo->threads_seen)
+	error (_("no threads seen"));
+    }
+  CATCH (except, RETURN_MASK_ERROR)
+    {
+      if (warning_pre_print)
+	fputs_unfiltered (warning_pre_print, gdb_stderr);
+
+      exception_fprintf (gdb_stderr, except,
+			 _("libthread_db integrity checks failed: "));
+
+      test_passed = false;
+    }
+  END_CATCH
+
+  if (test_passed && log_progress)
+    debug_printf (_("libthread_db integrity checks passed.\n"));
+
+  tdb_testinfo = NULL;
+
+  linux_unstop_all_lwps ();
+
+  return test_passed;
+}
+
 /* Attempt to initialize dlopen()ed libthread_db, described by INFO.
    Return 1 on success.
    Failure could happen if libthread_db does not have symbols we expect,
@@ -539,7 +827,7 @@ try_thread_db_load_1 (struct thread_db_i
   CHK (TDB_VERBOSE_DLSYM (info, td_ta_new));
 
   /* Initialize the structure that identifies the child process.  */
-  info->proc_handle.ptid = inferior_ptid;
+  info->proc_handle.thread = inferior_thread ();
 
   /* Now attempt to open a connection to the thread library.  */
   err = info->td_ta_new_p (&info->proc_handle, &info->thread_agent);
@@ -583,7 +871,7 @@ try_thread_db_load_1 (struct thread_db_i
      td_ta_map_lwp2thr uses ps_get_thread_area, but we can't use that
      currently on core targets, as it uses ptrace directly.  */
   if (target_has_execution
-      && linux_proc_task_list_dir_exists (ptid_get_pid (inferior_ptid)))
+      && linux_proc_task_list_dir_exists (inferior_ptid.pid ()))
     info->td_ta_thr_iter_p = NULL;
   else
     CHK (TDB_VERBOSE_DLSYM (info, td_ta_thr_iter));
@@ -592,20 +880,28 @@ try_thread_db_load_1 (struct thread_db_i
 #undef TDB_DLSYM
 #undef CHK
 
+  /* Run integrity checks if requested.  */
+  if (check_thread_db_on_load)
+    {
+      if (!check_thread_db (info, libthread_db_debug))
+	return 0;
+    }
+
   if (info->td_ta_thr_iter_p == NULL)
     {
       struct lwp_info *lp;
-      int pid = ptid_get_pid (inferior_ptid);
+      int pid = inferior_ptid.pid ();
+      thread_info *curr_thread = inferior_thread ();
 
       linux_stop_and_wait_all_lwps ();
 
       ALL_LWPS (lp)
-	if (ptid_get_pid (lp->ptid) == pid)
-	  thread_from_lwp (lp->ptid);
+	if (lp->ptid.pid () == pid)
+	  thread_from_lwp (curr_thread, lp->ptid);
 
       linux_unstop_all_lwps ();
     }
-  else if (thread_db_find_new_threads_silently (inferior_ptid) != 0)
+  else if (thread_db_find_new_threads_silently (inferior_thread ()) != 0)
     {
       /* Even if libthread_db initializes, if the thread list is
          corrupted, we'd not manage to list any threads.  Better reject this
@@ -636,7 +932,7 @@ try_thread_db_load_1 (struct thread_db_i
   /* The thread library was detected.  Activate the thread_db target
      if this is the first process using it.  */
   if (thread_db_list->next == NULL)
-    push_target (&thread_db_ops);
+    push_target (&the_thread_db_target);
 
   return 1;
 }
@@ -707,7 +1003,7 @@ try_thread_db_load (const char *library,
     return 1;
 
   /* This library "refused" to work on current inferior.  */
-  delete_thread_db_info (ptid_get_pid (inferior_ptid));
+  delete_thread_db_info (inferior_ptid.pid ());
   return 0;
 }
 
@@ -719,11 +1015,7 @@ try_thread_db_load (const char *library,
 static int
 try_thread_db_load_from_pdir_1 (struct objfile *obj, const char *subdir)
 {
-  struct cleanup *cleanup;
-  char *path, *cp;
-  int result;
   const char *obj_name = objfile_name (obj);
-  int alloc_len;
 
   if (obj_name[0] != '/')
     {
@@ -732,28 +1024,16 @@ try_thread_db_load_from_pdir_1 (struct o
       return 0;
     }
 
-  alloc_len = (strlen (obj_name)
-	       + (subdir ? strlen (subdir) + 1 : 0)
-	       + 1 + strlen (LIBTHREAD_DB_SO) + 1);
-  path = (char *) xmalloc (alloc_len);
-  cleanup = make_cleanup (xfree, path);
-
-  strcpy (path, obj_name);
-  cp = strrchr (path, '/');
+  std::string path = obj_name;
+  size_t cp = path.rfind ('/');
   /* This should at minimum hit the first character.  */
-  gdb_assert (cp != NULL);
-  cp[1] = '\0';
+  gdb_assert (cp != std::string::npos);
+  path.resize (cp + 1);
   if (subdir != NULL)
-    {
-      strcat (cp, subdir);
-      strcat (cp, "/");
-    }
-  strcat (cp, LIBTHREAD_DB_SO);
-
-  result = try_thread_db_load (path, 1);
+    path = path + subdir + "/";
+  path += LIBTHREAD_DB_SO;
 
-  do_cleanups (cleanup);
-  return result;
+  return try_thread_db_load (path.c_str (), 1);
 }
 
 /* Handle $pdir in libthread-db-search-path.
@@ -805,24 +1085,12 @@ try_thread_db_load_from_sdir (void)
 static int
 try_thread_db_load_from_dir (const char *dir, size_t dir_len)
 {
-  struct cleanup *cleanup;
-  char *path;
-  int result;
-
   if (!auto_load_thread_db)
     return 0;
 
-  path = (char *) xmalloc (dir_len + 1 + strlen (LIBTHREAD_DB_SO) + 1);
-  cleanup = make_cleanup (xfree, path);
-
-  memcpy (path, dir, dir_len);
-  path[dir_len] = '/';
-  strcpy (path + dir_len + 1, LIBTHREAD_DB_SO);
+  std::string path = std::string (dir, dir_len) + "/" + LIBTHREAD_DB_SO;
 
-  result = try_thread_db_load (path, 1);
-
-  do_cleanups (cleanup);
-  return result;
+  return try_thread_db_load (path.c_str (), 1);
 }
 
 /* Search libthread_db_search_path for libthread_db which "agrees"
@@ -832,16 +1100,14 @@ try_thread_db_load_from_dir (const char 
 static int
 thread_db_load_search (void)
 {
-  VEC (char_ptr) *dir_vec;
-  struct cleanup *cleanups;
-  char *this_dir;
-  int i, rc = 0;
+  int rc = 0;
 
-  dir_vec = dirnames_to_char_ptr_vec (libthread_db_search_path);
-  cleanups = make_cleanup_free_char_ptr_vec (dir_vec);
+  std::vector<gdb::unique_xmalloc_ptr<char>> dir_vec
+    = dirnames_to_char_ptr_vec (libthread_db_search_path);
 
-  for (i = 0; VEC_iterate (char_ptr, dir_vec, i, this_dir); ++i)
+  for (const gdb::unique_xmalloc_ptr<char> &this_dir_up : dir_vec)
     {
+      const char *this_dir = this_dir_up.get ();
       const int pdir_len = sizeof ("$pdir") - 1;
       size_t this_dir_len;
 
@@ -851,18 +1117,15 @@ thread_db_load_search (void)
 	  && (this_dir[pdir_len] == '\0'
 	      || this_dir[pdir_len] == '/'))
 	{
-	  char *subdir = NULL;
-	  struct cleanup *free_subdir_cleanup
-	    = make_cleanup (null_cleanup, NULL);
+	  const char *subdir = NULL;
 
+	  std::string subdir_holder;
 	  if (this_dir[pdir_len] == '/')
 	    {
-	      subdir = (char *) xmalloc (strlen (this_dir));
-	      make_cleanup (xfree, subdir);
-	      strcpy (subdir, this_dir + pdir_len + 1);
+	      subdir_holder = std::string (this_dir + pdir_len + 1);
+	      subdir = subdir_holder.c_str ();
 	    }
 	  rc = try_thread_db_load_from_pdir (subdir);
-	  do_cleanups (free_subdir_cleanup);
 	  if (rc)
 	    break;
 	}
@@ -884,7 +1147,6 @@ thread_db_load_search (void)
 	}
     }
 
-  do_cleanups (cleanups);
   if (libthread_db_debug)
     fprintf_unfiltered (gdb_stdlog,
 			_("thread_db_load_search returning %d\n"), rc);
@@ -913,7 +1175,7 @@ thread_db_load (void)
 {
   struct thread_db_info *info;
 
-  info = get_thread_db_info (ptid_get_pid (inferior_ptid));
+  info = get_thread_db_info (inferior_ptid.pid ());
 
   if (info != NULL)
     return 1;
@@ -924,7 +1186,7 @@ thread_db_load (void)
     return 0;
 
   /* Don't attempt to use thread_db for remote targets.  */
-  if (!(target_can_run (&current_target) || core_bfd))
+  if (!(target_can_run () || core_bfd))
     return 0;
 
   if (thread_db_load_search ())
@@ -994,7 +1256,7 @@ thread_db_new_objfile (struct objfile *o
   if (objfile != NULL
       /* libpthread with separate debug info has its debug info file already
 	 loaded (and notified without successful thread_db initialization)
-	 the time observer_notify_new_objfile is called for the library itself.
+	 the time gdb::observers::new_objfile.notify is called for the library itself.
 	 Static executables have their separate debug info loaded already
 	 before the inferior has started.  */
       && objfile->separate_debug_objfile_backlink == NULL
@@ -1015,14 +1277,14 @@ static void
 check_pid_namespace_match (void)
 {
   /* Check is only relevant for local targets targets.  */
-  if (target_can_run (&current_target))
+  if (target_can_run ())
     {
       /* If the child is in a different PID namespace, its idea of its
 	 PID will differ from our idea of its PID.  When we scan the
 	 child's thread list, we'll mistakenly think it has no threads
 	 since the thread PID fields won't match the PID we give to
 	 libthread_db.  */
-      if (!linux_ns_same (ptid_get_pid (inferior_ptid), LINUX_NS_PID))
+      if (!linux_ns_same (inferior_ptid.pid (), LINUX_NS_PID))
 	{
 	  warning (_ ("Target and debugger are in different PID "
 		      "namespaces; thread lists and other data are "
@@ -1090,32 +1352,28 @@ record_thread (struct thread_db_info *in
   return tp;
 }
 
-static void
-thread_db_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+thread_db_target::detach (inferior *inf, int from_tty)
 {
-  struct target_ops *target_beneath = find_target_beneath (ops);
+  delete_thread_db_info (inf->pid);
 
-  delete_thread_db_info (ptid_get_pid (inferior_ptid));
-
-  target_beneath->to_detach (target_beneath, args, from_tty);
+  beneath ()->detach (inf, from_tty);
 
   /* NOTE: From this point on, inferior_ptid is null_ptid.  */
 
   /* If there are no more processes using libpthread, detach the
      thread_db target ops.  */
   if (!thread_db_list)
-    unpush_target (&thread_db_ops);
+    unpush_target (this);
 }
 
-static ptid_t
-thread_db_wait (struct target_ops *ops,
-		ptid_t ptid, struct target_waitstatus *ourstatus,
-		int options)
+ptid_t
+thread_db_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
+			int options)
 {
   struct thread_db_info *info;
-  struct target_ops *beneath = find_target_beneath (ops);
 
-  ptid = beneath->to_wait (beneath, ptid, ourstatus, options);
+  ptid = beneath ()->wait (ptid, ourstatus, options);
 
   switch (ourstatus->kind)
     {
@@ -1126,7 +1384,7 @@ thread_db_wait (struct target_ops *ops,
       return ptid;
     }
 
-  info = get_thread_db_info (ptid_get_pid (ptid));
+  info = get_thread_db_info (ptid.pid ());
 
   /* If this process isn't using thread_db, we're done.  */
   if (info == NULL)
@@ -1136,31 +1394,29 @@ thread_db_wait (struct target_ops *ops,
     {
       /* New image, it may or may not end up using thread_db.  Assume
 	 not unless we find otherwise.  */
-      delete_thread_db_info (ptid_get_pid (ptid));
+      delete_thread_db_info (ptid.pid ());
       if (!thread_db_list)
- 	unpush_target (&thread_db_ops);
+	unpush_target (&the_thread_db_target);
 
       return ptid;
     }
 
   /* Fill in the thread's user-level thread id and status.  */
-  thread_from_lwp (ptid);
+  thread_from_lwp (find_thread_ptid (ptid), ptid);
 
   return ptid;
 }
 
-static void
-thread_db_mourn_inferior (struct target_ops *ops)
+void
+thread_db_target::mourn_inferior ()
 {
-  struct target_ops *target_beneath = find_target_beneath (ops);
-
-  delete_thread_db_info (ptid_get_pid (inferior_ptid));
+  delete_thread_db_info (inferior_ptid.pid ());
 
-  target_beneath->to_mourn_inferior (target_beneath);
+  beneath ()->mourn_inferior ();
 
   /* Detach thread_db target ops.  */
   if (!thread_db_list)
-    unpush_target (ops);
+    unpush_target (&the_thread_db_target);
 }
 
 struct callback_data
@@ -1174,7 +1430,6 @@ find_new_threads_callback (const td_thrh
 {
   td_thrinfo_t ti;
   td_err_e err;
-  ptid_t ptid;
   struct thread_info *tp;
   struct callback_data *cb_data = (struct callback_data *) data;
   struct thread_db_info *info = cb_data->info;
@@ -1225,7 +1480,7 @@ find_new_threads_callback (const td_thrh
 	return 0;
     }
 
-  ptid = ptid_build (info->pid, ti.ti_lid, 0);
+  ptid_t ptid (info->pid, ti.ti_lid);
   tp = find_thread_ptid (ptid);
   if (tp == NULL || tp->priv == NULL)
     record_thread (info, tp, ptid, th_p, &ti);
@@ -1288,16 +1543,16 @@ find_new_threads_once (struct thread_db_
    searches in a row do not discover any new threads.  */
 
 static void
-thread_db_find_new_threads_2 (ptid_t ptid, int until_no_new)
+thread_db_find_new_threads_2 (thread_info *stopped, bool until_no_new)
 {
   td_err_e err = TD_OK;
   struct thread_db_info *info;
   int i, loop;
 
-  info = get_thread_db_info (ptid_get_pid (ptid));
+  info = get_thread_db_info (stopped->ptid.pid ());
 
   /* Access an lwp we know is stopped.  */
-  info->proc_handle.ptid = ptid;
+  info->proc_handle.thread = stopped;
 
   if (until_no_new)
     {
@@ -1320,16 +1575,16 @@ thread_db_find_new_threads_2 (ptid_t pti
 }
 
 static void
-thread_db_find_new_threads_1 (ptid_t ptid)
+thread_db_find_new_threads_1 (thread_info *stopped)
 {
-  thread_db_find_new_threads_2 (ptid, 0);
+  thread_db_find_new_threads_2 (stopped, 0);
 }
 
 /* Implement the to_update_thread_list target method for this
    target.  */
 
-static void
-thread_db_update_thread_list (struct target_ops *ops)
+void
+thread_db_target::update_thread_list ()
 {
   struct thread_db_info *info;
   struct inferior *inf;
@@ -1347,7 +1602,7 @@ thread_db_update_thread_list (struct tar
       if (info == NULL)
 	continue;
 
-      thread = any_live_thread_of_process (inf->pid);
+      thread = any_live_thread_of_inferior (inf);
       if (thread == NULL || thread->executing)
 	continue;
 
@@ -1365,18 +1620,17 @@ thread_db_update_thread_list (struct tar
       if (target_has_execution_1 (thread->ptid))
 	continue;
 
-      thread_db_find_new_threads_1 (thread->ptid);
+      thread_db_find_new_threads_1 (thread);
     }
 
   /* Give the beneath target a chance to do extra processing.  */
-  ops->beneath->to_update_thread_list (ops->beneath);
+  this->beneath ()->update_thread_list ();
 }
 
-static const char *
-thread_db_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+thread_db_target::pid_to_str (ptid_t ptid)
 {
   struct thread_info *thread_info = find_thread_ptid (ptid);
-  struct target_ops *beneath;
 
   if (thread_info != NULL && thread_info->priv != NULL)
     {
@@ -1384,21 +1638,19 @@ thread_db_pid_to_str (struct target_ops 
       thread_db_thread_info *priv = get_thread_db_thread_info (thread_info);
 
       snprintf (buf, sizeof (buf), "Thread 0x%lx (LWP %ld)",
-		(unsigned long) priv->tid, ptid_get_lwp (ptid));
+		(unsigned long) priv->tid, ptid.lwp ());
 
       return buf;
     }
 
-  beneath = find_target_beneath (ops);
-  return beneath->to_pid_to_str (beneath, ptid);
+  return beneath ()->pid_to_str (ptid);
 }
 
 /* Return a string describing the state of the thread specified by
    INFO.  */
 
-static const char *
-thread_db_extra_thread_info (struct target_ops *self,
-			     struct thread_info *info)
+const char *
+thread_db_target::extra_thread_info (thread_info *info)
 {
   if (info->priv == NULL)
     return NULL;
@@ -1414,11 +1666,10 @@ thread_db_extra_thread_info (struct targ
 /* Return pointer to the thread_info struct which corresponds to
    THREAD_HANDLE (having length HANDLE_LEN).  */
 
-static struct thread_info *
-thread_db_thread_handle_to_thread_info (struct target_ops *ops,
-					const gdb_byte *thread_handle,
-					int handle_len,
-					struct inferior *inf)
+thread_info *
+thread_db_target::thread_handle_to_thread_info (const gdb_byte *thread_handle,
+						int handle_len,
+						inferior *inf)
 {
   struct thread_info *tp;
   thread_t handle_tid;
@@ -1447,27 +1698,25 @@ thread_db_thread_handle_to_thread_info (
 /* Get the address of the thread local variable in load module LM which
    is stored at OFFSET within the thread local storage for thread PTID.  */
 
-static CORE_ADDR
-thread_db_get_thread_local_address (struct target_ops *ops,
-				    ptid_t ptid,
-				    CORE_ADDR lm,
-				    CORE_ADDR offset)
+CORE_ADDR
+thread_db_target::get_thread_local_address (ptid_t ptid,
+					    CORE_ADDR lm,
+					    CORE_ADDR offset)
 {
   struct thread_info *thread_info;
-  struct target_ops *beneath;
 
   /* Find the matching thread.  */
   thread_info = find_thread_ptid (ptid);
 
   /* We may not have discovered the thread yet.  */
   if (thread_info != NULL && thread_info->priv == NULL)
-    thread_info = thread_from_lwp (ptid);
+    thread_info = thread_from_lwp (thread_info, ptid);
 
   if (thread_info != NULL && thread_info->priv != NULL)
     {
       td_err_e err;
       psaddr_t address;
-      thread_db_info *info = get_thread_db_info (ptid_get_pid (ptid));
+      thread_db_info *info = get_thread_db_info (ptid.pid ());
       thread_db_thread_info *priv = get_thread_db_thread_info (thread_info);
 
       /* Finally, get the address of the variable.  */
@@ -1526,30 +1775,27 @@ thread_db_get_thread_local_address (stru
 	      : (CORE_ADDR) (uintptr_t) address);
     }
 
-  beneath = find_target_beneath (ops);
-  return beneath->to_get_thread_local_address (beneath, ptid, lm, offset);
+  return beneath ()->get_thread_local_address (ptid, lm, offset);
 }
 
 /* Implement the to_get_ada_task_ptid target method for this target.  */
 
-static ptid_t
-thread_db_get_ada_task_ptid (struct target_ops *self, long lwp, long thread)
+ptid_t
+thread_db_target::get_ada_task_ptid (long lwp, long thread)
 {
   /* NPTL uses a 1:1 model, so the LWP id suffices.  */
-  return ptid_build (ptid_get_pid (inferior_ptid), lwp, 0);
+  return ptid_t (inferior_ptid.pid (), lwp, 0);
 }
 
-static void
-thread_db_resume (struct target_ops *ops,
-		  ptid_t ptid, int step, enum gdb_signal signo)
+void
+thread_db_target::resume (ptid_t ptid, int step, enum gdb_signal signo)
 {
-  struct target_ops *beneath = find_target_beneath (ops);
   struct thread_db_info *info;
 
-  if (ptid_equal (ptid, minus_one_ptid))
-    info = get_thread_db_info (ptid_get_pid (inferior_ptid));
+  if (ptid == minus_one_ptid)
+    info = get_thread_db_info (inferior_ptid.pid ());
   else
-    info = get_thread_db_info (ptid_get_pid (ptid));
+    info = get_thread_db_info (ptid.pid ());
 
   /* This workaround is only needed for child fork lwps stopped in a
      PTRACE_O_TRACEFORK event.  When the inferior is resumed, the
@@ -1557,25 +1803,24 @@ thread_db_resume (struct target_ops *ops
   if (info)
     info->need_stale_parent_threads_check = 0;
 
-  beneath->to_resume (beneath, ptid, step, signo);
+  beneath ()->resume (ptid, step, signo);
 }
 
-/* qsort helper function for info_auto_load_libthread_db, sort the
+/* std::sort helper function for info_auto_load_libthread_db, sort the
    thread_db_info pointers primarily by their FILENAME and secondarily by their
    PID, both in ascending order.  */
 
-static int
-info_auto_load_libthread_db_compare (const void *ap, const void *bp)
+static bool
+info_auto_load_libthread_db_compare (const struct thread_db_info *a,
+				     const struct thread_db_info *b)
 {
-  struct thread_db_info *a = *(struct thread_db_info **) ap;
-  struct thread_db_info *b = *(struct thread_db_info **) bp;
   int retval;
 
   retval = strcmp (a->filename, b->filename);
   if (retval)
-    return retval;
+    return retval < 0;
 
-  return (a->pid > b->pid) - (a->pid - b->pid);
+  return a->pid < b->pid;
 }
 
 /* Implement 'info auto-load libthread-db'.  */
@@ -1585,43 +1830,31 @@ info_auto_load_libthread_db (const char 
 {
   struct ui_out *uiout = current_uiout;
   const char *cs = args ? args : "";
-  struct thread_db_info *info, **array;
-  unsigned info_count, unique_filenames;
-  size_t max_filename_len, max_pids_len, pids_len;
-  struct cleanup *back_to;
-  char *pids;
+  struct thread_db_info *info;
+  unsigned unique_filenames;
+  size_t max_filename_len, pids_len;
   int i;
 
   cs = skip_spaces (cs);
   if (*cs)
     error (_("'info auto-load libthread-db' does not accept any parameters"));
 
-  info_count = 0;
+  std::vector<struct thread_db_info *> array;
   for (info = thread_db_list; info; info = info->next)
     if (info->filename != NULL)
-      info_count++;
-
-  array = XNEWVEC (struct thread_db_info *, info_count);
-  back_to = make_cleanup (xfree, array);
-
-  info_count = 0;
-  for (info = thread_db_list; info; info = info->next)
-    if (info->filename != NULL)
-      array[info_count++] = info;
+      array.push_back (info);
 
   /* Sort ARRAY by filenames and PIDs.  */
-
-  qsort (array, info_count, sizeof (*array),
-	 info_auto_load_libthread_db_compare);
+  std::sort (array.begin (), array.end (),
+	     info_auto_load_libthread_db_compare);
 
   /* Calculate the number of unique filenames (rows) and the maximum string
      length of PIDs list for the unique filenames (columns).  */
 
   unique_filenames = 0;
   max_filename_len = 0;
-  max_pids_len = 0;
   pids_len = 0;
-  for (i = 0; i < info_count; i++)
+  for (i = 0; i < array.size (); i++)
     {
       int pid = array[i]->pid;
       size_t this_pid_len;
@@ -1636,23 +1869,17 @@ info_auto_load_libthread_db (const char 
 				       strlen (array[i]->filename));
 
 	  if (i > 0)
-	    {
-	      pids_len -= strlen (", ");
-	      max_pids_len = std::max (max_pids_len, pids_len);
-	    }
+	    pids_len -= strlen (", ");
 	  pids_len = 0;
 	}
       pids_len += this_pid_len + strlen (", ");
     }
   if (i)
-    {
-      pids_len -= strlen (", ");
-      max_pids_len = std::max (max_pids_len, pids_len);
-    }
+    pids_len -= strlen (", ");
 
   /* Table header shifted right by preceding "libthread-db:  " would not match
      its columns.  */
-  if (info_count > 0 && args == auto_load_info_scripts_pattern_nl)
+  if (array.size () > 0 && args == auto_load_info_scripts_pattern_nl)
     uiout->text ("\n");
 
   {
@@ -1663,77 +1890,55 @@ info_auto_load_libthread_db (const char 
     uiout->table_header (pids_len, ui_left, "PIDs", "Pids");
     uiout->table_body ();
 
-    pids = (char *) xmalloc (max_pids_len + 1);
-    make_cleanup (xfree, pids);
-
     /* Note I is incremented inside the cycle, not at its end.  */
-    for (i = 0; i < info_count;)
+    for (i = 0; i < array.size ();)
       {
 	ui_out_emit_tuple tuple_emitter (uiout, NULL);
-	char *pids_end;
 
 	info = array[i];
 	uiout->field_string ("filename", info->filename);
-	pids_end = pids;
 
-	while (i < info_count && strcmp (info->filename,
-					 array[i]->filename) == 0)
+	std::string pids;
+	while (i < array.size () && strcmp (info->filename,
+					    array[i]->filename) == 0)
 	  {
-	    if (pids_end != pids)
-	      {
-		*pids_end++ = ',';
-		*pids_end++ = ' ';
-	      }
-	    pids_end += xsnprintf (pids_end,
-				   &pids[max_pids_len + 1] - pids_end,
-				   "%u", array[i]->pid);
-	    gdb_assert (pids_end < &pids[max_pids_len + 1]);
-
+	    if (!pids.empty ())
+	      pids += ", ";
+	    string_appendf (pids, "%u", array[i]->pid);
 	    i++;
 	  }
-	*pids_end = '\0';
 
-	uiout->field_string ("pids", pids);
+	uiout->field_string ("pids", pids.c_str ());
 
 	uiout->text ("\n");
       }
   }
 
-  do_cleanups (back_to);
-
-  if (info_count == 0)
+  if (array.empty ())
     uiout->message (_("No auto-loaded libthread-db.\n"));
 }
 
+/* Implement 'maintenance check libthread-db'.  */
+
 static void
-init_thread_db_ops (void)
+maintenance_check_libthread_db (const char *args, int from_tty)
 {
-  thread_db_ops.to_shortname = "multi-thread";
-  thread_db_ops.to_longname = "multi-threaded child process.";
-  thread_db_ops.to_doc = "Threads and pthreads support.";
-  thread_db_ops.to_detach = thread_db_detach;
-  thread_db_ops.to_wait = thread_db_wait;
-  thread_db_ops.to_resume = thread_db_resume;
-  thread_db_ops.to_mourn_inferior = thread_db_mourn_inferior;
-  thread_db_ops.to_update_thread_list = thread_db_update_thread_list;
-  thread_db_ops.to_pid_to_str = thread_db_pid_to_str;
-  thread_db_ops.to_stratum = thread_stratum;
-  thread_db_ops.to_has_thread_control = tc_schedlock;
-  thread_db_ops.to_get_thread_local_address
-    = thread_db_get_thread_local_address;
-  thread_db_ops.to_extra_thread_info = thread_db_extra_thread_info;
-  thread_db_ops.to_get_ada_task_ptid = thread_db_get_ada_task_ptid;
-  thread_db_ops.to_thread_handle_to_thread_info = thread_db_thread_handle_to_thread_info;
-  thread_db_ops.to_magic = OPS_MAGIC;
+  int inferior_pid = inferior_ptid.pid ();
+  struct thread_db_info *info;
+
+  if (inferior_pid == 0)
+    error (_("No inferior running"));
 
-  complete_target_initialization (&thread_db_ops);
+  info = get_thread_db_info (inferior_pid);
+  if (info == NULL)
+    error (_("No libthread_db loaded"));
+
+  check_thread_db (info, true);
 }
 
 void
 _initialize_thread_db (void)
 {
-  init_thread_db_ops ();
-
   /* Defer loading of libthread_db.so until inferior is running.
      This allows gdb to load correct libthread_db for a given
      executable -- there could be multiple versions of glibc,
@@ -1781,11 +1986,28 @@ This options has security implications f
 Usage: info auto-load libthread-db"),
 	   auto_load_info_cmdlist_get ());
 
+  add_cmd ("libthread-db", class_maintenance,
+	   maintenance_check_libthread_db, _("\
+Run integrity checks on the current inferior's libthread_db."),
+	   &maintenancechecklist);
+
+  add_setshow_boolean_cmd ("check-libthread-db",
+			   class_maintenance,
+			   &check_thread_db_on_load, _("\
+Set whether to check libthread_db at load time."), _("\
+Show whether to check libthread_db at load time."), _("\
+If enabled GDB will run integrity checks on inferior specific libthread_db\n\
+as they are loaded."),
+			   NULL,
+			   NULL,
+			   &maintenance_set_cmdlist,
+			   &maintenance_show_cmdlist);
+
   /* Add ourselves to objfile event chain.  */
-  observer_attach_new_objfile (thread_db_new_objfile);
+  gdb::observers::new_objfile.attach (thread_db_new_objfile);
 
   /* Add ourselves to inferior_created event chain.
      This is needed to handle debugging statically linked programs where
      the new_objfile observer won't get called for libpthread.  */
-  observer_attach_inferior_created (thread_db_inferior_created);
+  gdb::observers::inferior_created.attach (thread_db_inferior_created);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m2-exp.c ./gdb/m2-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m2-exp.c	2018-07-03 02:10:18.000000000 +0000
+++ ./gdb/m2-exp.c	2018-07-10 02:10:06.000000000 +0000
@@ -99,7 +99,7 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static int parse_number (int);
 
@@ -109,7 +109,7 @@ static int number_sign = 1;
 
 
 /* Line 189 of yacc.c  */
-#line 113 "m2-exp.c"
+#line 113 "m2-exp.c.tmp"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -261,7 +261,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 265 "m2-exp.c"
+#line 265 "m2-exp.c.tmp"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -273,7 +273,7 @@ typedef union YYSTYPE
 
 
 /* Line 264 of yacc.c  */
-#line 277 "m2-exp.c"
+#line 277 "m2-exp.c.tmp"
 
 #ifdef short
 # undef short
@@ -604,7 +604,7 @@ static const yytype_uint16 yyrline[] =
      370,   374,   378,   382,   386,   390,   394,   398,   400,   404,
      408,   412,   416,   420,   424,   428,   435,   441,   447,   455,
      466,   476,   485,   488,   497,   504,   508,   518,   530,   538,
-     542,   565,   608
+     542,   560,   598
 };
 #endif
 
@@ -2344,12 +2344,7 @@ yyreduce:
 			    error (_("No symbol \"%s\" in specified context."),
 				   copy_name ((yyvsp[(3) - (3)].sval)));
 			  if (symbol_read_needs_frame (sym.symbol))
-			    {
-			      if (innermost_block == 0
-				  || contained_in (sym.block,
-						   innermost_block))
-				innermost_block = sym.block;
-			    }
+			    innermost_block.update (sym);
 
 			  write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			  write_exp_elt_block (pstate, sym.block);
@@ -2360,7 +2355,7 @@ yyreduce:
   case 81:
 
 /* Line 1455 of yacc.c  */
-#line 566 "m2-exp.y"
+#line 561 "m2-exp.y"
     { struct block_symbol sym;
 			  struct field_of_this_result is_a_field_of_this;
 
@@ -2372,12 +2367,7 @@ yyreduce:
 			  if (sym.symbol)
 			    {
 			      if (symbol_read_needs_frame (sym.symbol))
-				{
-				  if (innermost_block == 0 ||
-				      contained_in (sym.block,
-						    innermost_block))
-				    innermost_block = sym.block;
-				}
+				innermost_block.update (sym);
 
 			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			      write_exp_elt_block (pstate, sym.block);
@@ -2405,7 +2395,7 @@ yyreduce:
   case 82:
 
 /* Line 1455 of yacc.c  */
-#line 609 "m2-exp.y"
+#line 599 "m2-exp.y"
     { (yyval.tval) = lookup_typename (parse_language (pstate),
 						parse_gdbarch (pstate),
 						copy_name ((yyvsp[(1) - (1)].sval)),
@@ -2415,7 +2405,7 @@ yyreduce:
 
 
 /* Line 1455 of yacc.c  */
-#line 2420 "m2-exp.c"
+#line 2410 "m2-exp.c.tmp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2627,7 +2617,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 616 "m2-exp.y"
+#line 606 "m2-exp.y"
 
 
 /* Take care of parsing a number (anything that starts with a digit).
@@ -3063,12 +3053,12 @@ m2_parse (struct parser_state *par_state
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m2-exp.y ./gdb/m2-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m2-exp.y	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m2-exp.y	2018-07-10 02:06:13.000000000 +0000
@@ -65,7 +65,7 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static int parse_number (int);
 
@@ -548,12 +548,7 @@ variable:	block COLONCOLON NAME
 			    error (_("No symbol \"%s\" in specified context."),
 				   copy_name ($3));
 			  if (symbol_read_needs_frame (sym.symbol))
-			    {
-			      if (innermost_block == 0
-				  || contained_in (sym.block,
-						   innermost_block))
-				innermost_block = sym.block;
-			    }
+			    innermost_block.update (sym);
 
 			  write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			  write_exp_elt_block (pstate, sym.block);
@@ -574,12 +569,7 @@ variable:	NAME
 			  if (sym.symbol)
 			    {
 			      if (symbol_read_needs_frame (sym.symbol))
-				{
-				  if (innermost_block == 0 ||
-				      contained_in (sym.block,
-						    innermost_block))
-				    innermost_block = sym.block;
-				}
+				innermost_block.update (sym);
 
 			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			      write_exp_elt_block (pstate, sym.block);
@@ -1048,11 +1038,11 @@ m2_parse (struct parser_state *par_state
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m2-lang.c ./gdb/m2-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m2-lang.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m2-lang.c	2018-07-10 02:06:13.000000000 +0000
@@ -365,7 +365,6 @@ extern const struct language_defn m2_lan
   NULL,
   &exp_descriptor_modula2,
   m2_parse,			/* parser */
-  m2_yyerror,			/* parser error function */
   null_post_parser,
   m2_printchar,			/* Print character constant */
   m2_printstr,			/* function to print string constant */
@@ -377,6 +376,7 @@ extern const struct language_defn m2_lan
   default_read_var_value,	/* la_read_var_value */
   NULL,				/* Language specific skip_trampoline */
   NULL,		                /* name_of_this */
+  false,			/* la_store_sym_names_in_linkage_form_p */
   basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   NULL,				/* Language specific symbol demangler */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m2-lang.h ./gdb/m2-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m2-lang.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m2-lang.h	2018-07-10 02:06:13.000000000 +0000
@@ -22,8 +22,6 @@ struct parser_state;
 
 extern int m2_parse (struct parser_state *); /* Defined in m2-exp.y */
 
-extern void m2_yyerror (const char *);	/* Defined in m2-exp.y */
-
 /* Defined in m2-typeprint.c */
 extern void m2_print_type (struct type *, const char *, struct ui_file *, int,
 			   int, const struct type_print_options *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m2-typeprint.c ./gdb/m2-typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m2-typeprint.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m2-typeprint.c	2018-07-10 02:06:13.000000000 +0000
@@ -439,22 +439,14 @@ m2_long_set (struct type *type, struct u
 
   if (m2_is_long_set (type))
     {
-      if (TYPE_TAG_NAME (type) != NULL)
-	{
-	  fputs_filtered (TYPE_TAG_NAME (type), stream);
-	  if (show == 0)
-	    return 1;
-	}
-      else if (TYPE_NAME (type) != NULL)
+      if (TYPE_NAME (type) != NULL)
 	{
 	  fputs_filtered (TYPE_NAME (type), stream);
 	  if (show == 0)
 	    return 1;
+	  fputs_filtered (" = ", stream);
 	}
 
-      if (TYPE_TAG_NAME (type) != NULL || TYPE_NAME (type) != NULL)
-	fputs_filtered (" = ", stream);
-
       if (get_long_set_bounds (type, &low, &high))
 	{
 	  fprintf_filtered(stream, "SET OF ");
@@ -537,11 +529,11 @@ m2_record_fields (struct type *type, str
 		  int level, const struct type_print_options *flags)
 {
   /* Print the tag if it exists.  */
-  if (TYPE_TAG_NAME (type) != NULL)
+  if (TYPE_NAME (type) != NULL)
     {
-      if (!startswith (TYPE_TAG_NAME (type), "$$"))
+      if (!startswith (TYPE_NAME (type), "$$"))
 	{
-	  fputs_filtered (TYPE_TAG_NAME (type), stream);
+	  fputs_filtered (TYPE_NAME (type), stream);
 	  if (show > 0)
 	    fprintf_filtered (stream, " = ");
 	}
@@ -601,10 +593,10 @@ m2_enum (struct type *type, struct ui_fi
   if (show < 0)
     {
       /* If we just printed a tag name, no need to print anything else.  */
-      if (TYPE_TAG_NAME (type) == NULL)
+      if (TYPE_NAME (type) == NULL)
 	fprintf_filtered (stream, "(...)");
     }
-  else if (show > 0 || TYPE_TAG_NAME (type) == NULL)
+  else if (show > 0 || TYPE_NAME (type) == NULL)
     {
       fprintf_filtered (stream, "(");
       len = TYPE_NFIELDS (type);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m32c-tdep.c ./gdb/m32c-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m32c-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m32c-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -51,7 +51,7 @@ typedef enum register_status (m32c_write
 						 const gdb_byte *buf);
 
 typedef enum register_status (m32c_read_reg_t) (struct m32c_reg *reg,
-						struct regcache *cache,
+						readable_regcache *cache,
 						gdb_byte *buf);
 
 struct m32c_reg
@@ -310,9 +310,9 @@ static m32c_write_reg_t m32c_r3r2r1r0_wr
 
 /* Copy the value of the raw register REG from CACHE to BUF.  */
 static enum register_status
-m32c_raw_read (struct m32c_reg *reg, struct regcache *cache, gdb_byte *buf)
+m32c_raw_read (struct m32c_reg *reg, readable_regcache *cache, gdb_byte *buf)
 {
-  return regcache_raw_read (cache, reg->num, buf);
+  return cache->raw_read (reg->num, buf);
 }
 
 
@@ -321,7 +321,7 @@ static enum register_status
 m32c_raw_write (struct m32c_reg *reg, struct regcache *cache,
 		const gdb_byte *buf)
 {
-  regcache_raw_write (cache, reg->num, buf);
+  cache->raw_write (reg->num, buf);
 
   return REG_VALID;
 }
@@ -329,18 +329,19 @@ m32c_raw_write (struct m32c_reg *reg, st
 
 /* Return the value of the 'flg' register in CACHE.  */
 static int
-m32c_read_flg (struct regcache *cache)
+m32c_read_flg (readable_regcache *cache)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (cache->arch ());
   ULONGEST flg;
-  regcache_raw_read_unsigned (cache, tdep->flg->num, &flg);
+
+  cache->raw_read (tdep->flg->num, &flg);
   return flg & 0xffff;
 }
 
 
 /* Evaluate the real register number of a banked register.  */
 static struct m32c_reg *
-m32c_banked_register (struct m32c_reg *reg, struct regcache *cache)
+m32c_banked_register (struct m32c_reg *reg, readable_regcache *cache)
 {
   return ((m32c_read_flg (cache) & reg->n) ? reg->ry : reg->rx);
 }
@@ -351,10 +352,10 @@ m32c_banked_register (struct m32c_reg *r
    masked in REG->n set, then read REG->ry.  Otherwise, read
    REG->rx.  */
 static enum register_status
-m32c_banked_read (struct m32c_reg *reg, struct regcache *cache, gdb_byte *buf)
+m32c_banked_read (struct m32c_reg *reg, readable_regcache *cache, gdb_byte *buf)
 {
   struct m32c_reg *bank_reg = m32c_banked_register (reg, cache);
-  return regcache_raw_read (cache, bank_reg->num, buf);
+  return cache->raw_read (bank_reg->num, buf);
 }
 
 
@@ -367,7 +368,7 @@ m32c_banked_write (struct m32c_reg *reg,
 		   const gdb_byte *buf)
 {
   struct m32c_reg *bank_reg = m32c_banked_register (reg, cache);
-  regcache_raw_write (cache, bank_reg->num, buf);
+  cache->raw_write (bank_reg->num, buf);
 
   return REG_VALID;
 }
@@ -376,7 +377,7 @@ m32c_banked_write (struct m32c_reg *reg,
 /* Move the value of SB from CACHE to BUF.  On bfd_mach_m32c, SB is a
    banked register; on bfd_mach_m16c, it's not.  */
 static enum register_status
-m32c_sb_read (struct m32c_reg *reg, struct regcache *cache, gdb_byte *buf)
+m32c_sb_read (struct m32c_reg *reg, readable_regcache *cache, gdb_byte *buf)
 {
   if (gdbarch_bfd_arch_info (reg->arch)->mach == bfd_mach_m16c)
     return m32c_raw_read (reg->rx, cache, buf);
@@ -441,13 +442,13 @@ m32c_find_part (struct m32c_reg *reg, in
    REG->type values, where higher indices refer to more significant
    bits, read the value of the REG->n'th element.  */
 static enum register_status
-m32c_part_read (struct m32c_reg *reg, struct regcache *cache, gdb_byte *buf)
+m32c_part_read (struct m32c_reg *reg, readable_regcache *cache, gdb_byte *buf)
 {
   int offset, len;
 
   memset (buf, 0, TYPE_LENGTH (reg->type));
   m32c_find_part (reg, &offset, &len);
-  return regcache_cooked_read_part (cache, reg->rx->num, offset, len, buf);
+  return cache->cooked_read_part (reg->rx->num, offset, len, buf);
 }
 
 
@@ -462,7 +463,7 @@ m32c_part_write (struct m32c_reg *reg, s
   int offset, len;
 
   m32c_find_part (reg, &offset, &len);
-  regcache_cooked_write_part (cache, reg->rx->num, offset, len, buf);
+  cache->cooked_write_part (reg->rx->num, offset, len, buf);
 
   return REG_VALID;
 }
@@ -472,7 +473,7 @@ m32c_part_write (struct m32c_reg *reg, s
    concatenation of the values of the registers REG->rx and REG->ry,
    with REG->rx contributing the more significant bits.  */
 static enum register_status
-m32c_cat_read (struct m32c_reg *reg, struct regcache *cache, gdb_byte *buf)
+m32c_cat_read (struct m32c_reg *reg, readable_regcache *cache, gdb_byte *buf)
 {
   int high_bytes = TYPE_LENGTH (reg->rx->type);
   int low_bytes  = TYPE_LENGTH (reg->ry->type);
@@ -482,17 +483,16 @@ m32c_cat_read (struct m32c_reg *reg, str
 
   if (gdbarch_byte_order (reg->arch) == BFD_ENDIAN_BIG)
     {
-      status = regcache_cooked_read (cache, reg->rx->num, buf);
+      status = cache->cooked_read (reg->rx->num, buf);
       if (status == REG_VALID)
-	status = regcache_cooked_read (cache, reg->ry->num, buf + high_bytes);
+	status = cache->cooked_read (reg->ry->num, buf + high_bytes);
     }
   else
     {
-      status = regcache_cooked_read (cache, reg->rx->num, buf + low_bytes);
+      status = cache->cooked_read (reg->rx->num, buf + low_bytes);
       if (status == REG_VALID)
-	status = regcache_cooked_read (cache, reg->ry->num, buf);
+	status = cache->cooked_read (reg->ry->num, buf);
     }
-
   return status;
 }
 
@@ -511,13 +511,13 @@ m32c_cat_write (struct m32c_reg *reg, st
 
   if (gdbarch_byte_order (reg->arch) == BFD_ENDIAN_BIG)
     {
-      regcache_cooked_write (cache, reg->rx->num, buf);
-      regcache_cooked_write (cache, reg->ry->num, buf + high_bytes);
+      cache->cooked_write (reg->rx->num, buf);
+      cache->cooked_write (reg->ry->num, buf + high_bytes);
     }
   else
     {
-      regcache_cooked_write (cache, reg->rx->num, buf + low_bytes);
-      regcache_cooked_write (cache, reg->ry->num, buf);
+      cache->cooked_write (reg->rx->num, buf + low_bytes);
+      cache->cooked_write (reg->ry->num, buf);
     }
 
   return REG_VALID;
@@ -528,7 +528,7 @@ m32c_cat_write (struct m32c_reg *reg, st
    the concatenation (from most significant to least) of r3, r2, r1,
    and r0.  */
 static enum register_status
-m32c_r3r2r1r0_read (struct m32c_reg *reg, struct regcache *cache, gdb_byte *buf)
+m32c_r3r2r1r0_read (struct m32c_reg *reg, readable_regcache *cache, gdb_byte *buf)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (reg->arch);
   int len = TYPE_LENGTH (tdep->r0->type);
@@ -536,23 +536,23 @@ m32c_r3r2r1r0_read (struct m32c_reg *reg
 
   if (gdbarch_byte_order (reg->arch) == BFD_ENDIAN_BIG)
     {
-      status = regcache_cooked_read (cache, tdep->r0->num, buf + len * 3);
+      status = cache->cooked_read (tdep->r0->num, buf + len * 3);
       if (status == REG_VALID)
-	status = regcache_cooked_read (cache, tdep->r1->num, buf + len * 2);
+	status = cache->cooked_read (tdep->r1->num, buf + len * 2);
       if (status == REG_VALID)
-	status = regcache_cooked_read (cache, tdep->r2->num, buf + len * 1);
+	status = cache->cooked_read (tdep->r2->num, buf + len * 1);
       if (status == REG_VALID)
-	status = regcache_cooked_read (cache, tdep->r3->num, buf);
+	status = cache->cooked_read (tdep->r3->num, buf);
     }
   else
     {
-      status = regcache_cooked_read (cache, tdep->r0->num, buf);
+      status = cache->cooked_read (tdep->r0->num, buf);
       if (status == REG_VALID)
-	status = regcache_cooked_read (cache, tdep->r1->num, buf + len * 1);
+	status = cache->cooked_read (tdep->r1->num, buf + len * 1);
       if (status == REG_VALID)
-	status = regcache_cooked_read (cache, tdep->r2->num, buf + len * 2);
+	status = cache->cooked_read (tdep->r2->num, buf + len * 2);
       if (status == REG_VALID)
-	status = regcache_cooked_read (cache, tdep->r3->num, buf + len * 3);
+	status = cache->cooked_read (tdep->r3->num, buf + len * 3);
     }
 
   return status;
@@ -571,17 +571,17 @@ m32c_r3r2r1r0_write (struct m32c_reg *re
 
   if (gdbarch_byte_order (reg->arch) == BFD_ENDIAN_BIG)
     {
-      regcache_cooked_write (cache, tdep->r0->num, buf + len * 3);
-      regcache_cooked_write (cache, tdep->r1->num, buf + len * 2);
-      regcache_cooked_write (cache, tdep->r2->num, buf + len * 1);
-      regcache_cooked_write (cache, tdep->r3->num, buf);
+      cache->cooked_write (tdep->r0->num, buf + len * 3);
+      cache->cooked_write (tdep->r1->num, buf + len * 2);
+      cache->cooked_write (tdep->r2->num, buf + len * 1);
+      cache->cooked_write (tdep->r3->num, buf);
     }
   else
     {
-      regcache_cooked_write (cache, tdep->r0->num, buf);
-      regcache_cooked_write (cache, tdep->r1->num, buf + len * 1);
-      regcache_cooked_write (cache, tdep->r2->num, buf + len * 2);
-      regcache_cooked_write (cache, tdep->r3->num, buf + len * 3);
+      cache->cooked_write (tdep->r0->num, buf);
+      cache->cooked_write (tdep->r1->num, buf + len * 1);
+      cache->cooked_write (tdep->r2->num, buf + len * 2);
+      cache->cooked_write (tdep->r3->num, buf + len * 3);
     }
 
   return REG_VALID;
@@ -590,7 +590,7 @@ m32c_r3r2r1r0_write (struct m32c_reg *re
 
 static enum register_status
 m32c_pseudo_register_read (struct gdbarch *arch,
-			   struct regcache *cache,
+			   readable_regcache *cache,
 			   int cookednum,
 			   gdb_byte *buf)
 {
@@ -2092,7 +2092,7 @@ m32c_push_dummy_call (struct gdbarch *gd
 	       && arg_size == 2
 	       && i < num_prototyped_args
 	       && m32c_reg_arg_type (arg_type))
-	regcache_cooked_write (regcache, tdep->r2->num, arg_bits);
+	regcache->cooked_write (tdep->r2->num, arg_bits);
 
       /* Everything else goes on the stack.  */
       else
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m32r-linux-nat.c ./gdb/m32r-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m32r-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m32r-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -34,7 +34,15 @@
 #include "m32r-tdep.h"
 
 
+class m32r_linux_nat_target final : public linux_nat_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
 
+static m32r_linux_nat_target the_m32r_linux_nat_target;
 
 /* Since EVB register is not available for native debug, we reduce
    the number of registers.  */
@@ -93,11 +101,11 @@ supply_gregset (struct regcache *regcach
 	}
 
       if (i != M32R_SP_REGNUM)
-	regcache_raw_supply (regcache, i, &regval);
+	regcache->raw_supply (i, &regval);
       else if (psw & 0x8000)
-	regcache_raw_supply (regcache, i, regp + SPU_REGMAP);
+	regcache->raw_supply (i, regp + SPU_REGMAP);
       else
-	regcache_raw_supply (regcache, i, regp + SPI_REGMAP);
+	regcache->raw_supply (i, regp + SPI_REGMAP);
     }
 }
 
@@ -142,11 +150,11 @@ fill_gregset (const struct regcache *reg
 	continue;
 
       if (i != M32R_SP_REGNUM)
-	regcache_raw_collect (regcache, i, regp + regmap[i]);
+	regcache->raw_collect (i, regp + regmap[i]);
       else if (psw & 0x8000)
-	regcache_raw_collect (regcache, i, regp + SPU_REGMAP);
+	regcache->raw_collect (i, regp + SPU_REGMAP);
       else
-	regcache_raw_collect (regcache, i, regp + SPI_REGMAP);
+	regcache->raw_collect (i, regp + SPI_REGMAP);
     }
 }
 
@@ -191,11 +199,10 @@ fill_fpregset (const struct regcache *re
    this for all registers (including the floating point and SSE
    registers).  */
 
-static void
-m32r_linux_fetch_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regno)
+void
+m32r_linux_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
-  pid_t tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t tid = get_ptrace_pid (regcache->ptid ());
 
   /* Use the PTRACE_GETREGS request whenever possible, since it
      transfers more registers in one system call, and we'll cache the
@@ -213,11 +220,10 @@ m32r_linux_fetch_inferior_registers (str
 /* Store register REGNO back into the child process.  If REGNO is -1,
    do this for all registers (including the floating point and SSE
    registers).  */
-static void
-m32r_linux_store_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regno)
+void
+m32r_linux_nat_target::store_registers (struct regcache *regcache, int regno)
 {
-  pid_t tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t tid = get_ptrace_pid (regcache->ptid ());
 
   /* Use the PTRACE_SETREGS request whenever possible, since it
      transfers more registers in one system call.  */
@@ -234,15 +240,7 @@ m32r_linux_store_inferior_registers (str
 void
 _initialize_m32r_linux_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
-  /* Add our register access methods.  */
-  t->to_fetch_registers = m32r_linux_fetch_inferior_registers;
-  t->to_store_registers = m32r_linux_store_inferior_registers;
-
   /* Register the target.  */
-  linux_nat_add_target (t);
+  linux_target = &the_m32r_linux_nat_target;
+  add_inf_child_target (&the_m32r_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m32r-linux-tdep.c ./gdb/m32r-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m32r-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m32r-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -385,7 +385,7 @@ m32r_linux_supply_gregset (const struct 
 	  p = regs + m32r_pt_regs_offset[i];
 	}
 
-      regcache_raw_supply (regcache, i, p);
+      regcache->raw_supply (i, p);
     }
 }
 
@@ -401,7 +401,7 @@ m32r_linux_collect_gregset (const struct
   ULONGEST psw;
   gdb_byte buf[4];
 
-  regcache_raw_collect (regcache, PSW_REGNUM, buf);
+  regcache->raw_collect (PSW_REGNUM, buf);
   psw = extract_unsigned_integer (buf, 4, byte_order);
 
   for (i = 0; i < ARRAY_SIZE (m32r_pt_regs_offset); i++)
@@ -420,12 +420,11 @@ m32r_linux_collect_gregset (const struct
 	case CBR_REGNUM:
 	  break;
 	case M32R_SP_REGNUM:
-	  regcache_raw_collect (regcache, i, regs
-				+ ((psw & 0x80) ? SPU_OFFSET : SPI_OFFSET));
+	  regcache->raw_collect
+	    (i, regs + ((psw & 0x80) ? SPU_OFFSET : SPI_OFFSET));
 	  break;
 	default:
-	  regcache_raw_collect (regcache, i,
-				regs + m32r_pt_regs_offset[i]);
+	  regcache->raw_collect (i, regs + m32r_pt_regs_offset[i]);
 	}
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m32r-tdep.c ./gdb/m32r-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m32r-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m32r-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -650,14 +650,6 @@ m32r_frame_unwind_cache (struct frame_in
 }
 
 static CORE_ADDR
-m32r_read_pc (struct regcache *regcache)
-{
-  ULONGEST pc;
-  regcache_cooked_read_unsigned (regcache, M32R_PC_REGNUM, &pc);
-  return pc;
-}
-
-static CORE_ADDR
 m32r_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
 {
   return frame_unwind_register_unsigned (next_frame, M32R_SP_REGNUM);
@@ -912,7 +904,6 @@ m32r_gdbarch_init (struct gdbarch_info i
   set_gdbarch_wchar_bit (gdbarch, 16);
   set_gdbarch_wchar_signed (gdbarch, 0);
 
-  set_gdbarch_read_pc (gdbarch, m32r_read_pc);
   set_gdbarch_unwind_sp (gdbarch, m32r_unwind_sp);
 
   set_gdbarch_num_regs (gdbarch, M32R_NUM_REGS);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68hc11-tdep.c ./gdb/m68hc11-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68hc11-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m68hc11-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -279,7 +279,7 @@ m68hc11_which_soft_register (CORE_ADDR a
    fetch into a memory read.  */
 static enum register_status
 m68hc11_pseudo_register_read (struct gdbarch *gdbarch,
-			      struct regcache *regcache,
+			      readable_regcache *regcache,
 			      int regno, gdb_byte *buf)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -292,14 +292,14 @@ m68hc11_pseudo_register_read (struct gdb
       const int regsize = 4;
       enum register_status status;
 
-      status = regcache_cooked_read_unsigned (regcache, HARD_PC_REGNUM, &pc);
+      status = regcache->cooked_read (HARD_PC_REGNUM, &pc);
       if (status != REG_VALID)
 	return status;
       if (pc >= 0x8000 && pc < 0xc000)
         {
           ULONGEST page;
 
-          regcache_cooked_read_unsigned (regcache, HARD_PAGE_REGNUM, &page);
+	  regcache->cooked_read (HARD_PAGE_REGNUM, &page);
           pc -= 0x8000;
           pc += (page << 14);
           pc += 0x1000000;
@@ -919,13 +919,11 @@ m68hc11_frame_prev_register (struct fram
           CORE_ADDR page;
 
 	  release_value (value);
-	  value_free (value);
 
 	  value = trad_frame_get_prev_register (this_frame, info->saved_regs,
 						HARD_PAGE_REGNUM);
 	  page = value_as_long (value);
 	  release_value (value);
-	  value_free (value);
 
           pc -= 0x08000;
           pc += ((page & 0x0ff) << 14);
@@ -1261,12 +1259,11 @@ m68hc11_store_return_value (struct type 
 
   /* First argument is passed in D and X registers.  */
   if (len <= 2)
-    regcache_raw_write_part (regcache, HARD_D_REGNUM, 2 - len, len, valbuf);
+    regcache->raw_write_part (HARD_D_REGNUM, 2 - len, len, valbuf);
   else if (len <= 4)
     {
-      regcache_raw_write_part (regcache, HARD_X_REGNUM, 4 - len,
-                               len - 2, valbuf);
-      regcache_raw_write (regcache, HARD_D_REGNUM, valbuf + (len - 2));
+      regcache->raw_write_part (HARD_X_REGNUM, 4 - len, len - 2, valbuf);
+      regcache->raw_write (HARD_D_REGNUM, valbuf + (len - 2));
     }
   else
     error (_("return of value > 4 is not supported."));
@@ -1282,7 +1279,7 @@ m68hc11_extract_return_value (struct typ
 {
   gdb_byte buf[M68HC11_REG_SIZE];
 
-  regcache_raw_read (regcache, HARD_D_REGNUM, buf);
+  regcache->raw_read (HARD_D_REGNUM, buf);
   switch (TYPE_LENGTH (type))
     {
     case 1:
@@ -1295,13 +1292,13 @@ m68hc11_extract_return_value (struct typ
 
     case 3:
       memcpy ((char*) valbuf + 1, buf, 2);
-      regcache_raw_read (regcache, HARD_X_REGNUM, buf);
+      regcache->raw_read (HARD_X_REGNUM, buf);
       memcpy (valbuf, buf + 1, 1);
       break;
 
     case 4:
       memcpy ((char*) valbuf + 2, buf, 2);
-      regcache_raw_read (regcache, HARD_X_REGNUM, buf);
+      regcache->raw_read (HARD_X_REGNUM, buf);
       memcpy (valbuf, buf, 2);
       break;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68k-bsd-nat.c ./gdb/m68k-bsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68k-bsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m68k-bsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -29,6 +29,14 @@
 #include "m68k-tdep.h"
 #include "inf-ptrace.h"
 
+struct m68k_bsd_nat_target final : public inf_ptrace_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static m68k_bsd_nat_target the_m68k_bsd_nat_target;
+
 static int
 m68kbsd_gregset_supplies_p (int regnum)
 {
@@ -50,7 +58,7 @@ m68kbsd_supply_gregset (struct regcache 
   int regnum;
 
   for (regnum = M68K_D0_REGNUM; regnum <= M68K_PC_REGNUM; regnum++)
-    regcache_raw_supply (regcache, regnum, regs + regnum * 4);
+    regcache->raw_supply (regnum, regs + regnum * 4);
 }
 
 /* Supply the floating-point registers stored in FPREGS to REGCACHE.  */
@@ -63,8 +71,8 @@ m68kbsd_supply_fpregset (struct regcache
   int regnum;
 
   for (regnum = M68K_FP0_REGNUM; regnum <= M68K_FPI_REGNUM; regnum++)
-    regcache_raw_supply (regcache, regnum,
-			 regs + m68kbsd_fpreg_offset (gdbarch, regnum));
+    regcache->raw_supply (regnum,
+			  regs + m68kbsd_fpreg_offset (gdbarch, regnum));
 }
 
 /* Collect the general-purpose registers from REGCACHE and store them
@@ -80,7 +88,7 @@ m68kbsd_collect_gregset (const struct re
   for (i = M68K_D0_REGNUM; i <= M68K_PC_REGNUM; i++)
     {
       if (regnum == -1 || regnum == i)
-	regcache_raw_collect (regcache, i, regs + i * 4);
+	regcache->raw_collect (i, regs + i * 4);
     }
 }
 
@@ -98,8 +106,7 @@ m68kbsd_collect_fpregset (struct regcach
   for (i = M68K_FP0_REGNUM; i <= M68K_FPI_REGNUM; i++)
     {
       if (regnum == -1 || regnum == i)
-	regcache_raw_collect (regcache, i,
-			      regs + m68kbsd_fpreg_offset (gdbarch, i));
+	regcache->raw_collect (i, regs + m68kbsd_fpreg_offset (gdbarch, i));
     }
 }
 
@@ -107,11 +114,10 @@ m68kbsd_collect_fpregset (struct regcach
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers (including the floating-point registers).  */
 
-static void
-m68kbsd_fetch_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int regnum)
+void
+m68k_bsd_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (regnum == -1 || m68kbsd_gregset_supplies_p (regnum))
     {
@@ -137,11 +143,10 @@ m68kbsd_fetch_inferior_registers (struct
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers (including the floating-point registers).  */
 
-static void
-m68kbsd_store_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int regnum)
+void
+m68k_bsd_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (regnum == -1 || m68kbsd_gregset_supplies_p (regnum))
     {
@@ -203,15 +208,15 @@ m68kbsd_supply_pcb (struct regcache *reg
     return 0;
 
   for (regnum = M68K_D2_REGNUM; regnum <= M68K_D7_REGNUM; regnum++)
-    regcache_raw_supply (regcache, regnum, &pcb->pcb_regs[i++]);
+    regcache->raw_supply (regnum, &pcb->pcb_regs[i++]);
   for (regnum = M68K_A2_REGNUM; regnum <= M68K_SP_REGNUM; regnum++)
-    regcache_raw_supply (regcache, regnum, &pcb->pcb_regs[i++]);
+    regcache->raw_supply (regnum, &pcb->pcb_regs[i++]);
 
   tmp = pcb->pcb_ps & 0xffff;
-  regcache_raw_supply (regcache, M68K_PS_REGNUM, &tmp);
+  regcache->raw_supply (M68K_PS_REGNUM, &tmp);
 
   read_memory (pcb->pcb_regs[PCB_REGS_FP] + 4, (char *) &tmp, sizeof tmp);
-  regcache_raw_supply (regcache, M68K_PC_REGNUM, &tmp);
+  regcache->raw_supply (M68K_PC_REGNUM, &tmp);
 
   return 1;
 }
@@ -219,12 +224,7 @@ m68kbsd_supply_pcb (struct regcache *reg
 void
 _initialize_m68kbsd_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = m68kbsd_fetch_inferior_registers;
-  t->to_store_registers = m68kbsd_store_inferior_registers;
-  add_target (t);
+  add_inf_child_target (&the_m68k_bsd_nat_target);
 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (m68kbsd_supply_pcb);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68k-bsd-tdep.c ./gdb/m68k-bsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68k-bsd-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m68k-bsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -67,8 +67,7 @@ m68kbsd_supply_fpregset (const struct re
   for (i = M68K_FP0_REGNUM; i <= M68K_PC_REGNUM; i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i,
-			     regs + m68kbsd_fpreg_offset (gdbarch, i));
+	regcache->raw_supply (i, regs + m68kbsd_fpreg_offset (gdbarch, i));
     }
 }
 
@@ -89,7 +88,7 @@ m68kbsd_supply_gregset (const struct reg
   for (i = M68K_D0_REGNUM; i <= M68K_PC_REGNUM; i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + i * 4);
+	regcache->raw_supply (i, regs + i * 4);
     }
 
   if (len >= M68KBSD_SIZEOF_GREGS + M68KBSD_SIZEOF_FPREGS)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68k-linux-nat.c ./gdb/m68k-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68k-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m68k-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -57,6 +57,17 @@
 #define PTRACE_GET_THREAD_AREA 25
 #endif
 
+
+class m68k_linux_nat_target final : public linux_nat_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static m68k_linux_nat_target the_m68k_linux_nat_target;
+
 /* This table must line up with gdbarch_register_name in "m68k-tdep.c".  */
 static const int regmap[] =
 {
@@ -108,7 +119,7 @@ fetch_register (struct regcache *regcach
   long regaddr, val;
   int i;
   gdb_byte buf[M68K_MAX_REGISTER_SIZE];
-  pid_t tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t tid = get_ptrace_pid (regcache->ptid ());
 
   regaddr = 4 * regmap[regno];
   for (i = 0; i < register_size (gdbarch, regno); i += sizeof (long))
@@ -122,7 +133,7 @@ fetch_register (struct regcache *regcach
 	       gdbarch_register_name (gdbarch, regno),
 	       regno, safe_strerror (errno));
     }
-  regcache_raw_supply (regcache, regno, buf);
+  regcache->raw_supply (regno, buf);
 }
 
 /* Fetch register values from the inferior.
@@ -156,12 +167,12 @@ store_register (const struct regcache *r
   long regaddr, val;
   int i;
   gdb_byte buf[M68K_MAX_REGISTER_SIZE];
-  pid_t tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t tid = get_ptrace_pid (regcache->ptid ());
 
   regaddr = 4 * regmap[regno];
 
   /* Put the contents of regno into a local buffer.  */
-  regcache_raw_collect (regcache, regno, buf);
+  regcache->raw_collect (regno, buf);
 
   /* Store the local buffer into the inferior a chunk at the time.  */
   for (i = 0; i < register_size (gdbarch, regno); i += sizeof (long))
@@ -213,11 +224,9 @@ supply_gregset (struct regcache *regcach
   for (regi = M68K_D0_REGNUM;
        regi <= gdbarch_sp_regnum (gdbarch);
        regi++)
-    regcache_raw_supply (regcache, regi, &regp[regmap[regi]]);
-  regcache_raw_supply (regcache, gdbarch_ps_regnum (gdbarch),
-		       &regp[PT_SR]);
-  regcache_raw_supply (regcache,
-		       gdbarch_pc_regnum (gdbarch), &regp[PT_PC]);
+    regcache->raw_supply (regi, &regp[regmap[regi]]);
+  regcache->raw_supply (gdbarch_ps_regnum (gdbarch), &regp[PT_SR]);
+  regcache->raw_supply (gdbarch_pc_regnum (gdbarch), &regp[PT_PC]);
 }
 
 /* Fill register REGNO (if it is a general-purpose register) in
@@ -232,7 +241,7 @@ fill_gregset (const struct regcache *reg
 
   for (i = 0; i < NUM_GREGS; i++)
     if (regno == -1 || regno == i)
-      regcache_raw_collect (regcache, i, regp + regmap[i]);
+      regcache->raw_collect (i, regp + regmap[i]);
 }
 
 #ifdef HAVE_PTRACE_GETREGS
@@ -307,12 +316,11 @@ supply_fpregset (struct regcache *regcac
 
   for (regi = gdbarch_fp0_regnum (gdbarch);
        regi < gdbarch_fp0_regnum (gdbarch) + 8; regi++)
-    regcache_raw_supply (regcache, regi,
-			 FPREG_ADDR (fpregsetp,
-				     regi - gdbarch_fp0_regnum (gdbarch)));
-  regcache_raw_supply (regcache, M68K_FPC_REGNUM, &fpregsetp->fpcntl[0]);
-  regcache_raw_supply (regcache, M68K_FPS_REGNUM, &fpregsetp->fpcntl[1]);
-  regcache_raw_supply (regcache, M68K_FPI_REGNUM, &fpregsetp->fpcntl[2]);
+    regcache->raw_supply
+      (regi, FPREG_ADDR (fpregsetp, regi - gdbarch_fp0_regnum (gdbarch)));
+  regcache->raw_supply (M68K_FPC_REGNUM, &fpregsetp->fpcntl[0]);
+  regcache->raw_supply (M68K_FPS_REGNUM, &fpregsetp->fpcntl[1]);
+  regcache->raw_supply (M68K_FPI_REGNUM, &fpregsetp->fpcntl[2]);
 }
 
 /* Fill register REGNO (if it is a floating-point register) in
@@ -330,15 +338,13 @@ fill_fpregset (const struct regcache *re
   for (i = gdbarch_fp0_regnum (gdbarch);
        i < gdbarch_fp0_regnum (gdbarch) + 8; i++)
     if (regno == -1 || regno == i)
-      regcache_raw_collect (regcache, i,
-			    FPREG_ADDR (fpregsetp,
-				        i - gdbarch_fp0_regnum (gdbarch)));
+      regcache->raw_collect
+	(i, FPREG_ADDR (fpregsetp, i - gdbarch_fp0_regnum (gdbarch)));
 
   /* Fill in the floating-point control registers.  */
   for (i = M68K_FPC_REGNUM; i <= M68K_FPI_REGNUM; i++)
     if (regno == -1 || regno == i)
-      regcache_raw_collect (regcache, i,
-			    &fpregsetp->fpcntl[i - M68K_FPC_REGNUM]);
+      regcache->raw_collect (i, &fpregsetp->fpcntl[i - M68K_FPC_REGNUM]);
 }
 
 #ifdef HAVE_PTRACE_GETREGS
@@ -392,9 +398,8 @@ static void store_fpregs (const struct r
    this for all registers (including the floating point and SSE
    registers).  */
 
-static void
-m68k_linux_fetch_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regno)
+void
+m68k_linux_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
   pid_t tid;
 
@@ -406,7 +411,7 @@ m68k_linux_fetch_inferior_registers (str
       return;
     }
 
-  tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  tid = get_ptrace_pid (regcache->ptid ());
 
   /* Use the PTRACE_GETFPXREGS request whenever possible, since it
      transfers more registers in one system call, and we'll cache the
@@ -446,9 +451,8 @@ m68k_linux_fetch_inferior_registers (str
 /* Store register REGNO back into the child process.  If REGNO is -1,
    do this for all registers (including the floating point and SSE
    registers).  */
-static void
-m68k_linux_store_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regno)
+void
+m68k_linux_nat_target::store_registers (struct regcache *regcache, int regno)
 {
   pid_t tid;
 
@@ -460,7 +464,7 @@ m68k_linux_store_inferior_registers (str
       return;
     }
 
-  tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  tid = get_ptrace_pid (regcache->ptid ());
 
   /* Use the PTRACE_SETFPREGS requests whenever possible, since it
      transfers more registers in one system call.  But remember that
@@ -509,15 +513,7 @@ ps_get_thread_area (struct ps_prochandle
 void
 _initialize_m68k_linux_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
-  /* Add our register access methods.  */
-  t->to_fetch_registers = m68k_linux_fetch_inferior_registers;
-  t->to_store_registers = m68k_linux_store_inferior_registers;
-
   /* Register the target.  */
-  linux_nat_add_target (t);
+  linux_target = &the_m68k_linux_nat_target;
+  add_inf_child_target (&the_m68k_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68k-linux-tdep.c ./gdb/m68k-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68k-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m68k-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -32,7 +32,7 @@
 #include "glibc-tdep.h"
 #include "solib-svr4.h"
 #include "auxv.h"
-#include "observer.h"
+#include "observable.h"
 #include "elf/common.h"
 #include "linux-tdep.h"
 #include "regset.h"
@@ -426,5 +426,5 @@ _initialize_m68k_linux_tdep (void)
 {
   gdbarch_register_osabi (bfd_arch_m68k, 0, GDB_OSABI_LINUX,
 			  m68k_linux_init_abi);
-  observer_attach_inferior_created (m68k_linux_inferior_created);
+  gdb::observers::inferior_created.attach (m68k_linux_inferior_created);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68k-tdep.c ./gdb/m68k-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m68k-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m68k-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -286,14 +286,14 @@ m68k_extract_return_value (struct type *
 
   if (len <= 4)
     {
-      regcache_raw_read (regcache, M68K_D0_REGNUM, buf);
+      regcache->raw_read (M68K_D0_REGNUM, buf);
       memcpy (valbuf, buf + (4 - len), len);
     }
   else if (len <= 8)
     {
-      regcache_raw_read (regcache, M68K_D0_REGNUM, buf);
+      regcache->raw_read (M68K_D0_REGNUM, buf);
       memcpy (valbuf, buf + (8 - len), len - 4);
-      regcache_raw_read (regcache, M68K_D1_REGNUM, valbuf + (len - 4));
+      regcache->raw_read (M68K_D1_REGNUM, valbuf + (len - 4));
     }
   else
     internal_error (__FILE__, __LINE__,
@@ -311,11 +311,11 @@ m68k_svr4_extract_return_value (struct t
   if (tdep->float_return && TYPE_CODE (type) == TYPE_CODE_FLT)
     {
       struct type *fpreg_type = register_type (gdbarch, M68K_FP0_REGNUM);
-      regcache_raw_read (regcache, M68K_FP0_REGNUM, buf);
+      regcache->raw_read (M68K_FP0_REGNUM, buf);
       target_float_convert (buf, fpreg_type, valbuf, type);
     }
   else if (TYPE_CODE (type) == TYPE_CODE_PTR && TYPE_LENGTH (type) == 4)
-    regcache_raw_read (regcache, M68K_A0_REGNUM, valbuf);
+    regcache->raw_read (M68K_A0_REGNUM, valbuf);
   else
     m68k_extract_return_value (type, regcache, valbuf);
 }
@@ -329,12 +329,11 @@ m68k_store_return_value (struct type *ty
   int len = TYPE_LENGTH (type);
 
   if (len <= 4)
-    regcache_raw_write_part (regcache, M68K_D0_REGNUM, 4 - len, len, valbuf);
+    regcache->raw_write_part (M68K_D0_REGNUM, 4 - len, len, valbuf);
   else if (len <= 8)
     {
-      regcache_raw_write_part (regcache, M68K_D0_REGNUM, 8 - len,
-			       len - 4, valbuf);
-      regcache_raw_write (regcache, M68K_D1_REGNUM, valbuf + (len - 4));
+      regcache->raw_write_part (M68K_D0_REGNUM, 8 - len, len - 4, valbuf);
+      regcache->raw_write (M68K_D1_REGNUM, valbuf + (len - 4));
     }
   else
     internal_error (__FILE__, __LINE__,
@@ -353,12 +352,12 @@ m68k_svr4_store_return_value (struct typ
       struct type *fpreg_type = register_type (gdbarch, M68K_FP0_REGNUM);
       gdb_byte buf[M68K_MAX_REGISTER_SIZE];
       target_float_convert (valbuf, type, buf, fpreg_type);
-      regcache_raw_write (regcache, M68K_FP0_REGNUM, buf);
+      regcache->raw_write (M68K_FP0_REGNUM, buf);
     }
   else if (TYPE_CODE (type) == TYPE_CODE_PTR && TYPE_LENGTH (type) == 4)
     {
-      regcache_raw_write (regcache, M68K_A0_REGNUM, valbuf);
-      regcache_raw_write (regcache, M68K_D0_REGNUM, valbuf);
+      regcache->raw_write (M68K_A0_REGNUM, valbuf);
+      regcache->raw_write (M68K_D0_REGNUM, valbuf);
     }
   else
     m68k_store_return_value (type, regcache, valbuf);
@@ -526,7 +525,7 @@ m68k_push_dummy_call (struct gdbarch *gd
   if (struct_return)
     {
       store_unsigned_integer (buf, 4, byte_order, struct_addr);
-      regcache_cooked_write (regcache, tdep->struct_value_regnum, buf);
+      regcache->cooked_write (tdep->struct_value_regnum, buf);
     }
 
   /* Store return address.  */
@@ -536,10 +535,10 @@ m68k_push_dummy_call (struct gdbarch *gd
 
   /* Finally, update the stack pointer...  */
   store_unsigned_integer (buf, 4, byte_order, sp);
-  regcache_cooked_write (regcache, M68K_SP_REGNUM, buf);
+  regcache->cooked_write (M68K_SP_REGNUM, buf);
 
   /* ...and fake a frame pointer.  */
-  regcache_cooked_write (regcache, M68K_FP_REGNUM, buf);
+  regcache->cooked_write (M68K_FP_REGNUM, buf);
 
   /* DWARF2/GCC uses the stack address *before* the function call as a
      frame's CFA.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m88k-bsd-nat.c ./gdb/m88k-bsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m88k-bsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m88k-bsd-nat.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,107 +0,0 @@
-/* Native-dependent code for Motorola 88000 BSD's.
-
-   Copyright (C) 2004-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include "inferior.h"
-#include "regcache.h"
-#include "target.h"
-
-#include <sys/types.h>
-#include <sys/ptrace.h>
-#include <machine/reg.h>
-
-#include "m88k-tdep.h"
-#include "inf-ptrace.h"
-
-/* Supply the general-purpose registers stored in GREGS to REGCACHE.  */
-
-static void
-m88kbsd_supply_gregset (struct regcache *regcache, const void *gregs)
-{
-  const char *regs = gregs;
-  int regnum;
-
-  for (regnum = 0; regnum < M88K_NUM_REGS; regnum++)
-    regcache_raw_supply (regcache, regnum, regs + regnum * 4);
-}
-
-/* Collect the general-purpose registers from REGCACHE and store them
-   in GREGS.  */
-
-static void
-m88kbsd_collect_gregset (const struct regcache *regcache,
-			 void *gregs, int regnum)
-{
-  char *regs = gregs;
-  int i;
-
-  for (i = 0; i < M88K_NUM_REGS; i++)
-    {
-      if (regnum == -1 || regnum == i)
-	regcache_raw_collect (regcache, i, regs + i * 4);
-    }
-}
-
-
-/* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
-   for all registers.  */
-
-static void
-m88kbsd_fetch_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int regnum)
-{
-  struct reg regs;
-
-  if (ptrace (PT_GETREGS, ptid_get_pid (regcache_get_ptid (regcache)),
-	      (PTRACE_TYPE_ARG3) &regs, 0) == -1)
-    perror_with_name (_("Couldn't get registers"));
-
-  m88kbsd_supply_gregset (regcache, &regs);
-}
-
-/* Store register REGNUM back into the inferior.  If REGNUM is -1, do
-   this for all registers.  */
-
-static void
-m88kbsd_store_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int regnum)
-{
-  struct reg regs;
-
-  if (ptrace (PT_GETREGS, ptid_get_pid (regcache_get_ptid (regcache)),
-	      (PTRACE_TYPE_ARG3) &regs, 0) == -1)
-    perror_with_name (_("Couldn't get registers"));
-
-  m88kbsd_collect_gregset (regcache, &regs, regnum);
-
-  if (ptrace (PT_SETREGS, ptid_get_pid (regcache_get_ptid (regcache)),
-	      (PTRACE_TYPE_ARG3) &regs, 0) == -1)
-    perror_with_name (_("Couldn't write registers"));
-}
-
-void
-_initialize_m88kbsd_nat (void)
-{
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = m88kbsd_fetch_inferior_registers;
-  t->to_store_registers = m88kbsd_store_inferior_registers;
-  add_target (t);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m88k-tdep.c ./gdb/m88k-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m88k-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m88k-tdep.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,869 +0,0 @@
-/* Target-dependent code for the Motorola 88000 series.
-
-   Copyright (C) 2004-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include "arch-utils.h"
-#include "dis-asm.h"
-#include "frame.h"
-#include "frame-base.h"
-#include "frame-unwind.h"
-#include "gdbcore.h"
-#include "gdbtypes.h"
-#include "regcache.h"
-#include "regset.h"
-#include "symtab.h"
-#include "trad-frame.h"
-#include "value.h"
-#include <algorithm>
-
-#include "m88k-tdep.h"
-
-/* Fetch the instruction at PC.  */
-
-static unsigned long
-m88k_fetch_instruction (CORE_ADDR pc, enum bfd_endian byte_order)
-{
-  return read_memory_unsigned_integer (pc, 4, byte_order);
-}
-
-/* Register information.  */
-
-/* Return the name of register REGNUM.  */
-
-static const char *
-m88k_register_name (struct gdbarch *gdbarch, int regnum)
-{
-  static const char *register_names[] =
-  {
-    "r0",  "r1",  "r2",  "r3",  "r4",  "r5",  "r6",  "r7",
-    "r8",  "r9",  "r10", "r11", "r12", "r13", "r14", "r15",
-    "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
-    "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31",
-    "epsr", "fpsr", "fpcr", "sxip", "snip", "sfip"
-  };
-
-  if (regnum >= 0 && regnum < ARRAY_SIZE (register_names))
-    return register_names[regnum];
-
-  return NULL;
-}
-
-/* Return the GDB type object for the "standard" data type of data in
-   register REGNUM.  */
-
-static struct type *
-m88k_register_type (struct gdbarch *gdbarch, int regnum)
-{
-  /* SXIP, SNIP, SFIP and R1 contain code addresses.  */
-  if ((regnum >= M88K_SXIP_REGNUM && regnum <= M88K_SFIP_REGNUM)
-      || regnum == M88K_R1_REGNUM)
-    return builtin_type (gdbarch)->builtin_func_ptr;
-
-  /* R30 and R31 typically contains data addresses.  */
-  if (regnum == M88K_R30_REGNUM || regnum == M88K_R31_REGNUM)
-    return builtin_type (gdbarch)->builtin_data_ptr;
-
-  return builtin_type (gdbarch)->builtin_int32;
-}
-
-
-static CORE_ADDR
-m88k_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr)
-{
-  /* All instructures are 4-byte aligned.  The lower 2 bits of SXIP,
-     SNIP and SFIP are used for special purposes: bit 0 is the
-     exception bit and bit 1 is the valid bit.  */
-  return addr & ~0x3;
-}
-
-/* Use the program counter to determine the contents and size of a
-   breakpoint instruction.  Return a pointer to a string of bytes that
-   encode a breakpoint instruction, store the length of the string in
-   *LEN and optionally adjust *PC to point to the correct memory
-   location for inserting the breakpoint.  */
-
-/* tb 0,r0,511 */
-constexpr gdb_byte m88k_break_insn[] = { 0xf0, 0x00, 0xd1, 0xff };
-
-typedef BP_MANIPULATION (m88k_break_insn) m88k_breakpoint;
-
-static CORE_ADDR
-m88k_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
-  CORE_ADDR pc;
-
-  pc = frame_unwind_register_unsigned (next_frame, M88K_SXIP_REGNUM);
-  return m88k_addr_bits_remove (gdbarch, pc);
-}
-
-static void
-m88k_write_pc (struct regcache *regcache, CORE_ADDR pc)
-{
-  /* According to the MC88100 RISC Microprocessor User's Manual,
-     section 6.4.3.1.2:
-
-     "... can be made to return to a particular instruction by placing
-     a valid instruction address in the SNIP and the next sequential
-     instruction address in the SFIP (with V bits set and E bits
-     clear).  The rte resumes execution at the instruction pointed to
-     by the SNIP, then the SFIP."
-
-     The E bit is the least significant bit (bit 0).  The V (valid)
-     bit is bit 1.  This is why we logical or 2 into the values we are
-     writing below.  It turns out that SXIP plays no role when
-     returning from an exception so nothing special has to be done
-     with it.  We could even (presumably) give it a totally bogus
-     value.  */
-
-  regcache_cooked_write_unsigned (regcache, M88K_SXIP_REGNUM, pc);
-  regcache_cooked_write_unsigned (regcache, M88K_SNIP_REGNUM, pc | 2);
-  regcache_cooked_write_unsigned (regcache, M88K_SFIP_REGNUM, (pc + 4) | 2);
-}
-
-
-/* The functions on this page are intended to be used to classify
-   function arguments.  */
-
-/* Check whether TYPE is "Integral or Pointer".  */
-
-static int
-m88k_integral_or_pointer_p (const struct type *type)
-{
-  switch (TYPE_CODE (type))
-    {
-    case TYPE_CODE_INT:
-    case TYPE_CODE_BOOL:
-    case TYPE_CODE_CHAR:
-    case TYPE_CODE_ENUM:
-    case TYPE_CODE_RANGE:
-      {
-	/* We have byte, half-word, word and extended-word/doubleword
-           integral types.  */
-	int len = TYPE_LENGTH (type);
-	return (len == 1 || len == 2 || len == 4 || len == 8);
-      }
-      return 1;
-    case TYPE_CODE_PTR:
-    case TYPE_CODE_REF:
-    case TYPE_CODE_RVALUE_REF:
-      {
-	/* Allow only 32-bit pointers.  */
-	return (TYPE_LENGTH (type) == 4);
-      }
-      return 1;
-    default:
-      break;
-    }
-
-  return 0;
-}
-
-/* Check whether TYPE is "Floating".  */
-
-static int
-m88k_floating_p (const struct type *type)
-{
-  switch (TYPE_CODE (type))
-    {
-    case TYPE_CODE_FLT:
-      {
-	int len = TYPE_LENGTH (type);
-	return (len == 4 || len == 8);
-      }
-    default:
-      break;
-    }
-
-  return 0;
-}
-
-/* Check whether TYPE is "Structure or Union".  */
-
-static int
-m88k_structure_or_union_p (const struct type *type)
-{
-  switch (TYPE_CODE (type))
-    {
-    case TYPE_CODE_STRUCT:
-    case TYPE_CODE_UNION:
-      return 1;
-    default:
-      break;
-    }
-
-  return 0;
-}
-
-/* Check whether TYPE has 8-byte alignment.  */
-
-static int
-m88k_8_byte_align_p (struct type *type)
-{
-  if (m88k_structure_or_union_p (type))
-    {
-      int i;
-
-      for (i = 0; i < TYPE_NFIELDS (type); i++)
-	{
-	  struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
-
-	  if (m88k_8_byte_align_p (subtype))
-	    return 1;
-	}
-    }
-
-  if (m88k_integral_or_pointer_p (type) || m88k_floating_p (type))
-    return (TYPE_LENGTH (type) == 8);
-
-  return 0;
-}
-
-/* Check whether TYPE can be passed in a register.  */
-
-static int
-m88k_in_register_p (struct type *type)
-{
-  if (m88k_integral_or_pointer_p (type) || m88k_floating_p (type))
-    return 1;
-
-  if (m88k_structure_or_union_p (type) && TYPE_LENGTH (type) == 4)
-    return 1;
-
-  return 0;
-}
-
-static CORE_ADDR
-m88k_store_arguments (struct regcache *regcache, int nargs,
-		      struct value **args, CORE_ADDR sp)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  int num_register_words = 0;
-  int num_stack_words = 0;
-  int i;
-
-  for (i = 0; i < nargs; i++)
-    {
-      struct type *type = value_type (args[i]);
-      int len = TYPE_LENGTH (type);
-
-      if (m88k_integral_or_pointer_p (type) && len < 4)
-	{
-	  args[i] = value_cast (builtin_type (gdbarch)->builtin_int32,
-				args[i]);
-	  type = value_type (args[i]);
-	  len = TYPE_LENGTH (type);
-	}
-
-      if (m88k_in_register_p (type))
-	{
-	  int num_words = 0;
-
-	  if (num_register_words % 2 == 1 && m88k_8_byte_align_p (type))
-	    num_words++;
-
-	  num_words += ((len + 3) / 4);
-	  if (num_register_words + num_words <= 8)
-	    {
-	      num_register_words += num_words;
-	      continue;
-	    }
-
-	  /* We've run out of available registers.  Pass the argument
-             on the stack.  */
-	}
-
-      if (num_stack_words % 2 == 1 && m88k_8_byte_align_p (type))
-	num_stack_words++;
-
-      num_stack_words += ((len + 3) / 4);
-    }
-
-  /* Allocate stack space.  */
-  sp = align_down (sp - 32 - num_stack_words * 4, 16);
-  num_stack_words = num_register_words = 0;
-
-  for (i = 0; i < nargs; i++)
-    {
-      const bfd_byte *valbuf = value_contents (args[i]);
-      struct type *type = value_type (args[i]);
-      int len = TYPE_LENGTH (type);
-      int stack_word = num_stack_words;
-
-      if (m88k_in_register_p (type))
-	{
-	  int register_word = num_register_words;
-
-	  if (register_word % 2 == 1 && m88k_8_byte_align_p (type))
-	    register_word++;
-
-	  gdb_assert (len == 4 || len == 8);
-
-	  if (register_word + len / 8 < 8)
-	    {
-	      int regnum = M88K_R2_REGNUM + register_word;
-
-	      regcache_raw_write (regcache, regnum, valbuf);
-	      if (len > 4)
-		regcache_raw_write (regcache, regnum + 1, valbuf + 4);
-
-	      num_register_words = (register_word + len / 4);
-	      continue;
-	    }
-	}
-
-      if (stack_word % 2 == -1 && m88k_8_byte_align_p (type))
-	stack_word++;
-
-      write_memory (sp + stack_word * 4, valbuf, len);
-      num_stack_words = (stack_word + (len + 3) / 4);
-    }
-
-  return sp;
-}
-
-static CORE_ADDR
-m88k_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
-		      struct regcache *regcache, CORE_ADDR bp_addr, int nargs,
-		      struct value **args, CORE_ADDR sp, int struct_return,
-		      CORE_ADDR struct_addr)
-{
-  /* Set up the function arguments.  */
-  sp = m88k_store_arguments (regcache, nargs, args, sp);
-  gdb_assert (sp % 16 == 0);
-
-  /* Store return value address.  */
-  if (struct_return)
-    regcache_raw_write_unsigned (regcache, M88K_R12_REGNUM, struct_addr);
-
-  /* Store the stack pointer and return address in the appropriate
-     registers.  */
-  regcache_raw_write_unsigned (regcache, M88K_R31_REGNUM, sp);
-  regcache_raw_write_unsigned (regcache, M88K_R1_REGNUM, bp_addr);
-
-  /* Return the stack pointer.  */
-  return sp;
-}
-
-static struct frame_id
-m88k_dummy_id (struct gdbarch *arch, struct frame_info *this_frame)
-{
-  CORE_ADDR sp;
-
-  sp = get_frame_register_unsigned (this_frame, M88K_R31_REGNUM);
-  return frame_id_build (sp, get_frame_pc (this_frame));
-}
-
-
-/* Determine, for architecture GDBARCH, how a return value of TYPE
-   should be returned.  If it is supposed to be returned in registers,
-   and READBUF is non-zero, read the appropriate value from REGCACHE,
-   and copy it into READBUF.  If WRITEBUF is non-zero, write the value
-   from WRITEBUF into REGCACHE.  */
-
-static enum return_value_convention
-m88k_return_value (struct gdbarch *gdbarch, struct value *function,
-		   struct type *type, struct regcache *regcache,
-		   gdb_byte *readbuf, const gdb_byte *writebuf)
-{
-  int len = TYPE_LENGTH (type);
-  gdb_byte buf[8];
-
-  if (!m88k_integral_or_pointer_p (type) && !m88k_floating_p (type))
-    return RETURN_VALUE_STRUCT_CONVENTION;
-
-  if (readbuf)
-    {
-      /* Read the contents of R2 and (if necessary) R3.  */
-      regcache_cooked_read (regcache, M88K_R2_REGNUM, buf);
-      if (len > 4)
-	{
-	  regcache_cooked_read (regcache, M88K_R3_REGNUM, buf + 4);
-	  gdb_assert (len == 8);
-	  memcpy (readbuf, buf, len);
-	}
-      else
-	{
-	  /* Just stripping off any unused bytes should preserve the
-             signed-ness just fine.  */
-	  memcpy (readbuf, buf + 4 - len, len);
-	}
-    }
-
-  if (writebuf)
-    {
-      /* Read the contents to R2 and (if necessary) R3.  */
-      if (len > 4)
-	{
-	  gdb_assert (len == 8);
-	  memcpy (buf, writebuf, 8);
-	  regcache_cooked_write (regcache, M88K_R3_REGNUM, buf + 4);
-	}
-      else
-	{
-	  /* ??? Do we need to do any sign-extension here?  */
-	  memcpy (buf + 4 - len, writebuf, len);
-	}
-      regcache_cooked_write (regcache, M88K_R2_REGNUM, buf);
-    }
-
-  return RETURN_VALUE_REGISTER_CONVENTION;
-}
-
-/* Default frame unwinder.  */
-
-struct m88k_frame_cache
-{
-  /* Base address.  */
-  CORE_ADDR base;
-  CORE_ADDR pc;
-
-  int sp_offset;
-  int fp_offset;
-
-  /* Table of saved registers.  */
-  struct trad_frame_saved_reg *saved_regs;
-};
-
-/* Prologue analysis.  */
-
-/* Macros for extracting fields from instructions.  */
-
-#define BITMASK(pos, width) (((0x1 << (width)) - 1) << (pos))
-#define EXTRACT_FIELD(val, pos, width) ((val) >> (pos) & BITMASK (0, width))
-#define	SUBU_OFFSET(x)	((unsigned)(x & 0xFFFF))
-#define	ST_OFFSET(x)	((unsigned)((x) & 0xFFFF))
-#define	ST_SRC(x)	EXTRACT_FIELD ((x), 21, 5)
-#define	ADDU_OFFSET(x)	((unsigned)(x & 0xFFFF))
-
-/* Possible actions to be taken by the prologue analyzer for the
-   instructions it encounters.  */
-
-enum m88k_prologue_insn_action
-{
-  M88K_PIA_SKIP,		/* Ignore.  */
-  M88K_PIA_NOTE_ST,		/* Note register store.  */
-  M88K_PIA_NOTE_STD,		/* Note register pair store.  */
-  M88K_PIA_NOTE_SP_ADJUSTMENT,	/* Note stack pointer adjustment.  */
-  M88K_PIA_NOTE_FP_ASSIGNMENT,	/* Note frame pointer assignment.  */
-  M88K_PIA_NOTE_BRANCH,		/* Note branch.  */
-  M88K_PIA_NOTE_PROLOGUE_END	/* Note end of prologue.  */
-};
-
-/* Table of instructions that may comprise a function prologue.  */
-
-struct m88k_prologue_insn
-{
-  unsigned long insn;
-  unsigned long mask;
-  enum m88k_prologue_insn_action action;
-};
-
-struct m88k_prologue_insn m88k_prologue_insn_table[] =
-{
-  /* Various register move instructions.  */
-  { 0x58000000, 0xf800ffff, M88K_PIA_SKIP },     /* or/or.u with immed of 0 */
-  { 0xf4005800, 0xfc1fffe0, M88K_PIA_SKIP },     /* or rd,r0,rs */
-  { 0xf4005800, 0xfc00ffff, M88K_PIA_SKIP },     /* or rd,rs,r0 */
-
-  /* Various other instructions.  */
-  { 0x58000000, 0xf8000000, M88K_PIA_SKIP },     /* or/or.u */
-
-  /* Stack pointer setup: "subu sp,sp,n" where n is a multiple of 8.  */
-  { 0x67ff0000, 0xffff0007, M88K_PIA_NOTE_SP_ADJUSTMENT },
-
-  /* Frame pointer assignment: "addu r30,r31,n".  */
-  { 0x63df0000, 0xffff0000, M88K_PIA_NOTE_FP_ASSIGNMENT },
-
-  /* Store to stack instructions; either "st rx,sp,n" or "st.d rx,sp,n".  */
-  { 0x241f0000, 0xfc1f0000, M88K_PIA_NOTE_ST },  /* st rx,sp,n */
-  { 0x201f0000, 0xfc1f0000, M88K_PIA_NOTE_STD }, /* st.d rs,sp,n */
-
-  /* Instructions needed for setting up r25 for pic code.  */
-  { 0x5f200000, 0xffff0000, M88K_PIA_SKIP },     /* or.u r25,r0,offset_high */
-  { 0xcc000002, 0xffffffff, M88K_PIA_SKIP },     /* bsr.n Lab */
-  { 0x5b390000, 0xffff0000, M88K_PIA_SKIP },     /* or r25,r25,offset_low */
-  { 0xf7396001, 0xffffffff, M88K_PIA_SKIP },     /* Lab: addu r25,r25,r1 */
-
-  /* Various branch or jump instructions which have a delay slot --
-     these do not form part of the prologue, but the instruction in
-     the delay slot might be a store instruction which should be
-     noted.  */
-  { 0xc4000000, 0xe4000000, M88K_PIA_NOTE_BRANCH },
-                                      /* br.n, bsr.n, bb0.n, or bb1.n */
-  { 0xec000000, 0xfc000000, M88K_PIA_NOTE_BRANCH }, /* bcnd.n */
-  { 0xf400c400, 0xfffff7e0, M88K_PIA_NOTE_BRANCH }, /* jmp.n or jsr.n */
-
-  /* Catch all.  Ends prologue analysis.  */
-  { 0x00000000, 0x00000000, M88K_PIA_NOTE_PROLOGUE_END }
-};
-
-/* Do a full analysis of the function prologue at PC and update CACHE
-   accordingly.  Bail out early if LIMIT is reached.  Return the
-   address where the analysis stopped.  If LIMIT points beyond the
-   function prologue, the return address should be the end of the
-   prologue.  */
-
-static CORE_ADDR
-m88k_analyze_prologue (struct gdbarch *gdbarch,
-		       CORE_ADDR pc, CORE_ADDR limit,
-		       struct m88k_frame_cache *cache)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  CORE_ADDR end = limit;
-
-  /* Provide a dummy cache if necessary.  */
-  if (cache == NULL)
-    {
-      cache = XALLOCA (struct m88k_frame_cache);
-      cache->saved_regs =
-        XALLOCAVEC (struct trad_frame_saved_reg, M88K_R31_REGNUM + 1);
-
-      /* We only initialize the members we care about.  */
-      cache->saved_regs[M88K_R1_REGNUM].addr = -1;
-      cache->fp_offset = -1;
-    }
-
-  while (pc < limit)
-    {
-      struct m88k_prologue_insn *pi = m88k_prologue_insn_table;
-      unsigned long insn = m88k_fetch_instruction (pc, byte_order);
-
-      while ((insn & pi->mask) != pi->insn)
-	pi++;
-
-      switch (pi->action)
-	{
-	case M88K_PIA_SKIP:
-	  /* If we have a frame pointer, and R1 has been saved,
-             consider this instruction as not being part of the
-             prologue.  */
-	  if (cache->fp_offset != -1
-	      && cache->saved_regs[M88K_R1_REGNUM].addr != -1)
-	    return std::min (pc, end);
-	  break;
-
-	case M88K_PIA_NOTE_ST:
-	case M88K_PIA_NOTE_STD:
-	  /* If no frame has been allocated, the stores aren't part of
-             the prologue.  */
-	  if (cache->sp_offset == 0)
-	    return std::min (pc, end);
-
-	  /* Record location of saved registers.  */
-	  {
-	    int regnum = ST_SRC (insn) + M88K_R0_REGNUM;
-	    ULONGEST offset = ST_OFFSET (insn);
-
-	    cache->saved_regs[regnum].addr = offset;
-	    if (pi->action == M88K_PIA_NOTE_STD && regnum < M88K_R31_REGNUM)
-	      cache->saved_regs[regnum + 1].addr = offset + 4;
-	  }
-	  break;
-
-	case M88K_PIA_NOTE_SP_ADJUSTMENT:
-	  /* A second stack pointer adjustment isn't part of the
-             prologue.  */
-	  if (cache->sp_offset != 0)
-	    return std::min (pc, end);
-
-	  /* Store stack pointer adjustment.  */
-	  cache->sp_offset = -SUBU_OFFSET (insn);
-	  break;
-
-	case M88K_PIA_NOTE_FP_ASSIGNMENT:
-	  /* A second frame pointer assignment isn't part of the
-             prologue.  */
-	  if (cache->fp_offset != -1)
-	    return std::min (pc, end);
-
-	  /* Record frame pointer assignment.  */
-	  cache->fp_offset = ADDU_OFFSET (insn);
-	  break;
-
-	case M88K_PIA_NOTE_BRANCH:
-	  /* The branch instruction isn't part of the prologue, but
-             the instruction in the delay slot might be.  Limit the
-             prologue analysis to the delay slot and record the branch
-             instruction as the end of the prologue.  */
-	  limit = std::min (limit, pc + 2 * M88K_INSN_SIZE);
-	  end = pc;
-	  break;
-
-	case M88K_PIA_NOTE_PROLOGUE_END:
-	  return std::min (pc, end);
-	}
-
-      pc += M88K_INSN_SIZE;
-    }
-
-  return end;
-}
-
-/* An upper limit to the size of the prologue.  */
-const int m88k_max_prologue_size = 128 * M88K_INSN_SIZE;
-
-/* Return the address of first real instruction of the function
-   starting at PC.  */
-
-static CORE_ADDR
-m88k_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
-{
-  struct symtab_and_line sal;
-  CORE_ADDR func_start, func_end;
-
-  /* This is the preferred method, find the end of the prologue by
-     using the debugging information.  */
-  if (find_pc_partial_function (pc, NULL, &func_start, &func_end))
-    {
-      sal = find_pc_line (func_start, 0);
-
-      if (sal.end < func_end && pc <= sal.end)
-	return sal.end;
-    }
-
-  return m88k_analyze_prologue (gdbarch, pc, pc + m88k_max_prologue_size,
-				NULL);
-}
-
-static struct m88k_frame_cache *
-m88k_frame_cache (struct frame_info *this_frame, void **this_cache)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  struct m88k_frame_cache *cache;
-  CORE_ADDR frame_sp;
-
-  if (*this_cache)
-    return (struct m88k_frame_cache *) *this_cache;
-
-  cache = FRAME_OBSTACK_ZALLOC (struct m88k_frame_cache);
-  cache->saved_regs = trad_frame_alloc_saved_regs (this_frame);
-  cache->fp_offset = -1;
-
-  cache->pc = get_frame_func (this_frame);
-  if (cache->pc != 0)
-    m88k_analyze_prologue (gdbarch, cache->pc, get_frame_pc (this_frame),
-			   cache);
-
-  /* Calculate the stack pointer used in the prologue.  */
-  if (cache->fp_offset != -1)
-    {
-      CORE_ADDR fp;
-
-      fp = get_frame_register_unsigned (this_frame, M88K_R30_REGNUM);
-      frame_sp = fp - cache->fp_offset;
-    }
-  else
-    {
-      /* If we know where the return address is saved, we can take a
-         solid guess at what the frame pointer should be.  */
-      if (cache->saved_regs[M88K_R1_REGNUM].addr != -1)
-	cache->fp_offset = cache->saved_regs[M88K_R1_REGNUM].addr - 4;
-      frame_sp = get_frame_register_unsigned (this_frame, M88K_R31_REGNUM);
-    }
-
-  /* Now that we know the stack pointer, adjust the location of the
-     saved registers.  */
-  {
-    int regnum;
-
-    for (regnum = M88K_R0_REGNUM; regnum < M88K_R31_REGNUM; regnum ++)
-      if (cache->saved_regs[regnum].addr != -1)
-	cache->saved_regs[regnum].addr += frame_sp;
-  }
-
-  /* Calculate the frame's base.  */
-  cache->base = frame_sp - cache->sp_offset;
-  trad_frame_set_value (cache->saved_regs, M88K_R31_REGNUM, cache->base);
-
-  /* Identify SXIP with the return address in R1.  */
-  cache->saved_regs[M88K_SXIP_REGNUM] = cache->saved_regs[M88K_R1_REGNUM];
-
-  *this_cache = cache;
-  return cache;
-}
-
-static void
-m88k_frame_this_id (struct frame_info *this_frame, void **this_cache,
-		    struct frame_id *this_id)
-{
-  struct m88k_frame_cache *cache = m88k_frame_cache (this_frame, this_cache);
-
-  /* This marks the outermost frame.  */
-  if (cache->base == 0)
-    return;
-
-  (*this_id) = frame_id_build (cache->base, cache->pc);
-}
-
-static struct value *
-m88k_frame_prev_register (struct frame_info *this_frame,
-			  void **this_cache, int regnum)
-{
-  struct m88k_frame_cache *cache = m88k_frame_cache (this_frame, this_cache);
-
-  if (regnum == M88K_SNIP_REGNUM || regnum == M88K_SFIP_REGNUM)
-    {
-      struct value *value;
-      CORE_ADDR pc;
-
-      value = trad_frame_get_prev_register (this_frame, cache->saved_regs,
-					    M88K_SXIP_REGNUM);
-      pc = value_as_long (value);
-      release_value (value);
-      value_free (value);
-
-      if (regnum == M88K_SFIP_REGNUM)
-	pc += 4;
-
-      return frame_unwind_got_constant (this_frame, regnum, pc + 4);
-    }
-
-  return trad_frame_get_prev_register (this_frame, cache->saved_regs, regnum);
-}
-
-static const struct frame_unwind m88k_frame_unwind =
-{
-  NORMAL_FRAME,
-  default_frame_unwind_stop_reason,
-  m88k_frame_this_id,
-  m88k_frame_prev_register,
-  NULL,
-  default_frame_sniffer
-};
-
-
-static CORE_ADDR
-m88k_frame_base_address (struct frame_info *this_frame, void **this_cache)
-{
-  struct m88k_frame_cache *cache = m88k_frame_cache (this_frame, this_cache);
-
-  if (cache->fp_offset != -1)
-    return cache->base + cache->sp_offset + cache->fp_offset;
-
-  return 0;
-}
-
-static const struct frame_base m88k_frame_base =
-{
-  &m88k_frame_unwind,
-  m88k_frame_base_address,
-  m88k_frame_base_address,
-  m88k_frame_base_address
-};
-
-
-/* Core file support.  */
-
-/* Supply register REGNUM from the buffer specified by GREGS and LEN
-   in the general-purpose register set REGSET to register cache
-   REGCACHE.  If REGNUM is -1, do this for all registers in REGSET.  */
-
-static void
-m88k_supply_gregset (const struct regset *regset,
-		     struct regcache *regcache,
-		     int regnum, const void *gregs, size_t len)
-{
-  const gdb_byte *regs = (const gdb_byte *) gregs;
-  int i;
-
-  for (i = 0; i < M88K_NUM_REGS; i++)
-    {
-      if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + i * 4);
-    }
-}
-
-/* Motorola 88000 register set.  */
-
-static const struct regset m88k_gregset =
-{
-  NULL,
-  m88k_supply_gregset
-};
-
-/* Iterate over supported core file register note sections. */
-
-static void
-m88k_iterate_over_regset_sections (struct gdbarch *gdbarch,
-				   iterate_over_regset_sections_cb *cb,
-				   void *cb_data,
-				   const struct regcache *regcache)
-{
-  cb (".reg", M88K_NUM_REGS * 4, &m88k_gregset, NULL, cb_data);
-}
-
-
-static struct gdbarch *
-m88k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
-{
-  struct gdbarch *gdbarch;
-
-  /* If there is already a candidate, use it.  */
-  arches = gdbarch_list_lookup_by_info (arches, &info);
-  if (arches != NULL)
-    return arches->gdbarch;
-
-  /* Allocate space for the new architecture.  */
-  gdbarch = gdbarch_alloc (&info, NULL);
-
-  /* There is no real `long double'.  */
-  set_gdbarch_long_double_bit (gdbarch, 64);
-  set_gdbarch_long_double_format (gdbarch, floatformats_ieee_double);
-
-  set_gdbarch_num_regs (gdbarch, M88K_NUM_REGS);
-  set_gdbarch_register_name (gdbarch, m88k_register_name);
-  set_gdbarch_register_type (gdbarch, m88k_register_type);
-
-  /* Register numbers of various important registers.  */
-  set_gdbarch_sp_regnum (gdbarch, M88K_R31_REGNUM);
-  set_gdbarch_pc_regnum (gdbarch, M88K_SXIP_REGNUM);
-
-  /* Core file support.  */
-  set_gdbarch_iterate_over_regset_sections
-    (gdbarch, m88k_iterate_over_regset_sections);
-
-  set_gdbarch_skip_prologue (gdbarch, m88k_skip_prologue);
-
-  /* Stack grows downward.  */
-  set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-
-  /* Call dummy code.  */
-  set_gdbarch_push_dummy_call (gdbarch, m88k_push_dummy_call);
-  set_gdbarch_dummy_id (gdbarch, m88k_dummy_id);
-
-  /* Return value info.  */
-  set_gdbarch_return_value (gdbarch, m88k_return_value);
-
-  set_gdbarch_addr_bits_remove (gdbarch, m88k_addr_bits_remove);
-  set_gdbarch_breakpoint_kind_from_pc (gdbarch, m88k_breakpoint::kind_from_pc);
-  set_gdbarch_sw_breakpoint_from_kind (gdbarch, m88k_breakpoint::bp_from_kind);
-  set_gdbarch_unwind_pc (gdbarch, m88k_unwind_pc);
-  set_gdbarch_write_pc (gdbarch, m88k_write_pc);
-
-  frame_base_set_default (gdbarch, &m88k_frame_base);
-  frame_unwind_append_unwinder (gdbarch, &m88k_frame_unwind);
-
-  return gdbarch;
-}
-
-void
-_initialize_m88k_tdep (void)
-{
-  gdbarch_register (bfd_arch_m88k, m88k_gdbarch_init, 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.1.0.20180703/gdb/m88k-tdep.h ./gdb/m88k-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/m88k-tdep.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/m88k-tdep.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,47 +0,0 @@
-/* Target-dependent code for the Motorola 88000 series.
-
-   Copyright (C) 2004-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef M88K_TDEP_H
-#define M88K_TDEP_H
-
-/* Register numbers of various important registers.  */
-
-enum m88k_regnum
-{
-  M88K_R0_REGNUM,
-  M88K_R1_REGNUM,		/* Return address (hardware).  */
-  M88K_R2_REGNUM,
-  M88K_R3_REGNUM,
-  M88K_R12_REGNUM = 12,
-  M88K_R30_REGNUM = 30,		/* Frame pointer.  */
-  M88K_R31_REGNUM,		/* Stack pointer.  */
-  M88K_EPSR_REGNUM,
-  M88K_FPSR_REGNUM,
-  M88K_FPCR_REGNUM,
-  M88K_SXIP_REGNUM,
-  M88K_SNIP_REGNUM,
-  M88K_SFIP_REGNUM,
-  M88K_NUM_REGS			/* Number of machine registers.  */
-
-};
-
-/* Instruction size.  */
-#define M88K_INSN_SIZE 4
-
-#endif /* m88k-tdep.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/machoread.c ./gdb/machoread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/machoread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/machoread.c	2018-07-10 02:06:13.000000000 +0000
@@ -34,6 +34,7 @@
 #include "complaints.h"
 #include "gdb_bfd.h"
 #include <string>
+#include <algorithm>
 
 /* If non-zero displays debugging message.  */
 static unsigned int mach_o_debug_level = 0;
@@ -45,8 +46,17 @@ static unsigned int mach_o_debug_level =
    creates such a structure.  They are read after the processing of the
    executable.  */
 
-typedef struct oso_el
+struct oso_el
 {
+  oso_el (asymbol **oso_sym_, asymbol **end_sym_, unsigned int nbr_syms_)
+    : name((*oso_sym_)->name),
+      mtime((*oso_sym_)->value),
+      oso_sym(oso_sym_),
+      end_sym(end_sym_),
+      nbr_syms(nbr_syms_)
+  {
+  }
+
   /* Object file name.  Can also be a member name.  */
   const char *name;
 
@@ -59,11 +69,7 @@ typedef struct oso_el
 
   /* Number of interesting stabs in the range.  */
   unsigned int nbr_syms;
-}
-oso_el;
-
-/* Vector of object files to be read after the executable.  */
-DEF_VEC_O (oso_el);
+};
 
 static void
 macho_new_init (struct objfile *objfile)
@@ -76,24 +82,6 @@ macho_symfile_init (struct objfile *objf
   objfile->flags |= OBJF_REORDERED;
 }
 
-/*  Add a new OSO to the vector of OSO to load.  */
-
-static void
-macho_register_oso (VEC (oso_el) **oso_vector_ptr,
-		    struct objfile *objfile,
-                    asymbol **oso_sym, asymbol **end_sym,
-                    unsigned int nbr_syms)
-{
-  oso_el el;
-
-  el.name = (*oso_sym)->name;
-  el.mtime = (*oso_sym)->value;
-  el.oso_sym = oso_sym;
-  el.end_sym = end_sym;
-  el.nbr_syms = nbr_syms;
-  VEC_safe_push (oso_el, *oso_vector_ptr, &el);
-}
-
 /* Add symbol SYM to the minimal symbol table of OBJFILE.  */
 
 static void
@@ -161,7 +149,7 @@ static void
 macho_symtab_read (minimal_symbol_reader &reader,
 		   struct objfile *objfile,
 		   long number_of_symbols, asymbol **symbol_table,
-		   VEC (oso_el) **oso_vector_ptr)
+		   std::vector<oso_el> *oso_vector_ptr)
 {
   long i;
   const asymbol *file_so = NULL;
@@ -203,8 +191,7 @@ macho_symtab_read (minimal_symbol_reader
 	      if (sym->name == NULL || sym->name[0] == 0)
                 {
                   /* Unexpected empty N_SO.  */
-                  complaint (&symfile_complaints,
-                             _("Unexpected empty N_SO stab"));
+                  complaint (_("Unexpected empty N_SO stab"));
                 }
               else
                 {
@@ -221,8 +208,7 @@ macho_symtab_read (minimal_symbol_reader
                 }
 
               /* Debugging symbols are not expected here.  */
-              complaint (&symfile_complaints,
-                         _("%s: Unexpected debug stab outside SO markers"),
+              complaint (_("%s: Unexpected debug stab outside SO markers"),
                          objfile_name (objfile));
             }
           else
@@ -239,7 +225,7 @@ macho_symtab_read (minimal_symbol_reader
 	      if (sym->name == NULL || sym->name[0] == 0)
                 {
                   /* Unexpected empty N_SO.  */
-                  complaint (&symfile_complaints, _("Empty SO section"));
+                  complaint (_("Empty SO section"));
                   state = S_NO_SO;
                 }
               else if (state == S_FIRST_SO)
@@ -249,7 +235,7 @@ macho_symtab_read (minimal_symbol_reader
                   state = S_SECOND_SO;
                 }
               else
-                complaint (&symfile_complaints, _("Three SO in a raw"));
+                complaint (_("Three SO in a raw"));
             }
           else if (mach_o_sym->n_type == N_OSO)
             {
@@ -270,8 +256,7 @@ macho_symtab_read (minimal_symbol_reader
                 }
             }
           else
-            complaint (&symfile_complaints,
-                       _("Unexpected stab after SO"));
+            complaint (_("Unexpected stab after SO"));
           break;
 
         case S_STAB_FILE:
@@ -282,14 +267,13 @@ macho_symtab_read (minimal_symbol_reader
                 {
                   /* End of file.  */
                   if (state == S_DWARF_FILE)
-                    macho_register_oso (oso_vector_ptr, objfile,
-					oso_file, symbol_table + i,
-                                        nbr_syms);
+		    oso_vector_ptr->emplace_back (oso_file, symbol_table + i,
+						  nbr_syms);
                   state = S_NO_SO;
                 }
               else
                 {
-                  complaint (&symfile_complaints, _("Missing nul SO"));
+                  complaint (_("Missing nul SO"));
                   file_so = sym;
                   state = S_FIRST_SO;
                 }
@@ -317,21 +301,19 @@ macho_symtab_read (minimal_symbol_reader
                     case N_GSYM:
                       break;
                     default:
-                      complaint (&symfile_complaints,
-                                 _("unhandled stab for dwarf OSO file"));
+                      complaint (_("unhandled stab for dwarf OSO file"));
                       break;
                     }
                 }
             }
           else
-            complaint (&symfile_complaints,
-                       _("non-debugging symbol within SO"));
+            complaint (_("non-debugging symbol within SO"));
           break;
         }
     }
 
   if (state != S_NO_SO)
-    complaint (&symfile_complaints, _("missing nul SO"));
+    complaint (_("missing nul SO"));
 }
 
 /* If NAME describes an archive member (ie: ARCHIVE '(' MEMBER ')'),
@@ -353,16 +335,13 @@ get_archive_prefix_len (const char *name
   return lparen - name;
 }
 
-/* Compare function to qsort OSOs, so that members of a library are
-   gathered.  */
+/* Compare function to std::sort OSOs, so that members of a library
+   are gathered.  */
 
-static int
-oso_el_compare_name (const void *vl, const void *vr)
+static bool
+oso_el_compare_name (const oso_el &l, const oso_el &r)
 {
-  const oso_el *l = (const oso_el *)vl;
-  const oso_el *r = (const oso_el *)vr;
-
-  return strcmp (l->name, r->name);
+  return strcmp (l.name, r.name) < 0;
 }
 
 /* Hash table entry structure for the stabs symbols in the main object file.
@@ -512,8 +491,7 @@ macho_add_oso_symfile (oso_el *oso, cons
           ent = (struct macho_sym_hash_entry *)
             bfd_hash_lookup (&table, sym->name, TRUE, FALSE);
           if (ent->sym != NULL)
-            complaint (&symfile_complaints,
-                       _("Duplicated symbol %s in symbol table"), sym->name);
+            complaint (_("Duplicated symbol %s in symbol table"), sym->name);
           else
             {
               if (mach_o_debug_level > 4)
@@ -627,22 +605,23 @@ macho_add_oso_symfile (oso_el *oso, cons
    Note that this function sorts OSO_VECTOR_PTR.  */
 
 static void
-macho_symfile_read_all_oso (VEC (oso_el) **oso_vector_ptr,
+macho_symfile_read_all_oso (std::vector<oso_el> *oso_vector_ptr,
 			    struct objfile *main_objfile,
 			    symfile_add_flags symfile_flags)
 {
   int ix;
-  VEC (oso_el) *vec = *oso_vector_ptr;
   oso_el *oso;
 
   /* Sort oso by name so that files from libraries are gathered.  */
-  qsort (VEC_address (oso_el, vec), VEC_length (oso_el, vec),
-         sizeof (oso_el), oso_el_compare_name);
+  std::sort (oso_vector_ptr->begin (), oso_vector_ptr->end (),
+	     oso_el_compare_name);
 
-  for (ix = 0; VEC_iterate (oso_el, vec, ix, oso);)
+  for (ix = 0; ix < oso_vector_ptr->size (); ++ix)
     {
       int pfx_len;
 
+      oso = &(*oso_vector_ptr)[ix];
+
       /* Check if this is a library name.  */
       pfx_len = get_archive_prefix_len (oso->name);
       if (pfx_len > 0)
@@ -654,9 +633,9 @@ macho_symfile_read_all_oso (VEC (oso_el)
 	  std::string archive_name (oso->name, pfx_len);
 
           /* Compute number of oso for this archive.  */
-          for (last_ix = ix;
-               VEC_iterate (oso_el, vec, last_ix, oso2); last_ix++)
+          for (last_ix = ix; last_ix < oso_vector_ptr->size (); last_ix++)
             {
+	      oso2 = &(*oso_vector_ptr)[last_ix];
               if (strncmp (oso2->name, archive_name.c_str (), pfx_len) != 0)
                 break;
             }
@@ -699,7 +678,7 @@ macho_symfile_read_all_oso (VEC (oso_el)
               /* If this member is referenced, add it as a symfile.  */
               for (ix2 = ix; ix2 < last_ix; ix2++)
                 {
-                  oso2 = VEC_index (oso_el, vec, ix2);
+                  oso2 = &(*oso_vector_ptr)[ix2];
 
                   if (oso2->name
                       && strlen (oso2->name) == pfx_len + member_len + 2
@@ -719,7 +698,7 @@ macho_symfile_read_all_oso (VEC (oso_el)
 	    }
           for (ix2 = ix; ix2 < last_ix; ix2++)
             {
-              oso_el *oso2 = VEC_index (oso_el, vec, ix2);
+              oso_el *oso2 = &(*oso_vector_ptr)[ix2];
 
               if (oso2->name != NULL)
                 warning (_("Could not find specified archive member "
@@ -750,12 +729,12 @@ macho_symfile_read_all_oso (VEC (oso_el)
 #define DSYM_SUFFIX ".dSYM/Contents/Resources/DWARF/"
 
 /* Check if a dsym file exists for OBJFILE.  If so, returns a bfd for it
-   and return *FILENAMEP with its original xmalloc-ated filename.
+   and return *FILENAMEP with its original filename.
    Return NULL if no valid dsym file is found (FILENAMEP is not used in
    such case).  */
 
 static gdb_bfd_ref_ptr
-macho_check_dsym (struct objfile *objfile, char **filenamep)
+macho_check_dsym (struct objfile *objfile, std::string *filenamep)
 {
   size_t name_len = strlen (objfile_name (objfile));
   size_t dsym_len = strlen (DSYM_SUFFIX);
@@ -804,7 +783,7 @@ macho_check_dsym (struct objfile *objfil
 	       objfile_name (objfile));
       return NULL;
     }
-  *filenamep = xstrdup (dsym_filename);
+  *filenamep = std::string (dsym_filename);
   return dsym_bfd;
 }
 
@@ -813,15 +792,17 @@ macho_symfile_read (struct objfile *objf
 {
   bfd *abfd = objfile->obfd;
   long storage_needed;
-  VEC (oso_el) *oso_vector = NULL;
-  struct cleanup *old_chain = make_cleanup (VEC_cleanup (oso_el), &oso_vector);
+  std::vector<oso_el> oso_vector;
+  /* We have to hold on to the symbol table until the call to
+     macho_symfile_read_all_oso at the end of this function.  */
+  gdb::def_vector<asymbol *> symbol_table;
 
   /* Get symbols from the symbol table only if the file is an executable.
      The symbol table of object files is not relocated and is expected to
      be in the executable.  */
   if (bfd_get_file_flags (abfd) & (EXEC_P | DYNAMIC))
     {
-      char *dsym_filename;
+      std::string dsym_filename;
 
       /* Process the normal symbol table first.  */
       storage_needed = bfd_get_symtab_upper_bound (objfile->obfd);
@@ -832,22 +813,21 @@ macho_symfile_read (struct objfile *objf
 
       if (storage_needed > 0)
 	{
-	  asymbol **symbol_table;
 	  long symcount;
 
-	  symbol_table = (asymbol **) xmalloc (storage_needed);
-	  make_cleanup (xfree, symbol_table);
+	  symbol_table.resize (storage_needed / sizeof (asymbol *));
 
           minimal_symbol_reader reader (objfile);
 
-	  symcount = bfd_canonicalize_symtab (objfile->obfd, symbol_table);
+	  symcount = bfd_canonicalize_symtab (objfile->obfd,
+					      symbol_table.data ());
 
 	  if (symcount < 0)
 	    error (_("Can't read symbols from %s: %s"),
 		   bfd_get_filename (objfile->obfd),
 		   bfd_errmsg (bfd_get_error ()));
 
-	  macho_symtab_read (reader, objfile, symcount, symbol_table,
+	  macho_symtab_read (reader, objfile, symcount, symbol_table.data (),
 			     &oso_vector);
 
           reader.install ();
@@ -865,8 +845,6 @@ macho_symfile_read (struct objfile *objf
 	{
           struct bfd_section *asect, *dsect;
 
-	  make_cleanup (xfree, dsym_filename);
-
 	  if (mach_o_debug_level > 0)
 	    printf_unfiltered (_("dsym file found\n"));
 
@@ -882,11 +860,10 @@ macho_symfile_read (struct objfile *objf
             }
 
 	  /* Add the dsym file as a separate file.  */
-          symbol_file_add_separate (dsym_bfd.get (), dsym_filename,
+          symbol_file_add_separate (dsym_bfd.get (), dsym_filename.c_str (),
 				    symfile_flags, objfile);
 
 	  /* Don't try to read dwarf2 from main file or shared libraries.  */
-	  do_cleanups (old_chain);
           return;
 	}
     }
@@ -898,10 +875,8 @@ macho_symfile_read (struct objfile *objf
     }
 
   /* Then the oso.  */
-  if (oso_vector != NULL)
+  if (!oso_vector.empty ())
     macho_symfile_read_all_oso (&oso_vector, objfile, symfile_flags);
-
-  do_cleanups (old_chain);
 }
 
 static bfd_byte *
@@ -929,7 +904,7 @@ macho_symfile_finish (struct objfile *ob
 
 static void
 macho_symfile_offsets (struct objfile *objfile,
-                       const struct section_addr_info *addrs)
+                       const section_addr_info &addrs)
 {
   unsigned int i;
   struct obj_section *osect;
@@ -951,15 +926,15 @@ macho_symfile_offsets (struct objfile *o
      N.B. if an objfile slides after we've already created it, then it
      goes through objfile_relocate.  */
 
-  for (i = 0; i < addrs->num_sections; i++)
+  for (i = 0; i < addrs.size (); i++)
     {
       ALL_OBJFILE_OSECTIONS (objfile, osect)
 	{
 	  const char *bfd_sect_name = osect->the_bfd_section->name;
 
-	  if (strcmp (bfd_sect_name, addrs->other[i].name) == 0)
+	  if (bfd_sect_name == addrs[i].name)
 	    {
-	      obj_section_offset (osect) = addrs->other[i].addr;
+	      obj_section_offset (osect) = addrs[i].addr;
 	      break;
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/macrocmd.c ./gdb/macrocmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/macrocmd.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/macrocmd.c	2018-07-10 02:06:13.000000000 +0000
@@ -55,11 +55,8 @@ macro_inform_no_debuginfo (void)
 static void
 macro_expand_command (const char *exp, int from_tty)
 {
-  struct macro_scope *ms = NULL;
-  char *expanded = NULL;
-  struct cleanup *cleanup_chain = make_cleanup (free_current_contents, &ms);
-
-  make_cleanup (free_current_contents, &expanded);
+  gdb::unique_xmalloc_ptr<struct macro_scope> ms;
+  gdb::unique_xmalloc_ptr<char> expanded;
 
   /* You know, when the user doesn't specify any expression, it would be
      really cool if this defaulted to the last expression evaluated.
@@ -74,26 +71,21 @@ macro_expand_command (const char *exp, i
   ms = default_macro_scope ();
   if (ms)
     {
-      expanded = macro_expand (exp, standard_macro_lookup, ms);
+      expanded = macro_expand (exp, standard_macro_lookup, ms.get ());
       fputs_filtered ("expands to: ", gdb_stdout);
-      fputs_filtered (expanded, gdb_stdout);
+      fputs_filtered (expanded.get (), gdb_stdout);
       fputs_filtered ("\n", gdb_stdout);
     }
   else
     macro_inform_no_debuginfo ();
-
-  do_cleanups (cleanup_chain);
-  return;
 }
 
 
 static void
 macro_expand_once_command (const char *exp, int from_tty)
 {
-  struct macro_scope *ms = NULL;
-  char *expanded = NULL;
-  struct cleanup *cleanup_chain = make_cleanup (free_current_contents, &ms);
-  make_cleanup (free_current_contents, &expanded);
+  gdb::unique_xmalloc_ptr<struct macro_scope> ms;
+  gdb::unique_xmalloc_ptr<char> expanded;
 
   /* You know, when the user doesn't specify any expression, it would be
      really cool if this defaulted to the last expression evaluated.
@@ -108,16 +100,13 @@ macro_expand_once_command (const char *e
   ms = default_macro_scope ();
   if (ms)
     {
-      expanded = macro_expand_once (exp, standard_macro_lookup, ms);
+      expanded = macro_expand_once (exp, standard_macro_lookup, ms.get ());
       fputs_filtered ("expands to: ", gdb_stdout);
-      fputs_filtered (expanded, gdb_stdout);
+      fputs_filtered (expanded.get (), gdb_stdout);
       fputs_filtered ("\n", gdb_stdout);
     }
   else
     macro_inform_no_debuginfo ();
-
-  do_cleanups (cleanup_chain);
-  return;
 }
 
 /*  Outputs the include path of a macro starting at FILE and LINE to STREAM.
@@ -190,8 +179,7 @@ print_macro_definition (const char *name
 static void
 info_macro_command (const char *args, int from_tty)
 {
-  struct macro_scope *ms = NULL;
-  struct cleanup *cleanup_chain;
+  gdb::unique_xmalloc_ptr<struct macro_scope> ms;
   const char *name;
   int show_all_macros_named = 0;
   const char *arg_start = args;
@@ -228,7 +216,6 @@ info_macro_command (const char *args, in
 	     "whose definition you want to see."));
 
   ms = default_macro_scope ();
-  cleanup_chain = make_cleanup (free_current_contents, &ms);
 
   if (! ms)
     macro_inform_no_debuginfo ();
@@ -263,16 +250,13 @@ info_macro_command (const char *args, in
           show_pp_source_pos (gdb_stdout, ms->file, ms->line);
 	}
     }
-
-  do_cleanups (cleanup_chain);
 }
 
 /* Implementation of the "info macros" command. */
 static void
 info_macros_command (const char *args, int from_tty)
 {
-  struct macro_scope *ms = NULL;
-  struct cleanup *cleanup_chain = make_cleanup (free_current_contents, &ms);
+  gdb::unique_xmalloc_ptr<struct macro_scope> ms;
 
   if (args == NULL)
     ms = default_macro_scope ();
@@ -289,8 +273,6 @@ info_macros_command (const char *args, i
     macro_inform_no_debuginfo ();
   else
     macro_for_each_in_scope (ms->file, ms->line, print_macro_definition);
-
-  do_cleanups (cleanup_chain);
 }
 
 
@@ -342,35 +324,37 @@ extract_identifier (const char **expp, i
   return result;
 }
 
-/* Helper function to clean up a temporarily-constructed macro object.
-   This assumes that the contents were all allocated with xmalloc.  */
-static void
-free_macro_definition_ptr (void *ptr)
+struct temporary_macro_definition : public macro_definition
 {
-  int i;
-  struct macro_definition *loc = (struct macro_definition *) ptr;
-
-  for (i = 0; i < loc->argc; ++i)
-    xfree ((char *) loc->argv[i]);
-  xfree ((char *) loc->argv);
-  /* Note that the 'replacement' field is not allocated.  */
-}
+  temporary_macro_definition ()
+  {
+    table = nullptr;
+    kind = macro_object_like;
+    argc = 0;
+    argv = nullptr;
+    replacement = nullptr;
+  }
+
+  ~temporary_macro_definition ()
+  {
+    int i;
+
+    for (i = 0; i < argc; ++i)
+      xfree ((char *) argv[i]);
+    xfree ((char *) argv);
+    /* Note that the 'replacement' field is not allocated.  */
+  }
+};
 
 static void
 macro_define_command (const char *exp, int from_tty)
 {
-  struct macro_definition new_macro;
+  temporary_macro_definition new_macro;
   char *name = NULL;
-  struct cleanup *cleanup_chain;
 
   if (!exp)
     error (_("usage: macro define NAME[(ARGUMENT-LIST)] [REPLACEMENT-LIST]"));
 
-  cleanup_chain = make_cleanup (free_macro_definition_ptr, &new_macro);
-  make_cleanup (free_current_contents, &name);
-
-  memset (&new_macro, 0, sizeof (struct macro_definition));
-
   skip_ws (&exp);
   name = extract_identifier (&exp, 0);
   if (! name)
@@ -433,8 +417,6 @@ macro_define_command (const char *exp, i
       skip_ws (&exp);
       macro_define_object (macro_main (macro_user_macros), -1, name, exp);
     }
-
-  do_cleanups (cleanup_chain);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/macroexp.c ./gdb/macroexp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/macroexp.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/macroexp.c	2018-07-10 02:06:13.000000000 +0000
@@ -65,121 +65,110 @@ struct macro_buffer
      no token abutting the end of TEXT (it's just whitespace), and
      again, we set this equal to LEN.  We set this to -1 if we don't
      know the nature of TEXT.  */
-  int last_token;
+  int last_token = -1;
 
   /* If this buffer is holding the result from get_token, then this 
      is non-zero if it is an identifier token, zero otherwise.  */
-  int is_identifier;
-};
-
-
-/* Set the macro buffer *B to the empty string, guessing that its
-   final contents will fit in N bytes.  (It'll get resized if it
-   doesn't, so the guess doesn't have to be right.)  Allocate the
-   initial storage with xmalloc.  */
-static void
-init_buffer (struct macro_buffer *b, int n)
-{
-  b->size = n;
-  if (n > 0)
-    b->text = (char *) xmalloc (n);
-  else
-    b->text = NULL;
-  b->len = 0;
-  b->shared = false;
-  b->last_token = -1;
-}
-
-
-/* Set the macro buffer *BUF to refer to the LEN bytes at ADDR, as a
-   shared substring.  */
-
-static void
-init_shared_buffer (struct macro_buffer *buf, const char *addr, int len)
-{
-  /* The function accept a "const char *" addr so that clients can
-     pass in string literals without casts.  */
-  buf->text = (char *) addr;
-  buf->len = len;
-  buf->shared = true;
-  buf->size = 0;
-  buf->last_token = -1;
-}
+  int is_identifier = 0;
 
 
-/* Free the text of the buffer B.  Raise an error if B is shared.  */
-static void
-free_buffer (struct macro_buffer *b)
-{
-  gdb_assert (! b->shared);
-  if (b->size)
-    xfree (b->text);
-}
+  macro_buffer ()
+    : text (NULL),
+      len (0),
+      size (0),
+      shared (false)
+  {
+  }
 
-/* Like free_buffer, but return the text as an xstrdup()d string.
-   This only exists to try to make the API relatively clean.  */
+  /* Set the macro buffer to the empty string, guessing that its
+     final contents will fit in N bytes.  (It'll get resized if it
+     doesn't, so the guess doesn't have to be right.)  Allocate the
+     initial storage with xmalloc.  */
+  explicit macro_buffer (int n)
+    : len (0),
+      size (n),
+      shared (false)
+  {
+    if (n > 0)
+      text = (char *) xmalloc (n);
+    else
+      text = NULL;
+  }
 
-static char *
-free_buffer_return_text (struct macro_buffer *b)
-{
-  gdb_assert (! b->shared);
-  gdb_assert (b->size);
-  /* Nothing to do.  */
-  return b->text;
-}
+  /* Set the macro buffer to refer to the LEN bytes at ADDR, as a
+     shared substring.  */
+  macro_buffer (const char *addr, int len)
+  {
+    set_shared (addr, len);
+  }
 
-/* A cleanup function for macro buffers.  */
-static void
-cleanup_macro_buffer (void *untyped_buf)
-{
-  free_buffer ((struct macro_buffer *) untyped_buf);
-}
+  /* Set the macro buffer to refer to the LEN bytes at ADDR, as a
+     shared substring.  */
+  void set_shared (const char *addr, int len_)
+  {
+    text = (char *) addr;
+    len = len_;
+    size = 0;
+    shared = true;
+  }
 
+  ~macro_buffer ()
+  {
+    if (! shared && size)
+      xfree (text);
+  }
 
-/* Resize the buffer B to be at least N bytes long.  Raise an error if
-   B shouldn't be resized.  */
-static void
-resize_buffer (struct macro_buffer *b, int n)
-{
-  /* We shouldn't be trying to resize shared strings.  */
-  gdb_assert (! b->shared);
-  
-  if (b->size == 0)
-    b->size = n;
-  else
-    while (b->size <= n)
-      b->size *= 2;
+  /* Release the text of the buffer to the caller, which is now
+     responsible for freeing it.  */
+  char *release ()
+  {
+    gdb_assert (! shared);
+    gdb_assert (size);
+    char *result = text;
+    text = NULL;
+    return result;
+  }
 
-  b->text = (char *) xrealloc (b->text, b->size);
-}
+  /* Resize the buffer to be at least N bytes long.  Raise an error if
+     the buffer shouldn't be resized.  */
+  void resize_buffer (int n)
+  {
+    /* We shouldn't be trying to resize shared strings.  */
+    gdb_assert (! shared);
 
+    if (size == 0)
+      size = n;
+    else
+      while (size <= n)
+	size *= 2;
 
-/* Append the character C to the buffer B.  */
-static void
-appendc (struct macro_buffer *b, int c)
-{
-  int new_len = b->len + 1;
+    text = (char *) xrealloc (text, size);
+  }
 
-  if (new_len > b->size)
-    resize_buffer (b, new_len);
+  /* Append the character C to the buffer.  */
+  void appendc (int c)
+  {
+    int new_len = len + 1;
 
-  b->text[b->len] = c;
-  b->len = new_len;
-}
+    if (new_len > size)
+      resize_buffer (new_len);
 
+    text[len] = c;
+    len = new_len;
+  }
 
-/* Append the LEN bytes at ADDR to the buffer B.  */
-static void
-appendmem (struct macro_buffer *b, const char *addr, int len)
-{
-  int new_len = b->len + len;
+  /* Append the COUNT bytes at ADDR to the buffer.  */
+  void appendmem (const char *addr, int count)
+  {
+    int new_len = len + count;
 
-  if (new_len > b->size)
-    resize_buffer (b, new_len);
+    if (new_len > size)
+      resize_buffer (new_len);
 
-  memcpy (b->text + b->len, addr, len);
-  b->len = new_len;
-}
+    memcpy (text + len, addr, count);
+    len = new_len;
+  }
+};
 
 
 
@@ -216,7 +205,7 @@ macro_is_identifier_nondigit (int c)
 static void
 set_token (struct macro_buffer *tok, char *start, char *end)
 {
-  init_shared_buffer (tok, start, end - start);
+  tok->set_shared (start, end - start);
   tok->last_token = 0;
 
   /* Presumed; get_identifier may overwrite this.  */
@@ -596,7 +585,7 @@ append_tokens_without_splicing (struct m
   
   /* First, just try appending the two, and call get_token to see if
      we got a splice.  */
-  appendmem (dest, src->text, src->len);
+  dest->appendmem (src->text, src->len);
 
   /* If DEST originally had no token abutting its end, then we can't
      have spliced anything, so we're done.  */
@@ -608,9 +597,8 @@ append_tokens_without_splicing (struct m
 
   /* Set DEST_TAIL to point to the last token in DEST, followed by
      all the stuff we just appended.  */
-  init_shared_buffer (&dest_tail,
-                      dest->text + dest->last_token,
-                      dest->len - dest->last_token);
+  dest_tail.set_shared (dest->text + dest->last_token,
+			dest->len - dest->last_token);
 
   /* Re-parse DEST's last token.  We know that DEST used to contain
      at least one token, so if it doesn't contain any after the
@@ -630,12 +618,11 @@ append_tokens_without_splicing (struct m
      its original length and try again, but separate the texts with a
      space.  */
   dest->len = original_dest_len;
-  appendc (dest, ' ');
-  appendmem (dest, src->text, src->len);
+  dest->appendc (' ');
+  dest->appendmem (src->text, src->len);
 
-  init_shared_buffer (&dest_tail,
-                      dest->text + dest->last_token,
-                      dest->len - dest->last_token);
+  dest_tail.set_shared (dest->text + dest->last_token,
+			dest->len - dest->last_token);
 
   /* Try to re-parse DEST's last token, as above.  */
   if (get_token (&new_token, &dest_tail)
@@ -671,7 +658,7 @@ stringify (struct macro_buffer *dest, co
     --len;
 
   /* Insert the string.  */
-  appendc (dest, '"');
+  dest->appendc ('"');
   while (len > 0)
     {
       /* We could try to handle strange cases here, like control
@@ -679,7 +666,7 @@ stringify (struct macro_buffer *dest, co
       if (macro_is_whitespace (*arg))
 	{
 	  /* Replace a sequence of whitespace with a single space.  */
-	  appendc (dest, ' ');
+	  dest->appendc (' ');
 	  while (len > 1 && macro_is_whitespace (arg[1]))
 	    {
 	      ++arg;
@@ -688,15 +675,15 @@ stringify (struct macro_buffer *dest, co
 	}
       else if (*arg == '\\' || *arg == '"')
 	{
-	  appendc (dest, '\\');
-	  appendc (dest, *arg);
+	  dest->appendc ('\\');
+	  dest->appendc (*arg);
 	}
       else
-	appendc (dest, *arg);
+	dest->appendc (*arg);
       ++arg;
       --len;
     }
-  appendc (dest, '"');
+  dest->appendc ('"');
   dest->last_token = dest->len;
 }
 
@@ -705,14 +692,13 @@ stringify (struct macro_buffer *dest, co
 char *
 macro_stringify (const char *str)
 {
-  struct macro_buffer buffer;
   int len = strlen (str);
+  struct macro_buffer buffer (len);
 
-  init_buffer (&buffer, len);
   stringify (&buffer, str, len);
-  appendc (&buffer, '\0');
+  buffer.appendc ('\0');
 
-  return free_buffer_return_text (&buffer);
+  return buffer.release ();
 }
 
 
@@ -759,22 +745,19 @@ currently_rescanning (struct macro_name_
    baz).
 
    If SRC doesn't start with an open paren ( token at all, return
-   zero, leave SRC unchanged, and don't set *ARGC_P to anything.
+   false, leave SRC unchanged, and don't set *ARGS_PTR to anything.
 
    If SRC doesn't contain a properly terminated argument list, then
    raise an error.
-   
+
    For a variadic macro, NARGS holds the number of formal arguments to
    the macro.  For a GNU-style variadic macro, this should be the
    number of named arguments.  For a non-variadic macro, NARGS should
    be -1.
 
-   Otherwise, return a pointer to the first element of an array of
-   macro buffers referring to the argument texts, and set *ARGC_P to
-   the number of arguments we found --- the number of elements in the
-   array.  The macro buffers share their text with SRC, and their
-   last_token fields are initialized.  The array is allocated with
-   xmalloc, and the caller is responsible for freeing it.
+   Otherwise, return true and set *ARGS_PTR to a vector of macro
+   buffers referring to the argument texts.  The macro buffers share
+   their text with SRC, and their last_token fields are initialized.
 
    NOTE WELL: if SRC starts with a open paren ( token followed
    immediately by a close paren ) token (e.g., the invocation looks
@@ -787,53 +770,36 @@ currently_rescanning (struct macro_name_
    Consume the tokens from SRC; after this call, SRC contains the text
    following the invocation.  */
 
-static struct macro_buffer *
-gather_arguments (const char *name, struct macro_buffer *src,
-		  int nargs, int *argc_p)
+static bool
+gather_arguments (const char *name, struct macro_buffer *src, int nargs,
+		  std::vector<struct macro_buffer> *args_ptr)
 {
   struct macro_buffer tok;
-  int args_len, args_size;
-  struct macro_buffer *args = NULL;
-  struct cleanup *back_to = make_cleanup (free_current_contents, &args);
+  std::vector<struct macro_buffer> args;
 
   /* Does SRC start with an opening paren token?  Read from a copy of
      SRC, so SRC itself is unaffected if we don't find an opening
      paren.  */
   {
-    struct macro_buffer temp;
-
-    init_shared_buffer (&temp, src->text, src->len);
+    struct macro_buffer temp (src->text, src->len);
 
     if (! get_token (&tok, &temp)
         || tok.len != 1
         || tok.text[0] != '(')
-      {
-        discard_cleanups (back_to);
-        return 0;
-      }
+      return false;
   }
 
   /* Consume SRC's opening paren.  */
   get_token (&tok, src);
 
-  args_len = 0;
-  args_size = 6;
-  args = XNEWVEC (struct macro_buffer, args_size);
-
   for (;;)
     {
       struct macro_buffer *arg;
       int depth;
 
-      /* Make sure we have room for the next argument.  */
-      if (args_len >= args_size)
-        {
-          args_size *= 2;
-          args = XRESIZEVEC (struct macro_buffer, args, args_size);
-        }
-
       /* Initialize the next argument.  */
-      arg = &args[args_len++];
+      args.emplace_back ();
+      arg = &args.back ();
       set_token (arg, src->text, src->text);
 
       /* Gather the argument's tokens.  */
@@ -842,7 +808,7 @@ gather_arguments (const char *name, stru
         {
           if (! get_token (&tok, src))
             error (_("Malformed argument list for macro `%s'."), name);
-      
+
           /* Is tok an opening paren?  */
           if (tok.len == 1 && tok.text[0] == '(')
             depth++;
@@ -856,22 +822,15 @@ gather_arguments (const char *name, stru
                 {
 		  /* In the varargs case, the last argument may be
 		     missing.  Add an empty argument in this case.  */
-		  if (nargs != -1 && args_len == nargs - 1)
+		  if (nargs != -1 && args.size () == nargs - 1)
 		    {
-		      /* Make sure we have room for the argument.  */
-		      if (args_len >= args_size)
-			{
-			  args_size++;
-			  args = XRESIZEVEC (struct macro_buffer, args,
-					     args_size);
-			}
-		      arg = &args[args_len++];
+		      args.emplace_back ();
+		      arg = &args.back ();
 		      set_token (arg, src->text, src->text);
 		    }
 
-                  discard_cleanups (back_to);
-                  *argc_p = args_len;
-                  return args;
+		  *args_ptr = std::move (args);
+		  return true;
                 }
 
               depth--;
@@ -882,7 +841,7 @@ gather_arguments (const char *name, stru
              variadic macro and we are computing the last argument, we
              want to include the comma and remaining tokens.  */
           else if (tok.len == 1 && tok.text[0] == ',' && depth == 0
-		   && (nargs == -1 || args_len < nargs))
+		   && (nargs == -1 || args.size () < nargs))
             break;
 
           /* Extend the current argument to enclose this token.  If
@@ -971,7 +930,7 @@ get_next_token_for_substitution (struct 
 }
 
 /* Given the macro definition DEF, being invoked with the actual
-   arguments given by ARGC and ARGV, substitute the arguments into the
+   arguments given by ARGV, substitute the arguments into the
    replacement list, and store the result in DEST.
 
    IS_VARARGS should be true if DEF is a varargs macro.  In this case,
@@ -986,16 +945,14 @@ get_next_token_for_substitution (struct 
    NO_LOOP.  */
 
 static void
-substitute_args (struct macro_buffer *dest, 
+substitute_args (struct macro_buffer *dest,
                  struct macro_definition *def,
 		 int is_varargs, const struct macro_buffer *va_arg_name,
-                 int argc, struct macro_buffer *argv,
+		 const std::vector<struct macro_buffer> &argv,
                  struct macro_name_list *no_loop,
                  macro_lookup_ftype *lookup_func,
                  void *lookup_baton)
 {
-  /* A macro buffer for the macro's replacement list.  */
-  struct macro_buffer replacement_list;
   /* The token we are currently considering.  */
   struct macro_buffer tok;
   /* The replacement list's pointer from just before TOK was lexed.  */
@@ -1008,8 +965,9 @@ substitute_args (struct macro_buffer *de
      lexed.  */
   char *lookahead_rl_start;
 
-  init_shared_buffer (&replacement_list, def->replacement,
-                      strlen (def->replacement));
+  /* A macro buffer for the macro's replacement list.  */
+  struct macro_buffer replacement_list (def->replacement,
+					strlen (def->replacement));
 
   gdb_assert (dest->len == 0);
   dest->last_token = 0;
@@ -1066,7 +1024,7 @@ substitute_args (struct macro_buffer *de
 
 	  /* If __VA_ARGS__ is empty, then drop the contents of
 	     __VA_OPT__.  */
-	  if (argv[argc - 1].len == 0)
+	  if (argv.back ().len == 0)
 	    continue;
 	}
       else if (token_is_vaopt)
@@ -1082,7 +1040,7 @@ substitute_args (struct macro_buffer *de
          that to DEST.  */
       if (tok.text > original_rl_start)
         {
-          appendmem (dest, original_rl_start, tok.text - original_rl_start);
+          dest->appendmem (original_rl_start, tok.text - original_rl_start);
           dest->last_token = dest->len;
         }
 
@@ -1135,9 +1093,9 @@ substitute_args (struct macro_buffer *de
 					def->argc, def->argv);
 
 	      if (arg != -1)
-		appendmem (dest, argv[arg].text, argv[arg].len);
+		dest->appendmem (argv[arg].text, argv[arg].len);
 	      else
-		appendmem (dest, tok.text, tok.len);
+		dest->appendmem (tok.text, tok.len);
 	    }
 
 	  /* Apply a possible sequence of ## operators.  */
@@ -1160,8 +1118,8 @@ substitute_args (struct macro_buffer *de
 		  if (! (is_varargs
 			 && tok.len == va_arg_name->len
 			 && !memcmp (tok.text, va_arg_name->text, tok.len)
-			 && argv[argc - 1].len == 0))
-		    appendmem (dest, ",", 1);
+			 && argv.back ().len == 0))
+		    dest->appendmem (",", 1);
 		  prev_was_comma = 0;
 		}
 
@@ -1175,9 +1133,9 @@ substitute_args (struct macro_buffer *de
 					    def->argc, def->argv);
 
 		  if (arg != -1)
-		    appendmem (dest, argv[arg].text, argv[arg].len);
+		    dest->appendmem (argv[arg].text, argv[arg].len);
 		  else
-		    appendmem (dest, tok.text, tok.len);
+		    dest->appendmem (tok.text, tok.len);
 		}
 
 	      /* Now read another token.  If it is another splice, we
@@ -1198,7 +1156,7 @@ substitute_args (struct macro_buffer *de
 	  if (prev_was_comma)
 	    {
 	      /* We saw a comma.  Insert it now.  */
-	      appendmem (dest, ",", 1);
+	      dest->appendmem (",", 1);
 	    }
 
           dest->last_token = dest->len;
@@ -1221,14 +1179,12 @@ substitute_args (struct macro_buffer *de
 
 	  if (arg != -1)
 	    {
-	      struct macro_buffer arg_src;
-
 	      /* Expand any macro invocations in the argument text,
 		 and append the result to dest.  Remember that scan
 		 mutates its source, so we need to scan a new buffer
 		 referring to the argument's text, not the argument
 		 itself.  */
-	      init_shared_buffer (&arg_src, argv[arg].text, argv[arg].len);
+	      struct macro_buffer arg_src (argv[arg].text, argv[arg].len);
 	      scan (dest, &arg_src, no_loop, lookup_func, lookup_baton);
 	      substituted = 1;
 	    }
@@ -1275,22 +1231,15 @@ expand (const char *id,
   /* What kind of macro are we expanding?  */
   if (def->kind == macro_object_like)
     {
-      struct macro_buffer replacement_list;
-
-      init_shared_buffer (&replacement_list, def->replacement,
-                          strlen (def->replacement));
+      struct macro_buffer replacement_list (def->replacement,
+					    strlen (def->replacement));
 
       scan (dest, &replacement_list, &new_no_loop, lookup_func, lookup_baton);
       return 1;
     }
   else if (def->kind == macro_function_like)
     {
-      struct cleanup *back_to = make_cleanup (null_cleanup, 0);
-      int argc = 0;
-      struct macro_buffer *argv = NULL;
-      struct macro_buffer substituted;
-      struct macro_buffer substituted_src;
-      struct macro_buffer va_arg_name = {0};
+      struct macro_buffer va_arg_name;
       int is_varargs = 0;
 
       if (def->argc >= 1)
@@ -1299,8 +1248,7 @@ expand (const char *id,
 	    {
 	      /* In C99-style varargs, substitution is done using
 		 __VA_ARGS__.  */
-	      init_shared_buffer (&va_arg_name, "__VA_ARGS__",
-				  strlen ("__VA_ARGS__"));
+	      va_arg_name.set_shared ("__VA_ARGS__", strlen ("__VA_ARGS__"));
 	      is_varargs = 1;
 	    }
 	  else
@@ -1313,43 +1261,36 @@ expand (const char *id,
 		  /* In GNU-style varargs, the name of the
 		     substitution parameter is the name of the formal
 		     argument without the "...".  */
-		  init_shared_buffer (&va_arg_name,
-				      def->argv[def->argc - 1],
-				      len - 3);
+		  va_arg_name.set_shared (def->argv[def->argc - 1], len - 3);
 		  is_varargs = 1;
 		}
 	    }
 	}
 
-      make_cleanup (free_current_contents, &argv);
-      argv = gather_arguments (id, src, is_varargs ? def->argc : -1,
-			       &argc);
-
+      std::vector<struct macro_buffer> argv;
       /* If we couldn't find any argument list, then we don't expand
          this macro.  */
-      if (! argv)
-        {
-          do_cleanups (back_to);
-          return 0;
-        }
+      if (!gather_arguments (id, src, is_varargs ? def->argc : -1,
+			     &argv))
+	return 0;
 
       /* Check that we're passing an acceptable number of arguments for
          this macro.  */
-      if (argc != def->argc)
+      if (argv.size () != def->argc)
         {
-	  if (is_varargs && argc >= def->argc - 1)
+	  if (is_varargs && argv.size () >= def->argc - 1)
 	    {
 	      /* Ok.  */
 	    }
           /* Remember that a sequence of tokens like "foo()" is a
              valid invocation of a macro expecting either zero or one
              arguments.  */
-          else if (! (argc == 1
+          else if (! (argv.size () == 1
 		      && argv[0].len == 0
 		      && def->argc == 0))
             error (_("Wrong number of arguments to macro `%s' "
                    "(expected %d, got %d)."),
-                   id, def->argc, argc);
+                   id, def->argc, int (argv.size ()));
         }
 
       /* Note that we don't expand macro invocations in the arguments
@@ -1358,10 +1299,9 @@ expand (const char *id,
          splicing operator "##" don't get macro references expanded,
          so we can't really tell whether it's appropriate to macro-
          expand an argument until we see how it's being used.  */
-      init_buffer (&substituted, 0);
-      make_cleanup (cleanup_macro_buffer, &substituted);
+      struct macro_buffer substituted (0);
       substitute_args (&substituted, def, is_varargs, &va_arg_name,
-		       argc, argv, no_loop, lookup_func, lookup_baton);
+		       argv, no_loop, lookup_func, lookup_baton);
 
       /* Now `substituted' is the macro's replacement list, with all
          argument values substituted into it properly.  Re-scan it for
@@ -1373,11 +1313,9 @@ expand (const char *id,
          text pointer around, and we still need to be able to find
          `substituted's original text buffer after scanning it so we
          can free it.  */
-      init_shared_buffer (&substituted_src, substituted.text, substituted.len);
+      struct macro_buffer substituted_src (substituted.text, substituted.len);
       scan (dest, &substituted_src, &new_no_loop, lookup_func, lookup_baton);
 
-      do_cleanups (back_to);
-
       return 1;
     }
   else
@@ -1409,28 +1347,20 @@ maybe_expand (struct macro_buffer *dest,
     {
       /* Make a null-terminated copy of it, since that's what our
          lookup function expects.  */
-      char *id = (char *) xmalloc (src_first->len + 1);
-      struct cleanup *back_to = make_cleanup (xfree, id);
+      std::string id (src_first->text, src_first->len);
 
-      memcpy (id, src_first->text, src_first->len);
-      id[src_first->len] = 0;
-          
       /* If we're currently re-scanning the result of expanding
          this macro, don't expand it again.  */
-      if (! currently_rescanning (no_loop, id))
+      if (! currently_rescanning (no_loop, id.c_str ()))
         {
           /* Does this identifier have a macro definition in scope?  */
-          struct macro_definition *def = lookup_func (id, lookup_baton);
+          struct macro_definition *def = lookup_func (id.c_str (),
+						      lookup_baton);
 
-          if (def && expand (id, def, dest, src_rest, no_loop,
+          if (def && expand (id.c_str (), def, dest, src_rest, no_loop,
                              lookup_func, lookup_baton))
-            {
-              do_cleanups (back_to);
-              return 1;
-            }
+	    return 1;
         }
-
-      do_cleanups (back_to);
     }
 
   return 0;
@@ -1465,7 +1395,7 @@ scan (struct macro_buffer *dest,
          that to DEST.  */
       if (tok.text > original_src_start)
         {
-          appendmem (dest, original_src_start, tok.text - original_src_start);
+          dest->appendmem (original_src_start, tok.text - original_src_start);
           dest->last_token = dest->len;
         }
 
@@ -1479,36 +1409,31 @@ scan (struct macro_buffer *dest,
      src, copy it to dest.  */
   if (src->len)
     {
-      appendmem (dest, src->text, src->len);
+      dest->appendmem (src->text, src->len);
       dest->last_token = dest->len;
     }
 }
 
 
-char *
+gdb::unique_xmalloc_ptr<char>
 macro_expand (const char *source,
               macro_lookup_ftype *lookup_func,
               void *lookup_func_baton)
 {
-  struct macro_buffer src, dest;
-  struct cleanup *back_to;
+  struct macro_buffer src (source, strlen (source));
 
-  init_shared_buffer (&src, source, strlen (source));
-
-  init_buffer (&dest, 0);
+  struct macro_buffer dest (0);
   dest.last_token = 0;
-  back_to = make_cleanup (cleanup_macro_buffer, &dest);
 
   scan (&dest, &src, 0, lookup_func, lookup_func_baton);
 
-  appendc (&dest, '\0');
+  dest.appendc ('\0');
 
-  discard_cleanups (back_to);
-  return dest.text;
+  return gdb::unique_xmalloc_ptr<char> (dest.release ());
 }
 
 
-char *
+gdb::unique_xmalloc_ptr<char>
 macro_expand_once (const char *source,
                    macro_lookup_ftype *lookup_func,
                    void *lookup_func_baton)
@@ -1522,23 +1447,18 @@ macro_expand_next (const char **lexptr,
                    macro_lookup_ftype *lookup_func,
                    void *lookup_baton)
 {
-  struct macro_buffer src, dest, tok;
-  struct cleanup *back_to;
+  struct macro_buffer tok;
 
   /* Set up SRC to refer to the input text, pointed to by *lexptr.  */
-  init_shared_buffer (&src, *lexptr, strlen (*lexptr));
+  struct macro_buffer src (*lexptr, strlen (*lexptr));
 
   /* Set up DEST to receive the expansion, if there is one.  */
-  init_buffer (&dest, 0);
+  struct macro_buffer dest (0);
   dest.last_token = 0;
-  back_to = make_cleanup (cleanup_macro_buffer, &dest);
 
   /* Get the text's first preprocessing token.  */
   if (! get_token (&tok, &src))
-    {
-      do_cleanups (back_to);
-      return 0;
-    }
+    return 0;
 
   /* If it's a macro invocation, expand it.  */
   if (maybe_expand (&dest, &tok, &src, 0, lookup_func, lookup_baton))
@@ -1546,15 +1466,13 @@ macro_expand_next (const char **lexptr,
       /* It was a macro invocation!  Package up the expansion as a
          null-terminated string and return it.  Set *lexptr to the
          start of the next token in the input.  */
-      appendc (&dest, '\0');
-      discard_cleanups (back_to);
+      dest.appendc ('\0');
       *lexptr = src.text;
-      return dest.text;
+      return dest.release ();
     }
   else
     {
       /* It wasn't a macro invocation.  */
-      do_cleanups (back_to);
       return 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.1.0.20180703/gdb/macroexp.h ./gdb/macroexp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/macroexp.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/macroexp.h	2018-07-10 02:06:13.000000000 +0000
@@ -37,9 +37,9 @@ typedef struct macro_definition *(macro_
    preprocessor definitions.  SOURCE is a null-terminated string.  The
    result is a null-terminated string, allocated using xmalloc; it is
    the caller's responsibility to free it.  */
-char *macro_expand (const char *source,
-                    macro_lookup_ftype *lookup_func,
-                    void *lookup_func_baton);
+gdb::unique_xmalloc_ptr<char> macro_expand (const char *source,
+					    macro_lookup_ftype *lookup_func,
+					    void *lookup_func_baton);
 
 
 /* Expand all preprocessor macro references that appear explicitly in
@@ -49,9 +49,9 @@ char *macro_expand (const char *source,
    SOURCE is a null-terminated string.  The result is a
    null-terminated string, allocated using xmalloc; it is the caller's
    responsibility to free it.  */
-char *macro_expand_once (const char *source,
-                         macro_lookup_ftype *lookup_func,
-                         void *lookup_func_baton);
+gdb::unique_xmalloc_ptr<char> macro_expand_once (const char *source,
+						 macro_lookup_ftype *lookup_func,
+						 void *lookup_func_baton);
 
 
 /* If the null-terminated string pointed to by *LEXPTR begins with a
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/macroscope.c ./gdb/macroscope.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/macroscope.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/macroscope.c	2018-07-10 02:06:13.000000000 +0000
@@ -35,11 +35,10 @@
 struct macro_table *macro_user_macros;
 
 
-struct macro_scope *
+gdb::unique_xmalloc_ptr<struct macro_scope>
 sal_macro_scope (struct symtab_and_line sal)
 {
   struct macro_source_file *main_file, *inclusion;
-  struct macro_scope *ms;
   struct compunit_symtab *cust;
 
   if (sal.symtab == NULL)
@@ -48,7 +47,7 @@ sal_macro_scope (struct symtab_and_line 
   if (COMPUNIT_MACRO_TABLE (cust) == NULL)
     return NULL;
 
-  ms = XNEW (struct macro_scope);
+  gdb::unique_xmalloc_ptr<struct macro_scope> ms (XNEW (struct macro_scope));
 
   main_file = macro_main (COMPUNIT_MACRO_TABLE (cust));
   inclusion = macro_lookup_inclusion (main_file, sal.symtab->filename);
@@ -77,8 +76,7 @@ sal_macro_scope (struct symtab_and_line 
       ms->file = main_file;
       ms->line = -1;
 
-      complaint (&symfile_complaints,
-                 _("symtab found for `%s', but that file\n"
+      complaint (_("symtab found for `%s', but that file\n"
                  "is not covered in the compilation unit's macro information"),
                  symtab_to_filename_for_display (sal.symtab));
     }
@@ -87,22 +85,20 @@ sal_macro_scope (struct symtab_and_line 
 }
 
 
-struct macro_scope *
+gdb::unique_xmalloc_ptr<struct macro_scope>
 user_macro_scope (void)
 {
-  struct macro_scope *ms;
-
-  ms = XNEW (struct macro_scope);
+  gdb::unique_xmalloc_ptr<struct macro_scope> ms (XNEW (struct macro_scope));
   ms->file = macro_main (macro_user_macros);
   ms->line = -1;
   return ms;
 }
 
-struct macro_scope *
+gdb::unique_xmalloc_ptr<struct macro_scope>
 default_macro_scope (void)
 {
   struct symtab_and_line sal;
-  struct macro_scope *ms;
+  gdb::unique_xmalloc_ptr<struct macro_scope> ms;
   struct frame_info *frame;
   CORE_ADDR pc;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/macroscope.h ./gdb/macroscope.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/macroscope.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/macroscope.h	2018-07-10 02:06:13.000000000 +0000
@@ -39,13 +39,13 @@ struct macro_scope {
 /* Return a `struct macro_scope' object corresponding to the symtab
    and line given in SAL.  If we have no macro information for that
    location, or if SAL's pc is zero, return zero.  */
-struct macro_scope *sal_macro_scope (struct symtab_and_line sal);
+gdb::unique_xmalloc_ptr<struct macro_scope> sal_macro_scope
+    (struct symtab_and_line sal);
 
 
 /* Return a `struct macro_scope' object representing just the
-   user-defined macros.  The result is allocated using xmalloc; the
-   caller is responsible for freeing it.  */
-struct macro_scope *user_macro_scope (void);
+   user-defined macros.  */
+gdb::unique_xmalloc_ptr<struct macro_scope> user_macro_scope (void);
 
 /* Return a `struct macro_scope' object describing the scope the `macro
    expand' and `macro expand-once' commands should use for looking up
@@ -53,11 +53,8 @@ struct macro_scope *user_macro_scope (vo
    its PC; otherwise, this is the last listing position.
 
    If we have no macro information for the current location, return
-   the user macro scope.
-
-   The object returned is allocated using xmalloc; the caller is
-   responsible for freeing it.  */
-struct macro_scope *default_macro_scope (void);
+   the user macro scope.  */
+gdb::unique_xmalloc_ptr<struct macro_scope> default_macro_scope (void);
 
 
 /* Look up the definition of the macro named NAME in scope at the source
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/macrotab.c ./gdb/macrotab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/macrotab.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/macrotab.c	2018-07-10 02:06:13.000000000 +0000
@@ -478,8 +478,7 @@ macro_include (struct macro_source_file 
 
       link_fullname = macro_source_fullname (*link);
       source_fullname = macro_source_fullname (source);
-      complaint (&symfile_complaints,
-		 _("both `%s' and `%s' allegedly #included at %s:%d"),
+      complaint (_("both `%s' and `%s' allegedly #included at %s:%d"),
 		 included, link_fullname, source_fullname, line);
       xfree (source_fullname);
       xfree (link_fullname);
@@ -730,8 +729,7 @@ check_for_redefinition (struct macro_sou
 	  
 	  source_fullname = macro_source_fullname (source);
 	  found_key_fullname = macro_source_fullname (found_key->start_file);
-	  complaint (&symfile_complaints,
-		     _("macro `%s' redefined at %s:%d; "
+	  complaint (_("macro `%s' redefined at %s:%d; "
 		       "original definition at %s:%d"),
 		     name, source_fullname, line, found_key_fullname,
 		     found_key->start_line);
@@ -859,8 +857,7 @@ macro_undef (struct macro_source_file *s
 
 	      source_fullname = macro_source_fullname (source);
 	      key_fullname = macro_source_fullname (key->end_file);
-              complaint (&symfile_complaints,
-                         _("macro '%s' is #undefined twice,"
+              complaint (_("macro '%s' is #undefined twice,"
                            " at %s:%d and %s:%d"),
 			 name, source_fullname, line, key_fullname,
 			 key->end_line);
@@ -880,8 +877,7 @@ macro_undef (struct macro_source_file *s
          has no macro definition in scope is ignored.  So we should
          ignore it too.  */
 #if 0
-      complaint (&symfile_complaints,
-		 _("no definition for macro `%s' in scope to #undef at %s:%d"),
+      complaint (_("no definition for macro `%s' in scope to #undef at %s:%d"),
 		 name, source->filename, line);
 #endif
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/main.c ./gdb/main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/main.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/main.c	2018-07-10 02:06:13.000000000 +0000
@@ -918,7 +918,7 @@ captured_main_1 (struct captured_main_ar
 
   if (print_version)
     {
-      print_gdb_version (gdb_stdout);
+      print_gdb_version (gdb_stdout, false);
       wrap_here ("");
       printf_filtered ("\n");
       exit (0);
@@ -947,7 +947,7 @@ captured_main_1 (struct captured_main_ar
     {
       /* Print all the junk at the top, with trailing "..." if we are
          about to read a symbol file (possibly slowly).  */
-      print_gdb_version (gdb_stdout);
+      print_gdb_version (gdb_stdout, true);
       if (symarg)
 	printf_filtered ("..");
       wrap_here ("");
@@ -968,7 +968,7 @@ captured_main_1 (struct captured_main_ar
     {
       /* Print all the junk at the top, with trailing "..." if we are
          about to read a symbol file (possibly slowly).  */
-      print_gdb_version (gdb_stdout);
+      print_gdb_version (gdb_stdout, true);
       if (symarg)
 	printf_filtered ("..");
       wrap_here ("");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/MAINTAINERS ./gdb/MAINTAINERS
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/MAINTAINERS	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/MAINTAINERS	2018-07-10 02:06:12.000000000 +0000
@@ -153,7 +153,7 @@ Joel Brobecker			brobecker@adacore.com
 Kevin Buettner			kevinb@redhat.com
 Doug Evans			dje@google.com
 Simon Marchi			simon.marchi@ericsson.com
-Yao Qi				yao.qi@arm.com
+Yao Qi				qiyao@sourceware.org
 Ulrich Weigand			Ulrich.Weigand@de.ibm.com
 Eli Zaretskii			eliz@gnu.org
 
@@ -261,8 +261,6 @@ the native maintainer when resolving ABI
 	m68hc11		--target=m68hc11-elf ,-Werror ,
 	m68k		--target=m68k-elf ,-Werror
 
-	m88k		--target=m88k-openbsd ,-Werror
-
 	mcore		Deleted
 
 	mep		--target=mep-elf ,-Werror
@@ -286,7 +284,7 @@ the native maintainer when resolving ABI
 
 	nios2		--target=nios2-elf ,-Werror
 			--target=nios2-linux-gnu ,-Werror
-			Yao Qi			yao.qi@arm.com
+			Yao Qi			qiyao@sourceware.org
 
 	ns32k		Deleted
 
@@ -294,6 +292,11 @@ the native maintainer when resolving ABI
 
 	powerpc		--target=powerpc-eabi ,-Werror
 
+	riscv		--target=riscv32-elf ,-Werror
+			--target=riscv64-elf ,-Werror
+			Andrew Burgess		andrew.burgess@embecosm.com
+			Palmer Dabbelt		palmer@sifive.com
+
 	rl78		--target=rl78-elf ,-Werror
 
 	rx		--target=rx-elf ,-Werror
@@ -303,7 +306,6 @@ the native maintainer when resolving ABI
 
 	score	--target=score-elf
 	sh		--target=sh-elf ,-Werror
-			--target=sh64-elf ,-Werror
 
 	sparc		--target=sparc64-solaris2.10 ,-Werror
 			(--target=sparc-elf broken)
@@ -312,7 +314,7 @@ the native maintainer when resolving ABI
 			Ulrich Weigand		uweigand@de.ibm.com
 
 	tic6x		--target=tic6x-elf ,-Werror
-			Yao Qi			yao.qi@arm.com
+			Yao Qi			qiyao@sourceware.org
 
 	v850		--target=v850-elf ,-Werror
 
@@ -489,6 +491,7 @@ Adam Fedor					fedor@gnu.org
 Max Filippov					jcmvbkbc@gmail.com
 Brian Ford					ford@vss.fsi.com
 Matthew Fortune					matthew.fortune@imgtec.com
+Pedro Franco de Carvalho			pedromfc@linux.vnet.ibm.com
 Orjan Friberg					orjanf@axis.com
 Andreas From					andreas.from@ericsson.com
 Nathan Froyd					froydnj@codesourcery.com
@@ -507,6 +510,7 @@ Matthew Gretton-Dann				matthew.gretton-
 Maxim Grigoriev					maxim2405@gmail.com
 Jerome Guitton					guitton@act-europe.fr
 Ben Harris					bjh21@netbsd.org
+Alan Hayward					alan.hayward@arm.com
 Bernhard Heckel					heckel_bernhard@web.de
 Richard Henderson				rth@redhat.com
 Aldy Hernandez					aldyh@redhat.com
@@ -582,6 +586,7 @@ Alexandre Oliva					aoliva@redhat.com
 Karen Osmond					karen.osmond@gmail.com
 Pawandeep Oza					oza.pawandeep@gmail.com
 Patrick Palka					patrick@parcs.ath.cx
+Weimin Pan					weimin.pan@oracle.com
 Denis Pilat					denis.pilat@st.com
 Andrew Pinski					apinski@cavium.com
 Kevin Pouget					kevin.pouget@st.com
@@ -589,7 +594,7 @@ Paul Pluzhnikov					ppluzhnikov@google.c
 Marek Polacek					mpolacek@redhat.com
 Siddhesh Poyarekar				siddhesh@redhat.com
 Vladimir Prus                                   vladimir@codesourcery.com
-Yao Qi						yao.qi@arm.com
+Yao Qi						qiyao@sourceware.org
 Qinwei						qinwei@sunnorth.com.cn
 Ramana Radhakrishnan				ramana.radhakrishnan@arm.com
 Siva Chandra Reddy				sivachandra@google.com
@@ -634,16 +639,17 @@ Alfred M. Szmidt				ams@gnu.org
 David Taylor					david.taylor@emc.com
 Ian Lance Taylor				ian@airs.com
 Walfred Tedeschi				walfred.tedeschi@intel.com
+Petr Tesarik					ptesarik@suse.cz
 Gary Thomas					gthomas@redhat.com
 Jason Thorpe					thorpej@netbsd.org
 Caroline Tice					ctice@apple.com
 Kai Tietz					ktietz@redhat.com
 Andreas Tobler					andreast@fgznet.ch
-Antoine Tremblay				antoine.tremblay@ericsson.com
 Jon Turney					jon.turney@dronecode.org.uk
 David Ung					davidu@mips.com
 D Venkatasubramanian				dvenkat@noida.hcltech.com
 Corinna Vinschen				vinschen@redhat.com
+Tom de Vries					tdevries@suse.de
 Sami Wagiaalla					swagiaal@redhat.com
 Keith Walker					keith.walker@arm.com
 Ricard Wanderlof				ricardw@axis.com
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/maint.c ./gdb/maint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/maint.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/maint.c	2018-07-10 02:06:13.000000000 +0000
@@ -1046,12 +1046,12 @@ This command has been moved to \"demangl
 
   add_prefix_cmd ("per-command", class_maintenance, set_per_command_cmd, _("\
 Per-command statistics settings."),
-		    &per_command_setlist, "set per-command ",
+		    &per_command_setlist, "maintenance set per-command ",
 		    1/*allow-unknown*/, &maintenance_set_cmdlist);
 
   add_prefix_cmd ("per-command", class_maintenance, show_per_command_cmd, _("\
 Show per-command statistics settings."),
-		    &per_command_showlist, "show per-command ",
+		    &per_command_showlist, "maintenance show per-command ",
 		    0/*allow-unknown*/, &maintenance_show_cmdlist);
 
   add_setshow_boolean_cmd ("time", class_maintenance,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/Makefile.in ./gdb/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/Makefile.in	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/Makefile.in	2018-07-10 02:06:12.000000000 +0000
@@ -112,18 +112,20 @@ DEPMODE = @CCDEPMODE@
 DEPDIR = @DEPDIR@
 depcomp = $(SHELL) $(srcdir)/../depcomp
 
+# Directory containing source files.
+srcdir = @srcdir@
+VPATH = @srcdir@
+top_srcdir = @top_srcdir@
+
+include $(srcdir)/silent-rules.mk
+
 # Note that these are overridden by GNU make-specific code below if
 # GNU make is used.  The overrides implement dependency tracking.
 COMPILE.pre = $(CXX) -x c++ $(CXX_DIALECT)
 COMPILE.post = -c -o $@
-COMPILE = $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
+COMPILE = $(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
 POSTCOMPILE = @true
 
-# Directory containing source files.
-srcdir = @srcdir@
-VPATH = @srcdir@
-top_srcdir = @top_srcdir@
-
 YACC = @YACC@
 
 # This is used to rebuild ada-lex.c from ada-lex.l.  If the program is
@@ -220,6 +222,10 @@ LIBICONV = @LIBICONV@
 # Did the user give us a --with-gdb-datadir option?
 GDB_DATADIR = @GDB_DATADIR@
 
+# Code signing.
+CODESIGN = codesign
+CODESIGN_CERT = @CODESIGN_CERT@
+
 # Flags to pass to gdb when invoked with "make run".
 GDBFLAGS =
 
@@ -416,15 +422,23 @@ SUBDIR_UNITTESTS_SRCS = \
 	unittests/array-view-selftests.c \
 	unittests/common-utils-selftests.c \
 	unittests/environ-selftests.c \
+	unittests/format_pieces-selftests.c \
 	unittests/function-view-selftests.c \
 	unittests/lookup_name_info-selftests.c \
 	unittests/memory-map-selftests.c \
 	unittests/memrange-selftests.c \
 	unittests/offset-type-selftests.c \
+	unittests/observable-selftests.c \
 	unittests/optional-selftests.c \
 	unittests/ptid-selftests.c \
 	unittests/rsp-low-selftests.c \
+	unittests/scoped_fd-selftests.c \
+	unittests/scoped_mmap-selftests.c \
 	unittests/scoped_restore-selftests.c \
+	unittests/string_view-selftests.c \
+	unittests/tracepoint-selftests.c \
+	unittests/unpack-selftests.c \
+	unittests/utils-selftests.c \
 	unittests/xml-utils-selftests.c
 
 SUBDIR_UNITTESTS_OBS = $(patsubst %.c,%.o,$(SUBDIR_UNITTESTS_SRCS))
@@ -522,7 +536,7 @@ CONFIG_INSTALL = @CONFIG_INSTALL@
 CONFIG_UNINSTALL = @CONFIG_UNINSTALL@
 HAVE_NATIVE_GCORE_TARGET = @HAVE_NATIVE_GCORE_TARGET@
 
-CONFIG_SRC_SUBDIR = arch cli mi compile tui unittests guile python target
+CONFIG_SRC_SUBDIR = arch cli mi common compile tui unittests guile python target
 CONFIG_DEP_SUBDIR = $(addsuffix /$(DEPDIR),$(CONFIG_SRC_SUBDIR))
 
 # -I. for config files.
@@ -669,6 +683,7 @@ ALL_TARGET_OBS = \
 	arch/arm-get-next-pcs.o \
 	arch/arm-linux.o \
 	arch/i386.o \
+	arch/ppc-linux-common.o \
 	arm-bsd-tdep.o \
 	arm-fbsd-tdep.o \
 	arm-linux-tdep.o \
@@ -720,7 +735,6 @@ ALL_TARGET_OBS = \
 	m68k-bsd-tdep.o \
 	m68k-linux-tdep.o \
 	m68k-tdep.o \
-	m88k-tdep.o \
 	mep-tdep.o \
 	microblaze-linux-tdep.o \
 	microblaze-tdep.o \
@@ -733,13 +747,13 @@ ALL_TARGET_OBS = \
 	mn10300-tdep.o \
 	moxie-tdep.o \
 	msp430-tdep.o \
-	mt-tdep.o \
 	nbsd-tdep.o \
 	nds32-tdep.o \
 	nios2-linux-tdep.o \
 	nios2-tdep.o \
 	nto-tdep.o \
 	obsd-tdep.o \
+	or1k-tdep.o \
 	ppc-fbsd-tdep.o \
 	ppc-linux-tdep.o \
 	ppc-nbsd-tdep.o \
@@ -748,17 +762,18 @@ ALL_TARGET_OBS = \
 	ppc-sysv-tdep.o \
 	ppc64-tdep.o \
 	ravenscar-thread.o \
+	riscv-tdep.o \
 	rl78-tdep.o \
 	rs6000-aix-tdep.o \
 	rs6000-lynx178-tdep.o \
 	rs6000-tdep.o \
 	rx-tdep.o \
 	s390-linux-tdep.o \
+	s390-tdep.o \
 	score-tdep.o \
 	sh-linux-tdep.o \
 	sh-nbsd-tdep.o \
 	sh-tdep.o \
-	sh64-tdep.o \
 	sol2-tdep.o \
 	solib-aix.o \
 	solib-darwin.o \
@@ -783,6 +798,7 @@ ALL_TARGET_OBS = \
 	vax-nbsd-tdep.o \
 	vax-tdep.o \
 	windows-tdep.o \
+	x86-tdep.o \
 	xcoffread.o \
 	xstormy16-tdep.o \
 	xtensa-config.o \
@@ -935,6 +951,33 @@ COMMON_SFILES = \
 	cli-out.c \
 	coff-pe-read.c \
 	coffread.c \
+	common/agent.c \
+	common/btrace-common.c \
+	common/buffer.c \
+	common/cleanups.c \
+	common/common-debug.c \
+	common/common-exceptions.c \
+	common/common-regcache.c \
+	common/common-utils.c \
+	common/errors.c \
+	common/environ.c \
+	common/fileio.c \
+	common/filestuff.c \
+	common/format.c \
+	common/job-control.c \
+	common/gdb_tilde_expand.c \
+	common/gdb_vecs.c \
+	common/new-op.c \
+	common/pathstuff.c \
+	common/print-utils.c \
+	common/ptid.c \
+	common/rsp-low.c \
+	common/run-time-clock.c \
+	common/signals.c \
+	common/signals-state-save-restore.c \
+	common/tdesc.c \
+	common/vec.c \
+	common/xml-utils.c \
 	complaints.c \
 	completer.c \
 	continuations.c \
@@ -957,6 +1000,8 @@ COMMON_SFILES = \
 	disasm.c \
 	disasm-selftests.c \
 	dummy-frame.c \
+	dwarf-index-common.c \
+	dwarf-index-write.c \
 	dwarf2-frame.c \
 	dwarf2-frame-tailcall.c \
 	dwarf2expr.c \
@@ -1024,7 +1069,7 @@ COMMON_SFILES = \
 	namespace.c \
 	objc-lang.c \
 	objfiles.c \
-	observer.c \
+	observable.c \
 	opencl-lang.c \
 	osabi.c \
 	osdata.c \
@@ -1043,6 +1088,7 @@ COMMON_SFILES = \
 	record-btrace.c \
 	record-full.c \
 	regcache.c \
+	regcache-dump.c \
 	reggroups.c \
 	registry.c \
 	remote.c \
@@ -1117,32 +1163,6 @@ SFILES = \
 	stub-termcap.c \
 	symfile-mem.c \
 	ui-file.h \
-	common/agent.c \
-	common/btrace-common.c \
-	common/buffer.c \
-	common/cleanups.c \
-	common/common-debug.c \
-	common/common-exceptions.c \
-	common/common-regcache.c \
-	common/common-utils.c \
-	common/errors.c \
-	common/environ.c \
-	common/fileio.c \
-	common/filestuff.c \
-	common/format.c \
-	common/job-control.c \
-	common/gdb_tilde_expand.c \
-	common/gdb_vecs.c \
-	common/new-op.c \
-	common/pathstuff.c \
-	common/print-utils.c \
-	common/ptid.c \
-	common/rsp-low.c \
-	common/run-time-clock.c \
-	common/signals.c \
-	common/signals-state-save-restore.c \
-	common/vec.c \
-	common/xml-utils.c \
 	mi/mi-common.c \
 	$(SUBDIR_TARGET_SRCS) \
 	$(COMMON_SFILES) \
@@ -1203,10 +1223,12 @@ HFILES_NO_SRCDIR = \
 	dictionary.h \
 	disasm.h \
 	dummy-frame.h \
+	dwarf-index-common.h \
 	dwarf2-frame.h \
 	dwarf2-frame-tailcall.h \
 	dwarf2expr.h \
 	dwarf2loc.h \
+	dwarf2read.h \
 	event-loop.h \
 	event-top.h \
 	exceptions.h \
@@ -1275,7 +1297,6 @@ HFILES_NO_SRCDIR = \
 	m2-lang.h \
 	m32r-tdep.h \
 	m68k-tdep.h \
-	m88k-tdep.h \
 	macroexp.h \
 	macroscope.h \
 	macrotab.h \
@@ -1327,9 +1348,11 @@ HFILES_NO_SRCDIR = \
 	remote.h \
 	remote-fileio.h \
 	remote-notif.h \
+	riscv-tdep.h \
 	rs6000-aix-tdep.h \
 	rs6000-tdep.h \
 	s390-linux-tdep.h \
+	s390-tdep.h \
 	score-tdep.h \
 	selftest-arch.h \
 	sentinel-frame.h \
@@ -1339,7 +1362,6 @@ HFILES_NO_SRCDIR = \
 	ser-unix.h \
 	serial.h \
 	sh-tdep.h \
-	sh64-tdep.h \
 	sim-regno.h \
 	skip.h \
 	sol2-tdep.h \
@@ -1396,6 +1418,8 @@ HFILES_NO_SRCDIR = \
 	arch/aarch64-insn.h \
 	arch/arm.h \
 	arch/i386.h \
+	arch/ppc-linux-common.h \
+	arch/ppc-linux-tdesc.h \
 	cli/cli-cmds.h \
 	cli/cli-decode.h \
 	cli/cli-script.h \
@@ -1433,6 +1457,7 @@ HFILES_NO_SRCDIR = \
 	common/run-time-clock.h \
 	common/signals-state-save-restore.h \
 	common/symbol.h \
+	common/tdesc.h \
 	common/vec.h \
 	common/version.h \
 	common/x86-xstate.h \
@@ -1462,6 +1487,7 @@ HFILES_NO_SRCDIR = \
 	mi/mi-parse.h \
 	nat/aarch64-linux.h \
 	nat/aarch64-linux-hw-point.h \
+	nat/aarch64-sve-linux-ptrace.h \
 	nat/amd64-linux-siginfo.h \
 	nat/gdb_ptrace.h \
 	nat/gdb_thread_db.h \
@@ -1504,7 +1530,8 @@ HFILES_NO_SRCDIR = \
 	tui/tui-win.h \
 	tui/tui-windata.h \
 	tui/tui-wingeneral.h \
-	tui/tui-winsource.h
+	tui/tui-winsource.h \
+	x86-tdep.h
 
 # Header files that already have srcdir in them, or which are in objdir.
 
@@ -1521,8 +1548,7 @@ INFOFILES = gdb.info*
 # variables analogous to SER_HARDWIRE which get defaulted in this
 # Makefile.in
 
-DEPFILES = $(TARGET_OBS) $(SER_HARDWIRE) $(NATDEPFILES) \
-	   $(REMOTE_OBS) $(SIM_OBS)
+DEPFILES = $(TARGET_OBS) $(SER_HARDWIRE) $(NATDEPFILES) $(SIM_OBS)
 
 SOURCES = $(SFILES) $(ALLDEPFILES) $(YYFILES) $(CONFIG_SRCS)
 # Don't include YYFILES (*.c) because we already include *.y in SFILES,
@@ -1532,36 +1558,10 @@ TAGFILES_NO_SRCDIR = $(SFILES) $(HFILES_
 TAGFILES_WITH_SRCDIR = $(HFILES_WITH_SRCDIR)
 
 COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
-	btrace-common.o \
-	buffer.o \
-	cleanups.o \
-	common-agent.o \
-	common-debug.o \
-	common-exceptions.o \
-	job-control.o \
-	common-regcache.o \
-	common-utils.o \
-	environ.o \
-	errors.o \
 	exec.o \
-	fileio.o \
-	filestuff.o \
-	format.o \
-	gdb_tilde_expand.o \
-	gdb_vecs.o \
 	mi/mi-common.o \
-	new-op.o \
-	pathstuff.o \
-	print-utils.o \
-	ptid.o \
-	rsp-low.o \
-	run-time-clock.o \
-	signals.o \
-	signals-state-save-restore.o \
-	vec.o \
 	version.o \
 	xml-builtin.o \
-	xml-utils.o \
 	$(patsubst %.c,%.o,$(COMMON_SFILES)) \
 	$(SUBDIR_TARGET_OBS) \
 	$(SUBDIR_GCC_COMPILE_OBS)
@@ -1605,15 +1605,13 @@ generated_files = \
 	config.h \
 	gcore \
 	jit-reader.h \
-	observer.h \
-	observer.inc \
 	$(GNULIB_H) \
 	$(NAT_GENERATED_FILES)
 
 # Flags needed to compile Python code
 PYTHON_CFLAGS = @PYTHON_CFLAGS@
 
-all: gdb$(EXEEXT) $(CONFIG_ALL)
+all: gdb$(EXEEXT) $(CONFIG_ALL) gdb-gdb.py gdb-gdb.gdb
 	@$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do
 
 # Rule for compiling .c files in the top-level gdb directory.
@@ -1629,10 +1627,6 @@ all: gdb$(EXEEXT) $(CONFIG_ALL)
 python/%.o: INTERNAL_CFLAGS += $(PYTHON_CFLAGS)
 
 # Rules for compiling .c files in the various source subdirectories.
-%.o: ${srcdir}/common/%.c
-	$(COMPILE) $<
-	$(POSTCOMPILE)
-
 %.o: $(srcdir)/gdbtk/generic/%.c
 	$(COMPILE) $(all_gdbtk_cflags) $<
 	$(POSTCOMPILE)
@@ -1641,12 +1635,6 @@ python/%.o: INTERNAL_CFLAGS += $(PYTHON_
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-# Specify an explicit rule for gdb/common/agent.c, to avoid a clash with the
-# object file generate by gdb/agent.c.
-common-agent.o: $(srcdir)/common/agent.c
-	$(COMPILE) $(srcdir)/common/agent.c
-	$(POSTCOMPILE)
-
 installcheck:
 
 # The check target can not use subdir_do, because subdir_do does not
@@ -1773,6 +1761,15 @@ install-only: $(CONFIG_INSTALL)
 		  $(INSTALL_SCRIPT) gcore \
 			  $(DESTDIR)$(bindir)/$$transformed_name; \
 	fi
+	transformed_name=`t='$(program_transform_name)'; \
+			  echo gdb-add-index | sed -e "$$t"` ; \
+	if test "x$$transformed_name" = x; then \
+	  transformed_name=gdb-add-index ; \
+	else \
+	  true ; \
+	fi ; \
+	$(INSTALL_PROGRAM) $(srcdir)/contrib/gdb-add-index.sh \
+		$(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT)
 	@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
 
 install-strip:
@@ -1816,8 +1813,9 @@ test-cp-name-parser.o: cp-name-parser.c
 	$(POSTCOMPILE)
 
 test-cp-name-parser$(EXEEXT): test-cp-name-parser.o $(LIBIBERTY)
-	$(CC_LD) $(INTERNAL_LDFLAGS) -o test-cp-name-parser$(EXEEXT) \
-		test-cp-name-parser.o $(LIBIBERTY)
+	$(ECHO_CXXLD) $(CC_LD) $(INTERNAL_LDFLAGS) \
+		-o test-cp-name-parser$(EXEEXT) test-cp-name-parser.o \
+		$(LIBIBERTY)
 
 # We do this by grepping through sources.  If that turns out to be too slow,
 # maybe we could just require every .o file to have an initialization routine
@@ -1858,7 +1856,7 @@ test-cp-name-parser$(EXEEXT): test-cp-na
 
 INIT_FILES = $(COMMON_OBS) $(TSOBS) $(CONFIG_SRCS) $(SUBDIR_GCC_COMPILE_SRCS)
 init.c: $(INIT_FILES)
-	@echo Making init.c
+	@$(ECHO_INIT_C) echo "Making init.c"
 	@rm -f init.c-tmp init.l-tmp
 	@touch init.c-tmp
 	@echo gdbtypes > init.l-tmp
@@ -1918,10 +1916,13 @@ libgdb.a: $(LIBGDB_OBS)
 
 # Removing the old gdb first works better if it is running, at least on SunOS.
 gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
-	rm -f gdb$(EXEEXT)
-	$(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
+	$(SILENCE) rm -f gdb$(EXEEXT)
+	$(ECHO_CXXLD) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
 		-o gdb$(EXEEXT) gdb.o $(LIBGDB_OBS) \
 		$(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)
+ifneq ($(CODESIGN_CERT),)
+	$(ECHO_SIGN) $(CODESIGN) -s $(CODESIGN_CERT) gdb$(EXEEXT)
+endif
 
 # Convenience rule to handle recursion.
 $(LIBGNU) $(GNULIB_H): all-lib
@@ -1966,7 +1967,7 @@ tags: TAGS
 clean mostlyclean: $(CONFIG_CLEAN)
 	@$(MAKE) $(FLAGS_TO_PASS) DO=clean "DODIRS=$(CLEANDIRS)" subdir_do
 	rm -f *.o *.a $(ADD_FILES) *~ init.c-tmp init.l-tmp version.c-tmp
-	rm -f init.c version.c observer.h observer.inc
+	rm -f init.c version.c
 	rm -f gdb$(EXEEXT) core make.log
 	rm -f gdb[0-9]$(EXEEXT)
 	rm -f test-cp-name-parser$(EXEEXT)
@@ -1989,7 +1990,8 @@ distclean: clean
 	rm -f gdbserver/config.status gdbserver/config.log
 	rm -f gdbserver/tm.h gdbserver/xm.h gdbserver/nm.h
 	rm -f gdbserver/Makefile gdbserver/config.cache
-	rm -f nm.h config.status config.h stamp-h gdb-gdb.gdb jit-reader.h
+	rm -f nm.h config.status config.h stamp-h b jit-reader.h
+	rm -f gdb-gdb.py gdb-gdb.gdb
 	rm -f y.output yacc.acts yacc.tmp y.tab.h
 	rm -f config.log config.cache
 	rm -f Makefile
@@ -2066,6 +2068,12 @@ jit-reader.h: $(srcdir)/jit-reader.in
 gcore: $(srcdir)/gcore.in
 	$(SHELL) config.status $@
 
+gdb-gdb.py: $(srcdir)/gdb-gdb.py.in
+	$(SHELL) config.status $@
+
+gdb-gdb.gdb: $(srcdir)/gdb-gdb.gdb.in
+	$(SHELL) config.status $@
+
 config.h: stamp-h ; @true
 stamp-h: $(srcdir)/config.in config.status
 	CONFIG_HEADERS=config.h:config.in \
@@ -2074,7 +2082,7 @@ stamp-h: $(srcdir)/config.in config.stat
 	  CONFIG_LINKS= \
 	  $(SHELL) config.status
 
-config.status: $(srcdir)/configure configure.tgt configure.host ../bfd/development.sh
+config.status: $(srcdir)/configure configure.nat configure.tgt configure.host ../bfd/development.sh
 	$(SHELL) config.status --recheck
 
 ACLOCAL = aclocal
@@ -2150,15 +2158,9 @@ doc/gdb.info:
 	mv $(srcdir)/copying.tmp $(srcdir)/copying.c
 
 version.c: Makefile version.in $(srcdir)/../bfd/version.h $(srcdir)/common/create-version.sh
-	$(SHELL) $(srcdir)/common/create-version.sh $(srcdir) \
+	$(ECHO_GEN) $(SHELL) $(srcdir)/common/create-version.sh $(srcdir) \
 	    $(host_alias) $(target_alias) version.c
 
-observer.h: observer.sh doc/observer.texi
-	${srcdir}/observer.sh h ${srcdir}/doc/observer.texi observer.h
-
-observer.inc: observer.sh doc/observer.texi
-	${srcdir}/observer.sh inc ${srcdir}/doc/observer.texi observer.inc
-
 lint: $(LINTFILES)
 	$(LINT) $(INCLUDE_CFLAGS) $(LINTFLAGS) $(LINTFILES) \
 	   `echo $(DEPFILES) $(CONFIG_OBS) | sed 's/\.o /\.c /g'`
@@ -2286,8 +2288,6 @@ ALLDEPFILES = \
 	m68k-linux-nat.c \
 	m68k-linux-tdep.c \
 	m68k-tdep.c \
-	m88k-bsd-nat.c \
-	m88k-tdep.c \
 	microblaze-linux-tdep.c \
 	microblaze-tdep.c \
 	mingw-hdep.c \
@@ -2324,6 +2324,7 @@ ALLDEPFILES = \
 	procfs.c \
 	ravenscar-thread.c \
 	remote-sim.c \
+	riscv-tdep.c \
 	rl78-tdep.c \
 	rs6000-lynx178-tdep.c \
 	rs6000-nat.c \
@@ -2331,6 +2332,7 @@ ALLDEPFILES = \
 	rx-tdep.c \
 	s390-linux-nat.c \
 	s390-linux-tdep.c \
+	s390-tdep.c \
 	score-tdep.c \
 	ser-go32.c \
 	ser-mingw.c \
@@ -2339,7 +2341,6 @@ ALLDEPFILES = \
 	sh-nbsd-nat.c \
 	sh-nbsd-tdep.c \
 	sh-tdep.c \
-	sh64-tdep.c \
 	sol2-tdep.c \
 	solib-aix.c \
 	solib-spu.c \
@@ -2378,6 +2379,7 @@ ALLDEPFILES = \
 	windows-nat.c \
 	windows-tdep.c \
 	x86-nat.c \
+	x86-tdep.c \
 	xcoffread.c \
 	xstormy16-tdep.c \
 	xtensa-config.c \
@@ -2394,14 +2396,16 @@ ALLDEPFILES = \
 # Do not try to build "printcmd.c" with -Wformat-nonliteral.  It manually
 # checks format strings.
 printcmd.o: $(srcdir)/printcmd.c
-	$(COMPILE.pre) $(INTERNAL_CFLAGS) $(GDB_WARN_CFLAGS_NO_FORMAT) \
-		$(COMPILE.post) $(srcdir)/printcmd.c
+	$(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) \
+		$(GDB_WARN_CFLAGS_NO_FORMAT) $(COMPILE.post) \
+		$(srcdir)/printcmd.c
 	$(POSTCOMPILE)
 
 # Same for "target-float.c".
 target-float.o: $(srcdir)/target-float.c
-	$(COMPILE.pre) $(INTERNAL_CFLAGS) $(GDB_WARN_CFLAGS_NO_FORMAT) \
-		$(COMPILE.post) $(srcdir)/target-float.c
+	$(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) \
+		$(GDB_WARN_CFLAGS_NO_FORMAT) $(COMPILE.post) \
+		$(srcdir)/target-float.c
 
 # ada-exp.c can appear in srcdir, for releases; or in ., for
 # development builds.
@@ -2410,8 +2414,8 @@ ADA_EXP_C = `if test -f ada-exp.c; then 
 # Some versions of flex give output that triggers
 # -Wold-style-definition.
 ada-exp.o: ada-exp.c
-	$(COMPILE.pre) $(INTERNAL_CFLAGS) $(GDB_WARN_CFLAGS_NO_DEFS) \
-		$(COMPILE.post) $(ADA_EXP_C)
+	$(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) \
+		$(GDB_WARN_CFLAGS_NO_DEFS) $(COMPILE.post) $(ADA_EXP_C)
 	$(POSTCOMPILE)
 
 # Message files.  Based on code in gcc/Makefile.in.
@@ -2498,9 +2502,8 @@ po/$(PACKAGE).pot: force
 # Makefile.in, but that was a pretty big annoyance.
 
 %.c: %.y
-	rm -f $@ $@.tmp
-	$(SHELL) $(YLWRAP) $< y.tab.c $@ -- $(YACC) $(YFLAGS) && mv $@ $@.tmp \
-		|| (rm -f $@; false)
+	$(SHELL) $(YLWRAP) $< y.tab.c $@.tmp -- $(YACC) $(YFLAGS) \
+		|| (rm -f $@.tmp; false)
 	sed -e '/extern.*malloc/d' \
 	     -e '/extern.*realloc/d' \
 	     -e '/extern.*free/d' \
@@ -2511,13 +2514,13 @@ po/$(PACKAGE).pot: force
 	     -e 's/\([ \t;,(]\)free$$/\1xfree/g' \
 	     -e '/^#line.*y.tab.c/d' \
 	     -e 's/YY_NULL/YY_NULLPTR/g' \
-	  < $@.tmp > $@
-	rm -f $@.tmp
+	  < $@.tmp > $@.new && \
+	  rm -f $@.tmp && \
+	  mv $@.new $@
 %.c: %.l
 	if [ "$(FLEX)" ] && $(FLEX) --version >/dev/null 2>&1; then \
-	    $(FLEX) -o$@ $< && \
-	    rm -f $@.new && \
-	    sed -e '/extern.*malloc/d' \
+	    $(FLEX) -t $<  \
+	    | sed -e '/extern.*malloc/d' \
 	        -e '/extern.*realloc/d' \
 	        -e '/extern.*free/d' \
 	        -e '/include.*malloc.h/d' \
@@ -2526,8 +2529,7 @@ po/$(PACKAGE).pot: force
 	        -e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \
 	        -e 's/\([ \t;,(]\)free$$/\1xfree/g' \
 		-e 's/yy_flex_xrealloc/yyxrealloc/g' \
-	      < $@ > $@.new && \
-	    rm -f $@ && \
+	      > $@.new && \
 	    mv $@.new $@; \
 	elif [ -f $@ ]; then \
 	    echo "Warning: $*.c older than $*.l and flex not available."; \
@@ -2542,12 +2544,12 @@ po/$(PACKAGE).pot: force
 
 xml-builtin.c: stamp-xml; @true
 stamp-xml: $(srcdir)/features/feature_to_c.sh Makefile $(XMLFILES)
-	rm -f xml-builtin.tmp
-	AWK="$(AWK)" \
+	$(SILENCE) rm -f xml-builtin.tmp
+	$(ECHO_GEN_XML_BUILTIN) AWK="$(AWK)" \
 	  $(SHELL) $(srcdir)/features/feature_to_c.sh \
 	  xml-builtin.tmp $(XMLFILES)
-	$(SHELL) $(srcdir)/../move-if-change xml-builtin.tmp xml-builtin.c
-	echo stamp > stamp-xml
+	$(SILENCE) $(SHELL) $(srcdir)/../move-if-change xml-builtin.tmp xml-builtin.c
+	$(SILENCE) echo stamp > stamp-xml
 
 .PRECIOUS: xml-builtin.c
 
@@ -2605,7 +2607,7 @@ clean-gdbtk:
 insight$(EXEEXT): gdbtk-main.o libgdb.a $(ADD_DEPS) \
 		$(CDEPS) $(TDEPLIBS)
 	rm -f insight$(EXEEXT)
-	$(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
+	$(ECHO_CXXLD) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
 		-o insight$(EXEEXT) gdbtk-main.o libgdb.a \
 		$(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/make-target-delegates ./gdb/make-target-delegates
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/make-target-delegates	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/make-target-delegates	2018-07-10 02:06:13.000000000 +0000
@@ -30,16 +30,27 @@
 # Match a C symbol.
 $SYMBOL = qr,[a-zA-Z_][a-zA-Z0-9_]*,;
 # Match the name part of a method in struct target_ops.
-$NAME_PART = qr,\(\*(?<name>${SYMBOL}+)\)\s,;
+$NAME_PART = qr,(?<name>${SYMBOL}+)\s,;
 # Match the arguments to a method.
 $ARGS_PART = qr,(?<args>\(.*\)),;
 # We strip the indentation so here we only need the caret.
 $INTRO_PART = qr,^,;
 
+$POINTER_PART = qr,\s*(\*)?\s*,;
+
+# Match a C++ symbol, including scope operators and template
+# parameters.  E.g., 'std::vector<something>'.
+$CP_SYMBOL = qr,[a-zA-Z_][a-zA-Z0-9_<>:]*,;
 # Match the return type when it is "ordinary".
-$SIMPLE_RETURN_PART = qr,[^\(]+,;
+$SIMPLE_RETURN_PART = qr,((struct|class|enum|union)\s+)?${CP_SYMBOL}+,;
 # Match the return type when it is a VEC.
-$VEC_RETURN_PART = qr,VEC\s*\([^\)]+\)[^\(]*,;
+$VEC_RETURN_PART = qr,VEC\s*\([^\)]+\),;
+
+# Match a return type.
+$RETURN_PART = qr,((const|volatile)\s+)?(${SIMPLE_RETURN_PART}|${VEC_RETURN_PART})${POINTER_PART},;
+
+# Match "virtual".
+$VIRTUAL_PART = qr,virtual\s,;
 
 # Match the TARGET_DEFAULT_* attribute for a method.
 $TARGET_DEFAULT_PART = qr,TARGET_DEFAULT_(?<style>[A-Z_]+)\s*\((?<default_arg>.*)\),;
@@ -49,8 +60,7 @@
 $METHOD_TRAILER = qr,\s*${TARGET_DEFAULT_PART}$,;
 
 # Match an entire method definition.
-$METHOD = ($INTRO_PART . "(?<return_type>" . $SIMPLE_RETURN_PART
-	   . "|" . $VEC_RETURN_PART . ")"
+$METHOD = ($INTRO_PART . $VIRTUAL_PART . "(?<return_type>" . $RETURN_PART . ")"
 	   . $NAME_PART . $ARGS_PART
 	   . $METHOD_TRAILER);
 
@@ -90,9 +100,8 @@ sub scan_target_h() {
 	next if /{/;
 	last if m/$ENDER/;
 
-	# Just in case somebody ever uses C99.
+	# Strip // comments.
 	$_ =~ s,//.*$,,;
-	$_ = trim ($_);
 
 	$all_the_text .= $_;
     }
@@ -100,6 +109,21 @@ sub scan_target_h() {
     # Now strip out the C comments.
     $all_the_text =~ s,/\*(.*?)\*/,,g;
 
+    # Replace sequences of tabs and/or whitespace with a single
+    # whitespace character.  We need the whitespace because the method
+    # may have been split between multiple lines, like e.g.:
+    #
+    #  virtual std::vector<long_type_name>
+    #    my_long_method_name ()
+    #    TARGET_DEFAULT_IGNORE ();
+    #
+    # If we didn't preserve the whitespace, then we'd end up with:
+    #
+    #  virtual std::vector<long_type_name>my_long_method_name ()TARGET_DEFAULT_IGNORE ()
+    #
+    # ... which wouldn't later be parsed correctly.
+    $all_the_text =~ s/[\t\s]+/ /g;
+
     return split (/;/, $all_the_text);
 }
 
@@ -115,7 +139,7 @@ sub parse_argtypes($) {
     foreach $iter (@typelist) {
 	if ($iter =~ m/^(enum\s+${SYMBOL}\s*)(${SYMBOL})?$/) {
 	    $onetype = $1;
-	} elsif ($iter =~ m/^(.*(enum\s+)?${SYMBOL}.*(\s|\*))${SYMBOL}+$/) {
+	} elsif ($iter =~ m/^(.*(enum\s+)?${SYMBOL}.*(\s|\*|&))${SYMBOL}+$/) {
 	    $onetype = $1;
 	} elsif ($iter eq 'void') {
 	    next;
@@ -130,16 +154,24 @@ sub parse_argtypes($) {
 
 sub dname($) {
     my ($name) = @_;
-    $name =~ s/to_/delegate_/;
-    return $name;
+    return "target_ops::" . $name;
 }
 
 # Write function header given name, return type, and argtypes.
 # Returns a list of actual argument names.
-sub write_function_header($$@) {
-    my ($name, $return_type, @argtypes) = @_;
+sub write_function_header($$$@) {
+    my ($decl, $name, $return_type, @argtypes) = @_;
+
+    print $return_type;
+
+    if ($decl) {
+	if ($return_type !~ m,\*$,) {
+	    print " ";
+	}
+    } else {
+	print "\n";
+    }
 
-    print "static " . $return_type . "\n";
     print $name . ' (';
 
     my $iter;
@@ -151,17 +183,12 @@ sub write_function_header($$@) {
 
 	$val =~ s/$TARGET_DEBUG_PRINTER//;
 
-	if ($iter !~ m,\*$,) {
+	if ($iter !~ m,(\*|&)$,) {
 	    $val .= ' ';
 	}
 
 	my $vname;
-	if ($i == 0) {
-	    # Just a random nicety.
-	    $vname = 'self';
-	} else {
-	    $vname .= "arg$i";
-	}
+	$vname .= "arg$i";
 	$val .= $vname;
 
 	push @argdecls, $val;
@@ -169,25 +196,36 @@ sub write_function_header($$@) {
 	++$i;
     }
 
-    print join (', ', @argdecls) . ")\n";
-    print "{\n";
+    print join (', ', @argdecls) . ")";
+
+    if ($decl) {
+	print " override;\n";
+    } else {
+	print "\n{\n";
+    }
 
     return @actuals;
 }
 
+# Write out a declaration.
+sub write_declaration($$@) {
+    my ($name, $return_type, @argtypes) = @_;
+
+    write_function_header (1, $name, $return_type, @argtypes);
+}
+
 # Write out a delegation function.
 sub write_delegator($$@) {
     my ($name, $return_type, @argtypes) = @_;
 
-    my (@names) = write_function_header (dname ($name), $return_type,
-					 @argtypes);
+    my (@names) = write_function_header (0, dname ($name),
+					 $return_type, @argtypes);
 
-    print "  $names[0] = $names[0]->beneath;\n";
     print "  ";
     if ($return_type ne 'void') {
 	print "return ";
     }
-    print "$names[0]->" . $name . " (";
+    print "this->beneath ()->" . $name . " (";
     print join (', ', @names);
     print ");\n";
     print "}\n\n";
@@ -195,21 +233,28 @@ sub write_delegator($$@) {
 
 sub tdname ($) {
     my ($name) = @_;
-    $name =~ s/to_/tdefault_/;
-    return $name;
+    return "dummy_target::" . $name;
 }
 
 # Write out a default function.
 sub write_tdefault($$$$@) {
     my ($content, $style, $name, $return_type, @argtypes) = @_;
 
-    if ($style eq 'FUNC') {
-	return $content;
-    }
-
-    write_function_header (tdname ($name), $return_type, @argtypes);
+    my (@names) = write_function_header (0, tdname ($name),
+					 $return_type, @argtypes);
 
-    if ($style eq 'RETURN') {
+    if ($style eq 'FUNC') {
+	print "  ";
+	if ($return_type ne 'void') {
+	    print "return ";
+	}
+	print $content . " (this";
+	if (@names) {
+	    print ", ";
+	}
+	print join (', ', @names);
+	print ");\n";
+    } elsif ($style eq 'RETURN') {
 	print "  return $content;\n";
     } elsif ($style eq 'NORETURN') {
 	print "  $content;\n";
@@ -234,6 +279,7 @@ sub munge_type($) {
 	($result = $typename) =~ s/\s+$//;
 	$result =~ s/[ ()<>:]/_/g;
 	$result =~ s/[*]/p/g;
+	$result =~ s/&/r/g;
 
 	# Identifers with double underscores are reserved to the C++
 	# implementation.
@@ -251,39 +297,37 @@ sub munge_type($) {
 }
 
 # Write out a debug method.
-sub write_debugmethod($$$$@) {
-    my ($content, $style, $name, $return_type, @argtypes) = @_;
+sub write_debugmethod($$$@) {
+    my ($content, $name, $return_type, @argtypes) = @_;
 
-    my ($debugname) = $name;
-    $debugname =~ s/to_/debug_/;
+    my ($debugname) = "debug_target::" . $name;
     my ($targetname) = $name;
-    $targetname =~ s/to_/target_/;
 
-    my (@names) = write_function_header ($debugname, $return_type, @argtypes);
+    my (@names) = write_function_header (0, $debugname, $return_type, @argtypes);
 
     if ($return_type ne 'void') {
 	print "  $return_type result;\n";
     }
 
-    print "  fprintf_unfiltered (gdb_stdlog, \"-> %s->$name (...)\\n\", debug_target.to_shortname);\n";
+    print "  fprintf_unfiltered (gdb_stdlog, \"-> %s->$name (...)\\n\", this->beneath ()->shortname ());\n";
 
     # Delegate to the beneath target.
     print "  ";
     if ($return_type ne 'void') {
 	print "result = ";
     }
-    print "debug_target." . $name . " (";
-    my @names2 = @names;
-    @names2[0] = "&debug_target";
-    print join (', ', @names2);
+    print "this->beneath ()->" . $name . " (";
+    print join (', ', @names);
     print ");\n";
 
     # Now print the arguments.
-    print "  fprintf_unfiltered (gdb_stdlog, \"<- %s->$name (\", debug_target.to_shortname);\n";
+    print "  fprintf_unfiltered (gdb_stdlog, \"<- %s->$name (\", this->beneath ()->shortname ());\n";
     for my $i (0 .. $#argtypes) {
-	print "  fputs_unfiltered (\", \", gdb_stdlog);\n" if $i > 0;
+	if ($i > 0) {
+	    print "  fputs_unfiltered (\", \", gdb_stdlog);\n"
+	}
 	my $printer = munge_type ($argtypes[$i]);
-	print "  $printer ($names2[$i]);\n";
+	print "  $printer ($names[$i]);\n";
     }
     if ($return_type ne 'void') {
 	print "  fputs_unfiltered (\") = \", gdb_stdlog);\n";
@@ -307,61 +351,73 @@ print "/* THIS FILE IS GENERATED -*- buf
 print "/* vi:set ro: */\n\n";
 print "/* To regenerate this file, run:*/\n";
 print "/*      make-target-delegates target.h > target-delegates.c */\n";
+print "\n";
 
 @lines = scan_target_h();
 
-
-%tdefault_names = ();
-%debug_names = ();
 @delegators = ();
+@return_types = ();
+@tdefaults = ();
+@styles = ();
+@argtypes_array = ();
+
 foreach $current_line (@lines) {
+    # See comments in scan_target_h.  Here we strip away the leading
+    # and trailing whitespace.
+    $current_line = trim ($current_line);
+
     next unless $current_line =~ m/$METHOD/;
 
-    $name = $+{name};
-    $current_line = $+{args};
-    $return_type = trim ($+{return_type});
-    $current_args = $+{args};
-    $tdefault = $+{default_arg};
-    $style = $+{style};
+    my $name = $+{name};
+    my $current_line = $+{args};
+    my $return_type = trim ($+{return_type});
+    my $current_args = $+{args};
+    my $tdefault = $+{default_arg};
+    my $style = $+{style};
+
+    my @argtypes = parse_argtypes ($current_args);
 
-    @argtypes = parse_argtypes ($current_args);
+    push @delegators, $name;
+
+    $return_types{$name} = $return_type;
+    $tdefaults{$name} = $tdefault;
+    $styles{$name} = $style;
+    $argtypes_array{$name} = \@argtypes;
+}
 
-    # The first argument must be "this" to be delegatable.
-    if ($argtypes[0] =~ /\s*struct\s+target_ops\s*\*\s*/) {
-	write_delegator ($name, $return_type, @argtypes);
+sub print_class($) {
+    my ($name) = @_;
 
-	push @delegators, $name;
+    print "struct " . $name . " : public target_ops\n";
+    print "{\n";
+    print "  $name ();\n";
+    print "\n";
+    print "  const target_info &info () const override;\n";
+    print "\n";
 
-	$tdefault_names{$name} = write_tdefault ($tdefault, $style,
-						 $name, $return_type,
-						 @argtypes);
+    for $name (@delegators) {
+	my $return_type = $return_types{$name};
+	my @argtypes = @{$argtypes_array{$name}};
 
-	$debug_names{$name} = write_debugmethod ($tdefault, $style,
-						 $name, $return_type,
-						 @argtypes);
+	print "  ";
+	write_declaration ($name, $return_type, @argtypes);
     }
+
+    print "};\n\n";
 }
 
-# Now the delegation code.
-print "static void\ninstall_delegators (struct target_ops *ops)\n{\n";
+print_class ("dummy_target");
+print_class ("debug_target");
 
-for $iter (@delegators) {
-    print "  if (ops->" . $iter . " == NULL)\n";
-    print "    ops->" . $iter . " = " . dname ($iter) . ";\n";
-}
-print "}\n\n";
+for $name (@delegators) {
+    my $tdefault = $tdefaults{$name};
+    my $return_type = $return_types{$name};
+    my $style = $styles{$name};
+    my @argtypes = @{$argtypes_array{$name}};
 
-# Now the default method code.
-print "static void\ninstall_dummy_methods (struct target_ops *ops)\n{\n";
+    write_delegator ($name, $return_type, @argtypes);
 
-for $iter (@delegators) {
-    print "  ops->" . $iter . " = " . $tdefault_names{$iter} . ";\n";
-}
-print "}\n\n";
+    write_tdefault ($tdefault, $style, $name, $return_type, @argtypes);
 
-# The debug method code.
-print "static void\ninit_debug_target (struct target_ops *ops)\n{\n";
-for $iter (@delegators) {
-    print "  ops->" . $iter . " = " . $debug_names{$iter} . ";\n";
+    write_debugmethod ($tdefault, $name, $return_type, @argtypes);
 }
-print "}\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.1.0.20180703/gdb/mdebugread.c ./gdb/mdebugread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mdebugread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mdebugread.c	2018-07-10 02:06:13.000000000 +0000
@@ -125,40 +125,39 @@ struct symloc
 static void
 index_complaint (const char *arg1)
 {
-  complaint (&symfile_complaints, _("bad aux index at symbol %s"), arg1);
+  complaint (_("bad aux index at symbol %s"), arg1);
 }
 
 static void
 unknown_ext_complaint (const char *arg1)
 {
-  complaint (&symfile_complaints, _("unknown external symbol %s"), arg1);
+  complaint (_("unknown external symbol %s"), arg1);
 }
 
 static void
 basic_type_complaint (int arg1, const char *arg2)
 {
-  complaint (&symfile_complaints, _("cannot map ECOFF basic type 0x%x for %s"),
+  complaint (_("cannot map ECOFF basic type 0x%x for %s"),
 	     arg1, arg2);
 }
 
 static void
 bad_tag_guess_complaint (const char *arg1)
 {
-  complaint (&symfile_complaints,
-	     _("guessed tag type of %s incorrectly"), arg1);
+  complaint (_("guessed tag type of %s incorrectly"), arg1);
 }
 
 static void
 bad_rfd_entry_complaint (const char *arg1, int arg2, int arg3)
 {
-  complaint (&symfile_complaints, _("bad rfd entry for %s: file %d, index %d"),
+  complaint (_("bad rfd entry for %s: file %d, index %d"),
 	     arg1, arg2, arg3);
 }
 
 static void
 unexpected_type_code_complaint (const char *arg1)
 {
-  complaint (&symfile_complaints, _("unexpected type code for %s"), arg1);
+  complaint (_("unexpected type code for %s"), arg1);
 }
 
 /* Macros and extra defs.  */
@@ -356,9 +355,8 @@ mdebug_build_psymtabs (minimal_symbol_re
       char *fdr_end;
       FDR *fdr_ptr;
 
-      info->fdr = (FDR *) obstack_alloc (&objfile->objfile_obstack,
-					 (info->symbolic_header.ifdMax
-					  * sizeof (FDR)));
+      info->fdr = (FDR *) XOBNEWVEC (&objfile->objfile_obstack, FDR,
+				     info->symbolic_header.ifdMax);
       fdr_src = (char *) info->external_fdr;
       fdr_end = (fdr_src
 		 + info->symbolic_header.ifdMax * swap->external_fdr_size);
@@ -508,9 +506,7 @@ add_pending (FDR *fh, char *sh, struct t
   /* Make sure we do not make duplicates.  */
   if (!p)
     {
-      p = ((struct mdebug_pending *)
-	   obstack_alloc (&mdebugread_objfile->objfile_obstack,
-			  sizeof (struct mdebug_pending)));
+      p = XOBNEW (&mdebugread_objfile->objfile_obstack, mdebug_pending);
       p->s = sh;
       p->t = t;
       p->next = pending_list[f_idx];
@@ -524,8 +520,7 @@ add_pending (FDR *fh, char *sh, struct t
 static void
 reg_value_complaint (int regnum, int num_regs, const char *sym)
 {
-  complaint (&symfile_complaints,
-	     _("bad register number %d (max %d) in symbol %s"),
+  complaint (_("bad register number %d (max %d) in symbol %s"),
              regnum, num_regs - 1, sym);
 }
 
@@ -750,8 +745,7 @@ parse_symbol (SYMR *sh, union aux_ext *a
                     keep_counting = 0;
                     break;
                   default:
-                    complaint (&symfile_complaints,
-                               _("unknown symbol type 0x%x"), sh->st);
+                    complaint (_("unknown symbol type 0x%x"), sh->st);
                     break;
                 }
             }
@@ -968,8 +962,7 @@ parse_symbol (SYMR *sh, union aux_ext *a
 		break;
 
 	      default:
-		complaint (&symfile_complaints,
-			   _("declaration block contains "
+		complaint (_("declaration block contains "
 			     "unhandled symbol type %d"),
 			   tsym.st);
 	      }
@@ -1031,10 +1024,10 @@ parse_symbol (SYMR *sh, union aux_ext *a
 	   (.Fxx or .xxfake or empty) for unnamed struct/union/enums.
 	   Alpha cc puts out an sh->iss of zero for those.  */
 	if (sh->iss == 0 || name[0] == '.' || name[0] == '\0')
-	  TYPE_TAG_NAME (t) = NULL;
+	  TYPE_NAME (t) = NULL;
 	else
-	  TYPE_TAG_NAME (t) = obconcat (&mdebugread_objfile->objfile_obstack,
-					name, (char *) NULL);
+	  TYPE_NAME (t) = obconcat (&mdebugread_objfile->objfile_obstack,
+				    name, (char *) NULL);
 
 	TYPE_CODE (t) = type_code;
 	TYPE_LENGTH (t) = sh->value;
@@ -1174,10 +1167,8 @@ parse_symbol (SYMR *sh, union aux_ext *a
 	  SYMBOL_DOMAIN (s) = LABEL_DOMAIN;
 	  SYMBOL_ACLASS_INDEX (s) = LOC_CONST;
 	  SYMBOL_TYPE (s) = objfile_type (mdebugread_objfile)->builtin_void;
-	  e = ((struct mdebug_extra_func_info *)
-	       obstack_alloc (&mdebugread_objfile->objfile_obstack,
-			      sizeof (struct mdebug_extra_func_info)));
-	  memset (e, 0, sizeof (struct mdebug_extra_func_info));
+	  e = OBSTACK_ZALLOC (&mdebugread_objfile->objfile_obstack,
+			      mdebug_extra_func_info);
 	  SYMBOL_VALUE_BYTES (s) = (gdb_byte *) e;
 	  e->numargs = top_stack->numargs;
 	  e->pdr.framereg = -1;
@@ -1250,8 +1241,7 @@ parse_symbol (SYMR *sh, union aux_ext *a
 	  ;
 	}
       else
-	complaint (&symfile_complaints,
-		   _("stEnd with storage class %d not handled"), sh->sc);
+	complaint (_("stEnd with storage class %d not handled"), sh->sc);
 
       pop_parse_stack ();	/* Restore previous lexical context.  */
       break;
@@ -1363,7 +1353,7 @@ parse_symbol (SYMR *sh, union aux_ext *a
     case stConstant:
       break;			/* constant */
     default:
-      complaint (&symfile_complaints, _("unknown symbol type 0x%x"), sh->st);
+      complaint (_("unknown symbol type 0x%x"), sh->st);
       break;
     }
 
@@ -1604,8 +1594,7 @@ parse_type (int fd, union aux_ext *ax, u
 	  else if (t->bt == btEnum)
 	    ;
 	  else
-	    complaint (&symfile_complaints,
-		       _("can't handle TIR fBitfield for %s"),
+	    complaint (_("can't handle TIR fBitfield for %s"),
 		       sym_name);
 	}
       else
@@ -1634,8 +1623,7 @@ parse_type (int fd, union aux_ext *ax, u
 
       if (rf == -1)
 	{
-	  complaint (&symfile_complaints,
-		     _("unable to cross ref btIndirect for %s"), sym_name);
+	  complaint (_("unable to cross ref btIndirect for %s"), sym_name);
 	  return basic_type (btInt, mdebugread_objfile);
 	}
       xref_fh = get_rfd (fd, rf);
@@ -1699,10 +1687,10 @@ parse_type (int fd, union aux_ext *ax, u
 	  /* Do not set the tag name if it is a compiler generated tag name
 	     (.Fxx or .xxfake or empty) for unnamed struct/union/enums.  */
 	  if (name[0] == '.' || name[0] == '\0')
-	    TYPE_TAG_NAME (tp) = NULL;
-	  else if (TYPE_TAG_NAME (tp) == NULL
-		   || strcmp (TYPE_TAG_NAME (tp), name) != 0)
-	    TYPE_TAG_NAME (tp)
+	    TYPE_NAME (tp) = NULL;
+	  else if (TYPE_NAME (tp) == NULL
+		   || strcmp (TYPE_NAME (tp), name) != 0)
+	    TYPE_NAME (tp)
 	      = ((const char *)
 		 obstack_copy0 (&mdebugread_objfile->objfile_obstack,
 				name, strlen (name)));
@@ -1754,8 +1742,7 @@ parse_type (int fd, union aux_ext *ax, u
       ax += cross_ref (fd, ax, &tp, type_code, &name, bigend, sym_name);
       if (tp == (struct type *) NULL)
 	{
-	  complaint (&symfile_complaints,
-		     _("unable to cross ref btTypedef for %s"), sym_name);
+	  complaint (_("unable to cross ref btTypedef for %s"), sym_name);
 	  tp = basic_type (btInt, mdebugread_objfile);
 	}
     }
@@ -1801,8 +1788,7 @@ parse_type (int fd, union aux_ext *ax, u
 
   /* Complain for illegal continuations due to corrupt aux entries.  */
   if (t->continued)
-    complaint (&symfile_complaints,
-	       _("illegal TIR continued for %s"), sym_name);
+    complaint (_("illegal TIR continued for %s"), sym_name);
 
   return tp;
 }
@@ -1864,8 +1850,7 @@ upgrade_type (int fd, struct type **tpp,
          else due to corrupt aux entries.  */
       if (TYPE_CODE (indx) != TYPE_CODE_INT)
 	{
-	  complaint (&symfile_complaints,
-		     _("illegal array index type for %s, assuming int"),
+	  complaint (_("illegal array index type for %s, assuming int"),
 		     sym_name);
 	  indx = objfile_type (mdebugread_objfile)->builtin_int;
 	}
@@ -1913,7 +1898,7 @@ upgrade_type (int fd, struct type **tpp,
       return 0;
 
     default:
-      complaint (&symfile_complaints, _("unknown type qualifier 0x%x"), tq);
+      complaint (_("unknown type qualifier 0x%x"), tq);
       return 0;
     }
 }
@@ -1945,8 +1930,7 @@ parse_procedure (PDR *pr, struct compuni
 	{
 	  /* Static procedure at address pr->adr.  Sigh.  */
 	  /* FIXME-32x64.  assuming pr->adr fits in long.  */
-	  complaint (&symfile_complaints,
-		     _("can't handle PDR for static proc at 0x%lx"),
+	  complaint (_("can't handle PDR for static proc at 0x%lx"),
 		     (unsigned long) pr->adr);
 	  return;
 	}
@@ -2009,7 +1993,7 @@ parse_procedure (PDR *pr, struct compuni
     }
   else
     {
-      complaint (&symfile_complaints, _("PDR for %s, but no symbol"), sh_name);
+      complaint (_("PDR for %s, but no symbol"), sh_name);
 #if 1
       return;
 #else
@@ -2235,8 +2219,7 @@ parse_lines (FDR *fh, PDR *pr, struct li
 	     with corrupt binaries.  */
 	  if (lt->nitems >= maxlines)
 	    {
-	      complaint (&symfile_complaints,
-			 _("guessed size of linetable for %s incorrectly"),
+	      complaint (_("guessed size of linetable for %s incorrectly"),
 			 fdr_name (fh));
 	      break;
 	    }
@@ -2249,8 +2232,7 @@ parse_lines (FDR *fh, PDR *pr, struct li
 static void
 function_outside_compilation_unit_complaint (const char *arg1)
 {
-  complaint (&symfile_complaints,
-	     _("function `%s' appears to be defined "
+  complaint (_("function `%s' appears to be defined "
 	       "outside of all compilation units"),
 	     arg1);
 }
@@ -2339,7 +2321,6 @@ parse_partial_symbols (minimal_symbol_re
   FDR *fh;
   char *ext_out;
   char *ext_out_end;
-  EXTR *ext_block;
   EXTR *ext_in;
   EXTR *ext_in_end;
   SYMR sh;
@@ -2355,7 +2336,6 @@ parse_partial_symbols (minimal_symbol_re
   /* Index within current psymtab dependency list.  */
   struct partial_symtab **dependency_list;
   int dependencies_used, dependencies_allocated;
-  struct cleanup *old_chain;
   char *name;
   enum language prev_language;
   asection *text_sect;
@@ -2372,8 +2352,7 @@ parse_partial_symbols (minimal_symbol_re
       && (bfd_get_section_flags (cur_bfd, text_sect) & SEC_RELOC))
     relocatable = 1;
 
-  extern_tab = (EXTR *) obstack_alloc (&objfile->objfile_obstack,
-				       sizeof (EXTR) * hdr->iextMax);
+  extern_tab = XOBNEWVEC (&objfile->objfile_obstack, EXTR, hdr->iextMax);
 
   includes_allocated = 30;
   includes_used = 0;
@@ -2404,8 +2383,8 @@ parse_partial_symbols (minimal_symbol_re
   /* Allocate the map FDR -> PST.
      Minor hack: -O3 images might claim some global data belongs
      to FDR -1.  We`ll go along with that.  */
-  fdr_to_pst = XCNEWVEC (struct pst_map, hdr->ifdMax + 1);
-  old_chain = make_cleanup (xfree, fdr_to_pst);
+  gdb::def_vector<struct pst_map> fdr_to_pst_holder (hdr->ifdMax + 1);
+  fdr_to_pst = fdr_to_pst_holder.data ();
   fdr_to_pst++;
   {
     struct partial_symtab *pst = new_psymtab ("", objfile);
@@ -2415,25 +2394,22 @@ parse_partial_symbols (minimal_symbol_re
   }
 
   /* Allocate the global pending list.  */
-  pending_list =
-    ((struct mdebug_pending **)
-     obstack_alloc (&objfile->objfile_obstack,
-		    hdr->ifdMax * sizeof (struct mdebug_pending *)));
+  pending_list = XOBNEWVEC (&objfile->objfile_obstack, mdebug_pending *,
+			    hdr->ifdMax);
   memset (pending_list, 0,
 	  hdr->ifdMax * sizeof (struct mdebug_pending *));
 
   /* Pass 0 over external syms: swap them in.  */
-  ext_block = XNEWVEC (EXTR, hdr->iextMax);
-  make_cleanup (xfree, ext_block);
+  gdb::def_vector<EXTR> ext_block (hdr->iextMax);
 
   ext_out = (char *) debug_info->external_ext;
   ext_out_end = ext_out + hdr->iextMax * external_ext_size;
-  ext_in = ext_block;
+  ext_in = ext_block.data ();
   for (; ext_out < ext_out_end; ext_out += external_ext_size, ext_in++)
     (*swap_ext_in) (cur_bfd, ext_out, ext_in);
 
   /* Pass 1 over external syms: Presize and partition the list.  */
-  ext_in = ext_block;
+  ext_in = ext_block.data ();
   ext_in_end = ext_in + hdr->iextMax;
   for (; ext_in < ext_in_end; ext_in++)
     {
@@ -2486,7 +2462,7 @@ parse_partial_symbols (minimal_symbol_re
      symbol table.  */
 
   /* Pass 2 over external syms: fill in external symbols.  */
-  ext_in = ext_block;
+  ext_in = ext_block.data ();
   ext_in_end = ext_in + hdr->iextMax;
   for (; ext_in < ext_in_end; ext_in++)
     {
@@ -2497,15 +2473,13 @@ parse_partial_symbols (minimal_symbol_re
          external symbols.  */
       if (ext_in->ifd < -1 || ext_in->ifd >= hdr->ifdMax)
 	{
-	  complaint (&symfile_complaints,
-		     _("bad ifd for external symbol: %d (max %ld)"),
+	  complaint (_("bad ifd for external symbol: %d (max %ld)"),
 		     ext_in->ifd, hdr->ifdMax);
 	  continue;
 	}
       if (ext_in->asym.iss < 0 || ext_in->asym.iss >= hdr->issExtMax)
 	{
-	  complaint (&symfile_complaints,
-		     _("bad iss for external symbol: %ld (max %ld)"),
+	  complaint (_("bad iss for external symbol: %ld (max %ld)"),
 		     ext_in->asym.iss, hdr->issExtMax);
 	  continue;
 	}
@@ -2659,8 +2633,7 @@ parse_partial_symbols (minimal_symbol_re
 				  textlow,
 				  objfile->global_psymbols,
 				  objfile->static_psymbols);
-      pst->read_symtab_private = obstack_alloc (&objfile->objfile_obstack,
-						sizeof (struct symloc));
+      pst->read_symtab_private = XOBNEW (&objfile->objfile_obstack, symloc);
       memset (pst->read_symtab_private, 0, sizeof (struct symloc));
 
       save_pst = pst;
@@ -3324,8 +3297,7 @@ parse_partial_symbols (minimal_symbol_re
 			   searching to the end of every string looking for
 			   a backslash.  */
 
-			complaint (&symfile_complaints,
-				   _("unknown symbol descriptor `%c'"), p[1]);
+			complaint (_("unknown symbol descriptor `%c'"), p[1]);
 
 			/* Ignore it; perhaps it is an extension that we don't
 			   know about.  */
@@ -3389,8 +3361,7 @@ parse_partial_symbols (minimal_symbol_re
 		  default:
 		    /* If we haven't found it yet, ignore it.  It's
 		       probably some new type we don't know about yet.  */
-		    complaint (&symfile_complaints,
-			       _("unknown symbol type %s"),
+		    complaint (_("unknown symbol type %s"),
 			       hex_string (type_code)); /* CUR_SYMBOL_TYPE */
 		    continue;
 		  }
@@ -3491,8 +3462,7 @@ parse_partial_symbols (minimal_symbol_re
 		  if (new_sdx <= cur_sdx)
 		    {
 		      /* This should not happen either... FIXME.  */
-		      complaint (&symfile_complaints,
-				 _("bad proc end in aux found from symbol %s"),
+		      complaint (_("bad proc end in aux found from symbol %s"),
 				 name);
 		      new_sdx = cur_sdx + 1;	/* Don't skip backward.  */
 		    }
@@ -3601,8 +3571,7 @@ parse_partial_symbols (minimal_symbol_re
 		  if (new_sdx <= cur_sdx)
 		    {
 		      /* This happens with the Ultrix kernel.  */
-		      complaint (&symfile_complaints,
-				 _("bad aux index at block symbol %s"), name);
+		      complaint (_("bad aux index at block symbol %s"), name);
 		      new_sdx = cur_sdx + 1;	/* Don't skip backward.  */
 		    }
 		  cur_sdx = new_sdx;
@@ -3622,9 +3591,9 @@ parse_partial_symbols (minimal_symbol_re
 		default:
 		  /* Both complaints are valid:  one gives symbol name,
 		     the other the offending symbol type.  */
-		  complaint (&symfile_complaints, _("unknown local symbol %s"),
+		  complaint (_("unknown local symbol %s"),
 			     name);
-		  complaint (&symfile_complaints, _("with type %d"), sh.st);
+		  complaint (_("with type %d"), sh.st);
 		  cur_sdx++;
 		  continue;
 		}
@@ -3698,7 +3667,8 @@ parse_partial_symbols (minimal_symbol_re
 		  break;
 		default:
 		  unknown_ext_complaint (debug_info->ssext + psh->iss);
-		  /* Fall through, pretend it's global.  */
+		  /* Pretend it's global.  */
+		  /* Fall through.  */
 		case stGlobal:
 		  /* Global common symbols are resolved by the runtime loader,
 		     ignore them.  */
@@ -3773,11 +3743,8 @@ parse_partial_symbols (minimal_symbol_re
       /* Skip the first file indirect entry as it is a self dependency for
          source files or a reverse .h -> .c dependency for header files.  */
       pst->number_of_dependencies = 0;
-      pst->dependencies =
-	((struct partial_symtab **)
-	 obstack_alloc (&objfile->objfile_obstack,
-			((fh->crfd - 1)
-			 * sizeof (struct partial_symtab *))));
+      pst->dependencies = XOBNEWVEC (&objfile->objfile_obstack,
+				     partial_symtab *, (fh->crfd - 1));
       for (s_idx = 1; s_idx < fh->crfd; s_idx++)
 	{
 	  RFDT rh;
@@ -3788,7 +3755,7 @@ parse_partial_symbols (minimal_symbol_re
 			  &rh);
 	  if (rh < 0 || rh >= hdr->ifdMax)
 	    {
-	      complaint (&symfile_complaints, _("bad file number %ld"), rh);
+	      complaint (_("bad file number %ld"), rh);
 	      continue;
 	    }
 
@@ -3811,7 +3778,6 @@ parse_partial_symbols (minimal_symbol_re
       && objfile->psymtabs->n_global_syms == 0
       && objfile->psymtabs->n_static_syms == 0)
     objfile->psymtabs = NULL;
-  do_cleanups (old_chain);
 }
 
 /* If the current psymbol has an enumerated type, we need to add
@@ -4064,13 +4030,11 @@ psymtab_to_symtab_1 (struct objfile *obj
 		{
 		  /* Make up special symbol to contain
 		     procedure specific info.  */
-		  struct mdebug_extra_func_info *e =
-		    ((struct mdebug_extra_func_info *)
-		     obstack_alloc (&mdebugread_objfile->objfile_obstack,
-				    sizeof (struct mdebug_extra_func_info)));
+		  mdebug_extra_func_info *e
+		    = OBSTACK_ZALLOC (&mdebugread_objfile->objfile_obstack,
+				      mdebug_extra_func_info);
 		  struct symbol *s = new_symbol (MDEBUG_EFI_SYMBOL_NAME);
 
-		  memset (e, 0, sizeof (struct mdebug_extra_func_info));
 		  SYMBOL_DOMAIN (s) = LABEL_DOMAIN;
 		  SYMBOL_ACLASS_INDEX (s) = LOC_CONST;
 		  SYMBOL_TYPE (s) = objfile_type (objfile)->builtin_void;
@@ -4101,8 +4065,7 @@ psymtab_to_symtab_1 (struct objfile *obj
 	    /* These are generated by gcc-2.x, do not complain.  */
 	    ;
 	  else
-	    complaint (&symfile_complaints,
-		       _("unknown stabs symbol %s"), name);
+	    complaint (_("unknown stabs symbol %s"), name);
 	}
 
       if (! last_symtab_ended)
@@ -4120,20 +4083,17 @@ psymtab_to_symtab_1 (struct objfile *obj
       /* Fill in procedure info next.  */
       if (fh->cpd > 0)
 	{
-	  PDR *pr_block;
-	  struct cleanup *old_chain;
 	  char *pdr_ptr;
 	  char *pdr_end;
 	  PDR *pdr_in;
 	  PDR *pdr_in_end;
 
-	  pr_block = XNEWVEC (PDR, fh->cpd);
-	  old_chain = make_cleanup (xfree, pr_block);
+	  gdb::def_vector<PDR> pr_block (fh->cpd);
 
 	  pdr_ptr = ((char *) debug_info->external_pdr
 		     + fh->ipdFirst * external_pdr_size);
 	  pdr_end = pdr_ptr + fh->cpd * external_pdr_size;
-	  pdr_in = pr_block;
+	  pdr_in = pr_block.data ();
 	  for (;
 	       pdr_ptr < pdr_end;
 	       pdr_ptr += external_pdr_size, pdr_in++)
@@ -4142,18 +4102,16 @@ psymtab_to_symtab_1 (struct objfile *obj
 
 	      /* Determine lowest PDR address, the PDRs are not always
 	         sorted.  */
-	      if (pdr_in == pr_block)
+	      if (pdr_in == pr_block.data ())
 		lowest_pdr_addr = pdr_in->adr;
 	      else if (pdr_in->adr < lowest_pdr_addr)
 		lowest_pdr_addr = pdr_in->adr;
 	    }
 
-	  pdr_in = pr_block;
+	  pdr_in = pr_block.data ();
 	  pdr_in_end = pdr_in + fh->cpd;
 	  for (; pdr_in < pdr_in_end; pdr_in++)
 	    parse_procedure (pdr_in, cust, pst);
-
-	  do_cleanups (old_chain);
 	}
     }
   else
@@ -4223,21 +4181,17 @@ psymtab_to_symtab_1 (struct objfile *obj
 	     structures, so we swap them all first.  */
 	  if (fh->cpd > 0)
 	    {
-	      PDR *pr_block;
-	      struct cleanup *old_chain;
 	      char *pdr_ptr;
 	      char *pdr_end;
 	      PDR *pdr_in;
 	      PDR *pdr_in_end;
 
-	      pr_block = XNEWVEC (PDR, fh->cpd);
-
-	      old_chain = make_cleanup (xfree, pr_block);
+	      gdb::def_vector<PDR> pr_block (fh->cpd);
 
 	      pdr_ptr = ((char *) debug_info->external_pdr
 			 + fh->ipdFirst * external_pdr_size);
 	      pdr_end = pdr_ptr + fh->cpd * external_pdr_size;
-	      pdr_in = pr_block;
+	      pdr_in = pr_block.data ();
 	      for (;
 		   pdr_ptr < pdr_end;
 		   pdr_ptr += external_pdr_size, pdr_in++)
@@ -4246,24 +4200,22 @@ psymtab_to_symtab_1 (struct objfile *obj
 
 		  /* Determine lowest PDR address, the PDRs are not always
 		     sorted.  */
-		  if (pdr_in == pr_block)
+		  if (pdr_in == pr_block.data ())
 		    lowest_pdr_addr = pdr_in->adr;
 		  else if (pdr_in->adr < lowest_pdr_addr)
 		    lowest_pdr_addr = pdr_in->adr;
 		}
 
-	      parse_lines (fh, pr_block, lines, maxlines,
+	      parse_lines (fh, pr_block.data (), lines, maxlines,
 			   pst, lowest_pdr_addr);
 	      if (lines->nitems < fh->cline)
 		lines = shrink_linetable (lines);
 
 	      /* Fill in procedure info next.  */
-	      pdr_in = pr_block;
+	      pdr_in = pr_block.data ();
 	      pdr_in_end = pdr_in + fh->cpd;
 	      for (; pdr_in < pdr_in_end; pdr_in++)
 		parse_procedure (pdr_in, NULL, pst);
-
-	      do_cleanups (old_chain);
 	    }
 	}
 
@@ -4472,8 +4424,7 @@ cross_ref (int fd, union aux_ext *ax, st
 					+ fh->iauxBase + sh.index)->a_ti,
 				      &tir);
 	  if (tir.tq0 != tqNil)
-	    complaint (&symfile_complaints,
-		       _("illegal tq0 in forward typedef for %s"), sym_name);
+	    complaint (_("illegal tq0 in forward typedef for %s"), sym_name);
 	  switch (tir.bt)
 	    {
 	    case btVoid:
@@ -4509,8 +4460,7 @@ cross_ref (int fd, union aux_ext *ax, st
 	      break;
 
 	    default:
-	      complaint (&symfile_complaints,
-			 _("illegal bt %d in forward typedef for %s"), tir.bt,
+	      complaint (_("illegal bt %d in forward typedef for %s"), tir.bt,
 			 sym_name);
 	      *tpp = init_type (mdebugread_objfile, type_code, 0, NULL);
 	      break;
@@ -4750,9 +4700,8 @@ new_psymtab (const char *name, struct ob
 
   /* Keep a backpointer to the file's symbols.  */
 
-  psymtab->read_symtab_private = obstack_alloc (&objfile->objfile_obstack,
-						sizeof (struct symloc));
-  memset (psymtab->read_symtab_private, 0, sizeof (struct symloc));
+  psymtab->read_symtab_private
+    = OBSTACK_ZALLOC (&objfile->objfile_obstack, symloc);
   CUR_BFD (psymtab) = cur_bfd;
   DEBUG_SWAP (psymtab) = debug_swap;
   DEBUG_INFO (psymtab) = debug_info;
@@ -4877,9 +4826,7 @@ elfmdebug_build_psymtabs (struct objfile
 
   minimal_symbol_reader reader (objfile);
 
-  info = ((struct ecoff_debug_info *)
-	  obstack_alloc (&objfile->objfile_obstack,
-			 sizeof (struct ecoff_debug_info)));
+  info = XOBNEW (&objfile->objfile_obstack, ecoff_debug_info);
 
   if (!(*swap->read_debug_info) (abfd, sec, info))
     error (_("Error reading ECOFF debugging information: %s"),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/memattr.c ./gdb/memattr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/memattr.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/memattr.c	2018-07-10 02:06:13.000000000 +0000
@@ -603,28 +603,28 @@ _initialize_mem (void)
 Define attributes for memory region or reset memory region handling to\n\
 target-based.\n\
 Usage: mem auto\n\
-       mem <lo addr> <hi addr> [<mode> <width> <cache>],\n\
-where <mode>  may be rw (read/write), ro (read-only) or wo (write-only),\n\
-      <width> may be 8, 16, 32, or 64, and\n\
-      <cache> may be cache or nocache"));
+       mem LOW HIGH [MODE WIDTH CACHE],\n\
+where MODE  may be rw (read/write), ro (read-only) or wo (write-only),\n\
+      WIDTH may be 8, 16, 32, or 64, and\n\
+      CACHE may be cache or nocache"));
 
   add_cmd ("mem", class_vars, enable_mem_command, _("\
 Enable memory region.\n\
-Arguments are the code numbers of the memory regions to enable.\n\
-Usage: enable mem <code number>...\n\
-Do \"info mem\" to see current list of code numbers."), &enablelist);
+Arguments are the IDs of the memory regions to enable.\n\
+Usage: enable mem [ID]...\n\
+Do \"info mem\" to see current list of IDs."), &enablelist);
 
   add_cmd ("mem", class_vars, disable_mem_command, _("\
 Disable memory region.\n\
-Arguments are the code numbers of the memory regions to disable.\n\
-Usage: disable mem <code number>...\n\
-Do \"info mem\" to see current list of code numbers."), &disablelist);
+Arguments are the IDs of the memory regions to disable.\n\
+Usage: disable mem [ID]...\n\
+Do \"info mem\" to see current list of IDs."), &disablelist);
 
   add_cmd ("mem", class_vars, delete_mem_command, _("\
 Delete memory region.\n\
-Arguments are the code numbers of the memory regions to delete.\n\
-Usage: delete mem <code number>...\n\
-Do \"info mem\" to see current list of code numbers."), &deletelist);
+Arguments are the IDs of the memory regions to delete.\n\
+Usage: delete mem [ID]...\n\
+Do \"info mem\" to see current list of IDs."), &deletelist);
 
   add_info ("mem", info_mem_command,
 	    _("Memory region attributes"));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/memory-map.c ./gdb/memory-map.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/memory-map.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/memory-map.c	2018-07-10 02:06:13.000000000 +0000
@@ -58,18 +58,19 @@ struct memory_map_parsing_data
 static void
 memory_map_start_memory (struct gdb_xml_parser *parser,
 			 const struct gdb_xml_element *element,
-			 void *user_data, VEC(gdb_xml_value_s) *attributes)
+			 void *user_data,
+			 std::vector<gdb_xml_value> &attributes)
 {
   struct memory_map_parsing_data *data
     = (struct memory_map_parsing_data *) user_data;
   ULONGEST *start_p, *length_p, *type_p;
 
   start_p
-    = (ULONGEST *) xml_find_attribute (attributes, "start")->value;
+    = (ULONGEST *) xml_find_attribute (attributes, "start")->value.get ();
   length_p
-    = (ULONGEST *) xml_find_attribute (attributes, "length")->value;
+    = (ULONGEST *) xml_find_attribute (attributes, "length")->value.get ();
   type_p
-    = (ULONGEST *) xml_find_attribute (attributes, "type")->value;
+    = (ULONGEST *) xml_find_attribute (attributes, "type")->value.get ();
 
   data->memory_map->emplace_back (*start_p, *start_p + *length_p,
 				  (enum mem_access_mode) *type_p);
@@ -97,13 +98,14 @@ memory_map_end_memory (struct gdb_xml_pa
 static void
 memory_map_start_property (struct gdb_xml_parser *parser,
 			   const struct gdb_xml_element *element,
-			   void *user_data, VEC(gdb_xml_value_s) *attributes)
+			   void *user_data,
+			   std::vector<gdb_xml_value> &attributes)
 {
   struct memory_map_parsing_data *data
     = (struct memory_map_parsing_data *) user_data;
   char *name;
 
-  name = (char *) xml_find_attribute (attributes, "name")->value;
+  name = (char *) xml_find_attribute (attributes, "name")->value.get ();
   data->property_name.assign (name);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mep-tdep.c ./gdb/mep-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mep-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mep-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -1112,18 +1112,9 @@ mep_register_type (struct gdbarch *gdbar
     return builtin_type (gdbarch)->builtin_uint32;
 }
 
-
-static CORE_ADDR
-mep_read_pc (struct regcache *regcache)
-{
-  ULONGEST pc;
-  regcache_cooked_read_unsigned (regcache, MEP_PC_REGNUM, &pc);
-  return pc;
-}
-
 static enum register_status
 mep_pseudo_cr32_read (struct gdbarch *gdbarch,
-                      struct regcache *regcache,
+		      readable_regcache *regcache,
                       int cookednum,
                       gdb_byte *buf)
 {
@@ -1136,7 +1127,7 @@ mep_pseudo_cr32_read (struct gdbarch *gd
 
   gdb_assert (TYPE_LENGTH (register_type (gdbarch, rawnum)) == sizeof (buf64));
   gdb_assert (TYPE_LENGTH (register_type (gdbarch, cookednum)) == 4);
-  status = regcache_raw_read (regcache, rawnum, buf64);
+  status = regcache->raw_read (rawnum, buf64);
   if (status == REG_VALID)
     {
       /* Slow, but legible.  */
@@ -1149,23 +1140,23 @@ mep_pseudo_cr32_read (struct gdbarch *gd
 
 static enum register_status
 mep_pseudo_cr64_read (struct gdbarch *gdbarch,
-                      struct regcache *regcache,
+                      readable_regcache *regcache,
                       int cookednum,
                       gdb_byte *buf)
 {
-  return regcache_raw_read (regcache, mep_pseudo_to_raw[cookednum], buf);
+  return regcache->raw_read (mep_pseudo_to_raw[cookednum], buf);
 }
 
 
 static enum register_status
 mep_pseudo_register_read (struct gdbarch *gdbarch,
-                          struct regcache *regcache,
+			  readable_regcache *regcache,
                           int cookednum,
                           gdb_byte *buf)
 {
   if (IS_CSR_REGNUM (cookednum)
       || IS_CCR_REGNUM (cookednum))
-    return regcache_raw_read (regcache, mep_pseudo_to_raw[cookednum], buf);
+    return regcache->raw_read (mep_pseudo_to_raw[cookednum], buf);
   else if (IS_CR32_REGNUM (cookednum)
            || IS_FP_CR32_REGNUM (cookednum))
     return mep_pseudo_cr32_read (gdbarch, regcache, cookednum, buf);
@@ -1225,7 +1216,7 @@ mep_pseudo_cr32_write (struct gdbarch *g
   /* Slow, but legible.  */
   store_unsigned_integer (buf64, 8, byte_order,
 			  extract_unsigned_integer (buf, 4, byte_order));
-  regcache_raw_write (regcache, rawnum, buf64);
+  regcache->raw_write (rawnum, buf64);
 }
 
 
@@ -1235,7 +1226,7 @@ mep_pseudo_cr64_write (struct gdbarch *g
                      int cookednum,
                      const gdb_byte *buf)
 {
-  regcache_raw_write (regcache, mep_pseudo_to_raw[cookednum], buf);
+  regcache->raw_write (mep_pseudo_to_raw[cookednum], buf);
 }
 
 
@@ -1254,7 +1245,7 @@ mep_pseudo_register_write (struct gdbarc
            || IS_FP_CR64_REGNUM (cookednum))
     mep_pseudo_cr64_write (gdbarch, regcache, cookednum, buf);
   else if (IS_CCR_REGNUM (cookednum))
-    regcache_raw_write (regcache, mep_pseudo_to_raw[cookednum], buf);
+    regcache->raw_write (mep_pseudo_to_raw[cookednum], buf);
   else
     gdb_assert_not_reached ("unexpected pseudo register");
 }
@@ -2014,7 +2005,6 @@ mep_frame_prev_register (struct frame_in
 				       MEP_LP_REGNUM);
       lp = value_as_long (value);
       release_value (value);
-      value_free (value);
 
       return frame_unwind_got_constant (this_frame, regnum, lp & ~1);
     }
@@ -2045,13 +2035,11 @@ mep_frame_prev_register (struct frame_in
 
 	  psw = value_as_long (value);
 	  release_value (value);
-	  value_free (value);
 
           /* Get the LP's value, too.  */
 	  value = get_frame_register_value (this_frame, MEP_LP_REGNUM);
 	  lp = value_as_long (value);
 	  release_value (value);
-	  value_free (value);
 
           /* If LP.LTOM is set, then toggle PSW.OM.  */
 	  if (lp & 0x1)
@@ -2125,9 +2113,8 @@ mep_extract_return_value (struct gdbarch
     offset = 0;
 
   /* Return values that do fit in a single register are returned in R0.  */
-  regcache_cooked_read_part (regcache, MEP_R0_REGNUM,
-                             offset, TYPE_LENGTH (type),
-                             valbuf);
+  regcache->cooked_read_part (MEP_R0_REGNUM, offset, TYPE_LENGTH (type),
+			      valbuf);
 }
 
 
@@ -2152,9 +2139,8 @@ mep_store_return_value (struct gdbarch *
       else
         offset = 0;
 
-      regcache_cooked_write_part (regcache, MEP_R0_REGNUM,
-                                  offset, TYPE_LENGTH (type),
-                                  valbuf);
+      regcache->cooked_write_part (MEP_R0_REGNUM, offset, TYPE_LENGTH (type),
+				   valbuf);
     }
 
   /* Return values larger than a single register are returned in
@@ -2446,7 +2432,6 @@ mep_gdbarch_init (struct gdbarch_info in
   tdep->me_module = me_module;
 
   /* Register set.  */
-  set_gdbarch_read_pc (gdbarch, mep_read_pc);
   set_gdbarch_num_regs (gdbarch, MEP_NUM_RAW_REGS);
   set_gdbarch_pc_regnum (gdbarch, MEP_PC_REGNUM);
   set_gdbarch_sp_regnum (gdbarch, MEP_SP_REGNUM);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmd-break.c ./gdb/mi/mi-cmd-break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmd-break.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-cmd-break.c	2018-07-10 02:06:13.000000000 +0000
@@ -24,7 +24,7 @@
 #include "mi-out.h"
 #include "breakpoint.h"
 #include "mi-getopt.h"
-#include "observer.h"
+#include "observable.h"
 #include "mi-main.h"
 #include "mi-cmd-break.h"
 #include "language.h"
@@ -32,6 +32,7 @@
 #include "linespec.h"
 #include "gdb_obstack.h"
 #include <ctype.h>
+#include "tracepoint.h"
 
 enum
   {
@@ -84,7 +85,7 @@ setup_breakpoint_reporting (void)
 {
   if (! mi_breakpoint_observers_installed)
     {
-      observer_attach_breakpoint_created (breakpoint_notify);
+      gdb::observers::breakpoint_created.attach (breakpoint_notify);
       mi_breakpoint_observers_installed = 1;
     }
 
@@ -394,7 +395,7 @@ mi_cmd_break_passcount (const char *comm
   if (t)
     {
       t->pass_count = p;
-      observer_notify_breakpoint_modified (t);
+      gdb::observers::breakpoint_modified.notify (t);
     }
   else
     {
@@ -468,28 +469,10 @@ mi_cmd_break_watch (const char *command,
     }
 }
 
-/* The mi_read_next_line consults these variable to return successive
-   command lines.  While it would be clearer to use a closure pointer,
-   it is not expected that any future code will use read_command_lines_1,
-   therefore no point of overengineering.  */
-
-static char **mi_command_line_array;
-static int mi_command_line_array_cnt;
-static int mi_command_line_array_ptr;
-
-static char *
-mi_read_next_line (void)
-{
-  if (mi_command_line_array_ptr == mi_command_line_array_cnt)
-    return NULL;
-  else
-    return mi_command_line_array[mi_command_line_array_ptr++];
-}
-
 void
 mi_cmd_break_commands (const char *command, char **argv, int argc)
 {
-  command_line_up break_command;
+  counted_command_line break_command;
   char *endptr;
   int bnum;
   struct breakpoint *b;
@@ -509,15 +492,24 @@ mi_cmd_break_commands (const char *comma
   if (b == NULL)
     error (_("breakpoint %d not found."), bnum);
 
-  mi_command_line_array = argv;
-  mi_command_line_array_ptr = 1;
-  mi_command_line_array_cnt = argc;
+  int count = 1;
+  auto reader
+    = [&] ()
+      {
+	const char *result = nullptr;
+	if (count < argc)
+	  result = argv[count++];
+	return result;
+      };
 
   if (is_tracepoint (b))
-    break_command = read_command_lines_1 (mi_read_next_line, 1,
-					  check_tracepoint_command, b);
+    break_command = read_command_lines_1 (reader, 1,
+					  [=] (const char *line)
+					    {
+					      validate_actionline (line, b);
+					    });
   else
-    break_command = read_command_lines_1 (mi_read_next_line, 1, 0, 0);
+    break_command = read_command_lines_1 (reader, 1, 0);
 
   breakpoint_set_commands (b, std::move (break_command));
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmd-catch.c ./gdb/mi/mi-cmd-catch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmd-catch.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-cmd-catch.c	2018-07-10 02:06:13.000000000 +0000
@@ -32,7 +32,7 @@ void
 mi_cmd_catch_assert (const char *cmd, char *argv[], int argc)
 {
   struct gdbarch *gdbarch = get_current_arch();
-  char *condition = NULL;
+  std::string condition;
   int enabled = 1;
   int temp = 0;
 
@@ -62,7 +62,7 @@ mi_cmd_catch_assert (const char *cmd, ch
       switch ((enum opt) opt)
         {
 	case OPT_CONDITION:
-	  condition = oarg;
+	  condition.assign (oarg);
 	  break;
 	case OPT_DISABLED:
 	  enabled = 0;
@@ -79,12 +79,8 @@ mi_cmd_catch_assert (const char *cmd, ch
     error (_("Invalid argument: %s"), argv[oind]);
 
   scoped_restore restore_breakpoint_reporting = setup_breakpoint_reporting ();
-  /* create_ada_exception_catchpoint needs CONDITION to be xstrdup'ed,
-     and will assume control of its lifetime.  */
-  if (condition != NULL)
-    condition = xstrdup (condition);
-  create_ada_exception_catchpoint (gdbarch, ada_catch_assert,
-				   NULL, condition, temp, enabled, 0);
+  create_ada_exception_catchpoint (gdbarch, ada_catch_assert, std::string (),
+				   condition, temp, enabled, 0);
 }
 
 /* Handler for the -catch-exception command.  */
@@ -93,9 +89,9 @@ void
 mi_cmd_catch_exception (const char *cmd, char *argv[], int argc)
 {
   struct gdbarch *gdbarch = get_current_arch();
-  char *condition = NULL;
+  std::string condition;
   int enabled = 1;
-  char *exception_name = NULL;
+  std::string exception_name;
   int temp = 0;
   enum ada_exception_catchpoint_kind ex_kind = ada_catch_exception;
 
@@ -128,7 +124,7 @@ mi_cmd_catch_exception (const char *cmd,
       switch ((enum opt) opt)
         {
 	case OPT_CONDITION:
-	  condition = oarg;
+	  condition.assign (oarg);
 	  break;
 	case OPT_DISABLED:
 	  enabled = 0;
@@ -152,19 +148,77 @@ mi_cmd_catch_exception (const char *cmd,
 
   /* Specifying an exception name does not make sense when requesting
      an unhandled exception breakpoint.  */
-  if (ex_kind == ada_catch_exception_unhandled && exception_name != NULL)
+  if (ex_kind == ada_catch_exception_unhandled && !exception_name.empty ())
     error (_("\"-e\" and \"-u\" are mutually exclusive"));
 
   scoped_restore restore_breakpoint_reporting = setup_breakpoint_reporting ();
-  /* create_ada_exception_catchpoint needs EXCEPTION_NAME and CONDITION
-     to be xstrdup'ed, and will assume control of their lifetime.  */
-  if (exception_name != NULL)
-    exception_name = xstrdup (exception_name);
-  if (condition != NULL)
-    condition = xstrdup (condition);
   create_ada_exception_catchpoint (gdbarch, ex_kind,
-				   exception_name, condition,
-				   temp, enabled, 0);
+				   exception_name,
+				   condition, temp, enabled, 0);
+}
+
+/* Handler for the -catch-handlers command.  */
+
+void
+mi_cmd_catch_handlers (const char *cmd, char *argv[], int argc)
+{
+  struct gdbarch *gdbarch = get_current_arch ();
+  std::string condition;
+  int enabled = 1;
+  std::string exception_name;
+  int temp = 0;
+
+  int oind = 0;
+  char *oarg;
+
+  enum opt
+    {
+      OPT_CONDITION, OPT_DISABLED, OPT_EXCEPTION_NAME, OPT_TEMP
+    };
+  static const struct mi_opt opts[] =
+    {
+      { "c", OPT_CONDITION, 1},
+      { "d", OPT_DISABLED, 0 },
+      { "e", OPT_EXCEPTION_NAME, 1 },
+      { "t", OPT_TEMP, 0 },
+      { 0, 0, 0 }
+    };
+
+  for (;;)
+    {
+      int opt = mi_getopt ("-catch-handlers", argc, argv, opts,
+			   &oind, &oarg);
+
+      if (opt < 0)
+        break;
+
+      switch ((enum opt) opt)
+        {
+	case OPT_CONDITION:
+	  condition.assign (oarg);
+	  break;
+	case OPT_DISABLED:
+	  enabled = 0;
+	  break;
+	case OPT_EXCEPTION_NAME:
+	  exception_name = oarg;
+	  break;
+	case OPT_TEMP:
+	  temp = 1;
+	  break;
+        }
+    }
+
+  /* This command does not accept any argument.  Make sure the user
+     did not provide any.  */
+  if (oind != argc)
+    error (_("Invalid argument: %s"), argv[oind]);
+
+  scoped_restore restore_breakpoint_reporting
+    = setup_breakpoint_reporting ();
+  create_ada_exception_catchpoint (gdbarch, ada_catch_handlers,
+				   exception_name,
+				   condition, temp, enabled, 0);
 }
 
 /* Common path for the -catch-load and -catch-unload.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmd-env.c ./gdb/mi/mi-cmd-env.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmd-env.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-cmd-env.c	2018-07-10 02:06:13.000000000 +0000
@@ -31,6 +31,7 @@
 #include "ui-out.h"
 #include "top.h"
 #include <sys/stat.h>
+#include "source.h"
 
 static const char path_var_name[] = "PATH";
 static char *orig_path = 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.1.0.20180703/gdb/mi/mi-cmds.c ./gdb/mi/mi-cmds.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmds.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-cmds.c	2018-07-10 02:06:13.000000000 +0000
@@ -69,6 +69,8 @@ static struct mi_cmd mi_cmds[] =
                    &mi_suppress_notification.breakpoint),
   DEF_MI_CMD_MI_1 ("catch-exception", mi_cmd_catch_exception,
                    &mi_suppress_notification.breakpoint),
+  DEF_MI_CMD_MI_1 ("catch-handlers", mi_cmd_catch_handlers,
+                   &mi_suppress_notification.breakpoint),
   DEF_MI_CMD_MI_1 ("catch-load", mi_cmd_catch_load,
                    &mi_suppress_notification.breakpoint),
   DEF_MI_CMD_MI_1 ("catch-unload", mi_cmd_catch_unload,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmds.h ./gdb/mi/mi-cmds.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmds.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-cmds.h	2018-07-10 02:06:13.000000000 +0000
@@ -41,6 +41,7 @@ extern mi_cmd_argv_ftype mi_cmd_break_pa
 extern mi_cmd_argv_ftype mi_cmd_break_watch;
 extern mi_cmd_argv_ftype mi_cmd_catch_assert;
 extern mi_cmd_argv_ftype mi_cmd_catch_exception;
+extern mi_cmd_argv_ftype mi_cmd_catch_handlers;
 extern mi_cmd_argv_ftype mi_cmd_catch_load;
 extern mi_cmd_argv_ftype mi_cmd_catch_unload;
 extern mi_cmd_argv_ftype mi_cmd_disassemble;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmd-stack.c ./gdb/mi/mi-cmd-stack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmd-stack.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-cmd-stack.c	2018-07-10 02:06:13.000000000 +0000
@@ -57,7 +57,8 @@ mi_cmd_enable_frame_filters (const char 
 /* Like apply_ext_lang_frame_filter, but take a print_values */
 
 static enum ext_lang_bt_status
-mi_apply_ext_lang_frame_filter (struct frame_info *frame, int flags,
+mi_apply_ext_lang_frame_filter (struct frame_info *frame,
+				frame_filter_flags flags,
 				enum print_values print_values,
 				struct ui_out *out,
 				int frame_low, int frame_high)
@@ -146,7 +147,7 @@ mi_cmd_stack_list_frames (const char *co
 
   if (! raw_arg && frame_filters)
     {
-      int flags = PRINT_LEVEL | PRINT_FRAME_INFO;
+      frame_filter_flags flags = PRINT_LEVEL | PRINT_FRAME_INFO;
       int py_frame_low = frame_low;
 
       /* We cannot pass -1 to frame_low, as that would signify a
@@ -244,6 +245,7 @@ mi_cmd_stack_list_locals (const char *co
 	    {
 	    case NO_FRAME_FILTERS:
 	      raw_arg = oind;
+	      break;
 	    case SKIP_UNAVAILABLE:
 	      skip_unavailable = 1;
 	      break;
@@ -262,7 +264,7 @@ mi_cmd_stack_list_locals (const char *co
 
    if (! raw_arg && frame_filters)
      {
-       int flags = PRINT_LEVEL | PRINT_LOCALS;
+       frame_filter_flags flags = PRINT_LEVEL | PRINT_LOCALS;
 
        result = mi_apply_ext_lang_frame_filter (frame, flags, print_value,
 						current_uiout, 0, 0);
@@ -359,7 +361,7 @@ mi_cmd_stack_list_args (const char *comm
 
   if (! raw_arg && frame_filters)
     {
-      int flags = PRINT_LEVEL | PRINT_ARGS;
+      frame_filter_flags flags = PRINT_LEVEL | PRINT_ARGS;
       int py_frame_low = frame_low;
 
       /* We cannot pass -1 to frame_low, as that would signify a
@@ -451,7 +453,7 @@ mi_cmd_stack_list_variables (const char 
 
    if (! raw_arg && frame_filters)
      {
-       int flags = PRINT_LEVEL | PRINT_ARGS | PRINT_LOCALS;
+       frame_filter_flags flags = PRINT_LEVEL | PRINT_ARGS | PRINT_LOCALS;
 
        result = mi_apply_ext_lang_frame_filter (frame, flags,
 						print_value,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmd-var.c ./gdb/mi/mi-cmd-var.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-cmd-var.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-cmd-var.c	2018-07-10 02:06:13.000000000 +0000
@@ -31,6 +31,7 @@
 #include "gdbthread.h"
 #include "mi-parse.h"
 #include "common/gdb_optional.h"
+#include "inferior.h"
 
 extern unsigned int varobjdebug;		/* defined in varobj.c.  */
 
@@ -600,22 +601,21 @@ static void
 mi_cmd_var_update_iter (struct varobj *var, void *data_pointer)
 {
   struct mi_cmd_var_update *data = (struct mi_cmd_var_update *) data_pointer;
-  int thread_id, thread_stopped;
+  bool thread_stopped;
 
-  thread_id = varobj_get_thread_id (var);
+  int thread_id = varobj_get_thread_id (var);
 
-  if (thread_id == -1
-      && (ptid_equal (inferior_ptid, null_ptid)
-	  || is_stopped (inferior_ptid)))
-    thread_stopped = 1;
+  if (thread_id == -1)
+    {
+      thread_stopped = (inferior_ptid == null_ptid
+			|| inferior_thread ()->state == THREAD_STOPPED);
+    }
   else
     {
-      struct thread_info *tp = find_thread_global_id (thread_id);
+      thread_info *tp = find_thread_global_id (thread_id);
 
-      if (tp)
-	thread_stopped = is_stopped (tp->ptid);
-      else
-	thread_stopped = 1;
+      thread_stopped = (tp == NULL
+			|| tp->state == THREAD_STOPPED);
     }
 
   if (thread_stopped
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-console.c ./gdb/mi/mi-console.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-console.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-console.c	2018-07-10 02:06:13.000000000 +0000
@@ -48,6 +48,34 @@ mi_console_file::write (const char *buf,
     this->flush ();
 }
 
+/* Write C to STREAM's in an async-safe way.  */
+
+static int
+do_fputc_async_safe (int c, ui_file *stream)
+{
+  char ch = c;
+  stream->write_async_safe (&ch, 1);
+  return c;
+}
+
+void
+mi_console_file::write_async_safe (const char *buf, long length_buf)
+{
+  m_raw->write_async_safe (m_prefix, strlen (m_prefix));
+  if (m_quote)
+    {
+      m_raw->write_async_safe (&m_quote, 1);
+      fputstrn_unfiltered (buf, length_buf, m_quote, do_fputc_async_safe,
+			   m_raw);
+      m_raw->write_async_safe (&m_quote, 1);
+    }
+  else
+    fputstrn_unfiltered (buf, length_buf, 0, do_fputc_async_safe, m_raw);
+
+  char nl = '\n';
+  m_raw->write_async_safe (&nl, 1);
+}
+
 void
 mi_console_file::flush ()
 {
@@ -63,13 +91,14 @@ mi_console_file::flush ()
       if (m_quote)
 	{
 	  fputc_unfiltered (m_quote, m_raw);
-	  fputstrn_unfiltered (buf, length_buf, m_quote, m_raw);
+	  fputstrn_unfiltered (buf, length_buf, m_quote, fputc_unfiltered,
+			       m_raw);
 	  fputc_unfiltered (m_quote, m_raw);
 	  fputc_unfiltered ('\n', m_raw);
 	}
       else
 	{
-	  fputstrn_unfiltered (buf, length_buf, 0, m_raw);
+	  fputstrn_unfiltered (buf, length_buf, 0, fputc_unfiltered, m_raw);
 	  fputc_unfiltered ('\n', m_raw);
 	}
       gdb_flush (m_raw);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-console.h ./gdb/mi/mi-console.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-console.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-console.h	2018-07-10 02:06:13.000000000 +0000
@@ -39,6 +39,8 @@ public:
 
   void write (const char *buf, long length_buf) override;
 
+  void write_async_safe (const char *buf, long length_buf) override;
+
 private:
   /* The wrapped raw output stream.  */
   ui_file *m_raw;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-interp.c ./gdb/mi/mi-interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-interp.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-interp.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,7 +30,7 @@
 #include "mi-out.h"
 #include "mi-console.h"
 #include "mi-common.h"
-#include "observer.h"
+#include "observable.h"
 #include "gdbthread.h"
 #include "solist.h"
 #include "objfiles.h"
@@ -106,16 +106,13 @@ display_mi_prompt (struct mi_interp *mi)
 static struct mi_interp *
 as_mi_interp (struct interp *interp)
 {
-  if (interp_ui_out (interp)->is_mi_like_p ())
-    return (struct mi_interp *) interp;
-  return NULL;
+  return dynamic_cast<mi_interp *> (interp);
 }
 
 void
 mi_interp::init (bool top_level)
 {
   mi_interp *mi = this;
-  const char *name;
   int mi_version;
 
   /* Store the current output channel, so that we can create a console
@@ -131,16 +128,15 @@ mi_interp::init (bool top_level)
   mi->targ = new mi_console_file (mi->raw_stdout, "@", '"');
   mi->event_channel = new mi_console_file (mi->raw_stdout, "=", 0);
 
-  name = interp_name (this);
   /* INTERP_MI selects the most recent released version.  "mi2" was
      released as part of GDB 6.0.  */
-  if (strcmp (name, INTERP_MI) == 0)
+  if (strcmp (name (), INTERP_MI) == 0)
     mi_version = 2;
-  else if (strcmp (name, INTERP_MI1) == 0)
+  else if (strcmp (name (), INTERP_MI1) == 0)
     mi_version = 1;
-  else if (strcmp (name, INTERP_MI2) == 0)
+  else if (strcmp (name (), INTERP_MI2) == 0)
     mi_version = 2;
-  else if (strcmp (name, INTERP_MI3) == 0)
+  else if (strcmp (name (), INTERP_MI3) == 0)
     mi_version = 3;
   else
     gdb_assert_not_reached ("unhandled MI version");
@@ -332,10 +328,6 @@ mi_interp::pre_command_loop ()
 static void
 mi_new_thread (struct thread_info *t)
 {
-  struct inferior *inf = find_inferior_ptid (t->ptid);
-
-  gdb_assert (inf);
-
   SWITCH_THRU_ALL_UIS ()
     {
       struct mi_interp *mi = as_mi_interp (top_level_interpreter ());
@@ -348,7 +340,7 @@ mi_new_thread (struct thread_info *t)
 
       fprintf_unfiltered (mi->event_channel,
 			  "thread-created,id=\"%d\",group-id=\"i%d\"",
-			  t->global_num, inf->num);
+			  t->global_num, t->inf->num);
       gdb_flush (mi->event_channel);
     }
 }
@@ -627,7 +619,7 @@ mi_on_normal_stop_1 (struct bpstats *bs,
   /* Since this can be called when CLI command is executing,
      using cli interpreter, be sure to use MI uiout for output,
      not the current one.  */
-  struct ui_out *mi_uiout = interp_ui_out (top_level_interpreter ());
+  struct ui_out *mi_uiout = top_level_interpreter ()->interp_ui_out ();
   struct mi_interp *mi = (struct mi_interp *) top_level_interpreter ();
 
   if (print_frame)
@@ -662,7 +654,7 @@ mi_on_normal_stop_1 (struct bpstats *bs,
       else
 	mi_uiout->field_string ("stopped-threads", "all");
 
-      core = target_core_of_thread (inferior_ptid);
+      core = target_core_of_thread (tp->ptid);
       if (core != -1)
 	mi_uiout->field_int ("core", core);
     }
@@ -692,7 +684,7 @@ mi_about_to_proceed (void)
 {
   /* Suppress output while calling an inferior function.  */
 
-  if (!ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid != null_ptid)
     {
       struct thread_info *tp = inferior_thread ();
 
@@ -760,7 +752,7 @@ mi_tsv_created (const struct trace_state
 
       fprintf_unfiltered (mi->event_channel, "tsv-created,"
 			  "name=\"%s\",initial=\"%s\"\n",
-			  tsv->name, plongest (tsv->initial_value));
+			  tsv->name.c_str (), plongest (tsv->initial_value));
 
       gdb_flush (mi->event_channel);
     }
@@ -783,7 +775,7 @@ mi_tsv_deleted (const struct trace_state
 
       if (tsv != NULL)
 	fprintf_unfiltered (mi->event_channel, "tsv-deleted,"
-			    "name=\"%s\"\n", tsv->name);
+			    "name=\"%s\"\n", tsv->name.c_str ());
       else
 	fprintf_unfiltered (mi->event_channel, "tsv-deleted\n");
 
@@ -804,7 +796,7 @@ mi_tsv_modified (const struct trace_stat
       if (mi == NULL)
 	continue;
 
-      mi_uiout = interp_ui_out (top_level_interpreter ());
+      mi_uiout = top_level_interpreter ()->interp_ui_out ();
 
       target_terminal::scoped_restore_terminal_state term_state;
       target_terminal::ours_for_output ();
@@ -831,7 +823,7 @@ mi_tsv_modified (const struct trace_stat
 static void
 mi_print_breakpoint_for_event (struct mi_interp *mi, breakpoint *bp)
 {
-  ui_out *mi_uiout = interp_ui_out (mi);
+  ui_out *mi_uiout = mi->interp_ui_out ();
 
   /* We want the output from print_breakpoint to go to
      mi->event_channel.  One approach would be to just call
@@ -943,11 +935,9 @@ mi_breakpoint_modified (struct breakpoin
     }
 }
 
-static int
-mi_output_running_pid (struct thread_info *info, void *arg)
+static void
+mi_output_running (struct thread_info *thread)
 {
-  ptid_t *ptid = (ptid_t *) arg;
-
   SWITCH_THRU_ALL_UIS ()
     {
       struct mi_interp *mi = as_mi_interp (top_level_interpreter ());
@@ -955,25 +945,10 @@ mi_output_running_pid (struct thread_inf
       if (mi == NULL)
 	continue;
 
-      if (ptid_get_pid (*ptid) == ptid_get_pid (info->ptid))
-	fprintf_unfiltered (mi->raw_stdout,
-			    "*running,thread-id=\"%d\"\n",
-			    info->global_num);
-    }
-
-  return 0;
-}
-
-static int
-mi_inferior_count (struct inferior *inf, void *arg)
-{
-  if (inf->pid != 0)
-    {
-      int *count_p = (int *) arg;
-      (*count_p)++;
+      fprintf_unfiltered (mi->raw_stdout,
+			  "*running,thread-id=\"%d\"\n",
+			  thread->global_num);
     }
-
-  return 0;
 }
 
 static void
@@ -993,29 +968,42 @@ mi_on_resume_1 (struct mi_interp *mi, pt
 			  current_token ? current_token : "");
     }
 
-  if (ptid_get_pid (ptid) == -1)
+  if (ptid.pid () == -1)
     fprintf_unfiltered (mi->raw_stdout, "*running,thread-id=\"all\"\n");
-  else if (ptid_is_pid (ptid))
+  else if (ptid.is_pid ())
     {
       int count = 0;
+      inferior *inf;
 
       /* Backwards compatibility.  If there's only one inferior,
 	 output "all", otherwise, output each resumed thread
 	 individually.  */
-      iterate_over_inferiors (mi_inferior_count, &count);
+      ALL_INFERIORS (inf)
+	if (inf->pid != 0)
+	  {
+	    count++;
+	    if (count > 1)
+	      break;
+	  }
 
       if (count == 1)
 	fprintf_unfiltered (mi->raw_stdout, "*running,thread-id=\"all\"\n");
       else
-	iterate_over_threads (mi_output_running_pid, &ptid);
+	{
+	  thread_info *tp;
+	  inferior *curinf = current_inferior ();
+
+	  ALL_NON_EXITED_THREADS (tp)
+	    if (tp->inf == curinf)
+	      mi_output_running (tp);
+	}
     }
   else
     {
-      struct thread_info *ti = find_thread_ptid (ptid);
+      thread_info *ti = find_thread_ptid (ptid);
 
       gdb_assert (ti);
-      fprintf_unfiltered (mi->raw_stdout, "*running,thread-id=\"%d\"\n",
-			  ti->global_num);
+      mi_output_running (ti);
     }
 
   if (!running_result_record_printed && mi_proceeded)
@@ -1035,7 +1023,7 @@ mi_on_resume (ptid_t ptid)
 {
   struct thread_info *tp = NULL;
 
-  if (ptid_equal (ptid, minus_one_ptid) || ptid_is_pid (ptid))
+  if (ptid == minus_one_ptid || ptid.is_pid ())
     tp = inferior_thread ();
   else
     tp = find_thread_ptid (ptid);
@@ -1092,7 +1080,7 @@ mi_solib_loaded (struct so_list *solib)
       if (mi == NULL)
 	continue;
 
-      uiout = interp_ui_out (top_level_interpreter ());
+      uiout = top_level_interpreter ()->interp_ui_out ();
 
       target_terminal::scoped_restore_terminal_state term_state;
       target_terminal::ours_for_output ();
@@ -1120,7 +1108,7 @@ mi_solib_unloaded (struct so_list *solib
       if (mi == NULL)
 	continue;
 
-      uiout = interp_ui_out (top_level_interpreter ());
+      uiout = top_level_interpreter ()->interp_ui_out ();
 
       target_terminal::scoped_restore_terminal_state term_state;
       target_terminal::ours_for_output ();
@@ -1159,7 +1147,7 @@ mi_command_param_changed (const char *pa
       if (mi == NULL)
 	continue;
 
-      mi_uiout = interp_ui_out (top_level_interpreter ());
+      mi_uiout = top_level_interpreter ()->interp_ui_out ();
 
       target_terminal::scoped_restore_terminal_state term_state;
       target_terminal::ours_for_output ();
@@ -1195,7 +1183,7 @@ mi_memory_changed (struct inferior *infe
       if (mi == NULL)
 	continue;
 
-      mi_uiout = interp_ui_out (top_level_interpreter ());
+      mi_uiout = top_level_interpreter ()->interp_ui_out ();
 
       target_terminal::scoped_restore_terminal_state term_state;
       target_terminal::ours_for_output ();
@@ -1238,7 +1226,10 @@ mi_user_selected_context_changed (user_s
   if (mi_suppress_notification.user_selected_context)
     return;
 
-  tp = find_thread_ptid (inferior_ptid);
+  if (inferior_ptid != null_ptid)
+    tp = inferior_thread ();
+  else
+    tp = NULL;
 
   SWITCH_THRU_ALL_UIS ()
     {
@@ -1248,7 +1239,7 @@ mi_user_selected_context_changed (user_s
       if (mi == NULL)
 	continue;
 
-      mi_uiout = interp_ui_out (top_level_interpreter ());
+      mi_uiout = top_level_interpreter ()->interp_ui_out ();
 
       mi_uiout->redirect (mi->event_channel);
       ui_out_redirect_pop redirect_popper (mi_uiout);
@@ -1353,33 +1344,33 @@ _initialize_mi_interp (void)
   interp_factory_register (INTERP_MI3, mi_interp_factory);
   interp_factory_register (INTERP_MI, mi_interp_factory);
 
-  observer_attach_signal_received (mi_on_signal_received);
-  observer_attach_end_stepping_range (mi_on_end_stepping_range);
-  observer_attach_signal_exited (mi_on_signal_exited);
-  observer_attach_exited (mi_on_exited);
-  observer_attach_no_history (mi_on_no_history);
-  observer_attach_new_thread (mi_new_thread);
-  observer_attach_thread_exit (mi_thread_exit);
-  observer_attach_inferior_added (mi_inferior_added);
-  observer_attach_inferior_appeared (mi_inferior_appeared);
-  observer_attach_inferior_exit (mi_inferior_exit);
-  observer_attach_inferior_removed (mi_inferior_removed);
-  observer_attach_record_changed (mi_record_changed);
-  observer_attach_normal_stop (mi_on_normal_stop);
-  observer_attach_target_resumed (mi_on_resume);
-  observer_attach_solib_loaded (mi_solib_loaded);
-  observer_attach_solib_unloaded (mi_solib_unloaded);
-  observer_attach_about_to_proceed (mi_about_to_proceed);
-  observer_attach_traceframe_changed (mi_traceframe_changed);
-  observer_attach_tsv_created (mi_tsv_created);
-  observer_attach_tsv_deleted (mi_tsv_deleted);
-  observer_attach_tsv_modified (mi_tsv_modified);
-  observer_attach_breakpoint_created (mi_breakpoint_created);
-  observer_attach_breakpoint_deleted (mi_breakpoint_deleted);
-  observer_attach_breakpoint_modified (mi_breakpoint_modified);
-  observer_attach_command_param_changed (mi_command_param_changed);
-  observer_attach_memory_changed (mi_memory_changed);
-  observer_attach_sync_execution_done (mi_on_sync_execution_done);
-  observer_attach_user_selected_context_changed
+  gdb::observers::signal_received.attach (mi_on_signal_received);
+  gdb::observers::end_stepping_range.attach (mi_on_end_stepping_range);
+  gdb::observers::signal_exited.attach (mi_on_signal_exited);
+  gdb::observers::exited.attach (mi_on_exited);
+  gdb::observers::no_history.attach (mi_on_no_history);
+  gdb::observers::new_thread.attach (mi_new_thread);
+  gdb::observers::thread_exit.attach (mi_thread_exit);
+  gdb::observers::inferior_added.attach (mi_inferior_added);
+  gdb::observers::inferior_appeared.attach (mi_inferior_appeared);
+  gdb::observers::inferior_exit.attach (mi_inferior_exit);
+  gdb::observers::inferior_removed.attach (mi_inferior_removed);
+  gdb::observers::record_changed.attach (mi_record_changed);
+  gdb::observers::normal_stop.attach (mi_on_normal_stop);
+  gdb::observers::target_resumed.attach (mi_on_resume);
+  gdb::observers::solib_loaded.attach (mi_solib_loaded);
+  gdb::observers::solib_unloaded.attach (mi_solib_unloaded);
+  gdb::observers::about_to_proceed.attach (mi_about_to_proceed);
+  gdb::observers::traceframe_changed.attach (mi_traceframe_changed);
+  gdb::observers::tsv_created.attach (mi_tsv_created);
+  gdb::observers::tsv_deleted.attach (mi_tsv_deleted);
+  gdb::observers::tsv_modified.attach (mi_tsv_modified);
+  gdb::observers::breakpoint_created.attach (mi_breakpoint_created);
+  gdb::observers::breakpoint_deleted.attach (mi_breakpoint_deleted);
+  gdb::observers::breakpoint_modified.attach (mi_breakpoint_modified);
+  gdb::observers::command_param_changed.attach (mi_command_param_changed);
+  gdb::observers::memory_changed.attach (mi_memory_changed);
+  gdb::observers::sync_execution_done.attach (mi_on_sync_execution_done);
+  gdb::observers::user_selected_context_changed.attach
     (mi_user_selected_context_changed);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-main.c ./gdb/mi/mi-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-main.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-main.c	2018-07-10 02:06:13.000000000 +0000
@@ -52,7 +52,7 @@
 #include "linespec.h"
 #include "extension.h"
 #include "gdbcmd.h"
-#include "observer.h"
+#include "observable.h"
 #include "common/gdb_optional.h"
 #include "common/byte-vector.h"
 
@@ -96,8 +96,8 @@ static void mi_execute_cli_command (cons
 				    const char *args);
 static void mi_execute_async_cli_command (const char *cli_command,
 					  char **argv, int argc);
-static bool register_changed_p (int regnum, regcache *,
-				regcache *);
+static bool register_changed_p (int regnum, readonly_detached_regcache *,
+			       readonly_detached_regcache *);
 static void output_register (struct frame_info *, int regnum, int format,
 			     int skip_unavailable);
 
@@ -243,13 +243,13 @@ mi_cmd_exec_jump (const char *args, char
 static void
 proceed_thread (struct thread_info *thread, int pid)
 {
-  if (!is_stopped (thread->ptid))
+  if (thread->state != THREAD_STOPPED)
     return;
 
-  if (pid != 0 && ptid_get_pid (thread->ptid) != pid)
+  if (pid != 0 && thread->ptid.pid () != pid)
     return;
 
-  switch_to_thread (thread->ptid);
+  switch_to_thread (thread);
   clear_proceed_status (0);
   proceed ((CORE_ADDR) -1, GDB_SIGNAL_DEFAULT);
 }
@@ -266,7 +266,7 @@ proceed_thread_callback (struct thread_i
 static void
 exec_continue (char **argv, int argc)
 {
-  prepare_execution_command (&current_target, mi_async_p ());
+  prepare_execution_command (current_top_target (), mi_async_p ());
 
   if (non_stop)
     {
@@ -345,10 +345,10 @@ interrupt_thread_callback (struct thread
 {
   int pid = *(int *)arg;
 
-  if (!is_running (thread->ptid))
+  if (thread->state != THREAD_RUNNING)
     return 0;
 
-  if (ptid_get_pid (thread->ptid) != pid)
+  if (thread->ptid.pid () != pid)
     return 0;
 
   target_stop (thread->ptid);
@@ -405,25 +405,20 @@ run_one_inferior (struct inferior *inf, 
   int start_p = *(int *) arg;
   const char *run_cmd = start_p ? "start" : "run";
   struct target_ops *run_target = find_run_target ();
-  int async_p = mi_async && run_target->to_can_async_p (run_target);
+  int async_p = mi_async && run_target->can_async_p ();
 
   if (inf->pid != 0)
     {
-      if (inf->pid != ptid_get_pid (inferior_ptid))
-	{
-	  struct thread_info *tp;
-
-	  tp = any_thread_of_process (inf->pid);
-	  if (!tp)
-	    error (_("Inferior has no threads."));
+      thread_info *tp = any_thread_of_inferior (inf);
+      if (tp == NULL)
+	error (_("Inferior has no threads."));
 
-	  switch_to_thread (tp->ptid);
-	}
+      switch_to_thread (tp);
     }
   else
     {
       set_current_inferior (inf);
-      switch_to_thread (null_ptid);
+      switch_to_no_thread ();
       set_current_program_space (inf->pspace);
     }
   mi_execute_cli_command (run_cmd, async_p,
@@ -479,7 +474,7 @@ mi_cmd_exec_run (const char *command, ch
     {
       const char *run_cmd = start_p ? "start" : "run";
       struct target_ops *run_target = find_run_target ();
-      int async_p = mi_async && run_target->to_can_async_p (run_target);
+      int async_p = mi_async && run_target->can_async_p ();
 
       mi_execute_cli_command (run_cmd, async_p,
 			      async_p ? "&" : NULL);
@@ -492,7 +487,7 @@ find_thread_of_process (struct thread_in
 {
   int pid = *(int *)p;
 
-  if (ptid_get_pid (ti->ptid) == pid && !is_exited (ti->ptid))
+  if (ti->ptid.pid () == pid && ti->state != THREAD_EXITED)
     return 1;
 
   return 0;
@@ -540,7 +535,7 @@ mi_cmd_target_detach (const char *comman
       if (!tp)
 	error (_("Thread group is empty"));
 
-      switch_to_thread (tp->ptid);
+      switch_to_thread (tp);
     }
 
   detach_command (NULL, 0);
@@ -571,10 +566,10 @@ mi_cmd_thread_select (const char *comman
 			       USER_SELECTED_THREAD | USER_SELECTED_FRAME);
 
   /* Notify if the thread has effectively changed.  */
-  if (!ptid_equal (inferior_ptid, previous_ptid))
+  if (inferior_ptid != previous_ptid)
     {
-      observer_notify_user_selected_context_changed (USER_SELECTED_THREAD
-						     | USER_SELECTED_FRAME);
+      gdb::observers::user_selected_context_changed.notify
+	(USER_SELECTED_THREAD | USER_SELECTED_FRAME);
     }
 }
 
@@ -628,7 +623,7 @@ collect_cores (struct thread_info *ti, v
 {
   struct collect_cores_data *data = (struct collect_cores_data *) xdata;
 
-  if (ptid_get_pid (ti->ptid) == data->pid)
+  if (ti->ptid.pid () == data->pid)
     {
       int core = target_core_of_thread (ti->ptid);
 
@@ -931,9 +926,9 @@ mi_cmd_data_list_register_names (const c
 void
 mi_cmd_data_list_changed_registers (const char *command, char **argv, int argc)
 {
-  static std::unique_ptr<struct regcache> this_regs;
+  static std::unique_ptr<readonly_detached_regcache> this_regs;
   struct ui_out *uiout = current_uiout;
-  std::unique_ptr<struct regcache> prev_regs;
+  std::unique_ptr<readonly_detached_regcache> prev_regs;
   struct gdbarch *gdbarch;
   int regnum, numregs;
   int i;
@@ -995,8 +990,8 @@ mi_cmd_data_list_changed_registers (cons
 }
 
 static bool
-register_changed_p (int regnum, struct regcache *prev_regs,
-		    struct regcache *this_regs)
+register_changed_p (int regnum, readonly_detached_regcache *prev_regs,
+		    readonly_detached_regcache *this_regs)
 {
   struct gdbarch *gdbarch = this_regs->arch ();
   struct value *prev_value, *this_value;
@@ -1017,8 +1012,6 @@ register_changed_p (int regnum, struct r
 
   release_value (prev_value);
   release_value (this_value);
-  value_free (prev_value);
-  value_free (this_value);
   return ret;
 }
 
@@ -1355,11 +1348,8 @@ mi_cmd_data_read_memory (const char *com
 
   gdb::byte_vector mbuf (total_bytes);
 
-  /* Dispatch memory reads to the topmost target, not the flattened
-     current_target.  */
-  nr_bytes = target_read (current_target.beneath,
-			  TARGET_OBJECT_MEMORY, NULL, mbuf.data (),
-			  addr, total_bytes);
+  nr_bytes = target_read (current_top_target (), TARGET_OBJECT_MEMORY, NULL,
+			  mbuf.data (), addr, total_bytes);
   if (nr_bytes <= 0)
     error (_("Unable to read memory."));
 
@@ -1478,7 +1468,7 @@ mi_cmd_data_read_memory_bytes (const cha
   length = atol (argv[1]);
 
   std::vector<memory_read_result> result
-    = read_memory_robust (current_target.beneath, addr, length);
+    = read_memory_robust (current_top_target (), addr, length);
 
   if (result.size () == 0)
     error (_("Unable to read memory."));
@@ -1776,8 +1766,11 @@ mi_cmd_remove_inferior (const char *comm
 
       set_current_inferior (new_inferior);
       if (new_inferior->pid != 0)
-	tp = any_thread_of_process (new_inferior->pid);
-      switch_to_thread (tp ? tp->ptid : null_ptid);
+	tp = any_thread_of_inferior (new_inferior);
+      if (tp != NULL)
+	switch_to_thread (tp);
+      else
+	switch_to_no_thread ();
       set_current_program_space (new_inferior->pspace);
     }
 
@@ -1998,7 +1991,7 @@ mi_execute_command (const char *cmd, int
 
       if (/* The notifications are only output when the top-level
 	     interpreter (specified on the command line) is MI.  */
-	  interp_ui_out (top_level_interpreter ())->is_mi_like_p ()
+	  top_level_interpreter ()->interp_ui_out ()->is_mi_like_p ()
 	  /* Don't try report anything if there are no threads --
 	     the program is dead.  */
 	  && thread_count () != 0
@@ -2011,11 +2004,11 @@ mi_execute_command (const char *cmd, int
 
 	  if (command->thread == -1)
 	    {
-	      report_change = (!ptid_equal (previous_ptid, null_ptid)
-			       && !ptid_equal (inferior_ptid, previous_ptid)
-			       && !ptid_equal (inferior_ptid, null_ptid));
+	      report_change = (previous_ptid != null_ptid
+			       && inferior_ptid != previous_ptid
+			       && inferior_ptid != null_ptid);
 	    }
-	  else if (!ptid_equal (inferior_ptid, null_ptid))
+	  else if (inferior_ptid != null_ptid)
 	    {
 	      struct thread_info *ti = inferior_thread ();
 
@@ -2024,8 +2017,8 @@ mi_execute_command (const char *cmd, int
 
 	  if (report_change)
 	    {
-		observer_notify_user_selected_context_changed
-		  (USER_SELECTED_THREAD | USER_SELECTED_FRAME);
+	      gdb::observers::user_selected_context_changed.notify
+		(USER_SELECTED_THREAD | USER_SELECTED_FRAME);
 	    }
 	}
     }
@@ -2063,22 +2056,25 @@ mi_cmd_execute (struct mi_parse *parse)
 	 provide --thread if it wishes to operate on a specific
 	 thread.  */
       if (inf->pid != 0)
-	tp = any_live_thread_of_process (inf->pid);
-      switch_to_thread (tp ? tp->ptid : null_ptid);
+	tp = any_live_thread_of_inferior (inf);
+      if (tp != NULL)
+	switch_to_thread (tp);
+      else
+	switch_to_no_thread ();
       set_current_program_space (inf->pspace);
     }
 
   if (parse->thread != -1)
     {
-      struct thread_info *tp = find_thread_global_id (parse->thread);
+      thread_info *tp = find_thread_global_id (parse->thread);
 
-      if (!tp)
+      if (tp == NULL)
 	error (_("Invalid thread id: %d"), parse->thread);
 
-      if (is_exited (tp->ptid))
+      if (tp->state == THREAD_EXITED)
 	error (_("Thread id: %d has terminated"), parse->thread);
 
-      switch_to_thread (tp->ptid);
+      switch_to_thread (tp);
     }
 
   if (parse->frame != -1)
@@ -2573,6 +2569,7 @@ mi_cmd_trace_frame_collected (const char
 	  break;
 	case REGISTERS_FORMAT:
 	  registers_format = oarg[0];
+	  break;
 	case MEMORY_CONTENTS:
 	  memory_contents = 1;
 	  break;
@@ -2667,7 +2664,7 @@ mi_cmd_trace_frame_collected (const char
 
 	if (tsv != NULL)
 	  {
-	    uiout->field_fmt ("name", "$%s", tsv->name);
+	    uiout->field_fmt ("name", "$%s", tsv->name.c_str ());
 
 	    tsv->value_known = target_get_trace_state_variable_value (tsv->number,
 								      &tsv->value);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-out.h ./gdb/mi/mi-out.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mi/mi-out.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mi/mi-out.h	2018-07-10 02:06:13.000000000 +0000
@@ -69,7 +69,7 @@ protected:
   virtual void do_flush () override;
   virtual void do_redirect (struct ui_file *outstream) override;
 
-  virtual bool do_is_mi_like_p () override
+  virtual bool do_is_mi_like_p () const override
   { return true; }
 
 private:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/microblaze-tdep.c ./gdb/microblaze-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/microblaze-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/microblaze-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -529,17 +529,17 @@ microblaze_extract_return_value (struct 
   switch (TYPE_LENGTH (type))
     {
       case 1:	/* return last byte in the register.  */
-	regcache_cooked_read (regcache, MICROBLAZE_RETVAL_REGNUM, buf);
+	regcache->cooked_read (MICROBLAZE_RETVAL_REGNUM, buf);
 	memcpy(valbuf, buf + MICROBLAZE_REGISTER_SIZE - 1, 1);
 	return;
       case 2:	/* return last 2 bytes in register.  */
-	regcache_cooked_read (regcache, MICROBLAZE_RETVAL_REGNUM, buf);
+	regcache->cooked_read (MICROBLAZE_RETVAL_REGNUM, buf);
 	memcpy(valbuf, buf + MICROBLAZE_REGISTER_SIZE - 2, 2);
 	return;
       case 4:	/* for sizes 4 or 8, copy the required length.  */
       case 8:
-	regcache_cooked_read (regcache, MICROBLAZE_RETVAL_REGNUM, buf);
-	regcache_cooked_read (regcache, MICROBLAZE_RETVAL_REGNUM+1, buf+4);
+	regcache->cooked_read (MICROBLAZE_RETVAL_REGNUM, buf);
+	regcache->cooked_read (MICROBLAZE_RETVAL_REGNUM + 1, buf+4);
 	memcpy (valbuf, buf, TYPE_LENGTH (type));
 	return;
       default:
@@ -573,13 +573,13 @@ microblaze_store_return_value (struct ty
     {
        gdb_assert (len == 8);
        memcpy (buf, valbuf, 8);
-       regcache_cooked_write (regcache, MICROBLAZE_RETVAL_REGNUM+1, buf + 4);
+       regcache->cooked_write (MICROBLAZE_RETVAL_REGNUM+1, buf + 4);
     }
   else
     /* ??? Do we need to do any sign-extension here?  */
     memcpy (buf + 4 - len, valbuf, len);
 
-  regcache_cooked_write (regcache, MICROBLAZE_RETVAL_REGNUM, buf);
+  regcache->cooked_write (MICROBLAZE_RETVAL_REGNUM, buf);
 }
 
 static enum return_value_convention
@@ -601,11 +601,6 @@ microblaze_stabs_argument_has_addr (stru
   return (TYPE_LENGTH (type) == 16);
 }
 
-static void
-microblaze_write_pc (struct regcache *regcache, CORE_ADDR pc)
-{
-  regcache_cooked_write_unsigned (regcache, MICROBLAZE_PC_REGNUM, pc);
-}
 
 static int dwarf2_to_reg_map[78] =
 { 0  /* r0  */,   1  /* r1  */,   2  /* r2  */,   3  /* r3  */,  /*  0- 3 */
@@ -738,8 +733,6 @@ microblaze_gdbarch_init (struct gdbarch_
 
   set_gdbarch_frame_args_skip (gdbarch, 8);
 
-  set_gdbarch_write_pc (gdbarch, microblaze_write_pc);
-
   set_gdbarch_unwind_pc (gdbarch, microblaze_unwind_pc);
 
   microblaze_register_g_packet_guesses (gdbarch);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/minidebug.c ./gdb/minidebug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/minidebug.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/minidebug.c	2018-07-10 02:06:13.000000000 +0000
@@ -269,7 +269,10 @@ find_separate_debug_file_in_section (str
     return NULL;
 
 #ifdef HAVE_LIBLZMA
-  abfd = gdb_bfd_openr_iovec (objfile_name (objfile), gnutarget, lzma_open,
+  std::string filename = string_printf (_(".gnu_debugdata for %s"),
+					objfile_name (objfile));
+
+  abfd = gdb_bfd_openr_iovec (filename.c_str (), gnutarget, lzma_open,
 			      section, lzma_pread, lzma_close, lzma_stat);
   if (abfd == NULL)
     return 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.1.0.20180703/gdb/minsyms.c ./gdb/minsyms.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/minsyms.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/minsyms.c	2018-07-10 02:06:13.000000000 +0000
@@ -70,10 +70,12 @@ msymbol_is_function (struct objfile *obj
     case mst_abs:
     case mst_file_data:
     case mst_file_bss:
+    case mst_data_gnu_ifunc:
       {
 	struct gdbarch *gdbarch = get_objfile_arch (objfile);
-	CORE_ADDR pc = gdbarch_convert_from_func_ptr_addr (gdbarch, msym_addr,
-							   &current_target);
+	CORE_ADDR pc
+	  = gdbarch_convert_from_func_ptr_addr (gdbarch, msym_addr,
+						current_top_target ());
 	if (pc != msym_addr)
 	  {
 	    if (func_address_p != NULL)
@@ -469,13 +471,10 @@ linkage_name_str (const lookup_name_info
 /* See minsyms.h.  */
 
 void
-iterate_over_minimal_symbols (struct objfile *objf,
-			      const lookup_name_info &lookup_name,
-			      void (*callback) (struct minimal_symbol *,
-						void *),
-			      void *user_data)
+iterate_over_minimal_symbols
+    (struct objfile *objf, const lookup_name_info &lookup_name,
+     gdb::function_view<bool (struct minimal_symbol *)> callback)
 {
-
   /* The first pass is over the ordinary hash table.  */
     {
       const char *name = linkage_name_str (lookup_name);
@@ -490,7 +489,8 @@ iterate_over_minimal_symbols (struct obj
 	   iter = iter->hash_next)
 	{
 	  if (mangled_cmp (MSYMBOL_LINKAGE_NAME (iter), name) == 0)
-	    (*callback) (iter, user_data);
+	    if (callback (iter))
+	      return;
 	}
     }
 
@@ -509,7 +509,8 @@ iterate_over_minimal_symbols (struct obj
 	   iter != NULL;
 	   iter = iter->demangled_hash_next)
 	if (name_match (MSYMBOL_SEARCH_NAME (iter), lookup_name, NULL))
-	  (*callback) (iter, user_data);
+	  if (callback (iter))
+	    return;
     }
 }
 
@@ -655,6 +656,27 @@ frob_address (struct objfile *objfile, C
   return 0;
 }
 
+/* Helper for lookup_minimal_symbol_by_pc_section.  Convert a
+   lookup_msym_prefer to a minimal_symbol_type.  */
+
+static minimal_symbol_type
+msym_prefer_to_msym_type (lookup_msym_prefer prefer)
+{
+  switch (prefer)
+    {
+    case lookup_msym_prefer::TEXT:
+      return mst_text;
+    case lookup_msym_prefer::TRAMPOLINE:
+      return mst_solib_trampoline;
+    case lookup_msym_prefer::GNU_IFUNC:
+      return mst_text_gnu_ifunc;
+    }
+
+  /* Assert here instead of in a default switch case above so that
+     -Wswitch warns if a new enumerator is added.  */
+  gdb_assert_not_reached ("unhandled lookup_msym_prefer");
+}
+
 /* Search through the minimal symbol table for each objfile and find
    the symbol whose address is the largest address that is still less
    than or equal to PC, and matches SECTION (which is not NULL).
@@ -670,10 +692,9 @@ frob_address (struct objfile *objfile, C
    there are text and trampoline symbols at the same address.
    Otherwise prefer mst_text symbols.  */
 
-static struct bound_minimal_symbol
-lookup_minimal_symbol_by_pc_section_1 (CORE_ADDR pc_in,
-				       struct obj_section *section,
-				       int want_trampoline)
+bound_minimal_symbol
+lookup_minimal_symbol_by_pc_section (CORE_ADDR pc_in, struct obj_section *section,
+				     lookup_msym_prefer prefer)
 {
   int lo;
   int hi;
@@ -683,10 +704,15 @@ lookup_minimal_symbol_by_pc_section_1 (C
   struct minimal_symbol *best_symbol = NULL;
   struct objfile *best_objfile = NULL;
   struct bound_minimal_symbol result;
-  enum minimal_symbol_type want_type, other_type;
 
-  want_type = want_trampoline ? mst_solib_trampoline : mst_text;
-  other_type = want_trampoline ? mst_text : mst_solib_trampoline;
+  if (section == NULL)
+    {
+      section = find_pc_section (pc_in);
+      if (section == NULL)
+	return {};
+    }
+
+  minimal_symbol_type want_type = msym_prefer_to_msym_type (prefer);
 
   /* We can not require the symbol found to be in section, because
      e.g. IRIX 6.5 mdebug relies on this code returning an absolute
@@ -805,7 +831,7 @@ lookup_minimal_symbol_by_pc_section_1 (C
 		     preceding symbol too.  If they are otherwise
 		     identical prefer that one.  */
 		  if (hi > 0
-		      && MSYMBOL_TYPE (&msymbol[hi]) == other_type
+		      && MSYMBOL_TYPE (&msymbol[hi]) != want_type
 		      && MSYMBOL_TYPE (&msymbol[hi - 1]) == want_type
 		      && (MSYMBOL_SIZE (&msymbol[hi])
 			  == MSYMBOL_SIZE (&msymbol[hi - 1]))
@@ -902,41 +928,12 @@ lookup_minimal_symbol_by_pc_section_1 (C
   return result;
 }
 
-struct bound_minimal_symbol
-lookup_minimal_symbol_by_pc_section (CORE_ADDR pc, struct obj_section *section)
-{
-  if (section == NULL)
-    {
-      /* NOTE: cagney/2004-01-27: This was using find_pc_mapped_section to
-	 force the section but that (well unless you're doing overlay
-	 debugging) always returns NULL making the call somewhat useless.  */
-      section = find_pc_section (pc);
-      if (section == NULL)
-	{
-	  struct bound_minimal_symbol result;
-
-	  memset (&result, 0, sizeof (result));
-	  return result;
-	}
-    }
-  return lookup_minimal_symbol_by_pc_section_1 (pc, section, 0);
-}
-
 /* See minsyms.h.  */
 
 struct bound_minimal_symbol
 lookup_minimal_symbol_by_pc (CORE_ADDR pc)
 {
-  struct obj_section *section = find_pc_section (pc);
-
-  if (section == NULL)
-    {
-      struct bound_minimal_symbol result;
-
-      memset (&result, 0, sizeof (result));
-      return result;
-    }
-  return lookup_minimal_symbol_by_pc_section_1 (pc, section, 0);
+  return lookup_minimal_symbol_by_pc_section (pc, NULL);
 }
 
 /* Return non-zero iff PC is in an STT_GNU_IFUNC function resolver.  */
@@ -944,8 +941,9 @@ lookup_minimal_symbol_by_pc (CORE_ADDR p
 int
 in_gnu_ifunc_stub (CORE_ADDR pc)
 {
-  struct bound_minimal_symbol msymbol = lookup_minimal_symbol_by_pc (pc);
-
+  bound_minimal_symbol msymbol
+    = lookup_minimal_symbol_by_pc_section (pc, NULL,
+					   lookup_msym_prefer::GNU_IFUNC);
   return msymbol.minsym && MSYMBOL_TYPE (msymbol.minsym) == mst_text_gnu_ifunc;
 }
 
@@ -1002,35 +1000,6 @@ static const struct gnu_ifunc_fns stub_g
 
 const struct gnu_ifunc_fns *gnu_ifunc_fns_p = &stub_gnu_ifunc_fns;
 
-/* See minsyms.h.  */
-
-struct bound_minimal_symbol
-lookup_minimal_symbol_and_objfile (const char *name)
-{
-  struct bound_minimal_symbol result;
-  struct objfile *objfile;
-  unsigned int hash = msymbol_hash (name) % MINIMAL_SYMBOL_HASH_SIZE;
-
-  ALL_OBJFILES (objfile)
-    {
-      struct minimal_symbol *msym;
-
-      for (msym = objfile->per_bfd->msymbol_hash[hash];
-	   msym != NULL;
-	   msym = msym->hash_next)
-	{
-	  if (strcmp (MSYMBOL_LINKAGE_NAME (msym), name) == 0)
-	    {
-	      result.minsym = msym;
-	      result.objfile = objfile;
-	      return result;
-	    }
-	}
-    }
-
-  memset (&result, 0, sizeof (result));
-  return result;
-}
 
 
 /* Return leading symbol character for a BFD.  If BFD is NULL,
@@ -1096,6 +1065,7 @@ minimal_symbol_reader::record (const cha
       section = SECT_OFF_TEXT (m_objfile);
       break;
     case mst_data:
+    case mst_data_gnu_ifunc:
     case mst_file_data:
       section = SECT_OFF_DATA (m_objfile);
       break;
@@ -1441,10 +1411,8 @@ void
 terminate_minimal_symbol_table (struct objfile *objfile)
 {
   if (! objfile->per_bfd->msymbols)
-    objfile->per_bfd->msymbols
-      = ((struct minimal_symbol *)
-	 obstack_alloc (&objfile->per_bfd->storage_obstack,
-			sizeof (struct minimal_symbol)));
+    objfile->per_bfd->msymbols = XOBNEW (&objfile->per_bfd->storage_obstack,
+					 minimal_symbol);
 
   {
     struct minimal_symbol *m
@@ -1465,12 +1433,9 @@ terminate_minimal_symbol_table (struct o
 static struct minimal_symbol *
 lookup_solib_trampoline_symbol_by_pc (CORE_ADDR pc)
 {
-  struct obj_section *section = find_pc_section (pc);
-  struct bound_minimal_symbol msymbol;
-
-  if (section == NULL)
-    return NULL;
-  msymbol = lookup_minimal_symbol_by_pc_section_1 (pc, section, 1);
+  bound_minimal_symbol msymbol
+    = lookup_minimal_symbol_by_pc_section (pc, NULL,
+					   lookup_msym_prefer::TRAMPOLINE);
 
   if (msymbol.minsym != NULL
       && MSYMBOL_TYPE (msymbol.minsym) == mst_solib_trampoline)
@@ -1499,26 +1464,19 @@ find_solib_trampoline_target (struct fra
     {
       ALL_MSYMBOLS (objfile, msymbol)
       {
-	if ((MSYMBOL_TYPE (msymbol) == mst_text
-	    || MSYMBOL_TYPE (msymbol) == mst_text_gnu_ifunc)
-	    && strcmp (MSYMBOL_LINKAGE_NAME (msymbol),
-		       MSYMBOL_LINKAGE_NAME (tsymbol)) == 0)
-	  return MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
-
 	/* Also handle minimal symbols pointing to function descriptors.  */
-	if (MSYMBOL_TYPE (msymbol) == mst_data
+	if ((MSYMBOL_TYPE (msymbol) == mst_text
+	     || MSYMBOL_TYPE (msymbol) == mst_text_gnu_ifunc
+	     || MSYMBOL_TYPE (msymbol) == mst_data
+	     || MSYMBOL_TYPE (msymbol) == mst_data_gnu_ifunc)
 	    && strcmp (MSYMBOL_LINKAGE_NAME (msymbol),
 		       MSYMBOL_LINKAGE_NAME (tsymbol)) == 0)
 	  {
 	    CORE_ADDR func;
 
-	    func = gdbarch_convert_from_func_ptr_addr
-		    (get_objfile_arch (objfile),
-		     MSYMBOL_VALUE_ADDRESS (objfile, msymbol),
-		     &current_target);
-
-	    /* Ignore data symbols that are not function descriptors.  */
-	    if (func != MSYMBOL_VALUE_ADDRESS (objfile, msymbol))
+	    /* Ignore data symbols that are not function
+	       descriptors.  */
+	    if (msymbol_is_function (objfile, msymbol, &func))
 	      return func;
 	  }
       }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/minsyms.h ./gdb/minsyms.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/minsyms.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/minsyms.h	2018-07-10 02:06:13.000000000 +0000
@@ -202,11 +202,6 @@ struct bound_minimal_symbol lookup_minim
 
 struct bound_minimal_symbol lookup_bound_minimal_symbol (const char *);
 
-/* Find the minimal symbol named NAME, and return both the minsym
-   struct and its objfile.  This only checks the linkage name.  */
-
-struct bound_minimal_symbol lookup_minimal_symbol_and_objfile (const char *);
-
 /* Look through all the current minimal symbol tables and find the
    first minimal symbol that matches NAME and has text type.  If OBJF
    is non-NULL, limit the search to that objfile.  Returns a bound
@@ -238,6 +233,22 @@ struct bound_minimal_symbol lookup_minim
 struct minimal_symbol *lookup_minimal_symbol_by_pc_name
     (CORE_ADDR, const char *, struct objfile *);
 
+enum class lookup_msym_prefer
+{
+  /* Prefer mst_text symbols.  */
+  TEXT,
+
+  /* Prefer mst_solib_trampoline symbols when there are text and
+     trampoline symbols at the same address.  Otherwise prefer
+     mst_text symbols.  */
+  TRAMPOLINE,
+
+  /* Prefer mst_text_gnu_ifunc symbols when there are text and ifunc
+     symbols at the same address.  Otherwise prefer mst_text
+     symbols.  */
+  GNU_IFUNC,
+};
+
 /* Search through the minimal symbol table for each objfile and find
    the symbol whose address is the largest address that is still less
    than or equal to PC, and which matches SECTION.
@@ -246,11 +257,15 @@ struct minimal_symbol *lookup_minimal_sy
    instead.
 
    The result has a non-NULL 'minsym' member if such a symbol is
-   found, or NULL if PC is not in a suitable range.  */
+   found, or NULL if PC is not in a suitable range.
+
+   See definition of lookup_msym_prefer for description of PREFER.  By
+   default mst_text symbols are preferred.  */
 
 struct bound_minimal_symbol lookup_minimal_symbol_by_pc_section
-    (CORE_ADDR,
-     struct obj_section *);
+  (CORE_ADDR,
+   struct obj_section *,
+   lookup_msym_prefer prefer = lookup_msym_prefer::TEXT);
 
 /* Backward compatibility: search through the minimal symbol table 
    for a matching PC (no section given).
@@ -265,14 +280,11 @@ struct bound_minimal_symbol lookup_minim
    are considered.  The caller is responsible for canonicalizing NAME,
    should that need to be done.
 
-   For each matching symbol, CALLBACK is called with the symbol and
-   USER_DATA as arguments.  */
+   For each matching symbol, CALLBACK is called with the symbol.  */
 
-void iterate_over_minimal_symbols (struct objfile *objf,
-				   const lookup_name_info &name,
-				   void (*callback) (struct minimal_symbol *,
-						     void *),
-				   void *user_data);
+void iterate_over_minimal_symbols
+    (struct objfile *objf, const lookup_name_info &name,
+     gdb::function_view<bool (struct minimal_symbol *)> callback);
 
 /* Compute the upper bound of MINSYM.  The upper bound is the last
    address thought to be part of the symbol.  If the symbol has a
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips64-obsd-nat.c ./gdb/mips64-obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips64-obsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mips64-obsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -35,6 +35,14 @@
 #define MIPS_FP0_REGNUM	MIPS_EMBED_FP0_REGNUM
 #define MIPS_FSR_REGNUM MIPS_EMBED_FP0_REGNUM + 32
 
+struct mips64_obsd_nat_target final : public obsd_nat_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static mips64_obsd_nat_target the_mips64_obsd_nat_target;
+
 /* Supply the general-purpose registers stored in GREGS to REGCACHE.  */
 
 static void
@@ -44,10 +52,10 @@ mips64obsd_supply_gregset (struct regcac
   int regnum;
 
   for (regnum = MIPS_ZERO_REGNUM; regnum <= MIPS_PC_REGNUM; regnum++)
-    regcache_raw_supply (regcache, regnum, regs + regnum * 8);
+    regcache->raw_supply (regnum, regs + regnum * 8);
 
   for (regnum = MIPS_FP0_REGNUM; regnum <= MIPS_FSR_REGNUM; regnum++)
-    regcache_raw_supply (regcache, regnum, regs + (regnum + 2) * 8);
+    regcache->raw_supply (regnum, regs + (regnum + 2) * 8);
 }
 
 /* Collect the general-purpose registers from REGCACHE and store them
@@ -63,13 +71,13 @@ mips64obsd_collect_gregset (const struct
   for (i = MIPS_ZERO_REGNUM; i <= MIPS_PC_REGNUM; i++)
     {
       if (regnum == -1 || regnum == i)
-	regcache_raw_collect (regcache, i, regs + i * 8);
+	regcache->raw_collect (i, regs + i * 8);
     }
 
   for (i = MIPS_FP0_REGNUM; i <= MIPS_FSR_REGNUM; i++)
     {
       if (regnum == -1 || regnum == i)
-	regcache_raw_collect (regcache, i, regs + (i + 2) * 8);
+	regcache->raw_collect (i, regs + (i + 2) * 8);
     }
 }
 
@@ -77,12 +85,11 @@ mips64obsd_collect_gregset (const struct
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers.  */
 
-static void
-mips64obsd_fetch_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regnum)
+void
+mips64_obsd_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   struct reg regs;
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) &regs, 0) == -1)
     perror_with_name (_("Couldn't get registers"));
@@ -94,11 +101,10 @@ mips64obsd_fetch_inferior_registers (str
    this for all registers.  */
 
 static void
-mips64obsd_store_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regnum)
+mips64_obsd_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
   struct reg regs;
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) &regs, 0) == -1)
     perror_with_name (_("Couldn't get registers"));
@@ -112,10 +118,5 @@ mips64obsd_store_inferior_registers (str
 void
 _initialize_mips64obsd_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = mips64obsd_fetch_inferior_registers;
-  t->to_store_registers = mips64obsd_store_inferior_registers;
-  obsd_add_target (t);
+  add_inf_child_target (&the_mips64_obsd_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips64-obsd-tdep.c ./gdb/mips64-obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips64-obsd-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mips64-obsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -52,7 +52,7 @@ mips64obsd_supply_gregset (const struct 
   for (i = 0; i < MIPS64OBSD_NUM_REGS; i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + i * 8);
+	regcache->raw_supply (i, regs + i * 8);
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-fbsd-nat.c ./gdb/mips-fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-fbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mips-fbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -31,6 +31,14 @@
 #include "mips-fbsd-tdep.h"
 #include "inf-ptrace.h"
 
+struct mips_fbsd_nat_target final : public fbsd_nat_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static mips_fbsd_nat_target the_mips_fbsd_nat_target;
+
 /* Determine if PT_GETREGS fetches REGNUM.  */
 
 static bool
@@ -52,11 +60,10 @@ getfpregs_supplies (struct gdbarch *gdba
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers.  */
 
-static void
-mips_fbsd_fetch_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regnum)
+void
+mips_fbsd_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
-  pid_t pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t pid = get_ptrace_pid (regcache->ptid ());
 
   struct gdbarch *gdbarch = regcache->arch ();
   if (regnum == -1 || getregs_supplies (gdbarch, regnum))
@@ -84,11 +91,10 @@ mips_fbsd_fetch_inferior_registers (stru
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers.  */
 
-static void
-mips_fbsd_store_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regnum)
+void
+mips_fbsd_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
-  pid_t pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t pid = get_ptrace_pid (regcache->ptid ());
 
   struct gdbarch *gdbarch = regcache->arch ();
   if (regnum == -1 || getregs_supplies (gdbarch, regnum))
@@ -123,10 +129,5 @@ mips_fbsd_store_inferior_registers (stru
 void
 _initialize_mips_fbsd_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = mips_fbsd_fetch_inferior_registers;
-  t->to_store_registers = mips_fbsd_store_inferior_registers;
-  fbsd_nat_add_target (t);
+  add_inf_child_target (&the_mips_fbsd_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-linux-nat.c ./gdb/mips-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mips-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -24,7 +24,7 @@
 #include "mips-tdep.h"
 #include "target.h"
 #include "regcache.h"
-#include "linux-nat.h"
+#include "linux-nat-trad.h"
 #include "mips-linux-tdep.h"
 #include "target-descriptions.h"
 
@@ -42,19 +42,52 @@
 #define PTRACE_GET_THREAD_AREA 25
 #endif
 
-/* Assume that we have PTRACE_GETREGS et al. support.  If we do not,
-   we'll clear this and use PTRACE_PEEKUSER instead.  */
-static int have_ptrace_regsets = 1;
+class mips_linux_nat_target final : public linux_nat_trad_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  void close () override;
+
+  int can_use_hw_breakpoint (enum bptype, int, int) override;
+
+  int remove_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
 
-/* Saved function pointers to fetch and store a single register using
-   PTRACE_PEEKUSER and PTRACE_POKEUSER.  */
+  int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
 
-static void (*super_fetch_registers) (struct target_ops *,
-				      struct regcache *, int);
-static void (*super_store_registers) (struct target_ops *,
-				      struct regcache *, int);
+  bool stopped_by_watchpoint () override;
 
-static void (*super_close) (struct target_ops *);
+  bool stopped_data_address (CORE_ADDR *) override;
+
+  int region_ok_for_hw_watchpoint (CORE_ADDR, int) override;
+
+  const struct target_desc *read_description () override;
+
+protected:
+  /* Override linux_nat_trad_target methods.  */
+  CORE_ADDR register_u_offset (struct gdbarch *gdbarch,
+			       int regno, int store_p) override;
+
+  /* Override linux_nat_target low methods.  */
+  void low_new_thread (struct lwp_info *lp) override;
+
+private:
+  /* Helpers.  See definitions.  */
+  void mips64_regsets_store_registers (struct regcache *regcache,
+				       int regno);
+  void mips64_regsets_fetch_registers (struct regcache *regcache,
+				       int regno);
+};
+
+static mips_linux_nat_target the_mips_linux_nat_target;
+
+/* Assume that we have PTRACE_GETREGS et al. support.  If we do not,
+   we'll clear this and use PTRACE_PEEKUSER instead.  */
+static int have_ptrace_regsets = 1;
 
 /* Map gdb internal register number to ptrace ``address''.
    These ``addresses'' are normally defined in <asm/ptrace.h>. 
@@ -112,6 +145,11 @@ mips64_linux_register_addr (struct gdbar
   if (regno < 0 || regno >= gdbarch_num_regs (gdbarch))
     error (_("Bogon register number %d."), regno);
 
+  /* On n32 we can't access 64-bit registers via PTRACE_PEEKUSR
+     or PTRACE_POKEUSR.  */
+  if (register_size (gdbarch, regno) > sizeof (PTRACE_TYPE_RET))
+    return (CORE_ADDR) -1;
+
   if (regno > MIPS_ZERO_REGNUM && regno < MIPS_ZERO_REGNUM + 32)
     regaddr = regno;
   else if ((regno >= mips_regnum (gdbarch)->fp0)
@@ -186,31 +224,23 @@ fill_gregset (const struct regcache *reg
 void
 supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
 {
-  if (mips_isa_regsize (regcache->arch ()) == 4)
-    mips_supply_fpregset (regcache, (const mips_elf_fpregset_t *) fpregsetp);
-  else
-    mips64_supply_fpregset (regcache,
-			    (const mips64_elf_fpregset_t *) fpregsetp);
+  mips64_supply_fpregset (regcache, (const mips64_elf_fpregset_t *) fpregsetp);
 }
 
 void
 fill_fpregset (const struct regcache *regcache,
 	       gdb_fpregset_t *fpregsetp, int regno)
 {
-  if (mips_isa_regsize (regcache->arch ()) == 4)
-    mips_fill_fpregset (regcache, (mips_elf_fpregset_t *) fpregsetp, regno);
-  else
-    mips64_fill_fpregset (regcache,
-			  (mips64_elf_fpregset_t *) fpregsetp, regno);
+  mips64_fill_fpregset (regcache, (mips64_elf_fpregset_t *) fpregsetp, regno);
 }
 
 
 /* Fetch REGNO (or all registers if REGNO == -1) from the target
    using PTRACE_GETREGS et al.  */
 
-static void
-mips64_linux_regsets_fetch_registers (struct target_ops *ops,
-				      struct regcache *regcache, int regno)
+void
+mips_linux_nat_target::mips64_regsets_fetch_registers
+  (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   int is_fp, is_dsp;
@@ -240,7 +270,7 @@ mips64_linux_regsets_fetch_registers (st
   else
     is_dsp = 0;
 
-  tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  tid = get_ptrace_pid (regcache->ptid ());
 
   if (regno == -1 || (!is_fp && !is_dsp))
     {
@@ -280,23 +310,24 @@ mips64_linux_regsets_fetch_registers (st
     }
 
   if (is_dsp)
-    super_fetch_registers (ops, regcache, regno);
+    linux_nat_trad_target::fetch_registers (regcache, regno);
   else if (regno == -1 && have_dsp)
     {
       for (regi = mips_regnum (gdbarch)->dspacc;
 	   regi < mips_regnum (gdbarch)->dspacc + 6;
 	   regi++)
-	super_fetch_registers (ops, regcache, regi);
-      super_fetch_registers (ops, regcache, mips_regnum (gdbarch)->dspctl);
+	linux_nat_trad_target::fetch_registers (regcache, regi);
+      linux_nat_trad_target::fetch_registers (regcache,
+					      mips_regnum (gdbarch)->dspctl);
     }
 }
 
 /* Store REGNO (or all registers if REGNO == -1) to the target
    using PTRACE_SETREGS et al.  */
 
-static void
-mips64_linux_regsets_store_registers (struct target_ops *ops,
-				      struct regcache *regcache, int regno)
+void
+mips_linux_nat_target::mips64_regsets_store_registers
+  (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   int is_fp, is_dsp;
@@ -326,7 +357,7 @@ mips64_linux_regsets_store_registers (st
   else
     is_dsp = 0;
 
-  tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  tid = get_ptrace_pid (regcache->ptid ());
 
   if (regno == -1 || (!is_fp && !is_dsp))
     {
@@ -357,56 +388,62 @@ mips64_linux_regsets_store_registers (st
     }
 
   if (is_dsp)
-    super_store_registers (ops, regcache, regno);
+    linux_nat_trad_target::store_registers (regcache, regno);
   else if (regno == -1 && have_dsp)
     {
       for (regi = mips_regnum (gdbarch)->dspacc;
 	   regi < mips_regnum (gdbarch)->dspacc + 6;
 	   regi++)
-	super_store_registers (ops, regcache, regi);
-      super_store_registers (ops, regcache, mips_regnum (gdbarch)->dspctl);
+	linux_nat_trad_target::store_registers (regcache, regi);
+      linux_nat_trad_target::store_registers (regcache,
+					      mips_regnum (gdbarch)->dspctl);
     }
 }
 
 /* Fetch REGNO (or all registers if REGNO == -1) from the target
    using any working method.  */
 
-static void
-mips64_linux_fetch_registers (struct target_ops *ops,
-			      struct regcache *regcache, int regnum)
+void
+mips_linux_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   /* Unless we already know that PTRACE_GETREGS does not work, try it.  */
   if (have_ptrace_regsets)
-    mips64_linux_regsets_fetch_registers (ops, regcache, regnum);
+    mips64_regsets_fetch_registers (regcache, regnum);
 
   /* If we know, or just found out, that PTRACE_GETREGS does not work, fall
      back to PTRACE_PEEKUSER.  */
   if (!have_ptrace_regsets)
-    super_fetch_registers (ops, regcache, regnum);
+    {
+      linux_nat_trad_target::fetch_registers (regcache, regnum);
+
+      /* Fill the inaccessible zero register with zero.  */
+      if (regnum == MIPS_ZERO_REGNUM || regnum == -1)
+	regcache->raw_supply_zeroed (MIPS_ZERO_REGNUM);
+    }
 }
 
 /* Store REGNO (or all registers if REGNO == -1) to the target
    using any working method.  */
 
-static void
-mips64_linux_store_registers (struct target_ops *ops,
-			      struct regcache *regcache, int regnum)
+void
+mips_linux_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
   /* Unless we already know that PTRACE_GETREGS does not work, try it.  */
   if (have_ptrace_regsets)
-    mips64_linux_regsets_store_registers (ops, regcache, regnum);
+    mips64_regsets_store_registers (regcache, regnum);
 
   /* If we know, or just found out, that PTRACE_GETREGS does not work, fall
      back to PTRACE_PEEKUSER.  */
   if (!have_ptrace_regsets)
-    super_store_registers (ops, regcache, regnum);
+    linux_nat_trad_target::store_registers (regcache, regnum);
 }
 
 /* Return the address in the core dump or inferior of register
    REGNO.  */
 
-static CORE_ADDR
-mips_linux_register_u_offset (struct gdbarch *gdbarch, int regno, int store_p)
+CORE_ADDR
+mips_linux_nat_target::register_u_offset (struct gdbarch *gdbarch,
+					  int regno, int store_p)
 {
   if (mips_abi_regsize (gdbarch) == 8)
     return mips64_linux_register_addr (gdbarch, regno, store_p);
@@ -414,8 +451,8 @@ mips_linux_register_u_offset (struct gdb
     return mips_linux_register_addr (gdbarch, regno, store_p);
 }
 
-static const struct target_desc *
-mips_linux_read_description (struct target_ops *ops)
+const struct target_desc *
+mips_linux_nat_target::read_description ()
 {
   static int have_dsp = -1;
 
@@ -423,9 +460,9 @@ mips_linux_read_description (struct targ
     {
       int tid;
 
-      tid = ptid_get_lwp (inferior_ptid);
+      tid = inferior_ptid.lwp ();
       if (tid == 0)
-	tid = ptid_get_pid (inferior_ptid);
+	tid = inferior_ptid.pid ();
 
       errno = 0;
       ptrace (PTRACE_PEEKUSER, tid, DSP_CONTROL, 0);
@@ -499,15 +536,14 @@ mips_show_dr (const char *func, CORE_ADD
 /* Target to_can_use_hw_breakpoint implementation.  Return 1 if we can
    handle the specified watch type.  */
 
-static int
-mips_linux_can_use_hw_breakpoint (struct target_ops *self,
-				  enum bptype type,
-				  int cnt, int ot)
+int
+mips_linux_nat_target::can_use_hw_breakpoint (enum bptype type,
+					      int cnt, int ot)
 {
   int i;
   uint32_t wanted_mask, irw_mask;
 
-  if (!mips_linux_read_watch_registers (ptid_get_lwp (inferior_ptid),
+  if (!mips_linux_read_watch_registers (inferior_ptid.lwp (),
 					&watch_readback,
 					&watch_readback_valid, 0))
     return 0;
@@ -542,49 +578,48 @@ mips_linux_can_use_hw_breakpoint (struct
    stopped by watchpoint.  The watchhi R and W bits indicate the watch
    register triggered.  */
 
-static int
-mips_linux_stopped_by_watchpoint (struct target_ops *ops)
+bool
+mips_linux_nat_target::stopped_by_watchpoint ()
 {
   int n;
   int num_valid;
 
-  if (!mips_linux_read_watch_registers (ptid_get_lwp (inferior_ptid),
+  if (!mips_linux_read_watch_registers (inferior_ptid.lwp (),
 					&watch_readback,
 					&watch_readback_valid, 1))
-    return 0;
+    return false;
 
   num_valid = mips_linux_watch_get_num_valid (&watch_readback);
 
   for (n = 0; n < MAX_DEBUG_REGISTER && n < num_valid; n++)
     if (mips_linux_watch_get_watchhi (&watch_readback, n) & (R_MASK | W_MASK))
-      return 1;
+      return true;
 
-  return 0;
+  return false;
 }
 
 /* Target to_stopped_data_address implementation.  Set the address
    where the watch triggered (if known).  Return 1 if the address was
    known.  */
 
-static int
-mips_linux_stopped_data_address (struct target_ops *t, CORE_ADDR *paddr)
+bool
+mips_linux_nat_target::stopped_data_address (CORE_ADDR *paddr)
 {
   /* On mips we don't know the low order 3 bits of the data address,
      so we must return false.  */
-  return 0;
+  return false;
 }
 
 /* Target to_region_ok_for_hw_watchpoint implementation.  Return 1 if
    the specified region can be covered by the watch registers.  */
 
-static int
-mips_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
-					CORE_ADDR addr, int len)
+int
+mips_linux_nat_target::region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
 {
   struct pt_watch_regs dummy_regs;
   int i;
 
-  if (!mips_linux_read_watch_registers (ptid_get_lwp (inferior_ptid),
+  if (!mips_linux_read_watch_registers (inferior_ptid.lwp (),
 					&watch_readback,
 					&watch_readback_valid, 0))
     return 0;
@@ -606,18 +641,18 @@ write_watchpoint_regs (void)
 
   ALL_LWPS (lp)
     {
-      tid = ptid_get_lwp (lp->ptid);
+      tid = lp->ptid.lwp ();
       if (ptrace (PTRACE_SET_WATCH_REGS, tid, &watch_mirror, NULL) == -1)
 	perror_with_name (_("Couldn't write debug register"));
     }
   return 0;
 }
 
-/* linux_nat new_thread implementation.  Write the mirrored watch
- register values for the new thread.  */
+/* linux_nat_target::low_new_thread implementation.  Write the
+   mirrored watch register values for the new thread.  */
 
-static void
-mips_linux_new_thread (struct lwp_info *lp)
+void
+mips_linux_nat_target::low_new_thread (struct lwp_info *lp)
 {
   long tid = lp->ptid.lwp ();
 
@@ -633,11 +668,10 @@ mips_linux_new_thread (struct lwp_info *
 /* Target to_insert_watchpoint implementation.  Try to insert a new
    watch.  Return zero on success.  */
 
-static int
-mips_linux_insert_watchpoint (struct target_ops *self,
-			      CORE_ADDR addr, int len,
-			      enum target_hw_bp_type type,
-			      struct expression *cond)
+int
+mips_linux_nat_target::insert_watchpoint (CORE_ADDR addr, int len,
+					  enum target_hw_bp_type type,
+					  struct expression *cond)
 {
   struct pt_watch_regs regs;
   struct mips_watchpoint *new_watch;
@@ -646,7 +680,7 @@ mips_linux_insert_watchpoint (struct tar
   int i;
   int retval;
 
-  if (!mips_linux_read_watch_registers (ptid_get_lwp (inferior_ptid),
+  if (!mips_linux_read_watch_registers (inferior_ptid.lwp (),
 					&watch_readback,
 					&watch_readback_valid, 0))
     return -1;
@@ -687,11 +721,10 @@ mips_linux_insert_watchpoint (struct tar
 /* Target to_remove_watchpoint implementation.  Try to remove a watch.
    Return zero on success.  */
 
-static int
-mips_linux_remove_watchpoint (struct target_ops *self,
-			      CORE_ADDR addr, int len,
-			      enum target_hw_bp_type type,
-			      struct expression *cond)
+int
+mips_linux_nat_target::remove_watchpoint (CORE_ADDR addr, int len,
+					  enum target_hw_bp_type type,
+					  struct expression *cond)
 {
   int retval;
   int deleted_one;
@@ -736,8 +769,8 @@ mips_linux_remove_watchpoint (struct tar
 /* Target to_close implementation.  Free any watches and call the
    super implementation.  */
 
-static void
-mips_linux_close (struct target_ops *self)
+void
+mips_linux_nat_target::close ()
 {
   struct mips_watchpoint *w;
   struct mips_watchpoint *nw;
@@ -752,15 +785,12 @@ mips_linux_close (struct target_ops *sel
     }
   current_watches = NULL;
 
-  if (super_close)
-    super_close (self);
+  linux_nat_trad_target::close ();
 }
 
 void
 _initialize_mips_linux_nat (void)
 {
-  struct target_ops *t;
-
   add_setshow_boolean_cmd ("show-debug-regs", class_maintenance,
 			   &show_debug_regs, _("\
 Set whether to show variables that mirror the mips debug registers."), _("\
@@ -774,26 +804,6 @@ triggers a breakpoint or watchpoint."),
 			   &maintenance_set_cmdlist,
 			   &maintenance_show_cmdlist);
 
-  t = linux_trad_target (mips_linux_register_u_offset);
-
-  super_close = t->to_close;
-  t->to_close = mips_linux_close;
-
-  super_fetch_registers = t->to_fetch_registers;
-  super_store_registers = t->to_store_registers;
-
-  t->to_fetch_registers = mips64_linux_fetch_registers;
-  t->to_store_registers = mips64_linux_store_registers;
-
-  t->to_can_use_hw_breakpoint = mips_linux_can_use_hw_breakpoint;
-  t->to_remove_watchpoint = mips_linux_remove_watchpoint;
-  t->to_insert_watchpoint = mips_linux_insert_watchpoint;
-  t->to_stopped_by_watchpoint = mips_linux_stopped_by_watchpoint;
-  t->to_stopped_data_address = mips_linux_stopped_data_address;
-  t->to_region_ok_for_hw_watchpoint = mips_linux_region_ok_for_hw_watchpoint;
-
-  t->to_read_description = mips_linux_read_description;
-
-  linux_nat_add_target (t);
-  linux_nat_set_new_thread (t, mips_linux_new_thread);
+  linux_target = &the_mips_linux_nat_target;
+  add_inf_child_target (&the_mips_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-linux-tdep.c ./gdb/mips-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mips-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -194,7 +194,7 @@ mips_fill_gregset (const struct regcache
   if (regno > 0 && regno < 32)
     {
       dst = regp + regno + EF_REG0;
-      regcache_raw_collect (regcache, regno, dst);
+      regcache->raw_collect (regno, dst);
       return;
     }
 
@@ -219,7 +219,7 @@ mips_fill_gregset (const struct regcache
   if (regaddr != -1)
     {
       dst = regp + regaddr;
-      regcache_raw_collect (regcache, regno, dst);
+      regcache->raw_collect (regno, dst);
     }
 }
 
@@ -233,82 +233,6 @@ mips_fill_gregset_wrapper (const struct 
   mips_fill_gregset (regcache, (mips_elf_gregset_t *)gregs, regnum);
 }
 
-/* Likewise, unpack an elf_fpregset_t.  */
-
-void
-mips_supply_fpregset (struct regcache *regcache,
-		      const mips_elf_fpregset_t *fpregsetp)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  int regi;
-
-  for (regi = 0; regi < 32; regi++)
-    regcache_raw_supply (regcache,
-			 gdbarch_fp0_regnum (gdbarch) + regi,
-			 *fpregsetp + regi);
-
-  regcache_raw_supply (regcache,
-		       mips_regnum (gdbarch)->fp_control_status,
-		       *fpregsetp + 32);
-
-  /* FIXME: how can we supply FCRIR?  The ABI doesn't tell us.  */
-  regcache->raw_supply_zeroed
-    (mips_regnum (gdbarch)->fp_implementation_revision);
-}
-
-static void
-mips_supply_fpregset_wrapper (const struct regset *regset,
-			      struct regcache *regcache,
-			      int regnum, const void *gregs, size_t len)
-{
-  gdb_assert (len >= sizeof (mips_elf_fpregset_t));
-
-  mips_supply_fpregset (regcache, (const mips_elf_fpregset_t *)gregs);
-}
-
-/* Likewise, pack one or all floating point registers into an
-   elf_fpregset_t.  */
-
-void
-mips_fill_fpregset (const struct regcache *regcache,
-		    mips_elf_fpregset_t *fpregsetp, int regno)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  char *to;
-
-  if ((regno >= gdbarch_fp0_regnum (gdbarch))
-      && (regno < gdbarch_fp0_regnum (gdbarch) + 32))
-    {
-      to = (char *) (*fpregsetp + regno - gdbarch_fp0_regnum (gdbarch));
-      regcache_raw_collect (regcache, regno, to);
-    }
-  else if (regno == mips_regnum (gdbarch)->fp_control_status)
-    {
-      to = (char *) (*fpregsetp + 32);
-      regcache_raw_collect (regcache, regno, to);
-    }
-  else if (regno == -1)
-    {
-      int regi;
-
-      for (regi = 0; regi < 32; regi++)
-	mips_fill_fpregset (regcache, fpregsetp,
-			    gdbarch_fp0_regnum (gdbarch) + regi);
-      mips_fill_fpregset (regcache, fpregsetp,
-			  mips_regnum (gdbarch)->fp_control_status);
-    }
-}
-
-static void
-mips_fill_fpregset_wrapper (const struct regset *regset,
-			    const struct regcache *regcache,
-			    int regnum, void *gregs, size_t len)
-{
-  gdb_assert (len >= sizeof (mips_elf_fpregset_t));
-
-  mips_fill_fpregset (regcache, (mips_elf_fpregset_t *)gregs, regnum);
-}
-
 /* Support for 64-bit ABIs.  */
 
 /* Figure out where the longjmp will land.
@@ -358,9 +282,9 @@ supply_64bit_reg (struct regcache *regca
   struct gdbarch *gdbarch = regcache->arch ();
   if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG
       && register_size (gdbarch, regnum) == 4)
-    regcache_raw_supply (regcache, regnum, buf + 4);
+    regcache->raw_supply (regnum, buf + 4);
   else
-    regcache_raw_supply (regcache, regnum, buf);
+    regcache->raw_supply (regnum, buf);
 }
 
 /* Unpack a 64-bit elf_gregset_t into GDB's register cache.  */
@@ -473,7 +397,16 @@ mips64_fill_gregset_wrapper (const struc
   mips64_fill_gregset (regcache, (mips64_elf_gregset_t *)gregs, regnum);
 }
 
-/* Likewise, unpack an elf_fpregset_t.  */
+/* Likewise, unpack an elf_fpregset_t.  Linux only uses even-numbered
+   FPR slots in the Status.FR=0 mode, storing even-odd FPR pairs as the
+   SDC1 instruction would.  When run on MIPS I architecture processors
+   all FPR slots used to be used, unusually, holding the respective FPRs
+   in the first 4 bytes, but that was corrected for consistency, with
+   `linux-mips.org' (LMO) commit 42533948caac ("Major pile of FP emulator
+   changes."), the fix corrected with LMO commit 849fa7a50dff ("R3k FPU
+   ptrace() handling fixes."), and then broken and fixed over and over
+   again, until last time fixed with commit 80cbfad79096 ("MIPS: Correct
+   MIPS I FP context layout").  */
 
 void
 mips64_supply_fpregset (struct regcache *regcache,
@@ -482,8 +415,6 @@ mips64_supply_fpregset (struct regcache 
   struct gdbarch *gdbarch = regcache->arch ();
   int regi;
 
-  /* See mips_linux_o32_sigframe_init for a description of the
-     peculiar FP register layout.  */
   if (register_size (gdbarch, gdbarch_fp0_regnum (gdbarch)) == 4)
     for (regi = 0; regi < 32; regi++)
       {
@@ -491,15 +422,12 @@ mips64_supply_fpregset (struct regcache 
 	  = (const gdb_byte *) (*fpregsetp + (regi & ~1));
 	if ((gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG) != (regi & 1))
 	  reg_ptr += 4;
-	regcache_raw_supply (regcache,
-			     gdbarch_fp0_regnum (gdbarch) + regi,
-			     reg_ptr);
+	regcache->raw_supply (gdbarch_fp0_regnum (gdbarch) + regi, reg_ptr);
       }
   else
     for (regi = 0; regi < 32; regi++)
-      regcache_raw_supply (regcache,
-			   gdbarch_fp0_regnum (gdbarch) + regi,
-			   (const char *) (*fpregsetp + regi));
+      regcache->raw_supply (gdbarch_fp0_regnum (gdbarch) + regi,
+			    (const char *) (*fpregsetp + regi));
 
   supply_32bit_reg (regcache, mips_regnum (gdbarch)->fp_control_status,
 		    (const gdb_byte *) (*fpregsetp + 32));
@@ -523,7 +451,8 @@ mips64_supply_fpregset_wrapper (const st
 }
 
 /* Likewise, pack one or all floating point registers into an
-   elf_fpregset_t.  */
+   elf_fpregset_t.  See `mips_supply_fpregset' for an explanation
+   of the layout.  */
 
 void
 mips64_fill_fpregset (const struct regcache *regcache,
@@ -535,8 +464,6 @@ mips64_fill_fpregset (const struct regca
   if ((regno >= gdbarch_fp0_regnum (gdbarch))
       && (regno < gdbarch_fp0_regnum (gdbarch) + 32))
     {
-      /* See mips_linux_o32_sigframe_init for a description of the
-	 peculiar FP register layout.  */
       if (register_size (gdbarch, regno) == 4)
 	{
 	  int regi = regno - gdbarch_fp0_regnum (gdbarch);
@@ -544,13 +471,13 @@ mips64_fill_fpregset (const struct regca
 	  to = (gdb_byte *) (*fpregsetp + (regi & ~1));
 	  if ((gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG) != (regi & 1))
 	    to += 4;
-	  regcache_raw_collect (regcache, regno, to);
+	  regcache->raw_collect (regno, to);
 	}
       else
 	{
 	  to = (gdb_byte *) (*fpregsetp + regno
 			     - gdbarch_fp0_regnum (gdbarch));
-	  regcache_raw_collect (regcache, regno, to);
+	  regcache->raw_collect (regno, to);
 	}
     }
   else if (regno == mips_regnum (gdbarch)->fp_control_status)
@@ -597,11 +524,6 @@ static const struct regset mips64_linux_
     NULL, mips64_supply_gregset_wrapper, mips64_fill_gregset_wrapper
   };
 
-static const struct regset mips_linux_fpregset =
-  {
-    NULL, mips_supply_fpregset_wrapper, mips_fill_fpregset_wrapper
-  };
-
 static const struct regset mips64_linux_fpregset =
   {
     NULL, mips64_supply_fpregset_wrapper, mips64_fill_fpregset_wrapper
@@ -617,7 +539,7 @@ mips_linux_iterate_over_regset_sections 
     {
       cb (".reg", sizeof (mips_elf_gregset_t), &mips_linux_gregset,
 	  NULL, cb_data);
-      cb (".reg2", sizeof (mips_elf_fpregset_t), &mips_linux_fpregset,
+      cb (".reg2", sizeof (mips64_elf_fpregset_t), &mips64_linux_fpregset,
 	  NULL, cb_data);
     }
   else
@@ -1076,14 +998,6 @@ mips_linux_o32_sigframe_init (const stru
 			     (regs_base + SIGCONTEXT_REGS
 			      + ireg * SIGCONTEXT_REG_SIZE));
 
-  /* The way that floating point registers are saved, unfortunately,
-     depends on the architecture the kernel is built for.  For the r3000 and
-     tx39, four bytes of each register are at the beginning of each of the
-     32 eight byte slots.  For everything else, the registers are saved
-     using double precision; only the even-numbered slots are initialized,
-     and the high bits are the odd-numbered register.  Assume the latter
-     layout, since we can't tell, and it's much more common.  Which bits are
-     the "high" bits depends on endianness.  */
   for (ireg = 0; ireg < 32; ireg++)
     if ((gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG) != (ireg & 1))
       trad_frame_set_reg_addr (this_cache,
@@ -1400,9 +1314,9 @@ mips_linux_syscall_next_pc (struct frame
 
 static LONGEST
 mips_linux_get_syscall_number (struct gdbarch *gdbarch,
-			       ptid_t ptid)
+			       thread_info *thread)
 {
-  struct regcache *regcache = get_thread_regcache (ptid);
+  struct regcache *regcache = get_thread_regcache (thread);
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   int regsize = register_size (gdbarch, MIPS_V0_REGNUM);
@@ -1420,7 +1334,7 @@ mips_linux_get_syscall_number (struct gd
 
   /* Getting the system call number from the register.
      syscall number is in v0 or $2.  */
-  regcache_cooked_read (regcache, MIPS_V0_REGNUM, buf);
+  regcache->cooked_read (MIPS_V0_REGNUM, buf);
 
   ret = extract_signed_integer (buf, regsize, byte_order);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-linux-tdep.h ./gdb/mips-linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-linux-tdep.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mips-linux-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -52,8 +52,6 @@ typedef mips_elf_fpreg_t mips_elf_fpregs
 
 void mips_supply_gregset (struct regcache *, const mips_elf_gregset_t *);
 void mips_fill_gregset (const struct regcache *, mips_elf_gregset_t *, int);
-void mips_supply_fpregset (struct regcache *, const mips_elf_fpregset_t *);
-void mips_fill_fpregset (const struct regcache *, mips_elf_fpregset_t *, int);
 
 /* 64-bit support.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-nbsd-nat.c ./gdb/mips-nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-nbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mips-nbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,6 +30,14 @@
 #include "mips-nbsd-tdep.h"
 #include "inf-ptrace.h"
 
+class mips_nbsd_nat_target final : public inf_ptrace_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static mips_nbsd_nat_target the_mips_nbsd_nat_target;
+
 /* Determine if PT_GETREGS fetches this register.  */
 static int
 getregs_supplies (struct gdbarch *gdbarch, int regno)
@@ -38,11 +46,10 @@ getregs_supplies (struct gdbarch *gdbarc
 	  && (regno) <= gdbarch_pc_regnum (gdbarch));
 }
 
-static void
-mipsnbsd_fetch_inferior_registers (struct target_ops *ops,
-				   struct regcache *regcache, int regno)
+void
+mips_nbsd_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   struct gdbarch *gdbarch = regcache->arch ();
   if (regno == -1 || getregs_supplies (gdbarch, regno))
@@ -69,11 +76,10 @@ mipsnbsd_fetch_inferior_registers (struc
     }
 }
 
-static void
-mipsnbsd_store_inferior_registers (struct target_ops *ops,
-				   struct regcache *regcache, int regno)
+void
+mips_nbsd_nat_target::store_registers (struct regcache *regcache, int regno)
 {
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   struct gdbarch *gdbarch = regcache->arch ();
   if (regno == -1 || getregs_supplies (gdbarch, regno))
@@ -110,10 +116,5 @@ mipsnbsd_store_inferior_registers (struc
 void
 _initialize_mipsnbsd_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = mipsnbsd_fetch_inferior_registers;
-  t->to_store_registers = mipsnbsd_store_inferior_registers;
-  add_target (t);
+  add_inf_child_target (&the_mips_nbsd_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-nbsd-tdep.c ./gdb/mips-nbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-nbsd-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mips-nbsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -64,8 +64,7 @@ mipsnbsd_supply_fpregset (const struct r
   for (i = MIPS_FP0_REGNUM; i <= MIPS_FSR_REGNUM; i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i,
-			     regs + (i - MIPS_FP0_REGNUM) * regsize);
+	regcache->raw_supply (i, regs + (i - MIPS_FP0_REGNUM) * regsize);
     }
 }
 
@@ -87,7 +86,7 @@ mipsnbsd_supply_gregset (const struct re
   for (i = 0; i <= MIPS_PC_REGNUM; i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + i * regsize);
+	regcache->raw_supply (i, regs + i * regsize);
     }
 
   if (len >= (MIPSNBSD_NUM_GREGS + MIPSNBSD_NUM_FPREGS) * regsize)
@@ -145,10 +144,10 @@ mipsnbsd_supply_reg (struct regcache *re
       if (regno == i || regno == -1)
 	{
 	  if (gdbarch_cannot_fetch_register (gdbarch, i))
-	    regcache_raw_supply (regcache, i, NULL);
+	    regcache->raw_supply (i, NULL);
 	  else
-            regcache_raw_supply (regcache, i,
-				 regs + (i * mips_isa_regsize (gdbarch)));
+            regcache->raw_supply
+	      (i, regs + (i * mips_isa_regsize (gdbarch)));
         }
     }
 }
@@ -162,8 +161,7 @@ mipsnbsd_fill_reg (const struct regcache
   for (i = 0; i <= gdbarch_pc_regnum (gdbarch); i++)
     if ((regno == i || regno == -1)
 	&& ! gdbarch_cannot_store_register (gdbarch, i))
-      regcache_raw_collect (regcache, i,
-			    regs + (i * mips_isa_regsize (gdbarch)));
+      regcache->raw_collect (i, regs + (i * mips_isa_regsize (gdbarch)));
 }
 
 void
@@ -180,10 +178,10 @@ mipsnbsd_supply_fpreg (struct regcache *
       if (regno == i || regno == -1)
 	{
 	  if (gdbarch_cannot_fetch_register (gdbarch, i))
-	    regcache_raw_supply (regcache, i, NULL);
+	    regcache->raw_supply (i, NULL);
 	  else
-            regcache_raw_supply (regcache, i,
-				 fpregs 
+            regcache->raw_supply (i,
+				 fpregs
 				 + ((i - gdbarch_fp0_regnum (gdbarch))
 				    * mips_isa_regsize (gdbarch)));
 	}
@@ -201,9 +199,9 @@ mipsnbsd_fill_fpreg (const struct regcac
        i++)
     if ((regno == i || regno == -1) 
 	&& ! gdbarch_cannot_store_register (gdbarch, i))
-      regcache_raw_collect (regcache, i,
-			    fpregs + ((i - gdbarch_fp0_regnum (gdbarch))
-			      * mips_isa_regsize (gdbarch)));
+      regcache->raw_collect
+	(i, (fpregs + ((i - gdbarch_fp0_regnum (gdbarch))
+	     * mips_isa_regsize (gdbarch))));
 }
 
 #if 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.1.0.20180703/gdb/mipsread.c ./gdb/mipsread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mipsread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mipsread.c	2018-07-10 02:06:13.000000000 +0000
@@ -180,24 +180,15 @@ read_alphacoff_dynamic_symtab (minimal_s
 {
   bfd *abfd = objfile->obfd;
   struct alphacoff_dynsecinfo si;
-  char *sym_secptr;
-  char *str_secptr;
-  char *dyninfo_secptr;
-  char *got_secptr;
-  bfd_size_type sym_secsize;
-  bfd_size_type str_secsize;
-  bfd_size_type dyninfo_secsize;
-  bfd_size_type got_secsize;
   int sym_count;
   int i;
   int stripped;
   Elfalpha_External_Sym *x_symp;
-  char *dyninfo_p;
-  char *dyninfo_end;
+  gdb_byte *dyninfo_p;
+  gdb_byte *dyninfo_end;
   int got_entry_size = 8;
   int dt_mips_local_gotno = -1;
   int dt_mips_gotsym = -1;
-  struct cleanup *cleanups;
 
   /* We currently only know how to handle alpha dynamic symbols.  */
   if (bfd_get_arch (abfd) != bfd_arch_alpha)
@@ -210,47 +201,28 @@ read_alphacoff_dynamic_symtab (minimal_s
       || si.dyninfo_sect == NULL || si.got_sect == NULL)
     return;
 
-  sym_secsize = bfd_get_section_size (si.sym_sect);
-  str_secsize = bfd_get_section_size (si.str_sect);
-  dyninfo_secsize = bfd_get_section_size (si.dyninfo_sect);
-  got_secsize = bfd_get_section_size (si.got_sect);
-  sym_secptr = (char *) xmalloc (sym_secsize);
-  cleanups = make_cleanup (xfree, sym_secptr);
-  str_secptr = (char *) xmalloc (str_secsize);
-  make_cleanup (xfree, str_secptr);
-  dyninfo_secptr = (char *) xmalloc (dyninfo_secsize);
-  make_cleanup (xfree, dyninfo_secptr);
-  got_secptr = (char *) xmalloc (got_secsize);
-  make_cleanup (xfree, got_secptr);
+  gdb::byte_vector sym_sec (bfd_get_section_size (si.sym_sect));
+  gdb::byte_vector str_sec (bfd_get_section_size (si.str_sect));
+  gdb::byte_vector dyninfo_sec (bfd_get_section_size (si.dyninfo_sect));
+  gdb::byte_vector got_sec (bfd_get_section_size (si.got_sect));
 
-  if (!bfd_get_section_contents (abfd, si.sym_sect, sym_secptr,
-				 (file_ptr) 0, sym_secsize))
-    {
-      do_cleanups (cleanups);
-      return;
-    }
-  if (!bfd_get_section_contents (abfd, si.str_sect, str_secptr,
-				 (file_ptr) 0, str_secsize))
-    {
-      do_cleanups (cleanups);
-      return;
-    }
-  if (!bfd_get_section_contents (abfd, si.dyninfo_sect, dyninfo_secptr,
-				 (file_ptr) 0, dyninfo_secsize))
-    {
-      do_cleanups (cleanups);
-      return;
-    }
-  if (!bfd_get_section_contents (abfd, si.got_sect, got_secptr,
-				 (file_ptr) 0, got_secsize))
-    {
-      do_cleanups (cleanups);
-      return;
-    }
+  if (!bfd_get_section_contents (abfd, si.sym_sect, sym_sec.data (),
+				 (file_ptr) 0, sym_sec.size ()))
+    return;
+  if (!bfd_get_section_contents (abfd, si.str_sect, str_sec.data (),
+				 (file_ptr) 0, str_sec.size ()))
+    return;
+  if (!bfd_get_section_contents (abfd, si.dyninfo_sect, dyninfo_sec.data (),
+				 (file_ptr) 0, dyninfo_sec.size ()))
+    return;
+  if (!bfd_get_section_contents (abfd, si.got_sect, got_sec.data (),
+				 (file_ptr) 0, got_sec.size ()))
+    return;
 
   /* Find the number of local GOT entries and the index for the
      first dynamic symbol in the GOT.  */
-  for (dyninfo_p = dyninfo_secptr, dyninfo_end = dyninfo_p + dyninfo_secsize;
+  for ((dyninfo_p = dyninfo_sec.data (),
+	dyninfo_end = dyninfo_p + dyninfo_sec.size ());
        dyninfo_p < dyninfo_end;
        dyninfo_p += sizeof (Elfalpha_External_Dyn))
     {
@@ -274,18 +246,15 @@ read_alphacoff_dynamic_symtab (minimal_s
 	}
     }
   if (dt_mips_local_gotno < 0 || dt_mips_gotsym < 0)
-    {
-      do_cleanups (cleanups);
-      return;
-    }
+    return;
 
   /* Scan all dynamic symbols and enter them into the minimal symbol
      table if appropriate.  */
-  sym_count = sym_secsize / sizeof (Elfalpha_External_Sym);
+  sym_count = sym_sec.size () / sizeof (Elfalpha_External_Sym);
   stripped = (bfd_get_symcount (abfd) == 0);
 
   /* Skip first symbol, which is a null dummy.  */
-  for (i = 1, x_symp = (Elfalpha_External_Sym *) sym_secptr + 1;
+  for (i = 1, x_symp = (Elfalpha_External_Sym *) sym_sec.data () + 1;
        i < sym_count;
        i++, x_symp++)
     {
@@ -298,9 +267,9 @@ read_alphacoff_dynamic_symtab (minimal_s
       enum minimal_symbol_type ms_type;
 
       strx = bfd_h_get_32 (abfd, (bfd_byte *) x_symp->st_name);
-      if (strx >= str_secsize)
+      if (strx >= str_sec.size ())
 	continue;
-      name = str_secptr + strx;
+      name = (char *) (str_sec.data () + strx);
       if (*name == '\0' || *name == '.')
 	continue;
 
@@ -341,11 +310,13 @@ read_alphacoff_dynamic_symtab (minimal_s
 	      int got_entry_offset =
 		(i - dt_mips_gotsym + dt_mips_local_gotno) * got_entry_size;
 
-	      if (got_entry_offset < 0 || got_entry_offset >= got_secsize)
+	      if (got_entry_offset < 0
+		  || got_entry_offset >= got_sec.size ())
 		continue;
 	      sym_value =
 		bfd_h_get_64 (abfd,
-			      (bfd_byte *) (got_secptr + got_entry_offset));
+			      (bfd_byte *) (got_sec.data ()
+					    + got_entry_offset));
 	      if (sym_value == 0)
 		continue;
 	    }
@@ -392,8 +363,6 @@ read_alphacoff_dynamic_symtab (minimal_s
 
       reader.record (name, sym_value, ms_type);
     }
-
-  do_cleanups (cleanups);
 }
 
 /* Initialization.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-tdep.c ./gdb/mips-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mips-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mips-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -214,6 +214,18 @@ static unsigned int mips_debug = 0;
 struct target_desc *mips_tdesc_gp32;
 struct target_desc *mips_tdesc_gp64;
 
+/* The current set of options to be passed to the disassembler.  */
+static char *mips_disassembler_options;
+
+/* Implicit disassembler options for individual ABIs.  These tell
+   libopcodes to use general-purpose register names corresponding
+   to the ABI we have selected, perhaps via a `set mips abi ...'
+   override, rather than ones inferred from the ABI set in the ELF
+   headers of the binary file selected for debugging.  */
+static const char mips_disassembler_options_o32[] = "gpr-names=32";
+static const char mips_disassembler_options_n32[] = "gpr-names=n32";
+static const char mips_disassembler_options_n64[] = "gpr-names=64";
+
 const struct mips_regnum *
 mips_regnum (struct gdbarch *gdbarch)
 {
@@ -510,11 +522,9 @@ mips_xfer_register (struct gdbarch *gdba
 	fprintf_unfiltered (gdb_stdlog, "%02x", out[buf_offset + i]);
     }
   if (in != NULL)
-    regcache_cooked_read_part (regcache, reg_num, reg_offset, length,
-			       in + buf_offset);
+    regcache->cooked_read_part (reg_num, reg_offset, length, in + buf_offset);
   if (out != NULL)
-    regcache_cooked_write_part (regcache, reg_num, reg_offset, length,
-				out + buf_offset);
+    regcache->cooked_write_part (reg_num, reg_offset, length, out + buf_offset);
   if (mips_debug && in != NULL)
     {
       int i;
@@ -737,26 +747,26 @@ mips_tdesc_register_reggroup_p (struct g
    registers.  Take care of alignment and size problems.  */
 
 static enum register_status
-mips_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
+mips_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
 			   int cookednum, gdb_byte *buf)
 {
   int rawnum = cookednum % gdbarch_num_regs (gdbarch);
   gdb_assert (cookednum >= gdbarch_num_regs (gdbarch)
 	      && cookednum < 2 * gdbarch_num_regs (gdbarch));
   if (register_size (gdbarch, rawnum) == register_size (gdbarch, cookednum))
-    return regcache_raw_read (regcache, rawnum, buf);
+    return regcache->raw_read (rawnum, buf);
   else if (register_size (gdbarch, rawnum) >
 	   register_size (gdbarch, cookednum))
     {
       if (gdbarch_tdep (gdbarch)->mips64_transfers_32bit_regs_p)
-	return regcache_raw_read_part (regcache, rawnum, 0, 4, buf);
+	return regcache->raw_read_part (rawnum, 0, 4, buf);
       else
 	{
 	  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
 	  LONGEST regval;
 	  enum register_status status;
 
-	  status = regcache_raw_read_signed (regcache, rawnum, &regval);
+	  status = regcache->raw_read (rawnum, &regval);
 	  if (status == REG_VALID)
 	    store_signed_integer (buf, 4, byte_order, regval);
 	  return status;
@@ -775,12 +785,12 @@ mips_pseudo_register_write (struct gdbar
   gdb_assert (cookednum >= gdbarch_num_regs (gdbarch)
 	      && cookednum < 2 * gdbarch_num_regs (gdbarch));
   if (register_size (gdbarch, rawnum) == register_size (gdbarch, cookednum))
-    regcache_raw_write (regcache, rawnum, buf);
+    regcache->raw_write (rawnum, buf);
   else if (register_size (gdbarch, rawnum) >
 	   register_size (gdbarch, cookednum))
     {
       if (gdbarch_tdep (gdbarch)->mips64_transfers_32bit_regs_p)
-	regcache_raw_write_part (regcache, rawnum, 0, 4, buf);
+	regcache->raw_write_part (rawnum, 0, 4, buf);
       else
 	{
 	  /* Sign extend the shortened version of the register prior
@@ -1122,7 +1132,7 @@ mips_pseudo_register_type (struct gdbarc
 }
 
 /* Should the upper word of 64-bit addresses be zeroed?  */
-enum auto_boolean mask_address_var = AUTO_BOOLEAN_AUTO;
+static enum auto_boolean mask_address_var = AUTO_BOOLEAN_AUTO;
 
 static int
 mips_mask_address_p (struct gdbarch_tdep *tdep)
@@ -1362,12 +1372,12 @@ mips_in_frame_stub (CORE_ADDR pc)
    all registers should be sign extended for simplicity?  */
 
 static CORE_ADDR
-mips_read_pc (struct regcache *regcache)
+mips_read_pc (readable_regcache *regcache)
 {
   int regnum = gdbarch_pc_regnum (regcache->arch ());
   LONGEST pc;
 
-  regcache_cooked_read_signed (regcache, regnum, &pc);
+  regcache->cooked_read (regnum, &pc);
   return pc;
 }
 
@@ -6992,40 +7002,9 @@ gdb_print_insn_mips (bfd_vma memaddr, st
   memaddr &= (info->mach == bfd_mach_mips16
 	      || info->mach == bfd_mach_mips_micromips) ? ~1 : ~3;
 
-  /* Set the disassembler options.  */
-  if (!info->disassembler_options)
-    /* This string is not recognized explicitly by the disassembler,
-       but it tells the disassembler to not try to guess the ABI from
-       the bfd elf headers, such that, if the user overrides the ABI
-       of a program linked as NewABI, the disassembly will follow the
-       register naming conventions specified by the user.  */
-    info->disassembler_options = "gpr-names=32";
-
   return default_print_insn (memaddr, info);
 }
 
-static int
-gdb_print_insn_mips_n32 (bfd_vma memaddr, struct disassemble_info *info)
-{
-  /* Set up the disassembler info, so that we get the right
-     register names from libopcodes.  */
-  info->disassembler_options = "gpr-names=n32";
-  info->flavour = bfd_target_elf_flavour;
-
-  return gdb_print_insn_mips (memaddr, info);
-}
-
-static int
-gdb_print_insn_mips_n64 (bfd_vma memaddr, struct disassemble_info *info)
-{
-  /* Set up the disassembler info, so that we get the right
-     register names from libopcodes.  */
-  info->disassembler_options = "gpr-names=64";
-  info->flavour = bfd_target_elf_flavour;
-
-  return gdb_print_insn_mips (memaddr, info);
-}
-
 /* Implement the breakpoint_kind_from_pc gdbarch method.  */
 
 static int
@@ -8084,185 +8063,6 @@ mips_gdbarch_init (struct gdbarch_info i
   int dspacc;
   int dspctl;
 
-  /* Fill in the OS dependent register numbers and names.  */
-  if (info.osabi == GDB_OSABI_LINUX)
-    {
-      mips_regnum.fp0 = 38;
-      mips_regnum.pc = 37;
-      mips_regnum.cause = 36;
-      mips_regnum.badvaddr = 35;
-      mips_regnum.hi = 34;
-      mips_regnum.lo = 33;
-      mips_regnum.fp_control_status = 70;
-      mips_regnum.fp_implementation_revision = 71;
-      mips_regnum.dspacc = -1;
-      mips_regnum.dspctl = -1;
-      dspacc = 72;
-      dspctl = 78;
-      num_regs = 90;
-      reg_names = mips_linux_reg_names;
-    }
-  else
-    {
-      mips_regnum.lo = MIPS_EMBED_LO_REGNUM;
-      mips_regnum.hi = MIPS_EMBED_HI_REGNUM;
-      mips_regnum.badvaddr = MIPS_EMBED_BADVADDR_REGNUM;
-      mips_regnum.cause = MIPS_EMBED_CAUSE_REGNUM;
-      mips_regnum.pc = MIPS_EMBED_PC_REGNUM;
-      mips_regnum.fp0 = MIPS_EMBED_FP0_REGNUM;
-      mips_regnum.fp_control_status = 70;
-      mips_regnum.fp_implementation_revision = 71;
-      mips_regnum.dspacc = dspacc = -1;
-      mips_regnum.dspctl = dspctl = -1;
-      num_regs = MIPS_LAST_EMBED_REGNUM + 1;
-      if (info.bfd_arch_info != NULL
-          && info.bfd_arch_info->mach == bfd_mach_mips3900)
-        reg_names = mips_tx39_reg_names;
-      else
-        reg_names = mips_generic_reg_names;
-    }
-
-  /* Check any target description for validity.  */
-  if (tdesc_has_registers (info.target_desc))
-    {
-      static const char *const mips_gprs[] = {
-	"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
-	"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
-	"r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
-	"r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31"
-      };
-      static const char *const mips_fprs[] = {
-	"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
-	"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
-	"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
-	"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
-      };
-
-      const struct tdesc_feature *feature;
-      int valid_p;
-
-      feature = tdesc_find_feature (info.target_desc,
-				    "org.gnu.gdb.mips.cpu");
-      if (feature == NULL)
-	return NULL;
-
-      tdesc_data = tdesc_data_alloc ();
-
-      valid_p = 1;
-      for (i = MIPS_ZERO_REGNUM; i <= MIPS_RA_REGNUM; i++)
-	valid_p &= tdesc_numbered_register (feature, tdesc_data, i,
-					    mips_gprs[i]);
-
-
-      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					  mips_regnum.lo, "lo");
-      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					  mips_regnum.hi, "hi");
-      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					  mips_regnum.pc, "pc");
-
-      if (!valid_p)
-	{
-	  tdesc_data_cleanup (tdesc_data);
-	  return NULL;
-	}
-
-      feature = tdesc_find_feature (info.target_desc,
-				    "org.gnu.gdb.mips.cp0");
-      if (feature == NULL)
-	{
-	  tdesc_data_cleanup (tdesc_data);
-	  return NULL;
-	}
-
-      valid_p = 1;
-      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					  mips_regnum.badvaddr, "badvaddr");
-      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					  MIPS_PS_REGNUM, "status");
-      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					  mips_regnum.cause, "cause");
-
-      if (!valid_p)
-	{
-	  tdesc_data_cleanup (tdesc_data);
-	  return NULL;
-	}
-
-      /* FIXME drow/2007-05-17: The FPU should be optional.  The MIPS
-	 backend is not prepared for that, though.  */
-      feature = tdesc_find_feature (info.target_desc,
-				    "org.gnu.gdb.mips.fpu");
-      if (feature == NULL)
-	{
-	  tdesc_data_cleanup (tdesc_data);
-	  return NULL;
-	}
-
-      valid_p = 1;
-      for (i = 0; i < 32; i++)
-	valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					    i + mips_regnum.fp0, mips_fprs[i]);
-
-      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					  mips_regnum.fp_control_status,
-					  "fcsr");
-      valid_p
-	&= tdesc_numbered_register (feature, tdesc_data,
-				    mips_regnum.fp_implementation_revision,
-				    "fir");
-
-      if (!valid_p)
-	{
-	  tdesc_data_cleanup (tdesc_data);
-	  return NULL;
-	}
-
-      num_regs = mips_regnum.fp_implementation_revision + 1;
-
-      if (dspacc >= 0)
-	{
-	  feature = tdesc_find_feature (info.target_desc,
-					"org.gnu.gdb.mips.dsp");
-	  /* The DSP registers are optional; it's OK if they are absent.  */
-	  if (feature != NULL)
-	    {
-	      i = 0;
-	      valid_p = 1;
-	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						  dspacc + i++, "hi1");
-	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						  dspacc + i++, "lo1");
-	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						  dspacc + i++, "hi2");
-	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						  dspacc + i++, "lo2");
-	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						  dspacc + i++, "hi3");
-	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						  dspacc + i++, "lo3");
-
-	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						  dspctl, "dspctl");
-
-	      if (!valid_p)
-		{
-		  tdesc_data_cleanup (tdesc_data);
-		  return NULL;
-		}
-
-	      mips_regnum.dspacc = dspacc;
-	      mips_regnum.dspctl = dspctl;
-
-	      num_regs = mips_regnum.dspctl + 1;
-	    }
-	}
-
-      /* It would be nice to detect an attempt to use a 64-bit ABI
-	 when only 32-bit registers are provided.  */
-      reg_names = NULL;
-    }
-
   /* First of all, extract the elf_flags, if available.  */
   if (info.abfd && bfd_get_flavour (info.abfd) == bfd_target_elf_flavour)
     elf_flags = elf_elfheader (info.abfd)->e_flags;
@@ -8364,6 +8164,14 @@ mips_gdbarch_init (struct gdbarch_info i
     fprintf_unfiltered (gdb_stdlog, "mips_gdbarch_init: mips_abi = %d\n",
 			mips_abi);
 
+  /* Make sure we don't use a 32-bit architecture with a 64-bit ABI.  */
+  if (mips_abi != MIPS_ABI_EABI32
+      && mips_abi != MIPS_ABI_O32
+      && info.bfd_arch_info != NULL
+      && info.bfd_arch_info->arch == bfd_arch_mips
+      && info.bfd_arch_info->bits_per_word < 64)
+    info.bfd_arch_info = bfd_lookup_arch (bfd_arch_mips, bfd_mach_mips4000);
+
   /* Determine the default compressed ISA.  */
   if ((elf_flags & EF_MIPS_ARCH_ASE_MICROMIPS) != 0
       && (elf_flags & EF_MIPS_ARCH_ASE_M16) == 0)
@@ -8442,10 +8250,185 @@ mips_gdbarch_init (struct gdbarch_info i
       && tdesc_property (info.target_desc, PROPERTY_GP32) != NULL
       && mips_abi != MIPS_ABI_EABI32
       && mips_abi != MIPS_ABI_O32)
+    return NULL;
+
+  /* Fill in the OS dependent register numbers and names.  */
+  if (info.osabi == GDB_OSABI_LINUX)
     {
-      if (tdesc_data != NULL)
-	tdesc_data_cleanup (tdesc_data);
-      return NULL;
+      mips_regnum.fp0 = 38;
+      mips_regnum.pc = 37;
+      mips_regnum.cause = 36;
+      mips_regnum.badvaddr = 35;
+      mips_regnum.hi = 34;
+      mips_regnum.lo = 33;
+      mips_regnum.fp_control_status = 70;
+      mips_regnum.fp_implementation_revision = 71;
+      mips_regnum.dspacc = -1;
+      mips_regnum.dspctl = -1;
+      dspacc = 72;
+      dspctl = 78;
+      num_regs = 90;
+      reg_names = mips_linux_reg_names;
+    }
+  else
+    {
+      mips_regnum.lo = MIPS_EMBED_LO_REGNUM;
+      mips_regnum.hi = MIPS_EMBED_HI_REGNUM;
+      mips_regnum.badvaddr = MIPS_EMBED_BADVADDR_REGNUM;
+      mips_regnum.cause = MIPS_EMBED_CAUSE_REGNUM;
+      mips_regnum.pc = MIPS_EMBED_PC_REGNUM;
+      mips_regnum.fp0 = MIPS_EMBED_FP0_REGNUM;
+      mips_regnum.fp_control_status = 70;
+      mips_regnum.fp_implementation_revision = 71;
+      mips_regnum.dspacc = dspacc = -1;
+      mips_regnum.dspctl = dspctl = -1;
+      num_regs = MIPS_LAST_EMBED_REGNUM + 1;
+      if (info.bfd_arch_info != NULL
+          && info.bfd_arch_info->mach == bfd_mach_mips3900)
+        reg_names = mips_tx39_reg_names;
+      else
+        reg_names = mips_generic_reg_names;
+    }
+
+  /* Check any target description for validity.  */
+  if (tdesc_has_registers (info.target_desc))
+    {
+      static const char *const mips_gprs[] = {
+	"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
+	"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
+	"r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
+	"r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31"
+      };
+      static const char *const mips_fprs[] = {
+	"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
+	"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
+	"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
+	"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
+      };
+
+      const struct tdesc_feature *feature;
+      int valid_p;
+
+      feature = tdesc_find_feature (info.target_desc,
+				    "org.gnu.gdb.mips.cpu");
+      if (feature == NULL)
+	return NULL;
+
+      tdesc_data = tdesc_data_alloc ();
+
+      valid_p = 1;
+      for (i = MIPS_ZERO_REGNUM; i <= MIPS_RA_REGNUM; i++)
+	valid_p &= tdesc_numbered_register (feature, tdesc_data, i,
+					    mips_gprs[i]);
+
+
+      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+					  mips_regnum.lo, "lo");
+      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+					  mips_regnum.hi, "hi");
+      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+					  mips_regnum.pc, "pc");
+
+      if (!valid_p)
+	{
+	  tdesc_data_cleanup (tdesc_data);
+	  return NULL;
+	}
+
+      feature = tdesc_find_feature (info.target_desc,
+				    "org.gnu.gdb.mips.cp0");
+      if (feature == NULL)
+	{
+	  tdesc_data_cleanup (tdesc_data);
+	  return NULL;
+	}
+
+      valid_p = 1;
+      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+					  mips_regnum.badvaddr, "badvaddr");
+      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+					  MIPS_PS_REGNUM, "status");
+      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+					  mips_regnum.cause, "cause");
+
+      if (!valid_p)
+	{
+	  tdesc_data_cleanup (tdesc_data);
+	  return NULL;
+	}
+
+      /* FIXME drow/2007-05-17: The FPU should be optional.  The MIPS
+	 backend is not prepared for that, though.  */
+      feature = tdesc_find_feature (info.target_desc,
+				    "org.gnu.gdb.mips.fpu");
+      if (feature == NULL)
+	{
+	  tdesc_data_cleanup (tdesc_data);
+	  return NULL;
+	}
+
+      valid_p = 1;
+      for (i = 0; i < 32; i++)
+	valid_p &= tdesc_numbered_register (feature, tdesc_data,
+					    i + mips_regnum.fp0, mips_fprs[i]);
+
+      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+					  mips_regnum.fp_control_status,
+					  "fcsr");
+      valid_p
+	&= tdesc_numbered_register (feature, tdesc_data,
+				    mips_regnum.fp_implementation_revision,
+				    "fir");
+
+      if (!valid_p)
+	{
+	  tdesc_data_cleanup (tdesc_data);
+	  return NULL;
+	}
+
+      num_regs = mips_regnum.fp_implementation_revision + 1;
+
+      if (dspacc >= 0)
+	{
+	  feature = tdesc_find_feature (info.target_desc,
+					"org.gnu.gdb.mips.dsp");
+	  /* The DSP registers are optional; it's OK if they are absent.  */
+	  if (feature != NULL)
+	    {
+	      i = 0;
+	      valid_p = 1;
+	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+						  dspacc + i++, "hi1");
+	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+						  dspacc + i++, "lo1");
+	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+						  dspacc + i++, "hi2");
+	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+						  dspacc + i++, "lo2");
+	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+						  dspacc + i++, "hi3");
+	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+						  dspacc + i++, "lo3");
+
+	      valid_p &= tdesc_numbered_register (feature, tdesc_data,
+						  dspctl, "dspctl");
+
+	      if (!valid_p)
+		{
+		  tdesc_data_cleanup (tdesc_data);
+		  return NULL;
+		}
+
+	      mips_regnum.dspacc = dspacc;
+	      mips_regnum.dspctl = dspctl;
+
+	      num_regs = mips_regnum.dspctl + 1;
+	    }
+	}
+
+      /* It would be nice to detect an attempt to use a 64-bit ABI
+	 when only 32-bit registers are provided.  */
+      reg_names = NULL;
     }
 
   /* Try to find a pre-existing architecture.  */
@@ -8725,12 +8708,19 @@ mips_gdbarch_init (struct gdbarch_info i
 
   set_gdbarch_print_registers_info (gdbarch, mips_print_registers_info);
 
-  if (mips_abi == MIPS_ABI_N32)
-    set_gdbarch_print_insn (gdbarch, gdb_print_insn_mips_n32);
-  else if (mips_abi == MIPS_ABI_N64)
-    set_gdbarch_print_insn (gdbarch, gdb_print_insn_mips_n64);
-  else
-    set_gdbarch_print_insn (gdbarch, gdb_print_insn_mips);
+  set_gdbarch_print_insn (gdbarch, gdb_print_insn_mips);
+  if (mips_abi == MIPS_ABI_N64)
+    set_gdbarch_disassembler_options_implicit
+      (gdbarch, (const char *) mips_disassembler_options_n64);
+  else if (mips_abi == MIPS_ABI_N32)
+    set_gdbarch_disassembler_options_implicit
+      (gdbarch, (const char *) mips_disassembler_options_n32);
+  else
+    set_gdbarch_disassembler_options_implicit
+      (gdbarch, (const char *) mips_disassembler_options_o32);
+  set_gdbarch_disassembler_options (gdbarch, &mips_disassembler_options);
+  set_gdbarch_valid_disassembler_options (gdbarch,
+					  disassembler_options_mips ());
 
   /* FIXME: cagney/2003-08-29: The macros target_have_steppable_watchpoint,
      HAVE_NONSTEPPABLE_WATCHPOINT, and target_have_continuable_watchpoint
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mn10300-linux-tdep.c ./gdb/mn10300-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mn10300-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mn10300-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -93,96 +93,96 @@ am33_supply_gregset_method (const struct
 
   switch (regnum) {
   case E_D0_REGNUM:
-    regcache_raw_supply (regcache, E_D0_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D0));
+    regcache->raw_supply (E_D0_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D0));
     break;
   case E_D1_REGNUM:
-    regcache_raw_supply (regcache, E_D1_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D1));
+    regcache->raw_supply (E_D1_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D1));
     break;
   case E_D2_REGNUM:
-    regcache_raw_supply (regcache, E_D2_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D2));
+    regcache->raw_supply (E_D2_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D2));
     break;
   case E_D3_REGNUM:
-    regcache_raw_supply (regcache, E_D3_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D3));
+    regcache->raw_supply (E_D3_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D3));
     break;
   case E_A0_REGNUM:
-    regcache_raw_supply (regcache, E_A0_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A0));
+    regcache->raw_supply (E_A0_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A0));
     break;
   case E_A1_REGNUM:
-    regcache_raw_supply (regcache, E_A1_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A1));
+    regcache->raw_supply (E_A1_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A1));
     break;
   case E_A2_REGNUM:
-    regcache_raw_supply (regcache, E_A2_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A2));
+    regcache->raw_supply (E_A2_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A2));
     break;
   case E_A3_REGNUM:
-    regcache_raw_supply (regcache, E_A3_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A3));
+    regcache->raw_supply (E_A3_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A3));
     break;
   case E_SP_REGNUM:
-    regcache_raw_supply (regcache, E_SP_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_SP));
+    regcache->raw_supply (E_SP_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_SP));
     break;
   case E_PC_REGNUM:
-    regcache_raw_supply (regcache, E_PC_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_PC));
+    regcache->raw_supply (E_PC_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_PC));
     break;
   case E_MDR_REGNUM:
-    regcache_raw_supply (regcache, E_MDR_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MDR));
+    regcache->raw_supply (E_MDR_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MDR));
     break;
   case E_PSW_REGNUM:
-    regcache_raw_supply (regcache, E_PSW_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_EPSW));
+    regcache->raw_supply (E_PSW_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_EPSW));
     break;
   case E_LIR_REGNUM:
-    regcache_raw_supply (regcache, E_LIR_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_LIR));
+    regcache->raw_supply (E_LIR_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_LIR));
     break;
   case E_LAR_REGNUM:
-    regcache_raw_supply (regcache, E_LAR_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_LAR));
+    regcache->raw_supply (E_LAR_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_LAR));
     break;
   case E_MDRQ_REGNUM:
-    regcache_raw_supply (regcache, E_MDRQ_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MDRQ));
+    regcache->raw_supply (E_MDRQ_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MDRQ));
     break;
   case E_E0_REGNUM:
-    regcache_raw_supply (regcache, E_E0_REGNUM,   
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E0));
+    regcache->raw_supply (E_E0_REGNUM,   
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E0));
     break;
   case E_E1_REGNUM:
-    regcache_raw_supply (regcache, E_E1_REGNUM,
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E1));
+    regcache->raw_supply (E_E1_REGNUM,
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E1));
     break;
   case E_E2_REGNUM:
-    regcache_raw_supply (regcache, E_E2_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E2));
+    regcache->raw_supply (E_E2_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E2));
     break;
   case E_E3_REGNUM:
-    regcache_raw_supply (regcache, E_E3_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E3));
+    regcache->raw_supply (E_E3_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E3));
     break;
   case E_E4_REGNUM:
-    regcache_raw_supply (regcache, E_E4_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E4));
+    regcache->raw_supply (E_E4_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E4));
     break;
   case E_E5_REGNUM:
-    regcache_raw_supply (regcache, E_E5_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E5));
+    regcache->raw_supply (E_E5_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E5));
     break;
   case E_E6_REGNUM:
-    regcache_raw_supply (regcache, E_E6_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E6));
+    regcache->raw_supply (E_E6_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E6));
     break;
   case E_E7_REGNUM:
-    regcache_raw_supply (regcache, E_E7_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E7));
+    regcache->raw_supply (E_E7_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E7));
     break;
 
     /* ssp, msp, and usp are inaccessible.  */
@@ -196,16 +196,16 @@ am33_supply_gregset_method (const struct
     regcache->raw_supply_zeroed (E_E10_REGNUM);
     break;
   case E_MCRH_REGNUM:
-    regcache_raw_supply (regcache, E_MCRH_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCRH));
+    regcache->raw_supply (E_MCRH_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCRH));
     break;
   case E_MCRL_REGNUM:
-    regcache_raw_supply (regcache, E_MCRL_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCRL));
+    regcache->raw_supply (E_MCRL_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCRL));
     break;
   case E_MCVF_REGNUM:
-    regcache_raw_supply (regcache, E_MCVF_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCVF));
+    regcache->raw_supply (E_MCVF_REGNUM, 
+			  (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCVF));
     break;
   case E_FPCR_REGNUM:
     /* FPCR is numbered among the GP regs, but handled as an FP reg.
@@ -252,12 +252,10 @@ am33_supply_fpregset_method (const struc
 				   E_FPCR_REGNUM, fpregs, len);
     }
   else if (regnum == E_FPCR_REGNUM)
-    regcache_raw_supply (regcache, E_FPCR_REGNUM, 
-			 &fpregset->fpcr);
+    regcache->raw_supply (E_FPCR_REGNUM, &fpregset->fpcr);
   else if (E_FS0_REGNUM <= regnum
 	   && regnum < E_FS0_REGNUM + MN10300_ELF_NFPREG)
-    regcache_raw_supply (regcache, regnum, 
-			 &fpregset->fpregs[regnum - E_FS0_REGNUM]);
+    regcache->raw_supply (regnum, &fpregset->fpregs[regnum - E_FS0_REGNUM]);
 
   return;
 }
@@ -276,96 +274,96 @@ am33_collect_gregset_method (const struc
 
   switch (regnum) {
   case E_D0_REGNUM:
-    regcache_raw_collect (regcache, E_D0_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D0));
+    regcache->raw_collect (E_D0_REGNUM,
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D0));
     break;
   case E_D1_REGNUM:
-    regcache_raw_collect (regcache, E_D1_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D1));
+    regcache->raw_collect (E_D1_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D1));
     break;
   case E_D2_REGNUM:
-    regcache_raw_collect (regcache, E_D2_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D2));
+    regcache->raw_collect (E_D2_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D2));
     break;
   case E_D3_REGNUM:
-    regcache_raw_collect (regcache, E_D3_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D3));
+    regcache->raw_collect (E_D3_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_D3));
     break;
   case E_A0_REGNUM:
-    regcache_raw_collect (regcache, E_A0_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A0));
+    regcache->raw_collect (E_A0_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A0));
     break;
   case E_A1_REGNUM:
-    regcache_raw_collect (regcache, E_A1_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A1));
+    regcache->raw_collect (E_A1_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A1));
     break;
   case E_A2_REGNUM:
-    regcache_raw_collect (regcache, E_A2_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A2));
+    regcache->raw_collect (E_A2_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A2));
     break;
   case E_A3_REGNUM:
-    regcache_raw_collect (regcache, E_A3_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A3));
+    regcache->raw_collect (E_A3_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_A3));
     break;
   case E_SP_REGNUM:
-    regcache_raw_collect (regcache, E_SP_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_SP));
+    regcache->raw_collect (E_SP_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_SP));
     break;
   case E_PC_REGNUM:
-    regcache_raw_collect (regcache, E_PC_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_PC));
+    regcache->raw_collect (E_PC_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_PC));
     break;
   case E_MDR_REGNUM:
-    regcache_raw_collect (regcache, E_MDR_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MDR));
+    regcache->raw_collect (E_MDR_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MDR));
     break;
   case E_PSW_REGNUM:
-    regcache_raw_collect (regcache, E_PSW_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_EPSW));
+    regcache->raw_collect (E_PSW_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_EPSW));
     break;
   case E_LIR_REGNUM:
-    regcache_raw_collect (regcache, E_LIR_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_LIR));
+    regcache->raw_collect (E_LIR_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_LIR));
     break;
   case E_LAR_REGNUM:
-    regcache_raw_collect (regcache, E_LAR_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_LAR));
+    regcache->raw_collect (E_LAR_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_LAR));
     break;
   case E_MDRQ_REGNUM:
-    regcache_raw_collect (regcache, E_MDRQ_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MDRQ));
+    regcache->raw_collect (E_MDRQ_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MDRQ));
     break;
   case E_E0_REGNUM:
-    regcache_raw_collect (regcache, E_E0_REGNUM,   
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E0));
+    regcache->raw_collect (E_E0_REGNUM,   
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E0));
     break;
   case E_E1_REGNUM:
-    regcache_raw_collect (regcache, E_E1_REGNUM,
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E1));
+    regcache->raw_collect (E_E1_REGNUM,
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E1));
     break;
   case E_E2_REGNUM:
-    regcache_raw_collect (regcache, E_E2_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E2));
+    regcache->raw_collect (E_E2_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E2));
     break;
   case E_E3_REGNUM:
-    regcache_raw_collect (regcache, E_E3_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E3));
+    regcache->raw_collect (E_E3_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E3));
     break;
   case E_E4_REGNUM:
-    regcache_raw_collect (regcache, E_E4_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E4));
+    regcache->raw_collect (E_E4_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E4));
     break;
   case E_E5_REGNUM:
-    regcache_raw_collect (regcache, E_E5_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E5));
+    regcache->raw_collect (E_E5_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E5));
     break;
   case E_E6_REGNUM:
-    regcache_raw_collect (regcache, E_E6_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E6));
+    regcache->raw_collect (E_E6_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E6));
     break;
   case E_E7_REGNUM:
-    regcache_raw_collect (regcache, E_E7_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E7));
+    regcache->raw_collect (E_E7_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_E7));
     break;
 
     /* ssp, msp, and usp are inaccessible.  */
@@ -379,16 +377,16 @@ am33_collect_gregset_method (const struc
     /* The gregset struct has noplace to put this: do nothing.  */
     break;
   case E_MCRH_REGNUM:
-    regcache_raw_collect (regcache, E_MCRH_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCRH));
+    regcache->raw_collect (E_MCRH_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCRH));
     break;
   case E_MCRL_REGNUM:
-    regcache_raw_collect (regcache, E_MCRL_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCRL));
+    regcache->raw_collect (E_MCRL_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCRL));
     break;
   case E_MCVF_REGNUM:
-    regcache_raw_collect (regcache, E_MCVF_REGNUM, 
-			 (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCVF));
+    regcache->raw_collect (E_MCVF_REGNUM, 
+			   (regp + MN10300_ELF_GREGSET_T_REG_INDEX_MCVF));
     break;
   case E_FPCR_REGNUM:
     /* FPCR is numbered among the GP regs, but handled as an FP reg.
@@ -431,12 +429,10 @@ am33_collect_fpregset_method (const stru
 				    E_FPCR_REGNUM, fpregs, len);
     }
   else if (regnum == E_FPCR_REGNUM)
-    regcache_raw_collect (regcache, E_FPCR_REGNUM, 
-			  &fpregset->fpcr);
+    regcache->raw_collect (E_FPCR_REGNUM, &fpregset->fpcr);
   else if (E_FS0_REGNUM <= regnum
            && regnum < E_FS0_REGNUM + MN10300_ELF_NFPREG)
-    regcache_raw_collect (regcache, regnum, 
-			  &fpregset->fpregs[regnum - E_FS0_REGNUM]);
+    regcache->raw_collect (regnum, &fpregset->fpregs[regnum - E_FS0_REGNUM]);
 
   return;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mn10300-tdep.c ./gdb/mn10300-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mn10300-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mn10300-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -182,13 +182,12 @@ mn10300_store_return_value (struct gdbar
   regsz = register_size (gdbarch, reg);
 
   if (len <= regsz)
-    regcache_raw_write_part (regcache, reg, 0, len, valbuf);
+    regcache->raw_write_part (reg, 0, len, valbuf);
   else if (len <= 2 * regsz)
     {
-      regcache_raw_write (regcache, reg, valbuf);
+      regcache->raw_write (reg, valbuf);
       gdb_assert (regsz == register_size (gdbarch, reg + 1));
-      regcache_raw_write_part (regcache, reg+1, 0,
-			       len - regsz, valbuf + regsz);
+      regcache->raw_write_part (reg + 1, 0, len - regsz, valbuf + regsz);
     }
   else
     internal_error (__FILE__, __LINE__,
@@ -212,15 +211,15 @@ mn10300_extract_return_value (struct gdb
   gdb_assert (regsz <= MN10300_MAX_REGISTER_SIZE);
   if (len <= regsz)
     {
-      regcache_raw_read (regcache, reg, buf);
+      regcache->raw_read (reg, buf);
       memcpy (valbuf, buf, len);
     }
   else if (len <= 2 * regsz)
     {
-      regcache_raw_read (regcache, reg, buf);
+      regcache->raw_read (reg, buf);
       memcpy (valbuf, buf, regsz);
       gdb_assert (regsz == register_size (gdbarch, reg + 1));
-      regcache_raw_read (regcache, reg + 1, buf);
+      regcache->raw_read (reg + 1, buf);
       memcpy ((char *) valbuf + regsz, buf, len - regsz);
     }
   else
@@ -307,20 +306,6 @@ mn10300_register_type (struct gdbarch *g
   return builtin_type (gdbarch)->builtin_int;
 }
 
-static CORE_ADDR
-mn10300_read_pc (struct regcache *regcache)
-{
-  ULONGEST val;
-  regcache_cooked_read_unsigned (regcache, E_PC_REGNUM, &val);
-  return val;
-}
-
-static void
-mn10300_write_pc (struct regcache *regcache, CORE_ADDR val)
-{
-  regcache_cooked_write_unsigned (regcache, E_PC_REGNUM, val);
-}
-
 /* The breakpoint instruction must be the same size as the smallest
    instruction in the instruction set.
 
@@ -1423,8 +1408,6 @@ mn10300_gdbarch_init (struct gdbarch_inf
   set_gdbarch_num_regs (gdbarch, num_regs);
   set_gdbarch_register_type (gdbarch, mn10300_register_type);
   set_gdbarch_skip_prologue (gdbarch, mn10300_skip_prologue);
-  set_gdbarch_read_pc (gdbarch, mn10300_read_pc);
-  set_gdbarch_write_pc (gdbarch, mn10300_write_pc);
   set_gdbarch_pc_regnum (gdbarch, E_PC_REGNUM);
   set_gdbarch_sp_regnum (gdbarch, E_SP_REGNUM);
   set_gdbarch_dwarf2_reg_to_regnum (gdbarch, mn10300_dwarf2_reg_to_regnum);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/moxie-tdep.c ./gdb/moxie-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/moxie-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/moxie-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -433,8 +433,7 @@ moxie_software_single_step (struct regca
 
 	case 0x19: /* jsr */
 	case 0x25: /* jmp */
-	  regcache_raw_read (regcache,
-			     (inst >> 4) & 0xf, (gdb_byte *) & tmpu32);
+	  regcache->raw_read ((inst >> 4) & 0xf, (gdb_byte *) & tmpu32);
 	  next_pcs.push_back (tmpu32);
 	  break;
 
@@ -448,25 +447,6 @@ moxie_software_single_step (struct regca
   return next_pcs;
 }
 
-/* Implement the "read_pc" gdbarch method.  */
-
-static CORE_ADDR
-moxie_read_pc (struct regcache *regcache)
-{
-  ULONGEST pc;
-
-  regcache_cooked_read_unsigned (regcache, MOXIE_PC_REGNUM, &pc);
-  return pc;
-}
-
-/* Implement the "write_pc" gdbarch method.  */
-
-static void
-moxie_write_pc (struct regcache *regcache, CORE_ADDR val)
-{
-  regcache_cooked_write_unsigned (regcache, MOXIE_PC_REGNUM, val);
-}
-
 /* Implement the "unwind_sp" gdbarch method.  */
 
 static CORE_ADDR
@@ -753,7 +733,7 @@ moxie_process_record (struct gdbarch *gd
 	  break;
 	case 0x03: /* jsra */
 	  {
-	    regcache_raw_read (regcache, 
+	    regcache->raw_read (
 			       MOXIE_SP_REGNUM, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
@@ -782,7 +762,7 @@ moxie_process_record (struct gdbarch *gd
 	case 0x06: /* push */
 	  {
 	    int reg = (inst >> 4) & 0xf;
-	    regcache_raw_read (regcache, reg, (gdb_byte *) & tmpu32);
+	    regcache->raw_read (reg, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
 	    if (record_full_arch_list_add_reg (regcache, reg)
@@ -824,7 +804,7 @@ moxie_process_record (struct gdbarch *gd
 	case 0x0b: /* st.l */
 	  {
 	    int reg = (inst >> 4) & 0xf;
-	    regcache_raw_read (regcache, reg, (gdb_byte *) & tmpu32);
+	    regcache->raw_read (reg, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
 	    if (record_full_arch_list_add_mem (tmpu32, 4))
@@ -843,7 +823,7 @@ moxie_process_record (struct gdbarch *gd
 	    int reg = (inst >> 4) & 0xf;
 	    uint32_t offset = (((int16_t) moxie_process_readu (addr+2, buf, 2,
 							       byte_order)) << 16 ) >> 16;
-	    regcache_raw_read (regcache, reg, (gdb_byte *) & tmpu32);
+	    regcache->raw_read (reg, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
 	    tmpu32 += offset;
@@ -883,7 +863,7 @@ moxie_process_record (struct gdbarch *gd
 	  }
 	case 0x19: /* jsr */
 	  {
-	    regcache_raw_read (regcache, 
+	    regcache->raw_read (
 			       MOXIE_SP_REGNUM, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
@@ -911,7 +891,7 @@ moxie_process_record (struct gdbarch *gd
 	case 0x1e: /* st.b */
 	  {
 	    int reg = (inst >> 4) & 0xf;
-	    regcache_raw_read (regcache, reg, (gdb_byte *) & tmpu32);
+	    regcache->raw_read (reg, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
 	    if (record_full_arch_list_add_mem (tmpu32, 1))
@@ -937,7 +917,7 @@ moxie_process_record (struct gdbarch *gd
 	case 0x23: /* st.s */
 	  {
 	    int reg = (inst >> 4) & 0xf;
-	    regcache_raw_read (regcache, reg, (gdb_byte *) & tmpu32);
+	    regcache->raw_read (reg, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
 	    if (record_full_arch_list_add_mem (tmpu32, 2))
@@ -997,12 +977,12 @@ moxie_process_record (struct gdbarch *gd
 		  uint32_t length, ptr;
 
 		  /* Read buffer pointer is in $r1.  */
-		  regcache_raw_read (regcache, 3, (gdb_byte *) & ptr);
+		  regcache->raw_read (3, (gdb_byte *) & ptr);
 		  ptr = extract_unsigned_integer ((gdb_byte *) & ptr, 
 						  4, byte_order);
 
 		  /* String length is at 0x12($fp).  */
-		  regcache_raw_read (regcache, 
+		  regcache->raw_read (
 				     MOXIE_FP_REGNUM, (gdb_byte *) & tmpu32);
 		  tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 						     4, byte_order);
@@ -1048,7 +1028,7 @@ moxie_process_record (struct gdbarch *gd
 	    int reg = (inst >> 4) & 0xf;
 	    uint32_t offset = (((int16_t) moxie_process_readu (addr+2, buf, 2,
 							       byte_order)) << 16 ) >> 16;
-	    regcache_raw_read (regcache, reg, (gdb_byte *) & tmpu32);
+	    regcache->raw_read (reg, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
 	    tmpu32 += offset;
@@ -1068,7 +1048,7 @@ moxie_process_record (struct gdbarch *gd
 	    int reg = (inst >> 4) & 0xf;
 	    uint32_t offset = (((int16_t) moxie_process_readu (addr+2, buf, 2,
 							       byte_order)) << 16 ) >> 16;
-	    regcache_raw_read (regcache, reg, (gdb_byte *) & tmpu32);
+	    regcache->raw_read (reg, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
 	    tmpu32 += offset;
@@ -1109,8 +1089,6 @@ moxie_gdbarch_init (struct gdbarch_info 
   set_gdbarch_wchar_bit (gdbarch, 32);
   set_gdbarch_wchar_signed (gdbarch, 0);
 
-  set_gdbarch_read_pc (gdbarch, moxie_read_pc);
-  set_gdbarch_write_pc (gdbarch, moxie_write_pc);
   set_gdbarch_unwind_sp (gdbarch, moxie_unwind_sp);
 
   set_gdbarch_num_regs (gdbarch, MOXIE_NUM_REGS);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/msp430-tdep.c ./gdb/msp430-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/msp430-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/msp430-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -218,7 +218,7 @@ msp430_register_reggroup_p (struct gdbar
 
 static enum register_status
 msp430_pseudo_register_read (struct gdbarch *gdbarch,
-			     struct regcache *regcache,
+			     readable_regcache *regcache,
 			     int regnum, gdb_byte *buffer)
 {
   if (MSP430_NUM_REGS <= regnum && regnum < MSP430_NUM_TOTAL_REGS)
@@ -229,7 +229,7 @@ msp430_pseudo_register_read (struct gdba
       int regsize = register_size (gdbarch, regnum);
       int raw_regnum = regnum - MSP430_NUM_REGS;
 
-      status = regcache_raw_read_unsigned (regcache, raw_regnum, &val);
+      status = regcache->raw_read (raw_regnum, &val);
       if (status == REG_VALID)
 	store_unsigned_integer (buffer, regsize, byte_order, val);
 
@@ -908,8 +908,8 @@ msp430_gdbarch_init (struct gdbarch_info
 	      code_model = ca_tdep->code_model;
 	      break;
 	    }
-	  /* Otherwise, fall through...  */
 	}
+	/* Fall through.  */
       default:
 	error (_("Unknown msp430 isa"));
 	break;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mt-tdep.c ./gdb/mt-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/mt-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/mt-tdep.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,1218 +0,0 @@
-/* Target-dependent code for Morpho mt processor, for GDB.
-
-   Copyright (C) 2005-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Contributed by Michael Snyder, msnyder@redhat.com.  */
-
-#include "defs.h"
-#include "frame.h"
-#include "frame-unwind.h"
-#include "frame-base.h"
-#include "symtab.h"
-#include "dis-asm.h"
-#include "arch-utils.h"
-#include "gdbtypes.h"
-#include "regcache.h"
-#include "reggroups.h"
-#include "gdbcore.h"
-#include "trad-frame.h"
-#include "inferior.h"
-#include "dwarf2-frame.h"
-#include "infcall.h"
-#include "language.h"
-#include "valprint.h"
-#include "common/byte-vector.h"
-
-enum mt_arch_constants
-{
-  MT_MAX_STRUCT_SIZE = 16
-};
-
-enum mt_gdb_regnums
-{
-  MT_R0_REGNUM,			/* 32 bit regs.  */
-  MT_R1_REGNUM,
-  MT_1ST_ARGREG = MT_R1_REGNUM,
-  MT_R2_REGNUM,
-  MT_R3_REGNUM,
-  MT_R4_REGNUM,
-  MT_LAST_ARGREG = MT_R4_REGNUM,
-  MT_R5_REGNUM,
-  MT_R6_REGNUM,
-  MT_R7_REGNUM,
-  MT_R8_REGNUM,
-  MT_R9_REGNUM,
-  MT_R10_REGNUM,
-  MT_R11_REGNUM,
-  MT_R12_REGNUM,
-  MT_FP_REGNUM = MT_R12_REGNUM,
-  MT_R13_REGNUM,
-  MT_SP_REGNUM = MT_R13_REGNUM,
-  MT_R14_REGNUM,
-  MT_RA_REGNUM = MT_R14_REGNUM,
-  MT_R15_REGNUM,
-  MT_IRA_REGNUM = MT_R15_REGNUM,
-  MT_PC_REGNUM,
-
-  /* Interrupt Enable pseudo-register, exported by SID.  */
-  MT_INT_ENABLE_REGNUM,
-  /* End of CPU regs.  */
-
-  MT_NUM_CPU_REGS,
-
-  /* Co-processor registers.  */
-  MT_COPRO_REGNUM = MT_NUM_CPU_REGS,	/* 16 bit regs.  */
-  MT_CPR0_REGNUM,
-  MT_CPR1_REGNUM,
-  MT_CPR2_REGNUM,
-  MT_CPR3_REGNUM,
-  MT_CPR4_REGNUM,
-  MT_CPR5_REGNUM,
-  MT_CPR6_REGNUM,
-  MT_CPR7_REGNUM,
-  MT_CPR8_REGNUM,
-  MT_CPR9_REGNUM,
-  MT_CPR10_REGNUM,
-  MT_CPR11_REGNUM,
-  MT_CPR12_REGNUM,
-  MT_CPR13_REGNUM,
-  MT_CPR14_REGNUM,
-  MT_CPR15_REGNUM,
-  MT_BYPA_REGNUM,		/* 32 bit regs.  */
-  MT_BYPB_REGNUM,
-  MT_BYPC_REGNUM,
-  MT_FLAG_REGNUM,
-  MT_CONTEXT_REGNUM,		/* 38 bits (treat as array of
-				   six bytes).  */
-  MT_MAC_REGNUM,			/* 32 bits.  */
-  MT_Z1_REGNUM,			/* 16 bits.  */
-  MT_Z2_REGNUM,			/* 16 bits.  */
-  MT_ICHANNEL_REGNUM,		/* 32 bits.  */
-  MT_ISCRAMB_REGNUM,		/* 32 bits.  */
-  MT_QSCRAMB_REGNUM,		/* 32 bits.  */
-  MT_OUT_REGNUM,			/* 16 bits.  */
-  MT_EXMAC_REGNUM,		/* 32 bits (8 used).  */
-  MT_QCHANNEL_REGNUM,		/* 32 bits.  */
-  MT_ZI2_REGNUM,                /* 16 bits.  */
-  MT_ZQ2_REGNUM,                /* 16 bits.  */
-  MT_CHANNEL2_REGNUM,           /* 32 bits.  */
-  MT_ISCRAMB2_REGNUM,           /* 32 bits.  */
-  MT_QSCRAMB2_REGNUM,           /* 32 bits.  */
-  MT_QCHANNEL2_REGNUM,          /* 32 bits.  */
-
-  /* Number of real registers.  */
-  MT_NUM_REGS,
-
-  /* Pseudo-registers.  */
-  MT_COPRO_PSEUDOREG_REGNUM = MT_NUM_REGS,
-  MT_MAC_PSEUDOREG_REGNUM,
-  MT_COPRO_PSEUDOREG_ARRAY,
-
-  MT_COPRO_PSEUDOREG_DIM_1 = 2,
-  MT_COPRO_PSEUDOREG_DIM_2 = 8,
-  /* The number of pseudo-registers for each coprocessor.  These
-     include the real coprocessor registers, the pseudo-registe for
-     the coprocessor number, and the pseudo-register for the MAC.  */
-  MT_COPRO_PSEUDOREG_REGS = MT_NUM_REGS - MT_NUM_CPU_REGS + 2,
-  /* The register number of the MAC, relative to a given coprocessor.  */
-  MT_COPRO_PSEUDOREG_MAC_REGNUM = MT_COPRO_PSEUDOREG_REGS - 1,
-
-  /* Two pseudo-regs ('coprocessor' and 'mac').  */
-  MT_NUM_PSEUDO_REGS = 2 + (MT_COPRO_PSEUDOREG_REGS
-			    * MT_COPRO_PSEUDOREG_DIM_1
-			    * MT_COPRO_PSEUDOREG_DIM_2)
-};
-
-/* The tdep structure.  */
-struct gdbarch_tdep
-{
-  /* ISA-specific types.  */
-  struct type *copro_type;
-};
-
-
-/* Return name of register number specified by REGNUM.  */
-
-static const char *
-mt_register_name (struct gdbarch *gdbarch, int regnum)
-{
-  static const char *const register_names[] = {
-    /* CPU regs.  */
-    "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
-    "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
-    "pc", "IE",
-    /* Co-processor regs.  */
-    "",				/* copro register.  */
-    "cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7",
-    "cr8", "cr9", "cr10", "cr11", "cr12", "cr13", "cr14", "cr15",
-    "bypa", "bypb", "bypc", "flag", "context", "" /* mac.  */ , "z1", "z2",
-    "Ichannel", "Iscramb", "Qscramb", "out", "" /* ex-mac.  */ , "Qchannel",
-    "zi2", "zq2", "Ichannel2", "Iscramb2", "Qscramb2", "Qchannel2",
-    /* Pseudo-registers.  */
-    "coprocessor", "MAC"
-  };
-  static const char *array_names[MT_COPRO_PSEUDOREG_REGS
-				 * MT_COPRO_PSEUDOREG_DIM_1
-				 * MT_COPRO_PSEUDOREG_DIM_2];
-
-  if (regnum < 0)
-    return "";
-  if (regnum < ARRAY_SIZE (register_names))
-    return register_names[regnum];
-  if (array_names[regnum - MT_COPRO_PSEUDOREG_ARRAY])
-    return array_names[regnum - MT_COPRO_PSEUDOREG_ARRAY];
-  
-  {
-    char *name;
-    const char *stub;
-    unsigned dim_1;
-    unsigned dim_2;
-    unsigned index;
-    
-    regnum -= MT_COPRO_PSEUDOREG_ARRAY;
-    index = regnum % MT_COPRO_PSEUDOREG_REGS;
-    dim_2 = (regnum / MT_COPRO_PSEUDOREG_REGS) % MT_COPRO_PSEUDOREG_DIM_2;
-    dim_1 = ((regnum / MT_COPRO_PSEUDOREG_REGS / MT_COPRO_PSEUDOREG_DIM_2)
-	     %  MT_COPRO_PSEUDOREG_DIM_1);
-    
-    if (index == MT_COPRO_PSEUDOREG_MAC_REGNUM)
-      stub = register_names[MT_MAC_PSEUDOREG_REGNUM];
-    else if (index >= MT_NUM_REGS - MT_CPR0_REGNUM)
-      stub = "";
-    else
-      stub = register_names[index + MT_CPR0_REGNUM];
-    if (!*stub)
-      {
-	array_names[regnum] = stub;
-	return stub;
-      }
-    name = (char *) xmalloc (30);
-    sprintf (name, "copro_%d_%d_%s", dim_1, dim_2, stub);
-    array_names[regnum] = name;
-    return name;
-  }
-}
-
-/* Return the type of a coprocessor register.  */
-
-static struct type *
-mt_copro_register_type (struct gdbarch *arch, int regnum)
-{
-  switch (regnum)
-    {
-    case MT_INT_ENABLE_REGNUM:
-    case MT_ICHANNEL_REGNUM:
-    case MT_QCHANNEL_REGNUM:
-    case MT_ISCRAMB_REGNUM:
-    case MT_QSCRAMB_REGNUM:
-      return builtin_type (arch)->builtin_int32;
-    case MT_BYPA_REGNUM:
-    case MT_BYPB_REGNUM:
-    case MT_BYPC_REGNUM:
-    case MT_Z1_REGNUM:
-    case MT_Z2_REGNUM:
-    case MT_OUT_REGNUM:
-    case MT_ZI2_REGNUM:
-    case MT_ZQ2_REGNUM:
-      return builtin_type (arch)->builtin_int16;
-    case MT_EXMAC_REGNUM:
-    case MT_MAC_REGNUM:
-      return builtin_type (arch)->builtin_uint32;
-    case MT_CONTEXT_REGNUM:
-      return builtin_type (arch)->builtin_long_long;
-    case MT_FLAG_REGNUM:
-      return builtin_type (arch)->builtin_unsigned_char;
-    default:
-      if (regnum >= MT_CPR0_REGNUM && regnum <= MT_CPR15_REGNUM)
-	return builtin_type (arch)->builtin_int16;
-      else if (regnum == MT_CPR0_REGNUM + MT_COPRO_PSEUDOREG_MAC_REGNUM)
-	{
-	  if (gdbarch_bfd_arch_info (arch)->mach == bfd_mach_mrisc2
-	      || gdbarch_bfd_arch_info (arch)->mach == bfd_mach_ms2)
-	    return builtin_type (arch)->builtin_uint64;
-	  else
-	    return builtin_type (arch)->builtin_uint32;
-	}
-      else
-	return builtin_type (arch)->builtin_uint32;
-    }
-}
-
-/* Given ARCH and a register number specified by REGNUM, return the
-   type of that register.  */
-
-static struct type *
-mt_register_type (struct gdbarch *arch, int regnum)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
-
-  if (regnum >= 0 && regnum < MT_NUM_REGS + MT_NUM_PSEUDO_REGS)
-    {
-      switch (regnum)
-	{
-	case MT_PC_REGNUM:
-	case MT_RA_REGNUM:
-	case MT_IRA_REGNUM:
-	  return builtin_type (arch)->builtin_func_ptr;
-	case MT_SP_REGNUM:
-	case MT_FP_REGNUM:
-	  return builtin_type (arch)->builtin_data_ptr;
-	case MT_COPRO_REGNUM:
-	case MT_COPRO_PSEUDOREG_REGNUM:
-	  if (tdep->copro_type == NULL)
-	    {
-	      struct type *elt = builtin_type (arch)->builtin_int16;
-	      tdep->copro_type = lookup_array_range_type (elt, 0, 1);
-	    }
-	  return tdep->copro_type;
-	case MT_MAC_PSEUDOREG_REGNUM:
-	  return mt_copro_register_type (arch,
-					 MT_CPR0_REGNUM
-					 + MT_COPRO_PSEUDOREG_MAC_REGNUM);
-	default:
-	  if (regnum >= MT_R0_REGNUM && regnum <= MT_R15_REGNUM)
-	    return builtin_type (arch)->builtin_int32;
-	  else if (regnum < MT_COPRO_PSEUDOREG_ARRAY)
-	    return mt_copro_register_type (arch, regnum);
-	  else
-	    {
-	      regnum -= MT_COPRO_PSEUDOREG_ARRAY;
-	      regnum %= MT_COPRO_PSEUDOREG_REGS;
-	      regnum += MT_CPR0_REGNUM;
-	      return mt_copro_register_type (arch, regnum);
-	    }
-	}
-    }
-  internal_error (__FILE__, __LINE__,
-		  _("mt_register_type: illegal register number %d"), regnum);
-}
-
-/* Return true if register REGNUM is a member of the register group
-   specified by GROUP.  */
-
-static int
-mt_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-			 struct reggroup *group)
-{
-  /* Groups of registers that can be displayed via "info reg".  */
-  if (group == all_reggroup)
-    return (regnum >= 0
-	    && regnum < MT_NUM_REGS + MT_NUM_PSEUDO_REGS
-	    && mt_register_name (gdbarch, regnum)[0] != '\0');
-
-  if (group == general_reggroup)
-    return (regnum >= MT_R0_REGNUM && regnum <= MT_R15_REGNUM);
-
-  if (group == float_reggroup)
-    return 0;			/* No float regs.  */
-
-  if (group == vector_reggroup)
-    return 0;			/* No vector regs.  */
-
-  /* For any that are not handled above.  */
-  return default_register_reggroup_p (gdbarch, regnum, group);
-}
-
-/* Return the return value convention used for a given type TYPE.
-   Optionally, fetch or set the return value via READBUF or
-   WRITEBUF respectively using REGCACHE for the register
-   values.  */
-
-static enum return_value_convention
-mt_return_value (struct gdbarch *gdbarch, struct value *function,
-		 struct type *type, struct regcache *regcache,
-		 gdb_byte *readbuf, const gdb_byte *writebuf)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-
-  if (TYPE_LENGTH (type) > 4)
-    {
-      /* Return values > 4 bytes are returned in memory, 
-         pointed to by R11.  */
-      if (readbuf)
-	{
-	  ULONGEST addr;
-
-	  regcache_cooked_read_unsigned (regcache, MT_R11_REGNUM, &addr);
-	  read_memory (addr, readbuf, TYPE_LENGTH (type));
-	}
-
-      if (writebuf)
-	{
-	  ULONGEST addr;
-
-	  regcache_cooked_read_unsigned (regcache, MT_R11_REGNUM, &addr);
-	  write_memory (addr, writebuf, TYPE_LENGTH (type));
-	}
-
-      return RETURN_VALUE_ABI_RETURNS_ADDRESS;
-    }
-  else
-    {
-      if (readbuf)
-	{
-	  ULONGEST temp;
-
-	  /* Return values of <= 4 bytes are returned in R11.  */
-	  regcache_cooked_read_unsigned (regcache, MT_R11_REGNUM, &temp);
-	  store_unsigned_integer (readbuf, TYPE_LENGTH (type),
-				  byte_order, temp);
-	}
-
-      if (writebuf)
-	{
-	  if (TYPE_LENGTH (type) < 4)
-	    {
-	      gdb_byte buf[4];
-	      /* Add leading zeros to the value.  */
-	      memset (buf, 0, sizeof (buf));
-	      memcpy (buf + sizeof (buf) - TYPE_LENGTH (type),
-		      writebuf, TYPE_LENGTH (type));
-	      regcache_cooked_write (regcache, MT_R11_REGNUM, buf);
-	    }
-	  else			/* (TYPE_LENGTH (type) == 4 */
-	    regcache_cooked_write (regcache, MT_R11_REGNUM, writebuf);
-	}
-
-      return RETURN_VALUE_REGISTER_CONVENTION;
-    }
-}
-
-/* If the input address, PC, is in a function prologue, return the
-   address of the end of the prologue, otherwise return the input
-   address.
-
-   Note:  PC is likely to be the function start, since this function
-   is mainly used for advancing a breakpoint to the first line, or
-   stepping to the first line when we have stepped into a function
-   call.  */
-
-static CORE_ADDR
-mt_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  CORE_ADDR func_addr = 0, func_end = 0;
-  const char *func_name;
-  unsigned long instr;
-
-  if (find_pc_partial_function (pc, &func_name, &func_addr, &func_end))
-    {
-      struct symtab_and_line sal;
-      struct symbol *sym;
-
-      /* Found a function.  */
-      sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL).symbol;
-      if (sym && SYMBOL_LANGUAGE (sym) != language_asm)
-	{
-	  /* Don't use this trick for assembly source files.  */
-	  sal = find_pc_line (func_addr, 0);
-
-	  if (sal.end && sal.end < func_end)
-	    {
-	      /* Found a line number, use it as end of prologue.  */
-	      return sal.end;
-	    }
-	}
-    }
-
-  /* No function symbol, or no line symbol.  Use prologue scanning method.  */
-  for (;; pc += 4)
-    {
-      instr = read_memory_unsigned_integer (pc, 4, byte_order);
-      if (instr == 0x12000000)	/* nop */
-	continue;
-      if (instr == 0x12ddc000)	/* copy sp into fp */
-	continue;
-      instr >>= 16;
-      if (instr == 0x05dd)	/* subi sp, sp, imm */
-	continue;
-      if (instr >= 0x43c0 && instr <= 0x43df)	/* push */
-	continue;
-      /* Not an obvious prologue instruction.  */
-      break;
-    }
-
-  return pc;
-}
-
-/* Implement the breakpoint_kind_from_pc gdbarch method.  */
-
-static int
-mt_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr)
-{
-  return 4;
-}
-
-/* Implement the sw_breakpoint_from_kind gdbarch method.  */
-
-static const gdb_byte *
-mt_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size)
-{
-  /* The breakpoint instruction must be the same size as the smallest
-     instruction in the instruction set.
-
-     The BP for ms1 is defined as 0x68000000 (BREAK).
-     The BP for ms2 is defined as 0x69000000 (illegal).  */
-  static gdb_byte ms1_breakpoint[] = { 0x68, 0, 0, 0 };
-  static gdb_byte ms2_breakpoint[] = { 0x69, 0, 0, 0 };
-
-  *size = kind;
-
-  if (gdbarch_bfd_arch_info (gdbarch)->mach == bfd_mach_ms2)
-    return ms2_breakpoint;
-
-  return ms1_breakpoint;
-}
-
-/* Select the correct coprocessor register bank.  Return the pseudo
-   regnum we really want to read.  */
-
-static int
-mt_select_coprocessor (struct gdbarch *gdbarch,
-			struct regcache *regcache, int regno)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  unsigned index, base;
-  gdb_byte copro[4];
-
-  /* Get the copro pseudo regnum.  */
-  regcache_raw_read (regcache, MT_COPRO_REGNUM, copro);
-  base = ((extract_signed_integer (&copro[0], 2, byte_order)
-	   * MT_COPRO_PSEUDOREG_DIM_2)
-	  + extract_signed_integer (&copro[2], 2, byte_order));
-
-  regno -= MT_COPRO_PSEUDOREG_ARRAY;
-  index = regno % MT_COPRO_PSEUDOREG_REGS;
-  regno /= MT_COPRO_PSEUDOREG_REGS;
-  if (base != regno)
-    {
-      /* Select the correct coprocessor register bank.  Invalidate the
-	 coprocessor register cache.  */
-      unsigned ix;
-
-      store_signed_integer (&copro[0], 2, byte_order,
-			    regno / MT_COPRO_PSEUDOREG_DIM_2);
-      store_signed_integer (&copro[2], 2, byte_order,
-			    regno % MT_COPRO_PSEUDOREG_DIM_2);
-      regcache_raw_write (regcache, MT_COPRO_REGNUM, copro);
-      
-      /* We must flush the cache, as it is now invalid.  */
-      for (ix = MT_NUM_CPU_REGS; ix != MT_NUM_REGS; ix++)
-	regcache_invalidate (regcache, ix);
-    }
-  
-  return index;
-}
-
-/* Fetch the pseudo registers:
-
-   There are two regular pseudo-registers:
-   1) The 'coprocessor' pseudo-register (which mirrors the 
-   "real" coprocessor register sent by the target), and
-   2) The 'MAC' pseudo-register (which represents the union
-   of the original 32 bit target MAC register and the new
-   8-bit extended-MAC register).
-
-   Additionally there is an array of coprocessor registers which track
-   the coprocessor registers for each coprocessor.  */
-
-static enum register_status
-mt_pseudo_register_read (struct gdbarch *gdbarch,
-			 struct regcache *regcache, int regno, gdb_byte *buf)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-
-  switch (regno)
-    {
-    case MT_COPRO_REGNUM:
-    case MT_COPRO_PSEUDOREG_REGNUM:
-      return regcache_raw_read (regcache, MT_COPRO_REGNUM, buf);
-    case MT_MAC_REGNUM:
-    case MT_MAC_PSEUDOREG_REGNUM:
-      if (gdbarch_bfd_arch_info (gdbarch)->mach == bfd_mach_mrisc2
-	  || gdbarch_bfd_arch_info (gdbarch)->mach == bfd_mach_ms2)
-	{
-	  enum register_status status;
-	  ULONGEST oldmac = 0, ext_mac = 0;
-	  ULONGEST newmac;
-
-	  status = regcache_cooked_read_unsigned (regcache, MT_MAC_REGNUM, &oldmac);
-	  if (status != REG_VALID)
-	    return status;
-
-	  regcache_cooked_read_unsigned (regcache, MT_EXMAC_REGNUM, &ext_mac);
-	  if (status != REG_VALID)
-	    return status;
-
-	  newmac =
-	    (oldmac & 0xffffffff) | ((long long) (ext_mac & 0xff) << 32);
-	  store_signed_integer (buf, 8, byte_order, newmac);
-
-	  return REG_VALID;
-	}
-      else
-	return regcache_raw_read (regcache, MT_MAC_REGNUM, buf);
-      break;
-    default:
-      {
-	unsigned index = mt_select_coprocessor (gdbarch, regcache, regno);
-	
-	if (index == MT_COPRO_PSEUDOREG_MAC_REGNUM)
-	  return mt_pseudo_register_read (gdbarch, regcache,
-					  MT_MAC_PSEUDOREG_REGNUM, buf);
-	else if (index < MT_NUM_REGS - MT_CPR0_REGNUM)
-	  return regcache_raw_read (regcache, index + MT_CPR0_REGNUM, buf);
-	else
-	  /* ??? */
-	  return REG_VALID;
-      }
-      break;
-    }
-}
-
-/* Write the pseudo registers:
-
-   Mt pseudo-registers are stored directly to the target.  The
-   'coprocessor' register is special, because when it is modified, all
-   the other coprocessor regs must be flushed from the reg cache.  */
-
-static void
-mt_pseudo_register_write (struct gdbarch *gdbarch,
-			   struct regcache *regcache,
-			   int regno, const gdb_byte *buf)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  int i;
-
-  switch (regno)
-    {
-    case MT_COPRO_REGNUM:
-    case MT_COPRO_PSEUDOREG_REGNUM:
-      regcache_raw_write (regcache, MT_COPRO_REGNUM, buf);
-      for (i = MT_NUM_CPU_REGS; i < MT_NUM_REGS; i++)
-	regcache_invalidate (regcache, i);
-      break;
-    case MT_MAC_REGNUM:
-    case MT_MAC_PSEUDOREG_REGNUM:
-      if (gdbarch_bfd_arch_info (gdbarch)->mach == bfd_mach_mrisc2
-	  || gdbarch_bfd_arch_info (gdbarch)->mach == bfd_mach_ms2)
-	{
-	  /* The 8-byte MAC pseudo-register must be broken down into two
-	     32-byte registers.  */
-	  unsigned int oldmac, ext_mac;
-	  ULONGEST newmac;
-
-	  newmac = extract_unsigned_integer (buf, 8, byte_order);
-	  oldmac = newmac & 0xffffffff;
-	  ext_mac = (newmac >> 32) & 0xff;
-	  regcache_cooked_write_unsigned (regcache, MT_MAC_REGNUM, oldmac);
-	  regcache_cooked_write_unsigned (regcache, MT_EXMAC_REGNUM, ext_mac);
-	}
-      else
-	regcache_raw_write (regcache, MT_MAC_REGNUM, buf);
-      break;
-    default:
-      {
-	unsigned index = mt_select_coprocessor (gdbarch, regcache, regno);
-	
-	if (index == MT_COPRO_PSEUDOREG_MAC_REGNUM)
-	  mt_pseudo_register_write (gdbarch, regcache,
-				    MT_MAC_PSEUDOREG_REGNUM, buf);
-	else if (index < MT_NUM_REGS - MT_CPR0_REGNUM)
-	  regcache_raw_write (regcache, index + MT_CPR0_REGNUM, buf);
-      }
-      break;
-    }
-}
-
-static CORE_ADDR
-mt_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
-{
-  /* Register size is 4 bytes.  */
-  return align_down (sp, 4);
-}
-
-/* Implements the "info registers" command.   When ``all'' is non-zero,
-   the coprocessor registers will be printed in addition to the rest
-   of the registers.  */
-
-static void
-mt_registers_info (struct gdbarch *gdbarch,
-		   struct ui_file *file,
-		   struct frame_info *frame, int regnum, int all)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-
-  if (regnum == -1)
-    {
-      int lim;
-
-      lim = all ? MT_NUM_REGS : MT_NUM_CPU_REGS;
-
-      for (regnum = 0; regnum < lim; regnum++)
-	{
-	  /* Don't display the Qchannel register since it will be displayed
-	     along with Ichannel.  (See below.)  */
-	  if (regnum == MT_QCHANNEL_REGNUM)
-	    continue;
-
-	  mt_registers_info (gdbarch, file, frame, regnum, all);
-
-	  /* Display the Qchannel register immediately after Ichannel.  */
-	  if (regnum == MT_ICHANNEL_REGNUM)
-	    mt_registers_info (gdbarch, file, frame, MT_QCHANNEL_REGNUM, all);
-	}
-    }
-  else
-    {
-      if (regnum == MT_EXMAC_REGNUM)
-	return;
-      else if (regnum == MT_CONTEXT_REGNUM)
-	{
-	  /* Special output handling for 38-bit context register.  */
-	  unsigned char *buff;
-	  unsigned int i, regsize;
-
-	  regsize = register_size (gdbarch, regnum);
-
-	  buff = (unsigned char *) alloca (regsize);
-
-	  deprecated_frame_register_read (frame, regnum, buff);
-
-	  fputs_filtered (gdbarch_register_name
-			  (gdbarch, regnum), file);
-	  print_spaces_filtered (15 - strlen (gdbarch_register_name
-					        (gdbarch, regnum)),
-				 file);
-	  fputs_filtered ("0x", file);
-
-	  for (i = 0; i < regsize; i++)
-	    fprintf_filtered (file, "%02x", (unsigned int)
-			      extract_unsigned_integer (buff + i, 1, byte_order));
-	  fputs_filtered ("\t", file);
-	  print_longest (file, 'd', 0,
-			 extract_unsigned_integer (buff, regsize, byte_order));
-	  fputs_filtered ("\n", file);
-	}
-      else if (regnum == MT_COPRO_REGNUM
-               || regnum == MT_COPRO_PSEUDOREG_REGNUM)
-	{
-	  /* Special output handling for the 'coprocessor' register.  */
-	  struct value_print_options opts;
-	  struct value *val;
-
-	  val = get_frame_register_value (frame, MT_COPRO_REGNUM);
-	  /* And print.  */
-	  regnum = MT_COPRO_PSEUDOREG_REGNUM;
-	  fputs_filtered (gdbarch_register_name (gdbarch, regnum),
-			  file);
-	  print_spaces_filtered (15 - strlen (gdbarch_register_name
-					        (gdbarch, regnum)),
-				 file);
-	  get_no_prettyformat_print_options (&opts);
-	  opts.deref_ref = 1;
-	  val_print (register_type (gdbarch, regnum),
-		     0, 0, file, 0, val,
-		     &opts, current_language);
-	  fputs_filtered ("\n", file);
-	}
-      else if (regnum == MT_MAC_REGNUM || regnum == MT_MAC_PSEUDOREG_REGNUM)
-	{
-	  ULONGEST oldmac, ext_mac, newmac;
-	  gdb_byte buf[3 * sizeof (LONGEST)];
-
-	  /* Get the two "real" mac registers.  */
-	  deprecated_frame_register_read (frame, MT_MAC_REGNUM, buf);
-	  oldmac = extract_unsigned_integer
-	    (buf, register_size (gdbarch, MT_MAC_REGNUM), byte_order);
-	  if (gdbarch_bfd_arch_info (gdbarch)->mach == bfd_mach_mrisc2
-	      || gdbarch_bfd_arch_info (gdbarch)->mach == bfd_mach_ms2)
-	    {
-	      deprecated_frame_register_read (frame, MT_EXMAC_REGNUM, buf);
-	      ext_mac = extract_unsigned_integer
-		(buf, register_size (gdbarch, MT_EXMAC_REGNUM), byte_order);
-	    }
-	  else
-	    ext_mac = 0;
-
-	  /* Add them together.  */
-	  newmac = (oldmac & 0xffffffff) + ((ext_mac & 0xff) << 32);
-
-	  /* And print.  */
-	  regnum = MT_MAC_PSEUDOREG_REGNUM;
-	  fputs_filtered (gdbarch_register_name (gdbarch, regnum),
-			  file);
-	  print_spaces_filtered (15 - strlen (gdbarch_register_name
-					      (gdbarch, regnum)),
-				 file);
-	  fputs_filtered ("0x", file);
-	  print_longest (file, 'x', 0, newmac);
-	  fputs_filtered ("\t", file);
-	  print_longest (file, 'u', 0, newmac);
-	  fputs_filtered ("\n", file);
-	}
-      else
-	default_print_registers_info (gdbarch, file, frame, regnum, all);
-    }
-}
-
-/* Set up the callee's arguments for an inferior function call.  The
-   arguments are pushed on the stack or are placed in registers as
-   appropriate.  It also sets up the return address (which points to
-   the call dummy breakpoint).
-
-   Returns the updated (and aligned) stack pointer.  */
-
-static CORE_ADDR
-mt_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
-		     struct regcache *regcache, CORE_ADDR bp_addr,
-		     int nargs, struct value **args, CORE_ADDR sp,
-		     int struct_return, CORE_ADDR struct_addr)
-{
-#define wordsize 4
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  gdb_byte buf[MT_MAX_STRUCT_SIZE];
-  int argreg = MT_1ST_ARGREG;
-  int split_param_len = 0;
-  int stack_dest = sp;
-  int slacklen;
-  int typelen;
-  int i, j;
-
-  /* First handle however many args we can fit into MT_1ST_ARGREG thru
-     MT_LAST_ARGREG.  */
-  for (i = 0; i < nargs && argreg <= MT_LAST_ARGREG; i++)
-    {
-      const gdb_byte *val;
-      typelen = TYPE_LENGTH (value_type (args[i]));
-      switch (typelen)
-	{
-	case 1:
-	case 2:
-	case 3:
-	case 4:
-	  regcache_cooked_write_unsigned (regcache, argreg++,
-					  extract_unsigned_integer
-					  (value_contents (args[i]),
-					   wordsize, byte_order));
-	  break;
-	case 8:
-	case 12:
-	case 16:
-	  val = value_contents (args[i]);
-	  while (typelen > 0)
-	    {
-	      if (argreg <= MT_LAST_ARGREG)
-		{
-		  /* This word of the argument is passed in a register.  */
-		  regcache_cooked_write_unsigned (regcache, argreg++,
-						  extract_unsigned_integer
-						  (val, wordsize, byte_order));
-		  typelen -= wordsize;
-		  val += wordsize;
-		}
-	      else
-		{
-		  /* Remainder of this arg must be passed on the stack
-		     (deferred to do later).  */
-		  split_param_len = typelen;
-		  memcpy (buf, val, typelen);
-		  break;	/* No more args can be handled in regs.  */
-		}
-	    }
-	  break;
-	default:
-	  /* By reverse engineering of gcc output, args bigger than
-	     16 bytes go on the stack, and their address is passed
-	     in the argreg.  */
-	  stack_dest -= typelen;
-	  write_memory (stack_dest, value_contents (args[i]), typelen);
-	  regcache_cooked_write_unsigned (regcache, argreg++, stack_dest);
-	  break;
-	}
-    }
-
-  /* Next, the rest of the arguments go onto the stack, in reverse order.  */
-  for (j = nargs - 1; j >= i; j--)
-    {
-      const gdb_byte *contents = value_contents (args[j]);
-      
-      /* Right-justify the value in an aligned-length buffer.  */
-      typelen = TYPE_LENGTH (value_type (args[j]));
-      slacklen = (wordsize - (typelen % wordsize)) % wordsize;
-      gdb::byte_vector val (typelen + slacklen);
-      memcpy (val.data (), contents, typelen);
-      memset (val.data () + typelen, 0, slacklen);
-      /* Now write this data to the stack.  */
-      stack_dest -= typelen + slacklen;
-      write_memory (stack_dest, val.data (), typelen + slacklen);
-    }
-
-  /* Finally, if a param needs to be split between registers and stack, 
-     write the second half to the stack now.  */
-  if (split_param_len != 0)
-    {
-      stack_dest -= split_param_len;
-      write_memory (stack_dest, buf, split_param_len);
-    }
-
-  /* Set up return address (provided to us as bp_addr).  */
-  regcache_cooked_write_unsigned (regcache, MT_RA_REGNUM, bp_addr);
-
-  /* Store struct return address, if given.  */
-  if (struct_return && struct_addr != 0)
-    regcache_cooked_write_unsigned (regcache, MT_R11_REGNUM, struct_addr);
-
-  /* Set aside 16 bytes for the callee to save regs 1-4.  */
-  stack_dest -= 16;
-
-  /* Update the stack pointer.  */
-  regcache_cooked_write_unsigned (regcache, MT_SP_REGNUM, stack_dest);
-
-  /* And that should do it.  Return the new stack pointer.  */
-  return stack_dest;
-}
-
-
-/* The 'unwind_cache' data structure.  */
-
-struct mt_unwind_cache
-{
-  /* The previous frame's inner most stack address.
-     Used as this frame ID's stack_addr.  */
-  CORE_ADDR prev_sp;
-  CORE_ADDR frame_base;
-  int framesize;
-  int frameless_p;
-
-  /* Table indicating the location of each and every register.  */
-  struct trad_frame_saved_reg *saved_regs;
-};
-
-/* Initialize an unwind_cache.  Build up the saved_regs table etc. for
-   the frame.  */
-
-static struct mt_unwind_cache *
-mt_frame_unwind_cache (struct frame_info *this_frame,
-			void **this_prologue_cache)
-{
-  struct gdbarch *gdbarch;
-  struct mt_unwind_cache *info;
-  CORE_ADDR next_addr, start_addr, end_addr, prologue_end_addr;
-  unsigned long instr, upper_half, delayed_store = 0;
-  int regnum, offset;
-  ULONGEST sp, fp;
-
-  if ((*this_prologue_cache))
-    return (struct mt_unwind_cache *) (*this_prologue_cache);
-
-  gdbarch = get_frame_arch (this_frame);
-  info = FRAME_OBSTACK_ZALLOC (struct mt_unwind_cache);
-  (*this_prologue_cache) = info;
-
-  info->prev_sp = 0;
-  info->framesize = 0;
-  info->frame_base = 0;
-  info->frameless_p = 1;
-  info->saved_regs = trad_frame_alloc_saved_regs (this_frame);
-
-  /* Grab the frame-relative values of SP and FP, needed below.
-     The frame_saved_register function will find them on the
-     stack or in the registers as appropriate.  */
-  sp = get_frame_register_unsigned (this_frame, MT_SP_REGNUM);
-  fp = get_frame_register_unsigned (this_frame, MT_FP_REGNUM);
-
-  start_addr = get_frame_func (this_frame);
-
-  /* Return early if GDB couldn't find the function.  */
-  if (start_addr == 0)
-    return info;
-
-  end_addr = get_frame_pc (this_frame);
-  prologue_end_addr = skip_prologue_using_sal (gdbarch, start_addr);
-  if (end_addr == 0)
-  for (next_addr = start_addr; next_addr < end_addr; next_addr += 4)
-    {
-      instr = get_frame_memory_unsigned (this_frame, next_addr, 4);
-      if (delayed_store)	/* Previous instr was a push.  */
-	{
-	  upper_half = delayed_store >> 16;
-	  regnum = upper_half & 0xf;
-	  offset = delayed_store & 0xffff;
-	  switch (upper_half & 0xfff0)
-	    {
-	    case 0x43c0:	/* push using frame pointer.  */
-	      info->saved_regs[regnum].addr = offset;
-	      break;
-	    case 0x43d0:	/* push using stack pointer.  */
-	      info->saved_regs[regnum].addr = offset;
-	      break;
-	    default:		/* lint */
-	      break;
-	    }
-	  delayed_store = 0;
-	}
-
-      switch (instr)
-	{
-	case 0x12000000:	/* NO-OP */
-	  continue;
-	case 0x12ddc000:	/* copy sp into fp */
-	  info->frameless_p = 0;	/* Record that the frame
-					   pointer is in use.  */
-	  continue;
-	default:
-	  upper_half = instr >> 16;
-	  if (upper_half == 0x05dd ||	/* subi  sp, sp, imm */
-	      upper_half == 0x07dd)	/* subui sp, sp, imm */
-	    {
-	      /* Record the frame size.  */
-	      info->framesize = instr & 0xffff;
-	      continue;
-	    }
-	  if ((upper_half & 0xfff0) == 0x43c0 ||	/* frame push */
-	      (upper_half & 0xfff0) == 0x43d0)	/* stack push */
-	    {
-	      /* Save this instruction, but don't record the 
-	         pushed register as 'saved' until we see the
-	         next instruction.  That's because of deferred stores
-	         on this target -- GDB won't be able to read the register
-	         from the stack until one instruction later.  */
-	      delayed_store = instr;
-	      continue;
-	    }
-	  /* Not a prologue instruction.  Is this the end of the prologue?
-	     This is the most difficult decision; when to stop scanning. 
-
-	     If we have no line symbol, then the best thing we can do
-	     is to stop scanning when we encounter an instruction that
-	     is not likely to be a part of the prologue. 
-
-	     But if we do have a line symbol, then we should 
-	     keep scanning until we reach it (or we reach end_addr).  */
-
-	  if (prologue_end_addr && (prologue_end_addr > (next_addr + 4)))
-	    continue;	/* Keep scanning, recording saved_regs etc.  */
-	  else
-	    break;	/* Quit scanning: breakpoint can be set here.  */
-	}
-    }
-
-  /* Special handling for the "saved" address of the SP:
-     The SP is of course never saved on the stack at all, so
-     by convention what we put here is simply the previous 
-     _value_ of the SP (as opposed to an address where the
-     previous value would have been pushed).  This will also
-     give us the frame base address.  */
-
-  if (info->frameless_p)
-    {
-      info->frame_base = sp + info->framesize;
-      info->prev_sp = sp + info->framesize;
-    }
-  else
-    {
-      info->frame_base = fp + info->framesize;
-      info->prev_sp = fp + info->framesize;
-    }
-  /* Save prev_sp in saved_regs as a value, not as an address.  */
-  trad_frame_set_value (info->saved_regs, MT_SP_REGNUM, info->prev_sp);
-
-  /* Now convert frame offsets to actual addresses (not offsets).  */
-  for (regnum = 0; regnum < MT_NUM_REGS; regnum++)
-    if (trad_frame_addr_p (info->saved_regs, regnum))
-      info->saved_regs[regnum].addr += info->frame_base - info->framesize;
-
-  /* The call instruction moves the caller's PC in the callee's RA reg.
-     Since this is an unwind, do the reverse.  Copy the location of RA
-     into PC (the address / regnum) so that a request for PC will be
-     converted into a request for the RA.  */
-  info->saved_regs[MT_PC_REGNUM] = info->saved_regs[MT_RA_REGNUM];
-
-  return info;
-}
-
-static CORE_ADDR
-mt_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
-  ULONGEST pc;
-
-  pc = frame_unwind_register_unsigned (next_frame, MT_PC_REGNUM);
-  return pc;
-}
-
-static CORE_ADDR
-mt_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
-  ULONGEST sp;
-
-  sp = frame_unwind_register_unsigned (next_frame, MT_SP_REGNUM);
-  return sp;
-}
-
-/* Assuming THIS_FRAME is a dummy, return the frame ID of that dummy
-   frame.  The frame ID's base needs to match the TOS value saved by
-   save_dummy_frame_tos(), and the PC match the dummy frame's breakpoint.  */
-
-static struct frame_id
-mt_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
-{
-  CORE_ADDR sp = get_frame_register_unsigned (this_frame, MT_SP_REGNUM);
-  return frame_id_build (sp, get_frame_pc (this_frame));
-}
-
-/* Given a GDB frame, determine the address of the calling function's
-   frame.  This will be used to create a new GDB frame struct.  */
-
-static void
-mt_frame_this_id (struct frame_info *this_frame,
-		   void **this_prologue_cache, struct frame_id *this_id)
-{
-  struct mt_unwind_cache *info =
-    mt_frame_unwind_cache (this_frame, this_prologue_cache);
-
-  if (!(info == NULL || info->prev_sp == 0))
-    (*this_id) = frame_id_build (info->prev_sp, get_frame_func (this_frame));
-
-  return;
-}
-
-static struct value *
-mt_frame_prev_register (struct frame_info *this_frame,
-			 void **this_prologue_cache, int regnum)
-{
-  struct mt_unwind_cache *info =
-    mt_frame_unwind_cache (this_frame, this_prologue_cache);
-
-  return trad_frame_get_prev_register (this_frame, info->saved_regs, regnum);
-}
-
-static CORE_ADDR
-mt_frame_base_address (struct frame_info *this_frame,
-			void **this_prologue_cache)
-{
-  struct mt_unwind_cache *info =
-    mt_frame_unwind_cache (this_frame, this_prologue_cache);
-
-  return info->frame_base;
-}
-
-/* This is a shared interface:  the 'frame_unwind' object is what's
-   returned by the 'sniffer' function, and in turn specifies how to
-   get a frame's ID and prev_regs.
-
-   This exports the 'prev_register' and 'this_id' methods.  */
-
-static const struct frame_unwind mt_frame_unwind = {
-  NORMAL_FRAME,
-  default_frame_unwind_stop_reason,
-  mt_frame_this_id,
-  mt_frame_prev_register,
-  NULL,
-  default_frame_sniffer
-};
-
-/* Another shared interface:  the 'frame_base' object specifies how to
-   unwind a frame and secure the base addresses for frame objects
-   (locals, args).  */
-
-static struct frame_base mt_frame_base = {
-  &mt_frame_unwind,
-  mt_frame_base_address,
-  mt_frame_base_address,
-  mt_frame_base_address
-};
-
-static struct gdbarch *
-mt_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
-{
-  struct gdbarch *gdbarch;
-  struct gdbarch_tdep *tdep;
-
-  /* Find a candidate among the list of pre-declared architectures.  */
-  arches = gdbarch_list_lookup_by_info (arches, &info);
-  if (arches != NULL)
-    return arches->gdbarch;
-
-  /* None found, create a new architecture from the information
-     provided.  */
-  tdep = XCNEW (struct gdbarch_tdep);
-  gdbarch = gdbarch_alloc (&info, tdep);
-
-  set_gdbarch_float_format (gdbarch, floatformats_ieee_single);
-  set_gdbarch_double_format (gdbarch, floatformats_ieee_double);
-  set_gdbarch_long_double_format (gdbarch, floatformats_ieee_double);
-
-  set_gdbarch_register_name (gdbarch, mt_register_name);
-  set_gdbarch_num_regs (gdbarch, MT_NUM_REGS);
-  set_gdbarch_num_pseudo_regs (gdbarch, MT_NUM_PSEUDO_REGS);
-  set_gdbarch_pc_regnum (gdbarch, MT_PC_REGNUM);
-  set_gdbarch_sp_regnum (gdbarch, MT_SP_REGNUM);
-  set_gdbarch_pseudo_register_read (gdbarch, mt_pseudo_register_read);
-  set_gdbarch_pseudo_register_write (gdbarch, mt_pseudo_register_write);
-  set_gdbarch_skip_prologue (gdbarch, mt_skip_prologue);
-  set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-  set_gdbarch_breakpoint_kind_from_pc (gdbarch, mt_breakpoint_kind_from_pc);
-  set_gdbarch_sw_breakpoint_from_kind (gdbarch, mt_sw_breakpoint_from_kind);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
-  set_gdbarch_frame_args_skip (gdbarch, 0);
-  set_gdbarch_register_type (gdbarch, mt_register_type);
-  set_gdbarch_register_reggroup_p (gdbarch, mt_register_reggroup_p);
-
-  set_gdbarch_return_value (gdbarch, mt_return_value);
-  set_gdbarch_sp_regnum (gdbarch, MT_SP_REGNUM);
-
-  set_gdbarch_frame_align (gdbarch, mt_frame_align);
-
-  set_gdbarch_print_registers_info (gdbarch, mt_registers_info);
-
-  set_gdbarch_push_dummy_call (gdbarch, mt_push_dummy_call);
-
-  /* Target builtin data types.  */
-  set_gdbarch_short_bit (gdbarch, 16);
-  set_gdbarch_int_bit (gdbarch, 32);
-  set_gdbarch_long_bit (gdbarch, 32);
-  set_gdbarch_long_long_bit (gdbarch, 64);
-  set_gdbarch_float_bit (gdbarch, 32);
-  set_gdbarch_double_bit (gdbarch, 64);
-  set_gdbarch_long_double_bit (gdbarch, 64);
-  set_gdbarch_ptr_bit (gdbarch, 32);
-
-  /* Register the DWARF 2 sniffer first, and then the traditional prologue
-     based sniffer.  */
-  dwarf2_append_unwinders (gdbarch);
-  frame_unwind_append_unwinder (gdbarch, &mt_frame_unwind);
-  frame_base_set_default (gdbarch, &mt_frame_base);
-
-  /* Register the 'unwind_pc' method.  */
-  set_gdbarch_unwind_pc (gdbarch, mt_unwind_pc);
-  set_gdbarch_unwind_sp (gdbarch, mt_unwind_sp);
-
-  /* Methods for saving / extracting a dummy frame's ID.
-     The ID's stack address must match the SP value returned by
-     PUSH_DUMMY_CALL, and saved by generic_save_dummy_frame_tos.  */
-  set_gdbarch_dummy_id (gdbarch, mt_dummy_id);
-
-  return gdbarch;
-}
-
-void
-_initialize_mt_tdep (void)
-{
-  register_gdbarch_init (bfd_arch_mt, mt_gdbarch_init);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-linux.c ./gdb/nat/aarch64-linux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-linux.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/aarch64-linux.c	2018-07-10 02:06:13.000000000 +0000
@@ -45,9 +45,9 @@ aarch64_linux_prepare_to_resume (struct 
       || DR_HAS_CHANGED (info->dr_changed_wp))
     {
       ptid_t ptid = ptid_of_lwp (lwp);
-      int tid = ptid_get_lwp (ptid);
+      int tid = ptid.lwp ();
       struct aarch64_debug_reg_state *state
-	= aarch64_get_debug_reg_state (ptid_get_pid (ptid));
+	= aarch64_get_debug_reg_state (ptid.pid ());
 
       if (show_debug_regs)
 	debug_printf ("prepare_to_resume thread %d\n", tid);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-linux-hw-point.c ./gdb/nat/aarch64-linux-hw-point.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-linux-hw-point.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/aarch64-linux-hw-point.c	2018-07-10 02:06:13.000000000 +0000
@@ -34,29 +34,52 @@
 int aarch64_num_bp_regs;
 int aarch64_num_wp_regs;
 
+/* True if this kernel does not have the bug described by PR
+   external/20207 (Linux >= 4.10).  A fixed kernel supports any
+   contiguous range of bits in 8-bit byte DR_CONTROL_MASK.  A buggy
+   kernel supports only 0x01, 0x03, 0x0f and 0xff.  We start by
+   assuming the bug is fixed, and then detect the bug at
+   PTRACE_SETREGSET time.  */
+static bool kernel_supports_any_contiguous_range = true;
+
+/* Return starting byte 0..7 incl. of a watchpoint encoded by CTRL.  */
+
+unsigned int
+aarch64_watchpoint_offset (unsigned int ctrl)
+{
+  uint8_t mask = DR_CONTROL_MASK (ctrl);
+  unsigned retval;
+
+  /* Shift out bottom zeros.  */
+  for (retval = 0; mask && (mask & 1) == 0; ++retval)
+    mask >>= 1;
+
+  return retval;
+}
+
 /* Utility function that returns the length in bytes of a watchpoint
    according to the content of a hardware debug control register CTRL.
-   Note that the kernel currently only supports the following Byte
-   Address Select (BAS) values: 0x1, 0x3, 0xf and 0xff, which means
-   that for a hardware watchpoint, its valid length can only be 1
-   byte, 2 bytes, 4 bytes or 8 bytes.  */
+   Any contiguous range of bytes in CTRL is supported.  The returned
+   value can be between 0..8 (inclusive).  */
 
 unsigned int
 aarch64_watchpoint_length (unsigned int ctrl)
 {
-  switch (DR_CONTROL_LENGTH (ctrl))
-    {
-    case 0x01:
-      return 1;
-    case 0x03:
-      return 2;
-    case 0x0f:
-      return 4;
-    case 0xff:
-      return 8;
-    default:
-      return 0;
-    }
+  uint8_t mask = DR_CONTROL_MASK (ctrl);
+  unsigned retval;
+
+  /* Shift out bottom zeros.  */
+  mask >>= aarch64_watchpoint_offset (ctrl);
+
+  /* Count bottom ones.  */
+  for (retval = 0; (mask & 1) != 0; ++retval)
+    mask >>= 1;
+
+  if (mask != 0)
+    error (_("Unexpected hardware watchpoint length register value 0x%x"),
+	   DR_CONTROL_MASK (ctrl));
+
+  return retval;
 }
 
 /* Given the hardware breakpoint or watchpoint type TYPE and its
@@ -64,10 +87,13 @@ aarch64_watchpoint_length (unsigned int 
    breakpoint/watchpoint control register.  */
 
 static unsigned int
-aarch64_point_encode_ctrl_reg (enum target_hw_bp_type type, int len)
+aarch64_point_encode_ctrl_reg (enum target_hw_bp_type type, int offset, int len)
 {
   unsigned int ctrl, ttype;
 
+  gdb_assert (offset == 0 || kernel_supports_any_contiguous_range);
+  gdb_assert (offset + len <= AARCH64_HWP_MAX_LEN_PER_REG);
+
   /* type */
   switch (type)
     {
@@ -89,8 +115,8 @@ aarch64_point_encode_ctrl_reg (enum targ
 
   ctrl = ttype << 3;
 
-  /* length bitmask */
-  ctrl |= ((1 << len) - 1) << 5;
+  /* offset and length bitmask */
+  ctrl |= ((1 << len) - 1) << (5 + offset);
   /* enabled at el0 */
   ctrl |= (2 << 1) | 1;
 
@@ -134,58 +160,65 @@ aarch64_point_is_aligned (int is_watchpo
   if (addr & (alignment - 1))
     return 0;
 
-  if (len != 8 && len != 4 && len != 2 && len != 1)
+  if ((!kernel_supports_any_contiguous_range
+       && len != 8 && len != 4 && len != 2 && len != 1)
+      || (kernel_supports_any_contiguous_range
+	  && (len < 1 || len > 8)))
     return 0;
 
   return 1;
 }
 
 /* Given the (potentially unaligned) watchpoint address in ADDR and
-   length in LEN, return the aligned address and aligned length in
-   *ALIGNED_ADDR_P and *ALIGNED_LEN_P, respectively.  The returned
-   aligned address and length will be valid values to write to the
-   hardware watchpoint value and control registers.
+   length in LEN, return the aligned address, offset from that base
+   address, and aligned length in *ALIGNED_ADDR_P, *ALIGNED_OFFSET_P
+   and *ALIGNED_LEN_P, respectively.  The returned values will be
+   valid values to write to the hardware watchpoint value and control
+   registers.
 
    The given watchpoint may get truncated if more than one hardware
    register is needed to cover the watched region.  *NEXT_ADDR_P
    and *NEXT_LEN_P, if non-NULL, will return the address and length
    of the remaining part of the watchpoint (which can be processed
-   by calling this routine again to generate another aligned address
-   and length pair.
+   by calling this routine again to generate another aligned address,
+   offset and length tuple.
 
    Essentially, unaligned watchpoint is achieved by minimally
    enlarging the watched area to meet the alignment requirement, and
    if necessary, splitting the watchpoint over several hardware
-   watchpoint registers.  The trade-off is that there will be
-   false-positive hits for the read-type or the access-type hardware
-   watchpoints; for the write type, which is more commonly used, there
-   will be no such issues, as the higher-level breakpoint management
-   in gdb always examines the exact watched region for any content
-   change, and transparently resumes a thread from a watchpoint trap
-   if there is no change to the watched region.
+   watchpoint registers.
+
+   On kernels that predate the support for Byte Address Select (BAS)
+   in the hardware watchpoint control register, the offset from the
+   base address is always zero, and so in that case the trade-off is
+   that there will be false-positive hits for the read-type or the
+   access-type hardware watchpoints; for the write type, which is more
+   commonly used, there will be no such issues, as the higher-level
+   breakpoint management in gdb always examines the exact watched
+   region for any content change, and transparently resumes a thread
+   from a watchpoint trap if there is no change to the watched region.
 
    Another limitation is that because the watched region is enlarged,
-   the watchpoint fault address returned by
+   the watchpoint fault address discovered by
    aarch64_stopped_data_address may be outside of the original watched
    region, especially when the triggering instruction is accessing a
    larger region.  When the fault address is not within any known
    range, watchpoints_triggered in gdb will get confused, as the
    higher-level watchpoint management is only aware of original
    watched regions, and will think that some unknown watchpoint has
-   been triggered.  In such a case, gdb may stop without displaying
-   any detailed information.
-
-   Once the kernel provides the full support for Byte Address Select
-   (BAS) in the hardware watchpoint control register, these
-   limitations can be largely relaxed with some further work.  */
+   been triggered.  To prevent such a case,
+   aarch64_stopped_data_address implementations in gdb and gdbserver
+   try to match the trapped address with a watched region, and return
+   an address within the latter. */
 
 static void
 aarch64_align_watchpoint (CORE_ADDR addr, int len, CORE_ADDR *aligned_addr_p,
-			  int *aligned_len_p, CORE_ADDR *next_addr_p,
-			  int *next_len_p)
+			  int *aligned_offset_p, int *aligned_len_p,
+			  CORE_ADDR *next_addr_p, int *next_len_p,
+			  CORE_ADDR *next_addr_orig_p)
 {
   int aligned_len;
-  unsigned int offset;
+  unsigned int offset, aligned_offset;
   CORE_ADDR aligned_addr;
   const unsigned int alignment = AARCH64_HWP_ALIGNMENT;
   const unsigned int max_wp_len = AARCH64_HWP_MAX_LEN_PER_REG;
@@ -196,10 +229,12 @@ aarch64_align_watchpoint (CORE_ADDR addr
   if (len <= 0)
     return;
 
-  /* Address to be put into the hardware watchpoint value register
-     must be aligned.  */
+  /* The address put into the hardware watchpoint value register must
+     be aligned.  */
   offset = addr & (alignment - 1);
   aligned_addr = addr - offset;
+  aligned_offset
+    = kernel_supports_any_contiguous_range ? addr & (alignment - 1) : 0;
 
   gdb_assert (offset >= 0 && offset < alignment);
   gdb_assert (aligned_addr >= 0 && aligned_addr <= addr);
@@ -207,9 +242,10 @@ aarch64_align_watchpoint (CORE_ADDR addr
 
   if (offset + len >= max_wp_len)
     {
-      /* Need more than one watchpoint registers; truncate it at the
+      /* Need more than one watchpoint register; truncate at the
 	 alignment boundary.  */
-      aligned_len = max_wp_len;
+      aligned_len
+	= max_wp_len - (kernel_supports_any_contiguous_range ? offset : 0);
       len -= (max_wp_len - offset);
       addr += (max_wp_len - offset);
       gdb_assert ((addr & (alignment - 1)) == 0);
@@ -222,19 +258,24 @@ aarch64_align_watchpoint (CORE_ADDR addr
 	aligned_len_array[AARCH64_HWP_MAX_LEN_PER_REG] =
 	{ 1, 2, 4, 4, 8, 8, 8, 8 };
 
-      aligned_len = aligned_len_array[offset + len - 1];
+      aligned_len = (kernel_supports_any_contiguous_range
+		     ? len : aligned_len_array[offset + len - 1]);
       addr += len;
       len = 0;
     }
 
   if (aligned_addr_p)
     *aligned_addr_p = aligned_addr;
+  if (aligned_offset_p)
+    *aligned_offset_p = aligned_offset;
   if (aligned_len_p)
     *aligned_len_p = aligned_len;
   if (next_addr_p)
     *next_addr_p = addr;
   if (next_len_p)
     *next_len_p = len;
+  if (next_addr_orig_p)
+    *next_addr_orig_p = align_down (*next_addr_orig_p + alignment, alignment);
 }
 
 struct aarch64_dr_update_callback_param
@@ -255,7 +296,7 @@ debug_reg_change_callback (struct lwp_in
 {
   struct aarch64_dr_update_callback_param *param_p
     = (struct aarch64_dr_update_callback_param *) ptr;
-  int tid = ptid_get_lwp (ptid_of_lwp (lwp));
+  int tid = ptid_of_lwp (lwp).lwp ();
   int idx = param_p->idx;
   int is_watchpoint = param_p->is_watchpoint;
   struct arch_lwp_info *info = lwp_arch_private_info (lwp);
@@ -316,7 +357,7 @@ aarch64_notify_debug_reg_change (const s
 				 int is_watchpoint, unsigned int idx)
 {
   struct aarch64_dr_update_callback_param param;
-  ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (current_lwp_ptid ()));
+  ptid_t pid_ptid = ptid_t (current_lwp_ptid ().pid ());
 
   param.is_watchpoint = is_watchpoint;
   param.idx = idx;
@@ -324,17 +365,73 @@ aarch64_notify_debug_reg_change (const s
   iterate_over_lwps (pid_ptid, debug_reg_change_callback, (void *) &param);
 }
 
+/* Reconfigure STATE to be compatible with Linux kernels with the PR
+   external/20207 bug.  This is called when
+   KERNEL_SUPPORTS_ANY_CONTIGUOUS_RANGE transitions to false.  Note we
+   don't try to support combining watchpoints with matching (and thus
+   shared) masks, as it's too late when we get here.  On buggy
+   kernels, GDB will try to first setup the perfect matching ranges,
+   which will run out of registers before this function can merge
+   them.  It doesn't look like worth the effort to improve that, given
+   eventually buggy kernels will be phased out.  */
+
+static void
+aarch64_downgrade_regs (struct aarch64_debug_reg_state *state)
+{
+  for (int i = 0; i < aarch64_num_wp_regs; ++i)
+    if ((state->dr_ctrl_wp[i] & 1) != 0)
+      {
+	gdb_assert (state->dr_ref_count_wp[i] != 0);
+	uint8_t mask_orig = (state->dr_ctrl_wp[i] >> 5) & 0xff;
+	gdb_assert (mask_orig != 0);
+	static const uint8_t old_valid[] = { 0x01, 0x03, 0x0f, 0xff };
+	uint8_t mask = 0;
+	for (const uint8_t old_mask : old_valid)
+	  if (mask_orig <= old_mask)
+	    {
+	      mask = old_mask;
+	      break;
+	    }
+	gdb_assert (mask != 0);
+
+	/* No update needed for this watchpoint?  */
+	if (mask == mask_orig)
+	  continue;
+	state->dr_ctrl_wp[i] |= mask << 5;
+	state->dr_addr_wp[i]
+	  = align_down (state->dr_addr_wp[i], AARCH64_HWP_ALIGNMENT);
+
+	/* Try to match duplicate entries.  */
+	for (int j = 0; j < i; ++j)
+	  if ((state->dr_ctrl_wp[j] & 1) != 0
+	      && state->dr_addr_wp[j] == state->dr_addr_wp[i]
+	      && state->dr_addr_orig_wp[j] == state->dr_addr_orig_wp[i]
+	      && state->dr_ctrl_wp[j] == state->dr_ctrl_wp[i])
+	    {
+	      state->dr_ref_count_wp[j] += state->dr_ref_count_wp[i];
+	      state->dr_ref_count_wp[i] = 0;
+	      state->dr_addr_wp[i] = 0;
+	      state->dr_addr_orig_wp[i] = 0;
+	      state->dr_ctrl_wp[i] &= ~1;
+	      break;
+	    }
+
+	aarch64_notify_debug_reg_change (state, 1 /* is_watchpoint */, i);
+      }
+}
+
 /* Record the insertion of one breakpoint/watchpoint, as represented
    by ADDR and CTRL, in the process' arch-specific data area *STATE.  */
 
 static int
 aarch64_dr_state_insert_one_point (struct aarch64_debug_reg_state *state,
 				   enum target_hw_bp_type type,
-				   CORE_ADDR addr, int len)
+				   CORE_ADDR addr, int offset, int len,
+				   CORE_ADDR addr_orig)
 {
   int i, idx, num_regs, is_watchpoint;
   unsigned int ctrl, *dr_ctrl_p, *dr_ref_count;
-  CORE_ADDR *dr_addr_p;
+  CORE_ADDR *dr_addr_p, *dr_addr_orig_p;
 
   /* Set up state pointers.  */
   is_watchpoint = (type != hw_execute);
@@ -343,6 +440,7 @@ aarch64_dr_state_insert_one_point (struc
     {
       num_regs = aarch64_num_wp_regs;
       dr_addr_p = state->dr_addr_wp;
+      dr_addr_orig_p = state->dr_addr_orig_wp;
       dr_ctrl_p = state->dr_ctrl_wp;
       dr_ref_count = state->dr_ref_count_wp;
     }
@@ -350,11 +448,12 @@ aarch64_dr_state_insert_one_point (struc
     {
       num_regs = aarch64_num_bp_regs;
       dr_addr_p = state->dr_addr_bp;
+      dr_addr_orig_p = nullptr;
       dr_ctrl_p = state->dr_ctrl_bp;
       dr_ref_count = state->dr_ref_count_bp;
     }
 
-  ctrl = aarch64_point_encode_ctrl_reg (type, len);
+  ctrl = aarch64_point_encode_ctrl_reg (type, offset, len);
 
   /* Find an existing or free register in our cache.  */
   idx = -1;
@@ -366,7 +465,9 @@ aarch64_dr_state_insert_one_point (struc
 	  idx = i;
 	  /* no break; continue hunting for an exising one.  */
 	}
-      else if (dr_addr_p[i] == addr && dr_ctrl_p[i] == ctrl)
+      else if (dr_addr_p[i] == addr
+	       && (dr_addr_orig_p == nullptr || dr_addr_orig_p[i] == addr_orig)
+	       && dr_ctrl_p[i] == ctrl)
 	{
 	  gdb_assert (dr_ref_count[i] != 0);
 	  idx = i;
@@ -383,6 +484,8 @@ aarch64_dr_state_insert_one_point (struc
     {
       /* new entry */
       dr_addr_p[idx] = addr;
+      if (dr_addr_orig_p != nullptr)
+	dr_addr_orig_p[idx] = addr_orig;
       dr_ctrl_p[idx] = ctrl;
       dr_ref_count[idx] = 1;
       /* Notify the change.  */
@@ -403,11 +506,12 @@ aarch64_dr_state_insert_one_point (struc
 static int
 aarch64_dr_state_remove_one_point (struct aarch64_debug_reg_state *state,
 				   enum target_hw_bp_type type,
-				   CORE_ADDR addr, int len)
+				   CORE_ADDR addr, int offset, int len,
+				   CORE_ADDR addr_orig)
 {
   int i, num_regs, is_watchpoint;
   unsigned int ctrl, *dr_ctrl_p, *dr_ref_count;
-  CORE_ADDR *dr_addr_p;
+  CORE_ADDR *dr_addr_p, *dr_addr_orig_p;
 
   /* Set up state pointers.  */
   is_watchpoint = (type != hw_execute);
@@ -415,6 +519,7 @@ aarch64_dr_state_remove_one_point (struc
     {
       num_regs = aarch64_num_wp_regs;
       dr_addr_p = state->dr_addr_wp;
+      dr_addr_orig_p = state->dr_addr_orig_wp;
       dr_ctrl_p = state->dr_ctrl_wp;
       dr_ref_count = state->dr_ref_count_wp;
     }
@@ -422,15 +527,18 @@ aarch64_dr_state_remove_one_point (struc
     {
       num_regs = aarch64_num_bp_regs;
       dr_addr_p = state->dr_addr_bp;
+      dr_addr_orig_p = nullptr;
       dr_ctrl_p = state->dr_ctrl_bp;
       dr_ref_count = state->dr_ref_count_bp;
     }
 
-  ctrl = aarch64_point_encode_ctrl_reg (type, len);
+  ctrl = aarch64_point_encode_ctrl_reg (type, offset, len);
 
   /* Find the entry that matches the ADDR and CTRL.  */
   for (i = 0; i < num_regs; ++i)
-    if (dr_addr_p[i] == addr && dr_ctrl_p[i] == ctrl)
+    if (dr_addr_p[i] == addr
+	&& (dr_addr_orig_p == nullptr || dr_addr_orig_p[i] == addr_orig)
+	&& dr_ctrl_p[i] == ctrl)
       {
 	gdb_assert (dr_ref_count[i] != 0);
 	break;
@@ -446,6 +554,8 @@ aarch64_dr_state_remove_one_point (struc
       /* Clear the enable bit.  */
       ctrl &= ~1;
       dr_addr_p[i] = 0;
+      if (dr_addr_orig_p != nullptr)
+	dr_addr_orig_p[i] = 0;
       dr_ctrl_p[i] = ctrl;
       /* Notify the change.  */
       aarch64_notify_debug_reg_change (state, is_watchpoint, i);
@@ -472,10 +582,10 @@ aarch64_handle_breakpoint (enum target_h
       if (!aarch64_point_is_aligned (0 /* is_watchpoint */ , addr, len))
 	return -1;
 
-      return aarch64_dr_state_insert_one_point (state, type, addr, len);
+      return aarch64_dr_state_insert_one_point (state, type, addr, 0, len, -1);
     }
   else
-    return aarch64_dr_state_remove_one_point (state, type, addr, len);
+    return aarch64_dr_state_remove_one_point (state, type, addr, 0, len, -1);
 }
 
 /* This is essentially the same as aarch64_handle_breakpoint, apart
@@ -487,9 +597,9 @@ aarch64_handle_aligned_watchpoint (enum 
 				   struct aarch64_debug_reg_state *state)
 {
   if (is_insert)
-    return aarch64_dr_state_insert_one_point (state, type, addr, len);
+    return aarch64_dr_state_insert_one_point (state, type, addr, 0, len, addr);
   else
-    return aarch64_dr_state_remove_one_point (state, type, addr, len);
+    return aarch64_dr_state_remove_one_point (state, type, addr, 0, len, addr);
 }
 
 /* Insert/remove unaligned watchpoint by calling
@@ -504,29 +614,42 @@ aarch64_handle_unaligned_watchpoint (enu
 				     CORE_ADDR addr, int len, int is_insert,
 				     struct aarch64_debug_reg_state *state)
 {
+  CORE_ADDR addr_orig = addr;
+
   while (len > 0)
     {
       CORE_ADDR aligned_addr;
-      int aligned_len, ret;
+      int aligned_offset, aligned_len, ret;
+      CORE_ADDR addr_orig_next = addr_orig;
 
-      aarch64_align_watchpoint (addr, len, &aligned_addr, &aligned_len,
-				&addr, &len);
+      aarch64_align_watchpoint (addr, len, &aligned_addr, &aligned_offset,
+				&aligned_len, &addr, &len, &addr_orig_next);
 
       if (is_insert)
 	ret = aarch64_dr_state_insert_one_point (state, type, aligned_addr,
-						 aligned_len);
+						 aligned_offset,
+						 aligned_len, addr_orig);
       else
 	ret = aarch64_dr_state_remove_one_point (state, type, aligned_addr,
-						 aligned_len);
+						 aligned_offset,
+						 aligned_len, addr_orig);
 
       if (show_debug_regs)
 	debug_printf ("handle_unaligned_watchpoint: is_insert: %d\n"
 		      "                             "
 		      "aligned_addr: %s, aligned_len: %d\n"
 		      "                                "
-		      "next_addr: %s,    next_len: %d\n",
+		      "addr_orig: %s\n"
+		      "                                "
+		      "next_addr: %s,    next_len: %d\n"
+		      "                           "
+		      "addr_orig_next: %s\n",
 		      is_insert, core_addr_to_string_nz (aligned_addr),
-		      aligned_len, core_addr_to_string_nz (addr), len);
+		      aligned_len, core_addr_to_string_nz (addr_orig),
+		      core_addr_to_string_nz (addr), len,
+		      core_addr_to_string_nz (addr_orig_next));
+
+      addr_orig = addr_orig_next;
 
       if (ret != 0)
 	return ret;
@@ -552,7 +675,7 @@ aarch64_handle_watchpoint (enum target_h
    registers with data from *STATE.  */
 
 void
-aarch64_linux_set_debug_regs (const struct aarch64_debug_reg_state *state,
+aarch64_linux_set_debug_regs (struct aarch64_debug_reg_state *state,
 			      int tid, int watchpoint)
 {
   int i, count;
@@ -580,7 +703,18 @@ aarch64_linux_set_debug_regs (const stru
   if (ptrace (PTRACE_SETREGSET, tid,
 	      watchpoint ? NT_ARM_HW_WATCH : NT_ARM_HW_BREAK,
 	      (void *) &iov))
-    error (_("Unexpected error setting hardware debug registers"));
+    {
+      /* Handle Linux kernels with the PR external/20207 bug.  */
+      if (watchpoint && errno == EINVAL
+	  && kernel_supports_any_contiguous_range)
+	{
+	  kernel_supports_any_contiguous_range = false;
+	  aarch64_downgrade_regs (state);
+	  aarch64_linux_set_debug_regs (state, tid, watchpoint);
+	  return;
+	}
+      error (_("Unexpected error setting hardware debug registers"));
+    }
 }
 
 /* Print the values of the cached breakpoint/watchpoint registers.  */
@@ -611,8 +745,9 @@ aarch64_show_debug_reg_state (struct aar
 
   debug_printf ("\tWATCHPOINTs:\n");
   for (i = 0; i < aarch64_num_wp_regs; i++)
-    debug_printf ("\tWP%d: addr=%s, ctrl=0x%08x, ref.count=%d\n",
+    debug_printf ("\tWP%d: addr=%s (orig=%s), ctrl=0x%08x, ref.count=%d\n",
 		  i, core_addr_to_string_nz (state->dr_addr_wp[i]),
+		  core_addr_to_string_nz (state->dr_addr_orig_wp[i]),
 		  state->dr_ctrl_wp[i], state->dr_ref_count_wp[i]);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-linux-hw-point.h ./gdb/nat/aarch64-linux-hw-point.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-linux-hw-point.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/aarch64-linux-hw-point.h	2018-07-10 02:06:13.000000000 +0000
@@ -77,13 +77,13 @@
 
    31                             13          5      3      1     0
    +--------------------------------+----------+------+------+----+
-   |         RESERVED (SBZ)         |  LENGTH  | TYPE | PRIV | EN |
+   |         RESERVED (SBZ)         |   MASK   | TYPE | PRIV | EN |
    +--------------------------------+----------+------+------+----+
 
    The TYPE field is ignored for breakpoints.  */
 
 #define DR_CONTROL_ENABLED(ctrl)	(((ctrl) & 0x1) == 1)
-#define DR_CONTROL_LENGTH(ctrl)		(((ctrl) >> 5) & 0xff)
+#define DR_CONTROL_MASK(ctrl)		(((ctrl) >> 5) & 0xff)
 
 /* Each bit of a variable of this type is used to indicate whether a
    hardware breakpoint or watchpoint setting has been changed since
@@ -147,7 +147,10 @@ struct aarch64_debug_reg_state
   unsigned int dr_ref_count_bp[AARCH64_HBP_MAX_NUM];
 
   /* hardware watchpoint */
+  /* Address aligned down to AARCH64_HWP_ALIGNMENT.  */
   CORE_ADDR dr_addr_wp[AARCH64_HWP_MAX_NUM];
+  /* Address as entered by user without any forced alignment.  */
+  CORE_ADDR dr_addr_orig_wp[AARCH64_HWP_MAX_NUM];
   unsigned int dr_ctrl_wp[AARCH64_HWP_MAX_NUM];
   unsigned int dr_ref_count_wp[AARCH64_HWP_MAX_NUM];
 };
@@ -166,6 +169,7 @@ struct arch_lwp_info
 extern int aarch64_num_bp_regs;
 extern int aarch64_num_wp_regs;
 
+unsigned int aarch64_watchpoint_offset (unsigned int ctrl);
 unsigned int aarch64_watchpoint_length (unsigned int ctrl);
 
 int aarch64_handle_breakpoint (enum target_hw_bp_type type, CORE_ADDR addr,
@@ -175,7 +179,7 @@ int aarch64_handle_watchpoint (enum targ
 			       int len, int is_insert,
 			       struct aarch64_debug_reg_state *state);
 
-void aarch64_linux_set_debug_regs (const struct aarch64_debug_reg_state *state,
+void aarch64_linux_set_debug_regs (struct aarch64_debug_reg_state *state,
 				   int tid, int watchpoint);
 
 void aarch64_show_debug_reg_state (struct aarch64_debug_reg_state *state,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-sve-linux-ptrace.c ./gdb/nat/aarch64-sve-linux-ptrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-sve-linux-ptrace.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/aarch64-sve-linux-ptrace.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,325 @@
+/* Common target dependent for AArch64 systems.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <sys/utsname.h>
+#include <sys/uio.h>
+#include "common-defs.h"
+#include "elf/external.h"
+#include "elf/common.h"
+#include "aarch64-sve-linux-ptrace.h"
+#include "arch/aarch64.h"
+#include "common-regcache.h"
+#include "common/byte-vector.h"
+
+static bool vq_change_warned = false;
+
+/* See nat/aarch64-sve-linux-ptrace.h.  */
+
+uint64_t
+aarch64_sve_get_vq (int tid)
+{
+  struct iovec iovec;
+  struct user_sve_header header;
+
+  iovec.iov_len = sizeof (header);
+  iovec.iov_base = &header;
+
+  /* Ptrace gives the vector length in bytes.  Convert it to VQ, the number of
+     128bit chunks in a Z register.  We use VQ because 128bits is the minimum
+     a Z register can increase in size.  */
+
+  if (ptrace (PTRACE_GETREGSET, tid, NT_ARM_SVE, &iovec) < 0)
+    {
+      /* SVE is not supported.  */
+      return 0;
+    }
+
+  uint64_t vq = sve_vq_from_vl (header.vl);
+
+  if (!sve_vl_valid (header.vl))
+    {
+      warning (_("Invalid SVE state from kernel; SVE disabled."));
+      return 0;
+    }
+
+  return vq;
+}
+
+/* See nat/aarch64-sve-linux-ptrace.h.  */
+
+std::unique_ptr<gdb_byte[]>
+aarch64_sve_get_sveregs (int tid)
+{
+  struct iovec iovec;
+  struct user_sve_header header;
+  uint64_t vq = aarch64_sve_get_vq (tid);
+
+  if (vq == 0)
+    perror_with_name (_("Unable to fetch SVE register header"));
+
+  /* A ptrace call with NT_ARM_SVE will return a header followed by either a
+     dump of all the SVE and FP registers, or an fpsimd structure (identical to
+     the one returned by NT_FPREGSET) if the kernel has not yet executed any
+     SVE code.  Make sure we allocate enough space for a full SVE dump.  */
+
+  iovec.iov_len = SVE_PT_SIZE (vq, SVE_PT_REGS_SVE);
+  std::unique_ptr<gdb_byte[]> buf (new gdb_byte[iovec.iov_len]);
+  iovec.iov_base = buf.get ();
+
+  if (ptrace (PTRACE_GETREGSET, tid, NT_ARM_SVE, &iovec) < 0)
+    perror_with_name (_("Unable to fetch SVE registers"));
+
+  return buf;
+}
+
+/* See nat/aarch64-sve-linux-ptrace.h.  */
+
+void
+aarch64_sve_regs_copy_to_reg_buf (struct reg_buffer_common *reg_buf,
+				  const void *buf)
+{
+  char *base = (char *) buf;
+  struct user_sve_header *header = (struct user_sve_header *) buf;
+  uint64_t vq, vg_reg_buf = 0;
+
+  vq = sve_vq_from_vl (header->vl);
+
+  /* Sanity check the data in the header.  */
+  if (!sve_vl_valid (header->vl)
+      || SVE_PT_SIZE (vq, header->flags) != header->size)
+    error (_("Invalid SVE header from kernel."));
+
+  if (REG_VALID == reg_buf->get_register_status (AARCH64_SVE_VG_REGNUM))
+    reg_buf->raw_collect (AARCH64_SVE_VG_REGNUM, &vg_reg_buf);
+
+  if (vg_reg_buf == 0)
+    {
+      /* VG has not been set.  */
+      vg_reg_buf = sve_vg_from_vl (header->vl);
+      reg_buf->raw_supply (AARCH64_SVE_VG_REGNUM, &vg_reg_buf);
+    }
+  else if (vg_reg_buf != sve_vg_from_vl (header->vl) && !vq_change_warned)
+    {
+      /* Vector length on the running process has changed.  GDB currently does
+	 not support this and will result in GDB showing incorrect partially
+	 incorrect data for the vector registers.  Warn once and continue.  We
+	 do not expect many programs to exhibit this behaviour.  To fix this
+	 we need to spot the change earlier and generate a new target
+	 descriptor.  */
+      warning (_("SVE Vector length has changed (%ld to %d). "
+		 "Vector registers may show incorrect data."),
+	       vg_reg_buf, sve_vg_from_vl (header->vl));
+      vq_change_warned = true;
+    }
+
+  if (HAS_SVE_STATE (*header))
+    {
+      /* The register dump contains a set of SVE registers.  */
+
+      for (int i = 0; i < AARCH64_SVE_Z_REGS_NUM; i++)
+	reg_buf->raw_supply (AARCH64_SVE_Z0_REGNUM + i,
+			     base + SVE_PT_SVE_ZREG_OFFSET (vq, i));
+
+      for (int i = 0; i < AARCH64_SVE_P_REGS_NUM; i++)
+	reg_buf->raw_supply (AARCH64_SVE_P0_REGNUM + i,
+			     base + SVE_PT_SVE_PREG_OFFSET (vq, i));
+
+      reg_buf->raw_supply (AARCH64_SVE_FFR_REGNUM,
+			   base + SVE_PT_SVE_FFR_OFFSET (vq));
+      reg_buf->raw_supply (AARCH64_FPSR_REGNUM,
+			   base + SVE_PT_SVE_FPSR_OFFSET (vq));
+      reg_buf->raw_supply (AARCH64_FPCR_REGNUM,
+			   base + SVE_PT_SVE_FPCR_OFFSET (vq));
+    }
+  else
+    {
+      /* There is no SVE state yet - the register dump contains a fpsimd
+	 structure instead.  These registers still exist in the hardware, but
+	 the kernel has not yet initialised them, and so they will be null.  */
+
+      char *zero_reg = (char *) alloca (SVE_PT_SVE_ZREG_SIZE (vq));
+      struct user_fpsimd_state *fpsimd
+	= (struct user_fpsimd_state *)(base + SVE_PT_FPSIMD_OFFSET);
+
+      /* Copy across the V registers from fpsimd structure to the Z registers,
+	 ensuring the non overlapping state is set to null.  */
+
+      memset (zero_reg, 0, SVE_PT_SVE_ZREG_SIZE (vq));
+
+      for (int i = 0; i < AARCH64_SVE_Z_REGS_NUM; i++)
+	{
+	  memcpy (zero_reg, &fpsimd->vregs[i], sizeof (__int128_t));
+	  reg_buf->raw_supply (AARCH64_SVE_Z0_REGNUM + i, zero_reg);
+	}
+
+      reg_buf->raw_supply (AARCH64_FPSR_REGNUM, &fpsimd->fpsr);
+      reg_buf->raw_supply (AARCH64_FPCR_REGNUM, &fpsimd->fpcr);
+
+      /* Clear the SVE only registers.  */
+
+      for (int i = 0; i < AARCH64_SVE_P_REGS_NUM; i++)
+	reg_buf->raw_supply (AARCH64_SVE_P0_REGNUM + i, zero_reg);
+
+      reg_buf->raw_supply (AARCH64_SVE_FFR_REGNUM, zero_reg);
+    }
+}
+
+/* See nat/aarch64-sve-linux-ptrace.h.  */
+
+void
+aarch64_sve_regs_copy_from_reg_buf (const struct reg_buffer_common *reg_buf,
+				    void *buf)
+{
+  struct user_sve_header *header = (struct user_sve_header *) buf;
+  char *base = (char *) buf;
+  uint64_t vq, vg_reg_buf = 0;
+
+  vq = sve_vq_from_vl (header->vl);
+
+  /* Sanity check the data in the header.  */
+  if (!sve_vl_valid (header->vl)
+      || SVE_PT_SIZE (vq, header->flags) != header->size)
+    error (_("Invalid SVE header from kernel."));
+
+  if (REG_VALID == reg_buf->get_register_status (AARCH64_SVE_VG_REGNUM))
+    reg_buf->raw_collect (AARCH64_SVE_VG_REGNUM, &vg_reg_buf);
+
+  if (vg_reg_buf != 0 && vg_reg_buf != sve_vg_from_vl (header->vl))
+    {
+      /* Vector length on the running process has changed.  GDB currently does
+	 not support this and will result in GDB writing invalid data back to
+	 the vector registers.  Error and exit.  We do not expect many programs
+	 to exhibit this behaviour.  To fix this we need to spot the change
+	 earlier and generate a new target descriptor.  */
+      error (_("SVE Vector length has changed (%ld to %d). "
+	       "Cannot write back registers."),
+	     vg_reg_buf, sve_vg_from_vl (header->vl));
+    }
+
+  if (!HAS_SVE_STATE (*header))
+    {
+      /* There is no SVE state yet - the register dump contains a fpsimd
+	 structure instead.  Where possible we want to write the reg_buf data
+	 back to the kernel using the fpsimd structure.  However, if we cannot
+	 then we'll need to reformat the fpsimd into a full SVE structure,
+	 resulting in the initialization of SVE state written back to the
+	 kernel, which is why we try to avoid it.  */
+
+      bool has_sve_state = false;
+      char *zero_reg = (char *) alloca (SVE_PT_SVE_ZREG_SIZE (vq));
+      struct user_fpsimd_state *fpsimd
+	= (struct user_fpsimd_state *)(base + SVE_PT_FPSIMD_OFFSET);
+
+      memset (zero_reg, 0, SVE_PT_SVE_ZREG_SIZE (vq));
+
+      /* Check in the reg_buf if any of the Z registers are set after the
+	 first 128 bits, or if any of the other SVE registers are set.  */
+
+      for (int i = 0; i < AARCH64_SVE_Z_REGS_NUM; i++)
+	{
+	  has_sve_state |= reg_buf->raw_compare (AARCH64_SVE_Z0_REGNUM + i,
+						 zero_reg, sizeof (__int128_t));
+	  if (has_sve_state)
+	    break;
+	}
+
+      if (!has_sve_state)
+	for (int i = 0; i < AARCH64_SVE_P_REGS_NUM; i++)
+	  {
+	    has_sve_state |= reg_buf->raw_compare (AARCH64_SVE_P0_REGNUM + i,
+						   zero_reg, 0);
+	    if (has_sve_state)
+	      break;
+	  }
+
+      if (!has_sve_state)
+	  has_sve_state |= reg_buf->raw_compare (AARCH64_SVE_FFR_REGNUM,
+						 zero_reg, 0);
+
+      /* If no SVE state exists, then use the existing fpsimd structure to
+	 write out state and return.  */
+      if (!has_sve_state)
+	{
+	  /* The collects of the Z registers will overflow the size of a vreg.
+	     There is enough space in the structure to allow for this, but we
+	     cannot overflow into the next register as we might not be
+	     collecting every register.  */
+
+	  for (int i = 0; i < AARCH64_SVE_Z_REGS_NUM; i++)
+	    {
+	      if (REG_VALID
+		  == reg_buf->get_register_status (AARCH64_SVE_Z0_REGNUM + i))
+		{
+		  reg_buf->raw_collect (AARCH64_SVE_Z0_REGNUM + i, zero_reg);
+		  memcpy (&fpsimd->vregs[i], zero_reg, sizeof (__int128_t));
+		}
+	    }
+
+	  if (REG_VALID == reg_buf->get_register_status (AARCH64_FPSR_REGNUM))
+	    reg_buf->raw_collect (AARCH64_FPSR_REGNUM, &fpsimd->fpsr);
+	  if (REG_VALID == reg_buf->get_register_status (AARCH64_FPCR_REGNUM))
+	    reg_buf->raw_collect (AARCH64_FPCR_REGNUM, &fpsimd->fpcr);
+
+	  return;
+	}
+
+      /* Otherwise, reformat the fpsimd structure into a full SVE set, by
+	 expanding the V registers (working backwards so we don't splat
+	 registers before they are copied) and using null for everything else.
+	 Note that enough space for a full SVE dump was originally allocated
+	 for base.  */
+
+      header->flags |= SVE_PT_REGS_SVE;
+      header->size = SVE_PT_SIZE (vq, SVE_PT_REGS_SVE);
+
+      memcpy (base + SVE_PT_SVE_FPSR_OFFSET (vq), &fpsimd->fpsr,
+	      sizeof (uint32_t));
+      memcpy (base + SVE_PT_SVE_FPCR_OFFSET (vq), &fpsimd->fpcr,
+	      sizeof (uint32_t));
+
+      for (int i = AARCH64_SVE_Z_REGS_NUM; i >= 0 ; i--)
+	{
+	  memcpy (base + SVE_PT_SVE_ZREG_OFFSET (vq, i), &fpsimd->vregs[i],
+		  sizeof (__int128_t));
+	}
+    }
+
+  /* Replace the kernel values with those from reg_buf.  */
+
+  for (int i = 0; i < AARCH64_SVE_Z_REGS_NUM; i++)
+    if (REG_VALID == reg_buf->get_register_status (AARCH64_SVE_Z0_REGNUM + i))
+      reg_buf->raw_collect (AARCH64_SVE_Z0_REGNUM + i,
+			    base + SVE_PT_SVE_ZREG_OFFSET (vq, i));
+
+  for (int i = 0; i < AARCH64_SVE_P_REGS_NUM; i++)
+    if (REG_VALID == reg_buf->get_register_status (AARCH64_SVE_P0_REGNUM + i))
+      reg_buf->raw_collect (AARCH64_SVE_P0_REGNUM + i,
+			    base + SVE_PT_SVE_PREG_OFFSET (vq, i));
+
+  if (REG_VALID == reg_buf->get_register_status (AARCH64_SVE_FFR_REGNUM))
+    reg_buf->raw_collect (AARCH64_SVE_FFR_REGNUM,
+			  base + SVE_PT_SVE_FFR_OFFSET (vq));
+  if (REG_VALID == reg_buf->get_register_status (AARCH64_FPSR_REGNUM))
+    reg_buf->raw_collect (AARCH64_FPSR_REGNUM,
+			  base + SVE_PT_SVE_FPSR_OFFSET (vq));
+  if (REG_VALID == reg_buf->get_register_status (AARCH64_FPCR_REGNUM))
+    reg_buf->raw_collect (AARCH64_FPCR_REGNUM,
+			  base + SVE_PT_SVE_FPCR_OFFSET (vq));
+
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-sve-linux-ptrace.h ./gdb/nat/aarch64-sve-linux-ptrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-sve-linux-ptrace.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/aarch64-sve-linux-ptrace.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,58 @@
+/* Common target dependent for AArch64 systems.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef AARCH64_SVE_LINUX_PTRACE_H
+#define AARCH64_SVE_LINUX_PTRACE_H
+
+#include <asm/sigcontext.h>
+#include <sys/utsname.h>
+#include <sys/ptrace.h>
+#include <asm/ptrace.h>
+
+#ifndef SVE_SIG_ZREGS_SIZE
+#include "aarch64-sve-linux-sigcontext.h"
+#endif
+
+/* Indicates whether a SVE ptrace header is followed by SVE registers or a
+   fpsimd structure.  */
+
+#define HAS_SVE_STATE(header) ((header).flags & SVE_PT_REGS_SVE)
+
+/* Read VQ for the given tid using ptrace.  If SVE is not supported then zero
+   is returned (on a system that supports SVE, then VQ cannot be zero).  */
+
+uint64_t aarch64_sve_get_vq (int tid);
+
+/* Read the current SVE register set using ptrace, allocating space as
+   required.  */
+
+extern std::unique_ptr<gdb_byte[]> aarch64_sve_get_sveregs (int tid);
+
+/* Put the registers from linux structure buf into register buffer.  */
+
+extern void aarch64_sve_regs_copy_to_reg_buf (struct reg_buffer_common *reg_buf,
+					      const void *buf);
+
+/* Put the registers from register buffer into linux structure buf.  */
+
+extern void
+aarch64_sve_regs_copy_from_reg_buf (const struct reg_buffer_common *reg_buf,
+				    void *buf);
+
+#endif /* aarch64-sve-linux-ptrace.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-sve-linux-sigcontext.h ./gdb/nat/aarch64-sve-linux-sigcontext.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/aarch64-sve-linux-sigcontext.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/aarch64-sve-linux-sigcontext.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,268 @@
+/* Copyright (C) 2018 Free Software Foundation, Inc.
+   Contributed by Arm Ltd.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef AARCH64_SVE_LINUX_SIGCONTEXT_H
+#define AARCH64_SVE_LINUX_SIGCONTEXT_H
+
+#define SVE_MAGIC	0x53564501
+
+struct sve_context {
+	struct _aarch64_ctx head;
+	__u16 vl;
+	__u16 __reserved[3];
+};
+
+/*
+ * The SVE architecture leaves space for future expansion of the
+ * vector length beyond its initial architectural limit of 2048 bits
+ * (16 quadwords).
+ *
+ * See linux/Documentation/arm64/sve.txt for a description of the VL/VQ
+ * terminology.
+ */
+#define SVE_VQ_BYTES		16	/* number of bytes per quadword */
+
+#define SVE_VQ_MIN		1
+#define SVE_VQ_MAX		512
+
+#define SVE_VL_MIN		(SVE_VQ_MIN * SVE_VQ_BYTES)
+#define SVE_VL_MAX		(SVE_VQ_MAX * SVE_VQ_BYTES)
+
+#define SVE_NUM_ZREGS		32
+#define SVE_NUM_PREGS		16
+
+#define sve_vl_valid(vl) \
+	((vl) % SVE_VQ_BYTES == 0 && (vl) >= SVE_VL_MIN && (vl) <= SVE_VL_MAX)
+
+/*
+ * If the SVE registers are currently live for the thread at signal delivery,
+ * sve_context.head.size >=
+ *	SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve_context.vl))
+ * and the register data may be accessed using the SVE_SIG_*() macros.
+ *
+ * If sve_context.head.size <
+ *	SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve_context.vl)),
+ * the SVE registers were not live for the thread and no register data
+ * is included: in this case, the SVE_SIG_*() macros should not be
+ * used except for this check.
+ *
+ * The same convention applies when returning from a signal: a caller
+ * will need to remove or resize the sve_context block if it wants to
+ * make the SVE registers live when they were previously non-live or
+ * vice-versa.  This may require the the caller to allocate fresh
+ * memory and/or move other context blocks in the signal frame.
+ *
+ * Changing the vector length during signal return is not permitted:
+ * sve_context.vl must equal the thread's current vector length when
+ * doing a sigreturn.
+ *
+ *
+ * Note: for all these macros, the "vq" argument denotes the SVE
+ * vector length in quadwords (i.e., units of 128 bits).
+ *
+ * The correct way to obtain vq is to use sve_vq_from_vl(vl).  The
+ * result is valid if and only if sve_vl_valid(vl) is true.  This is
+ * guaranteed for a struct sve_context written by the kernel.
+ *
+ *
+ * Additional macros describe the contents and layout of the payload.
+ * For each, SVE_SIG_x_OFFSET(args) is the start offset relative to
+ * the start of struct sve_context, and SVE_SIG_x_SIZE(args) is the
+ * size in bytes:
+ *
+ *	x	type				description
+ *	-	----				-----------
+ *	REGS					the entire SVE context
+ *
+ *	ZREGS	__uint128_t[SVE_NUM_ZREGS][vq]	all Z-registers
+ *	ZREG	__uint128_t[vq]			individual Z-register Zn
+ *
+ *	PREGS	uint16_t[SVE_NUM_PREGS][vq]	all P-registers
+ *	PREG	uint16_t[vq]			individual P-register Pn
+ *
+ *	FFR	uint16_t[vq]			first-fault status register
+ *
+ * Additional data might be appended in the future.
+ */
+
+#define SVE_SIG_ZREG_SIZE(vq)	((__u32)(vq) * SVE_VQ_BYTES)
+#define SVE_SIG_PREG_SIZE(vq)	((__u32)(vq) * (SVE_VQ_BYTES / 8))
+#define SVE_SIG_FFR_SIZE(vq)	SVE_SIG_PREG_SIZE(vq)
+
+#define SVE_SIG_REGS_OFFSET					\
+	((sizeof(struct sve_context) + (SVE_VQ_BYTES - 1))	\
+		/ SVE_VQ_BYTES * SVE_VQ_BYTES)
+
+#define SVE_SIG_ZREGS_OFFSET	SVE_SIG_REGS_OFFSET
+#define SVE_SIG_ZREG_OFFSET(vq, n) \
+	(SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREG_SIZE(vq) * (n))
+#define SVE_SIG_ZREGS_SIZE(vq) \
+	(SVE_SIG_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_SIG_ZREGS_OFFSET)
+
+#define SVE_SIG_PREGS_OFFSET(vq) \
+	(SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREGS_SIZE(vq))
+#define SVE_SIG_PREG_OFFSET(vq, n) \
+	(SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREG_SIZE(vq) * (n))
+#define SVE_SIG_PREGS_SIZE(vq) \
+	(SVE_SIG_PREG_OFFSET(vq, SVE_NUM_PREGS) - SVE_SIG_PREGS_OFFSET(vq))
+
+#define SVE_SIG_FFR_OFFSET(vq) \
+	(SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREGS_SIZE(vq))
+
+#define SVE_SIG_REGS_SIZE(vq) \
+	(SVE_SIG_FFR_OFFSET(vq) + SVE_SIG_FFR_SIZE(vq) - SVE_SIG_REGS_OFFSET)
+
+#define SVE_SIG_CONTEXT_SIZE(vq) (SVE_SIG_REGS_OFFSET + SVE_SIG_REGS_SIZE(vq))
+
+/* SVE/FP/SIMD state (NT_ARM_SVE) */
+
+struct user_sve_header {
+	__u32 size; /* total meaningful regset content in bytes */
+	__u32 max_size; /* maxmium possible size for this thread */
+	__u16 vl; /* current vector length */
+	__u16 max_vl; /* maximum possible vector length */
+	__u16 flags;
+	__u16 __reserved;
+};
+
+/* Definitions for user_sve_header.flags: */
+#define SVE_PT_REGS_MASK		(1 << 0)
+
+#define SVE_PT_REGS_FPSIMD		0
+#define SVE_PT_REGS_SVE			SVE_PT_REGS_MASK
+
+/*
+ * Common SVE_PT_* flags:
+ * These must be kept in sync with prctl interface in <linux/ptrace.h>
+ */
+#define SVE_PT_VL_INHERIT		(PR_SVE_VL_INHERIT >> 16)
+#define SVE_PT_VL_ONEXEC		(PR_SVE_SET_VL_ONEXEC >> 16)
+
+
+/*
+ * The remainder of the SVE state follows struct user_sve_header.  The
+ * total size of the SVE state (including header) depends on the
+ * metadata in the header:  SVE_PT_SIZE(vq, flags) gives the total size
+ * of the state in bytes, including the header.
+ *
+ * Refer to <asm/sigcontext.h> for details of how to pass the correct
+ * "vq" argument to these macros.
+ */
+
+/* Offset from the start of struct user_sve_header to the register data */
+#define SVE_PT_REGS_OFFSET					\
+	((sizeof(struct sve_context) + (SVE_VQ_BYTES - 1))	\
+		/ SVE_VQ_BYTES * SVE_VQ_BYTES)
+
+/*
+ * The register data content and layout depends on the value of the
+ * flags field.
+ */
+
+/*
+ * (flags & SVE_PT_REGS_MASK) == SVE_PT_REGS_FPSIMD case:
+ *
+ * The payload starts at offset SVE_PT_FPSIMD_OFFSET, and is of type
+ * struct user_fpsimd_state.  Additional data might be appended in the
+ * future: use SVE_PT_FPSIMD_SIZE(vq, flags) to compute the total size.
+ * SVE_PT_FPSIMD_SIZE(vq, flags) will never be less than
+ * sizeof(struct user_fpsimd_state).
+ */
+
+#define SVE_PT_FPSIMD_OFFSET		SVE_PT_REGS_OFFSET
+
+#define SVE_PT_FPSIMD_SIZE(vq, flags)	(sizeof(struct user_fpsimd_state))
+
+/*
+ * (flags & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE case:
+ *
+ * The payload starts at offset SVE_PT_SVE_OFFSET, and is of size
+ * SVE_PT_SVE_SIZE(vq, flags).
+ *
+ * Additional macros describe the contents and layout of the payload.
+ * For each, SVE_PT_SVE_x_OFFSET(args) is the start offset relative to
+ * the start of struct user_sve_header, and SVE_PT_SVE_x_SIZE(args) is
+ * the size in bytes:
+ *
+ *	x	type				description
+ *	-	----				-----------
+ *	ZREGS		\
+ *	ZREG		|
+ *	PREGS		| refer to <asm/sigcontext.h>
+ *	PREG		|
+ *	FFR		/
+ *
+ *	FPSR	uint32_t			FPSR
+ *	FPCR	uint32_t			FPCR
+ *
+ * Additional data might be appended in the future.
+ */
+
+#define SVE_PT_SVE_ZREG_SIZE(vq)	SVE_SIG_ZREG_SIZE(vq)
+#define SVE_PT_SVE_PREG_SIZE(vq)	SVE_SIG_PREG_SIZE(vq)
+#define SVE_PT_SVE_FFR_SIZE(vq)		SVE_SIG_FFR_SIZE(vq)
+#define SVE_PT_SVE_FPSR_SIZE		sizeof(__u32)
+#define SVE_PT_SVE_FPCR_SIZE		sizeof(__u32)
+
+#define __SVE_SIG_TO_PT(offset) \
+	((offset) - SVE_SIG_REGS_OFFSET + SVE_PT_REGS_OFFSET)
+
+#define SVE_PT_SVE_OFFSET		SVE_PT_REGS_OFFSET
+
+#define SVE_PT_SVE_ZREGS_OFFSET \
+	__SVE_SIG_TO_PT(SVE_SIG_ZREGS_OFFSET)
+#define SVE_PT_SVE_ZREG_OFFSET(vq, n) \
+	__SVE_SIG_TO_PT(SVE_SIG_ZREG_OFFSET(vq, n))
+#define SVE_PT_SVE_ZREGS_SIZE(vq) \
+	(SVE_PT_SVE_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_PT_SVE_ZREGS_OFFSET)
+
+#define SVE_PT_SVE_PREGS_OFFSET(vq) \
+	__SVE_SIG_TO_PT(SVE_SIG_PREGS_OFFSET(vq))
+#define SVE_PT_SVE_PREG_OFFSET(vq, n) \
+	__SVE_SIG_TO_PT(SVE_SIG_PREG_OFFSET(vq, n))
+#define SVE_PT_SVE_PREGS_SIZE(vq) \
+	(SVE_PT_SVE_PREG_OFFSET(vq, SVE_NUM_PREGS) - \
+		SVE_PT_SVE_PREGS_OFFSET(vq))
+
+#define SVE_PT_SVE_FFR_OFFSET(vq) \
+	__SVE_SIG_TO_PT(SVE_SIG_FFR_OFFSET(vq))
+
+#define SVE_PT_SVE_FPSR_OFFSET(vq)				\
+	((SVE_PT_SVE_FFR_OFFSET(vq) + SVE_PT_SVE_FFR_SIZE(vq) +	\
+			(SVE_VQ_BYTES - 1))			\
+		/ SVE_VQ_BYTES * SVE_VQ_BYTES)
+#define SVE_PT_SVE_FPCR_OFFSET(vq) \
+	(SVE_PT_SVE_FPSR_OFFSET(vq) + SVE_PT_SVE_FPSR_SIZE)
+
+/*
+ * Any future extension appended after FPCR must be aligned to the next
+ * 128-bit boundary.
+ */
+
+#define SVE_PT_SVE_SIZE(vq, flags)					\
+	((SVE_PT_SVE_FPCR_OFFSET(vq) + SVE_PT_SVE_FPCR_SIZE		\
+			- SVE_PT_SVE_OFFSET + (SVE_VQ_BYTES - 1))	\
+		/ SVE_VQ_BYTES * SVE_VQ_BYTES)
+
+#define SVE_PT_SIZE(vq, flags)						\
+	 (((flags) & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE ?		\
+		  SVE_PT_SVE_OFFSET + SVE_PT_SVE_SIZE(vq, flags)	\
+		: SVE_PT_FPSIMD_OFFSET + SVE_PT_FPSIMD_SIZE(vq, flags))
+
+
+#endif /* AARCH64_SVE_LINUX_SIGCONTEXT_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/fork-inferior.c ./gdb/nat/fork-inferior.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/fork-inferior.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/fork-inferior.c	2018-07-10 02:06:13.000000000 +0000
@@ -484,7 +484,7 @@ startup_inferior (pid_t pid, int ntraps,
     }
 
   if (target_supports_multi_process ())
-    resume_ptid = pid_to_ptid (pid);
+    resume_ptid = ptid_t (pid);
   else
     resume_ptid = minus_one_ptid;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-btrace.c ./gdb/nat/linux-btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-btrace.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/linux-btrace.c	2018-07-10 02:06:13.000000000 +0000
@@ -25,6 +25,8 @@
 #include "gdb_wait.h"
 #include "x86-cpuid.h"
 #include "filestuff.h"
+#include "common/scoped_fd.h"
+#include "common/scoped_mmap.h"
 
 #include <inttypes.h>
 
@@ -173,28 +175,6 @@ perf_event_read_all (struct perf_event_b
   pev->last_head = data_head;
 }
 
-/* Determine the event type.
-   Returns zero on success and fills in TYPE; returns -1 otherwise.  */
-
-static int
-perf_event_pt_event_type (int *type)
-{
-  FILE *file;
-  int found;
-
-  file = fopen ("/sys/bus/event_source/devices/intel_pt/type", "r");
-  if (file == NULL)
-    return -1;
-
-  found = fscanf (file, "%d", type);
-
-  fclose (file);
-
-  if (found == 1)
-    return 0;
-  return -1;
-}
-
 /* Try to determine the start address of the Linux kernel.  */
 
 static uint64_t
@@ -379,176 +359,6 @@ perf_event_read_bts (struct btrace_targe
   return btrace;
 }
 
-/* Check whether the kernel supports BTS.  */
-
-static int
-kernel_supports_bts (void)
-{
-  struct perf_event_attr attr;
-  pid_t child, pid;
-  int status, file;
-
-  errno = 0;
-  child = fork ();
-  switch (child)
-    {
-    case -1:
-      warning (_("test bts: cannot fork: %s."), safe_strerror (errno));
-      return 0;
-
-    case 0:
-      status = ptrace (PTRACE_TRACEME, 0, NULL, NULL);
-      if (status != 0)
-	{
-	  warning (_("test bts: cannot PTRACE_TRACEME: %s."),
-		   safe_strerror (errno));
-	  _exit (1);
-	}
-
-      status = raise (SIGTRAP);
-      if (status != 0)
-	{
-	  warning (_("test bts: cannot raise SIGTRAP: %s."),
-		   safe_strerror (errno));
-	  _exit (1);
-	}
-
-      _exit (1);
-
-    default:
-      pid = waitpid (child, &status, 0);
-      if (pid != child)
-	{
-	  warning (_("test bts: bad pid %ld, error: %s."),
-		   (long) pid, safe_strerror (errno));
-	  return 0;
-	}
-
-      if (!WIFSTOPPED (status))
-	{
-	  warning (_("test bts: expected stop. status: %d."),
-		   status);
-	  return 0;
-	}
-
-      memset (&attr, 0, sizeof (attr));
-
-      attr.type = PERF_TYPE_HARDWARE;
-      attr.config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS;
-      attr.sample_period = 1;
-      attr.sample_type = PERF_SAMPLE_IP | PERF_SAMPLE_ADDR;
-      attr.exclude_kernel = 1;
-      attr.exclude_hv = 1;
-      attr.exclude_idle = 1;
-
-      file = syscall (SYS_perf_event_open, &attr, child, -1, -1, 0);
-      if (file >= 0)
-	close (file);
-
-      kill (child, SIGKILL);
-      ptrace (PTRACE_KILL, child, NULL, NULL);
-
-      pid = waitpid (child, &status, 0);
-      if (pid != child)
-	{
-	  warning (_("test bts: bad pid %ld, error: %s."),
-		   (long) pid, safe_strerror (errno));
-	  if (!WIFSIGNALED (status))
-	    warning (_("test bts: expected killed. status: %d."),
-		     status);
-	}
-
-      return (file >= 0);
-    }
-}
-
-/* Check whether the kernel supports Intel Processor Trace.  */
-
-static int
-kernel_supports_pt (void)
-{
-  struct perf_event_attr attr;
-  pid_t child, pid;
-  int status, file, type;
-
-  errno = 0;
-  child = fork ();
-  switch (child)
-    {
-    case -1:
-      warning (_("test pt: cannot fork: %s."), safe_strerror (errno));
-      return 0;
-
-    case 0:
-      status = ptrace (PTRACE_TRACEME, 0, NULL, NULL);
-      if (status != 0)
-	{
-	  warning (_("test pt: cannot PTRACE_TRACEME: %s."),
-		   safe_strerror (errno));
-	  _exit (1);
-	}
-
-      status = raise (SIGTRAP);
-      if (status != 0)
-	{
-	  warning (_("test pt: cannot raise SIGTRAP: %s."),
-		   safe_strerror (errno));
-	  _exit (1);
-	}
-
-      _exit (1);
-
-    default:
-      pid = waitpid (child, &status, 0);
-      if (pid != child)
-	{
-	  warning (_("test pt: bad pid %ld, error: %s."),
-		   (long) pid, safe_strerror (errno));
-	  return 0;
-	}
-
-      if (!WIFSTOPPED (status))
-	{
-	  warning (_("test pt: expected stop. status: %d."),
-		   status);
-	  return 0;
-	}
-
-      status = perf_event_pt_event_type (&type);
-      if (status != 0)
-	file = -1;
-      else
-	{
-	  memset (&attr, 0, sizeof (attr));
-
-	  attr.size = sizeof (attr);
-	  attr.type = type;
-	  attr.exclude_kernel = 1;
-	  attr.exclude_hv = 1;
-	  attr.exclude_idle = 1;
-
-	  file = syscall (SYS_perf_event_open, &attr, child, -1, -1, 0);
-	  if (file >= 0)
-	    close (file);
-	}
-
-      kill (child, SIGKILL);
-      ptrace (PTRACE_KILL, child, NULL, NULL);
-
-      pid = waitpid (child, &status, 0);
-      if (pid != child)
-	{
-	  warning (_("test pt: bad pid %ld, error: %s."),
-		   (long) pid, safe_strerror (errno));
-	  if (!WIFSIGNALED (status))
-	    warning (_("test pt: expected killed. status: %d."),
-		     status);
-	}
-
-      return (file >= 0);
-    }
-}
-
 /* Check whether an Intel cpu supports BTS.  */
 
 static int
@@ -599,62 +409,32 @@ cpu_supports_bts (void)
     }
 }
 
-/* Check whether the linux target supports BTS.  */
-
-static int
-linux_supports_bts (void)
-{
-  static int cached;
-
-  if (cached == 0)
-    {
-      if (!kernel_supports_bts ())
-	cached = -1;
-      else if (!cpu_supports_bts ())
-	cached = -1;
-      else
-	cached = 1;
-    }
+/* The perf_event_open syscall failed.  Try to print a helpful error
+   message.  */
 
-  return cached > 0;
-}
-
-/* Check whether the linux target supports Intel Processor Trace.  */
-
-static int
-linux_supports_pt (void)
-{
-  static int cached;
-
-  if (cached == 0)
-    {
-      if (!kernel_supports_pt ())
-	cached = -1;
-      else
-	cached = 1;
-    }
-
-  return cached > 0;
-}
-
-/* See linux-btrace.h.  */
-
-int
-linux_supports_btrace (struct target_ops *ops, enum btrace_format format)
+static void
+diagnose_perf_event_open_fail ()
 {
-  switch (format)
+  switch (errno)
     {
-    case BTRACE_FORMAT_NONE:
-      return 0;
+    case EPERM:
+    case EACCES:
+      {
+	static const char filename[] = "/proc/sys/kernel/perf_event_paranoid";
+	gdb_file_up file = gdb_fopen_cloexec (filename, "r");
+	if (file.get () == nullptr)
+	  break;
 
-    case BTRACE_FORMAT_BTS:
-      return linux_supports_bts ();
+	int level, found = fscanf (file.get (), "%d", &level);
+	if (found == 1 && level > 2)
+	  error (_("You do not have permission to record the process.  "
+		   "Try setting %s to 2 or less."), filename);
+      }
 
-    case BTRACE_FORMAT_PT:
-      return linux_supports_pt ();
+      break;
     }
 
-  internal_error (__FILE__, __LINE__, _("Unknown branch trace format"));
+  error (_("Failed to start recording: %s"), safe_strerror (errno));
 }
 
 /* Enable branch tracing in BTS format.  */
@@ -662,14 +442,16 @@ linux_supports_btrace (struct target_ops
 static struct btrace_target_info *
 linux_enable_bts (ptid_t ptid, const struct btrace_config_bts *conf)
 {
-  struct perf_event_mmap_page *header;
-  struct btrace_target_info *tinfo;
   struct btrace_tinfo_bts *bts;
   size_t size, pages;
   __u64 data_offset;
   int pid, pg;
 
-  tinfo = XCNEW (struct btrace_target_info);
+  if (!cpu_supports_bts ())
+    error (_("BTS support has been disabled for the target cpu."));
+
+  gdb::unique_xmalloc_ptr<btrace_target_info> tinfo
+    (XCNEW (btrace_target_info));
   tinfo->ptid = ptid;
 
   tinfo->conf.format = BTRACE_FORMAT_BTS;
@@ -687,14 +469,14 @@ linux_enable_bts (ptid_t ptid, const str
   bts->attr.exclude_hv = 1;
   bts->attr.exclude_idle = 1;
 
-  pid = ptid_get_lwp (ptid);
+  pid = ptid.lwp ();
   if (pid == 0)
-    pid = ptid_get_pid (ptid);
+    pid = ptid.pid ();
 
   errno = 0;
-  bts->file = syscall (SYS_perf_event_open, &bts->attr, pid, -1, -1, 0);
-  if (bts->file < 0)
-    goto err_out;
+  scoped_fd fd (syscall (SYS_perf_event_open, &bts->attr, pid, -1, -1, 0));
+  if (fd.get () < 0)
+    diagnose_perf_event_open_fail ();
 
   /* Convert the requested size in bytes to pages (rounding up).  */
   pages = ((size_t) conf->size / PAGE_SIZE
@@ -711,6 +493,7 @@ linux_enable_bts (ptid_t ptid, const str
 
   /* We try to allocate the requested size.
      If that fails, try to get as much as we can.  */
+  scoped_mmap data;
   for (; pages > 0; pages >>= 1)
     {
       size_t length;
@@ -729,16 +512,18 @@ linux_enable_bts (ptid_t ptid, const str
       if ((__u64) length != data_size + PAGE_SIZE)
 	continue;
 
+      errno = 0;
       /* The number of pages we request needs to be a power of two.  */
-      header = ((struct perf_event_mmap_page *)
-		mmap (NULL, length, PROT_READ, MAP_SHARED, bts->file, 0));
-      if (header != MAP_FAILED)
+      data.reset (nullptr, length, PROT_READ, MAP_SHARED, fd.get (), 0);
+      if (data.get () != MAP_FAILED)
 	break;
     }
 
   if (pages == 0)
-    goto err_file;
+    error (_("Failed to map trace buffer: %s."), safe_strerror (errno));
 
+  struct perf_event_mmap_page *header = (struct perf_event_mmap_page *)
+    data.get ();
   data_offset = PAGE_SIZE;
 
 #if defined (PERF_ATTR_SIZE_VER5)
@@ -753,79 +538,84 @@ linux_enable_bts (ptid_t ptid, const str
 
       /* Check for overflows.  */
       if ((__u64) size != data_size)
-	{
-	  munmap ((void *) header, size + PAGE_SIZE);
-	  goto err_file;
-	}
+	error (_("Failed to determine trace buffer size."));
     }
 #endif /* defined (PERF_ATTR_SIZE_VER5) */
 
-  bts->header = header;
-  bts->bts.mem = ((const uint8_t *) header) + data_offset;
   bts->bts.size = size;
   bts->bts.data_head = &header->data_head;
+  bts->bts.mem = (const uint8_t *) data.get () + data_offset;
   bts->bts.last_head = 0ull;
+  bts->header = header;
+  bts->file = fd.release ();
 
-  tinfo->conf.bts.size = (unsigned int) size;
-  return tinfo;
-
- err_file:
-  /* We were not able to allocate any buffer.  */
-  close (bts->file);
+  data.release ();
 
- err_out:
-  xfree (tinfo);
-  return NULL;
+  tinfo->conf.bts.size = (unsigned int) size;
+  return tinfo.release ();
 }
 
 #if defined (PERF_ATTR_SIZE_VER5)
 
+/* Determine the event type.  */
+
+static int
+perf_event_pt_event_type ()
+{
+  static const char filename[] = "/sys/bus/event_source/devices/intel_pt/type";
+
+  errno = 0;
+  gdb_file_up file = gdb_fopen_cloexec (filename, "r");
+  if (file.get () == nullptr)
+    error (_("Failed to open %s: %s."), filename, safe_strerror (errno));
+
+  int type, found = fscanf (file.get (), "%d", &type);
+  if (found != 1)
+    error (_("Failed to read the PT event type from %s."), filename);
+
+  return type;
+}
+
 /* Enable branch tracing in Intel Processor Trace format.  */
 
 static struct btrace_target_info *
 linux_enable_pt (ptid_t ptid, const struct btrace_config_pt *conf)
 {
-  struct perf_event_mmap_page *header;
-  struct btrace_target_info *tinfo;
   struct btrace_tinfo_pt *pt;
-  size_t pages, size;
-  int pid, pg, errcode, type;
-
-  if (conf->size == 0)
-    return NULL;
-
-  errcode = perf_event_pt_event_type (&type);
-  if (errcode != 0)
-    return NULL;
+  size_t pages;
+  int pid, pg;
 
-  pid = ptid_get_lwp (ptid);
+  pid = ptid.lwp ();
   if (pid == 0)
-    pid = ptid_get_pid (ptid);
+    pid = ptid.pid ();
 
-  tinfo = XCNEW (struct btrace_target_info);
+  gdb::unique_xmalloc_ptr<btrace_target_info> tinfo
+    (XCNEW (btrace_target_info));
   tinfo->ptid = ptid;
 
   tinfo->conf.format = BTRACE_FORMAT_PT;
   pt = &tinfo->variant.pt;
 
   pt->attr.size = sizeof (pt->attr);
-  pt->attr.type = type;
+  pt->attr.type = perf_event_pt_event_type ();
 
   pt->attr.exclude_kernel = 1;
   pt->attr.exclude_hv = 1;
   pt->attr.exclude_idle = 1;
 
   errno = 0;
-  pt->file = syscall (SYS_perf_event_open, &pt->attr, pid, -1, -1, 0);
-  if (pt->file < 0)
-    goto err;
+  scoped_fd fd (syscall (SYS_perf_event_open, &pt->attr, pid, -1, -1, 0));
+  if (fd.get () < 0)
+    diagnose_perf_event_open_fail ();
 
   /* Allocate the configuration page. */
-  header = ((struct perf_event_mmap_page *)
-	    mmap (NULL, PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED,
-		  pt->file, 0));
-  if (header == MAP_FAILED)
-    goto err_file;
+  scoped_mmap data (nullptr, PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED,
+		    fd.get (), 0);
+  if (data.get () == MAP_FAILED)
+    error (_("Failed to map trace user page: %s."), safe_strerror (errno));
+
+  struct perf_event_mmap_page *header = (struct perf_event_mmap_page *)
+    data.get ();
 
   header->aux_offset = header->data_offset + header->data_size;
 
@@ -844,6 +634,7 @@ linux_enable_pt (ptid_t ptid, const stru
 
   /* We try to allocate the requested size.
      If that fails, try to get as much as we can.  */
+  scoped_mmap aux;
   for (; pages > 0; pages >>= 1)
     {
       size_t length;
@@ -855,41 +646,34 @@ linux_enable_pt (ptid_t ptid, const stru
       if ((__u64) UINT_MAX < data_size)
 	continue;
 
-      size = (size_t) data_size;
+      length = (size_t) data_size;
 
       /* Check for overflows.  */
-      if ((__u64) size != data_size)
+      if ((__u64) length != data_size)
 	continue;
 
       header->aux_size = data_size;
-      length = size;
 
-      pt->pt.mem = ((const uint8_t *)
-		    mmap (NULL, length, PROT_READ, MAP_SHARED, pt->file,
-			  header->aux_offset));
-      if (pt->pt.mem != MAP_FAILED)
+      errno = 0;
+      aux.reset (nullptr, length, PROT_READ, MAP_SHARED, fd.get (),
+		 header->aux_offset);
+      if (aux.get () != MAP_FAILED)
 	break;
     }
 
   if (pages == 0)
-    goto err_conf;
+    error (_("Failed to map trace buffer: %s."), safe_strerror (errno));
 
-  pt->header = header;
-  pt->pt.size = size;
+  pt->pt.size = aux.size ();
+  pt->pt.mem = (const uint8_t *) aux.release ();
   pt->pt.data_head = &header->aux_head;
+  pt->header = header;
+  pt->file = fd.release ();
 
-  tinfo->conf.pt.size = (unsigned int) size;
-  return tinfo;
-
- err_conf:
-  munmap((void *) header, PAGE_SIZE);
-
- err_file:
-  close (pt->file);
+  data.release ();
 
- err:
-  xfree (tinfo);
-  return NULL;
+  tinfo->conf.pt.size = (unsigned int) pt->pt.size;
+  return tinfo.release ();
 }
 
 #else /* !defined (PERF_ATTR_SIZE_VER5) */
@@ -897,8 +681,7 @@ linux_enable_pt (ptid_t ptid, const stru
 static struct btrace_target_info *
 linux_enable_pt (ptid_t ptid, const struct btrace_config_pt *conf)
 {
-  errno = EOPNOTSUPP;
-  return NULL;
+  error (_("Intel Processor Trace support was disabled at compile time."));
 }
 
 #endif /* !defined (PERF_ATTR_SIZE_VER5) */
@@ -908,24 +691,20 @@ linux_enable_pt (ptid_t ptid, const stru
 struct btrace_target_info *
 linux_enable_btrace (ptid_t ptid, const struct btrace_config *conf)
 {
-  struct btrace_target_info *tinfo;
-
-  tinfo = NULL;
   switch (conf->format)
     {
     case BTRACE_FORMAT_NONE:
-      break;
+      error (_("Bad branch trace format."));
+
+    default:
+      error (_("Unknown branch trace format."));
 
     case BTRACE_FORMAT_BTS:
-      tinfo = linux_enable_bts (ptid, &conf->bts);
-      break;
+      return linux_enable_bts (ptid, &conf->bts);
 
     case BTRACE_FORMAT_PT:
-      tinfo = linux_enable_pt (ptid, &conf->pt);
-      break;
+      return linux_enable_pt (ptid, &conf->pt);
     }
-
-  return tinfo;
 }
 
 /* Disable BTS tracing.  */
@@ -1159,14 +938,6 @@ linux_btrace_conf (const struct btrace_t
 
 /* See linux-btrace.h.  */
 
-int
-linux_supports_btrace (struct target_ops *ops, enum btrace_format format)
-{
-  return 0;
-}
-
-/* See linux-btrace.h.  */
-
 struct btrace_target_info *
 linux_enable_btrace (ptid_t ptid, const struct btrace_config *conf)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-btrace.h ./gdb/nat/linux-btrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-btrace.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/linux-btrace.h	2018-07-10 02:06:13.000000000 +0000
@@ -103,9 +103,6 @@ struct btrace_target_info
 #endif /* HAVE_LINUX_PERF_EVENT_H */
 };
 
-/* See to_supports_btrace in target.h.  */
-extern int linux_supports_btrace (struct target_ops *, enum btrace_format);
-
 /* See to_enable_btrace in target.h.  */
 extern struct btrace_target_info *
   linux_enable_btrace (ptid_t ptid, const struct btrace_config *conf);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-osdata.c ./gdb/nat/linux-osdata.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-osdata.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/linux-osdata.c	2018-07-10 02:06:13.000000000 +0000
@@ -70,7 +70,7 @@ linux_common_core_of_thread (ptid_t ptid
   int core;
 
   sprintf (filename, "/proc/%lld/task/%lld/stat",
-	   (PID_T) ptid_get_pid (ptid), (PID_T) ptid_get_lwp (ptid));
+	   (PID_T) ptid.pid (), (PID_T) ptid.lwp ());
   gdb_file_up f = gdb_fopen_cloexec (filename, "r");
   if (!f)
     return -1;
@@ -266,8 +266,8 @@ get_cores_used_by_process (PID_T pid, in
 	    continue;
 
 	  sscanf (dp->d_name, "%lld", &tid);
-	  core = linux_common_core_of_thread (ptid_build ((pid_t) pid,
-							  (pid_t) tid, 0));
+	  core = linux_common_core_of_thread (ptid_t ((pid_t) pid,
+						      (pid_t) tid, 0));
 
 	  if (core >= 0 && core < num_cores)
 	    {
@@ -595,7 +595,7 @@ linux_xfer_osdata_threads (gdb_byte *rea
 			    continue;
 
 			  tid = atoi (dp2->d_name);
-			  core = linux_common_core_of_thread (ptid_build (pid, tid, 0));
+			  core = linux_common_core_of_thread (ptid_t (pid, tid, 0));
 
 			  buffer_xml_printf (
 			    &buffer,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-procfs.c ./gdb/nat/linux-procfs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-procfs.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/linux-procfs.c	2018-07-10 02:06:13.000000000 +0000
@@ -239,8 +239,8 @@ linux_proc_tid_get_name (ptid_t ptid)
   static char comm_buf[TASK_COMM_LEN];
   char comm_path[100];
   const char *comm_val;
-  pid_t pid = ptid_get_pid (ptid);
-  pid_t tid = ptid_lwp_p (ptid) ? ptid_get_lwp (ptid) : ptid_get_pid (ptid);
+  pid_t pid = ptid.pid ();
+  pid_t tid = ptid.lwp_p () ? ptid.lwp () : ptid.pid ();
 
   xsnprintf (comm_path, sizeof (comm_path),
 	     "/proc/%ld/task/%ld/comm", (long) pid, (long) tid);
@@ -308,7 +308,7 @@ linux_proc_attach_tgid_threads (pid_t pi
 	  lwp = strtoul (dp->d_name, NULL, 10);
 	  if (lwp != 0)
 	    {
-	      ptid_t ptid = ptid_build (pid, lwp, 0);
+	      ptid_t ptid = ptid_t (pid, lwp, 0);
 
 	      if (attach_lwp (ptid))
 		new_threads_found = 1;
@@ -357,3 +357,20 @@ linux_proc_pid_to_exec_file (int pid)
 
   return buf;
 }
+
+/* See linux-procfs.h.  */
+
+void
+linux_proc_init_warnings ()
+{
+  static bool warned = false;
+
+  if (warned)
+    return;
+  warned = true;
+
+  struct stat st;
+
+  if (stat ("/proc/self", &st) != 0)
+    warning (_("/proc is not accessible."));
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-procfs.h ./gdb/nat/linux-procfs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-procfs.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/linux-procfs.h	2018-07-10 02:06:13.000000000 +0000
@@ -80,4 +80,9 @@ extern int linux_proc_task_list_dir_exis
 
 extern char *linux_proc_pid_to_exec_file (int pid);
 
+/* Display possible problems on this system.  Display them only once
+   per GDB execution.  */
+
+extern void linux_proc_init_warnings ();
+
 #endif /* COMMON_LINUX_PROCFS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-ptrace.c ./gdb/nat/linux-ptrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-ptrace.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/linux-ptrace.c	2018-07-10 02:06:13.000000000 +0000
@@ -21,8 +21,6 @@
 #include "linux-procfs.h"
 #include "linux-waitpid.h"
 #include "buffer.h"
-#include "gdb_wait.h"
-#include "gdb_ptrace.h"
 #ifdef HAVE_SYS_PROCFS_H
 #include <sys/procfs.h>
 #endif
@@ -32,51 +30,42 @@
    of 0 means there are no supported features.  */
 static int supported_ptrace_options = -1;
 
-/* Find all possible reasons we could fail to attach PID and append
-   these as strings to the already initialized BUFFER.  '\0'
-   termination of BUFFER must be done by the caller.  */
+/* Find all possible reasons we could fail to attach PID and return these
+   as a string.  An empty string is returned if we didn't find any reason.  */
 
-void
-linux_ptrace_attach_fail_reason (pid_t pid, struct buffer *buffer)
+std::string
+linux_ptrace_attach_fail_reason (pid_t pid)
 {
-  pid_t tracerpid;
+  pid_t tracerpid = linux_proc_get_tracerpid_nowarn (pid);
+  std::string result;
 
-  tracerpid = linux_proc_get_tracerpid_nowarn (pid);
   if (tracerpid > 0)
-    buffer_xml_printf (buffer, _("process %d is already traced "
-				 "by process %d"),
-		       (int) pid, (int) tracerpid);
+    string_appendf (result,
+		    _("process %d is already traced by process %d"),
+		    (int) pid, (int) tracerpid);
 
   if (linux_proc_pid_is_zombie_nowarn (pid))
-    buffer_xml_printf (buffer, _("process %d is a zombie "
-				 "- the process has already terminated"),
-		       (int) pid);
+    string_appendf (result,
+		    _("process %d is a zombie - the process has already "
+		      "terminated"),
+		    (int) pid);
+
+  return result;
 }
 
 /* See linux-ptrace.h.  */
 
-char *
+std::string
 linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err)
 {
-  static char *reason_string;
-  struct buffer buffer;
-  char *warnings;
-  long lwpid = ptid_get_lwp (ptid);
-
-  xfree (reason_string);
-
-  buffer_init (&buffer);
-  linux_ptrace_attach_fail_reason (lwpid, &buffer);
-  buffer_grow_str0 (&buffer, "");
-  warnings = buffer_finish (&buffer);
-  if (warnings[0] != '\0')
-    reason_string = xstrprintf ("%s (%d), %s",
-				safe_strerror (err), err, warnings);
+  long lwpid = ptid.lwp ();
+  std::string reason = linux_ptrace_attach_fail_reason (lwpid);
+
+  if (!reason.empty ())
+    return string_printf ("%s (%d), %s", safe_strerror (err), err,
+			  reason.c_str ());
   else
-    reason_string = xstrprintf ("%s (%d)",
-				safe_strerror (err), err);
-  xfree (warnings);
-  return reason_string;
+    return string_printf ("%s (%d)", safe_strerror (err), err);
 }
 
 #if defined __i386__ || defined __x86_64__
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-ptrace.h ./gdb/nat/linux-ptrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/linux-ptrace.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/linux-ptrace.h	2018-07-10 02:06:13.000000000 +0000
@@ -21,6 +21,7 @@
 struct buffer;
 
 #include "nat/gdb_ptrace.h"
+#include "gdb_wait.h"
 
 #ifdef __UCLIBC__
 #if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__))
@@ -155,8 +156,6 @@ struct buffer;
    Beginning with Linux 4.6, the MIPS port reports proper TRAP_BRKPT and
    TRAP_HWBKPT codes, so we also match them.
 
-   The Alpha kernel uses TRAP_BRKPT for all traps.
-
    The generic Linux target code should use GDB_ARCH_IS_TRAP_* instead
    of TRAP_* to abstract out these peculiarities.  */
 #if defined __i386__ || defined __x86_64__
@@ -168,9 +167,6 @@ struct buffer;
 #elif defined __mips__
 # define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == SI_KERNEL || (X) == TRAP_BRKPT)
 # define GDB_ARCH_IS_TRAP_HWBKPT(X) ((X) == SI_KERNEL || (X) == TRAP_HWBKPT)
-#elif defined __alpha__
-# define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == TRAP_BRKPT)
-# define GDB_ARCH_IS_TRAP_HWBKPT(X) ((X) == TRAP_BRKPT)
 #else
 # define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == TRAP_BRKPT)
 # define GDB_ARCH_IS_TRAP_HWBKPT(X) ((X) == TRAP_HWBKPT)
@@ -180,14 +176,12 @@ struct buffer;
 # define TRAP_HWBKPT 4
 #endif
 
-extern void linux_ptrace_attach_fail_reason (pid_t pid, struct buffer *buffer);
+extern std::string linux_ptrace_attach_fail_reason (pid_t pid);
 
 /* Find all possible reasons we could have failed to attach to PTID
    and return them as a string.  ERR is the error PTRACE_ATTACH failed
-   with (an errno).  The result is stored in a static buffer.  This
-   string should be copied into a buffer by the client if the string
-   will not be immediately used, or if it must persist.  */
-extern char *linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err);
+   with (an errno).  */
+extern std::string linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err);
 
 extern void linux_ptrace_init_warnings (void);
 extern void linux_check_ptrace_features (void);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/ppc-linux.c ./gdb/nat/ppc-linux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/ppc-linux.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/ppc-linux.c	2018-07-10 02:06:13.000000000 +0000
@@ -17,6 +17,7 @@
 
 #include "common-defs.h"
 #include "ppc-linux.h"
+#include "nat/gdb_ptrace.h"
 #include <elf.h>
 
 #ifdef HAVE_GETAUXVAL
@@ -53,7 +54,7 @@ ppc64_host_hwcap (unsigned long *valp)
 #endif /* HAVE_GETAUXVAL */
 }
 
-int
+static inline int
 ppc64_64bit_inferior_p (long msr)
 {
   unsigned long ppc_host_hwcap = 0;
@@ -73,3 +74,22 @@ ppc64_64bit_inferior_p (long msr)
 }
 
 #endif
+
+int
+ppc_linux_target_wordsize (int tid)
+{
+  int wordsize = 4;
+
+  /* Check for 64-bit inferior process.  This is the case when the host is
+     64-bit, and in addition the top bit of the MSR register is set.  */
+#ifdef __powerpc64__
+  long msr;
+
+  errno = 0;
+  msr = (long) ptrace (PTRACE_PEEKUSER, tid, PT_MSR * 8, 0);
+  if (errno == 0 && ppc64_64bit_inferior_p (msr))
+    wordsize = 8;
+#endif
+
+  return wordsize;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/ppc-linux.h ./gdb/nat/ppc-linux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/ppc-linux.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/ppc-linux.h	2018-07-10 02:06:13.000000000 +0000
@@ -82,10 +82,7 @@
 #define PTRACE_SETEVRREGS 21
 #endif
 
-#ifdef __powerpc64__
-/* Return whether the inferior is 64bit or not by checking certain bit
-   in MSR.  */
-int ppc64_64bit_inferior_p (long msr);
-#endif
+/* Return the wordsize of the target, either 4 or 8 bytes.  */
+int ppc_linux_target_wordsize (int tid);
 
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/x86-dregs.c ./gdb/nat/x86-dregs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/x86-dregs.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/x86-dregs.c	2018-07-10 02:06:13.000000000 +0000
@@ -253,7 +253,7 @@ Invalid hardware breakpoint type %d in x
       case 8:
         if (TARGET_HAS_DR_LEN_8)
  	  return (DR_LEN_8 | rw);
-	/* ELSE FALL THROUGH */
+	/* FALL THROUGH */
       default:
 	internal_error (__FILE__, __LINE__, _("\
 Invalid hardware breakpoint length %d in x86_length_and_rw_bits.\n"), len);
@@ -649,3 +649,48 @@ x86_dr_stopped_by_watchpoint (struct x86
   CORE_ADDR addr = 0;
   return x86_dr_stopped_data_address (state, &addr);
 }
+
+/* Return non-zero if the inferior has some hardware breakpoint that
+   triggered.  Otherwise return zero.  */
+
+int
+x86_dr_stopped_by_hw_breakpoint (struct x86_debug_reg_state *state)
+{
+  CORE_ADDR addr = 0;
+  int i;
+  int rc = 0;
+  /* The current thread's DR_STATUS.  We always need to read this to
+     check whether some watchpoint caused the trap.  */
+  unsigned status;
+  /* We need DR_CONTROL as well, but only iff DR_STATUS indicates a
+     breakpoint trap.  Only fetch it when necessary, to avoid an
+     unnecessary extra syscall when no watchpoint triggered.  */
+  int control_p = 0;
+  unsigned control = 0;
+
+  /* As above, always read the current thread's debug registers rather
+     than trusting dr_mirror.  */
+  status = x86_dr_low_get_status ();
+
+  ALL_DEBUG_ADDRESS_REGISTERS (i)
+    {
+      if (!X86_DR_WATCH_HIT (status, i))
+	continue;
+
+      if (!control_p)
+	{
+	  control = x86_dr_low_get_control ();
+	  control_p = 1;
+	}
+
+      if (X86_DR_GET_RW_LEN (control, i) == 0)
+	{
+	  addr = x86_dr_low_get_addr (i);
+	  rc = 1;
+	  if (show_debug_regs)
+	    x86_show_dr (state, "watchpoint_hit", addr, -1, hw_execute);
+	}
+    }
+
+  return rc;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/x86-dregs.h ./gdb/nat/x86-dregs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/x86-dregs.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/x86-dregs.h	2018-07-10 02:06:13.000000000 +0000
@@ -128,4 +128,8 @@ extern int x86_dr_stopped_data_address (
    Otherwise return false.  */
 extern int x86_dr_stopped_by_watchpoint (struct x86_debug_reg_state *state);
 
+/* Return true if the inferior has some hardware breakpoint that
+   triggered.  Otherwise return false.  */
+extern int x86_dr_stopped_by_hw_breakpoint (struct x86_debug_reg_state *state);
+
 #endif /* X86_DREGS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/x86-linux-dregs.c ./gdb/nat/x86-linux-dregs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nat/x86-linux-dregs.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nat/x86-linux-dregs.c	2018-07-10 02:06:13.000000000 +0000
@@ -43,8 +43,8 @@ x86_linux_dr_get (ptid_t ptid, int regnu
   int tid;
   unsigned long value;
 
-  gdb_assert (ptid_lwp_p (ptid));
-  tid = ptid_get_lwp (ptid);
+  gdb_assert (ptid.lwp_p ());
+  tid = ptid.lwp ();
 
   errno = 0;
   value = ptrace (PTRACE_PEEKUSER, tid, u_debugreg_offset (regnum), 0);
@@ -61,8 +61,8 @@ x86_linux_dr_set (ptid_t ptid, int regnu
 {
   int tid;
 
-  gdb_assert (ptid_lwp_p (ptid));
-  tid = ptid_get_lwp (ptid);
+  gdb_assert (ptid.lwp_p ());
+  tid = ptid.lwp ();
 
   errno = 0;
   ptrace (PTRACE_POKEUSER, tid, u_debugreg_offset (regnum), value);
@@ -102,7 +102,7 @@ x86_linux_dr_get_addr (int regnum)
 void
 x86_linux_dr_set_addr (int regnum, CORE_ADDR addr)
 {
-  ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (current_lwp_ptid ()));
+  ptid_t pid_ptid = ptid_t (current_lwp_ptid ().pid ());
 
   gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
 
@@ -122,7 +122,7 @@ x86_linux_dr_get_control (void)
 void
 x86_linux_dr_set_control (unsigned long control)
 {
-  ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (current_lwp_ptid ()));
+  ptid_t pid_ptid = ptid_t (current_lwp_ptid ().pid ());
 
   iterate_over_lwps (pid_ptid, update_debug_registers_callback, NULL);
 }
@@ -148,7 +148,7 @@ x86_linux_update_debug_registers (struct
   if (lwp_debug_registers_changed (lwp))
     {
       struct x86_debug_reg_state *state
-	= x86_debug_reg_state (ptid_get_pid (ptid));
+	= x86_debug_reg_state (ptid.pid ());
       int i;
 
       /* Prior to Linux kernel 2.6.33 commit
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nbsd-nat.c ./gdb/nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -25,7 +25,7 @@
    the child process identified by PID.  */
 
 char *
-nbsd_pid_to_exec_file (struct target_ops *self, int pid)
+nbsd_nat_target::pid_to_exec_file (int pid)
 {
   ssize_t len;
   static char buf[PATH_MAX];
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nbsd-nat.h ./gdb/nbsd-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nbsd-nat.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nbsd-nat.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,9 +20,13 @@
 #ifndef NBSD_NAT_H
 #define NBSD_NAT_H
 
-/* Return the name of a file that can be opened to get the symbols for
-   the child process identified by PID.  */
+#include "inf-ptrace.h"
 
-extern char *nbsd_pid_to_exec_file (struct target_ops *self, int pid);
+/* A prototype NetBSD target.  */
+
+struct nbsd_nat_target : public inf_ptrace_target
+{
+  char *pid_to_exec_file (int pid) override;
+};
 
 #endif /* nbsd-nat.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nds32-tdep.c ./gdb/nds32-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nds32-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nds32-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -437,7 +437,7 @@ nds32_pseudo_register_name (struct gdbar
 
 static enum register_status
 nds32_pseudo_register_read (struct gdbarch *gdbarch,
-			    struct regcache *regcache, int regnum,
+			    readable_regcache *regcache, int regnum,
 			    gdb_byte *buf)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -462,7 +462,7 @@ nds32_pseudo_register_read (struct gdbar
 	offset = (regnum & 1) ? 0 : 4;
 
       fdr_regnum = NDS32_FD0_REGNUM + (regnum >> 1);
-      status = regcache_raw_read (regcache, fdr_regnum, reg_buf);
+      status = regcache->raw_read (fdr_regnum, reg_buf);
       if (status == REG_VALID)
 	memcpy (buf, reg_buf + offset, 4);
 
@@ -500,9 +500,9 @@ nds32_pseudo_register_write (struct gdba
 	offset = (regnum & 1) ? 0 : 4;
 
       fdr_regnum = NDS32_FD0_REGNUM + (regnum >> 1);
-      regcache_raw_read (regcache, fdr_regnum, reg_buf);
+      regcache->raw_read (fdr_regnum, reg_buf);
       memcpy (reg_buf + offset, buf, 4);
-      regcache_raw_write (regcache, fdr_regnum, reg_buf);
+      regcache->raw_write (fdr_regnum, reg_buf);
       return;
     }
 
@@ -1587,13 +1587,11 @@ nds32_push_dummy_call (struct gdbarch *g
 	      switch (len)
 		{
 		case 4:
-		  regcache_cooked_write (regcache,
-					 tdep->fs0_regnum + foff, val);
+		  regcache->cooked_write (tdep->fs0_regnum + foff, val);
 		  foff++;
 		  break;
 		case 8:
-		  regcache_cooked_write (regcache,
-					 NDS32_FD0_REGNUM + (foff >> 1), val);
+		  regcache->cooked_write (NDS32_FD0_REGNUM + (foff >> 1), val);
 		  foff += 2;
 		  break;
 		default:
@@ -1740,9 +1738,9 @@ nds32_extract_return_value (struct gdbar
   if (abi_use_fpr && calling_use_fpr)
     {
       if (len == 4)
-	regcache_cooked_read (regcache, tdep->fs0_regnum, valbuf);
+	regcache->cooked_read (tdep->fs0_regnum, valbuf);
       else if (len == 8)
-	regcache_cooked_read (regcache, NDS32_FD0_REGNUM, valbuf);
+	regcache->cooked_read (NDS32_FD0_REGNUM, valbuf);
       else
 	internal_error (__FILE__, __LINE__,
 			_("Cannot extract return value of %d bytes "
@@ -1788,7 +1786,7 @@ nds32_extract_return_value (struct gdbar
 	}
       else if (len == 4)
 	{
-	  regcache_cooked_read (regcache, NDS32_R0_REGNUM, valbuf);
+	  regcache->cooked_read (NDS32_R0_REGNUM, valbuf);
 	}
       else if (len < 8)
 	{
@@ -1805,8 +1803,8 @@ nds32_extract_return_value (struct gdbar
 	}
       else
 	{
-	  regcache_cooked_read (regcache, NDS32_R0_REGNUM, valbuf);
-	  regcache_cooked_read (regcache, NDS32_R0_REGNUM + 1, valbuf + 4);
+	  regcache->cooked_read (NDS32_R0_REGNUM, valbuf);
+	  regcache->cooked_read (NDS32_R0_REGNUM + 1, valbuf + 4);
 	}
     }
 }
@@ -1830,9 +1828,9 @@ nds32_store_return_value (struct gdbarch
   if (abi_use_fpr && calling_use_fpr)
     {
       if (len == 4)
-	regcache_cooked_write (regcache, tdep->fs0_regnum, valbuf);
+	regcache->cooked_write (tdep->fs0_regnum, valbuf);
       else if (len == 8)
-	regcache_cooked_write (regcache, NDS32_FD0_REGNUM, valbuf);
+	regcache->cooked_write (NDS32_FD0_REGNUM, valbuf);
       else
 	internal_error (__FILE__, __LINE__,
 			_("Cannot store return value of %d bytes "
@@ -1849,7 +1847,7 @@ nds32_store_return_value (struct gdbarch
 	}
       else if (len == 4)
 	{
-	  regcache_cooked_write (regcache, NDS32_R0_REGNUM, valbuf);
+	  regcache->cooked_write (NDS32_R0_REGNUM, valbuf);
 	}
       else if (len < 8)
 	{
@@ -1867,8 +1865,8 @@ nds32_store_return_value (struct gdbarch
 	}
       else
 	{
-	  regcache_cooked_write (regcache, NDS32_R0_REGNUM, valbuf);
-	  regcache_cooked_write (regcache, NDS32_R0_REGNUM + 1, valbuf + 4);
+	  regcache->cooked_write (NDS32_R0_REGNUM, valbuf);
+	  regcache->cooked_write (NDS32_R0_REGNUM + 1, valbuf + 4);
 	}
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/NEWS ./gdb/NEWS
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/NEWS	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/NEWS	2018-07-10 02:06:12.000000000 +0000
@@ -1,6 +1,109 @@
 		What has changed in GDB?
 	     (Organized release by release)
 
+*** Changes in GDB 8.2
+
+* The 'set disassembler-options' command now supports specifying options
+  for the MIPS target.
+
+* The 'symbol-file' command now accepts an '-o' option to add a relative
+  offset to all sections.
+
+* Similarly, the 'add-symbol-file' command also accepts an '-o' option to add
+  a relative offset to all sections, but it allows to override the load
+  address of individual sections using '-s'.
+
+* The 'add-symbol-file' command no longer requires the second argument
+  (address of the text section).
+
+* The endianness used with the 'set endian auto' mode in the absence of
+  an executable selected for debugging is now the last endianness chosen
+  either by one of the 'set endian big' and 'set endian little' commands
+  or by inferring from the last executable used, rather than the startup
+  default.
+
+* The pager now allows a "c" response, meaning to disable the pager
+  for the rest of the current command.
+
+* The commands 'info variables/functions/types' now show the source line
+  numbers of symbol definitions when available.
+
+* 'info proc' now works on running processes on FreeBSD systems and core
+  files created on FreeBSD systems.
+
+* C expressions can now use _Alignof, and C++ expressions can now use
+  alignof.
+
+* New commands
+
+set debug fbsd-nat
+show debug fbsd-nat
+  Control display of debugging info regarding the FreeBSD native target.
+
+set|show varsize-limit
+  This new setting allows the user to control the maximum size of Ada
+  objects being printed when those objects have a variable type,
+  instead of that maximum size being hardcoded to 65536 bytes.
+
+set|show record btrace cpu
+  Controls the processor to be used for enabling errata workarounds for
+  branch trace decode.
+
+maint check libthread-db
+  Run integrity checks on the current inferior's thread debugging
+  library
+
+maint set check-libthread-db (on|off)
+maint show check-libthread-db
+  Control whether to run integrity checks on inferior specific thread
+  debugging libraries as they are loaded.  The default is not to
+  perform such checks.
+
+* Python API
+
+  ** Type alignment is now exposed via the "align" attribute of a gdb.Type.
+
+  ** The commands attached to a breakpoint can be set by assigning to
+     the breakpoint's "commands" field.
+
+  ** gdb.execute can now execute multi-line gdb commands.
+
+  ** The new functions gdb.convenience_variable and
+     gdb.set_convenience_variable can be used to get and set the value
+     of convenience variables.
+
+  ** A gdb.Parameter will no longer print the "set" help text on an
+     ordinary "set"; instead by default a "set" will be silent unless
+     the get_set_string method returns a non-empty string.
+
+* New targets
+
+RiscV ELF			riscv*-*-elf
+
+* Removed targets and native configurations
+
+m88k running OpenBSD  		m88*-*-openbsd*
+SH-5/SH64 ELF			sh64-*-elf*, SH-5/SH64 support in sh*
+SH-5/SH64 running GNU/Linux	SH-5/SH64 support in sh*-*-linux*
+SH-5/SH64 running OpenBSD 	SH-5/SH64 support in sh*-*-openbsd*
+
+* Aarch64/Linux hardware watchpoints improvements
+
+  Hardware watchpoints on unaligned addresses are now properly
+  supported when running Linux kernel 4.10 or higher: read and access
+  watchpoints are no longer spuriously missed, and all watchpoints
+  lengths between 1 and 8 bytes are supported.  On older kernels,
+  watchpoints set on unaligned addresses are no longer missed, with
+  the tradeoff that there is a possibility of false hits being
+  reported.
+
+* New configure options
+
+--enable-codesign=CERT
+  This can be used to invoke "codesign -s CERT" after building gdb.
+  This option is useful on macOS, where code signing is required for
+  gdb to work properly.
+
 *** Changes in GDB 8.1
 
 * GDB now supports dynamically creating arbitrary register groups specified
@@ -372,6 +475,10 @@ show disassembler-options
   List the shared libraries in the program.  This is
   equivalent to the CLI command "info shared".
 
+-catch-handlers
+  Catchpoints stopping the program when Ada exceptions are
+  handled.  This is equivalent to the CLI command "catch handlers".
+
 *** Changes in GDB 7.12
 
 * GDB and GDBserver now build with a C++ compiler by default.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nios2-linux-tdep.c ./gdb/nios2-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nios2-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nios2-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -67,10 +67,9 @@ nios2_supply_gregset (const struct regse
     if (regnum == -1 || regnum == regno)
       {
 	if (reg_offsets[regno] != -1)
-	  regcache_raw_supply (regcache, regno,
-			       gregs + 4 * reg_offsets[regno]);
+	  regcache->raw_supply (regno, gregs + 4 * reg_offsets[regno]);
 	else
-	  regcache_raw_supply (regcache, regno, zero_buf);
+	  regcache->raw_supply (regno, zero_buf);
       }
 }
 
@@ -88,8 +87,7 @@ nios2_collect_gregset (const struct regs
     if (regnum == -1 || regnum == regno)
       {
 	if (reg_offsets[regno] != -1)
-	  regcache_raw_collect (regcache, regno,
-				gregs + 4 * reg_offsets[regno]);
+	  regcache->raw_collect (regno, gregs + 4 * reg_offsets[regno]);
       }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nios2-tdep.c ./gdb/nios2-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nios2-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nios2-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -207,13 +207,13 @@ nios2_extract_return_value (struct gdbar
 
   /* Return values of up to 8 bytes are returned in $r2 $r3.  */
   if (len <= register_size (gdbarch, NIOS2_R2_REGNUM))
-    regcache_cooked_read (regcache, NIOS2_R2_REGNUM, valbuf);
+    regcache->cooked_read (NIOS2_R2_REGNUM, valbuf);
   else
     {
       gdb_assert (len <= (register_size (gdbarch, NIOS2_R2_REGNUM)
 			  + register_size (gdbarch, NIOS2_R3_REGNUM)));
-      regcache_cooked_read (regcache, NIOS2_R2_REGNUM, valbuf);
-      regcache_cooked_read (regcache, NIOS2_R3_REGNUM, valbuf + 4);
+      regcache->cooked_read (NIOS2_R2_REGNUM, valbuf);
+      regcache->cooked_read (NIOS2_R3_REGNUM, valbuf + 4);
     }
 }
 
@@ -228,13 +228,13 @@ nios2_store_return_value (struct gdbarch
 
   /* Return values of up to 8 bytes are returned in $r2 $r3.  */
   if (len <= register_size (gdbarch, NIOS2_R2_REGNUM))
-    regcache_cooked_write (regcache, NIOS2_R2_REGNUM, valbuf);
+    regcache->cooked_write (NIOS2_R2_REGNUM, valbuf);
   else
     {
       gdb_assert (len <= (register_size (gdbarch, NIOS2_R2_REGNUM)
 			  + register_size (gdbarch, NIOS2_R3_REGNUM)));
-      regcache_cooked_write (regcache, NIOS2_R2_REGNUM, valbuf);
-      regcache_cooked_write (regcache, NIOS2_R3_REGNUM, valbuf + 4);
+      regcache->cooked_write (NIOS2_R2_REGNUM, valbuf);
+      regcache->cooked_write (NIOS2_R3_REGNUM, valbuf + 4);
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nto-procfs.c ./gdb/nto-procfs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nto-procfs.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nto-procfs.c	2018-07-10 02:06:13.000000000 +0000
@@ -43,6 +43,7 @@
 #include "solib.h"
 #include "inf-child.h"
 #include "common/filestuff.h"
+#include "common/scoped_fd.h"
 
 #define NULL_PID		0
 #define _DEBUG_FLAG_TRACE	(_DEBUG_FLAG_TRACE_EXEC|_DEBUG_FLAG_TRACE_RD|\
@@ -54,22 +55,107 @@ static sighandler_t ofunc;
 
 static procfs_run run;
 
-static ptid_t do_attach (ptid_t ptid);
+/* Create the "native" and "procfs" targets.  */
+
+struct nto_procfs_target : public inf_child_target
+{
+  void open (const char *arg, int from_tty) override;
+
+  void attach (const char *, int) override = 0;
+
+  void post_attach (int);
+
+  void detach (inferior *, int) override;
+
+  void resume (ptid_t, int, enum gdb_signal) override;
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  void files_info () override;
+
+  int insert_breakpoint (struct gdbarch *, struct bp_target_info *) override;
+
+  int remove_breakpoint (struct gdbarch *, struct bp_target_info *,
+			 enum remove_bp_reason) override;
+
+  int can_use_hw_breakpoint (enum bptype, int, int) override;
+
+  int insert_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override;
+
+  int remove_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override;
+
+  int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+
+  int remove_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+
+  bool stopped_by_watchpoint () override;
+
+  void kill () override;
+
+  void create_inferior (const char *, const std::string &,
+			char **, int) override;
+
+  void mourn_inferior () override;
+
+  void pass_signals (int, unsigned char *) override;
+
+  bool thread_alive (ptid_t ptid) override;
+
+  void update_thread_list () override;
+
+  const char *pid_to_str (ptid_t) override;
 
-static int procfs_can_use_hw_breakpoint (struct target_ops *self,
-					 enum bptype, int, int);
+  void interrupt () override;
 
-static int procfs_insert_hw_watchpoint (struct target_ops *self,
-					CORE_ADDR addr, int len,
-					enum target_hw_bp_type type,
-					struct expression *cond);
-
-static int procfs_remove_hw_watchpoint (struct target_ops *self,
-					CORE_ADDR addr, int len,
-					enum target_hw_bp_type type,
-					struct expression *cond);
+  bool have_continuable_watchpoint ()
+  { return true; }
 
-static int procfs_stopped_by_watchpoint (struct target_ops *ops);
+  const char *extra_thread_info (struct thread_info *) override;
+
+  char *pid_to_exec_file (int pid) override;
+};
+
+/* For "target native".  */
+
+static const target_info nto_native_target_info = {
+  "native",
+  N_("QNX Neutrino local process"),
+  N_("QNX Neutrino local process (started by the \"run\" command).")
+};
+
+class nto_procfs_target_native final : public nto_procfs_target
+{
+  const target_info &info () const override
+  { return nto_native_target_info; }
+};
+
+/* For "target procfs <node>".  */
+
+static const target_info nto_procfs_target_info = {
+  "procfs",
+  N_("QNX Neutrino local or remote process"),
+  N_("QNX Neutrino process.  target procfs <node>")
+};
+
+struct nto_procfs_target_procfs final : public nto_procfs_target
+{
+  const target_info &info () const override
+  { return nto_procfs_target_info; }
+};
+
+static ptid_t do_attach (ptid_t ptid);
 
 /* These two globals are only ever set in procfs_open_1, but are
    referenced elsewhere.  'nto_procfs_node' is a flag used to say
@@ -108,14 +194,13 @@ procfs_is_nto_target (bfd *abfd)
    <arg>' from the (gdb) prompt.  For QNX6 (nto), the only valid arg
    will be a QNX node string, eg: "/net/some_node".  If arg is not a
    valid QNX node, we will default to local.  */
-static void
-procfs_open_1 (struct target_ops *ops, const char *arg, int from_tty)
+void
+nto_procfs_target::open (const char *arg, int from_tty)
 {
   char *endstr;
   char buffer[50];
-  int fd, total_size;
+  int total_size;
   procfs_sysinfo *sysinfo;
-  struct cleanup *cleanups;
   char nto_procfs_path[PATH_MAX];
 
   /* Offer to kill previous inferiors before opening this target.  */
@@ -158,17 +243,16 @@ procfs_open_1 (struct target_ops *ops, c
   snprintf (nto_procfs_path, PATH_MAX - 1, "%s%s",
 	    (nodestr != NULL) ? nodestr : "", "/proc");
 
-  fd = open (nto_procfs_path, O_RDONLY);
-  if (fd == -1)
+  scoped_fd fd (open (nto_procfs_path, O_RDONLY));
+  if (fd.get () == -1)
     {
       printf_filtered ("Error opening %s : %d (%s)\n", nto_procfs_path, errno,
 		       safe_strerror (errno));
       error (_("Invalid procfs arg"));
     }
-  cleanups = make_cleanup_close (fd);
 
   sysinfo = (void *) buffer;
-  if (devctl (fd, DCMD_PROC_SYSINFO, sysinfo, sizeof buffer, 0) != EOK)
+  if (devctl (fd.get (), DCMD_PROC_SYSINFO, sysinfo, sizeof buffer, 0) != EOK)
     {
       printf_filtered ("Error getting size: %d (%s)\n", errno,
 		       safe_strerror (errno));
@@ -186,7 +270,8 @@ procfs_open_1 (struct target_ops *ops, c
 	}
       else
 	{
-	  if (devctl (fd, DCMD_PROC_SYSINFO, sysinfo, total_size, 0) != EOK)
+	  if (devctl (fd.get (), DCMD_PROC_SYSINFO, sysinfo, total_size, 0)
+	      != EOK)
 	    {
 	      printf_filtered ("Error getting sysinfo: %d (%s)\n", errno,
 			       safe_strerror (errno));
@@ -201,9 +286,8 @@ procfs_open_1 (struct target_ops *ops, c
 	    }
 	}
     }
-  do_cleanups (cleanups);
 
-  inf_child_open_target (ops, arg, from_tty);
+  inf_child_target::open (arg, from_tty);
   printf_filtered ("Debugging using %s\n", nto_procfs_path);
 }
 
@@ -212,29 +296,30 @@ procfs_set_thread (ptid_t ptid)
 {
   pid_t tid;
 
-  tid = ptid_get_tid (ptid);
+  tid = ptid.tid ();
   devctl (ctl_fd, DCMD_PROC_CURTHREAD, &tid, sizeof (tid), 0);
 }
 
-/*  Return nonzero if the thread TH is still alive.  */
-static int
-procfs_thread_alive (struct target_ops *ops, ptid_t ptid)
+/*  Return true if the thread TH is still alive.  */
+
+bool
+nto_procfs_target::thread_alive (ptid_t ptid)
 {
   pid_t tid;
   pid_t pid;
   procfs_status status;
   int err;
 
-  tid = ptid_get_tid (ptid);
-  pid = ptid_get_pid (ptid);
+  tid = ptid.tid ();
+  pid = ptid.pid ();
 
   if (kill (pid, 0) == -1)
-    return 0;
+    return false;
 
   status.tid = tid;
   if ((err = devctl (ctl_fd, DCMD_PROC_TIDSTATUS,
 		     &status, sizeof (status), 0)) != EOK)
-    return 0;
+    return false;
 
   /* Thread is alive or dead but not yet joined,
      or dead and there is an alive (or dead unjoined) thread with
@@ -299,8 +384,8 @@ update_thread_private_data (struct threa
 #endif /* _NTO_VERSION */
 }
 
-static void
-procfs_update_thread_list (struct target_ops *ops)
+void
+nto_procfs_target::update_thread_list ()
 {
   procfs_status status;
   pid_t pid;
@@ -313,7 +398,7 @@ procfs_update_thread_list (struct target
 
   prune_threads ();
 
-  pid = ptid_get_pid (inferior_ptid);
+  pid = inferior_ptid.pid ();
 
   status.tid = 1;
 
@@ -328,7 +413,7 @@ procfs_update_thread_list (struct target
 	   returned different tid, meaning the requested tid no longer exists
 	   (e.g. thread exited).  */
 	continue;
-      ptid = ptid_build (pid, 0, tid);
+      ptid = ptid_t (pid, 0, tid);
       new_thread = find_thread_ptid (ptid);
       if (!new_thread)
 	new_thread = add_thread (ptid);
@@ -339,15 +424,8 @@ procfs_update_thread_list (struct target
 }
 
 static void
-do_closedir_cleanup (void *dir)
-{
-  closedir (dir);
-}
-
-static void
 procfs_pidlist (const char *args, int from_tty)
 {
-  DIR *dp = NULL;
   struct dirent *dirp = NULL;
   char buf[PATH_MAX];
   procfs_info *pidinfo = NULL;
@@ -356,13 +434,12 @@ procfs_pidlist (const char *args, int fr
   pid_t num_threads = 0;
   pid_t pid;
   char name[512];
-  struct cleanup *cleanups;
   char procfs_dir[PATH_MAX];
 
   snprintf (procfs_dir, sizeof (procfs_dir), "%s%s",
 	    (nodestr != NULL) ? nodestr : "", "/proc");
 
-  dp = opendir (procfs_dir);
+  gdb_dir_up dp (opendir (procfs_dir));
   if (dp == NULL)
     {
       fprintf_unfiltered (gdb_stderr, "failed to opendir \"%s\" - %d (%s)",
@@ -370,25 +447,17 @@ procfs_pidlist (const char *args, int fr
       return;
     }
 
-  cleanups = make_cleanup (do_closedir_cleanup, dp);
-
   /* Start scan at first pid.  */
-  rewinddir (dp);
+  rewinddir (dp.get ());
 
   do
     {
-      int fd;
-      struct cleanup *inner_cleanup;
-
       /* Get the right pid and procfs path for the pid.  */
       do
 	{
-	  dirp = readdir (dp);
+	  dirp = readdir (dp.get ());
 	  if (dirp == NULL)
-	    {
-	      do_cleanups (cleanups);
-	      return;
-	    }
+	    return;
 	  snprintf (buf, sizeof (buf), "%s%s/%s/as",
 		    (nodestr != NULL) ? nodestr : "",
 		    "/proc", dirp->d_name);
@@ -397,17 +466,16 @@ procfs_pidlist (const char *args, int fr
       while (pid == 0);
 
       /* Open the procfs path.  */
-      fd = open (buf, O_RDONLY);
-      if (fd == -1)
+      scoped_fd fd (open (buf, O_RDONLY));
+      if (fd.get () == -1)
 	{
 	  fprintf_unfiltered (gdb_stderr, "failed to open %s - %d (%s)\n",
 			      buf, errno, safe_strerror (errno));
 	  continue;
 	}
-      inner_cleanup = make_cleanup_close (fd);
 
       pidinfo = (procfs_info *) buf;
-      if (devctl (fd, DCMD_PROC_INFO, pidinfo, sizeof (buf), 0) != EOK)
+      if (devctl (fd.get (), DCMD_PROC_INFO, pidinfo, sizeof (buf), 0) != EOK)
 	{
 	  fprintf_unfiltered (gdb_stderr,
 			      "devctl DCMD_PROC_INFO failed - %d (%s)\n",
@@ -417,7 +485,8 @@ procfs_pidlist (const char *args, int fr
       num_threads = pidinfo->num_threads;
 
       info = (procfs_debuginfo *) buf;
-      if (devctl (fd, DCMD_PROC_MAPDEBUG_BASE, info, sizeof (buf), 0) != EOK)
+      if (devctl (fd.get (), DCMD_PROC_MAPDEBUG_BASE, info, sizeof (buf), 0)
+	  != EOK)
 	strcpy (name, "unavailable");
       else
 	strcpy (name, info->path);
@@ -427,7 +496,7 @@ procfs_pidlist (const char *args, int fr
       for (status->tid = 1; status->tid <= num_threads; status->tid++)
 	{
 	  const int err
-	    = devctl (fd, DCMD_PROC_TIDSTATUS, status, sizeof (buf), 0);
+	    = devctl (fd.get (), DCMD_PROC_TIDSTATUS, status, sizeof (buf), 0);
 	  printf_filtered ("%s - %d", name, pid);
 	  if (err == EOK && status->tid != 0)
 	    printf_filtered ("/%d\n", status->tid);
@@ -437,13 +506,8 @@ procfs_pidlist (const char *args, int fr
 	      break;
 	    }
 	}
-
-      do_cleanups (inner_cleanup);
     }
   while (dirp != NULL);
-
-  do_cleanups (cleanups);
-  return;
 }
 
 static void
@@ -592,8 +656,8 @@ procfs_meminfo (const char *args, int fr
 }
 
 /* Print status information about what we're accessing.  */
-static void
-procfs_files_info (struct target_ops *ignore)
+void
+nto_procfs_target::files_info ()
 {
   struct inferior *inf = current_inferior ();
 
@@ -605,8 +669,8 @@ procfs_files_info (struct target_ops *ig
 
 /* Target to_pid_to_exec_file implementation.  */
 
-static char *
-procfs_pid_to_exec_file (struct target_ops *ops, const int pid)
+char *
+nto_procfs_target::pid_to_exec_file (const int pid)
 {
   int proc_fd;
   static char proc_path[PATH_MAX];
@@ -631,8 +695,8 @@ procfs_pid_to_exec_file (struct target_o
 }
 
 /* Attach to process PID, then initialize for debugging it.  */
-static void
-procfs_attach (struct target_ops *ops, const char *args, int from_tty)
+void
+nto_procfs_target::attach (const char *args, int from_tty)
 {
   char *exec_file;
   int pid;
@@ -649,14 +713,14 @@ procfs_attach (struct target_ops *ops, c
 
       if (exec_file)
 	printf_unfiltered ("Attaching to program `%s', %s\n", exec_file,
-			   target_pid_to_str (pid_to_ptid (pid)));
+			   target_pid_to_str (ptid_t (pid)));
       else
 	printf_unfiltered ("Attaching to %s\n",
-			   target_pid_to_str (pid_to_ptid (pid)));
+			   target_pid_to_str (ptid_t (pid)));
 
       gdb_flush (gdb_stdout);
     }
-  inferior_ptid = do_attach (pid_to_ptid (pid));
+  inferior_ptid = do_attach (ptid_t (pid));
   inf = current_inferior ();
   inferior_appeared (inf, pid);
   inf->attach_flag = 1;
@@ -667,8 +731,8 @@ procfs_attach (struct target_ops *ops, c
   procfs_update_thread_list (ops);
 }
 
-static void
-procfs_post_attach (struct target_ops *self, pid_t pid)
+void
+nto_procfs_target::post_attach (pid_t pid)
 {
   if (exec_bfd)
     solib_create_inferior_hook (0);
@@ -682,7 +746,7 @@ do_attach (ptid_t ptid)
   char path[PATH_MAX];
 
   snprintf (path, PATH_MAX - 1, "%s%s/%d/as",
-	    (nodestr != NULL) ? nodestr : "", "/proc", ptid_get_pid (ptid));
+	    (nodestr != NULL) ? nodestr : "", "/proc", ptid.pid ());
   ctl_fd = open (path, O_RDWR);
   if (ctl_fd == -1)
     error (_("Couldn't open proc file %s, error %d (%s)"), path, errno,
@@ -700,9 +764,9 @@ do_attach (ptid_t ptid)
 
   if (devctl (ctl_fd, DCMD_PROC_STATUS, &status, sizeof (status), 0) == EOK
       && status.flags & _DEBUG_FLAG_STOPPED)
-    SignalKill (nto_node (), ptid_get_pid (ptid), 0, SIGCONT, 0, 0);
+    SignalKill (nto_node (), ptid.pid (), 0, SIGCONT, 0, 0);
   nto_init_solib_absolute_prefix ();
-  return ptid_build (ptid_get_pid (ptid), 0, status.tid);
+  return ptid_t (ptid.pid (), 0, status.tid);
 }
 
 /* Ask the user what to do when an interrupt is received.  */
@@ -732,12 +796,12 @@ nto_handle_sigint (int signo)
   /* If this doesn't work, try more severe steps.  */
   signal (signo, nto_handle_sigint_twice);
 
-  target_interrupt (inferior_ptid);
+  target_interrupt ();
 }
 
-static ptid_t
-procfs_wait (struct target_ops *ops,
-	     ptid_t ptid, struct target_waitstatus *ourstatus, int options)
+sptid_t
+nto_procfs_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
+			 int options)
 {
   sigset_t set;
   siginfo_t info;
@@ -746,7 +810,7 @@ procfs_wait (struct target_ops *ops,
 
   ourstatus->kind = TARGET_WAITKIND_SPURIOUS;
 
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     {
       ourstatus->kind = TARGET_WAITKIND_STOPPED;
       ourstatus->value.sig = GDB_SIGNAL_0;
@@ -809,7 +873,7 @@ procfs_wait (struct target_ops *ops,
 	  {
 	    int waitval = 0;
 
-	    waitpid (ptid_get_pid (inferior_ptid), &waitval, WNOHANG);
+	    waitpid (inferior_ptid.pid (), &waitval, WNOHANG);
 	    if (exit_signo)
 	      {
 		/* Abnormal death.  */
@@ -835,15 +899,14 @@ procfs_wait (struct target_ops *ops,
 	}
     }
 
-  return ptid_build (status.pid, 0, status.tid);
+  return ptid_t (status.pid, 0, status.tid);
 }
 
 /* Read the current values of the inferior's registers, both the
    general register set and floating point registers (if supported)
    and update gdb's idea of their current values.  */
-static void
-procfs_fetch_registers (struct target_ops *ops,
-			struct regcache *regcache, int regno)
+void
+nto_procfs_target::fetch_registers (struct regcache *regcache, int regno)
 {
   union
   {
@@ -854,7 +917,7 @@ procfs_fetch_registers (struct target_op
   reg;
   int regsize;
 
-  procfs_set_thread (regcache_get_ptid (regcache));
+  procfs_set_thread (regcache->ptid ());
   if (devctl (ctl_fd, DCMD_PROC_GETGREG, &reg, sizeof (reg), &regsize) == EOK)
     nto_supply_gregset (regcache, (char *) &reg.greg);
   if (devctl (ctl_fd, DCMD_PROC_GETFPREG, &reg, sizeof (reg), &regsize)
@@ -889,11 +952,11 @@ procfs_xfer_memory (gdb_byte *readbuf, c
 
 /* Target to_xfer_partial implementation.  */
 
-static enum target_xfer_status
-procfs_xfer_partial (struct target_ops *ops, enum target_object object,
-		     const char *annex, gdb_byte *readbuf,
-		     const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-		     ULONGEST *xfered_len)
+enum target_xfer_status
+nto_procfs_target::xfer_partial (enum target_object object,
+				 const char *annex, gdb_byte *readbuf,
+				 const gdb_byte *writebuf, ULONGEST offset,
+				 ULONGEST len, ULONGEST *xfered_len)
 {
   switch (object)
     {
@@ -932,9 +995,9 @@ procfs_xfer_partial (struct target_ops *
 	}
 	/* Fallthru */
     default:
-      return ops->beneath->to_xfer_partial (ops->beneath, object, annex,
-					    readbuf, writebuf, offset, len,
-					    xfered_len);
+      return this->beneath ()->xfer_partial (object, annex,
+					     readbuf, writebuf, offset, len,
+					     xfered_len);
     }
 }
 
@@ -942,24 +1005,20 @@ procfs_xfer_partial (struct target_ops *
    The program resumes execution and will no longer stop
    on signals, etc.  We'd better not have left any breakpoints
    in the program or it'll die when it hits one.  */
-static void
-procfs_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+nto_procfs_target::detach (inferior *inf, int from_tty)
 {
-  int siggnal = 0;
   int pid;
 
   target_announce_detach ();
 
-  if (args)
-    siggnal = atoi (args);
-
   if (siggnal)
-    SignalKill (nto_node (), ptid_get_pid (inferior_ptid), 0, siggnal, 0, 0);
+    SignalKill (nto_node (), inferior_ptid.pid (), 0, 0, 0, 0);
 
   close (ctl_fd);
   ctl_fd = -1;
 
-  pid = ptid_get_pid (inferior_ptid);
+  pid = inferior_ptid.pid ();
   inferior_ptid = null_ptid;
   detach_inferior (pid);
   init_thread_list ();
@@ -980,52 +1039,50 @@ procfs_breakpoint (CORE_ADDR addr, int t
   return 0;
 }
 
-static int
-procfs_insert_breakpoint (struct target_ops *ops, struct gdbarch *gdbarch,
-			  struct bp_target_info *bp_tgt)
+int
+nto_procfs_target::insert_breakpoint (struct gdbarch *gdbarch,
+				      struct bp_target_info *bp_tgt)
 {
   bp_tgt->placed_address = bp_tgt->reqstd_address;
   return procfs_breakpoint (bp_tgt->placed_address, _DEBUG_BREAK_EXEC, 0);
 }
 
-static int
-procfs_remove_breakpoint (struct target_ops *ops, struct gdbarch *gdbarch,
-			  struct bp_target_info *bp_tgt,
-			  enum remove_bp_reason reason)
+int
+nto_procfs_target::remove_breakpoint (struct gdbarch *gdbarch,
+				      struct bp_target_info *bp_tgt,
+				      enum remove_bp_reason reason)
 {
   return procfs_breakpoint (bp_tgt->placed_address, _DEBUG_BREAK_EXEC, -1);
 }
 
-static int
-procfs_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
-			     struct bp_target_info *bp_tgt)
+int
+nto_procfs_target::insert_hw_breakpoint (struct gdbarch *gdbarch,
+					 struct bp_target_info *bp_tgt)
 {
   bp_tgt->placed_address = bp_tgt->reqstd_address;
   return procfs_breakpoint (bp_tgt->placed_address,
 			    _DEBUG_BREAK_EXEC | _DEBUG_BREAK_HW, 0);
 }
 
-static int
-procfs_remove_hw_breakpoint (struct target_ops *self,
-			     struct gdbarch *gdbarch,
-			     struct bp_target_info *bp_tgt)
+int
+nto_procfs_target::remove_hw_breakpoint (struct gdbarch *gdbarch,
+					 struct bp_target_info *bp_tgt)
 {
   return procfs_breakpoint (bp_tgt->placed_address,
 			    _DEBUG_BREAK_EXEC | _DEBUG_BREAK_HW, -1);
 }
 
-static void
-procfs_resume (struct target_ops *ops,
-	       ptid_t ptid, int step, enum gdb_signal signo)
+void
+nto_procfs_target::resume (ptid_t ptid, int step, enum gdb_signal signo)
 {
   int signal_to_pass;
   procfs_status status;
   sigset_t *run_fault = (sigset_t *) (void *) &run.fault;
 
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     return;
 
-  procfs_set_thread (ptid_equal (ptid, minus_one_ptid) ? inferior_ptid :
+  procfs_set_thread (ptid == minus_one_ptid ? inferior_ptid :
 		     ptid);
 
   run.flags = _DEBUG_RUN_FAULT | _DEBUG_RUN_TRACE;
@@ -1056,7 +1113,7 @@ procfs_resume (struct target_ops *ops,
 	{
 	  if (signal_to_pass != status.info.si_signo)
 	    {
-	      SignalKill (nto_node (), ptid_get_pid (inferior_ptid), 0,
+	      SignalKill (nto_node (), inferior_ptid.pid (), 0,
 			  signal_to_pass, 0, 0);
 	      run.flags |= _DEBUG_RUN_CLRFLT | _DEBUG_RUN_CLRSIG;
 	    }
@@ -1075,12 +1132,12 @@ procfs_resume (struct target_ops *ops,
     }
 }
 
-static void
-procfs_mourn_inferior (struct target_ops *ops)
+void
+nto_procfs_target::mourn_inferior ()
 {
-  if (!ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid != null_ptid)
     {
-      SignalKill (nto_node (), ptid_get_pid (inferior_ptid), 0, SIGKILL, 0, 0);
+      SignalKill (nto_node (), inferior_ptid.pid (), 0, SIGKILL, 0, 0);
       close (ctl_fd);
     }
   inferior_ptid = null_ptid;
@@ -1148,10 +1205,10 @@ breakup_args (char *scratch, char **argv
   *argv = NULL;
 }
 
-static void
-procfs_create_inferior (struct target_ops *ops, const char *exec_file,
-			const std::string &allargs,
-			char **env, int from_tty)
+void
+nto_procfs_target::create_inferior (const char *exec_file,
+				    const std::string &allargs,
+				    char **env, int from_tty)
 {
   struct inheritance inherit;
   pid_t pid;
@@ -1254,7 +1311,7 @@ procfs_create_inferior (struct target_op
   if (fds[2] != STDERR_FILENO)
     close (fds[2]);
 
-  inferior_ptid = do_attach (pid_to_ptid (pid));
+  inferior_ptid = do_attach (ptid_t (pid));
   procfs_update_thread_list (ops);
 
   inf = current_inferior ();
@@ -1278,14 +1335,14 @@ procfs_create_inferior (struct target_op
     solib_create_inferior_hook (0);
 }
 
-static void
-procfs_interrupt (struct target_ops *self, ptid_t ptid)
+void
+nto_procfs_target::interrupt ()
 {
   devctl (ctl_fd, DCMD_PROC_STOP, NULL, 0, 0);
 }
 
-static void
-procfs_kill_inferior (struct target_ops *ops)
+void
+nto_procfs_target::kill ()
 {
   target_mourn_inferior (inferior_ptid);
 }
@@ -1323,9 +1380,8 @@ get_regset (int regset, char *buf, int b
   return dev_set;
 }
 
-static void
-procfs_store_registers (struct target_ops *ops,
-			struct regcache *regcache, int regno)
+void
+nto_procfs_target::store_registers (struct regcache *regcache, int regno)
 {
   union
   {
@@ -1337,9 +1393,9 @@ procfs_store_registers (struct target_op
   unsigned off;
   int len, regset, regsize, dev_set, err;
   char *data;
-  ptid_t ptid = regcache_get_ptid (regcache);
+  ptid_t ptid = regcache->ptid ();
 
-  if (ptid_equal (ptid, null_ptid))
+  if (ptid == null_ptid)
     return;
   procfs_set_thread (ptid);
 
@@ -1378,7 +1434,7 @@ procfs_store_registers (struct target_op
       if (len < 1)
 	return;
 
-      regcache_raw_collect (regcache, regno, (char *) &reg + off);
+      regcache->raw_collect (regno, (char *) &reg + off);
 
       err = devctl (ctl_fd, dev_set, &reg, regsize, 0);
       if (err != EOK)
@@ -1390,9 +1446,8 @@ procfs_store_registers (struct target_op
 
 /* Set list of signals to be handled in the target.  */
 
-static void
-procfs_pass_signals (struct target_ops *self,
-		     int numsigs, unsigned char *pass_signals)
+void
+nto_procfs_target::pass_signals (int numsigs, unsigned char *pass_signals)
 {
   int signo;
 
@@ -1406,15 +1461,15 @@ procfs_pass_signals (struct target_ops *
     }
 }
 
-static char *
-procfs_pid_to_str (struct target_ops *ops, ptid_t ptid)
+char *
+nto_procfs_target::pid_to_str (ptid_t ptid)
 {
   static char buf[1024];
   int pid, tid, n;
   struct tidinfo *tip;
 
-  pid = ptid_get_pid (ptid);
-  tid = ptid_get_tid (ptid);
+  pid = ptid.pid ();
+  tid = ptid.tid ();
 
   n = snprintf (buf, 1023, "process %d", pid);
 
@@ -1433,88 +1488,29 @@ procfs_pid_to_str (struct target_ops *op
   "target procfs <node>" wouldn't make sense as default run target, as
   it needs <node>.  */
 
-static int
-procfs_can_run (struct target_ops *self)
+int
+nto_procfs_target::can_run ()
 {
   return 0;
 }
 
 /* "target procfs".  */
-static struct target_ops nto_procfs_ops;
+static nto_procfs_target_procfs nto_procfs_ops;
 
 /* "target native".  */
-static struct target_ops *nto_native_ops;
-
-/* to_open implementation for "target procfs".  */
-
-static void
-procfs_open (const char *arg, int from_tty)
-{
-  procfs_open_1 (&nto_procfs_ops, arg, from_tty);
-}
-
-/* to_open implementation for "target native".  */
-
-static void
-procfs_native_open (const char *arg, int from_tty)
-{
-  procfs_open_1 (nto_native_ops, arg, from_tty);
-}
+static nto_procfs_target_native nto_native_ops;
 
 /* Create the "native" and "procfs" targets.  */
 
 static void
 init_procfs_targets (void)
 {
-  struct target_ops *t = inf_child_target ();
-
-  /* Leave to_shortname as "native".  */
-  t->to_longname = "QNX Neutrino local process";
-  t->to_doc = "QNX Neutrino local process (started by the \"run\" command).";
-  t->to_open = procfs_native_open;
-  t->to_attach = procfs_attach;
-  t->to_post_attach = procfs_post_attach;
-  t->to_detach = procfs_detach;
-  t->to_resume = procfs_resume;
-  t->to_wait = procfs_wait;
-  t->to_fetch_registers = procfs_fetch_registers;
-  t->to_store_registers = procfs_store_registers;
-  t->to_xfer_partial = procfs_xfer_partial;
-  t->to_files_info = procfs_files_info;
-  t->to_insert_breakpoint = procfs_insert_breakpoint;
-  t->to_remove_breakpoint = procfs_remove_breakpoint;
-  t->to_can_use_hw_breakpoint = procfs_can_use_hw_breakpoint;
-  t->to_insert_hw_breakpoint = procfs_insert_hw_breakpoint;
-  t->to_remove_hw_breakpoint = procfs_remove_hw_breakpoint;
-  t->to_insert_watchpoint = procfs_insert_hw_watchpoint;
-  t->to_remove_watchpoint = procfs_remove_hw_watchpoint;
-  t->to_stopped_by_watchpoint = procfs_stopped_by_watchpoint;
-  t->to_kill = procfs_kill_inferior;
-  t->to_create_inferior = procfs_create_inferior;
-  t->to_mourn_inferior = procfs_mourn_inferior;
-  t->to_pass_signals = procfs_pass_signals;
-  t->to_thread_alive = procfs_thread_alive;
-  t->to_update_thread_list = procfs_update_thread_list;
-  t->to_pid_to_str = procfs_pid_to_str;
-  t->to_interrupt = procfs_interrupt;
-  t->to_have_continuable_watchpoint = 1;
-  t->to_extra_thread_info = nto_extra_thread_info;
-  t->to_pid_to_exec_file = procfs_pid_to_exec_file;
-
-  nto_native_ops = t;
-
   /* Register "target native".  This is the default run target.  */
-  add_target (t);
+  add_target (nto_native_target_info, inf_child_open_target);
+  set_native_target (&nto_native_ops);
 
   /* Register "target procfs <node>".  */
-  nto_procfs_ops = *t;
-  nto_procfs_ops.to_shortname = "procfs";
-  nto_procfs_ops.to_can_run = procfs_can_run;
-  t->to_longname = "QNX Neutrino local or remote process";
-  t->to_doc = "QNX Neutrino process.  target procfs <node>";
-  t->to_open = procfs_open;
-
-  add_target (&nto_procfs_ops);
+  add_target (nto_procfs_target_info, inf_child_open_target);
 }
 
 #define OSTYPE_NTO 1
@@ -1576,34 +1572,31 @@ procfs_hw_watchpoint (int addr, int len,
   return 0;
 }
 
-static int
-procfs_can_use_hw_breakpoint (struct target_ops *self,
-			      enum bptype type,
-			      int cnt, int othertype)
+bool
+nto_procfs_target::can_use_hw_breakpoint (enum bptype type,
+					  int cnt, int othertype)
 {
   return 1;
 }
 
-static int
-procfs_remove_hw_watchpoint (struct target_ops *self,
-			     CORE_ADDR addr, int len,
-			     enum target_hw_bp_type type,
-			     struct expression *cond)
+int
+nto_procfs_target::remove_hw_watchpoint (CORE_ADDR addr, int len,
+					 enum target_hw_bp_type type,
+					 struct expression *cond)
 {
   return procfs_hw_watchpoint (addr, -1, type);
 }
 
-static int
-procfs_insert_hw_watchpoint (struct target_ops *self,
-			     CORE_ADDR addr, int len,
-			     enum target_hw_bp_type type,
-			     struct expression *cond)
+int
+nto_procfs_target::insert_hw_watchpoint (CORE_ADDR addr, int len,
+					 enum target_hw_bp_type type,
+					 struct expression *cond)
 {
   return procfs_hw_watchpoint (addr, len, type);
 }
 
-static int
-procfs_stopped_by_watchpoint (struct target_ops *ops)
+bool
+nto_procfs_target::stopped_by_watchpoint ()
 {
   /* NOTE: nto_stopped_by_watchpoint will be called ONLY while we are
      stopped due to a SIGTRAP.  This assumes gdb works in 'all-stop' mode;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nto-tdep.c ./gdb/nto-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nto-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nto-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -31,6 +31,7 @@
 #include "solib-svr4.h"
 #include "gdbcore.h"
 #include "objfiles.h"
+#include "source.h"
 #include "common/pathstuff.h"
 
 #define QNX_NOTE_NAME	"QNX"
@@ -89,7 +90,7 @@ nto_map_arch_to_cputype (const char *arc
 
 int
 nto_find_and_open_solib (const char *solib, unsigned o_flags,
-			 char **temp_pathname)
+			 gdb::unique_xmalloc_ptr<char> *temp_pathname)
 {
   char *buf, *arch_path, *nto_root;
   const char *endian;
@@ -143,9 +144,9 @@ nto_find_and_open_solib (const char *sol
       if (temp_pathname)
 	{
 	  if (ret >= 0)
-	    *temp_pathname = gdb_realpath (arch_path).release ();
+	    *temp_pathname = gdb_realpath (arch_path);
 	  else
-	    *temp_pathname = NULL;
+	    temp_pathname->reset (NULL);
 	}
     }
   return ret;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nto-tdep.h ./gdb/nto-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/nto-tdep.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/nto-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -170,7 +170,8 @@ void nto_relocate_section_addresses (str
 
 int nto_map_arch_to_cputype (const char *);
 
-int nto_find_and_open_solib (const char *, unsigned, char **);
+int nto_find_and_open_solib (const char *, unsigned,
+			     gdb::unique_xmalloc_ptr<char> *);
 
 enum gdb_osabi nto_elf_osabi_sniffer (bfd *abfd);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/objc-lang.c ./gdb/objc-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/objc-lang.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/objc-lang.c	2018-07-10 02:06:13.000000000 +0000
@@ -45,6 +45,7 @@
 #include "cli/cli-utils.h"
 
 #include <ctype.h>
+#include <algorithm>
 
 struct objc_object {
   CORE_ADDR isa;
@@ -123,8 +124,7 @@ lookup_objc_class (struct gdbarch *gdbar
     function = find_function_in_inferior("objc_lookup_class", NULL);
   else
     {
-      complaint (&symfile_complaints,
-		 _("no way to lookup Objective-C classes"));
+      complaint (_("no way to lookup Objective-C classes"));
       return 0;
     }
 
@@ -153,8 +153,7 @@ lookup_child_selector (struct gdbarch *g
     function = find_function_in_inferior("sel_get_any_uid", NULL);
   else
     {
-      complaint (&symfile_complaints,
-		 _("no way to lookup Objective-C selectors"));
+      complaint (_("no way to lookup Objective-C selectors"));
       return 0;
     }
 
@@ -377,7 +376,6 @@ extern const struct language_defn objc_l
   objc_extensions,
   &exp_descriptor_standard,
   c_parse,
-  c_yyerror,
   null_post_parser,
   c_printchar,		       /* Print a character constant */
   c_printstr,		       /* Function to print string constant */
@@ -389,6 +387,7 @@ extern const struct language_defn objc_l
   default_read_var_value,	/* la_read_var_value */
   objc_skip_trampoline, 	/* Language specific skip_trampoline */
   "self",		        /* name_of_this */
+  false,			/* la_store_sym_names_in_linkage_form_p */
   basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   objc_demangle,		/* Language specific symbol demangler */
@@ -624,8 +623,7 @@ info_selectors_command (const char *rege
 	  name = (char *) strchr (name+2, ' ');
 	  if (name == NULL)
 	    {
-	      complaint (&symfile_complaints, 
-			 _("Bad method name '%s'"), 
+	      complaint (_("Bad method name '%s'"),
 			 MSYMBOL_NATURAL_NAME (msymbol));
 	      continue;
 	    }
@@ -973,7 +971,7 @@ parse_method (char *method, char *type, 
 static void
 find_methods (char type, const char *theclass, const char *category, 
 	      const char *selector,
-	      VEC (const_char_ptr) **symbol_names)
+	      std::vector<const char *> *symbol_names)
 {
   struct objfile *objfile = NULL;
 
@@ -1049,7 +1047,7 @@ find_methods (char type, const char *the
 	      ((nselector == NULL) || (strcmp (selector, nselector) != 0)))
 	    continue;
 
-	  VEC_safe_push (const_char_ptr, *symbol_names, symname);
+	  symbol_names->push_back (symname);
 	}
 
       if (objc_csym == NULL)
@@ -1067,33 +1065,14 @@ find_methods (char type, const char *the
 /* Uniquify a VEC of strings.  */
 
 static void
-uniquify_strings (VEC (const_char_ptr) **strings)
+uniquify_strings (std::vector<const char *> *strings)
 {
-  int ix;
-  const char *elem, *last = NULL;
-  int out;
-
-  /* If the vector is empty, there's nothing to do.  This explicit
-     check is needed to avoid invoking qsort with NULL. */
-  if (VEC_empty (const_char_ptr, *strings))
+  if (strings->empty ())
     return;
 
-  qsort (VEC_address (const_char_ptr, *strings),
-	 VEC_length (const_char_ptr, *strings),
-	 sizeof (const_char_ptr),
-	 compare_strings);
-  out = 0;
-  for (ix = 0; VEC_iterate (const_char_ptr, *strings, ix, elem); ++ix)
-    {
-      if (last == NULL || strcmp (last, elem) != 0)
-	{
-	  /* Keep ELEM.  */
-	  VEC_replace (const_char_ptr, *strings, out, elem);
-	  ++out;
-	}
-      last = elem;
-    }
-  VEC_truncate (const_char_ptr, *strings, out);
+  std::sort (strings->begin (), strings->end (), compare_cstrings);
+  strings->erase (std::unique (strings->begin (), strings->end (), streq),
+		  strings->end ());
 }
 
 /* 
@@ -1127,7 +1106,7 @@ uniquify_strings (VEC (const_char_ptr) *
  */
 
 const char *
-find_imps (const char *method, VEC (const_char_ptr) **symbol_names)
+find_imps (const char *method, std::vector<const char *> *symbol_names)
 {
   char type = '\0';
   char *theclass = NULL;
@@ -1160,22 +1139,20 @@ find_imps (const char *method, VEC (cons
 
   /* If we hit the "selector" case, and we found some methods, then
      add the selector itself as a symbol, if it exists.  */
-  if (selector_case && !VEC_empty (const_char_ptr, *symbol_names))
+  if (selector_case && !symbol_names->empty ())
     {
       struct symbol *sym = lookup_symbol (selector, NULL, VAR_DOMAIN,
 					  0).symbol;
 
       if (sym != NULL) 
-	VEC_safe_push (const_char_ptr, *symbol_names,
-		       SYMBOL_NATURAL_NAME (sym));
+	symbol_names->push_back (SYMBOL_NATURAL_NAME (sym));
       else
 	{
 	  struct bound_minimal_symbol msym
 	    = lookup_minimal_symbol (selector, 0, 0);
 
 	  if (msym.minsym != NULL) 
-	    VEC_safe_push (const_char_ptr, *symbol_names,
-			   MSYMBOL_NATURAL_NAME (msym.minsym));
+	    symbol_names->push_back (MSYMBOL_NATURAL_NAME (msym.minsym));
 	}
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/objc-lang.h ./gdb/objc-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/objc-lang.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/objc-lang.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,8 +20,6 @@
 #if !defined(OBJC_LANG_H)
 #define OBJC_LANG_H
 
-#include "cp-support.h"		/* For VEC (const_char_ptr) */
-
 struct stoken;
 
 struct value;
@@ -37,8 +35,8 @@ extern char *objc_demangle (const char *
 
 extern int find_objc_msgcall (CORE_ADDR pc, CORE_ADDR *new_pc);
 
-extern const char *
-  find_imps (const char *method, VEC (const_char_ptr) **symbol_names);
+extern const char *find_imps (const char *method,
+			      std::vector<const char *> *symbol_names);
 
 extern struct value *value_nsstring (struct gdbarch *gdbarch,
 				     char *ptr, int len);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/objfiles.c ./gdb/objfiles.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/objfiles.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/objfiles.c	2018-07-10 02:06:13.000000000 +0000
@@ -46,7 +46,7 @@
 #include "addrmap.h"
 #include "arch-utils.h"
 #include "exec.h"
-#include "observer.h"
+#include "observable.h"
 #include "complaints.h"
 #include "psymtab.h"
 #include "solist.h"
@@ -144,18 +144,14 @@ get_objfile_bfd_data (struct objfile *ob
 	  storage
 	    = ((struct objfile_per_bfd_storage *)
 	       bfd_alloc (abfd, sizeof (struct objfile_per_bfd_storage)));
+	  /* objfile_per_bfd_storage is not trivially constructible, must
+	     call the ctor manually.  */
+	  storage = new (storage) objfile_per_bfd_storage ();
 	  set_bfd_data (abfd, objfiles_bfd_data, storage);
 	}
       else
-	{
-	  storage = (objfile_per_bfd_storage *)
-	    obstack_alloc (&objfile->objfile_obstack,
-			   sizeof (objfile_per_bfd_storage));
-	}
-
-      /* objfile_per_bfd_storage is not trivially constructible, must
-	 call the ctor manually.  */
-      storage = new (storage) objfile_per_bfd_storage ();
+	storage
+	  = obstack_new<objfile_per_bfd_storage> (&objfile->objfile_obstack);
 
       /* Look up the gdbarch associated with the BFD.  */
       if (abfd != NULL)
@@ -269,8 +265,7 @@ objfile_register_static_link (struct obj
   slot = htab_find_slot (objfile->static_links, &lookup_entry, INSERT);
   gdb_assert (*slot == NULL);
 
-  entry = (struct static_link_htab_entry *) obstack_alloc
-	    (&objfile->objfile_obstack, sizeof (*entry));
+  entry = XOBNEW (&objfile->objfile_obstack, static_link_htab_entry);
   entry->block = block;
   entry->static_link = static_link;
   *slot = (void *) entry;
@@ -617,7 +612,7 @@ free_objfile_separate_debug (struct objf
 objfile::~objfile ()
 {
   /* First notify observers that this objfile is about to be freed.  */
-  observer_notify_free_objfile (this);
+  gdb::observers::free_objfile.notify (this);
 
   /* Free all separate debug objfiles.  */
   free_objfile_separate_debug (this);
@@ -705,7 +700,7 @@ objfile::~objfile ()
      FIXME: It's not clear which of these are supposed to persist
      between expressions and which ought to be reset each time.  */
   expression_context_block = NULL;
-  innermost_block = NULL;
+  innermost_block.reset ();
 
   /* Check to see if the current_source_symtab belongs to this objfile,
      and if so, call clear_current_source_symtab_and_line.  */
@@ -906,16 +901,13 @@ objfile_relocate (struct objfile *objfil
        debug_objfile;
        debug_objfile = objfile_separate_debug_iterate (objfile, debug_objfile))
     {
-      struct section_addr_info *objfile_addrs;
-      struct cleanup *my_cleanups;
-
-      objfile_addrs = build_section_addr_info_from_objfile (objfile);
-      my_cleanups = make_cleanup (xfree, objfile_addrs);
+      section_addr_info objfile_addrs
+	= build_section_addr_info_from_objfile (objfile);
 
       /* Here OBJFILE_ADDRS contain the correct absolute addresses, the
 	 relative ones must be already created according to debug_objfile.  */
 
-      addr_info_make_relative (objfile_addrs, debug_objfile->obfd);
+      addr_info_make_relative (&objfile_addrs, debug_objfile->obfd);
 
       gdb_assert (debug_objfile->num_sections
 		  == gdb_bfd_count_sections (debug_objfile->obfd));
@@ -926,8 +918,6 @@ objfile_relocate (struct objfile *objfil
 					     objfile_addrs);
 
       changed |= objfile_relocate1 (debug_objfile, new_debug_offsets.data ());
-
-      do_cleanups (my_cleanups);
     }
 
   /* Relocate breakpoints as necessary, after things are relocated.  */
@@ -1294,8 +1284,7 @@ filter_overlapping_sections (struct obj_
 
 	      struct gdbarch *const gdbarch = get_objfile_arch (objf1);
 
-	      complaint (&symfile_complaints,
-			 _("unexpected overlap between:\n"
+	      complaint (_("unexpected overlap between:\n"
 			   " (A) section `%s' from `%s' [%s, %s)\n"
 			   " (B) section `%s' from `%s' [%s, %s).\n"
 			   "Will ignore section B"),
@@ -1466,26 +1455,11 @@ objfiles_changed (void)
 
 /* See comments in objfiles.h.  */
 
-void
+scoped_restore_tmpl<int>
 inhibit_section_map_updates (struct program_space *pspace)
 {
-  get_objfile_pspace_data (pspace)->inhibit_updates = 1;
-}
-
-/* See comments in objfiles.h.  */
-
-void
-resume_section_map_updates (struct program_space *pspace)
-{
-  get_objfile_pspace_data (pspace)->inhibit_updates = 0;
-}
-
-/* See comments in objfiles.h.  */
-
-void
-resume_section_map_updates_cleanup (void *arg)
-{
-  resume_section_map_updates ((struct program_space *) arg);
+  return scoped_restore_tmpl<int>
+    (&get_objfile_pspace_data (pspace)->inhibit_updates, 1);
 }
 
 /* Return 1 if ADDR maps into one of the sections of OBJFILE and 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.1.0.20180703/gdb/objfiles.h ./gdb/objfiles.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/objfiles.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/objfiles.h	2018-07-10 02:06:13.000000000 +0000
@@ -551,18 +551,13 @@ DECLARE_REGISTRY(objfile);
 /* In normal use, the section map will be rebuilt by find_pc_section
    if objfiles have been added, removed or relocated since it was last
    called.  Calling inhibit_section_map_updates will inhibit this
-   behavior until resume_section_map_updates is called.  If you call
-   inhibit_section_map_updates you must ensure that every call to
-   find_pc_section in the inhibited region relates to a section that
-   is already in the section map and has not since been removed or
-   relocated.  */
-extern void inhibit_section_map_updates (struct program_space *pspace);
-
-/* Resume automatically rebuilding the section map as required.  */
-extern void resume_section_map_updates (struct program_space *pspace);
-
-/* Version of the above suitable for use as a cleanup.  */
-extern void resume_section_map_updates_cleanup (void *arg);
+   behavior until the returned scoped_restore object is destroyed.  If
+   you call inhibit_section_map_updates you must ensure that every
+   call to find_pc_section in the inhibited region relates to a
+   section that is already in the section map and has not since been
+   removed or relocated.  */
+extern scoped_restore_tmpl<int> inhibit_section_map_updates
+    (struct program_space *pspace);
 
 extern void default_iterate_over_objfiles_in_search_order
   (struct gdbarch *gdbarch,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/obsd-nat.c ./gdb/obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/obsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/obsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -35,24 +35,24 @@
 
 #ifdef PT_GET_THREAD_FIRST
 
-static const char *
-obsd_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+obsd_nat_target::pid_to_str (ptid_t ptid)
 {
-  if (ptid_get_lwp (ptid) != 0)
+  if (ptid.lwp () != 0)
     {
       static char buf[64];
 
-      xsnprintf (buf, sizeof buf, "thread %ld", ptid_get_lwp (ptid));
+      xsnprintf (buf, sizeof buf, "thread %ld", ptid.lwp ());
       return buf;
     }
 
   return normal_pid_to_str (ptid);
 }
 
-static void
-obsd_update_thread_list (struct target_ops *ops)
+void
+obsd_nat_target::update_thread_list ()
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
+  pid_t pid = inferior_ptid.pid ();
   struct ptrace_thread_state pts;
 
   prune_threads ();
@@ -62,11 +62,11 @@ obsd_update_thread_list (struct target_o
 
   while (pts.pts_tid != -1)
     {
-      ptid_t ptid = ptid_build (pid, pts.pts_tid, 0);
+      ptid_t ptid = ptid_t (pid, pts.pts_tid, 0);
 
       if (!in_thread_list (ptid))
 	{
-	  if (ptid_get_lwp (inferior_ptid) == 0)
+	  if (inferior_ptid.lwp () == 0)
 	    thread_change_ptid (inferior_ptid, ptid);
 	  else
 	    add_thread (ptid);
@@ -77,9 +77,9 @@ obsd_update_thread_list (struct target_o
     }
 }
 
-static ptid_t
-obsd_wait (struct target_ops *ops,
-	   ptid_t ptid, struct target_waitstatus *ourstatus, int options)
+ptid_t
+obsd_nat_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
+		       int options)
 {
   pid_t pid;
   int status, save_errno;
@@ -90,7 +90,7 @@ obsd_wait (struct target_ops *ops,
 
       do
 	{
-	  pid = waitpid (ptid_get_pid (ptid), &status, 0);
+	  pid = waitpid (ptid.pid (), &status, 0);
 	  save_errno = errno;
 	}
       while (pid == -1 && errno == EINTR);
@@ -110,12 +110,12 @@ obsd_wait (struct target_ops *ops,
 	}
 
       /* Ignore terminated detached child processes.  */
-      if (!WIFSTOPPED (status) && pid != ptid_get_pid (inferior_ptid))
+      if (!WIFSTOPPED (status) && pid != inferior_ptid.pid ())
 	pid = -1;
     }
   while (pid == -1);
 
-  ptid = pid_to_ptid (pid);
+  ptid = ptid_t (pid);
 
   if (WIFSTOPPED (status))
     {
@@ -129,7 +129,7 @@ obsd_wait (struct target_ops *ops,
 	{
 	case PTRACE_FORK:
 	  ourstatus->kind = TARGET_WAITKIND_FORKED;
-	  ourstatus->value.related_pid = pid_to_ptid (pe.pe_other_pid);
+	  ourstatus->value.related_pid = ptid_t (pe.pe_other_pid);
 
 	  /* Make sure the other end of the fork is stopped too.  */
 	  fpid = waitpid (pe.pe_other_pid, &status, 0);
@@ -142,19 +142,19 @@ obsd_wait (struct target_ops *ops,
 
 	  gdb_assert (pe.pe_report_event == PTRACE_FORK);
 	  gdb_assert (pe.pe_other_pid == pid);
-	  if (fpid == ptid_get_pid (inferior_ptid))
+	  if (fpid == inferior_ptid.pid ())
 	    {
-	      ourstatus->value.related_pid = pid_to_ptid (pe.pe_other_pid);
-	      return pid_to_ptid (fpid);
+	      ourstatus->value.related_pid = ptid_t (pe.pe_other_pid);
+	      return ptid_t (fpid);
 	    }
 
-	  return pid_to_ptid (pid);
+	  return ptid_t (pid);
 	}
 
-      ptid = ptid_build (pid, pe.pe_tid, 0);
+      ptid = ptid_t (pid, pe.pe_tid, 0);
       if (!in_thread_list (ptid))
 	{
-	  if (ptid_get_lwp (inferior_ptid) == 0)
+	  if (inferior_ptid.lwp () == 0)
 	    thread_change_ptid (inferior_ptid, ptid);
 	  else
 	    add_thread (ptid);
@@ -165,22 +165,4 @@ obsd_wait (struct target_ops *ops,
   return ptid;
 }
 
-void
-obsd_add_target (struct target_ops *t)
-{
-  /* Override some methods to support threads.  */
-  t->to_pid_to_str = obsd_pid_to_str;
-  t->to_update_thread_list = obsd_update_thread_list;
-  t->to_wait = obsd_wait;
-  add_target (t);
-}
-
-#else
-
-void
-obsd_add_target (struct target_ops *t)
-{
-  add_target (t);
-}
-
 #endif /* PT_GET_THREAD_FIRST */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/obsd-nat.h ./gdb/obsd-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/obsd-nat.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/obsd-nat.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,6 +20,14 @@
 #ifndef OBSD_NAT_H
 #define OBSD_NAT_H
 
-extern void obsd_add_target (struct target_ops *);
+#include "inf-ptrace.h"
+
+class obsd_nat_target : public inf_ptrace_target
+{
+  /* Override some methods to support threads.  */
+  const char *pid_to_str (ptid_t) override;
+  void update_thread_list () override;
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+};
 
 #endif /* obsd-nat.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/observable.c ./gdb/observable.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/observable.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/observable.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,99 @@
+/* GDB Notifications to Observers.
+
+   Copyright (C) 2003-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "observable.h"
+#include "command.h"
+#include "gdbcmd.h"
+
+namespace gdb
+{
+
+namespace observers
+{
+
+unsigned int observer_debug;
+
+#define DEFINE_OBSERVABLE(name) decltype (name) name (# name)
+
+DEFINE_OBSERVABLE (normal_stop);
+DEFINE_OBSERVABLE (signal_received);
+DEFINE_OBSERVABLE (end_stepping_range);
+DEFINE_OBSERVABLE (signal_exited);
+DEFINE_OBSERVABLE (exited);
+DEFINE_OBSERVABLE (no_history);
+DEFINE_OBSERVABLE (sync_execution_done);
+DEFINE_OBSERVABLE (command_error);
+DEFINE_OBSERVABLE (target_changed);
+DEFINE_OBSERVABLE (executable_changed);
+DEFINE_OBSERVABLE (inferior_created);
+DEFINE_OBSERVABLE (record_changed);
+DEFINE_OBSERVABLE (solib_loaded);
+DEFINE_OBSERVABLE (solib_unloaded);
+DEFINE_OBSERVABLE (new_objfile);
+DEFINE_OBSERVABLE (free_objfile);
+DEFINE_OBSERVABLE (new_thread);
+DEFINE_OBSERVABLE (thread_exit);
+DEFINE_OBSERVABLE (thread_stop_requested);
+DEFINE_OBSERVABLE (target_resumed);
+DEFINE_OBSERVABLE (about_to_proceed);
+DEFINE_OBSERVABLE (breakpoint_created);
+DEFINE_OBSERVABLE (breakpoint_deleted);
+DEFINE_OBSERVABLE (breakpoint_modified);
+DEFINE_OBSERVABLE (traceframe_changed);
+DEFINE_OBSERVABLE (architecture_changed);
+DEFINE_OBSERVABLE (thread_ptid_changed);
+DEFINE_OBSERVABLE (inferior_added);
+DEFINE_OBSERVABLE (inferior_appeared);
+DEFINE_OBSERVABLE (inferior_exit);
+DEFINE_OBSERVABLE (inferior_removed);
+DEFINE_OBSERVABLE (memory_changed);
+DEFINE_OBSERVABLE (before_prompt);
+DEFINE_OBSERVABLE (gdb_datadir_changed);
+DEFINE_OBSERVABLE (command_param_changed);
+DEFINE_OBSERVABLE (tsv_created);
+DEFINE_OBSERVABLE (tsv_deleted);
+DEFINE_OBSERVABLE (tsv_modified);
+DEFINE_OBSERVABLE (inferior_call_pre);
+DEFINE_OBSERVABLE (inferior_call_post);
+DEFINE_OBSERVABLE (register_changed);
+DEFINE_OBSERVABLE (user_selected_context_changed);
+
+} /* namespace observers */
+} /* namespace gdb */
+
+static void
+show_observer_debug (struct ui_file *file, int from_tty,
+		     struct cmd_list_element *c, const char *value)
+{
+  fprintf_filtered (file, _("Observer debugging is %s.\n"), value);
+}
+
+void
+_initialize_observer (void)
+{
+  add_setshow_zuinteger_cmd ("observer", class_maintenance,
+			     &gdb::observers::observer_debug, _("\
+Set observer debugging."), _("\
+Show observer debugging."), _("\
+When non-zero, observer debugging is enabled."),
+			     NULL,
+			     show_observer_debug,
+			     &setdebuglist, &showdebuglist);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/observable.h ./gdb/observable.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/observable.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/observable.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,235 @@
+/* Observers
+
+   Copyright (C) 2016-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#if !defined (GDB_OBSERVER_H)
+#define GDB_OBSERVER_H
+
+#include "common/observable.h"
+
+struct bpstats;
+struct so_list;
+struct objfile;
+struct thread_info;
+struct inferior;
+struct trace_state_variable;
+
+namespace gdb
+{
+
+namespace observers
+{
+
+/* The inferior has stopped for real.  The bs argument describes the
+   breakpoints were are stopped at, if any.  Second argument
+   print_frame non-zero means display the location where the
+   inferior has stopped.
+
+   gdb notifies all normal_stop observers when the inferior execution
+   has just stopped, the associated messages and annotations have been
+   printed, and the control is about to be returned to the user.
+
+   Note that the normal_stop notification is not emitted when the
+   execution stops due to a breakpoint, and this breakpoint has a
+   condition that is not met.  If the breakpoint has any associated
+   commands list, the commands are executed after the notification is
+   emitted.  */
+extern observable<struct bpstats *, int> normal_stop;
+
+/* The inferior was stopped by a signal.  */
+extern observable<enum gdb_signal> signal_received;
+
+/* We are done with a step/next/si/ni command.  */
+extern observable<> end_stepping_range;
+
+/* The inferior was terminated by a signal.  */
+extern observable<enum gdb_signal> signal_exited;
+
+/* The inferior program is finished.  */
+extern observable<int> exited;
+
+/* Reverse execution: target ran out of history info.  */
+extern observable<> no_history;
+
+/* A synchronous command finished.  */
+extern observable<> sync_execution_done;
+
+/* An error was caught while executing a command.  */
+extern observable<> command_error;
+
+/* The target's register contents have changed.  */
+extern observable<struct target_ops *> target_changed;
+
+/* The executable being debugged by GDB has changed: The user
+   decided to debug a different program, or the program he was
+   debugging has been modified since being loaded by the debugger
+   (by being recompiled, for instance).  */
+extern observable<> executable_changed;
+
+/* gdb has just connected to an inferior.  For 'run', gdb calls this
+   observer while the inferior is still stopped at the entry-point
+   instruction.  For 'attach' and 'core', gdb calls this observer
+   immediately after connecting to the inferior, and before any
+   information on the inferior has been printed.  */
+extern observable<struct target_ops *, int> inferior_created;
+
+/* The status of process record for inferior inferior in gdb has
+   changed.  The process record is started if started is true, and
+   the process record is stopped if started is false.
+
+   When started is true, method indicates the short name of the
+   method used for recording.  If the method supports multiple
+   formats, format indicates which one is being used, otherwise it
+   is NULL.  When started is false, they are both NULL.  */
+extern observable<struct inferior *, int, const char *, const char *>
+    record_changed;
+
+/* The shared library specified by solib has been loaded.  Note that
+   when gdb calls this observer, the library's symbols probably
+   haven't been loaded yet.  */
+extern observable<struct so_list *> solib_loaded;
+
+/* The shared library specified by solib has been unloaded.  Note
+   that when gdb calls this observer, the library's symbols have not
+   been unloaded yet, and thus are still available.  */
+extern observable<struct so_list *> solib_unloaded;
+
+/* The symbol file specified by objfile has been loaded.  Called
+   with objfile equal to NULL to indicate previously loaded symbol
+   table data has now been invalidated.  */
+extern observable<struct objfile *> new_objfile;
+
+/* The object file specified by objfile is about to be freed.  */
+extern observable<struct objfile *> free_objfile;
+
+/* The thread specified by t has been created.  */
+extern observable<struct thread_info *> new_thread;
+
+/* The thread specified by t has exited.  The silent argument
+   indicates that gdb is removing the thread from its tables without
+   wanting to notify the user about it.  */
+extern observable<struct thread_info *, int> thread_exit;
+
+/* An explicit stop request was issued to ptid.  If ptid equals
+   minus_one_ptid, the request applied to all threads.  If
+   ptid_is_pid(ptid) returns true, the request applied to all
+   threads of the process pointed at by ptid.  Otherwise, the
+   request applied to the single thread pointed at by ptid.  */
+extern observable<ptid_t> thread_stop_requested;
+
+/* The target was resumed.  The ptid parameter specifies which
+   thread was resume, and may be RESUME_ALL if all threads are
+   resumed.  */
+extern observable<ptid_t> target_resumed;
+
+/* The target is about to be proceeded.  */
+extern observable<> about_to_proceed;
+
+/* A new breakpoint b has been created.  */
+extern observable<struct breakpoint *> breakpoint_created;
+
+/* A breakpoint has been destroyed.  The argument b is the
+   pointer to the destroyed breakpoint.  */
+extern observable<struct breakpoint *> breakpoint_deleted;
+
+/* A breakpoint has been modified in some way.  The argument b
+   is the modified breakpoint.  */
+extern observable<struct breakpoint *> breakpoint_modified;
+
+/* The trace frame is changed to tfnum (e.g., by using the 'tfind'
+   command).  If tfnum is negative, it means gdb resumes live
+   debugging.  The number of the tracepoint associated with this
+   traceframe is tpnum.  */
+extern observable<int, int> traceframe_changed;
+
+/* The current architecture has changed.  The argument newarch is a
+   pointer to the new architecture.  */
+extern observable<struct gdbarch *> architecture_changed;
+
+/* The thread's ptid has changed.  The old_ptid parameter specifies
+   the old value, and new_ptid specifies the new value.  */
+extern observable<ptid_t, ptid_t> thread_ptid_changed;
+
+/* The inferior inf has been added to the list of inferiors.  At
+   this point, it might not be associated with any process.  */
+extern observable<struct inferior *> inferior_added;
+
+/* The inferior identified by inf has been attached to a
+   process.  */
+extern observable<struct inferior *> inferior_appeared;
+
+/* Either the inferior associated with inf has been detached from
+   the process, or the process has exited.  */
+extern observable<struct inferior *> inferior_exit;
+
+/* The inferior inf has been removed from the list of inferiors.
+   This method is called immediately before freeing inf.  */
+extern observable<struct inferior *> inferior_removed;
+
+/* Bytes from data to data + len have been written to the inferior
+   at addr.  */
+extern observable<struct inferior *, CORE_ADDR, ssize_t, const bfd_byte *>
+    memory_changed;
+
+/* Called before a top-level prompt is displayed.  current_prompt is
+   the current top-level prompt.  */
+extern observable<const char *> before_prompt;
+
+/* Variable gdb_datadir has been set.  The value may not necessarily
+   change.  */
+extern observable<> gdb_datadir_changed;
+
+/* The parameter of some 'set' commands in console are changed.
+   This method is called after a command 'set param value'.  param
+   is the parameter of 'set' command, and value is the value of
+   changed parameter.  */
+extern observable<const char *, const char *> command_param_changed;
+
+/* The new trace state variable tsv is created.  */
+extern observable<const struct trace_state_variable *> tsv_created;
+
+/* The trace state variable tsv is deleted.  If tsv is NULL, all
+   trace state variables are deleted.  */
+extern observable<const struct trace_state_variable *> tsv_deleted;
+
+/* The trace state value tsv is modified.  */
+extern observable<const struct trace_state_variable *> tsv_modified;
+
+/* An inferior function at address is about to be called in thread
+   thread.  */
+extern observable<ptid_t, CORE_ADDR> inferior_call_pre;
+
+/* The inferior function at address has just been called.  This
+   observer is called even if the inferior exits during the call.
+   thread is the thread in which the function was called, which may
+   be different from the current thread.  */
+extern observable<ptid_t, CORE_ADDR> inferior_call_post;
+
+/* A register in the inferior has been modified by the gdb user.  */
+extern observable<struct frame_info *, int> register_changed;
+
+/* The user-selected inferior, thread and/or frame has changed.  The
+   user_select_what flag specifies if the inferior, thread and/or
+   frame has changed.  */
+extern observable<user_selected_what> user_selected_context_changed;
+
+} /* namespace observers */
+
+} /* namespace gdb */
+
+#endif /* GDB_OBSERVER_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/observer.c ./gdb/observer.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/observer.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/observer.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,215 +0,0 @@
-/* GDB Notifications to Observers.
-
-   Copyright (C) 2003-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* An observer is an entity who is interested in being notified when GDB
-   reaches certain states, or certain events occur in GDB.  The entity being
-   observed is called the Subject.  To receive notifications, the observer
-   attaches a callback to the subject.  One subject can have several
-   observers.
-
-   This file implements an internal generic low-level event notification
-   mechanism based on the Observer paradigm described in the book "Design
-   Patterns".  This generic event notification mechansim is then re-used
-   to implement the exported high-level notification management routines
-   for all possible notifications.
-
-   The current implementation of the generic observer provides support
-   for contextual data.  This contextual data is given to the subject
-   when attaching the callback.  In return, the subject will provide
-   this contextual data back to the observer as a parameter of the
-   callback.
-
-   FIXME: The current support for the contextual data is only partial,
-   as it lacks a mechanism that would deallocate this data when the
-   callback is detached.  This is not a problem so far, as this contextual
-   data is only used internally to hold a function pointer.  Later on,
-   if a certain observer needs to provide support for user-level
-   contextual data, then the generic notification mechanism will need
-   need to be enhanced to allow the observer to provide a routine to
-   deallocate the data when attaching the callback.
-
-   This file is currently maintained by hand, but the long term plan
-   if the number of different notifications starts growing is to create
-   a new script (observer.sh) that would generate this file, and the
-   associated documentation.  */
-
-#include "defs.h"
-#include "observer.h"
-#include "command.h"
-#include "gdbcmd.h"
-
-static unsigned int observer_debug;
-static void
-show_observer_debug (struct ui_file *file, int from_tty,
-		     struct cmd_list_element *c, const char *value)
-{
-  fprintf_filtered (file, _("Observer debugging is %s.\n"), value);
-}
-
-/* The internal generic observer.  */
-
-typedef void (generic_observer_notification_ftype) (const void *data,
-						    const void *args);
-
-struct observer
-{
-  generic_observer_notification_ftype *notify;
-  /* No memory management needed for the following field for now.  */
-  void *data;
-};
-
-/* A list of observers, maintained by the subject.  A subject is
-   actually represented by its list of observers.  */
-
-struct observer_list
-{
-  struct observer_list *next;
-  struct observer *observer;
-};
-
-/* Allocate a struct observer_list, intended to be used as a node
-   in the list of observers maintained by a subject.  */
-
-static struct observer_list *
-xalloc_observer_list_node (void)
-{
-  struct observer_list *node = XNEW (struct observer_list);
-
-  node->observer = XNEW (struct observer);
-  return node;
-}
-
-/* The opposite of xalloc_observer_list_node, frees the memory for
-   the given node.  */
-
-static void
-xfree_observer_list_node (struct observer_list *node)
-{
-  xfree (node->observer);
-  xfree (node);
-}
-
-/* Attach the callback NOTIFY to a SUBJECT.  The DATA is also stored,
-   in order for the subject to provide it back to the observer during
-   a notification.  */
-
-static struct observer *
-generic_observer_attach (struct observer_list **subject,
-			 generic_observer_notification_ftype * notify,
-			 void *data)
-{
-  struct observer_list *observer_list = xalloc_observer_list_node ();
-
-  observer_list->next = *subject;
-  observer_list->observer->notify = notify;
-  observer_list->observer->data = data;
-  *subject = observer_list;
-
-  return observer_list->observer;
-}
-
-/* Remove the given OBSERVER from the SUBJECT.  Once detached, OBSERVER
-   should no longer be used, as it is no longer valid.  */
-
-static void
-generic_observer_detach (struct observer_list **subject,
-			 const struct observer *observer)
-{
-  struct observer_list *previous_node = NULL;
-  struct observer_list *current_node = *subject;
-
-  while (current_node != NULL)
-    {
-      if (current_node->observer == observer)
-	{
-	  if (previous_node != NULL)
-	    previous_node->next = current_node->next;
-	  else
-	    *subject = current_node->next;
-	  xfree_observer_list_node (current_node);
-	  return;
-	}
-      previous_node = current_node;
-      current_node = current_node->next;
-    }
-
-  /* We should never reach this point.  However, this should not be
-     a very serious error, so simply report a warning to the user.  */
-  warning (_("Failed to detach observer"));
-}
-
-/* Send a notification to all the observers of SUBJECT.  ARGS is passed to
-   all observers as an argument to the notification callback.  */
-
-static void
-generic_observer_notify (struct observer_list *subject, const void *args)
-{
-  struct observer_list *current_node = subject;
-
-  while (current_node != NULL)
-    {
-      (*current_node->observer->notify) (current_node->observer->data, args);
-      current_node = current_node->next;
-    }
-}
-
-
-/* The following code is only used to unit-test the observers from our
-   testsuite.  DO NOT USE IT within observer.c (or anywhere else for
-   that matter)!  */
-
-/* If we define these variables and functions as `static', the
-   compiler will optimize them out.  */
- 
-int observer_test_first_observer = 0;
-int observer_test_second_observer = 0;
-int observer_test_third_observer = 0;
-
-void
-observer_test_first_notification_function (int arg)
-{
-  observer_test_first_observer++;
-}
-
-void
-observer_test_second_notification_function (int arg)
-{
-  observer_test_second_observer++;
-}
-
-void
-observer_test_third_notification_function (int arg)
-{
-  observer_test_third_observer++;
-}
-
-void
-_initialize_observer (void)
-{
-  add_setshow_zuinteger_cmd ("observer", class_maintenance,
-			     &observer_debug, _("\
-Set observer debugging."), _("\
-Show observer debugging."), _("\
-When non-zero, observer debugging is enabled."),
-			     NULL,
-			     show_observer_debug,
-			     &setdebuglist, &showdebuglist);
-}
-
-#include "observer.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.1.0.20180703/gdb/observer.sh ./gdb/observer.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/observer.sh	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/observer.sh	1970-01-01 00:00:00.000000000 +0000
@@ -1,200 +0,0 @@
-#!/bin/sh -e
-
-# Make certain that the script is not running in an internationalized
-# environment.
-LANG=C ; export LANG
-LC_ALL=C ; export LC_ALL
-
-if test $# -ne 3
-then
-    echo "Usage: $0 <h|inc> <observer.texi> <observer.out>" 1>&2
-    exit 0
-fi
-
-lang=$1 ; shift
-texi=$1 ; shift
-o=$1
-case $lang in
-  h) tmp=htmp ;;
-  inc) tmp=itmp ;;
-esac
-otmp="`echo $1 | sed -e 's,\.[^.]*$,,'`.$tmp"; shift
-echo "Creating ${otmp}" 1>&2
-rm -f ${otmp}
-
-# Can use any of the following: cat cmp cp diff echo egrep expr false
-# grep install-info ln ls mkdir mv pwd rm rmdir sed sleep sort tar
-# test touch true
-
-cat <<EOF >>${otmp}
-/* GDB Notifications to Observers.
-
-   Copyright (C) 2004-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-  
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-  
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-   --
-
-   This file was generated using observer.sh and observer.texi.  */
-
-EOF
-
-
-case $lang in
-    h) cat <<EOF >>${otmp}
-#ifndef OBSERVER_H
-#define OBSERVER_H
-
-struct observer;
-struct bpstats;
-struct so_list;
-struct objfile;
-struct thread_info;
-struct inferior;
-struct trace_state_variable;
-EOF
-        ;;
-esac
-
-# We are about to set IFS=:, so DOS-style file names with a drive
-# letter and a colon will be in trouble.
-
-if test -n "$DJGPP"
-then
-     texi=`echo $texi | sed -e 's,^\([a-zA-Z]\):/,/dev/\1/,'`
-fi
-
-# generate a list of events that can be observed
-
-IFS=:
-sed -n '
-/@deftypefun void/{
-# Save original line for later processing into the actual parameter
-    h
-# Convert from: @deftypefun void EVENT (TYPE @var{PARAM},...)
-# to event and formals: EVENT:TYPE PARAM, ...:
-    s/^.* void \([a-z_][a-z_]*\) (\(.*\))$/\1:\2/
-    s/@var{//g
-    s/}//g
-# Switch to held
-    x
-# Convert from: @deftypefun void FUNC (TYPE @var{PARAM},...)
-# to actuals: PARAM, ...
-    s/^[^{]*[{]*//
-    s/[}]*[^}]*$//
-    s/}[^{]*{/, /g
-# Combine held (EVENT:TYPE PARAM, ...:) and pattern (PARAM, ...) into
-# FUNC:TYPE PARAM, ...:PARAM, ...
-    H
-    x
-    s/\n/:/g
-    p
-}
-' $texi | while read event formal actual
-do
-  case $lang in
-      h) cat <<EOF >>${otmp}
-
-/* ${event} notifications.  */
-
-typedef void (observer_${event}_ftype) (${formal});
-
-extern struct observer *observer_attach_${event} (observer_${event}_ftype *f);
-extern void observer_detach_${event} (struct observer *observer);
-extern void observer_notify_${event} (${formal});
-EOF
-	;;
-
-      inc)
-      	cat <<EOF >>${otmp}
-
-/* ${event} notifications.  */
-
-static struct observer_list *${event}_subject = NULL;
-
-EOF
-	if test "$formal" != "void"; then
-	    cat<<EOF >>${otmp}
-struct ${event}_args { `echo "${formal}" | sed -e 's/,/;/g'`; };
-
-EOF
-	fi
-	cat <<EOF >>${otmp}
-static void
-observer_${event}_notification_stub (const void *data, const void *args_data)
-{
-  observer_${event}_ftype *notify = (observer_${event}_ftype *) data;
-EOF
-
-	notify_args=`echo ${actual} | sed -e 's/\([a-z0-9_][a-z0-9_]*\)/args->\1/g'`
-
-	if test ! -z "${notify_args}"; then
-	    cat<<EOF >>${otmp}
-  const struct ${event}_args *args = (const struct ${event}_args *) args_data;
-EOF
-	fi
-	cat <<EOF >>${otmp}
-  notify (${notify_args});
-}
-
-struct observer *
-observer_attach_${event} (observer_${event}_ftype *f)
-{
-  return generic_observer_attach (&${event}_subject,
-				  &observer_${event}_notification_stub,
-				  (void *) f);
-}
-
-void
-observer_detach_${event} (struct observer *observer)
-{
-  generic_observer_detach (&${event}_subject, observer);
-}
-
-void
-observer_notify_${event} (${formal})
-{
-EOF
-	if test "$formal" != "void"; then
-	    cat<<EOF >>${otmp}
-  struct ${event}_args args;
-  `echo ${actual} | sed -e 's/\([a-z0-9_][a-z0-9_]*\)/args.\1 = \1/g'`;
-
-EOF
-	else
-	    echo "char *args = NULL;" >> ${otmp}
-	fi
-	cat<<EOF >>${otmp}
-  if (observer_debug)
-    fprintf_unfiltered (gdb_stdlog, "observer_notify_${event}() called\n");
-  generic_observer_notify (${event}_subject, &args);
-}
-EOF
-	;;
-    esac
-done
-
-
-case $lang in
-    h) cat <<EOF >>${otmp}
-
-#endif /* OBSERVER_H */
-EOF
-esac
-
-
-echo Moving ${otmp} to ${o}
-mv ${otmp} ${o}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/opencl-lang.c ./gdb/opencl-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/opencl-lang.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/opencl-lang.c	2018-07-10 02:06:13.000000000 +0000
@@ -292,7 +292,7 @@ lval_func_free_closure (struct value *v)
 
   if (c->refc == 0)
     {
-      value_free (c->val); /* Decrement the reference counter of the value.  */
+      value_decref (c->val); /* Decrement the reference counter of the value.  */
       xfree (c->indices);
       xfree (c);
     }
@@ -1053,7 +1053,6 @@ extern const struct language_defn opencl
   NULL,
   &exp_descriptor_opencl,
   c_parse,
-  c_yyerror,
   null_post_parser,
   c_printchar,			/* Print a character constant */
   c_printstr,			/* Function to print string constant */
@@ -1065,6 +1064,7 @@ extern const struct language_defn opencl
   default_read_var_value,	/* la_read_var_value */
   NULL,				/* Language specific skip_trampoline */
   NULL,                         /* name_of_this */
+  false,			/* la_store_sym_names_in_linkage_form_p */
   basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   NULL,				/* Language specific symbol demangler */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/or1k-tdep.c ./gdb/or1k-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/or1k-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/or1k-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -297,7 +297,7 @@ or1k_return_value (struct gdbarch *gdbar
 	  else
 	    memcpy (buf, writebuf, rv_size);
 
-	  regcache_cooked_write (regcache, OR1K_RV_REGNUM, buf);
+	  regcache->cooked_write (OR1K_RV_REGNUM, buf);
 
 	  free (buf);
 	}
@@ -330,8 +330,8 @@ or1k_return_value (struct gdbarch *gdbar
 	  memcpy (buf_hi, writebuf, rv_size - bpw);
 	  memcpy (buf_lo, writebuf + bpw, bpw);
 
-	  regcache_cooked_write (regcache, OR1K_RV_REGNUM, buf_hi);
-	  regcache_cooked_write (regcache, OR1K_RV_REGNUM + 1, buf_lo);
+	  regcache->cooked_write (OR1K_RV_REGNUM, buf_hi);
+	  regcache->cooked_write (OR1K_RV_REGNUM + 1, buf_lo);
 
 	  free (buf_lo);
 	  free (buf_hi);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/osabi.c ./gdb/osabi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/osabi.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/osabi.c	2018-07-10 02:06:13.000000000 +0000
@@ -58,12 +58,13 @@ struct osabi_names
    them in sync.  */
 static const struct osabi_names gdb_osabi_names[] =
 {
+  { "unknown", NULL },
   { "none", NULL },
 
   { "SVR4", NULL },
   { "GNU/Hurd", NULL },
   { "Solaris", NULL },
-  { "GNU/Linux", "linux(-gnu)?" },
+  { "GNU/Linux", "linux(-gnu[^-]*)?" },
   { "FreeBSD", NULL },
   { "NetBSD", NULL },
   { "OpenBSD", NULL },
@@ -335,12 +336,7 @@ gdbarch_init_osabi (struct gdbarch_info 
 {
   struct gdb_osabi_handler *handler;
 
-  if (info.osabi == GDB_OSABI_UNKNOWN)
-    {
-      /* Don't complain about an unknown OSABI.  Assume the user knows
-	 what they are doing.  */
-      return;
-    }
+  gdb_assert (info.osabi != GDB_OSABI_UNKNOWN);
 
   for (handler = gdb_osabi_handler_list; handler != NULL;
        handler = handler->next)
@@ -375,6 +371,13 @@ gdbarch_init_osabi (struct gdbarch_info 
 	}
     }
 
+  if (info.osabi == GDB_OSABI_NONE)
+    {
+      /* Don't complain about no OSABI.  Assume the user knows
+	 what they are doing.  */
+      return;
+    }
+
   warning
     ("A handler for the OS ABI \"%s\" is not built into this configuration\n"
      "of GDB.  Attempting to continue with the default %s settings.\n",
@@ -603,11 +606,6 @@ set_osabi (const char *args, int from_tt
       user_selected_osabi = GDB_OSABI_DEFAULT;
       user_osabi_state = osabi_user;
     }
-  else if (strcmp (set_osabi_string, "none") == 0)
-    {
-      user_selected_osabi = GDB_OSABI_UNKNOWN;
-      user_osabi_state = osabi_user;
-    }
   else
     {
       int i;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/osdata.c ./gdb/osdata.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/osdata.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/osdata.c	2018-07-10 02:06:13.000000000 +0000
@@ -56,14 +56,15 @@ struct osdata_parsing_data
 static void
 osdata_start_osdata (struct gdb_xml_parser *parser,
                         const struct gdb_xml_element *element,
-                        void *user_data, VEC(gdb_xml_value_s) *attributes)
+                        void *user_data,
+			std::vector<gdb_xml_value> &attributes)
 {
   struct osdata_parsing_data *data = (struct osdata_parsing_data *) user_data;
 
   if (data->osdata != NULL)
     gdb_xml_error (parser, _("Seen more than on osdata element"));
 
-  char *type = (char *) xml_find_attribute (attributes, "type")->value;
+  char *type = (char *) xml_find_attribute (attributes, "type")->value.get ();
   data->osdata.reset (new struct osdata (std::string (type)));
 }
 
@@ -72,7 +73,8 @@ osdata_start_osdata (struct gdb_xml_pars
 static void
 osdata_start_item (struct gdb_xml_parser *parser,
                   const struct gdb_xml_element *element,
-                  void *user_data, VEC(gdb_xml_value_s) *attributes)
+                  void *user_data,
+		  std::vector<gdb_xml_value> &attributes)
 {
   struct osdata_parsing_data *data = (struct osdata_parsing_data *) user_data;
   data->osdata->items.emplace_back ();
@@ -83,11 +85,12 @@ osdata_start_item (struct gdb_xml_parser
 static void
 osdata_start_column (struct gdb_xml_parser *parser,
                     const struct gdb_xml_element *element,
-                    void *user_data, VEC(gdb_xml_value_s) *attributes)
+                    void *user_data,
+		    std::vector<gdb_xml_value> &attributes)
 {
   struct osdata_parsing_data *data = (struct osdata_parsing_data *) user_data;
   const char *name
-    = (const char *) xml_find_attribute (attributes, "name")->value;
+    = (const char *) xml_find_attribute (attributes, "name")->value.get ();
 
   data->property_name.assign (name);
 }
@@ -160,11 +163,11 @@ std::unique_ptr<osdata>
 get_osdata (const char *type)
 {
   std::unique_ptr<osdata> osdata;
-  gdb::unique_xmalloc_ptr<char> xml = target_get_osdata (type);
+  gdb::optional<gdb::char_vector> xml = target_get_osdata (type);
 
   if (xml)
     {
-      if (xml.get ()[0] == '\0')
+      if ((*xml)[0] == '\0')
 	{
 	  if (type)
 	    warning (_("Empty data returned by target.  Wrong osdata type?"));
@@ -172,7 +175,7 @@ get_osdata (const char *type)
 	    warning (_("Empty type list returned by target.  No type data?"));
 	}
       else
-	osdata = osdata_parse (xml.get ());
+	osdata = osdata_parse (xml->data ());
     }
 
   if (osdata == 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.1.0.20180703/gdb/parse.c ./gdb/parse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/parse.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/parse.c	2018-07-10 02:06:13.000000000 +0000
@@ -68,7 +68,7 @@ const struct exp_descriptor exp_descript
 /* Global variables declared in parser-defs.h (and commented there).  */
 const struct block *expression_context_block;
 CORE_ADDR expression_context_pc;
-const struct block *innermost_block;
+innermost_block_tracker innermost_block;
 int arglist_len;
 static struct type_stack type_stack;
 const char *lexptr;
@@ -88,7 +88,7 @@ static int expout_last_struct = -1;
 static enum type_code expout_tag_completion_type = TYPE_CODE_UNDEF;
 
 /* The token for tagged type name completion.  */
-static char *expout_completion_name;
+static gdb::unique_xmalloc_ptr<char> expout_completion_name;
 
 
 static unsigned int expressiondebug = 0;
@@ -121,6 +121,18 @@ static expression_up parse_exp_in_contex
 					     const struct block *, int,
 					     int, int *);
 
+/* Documented at it's declaration.  */
+
+void
+innermost_block_tracker::update (const struct block *b,
+				 innermost_block_tracker_types t)
+{
+  if ((m_types & t) != 0
+      && (m_innermost_block == NULL
+	  || contained_in (b, m_innermost_block)))
+    m_innermost_block = b;
+}
+
 /* Data structure for saving values of arglist_len for function calls whose
    arguments contain other function calls.  */
 
@@ -449,42 +461,35 @@ find_minsym_type_and_address (minimal_sy
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct obj_section *section = MSYMBOL_OBJ_SECTION (objfile, msymbol);
   enum minimal_symbol_type type = MSYMBOL_TYPE (msymbol);
-  CORE_ADDR pc;
 
   bool is_tls = (section != NULL
 		 && section->the_bfd_section->flags & SEC_THREAD_LOCAL);
 
-  /* Addresses of TLS symbols are really offsets into a
-     per-objfile/per-thread storage block.  */
-  CORE_ADDR addr = (is_tls
-		    ? MSYMBOL_VALUE_RAW_ADDRESS (bound_msym.minsym)
-		    : BMSYMBOL_VALUE_ADDRESS (bound_msym));
-
   /* The minimal symbol might point to a function descriptor;
      resolve it to the actual code address instead.  */
-  pc = gdbarch_convert_from_func_ptr_addr (gdbarch, addr, &current_target);
-  if (pc != addr)
+  CORE_ADDR addr;
+  if (is_tls)
     {
-      struct bound_minimal_symbol ifunc_msym = lookup_minimal_symbol_by_pc (pc);
-
-      /* In this case, assume we have a code symbol instead of
-	 a data symbol.  */
-
-      if (ifunc_msym.minsym != NULL
-	  && MSYMBOL_TYPE (ifunc_msym.minsym) == mst_text_gnu_ifunc
-	  && BMSYMBOL_VALUE_ADDRESS (ifunc_msym) == pc)
+      /* Addresses of TLS symbols are really offsets into a
+	 per-objfile/per-thread storage block.  */
+      addr = MSYMBOL_VALUE_RAW_ADDRESS (bound_msym.minsym);
+    }
+  else if (msymbol_is_function (objfile, msymbol, &addr))
+    {
+      if (addr != BMSYMBOL_VALUE_ADDRESS (bound_msym))
 	{
-	  /* A function descriptor has been resolved but PC is still in the
-	     STT_GNU_IFUNC resolver body (such as because inferior does not
-	     run to be able to call it).  */
-
-	  type = mst_text_gnu_ifunc;
+	  /* This means we resolved a function descriptor, and we now
+	     have an address for a code/text symbol instead of a data
+	     symbol.  */
+	  if (MSYMBOL_TYPE (msymbol) == mst_data_gnu_ifunc)
+	    type = mst_text_gnu_ifunc;
+	  else
+	    type = mst_text;
+	  section = NULL;
 	}
-      else
-	type = mst_text;
-      section = NULL;
-      addr = pc;
     }
+  else
+    addr = BMSYMBOL_VALUE_ADDRESS (bound_msym);
 
   if (overlay_debugging)
     addr = symbol_overlayed_address (addr, section);
@@ -563,9 +568,7 @@ mark_completion_tag (enum type_code tag,
 	      || tag == TYPE_CODE_STRUCT
 	      || tag == TYPE_CODE_ENUM);
   expout_tag_completion_type = tag;
-  expout_completion_name = (char *) xmalloc (length + 1);
-  memcpy (expout_completion_name, ptr, length);
-  expout_completion_name[length] = '\0';
+  expout_completion_name.reset (xstrndup (ptr, length));
 }
 
 
@@ -682,6 +685,8 @@ handle_register:
   str.ptr++;
   write_exp_string (ps, str);
   write_exp_elt_opcode (ps, OP_REGISTER);
+  innermost_block.update (expression_context_block,
+			  INNERMOST_BLOCK_FOR_REGISTERS);
   return;
 }
 
@@ -990,6 +995,7 @@ operator_length_standard (const struct e
       switch (range_type)
 	{
 	case LOW_BOUND_DEFAULT:
+	case LOW_BOUND_DEFAULT_EXCLUSIVE:
 	case HIGH_BOUND_DEFAULT:
 	  args = 1;
 	  break;
@@ -997,6 +1003,7 @@ operator_length_standard (const struct e
 	  args = 0;
 	  break;
 	case NONE_BOUND_DEFAULT:
+	case NONE_BOUND_DEFAULT_EXCLUSIVE:
 	  args = 2;
 	  break;
 	}
@@ -1123,8 +1130,7 @@ parse_exp_in_context_1 (const char **str
   type_stack.depth = 0;
   expout_last_struct = -1;
   expout_tag_completion_type = TYPE_CODE_UNDEF;
-  xfree (expout_completion_name);
-  expout_completion_name = NULL;
+  expout_completion_name.reset ();
 
   comma_terminates = comma;
 
@@ -1196,8 +1202,7 @@ parse_exp_in_context_1 (const char **str
 
   TRY
     {
-      if (lang->la_parser (&ps))
-        lang->la_error (NULL);
+      lang->la_parser (&ps);
     }
   CATCH (except, RETURN_MASK_ALL)
     {
@@ -1263,11 +1268,11 @@ parse_expression_with_language (const ch
    reference; furthermore, if the parsing ends in the field name,
    return the field name in *NAME.  If the parsing ends in the middle
    of a field reference, but the reference is somehow invalid, throw
-   an exception.  In all other cases, return NULL.  Returned non-NULL
-   *NAME must be freed by the caller.  */
+   an exception.  In all other cases, return NULL.  */
 
 struct type *
-parse_expression_for_completion (const char *string, char **name,
+parse_expression_for_completion (const char *string,
+				 gdb::unique_xmalloc_ptr<char> *name,
 				 enum type_code *code)
 {
   expression_up exp;
@@ -1292,23 +1297,24 @@ parse_expression_for_completion (const c
   if (expout_tag_completion_type != TYPE_CODE_UNDEF)
     {
       *code = expout_tag_completion_type;
-      *name = expout_completion_name;
-      expout_completion_name = NULL;
+      *name = std::move (expout_completion_name);
       return NULL;
     }
 
   if (expout_last_struct == -1)
     return NULL;
 
-  *name = extract_field_op (exp.get (), &subexp);
-  if (!*name)
-    return NULL;
+  const char *fieldname = extract_field_op (exp.get (), &subexp);
+  if (fieldname == NULL)
+    {
+      name->reset ();
+      return NULL;
+    }
 
+  name->reset (xstrdup (fieldname));
   /* This might throw an exception.  If so, we want to let it
      propagate.  */
   val = evaluate_subexpression_type (exp.get (), subexp);
-  /* (*NAME) is a part of the EXP memory block freed below.  */
-  *name = xstrdup (*name);
 
   return value_type (val);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/parser-defs.h ./gdb/parser-defs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/parser-defs.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/parser-defs.h	2018-07-10 02:06:13.000000000 +0000
@@ -75,9 +75,80 @@ extern const struct block *expression_co
    then look up the macro definitions active at that point.  */
 extern CORE_ADDR expression_context_pc;
 
+/* While parsing expressions we need to track the innermost lexical block
+   that we encounter.  In some situations we need to track the innermost
+   block just for symbols, and in other situations we want to track the
+   innermost block for symbols and registers.  These flags are used by the
+   innermost block tracker to control which blocks we consider for the
+   innermost block.  These flags can be combined together as needed.  */
+
+enum innermost_block_tracker_type
+{
+  /* Track the innermost block for symbols within an expression.  */
+  INNERMOST_BLOCK_FOR_SYMBOLS = (1 << 0),
+
+  /* Track the innermost block for registers within an expression.  */
+  INNERMOST_BLOCK_FOR_REGISTERS = (1 << 1)
+};
+DEF_ENUM_FLAGS_TYPE (enum innermost_block_tracker_type,
+		     innermost_block_tracker_types);
+
+/* When parsing expressions we track the innermost block that was
+   referenced.  */
+
+class innermost_block_tracker
+{
+public:
+  innermost_block_tracker ()
+    : m_types (INNERMOST_BLOCK_FOR_SYMBOLS),
+      m_innermost_block (NULL)
+  { /* Nothing.  */ }
+
+  /* Reset the currently stored innermost block.  Usually called before
+     parsing a new expression.  As the most common case is that we only
+     want to gather the innermost block for symbols in an expression, this
+     becomes the default block tracker type.  */
+  void reset (innermost_block_tracker_types t = INNERMOST_BLOCK_FOR_SYMBOLS)
+  {
+    m_types = t;
+    m_innermost_block = NULL;
+  }
+
+  /* Update the stored innermost block if the new block B is more inner
+     than the currently stored block, or if no block is stored yet.  The
+     type T tells us whether the block B was for a symbol or for a
+     register.  The stored innermost block is only updated if the type T is
+     a type we are interested in, the types we are interested in are held
+     in M_TYPES and set during RESET.  */
+  void update (const struct block *b, innermost_block_tracker_types t);
+
+  /* Overload of main UPDATE method which extracts the block from BS.  */
+  void update (const struct block_symbol &bs)
+  {
+    update (bs.block, INNERMOST_BLOCK_FOR_SYMBOLS);
+  }
+
+  /* Return the stored innermost block.  Can be nullptr if no symbols or
+     registers were found during an expression parse, and so no innermost
+     block was defined.  */
+  const struct block *block () const
+  {
+    return m_innermost_block;
+  }
+
+private:
+  /* The type of innermost block being looked for.  */
+  innermost_block_tracker_types m_types;
+
+  /* The currently stored innermost block found while parsing an
+     expression.  */
+  const struct block *m_innermost_block;
+};
+
 /* The innermost context required by the stack and register variables
-   we've encountered so far.  */
-extern const struct block *innermost_block;
+   we've encountered so far.  This should be cleared before parsing an
+   expression, and queried once the parse is complete.  */
+extern innermost_block_tracker innermost_block;
 
 /* Number of arguments seen so far in innermost function call.  */
 extern int arglist_len;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-exp.c ./gdb/p-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-exp.c	2018-07-03 02:10:18.000000000 +0000
+++ ./gdb/p-exp.c	2018-07-10 02:10:06.000000000 +0000
@@ -100,13 +100,13 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static char *uptok (const char *, int);
 
 
 /* Line 189 of yacc.c  */
-#line 110 "p-exp.c"
+#line 110 "p-exp.c.tmp"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -242,7 +242,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 246 "p-exp.c"
+#line 246 "p-exp.c.tmp"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -268,7 +268,7 @@ static int search_field;
 
 
 /* Line 264 of yacc.c  */
-#line 272 "p-exp.c"
+#line 272 "p-exp.c.tmp"
 
 #ifdef short
 # undef short
@@ -588,8 +588,8 @@ static const yytype_uint16 yyrline[] =
      378,   378,   401,   405,   409,   413,   417,   421,   425,   431,
      437,   443,   449,   455,   461,   465,   469,   473,   477,   484,
      491,   499,   513,   521,   524,   539,   550,   554,   586,   614,
-     632,   643,   658,   674,   675,   706,   775,   786,   790,   792,
-     794,   797,   805,   806,   807,   808,   811,   812
+     632,   643,   658,   674,   675,   706,   767,   778,   782,   784,
+     786,   789,   797,   798,   799,   800,   803,   804
 };
 #endif
 
@@ -2310,12 +2310,7 @@ yyreduce:
 			  if (sym.symbol)
 			    {
 			      if (symbol_read_needs_frame (sym.symbol))
-				{
-				  if (innermost_block == 0
-				      || contained_in (sym.block,
-						       innermost_block))
-				    innermost_block = sym.block;
-				}
+				innermost_block.update (sym);
 
 			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			      write_exp_elt_block (pstate, sym.block);
@@ -2329,10 +2324,7 @@ yyreduce:
 			      /* Object pascal: it hangs off of `this'.  Must
 			         not inadvertently convert from a method call
 				 to data ref.  */
-			      if (innermost_block == 0
-				  || contained_in (sym.block,
-						   innermost_block))
-				innermost_block = sym.block;
+			      innermost_block.update (sym);
 			      write_exp_elt_opcode (pstate, OP_THIS);
 			      write_exp_elt_opcode (pstate, OP_THIS);
 			      write_exp_elt_opcode (pstate, STRUCTOP_PTR);
@@ -2375,21 +2367,21 @@ yyreduce:
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 791 "p-exp.y"
+#line 783 "p-exp.y"
     { (yyval.tval) = lookup_pointer_type ((yyvsp[(2) - (2)].tval)); }
     break;
 
   case 69:
 
 /* Line 1455 of yacc.c  */
-#line 793 "p-exp.y"
+#line 785 "p-exp.y"
     { (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; }
     break;
 
   case 70:
 
 /* Line 1455 of yacc.c  */
-#line 795 "p-exp.y"
+#line 787 "p-exp.y"
     { (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)),
 					      expression_context_block); }
     break;
@@ -2397,7 +2389,7 @@ yyreduce:
   case 71:
 
 /* Line 1455 of yacc.c  */
-#line 798 "p-exp.y"
+#line 790 "p-exp.y"
     { (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)),
 					      expression_context_block); }
     break;
@@ -2405,35 +2397,35 @@ yyreduce:
   case 72:
 
 /* Line 1455 of yacc.c  */
-#line 805 "p-exp.y"
+#line 797 "p-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
   case 73:
 
 /* Line 1455 of yacc.c  */
-#line 806 "p-exp.y"
+#line 798 "p-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
   case 74:
 
 /* Line 1455 of yacc.c  */
-#line 807 "p-exp.y"
+#line 799 "p-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].tsym).stoken; }
     break;
 
   case 75:
 
 /* Line 1455 of yacc.c  */
-#line 808 "p-exp.y"
+#line 800 "p-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
 
 
 /* Line 1455 of yacc.c  */
-#line 2438 "p-exp.c"
+#line 2430 "p-exp.c.tmp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2645,7 +2637,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 822 "p-exp.y"
+#line 814 "p-exp.y"
 
 
 /* Take care of parsing a number (anything that starts with a digit).
@@ -3059,7 +3051,7 @@ yylex (void)
 	  goto symbol;		/* Nope, must be a symbol.  */
 	}
 
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
 
     case '0':
     case '1':
@@ -3557,12 +3549,12 @@ pascal_parse (struct parser_state *par_s
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-exp.y ./gdb/p-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-exp.y	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/p-exp.y	2018-07-10 02:06:13.000000000 +0000
@@ -72,7 +72,7 @@ int yyparse (void);
 
 static int yylex (void);
 
-void yyerror (const char *);
+static void yyerror (const char *);
 
 static char *uptok (const char *, int);
 %}
@@ -709,12 +709,7 @@ variable:	name_not_typename
 			  if (sym.symbol)
 			    {
 			      if (symbol_read_needs_frame (sym.symbol))
-				{
-				  if (innermost_block == 0
-				      || contained_in (sym.block,
-						       innermost_block))
-				    innermost_block = sym.block;
-				}
+				innermost_block.update (sym);
 
 			      write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			      write_exp_elt_block (pstate, sym.block);
@@ -728,10 +723,7 @@ variable:	name_not_typename
 			      /* Object pascal: it hangs off of `this'.  Must
 			         not inadvertently convert from a method call
 				 to data ref.  */
-			      if (innermost_block == 0
-				  || contained_in (sym.block,
-						   innermost_block))
-				innermost_block = sym.block;
+			      innermost_block.update (sym);
 			      write_exp_elt_opcode (pstate, OP_THIS);
 			      write_exp_elt_opcode (pstate, OP_THIS);
 			      write_exp_elt_opcode (pstate, STRUCTOP_PTR);
@@ -1232,7 +1224,7 @@ yylex (void)
 	  goto symbol;		/* Nope, must be a symbol.  */
 	}
 
-      /* FALL THRU into number case.  */
+      /* FALL THRU.  */
 
     case '0':
     case '1':
@@ -1730,11 +1722,11 @@ pascal_parse (struct parser_state *par_s
   return yyparse ();
 }
 
-void
+static void
 yyerror (const char *msg)
 {
   if (prev_lexptr)
     lexptr = prev_lexptr;
 
-  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+  error (_("A %s in expression, near `%s'."), msg, lexptr);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-lang.c ./gdb/p-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-lang.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/p-lang.c	2018-07-10 02:06:13.000000000 +0000
@@ -427,7 +427,6 @@ extern const struct language_defn pascal
   p_extensions,
   &exp_descriptor_standard,
   pascal_parse,
-  pascal_yyerror,
   null_post_parser,
   pascal_printchar,		/* Print a character constant */
   pascal_printstr,		/* Function to print string constant */
@@ -439,6 +438,7 @@ extern const struct language_defn pascal
   default_read_var_value,	/* la_read_var_value */
   NULL,				/* Language specific skip_trampoline */
   "this",		        /* name_of_this */
+  false,			/* la_store_sym_names_in_linkage_form_p */
   basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   NULL,				/* Language specific symbol demangler */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-lang.h ./gdb/p-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-lang.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/p-lang.h	2018-07-10 02:06:13.000000000 +0000
@@ -27,8 +27,6 @@ extern const char *pascal_main_name (voi
 
 extern int pascal_parse (struct parser_state *); /* Defined in p-exp.y */
 
-extern void pascal_yyerror (const char *);	/* Defined in p-exp.y */
-
 /* Defined in p-typeprint.c */
 extern void pascal_print_type (struct type *, const char *, struct ui_file *,
 			       int, int, const struct type_print_options *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/po/gdb.pot ./gdb/po/gdb.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/po/gdb.pot	2018-07-03 02:10:20.000000000 +0000
+++ ./gdb/po/gdb.pot	2018-07-10 02:10:08.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-07-03 02:10+0000\n"
+"POT-Creation-Date: 2018-07-10 02:10+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"
@@ -16,96 +16,101 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: aarch64-fbsd-nat.c:63 aarch64-fbsd-nat.c:96 alpha-bsd-nat.c:96
-#: alpha-bsd-nat.c:128 amd64-bsd-nat.c:53 amd64-bsd-nat.c:127
-#: amd64-fbsd-nat.c:158 amd64-linux-nat.c:150 amd64-linux-nat.c:229
-#: arm-fbsd-nat.c:67 arm-fbsd-nat.c:102 hppa-nbsd-nat.c:173
-#: hppa-nbsd-nat.c:203 hppa-obsd-nat.c:199 hppa-obsd-nat.c:227
-#: i386-bsd-nat.c:141 i386-bsd-nat.c:205 i386-linux-nat.c:212
-#: i386-linux-nat.c:227 m32r-linux-nat.c:113 m32r-linux-nat.c:162
-#: m68k-bsd-nat.c:121 m68k-bsd-nat.c:151 m68k-linux-nat.c:258
-#: m68k-linux-nat.c:273 m88k-bsd-nat.c:73 m88k-bsd-nat.c:89
-#: mips64-obsd-nat.c:88 mips64-obsd-nat.c:104 mips-fbsd-nat.c:67
-#: mips-fbsd-nat.c:99 mips-linux-nat.c:256 mips-linux-nat.c:336
-#: mips-nbsd-nat.c:53 mips-nbsd-nat.c:84 ppc-fbsd-nat.c:126 ppc-fbsd-nat.c:153
-#: ppc-nbsd-nat.c:91 ppc-nbsd-nat.c:121 ppc-obsd-nat.c:81 ppc-obsd-nat.c:116
-#: s390-linux-nat.c:243 s390-linux-nat.c:260 sh-nbsd-nat.c:56 sh-nbsd-nat.c:79
-#: sparc-nat.c:171 sparc-nat.c:205 tilegx-linux-nat.c:133
-#: tilegx-linux-nat.c:149 vax-bsd-nat.c:73 vax-bsd-nat.c:89
-#: xtensa-linux-nat.c:219 xtensa-linux-nat.c:238
+#: aarch64-fbsd-nat.c:71 aarch64-fbsd-nat.c:104 alpha-bsd-nat.c:103
+#: alpha-bsd-nat.c:134 amd64-bsd-nat.c:52 amd64-bsd-nat.c:125
+#: amd64-fbsd-nat.c:172 amd64-linux-nat.c:160 amd64-linux-nat.c:238
+#: arm-fbsd-nat.c:75 arm-fbsd-nat.c:109 hppa-nbsd-nat.c:180
+#: hppa-nbsd-nat.c:209 hppa-obsd-nat.c:206 hppa-obsd-nat.c:233
+#: i386-bsd-nat.c:140 i386-bsd-nat.c:203 i386-linux-nat.c:223
+#: i386-linux-nat.c:238 m32r-linux-nat.c:121 m32r-linux-nat.c:170
+#: m68k-bsd-nat.c:127 m68k-bsd-nat.c:156 m68k-linux-nat.c:267
+#: m68k-linux-nat.c:282 mips64-obsd-nat.c:95 mips64-obsd-nat.c:110
+#: mips-fbsd-nat.c:74 mips-fbsd-nat.c:105 mips-linux-nat.c:286
+#: mips-linux-nat.c:367 mips-nbsd-nat.c:60 mips-nbsd-nat.c:90
+#: ppc-fbsd-nat.c:133 ppc-fbsd-nat.c:159 ppc-nbsd-nat.c:98 ppc-nbsd-nat.c:127
+#: ppc-obsd-nat.c:88 ppc-obsd-nat.c:122 s390-linux-nat.c:280
+#: s390-linux-nat.c:297 sh-nbsd-nat.c:62 sh-nbsd-nat.c:84 sparc-nat.c:170
+#: sparc-nat.c:203 tilegx-linux-nat.c:143 tilegx-linux-nat.c:159
+#: vax-bsd-nat.c:80 vax-bsd-nat.c:95 xtensa-linux-nat.c:211
+#: xtensa-linux-nat.c:230
 msgid "Couldn't get registers"
 msgstr ""
 
-#: aarch64-fbsd-nat.c:74 aarch64-fbsd-nat.c:110 alpha-bsd-nat.c:110
-#: alpha-bsd-nat.c:147 amd64-bsd-nat.c:106 amd64-bsd-nat.c:188
-#: amd64-linux-nat.c:177 amd64-linux-nat.c:264 arm-fbsd-nat.c:79
-#: arm-fbsd-nat.c:117 hppa-nbsd-nat.c:183 hppa-nbsd-nat.c:216
-#: hppa-obsd-nat.c:209 hppa-obsd-nat.c:240 i386-bsd-nat.c:182
-#: i386-bsd-nat.c:258 i386-linux-nat.c:276 i386-linux-nat.c:290
-#: m68k-bsd-nat.c:131 m68k-bsd-nat.c:164 m68k-linux-nat.c:355
-#: m68k-linux-nat.c:369 mips-fbsd-nat.c:77 mips-fbsd-nat.c:113
-#: mips-nbsd-nat.c:66 mips-nbsd-nat.c:101 ppc-obsd-nat.c:97 ppc-obsd-nat.c:135
-#: s390-linux-nat.c:280 s390-linux-nat.c:297 sparc-nat.c:183
+#: aarch64-fbsd-nat.c:82 aarch64-fbsd-nat.c:118 alpha-bsd-nat.c:117
+#: alpha-bsd-nat.c:153 amd64-bsd-nat.c:105 amd64-bsd-nat.c:186
+#: amd64-linux-nat.c:187 amd64-linux-nat.c:273 arm-fbsd-nat.c:87
+#: arm-fbsd-nat.c:124 hppa-nbsd-nat.c:190 hppa-nbsd-nat.c:222
+#: hppa-obsd-nat.c:216 hppa-obsd-nat.c:246 i386-bsd-nat.c:181
+#: i386-bsd-nat.c:256 i386-linux-nat.c:287 i386-linux-nat.c:301
+#: m68k-bsd-nat.c:137 m68k-bsd-nat.c:169 m68k-linux-nat.c:361
+#: m68k-linux-nat.c:375 mips-fbsd-nat.c:84 mips-fbsd-nat.c:119
+#: mips-nbsd-nat.c:73 mips-nbsd-nat.c:107 ppc-obsd-nat.c:104
+#: ppc-obsd-nat.c:141 s390-linux-nat.c:317 s390-linux-nat.c:334
+#: sparc-nat.c:182
 msgid "Couldn't get floating point status"
 msgstr ""
 
-#: aarch64-fbsd-nat.c:102 alpha-bsd-nat.c:134 amd64-bsd-nat.c:132
-#: amd64-linux-nat.c:234 arm-fbsd-nat.c:108 hppa-nbsd-nat.c:208
-#: hppa-obsd-nat.c:232 i386-bsd-nat.c:210 i386-linux-nat.c:232
-#: m32r-linux-nat.c:167 m68k-bsd-nat.c:156 m68k-linux-nat.c:278
-#: m88k-bsd-nat.c:95 mips64-obsd-nat.c:109 mips-fbsd-nat.c:105
-#: mips-nbsd-nat.c:89 ppc-fbsd-nat.c:158 ppc-nbsd-nat.c:127 ppc-obsd-nat.c:126
-#: s390-linux-nat.c:265 sparc-nat.c:210 tilegx-linux-nat.c:154
-#: vax-bsd-nat.c:94 xtensa-linux-nat.c:246
+#: aarch64-fbsd-nat.c:110 alpha-bsd-nat.c:140 amd64-bsd-nat.c:130
+#: amd64-linux-nat.c:243 arm-fbsd-nat.c:115 hppa-nbsd-nat.c:214
+#: hppa-obsd-nat.c:238 i386-bsd-nat.c:208 i386-linux-nat.c:243
+#: m32r-linux-nat.c:175 m68k-bsd-nat.c:161 m68k-linux-nat.c:287
+#: mips64-obsd-nat.c:115 mips-fbsd-nat.c:111 mips-nbsd-nat.c:95
+#: ppc-fbsd-nat.c:164 ppc-nbsd-nat.c:133 ppc-obsd-nat.c:132
+#: s390-linux-nat.c:302 sparc-nat.c:208 tilegx-linux-nat.c:164
+#: vax-bsd-nat.c:100 xtensa-linux-nat.c:238
 msgid "Couldn't write registers"
 msgstr ""
 
-#: aarch64-fbsd-nat.c:116 alpha-bsd-nat.c:153 amd64-bsd-nat.c:193
-#: amd64-linux-nat.c:269 arm-fbsd-nat.c:123 hppa-nbsd-nat.c:221
-#: hppa-obsd-nat.c:245 i386-bsd-nat.c:263 i386-linux-nat.c:295
-#: m68k-bsd-nat.c:169 m68k-linux-nat.c:374 mips-fbsd-nat.c:119
-#: mips-nbsd-nat.c:106 ppc-obsd-nat.c:141 s390-linux-nat.c:302
+#: aarch64-fbsd-nat.c:124 alpha-bsd-nat.c:159 amd64-bsd-nat.c:191
+#: amd64-linux-nat.c:278 arm-fbsd-nat.c:130 hppa-nbsd-nat.c:227
+#: hppa-obsd-nat.c:251 i386-bsd-nat.c:261 i386-linux-nat.c:306
+#: m68k-bsd-nat.c:174 m68k-linux-nat.c:380 mips-fbsd-nat.c:125
+#: mips-nbsd-nat.c:112 ppc-obsd-nat.c:147 s390-linux-nat.c:339
 msgid "Couldn't write floating point status"
 msgstr ""
 
-#: aarch64-linux-nat.c:176 aarch64-linux-nat.c:213 arm-linux-nat.c:185
-#: arm-linux-nat.c:213
+#: aarch64-linux-nat.c:225 aarch64-linux-nat.c:262 arm-linux-nat.c:227
+#: arm-linux-nat.c:255
 msgid "Unable to fetch general registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:229 arm-linux-nat.c:230
+#: aarch64-linux-nat.c:277 arm-linux-nat.c:272
 msgid "Unable to store general registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:257 aarch64-linux-nat.c:304 arm-linux-nat.c:324
+#: aarch64-linux-nat.c:305 aarch64-linux-nat.c:351 arm-linux-nat.c:361
 msgid "Unable to fetch VFP registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:269
+#: aarch64-linux-nat.c:317
 msgid "Unable to fetch vFP/SIMD registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:316
+#: aarch64-linux-nat.c:363
 msgid "Unable to fetch FP/SIMD registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:335 arm-linux-nat.c:370
+#: aarch64-linux-nat.c:380 arm-linux-nat.c:407
 msgid "Unable to store VFP registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:341
+#: aarch64-linux-nat.c:386
 msgid "Unable to store FP/SIMD registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:791
+#: aarch64-linux-nat.c:423
+msgid "Unable to store sve registers"
+msgstr ""
+
+#: aarch64-linux-nat.c:911
 msgid "Set whether to show variables that mirror the AArch64 debug registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:792
+#: aarch64-linux-nat.c:912
 msgid "Show whether to show variables that mirror the AArch64 debug registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:793 mips-linux-nat.c:767 x86-nat.c:271
+#: aarch64-linux-nat.c:913 mips-linux-nat.c:797 x86-nat.c:280
 msgid ""
 "Use \"on\" to enable, \"off\" to disable.\n"
 "If enabled, the debug registers values are shown when GDB inserts\n"
@@ -113,63 +118,72 @@ msgid ""
 "triggers a breakpoint or watchpoint."
 msgstr ""
 
-#: aarch64-linux-tdep.c:304 arm-linux-tdep.c:1208 i386-tdep.c:4167
-#: i386-tdep.c:4276 i386-tdep.c:4291 ppc-linux-tdep.c:1080 stap-probe.c:779
+#: aarch64-linux-tdep.c:305 arm-linux-tdep.c:1205 i386-tdep.c:4132
+#: i386-tdep.c:4241 i386-tdep.c:4256 ppc-linux-tdep.c:1169 stap-probe.c:779
 #, possible-c-format
 msgid "Invalid register name `%s' on expression `%s'."
 msgstr ""
 
-#: 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
+#: aarch64-linux-tdep.c:973 amd64-linux-tdep.c:1498 arm-linux-tdep.c:1667
+#: i386-linux-tdep.c:469 s390-linux-tdep.c:817
 #, possible-c-format
 msgid "Process record and replay target doesn't support syscall number %s\n"
 msgstr ""
 
-#: aarch64-tdep.c:192
+#: aarch64-tdep.c:217
 #, possible-c-format
 msgid "AArch64 debugging is %s.\n"
 msgstr ""
 
-#: aarch64-tdep.c:1027 arm-tdep.c:3130
+#: aarch64-tdep.c:1054 arm-tdep.c:3121
 #, possible-c-format
 msgid "Unexpected register %d"
 msgstr ""
 
 #. Should never happen.
-#: aarch64-tdep.c:1079 arm-tdep.c:3369 nds32-tdep.c:1456
+#: aarch64-tdep.c:1106 arm-tdep.c:3360 nds32-tdep.c:1456
 msgid "unknown type alignment"
 msgstr ""
 
-#: aarch64-tdep.c:2169
+#: aarch64-tdep.c:2252
 #, possible-c-format
 msgid "aarch64_pseudo_register_name: bad register number %d"
 msgstr ""
 
-#: aarch64-tdep.c:2196
+#: aarch64-tdep.c:2285
 #, possible-c-format
 msgid "aarch64_pseudo_register_type: bad register number %d"
 msgstr ""
 
-#: aarch64-tdep.c:3041
+#: aarch64-tdep.c:2896 gdbserver/linux-aarch64-tdesc.c:35
+#, possible-c-format
+msgid "VQ is %<PRIu64>, maximum supported value is %d"
+msgstr ""
+
+#: aarch64-tdep.c:2981
+msgid "Program contains both fpu and SVE features."
+msgstr ""
+
+#: aarch64-tdep.c:3153
 #, possible-c-format
 msgid "aarch64_dump_tdep: Lowest pc = 0x%s"
 msgstr ""
 
 #. Debug this file's internals.
-#: aarch64-tdep.c:3059
+#: aarch64-tdep.c:3171
 msgid "Set AArch64 debugging."
 msgstr ""
 
-#: aarch64-tdep.c:3060
+#: aarch64-tdep.c:3172
 msgid "Show AArch64 debugging."
 msgstr ""
 
-#: aarch64-tdep.c:3061
+#: aarch64-tdep.c:3173
 msgid "When on, AArch64 specific debugging is enabled."
 msgstr ""
 
 #. We need to save SPSR value, which is not yet done.
-#: aarch64-tdep.c:4039 arm-tdep.c:11024 arm-tdep.c:11989
+#: aarch64-tdep.c:4151 arm-tdep.c:11116 arm-tdep.c:12135
 #, possible-c-format
 msgid "Process record does not support instruction 0x%0x at address %s.\n"
 msgstr ""
@@ -207,525 +221,525 @@ msgstr ""
 msgid "Error in expression, near `%s'."
 msgstr ""
 
-#: ada-exp.y:815
+#: ada-exp.y:811
 msgid "Could not find renamed symbol"
 msgstr ""
 
-#: ada-exp.y:824
+#: ada-exp.y:820
 #, possible-c-format
 msgid "Could not find renamed variable: %s"
 msgstr ""
 
-#: ada-exp.y:897
+#: ada-exp.y:893
 #, possible-c-format
 msgid "Could not find %s"
 msgstr ""
 
-#: ada-exp.y:950
+#: ada-exp.y:946
 msgid "Internal error in encoding of renaming declaration"
 msgstr ""
 
-#: ada-exp.y:985 c-exp.y:908 p-exp.y:626
+#: ada-exp.y:979 c-exp.y:913 p-exp.y:626
 #, possible-c-format
 msgid "No file or function \"%s\"."
 msgstr ""
 
-#: ada-exp.y:987 c-exp.y:923 m2-exp.y:523 p-exp.y:638
+#: ada-exp.y:981 c-exp.y:928 m2-exp.y:523 p-exp.y:638
 #, possible-c-format
 msgid "No function \"%s\" in specified context."
 msgstr ""
 
-#: ada-exp.y:992
+#: ada-exp.y:986
 #, possible-c-format
 msgid "Function name \"%s\" ambiguous here"
 msgstr ""
 
-#: ada-exp.y:1290
+#: ada-exp.y:1280
 msgid "impossible value from ada_parse_renaming"
 msgstr ""
 
-#: ada-exp.y:1314
+#: ada-exp.y:1298
 #, possible-c-format
 msgid "Invalid attempt to select from type: \"%s\"."
 msgstr ""
 
-#: ada-exp.y:1352
+#: ada-exp.y:1331
 #, possible-c-format
 msgid "No definition of \"%s\" found."
 msgstr ""
 
-#: ada-exp.y:1367 c-exp.y:1034 c-exp.y:1082 cli/cli-cmds.c:930 d-exp.y:495
-#: f-exp.y:486 go-exp.y:584 linespec.c:1648 linespec.c:3951 p-exp.y:698
-#: p-exp.y:765 source.c:196 symtab.c:4173
+#: ada-exp.y:1345 c-exp.y:1035 c-exp.y:1087 cli/cli-cmds.c:929 d-exp.y:488
+#: f-exp.y:481 go-exp.y:579 linespec.c:1623 linespec.c:3909 p-exp.y:698
+#: p-exp.y:757 source.c:197 symtab.c:4196
 msgid "No symbol table is loaded.  Use the \"file\" command."
 msgstr ""
 
-#: ada-exp.y:1369
+#: ada-exp.y:1347
 #, possible-c-format
 msgid "No definition of \"%s\" in current context."
 msgstr ""
 
-#: ada-exp.y:1371
+#: ada-exp.y:1349
 #, possible-c-format
 msgid "No definition of \"%s\" in specified context."
 msgstr ""
 
-#: ada-exp.y:1376
+#: ada-exp.y:1354
 #, possible-c-format
 msgid "Could not find renamed symbol \"%s\""
 msgstr ""
 
-#: ada-exp.y:1414
+#: ada-exp.y:1389
 msgid "Invalid use of type."
 msgstr ""
 
-#: ada-lang.c:630
+#: ada-lang.c:627
 #, possible-c-format
 msgid "Unable to find field %s in struct %s.  Aborting"
 msgstr ""
 
-#: ada-lang.c:750
+#: ada-lang.c:747
 msgid "object size is larger than varsize-limit"
 msgstr ""
 
-#: ada-lang.c:815
+#: ada-lang.c:812
 msgid "Unexpected type in ada_discrete_type_high_bound."
 msgstr ""
 
-#: ada-lang.c:836
+#: ada-lang.c:833
 msgid "Unexpected type in ada_discrete_type_low_bound."
 msgstr ""
 
-#: ada-lang.c:935
+#: ada-lang.c:932
 msgid "Invalid address for Ada main program name."
 msgstr ""
 
-#: ada-lang.c:1018
+#: ada-lang.c:1014
 #, possible-c-format
 msgid "invalid Ada operator name: %s"
 msgstr ""
 
-#: ada-lang.c:1707 ada-lang.c:1725 ada-lang.c:1739 ada-lang.c:1807
+#: ada-lang.c:1703 ada-lang.c:1721 ada-lang.c:1735 ada-lang.c:1803
 msgid "Bad GNAT array descriptor"
 msgstr ""
 
-#: ada-lang.c:1844
+#: ada-lang.c:1840
 msgid "Bad GNAT array descriptor bounds"
 msgstr ""
 
-#: ada-lang.c:2087
+#: ada-lang.c:2083
 msgid "Bounds unavailable for null array pointer."
 msgstr ""
 
-#: ada-lang.c:2176
+#: ada-lang.c:2172
 msgid "could not understand bit size information on packed array"
 msgstr ""
 
-#: ada-lang.c:2274
+#: ada-lang.c:2270
 msgid "could not find bounds information on packed array"
 msgstr ""
 
-#: ada-lang.c:2281
+#: ada-lang.c:2277
 msgid "could not understand bounds information on packed array"
 msgstr ""
 
-#: ada-lang.c:2315
+#: ada-lang.c:2311
 msgid "can't unpack array"
 msgstr ""
 
-#: ada-lang.c:2368
+#: ada-lang.c:2364
 msgid "attempt to do packed indexing of something other than a packed array"
 msgstr ""
 
-#: ada-lang.c:2378
+#: ada-lang.c:2374
 msgid "don't know bounds of array"
 msgstr ""
 
-#: ada-lang.c:2384
+#: ada-lang.c:2380
 #, possible-c-format
 msgid "packed array index %ld out of bounds"
 msgstr ""
 
-#: ada-lang.c:2456
+#: ada-lang.c:2452
 #, possible-c-format
 msgid "Cannot unpack %d bits into buffer of %d bytes"
 msgstr ""
 
-#: ada-lang.c:2751 ada-lang.c:10054 valops.c:1000
+#: ada-lang.c:2747 ada-lang.c:9994 valops.c:1001
 msgid "Left operand of assignment is not a modifiable lvalue."
 msgstr ""
 
-#: ada-lang.c:2853 ada-lang.c:2889
+#: ada-lang.c:2849 ada-lang.c:2885
 #, possible-c-format
 msgid "too many subscripts (%d expected)"
 msgstr ""
 
-#: ada-lang.c:2924 ada-lang.c:2952
+#: ada-lang.c:2920 ada-lang.c:2948
 msgid "unable to get positions in slice, use bounds instead"
 msgstr ""
 
-#: ada-lang.c:3047
+#: ada-lang.c:3043
 #, possible-c-format
 msgid "invalid dimension number to '%s"
 msgstr ""
 
-#: ada-lang.c:3066
+#: ada-lang.c:3062
 msgid "attempt to take bound of something that is not an array"
 msgstr ""
 
-#: ada-lang.c:3228
+#: ada-lang.c:3224
 msgid "Could not find operator name for opcode"
 msgstr ""
 
-#: ada-lang.c:3420
+#: ada-lang.c:3415
 msgid "Unexpected operator during name resolution"
 msgstr ""
 
-#: ada-lang.c:3485
+#: ada-lang.c:3479
 #, possible-c-format
 msgid "No definition found for %s"
 msgstr ""
 
-#: ada-lang.c:3497 ada-lang.c:3551
+#: ada-lang.c:3491 ada-lang.c:3542
 #, possible-c-format
 msgid "Could not find a match for %s"
 msgstr ""
 
-#: ada-lang.c:3502 ada-lang.c:3798
+#: ada-lang.c:3496 ada-lang.c:3784
 #, possible-c-format
 msgid "Multiple matches for %s\n"
 msgstr ""
 
-#: ada-lang.c:3929
+#: ada-lang.c:3915
 msgid "Request to select 0 symbols!"
 msgstr ""
 
-#: ada-lang.c:3934 linespec.c:1563
+#: ada-lang.c:3920 linespec.c:1541
 msgid ""
 "canceled because the command is ambiguous\n"
 "See set/show multiple-symbol."
 msgstr ""
 
-#: ada-lang.c:3944
+#: ada-lang.c:3930
 msgid "[0] cancel\n"
 msgstr ""
 
-#: ada-lang.c:3946
+#: ada-lang.c:3932
 msgid "[1] all\n"
 msgstr ""
 
-#: ada-lang.c:3964
+#: ada-lang.c:3950
 #, possible-c-format
 msgid " at <no source file available>:%d\n"
 msgstr ""
 
-#: ada-lang.c:3967 ada-lang.c:3988
+#: ada-lang.c:3953 ada-lang.c:3974
 #, possible-c-format
 msgid " at %s:%d\n"
 msgstr ""
 
-#: ada-lang.c:3998
+#: ada-lang.c:3984
 #, possible-c-format
 msgid "'(%s) (enumeral)\n"
 msgstr ""
 
-#: ada-lang.c:4009
+#: ada-lang.c:3995
 #, possible-c-format
 msgid " in %s (enumeral)\n"
 msgstr ""
 
-#: ada-lang.c:4010
+#: ada-lang.c:3996
 #, possible-c-format
 msgid " at %s:?\n"
 msgstr ""
 
-#: ada-lang.c:4014
+#: ada-lang.c:4000
 msgid " (enumeral)\n"
 msgstr ""
 
-#: ada-lang.c:4015
+#: ada-lang.c:4001
 msgid " at ?\n"
 msgstr ""
 
-#: ada-lang.c:4061 ada-lang.c:4074 linespec.c:1585
+#: ada-lang.c:4047 ada-lang.c:4060 linespec.c:1562
 msgid "one or more choice numbers"
 msgstr ""
 
-#: ada-lang.c:4081
+#: ada-lang.c:4067
 msgid "Argument must be choice number"
 msgstr ""
 
-#: ada-lang.c:4085
+#: ada-lang.c:4071
 msgid "cancelled"
 msgstr ""
 
-#: ada-lang.c:4112
+#: ada-lang.c:4098
 #, possible-c-format
 msgid "Select no more than %d of the above"
 msgstr ""
 
 #. PNH: Do we ever get here?  See ada_search_struct_field,
 #. find_struct_field.
-#: ada-lang.c:7554
+#: ada-lang.c:7493
 msgid "Cannot assign this kind of variant record"
 msgstr ""
 
-#: ada-lang.c:7673 valops.c:2185
+#: ada-lang.c:7612 valops.c:2186
 #, possible-c-format
 msgid "There is no member named %s."
 msgstr ""
 
-#: ada-lang.c:7679
+#: ada-lang.c:7618
 msgid "Attempt to extract a component of a value that is not a record."
 msgstr ""
 
-#: ada-lang.c:7742
+#: ada-lang.c:7681
 #, possible-c-format
 msgid "Type %s is not a structure or union type"
 msgstr ""
 
-#: ada-lang.c:7743
+#: ada-lang.c:7682
 msgid "(null)"
 msgstr ""
 
-#: ada-lang.c:7826 inferior.c:508
+#: ada-lang.c:7765 inferior.c:462
 msgid "<null>"
 msgstr ""
 
-#: ada-lang.c:7828
+#: ada-lang.c:7767
 #, possible-c-format
 msgid "Type %s has no component named %s"
 msgstr ""
 
-#: ada-lang.c:8184
+#: ada-lang.c:8120
 msgid "unexpected null name on descriptive type"
 msgstr ""
 
-#: ada-lang.c:8575
+#: ada-lang.c:8509
 #, possible-c-format
 msgid "Invalid type size for `%s' detected: %d."
 msgstr ""
 
-#: ada-lang.c:8578
+#: ada-lang.c:8512
 #, possible-c-format
 msgid "Invalid type size for <unnamed> detected: %d."
 msgstr ""
 
-#: ada-lang.c:8589
+#: ada-lang.c:8523
 msgid "record type with dynamic size is larger than varsize-limit"
 msgstr ""
 
-#: ada-lang.c:9031
+#: ada-lang.c:8963
 msgid "array type with dynamic size is larger than varsize-limit"
 msgstr ""
 
-#: ada-lang.c:9135
+#: ada-lang.c:9067
 #, possible-c-format
 msgid "unable to read value of %s (%s)"
 msgstr ""
 
-#: ada-lang.c:9419
+#: ada-lang.c:9359
 msgid "'POS only defined on discrete types"
 msgstr ""
 
-#: ada-lang.c:9422
+#: ada-lang.c:9362
 msgid "enumeration value is invalid: can't find 'POS"
 msgstr ""
 
-#: ada-lang.c:9439
+#: ada-lang.c:9379
 msgid "'VAL only defined on discrete types"
 msgstr ""
 
-#: ada-lang.c:9441
+#: ada-lang.c:9381
 msgid "'VAL requires integral argument"
 msgstr ""
 
-#: ada-lang.c:9448
+#: ada-lang.c:9388
 msgid "argument to 'VAL out of range"
 msgstr ""
 
-#: ada-lang.c:9766 ada-lang.c:9804
+#: ada-lang.c:9706 ada-lang.c:9744
 msgid "unable to determine array bounds"
 msgstr ""
 
-#: ada-lang.c:9845
+#: ada-lang.c:9785
 msgid "cannot assign arrays of different length"
 msgstr ""
 
-#: ada-lang.c:9859
+#: ada-lang.c:9799
 msgid "Incompatible types in assignment"
 msgstr ""
 
-#: ada-lang.c:9893
+#: ada-lang.c:9833
 #, possible-c-format
 msgid "second operand of %s must not be zero."
 msgstr ""
 
-#: ada-lang.c:9944
+#: ada-lang.c:9884
 msgid "Attempt to compare array with non-array"
 msgstr ""
 
-#: ada-lang.c:10070
+#: ada-lang.c:10010
 msgid "Left-hand side must be array or record."
 msgstr ""
 
-#: ada-lang.c:10095
+#: ada-lang.c:10035
 msgid "Misplaced 'others' clause"
 msgstr ""
 
-#: ada-lang.c:10100
+#: ada-lang.c:10040
 msgid "Internal error: bad aggregate clause"
 msgstr ""
 
-#: ada-lang.c:10122
+#: ada-lang.c:10062
 msgid "Extra components in aggregate ignored."
 msgstr ""
 
-#: ada-lang.c:10189
+#: ada-lang.c:10129
 msgid "Invalid record component association."
 msgstr ""
 
-#: ada-lang.c:10195
+#: ada-lang.c:10135
 #, possible-c-format
 msgid "Unknown component name: %s."
 msgstr ""
 
-#: ada-lang.c:10200
+#: ada-lang.c:10140
 msgid "Index in component association out of bounds."
 msgstr ""
 
-#: ada-lang.c:10276
+#: ada-lang.c:10216
 msgid "Internal error: miscounted aggregate components."
 msgstr ""
 
-#: ada-lang.c:10696
+#: ada-lang.c:10636
 msgid "Fixed-point values must be assigned to fixed-point variables"
 msgstr ""
 
-#: ada-lang.c:10717
+#: ada-lang.c:10657
 msgid "Operands of fixed-point addition must have the same type"
 msgstr ""
 
-#: ada-lang.c:10743
+#: ada-lang.c:10683
 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:10846 ada-lang.c:10936
+#: ada-lang.c:10786 ada-lang.c:10876
 #, possible-c-format
 msgid "Unexpected unresolved symbol, %s, during evaluation"
 msgstr ""
 
-#: ada-lang.c:10992
+#: ada-lang.c:10932
 #, possible-c-format
 msgid "cannot subscript or call something of type `%s'"
 msgstr ""
 
-#: ada-lang.c:11026
+#: ada-lang.c:10966
 msgid "cannot subscript or call a record"
 msgstr ""
 
-#: ada-lang.c:11028
+#: ada-lang.c:10968
 #, possible-c-format
 msgid "wrong number of subscripts; expecting %d"
 msgstr ""
 
-#: ada-lang.c:11040 ada-lang.c:11054
+#: ada-lang.c:10980 ada-lang.c:10994
 msgid "element type of array unknown"
 msgstr ""
 
-#: ada-lang.c:11063
+#: ada-lang.c:11003
 msgid "Attempt to index or call something other than an array or function"
 msgstr ""
 
-#: ada-lang.c:11093
+#: ada-lang.c:11033
 msgid "cannot slice a packed array"
 msgstr ""
 
-#: ada-lang.c:11121 valops.c:3788
+#: ada-lang.c:11061 valops.c:3820
 msgid "cannot take slice of non-array"
 msgstr ""
 
-#: ada-lang.c:11160
+#: ada-lang.c:11100
 msgid "Membership test incompletely implemented; always returns true"
 msgstr ""
 
-#: ada-lang.c:11249
+#: ada-lang.c:11189
 #, possible-c-format
 msgid "Invalid operand to '%s"
 msgstr ""
 
 #. Should never happen.
-#: ada-lang.c:11279 ada-lang.c:11304 ada-lang.c:11339
+#: ada-lang.c:11219 ada-lang.c:11244 ada-lang.c:11279
 msgid "unexpected attribute encountered"
 msgstr ""
 
-#: ada-lang.c:11312
+#: ada-lang.c:11252
 msgid "the 'length attribute applies only to array types"
 msgstr ""
 
-#: ada-lang.c:11316
+#: ada-lang.c:11256
 msgid "unimplemented type attribute"
 msgstr ""
 
-#: ada-lang.c:11389
+#: ada-lang.c:11329
 msgid "'modulus must be applied to modular type"
 msgstr ""
 
-#: ada-lang.c:11486
+#: ada-lang.c:11426
 msgid "Attempt to dereference null array pointer."
 msgstr ""
 
-#: ada-lang.c:11530 eval.c:2637 eval.c:3114 valops.c:1589
+#: ada-lang.c:11470 eval.c:2635 eval.c:3125 valops.c:1590
 msgid "Attempt to take contents of a non-pointer value."
 msgstr ""
 
-#: ada-lang.c:11609 eval.c:2836
+#: ada-lang.c:11549 eval.c:2847
 msgid "Attempt to use a type name as an expression"
 msgstr ""
 
-#: ada-lang.c:11621
+#: ada-lang.c:11561
 #, possible-c-format
 msgid ""
 "Undefined name, ambiguous name, or renaming used in component association: %"
 "s."
 msgstr ""
 
-#: ada-lang.c:11624
+#: ada-lang.c:11564
 msgid "Aggregates only allowed on the right of an assignment"
 msgstr ""
 
-#: ada-lang.c:11627
+#: ada-lang.c:11567
 msgid "aggregate apparently mangled"
 msgstr ""
 
-#: ada-lang.c:11909
+#: ada-lang.c:11845
 msgid "Unknown lower bound, using 1."
 msgstr ""
 
-#: ada-lang.c:11925
+#: ada-lang.c:11861
 #, possible-c-format
 msgid "Unknown upper bound, using %ld."
 msgstr ""
 
-#: ada-lang.c:12116
+#: ada-lang.c:12052
 msgid ""
 "Your Ada runtime appears to be missing some debugging information.\n"
 "Cannot insert Ada exception catchpoint in this configuration."
 msgstr ""
 
-#: ada-lang.c:12126
+#: ada-lang.c:12062
 #, possible-c-format
 msgid "Symbol \"%s\" is not a function (class = %d)"
 msgstr ""
 
-#: ada-lang.c:12168
+#: ada-lang.c:12104
 msgid "Unable to insert catchpoint.  Is this an Ada main program?"
 msgstr ""
 
-#: ada-lang.c:12176
+#: ada-lang.c:12112
 msgid "Unable to insert catchpoint. Try to start the program first."
 msgstr ""
 
@@ -735,124 +749,124 @@ 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:12185
+#: ada-lang.c:12121
 msgid "Cannot insert Ada exception catchpoints in this configuration."
 msgstr ""
 
-#: ada-lang.c:12355 ada-lang.c:12808 ada-lang.c:12864 ada-lang.c:12899
+#: ada-lang.c:12291 ada-lang.c:12720 ada-lang.c:12774 ada-lang.c:12809
 msgid "unexpected catchpoint type"
 msgstr ""
 
-#: ada-lang.c:12447
+#: ada-lang.c:12377
 #, possible-c-format
 msgid "failed to get exception name: %s"
 msgstr ""
 
-#: ada-lang.c:12561
+#: ada-lang.c:12487
 #, possible-c-format
 msgid "failed to reevaluate internal exception condition for catchpoint %d: %s"
 msgstr ""
 
-#: ada-lang.c:12643
+#: ada-lang.c:12560
 msgid "Error in testing exception condition:\n"
 msgstr ""
 
-#: ada-lang.c:12778 ada-lang.c:12833
+#: ada-lang.c:12690 ada-lang.c:12745
 #, possible-c-format
 msgid "`%s' Ada exception"
 msgstr ""
 
-#: ada-lang.c:12796 ada-lang.c:12851
+#: ada-lang.c:12708 ada-lang.c:12761
 #, possible-c-format
 msgid "`%s' Ada exception handlers"
 msgstr ""
 
-#: ada-lang.c:12823 break-catch-throw.c:325
+#: ada-lang.c:12735 break-catch-throw.c:323
 msgid "Temporary catchpoint "
 msgstr ""
 
-#: ada-lang.c:12824 break-catch-throw.c:326
+#: ada-lang.c:12736 break-catch-throw.c:324
 msgid "Catchpoint "
 msgstr ""
 
-#: ada-lang.c:12840
+#: ada-lang.c:12750
 msgid "all Ada exceptions"
 msgstr ""
 
-#: ada-lang.c:12844
+#: ada-lang.c:12754
 msgid "unhandled Ada exceptions"
 msgstr ""
 
-#: ada-lang.c:12856
+#: ada-lang.c:12766
 msgid "all Ada exceptions handlers"
 msgstr ""
 
-#: ada-lang.c:12860
+#: ada-lang.c:12770
 msgid "failed Ada assertions"
 msgstr ""
 
-#: ada-lang.c:13169
+#: ada-lang.c:13041
 msgid "Condition missing after `if' keyword"
 msgstr ""
 
-#: ada-lang.c:13180 breakpoint.c:886 breakpoint.c:900
+#: ada-lang.c:13051 breakpoint.c:887 breakpoint.c:901
 msgid "Junk at end of expression"
 msgstr ""
 
-#: ada-lang.c:13237 ada-lang.c:13263
+#: ada-lang.c:13105 ada-lang.c:13131
 #, possible-c-format
 msgid "unexpected catchpoint kind (%d)"
 msgstr ""
 
-#: ada-lang.c:13489
+#: ada-lang.c:13345
 msgid "condition missing after `if' keyword"
 msgstr ""
 
-#: ada-lang.c:13496 break-catch-throw.c:447 breakpoint.c:9277
-#: breakpoint.c:11205 breakpoint.c:11336 breakpoint.c:11380 breakpoint.c:14991
+#: ada-lang.c:13352 break-catch-throw.c:445 breakpoint.c:9203
+#: breakpoint.c:11126 breakpoint.c:11257 breakpoint.c:11301 breakpoint.c:14917
 msgid "Junk at end of arguments."
 msgstr ""
 
-#: ada-lang.c:13812
+#: ada-lang.c:13668
 msgid "invalid regular expression"
 msgstr ""
 
-#: ada-lang.c:13827
+#: ada-lang.c:13683
 #, possible-c-format
 msgid "All Ada exceptions matching regular expression \"%s\":\n"
 msgstr ""
 
-#: ada-lang.c:13829
+#: ada-lang.c:13685
 msgid "All defined Ada exceptions:\n"
 msgstr ""
 
 #. XXX: gdb_sprint_host_address, type_sprint
-#: ada-lang.c:14009
+#: ada-lang.c:13865
 msgid "Type @"
 msgstr ""
 
-#: ada-lang.c:14553
+#: ada-lang.c:14409
 msgid "\"set ada\" must be followed by the name of a setting.\n"
 msgstr ""
 
-#: ada-lang.c:14636
+#: ada-lang.c:14492
 msgid "Prefix command for changing Ada-specfic settings"
 msgstr ""
 
-#: ada-lang.c:14640
+#: ada-lang.c:14496
 msgid "Generic command for showing Ada-specific settings."
 msgstr ""
 
-#: ada-lang.c:14644
+#: ada-lang.c:14500
 msgid "Enable or disable an optimization trusting PAD types over XVS types"
 msgstr ""
 
-#: ada-lang.c:14645
+#: ada-lang.c:14501
 msgid ""
 "Show whether an optimization trusting PAD types over XVS types is activated"
 msgstr ""
 
-#: ada-lang.c:14647
+#: ada-lang.c:14503
 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"
@@ -864,60 +878,74 @@ msgid ""
 "this option to \"off\" unless necessary."
 msgstr ""
 
-#: ada-lang.c:14658
+#: ada-lang.c:14514
 msgid ""
 "Enable or disable the output of formal and return types for functions in the "
 "overloads selection menu"
 msgstr ""
 
-#: ada-lang.c:14660
+#: ada-lang.c:14516
 msgid ""
 "Show whether the output of formal and return types for functions in the "
 "overloads selection menu is activated"
 msgstr ""
 
-#: ada-lang.c:14665
+#: ada-lang.c:14521
 msgid ""
 "Catch Ada exceptions, when raised.\n"
 "With an argument, catch only exceptions with the given name."
 msgstr ""
 
-#: ada-lang.c:14673
+#: ada-lang.c:14529
 msgid ""
 "Catch Ada exceptions, when handled.\n"
 "With an argument, catch only exceptions with the given name."
 msgstr ""
 
-#: ada-lang.c:14680
+#: ada-lang.c:14536
 msgid ""
 "Catch failed Ada assertions, when raised.\n"
 "With an argument, catch only exceptions with the given name."
 msgstr ""
 
-#: ada-lang.c:14691
+#: ada-lang.c:14546
+msgid "Set the maximum number of bytes allowed in a variable-size object."
+msgstr ""
+
+#: ada-lang.c:14547
+msgid "Show the maximum number of bytes allowed in a variable-size object."
+msgstr ""
+
+#: ada-lang.c:14548
+msgid ""
+"Attempts to access an object whose size is not a compile-time constant\n"
+"and exceeds this limit will cause an error."
+msgstr ""
+
+#: ada-lang.c:14554
 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:14697
+#: ada-lang.c:14560
 msgid "Set Ada maintenance-related variables."
 msgstr ""
 
-#: ada-lang.c:14702
+#: ada-lang.c:14565
 msgid "Show Ada maintenance-related variables"
 msgstr ""
 
-#: ada-lang.c:14709
+#: ada-lang.c:14572
 msgid "Set whether descriptive types generated by GNAT should be ignored."
 msgstr ""
 
-#: ada-lang.c:14710
+#: ada-lang.c:14573
 msgid "Show whether descriptive types generated by GNAT should be ignored."
 msgstr ""
 
-#: ada-lang.c:14711
+#: ada-lang.c:14574
 msgid ""
 "When enabled, the debugger will stop using the DW_AT_GNAT_descriptive_type\n"
 "DWARF attribute."
@@ -1036,54 +1064,54 @@ msgstr ""
 msgid "Blocked in selective wait statement"
 msgstr ""
 
-#: ada-tasks.c:446
+#: ada-tasks.c:445
 msgid "Unknown task name format. Aborting"
 msgstr ""
 
-#: ada-tasks.c:520
+#: ada-tasks.c:519
 msgid "Cannot find Ada_Task_Control_Block type"
 msgstr ""
 
-#: ada-tasks.c:533
+#: ada-tasks.c:532
 msgid "Cannot find Common_ATCB type"
 msgstr ""
 
-#: ada-tasks.c:535
+#: ada-tasks.c:534
 msgid "Cannot find Private_Data type"
 msgstr ""
 
-#: ada-tasks.c:537
+#: ada-tasks.c:536
 msgid "Cannot find Entry_Call_Record type"
 msgstr ""
 
-#: ada-tasks.c:637
+#: ada-tasks.c:636
 #, possible-c-format
 msgid "%s. Aborting"
 msgstr ""
 
-#: ada-tasks.c:1016
+#: ada-tasks.c:1015
 msgid "Cannot inspect Ada tasks when program is not running"
 msgstr ""
 
-#: ada-tasks.c:1042 ada-tasks.c:1186 ada-tasks.c:1354
+#: ada-tasks.c:1041 ada-tasks.c:1185 ada-tasks.c:1354
 msgid "Your application does not use any Ada tasks.\n"
 msgstr ""
 
-#: ada-tasks.c:1151
+#: ada-tasks.c:1150
 #, possible-c-format
 msgid "Accepting RV with %-4d"
 msgstr ""
 
-#: ada-tasks.c:1157
+#: ada-tasks.c:1156
 #, possible-c-format
 msgid "Waiting on RV with %-3d"
 msgstr ""
 
-#: ada-tasks.c:1167
+#: ada-tasks.c:1166
 msgid "<no name>"
 msgstr ""
 
-#: ada-tasks.c:1191 ada-tasks.c:1306
+#: ada-tasks.c:1190 ada-tasks.c:1305
 #, possible-c-format
 msgid ""
 "Task ID %d not known.  Use the \"info tasks\" command to\n"
@@ -1091,76 +1119,76 @@ msgid ""
 msgstr ""
 
 #. Print the Ada task ID.
-#: ada-tasks.c:1196
+#: ada-tasks.c:1195
 #, possible-c-format
 msgid "Ada Task: %s\n"
 msgstr ""
 
-#: ada-tasks.c:1201
+#: ada-tasks.c:1200
 #, possible-c-format
 msgid "Name: %s\n"
 msgstr ""
 
-#: ada-tasks.c:1203
+#: ada-tasks.c:1202
 msgid "<no name>\n"
 msgstr ""
 
 #. Print the TID and LWP.
-#: ada-tasks.c:1206
+#: ada-tasks.c:1205
 #, possible-c-format
 msgid "Thread: %#lx\n"
 msgstr ""
 
-#: ada-tasks.c:1207
+#: ada-tasks.c:1206
 #, possible-c-format
 msgid "LWP: %#lx\n"
 msgstr ""
 
-#: ada-tasks.c:1211
+#: ada-tasks.c:1210
 #, possible-c-format
 msgid "Base CPU: %d\n"
 msgstr ""
 
-#: ada-tasks.c:1221
+#: ada-tasks.c:1220
 #, possible-c-format
 msgid "Parent: %d"
 msgstr ""
 
-#: ada-tasks.c:1227
+#: ada-tasks.c:1226
 msgid "No parent\n"
 msgstr ""
 
 #. Print the base priority.
-#: ada-tasks.c:1230
+#: ada-tasks.c:1229
 #, possible-c-format
 msgid "Base Priority: %d\n"
 msgstr ""
 
-#: ada-tasks.c:1239
+#: ada-tasks.c:1238
 #, possible-c-format
 msgid "State: Accepting rendezvous with %d"
 msgstr ""
 
-#: ada-tasks.c:1245
+#: ada-tasks.c:1244
 #, possible-c-format
 msgid "State: Waiting on task %d's entry"
 msgstr ""
 
-#: ada-tasks.c:1249
+#: ada-tasks.c:1248
 #, possible-c-format
 msgid "State: %s"
 msgstr ""
 
-#: ada-tasks.c:1290
+#: ada-tasks.c:1289
 msgid "[Current task is unknown]\n"
 msgstr ""
 
-#: ada-tasks.c:1292
+#: ada-tasks.c:1291
 #, possible-c-format
 msgid "[Current task is %d]\n"
 msgstr ""
 
-#: ada-tasks.c:1311
+#: ada-tasks.c:1310
 #, possible-c-format
 msgid "Cannot switch to task %d: Task is no longer running"
 msgstr ""
@@ -1209,32 +1237,36 @@ msgstr ""
 msgid "array (?) of ? (<mal-formed descriptor>)"
 msgstr ""
 
-#: ada-valprint.c:204 ada-valprint.c:495 valprint.c:2604
+#: ada-valprint.c:168 valprint.c:1968
+msgid "unable to get positions in array, use bounds instead"
+msgstr ""
+
+#: ada-valprint.c:240 ada-valprint.c:531 valprint.c:2598
 #, possible-c-format
 msgid " <repeats %u times>"
 msgstr ""
 
-#: ada-valprint.c:426
+#: ada-valprint.c:462
 msgid "internal error: unhandled type in ada_print_scalar"
 msgstr ""
 
-#: ada-valprint.c:430 typeprint.c:643
+#: ada-valprint.c:466 typeprint.c:692
 msgid "Invalid type code in symbol table."
 msgstr ""
 
-#: ada-valprint.c:639
+#: ada-valprint.c:675
 msgid "<optimized out or zero length>"
 msgstr ""
 
-#: ada-valprint.c:1179 cp-valprint.c:327 guile/scm-pretty-print.c:638
-#: mi/mi-cmd-stack.c:549 python/py-framefilter.c:447
+#: ada-valprint.c:1215 cp-valprint.c:327 guile/scm-pretty-print.c:638
+#: mi/mi-cmd-stack.c:551 python/py-framefilter.c:399
 #: python/py-prettyprint.c:271 stack.c:303
 #, possible-c-format
 msgid "<error reading variable: %s>"
 msgstr ""
 
 #. Could not get the array bounds.  Pretend this is an empty array.
-#: ada-varobj.c:251 valprint.c:1988
+#: ada-varobj.c:251 valprint.c:1985
 msgid "unable to get bounds of array, assuming null array"
 msgstr ""
 
@@ -1272,136 +1304,136 @@ msgid ""
 "target."
 msgstr ""
 
-#: aix-thread.c:237
+#: aix-thread.c:113 aix-thread.c:114
+msgid "AIX pthread support"
+msgstr ""
+
+#: aix-thread.c:277
 #, possible-c-format
 msgid "aix-thread: ptrace (%d, %d) returned %d (errno = %d %s)"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] idle"
-#: aix-thread.c:567
+#: aix-thread.c:607
 msgid "idle"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] running"
-#: aix-thread.c:570
+#: aix-thread.c:610
 msgid "running"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] sleeping"
-#: aix-thread.c:573
+#: aix-thread.c:613
 msgid "sleeping"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] ready"
-#: aix-thread.c:576
+#: aix-thread.c:616
 msgid "ready"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] finished"
-#: aix-thread.c:579
+#: aix-thread.c:619
 msgid "finished"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] unknown"
-#: aix-thread.c:582 btrace.c:1872 source.c:663
+#: aix-thread.c:622 btrace.c:1880 source.c:663
 msgid "unknown"
 msgstr ""
 
-#: aix-thread.c:1014
+#: aix-thread.c:1052
 #, possible-c-format
 msgid "aix-thread resume: unknown pthread %ld"
 msgstr ""
 
-#: aix-thread.c:1021
+#: aix-thread.c:1059
 #, possible-c-format
 msgid "aix-thread resume: no tid for pthread %ld"
 msgstr ""
 
-#: aix-thread.c:1197
+#: aix-thread.c:1229
 #, possible-c-format
 msgid "aix-thread: fetch_registers: pthdb_pthread_context returned %s"
 msgstr ""
 
-#: aix-thread.c:1492
+#: aix-thread.c:1515
 #, possible-c-format
 msgid "aix-thread: store_registers: pthdb_pthread_context returned %s"
 msgstr ""
 
-#: aix-thread.c:1556
+#: aix-thread.c:1573
 #, possible-c-format
 msgid "aix-thread: store_registers: pthdb_pthread_setcontext returned %s"
 msgstr ""
 
-#: aix-thread.c:1758
+#: aix-thread.c:1769
 #, possible-c-format
 msgid "Thread %ld"
 msgstr ""
 
 #. i18n: Like "thread-identifier %d, [state] running, suspended"
-#: aix-thread.c:1789
+#: aix-thread.c:1799
 #, c-format
 msgid "tid %d"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] running, suspended"
-#: aix-thread.c:1800
+#: aix-thread.c:1810
 #, c-format
 msgid ", suspended"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] running, detached"
-#: aix-thread.c:1806
+#: aix-thread.c:1816
 #, c-format
 msgid ", detached"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] running, cancel pending"
-#: aix-thread.c:1811
+#: aix-thread.c:1821
 #, c-format
 msgid ", cancel pending"
 msgstr ""
 
-#: aix-thread.c:1834 aix-thread.c:1835
-msgid "AIX pthread support"
-msgstr ""
-
-#: aix-thread.c:1869
+#: aix-thread.c:1853
 msgid "Set debugging of AIX thread module."
 msgstr ""
 
-#: aix-thread.c:1870
+#: aix-thread.c:1854
 msgid "Show debugging of AIX thread module."
 msgstr ""
 
-#: aix-thread.c:1871
+#: aix-thread.c:1855
 msgid "Enables debugging output (used to debug GDB)."
 msgstr ""
 
-#: alpha-tdep.c:503 alpha-tdep.c:527 alpha-tdep.c:572 alpha-tdep.c:597
+#: alpha-tdep.c:501 alpha-tdep.c:525 alpha-tdep.c:570 alpha-tdep.c:595
 msgid "unknown floating point width"
 msgstr ""
 
 #. FIXME: 128-bit long doubles are returned like structures:
 #. by writing into indirect storage provided by the caller
 #. as the first argument.
-#: alpha-tdep.c:568 alpha-tdep.c:593
+#: alpha-tdep.c:566 alpha-tdep.c:591
 msgid "Cannot set a 128-bit long double return value."
 msgstr ""
 
-#: alpha-tdep.c:1093
+#: alpha-tdep.c:1091
 #, possible-c-format
 msgid ""
 "Hit beginning of text section without finding enclosing function for address "
 "%s"
 msgstr ""
 
-#: alpha-tdep.c:1096
+#: alpha-tdep.c:1094
 #, possible-c-format
 msgid ""
 "Hit heuristic-fence-post without finding enclosing function for address %s"
 msgstr ""
 
-#: alpha-tdep.c:1101
+#: alpha-tdep.c:1099
 msgid ""
 "This warning occurs if you are debugging a function without any symbols\n"
 "(for example, in a stripped executable).  In that case, you may wish to\n"
@@ -1412,62 +1444,62 @@ msgid ""
 "(more likely) you have encountered a bug in GDB.\n"
 msgstr ""
 
-#: alpha-tdep.c:1870 mips-tdep.c:9060
+#: alpha-tdep.c:1866 mips-tdep.c:9050
 msgid "Set the distance searched for the start of a function."
 msgstr ""
 
-#: alpha-tdep.c:1871 mips-tdep.c:9061
+#: alpha-tdep.c:1867 mips-tdep.c:9051
 msgid "Show the distance searched for the start of a function."
 msgstr ""
 
-#: alpha-tdep.c:1872 mips-tdep.c:9062
+#: alpha-tdep.c:1868 mips-tdep.c:9052
 msgid ""
 "If you are debugging a stripped executable, GDB needs to search through the\n"
 "program for the start of a function.  This command sets the distance of the\n"
 "search.  The only need to set it is when debugging a stripped executable."
 msgstr ""
 
-#: amd64-bsd-nat.c:66 amd64-linux-nat.c:191
+#: amd64-bsd-nat.c:65 amd64-linux-nat.c:201
 msgid "Couldn't get segment register fs_base"
 msgstr ""
 
-#: amd64-bsd-nat.c:79 amd64-linux-nat.c:199
+#: amd64-bsd-nat.c:78 amd64-linux-nat.c:209
 msgid "Couldn't get segment register gs_base"
 msgstr ""
 
-#: amd64-bsd-nat.c:98 amd64-bsd-nat.c:176 amd64-linux-nat.c:170
-#: amd64-linux-nat.c:253 i386-bsd-nat.c:163 i386-bsd-nat.c:231
+#: amd64-bsd-nat.c:97 amd64-bsd-nat.c:174 amd64-linux-nat.c:180
+#: amd64-linux-nat.c:262 i386-bsd-nat.c:162 i386-bsd-nat.c:229
 msgid "Couldn't get extended state status"
 msgstr ""
 
-#: amd64-bsd-nat.c:146 amd64-linux-nat.c:284
+#: amd64-bsd-nat.c:144 amd64-linux-nat.c:293
 msgid "Couldn't write segment register fs_base"
 msgstr ""
 
-#: amd64-bsd-nat.c:159 amd64-linux-nat.c:291
+#: amd64-bsd-nat.c:157 amd64-linux-nat.c:300
 msgid "Couldn't write segment register gs_base"
 msgstr ""
 
-#: amd64-bsd-nat.c:182 amd64-linux-nat.c:259 i386-bsd-nat.c:237
-#: i386-linux-nat.c:361
+#: amd64-bsd-nat.c:180 amd64-linux-nat.c:268 i386-bsd-nat.c:235
+#: i386-linux-nat.c:372
 msgid "Couldn't write extended state status"
 msgstr ""
 
-#: amd64-fbsd-nat.c:228
+#: amd64-fbsd-nat.c:247
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_rip) yields %d instead of %d.\n"
 "Please report this to <bug-gdb@gnu.org>."
 msgstr ""
 
-#: amd64-fbsd-nat.c:241
+#: amd64-fbsd-nat.c:260
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_rsp) yields %d instead of %d.\n"
 "Please report this to <bug-gdb@gnu.org>."
 msgstr ""
 
-#: amd64-fbsd-nat.c:254
+#: amd64-fbsd-nat.c:273
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_rbp) yields %d instead of %d.\n"
@@ -1485,7 +1517,7 @@ msgstr ""
 msgid "Invalid update to pc in instruction"
 msgstr ""
 
-#: arch/arm.c:197
+#: arch/arm.c:198
 msgid "bad value in switch"
 msgstr ""
 
@@ -1592,19 +1624,19 @@ msgstr ""
 msgid "Show architecture of target."
 msgstr ""
 
-#: arch-utils.c:847
+#: arch-utils.c:852
 msgid "This architecture has no method to collect a return address."
 msgstr ""
 
-#: arch-utils.c:890
+#: arch-utils.c:895
 msgid "This target does not support inferior memory allocation by mmap."
 msgstr ""
 
-#: arch-utils.c:984
+#: arch-utils.c:1005
 msgid "Set endianness of target."
 msgstr ""
 
-#: arch-utils.c:985
+#: arch-utils.c:1006
 msgid "Show endianness of target."
 msgstr ""
 
@@ -1642,261 +1674,261 @@ msgid ""
 "Error: Cannot find required feature `%s' in supplied target description.\n"
 msgstr ""
 
-#: arc-tdep.c:2176
+#: arc-tdep.c:2185
 msgid "ARC-specific maintenance commands for printing GDB internal state."
 msgstr ""
 
-#: arc-tdep.c:2183
+#: arc-tdep.c:2192
 msgid "Dump arc_instruction structure for specified address."
 msgstr ""
 
-#: arc-tdep.c:2189
+#: arc-tdep.c:2198
 msgid "Set ARC specific debugging."
 msgstr ""
 
-#: arc-tdep.c:2190
+#: arc-tdep.c:2199
 msgid "Show ARC specific debugging."
 msgstr ""
 
-#: arc-tdep.c:2191
+#: arc-tdep.c:2200
 msgid "Non-zero enables ARC specific debugging."
 msgstr ""
 
-#: arm-linux-nat.c:95 arm-linux-nat.c:133
+#: arm-linux-nat.c:138 arm-linux-nat.c:175
 msgid "Unable to fetch the floating point registers."
 msgstr ""
 
-#: arm-linux-nat.c:157
+#: arm-linux-nat.c:199
 msgid "Unable to store floating point registers."
 msgstr ""
 
-#: arm-linux-nat.c:249 arm-linux-nat.c:275
+#: arm-linux-nat.c:291 arm-linux-nat.c:316
 msgid "Unable to fetch WMMX registers."
 msgstr ""
 
-#: arm-linux-nat.c:298
+#: arm-linux-nat.c:335
 msgid "Unable to store WMMX registers."
 msgstr ""
 
-#: arm-linux-nat.c:353
+#: arm-linux-nat.c:390
 msgid "Unable to fetch VFP registers (for update)."
 msgstr ""
 
-#: arm-linux-nat.c:602
+#: arm-linux-nat.c:637
 #, possible-c-format
 msgid ""
 "arm-linux-gdb supports %d hardware watchpoints but "
 "target                       supports %d"
 msgstr ""
 
-#: arm-linux-nat.c:609
+#: arm-linux-nat.c:644
 #, possible-c-format
 msgid ""
 "arm-linux-gdb supports %d hardware breakpoints but "
 "target                       supports %d"
 msgstr ""
 
-#: arm-linux-nat.c:1240 arm-linux-nat.c:1245
+#: arm-linux-nat.c:1270 arm-linux-nat.c:1275
 msgid "Unexpected error setting breakpoint"
 msgstr ""
 
-#: arm-linux-nat.c:1257 arm-linux-nat.c:1262
+#: arm-linux-nat.c:1287 arm-linux-nat.c:1292
 msgid "Unexpected error setting watchpoint"
 msgstr ""
 
-#: arm-linux-tdep.c:1768
+#: arm-linux-tdep.c:1774
 msgid "arm_linux_init_abi: Floating point model not supported"
 msgstr ""
 
-#: arm-nbsd-nat.c:85
+#: arm-nbsd-nat.c:90
 msgid "unable to fetch general register"
 msgstr ""
 
-#: arm-nbsd-nat.c:138 arm-nbsd-nat.c:186 arm-nbsd-nat.c:224
+#: arm-nbsd-nat.c:139 arm-nbsd-nat.c:187 arm-nbsd-nat.c:224
 msgid "unable to fetch general registers"
 msgstr ""
 
-#: arm-nbsd-nat.c:156
+#: arm-nbsd-nat.c:157
 msgid "unable to fetch floating-point register"
 msgstr ""
 
-#: arm-nbsd-nat.c:286 arm-nbsd-nat.c:369
+#: arm-nbsd-nat.c:281 arm-nbsd-nat.c:358
 #, possible-c-format
 msgid "unable to write register %d to inferior"
 msgstr ""
 
-#: arm-nbsd-nat.c:334
+#: arm-nbsd-nat.c:323
 msgid "unable to store general registers"
 msgstr ""
 
-#: arm-nbsd-nat.c:348
+#: arm-nbsd-nat.c:337
 msgid "unable to fetch floating-point registers"
 msgstr ""
 
-#: arm-nbsd-nat.c:391
+#: arm-nbsd-nat.c:380
 msgid "unable to store floating-point registers"
 msgstr ""
 
-#: arm-nbsd-nat.c:424
+#: arm-nbsd-nat.c:412
 msgid "wrong size of register set in core file"
 msgstr ""
 
-#: arm-nbsd-nat.c:436
+#: arm-nbsd-nat.c:424
 msgid "wrong size of FPA register set in core file"
 msgstr ""
 
-#: arm-nbsd-tdep.c:63 arm-tdep.c:9341
+#: arm-nbsd-tdep.c:63 arm-tdep.c:9328
 msgid "arm_gdbarch_init: bad byte order for float format"
 msgstr ""
 
-#: arm-tdep.c:3440 arm-tdep.c:3462
+#: arm-tdep.c:3431 arm-tdep.c:3453
 #, possible-c-format
 msgid "Invalid VFP CPRC type: %d."
 msgstr ""
 
-#: arm-tdep.c:3960
+#: arm-tdep.c:3950
 #, possible-c-format
 msgid "Hardware FPU type %d\n"
 msgstr ""
 
-#: arm-tdep.c:3962
+#: arm-tdep.c:3952
 #, possible-c-format
 msgid "Software FPU type %d\n"
 msgstr ""
 
 #. i18n: [floating point unit] mask
-#: arm-tdep.c:3964
+#: arm-tdep.c:3954
 msgid "mask: "
 msgstr ""
 
 #. i18n: [floating point unit] flags
-#: arm-tdep.c:3967
+#: arm-tdep.c:3957
 msgid "flags: "
 msgstr ""
 
-#: arm-tdep.c:4196
+#: arm-tdep.c:4186
 #, possible-c-format
 msgid "Bad REGNUM %d"
 msgstr ""
 
 #. Unpredictable behaviour.  Try to do something sensible (switch to ARM
 #. mode, align dest to 4 bytes).
-#: arm-tdep.c:4502
+#: arm-tdep.c:4492
 msgid "Single-stepping BX to non-word-aligned ARM instruction."
 msgstr ""
 
-#: arm-tdep.c:4564
+#: arm-tdep.c:4554
 msgid "Instruction wrote to PC in an unexpected way when single-stepping"
 msgstr ""
 
-#: arm-tdep.c:4570
+#: arm-tdep.c:4560
 msgid "Invalid argument to displaced_write_reg"
 msgstr ""
 
-#: arm-tdep.c:5530
+#: arm-tdep.c:5520
 msgid "copy_extra_ld_st: instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:5844
+#: arm-tdep.c:5834
 msgid "Cannot single-step exception return"
 msgstr ""
 
-#: arm-tdep.c:5964
+#: arm-tdep.c:5954
 #, possible-c-format
 msgid "displaced: LDM: move loaded register r%d to r%d\n"
 msgstr ""
 
-#: arm-tdep.c:5969
+#: arm-tdep.c:5959
 #, possible-c-format
 msgid "displaced: LDM: register r%d already in the right place\n"
 msgstr ""
 
-#: arm-tdep.c:5989
+#: arm-tdep.c:5979
 #, possible-c-format
 msgid "displaced: LDM: restored clobbered register r%d\n"
 msgstr ""
 
-#: arm-tdep.c:6032 arm-tdep.c:6143
+#: arm-tdep.c:6022 arm-tdep.c:6133
 msgid "displaced: Unpredictable LDM or STM with base register r15"
 msgstr ""
 
-#: arm-tdep.c:6101 arm-tdep.c:6187
+#: arm-tdep.c:6091 arm-tdep.c:6177
 #, possible-c-format
 msgid ""
 "displaced: LDM r%d%s, {..., pc}: original reg list %.4x, modified list %.4x\n"
 msgstr ""
 
-#: arm-tdep.c:7202
+#: arm-tdep.c:7193
 #, possible-c-format
 msgid "displaced: POP {..., pc}: original reg list %.4x, modified list %.4x\n"
 msgstr ""
 
-#: arm-tdep.c:7319
+#: arm-tdep.c:7310
 msgid "thumb_process_displaced_16bit_insn: Instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:7526
+#: arm-tdep.c:7517
 msgid "thumb_process_displaced_32bit_insn: Instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:7610
+#: arm-tdep.c:7601
 msgid "arm_process_displaced_insn: Instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:7923
+#: arm-tdep.c:7913
 msgid "arm_extract_return_value: Floating point model not supported"
 msgstr ""
 
-#: arm-tdep.c:8127
+#: arm-tdep.c:8116
 msgid "arm_store_return_value: Floating point model not supported"
 msgstr ""
 
-#: arm-tdep.c:8362
+#: arm-tdep.c:8349
 msgid "\"set arm\" must be followed by an apporpriate subcommand.\n"
 msgstr ""
 
-#: arm-tdep.c:8386 rs6000-tdep.c:6664 rs6000-tdep.c:6691
+#: arm-tdep.c:8373 rs6000-tdep.c:6531 rs6000-tdep.c:6558
 msgid "could not update architecture"
 msgstr ""
 
-#: arm-tdep.c:8403
+#: arm-tdep.c:8390
 #, possible-c-format
 msgid "Invalid fp model accepted: %s."
 msgstr ""
 
-#: arm-tdep.c:8417
+#: arm-tdep.c:8404
 #, possible-c-format
 msgid "The current ARM floating point model is \"auto\" (currently \"%s\").\n"
 msgstr ""
 
-#: arm-tdep.c:8421
+#: arm-tdep.c:8408
 #, possible-c-format
 msgid "The current ARM floating point model is \"%s\".\n"
 msgstr ""
 
-#: arm-tdep.c:8440
+#: arm-tdep.c:8427
 #, possible-c-format
 msgid "Invalid ABI accepted: %s."
 msgstr ""
 
-#: arm-tdep.c:8454
+#: arm-tdep.c:8441
 #, possible-c-format
 msgid "The current ARM ABI is \"auto\" (currently \"%s\").\n"
 msgstr ""
 
-#: arm-tdep.c:8458
+#: arm-tdep.c:8445
 #, possible-c-format
 msgid "The current ARM ABI is \"%s\".\n"
 msgstr ""
 
-#: arm-tdep.c:8467
+#: arm-tdep.c:8454
 #, possible-c-format
 msgid ""
 "The current execution mode assumed (when symbols are unavailable) is \"%s"
 "\".\n"
 msgstr ""
 
-#: arm-tdep.c:8477
+#: arm-tdep.c:8464
 #, possible-c-format
 msgid ""
 "The current execution mode assumed (even when symbols are available) is \"%s"
@@ -1904,57 +1936,57 @@ msgid ""
 msgstr ""
 
 #. Leave it as "auto".
-#: arm-tdep.c:9033
+#: arm-tdep.c:9020
 #, possible-c-format
 msgid "unknown ARM EABI version 0x%x"
 msgstr ""
 
-#: arm-tdep.c:9534
+#: arm-tdep.c:9521
 #, possible-c-format
 msgid "arm_dump_tdep: Lowest pc = 0x%lx"
 msgstr ""
 
-#: arm-tdep.c:9579 arm-tdep.c:9583
+#: arm-tdep.c:9566 arm-tdep.c:9570
 msgid "Various ARM-specific commands."
 msgstr ""
 
-#: arm-tdep.c:9613
+#: arm-tdep.c:9601
 msgid "The valid values are:\n"
 msgstr ""
 
-#: arm-tdep.c:9615
+#: arm-tdep.c:9603
 msgid "The default is \"std\"."
 msgstr ""
 
-#: arm-tdep.c:9619
+#: arm-tdep.c:9607
 msgid "Set the disassembly style."
 msgstr ""
 
-#: arm-tdep.c:9620
+#: arm-tdep.c:9608
 msgid "Show the disassembly style."
 msgstr ""
 
-#: arm-tdep.c:9627
+#: arm-tdep.c:9615
 msgid "Set usage of ARM 32-bit mode."
 msgstr ""
 
-#: arm-tdep.c:9628
+#: arm-tdep.c:9616
 msgid "Show usage of ARM 32-bit mode."
 msgstr ""
 
-#: arm-tdep.c:9629
+#: arm-tdep.c:9617
 msgid "When off, a 26-bit PC will be used."
 msgstr ""
 
-#: arm-tdep.c:9637
+#: arm-tdep.c:9625
 msgid "Set the floating point type."
 msgstr ""
 
-#: arm-tdep.c:9638
+#: arm-tdep.c:9626
 msgid "Show the floating point type."
 msgstr ""
 
-#: arm-tdep.c:9639
+#: arm-tdep.c:9627
 msgid ""
 "auto - Determine the FP typefrom the OS-ABI.\n"
 "softfpa - Software FP, mixed-endian doubles on little-endian ARMs.\n"
@@ -1963,47 +1995,47 @@ msgid ""
 "vfp - VFP co-processor."
 msgstr ""
 
-#: arm-tdep.c:9649
+#: arm-tdep.c:9637
 msgid "Set the ABI."
 msgstr ""
 
-#: arm-tdep.c:9650
+#: arm-tdep.c:9638
 msgid "Show the ABI."
 msgstr ""
 
-#: arm-tdep.c:9658
+#: arm-tdep.c:9646
 msgid "Set the mode assumed when symbols are unavailable."
 msgstr ""
 
-#: arm-tdep.c:9659
+#: arm-tdep.c:9647
 msgid "Show the mode assumed when symbols are unavailable."
 msgstr ""
 
-#: arm-tdep.c:9664
+#: arm-tdep.c:9652
 msgid "Set the mode assumed even when symbols are available."
 msgstr ""
 
-#: arm-tdep.c:9665
+#: arm-tdep.c:9653
 msgid "Show the mode assumed even when symbols are available."
 msgstr ""
 
-#: arm-tdep.c:9671
+#: arm-tdep.c:9659
 msgid "Set ARM debugging."
 msgstr ""
 
-#: arm-tdep.c:9672
+#: arm-tdep.c:9660
 msgid "Show ARM debugging."
 msgstr ""
 
-#: arm-tdep.c:9673
+#: arm-tdep.c:9661
 msgid "When on, arm-specific debugging is enabled."
 msgstr ""
 
-#: arm-tdep.c:11610 arm-tdep.c:12080 rs6000-tdep.c:5672
+#: arm-tdep.c:11703 arm-tdep.c:12226 rs6000-tdep.c:5537 s390-tdep.c:3060
 msgid "no syscall record support\n"
 msgstr ""
 
-#: arm-tdep.c:12991 arm-tdep.c:13206
+#: arm-tdep.c:13137 arm-tdep.c:13352
 #, possible-c-format
 msgid "Process record: error reading memory at addr %s len = %d.\n"
 msgstr ""
@@ -2028,88 +2060,88 @@ msgstr ""
 msgid "List of directories from which to load auto-loaded scripts is %s.\n"
 msgstr ""
 
-#: auto-load.c:190
+#: auto-load.c:186
 #, possible-c-format
 msgid "auto-load: Expanded $-variables to \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:208
+#: auto-load.c:202
 #, possible-c-format
 msgid "auto-load: Updating directories of \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:231
+#: auto-load.c:225
 #, possible-c-format
 msgid "auto-load: Using directory \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:235
+#: auto-load.c:229
 #, possible-c-format
 msgid "auto-load: Resolved directory \"%s\" as \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:246
+#: auto-load.c:239
 #, possible-c-format
 msgid "auto-load: And canonicalized as \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:294
+#: auto-load.c:286
 msgid "Auto-load files are safe to load from any directory.\n"
 msgstr ""
 
-#: auto-load.c:297
+#: auto-load.c:289
 #, possible-c-format
 msgid "List of directories from which it is safe to auto-load files is %s.\n"
 msgstr ""
 
-#: auto-load.c:311
+#: auto-load.c:303
 msgid ""
 "Directory argument required.\n"
 "Use 'set auto-load safe-path /' for disabling the auto-load safe-path "
 "security."
 msgstr ""
 
-#: auto-load.c:332
+#: auto-load.c:324
 msgid "Directory argument required."
 msgstr ""
 
-#: auto-load.c:349
+#: auto-load.c:341
 #, possible-c-format
 msgid "auto-load: Matching file \"%s\" to pattern \"%s\"\n"
 msgstr ""
 
-#: auto-load.c:367
+#: auto-load.c:359
 msgid "auto-load: Matched - empty pattern\n"
 msgstr ""
 
-#: auto-load.c:382
+#: auto-load.c:374
 #, possible-c-format
 msgid "auto-load: Not matched - pattern \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:391
+#: auto-load.c:383
 #, possible-c-format
 msgid "auto-load: Matched - file \"%s\" to pattern \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:444
+#: auto-load.c:437
 #, possible-c-format
 msgid "auto-load: Resolved file \"%s\" as \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:459
+#: auto-load.c:454
 #, possible-c-format
 msgid "auto-load: File \"%s\" matches directory \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:498
+#: auto-load.c:493
 #, possible-c-format
 msgid ""
 "File \"%s\" auto-loading has been declined by your `auto-load safe-path' set "
 "to \"%s\"."
 msgstr ""
 
-#: auto-load.c:510
+#: auto-load.c:505
 #, possible-c-format
 msgid ""
 "To enable execution of this file add\n"
@@ -2124,88 +2156,88 @@ msgid ""
 "\tinfo \"(gdb)Auto-loading safe path\"\n"
 msgstr ""
 
-#: auto-load.c:791 auto-load.c:822
+#: auto-load.c:780 auto-load.c:805
 #, possible-c-format
 msgid "auto-load: Attempted file \"%s\" %s.\n"
 msgstr ""
 
-#: auto-load.c:792 auto-load.c:825
+#: auto-load.c:781 auto-load.c:808
 msgid "exists"
 msgstr ""
 
-#: auto-load.c:792 auto-load.c:825
+#: auto-load.c:781 auto-load.c:808
 msgid "does not exist"
 msgstr ""
 
-#: auto-load.c:807
+#: auto-load.c:793
 #, possible-c-format
 msgid "auto-load: Searching 'set auto-load scripts-directory' path \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:838
+#: auto-load.c:821
 #, possible-c-format
 msgid "auto-load: Loading %s script \"%s\" by extension for objfile \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:899
+#: auto-load.c:881
 #, possible-c-format
 msgid "auto-load: Stripped .exe suffix, retrying with \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:946 auto-load.c:1052
+#: auto-load.c:928 auto-load.c:1029
 #, possible-c-format
 msgid ""
 "auto-load: Loading %s script \"%s\" from section \"%s\" of objfile \"%s\".\n"
 msgstr ""
 
 #. We don't throw an error, the program is still debuggable.
-#: auto-load.c:1022
+#: auto-load.c:1002
 #, possible-c-format
 msgid ""
 "Missing/bad script name in entry at offset %u in section %s\n"
 "of file %s."
 msgstr ""
 
-#: auto-load.c:1106
+#: auto-load.c:1081
 #, possible-c-format
 msgid "Invalid entry in %s section"
 msgstr ""
 
-#: auto-load.c:1117
+#: auto-load.c:1092
 #, possible-c-format
 msgid "Non-nul-terminated entry in %s at offset %u"
 msgstr ""
 
-#: auto-load.c:1129
+#: auto-load.c:1104
 #, possible-c-format
 msgid "Empty entry in %s at offset %u"
 msgstr ""
 
-#: auto-load.c:1160
+#: auto-load.c:1135
 #, possible-c-format
 msgid "Couldn't read %s section of %s"
 msgstr ""
 
-#: auto-load.c:1310 mi/mi-cmd-file.c:140 solib.c:983 solib.c:1062
+#: auto-load.c:1283 mi/mi-cmd-file.c:140 solib.c:965 solib.c:1044
 #, possible-c-format
 msgid "Invalid regexp: %s"
 msgstr ""
 
-#: auto-load.c:1389
+#: auto-load.c:1362
 msgid "Local .gdbinit file was not found.\n"
 msgstr ""
 
-#: auto-load.c:1391
+#: auto-load.c:1364
 #, possible-c-format
 msgid "Local .gdbinit file \"%s\" has been loaded.\n"
 msgstr ""
 
-#: auto-load.c:1394
+#: auto-load.c:1367
 #, possible-c-format
 msgid "Local .gdbinit file \"%s\" has not been loaded.\n"
 msgstr ""
 
-#: auto-load.c:1410
+#: auto-load.c:1383
 #, possible-c-format
 msgid ""
 "Unsupported auto-load script at offset %u in section %s\n"
@@ -2213,7 +2245,7 @@ msgid ""
 "Use `info auto-load %s-scripts [REGEXP]' to list them."
 msgstr ""
 
-#: auto-load.c:1432
+#: auto-load.c:1405
 #, possible-c-format
 msgid ""
 "Missing auto-load script at offset %u in section %s\n"
@@ -2221,65 +2253,65 @@ msgid ""
 "Use `info auto-load %s-scripts [REGEXP]' to list them."
 msgstr ""
 
-#: auto-load.c:1461
+#: auto-load.c:1434
 msgid ""
 "Valid is only global 'set auto-load no'; otherwise check the auto-load sub-"
 "commands."
 msgstr ""
 
-#: auto-load.c:1480
+#: auto-load.c:1453
 msgid ""
 "Auto-loading specific settings.\n"
 "Configure various auto-load-specific variables such as\n"
 "automatic loading of Python scripts."
 msgstr ""
 
-#: auto-load.c:1507
+#: auto-load.c:1480
 msgid ""
 "Show auto-loading specific settings.\n"
 "Show configuration of various auto-load-specific variables such as\n"
 "automatic loading of Python scripts."
 msgstr ""
 
-#: auto-load.c:1550
+#: auto-load.c:1523
 msgid ""
 "Print current status of auto-loaded files.\n"
 "Print whether various files like Python scripts or .gdbinit files have been\n"
 "found and/or loaded."
 msgstr ""
 
-#: auto-load.c:1575
+#: auto-load.c:1548
 msgid "Enable or disable auto-loading of canned sequences of commands scripts."
 msgstr ""
 
-#: auto-load.c:1576
+#: auto-load.c:1549
 msgid ""
 "Show whether auto-loading of canned sequences of commands scripts is enabled."
 msgstr ""
 
-#: auto-load.c:1578
+#: auto-load.c:1551
 msgid ""
 "If enabled, canned sequences of commands are loaded when the debugger reads\n"
 "an executable or shared library.\n"
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: auto-load.c:1587
+#: auto-load.c:1560
 msgid ""
 "Print the list of automatically loaded sequences of commands.\n"
 "Usage: info auto-load gdb-scripts [REGEXP]"
 msgstr ""
 
-#: auto-load.c:1592
+#: auto-load.c:1565
 msgid "Enable or disable auto-loading of .gdbinit script in current directory."
 msgstr ""
 
-#: auto-load.c:1593
+#: auto-load.c:1566
 msgid ""
 "Show whether auto-loading .gdbinit script in current directory is enabled."
 msgstr ""
 
-#: auto-load.c:1595
+#: auto-load.c:1568
 msgid ""
 "If enabled, canned sequences of commands are loaded when debugger starts\n"
 "from .gdbinit file in current directory.  Such files are deprecated,\n"
@@ -2287,28 +2319,28 @@ msgid ""
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: auto-load.c:1605
+#: auto-load.c:1578
 msgid ""
 "Print whether current directory .gdbinit file has been loaded.\n"
 "Usage: info auto-load local-gdbinit"
 msgstr ""
 
-#: auto-load.c:1613
+#: auto-load.c:1586
 #, possible-c-format
 msgid "GDB scripts:    OBJFILE%s\n"
 msgstr ""
 
-#: auto-load.c:1620
+#: auto-load.c:1593
 #, possible-c-format
 msgid "Python scripts: OBJFILE%s\n"
 msgstr ""
 
-#: auto-load.c:1628
+#: auto-load.c:1601
 #, possible-c-format
 msgid "Guile scripts:  OBJFILE%s\n"
 msgstr ""
 
-#: auto-load.c:1633
+#: auto-load.c:1606
 #, possible-c-format
 msgid ""
 "Automatically loaded scripts are located in one of the directories listed\n"
@@ -2323,23 +2355,23 @@ msgid ""
 "option."
 msgstr ""
 
-#: auto-load.c:1650
+#: auto-load.c:1623
 msgid "Set the list of directories from which to load auto-loaded scripts."
 msgstr ""
 
-#: auto-load.c:1651
+#: auto-load.c:1624
 msgid "Show the list of directories from which to load auto-loaded scripts."
 msgstr ""
 
-#: auto-load.c:1665
+#: auto-load.c:1638
 msgid "Set the list of files and directories that are safe for auto-loading."
 msgstr ""
 
-#: auto-load.c:1666
+#: auto-load.c:1639
 msgid "Show the list of files and directories that are safe for auto-loading."
 msgstr ""
 
-#: auto-load.c:1667
+#: auto-load.c:1640
 msgid ""
 "Various files loaded automatically for the 'set auto-load ...' options must\n"
 "be located in one of the directories listed by this option.  Warning will "
@@ -2355,7 +2387,7 @@ msgid ""
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: auto-load.c:1686
+#: auto-load.c:1659
 msgid ""
 "Add entries to the list of directories from which it is safe to auto-load "
 "files.\n"
@@ -2364,7 +2396,7 @@ msgid ""
 "access the current full list setting."
 msgstr ""
 
-#: auto-load.c:1695
+#: auto-load.c:1668
 msgid ""
 "Add entries to the list of directories from which to load auto-loaded "
 "scripts.\n"
@@ -2372,251 +2404,256 @@ msgid ""
 "'show auto-load scripts-directory' to access the current full list setting."
 msgstr ""
 
-#: auto-load.c:1703
+#: auto-load.c:1676
 msgid "Set auto-load verifications debugging."
 msgstr ""
 
-#: auto-load.c:1704
+#: auto-load.c:1677
 msgid "Show auto-load verifications debugging."
 msgstr ""
 
-#: auto-load.c:1705
+#: auto-load.c:1678
 msgid ""
 "When non-zero, debugging output for files of 'set auto-load ...'\n"
 "is displayed."
 msgstr ""
 
-#: auxv.c:456
+#: auxv.c:449
 msgid "End of vector"
 msgstr ""
 
-#: auxv.c:457 auxv.c:479
+#: auxv.c:450 auxv.c:472
 msgid "Entry should be ignored"
 msgstr ""
 
-#: auxv.c:458
+#: auxv.c:451
 msgid "File descriptor of program"
 msgstr ""
 
-#: auxv.c:459
+#: auxv.c:452
 msgid "Program headers for program"
 msgstr ""
 
-#: auxv.c:460
+#: auxv.c:453
 msgid "Size of program header entry"
 msgstr ""
 
-#: auxv.c:461
+#: auxv.c:454
 msgid "Number of program headers"
 msgstr ""
 
-#: auxv.c:462
+#: auxv.c:455
 msgid "System page size"
 msgstr ""
 
-#: auxv.c:463
+#: auxv.c:456
 msgid "Base address of interpreter"
 msgstr ""
 
-#: auxv.c:464
+#: auxv.c:457
 msgid "Flags"
 msgstr ""
 
-#: auxv.c:465
+#: auxv.c:458
 msgid "Entry point of program"
 msgstr ""
 
-#: auxv.c:466
+#: auxv.c:459
 msgid "Program is not ELF"
 msgstr ""
 
-#: auxv.c:467 auxv.c:495
+#: auxv.c:460 auxv.c:488
 msgid "Real user ID"
 msgstr ""
 
-#: auxv.c:468 auxv.c:494
+#: auxv.c:461 auxv.c:487
 msgid "Effective user ID"
 msgstr ""
 
-#: auxv.c:469 auxv.c:497
+#: auxv.c:462 auxv.c:490
 msgid "Real group ID"
 msgstr ""
 
-#: auxv.c:470 auxv.c:496
+#: auxv.c:463 auxv.c:489
 msgid "Effective group ID"
 msgstr ""
 
-#: auxv.c:471
+#: auxv.c:464
 msgid "Frequency of times()"
 msgstr ""
 
-#: auxv.c:472
+#: auxv.c:465
 msgid "String identifying platform"
 msgstr ""
 
-#: auxv.c:473 auxv.c:505 fbsd-tdep.c:396
+#: auxv.c:466 auxv.c:498 fbsd-tdep.c:1045
 msgid "Machine-dependent CPU capability hints"
 msgstr ""
 
-#: auxv.c:475
+#: auxv.c:468
 msgid "Used FPU control word"
 msgstr ""
 
-#: auxv.c:476
+#: auxv.c:469
 msgid "Data cache block size"
 msgstr ""
 
-#: auxv.c:477
+#: auxv.c:470
 msgid "Instruction cache block size"
 msgstr ""
 
-#: auxv.c:478
+#: auxv.c:471
 msgid "Unified cache block size"
 msgstr ""
 
-#: auxv.c:480
+#: auxv.c:473
 msgid "String identifying base platform"
 msgstr ""
 
-#: auxv.c:482
+#: auxv.c:475
 msgid "Address of 16 random bytes"
 msgstr ""
 
-#: auxv.c:483
+#: auxv.c:476
 msgid "Extension of AT_HWCAP"
 msgstr ""
 
-#: auxv.c:484
+#: auxv.c:477
 msgid "File name of executable"
 msgstr ""
 
-#: auxv.c:485
+#: auxv.c:478
 msgid "Boolean, was exec setuid-like?"
 msgstr ""
 
-#: auxv.c:486
+#: auxv.c:479
 msgid "Special system info/entry points"
 msgstr ""
 
-#: auxv.c:487
+#: auxv.c:480
 msgid "System-supplied DSO's ELF header"
 msgstr ""
 
-#: auxv.c:489
+#: auxv.c:482
 msgid "L1 Instruction cache information"
 msgstr ""
 
-#: auxv.c:491
+#: auxv.c:484
 msgid "L1 Data cache information"
 msgstr ""
 
-#: auxv.c:492
+#: auxv.c:485
 msgid "L2 cache information"
 msgstr ""
 
-#: auxv.c:493
+#: auxv.c:486
 msgid "L3 cache information"
 msgstr ""
 
-#: auxv.c:498
+#: auxv.c:491
 msgid "Dynamic linker's ELF header"
 msgstr ""
 
-#: auxv.c:499
+#: auxv.c:492
 msgid "Dynamic linker's section headers"
 msgstr ""
 
-#: auxv.c:501
+#: auxv.c:494
 msgid "String giving name of dynamic linker"
 msgstr ""
 
-#: auxv.c:503
+#: auxv.c:496
 msgid "Large pagesize"
 msgstr ""
 
-#: auxv.c:504
+#: auxv.c:497
 msgid "Platform name string"
 msgstr ""
 
-#: auxv.c:507
+#: auxv.c:500
 msgid "Should flush icache?"
 msgstr ""
 
-#: auxv.c:508
+#: auxv.c:501
 msgid "CPU name string"
 msgstr ""
 
-#: auxv.c:509
+#: auxv.c:502
 msgid "COFF entry point address"
 msgstr ""
 
-#: auxv.c:510
+#: auxv.c:503
 msgid "COFF executable file descriptor"
 msgstr ""
 
-#: auxv.c:513
+#: auxv.c:506
 msgid "Canonicalized file name given to execve"
 msgstr ""
 
-#: auxv.c:514
+#: auxv.c:507
 msgid "String for name of MMU module"
 msgstr ""
 
-#: auxv.c:515
+#: auxv.c:508
 msgid "Dynamic linker's data segment address"
 msgstr ""
 
-#: auxv.c:518
+#: auxv.c:511
 msgid "AF_SUN_ flags passed from the kernel"
 msgstr ""
 
-#: auxv.c:558
+#: auxv.c:549
 msgid "The program has no auxiliary information now."
 msgstr ""
 
-#: auxv.c:564
+#: auxv.c:555
 msgid "No auxiliary vector found, or failed reading it."
 msgstr ""
 
-#: auxv.c:566
+#: auxv.c:557
 msgid "Auxiliary vector is empty."
 msgstr ""
 
-#: auxv.c:574
+#: auxv.c:565
 msgid ""
 "Display the inferior's auxiliary vector.\n"
 "This is information provided by the operating system at program startup."
 msgstr ""
 
-#: avr-tdep.c:401 avr-tdep.c:419 i386-tdep.c:473 i386-tdep.c:3244
-#: i386-tdep.c:3457 i386-tdep.c:3618 i386-tdep.c:3700 s390-linux-tdep.c:366
-#: s390-linux-tdep.c:386 s390-linux-tdep.c:460 s390-linux-tdep.c:515
-#: s390-linux-tdep.c:597 s390-linux-tdep.c:643 sparc64-tdep.c:897
-#: spu-tdep.c:178 spu-tdep.c:248 spu-tdep.c:309 spu-tdep.c:331 spu-tdep.c:353
+#: avr-tdep.c:402 avr-tdep.c:420 i386-tdep.c:474 i386-tdep.c:3245
+#: i386-tdep.c:3446 i386-tdep.c:3583 i386-tdep.c:3665 s390-tdep.c:1256
+#: s390-tdep.c:1278 s390-tdep.c:1353 s390-tdep.c:1410 s390-tdep.c:1472
+#: s390-tdep.c:1518 sparc64-tdep.c:897 spu-tdep.c:178 spu-tdep.c:248
+#: spu-tdep.c:309 spu-tdep.c:331 spu-tdep.c:353
 msgid "invalid regnum"
 msgstr ""
 
-#: avr-tdep.c:662
+#: avr-tdep.c:663
 #, possible-c-format
 msgid "Num pushes too large: %d\n"
 msgstr ""
 
-#: avr-tdep.c:1568
+#: avr-tdep.c:1563
 msgid "ERR: info io_registers NOT supported by current target\n"
 msgstr ""
 
-#: avr-tdep.c:1576
+#: avr-tdep.c:1573
 msgid "Error fetching number of io registers\n"
 msgstr ""
 
-#: avr-tdep.c:1585
+#: avr-tdep.c:1579
 #, possible-c-format
 msgid ""
 "Target has %u io registers:\n"
 "\n"
 msgstr ""
 
-#: avr-tdep.c:1632
+#: avr-tdep.c:1597
+#, possible-c-format
+msgid "ERR: error reading avr.io_reg:%x,%x\n"
+msgstr ""
+
+#: avr-tdep.c:1631
 msgid "query remote avr target for io space register values"
 msgstr ""
 
@@ -2646,7 +2683,7 @@ msgstr ""
 msgid "Couldn't resolve symbol `%s'."
 msgstr ""
 
-#: ax-gdb.c:720 findvar.c:361 findvar.c:743 printcmd.c:1493 tracepoint.c:2643
+#: ax-gdb.c:720 findvar.c:361 findvar.c:743 printcmd.c:1465 tracepoint.c:2590
 msgid "LOC_COMPUTED variable missing a method"
 msgstr ""
 
@@ -2690,7 +2727,7 @@ msgstr ""
 msgid "gen_deref: expected a pointer"
 msgstr ""
 
-#: ax-gdb.c:1218 valops.c:907
+#: ax-gdb.c:1218 valops.c:908
 msgid "Attempt to dereference a generic pointer."
 msgstr ""
 
@@ -2733,17 +2770,17 @@ msgstr ""
 msgid "non-aggregate type to gen_struct_elt_for_reference"
 msgstr ""
 
-#: ax-gdb.c:1607 valops.c:3337
+#: ax-gdb.c:1607 valops.c:3369
 msgid "pointers to bitfield members not allowed"
 msgstr ""
 
 #. FIXME we need a way to do "want_address" equivalent
-#: ax-gdb.c:1611 valops.c:3370
+#: ax-gdb.c:1611 valops.c:3402
 #, possible-c-format
 msgid "Cannot reference non-static field \"%s\""
 msgstr ""
 
-#: ax-gdb.c:1631 eval.c:1000 valops.c:3551
+#: ax-gdb.c:1631 eval.c:998 valops.c:3583
 #, possible-c-format
 msgid "No symbol \"%s\" in namespace \"%s\"."
 msgstr ""
@@ -2782,7 +2819,7 @@ msgstr ""
 msgid "May only assign to trace state variables"
 msgstr ""
 
-#: ax-gdb.c:2037 tracepoint.c:1362
+#: ax-gdb.c:2037 tracepoint.c:1339
 #, possible-c-format
 msgid "Register $%s not available"
 msgstr ""
@@ -2812,7 +2849,7 @@ msgstr ""
 msgid "no `%s' found"
 msgstr ""
 
-#: ax-gdb.c:2259 eval.c:1272 eval.c:3011
+#: ax-gdb.c:2259 eval.c:1270 eval.c:3022
 #, possible-c-format
 msgid "There is no field named %s"
 msgstr ""
@@ -2830,16 +2867,16 @@ msgstr ""
 msgid "cannot subscript requested type: cannot call user defined functions"
 msgstr ""
 
-#: ax-gdb.c:2359 eval.c:2265 eval.c:2306 eval.c:2330 m2-lang.c:253
+#: ax-gdb.c:2359 eval.c:2263 eval.c:2304 eval.c:2328 m2-lang.c:253
 #, possible-c-format
 msgid "cannot subscript something of type `%s'"
 msgstr ""
 
-#: ax-gdb.c:2362 eval.c:2268 eval.c:2333 m2-lang.c:256
+#: ax-gdb.c:2362 eval.c:2266 eval.c:2331 m2-lang.c:256
 msgid "cannot subscript requested type"
 msgstr ""
 
-#: ax-gdb.c:2367 valarith.c:927
+#: ax-gdb.c:2367 valarith.c:925
 msgid "Argument to arithmetic operation not a number or boolean."
 msgstr ""
 
@@ -2859,11 +2896,11 @@ msgstr ""
 msgid "Must start with a format string."
 msgstr ""
 
-#: ax-gdb.c:2708 breakpoint.c:2252 printcmd.c:2445
+#: ax-gdb.c:2708 breakpoint.c:2241 printcmd.c:2435
 msgid "Bad format string, non-terminated '\"'."
 msgstr ""
 
-#: ax-gdb.c:2713 breakpoint.c:2257 printcmd.c:2450
+#: ax-gdb.c:2713 breakpoint.c:2246 printcmd.c:2440
 msgid "Invalid argument syntax"
 msgstr ""
 
@@ -2957,8 +2994,8 @@ msgstr ""
 msgid " %02x"
 msgstr ""
 
-#: ax-general.c:371 darwin-nat.c:556 darwin-nat-info.c:291
-#: darwin-nat-info.c:584 darwin-nat-info.c:789
+#: ax-general.c:371 darwin-nat.c:531 darwin-nat-info.c:291
+#: darwin-nat-info.c:584 darwin-nat-info.c:788
 msgid "\n"
 msgstr ""
 
@@ -3086,11 +3123,11 @@ msgstr ""
 msgid "    Maximum hash chain length: %3d\n"
 msgstr ""
 
-#: bfd-target.c:94
+#: bfd-target.c:30
 msgid "BFD backed target"
 msgstr ""
 
-#: bfd-target.c:95
+#: bfd-target.c:31 target.c:204
 msgid "You should never see this"
 msgstr ""
 
@@ -3100,8 +3137,8 @@ msgid ""
 "function"
 msgstr ""
 
-#: bfin-tdep.c:699 bfin-tdep.c:719 xtensa-tdep.c:339 xtensa-tdep.c:636
-#: xtensa-tdep.c:726
+#: bfin-tdep.c:699 bfin-tdep.c:719 xtensa-tdep.c:339 xtensa-tdep.c:635
+#: xtensa-tdep.c:725
 #, possible-c-format
 msgid "invalid register number %d"
 msgstr ""
@@ -3217,563 +3254,563 @@ msgstr ""
 msgid "error computing probe argument at c++ exception catchpoint"
 msgstr ""
 
-#: break-catch-throw.c:311
+#: break-catch-throw.c:309
 msgid "\tmatching: "
 msgstr ""
 
-#: break-catch-throw.c:328
+#: break-catch-throw.c:326
 msgid " (throw)"
 msgstr ""
 
-#: break-catch-throw.c:329
+#: break-catch-throw.c:327
 msgid " (catch)"
 msgstr ""
 
-#: break-catch-throw.c:330
+#: break-catch-throw.c:328
 msgid " (rethrow)"
 msgstr ""
 
-#: break-catch-throw.c:370
+#: break-catch-throw.c:368
 msgid "invalid type-matching regexp"
 msgstr ""
 
-#: break-catch-throw.c:452
+#: break-catch-throw.c:450
 msgid "Unsupported or unknown exception event; cannot catch it"
 msgstr ""
 
 #. Add catch and tcatch sub-commands.
-#: break-catch-throw.c:547
+#: break-catch-throw.c:545
 msgid "Catch an exception, when caught."
 msgstr ""
 
-#: break-catch-throw.c:553
+#: break-catch-throw.c:551
 msgid "Catch an exception, when thrown."
 msgstr ""
 
-#: break-catch-throw.c:559
+#: break-catch-throw.c:557
 msgid "Catch an exception, when rethrown."
 msgstr ""
 
-#: breakpoint.c:335
+#: breakpoint.c:336
 #, possible-c-format
 msgid "Debugger's willingness to use watchpoint hardware is %s.\n"
 msgstr ""
 
-#: breakpoint.c:351
+#: breakpoint.c:352
 #, possible-c-format
 msgid "Debugger's behavior regarding pending breakpoints is %s.\n"
 msgstr ""
 
-#: breakpoint.c:367
+#: breakpoint.c:368
 #, possible-c-format
 msgid "Automatic usage of hardware breakpoints is %s.\n"
 msgstr ""
 
-#: breakpoint.c:384
+#: breakpoint.c:385
 #, possible-c-format
 msgid "Always inserted breakpoint mode is %s.\n"
 msgstr ""
 
-#: breakpoint.c:722
+#: breakpoint.c:723
 msgid ""
 "Target does not support breakpoint condition evaluation.\n"
 "Using host evaluation mode instead."
 msgstr ""
 
-#: breakpoint.c:778
+#: breakpoint.c:779
 #, possible-c-format
 msgid "Breakpoint condition evaluation mode is %s (currently %s).\n"
 msgstr ""
 
-#: breakpoint.c:783
+#: breakpoint.c:784
 #, possible-c-format
 msgid "Breakpoint condition evaluation mode is %s.\n"
 msgstr ""
 
-#: breakpoint.c:867
+#: breakpoint.c:868
 #, possible-c-format
 msgid "Breakpoint %d now unconditional.\n"
 msgstr ""
 
-#: breakpoint.c:967
+#: breakpoint.c:968
 msgid "breakpoint number"
 msgstr ""
 
-#: breakpoint.c:972
+#: breakpoint.c:973
 #, possible-c-format
 msgid "Bad breakpoint argument: '%s'"
 msgstr ""
 
-#: breakpoint.c:985 guile/scm-breakpoint.c:952 python/py-breakpoint.c:1145
+#: breakpoint.c:986 guile/scm-breakpoint.c:952 python/py-breakpoint.c:1188
 #, possible-c-format
 msgid ""
 "Only one stop condition allowed.  There is currently a %s stop condition "
 "defined for this breakpoint."
 msgstr ""
 
-#: breakpoint.c:997 breakpoint.c:14055
+#: breakpoint.c:998 breakpoint.c:13980
 #, possible-c-format
 msgid "No breakpoint number %d."
 msgstr ""
 
-#: breakpoint.c:1014
+#: breakpoint.c:1015
 msgid "The 'while-stepping' command can only be used for tracepoints"
 msgstr ""
 
-#: breakpoint.c:1024
+#: breakpoint.c:1025
 msgid "The 'collect' command can only be used for tracepoints"
 msgstr ""
 
-#: breakpoint.c:1027
+#: breakpoint.c:1028
 msgid "The 'teval' command can only be used for tracepoints"
 msgstr ""
 
-#: breakpoint.c:1110
+#: breakpoint.c:1111
 msgid "The 'while-stepping' command cannot be used for fast tracepoint"
 msgstr ""
 
-#: breakpoint.c:1113
+#: breakpoint.c:1114
 msgid "The 'while-stepping' command cannot be used for static tracepoint"
 msgstr ""
 
-#: breakpoint.c:1117
+#: breakpoint.c:1118
 msgid "The 'while-stepping' command can be used only once"
 msgstr ""
 
-#: breakpoint.c:1134
+#: breakpoint.c:1135
 msgid "The 'while-stepping' command cannot be nested"
 msgstr ""
 
-#: breakpoint.c:1254
+#: breakpoint.c:1247
 #, possible-c-format
 msgid "Type commands for breakpoint(s) %s, one per line."
 msgstr ""
 
-#: breakpoint.c:1487
+#: breakpoint.c:1484
 #, possible-c-format
 msgid "reading through apparently deleted breakpoint #%d?"
 msgstr ""
 
-#: breakpoint.c:1774 breakpoint.c:1955
+#: breakpoint.c:1770 breakpoint.c:1951
 msgid ""
 "Can't set read/access watchpoint when hardware watchpoints are disabled."
 msgstr ""
 
-#: breakpoint.c:1934
+#: breakpoint.c:1930
 msgid "Target does not support this type of hardware watchpoint."
 msgstr ""
 
-#: breakpoint.c:1937
+#: breakpoint.c:1933
 msgid "There are not enough available hardware resources for this watchpoint."
 msgstr ""
 
-#: breakpoint.c:1958
+#: breakpoint.c:1954
 msgid "Expression cannot be implemented with read/access watchpoint."
 msgstr ""
 
-#: breakpoint.c:1986
+#: breakpoint.c:1975
 #, possible-c-format
 msgid ""
 "Watchpoint %d deleted because the program has left the block\n"
 "in which its expression is valid.\n"
 msgstr ""
 
-#: breakpoint.c:2243
+#: breakpoint.c:2232
 msgid "No format string following the location"
 msgstr ""
 
-#: breakpoint.c:2522
+#: breakpoint.c:2511
 msgid ""
 "Note: automatically using hardware breakpoints for read-only addresses.\n"
 msgstr ""
 
-#: breakpoint.c:2533
+#: breakpoint.c:2522
 #, possible-c-format
 msgid ""
 "Cannot insert breakpoint %d.\n"
 "Cannot set software breakpoint at read-only address %s\n"
 msgstr ""
 
-#: breakpoint.c:2573
+#: breakpoint.c:2562
 #, possible-c-format
 msgid "hardware breakpoint %d not supported in overlay!"
 msgstr ""
 
-#: breakpoint.c:2779
+#: breakpoint.c:2768
 #, possible-c-format
 msgid ""
 "Error inserting catchpoint %d: Your system does not support this type\n"
 "of catchpoint."
 msgstr ""
 
-#: breakpoint.c:2783
+#: breakpoint.c:2772
 #, possible-c-format
 msgid "Error inserting catchpoint %d."
 msgstr ""
 
-#: breakpoint.c:3065
+#: breakpoint.c:3054
 #, possible-c-format
 msgid ""
 "Thread-specific breakpoint %d deleted - thread %s no longer in the thread "
 "list.\n"
 msgstr ""
 
-#: breakpoint.c:3653
+#: breakpoint.c:3641
 msgid "Cannot detach breakpoints of inferior_ptid"
 msgstr ""
 
-#: breakpoint.c:3810
+#: breakpoint.c:3798
 #, possible-c-format
 msgid "Could not remove hardware watchpoint %d."
 msgstr ""
 
-#: breakpoint.c:4519
+#: breakpoint.c:4505
 msgid "<unreadable>"
 msgstr ""
 
-#: breakpoint.c:4597
+#: breakpoint.c:4583
 msgid "print_bp_stop_message: unrecognized enum value"
 msgstr ""
 
-#: breakpoint.c:4615
+#: breakpoint.c:4599
 msgid "Stopped due to shared library event:\n"
 msgstr ""
 
-#: breakpoint.c:4617
+#: breakpoint.c:4601
 msgid "Stopped due to shared library event (no libraries added or removed)\n"
 msgstr ""
 
-#: breakpoint.c:4630
+#: breakpoint.c:4611
 msgid "  Inferior unloaded "
 msgstr ""
 
-#: breakpoint.c:4649
+#: breakpoint.c:4626
 msgid "  Inferior loaded "
 msgstr ""
 
-#: breakpoint.c:5071
+#: breakpoint.c:5043
 #, possible-c-format
 msgid "Watchpoint %d deleted.\n"
 msgstr ""
 
-#: breakpoint.c:5310
+#: breakpoint.c:5281
 msgid "Watchpoint condition cannot be tested in the current scope"
 msgstr ""
 
-#: breakpoint.c:5708
+#: breakpoint.c:5676
 msgid "bpstat_what: tracepoint encountered"
 msgstr ""
 
-#: breakpoint.c:5729
+#: breakpoint.c:5697
 #, possible-c-format
 msgid "bpstat_what: unhandled bptype %d"
 msgstr ""
 
-#: breakpoint.c:6007
+#: breakpoint.c:5972
 #, possible-c-format
 msgid "bptypes table does not describe type #%d."
 msgstr ""
 
-#: breakpoint.c:6135
+#: breakpoint.c:6100
 msgid "print_one_breakpoint: bp_none encountered\n"
 msgstr ""
 
-#: breakpoint.c:6741
+#: breakpoint.c:6706
 msgid "Note: breakpoint "
 msgstr ""
 
 #. if (others == ???)
-#: breakpoint.c:6743
+#: breakpoint.c:6708
 msgid "Note: breakpoints "
 msgstr ""
 
-#: breakpoint.c:6761
+#: breakpoint.c:6726
 msgid "also set at pc "
 msgstr ""
 
-#: breakpoint.c:6961
+#: breakpoint.c:6926
 #, possible-c-format
 msgid "Breakpoint %d address previously adjusted from %s to %s."
 msgstr ""
 
-#: breakpoint.c:6964
+#: breakpoint.c:6929
 #, possible-c-format
 msgid "Breakpoint address adjusted from %s to %s."
 msgstr ""
 
-#: breakpoint.c:7077
+#: breakpoint.c:7042
 msgid "unknown breakpoint type"
 msgstr ""
 
-#: breakpoint.c:7652
+#: breakpoint.c:7610
 #, possible-c-format
 msgid "Temporarily disabling breakpoints for unloaded shared library \"%s\""
 msgstr ""
 
-#: breakpoint.c:7847
+#: breakpoint.c:7805
 #, possible-c-format
 msgid "Catchpoint %d (fork)"
 msgstr ""
 
-#: breakpoint.c:7962
+#: breakpoint.c:7920
 #, possible-c-format
 msgid "Catchpoint %d (vfork)"
 msgstr ""
 
-#: breakpoint.c:8130
+#: breakpoint.c:8077
 #, possible-c-format
 msgid "load of library matching %s"
 msgstr ""
 
-#: breakpoint.c:8132
+#: breakpoint.c:8079
 msgid "load of library"
 msgstr ""
 
-#: breakpoint.c:8137
+#: breakpoint.c:8084
 #, possible-c-format
 msgid "unload of library matching %s"
 msgstr ""
 
-#: breakpoint.c:8139
+#: breakpoint.c:8086
 msgid "unload of library"
 msgstr ""
 
-#: breakpoint.c:8153
+#: breakpoint.c:8100
 #, possible-c-format
 msgid "Catchpoint %d (%s)"
 msgstr ""
 
-#: breakpoint.c:8193 symtab.c:4342
+#: breakpoint.c:8140 symtab.c:4365
 msgid "Invalid regexp"
 msgstr ""
 
-#: breakpoint.c:8389
+#: breakpoint.c:8336
 #, possible-c-format
 msgid "Catchpoint %d (exec)"
 msgstr ""
 
-#: breakpoint.c:8785 printcmd.c:2440
+#: breakpoint.c:8728 printcmd.c:2430
 msgid "Bad format string, missing '\"'."
 msgstr ""
 
-#: breakpoint.c:8792
+#: breakpoint.c:8735
 msgid "No function supplied for dprintf call"
 msgstr ""
 
-#: breakpoint.c:8810
+#: breakpoint.c:8753
 msgid "Target cannot run dprintf commands, falling back to GDB printf"
 msgstr ""
 
-#: breakpoint.c:8816
+#: breakpoint.c:8759
 msgid "Invalid dprintf style."
 msgstr ""
 
-#: breakpoint.c:8878 breakpoint.c:14434
+#: breakpoint.c:8815 breakpoint.c:14359
 msgid "No hardware breakpoint support in the target."
 msgstr ""
 
-#: breakpoint.c:8880 breakpoint.c:9930 breakpoint.c:14436
+#: breakpoint.c:8817 breakpoint.c:9846 breakpoint.c:14361
 msgid "Hardware breakpoints used exceeds limit."
 msgstr ""
 
-#: breakpoint.c:8935 breakpoint.c:8944
+#: breakpoint.c:8870 breakpoint.c:8878
 #, possible-c-format
 msgid "Probed static tracepoint marker \"%s\"\n"
 msgstr ""
 
-#: breakpoint.c:8949
+#: breakpoint.c:8883
 msgid "Couldn't determine the static tracepoint marker to probe"
 msgstr ""
 
-#: breakpoint.c:8969
+#: breakpoint.c:8903
 #, possible-c-format
 msgid "Garbage '%s' follows condition"
 msgstr ""
 
-#: breakpoint.c:8979 breakpoint.c:9707
+#: breakpoint.c:8913 breakpoint.c:9626
 msgid "Format string required"
 msgstr ""
 
-#: breakpoint.c:8982
+#: breakpoint.c:8916
 #, possible-c-format
 msgid "Garbage '%s' at end of command"
 msgstr ""
 
-#: breakpoint.c:9122
+#: breakpoint.c:9056
 msgid "No default breakpoint address now."
 msgstr ""
 
-#: breakpoint.c:9197
+#: breakpoint.c:9125
 #, possible-c-format
 msgid "May not have a fast tracepoint at %s%s"
 msgstr ""
 
-#: breakpoint.c:9255
+#: breakpoint.c:9181
 msgid "Junk after thread keyword."
 msgstr ""
 
-#: breakpoint.c:9266
+#: breakpoint.c:9192
 msgid "Junk after task keyword."
 msgstr ""
 
-#: breakpoint.c:9268
+#: breakpoint.c:9194
 #, possible-c-format
 msgid "Unknown task %d."
 msgstr ""
 
-#: breakpoint.c:9299
+#: breakpoint.c:9224
 #, possible-c-format
 msgid "No known static tracepoint marker named %s"
 msgstr ""
 
-#: breakpoint.c:9370
+#: breakpoint.c:9289
 #, possible-c-format
 msgid "Make %s pending on future shared library load? "
 msgstr ""
 
-#: breakpoint.c:9438 mi/mi-cmd-break.c:343
+#: breakpoint.c:9357 mi/mi-cmd-break.c:344
 #, possible-c-format
 msgid "Garbage '%s' at end of location"
 msgstr ""
 
-#: breakpoint.c:9487
+#: breakpoint.c:9406
 msgid ""
 "Multiple breakpoints were set.\n"
 "Use the \"delete\" command to delete unwanted breakpoints."
 msgstr ""
 
-#: breakpoint.c:9550 linespec.c:2260
+#: breakpoint.c:9469 linespec.c:2208
 #, possible-c-format
 msgid "No line %d in file \"%s\"."
 msgstr ""
 
-#: breakpoint.c:9622
+#: breakpoint.c:9541
 msgid ""
 "Specify the type of breakpoint to set.\n"
 "Usage: stop in <function | address>\n"
 "       stop at <line>\n"
 msgstr ""
 
-#: breakpoint.c:9655
+#: breakpoint.c:9574
 msgid "Usage: stop in <function | address>\n"
 msgstr ""
 
-#: breakpoint.c:9687
+#: breakpoint.c:9606
 msgid "Usage: stop at <line>\n"
 msgstr ""
 
-#: breakpoint.c:9731
+#: breakpoint.c:9650
 msgid "May only run agent-printf on the target"
 msgstr ""
 
-#: breakpoint.c:9859
+#: breakpoint.c:9775
 #, possible-c-format
 msgid "Hardware assisted ranged breakpoint %d from %s to %s."
 msgstr ""
 
-#: breakpoint.c:9901 breakpoint.c:9974
+#: breakpoint.c:9817 breakpoint.c:9890
 msgid "Could not find location of the end of the range."
 msgstr ""
 
-#: breakpoint.c:9923
+#: breakpoint.c:9839
 msgid "This target does not support hardware ranged breakpoints."
 msgstr ""
 
-#: breakpoint.c:9934
+#: breakpoint.c:9850
 msgid "No address range specified."
 msgstr ""
 
-#: breakpoint.c:9942
+#: breakpoint.c:9858
 msgid "Too few arguments."
 msgstr ""
 
-#: breakpoint.c:9944
+#: breakpoint.c:9860
 msgid "Could not find location of the beginning of the range."
 msgstr ""
 
-#: breakpoint.c:9950 breakpoint.c:9979
+#: breakpoint.c:9866 breakpoint.c:9895
 msgid "Cannot create a ranged breakpoint with multiple locations."
 msgstr ""
 
-#: breakpoint.c:9985
+#: breakpoint.c:9901
 msgid "Invalid address range, end precedes start."
 msgstr ""
 
 #. Length overflowed.
-#: breakpoint.c:9990
+#: breakpoint.c:9906
 msgid "Address range too large."
 msgstr ""
 
-#: breakpoint.c:10365 breakpoint.c:10502 breakpoint.c:10558 breakpoint.c:10589
+#: breakpoint.c:10280 breakpoint.c:10417 breakpoint.c:10473 breakpoint.c:10504
 msgid "Invalid hardware watchpoint type."
 msgstr ""
 
-#: breakpoint.c:10396
+#: breakpoint.c:10311
 msgid "Invalid watchpoint type."
 msgstr ""
 
-#: breakpoint.c:10506
+#: breakpoint.c:10421
 msgid ""
 "\n"
 "Check the underlying instruction at PC for the memory\n"
 "address and value which triggered this watchpoint.\n"
 msgstr ""
 
-#: breakpoint.c:10677
+#: breakpoint.c:10592
 msgid "You can specify only one thread."
 msgstr ""
 
-#: breakpoint.c:10696
+#: breakpoint.c:10611
 msgid "You can specify only one mask."
 msgstr ""
 
-#: breakpoint.c:10739
+#: breakpoint.c:10654
 #, possible-c-format
 msgid "Cannot watch constant value `%.*s'."
 msgstr ""
 
-#: breakpoint.c:10766
+#: breakpoint.c:10683
 msgid "This target does not support masked watchpoints."
 msgstr ""
 
-#: breakpoint.c:10768
+#: breakpoint.c:10685
 msgid "Invalid mask or memory region."
 msgstr ""
 
-#: breakpoint.c:10791
+#: breakpoint.c:10708
 msgid "Junk at end of command."
 msgstr ""
 
-#: breakpoint.c:11200
+#: breakpoint.c:11121
 msgid "Couldn't get information on specified line."
 msgstr ""
 
-#: breakpoint.c:11353
+#: breakpoint.c:11274
 msgid "unsupported or unknown fork kind; cannot catch it"
 msgstr ""
 
-#: breakpoint.c:11430 breakpoint.c:11437
+#: breakpoint.c:11351 breakpoint.c:11358
 msgid "Catch requires an event name."
 msgstr ""
 
-#: breakpoint.c:11487
+#: breakpoint.c:11408
 msgid "No source file specified."
 msgstr ""
 
-#: breakpoint.c:11581
+#: breakpoint.c:11502
 #, possible-c-format
 msgid "No breakpoint at %s."
 msgstr ""
 
-#: breakpoint.c:11583
+#: breakpoint.c:11504
 msgid "No breakpoint at this line."
 msgstr ""
 
-#: breakpoint.c:11604
+#: breakpoint.c:11525
 msgid "Deleted breakpoint "
 msgstr ""
 
-#: breakpoint.c:11606
+#: breakpoint.c:11527
 msgid "Deleted breakpoints "
 msgstr ""
 
@@ -3785,237 +3822,237 @@ msgstr ""
 #. Note that at this point, old_loc->owner is still
 #. valid, as delete_breakpoint frees the breakpoint
 #. only after calling us.
-#: breakpoint.c:12033
+#: breakpoint.c:11954
 #, possible-c-format
 msgid "warning: Error removing breakpoint %d\n"
 msgstr ""
 
-#: breakpoint.c:12268
+#: breakpoint.c:12189
 #, possible-c-format
 msgid " (%s) pending."
 msgstr ""
 
-#: breakpoint.c:12273
+#: breakpoint.c:12194
 #, possible-c-format
 msgid " (%s,%s) pending."
 msgstr ""
 
-#: breakpoint.c:12279
+#: breakpoint.c:12200
 #, possible-c-format
 msgid " (%s %s) pending."
 msgstr ""
 
-#: breakpoint.c:12631
+#: breakpoint.c:12552
 msgid "Temporary breakpoint"
 msgstr ""
 
-#: breakpoint.c:12633
+#: breakpoint.c:12554
 msgid "Breakpoint"
 msgstr ""
 
-#: breakpoint.c:12634 breakpoint.c:12948 breakpoint.c:12952 breakpoint.c:12956
+#: breakpoint.c:12555 breakpoint.c:12869 breakpoint.c:12873 breakpoint.c:12877
 #, possible-c-format
 msgid " %d"
 msgstr ""
 
-#: breakpoint.c:12636
+#: breakpoint.c:12557
 msgid " at gnu-indirect-function resolver"
 msgstr ""
 
-#: breakpoint.c:12639
+#: breakpoint.c:12560
 #, possible-c-format
 msgid "Hardware assisted breakpoint %d"
 msgstr ""
 
-#: breakpoint.c:12642
+#: breakpoint.c:12563
 #, possible-c-format
 msgid "Dprintf %d"
 msgstr ""
 
-#: breakpoint.c:12663
+#: breakpoint.c:12584
 #, possible-c-format
 msgid "unhandled breakpoint type %d"
 msgstr ""
 
 #. Not sure how we will get here.
 #. GDB should not stop for these breakpoints.
-#: breakpoint.c:12776
+#: breakpoint.c:12697
 msgid "Thread Event Breakpoint: gdb should not stop!\n"
 msgstr ""
 
 #. By analogy with the thread event, GDB should not stop for these.
-#: breakpoint.c:12781
+#: breakpoint.c:12702
 msgid "Overlay Event Breakpoint: gdb should not stop!\n"
 msgstr ""
 
 #. These should never be enabled.
-#: breakpoint.c:12786
+#: breakpoint.c:12707
 msgid "Longjmp Master Breakpoint: gdb should not stop!\n"
 msgstr ""
 
 #. These should never be enabled.
-#: breakpoint.c:12791
+#: breakpoint.c:12712
 msgid "std::terminate Master Breakpoint: gdb should not stop!\n"
 msgstr ""
 
 #. These should never be enabled.
-#: breakpoint.c:12797
+#: breakpoint.c:12718
 msgid "Exception Master Breakpoint: gdb should not stop!\n"
 msgstr ""
 
-#: breakpoint.c:12900
+#: breakpoint.c:12821
 msgid "probe not found"
 msgstr ""
 
-#: breakpoint.c:12947
+#: breakpoint.c:12868
 msgid "Tracepoint"
 msgstr ""
 
-#: breakpoint.c:12951
+#: breakpoint.c:12872
 msgid "Fast tracepoint"
 msgstr ""
 
-#: breakpoint.c:12955
+#: breakpoint.c:12876
 msgid "Static tracepoint"
 msgstr ""
 
-#: breakpoint.c:12960 breakpoint.c:12979
+#: breakpoint.c:12881 breakpoint.c:12900
 #, possible-c-format
 msgid "unhandled tracepoint type %d"
 msgstr ""
 
-#: breakpoint.c:13211
+#: breakpoint.c:13132
 #, possible-c-format
 msgid "marker %s not found"
 msgstr ""
 
-#: breakpoint.c:13375
+#: breakpoint.c:13296
 msgid "Delete all breakpoints? "
 msgstr ""
 
-#: breakpoint.c:13493
+#: breakpoint.c:13412
 #, possible-c-format
 msgid "static tracepoint %d changed probed marker from %s to %s"
 msgstr ""
 
-#: breakpoint.c:13528
+#: breakpoint.c:13443
 #, possible-c-format
 msgid "marker for static tracepoint %d (%s) not found at previous line number"
 msgstr ""
 
-#: breakpoint.c:13658
+#: breakpoint.c:13571
 #, possible-c-format
 msgid "Could not reset ranged breakpoint %d: multiple locations found\n"
 msgstr ""
 
-#: breakpoint.c:13698
+#: breakpoint.c:13611
 #, possible-c-format
 msgid "failed to reevaluate condition for breakpoint %d: %s"
 msgstr ""
 
-#: breakpoint.c:14031
+#: breakpoint.c:13956
 #, possible-c-format
 msgid "Ignore count ignored for tracepoint %d."
 msgstr ""
 
-#: breakpoint.c:14040
+#: breakpoint.c:13965
 #, possible-c-format
 msgid "Will stop next time breakpoint %d is reached."
 msgstr ""
 
-#: breakpoint.c:14044
+#: breakpoint.c:13969
 #, possible-c-format
 msgid "Will ignore next crossing of breakpoint %d."
 msgstr ""
 
-#: breakpoint.c:14047
+#: breakpoint.c:13972
 #, possible-c-format
 msgid "Will ignore next %d crossings of breakpoint %d."
 msgstr ""
 
-#: breakpoint.c:14067
+#: breakpoint.c:13992
 msgid "a breakpoint number"
 msgstr ""
 
-#: breakpoint.c:14071
+#: breakpoint.c:13996
 #, possible-c-format
 msgid "bad breakpoint number: '%s'"
 msgstr ""
 
-#: breakpoint.c:14073
+#: breakpoint.c:13998
 msgid "Second argument (specified ignore-count) is missing."
 msgstr ""
 
-#: breakpoint.c:14092
+#: breakpoint.c:14017
 #, possible-c-format
 msgid "bad breakpoint number at or near '%d'"
 msgstr ""
 
-#: breakpoint.c:14111
+#: breakpoint.c:14036
 #, possible-c-format
 msgid "No breakpoint number %d.\n"
 msgstr ""
 
-#: breakpoint.c:14124
+#: breakpoint.c:14049
 msgid "one or more breakpoint numbers"
 msgstr ""
 
-#: breakpoint.c:14150
+#: breakpoint.c:14075
 #, possible-c-format
 msgid "Bad breakpoint number '%d'"
 msgstr ""
 
-#: breakpoint.c:14153 breakpoint.c:14160
+#: breakpoint.c:14078 breakpoint.c:14085
 #, possible-c-format
 msgid "Bad breakpoint location number '%d'"
 msgstr ""
 
-#: breakpoint.c:14187
+#: breakpoint.c:14112
 #, possible-c-format
 msgid "Negative breakpoint number '%.*s'"
 msgstr ""
 
-#: breakpoint.c:14188
+#: breakpoint.c:14113
 #, possible-c-format
 msgid "Negative breakpoint location number '%.*s'"
 msgstr ""
 
-#: breakpoint.c:14192
+#: breakpoint.c:14117
 #, possible-c-format
 msgid "Bad breakpoint number '%.*s'"
 msgstr ""
 
-#: breakpoint.c:14193
+#: breakpoint.c:14118
 #, possible-c-format
 msgid "Bad breakpoint location number '%.*s'"
 msgstr ""
 
-#: breakpoint.c:14219 breakpoint.c:14269
+#: breakpoint.c:14144 breakpoint.c:14194
 #, possible-c-format
 msgid "Bad breakpoint number at or near: '%s'"
 msgstr ""
 
-#: breakpoint.c:14220
+#: breakpoint.c:14145
 #, possible-c-format
 msgid "Bad breakpoint location number at or near: '%s'"
 msgstr ""
 
-#: breakpoint.c:14231
+#: breakpoint.c:14156
 #, possible-c-format
 msgid "Inverted breakpoint range at '%.*s'"
 msgstr ""
 
-#: breakpoint.c:14232
+#: breakpoint.c:14157
 #, possible-c-format
 msgid "Inverted breakpoint location range at '%.*s'"
 msgstr ""
 
-#: breakpoint.c:14455
+#: breakpoint.c:14380
 #, possible-c-format
 msgid "Cannot enable watchpoint %d: "
 msgstr ""
 
-#: breakpoint.c:14521
+#: breakpoint.c:14446
 msgid "hit count"
 msgstr ""
 
@@ -4023,72 +4060,72 @@ msgstr ""
 #. address.  Since there is no way to confirm that the address
 #. means the same thing as when the trace was started, warn the
 #. user.
-#: breakpoint.c:14806
+#: breakpoint.c:14732
 #, possible-c-format
 msgid "Uploaded tracepoint %d has no source location, using raw address"
 msgstr ""
 
-#: breakpoint.c:14815
+#: breakpoint.c:14741
 #, possible-c-format
 msgid "Uploaded tracepoint %d condition has no source form, ignoring it"
 msgstr ""
 
-#: breakpoint.c:14865
+#: breakpoint.c:14791
 #, possible-c-format
 msgid "Uploaded tracepoint %d actions have no source form, ignoring them"
 msgstr ""
 
-#: breakpoint.c:14939
+#: breakpoint.c:14865
 msgid "Delete all tracepoints? "
 msgstr ""
 
-#: breakpoint.c:14962
+#: breakpoint.c:14888
 #, possible-c-format
 msgid "Setting tracepoint %d's passcount to %d\n"
 msgstr ""
 
-#: breakpoint.c:14979
+#: breakpoint.c:14905
 msgid "passcount command requires an argument (count + optional TP num)"
 msgstr ""
 
-#: breakpoint.c:15075
+#: breakpoint.c:15001
 #, possible-c-format
 msgid "bad tracepoint number at or near '%s'\n"
 msgstr ""
 
-#: breakpoint.c:15078
+#: breakpoint.c:15004
 msgid "No previous tracepoint\n"
 msgstr ""
 
-#: breakpoint.c:15118
+#: breakpoint.c:15044
 msgid "Argument required (file name in which to save)"
 msgstr ""
 
-#: breakpoint.c:15144
+#: breakpoint.c:15070
 msgid "Nothing to save."
 msgstr ""
 
-#: breakpoint.c:15153
+#: breakpoint.c:15079
 #, possible-c-format
 msgid "Unable to open file '%s' for saving (%s)"
 msgstr ""
 
-#: breakpoint.c:15222
+#: breakpoint.c:15148
 #, possible-c-format
 msgid "Saved to file '%s'.\n"
 msgstr ""
 
-#: breakpoint.c:15341
+#: breakpoint.c:15267
 msgid "\"save\" must be followed by the name of a save subcommand.\n"
 msgstr ""
 
-#: breakpoint.c:15614
+#: breakpoint.c:15540
 msgid ""
 "Set ignore-count of breakpoint number N to COUNT.\n"
 "Usage is `ignore N COUNT'."
 msgstr ""
 
-#: breakpoint.c:15618
+#: breakpoint.c:15544
 msgid ""
 "Set commands to be executed when the given breakpoints are hit.\n"
 "Give a space-separated breakpoint list as argument after \"commands\".\n"
@@ -4101,14 +4138,14 @@ msgid ""
 "then no output is printed when it is hit, except what the commands print."
 msgstr ""
 
-#: breakpoint.c:15629
+#: breakpoint.c:15555
 msgid ""
 "Specify breakpoint number N to break only if COND is true.\n"
 "Usage is `condition N COND', where N is an integer and COND is an\n"
 "expression to be evaluated whenever breakpoint N is reached."
 msgstr ""
 
-#: breakpoint.c:15635
+#: breakpoint.c:15561
 msgid ""
 "Set a temporary breakpoint.\n"
 "Like \"break\" except the breakpoint is only temporary,\n"
@@ -4117,7 +4154,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: breakpoint.c:15644
+#: breakpoint.c:15570
 msgid ""
 "Set a hardware assisted breakpoint.\n"
 "Like \"break\" except the breakpoint requires hardware support,\n"
@@ -4125,7 +4162,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: breakpoint.c:15652
+#: breakpoint.c:15578
 msgid ""
 "Set a temporary hardware assisted breakpoint.\n"
 "Like \"hbreak\" except the breakpoint is only temporary,\n"
@@ -4133,7 +4170,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: breakpoint.c:15660
+#: breakpoint.c:15586
 msgid ""
 "Enable some breakpoints.\n"
 "Give breakpoint numbers (separated by spaces) as arguments.\n"
@@ -4142,7 +4179,7 @@ msgid ""
 "With a subcommand you can enable temporarily."
 msgstr ""
 
-#: breakpoint.c:15670
+#: breakpoint.c:15596
 msgid ""
 "Enable some breakpoints.\n"
 "Give breakpoint numbers (separated by spaces) as arguments.\n"
@@ -4150,26 +4187,26 @@ msgid ""
 "May be abbreviated to simply \"enable\".\n"
 msgstr ""
 
-#: breakpoint.c:15677 breakpoint.c:15698
+#: breakpoint.c:15603 breakpoint.c:15624
 msgid ""
 "Enable breakpoints for one hit.  Give breakpoint numbers.\n"
 "If a breakpoint is hit while enabled in this fashion, it becomes disabled."
 msgstr ""
 
-#: breakpoint.c:15682 breakpoint.c:15693
+#: breakpoint.c:15608 breakpoint.c:15619
 msgid ""
 "Enable breakpoints and delete when hit.  Give breakpoint numbers.\n"
 "If a breakpoint is hit while enabled in this fashion, it is deleted."
 msgstr ""
 
-#: breakpoint.c:15687 breakpoint.c:15703
+#: breakpoint.c:15613 breakpoint.c:15629
 msgid ""
 "Enable breakpoints for COUNT hits.  Give count and then breakpoint numbers.\n"
 "If a breakpoint is hit while enabled in this fashion,\n"
 "the count is decremented; when it reaches zero, the breakpoint is disabled."
 msgstr ""
 
-#: breakpoint.c:15709
+#: breakpoint.c:15635
 msgid ""
 "Disable some breakpoints.\n"
 "Arguments are breakpoint numbers with spaces in between.\n"
@@ -4177,7 +4214,7 @@ msgid ""
 "A disabled breakpoint is not forgotten, but has no effect until re-enabled."
 msgstr ""
 
-#: breakpoint.c:15718
+#: breakpoint.c:15644
 msgid ""
 "Disable some breakpoints.\n"
 "Arguments are breakpoint numbers with spaces in between.\n"
@@ -4186,7 +4223,7 @@ msgid ""
 "This command may be abbreviated \"disable\"."
 msgstr ""
 
-#: breakpoint.c:15726
+#: breakpoint.c:15652
 msgid ""
 "Delete some breakpoints or auto-display expressions.\n"
 "Arguments are breakpoint numbers with spaces in between.\n"
@@ -4196,7 +4233,7 @@ msgid ""
 "The \"unset\" command is also an alias for \"delete\"."
 msgstr ""
 
-#: breakpoint.c:15737
+#: breakpoint.c:15663
 msgid ""
 "Delete some breakpoints or auto-display expressions.\n"
 "Arguments are breakpoint numbers with spaces in between.\n"
@@ -4204,7 +4241,7 @@ msgid ""
 "This command may be abbreviated \"delete\"."
 msgstr ""
 
-#: breakpoint.c:15744
+#: breakpoint.c:15670
 msgid ""
 "Clear breakpoint at specified location.\n"
 "Argument may be a linespec, explicit, or address location as described "
@@ -4216,23 +4253,23 @@ msgid ""
 "\n"
 msgstr ""
 
-#: breakpoint.c:15754
+#: breakpoint.c:15680
 msgid "Set breakpoint at specified location.\n"
 msgstr ""
 
-#: breakpoint.c:15766
+#: breakpoint.c:15692
 msgid "Break in function/address or break at a line in the current file."
 msgstr ""
 
-#: breakpoint.c:15770
+#: breakpoint.c:15696
 msgid "Break in function or address."
 msgstr ""
 
-#: breakpoint.c:15772
+#: breakpoint.c:15698
 msgid "Break at a line in the current file."
 msgstr ""
 
-#: breakpoint.c:15773
+#: breakpoint.c:15699
 msgid ""
 "Status of user-settable breakpoints, or breakpoint number NUMBER.\n"
 "The \"Type\" column indicates one of:\n"
@@ -4254,7 +4291,7 @@ msgid ""
 "breakpoint set."
 msgstr ""
 
-#: breakpoint.c:15790
+#: breakpoint.c:15716
 msgid ""
 "Status of specified breakpoints (all user-settable breakpoints if no "
 "argument).\n"
@@ -4277,7 +4314,7 @@ msgid ""
 "breakpoint set."
 msgstr ""
 
-#: breakpoint.c:15808
+#: breakpoint.c:15734
 msgid ""
 "Status of all breakpoints, or breakpoint number NUMBER.\n"
 "The \"Type\" column indicates one of:\n"
@@ -4303,43 +4340,43 @@ msgid ""
 "breakpoint set."
 msgstr ""
 
-#: breakpoint.c:15829
+#: breakpoint.c:15755
 msgid "Set catchpoints to catch events."
 msgstr ""
 
 #. allow-unknown
-#: breakpoint.c:15834
+#: breakpoint.c:15760
 msgid "Set temporary catchpoints to catch events."
 msgstr ""
 
 #. allow-unknown
-#: breakpoint.c:15839
+#: breakpoint.c:15765
 msgid "Catch calls to fork."
 msgstr ""
 
-#: breakpoint.c:15844
+#: breakpoint.c:15770
 msgid "Catch calls to vfork."
 msgstr ""
 
-#: breakpoint.c:15849
+#: breakpoint.c:15775
 msgid "Catch calls to exec."
 msgstr ""
 
-#: breakpoint.c:15854
+#: breakpoint.c:15780
 msgid ""
 "Catch loads of shared libraries.\n"
 "Usage: catch load [REGEX]\n"
 "If REGEX is given, only stop for libraries matching the regular expression."
 msgstr ""
 
-#: breakpoint.c:15861
+#: breakpoint.c:15787
 msgid ""
 "Catch unloads of shared libraries.\n"
 "Usage: catch unload [REGEX]\n"
 "If REGEX is given, only stop for libraries matching the regular expression."
 msgstr ""
 
-#: breakpoint.c:15869
+#: breakpoint.c:15795
 msgid ""
 "Set a watchpoint for an expression.\n"
 "Usage: watch [-l|-location] EXPRESSION\n"
@@ -4349,7 +4386,7 @@ msgid ""
 "the memory to which it refers."
 msgstr ""
 
-#: breakpoint.c:15878
+#: breakpoint.c:15804
 msgid ""
 "Set a read watchpoint for an expression.\n"
 "Usage: rwatch [-l|-location] EXPRESSION\n"
@@ -4359,7 +4396,7 @@ msgid ""
 "the memory to which it refers."
 msgstr ""
 
-#: breakpoint.c:15887
+#: breakpoint.c:15813
 msgid ""
 "Set a watchpoint for an expression.\n"
 "Usage: awatch [-l|-location] EXPRESSION\n"
@@ -4369,19 +4406,19 @@ msgid ""
 "the memory to which it refers."
 msgstr ""
 
-#: breakpoint.c:15896
+#: breakpoint.c:15822
 msgid "Status of specified watchpoints (all watchpoints if no argument)."
 msgstr ""
 
-#: breakpoint.c:15902
+#: breakpoint.c:15828
 msgid "Set debugger's willingness to use watchpoint hardware."
 msgstr ""
 
-#: breakpoint.c:15903
+#: breakpoint.c:15829
 msgid "Show debugger's willingness to use watchpoint hardware."
 msgstr ""
 
-#: breakpoint.c:15904
+#: breakpoint.c:15830
 msgid ""
 "If zero, gdb will not use hardware for new watchpoints, even if\n"
 "such is available.  (However, any hardware watchpoints that were\n"
@@ -4390,19 +4427,19 @@ msgid ""
 msgstr ""
 
 #. Tracepoint manipulation commands.
-#: breakpoint.c:15917
+#: breakpoint.c:15843
 msgid ""
 "Set a tracepoint at specified location.\n"
 "\n"
 msgstr ""
 
-#: breakpoint.c:15929
+#: breakpoint.c:15855
 msgid ""
 "Set a fast tracepoint at specified location.\n"
 "\n"
 msgstr ""
 
-#: breakpoint.c:15936
+#: breakpoint.c:15862
 msgid ""
 "Set a static tracepoint at location or marker.\n"
 "\n"
@@ -4422,35 +4459,35 @@ msgid ""
 "\n"
 msgstr ""
 
-#: breakpoint.c:15958
+#: breakpoint.c:15884
 msgid ""
 "Status of specified tracepoints (all tracepoints if no argument).\n"
 "Convenience variable \"$tpnum\" contains the number of the\n"
 "last tracepoint set."
 msgstr ""
 
-#: breakpoint.c:15965
+#: breakpoint.c:15891
 msgid ""
 "Delete specified tracepoints.\n"
 "Arguments are tracepoint numbers, separated by spaces.\n"
 "No argument means delete all tracepoints."
 msgstr ""
 
-#: breakpoint.c:15972
+#: breakpoint.c:15898
 msgid ""
 "Disable specified tracepoints.\n"
 "Arguments are tracepoint numbers, separated by spaces.\n"
 "No argument means disable all tracepoints."
 msgstr ""
 
-#: breakpoint.c:15979
+#: breakpoint.c:15905
 msgid ""
 "Enable specified tracepoints.\n"
 "Arguments are tracepoint numbers, separated by spaces.\n"
 "No argument means enable all tracepoints."
 msgstr ""
 
-#: breakpoint.c:15986
+#: breakpoint.c:15912
 msgid ""
 "Set the passcount for a tracepoint.\n"
 "The trace will end when the tracepoint has been passed 'count' times.\n"
@@ -4458,12 +4495,12 @@ msgid ""
 "if TPNUM is omitted, passcount refers to the last tracepoint defined."
 msgstr ""
 
-#: breakpoint.c:15993
+#: breakpoint.c:15919
 msgid "Save breakpoint definitions as a script."
 msgstr ""
 
 #. allow-unknown
-#: breakpoint.c:15997
+#: breakpoint.c:15923
 msgid ""
 "Save current breakpoint definitions as a script.\n"
 "This includes all types of breakpoints (breakpoints, watchpoints,\n"
@@ -4471,29 +4508,29 @@ msgid ""
 "session to restore them."
 msgstr ""
 
-#: breakpoint.c:16005
+#: breakpoint.c:15931
 msgid ""
 "Save current tracepoint definitions as a script.\n"
 "Use the 'source' command in another debug session to restore them."
 msgstr ""
 
 #. allow-unknown
-#: breakpoint.c:16014 breakpoint.c:16020
+#: breakpoint.c:15940 breakpoint.c:15946
 msgid ""
 "Breakpoint specific settings\n"
 "Configure various breakpoint-specific variables such as\n"
 "pending breakpoint behavior"
 msgstr ""
 
-#: breakpoint.c:16028
+#: breakpoint.c:15954
 msgid "Set debugger's behavior regarding pending breakpoints."
 msgstr ""
 
-#: breakpoint.c:16029
+#: breakpoint.c:15955
 msgid "Show debugger's behavior regarding pending breakpoints."
 msgstr ""
 
-#: breakpoint.c:16030
+#: breakpoint.c:15956
 msgid ""
 "If on, an unrecognized breakpoint location will cause gdb to create a\n"
 "pending breakpoint.  If off, an unrecognized breakpoint location results in\n"
@@ -4501,15 +4538,15 @@ msgid ""
 "user-query to see if a pending breakpoint should be created."
 msgstr ""
 
-#: breakpoint.c:16043
+#: breakpoint.c:15969
 msgid "Set automatic usage of hardware breakpoints."
 msgstr ""
 
-#: breakpoint.c:16044
+#: breakpoint.c:15970
 msgid "Show automatic usage of hardware breakpoints."
 msgstr ""
 
-#: breakpoint.c:16045
+#: breakpoint.c:15971
 msgid ""
 "If set, the debugger will automatically use hardware breakpoints for\n"
 "breakpoints set with \"break\" but falling in read-only memory.  If not "
@@ -4517,15 +4554,15 @@ msgid ""
 "a warning will be emitted for such breakpoints."
 msgstr ""
 
-#: breakpoint.c:16055
+#: breakpoint.c:15981
 msgid "Set mode for inserting breakpoints."
 msgstr ""
 
-#: breakpoint.c:16056
+#: breakpoint.c:15982
 msgid "Show mode for inserting breakpoints."
 msgstr ""
 
-#: breakpoint.c:16057
+#: breakpoint.c:15983
 msgid ""
 "When this mode is on, breakpoints are inserted immediately as soon as\n"
 "they're created, kept inserted even when execution stops, and removed\n"
@@ -4534,15 +4571,15 @@ msgid ""
 "when execution stops."
 msgstr ""
 
-#: breakpoint.c:16070
+#: breakpoint.c:15996
 msgid "Set mode of breakpoint condition evaluation."
 msgstr ""
 
-#: breakpoint.c:16071
+#: breakpoint.c:15997
 msgid "Show mode of breakpoint condition evaluation."
 msgstr ""
 
-#: breakpoint.c:16072
+#: breakpoint.c:15998
 msgid ""
 "When this is set to \"host\", breakpoint conditions will be\n"
 "evaluated on the host's side by GDB.  When it is set to \"target\",\n"
@@ -4554,7 +4591,7 @@ msgid ""
 "be set to \"gdb\""
 msgstr ""
 
-#: breakpoint.c:16085
+#: breakpoint.c:16011
 msgid ""
 "Set a breakpoint for an address range.\n"
 "break-range START-LOCATION, END-LOCATION\n"
@@ -4572,7 +4609,7 @@ msgid ""
 "range (including START-LOCATION and END-LOCATION)."
 msgstr ""
 
-#: breakpoint.c:16101
+#: breakpoint.c:16027
 msgid ""
 "Set a dynamic printf at specified location.\n"
 "dprintf location,format string,arg1,arg2,...\n"
@@ -4580,15 +4617,15 @@ msgid ""
 "\n"
 msgstr ""
 
-#: breakpoint.c:16109
+#: breakpoint.c:16035
 msgid "Set the style of usage for dynamic printf."
 msgstr ""
 
-#: breakpoint.c:16110
+#: breakpoint.c:16036
 msgid "Show the style of usage for dynamic printf."
 msgstr ""
 
-#: breakpoint.c:16111
+#: breakpoint.c:16037
 msgid ""
 "This setting chooses how GDB will do a dynamic printf.\n"
 "If the value is \"gdb\", then the printing is done by GDB to its own\n"
@@ -4598,346 +4635,348 @@ msgid ""
 "output stream by setting dprintf-function and dprintf-channel."
 msgstr ""
 
-#: breakpoint.c:16123
+#: breakpoint.c:16049
 msgid "Set the function to use for dynamic printf"
 msgstr ""
 
-#: breakpoint.c:16124
+#: breakpoint.c:16050
 msgid "Show the function to use for dynamic printf"
 msgstr ""
 
-#: breakpoint.c:16131
+#: breakpoint.c:16057
 msgid "Set the channel to use for dynamic printf"
 msgstr ""
 
-#: breakpoint.c:16132
+#: breakpoint.c:16058
 msgid "Show the channel to use for dynamic printf"
 msgstr ""
 
-#: breakpoint.c:16138
+#: breakpoint.c:16064
 msgid "Set whether dprintf continues after GDB disconnects."
 msgstr ""
 
-#: breakpoint.c:16139
+#: breakpoint.c:16065
 msgid "Show whether dprintf continues after GDB disconnects."
 msgstr ""
 
-#: breakpoint.c:16140
+#: breakpoint.c:16066
 msgid ""
 "Use this to let dprintf commands continue to hit and produce output\n"
 "even if GDB disconnects or detaches from the target."
 msgstr ""
 
-#: breakpoint.c:16147
+#: breakpoint.c:16073
 msgid ""
 "agent-printf \"printf format string\", arg1, arg2, arg3, ..., argn\n"
 "(target agent only) This is useful for formatted output in user-defined "
 "commands."
 msgstr ""
 
-#: bsd-kvm.c:169
+#: bsd-kvm.c:68
+msgid "Kernel memory interface"
+msgstr ""
+
+#: bsd-kvm.c:69
+msgid ""
+"Use a kernel virtual memory image as a target.\n"
+"Optionally specify the filename of a core dump."
+msgstr ""
+
+#: bsd-kvm.c:206
 #, possible-c-format
 msgid "\tUsing the kernel crash dump %s.\n"
 msgstr ""
 
-#: bsd-kvm.c:172
+#: bsd-kvm.c:209
 msgid "\tUsing the currently running kernel.\n"
 msgstr ""
 
 #. i18n: PCB == "Process Control Block".
-#: bsd-kvm.c:266
+#: bsd-kvm.c:302
 msgid "Cannot find a valid PCB"
 msgstr ""
 
-#: bsd-kvm.c:287
+#: bsd-kvm.c:323
 msgid "proc address"
 msgstr ""
 
-#: bsd-kvm.c:290 bsd-kvm.c:318
+#: bsd-kvm.c:326 bsd-kvm.c:354
 msgid "No kernel memory image."
 msgstr ""
 
 #. i18n: PCB == "Process Control Block".
-#: bsd-kvm.c:315
+#: bsd-kvm.c:351
 msgid "pcb address"
 msgstr ""
 
-#: bsd-kvm.c:360
-msgid "Kernel memory interface"
-msgstr ""
-
-#: bsd-kvm.c:361
-msgid ""
-"Use a kernel virtual memory image as a target.\n"
-"Optionally specify the filename of a core dump."
-msgstr ""
-
-#: bsd-kvm.c:378
+#: bsd-kvm.c:390
 msgid "Generic command for manipulating the kernel memory interface."
 msgstr ""
 
-#: bsd-kvm.c:384
+#: bsd-kvm.c:396
 msgid "Set current context from proc address"
 msgstr ""
 
 #. i18n: PCB == "Process Control Block".
-#: bsd-kvm.c:388
+#: bsd-kvm.c:400
 msgid "Set current context from pcb address"
 msgstr ""
 
-#: bsd-uthread.c:103
+#: bsd-uthread.c:38 bsd-uthread.c:39
+msgid "BSD user-level threads"
+msgstr ""
+
+#: bsd-uthread.c:135
 msgid "Bad magic"
 msgstr ""
 
-#: btrace.c:1074
+#: btrace.c:1077
 #, possible-c-format
 msgid "Recorded trace may be corrupted at instruction %u (pc = %s)."
 msgstr ""
 
-#: btrace.c:1116
+#: btrace.c:1119
 #, possible-c-format
 msgid "Recorded trace may be incomplete at instruction %u (pc = %s)."
 msgstr ""
 
-#: btrace.c:1216
+#: btrace.c:1219
 #, possible-c-format
 msgid "Non-contiguous trace at instruction %u (offset = 0x%<PRIx64>)."
 msgstr ""
 
-#: btrace.c:1227
+#: btrace.c:1230
 #, possible-c-format
 msgid "Overflow at instruction %u (offset = 0x%<PRIx64>)."
 msgstr ""
 
-#: btrace.c:1261
+#: btrace.c:1264
 #, possible-c-format
 msgid ""
 "Non-contiguous trace at instruction %u (offset = 0x%<PRIx64>, pc = 0x%"
 "<PRIx64>)."
 msgstr ""
 
-#: btrace.c:1278
+#: btrace.c:1281
 #, possible-c-format
 msgid "Overflow at instruction %u (offset = 0x%<PRIx64>, pc = 0x%<PRIx64>)."
 msgstr ""
 
-#: btrace.c:1304 btrace.c:3013
+#: btrace.c:1307 btrace.c:3006
 #, possible-c-format
 msgid "Failed to synchronize onto the Intel Processor Trace stream: %s."
 msgstr ""
 
-#: btrace.c:1339
+#: btrace.c:1342
 #, possible-c-format
 msgid ""
 "Decode error (%d) at instruction %u (offset = 0x%<PRIx64>, pc = 0x%"
 "<PRIx64>): %s."
 msgstr ""
 
-#: btrace.c:1438 btrace.c:1455 btrace.c:3046
+#: btrace.c:1445 btrace.c:1463 btrace.c:3047
 #, possible-c-format
 msgid "Failed to configure the Intel Processor Trace decoder: %s."
 msgstr ""
 
-#: btrace.c:1443 btrace.c:3051
+#: btrace.c:1451 btrace.c:3053
 msgid "Failed to allocate the Intel Processor Trace decoder."
 msgstr ""
 
-#: btrace.c:1451
+#: btrace.c:1459
 msgid "Failed to configure the Intel Processor Trace decoder."
 msgstr ""
 
-#: btrace.c:1482
+#: btrace.c:1490
 msgid "Unexpected branch trace format."
 msgstr ""
 
-#: btrace.c:1510 btrace.c:1782 common/btrace-common.c:92
-#: common/btrace-common.c:112 common/btrace-common.c:199
-#: nat/linux-btrace.c:1147 record-btrace.c:403
+#: btrace.c:1526 btrace.c:1790 common/btrace-common.c:84
+#: common/btrace-common.c:104 common/btrace-common.c:191
+#: nat/linux-btrace.c:926 record-btrace.c:550
 msgid "Unkown branch trace format."
 msgstr ""
 
-#: btrace.c:1582
-msgid "GDB does not support Intel Processor Trace."
-msgstr ""
-
-#: btrace.c:1586 remote.c:13279 remote.c:13330 remote.c:13373
-msgid "Target does not support branch tracing."
+#: btrace.c:1593 nat/linux-btrace.c:684
+msgid "Intel Processor Trace support was disabled at compile time."
 msgstr ""
 
-#: btrace.c:1723
+#: btrace.c:1731
 msgid "Error while trying to read delta trace.  Falling back to a full read."
 msgstr ""
 
-#: btrace.c:1837
+#: btrace.c:1845
 msgid "instruction overflow"
 msgstr ""
 
-#: btrace.c:1840
+#: btrace.c:1848
 msgid "unknown instruction"
 msgstr ""
 
-#: btrace.c:1852
+#: btrace.c:1860
 msgid "trace decode cancelled"
 msgstr ""
 
-#: btrace.c:1855
+#: btrace.c:1863
 msgid "disabled"
 msgstr ""
 
-#: btrace.c:1858
+#: btrace.c:1866
 msgid "overflow"
 msgstr ""
 
-#: btrace.c:1943
+#: btrace.c:1947
 msgid "Failed to read branch trace."
 msgstr ""
 
-#: btrace.c:2011
+#: btrace.c:2014
 #, possible-c-format
 msgid "Unsupported btrace version: \"%s\""
 msgstr ""
 
-#: btrace.c:2038
+#: btrace.c:2042
 msgid "Btrace format error."
 msgstr ""
 
-#: btrace.c:2061
+#: btrace.c:2064
 msgid "Bad raw data size."
 msgstr ""
 
-#: btrace.c:2077
+#: btrace.c:2080
 msgid "Bad hex encoding."
 msgstr ""
 
-#: btrace.c:2207
+#: btrace.c:2212
 msgid "btrace"
 msgstr ""
 
-#: btrace.c:2210
+#: btrace.c:2215
 msgid "Error parsing branch trace."
 msgstr ""
 
-#: btrace.c:2217
-msgid "Cannot process branch trace.  XML parsing is not supported."
+#: btrace.c:2222
+msgid "Cannot process branch trace.  XML support was disabled at compile time."
 msgstr ""
 
-#: btrace.c:2302
+#: btrace.c:2310
 msgid "btrace-conf"
 msgstr ""
 
-#: btrace.c:2305
+#: btrace.c:2313
 msgid "Error parsing branch trace configuration."
 msgstr ""
 
-#: btrace.c:2309
-msgid "XML parsing is not supported."
+#: btrace.c:2317
+msgid ""
+"Cannot process the branch trace configuration.  XML support was disabled at "
+"compile time."
 msgstr ""
 
-#: btrace.c:2360 btrace.c:2377 btrace.c:2649 btrace.c:2662 record-btrace.c:125
-#: record-btrace.c:1950 record-btrace.c:2736
+#: btrace.c:2369 btrace.c:2386 btrace.c:2658 btrace.c:2671 record-btrace.c:260
+#: record-btrace.c:2063 record-btrace.c:2832
 msgid "No trace."
 msgstr ""
 
-#: btrace.c:3008
+#: btrace.c:3001
 #, possible-c-format
 msgid "Error at trace offset 0x%<PRIx64>: %s."
 msgstr ""
 
-#: btrace.c:3190 btrace.c:3209 record.c:439 record.c:459
+#: btrace.c:3192 btrace.c:3211 record.c:439 record.c:459
 #, possible-c-format
 msgid "Expected positive number, got: %s."
 msgstr ""
 
-#: btrace.c:3194
+#: btrace.c:3196
 msgid "Number too big."
 msgstr ""
 
-#: btrace.c:3223 record.c:409 record.c:421 record.c:472
+#: btrace.c:3225 record.c:409 record.c:421 record.c:472
 #, possible-c-format
 msgid "Junk after argument: %s."
 msgstr ""
 
-#: btrace.c:3237 btrace.c:3344 btrace.c:3365 btrace.c:3429 record-btrace.c:118
-#: record-btrace.c:420 record-btrace.c:1255
+#: btrace.c:3238 btrace.c:3341 btrace.c:3360 btrace.c:3423 record-btrace.c:251
+#: record-btrace.c:567 record-btrace.c:1388
 msgid "No thread."
 msgstr ""
 
-#: btrace.c:3245
+#: btrace.c:3246
 msgid "No trace.\n"
 msgstr ""
 
-#: btrace.c:3269
+#: btrace.c:3270
 #, possible-c-format
 msgid "'%u' is out of range."
 msgstr ""
 
-#: btrace.c:3340 btrace.c:3361 btrace.c:3425 record-btrace.c:2883
-#: record-btrace.c:2905 record-btrace.c:2927
+#: btrace.c:3338 btrace.c:3357 btrace.c:3420 record-btrace.c:2918
+#: record-btrace.c:2940 record-btrace.c:2962
 msgid "Invalid argument."
 msgstr ""
 
-#: btrace.c:3435
+#: btrace.c:3431
 msgid "No btrace configuration."
 msgstr ""
 
-#: btrace.c:3437
+#: btrace.c:3433
 #, possible-c-format
 msgid "Format: %s.\n"
 msgstr ""
 
-#: btrace.c:3446 btrace.c:3462
+#: btrace.c:3442 btrace.c:3458
 #, possible-c-format
 msgid "Number of packets: %u.\n"
 msgstr ""
 
-#: btrace.c:3457
+#: btrace.c:3453
 #, possible-c-format
 msgid "Version: %u.%u.%u%s.\n"
 msgstr ""
 
-#: btrace.c:3478
+#: btrace.c:3474
 #, possible-c-format
 msgid "Skip PAD packets is %s.\n"
 msgstr ""
 
-#: btrace.c:3488
+#: btrace.c:3484
 msgid "Info about branch tracing data."
 msgstr ""
 
-#: btrace.c:3491
+#: btrace.c:3487
 msgid "Branch tracing maintenance commands."
 msgstr ""
 
-#: btrace.c:3495
+#: btrace.c:3491
 msgid "Set branch tracing specific variables."
 msgstr ""
 
-#: btrace.c:3500
+#: btrace.c:3496
 msgid "Set Intel Processor Trace specific variables."
 msgstr ""
 
-#: btrace.c:3505
+#: btrace.c:3501
 msgid "Show branch tracing specific variables."
 msgstr ""
 
-#: btrace.c:3510
+#: btrace.c:3506
 msgid "Show Intel Processor Trace specific variables."
 msgstr ""
 
-#: btrace.c:3516
+#: btrace.c:3512
 msgid "Set whether PAD packets should be skipped in the btrace packet history."
 msgstr ""
 
-#: btrace.c:3517
+#: btrace.c:3513
 msgid ""
 "Show whether PAD packets should be skipped in the btrace packet history."
 msgstr ""
 
-#: btrace.c:3518
+#: btrace.c:3514
 msgid "When enabled, PAD packets are ignored in the btrace packet history."
 msgstr ""
 
-#: btrace.c:3525
+#: btrace.c:3521
 msgid ""
 "Print the raw branch tracing data.\n"
 "With no argument, print ten more packets after the previous ten-line print.\n"
@@ -4949,13 +4988,13 @@ msgid ""
 "first.\n"
 msgstr ""
 
-#: btrace.c:3537
+#: btrace.c:3533
 msgid ""
 "Clears the branch tracing packet history.\n"
 "Discards the raw branch tracing data but not the execution history data.\n"
 msgstr ""
 
-#: btrace.c:3543
+#: btrace.c:3539
 msgid ""
 "Clears the branch tracing data.\n"
 "Discards the raw branch tracing data and the execution history data.\n"
@@ -4972,166 +5011,170 @@ msgstr ""
 msgid "File \"%s\" has a different build-id, file skipped"
 msgstr ""
 
-#: build-id.c:116 symfile.c:1354
+#: build-id.c:101 symfile.c:1297
 #, possible-c-format
 msgid "  Trying %s\n"
 msgstr ""
 
-#: build-id.c:154
+#: build-id.c:137
 #, possible-c-format
 msgid ""
 "\n"
 "Looking for separate debug info (build-id) for %s\n"
 msgstr ""
 
-#: build-id.c:163
+#: build-id.c:146
 #, possible-c-format
 msgid "\"%s\": separate debug info file has no debug info"
 msgstr ""
 
-#: buildsym.c:449
+#: buildsym.c:448
 #, possible-c-format
 msgid "block end address less than block start address in %s (patched it)"
 msgstr ""
 
-#: buildsym.c:456
+#: buildsym.c:454
 #, possible-c-format
 msgid "block end address %s less than block start address %s (patched it)"
 msgstr ""
 
-#: buildsym.c:489
+#: buildsym.c:486
 #, possible-c-format
 msgid "inner block not inside outer block in %s"
 msgstr ""
 
-#: buildsym.c:495
+#: buildsym.c:491
 #, possible-c-format
 msgid "inner block (%s-%s) not inside outer block (%s-%s)"
 msgstr ""
 
-#: buildsym.c:656
+#: buildsym.c:652
 #, possible-c-format
 msgid "block at %s out of order"
 msgstr ""
 
-#: buildsym.c:877 buildsym.c:891 common/print-utils.c:77
-#: common/print-utils.c:120 common/print-utils.c:288 dbxread.c:2843 exec.c:523
-#: exec.c:791 mdebugread.c:3654 printcmd.c:1001 printcmd.c:2576 psymtab.c:720
-#: psymtab.c:733 target.c:654 target.c:738 target.c:779 utils.c:1602
-#: valprint.c:1329
+#: buildsym.c:873 buildsym.c:887 common/print-utils.c:77
+#: common/print-utils.c:120 common/print-utils.c:288 dbxread.c:2777 exec.c:533
+#: exec.c:801 mdebugread.c:3623 printcmd.c:986 printcmd.c:2566 psymtab.c:720
+#: psymtab.c:733 target.c:721 utils.c:1578 valprint.c:1326
 msgid "failed internal consistency check"
 msgstr ""
 
-#: buildsym.c:1241
+#. This is said to happen with SCO.  The old coffread.c
+#. code simply emptied the context stack, so we do the
+#. same.  FIXME: Find out why it is happening.  This is not
+#. believed to happen in most cases (even for coffread.c);
+#. it used to be an abort().
+#: buildsym.c:1236
 msgid "Context stack not empty in end_symtab"
 msgstr ""
 
-#: buildsym.c:1589
+#: buildsym.c:1583
 msgid "Context stack not empty in augment_type_symtab"
 msgstr ""
 
-#: buildsym.c:1593
+#: buildsym.c:1587
 msgid "Blocks in a type symtab"
 msgstr ""
 
-#: buildsym.c:1595
+#: buildsym.c:1589
 msgid "Macro in a type symtab"
 msgstr ""
 
-#: buildsym.c:1598
+#: buildsym.c:1591
 msgid "Line numbers recorded in a type symtab"
 msgstr ""
 
-#: c-exp.y:426
+#: c-exp.y:431
 #, possible-c-format
 msgid "%s is not an ObjC Class"
 msgstr ""
 
-#: c-exp.y:859
+#: c-exp.y:864
 msgid "Undefined string concatenation."
 msgstr ""
 
-#: c-exp.y:933 go-exp.y:539
+#: c-exp.y:938 go-exp.y:539
 #, possible-c-format
 msgid "@entry can be used only for function parameters, not for \"%s\""
 msgstr ""
 
-#: c-exp.y:949 eval.c:1352 m2-exp.y:548 p-exp.y:649
+#: c-exp.y:954 eval.c:1350 m2-exp.y:548 p-exp.y:649
 #, possible-c-format
 msgid "No symbol \"%s\" in specified context."
 msgstr ""
 
-#: c-exp.y:970 c-exp.y:986 d-exp.y:504 p-exp.y:664
+#: c-exp.y:971 c-exp.y:987 d-exp.y:497 p-exp.y:664
 #, possible-c-format
 msgid "`%s' is not defined as an aggregate type."
 msgstr ""
 
-#: c-exp.y:1005
+#: c-exp.y:1006
 #, possible-c-format
 msgid "No type \"%s\" within class or namespace \"%s\"."
 msgstr ""
 
-#: c-exp.y:1036 c-exp.y:1084 d-exp.y:458 d-exp.y:497 f-exp.y:488 go-exp.y:587
-#: m2-exp.y:601 p-exp.y:701 p-exp.y:768 printcmd.c:1448 valops.c:2698
+#: c-exp.y:1037 c-exp.y:1089 d-exp.y:451 d-exp.y:490 f-exp.y:483 go-exp.y:582
+#: m2-exp.y:591 p-exp.y:701 p-exp.y:760 printcmd.c:1420 valops.c:2736
 #, possible-c-format
 msgid "No symbol \"%s\" in current context."
 msgstr ""
 
-#: c-exp.y:1734
+#: c-exp.y:1742
 msgid "parameter types following 'void'"
 msgstr ""
 
-#: c-exp.y:1739
+#: c-exp.y:1747
 msgid "'void' invalid as parameter type"
 msgstr ""
 
-#: c-exp.y:1918 d-exp.y:821 go-exp.y:792 p-exp.y:965
+#: c-exp.y:1926 d-exp.y:814 go-exp.y:787 p-exp.y:957
 msgid "Numeric constant too large."
 msgstr ""
 
-#: c-exp.y:2020
+#: c-exp.y:2028
 msgid "\\x escape without a following hex digit"
 msgstr ""
 
-#: c-exp.y:2070
+#: c-exp.y:2078
 #, possible-c-format
 msgid "\\%c escape without a following hex digit"
 msgstr ""
 
-#: c-exp.y:2246 d-exp.y:932 go-exp.y:926 macroexp.c:412 p-exp.y:1369
+#: c-exp.y:2254 d-exp.y:925 go-exp.y:921 macroexp.c:401 p-exp.y:1361
 msgid "Unterminated string in expression."
 msgstr ""
 
-#: c-exp.y:2248 d-exp.y:934 go-exp.y:928 macroexp.c:355 p-exp.y:1200
+#: c-exp.y:2256 d-exp.y:927 go-exp.y:923 macroexp.c:344 p-exp.y:1192
 msgid "Unmatched single quote."
 msgstr ""
 
-#: c-exp.y:2648 d-exp.y:1176 f-exp.y:1076 go-exp.y:1151 m2-exp.y:922
-#: p-exp.y:1296
+#: c-exp.y:2656 d-exp.y:1169 f-exp.y:1071 go-exp.y:1146 m2-exp.y:912
+#: p-exp.y:1288
 #, possible-c-format
 msgid "Invalid number \"%s\"."
 msgstr ""
 
-#: c-exp.y:2721 d-exp.y:1228 go-exp.y:1203 p-exp.y:1187
+#: c-exp.y:2729 d-exp.y:1221 go-exp.y:1198 p-exp.y:1179
 msgid "Empty character constant."
 msgstr ""
 
-#: c-exp.y:2731 d-exp.y:1236 go-exp.y:1211 p-exp.y:1206
+#: c-exp.y:2739 d-exp.y:1229 go-exp.y:1206 p-exp.y:1198
 msgid "Invalid character constant."
 msgstr ""
 
 #. We must have come across a bad character (e.g. ';').
-#: c-exp.y:2740 f-exp.y:1110 go-exp.y:1220 m2-exp.y:931 p-exp.y:1381
+#: c-exp.y:2747 f-exp.y:1105 go-exp.y:1215 m2-exp.y:921 p-exp.y:1373
 #, possible-c-format
 msgid "Invalid character '%c' in expression."
 msgstr ""
 
-#: c-exp.y:3058
+#: c-exp.y:3067
 msgid "not reached"
 msgstr ""
 
-#: c-exp.y:3334 d-exp.y:1643 f-exp.y:1230 go-exp.y:1592 m2-exp.y:1057
-#: p-exp.y:1739
+#: c-exp.y:3343 d-exp.y:1636 f-exp.y:1225 go-exp.y:1587 m2-exp.y:1047
+#: p-exp.y:1731
 #, possible-c-format
 msgid "A %s in expression, near `%s'."
 msgstr ""
@@ -5185,19 +5228,19 @@ msgid "Internal error while converting c
 msgstr ""
 
 #. No valid charset found, generate error here.
-#: charset.c:988
+#: charset.c:1000
 msgid "Unable to find a vaild charset for string conversions"
 msgstr ""
 
-#: charset.c:1031
+#: charset.c:1043
 msgid "Set the host and target character sets."
 msgstr ""
 
-#: charset.c:1032
+#: charset.c:1044
 msgid "Show the host and target character sets."
 msgstr ""
 
-#: charset.c:1033
+#: charset.c:1045
 msgid ""
 "The `host character set' is the one used by the system GDB is running on.\n"
 "The `target character set' is the one used by the program being debugged.\n"
@@ -5206,15 +5249,15 @@ msgid ""
 "To see a list of the character sets GDB supports, type `set charset <TAB>'."
 msgstr ""
 
-#: charset.c:1047
+#: charset.c:1059
 msgid "Set the host character set."
 msgstr ""
 
-#: charset.c:1048
+#: charset.c:1060
 msgid "Show the host character set."
 msgstr ""
 
-#: charset.c:1049
+#: charset.c:1061
 msgid ""
 "The `host character set' is the one used by the system GDB is running on.\n"
 "You may only use supersets of ASCII for your host character set; GDB does\n"
@@ -5223,15 +5266,15 @@ msgid ""
 "<TAB>'."
 msgstr ""
 
-#: charset.c:1059
+#: charset.c:1071
 msgid "Set the target character set."
 msgstr ""
 
-#: charset.c:1060
+#: charset.c:1072
 msgid "Show the target character set."
 msgstr ""
 
-#: charset.c:1061
+#: charset.c:1073
 msgid ""
 "The `target character set' is the one used by the program being debugged.\n"
 "GDB translates characters and strings between the host and target\n"
@@ -5240,15 +5283,15 @@ msgid ""
 "charset'<TAB>"
 msgstr ""
 
-#: charset.c:1072
+#: charset.c:1084
 msgid "Set the target wide character set."
 msgstr ""
 
-#: charset.c:1073
+#: charset.c:1085
 msgid "Show the target wide character set."
 msgstr ""
 
-#: charset.c:1074
+#: charset.c:1086
 msgid ""
 "The `target wide character set' is the one used by the program being "
 "debugged.\n"
@@ -5259,37 +5302,37 @@ msgid ""
 "`set target-wide-charset'<TAB>"
 msgstr ""
 
-#: c-lang.c:63 c-lang.c:604
+#: c-lang.c:64 c-lang.c:602
 msgid "unhandled c_string_type"
 msgstr ""
 
-#: c-lang.c:360
+#: c-lang.c:358
 #, possible-c-format
 msgid "Trying to read string with inappropriate type `%s'."
 msgstr ""
 
-#: c-lang.c:364
+#: c-lang.c:362
 msgid "Trying to read string with inappropriate type."
 msgstr ""
 
-#: c-lang.c:465
+#: c-lang.c:463
 msgid "Malformed escape sequence"
 msgstr ""
 
-#: c-lang.c:492
+#: c-lang.c:490
 msgid "\\x used with no following hex digits."
 msgstr ""
 
-#: c-lang.c:514
+#: c-lang.c:512
 msgid "\\u used with no following hex digits"
 msgstr ""
 
-#: c-lang.c:662
+#: c-lang.c:660
 msgid "Could not convert character constant to target character set"
 msgstr ""
 
 #. To avoid memory corruption.
-#: c-lang.c:688 eval.c:1469
+#: c-lang.c:686 eval.c:1467
 msgid "Too many array elements"
 msgstr ""
 
@@ -5297,7 +5340,7 @@ msgstr ""
 msgid "Missing filename."
 msgstr ""
 
-#: cli/cli-dump.c:88 cli/cli-dump.c:106
+#: cli/cli-dump.c:88 cli/cli-dump.c:106 nat/linux-btrace.c:570
 #, possible-c-format
 msgid "Failed to open %s: %s."
 msgstr ""
@@ -5595,26 +5638,26 @@ msgstr ""
 msgid "gdb internal error: bad var_type in do_show_command"
 msgstr ""
 
-#: cli/cli-decode.c:1492
+#: cli/cli-decode.c:1463
 #, possible-c-format
 msgid "Undefined %scommand: \"%s\".  Try \"help%s%.*s\"."
 msgstr ""
 
-#: cli/cli-decode.c:1526
+#: cli/cli-decode.c:1497
 #, possible-c-format
 msgid "Lack of needed %scommand"
 msgstr ""
 
-#: cli/cli-decode.c:1591
+#: cli/cli-decode.c:1562
 #, possible-c-format
 msgid "Ambiguous %scommand \"%s\": %s."
 msgstr ""
 
-#: cli/cli-decode.c:1599
+#: cli/cli-decode.c:1570
 msgid "Argument must be preceded by space."
 msgstr ""
 
-#: cli/cli-decode.c:1889
+#: cli/cli-decode.c:1860
 msgid "Invalid command"
 msgstr ""
 
@@ -5638,9 +5681,9 @@ msgstr ""
 msgid "%s%s %s\n"
 msgstr ""
 
-#: cli/cli-cmds.c:345 cli/cli-script.c:1489 infcmd.c:1262 infcmd.c:1279
-#: infcmd.c:1379 infcmd.c:2055 infcmd.c:2579 symfile.c:1149 symfile.c:1318
-#: symfile.c:2328 symfile.c:2402 tracepoint.c:2078 tracepoint.c:2084
+#: cli/cli-cmds.c:345 cli/cli-script.c:1439 infcmd.c:1258 infcmd.c:1275
+#: infcmd.c:1375 infcmd.c:2051 infcmd.c:2598 symfile.c:1096 symfile.c:1261
+#: symfile.c:2281 symfile.c:2358 tracepoint.c:2025 tracepoint.c:2031
 msgid "Not confirmed."
 msgstr ""
 
@@ -5671,174 +5714,174 @@ msgstr ""
 msgid "Script filename extension recognition is \"%s\".\n"
 msgstr ""
 
-#: cli/cli-cmds.c:581
+#: cli/cli-cmds.c:580
 msgid "source command requires file name of file to source."
 msgstr ""
 
-#: cli/cli-cmds.c:753
+#: cli/cli-cmds.c:752
 msgid "Fork failed"
 msgstr ""
 
-#: cli/cli-cmds.c:786
+#: cli/cli-cmds.c:785
 msgid "No default source file yet."
 msgstr ""
 
-#: cli/cli-cmds.c:810
+#: cli/cli-cmds.c:809
 msgid "Specified line is ambiguous:\n"
 msgstr ""
 
-#: cli/cli-cmds.c:817 cli/cli-cmds.c:1012
+#: cli/cli-cmds.c:816 cli/cli-cmds.c:1011
 msgid "Junk at end of line specification."
 msgstr ""
 
-#: cli/cli-cmds.c:828 cli/cli-cmds.c:1030
+#: cli/cli-cmds.c:827 cli/cli-cmds.c:1029
 #, possible-c-format
 msgid "No source file for address %s."
 msgstr ""
 
-#: cli/cli-cmds.c:850 cli/cli-cmds.c:1051
+#: cli/cli-cmds.c:849 cli/cli-cmds.c:1050
 #, possible-c-format
 msgid "No line number known for %s."
 msgstr ""
 
-#: cli/cli-cmds.c:912
+#: cli/cli-cmds.c:911
 #, possible-c-format
 msgid "Already at the start of %s."
 msgstr ""
 
-#: cli/cli-cmds.c:972
+#: cli/cli-cmds.c:971
 #, possible-c-format
 msgid "Specified first line '%.*s' is ambiguous:\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1003
+#: cli/cli-cmds.c:1002
 #, possible-c-format
 msgid "Specified last line '%s' is ambiguous:\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1016
+#: cli/cli-cmds.c:1015
 msgid "Specified first and last lines are in different files."
 msgstr ""
 
-#: cli/cli-cmds.c:1018
+#: cli/cli-cmds.c:1017
 msgid "Two empty args do not say what lines to list."
 msgstr ""
 
-#: cli/cli-cmds.c:1060 cli/cli-cmds.c:1066
+#: cli/cli-cmds.c:1059 cli/cli-cmds.c:1065
 msgid "No default source file yet.  Do \"help list\"."
 msgstr ""
 
-#: cli/cli-cmds.c:1138 dwarf2loc.c:2226 dwarf2loc.c:2262
-#: python/py-symbol.c:394 stack.c:2112 stack.c:2194 valops.c:1301
+#: cli/cli-cmds.c:1137 dwarf2loc.c:2226 dwarf2loc.c:2262
+#: python/py-symbol.c:394 stack.c:2058 stack.c:2138 valops.c:1302
 msgid "No frame selected."
 msgstr ""
 
-#: cli/cli-cmds.c:1142
+#: cli/cli-cmds.c:1141
 msgid "No function contains program counter for selected frame."
 msgstr ""
 
-#: cli/cli-cmds.c:1198 record.c:494 record.c:635
+#: cli/cli-cmds.c:1197 record.c:494 record.c:632
 msgid "Missing modifier."
 msgstr ""
 
-#: cli/cli-cmds.c:1214
+#: cli/cli-cmds.c:1213
 msgid "Invalid disassembly modifier."
 msgstr ""
 
-#: cli/cli-cmds.c:1223
+#: cli/cli-cmds.c:1222
 msgid "Cannot specify both /m and /s."
 msgstr ""
 
-#: cli/cli-cmds.c:1239
+#: cli/cli-cmds.c:1238
 msgid "No function contains specified address."
 msgstr ""
 
-#: cli/cli-cmds.c:1294
+#: cli/cli-cmds.c:1293
 msgid "Not a user command."
 msgstr ""
 
-#: cli/cli-cmds.c:1314
+#: cli/cli-cmds.c:1313
 msgid "REGEXP string is empty"
 msgstr ""
 
-#: cli/cli-cmds.c:1317
+#: cli/cli-cmds.c:1316
 msgid "Error in regular expression"
 msgstr ""
 
-#: cli/cli-cmds.c:1374
+#: cli/cli-cmds.c:1373
 msgid "Usage: alias [-a] [--] ALIAS = COMMAND"
 msgstr ""
 
-#: cli/cli-cmds.c:1422
+#: cli/cli-cmds.c:1421
 #, possible-c-format
 msgid "Invalid command name: %s"
 msgstr ""
 
-#: cli/cli-cmds.c:1424
+#: cli/cli-cmds.c:1423
 #, possible-c-format
 msgid "Invalid command element name: %s"
 msgstr ""
 
-#: cli/cli-cmds.c:1438
+#: cli/cli-cmds.c:1437
 #, possible-c-format
 msgid "Invalid command to alias to: %s"
 msgstr ""
 
-#: cli/cli-cmds.c:1444
+#: cli/cli-cmds.c:1443
 #, possible-c-format
 msgid "Alias already exists: %s"
 msgstr ""
 
-#: cli/cli-cmds.c:1467
+#: cli/cli-cmds.c:1466
 msgid "Mismatched command length between ALIAS and COMMAND."
 msgstr ""
 
-#: cli/cli-cmds.c:1485
+#: cli/cli-cmds.c:1484
 msgid "ALIAS and COMMAND prefixes do not match."
 msgstr ""
 
-#: cli/cli-cmds.c:1506
+#: cli/cli-cmds.c:1505
 #, possible-c-format
 msgid "file: \"%s\", line number: %d, symbol: \"%s\"\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1594
+#: cli/cli-cmds.c:1593
 msgid "\"set debug\" must be followed by the name of a debug subcommand.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1618
+#: cli/cli-cmds.c:1617
 #, possible-c-format
 msgid "Verbose printing of informational messages is %s.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1621
+#: cli/cli-cmds.c:1620
 #, possible-c-format
 msgid "Verbosity is %s.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1628
+#: cli/cli-cmds.c:1627
 #, possible-c-format
 msgid "History expansion on command input is %s.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1636
+#: cli/cli-cmds.c:1635
 #, possible-c-format
 msgid "Debugging of remote protocol is %s.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1645
+#: cli/cli-cmds.c:1644
 #, possible-c-format
 msgid "Timeout limit to wait for target to respond is %s.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1654
+#: cli/cli-cmds.c:1653
 #, possible-c-format
 msgid "The max call depth for user-defined commands is %s.\n"
 msgstr ""
 
 #. Define the classes of commands.
 #. They will appear in the help list in alphabetical order.
-#: cli/cli-cmds.c:1666
+#: cli/cli-cmds.c:1665
 msgid ""
 "Maintenance commands.\n"
 "Some gdb commands are provided just for use by gdb maintainers.\n"
@@ -5846,42 +5889,42 @@ msgid ""
 "well documented as user commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1672
+#: cli/cli-cmds.c:1671
 msgid "Obscure features."
 msgstr ""
 
-#: cli/cli-cmds.c:1674
+#: cli/cli-cmds.c:1673
 msgid "Aliases of other commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1675
+#: cli/cli-cmds.c:1674
 msgid ""
 "User-defined commands.\n"
 "The commands in this class are those defined by the user.\n"
 "Use the \"define\" command to define a command."
 msgstr ""
 
-#: cli/cli-cmds.c:1679
+#: cli/cli-cmds.c:1678
 msgid "Support facilities."
 msgstr ""
 
-#: cli/cli-cmds.c:1681
+#: cli/cli-cmds.c:1680
 msgid "Status inquiries."
 msgstr ""
 
-#: cli/cli-cmds.c:1682
+#: cli/cli-cmds.c:1681
 msgid "Specifying and examining files."
 msgstr ""
 
-#: cli/cli-cmds.c:1685
+#: cli/cli-cmds.c:1684
 msgid "Making program stop at certain points."
 msgstr ""
 
-#: cli/cli-cmds.c:1686
+#: cli/cli-cmds.c:1685
 msgid "Examining data."
 msgstr ""
 
-#: cli/cli-cmds.c:1687
+#: cli/cli-cmds.c:1686
 msgid ""
 "Examining the stack.\n"
 "The stack is made up of stack frames.  Gdb assigns numbers to stack frames\n"
@@ -5893,16 +5936,16 @@ msgid ""
 "The commands below can be used to select other frames by number or address."
 msgstr ""
 
-#: cli/cli-cmds.c:1696
+#: cli/cli-cmds.c:1695
 msgid "Running the program."
 msgstr ""
 
 #. Define general commands.
-#: cli/cli-cmds.c:1700
+#: cli/cli-cmds.c:1699
 msgid "Print working directory.  This is used for your program as well."
 msgstr ""
 
-#: cli/cli-cmds.c:1703
+#: cli/cli-cmds.c:1702
 msgid ""
 "Set working directory to DIR for debugger.\n"
 "The debugger's current working directory specifies where scripts and other\n"
@@ -5912,7 +5955,7 @@ msgid ""
 "way is to use the \"set cwd\" command."
 msgstr ""
 
-#: cli/cli-cmds.c:1711
+#: cli/cli-cmds.c:1710
 msgid ""
 "Print a constant string.  Give string as argument.\n"
 "C escape sequences may be used in the argument.\n"
@@ -5923,15 +5966,15 @@ msgid ""
 "to be printed or after trailing whitespace."
 msgstr ""
 
-#: cli/cli-cmds.c:1721
+#: cli/cli-cmds.c:1720
 msgid "Set mode for script filename extension recognition."
 msgstr ""
 
-#: cli/cli-cmds.c:1722
+#: cli/cli-cmds.c:1721
 msgid "Show mode for script filename extension recognition."
 msgstr ""
 
-#: cli/cli-cmds.c:1723
+#: cli/cli-cmds.c:1722
 msgid ""
 "off  == no filename extension recognition (all sourced files are GDB "
 "scripts)\n"
@@ -5941,7 +5984,7 @@ msgid ""
 "supported"
 msgstr ""
 
-#: cli/cli-cmds.c:1733
+#: cli/cli-cmds.c:1732
 msgid ""
 "Exit gdb.\n"
 "Usage: quit [EXPR]\n"
@@ -5949,113 +5992,113 @@ msgid ""
 "used as GDB's exit code.  The default is zero."
 msgstr ""
 
-#: cli/cli-cmds.c:1739
+#: cli/cli-cmds.c:1738
 msgid "Print list of commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1744
+#: cli/cli-cmds.c:1743
 msgid "Set verbosity."
 msgstr ""
 
-#: cli/cli-cmds.c:1745
+#: cli/cli-cmds.c:1744
 msgid "Show verbosity."
 msgstr ""
 
-#: cli/cli-cmds.c:1752
+#: cli/cli-cmds.c:1751
 msgid "Generic command for setting command history parameters."
 msgstr ""
 
-#: cli/cli-cmds.c:1755
+#: cli/cli-cmds.c:1754
 msgid "Generic command for showing command history parameters."
 msgstr ""
 
-#: cli/cli-cmds.c:1758
+#: cli/cli-cmds.c:1757
 msgid "Set history expansion on command input."
 msgstr ""
 
-#: cli/cli-cmds.c:1759
+#: cli/cli-cmds.c:1758
 msgid "Show history expansion on command input."
 msgstr ""
 
-#: cli/cli-cmds.c:1760
+#: cli/cli-cmds.c:1759
 msgid "Without an argument, history expansion is enabled."
 msgstr ""
 
-#: cli/cli-cmds.c:1766
+#: cli/cli-cmds.c:1765
 msgid "Generic command for showing things about the program being debugged."
 msgstr ""
 
-#: cli/cli-cmds.c:1773
+#: cli/cli-cmds.c:1772
 msgid "List the completions for the rest of the line as a command."
 msgstr ""
 
-#: cli/cli-cmds.c:1775
+#: cli/cli-cmds.c:1774
 msgid "Generic command for showing things about the debugger."
 msgstr ""
 
 #. Another way to get at the same thing.
-#: cli/cli-cmds.c:1779
+#: cli/cli-cmds.c:1778
 msgid "Show all GDB settings."
 msgstr ""
 
-#: cli/cli-cmds.c:1781
+#: cli/cli-cmds.c:1780
 msgid ""
 "Show the history of commands you typed.\n"
 "You can supply a command number to start with, or a `+' to start after\n"
 "the previous command number shown."
 msgstr ""
 
-#: cli/cli-cmds.c:1788
+#: cli/cli-cmds.c:1787
 msgid "Show what version of GDB this is."
 msgstr ""
 
-#: cli/cli-cmds.c:1791
+#: cli/cli-cmds.c:1790
 msgid "Show how GDB was configured at build time."
 msgstr ""
 
-#: cli/cli-cmds.c:1793
+#: cli/cli-cmds.c:1792
 msgid "Set debugging of remote protocol."
 msgstr ""
 
-#: cli/cli-cmds.c:1794
+#: cli/cli-cmds.c:1793
 msgid "Show debugging of remote protocol."
 msgstr ""
 
-#: cli/cli-cmds.c:1795
+#: cli/cli-cmds.c:1794
 msgid ""
 "When enabled, each packet sent or received with the remote target\n"
 "is displayed."
 msgstr ""
 
-#: cli/cli-cmds.c:1803
+#: cli/cli-cmds.c:1802
 msgid "Set timeout limit to wait for target to respond."
 msgstr ""
 
-#: cli/cli-cmds.c:1804
+#: cli/cli-cmds.c:1803
 msgid "Show timeout limit to wait for target to respond."
 msgstr ""
 
-#: cli/cli-cmds.c:1805
+#: cli/cli-cmds.c:1804
 msgid ""
 "This value is used to set the time limit for gdb to wait for a response\n"
 "from the target."
 msgstr ""
 
-#: cli/cli-cmds.c:1813
+#: cli/cli-cmds.c:1812
 msgid "Generic command for setting gdb debugging flags"
 msgstr ""
 
-#: cli/cli-cmds.c:1817
+#: cli/cli-cmds.c:1816
 msgid "Generic command for showing gdb debugging flags"
 msgstr ""
 
-#: cli/cli-cmds.c:1820
+#: cli/cli-cmds.c:1819
 msgid ""
 "Execute the rest of the line as a shell command.\n"
 "With no arguments, run an inferior shell."
 msgstr ""
 
-#: cli/cli-cmds.c:1825
+#: cli/cli-cmds.c:1824
 msgid ""
 "Edit specified file or function.\n"
 "With no argument, edits file containing most recent line listed.\n"
@@ -6067,7 +6110,7 @@ msgid ""
 "Uses EDITOR environment variable contents as editor (or ex as default)."
 msgstr ""
 
-#: cli/cli-cmds.c:1837
+#: cli/cli-cmds.c:1836
 msgid ""
 "List specified function or line.\n"
 "With no argument, lists ten more lines after or around previous listing.\n"
@@ -6088,7 +6131,7 @@ msgid ""
 "can be shown using \"show listsize\"."
 msgstr ""
 
-#: cli/cli-cmds.c:1861
+#: cli/cli-cmds.c:1860
 msgid ""
 "Disassemble a specified section of memory.\n"
 "Default is the function surrounding the pc of the selected frame.\n"
@@ -6118,42 +6161,42 @@ msgid ""
 "you must type \"disassemble 'foo.c'::bar\" and not \"disassemble foo.c:bar\"."
 msgstr ""
 
-#: cli/cli-cmds.c:1891
+#: cli/cli-cmds.c:1890
 msgid "Run the ``make'' program using the rest of the line as arguments."
 msgstr ""
 
-#: cli/cli-cmds.c:1894
+#: cli/cli-cmds.c:1893
 msgid ""
 "Show definitions of non-python/scheme user defined commands.\n"
 "Argument is the name of the user defined command.\n"
 "With no argument, show definitions of all user defined commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1899
+#: cli/cli-cmds.c:1898
 msgid "Search for commands matching a REGEXP"
 msgstr ""
 
-#: cli/cli-cmds.c:1902
+#: cli/cli-cmds.c:1901
 msgid "Set the max call depth for non-python/scheme user-defined commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1903
+#: cli/cli-cmds.c:1902
 msgid "Show the max call depth for non-python/scheme user-defined commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1909
+#: cli/cli-cmds.c:1908
 msgid "Set tracing of GDB CLI commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1910
+#: cli/cli-cmds.c:1909
 msgid "Show state of GDB CLI command tracing."
 msgstr ""
 
-#: cli/cli-cmds.c:1911
+#: cli/cli-cmds.c:1910
 msgid "When 'on', each command is displayed as it is executed."
 msgstr ""
 
-#: cli/cli-cmds.c:1917
+#: cli/cli-cmds.c:1916
 msgid ""
 "Define a new command that is an alias of an existing command.\n"
 "Usage: alias [-a] [--] ALIAS = COMMAND\n"
@@ -6169,7 +6212,7 @@ msgid ""
 "  alias -a set print elms = set print elements"
 msgstr ""
 
-#: cli/cli-cmds.c:1938
+#: cli/cli-cmds.c:1937
 #, possible-c-format
 msgid ""
 "Read commands from a file named FILE.\n"
@@ -6183,125 +6226,131 @@ msgid ""
 "when GDB is started."
 msgstr ""
 
-#: cli/cli-script.c:152
-msgid "if/while commands require arguments."
+#: cli/cli-script.c:144
+msgid "if command requires an argument."
 msgstr ""
 
-#: cli/cli-script.c:179
-msgid "Error reading in canned sequence of commands."
+#: cli/cli-script.c:146
+msgid "while command requires an argument."
 msgstr ""
 
-#: cli/cli-script.c:403
-msgid "Max user call depth exceeded -- command aborted."
+#: cli/cli-script.c:148
+msgid "define command requires an argument."
+msgstr ""
+
+#: cli/cli-script.c:169
+msgid "Error reading in canned sequence of commands."
 msgstr ""
 
-#: cli/cli-script.c:419
+#: cli/cli-script.c:396
 msgid "Error executing canned sequence of commands."
 msgstr ""
 
-#: cli/cli-script.c:642
+#: cli/cli-script.c:453
+msgid "Max user call depth exceeded -- command aborted."
+msgstr ""
+
+#: cli/cli-script.c:678
 msgid "Invalid control type in canned commands structure."
 msgstr ""
 
-#: cli/cli-script.c:827
+#: cli/cli-script.c:863
 #, possible-c-format
 msgid "Missing argument %ld in user function."
 msgstr ""
 
-#: cli/cli-script.c:880
+#: cli/cli-script.c:891
 msgid "Control nesting too deep!"
 msgstr ""
 
-#: cli/cli-script.c:1097
+#: cli/cli-script.c:1091
 msgid "Recursed on a simple control type."
 msgstr ""
 
-#: cli/cli-script.c:1100
-msgid "Allocated body is smaller than this command type needs."
-msgstr ""
-
-#: cli/cli-script.c:1375
+#: cli/cli-script.c:1320
 msgid "name of command to define"
 msgstr ""
 
-#: cli/cli-script.c:1396
+#: cli/cli-script.c:1341
 #, possible-c-format
 msgid "\"%s\" is not a prefix command."
 msgstr ""
 
-#: cli/cli-script.c:1406
+#: cli/cli-script.c:1351
 #, possible-c-format
 msgid "Junk in argument list: \"%s\""
 msgstr ""
 
-#: cli/cli-script.c:1454
+#: cli/cli-script.c:1404
 #, possible-c-format
 msgid "Redefine command \"%s\"? "
 msgstr ""
 
-#: cli/cli-script.c:1456
+#: cli/cli-script.c:1406
 #, possible-c-format
 msgid "Really redefine built-in command \"%s\"? "
 msgstr ""
 
-#: cli/cli-script.c:1458
+#: cli/cli-script.c:1408
 #, possible-c-format
 msgid "Command \"%s\" not redefined."
 msgstr ""
 
-#: cli/cli-script.c:1485
+#: cli/cli-script.c:1435
 #, possible-c-format
 msgid "Your new `%s' command does not hook any existing command."
 msgstr ""
 
-#: cli/cli-script.c:1488
+#: cli/cli-script.c:1438
 msgid "Proceed? "
 msgstr ""
 
 #. Should never come here as hookc would be 0.
-#: cli/cli-script.c:1524 common/common-exceptions.c:145
+#: cli/cli-script.c:1477 common/common-exceptions.c:145
 #: common/common-exceptions.c:161 common/common-exceptions.c:177
-#: 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:272 remote.c:1548
-#: remote.c:8247 remote.c:9534 utils.c:461 utils.c:489
+#: hppa-tdep.c:3138 hppa-tdep.c:3151 infcall.c:970 infcmd.c:1651
+#: language.c:466 mi/mi-out.c:213 mi/mi-out.c:233 mips-tdep.c:307
+#: mips-tdep.c:511 mips-tdep.c:2219 mips-tdep.c:5740 mips-tdep.c:6907
+#: mn10300-tdep.c:127 reggroups.c:272 remote.c:2110 remote.c:8707
+#: remote.c:9970 utils.c:432 utils.c:460
 msgid "bad switch"
 msgstr ""
 
-#: cli/cli-script.c:1544
+#: cli/cli-script.c:1502
 #, possible-c-format
 msgid "Command \"%s\" is built-in."
 msgstr ""
 
-#: cli/cli-script.c:1581
+#: cli/cli-script.c:1540
 msgid "called with NULL file pointer!"
 msgstr ""
 
-#: cli/cli-script.c:1599
+#: cli/cli-script.c:1558
 #, possible-c-format
 msgid ""
 "%s:%d: Error in sourced command file:\n"
 "%s"
 msgstr ""
 
-#: cli/cli-script.c:1637
+#: cli/cli-script.c:1596
 msgid ""
 "Document a user-defined command.\n"
 "Give command name as argument.  Give documentation on following lines.\n"
 "End with a line of just \"end\"."
 msgstr ""
 
-#: cli/cli-script.c:1641
+#: cli/cli-script.c:1600
 msgid ""
 "Define a new command name.  Command name is argument.\n"
 "Definition appears on following lines, one command per line.\n"
 "End with a line of just \"end\".\n"
 "Use the \"document\" command to give documentation for the new command.\n"
-"Commands defined in this way may have up to ten arguments."
+"Commands defined in this way may accept an unlimited number of arguments\n"
+"accessed via $arg0 .. $argN.  $argc tells how many arguments have\n"
+"been passed."
 msgstr ""
 
-#: cli/cli-script.c:1648
+#: cli/cli-script.c:1609
 msgid ""
 "Execute nested commands WHILE the conditional expression is non zero.\n"
 "The conditional expression must follow the word `while' and must in turn be\n"
@@ -6309,7 +6358,7 @@ msgid ""
 "and should be terminated by the word `end'."
 msgstr ""
 
-#: cli/cli-script.c:1654
+#: cli/cli-script.c:1615
 msgid ""
 "Execute nested commands once IF the conditional expression is non zero.\n"
 "The conditional expression must follow the word `if' and must in turn be\n"
@@ -6459,63 +6508,63 @@ msgstr ""
 msgid "Unknown section type for \"%s\" for entry \"%s\" in dll \"%s\"\n"
 msgstr ""
 
-#: coff-pe-read.c:187
+#: coff-pe-read.c:188
 #, possible-c-format
 msgid "Adding exported symbol \"%s\" in dll \"%s\"\n"
 msgstr ""
 
-#: coff-pe-read.c:236
+#: coff-pe-read.c:237
 #, possible-c-format
 msgid ""
 "Unable to find function \"%s\" in dll \"%s\", forward of \"%s\" in dll \"%s"
 "\"\n"
 msgstr ""
 
-#: coff-pe-read.c:244
+#: coff-pe-read.c:245
 #, possible-c-format
 msgid ""
 "Adding forwarded exported symbol \"%s\" in dll \"%s\", pointing to \"%s\"\n"
 msgstr ""
 
-#: coff-pe-read.c:438
+#: coff-pe-read.c:431
 #, possible-c-format
 msgid "Export RVA for dll \"%s\" is in section \"%s\"\n"
 msgstr ""
 
-#: coff-pe-read.c:443
+#: coff-pe-read.c:436
 #, possible-c-format
 msgid "Wrong value of export RVA for dll \"%s\": 0x%lx instead of 0x%lx\n"
 msgstr ""
 
-#: coff-pe-read.c:542
+#: coff-pe-read.c:529
 #, possible-c-format
 msgid "DLL \"%s\" has %ld export entries, base=%ld\n"
 msgstr ""
 
-#: coff-pe-read.c:615
+#: coff-pe-read.c:602
 #, possible-c-format
 msgid "Export name \"%s\" ord. %lu, RVA 0x%lx in dll \"%s\" not handled\n"
 msgstr ""
 
-#: coff-pe-read.c:622
+#: coff-pe-read.c:609
 #, possible-c-format
 msgid "Finished reading \"%s\", exports %ld, forwards %ld, total %ld/%ld.\n"
 msgstr ""
 
-#: coff-pe-read.c:698
+#: coff-pe-read.c:683
 #, possible-c-format
 msgid "Coff PE read debugging is %s.\n"
 msgstr ""
 
-#: coff-pe-read.c:708
+#: coff-pe-read.c:693
 msgid "Set coff PE read debugging."
 msgstr ""
 
-#: coff-pe-read.c:709
+#: coff-pe-read.c:694
 msgid "Show coff PE read debugging."
 msgstr ""
 
-#: coff-pe-read.c:710
+#: coff-pe-read.c:695
 msgid ""
 "When set, debugging messages for coff reading of exported symbols are "
 "displayed."
@@ -6538,78 +6587,80 @@ msgid ""
 "The file has a `.stabs' section, but no `.stabstr' section."
 msgstr ""
 
-#: coffread.c:903
+#: coffread.c:897
 #, possible-c-format
 msgid "Bad n_sclass for symbol %s"
 msgstr ""
 
-#: coffread.c:1071
+#: coffread.c:1066
 #, possible-c-format
 msgid "`.bf' symbol %d has no aux entry"
 msgstr ""
 
-#: coffread.c:1089
+#: coffread.c:1084
 msgid "Bad coff function information."
 msgstr ""
 
-#: coffread.c:1098
+#. We attempted to pop an empty context stack.
+#: coffread.c:1092
 #, possible-c-format
 msgid ""
 "`.ef' symbol without matching `.bf' symbol ignored starting at symnum %d"
 msgstr ""
 
-#: coffread.c:1110
+#: coffread.c:1103
 #, possible-c-format
 msgid "Unmatched .ef symbol(s) ignored starting at symnum %d"
 msgstr ""
 
-#: coffread.c:1119
+#: coffread.c:1111
 #, possible-c-format
 msgid "`.ef' symbol %d has no aux entry"
 msgstr ""
 
-#: coffread.c:1165
+#. We attempted to pop an empty context stack.
+#: coffread.c:1156
 #, possible-c-format
 msgid ""
 "`.eb' symbol without matching `.bb' symbol ignored starting at symnum %d"
 msgstr ""
 
-#: coffread.c:1175 xcoffread.c:200
+#: coffread.c:1165 xcoffread.c:197
 #, possible-c-format
 msgid "Mismatched .eb symbol ignored starting at symnum %d"
 msgstr ""
 
-#: coffread.c:1241 coffread.c:1248 coffread.c:1258
+#: coffread.c:1231 coffread.c:1238 coffread.c:1248
 #, possible-c-format
 msgid "%s: error reading symbols"
 msgstr ""
 
-#: coffread.c:1272
+#: coffread.c:1262
 #, c-format
 msgid "thumb symbol %s, class 0x%x\n"
 msgstr ""
 
-#: coffread.c:1398
+#: coffread.c:1388
 msgid "coff file name too long"
 msgstr ""
 
-#: coffread.c:1485
+#: coffread.c:1474
 #, possible-c-format
 msgid "Line number pointer %ld lower than start of line numbers"
 msgstr ""
 
-#: coffread.c:1882
+#: coffread.c:1870
 #, possible-c-format
 msgid "Symbol table entry for %s has bad tagndx value"
 msgstr ""
 
-#: coffread.c:2052
+#: coffread.c:2027
 #, possible-c-format
 msgid "Unexpected type for symbol %s"
 msgstr ""
 
-#: common/common-regcache.c:34 frame.c:1161 frame.c:1261 frame.c:1296
-#: regcache.c:656
+#: common/common-regcache.c:34 frame.c:1173 frame.c:1273 frame.c:1307
+#: regcache.c:607
 #, possible-c-format
 msgid "Register %d is not available"
 msgstr ""
@@ -6662,8 +6713,7 @@ msgstr ""
 msgid "Intel Processor Trace"
 msgstr ""
 
-#: common/btrace-common.c:41 common/btrace-common.c:61 nat/linux-btrace.c:657
-#: remote.c:13129
+#: common/btrace-common.c:41 common/btrace-common.c:61
 msgid "Unknown branch trace format"
 msgstr ""
 
@@ -6682,6 +6732,11 @@ msgstr ""
 msgid "Signal %s does not exist on this system."
 msgstr ""
 
+#: common/tdesc.c:306 common/tdesc.c:361
+#, possible-c-format
+msgid "xml output is not supported for type \"%s\"."
+msgstr ""
+
 #. Check that VALUE is true, and, if not, throw an exception.
 #: common/selftest.h:70
 #, possible-c-format
@@ -6700,6 +6755,24 @@ msgstr ""
 msgid "pipe not available on this host"
 msgstr ""
 
+#: common/gdb_string_view.h:187
+#, possible-c-format
+msgid ""
+"basic_string_view::at: __pos (which is %zu) >= this->size() (which is %zu)"
+msgstr ""
+
+#: common/gdb_string_view.h:257
+#, possible-c-format
+msgid ""
+"basic_string_view::copy: __pos (which is %zu) > this->size() (which is %zu)"
+msgstr ""
+
+#: common/gdb_string_view.h:277
+#, possible-c-format
+msgid ""
+"basic_string_view::substr: __pos (which is %zu) > this->size() (which is %zu)"
+msgstr ""
+
 #: common/common-utils.c:130
 msgid "vasprintf call failed"
 msgstr ""
@@ -6729,11 +6802,11 @@ msgstr ""
 msgid "Reply contains invalid hex digit %d"
 msgstr ""
 
-#: common/rsp-low.c:282
+#: common/rsp-low.c:289
 msgid "Received too much data from the target."
 msgstr ""
 
-#: common/rsp-low.c:296
+#: common/rsp-low.c:303
 msgid "Unmatched escape character in target response."
 msgstr ""
 
@@ -6752,39 +6825,39 @@ msgid "hex_string_custom: insufficient s
 msgstr ""
 
 #. ??? TODO: handle other escape sequences.
-#: common/format.c:79
+#: common/format.c:82
 #, possible-c-format
 msgid "Unrecognized escape character \\%c in format string."
 msgstr ""
 
-#: common/format.c:282
+#: common/format.c:285
 msgid "`*' not supported for precision or width in printf"
 msgstr ""
 
-#: common/format.c:285
+#: common/format.c:288
 msgid "Format specifier `n' not supported in printf"
 msgstr ""
 
-#: common/format.c:288
+#: common/format.c:291
 msgid "Incomplete format specifier at end of format string"
 msgstr ""
 
-#: common/format.c:291
+#: common/format.c:294
 #, possible-c-format
 msgid "Unrecognized format specifier '%c' in printf"
 msgstr ""
 
-#: common/format.c:295
+#: common/format.c:298
 #, possible-c-format
 msgid "Inappropriate modifiers to format specifier '%c' in printf"
 msgstr ""
 
-#: common/signals-state-save-restore.c:78
+#: common/signals-state-save-restore.c:77
 #, c-format
 msgid "warning: Found custom handler for signal %d (%s) preinstalled.\n"
 msgstr ""
 
-#: common/signals-state-save-restore.c:86
+#: common/signals-state-save-restore.c:85
 #, c-format
 msgid ""
 "Some signal dispositions inherited from the environment (SIG_DFL/SIG_IGN)\n"
@@ -6820,15 +6893,15 @@ msgid ""
 "current thread in compiled code."
 msgstr ""
 
-#: compile/compile-loc2c.c:874 dwarf2loc.c:3271
+#: compile/compile-loc2c.c:874 dwarf2loc.c:3269
 msgid "No block found for address"
 msgstr ""
 
-#: compile/compile-loc2c.c:879 dwarf2loc.c:3276
+#: compile/compile-loc2c.c:879 dwarf2loc.c:3274
 msgid "No function found for block"
 msgstr ""
 
-#: compile/compile-loc2c.c:956 dwarf2loc.c:3333
+#: compile/compile-loc2c.c:956 dwarf2loc.c:3331
 #, possible-c-format
 msgid "Unsupported size %d in %s"
 msgstr ""
@@ -6873,52 +6946,52 @@ msgstr ""
 msgid "Compile command GCC driver filename is \"%s\".\n"
 msgstr ""
 
-#: compile/compile.c:471
+#: compile/compile.c:487
 msgid "The program must be running for the compile command to work."
 msgstr ""
 
-#: compile/compile.c:479
+#: compile/compile.c:495
 #, possible-c-format
 msgid "No compiler support for language %s."
 msgstr ""
 
-#: compile/compile.c:510
+#: compile/compile.c:526
 msgid "Neither a simple expression, or a multi-line specified."
 msgstr ""
 
-#: compile/compile.c:524
+#: compile/compile.c:540
 msgid ""
 "Command 'set compile-gcc' requires GCC version 6 or higher (libcc1 interface "
 "version 1 or higher)"
 msgstr ""
 
-#: compile/compile.c:575
+#: compile/compile.c:591
 msgid "Could not open source file for writing"
 msgstr ""
 
-#: compile/compile.c:580
+#: compile/compile.c:596
 msgid "Could not write to source file"
 msgstr ""
 
-#: compile/compile.c:596
+#: compile/compile.c:612
 msgid "Compilation failed."
 msgstr ""
 
-#: compile/compile.c:668
+#: compile/compile.c:684
 #, possible-c-format
 msgid "Invalid register name \"%s\"."
 msgstr ""
 
-#: compile/compile.c:675
+#: compile/compile.c:691
 #, possible-c-format
 msgid "Cannot find gdbarch register \"%s\"."
 msgstr ""
 
-#: compile/compile.c:684
+#: compile/compile.c:700
 msgid "Command to compile source code and inject it into the inferior."
 msgstr ""
 
-#: compile/compile.c:690
+#: compile/compile.c:706
 msgid ""
 "Compile, inject, and execute code.\n"
 "\n"
@@ -6937,7 +7010,7 @@ msgid ""
 "indicate the end of the expression."
 msgstr ""
 
-#: compile/compile.c:709
+#: compile/compile.c:725
 msgid ""
 "Evaluate a file containing source code.\n"
 "\n"
@@ -6945,7 +7018,7 @@ msgid ""
 "-r|-raw: Suppress automatic 'void _gdb_expr () { CODE }' wrapping."
 msgstr ""
 
-#: compile/compile.c:718
+#: compile/compile.c:734
 msgid ""
 "Evaluate EXPR by using the compiler and print result.\n"
 "\n"
@@ -6964,48 +7037,48 @@ msgid ""
 "but no count or size letter (see \"x\" command)."
 msgstr ""
 
-#: compile/compile.c:736
+#: compile/compile.c:752
 msgid "Set compile command debugging."
 msgstr ""
 
-#: compile/compile.c:737
+#: compile/compile.c:753
 msgid "Show compile command debugging."
 msgstr ""
 
-#: compile/compile.c:738
+#: compile/compile.c:754
 msgid "When on, compile command debugging is enabled."
 msgstr ""
 
-#: compile/compile.c:745
+#: compile/compile.c:761
 msgid "Set compile command GCC command-line arguments"
 msgstr ""
 
-#: compile/compile.c:746
+#: compile/compile.c:762
 msgid "Show compile command GCC command-line arguments"
 msgstr ""
 
-#: compile/compile.c:747
+#: compile/compile.c:763
 msgid ""
 "Use options like -I (include file directory) or ABI settings.\n"
 "String quoting is parsed like in shell, for example:\n"
 "  -mno-align-double \"-I/dir with a space/include\""
 msgstr ""
 
-#: compile/compile.c:774
+#: compile/compile.c:790
 msgid "Set compile command GCC driver filename"
 msgstr ""
 
-#: compile/compile.c:776
+#: compile/compile.c:792
 msgid "Show compile command GCC driver filename"
 msgstr ""
 
-#: compile/compile.c:778
+#: compile/compile.c:794
 msgid ""
 "It should be absolute filename of the gcc executable.\n"
 "If empty the default target triplet will be searched in $PATH."
 msgstr ""
 
-#: compile/compile-c-symbols.c:121 utils.c:705
+#: compile/compile-c-symbols.c:121 utils.c:676
 #, possible-c-format
 msgid "%s"
 msgstr ""
@@ -7042,177 +7115,177 @@ msgstr ""
 msgid "LOC_COMPUTED variable missing a method."
 msgstr ""
 
-#: compile/compile-object-load.c:169
+#: compile/compile-object-load.c:170
 #, possible-c-format
 msgid "Inferior compiled module address %s is not aligned to BFD required %s."
 msgstr ""
 
-#: compile/compile-object-load.c:211
+#: compile/compile-object-load.c:212
 #, possible-c-format
 msgid "Compiled module \"%s\": multiple symbol definitions: %s"
 msgstr ""
 
-#: compile/compile-object-load.c:222
+#: compile/compile-object-load.c:223
 #, possible-c-format
 msgid "Compiled module \"%s\" section \"%s\": warning: %s"
 msgstr ""
 
-#: compile/compile-object-load.c:234
+#: compile/compile-object-load.c:235
 #, possible-c-format
 msgid ""
 "Cannot resolve relocation to \"%s\" from compiled module \"%s\" section \"%s"
 "\"."
 msgstr ""
 
-#: compile/compile-object-load.c:257
+#: compile/compile-object-load.c:258
 #, possible-c-format
 msgid "Compiled module \"%s\" section \"%s\": dangerous relocation: %s\n"
 msgstr ""
 
-#: compile/compile-object-load.c:270
+#: compile/compile-object-load.c:271
 #, possible-c-format
 msgid "Compiled module \"%s\" section \"%s\": unattached relocation: %s\n"
 msgstr ""
 
-#: compile/compile-object-load.c:290
+#: compile/compile-object-load.c:291
 #, possible-c-format
 msgid "Compile module: warning: %s"
 msgstr ""
 
-#: compile/compile-object-load.c:386
+#: compile/compile-object-load.c:387
 #, possible-c-format
 msgid "Cannot map compiled module \"%s\" section \"%s\": %s"
 msgstr ""
 
-#: compile/compile-object-load.c:394
+#: compile/compile-object-load.c:395
 #, possible-c-format
 msgid ""
 "Cannot write compiled module \"%s\" section \"%s\" to inferior memory range %"
 "s-%s."
 msgstr ""
 
-#: compile/compile-object-load.c:466 compile/compile-object-load.c:475
+#: compile/compile-object-load.c:467 compile/compile-object-load.c:476
 #, possible-c-format
 msgid "No \"%s\" symbol found"
 msgstr ""
 
-#: compile/compile-object-load.c:479
+#: compile/compile-object-load.c:480
 #, possible-c-format
 msgid "Type of \"%s\" is not a pointer"
 msgstr ""
 
-#: compile/compile-object-load.c:485
+#: compile/compile-object-load.c:486
 #, possible-c-format
 msgid "Expected address scope in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:491 compile/compile-object-load.c:505
+#: compile/compile-object-load.c:492 compile/compile-object-load.c:506
 #, possible-c-format
 msgid "Invalid type code %d of symbol \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:512
+#: compile/compile-object-load.c:513
 #, possible-c-format
 msgid ""
 "Referenced types do not match for symbols \"%s\" and \"%s\" in compiled "
 "module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:536
+#: compile/compile-object-load.c:537
 #, possible-c-format
 msgid ""
 "Invalid type code %d of first parameter of function \"%s\" in compiled "
 "module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:543
+#: compile/compile-object-load.c:544
 #, possible-c-format
 msgid ""
 "Invalid type code %d of dereferenced first parameter of function \"%s\" in "
 "compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:578
+#: compile/compile-object-load.c:580
 #, possible-c-format
 msgid "Invalid register \"%s\" position %s bits or size %s bits"
 msgstr ""
 
-#: compile/compile-object-load.c:584
+#: compile/compile-object-load.c:586
 #, possible-c-format
 msgid "Invalid register \"%s\" type code %d"
 msgstr ""
 
-#: compile/compile-object-load.c:591
+#: compile/compile-object-load.c:593
 #, possible-c-format
 msgid "Register \"%s\" is optimized out."
 msgstr ""
 
-#: compile/compile-object-load.c:593
+#: compile/compile-object-load.c:595
 #, possible-c-format
 msgid "Register \"%s\" is not available."
 msgstr ""
 
-#: compile/compile-object-load.c:598
+#: compile/compile-object-load.c:600
 #, possible-c-format
 msgid "Cannot write register \"%s\" to inferior memory at %s."
 msgstr ""
 
-#: compile/compile-object-load.c:635
+#: compile/compile-object-load.c:637
 #, possible-c-format
 msgid "\"%s\": could not open as compiled module: %s"
 msgstr ""
 
-#: compile/compile-object-load.c:639
+#: compile/compile-object-load.c:641
 #, possible-c-format
 msgid "\"%s\": not in loadable format: %s"
 msgstr ""
 
-#: compile/compile-object-load.c:643
+#: compile/compile-object-load.c:645
 #, possible-c-format
 msgid "\"%s\": not in object format."
 msgstr ""
 
-#: compile/compile-object-load.c:656
+#: compile/compile-object-load.c:658
 #, possible-c-format
 msgid "Cannot read symbols of compiled module \"%s\": %s"
 msgstr ""
 
-#: compile/compile-object-load.c:670
+#: compile/compile-object-load.c:672
 #, possible-c-format
 msgid "Cannot find function \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:674
+#: compile/compile-object-load.c:676
 #, possible-c-format
 msgid "Invalid type code %d of function \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:695
+#: compile/compile-object-load.c:697
 #, possible-c-format
 msgid "invalid scope %d"
 msgstr ""
 
-#: compile/compile-object-load.c:698
+#: compile/compile-object-load.c:700
 #, possible-c-format
 msgid "Invalid %d parameters of function \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:703
+#: compile/compile-object-load.c:705
 #, possible-c-format
 msgid "Invalid return type of function \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:714
+#: compile/compile-object-load.c:716
 #, possible-c-format
 msgid "Cannot parse symbols of compiled module \"%s\": %s"
 msgstr ""
 
-#: compile/compile-object-load.c:762
+#: compile/compile-object-load.c:764
 #, possible-c-format
 msgid "Could not find symbol \"%s\" for compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:769
+#: compile/compile-object-load.c:771
 #, possible-c-format
 msgid "%ld symbols were missing, cannot continue."
 msgstr ""
@@ -7256,44 +7329,44 @@ msgstr ""
 msgid "function has unknown return type; assuming int"
 msgstr ""
 
-#: compile/compile-c-types.c:398
+#: compile/compile-c-types.c:416
 msgid "variable has unknown type; assuming int"
 msgstr ""
 
-#: compile/compile-c-types.c:404
+#: compile/compile-c-types.c:422
 msgid "cannot convert gdb type to gcc type"
 msgstr ""
 
-#: complaints.c:312
+#: complaints.c:109
 #, possible-c-format
 msgid "Max number of complaints about incorrect symbols is %s.\n"
 msgstr ""
 
-#: complaints.c:321
+#: complaints.c:118
 msgid "Set max number of complaints about incorrect symbols."
 msgstr ""
 
-#: complaints.c:322
+#: complaints.c:119
 msgid "Show max number of complaints about incorrect symbols."
 msgstr ""
 
-#: completer.c:1555
+#: completer.c:1549
 msgid "Max completions reached."
 msgstr ""
 
-#: completer.c:2289
+#: completer.c:2283
 msgid "*** List may be truncated, max-completions reached. ***"
 msgstr ""
 
-#: completer.c:2870
+#: completer.c:2864
 msgid "Set maximum number of completion candidates."
 msgstr ""
 
-#: completer.c:2871
+#: completer.c:2865
 msgid "Show maximum number of completion candidates."
 msgstr ""
 
-#: completer.c:2872
+#: completer.c:2866
 msgid ""
 "Use this to limit the number of candidates considered\n"
 "during completion.  Specifying \"unlimited\" or -1\n"
@@ -7309,15 +7382,15 @@ msgstr ""
 msgid "Various kinds of warranty you do not have."
 msgstr ""
 
-#: corefile.c:158
+#: corefile.c:135
 msgid "core file may not match specified executable file."
 msgstr ""
 
-#: corefile.c:160
+#: corefile.c:137
 msgid "exec file is newer than core file."
 msgstr ""
 
-#: corefile.c:174
+#: corefile.c:151
 msgid ""
 "No executable file specified.\n"
 "Use the \"file\" or \"exec-file\" command."
@@ -7325,55 +7398,73 @@ msgstr ""
 
 #. Actually, address between memaddr and memaddr + len was out of
 #. bounds.
-#: corefile.c:189
+#: corefile.c:166
 #, possible-c-format
 msgid "Cannot access memory at address %s"
 msgstr ""
 
-#: corefile.c:192
+#: corefile.c:169
 #, possible-c-format
 msgid "Memory at address %s unavailable."
 msgstr ""
 
-#: corefile.c:452
+#: corefile.c:428
 #, possible-c-format
 msgid "The current BFD target is \"%s\".\n"
 msgstr ""
 
-#: corefile.c:510
+#: corefile.c:486
 msgid ""
 "Use FILE as core dump for examining memory and registers.\n"
+"Usage: core-file FILE\n"
 "No arg means have no core file.  This command has been superseded by the\n"
 "`target core' and `detach' commands."
 msgstr ""
 
-#: corefile.c:518
+#: corefile.c:495
 msgid "Set the current BFD target."
 msgstr ""
 
-#: corefile.c:519
+#: corefile.c:496
 msgid "Show the current BFD target."
 msgstr ""
 
-#: corefile.c:520
+#: corefile.c:497
 msgid "Use `set gnutarget auto' to specify automatic detection."
 msgstr ""
 
-#: corelow.c:147
+#: corelow.c:60
+msgid "Local core dump file"
+msgstr ""
+
+#: corelow.c:61
+msgid "Use a core file as a target.  Specify the filename of the core file."
+msgstr ""
+
+#: corelow.c:146 record-full.c:935
+#, possible-c-format
+msgid "\"%s\": Can't find sections: %s"
+msgstr ""
+
+#: corelow.c:219
 #, possible-c-format
 msgid "\"%s\": ambiguous core format, %d handlers match"
 msgstr ""
 
-#: corelow.c:151
+#: corelow.c:223
 #, possible-c-format
 msgid "\"%s\": no core file handler recognizes format"
 msgstr ""
 
-#: corelow.c:282
+#: corelow.c:330
+msgid "No core file now.\n"
+msgstr ""
+
+#: corelow.c:369
 msgid "No core file specified.  (Use `detach' to stop debugging a core file.)"
 msgstr ""
 
-#: corelow.c:285
+#: corelow.c:372
 msgid "No core file specified."
 msgstr ""
 
@@ -7381,71 +7472,53 @@ msgstr ""
 #. FIXME: should be checking for errors from bfd_close (for one
 #. thing, on error it does not free all the storage associated
 #. with the bfd).
-#: corelow.c:315
+#: corelow.c:402
 #, possible-c-format
 msgid "\"%s\" is not a core dump: %s"
 msgstr ""
 
-#: corelow.c:339 record-full.c:794
-#, possible-c-format
-msgid "\"%s\": Can't find sections: %s"
-msgstr ""
-
-#: corelow.c:413
+#: corelow.c:486
 #, possible-c-format
 msgid "Core was generated by `%s'.\n"
 msgstr ""
 
-#: corelow.c:433
+#: corelow.c:508
 #, possible-c-format
 msgid "Program terminated with signal %s, %s.\n"
 msgstr ""
 
-#: corelow.c:470 guile/scm-utils.c:512
-msgid "Too many arguments"
-msgstr ""
-
-#: corelow.c:474
-msgid "No core file now.\n"
-msgstr ""
-
-#: corelow.c:515
+#: corelow.c:590
 #, possible-c-format
 msgid "Couldn't find %s registers in core file."
 msgstr ""
 
-#: corelow.c:523
+#: corelow.c:598
 #, possible-c-format
 msgid "Section `%s' in core file too small."
 msgstr ""
 
-#: corelow.c:529
+#: corelow.c:604
 #, possible-c-format
 msgid "Unexpected size of section `%s' in core file."
 msgstr ""
 
-#: corelow.c:537
+#: corelow.c:612
 #, possible-c-format
 msgid "Couldn't read %s registers from `%s' section in core file."
 msgstr ""
 
-#: corelow.c:700
+#: corelow.c:785
 msgid "Couldn't read NT_AUXV note in core file."
 msgstr ""
 
-#: corelow.c:735
+#: corelow.c:820
 msgid "Couldn't read StackGhost cookie in core file."
 msgstr ""
 
-#: corelow.c:815
+#: corelow.c:900
 msgid "Couldn't read SPU section in core file."
 msgstr ""
 
-#: corelow.c:1032
-#, possible-c-format
-msgid "init_core_ops: core target already exists (\"%s\")."
-msgstr ""
-
 #: cp-abi.c:39
 msgid "ABI doesn't define required function is_constructor_name"
 msgstr ""
@@ -7514,25 +7587,25 @@ msgstr ""
 msgid "Show the ABI used for inspecting C++ objects."
 msgstr ""
 
-#: cp-name-parser.y:1605
+#: cp-name-parser.y:1571
 msgid "empty character constant"
 msgstr ""
 
-#: cp-name-parser.y:1612
+#: cp-name-parser.y:1578
 msgid "invalid character constant"
 msgstr ""
 
-#: cp-name-parser.y:1736
+#: cp-name-parser.y:1705
 msgid "invalid number"
 msgstr ""
 
 #. These can't occur in C++ names.
-#: cp-name-parser.y:1812
+#: cp-name-parser.y:1781
 msgid "unexpected string literal"
 msgstr ""
 
 #. We must have come across a bad character (e.g. ';').
-#: cp-name-parser.y:1819
+#: cp-name-parser.y:1788
 msgid "invalid character"
 msgstr ""
 
@@ -7553,12 +7626,12 @@ msgstr ""
 msgid "internal error: string \"%s\" failed to be canonicalized"
 msgstr ""
 
-#: cp-support.c:1451
+#: cp-support.c:1450
 #, possible-c-format
 msgid "RTTI symbol not found for class '%s'"
 msgstr ""
 
-#: cp-support.c:1457
+#: cp-support.c:1456
 #, possible-c-format
 msgid "RTTI symbol for class '%s' is not a type"
 msgstr ""
@@ -7567,48 +7640,48 @@ msgstr ""
 #. symbols for namespaces with the same name as the struct.
 #. This warning is an indication of a bug in the lookup order
 #. or a bug in the way that the symbol tables are populated.
-#: cp-support.c:1472
+#: cp-support.c:1471
 #, possible-c-format
 msgid "RTTI symbol for class '%s' is a namespace"
 msgstr ""
 
-#: cp-support.c:1475
+#: cp-support.c:1474
 #, possible-c-format
 msgid "RTTI symbol for class '%s' has bad type"
 msgstr ""
 
-#: cp-support.c:1577
+#: cp-support.c:1576
 #, possible-c-format
 msgid "unable to demangle '%s' (demangler failed with signal %d)"
 msgstr ""
 
-#: cp-support.c:1591
+#: cp-support.c:1590
 #, possible-c-format
 msgid ""
 "%s\n"
 "Attempting to dump core.\n"
 msgstr ""
 
-#: cp-support.c:2030
+#: cp-support.c:2029
 #, possible-c-format
 msgid ""
 "%s:%d: make-paramless self-test failed: (completion=%d) \"%s\" -> %s, "
 "expected %s"
 msgstr ""
 
-#: cp-support.c:2125
+#: cp-support.c:2124
 msgid "\"maintenance cplus\" must be followed by the name of a command.\n"
 msgstr ""
 
-#: cp-support.c:2170
+#: cp-support.c:2169
 msgid "C++ maintenance commands."
 msgstr ""
 
-#: cp-support.c:2181
+#: cp-support.c:2180
 msgid "Print the first class/namespace component of NAME."
 msgstr ""
 
-#: cp-support.c:2185
+#: cp-support.c:2184
 msgid ""
 "Show the virtual function table for a C++ object.\n"
 "Usage: info vtbl EXPRESSION\n"
@@ -7616,15 +7689,15 @@ msgid ""
 "resulting object."
 msgstr ""
 
-#: cp-support.c:2192
+#: cp-support.c:2191
 msgid "Set whether to attempt to catch demangler crashes."
 msgstr ""
 
-#: cp-support.c:2193
+#: cp-support.c:2192
 msgid "Show whether to attempt to catch demangler crashes."
 msgstr ""
 
-#: cp-support.c:2194
+#: cp-support.c:2193
 msgid ""
 "If enabled GDB will attempt to catch demangler crashes and\n"
 "display the offending symbol."
@@ -7645,7 +7718,7 @@ msgstr ""
 msgid "Printing of C++ static members is %s.\n"
 msgstr ""
 
-#: cp-valprint.c:294 p-valprint.c:634 valprint.c:336
+#: cp-valprint.c:294 p-valprint.c:634 valprint.c:333
 msgid "<synthetic pointer>"
 msgstr ""
 
@@ -7746,133 +7819,143 @@ msgstr ""
 msgid "cris_gdbarch_update: failed to update architecture."
 msgstr ""
 
-#: ctf.c:115
+#: ctf.c:39
+msgid "CTF file"
+msgstr ""
+
+#: ctf.c:40
+msgid ""
+"(Use a CTF directory as a target.\n"
+"Specify the filename of the CTF directory."
+msgstr ""
+
+#: ctf.c:145
 #, possible-c-format
 msgid "Unable to write metadata file (%s)"
 msgstr ""
 
-#: ctf.c:128
+#: ctf.c:158
 #, possible-c-format
 msgid "Unable to write file for saving trace data (%s)"
 msgstr ""
 
-#: ctf.c:160
+#: ctf.c:190
 #, possible-c-format
 msgid "Unable to seek file for saving trace data (%s)"
 msgstr ""
 
-#: ctf.c:320
+#: ctf.c:350
 #, possible-c-format
 msgid "Unable to open directory '%s' for saving trace data (%s)"
 msgstr ""
 
-#: ctf.c:329 ctf.c:337 tracefile-tfile.c:94
+#: ctf.c:359 ctf.c:367 tracefile-tfile.c:126
 #, possible-c-format
 msgid "Unable to open file '%s' for saving trace data (%s)"
 msgstr ""
 
-#: ctf.c:861
+#: ctf.c:889
 msgid "Unable to create bt_context"
 msgstr ""
 
-#: ctf.c:866
+#: ctf.c:894
 #, possible-c-format
 msgid "Unable to use libbabeltrace on directory \"%s\""
 msgstr ""
 
-#: ctf.c:875
+#: ctf.c:903
 msgid "Unable to create bt_iterator"
 msgstr ""
 
-#: ctf.c:1089
+#: ctf.c:1117
 msgid "No CTF directory specified."
 msgstr ""
 
-#: ctf.c:1101
+#: ctf.c:1129
 msgid "Wrong event id of the first event"
 msgstr ""
 
-#: ctf.c:1108
+#: ctf.c:1136
 msgid "Wrong event id of the second event"
 msgstr ""
 
-#: ctf.c:1125
+#: ctf.c:1153
 msgid "Wrong event id of the first event of the second packet"
 msgstr ""
 
-#: ctf.c:1274
+#: ctf.c:1298
 msgid "ctf_xfer_partial: trace file is read-only"
 msgstr ""
 
-#: ctf.c:1593 tracefile-tfile.c:728
+#: ctf.c:1616 tracefile-tfile.c:754
 msgid "unknown tfind type"
 msgstr ""
 
-#: ctf.c:1673
+#: ctf.c:1696
 #, possible-c-format
 msgid "Unhandled trace block type (%s) while building trace frame info."
 msgstr ""
 
-#: c-typeprint.c:439
+#: c-typeprint.c:466
 msgid "type not handled in c_type_print_varspec_prefix()"
 msgstr ""
 
-#: c-typeprint.c:815
+#: c-typeprint.c:842
 msgid "type not handled in c_type_print_varspec_suffix()"
 msgstr ""
 
-#: c-typeprint.c:852
+#: c-typeprint.c:879
 #, possible-c-format
 msgid "[with %s = "
 msgstr ""
 
-#: c-typeprint.c:867
+#: c-typeprint.c:894
 msgid "] "
 msgstr ""
 
-#: c-typeprint.c:1187 c-typeprint.c:1696
+#: c-typeprint.c:1115 c-typeprint.c:1621
 msgid "<incomplete type>\n"
 msgstr ""
 
-#: c-typeprint.c:1190 c-typeprint.c:1699
+#: c-typeprint.c:1118 c-typeprint.c:1624
 msgid "<no data fields>\n"
 msgstr ""
 
-#: c-typeprint.c:1361
+#: c-typeprint.c:1276
 #, possible-c-format
 msgid "<undefined type> %s;\n"
 msgstr ""
 
-#: c-typeprint.c:1409
+#: c-typeprint.c:1325
 #, possible-c-format
 msgid "<badly mangled name '%s'>"
 msgstr ""
 
-#: c-typeprint.c:1556 m2-typeprint.c:84
+#: c-typeprint.c:1464 m2-typeprint.c:84
 msgid "<type unknown>"
 msgstr ""
 
-#: c-typeprint.c:1584
+#: c-typeprint.c:1510
 msgid "<unnamed typedef>"
 msgstr ""
 
-#: c-typeprint.c:1733
+#: c-typeprint.c:1658
 msgid "struct <unknown>"
 msgstr ""
 
 #. This should not occur.
-#: c-typeprint.c:1742
+#: c-typeprint.c:1667
 msgid "<range type>"
 msgstr ""
 
 #. At least for dump_symtab, it is important that this not
 #. be an error ().
-#: c-typeprint.c:1764
+#: c-typeprint.c:1689
 #, possible-c-format
 msgid "<invalid type code %d>"
 msgstr ""
 
-#: c-valprint.c:256 valprint.c:425
+#: c-valprint.c:256 valprint.c:422
 msgid "Could not determine the array high bound"
 msgstr ""
 
@@ -7894,214 +7977,214 @@ msgstr ""
 msgid "<anonymous union>"
 msgstr ""
 
-#: darwin-nat.c:193
+#: darwin-nat.c:166
 #, possible-c-format
 msgid "[%d inferior]: "
 msgstr ""
 
-#: darwin-nat.c:205
+#: darwin-nat.c:178
 msgid "[UNKNOWN]"
 msgstr ""
 
-#: darwin-nat.c:207
+#: darwin-nat.c:180
 #, possible-c-format
 msgid "Mach error at \"%s:%u\" in function \"%s\": %s (0x%lx)"
 msgstr ""
 
-#: darwin-nat.c:239
+#: darwin-nat.c:212
 #, c-format
 msgid "unknown (%d)"
 msgstr ""
 
-#: darwin-nat.c:264
+#: darwin-nat.c:237
 #, possible-c-format
 msgid "ptrace (%s, %d, 0x%lx, %d): %d (%s)\n"
 msgstr ""
 
-#: darwin-nat.c:266
+#: darwin-nat.c:239
 msgid "no error"
 msgstr ""
 
-#: darwin-nat.c:339
+#: darwin-nat.c:312
 #, possible-c-format
 msgid " new_ix:%d/%d, old_ix:%d/%d, new_id:0x%x old_id:0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:496
+#: darwin-nat.c:471
 msgid "message header:\n"
 msgstr ""
 
-#: darwin-nat.c:497
+#: darwin-nat.c:472
 #, possible-c-format
 msgid " bits: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:498
+#: darwin-nat.c:473
 #, possible-c-format
 msgid " size: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:499
+#: darwin-nat.c:474
 #, possible-c-format
 msgid " remote-port: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:500
+#: darwin-nat.c:475
 #, possible-c-format
 msgid " local-port: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:501
+#: darwin-nat.c:476
 #, possible-c-format
 msgid " reserved: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:502
+#: darwin-nat.c:477
 #, possible-c-format
 msgid " id: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:521
+#: darwin-nat.c:496
 #, possible-c-format
 msgid "body: descriptor_count=%u\n"
 msgstr ""
 
-#: darwin-nat.c:530
+#: darwin-nat.c:505
 #, possible-c-format
 msgid " descr %d: type=%u (port) name=0x%x, dispo=%d\n"
 msgstr ""
 
-#: darwin-nat.c:534
+#: darwin-nat.c:509
 #, possible-c-format
 msgid " descr %d: type=%u\n"
 msgstr ""
 
-#: darwin-nat.c:544
+#: darwin-nat.c:519
 #, possible-c-format
 msgid "NDR: mig=%02x if=%02x encod=%02x int=%02x char=%02x float=%02x\n"
 msgstr ""
 
-#: darwin-nat.c:552
+#: darwin-nat.c:527
 msgid "  data:"
 msgstr ""
 
-#: darwin-nat.c:706
+#: darwin-nat.c:681
 #, possible-c-format
 msgid "darwin_decode_exception_message: unknown task 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:845
+#: darwin-nat.c:820
 #, possible-c-format
 msgid "darwin_resume_thread: state=%d, thread=0x%x, step=%d nsignal=%d\n"
 msgstr ""
 
-#: darwin-nat.c:858
+#: darwin-nat.c:833
 #, possible-c-format
 msgid "ptrace THUP: res=%d\n"
 msgstr ""
 
-#: darwin-nat.c:865
+#: darwin-nat.c:840
 #, possible-c-format
 msgid "darwin_resume_thread: kill 0x%x %d: %d\n"
 msgstr ""
 
 #. Set or reset single step.
-#: darwin-nat.c:871
+#: darwin-nat.c:846
 #, possible-c-format
 msgid "darwin_set_sstep (thread=0x%x, enable=%d)\n"
 msgstr ""
 
-#: darwin-nat.c:957
+#: darwin-nat.c:932
 #, possible-c-format
 msgid "darwin_resume: pid=%d, tid=0x%lx, step=%d, signal=%d\n"
 msgstr ""
 
-#: darwin-nat.c:1038
+#: darwin-nat.c:1006
 #, possible-c-format
 msgid "darwin_wait: ill-formatted message (id=0x%x)\n"
 msgstr ""
 
-#: darwin-nat.c:1058
+#: darwin-nat.c:1026
 #, possible-c-format
 msgid "darwin_wait: thread=0x%x, got %s\n"
 msgstr ""
 
-#: darwin-nat.c:1081
+#: darwin-nat.c:1049
 #, possible-c-format
 msgid "  (signal %d: %s)\n"
 msgstr ""
 
-#: darwin-nat.c:1122
+#: darwin-nat.c:1090
 #, possible-c-format
 msgid "darwin_wait: ill-formatted message (id=0x%x, res=%d)\n"
 msgstr ""
 
-#: darwin-nat.c:1147
+#: darwin-nat.c:1115
 #, possible-c-format
 msgid "wait4: res=%d: %s\n"
 msgstr ""
 
-#: darwin-nat.c:1163
+#: darwin-nat.c:1131
 #, possible-c-format
 msgid "darwin_wait: pid=%d exit, status=0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:1174
+#: darwin-nat.c:1142
 #, possible-c-format
 msgid "darwin_wait: pid=%d\n"
 msgstr ""
 
 #. Unknown message.
-#: darwin-nat.c:1183
+#: darwin-nat.c:1151
 #, possible-c-format
 msgid "darwin: got unknown message, id: 0x%x"
 msgstr ""
 
-#: darwin-nat.c:1233
+#: darwin-nat.c:1201
 #, possible-c-format
 msgid "darwin_wait: waiting for a message pid=%d thread=%lx\n"
 msgstr ""
 
-#: darwin-nat.c:1269
+#: darwin-nat.c:1237
 #, possible-c-format
 msgid "mach_msg: ret=0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:1306
+#: darwin-nat.c:1274
 #, possible-c-format
 msgid "darwin_wait: mach_msg(pending) ret=0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:1328
+#: darwin-nat.c:1296
 #, possible-c-format
 msgid "darwin_wait: thread 0x%x hit a non-gdb breakpoint\n"
 msgstr ""
 
-#: darwin-nat.c:1332
+#: darwin-nat.c:1300
 msgid "darwin_wait: unhandled pending message\n"
 msgstr ""
 
-#: darwin-nat.c:1453
+#: darwin-nat.c:1421
 #, possible-c-format
 msgid "cannot kill: %s"
 msgstr ""
 
-#: darwin-nat.c:1524
+#: darwin-nat.c:1492
 #, possible-c-format
 msgid "Unable to save exception ports, task_get_exception_portsreturned: %d"
 msgstr ""
 
-#: darwin-nat.c:1536
+#: darwin-nat.c:1504
 #, possible-c-format
 msgid "Unable to set exception ports, task_set_exception_portsreturned: %d"
 msgstr ""
 
-#: darwin-nat.c:1571
+#: darwin-nat.c:1539
 #, possible-c-format
 msgid "Failed to kill inferior: kill (%d, 9) returned [%s]"
 msgstr ""
 
-#: darwin-nat.c:1590
+#: darwin-nat.c:1558
 #, possible-c-format
 msgid ""
 "Termination notification request failed, mach_port_request_notification\n"
@@ -8111,172 +8194,172 @@ msgstr ""
 #. This is unexpected, as there should not be any previously
 #. registered notification request.  But this is not a fatal
 #. issue, so just emit a warning.
-#: darwin-nat.c:1599
+#: darwin-nat.c:1567
 msgid ""
 "A task termination request was registered before the debugger registered\n"
 "its own.  This is unexpected, but should otherwise not have any actual\n"
 "impact on the debugging session."
 msgstr ""
 
-#: darwin-nat.c:1629
+#: darwin-nat.c:1600
 #, possible-c-format
 msgid ""
 "Unable to find Mach task port for process-id %d: %s (0x%lx).\n"
 " (please check gdb is codesigned - see taskgated(8))"
 msgstr ""
 
-#: darwin-nat.c:1634
+#: darwin-nat.c:1605
 #, possible-c-format
 msgid "inferior task: 0x%x, pid: %d\n"
 msgstr ""
 
-#: darwin-nat.c:1643
+#: darwin-nat.c:1614
 #, possible-c-format
 msgid "Unable to create exception port, mach_port_allocate returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1650
+#: darwin-nat.c:1622
 #, possible-c-format
 msgid "Unable to create exception port, mach_port_insert_right returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1658
+#: darwin-nat.c:1630
 #, possible-c-format
 msgid "Unable to create port set, mach_port_allocate returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1664
+#: darwin-nat.c:1637
 #, possible-c-format
 msgid ""
 "Unable to move exception port into new port set, mach_port_move_member\n"
 "returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1674
+#: darwin-nat.c:1647
 #, possible-c-format
 msgid "Unable to create notification port, mach_port_allocate returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1681
+#: darwin-nat.c:1654
 #, possible-c-format
 msgid ""
 "Unable to move notification port into new port set, mach_port_move_member\n"
 "returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1748
+#: darwin-nat.c:1732
 #, possible-c-format
 msgid "unable to read from pipe, read returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1774
+#: darwin-nat.c:1758
 #, possible-c-format
 msgid "unable to create a pipe: %s"
 msgstr ""
 
 #. Trying to masturbate?
-#: darwin-nat.c:1893 gnu-nat.c:2204 inf-ptrace.c:182
+#: darwin-nat.c:1876 gnu-nat.c:2204 inf-ptrace.c:199
 msgid "I refuse to debug myself!"
 msgstr ""
 
-#: darwin-nat.c:1900 inf-ptrace.c:197 remote.c:5277
+#: darwin-nat.c:1883 inf-ptrace.c:215 remote.c:5806
 #, possible-c-format
 msgid "Attaching to program: %s, %s\n"
 msgstr ""
 
-#: darwin-nat.c:1903 inf-ptrace.c:200 procfs.c:1916 remote.c:5280
+#: darwin-nat.c:1886 inf-ptrace.c:218 procfs.c:1900 remote.c:5809
 #, possible-c-format
 msgid "Attaching to %s\n"
 msgstr ""
 
-#: darwin-nat.c:1910
+#: darwin-nat.c:1893
 #, possible-c-format
 msgid "Can't attach to process %d: %s (%d)"
 msgstr ""
 
-#: darwin-nat.c:1963
+#: darwin-nat.c:1946
 #, possible-c-format
 msgid "Unable to detach from process-id %d: %s (%d)"
 msgstr ""
 
-#: darwin-nat.c:1991
+#: darwin-nat.c:1969
 #, c-format
 msgid "Thread 0x%lx of process %u"
 msgstr ""
 
-#: darwin-nat.c:2024
+#: darwin-nat.c:2002
 #, possible-c-format
 msgid "darwin_read_write_inferior(task=0x%x, %s, len=%s)\n"
 msgstr ""
 
-#: darwin-nat.c:2041
+#: darwin-nat.c:2019
 #, possible-c-format
 msgid "darwin_read_write_inferior: mach_vm_read failed at %s: %s"
 msgstr ""
 
-#: darwin-nat.c:2071
+#: darwin-nat.c:2049
 #, possible-c-format
 msgid "darwin_read_write_inferior: mach_vm_region_recurse failed at %s: %s\n"
 msgstr ""
 
-#: darwin-nat.c:2079
+#: darwin-nat.c:2057
 #, possible-c-format
 msgid ""
 "darwin_read_write_inferior: mach_vm_region_recurse addr=%s, start=%s, len=%"
 "s\n"
 msgstr ""
 
-#: darwin-nat.c:2088
+#: darwin-nat.c:2066
 #, possible-c-format
 msgid "No memory at %s (vs %s+0x%x).  Nothing written"
 msgstr ""
 
-#: darwin-nat.c:2115
+#: darwin-nat.c:2093
 #, possible-c-format
 msgid ""
 "darwin_read_write_inferior: mach_vm_protect failed at %s (len=0x%lx, prot=0x%"
 "x): %s"
 msgstr ""
 
-#: darwin-nat.c:2134
+#: darwin-nat.c:2112
 #, possible-c-format
 msgid "darwin_read_write_inferior: mach_vm_write failed: %s"
 msgstr ""
 
-#: darwin-nat.c:2146
+#: darwin-nat.c:2124
 #, possible-c-format
 msgid ""
 "darwin_read_write_inferior: mach_vm_protect restore failed at %s (len=0x%"
 "lx): %s"
 msgstr ""
 
-#: darwin-nat.c:2207
+#: darwin-nat.c:2185
 #, possible-c-format
 msgid "darwin_xfer_partial(%s, %s, rbuf=%s, wbuf=%s) pid=%u\n"
 msgstr ""
 
-#: darwin-nat.c:2392
+#: darwin-nat.c:2346
 #, possible-c-format
 msgid "GDB task: 0x%lx, pid: %d\n"
 msgstr ""
 
-#: darwin-nat.c:2396
+#: darwin-nat.c:2350
 msgid "Set if printing inferior communication debugging statements."
 msgstr ""
 
-#: darwin-nat.c:2397
+#: darwin-nat.c:2351
 msgid "Show if printing inferior communication debugging statements."
 msgstr ""
 
-#: darwin-nat.c:2403
+#: darwin-nat.c:2357
 msgid "Set if mach exceptions are caught."
 msgstr ""
 
-#: darwin-nat.c:2404
+#: darwin-nat.c:2358
 msgid "Show if mach exceptions are caught."
 msgstr ""
 
-#: darwin-nat.c:2405
+#: darwin-nat.c:2359
 msgid ""
 "When this mode is on, all low level exceptions are reported before being\n"
 "reported by the kernel."
@@ -8312,7 +8395,7 @@ msgstr ""
 msgid "    %s is %d unknown task port\n"
 msgstr ""
 
-#: darwin-nat-info.c:120 darwin-nat-info.c:808 darwin-nat-info.c:832
+#: darwin-nat-info.c:120 darwin-nat-info.c:807 darwin-nat-info.c:831
 msgid "No inferior running\n"
 msgstr ""
 
@@ -8528,7 +8611,7 @@ msgstr ""
 msgid "???"
 msgstr ""
 
-#: darwin-nat-info.c:471 darwin-nat-info.c:757
+#: darwin-nat-info.c:471 darwin-nat-info.c:756
 msgid "default"
 msgstr ""
 
@@ -8634,208 +8717,236 @@ msgstr ""
 msgid "obj"
 msgstr ""
 
-#: darwin-nat-info.c:736
+#: darwin-nat-info.c:735
 msgid "Inferior not available"
 msgstr ""
 
-#: darwin-nat-info.c:748
+#: darwin-nat-info.c:747
 #, possible-c-format
 msgid "%d exceptions:\n"
 msgstr ""
 
-#: darwin-nat-info.c:753
+#: darwin-nat-info.c:752
 #, possible-c-format
 msgid "port 0x%04x, behavior: "
 msgstr ""
 
-#: darwin-nat-info.c:760
+#: darwin-nat-info.c:759
 msgid "state"
 msgstr ""
 
-#: darwin-nat-info.c:763
+#: darwin-nat-info.c:762
 msgid "state-identity"
 msgstr ""
 
-#: darwin-nat-info.c:766
+#: darwin-nat-info.c:765
 #, possible-c-format
 msgid "0x%x"
 msgstr ""
 
-#: darwin-nat-info.c:768
+#: darwin-nat-info.c:767
 msgid ", masks:"
 msgstr ""
 
-#: darwin-nat-info.c:770
+#: darwin-nat-info.c:769
 msgid " BAD_ACCESS"
 msgstr ""
 
-#: darwin-nat-info.c:772
+#: darwin-nat-info.c:771
 msgid " BAD_INSTRUCTION"
 msgstr ""
 
-#: darwin-nat-info.c:774
+#: darwin-nat-info.c:773
 msgid " ARITHMETIC"
 msgstr ""
 
-#: darwin-nat-info.c:776
+#: darwin-nat-info.c:775
 msgid " EMULATION"
 msgstr ""
 
-#: darwin-nat-info.c:778
+#: darwin-nat-info.c:777
 msgid " SOFTWARE"
 msgstr ""
 
-#: darwin-nat-info.c:780
+#: darwin-nat-info.c:779
 msgid " BREAKPOINT"
 msgstr ""
 
-#: darwin-nat-info.c:782
+#: darwin-nat-info.c:781
 msgid " SYSCALL"
 msgstr ""
 
-#: darwin-nat-info.c:784
+#: darwin-nat-info.c:783
 msgid " MACH_SYSCALL"
 msgstr ""
 
-#: darwin-nat-info.c:786
+#: darwin-nat-info.c:785
 msgid " RPC_ALERT"
 msgstr ""
 
-#: darwin-nat-info.c:788
+#: darwin-nat-info.c:787
 msgid " CRASH"
 msgstr ""
 
-#: darwin-nat-info.c:825
+#: darwin-nat-info.c:824
 msgid "Parameter is saved, host or none"
 msgstr ""
 
-#: darwin-nat-info.c:849
+#: darwin-nat-info.c:848
 msgid "Get list of tasks in system."
 msgstr ""
 
-#: darwin-nat-info.c:851
+#: darwin-nat-info.c:850
 msgid "Get list of ports in a task."
 msgstr ""
 
-#: darwin-nat-info.c:853
+#: darwin-nat-info.c:852
 msgid "Get info on a specific port."
 msgstr ""
 
-#: darwin-nat-info.c:855
+#: darwin-nat-info.c:854
 msgid "Get info on a specific task."
 msgstr ""
 
-#: darwin-nat-info.c:857
+#: darwin-nat-info.c:856
 msgid "Get list of threads in a task."
 msgstr ""
 
-#: darwin-nat-info.c:859
+#: darwin-nat-info.c:858
 msgid "Get info on a specific thread."
 msgstr ""
 
-#: darwin-nat-info.c:862
+#: darwin-nat-info.c:861
 msgid "Get information on all mach region for the task."
 msgstr ""
 
-#: darwin-nat-info.c:864
+#: darwin-nat-info.c:863
 msgid "Get information on all mach sub region for the task."
 msgstr ""
 
-#: darwin-nat-info.c:866
+#: darwin-nat-info.c:865
 msgid "Get information on mach region at given address."
 msgstr ""
 
-#: darwin-nat-info.c:869
+#: darwin-nat-info.c:868
 msgid "Disp mach exceptions."
 msgstr ""
 
-#: dbxread.c:167 mdebugread.c:3393
+#. If we haven't found it yet, ignore it.  It's
+#. probably some new type we don't know about yet.
+#: dbxread.c:167 mdebugread.c:3364
 #, possible-c-format
 msgid "unknown symbol type %s"
 msgstr ""
 
-#: dbxread.c:174
+#: dbxread.c:173
 #, possible-c-format
 msgid "N_LBRAC/N_RBRAC symbol mismatch at symtab pos %d"
 msgstr ""
 
-#: dbxread.c:181
+#: dbxread.c:179
 #, possible-c-format
 msgid "\"repeated\" header file %s not previously seen, at symtab pos %d"
 msgstr ""
 
-#: dbxread.c:226
+#: dbxread.c:224
 msgid "Can't find any code sections in symbol file"
 msgstr ""
 
-#: dbxread.c:610
+#: dbxread.c:609
 msgid "Can't find .text section in symbol file"
 msgstr ""
 
-#: dbxread.c:672
+#: dbxread.c:671
 #, possible-c-format
 msgid "ridiculous string table size (%d bytes)."
 msgstr ""
 
-#: dbxread.c:803
+#: dbxread.c:802
 msgid "Premature end of file reading symbol table"
 msgstr ""
 
-#: dbxread.c:944
+#: dbxread.c:889
 #, possible-c-format
 msgid "bad string table offset in symbol %d"
 msgstr ""
 
-#: dbxread.c:1003 mdebugread.c:2253 xcoffread.c:2197
+#: dbxread.c:947 mdebugread.c:2235 xcoffread.c:2188
 #, possible-c-format
 msgid "function `%s' appears to be defined outside of all compilation units"
 msgstr ""
 
-#: dbxread.c:1244
+#: dbxread.c:1188
 #, possible-c-format
 msgid "string table offset backs up at %d"
 msgstr ""
 
-#: dbxread.c:1393
+#. FIXME: we should not get here without a PST to work on.
+#. Attempt to recover.
+#: dbxread.c:1336
 #, possible-c-format
 msgid "N_BINCL %s not in entries for any file, at symtab pos %d"
 msgstr ""
 
-#: dbxread.c:1843 mdebugread.c:3328 xcoffread.c:2906
+#. Unexpected symbol descriptor.  The second and subsequent stabs
+#. of a continued stab can show up here.  The question is
+#. whether they ever can mimic a normal stab--it would be
+#. nice if not, since we certainly don't want to spend the
+#. time searching to the end of every string looking for
+#. a backslash.
+#. Unexpected symbol descriptor.  The second and
+#. subsequent stabs of a continued stab can show up
+#. here.  The question is whether they ever can
+#. mimic a normal stab--it would be nice if not,
+#. since we certainly don't want to spend the time
+#. searching to the end of every string looking for
+#. a backslash.
+#. Unexpected symbol descriptor.  The second and
+#. subsequent stabs of a continued stab can show up
+#. here.  The question is whether they ever can mimic
+#. a normal stab--it would be nice if not, since we
+#. certainly don't want to spend the time searching to
+#. the end of every string looking for a
+#. backslash.
+#: dbxread.c:1785 mdebugread.c:3300 xcoffread.c:2895
 #, possible-c-format
 msgid "unknown symbol descriptor `%c'"
 msgstr ""
 
-#: dbxread.c:2366
+#: dbxread.c:2302
 msgid "First symbol in segment of executable not a source symbol"
 msgstr ""
 
-#: dbxread.c:2639
+#. GCC development snapshots from March to December of
+#. 2000 would output N_LSYM entries after N_LBRAC
+#. entries.  As a consequence, these symbols are simply
+#. discarded.  Complain if this is the case.
+#: dbxread.c:2574
 msgid ""
 "misplaced N_LBRAC entry; discarding local symbols which have no enclosing "
 "block"
 msgstr ""
 
-#: dbxread.c:2660
+#: dbxread.c:2594
 msgid "block start larger than block end"
 msgstr ""
 
-#: dbxread.c:2941
+#: dbxread.c:2874
 #, possible-c-format
 msgid "unmatched N_LBRAC before symtab pos %d"
 msgstr ""
 
-#: dbxread.c:3084 dbxread.c:3173 dbxread.c:3268
+#: dbxread.c:3017 dbxread.c:3105 dbxread.c:3202
 #, possible-c-format
 msgid "ridiculous string table size: %d bytes"
 msgstr ""
 
-#: dbxread.c:3246
+#: dbxread.c:3180
 #, possible-c-format
 msgid "stabsect_build_psymtabs:  Found stabs (%s), but not string section (%s)"
 msgstr ""
 
-#: dbxread.c:3255
+#: dbxread.c:3189
 #, possible-c-format
 msgid "Can't find %s section in symbol file"
 msgstr ""
@@ -8859,7 +8970,7 @@ msgid "Line %d: address %s [%d hits]\n"
 msgstr ""
 
 #: dcache.c:598
-msgid "Usage: info dcache [linenumber]\n"
+msgid "Usage: info dcache [LINENUMBER]\n"
 msgstr ""
 
 #: dcache.c:606
@@ -8905,33 +9016,34 @@ msgstr ""
 #: dcache.c:702
 msgid ""
 "Print information on the dcache performance.\n"
+"Usage: info dcache [LINENUMBER]\n"
 "With no arguments, this command prints the cache configuration and a\n"
-"summary of each line in the cache.  Use \"info dcache <lineno> to dump\"\n"
-"the contents of a given line."
+"summary of each line in the cache.  With an argument, dump\"\n"
+"the contents of the given line."
 msgstr ""
 
-#: dcache.c:708
+#: dcache.c:709
 msgid "Use this command to set number of lines in dcache and line-size."
 msgstr ""
 
 #. allow_unknown
-#: dcache.c:711
+#: dcache.c:712
 msgid "Show dcachesettings."
 msgstr ""
 
-#: dcache.c:716
+#: dcache.c:717
 msgid "Set dcache line size in bytes (must be power of 2)."
 msgstr ""
 
-#: dcache.c:717
+#: dcache.c:718
 msgid "Show dcache line size."
 msgstr ""
 
-#: dcache.c:724
+#: dcache.c:725
 msgid "Set number of dcache lines."
 msgstr ""
 
-#: dcache.c:725
+#: dcache.c:726
 msgid "Show number of dcache lines."
 msgstr ""
 
@@ -9005,12 +9117,12 @@ msgid ""
 "If LANGUAGE is not specified, NAME is demangled in the current language."
 msgstr ""
 
-#: d-exp.y:456
+#: d-exp.y:449
 msgid "No symbol table is loaded.  Use the \"file\" command"
 msgstr ""
 
 #. We must have come across a bad character (e.g. ';').
-#: d-exp.y:1245
+#: d-exp.y:1238
 #, possible-c-format
 msgid "Invalid character '%c' in expression"
 msgstr ""
@@ -9024,49 +9136,57 @@ msgstr ""
 msgid "dict_add_symbol: non-expandable dictionary"
 msgstr ""
 
-#: disasm.c:677
+#: disasm.c:672
 msgid "--- no source info for this pc ---\n"
 msgstr ""
 
-#: disasm.c:914
+#: disasm.c:944
 msgid "'set disassembler-options ...' is not supported on this architecture.\n"
 msgstr ""
 
-#: disasm.c:929
+#: disasm.c:981
 #, possible-c-format
 msgid "Invalid disassembler option value: '%s'.\n"
 msgstr ""
 
-#: disasm.c:957
+#: disasm.c:1011
 #, possible-c-format
 msgid "The current disassembler options are '%s'\n"
 msgstr ""
 
-#: disasm.c:965
+#: disasm.c:1021
 msgid ""
 "\n"
 "The following disassembler options are supported for use with the\n"
 "'set disassembler-options <option>[,<option>...]' command:\n"
 msgstr ""
 
-#: disasm.c:1037
+#: disasm.c:1082
+#, possible-c-format
+msgid ""
+"\n"
+"  For the options above, the following values are supported for \"%s\":\n"
+"   "
+msgstr ""
+
+#: disasm.c:1129
 msgid ""
 "Set the disassembler options.\n"
-"Usage: set disassembler-options <option>[,<option>...]\n"
+"Usage: set disassembler-options OPTION [,OPTION]...\n"
 "\n"
 "See: 'show disassembler-options' for valid option values.\n"
 msgstr ""
 
-#: disasm.c:1040
+#: disasm.c:1132
 msgid "Show the disassembler options."
 msgstr ""
 
-#: dtrace-probe.c:611
+#: dtrace-probe.c:610
 #, possible-c-format
 msgid "skipping section '%s' which does not contain valid DOF data."
 msgstr ""
 
-#: dtrace-probe.c:663 stap-probe.c:188
+#: dtrace-probe.c:662 stap-probe.c:188
 #, possible-c-format
 msgid ""
 "Probe '%s' has %d arguments, but GDB is requesting\n"
@@ -9074,25 +9194,25 @@ msgid ""
 "report this bug."
 msgstr ""
 
-#: dtrace-probe.c:783 dtrace-probe.c:807
+#: dtrace-probe.c:782 dtrace-probe.c:806 linux-thread-db.c:1930
 msgid "No inferior running"
 msgstr ""
 
-#: dtrace-probe.c:816
+#: dtrace-probe.c:815
 #, possible-c-format
 msgid "Probe %s:%s cannot be disabled: no enablers."
 msgstr ""
 
-#: dtrace-probe.c:862
+#: dtrace-probe.c:860
 #, possible-c-format
 msgid "could not obtain the contents ofsection '%s' in objfile `%s'."
 msgstr ""
 
-#: dtrace-probe.c:889
+#: dtrace-probe.c:887
 msgid "Enabled"
 msgstr ""
 
-#: dtrace-probe.c:908
+#: dtrace-probe.c:906
 msgid ""
 "Show information about DTrace static probes.\n"
 "Usage: info probes dtrace [PROVIDER [NAME [OBJECT]]]\n"
@@ -9160,7 +9280,7 @@ msgstr ""
 msgid "DWARF-2 expression error: Loop detected (%d)."
 msgstr ""
 
-#: dwarf2expr.c:756 dwarf2loc.c:3187
+#: dwarf2expr.c:756 dwarf2loc.c:3185
 msgid "DW_OP_implicit_value: too few bytes available."
 msgstr ""
 
@@ -9313,17 +9433,17 @@ msgstr ""
 msgid "Corrupt data in %s:%s; align 8 workaround apparently succeeded"
 msgstr ""
 
-#: dwarf2-frame.c:2162
+#: dwarf2-frame.c:2161
 #, possible-c-format
 msgid "Corrupt data in %s:%s"
 msgstr ""
 
-#: dwarf2-frame.c:2252
+#: dwarf2-frame.c:2250
 #, possible-c-format
 msgid "skipping .eh_frame info of %s: %s"
 msgstr ""
 
-#: dwarf2-frame.c:2293
+#: dwarf2-frame.c:2291
 #, possible-c-format
 msgid "skipping .debug_frame info of %s: %s"
 msgstr ""
@@ -9463,7 +9583,7 @@ msgid ""
 "Can't do read-modify-write to update bitfield; containing word is unavailable"
 msgstr ""
 
-#: dwarf2loc.c:2040 dwarf2loc.c:2526
+#: dwarf2loc.c:2040 dwarf2loc.c:2525
 msgid "invalid location type"
 msgstr ""
 
@@ -9475,315 +9595,315 @@ msgstr ""
 msgid "cannot use offset on synthetic pointer to register"
 msgstr ""
 
-#: dwarf2loc.c:2675
+#: dwarf2loc.c:2674
 msgid "cannot find reference address for offset property"
 msgstr ""
 
-#: dwarf2loc.c:2875
+#: dwarf2loc.c:2874
 #, possible-c-format
 msgid "DWARF operator %s cannot be translated to an agent expression"
 msgstr ""
 
-#: dwarf2loc.c:2878
+#: dwarf2loc.c:2877
 #, possible-c-format
 msgid ""
 "Unknown DWARF operator 0x%02x cannot be translated to an agent expression"
 msgstr ""
 
-#: dwarf2loc.c:2897
+#: dwarf2loc.c:2895
 #, possible-c-format
 msgid "bad DWARF register number %d"
 msgstr ""
 
-#: dwarf2loc.c:2912
+#: dwarf2loc.c:2910
 #, possible-c-format
 msgid "Unable to access DWARF register number %d"
 msgstr ""
 
-#: dwarf2loc.c:2913
+#: dwarf2loc.c:2911
 #, possible-c-format
 msgid "Unable to access DWARF register number %s"
 msgstr ""
 
-#: dwarf2loc.c:3189
+#: dwarf2loc.c:3187
 #, possible-c-format
 msgid "Cannot translate DW_OP_implicit_value of %d bytes"
 msgstr ""
 
-#: dwarf2loc.c:3552
+#: dwarf2loc.c:3550
 msgid "Cannot translate empty pieces to agent expressions"
 msgstr ""
 
-#: dwarf2loc.c:3565
+#: dwarf2loc.c:3563
 msgid "Expression pieces exceed word size"
 msgstr ""
 
-#: dwarf2loc.c:3651
+#: dwarf2loc.c:3649
 msgid "invalid label"
 msgstr ""
 
 #. The text is output as "$bad_register_number".
 #. That is why we use the underscores.
-#: dwarf2loc.c:3725
+#: dwarf2loc.c:3723
 msgid "bad_register_number"
 msgstr ""
 
-#: dwarf2loc.c:3748 dwarf2loc.c:3757
+#: dwarf2loc.c:3746 dwarf2loc.c:3755
 #, possible-c-format
 msgid "a variable in $%s"
 msgstr ""
 
-#: dwarf2loc.c:3778
+#: dwarf2loc.c:3776
 #, possible-c-format
 msgid "No block found for address for symbol \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:3784
+#: dwarf2loc.c:3782
 #, possible-c-format
 msgid "No function found for block for symbol \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:3797
+#: dwarf2loc.c:3795
 #, possible-c-format
 msgid "Unexpected opcode after DW_OP_breg%u for symbol \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:3815
+#: dwarf2loc.c:3813
 #, possible-c-format
 msgid "a variable at frame base reg $%s offset %s+%s"
 msgstr ""
 
-#: dwarf2loc.c:3827
+#: dwarf2loc.c:3825
 #, possible-c-format
 msgid "a variable at offset %s from base reg $%s"
 msgstr ""
 
-#: dwarf2loc.c:3859 dwarf2loc.c:3883
+#: dwarf2loc.c:3857 dwarf2loc.c:3881
 #, possible-c-format
 msgid ""
 "a thread-local variable at offset 0x%s in the thread-local storage for `%s'"
 msgstr ""
 
-#: dwarf2loc.c:3894
+#: dwarf2loc.c:3892
 #, possible-c-format
 msgid "the constant %d"
 msgstr ""
 
-#: dwarf2loc.c:3928
+#: dwarf2loc.c:3926
 #, possible-c-format
 msgid "Unrecognized DWARF opcode 0x%02x at %ld"
 msgstr ""
 
-#: dwarf2loc.c:4295
+#: dwarf2loc.c:4293
 msgid ", and "
 msgstr ""
 
-#: dwarf2loc.c:4311
+#: dwarf2loc.c:4309
 msgid "a complex DWARF expression:\n"
 msgstr ""
 
-#: dwarf2loc.c:4333
+#: dwarf2loc.c:4331
 #, possible-c-format
 msgid "an empty %s-byte piece"
 msgstr ""
 
-#: dwarf2loc.c:4336
+#: dwarf2loc.c:4334
 #, possible-c-format
 msgid " [%s-byte piece]"
 msgstr ""
 
-#: dwarf2loc.c:4348
+#: dwarf2loc.c:4346
 #, possible-c-format
 msgid "an empty %s-bit piece"
 msgstr ""
 
-#: dwarf2loc.c:4352
+#: dwarf2loc.c:4350
 #, possible-c-format
 msgid " [%s-bit piece, offset %s bits]"
 msgstr ""
 
-#: dwarf2loc.c:4364
+#: dwarf2loc.c:4362
 #, possible-c-format
 msgid "Corrupted DWARF2 expression for \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:4418 dwarf2loc.c:4631
+#: dwarf2loc.c:4416 dwarf2loc.c:4629
 #, possible-c-format
 msgid "symbol \"%s\" is optimized out"
 msgstr ""
 
-#: dwarf2loc.c:4528
+#: dwarf2loc.c:4526
 msgid "multi-location:\n"
 msgstr ""
 
-#: dwarf2loc.c:4555
+#: dwarf2loc.c:4553
 #, possible-c-format
 msgid "  Base address %s"
 msgstr ""
 
-#: dwarf2loc.c:4563
+#: dwarf2loc.c:4561
 #, possible-c-format
 msgid "Corrupted DWARF expression for symbol \"%s\"."
 msgstr ""
 
 #. (It would improve readability to print only the minimum
 #. necessary digits of the second number of the range.)
-#: dwarf2loc.c:4581
+#: dwarf2loc.c:4579
 #, possible-c-format
 msgid "  Range %s-%s: "
 msgstr ""
 
-#: dwarf2loc.c:4656
+#: dwarf2loc.c:4654
 msgid "Set entry values and tail call frames debugging."
 msgstr ""
 
-#: dwarf2loc.c:4658
+#: dwarf2loc.c:4656
 msgid "Show entry values and tail call frames debugging."
 msgstr ""
 
-#: dwarf2loc.c:4660
+#: dwarf2loc.c:4658
 msgid ""
 "When non-zero, the process of determining parameter values from function "
 "entry point and tail call frames will be printed."
 msgstr ""
 
-#: dwarf2read.c:1692
+#: dwarf2read.c:1422
 #, possible-c-format
 msgid "The upper bound on the age of cached DWARF compilation units is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:2246
+#: dwarf2read.c:2000
 msgid "statement list doesn't fit in .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:2253
+#: dwarf2read.c:2006
 msgid ".debug_line section has line data without a file"
 msgstr ""
 
-#: dwarf2read.c:2260
+#: dwarf2read.c:2012
 msgid ".debug_line section has line program sequence without an end"
 msgstr ""
 
-#: dwarf2read.c:2267
+#: dwarf2read.c:2019
 msgid "location expression too complex"
 msgstr ""
 
-#: dwarf2read.c:2275
+#: dwarf2read.c:2026
 #, possible-c-format
 msgid "const value length mismatch for '%s', got %d, expected %d"
 msgstr ""
 
-#: dwarf2read.c:2283
+#: dwarf2read.c:2033
 #, possible-c-format
 msgid "debug info runs off end of %s section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:2293
+#: dwarf2read.c:2042
 #, possible-c-format
 msgid ""
 "macro debug info contains a malformed macro definition:\n"
 "`%s'"
 msgstr ""
 
-#: dwarf2read.c:2302
+#: dwarf2read.c:2050
 #, possible-c-format
 msgid "invalid attribute class or form for '%s' in '%s'"
 msgstr ""
 
-#: dwarf2read.c:2702
+#: dwarf2read.c:2478
 #, possible-c-format
 msgid ""
 "Dwarf Error: DWP format V2 with relocations is not supported in section %s "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:2746
+#: dwarf2read.c:2522
 #, possible-c-format
 msgid "Dwarf Error: Can't read DWARF data in section %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:2880
+#: dwarf2read.c:2655
 #, possible-c-format
 msgid "could not read '.gnu_debugaltlink' section: %s"
 msgstr ""
 
-#: dwarf2read.c:2913
+#: dwarf2read.c:2688
 #, possible-c-format
 msgid "could not find '.gnu_debugaltlink' file for %s"
 msgstr ""
 
-#: dwarf2read.c:3395
+#: dwarf2read.c:3163
 #, possible-c-format
 msgid ".gdb_index address table has invalid range (%s - %s)"
 msgstr ""
 
-#: dwarf2read.c:3403
+#: dwarf2read.c:3170
 #, possible-c-format
 msgid ".gdb_index address table has invalid CU number %u"
 msgstr ""
 
-#: dwarf2read.c:3443
+#: dwarf2read.c:3211
 #, possible-c-format
 msgid ""
-"Section .debug_aranges in %s has duplicate debug_info_offset %u, ignoring ."
+"Section .debug_aranges in %s has duplicate debug_info_offset %s, ignoring ."
 "debug_aranges."
 msgstr ""
 
-#: dwarf2read.c:3470
+#: dwarf2read.c:3238
 #, possible-c-format
 msgid ""
 "Section .debug_aranges in %s entry at offset %zu length %s exceeds section "
 "length %s, ignoring .debug_aranges."
 msgstr ""
 
-#: dwarf2read.c:3484
+#: dwarf2read.c:3252
 #, possible-c-format
 msgid ""
 "Section .debug_aranges in %s entry at offset %zu has unsupported version %d, "
 "ignoring .debug_aranges."
 msgstr ""
 
-#: dwarf2read.c:3498
+#: dwarf2read.c:3266
 #, possible-c-format
 msgid ""
 "Section .debug_aranges in %s entry at offset %zu debug_info_offset %s does "
 "not exists, ignoring .debug_aranges."
 msgstr ""
 
-#: dwarf2read.c:3510
+#: dwarf2read.c:3278
 #, possible-c-format
 msgid ""
 "Section .debug_aranges in %s entry at offset %zu address_size %u is invalid, "
 "ignoring .debug_aranges."
 msgstr ""
 
-#: dwarf2read.c:3520
+#: dwarf2read.c:3288
 #, possible-c-format
 msgid ""
 "Section .debug_aranges in %s entry at offset %zu segment_selector_size %u is "
 "not supported, ignoring .debug_aranges."
 msgstr ""
 
-#: dwarf2read.c:3536
+#: dwarf2read.c:3304
 #, possible-c-format
 msgid ""
 "Section .debug_aranges in %s entry at offset %zu padding is not zero, "
 "ignoring .debug_aranges."
 msgstr ""
 
-#: dwarf2read.c:3546
+#: dwarf2read.c:3314
 #, possible-c-format
 msgid ""
 "Section .debug_aranges in %s entry at offset %zu address list is not "
 "properly terminated, ignoring .debug_aranges."
 msgstr ""
 
-#: dwarf2read.c:3712
+#: dwarf2read.c:3455
 #, possible-c-format
 msgid "Skipping obsolete .gdb_index section in %s."
 msgstr ""
 
-#: dwarf2read.c:3731
+#: dwarf2read.c:3474
 #, possible-c-format
 msgid ""
 "Skipping deprecated .gdb_index section in %s.\n"
@@ -9791,393 +9911,404 @@ msgid ""
 "to use the section anyway."
 msgstr ""
 
-#: dwarf2read.c:3827
+#: dwarf2read.c:3570
 #, possible-c-format
 msgid "could not read '.gdb_index' section from %s; skipping"
 msgstr ""
 
-#: dwarf2read.c:4224 dwarf2read.c:5357
+#: dwarf2read.c:3953 dwarf2read.c:5074
 #, possible-c-format
 msgid ".gdb_index entry has bad CU index [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:4346
+#: dwarf2read.c:4069
 #, possible-c-format
 msgid "  Number of read CUs: %d\n"
 msgstr ""
 
-#: dwarf2read.c:4347
+#: dwarf2read.c:4070
 #, possible-c-format
 msgid "  Number of unread CUs: %d\n"
 msgstr ""
 
-#: dwarf2read.c:4899
+#: dwarf2read.c:4618
 #, possible-c-format
 msgid "%s:%d: match_type=%s, looking-for=\"%s\", expected=\"%s\", got=\"%s\"\n"
 msgstr ""
 
-#: dwarf2read.c:5528
+#: dwarf2read.c:5241
 #, possible-c-format
 msgid "(Internal error: pc %s in read in CU, but not in symtab.)"
 msgstr ""
 
 #. There may be multiple per-CU indices.
-#: dwarf2read.c:5678
+#: dwarf2read.c:5387
 #, possible-c-format
 msgid ""
 "Section .debug_names in %s length %s does not match section length %s, "
 "ignoring .debug_names."
 msgstr ""
 
-#: dwarf2read.c:5690
+#: dwarf2read.c:5399
 #, possible-c-format
 msgid ""
 "Section .debug_names in %s has unsupported version %d, ignoring .debug_names."
 msgstr ""
 
-#: dwarf2read.c:5701
+#: dwarf2read.c:5410
 #, possible-c-format
 msgid ""
 "Section .debug_names in %s has unsupported padding %d, ignoring .debug_names."
 msgstr ""
 
-#: dwarf2read.c:5722
+#: dwarf2read.c:5431
 #, possible-c-format
 msgid ""
 "Section .debug_names in %s has unsupported %lu foreign TUs, ignoring ."
 "debug_names."
 msgstr ""
 
-#: dwarf2read.c:5786
+#: dwarf2read.c:5495
 #, possible-c-format
 msgid ""
 "Section .debug_names in %s has duplicate index %s, ignoring .debug_names."
 msgstr ""
 
-#: dwarf2read.c:5815
+#: dwarf2read.c:5524
 #, possible-c-format
 msgid ""
 "Section .debug_names in %s has abbreviation_table of size %zu vs. written as "
 "%u, ignoring .debug_names."
 msgstr ""
 
-#: dwarf2read.c:5912
+#: dwarf2read.c:5621
 #, possible-c-format
 msgid "could not read '.debug_names' section from %s; skipping"
 msgstr ""
 
-#: dwarf2read.c:6069 dwarf2read.c:6123
+#: dwarf2read.c:5761 dwarf2read.c:5813
 #, possible-c-format
 msgid "Wrong .debug_names with name index %u but name_count=%u [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:6093
+#: dwarf2read.c:5784
 #, possible-c-format
 msgid "Wrong .debug_names hash for string at index %u [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:6159
+#: dwarf2read.c:5850
 #, possible-c-format
 msgid "Wrong .debug_names undefined abbrev code %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:6185
+#: dwarf2read.c:5875
 #, possible-c-format
 msgid "Unsupported .debug_names form %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:6197
+#: dwarf2read.c:5886
 #, possible-c-format
 msgid ".debug_names entry has bad CU index %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:6210
+#: dwarf2read.c:5898
 #, possible-c-format
 msgid ".debug_names entry has bad TU index %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:6626
+#: dwarf2read.c:6312
+#, possible-c-format
+msgid ""
+"Dwarf Error: wrong version in compilation unit header (is %d, should be 2, "
+"3, 4 or 5) [in module %s]"
+msgstr ""
+
+#: dwarf2read.c:6327
 msgid "read_comp_unit_head: invalid section_kind"
 msgstr ""
 
-#: dwarf2read.c:6637
+#: dwarf2read.c:6338
 #, possible-c-format
 msgid ""
 "Dwarf Error: wrong unit_type in compilation unit header (is DW_UT_compile, "
 "should be DW_UT_type) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:6645
+#: dwarf2read.c:6346
 #, possible-c-format
 msgid ""
 "Dwarf Error: wrong unit_type in compilation unit header (is %d, should be %d "
 "or %d) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:6665
+#: dwarf2read.c:6366
 msgid "read_comp_unit_head: dwarf from non elf file"
 msgstr ""
 
-#: dwarf2read.c:6679
+#: dwarf2read.c:6380
 #, possible-c-format
 msgid ""
 "Dwarf Error: Too big type_offset in compilation unit header (is %s) [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:6715
-#, possible-c-format
-msgid ""
-"Dwarf Error: wrong version in compilation unit header (is %d, should be 2, "
-"3, 4 or 5) [in module %s]"
-msgstr ""
-
-#: dwarf2read.c:6721
+#: dwarf2read.c:6419
 #, possible-c-format
 msgid ""
-"Dwarf Error: bad offset (0x%x) in compilation unit header (offset 0x%x + 6) "
-"[in module %s]"
+"Dwarf Error: bad offset (%s) in compilation unit header (offset %s + 6) [in "
+"module %s]"
 msgstr ""
 
-#: dwarf2read.c:6731
+#: dwarf2read.c:6429
 #, possible-c-format
 msgid ""
-"Dwarf Error: bad length (0x%x) in compilation unit header (offset 0x%x + 0) "
+"Dwarf Error: bad length (0x%x) in compilation unit header (offset %s + 0) "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:7025
+#: dwarf2read.c:6726
 #, possible-c-format
 msgid ""
-"debug type entry at offset 0x%x is duplicate to the entry at offset 0x%x, "
+"debug type entry at offset %s is duplicate to the entry at offset %s, "
 "signature %s"
 msgstr ""
 
-#: dwarf2read.c:7469
+#: dwarf2read.c:7168
 #, possible-c-format
 msgid ""
-"Dwarf Error: signature mismatch %s vs %s while reading TU at offset 0x%x [in "
+"Dwarf Error: signature mismatch %s vs %s while reading TU at offset %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:7603
+#: dwarf2read.c:7292
 #, possible-c-format
 msgid "Dwarf Error: missing dwo_id for dwo_name %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:7891
+#: dwarf2read.c:7555
 #, possible-c-format
 msgid ""
-"compilation unit with DW_AT_GNU_dwo_name has children (offset 0x%x) [in "
-"module %s]"
+"compilation unit with DW_AT_GNU_dwo_name has children (offset %s) [in module "
+"%s]"
 msgstr ""
 
-#: dwarf2read.c:9013 dwarf2read.c:10556
+#: dwarf2read.c:8613 dwarf2read.c:10424
 #, possible-c-format
 msgid ""
 "Dwarf Error: DW_TAG_imported_unit is not supported in type units [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:9130
+#. FIXME drow/2004-04-01: What should we be doing with
+#. function-local names?  For partial symbols, we should probably be
+#. ignoring them.
+#: dwarf2read.c:8729
 #, possible-c-format
-msgid "unhandled containing DIE tag %d for DIE at %d"
+msgid "unhandled containing DIE tag %d for DIE at %s"
 msgstr ""
 
-#: dwarf2read.c:9484 dwarf2read.c:18323
+#: dwarf2read.c:9087 dwarf2read.c:18242
 msgid "malformed enumerator DIE ignored"
 msgstr ""
 
-#: dwarf2read.c:9522
+#: dwarf2read.c:9126
 #, possible-c-format
 msgid ""
-"Dwarf Error: Could not find abbrev number %d in %s at offset 0x%x [in module "
-"%s]"
+"Dwarf Error: Could not find abbrev number %d in %s at offset %s [in module %"
+"s]"
 msgstr ""
 
-#: dwarf2read.c:9578 dwarf2read.c:18546
+#: dwarf2read.c:9179 dwarf2read.c:18463
 msgid "ignoring absolute DW_AT_sibling"
 msgstr ""
 
-#: dwarf2read.c:9586 dwarf2read.c:18554
+#: dwarf2read.c:9186 dwarf2read.c:18471
 msgid "DW_AT_sibling points backwards"
 msgstr ""
 
-#: dwarf2read.c:9675 dwarf2read.c:19097
+#: dwarf2read.c:9275 dwarf2read.c:19019
 #, possible-c-format
 msgid "Dwarf Error: Cannot handle %s in DWARF reader [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9720
+#: dwarf2read.c:9323
 #, possible-c-format
 msgid "bug: psymtab for %s is already read in."
 msgstr ""
 
-#: dwarf2read.c:9727 mdebugread.c:281
+#: dwarf2read.c:9330 mdebugread.c:280
 #, possible-c-format
 msgid "Reading in symbols for %s..."
 msgstr ""
 
-#: dwarf2read.c:9758 mdebugread.c:294 psymtab.c:105 symfile.c:1204
+#: dwarf2read.c:9354 mdebugread.c:293 psymtab.c:105 symfile.c:1151
 msgid "done.\n"
 msgstr ""
 
-#: dwarf2read.c:10185
+#: dwarf2read.c:9741
 #, possible-c-format
 msgid "Symtab %s has objects from two different Go packages: %s and %s"
 msgstr ""
 
-#: dwarf2read.c:10693
+#: dwarf2read.c:9871
+#, possible-c-format
+msgid "Could not parse Rust enum encoding string \"%s\"[in module %s]"
+msgstr ""
+
+#: dwarf2read.c:10563
 #, possible-c-format
 msgid "Tag '%s' has unexpected children"
 msgstr ""
 
-#: dwarf2read.c:10928
+#: dwarf2read.c:10797
 msgid "template parameter missing DW_AT_type"
 msgstr ""
 
-#: dwarf2read.c:10944
+#: dwarf2read.c:10813
 msgid "template parameter missing DW_AT_const_value"
 msgstr ""
 
-#: dwarf2read.c:11136
+#. It may not mean a bug in GDB.  The compiler could also
+#. compute DW_AT_linkage_name incorrectly.  But in such case
+#. GDB would need to be bug-to-bug compatible.
+#: dwarf2read.c:11007
 #, possible-c-format
 msgid ""
 "Computed physname <%s> does not match demangled <%s> (from linkage <%s>) - "
-"DIE at 0x%x [in module %s]"
+"DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11200
+#: dwarf2read.c:11070
 #, possible-c-format
-msgid "DIE at 0x%x has too many recursively imported declarations"
+msgid "DIE at %s has too many recursively imported declarations"
 msgstr ""
 
-#: dwarf2read.c:11262 dwarf2read.c:11352
+#: dwarf2read.c:11132 dwarf2read.c:11222
 #, possible-c-format
 msgid "Tag '%s' has no DW_AT_import"
 msgstr ""
 
-#: dwarf2read.c:11343
+#: dwarf2read.c:11212
 #, possible-c-format
-msgid "child DW_TAG_imported_declaration expected - DIE at 0x%x [in module %s]"
+msgid "child DW_TAG_imported_declaration expected - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11364
+#: dwarf2read.c:11233
 #, possible-c-format
 msgid ""
-"child DW_TAG_imported_declaration has unknown imported name - DIE at 0x%x "
-"[in module %s]"
+"child DW_TAG_imported_declaration has unknown imported name - DIE at %s [in "
+"module %s]"
 msgstr ""
 
-#: dwarf2read.c:11613
+#: dwarf2read.c:11486
 msgid "CU refers to both DW_AT_macros and DW_AT_macro_info"
 msgstr ""
 
-#: dwarf2read.c:11903
+#: dwarf2read.c:11776
 #, possible-c-format
 msgid ""
-"Dwarf Error: debug entry at offset 0x%x is missing its dwo_id [in module %s]"
+"Dwarf Error: debug entry at offset %s is missing its dwo_id [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11983
+#: dwarf2read.c:11856
 #, possible-c-format
 msgid ""
-"debug cu entry at offset 0x%x is duplicate to the entry at offset 0x%x, "
+"debug cu entry at offset %s is duplicate to the entry at offset %s, "
 "signature %s"
 msgstr ""
 
-#: dwarf2read.c:12165
+#: dwarf2read.c:12039
 #, possible-c-format
 msgid "Dwarf Error: unsupported DWP file version (%s) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12171
+#: dwarf2read.c:12045
 #, possible-c-format
 msgid ""
 "Dwarf Error: number of slots in DWP hash table (%s) is not power of 2 [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:12193
+#: dwarf2read.c:12066
 #, possible-c-format
 msgid "Empty DWP but nr_slots,nr_units,nr_columns not all zero [in modules %s]"
 msgstr ""
 
-#: dwarf2read.c:12217
+#: dwarf2read.c:12090
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, too few columns in section table [in module "
 "%s]"
 msgstr ""
 
-#: dwarf2read.c:12223
+#: dwarf2read.c:12096
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, too many columns in section table [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:12235
+#: dwarf2read.c:12108
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, bad section id %d in section table [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:12241
+#: dwarf2read.c:12114
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, duplicate section id %d in section table "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12253
+#: dwarf2read.c:12126
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, missing/duplicate DWO info/types section "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12260
+#: dwarf2read.c:12133
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, missing DWO abbrev section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12272
+#: dwarf2read.c:12145
 #, possible-c-format
 msgid "Dwarf Error: DWP index section is corrupt (too small) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12420
+#: dwarf2read.c:12294
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, section number too large [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12428
+#: dwarf2read.c:12302
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, invalid section found [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12438
+#: dwarf2read.c:12312
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, missing DWO sections [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12444
+#: dwarf2read.c:12318
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, too many DWO sections [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12548
+#: dwarf2read.c:12425
 #, possible-c-format
 msgid ""
 "Dwarf Error: Bad DWP V2 section info, doesn't fit in section %s [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:12788
+#: dwarf2read.c:12673
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, lookup didn't terminate [in module %s]"
 msgstr ""
@@ -10185,432 +10316,486 @@ msgstr ""
 #. Technically speaking, we should try to limp along, but this is
 #. pretty bizarre.  We use pulongest here because that's the established
 #. portability solution (e.g, we cannot use %u for uint32_t).
-#: dwarf2read.c:13228
+#: dwarf2read.c:13130
 #, possible-c-format
 msgid ""
 "Dwarf Error: DWP file CU version %s doesn't match TU version %s [in DWP file "
 "%s]"
 msgstr ""
 
-#: dwarf2read.c:13400
+#: dwarf2read.c:13306
 #, possible-c-format
 msgid ""
-"Could not find DWO %s %s(%s)%s referenced by %s at offset 0x%x [in module %s]"
+"Could not find DWO %s %s(%s)%s referenced by %s at offset %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13565
+#: dwarf2read.c:13456
 #, possible-c-format
-msgid "DIE 0x%x and its abstract origin 0x%x have different tags"
+msgid "DIE %s and its abstract origin %s have different tags"
 msgstr ""
 
-#: dwarf2read.c:13612
+#: dwarf2read.c:13502
 #, possible-c-format
-msgid "Child DIE 0x%x and its abstract origin 0x%x have different tags"
+msgid "Child DIE %s and its abstract origin %s have different tags"
 msgstr ""
 
-#: dwarf2read.c:13618
+#: dwarf2read.c:13507
 #, possible-c-format
-msgid "Child DIE 0x%x and its abstract origin 0x%x have different parents"
+msgid "Child DIE %s and its abstract origin %s have different parents"
 msgstr ""
 
-#: dwarf2read.c:13631
+#: dwarf2read.c:13519
 #, possible-c-format
-msgid ""
-"Multiple children of DIE 0x%x refer to DIE 0x%x as their abstract origin"
+msgid "Multiple children of DIE %s refer to DIE %s as their abstract origin"
 msgstr ""
 
-#: dwarf2read.c:13698
+#: dwarf2read.c:13585
 #, possible-c-format
-msgid "missing name for subprogram DIE at %d"
+msgid "missing name for subprogram DIE at %s"
 msgstr ""
 
-#: dwarf2read.c:13710
+#: dwarf2read.c:13596
 #, possible-c-format
-msgid "cannot get low and high bounds for subprogram DIE at %d"
+msgid "cannot get low and high bounds for subprogram DIE at %s"
 msgstr ""
 
-#: dwarf2read.c:13944
+#: dwarf2read.c:13829
 #, possible-c-format
-msgid ""
-"missing DW_AT_call_return_pc for DW_TAG_call_site DIE 0x%x [in module %s]"
+msgid "missing DW_AT_call_return_pc for DW_TAG_call_site DIE %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13961
+#: dwarf2read.c:13845
 #, possible-c-format
-msgid "Duplicate PC %s for DW_TAG_call_site DIE 0x%x [in module %s]"
+msgid "Duplicate PC %s for DW_TAG_call_site DIE %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13978
+#: dwarf2read.c:13861
 #, possible-c-format
 msgid ""
-"Tag %d is not DW_TAG_call_site_parameter in DW_TAG_call_site child DIE 0x%x "
+"Tag %d is not DW_TAG_call_site_parameter in DW_TAG_call_site child DIE %s "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14041
+#: dwarf2read.c:13923
 #, possible-c-format
-msgid "Cannot find function owning DW_TAG_call_site DIE 0x%x [in module %s]"
+msgid "Cannot find function owning DW_TAG_call_site DIE %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14088
+#: dwarf2read.c:13969
 #, possible-c-format
 msgid ""
-"DW_AT_call_target target DIE has invalid physname, for referencing DIE 0x%x "
+"DW_AT_call_target target DIE has invalid physname, for referencing DIE %s "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14102
+#: dwarf2read.c:13982
 #, possible-c-format
 msgid ""
-"DW_AT_call_target target DIE has invalid low pc, for referencing DIE 0x%x "
-"[in module %s]"
+"DW_AT_call_target target DIE has invalid low pc, for referencing DIE %s [in "
+"module %s]"
 msgstr ""
 
-#: dwarf2read.c:14114
+#: dwarf2read.c:13993
 #, possible-c-format
 msgid ""
-"DW_TAG_call_site DW_AT_call_target is neither block nor reference, for DIE 0x"
-"%x [in module %s]"
+"DW_TAG_call_site DW_AT_call_target is neither block nor reference, for DIE %"
+"s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14161
+#. As DW_OP_GNU_parameter_ref uses CU-relative offset this
+#. binding can be done only inside one CU.  Such referenced DIE
+#. therefore cannot be even moved to DW_TAG_partial_unit.
+#: dwarf2read.c:14039
 #, possible-c-format
 msgid ""
-"DW_AT_call_parameter offset is not in CU for DW_TAG_call_site child DIE 0x%x "
+"DW_AT_call_parameter offset is not in CU for DW_TAG_call_site child DIE %s "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14173
+#: dwarf2read.c:14050
 #, possible-c-format
 msgid ""
-"No DW_FORM_block* DW_AT_location for DW_TAG_call_site child DIE 0x%x [in "
+"No DW_FORM_block* DW_AT_location for DW_TAG_call_site child DIE %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:14191
+#: dwarf2read.c:14067
 #, possible-c-format
 msgid ""
 "Only single DW_OP_reg or DW_OP_fbreg is supported for DW_FORM_block* "
-"DW_AT_location is supported for DW_TAG_call_site child DIE 0x%x [in module %"
-"s]"
+"DW_AT_location is supported for DW_TAG_call_site child DIE %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14207
+#: dwarf2read.c:14082
 #, possible-c-format
 msgid ""
-"No DW_FORM_block* DW_AT_call_value for DW_TAG_call_site child DIE 0x%x [in "
+"No DW_FORM_block* DW_AT_call_value for DW_TAG_call_site child DIE %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:14228
+#: dwarf2read.c:14102
 #, possible-c-format
 msgid ""
-"No DW_FORM_block* DW_AT_call_data_value for DW_TAG_call_site child DIE 0x%x "
+"No DW_FORM_block* DW_AT_call_data_value for DW_TAG_call_site child DIE %s "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14320 dwarf2read.c:14492
+#: dwarf2read.c:14195 dwarf2read.c:14363
 #, possible-c-format
 msgid "Offset %d out of bounds for DW_AT_ranges attribute"
 msgstr ""
 
-#: dwarf2read.c:14402 dwarf2read.c:14415
+#. We have no valid base address for the ranges
+#. data.
+#: dwarf2read.c:14276 dwarf2read.c:14288
 msgid "Invalid .debug_rnglists data (no base address)"
 msgstr ""
 
-#: dwarf2read.c:14423
+#. Inverted range entries are invalid.
+#: dwarf2read.c:14295
 msgid "Invalid .debug_rnglists data (inverted range)"
 msgstr ""
 
-#: dwarf2read.c:14440
+#: dwarf2read.c:14311
 #, possible-c-format
 msgid ".debug_rnglists entry has start address of zero [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14451
+#: dwarf2read.c:14321
 #, possible-c-format
 msgid "Offset %d is not terminated for DW_AT_ranges attribute"
 msgstr ""
 
-#: dwarf2read.c:14532
+#. We have no valid base address for the ranges
+#. data.
+#: dwarf2read.c:14402
 msgid "Invalid .debug_ranges data (no base address)"
 msgstr ""
 
-#: dwarf2read.c:14540
+#. Inverted range entries are invalid.
+#: dwarf2read.c:14409
 msgid "Invalid .debug_ranges data (inverted range)"
 msgstr ""
 
-#: dwarf2read.c:14557
+#: dwarf2read.c:14425
 #, possible-c-format
 msgid ".debug_ranges entry has start address of zero [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:15247
+#: dwarf2read.c:15101
 #, possible-c-format
 msgid "Unhandled DW_AT_accessibility value (%x)"
 msgstr ""
 
-#: dwarf2read.c:15347
+#: dwarf2read.c:15198
 #, possible-c-format
 msgid "unsupported accessibility %d"
 msgstr ""
 
-#: dwarf2read.c:15359
+#: dwarf2read.c:15210
 msgid "unexpected virtuality in component of Ada type"
 msgstr ""
 
-#: dwarf2read.c:15412
+#: dwarf2read.c:15262
 msgid "unexpected member function in Ada type"
 msgstr ""
 
-#: dwarf2read.c:15495
+#: dwarf2read.c:15327
 #, possible-c-format
 msgid "member function type missing for '%s'"
 msgstr ""
 
-#: dwarf2read.c:15568
+#: dwarf2read.c:15399
 #, possible-c-format
-msgid "cannot determine context for virtual member function \"%s\" (offset %d)"
+msgid "cannot determine context for virtual member function \"%s\" (offset %s)"
 msgstr ""
 
-#: dwarf2read.c:15596
+#. GCC does this, as of 2008-08-25; PR debug/37237.
+#: dwarf2read.c:15426
 #, possible-c-format
 msgid ""
-"Member function \"%s\" (offset %d) is virtual but the vtable offset is not "
+"Member function \"%s\" (offset %s) is virtual but the vtable offset is not "
 "specified"
 msgstr ""
 
-#: dwarf2read.c:15615
+#: dwarf2read.c:15442
 msgid "unexpected member functions in Ada type"
 msgstr ""
 
-#: dwarf2read.c:15951
+#: dwarf2read.c:15539
+#, possible-c-format
+msgid "DW_AT_alignment must have constant form - DIE at %s [in module %s]"
+msgstr ""
+
+#: dwarf2read.c:15552
+#, possible-c-format
+msgid "DW_AT_alignment value must not be negative - DIE at %s [in module %s]"
+msgstr ""
+
+#: dwarf2read.c:15565
+#, possible-c-format
+msgid "DW_AT_alignment value must not be zero - DIE at %s [in module %s]"
+msgstr ""
+
+#: dwarf2read.c:15573
+#, possible-c-format
+msgid "DW_AT_alignment value must be a power of 2 - DIE at %s [in module %s]"
+msgstr ""
+
+#: dwarf2read.c:15591
+#, possible-c-format
+msgid "DW_AT_alignment value too large - DIE at %s [in module %s]"
+msgstr ""
+
+#: dwarf2read.c:15801
+#, possible-c-format
+msgid "DW_AT_discr_list is not supported yet - DIE at %s [in module %s]"
+msgstr ""
+
+#: dwarf2read.c:15854
+#, possible-c-format
+msgid "DW_AT_discr does not have DIE reference form - DIE at %s [in module %s]"
+msgstr ""
+
+#: dwarf2read.c:15931
 #, possible-c-format
 msgid "virtual function table pointer not found when defining class '%s'"
 msgstr ""
 
-#: dwarf2read.c:16335
+#: dwarf2read.c:16303
 #, possible-c-format
-msgid "unable to read array DW_AT_byte_stride  - DIE at 0x%x [in module %s]"
+msgid "unable to read array DW_AT_byte_stride  - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16420
+#: dwarf2read.c:16387
 msgid "DW_AT_byte_size for array type smaller than the total size of elements"
 msgstr ""
 
-#: dwarf2read.c:16641
+#. GDB has handled this for a long time, but it is
+#. not specified by DWARF.  It seems to have been
+#. emitted by gfortran at least as recently as:
+#. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23057.
+#: dwarf2read.c:16613
 #, possible-c-format
 msgid ""
-"Variable in common block has DW_AT_data_member_location - DIE at 0x%x [in "
+"Variable in common block has DW_AT_data_member_location - DIE at %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:16764
+#: dwarf2read.c:16734
 #, possible-c-format
-msgid "DW_TAG_module has no name, offset 0x%x"
+msgid "DW_TAG_module has no name, offset %s"
 msgstr ""
 
-#: dwarf2read.c:16878
+#: dwarf2read.c:16850
 #, possible-c-format
 msgid "invalid pointer size %d"
 msgstr ""
 
-#: dwarf2read.c:17306
+#: dwarf2read.c:16854
 #, possible-c-format
-msgid "Self-referential DW_TAG_typedef - DIE at 0x%x [in module %s]"
+msgid "Invalid DW_AT_alignment - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:17361
+#. Self-referential typedefs are, it seems, not allowed by the DWARF
+#. spec and cause infinite loops in GDB.
+#: dwarf2read.c:17287
+#, possible-c-format
+msgid "Self-referential DW_TAG_typedef - DIE at %s [in module %s]"
+msgstr ""
+
+#: dwarf2read.c:17341
 msgid "DW_AT_name missing from DW_TAG_base_type"
 msgstr ""
 
-#: dwarf2read.c:17423
+#: dwarf2read.c:17402
 #, possible-c-format
 msgid "unsupported DW_ATE_UTF bit size: '%d'"
 msgstr ""
 
-#: dwarf2read.c:17432
+#: dwarf2read.c:17411
 #, possible-c-format
 msgid "unsupported DW_AT_encoding: '%s'"
 msgstr ""
 
-#: dwarf2read.c:17612
+#: dwarf2read.c:17594
 #, possible-c-format
-msgid "Missing DW_AT_lower_bound - DIE at 0x%x [in module %s]"
+msgid "Missing DW_AT_lower_bound - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:17858
+#: dwarf2read.c:17844
 #, possible-c-format
 msgid "Dwarf Error: could not find abbrev number %d [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:18307
+#: dwarf2read.c:18227
 #, possible-c-format
 msgid ""
-"DW_TAG_typedef has childen - GCC PR debug/47510 bug - DIE at 0x%x [in module "
-"%s]"
+"DW_TAG_typedef has childen - GCC PR debug/47510 bug - DIE at %s [in module %"
+"s]"
 msgstr ""
 
-#: dwarf2read.c:18628
+#: dwarf2read.c:18545
 #, possible-c-format
-msgid "DW_AT_low_pc %s is zero for DIE at 0x%x [in module %s]"
+msgid "DW_AT_low_pc %s is zero for DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:18639
+#: dwarf2read.c:18557
 #, possible-c-format
-msgid ""
-"DW_AT_low_pc %s is not < DW_AT_high_pc %s for DIE at 0x%x [in module %s]"
+msgid "DW_AT_low_pc %s is not < DW_AT_high_pc %s for DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:18696
+#: dwarf2read.c:18615
 #, possible-c-format
 msgid ""
-"Dwarf Error: Type Unit at offset 0x%x contains external reference to offset "
-"0x%x [in module %s].\n"
+"Dwarf Error: Type Unit at offset %s contains external reference to offset %s "
+"[in module %s].\n"
 msgstr ""
 
-#: dwarf2read.c:18731
+#: dwarf2read.c:18650
 #, possible-c-format
-msgid "could not find partial DIE 0x%x in cache [from module %s]\n"
+msgid "could not find partial DIE %s in cache [from module %s]\n"
 msgstr ""
 
 #. For now flag a hard error.
 #. Later we can turn this into a complaint.
 #. For now flag a hard error.
 #. Later we can turn this into a complaint if warranted.
-#: dwarf2read.c:19071 dwarf2read.c:19083
+#: dwarf2read.c:18993 dwarf2read.c:19005
 #, possible-c-format
 msgid "Dwarf Error: %s found in non-DWO CU [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19118
+#: dwarf2read.c:19039
 #, possible-c-format
 msgid "Suspicious DW_AT_byte_size value treated as zero instead of %s"
 msgstr ""
 
-#: dwarf2read.c:19204
+#: dwarf2read.c:19125
 #, possible-c-format
 msgid "read_address: bad switch, signed [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19223
+#: dwarf2read.c:19144
 #, possible-c-format
 msgid "read_address: bad switch, unsigned [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19317
+#: dwarf2read.c:19237
 msgid "intermixed 32-bit and 64-bit DWARF sections"
 msgstr ""
 
-#: dwarf2read.c:19354
+#: dwarf2read.c:19274
 #, possible-c-format
 msgid "read_offset_1: bad switch [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19399
+#: dwarf2read.c:19320
 #, possible-c-format
 msgid "%s used without %s section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19402
+#: dwarf2read.c:19323
 #, possible-c-format
 msgid "%s pointing outside of %s section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19442
+#: dwarf2read.c:19368
 #, possible-c-format
 msgid "DW_FORM_GNU_strp_alt used without .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19446
+#: dwarf2read.c:19372
 #, possible-c-format
 msgid ""
 "DW_FORM_GNU_strp_alt pointing outside of .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19553
+#: dwarf2read.c:19483
 #, possible-c-format
 msgid "DW_FORM_addr_index used without .debug_addr section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19556
+#: dwarf2read.c:19486
 #, possible-c-format
 msgid ""
 "DW_FORM_addr_index pointing outside of .debug_addr section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19686
+#: dwarf2read.c:19617
 #, possible-c-format
 msgid ""
-"%s used without .debug_str.dwo section in CU at offset 0x%x [in module %s]"
+"%s used without .debug_str.dwo section in CU at offset %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19690
+#: dwarf2read.c:19621
 #, possible-c-format
 msgid ""
-"%s used without .debug_str_offsets.dwo section in CU at offset 0x%x [in "
-"module %s]"
+"%s used without .debug_str_offsets.dwo section in CU at offset %s [in module "
+"%s]"
 msgstr ""
 
-#: dwarf2read.c:19694
+#: dwarf2read.c:19625
 #, possible-c-format
 msgid ""
-"%s pointing outside of .debug_str_offsets.dwo section in CU at offset 0x%x "
-"[in module %s]"
+"%s pointing outside of .debug_str_offsets.dwo section in CU at offset %s [in "
+"module %s]"
 msgstr ""
 
-#: dwarf2read.c:19704
+#: dwarf2read.c:19635
 #, possible-c-format
 msgid ""
-"Offset from %s pointing outside of .debug_str.dwo section in CU at offset 0x%"
-"x [in module %s]"
+"Offset from %s pointing outside of .debug_str.dwo section in CU at offset %s "
+"[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19852
+#: dwarf2read.c:19782
 #, possible-c-format
-msgid "string type expected for attribute %s for DIE at 0x%x in module %s"
+msgid "string type expected for attribute %s for DIE at %s in module %s"
 msgstr ""
 
-#: dwarf2read.c:20081
+#: dwarf2read.c:20014
 #, possible-c-format
 msgid "Unknown format content type %s"
 msgstr ""
 
-#: dwarf2read.c:20117
+#: dwarf2read.c:20052
 msgid "missing .debug_line.dwo section"
 msgstr ""
 
-#: dwarf2read.c:20119
+#: dwarf2read.c:20054
 msgid "missing .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:20160
+#. This is a version we don't understand.  The format could have
+#. changed in ways we don't handle properly so just punt.
+#: dwarf2read.c:20094
 msgid "unsupported version in .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:20176
+#: dwarf2read.c:20109
 #, possible-c-format
 msgid "unsupported segment selector size %u in .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:20198
+#: dwarf2read.c:20130
 msgid "invalid maximum_ops_per_instruction in `.debug_line' section"
 msgstr ""
 
-#: dwarf2read.c:20271
+#: dwarf2read.c:20204
 msgid "line number info header doesn't fit in `.debug_line' section"
 msgstr ""
 
-#: dwarf2read.c:20745
+#: dwarf2read.c:20670
 #, possible-c-format
 msgid ".debug_line address at offset 0x%lx is 0 [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:20873 dwarf2read.c:20882
+#: dwarf2read.c:20797 dwarf2read.c:20805
 msgid "mangled .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:21257
+#: dwarf2read.c:21184
 msgid "file index out of range"
 msgstr ""
 
@@ -10618,376 +10803,339 @@ msgstr ""
 #. trash data, but since we must specifically ignore things
 #. we don't recognize, there is nothing else we should do at
 #. this point.
-#: dwarf2read.c:21542
+#: dwarf2read.c:21469
 #, possible-c-format
 msgid "unsupported tag: '%s'"
 msgstr ""
 
-#: dwarf2read.c:21709 dwarf2read.c:23128
+#: dwarf2read.c:21627 dwarf2read.c:23047
 #, possible-c-format
 msgid "unsupported const value attribute form: '%s'"
 msgstr ""
 
-#: dwarf2read.c:21827
+#: dwarf2read.c:21741
 #, possible-c-format
 msgid ""
 "Dwarf Error: Problem turning containing type into gdb type [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:21841
+#: dwarf2read.c:21757
 #, possible-c-format
-msgid "<unknown type in %s, CU 0x%x, DIE 0x%x>"
+msgid "<unknown type in %s, CU %s, DIE %s>"
 msgstr ""
 
-#: dwarf2read.c:21893
+#: dwarf2read.c:21811
 #, possible-c-format
-msgid "Dwarf Error: Bad type attribute %s in DIE at 0x%x [in module %s]"
+msgid "Dwarf Error: Bad type attribute %s in DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:22022
+#: dwarf2read.c:21939
 #, possible-c-format
 msgid "unexpected tag in read_type_die: '%s'"
 msgstr ""
 
-#: dwarf2read.c:22233
+#: dwarf2read.c:22153
 #, possible-c-format
 msgid "template param type '%s' defined within parent '%s'"
 msgstr ""
 
-#: dwarf2read.c:22768
+#: dwarf2read.c:22688
 #, possible-c-format
 msgid "unsupported die ref attribute form: '%s'"
 msgstr ""
 
-#: dwarf2read.c:22791
+#. For DW_FORM_data16 see attr_form_is_constant.
+#: dwarf2read.c:22710
 #, possible-c-format
 msgid "Attribute value is not a constant (%s)"
 msgstr ""
 
-#: dwarf2read.c:22814
+#: dwarf2read.c:22733
 #, possible-c-format
 msgid "Dwarf Error: Expected reference attribute [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:22890
+#: dwarf2read.c:22811
 #, possible-c-format
 msgid ""
-"Dwarf Error: Cannot find DIE at 0x%x referenced from DIE at 0x%x [in module %"
-"s]"
+"Dwarf Error: Cannot find DIE at %s referenced from DIE at %s [in module %s]"
 msgstr ""
 
 #. We shouldn't get here for a dummy CU, but don't crash on the user.
 #. Instead just throw an error, not much else we can do.
-#: dwarf2read.c:22922 dwarf2read.c:23030
+#: dwarf2read.c:22844 dwarf2read.c:22951
 #, possible-c-format
-msgid "Dwarf Error: Dummy CU at 0x%x referenced in module %s"
+msgid "Dwarf Error: Dummy CU at %s referenced in module %s"
 msgstr ""
 
-#: dwarf2read.c:22928 dwarf2read.c:23036
+#: dwarf2read.c:22850 dwarf2read.c:22957
 #, possible-c-format
-msgid "Dwarf Error: Cannot find DIE at 0x%x referenced in module %s"
+msgid "Dwarf Error: Cannot find DIE at %s referenced in module %s"
 msgstr ""
 
-#: dwarf2read.c:22955
+#: dwarf2read.c:22877
 #, possible-c-format
 msgid ""
-"Dwarf Error: DIE at 0x%x referenced in module %s is neither DW_FORM_block* "
-"nor DW_FORM_exprloc"
+"Dwarf Error: DIE at %s referenced in module %s is neither DW_FORM_block* nor "
+"DW_FORM_exprloc"
 msgstr ""
 
-#: dwarf2read.c:23242 dwarf2read.c:23279
+#: dwarf2read.c:23160 dwarf2read.c:23198
 #, possible-c-format
 msgid ""
-"Dwarf Error: Cannot find signatured DIE %s referenced from DIE at 0x%x [in "
+"Dwarf Error: Cannot find signatured DIE %s referenced from DIE at %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:23252 dwarf2read.c:23311
+#: dwarf2read.c:23170 dwarf2read.c:23228
 #, possible-c-format
 msgid ""
-"Dwarf Error: Problem reading signatured DIE %s referenced from DIE at 0x%x "
-"[in module %s]"
+"Dwarf Error: Problem reading signatured DIE %s referenced from DIE at %s [in "
+"module %s]"
 msgstr ""
 
-#: dwarf2read.c:23301
+#: dwarf2read.c:23219
 #, possible-c-format
 msgid ""
-"Dwarf Error: Cannot build signatured type %s referenced from DIE at 0x%x [in "
+"Dwarf Error: Cannot build signatured type %s referenced from DIE at %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:23344
+#: dwarf2read.c:23263
 #, possible-c-format
 msgid ""
-"Dwarf Error: DW_AT_signature has bad form %s in DIE at 0x%x [in module %s]"
+"Dwarf Error: DW_AT_signature has bad form %s in DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:23664
+#: dwarf2read.c:23583
 #, possible-c-format
 msgid "unsupported stack op: '%s'"
 msgstr ""
 
-#: dwarf2read.c:23667
+#: dwarf2read.c:23586
 #, possible-c-format
 msgid "unsupported stack op: '%02x'"
 msgstr ""
 
-#: dwarf2read.c:23679
+#: dwarf2read.c:23597
 msgid "location description stack overflow"
 msgstr ""
 
-#: dwarf2read.c:23686
+#: dwarf2read.c:23603
 msgid "location description stack underflow"
 msgstr ""
 
-#: dwarf2read.c:23750
+#: dwarf2read.c:23666
 #, possible-c-format
 msgid "bad file number in macro information (%d)"
 msgstr ""
 
-#: dwarf2read.c:23813
+#: dwarf2read.c:23728
 #, possible-c-format
 msgid ""
 "macro definition contains spaces in formal argument list:\n"
 "`%s'"
 msgstr ""
 
-#: dwarf2read.c:24043
+#: dwarf2read.c:23957
 #, possible-c-format
 msgid "invalid form 0x%x in `%s'"
 msgstr ""
 
-#: dwarf2read.c:24071
+#: dwarf2read.c:23984
 #, possible-c-format
 msgid "unrecognized DW_MACFINO opcode 0x%x"
 msgstr ""
 
-#: dwarf2read.c:24117
+#: dwarf2read.c:24029
 #, possible-c-format
 msgid "unrecognized version `%d' in .debug_macro section"
 msgstr ""
 
-#: dwarf2read.c:24261
+#. DWARF violation as no main source is present.
+#: dwarf2read.c:24176
 #, possible-c-format
 msgid "debug info with no main source gives macro %s on line %d: %s"
 msgstr ""
 
-#: dwarf2read.c:24263 dwarf2read.c:24272
+#: dwarf2read.c:24178 dwarf2read.c:24186
 msgid "definition"
 msgstr ""
 
-#: dwarf2read.c:24263 dwarf2read.c:24272
+#: dwarf2read.c:24178 dwarf2read.c:24186
 msgid "undefinition"
 msgstr ""
 
-#: dwarf2read.c:24270
+#: dwarf2read.c:24184
 #, possible-c-format
 msgid "debug info gives %s macro %s with %s line %d: %s"
 msgstr ""
 
-#: dwarf2read.c:24271 dwarf2read.c:24302
+#: dwarf2read.c:24185 dwarf2read.c:24215
 msgid "command-line"
 msgstr ""
 
-#: dwarf2read.c:24271
+#: dwarf2read.c:24185
 msgid "in-file"
 msgstr ""
 
-#: dwarf2read.c:24273 dwarf2read.c:24303
+#: dwarf2read.c:24187 dwarf2read.c:24216
 msgid "zero"
 msgstr ""
 
-#: dwarf2read.c:24273 dwarf2read.c:24303
+#: dwarf2read.c:24187 dwarf2read.c:24216
 msgid "non-zero"
 msgstr ""
 
-#: dwarf2read.c:24300
+#: dwarf2read.c:24213
 #, possible-c-format
 msgid "debug info gives source %d included from %s at %s line %d"
 msgstr ""
 
-#: dwarf2read.c:24302 skip.c:331
+#: dwarf2read.c:24215 skip.c:331
 msgid "file"
 msgstr ""
 
-#: dwarf2read.c:24319
+#: dwarf2read.c:24231
 msgid "macro debug info has an unmatched `close_file' directive"
 msgstr ""
 
-#: dwarf2read.c:24347
+#: dwarf2read.c:24258
 msgid "no terminating 0-type entry for macros in `.debug_macinfo' section"
 msgstr ""
 
-#: dwarf2read.c:24389
+#. This has actually happened; see
+#. http://sourceware.org/bugzilla/show_bug.cgi?id=13568.
+#: dwarf2read.c:24299
 msgid "recursive DW_MACRO_import in .debug_macro section"
 msgstr ""
 
-#: dwarf2read.c:24481
+#: dwarf2read.c:24394
 #, possible-c-format
 msgid "missing %s section"
 msgstr ""
 
-#: dwarf2read.c:24772
+#: dwarf2read.c:24692
 msgid "Location list used without specifying the CU base address."
 msgstr ""
 
-#: dwarf2read.c:24947
+#: dwarf2read.c:24867
 #, possible-c-format
 msgid ""
-"Dwarf Error: could not find partial DIE containing offset 0x%x [in module %s]"
-msgstr ""
-
-#: dwarf2read.c:24960
-#, possible-c-format
-msgid "invalid dwarf2 offset %u"
-msgstr ""
-
-#: dwarf2read.c:25224
-#, possible-c-format
-msgid "DW_AT_allocated has the wrong form (%s) at DIE 0x%x"
-msgstr ""
-
-#: dwarf2read.c:25239
-#, possible-c-format
-msgid "DW_AT_associated has the wrong form (%s) at DIE 0x%x"
-msgstr ""
-
-#: dwarf2read.c:25268
-#, possible-c-format
-msgid "A problem internal to GDB: DIE 0x%x has type already set"
-msgstr ""
-
-#: dwarf2read.c:25463
-msgid "couldn't data write to file"
-msgstr ""
-
-#: dwarf2read.c:25935 dwarf2read.c:26569
-msgid "Ada is not currently supported by the index"
+"Dwarf Error: could not find partial DIE containing offset %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:26319
+#: dwarf2read.c:24881
 #, possible-c-format
-msgid "Duplicate string \"%s\" in .debug_str section [in module %s]"
+msgid "invalid dwarf2 offset %s"
 msgstr ""
 
-#: dwarf2read.c:26923
+#: dwarf2read.c:25109
 #, possible-c-format
-msgid "Can't get `%s' size"
-msgstr ""
-
-#: dwarf2read.c:26934
-msgid "Cannot use an index to create the index"
-msgstr ""
-
-#: dwarf2read.c:26937
-msgid "Cannot make an index when the file has multiple .debug_types sections"
+msgid "DW_AT_allocated has the wrong form (%s) at DIE %s"
 msgstr ""
 
-#: dwarf2read.c:26953 dwarf2read.c:26970
+#: dwarf2read.c:25123
 #, possible-c-format
-msgid "Can't open `%s' for writing"
-msgstr ""
-
-#: dwarf2read.c:27017
-msgid "usage: save gdb-index [-dwarf-5] DIRECTORY"
+msgid "DW_AT_associated has the wrong form (%s) at DIE %s"
 msgstr ""
 
-#: dwarf2read.c:27040
+#: dwarf2read.c:25151
 #, possible-c-format
-msgid "Error while writing index for `%s': "
+msgid "A problem internal to GDB: DIE %s has type already set"
 msgstr ""
 
-#: dwarf2read.c:27057
+#: dwarf2read.c:25310
 #, possible-c-format
 msgid "Whether to always disassemble DWARF expressions is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:27067
+#: dwarf2read.c:25320
 #, possible-c-format
 msgid "Whether to check \"physname\" is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:27079
+#: dwarf2read.c:25330
 msgid ""
 "Set DWARF specific variables.\n"
 "Configure DWARF variables such as the cache size"
 msgstr ""
 
 #. allow-unknown
-#: dwarf2read.c:27085
+#: dwarf2read.c:25336
 msgid ""
 "Show DWARF specific variables\n"
 "Show DWARF variables such as the cache size"
 msgstr ""
 
-#: dwarf2read.c:27092
+#: dwarf2read.c:25343
 msgid "Set the upper bound on the age of cached DWARF compilation units."
 msgstr ""
 
-#: dwarf2read.c:27093
+#: dwarf2read.c:25344
 msgid "Show the upper bound on the age of cached DWARF compilation units."
 msgstr ""
 
-#: dwarf2read.c:27094
+#: dwarf2read.c:25345
 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:27104
+#: dwarf2read.c:25355
 msgid "Set whether `info address' always disassembles DWARF expressions."
 msgstr ""
 
-#: dwarf2read.c:27105
+#: dwarf2read.c:25356
 msgid "Show whether `info address' always disassembles DWARF expressions."
 msgstr ""
 
-#: dwarf2read.c:27106
+#: dwarf2read.c:25357
 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:27115
+#: dwarf2read.c:25366
 msgid "Set debugging of the DWARF reader."
 msgstr ""
 
-#: dwarf2read.c:27116
+#: dwarf2read.c:25367
 msgid "Show debugging of the DWARF reader."
 msgstr ""
 
-#: dwarf2read.c:27117
+#: dwarf2read.c:25368
 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:27125
+#: dwarf2read.c:25376
 msgid "Set debugging of the DWARF DIE reader."
 msgstr ""
 
-#: dwarf2read.c:27126
+#: dwarf2read.c:25377
 msgid "Show debugging of the DWARF DIE reader."
 msgstr ""
 
-#: dwarf2read.c:27127
+#: dwarf2read.c:25378
 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:27134
+#: dwarf2read.c:25385
 msgid "Set debugging of the dwarf line reader."
 msgstr ""
 
-#: dwarf2read.c:27135
+#: dwarf2read.c:25386
 msgid "Show debugging of the dwarf line reader."
 msgstr ""
 
-#: dwarf2read.c:27136
+#: dwarf2read.c:25387
 msgid ""
 "When enabled (non-zero), line number entries are dumped as they are read "
 "in.\n"
@@ -10995,29 +11143,29 @@ msgid ""
 "A value greater than 1 provides more verbose information."
 msgstr ""
 
-#: dwarf2read.c:27144
+#: dwarf2read.c:25395
 msgid "Set cross-checking of \"physname\" code against demangler."
 msgstr ""
 
-#: dwarf2read.c:27145
+#: dwarf2read.c:25396
 msgid "Show cross-checking of \"physname\" code against demangler."
 msgstr ""
 
-#: dwarf2read.c:27146
+#: dwarf2read.c:25397
 msgid ""
 "When enabled, GDB's internal \"physname\" code is checked against\n"
 "the demangler."
 msgstr ""
 
-#: dwarf2read.c:27153
+#: dwarf2read.c:25404
 msgid "Set whether to use deprecated gdb_index sections."
 msgstr ""
 
-#: dwarf2read.c:27154
+#: dwarf2read.c:25405
 msgid "Show whether to use deprecated gdb_index sections."
 msgstr ""
 
-#: dwarf2read.c:27155
+#: dwarf2read.c:25406
 msgid ""
 "When enabled, deprecated .gdb_index sections are used anyway.\n"
 "Normally they are ignored either because of a missing feature or\n"
@@ -11025,7 +11173,47 @@ msgid ""
 "Warning: This option must be enabled before gdb reads the file."
 msgstr ""
 
-#: dwarf2read.c:27165
+#: dwarf-index-write.c:78
+msgid "couldn't data write to file"
+msgstr ""
+
+#: dwarf-index-write.c:550 dwarf-index-write.c:1187
+msgid "Ada is not currently supported by the index"
+msgstr ""
+
+#: dwarf-index-write.c:936
+#, possible-c-format
+msgid "Duplicate string \"%s\" in .debug_str section [in module %s]"
+msgstr ""
+
+#: dwarf-index-write.c:1544
+#, possible-c-format
+msgid "Can't get `%s' size"
+msgstr ""
+
+#: dwarf-index-write.c:1558
+msgid "Cannot use an index to create the index"
+msgstr ""
+
+#: dwarf-index-write.c:1561
+msgid "Cannot make an index when the file has multiple .debug_types sections"
+msgstr ""
+
+#: dwarf-index-write.c:1577 dwarf-index-write.c:1594
+#, possible-c-format
+msgid "Can't open `%s' for writing"
+msgstr ""
+
+#: dwarf-index-write.c:1641
+msgid "usage: save gdb-index [-dwarf-5] DIRECTORY"
+msgstr ""
+
+#: dwarf-index-write.c:1663
+#, possible-c-format
+msgid "Error while writing index for `%s': "
+msgstr ""
+
+#: dwarf-index-write.c:1676
 msgid ""
 "Save a gdb-index file.\n"
 "Usage: save gdb-index [-dwarf-5] DIRECTORY\n"
@@ -11035,148 +11223,152 @@ msgid ""
 "extension .debug_names and .debug_str for DWARF-5 .debug_names section."
 msgstr ""
 
-#: elfread.c:150
+#: elfread.c:148
 #, possible-c-format
 msgid "Loadable section \"%s\" outside of ELF segments"
 msgstr ""
 
 #. This case indicates buggy inferior program, the resolved address
 #. should never change.
-#: elfread.c:711
+#: elfread.c:739
 #, possible-c-format
 msgid ""
 "gnu-indirect-function \"%s\" has changed its resolved function_address from %"
 "s to %s"
 msgstr ""
 
-#: elfread.c:969
+#: elfread.c:999
 #, possible-c-format
 msgid "handle_inferior_event: Invalid gnu-indirect-function breakpoint type %d"
 msgstr ""
 
-#: elfread.c:1045 elfread.c:1058 elfread.c:1084 machoread.c:829
-#: machoread.c:846
+#: elfread.c:1076 elfread.c:1089 elfread.c:1115 machoread.c:810
+#: machoread.c:826
 #, possible-c-format
 msgid "Can't read symbols from %s: %s"
 msgstr ""
 
-#: eval.c:315
+#: eval.c:308
 msgid "too many initializers"
 msgstr ""
 
-#: eval.c:319
+#: eval.c:312
 msgid "don't know which variant you want to set"
 msgstr ""
 
-#: eval.c:380
+#: eval.c:373
 msgid "tuple index out of range"
 msgstr ""
 
-#: eval.c:779
+#: eval.c:768
 msgid "Cannot evaluate function -- may be inlined"
 msgstr ""
 
-#: eval.c:802 valarith.c:491 valarith.c:610
+#: eval.c:791 valarith.c:489 valarith.c:608
 msgid "Xmethod is missing return type."
 msgstr ""
 
-#: eval.c:819
+#: eval.c:817
 msgid ""
 "Expression of type other than \"Function returning ...\" used as function"
 msgstr ""
 
-#: eval.c:914
+#: eval.c:912
 msgid "Non-pointer-to-member value used in pointer-to-member construct"
 msgstr ""
 
 #. For the time being, we don't handle this.
-#: eval.c:1146
+#: eval.c:1144
 #, possible-c-format
 msgid "Call to overloaded function %s requires `this' pointer"
 msgstr ""
 
-#: eval.c:1329
+#: eval.c:1327
 #, possible-c-format
 msgid "Symbol \"%s\" does not have any specific entry value"
 msgstr ""
 
-#: eval.c:1372
+#: eval.c:1370
 #, possible-c-format
 msgid "Register $%s not available."
 msgstr ""
 
-#: eval.c:1386
+#: eval.c:1384
 #, possible-c-format
 msgid "Value of register %s not available."
 msgstr ""
 
-#: eval.c:1495
+#: eval.c:1493
 msgid "(power)set type with unknown size"
 msgstr ""
 
 #. different element modes.
-#: eval.c:1518
+#: eval.c:1516
 msgid "POWERSET tuple elements of different mode"
 msgstr ""
 
-#: eval.c:1522
+#: eval.c:1520
 msgid "incompatible POWERSET tuple elements"
 msgstr ""
 
-#: eval.c:1525
+#: eval.c:1523
 msgid "empty POWERSET tuple range"
 msgstr ""
 
-#: eval.c:1529
+#: eval.c:1527
 msgid "POWERSET tuple element out of range"
 msgstr ""
 
-#: eval.c:1694
+#: eval.c:1692
 msgid "no 'respondsTo:' or 'respondsToSelector:' method"
 msgstr ""
 
-#: eval.c:1703
+#: eval.c:1701
 msgid "no 'methodFor:' or 'methodForSelector:' method"
 msgstr ""
 
-#: eval.c:1722
+#: eval.c:1720
 msgid "Target does not respond to this message selector."
 msgstr ""
 
-#: eval.c:1807
+#: eval.c:1805
 msgid "method address has symbol information with non-function type; skipping"
 msgstr ""
 
-#: eval.c:1860
+#: eval.c:1858
 msgid "Expression of type other than \"method returning ...\" used as a method"
 msgstr ""
 
-#: eval.c:1962
+#: eval.c:1960
 msgid "Cannot perform substring on this type"
 msgstr ""
 
-#: eval.c:2079
+#: eval.c:2077
 msgid "non-pointer-to-member value used in pointer-to-member construct"
 msgstr ""
 
-#: eval.c:2346
+#: eval.c:2344
 #, possible-c-format
 msgid "Too many subscripts for F77 (%d Max)"
 msgstr ""
 
-#: eval.c:2351
+#: eval.c:2349
 msgid "Wrong number of subscripts"
 msgstr ""
 
-#: eval.c:2546
+#: eval.c:2544
 msgid "Non-integral right operand for \"@\" operator."
 msgstr ""
 
-#: eval.c:2616
+#: eval.c:2614
 msgid "Attempt to dereference pointer to member without an object"
 msgstr ""
 
-#: eval.c:2875
+#: eval.c:2680
+msgid "could not determine alignment of type"
+msgstr ""
+
+#: eval.c:2886
 msgid "Attempt to use a type as an expression"
 msgstr ""
 
@@ -11188,23 +11380,23 @@ msgstr ""
 #. If there are any cases landing here which mean a user error,
 #. then they should be separate cases, with more descriptive
 #. error messages.
-#: eval.c:2904
+#: eval.c:2915
 msgid "GDB does not (yet) know how to evaluate that kind of expression"
 msgstr ""
 
-#: eval.c:2980
+#: eval.c:2991
 msgid "Attempt to take address of register or constant."
 msgstr ""
 
-#: eval.c:3029 valops.c:1436 valops.c:1451 valops.c:1500
+#: eval.c:3040 valops.c:1437 valops.c:1452 valops.c:1501
 msgid "Attempt to take address of value not located in memory."
 msgstr ""
 
-#: eval.c:3275
+#: eval.c:3286
 msgid "Internal error in eval_type."
 msgstr ""
 
-#: eval.c:3286
+#: eval.c:3297
 msgid "Can't get dimensions for a non-array type"
 msgstr ""
 
@@ -11243,92 +11435,102 @@ msgstr ""
 msgid "Erroneous arithmetic operation."
 msgstr ""
 
-#: exceptions.c:104
+#: exceptions.c:108
 msgid "Bad switch."
 msgstr ""
 
-#: exec.c:68
-#, possible-c-format
-msgid "Writing into executable and core files is %s.\n"
+#: exec.c:54
+msgid "Local exec file"
 msgstr ""
 
-#: exec.c:128 exec.c:260
-msgid "No executable file now.\n"
+#: exec.c:55
+msgid ""
+"Use an executable file as a target.\n"
+"Specify the filename of the executable file."
+msgstr ""
+
+#: exec.c:93
+#, possible-c-format
+msgid "Writing into executable and core files is %s.\n"
 msgstr ""
 
-#: exec.c:206
+#: exec.c:220
 msgid ""
 "No executable has been specified and target does not support\n"
 "determining executable automatically.  Try using the \"file\" command."
 msgstr ""
 
-#: exec.c:285
+#: exec.c:273
+msgid "No executable file now.\n"
+msgstr ""
+
+#: exec.c:298
 #, possible-c-format
 msgid "writing into executable files is not supported for %s sysroots"
 msgstr ""
 
-#: exec.c:336
+#: exec.c:346
 #, possible-c-format
 msgid "\"%s\": could not open as an executable file: %s."
 msgstr ""
 
-#: exec.c:353
+#: exec.c:363
 #, possible-c-format
 msgid "\"%s\": not in executable format: %s"
 msgstr ""
 
-#: exec.c:363
+#: exec.c:373
 #, possible-c-format
 msgid "\"%s\": can't find the file sections: %s"
 msgstr ""
 
-#: exec.c:400
+#: exec.c:410
 msgid ""
 "A program is being debugged already.\n"
 "Are you sure you want to change the file? "
 msgstr ""
 
-#: exec.c:402
+#: exec.c:412
 msgid "File not changed."
 msgstr ""
 
-#: exec.c:416
+#: exec.c:426
 msgid "No executable file name was specified"
 msgstr ""
 
-#: exec.c:888 maint.c:348 maint.c:380
+#: exec.c:898 maint.c:348 maint.c:380
 #, possible-c-format
 msgid "file type %s.\n"
 msgstr ""
 
-#: exec.c:914
+#: exec.c:924
 #, possible-c-format
 msgid "Cannot find section for the entry point of %s."
 msgstr ""
 
-#: exec.c:920
+#: exec.c:930
 #, possible-c-format
 msgid "\tEntry point: %s\n"
 msgstr ""
 
-#: exec.c:953
+#: exec.c:963
 msgid "\t<no file loaded>\n"
 msgstr ""
 
-#: exec.c:968
+#: exec.c:978
 msgid "Must specify section name and its virtual address"
 msgstr ""
 
-#: exec.c:996
+#: exec.c:1006
 #, possible-c-format
 msgid "Section %s not found"
 msgstr ""
 
-#: exec.c:1053
+#: exec.c:1042
 msgid "Can't create a corefile"
 msgstr ""
 
-#: exec.c:1089
+#: exec.c:1058
 msgid ""
 "Use FILE as program to be debugged.\n"
 "It is read for its symbols, for getting the contents of pure memory,\n"
@@ -11338,7 +11540,7 @@ msgid ""
 "No arg means to have no executable file and no symbols."
 msgstr ""
 
-#: exec.c:1099
+#: exec.c:1068
 msgid ""
 "Use FILE as program for getting contents of pure memory.\n"
 "If FILE cannot be found as specified, your execution directory path\n"
@@ -11346,7 +11548,7 @@ msgid ""
 "No arg means have no executable file."
 msgstr ""
 
-#: exec.c:1106
+#: exec.c:1075
 msgid ""
 "Change the base address of section SECTION of the exec file to ADDR.\n"
 "This can be used if the exec file does not contain section addresses,\n"
@@ -11355,15 +11557,15 @@ msgid ""
 "``info files'' command lists all the sections and their addresses."
 msgstr ""
 
-#: exec.c:1113
+#: exec.c:1082
 msgid "Set writing into executable and core files."
 msgstr ""
 
-#: exec.c:1114
+#: exec.c:1083
 msgid "Show writing into executable and core files."
 msgstr ""
 
-#: expprint.c:251
+#: expprint.c:252
 msgid "bad selector"
 msgstr ""
 
@@ -11372,11 +11574,11 @@ msgstr ""
 #. Not found; don't try to keep going because we don't know how
 #. to interpret further elements.  For example, this happens
 #. if opcode is OP_TYPE.
-#: expprint.c:505 expprint.c:611
+#: expprint.c:503 expprint.c:613
 msgid "Invalid expression"
 msgstr ""
 
-#: expprint.c:515
+#: expprint.c:513
 #, possible-c-format
 msgid "<language %s has no 'this'>"
 msgstr ""
@@ -11386,85 +11588,183 @@ msgstr ""
 msgid "Scripting in the \"%s\" language is not supported in this copy of GDB."
 msgstr ""
 
-#: extension.c:928
+#: extension.c:866
 #, possible-c-format
 msgid "Error while looking for matching xmethod workers defined in %s."
 msgstr ""
 
-#: extension.c:961
+#: extension.c:880
 #, possible-c-format
 msgid "Error while looking for arg types of a xmethod worker defined in %s."
 msgstr ""
 
-#: extension.c:986
+#: extension.c:896
 #, possible-c-format
 msgid "Error while fetching result type of an xmethod worker defined in %s."
 msgstr ""
 
-#: fbsd-nat.c:105
+#: fbsd-nat.c:103
 msgid "Couldn't fetch VM map entries."
 msgstr ""
 
-#: fbsd-nat.c:179
+#: fbsd-nat.c:177
 #, possible-c-format
 msgid "Couldn't open %s."
 msgstr ""
 
-#: fbsd-nat.c:460
+#: fbsd-nat.c:309 infcmd.c:3161 procfs.c:3568
+msgid "Not supported on this target."
+msgstr ""
+
+#: fbsd-nat.c:317 linux-tdep.c:742 procfs.c:3589
+msgid "No current process: you must name one."
+msgstr ""
+
+#: fbsd-nat.c:322
+msgid "Invalid arguments."
+msgstr ""
+
+#: fbsd-nat.c:324 fbsd-tdep.c:983
+#, possible-c-format
+msgid "process %d\n"
+msgstr ""
+
+#: fbsd-nat.c:336
+msgid "unable to fetch command line"
+msgstr ""
+
+#: fbsd-nat.c:355
+msgid "unable to fetch current working directory"
+msgstr ""
+
+#: fbsd-nat.c:376
+msgid "unable to fetch executable path name"
+msgstr ""
+
+#. No output for summary mode.
+#: fbsd-nat.c:387 fbsd-tdep.c:645 linux-tdep.c:805 linux-tdep.c:1053
+#: procfs.c:3524
+msgid ""
+"Mapped address spaces:\n"
+"\n"
+msgstr ""
+
+#: fbsd-nat.c:429
+msgid "unable to fetch virtual memory map"
+msgstr ""
+
+#: fbsd-nat.c:435 fbsd-nat.c:867 fbsd-nat.c:1375
+msgid "Failed to fetch process information"
+msgstr ""
+
+#: fbsd-nat.c:770
 #, possible-c-format
 msgid "Debugging of FreeBSD lwp module is %s.\n"
 msgstr ""
 
-#: fbsd-nat.c:894 linux-nat.c:1046 procfs.c:2321 procfs.c:2440
+#: fbsd-nat.c:777
+#, possible-c-format
+msgid "Debugging of FreeBSD native target is %s.\n"
+msgstr ""
+
+#: fbsd-nat.c:1285 linux-nat.c:1008 procfs.c:2296 procfs.c:2415
 #, possible-c-format
 msgid "[%s exited]\n"
 msgstr ""
 
-#: fbsd-nat.c:1225
+#: fbsd-nat.c:1610
 msgid "Set debugging of FreeBSD lwp module."
 msgstr ""
 
-#: fbsd-nat.c:1226
+#: fbsd-nat.c:1611
 msgid "Show debugging of FreeBSD lwp module."
 msgstr ""
 
-#: fbsd-nat.c:1227 linux-nat.c:4981 linux-nat.c:4990
+#: fbsd-nat.c:1612 fbsd-nat.c:1620 linux-nat.c:4677 linux-nat.c:4686
 msgid "Enables printf debugging output."
 msgstr ""
 
-#: fbsd-tdep.c:386
+#: fbsd-nat.c:1618
+msgid "Set debugging of FreeBSD native target."
+msgstr ""
+
+#: fbsd-nat.c:1619
+msgid "Show debugging of FreeBSD native target."
+msgstr ""
+
+#: fbsd-tdep.c:626 linux-tdep.c:1022
+msgid "unable to find mappings in core file"
+msgstr ""
+
+#: fbsd-tdep.c:632 fbsd-tdep.c:715 linux-tdep.c:1031
+msgid "malformed core note - too short for header"
+msgstr ""
+
+#: fbsd-tdep.c:637 fbsd-tdep.c:720 fbsd-tdep.c:827 linux-tdep.c:1036
+msgid "could not get core note contents"
+msgstr ""
+
+#: fbsd-tdep.c:667 fbsd-tdep.c:734
+msgid "malformed core note - vmmap entry too small"
+msgstr ""
+
+#: fbsd-tdep.c:800
+msgid "unable to find process info in core file"
+msgstr ""
+
+#: fbsd-tdep.c:822
+msgid "malformed core note - too short"
+msgstr ""
+
+#: fbsd-tdep.c:837
+msgid "unsupported process information in core file"
+msgstr ""
+
+#: fbsd-tdep.c:993
+msgid "Command line unavailable"
+msgstr ""
+
+#: fbsd-tdep.c:1002
+msgid "unable to read current working directory"
+msgstr ""
+
+#: fbsd-tdep.c:1011
+msgid "unable to read executable path name"
+msgstr ""
+
+#: fbsd-tdep.c:1035
 msgid "Executable path"
 msgstr ""
 
-#: fbsd-tdep.c:387
+#: fbsd-tdep.c:1036
 msgid "Canary for SSP"
 msgstr ""
 
-#: fbsd-tdep.c:389
+#: fbsd-tdep.c:1038
 msgid "OSRELDATE"
 msgstr ""
 
-#: fbsd-tdep.c:390
+#: fbsd-tdep.c:1039
 msgid "Number of CPUs"
 msgstr ""
 
-#: fbsd-tdep.c:391
+#: fbsd-tdep.c:1040
 msgid "Pagesizes"
 msgstr ""
 
-#: fbsd-tdep.c:392
+#: fbsd-tdep.c:1041
 msgid "Number of pagesizes"
 msgstr ""
 
-#: fbsd-tdep.c:393
+#: fbsd-tdep.c:1042
 msgid "Pointer to timehands"
 msgstr ""
 
-#: fbsd-tdep.c:394
+#: fbsd-tdep.c:1043
 msgid "Initial stack protection"
 msgstr ""
 
-#: fbsd-tdep.c:395
+#: fbsd-tdep.c:1044
 msgid "ELF header e_flags"
 msgstr ""
 
@@ -11473,11 +11773,11 @@ msgstr ""
 #. 'pl_syscall_code' member of struct ptrace_lwpinfo in fbsd_wait.
 #. However, system call catching requires this function to be
 #. set.
-#: fbsd-tdep.c:510
+#: fbsd-tdep.c:1158
 msgid "fbsd_get_sycall_number called"
 msgstr ""
 
-#: f-exp.y:731 m2-exp.y:693
+#: f-exp.y:726 m2-exp.y:683
 msgid "Overflow on numeric constant."
 msgstr ""
 
@@ -11526,7 +11826,7 @@ msgstr ""
 msgid "Empty search range.\n"
 msgstr ""
 
-#: findcmd.c:128 python/py-value.c:443 python/py-lazy-string.c:177
+#: findcmd.c:128 python/py-value.c:442 python/py-lazy-string.c:177
 #: python/py-lazy-string.c:210
 msgid "Invalid length."
 msgstr ""
@@ -11632,7 +11932,7 @@ msgstr ""
 msgid "unrecognized character type"
 msgstr ""
 
-#: fork-child.c:122 gdbserver/fork-child.c:82
+#: fork-child.c:122 gdbserver/fork-child.c:83
 msgid "setpgrp failed in child"
 msgstr ""
 
@@ -11663,155 +11963,159 @@ msgstr ""
 msgid "Show use of shell to start subprocesses."
 msgstr ""
 
-#: frame.c:279
+#: frame.c:283 infrun.c:8989 stack.c:1802 stack.c:1997
+msgid "Unable to restore previously selected frame."
+msgstr ""
+
+#: frame.c:295
 #, possible-c-format
 msgid "Frame debugging is %s.\n"
 msgstr ""
 
-#: frame.c:290
+#: frame.c:306
 #, possible-c-format
 msgid "Whether backtraces should continue past \"main\" is %s.\n"
 msgstr ""
 
-#: frame.c:300
+#: frame.c:316
 #, possible-c-format
 msgid ""
 "Whether backtraces should continue past the entry point of a program is %s.\n"
 msgstr ""
 
-#: frame.c:311
+#: frame.c:327
 #, possible-c-format
 msgid "An upper bound on the number of backtrace levels is %s.\n"
 msgstr ""
 
-#: frame.c:928
+#: frame.c:944
 msgid "No unwind_pc method"
 msgstr ""
 
-#: frame.c:934 frame.c:1006
+#: frame.c:950 frame.c:1022
 msgid "PC not available"
 msgstr ""
 
-#: frame.c:936
+#: frame.c:952
 msgid "PC not saved"
 msgstr ""
 
-#: frame.c:1047
+#: frame.c:1061
 msgid "Cannot pop the initial frame."
 msgstr ""
 
-#: frame.c:1054 infcmd.c:2069
+#: frame.c:1068 infcmd.c:2065
 msgid "Cannot find the caller frame."
 msgstr ""
 
-#: frame.c:1158 frame.c:1256 frame.c:1291
+#: frame.c:1170 frame.c:1268 frame.c:1302
 #, possible-c-format
 msgid "Register %d was not saved"
 msgstr ""
 
-#: frame.c:1347
+#: frame.c:1357
 msgid "Attempt to assign to a register that was not saved."
 msgstr ""
 
-#: frame.c:1359
+#: frame.c:1369
 msgid "Attempt to assign to an unmodifiable value."
 msgstr ""
 
-#: frame.c:1417
+#: frame.c:1427
 #, possible-c-format
 msgid ""
 "Bad debug information detected: Attempt to read %d bytes from registers."
 msgstr ""
 
-#: frame.c:1573 ia64-libunwind-tdep.c:347 ia64-tdep.c:1918 ia64-tdep.c:2289
+#: frame.c:1580 ia64-libunwind-tdep.c:347 ia64-tdep.c:1920 ia64-tdep.c:2291
 msgid "No registers."
 msgstr ""
 
-#: frame.c:1575 stack.c:1308 stack.c:1706 thread.c:1816
+#: frame.c:1582 stack.c:1308 stack.c:1703 thread.c:1762
 msgid "No stack."
 msgstr ""
 
-#: frame.c:1577
+#: frame.c:1584
 msgid "No memory."
 msgstr ""
 
-#: frame.c:2797
+#: frame.c:2794
 msgid "Missing unwind SP method"
 msgstr ""
 
-#: frame.c:2929
+#: frame.c:2926
 msgid ""
 "Set backtrace specific variables.\n"
 "Configure backtrace variables such as the backtrace limit"
 msgstr ""
 
 #. allow-unknown
-#: frame.c:2934
+#: frame.c:2931
 msgid ""
 "Show backtrace specific variables\n"
 "Show backtrace variables such as the backtrace limit"
 msgstr ""
 
-#: frame.c:2941
+#: frame.c:2938
 msgid "Set whether backtraces should continue past \"main\"."
 msgstr ""
 
-#: frame.c:2942
+#: frame.c:2939
 msgid "Show whether backtraces should continue past \"main\"."
 msgstr ""
 
-#: frame.c:2943
+#: frame.c:2940
 msgid ""
 "Normally the caller of \"main\" is not of interest, so GDB will terminate\n"
 "the backtrace at \"main\".  Set this variable if you need to see the rest\n"
 "of the stack trace."
 msgstr ""
 
-#: frame.c:2953
+#: frame.c:2950
 msgid ""
 "Set whether backtraces should continue past the entry point of a program."
 msgstr ""
 
-#: frame.c:2955
+#: frame.c:2952
 msgid ""
 "Show whether backtraces should continue past the entry point of a program."
 msgstr ""
 
-#: frame.c:2957
+#: frame.c:2954
 msgid ""
 "Normally there are no callers beyond the entry point of a program, so GDB\n"
 "will terminate the backtrace there.  Set this variable if you need to see\n"
 "the rest of the stack trace."
 msgstr ""
 
-#: frame.c:2967
+#: frame.c:2964
 msgid "Set an upper bound on the number of backtrace levels."
 msgstr ""
 
-#: frame.c:2968
+#: frame.c:2965
 msgid "Show the upper bound on the number of backtrace levels."
 msgstr ""
 
-#: frame.c:2969
+#: frame.c:2966
 msgid ""
 "No more than the specified number of frames can be displayed or examined.\n"
 "Literal \"unlimited\" or zero means no limit."
 msgstr ""
 
 #. Debug this files internals.
-#: frame.c:2978
+#: frame.c:2975
 msgid "Set frame debugging."
 msgstr ""
 
-#: frame.c:2979
+#: frame.c:2976
 msgid "Show frame debugging."
 msgstr ""
 
-#: frame.c:2980
+#: frame.c:2977
 msgid "When non-zero, frame specific internal debugging is enabled."
 msgstr ""
 
-#: frame-unwind.c:167
+#: frame-unwind.c:168
 msgid "frame_unwind_find_by_frame failed"
 msgstr ""
 
@@ -11838,7 +12142,7 @@ msgstr ""
 msgid "Don't know how to return a %d-byte value."
 msgstr ""
 
-#: f-typeprint.c:407
+#: f-typeprint.c:412
 #, possible-c-format
 msgid "Invalid type code (%d) in symbol table."
 msgstr ""
@@ -11861,7 +12165,7 @@ msgstr ""
 msgid "Contents of blank COMMON block:\n"
 msgstr ""
 
-#: f-valprint.c:452 stack.c:2172
+#: f-valprint.c:452 stack.c:2116
 msgid "No symbol table info available.\n"
 msgstr ""
 
@@ -11927,7 +12231,8 @@ msgstr ""
 #: gcore.c:612
 msgid ""
 "Save a core file with the current state of the debugged process.\n"
-"Argument is optional filename.  Default filename is 'core.<process_id>'."
+"Usage: generate-core-file [FILENAME]\n"
+"Argument is optional filename.  Default filename is 'core.PROCESS_ID'."
 msgstr ""
 
 #: gdbarch.c:66
@@ -11940,33 +12245,33 @@ msgstr ""
 msgid "verify_gdbarch: the following are invalid ...%s"
 msgstr ""
 
-#: gdbarch.c:5243
+#: gdbarch.c:5283
 msgid "gdbarch_architecture_names: multi-arch unknown"
 msgstr ""
 
-#: gdbarch.c:5269
+#: gdbarch.c:5309
 #, possible-c-format
 msgid "gdbarch: Attempt to register unknown architecture (%d)"
 msgstr ""
 
-#: gdbarch.c:5280
+#: gdbarch.c:5320
 #, possible-c-format
 msgid "gdbarch: Duplicate registration of architecture (%s)"
 msgstr ""
 
-#: gdbarch.c:5475
+#: gdbarch.c:5515
 msgid "Set architecture debugging."
 msgstr ""
 
-#: gdbarch.c:5476
+#: gdbarch.c:5516
 msgid "Show architecture debugging."
 msgstr ""
 
-#: gdbarch.c:5477
+#: gdbarch.c:5517
 msgid "When non-zero, architecture debugging is enabled."
 msgstr ""
 
-#: gdbarch-selftests.c:75 regcache.c:1766
+#: gdbarch-selftests.c:75 regcache.c:1567 regcache.c:1741
 msgid "target already pushed"
 msgstr ""
 
@@ -11985,44 +12290,44 @@ msgstr ""
 msgid "cannot close \"%s\": %s"
 msgstr ""
 
-#: gdb_bfd.c:705
+#: gdb_bfd.c:706
 #, possible-c-format
 msgid "Can't read data for section '%s' in file '%s'"
 msgstr ""
 
-#: gdb_bfd.c:727 gdb_bfd.c:740
+#: gdb_bfd.c:733 gdb_bfd.c:746
 #, possible-c-format
 msgid "Problem reading \"%s\" for CRC: %s"
 msgstr ""
 
-#: gdb_bfd.c:977
+#: gdb_bfd.c:983
 msgid "List the BFDs that are currently open."
 msgstr ""
 
-#: gdb_bfd.c:982
+#: gdb_bfd.c:988
 msgid "Set whether gdb will share bfds that appear to be the same file."
 msgstr ""
 
-#: gdb_bfd.c:983
+#: gdb_bfd.c:989
 msgid "Show whether gdb will share bfds that appear to be the same file."
 msgstr ""
 
-#: gdb_bfd.c:984
+#: gdb_bfd.c:990
 msgid ""
 "When enabled gdb will reuse existing bfds rather than reopening the\n"
 "same file.  To decide if two files are the same then gdb compares the\n"
 "filename, file size, file modification time, and file inode."
 msgstr ""
 
-#: gdb_bfd.c:994
+#: gdb_bfd.c:1000
 msgid "Set bfd cache debugging."
 msgstr ""
 
-#: gdb_bfd.c:995
+#: gdb_bfd.c:1001
 msgid "Show bfd cache debugging."
 msgstr ""
 
-#: gdb_bfd.c:996
+#: gdb_bfd.c:1002
 msgid "When non-zero, bfd cache specific debugging is enabled."
 msgstr ""
 
@@ -12031,28 +12336,33 @@ msgstr ""
 msgid "Could not load %s: %s"
 msgstr ""
 
+#: gdbserver/target.h:627 gdbserver/target.h:636 gdbserver/target.h:647
+#: gdbserver/target.h:657 remote.c:13747 remote.c:13797 remote.c:13838
+msgid "Target does not support branch tracing."
+msgstr ""
+
 #: gdbserver/win32-low.c:585
 msgid "Could not convert the expanded inferior cwd to wide-char."
 msgstr ""
 
-#: gdbserver/ax.c:833 printcmd.c:2482
+#: gdbserver/ax.c:833 printcmd.c:2472
 msgid "Wrong number of arguments for specified format-string"
 msgstr ""
 
-#: gdbserver/ax.c:880
+#: gdbserver/ax.c:885
 msgid "long long not supported in agent printf"
 msgstr ""
 
-#: gdbserver/ax.c:911
+#: gdbserver/ax.c:916
 #, possible-c-format
 msgid "Format directive in '%s' not supported in agent printf"
 msgstr ""
 
-#: gdbserver/ax.c:1317
+#: gdbserver/ax.c:1322
 msgid "Unterminated format string in printf bytecode"
 msgstr ""
 
-#: gdbserver/regcache.c:421
+#: gdbserver/regcache.c:439
 #, possible-c-format
 msgid "That operation is not available on integers of more than%d bytes."
 msgstr ""
@@ -12065,89 +12375,109 @@ msgstr ""
 msgid "Can't debug x86-64 process with 32-bit GDBserver"
 msgstr ""
 
-#: gdbserver/server.c:303 remote-sim.c:612
+#: gdbserver/server.c:278 remote-sim.c:653
 msgid "No executable file specified."
 msgstr ""
 
-#: gdbserver/server.c:700
+#: gdbserver/server.c:397 gdbserver/server.c:409
+msgid "Btrace already enabled."
+msgstr ""
+
+#: gdbserver/server.c:422
+msgid "Branch tracing not enabled."
+msgstr ""
+
+#: gdbserver/server.c:425 x86-linux-nat.c:242
+msgid "Could not disable branch tracing."
+msgstr ""
+
+#: gdbserver/server.c:467
+msgid "Bad Qbtrace operation.  Use bts, pt, or off."
+msgstr ""
+
+#: gdbserver/server.c:672
 #, possible-c-format
 msgid "[QEnvironmentHexEncoded received '%s']\n"
 msgstr ""
 
-#: gdbserver/server.c:701
+#: gdbserver/server.c:673
 #, possible-c-format
 msgid "[Environment variable to be set: '%s']\n"
 msgstr ""
 
-#: gdbserver/server.c:709
+#: gdbserver/server.c:681
 #, possible-c-format
 msgid "Unexpected format for environment variable: '%s'"
 msgstr ""
 
-#: gdbserver/server.c:731
+#: gdbserver/server.c:703
 #, possible-c-format
 msgid "[QEnvironmentUnset received '%s']\n"
 msgstr ""
 
-#: gdbserver/server.c:732
+#: gdbserver/server.c:704
 #, possible-c-format
 msgid "[Environment variable to be unset: '%s']\n"
 msgstr ""
 
-#: gdbserver/server.c:897
+#: gdbserver/server.c:866
 #, possible-c-format
 msgid "[Inferior will %s started with shell]"
 msgstr ""
 
-#: gdbserver/server.c:915
+#: gdbserver/server.c:884
 #, possible-c-format
 msgid "[Set the inferior's current directory to %s]\n"
 msgstr ""
 
-#: gdbserver/server.c:925
+#: gdbserver/server.c:894
 msgid "[Unset the inferior's current directory; will use gdbserver's cwd]\n"
 msgstr ""
 
-#: gdbserver/server.c:3601
+#: gdbserver/server.c:3581
 #, possible-c-format
 msgid "Could not find current working directory: %s"
 msgstr ""
 
-#: gdbserver/server.c:3810 maint.c:945 maint.c:959
+#: gdbserver/server.c:3789 maint.c:945 maint.c:959
 #, c-format
 msgid "Selftests are not available in a non-development build.\n"
 msgstr ""
 
-#: gdbserver/thread-db.c:665
+#: gdbserver/thread-db.c:667
 #, possible-c-format
 msgid "libthread-db-search-path component too long, ignored: %s."
 msgstr ""
 
-#: gdbserver/linux-low.c:740 linux-nat.c:2171
+#: gdbserver/linux-low.c:744 linux-nat.c:2110
 #, possible-c-format
 msgid "unknown ptrace event %d"
 msgstr ""
 
-#: gdbserver/linux-low.c:1162 linux-nat.c:1170
+#: gdbserver/linux-low.c:1170 linux-nat.c:1135
 #, possible-c-format
 msgid "Cannot attach to lwp %d: %s"
 msgstr ""
 
-#: gdbserver/linux-low.c:1557 linux-nat.c:1471
+#: gdbserver/linux-low.c:1567 linux-nat.c:1421
 #, possible-c-format
 msgid "Couldn't reap LWP %d while detaching: %s"
 msgstr ""
 
-#: gdbserver/linux-low.c:1562 linux-nat.c:1476
+#: gdbserver/linux-low.c:1572 linux-nat.c:1426
 #, possible-c-format
 msgid "Reaping LWP %d while detaching returned unexpected status 0x%x"
 msgstr ""
 
-#: gdbserver/linux-low.c:1569 linux-nat.c:1483
+#: gdbserver/linux-low.c:1579 linux-nat.c:1433
 #, possible-c-format
 msgid "Can't detach %s: %s"
 msgstr ""
 
+#: gdbserver/linux-s390-low.c:512
+msgid "Couldn't determine word size, assuming 64-bit.\n"
+msgstr ""
+
 #: gdbtypes.c:137
 #, possible-c-format
 msgid ""
@@ -12170,143 +12500,143 @@ msgstr ""
 msgid "Unknown address space specifier: \"%s\""
 msgstr ""
 
-#: gdbtypes.c:1499
+#: gdbtypes.c:1488
 #, possible-c-format
 msgid "Invalid anonymous type %s [in module %s], GCC PR debug/47510 bug?"
 msgstr ""
 
-#: gdbtypes.c:1522
+#: gdbtypes.c:1511
 #, possible-c-format
 msgid "No type named %s."
 msgstr ""
 
-#: gdbtypes.c:1564 objc-lang.c:95
+#: gdbtypes.c:1553 objc-lang.c:96
 #, possible-c-format
 msgid "No struct type named %s."
 msgstr ""
 
-#: gdbtypes.c:1568 gdbtypes.c:1643 objc-lang.c:102
+#: gdbtypes.c:1557 gdbtypes.c:1632 objc-lang.c:103
 #, possible-c-format
 msgid "This context has class, union or enum %s, not a struct."
 msgstr ""
 
-#: gdbtypes.c:1586
+#: gdbtypes.c:1575
 #, possible-c-format
 msgid "No union type named %s."
 msgstr ""
 
 #. If we get here, it's not a union.
-#: gdbtypes.c:1594
+#: gdbtypes.c:1583
 #, possible-c-format
 msgid "This context has class, struct or enum %s, not a union."
 msgstr ""
 
-#: gdbtypes.c:1609
+#: gdbtypes.c:1598
 #, possible-c-format
 msgid "No enum type named %s."
 msgstr ""
 
-#: gdbtypes.c:1613
+#: gdbtypes.c:1602
 #, possible-c-format
 msgid "This context has class, struct or union %s, not an enum."
 msgstr ""
 
-#: gdbtypes.c:1639
+#: gdbtypes.c:1628
 #, possible-c-format
 msgid "No template type named %s."
 msgstr ""
 
-#: gdbtypes.c:1679
+#: gdbtypes.c:1668
 #, possible-c-format
 msgid "Type %s is not a structure or union type."
 msgstr ""
 
-#: gdbtypes.c:1733
+#: gdbtypes.c:1722
 #, possible-c-format
 msgid "Type %s has no component named %s."
 msgstr ""
 
-#: gdbtypes.c:1886
+#: gdbtypes.c:1875
 msgid "stub type has NULL name"
 msgstr ""
 
 #. Could be a bug in our code, but it could also happen
 #. if the DWARF info is not correct.  Issue a warning,
 #. and assume no byte/bit stride (leave bit_stride = 0).
-#: gdbtypes.c:2098
+#: gdbtypes.c:2087
 #, possible-c-format
 msgid "cannot determine array stride for type %s"
 msgstr ""
 
-#: gdbtypes.c:2188
+#: gdbtypes.c:2177
 msgid "Cannot determine struct field location (invalid location kind)"
 msgstr ""
 
-#: gdbtypes.c:2641
+#: gdbtypes.c:2627
 #, possible-c-format
 msgid "Internal: Cannot demangle mangled name `%s'."
 msgstr ""
 
-#: gdbtypes.c:3606
+#: gdbtypes.c:3712
 #, possible-c-format
 msgid "Unsupported field kind %d by check_types_equal"
 msgstr ""
 
-#: gdbtypes.c:4253
+#: gdbtypes.c:4349
 #, possible-c-format
 msgid ") length %d\n"
 msgstr ""
 
-#: gdbtypes.c:4402
+#: gdbtypes.c:4498
 msgid " <same as already seen type>\n"
 msgstr ""
 
-#: gdbtypes.c:4846
+#: gdbtypes.c:4940
 #, possible-c-format
 msgid "Unexpected type field location kind: %d"
 msgstr ""
 
-#: gdbtypes.c:5487
+#: gdbtypes.c:5577
 msgid "Set debugging of C++ overloading."
 msgstr ""
 
-#: gdbtypes.c:5488
+#: gdbtypes.c:5578
 msgid "Show debugging of C++ overloading."
 msgstr ""
 
-#: gdbtypes.c:5489
+#: gdbtypes.c:5579
 msgid "When enabled, ranking of the functions is displayed."
 msgstr ""
 
-#: gdbtypes.c:5498
+#: gdbtypes.c:5588
 msgid ""
 "Set resolution of opaque struct/class/union types (if set before loading "
 "symbols)."
 msgstr ""
 
-#: gdbtypes.c:5500
+#: gdbtypes.c:5590
 msgid ""
 "Show resolution of opaque struct/class/union types (if set before loading "
 "symbols)."
 msgstr ""
 
-#: gdbtypes.c:5509
+#: gdbtypes.c:5599
 msgid "Set strict type checking."
 msgstr ""
 
-#: gdbtypes.c:5510
+#: gdbtypes.c:5600
 msgid "Show strict type checking."
 msgstr ""
 
 #. * A helper macro that returns the name of a type or "unnamed type"
 #. if the type has no name.
-#: gdbtypes.h:1484
+#: gdbtypes.h:1560
 msgid "<unnamed type>"
 msgstr ""
 
 #. * A helper macro that returns the name of an error type.  If the
 #. type has a name, it is used; otherwise, a default is used.
-#: gdbtypes.h:1490
+#: gdbtypes.h:1566
 msgid "<error type>"
 msgstr ""
 
@@ -12382,47 +12712,47 @@ msgstr ""
 msgid "Can't continue process: %s"
 msgstr ""
 
-#: gnu-nat.c:1487
+#: gnu-nat.c:1488
 msgid "There are no threads; try again later."
 msgstr ""
 
-#: gnu-nat.c:1511
+#: gnu-nat.c:1512
 #, possible-c-format
 msgid "wait request failed: %s"
 msgstr ""
 
-#: gnu-nat.c:1547
+#: gnu-nat.c:1548
 #, possible-c-format
 msgid "Couldn't wait for an event: %s"
 msgstr ""
 
 #. Whatever it is, it's something strange.
-#: gnu-nat.c:1567
+#: gnu-nat.c:1568
 #, possible-c-format
 msgid "Got a strange event, msg id = %d."
 msgstr ""
 
-#: gnu-nat.c:1570
+#: gnu-nat.c:1571
 #, possible-c-format
 msgid "Handling event, msgid = %d: %s"
 msgstr ""
 
-#: gnu-nat.c:1751
+#: gnu-nat.c:1752
 #, possible-c-format
 msgid "Pid %d died with unknown exit status, using SIGKILL."
 msgstr ""
 
-#: gnu-nat.c:1804
+#: gnu-nat.c:1805
 #, possible-c-format
 msgid "illegal rpc: %s"
 msgstr ""
 
-#: gnu-nat.c:1849
+#: gnu-nat.c:1850
 #, possible-c-format
 msgid "Can't wait for pid %d: %s"
 msgstr ""
 
-#: gnu-nat.c:1953
+#: gnu-nat.c:1954
 #, possible-c-format
 msgid "Signal delivery failed: %s"
 msgstr ""
@@ -12443,7 +12773,7 @@ msgid "Can't step thread id %s: no such 
 msgstr ""
 
 #: gnu-nat.c:2288
-msgid "to_stop target function not implemented"
+msgid "stop target function not implemented"
 msgstr ""
 
 #: gnu-nat.c:2322
@@ -12471,69 +12801,69 @@ msgstr ""
 msgid "%s: %s"
 msgstr ""
 
-#: gnu-nat.c:2661
+#: gnu-nat.c:2662
 #, possible-c-format
 msgid "vm_region failed: %s"
 msgstr ""
 
-#: gnu-nat.c:2813
+#: gnu-nat.c:2788
 #, possible-c-format
 msgid "Illegal argument for \"%s\" command, should be an integer."
 msgstr ""
 
-#: gnu-nat.c:2825
+#: gnu-nat.c:2800
 #, possible-c-format
 msgid "Illegal argument for \"%s\" command, should be \"%s\" or \"%s\"."
 msgstr ""
 
-#: gnu-nat.c:2837
+#: gnu-nat.c:2812
 #, possible-c-format
 msgid "Garbage after \"%s\" command: `%s'"
 msgstr ""
 
-#: gnu-nat.c:2848
+#: gnu-nat.c:2823
 msgid "No current thread."
 msgstr ""
 
-#: gnu-nat.c:2859
+#: gnu-nat.c:2834
 msgid "No current process."
 msgstr ""
 
-#: gnu-nat.c:2979
+#: gnu-nat.c:2954
 msgid "No inferior task."
 msgstr ""
 
-#: gnu-nat.c:2985
+#: gnu-nat.c:2960
 #, possible-c-format
 msgid "Couldn't extract send right %lu from inferior: %s"
 msgstr ""
 
-#: gnu-nat.c:3001
+#: gnu-nat.c:2976
 #, possible-c-format
 msgid "Can't set exception port for %s: %s"
 msgstr ""
 
-#: gnu-nat.c:3012
+#: gnu-nat.c:2987
 msgid "No argument to \"set task exception-port\" command."
 msgstr ""
 
-#: gnu-nat.c:3038
+#: gnu-nat.c:3013
 msgid ""
 "Illegal argument to \"set signal-thread\" command.\n"
 "Should be a thread ID, or \"none\"."
 msgstr ""
 
-#: gnu-nat.c:3189
+#: gnu-nat.c:3164
 #, possible-c-format
 msgid "%ld: %s."
 msgstr ""
 
-#: gnu-nat.c:3199 utils.c:687
+#: gnu-nat.c:3174 utils.c:658
 #, possible-c-format
 msgid "%s."
 msgstr ""
 
-#: gnu-nat.c:3239
+#: gnu-nat.c:3214
 msgid ""
 "Set whether the new threads are suspended while gdb has control.\n"
 "This property normally has no effect because the whole task is\n"
@@ -12541,78 +12871,78 @@ msgid ""
 "The default value is \"off\"."
 msgstr ""
 
-#: gnu-nat.c:3245
+#: gnu-nat.c:3220
 msgid "Show whether new threads are suspended while gdb has control."
 msgstr ""
 
-#: gnu-nat.c:3249
+#: gnu-nat.c:3224
 msgid "Set whether new threads are allowed to run (once gdb has noticed them)."
 msgstr ""
 
-#: gnu-nat.c:3252
+#: gnu-nat.c:3227
 msgid ""
 "Show whether new threads are allowed to run (once gdb has noticed them)."
 msgstr ""
 
-#: gnu-nat.c:3257
+#: gnu-nat.c:3232
 msgid "Set the default detach-suspend-count value for new threads."
 msgstr ""
 
-#: gnu-nat.c:3260
+#: gnu-nat.c:3235
 msgid "Show the default detach-suspend-count value for new threads."
 msgstr ""
 
-#: gnu-nat.c:3263
+#: gnu-nat.c:3238
 msgid ""
 "Set whether the inferior process's signals will be intercepted.\n"
 "Mach exceptions (such as breakpoint traps) are not affected."
 msgstr ""
 
-#: gnu-nat.c:3268
+#: gnu-nat.c:3243
 msgid "Show whether the inferior process's signals will be intercepted."
 msgstr ""
 
-#: gnu-nat.c:3273
+#: gnu-nat.c:3248
 msgid ""
 "Set the thread that gdb thinks is the libc signal thread.\n"
 "This thread is run when delivering a signal to a non-stopped process."
 msgstr ""
 
-#: gnu-nat.c:3278
+#: gnu-nat.c:3253
 msgid "Set the thread that gdb thinks is the libc signal thread."
 msgstr ""
 
-#: gnu-nat.c:3283
+#: gnu-nat.c:3258
 msgid ""
 "Set whether gdb thinks the inferior process is stopped as with SIGSTOP.\n"
 "Stopped process will be continued by sending them a signal."
 msgstr ""
 
-#: gnu-nat.c:3287
+#: gnu-nat.c:3262
 msgid ""
 "Show whether gdb thinks the inferior process is stopped as with SIGSTOP."
 msgstr ""
 
-#: gnu-nat.c:3291
+#: gnu-nat.c:3266
 msgid ""
 "Set whether exceptions in the inferior process will be trapped.\n"
 "When exceptions are turned off, neither breakpoints nor single-stepping\n"
 "will work."
 msgstr ""
 
-#: gnu-nat.c:3298
+#: gnu-nat.c:3273
 msgid "Show whether exceptions in the inferior process will be trapped."
 msgstr ""
 
-#: gnu-nat.c:3303
+#: gnu-nat.c:3278
 msgid "Command prefix for setting task attributes."
 msgstr ""
 
-#: gnu-nat.c:3306
+#: gnu-nat.c:3281
 msgid "Command prefix for showing task attributes."
 msgstr ""
 
-#: gnu-nat.c:3309
+#: gnu-nat.c:3284
 msgid ""
 "Set whether the task is suspended while gdb has control.\n"
 "A value of \"on\" takes effect immediately, otherwise nothing happens\n"
@@ -12621,19 +12951,19 @@ msgid ""
 "used to pause individual threads by default instead."
 msgstr ""
 
-#: gnu-nat.c:3317
+#: gnu-nat.c:3292
 msgid "Show whether the task is suspended while gdb has control."
 msgstr ""
 
-#: gnu-nat.c:3321
+#: gnu-nat.c:3296
 msgid "Set the suspend count will leave on the thread when detaching."
 msgstr ""
 
-#: gnu-nat.c:3324
+#: gnu-nat.c:3299
 msgid "Show the suspend count will leave on the thread when detaching."
 msgstr ""
 
-#: gnu-nat.c:3328
+#: gnu-nat.c:3303
 msgid ""
 "Set the task exception port to which we forward exceptions.\n"
 "The argument should be the value of the send right in the task."
@@ -12641,54 +12971,54 @@ msgstr ""
 
 #. A convenient way of turning on all options require to noninvasively
 #. debug running tasks.
-#: gnu-nat.c:3338
+#: gnu-nat.c:3313
 msgid ""
 "Set task options so that we interfere as little as possible.\n"
 "This is the same as setting `task pause', `exceptions', and\n"
 "`signals' to the opposite value."
 msgstr ""
 
-#: gnu-nat.c:3346
+#: gnu-nat.c:3321
 msgid "Show information about the task's send rights"
 msgstr ""
 
-#: gnu-nat.c:3348
+#: gnu-nat.c:3323
 msgid "Show information about the task's receive rights"
 msgstr ""
 
-#: gnu-nat.c:3350
+#: gnu-nat.c:3325
 msgid "Show information about the task's port rights"
 msgstr ""
 
-#: gnu-nat.c:3352
+#: gnu-nat.c:3327
 msgid "Show information about the task's port sets"
 msgstr ""
 
-#: gnu-nat.c:3354
+#: gnu-nat.c:3329
 msgid "Show information about the task's dead names"
 msgstr ""
 
-#: gnu-nat.c:3431
+#: gnu-nat.c:3406
 msgid "No argument to \"set thread exception-port\" command."
 msgstr ""
 
-#: gnu-nat.c:3474
+#: gnu-nat.c:3449
 msgid "Command prefix for setting thread properties."
 msgstr ""
 
-#: gnu-nat.c:3477
+#: gnu-nat.c:3452
 msgid "Command prefix for setting default thread properties."
 msgstr ""
 
-#: gnu-nat.c:3481
+#: gnu-nat.c:3456
 msgid "Command prefix for showing thread properties."
 msgstr ""
 
-#: gnu-nat.c:3484
+#: gnu-nat.c:3459
 msgid "Command prefix for showing default thread properties."
 msgstr ""
 
-#: gnu-nat.c:3488
+#: gnu-nat.c:3463
 msgid ""
 "Set whether the current thread is suspended while gdb has control.\n"
 "A value of \"on\" takes effect immediately, otherwise nothing happens\n"
@@ -12698,55 +13028,55 @@ msgid ""
 "The default value is \"off\"."
 msgstr ""
 
-#: gnu-nat.c:3496
+#: gnu-nat.c:3471
 msgid "Show whether the current thread is suspended while gdb has control."
 msgstr ""
 
-#: gnu-nat.c:3501
+#: gnu-nat.c:3476
 msgid "Set whether the current thread is allowed to run."
 msgstr ""
 
-#: gnu-nat.c:3504
+#: gnu-nat.c:3479
 msgid "Show whether the current thread is allowed to run."
 msgstr ""
 
-#: gnu-nat.c:3507
+#: gnu-nat.c:3482
 msgid ""
 "Set the suspend count will leave on the thread when detaching.\n"
 "Note that this is relative to suspend count when gdb noticed the thread;\n"
 "use the `thread takeover-suspend-count' to force it to an absolute value."
 msgstr ""
 
-#: gnu-nat.c:3512
+#: gnu-nat.c:3487
 msgid ""
 "Show the suspend count will leave on the thread when detaching.\n"
 "Note that this is relative to suspend count when gdb noticed the thread;\n"
 "use the `thread takeover-suspend-count' to force it to an absolute value."
 msgstr ""
 
-#: gnu-nat.c:3518
+#: gnu-nat.c:3493
 msgid ""
 "Set the thread exception port to which we forward exceptions.\n"
 "This overrides the task exception port.\n"
 "The argument should be the value of the send right in the task."
 msgstr ""
 
-#: gnu-nat.c:3527
+#: gnu-nat.c:3502
 msgid ""
 "Force the threads absolute suspend-count to be gdb's.\n"
 "Prior to giving this command, gdb's thread suspend-counts are relative\n"
 "to the thread's initial suspend-count when gdb notices the threads."
 msgstr ""
 
-#: gnu-nat.c:3543
+#: gnu-nat.c:3518
 msgid "Set debugging output for the gnu backend."
 msgstr ""
 
-#: gnu-nat.c:3544
+#: gnu-nat.c:3519
 msgid "Show debugging output for the gnu backend."
 msgstr ""
 
-#: gnu-nat.c:3571
+#: gnu-nat.c:3546
 #, possible-c-format
 msgid "Error flushing inferior's cache : %s"
 msgstr ""
@@ -12763,199 +13093,199 @@ msgstr ""
 msgid "Baseclass offset not found"
 msgstr ""
 
-#: gnu-v3-abi.c:333
+#: gnu-v3-abi.c:334
 #, possible-c-format
 msgid "can't find linker symbol for virtual table for `%s' value"
 msgstr ""
 
-#: gnu-v3-abi.c:336
+#: gnu-v3-abi.c:337
 #, possible-c-format
 msgid "  found `%s' instead"
 msgstr ""
 
-#: gnu-v3-abi.c:418
+#: gnu-v3-abi.c:419
 msgid "Only classes can have virtual functions."
 msgstr ""
 
-#: gnu-v3-abi.c:468
+#: gnu-v3-abi.c:469
 msgid "Expected a negative vbase offset (old compiler?)"
 msgstr ""
 
-#: gnu-v3-abi.c:472
+#: gnu-v3-abi.c:473
 msgid "Misaligned vbase offset."
 msgstr ""
 
-#: gnu-v3-abi.c:886
+#: gnu-v3-abi.c:887
 #, possible-c-format
 msgid "vtable for '%s' @ %s (subobject @ %s):\n"
 msgstr ""
 
-#: gnu-v3-abi.c:914 printcmd.c:2000 stack.c:1505 value.c:2680
+#: gnu-v3-abi.c:915 printcmd.c:1979 stack.c:1505 value.c:2547
 #, possible-c-format
 msgid "<error: %s>"
 msgstr ""
 
-#: gnu-v3-abi.c:962
+#: gnu-v3-abi.c:963
 msgid "This object does not have a virtual function table\n"
 msgstr ""
 
-#: gnu-v3-abi.c:1085
+#: gnu-v3-abi.c:1086
 msgid "cannot find typeinfo for unnamed type"
 msgstr ""
 
-#: gnu-v3-abi.c:1108
+#: gnu-v3-abi.c:1109
 #, possible-c-format
 msgid "cannot find typeinfo for object of type '%s'"
 msgstr ""
 
-#: gnu-v3-abi.c:1121
+#: gnu-v3-abi.c:1122
 #, possible-c-format
 msgid "could not find typeinfo symbol for '%s'"
 msgstr ""
 
-#: gnu-v3-abi.c:1144
+#: gnu-v3-abi.c:1145
 #, possible-c-format
 msgid "could not find minimal symbol for typeinfo address %s"
 msgstr ""
 
-#: gnu-v3-abi.c:1152
+#: gnu-v3-abi.c:1153
 #, possible-c-format
 msgid "typeinfo symbol '%s' has unexpected name"
 msgstr ""
 
-#: go32-nat.c:341
+#: go32-nat.c:388
 msgid ""
 "You cannot attach to a running program on this platform.\n"
 "Use the `run' command to run DJGPP programs."
 msgstr ""
 
-#: go32-nat.c:505
+#: go32-nat.c:551
 #, possible-c-format
 msgid "Invalid register no. %d in fetch_register."
 msgstr ""
 
-#: go32-nat.c:536
+#: go32-nat.c:581
 #, possible-c-format
 msgid "Invalid register no. %d in store_register."
 msgstr ""
 
-#: go32-nat.c:662 go32-nat.c:2083
+#: go32-nat.c:707 go32-nat.c:2101
 msgid "Cannot allocate redirection storage: not enough memory.\n"
 msgstr ""
 
-#: go32-nat.c:671
+#: go32-nat.c:716
 msgid "Syntax error in command line."
 msgstr ""
 
-#: go32-nat.c:680
+#: go32-nat.c:725
 msgid "Command line too long."
 msgstr ""
 
-#: go32-nat.c:703
+#: go32-nat.c:748
 #, possible-c-format
 msgid "Load failed for image %s"
 msgstr ""
 
-#: go32-nat.c:767
+#: go32-nat.c:811
 #, possible-c-format
 msgid "Invalid register %d in go32_set_dr.\n"
 msgstr ""
 
-#: go32-nat.c:808
+#: go32-nat.c:852
 #, possible-c-format
 msgid "Invalid register %d in go32_get_dr.\n"
 msgstr ""
 
-#: go32-nat.c:900
+#: go32-nat.c:944
 #, possible-c-format
 msgid "Cannot redirect standard handles for program: %s."
 msgstr ""
 
-#: go32-nat.c:934
+#: go32-nat.c:978
 #, possible-c-format
 msgid "Cannot redirect standard handles for debugger: %s."
 msgstr ""
 
-#: go32-nat.c:1680
+#: go32-nat.c:1701
 #, possible-c-format
 msgid "Invalid LDT entry 0x%03lx."
 msgstr ""
 
-#: go32-nat.c:1718
+#: go32-nat.c:1739
 #, possible-c-format
 msgid "Invalid LDT entry %#lx: outside valid limits [0..%#x]"
 msgstr ""
 
-#: go32-nat.c:1748
+#: go32-nat.c:1769
 #, possible-c-format
 msgid "Invalid GDT entry 0x%03lx: not an integral multiple of 8."
 msgstr ""
 
-#: go32-nat.c:1760
+#: go32-nat.c:1781
 #, possible-c-format
 msgid "Invalid GDT entry %#lx: outside valid limits [0..%#x]"
 msgstr ""
 
-#: go32-nat.c:1789
+#: go32-nat.c:1810
 #, possible-c-format
 msgid "Invalid (negative) IDT entry %ld."
 msgstr ""
 
-#: go32-nat.c:1801
+#: go32-nat.c:1822
 #, possible-c-format
 msgid "Invalid IDT entry %#lx: outside valid limits [0..%#x]"
 msgstr ""
 
-#: go32-nat.c:1959 go32-nat.c:2009
+#: go32-nat.c:1980 go32-nat.c:2030
 #, possible-c-format
 msgid "Entry %ld is outside valid limits [0..1023]."
 msgstr ""
 
-#: go32-nat.c:2036
+#: go32-nat.c:2057
 msgid "linear address"
 msgstr ""
 
-#: go32-nat.c:2089
+#: go32-nat.c:2107
 msgid "Print information specific to DJGPP (aka MS-DOS) debugging."
 msgstr ""
 
-#: go32-nat.c:2093
+#: go32-nat.c:2111
 msgid ""
 "Display information about the target system, including CPU, OS, DPMI, etc."
 msgstr ""
 
-#: go32-nat.c:2096
+#: go32-nat.c:2114
 msgid ""
 "Display entries in the LDT (Local Descriptor Table).\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2100
+#: go32-nat.c:2118
 msgid ""
 "Display entries in the GDT (Global Descriptor Table).\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2104
+#: go32-nat.c:2122
 msgid ""
 "Display entries in the IDT (Interrupt Descriptor Table).\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2108
+#: go32-nat.c:2126
 msgid ""
 "Display entries in the Page Directory.\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2112
+#: go32-nat.c:2130
 msgid ""
 "Display entries in Page Tables.\n"
 "Entry number (an expression) as an argument means display only entries\n"
 "from the Page Table pointed to by the specified Page Directory entry."
 msgstr ""
 
-#: go32-nat.c:2117
+#: go32-nat.c:2135
 msgid ""
 "Display a Page Table entry for a linear address.\n"
 "The address argument must be a linear address, after adding to\n"
@@ -12967,7 +13297,7 @@ msgid ""
 "the `info dos ldt' command."
 msgstr ""
 
-#: go-exp.y:1362
+#: go-exp.y:1357
 #, possible-c-format
 msgid "Unknown function in `unsafe' package: %s"
 msgstr ""
@@ -13000,12 +13330,12 @@ msgstr ""
 msgid "Symbol requires a frame to compute its value"
 msgstr ""
 
-#: guile/scm-symbol.c:613 valops.c:3741
+#: guile/scm-symbol.c:613 valops.c:3773
 msgid "no frame selected"
 msgstr ""
 
-#: guile/scm-param.c:241 guile/scm-cmd.c:685 python/py-cmd.c:594
-#: python/py-param.c:320
+#: guile/scm-param.c:241 guile/scm-cmd.c:685 python/py-cmd.c:593
+#: python/py-param.c:340
 msgid "This command is not documented."
 msgstr ""
 
@@ -13031,7 +13361,7 @@ msgstr ""
 msgid "Error occurred showing parameter."
 msgstr ""
 
-#: guile/scm-param.c:497 guile/scm-objfile.c:290 guile/scm-value.c:831
+#: guile/scm-param.c:497 guile/scm-objfile.c:290 guile/scm-value.c:830
 #: guile/scm-pretty-print.c:255 guile/scm-progspace.c:331
 msgid "list"
 msgstr ""
@@ -13040,8 +13370,8 @@ msgstr ""
 msgid "enumeration list is empty"
 msgstr ""
 
-#: guile/scm-param.c:517 guile/scm-param.c:704 guile/scm-type.c:977
-#: guile/scm-type.c:1022 guile/scm-utils.c:207 guile/scm-value.c:704
+#: guile/scm-param.c:517 guile/scm-param.c:704 guile/scm-type.c:983
+#: guile/scm-type.c:1028 guile/scm-utils.c:207 guile/scm-value.c:703
 #: guile/scm-pretty-print.c:156
 msgid "string"
 msgstr ""
@@ -13071,7 +13401,7 @@ msgstr ""
 msgid "integer or #:unlimited"
 msgstr ""
 
-#: guile/scm-param.c:765 guile/scm-type.c:1107 guile/scm-ports.c:1178
+#: guile/scm-param.c:765 guile/scm-type.c:1113 guile/scm-ports.c:1178
 #: guile/scm-ports.c:1220 guile/scm-breakpoint.c:664
 #: guile/scm-breakpoint.c:704
 msgid "integer"
@@ -13168,7 +13498,7 @@ msgstr ""
 #: guile/scm-frame.c:542 guile/scm-frame.c:577 guile/scm-frame.c:610
 #: guile/scm-frame.c:661 guile/scm-frame.c:698 guile/scm-frame.c:735
 #: guile/scm-frame.c:771 guile/scm-frame.c:819 guile/scm-frame.c:866
-#: guile/scm-frame.c:975
+#: guile/scm-frame.c:971
 msgid "<gdb:frame>"
 msgstr ""
 
@@ -13180,15 +13510,15 @@ msgstr ""
 msgid "unknown register"
 msgstr ""
 
-#: guile/scm-frame.c:924
+#: guile/scm-frame.c:923
 msgid "variable not found"
 msgstr ""
 
-#: guile/scm-frame.c:933
+#: guile/scm-frame.c:929
 msgid "gdb:symbol or string"
 msgstr ""
 
-#: guile/scm-frame.c:1012
+#: guile/scm-frame.c:1008
 msgid "No frame is currently selected"
 msgstr ""
 
@@ -13196,23 +13526,23 @@ msgstr ""
 msgid "type is not a structure, union, or enum type"
 msgstr ""
 
-#: guile/scm-type.c:724 python/py-type.c:517
+#: guile/scm-type.c:730 python/py-type.c:523
 msgid "Array length must not be negative"
 msgstr ""
 
-#: guile/scm-type.c:815
+#: guile/scm-type.c:821
 msgid "ranged type"
 msgstr ""
 
-#: guile/scm-type.c:1005
+#: guile/scm-type.c:1011
 msgid "Unknown field"
 msgstr ""
 
-#: guile/scm-type.c:1165
+#: guile/scm-type.c:1171
 msgid "enum type"
 msgstr ""
 
-#: guile/scm-type.c:1182
+#: guile/scm-type.c:1188
 msgid "non-enum type"
 msgstr ""
 
@@ -13318,6 +13648,10 @@ msgstr ""
 msgid "Missing value for keyword argument"
 msgstr ""
 
+#: guile/scm-utils.c:509
+msgid "Too many arguments"
+msgstr ""
+
 #: guile/guile.c:177 guile/guile.c:397
 msgid "guile-repl currently does not take any arguments."
 msgstr ""
@@ -13416,7 +13750,7 @@ msgstr ""
 msgid "Show the mode of Guile exception printing on error."
 msgstr ""
 
-#: guile/guile.c:809 python/python.c:1896
+#: guile/guile.c:809 python/python.c:1907
 msgid ""
 "none  == no stack or message will be printed.\n"
 "full == a message and a stack will be printed.\n"
@@ -13603,33 +13937,33 @@ msgstr ""
 msgid "procedure or #f"
 msgstr ""
 
-#: guile/scm-value.c:516
+#: guile/scm-value.c:515
 msgid ""
 "Trying to get the referenced value from a value which is neither a pointer "
 "nor a reference"
 msgstr ""
 
-#: guile/scm-value.c:780
+#: guile/scm-value.c:779
 msgid "Cannot subscript requested type"
 msgstr ""
 
-#: guile/scm-value.c:828
+#: guile/scm-value.c:827
 msgid "function (value of TYPE_CODE_FUNC)"
 msgstr ""
 
-#: guile/scm-value.c:949 guile/scm-value.c:992
+#: guile/scm-value.c:948 guile/scm-value.c:991
 msgid "integer-like gdb value"
 msgstr ""
 
-#: guile/scm-value.c:1039
+#: guile/scm-value.c:1038
 msgid "number"
 msgstr ""
 
-#: guile/scm-value.c:1069
+#: guile/scm-value.c:1068
 msgid "number can't be converted to a double"
 msgstr ""
 
-#: guile/scm-value.c:1133
+#: guile/scm-value.c:1132
 msgid "invalid error kind"
 msgstr ""
 
@@ -13661,7 +13995,7 @@ msgstr ""
 msgid "invalid result from pretty-printer to-string"
 msgstr ""
 
-#: guile/scm-pretty-print.c:628 python/py-prettyprint.c:269 valprint.c:1070
+#: guile/scm-pretty-print.c:628 python/py-prettyprint.c:269 valprint.c:1067
 msgid "<error reading variable>"
 msgstr ""
 
@@ -13748,113 +14082,113 @@ msgstr ""
 msgid "h8300_register_type: illegal register number %d"
 msgstr ""
 
-#: hppa-linux-nat.c:157 ia64-linux-nat.c:310
+#: hppa-linux-nat.c:167 ia64-linux-nat.c:353
 #, possible-c-format
 msgid "Invalid register number %d."
 msgstr ""
 
-#: hppa-linux-nat.c:231 i386-linux-nat.c:114 ia64-linux-nat.c:756
-#: inf-ptrace.c:744 m68k-linux-nat.c:121
+#: hppa-linux-nat.c:241 i386-linux-nat.c:125 ia64-linux-nat.c:795
+#: linux-nat-trad.c:62 m68k-linux-nat.c:132
 #, possible-c-format
 msgid "Couldn't read register %s (#%d): %s."
 msgstr ""
 
-#: hppa-linux-nat.c:256 i386-linux-nat.c:140 ia64-linux-nat.c:812
-#: inf-ptrace.c:800 m68k-linux-nat.c:174
+#: hppa-linux-nat.c:266 i386-linux-nat.c:151 ia64-linux-nat.c:850
+#: linux-nat-trad.c:123 m68k-linux-nat.c:185
 #, possible-c-format
 msgid "Couldn't write register %s (#%d): %s."
 msgstr ""
 
-#: hppa-tdep.c:519
+#: hppa-tdep.c:516
 msgid "Internal error reading unwind information."
 msgstr ""
 
-#: hppa-tdep.c:2002
+#: hppa-tdep.c:1995
 #, possible-c-format
 msgid "Cannot read instruction at %s."
 msgstr ""
 
-#: hppa-tdep.c:2484
+#: hppa-tdep.c:2477
 msgid "Requesting registers from null frame."
 msgstr ""
 
-#: hppa-tdep.c:2997
+#: hppa-tdep.c:2990
 #, possible-c-format
 msgid "Cannot resolve PLT stub at %s."
 msgstr ""
 
-#: hppa-tdep.c:3096
+#: hppa-tdep.c:3089
 #, possible-c-format
 msgid "Unsupported address size: %d"
 msgstr ""
 
-#: hppa-tdep.c:3198
+#: hppa-tdep.c:3191
 msgid "Print unwind table entry at given address."
 msgstr ""
 
 #. Debug this files internals.
-#: hppa-tdep.c:3202
+#: hppa-tdep.c:3195
 msgid ""
 "Set whether hppa target specific debugging information should be displayed."
 msgstr ""
 
-#: hppa-tdep.c:3204
+#: hppa-tdep.c:3197
 msgid "Show whether hppa target specific debugging information is displayed."
 msgstr ""
 
-#: hppa-tdep.c:3205
+#: hppa-tdep.c:3198
 msgid ""
 "This flag controls whether hppa target specific debugging information is\n"
 "displayed.  This information is particularly useful for debugging frame\n"
 "unwinding problems."
 msgstr ""
 
-#: i386-bsd-nat.c:251
+#: i386-bsd-nat.c:249
 msgid "Couldn't write XMM registers"
 msgstr ""
 
-#: i386-bsd-nat.c:323
+#: i386-bsd-nat.c:307
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_pc) yields %d instead of %d.\n"
 "Please report this to <bug-gdb@gnu.org>."
 msgstr ""
 
-#: i386-bsd-nat.c:336
+#: i386-bsd-nat.c:320
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_sp) yields %d instead of %d.\n"
 "Please report this to <bug-gdb@gnu.org>."
 msgstr ""
 
-#: i386-bsd-nat.c:349
+#: i386-bsd-nat.c:333
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_fp) yields %d instead of %d.\n"
 "Please report this to <bug-gdb@gnu.org>."
 msgstr ""
 
-#: i386-darwin-nat.c:71 i386-darwin-nat.c:120
+#: i386-darwin-nat.c:80 i386-darwin-nat.c:129
 #, possible-c-format
 msgid "Error calling thread_get_state for GP registers for thread 0x%lx\n"
 msgstr ""
 
-#: i386-darwin-nat.c:96 i386-darwin-nat.c:145
+#: i386-darwin-nat.c:105 i386-darwin-nat.c:153
 #, possible-c-format
 msgid "Error calling thread_get_state for float registers for thread 0x%lx\n"
 msgstr ""
 
-#: i386-darwin-nat.c:157
+#: i386-darwin-nat.c:165
 #, possible-c-format
 msgid "unknown register %d"
 msgstr ""
 
-#: i386-darwin-nat.c:586
+#: i386-darwin-nat.c:593
 #, possible-c-format
 msgid "darwin_set_sstep: error %x, thread=%x\n"
 msgstr ""
 
-#: i386-darwin-nat.c:626
+#: i386-darwin-nat.c:633
 #, possible-c-format
 msgid "darwin_set_sstep: unknown flavour: %d"
 msgstr ""
@@ -13863,73 +14197,73 @@ msgstr ""
 msgid "Couldn't read `xcr0' bytes from `.reg-xstate' section in core file."
 msgstr ""
 
-#: i386-gnu-nat.c:71 i386-gnu-nat.c:161
+#: i386-gnu-nat.c:88 i386-gnu-nat.c:177
 #, possible-c-format
 msgid "Couldn't fetch floating-point state from %s"
 msgstr ""
 
-#: i386-gnu-nat.c:101
+#: i386-gnu-nat.c:118
 #, possible-c-format
 msgid "Can't fetch registers from thread %s: No such thread"
 msgstr ""
 
-#: i386-gnu-nat.c:112
+#: i386-gnu-nat.c:129
 #, possible-c-format
 msgid "Couldn't fetch registers from %s"
 msgstr ""
 
-#: i386-gnu-nat.c:174
+#: i386-gnu-nat.c:190
 #, possible-c-format
 msgid "Couldn't store floating-point state into %s"
 msgstr ""
 
-#: i386-gnu-nat.c:194
+#: i386-gnu-nat.c:210
 #, possible-c-format
 msgid "Couldn't store registers into thread %s: No such thread"
 msgstr ""
 
-#: i386-gnu-nat.c:211
+#: i386-gnu-nat.c:227
 #, possible-c-format
 msgid "Couldn't store registers into %s"
 msgstr ""
 
-#: i386-gnu-nat.c:232
+#: i386-gnu-nat.c:248
 #, possible-c-format
 msgid "Register %s changed after the thread was aborted"
 msgstr ""
 
-#: i386-gnu-nat.c:239
+#: i386-gnu-nat.c:255
 msgid "... also writing this register!  Suspicious..."
 msgstr ""
 
-#: i386-gnu-nat.c:291
+#: i386-gnu-nat.c:307
 #, possible-c-format
 msgid "Couldn't fetch debug state from %s"
 msgstr ""
 
-#: i386-gnu-nat.c:305
+#: i386-gnu-nat.c:321
 #, possible-c-format
 msgid "Couldn't store debug state into %s"
 msgstr ""
 
-#: i386-linux-nat.c:332 i386-linux-nat.c:355
+#: i386-linux-nat.c:343 i386-linux-nat.c:366
 msgid "Couldn't read extended state status"
 msgstr ""
 
-#: i386-linux-nat.c:388 i386-linux-nat.c:415
+#: i386-linux-nat.c:399 i386-linux-nat.c:426
 msgid "Couldn't read floating-point and SSE registers"
 msgstr ""
 
-#: i386-linux-nat.c:421
+#: i386-linux-nat.c:432
 msgid "Couldn't write floating-point and SSE registers"
 msgstr ""
 
-#: i386-linux-nat.c:521 m32r-linux-nat.c:210 m68k-linux-nat.c:443
+#: i386-linux-nat.c:531 m32r-linux-nat.c:217 m68k-linux-nat.c:448
 #, possible-c-format
 msgid "Got request for bad register number %d."
 msgstr ""
 
-#: i386-linux-nat.c:587 m32r-linux-nat.c:231 m68k-linux-nat.c:488
+#: i386-linux-nat.c:596 m32r-linux-nat.c:237 m68k-linux-nat.c:492
 #, possible-c-format
 msgid "Got request to store bad register number %d."
 msgstr ""
@@ -13961,26 +14295,26 @@ msgstr ""
 msgid "]"
 msgstr ""
 
-#: i386-tdep.c:2795
+#: i386-tdep.c:2796
 msgid "Cannot find floating-point return value."
 msgstr ""
 
-#: i386-tdep.c:2826 m68k-tdep.c:300
+#: i386-tdep.c:2827 m68k-tdep.c:300
 #, possible-c-format
 msgid "Cannot extract return value of %d bytes long."
 msgstr ""
 
-#: i386-tdep.c:2848
+#: i386-tdep.c:2849
 msgid "Cannot set floating-point return value."
 msgstr ""
 
-#: i386-tdep.c:2891 m68k-tdep.c:341
+#: i386-tdep.c:2892 m68k-tdep.c:340
 #, possible-c-format
 msgid "Cannot store return value of %d bytes long."
 msgstr ""
 
-#: i386-tdep.c:4909 i386-tdep.c:5817 i386-tdep.c:6486 i386-tdep.c:7036
-#: i386-tdep.c:7088
+#: i386-tdep.c:4886 i386-tdep.c:5794 i386-tdep.c:6463 i386-tdep.c:7013
+#: i386-tdep.c:7065
 #, possible-c-format
 msgid ""
 "Process record ignores the memory change of instruction at address %s\n"
@@ -13990,150 +14324,150 @@ msgstr ""
 
 #. XXX
 #. int3
-#: i386-tdep.c:6825
+#: i386-tdep.c:6802
 msgid "Process record does not support instruction int3.\n"
 msgstr ""
 
-#: i386-tdep.c:6842
+#: i386-tdep.c:6819
 #, possible-c-format
 msgid "Process record does not support instruction int 0x%02x.\n"
 msgstr ""
 
 #. XXX
 #. into
-#: i386-tdep.c:6856
+#: i386-tdep.c:6833
 msgid "Process record does not support instruction into.\n"
 msgstr ""
 
 #. bound
-#: i386-tdep.c:6867
+#: i386-tdep.c:6844
 msgid "Process record does not support instruction bound.\n"
 msgstr ""
 
 #. wrmsr
-#: i386-tdep.c:6903
+#: i386-tdep.c:6880
 msgid "Process record does not support instruction wrmsr.\n"
 msgstr ""
 
 #. rdmsr
-#: i386-tdep.c:6910
+#: i386-tdep.c:6887
 msgid "Process record does not support instruction rdmsr.\n"
 msgstr ""
 
-#: i386-tdep.c:6931
+#: i386-tdep.c:6908
 msgid "Process record does not support instruction sysenter.\n"
 msgstr ""
 
 #. sysexit
-#: i386-tdep.c:6943
+#: i386-tdep.c:6920
 msgid "Process record does not support instruction sysexit.\n"
 msgstr ""
 
-#: i386-tdep.c:6954
+#: i386-tdep.c:6931
 msgid "Process record does not support instruction syscall.\n"
 msgstr ""
 
 #. sysret
-#: i386-tdep.c:6966
+#: i386-tdep.c:6943
 msgid "Process record does not support instruction sysret.\n"
 msgstr ""
 
 #. hlt
-#: i386-tdep.c:6980
+#: i386-tdep.c:6957
 msgid "Process record does not support instruction hlt.\n"
 msgstr ""
 
-#: i386-tdep.c:8098
+#: i386-tdep.c:8076
 #, possible-c-format
 msgid "Process record does not support instruction 0x%02x at address %s.\n"
 msgstr ""
 
-#: i386-tdep.c:8159
+#: i386-tdep.c:8137
 #, possible-c-format
 msgid ""
 "; instruction is only %d bytes long, need at least %d bytes for the jump"
 msgstr ""
 
-#: i386-tdep.c:8750
+#: i386-tdep.c:8753
 #, possible-c-format
 msgid "BNDCFGU register invalid, read status %d."
 msgstr ""
 
-#: i386-tdep.c:8796
+#: i386-tdep.c:8799
 msgid ""
 "bound table examination not supported for 64-bit process with 32-bit GDB"
 msgstr ""
 
-#: i386-tdep.c:8814
+#: i386-tdep.c:8817
 #, possible-c-format
 msgid "Invalid bounds directory entry at %s."
 msgstr ""
 
-#: i386-tdep.c:8890
+#: i386-tdep.c:8893
 msgid "Intel Memory Protection Extensions not supported on this target.\n"
 msgstr ""
 
-#: i386-tdep.c:8897
+#: i386-tdep.c:8900
 msgid "Address of pointer variable expected.\n"
 msgstr ""
 
-#: i386-tdep.c:8933
+#: i386-tdep.c:8936
 msgid "Intel Memory Protection Extensions not supported on this target."
 msgstr ""
 
-#: i386-tdep.c:8937
+#: i386-tdep.c:8940
 msgid "Pointer value expected."
 msgstr ""
 
-#: i386-tdep.c:8944
+#: i386-tdep.c:8947
 msgid "wrong number of arguments: missing lower and upper bound."
 msgstr ""
 
-#: i386-tdep.c:8950
+#: i386-tdep.c:8953
 msgid "Wrong number of arguments; Missing upper bound."
 msgstr ""
 
-#: i386-tdep.c:8994
+#: i386-tdep.c:8997
 msgid "Set the disassembly flavor."
 msgstr ""
 
-#: i386-tdep.c:8995
+#: i386-tdep.c:8998
 msgid "Show the disassembly flavor."
 msgstr ""
 
-#: i386-tdep.c:8996
+#: i386-tdep.c:8999
 msgid ""
 "The valid values are \"att\" and \"intel\", and the default value is \"att\"."
 msgstr ""
 
-#: i386-tdep.c:9005
+#: i386-tdep.c:9008
 msgid "Set the convention for returning small structs."
 msgstr ""
 
-#: i386-tdep.c:9006
+#: i386-tdep.c:9009
 msgid "Show the convention for returning small structs."
 msgstr ""
 
-#: i386-tdep.c:9007
+#: i386-tdep.c:9010
 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:9016
+#: i386-tdep.c:9019
 msgid "Set Intel Memory Protection Extensions specific variables."
 msgstr ""
 
 #. allow-unknown
 #. Add "mpx" prefix for the show commands.
-#: i386-tdep.c:9023
+#: i386-tdep.c:9026
 msgid "Show Intel Memory Protection Extensions specific variables."
 msgstr ""
 
 #: i387-tdep.c:111 i387-tdep.c:149 i387-tdep.c:297 i387-tdep.c:307
 #: i387-tdep.c:309 i387-tdep.c:311 i387-tdep.c:313 i387-tdep.c:315
-#: i387-tdep.c:319 tui/tui-stack.c:387 valprint.c:370
+#: i387-tdep.c:319 tui/tui-stack.c:387 valprint.c:367
 msgid "<unavailable>"
 msgstr ""
 
@@ -14147,7 +14481,12 @@ msgid ""
 "Cannot convert non-floating-point type to floating-point register value."
 msgstr ""
 
-#: i387-tdep.c:1591 i387-tdep.c:1707
+#: i387-tdep.c:1397
+#, possible-c-format
+msgid "invalid i387 regnum %d"
+msgstr ""
+
+#: i387-tdep.c:1670
 msgid "invalid i387 regclass"
 msgstr ""
 
@@ -14192,54 +14531,54 @@ msgid ""
 "Cannot remove breakpoint at address %s, no break instruction at such address."
 msgstr ""
 
-#: infcall.c:81
+#: infcall.c:82
 #, possible-c-format
 msgid "Coercion of floats to doubles when calling functions is %s.\n"
 msgstr ""
 
-#: infcall.c:99
+#: infcall.c:100
 #, possible-c-format
 msgid ""
 "Unwinding of stack if a signal is received while in a call dummy is %s.\n"
 msgstr ""
 
-#: infcall.c:125
+#: infcall.c:126
 #, possible-c-format
 msgid ""
 "Unwind stack if a C++ exception is unhandled while in a call dummy is %s.\n"
 msgstr ""
 
-#: infcall.c:318
+#: infcall.c:322
 msgid "Invalid data type for function to be called."
 msgstr ""
 
-#: infcall.c:349 infcall.c:877
+#: infcall.c:355 infcall.c:881
 #, possible-c-format
 msgid "'%s' has unknown return type; cast the call to its declared return type"
 msgstr ""
 
-#: infcall.c:353
+#: infcall.c:359
 msgid ""
 "function has unknown return type; cast the call to its declared return type"
 msgstr ""
 
-#: infcall.c:751
+#: infcall.c:744
 msgid "May not call functions while looking at trace frames."
 msgstr ""
 
-#: infcall.c:754
+#: infcall.c:747
 msgid "Cannot call functions in reverse mode."
 msgstr ""
 
-#: infcall.c:760
+#: infcall.c:761
 msgid "This target does not support function calls."
 msgstr ""
 
-#: infcall.c:970
+#: infcall.c:974
 msgid "Too few arguments in function call."
 msgstr ""
 
-#: infcall.c:1246
+#: infcall.c:1239
 #, possible-c-format
 msgid ""
 "%s\n"
@@ -14252,7 +14591,7 @@ msgstr ""
 #. We could discard the dummy frame here given that the program exited,
 #. but it will get garbage collected the next time the program is
 #. run anyway.
-#: infcall.c:1274
+#: infcall.c:1267
 #, possible-c-format
 msgid ""
 "The program being debugged exited while in a function called from GDB.\n"
@@ -14260,7 +14599,7 @@ msgid ""
 "(%s) will be abandoned."
 msgstr ""
 
-#: infcall.c:1294
+#: infcall.c:1287
 #, possible-c-format
 msgid ""
 "The program received a signal in another thread while\n"
@@ -14270,7 +14609,7 @@ msgid ""
 "When the function is done executing, GDB will silently stop."
 msgstr ""
 
-#: infcall.c:1302
+#: infcall.c:1295
 #, possible-c-format
 msgid ""
 "The program stopped in another thread while making a function call from "
@@ -14282,7 +14621,7 @@ msgstr ""
 
 #. FIXME: Insert a bunch of wrap_here; name can be very
 #. long if it's a C++ name with arguments and stuff.
-#: infcall.c:1335
+#: infcall.c:1328
 #, possible-c-format
 msgid ""
 "The program being debugged was signaled while in a function called from "
@@ -14295,7 +14634,7 @@ msgstr ""
 
 #. FIXME: Insert a bunch of wrap_here; name can be very
 #. long if it's a C++ name with arguments and stuff.
-#: infcall.c:1353
+#: infcall.c:1346
 #, possible-c-format
 msgid ""
 "The program being debugged was signaled while in a function called from "
@@ -14307,7 +14646,7 @@ msgid ""
 "When the function is done executing, GDB will silently stop."
 msgstr ""
 
-#: infcall.c:1374
+#: infcall.c:1367
 #, possible-c-format
 msgid ""
 "The program being debugged entered a std::terminate call, most likely\n"
@@ -14327,7 +14666,7 @@ msgstr ""
 #. someday this will be implemented (it would not be easy).
 #. FIXME: Insert a bunch of wrap_here; name can be very long if it's
 #. a C++ name with arguments and stuff.
-#: infcall.c:1401
+#: infcall.c:1394
 #, possible-c-format
 msgid ""
 "The program being debugged stopped while in a function called from GDB.\n"
@@ -14336,15 +14675,15 @@ msgid ""
 "When the function is done executing, GDB will silently stop."
 msgstr ""
 
-#: infcall.c:1419
+#: infcall.c:1412
 msgid "Set coercion of floats to doubles when calling functions."
 msgstr ""
 
-#: infcall.c:1420
+#: infcall.c:1413
 msgid "Show coercion of floats to doubles when calling functions"
 msgstr ""
 
-#: infcall.c:1421
+#: infcall.c:1414
 msgid ""
 "Variables of type float should generally be converted to doubles before\n"
 "calling an unprototyped function, and left alone when calling a prototyped\n"
@@ -14355,15 +14694,15 @@ msgid ""
 "The default is to perform the conversion.\n"
 msgstr ""
 
-#: infcall.c:1434
+#: infcall.c:1427
 msgid "Set unwinding of stack if a signal is received while in a call dummy."
 msgstr ""
 
-#: infcall.c:1435
+#: infcall.c:1428
 msgid "Show unwinding of stack if a signal is received while in a call dummy."
 msgstr ""
 
-#: infcall.c:1436
+#: infcall.c:1429
 msgid ""
 "The unwindonsignal lets the user determine what gdb should do if a signal\n"
 "is received while in a function called from gdb (call dummy).  If set, gdb\n"
@@ -14372,16 +14711,16 @@ msgid ""
 "The default is to stop in the frame where the signal was received."
 msgstr ""
 
-#: infcall.c:1446
+#: infcall.c:1439
 msgid "Set unwinding of stack if std::terminate is called while in call dummy."
 msgstr ""
 
-#: infcall.c:1447
+#: infcall.c:1440
 msgid ""
 "Show unwinding of stack if std::terminate() is called while in a call dummy."
 msgstr ""
 
-#: infcall.c:1449
+#: infcall.c:1442
 msgid ""
 "The unwind on terminating exception flag lets the user determine\n"
 "what gdb should do if a std::terminate() call is made from the\n"
@@ -14391,140 +14730,148 @@ msgid ""
 "The default is to unwind the frame."
 msgstr ""
 
-#: inf-child.c:146
-msgid "Argument given to \"disconnect\"."
+#: inf-child.c:44
+msgid "Native process"
 msgstr ""
 
-#: infcmd.c:70 infcmd.c:2577 infcmd.c:2973 linux-fork.c:682
-#: record-btrace.c:239 remote-sim.c:892
+#: inf-child.c:45
+msgid "Native process (started by the \"run\" command)."
+msgstr ""
+
+#: inf-child.c:175
+msgid "Argument given to \"disconnect\"."
+msgstr ""
+
+#: infcmd.c:71 infcmd.c:2596 infcmd.c:3003 linux-fork.c:682
+#: record-btrace.c:389 remote-sim.c:931
 msgid "The program is not being run."
 msgstr ""
 
-#: infcmd.c:156
+#: infcmd.c:153
 #, possible-c-format
 msgid "Terminal for future runs of program being debugged is \"%s\".\n"
 msgstr ""
 
-#: infcmd.c:263
+#: infcmd.c:260
 msgid ""
 "You have not set the inferior's current working directory.\n"
 "The inferior will inherit GDB's cwd if native debugging, or the remote\n"
 "server's cwd if remote debugging.\n"
 msgstr ""
 
-#: infcmd.c:269
+#: infcmd.c:266
 #, possible-c-format
 msgid ""
 "Current working directory that will be used when starting the inferior is \"%"
 "s\".\n"
 msgstr ""
 
-#: infcmd.c:374
+#: infcmd.c:371
 msgid "can't handle command-line argument containing whitespace"
 msgstr ""
 
-#: infcmd.c:479
+#: infcmd.c:478
 msgid ""
 "platform-specific solib_create_inferior_hook did not load initial shared "
 "libraries."
 msgstr ""
 
-#: infcmd.c:519
+#: infcmd.c:518
 msgid ""
 "The program being debugged has been started already.\n"
 "Start it from the beginning? "
 msgstr ""
 
-#: infcmd.c:521
+#: infcmd.c:520
 msgid "Program not restarted."
 msgstr ""
 
-#: infcmd.c:534
+#: infcmd.c:533
 msgid "Asynchronous execution not supported on this target."
 msgstr ""
 
-#: infcmd.c:605
+#: infcmd.c:602
 msgid "The target does not support running in non-stop mode."
 msgstr ""
 
-#: infcmd.c:701
+#: infcmd.c:697
 msgid "No symbol table loaded.  Use the \"file\" command."
 msgstr ""
 
-#: infcmd.c:742
+#: infcmd.c:738
 msgid "Cannot execute this command without a live selected thread."
 msgstr ""
 
-#: infcmd.c:753
+#: infcmd.c:749
 msgid "Cannot execute this command while looking at trace frames."
 msgstr ""
 
-#: infcmd.c:761
+#: infcmd.c:757
 msgid "Cannot execute this command while the selected thread is running."
 msgstr ""
 
-#: infcmd.c:844
+#: infcmd.c:840
 msgid "`-a' is meaningless in all-stop mode."
 msgstr ""
 
-#: infcmd.c:847
+#: infcmd.c:843
 msgid "Can't resume all threads and specify proceed count simultaneously."
 msgstr ""
 
-#: infcmd.c:904
+#: infcmd.c:900
 msgid "Continuing.\n"
 msgstr ""
 
-#: infcmd.c:1186 infcmd.c:1884
+#: infcmd.c:1182 infcmd.c:1880
 msgid "Cannot find bounds of current function"
 msgstr ""
 
-#: infcmd.c:1189
+#: infcmd.c:1185
 #, possible-c-format
 msgid ""
 "Single stepping until exit from function %s,\n"
 "which has no line number information.\n"
 msgstr ""
 
-#: infcmd.c:1240
+#: infcmd.c:1236
 msgid "starting address"
 msgstr ""
 
-#: infcmd.c:1245
+#: infcmd.c:1241
 msgid "Unreasonable jump request"
 msgstr ""
 
-#: infcmd.c:1250
+#: infcmd.c:1246
 msgid "No source file has been specified."
 msgstr ""
 
-#: infcmd.c:1259
+#: infcmd.c:1255
 #, possible-c-format
 msgid "Line %d is not in `%s'.  Jump anyway? "
 msgstr ""
 
-#: infcmd.c:1276
+#: infcmd.c:1272
 msgid "WARNING!!!  Destination is in unmapped overlay!  Jump anyway? "
 msgstr ""
 
-#: infcmd.c:1289
+#: infcmd.c:1285
 msgid "Continuing at "
 msgstr ""
 
-#: infcmd.c:1320 infcmd.c:1409
+#: infcmd.c:1316 infcmd.c:1405
 msgid "signal number"
 msgstr ""
 
-#: infcmd.c:1365
+#: infcmd.c:1361
 msgid "Note:\n"
 msgstr ""
 
-#: infcmd.c:1366
+#: infcmd.c:1362
 #, possible-c-format
 msgid "  Thread %s previously stopped with signal %s, %s.\n"
 msgstr ""
 
-#: infcmd.c:1375
+#: infcmd.c:1371
 #, possible-c-format
 msgid ""
 "Continuing thread %s (the current thread) with specified signal will\n"
@@ -14532,174 +14879,179 @@ msgid ""
 "Continue anyway? "
 msgstr ""
 
-#: infcmd.c:1385
+#: infcmd.c:1381
 msgid "Continuing with no signal.\n"
 msgstr ""
 
-#: infcmd.c:1387
+#: infcmd.c:1383
 #, possible-c-format
 msgid "Continuing with signal %s.\n"
 msgstr ""
 
-#: infcmd.c:1429
+#: infcmd.c:1425
 msgid "Signal handling set to not pass this signal to the program."
 msgstr ""
 
-#: infcmd.c:1548
+#: infcmd.c:1544
 msgid "Execution is not within a known function."
 msgstr ""
 
-#: infcmd.c:1609
+#: infcmd.c:1605
 msgid "a location"
 msgstr ""
 
-#: infcmd.c:1809
+#: infcmd.c:1805
 msgid "finish_command: function has no target type"
 msgstr ""
 
-#: infcmd.c:1998
+#: infcmd.c:1994
 msgid "The \"finish\" command does not take any arguments."
 msgstr ""
 
 #. Finishing from an inline frame is completely different.  We don't
 #. try to show the "return value" - no way to locate it.
-#: infcmd.c:2000 infcmd.c:2014
+#: infcmd.c:1996 infcmd.c:2010
 msgid "No selected frame."
 msgstr ""
 
-#: infcmd.c:2002
+#: infcmd.c:1998
 msgid "\"finish\" not meaningful in the outermost frame."
 msgstr ""
 
-#: infcmd.c:2031 infcmd.c:2056
+#: infcmd.c:2027 infcmd.c:2052
 msgid "Run till exit from "
 msgstr ""
 
-#: infcmd.c:2048
+#: infcmd.c:2044
 msgid "Run back to call of "
 msgstr ""
 
-#: infcmd.c:2052
+#: infcmd.c:2048
 #, possible-c-format
 msgid ""
 "warning: Function %s does not return normally.\n"
 "Try to finish anyway? "
 msgstr ""
 
-#: infcmd.c:2086
+#: infcmd.c:2081
 msgid "The program being debugged is not being run.\n"
 msgstr ""
 
+#: infcmd.c:2095
+msgid "No selected thread."
+msgstr ""
+
 #: infcmd.c:2100
 msgid "Invalid selected thread."
 msgstr ""
 
-#: infcmd.c:2102 thread.c:1117
+#: infcmd.c:2102 thread.c:1052
 msgid "Selected thread is running."
 msgstr ""
 
-#: infcmd.c:2109
+#: infcmd.c:2108
 #, possible-c-format
 msgid "Program stopped at %s.\n"
 msgstr ""
 
-#: infcmd.c:2112
+#: infcmd.c:2111
 msgid "It stopped after being stepped.\n"
 msgstr ""
 
-#: infcmd.c:2121
+#: infcmd.c:2120
 msgid "It stopped at a breakpoint that has since been deleted.\n"
 msgstr ""
 
-#: infcmd.c:2125
+#: infcmd.c:2124
 #, possible-c-format
 msgid "It stopped at breakpoint %d.\n"
 msgstr ""
 
-#: infcmd.c:2131
+#: infcmd.c:2130
 #, possible-c-format
 msgid "It stopped with signal %s, %s.\n"
 msgstr ""
 
-#: infcmd.c:2138
+#: infcmd.c:2137
 msgid "Type \"info stack\" or \"info registers\" for more information.\n"
 msgstr ""
 
-#: infcmd.c:2183
+#: infcmd.c:2182
 msgid "environment variable and value"
 msgstr ""
 
-#: infcmd.c:2207
+#: infcmd.c:2206
 msgid "environment variable to set"
 msgstr ""
 
-#: infcmd.c:2229
+#: infcmd.c:2228
 #, possible-c-format
 msgid "Setting environment variable \"%s\" to null value.\n"
 msgstr ""
 
 #. If there is no argument, delete all environment variables.
 #. Ask for confirmation if reading from the terminal.
-#: infcmd.c:2245
+#: infcmd.c:2244
 msgid "Delete all environment variables? "
 msgstr ""
 
-#: infcmd.c:2416 infcmd.c:2562 infcmd.c:3105
+#: infcmd.c:2435 infcmd.c:2581 infcmd.c:3135
 msgid "The program has no registers now."
 msgstr ""
 
-#: infcmd.c:2440
+#: infcmd.c:2459
 msgid "Missing register name"
 msgstr ""
 
 #. Nothing matched.
-#: infcmd.c:2513
+#: infcmd.c:2532
 #, possible-c-format
 msgid "Invalid register `%.*s'"
 msgstr ""
 
-#: infcmd.c:2578
+#: infcmd.c:2597
 msgid "Kill the program being debugged? "
 msgstr ""
 
-#: infcmd.c:2592
+#: infcmd.c:2609
+#, possible-c-format
+msgid "[Inferior %d (%s) killed]\n"
+msgstr ""
+
+#: infcmd.c:2622
 #, possible-c-format
 msgid "In %s,\n"
 msgstr ""
 
-#: infcmd.c:2806 target.c:2129
+#: infcmd.c:2836 target.c:2055
 msgid "A program is being debugged already.  Kill it? "
 msgstr ""
 
-#: infcmd.c:2809
+#: infcmd.c:2839
 msgid "Not killed."
 msgstr ""
 
-#: infcmd.c:2824
+#: infcmd.c:2854
 msgid "Cannot attach to this target in non-stop mode"
 msgstr ""
 
-#: infcmd.c:3068
+#: infcmd.c:3098
 msgid "-a is meaningless in all-stop mode."
 msgstr ""
 
-#: infcmd.c:3114
+#: infcmd.c:3144
 msgid "\"unset\" must be followed by the name of an unset subcommand.\n"
 msgstr ""
 
-#: infcmd.c:3131 procfs.c:3629
-msgid "Not supported on this target."
-msgstr ""
-
-#: infcmd.c:3224
+#: infcmd.c:3254
 msgid "Set terminal for future runs of program being debugged."
 msgstr ""
 
-#: infcmd.c:3225
+#: infcmd.c:3255
 msgid "Show terminal for future runs of program being debugged."
 msgstr ""
 
-#: infcmd.c:3226
+#: infcmd.c:3256
 msgid ""
 "Usage: set inferior-tty [TTY]\n"
 "\n"
@@ -14707,39 +15059,39 @@ msgid ""
 "is restored."
 msgstr ""
 
-#: infcmd.c:3240
+#: infcmd.c:3270
 msgid "Set argument list to give program being debugged when it is started."
 msgstr ""
 
-#: infcmd.c:3241
+#: infcmd.c:3271
 msgid "Show argument list to give program being debugged when it is started."
 msgstr ""
 
-#: infcmd.c:3242
+#: infcmd.c:3272
 msgid ""
 "Follow this command with any number of args, to be passed to the program."
 msgstr ""
 
-#: infcmd.c:3253
+#: infcmd.c:3283
 msgid ""
 "Set the current working directory to be used when the inferior is started.\n"
 "Changing this setting does not have any effect on inferiors that are\n"
 "already running."
 msgstr ""
 
-#: infcmd.c:3257
+#: infcmd.c:3287
 msgid ""
 "Show the current working directory that is used when the inferior is started."
 msgstr ""
 
-#: infcmd.c:3259
+#: infcmd.c:3289
 msgid ""
 "Use this command to change the current working directory that will be used\n"
 "when the inferior is started.  This setting does not affect GDB's current\n"
 "working directory."
 msgstr ""
 
-#: infcmd.c:3270
+#: infcmd.c:3300
 msgid ""
 "The environment to give the program, or one variable's value.\n"
 "With an argument VAR, prints the value of environment variable VAR to\n"
@@ -14747,17 +15099,17 @@ msgid ""
 "environment to be given to the program."
 msgstr ""
 
-#: infcmd.c:3278
+#: infcmd.c:3308
 msgid "Complement to certain \"set\" commands."
 msgstr ""
 
-#: infcmd.c:3281
+#: infcmd.c:3311
 msgid ""
 "Cancel environment variable VAR for the program.\n"
 "This does not affect the program until the next \"run\" command."
 msgstr ""
 
-#: infcmd.c:3287
+#: infcmd.c:3317
 msgid ""
 "Set environment variable value to give the program.\n"
 "Arguments are VAR VALUE where VAR is variable name and VALUE is value.\n"
@@ -14765,7 +15117,7 @@ msgid ""
 "This does not affect the program until the next \"run\" command."
 msgstr ""
 
-#: infcmd.c:3295
+#: infcmd.c:3325
 msgid ""
 "Add directory DIR(s) to beginning of search path for object files.\n"
 "$cwd in the path means the current working directory.\n"
@@ -14774,7 +15126,7 @@ msgid ""
 "fully linked executable files and separately compiled object files as needed."
 msgstr ""
 
-#: infcmd.c:3304
+#: infcmd.c:3334
 msgid ""
 "Current search path for finding object files.\n"
 "$cwd in the path means the current working directory.\n"
@@ -14783,11 +15135,11 @@ msgid ""
 "fully linked executable files and separately compiled object files as needed."
 msgstr ""
 
-#: infcmd.c:3315
+#: infcmd.c:3345
 msgid "Kill execution of program being debugged."
 msgstr ""
 
-#: infcmd.c:3318
+#: infcmd.c:3348
 msgid ""
 "Attach to a process or file outside of GDB.\n"
 "This command attaches to another target, of the same type as your last\n"
@@ -14802,21 +15154,21 @@ msgid ""
 "to specify the program, and to load its symbol table."
 msgstr ""
 
-#: infcmd.c:3331
+#: infcmd.c:3361
 msgid ""
 "Detach a process or file previously attached.\n"
 "If a process, it is no longer traced, and it continues its execution.  If\n"
 "you were debugging a file, the file is closed and gdb no longer accesses it."
 msgstr ""
 
-#: infcmd.c:3337
+#: infcmd.c:3367
 msgid ""
 "Disconnect from a target.\n"
 "The target will wait for another debugger to connect.  Not available for\n"
 "all targets."
 msgstr ""
 
-#: infcmd.c:3342
+#: infcmd.c:3372
 msgid ""
 "Continue program with the specified signal.\n"
 "Usage: signal SIGNAL\n"
@@ -14831,7 +15183,7 @@ msgid ""
 "the current thread only."
 msgstr ""
 
-#: infcmd.c:3355
+#: infcmd.c:3385
 msgid ""
 "Queue a signal to be delivered to the current thread when it is resumed.\n"
 "Usage: queue-signal SIGNAL\n"
@@ -14846,28 +15198,28 @@ msgid ""
 "the current thread only."
 msgstr ""
 
-#: infcmd.c:3369
+#: infcmd.c:3399
 msgid ""
 "Step one instruction exactly.\n"
 "Usage: stepi [N]\n"
 "Argument N means step N times (or till program stops for another reason)."
 msgstr ""
 
-#: infcmd.c:3376
+#: infcmd.c:3406
 msgid ""
 "Step one instruction, but proceed through subroutine calls.\n"
 "Usage: nexti [N]\n"
 "Argument N means step N times (or till program stops for another reason)."
 msgstr ""
 
-#: infcmd.c:3383
+#: infcmd.c:3413
 msgid ""
 "Execute until selected stack frame returns.\n"
 "Usage: finish\n"
 "Upon return, the value returned is printed and put in the value history."
 msgstr ""
 
-#: infcmd.c:3389
+#: infcmd.c:3419
 msgid ""
 "Step program, proceeding through subroutine calls.\n"
 "Usage: next [N]\n"
@@ -14876,36 +15228,36 @@ msgid ""
 "the call, in effect treating it as a single source line."
 msgstr ""
 
-#: infcmd.c:3397
+#: infcmd.c:3427
 msgid ""
 "Step program until it reaches a different source line.\n"
 "Usage: step [N]\n"
 "Argument N means step N times (or till program stops for another reason)."
 msgstr ""
 
-#: infcmd.c:3404
+#: infcmd.c:3434
 msgid ""
 "Execute until the program reaches a source line greater than the current\n"
 "or a specified location (same args as break command) within the current "
 "frame."
 msgstr ""
 
-#: infcmd.c:3411
+#: infcmd.c:3441
 msgid ""
 "Continue the program up to the given location (same form as args for break "
 "command).\n"
 "Execution will also stop upon exit from the current stack frame."
 msgstr ""
 
-#: infcmd.c:3417
+#: infcmd.c:3447
 msgid ""
 "Continue program being debugged at specified line or address.\n"
-"Usage: jump <location>\n"
+"Usage: jump LOCATION\n"
 "Give as argument either LINENUM or *ADDR, where ADDR is an expression\n"
 "for an address to start at."
 msgstr ""
 
-#: infcmd.c:3425
+#: infcmd.c:3455
 msgid ""
 "Continue program being debugged, after signal or breakpoint.\n"
 "Usage: continue [N]\n"
@@ -14919,20 +15271,20 @@ msgid ""
 "Specifying -a and an ignore count simultaneously is an error."
 msgstr ""
 
-#: infcmd.c:3439
+#: infcmd.c:3469
 msgid "Start debugged program.\n"
 msgstr ""
 
-#: infcmd.c:3445
+#: infcmd.c:3475
 msgid ""
 "Start the debugged program stopping at the beginning of the main procedure.\n"
 msgstr ""
 
-#: infcmd.c:3450
+#: infcmd.c:3480
 msgid "Start the debugged program stopping at the first instruction.\n"
 msgstr ""
 
-#: infcmd.c:3456
+#: infcmd.c:3486
 msgid ""
 "Interrupt the execution of the debugged program.\n"
 "If non-stop mode is enabled, interrupt only the current thread,\n"
@@ -14940,7 +15292,7 @@ msgid ""
 "interrupt all running threads in non-stop mode, use the -a option."
 msgstr ""
 
-#: infcmd.c:3461
+#: infcmd.c:3491
 msgid ""
 "List of integer registers and their contents, for selected stack frame.\n"
 "One or more register names as argument means describe the given registers.\n"
@@ -14948,7 +15300,7 @@ msgid ""
 "in the named register groups."
 msgstr ""
 
-#: infcmd.c:3469
+#: infcmd.c:3499
 msgid ""
 "List of all registers and their contents, for selected stack frame.\n"
 "One or more register names as argument means describe the given registers.\n"
@@ -14956,209 +15308,213 @@ msgid ""
 "in the named register groups."
 msgstr ""
 
-#: infcmd.c:3477
+#: infcmd.c:3507
 msgid "Execution status of the program."
 msgstr ""
 
-#: infcmd.c:3480
+#: infcmd.c:3510
 msgid "Print the status of the floating point unit\n"
 msgstr ""
 
-#: infcmd.c:3483
+#: infcmd.c:3513
 msgid "Print the status of the vector unit\n"
 msgstr ""
 
-#: infcmd.c:3486
+#: infcmd.c:3516
 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:3492
+#: infcmd.c:3522
 msgid "List of mapped memory regions."
 msgstr ""
 
-#: infcmd.c:3496
+#: infcmd.c:3526
 msgid "List process info from /proc/PID/stat."
 msgstr ""
 
-#: infcmd.c:3500
+#: infcmd.c:3530
 msgid "List process info from /proc/PID/status."
 msgstr ""
 
-#: infcmd.c:3504
+#: infcmd.c:3534
 msgid "List current working directory of the process."
 msgstr ""
 
-#: infcmd.c:3508
+#: infcmd.c:3538
 msgid "List command line arguments of the process."
 msgstr ""
 
-#: infcmd.c:3512
+#: infcmd.c:3542
 msgid "List absolute filename for executable of the process."
 msgstr ""
 
-#: infcmd.c:3516
+#: infcmd.c:3546
 msgid "List all available /proc info."
 msgstr ""
 
-#: inferior.c:126
+#: inferior.c:125
 #, possible-c-format
-msgid "[New inferior %d]\n"
+msgid "[New inferior %d (%s)]\n"
 msgstr ""
 
-#: inferior.c:239
+#: inferior.c:264 remote.c:5689
 #, possible-c-format
-msgid "[Inferior %d exited]\n"
+msgid "[Inferior %d (%s) detached]\n"
 msgstr ""
 
-#: inferior.c:266
-#, possible-c-format
-msgid "[Inferior %d detached]\n"
-msgstr ""
-
-#: inferior.c:520
+#: inferior.c:474
 msgid "<noexec>"
 msgstr ""
 
-#: inferior.c:522
+#: inferior.c:476
 #, possible-c-format
 msgid "[Switching to inferior %d [%s] (%s)]\n"
 msgstr ""
 
-#: inferior.c:587
+#: inferior.c:541
 msgid ""
 "\n"
 "\tis vfork child of inferior "
 msgstr ""
 
-#: inferior.c:592
+#: inferior.c:546
 msgid ""
 "\n"
 "\tis vfork parent of inferior "
 msgstr ""
 
-#: inferior.c:606
+#: inferior.c:558
 msgid "Requires argument (inferior id(s) to detach)"
 msgstr ""
 
-#: inferior.c:615 inferior.c:654 inferior.c:690 inferior.c:744 inferior.c:894
+#: inferior.c:568 inferior.c:605 inferior.c:640 inferior.c:693 inferior.c:843
 #, possible-c-format
 msgid "Inferior ID %d not known."
 msgstr ""
 
-#: inferior.c:622 inferior.c:661
+#: inferior.c:574 inferior.c:611
 #, possible-c-format
 msgid "Inferior ID %d is not running."
 msgstr ""
 
-#: inferior.c:629 inferior.c:668
+#: inferior.c:581 inferior.c:618
 #, possible-c-format
 msgid "Inferior ID %d has no threads."
 msgstr ""
 
-#: inferior.c:645
+#: inferior.c:595
 msgid "Requires argument (inferior id(s) to kill)"
 msgstr ""
 
-#: inferior.c:700 mi/mi-main.c:418
+#: inferior.c:648 mi/mi-main.c:414
 msgid "Inferior has no threads."
 msgstr ""
 
-#: inferior.c:734
+#: inferior.c:683
 msgid "Requires an argument (inferior id(s) to remove)"
 msgstr ""
 
-#: inferior.c:750
+#: inferior.c:699
 #, possible-c-format
 msgid "Can not remove current inferior %d."
 msgstr ""
 
-#: inferior.c:756
+#: inferior.c:705
 #, possible-c-format
 msgid "Can not remove active inferior %d."
 msgstr ""
 
-#: inferior.c:816 inferior.c:875
+#: inferior.c:765 inferior.c:824
 msgid "No argument to -copies"
 msgstr ""
 
-#: inferior.c:823
+#: inferior.c:772
 msgid "No argument to -exec"
 msgstr ""
 
-#: inferior.c:828 inferior.c:898 mi/mi-main.c:1623
+#: inferior.c:777 inferior.c:847 mi/mi-main.c:1613
 msgid "Invalid argument"
 msgstr ""
 
-#: inferior.c:838
+#: inferior.c:787
 #, possible-c-format
 msgid "Added inferior %d\n"
 msgstr ""
 
-#: inferior.c:879
+#: inferior.c:828
 msgid "Invalid copies number"
 msgstr ""
 
-#: inferior.c:931
+#: inferior.c:880
 #, possible-c-format
 msgid "Added inferior %d.\n"
 msgstr ""
 
-#: inferior.c:944
+#: inferior.c:893
 #, possible-c-format
 msgid "Printing of inferior events is %s.\n"
 msgstr ""
 
-#: inferior.c:988
-msgid "IDs of specified inferiors (all inferiors if no argument)."
+#: inferior.c:937
+msgid ""
+"Print a list of inferiors being managed.\n"
+"Usage: info inferiors [ID]...\n"
+"If IDs are specified, the list is limited to just those inferiors.\n"
+"By default all inferiors are displayed."
 msgstr ""
 
-#: inferior.c:990
+#: inferior.c:942
 msgid ""
 "Add a new inferior.\n"
-"Usage: add-inferior [-copies <N>] [-exec <FILENAME>]\n"
+"Usage: add-inferior [-copies N] [-exec FILENAME]\n"
 "N is the optional number of inferiors to add, default is 1.\n"
 "FILENAME is the file name of the executable to use\n"
 "as main program."
 msgstr ""
 
-#: inferior.c:998
+#: inferior.c:950
 msgid ""
 "Remove inferior ID (or list of IDs).\n"
 "Usage: remove-inferiors ID..."
 msgstr ""
 
-#: inferior.c:1002
+#: inferior.c:954
 msgid ""
 "Clone inferior ID.\n"
-"Usage: clone-inferior [-copies <N>] [ID]\n"
+"Usage: clone-inferior [-copies N] [ID]\n"
 "Add N copies of inferior ID.  The new inferior has the same\n"
 "executable loaded as the copied inferior.  If -copies is not specified,\n"
 "adds 1 copy.  If ID is not specified, it is the current inferior\n"
 "that is cloned."
 msgstr ""
 
-#: inferior.c:1010
-msgid "Detach from inferior ID (or list of IDS)."
+#: inferior.c:962
+msgid ""
+"Detach from inferior ID (or list of IDS).\n"
+"Usage; detach inferiors ID..."
 msgstr ""
 
-#: inferior.c:1014
-msgid "Kill inferior ID (or list of IDs)."
+#: inferior.c:967
+msgid ""
+"Kill inferior ID (or list of IDs).\n"
+"Usage: kill inferiors ID..."
 msgstr ""
 
-#: inferior.c:1018
+#: inferior.c:972
 msgid ""
 "Use this command to switch between inferiors.\n"
+"Usage: inferior ID\n"
 "The new inferior ID must be currently known."
 msgstr ""
 
-#: inferior.c:1024
+#: inferior.c:979
 msgid "Set printing of inferior events (e.g., inferior start and exit)."
 msgstr ""
 
-#: inferior.c:1025
+#: inferior.c:980
 msgid "Show printing of inferior events (e.g., inferior start and exit)."
 msgstr ""
 
@@ -15166,44 +15522,44 @@ msgstr ""
 msgid "Event type not recognized.\n"
 msgstr ""
 
-#: inflow.c:501
+#: inflow.c:717
 msgid "This GDB does not control a terminal.\n"
 msgstr ""
 
-#: inflow.c:511
+#: inflow.c:727
 msgid "Inferior's terminal status (currently saved by GDB):\n"
 msgstr ""
 
 #. Mention GDB in warning because it will appear in the inferior's
 #. terminal instead of GDB's.
-#: inflow.c:657
+#: inflow.c:873
 #, possible-c-format
 msgid "GDB: Failed to set controlling terminal: %s"
 msgstr ""
 
-#: inflow.c:746
+#: inflow.c:962
 #, possible-c-format
 msgid "Failed to create new terminal session: setsid: %s"
 msgstr ""
 
-#: inflow.c:771
+#: inflow.c:987
 msgid "Print inferior's saved terminal status."
 msgstr ""
 
-#: inf-ptrace.c:212
+#: inf-ptrace.c:230
 msgid "This system does not support attaching to a process"
 msgstr ""
 
-#: inf-ptrace.c:267
+#: inf-ptrace.c:284
 msgid "This system does not support detaching from a process"
 msgstr ""
 
-#: inf-ptrace.c:401 obsd-nat.c:103 rs6000-nat.c:493
+#: inf-ptrace.c:402 obsd-nat.c:103 rs6000-nat.c:519
 #, possible-c-format
 msgid "Child process unexpectedly missing: %s.\n"
 msgstr ""
 
-#: inf-ptrace.c:626
+#: inf-ptrace.c:627
 #, possible-c-format
 msgid "\tUsing the running image of %s %s.\n"
 msgstr ""
@@ -15242,8 +15598,8 @@ msgid ""
 "this platform."
 msgstr ""
 
-#: infrun.c:214 infrun.c:243 mi/mi-main.c:118 target.c:3889 target.c:3942
-#: target.c:3998
+#: infrun.c:214 infrun.c:243 mi/mi-main.c:118 target.c:3922 target.c:3975
+#: target.c:4031
 msgid "Cannot change this setting while the inferior is running."
 msgstr ""
 
@@ -15267,7 +15623,7 @@ msgstr ""
 msgid "Stopping for shared library events is %s.\n"
 msgstr ""
 
-#: infrun.c:405
+#: infrun.c:403
 #, possible-c-format
 msgid "Debugger response to a program call of fork or vfork is \"%s\".\n"
 msgstr ""
@@ -15277,26 +15633,26 @@ msgstr ""
 #. the parent stays blocked.  If we're telling the parent to run
 #. in the foreground, the user will not be able to ctrl-c to get
 #. back the terminal, effectively hanging the debug session.
-#: infrun.c:438
+#: infrun.c:436
 msgid ""
 "Can not resume the parent process over vfork in the foreground while\n"
 "holding the child stopped.  Try \"set detach-on-fork\" or \"set schedule-"
 "multiple\".\n"
 msgstr ""
 
-#: infrun.c:471
+#: infrun.c:469
 #, possible-c-format
-msgid "Detaching after %s from child %s.\n"
+msgid "[Detaching after %s from child %s]\n"
 msgstr ""
 
-#: infrun.c:556
+#: infrun.c:557
 #, possible-c-format
-msgid "Attaching after %s %s to child %s.\n"
+msgid "[Attaching after %s %s to child %s]\n"
 msgstr ""
 
-#: infrun.c:604
+#: infrun.c:605
 #, possible-c-format
-msgid "Detaching after fork from child %s.\n"
+msgid "[Detaching after fork from parent %s]\n"
 msgstr ""
 
 #. If we get here, it was because we're trying to
@@ -15305,31 +15661,31 @@ msgstr ""
 #. forked.  In that case, the resume command
 #. issued is most likely not applicable to the
 #. child, so just warn, and refuse to resume.
-#: infrun.c:791
+#: infrun.c:795
 msgid "Not resuming: switched threads before following fork child."
 msgstr ""
 
-#: infrun.c:966
+#: infrun.c:971
 #, possible-c-format
-msgid "Detaching vfork parent process %d after child exec.\n"
+msgid "[Detaching vfork parent %s after child exec]\n"
 msgstr ""
 
-#: infrun.c:973
+#: infrun.c:977
 #, possible-c-format
-msgid "Detaching vfork parent process %d after child exit.\n"
+msgid "[Detaching vfork parent %s after child exit]\n"
 msgstr ""
 
-#: infrun.c:1072
+#: infrun.c:1075
 #, possible-c-format
 msgid "Follow exec mode is \"%s\".\n"
 msgstr ""
 
-#: infrun.c:1153
+#: infrun.c:1154
 #, possible-c-format
 msgid "%s is executing new program: %s\n"
 msgstr ""
 
-#: infrun.c:1172
+#: infrun.c:1173
 #, possible-c-format
 msgid ""
 "Could not load symbols for executable %s.\n"
@@ -15361,110 +15717,106 @@ msgstr ""
 msgid "disabling displaced stepping: %s"
 msgstr ""
 
-#: infrun.c:2140 infrun.c:3189 infrun.c:3199 utils.c:520
+#: infrun.c:2139 infrun.c:3183 infrun.c:3193 utils.c:491
 msgid "Command aborted."
 msgstr ""
 
-#: infrun.c:2211
+#: infrun.c:2202
 #, possible-c-format
 msgid "Mode for locking scheduler during execution is \"%s\".\n"
 msgstr ""
 
-#: infrun.c:2222
+#: infrun.c:2213
 #, possible-c-format
 msgid "Target '%s' cannot support this command."
 msgstr ""
 
-#: infrun.c:2404
+#: infrun.c:2395
 #, possible-c-format
 msgid "Couldn't deliver signal %s to %s."
 msgstr ""
 
-#: infrun.c:3685
+#: infrun.c:3676
 msgid "Program exited while detaching"
 msgstr ""
 
-#: infrun.c:3995
+#: infrun.c:3985
 msgid "completed.\n"
 msgstr ""
 
-#: infrun.c:5017
+#: infrun.c:4997
 #, possible-c-format
 msgid "unhandled stop_soon: %d"
 msgstr ""
 
-#: infrun.c:5101
+#: infrun.c:5078
 msgid "Cannot fill $_exitsignal with the correct signal number.\n"
 msgstr ""
 
-#: infrun.c:8029
+#: infrun.c:8036
 msgid "Unknown value."
 msgstr ""
 
-#: infrun.c:8083
+#: infrun.c:8090
 msgid ""
 "Cannot remove breakpoints because program is no longer writable.\n"
 "Further execution is probably impossible.\n"
 msgstr ""
 
-#: infrun.c:8240 linux-fork.c:397 linux-fork.c:429
+#: infrun.c:8245 linux-fork.c:400 linux-fork.c:432
 #, possible-c-format
 msgid "[Switching to %s]\n"
 msgstr ""
 
-#: infrun.c:8253
+#: infrun.c:8258
 msgid "No unwaited-for children left.\n"
 msgstr ""
 
-#: infrun.c:8443
+#: infrun.c:8448
 msgid "Signal        Stop\tPrint\tPass to program\tDescription\n"
 msgstr ""
 
-#: infrun.c:8478
+#: infrun.c:8483
 msgid "signal to handle"
 msgstr ""
 
 #. Not a number and not a recognized flag word => complain.
-#: infrun.c:8580
+#: infrun.c:8585
 #, possible-c-format
 msgid "Unrecognized or ambiguous flag word: \"%s\"."
 msgstr ""
 
-#: infrun.c:8595
+#: infrun.c:8600
 #, possible-c-format
 msgid ""
 "%s is used by the debugger.\n"
 "Are you sure you want to change it? "
 msgstr ""
 
-#: infrun.c:8603
+#: infrun.c:8608
 msgid "Not confirmed, unchanged.\n"
 msgstr ""
 
-#: infrun.c:8670
+#: infrun.c:8675
 msgid ""
 "Only signals 1-15 are valid as numeric signals.\n"
 "Use \"info signals\" for a list of symbolic signals."
 msgstr ""
 
-#: infrun.c:8713
+#: infrun.c:8718
 msgid ""
 "\n"
 "Use the \"handle\" command to change these tables.\n"
 msgstr ""
 
-#: infrun.c:8747
+#: infrun.c:8752
 msgid "Unable to read siginfo"
 msgstr ""
 
-#: infrun.c:8770
+#: infrun.c:8775
 msgid "Unable to write siginfo"
 msgstr ""
 
-#: infrun.c:8989 stack.c:1819 stack.c:2035
-msgid "Unable to restore previously selected frame."
-msgstr ""
-
 #: infrun.c:9112
 msgid "Target does not support this operation."
 msgstr ""
@@ -15774,25 +16126,25 @@ msgstr ""
 msgid "Interpreter `%s' unrecognized"
 msgstr ""
 
-#: interps.c:399
+#: interps.c:372
 msgid "interpreter-exec command"
 msgstr ""
 
-#: interps.c:405
+#: interps.c:378
 msgid "usage: interpreter-exec <interpreter> [ <command> ... ]"
 msgstr ""
 
-#: interps.c:411
+#: interps.c:384
 #, possible-c-format
 msgid "Could not find interpreter \"%s\"."
 msgstr ""
 
-#: interps.c:422
+#: interps.c:395
 #, possible-c-format
 msgid "error in command: \"%s\"."
 msgstr ""
 
-#: interps.c:473
+#: interps.c:446
 msgid ""
 "Execute a command in an interpreter.  It takes two arguments:\n"
 "The first argument is the name of the interpreter to use.\n"
@@ -15847,61 +16199,61 @@ msgstr ""
 msgid "Unable to read JIT code entry from remote memory!"
 msgstr ""
 
-#: jit.c:910
+#: jit.c:907
 msgid "Error opening JITed symbol file, ignoring it.\n"
 msgstr ""
 
-#: jit.c:918
+#: jit.c:915
 msgid "JITed symbol file is not an object file, ignoring it.\n"
 msgstr ""
 
-#: jit.c:926
+#: jit.c:923
 #, possible-c-format
 msgid ""
 "JITed object file architecture %s is not compatible with target architecture "
 "%s."
 msgstr ""
 
-#: jit.c:1123
+#: jit.c:1116
 #, possible-c-format
 msgid "Could not recognize DWARF regnum %d"
 msgstr ""
 
-#: jit.c:1217
+#: jit.c:1209
 msgid "Successfully unwound frame using JIT reader.\n"
 msgstr ""
 
-#: jit.c:1222
+#: jit.c:1214
 msgid "Could not unwind frame using JIT reader.\n"
 msgstr ""
 
-#: jit.c:1356
+#: jit.c:1342
 #, possible-c-format
 msgid "Unsupported JIT protocol version %ld in descriptor (expected 1)\n"
 msgstr ""
 
-#: jit.c:1451
+#: jit.c:1437
 #, possible-c-format
 msgid "Unable to find JITed code entry at address: %s\n"
 msgstr ""
 
-#: jit.c:1459
+#: jit.c:1445
 msgid "Unknown action_flag value in JIT descriptor!"
 msgstr ""
 
-#: jit.c:1509
+#: jit.c:1495
 msgid "Set JIT debugging."
 msgstr ""
 
-#: jit.c:1510
+#: jit.c:1496
 msgid "Show JIT debugging."
 msgstr ""
 
-#: jit.c:1511
+#: jit.c:1497
 msgid "When non-zero, JIT debugging is enabled."
 msgstr ""
 
-#: jit.c:1530
+#: jit.c:1516
 msgid ""
 "Load FILE as debug info reader and unwinder for JIT compiled code.\n"
 "Usage: jit-reader-load FILE\n"
@@ -15909,7 +16261,7 @@ msgid ""
 "JIT compiled code.  The file is loaded from "
 msgstr ""
 
-#: jit.c:1539
+#: jit.c:1525
 msgid ""
 "Unload the currently loaded JIT debug info reader.\n"
 "Usage: jit-reader-unload\n"
@@ -15917,65 +16269,65 @@ msgid ""
 "Do \"help jit-reader-load\" for info on loading debug info readers."
 msgstr ""
 
-#: language.c:135
+#: language.c:133
 #, possible-c-format
 msgid "The current source language is \"auto; currently %s\".\n"
 msgstr ""
 
-#: language.c:140
+#: language.c:138
 #, possible-c-format
 msgid "The current source language is \"%s\".\n"
 msgstr ""
 
-#: language.c:242
+#: language.c:240
 #, possible-c-format
 msgid "Range checking is \"auto; currently %s\".\n"
 msgstr ""
 
-#: language.c:246
+#: language.c:244
 #, possible-c-format
 msgid "Range checking is \"%s\".\n"
 msgstr ""
 
-#: language.c:250 language.c:286
+#: language.c:248 language.c:284
 msgid "the current range check setting does not match the language.\n"
 msgstr ""
 
-#: language.c:283
+#: language.c:281
 #, possible-c-format
 msgid "Unrecognized range check setting: \"%s\""
 msgstr ""
 
-#: language.c:314
+#: language.c:312
 #, possible-c-format
 msgid "Case sensitivity in name search is \"auto; currently %s\".\n"
 msgstr ""
 
-#: language.c:320
+#: language.c:318
 #, possible-c-format
 msgid "Case sensitivity in name search is \"%s\".\n"
 msgstr ""
 
-#: language.c:324 language.c:357
+#: language.c:322 language.c:355
 msgid "the current case sensitivity setting does not match the language.\n"
 msgstr ""
 
-#: language.c:400
+#: language.c:398
 #, possible-c-format
 msgid "Current language:  %s\n"
 msgstr ""
 
-#: language.c:405
+#: language.c:403
 #, possible-c-format
 msgid "Range checking:    %s\n"
 msgstr ""
 
-#: language.c:407
+#: language.c:405
 #, possible-c-format
 msgid "Case sensitivity:  %s\n"
 msgstr ""
 
-#: language.c:564
+#: language.c:562
 #, c-format
 msgid ""
 "Set the current source language.\n"
@@ -15984,221 +16336,217 @@ msgid ""
 "local or auto    Automatic setting based on source file\n"
 msgstr ""
 
-#: language.c:588
+#: language.c:586
 msgid "Show the current source language."
 msgstr ""
 
-#: language.c:699
+#: language.c:698
 msgid "Getting a string is unsupported in this language."
 msgstr ""
 
 #: language.c:756
-msgid "Attempted to parse an expression with unknown language"
-msgstr ""
-
-#: language.c:763
 msgid "internal error - unimplemented function unk_lang_emit_char called."
 msgstr ""
 
-#: language.c:770
+#: language.c:763
 msgid "internal error - unimplemented function unk_lang_printchar called."
 msgstr ""
 
-#: language.c:780
+#: language.c:773
 msgid "internal error - unimplemented function unk_lang_printstr called."
 msgstr ""
 
-#: language.c:789
+#: language.c:782
 msgid "internal error - unimplemented function unk_lang_print_type called."
 msgstr ""
 
-#: language.c:800
+#: language.c:793
 msgid "internal error - unimplemented function unk_lang_val_print called."
 msgstr ""
 
-#: language.c:808
+#: language.c:801
 msgid "internal error - unimplemented function unk_lang_value_print called."
 msgstr ""
 
-#: language.c:1153
+#: language.c:1146
 msgid "Set the status of the type/range checker."
 msgstr ""
 
-#: language.c:1159
+#: language.c:1152
 msgid "Show the status of the type/range checker."
 msgstr ""
 
-#: language.c:1166
+#: language.c:1159
 msgid "Set range checking.  (on/warn/off/auto)"
 msgstr ""
 
-#: language.c:1167
+#: language.c:1160
 msgid "Show range checking.  (on/warn/off/auto)"
 msgstr ""
 
-#: language.c:1173
+#: language.c:1166
 msgid "Set case sensitivity in name search.  (on/off/auto)"
 msgstr ""
 
-#: language.c:1174
+#: language.c:1167
 msgid "Show case sensitivity in name search.  (on/off/auto)"
 msgstr ""
 
-#: language.c:1175
+#: language.c:1168
 msgid "For Fortran the default is off; for other languages the default is on."
 msgstr ""
 
-#: linespec.c:685
+#: linespec.c:680
 msgid "unmatched quote"
 msgstr ""
 
-#: linespec.c:1573
+#: linespec.c:1550
 msgid ""
 "[0] cancel\n"
 "[1] all\n"
 msgstr ""
 
-#: linespec.c:1593
+#: linespec.c:1570
 msgid "canceled"
 msgstr ""
 
-#: linespec.c:1609
+#: linespec.c:1585
 #, possible-c-format
 msgid "No choice number %d.\n"
 msgstr ""
 
-#: linespec.c:1621
+#: linespec.c:1597
 #, possible-c-format
 msgid "duplicate request for %d ignored.\n"
 msgstr ""
 
-#: linespec.c:1658
+#: linespec.c:1633
 #, possible-c-format
 msgid ""
 "Undefined convenience variable or function \"%s\" not defined in \"%s\"."
 msgstr ""
 
-#: linespec.c:1662
+#: linespec.c:1637
 #, possible-c-format
 msgid "Undefined convenience variable or function \"%s\" not defined."
 msgstr ""
 
-#: linespec.c:1669
+#: linespec.c:1644
 #, possible-c-format
 msgid "Function \"%s\" not defined in \"%s\"."
 msgstr ""
 
-#: linespec.c:1673
+#: linespec.c:1648
 #, possible-c-format
 msgid "Function \"%s\" not defined."
 msgstr ""
 
-#: linespec.c:1699
+#: linespec.c:1671
 #, possible-c-format
 msgid "malformed linespec error: unexpected %s, \"%s\""
 msgstr ""
 
-#: linespec.c:1704
+#: linespec.c:1676
 #, possible-c-format
 msgid "malformed linespec error: unexpected %s"
 msgstr ""
 
-#: linespec.c:1715
+#: linespec.c:1687
 #, possible-c-format
 msgid "No label \"%s\" defined in function \"%s\"."
 msgstr ""
 
-#: linespec.c:1719
+#: linespec.c:1691
 #, possible-c-format
 msgid "No label \"%s\" defined in current function."
 msgstr ""
 
-#: linespec.c:1728
+#: linespec.c:1700
 #, possible-c-format
 msgid "No source file named %s."
 msgstr ""
 
-#: linespec.c:1762
+#: linespec.c:1734
 #, possible-c-format
 msgid "malformed line offset: \"%s\""
 msgstr ""
 
-#: linespec.c:2263
+#: linespec.c:2211
 #, possible-c-format
 msgid "No line %d in the current file."
 msgstr ""
 
-#: linespec.c:3374 linespec.c:3397
+#: linespec.c:3351 linespec.c:3374
 msgid "Empty line specification."
 msgstr ""
 
-#: linespec.c:3386 linespec.c:3410
+#: linespec.c:3363 linespec.c:3387
 #, possible-c-format
 msgid "Junk at end of line specification: %s"
 msgstr ""
 
 #. The error message doesn't really matter, because this case
 #. should only hit during breakpoint reset.
-#: linespec.c:3447
+#: linespec.c:3424
 msgid "cannot evaluate expressions while program space is in startup"
 msgstr ""
 
 #. Throw an NOT_FOUND_ERROR.  This will be caught by the caller
 #. and other attempts to locate the symbol will be made.
-#: linespec.c:3841
+#: linespec.c:3799
 msgid "see caller, this text doesn't matter"
 msgstr ""
 
-#: linespec.c:4296
+#: linespec.c:4250
 msgid "History values used in line specs must have integer values."
 msgstr ""
 
-#: linespec.c:4319
+#: linespec.c:4273
 msgid "Convenience variables used in line specs must have integer values."
 msgstr ""
 
-#: linux-fork.c:417 linux-fork.c:563
+#: linux-fork.c:420 linux-fork.c:567
 #, possible-c-format
 msgid "Unable to detach %s"
 msgstr ""
 
-#: linux-fork.c:512
+#: linux-fork.c:515
 msgid "Requires argument (checkpoint id to delete)"
 msgstr ""
 
-#: linux-fork.c:516 linux-fork.c:556
+#: linux-fork.c:519 linux-fork.c:560
 #, possible-c-format
 msgid "No such checkpoint id, %s"
 msgstr ""
 
-#: linux-fork.c:519
+#: linux-fork.c:522
 msgid "Please switch to another checkpoint before deleting the current one"
 msgstr ""
 
-#: linux-fork.c:523
+#: linux-fork.c:526
 #, possible-c-format
 msgid "Unable to kill pid %s"
 msgstr ""
 
-#: linux-fork.c:530
+#: linux-fork.c:533
 #, possible-c-format
 msgid "Killed %s\n"
 msgstr ""
 
-#: linux-fork.c:542
+#: linux-fork.c:546
 #, possible-c-format
 msgid "Unable to wait pid %s"
 msgstr ""
 
-#: linux-fork.c:552
+#: linux-fork.c:556
 msgid "Requires argument (checkpoint id to detach)"
 msgstr ""
 
-#: linux-fork.c:559
+#: linux-fork.c:563
 msgid "Please switch to another checkpoint before detaching the current one"
 msgstr ""
 
-#: linux-fork.c:566
+#: linux-fork.c:570
 #, possible-c-format
 msgid "Detached %s\n"
 msgstr ""
@@ -16281,8 +16629,8 @@ msgstr ""
 #. process.
 #: linux-fork.c:791
 msgid ""
-"restart <n>: restore program context from a checkpoint.\n"
-"Argument 'n' is checkpoint ID, as displayed by 'info checkpoints'."
+"restart N: restore program context from a checkpoint.\n"
+"Argument N is checkpoint ID, as displayed by 'info checkpoints'."
 msgstr ""
 
 #. Delete checkpoint command: kill the process and remove it from
@@ -16301,75 +16649,75 @@ msgstr ""
 msgid "IDs of currently known checkpoints."
 msgstr ""
 
-#: linux-nat.c:233
+#: linux-nat.c:203
 #, possible-c-format
 msgid "Debugging of GNU/Linux lwp module is %s.\n"
 msgstr ""
 
-#: linux-nat.c:524
+#: linux-nat.c:493
 msgid "Couldn't do single step"
 msgstr ""
 
-#: linux-nat.c:526
+#: linux-nat.c:495
 msgid "Couldn't wait vfork process"
 msgstr ""
 
-#: linux-nat.c:1266
+#: linux-nat.c:1218
 msgid "Unable to attach: program exited normally."
 msgstr ""
 
-#: linux-nat.c:1268
+#: linux-nat.c:1220
 #, possible-c-format
 msgid "Unable to attach: program exited with code %d."
 msgstr ""
 
-#: linux-nat.c:1279
+#: linux-nat.c:1231
 #, possible-c-format
 msgid "Unable to attach: program terminated with signal %s, %s."
 msgstr ""
 
-#: linux-nat.c:1286
+#: linux-nat.c:1238
 #, possible-c-format
 msgid "unexpected status %d for PID %ld"
 msgstr ""
 
-#: linux-nat.c:2013
+#: linux-nat.c:1953
 msgid "waiting for new child"
 msgstr ""
 
-#: linux-nat.c:2016
+#: linux-nat.c:1956
 #, possible-c-format
 msgid "wait returned unexpected PID %d"
 msgstr ""
 
-#: linux-nat.c:2019
+#: linux-nat.c:1959
 #, possible-c-format
 msgid "wait returned unexpected status 0x%x"
 msgstr ""
 
-#: linux-nat.c:4157 linux-nat.c:4170
+#: linux-nat.c:4143 linux-nat.c:4156
 #, possible-c-format
 msgid "Could not parse signal set: %s"
 msgstr ""
 
-#: linux-nat.c:4202
+#: linux-nat.c:4188
 #, possible-c-format
 msgid "Could not open %s"
 msgstr ""
 
-#: linux-nat.c:4979
+#: linux-nat.c:4675
 msgid "Set debugging of GNU/Linux lwp module."
 msgstr ""
 
-#: linux-nat.c:4980
+#: linux-nat.c:4676
 msgid "Show debugging of GNU/Linux lwp module."
 msgstr ""
 
-#: linux-nat.c:4988
+#: linux-nat.c:4684
 msgid "Set debugging of GNU/Linux namespaces module."
 msgstr ""
 
-#: linux-nat.c:4989
+#: linux-nat.c:4685
 msgid "Show debugging of GNU/Linux namespaces module."
 msgstr ""
 
@@ -16405,24 +16753,24 @@ msgid ""
 "Do you want to stop the program?"
 msgstr ""
 
-#: linux-record.c:1009
+#: linux-record.c:1010
 #, possible-c-format
 msgid "Process record and replay target doesn't support socketcall call 0x%s\n"
 msgstr ""
 
 #. XXX RECORD_SEMCTL still not supported.
-#: linux-record.c:1149
+#: linux-record.c:1150
 #, possible-c-format
 msgid "Process record and replay target doesn't support ipc number %s\n"
 msgstr ""
 
-#: linux-record.c:1739
+#: linux-record.c:1740
 msgid ""
 "The next instruction is syscall exit_group.  It will make the program exit.  "
 "Do you want to stop the program?"
 msgstr ""
 
-#: linux-record.c:2033 ppc-linux-tdep.c:804
+#: linux-record.c:2034 ppc-linux-tdep.c:887
 #, possible-c-format
 msgid "Process record and replay target doesn't support syscall number %d\n"
 msgstr ""
@@ -16439,10 +16787,6 @@ msgstr ""
 msgid "Could not compile regex to match '<file> (deleted)'"
 msgstr ""
 
-#: linux-tdep.c:742 procfs.c:3650
-msgid "No current process: you must name one."
-msgstr ""
-
 #: linux-tdep.c:744
 msgid "Can't determine the current process's PID: you must name one."
 msgstr ""
@@ -16457,270 +16801,251 @@ msgstr ""
 msgid "process %ld\n"
 msgstr ""
 
-#: linux-tdep.c:762 linux-tdep.c:849 linux-tdep.c:859 linux-tdep.c:995
-#: linux-tdep.c:2331 nat/linux-procfs.c:40 nat/linux-procfs.c:137
+#: linux-tdep.c:774 linux-tdep.c:855 linux-tdep.c:865 linux-tdep.c:1001
+#: linux-tdep.c:2330 nat/linux-procfs.c:40 nat/linux-procfs.c:137
 #: sparc64-tdep.c:335
 #, possible-c-format
 msgid "unable to open /proc file '%s'"
 msgstr ""
 
-#: linux-tdep.c:775 linux-tdep.c:788
+#: linux-tdep.c:784 linux-tdep.c:794
 #, possible-c-format
 msgid "unable to read link '%s'"
 msgstr ""
 
-#. No output for summary mode.
-#: linux-tdep.c:799 linux-tdep.c:1047 procfs.c:3584
-msgid ""
-"Mapped address spaces:\n"
-"\n"
-msgstr ""
-
-#: linux-tdep.c:870
+#: linux-tdep.c:876
 #, possible-c-format
 msgid "Process: %s\n"
 msgstr ""
 
-#: linux-tdep.c:889
+#: linux-tdep.c:895
 #, possible-c-format
 msgid "State: %c\n"
 msgstr ""
 
-#: linux-tdep.c:892
+#: linux-tdep.c:898
 #, possible-c-format
 msgid "Parent process: %s\n"
 msgstr ""
 
-#: linux-tdep.c:895
+#: linux-tdep.c:901
 #, possible-c-format
 msgid "Process group: %s\n"
 msgstr ""
 
-#: linux-tdep.c:898
+#: linux-tdep.c:904
 #, possible-c-format
 msgid "Session id: %s\n"
 msgstr ""
 
-#: linux-tdep.c:901
+#: linux-tdep.c:907
 #, possible-c-format
 msgid "TTY: %s\n"
 msgstr ""
 
-#: linux-tdep.c:904
+#: linux-tdep.c:910
 #, possible-c-format
 msgid "TTY owner process group: %s\n"
 msgstr ""
 
-#: linux-tdep.c:908
+#: linux-tdep.c:914
 #, possible-c-format
 msgid "Flags: %s\n"
 msgstr ""
 
-#: linux-tdep.c:911
+#: linux-tdep.c:917
 #, possible-c-format
 msgid "Minor faults (no memory page): %s\n"
 msgstr ""
 
-#: linux-tdep.c:914
+#: linux-tdep.c:920
 #, possible-c-format
 msgid "Minor faults, children: %s\n"
 msgstr ""
 
-#: linux-tdep.c:917
+#: linux-tdep.c:923
 #, possible-c-format
 msgid "Major faults (memory page faults): %s\n"
 msgstr ""
 
-#: linux-tdep.c:920
+#: linux-tdep.c:926
 #, possible-c-format
 msgid "Major faults, children: %s\n"
 msgstr ""
 
-#: linux-tdep.c:923
+#: linux-tdep.c:929
 #, possible-c-format
 msgid "utime: %s\n"
 msgstr ""
 
-#: linux-tdep.c:926
+#: linux-tdep.c:932
 #, possible-c-format
 msgid "stime: %s\n"
 msgstr ""
 
-#: linux-tdep.c:929
+#: linux-tdep.c:935
 #, possible-c-format
 msgid "utime, children: %s\n"
 msgstr ""
 
-#: linux-tdep.c:932
+#: linux-tdep.c:938
 #, possible-c-format
 msgid "stime, children: %s\n"
 msgstr ""
 
-#: linux-tdep.c:935
+#: linux-tdep.c:941
 #, possible-c-format
 msgid "jiffies remaining in current time slice: %s\n"
 msgstr ""
 
-#: linux-tdep.c:939
+#: linux-tdep.c:945
 #, possible-c-format
 msgid "'nice' value: %s\n"
 msgstr ""
 
-#: linux-tdep.c:942
+#: linux-tdep.c:948
 #, possible-c-format
 msgid "jiffies until next timeout: %s\n"
 msgstr ""
 
-#: linux-tdep.c:945
+#: linux-tdep.c:951
 #, possible-c-format
 msgid "jiffies until next SIGALRM: %s\n"
 msgstr ""
 
-#: linux-tdep.c:948
+#: linux-tdep.c:954
 #, possible-c-format
 msgid "start time (jiffies since system boot): %s\n"
 msgstr ""
 
-#: linux-tdep.c:952
+#: linux-tdep.c:958
 #, possible-c-format
 msgid "Virtual memory size: %s\n"
 msgstr ""
 
-#: linux-tdep.c:955
+#: linux-tdep.c:961
 #, possible-c-format
 msgid "Resident set size: %s\n"
 msgstr ""
 
-#: linux-tdep.c:958
+#: linux-tdep.c:964
 #, possible-c-format
 msgid "rlim: %s\n"
 msgstr ""
 
-#: linux-tdep.c:961
+#: linux-tdep.c:967
 #, possible-c-format
 msgid "Start of text: %s\n"
 msgstr ""
 
-#: linux-tdep.c:964
+#: linux-tdep.c:970
 #, possible-c-format
 msgid "End of text: %s\n"
 msgstr ""
 
-#: linux-tdep.c:967
+#: linux-tdep.c:973
 #, possible-c-format
 msgid "Start of stack: %s\n"
 msgstr ""
 
-#: linux-tdep.c:972
+#: linux-tdep.c:978
 #, possible-c-format
 msgid "Kernel stack pointer: %s\n"
 msgstr ""
 
-#: linux-tdep.c:975
+#: linux-tdep.c:981
 #, possible-c-format
 msgid "Kernel instr pointer: %s\n"
 msgstr ""
 
-#: linux-tdep.c:978
+#: linux-tdep.c:984
 #, possible-c-format
 msgid "Pending signals bitmap: %s\n"
 msgstr ""
 
-#: linux-tdep.c:981
+#: linux-tdep.c:987
 #, possible-c-format
 msgid "Blocked signals bitmap: %s\n"
 msgstr ""
 
-#: linux-tdep.c:984
+#: linux-tdep.c:990
 #, possible-c-format
 msgid "Ignored signals bitmap: %s\n"
 msgstr ""
 
-#: linux-tdep.c:987
+#: linux-tdep.c:993
 #, possible-c-format
 msgid "Catched signals bitmap: %s\n"
 msgstr ""
 
-#: linux-tdep.c:990
+#: linux-tdep.c:996
 #, possible-c-format
 msgid "wchan (system call): %s\n"
 msgstr ""
 
-#: linux-tdep.c:1016
-msgid "unable to find mappings in core file"
-msgstr ""
-
-#: linux-tdep.c:1025
-msgid "malformed core note - too short for header"
-msgstr ""
-
-#: linux-tdep.c:1030
-msgid "could not get core note contents"
-msgstr ""
-
-#: linux-tdep.c:1036
+#: linux-tdep.c:1042
 msgid "malformed note - does not end with \\0"
 msgstr ""
 
-#: linux-tdep.c:1045
+#: linux-tdep.c:1051
 msgid "malformed note - too short for supplied file count"
 msgstr ""
 
-#: linux-tdep.c:1069
+#: linux-tdep.c:1075
 msgid "malformed note - filenames end too early"
 msgstr ""
 
-#: linux-tdep.c:1116
+#: linux-tdep.c:1122
 msgid "unable to find command name in core file"
 msgstr ""
 
-#: linux-tdep.c:1123
+#: linux-tdep.c:1129
 msgid "unable to handle request"
 msgstr ""
 
-#: linux-tdep.c:1259
+#: linux-tdep.c:1265
 #, possible-c-format
 msgid "Error parsing {s,}maps file '%s'"
 msgstr ""
 
-#: linux-tdep.c:1279
+#: linux-tdep.c:1285
 #, possible-c-format
 msgid "Error parsing {s,}maps file '%s' number"
 msgstr ""
 
-#: linux-tdep.c:2400
+#: linux-tdep.c:2399
 #, possible-c-format
 msgid "Failed inferior mmap call for %s bytes, errno is changed."
 msgstr ""
 
-#: linux-tdep.c:2429
+#: linux-tdep.c:2428
 #, possible-c-format
 msgid "Failed inferior munmap call at %s for %s bytes, errno is changed."
 msgstr ""
 
-#: linux-tdep.c:2450
+#: linux-tdep.c:2449
 msgid "Cannot find AT_ENTRY auxiliary vector entry."
 msgstr ""
 
-#: linux-tdep.c:2473
+#: linux-tdep.c:2472
 #, possible-c-format
 msgid "Use of /proc/PID/coredump_filter file to generate corefiles is %s.\n"
 msgstr ""
 
-#: linux-tdep.c:2484
+#: linux-tdep.c:2483
 #, possible-c-format
 msgid "Dumping of mappings marked with the VM_DONTDUMP flag is %s.\n"
 msgstr ""
 
-#: linux-tdep.c:2526
+#: linux-tdep.c:2525
 msgid "Set whether gcore should consider /proc/PID/coredump_filter."
 msgstr ""
 
-#: linux-tdep.c:2528
+#: linux-tdep.c:2527
 msgid "Show whether gcore should consider /proc/PID/coredump_filter."
 msgstr ""
 
-#: linux-tdep.c:2530
+#: linux-tdep.c:2529
 msgid ""
 "Use this command to set whether gcore should consider the contents\n"
 "of /proc/PID/coredump_filter when generating the corefile.  For more "
@@ -16728,17 +17053,17 @@ msgid ""
 "about this file, refer to the manpage of core(5)."
 msgstr ""
 
-#: linux-tdep.c:2538
+#: linux-tdep.c:2537
 msgid ""
 "Set whether gcore should dump mappings marked with the VM_DONTDUMP flag."
 msgstr ""
 
-#: linux-tdep.c:2540
+#: linux-tdep.c:2539
 msgid ""
 "Show whether gcore should dump mappings marked with the VM_DONTDUMP flag."
 msgstr ""
 
-#: linux-tdep.c:2542
+#: linux-tdep.c:2541
 msgid ""
 "Use this command to set whether gcore should dump mappings marked with the\n"
 "VM_DONTDUMP flag (\"dd\" in /proc/PID/smaps) when generating the corefile.  "
@@ -16747,183 +17072,226 @@ msgid ""
 "(5)."
 msgstr ""
 
-#: linux-thread-db.c:90
+#: linux-thread-db.c:81
+msgid "multi-threaded child process."
+msgstr ""
+
+#: linux-thread-db.c:82
+msgid "Threads and pthreads support."
+msgstr ""
+
+#: linux-thread-db.c:131
 #, possible-c-format
 msgid "Auto-loading of inferior specific libthread_db is %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:114
+#: linux-thread-db.c:155
 #, possible-c-format
 msgid "libthread-db debugging is %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:363
+#: linux-thread-db.c:406
 #, possible-c-format
 msgid "Cannot find user-level thread for LWP %ld: %s"
 msgstr ""
 
-#: linux-thread-db.c:368
+#: linux-thread-db.c:411
 #, possible-c-format
 msgid "thread_get_info_callback: cannot get thread info: %s"
 msgstr ""
 
-#: linux-thread-db.c:402
+#: linux-thread-db.c:447
 #, possible-c-format
 msgid "Symbol \"%s\" not found in libthread_db: %s"
 msgstr ""
 
-#: linux-thread-db.c:478
+#: linux-thread-db.c:522
 msgid "Warning: couldn't activate thread debugging using libthread_db: "
 msgstr ""
 
-#: linux-thread-db.c:534
+#: linux-thread-db.c:612
+#, possible-c-format
+msgid "%s failed: %s"
+msgstr ""
+
+#. Some platforms require execution for td_ta_map_lwp2thr.
+#: linux-thread-db.c:650
+msgid "; can't map_lwp2thr"
+msgstr ""
+
+#: linux-thread-db.c:722
+msgid "Running libthread_db integrity checks:\n"
+msgstr ""
+
+#: linux-thread-db.c:763
+#, possible-c-format
+msgid "td_ta_thr_iter failed: %s"
+msgstr ""
+
+#: linux-thread-db.c:766
+msgid "no threads seen"
+msgstr ""
+
+#: linux-thread-db.c:774
+msgid "libthread_db integrity checks failed: "
+msgstr ""
+
+#: linux-thread-db.c:781
+msgid "libthread_db integrity checks passed.\n"
+msgstr ""
+
+#: linux-thread-db.c:822
 #, possible-c-format
 msgid "Cannot initialize libthread_db: %s"
 msgstr ""
 
-#: linux-thread-db.c:549
+#: linux-thread-db.c:837
 #, possible-c-format
 msgid "td_ta_new failed: %s\n"
 msgstr ""
 
-#: linux-thread-db.c:563
+#: linux-thread-db.c:851
 #, possible-c-format
 msgid "td_ta_new failed: %s"
 msgstr ""
 
-#: linux-thread-db.c:616 sol-thread.c:623
+#: linux-thread-db.c:912 sol-thread.c:647
 msgid "[Thread debugging using libthread_db enabled]\n"
 msgstr ""
 
-#: linux-thread-db.c:632
+#: linux-thread-db.c:928
 #, possible-c-format
 msgid "Using host libthread_db library \"%s\".\n"
 msgstr ""
 
-#: linux-thread-db.c:655
+#: linux-thread-db.c:951
 #, possible-c-format
 msgid "Trying host libthread_db library: %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:665
+#: linux-thread-db.c:961
 #, possible-c-format
 msgid "open failed: %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:670
+#: linux-thread-db.c:966
 #, possible-c-format
 msgid ""
 "auto-load: Loading libthread-db library \"%s\" from explicit directory.\n"
 msgstr ""
 
-#: linux-thread-db.c:681
+#: linux-thread-db.c:977
 #, possible-c-format
 msgid "dlopen failed: %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:695
+#: linux-thread-db.c:991
 #, possible-c-format
 msgid "Host %s resolved to: %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:730
+#: linux-thread-db.c:1022
 #, possible-c-format
 msgid "Expected absolute pathname for libpthread in the inferior, but got %s."
 msgstr ""
 
-#: linux-thread-db.c:890
+#: linux-thread-db.c:1152
 #, possible-c-format
 msgid "thread_db_load_search returning %d\n"
 msgstr ""
 
-#: linux-thread-db.c:937
+#: linux-thread-db.c:1199
 msgid ""
 "Unable to find libthread_db matching inferior's thread library, thread "
 "debugging will not be available."
 msgstr ""
 
-#: linux-thread-db.c:1027
+#: linux-thread-db.c:1289
 msgid ""
 "Target and debugger are in different PID namespaces; thread lists and other "
 "data are likely unreliable.  Connect to gdbserver inside the container."
 msgstr ""
 
-#: linux-thread-db.c:1184
+#: linux-thread-db.c:1439
 #, possible-c-format
 msgid "find_new_threads_callback: cannot get thread info: %s"
 msgstr ""
 
-#: linux-thread-db.c:1276
+#: linux-thread-db.c:1531
 #, possible-c-format
 msgid "Found %d new threads in iteration %d.\n"
 msgstr ""
 
-#: linux-thread-db.c:1319
+#: linux-thread-db.c:1574
 #, possible-c-format
 msgid "Cannot find new threads: %s"
 msgstr ""
 
-#: linux-thread-db.c:1431
+#: linux-thread-db.c:1682
 #, possible-c-format
 msgid "Thread handle size mismatch: %d vs %zu (from libthread_db)"
 msgstr ""
 
-#: linux-thread-db.c:1479
+#: linux-thread-db.c:1728
 msgid "No TLS library support"
 msgstr ""
 
-#: linux-thread-db.c:1494
+#: linux-thread-db.c:1743
 msgid "TLS load module not found"
 msgstr ""
 
-#: linux-thread-db.c:1513
+#: linux-thread-db.c:1762
 msgid "TLS not allocated yet"
 msgstr ""
 
-#: linux-thread-db.c:1597
+#: linux-thread-db.c:1840
 msgid "'info auto-load libthread-db' does not accept any parameters"
 msgstr ""
 
-#: linux-thread-db.c:1705
+#: linux-thread-db.c:1918
 msgid "No auto-loaded libthread-db.\n"
 msgstr ""
 
-#: linux-thread-db.c:1747
+#: linux-thread-db.c:1934
+msgid "No libthread_db loaded"
+msgstr ""
+
+#: linux-thread-db.c:1952
 msgid "Set search path for libthread_db."
 msgstr ""
 
-#: linux-thread-db.c:1748
+#: linux-thread-db.c:1953
 msgid "Show the current search path or libthread_db."
 msgstr ""
 
-#: linux-thread-db.c:1749
+#: linux-thread-db.c:1954
 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:1759
+#: linux-thread-db.c:1964
 msgid "Set libthread-db debugging."
 msgstr ""
 
-#: linux-thread-db.c:1760
+#: linux-thread-db.c:1965
 msgid "Show libthread-db debugging."
 msgstr ""
 
-#: linux-thread-db.c:1761
+#: linux-thread-db.c:1966
 msgid "When non-zero, libthread-db debugging is enabled."
 msgstr ""
 
-#: linux-thread-db.c:1768
+#: linux-thread-db.c:1973
 msgid "Enable or disable auto-loading of inferior specific libthread_db."
 msgstr ""
 
-#: linux-thread-db.c:1769
+#: linux-thread-db.c:1974
 msgid "Show whether auto-loading inferior specific libthread_db is enabled."
 msgstr ""
 
-#: linux-thread-db.c:1770
+#: linux-thread-db.c:1975
 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"
@@ -16931,12 +17299,30 @@ msgid ""
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: linux-thread-db.c:1780
+#: linux-thread-db.c:1985
 msgid ""
 "Print the list of loaded inferior specific libthread_db.\n"
 "Usage: info auto-load libthread-db"
 msgstr ""
 
+#: linux-thread-db.c:1990
+msgid "Run integrity checks on the current inferior's libthread_db."
+msgstr ""
+
+#: linux-thread-db.c:1996
+msgid "Set whether to check libthread_db at load time."
+msgstr ""
+
+#: linux-thread-db.c:1997
+msgid "Show whether to check libthread_db at load time."
+msgstr ""
+
+#: linux-thread-db.c:1998
+msgid ""
+"If enabled GDB will run integrity checks on inferior specific libthread_db\n"
+"as they are loaded."
+msgstr ""
+
 #: lm32-tdep.c:361
 msgid "lm32_store_return_value: type length too large."
 msgstr ""
@@ -16964,41 +17350,41 @@ msgstr ""
 msgid "Sets are not implemented."
 msgstr ""
 
-#: m2-exp.y:599
+#: m2-exp.y:589
 msgid "No symbol table is loaded.  Use the \"symbol-file\" command."
 msgstr ""
 
-#: m2-exp.y:662
+#: m2-exp.y:652
 msgid "Floating point numbers must be base 10."
 msgstr ""
 
-#: m2-exp.y:664
+#: m2-exp.y:654
 #, possible-c-format
 msgid "Invalid digit '%c' in number."
 msgstr ""
 
-#: m2-exp.y:672
+#: m2-exp.y:662
 #, possible-c-format
 msgid "Invalid digit '%c' in octal number."
 msgstr ""
 
-#: m2-exp.y:713
+#: m2-exp.y:703
 msgid "Overflow on numeric constant -- number too large."
 msgstr ""
 
-#: m2-exp.y:875
+#: m2-exp.y:865
 msgid "Unterminated string or character constant."
 msgstr ""
 
-#: m2-exp.y:1009
+#: m2-exp.y:999
 msgid "internal:  Undefined class in m2lex()"
 msgstr ""
 
-#: m2-exp.y:1013
+#: m2-exp.y:1003
 msgid "internal:  Unforseen case in m2lex()"
 msgstr ""
 
-#: m2-exp.y:1016
+#: m2-exp.y:1006
 msgid "unhandled token in m2lex()"
 msgstr ""
 
@@ -17040,12 +17426,12 @@ msgid "expecting long_set"
 msgstr ""
 
 #. i18n: Do not translate the "SET OF" part!
-#: m2-typeprint.c:479
+#: m2-typeprint.c:471
 msgid "SET OF <unknown>"
 msgstr ""
 
 #. i18n: Do not translate "CASE" and "OF".
-#: m2-typeprint.c:566
+#: m2-typeprint.c:558
 msgid "CASE <variant> OF\n"
 msgstr ""
 
@@ -17060,7 +17446,7 @@ msgstr ""
 #. This happens (without TYPE_STUB set) on systems which don't use
 #. dbx xrefs (NO_DBX_XREFS in gcc) if a file has a "struct foo *bar"
 #. and no complete type for struct foo in that file.
-#: m2-valprint.c:410 valprint.c:977 valprint.c:1037
+#: m2-valprint.c:410 valprint.c:974 valprint.c:1034
 msgid "<incomplete type>"
 msgstr ""
 
@@ -17103,11 +17489,11 @@ msgid ""
 "Stack backtrace will not work."
 msgstr ""
 
-#: m68hc11-tdep.c:1272
+#: m68hc11-tdep.c:1269
 msgid "return of value > 4 is not supported."
 msgstr ""
 
-#: m68hc11-tdep.c:1309 sh64-tdep.c:1285 sh-tdep.c:1331
+#: m68hc11-tdep.c:1306 sh-tdep.c:1330
 msgid "bad size for return value"
 msgstr ""
 
@@ -17116,214 +17502,216 @@ msgstr ""
 msgid "m68k_register_name: illegal register number %d"
 msgstr ""
 
-#: m68k-tdep.c:1018
+#: m68k-tdep.c:1017
 msgid "m68k_get_longjmp_target: not implemented"
 msgstr ""
 
-#: machoread.c:207
+#. Unexpected empty N_SO.
+#: machoread.c:194
 msgid "Unexpected empty N_SO stab"
 msgstr ""
 
-#: machoread.c:225
+#. Debugging symbols are not expected here.
+#: machoread.c:211
 #, possible-c-format
 msgid "%s: Unexpected debug stab outside SO markers"
 msgstr ""
 
 #. Unexpected empty N_SO.
-#: machoread.c:242
+#: machoread.c:228
 msgid "Empty SO section"
 msgstr ""
 
-#: machoread.c:252
+#: machoread.c:238
 msgid "Three SO in a raw"
 msgstr ""
 
-#: machoread.c:261
+#: machoread.c:247
 #, possible-c-format
 msgid "stabs debugging not supported for %s"
 msgstr ""
 
-#: machoread.c:274
+#: machoread.c:259
 msgid "Unexpected stab after SO"
 msgstr ""
 
-#: machoread.c:292
+#: machoread.c:276
 msgid "Missing nul SO"
 msgstr ""
 
-#: machoread.c:321
+#: machoread.c:304
 msgid "unhandled stab for dwarf OSO file"
 msgstr ""
 
-#: machoread.c:328
+#: machoread.c:310
 msgid "non-debugging symbol within SO"
 msgstr ""
 
-#: machoread.c:334
+#: machoread.c:316
 msgid "missing nul SO"
 msgstr ""
 
-#: machoread.c:422
+#: machoread.c:401
 #, possible-c-format
 msgid "can't find symbol '%s' in minsymtab"
 msgstr ""
 
-#: machoread.c:449
+#: machoread.c:428
 #, possible-c-format
 msgid "Loading debugging symbols from oso: %s\n"
 msgstr ""
 
-#: machoread.c:453 symfile.c:1761
+#: machoread.c:432 symfile.c:1683
 #, possible-c-format
 msgid "`%s': can't read symbols: %s."
 msgstr ""
 
-#: machoread.c:460
+#: machoread.c:439
 #, possible-c-format
 msgid "`%s': file time stamp mismatch."
 msgstr ""
 
-#: machoread.c:468
+#: machoread.c:447
 #, possible-c-format
 msgid "`%s': can't create hash table"
 msgstr ""
 
-#: machoread.c:516
+#: machoread.c:494
 #, possible-c-format
 msgid "Duplicated symbol %s in symbol table"
 msgstr ""
 
-#: machoread.c:523
+#: machoread.c:501
 #, possible-c-format
 msgid "Adding symbol %s (addr: %s)\n"
 msgstr ""
 
-#: machoread.c:597
+#: machoread.c:575
 #, possible-c-format
 msgid "resolve sect %s with %s (set to %s)\n"
 msgstr ""
 
-#: machoread.c:669
+#: machoread.c:648
 #, possible-c-format
 msgid "Could not open OSO archive file \"%s\""
 msgstr ""
 
-#: machoread.c:676
+#: machoread.c:655
 #, possible-c-format
 msgid "OSO archive file \"%s\" not an archive."
 msgstr ""
 
-#: machoread.c:687
+#: machoread.c:666
 #, possible-c-format
 msgid "Could not read archive members out of OSO archive \"%s\""
 msgstr ""
 
-#: machoread.c:725
+#: machoread.c:704
 #, possible-c-format
 msgid "Could not find specified archive member for OSO name \"%s\""
 msgstr ""
 
-#: machoread.c:734 symfile.c:1754
+#: machoread.c:713 symfile.c:1676
 #, possible-c-format
 msgid "`%s': can't open to read symbols: %s."
 msgstr ""
 
-#: machoread.c:778 machoread.c:797
+#: machoread.c:757 machoread.c:776
 #, possible-c-format
 msgid "can't find UUID in %s"
 msgstr ""
 
-#: machoread.c:784
+#: machoread.c:763
 #, possible-c-format
 msgid "can't open dsym file %s"
 msgstr ""
 
-#: machoread.c:790
+#: machoread.c:769
 #, possible-c-format
 msgid "bad dsym file format: %s"
 msgstr ""
 
-#: machoread.c:803
+#: machoread.c:782
 #, possible-c-format
 msgid "dsym file UUID doesn't match the one in %s"
 msgstr ""
 
-#: machoread.c:871
+#: machoread.c:849
 msgid "dsym file found\n"
 msgstr ""
 
-#: machoread.c:919
+#: machoread.c:894
 #, possible-c-format
 msgid "Relocate section '%s' of %s\n"
 msgstr ""
 
-#: machoread.c:1004
+#: machoread.c:979
 msgid "Set if printing Mach-O symbols processing."
 msgstr ""
 
-#: machoread.c:1005
+#: machoread.c:980
 msgid "Show if printing Mach-O symbols processing."
 msgstr ""
 
-#: macrocmd.c:70
+#: macrocmd.c:67
 msgid ""
 "You must follow the `macro expand' command with the expression you\n"
 "want to expand."
 msgstr ""
 
-#: macrocmd.c:104
+#: macrocmd.c:96
 msgid ""
 "You must follow the `macro expand-once' command with the expression\n"
 "you want to expand."
 msgstr ""
 
-#: macrocmd.c:215
+#: macrocmd.c:203
 #, possible-c-format
 msgid ""
 "Unrecognized option '%.*s' to info macro command.  Try \"help info macro\"."
 msgstr ""
 
-#: macrocmd.c:226
+#: macrocmd.c:214
 msgid ""
 "You must follow the `info macro' command with the name of the macro\n"
 "whose definition you want to see."
 msgstr ""
 
-#: macrocmd.c:367
+#: macrocmd.c:356
 msgid "usage: macro define NAME[(ARGUMENT-LIST)] [REPLACEMENT-LIST]"
 msgstr ""
 
-#: macrocmd.c:377 macrocmd.c:452
+#: macrocmd.c:361 macrocmd.c:434
 msgid "Invalid macro name."
 msgstr ""
 
-#: macrocmd.c:405
+#: macrocmd.c:389
 msgid "Macro is missing an argument."
 msgstr ""
 
-#: macrocmd.c:411
+#: macrocmd.c:395
 msgid "Two macro arguments with identical names."
 msgstr ""
 
-#: macrocmd.c:421
+#: macrocmd.c:405
 msgid "',' or ')' expected at end of macro arguments."
 msgstr ""
 
-#: macrocmd.c:447
+#: macrocmd.c:429
 msgid "usage: macro undef NAME"
 msgstr ""
 
-#: macrocmd.c:491
+#: macrocmd.c:473
 msgid "Prefix for commands dealing with C preprocessor macros."
 msgstr ""
 
-#: macrocmd.c:494
+#: macrocmd.c:476
 msgid ""
 "Fully expand any C/C++ preprocessor macro invocations in EXPRESSION.\n"
 "Show the expanded expression."
 msgstr ""
 
-#: macrocmd.c:499
+#: macrocmd.c:481
 msgid ""
 "Expand C/C++ preprocessor macro invocations appearing directly in "
 "EXPRESSION.\n"
@@ -17338,7 +17726,7 @@ msgid ""
 "expression work together to yield a pre-processed expression."
 msgstr ""
 
-#: macrocmd.c:514
+#: macrocmd.c:496
 msgid ""
 "Show the definition of MACRO, and it's source location.\n"
 "Usage: info macro [-a|-all] [--] MACRO\n"
@@ -17348,14 +17736,14 @@ msgid ""
 "  --           Specify the end of arguments and the beginning of the MACRO."
 msgstr ""
 
-#: macrocmd.c:522
+#: macrocmd.c:504
 msgid ""
 "Show the definitions of all macros at LINESPEC, or the current source "
 "location.\n"
 "Usage: info macros [LINESPEC]"
 msgstr ""
 
-#: macrocmd.c:526
+#: macrocmd.c:508
 msgid ""
 "Define a new C/C++ preprocessor macro.\n"
 "The GDB command `macro define DEFINITION' is equivalent to placing a\n"
@@ -17366,104 +17754,104 @@ msgid ""
 "  (gdb) macro define MIN(x,y) ((x) < (y) ? (x) : (y))"
 msgstr ""
 
-#: macrocmd.c:536
+#: macrocmd.c:518
 msgid ""
 "Remove the definition of the C/C++ preprocessor macro with the given name."
 msgstr ""
 
-#: macrocmd.c:541
+#: macrocmd.c:523
 msgid "List all the macros defined using the `macro define' command."
 msgstr ""
 
-#: macroexp.c:249
+#: macroexp.c:238
 msgid "Unterminated comment in macro expansion."
 msgstr ""
 
-#: macroexp.c:359
+#: macroexp.c:348
 msgid "A character constant must contain at least one character."
 msgstr ""
 
-#: macroexp.c:419
+#: macroexp.c:408
 msgid "Newline characters may not appear in string constants."
 msgstr ""
 
-#: macroexp.c:653
+#: macroexp.c:640
 msgid "unable to avoid splicing tokens during macro expansion"
 msgstr ""
 
-#: macroexp.c:844
+#: macroexp.c:810
 #, possible-c-format
 msgid "Malformed argument list for macro `%s'."
 msgstr ""
 
-#: macroexp.c:1045
+#: macroexp.c:1003
 msgid "__VA_OPT__ cannot appear inside __VA_OPT__"
 msgstr ""
 
-#: macroexp.c:1054
+#: macroexp.c:1012
 msgid "__VA_OPT__ must be followed by an open parenthesis"
 msgstr ""
 
-#: macroexp.c:1075
+#: macroexp.c:1033
 msgid "__VA_OPT__ is only valid in a variadic macro"
 msgstr ""
 
-#: macroexp.c:1096
+#: macroexp.c:1054
 msgid "Stringification operator requires an argument."
 msgstr ""
 
-#: macroexp.c:1101
+#: macroexp.c:1059
 msgid "Argument to stringification operator must name a macro parameter."
 msgstr ""
 
-#: macroexp.c:1115
+#: macroexp.c:1073
 msgid "Stray splicing operator"
 msgstr ""
 
-#: macroexp.c:1147
+#: macroexp.c:1105
 msgid "Splicing operator at end of macro"
 msgstr ""
 
-#: macroexp.c:1243
+#: macroexp.c:1199
 msgid "Unterminated __VA_OPT__"
 msgstr ""
 
-#: macroexp.c:1350
+#: macroexp.c:1291
 #, possible-c-format
 msgid "Wrong number of arguments to macro `%s' (expected %d, got %d)."
 msgstr ""
 
-#: macroexp.c:1384
+#: macroexp.c:1322
 msgid "bad macro definition kind"
 msgstr ""
 
-#: macroexp.c:1516
+#: macroexp.c:1441
 msgid "Expand-once not implemented yet."
 msgstr ""
 
-#: macroscope.c:81
+#: macroscope.c:79
 #, possible-c-format
 msgid ""
 "symtab found for `%s', but that file\n"
 "is not covered in the compilation unit's macro information"
 msgstr ""
 
-#: macrotab.c:482
+#: macrotab.c:481
 #, possible-c-format
 msgid "both `%s' and `%s' allegedly #included at %s:%d"
 msgstr ""
 
-#: macrotab.c:734
+#: macrotab.c:732
 #, possible-c-format
 msgid "macro `%s' redefined at %s:%d; original definition at %s:%d"
 msgstr ""
 
-#: macrotab.c:863
+#: macrotab.c:860
 #, possible-c-format
 msgid "macro '%s' is #undefined twice, at %s:%d and %s:%d"
 msgstr ""
 
-#: macrotab.c:884
+#: macrotab.c:880
 #, possible-c-format
 msgid "no definition for macro `%s' in scope to #undef at %s:%d"
 msgstr ""
@@ -17715,7 +18103,7 @@ msgstr ""
 msgid "Core file:\n"
 msgstr ""
 
-#: maint.c:404 regcache.c:1562
+#: maint.c:404 regcache-dump.c:230
 msgid "maintenance print architecture"
 msgstr ""
 
@@ -18058,160 +18446,164 @@ msgstr ""
 msgid "cannot map ECOFF basic type 0x%x for %s"
 msgstr ""
 
-#: mdebugread.c:148
+#: mdebugread.c:147
 #, possible-c-format
 msgid "guessed tag type of %s incorrectly"
 msgstr ""
 
-#: mdebugread.c:154
+#: mdebugread.c:153
 #, possible-c-format
 msgid "bad rfd entry for %s: file %d, index %d"
 msgstr ""
 
-#: mdebugread.c:161
+#: mdebugread.c:160
 #, possible-c-format
 msgid "unexpected type code for %s"
 msgstr ""
 
-#: mdebugread.c:378
+#: mdebugread.c:376
 #, possible-c-format
 msgid ""
 "\n"
 "%s not compiled with -g, debugging support is limited.\n"
 msgstr ""
 
-#: mdebugread.c:381
+#: mdebugread.c:379
 msgid "You should compile with -g2 or -g3 for best debugging support.\n"
 msgstr ""
 
-#: mdebugread.c:528 stabsread.c:174
+#: mdebugread.c:523 stabsread.c:173
 #, possible-c-format
 msgid "bad register number %d (max %d) in symbol %s"
 msgstr ""
 
-#: mdebugread.c:754 mdebugread.c:1366
+#: mdebugread.c:748 mdebugread.c:1356
 #, possible-c-format
 msgid "unknown symbol type 0x%x"
 msgstr ""
 
-#: mdebugread.c:972
+#: mdebugread.c:965
 #, possible-c-format
 msgid "declaration block contains unhandled symbol type %d"
 msgstr ""
 
-#: mdebugread.c:1254
+#: mdebugread.c:1244
 #, possible-c-format
 msgid "stEnd with storage class %d not handled"
 msgstr ""
 
-#: mdebugread.c:1608
+#: mdebugread.c:1597
 #, possible-c-format
 msgid "can't handle TIR fBitfield for %s"
 msgstr ""
 
-#: mdebugread.c:1638
+#: mdebugread.c:1626
 #, possible-c-format
 msgid "unable to cross ref btIndirect for %s"
 msgstr ""
 
-#: mdebugread.c:1758
+#: mdebugread.c:1745
 #, possible-c-format
 msgid "unable to cross ref btTypedef for %s"
 msgstr ""
 
-#: mdebugread.c:1805
+#: mdebugread.c:1791
 #, possible-c-format
 msgid "illegal TIR continued for %s"
 msgstr ""
 
-#: mdebugread.c:1868
+#: mdebugread.c:1853
 #, possible-c-format
 msgid "illegal array index type for %s, assuming int"
 msgstr ""
 
-#: mdebugread.c:1916
+#: mdebugread.c:1901
 #, possible-c-format
 msgid "unknown type qualifier 0x%x"
 msgstr ""
 
-#: mdebugread.c:1949
+#. Static procedure at address pr->adr.  Sigh.
+#. FIXME-32x64.  assuming pr->adr fits in long.
+#: mdebugread.c:1933
 #, possible-c-format
 msgid "can't handle PDR for static proc at 0x%lx"
 msgstr ""
 
-#: mdebugread.c:2012
+#: mdebugread.c:1996
 #, possible-c-format
 msgid "PDR for %s, but no symbol"
 msgstr ""
 
-#: mdebugread.c:2137
+#: mdebugread.c:2121
 #, possible-c-format
 msgid "Warning: %s `%s' is undefined (in %s)\n"
 msgstr ""
 
-#: mdebugread.c:2239
+#: mdebugread.c:2222
 #, possible-c-format
 msgid "guessed size of linetable for %s incorrectly"
 msgstr ""
 
-#: mdebugread.c:2501
+#: mdebugread.c:2476
 #, possible-c-format
 msgid "bad ifd for external symbol: %d (max %ld)"
 msgstr ""
 
-#: mdebugread.c:2508
+#: mdebugread.c:2482
 #, possible-c-format
 msgid "bad iss for external symbol: %ld (max %ld)"
 msgstr ""
 
-#: mdebugread.c:3495
+#. This should not happen either... FIXME.
+#: mdebugread.c:3465
 #, possible-c-format
 msgid "bad proc end in aux found from symbol %s"
 msgstr ""
 
-#: mdebugread.c:3605
+#. This happens with the Ultrix kernel.
+#: mdebugread.c:3574
 #, possible-c-format
 msgid "bad aux index at block symbol %s"
 msgstr ""
 
 #. Both complaints are valid:  one gives symbol name,
 #. the other the offending symbol type.
-#: mdebugread.c:3625
+#: mdebugread.c:3594
 #, possible-c-format
 msgid "unknown local symbol %s"
 msgstr ""
 
-#: mdebugread.c:3627
+#: mdebugread.c:3596
 #, possible-c-format
 msgid "with type %d"
 msgstr ""
 
-#: mdebugread.c:3791
+#: mdebugread.c:3758
 #, possible-c-format
 msgid "bad file number %ld"
 msgstr ""
 
-#: mdebugread.c:4105
+#: mdebugread.c:4068
 #, possible-c-format
 msgid "unknown stabs symbol %s"
 msgstr ""
 
-#: mdebugread.c:4299
+#: mdebugread.c:4251
 #, possible-c-format
 msgid "File %s contains %d unresolved references:"
 msgstr ""
 
-#: mdebugread.c:4476
+#: mdebugread.c:4427
 #, possible-c-format
 msgid "illegal tq0 in forward typedef for %s"
 msgstr ""
 
-#: mdebugread.c:4513
+#: mdebugread.c:4463
 #, possible-c-format
 msgid "illegal bt %d in forward typedef for %s"
 msgstr ""
 
-#: mdebugread.c:4885
+#: mdebugread.c:4832
 #, possible-c-format
 msgid "Error reading ECOFF debugging information: %s"
 msgstr ""
@@ -18293,34 +18685,34 @@ msgid ""
 "Define attributes for memory region or reset memory region handling to\n"
 "target-based.\n"
 "Usage: mem auto\n"
-"       mem <lo addr> <hi addr> [<mode> <width> <cache>],\n"
-"where <mode>  may be rw (read/write), ro (read-only) or wo (write-only),\n"
-"      <width> may be 8, 16, 32, or 64, and\n"
-"      <cache> may be cache or nocache"
+"       mem LOW HIGH [MODE WIDTH CACHE],\n"
+"where MODE  may be rw (read/write), ro (read-only) or wo (write-only),\n"
+"      WIDTH may be 8, 16, 32, or 64, and\n"
+"      CACHE may be cache or nocache"
 msgstr ""
 
 #: memattr.c:611
 msgid ""
 "Enable memory region.\n"
-"Arguments are the code numbers of the memory regions to enable.\n"
-"Usage: enable mem <code number>...\n"
-"Do \"info mem\" to see current list of code numbers."
+"Arguments are the IDs of the memory regions to enable.\n"
+"Usage: enable mem [ID]...\n"
+"Do \"info mem\" to see current list of IDs."
 msgstr ""
 
 #: memattr.c:617
 msgid ""
 "Disable memory region.\n"
-"Arguments are the code numbers of the memory regions to disable.\n"
-"Usage: disable mem <code number>...\n"
-"Do \"info mem\" to see current list of code numbers."
+"Arguments are the IDs of the memory regions to disable.\n"
+"Usage: disable mem [ID]...\n"
+"Do \"info mem\" to see current list of IDs."
 msgstr ""
 
 #: memattr.c:623
 msgid ""
 "Delete memory region.\n"
-"Arguments are the code numbers of the memory regions to delete.\n"
-"Usage: delete mem <code number>...\n"
-"Do \"info mem\" to see current list of code numbers."
+"Arguments are the IDs of the memory regions to delete.\n"
+"Usage: delete mem [ID]...\n"
+"Do \"info mem\" to see current list of IDs."
 msgstr ""
 
 #: memattr.c:630
@@ -18351,37 +18743,37 @@ msgstr ""
 msgid "Can not parse XML memory map; XML support was disabled at compile time"
 msgstr ""
 
-#: memory-map.c:91
+#: memory-map.c:92
 msgid "Flash block size is not set"
 msgstr ""
 
-#: memory-map.c:127
+#: memory-map.c:129
 #, possible-c-format
 msgid "Unknown property \"%s\""
 msgstr ""
 
-#: memory-map.c:177
+#: memory-map.c:179
 msgid "target memory map"
 msgstr ""
 
 #. Return values larger than a single register are returned in
 #. memory, pointed to by R0.  Unfortunately, we can't count on R0
 #. pointing to the return buffer, so we raise an error here.
-#: mep-tdep.c:2164 mep-tdep.c:2191
+#: mep-tdep.c:2150 mep-tdep.c:2177
 msgid ""
 "GDB cannot set return values larger than four bytes; the Media Processor's\n"
 "calling conventions do not provide enough information to do this.\n"
 "Try using the 'return' command with no argument."
 msgstr ""
 
-#: mep-tdep.c:2409
+#: mep-tdep.c:2395
 #, possible-c-format
 msgid ""
 "the MeP module '%s' is %s-endian, but the executable\n"
 "%s is %s-endian."
 msgstr ""
 
-#: mep-tdep.c:2414
+#: mep-tdep.c:2400
 #, possible-c-format
 msgid ""
 "the selected MeP module is %s-endian, but the executable\n"
@@ -18414,86 +18806,86 @@ msgstr ""
 msgid "Usage: -info-os [INFOTYPE]"
 msgstr ""
 
-#: mi/mi-cmd-env.c:65
+#: mi/mi-cmd-env.c:66
 msgid "-environment-pwd: No arguments allowed"
 msgstr ""
 
-#: mi/mi-cmd-env.c:77
+#: mi/mi-cmd-env.c:78
 #, possible-c-format
 msgid "-environment-pwd: error finding name of working directory: %s"
 msgstr ""
 
-#: mi/mi-cmd-env.c:89
+#: mi/mi-cmd-env.c:90
 msgid "-environment-cd: Usage DIRECTORY"
 msgstr ""
 
-#: mi/mi-cmd-env.c:257
+#: mi/mi-cmd-env.c:258
 msgid "-inferior-tty-show: Usage: No args"
 msgstr ""
 
-#: mi/mi-cmd-break.c:270
+#: mi/mi-cmd-break.c:271
 #, possible-c-format
 msgid "-%s-insert: Missing <location>"
 msgstr ""
 
-#: mi/mi-cmd-break.c:277
+#: mi/mi-cmd-break.c:278
 msgid "-dprintf-insert: does not support -h or -a"
 msgstr ""
 
-#: mi/mi-cmd-break.c:279
+#: mi/mi-cmd-break.c:280
 msgid "-dprintf-insert: Missing <format>"
 msgstr ""
 
-#: mi/mi-cmd-break.c:289
+#: mi/mi-cmd-break.c:290
 msgid "-break-insert: Garbage following explicit location"
 msgstr ""
 
-#: mi/mi-cmd-break.c:294
+#: mi/mi-cmd-break.c:295
 msgid "-break-insert: Garbage following <location>"
 msgstr ""
 
-#: mi/mi-cmd-break.c:333
+#: mi/mi-cmd-break.c:334
 #, possible-c-format
 msgid "-%s-insert: --source option requires --function, --label, or --line"
 msgstr ""
 
-#: mi/mi-cmd-break.c:388
+#: mi/mi-cmd-break.c:389
 msgid "Usage: tracepoint-number passcount"
 msgstr ""
 
-#: mi/mi-cmd-break.c:401
+#: mi/mi-cmd-break.c:402
 #, possible-c-format
 msgid "Could not find tracepoint %d"
 msgstr ""
 
-#: mi/mi-cmd-break.c:449
+#: mi/mi-cmd-break.c:450
 msgid "-break-watch: Missing <expression>"
 msgstr ""
 
-#: mi/mi-cmd-break.c:451
+#: mi/mi-cmd-break.c:452
 msgid "-break-watch: Garbage following <expression>"
 msgstr ""
 
-#: mi/mi-cmd-break.c:467
+#: mi/mi-cmd-break.c:468
 msgid "-break-watch: Unknown watchpoint type."
 msgstr ""
 
-#: mi/mi-cmd-break.c:498
+#: mi/mi-cmd-break.c:481
 #, possible-c-format
 msgid "USAGE: %s <BKPT> [<COMMAND> [<COMMAND>...]]"
 msgstr ""
 
-#: mi/mi-cmd-break.c:502
+#: mi/mi-cmd-break.c:485
 #, possible-c-format
 msgid "breakpoint number argument \"%s\" is not a number."
 msgstr ""
 
-#: mi/mi-cmd-break.c:505
+#: mi/mi-cmd-break.c:488
 #, possible-c-format
 msgid "junk at the end of breakpoint number argument \"%s\"."
 msgstr ""
 
-#: mi/mi-cmd-break.c:510
+#: mi/mi-cmd-break.c:493
 #, possible-c-format
 msgid "breakpoint %d not found."
 msgstr ""
@@ -18545,62 +18937,63 @@ msgstr ""
 msgid "-enable-frame-filters: no arguments allowed"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:119
+#: mi/mi-cmd-stack.c:120
 msgid "-stack-list-frames: Usage: [--no-frame-filters] [FRAME_LOW FRAME_HIGH]"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:143
+#: mi/mi-cmd-stack.c:144
 msgid "-stack-list-frames: Not enough frames in stack."
 msgstr ""
 
-#: mi/mi-cmd-stack.c:189
+#: mi/mi-cmd-stack.c:190
 msgid "-stack-info-depth: Usage: [MAX_DEPTH]"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:257
+#: mi/mi-cmd-stack.c:259
 msgid ""
 "-stack-list-locals: Usage: [--no-frame-filters] [--skip-unavailable] "
 "PRINT_VALUES"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:329
+#: mi/mi-cmd-stack.c:331
 msgid ""
 "-stack-list-arguments: Usage: [--no-frame-filters] [--skip-unavailable] "
 "PRINT_VALUES [FRAME_LOW FRAME_HIGH]"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:356
+#: mi/mi-cmd-stack.c:358
 msgid "-stack-list-arguments: Not enough frames in stack."
 msgstr ""
 
-#: mi/mi-cmd-stack.c:446
+#: mi/mi-cmd-stack.c:448
 msgid ""
 "-stack-list-variables: Usage: [--no-frame-filters] [--skip-unavailable] "
 "PRINT_VALUES"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:683
+#: mi/mi-cmd-stack.c:685
 msgid "-stack-select-frame: Usage: FRAME_SPEC"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:692
+#: mi/mi-cmd-stack.c:694
 msgid "-stack-info-frame: No arguments allowed"
 msgstr ""
 
-#: mi/mi-cmd-catch.c:79 mi/mi-cmd-catch.c:151 mi/mi-main.c:470 skip.c:294
+#: mi/mi-cmd-catch.c:79 mi/mi-cmd-catch.c:147 mi/mi-cmd-catch.c:215
+#: mi/mi-main.c:465 skip.c:294
 #, possible-c-format
 msgid "Invalid argument: %s"
 msgstr ""
 
-#: mi/mi-cmd-catch.c:156
+#: mi/mi-cmd-catch.c:152
 msgid "\"-e\" and \"-u\" are mutually exclusive"
 msgstr ""
 
-#: mi/mi-cmd-catch.c:212
+#: mi/mi-cmd-catch.c:266
 msgid "-catch-load/unload: Missing <library name>"
 msgstr ""
 
-#: mi/mi-cmd-catch.c:214
+#: mi/mi-cmd-catch.c:268
 msgid "-catch-load/unload: Garbage following the <library name>"
 msgstr ""
 
@@ -18632,11 +19025,11 @@ msgstr ""
 msgid "-data-disassemble: No function contains specified address"
 msgstr ""
 
-#: mi/mi-interp.c:210
+#: mi/mi-interp.c:206
 msgid "-interpreter-exec: Usage: -interpreter-exec interp command"
 msgstr ""
 
-#: mi/mi-interp.c:215
+#: mi/mi-interp.c:211
 #, possible-c-format
 msgid "-interpreter-exec: could not find interpreter \"%s\""
 msgstr ""
@@ -18661,109 +19054,109 @@ msgstr ""
 msgid "-target-file-delete: Usage: REMOTE_FILE"
 msgstr ""
 
-#: mi/mi-cmd-var.c:103
+#: mi/mi-cmd-var.c:104
 msgid "-var-create: Usage: NAME FRAME EXPRESSION."
 msgstr ""
 
-#: mi/mi-cmd-var.c:116
+#: mi/mi-cmd-var.c:117
 msgid "-var-create: name of object must begin with a letter"
 msgstr ""
 
-#: mi/mi-cmd-var.c:136
+#: mi/mi-cmd-var.c:137
 msgid "-var-create: unable to create variable object"
 msgstr ""
 
-#: mi/mi-cmd-var.c:153
+#: mi/mi-cmd-var.c:154
 msgid "-var-delete: Usage: [-c] EXPRESSION."
 msgstr ""
 
-#: mi/mi-cmd-var.c:162
+#: mi/mi-cmd-var.c:163
 msgid "-var-delete: Missing required argument after '-c': variable object name"
 msgstr ""
 
-#: mi/mi-cmd-var.c:165
+#: mi/mi-cmd-var.c:166
 msgid "-var-delete: Illegal variable object name"
 msgstr ""
 
-#: mi/mi-cmd-var.c:173
+#: mi/mi-cmd-var.c:174
 msgid "-var-delete: Invalid option."
 msgstr ""
 
-#: mi/mi-cmd-var.c:213
+#: mi/mi-cmd-var.c:214
 msgid ""
 "Must specify the format as: \"natural\", \"binary\", \"decimal\", "
 "\"hexadecimal\", \"octal\" or \"zero-hexadecimal\""
 msgstr ""
 
-#: mi/mi-cmd-var.c:225
+#: mi/mi-cmd-var.c:226
 msgid "-var-set-format: Usage: NAME FORMAT."
 msgstr ""
 
-#: mi/mi-cmd-var.c:249
+#: mi/mi-cmd-var.c:250
 msgid "Usage: NAME VISUALIZER_FUNCTION."
 msgstr ""
 
-#: mi/mi-cmd-var.c:254 varobj.c:450
+#: mi/mi-cmd-var.c:255 varobj.c:452
 msgid "Variable object not found"
 msgstr ""
 
-#: mi/mi-cmd-var.c:266
+#: mi/mi-cmd-var.c:267
 msgid "-var-set-format: Usage: NAME FROZEN_FLAG."
 msgstr ""
 
-#: mi/mi-cmd-var.c:275
+#: mi/mi-cmd-var.c:276
 msgid "Invalid flag value"
 msgstr ""
 
-#: mi/mi-cmd-var.c:292
+#: mi/mi-cmd-var.c:293
 msgid "-var-show-format: Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:310
+#: mi/mi-cmd-var.c:311
 msgid "-var-info-num-children: Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:359
+#: mi/mi-cmd-var.c:360
 msgid "-var-list-children: Usage: [PRINT_VALUES] NAME [FROM TO]"
 msgstr ""
 
-#: mi/mi-cmd-var.c:421
+#: mi/mi-cmd-var.c:422
 msgid "-var-info-type: Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:437
+#: mi/mi-cmd-var.c:438
 msgid "Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:455
+#: mi/mi-cmd-var.c:456
 msgid "-var-info-expression: Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:477
+#: mi/mi-cmd-var.c:478
 msgid "-var-show-attributes: Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:528
+#: mi/mi-cmd-var.c:529
 msgid "Cannot specify format more than once"
 msgstr ""
 
-#: mi/mi-cmd-var.c:537
+#: mi/mi-cmd-var.c:538
 msgid "Usage: [-f FORMAT] NAME"
 msgstr ""
 
-#: mi/mi-cmd-var.c:540
+#: mi/mi-cmd-var.c:541
 msgid "Garbage at end of command"
 msgstr ""
 
-#: mi/mi-cmd-var.c:566
+#: mi/mi-cmd-var.c:567
 msgid "-var-assign: Usage: NAME EXPRESSION."
 msgstr ""
 
-#: mi/mi-cmd-var.c:572
+#: mi/mi-cmd-var.c:573
 msgid "-var-assign: Variable object is not editable"
 msgstr ""
 
-#: mi/mi-cmd-var.c:582
+#: mi/mi-cmd-var.c:583
 msgid "-var-assign: Could not assign expression to variable object"
 msgstr ""
 
@@ -18779,7 +19172,7 @@ msgstr ""
 msgid "-var-set-update-range: Usage: VAROBJ FROM TO"
 msgstr ""
 
-#: mi/mi-cmds.c:260
+#: mi/mi-cmds.c:262
 #, possible-c-format
 msgid "command `%s' appears to be duplicated"
 msgstr ""
@@ -18798,266 +19191,266 @@ msgstr ""
 msgid "Target %s does not support this command."
 msgstr ""
 
-#: mi/mi-main.c:505
+#: mi/mi-main.c:500
 msgid "Usage: -target-detach [pid | thread-group]"
 msgstr ""
 
-#: mi/mi-main.c:520
+#: mi/mi-main.c:515
 #, possible-c-format
 msgid "Invalid syntax of thread-group id '%s'"
 msgstr ""
 
-#: mi/mi-main.c:524
+#: mi/mi-main.c:519
 #, possible-c-format
 msgid "Non-existent thread-group id '%d'"
 msgstr ""
 
-#: mi/mi-main.c:534
+#: mi/mi-main.c:529
 #, possible-c-format
 msgid "Invalid identifier '%s'"
 msgstr ""
 
-#: mi/mi-main.c:541
+#: mi/mi-main.c:536
 msgid "Thread group is empty"
 msgstr ""
 
-#: mi/mi-main.c:559
+#: mi/mi-main.c:554
 msgid "-thread-select: USAGE: threadnum."
 msgstr ""
 
-#: mi/mi-main.c:564
+#: mi/mi-main.c:559
 #, possible-c-format
 msgid "Thread ID %d not known."
 msgstr ""
 
-#: mi/mi-main.c:585
+#: mi/mi-main.c:580
 msgid "-thread-list-ids: No arguments required."
 msgstr ""
 
-#: mi/mi-main.c:615 mi/mi-main.c:2468
+#: mi/mi-main.c:610 mi/mi-main.c:2464
 msgid "Invalid MI command"
 msgstr ""
 
-#: mi/mi-main.c:829
+#: mi/mi-main.c:824
 msgid "only '0' and '1' are valid values for the '--recurse' option"
 msgstr ""
 
-#: mi/mi-main.c:841 mi/mi-main.c:846
+#: mi/mi-main.c:836 mi/mi-main.c:841
 #, possible-c-format
 msgid "invalid syntax of group id '%s'"
 msgstr ""
 
-#: mi/mi-main.c:861
+#: mi/mi-main.c:856
 #, possible-c-format
 msgid "Non-existent thread group id '%d'"
 msgstr ""
 
-#: mi/mi-main.c:921 mi/mi-main.c:993 mi/mi-main.c:1116 mi/mi-main.c:1207
+#: mi/mi-main.c:916 mi/mi-main.c:988 mi/mi-main.c:1109 mi/mi-main.c:1200
 msgid "bad register number"
 msgstr ""
 
-#: mi/mi-main.c:1078
+#: mi/mi-main.c:1071
 msgid ""
 "-data-list-register-values: Usage: -data-list-register-values [--skip-"
 "unavailable] <format> [<regnum1>...<regnumN>]"
 msgstr ""
 
-#: mi/mi-main.c:1177
+#: mi/mi-main.c:1170
 msgid ""
 "-data-write-register-values: Usage: -data-write-register-values <format> "
 "[<regnum1> <value1>...<regnumN> <valueN>]"
 msgstr ""
 
-#: mi/mi-main.c:1181
+#: mi/mi-main.c:1174
 msgid "-data-write-register-values: No registers."
 msgstr ""
 
-#: mi/mi-main.c:1184
+#: mi/mi-main.c:1177
 msgid "-data-write-register-values: No regs and values specified."
 msgstr ""
 
-#: mi/mi-main.c:1187
+#: mi/mi-main.c:1180
 msgid "-data-write-register-values: Regs and vals are not in pairs."
 msgstr ""
 
-#: mi/mi-main.c:1223
+#: mi/mi-main.c:1216
 msgid "-data-evaluate-expression: Usage: -data-evaluate-expression expression"
 msgstr ""
 
-#: mi/mi-main.c:1303
+#: mi/mi-main.c:1296
 msgid ""
 "-data-read-memory: Usage: ADDR WORD-FORMAT WORD-SIZE NR-ROWS NR-COLS "
 "[ASCHAR]."
 msgstr ""
 
-#: mi/mi-main.c:1340
+#: mi/mi-main.c:1333
 msgid "-data-read-memory: invalid number of rows."
 msgstr ""
 
-#: mi/mi-main.c:1345
+#: mi/mi-main.c:1338
 msgid "-data-read-memory: invalid number of columns."
 msgstr ""
 
-#: mi/mi-main.c:1364 mi/mi-main.c:1484
+#: mi/mi-main.c:1354 mi/mi-main.c:1474
 msgid "Unable to read memory."
 msgstr ""
 
-#: mi/mi-main.c:1475
+#: mi/mi-main.c:1465
 msgid "Usage: [ -o OFFSET ] ADDR LENGTH."
 msgstr ""
 
-#: mi/mi-main.c:1560
+#: mi/mi-main.c:1550
 msgid ""
 "-data-write-memory: Usage: [-o COLUMN_OFFSET] ADDR FORMAT WORD-SIZE VALUE."
 msgstr ""
 
-#: mi/mi-main.c:1597
+#: mi/mi-main.c:1587
 msgid "Usage: ADDR DATA [COUNT]."
 msgstr ""
 
-#: mi/mi-main.c:1605
+#: mi/mi-main.c:1595
 #, possible-c-format
 msgid ""
 "Hex-encoded '%s' must represent an integral number of addressable memory "
 "units."
 msgstr ""
 
-#: mi/mi-main.c:1675
+#: mi/mi-main.c:1665
 #, possible-c-format
 msgid "-enable-timings: Usage: %s {yes|no}"
 msgstr ""
 
-#: mi/mi-main.c:1703
+#: mi/mi-main.c:1693
 msgid "-list-features should be passed no arguments"
 msgstr ""
 
-#: mi/mi-main.c:1721
+#: mi/mi-main.c:1711
 msgid "-list-target-features should be passed no arguments"
 msgstr ""
 
-#: mi/mi-main.c:1730
+#: mi/mi-main.c:1720
 msgid "-add-inferior should be passed no arguments"
 msgstr ""
 
-#: mi/mi-main.c:1756
+#: mi/mi-main.c:1746
 msgid "-remove-inferior should be passed a single argument"
 msgstr ""
 
-#: mi/mi-main.c:1759
+#: mi/mi-main.c:1749
 msgid "the thread group id is syntactically invalid"
 msgstr ""
 
-#: mi/mi-main.c:1763
+#: mi/mi-main.c:1753
 msgid "the specified thread group does not exist"
 msgstr ""
 
-#: mi/mi-main.c:1766
+#: mi/mi-main.c:1756
 msgid "cannot remove an active inferior"
 msgstr ""
 
-#: mi/mi-main.c:1775
+#: mi/mi-main.c:1765
 msgid "Cannot remove last inferior"
 msgstr ""
 
-#: mi/mi-main.c:2040
+#: mi/mi-main.c:2033
 msgid "Cannot specify --thread-group together with --all"
 msgstr ""
 
-#: mi/mi-main.c:2043
+#: mi/mi-main.c:2036
 msgid "Cannot specify --thread together with --all"
 msgstr ""
 
-#: mi/mi-main.c:2046
+#: mi/mi-main.c:2039
 msgid "Cannot specify --thread together with --thread-group"
 msgstr ""
 
-#: mi/mi-main.c:2049
+#: mi/mi-main.c:2042
 msgid "Cannot specify --frame without --thread"
 msgstr ""
 
-#: mi/mi-main.c:2057
+#: mi/mi-main.c:2050
 msgid "Invalid thread group for the --thread-group option"
 msgstr ""
 
-#: mi/mi-main.c:2076
+#: mi/mi-main.c:2072
 #, possible-c-format
 msgid "Invalid thread id: %d"
 msgstr ""
 
-#: mi/mi-main.c:2079
+#: mi/mi-main.c:2075
 #, possible-c-format
 msgid "Thread id: %d has terminated"
 msgstr ""
 
-#: mi/mi-main.c:2094
+#: mi/mi-main.c:2090
 #, possible-c-format
 msgid "Invalid frame id: %d"
 msgstr ""
 
-#: mi/mi-main.c:2290
+#: mi/mi-main.c:2286
 msgid "Usage: -trace-define-variable VARIABLE [VALUE]"
 msgstr ""
 
-#: mi/mi-main.c:2294 tracepoint.c:370
+#: mi/mi-main.c:2290 tracepoint.c:350
 msgid "Name of trace variable should start with '$'"
 msgstr ""
 
-#: mi/mi-main.c:2312
+#: mi/mi-main.c:2308
 msgid "-trace-list-variables: no arguments allowed"
 msgstr ""
 
-#: mi/mi-main.c:2323
+#: mi/mi-main.c:2319
 msgid "trace selection mode is required"
 msgstr ""
 
-#: mi/mi-main.c:2338
+#: mi/mi-main.c:2334
 msgid "frame number is required"
 msgstr ""
 
-#: mi/mi-main.c:2344
+#: mi/mi-main.c:2340
 msgid "tracepoint number is required"
 msgstr ""
 
-#: mi/mi-main.c:2350
+#: mi/mi-main.c:2346
 msgid "PC is required"
 msgstr ""
 
-#: mi/mi-main.c:2356 mi/mi-main.c:2363
+#: mi/mi-main.c:2352 mi/mi-main.c:2359
 msgid "Start and end PC are required"
 msgstr ""
 
-#: mi/mi-main.c:2370
+#: mi/mi-main.c:2366
 msgid "Line is required"
 msgstr ""
 
-#: mi/mi-main.c:2378 mi/mi-main.c:2384
+#: mi/mi-main.c:2374 mi/mi-main.c:2380
 msgid "Could not find the specified line"
 msgstr ""
 
-#: mi/mi-main.c:2387
+#: mi/mi-main.c:2383
 #, possible-c-format
 msgid "Invalid mode '%s'"
 msgstr ""
 
-#: mi/mi-main.c:2432
+#: mi/mi-main.c:2428
 msgid "Exactly one argument required (file in which to save trace data)"
 msgstr ""
 
-#: mi/mi-main.c:2583
+#: mi/mi-main.c:2580
 msgid ""
 "Usage: -trace-frame-collected [--var-print-values PRINT_VALUES] [--comp-"
 "print-values PRINT_VALUES] [--registers-format FORMAT][--memory-contents]"
 msgstr ""
 
-#: mi/mi-main.c:2723
+#: mi/mi-main.c:2720
 msgid "Set whether MI asynchronous mode is enabled."
 msgstr ""
 
-#: mi/mi-main.c:2724
+#: mi/mi-main.c:2721
 msgid "Show whether MI asynchronous mode is enabled."
 msgstr ""
 
-#: mi/mi-main.c:2725
+#: mi/mi-main.c:2722
 msgid "Tells GDB whether MI should be in asynchronous mode."
 msgstr ""
 
@@ -19081,81 +19474,86 @@ msgstr ""
 msgid "Unsupported return value size requested"
 msgstr ""
 
-#: microblaze-tdep.c:771
+#: microblaze-tdep.c:764
 msgid "Set microblaze debugging."
 msgstr ""
 
-#: microblaze-tdep.c:772
+#: microblaze-tdep.c:765
 msgid "Show microblaze debugging."
 msgstr ""
 
-#: microblaze-tdep.c:773
+#: microblaze-tdep.c:766
 msgid "When non-zero, microblaze specific debugging is enabled."
 msgstr ""
 
-#: minidebug.c:279
+#: minidebug.c:272
+#, possible-c-format
+msgid ".gnu_debugdata for %s"
+msgstr ""
+
+#: minidebug.c:282
 msgid "Cannot parse .gnu_debugdata section; not a BFD object"
 msgstr ""
 
-#: minidebug.c:283
+#: minidebug.c:286
 msgid ""
 "Cannot parse .gnu_debugdata section; LZMA support was disabled at compile "
 "time"
 msgstr ""
 
-#: minsyms.c:957
+#: minsyms.c:955
 #, possible-c-format
 msgid ""
 "GDB cannot resolve STT_GNU_IFUNC symbol at address %s without the ELF "
 "support compiled in."
 msgstr ""
 
-#: minsyms.c:968
+#: minsyms.c:966
 #, possible-c-format
 msgid ""
 "GDB cannot resolve STT_GNU_IFUNC symbol \"%s\" without the ELF support "
 "compiled in."
 msgstr ""
 
-#: minsyms.c:979
+#: minsyms.c:977
 msgid "elf_gnu_ifunc_resolver_stop cannot be reached."
 msgstr ""
 
-#: minsyms.c:988
+#: minsyms.c:986
 msgid "elf_gnu_ifunc_resolver_return_stop cannot be reached."
 msgstr ""
 
-#: mips-linux-nat.c:72 mips-linux-nat.c:113
+#: mips-linux-nat.c:105 mips-linux-nat.c:146
 #, possible-c-format
 msgid "Bogon register number %d."
 msgstr ""
 
-#: mips-linux-nat.c:275 mips-linux-nat.c:350 ppc-fbsd-nat.c:136
-#: ppc-fbsd-nat.c:165 ppc-nbsd-nat.c:102 ppc-nbsd-nat.c:135
+#: mips-linux-nat.c:305 mips-linux-nat.c:381 ppc-fbsd-nat.c:143
+#: ppc-fbsd-nat.c:171 ppc-nbsd-nat.c:109 ppc-nbsd-nat.c:141
 msgid "Couldn't get FP registers"
 msgstr ""
 
-#: mips-linux-nat.c:341 sh-nbsd-nat.c:87
+#: mips-linux-nat.c:372 sh-nbsd-nat.c:92
 msgid "Couldn't set registers"
 msgstr ""
 
-#: mips-linux-nat.c:356 ppc-fbsd-nat.c:170 ppc-nbsd-nat.c:141
+#: mips-linux-nat.c:387 ppc-fbsd-nat.c:176 ppc-nbsd-nat.c:147
 msgid "Couldn't set FP registers"
 msgstr ""
 
-#: mips-linux-nat.c:441
+#: mips-linux-nat.c:478
 msgid "Couldn't check DSP support"
 msgstr ""
 
-#: mips-linux-nat.c:611 mips-linux-nat.c:630 nat/x86-linux-dregs.c:70
+#: mips-linux-nat.c:646 mips-linux-nat.c:665 nat/x86-linux-dregs.c:70
 msgid "Couldn't write debug register"
 msgstr ""
 
-#: mips-linux-nat.c:765
+#: mips-linux-nat.c:795
 msgid "Set whether to show variables that mirror the mips debug registers."
 msgstr ""
 
-#: mips-linux-nat.c:766
+#: mips-linux-nat.c:796
 msgid "Show whether to show variables that mirror the mips debug registers."
 msgstr ""
 
@@ -19164,112 +19562,112 @@ msgstr ""
 msgid "Error reading symbol table: %s"
 msgstr ""
 
-#: mips-tdep.c:665
+#: mips-tdep.c:675
 #, possible-c-format
 msgid "mips_register_name: bad register number %d"
 msgstr ""
 
-#: mips-tdep.c:766 mips-tdep.c:795 mips-tdep.c:835
+#: mips-tdep.c:776 mips-tdep.c:805 mips-tdep.c:845
 msgid "bad register size"
 msgstr ""
 
-#: mips-tdep.c:867
+#: mips-tdep.c:877
 msgid "32-bit compatibility mode not supported"
 msgstr ""
 
-#: mips-tdep.c:947
+#: mips-tdep.c:957
 msgid "mips_register_to_value: unrecognized case"
 msgstr ""
 
-#: mips-tdep.c:995
+#: mips-tdep.c:1005
 msgid "mips_value_to_register: unrecognized case"
 msgstr ""
 
-#: mips-tdep.c:1141
+#: mips-tdep.c:1151
 msgid "mips_mask_address_p: bad switch"
 msgstr ""
 
-#: mips-tdep.c:1167
+#: mips-tdep.c:1177
 msgid "show_mask_address: bad switch"
 msgstr ""
 
-#: mips-tdep.c:1451 mips-tdep.c:1535
+#: mips-tdep.c:1461 mips-tdep.c:1545
 msgid "invalid ISA"
 msgstr ""
 
-#: mips-tdep.c:2709
+#: mips-tdep.c:2719
 msgid "Invalid number of argument registers encoded in SAVE."
 msgstr ""
 
-#: mips-tdep.c:2714
+#: mips-tdep.c:2724
 msgid "Invalid number of static registers encoded in SAVE."
 msgstr ""
 
-#: mips-tdep.c:4228
+#: mips-tdep.c:4238
 #, possible-c-format
 msgid "GDB can't find the start of the function at %s."
 msgstr ""
 
-#: mips-tdep.c:6186 mips-tdep.c:6223 sh64-tdep.c:1927
+#: mips-tdep.c:6196 mips-tdep.c:6233
 #, possible-c-format
 msgid "can't read register %d (%s)"
 msgstr ""
 
-#: mips-tdep.c:6232
+#: mips-tdep.c:6242
 msgid "mips_read_fp_register_double: bad access to odd-numbered FP register"
 msgstr ""
 
-#: mips-tdep.c:6565 sh64-tdep.c:2084 sh64-tdep.c:2142
+#: mips-tdep.c:6575 riscv-tdep.c:838
 msgid "Not a valid register for the current processor type"
 msgstr ""
 
-#: mips-tdep.c:6928 mips-tdep.c:6942 mips-tdep.c:6956
+#: mips-tdep.c:6938 mips-tdep.c:6952 mips-tdep.c:6966
 msgid "set mipsfpu failed"
 msgstr ""
 
-#: mips-tdep.c:8000
+#: mips-tdep.c:7979
 #, possible-c-format
 msgid "unsupported ABI %s."
 msgstr ""
 
-#: mips-tdep.c:8014
+#: mips-tdep.c:7993
 msgid "unrecognized .gcc_compiled_longXX"
 msgstr ""
 
-#: mips-tdep.c:8026
+#: mips-tdep.c:8005
 msgid "unknown ABI string"
 msgstr ""
 
-#: mips-tdep.c:8043
+#: mips-tdep.c:8022
 msgid "unknown compressed ISA string"
 msgstr ""
 
-#: mips-tdep.c:8603 mips-tdep.c:8652
+#: mips-tdep.c:8586 mips-tdep.c:8635
 msgid "unknown ABI in switch"
 msgstr ""
 
-#: mips-tdep.c:8883
+#: mips-tdep.c:8873
 #, possible-c-format
 msgid "The compressed ISA encoding used is %s.\n"
 msgstr ""
 
-#: mips-tdep.c:8972
+#: mips-tdep.c:8962
 msgid "mips_abi_strings out of sync"
 msgstr ""
 
-#: mips-tdep.c:8988 mips-tdep.c:8992
+#: mips-tdep.c:8978 mips-tdep.c:8982
 msgid "Various MIPS specific commands."
 msgstr ""
 
-#: mips-tdep.c:8997
+#: mips-tdep.c:8987
 msgid "Set the MIPS ABI used by this program."
 msgstr ""
 
-#: mips-tdep.c:8998
+#: mips-tdep.c:8988
 msgid "Show the MIPS ABI used by this program."
 msgstr ""
 
-#: mips-tdep.c:8999
+#: mips-tdep.c:8989
 msgid ""
 "This option can be set to one of:\n"
 "  auto  - the default ABI associated with the current binary\n"
@@ -19281,15 +19679,15 @@ msgid ""
 "  eabi64"
 msgstr ""
 
-#: mips-tdep.c:9017
+#: mips-tdep.c:9007
 msgid "Set the compressed ISA encoding used by MIPS code."
 msgstr ""
 
-#: mips-tdep.c:9018
+#: mips-tdep.c:9008
 msgid "Show the compressed ISA encoding used by MIPS code."
 msgstr ""
 
-#: mips-tdep.c:9019
+#: mips-tdep.c:9009
 msgid ""
 "Select the compressed ISA encoding used in functions that have no symbol\n"
 "information available.  The encoding can be set to either of:\n"
@@ -19298,84 +19696,84 @@ msgid ""
 "and is updated automatically from ELF file flags if available."
 msgstr ""
 
-#: mips-tdep.c:9033
+#: mips-tdep.c:9023
 msgid "Set use of MIPS floating-point coprocessor."
 msgstr ""
 
-#: mips-tdep.c:9036
+#: mips-tdep.c:9026
 msgid "Select single-precision MIPS floating-point coprocessor."
 msgstr ""
 
-#: mips-tdep.c:9039
+#: mips-tdep.c:9029
 msgid "Select double-precision MIPS floating-point coprocessor."
 msgstr ""
 
-#: mips-tdep.c:9045
+#: mips-tdep.c:9035
 msgid "Select no MIPS floating-point coprocessor."
 msgstr ""
 
-#: mips-tdep.c:9050
+#: mips-tdep.c:9040
 msgid "Select MIPS floating-point coprocessor automatically."
 msgstr ""
 
-#: mips-tdep.c:9053
+#: mips-tdep.c:9043
 msgid "Show current use of MIPS floating-point coprocessor target."
 msgstr ""
 
-#: mips-tdep.c:9074
+#: mips-tdep.c:9064
 msgid "Set zeroing of upper 32 bits of 64-bit addresses."
 msgstr ""
 
-#: mips-tdep.c:9075
+#: mips-tdep.c:9065
 msgid "Show zeroing of upper 32 bits of 64-bit addresses."
 msgstr ""
 
-#: mips-tdep.c:9076
+#: mips-tdep.c:9066
 msgid ""
 "Use \"on\" to enable the masking, \"off\" to disable it and \"auto\" to\n"
 "allow GDB to determine the correct value."
 msgstr ""
 
-#: mips-tdep.c:9085
+#: mips-tdep.c:9075
 msgid ""
 "Set compatibility with 64-bit MIPS target that transfers 32-bit quantities."
 msgstr ""
 
-#: mips-tdep.c:9087
+#: mips-tdep.c:9077
 msgid ""
 "Show compatibility with 64-bit MIPS target that transfers 32-bit quantities."
 msgstr ""
 
-#: mips-tdep.c:9089
+#: mips-tdep.c:9079
 msgid ""
 "Use \"on\" to enable backward compatibility with older MIPS 64 GDB+target\n"
 "that would transfer 32 bits for some registers (e.g. SR, FSR) and\n"
 "64 bits for others.  Use \"off\" to disable compatibility mode"
 msgstr ""
 
-#: mips-tdep.c:9101
+#: mips-tdep.c:9091
 msgid "Set mips debugging."
 msgstr ""
 
-#: mips-tdep.c:9102
+#: mips-tdep.c:9092
 msgid "Show mips debugging."
 msgstr ""
 
-#: mips-tdep.c:9103
+#: mips-tdep.c:9093
 msgid "When non-zero, mips specific debugging is enabled."
 msgstr ""
 
-#: mn10300-tdep.c:195
+#: mn10300-tdep.c:194
 #, possible-c-format
 msgid "Cannot store return value %d bytes long."
 msgstr ""
 
-#: mn10300-tdep.c:228
+#: mn10300-tdep.c:227
 #, possible-c-format
 msgid "Cannot extract return value %d bytes long."
 msgstr ""
 
-#: mn10300-tdep.c:1415
+#: mn10300-tdep.c:1400
 msgid "mn10300_gdbarch_init: Unknown mn10300 variant"
 msgstr ""
 
@@ -19392,144 +19790,144 @@ msgstr ""
 msgid "Unknown msp430 isa"
 msgstr ""
 
-#: mt-tdep.c:302
+#: nat/aarch64-linux-hw-point.c:79
 #, possible-c-format
-msgid "mt_register_type: illegal register number %d"
+msgid "Unexpected hardware watchpoint length register value 0x%x"
 msgstr ""
 
-#: nat/aarch64-linux-hw-point.c:87
+#: nat/aarch64-linux-hw-point.c:113
 msgid "Unrecognized breakpoint/watchpoint type"
 msgstr ""
 
-#: nat/aarch64-linux-hw-point.c:583
+#: nat/aarch64-linux-hw-point.c:716
 msgid "Unexpected error setting hardware debug registers"
 msgstr ""
 
-#: nat/aarch64-linux-hw-point.c:640
+#: nat/aarch64-linux-hw-point.c:775
 #, possible-c-format
 msgid ""
 "Unexpected number of hardware watchpoint registers reported by ptrace, got %"
 "d, expected %d."
 msgstr ""
 
-#: nat/aarch64-linux-hw-point.c:648
+#: nat/aarch64-linux-hw-point.c:783
 msgid "Unable to determine the number of hardware watchpoints available."
 msgstr ""
 
-#: nat/aarch64-linux-hw-point.c:662
+#: nat/aarch64-linux-hw-point.c:797
 #, possible-c-format
 msgid ""
 "Unexpected number of hardware breakpoint registers reported by ptrace, got %"
 "d, expected %d."
 msgstr ""
 
-#: nat/aarch64-linux-hw-point.c:670
+#: nat/aarch64-linux-hw-point.c:805
 msgid "Unable to determine the number of hardware breakpoints available."
 msgstr ""
 
-#: nat/linux-ptrace.c:46
+#: nat/linux-ptrace.c:44
 #, possible-c-format
 msgid "process %d is already traced by process %d"
 msgstr ""
 
-#: nat/linux-ptrace.c:51
+#: nat/linux-ptrace.c:49
 #, possible-c-format
 msgid "process %d is a zombie - the process has already terminated"
 msgstr ""
 
-#: nat/linux-ptrace.c:113
+#: nat/linux-ptrace.c:102
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot mmap: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:125
+#: nat/linux-ptrace.c:114
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot fork: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:133
+#: nat/linux-ptrace.c:122
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot PTRACE_TRACEME: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:163
+#: nat/linux-ptrace.c:152
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: waitpid returned %ld: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:171
+#: nat/linux-ptrace.c:160
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: WTERMSIG %d is not SIGKILL!"
 msgstr ""
 
-#: nat/linux-ptrace.c:174
+#: nat/linux-ptrace.c:163
 msgid ""
 "Cannot call inferior functions, Linux kernel PaX protection forbids return "
 "to non-executable pages!"
 msgstr ""
 
-#: nat/linux-ptrace.c:181
+#: nat/linux-ptrace.c:170
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: status %d is not WIFSTOPPED!"
 msgstr ""
 
-#: nat/linux-ptrace.c:189
+#: nat/linux-ptrace.c:178
 #, possible-c-format
 msgid ""
 "linux_ptrace_test_ret_to_nx: WSTOPSIG %d is neither SIGTRAP nor SIGSEGV!"
 msgstr ""
 
-#: nat/linux-ptrace.c:198
+#: nat/linux-ptrace.c:187
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot PTRACE_GETREGS: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:217
+#: nat/linux-ptrace.c:206
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: PTRACE_KILL waitpid returned %ld: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:224
+#: nat/linux-ptrace.c:213
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: PTRACE_KILL status %d is not WIFSIGNALED!"
 msgstr ""
 
-#: nat/linux-ptrace.c:245
+#: nat/linux-ptrace.c:234
 #, possible-c-format
 msgid ""
 "linux_ptrace_test_ret_to_nx: PC %p is neither near return address %p nor is "
 "the return instruction %p!"
 msgstr ""
 
-#: nat/linux-ptrace.c:249
+#: nat/linux-ptrace.c:238
 msgid ""
 "Cannot call inferior functions on this system - Linux kernel with broken "
 "i386 NX (non-executable pages) support detected!"
 msgstr ""
 
-#: nat/linux-ptrace.c:354
+#: nat/linux-ptrace.c:343
 #, possible-c-format
 msgid "linux_check_ptrace_features: waitpid: unexpected result %d."
 msgstr ""
 
-#: nat/linux-ptrace.c:357
+#: nat/linux-ptrace.c:346
 #, possible-c-format
 msgid "linux_check_ptrace_features: waitpid: unexpected status %d."
 msgstr ""
 
-#: nat/linux-ptrace.c:372
+#: nat/linux-ptrace.c:361
 msgid "linux_check_ptrace_features: failed to kill child"
 msgstr ""
 
-#: nat/linux-ptrace.c:432
+#: nat/linux-ptrace.c:421
 msgid "linux_test_for_tracefork: failed to resume child"
 msgstr ""
 
-#: nat/linux-ptrace.c:461
+#: nat/linux-ptrace.c:450
 msgid "linux_test_for_tracefork: failed to kill second child"
 msgstr ""
 
-#: nat/linux-ptrace.c:467
+#: nat/linux-ptrace.c:456
 #, possible-c-format
 msgid ""
 "linux_test_for_tracefork: unexpected result from waitpid (%d, status 0x%x)"
@@ -19575,77 +19973,103 @@ msgstr ""
 msgid "Unrecognized watch register style"
 msgstr ""
 
-#: nat/linux-btrace.c:356
+#: nat/linux-btrace.c:336
 msgid "Branch trace may be incomplete."
 msgstr ""
 
-#: nat/linux-btrace.c:396
+#: nat/linux-btrace.c:430
 #, possible-c-format
-msgid "test bts: cannot fork: %s."
+msgid ""
+"You do not have permission to record the process.  Try setting %s to 2 or "
+"less."
 msgstr ""
 
-#: nat/linux-btrace.c:403
+#: nat/linux-btrace.c:437
 #, possible-c-format
-msgid "test bts: cannot PTRACE_TRACEME: %s."
+msgid "Failed to start recording: %s"
 msgstr ""
 
-#: nat/linux-btrace.c:411
-#, possible-c-format
-msgid "test bts: cannot raise SIGTRAP: %s."
+#: nat/linux-btrace.c:451
+msgid "BTS support has been disabled for the target cpu."
 msgstr ""
 
-#: nat/linux-btrace.c:422 nat/linux-btrace.c:454
+#: nat/linux-btrace.c:523 nat/linux-btrace.c:665
 #, possible-c-format
-msgid "test bts: bad pid %ld, error: %s."
+msgid "Failed to map trace buffer: %s."
 msgstr ""
 
-#: nat/linux-btrace.c:429
-#, possible-c-format
-msgid "test bts: expected stop. status: %d."
+#: nat/linux-btrace.c:541
+msgid "Failed to determine trace buffer size."
 msgstr ""
 
-#: nat/linux-btrace.c:457
+#: nat/linux-btrace.c:574
 #, possible-c-format
-msgid "test bts: expected killed. status: %d."
+msgid "Failed to read the PT event type from %s."
 msgstr ""
 
-#: nat/linux-btrace.c:479
+#: nat/linux-btrace.c:615
 #, possible-c-format
-msgid "test pt: cannot fork: %s."
+msgid "Failed to map trace user page: %s."
 msgstr ""
 
-#: nat/linux-btrace.c:486
-#, possible-c-format
-msgid "test pt: cannot PTRACE_TRACEME: %s."
+#: nat/linux-btrace.c:697
+msgid "Bad branch trace format."
 msgstr ""
 
-#: nat/linux-btrace.c:494
-#, possible-c-format
-msgid "test pt: cannot raise SIGTRAP: %s."
+#: nat/linux-btrace.c:700
+msgid "Unknown branch trace format."
 msgstr ""
 
-#: nat/linux-btrace.c:505 nat/linux-btrace.c:541
-#, possible-c-format
-msgid "test pt: bad pid %ld, error: %s."
+#: nat/linux-btrace.c:895
+msgid "Unkown btrace read type."
 msgstr ""
 
-#: nat/linux-btrace.c:512
+#: nat/linux-procfs.c:290
 #, possible-c-format
-msgid "test pt: expected stop. status: %d."
+msgid "Could not open /proc/%ld/task."
 msgstr ""
 
-#: nat/linux-btrace.c:544
-#, possible-c-format
-msgid "test pt: expected killed. status: %d."
+#: nat/linux-procfs.c:375
+msgid "/proc is not accessible."
 msgstr ""
 
-#: nat/linux-btrace.c:1116
-msgid "Unkown btrace read type."
+#: nat/aarch64-sve-linux-ptrace.c:57
+msgid "Invalid SVE state from kernel; SVE disabled."
 msgstr ""
 
-#: nat/linux-procfs.c:290
+#: nat/aarch64-sve-linux-ptrace.c:74
+msgid "Unable to fetch SVE register header"
+msgstr ""
+
+#: nat/aarch64-sve-linux-ptrace.c:86
+msgid "Unable to fetch SVE registers"
+msgstr ""
+
+#: nat/aarch64-sve-linux-ptrace.c:106 nat/aarch64-sve-linux-ptrace.c:198
+msgid "Invalid SVE header from kernel."
+msgstr ""
+
+#. Vector length on the running process has changed.  GDB currently does
+#. not support this and will result in GDB showing incorrect partially
+#. incorrect data for the vector registers.  Warn once and continue.  We
+#. do not expect many programs to exhibit this behaviour.  To fix this
+#. we need to spot the change earlier and generate a new target
+#. descriptor.
+#: nat/aarch64-sve-linux-ptrace.c:125
 #, possible-c-format
-msgid "Could not open /proc/%ld/task."
+msgid ""
+"SVE Vector length has changed (%ld to %d). Vector registers may show "
+"incorrect data."
+msgstr ""
+
+#. Vector length on the running process has changed.  GDB currently does
+#. not support this and will result in GDB writing invalid data back to
+#. the vector registers.  Error and exit.  We do not expect many programs
+#. to exhibit this behaviour.  To fix this we need to spot the change
+#. earlier and generate a new target descriptor.
+#: nat/aarch64-sve-linux-ptrace.c:210
+#, possible-c-format
+msgid "SVE Vector length has changed (%ld to %d). Cannot write back registers."
 msgstr ""
 
 #: nat/x86-dregs.c:228
@@ -19698,16 +20122,16 @@ msgstr ""
 
 #. If use_fpr, but no floating-point register exists,
 #. then it is an error.
-#: nds32-tdep.c:1721
+#: nds32-tdep.c:1719
 msgid "Fail to call. FPU registers are required."
 msgstr ""
 
-#: nds32-tdep.c:1748
+#: nds32-tdep.c:1746
 #, possible-c-format
 msgid "Cannot extract return value of %d bytes long floating-point."
 msgstr ""
 
-#: nds32-tdep.c:1838
+#: nds32-tdep.c:1836
 #, possible-c-format
 msgid "Cannot store return value of %d bytes long floating-point."
 msgstr ""
@@ -19724,63 +20148,79 @@ msgstr ""
 msgid "When on, Nios II specific debugging is enabled."
 msgstr ""
 
-#: nto-procfs.c:96
+#: nto-procfs.c:134
+msgid "QNX Neutrino local process"
+msgstr ""
+
+#: nto-procfs.c:135
+msgid "QNX Neutrino local process (started by the \"run\" command)."
+msgstr ""
+
+#: nto-procfs.c:148
+msgid "QNX Neutrino local or remote process"
+msgstr ""
+
+#: nto-procfs.c:149
+msgid "QNX Neutrino process.  target procfs <node>"
+msgstr ""
+
+#: nto-procfs.c:182
 msgid "Lost the QNX node.  Debug session probably over."
 msgstr ""
 
-#: nto-procfs.c:166
+#: nto-procfs.c:251
 msgid "Invalid procfs arg"
 msgstr ""
 
-#: nto-procfs.c:175 nto-procfs.c:193
+#: nto-procfs.c:259 nto-procfs.c:278
 msgid "Devctl failed."
 msgstr ""
 
-#: nto-procfs.c:185
+#: nto-procfs.c:269
 msgid "alloca failed."
 msgstr ""
 
-#: nto-procfs.c:200
+#: nto-procfs.c:285
 msgid "Invalid target CPU."
 msgstr ""
 
-#: nto-procfs.c:644 procfs.c:1906
+#: nto-procfs.c:708 procfs.c:1890
 msgid "Attaching GDB to itself is not a good idea..."
 msgstr ""
 
-#: nto-procfs.c:688
+#: nto-procfs.c:752
 #, possible-c-format
 msgid "Couldn't open proc file %s, error %d (%s)"
 msgstr ""
 
-#: nto-procfs.c:691
+#: nto-procfs.c:755
 msgid "Couldn't stop process"
 msgstr ""
 
-#: nto-procfs.c:712
+#: nto-procfs.c:776
 msgid ""
 "Interrupted while waiting for the program.\n"
 "Give up (and stop debugging it)? "
 msgstr ""
 
-#: nto-procfs.c:1073
+#: nto-procfs.c:1130
 msgid "run error!\n"
 msgstr ""
 
-#: nto-procfs.c:1247
+#: nto-procfs.c:1304
 #, possible-c-format
 msgid "Error spawning %s: %d (%s)"
 msgstr ""
 
-#: nto-procfs.c:1542
+#: nto-procfs.c:1538
 msgid "pidlist"
 msgstr ""
 
-#: nto-procfs.c:1543
+#: nto-procfs.c:1539
 msgid "memory information"
 msgstr ""
 
-#: nto-procfs.c:1573
+#: nto-procfs.c:1569
 msgid "Failed to set hardware watchpoint"
 msgstr ""
 
@@ -19788,107 +20228,107 @@ msgstr ""
 msgid "no way to lookup Objective-C classes"
 msgstr ""
 
-#: objc-lang.c:157
+#: objc-lang.c:156
 msgid "no way to lookup Objective-C selectors"
 msgstr ""
 
-#: objc-lang.c:206
+#: objc-lang.c:205
 msgid "NSString: internal error -- no way to create new NSString"
 msgstr ""
 
-#: objc-lang.c:498
+#: objc-lang.c:497
 #, possible-c-format
 msgid "Can't find selector \"%s\""
 msgstr ""
 
-#: objc-lang.c:545
+#: objc-lang.c:544
 msgid "internal: compare_selectors(1)"
 msgstr ""
 
-#: objc-lang.c:550
+#: objc-lang.c:549
 msgid "internal: compare_selectors(2)"
 msgstr ""
 
-#: objc-lang.c:595 objc-lang.c:746
+#: objc-lang.c:594 objc-lang.c:744
 #, possible-c-format
 msgid "Regexp is too long: %s"
 msgstr ""
 
-#: objc-lang.c:608 objc-lang.c:759 thread.c:1871
+#: objc-lang.c:607 objc-lang.c:757 thread.c:1817
 #, possible-c-format
 msgid "Invalid regexp (%s): %s"
 msgstr ""
 
-#: objc-lang.c:628
+#: objc-lang.c:626
 #, possible-c-format
 msgid "Bad method name '%s'"
 msgstr ""
 
-#: objc-lang.c:645
+#: objc-lang.c:643
 #, possible-c-format
 msgid ""
 "Selectors matching \"%s\":\n"
 "\n"
 msgstr ""
 
-#: objc-lang.c:692
+#: objc-lang.c:690
 #, possible-c-format
 msgid "No selectors matching \"%s\"\n"
 msgstr ""
 
-#: objc-lang.c:711
+#: objc-lang.c:709
 msgid "internal: compare_classes(1)"
 msgstr ""
 
-#: objc-lang.c:783
+#: objc-lang.c:781
 #, possible-c-format
 msgid ""
 "Classes matching \"%s\":\n"
 "\n"
 msgstr ""
 
-#: objc-lang.c:822
+#: objc-lang.c:820
 #, possible-c-format
 msgid "No classes matching \"%s\"\n"
 msgstr ""
 
-#: objc-lang.c:1213
+#: objc-lang.c:1190
 msgid "Unable to locate _NSPrintForDebugger in child process"
 msgstr ""
 
-#: objc-lang.c:1219
+#: objc-lang.c:1196
 msgid "object returns null description"
 msgstr ""
 
-#: objc-lang.c:1230
+#: objc-lang.c:1207
 msgid "<object returns empty description>"
 msgstr ""
 
-#: objc-lang.c:1363
+#: objc-lang.c:1340
 msgid "All Objective-C selectors, or those matching REGEXP."
 msgstr ""
 
-#: objc-lang.c:1365
+#: objc-lang.c:1342
 msgid "All Objective-C classes, or those matching REGEXP."
 msgstr ""
 
-#: objc-lang.c:1367
+#: objc-lang.c:1344
 msgid "Ask an Objective-C object to print itself."
 msgstr ""
 
-#: objfiles.c:475
+#: objfiles.c:470
 msgid "Entry point address is not known."
 msgstr ""
 
-#: objfiles.c:541
+#: objfiles.c:536
 msgid "put_objfile_before: before objfile not in list"
 msgstr ""
 
-#: objfiles.c:573
+#: objfiles.c:568
 msgid "unlink_objfile: objfile already unlinked"
 msgstr ""
 
-#: objfiles.c:1298
+#: objfiles.c:1287
 #, possible-c-format
 msgid ""
 "unexpected overlap between:\n"
@@ -19897,38 +20337,32 @@ msgid ""
 "Will ignore section B"
 msgstr ""
 
-#: objfiles.h:677
+#: objfiles.h:672
 msgid "sect_index_data not initialized"
 msgstr ""
 
-#: objfiles.h:683
+#: objfiles.h:678
 msgid "sect_index_rodata not initialized"
 msgstr ""
 
-#: objfiles.h:689
+#: objfiles.h:684
 msgid "sect_index_text not initialized"
 msgstr ""
 
-#: observer.c:62
+#: observable.c:85
 #, possible-c-format
 msgid "Observer debugging is %s.\n"
 msgstr ""
 
-#. We should never reach this point.  However, this should not be
-#. a very serious error, so simply report a warning to the user.
-#: observer.c:154
-msgid "Failed to detach observer"
-msgstr ""
-
-#: observer.c:206
+#: observable.c:92
 msgid "Set observer debugging."
 msgstr ""
 
-#: observer.c:207
+#: observable.c:93
 msgid "Show observer debugging."
 msgstr ""
 
-#: observer.c:208
+#: observable.c:94
 msgid "When non-zero, observer debugging is enabled."
 msgstr ""
 
@@ -19938,8 +20372,8 @@ msgid "Invalid OpenCL vector size: %d"
 msgstr ""
 
 #: opencl-lang.c:181 opencl-lang.c:210 opencl-lang.c:389 opencl-lang.c:506
-#: opencl-lang.c:599 opencl-lang.c:910 valarith.c:1303 valarith.c:1349
-#: valarith.c:1657 valarith.c:1693 valops.c:875
+#: opencl-lang.c:599 opencl-lang.c:910 valarith.c:1301 valarith.c:1347
+#: valarith.c:1655 valarith.c:1691 valops.c:876
 msgid "Could not determine the vector bounds"
 msgstr ""
 
@@ -19961,11 +20395,11 @@ msgstr ""
 msgid "Vector operations are not supported on scalar types"
 msgstr ""
 
-#: opencl-lang.c:606 opencl-lang.c:917 valarith.c:1359
+#: opencl-lang.c:606 opencl-lang.c:917 valarith.c:1357
 msgid "Cannot perform operation on vectors with different types"
 msgstr ""
 
-#: opencl-lang.c:713 valarith.c:1402
+#: opencl-lang.c:713 valarith.c:1400
 msgid "Argument to operation not a number or boolean."
 msgstr ""
 
@@ -20015,72 +20449,72 @@ msgstr ""
 msgid "When on, OpenRISC specific debugging is enabled."
 msgstr ""
 
-#: osabi.c:157
+#: osabi.c:158
 #, possible-c-format
 msgid ""
 "gdbarch_register_osabi: An attempt to register a handler for OS ABI \"%s\" "
 "for architecture %s was made.  The handler will not be registered"
 msgstr ""
 
-#: osabi.c:175
+#: osabi.c:176
 #, possible-c-format
 msgid ""
 "gdbarch_register_osabi: A handler for OS ABI \"%s\" has already been "
 "registered for architecture %s"
 msgstr ""
 
-#: osabi.c:267
+#: osabi.c:268
 #, possible-c-format
 msgid ""
 "gdbarch_lookup_osabi: invalid OS ABI (%d) from sniffer for architecture %s "
 "flavour %d"
 msgstr ""
 
-#: osabi.c:286
+#: osabi.c:287
 #, possible-c-format
 msgid ""
 "gdbarch_lookup_osabi: multiple %sspecific OS ABI match for architecture %s "
 "flavour %d: first match \"%s\", second match \"%s\""
 msgstr ""
 
-#: osabi.c:489
+#: osabi.c:492
 #, possible-c-format
 msgid "GNU ABI tag value %u unrecognized."
 msgstr ""
 
-#: osabi.c:628
+#: osabi.c:626
 #, possible-c-format
 msgid "Invalid OS ABI \"%s\" passed to command handler."
 msgstr ""
 
-#: osabi.c:636
+#: osabi.c:634
 msgid "Updating OS ABI failed."
 msgstr ""
 
-#: osabi.c:645
+#: osabi.c:643
 #, possible-c-format
 msgid "The current OS ABI is \"auto\" (currently \"%s\").\n"
 msgstr ""
 
-#: osabi.c:649
+#: osabi.c:647
 #, possible-c-format
 msgid "The current OS ABI is \"%s\".\n"
 msgstr ""
 
-#: osabi.c:653
+#: osabi.c:651
 #, possible-c-format
 msgid "The default OS ABI is \"%s\".\n"
 msgstr ""
 
-#: osabi.c:663
+#: osabi.c:661
 msgid "_initialize_gdb_osabi: gdb_osabi_names[] is inconsistent"
 msgstr ""
 
-#: osabi.c:673
+#: osabi.c:671
 msgid "Set OS ABI of target."
 msgstr ""
 
-#: osabi.c:674
+#: osabi.c:672
 msgid "Show OS ABI of target."
 msgstr ""
 
@@ -20088,31 +20522,31 @@ msgstr ""
 msgid "Can not parse XML OS data; XML support was disabled at compile time"
 msgstr ""
 
-#: osdata.c:64
+#: osdata.c:65
 msgid "Seen more than on osdata element"
 msgstr ""
 
-#: osdata.c:148
+#: osdata.c:151
 msgid "osdata"
 msgstr ""
 
-#: osdata.c:170
+#: osdata.c:173
 msgid "Empty data returned by target.  Wrong osdata type?"
 msgstr ""
 
-#: osdata.c:172
+#: osdata.c:175
 msgid "Empty type list returned by target.  No type data?"
 msgstr ""
 
-#: osdata.c:179
+#: osdata.c:182
 msgid "Can not fetch data now."
 msgstr ""
 
-#: osdata.c:210
+#: osdata.c:213
 msgid "Available types of OS data not reported."
 msgstr ""
 
-#: osdata.c:294
+#: osdata.c:297
 msgid "Show OS data ARG."
 msgstr ""
 
@@ -20126,132 +20560,108 @@ msgstr ""
 msgid "Parser debugging is %s.\n"
 msgstr ""
 
-#: parse.c:846
+#: parse.c:851
 msgid "?error in operator_length_standard"
 msgstr ""
 
-#: parse.c:1132
+#: parse.c:1138
 msgid "expression to compute"
 msgstr ""
 
-#: parse.c:1241
+#: parse.c:1246
 msgid "Junk after end of expression."
 msgstr ""
 
-#: parse.c:1882
+#: parse.c:1888
 msgid "Set expression debugging."
 msgstr ""
 
-#: parse.c:1883
+#: parse.c:1889
 msgid "Show expression debugging."
 msgstr ""
 
-#: parse.c:1884
+#: parse.c:1890
 msgid ""
 "When non-zero, the internal representation of expressions will be printed."
 msgstr ""
 
-#: parse.c:1891
+#: parse.c:1897
 msgid "Set parser debugging."
 msgstr ""
 
-#: parse.c:1892
+#: parse.c:1898
 msgid "Show parser debugging."
 msgstr ""
 
-#: parse.c:1893
+#: parse.c:1899
 msgid "When non-zero, expression parser tracing will be enabled."
 msgstr ""
 
-#: ppc-linux-nat.c:374 ppc-linux-nat.c:839
-msgid "Unable to fetch VSX register"
+#: ppc-linux-nat.c:426 ppc-linux-nat.c:797 ppc-linux-nat.c:2247
+msgid "Unable to fetch VSX registers"
 msgstr ""
 
-#: ppc-linux-nat.c:403 ppc-linux-nat.c:869
-msgid "Unable to fetch AltiVec register"
+#: ppc-linux-nat.c:453 ppc-linux-nat.c:825 ppc-linux-nat.c:2261
+msgid "Unable to fetch AltiVec registers"
 msgstr ""
 
 #. Anything else needs to be reported.
-#: ppc-linux-nat.c:441 ppc-linux-nat.c:2405
+#: ppc-linux-nat.c:483 ppc-linux-nat.c:2227
 msgid "Unable to fetch SPE registers"
 msgstr ""
 
-#: ppc-linux-nat.c:578
+#: ppc-linux-nat.c:618
 #, possible-c-format
 msgid "fetch_register: unexpected byte order: %d"
 msgstr ""
 
-#: ppc-linux-nat.c:636 ppc-linux-nat.c:2419
-msgid "Unable to fetch VSX registers"
-msgstr ""
-
-#: ppc-linux-nat.c:655 ppc-linux-nat.c:2433
-msgid "Unable to fetch AltiVec registers"
-msgstr ""
-
-#: ppc-linux-nat.c:682 ppc-linux-nat.c:1153
+#: ppc-linux-nat.c:644 ppc-linux-nat.c:1018
 msgid "Couldn't get general-purpose registers."
 msgstr ""
 
-#: ppc-linux-nat.c:734 ppc-linux-nat.c:1215
+#: ppc-linux-nat.c:696 ppc-linux-nat.c:1080
 msgid "Couldn't get floating-point registers."
 msgstr ""
 
-#: ppc-linux-nat.c:847
-msgid "Unable to store VSX register"
+#: ppc-linux-nat.c:805
+msgid "Unable to store VSX registers"
 msgstr ""
 
-#: ppc-linux-nat.c:883
-msgid "Unable to store AltiVec register"
+#: ppc-linux-nat.c:833
+msgid "Unable to store AltiVec registers"
 msgstr ""
 
 #. Anything else needs to be reported.
-#: ppc-linux-nat.c:910
+#: ppc-linux-nat.c:860
 msgid "Unable to set SPE registers"
 msgstr ""
 
-#: ppc-linux-nat.c:1099
-msgid "Couldn't get VSX registers"
-msgstr ""
-
-#: ppc-linux-nat.c:1105
-msgid "Couldn't write VSX registers"
-msgstr ""
-
-#: ppc-linux-nat.c:1122
-msgid "Couldn't get AltiVec registers"
-msgstr ""
-
-#: ppc-linux-nat.c:1128
-msgid "Couldn't write AltiVec registers"
-msgstr ""
-
-#: ppc-linux-nat.c:1165
+#: ppc-linux-nat.c:1030
 msgid "Couldn't set general-purpose registers."
 msgstr ""
 
-#: ppc-linux-nat.c:1227
+#: ppc-linux-nat.c:1092
 msgid "Couldn't set floating-point registers."
 msgstr ""
 
-#: ppc-linux-nat.c:1552
+#: ppc-linux-nat.c:1415
 msgid "Unexpected error setting breakpoint or watchpoint"
 msgstr ""
 
-#: ppc-linux-nat.c:1597
+#: ppc-linux-nat.c:1460
 msgid "Unexpected error deleting breakpoint or watchpoint"
 msgstr ""
 
-#: ppc-linux-nat.c:2272
+#: ppc-linux-nat.c:2117
 msgid "The given mask covers kernel address space and cannot be used.\n"
 msgstr ""
 
-#: ppc-linux-tdep.c:1538
+#: ppc-linux-tdep.c:1624
 msgid "unexpected wordsize"
 msgstr ""
 
 #. Can't happen.
-#: ppc-sysv-tdep.c:670
+#: ppc-sysv-tdep.c:651
 msgid "Unknown decimal float size."
 msgstr ""
 
@@ -20265,12 +20675,12 @@ msgstr ""
 msgid "Printing of source filename and line number with <symbol> is %s.\n"
 msgstr ""
 
-#: printcmd.c:397
+#: printcmd.c:395
 #, possible-c-format
 msgid "Undefined output size \"%c\"."
 msgstr ""
 
-#: printcmd.c:491
+#: printcmd.c:489
 #, possible-c-format
 msgid "Undefined output format \"%c\"."
 msgstr ""
@@ -20278,243 +20688,243 @@ msgstr ""
 #. We reach here when line info is not available.  In this case,
 #. we print a message and just exit the loop.  The return value
 #. is calculated after the loop.
-#: printcmd.c:791
+#: printcmd.c:776
 msgid "No line number information available for address "
 msgstr ""
 
 #. The read was unsuccessful, so exit the loop.
-#: printcmd.c:877
+#: printcmd.c:862
 #, possible-c-format
 msgid "Cannot access memory at address %s\n"
 msgstr ""
 
-#: printcmd.c:1028
+#: printcmd.c:1013
 #, possible-c-format
 msgid "Unable to display strings with size '%c', using 'b' instead."
 msgstr ""
 
-#: printcmd.c:1131
+#: printcmd.c:1111
 #, possible-c-format
 msgid "Size letters are meaningless in \"%s\" command."
 msgstr ""
 
-#: printcmd.c:1133
+#: printcmd.c:1113
 #, possible-c-format
 msgid "Item count other than 1 is meaningless in \"%s\" command."
 msgstr ""
 
-#: printcmd.c:1136
+#: printcmd.c:1116
 #, possible-c-format
 msgid "Format letter \"%c\" is meaningless in \"%s\" command."
 msgstr ""
 
-#: printcmd.c:1292
+#: printcmd.c:1264
 msgid "Expression is not an assignment (and might have no effect)"
 msgstr ""
 
-#: printcmd.c:1309
+#: printcmd.c:1281
 msgid "address"
 msgstr ""
 
-#: printcmd.c:1332
+#: printcmd.c:1304
 msgid "mapped"
 msgstr ""
 
-#: printcmd.c:1332
+#: printcmd.c:1304
 msgid "unmapped"
 msgstr ""
 
-#: printcmd.c:1353
+#: printcmd.c:1325
 #, possible-c-format
 msgid "%s in load address range of %s overlay section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1357
+#: printcmd.c:1329
 #, possible-c-format
 msgid "%s in load address range of section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1362
+#: printcmd.c:1334
 #, possible-c-format
 msgid "%s in %s overlay section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1365
+#: printcmd.c:1337
 #, possible-c-format
 msgid "%s in section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1370
+#: printcmd.c:1342
 #, possible-c-format
 msgid "%s in load address range of %s overlay section %s\n"
 msgstr ""
 
-#: printcmd.c:1374
+#: printcmd.c:1346
 #, possible-c-format
 msgid "%s in load address range of section %s\n"
 msgstr ""
 
-#: printcmd.c:1378
+#: printcmd.c:1350
 #, possible-c-format
 msgid "%s in %s overlay section %s\n"
 msgstr ""
 
-#: printcmd.c:1381
+#: printcmd.c:1353
 #, possible-c-format
 msgid "%s in section %s\n"
 msgstr ""
 
-#: printcmd.c:1386
+#: printcmd.c:1358
 #, possible-c-format
 msgid "No symbol matches %s.\n"
 msgstr ""
 
-#: printcmd.c:1402
+#: printcmd.c:1374
 msgid "Argument required."
 msgstr ""
 
-#: printcmd.c:1505
+#: printcmd.c:1477
 #, possible-c-format
 msgid "an argument in register %s"
 msgstr ""
 
-#: printcmd.c:1508
+#: printcmd.c:1480
 #, possible-c-format
 msgid "a variable in register %s"
 msgstr ""
 
-#: printcmd.c:1513 printcmd.c:1586
+#: printcmd.c:1485 printcmd.c:1558
 msgid "static storage at address "
 msgstr ""
 
-#: printcmd.c:1519 printcmd.c:1556 printcmd.c:1591
+#: printcmd.c:1491 printcmd.c:1528 printcmd.c:1563
 msgid ""
 ",\n"
 " -- loaded at "
 msgstr ""
 
-#: printcmd.c:1521 printcmd.c:1558 printcmd.c:1593
+#: printcmd.c:1493 printcmd.c:1530 printcmd.c:1565
 #, possible-c-format
 msgid " in overlay section %s"
 msgstr ""
 
-#: printcmd.c:1529
+#: printcmd.c:1501
 #, possible-c-format
 msgid "address of an argument in register %s"
 msgstr ""
 
-#: printcmd.c:1534
+#: printcmd.c:1506
 #, possible-c-format
 msgid "an argument at offset %ld"
 msgstr ""
 
-#: printcmd.c:1538
+#: printcmd.c:1510
 #, possible-c-format
 msgid "a local variable at frame offset %ld"
 msgstr ""
 
-#: printcmd.c:1542
+#: printcmd.c:1514
 #, possible-c-format
 msgid "a reference argument at offset %ld"
 msgstr ""
 
-#: printcmd.c:1546
+#: printcmd.c:1518
 msgid "a typedef"
 msgstr ""
 
-#: printcmd.c:1550
+#: printcmd.c:1522
 msgid "a function at address "
 msgstr ""
 
-#: printcmd.c:1578
+#: printcmd.c:1550
 #, possible-c-format
 msgid ""
 "a thread-local variable at offset %s in the thread-local storage for `%s'"
 msgstr ""
 
-#: printcmd.c:1602
+#: printcmd.c:1574
 msgid "optimized out"
 msgstr ""
 
-#: printcmd.c:1606
+#: printcmd.c:1578
 msgid "of unknown (botched) type"
 msgstr ""
 
-#: printcmd.c:1658
+#: printcmd.c:1637
 msgid "starting display address"
 msgstr ""
 
-#: printcmd.c:1813
+#: printcmd.c:1792
 msgid "one or more display numbers"
 msgstr ""
 
-#: printcmd.c:1823
+#: printcmd.c:1802
 #, possible-c-format
 msgid "bad display number at or near '%s'"
 msgstr ""
 
-#: printcmd.c:1832 printcmd.c:2038
+#: printcmd.c:1811 printcmd.c:2017
 #, possible-c-format
 msgid "No display number %d.\n"
 msgstr ""
 
-#: printcmd.c:1854
+#: printcmd.c:1833
 msgid "Delete all auto-display expressions? "
 msgstr ""
 
-#: printcmd.c:1902
+#: printcmd.c:1881
 #, possible-c-format
 msgid "Unable to display \"%s\": %s"
 msgstr ""
 
-#: printcmd.c:1966
+#: printcmd.c:1945
 #, possible-c-format
 msgid "<error: %s>\n"
 msgstr ""
 
-#: printcmd.c:2048
+#: printcmd.c:2027
 #, possible-c-format
 msgid "Disabling display %d to avoid infinite recursion.\n"
 msgstr ""
 
-#: printcmd.c:2061
+#: printcmd.c:2040
 msgid "There are no auto-display expressions now.\n"
 msgstr ""
 
-#: printcmd.c:2063
+#: printcmd.c:2042
 msgid ""
 "Auto-display expressions now in effect:\n"
 "Num Enb Expression\n"
 msgstr ""
 
-#: printcmd.c:2076
+#: printcmd.c:2055
 msgid " (cannot be evaluated in the current context)"
 msgstr ""
 
-#: printcmd.c:2434
+#: printcmd.c:2424
 msgid "format-control string and values to print"
 msgstr ""
 
-#: printcmd.c:2509
+#: printcmd.c:2499
 #, possible-c-format
 msgid "expected wchar_t argument for %%lc"
 msgstr ""
 
-#: printcmd.c:2535
+#: printcmd.c:2525
 msgid "long long not supported in printf"
 msgstr ""
 
-#: printcmd.c:2618
+#: printcmd.c:2608
 msgid "Describe where symbol SYM is stored."
 msgstr ""
 
-#: printcmd.c:2620
+#: printcmd.c:2610
 msgid ""
 "Describe what symbol is at location ADDR.\n"
 "Only for symbols with fixed locations (global or static scope)."
 msgstr ""
 
-#: printcmd.c:2624
+#: printcmd.c:2614
 msgid ""
 "Examine memory: x/FMT ADDRESS.\n"
 "ADDRESS is an expression for the memory address to examine.\n"
@@ -20532,15 +20942,15 @@ msgid ""
 "with this command or \"print\"."
 msgstr ""
 
-#: printcmd.c:2641
+#: printcmd.c:2631
 msgid "Print line number and file of definition of variable."
 msgstr ""
 
-#: printcmd.c:2644
+#: printcmd.c:2634
 msgid "Expressions to display when program stops, with code numbers."
 msgstr ""
 
-#: printcmd.c:2647
+#: printcmd.c:2637
 msgid ""
 "Cancel some expressions to be displayed when program stops.\n"
 "Arguments are the code numbers of the expressions to stop displaying.\n"
@@ -20549,7 +20959,7 @@ msgid ""
 "Do \"info display\" to see current list of code numbers."
 msgstr ""
 
-#: printcmd.c:2655
+#: printcmd.c:2645
 msgid ""
 "Print value of expression EXP each time the program stops.\n"
 "/FMT may be used before EXP as in the \"print\" command.\n"
@@ -20561,7 +20971,7 @@ msgid ""
 "Use \"undisplay\" to cancel display requests previously made."
 msgstr ""
 
-#: printcmd.c:2664
+#: printcmd.c:2654
 msgid ""
 "Enable some expressions to be displayed when program stops.\n"
 "Arguments are the code numbers of the expressions to resume displaying.\n"
@@ -20569,7 +20979,7 @@ msgid ""
 "Do \"info display\" to see current list of code numbers."
 msgstr ""
 
-#: printcmd.c:2670
+#: printcmd.c:2660
 msgid ""
 "Disable some expressions to be displayed when program stops.\n"
 "Arguments are the code numbers of the expressions to stop displaying.\n"
@@ -20577,7 +20987,7 @@ msgid ""
 "Do \"info display\" to see current list of code numbers."
 msgstr ""
 
-#: printcmd.c:2676
+#: printcmd.c:2666
 msgid ""
 "Cancel some expressions to be displayed when program stops.\n"
 "Arguments are the code numbers of the expressions to stop displaying.\n"
@@ -20585,19 +20995,21 @@ msgid ""
 "Do \"info display\" to see current list of code numbers."
 msgstr ""
 
-#: printcmd.c:2682
+#: printcmd.c:2672
+#, possible-c-format
 msgid ""
-"printf \"printf format string\", arg1, arg2, arg3, ..., argn\n"
-"This is useful for formatted output in user-defined commands."
+"Formatted printing, like the C \"printf\" function.\n"
+"Usage: printf \"format string\", arg1, arg2, arg3, ..., argn\n"
+"This supports most C printf format specifications, like %s, %d, etc."
 msgstr ""
 
-#: printcmd.c:2686
+#: printcmd.c:2677
 msgid ""
 "Like \"print\" but don't put in value history and don't print newline.\n"
 "This is useful in user-defined commands."
 msgstr ""
 
-#: printcmd.c:2690 printcmd.c:2702
+#: printcmd.c:2681 printcmd.c:2693
 msgid ""
 "Evaluate expression EXP and assign result to variable VAR, using assignment\n"
 "syntax appropriate for the current language (VAR = EXP or VAR := EXP for\n"
@@ -20611,7 +21023,7 @@ msgid ""
 msgstr ""
 
 #. "call" is the same as "set", but handy for dbx users to call fns.
-#: printcmd.c:2713
+#: printcmd.c:2704
 msgid ""
 "Call a function in the program.\n"
 "The argument is the function name and arguments, in the notation of the\n"
@@ -20619,7 +21031,7 @@ msgid ""
 "history, if it is not void."
 msgstr ""
 
-#: printcmd.c:2720
+#: printcmd.c:2711
 msgid ""
 "Evaluate expression EXP and assign result to variable VAR, using assignment\n"
 "syntax appropriate for the current language (VAR = EXP or VAR := EXP for\n"
@@ -20629,7 +21041,7 @@ msgid ""
 "This may usually be abbreviated to simply \"set\"."
 msgstr ""
 
-#: printcmd.c:2729
+#: printcmd.c:2721
 msgid ""
 "Print value of expression EXP.\n"
 "Variables accessible are those of the lexical environment of the selected\n"
@@ -20655,15 +21067,15 @@ msgid ""
 "but no count or size letter (see \"x\" command)."
 msgstr ""
 
-#: printcmd.c:2756
+#: printcmd.c:2748
 msgid "Set the largest offset that will be printed in <symbol+1234> form."
 msgstr ""
 
-#: printcmd.c:2757
+#: printcmd.c:2749
 msgid "Show the largest offset that will be printed in <symbol+1234> form."
 msgstr ""
 
-#: printcmd.c:2758
+#: printcmd.c:2750
 msgid ""
 "Tell GDB to only display the symbolic form of an address if the\n"
 "offset between the closest earlier symbol and the address is less than\n"
@@ -20673,15 +21085,15 @@ msgid ""
 "it.  Zero is equivalent to \"unlimited\"."
 msgstr ""
 
-#: printcmd.c:2768
+#: printcmd.c:2760
 msgid "Set printing of source filename and line number with <symbol>."
 msgstr ""
 
-#: printcmd.c:2769
+#: printcmd.c:2761
 msgid "Show printing of source filename and line number with <symbol>."
 msgstr ""
 
-#: printcmd.c:2775
+#: printcmd.c:2767
 msgid ""
 "Convert \"printf format string\", arg1, arg2, arg3, ..., argn to\n"
 "a command line, and call it."
@@ -20849,155 +21261,155 @@ msgstr ""
 msgid "Show filename for /proc tracefile."
 msgstr ""
 
-#: procfs.c:331
+#: procfs.c:329
 #, possible-c-format
 msgid "procfs: couldn't find pid %d (kernel thread %d) in procinfo list."
 msgstr ""
 
-#: procfs.c:335
+#: procfs.c:333
 #, possible-c-format
 msgid "procfs: couldn't find pid %d in procinfo list."
 msgstr ""
 
-#: procfs.c:812
+#: procfs.c:810
 #, possible-c-format
 msgid "procfs: modify_flag failed to turn %s %s"
 msgstr ""
 
-#: procfs.c:1005
+#: procfs.c:1003
 msgid "procfs: set_traced_signals failed"
 msgstr ""
 
-#: procfs.c:1648
+#: procfs.c:1640
 #, possible-c-format
 msgid "procfs_find_LDT_entry: could not find procinfo for %d:%ld."
 msgstr ""
 
-#: procfs.c:1655
+#: procfs.c:1647
 #, possible-c-format
 msgid "procfs_find_LDT_entry: could not read gregs for %d:%ld."
 msgstr ""
 
-#: procfs.c:1913
+#: procfs.c:1897
 #, possible-c-format
 msgid "Attaching to program `%s', %s\n"
 msgstr ""
 
-#: procfs.c:1943 target.c:3190
+#: procfs.c:1923 target.c:3244
 #, possible-c-format
 msgid "Detaching from program: %s, %s\n"
 msgstr ""
 
-#: procfs.c:1964
+#: procfs.c:1944
 msgid "procfs: out of memory in 'attach'"
 msgstr ""
 
-#: procfs.c:2054
+#: procfs.c:2031
 msgid "Was stopped when attached, make it runnable again? "
 msgstr ""
 
-#: procfs.c:2098
+#: procfs.c:2074
 #, possible-c-format
 msgid "procfs: fetch_registers failed to find procinfo for %s"
 msgstr ""
 
-#: procfs.c:2148
+#: procfs.c:2123
 #, possible-c-format
 msgid "procfs: store_registers: failed to find procinfo for %s"
 msgstr ""
 
-#: procfs.c:2267
+#: procfs.c:2242
 #, possible-c-format
 msgid "procfs: couldn't stop process %d: wait returned %d."
 msgstr ""
 
-#: procfs.c:2373
+#: procfs.c:2348
 msgid "procfs: trapped on entry to "
 msgstr ""
 
-#: procfs.c:2382 procfs.c:2466
+#: procfs.c:2357 procfs.c:2441
 #, possible-c-format
 msgid "%ld syscall arguments:\n"
 msgstr ""
 
-#: procfs.c:2457
+#: procfs.c:2432
 msgid "procfs: trapped on exit from "
 msgstr ""
 
-#: procfs.c:2484
+#: procfs.c:2459
 #, possible-c-format
 msgid "Retry #%d:\n"
 msgstr ""
 
-#: procfs.c:2537 procfs.c:2545
+#: procfs.c:2512 procfs.c:2520
 msgid "child stopped for unknown reason:\n"
 msgstr ""
 
-#: procfs.c:2539 procfs.c:2547
+#: procfs.c:2514 procfs.c:2522
 msgid "... giving up..."
 msgstr ""
 
-#: procfs.c:2572
+#: procfs.c:2547
 msgid "procfs: ...giving up..."
 msgstr ""
 
-#: procfs.c:2804
+#: procfs.c:2778
 msgid ""
 "resume: target already running.  Pretend to resume, and hope for the best!"
 msgstr ""
 
-#: procfs.c:2841
+#: procfs.c:2814
 #, possible-c-format
 msgid "\tUsing the running image of %s %s via /proc.\n"
 msgstr ""
 
-#: procfs.c:2942
+#: procfs.c:2905
 msgid "procfs: out of memory in 'init_inferior'"
 msgstr ""
 
-#: procfs.c:3024
+#: procfs.c:2987
 msgid "procfs: create_procinfo failed in child."
 msgstr ""
 
 #. Not found.  This must be an error rather than merely passing
 #. the file to execlp(), because execlp() would try all the
 #. exec()s, causing GDB to get confused.
-#: procfs.c:3153
+#: procfs.c:3117
 #, possible-c-format
 msgid "procfs:%d -- Can't find shell %s in PATH"
 msgstr ""
 
-#: procfs.c:3671
+#: procfs.c:3610
 #, possible-c-format
 msgid "process %d flags:\n"
 msgstr ""
 
-#: procfs.c:3681
+#: procfs.c:3620
 #, possible-c-format
 msgid "thread %d flags:\n"
 msgstr ""
 
-#: procfs.c:3741
+#: procfs.c:3682
 msgid "you must be debugging a process to use this command."
 msgstr ""
 
-#: procfs.c:3744
+#: procfs.c:3685
 msgid "system call to trace"
 msgstr ""
 
-#: procfs.c:3785
+#: procfs.c:3726
 msgid "Give a trace of entries into the syscall."
 msgstr ""
 
-#: procfs.c:3787
+#: procfs.c:3728
 msgid "Give a trace of exits from the syscall."
 msgstr ""
 
-#: procfs.c:3789
+#: procfs.c:3730
 msgid "Cancel a trace of entries into the syscall."
 msgstr ""
 
-#: procfs.c:3791
+#: procfs.c:3732
 msgid "Cancel a trace of exits from the syscall."
 msgstr ""
 
@@ -21006,21 +21418,21 @@ msgstr ""
 msgid "Could not recognize version of Intel Compiler in: \"%s\""
 msgstr ""
 
-#: progspace.c:344
+#: progspace.c:335
 #, possible-c-format
 msgid "program space ID %d not known."
 msgstr ""
 
-#: progspace.c:426
+#: progspace.c:415
 msgid "Info about currently known program spaces."
 msgstr ""
 
-#: psymtab.c:85 symfile.c:1167
+#: psymtab.c:85 symfile.c:1114
 #, possible-c-format
 msgid "Reading symbols from %s..."
 msgstr ""
 
-#: psymtab.c:101 symfile.c:1195
+#: psymtab.c:101 symfile.c:1142
 msgid "(no debugging symbols found)..."
 msgstr ""
 
@@ -21041,43 +21453,43 @@ msgstr ""
 msgid "  Number of psym tables (not yet expanded): %d\n"
 msgstr ""
 
-#: psymtab.c:1969 symmisc.c:416
+#: psymtab.c:1967 symmisc.c:417
 msgid "Missing pc value"
 msgstr ""
 
-#: psymtab.c:1975 symmisc.c:422
+#: psymtab.c:1973 symmisc.c:423
 msgid "Missing source file"
 msgstr ""
 
-#: psymtab.c:1981 symmisc.c:428 symmisc.c:706
+#: psymtab.c:1979 symmisc.c:429 symmisc.c:707
 msgid "Missing objfile name"
 msgstr ""
 
 #. Future proofing: Don't allow OUTFILE to begin with "-".
-#: psymtab.c:1993 symmisc.c:440 symmisc.c:718
+#: psymtab.c:1991 symmisc.c:441 symmisc.c:719
 #, possible-c-format
 msgid "Unknown option: %s"
 msgstr ""
 
-#: psymtab.c:2001 symmisc.c:448
+#: psymtab.c:1999 symmisc.c:449
 msgid "Must specify at most one of -pc and -source"
 msgstr ""
 
-#: psymtab.c:2008 symmisc.c:455 symmisc.c:730
+#: psymtab.c:2006 symmisc.c:456 symmisc.c:731
 msgid "Junk at end of command"
 msgstr ""
 
-#: psymtab.c:2099
+#: psymtab.c:2097
 #, possible-c-format
 msgid "No partial symtab for address: %s"
 msgstr ""
 
-#: psymtab.c:2101
+#: psymtab.c:2099
 #, possible-c-format
 msgid "No partial symtab for source file: %s"
 msgstr ""
 
-#: psymtab.c:2309
+#: psymtab.c:2307
 msgid ""
 "Print dump of current partial symbol definitions.\n"
 "Usage: mt print psymbols [-objfile objfile] [-pc address] [--] [outfile]\n"
@@ -21089,14 +21501,14 @@ msgid ""
 "If OBJFILE is provided, dump only that file's minimal symbols."
 msgstr ""
 
-#: psymtab.c:2320
+#: psymtab.c:2318
 msgid ""
 "List the partial symbol tables for all object files.\n"
 "This does not include information about individual partial symbols,\n"
 "just the symbol table structures themselves."
 msgstr ""
 
-#: psymtab.c:2327
+#: psymtab.c:2325
 msgid "Check consistency of currently expanded psymtabs versus symtabs."
 msgstr ""
 
@@ -21155,33 +21567,33 @@ msgstr ""
 msgid "Error occurred in Python command."
 msgstr ""
 
-#: python/py-cmd.c:243 python/py-cmd.c:257
+#: python/py-cmd.c:243 python/py-cmd.c:256
 msgid "Could not convert argument to Python string."
 msgstr ""
 
-#: python/py-cmd.c:421
+#: python/py-cmd.c:420
 msgid "No command name found."
 msgstr ""
 
-#: python/py-cmd.c:453
+#: python/py-cmd.c:452
 #, possible-c-format
 msgid "Could not find command prefix %s."
 msgstr ""
 
-#: python/py-cmd.c:467
+#: python/py-cmd.c:466
 #, possible-c-format
 msgid "'%s' is not a prefix command."
 msgstr ""
 
-#: python/py-cmd.c:514
+#: python/py-cmd.c:513
 msgid "Command object already initialized."
 msgstr ""
 
-#: python/py-cmd.c:530 python/py-param.c:652
+#: python/py-cmd.c:529 python/py-param.c:683
 msgid "Invalid command class argument."
 msgstr ""
 
-#: python/py-cmd.c:537
+#: python/py-cmd.c:536
 msgid "Invalid completion type argument."
 msgstr ""
 
@@ -21207,27 +21619,27 @@ msgstr ""
 msgid "Breakpoint %d is invalid."
 msgstr ""
 
-#: python/py-xmethods.c:387
+#: python/py-xmethods.c:369
 msgid ""
 "Arg type returned by the get_arg_types method of a debug method worker "
 "object is not a gdb.Type object."
 msgstr ""
 
-#: python/py-xmethods.c:406
+#: python/py-xmethods.c:388
 msgid ""
 "Arg type returned by the get_arg_types method of an xmethod worker object is "
 "not a gdb.Type object."
 msgstr ""
 
-#: python/py-xmethods.c:522
+#: python/py-xmethods.c:498
 msgid ""
 "Type returned by the get_result_type method of an xmethod worker object is "
 "not a gdb.Type object."
 msgstr ""
 
-#: python/py-xmethods.c:573 python/py-xmethods.c:580 python/py-xmethods.c:594
-#: python/py-xmethods.c:605 python/py-xmethods.c:614 python/python.c:323
-#: python/python.c:401 python/python.c:417 python/py-function.c:141
+#: python/py-xmethods.c:545 python/py-xmethods.c:552 python/py-xmethods.c:566
+#: python/py-xmethods.c:577 python/py-xmethods.c:586 python/python.c:318
+#: python/python.c:396 python/python.c:412 python/py-function.c:141
 #: python/py-prettyprint.c:623
 msgid "Error while executing Python code."
 msgstr ""
@@ -21291,7 +21703,7 @@ msgstr ""
 msgid "Cannot locate block for frame."
 msgstr ""
 
-#: python/py-frame.c:522 python/py-type.c:911
+#: python/py-frame.c:522 python/py-type.c:939
 msgid "Second argument must be block."
 msgstr ""
 
@@ -21316,133 +21728,133 @@ msgstr ""
 msgid "Could not allocate memory to create Value object."
 msgstr ""
 
-#: python/py-value.c:224
+#: python/py-value.c:223
 msgid ""
 "Trying to get the referenced value from a value which is neither a pointer "
 "nor a reference."
 msgstr ""
 
-#: python/py-value.c:480
+#: python/py-value.c:479
 msgid "Length is larger than array size."
 msgstr ""
 
-#: python/py-value.c:569
+#: python/py-value.c:564
 msgid "Argument must be a type."
 msgstr ""
 
-#: python/py-value.c:629 python/py-value.c:1439 python/py-value.c:1470
+#: python/py-value.c:624 python/py-value.c:1434 python/py-value.c:1465
 msgid "Invalid operation on gdb.Value."
 msgstr ""
 
-#: python/py-value.c:651
+#: python/py-value.c:646
 msgid "'parent_type' attribute of gdb.Field object is not agdb.Type object."
 msgstr ""
 
-#: python/py-value.c:708
+#: python/py-value.c:703
 msgid "'type' attribute of gdb.Field object is not a gdb.Type object."
 msgstr ""
 
-#: python/py-value.c:744
+#: python/py-value.c:739
 msgid "Invalid lookup for a field not contained in the value."
 msgstr ""
 
-#: python/py-value.c:777
+#: python/py-value.c:772
 msgid "gdb.Field object has no name and no 'bitpos' attribute."
 msgstr ""
 
-#: python/py-value.c:840
+#: python/py-value.c:835
 msgid "Cannot subscript requested type."
 msgstr ""
 
-#: python/py-value.c:864
+#: python/py-value.c:859
 msgid "Setting of struct elements is not currently supported."
 msgstr ""
 
-#: python/py-value.c:892
+#: python/py-value.c:887
 msgid "Value is not callable (not TYPE_CODE_FUNC)."
 msgstr ""
 
-#: python/py-value.c:899
+#: python/py-value.c:894
 msgid "Inferior arguments must be provided in a tuple."
 msgstr ""
 
-#: python/py-value.c:1506
+#: python/py-value.c:1501
 msgid "Cannot convert value to int."
 msgstr ""
 
-#: python/py-value.c:1534
+#: python/py-value.c:1529
 msgid "Cannot convert value to long."
 msgstr ""
 
-#: python/py-value.c:1563
+#: python/py-value.c:1558
 msgid "Cannot convert value to float."
 msgstr ""
 
-#: python/py-value.c:1709
+#: python/py-value.c:1703
 #, possible-c-format
 msgid "Could not convert Python object: %S."
 msgstr ""
 
-#: python/py-value.c:1712
+#: python/py-value.c:1706
 #, possible-c-format
 msgid "Could not convert Python object: %s."
 msgstr ""
 
-#: python/py-unwind.c:179
+#: python/py-unwind.c:184
 #, possible-c-format
 msgid "The value of the '%s' attribute is not a pointer."
 msgstr ""
 
-#: python/py-unwind.c:433
+#: python/py-unwind.c:429
 msgid "frame_id should have 'sp' attribute."
 msgstr ""
 
-#: python/py-unwind.c:558
+#: python/py-unwind.c:554
 msgid "A Unwinder should return gdb.UnwindInfo instance."
 msgstr ""
 
-#: python/py-unwind.c:658
+#: python/py-unwind.c:653
 msgid "Set Python unwinder debugging."
 msgstr ""
 
-#: python/py-unwind.c:659
+#: python/py-unwind.c:654
 msgid "Show Python unwinder debugging."
 msgstr ""
 
-#: python/py-unwind.c:660
+#: python/py-unwind.c:655
 msgid "When non-zero, Python unwinder debugging is enabled."
 msgstr ""
 
-#: python/py-type.c:501
+#: python/py-type.c:507
 msgid "Array bound must be an integer"
 msgstr ""
 
-#: python/py-type.c:586
+#: python/py-type.c:592
 msgid "This type does not have a range."
 msgstr ""
 
-#: python/py-type.c:649
+#: python/py-type.c:655
 msgid "Type does not have a target."
 msgstr ""
 
-#: python/py-type.c:839
+#: python/py-type.c:867
 msgid "Null type name."
 msgstr ""
 
-#: python/py-type.c:868
+#: python/py-type.c:896
 msgid "Type is not a template."
 msgstr ""
 
-#: python/py-type.c:880 python/py-type.c:936
+#: python/py-type.c:908 python/py-type.c:964
 #, possible-c-format
 msgid "No argument %d in template."
 msgstr ""
 
-#: python/py-type.c:947
+#: python/py-type.c:975
 msgid "Template argument is optimized out"
 msgstr ""
 
-#: python/py-type.c:1361
+#: python/py-type.c:1389
 msgid "'block' argument must be a Block."
 msgstr ""
 
@@ -21462,58 +21874,58 @@ msgstr ""
 msgid "Linetable information not found in symbol table"
 msgstr ""
 
-#: python/python.c:213
+#: python/python.c:208
 msgid "Python not initialized"
 msgstr ""
 
-#: python/python.c:233 python/python.c:1989
+#: python/python.c:228 python/python.c:2000
 msgid "internal error: Unhandled Python exception"
 msgstr ""
 
-#: python/python.c:359
+#: python/python.c:354
 #, possible-c-format
 msgid "Error while opening file: %s"
 msgstr ""
 
-#: python/python.c:394
+#: python/python.c:389
 msgid "Invalid \"python\" block structure."
 msgstr ""
 
-#: python/python.c:488
+#: python/python.c:490
 msgid "Programmer error: unhandled type."
 msgstr ""
 
-#: python/python.c:522
+#: python/python.c:524
 #, possible-c-format
 msgid "Could not find parameter `%s'."
 msgstr ""
 
-#: python/python.c:526
+#: python/python.c:528
 #, possible-c-format
 msgid "`%s' is not a parameter."
 msgstr ""
 
-#: python/python.c:777
+#: python/python.c:794
 msgid "Number of breakpoints exceeds throttled maximum."
 msgstr ""
 
-#: python/python.c:1056
+#: python/python.c:1067
 msgid "Posted event is not callable"
 msgstr ""
 
-#: python/python.c:1144
+#: python/python.c:1155
 msgid "Return from prompt_hook must be either a Python string, or None"
 msgstr ""
 
-#: python/python.c:1305
+#: python/python.c:1316
 msgid "Error occurred computing Python errormessage.\n"
 msgstr ""
 
-#: python/python.c:1587
+#: python/python.c:1598
 msgid "Python scripting is not supported in this copy of GDB."
 msgstr ""
 
-#: python/python.c:1837
+#: python/python.c:1848
 msgid ""
 "Start an interactive Python prompt.\n"
 "\n"
@@ -21528,7 +21940,7 @@ msgid ""
 "    5\n"
 msgstr ""
 
-#: python/python.c:1851
+#: python/python.c:1862
 msgid ""
 "Start a Python interactive prompt.\n"
 "\n"
@@ -21536,7 +21948,7 @@ msgid ""
 "This command is only a placeholder."
 msgstr ""
 
-#: python/python.c:1862
+#: python/python.c:1873
 msgid ""
 "Evaluate a Python command.\n"
 "\n"
@@ -21549,7 +21961,7 @@ msgid ""
 "the end of the command."
 msgstr ""
 
-#: python/python.c:1873
+#: python/python.c:1884
 msgid ""
 "Evaluate a Python command.\n"
 "\n"
@@ -21557,21 +21969,21 @@ msgid ""
 "This command is only a placeholder."
 msgstr ""
 
-#: python/python.c:1884 python/python.c:1889
+#: python/python.c:1895 python/python.c:1900
 msgid "Prefix command for python preference settings."
 msgstr ""
 
-#: python/python.c:1894
+#: python/python.c:1905
 msgid "Set mode for Python stack dump on error."
 msgstr ""
 
-#: python/python.c:1895
+#: python/python.c:1906
 msgid "Show the mode of Python stack printing on error."
 msgstr ""
 
 #. This is passed in one call to warning so that blank lines aren't
 #. inserted between each line of text.
-#: python/python.c:1962
+#: python/python.c:1973
 #, possible-c-format
 msgid ""
 "\n"
@@ -21585,28 +21997,28 @@ msgstr ""
 msgid "Inferior no longer exists."
 msgstr ""
 
-#: python/py-inferior.c:628
+#: python/py-inferior.c:625
 #, possible-c-format
 msgid "Memory buffer for address %s, which is %s bytes long."
 msgstr ""
 
-#: python/py-inferior.c:663
+#: python/py-inferior.c:660
 msgid "The memory buffer supports only one segment."
 msgstr ""
 
-#: python/py-inferior.c:742
+#: python/py-inferior.c:739
 msgid "The pattern is not a Python buffer."
 msgstr ""
 
-#: python/py-inferior.c:762
+#: python/py-inferior.c:759
 msgid "Search range is empty."
 msgstr ""
 
-#: python/py-inferior.c:770
+#: python/py-inferior.c:767
 msgid "The search range is too large."
 msgstr ""
 
-#: python/py-inferior.c:837
+#: python/py-inferior.c:834
 msgid "Argument 'handle_obj' must be a thread handle object."
 msgstr ""
 
@@ -21673,21 +22085,27 @@ msgstr ""
 msgid "Unexpected value.  Expecting a gdb.Symbol or a Python string."
 msgstr ""
 
-#: python/py-framefilter.c:548
+#: python/py-framefilter.c:481
 msgid "No symbol or value provided."
 msgstr ""
 
-#: python/py-framefilter.c:1110
+#: python/py-framefilter.c:892
 msgid "FrameDecorator.function: expecting a String, integer or None."
 msgstr ""
 
-#: python/py-record.c:79 python/py-record.c:95 python/py-record.c:108
-#: python/py-record.c:121 python/py-record.c:134 python/py-record.c:147
-#: python/py-record.c:160 python/py-record.c:173 python/py-record.c:204
-#: python/py-record.c:217 python/py-record.c:230 python/py-record.c:243
-#: python/py-record.c:256 python/py-record.c:269 python/py-record.c:300
-#: python/py-record.c:313 python/py-record.c:326 python/py-record.c:339
-#: python/py-record.c:352 python/py-record.c:365 python/py-instruction.c:40
+#. We've printed all the frames we were asked to
+#. print, but more frames existed.
+#: python/py-framefilter.c:1176 stack.c:1813
+msgid "(More stack frames follow...)\n"
+msgstr ""
+
+#: python/py-record.c:80 python/py-record.c:96 python/py-record.c:109
+#: python/py-record.c:122 python/py-record.c:135 python/py-record.c:148
+#: python/py-record.c:161 python/py-record.c:174 python/py-record.c:205
+#: python/py-record.c:218 python/py-record.c:231 python/py-record.c:244
+#: python/py-record.c:257 python/py-record.c:270 python/py-record.c:301
+#: python/py-record.c:314 python/py-record.c:327 python/py-record.c:340
+#: python/py-record.c:353 python/py-record.c:366 python/py-instruction.c:40
 msgid "Not implemented."
 msgstr ""
 
@@ -21703,49 +22121,49 @@ msgstr ""
 msgid "Symbol Table and Line is invalid."
 msgstr ""
 
-#: python/py-record-btrace.c:79
+#: python/py-record-btrace.c:80
 msgid "Must be gdb.RecordInstruction"
 msgstr ""
 
-#: python/py-record-btrace.c:88 python/py-record-btrace.c:94
-#: record-btrace.c:2776
+#: python/py-record-btrace.c:89 python/py-record-btrace.c:95
+#: record-btrace.c:2872
 msgid "No such instruction."
 msgstr ""
 
-#: python/py-record-btrace.c:101
+#: python/py-record-btrace.c:102
 msgid "Not a valid instruction."
 msgstr ""
 
-#: python/py-record-btrace.c:122
+#: python/py-record-btrace.c:123
 msgid "Must be gdb.RecordFunctionSegment"
 msgstr ""
 
-#: python/py-record-btrace.c:131 python/py-record-btrace.c:137
+#: python/py-record-btrace.c:132 python/py-record-btrace.c:138
 msgid "No such function segment."
 msgstr ""
 
-#: python/py-record-btrace.c:144
+#: python/py-record-btrace.c:145
 msgid "Not a valid function segment."
 msgstr ""
 
-#: python/py-record-btrace.c:470
+#: python/py-record-btrace.c:471
 #, possible-c-format
 msgid "Index out of range: %zd."
 msgstr ""
 
-#: python/py-record-btrace.c:502
+#: python/py-record-btrace.c:503
 msgid "Index must be int or slice."
 msgstr ""
 
-#: python/py-record-btrace.c:559
+#: python/py-record-btrace.c:560
 msgid "Not in list."
 msgstr ""
 
-#: python/py-record-btrace.c:780
+#: python/py-record-btrace.c:781
 msgid "Empty branch trace."
 msgstr ""
 
-#: python/py-record-btrace.c:786
+#: python/py-record-btrace.c:787
 msgid "Argument must be instruction."
 msgstr ""
 
@@ -21809,101 +22227,101 @@ msgstr ""
 msgid "Cannot delete `condition' attribute."
 msgstr ""
 
-#: python/py-breakpoint.c:650
+#: python/py-breakpoint.c:693
 msgid ""
 "Breakpoints specified with spec cannot have source, function, label or line "
 "defined."
 msgstr ""
 
-#: python/py-breakpoint.c:662
+#: python/py-breakpoint.c:705
 msgid "Watchpoints cannot be set by explicit location parameters."
 msgstr ""
 
-#: python/py-breakpoint.c:673
+#: python/py-breakpoint.c:716
 msgid "Neither spec nor explicit location set."
 msgstr ""
 
-#: python/py-breakpoint.c:682
+#: python/py-breakpoint.c:725
 msgid "Specifying a source must also include a line, label or function."
 msgstr ""
 
-#: python/py-breakpoint.c:730
+#: python/py-breakpoint.c:773
 msgid "Line keyword should be an integer or a string. "
 msgstr ""
 
-#: python/py-breakpoint.c:820
+#: python/py-breakpoint.c:863
 msgid "Cannot understand watchpoint access type."
 msgstr ""
 
-#: python/py-breakpoint.c:824
+#: python/py-breakpoint.c:867
 msgid "Do not understand breakpoint type to set."
 msgstr ""
 
-#: python/py-breakpoint.c:1002
+#: python/py-breakpoint.c:1045
 msgid "Error while creating breakpoint from GDB."
 msgstr ""
 
-#: python/py-param.c:138
+#: python/py-param.c:140
 msgid "String required for filename."
 msgstr ""
 
-#: python/py-param.c:169
+#: python/py-param.c:171
 msgid "ENUM arguments must be a string."
 msgstr ""
 
-#: python/py-param.c:183
+#: python/py-param.c:185
 msgid "The value must be member of an enumeration."
 msgstr ""
 
-#: python/py-param.c:194
+#: python/py-param.c:196
 msgid "A boolean argument is required."
 msgstr ""
 
-#: python/py-param.c:207
+#: python/py-param.c:209
 msgid "A boolean or None is required"
 msgstr ""
 
-#: python/py-param.c:235
+#: python/py-param.c:239
 msgid "The value must be integer."
 msgstr ""
 
-#: python/py-param.c:260
+#: python/py-param.c:277
 msgid "Range exceeded."
 msgstr ""
 
-#: python/py-param.c:270
+#: python/py-param.c:290
 msgid "Unhandled type in parameter value."
 msgstr ""
 
-#: python/py-param.c:291
+#: python/py-param.c:311
 msgid "Cannot delete a parameter's value."
 msgstr ""
 
-#: python/py-param.c:346
+#: python/py-param.c:366
 msgid "Parameter must return a string value."
 msgstr ""
 
-#: python/py-param.c:562
+#: python/py-param.c:593
 msgid "An enumeration is required for PARAM_ENUM."
 msgstr ""
 
-#: python/py-param.c:569
+#: python/py-param.c:600
 msgid "The enumeration is not a sequence."
 msgstr ""
 
-#: python/py-param.c:579
+#: python/py-param.c:610
 msgid "The enumeration is empty."
 msgstr ""
 
-#: python/py-param.c:595
+#: python/py-param.c:626
 msgid "The enumeration item not a string."
 msgstr ""
 
-#: python/py-param.c:664
+#: python/py-param.c:696
 msgid "Invalid parameter class argument."
 msgstr ""
 
-#: python/py-param.c:671
+#: python/py-param.c:703
 msgid "Only PARAM_ENUM accepts a fourth argument."
 msgstr ""
 
@@ -22003,11 +22421,11 @@ msgstr ""
 msgid "\"FinishBreakpoint\" cannot be set on a dummy frame."
 msgstr ""
 
-#: python/py-finishbreakpoint.c:228
+#: python/py-finishbreakpoint.c:227
 msgid "No thread currently selected."
 msgstr ""
 
-#: python/py-finishbreakpoint.c:238
+#: python/py-finishbreakpoint.c:239
 msgid "The value of `internal' must be a boolean."
 msgstr ""
 
@@ -22023,165 +22441,233 @@ msgstr ""
 msgid "Argument must be a gdb.Value."
 msgstr ""
 
-#: ravenscar-thread.c:540
+#: ravenscar-thread.c:78
+msgid "Ravenscar tasks."
+msgstr ""
+
+#: ravenscar-thread.c:79
+msgid "Ravenscar tasks support."
+msgstr ""
+
+#: ravenscar-thread.c:563
 #, possible-c-format
 msgid "%s. Task/thread support disabled."
 msgstr ""
 
-#: ravenscar-thread.c:596
+#: ravenscar-thread.c:586
 msgid "\"set ravenscar\" must be followed by the name of a setting.\n"
 msgstr ""
 
-#: ravenscar-thread.c:617
+#: ravenscar-thread.c:607
 msgid "Support for Ravenscar task/thread switching is enabled\n"
 msgstr ""
 
-#: ravenscar-thread.c:620
+#: ravenscar-thread.c:610
 msgid "Support for Ravenscar task/thread switching is disabled\n"
 msgstr ""
 
-#: ravenscar-thread.c:640
+#: ravenscar-thread.c:627
 msgid "Prefix command for changing Ravenscar-specific settings"
 msgstr ""
 
-#: ravenscar-thread.c:644
+#: ravenscar-thread.c:631
 msgid "Prefix command for showing Ravenscar-specific settings"
 msgstr ""
 
-#: ravenscar-thread.c:648
+#: ravenscar-thread.c:635
 msgid "Enable or disable support for GNAT Ravenscar tasks"
 msgstr ""
 
-#: ravenscar-thread.c:649
+#: ravenscar-thread.c:636
 msgid "Show whether support for GNAT Ravenscar tasks is enabled"
 msgstr ""
 
-#: ravenscar-thread.c:651
+#: ravenscar-thread.c:638
 msgid ""
 "Enable or disable support for task/thread switching with the GNAT\n"
 "Ravenscar run-time library for bareboard configuration."
 msgstr ""
 
-#: record-btrace.c:361 record-btrace.c:377
+#: record-btrace.c:47
+msgid "Branch tracing target"
+msgstr ""
+
+#: record-btrace.c:48
+msgid "Collect control-flow trace and provide the execution history."
+msgstr ""
+
+#: record-btrace.c:236
+msgid "Internal error: bad record btrace cpu state."
+msgstr ""
+
+#: record-btrace.c:508 record-btrace.c:524
 #, possible-c-format
 msgid "Buffer size: %u%s.\n"
 msgstr ""
 
-#: record-btrace.c:386
+#: record-btrace.c:533
 #, possible-c-format
 msgid "Recording format: %s.\n"
 msgstr ""
 
-#: record-btrace.c:456
+#: record-btrace.c:603
 #, possible-c-format
 msgid ""
 "Recorded %u instructions in %u functions (%u gaps) for thread %s (%s).\n"
 msgstr ""
 
-#: record-btrace.c:461
+#: record-btrace.c:608
 #, possible-c-format
 msgid "Replay in progress.  At instruction %u.\n"
 msgstr ""
 
-#: record-btrace.c:473
+#: record-btrace.c:620
 msgid "["
 msgstr ""
 
-#: record-btrace.c:477
+#: record-btrace.c:624
 msgid "decode error ("
 msgstr ""
 
-#: record-btrace.c:479
+#: record-btrace.c:626
 msgid "): "
 msgstr ""
 
-#: record-btrace.c:482
+#: record-btrace.c:629
 msgid "]\n"
 msgstr ""
 
-#: record-btrace.c:737 record-btrace.c:865
+#: record-btrace.c:877 record-btrace.c:1003
 msgid "Bad record instruction-history-size."
 msgstr ""
 
-#: record-btrace.c:797 record-btrace.c:1153
+#: record-btrace.c:937 record-btrace.c:1290
 msgid "At the start of the branch trace record.\n"
 msgstr ""
 
-#: record-btrace.c:799 record-btrace.c:1155
+#: record-btrace.c:939 record-btrace.c:1292
 msgid "At the end of the branch trace record.\n"
 msgstr ""
 
-#: record-btrace.c:827 record-btrace.c:830 record-btrace.c:1184
-#: record-btrace.c:1187
+#: record-btrace.c:966 record-btrace.c:969 record-btrace.c:1319
+#: record-btrace.c:1322
 msgid "Bad range."
 msgstr ""
 
-#: record-btrace.c:836 record-btrace.c:1193
+#: record-btrace.c:975 record-btrace.c:1328
 msgid "Range out of bounds."
 msgstr ""
 
-#: record-btrace.c:1060
+#: record-btrace.c:1198
 msgid "\tinst "
 msgstr ""
 
-#: record-btrace.c:1066
+#: record-btrace.c:1204
 msgid "\tat "
 msgstr ""
 
-#: record-btrace.c:1090 record-btrace.c:1223
+#: record-btrace.c:1227 record-btrace.c:1356
 msgid "Bad record function-call-history-size."
 msgstr ""
 
-#: record-btrace.c:1453
+#: record-btrace.c:1576
 msgid "Cannot write registers while replaying."
 msgstr ""
 
-#: record-btrace.c:1623
+#: record-btrace.c:1741
 msgid "Registers are not available in btrace record history"
 msgstr ""
 
-#: record-btrace.c:1631
+#: record-btrace.c:1749
 msgid "No caller in btrace record history"
 msgstr ""
 
-#: record-btrace.c:2362
+#: record-btrace.c:2468
 msgid "invalid stepping type."
 msgstr ""
 
-#: record-btrace.c:2768
+#: record-btrace.c:2864
 msgid "Instruction number out of range."
 msgstr ""
 
-#: record-btrace.c:2975
+#: record-btrace.c:2993
+msgid "\"set record btrace\" must be followed by an appropriate subcommand.\n"
+msgstr ""
+
+#: record-btrace.c:3013
 #, possible-c-format
 msgid "Replay memory access is %s.\n"
 msgstr ""
 
-#: record-btrace.c:2984
+#: record-btrace.c:3023 record-btrace.c:3034 record-btrace.c:3054
+#: record-btrace.c:3059 record-btrace.c:3091
+#, possible-c-format
+msgid "Trailing junk: '%s'."
+msgstr ""
+
+#: record-btrace.c:3064
+msgid "Bad format.  See \"help set record btrace cpu\"."
+msgstr ""
+
+#: record-btrace.c:3067
+msgid "Cpu family too big."
+msgstr ""
+
+#: record-btrace.c:3070
+msgid "Cpu model too big."
+msgstr ""
+
+#: record-btrace.c:3073
+msgid "Cpu stepping too big."
+msgstr ""
+
+#: record-btrace.c:3096
+msgid "btrace cpu is 'auto'.\n"
+msgstr ""
+
+#: record-btrace.c:3100
+msgid "btrace cpu is 'none'.\n"
+msgstr ""
+
+#: record-btrace.c:3108
+#, possible-c-format
+msgid "btrace cpu is 'intel: %u/%u'.\n"
+msgstr ""
+
+#: record-btrace.c:3112
+#, possible-c-format
+msgid "btrace cpu is 'intel: %u/%u/%u'.\n"
+msgstr ""
+
+#: record-btrace.c:3120
+msgid "Internal error: bad cpu state."
+msgstr ""
+
+#: record-btrace.c:3128
 msgid ""
 "\"set record btrace bts\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: record-btrace.c:3003
+#: record-btrace.c:3147
 msgid ""
 "\"set record btrace pt\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: record-btrace.c:3024
+#: record-btrace.c:3168
 #, possible-c-format
 msgid "The record/replay bts buffer size is %s.\n"
 msgstr ""
 
-#: record-btrace.c:3035
+#: record-btrace.c:3179
 #, possible-c-format
 msgid "The record/replay pt buffer size is %s.\n"
 msgstr ""
 
-#: record-btrace.c:3045
+#: record-btrace.c:3189
 msgid "Start branch trace recording."
 msgstr ""
 
-#: record-btrace.c:3050
+#: record-btrace.c:3194
 msgid ""
 "Start branch trace recording in Branch Trace Store (BTS) format.\n"
 "\n"
@@ -22189,30 +22675,30 @@ msgid ""
 "This format may not be available on all processors."
 msgstr ""
 
-#: record-btrace.c:3058
+#: record-btrace.c:3202
 msgid ""
 "Start branch trace recording in Intel Processor Trace format.\n"
 "\n"
 "This format may not be available on all processors."
 msgstr ""
 
-#: record-btrace.c:3065 record.c:816 record-full.c:2827
+#: record-btrace.c:3209 record.c:811 record-full.c:2846
 msgid "Set record options"
 msgstr ""
 
-#: record-btrace.c:3069 record.c:820 record-full.c:2831
+#: record-btrace.c:3213 record.c:815 record-full.c:2850
 msgid "Show record options"
 msgstr ""
 
-#: record-btrace.c:3073
+#: record-btrace.c:3217
 msgid "Set what memory accesses are allowed during replay."
 msgstr ""
 
-#: record-btrace.c:3074
+#: record-btrace.c:3218
 msgid "Show what memory accesses are allowed during replay."
 msgstr ""
 
-#: record-btrace.c:3076
+#: record-btrace.c:3220
 msgid ""
 "Default is READ-ONLY.\n"
 "\n"
@@ -22225,23 +22711,56 @@ msgid ""
 "replay."
 msgstr ""
 
-#: record-btrace.c:3088
+#: record-btrace.c:3232
+msgid ""
+"Set the cpu to be used for trace decode.\n"
+"\n"
+"The format is \"VENDOR:IDENTIFIER\" or \"none\" or \"auto\" (default).\n"
+"For vendor \"intel\" the format is \"FAMILY/MODEL[/STEPPING]\".\n"
+"\n"
+"When decoding branch trace, enable errata workarounds for the specified "
+"cpu.\n"
+"The default is \"auto\", which uses the cpu on which the trace was "
+"recorded.\n"
+"When GDB does not support that cpu, this option can be used to enable\n"
+"workarounds for a similar cpu that GDB supports.\n"
+"\n"
+"When set to \"none\", errata workarounds are disabled."
+msgstr ""
+
+#: record-btrace.c:3242
+msgid "set record btrace cpu "
+msgstr ""
+
+#: record-btrace.c:3245
+msgid "Automatically determine the cpu to be used for trace decode."
+msgstr ""
+
+#: record-btrace.c:3249
+msgid "Do not enable errata workarounds for trace decode."
+msgstr ""
+
+#: record-btrace.c:3253
+msgid "Show the cpu to be used for trace decode."
+msgstr ""
+
+#: record-btrace.c:3258
 msgid "Set record btrace bts options"
 msgstr ""
 
-#: record-btrace.c:3093
+#: record-btrace.c:3263
 msgid "Show record btrace bts options"
 msgstr ""
 
-#: record-btrace.c:3099
+#: record-btrace.c:3269
 msgid "Set the record/replay bts buffer size."
 msgstr ""
 
-#: record-btrace.c:3100
+#: record-btrace.c:3270
 msgid "Show the record/replay bts buffer size."
 msgstr ""
 
-#: record-btrace.c:3100
+#: record-btrace.c:3270
 msgid ""
 "When starting recording request a trace buffer of this size.  The actual "
 "buffer size may differ from the requested size.  Use \"info record\" to see "
@@ -22253,23 +22772,23 @@ msgid ""
 "The trace buffer size may not be changed while recording."
 msgstr ""
 
-#: record-btrace.c:3112
+#: record-btrace.c:3282
 msgid "Set record btrace pt options"
 msgstr ""
 
-#: record-btrace.c:3117
+#: record-btrace.c:3287
 msgid "Show record btrace pt options"
 msgstr ""
 
-#: record-btrace.c:3123
+#: record-btrace.c:3293
 msgid "Set the record/replay pt buffer size."
 msgstr ""
 
-#: record-btrace.c:3124
+#: record-btrace.c:3294
 msgid "Show the record/replay pt buffer size."
 msgstr ""
 
-#: record-btrace.c:3124
+#: record-btrace.c:3294
 msgid ""
 "Bigger buffers allow longer recording but also take more time to process the "
 "recorded execution.\n"
@@ -22321,7 +22840,7 @@ msgid "Process record is stopped and all
 msgstr ""
 
 #: record.c:322
-msgid "\"set record\" must be followed by an apporpriate subcommand.\n"
+msgid "\"set record\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
 #: record.c:345
@@ -22337,91 +22856,91 @@ msgstr ""
 msgid "Command requires an argument (insn number to go to)."
 msgstr ""
 
-#: record.c:521 record.c:657
+#: record.c:521 record.c:654
 #, possible-c-format
 msgid "Invalid modifier: %c."
 msgstr ""
 
-#: record.c:749
+#: record.c:744
 #, possible-c-format
 msgid "integer %u out of range"
 msgstr ""
 
-#: record.c:786
+#: record.c:781
 msgid "Set debugging of record/replay feature."
 msgstr ""
 
-#: record.c:787
+#: record.c:782
 msgid "Show debugging of record/replay feature."
 msgstr ""
 
-#: record.c:788
+#: record.c:783
 msgid "When enabled, debugging output for record/replay feature is displayed."
 msgstr ""
 
-#: record.c:794
+#: record.c:789
 msgid "Set number of instructions to print in \"record instruction-history\"."
 msgstr ""
 
-#: record.c:795
+#: record.c:790
 msgid "Show number of instructions to print in \"record instruction-history\"."
 msgstr ""
 
-#: record.c:796
+#: record.c:791
 msgid ""
 "A size of \"unlimited\" means unlimited instructions.  The default is 10."
 msgstr ""
 
-#: record.c:802
+#: record.c:797
 msgid "Set number of function to print in \"record function-call-history\"."
 msgstr ""
 
-#: record.c:803
+#: record.c:798
 msgid "Show number of functions to print in \"record function-call-history\"."
 msgstr ""
 
-#: record.c:804
+#: record.c:799
 msgid "A size of \"unlimited\" means unlimited lines.  The default is 10."
 msgstr ""
 
-#: record.c:810
+#: record.c:805
 msgid "Start recording."
 msgstr ""
 
-#: record.c:824
+#: record.c:819
 msgid "Info record options"
 msgstr ""
 
-#: record.c:829
+#: record.c:824
 msgid ""
 "Save the execution log to a file.\n"
-"Argument is optional filename.\n"
-"Default filename is 'gdb_record.<process_id>'."
+"Usage: record save [FILENAME]\n"
+"Default filename is 'gdb_record.PROCESS_ID'."
 msgstr ""
 
-#: record.c:836
+#: record.c:831
 msgid "Delete the rest of execution log and start recording it anew."
 msgstr ""
 
-#: record.c:842
+#: record.c:837
 msgid "Stop the record/replay target."
 msgstr ""
 
-#: record.c:846
+#: record.c:841
 msgid ""
 "Restore the program to its state at instruction number N.\n"
 "Argument is instruction number, as shown by 'info record'."
 msgstr ""
 
-#: record.c:852
+#: record.c:847
 msgid "Go to the beginning of the execution log."
 msgstr ""
 
-#: record.c:857
+#: record.c:852
 msgid "Go to the end of the execution log."
 msgstr ""
 
-#: record.c:860
+#: record.c:855
 msgid ""
 "Print disassembled instructions stored in the execution log.\n"
 "With a /m or /s modifier, source lines are included (if available).\n"
@@ -22442,7 +22961,7 @@ msgid ""
 "instruction-history-size\"."
 msgstr ""
 
-#: record.c:880
+#: record.c:875
 msgid ""
 "Prints the execution history at function granularity.\n"
 "It prints one line for each sequence of instructions that belong to the same "
@@ -22464,201 +22983,209 @@ msgid ""
 "call-history-size\"."
 msgstr ""
 
-#: record-full.c:547
+#: record-full.c:211
+msgid "Process record and replay target"
+msgstr ""
+
+#: record-full.c:213
+msgid "Log program while executing and replay execution from log."
+msgstr ""
+
+#: record-full.c:691
 msgid ""
 "Do you want to auto delete previous execution log entries when record/replay "
 "buffer becomes full (record full stop-at-limit)?"
 msgstr ""
 
-#: record-full.c:550
+#: record-full.c:694
 msgid "Process record: stopped by user."
 msgstr ""
 
-#: record-full.c:622
+#: record-full.c:761
 msgid "Process record: inferior program stopped."
 msgstr ""
 
-#: record-full.c:624 record-full.c:1410 record-full.c:1419 record-full.c:1425
+#: record-full.c:763 record-full.c:1555 record-full.c:1564 record-full.c:1570
 msgid "Process record: failed to record execution log."
 msgstr ""
 
-#: record-full.c:727
+#: record-full.c:870
 #, possible-c-format
 msgid "Process record: error writing memory at addr = %s len = %d."
 msgstr ""
 
-#: record-full.c:812
+#: record-full.c:953
 msgid "Process record: the program is not being run."
 msgstr ""
 
-#: record-full.c:814
+#: record-full.c:955
 msgid "Process record target can't debug inferior in non-stop mode (non-stop)."
 msgstr ""
 
-#: record-full.c:818
+#: record-full.c:959
 msgid ""
 "Process record: the current architecture doesn't support record function."
 msgstr ""
 
-#: record-full.c:1453
+#: record-full.c:1596
 msgid ""
 "Because GDB is in replay mode, changing the value of a register will make "
 "the execution log unusable from this point onward.  Change all registers?"
 msgstr ""
 
-#: record-full.c:1459
+#: record-full.c:1602
 #, possible-c-format
 msgid ""
 "Because GDB is in replay mode, changing the value of a register will make "
 "the execution log unusable from this point onward.  Change register %s?"
 msgstr ""
 
-#: record-full.c:1481 record-full.c:1515
+#: record-full.c:1624 record-full.c:1658
 msgid "Process record canceled the operation."
 msgstr ""
 
 #. Let user choose if he wants to write memory or not.
-#: record-full.c:1511
+#: record-full.c:1654
 #, possible-c-format
 msgid ""
 "Because GDB is in replay mode, writing to memory will make the execution log "
 "unusable from this point onward.  Write memory at address %s?"
 msgstr ""
 
-#: record-full.c:1764 reverse.c:255
+#: record-full.c:1889 reverse.c:255
 #, possible-c-format
 msgid "Unbalanced quotes: %s"
 msgstr ""
 
-#: record-full.c:1797
+#: record-full.c:1918
 msgid "Replay mode:\n"
 msgstr ""
 
-#: record-full.c:1799
+#: record-full.c:1920
 msgid "Record mode:\n"
 msgstr ""
 
 #. Display instruction number for first instruction in the log.
-#: record-full.c:1811
+#: record-full.c:1932
 #, possible-c-format
 msgid "Lowest recorded instruction number is %s.\n"
 msgstr ""
 
-#: record-full.c:1816
+#: record-full.c:1937
 #, possible-c-format
 msgid "Current instruction number is %s.\n"
 msgstr ""
 
 #. Display instruction number for last instruction in the log.
-#: record-full.c:1820
+#: record-full.c:1941
 #, possible-c-format
 msgid "Highest recorded instruction number is %s.\n"
 msgstr ""
 
 #. Display log count.
-#: record-full.c:1824
+#: record-full.c:1945
 #, possible-c-format
 msgid "Log contains %u instructions.\n"
 msgstr ""
 
-#: record-full.c:1828
+#: record-full.c:1949
 msgid "No instructions have been logged.\n"
 msgstr ""
 
 #. Display max log size.
-#: record-full.c:1831
+#: record-full.c:1952
 #, possible-c-format
 msgid "Max logged instructions is %u.\n"
 msgstr ""
 
-#: record-full.c:1869
+#: record-full.c:1996
 msgid "Target insn not found."
 msgstr ""
 
-#: record-full.c:1871
+#: record-full.c:1998
 msgid "Already at target insn."
 msgstr ""
 
-#: record-full.c:1874
+#: record-full.c:2001
 #, possible-c-format
 msgid "Go forward to insn number %s\n"
 msgstr ""
 
-#: record-full.c:1880
+#: record-full.c:2007
 #, possible-c-format
 msgid "Go backward to insn number %s\n"
 msgstr ""
 
-#: record-full.c:2060 record-full.c:2152 target.c:550
+#: record-full.c:2132 record-full.c:2222 target.c:603
 msgid "You can't do that without a process to debug."
 msgstr ""
 
-#: record-full.c:2294
+#: record-full.c:2309
 #, possible-c-format
 msgid "Failed to read %d bytes from core file %s ('%s')."
 msgstr ""
 
-#: record-full.c:2356
+#: record-full.c:2370
 #, possible-c-format
 msgid "Version mis-match or file format error in core file %s."
 msgstr ""
 
-#: record-full.c:2461
+#: record-full.c:2477
 #, possible-c-format
 msgid "Bad entry type in core file %s."
 msgstr ""
 
-#: record-full.c:2482
+#: record-full.c:2503
 #, possible-c-format
 msgid "Auto increase record/replay buffer limit to %u."
 msgstr ""
 
 #. Succeeded.
-#: record-full.c:2487
+#: record-full.c:2508
 #, possible-c-format
 msgid "Restored records from core file %s.\n"
 msgstr ""
 
-#: record-full.c:2503
+#: record-full.c:2524
 #, possible-c-format
 msgid "Failed to write %d bytes to core file %s ('%s')."
 msgstr ""
 
-#: record-full.c:2589
+#: record-full.c:2610
 #, possible-c-format
 msgid "Failed to create 'precord' section for corefile %s: %s"
 msgstr ""
 
 #. Succeeded.
-#: record-full.c:2719
+#: record-full.c:2740
 #, possible-c-format
 msgid "Saved core file %s with execution log.\n"
 msgstr ""
 
-#: record-full.c:2780
+#: record-full.c:2801
 msgid "\"set record full\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: record-full.c:2811
+#: record-full.c:2830
 msgid "Start full execution recording."
 msgstr ""
 
-#: record-full.c:2815
+#: record-full.c:2834
 msgid ""
 "Restore the execution log from a file.\n"
 "Argument is filename.  File must be created with 'record save'."
 msgstr ""
 
-#: record-full.c:2836
+#: record-full.c:2855
 msgid "Set whether record/replay stops when record/replay buffer becomes full."
 msgstr ""
 
-#: record-full.c:2837
+#: record-full.c:2856
 msgid ""
 "Show whether record/replay stops when record/replay buffer becomes full."
 msgstr ""
 
-#: record-full.c:2839
+#: record-full.c:2858
 msgid ""
 "Default is ON.\n"
 "When ON, if the record/replay buffer becomes full, ask user what to do.\n"
@@ -22666,82 +23193,82 @@ msgid ""
 "delete the oldest recorded instruction to make room for each new one."
 msgstr ""
 
-#: record-full.c:2856
+#: record-full.c:2875
 msgid "Set record/replay buffer limit."
 msgstr ""
 
-#: record-full.c:2857
+#: record-full.c:2876
 msgid "Show record/replay buffer limit."
 msgstr ""
 
-#: record-full.c:2857
+#: record-full.c:2876
 msgid ""
 "Set the maximum number of instructions to be stored in the\n"
 "record/replay buffer.  A value of either \"unlimited\" or zero means no\n"
 "limit.  Default is 200000."
 msgstr ""
 
-#: record-full.c:2874
+#: record-full.c:2893
 msgid ""
 "Set whether query if PREC cannot record memory change of next instruction."
 msgstr ""
 
-#: record-full.c:2876
+#: record-full.c:2895
 msgid ""
 "Show whether query if PREC cannot record memory change of next instruction."
 msgstr ""
 
-#: record-full.c:2878
+#: record-full.c:2897
 msgid ""
 "Default is OFF.\n"
 "When ON, query if PREC cannot record memory change of next instruction."
 msgstr ""
 
-#: regcache.c:1245
+#: regcache.c:1224
 msgid "PC register is not available"
 msgstr ""
 
-#: regcache.c:1251
+#: regcache.c:1230
 msgid "regcache_read_pc: Unable to find PC"
 msgstr ""
 
-#: regcache.c:1267
+#: regcache.c:1246
 msgid "regcache_write_pc: Unable to update PC"
 msgstr ""
 
-#: regcache.c:1321
+#: regcache.c:1300
 msgid "Register cache flushed.\n"
 msgstr ""
 
-#: regcache.c:1955
+#: regcache.c:1862
 msgid "Force gdb to flush its register cache (maintainer command)"
 msgstr ""
 
-#: regcache.c:1958
+#: regcache-dump.c:311
 msgid ""
 "Print the internal register configuration.\n"
 "Takes an optional file parameter."
 msgstr ""
 
-#: regcache.c:1962
+#: regcache-dump.c:315
 msgid ""
 "Print the internal register configuration including raw values.\n"
 "Takes an optional file parameter."
 msgstr ""
 
-#: regcache.c:1967
+#: regcache-dump.c:320
 msgid ""
 "Print the internal register configuration including cooked values.\n"
 "Takes an optional file parameter."
 msgstr ""
 
-#: regcache.c:1972
+#: regcache-dump.c:325
 msgid ""
 "Print the internal register configuration including each register's group.\n"
 "Takes an optional file parameter."
 msgstr ""
 
-#: regcache.c:1977
+#: regcache-dump.c:330
 msgid ""
 "Print the internal register configuration including each register's\n"
 "remote register number and buffer offset in the g/G packets.\n"
@@ -22758,117 +23285,138 @@ msgid ""
 "Takes an optional file parameter."
 msgstr ""
 
+#. The remote target.
+#: remote.c:82
+msgid ""
+"Use a remote computer via a serial line, using a gdb-specific protocol.\n"
+"Specify the serial device it is connected to\n"
+"(e.g. /dev/ttyS0, /dev/ttya, COM1, etc.)."
+msgstr ""
+
+#: remote.c:403
+msgid "Remote serial target in gdb-specific protocol"
+msgstr ""
+
+#: remote.c:954
+msgid "Extended remote serial target in gdb-specific protocol"
+msgstr ""
+
 #. malformed packet error
 #. general case:
-#: remote.c:557
+#: remote.c:1123
 msgid "remote.c: error in outgoing packet."
 msgstr ""
 
-#: remote.c:559
+#: remote.c:1125
 #, possible-c-format
 msgid "remote.c: error in outgoing packet at field #%ld."
 msgstr ""
 
-#: remote.c:562
+#: remote.c:1128
 #, possible-c-format
 msgid "Target returns error code '%s'."
 msgstr ""
 
-#: remote.c:593
+#: remote.c:1159
 #, possible-c-format
 msgid "invalid qRelocInsn packet: %s"
 msgstr ""
 
-#: remote.c:622
+#: remote.c:1188
 msgid "warning: relocating instruction: "
 msgstr ""
 
-#: remote.c:943
+#: remote.c:1505
 msgid ""
 "Send the ASCII ETX character (Ctrl-c) to the remote target to interrupt the "
 "execution of the program.\n"
 msgstr ""
 
-#: remote.c:948
+#: remote.c:1510
 msgid ""
 "send a break signal to the remote target to interrupt the execution of the "
 "program.\n"
 msgstr ""
 
-#: remote.c:952
+#: remote.c:1514
 msgid ""
 "Send a break signal and 'g' a.k.a. Magic SysRq g to the remote target to "
 "interrupt the execution of Linux kernel.\n"
 msgstr ""
 
-#: remote.c:957 remote.c:3697
+#: remote.c:1519 remote.c:4212
 #, possible-c-format
 msgid "Invalid value for interrupt_sequence_mode: %s."
 msgstr ""
 
-#: remote.c:1083
+#: remote.c:1653
 msgid "Argument required (integer, `fixed' or `limited')."
 msgstr ""
 
-#: remote.c:1096
+#: remote.c:1666
 #, possible-c-format
 msgid "Invalid %s (bad syntax)."
 msgstr ""
 
-#: remote.c:1110
+#: remote.c:1681
 #, possible-c-format
 msgid ""
 "The target may not be able to correctly handle a %s\n"
 "of %ld bytes. Change the packet size? "
 msgstr ""
 
-#: remote.c:1113
+#: remote.c:1684
 msgid "Packet size not changed."
 msgstr ""
 
-#: remote.c:1123
+#: remote.c:1695
+#, possible-c-format
+msgid "The %s is 0 (default). "
+msgstr ""
+
+#: remote.c:1697
 #, possible-c-format
 msgid "The %s is %ld. "
 msgstr ""
 
-#: remote.c:1125
+#: remote.c:1699
 #, possible-c-format
 msgid "Packets are fixed at %ld bytes.\n"
 msgstr ""
 
-#: remote.c:1128
+#: remote.c:1706
 #, possible-c-format
 msgid "Packets are limited to %ld bytes.\n"
 msgstr ""
 
-#: remote.c:1246
+#: remote.c:1808
 #, possible-c-format
 msgid "Support for the `%s' packet is auto-detected, currently %s.\n"
 msgstr ""
 
-#: remote.c:1252
+#: remote.c:1814
 #, possible-c-format
 msgid "Support for the `%s' packet is currently %s.\n"
 msgstr ""
 
-#: remote.c:1331
+#: remote.c:1893
 msgid "packet_ok: attempt to use a disabled packet"
 msgstr ""
 
 #. If the stub previously indicated that the packet was
 #. supported then there is a protocol error.
-#: remote.c:1355
+#: remote.c:1917
 #, possible-c-format
 msgid "Protocol error: %s (%s) conflicting enabled responses."
 msgstr ""
 
 #. The user set it wrong.
-#: remote.c:1361
+#: remote.c:1923
 #, possible-c-format
 msgid "Enabled packet %s (%s) not recognized by stub"
 msgstr ""
 
-#: remote.c:1580
+#: remote.c:2142
 #, possible-c-format
 msgid "Could not find config for %s"
 msgstr ""
@@ -22877,39 +23425,39 @@ msgstr ""
 #. We're out of sync with the target now.  Did it continue
 #. or not?  We can't tell which thread it was in non-stop,
 #. so just ignore this.
-#: remote.c:1756 remote.c:3398 remote.c:3425 remote.c:3546 remote.c:4768
-#: remote.c:7258 remote.c:7358 remote.c:8623 remote.c:10125 remote.c:13802
+#: remote.c:2312 remote.c:3923 remote.c:3948 remote.c:4060 remote.c:5286
+#: remote.c:7708 remote.c:7808 remote.c:10560 remote.c:14090
 #, possible-c-format
 msgid "Remote failure reply: %s"
 msgstr ""
 
-#: remote.c:2425
+#: remote.c:2952
 #, possible-c-format
 msgid "invalid remote ptid: %s"
 msgstr ""
 
-#: remote.c:2707
+#: remote.c:3235
 msgid "Incomplete response to threadinfo request."
 msgstr ""
 
 #. This is an answer to a different request.
-#: remote.c:2710
+#: remote.c:3238
 msgid "ERROR RMT Thread info mismatch."
 msgstr ""
 
-#: remote.c:2724
+#: remote.c:3252
 msgid "ERROR RMT: threadinfo tag mismatch."
 msgstr ""
 
-#: remote.c:2732
+#: remote.c:3260
 msgid "ERROR RMT: length of threadid is not 16."
 msgstr ""
 
-#: remote.c:2747
+#: remote.c:3275
 msgid "ERROR RMT: 'exists' length too long."
 msgstr ""
 
-#: remote.c:2771
+#: remote.c:3299
 msgid "ERROR RMT: unknown thread info tag."
 msgstr ""
 
@@ -22921,897 +23469,898 @@ msgstr ""
 #. exit
 #. wait for packet, then exit
 #.
-#: remote.c:2879
+#: remote.c:3410
 msgid "HMM: threadlist did not echo arg thread, dropping it."
 msgstr ""
 
-#: remote.c:2886
+#: remote.c:3417
 msgid "RMT ERROR : failed to get remote thread list."
 msgstr ""
 
-#: remote.c:2894
+#: remote.c:3425
 msgid "RMT ERROR: threadlist response longer than requested."
 msgstr ""
 
-#: remote.c:2922
+#: remote.c:3453
 msgid "Remote fetch threadlist -infinite loop-."
 msgstr ""
 
-#: remote.c:3158
+#: remote.c:3688
 msgid "threads"
 msgstr ""
 
-#: remote.c:3312
+#: remote.c:3839
 msgid "remote_threads_extra_info"
 msgstr ""
 
-#: remote.c:3581 remote.c:3608
+#: remote.c:4095 remote.c:4122
 #, possible-c-format
 msgid "Target reported unsupported offsets: %s"
 msgstr ""
 
-#: remote.c:3606
+#: remote.c:4120
 #, possible-c-format
 msgid "Malformed response to offset query, %s"
 msgstr ""
 
-#: remote.c:3654
+#: remote.c:4168
 msgid "Can not handle qOffsets TextSeg response with this symbol file"
 msgstr ""
 
-#: remote.c:4042
+#: remote.c:4556
 #, possible-c-format
 msgid "Remote replied unexpectedly to '%s': %s"
 msgstr ""
 
-#: remote.c:4095
+#: remote.c:4609
 msgid "Non-stop mode requested, but remote does not support non-stop"
 msgstr ""
 
-#: remote.c:4102
+#: remote.c:4616
 #, possible-c-format
 msgid "Remote refused setting non-stop mode with: %s"
 msgstr ""
 
-#: remote.c:4118
+#: remote.c:4632
 #, possible-c-format
 msgid "Remote refused setting all-stop mode with: %s"
 msgstr ""
 
-#: remote.c:4141 remote.c:4250
+#: remote.c:4655 remote.c:4764
 msgid "The target is not running (try extended-remote?)"
 msgstr ""
 
-#: remote.c:4287
+#: remote.c:4801
 msgid "Trace is already running on the target.\n"
 msgstr ""
 
-#: remote.c:4435
+#: remote.c:4949
 msgid ""
 "The remote protocol may be unreliable over UDP.\n"
 "Some events may be lost, rendering further debugging impossible."
 msgstr ""
 
-#: remote.c:4471
+#: remote.c:4985
 #, possible-c-format
 msgid "Remote refused setting permissions with: %s"
 msgstr ""
 
-#: remote.c:4508
+#: remote.c:5023
 #, possible-c-format
 msgid "Remote qSupported response supplied an unexpected value for \"%s\"."
 msgstr ""
 
-#: remote.c:4530
+#: remote.c:5045
 #, possible-c-format
 msgid "Remote target reported \"%s\" without a size."
 msgstr ""
 
-#: remote.c:4539
+#: remote.c:5054
 #, possible-c-format
 msgid "Remote target reported \"%s\" with a bad size: \"%s\"."
 msgstr ""
 
-#: remote.c:4798
+#: remote.c:5316
 msgid "empty item in \"qSupported\" response"
 msgstr ""
 
-#: remote.c:4829
+#: remote.c:5347
 #, possible-c-format
 msgid "unrecognized item \"%s\" in \"qSupported\" response"
 msgstr ""
 
-#: remote.c:4905
+#: remote.c:5423
 msgid ""
 "The target is not responding to GDB commands.\n"
 "Stop debugging it? "
 msgstr ""
 
-#: remote.c:4934 remote.c:6215
+#: remote.c:5462 remote.c:6758
 msgid "Disconnected from target."
 msgstr ""
 
-#: remote.c:4944
+#: remote.c:5471
 msgid ""
 "To open a remote debug connection, you need to specify what\n"
 "serial device is attached to the remote system\n"
 "(e.g. /dev/ttyS0, /dev/ttya, COM1, etc.)."
 msgstr ""
 
-#: remote.c:4958
+#: remote.c:5481
 msgid "Already connected to a remote target.  Disconnect? "
 msgstr ""
 
-#: remote.c:4959
+#: remote.c:5482
 msgid "Still connected."
 msgstr ""
 
-#: remote.c:5116
+#: remote.c:5642
 msgid "Remote doesn't know how to detach"
 msgstr ""
 
-#: remote.c:5118
+#: remote.c:5644
 msgid "Can't detach process."
 msgstr ""
 
-#: remote.c:5136
-msgid "Argument given to \"detach\" when remotely debugging."
-msgstr ""
-
-#: remote.c:5139
+#: remote.c:5661
 msgid "No process to detach from."
 msgstr ""
 
-#: remote.c:5148
+#: remote.c:5670
 msgid "Ending remote debugging.\n"
 msgstr ""
 
-#: remote.c:5241
+#: remote.c:5771
 msgid "Argument given to \"disconnect\" when remotely debugging."
 msgstr ""
 
-#: remote.c:5270 remote.c:5306
+#: remote.c:5799 remote.c:5835
 msgid "This target does not support attaching to a process"
 msgstr ""
 
-#: remote.c:5301
+#: remote.c:5830
 #, possible-c-format
 msgid "Attaching to %s failed with: %s"
 msgstr ""
 
-#: remote.c:5308
+#: remote.c:5837
 #, possible-c-format
 msgid "Attaching to %s failed"
 msgstr ""
 
-#: remote.c:5586
+#: remote.c:6120
 #, possible-c-format
 msgid " - Can't pass signal %d to target in reverse: ignored."
 msgstr ""
 
-#: remote.c:5590
+#: remote.c:6124
 msgid "Remote reverse-step not supported."
 msgstr ""
 
-#: remote.c:5592
+#: remote.c:6126
 msgid "Remote reverse-continue not supported."
 msgstr ""
 
-#: remote.c:5688 remote.c:5827
+#: remote.c:6223 remote.c:6375
 #, possible-c-format
 msgid "Unexpected vCont reply in non-stop mode: %s"
 msgstr ""
 
-#: remote.c:6062
+#: remote.c:6605
 msgid "Remote server does not support stopping threads"
 msgstr ""
 
-#: remote.c:6095
+#: remote.c:6638
 #, possible-c-format
 msgid "Stopping %s failed: %s"
 msgstr ""
 
-#: remote.c:6143
+#: remote.c:6686
 msgid "No support for interrupting the remote target."
 msgstr ""
 
-#: remote.c:6145
+#: remote.c:6688
 #, possible-c-format
 msgid "Interrupting target failed: %s"
 msgstr ""
 
-#: remote.c:6211
+#: remote.c:6754
 msgid ""
 "The target is not responding to interrupt requests.\n"
 "Stop debugging it? "
 msgstr ""
 
-#: remote.c:6220
+#: remote.c:6763
 msgid ""
 "Interrupted while waiting for the program.\n"
 "Give up waiting? "
 msgstr ""
 
 #. We got an unknown stop reply.
-#: remote.c:6336
+#: remote.c:6872
 msgid "Unknown stop reply"
 msgstr ""
 
-#: remote.c:6783
+#: remote.c:7224
 #, possible-c-format
 msgid ""
 "Malformed packet(a) (missing colon): %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:6787
+#: remote.c:7228
 #, possible-c-format
 msgid ""
 "Malformed packet(a) (missing register number): %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:6831
+#: remote.c:7272
 msgid "Unexpected swbreak stop reason"
 msgstr ""
 
-#: remote.c:6845
+#: remote.c:7286
 msgid "Unexpected hwbreak stop reason"
 msgstr ""
 
-#: remote.c:6981
+#: remote.c:7422
 #, possible-c-format
 msgid ""
 "Remote sent bad register number %s: %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:6994
+#: remote.c:7435
 #, possible-c-format
 msgid "Remote reply is too short: %s"
 msgstr ""
 
-#: remote.c:7007
+#: remote.c:7448
 #, possible-c-format
 msgid ""
 "Remote register badly formatted: %s\n"
 "here: %s"
 msgstr ""
 
-#: remote.c:7037
+#: remote.c:7478
 #, possible-c-format
 msgid "stop reply packet badly formatted: %s"
 msgstr ""
 
-#: remote.c:7088 remote.c:7091
+#: remote.c:7529 remote.c:7532
 #, possible-c-format
 msgid "unknown stop reply packet: %s"
 msgstr ""
 
-#: remote.c:7102
+#: remote.c:7543
 #, possible-c-format
 msgid "No process or thread specified in stop reply: %s"
 msgstr ""
 
-#: remote.c:7264 remote.c:7409
+#: remote.c:7714 remote.c:7860
 #, possible-c-format
 msgid "Invalid remote reply: %s"
 msgstr ""
 
-#: remote.c:7497
+#: remote.c:7950
 #, possible-c-format
 msgid "Could not fetch register \"%s\"; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:7516
+#: remote.c:7969
 msgid "fetch_register_using_p: early buf termination"
 msgstr ""
 
-#: remote.c:7554
+#: remote.c:7990
+#, possible-c-format
+msgid "Could not read registers; remote failure reply '%s'"
+msgstr ""
+
+#: remote.c:8011
 #, possible-c-format
 msgid "Remote 'g' packet reply is of odd length: %s"
 msgstr ""
 
-#: remote.c:7573
+#: remote.c:8030
 #, possible-c-format
 msgid ""
 "Remote 'g' packet reply is too long (expected %ld bytes, got %d bytes): %s"
 msgstr ""
 
-#: remote.c:7601
+#: remote.c:8058
 #, possible-c-format
 msgid "Truncated register %d in remote 'g' packet"
 msgstr ""
 
-#: remote.c:7630 remote.c:7649
+#: remote.c:8087 remote.c:8106
 msgid "unexpected end of 'g' packet reply"
 msgstr ""
 
-#: remote.c:7691
+#: remote.c:8147
 msgid "could not set remote traceframe"
 msgstr ""
 
-#: remote.c:7799
+#: remote.c:8256
 #, possible-c-format
 msgid "Could not write register \"%s\"; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:7804 remote.c:9353
+#: remote.c:8261 remote.c:9785
 msgid "Bad result from packet_ok"
 msgstr ""
 
-#: remote.c:7843
+#: remote.c:8300
 #, possible-c-format
 msgid "Could not write registers; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:8080
+#: remote.c:8539
 msgid "remote_write_bytes_aux: bad packet format"
 msgstr ""
 
-#: remote.c:8130
+#: remote.c:8589
 msgid "minimum packet size too small to write data"
 msgstr ""
 
-#: remote.c:8245
+#: remote.c:8705
 msgid "remote_write_bytes: bad internal state"
 msgstr ""
 
-#: remote.c:8446
+#: remote.c:8906
 msgid "Too long remote packet."
 msgstr ""
 
-#: remote.c:8449 remote.c:10768
+#: remote.c:8909 remote.c:11199
 msgid "Communication problem with target."
 msgstr ""
 
-#: remote.c:8477
+#: remote.c:8936
 msgid "Remote target does not support flash erase"
 msgstr ""
 
-#: remote.c:8479
+#: remote.c:8938
 msgid "Error erasing flash with vFlashErase packet"
 msgstr ""
 
-#: remote.c:8509
+#: remote.c:8968
 msgid "Remote target does not support vFlashDone"
 msgstr ""
 
-#: remote.c:8511
+#: remote.c:8970
 msgid "Error finishing flash operation"
 msgstr ""
 
-#: remote.c:8572
+#: remote.c:9033
 msgid "Remote connection closed"
 msgstr ""
 
-#: remote.c:8575 remote.c:8602
+#: remote.c:9036 remote.c:9065
 msgid "Remote communication error.  Target disconnected."
 msgstr ""
 
-#: remote.c:8685
+#: remote.c:9141
 msgid ""
 "Cannot execute this command while the target is running.\n"
 "Use the \"interrupt\" command to stop the target\n"
 "and then try again."
 msgstr ""
 
-#: remote.c:9015
+#: remote.c:9468
 #, possible-c-format
 msgid "Invalid run length encoding: %s\n"
 msgstr ""
 
-#: remote.c:9121
+#: remote.c:9574
 msgid "Watchdog timeout has expired.  Target detached."
 msgstr ""
 
 #. We have tried hard enough, and just can't receive the
 #. packet/notification.  Give up.
-#: remote.c:9143
+#: remote.c:9596
 msgid "Ignoring packet error, continuing...\n"
 msgstr ""
 
-#: remote.c:9241 remote.c:9271
+#: remote.c:9695 remote.c:9710
 #, possible-c-format
 msgid "Can't kill fork child process %d"
 msgstr ""
 
-#: remote.c:9327
+#: remote.c:9757
 msgid "Can't kill process"
 msgstr ""
 
-#: remote.c:9474
+#: remote.c:9910
 msgid "Target does not support QDisableRandomization."
 msgstr ""
 
-#: remote.c:9476
+#: remote.c:9912
 #, possible-c-format
 msgid "Bogus QDisableRandomization reply from target: %s"
 msgstr ""
 
-#: remote.c:9495
+#: remote.c:9931
 msgid "Remote file name too long for run packet"
 msgstr ""
 
-#: remote.c:9507
+#: remote.c:9943
 msgid "Argument list too long for run packet"
 msgstr ""
 
-#: remote.c:9528
+#: remote.c:9964
 msgid ""
 "Running the default executable on the remote target failed; try \"set remote "
 "exec-file\"?"
 msgstr ""
 
-#: remote.c:9531
+#: remote.c:9967
 #, possible-c-format
 msgid "Running \"%s\" on the remote target failed"
 msgstr ""
 
-#: remote.c:9560
+#: remote.c:9997
 #, possible-c-format
 msgid "Unable to %s environment variable '%s' on remote."
 msgstr ""
 
-#: remote.c:9574
+#: remote.c:10013
 msgid "Unable to reset environment on remote."
 msgstr ""
 
-#: remote.c:9620
+#: remote.c:10060
 #, possible-c-format
 msgid ""
 "Remote replied unexpectedly while setting the inferior's working\n"
 "directory: %s"
 msgstr ""
 
-#: remote.c:9663
+#: remote.c:10102
 #, possible-c-format
 msgid "Remote replied unexpectedly while setting startup-with-shell: %s"
 msgstr ""
 
-#: remote.c:9679
+#: remote.c:10118
 msgid "Remote target does not support \"set remote exec-file\""
 msgstr ""
 
-#: remote.c:9681
+#: remote.c:10120
 msgid "Remote target does not support \"set args\" or run <ARGS>"
 msgstr ""
 
-#: remote.c:9817
+#: remote.c:10255
 msgid "Target doesn't support breakpoints that have target side commands."
 msgstr ""
 
-#: remote.c:9875
+#: remote.c:10312
 #, possible-c-format
 msgid "hw_bp_to_z: bad watchpoint type %d"
 msgstr ""
 
-#: remote.c:9915
+#: remote.c:10352
 msgid "remote_insert_watchpoint: reached end of function"
 msgstr ""
 
-#: remote.c:9962
+#: remote.c:10399
 msgid "remote_remove_watchpoint: reached end of function"
 msgstr ""
 
-#: remote.c:10134
+#: remote.c:10569
 msgid "remote_insert_hw_breakpoint: reached end of function"
 msgstr ""
 
-#: remote.c:10175
+#: remote.c:10610
 msgid "remote_remove_hw_breakpoint: reached end of function"
 msgstr ""
 
-#: remote.c:10243
+#: remote.c:10677
 msgid "command cannot be used without an exec file"
 msgstr ""
 
-#: remote.c:10279
+#: remote.c:10710
 #, possible-c-format
 msgid "target memory fault, section %s, range %s -- %s"
 msgstr ""
 
-#: remote.c:10295
+#: remote.c:10726
 msgid ""
 "One or more sections of the target image does not match\n"
 "the loaded file\n"
 msgstr ""
 
-#: remote.c:10298
+#: remote.c:10729
 #, possible-c-format
 msgid "No loaded section named '%s'.\n"
 msgstr ""
 
-#: remote.c:10398
+#: remote.c:10831
 #, possible-c-format
 msgid "Unknown remote qXfer reply: %s"
 msgstr ""
 
-#: remote.c:10404
+#: remote.c:10837
 msgid "Remote qXfer reply contained no data."
 msgstr ""
 
-#: remote.c:10606
+#: remote.c:11039
 msgid "remote query is only available after target open"
 msgstr ""
 
-#: remote.c:10710
+#: remote.c:11142
 msgid "Pattern is too large to transmit to remote target."
 msgstr ""
 
-#: remote.c:10732 remote.c:10737
+#: remote.c:11164 remote.c:11169
 #, possible-c-format
 msgid "Unknown qSearch:memory reply: %s"
 msgstr ""
 
-#: remote.c:10750
+#: remote.c:11181
 msgid "remote rcmd is only available after target open"
 msgstr ""
 
-#: remote.c:10762
+#: remote.c:11193
 #, possible-c-format
 msgid "\"monitor\" command ``%s'' is too long."
 msgstr ""
 
-#: remote.c:10789 remote.c:12239 remote.c:12492 remote.c:12592 remote.c:12704
-#: remote.c:12755 remote.c:12833 remote.c:12896 remote.c:12925
+#: remote.c:11220 remote.c:12748 remote.c:13000 remote.c:13098 remote.c:13210
+#: remote.c:13260 remote.c:13337 remote.c:13399 remote.c:13428
 msgid "Target does not support this command."
 msgstr ""
 
-#: remote.c:10800
+#: remote.c:11231
 msgid "Protocol error with Rcmd"
 msgstr ""
 
-#: remote.c:10831 remote.c:11952 remote.c:12041 remote.c:12095
+#: remote.c:11262 remote.c:12446 remote.c:12538 remote.c:12597
 msgid "command can only be used with remote target"
 msgstr ""
 
-#: remote.c:10834
+#: remote.c:11271
 msgid "remote-packet command requires packet text as argument"
 msgstr ""
 
-#: remote.c:10875
+#: remote.c:11314
 msgid "Remote threadset test\n"
 msgstr ""
 
-#: remote.c:10981
+#: remote.c:11420
 msgid "Fetch and print the remote list of thread identifiers, one pkt only"
 msgstr ""
 
-#: remote.c:10984
+#: remote.c:11423
 msgid "Fetch and display info about one thread"
 msgstr ""
 
-#: remote.c:10986
+#: remote.c:11425
 msgid "Test setting to a different thread"
 msgstr ""
 
-#: remote.c:10988
+#: remote.c:11427
 msgid "Iterate through updating all remote thread info"
 msgstr ""
 
-#: remote.c:10990
+#: remote.c:11429
 msgid " Remote thread alive test "
 msgstr ""
 
-#: remote.c:11080
+#: remote.c:11519
 msgid "Remote target doesn't support qGetTLSAddr packet"
 msgstr ""
 
-#: remote.c:11083
+#: remote.c:11522
 msgid "Remote target failed to process qGetTLSAddr request"
 msgstr ""
 
-#: remote.c:11087
+#: remote.c:11526
 msgid "TLS not supported or disabled on this target"
 msgstr ""
 
-#: remote.c:11124
+#: remote.c:11563
 msgid "Remote target doesn't support qGetTIBAddr packet"
 msgstr ""
 
-#: remote.c:11126
+#: remote.c:11565
 msgid "Remote target failed to process qGetTIBAddr request"
 msgstr ""
 
-#: remote.c:11129
+#: remote.c:11568
 msgid "qGetTIBAddr not supported or disabled on this target"
 msgstr ""
 
-#: remote.c:11178
+#: remote.c:11617
 #, possible-c-format
 msgid "Duplicate g packet description added for size %d"
 msgstr ""
 
-#: remote.c:11247 remote.c:11268 remote.c:11290
+#: remote.c:11686 remote.c:11707 remote.c:11729
 msgid "Packet too long for target."
 msgstr ""
 
-#: remote.c:11506
+#: remote.c:11940
 #, possible-c-format
 msgid "Reading %s from remote target...\n"
 msgstr ""
 
-#: remote.c:11511
+#: remote.c:11945
 msgid ""
 "File transfers from remote targets can be slow. Use \"set sysroot\" to "
 "access files locally instead."
 msgstr ""
 
-#: remote.c:11600
+#: remote.c:12048
 #, possible-c-format
 msgid "Read returned %d, but %d bytes."
 msgstr ""
 
-#: remote.c:11752
+#: remote.c:12212
 #, possible-c-format
 msgid "Readlink returned %d, but %d bytes."
 msgstr ""
 
-#: remote.c:11807
+#: remote.c:12264
 #, possible-c-format
 msgid "vFile:fstat returned %d, but %d bytes."
 msgstr ""
 
-#: remote.c:11810
+#: remote.c:12267
 #, possible-c-format
 msgid "vFile:fstat returned %d bytes, but expecting %d."
 msgstr ""
 
-#: remote.c:11856
+#: remote.c:12313
 msgid ""
 "remote target does not support file transfer, attempting to access files "
 "from local filesystem."
 msgstr ""
 
-#: remote.c:11926
+#: remote.c:12383
 #, possible-c-format
 msgid "Unknown remote I/O error %d"
 msgstr ""
 
-#: remote.c:11928
+#: remote.c:12385
 #, possible-c-format
 msgid "Remote I/O error: %s"
 msgstr ""
 
-#: remote.c:11986
+#: remote.c:12490
 #, possible-c-format
 msgid "Error reading %s."
 msgstr ""
 
-#: remote.c:12010
+#: remote.c:12513
 #, possible-c-format
 msgid "Remote write of %d bytes returned 0!"
 msgstr ""
 
-#: remote.c:12027
+#: remote.c:12529
 #, possible-c-format
 msgid "Successfully sent file \"%s\".\n"
 msgstr ""
 
-#: remote.c:12084
+#: remote.c:12588
 #, possible-c-format
 msgid "Successfully fetched file \"%s\".\n"
 msgstr ""
 
-#: remote.c:12103
+#: remote.c:12612
 #, possible-c-format
 msgid "Successfully deleted file \"%s\".\n"
 msgstr ""
 
-#: remote.c:12110
+#: remote.c:12619
 msgid "file to put"
 msgstr ""
 
-#: remote.c:12114
+#: remote.c:12623
 msgid "Invalid parameters to remote put"
 msgstr ""
 
-#: remote.c:12123
+#: remote.c:12632
 msgid "file to get"
 msgstr ""
 
-#: remote.c:12127
+#: remote.c:12636
 msgid "Invalid parameters to remote get"
 msgstr ""
 
-#: remote.c:12136
+#: remote.c:12645
 msgid "file to delete"
 msgstr ""
 
-#: remote.c:12140
+#: remote.c:12649
 msgid "Invalid parameters to remote delete"
 msgstr ""
 
-#: remote.c:12262 remote.c:12277 remote.c:12428 remote.c:12439
+#: remote.c:12771 remote.c:12786 remote.c:12937 remote.c:12948
 msgid "Target does not support source download."
 msgstr ""
 
-#: remote.c:12322
+#: remote.c:12831
 msgid "Fast tracepoint not valid during download"
 msgstr ""
 
 #. Fast tracepoints are functionally identical to regular
 #. tracepoints, so don't take lack of support as a reason to
 #. give up on the trace run.
-#: remote.c:12329
+#: remote.c:12838
 #, possible-c-format
 msgid ""
 "Target does not support fast tracepoints, downloading %d as regular "
 "tracepoint"
 msgstr ""
 
-#: remote.c:12343
+#: remote.c:12852
 msgid "Static tracepoint not valid during download"
 msgstr ""
 
 #. Fast tracepoints are functionally identical to regular
 #. tracepoints, so don't take lack of support as a reason
 #. to give up on the trace run.
-#: remote.c:12349
+#: remote.c:12858
 msgid "Target does not support static tracepoints"
 msgstr ""
 
-#: remote.c:12368
+#: remote.c:12877
 #, possible-c-format
 msgid "Target does not support conditional tracepoints, ignoring tp %d cond"
 msgstr ""
 
-#: remote.c:12377
+#: remote.c:12886
 msgid "Target does not support tracepoints."
 msgstr ""
 
-#: remote.c:12395 remote.c:12414
+#: remote.c:12904 remote.c:12923
 msgid "Error on target while setting tracepoints."
 msgstr ""
 
-#: remote.c:12486
+#: remote.c:12994
 msgid "Trace state variable name too long for tsv definition packet"
 msgstr ""
 
-#: remote.c:12494
+#: remote.c:13002
 msgid "Error on target while downloading trace state variable."
 msgstr ""
 
-#: remote.c:12510
+#: remote.c:13017
 msgid ""
 "Target does not support enabling tracepoints while a trace run is ongoing."
 msgstr ""
 
-#: remote.c:12512
+#: remote.c:13019
 msgid "Error on target while enabling tracepoint."
 msgstr ""
 
-#: remote.c:12528
+#: remote.c:13034
 msgid ""
 "Target does not support disabling tracepoints while a trace run is ongoing."
 msgstr ""
 
-#: remote.c:12530
+#: remote.c:13036
 msgid "Error on target while disabling tracepoint."
 msgstr ""
 
-#: remote.c:12569
+#: remote.c:13075
 msgid "Too many sections for read-only sections definition packet."
 msgstr ""
 
-#: remote.c:12594 remote.c:12706 remote.c:12780 remote.c:12783 remote.c:12835
-#: remote.c:12898 remote.c:12927 remote.c:13003 remote.c:13049
+#: remote.c:13100 remote.c:13212 remote.c:13285 remote.c:13288 remote.c:13339
+#: remote.c:13401 remote.c:13430 remote.c:13506 remote.c:13551
 #, possible-c-format
 msgid "Bogus reply from target: %s"
 msgstr ""
 
-#: remote.c:12640
+#: remote.c:13146
 #, possible-c-format
 msgid "Bogus trace status reply from target: %s"
 msgstr ""
 
-#: remote.c:12749
+#: remote.c:13254
 #, possible-c-format
 msgid "Unknown trace find type %d"
 msgstr ""
 
-#: remote.c:12764
+#: remote.c:13269
 msgid "Unable to parse trace frame number"
 msgstr ""
 
-#: remote.c:12774
+#: remote.c:13279
 msgid "Unable to parse tracepoint number"
 msgstr ""
 
-#: remote.c:12827
+#: remote.c:13331
 msgid "Remote file name too long for trace save packet"
 msgstr ""
 
-#: remote.c:12901
+#: remote.c:13404
 msgid "Target does not support disconnected tracing."
 msgstr ""
 
-#: remote.c:13159
+#: remote.c:13628
 #, possible-c-format
 msgid "Failed to configure the BTS buffer size: %s"
 msgstr ""
 
-#: remote.c:13161
+#: remote.c:13630
 msgid "Failed to configure the BTS buffer size."
 msgstr ""
 
-#: remote.c:13181
+#: remote.c:13650
 #, possible-c-format
 msgid "Failed to configure the trace buffer size: %s"
 msgstr ""
 
-#: remote.c:13183
+#: remote.c:13652
 msgid "Failed to configure the trace buffer size."
 msgstr ""
 
-#: remote.c:13230
+#: remote.c:13699
 msgid ""
-"GDB does not support Intel Processor Trace. \"record\" will not work in this "
-"session."
+"Target is recording using Intel Processor Trace but support was disabled at "
+"compile time."
 msgstr ""
 
-#: remote.c:13245
+#: remote.c:13714
 #, possible-c-format
 msgid "Target is recording using %s.\n"
 msgstr ""
 
-#: remote.c:13292
+#: remote.c:13760 x86-linux-nat.c:226
 #, possible-c-format
 msgid "Could not enable branch tracing for %s: %s"
 msgstr ""
 
-#: remote.c:13295
+#: remote.c:13763
 #, possible-c-format
 msgid "Could not enable branch tracing for %s."
 msgstr ""
 
-#: remote.c:13341
+#: remote.c:13808
 #, possible-c-format
 msgid "Could not disable branch tracing for %s: %s"
 msgstr ""
 
-#: remote.c:13344
+#: remote.c:13811
 #, possible-c-format
 msgid "Could not disable branch tracing for %s."
 msgstr ""
 
-#: remote.c:13376
+#: remote.c:13841
 msgid "Cannot process branch tracing result. XML parsing not supported."
 msgstr ""
 
-#: remote.c:13392
+#: remote.c:13857
 #, possible-c-format
 msgid "Bad branch tracing read type: %u."
 msgstr ""
 
-#: remote.c:13445
+#: remote.c:13909
 #, possible-c-format
 msgid "not currently attached to process %d"
 msgstr ""
 
-#: remote.c:13513
+#: remote.c:13976
 #, possible-c-format
 msgid "Thread handle size mismatch: %d vs %zu (from remote)"
 msgstr ""
 
-#: remote.c:13799
+#: remote.c:14087
 #, possible-c-format
 msgid "Remote refused setting thread events: %s"
 msgstr ""
 
-#: remote.c:13911
+#: remote.c:14198
 #, possible-c-format
 msgid "Debugger's willingness to use range stepping is %s.\n"
 msgstr ""
 
-#: remote.c:13937
+#: remote.c:14228
 msgid "Range stepping is not supported by the current target"
 msgstr ""
 
 #. set/show remote ...
 #. allow-unknown
-#: remote.c:13981 remote.c:13987
+#: remote.c:14258 remote.c:14264
 msgid ""
 "Remote protocol specific variables\n"
 "Configure various remote-protocol specific variables such as\n"
@@ -23819,14 +24368,14 @@ msgid ""
 msgstr ""
 
 #. allow-unknown
-#: remote.c:13994
+#: remote.c:14271
 msgid ""
 "Compare section data on target to the exec file.\n"
 "Argument is a single section name (default: all loaded sections).\n"
 "To compare only read-only loaded sections, specify the -r option."
 msgstr ""
 
-#: remote.c:14000
+#: remote.c:14277
 msgid ""
 "Send an arbitrary packet to a remote target.\n"
 "   maintenance packet TEXT\n"
@@ -23836,57 +24385,57 @@ msgid ""
 "terminating `#' character and checksum."
 msgstr ""
 
-#: remote.c:14009
+#: remote.c:14286
 msgid "Set whether to send break if interrupted."
 msgstr ""
 
-#: remote.c:14010
+#: remote.c:14287
 msgid "Show whether to send break if interrupted."
 msgstr ""
 
-#: remote.c:14011
+#: remote.c:14288
 msgid "If set, a break, instead of a cntrl-c, is sent to the remote target."
 msgstr ""
 
-#: remote.c:14024
+#: remote.c:14301
 msgid "Set interrupt sequence to remote target."
 msgstr ""
 
-#: remote.c:14025
+#: remote.c:14302
 msgid "Show interrupt sequence to remote target."
 msgstr ""
 
-#: remote.c:14026
+#: remote.c:14303
 msgid ""
 "Valid value is \"Ctrl-C\", \"BREAK\" or \"BREAK-g\". The default is \"Ctrl-C"
 "\"."
 msgstr ""
 
-#: remote.c:14033
+#: remote.c:14310
 msgid ""
 "Set whether interrupt-sequence is sent to remote target when gdb connects to."
 msgstr ""
 
-#: remote.c:14034
+#: remote.c:14311
 msgid ""
 "\t\tShow whether interrupt-sequence is sent to remote target when gdb "
 "connects to."
 msgstr ""
 
-#: remote.c:14035
+#: remote.c:14312
 msgid "\t\tIf set, interrupt sequence is sent to remote target."
 msgstr ""
 
 #. Install commands for configuring memory read/write packets.
-#: remote.c:14042
+#: remote.c:14319
 msgid "Set the maximum number of bytes per memory write packet (deprecated)."
 msgstr ""
 
-#: remote.c:14045
+#: remote.c:14322
 msgid "Show the maximum number of bytes per memory write packet (deprecated)."
 msgstr ""
 
-#: remote.c:14049
+#: remote.c:14326
 msgid ""
 "Set the maximum number of bytes per memory-write packet.\n"
 "Specify the number of bytes in a packet or 0 (zero) for the\n"
@@ -23895,7 +24444,7 @@ msgid ""
 "further restriction and ``limit'' to enable that restriction."
 msgstr ""
 
-#: remote.c:14057
+#: remote.c:14334
 msgid ""
 "Set the maximum number of bytes per memory-read packet.\n"
 "Specify the number of bytes in a packet or 0 (zero) for the\n"
@@ -23904,99 +24453,99 @@ msgid ""
 "further restriction and ``limit'' to enable that restriction."
 msgstr ""
 
-#: remote.c:14066
+#: remote.c:14343
 msgid "Show the maximum number of bytes per memory-write packet."
 msgstr ""
 
-#: remote.c:14070
+#: remote.c:14347
 msgid "Show the maximum number of bytes per memory-read packet."
 msgstr ""
 
-#: remote.c:14074
+#: remote.c:14351
 msgid "Set the maximum number of target hardware watchpoints."
 msgstr ""
 
-#: remote.c:14075
+#: remote.c:14352
 msgid "Show the maximum number of target hardware watchpoints."
 msgstr ""
 
-#: remote.c:14076 remote.c:14085 remote.c:14094
+#: remote.c:14353 remote.c:14362 remote.c:14371
 msgid "Specify a negative limit for unlimited."
 msgstr ""
 
-#: remote.c:14083
+#: remote.c:14360
 msgid "Set the maximum length (in bytes) of a target hardware watchpoint."
 msgstr ""
 
-#: remote.c:14084
+#: remote.c:14361
 msgid "Show the maximum length (in bytes) of a target hardware watchpoint."
 msgstr ""
 
-#: remote.c:14092
+#: remote.c:14369
 msgid "Set the maximum number of target hardware breakpoints."
 msgstr ""
 
-#: remote.c:14093
+#: remote.c:14370
 msgid "Show the maximum number of target hardware breakpoints."
 msgstr ""
 
-#: remote.c:14102
+#: remote.c:14379
 msgid "Set the maximum size of the address (in bits) in a memory packet."
 msgstr ""
 
-#: remote.c:14103
+#: remote.c:14380
 msgid "Show the maximum size of the address (in bits) in a memory packet."
 msgstr ""
 
-#: remote.c:14406
+#: remote.c:14683
 msgid "Set use of remote protocol `Z' packets"
 msgstr ""
 
-#: remote.c:14407
+#: remote.c:14684
 msgid "Show use of remote protocol `Z' packets "
 msgstr ""
 
-#: remote.c:14408
+#: remote.c:14685
 msgid ""
 "When set, GDB will attempt to use the remote breakpoint and watchpoint\n"
 "packets."
 msgstr ""
 
-#: remote.c:14417
+#: remote.c:14694
 msgid ""
 "Manipulate files on the remote system\n"
 "Transfer files to and from the remote target system."
 msgstr ""
 
-#: remote.c:14424
+#: remote.c:14701
 msgid "Copy a local file to the remote system."
 msgstr ""
 
-#: remote.c:14428
+#: remote.c:14705
 msgid "Copy a remote file to the local system."
 msgstr ""
 
-#: remote.c:14432
+#: remote.c:14709
 msgid "Delete a remote file."
 msgstr ""
 
-#: remote.c:14436
+#: remote.c:14713
 msgid "Set the remote pathname for \"run\""
 msgstr ""
 
-#: remote.c:14437
+#: remote.c:14714
 msgid "Show the remote pathname for \"run\""
 msgstr ""
 
-#: remote.c:14445
+#: remote.c:14722
 msgid "Enable or disable range stepping."
 msgstr ""
 
-#: remote.c:14446
+#: remote.c:14723
 msgid "Show whether target-assisted range stepping is enabled."
 msgstr ""
 
-#: remote.c:14447
+#: remote.c:14724
 msgid ""
 "If on, and the target supports it, when stepping a source line, GDB\n"
 "tells the target to step the corresponding range of addresses itself "
@@ -24023,80 +24572,83 @@ msgstr ""
 msgid "Show if the host system(3) call is allowed for the target."
 msgstr ""
 
-#: remote-notif.c:277
+#: remote-notif.c:281
 msgid "Set debugging of async remote notification."
 msgstr ""
 
-#: remote-notif.c:278
+#: remote-notif.c:282
 msgid "Show debugging of async remote notification."
 msgstr ""
 
-#: remote-notif.c:279
+#: remote-notif.c:283
 msgid ""
 "When non-zero, debugging output about async remote notifications is enabled."
 msgstr ""
 
-#: remote-sim.c:187
+#: remote-sim.c:80
+msgid "simulator"
+msgstr ""
+
+#: remote-sim.c:81
+msgid "Use the compiled-in simulator."
+msgstr ""
+
+#: remote-sim.c:229
 #, possible-c-format
 msgid "Unable to create simulator instance for inferior %d."
 msgstr ""
 
-#: remote-sim.c:202
+#: remote-sim.c:244
 #, possible-c-format
 msgid ""
 "Inferior %d and inferior %d would have identical simulator state.\n"
 "(This simulator does not support the running of more than one inferior.)"
 msgstr ""
 
-#: remote-sim.c:525
+#: remote-sim.c:565
 msgid "Register size different to expected"
 msgstr ""
 
-#: remote-sim.c:528
+#: remote-sim.c:568
 #, possible-c-format
 msgid "Register %d not updated"
 msgstr ""
 
-#: remote-sim.c:530
+#: remote-sim.c:570
 #, possible-c-format
 msgid "Register %s not updated"
 msgstr ""
 
-#: remote-sim.c:568
+#: remote-sim.c:608
 msgid "program to load"
 msgstr ""
 
-#: remote-sim.c:575
+#: remote-sim.c:615
 msgid "GDB sim does not yet support a load offset."
 msgstr ""
 
-#: remote-sim.c:584
+#: remote-sim.c:624
 msgid "unable to load program"
 msgstr ""
 
-#: remote-sim.c:614 remote-sim.c:1080
+#: remote-sim.c:655 remote-sim.c:1103
 msgid "No program loaded."
 msgstr ""
 
-#: remote-sim.c:645
+#: remote-sim.c:686
 msgid "Unable to create sim inferior."
 msgstr ""
 
-#: remote-sim.c:736
+#: remote-sim.c:777
 msgid "unable to create simulator instance"
 msgstr ""
 
-#: remote-sim.c:859
+#: remote-sim.c:899
 #, possible-c-format
 msgid "gdbsim_resume: pid %d, step %d, signal %d\n"
 msgstr ""
 
-#: remote-sim.c:938
-#, possible-c-format
-msgid "Can't stop pid %d.  No inferior found."
-msgstr ""
-
-#: remote-sim.c:988
+#: remote-sim.c:1011
 #, possible-c-format
 msgid "Unable to wait for pid %d.  Inferior not found."
 msgstr ""
@@ -24109,11 +24661,11 @@ msgstr ""
 #. Consistent with that model, access to the simulator, via sim
 #. commands, is restricted to the period when the channel to the
 #. simulator is open.
-#: remote-sim.c:1211
+#: remote-sim.c:1233
 msgid "Not connected to the simulator target"
 msgstr ""
 
-#: remote-sim.c:1365
+#: remote-sim.c:1348
 msgid "Send a command to the simulator."
 msgstr ""
 
@@ -24145,7 +24697,7 @@ msgstr ""
 msgid "No bookmark #%d."
 msgstr ""
 
-#: reverse.c:240 thread.c:1867
+#: reverse.c:240 thread.c:1813
 msgid "Command requires an argument."
 msgstr ""
 
@@ -24235,96 +24787,209 @@ msgid ""
 "  end   (end of recording)\n"
 msgstr ""
 
-#: rl78-tdep.c:853
+#: riscv-tdep.c:212
+msgid " (currently on)"
+msgstr ""
+
+#: riscv-tdep.c:214
+msgid " (currently off)"
+msgstr ""
+
+#: riscv-tdep.c:219
+#, possible-c-format
+msgid "Debugger's use of compressed breakpoints is set to %s%s.\n"
+msgstr ""
+
+#: riscv-tdep.c:242
+msgid "\"set riscv\" must be followed by an appropriate subcommand.\n"
+msgstr ""
+
+#: riscv-tdep.c:265
+msgid "\"set debug riscv\" must be followed by an appropriate subcommand.\n"
+msgstr ""
+
+#: riscv-tdep.c:277
+#, possible-c-format
+msgid "RiscV debug variable `%s' is set to: %s\n"
+msgstr ""
+
+#: riscv-tdep.c:371
+msgid "unknown xlen size, assuming 4 bytes"
+msgstr ""
+
+#: riscv-tdep.c:450
+msgid "unhandled breakpoint kind"
+msgstr ""
+
+#: riscv-tdep.c:527 riscv-tdep.c:543 riscv-tdep.c:566
+#, possible-c-format
+msgid "unknown isa regsize %i"
+msgstr ""
+
+#: riscv-tdep.c:1127
+#, possible-c-format
+msgid "unable to decode %d byte instructions in prologue at %s"
+msgstr ""
+
+#: riscv-tdep.c:1297
+msgid "Could not compute alignment of type"
+msgstr ""
+
+#: riscv-tdep.c:1793 riscv-tdep.c:1803 riscv-tdep.c:1822 riscv-tdep.c:1829
+#: riscv-tdep.c:1854 riscv-tdep.c:1859
+msgid "failed during argument setup"
+msgstr ""
+
+#. The second location should never be a reference, any
+#. argument being passed by reference just places its address
+#. in the first location and is done.
+#: riscv-tdep.c:1975 riscv-tdep.c:2182 riscv-tdep.c:2277 riscv-tdep.c:2300
+#: riscv-tdep.c:2313
+msgid "invalid argument location"
+msgstr ""
+
+#: riscv-tdep.c:2012 riscv-tdep.c:2150
+msgid "unknown argument location type"
+msgstr ""
+
+#: riscv-tdep.c:2465
+#, possible-c-format
+msgid "unknown ELF header class %d"
+msgstr ""
+
+#: riscv-tdep.c:2494
+#, possible-c-format
+msgid "unknown bits_per_word %d"
+msgstr ""
+
+#: riscv-tdep.c:2647 riscv-tdep.c:2652
+msgid "RISC-V specific debug commands."
+msgstr ""
+
+#: riscv-tdep.c:2657
+msgid "Set riscv inferior call debugging."
+msgstr ""
+
+#: riscv-tdep.c:2658
+msgid "Show riscv inferior call debugging."
+msgstr ""
+
+#: riscv-tdep.c:2659
+msgid ""
+"When non-zero, print debugging information for the riscv specific parts\n"
+"of the inferior call mechanism."
+msgstr ""
+
+#: riscv-tdep.c:2668 riscv-tdep.c:2672
+msgid "RISC-V specific commands."
+msgstr ""
+
+#: riscv-tdep.c:2679
+msgid "Set debugger's use of compressed breakpoints."
+msgstr ""
+
+#: riscv-tdep.c:2680
+msgid "\tShow debugger's use of compressed breakpoints."
+msgstr ""
+
+#: riscv-tdep.c:2681
+msgid ""
+"Debugging compressed code requires compressed breakpoints to be used. If\n"
+" left to 'auto' then gdb will use them if $misa indicates the C extension\n"
+" is supported. If that doesn't give the correct behavior, then this option\n"
+"can be used."
+msgstr ""
+
+#: rl78-tdep.c:852
 #, possible-c-format
 msgid "Undefined mapping for opc reg %d"
 msgstr ""
 
-#: rs6000-aix-tdep.c:1016
+#: rs6000-aix-tdep.c:998
 #, possible-c-format
 msgid "cannot find .ldinfo section from core file: %s"
 msgstr ""
 
-#: rs6000-aix-tdep.c:1025
+#: rs6000-aix-tdep.c:1006
 #, possible-c-format
 msgid "unable to read .ldinfo section from core file: %s"
 msgstr ""
 
 #. FIXME: this happens 3 times at the start of each 64-bit program.
-#: rs6000-nat.c:212
+#: rs6000-nat.c:239
 msgid "ptrace read"
 msgstr ""
 
-#: rs6000-nat.c:272
+#: rs6000-nat.c:299
 msgid "ptrace write"
 msgstr ""
 
-#: rs6000-nat.c:578
+#: rs6000-nat.c:601
 msgid "rs6000_create_inferior: failed to select architecture"
 msgstr ""
 
-#: rs6000-nat.c:610
+#: rs6000-nat.c:631
 msgid "ptrace ldinfo"
 msgstr ""
 
-#: rs6000-tdep.c:2908
+#: rs6000-tdep.c:2771
 #, possible-c-format
 msgid "rs6000_pseudo_register_read: called on unexpected register '%s' (%d)"
 msgstr ""
 
-#: rs6000-tdep.c:2933
+#: rs6000-tdep.c:2796
 #, possible-c-format
 msgid "rs6000_pseudo_register_write: called on unexpected register '%s' (%d)"
 msgstr ""
 
-#: rs6000-tdep.c:2975
+#: rs6000-tdep.c:2838
 #, possible-c-format
 msgid "rs6000_pseudo_register_collect: called on unexpected register '%s' (%d)"
 msgstr ""
 
-#: rs6000-tdep.c:6644
+#: rs6000-tdep.c:6511
 msgid "\"set powerpc\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: rs6000-tdep.c:6685
+#: rs6000-tdep.c:6552
 #, possible-c-format
 msgid "Invalid vector ABI accepted: %s."
 msgstr ""
 
-#: rs6000-tdep.c:6701
+#: rs6000-tdep.c:6568
 #, possible-c-format
 msgid "Use of exact watchpoints is %s.\n"
 msgstr ""
 
-#: rs6000-tdep.c:6805 rs6000-tdep.c:6809
+#: rs6000-tdep.c:6672 rs6000-tdep.c:6676
 msgid "Various PowerPC-specific commands."
 msgstr ""
 
-#: rs6000-tdep.c:6815
+#: rs6000-tdep.c:6682
 msgid "Set whether to use a soft-float ABI."
 msgstr ""
 
-#: rs6000-tdep.c:6816
+#: rs6000-tdep.c:6683
 msgid "Show whether to use a soft-float ABI."
 msgstr ""
 
-#: rs6000-tdep.c:6823
+#: rs6000-tdep.c:6690
 msgid "Set the vector ABI."
 msgstr ""
 
-#: rs6000-tdep.c:6824
+#: rs6000-tdep.c:6691
 msgid "Show the vector ABI."
 msgstr ""
 
-#: rs6000-tdep.c:6830
+#: rs6000-tdep.c:6697
 msgid "Set whether to use just one debug register for watchpoints on scalars."
 msgstr ""
 
-#: rs6000-tdep.c:6832
+#: rs6000-tdep.c:6699
 msgid "Show whether to use just one debug register for watchpoints on scalars."
 msgstr ""
 
-#: rs6000-tdep.c:6834
+#: rs6000-tdep.c:6701
 msgid ""
 "If true, GDB will use only one debug register when watching a variable of\n"
 "scalar type, thus assuming that the variable is accessed through the "
@@ -24332,314 +24997,274 @@ msgid ""
 "of its first byte."
 msgstr ""
 
-#: rust-exp.y:438
+#: rust-exp.y:445
 msgid "Tuple expressions not supported yet"
 msgstr ""
 
-#: rust-exp.y:990
+#: rust-exp.y:1017
 msgid "Could not find crate for current location"
 msgstr ""
 
-#: rust-exp.y:1010
+#: rust-exp.y:1037
 msgid "Couldn't find namespace scope for self::"
 msgstr ""
 
-#: rust-exp.y:1031
+#: rust-exp.y:1058
 #, possible-c-format
 msgid "Too many super:: uses from '%s'"
 msgstr ""
 
-#: rust-exp.y:1070
+#: rust-exp.y:1095
 #, possible-c-format
 msgid "Could not find Rust type %s"
 msgstr ""
 
-#: rust-exp.y:1102
+#: rust-exp.y:1127
 msgid "Not enough hex digits seen"
 msgstr ""
 
-#: rust-exp.y:1106
+#: rust-exp.y:1131
 msgid "Overlong hex escape"
 msgstr ""
 
-#: rust-exp.y:1131
+#: rust-exp.y:1156
 msgid "Unicode escape in byte literal"
 msgstr ""
 
-#: rust-exp.y:1134
+#: rust-exp.y:1159
 msgid "Missing '{' in Unicode escape"
 msgstr ""
 
-#: rust-exp.y:1139
+#: rust-exp.y:1164
 msgid "Missing '}' in Unicode escape"
 msgstr ""
 
-#: rust-exp.y:1173
+#: rust-exp.y:1198
 #, possible-c-format
 msgid "Invalid escape \\%c in literal"
 msgstr ""
 
-#: rust-exp.y:1204
+#: rust-exp.y:1229
 msgid "Unterminated character literal"
 msgstr ""
 
-#: rust-exp.y:1274 rust-exp.y:1301
+#: rust-exp.y:1299 rust-exp.y:1326
 msgid "Unexpected EOF in string"
 msgstr ""
 
-#: rust-exp.y:1278
+#: rust-exp.y:1303
 msgid "Non-ASCII value in raw byte string"
 msgstr ""
 
-#: rust-exp.y:1306
+#: rust-exp.y:1331
 msgid "Non-ASCII value in byte string"
 msgstr ""
 
-#: rust-exp.y:2016
+#: rust-exp.y:2046
 #, possible-c-format
 msgid "No typed name '%s' in current context"
 msgstr ""
 
-#: rust-exp.y:2027
+#: rust-exp.y:2057
 msgid "Negative array length"
 msgstr ""
 
-#: rust-exp.y:2089
+#: rust-exp.y:2119
 #, possible-c-format
 msgid "could not find tuple type '%s'"
 msgstr ""
 
-#: rust-exp.y:2297
+#: rust-exp.y:2327
 #, possible-c-format
 msgid "Type %s is not a tuple struct"
 msgstr ""
 
-#: rust-exp.y:2369
+#: rust-exp.y:2399
 #, possible-c-format
 msgid "No symbol '%s' in current context"
 msgstr ""
 
-#: rust-exp.y:2388
+#: rust-exp.y:2418
 #, possible-c-format
 msgid "Found type '%s', which can't be evaluated in this context"
 msgstr ""
 
-#: rust-exp.y:2427
+#: rust-exp.y:2457
 #, possible-c-format
 msgid "Could not find type '%s'"
 msgstr ""
 
-#: rust-exp.y:2432
+#: rust-exp.y:2462
 msgid "Struct expression applied to non-struct type"
 msgstr ""
 
-#: rust-exp.y:2507
+#: rust-exp.y:2546
 #, possible-c-format
 msgid "%s in expression, near `%s'."
 msgstr ""
 
-#: rust-lang.c:134
-msgid "Encountered void enum value"
-msgstr ""
-
-#: rust-lang.c:151
-#, possible-c-format
-msgid "Only expected one field in %s type"
-msgstr ""
-
-#: rust-lang.c:177
-#, possible-c-format
-msgid "%s refers to field after end of member type"
-msgstr ""
-
-#: rust-lang.c:185
-#, possible-c-format
-msgid "Invalid form for %s"
-msgstr ""
-
-#. This is a bounds check and should never be hit unless Rust
-#. has changed its debuginfo format.
-#: rust-lang.c:209
-msgid "Could not find enum discriminant field"
-msgstr ""
-
-#: rust-lang.c:225
-msgid "Rust debug format has changed"
-msgstr ""
-
-#. Somehow the discriminant wasn't found.
-#: rust-lang.c:264
-#, possible-c-format
-msgid "Could not find variant of %s with discriminant %s"
-msgstr ""
-
-#: rust-lang.c:685
+#: rust-lang.c:564
 msgid "Could not determine the array bounds"
 msgstr ""
 
-#: rust-lang.c:1093
-msgid "Could not compute alignment of type"
-msgstr ""
-
-#: rust-lang.c:1322
+#: rust-lang.c:1105
 msgid "Method calls only supported on struct or enum types"
 msgstr ""
 
-#: rust-lang.c:1324
+#: rust-lang.c:1107
 msgid "Method call on nameless type"
 msgstr ""
 
-#: rust-lang.c:1331
+#: rust-lang.c:1114
 #, possible-c-format
 msgid "Could not find function named '%s'"
 msgstr ""
 
-#: rust-lang.c:1335
+#: rust-lang.c:1118
 #, possible-c-format
 msgid "Function '%s' takes no arguments"
 msgstr ""
 
-#: rust-lang.c:1400
+#: rust-lang.c:1187
 msgid "Range expression with different types"
 msgstr ""
 
-#: rust-lang.c:1506
+#: rust-lang.c:1296
 msgid "Can't take slice of array without '&'"
 msgstr ""
 
-#: rust-lang.c:1530
+#: rust-lang.c:1320
 msgid "Could not find 'data_ptr' in slice type"
 msgstr ""
 
-#: rust-lang.c:1535 rust-lang.c:1586
+#: rust-lang.c:1325 rust-lang.c:1376
 msgid "Cannot subscript non-array type"
 msgstr ""
 
-#: rust-lang.c:1565
+#: rust-lang.c:1355
 msgid "Can't compute array bounds"
 msgstr ""
 
-#: rust-lang.c:1567
+#: rust-lang.c:1357
 msgid "Found array with non-zero lower bound"
 msgstr ""
 
-#: rust-lang.c:1592
+#: rust-lang.c:1382
 msgid "Index less than zero"
 msgstr ""
 
-#: rust-lang.c:1594
+#: rust-lang.c:1384
 msgid "Index greater than length"
 msgstr ""
 
-#: rust-lang.c:1610
+#: rust-lang.c:1400
 msgid "High index less than zero"
 msgstr ""
 
-#: rust-lang.c:1612
+#: rust-lang.c:1402
 msgid "Low index greater than high index"
 msgstr ""
 
-#: rust-lang.c:1614
+#: rust-lang.c:1404
 msgid "High index greater than length"
 msgstr ""
 
-#: rust-lang.c:1777
+#: rust-lang.c:1567
 msgid "Array with negative number of elements"
 msgstr ""
 
-#: rust-lang.c:1835
+#: rust-lang.c:1627
 #, possible-c-format
-msgid "Cannot access field %d of variant %s, there are only %d fields"
+msgid "Cannot access field %d of variant %s::%s, there are only %d fields"
 msgstr ""
 
-#: rust-lang.c:1844
+#: rust-lang.c:1633
 #, possible-c-format
-msgid "Variant %s is not a tuple variant"
+msgid "Cannot access field %d of %s, there are only %d fields"
 msgstr ""
 
-#: rust-lang.c:1855
+#: rust-lang.c:1642
 #, possible-c-format
-msgid "Cannot access field %d of %s, there are only %d fields"
+msgid "Variant %s::%s is not a tuple variant"
 msgstr ""
 
-#: rust-lang.c:1860
+#: rust-lang.c:1646
 #, possible-c-format
 msgid ""
 "Attempting to access anonymous field %d of %s, which is not a tuple, tuple "
 "struct, or tuple-like variant"
 msgstr ""
 
-#: rust-lang.c:1867
+#: rust-lang.c:1655
 msgid ""
 "Anonymous field access is only allowed on tuples, tuple structs, and tuple-"
 "like enum variants"
 msgstr ""
 
-#. We didn't find it.
-#: rust-lang.c:1897 rust-lang.c:1922
+#: rust-lang.c:1689
 #, possible-c-format
-msgid "Could not find field %s of struct variant %s"
+msgid ""
+"Attempting to access named field foo of tuple variant %s::%s, which has only "
+"anonymous fields"
 msgstr ""
 
-#: rust-lang.c:1906
+#: rust-lang.c:1701
 #, possible-c-format
-msgid ""
-"Attempting to access named field %s of tuple variant %s, which has only "
-"anonymous fields"
+msgid "Could not find field %s of struct variant %s::%s"
 msgstr ""
 
-#: s390-linux-nat.c:324 s390-linux-nat.c:344
+#: s390-linux-nat.c:361 s390-linux-nat.c:381
 msgid "Couldn't get register set"
 msgstr ""
 
-#: s390-linux-nat.c:349
+#: s390-linux-nat.c:386
 msgid "Couldn't set register set"
 msgstr ""
 
-#: s390-linux-nat.c:613
+#: s390-linux-nat.c:648
 msgid "Couldn't retrieve debug regs"
 msgstr ""
 
-#: s390-linux-nat.c:651
+#: s390-linux-nat.c:685
 msgid "Couldn't retrieve watchpoint status"
 msgstr ""
 
-#: s390-linux-nat.c:661
+#: s390-linux-nat.c:695
 msgid "Couldn't clear watchpoint status"
 msgstr ""
 
-#: s390-linux-nat.c:767
+#: s390-linux-nat.c:801
 msgid "Couldn't modify watchpoint status"
 msgstr ""
 
-#: s390-linux-nat.c:1068
+#: s390-linux-nat.c:1073
 msgid "Set whether to show the PER (debug) hardware state."
 msgstr ""
 
-#: s390-linux-nat.c:1069
+#: s390-linux-nat.c:1074
 msgid "Show whether to show the PER (debug) hardware state."
 msgstr ""
 
-#: s390-linux-nat.c:1070
+#: s390-linux-nat.c:1075
 msgid ""
 "Use \"on\" to enable, \"off\" to disable.\n"
 "If enabled, the PER state is shown after it is changed by GDB,\n"
 "and when the inferior triggers a breakpoint or watchpoint."
 msgstr ""
 
-#: s390-linux-tdep.c:3388
+#: s390-tdep.c:1904
 msgid "Stack overflow"
 msgstr ""
 
-#: s390-linux-tdep.c:3510
+#: s390-tdep.c:2022
 msgid "invalid return type"
 msgstr ""
 
-#: s390-linux-tdep.c:3549 spu-tdep.c:1548
+#: s390-tdep.c:2060 spu-tdep.c:1549
 msgid "Cannot set function return value."
 msgstr ""
 
-#: s390-linux-tdep.c:3551 spu-tdep.c:1564
+#: s390-tdep.c:2062 spu-tdep.c:1565
 msgid "Function return value unknown."
 msgstr ""
 
@@ -24737,84 +25362,84 @@ msgstr ""
 msgid "Print DOS serial port status."
 msgstr ""
 
-#: serial.c:388
+#: serial.c:382
 msgid "serial_readchar: blocking read in async mode"
 msgstr ""
 
-#: serial.c:645
+#: serial.c:639
 #, possible-c-format
 msgid "Baud rate for remote serial I/O is %s.\n"
 msgstr ""
 
-#: serial.c:677
+#: serial.c:671
 msgid ""
 "Connect the terminal directly up to the command monitor.\n"
 "Use <CR>~. or <CR>~^D to break out."
 msgstr ""
 
-#: serial.c:682
+#: serial.c:676
 msgid "Set default serial/parallel port configuration."
 msgstr ""
 
-#: serial.c:688
+#: serial.c:682
 msgid "Show default serial/parallel port configuration."
 msgstr ""
 
 #. If target is open when baud changes, it doesn't take effect until
 #. the next open (I think, not sure).
-#: serial.c:696
+#: serial.c:690
 msgid "Set baud rate for remote serial I/O."
 msgstr ""
 
-#: serial.c:697
+#: serial.c:691
 msgid "Show baud rate for remote serial I/O."
 msgstr ""
 
-#: serial.c:698
+#: serial.c:692
 msgid ""
 "This value is used to set the speed of the serial port when debugging\n"
 "using remote targets."
 msgstr ""
 
-#: serial.c:706
+#: serial.c:700
 msgid "Set parity for remote serial I/O"
 msgstr ""
 
-#: serial.c:707
+#: serial.c:701
 msgid "Show parity for remote serial I/O"
 msgstr ""
 
-#: serial.c:713
+#: serial.c:707
 msgid "Set filename for remote session recording."
 msgstr ""
 
-#: serial.c:714
+#: serial.c:708
 msgid "Show filename for remote session recording."
 msgstr ""
 
-#: serial.c:715
+#: serial.c:709
 msgid ""
 "This file is used to record the remote session for future playback\n"
 "by gdbserver."
 msgstr ""
 
-#: serial.c:723
+#: serial.c:717
 msgid "Set numerical base for remote session logging"
 msgstr ""
 
-#: serial.c:724
+#: serial.c:718
 msgid "Show numerical base for remote session logging"
 msgstr ""
 
-#: serial.c:731
+#: serial.c:725
 msgid "Set serial debugging."
 msgstr ""
 
-#: serial.c:732
+#: serial.c:726
 msgid "Show serial debugging."
 msgstr ""
 
-#: serial.c:733
+#: serial.c:727
 msgid "When non-zero, serial port debugging is enabled."
 msgstr ""
 
@@ -24838,12 +25463,12 @@ msgstr ""
 msgid "missing child command"
 msgstr ""
 
-#: ser-mingw.c:899
+#: ser-mingw.c:898
 #, possible-c-format
 msgid "error starting child process '%s': %s: %s"
 msgstr ""
 
-#: ser-mingw.c:902
+#: ser-mingw.c:901
 #, possible-c-format
 msgid "error starting child process '%s': %s"
 msgstr ""
@@ -24917,41 +25542,19 @@ msgid ""
 "when debugging using remote targets."
 msgstr ""
 
-#: sh64-tdep.c:1476
-msgid "sh64_register_convert_to_virtual called with non DR register number"
-msgstr ""
-
-#: sh64-tdep.c:1498
-msgid "sh64_register_convert_to_raw called with non DR register number"
-msgstr ""
-
-#: sh64-tdep.c:1960
-#, possible-c-format
-msgid "Invalid pseudo register number %d\n"
-msgstr ""
-
-#: sh64-tdep.c:2061
-#, possible-c-format
-msgid "Invalid register number %d\n"
-msgstr ""
-
-#: sh64-tdep.c:2145
-msgid "Not a valid register for the current processor mode."
-msgstr ""
-
-#: sh-tdep.c:1601
+#: sh-tdep.c:1600
 msgid "sh_register_convert_to_raw called with non DR register number"
 msgstr ""
 
-#: sh-tdep.c:2464
+#: sh-tdep.c:2459
 msgid "Set calling convention used when calling target functions from GDB."
 msgstr ""
 
-#: sh-tdep.c:2466
+#: sh-tdep.c:2461
 msgid "Show calling convention used when calling target functions from GDB."
 msgstr ""
 
-#: sh-tdep.c:2468
+#: sh-tdep.c:2463
 msgid ""
 "gcc       - Use GCC calling convention (default).\n"
 "renesas   - Enforce Renesas calling convention."
@@ -25051,13 +25654,13 @@ msgid ""
 "Ignore a function while stepping.\n"
 "\n"
 "Usage: skip [FUNCTION-NAME]\n"
-"       skip [<file-spec>] [<function-spec>]\n"
+"       skip [FILE-SPEC] [FUNCTION-SPEC]\n"
 "If no arguments are given, ignore the current function.\n"
 "\n"
-"<file-spec> is one of:\n"
+"FILE-SPEC is one of:\n"
 "       -fi|-file FILE-NAME\n"
 "       -gfi|-gfile GLOB-FILE-PATTERN\n"
-"<function-spec> is one of:\n"
+"FUNCTION-SPEC is one of:\n"
 "       -fu|-function FUNCTION-NAME\n"
 "       -rfu|-rfunction FUNCTION-NAME-REGULAR-EXPRESSION"
 msgstr ""
@@ -25083,7 +25686,7 @@ msgid ""
 "\n"
 "If you don't specify any numbers or ranges, we'll enable all skip entries.\n"
 "\n"
-"Usage: skip enable [NUMBERS AND/OR RANGES]"
+"Usage: skip enable [NUMBER | RANGE]..."
 msgstr ""
 
 #: skip.c:645
@@ -25094,7 +25697,7 @@ msgid ""
 "\n"
 "If you don't specify any numbers or ranges, we'll disable all skip entries.\n"
 "\n"
-"Usage: skip disable [NUMBERS AND/OR RANGES]"
+"Usage: skip disable [NUMBER | RANGE]..."
 msgstr ""
 
 #: skip.c:652
@@ -25104,7 +25707,7 @@ msgid ""
 "\n"
 "If you don't specify any numbers or ranges, we'll delete all skip entries.\n"
 "\n"
-"Usage: skip delete [NUMBERS AND/OR RANGES]"
+"Usage: skip delete [NUMBER | RANGES]..."
 msgstr ""
 
 #: skip.c:659
@@ -25114,7 +25717,7 @@ msgid ""
 "\n"
 "If you don't specify any numbers or ranges, we'll show all skips.\n"
 "\n"
-"Usage: skip info [NUMBERS AND/OR RANGES]\n"
+"Usage: skip info [NUMBER | RANGES]...\n"
 "The \"Type\" column indicates one of:\n"
 "\tfile        - ignored file\n"
 "\tfunction    - ignored function"
@@ -25125,128 +25728,129 @@ msgid ""
 "Can not parse XML library list; XML support was disabled at compile time"
 msgstr ""
 
-#: solib-aix.c:176 solib-target.c:160
+#: solib-aix.c:178 solib-target.c:164
 #, possible-c-format
 msgid "Library list has unsupported version \"%s\""
 msgstr ""
 
-#: solib-aix.c:246
+#: solib-aix.c:248
 msgid "aix library list"
 msgstr ""
 
-#: solib-aix.c:285
+#: solib-aix.c:287
 #, possible-c-format
 msgid "%s (failed to read TARGET_OBJECT_LIBRARIES_AIX)"
 msgstr ""
 
-#: solib-aix.c:298
+#: solib-aix.c:300
 #, possible-c-format
 msgid "%s (missing XML support?)"
 msgstr ""
 
-#: solib-aix.c:508
+#: solib-aix.c:510
 msgid "unable to relocate main executable (no info from loader)"
 msgstr ""
 
 #. Should never happen, but recover as best as we can (trying
 #. to open pathname without decoding, possibly leading to
 #. a failure), rather than triggering an assert failure).
-#: solib-aix.c:627
+#: solib-aix.c:626
 #, possible-c-format
 msgid "missing '(' in shared object pathname: %s"
 msgstr ""
 
-#: solib-aix.c:645 solib.c:484
+#. Arrange to free PATHNAME when the error is thrown.
+#: solib-aix.c:646 solib.c:471
 #, possible-c-format
 msgid "Could not open `%s' as an executable file: %s"
 msgstr ""
 
-#: solib-aix.c:655
+#: solib-aix.c:656
 #, possible-c-format
 msgid "\"%s\": not in executable format: %s."
 msgstr ""
 
-#: solib-aix.c:673
+#: solib-aix.c:674
 #, possible-c-format
 msgid "\"%s\": member \"%s\" missing."
 msgstr ""
 
-#: solib-aix.c:680
+#: solib-aix.c:681
 #, possible-c-format
 msgid "%s(%s): not in object format: %s."
 msgstr ""
 
-#: solib-aix.c:726
+#: solib-aix.c:727
 #, possible-c-format
 msgid "unable to find TOC entry for pc %s (no section contains this PC)"
 msgstr ""
 
-#: solib-aix.c:732
+#: solib-aix.c:733
 #, possible-c-format
 msgid "unable to find TOC entry for pc %s (%s has no data section)"
 msgstr ""
 
-#: solib-aix.c:767
+#: solib-aix.c:768
 #, possible-c-format
 msgid "solib-aix debugging is %s.\n"
 msgstr ""
 
-#: solib-aix.c:795
+#: solib-aix.c:796
 msgid "Control the debugging traces for the solib-aix module."
 msgstr ""
 
-#: solib-aix.c:796
+#: solib-aix.c:797
 msgid "Show whether solib-aix debugging traces are enabled."
 msgstr ""
 
-#: solib-aix.c:797
+#: solib-aix.c:798
 msgid "When on, solib-aix debugging traces are enabled."
 msgstr ""
 
-#: solib.c:102
+#: solib.c:103
 #, possible-c-format
 msgid ""
 "The search path for loading non-absolute shared library symbol files is %s.\n"
 msgstr ""
 
-#: solib.c:519
+#: solib.c:504
 #, possible-c-format
 msgid "`%s': not in executable format: %s"
 msgstr ""
 
-#: solib.c:525
+#: solib.c:510
 #, possible-c-format
 msgid ""
 "`%s': Shared library architecture %s is not compatible with target "
 "architecture %s."
 msgstr ""
 
-#: solib.c:567
+#: solib.c:552
 msgid "Shared library file name is too long."
 msgstr ""
 
-#: solib.c:572
+#: solib.c:557
 #, possible-c-format
 msgid "Can't find the file sections in `%s': %s"
 msgstr ""
 
-#: solib.c:718
+#: solib.c:701
 #, possible-c-format
 msgid "Error while reading shared library symbols for %s:\n"
 msgstr ""
 
-#: solib.c:899 solib.c:1358
+#: solib.c:881 solib.c:1340
 msgid "Error while mapping shared library sections:\n"
 msgstr ""
 
-#: solib.c:917
+#: solib.c:899
 #, possible-c-format
 msgid ""
 "Could not load shared library symbols for %s.\n"
 "Do you need \"set solib-search-path\" or \"set sysroot\"?"
 msgstr ""
 
-#: solib.c:922
+#: solib.c:904
 #, possible-c-format
 msgid ""
 "Could not load shared library symbols for %d libraries, e.g. %s.\n"
@@ -25254,68 +25858,68 @@ msgid ""
 "Do you need \"set solib-search-path\" or \"set sysroot\"?"
 msgstr ""
 
-#: solib.c:969
+#: solib.c:951
 #, possible-c-format
 msgid "Loading symbols for shared libraries: %s\n"
 msgstr ""
 
-#: solib.c:973 solib.c:1312
+#: solib.c:955 solib.c:1294
 msgid "Loading symbols for shared libraries.\n"
 msgstr ""
 
-#: solib.c:1018
+#: solib.c:1000
 #, possible-c-format
 msgid "Symbols already loaded for %s\n"
 msgstr ""
 
-#: solib.c:1133
+#: solib.c:1115
 msgid "No shared libraries matched.\n"
 msgstr ""
 
-#: solib.c:1135
+#: solib.c:1117
 msgid "No shared libraries loaded at this time.\n"
 msgstr ""
 
-#: solib.c:1140
+#: solib.c:1122
 msgid "(*): Shared library is missing debugging information.\n"
 msgstr ""
 
-#: solib.c:1442
+#: solib.c:1424
 #, possible-c-format
 msgid "\"%s\" is deprecated, use \"%s\" instead."
 msgstr ""
 
-#: solib.c:1444
+#: solib.c:1426
 #, possible-c-format
 msgid "sysroot set to \"%s\"."
 msgstr ""
 
-#: solib.c:1457
+#: solib.c:1439
 #, possible-c-format
 msgid "Autoloading of shared library symbols is %s.\n"
 msgstr ""
 
-#: solib.c:1621
+#: solib.c:1601
 msgid "Load shared object library symbols for files matching REGEXP."
 msgstr ""
 
-#: solib.c:1623
+#: solib.c:1603
 msgid "Status of loaded shared object libraries."
 msgstr ""
 
-#: solib.c:1626
+#: solib.c:1606
 msgid "Unload all shared object library symbols."
 msgstr ""
 
-#: solib.c:1629
+#: solib.c:1609
 msgid "Set autoloading of shared library symbols."
 msgstr ""
 
-#: solib.c:1630
+#: solib.c:1610
 msgid "Show autoloading of shared library symbols."
 msgstr ""
 
-#: solib.c:1631
+#: solib.c:1611
 msgid ""
 "If \"on\", symbols from all shared object libraries will be loaded\n"
 "automatically when the inferior begins execution, when the dynamic linker\n"
@@ -25323,43 +25927,43 @@ msgid ""
 "inferior.  Otherwise, symbols must be loaded manually, using `sharedlibrary'."
 msgstr ""
 
-#: solib.c:1642
+#: solib.c:1622
 msgid "Set an alternate system root."
 msgstr ""
 
-#: solib.c:1643
+#: solib.c:1623
 msgid "Show the current system root."
 msgstr ""
 
-#: solib.c:1644
+#: solib.c:1624
 msgid ""
 "The system root is used to load absolute shared library symbol files.\n"
 "For other (relative) files, you can add directories using\n"
 "`set solib-search-path'."
 msgstr ""
 
-#: solib.c:1658
+#: solib.c:1638
 msgid ""
 "Set the search path for loading non-absolute shared library symbol files."
 msgstr ""
 
-#: solib.c:1660
+#: solib.c:1640
 msgid ""
 "Show the search path for loading non-absolute shared library symbol files."
 msgstr ""
 
-#: solib.c:1662
+#: solib.c:1642
 msgid ""
 "This takes precedence over the environment variables PATH and "
 "LD_LIBRARY_PATH."
 msgstr ""
 
-#: solib-darwin.c:533
+#: solib-darwin.c:527
 #, possible-c-format
 msgid "unhandled dyld version (%d)"
 msgstr ""
 
-#: solib-darwin.c:637
+#: solib-darwin.c:631
 #, possible-c-format
 msgid "`%s': not a shared-library: %s"
 msgstr ""
@@ -25369,62 +25973,62 @@ msgstr ""
 msgid "Unsupported map version: %d\n"
 msgstr ""
 
-#: solib-dsbt.c:302
+#: solib-dsbt.c:301
 msgid "Error reading DSBT exec loadmap"
 msgstr ""
 
-#: solib-dsbt.c:312
+#: solib-dsbt.c:311
 msgid "Error reading DSBT interp loadmap"
 msgstr ""
 
-#: solib-dsbt.c:672
+#: solib-dsbt.c:671
 msgid ""
 "dsbt_current_sos: Unable to read link map entry.  Shared object chain may be "
 "incomplete."
 msgstr ""
 
-#: solib-dsbt.c:686
+#: solib-dsbt.c:685
 msgid ""
 "dsbt_current_sos: Unable to read dsbt index.  Shared object chain may be "
 "incomplete."
 msgstr ""
 
-#: solib-dsbt.c:707
+#: solib-dsbt.c:706
 msgid ""
 "dsbt_current_sos: Unable to fetch load map.  Shared object chain may be "
 "incomplete."
 msgstr ""
 
-#: solib-dsbt.c:724 solib-frv.c:415
+#: solib-dsbt.c:723 solib-frv.c:415
 #, possible-c-format
 msgid "Can't read pathname for link map entry: %s."
 msgstr ""
 
-#: solib-dsbt.c:772 solib-frv.c:486 solib-svr4.c:2475
+#: solib-dsbt.c:770 solib-frv.c:486 solib-svr4.c:2447
 msgid ""
 "Unable to find dynamic linker breakpoint function.\n"
 "GDB will be unable to debug shared library initializers\n"
 "and track explicitly loaded dynamic code."
 msgstr ""
 
-#: solib-dsbt.c:996 solib-frv.c:855
+#: solib-dsbt.c:989 solib-frv.c:850
 msgid "shared library handler failed to enable breakpoint"
 msgstr ""
 
-#: solib-dsbt.c:1046
+#: solib-dsbt.c:1039
 #, possible-c-format
 msgid "solib-dsbt debugging is %s.\n"
 msgstr ""
 
-#: solib-dsbt.c:1068
+#: solib-dsbt.c:1061
 msgid "Set internal debugging of shared library code for DSBT ELF."
 msgstr ""
 
-#: solib-dsbt.c:1069
+#: solib-dsbt.c:1062
 msgid "Show internal debugging of shared library code for DSBT ELF."
 msgstr ""
 
-#: solib-dsbt.c:1070
+#: solib-dsbt.c:1063
 msgid "When non-zero, DSBT solib specific internal debugging is enabled."
 msgstr ""
 
@@ -25473,19 +26077,19 @@ msgid ""
 "dynamic linker"
 msgstr ""
 
-#: solib-frv.c:789
+#: solib-frv.c:787
 msgid "Unable to load the executable's loadmap."
 msgstr ""
 
-#: solib-frv.c:1170
+#: solib-frv.c:1165
 msgid "Set internal debugging of shared library code for FR-V."
 msgstr ""
 
-#: solib-frv.c:1171
+#: solib-frv.c:1166
 msgid "Show internal debugging of shared library code for FR-V."
 msgstr ""
 
-#: solib-frv.c:1172
+#: solib-frv.c:1167
 msgid "When non-zero, FR-V solib specific internal debugging is enabled."
 msgstr ""
 
@@ -25494,12 +26098,12 @@ msgstr ""
 msgid "Cannot read SPE executable at %s"
 msgstr ""
 
-#: solib-svr4.c:184
+#: solib-svr4.c:180
 #, possible-c-format
 msgid "Error reading shared library list entry at %s"
 msgstr ""
 
-#: solib-svr4.c:294
+#: solib-svr4.c:286
 #, possible-c-format
 msgid ""
 "Using PIC (Position Independent Code) prelink displacement %s for \"%s\".\n"
@@ -25513,42 +26117,42 @@ msgstr ""
 #. verification if it they match.  One could do a verification
 #. of the DYNAMIC segment.  Still the found address is the best
 #. one GDB could find.
-#: solib-svr4.c:310
+#: solib-svr4.c:302
 #, possible-c-format
 msgid ""
 ".dynamic section for \"%s\" is not at the expected address (wrong library or "
 "version mismatch?)"
 msgstr ""
 
-#: solib-svr4.c:1007
+#: solib-svr4.c:991
 msgid "Attempt to reload symbols from process? "
 msgstr ""
 
-#: solib-svr4.c:1047
+#: solib-svr4.c:1018
 #, possible-c-format
 msgid "failed to read exec filename from attached file: %s"
 msgstr ""
 
-#: solib-svr4.c:1189
+#: solib-svr4.c:1160
 #, possible-c-format
 msgid "SVR4 Library list has unsupported version \"%s\""
 msgstr ""
 
-#: solib-svr4.c:1246 solib-target.c:234
+#: solib-svr4.c:1217 solib-target.c:238
 msgid "target library list"
 msgstr ""
 
-#: solib-svr4.c:1353
+#: solib-svr4.c:1324
 #, possible-c-format
 msgid "Corrupted shared library list: %s != %s"
 msgstr ""
 
-#: solib-svr4.c:1383
+#: solib-svr4.c:1354
 #, possible-c-format
 msgid "Can't read pathname for load map: %s."
 msgstr ""
 
-#: solib-svr4.c:1874
+#: solib-svr4.c:1844
 msgid ""
 "Probes-based dynamic linker interface failed.\n"
 "Reverting to original interface.\n"
@@ -25557,153 +26161,161 @@ msgstr ""
 #. It can be printed repeatedly as there is no easy way to check
 #. the executable symbols/file has been already relocated to
 #. displacement.
-#: solib-svr4.c:2940
+#: solib-svr4.c:2912
 #, possible-c-format
 msgid ""
 "Using PIE (Position Independent Executable) displacement %s for \"%s\".\n"
 msgstr ""
 
-#: solib-target.c:92 solib-target.c:110
+#: solib-target.c:93 solib-target.c:112
 msgid "Library list with both segments and sections"
 msgstr ""
 
-#: solib-target.c:140
+#: solib-target.c:143
 msgid "No segment or section bases defined"
 msgstr ""
 
-#: solib-target.c:350
+#: solib-target.c:355
 #, possible-c-format
 msgid ""
 "Could not relocate shared library \"%s\": wrong number of ALLOC sections"
 msgstr ""
 
-#: solib-target.c:394
+#: solib-target.c:399
 #, possible-c-format
 msgid "Could not relocate shared library \"%s\": no segments"
 msgstr ""
 
-#: solib-target.c:404
+#: solib-target.c:409
 #, possible-c-format
 msgid "Could not relocate shared library \"%s\": bad offsets"
 msgstr ""
 
-#: sol-thread.c:278
+#: sol-thread.c:74
+msgid "Solaris threads and pthread."
+msgstr ""
+
+#: sol-thread.c:75
+msgid "Solaris threads and pthread support."
+msgstr ""
+
+#: sol-thread.c:312
 #, possible-c-format
 msgid "thread_to_lwp: td_ta_map_id2thr %s"
 msgstr ""
 
-#: sol-thread.c:284
+#: sol-thread.c:318
 #, possible-c-format
 msgid "thread_to_lwp: td_thr_get_info: %s"
 msgstr ""
 
-#: sol-thread.c:290
+#: sol-thread.c:324
 #, possible-c-format
 msgid "thread_to_lwp: thread state not active: %s"
 msgstr ""
 
-#: sol-thread.c:321
+#: sol-thread.c:355
 #, possible-c-format
 msgid "lwp_to_thread: td_ta_map_lwp2thr: %s."
 msgstr ""
 
-#: sol-thread.c:327
+#: sol-thread.c:361
 #, possible-c-format
 msgid "lwp_to_thread: td_thr_validate: %s."
 msgstr ""
 
-#: sol-thread.c:333
+#: sol-thread.c:367
 #, possible-c-format
 msgid "lwp_to_thread: td_thr_get_info: %s."
 msgstr ""
 
 #. Inactive thread.
-#: sol-thread.c:384 sol-thread.c:417
+#: sol-thread.c:415 sol-thread.c:447
 msgid "This version of Solaris can't start inactive threads."
 msgstr ""
 
-#: sol-thread.c:386 sol-thread.c:419
+#: sol-thread.c:417 sol-thread.c:449
 #, possible-c-format
 msgid "Specified thread %ld seems to have terminated"
 msgstr ""
 
-#: sol-thread.c:471
+#: sol-thread.c:499
 msgid "sol_thread_fetch_registers: thread == 0"
 msgstr ""
 
-#: sol-thread.c:475
+#: sol-thread.c:503
 #, possible-c-format
 msgid "sol_thread_fetch_registers: td_ta_map_id2thr: %s"
 msgstr ""
 
-#: sol-thread.c:482
+#: sol-thread.c:510
 #, possible-c-format
 msgid "sol_thread_fetch_registers: td_thr_getgregs %s"
 msgstr ""
 
-#: sol-thread.c:492
+#: sol-thread.c:520
 #, possible-c-format
 msgid "sol_thread_fetch_registers: td_thr_getfpregs %s"
 msgstr ""
 
-#: sol-thread.c:528
+#: sol-thread.c:553
 #, possible-c-format
 msgid "sol_thread_store_registers: td_ta_map_id2thr %s"
 msgstr ""
 
-#: sol-thread.c:535
+#: sol-thread.c:560
 #, possible-c-format
 msgid "sol_thread_store_registers: td_thr_getgregs %s"
 msgstr ""
 
-#: sol-thread.c:539
+#: sol-thread.c:564
 #, possible-c-format
 msgid "sol_thread_store_registers: td_thr_getfpregs %s"
 msgstr ""
 
-#: sol-thread.c:548
+#: sol-thread.c:573
 #, possible-c-format
 msgid "sol_thread_store_registers: td_thr_setgregs %s"
 msgstr ""
 
-#: sol-thread.c:552
+#: sol-thread.c:577
 #, possible-c-format
 msgid "sol_thread_store_registers: td_thr_setfpregs %s"
 msgstr ""
 
-#: sol-thread.c:610
+#: sol-thread.c:634
 #, possible-c-format
 msgid "sol_thread_new_objfile: td_init: %s"
 msgstr ""
 
-#: sol-thread.c:638
+#: sol-thread.c:662
 #, possible-c-format
 msgid "Cannot initialize thread debugging library: %s"
 msgstr ""
 
-#: sol-thread.c:1116
+#: sol-thread.c:1136
 msgid "info sol-thread: failed to get info for thread."
 msgstr ""
 
-#: sol-thread.c:1229
+#: sol-thread.c:1224
 msgid "Show info on Solaris user threads."
 msgstr ""
 
-#: source.c:93
+#: source.c:94
 #, possible-c-format
 msgid "Number of source lines gdb will list by default is %s.\n"
 msgstr ""
 
-#: source.c:116
+#: source.c:117
 #, possible-c-format
 msgid "Filenames are displayed as \"%s\".\n"
 msgstr ""
 
-#: source.c:309
+#: source.c:310
 msgid "Can't find a default source file"
 msgstr ""
 
-#: source.c:421
+#: source.c:422
 msgid "Reinitialize source path to empty? "
 msgstr ""
 
@@ -25751,78 +26363,78 @@ msgstr ""
 msgid "%s preprocessor macro info.\n"
 msgstr ""
 
-#: source.c:1144
+#: source.c:1136
 msgid "invalid filename_display_string"
 msgstr ""
 
-#: source.c:1174
+#: source.c:1166
 msgid "Source file is more recent than executable."
 msgstr ""
 
-#: source.c:1375
+#: source.c:1360
 #, possible-c-format
 msgid "Line number %d out of range; %s has %d lines."
 msgstr ""
 
-#: source.c:1486
+#: source.c:1471
 msgid "No line number information available"
 msgstr ""
 
 #. Is there any case in which we get here, and have an address
 #. which the user would want to see?  If we have debugging symbols
 #. and no line numbers?
-#: source.c:1546
+#: source.c:1531
 #, possible-c-format
 msgid "Line number %d is out of range for \"%s\".\n"
 msgstr ""
 
-#: source.c:1580 source.c:1665
+#: source.c:1562 source.c:1644
 msgid "Expression not found"
 msgstr ""
 
-#: source.c:1635 source.c:1717
+#: source.c:1617 source.c:1696
 msgid "Expression not found\n"
 msgstr ""
 
-#: source.c:1823
+#: source.c:1802
 msgid "Too many arguments in command"
 msgstr ""
 
-#: source.c:1832
+#: source.c:1811
 #, possible-c-format
 msgid "Source path substitution rule matching `%s':\n"
 msgstr ""
 
-#: source.c:1834
+#: source.c:1813
 msgid "List of all source path substitution rules:\n"
 msgstr ""
 
-#: source.c:1857 source.c:1908
+#: source.c:1836 source.c:1887
 msgid "Incorrect usage, too many arguments in command"
 msgstr ""
 
-#: source.c:1867
+#: source.c:1846
 msgid "Delete all source path substitution rules? "
 msgstr ""
 
-#: source.c:1868
+#: source.c:1847
 msgid "Canceled"
 msgstr ""
 
-#: source.c:1890
+#: source.c:1869
 #, possible-c-format
 msgid "No substitution rule defined for `%s'"
 msgstr ""
 
-#: source.c:1905
+#: source.c:1884
 msgid "Incorrect usage, too few arguments in command"
 msgstr ""
 
-#: source.c:1911
+#: source.c:1890
 msgid "First argument must be at least one character long"
 msgstr ""
 
-#: source.c:1946
+#: source.c:1925
 msgid ""
 "Add directory DIR to beginning of search path for source files.\n"
 "Forget cached info on source file locations and line positions.\n"
@@ -25831,15 +26443,15 @@ msgid ""
 "With no argument, reset the search path to $cdir:$cwd, the default."
 msgstr ""
 
-#: source.c:1962
+#: source.c:1941
 msgid "Set the search path for finding source files."
 msgstr ""
 
-#: source.c:1964
+#: source.c:1943
 msgid "Show the search path for finding source files."
 msgstr ""
 
-#: source.c:1966
+#: source.c:1945
 msgid ""
 "$cwd in the path means the current working directory.\n"
 "$cdir in the path means the compilation directory of the source file.\n"
@@ -25848,11 +26460,11 @@ msgid ""
 "Setting the value to an empty string sets it to $cdir:$cwd, the default."
 msgstr ""
 
-#: source.c:1977
+#: source.c:1956
 msgid "Information about the current source file."
 msgstr ""
 
-#: source.c:1979
+#: source.c:1958
 msgid ""
 "Core addresses of the code for a source line.\n"
 "Line can be specified as\n"
@@ -25867,35 +26479,35 @@ msgid ""
 "The address is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:1991
+#: source.c:1970
 msgid ""
 "Search for regular expression (see regex(3)) from last line listed.\n"
 "The matching line number is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:1997
+#: source.c:1976
 msgid ""
 "Search backward for regular expression (see regex(3)) from last line "
 "listed.\n"
 "The matching line number is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:2002
+#: source.c:1981
 msgid "Set number of source lines gdb will list by default."
 msgstr ""
 
-#: source.c:2003
+#: source.c:1982
 msgid "Show number of source lines gdb will list by default."
 msgstr ""
 
-#: source.c:2004
+#: source.c:1983
 msgid ""
 "Use this to choose how many source lines the \"list\" displays (unless\n"
 "the \"list\" argument explicitly specifies some other number).\n"
 "A value of \"unlimited\", or zero, means there's no limit."
 msgstr ""
 
-#: source.c:2013
+#: source.c:1992
 msgid ""
 "Usage: set substitute-path FROM TO\n"
 "Add a substitution rule replacing FROM into TO in source file names.\n"
@@ -25903,7 +26515,7 @@ msgid ""
 "is replaced by the new one."
 msgstr ""
 
-#: source.c:2021
+#: source.c:2000
 msgid ""
 "Usage: unset substitute-path [FROM]\n"
 "Delete the rule for substituting FROM in source file names.  If FROM\n"
@@ -25911,22 +26523,22 @@ msgid ""
 "If the debugger cannot find a rule for FROM, it will display a warning."
 msgstr ""
 
-#: source.c:2029
+#: source.c:2008
 msgid ""
 "Usage: show substitute-path [FROM]\n"
 "Print the rule for substituting FROM in source file names. If FROM\n"
 "is not specified, print all substitution rules."
 msgstr ""
 
-#: source.c:2037
+#: source.c:2016
 msgid "Set how to display filenames."
 msgstr ""
 
-#: source.c:2038
+#: source.c:2017
 msgid "Show how to display filenames."
 msgstr ""
 
-#: source.c:2039
+#: source.c:2018
 msgid ""
 "filename-display can be:\n"
 "  basename - display only basename of a filename\n"
@@ -26000,224 +26612,226 @@ msgstr ""
 msgid "sparc64_pseudo_register_type: bad register number %d"
 msgstr ""
 
-#: sparc-nat.c:231
+#: sparc-nat.c:229
 msgid "Couldn't get floating-point registers"
 msgstr ""
 
-#: sparc-nat.c:244
+#: sparc-nat.c:242
 msgid "Couldn't write floating-point registers"
 msgstr ""
 
-#: sparc-nat.c:290
+#: sparc-nat.c:288
 msgid "Couldn't get StackGhost cookie"
 msgstr ""
 
-#: sparc-tdep.c:383
+#: sparc-tdep.c:403
 #, possible-c-format
 msgid "sparc32_pseudo_register_name: bad register number %d"
 msgstr ""
 
-#: sparc-tdep.c:470
+#: sparc-tdep.c:490
 #, possible-c-format
 msgid "sparc32_pseudo_register_type: bad register number %d"
 msgstr ""
 
-#: spu-linux-nat.c:474
+#: spu-linux-nat.c:496
 #, possible-c-format
 msgid "Child process unexpectedly missing: %s"
 msgstr ""
 
-#: spu-tdep.c:1629
+#: spu-multiarch.c:41 spu-multiarch.c:42
+msgid "SPU multi-architecture support."
+msgstr ""
+
+#: spu-tdep.c:1630
 #, possible-c-format
 msgid "Could not read instruction at %s."
 msgstr ""
 
-#: spu-tdep.c:2076 spu-tdep.c:2130 spu-tdep.c:2245 spu-tdep.c:2478
-#: spu-tdep.c:2555
+#: spu-tdep.c:2077 spu-tdep.c:2125 spu-tdep.c:2241 spu-tdep.c:2473
+#: spu-tdep.c:2550
 msgid "\"info spu\" is only supported on the SPU architecture."
 msgstr ""
 
-#: spu-tdep.c:2084
+#: spu-tdep.c:2085
 msgid "Could not read event_status."
 msgstr ""
 
-#: spu-tdep.c:2092
+#: spu-tdep.c:2093
 msgid "Could not read event_mask."
 msgstr ""
 
-#: spu-tdep.c:2107
-#, possible-c-format
-msgid "Event Status 0x%s\n"
+#: spu-tdep.c:2099
+msgid "Event Status "
 msgstr ""
 
-#: spu-tdep.c:2108
-#, possible-c-format
-msgid "Event Mask   0x%s\n"
+#: spu-tdep.c:2102
+msgid "Event Mask   "
 msgstr ""
 
-#: spu-tdep.c:2137
+#: spu-tdep.c:2133
 msgid "Could not read signal1."
 msgstr ""
 
-#: spu-tdep.c:2148
+#: spu-tdep.c:2144
 msgid "Could not read signal1_type."
 msgstr ""
 
-#: spu-tdep.c:2155
+#: spu-tdep.c:2152
 msgid "Could not read signal2."
 msgstr ""
 
-#: spu-tdep.c:2166
+#: spu-tdep.c:2163
 msgid "Could not read signal2_type."
 msgstr ""
 
-#: spu-tdep.c:2184
+#: spu-tdep.c:2181
 #, possible-c-format
 msgid "Signal 1 control word 0x%s "
 msgstr ""
 
-#: spu-tdep.c:2186
+#: spu-tdep.c:2183
 msgid "Signal 1 not pending "
 msgstr ""
 
-#: spu-tdep.c:2189 spu-tdep.c:2199
+#: spu-tdep.c:2186 spu-tdep.c:2196
 msgid "(Type Or)\n"
 msgstr ""
 
-#: spu-tdep.c:2191 spu-tdep.c:2201
+#: spu-tdep.c:2188 spu-tdep.c:2198
 msgid "(Type Overwrite)\n"
 msgstr ""
 
-#: spu-tdep.c:2194
+#: spu-tdep.c:2191
 #, possible-c-format
 msgid "Signal 2 control word 0x%s "
 msgstr ""
 
-#: spu-tdep.c:2196
+#: spu-tdep.c:2193
 msgid "Signal 2 not pending "
 msgstr ""
 
-#: spu-tdep.c:2255
+#: spu-tdep.c:2251
 msgid "Could not read mbox_info."
 msgstr ""
 
-#: spu-tdep.c:2264
+#: spu-tdep.c:2260
 msgid "Could not read ibox_info."
 msgstr ""
 
-#: spu-tdep.c:2273
+#: spu-tdep.c:2269
 msgid "Could not read wbox_info."
 msgstr ""
 
-#: spu-tdep.c:2486
+#: spu-tdep.c:2481
 msgid "Could not read dma_info."
 msgstr ""
 
-#: spu-tdep.c:2516 spu-tdep.c:2586
+#: spu-tdep.c:2511 spu-tdep.c:2581
 msgid "no query pending"
 msgstr ""
 
-#: spu-tdep.c:2521 spu-tdep.c:2587
+#: spu-tdep.c:2516 spu-tdep.c:2582
 msgid "'any' query pending"
 msgstr ""
 
-#: spu-tdep.c:2522 spu-tdep.c:2588
+#: spu-tdep.c:2517 spu-tdep.c:2583
 msgid "'all' query pending"
 msgstr ""
 
-#: spu-tdep.c:2523 spu-tdep.c:2589
+#: spu-tdep.c:2518 spu-tdep.c:2584
 msgid "undefined query type"
 msgstr ""
 
-#: spu-tdep.c:2526 spu-tdep.c:2592
+#: spu-tdep.c:2521 spu-tdep.c:2587
 #, possible-c-format
 msgid "Tag-Group Status  0x%s\n"
 msgstr ""
 
-#: spu-tdep.c:2528 spu-tdep.c:2594
+#: spu-tdep.c:2523 spu-tdep.c:2589
 #, possible-c-format
 msgid "Tag-Group Mask    0x%s (%s)\n"
 msgstr ""
 
-#: spu-tdep.c:2530
+#: spu-tdep.c:2525
 #, possible-c-format
 msgid "Stall-and-Notify  0x%s\n"
 msgstr ""
 
-#: spu-tdep.c:2532
+#: spu-tdep.c:2527
 #, possible-c-format
 msgid "Atomic Cmd Status 0x%s\n"
 msgstr ""
 
-#: spu-tdep.c:2563
+#: spu-tdep.c:2558
 msgid "Could not read proxydma_info."
 msgstr ""
 
-#: spu-tdep.c:2605
+#: spu-tdep.c:2600
 msgid "\"info spu\" must be followed by the name of an SPU facility.\n"
 msgstr ""
 
-#: spu-tdep.c:2629
+#: spu-tdep.c:2624
 #, possible-c-format
 msgid "Stopping for new SPE threads is %s.\n"
 msgstr ""
 
-#: spu-tdep.c:2637
+#: spu-tdep.c:2632
 #, possible-c-format
 msgid "Automatic software-cache flush is %s.\n"
 msgstr ""
 
-#: spu-tdep.c:2784 spu-tdep.c:2787 spu-tdep.c:2822
+#: spu-tdep.c:2779 spu-tdep.c:2782 spu-tdep.c:2817
 msgid "Various SPU specific commands."
 msgstr ""
 
-#: spu-tdep.c:2793
+#: spu-tdep.c:2788
 msgid "Set whether to stop for new SPE threads."
 msgstr ""
 
-#: spu-tdep.c:2795
+#: spu-tdep.c:2790
 msgid "Show whether to stop for new SPE threads."
 msgstr ""
 
-#: spu-tdep.c:2797
+#: spu-tdep.c:2792
 msgid ""
 "Use \"on\" to give control to the user when a new SPE thread\n"
 "enters its \"main\" function.\n"
 "Use \"off\" to disable stopping for new SPE threads."
 msgstr ""
 
-#: spu-tdep.c:2808
+#: spu-tdep.c:2803
 msgid "Set whether to automatically flush the software-managed cache."
 msgstr ""
 
-#: spu-tdep.c:2810
+#: spu-tdep.c:2805
 msgid "Show whether to automatically flush the software-managed cache."
 msgstr ""
 
-#: spu-tdep.c:2812
+#: spu-tdep.c:2807
 msgid ""
 "Use \"on\" to automatically flush the software-managed cache\n"
 "whenever SPE execution stops.\n"
 "Use \"off\" to never automatically flush the software-managed cache."
 msgstr ""
 
-#: spu-tdep.c:2827
+#: spu-tdep.c:2822
 msgid "Display SPU event facility status.\n"
 msgstr ""
 
-#: spu-tdep.c:2830
+#: spu-tdep.c:2825
 msgid "Display SPU signal notification facility status.\n"
 msgstr ""
 
-#: spu-tdep.c:2833
+#: spu-tdep.c:2828
 msgid "Display SPU mailbox facility status.\n"
 msgstr ""
 
-#: spu-tdep.c:2836
+#: spu-tdep.c:2831
 msgid "Display MFC DMA status.\n"
 msgstr ""
 
-#: spu-tdep.c:2839
+#: spu-tdep.c:2834
 msgid "Display MFC Proxy-DMA status.\n"
 msgstr ""
 
@@ -26226,101 +26840,107 @@ msgstr ""
 msgid "invalid C++ abbreviation `%s'"
 msgstr ""
 
-#: stabsread.c:253
+#: stabsread.c:251
 #, possible-c-format
 msgid "Invalid symbol data: type number (%d,%d) out of range at symtab pos %d."
 msgstr ""
 
-#: stabsread.c:304
+#: stabsread.c:302
 msgid "GDB internal error: bad real_filenum"
 msgstr ""
 
-#: stabsread.c:677
+#: stabsread.c:675
 #, possible-c-format
 msgid "Bad stabs string '%s'"
 msgstr ""
 
-#: stabsread.c:729
+#: stabsread.c:727
 #, possible-c-format
 msgid "Unknown C++ symbol name `%s'"
 msgstr ""
 
-#: stabsread.c:1493
+#: stabsread.c:1491
 msgid "couldn't parse type; debugger out of date?"
 msgstr ""
 
-#: stabsread.c:1614
+#. Complain and keep going, so compilers can invent new
+#. cross-reference types.
+#: stabsread.c:1611
 #, possible-c-format
 msgid "Unrecognized cross-reference type `%c'"
 msgstr ""
 
-#: stabsread.c:1845
+#: stabsread.c:1840
 #, possible-c-format
 msgid ""
 "Prototyped function type didn't end arguments with `#':\n"
 "%s"
 msgstr ""
 
-#: stabsread.c:1958
+#: stabsread.c:1952
 #, possible-c-format
 msgid "invalid (minimal) member type data format at symtab pos %d."
 msgstr ""
 
-#: stabsread.c:2062
+#: stabsread.c:2056
 msgid "GDB internal error, type is NULL in stabsread.c."
 msgstr ""
 
-#: stabsread.c:2090
+#: stabsread.c:2084
 #, possible-c-format
 msgid "Unknown builtin type %d"
 msgstr ""
 
-#: stabsread.c:2257
+#: stabsread.c:2250
 #, possible-c-format
 msgid "Method has bad physname %s\n"
 msgstr ""
 
-#: stabsread.c:2449
+#: stabsread.c:2441
 #, possible-c-format
 msgid "const/volatile indicator missing, got '%c'"
 msgstr ""
 
-#: stabsread.c:2533
+#. error
+#: stabsread.c:2524
 #, possible-c-format
 msgid "member function type missing, got '%c'"
 msgstr ""
 
-#: stabsread.c:2810
+#: stabsread.c:2798
 #, possible-c-format
 msgid "C++ abbreviated type name unknown at symtab pos %d"
 msgstr ""
 
-#: stabsread.c:3172
+#: stabsread.c:3159
 #, possible-c-format
 msgid "Unknown virtual character `%c' for baseclass"
 msgstr ""
 
-#: stabsread.c:3190
+#: stabsread.c:3176
 #, possible-c-format
 msgid "Unknown visibility `%c' for baseclass"
 msgstr ""
 
-#: stabsread.c:3299
+#. Virtual function table field not found.
+#: stabsread.c:3284
 #, possible-c-format
 msgid "virtual function table pointer not found when defining class `%s'"
 msgstr ""
 
-#: stabsread.c:3412
+#: stabsread.c:3396
 #, possible-c-format
 msgid "Unknown visibility `%c' for field"
 msgstr ""
 
-#: stabsread.c:3454
+#: stabsread.c:3432
 #, possible-c-format
 msgid "struct/union type gets multiply defined: %s%s"
 msgstr ""
 
-#: stabsread.c:4256
+#. Does this actually ever happen?  Is that why we are worrying
+#. about dealing with it rather than just calling error_type?
+#: stabsread.c:4233
 #, possible-c-format
 msgid "base type %d of range type is not defined"
 msgstr ""
@@ -26329,33 +26949,33 @@ msgstr ""
 #. output contained `(0,41),(0,42)=@s8;-16;,(0,43),(0,1);' where should
 #. have been present ";-16,(0,43)" reference instead.  This way the
 #. excessive ";" marker prematurely stops the parameters parsing.
-#: stabsread.c:4297
+#: stabsread.c:4274
 msgid "Invalid (empty) method arguments"
 msgstr ""
 
-#: stabsread.c:4340
+#: stabsread.c:4316
 msgid "Invalid symbol data: common block within common block"
 msgstr ""
 
-#: stabsread.c:4366
+#: stabsread.c:4342
 msgid "ECOMM symbol unmatched by BCOMM"
 msgstr ""
 
-#: stabsread.c:4568
+#: stabsread.c:4544
 msgid "need a type name"
 msgstr ""
 
-#: stabsread.c:4595
+#: stabsread.c:4570
 #, possible-c-format
 msgid "forward-referenced types left unresolved, type code %d."
 msgstr ""
 
-#: stabsread.c:4747
+#: stabsread.c:4721
 #, possible-c-format
 msgid "%s: common block `%s' from global_sym_chain unresolved"
 msgstr ""
 
-#: stabsread.c:4828 stabsread.c:4833
+#: stabsread.c:4802 stabsread.c:4807
 #, possible-c-format
 msgid "invalid symbol name \"%s\""
 msgstr ""
@@ -26387,32 +27007,28 @@ msgstr ""
 msgid " Outermost frame: %s\n"
 msgstr ""
 
-#: stack.c:1830
-msgid "(More stack frames follow...)\n"
-msgstr ""
-
-#: stack.c:1840
+#: stack.c:1823
 #, possible-c-format
 msgid "Backtrace stopped: %s\n"
 msgstr ""
 
-#: stack.c:2064
+#: stack.c:2025
 msgid "PC unavailable, cannot determine locals.\n"
 msgstr ""
 
-#: stack.c:2106
+#: stack.c:2052
 msgid "No locals.\n"
 msgstr ""
 
-#: stack.c:2165
+#: stack.c:2109
 msgid "PC unavailable, cannot determine args.\n"
 msgstr ""
 
-#: stack.c:2188
+#: stack.c:2132
 msgid "No arguments.\n"
 msgstr ""
 
-#: stack.c:2309
+#: stack.c:2243
 msgid "Initial frame selected; you cannot go up."
 msgstr ""
 
@@ -26420,44 +27036,44 @@ msgstr ""
 #. "down" means to really go down (and let me know if that is
 #. impossible), but "down 9999" can be used to mean go all the
 #. way down without getting an error.
-#: stack.c:2346
+#: stack.c:2280
 msgid "Bottom (innermost) frame selected; you cannot go down."
 msgstr ""
 
-#: stack.c:2382
+#: stack.c:2316
 msgid "Can not force return from an inlined function."
 msgstr ""
 
-#: stack.c:2405
+#: stack.c:2339
 msgid ""
 "Return value type not available for selected stack frame.\n"
 "Please use an explicit cast of the value to return."
 msgstr ""
 
-#: stack.c:2452
+#: stack.c:2386
 #, possible-c-format
 msgid "%sMake selected stack frame return now? "
 msgstr ""
 
-#: stack.c:2457
+#: stack.c:2391
 msgid "Function does not return normally to caller."
 msgstr ""
 
-#: stack.c:2458
+#: stack.c:2392
 #, possible-c-format
 msgid "%sMake %s return now? "
 msgstr ""
 
-#: stack.c:2462
+#: stack.c:2396
 msgid "Not confirmed"
 msgstr ""
 
-#: stack.c:2541
+#: stack.c:2489
 #, possible-c-format
-msgid "'%s' not within current stack frame.\n"
+msgid "'%s' not within current stack frame."
 msgstr ""
 
-#: stack.c:2549
+#: stack.c:2500
 msgid ""
 "Make selected stack frame return to its caller.\n"
 "Control remains in the debugger, but when you continue\n"
@@ -26465,110 +27081,111 @@ msgid ""
 "If an argument is given, it is an expression for the value to return."
 msgstr ""
 
-#: stack.c:2555
+#: stack.c:2506
 msgid ""
 "Select and print stack frame that called this one.\n"
 "An argument says how many frames up to go."
 msgstr ""
 
-#: stack.c:2558
+#: stack.c:2509
 msgid ""
 "Same as the `up' command, but does not print anything.\n"
 "This is useful in command scripts."
 msgstr ""
 
-#: stack.c:2562
+#: stack.c:2513
 msgid ""
 "Select and print stack frame called by this one.\n"
 "An argument says how many frames down to go."
 msgstr ""
 
-#: stack.c:2567
+#: stack.c:2518
 msgid ""
 "Same as the `down' command, but does not print anything.\n"
 "This is useful in command scripts."
 msgstr ""
 
-#: stack.c:2571
+#: stack.c:2522
 msgid ""
 "Select and print a stack frame.\n"
 "With no argument, print the selected stack frame.  (See also \"info frame"
 "\").\n"
 "An argument specifies the frame to select.\n"
-"It can be a stack frame number or the address of the frame.\n"
+"It can be a stack frame number or the address of the frame."
 msgstr ""
 
-#: stack.c:2579
+#: stack.c:2530
 msgid ""
 "Select a stack frame without printing anything.\n"
 "An argument specifies the frame to select.\n"
-"It can be a stack frame number or the address of the frame.\n"
+"It can be a stack frame number or the address of the frame."
 msgstr ""
 
-#: stack.c:2585
+#: stack.c:2536
 msgid ""
 "Print backtrace of all stack frames, or innermost COUNT frames.\n"
+"Usage: backtrace [QUALIFIERS]... [COUNT]\n"
 "With a negative argument, print outermost -COUNT frames.\n"
 "Use of the 'full' qualifier also prints the values of the local variables.\n"
 "Use of the 'no-filters' qualifier prohibits frame filters from executing\n"
-"on this backtrace.\n"
+"on this backtrace."
 msgstr ""
 
-#: stack.c:2595
+#: stack.c:2547
 msgid "Backtrace of the stack, or innermost COUNT frames."
 msgstr ""
 
-#: stack.c:2598
+#: stack.c:2550
 msgid "All about selected stack frame, or frame at ADDR."
 msgstr ""
 
-#: stack.c:2601
+#: stack.c:2553
 msgid "Local variables of current stack frame."
 msgstr ""
 
-#: stack.c:2603
+#: stack.c:2555
 msgid "Argument variables of current stack frame."
 msgstr ""
 
-#: stack.c:2606
+#: stack.c:2558
 msgid ""
-"Select the stack frame that contains <func>.\n"
-"Usage: func <name>\n"
+"Select the stack frame that contains NAME.\n"
+"Usage: func NAME"
 msgstr ""
 
-#: stack.c:2612
+#: stack.c:2564
 msgid "Set printing of non-scalar frame arguments"
 msgstr ""
 
-#: stack.c:2613
+#: stack.c:2565
 msgid "Show printing of non-scalar frame arguments"
 msgstr ""
 
-#: stack.c:2617
+#: stack.c:2569
 msgid "Set whether to print frame arguments in raw form."
 msgstr ""
 
-#: stack.c:2618
+#: stack.c:2570
 msgid "Show whether to print frame arguments in raw form."
 msgstr ""
 
-#: stack.c:2619
+#: stack.c:2571
 msgid ""
 "If set, frame arguments are printed in raw form, bypassing any\n"
 "pretty-printers for that value."
 msgstr ""
 
-#: stack.c:2626
+#: stack.c:2578
 msgid ""
 "Set whether to disassemble next source line or insn when execution stops."
 msgstr ""
 
-#: stack.c:2628
+#: stack.c:2580
 msgid ""
 "Show whether to disassemble next source line or insn when execution stops."
 msgstr ""
 
-#: stack.c:2630
+#: stack.c:2582
 msgid ""
 "If ON, GDB will display disassembly of the next source line, in addition\n"
 "to displaying the source line itself.  If the next source line cannot\n"
@@ -26581,15 +27198,15 @@ msgid ""
 "source line."
 msgstr ""
 
-#: stack.c:2647
+#: stack.c:2599
 msgid "Set printing of function arguments at function entry"
 msgstr ""
 
-#: stack.c:2649
+#: stack.c:2601
 msgid "Show printing of function arguments at function entry"
 msgstr ""
 
-#: stack.c:2651
+#: stack.c:2603
 msgid ""
 "GDB can sometimes determine the values of function arguments at entry,\n"
 "in addition to their current values.  This option tells GDB whether\n"
@@ -26749,285 +27366,304 @@ msgstr ""
 msgid "Standard register ``$ps'' is not available for this target"
 msgstr ""
 
-#: symfile.c:563
+#: symfile.c:512
 #, possible-c-format
 msgid "no loadable sections found in added symbol-file %s"
 msgstr ""
 
-#: symfile.c:677
+#: symfile.c:625
 #, possible-c-format
 msgid "section %s not found in %s"
 msgstr ""
 
-#: symfile.c:1148
+#: symfile.c:1095
 #, possible-c-format
 msgid "Load new symbol table from \"%s\"? "
 msgstr ""
 
-#: symfile.c:1183
+#: symfile.c:1130
 msgid "expanding to full symbols..."
 msgstr ""
 
-#: symfile.c:1315
+#: symfile.c:1258
 #, possible-c-format
 msgid "Discard symbol table from `%s'? "
 msgstr ""
 
-#: symfile.c:1317
+#: symfile.c:1260
 msgid "Discard symbol table? "
 msgstr ""
 
-#: symfile.c:1328
+#: symfile.c:1271
 msgid "No symbol file now.\n"
 msgstr ""
 
-#: symfile.c:1404
+#: symfile.c:1347
 #, possible-c-format
 msgid ""
 "the debug information found in \"%s\" does not match \"%s\" (CRC mismatch).\n"
 msgstr ""
 
-#: symfile.c:1420
+#: symfile.c:1363
 #, possible-c-format
 msgid ""
 "The directory where separate debug symbols are searched for is \"%s\".\n"
 msgstr ""
 
-#: symfile.c:1450
+#: symfile.c:1387
 #, possible-c-format
 msgid ""
 "\n"
 "Looking for separate debug info (debug link) for %s\n"
 msgstr ""
 
-#: symfile.c:1611
+#: symfile.c:1527
 msgid "-readnow and -readnever cannot be used simultaneously"
 msgstr ""
 
-#: symfile.c:1657 symfile.c:1666 symfile.c:2256 symfile.c:2277
+#: symfile.c:1574 symfile.c:1591 symfile.c:2195 symfile.c:2225
 #, possible-c-format
 msgid "Unrecognized argument \"%s\""
 msgstr ""
 
-#: symfile.c:1670
+#: symfile.c:1584 symfile.c:2217
+msgid "Missing argument to -o"
+msgstr ""
+
+#: symfile.c:1595
 msgid "no symbol file name was specified"
 msgstr ""
 
-#: symfile.c:1814
+#: symfile.c:1734
 #, possible-c-format
 msgid "I'm sorry, Dave, I can't do that.  Symbol format `%s' unknown."
 msgstr ""
 
-#: symfile.c:1966
+#: symfile.c:1893
 #, possible-c-format
 msgid "Download verify read failed at %s"
 msgstr ""
 
-#: symfile.c:1969
+#: symfile.c:1896
 #, possible-c-format
 msgid "Download verify compare failed at %s"
 msgstr ""
 
-#: symfile.c:1981
+#: symfile.c:1908
 msgid "Canceled the download"
 msgstr ""
 
-#: symfile.c:2071
+#: symfile.c:1958
 msgid "file to load"
 msgstr ""
 
-#: symfile.c:2086
+#: symfile.c:1973
 #, possible-c-format
 msgid "Invalid download offset:%s."
 msgstr ""
 
-#: symfile.c:2089
+#: symfile.c:1976
 msgid "Too many parameters."
 msgstr ""
 
-#: symfile.c:2099
+#: symfile.c:1986
 #, possible-c-format
 msgid "\"%s\" is not an object file: %s"
 msgstr ""
 
-#: symfile.c:2114
+#: symfile.c:2001
 msgid "Load failed"
 msgstr ""
 
-#: symfile.c:2234
+#: symfile.c:2172
 msgid "add-symbol-file takes a file name and an address"
 msgstr ""
 
-#: symfile.c:2265
+#: symfile.c:2204
 msgid "Missing section name after \"-s\""
 msgstr ""
 
-#: symfile.c:2267
+#: symfile.c:2206
 msgid "Missing section address after \"-s\""
 msgstr ""
 
-#: symfile.c:2281
+#: symfile.c:2229
 msgid "You must provide a filename to be loaded."
 msgstr ""
 
-#: symfile.c:2290
-#, possible-c-format
-msgid "The address where %s has been loaded is missing"
-msgstr ""
-
 #. Print the prompt for the query below.  And save the arguments into
 #. a sect_addr_info structure to be passed around to other
 #. functions.  We have to split this up into separate print
 #. statements because hex_string returns a local static
 #. string.
-#: symfile.c:2299
+#: symfile.c:2239
 #, possible-c-format
-msgid "add symbol table from file \"%s\" at\n"
+msgid "add symbol table from file \"%s\""
+msgstr ""
+
+#: symfile.c:2252
+msgid " at\n"
+msgstr ""
+
+#: symfile.c:2272
+#, possible-c-format
+msgid "%s offset by %s\n"
+msgstr ""
+
+#: symfile.c:2274
+msgid " with all sections"
+msgstr ""
+
+#: symfile.c:2275
+msgid "with other sections"
 msgstr ""
 
-#: symfile.c:2352
+#: symfile.c:2308
 msgid "remove-symbol-file: no symbol file provided"
 msgstr ""
 
-#: symfile.c:2362
+#: symfile.c:2318
 msgid "Missing address argument"
 msgstr ""
 
-#: symfile.c:2365 symfile.c:2382
+#: symfile.c:2321 symfile.c:2338
 #, possible-c-format
 msgid "Junk after %s"
 msgstr ""
 
-#: symfile.c:2397
+#: symfile.c:2353
 msgid "No symbol file found"
 msgstr ""
 
-#: symfile.c:2400
+#: symfile.c:2356
 #, possible-c-format
 msgid "Remove symbol table from file \"%s\"? "
 msgstr ""
 
 #. FIXME, should use print_sys_errmsg but it's not filtered.
-#: symfile.c:2445
+#: symfile.c:2401
 #, possible-c-format
 msgid "`%s' has disappeared; keeping its symbols.\n"
 msgstr ""
 
-#: symfile.c:2457
+#: symfile.c:2412
 #, possible-c-format
 msgid "`%s' has changed; re-reading symbols.\n"
 msgstr ""
 
-#: symfile.c:2518
+#: symfile.c:2473
 #, possible-c-format
 msgid "Can't open %s to read symbols."
 msgstr ""
 
-#: symfile.c:2526
+#: symfile.c:2480
 #, possible-c-format
 msgid "Can't read symbols from %s: %s."
 msgstr ""
 
-#: symfile.c:2622
+#: symfile.c:2577
 msgid "(no debugging symbols found)\n"
 msgstr ""
 
-#: symfile.c:2691
+#: symfile.c:2646
 #, possible-c-format
 msgid "Mapping between filename extension and source language is \"%s\".\n"
 msgstr ""
 
-#: symfile.c:2705
+#: symfile.c:2660
 #, possible-c-format
 msgid "'%s': Filename extension must begin with '.'"
 msgstr ""
 
-#: symfile.c:2712 symfile.c:2723
+#: symfile.c:2667 symfile.c:2678
 #, possible-c-format
 msgid "'%s': two arguments required -- filename extension and language"
 msgstr ""
 
-#: symfile.c:2758
+#: symfile.c:2713
 msgid "Filename extensions and the languages they represent:"
 msgstr ""
 
-#: symfile.c:3256
+#: symfile.c:3211
 msgid "No sections are mapped.\n"
 msgstr ""
 
-#: symfile.c:3269 symfile.c:3314
+#: symfile.c:3224 symfile.c:3269
 msgid ""
 "Overlay debugging not enabled.  Use either the 'overlay auto' or\n"
 "the 'overlay manual' command."
 msgstr ""
 
-#: symfile.c:3274 symfile.c:3319
+#: symfile.c:3229 symfile.c:3274
 msgid "Argument required: name of an overlay section"
 msgstr ""
 
-#: symfile.c:3293
+#: symfile.c:3248
 #, possible-c-format
 msgid "Note: section %s unmapped by overlap\n"
 msgstr ""
 
-#: symfile.c:3300 symfile.c:3330
+#: symfile.c:3255 symfile.c:3285
 #, possible-c-format
 msgid "No overlay section called %s"
 msgstr ""
 
-#: symfile.c:3326
+#: symfile.c:3281
 #, possible-c-format
 msgid "Section %s is not mapped"
 msgstr ""
 
-#: symfile.c:3343
+#: symfile.c:3298
 msgid "Automatic overlay debugging enabled."
 msgstr ""
 
-#: symfile.c:3356
+#: symfile.c:3311
 msgid "Overlay debugging enabled."
 msgstr ""
 
-#: symfile.c:3369
+#: symfile.c:3324
 msgid "Overlay debugging disabled."
 msgstr ""
 
-#: symfile.c:3380
+#: symfile.c:3335
 msgid "This target does not know how to read its overlay state."
 msgstr ""
 
-#: symfile.c:3483
+#: symfile.c:3438
 msgid ""
 "Error reading inferior's overlay table: couldn't find `_novlys' variable\n"
 "in inferior.  Use `overlay manual' mode."
 msgstr ""
 
-#: symfile.c:3492 symfile.c:3574
+#: symfile.c:3447 symfile.c:3529
 msgid ""
 "Error reading inferior's overlay table: couldn't find `_ovly_table' array\n"
 "in inferior.  Use `overlay manual' mode."
 msgstr ""
 
-#: symfile.c:3912
+#: symfile.c:3867
 msgid ""
 "Load symbol table from executable file FILE.\n"
-"Usage: symbol-file [-readnow | -readnever] FILE\n"
+"Usage: symbol-file [-readnow | -readnever] [-o OFF] FILE\n"
+"OFF is an optional offset which is added to each section address.\n"
 "The `file' command can also load symbol tables, as well as setting the file\n"
 "to execute.\n"
 msgstr ""
 
-#: symfile.c:3919
+#: symfile.c:3875
 msgid ""
 "Load symbols from FILE, assuming FILE has been dynamically loaded.\n"
-"Usage: add-symbol-file FILE ADDR [-readnow | -readnever | -s SECT-NAME SECT-"
-"ADDR]...\n"
+"Usage: add-symbol-file FILE [-readnow | -readnever] [-o OFF] [ADDR] [-s SECT-"
+"NAME SECT-ADDR]...\n"
 "ADDR is the starting address of the file's text.\n"
 "Each '-s' argument provides a section name and address, and\n"
 "should be specified if the data and bss segments are not contiguous\n"
 "with the text.  SECT-NAME is a section name to be loaded at SECT-ADDR.\n"
+"OFF is an optional offset which is added to the default load addresses\n"
+"of all sections for which no other address was specified.\n"
 msgstr ""
 
-#: symfile.c:3932
+#: symfile.c:3890
 msgid ""
 "Remove a symbol file added via the add-symbol-file command.\n"
 "Usage: remove-symbol-file FILENAME\n"
@@ -27036,7 +27672,7 @@ msgid ""
 "that lies within the boundaries of this symbol file in memory."
 msgstr ""
 
-#: symfile.c:3940
+#: symfile.c:3898
 msgid ""
 "Dynamically load FILE into the running program, and record its symbols\n"
 "for access from GDB.\n"
@@ -27046,77 +27682,77 @@ msgid ""
 "on its own."
 msgstr ""
 
-#: symfile.c:3950
+#: symfile.c:3908
 msgid "Commands for debugging overlays."
 msgstr ""
 
-#: symfile.c:3957
+#: symfile.c:3915
 msgid "Assert that an overlay section is mapped."
 msgstr ""
 
-#: symfile.c:3960
+#: symfile.c:3918
 msgid "Assert that an overlay section is unmapped."
 msgstr ""
 
-#: symfile.c:3963
+#: symfile.c:3921
 msgid "List mappings of overlay sections."
 msgstr ""
 
-#: symfile.c:3966
+#: symfile.c:3924
 msgid "Enable overlay debugging."
 msgstr ""
 
-#: symfile.c:3968
+#: symfile.c:3926
 msgid "Disable overlay debugging."
 msgstr ""
 
-#: symfile.c:3970
+#: symfile.c:3928
 msgid "Enable automatic overlay debugging."
 msgstr ""
 
-#: symfile.c:3972
+#: symfile.c:3930
 msgid "Read the overlay mapping state from the target."
 msgstr ""
 
-#: symfile.c:3976
+#: symfile.c:3934
 msgid "Set mapping between filename extension and source language."
 msgstr ""
 
-#: symfile.c:3977
+#: symfile.c:3935
 msgid "Show mapping between filename extension and source language."
 msgstr ""
 
-#: symfile.c:3978
+#: symfile.c:3936
 msgid "Usage: set extension-language .foo bar"
 msgstr ""
 
-#: symfile.c:3985
+#: symfile.c:3943
 msgid "All filename extensions associated with a source language."
 msgstr ""
 
-#: symfile.c:3988
+#: symfile.c:3946
 msgid "Set the directories where separate debug symbols are searched for."
 msgstr ""
 
-#: symfile.c:3989
+#: symfile.c:3947
 msgid "Show the directories where separate debug symbols are searched for."
 msgstr ""
 
-#: symfile.c:3990
+#: symfile.c:3948
 msgid ""
 "Separate debug symbols are first searched for in the same\n"
 "directory as the binary, then in the `"
 msgstr ""
 
-#: symfile.c:4001
+#: symfile.c:3959
 msgid "Set printing of symbol loading messages."
 msgstr ""
 
-#: symfile.c:4002
+#: symfile.c:3960
 msgid "Show printing of symbol loading messages."
 msgstr ""
 
-#: symfile.c:4003
+#: symfile.c:3961
 msgid ""
 "off   == turn all messages off\n"
 "brief == print messages for the executable,\n"
@@ -27125,15 +27761,15 @@ msgid ""
 "         and messages for each shared library."
 msgstr ""
 
-#: symfile.c:4014
+#: symfile.c:3972
 msgid "Set printing of separate debug info file search debug."
 msgstr ""
 
-#: symfile.c:4015
+#: symfile.c:3973
 msgid "Show printing of separate debug info file search debug."
 msgstr ""
 
-#: symfile.c:4016
+#: symfile.c:3974
 msgid ""
 "When on, GDB prints the searched locations while looking for separate debug "
 "info files."
@@ -27156,32 +27792,32 @@ msgstr ""
 msgid "When enabled, all calls to the symfile functions are logged."
 msgstr ""
 
-#: symfile-mem.c:97
+#: symfile-mem.c:94
 msgid "add-symbol-file-from-memory not supported for this target"
 msgstr ""
 
-#: symfile-mem.c:102
+#: symfile-mem.c:99
 msgid "Failed to read a valid object file image from memory."
 msgstr ""
 
-#: symfile-mem.c:114
+#: symfile-mem.c:111
 #, possible-c-format
 msgid "Got object file from memory but can't read symbols: %s."
 msgstr ""
 
-#: symfile-mem.c:153
+#: symfile-mem.c:143
 msgid "add-symbol-file-from-memory requires an expression argument"
 msgstr ""
 
-#: symfile-mem.c:163
+#: symfile-mem.c:153
 msgid "Must use symbol-file or exec-file before add-symbol-file-from-memory."
 msgstr ""
 
-#: symfile-mem.c:193
+#: symfile-mem.c:183
 msgid "Could not load vsyscall page because no executable was specified"
 msgstr ""
 
-#: symfile-mem.c:224
+#: symfile-mem.c:214
 msgid ""
 "Load the symbols out of memory from a dynamically loaded object file.\n"
 "Give an expression for the address of the file's shared object file header."
@@ -27267,78 +27903,78 @@ msgstr ""
 msgid "  Total memory used for file name cache: %d\n"
 msgstr ""
 
-#: symmisc.c:265
+#: symmisc.c:266
 #, possible-c-format
 msgid "internal error:  minimal symbol count %d != %d"
 msgstr ""
 
-#: symmisc.c:469
+#: symmisc.c:470
 #, possible-c-format
 msgid "No symtab for address: %s"
 msgstr ""
 
-#: symmisc.c:509
+#: symmisc.c:510
 #, possible-c-format
 msgid "No symtab for source file: %s"
 msgstr ""
 
-#: symmisc.c:932
+#: symmisc.c:933
 msgid "Extra arguments after regexp."
 msgstr ""
 
-#: symmisc.c:990
+#: symmisc.c:991
 #, possible-c-format
 msgid "objfile: %s ((struct objfile *) %s)\n"
 msgstr ""
 
-#: symmisc.c:993
+#: symmisc.c:994
 #, possible-c-format
 msgid "compunit_symtab: ((struct compunit_symtab *) %s)\n"
 msgstr ""
 
-#: symmisc.c:995
+#: symmisc.c:996
 #, possible-c-format
 msgid "symtab: %s ((struct symtab *) %s)\n"
 msgstr ""
 
-#: symmisc.c:999
+#: symmisc.c:1000
 #, possible-c-format
 msgid "linetable: ((struct linetable *) %s):\n"
 msgstr ""
 
-#: symmisc.c:1003
+#: symmisc.c:1004
 msgid "No line table.\n"
 msgstr ""
 
-#: symmisc.c:1005
+#: symmisc.c:1006
 msgid "Line table has no lines.\n"
 msgstr ""
 
 #. Leave space for 6 digits of index and line number.  After that the
 #. tables will just not format as well.
-#: symmisc.c:1012
+#: symmisc.c:1013
 #, possible-c-format
 msgid "%-6s %6s %s\n"
 msgstr ""
 
-#: symmisc.c:1013
+#: symmisc.c:1014
 msgid "INDEX"
 msgstr ""
 
-#: symmisc.c:1013
+#: symmisc.c:1014
 msgid "LINE"
 msgstr ""
 
-#: symmisc.c:1013
+#: symmisc.c:1014
 msgid "ADDRESS"
 msgstr ""
 
-#: symmisc.c:1020
+#: symmisc.c:1021
 #, possible-c-format
 msgid "%-6d %6d %s\n"
 msgstr ""
 
-#: symmisc.c:1072
+#: symmisc.c:1073
 msgid ""
 "Print dump of current symbol definitions.\n"
 "Usage: mt print symbols [-pc address] [--] [outfile]\n"
@@ -27350,7 +27986,7 @@ msgid ""
 "If OBJFILE is provided, dump only that file's minimal symbols."
 msgstr ""
 
-#: symmisc.c:1083
+#: symmisc.c:1084
 msgid ""
 "Print dump of current minimal symbol definitions.\n"
 "Usage: mt print msymbols [-objfile objfile] [--] [outfile]\n"
@@ -27359,13 +27995,13 @@ msgid ""
 "If OBJFILE is provided, dump only that file's minimal symbols."
 msgstr ""
 
-#: symmisc.c:1092
+#: symmisc.c:1093
 msgid ""
 "Print dump of current object file definitions.\n"
 "With an argument REGEXP, list the object files with matching names."
 msgstr ""
 
-#: symmisc.c:1096
+#: symmisc.c:1097
 msgid ""
 "List the full symbol tables for all object files.\n"
 "This does not include information about individual symbols, blocks, or\n"
@@ -27373,18 +28009,18 @@ msgid ""
 "With an argument REGEXP, list the symbol tables with matching names."
 msgstr ""
 
-#: symmisc.c:1103
+#: symmisc.c:1104
 msgid ""
 "List the contents of all line tables, from all symbol tables.\n"
 "With an argument REGEXP, list just the line tables for the symbol\n"
 "tables with matching names."
 msgstr ""
 
-#: symmisc.c:1110
+#: symmisc.c:1111
 msgid "Check consistency of currently expanded symtabs."
 msgstr ""
 
-#: symmisc.c:1115
+#: symmisc.c:1116
 msgid ""
 "Expand symbol tables.\n"
 "With an argument REGEXP, only expand the symbol tables with matching names."
@@ -27422,91 +28058,91 @@ msgid ""
 "\t (if a template, try specifying an instantiation: %s<type>)."
 msgstr ""
 
-#: symtab.c:4019
+#: symtab.c:4042
 msgid "mismatched quoting on brackets, try 'operator\\[\\]'"
 msgstr ""
 
-#: symtab.c:4027
+#: symtab.c:4050
 msgid "nothing is allowed between '[' and ']'"
 msgstr ""
 
-#: symtab.c:4083
+#: symtab.c:4106
 msgid "`operator ()' must be specified without whitespace in `()'"
 msgstr ""
 
-#: symtab.c:4089
+#: symtab.c:4112
 msgid "`operator ?:' must be specified without whitespace in `?:'"
 msgstr ""
 
-#: symtab.c:4095
+#: symtab.c:4118
 msgid "`operator []' must be specified without whitespace in `[]'"
 msgstr ""
 
-#: symtab.c:4100
+#: symtab.c:4123
 #, possible-c-format
 msgid "`operator %s' not supported"
 msgstr ""
 
-#: symtab.c:4580
+#: symtab.c:4614
 #, possible-c-format
 msgid "All %ss matching regular expression \"%s\":\n"
 msgstr ""
 
-#: symtab.c:4583
+#: symtab.c:4617
 #, possible-c-format
 msgid "All defined %ss:\n"
 msgstr ""
 
-#: symtab.c:4593
+#: symtab.c:4627
 msgid ""
 "\n"
 "Non-debugging symbols:\n"
 msgstr ""
 
-#: symtab.c:5832 symtab.c:5835
+#: symtab.c:5904 symtab.c:5907
 msgid "All global and static variable names, or those matching REGEXP."
 msgstr ""
 
-#: symtab.c:5839
+#: symtab.c:5911
 msgid "All function names, or those matching REGEXP."
 msgstr ""
 
-#: symtab.c:5850
+#: symtab.c:5922
 msgid "All type names, or those matching REGEXP."
 msgstr ""
 
-#: symtab.c:5853
+#: symtab.c:5925
 msgid "Source files in the program."
 msgstr ""
 
-#: symtab.c:5856
+#: symtab.c:5928
 msgid "Set a breakpoint for all functions matching REGEXP."
 msgstr ""
 
-#: symtab.c:5860
+#: symtab.c:5932
 msgid ""
 "Set the debugger behavior when more than one symbol are possible matches\n"
 "in an expression."
 msgstr ""
 
-#: symtab.c:5862
+#: symtab.c:5934
 msgid "Show how the debugger handles ambiguities in expressions."
 msgstr ""
 
-#: symtab.c:5863
+#: symtab.c:5935
 msgid ""
 "Valid values are \"ask\", \"all\", \"cancel\", and the default is \"all\"."
 msgstr ""
 
-#: symtab.c:5868
+#: symtab.c:5940
 msgid "Set whether a source file may have multiple base names."
 msgstr ""
 
-#: symtab.c:5869
+#: symtab.c:5941
 msgid "Show whether a source file may have multiple base names."
 msgstr ""
 
-#: symtab.c:5870
+#: symtab.c:5942
 msgid ""
 "(A \"base name\" is the name of a file with the directory part removed.\n"
 "Example: The base name of \"/home/user/hello.c\" is \"hello.c\".)\n"
@@ -27517,69 +28153,78 @@ msgid ""
 "one base name, and gdb will do file name comparisons more efficiently."
 msgstr ""
 
-#: symtab.c:5882
+#: symtab.c:5954
 msgid "Set debugging of symbol table creation."
 msgstr ""
 
-#: symtab.c:5883
+#: symtab.c:5955
 msgid "Show debugging of symbol table creation."
 msgstr ""
 
-#: symtab.c:5883
+#: symtab.c:5955
 msgid ""
 "When enabled (non-zero), debugging messages are printed when building\n"
 "symbol tables.  A value of 1 (one) normally provides enough information.\n"
 "A value greater than 1 provides more verbose information."
 msgstr ""
 
-#: symtab.c:5892
+#: symtab.c:5964
 msgid "Set debugging of symbol lookup."
 msgstr ""
 
-#: symtab.c:5893
+#: symtab.c:5965
 msgid "Show debugging of symbol lookup."
 msgstr ""
 
-#: symtab.c:5894
+#: symtab.c:5966
 msgid "When enabled (non-zero), symbol lookups are logged."
 msgstr ""
 
-#: symtab.c:5901
+#: symtab.c:5973
 msgid "Set the size of the symbol cache."
 msgstr ""
 
-#: symtab.c:5902
+#: symtab.c:5974
 msgid "Show the size of the symbol cache."
 msgstr ""
 
-#: symtab.c:5902
+#: symtab.c:5974
 msgid ""
 "The size of the symbol cache.\n"
 "If zero then the symbol cache is disabled."
 msgstr ""
 
-#: symtab.c:5910
+#: symtab.c:5982
 msgid "Dump the symbol cache for each program space."
 msgstr ""
 
-#: symtab.c:5915
+#: symtab.c:5987
 msgid "Print symbol cache statistics for each program space."
 msgstr ""
 
-#: symtab.c:5920
+#: symtab.c:5992
 msgid "Flush the symbol cache for each program space."
 msgstr ""
 
-#: symtab.h:1279
+#: symtab.h:1297
 msgid "Section index is uninitialized"
 msgstr ""
 
-#: target.c:179
+#: target.c:183
 #, possible-c-format
 msgid "Target debugging is %s.\n"
 msgstr ""
 
-#: target.c:378
+#: target.c:203
+msgid "unit tests target"
+msgstr ""
+
+#: target.c:356
+#, possible-c-format
+msgid "target already added (\"%s\")."
+msgstr ""
+
+#: target.c:360
 msgid ""
 "Connect to a target machine or process.\n"
 "The first argument is the type or protocol of the target machine.\n"
@@ -27588,38 +28233,38 @@ msgid ""
 "`help target ' followed by the protocol name."
 msgstr ""
 
-#: target.c:543
+#: target.c:596
 #, possible-c-format
 msgid "You can't do that when your target is `%s'"
 msgstr ""
 
-#: target.c:556
+#: target.c:609
 msgid "No saved terminal information.\n"
 msgstr ""
 
-#: target.c:696
+#: target.c:682
 msgid "Attempt to unpush the dummy target"
 msgstr ""
 
-#: target.c:795 target.c:877
+#: target.c:761 target.c:842
 msgid "Cannot find thread-local variables on this target"
 msgstr ""
 
-#: target.c:830
+#: target.c:795
 msgid "Cannot find thread-local variables in this thread library."
 msgstr ""
 
-#: target.c:835
+#: target.c:800
 #, possible-c-format
 msgid "Cannot find shared library `%s' in dynamic linker's load module list"
 msgstr ""
 
-#: target.c:838
+#: target.c:803
 #, possible-c-format
 msgid "Cannot find executable file `%s' in dynamic linker's load module list"
 msgstr ""
 
-#: target.c:843
+#: target.c:808
 #, possible-c-format
 msgid ""
 "The inferior has not yet allocated storage for thread-local variables in\n"
@@ -27627,7 +28272,7 @@ msgid ""
 "for %s"
 msgstr ""
 
-#: target.c:849
+#: target.c:814
 #, possible-c-format
 msgid ""
 "The inferior has not yet allocated storage for thread-local variables in\n"
@@ -27635,78 +28280,78 @@ msgid ""
 "for %s"
 msgstr ""
 
-#: target.c:857
+#: target.c:822
 #, possible-c-format
 msgid ""
 "Cannot find thread-local storage for %s, shared library %s:\n"
 "%s"
 msgstr ""
 
-#: target.c:862
+#: target.c:827
 #, possible-c-format
 msgid ""
 "Cannot find thread-local storage for %s, executable file %s:\n"
 "%s"
 msgstr ""
 
-#: target.c:1035
+#: target.c:1001
 msgid "Writing to flash memory forbidden in this context"
 msgstr ""
 
-#: target.c:1273
+#: target.c:1237
 #, possible-c-format
 msgid "Writing to memory is not allowed (addr %s, len %s)"
 msgstr ""
 
-#: target.c:1503
+#: target.c:1453
 msgid "Overlapping regions in memory map: ignoring"
 msgstr ""
 
-#: target.c:1530
+#: target.c:1480
 #, possible-c-format
 msgid "Mode for reading from readonly sections is %s.\n"
 msgstr ""
 
-#: target.c:1949
+#: target.c:1880
 #, possible-c-format
 msgid "target object %d, annex %s, contained unexpected null characters"
 msgstr ""
 
-#: target.c:1992
+#: target.c:1923
 msgid "May not insert breakpoints"
 msgstr ""
 
-#: target.c:2013
+#: target.c:1943
 msgid "May not remove breakpoints"
 msgstr ""
 
-#: target.c:2028
+#: target.c:1956
 #, possible-c-format
 msgid "Symbols from \"%s\".\n"
 msgstr ""
 
-#: target.c:2039
+#: target.c:1967
 msgid "\tWhile running this, GDB does not access memory from...\n"
 msgstr ""
 
-#: target.c:2132
+#: target.c:2058
 msgid "Program not killed."
 msgstr ""
 
-#: target.c:2269
+#: target.c:2202
 msgid "could not find a target to follow fork"
 msgstr ""
 
-#: target.c:2294
+#: target.c:2226
 msgid "could not find a target to follow mourn inferior"
 msgstr ""
 
-#: target.c:2348 target.c:2403
+#: target.c:2280 target.c:2335
 #, possible-c-format
 msgid "Unable to access %s bytes of target memory at %s, halting search."
 msgstr ""
 
-#: target.c:2476
+#: target.c:2403
 #, possible-c-format
 msgid ""
 "The \"%s\" target does not support \"run\".  Try \"help target\" or "
@@ -27716,232 +28361,241 @@ msgstr ""
 #. This function is only called if the target is running.  In that
 #. case there should have been a process_stratum target and it
 #. should either know how to create inferiors, or not...
-#: target.c:2484
+#: target.c:2411
 msgid "No targets found"
 msgstr ""
 
-#: target.c:2496
+#: target.c:2423
 #, possible-c-format
 msgid "Whether GDB may automatically connect to the native target is %s.\n"
 msgstr ""
 
-#: target.c:2535
+#: target.c:2440
+#, possible-c-format
+msgid "native target already set (\"%s\")."
+msgstr ""
+
+#: target.c:2468
 #, possible-c-format
 msgid "Don't know how to %s.  Try \"help target\"."
 msgstr ""
 
-#: target.c:2679
+#: target.c:2594
 #, possible-c-format
 msgid "Can't determine the current address space of thread %s\n"
 msgstr ""
 
-#: target.c:3103
+#: target.c:3172
 #, possible-c-format
 msgid "target file %s contained unexpected null characters"
 msgstr ""
 
-#: target.c:3253 target.c:3262
+#: target.c:3303 target.c:3312
 msgid "Command not implemented for this target."
 msgstr ""
 
-#: target.c:3320 target.c:3332
+#: target.c:3321
+msgid "None"
+msgstr ""
+
+#: target.c:3379 target.c:3391
 msgid "May not interrupt or stop the target, ignoring attempt"
 msgstr ""
 
-#: target.c:3448
+#: target.c:3507
 #, possible-c-format
 msgid "Writing to registers is not allowed (regno %d)"
 msgstr ""
 
-#: target.c:3795
+#: target.c:3828
 msgid "\"monitor\" command not supported by this target."
 msgstr ""
 
-#: target.c:3827
+#: target.c:3860
 msgid "Erasing flash memory region at address "
 msgstr ""
 
-#: target.c:3839
+#: target.c:3872
 msgid "No flash memory regions found.\n"
 msgstr ""
 
-#: target.c:3849
+#: target.c:3880
 msgid "The current target stack is:\n"
 msgstr ""
 
-#: target.c:3901
+#: target.c:3934
 #, possible-c-format
 msgid "Controlling the inferior in asynchronous mode is %s.\n"
 msgstr ""
 
-#: target.c:3957
+#: target.c:3990
 #, possible-c-format
 msgid "Whether the target is always in non-stop mode is %s (currently %s).\n"
 msgstr ""
 
-#: target.c:3962
+#: target.c:3995
 #, possible-c-format
 msgid "Whether the target is always in non-stop mode is %s.\n"
 msgstr ""
 
-#: target.c:4078
+#: target.c:4065
 msgid "Set target debugging."
 msgstr ""
 
-#: target.c:4079
+#: target.c:4066
 msgid "Show target debugging."
 msgstr ""
 
-#: target.c:4080
+#: target.c:4067
 msgid ""
 "When non-zero, target debugging is enabled.  Higher numbers are more\n"
 "verbose."
 msgstr ""
 
-#: target.c:4088
+#: target.c:4075
 msgid "Set mode for reading from readonly sections."
 msgstr ""
 
-#: target.c:4089
+#: target.c:4076
 msgid "Show mode for reading from readonly sections."
 msgstr ""
 
-#: target.c:4090
+#: target.c:4077
 msgid ""
 "When this mode is on, memory reads from readonly sections (such as .text)\n"
 "will be read from the object file instead of from the target.  This will\n"
 "result in significant performance improvement for remote targets."
 msgstr ""
 
-#: target.c:4099
+#: target.c:4086
 msgid "Send a command to the remote monitor (remote targets only)."
 msgstr ""
 
-#: target.c:4102
+#: target.c:4089
 msgid "Print the name of each layer of the internal target stack."
 msgstr ""
 
-#: target.c:4106
+#: target.c:4093
 msgid "Set whether gdb controls the inferior in asynchronous mode."
 msgstr ""
 
-#: target.c:4107
+#: target.c:4094
 msgid "Show whether gdb controls the inferior in asynchronous mode."
 msgstr ""
 
-#: target.c:4108
+#: target.c:4095
 msgid "Tells gdb whether to control the inferior in asynchronous mode."
 msgstr ""
 
-#: target.c:4116
+#: target.c:4103
 msgid "Set whether gdb always controls the inferior in non-stop mode."
 msgstr ""
 
-#: target.c:4117
+#: target.c:4104
 msgid "Show whether gdb always controls the inferior in non-stop mode."
 msgstr ""
 
-#: target.c:4118
+#: target.c:4105
 msgid "Tells gdb whether to control the inferior in non-stop mode."
 msgstr ""
 
-#: target.c:4126
+#: target.c:4113
 msgid "Set permission to write into registers."
 msgstr ""
 
-#: target.c:4127
+#: target.c:4114
 msgid "Show permission to write into registers."
 msgstr ""
 
-#: target.c:4128
+#: target.c:4115
 msgid ""
 "When this permission is on, GDB may write into the target's registers.\n"
 "Otherwise, any sort of write attempt will result in an error."
 msgstr ""
 
-#: target.c:4135
+#: target.c:4122
 msgid "Set permission to write into target memory."
 msgstr ""
 
-#: target.c:4136
+#: target.c:4123
 msgid "Show permission to write into target memory."
 msgstr ""
 
-#: target.c:4137
+#: target.c:4124
 msgid ""
 "When this permission is on, GDB may write into the target's memory.\n"
 "Otherwise, any sort of write attempt will result in an error."
 msgstr ""
 
-#: target.c:4144
+#: target.c:4131
 msgid "Set permission to insert breakpoints in the target."
 msgstr ""
 
-#: target.c:4145
+#: target.c:4132
 msgid "Show permission to insert breakpoints in the target."
 msgstr ""
 
-#: target.c:4146
+#: target.c:4133
 msgid ""
 "When this permission is on, GDB may insert breakpoints in the program.\n"
 "Otherwise, any sort of insertion attempt will result in an error."
 msgstr ""
 
-#: target.c:4153
+#: target.c:4140
 msgid "Set permission to insert tracepoints in the target."
 msgstr ""
 
-#: target.c:4154
+#: target.c:4141
 msgid "Show permission to insert tracepoints in the target."
 msgstr ""
 
-#: target.c:4155
+#: target.c:4142
 msgid ""
 "When this permission is on, GDB may insert tracepoints in the program.\n"
 "Otherwise, any sort of insertion attempt will result in an error."
 msgstr ""
 
-#: target.c:4162
+#: target.c:4149
 msgid "Set permission to insert fast tracepoints in the target."
 msgstr ""
 
-#: target.c:4163
+#: target.c:4150
 msgid "Show permission to insert fast tracepoints in the target."
 msgstr ""
 
-#: target.c:4164
+#: target.c:4151
 msgid ""
 "When this permission is on, GDB may insert fast tracepoints.\n"
 "Otherwise, any sort of insertion attempt will result in an error."
 msgstr ""
 
-#: target.c:4171
+#: target.c:4158
 msgid "Set permission to interrupt or signal the target."
 msgstr ""
 
-#: target.c:4172
+#: target.c:4159
 msgid "Show permission to interrupt or signal the target."
 msgstr ""
 
-#: target.c:4173
+#: target.c:4160
 msgid ""
 "When this permission is on, GDB may interrupt/stop the target's execution.\n"
 "Otherwise, any attempt to interrupt or stop will be ignored."
 msgstr ""
 
-#: target.c:4180
+#: target.c:4167
 msgid "Erase all flash memory regions."
 msgstr ""
 
-#: target.c:4183
+#: target.c:4170
 msgid "Set whether GDB may automatically connect to the native target."
 msgstr ""
 
-#: target.c:4184
+#: target.c:4171
 msgid "Show whether GDB may automatically connect to the native target."
 msgstr ""
 
-#: target.c:4185
+#: target.c:4172
 msgid ""
 "When on, and GDB is not connected to a target yet, GDB\n"
 "attempts \"run\" and other commands with the native target."
@@ -27989,108 +28643,128 @@ msgid ""
 "access is on."
 msgstr ""
 
-#: target-descriptions.c:817
+#: target-descriptions.c:538
 msgid "Architecture rejected target-supplied description"
 msgstr ""
 
-#: target-descriptions.c:826
+#: target-descriptions.c:547
 msgid "Target-supplied registers are not supported by the current architecture"
 msgstr ""
 
-#: target-descriptions.c:853
+#: target-descriptions.c:574
 msgid "Could not remove target-supplied description"
 msgstr ""
 
-#: target-descriptions.c:1232 target-descriptions.c:1254
+#: target-descriptions.c:913 target-descriptions.c:935
 #, possible-c-format
 msgid "Register \"%s\" has an unsupported size (%d bits)"
 msgstr ""
 
-#: target-descriptions.c:1645
+#: target-descriptions.c:1170
 #, possible-c-format
 msgid "Attempted to add duplicate compatible architecture \"%s\""
 msgstr ""
 
-#: target-descriptions.c:1660
+#: target-descriptions.c:1185
 #, possible-c-format
 msgid "Attempted to add duplicate property \"%s\""
 msgstr ""
 
-#: target-descriptions.c:1738
+#: target-descriptions.c:1263
 #, possible-c-format
 msgid "The target description will be read from \"%s\".\n"
 msgstr ""
 
-#: target-descriptions.c:1741
+#: target-descriptions.c:1266
 msgid "The target description will be read from the target.\n"
 msgstr ""
 
-#: target-descriptions.c:1852 target-descriptions.c:1973
+#: target-descriptions.c:1377 target-descriptions.c:1498
 #, possible-c-format
 msgid "C output is not supported type \"%s\"."
 msgstr ""
 
-#: target-descriptions.c:2115
+#: target-descriptions.c:1640
 #, possible-c-format
 msgid "\"regnum\" attribute %ld is not the largest number (%d)."
 msgstr ""
 
-#: target-descriptions.c:2164
+#: target-descriptions.c:1704
 msgid "There is no target description to print."
 msgstr ""
 
-#: target-descriptions.c:2167
+#: target-descriptions.c:1707
 msgid "The current target description did not come from an XML file."
 msgstr ""
 
-#: target-descriptions.c:2221
+#: target-descriptions.c:1763
+#, possible-c-format
+msgid "Could not convert description for %s to xml.\n"
+msgstr ""
+
+#: target-descriptions.c:1772
+#, possible-c-format
+msgid "Could not convert description for %s from xml.\n"
+msgstr ""
+
+#: target-descriptions.c:1778
+#, possible-c-format
+msgid "Converted description for %s does not match.\n"
+msgstr ""
+
+#: target-descriptions.c:1794
 msgid "Missing dir name"
 msgstr ""
 
-#: target-descriptions.c:2236
+#: target-descriptions.c:1808
+#, possible-c-format
+msgid "Descriptions for %s do not match.\n"
+msgstr ""
+
+#: target-descriptions.c:1815
 #, possible-c-format
 msgid "Tested %lu XML files, %d failed\n"
 msgstr ""
 
-#: target-descriptions.c:2245
+#: target-descriptions.c:1824
 msgid "Set target description specific variables."
 msgstr ""
 
 #. allow-unknown
-#: target-descriptions.c:2249
+#: target-descriptions.c:1828
 msgid "Show target description specific variables."
 msgstr ""
 
 #. allow-unknown
-#: target-descriptions.c:2253
+#: target-descriptions.c:1832
 msgid "Unset target description specific variables."
 msgstr ""
 
-#: target-descriptions.c:2260
+#: target-descriptions.c:1839
 msgid "Set the file to read for an XML target description"
 msgstr ""
 
-#: target-descriptions.c:2261
+#: target-descriptions.c:1840
 msgid "Show the file to read for an XML target description"
 msgstr ""
 
-#: target-descriptions.c:2262
+#: target-descriptions.c:1841
 msgid ""
 "When set, GDB will read the target description from a local\n"
 "file instead of querying the remote target."
 msgstr ""
 
-#: target-descriptions.c:2269
+#: target-descriptions.c:1848
 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:2274
+#: target-descriptions.c:1853
 msgid "Print the current target description as a C source file."
 msgstr ""
 
-#: target-descriptions.c:2281
+#: target-descriptions.c:1860
 msgid ""
 "Check the target descriptions created in GDB equal the descriptions\n"
 "created from XML files in the directory.\n"
@@ -28130,128 +28804,128 @@ msgstr ""
 msgid "Comparison with an invalid number (NaN)."
 msgstr ""
 
-#: target-memory.c:434
+#: target-memory.c:370
 msgid "Error writing data to flash"
 msgstr ""
 
-#: thread.c:326
+#: thread.c:322
 #, possible-c-format
 msgid "[New %s]\n"
 msgstr ""
 
-#: thread.c:1105
+#: thread.c:1038
 msgid "No thread selected."
 msgstr ""
 
-#: thread.c:1109
+#: thread.c:1044
 msgid "The current thread has terminated"
 msgstr ""
 
-#: thread.c:1177
+#: thread.c:1112
 msgid "Requested thread not found in requested process"
 msgstr ""
 
-#: thread.c:1230
+#: thread.c:1200
 msgid "No threads.\n"
 msgstr ""
 
-#: thread.c:1232
+#: thread.c:1202
 #, possible-c-format
 msgid "No threads match '%s'.\n"
 msgstr ""
 
-#: thread.c:1502
+#: thread.c:1451
 #, possible-c-format
 msgid ""
 "Couldn't restore frame #%d in current thread.  Bottom (innermost) frame "
 "selected:"
 msgstr ""
 
-#: thread.c:1659 thread.c:1730
+#: thread.c:1606 thread.c:1677
 msgid "Please specify a command following the thread ID list"
 msgstr ""
 
-#: thread.c:1697 thread.c:1785
+#: thread.c:1644 thread.c:1732
 #, possible-c-format
 msgid ""
 "\n"
 "Thread %s (%s):\n"
 msgstr ""
 
-#: thread.c:1715
+#: thread.c:1662
 msgid "Please specify a thread ID list"
 msgstr ""
 
-#: thread.c:1753
+#: thread.c:1700
 #, possible-c-format
 msgid "Unknown inferior %d"
 msgstr ""
 
-#: thread.c:1771
+#: thread.c:1718
 #, possible-c-format
 msgid "Unknown thread %d.%d"
 msgstr ""
 
-#: thread.c:1773
+#: thread.c:1720
 #, possible-c-format
 msgid "Unknown thread %d"
 msgstr ""
 
-#: thread.c:1779
+#: thread.c:1726
 #, possible-c-format
 msgid "Thread %s has terminated."
 msgstr ""
 
-#: thread.c:1800 thread.c:1848
+#: thread.c:1746 thread.c:1794
 msgid "No thread selected"
 msgstr ""
 
-#: thread.c:1807
+#: thread.c:1753
 #, possible-c-format
 msgid "[Current thread is %s (%s) (exited)]\n"
 msgstr ""
 
-#: thread.c:1811
+#: thread.c:1757
 #, possible-c-format
 msgid "[Current thread is %s (%s)]\n"
 msgstr ""
 
-#: thread.c:1878
+#: thread.c:1824
 #, possible-c-format
 msgid "Thread %s has name '%s'\n"
 msgstr ""
 
-#: thread.c:1886
+#: thread.c:1832
 #, possible-c-format
 msgid "Thread %s has target name '%s'\n"
 msgstr ""
 
-#: thread.c:1894
+#: thread.c:1840
 #, possible-c-format
 msgid "Thread %s has target id '%s'\n"
 msgstr ""
 
-#: thread.c:1902
+#: thread.c:1848
 #, possible-c-format
 msgid "Thread %s has extra info '%s'\n"
 msgstr ""
 
-#: thread.c:1908
+#: thread.c:1854
 #, possible-c-format
 msgid "No threads match '%s'\n"
 msgstr ""
 
-#: thread.c:1918
+#: thread.c:1864
 #, possible-c-format
 msgid "Printing of thread events is %s.\n"
 msgstr ""
 
-#: thread.c:1928
+#: thread.c:1874
 #, possible-c-format
 msgid "Thread ID %s has terminated."
 msgstr ""
 
-#: thread.c:2075
+#: thread.c:2024
 msgid ""
 "Display currently known threads.\n"
 "Usage: info threads [-gid] [ID]...\n"
@@ -28260,58 +28934,61 @@ msgid ""
 "Otherwise, all threads are displayed."
 msgstr ""
 
-#: thread.c:2081
+#: thread.c:2030
 msgid ""
 "Use this command to switch between threads.\n"
 "The new thread ID must be currently known."
 msgstr ""
 
-#: thread.c:2087
-msgid "Apply a command to a list of threads."
+#: thread.c:2036
+msgid ""
+"Apply a command to a list of threads.\n"
+"Usage: thread apply ID... COMMAND\n"
+"ID is a space-separated list of IDs of threads to apply COMMAND on."
 msgstr ""
 
-#: thread.c:2091
+#: thread.c:2042
 msgid ""
 "Apply a command to all threads.\n"
 "\n"
-"Usage: thread apply all [-ascending] <command>\n"
-"-ascending: Call <command> for all threads in ascending order.\n"
+"Usage: thread apply all [-ascending] COMMAND\n"
+"-ascending: Call COMMAND for all threads in ascending order.\n"
 "            The default is descending order."
 msgstr ""
 
-#: thread.c:2101
+#: thread.c:2052
 msgid ""
 "Set the current thread's name.\n"
 "Usage: thread name [NAME]\n"
 "If NAME is not given, then any existing name is removed."
 msgstr ""
 
-#: thread.c:2105
+#: thread.c:2056
 msgid ""
 "Find threads that match a regular expression.\n"
 "Usage: thread find REGEXP\n"
 "Will display thread ids whose name, target ID, or extra info matches REGEXP."
 msgstr ""
 
-#: thread.c:2114
+#: thread.c:2065
 msgid "Set printing of thread events (such as thread start and exit)."
 msgstr ""
 
-#: thread.c:2115
+#: thread.c:2066
 msgid "Show printing of thread events (such as thread start and exit)."
 msgstr ""
 
-#: tic6x-tdep.c:870
+#: tic6x-tdep.c:868
 #, possible-c-format
 msgid "unexpected length %d of type"
 msgstr ""
 
-#: tic6x-tdep.c:1094
+#: tic6x-tdep.c:1088
 #, possible-c-format
 msgid "unexpected type %d of arg %d"
 msgstr ""
 
-#: tic6x-tdep.c:1099
+#: tic6x-tdep.c:1093
 #, possible-c-format
 msgid "unexpected length %d of arg %d"
 msgstr ""
@@ -28362,222 +29039,248 @@ msgstr ""
 msgid "That is not a command, just a help topic."
 msgstr ""
 
-#: top.c:813
+#: top.c:818
 #, possible-c-format
 msgid "Saving of the history record on exit is %s.\n"
 msgstr ""
 
-#: top.c:825
+#: top.c:830
 #, possible-c-format
 msgid "The size of the command history is %s.\n"
 msgstr ""
 
-#: top.c:838
+#: top.c:843
 #, possible-c-format
 msgid "The number of history entries to look back at for duplicates is %s.\n"
 msgstr ""
 
-#: top.c:848
+#: top.c:853
 #, possible-c-format
 msgid "The filename in which to record the command history is \"%s\".\n"
 msgstr ""
 
-#: top.c:1123 top.c:1153
+#: top.c:1122 top.c:1152
 #, possible-c-format
 msgid "Could not rename %s to %s: %s"
 msgstr ""
 
 #: top.c:1326
-msgid ""
-"\n"
-"For bug reporting instructions, please see:\n"
+msgid "Type \"show configuration\" for configuration details.\n"
 msgstr ""
 
-#: top.c:1330
+#: top.c:1332
+msgid "For bug reporting instructions, please see:\n"
+msgstr ""
+
+#: top.c:1336
 msgid ""
 "Find the GDB manual and other documentation resources online at:\n"
-"<http://www.gnu.org/software/gdb/documentation/>.\n"
+"    <http://www.gnu.org/software/gdb/documentation/>."
 msgstr ""
 
-#: top.c:1332
+#: top.c:1339
 msgid "For help, type \"help\".\n"
 msgstr ""
 
-#: top.c:1333
+#: top.c:1340
 msgid "Type \"apropos word\" to search for commands related to \"word\"."
 msgstr ""
 
-#: top.c:1341
+#: top.c:1348
 #, possible-c-format
 msgid ""
 "This GDB was configured as follows:\n"
 "   configure --host=%s --target=%s\n"
 msgstr ""
 
-#: top.c:1345
+#: top.c:1352
 #, possible-c-format
 msgid ""
 "             --with-auto-load-dir=%s\n"
 "             --with-auto-load-safe-path=%s\n"
 msgstr ""
 
-#: top.c:1350
+#: top.c:1357
 msgid "             --with-expat\n"
 msgstr ""
 
-#: top.c:1354
+#: top.c:1361
 msgid "             --without-expat\n"
 msgstr ""
 
-#: top.c:1359
+#: top.c:1366
 #, possible-c-format
 msgid "             --with-gdb-datadir=%s%s\n"
 msgstr ""
 
-#: top.c:1363
+#: top.c:1370
 #, possible-c-format
 msgid "             --with-iconv-bin=%s%s\n"
 msgstr ""
 
-#: top.c:1368
+#: top.c:1375
 #, possible-c-format
 msgid "             --with-jit-reader-dir=%s%s\n"
 msgstr ""
 
-#: top.c:1372
+#: top.c:1379
 msgid "             --with-libunwind-ia64\n"
 msgstr ""
 
-#: top.c:1376
+#: top.c:1383
 msgid "             --without-libunwind-ia64\n"
 msgstr ""
 
-#: top.c:1381
+#: top.c:1388
 msgid "             --with-lzma\n"
 msgstr ""
 
-#: top.c:1385
+#: top.c:1392
 msgid "             --without-lzma\n"
 msgstr ""
 
-#: top.c:1390
+#: top.c:1397
+msgid "             --with-babeltrace\n"
+msgstr ""
+
+#: top.c:1401
+msgid "             --without-babeltrace\n"
+msgstr ""
+
+#: top.c:1406
+msgid "             --with-intel-pt\n"
+msgstr ""
+
+#: top.c:1410
+msgid "             --without-intel-pt\n"
+msgstr ""
+
+#: top.c:1415
+msgid "             --enable-libmcheck\n"
+msgstr ""
+
+#: top.c:1419
+msgid "             --disable-libmcheck\n"
+msgstr ""
+
+#: top.c:1424
+msgid "             --with-mpfr\n"
+msgstr ""
+
+#: top.c:1428
+msgid "             --without-mpfr\n"
+msgstr ""
+
+#: top.c:1433
 #, possible-c-format
 msgid "             --with-python=%s%s\n"
 msgstr ""
 
-#: top.c:1395
+#: top.c:1438
 msgid "             --with-guile\n"
 msgstr ""
 
-#: top.c:1399
+#: top.c:1442
 msgid "             --without-guile\n"
 msgstr ""
 
-#: top.c:1404
+#: top.c:1447
 #, possible-c-format
 msgid "             --with-relocated-sources=%s\n"
 msgstr ""
 
-#: top.c:1409
+#: top.c:1452
 #, possible-c-format
 msgid "             --with-separate-debug-dir=%s%s\n"
 msgstr ""
 
-#: top.c:1413
+#: top.c:1456
 #, possible-c-format
 msgid "             --with-sysroot=%s%s\n"
 msgstr ""
 
-#: top.c:1417
+#: top.c:1460
 #, possible-c-format
 msgid "             --with-system-gdbinit=%s%s\n"
 msgstr ""
 
-#: top.c:1421
-msgid "             --with-babeltrace\n"
-msgstr ""
-
-#: top.c:1425
-msgid "             --without-babeltrace\n"
-msgstr ""
-
 #. We assume "relocatable" will be printed at least once, thus we always
 #. print this text.  It's a reasonably safe assumption for now.
-#: top.c:1431
+#: top.c:1465
 msgid ""
 "\n"
 "(\"Relocatable\" means the directory can be moved with the GDB installation\n"
 "tree, and GDB will still find it.)\n"
 msgstr ""
 
-#: top.c:1512
+#: top.c:1544
 #, possible-c-format
 msgid "\tInferior %d [%s] will be detached.\n"
 msgstr ""
 
-#: top.c:1516
+#: top.c:1548
 #, possible-c-format
 msgid "\tInferior %d [%s] will be killed.\n"
 msgstr ""
 
-#: top.c:1535
+#: top.c:1567
 msgid ""
 "A debugging session is active.\n"
 "\n"
 msgstr ""
 
-#: top.c:1537
+#: top.c:1569
 msgid ""
 "\n"
 "Quit anyway? "
 msgstr ""
 
-#: top.c:1780
+#: top.c:1811
 msgid "\"set history\" must be followed by the name of a history subcommand.\n"
 msgstr ""
 
-#: top.c:1889
+#: top.c:1920
 #, possible-c-format
 msgid "Gdb's prompt is \"%s\".\n"
 msgstr ""
 
-#: top.c:1907
+#: top.c:1938
 #, possible-c-format
 msgid "Editing of command lines as they are typed is %s.\n"
 msgstr ""
 
-#: top.c:1909
+#: top.c:1940
 msgid "on"
 msgstr ""
 
-#: top.c:1909
+#: top.c:1940
 msgid "off"
 msgstr ""
 
-#: top.c:1916
+#: top.c:1947
 #, possible-c-format
 msgid "Annotation_level is %s.\n"
 msgstr ""
 
-#: top.c:1923
+#: top.c:1954
 #, possible-c-format
 msgid "Notification of completion for asynchronous execution commands is %s.\n"
 msgstr ""
 
-#: top.c:1946
+#: top.c:1977
 #, possible-c-format
 msgid "GDB's data directory is \"%s\".\n"
 msgstr ""
 
-#: top.c:1991
+#: top.c:2022
 msgid "Set gdb's prompt"
 msgstr ""
 
-#: top.c:1992
+#: top.c:2023
 msgid "Show gdb's prompt"
 msgstr ""
 
-#: top.c:1997
+#: top.c:2028
 msgid ""
 "Don't repeat this command.\n"
 "Primarily used inside of user-defined commands that should not be repeated "
@@ -28585,44 +29288,44 @@ msgid ""
 "hitting return."
 msgstr ""
 
-#: top.c:2003
+#: top.c:2034
 msgid "Set editing of command lines as they are typed."
 msgstr ""
 
-#: top.c:2004
+#: top.c:2035
 msgid "Show editing of command lines as they are typed."
 msgstr ""
 
-#: top.c:2005
+#: top.c:2036
 msgid ""
 "Use \"on\" to enable the editing, and \"off\" to disable it.\n"
 "Without an argument, command line editing is enabled.  To edit, use\n"
 "EMACS-like or VI-like commands like control-P or ESC."
 msgstr ""
 
-#: top.c:2013
+#: top.c:2044
 msgid "Set saving of the history record on exit."
 msgstr ""
 
-#: top.c:2014
+#: top.c:2045
 msgid "Show saving of the history record on exit."
 msgstr ""
 
-#: top.c:2015
+#: top.c:2046
 msgid ""
 "Use \"on\" to enable the saving, and \"off\" to disable it.\n"
 "Without an argument, saving is enabled."
 msgstr ""
 
-#: top.c:2023
+#: top.c:2054
 msgid "Set the size of the command history,"
 msgstr ""
 
-#: top.c:2024
+#: top.c:2055
 msgid "Show the size of the command history,"
 msgstr ""
 
-#: top.c:2025
+#: top.c:2056
 msgid ""
 "ie. the number of previous commands to keep a record of.\n"
 "If set to \"unlimited\", the number of commands kept in the history\n"
@@ -28630,15 +29333,15 @@ msgid ""
 "variable \"GDBHISTSIZE\", or to 256 if this variable is not set."
 msgstr ""
 
-#: top.c:2035
+#: top.c:2066
 msgid "Set how far back in history to look for and remove duplicate entries."
 msgstr ""
 
-#: top.c:2036
+#: top.c:2067
 msgid "Show how far back in history to look for and remove duplicate entries."
 msgstr ""
 
-#: top.c:2037
+#: top.c:2068
 msgid ""
 "If set to a nonzero value N, GDB will look back at the last N history "
 "entries\n"
@@ -28650,73 +29353,73 @@ msgid ""
 "By default this option is set to 0."
 msgstr ""
 
-#: top.c:2049
+#: top.c:2080
 msgid "Set the filename in which to record the command history"
 msgstr ""
 
-#: top.c:2050
+#: top.c:2081
 msgid "Show the filename in which to record the command history"
 msgstr ""
 
-#: top.c:2051
+#: top.c:2082
 msgid "(the list of previous commands of which a record is kept)."
 msgstr ""
 
-#: top.c:2057
+#: top.c:2088
 msgid "Set whether to confirm potentially dangerous operations."
 msgstr ""
 
-#: top.c:2058
+#: top.c:2089
 msgid "Show whether to confirm potentially dangerous operations."
 msgstr ""
 
-#: top.c:2064
+#: top.c:2095
 msgid "Set annotation_level."
 msgstr ""
 
-#: top.c:2065
+#: top.c:2096
 msgid "Show annotation_level."
 msgstr ""
 
-#: top.c:2066
+#: top.c:2097
 msgid ""
 "0 == normal;     1 == fullname (for use when running under emacs)\n"
 "2 == output annotated suitably for use by programs that control GDB."
 msgstr ""
 
-#: top.c:2074
+#: top.c:2105
 msgid "Set notification of completion for asynchronous execution commands."
 msgstr ""
 
-#: top.c:2075
+#: top.c:2106
 msgid "Show notification of completion for asynchronous execution commands."
 msgstr ""
 
-#: top.c:2076
+#: top.c:2107
 msgid "Use \"on\" to enable the notification, and \"off\" to disable it."
 msgstr ""
 
-#: top.c:2083
+#: top.c:2114
 msgid "Set GDB's data directory."
 msgstr ""
 
-#: top.c:2084
+#: top.c:2115
 msgid "Show GDB's data directory."
 msgstr ""
 
-#: top.c:2085
+#: top.c:2116
 msgid "When set, GDB uses the specified path to search for data files."
 msgstr ""
 
-#: top.c:2092
+#: top.c:2123
 msgid "Set whether GDB's standard input is a terminal."
 msgstr ""
 
-#: top.c:2093
+#: top.c:2124
 msgid "Show whether GDB's standard input is a terminal."
 msgstr ""
 
-#: top.c:2094
+#: top.c:2125
 msgid ""
 "If on, GDB assumes that standard input is a terminal.  In practice, it\n"
 "means that GDB should wait for the user to answer queries associated to\n"
@@ -28726,53 +29429,53 @@ msgid ""
 "input settings."
 msgstr ""
 
-#: top.c:2105
+#: top.c:2136
 msgid ""
 "Create a new UI.  It takes two arguments:\n"
 "The first argument is the name of the interpreter to run.\n"
 "The second argument is the terminal the UI runs on.\n"
 msgstr ""
 
-#: tracefile.c:73
+#: tracefile.c:78
 #, possible-c-format
 msgid "Target failed to save trace data to '%s'."
 msgstr ""
 
-#: tracefile.c:145 tracefile.c:192 tracefile.c:206 tracefile.c:221
-#: tracefile.c:254 tracefile.c:275
+#: tracefile.c:150 tracefile.c:197 tracefile.c:211 tracefile.c:226
+#: tracefile.c:259 tracefile.c:280
 msgid "Failure to get requested trace buffer data"
 msgstr ""
 
-#: tracefile.c:289 tracefile-tfile.c:819
+#: tracefile.c:294 tracefile-tfile.c:845
 #, possible-c-format
 msgid "Unknown block type '%c' (0x%x) in trace frame"
 msgstr ""
 
-#: tracefile.c:319 tracefile.c:337
+#: tracefile.c:322 tracefile.c:340
 msgid "file in which to save trace data"
 msgstr ""
 
-#: tracefile.c:331
+#: tracefile.c:334
 #, possible-c-format
 msgid "unknown option `%s'"
 msgstr ""
 
-#: tracefile.c:349
+#: tracefile.c:348
 #, possible-c-format
 msgid "Trace data saved to %s '%s'.\n"
 msgstr ""
 
-#: tracefile.c:407
+#: tracefile.c:393
 #, possible-c-format
 msgid "Tracepoint %d has multiple locations, cannot infer $pc"
 msgstr ""
 
-#: tracefile.c:415
+#: tracefile.c:401
 #, possible-c-format
 msgid "Tracepoint %d does while-stepping, cannot infer $pc"
 msgstr ""
 
-#: tracefile.c:501
+#: tracefile.c:477
 msgid ""
 "Save the trace data to a file.\n"
 "Use the '-ctf' option to save the data to CTF format.\n"
@@ -28780,536 +29483,546 @@ msgid ""
 "using its own filesystem."
 msgstr ""
 
-#: tracefile-tfile.c:419
+#: tracefile-tfile.c:45
+msgid "Local trace dump file"
+msgstr ""
+
+#: tracefile-tfile.c:46
+msgid "Use a trace file as a target.  Specify the filename of the trace file."
+msgstr ""
+
+#: tracefile-tfile.c:447
 msgid "Premature end of file while reading trace file"
 msgstr ""
 
-#: tracefile-tfile.c:437
+#: tracefile-tfile.c:467
 msgid "No trace file specified."
 msgstr ""
 
-#: tracefile-tfile.c:467
+#: tracefile-tfile.c:497
 msgid "File is not a valid trace file."
 msgstr ""
 
-#: tracefile-tfile.c:505
+#: tracefile-tfile.c:535
 msgid "Excessively long lines in trace file"
 msgstr ""
 
-#: tracefile-tfile.c:517
+#: tracefile-tfile.c:547
 msgid "No register block size recorded in trace file"
 msgstr ""
 
-#: tracefile-tfile.c:532
+#: tracefile-tfile.c:562
 msgid "No traceframes present in this file."
 msgstr ""
 
-#: tracefile-tfile.c:580
+#: tracefile-tfile.c:610
 #, possible-c-format
 msgid "Ignoring trace file definition \"%s\""
 msgstr ""
 
-#: tracefile-tfile.c:897
+#: tracefile-tfile.c:922
 msgid "tfile_xfer_partial: tdesc is read-only"
 msgstr ""
 
-#: tracefile-tfile.c:928
+#: tracefile-tfile.c:953
 msgid "tfile_xfer_partial: trace file is read-only"
 msgstr ""
 
-#: tracefile-tfile.c:1081
+#: tracefile-tfile.c:1105
 #, possible-c-format
 msgid "Unhandled trace block type (%d) '%c ' while building trace frame info."
 msgstr ""
 
-#: tracepoint.c:326
+#: tracepoint.c:306
 #, possible-c-format
 msgid "No trace variable named \"$%s\", not deleting"
 msgstr ""
 
-#: tracepoint.c:338
+#: tracepoint.c:318
 msgid "Must supply a non-empty variable name"
 msgstr ""
 
-#: tracepoint.c:345 tracepoint.c:350
+#: tracepoint.c:325 tracepoint.c:330
 #, possible-c-format
 msgid "$%s is not a valid trace state variable name"
 msgstr ""
 
-#: tracepoint.c:364
+#: tracepoint.c:344
 msgid "Syntax is $NAME [ = EXPR ]"
 msgstr ""
 
-#: tracepoint.c:379
+#: tracepoint.c:359
 msgid "Syntax must be $NAME [ = EXPR ]"
 msgstr ""
 
-#: tracepoint.c:395
+#: tracepoint.c:375
 #, possible-c-format
 msgid "Trace state variable $%s now has initial value %s.\n"
 msgstr ""
 
-#: tracepoint.c:407
+#: tracepoint.c:387
 #, possible-c-format
 msgid "Trace state variable $%s created, with initial value %s.\n"
 msgstr ""
 
-#: tracepoint.c:417
+#: tracepoint.c:397
 msgid "Delete all trace state variables? "
 msgstr ""
 
-#: tracepoint.c:431
+#: tracepoint.c:411
 #, possible-c-format
 msgid "Name \"%s\" not prefixed with '$', ignoring"
 msgstr ""
 
-#: tracepoint.c:447
+#: tracepoint.c:465
 msgid "No trace state variables.\n"
 msgstr ""
 
-#: tracepoint.c:531
+#: tracepoint.c:504
 msgid "This command cannot be used at the top level."
 msgstr ""
 
-#: tracepoint.c:537 tracepoint.c:543 tracepoint.c:549
+#: tracepoint.c:510 tracepoint.c:516 tracepoint.c:522
 msgid "This command can only be used in a tracepoint actions list."
 msgstr ""
 
-#: tracepoint.c:584
+#: tracepoint.c:557
 msgid "Target does not support \"/s\" option for string tracing."
 msgstr ""
 
-#: tracepoint.c:587
+#: tracepoint.c:560
 #, possible-c-format
 msgid "Undefined collection format \"%c\"."
 msgstr ""
 
-#: tracepoint.c:623
+#: tracepoint.c:600
 msgid "expression is malformed"
 msgstr ""
 
-#: tracepoint.c:629
+#: tracepoint.c:606
 msgid "expression has min height < 0"
 msgstr ""
 
-#: tracepoint.c:638 tracepoint.c:726 tracepoint.c:758
+#: tracepoint.c:615 tracepoint.c:703 tracepoint.c:735
 msgid "Expression is too complicated."
 msgstr ""
 
-#: tracepoint.c:666
+#: tracepoint.c:643
 #, possible-c-format
 msgid "`%s' is not a tracepoint action, or is ambiguous."
 msgstr ""
 
-#: tracepoint.c:704
+#: tracepoint.c:681
 #, possible-c-format
 msgid "constant `%s' (value %s) will not be collected."
 msgstr ""
 
-#: tracepoint.c:712
+#: tracepoint.c:689
 #, possible-c-format
 msgid "`%s' is optimized away and cannot be collected."
 msgstr ""
 
-#: tracepoint.c:774
+#: tracepoint.c:751
 #, possible-c-format
 msgid "while-stepping step count `%s' is malformed."
 msgstr ""
 
-#: tracepoint.c:782
+#: tracepoint.c:759
 #, possible-c-format
 msgid "`%s' is not a supported tracepoint action."
 msgstr ""
 
-#: tracepoint.c:845
+#: tracepoint.c:822
 #, possible-c-format
 msgid "Internal: register number %d too large for tracepoint"
 msgstr ""
 
-#: tracepoint.c:1078
+#: tracepoint.c:1055
 msgid "Can't collect locals; no symbol table info available.\n"
 msgstr ""
 
-#: tracepoint.c:1085
+#: tracepoint.c:1062
 msgid "No locals found in scope."
 msgstr ""
 
-#: tracepoint.c:1093
+#: tracepoint.c:1070
 msgid "Can't collect args; no symbol table info available."
 msgstr ""
 
-#: tracepoint.c:1099
+#: tracepoint.c:1076
 msgid "No args found in scope."
 msgstr ""
 
-#: tracepoint.c:1267 tracepoint.c:2689
+#: tracepoint.c:1244 tracepoint.c:2636
 #, possible-c-format
 msgid "Bad action list item: %s"
 msgstr ""
 
-#: tracepoint.c:1469
+#: tracepoint.c:1446
 #, possible-c-format
 msgid "Invalid tracepoint command '%s'"
 msgstr ""
 
-#: tracepoint.c:1556
+#: tracepoint.c:1528
 msgid "Pending tracepoints will not be resolved while GDB is disconnected\n"
 msgstr ""
 
-#: tracepoint.c:1587
+#: tracepoint.c:1554
 msgid "No tracepoints defined, not starting trace"
 msgstr ""
 
-#: tracepoint.c:1600
+#: tracepoint.c:1566
 #, possible-c-format
 msgid "May not insert %stracepoints, skipping tracepoint %d"
 msgstr ""
 
-#: tracepoint.c:1607
+#: tracepoint.c:1573
 msgid "No tracepoints enabled"
 msgstr ""
 
-#: tracepoint.c:1613
+#. No point in tracing with only disabled tracepoints that
+#. cannot be re-enabled.
+#: tracepoint.c:1578
 msgid "No tracepoints enabled, not starting trace"
 msgstr ""
 
-#: tracepoint.c:1620
+#: tracepoint.c:1583
 msgid "No tracepoints that may be downloaded, not starting trace"
 msgstr ""
 
-#: tracepoint.c:1684
+#: tracepoint.c:1643
 msgid "Target does not support trace user/notes, info ignored"
 msgstr ""
 
-#: tracepoint.c:1708
+#: tracepoint.c:1667
 msgid "A trace is running already.  Start a new run? "
 msgstr ""
 
-#: tracepoint.c:1709
+#: tracepoint.c:1668
 msgid "New trace run not started."
 msgstr ""
 
-#: tracepoint.c:1724
+#: tracepoint.c:1683
 msgid "Trace is not running."
 msgstr ""
 
-#: tracepoint.c:1768 tracepoint.c:2935
+#: tracepoint.c:1721 tracepoint.c:2861
 msgid "Target does not support trace notes, note ignored"
 msgstr ""
 
-#: tracepoint.c:1788
+#: tracepoint.c:1739
 msgid "Using a trace file.\n"
 msgstr ""
 
-#: tracepoint.c:1791
+#: tracepoint.c:1742
 msgid "Trace can not be run on this target.\n"
 msgstr ""
 
-#: tracepoint.c:1798
+#: tracepoint.c:1749
 msgid "Run/stop status is unknown.\n"
 msgstr ""
 
-#: tracepoint.c:1802
+#: tracepoint.c:1753
 msgid "Trace is running on the target.\n"
 msgstr ""
 
-#: tracepoint.c:1809
+#: tracepoint.c:1760
 msgid "No trace has been run on the target.\n"
 msgstr ""
 
-#: tracepoint.c:1813
+#: tracepoint.c:1764
 #, possible-c-format
 msgid "Trace stopped by a tstop command (%s).\n"
 msgstr ""
 
-#: tracepoint.c:1816
+#: tracepoint.c:1767
 msgid "Trace stopped by a tstop command.\n"
 msgstr ""
 
-#: tracepoint.c:1819
+#: tracepoint.c:1770
 msgid "Trace stopped because the buffer was full.\n"
 msgstr ""
 
-#: tracepoint.c:1822
+#: tracepoint.c:1773
 msgid "Trace stopped because of disconnection.\n"
 msgstr ""
 
-#: tracepoint.c:1825
+#: tracepoint.c:1776
 #, possible-c-format
 msgid "Trace stopped by tracepoint %d.\n"
 msgstr ""
 
-#: tracepoint.c:1830
+#: tracepoint.c:1781
 #, possible-c-format
 msgid "Trace stopped by an error (%s, tracepoint %d).\n"
 msgstr ""
 
-#: tracepoint.c:1834
+#: tracepoint.c:1785
 #, possible-c-format
 msgid "Trace stopped by an error (%s).\n"
 msgstr ""
 
-#: tracepoint.c:1838
+#: tracepoint.c:1789
 msgid "Trace stopped for an unknown reason.\n"
 msgstr ""
 
-#: tracepoint.c:1841
+#: tracepoint.c:1792
 #, possible-c-format
 msgid "Trace stopped for some other reason (%d).\n"
 msgstr ""
 
-#: tracepoint.c:1850
+#: tracepoint.c:1801
 #, possible-c-format
 msgid "Buffer contains %d trace frames (of %d created total).\n"
 msgstr ""
 
-#: tracepoint.c:1856
+#: tracepoint.c:1807
 #, possible-c-format
 msgid "Collected %d trace frames.\n"
 msgstr ""
 
-#: tracepoint.c:1864
+#: tracepoint.c:1815
 #, possible-c-format
 msgid "Trace buffer has %d bytes of %d bytes free"
 msgstr ""
 
-#: tracepoint.c:1867
+#: tracepoint.c:1818
 #, possible-c-format
 msgid " (%d%% full)"
 msgstr ""
 
-#: tracepoint.c:1871
+#: tracepoint.c:1822
 msgid ".\n"
 msgstr ""
 
-#: tracepoint.c:1874
+#: tracepoint.c:1825
 #, possible-c-format
 msgid "Trace buffer has %d bytes free.\n"
 msgstr ""
 
-#: tracepoint.c:1879
+#: tracepoint.c:1830
 msgid "Trace will continue if GDB disconnects.\n"
 msgstr ""
 
-#: tracepoint.c:1881
+#: tracepoint.c:1832
 msgid "Trace will stop if GDB disconnects.\n"
 msgstr ""
 
-#: tracepoint.c:1884
+#: tracepoint.c:1835
 msgid "Trace buffer is circular.\n"
 msgstr ""
 
-#: tracepoint.c:1887
+#: tracepoint.c:1838
 #, possible-c-format
 msgid "Trace user is %s.\n"
 msgstr ""
 
-#: tracepoint.c:1890
+#: tracepoint.c:1841
 #, possible-c-format
 msgid "Trace notes: %s.\n"
 msgstr ""
 
-#: tracepoint.c:1894
+#: tracepoint.c:1845
 #, possible-c-format
 msgid "Looking at trace frame %d, tracepoint %d.\n"
 msgstr ""
 
-#: tracepoint.c:1897
+#: tracepoint.c:1848
 msgid "Not looking at any trace frame.\n"
 msgstr ""
 
 #. Reporting a run time is more readable than two long numbers.
-#: tracepoint.c:1907
+#: tracepoint.c:1858
 #, possible-c-format
 msgid "Trace started at %ld.%06ld secs, stopped %ld.%06ld secs later.\n"
 msgstr ""
 
-#: tracepoint.c:1914
+#: tracepoint.c:1865
 #, possible-c-format
 msgid "Trace started at %ld.%06ld secs.\n"
 msgstr ""
 
-#: tracepoint.c:1919
+#: tracepoint.c:1870
 #, possible-c-format
 msgid "Trace stopped at %ld.%06ld secs.\n"
 msgstr ""
 
-#: tracepoint.c:2076
+#: tracepoint.c:2023
 msgid "Trace is running and will continue after detach; detach anyway? "
 msgstr ""
 
-#: tracepoint.c:2082
+#: tracepoint.c:2029
 msgid "Trace is running but will stop on detach; detach anyway? "
 msgstr ""
 
-#: tracepoint.c:2157
+#: tracepoint.c:2104
 msgid "Target failed to find requested trace frame."
 msgstr ""
 
-#: tracepoint.c:2199
+#: tracepoint.c:2146
 #, possible-c-format
 msgid "Found trace frame %d, tracepoint %d\n"
 msgstr ""
 
-#: tracepoint.c:2208
+#: tracepoint.c:2155
 msgid "No longer looking at any trace frame\n"
 msgstr ""
 
 #. This case may never occur, check.
-#: tracepoint.c:2210
+#: tracepoint.c:2157
 msgid "No trace frame found\n"
 msgstr ""
 
-#: tracepoint.c:2244 tracepoint.c:2468
+#: tracepoint.c:2191 tracepoint.c:2415
 msgid "May not look at trace frames while trace is running."
 msgstr ""
 
-#: tracepoint.c:2279
+#: tracepoint.c:2226
 msgid "not debugging trace buffer"
 msgstr ""
 
-#: tracepoint.c:2281
+#: tracepoint.c:2228
 msgid "already at start of trace buffer"
 msgstr ""
 
-#: tracepoint.c:2292
+#: tracepoint.c:2239
 #, possible-c-format
 msgid "invalid input (%d is less than zero)"
 msgstr ""
 
-#: tracepoint.c:2345
+#: tracepoint.c:2292
 msgid "No current tracepoint -- please supply an argument."
 msgstr ""
 
-#: tracepoint.c:2388
+#: tracepoint.c:2335
 msgid "No line number information available."
 msgstr ""
 
-#: tracepoint.c:2410
+#: tracepoint.c:2357
 msgid "Cannot find a good line."
 msgstr ""
 
 #. Is there any case in which we get here, and have an address
 #. which the user would want to see?  If we have debugging
 #. symbols and no line numbers?
-#: tracepoint.c:2417
+#: tracepoint.c:2364
 #, possible-c-format
 msgid "Line number %d is out of range for \"%s\"."
 msgstr ""
 
-#: tracepoint.c:2509
+#: tracepoint.c:2456
 msgid "requires an argument (function, line or *addr) to define a scope"
 msgstr ""
 
-#: tracepoint.c:2778
+#: tracepoint.c:2711
 msgid "No current trace frame."
 msgstr ""
 
-#: tracepoint.c:2783
+#: tracepoint.c:2716
 #, possible-c-format
 msgid "No known tracepoint matches 'current' tracepoint #%d."
 msgstr ""
 
-#: tracepoint.c:2880
+#: tracepoint.c:2806
 msgid "Buffer too small for source encoding"
 msgstr ""
 
-#: tracepoint.c:2885
+#: tracepoint.c:2811
 msgid "Source string too long for buffer"
 msgstr ""
 
-#: tracepoint.c:2923
+#: tracepoint.c:2849
 msgid "Target does not support trace notes, user ignored"
 msgstr ""
 
-#: tracepoint.c:2947
+#: tracepoint.c:2873
 msgid "Target does not support trace notes, stop note ignored"
 msgstr ""
 
-#: tracepoint.c:3004
+#: tracepoint.c:2930
 msgid "could not change traceframe"
 msgstr ""
 
-#: tracepoint.c:3198
+#: tracepoint.c:3082
 #, possible-c-format
 msgid "Assuming tracepoint %d is same as target's tracepoint %d at %s.\n"
 msgstr ""
 
-#: tracepoint.c:3223
+#: tracepoint.c:3105
 #, possible-c-format
 msgid "Created tracepoint %d for target's tracepoint %d at %s.\n"
 msgstr ""
 
-#: tracepoint.c:3228
+#: tracepoint.c:3110
 #, possible-c-format
 msgid ""
 "Failed to create tracepoint for target's tracepoint %d at %s, skipping it.\n"
 msgstr ""
 
-#: tracepoint.c:3317
+#: tracepoint.c:3198
 #, possible-c-format
 msgid "Assuming trace state variable $%s is same as target's variable %d.\n"
 msgstr ""
 
-#: tracepoint.c:3325
+#: tracepoint.c:3206
 #, possible-c-format
 msgid "Created trace state variable $%s for target's variable %d.\n"
 msgstr ""
 
-#: tracepoint.c:3379
+#: tracepoint.c:3259
 #, possible-c-format
 msgid ""
 "Malformed trace status, at %s\n"
 "Status line: '%s'\n"
 msgstr ""
 
-#: tracepoint.c:3589
+#: tracepoint.c:3469
 #, possible-c-format
 msgid "Unrecognized char '%c' in tracepoint definition, skipping rest"
 msgstr ""
 
 #. Don't error out, the target might be sending us optional
 #. info that we don't care about.
-#: tracepoint.c:3643
+#: tracepoint.c:3523
 #, possible-c-format
 msgid "Unrecognized tracepoint piece '%c', ignoring"
 msgstr ""
 
-#: tracepoint.c:3714
+#: tracepoint.c:3578
 #, possible-c-format
 msgid "bad marker definition: %s"
 msgstr ""
 
-#: tracepoint.c:3821
+#: tracepoint.c:3678
 msgid "Data: \""
 msgstr ""
 
-#: tracepoint.c:3834
+#: tracepoint.c:3691
 msgid "Probed by static tracepoints: "
 msgstr ""
 
-#: tracepoint.c:3946
+#: tracepoint.c:3784
 msgid ""
 "Can not parse XML trace frame info; XML support was disabled at compile time"
 msgstr ""
 
-#: tracepoint.c:4027
+#: tracepoint.c:3866
 msgid "trace frame info"
 msgstr ""
 
-#: tracepoint.c:4115
+#: tracepoint.c:3954
 msgid "List the variables local to a scope"
 msgstr ""
 
-#: tracepoint.c:4118
+#: tracepoint.c:3957
 msgid "Tracing of program execution without stopping the program."
 msgstr ""
 
-#: tracepoint.c:4122
+#: tracepoint.c:3961
 msgid "Print everything collected at the current tracepoint."
 msgstr ""
 
-#: tracepoint.c:4124
+#: tracepoint.c:3963
 msgid ""
 "Define a trace state variable.\n"
 "Argument is a $-prefixed name, optionally followed\n"
@@ -29317,7 +30030,7 @@ msgid ""
 "at the start of tracing."
 msgstr ""
 
-#: tracepoint.c:4131
+#: tracepoint.c:3970
 msgid ""
 "Delete one or more trace state variables.\n"
 "Arguments are the names of the variables to delete.\n"
@@ -29325,33 +30038,33 @@ msgid ""
 msgstr ""
 
 #. FIXME add a trace variable completer.
-#: tracepoint.c:4137
+#: tracepoint.c:3976
 msgid "Status of trace state variables and their values.\n"
 msgstr ""
 
-#: tracepoint.c:4142
+#: tracepoint.c:3981
 msgid "List target static tracepoints markers.\n"
 msgstr ""
 
-#: tracepoint.c:4146
+#: tracepoint.c:3985
 msgid ""
 "Select a trace frame;\n"
 "No argument means forward by one frame; '-' means backward by one frame."
 msgstr ""
 
-#: tracepoint.c:4151
+#: tracepoint.c:3990
 msgid ""
 "Select a trace frame whose PC is outside the given range (exclusive).\n"
 "Usage: tfind outside addr1, addr2"
 msgstr ""
 
-#: tracepoint.c:4156
+#: tracepoint.c:3995
 msgid ""
 "Select a trace frame whose PC is in the given range (inclusive).\n"
 "Usage: tfind range addr1,addr2"
 msgstr ""
 
-#: tracepoint.c:4161
+#: tracepoint.c:4000
 msgid ""
 "Select a trace frame by source line.\n"
 "Argument can be a line number (with optional source file),\n"
@@ -29359,47 +30072,47 @@ msgid ""
 "Default argument is 'the next source line that was traced'."
 msgstr ""
 
-#: tracepoint.c:4168
+#: tracepoint.c:4007
 msgid ""
 "Select a trace frame by tracepoint number.\n"
 "Default is the tracepoint for the current trace frame."
 msgstr ""
 
-#: tracepoint.c:4173
+#: tracepoint.c:4012
 msgid ""
 "Select a trace frame by PC.\n"
 "Default is the current PC, or the PC of the current trace frame."
 msgstr ""
 
-#: tracepoint.c:4178
+#: tracepoint.c:4017
 msgid "De-select any trace frame and resume 'live' debugging."
 msgstr ""
 
-#: tracepoint.c:4185
+#: tracepoint.c:4024
 msgid "Select the first trace frame in the trace buffer."
 msgstr ""
 
-#: tracepoint.c:4189
+#: tracepoint.c:4028
 msgid "Display the status of the current trace data collection."
 msgstr ""
 
-#: tracepoint.c:4191
+#: tracepoint.c:4030
 msgid ""
 "Stop trace data collection.\n"
-"Usage: tstop [ <notes> ... ]\n"
+"Usage: tstop [NOTES]...\n"
 "Any arguments supplied are recorded with the trace as a stop reason and\n"
 "reported by tstatus (if the target supports trace notes)."
 msgstr ""
 
-#: tracepoint.c:4197
+#: tracepoint.c:4036
 msgid ""
 "Start trace data collection.\n"
-"Usage: tstart [ <notes> ... ]\n"
+"Usage: tstart [NOTES]...\n"
 "Any arguments supplied are recorded with the trace as a note and\n"
 "reported by tstatus (if the target supports trace notes)."
 msgstr ""
 
-#: tracepoint.c:4203
+#: tracepoint.c:4042
 msgid ""
 "Ends a list of commands or actions.\n"
 "Several GDB commands allow you to enter a list of commands or actions.\n"
@@ -29409,7 +30122,7 @@ msgid ""
 "Note: the \"end\" command cannot be used at the gdb prompt."
 msgstr ""
 
-#: tracepoint.c:4210
+#: tracepoint.c:4049
 msgid ""
 "Specify single-stepping behavior at a tracepoint.\n"
 "Argument is number of instructions to trace in single-step mode\n"
@@ -29420,7 +30133,7 @@ msgid ""
 "Note: this command can only be used in a tracepoint \"actions\" list."
 msgstr ""
 
-#: tracepoint.c:4221
+#: tracepoint.c:4060
 msgid ""
 "Specify one or more data items to be collected at a tracepoint.\n"
 "Accepts a comma-separated list of (one or more) expressions.  GDB will\n"
@@ -29433,7 +30146,7 @@ msgid ""
 "Note: this command can only be used in a tracepoint \"actions\" list."
 msgstr ""
 
-#: tracepoint.c:4232
+#: tracepoint.c:4071
 msgid ""
 "Specify one or more expressions to be evaluated at a tracepoint.\n"
 "Accepts a comma-separated list of (one or more) expressions.\n"
@@ -29441,7 +30154,7 @@ msgid ""
 "Note: this command can only be used in a tracepoint \"actions\" list."
 msgstr ""
 
-#: tracepoint.c:4238
+#: tracepoint.c:4077
 msgid ""
 "Specify the actions to be taken at a tracepoint.\n"
 "Tracepoint actions may include collecting of specified data,\n"
@@ -29449,80 +30162,80 @@ msgid ""
 "depending on target's capabilities."
 msgstr ""
 
-#: tracepoint.c:4246
+#: tracepoint.c:4085
 msgid "Set the list of expressions to collect by default"
 msgstr ""
 
-#: tracepoint.c:4247
+#: tracepoint.c:4086
 msgid "Show the list of expressions to collect by default"
 msgstr ""
 
-#: tracepoint.c:4253
+#: tracepoint.c:4092
 msgid "Set whether tracing continues after GDB disconnects."
 msgstr ""
 
-#: tracepoint.c:4254
+#: tracepoint.c:4093
 msgid "Show whether tracing continues after GDB disconnects."
 msgstr ""
 
-#: tracepoint.c:4255
+#: tracepoint.c:4094
 msgid ""
 "Use this to continue a tracing run even if GDB disconnects\n"
 "or detaches from the target.  You can reconnect later and look at\n"
 "trace data collected in the meantime."
 msgstr ""
 
-#: tracepoint.c:4265
+#: tracepoint.c:4104
 msgid "Set target's use of circular trace buffer."
 msgstr ""
 
-#: tracepoint.c:4266
+#: tracepoint.c:4105
 msgid "Show target's use of circular trace buffer."
 msgstr ""
 
-#: tracepoint.c:4267
+#: tracepoint.c:4106
 msgid ""
 "Use this to make the trace buffer into a circular buffer,\n"
 "which will discard traceframes (oldest first) instead of filling\n"
 "up and stopping the trace run."
 msgstr ""
 
-#: tracepoint.c:4277
+#: tracepoint.c:4116
 msgid "Set requested size of trace buffer."
 msgstr ""
 
-#: tracepoint.c:4278
+#: tracepoint.c:4117
 msgid "Show requested size of trace buffer."
 msgstr ""
 
-#: tracepoint.c:4279
+#: tracepoint.c:4118
 msgid ""
 "Use this to choose a size for the trace buffer.  Some targets\n"
 "may have fixed or limited buffer sizes.  Specifying \"unlimited\" or -1\n"
 "disables any attempt to set the buffer size and lets the target choose."
 msgstr ""
 
-#: tracepoint.c:4287
+#: tracepoint.c:4126
 msgid "Set the user name to use for current and future trace runs"
 msgstr ""
 
-#: tracepoint.c:4288
+#: tracepoint.c:4127
 msgid "Show the user name to use for current and future trace runs"
 msgstr ""
 
-#: tracepoint.c:4294
+#: tracepoint.c:4133
 msgid "Set notes string to use for current and future trace runs"
 msgstr ""
 
-#: tracepoint.c:4295
+#: tracepoint.c:4134
 msgid "Show the notes string to use for current and future trace runs"
 msgstr ""
 
-#: tracepoint.c:4301
+#: tracepoint.c:4140
 msgid "Set notes string to use for future tstop commands"
 msgstr ""
 
-#: tracepoint.c:4302
+#: tracepoint.c:4141
 msgid "Show the notes string to use for future tstop commands"
 msgstr ""
 
@@ -29571,7 +30284,7 @@ msgstr ""
 #: tui/tui-layout.c:375
 msgid ""
 "Change the layout of windows.\n"
-"Usage: layout prev | next | <layout_name> \n"
+"Usage: layout prev | next | LAYOUT-NAME\n"
 "Layout names are:\n"
 "   src   : Displays source and command windows.\n"
 "   asm   : Displays disassembly and command windows.\n"
@@ -29595,7 +30308,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: tui/tui-interp.c:302
+#: tui/tui-interp.c:301
 msgid "tui_exec called"
 msgstr ""
 
@@ -29619,102 +30332,88 @@ msgstr ""
 msgid "TUI command to control the register window."
 msgstr ""
 
-#: tui/tui-win.c:210
+#: tui/tui-win.c:209
 #, possible-c-format
 msgid "The attribute mode to use for the active TUI window border is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:222
+#: tui/tui-win.c:221
 #, possible-c-format
 msgid "The attribute mode to use for the TUI window borders is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:234
+#: tui/tui-win.c:233
 #, possible-c-format
 msgid "The kind of border for TUI windows is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:333
+#: tui/tui-win.c:332
 msgid "\"tui\" must be followed by the name of a tui command.\n"
 msgstr ""
 
-#: tui/tui-win.c:343
+#: tui/tui-win.c:342
 msgid "Text User Interface commands."
 msgstr ""
 
-#: tui/tui-win.c:447 tui/tui-win.c:451
+#: tui/tui-win.c:446 tui/tui-win.c:450
 msgid "TUI configuration variables"
 msgstr ""
 
-#: tui/tui-win.c:456
+#: tui/tui-win.c:455
 msgid "Refresh the terminal display.\n"
 msgstr ""
 
-#: tui/tui-win.c:457
+#: tui/tui-win.c:456
 msgid ""
 "Set the width (in characters) of tab stops.\n"
-"Usage: tabset <n>\n"
+"Usage: tabset N\n"
 msgstr ""
 
-#: tui/tui-win.c:460
-msgid ""
-"Set or modify the height of a specified window.\n"
-"Usage: winheight <win_name> [+ | -] <#lines>\n"
-"Window names are:\n"
-"src  : the source window\n"
-"cmd  : the command window\n"
-"asm  : the disassembly window\n"
-"regs : the register display\n"
+#: tui/tui-win.c:459
+msgid "Set or modify the height of a specified window.\n"
 msgstr ""
 
-#: tui/tui-win.c:471
+#: tui/tui-win.c:470
 msgid "List of all displayed windows.\n"
 msgstr ""
 
-#: tui/tui-win.c:472
-msgid ""
-"Set focus to named window or next/prev window.\n"
-"Usage: focus {<win> | next | prev}\n"
-"Valid Window names are:\n"
-"src  : the source window\n"
-"asm  : the disassembly window\n"
-"regs : the register display\n"
-"cmd  : the command window\n"
+#: tui/tui-win.c:471
+msgid "Set focus to named window or next/prev window.\n"
 msgstr ""
 
-#: tui/tui-win.c:482
+#: tui/tui-win.c:481
 msgid ""
 "Scroll window forward.\n"
-"Usage: + [win] [n]\n"
+"Usage: + [WIN] [N]\n"
 msgstr ""
 
-#: tui/tui-win.c:485
+#: tui/tui-win.c:484
 msgid ""
 "Scroll window backward.\n"
-"Usage: - [win] [n]\n"
+"Usage: - [WIN] [N]\n"
 msgstr ""
 
-#: tui/tui-win.c:488
+#: tui/tui-win.c:487
 msgid ""
 "Scroll window text to the left.\n"
-"Usage: < [win] [n]\n"
+"Usage: < [WIN] [N]\n"
 msgstr ""
 
-#: tui/tui-win.c:491
+#: tui/tui-win.c:490
 msgid ""
 "Scroll window text to the right.\n"
-"Usage: > [win] [n]\n"
+"Usage: > [WIN] [N]\n"
 msgstr ""
 
-#: tui/tui-win.c:497
+#: tui/tui-win.c:496
 msgid "Set the kind of border for TUI windows."
 msgstr ""
 
-#: tui/tui-win.c:498
+#: tui/tui-win.c:497
 msgid "Show the kind of border for TUI windows."
 msgstr ""
 
-#: tui/tui-win.c:499
+#: tui/tui-win.c:498
 msgid ""
 "This variable controls the border of TUI windows:\n"
 "space           use a white space\n"
@@ -29722,15 +30421,15 @@ msgid ""
 "acs             use the Alternate Character Set"
 msgstr ""
 
-#: tui/tui-win.c:509
+#: tui/tui-win.c:508
 msgid "Set the attribute mode to use for the TUI window borders."
 msgstr ""
 
-#: tui/tui-win.c:510
+#: tui/tui-win.c:509
 msgid "Show the attribute mode to use for the TUI window borders."
 msgstr ""
 
-#: tui/tui-win.c:511
+#: tui/tui-win.c:510
 msgid ""
 "This variable controls the attributes to use for the window borders:\n"
 "normal          normal display\n"
@@ -29742,15 +30441,15 @@ msgid ""
 "bold-standout   use extra bright or bold with standout mode"
 msgstr ""
 
-#: tui/tui-win.c:525
+#: tui/tui-win.c:524
 msgid "Set the attribute mode to use for the active TUI window border."
 msgstr ""
 
-#: tui/tui-win.c:526
+#: tui/tui-win.c:525
 msgid "Show the attribute mode to use for the active TUI window border."
 msgstr ""
 
-#: tui/tui-win.c:527
+#: tui/tui-win.c:526
 msgid ""
 "This variable controls the attributes to use for the active window border:\n"
 "normal          normal display\n"
@@ -29762,85 +30461,85 @@ msgid ""
 "bold-standout   use extra bright or bold with standout mode"
 msgstr ""
 
-#: tui/tui-win.c:1060 tui/tui-win.c:1186 tui/tui-win.c:1705
+#: tui/tui-win.c:1059 tui/tui-win.c:1185 tui/tui-win.c:1704
 msgid ""
 "Invalid window specified. \n"
 "The window name specified must be valid and visible.\n"
 msgstr ""
 
-#: tui/tui-win.c:1071
+#: tui/tui-win.c:1070
 #, possible-c-format
 msgid "Focus set to %s window.\n"
 msgstr ""
 
-#: tui/tui-win.c:1075
+#: tui/tui-win.c:1074
 #, possible-c-format
 msgid ""
 "Incorrect Number of Arguments.\n"
 "%s"
 msgstr ""
 
-#: tui/tui-win.c:1153
+#: tui/tui-win.c:1152
 msgid "Tab widths greater than 0 must be specified."
 msgstr ""
 
-#: tui/tui-win.c:1221 tui/tui-win.c:1227
+#: tui/tui-win.c:1220 tui/tui-win.c:1226
 #, possible-c-format
 msgid ""
 "Invalid window height specified.\n"
 "%s"
 msgstr ""
 
-#: typeprint.c:347
+#: typeprint.c:392
 msgid "Language not supported."
 msgstr ""
 
-#: typeprint.c:390
+#: typeprint.c:435
 msgid "<unknown return type>"
 msgstr ""
 
-#: typeprint.c:398
+#: typeprint.c:443
 #, possible-c-format
 msgid "'%s' has unknown type; cast it to its declared type"
 msgstr ""
 
-#: typeprint.c:460
+#: typeprint.c:503
 #, possible-c-format
 msgid "unrecognized flag '%c'"
 msgstr ""
 
-#: typeprint.c:466
+#: typeprint.c:509
 msgid "flag expected"
 msgstr ""
 
-#: typeprint.c:468
+#: typeprint.c:511
 msgid "expected space after format"
 msgstr ""
 
-#: typeprint.c:639
+#: typeprint.c:688
 msgid "internal error: unhandled type in print_type_scalar"
 msgstr ""
 
-#: typeprint.c:712
+#: typeprint.c:761
 #, possible-c-format
 msgid "Printing of methods defined in a class in %s\n"
 msgstr ""
 
-#: typeprint.c:729
+#: typeprint.c:778
 #, possible-c-format
 msgid "Printing of typedefs defined in a class in %s\n"
 msgstr ""
 
-#: typeprint.c:758
+#: typeprint.c:807
 msgid "Will not print nested types defined in a class\n"
 msgstr ""
 
-#: typeprint.c:763
+#: typeprint.c:812
 #, possible-c-format
 msgid "Will print %s nested types defined in a class\n"
 msgstr ""
 
-#: typeprint.c:773
+#: typeprint.c:822
 msgid ""
 "Print definition of type TYPE.\n"
 "Usage: ptype[/FLAGS] TYPE | EXPRESSION\n"
@@ -29859,51 +30558,51 @@ msgid ""
 "  /o    print offsets and sizes of fields in a struct (like pahole)\n"
 msgstr ""
 
-#: typeprint.c:792
+#: typeprint.c:841
 msgid ""
 "Print data type of expression EXP.\n"
 "Only one level of typedefs is unrolled.  See also \"ptype\"."
 msgstr ""
 
-#: typeprint.c:797
+#: typeprint.c:846
 msgid "Generic command for showing type-printing settings."
 msgstr ""
 
-#: typeprint.c:800
+#: typeprint.c:849
 msgid "Generic command for setting how types print."
 msgstr ""
 
-#: typeprint.c:804
+#: typeprint.c:853
 msgid "Set printing of methods defined in classes."
 msgstr ""
 
-#: typeprint.c:805
+#: typeprint.c:854
 msgid "Show printing of methods defined in classes."
 msgstr ""
 
-#: typeprint.c:811
+#: typeprint.c:860
 msgid "Set printing of typedefs defined in classes."
 msgstr ""
 
-#: typeprint.c:812
+#: typeprint.c:861
 msgid "Show printing of typedefs defined in classes."
 msgstr ""
 
-#: typeprint.c:820
+#: typeprint.c:869
 msgid ""
 "Set the number of recursive nested type definitions to print (\"unlimited\" "
 "or -1 to show all)."
 msgstr ""
 
-#: typeprint.c:822
+#: typeprint.c:871
 msgid "Show the number of recursive nested type definitions to print."
 msgstr ""
 
-#: typeprint.c:834
+#: typeprint.c:883
 msgid "<not allocated>"
 msgstr ""
 
-#: typeprint.c:842
+#: typeprint.c:891
 msgid "<not associated>"
 msgstr ""
 
@@ -29941,13 +30640,13 @@ msgstr ""
 msgid "misplaced table_end or missing table_begin."
 msgstr ""
 
-#: ui-out.c:641
+#: ui-out.c:603
 msgid ""
 "table_body missing; table fields must be specified after table_body and "
 "inside a list."
 msgstr ""
 
-#: ui-out.c:654
+#: ui-out.c:616
 msgid "ui-out internal error in handling headers."
 msgstr ""
 
@@ -29976,11 +30675,11 @@ msgstr ""
 msgid "State of pagination is %s.\n"
 msgstr ""
 
-#: utils.c:206
+#: utils.c:176
 msgid "free_current_contents: NULL pointer"
 msgstr ""
 
-#: utils.c:324
+#: utils.c:295
 #, possible-c-format
 msgid ""
 "%s\n"
@@ -29988,20 +30687,20 @@ msgid ""
 "time.\n"
 msgstr ""
 
-#: utils.c:453
+#: utils.c:424
 #, possible-c-format
 msgid ""
 "%s\n"
 "Quit this debugging session? "
 msgstr ""
 
-#: utils.c:463
+#: utils.c:434
 msgid ""
 "\n"
 "This is a bug, please report it."
 msgstr ""
 
-#: utils.c:465
+#: utils.c:436
 #, possible-c-format
 msgid ""
 "  For instructions, see:\n"
@@ -30011,69 +30710,69 @@ msgstr ""
 #. Default (yes/batch case) is to dump core.  This leaves a GDB
 #. `dropping' so that it is easier to see that something went
 #. wrong in GDB.
-#: utils.c:480
+#: utils.c:451
 #, possible-c-format
 msgid ""
 "%s\n"
 "Create a core file of GDB? "
 msgstr ""
 
-#: utils.c:593
+#: utils.c:564
 #, possible-c-format
 msgid "Configure what GDB does when %s is detected."
 msgstr ""
 
-#: utils.c:596
+#: utils.c:567
 #, possible-c-format
 msgid "Show what GDB does when %s is detected."
 msgstr ""
 
-#: utils.c:615
+#: utils.c:586
 #, possible-c-format
 msgid "Set whether GDB should quit when an %s is detected"
 msgstr ""
 
-#: utils.c:618
+#: utils.c:589
 #, possible-c-format
 msgid "Show whether GDB will quit when an %s is detected"
 msgstr ""
 
-#: utils.c:638
+#: utils.c:609
 #, possible-c-format
 msgid "Set whether GDB should create a core file of GDB when %s is detected"
 msgstr ""
 
-#: utils.c:641
+#: utils.c:612
 #, possible-c-format
 msgid "Show whether GDB will create a core file of GDB when %s is detected"
 msgstr ""
 
-#: utils.c:779
+#: utils.c:750
 #, possible-c-format
 msgid "virtual memory exhausted: can't allocate %ld bytes."
 msgstr ""
 
-#: utils.c:784
+#: utils.c:755
 msgid "virtual memory exhausted."
 msgstr ""
 
-#: utils.c:944
+#: utils.c:915
 #, possible-c-format
 msgid "(%s or %s) [answered %c; input not from terminal]\n"
 msgstr ""
 
-#: utils.c:961
+#: utils.c:932
 #, possible-c-format
 msgid "%s%s(%s or %s) %s"
 msgstr ""
 
 #. Invalid entries are not defaulted and require another selection.
-#: utils.c:1009
+#: utils.c:980
 #, possible-c-format
 msgid "Please answer %s or %s.\n"
 msgstr ""
 
-#: utils.c:1185
+#: utils.c:1156
 #, possible-c-format
 msgid ""
 "The escape sequence `\\%c' is equivalent to plain `%c', which has no "
@@ -30081,458 +30780,463 @@ msgid ""
 "in the `%s' character set."
 msgstr ""
 
-#: utils.c:1296
+#: utils.c:1267
 #, possible-c-format
 msgid "Number of lines gdb thinks are in a page is %s.\n"
 msgstr ""
 
-#: utils.c:1307
+#: utils.c:1278
 #, possible-c-format
 msgid "Number of characters gdb thinks are in a line is %s.\n"
 msgstr ""
 
-#: utils.c:2672
+#: utils.c:2664
 #, possible-c-format
 msgid "Timestamping debugging messages is %s.\n"
 msgstr ""
 
-#: utils.c:2680
+#: utils.c:2672
 msgid "Set number of characters where GDB should wrap lines of its output."
 msgstr ""
 
-#: utils.c:2681
+#: utils.c:2673
 msgid "Show number of characters where GDB should wrap lines of its output."
 msgstr ""
 
-#: utils.c:2682
+#: utils.c:2674
 msgid ""
 "This affects where GDB wraps its output to fit the screen width.\n"
 "Setting this to \"unlimited\" or zero prevents GDB from wrapping its output."
 msgstr ""
 
-#: utils.c:2689
+#: utils.c:2681
 msgid "Set number of lines in a page for GDB output pagination."
 msgstr ""
 
-#: utils.c:2690
+#: utils.c:2682
 msgid "Show number of lines in a page for GDB output pagination."
 msgstr ""
 
-#: utils.c:2691
+#: utils.c:2683
 msgid ""
 "This affects the number of lines after which GDB will pause\n"
 "its output and ask you whether to continue.\n"
 "Setting this to \"unlimited\" or zero causes GDB never pause during output."
 msgstr ""
 
-#: utils.c:2700
+#: utils.c:2692
 msgid "Set state of GDB output pagination."
 msgstr ""
 
-#: utils.c:2701
+#: utils.c:2693
 msgid "Show state of GDB output pagination."
 msgstr ""
 
-#: utils.c:2702
+#: utils.c:2694
 msgid ""
 "When pagination is ON, GDB pauses at end of each screenful of\n"
 "its output and asks you whether to continue.\n"
 "Turning pagination off is an alternative to \"set height unlimited\"."
 msgstr ""
 
-#: utils.c:2711
+#: utils.c:2703
 msgid "Set printing of 8-bit characters in strings as \\nnn."
 msgstr ""
 
-#: utils.c:2712
+#: utils.c:2704
 msgid "Show printing of 8-bit characters in strings as \\nnn."
 msgstr ""
 
-#: utils.c:2719
+#: utils.c:2711
 msgid "Set timestamping of debugging messages."
 msgstr ""
 
-#: utils.c:2720
+#: utils.c:2712
 msgid "Show timestamping of debugging messages."
 msgstr ""
 
-#: utils.c:2721
+#: utils.c:2713
 msgid ""
 "When set, debugging messages will be marked with seconds and microseconds."
 msgstr ""
 
-#: utils.c:2827
+#: utils.c:2819
 #, possible-c-format
 msgid "invalid hex \"%s\""
 msgstr ""
 
-#: utils.c:2840
+#: utils.c:2832
 #, possible-c-format
 msgid "invalid decimal \"%s\""
 msgstr ""
 
-#: utils.c:3032
+#: utils.c:2997
 msgid "process-id to attach"
 msgstr ""
 
-#: utils.c:3038
+#: utils.c:3003
 #, possible-c-format
 msgid "Illegal process-id: %s."
 msgstr ""
 
-#: valarith.c:66
+#: valarith.c:64
 msgid ""
 "Cannot perform pointer math on incomplete types, try casting to a known "
 "type, or void *."
 msgstr ""
 
-#: valarith.c:69
+#: valarith.c:67
 #, possible-c-format
 msgid ""
 "Cannot perform pointer math on incomplete type \"%s\", try casting to a "
 "known type, or void *."
 msgstr ""
 
-#: valarith.c:116
+#: valarith.c:114
 msgid ""
 "First argument of `-' is a pointer and second argument is neither\n"
 "an integer nor a pointer of the same type."
 msgstr ""
 
-#: valarith.c:123
+#: valarith.c:121
 msgid "Type size unknown, assuming 1. Try casting to a known type, or void *."
 msgstr ""
 
-#: valarith.c:167
+#: valarith.c:165
 msgid "array or string index out of range"
 msgstr ""
 
-#: valarith.c:179
+#: valarith.c:177
 msgid "not an array or string"
 msgstr ""
 
-#: valarith.c:198
+#: valarith.c:196
 msgid "no such vector element (vector not associated)"
 msgstr ""
 
-#: valarith.c:200
+#: valarith.c:198
 msgid "no such vector element (vector not allocated)"
 msgstr ""
 
-#: valarith.c:202
+#: valarith.c:200
 msgid "no such vector element"
 msgstr ""
 
-#: valarith.c:307
+#: valarith.c:305
 #, possible-c-format
 msgid "Could not find %s."
 msgstr ""
 
-#: valarith.c:356
+#: valarith.c:354
 msgid "Can't do that binary op on that type"
 msgstr ""
 
-#: valarith.c:442 valarith.c:468
+#: valarith.c:440 valarith.c:466
 msgid "Invalid binary operation specified."
 msgstr ""
 
-#: valarith.c:508 valarith.c:626
+#: valarith.c:506 valarith.c:624
 #, possible-c-format
 msgid "member function %s not found"
 msgstr ""
 
-#: valarith.c:535
+#: valarith.c:533
 msgid "Can't do that unary op on that type"
 msgstr ""
 
-#: valarith.c:586
+#: valarith.c:584
 msgid "Invalid unary operation specified."
 msgstr ""
 
-#: valarith.c:723
+#: valarith.c:721
 msgid "unimplemented support for boolean repeats"
 msgstr ""
 
-#: valarith.c:727
+#: valarith.c:725
 msgid "can't repeat values of that type"
 msgstr ""
 
-#: valarith.c:737
+#: valarith.c:735
 msgid "Strings can only be concatenated with other strings."
 msgstr ""
 
-#: valarith.c:770
+#: valarith.c:768
 msgid "Booleans can only be concatenated with other bitstrings or booleans."
 msgstr ""
 
-#: valarith.c:773
+#: valarith.c:771
 msgid "unimplemented support for boolean concatenation."
 msgstr ""
 
 #. We don't know how to concatenate these operands.
-#: valarith.c:778
+#: valarith.c:776
 msgid "illegal operands for concatenation."
 msgstr ""
 
-#: valarith.c:792 valarith.c:823
+#: valarith.c:790 valarith.c:821
 msgid "Attempt to raise 0 to negative power."
 msgstr ""
 
 #. The DFP extension to the C language does not allow mixing of
 #. * decimal float types with other float types in expressions
 #. * (see WDTR 24732, page 12).
-#: valarith.c:865
+#: valarith.c:863
 msgid "Mixing decimal floating types with other floating types is not allowed."
 msgstr ""
 
-#: valarith.c:884 valarith.c:903
+#: valarith.c:882 valarith.c:901
 #, possible-c-format
 msgid "Don't know how to convert from %s to %s."
 msgstr ""
 
-#: valarith.c:987
+#: valarith.c:985
 msgid "Invalid operation on booleans."
 msgstr ""
 
-#: valarith.c:1047 valarith.c:1058 valarith.c:1173 valarith.c:1184
+#: valarith.c:1045 valarith.c:1056 valarith.c:1171 valarith.c:1182
 msgid "Division by zero"
 msgstr ""
 
-#: valarith.c:1137 valarith.c:1267
+#: valarith.c:1135 valarith.c:1265
 msgid "Invalid binary operation on numbers."
 msgstr ""
 
-#: valarith.c:1314
+#: valarith.c:1312
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: valarith.c:1345
+#: valarith.c:1343
 msgid "Vector operations are only supported among vectors"
 msgstr ""
 
-#: valarith.c:1539
+#: valarith.c:1537
 msgid "Invalid type combination in equality test."
 msgstr ""
 
-#: valarith.c:1614
+#: valarith.c:1612
 msgid "Invalid type combination in ordering comparison."
 msgstr ""
 
-#: valarith.c:1634
+#: valarith.c:1632
 msgid "Argument to positive operation not a number."
 msgstr ""
 
-#: valarith.c:1669
+#: valarith.c:1667
 msgid "Argument to negate operation not a number."
 msgstr ""
 
-#: valarith.c:1704
+#: valarith.c:1702
 msgid "Argument to complement operation not an integer, boolean."
 msgstr ""
 
-#: valarith.c:1745
+#: valarith.c:1743
 msgid "Second argument of 'IN' has wrong type"
 msgstr ""
 
-#: valarith.c:1750
+#: valarith.c:1748
 msgid "First argument of 'IN' has wrong type"
 msgstr ""
 
-#: valarith.c:1754
+#: valarith.c:1752
 msgid "First argument of 'IN' not in range"
 msgstr ""
 
-#: valops.c:117
+#: valops.c:118
 #, possible-c-format
 msgid "Overload resolution in evaluating C++ functions is %s.\n"
 msgstr ""
 
-#: valops.c:136
+#: valops.c:137
 #, possible-c-format
 msgid "\"%s\" exists in this program but is not a function."
 msgstr ""
 
-#: valops.c:170
+#: valops.c:171
 msgid "evaluation of this expression requires the target program to be active"
 msgstr ""
 
-#: valops.c:173
+#: valops.c:174
 #, possible-c-format
 msgid ""
 "evaluation of this expression requires the program to have a function \"%s\"."
 msgstr ""
 
-#: valops.c:197
+#: valops.c:198
 msgid "No memory available to program now: you need to start the target first"
 msgstr ""
 
-#: valops.c:200
+#: valops.c:201
 msgid "No memory available to program: call to malloc failed"
 msgstr ""
 
-#: valops.c:412
+#: valops.c:413
 msgid "array element type size does not divide object size in cast"
 msgstr ""
 
-#: valops.c:524
+#: valops.c:525
 msgid "value truncated"
 msgstr ""
 
-#: valops.c:546
+#: valops.c:547
 msgid "Cannot convert between vector values of different sizes"
 msgstr ""
 
-#: valops.c:549
+#: valops.c:550
 msgid "can only cast scalar to vector of same size"
 msgstr ""
 
-#: valops.c:569
+#: valops.c:570
 msgid "Invalid cast."
 msgstr ""
 
-#: valops.c:620
+#: valops.c:621
 msgid "Invalid reinterpret_cast"
 msgstr ""
 
-#: valops.c:737
+#: valops.c:738
 msgid "Argument to dynamic_cast must be a pointer or reference type"
 msgstr ""
 
-#: valops.c:740
+#: valops.c:741
 msgid "Argument to dynamic_cast must be pointer to class or `void *'"
 msgstr ""
 
-#: valops.c:748
+#: valops.c:749
 msgid "Argument to dynamic_cast does not have pointer type"
 msgstr ""
 
-#: valops.c:753
+#: valops.c:754
 msgid "Argument to dynamic_cast does not have pointer to class type"
 msgstr ""
 
-#: valops.c:766
+#: valops.c:767
 msgid "Argument to dynamic_cast does not have class type"
 msgstr ""
 
-#: valops.c:779
+#: valops.c:780
 msgid "Ambiguous dynamic_cast"
 msgstr ""
 
-#: valops.c:784
+#: valops.c:785
 msgid "Couldn't determine value's most derived type for dynamic_cast"
 msgstr ""
 
-#: valops.c:841
+#: valops.c:842
 msgid "dynamic_cast failed"
 msgstr ""
 
-#: valops.c:887
+#: valops.c:888
 msgid "Not a numeric type."
 msgstr ""
 
-#: valops.c:1080 valops.c:1136
+#: valops.c:1081 valops.c:1137
 #, possible-c-format
 msgid "Can't handle bitfields which don't fit in a %d bit word."
 msgstr ""
 
-#: valops.c:1118
+#: valops.c:1119
 msgid "Value being assigned to is no longer active."
 msgstr ""
 
-#: valops.c:1146 value.c:1227
+#: valops.c:1147 value.c:1208
 msgid "value has been optimized out"
 msgstr ""
 
-#: valops.c:1149 value.c:1246
+#: valops.c:1150 value.c:1227
 msgid "value is not available"
 msgstr ""
 
-#: valops.c:1196
+#: valops.c:1197
 msgid "Left operand of assignment is not an lvalue."
 msgstr ""
 
-#: valops.c:1279
+#: valops.c:1280
 msgid "Only values in memory can be extended with '@'."
 msgstr ""
 
-#: valops.c:1281
+#: valops.c:1282
 #, possible-c-format
 msgid "Invalid number %d of repetitions."
 msgstr ""
 
-#: valops.c:1341
+#: valops.c:1342
 #, possible-c-format
 msgid "Address requested for identifier \"%s\" which is in register $%s"
 msgstr ""
 
-#: valops.c:1348
+#: valops.c:1349
 #, possible-c-format
 msgid "Can't take address of \"%s\" which isn't an lvalue."
 msgstr ""
 
-#: valops.c:1618
+#: valops.c:1619
 #, possible-c-format
 msgid "bad array bounds (%d, %d)"
 msgstr ""
 
-#: valops.c:1626
+#: valops.c:1627
 msgid "array elements must all be the same size"
 msgstr ""
 
-#: valops.c:1714
+#: valops.c:1715
 msgid "typecmp: no argument list"
 msgstr ""
 
-#: valops.c:1792
+#: valops.c:1793
 #, possible-c-format
 msgid "base class '%s' is ambiguous in type '%s'"
 msgstr ""
 
-#: valops.c:1923 valops.c:2075
+#: valops.c:1924 valops.c:2076
 msgid "virtual baseclass botch"
 msgstr ""
 
-#: valops.c:2020
+#: valops.c:2021
 #, possible-c-format
 msgid "cannot resolve overloaded method `%s': no arguments supplied"
 msgstr ""
 
-#: valops.c:2156 valops.c:2242
+#: valops.c:2157 valops.c:2243
 #, possible-c-format
 msgid "Attempt to extract a component of a value that is not a %s."
 msgstr ""
 
-#: valops.c:2179
+#: valops.c:2180
 #, possible-c-format
 msgid "Cannot take address of method %s."
 msgstr ""
 
-#: valops.c:2183
+#: valops.c:2184
 #, possible-c-format
 msgid "There is no member or method named %s."
 msgstr ""
 
-#: valops.c:2195
+#: valops.c:2196
 #, possible-c-format
 msgid ""
 "One of the arguments you tried to pass to %s could not be converted to what "
 "the function wants."
 msgstr ""
 
-#: valops.c:2212
+#: valops.c:2213
 #, possible-c-format
 msgid "Structure has no component named %s."
 msgstr ""
 
-#: valops.c:2253
+#: valops.c:2254
 msgid "No field with matching bitpos and type."
 msgstr ""
 
-#: valops.c:2404
+#: valops.c:2299
+#, possible-c-format
+msgid "Could not find variant corresponding to discriminant %s"
+msgstr ""
+
+#: valops.c:2443
 msgid "Attempt to extract a component of a value that is not a struct or union"
 msgstr ""
 
-#: valops.c:2539
+#: valops.c:2578
 #, possible-c-format
 msgid "Couldn't find method %s%s%s"
 msgstr ""
@@ -30541,354 +31245,350 @@ msgstr ""
 #. FIXME: GDB does not support the general ambiguous case.
 #. All candidates should be collected and presented the
 #. user.
-#: valops.c:2712
+#: valops.c:2750
 msgid "Ambiguous overload resolution"
 msgstr ""
 
 #. Incomparable top contenders.
 #. This is an error incompatible candidates
 #. should not have been proposed.
-#: valops.c:2717
+#: valops.c:2755
 msgid "Internal error: incompatible overload candidates proposed"
 msgstr ""
 
-#: valops.c:2729
+#: valops.c:2767
 msgid "Internal error: unexpected overload comparison result"
 msgstr ""
 
-#: valops.c:2745
+#: valops.c:2783
 #, possible-c-format
 msgid "Cannot resolve method %s%s%s to any overloaded instance"
 msgstr ""
 
-#: valops.c:2750
+#: valops.c:2788
 #, possible-c-format
 msgid "Cannot resolve function %s to any overloaded instance"
 msgstr ""
 
-#: valops.c:2756
+#: valops.c:2794
 #, possible-c-format
 msgid ""
 "Using non-standard conversion to match method %s%s%s to supplied arguments"
 msgstr ""
 
-#: valops.c:2762
+#: valops.c:2800
 #, possible-c-format
 msgid ""
 "Using non-standard conversion to match function %s to supplied arguments"
 msgstr ""
 
-#: valops.c:3174
+#: valops.c:3206
 msgid "name of destructor must equal name of class"
 msgstr ""
 
-#: valops.c:3213
+#: valops.c:3245
 #, possible-c-format
 msgid "no constant named \"%s\" in enum \"%s\""
 msgstr ""
 
-#: valops.c:3244
+#: valops.c:3276
 msgid "non-aggregate type in value_aggregate_elt"
 msgstr ""
 
-#: valops.c:3320
+#: valops.c:3352
 msgid "Internal error: non-aggregate type to value_struct_elt_for_reference"
 msgstr ""
 
-#: valops.c:3422
+#: valops.c:3454
 msgid "no member function matches that type instantiation"
 msgstr ""
 
-#: valops.c:3448
+#: valops.c:3480
 #, possible-c-format
 msgid "non-unique member `%s' requires type instantiation"
 msgstr ""
 
-#: valops.c:3455
+#: valops.c:3487
 msgid "no matching member function"
 msgstr ""
 
-#: valops.c:3486
+#: valops.c:3518
 #, possible-c-format
 msgid "Cannot reference virtual member function \"%s\""
 msgstr ""
 
-#: valops.c:3641
+#: valops.c:3673
 msgid "Unexpected value type."
 msgstr ""
 
-#: valops.c:3707
+#: valops.c:3739
 #, possible-c-format
 msgid ""
 "Couldn't retrieve complete object of RTTI type %s; object may be in register"
 "(s)."
 msgstr ""
 
-#: valops.c:3739
+#: valops.c:3771
 msgid "no `this' in current language"
 msgstr ""
 
-#: valops.c:3747
+#: valops.c:3779
 #, possible-c-format
 msgid "current stack frame does not contain a variable named `%s'"
 msgstr ""
 
-#: valops.c:3792
+#: valops.c:3824
 msgid "slice from bad array or bitstring"
 msgstr ""
 
-#: valops.c:3796
+#: valops.c:3828
 msgid "slice out of range"
 msgstr ""
 
-#: valops.c:3883
+#: valops.c:3915
 msgid "cannot cast non-number to complex"
 msgstr ""
 
-#: valops.c:3890
+#: valops.c:3922
 msgid "Set overload resolution in evaluating C++ functions."
 msgstr ""
 
-#: valops.c:3891
+#: valops.c:3923
 msgid "Show overload resolution in evaluating C++ functions."
 msgstr ""
 
-#: valprint.c:149
+#: valprint.c:146
 #, possible-c-format
 msgid "Limit on string chars or array elements to print is %s.\n"
 msgstr ""
 
-#: valprint.c:163
+#: valprint.c:160
 #, possible-c-format
 msgid "Default input radix for entering numbers is %s.\n"
 msgstr ""
 
-#: valprint.c:173
+#: valprint.c:170
 #, possible-c-format
 msgid "Default output radix for printing of values is %s.\n"
 msgstr ""
 
-#: valprint.c:184
+#: valprint.c:181
 #, possible-c-format
 msgid "Printing of array indexes is %s.\n"
 msgstr ""
 
-#: valprint.c:195
+#: valprint.c:192
 #, possible-c-format
 msgid "Threshold for repeated print elements is %s.\n"
 msgstr ""
 
-#: valprint.c:206
+#: valprint.c:203
 #, possible-c-format
 msgid "Printing of char arrays to stop at first null char is %s.\n"
 msgstr ""
 
-#: valprint.c:217
+#: valprint.c:214
 #, possible-c-format
 msgid "Pretty formatting of structures is %s.\n"
 msgstr ""
 
-#: valprint.c:226
+#: valprint.c:223
 #, possible-c-format
 msgid "Pretty formatting of arrays is %s.\n"
 msgstr ""
 
-#: valprint.c:237
+#: valprint.c:234
 #, possible-c-format
 msgid "Printing of unions interior to structures is %s.\n"
 msgstr ""
 
-#: valprint.c:247
+#: valprint.c:244
 #, possible-c-format
 msgid "Printing of addresses is %s.\n"
 msgstr ""
 
-#: valprint.c:255
+#: valprint.c:252
 #, possible-c-format
 msgid "Printing of symbols when printing pointers is %s.\n"
 msgstr ""
 
-#: valprint.c:358
+#: valprint.c:355
 msgid "<optimized out>"
 msgstr ""
 
-#: valprint.c:364
+#: valprint.c:361
 msgid "<not saved>"
 msgstr ""
 
-#: valprint.c:376
+#: valprint.c:373
 msgid "<invalid address>"
 msgstr ""
 
-#: valprint.c:989
+#: valprint.c:986
 #, possible-c-format
 msgid "Unhandled type code %d in symbol table."
 msgstr ""
 
-#: valprint.c:1085
+#: valprint.c:1082
 msgid "<address of value unknown>"
 msgstr ""
 
-#: valprint.c:1109
+#: valprint.c:1106
 #, possible-c-format
 msgid "<internal function %s>"
 msgstr ""
 
-#: valprint.c:1351
+#: valprint.c:1348
 msgid "Value out of range."
 msgstr ""
 
-#: valprint.c:1539 valprint.c:1589
+#: valprint.c:1536 valprint.c:1586
 msgid "Internal error in octal conversion;"
 msgstr ""
 
-#: valprint.c:1971
-msgid "unable to get positions in array, use bounds instead"
-msgstr ""
-
-#: valprint.c:2913
+#: valprint.c:2898
 #, possible-c-format
 msgid "Nonsense input radix ``decimal %u''; input radix unchanged."
 msgstr ""
 
-#: valprint.c:2919
+#: valprint.c:2904
 #, possible-c-format
 msgid "Input radix now set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:2955
+#: valprint.c:2940
 #, possible-c-format
 msgid "Unsupported output radix ``decimal %u''; output radix unchanged."
 msgstr ""
 
-#: valprint.c:2962
+#: valprint.c:2947
 #, possible-c-format
 msgid "Output radix now set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:2986
+#: valprint.c:2971
 #, possible-c-format
 msgid "Input and output radices now set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:3001
+#: valprint.c:2986
 #, possible-c-format
 msgid "Input and output radices set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:3007
+#: valprint.c:2992
 #, possible-c-format
 msgid "Input radix set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:3010
+#: valprint.c:2995
 #, possible-c-format
 msgid "Output radix set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:3051
+#: valprint.c:3036
 msgid "Generic command for setting how things print."
 msgstr ""
 
-#: valprint.c:3058
+#: valprint.c:3043
 msgid "Generic command for showing print settings."
 msgstr ""
 
-#: valprint.c:3064
+#: valprint.c:3049
 msgid "Generic command for setting what things to print in \"raw\" mode."
 msgstr ""
 
-#: valprint.c:3068
+#: valprint.c:3053
 msgid "Generic command for showing \"print raw\" settings."
 msgstr ""
 
-#: valprint.c:3072
+#: valprint.c:3057
 msgid "Set limit on string chars or array elements to print."
 msgstr ""
 
-#: valprint.c:3073
+#: valprint.c:3058
 msgid "Show limit on string chars or array elements to print."
 msgstr ""
 
-#: valprint.c:3074
+#: valprint.c:3059
 msgid "\"set print elements unlimited\" causes there to be no limit."
 msgstr ""
 
-#: valprint.c:3081
+#: valprint.c:3066
 msgid "Set printing of char arrays to stop at first null char."
 msgstr ""
 
-#: valprint.c:3082
+#: valprint.c:3067
 msgid "Show printing of char arrays to stop at first null char."
 msgstr ""
 
-#: valprint.c:3089
+#: valprint.c:3074
 msgid "Set threshold for repeated print elements."
 msgstr ""
 
-#: valprint.c:3090
+#: valprint.c:3075
 msgid "Show threshold for repeated print elements."
 msgstr ""
 
-#: valprint.c:3091
+#: valprint.c:3076
 msgid ""
 "\"set print repeats unlimited\" causes all elements to be individually "
 "printed."
 msgstr ""
 
-#: valprint.c:3098
+#: valprint.c:3083
 msgid "Set pretty formatting of structures."
 msgstr ""
 
-#: valprint.c:3099
+#: valprint.c:3084
 msgid "Show pretty formatting of structures."
 msgstr ""
 
-#: valprint.c:3106
+#: valprint.c:3091
 msgid "Set printing of unions interior to structures."
 msgstr ""
 
-#: valprint.c:3107
+#: valprint.c:3092
 msgid "Show printing of unions interior to structures."
 msgstr ""
 
-#: valprint.c:3114
+#: valprint.c:3099
 msgid "Set pretty formatting of arrays."
 msgstr ""
 
-#: valprint.c:3115
+#: valprint.c:3100
 msgid "Show pretty formatting of arrays."
 msgstr ""
 
-#: valprint.c:3122
+#: valprint.c:3107
 msgid "Set printing of addresses."
 msgstr ""
 
-#: valprint.c:3123
+#: valprint.c:3108
 msgid "Show printing of addresses."
 msgstr ""
 
-#: valprint.c:3130
+#: valprint.c:3115
 msgid "Set printing of symbol names when printing pointers."
 msgstr ""
 
-#: valprint.c:3131
+#: valprint.c:3116
 msgid "Show printing of symbol names when printing pointers."
 msgstr ""
 
-#: valprint.c:3138
+#: valprint.c:3123
 msgid "Set default input radix for entering numbers."
 msgstr ""
 
-#: valprint.c:3139
+#: valprint.c:3124
 msgid "Show default input radix for entering numbers."
 msgstr ""
 
-#: valprint.c:3146
+#: valprint.c:3131
 msgid "Set default output radix for printing of values."
 msgstr ""
 
-#: valprint.c:3147
+#: valprint.c:3132
 msgid "Show default output radix for printing of values."
 msgstr ""
 
@@ -30899,91 +31599,91 @@ msgstr ""
 #. add_show_from_set() commands aren't really appropriate.
 #. FIXME: i18n: With the new add_setshow_integer command, that is no
 #. longer true - show can display anything.
-#: valprint.c:3160
+#: valprint.c:3145
 msgid ""
 "Set default input and output number radices.\n"
 "Use 'set input-radix' or 'set output-radix' to independently set each.\n"
 "Without an argument, sets both radices back to the default value of 10."
 msgstr ""
 
-#: valprint.c:3165
+#: valprint.c:3150
 msgid ""
 "Show the default input and output number radices.\n"
 "Use 'show input-radix' or 'show output-radix' to independently show each."
 msgstr ""
 
-#: valprint.c:3171
+#: valprint.c:3156
 msgid "Set printing of array indexes."
 msgstr ""
 
-#: valprint.c:3172
+#: valprint.c:3157
 msgid "Show printing of array indexes"
 msgstr ""
 
-#: value.c:980
+#: value.c:972
 #, possible-c-format
 msgid "max-value-size set too low, increasing to %d bytes"
 msgstr ""
 
-#: value.c:992
+#: value.c:984
 msgid "Maximum value size is unlimited.\n"
 msgstr ""
 
-#: value.c:994
+#: value.c:986
 #, possible-c-format
 msgid "Maximum value size is %d bytes.\n"
 msgstr ""
 
-#: value.c:1012
+#: value.c:1004
 #, possible-c-format
 msgid "value of type `%s' requires %u bytes, which is more than max-value-size"
 msgstr ""
 
-#: value.c:1015
+#: value.c:1007
 #, possible-c-format
 msgid "value requires %u bytes, which is more than max-value-size"
 msgstr ""
 
-#: value.c:1236
+#: value.c:1217
 msgid "register has not been saved in frame"
 msgstr ""
 
-#: value.c:1939
+#: value.c:1818
 msgid "The history is empty."
 msgstr ""
 
-#: value.c:1941
+#: value.c:1820
 msgid "There is only one value in the history."
 msgstr ""
 
-#: value.c:1943
+#: value.c:1822
 #, possible-c-format
 msgid "History does not go back to $$%d."
 msgstr ""
 
-#: value.c:1946
+#: value.c:1825
 #, possible-c-format
 msgid "History has not yet reached $%d."
 msgstr ""
 
-#: value.c:2100
+#: value.c:1971
 msgid "Init-if-undefined requires an assignment expression."
 msgstr ""
 
-#: value.c:2105
+#: value.c:1976
 msgid "The first parameter to init-if-undefined should be a GDB variable."
 msgstr ""
 
-#: value.c:2282
+#: value.c:2153
 msgid "bad kind"
 msgstr ""
 
 #. We can never get a component of any other kind.
-#: value.c:2376
+#: value.c:2247
 msgid "set_internalvar_component"
 msgstr ""
 
-#: value.c:2387
+#: value.c:2258
 #, possible-c-format
 msgid "Cannot overwrite convenience function %s"
 msgstr ""
@@ -30992,55 +31692,55 @@ msgstr ""
 #. The user can't create them except via Python, and if Python support
 #. is installed this message will never be printed ($_streq will
 #. exist).
-#: value.c:2692
+#: value.c:2559
 msgid ""
 "No debugger convenience variables now defined.\n"
 "Convenience variables have names starting with \"$\";\n"
 "use \"set\" as in \"set $foo = 5\" to define them.\n"
 msgstr ""
 
-#: value.c:2915
+#: value.c:2778
 msgid "Value can't be converted to integer."
 msgstr ""
 
-#: value.c:2949
+#: value.c:2812
 msgid "Invalid floating value found in program."
 msgstr ""
 
 #. FIXME: would like to include fieldval in the message, but
 #. we don't have a sprintf_longest.
-#: value.c:3425
+#: value.c:3291
 #, possible-c-format
 msgid "Value does not fit in %s bits."
 msgstr ""
 
-#: value.c:3482
+#: value.c:3348
 #, possible-c-format
 msgid "Unexpected type (%d) encountered for integer constant."
 msgstr ""
 
-#: value.c:3524
+#: value.c:3390
 #, possible-c-format
 msgid "Unexpected type (%d) encountered for unsigned integer constant."
 msgstr ""
 
-#: value.c:3811
+#: value.c:3677
 msgid "Function return type unknown."
 msgstr ""
 
-#: value.c:3947
+#: value.c:3809
 msgid "infinite loop while fetching a register"
 msgstr ""
 
-#: value.c:4017
+#: value.c:3904
 msgid "Unexpected lazy value type."
 msgstr ""
 
-#: value.c:4032
+#: value.c:3919
 msgid "You must provide one argument for $_isvoid."
 msgstr ""
 
-#: value.c:4042
+#: value.c:4071
 msgid ""
 "Debugger convenience (\"$foo\") variables and functions.\n"
 "Convenience variables are created when you assign them values;\n"
@@ -31053,11 +31753,11 @@ msgid ""
 "Convenience functions are defined via the Python API."
 msgstr ""
 
-#: value.c:4057
+#: value.c:4086
 msgid "Elements of value history around item number IDX (or last ten)."
 msgstr ""
 
-#: value.c:4061
+#: value.c:4090
 msgid ""
 "Initialize a convenience variable if necessary.\n"
 "init-if-undefined VARIABLE = EXPRESSION\n"
@@ -31066,26 +31766,26 @@ msgid ""
 "VARIABLE is already initialized."
 msgstr ""
 
-#: value.c:4068
+#: value.c:4097
 msgid "Placeholder command for showing help on convenience functions."
 msgstr ""
 
-#: value.c:4072
+#: value.c:4101
 msgid ""
 "Check whether an expression is void.\n"
 "Usage: $_isvoid (expression)\n"
 "Return 1 if the expression is void, zero otherwise."
 msgstr ""
 
-#: value.c:4079
+#: value.c:4108
 msgid "Set maximum sized value gdb will load from the inferior."
 msgstr ""
 
-#: value.c:4080
+#: value.c:4109
 msgid "Show maximum sized value gdb will load from the inferior."
 msgstr ""
 
-#: value.c:4081
+#: value.c:4110
 msgid ""
 "Use this to control the maximum size, in bytes, of a value that gdb\n"
 "will load from the inferior.  Setting this value to 'unlimited'\n"
@@ -31094,64 +31794,64 @@ msgid ""
 "prevents future values, larger than this size, from being allocated."
 msgstr ""
 
-#: varobj.c:49
+#: varobj.c:50
 #, possible-c-format
 msgid "Varobj debugging is %s.\n"
 msgstr ""
 
-#: varobj.c:354
+#: varobj.c:356
 msgid "Failed to find the specified frame"
 msgstr ""
 
-#: varobj.c:697
+#: varobj.c:699
 msgid "requested an iterator from a non-dynamic varobj"
 msgstr ""
 
-#: varobj.c:1119
+#: varobj.c:1121
 msgid "Cannot instantiate printer for default visualizer"
 msgstr ""
 
-#: varobj.c:1465
+#: varobj.c:1466
 #, possible-c-format
 msgid "Could not evaluate visualizer expression: %s"
 msgstr ""
 
-#: varobj.c:1474
+#: varobj.c:1475
 msgid "Python support required"
 msgstr ""
 
-#: varobj.c:1814
+#: varobj.c:1815
 msgid "Duplicate variable object name"
 msgstr ""
 
-#: varobj.c:1897
+#: varobj.c:1898
 #, possible-c-format
 msgid "Assertion failed: Could not find varobj \"%s\" in root list"
 msgstr ""
 
-#: varobj.c:2532
+#: varobj.c:2534
 msgid "Set varobj debugging."
 msgstr ""
 
-#: varobj.c:2533
+#: varobj.c:2535
 msgid "Show varobj debugging."
 msgstr ""
 
-#: varobj.c:2534
+#: varobj.c:2536
 msgid "When non-zero, varobj debugging is enabled."
 msgstr ""
 
-#: windows-nat.c:357
+#: windows-nat.c:405
 #, possible-c-format
 msgid "SuspendThread (tid=0x%x) failed. (winerr %u)"
 msgstr ""
 
-#: windows-nat.c:446
+#: windows-nat.c:494
 #, possible-c-format
 msgid "[%s exited with code %u]\n"
 msgstr ""
 
-#: windows-nat.c:669
+#: windows-nat.c:736
 msgid "dll path too long"
 msgstr ""
 
@@ -31162,94 +31862,94 @@ msgstr ""
 #. 4 mysterious UNLOAD_DLL_DEBUG_EVENTs during the startup phase (these
 #. events are apparently caused by the WOW layer, the interface between
 #. 32bit and 64bit worlds).
-#: windows-nat.c:832
+#: windows-nat.c:899
 #, possible-c-format
 msgid "dll starting at %s not found."
 msgstr ""
 
-#: windows-nat.c:868
+#: windows-nat.c:935
 msgid "signal-event requires an argument (integer event id)"
 msgstr ""
 
-#: windows-nat.c:874
+#: windows-nat.c:941
 #, possible-c-format
 msgid "Failed to convert `%s' to event id"
 msgstr ""
 
-#: windows-nat.c:1285
+#: windows-nat.c:1349
 #, possible-c-format
 msgid ""
 "Failed to resume program execution (ContinueDebugEvent failed, error %u)"
 msgstr ""
 
-#: windows-nat.c:1304
+#: windows-nat.c:1368
 #, possible-c-format
 msgid "OpenProcess call failed, GetLastError = %u"
 msgstr ""
 
-#: windows-nat.c:1429
+#: windows-nat.c:1491
 msgid "Could not interrupt program.  Press Ctrl-c in the program console."
 msgstr ""
 
-#: windows-nat.c:1539
+#: windows-nat.c:1601
 #, possible-c-format
 msgid "During startup program exited with code 0x%x."
 msgstr ""
 
-#: windows-nat.c:1911
+#: windows-nat.c:1973
 msgid "Can't attach to process."
 msgstr ""
 
-#: windows-nat.c:1943
+#: windows-nat.c:2005
 #, possible-c-format
 msgid "Can't detach process %u (error %u)"
 msgstr ""
 
-#: windows-nat.c:2001 windows-nat.c:2011
+#: windows-nat.c:2063 windows-nat.c:2073
 #, possible-c-format
 msgid "Error getting executable filename: %u."
 msgstr ""
 
-#: windows-nat.c:2005
+#: windows-nat.c:2067
 #, possible-c-format
 msgid "Error converting executable filename to POSIX: %d."
 msgstr ""
 
-#: windows-nat.c:2482
+#: windows-nat.c:2544
 msgid "No executable specified, use `target exec'."
 msgstr ""
 
-#: windows-nat.c:2510 windows-nat.c:2515
+#: windows-nat.c:2572 windows-nat.c:2577
 #, possible-c-format
 msgid "Error starting executable: %d"
 msgstr ""
 
-#: windows-nat.c:2528
+#: windows-nat.c:2590
 #, possible-c-format
 msgid "Error starting executable via shell: %d"
 msgstr ""
 
-#: windows-nat.c:2547
+#: windows-nat.c:2609
 #, possible-c-format
 msgid "Error converting inferior cwd: %d"
 msgstr ""
 
-#: windows-nat.c:2646
+#: windows-nat.c:2708
 #, possible-c-format
 msgid "Error in redirection: %s."
 msgstr ""
 
-#: windows-nat.c:2663
+#: windows-nat.c:2725
 #, possible-c-format
 msgid "Warning: Failed to open TTY %s, error %#x."
 msgstr ""
 
-#: windows-nat.c:2747
+#: windows-nat.c:2809
 #, possible-c-format
 msgid "Error creating process %s, (error %u)."
 msgstr ""
 
-#: windows-nat.c:3020
+#: windows-nat.c:3054
 msgid ""
 "Signal a crashed process with event ID, to allow its debugging.\n"
 "This command is needed in support of setting up GDB as JIT debugger on MS-"
@@ -31258,87 +31958,87 @@ msgid ""
 "process will be supplied by the Windows JIT debugging mechanism."
 msgstr ""
 
-#: windows-nat.c:3028
+#: windows-nat.c:3062
 msgid "Set use of shell to start subprocess."
 msgstr ""
 
-#: windows-nat.c:3029
+#: windows-nat.c:3063
 msgid "Show use of shell to start subprocess."
 msgstr ""
 
-#: windows-nat.c:3036
+#: windows-nat.c:3070
 msgid "Break when an exception is detected in the Cygwin DLL itself."
 msgstr ""
 
-#: windows-nat.c:3037
+#: windows-nat.c:3071
 msgid "Show whether gdb breaks on exceptions in the Cygwin DLL itself."
 msgstr ""
 
-#: windows-nat.c:3044
+#: windows-nat.c:3078
 msgid "Set creation of new console when creating child process."
 msgstr ""
 
-#: windows-nat.c:3045
+#: windows-nat.c:3079
 msgid "Show creation of new console when creating child process."
 msgstr ""
 
-#: windows-nat.c:3051
+#: windows-nat.c:3085
 msgid "Set creation of new group when creating child process."
 msgstr ""
 
-#: windows-nat.c:3052
+#: windows-nat.c:3086
 msgid "Show creation of new group when creating child process."
 msgstr ""
 
-#: windows-nat.c:3058
+#: windows-nat.c:3092
 msgid "Set whether to display execution in child process."
 msgstr ""
 
-#: windows-nat.c:3059
+#: windows-nat.c:3093
 msgid "Show whether to display execution in child process."
 msgstr ""
 
-#: windows-nat.c:3065
+#: windows-nat.c:3099
 msgid "Set whether to display kernel events in child process."
 msgstr ""
 
-#: windows-nat.c:3066
+#: windows-nat.c:3100
 msgid "Show whether to display kernel events in child process."
 msgstr ""
 
-#: windows-nat.c:3072
+#: windows-nat.c:3106
 msgid "Set whether to display memory accesses in child process."
 msgstr ""
 
-#: windows-nat.c:3073
+#: windows-nat.c:3107
 msgid "Show whether to display memory accesses in child process."
 msgstr ""
 
-#: windows-nat.c:3080
+#: windows-nat.c:3114
 msgid "Set whether to display kernel exceptions in child process."
 msgstr ""
 
-#: windows-nat.c:3081
+#: windows-nat.c:3115
 msgid "Show whether to display kernel exceptions in child process."
 msgstr ""
 
-#: windows-nat.c:3090
+#: windows-nat.c:3124
 msgid "Display selectors infos."
 msgstr ""
 
-#: windows-nat.c:3104
+#: windows-nat.c:3138
 #, possible-c-format
 msgid "Invalid register %d in cygwin_set_dr.\n"
 msgstr ""
 
-#: windows-nat.c:3188
+#: windows-nat.c:3222
 #, possible-c-format
 msgid "obsolete '%s' found. Rename to '%s'."
 msgstr ""
 
 #. This will probably fail on Windows 9x/Me.  Let the user know
 #. that we're missing some functionality.
-#: windows-nat.c:3313
+#: windows-nat.c:3347
 msgid ""
 "cannot automatically find executable file or library to read symbols.\n"
 "Use \"file\" or \"dll\" command to load executable/libraries directly."
@@ -31406,15 +32106,15 @@ msgid ""
 "even if their meaning is unknown."
 msgstr ""
 
-#: x86-bsd-nat.c:72
+#: x86-bsd-nat.c:62
 msgid "Couldn't read debug registers"
 msgstr ""
 
-#: x86-bsd-nat.c:85
+#: x86-bsd-nat.c:75
 msgid "Couldn't get debug registers"
 msgstr ""
 
-#: x86-bsd-nat.c:99
+#: x86-bsd-nat.c:89
 msgid "Couldn't write debug registers"
 msgstr ""
 
@@ -31430,28 +32130,19 @@ msgstr ""
 msgid "Can't debug 64-bit process with 32-bit GDB"
 msgstr ""
 
-#: x86-linux-nat.c:225
-#, possible-c-format
-msgid "Could not enable branch tracing for %s: %s."
-msgstr ""
-
-#: x86-linux-nat.c:240
-msgid "Could not disable branch tracing."
-msgstr ""
-
-#: x86-nat.c:269
+#: x86-nat.c:278
 msgid "Set whether to show variables that mirror the x86 debug registers."
 msgstr ""
 
-#: x86-nat.c:270
+#: x86-nat.c:279
 msgid "Show whether to show variables that mirror the x86 debug registers."
 msgstr ""
 
-#: xcoffread.c:186
+#: xcoffread.c:185
 msgid "line numbers off, `.bf' symbol not found"
 msgstr ""
 
-#: xcoffread.c:193
+#: xcoffread.c:191
 #, possible-c-format
 msgid "Mismatched .ef symbol ignored starting at symnum %d"
 msgstr ""
@@ -31461,207 +32152,207 @@ msgstr ""
 #. This can happen with old versions of GCC.
 #. GCC 2.3.3-930426 does not exhibit this on a test case which
 #. a user said produced the message for him.
-#: xcoffread.c:561
+#: xcoffread.c:558
 msgid "Nested C_BINCL symbols"
 msgstr ""
 
-#: xcoffread.c:578
+#: xcoffread.c:575
 msgid "Mismatched C_BINCL/C_EINCL pair"
 msgstr ""
 
-#: xcoffread.c:860
+#: xcoffread.c:856
 msgid "Bad line table offset in C_EINCL directive"
 msgstr ""
 
-#: xcoffread.c:981 xcoffread.c:995
+#: xcoffread.c:977 xcoffread.c:991
 msgid "Unexpected symbol continuation"
 msgstr ""
 
-#: xcoffread.c:1450
+#: xcoffread.c:1445
 #, possible-c-format
 msgid "Unrecognized storage class %d."
 msgstr ""
 
-#: xcoffread.c:1635
+#: xcoffread.c:1630
 #, possible-c-format
 msgid "Unexpected storage class: %d"
 msgstr ""
 
-#: xcoffread.c:1720
+#: xcoffread.c:1715
 msgid "Invalid symbol offset"
 msgstr ""
 
-#: xcoffread.c:1984
+#: xcoffread.c:1977
 #, possible-c-format
 msgid "cannot seek to string table in %s: %s"
 msgstr ""
 
-#: xcoffread.c:2011
+#: xcoffread.c:2004
 #, possible-c-format
 msgid "cannot read string table from %s: %s"
 msgstr ""
 
-#: xcoffread.c:2014
+#: xcoffread.c:2007
 msgid "bad symbol file: string table does not end with null character"
 msgstr ""
 
-#: xcoffread.c:2377
+#: xcoffread.c:2368
 msgid "More than one XMC_TC0 symbol found."
 msgstr ""
 
-#: xcoffread.c:2529
+#: xcoffread.c:2519
 #, possible-c-format
 msgid "Storage class %d not recognized during scan"
 msgstr ""
 
-#: xcoffread.c:3000
+#: xcoffread.c:2989
 #, possible-c-format
 msgid "Error reading .debug section of `%s': %s"
 msgstr ""
 
-#: xcoffread.c:3013
+#: xcoffread.c:3002
 #, possible-c-format
 msgid "Error reading symbols from %s: %s"
 msgstr ""
 
-#: xcoffread.c:3021
+#: xcoffread.c:3010
 msgid "reading symbol table"
 msgstr ""
 
-#: xml-support.c:286
+#: xml-support.c:268
 #, possible-c-format
 msgid "Entering element <%s>"
 msgstr ""
 
-#: xml-support.c:311
+#: xml-support.c:293
 #, possible-c-format
 msgid "Element <%s> unknown"
 msgstr ""
 
-#: xml-support.c:316
+#: xml-support.c:298
 #, possible-c-format
 msgid "Element <%s> only expected once"
 msgstr ""
 
-#: xml-support.c:340
+#: xml-support.c:321
 #, possible-c-format
 msgid "Attribute \"%s\" missing a value"
 msgstr ""
 
-#: xml-support.c:347
+#: xml-support.c:328
 #, possible-c-format
 msgid "Required attribute \"%s\" of <%s> not specified"
 msgstr ""
 
-#: xml-support.c:356
+#: xml-support.c:337
 #, possible-c-format
 msgid "Parsing attribute %s=\"%s\""
 msgstr ""
 
-#: xml-support.c:383
+#: xml-support.c:362
 #, possible-c-format
 msgid "Ignoring unknown attribute %s"
 msgstr ""
 
-#: xml-support.c:434
+#: xml-support.c:411
 #, possible-c-format
 msgid "Leaving element <%s>"
 msgstr ""
 
-#: xml-support.c:441
+#: xml-support.c:418
 #, possible-c-format
 msgid "Required element <%s> is missing"
 msgstr ""
 
-#: xml-support.c:552
+#: xml-support.c:529
 #, possible-c-format
 msgid "could not locate built-in DTD %s"
 msgstr ""
 
-#: xml-support.c:595
+#: xml-support.c:572
 #, possible-c-format
 msgid "XML_UseForeignDTD failed: %s"
 msgstr ""
 
-#: xml-support.c:612
+#: xml-support.c:589
 #, possible-c-format
 msgid ""
 "Starting:\n"
 "%s"
 msgstr ""
 
-#: xml-support.c:638
+#: xml-support.c:615
 #, possible-c-format
 msgid "while parsing %s (at line %d): %s"
 msgstr ""
 
-#: xml-support.c:641
+#: xml-support.c:618
 #, possible-c-format
 msgid "while parsing %s: %s"
 msgstr ""
 
-#: xml-support.c:689
+#: xml-support.c:666
 #, possible-c-format
 msgid "Can't convert \"%s\" to an integer"
 msgstr ""
 
-#: xml-support.c:705
+#: xml-support.c:682
 #, possible-c-format
 msgid "Can't convert %s=\"%s\" to an integer"
 msgstr ""
 
-#: xml-support.c:741
+#: xml-support.c:718
 #, possible-c-format
 msgid "Unknown attribute value %s=\"%s\""
 msgstr ""
 
-#: xml-support.c:812
+#: xml-support.c:790
 #, possible-c-format
 msgid "Processing XInclude of \"%s\""
 msgstr ""
 
-#: xml-support.c:815
+#: xml-support.c:793
 #, possible-c-format
 msgid "Maximum XInclude depth (%d) exceeded"
 msgstr ""
 
-#: xml-support.c:821
+#: xml-support.c:799
 #, possible-c-format
 msgid "Could not load XML document \"%s\""
 msgstr ""
 
-#: xml-support.c:827
+#: xml-support.c:805
 #, possible-c-format
 msgid "Parsing \"%s\" failed"
 msgstr ""
 
-#: xml-support.c:934
+#: xml-support.c:912
 msgid "XInclude processing succeeded."
 msgstr ""
 
-#: xml-support.c:993
+#: xml-support.c:971
 #, possible-c-format
 msgid "XML debugging is %s.\n"
 msgstr ""
 
-#: xml-support.c:1022
+#: xml-support.c:1000
 msgid "seek to end of file"
 msgstr ""
 
-#: xml-support.c:1031
+#: xml-support.c:1009
 #, possible-c-format
 msgid "Read error from \"%s\""
 msgstr ""
 
-#: xml-support.c:1043
+#: xml-support.c:1021
 msgid "Set XML parser debugging."
 msgstr ""
 
-#: xml-support.c:1044
+#: xml-support.c:1022
 msgid "Show XML parser debugging."
 msgstr ""
 
-#: xml-support.c:1045
+#: xml-support.c:1023
 msgid "When set, debugging messages for XML parsers are displayed."
 msgstr ""
 
@@ -31671,29 +32362,29 @@ msgid ""
 "time."
 msgstr ""
 
-#: xml-syscall.c:252
+#: xml-syscall.c:249
 #, possible-c-format
 msgid "Unknown attribute name '%s'."
 msgstr ""
 
-#: xml-syscall.c:290
+#: xml-syscall.c:287
 msgid "syscalls info"
 msgstr ""
 
-#: xml-syscall.c:298
+#: xml-syscall.c:295
 msgid "Could not load XML syscalls info; ignoring"
 msgstr ""
 
-#: xml-syscall.c:356
+#: xml-syscall.c:353
 #, possible-c-format
 msgid "Could not load the syscall XML file `%s/%s'."
 msgstr ""
 
-#: xml-syscall.c:359
+#: xml-syscall.c:356
 msgid "There is no XML file to open."
 msgstr ""
 
-#: xml-syscall.c:361
+#: xml-syscall.c:358
 msgid ""
 "GDB will not be able to display syscall names nor to verify if\n"
 "any provided syscall numbers are valid."
@@ -31715,7 +32406,7 @@ msgstr ""
 msgid "Target description specified unknown osabi \"%s\""
 msgstr ""
 
-#: xml-tdesc.c:153
+#: xml-tdesc.c:154
 #, possible-c-format
 msgid "Target description has unsupported version \"%s\""
 msgstr ""
@@ -31801,45 +32492,49 @@ msgstr ""
 msgid "Enum value %s is larger than maximum (%d)"
 msgstr ""
 
-#: xml-tdesc.c:491
+#: xml-tdesc.c:490
 #, possible-c-format
 msgid "Vector size %s is larger than maximum (%d)"
 msgstr ""
 
-#: xml-tdesc.c:497
+#: xml-tdesc.c:496
 #, possible-c-format
 msgid "Vector \"%s\" references undefined type \"%s\""
 msgstr ""
 
-#: xml-tdesc.c:630 xml-tdesc.c:648 xml-tdesc.c:746
+#: xml-tdesc.c:629 xml-tdesc.c:647 xml-tdesc.c:745
 msgid "target description"
 msgstr ""
 
-#: xml-tdesc.c:633 xml-tdesc.c:658 xml-tdesc.c:750
+#: xml-tdesc.c:632 xml-tdesc.c:657 xml-tdesc.c:749
 msgid "Could not load XML target description; ignoring"
 msgstr ""
 
-#: xml-tdesc.c:676
+#: xml-tdesc.c:675
 #, possible-c-format
 msgid "Could not open \"%s\""
 msgstr ""
 
-#: xml-tdesc.c:733
+#: xml-tdesc.c:732
 msgid ""
 "Can not fetch XML target description; XML support was disabled at compile "
 "time"
 msgstr ""
 
+#: xml-tdesc.c:763
+msgid "xincludes are unsupported with this method"
+msgstr ""
+
 #: xstormy16-tdep.c:113
 #, possible-c-format
 msgid "xstormy16_register_name: illegal register number %d"
 msgstr ""
 
-#: xtensa-linux-nat.c:265 xtensa-linux-nat.c:281
+#: xtensa-linux-nat.c:257 xtensa-linux-nat.c:272
 msgid "Couldn't get extended registers"
 msgstr ""
 
-#: xtensa-linux-nat.c:289
+#: xtensa-linux-nat.c:279
 msgid "Couldn't write extended registers"
 msgstr ""
 
@@ -31852,120 +32547,120 @@ msgstr ""
 msgid "size of all masks is larger than the register"
 msgstr ""
 
-#: xtensa-tdep.c:603
+#: xtensa-tdep.c:602
 #, possible-c-format
 msgid "cannot read register %s"
 msgstr ""
 
-#: xtensa-tdep.c:615 xtensa-tdep.c:622
+#: xtensa-tdep.c:614 xtensa-tdep.c:621
 msgid "cannot read register"
 msgstr ""
 
-#: xtensa-tdep.c:689
+#: xtensa-tdep.c:688
 #, possible-c-format
 msgid "cannot write register %s"
 msgstr ""
 
-#: xtensa-tdep.c:701 xtensa-tdep.c:709
+#: xtensa-tdep.c:700 xtensa-tdep.c:708
 msgid "cannot write register"
 msgstr ""
 
-#: xtensa-tdep.c:1409
+#: xtensa-tdep.c:1407
 msgid ""
 "\n"
 "Unrecognised function prologue. Stack trace cannot be resolved. This message "
 "will not be repeated in this session.\n"
 msgstr ""
 
-#: xtensa-tdep.c:1576
+#: xtensa-tdep.c:1574
 #, possible-c-format
 msgid "cannot extract return value of %d bytes long"
 msgstr ""
 
-#: xtensa-tdep.c:1631
+#: xtensa-tdep.c:1629
 #, possible-c-format
 msgid "unimplemented for this length: %d"
 msgstr ""
 
-#: xtensa-tdep.c:2435
+#: xtensa-tdep.c:2433
 msgid "Unable to read target memory ..."
 msgstr ""
 
-#: xtensa-tdep.c:2931
+#: xtensa-tdep.c:2929
 msgid "Unable to decode Xtensa Window Interrupt Handler's code."
 msgstr ""
 
-#: xtensa-tdep.c:2962
+#: xtensa-tdep.c:2960
 msgid "Unable to read Xtensa register EPC1"
 msgstr ""
 
-#: xtensa-tdep.c:3058
+#: xtensa-tdep.c:3056
 #, c-format
 msgid ""
 "\n"
 "\tnum_aregs: Number of AR registers (%d) is not a power of two!"
 msgstr ""
 
-#: xtensa-tdep.c:3065
+#: xtensa-tdep.c:3063
 #, c-format
 msgid ""
 "\n"
 "\tpc_regnum: No PC register"
 msgstr ""
 
-#: xtensa-tdep.c:3067
+#: xtensa-tdep.c:3065
 #, c-format
 msgid ""
 "\n"
 "\tps_regnum: No PS register"
 msgstr ""
 
-#: xtensa-tdep.c:3072
+#: xtensa-tdep.c:3070
 #, c-format
 msgid ""
 "\n"
 "\twb_regnum: No WB register"
 msgstr ""
 
-#: xtensa-tdep.c:3074
+#: xtensa-tdep.c:3072
 #, c-format
 msgid ""
 "\n"
 "\tws_regnum: No WS register"
 msgstr ""
 
-#: xtensa-tdep.c:3076
+#: xtensa-tdep.c:3074
 #, c-format
 msgid ""
 "\n"
 "\tar_base: No AR registers"
 msgstr ""
 
-#: xtensa-tdep.c:3080
+#: xtensa-tdep.c:3078
 #, c-format
 msgid ""
 "\n"
 "\ta0_base: No Ax registers"
 msgstr ""
 
-#: xtensa-tdep.c:3084
+#: xtensa-tdep.c:3082
 #, possible-c-format
 msgid "the following are invalid: %s"
 msgstr ""
 
-#: xtensa-tdep.c:3273
+#: xtensa-tdep.c:3267
 msgid "xtensa_dump_tdep(): not implemented"
 msgstr ""
 
-#: xtensa-tdep.c:3285
+#: xtensa-tdep.c:3279
 msgid "Set Xtensa debugging."
 msgstr ""
 
-#: xtensa-tdep.c:3286
+#: xtensa-tdep.c:3280
 msgid "Show Xtensa debugging."
 msgstr ""
 
-#: xtensa-tdep.c:3286
+#: xtensa-tdep.c:3280
 msgid ""
 "When non-zero, Xtensa-specific debugging is enabled. Can be 1, 2, 3, or 4 "
 "indicating the level of debugging."
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc64-tdep.c ./gdb/ppc64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc64-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc64-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -80,7 +80,7 @@ ppc64_plt_entry_point (struct frame_info
 
 /* Old ELFv1 PLT call stub.  */
 
-static struct ppc_insn_pattern ppc64_standard_linkage1[] =
+static const struct ppc_insn_pattern ppc64_standard_linkage1[] =
   {
     /* addis r12, r2, <any> */
     { insn_d (-1, -1, -1, 0), insn_d (15, 12, 2, 0), 0 },
@@ -119,7 +119,7 @@ static struct ppc_insn_pattern ppc64_sta
    instructions following "cmpldi r2, 0", "bnectr+" and "b <glink_i>",
    but there isn't any need to match them.  */
 
-static struct ppc_insn_pattern ppc64_standard_linkage2[] =
+static const struct ppc_insn_pattern ppc64_standard_linkage2[] =
   {
     /* std r2, 40(r1) <optional> */
     { -1, insn_ds (62, 2, 1, 40, 0), 1 },
@@ -162,7 +162,7 @@ static struct ppc_insn_pattern ppc64_sta
 
 /* ELFv1 PLT call stub to access PLT entries within +/- 32k of r2.  */
 
-static struct ppc_insn_pattern ppc64_standard_linkage3[] =
+static const struct ppc_insn_pattern ppc64_standard_linkage3[] =
   {
     /* std r2, 40(r1) <optional> */
     { -1, insn_ds (62, 2, 1, 40, 0), 1 },
@@ -201,7 +201,7 @@ static struct ppc_insn_pattern ppc64_sta
    A more modern variant of ppc64_standard_linkage2 differing in
    register usage.  */
 
-static struct ppc_insn_pattern ppc64_standard_linkage4[] =
+static const struct ppc_insn_pattern ppc64_standard_linkage4[] =
   {
     /* std r2, 40(r1) <optional> */
     { -1, insn_ds (62, 2, 1, 40, 0), 1 },
@@ -243,7 +243,7 @@ static struct ppc_insn_pattern ppc64_sta
    A more modern variant of ppc64_standard_linkage3 differing in
    register usage.  */
 
-static struct ppc_insn_pattern ppc64_standard_linkage5[] =
+static const struct ppc_insn_pattern ppc64_standard_linkage5[] =
   {
     /* std r2, 40(r1) <optional> */
     { -1, insn_ds (62, 2, 1, 40, 0), 1 },
@@ -280,7 +280,7 @@ static struct ppc_insn_pattern ppc64_sta
 
 /* ELFv2 PLT call stub to access PLT entries more than +/- 32k from r2.  */
 
-static struct ppc_insn_pattern ppc64_standard_linkage6[] =
+static const struct ppc_insn_pattern ppc64_standard_linkage6[] =
   {
     /* std r2, 24(r1) <optional> */
     { -1, insn_ds (62, 2, 1, 24, 0), 1 },
@@ -302,7 +302,7 @@ static struct ppc_insn_pattern ppc64_sta
 
 /* ELFv2 PLT call stub to access PLT entries within +/- 32k of r2.  */
 
-static struct ppc_insn_pattern ppc64_standard_linkage7[] =
+static const struct ppc_insn_pattern ppc64_standard_linkage7[] =
   {
     /* std r2, 24(r1) <optional> */
     { -1, insn_ds (62, 2, 1, 24, 0), 1 },
@@ -322,7 +322,7 @@ static struct ppc_insn_pattern ppc64_sta
 /* ELFv2 PLT call stub to access PLT entries more than +/- 32k from r2,
    supporting fusion.  */
 
-static struct ppc_insn_pattern ppc64_standard_linkage8[] =
+static const struct ppc_insn_pattern ppc64_standard_linkage8[] =
   {
     /* std r2, 24(r1) <optional> */
     { -1, insn_ds (62, 2, 1, 24, 0), 1 },
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-fbsd-nat.c ./gdb/ppc-fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-fbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-fbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -37,6 +37,14 @@
 #include "inf-ptrace.h"
 #include "bsd-kvm.h"
 
+struct ppc_fbsd_nat_target final : public fbsd_nat_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static ppc_fbsd_nat_target the_ppc_fbsd_nat_target;
+
 /* Fill GDB's register array with the general-purpose register values
    in *GREGSETP.  */
 
@@ -115,12 +123,11 @@ getfpregs_supplies (struct gdbarch *gdba
 /* Fetch register REGNO from the child process. If REGNO is -1, do it
    for all registers.  */
 
-static void
-ppcfbsd_fetch_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int regno)
+void
+ppc_fbsd_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
   gdb_gregset_t regs;
-  pid_t pid = ptid_get_lwp (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().lwp ();
 
   if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) &regs, 0) == -1)
     perror_with_name (_("Couldn't get registers"));
@@ -142,12 +149,11 @@ ppcfbsd_fetch_inferior_registers (struct
 /* Store register REGNO back into the child process. If REGNO is -1,
    do this for all registers.  */
 
-static void
-ppcfbsd_store_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int regno)
+void
+ppc_fbsd_nat_target::store_registers (struct regcache *regcache, int regno)
 {
   gdb_gregset_t regs;
-  pid_t pid = ptid_get_lwp (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().lwp ();
 
   if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) &regs, 0) == -1)
     perror_with_name (_("Couldn't get registers"));
@@ -186,11 +192,11 @@ ppcfbsd_supply_pcb (struct regcache *reg
   if (pcb->pcb_sp == 0)
     return 0;
 
-  regcache_raw_supply (regcache, gdbarch_sp_regnum (gdbarch), &pcb->pcb_sp);
-  regcache_raw_supply (regcache, tdep->ppc_cr_regnum, &pcb->pcb_cr);
-  regcache_raw_supply (regcache, tdep->ppc_lr_regnum, &pcb->pcb_lr);
+  regcache->raw_supply (gdbarch_sp_regnum (gdbarch), &pcb->pcb_sp);
+  regcache->raw_supply (tdep->ppc_cr_regnum, &pcb->pcb_cr);
+  regcache->raw_supply (tdep->ppc_lr_regnum, &pcb->pcb_lr);
   for (i = 0, regnum = tdep->ppc_gp0_regnum + 14; i < 20; i++, regnum++)
-    regcache_raw_supply (regcache, regnum, &pcb->pcb_context[i]);
+    regcache->raw_supply (regnum, &pcb->pcb_context[i]);
 
   return 1;
 }
@@ -198,13 +204,7 @@ ppcfbsd_supply_pcb (struct regcache *reg
 void
 _initialize_ppcfbsd_nat (void)
 {
-  struct target_ops *t;
-
-  /* Add in local overrides.  */
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = ppcfbsd_fetch_inferior_registers;
-  t->to_store_registers = ppcfbsd_store_inferior_registers;
-  fbsd_nat_add_target (t);
+  add_inf_child_target (&the_ppc_fbsd_nat_target);
 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (ppcfbsd_supply_pcb);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-fbsd-tdep.c ./gdb/ppc-fbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-fbsd-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-fbsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -56,13 +56,7 @@ static const struct ppc_reg_offsets ppc3
 	/* Floating-point registers.  */
 	/* .f0_offset = */     0,
 	/* .fpscr_offset = */  256,
-	/* .fpscr_size = */    8,
-#ifdef NOTYET
-	/* AltiVec registers.  */
-	/* .vr0_offset = */    0,
-	/* .vscr_offset = */   512 + 12,
-	/* .vrsave_offset = */ 512
-#endif
+	/* .fpscr_size = */    8
   };
 
 /* 64-bit regset descriptions.  */
@@ -84,13 +78,7 @@ static const struct ppc_reg_offsets ppc6
 	/* Floating-point registers.  */
 	/* .f0_offset = */     0,
 	/* .fpscr_offset = */  256,
-	/* .fpscr_size = */    8,
-#ifdef NOYET
-	/* AltiVec registers.  */
-	/* .vr0_offset = */    0,
-	/* .vscr_offset = */   512 + 12,
-	/* .vrsave_offset = */ 528
-#endif
+	/* .fpscr_size = */    8
   };
 
 /* 32-bit general-purpose register set.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-linux-nat.c ./gdb/ppc-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -18,12 +18,13 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "observer.h"
+#include "observable.h"
 #include "frame.h"
 #include "inferior.h"
 #include "gdbthread.h"
 #include "gdbcore.h"
 #include "regcache.h"
+#include "regset.h"
 #include "target.h"
 #include "linux-nat.h"
 #include <sys/types.h>
@@ -45,6 +46,8 @@
 #include "elf/common.h"
 #include "auxv.h"
 
+#include "arch/ppc-linux-common.h"
+#include "arch/ppc-linux-tdesc.h"
 #include "nat/ppc-linux.h"
 
 /* Similarly for the hardware watchpoint support.  These requests are used
@@ -158,23 +161,22 @@ struct ppc_hw_breakpoint
    Even though this vrsave register is not included in the regset
    typedef, it is handled by the ptrace requests.
 
-   Note that GNU/Linux doesn't support little endian PPC hardware,
-   therefore the offset at which the real value of the VSCR register
-   is located will be always 12 bytes.
-
    The layout is like this (where x is the actual value of the vscr reg): */
 
 /* *INDENT-OFF* */
 /*
+Big-Endian:
    |.|.|.|.|.....|.|.|.|.||.|.|.|x||.|
    <------->     <-------><-------><->
      VR0           VR31     VSCR    VRSAVE
+Little-Endian:
+   |.|.|.|.|.....|.|.|.|.||X|.|.|.||.|
+   <------->     <-------><-------><->
+     VR0           VR31     VSCR    VRSAVE
 */
 /* *INDENT-ON* */
 
-#define SIZEOF_VRREGS 33*16+4
-
-typedef char gdb_vrregset_t[SIZEOF_VRREGS];
+typedef char gdb_vrregset_t[PPC_LINUX_SIZEOF_VRREGSET];
 
 /* This is the layout of the POWER7 VSX registers and the way they overlap
    with the existing FPR and VMX registers.
@@ -208,9 +210,7 @@ typedef char gdb_vrregset_t[SIZEOF_VRREG
    the FP registers (doubleword 0) and hence extend them with additional
    64 bits (doubleword 1).  The other 32 regs overlap with the VMX
    registers.  */
-#define SIZEOF_VSXREGS 32*8
-
-typedef char gdb_vsxregset_t[SIZEOF_VSXREGS];
+typedef char gdb_vsxregset_t[PPC_LINUX_SIZEOF_VSXREGSET];
 
 /* On PPC processors that support the Signal Processing Extension
    (SPE) APU, the general-purpose registers are 64 bits long.
@@ -267,6 +267,60 @@ int have_ptrace_getsetregs = 1;
    them and gotten an error.  */
 int have_ptrace_getsetfpregs = 1;
 
+struct ppc_linux_nat_target final : public linux_nat_target
+{
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  /* Add our breakpoint/watchpoint methods.  */
+  int can_use_hw_breakpoint (enum bptype, int, int) override;
+
+  int insert_hw_breakpoint (struct gdbarch *, struct bp_target_info *)
+    override;
+
+  int remove_hw_breakpoint (struct gdbarch *, struct bp_target_info *)
+    override;
+
+  int region_ok_for_hw_watchpoint (CORE_ADDR, int) override;
+
+  int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+
+  int remove_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+
+  int insert_mask_watchpoint (CORE_ADDR, CORE_ADDR, enum target_hw_bp_type)
+    override;
+
+  int remove_mask_watchpoint (CORE_ADDR, CORE_ADDR, enum target_hw_bp_type)
+    override;
+
+  bool stopped_by_watchpoint () override;
+
+  bool stopped_data_address (CORE_ADDR *) override;
+
+  bool watchpoint_addr_within_range (CORE_ADDR, CORE_ADDR, int) override;
+
+  bool can_accel_watchpoint_condition (CORE_ADDR, int, int, struct expression *)
+    override;
+
+  int masked_watch_num_registers (CORE_ADDR, CORE_ADDR) override;
+
+  int ranged_break_num_registers () override;
+
+  const struct target_desc *read_description ()  override;
+
+  int auxv_parse (gdb_byte **readptr,
+		  gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
+    override;
+
+  /* Override linux_nat_target low methods.  */
+  void low_new_thread (struct lwp_info *lp) override;
+};
+
+static ppc_linux_nat_target the_ppc_linux_nat_target;
+
 /* *INDENT-OFF* */
 /* registers layout, as presented by the ptrace interface:
 PT_R0, PT_R1, PT_R2, PT_R3, PT_R4, PT_R5, PT_R6, PT_R7,
@@ -355,13 +409,11 @@ ppc_register_u_addr (struct gdbarch *gdb
    registers set mechanism, as opposed to the interface for all the
    other registers, that stores/fetches each register individually.  */
 static void
-fetch_vsx_register (struct regcache *regcache, int tid, int regno)
+fetch_vsx_registers (struct regcache *regcache, int tid, int regno)
 {
   int ret;
   gdb_vsxregset_t regs;
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int vsxregsize = register_size (gdbarch, tdep->ppc_vsr0_upper_regnum);
+  const struct regset *vsxregset = ppc_linux_vsxregset ();
 
   ret = ptrace (PTRACE_GETVSXREGS, tid, 0, &regs);
   if (ret < 0)
@@ -371,26 +423,24 @@ fetch_vsx_register (struct regcache *reg
 	  have_ptrace_getsetvsxregs = 0;
 	  return;
 	}
-      perror_with_name (_("Unable to fetch VSX register"));
+      perror_with_name (_("Unable to fetch VSX registers"));
     }
 
-  regcache_raw_supply (regcache, regno,
-		       regs + (regno - tdep->ppc_vsr0_upper_regnum)
-		       * vsxregsize);
+  vsxregset->supply_regset (vsxregset, regcache, regno, &regs,
+			    PPC_LINUX_SIZEOF_VSXREGSET);
 }
 
 /* The Linux kernel ptrace interface for AltiVec registers uses the
    registers set mechanism, as opposed to the interface for all the
    other registers, that stores/fetches each register individually.  */
 static void
-fetch_altivec_register (struct regcache *regcache, int tid, int regno)
+fetch_altivec_registers (struct regcache *regcache, int tid,
+			 int regno)
 {
   int ret;
-  int offset = 0;
   gdb_vrregset_t regs;
   struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int vrregsize = register_size (gdbarch, tdep->ppc_vr0_regnum);
+  const struct regset *vrregset = ppc_linux_vrregset (gdbarch);
 
   ret = ptrace (PTRACE_GETVRREGS, tid, 0, &regs);
   if (ret < 0)
@@ -400,19 +450,11 @@ fetch_altivec_register (struct regcache 
           have_ptrace_getvrregs = 0;
           return;
         }
-      perror_with_name (_("Unable to fetch AltiVec register"));
+      perror_with_name (_("Unable to fetch AltiVec registers"));
     }
- 
-  /* VSCR is fetched as a 16 bytes quantity, but it is really 4 bytes
-     long on the hardware.  We deal only with the lower 4 bytes of the
-     vector.  VRSAVE is at the end of the array in a 4 bytes slot, so
-     there is no need to define an offset for it.  */
-  if (regno == (tdep->ppc_vrsave_regnum - 1))
-    offset = vrregsize - register_size (gdbarch, tdep->ppc_vrsave_regnum);
-  
-  regcache_raw_supply (regcache, regno,
-		       regs + (regno
-			       - tdep->ppc_vr0_regnum) * vrregsize + offset);
+
+  vrregset->supply_regset (vrregset, regcache, regno, &regs,
+			   PPC_LINUX_SIZEOF_VRREGSET);
 }
 
 /* Fetch the top 32 bits of TID's general-purpose registers and the
@@ -470,22 +512,20 @@ fetch_spe_register (struct regcache *reg
       int i;
 
       for (i = 0; i < ppc_num_gprs; i++)
-        regcache_raw_supply (regcache, tdep->ppc_ev0_upper_regnum + i,
-                             &evrregs.evr[i]);
+        regcache->raw_supply (tdep->ppc_ev0_upper_regnum + i, &evrregs.evr[i]);
     }
   else if (tdep->ppc_ev0_upper_regnum <= regno
            && regno < tdep->ppc_ev0_upper_regnum + ppc_num_gprs)
-    regcache_raw_supply (regcache, regno,
-                         &evrregs.evr[regno - tdep->ppc_ev0_upper_regnum]);
+    regcache->raw_supply (regno,
+			  &evrregs.evr[regno - tdep->ppc_ev0_upper_regnum]);
 
   if (regno == -1
       || regno == tdep->ppc_acc_regnum)
-    regcache_raw_supply (regcache, tdep->ppc_acc_regnum, &evrregs.acc);
+    regcache->raw_supply (tdep->ppc_acc_regnum, &evrregs.acc);
 
   if (regno == -1
       || regno == tdep->ppc_spefscr_regnum)
-    regcache_raw_supply (regcache, tdep->ppc_spefscr_regnum,
-                         &evrregs.spefscr);
+    regcache->raw_supply (tdep->ppc_spefscr_regnum, &evrregs.spefscr);
 }
 
 static void
@@ -507,7 +547,7 @@ fetch_register (struct regcache *regcach
          register.  */
       if (have_ptrace_getvrregs)
        {
-         fetch_altivec_register (regcache, tid, regno);
+         fetch_altivec_registers (regcache, tid, regno);
          return;
        }
      /* If we have discovered that there is no ptrace support for
@@ -518,7 +558,7 @@ fetch_register (struct regcache *regcach
     {
       if (have_ptrace_getsetvsxregs)
 	{
-	  fetch_vsx_register (regcache, tid, regno);
+	  fetch_vsx_registers (regcache, tid, regno);
 	  return;
 	}
     }
@@ -531,7 +571,7 @@ fetch_register (struct regcache *regcach
   if (regaddr == -1)
     {
       memset (buf, '\0', register_size (gdbarch, regno));   /* Supply zeroes */
-      regcache_raw_supply (regcache, regno, buf);
+      regcache->raw_supply (regno, buf);
       return;
     }
 
@@ -564,14 +604,14 @@ fetch_register (struct regcache *regcach
     {
       /* Little-endian values are always found at the left end of the
          bytes transferred.  */
-      regcache_raw_supply (regcache, regno, buf);
+      regcache->raw_supply (regno, buf);
     }
   else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
     {
       /* Big-endian values are found at the right end of the bytes
          transferred.  */
       size_t padding = (bytes_transferred - register_size (gdbarch, regno));
-      regcache_raw_supply (regcache, regno, buf + padding);
+      regcache->raw_supply (regno, buf + padding);
     }
   else 
     internal_error (__FILE__, __LINE__,
@@ -579,84 +619,6 @@ fetch_register (struct regcache *regcach
                     gdbarch_byte_order (gdbarch));
 }
 
-static void
-supply_vsxregset (struct regcache *regcache, gdb_vsxregset_t *vsxregsetp)
-{
-  int i;
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int vsxregsize = register_size (gdbarch, tdep->ppc_vsr0_upper_regnum);
-
-  for (i = 0; i < ppc_num_vshrs; i++)
-    {
-	regcache_raw_supply (regcache, tdep->ppc_vsr0_upper_regnum + i,
-			     *vsxregsetp + i * vsxregsize);
-    }
-}
-
-static void
-supply_vrregset (struct regcache *regcache, gdb_vrregset_t *vrregsetp)
-{
-  int i;
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int num_of_vrregs = tdep->ppc_vrsave_regnum - tdep->ppc_vr0_regnum + 1;
-  int vrregsize = register_size (gdbarch, tdep->ppc_vr0_regnum);
-  int offset = vrregsize - register_size (gdbarch, tdep->ppc_vrsave_regnum);
-
-  for (i = 0; i < num_of_vrregs; i++)
-    {
-      /* The last 2 registers of this set are only 32 bit long, not
-         128.  However an offset is necessary only for VSCR because it
-         occupies a whole vector, while VRSAVE occupies a full 4 bytes
-         slot.  */
-      if (i == (num_of_vrregs - 2))
-        regcache_raw_supply (regcache, tdep->ppc_vr0_regnum + i,
-			     *vrregsetp + i * vrregsize + offset);
-      else
-        regcache_raw_supply (regcache, tdep->ppc_vr0_regnum + i,
-			     *vrregsetp + i * vrregsize);
-    }
-}
-
-static void
-fetch_vsx_registers (struct regcache *regcache, int tid)
-{
-  int ret;
-  gdb_vsxregset_t regs;
-
-  ret = ptrace (PTRACE_GETVSXREGS, tid, 0, &regs);
-  if (ret < 0)
-    {
-      if (errno == EIO)
-	{
-	  have_ptrace_getsetvsxregs = 0;
-	  return;
-	}
-      perror_with_name (_("Unable to fetch VSX registers"));
-    }
-  supply_vsxregset (regcache, &regs);
-}
-
-static void
-fetch_altivec_registers (struct regcache *regcache, int tid)
-{
-  int ret;
-  gdb_vrregset_t regs;
-  
-  ret = ptrace (PTRACE_GETVRREGS, tid, 0, &regs);
-  if (ret < 0)
-    {
-      if (errno == EIO)
-	{
-          have_ptrace_getvrregs = 0;
-	  return;
-	}
-      perror_with_name (_("Unable to fetch AltiVec registers"));
-    }
-  supply_vrregset (regcache, &regs);
-}
-
 /* This function actually issues the request to ptrace, telling
    it to get all general-purpose registers and put them into the
    specified regset.
@@ -795,10 +757,10 @@ fetch_ppc_registers (struct regcache *re
     fetch_register (regcache, tid, tdep->ppc_fpscr_regnum);
   if (have_ptrace_getvrregs)
     if (tdep->ppc_vr0_regnum != -1 && tdep->ppc_vrsave_regnum != -1)
-      fetch_altivec_registers (regcache, tid);
+      fetch_altivec_registers (regcache, tid, -1);
   if (have_ptrace_getsetvsxregs)
     if (tdep->ppc_vsr0_upper_regnum != -1)
-      fetch_vsx_registers (regcache, tid);
+      fetch_vsx_registers (regcache, tid, -1);
   if (tdep->ppc_ev0_upper_regnum >= 0)
     fetch_spe_register (regcache, tid, -1);
 }
@@ -806,11 +768,10 @@ fetch_ppc_registers (struct regcache *re
 /* Fetch registers from the child process.  Fetch all registers if
    regno == -1, otherwise fetch all general registers or all floating
    point registers depending upon the value of regno.  */
-static void
-ppc_linux_fetch_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regno)
+void
+ppc_linux_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
-  pid_t tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t tid = get_ptrace_pid (regcache->ptid ());
 
   if (regno == -1)
     fetch_ppc_registers (regcache, tid);
@@ -818,15 +779,12 @@ ppc_linux_fetch_inferior_registers (stru
     fetch_register (regcache, tid, regno);
 }
 
-/* Store one VSX register.  */
 static void
-store_vsx_register (const struct regcache *regcache, int tid, int regno)
+store_vsx_registers (const struct regcache *regcache, int tid, int regno)
 {
   int ret;
   gdb_vsxregset_t regs;
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int vsxregsize = register_size (gdbarch, tdep->ppc_vsr0_upper_regnum);
+  const struct regset *vsxregset = ppc_linux_vsxregset ();
 
   ret = ptrace (PTRACE_GETVSXREGS, tid, 0, &regs);
   if (ret < 0)
@@ -836,27 +794,25 @@ store_vsx_register (const struct regcach
 	  have_ptrace_getsetvsxregs = 0;
 	  return;
 	}
-      perror_with_name (_("Unable to fetch VSX register"));
+      perror_with_name (_("Unable to fetch VSX registers"));
     }
 
-  regcache_raw_collect (regcache, regno, regs +
-			(regno - tdep->ppc_vsr0_upper_regnum) * vsxregsize);
+  vsxregset->collect_regset (vsxregset, regcache, regno, &regs,
+			     PPC_LINUX_SIZEOF_VSXREGSET);
 
   ret = ptrace (PTRACE_SETVSXREGS, tid, 0, &regs);
   if (ret < 0)
-    perror_with_name (_("Unable to store VSX register"));
+    perror_with_name (_("Unable to store VSX registers"));
 }
 
-/* Store one register.  */
 static void
-store_altivec_register (const struct regcache *regcache, int tid, int regno)
+store_altivec_registers (const struct regcache *regcache, int tid,
+			 int regno)
 {
   int ret;
-  int offset = 0;
   gdb_vrregset_t regs;
   struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int vrregsize = register_size (gdbarch, tdep->ppc_vr0_regnum);
+  const struct regset *vrregset = ppc_linux_vrregset (gdbarch);
 
   ret = ptrace (PTRACE_GETVRREGS, tid, 0, &regs);
   if (ret < 0)
@@ -866,21 +822,15 @@ store_altivec_register (const struct reg
           have_ptrace_getvrregs = 0;
           return;
         }
-      perror_with_name (_("Unable to fetch AltiVec register"));
+      perror_with_name (_("Unable to fetch AltiVec registers"));
     }
 
-  /* VSCR is fetched as a 16 bytes quantity, but it is really 4 bytes
-     long on the hardware.  */
-  if (regno == (tdep->ppc_vrsave_regnum - 1))
-    offset = vrregsize - register_size (gdbarch, tdep->ppc_vrsave_regnum);
-
-  regcache_raw_collect (regcache, regno,
-			regs + (regno
-				- tdep->ppc_vr0_regnum) * vrregsize + offset);
+  vrregset->collect_regset (vrregset, regcache, regno, &regs,
+			    PPC_LINUX_SIZEOF_VRREGSET);
 
   ret = ptrace (PTRACE_SETVRREGS, tid, 0, &regs);
   if (ret < 0)
-    perror_with_name (_("Unable to store AltiVec register"));
+    perror_with_name (_("Unable to store AltiVec registers"));
 }
 
 /* Assuming TID referrs to an SPE process, set the top halves of TID's
@@ -945,26 +895,23 @@ store_spe_register (const struct regcach
       int i;
 
       for (i = 0; i < ppc_num_gprs; i++)
-        regcache_raw_collect (regcache,
-                              tdep->ppc_ev0_upper_regnum + i,
-                              &evrregs.evr[i]);
+	regcache->raw_collect (tdep->ppc_ev0_upper_regnum + i,
+			       &evrregs.evr[i]);
     }
   else if (tdep->ppc_ev0_upper_regnum <= regno
            && regno < tdep->ppc_ev0_upper_regnum + ppc_num_gprs)
-    regcache_raw_collect (regcache, regno,
-                          &evrregs.evr[regno - tdep->ppc_ev0_upper_regnum]);
+    regcache->raw_collect (regno,
+			   &evrregs.evr[regno - tdep->ppc_ev0_upper_regnum]);
 
   if (regno == -1
       || regno == tdep->ppc_acc_regnum)
-    regcache_raw_collect (regcache,
-                          tdep->ppc_acc_regnum,
-                          &evrregs.acc);
+    regcache->raw_collect (tdep->ppc_acc_regnum,
+			   &evrregs.acc);
 
   if (regno == -1
       || regno == tdep->ppc_spefscr_regnum)
-    regcache_raw_collect (regcache,
-                          tdep->ppc_spefscr_regnum,
-                          &evrregs.spefscr);
+    regcache->raw_collect (tdep->ppc_spefscr_regnum,
+			   &evrregs.spefscr);
 
   /* Write back the modified register set.  */
   set_spe_registers (tid, &evrregs);
@@ -983,12 +930,12 @@ store_register (const struct regcache *r
 
   if (altivec_register_p (gdbarch, regno))
     {
-      store_altivec_register (regcache, tid, regno);
+      store_altivec_registers (regcache, tid, regno);
       return;
     }
   if (vsx_register_p (gdbarch, regno))
     {
-      store_vsx_register (regcache, tid, regno);
+      store_vsx_registers (regcache, tid, regno);
       return;
     }
   else if (spe_register_p (gdbarch, regno))
@@ -1008,13 +955,13 @@ store_register (const struct regcache *r
   if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
     {
       /* Little-endian values always sit at the left end of the buffer.  */
-      regcache_raw_collect (regcache, regno, buf);
+      regcache->raw_collect (regno, buf);
     }
   else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
     {
       /* Big-endian values sit at the right end of the buffer.  */
       size_t padding = (bytes_to_transfer - register_size (gdbarch, regno));
-      regcache_raw_collect (regcache, regno, buf + padding);
+      regcache->raw_collect (regno, buf + padding);
     }
 
   for (i = 0; i < bytes_to_transfer; i += sizeof (long))
@@ -1046,88 +993,6 @@ store_register (const struct regcache *r
     }
 }
 
-static void
-fill_vsxregset (const struct regcache *regcache, gdb_vsxregset_t *vsxregsetp)
-{
-  int i;
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int vsxregsize = register_size (gdbarch, tdep->ppc_vsr0_upper_regnum);
-
-  for (i = 0; i < ppc_num_vshrs; i++)
-    regcache_raw_collect (regcache, tdep->ppc_vsr0_upper_regnum + i,
-			  *vsxregsetp + i * vsxregsize);
-}
-
-static void
-fill_vrregset (const struct regcache *regcache, gdb_vrregset_t *vrregsetp)
-{
-  int i;
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int num_of_vrregs = tdep->ppc_vrsave_regnum - tdep->ppc_vr0_regnum + 1;
-  int vrregsize = register_size (gdbarch, tdep->ppc_vr0_regnum);
-  int offset = vrregsize - register_size (gdbarch, tdep->ppc_vrsave_regnum);
-
-  for (i = 0; i < num_of_vrregs; i++)
-    {
-      /* The last 2 registers of this set are only 32 bit long, not
-         128, but only VSCR is fetched as a 16 bytes quantity.  */
-      if (i == (num_of_vrregs - 2))
-        regcache_raw_collect (regcache, tdep->ppc_vr0_regnum + i,
-			      *vrregsetp + i * vrregsize + offset);
-      else
-        regcache_raw_collect (regcache, tdep->ppc_vr0_regnum + i,
-			      *vrregsetp + i * vrregsize);
-    }
-}
-
-static void
-store_vsx_registers (const struct regcache *regcache, int tid)
-{
-  int ret;
-  gdb_vsxregset_t regs;
-
-  ret = ptrace (PTRACE_GETVSXREGS, tid, 0, &regs);
-  if (ret < 0)
-    {
-      if (errno == EIO)
-	{
-	  have_ptrace_getsetvsxregs = 0;
-	  return;
-	}
-      perror_with_name (_("Couldn't get VSX registers"));
-    }
-
-  fill_vsxregset (regcache, &regs);
-
-  if (ptrace (PTRACE_SETVSXREGS, tid, 0, &regs) < 0)
-    perror_with_name (_("Couldn't write VSX registers"));
-}
-
-static void
-store_altivec_registers (const struct regcache *regcache, int tid)
-{
-  int ret;
-  gdb_vrregset_t regs;
-
-  ret = ptrace (PTRACE_GETVRREGS, tid, 0, &regs);
-  if (ret < 0)
-    {
-      if (errno == EIO)
-        {
-          have_ptrace_getvrregs = 0;
-          return;
-        }
-      perror_with_name (_("Couldn't get AltiVec registers"));
-    }
-
-  fill_vrregset (regcache, &regs);
-  
-  if (ptrace (PTRACE_SETVRREGS, tid, 0, &regs) < 0)
-    perror_with_name (_("Couldn't write AltiVec registers"));
-}
-
 /* This function actually issues the request to ptrace, telling
    it to store all general-purpose registers present in the specified
    regset.
@@ -1286,24 +1151,24 @@ store_ppc_registers (const struct regcac
     }
   if (have_ptrace_getvrregs)
     if (tdep->ppc_vr0_regnum != -1 && tdep->ppc_vrsave_regnum != -1)
-      store_altivec_registers (regcache, tid);
+      store_altivec_registers (regcache, tid, -1);
   if (have_ptrace_getsetvsxregs)
     if (tdep->ppc_vsr0_upper_regnum != -1)
-      store_vsx_registers (regcache, tid);
+      store_vsx_registers (regcache, tid, -1);
   if (tdep->ppc_ev0_upper_regnum >= 0)
     store_spe_register (regcache, tid, -1);
 }
 
 /* Fetch the AT_HWCAP entry from the aux vector.  */
-static unsigned long
+static CORE_ADDR
 ppc_linux_get_hwcap (void)
 {
   CORE_ADDR field;
 
-  if (target_auxv_search (&current_target, AT_HWCAP, &field))
-    return (unsigned long) field;
+  if (target_auxv_search (current_top_target (), AT_HWCAP, &field) != 1)
+    return 0;
 
-  return 0;
+  return field;
 }
 
 /* The cached DABR value, to install in new threads.
@@ -1359,9 +1224,9 @@ have_ptrace_hwdebug_interface (void)
     {
       int tid;
 
-      tid = ptid_get_lwp (inferior_ptid);
+      tid = inferior_ptid.lwp ();
       if (tid == 0)
-	tid = ptid_get_pid (inferior_ptid);
+	tid = inferior_ptid.pid ();
 
       /* Check for kernel support for PowerPC HWDEBUG ptrace interface.  */
       if (ptrace (PPC_PTRACE_GETHWDBGINFO, tid, 0, &hwdebug_info) >= 0)
@@ -1385,9 +1250,8 @@ have_ptrace_hwdebug_interface (void)
   return have_ptrace_hwdebug_interface;
 }
 
-static int
-ppc_linux_can_use_hw_breakpoint (struct target_ops *self,
-				 enum bptype type, int cnt, int ot)
+int
+ppc_linux_nat_target::can_use_hw_breakpoint (enum bptype type, int cnt, int ot)
 {
   int total_hw_wp, total_hw_bp;
 
@@ -1432,9 +1296,9 @@ ppc_linux_can_use_hw_breakpoint (struct 
       /* We need to know whether ptrace supports PTRACE_SET_DEBUGREG
 	 and whether the target has DABR.  If either answer is no, the
 	 ptrace call will return -1.  Fail in that case.  */
-      tid = ptid_get_lwp (ptid);
+      tid = ptid.lwp ();
       if (tid == 0)
-	tid = ptid_get_pid (ptid);
+	tid = ptid.pid ();
 
       if (ptrace (PTRACE_SET_DEBUGREG, tid, 0, 0) == -1)
 	return 0;
@@ -1443,9 +1307,8 @@ ppc_linux_can_use_hw_breakpoint (struct 
   return 1;
 }
 
-static int
-ppc_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
-				       CORE_ADDR addr, int len)
+int
+ppc_linux_nat_target::region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
 {
   /* Handle sub-8-byte quantities.  */
   if (len <= 0)
@@ -1603,8 +1466,8 @@ hwdebug_remove_point (struct ppc_hw_brea
 
 /* Return the number of registers needed for a ranged breakpoint.  */
 
-static int
-ppc_linux_ranged_break_num_registers (struct target_ops *target)
+int
+ppc_linux_nat_target::ranged_break_num_registers ()
 {
   return ((have_ptrace_hwdebug_interface ()
 	   && hwdebug_info.features & PPC_DEBUG_FEATURE_INSN_BP_RANGE)?
@@ -1614,10 +1477,9 @@ ppc_linux_ranged_break_num_registers (st
 /* Insert the hardware breakpoint described by BP_TGT.  Returns 0 for
    success, 1 if hardware breakpoints are not supported or -1 for failure.  */
 
-static int
-ppc_linux_insert_hw_breakpoint (struct target_ops *self,
-				struct gdbarch *gdbarch,
-				  struct bp_target_info *bp_tgt)
+int
+ppc_linux_nat_target::insert_hw_breakpoint (struct gdbarch *gdbarch,
+					    struct bp_target_info *bp_tgt)
 {
   struct lwp_info *lp;
   struct ppc_hw_breakpoint p;
@@ -1646,15 +1508,14 @@ ppc_linux_insert_hw_breakpoint (struct t
     }
 
   ALL_LWPS (lp)
-    hwdebug_insert_point (&p, ptid_get_lwp (lp->ptid));
+    hwdebug_insert_point (&p, lp->ptid.lwp ());
 
   return 0;
 }
 
-static int
-ppc_linux_remove_hw_breakpoint (struct target_ops *self,
-				struct gdbarch *gdbarch,
-				  struct bp_target_info *bp_tgt)
+int
+ppc_linux_nat_target::remove_hw_breakpoint (struct gdbarch *gdbarch,
+					    struct bp_target_info *bp_tgt)
 {
   struct lwp_info *lp;
   struct ppc_hw_breakpoint p;
@@ -1683,7 +1544,7 @@ ppc_linux_remove_hw_breakpoint (struct t
     }
 
   ALL_LWPS (lp)
-    hwdebug_remove_point (&p, ptid_get_lwp (lp->ptid));
+    hwdebug_remove_point (&p, lp->ptid.lwp ());
 
   return 0;
 }
@@ -1708,9 +1569,9 @@ get_trigger_type (enum target_hw_bp_type
    or hw_access for an access watchpoint.  Returns 0 on success and throws
    an error on failure.  */
 
-static int
-ppc_linux_insert_mask_watchpoint (struct target_ops *ops, CORE_ADDR addr,
-				  CORE_ADDR mask, enum target_hw_bp_type rw)
+int
+ppc_linux_nat_target::insert_mask_watchpoint (CORE_ADDR addr,  CORE_ADDR mask,
+					      target_hw_bp_type rw)
 {
   struct lwp_info *lp;
   struct ppc_hw_breakpoint p;
@@ -1726,7 +1587,7 @@ ppc_linux_insert_mask_watchpoint (struct
   p.condition_value = 0;
 
   ALL_LWPS (lp)
-    hwdebug_insert_point (&p, ptid_get_lwp (lp->ptid));
+    hwdebug_insert_point (&p, lp->ptid.lwp ());
 
   return 0;
 }
@@ -1736,9 +1597,9 @@ ppc_linux_insert_mask_watchpoint (struct
    or hw_access for an access watchpoint.  Returns 0 on success and throws
    an error on failure.  */
 
-static int
-ppc_linux_remove_mask_watchpoint (struct target_ops *ops, CORE_ADDR addr,
-				  CORE_ADDR mask, enum target_hw_bp_type rw)
+int
+ppc_linux_nat_target::remove_mask_watchpoint (CORE_ADDR addr, CORE_ADDR mask,
+					      target_hw_bp_type rw)
 {
   struct lwp_info *lp;
   struct ppc_hw_breakpoint p;
@@ -1754,7 +1615,7 @@ ppc_linux_remove_mask_watchpoint (struct
   p.condition_value = 0;
 
   ALL_LWPS (lp)
-    hwdebug_remove_point (&p, ptid_get_lwp (lp->ptid));
+    hwdebug_remove_point (&p, lp->ptid.lwp ());
 
   return 0;
 }
@@ -1764,7 +1625,7 @@ static int
 can_use_watchpoint_cond_accel (void)
 {
   struct thread_points *p;
-  int tid = ptid_get_lwp (inferior_ptid);
+  int tid = inferior_ptid.lwp ();
   int cnt = hwdebug_info.num_condition_regs, i;
   CORE_ADDR tmp_value;
 
@@ -1840,10 +1701,9 @@ calculate_dvc (CORE_ADDR addr, int len, 
    other kinds of values which are not acceptable in a condition
    expression (e.g., lval_computed or lval_internalvar).  */
 static int
-num_memory_accesses (struct value *v)
+num_memory_accesses (const std::vector<value_ref_ptr> &chain)
 {
   int found_memory_cnt = 0;
-  struct value *head = v;
 
   /* The idea here is that evaluating an expression generates a series
      of values, one holding the value of every subexpression.  (The
@@ -1860,8 +1720,10 @@ num_memory_accesses (struct value *v)
      notice that an expression contains an inferior function call.
      FIXME.  */
 
-  for (; v; v = value_next (v))
+  for (const value_ref_ptr &iter : chain)
     {
+      struct value *v = iter.get ();
+
       /* Constants and values from the history are fine.  */
       if (VALUE_LVAL (v) == not_lval || deprecated_value_modifiable (v) == 0)
 	continue;
@@ -1892,7 +1754,8 @@ check_condition (CORE_ADDR watch_addr, s
 		 CORE_ADDR *data_value, int *len)
 {
   int pc = 1, num_accesses_left, num_accesses_right;
-  struct value *left_val, *right_val, *left_chain, *right_chain;
+  struct value *left_val, *right_val;
+  std::vector<value_ref_ptr> left_chain, right_chain;
 
   if (cond->elts[0].opcode != BINOP_EQUAL)
     return 0;
@@ -1901,22 +1764,13 @@ check_condition (CORE_ADDR watch_addr, s
   num_accesses_left = num_memory_accesses (left_chain);
 
   if (left_val == NULL || num_accesses_left < 0)
-    {
-      free_value_chain (left_chain);
-
-      return 0;
-    }
+    return 0;
 
   fetch_subexp_value (cond, &pc, &right_val, NULL, &right_chain, 0);
   num_accesses_right = num_memory_accesses (right_chain);
 
   if (right_val == NULL || num_accesses_right < 0)
-    {
-      free_value_chain (left_chain);
-      free_value_chain (right_chain);
-
-      return 0;
-    }
+    return 0;
 
   if (num_accesses_left == 1 && num_accesses_right == 0
       && VALUE_LVAL (left_val) == lval_memory
@@ -1939,15 +1793,7 @@ check_condition (CORE_ADDR watch_addr, s
       *len = TYPE_LENGTH (check_typedef (value_type (right_val)));
     }
   else
-    {
-      free_value_chain (left_chain);
-      free_value_chain (right_chain);
-
-      return 0;
-    }
-
-  free_value_chain (left_chain);
-  free_value_chain (right_chain);
+    return 0;
 
   return 1;
 }
@@ -1955,10 +1801,10 @@ check_condition (CORE_ADDR watch_addr, s
 /* Return non-zero if the target is capable of using hardware to evaluate
    the condition expression, thus only triggering the watchpoint when it is
    true.  */
-static int
-ppc_linux_can_accel_watchpoint_condition (struct target_ops *self,
-					  CORE_ADDR addr, int len, int rw,
-					  struct expression *cond)
+bool
+ppc_linux_nat_target::can_accel_watchpoint_condition (CORE_ADDR addr, int len,
+						      int rw,
+						      struct expression *cond)
 {
   CORE_ADDR data_value;
 
@@ -2018,10 +1864,10 @@ create_watchpoint_request (struct ppc_hw
   p->addr = (uint64_t) addr;
 }
 
-static int
-ppc_linux_insert_watchpoint (struct target_ops *self, CORE_ADDR addr, int len,
-			     enum target_hw_bp_type type,
-			     struct expression *cond)
+int
+ppc_linux_nat_target::insert_watchpoint (CORE_ADDR addr, int len,
+					 enum target_hw_bp_type type,
+					 struct expression *cond)
 {
   struct lwp_info *lp;
   int ret = -1;
@@ -2033,7 +1879,7 @@ ppc_linux_insert_watchpoint (struct targ
       create_watchpoint_request (&p, addr, len, type, cond, 1);
 
       ALL_LWPS (lp)
-	hwdebug_insert_point (&p, ptid_get_lwp (lp->ptid));
+	hwdebug_insert_point (&p, lp->ptid.lwp ());
 
       ret = 0;
     }
@@ -2077,7 +1923,7 @@ ppc_linux_insert_watchpoint (struct targ
       saved_dabr_value = dabr_value;
 
       ALL_LWPS (lp)
-	if (ptrace (PTRACE_SET_DEBUGREG, ptid_get_lwp (lp->ptid), 0,
+	if (ptrace (PTRACE_SET_DEBUGREG, lp->ptid.lwp (), 0,
 		    saved_dabr_value) < 0)
 	  return -1;
 
@@ -2087,10 +1933,10 @@ ppc_linux_insert_watchpoint (struct targ
   return ret;
 }
 
-static int
-ppc_linux_remove_watchpoint (struct target_ops *self, CORE_ADDR addr, int len,
-			     enum target_hw_bp_type type,
-			     struct expression *cond)
+int
+ppc_linux_nat_target::remove_watchpoint (CORE_ADDR addr, int len,
+					 enum target_hw_bp_type type,
+					 struct expression *cond)
 {
   struct lwp_info *lp;
   int ret = -1;
@@ -2102,7 +1948,7 @@ ppc_linux_remove_watchpoint (struct targ
       create_watchpoint_request (&p, addr, len, type, cond, 0);
 
       ALL_LWPS (lp)
-	hwdebug_remove_point (&p, ptid_get_lwp (lp->ptid));
+	hwdebug_remove_point (&p, lp->ptid.lwp ());
 
       ret = 0;
     }
@@ -2110,7 +1956,7 @@ ppc_linux_remove_watchpoint (struct targ
     {
       saved_dabr_value = 0;
       ALL_LWPS (lp)
-	if (ptrace (PTRACE_SET_DEBUGREG, ptid_get_lwp (lp->ptid), 0,
+	if (ptrace (PTRACE_SET_DEBUGREG, lp->ptid.lwp (), 0,
 		    saved_dabr_value) < 0)
 	  return -1;
 
@@ -2120,10 +1966,10 @@ ppc_linux_remove_watchpoint (struct targ
   return ret;
 }
 
-static void
-ppc_linux_new_thread (struct lwp_info *lp)
+void
+ppc_linux_nat_target::low_new_thread (struct lwp_info *lp)
 {
-  int tid = ptid_get_lwp (lp->ptid);
+  int tid = lp->ptid.lwp ();
 
   if (have_ptrace_hwdebug_interface ())
     {
@@ -2162,7 +2008,7 @@ static void
 ppc_linux_thread_exit (struct thread_info *tp, int silent)
 {
   int i;
-  int tid = ptid_get_lwp (tp->ptid);
+  int tid = tp->ptid.lwp ();
   struct hw_break_tuple *hw_breaks;
   struct thread_points *t = NULL, *p;
 
@@ -2191,17 +2037,17 @@ ppc_linux_thread_exit (struct thread_inf
   xfree (t);
 }
 
-static int
-ppc_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
+bool
+ppc_linux_nat_target::stopped_data_address (CORE_ADDR *addr_p)
 {
   siginfo_t siginfo;
 
   if (!linux_nat_get_siginfo (inferior_ptid, &siginfo))
-    return 0;
+    return false;
 
   if (siginfo.si_signo != SIGTRAP
       || (siginfo.si_code & 0xffff) != 0x0004 /* TRAP_HWBKPT */)
-    return 0;
+    return false;
 
   if (have_ptrace_hwdebug_interface ())
     {
@@ -2211,7 +2057,7 @@ ppc_linux_stopped_data_address (struct t
       /* The index (or slot) of the *point is passed in the si_errno field.  */
       int slot = siginfo.si_errno;
 
-      t = hwdebug_find_thread_points_by_tid (ptid_get_lwp (inferior_ptid), 0);
+      t = hwdebug_find_thread_points_by_tid (inferior_ptid.lwp (), 0);
 
       /* Find out if this *point is a hardware breakpoint.
 	 If so, we should return 0.  */
@@ -2222,25 +2068,25 @@ ppc_linux_stopped_data_address (struct t
 	   if (hw_breaks[i].hw_break && hw_breaks[i].slot == slot
 	       && hw_breaks[i].hw_break->trigger_type
 		    == PPC_BREAKPOINT_TRIGGER_EXECUTE)
-	     return 0;
+	     return false;
 	}
     }
 
   *addr_p = (CORE_ADDR) (uintptr_t) siginfo.si_addr;
-  return 1;
+  return true;
 }
 
-static int
-ppc_linux_stopped_by_watchpoint (struct target_ops *ops)
+bool
+ppc_linux_nat_target::stopped_by_watchpoint ()
 {
   CORE_ADDR addr;
-  return ppc_linux_stopped_data_address (ops, &addr);
+  return stopped_data_address (&addr);
 }
 
-static int
-ppc_linux_watchpoint_addr_within_range (struct target_ops *target,
-					CORE_ADDR addr,
-					CORE_ADDR start, int length)
+bool
+ppc_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr,
+						    CORE_ADDR start,
+						    int length)
 {
   int mask;
 
@@ -2260,9 +2106,8 @@ ppc_linux_watchpoint_addr_within_range (
 
 /* Return the number of registers needed for a masked hardware watchpoint.  */
 
-static int
-ppc_linux_masked_watch_num_registers (struct target_ops *target,
-				      CORE_ADDR addr, CORE_ADDR mask)
+int
+ppc_linux_nat_target::masked_watch_num_registers (CORE_ADDR addr, CORE_ADDR mask)
 {
   if (!have_ptrace_hwdebug_interface ()
 	   || (hwdebug_info.features & PPC_DEBUG_FEATURE_DATA_BP_MASK) == 0)
@@ -2278,11 +2123,10 @@ ppc_linux_masked_watch_num_registers (st
     return 2;
 }
 
-static void
-ppc_linux_store_inferior_registers (struct target_ops *ops,
-				    struct regcache *regcache, int regno)
+void
+ppc_linux_nat_target::store_registers (struct regcache *regcache, int regno)
 {
-  pid_t tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t tid = get_ptrace_pid (regcache->ptid ());
 
   if (regno >= 0)
     store_register (regcache, tid, regno);
@@ -2334,34 +2178,17 @@ fill_fpregset (const struct regcache *re
 			fpregsetp, sizeof (*fpregsetp));
 }
 
-static int
-ppc_linux_target_wordsize (void)
+int
+ppc_linux_nat_target::auxv_parse (gdb_byte **readptr,
+				  gdb_byte *endptr, CORE_ADDR *typep,
+				  CORE_ADDR *valp)
 {
-  int wordsize = 4;
-
-  /* Check for 64-bit inferior process.  This is the case when the host is
-     64-bit, and in addition the top bit of the MSR register is set.  */
-#ifdef __powerpc64__
-  long msr;
-
-  int tid = ptid_get_lwp (inferior_ptid);
+  int tid = inferior_ptid.lwp ();
   if (tid == 0)
-    tid = ptid_get_pid (inferior_ptid);
-
-  errno = 0;
-  msr = (long) ptrace (PTRACE_PEEKUSER, tid, PT_MSR * 8, 0);
-  if (errno == 0 && ppc64_64bit_inferior_p (msr))
-    wordsize = 8;
-#endif
+    tid = inferior_ptid.pid ();
 
-  return wordsize;
-}
+  int sizeof_auxv_field = ppc_linux_target_wordsize (tid);
 
-static int
-ppc_linux_auxv_parse (struct target_ops *ops, gdb_byte **readptr,
-                      gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
-{
-  int sizeof_auxv_field = ppc_linux_target_wordsize ();
   enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
   gdb_byte *ptr = *readptr;
 
@@ -2380,17 +2207,12 @@ ppc_linux_auxv_parse (struct target_ops 
   return 1;
 }
 
-static const struct target_desc *
-ppc_linux_read_description (struct target_ops *ops)
+const struct target_desc *
+ppc_linux_nat_target::read_description ()
 {
-  int altivec = 0;
-  int vsx = 0;
-  int isa205 = 0;
-  int cell = 0;
-
-  int tid = ptid_get_lwp (inferior_ptid);
+  int tid = inferior_ptid.lwp ();
   if (tid == 0)
-    tid = ptid_get_pid (inferior_ptid);
+    tid = inferior_ptid.pid ();
 
   if (have_ptrace_getsetevrregs)
     {
@@ -2405,13 +2227,19 @@ ppc_linux_read_description (struct targe
 	perror_with_name (_("Unable to fetch SPE registers"));
     }
 
+  struct ppc_linux_features features = ppc_linux_no_features;
+
+  features.wordsize = ppc_linux_target_wordsize (tid);
+
+  CORE_ADDR hwcap = ppc_linux_get_hwcap ();
+
   if (have_ptrace_getsetvsxregs
-      && (ppc_linux_get_hwcap () & PPC_FEATURE_HAS_VSX))
+      && (hwcap & PPC_FEATURE_HAS_VSX))
     {
       gdb_vsxregset_t vsxregset;
 
       if (ptrace (PTRACE_GETVSXREGS, tid, 0, &vsxregset) >= 0)
-	vsx = 1;
+	features.vsx = true;
 
       /* EIO means that the PTRACE_GETVSXREGS request isn't supported.
 	 Anything else needs to be reported.  */
@@ -2420,12 +2248,12 @@ ppc_linux_read_description (struct targe
     }
 
   if (have_ptrace_getvrregs
-      && (ppc_linux_get_hwcap () & PPC_FEATURE_HAS_ALTIVEC))
+      && (hwcap & PPC_FEATURE_HAS_ALTIVEC))
     {
       gdb_vrregset_t vrregset;
 
       if (ptrace (PTRACE_GETVRREGS, tid, 0, &vrregset) >= 0)
-        altivec = 1;
+        features.altivec = true;
 
       /* EIO means that the PTRACE_GETVRREGS request isn't supported.
 	 Anything else needs to be reported.  */
@@ -2433,76 +2261,21 @@ ppc_linux_read_description (struct targe
 	perror_with_name (_("Unable to fetch AltiVec registers"));
     }
 
-  /* Power ISA 2.05 (implemented by Power 6 and newer processors) increases
-     the FPSCR from 32 bits to 64 bits.  Even though Power 7 supports this
-     ISA version, it doesn't have PPC_FEATURE_ARCH_2_05 set, only
-     PPC_FEATURE_ARCH_2_06.  Since for now the only bits used in the higher
-     half of the register are for Decimal Floating Point, we check if that
-     feature is available to decide the size of the FPSCR.  */
-  if (ppc_linux_get_hwcap () & PPC_FEATURE_HAS_DFP)
-    isa205 = 1;
-
-  if (ppc_linux_get_hwcap () & PPC_FEATURE_CELL)
-    cell = 1;
-
-  if (ppc_linux_target_wordsize () == 8)
-    {
-      if (cell)
-	return tdesc_powerpc_cell64l;
-      else if (vsx)
-	return isa205? tdesc_powerpc_isa205_vsx64l : tdesc_powerpc_vsx64l;
-      else if (altivec)
-	return isa205
-	  ? tdesc_powerpc_isa205_altivec64l : tdesc_powerpc_altivec64l;
-
-      return isa205? tdesc_powerpc_isa205_64l : tdesc_powerpc_64l;
-    }
-
-  if (cell)
-    return tdesc_powerpc_cell32l;
-  else if (vsx)
-    return isa205? tdesc_powerpc_isa205_vsx32l : tdesc_powerpc_vsx32l;
-  else if (altivec)
-    return isa205? tdesc_powerpc_isa205_altivec32l : tdesc_powerpc_altivec32l;
+  if (hwcap & PPC_FEATURE_CELL)
+    features.cell = true;
+
+  features.isa205 = ppc_linux_has_isa205 (hwcap);
 
-  return isa205? tdesc_powerpc_isa205_32l : tdesc_powerpc_32l;
+  return ppc_linux_match_description (features);
 }
 
 void
 _initialize_ppc_linux_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
-  /* Add our register access methods.  */
-  t->to_fetch_registers = ppc_linux_fetch_inferior_registers;
-  t->to_store_registers = ppc_linux_store_inferior_registers;
-
-  /* Add our breakpoint/watchpoint methods.  */
-  t->to_can_use_hw_breakpoint = ppc_linux_can_use_hw_breakpoint;
-  t->to_insert_hw_breakpoint = ppc_linux_insert_hw_breakpoint;
-  t->to_remove_hw_breakpoint = ppc_linux_remove_hw_breakpoint;
-  t->to_region_ok_for_hw_watchpoint = ppc_linux_region_ok_for_hw_watchpoint;
-  t->to_insert_watchpoint = ppc_linux_insert_watchpoint;
-  t->to_remove_watchpoint = ppc_linux_remove_watchpoint;
-  t->to_insert_mask_watchpoint = ppc_linux_insert_mask_watchpoint;
-  t->to_remove_mask_watchpoint = ppc_linux_remove_mask_watchpoint;
-  t->to_stopped_by_watchpoint = ppc_linux_stopped_by_watchpoint;
-  t->to_stopped_data_address = ppc_linux_stopped_data_address;
-  t->to_watchpoint_addr_within_range = ppc_linux_watchpoint_addr_within_range;
-  t->to_can_accel_watchpoint_condition
-    = ppc_linux_can_accel_watchpoint_condition;
-  t->to_masked_watch_num_registers = ppc_linux_masked_watch_num_registers;
-  t->to_ranged_break_num_registers = ppc_linux_ranged_break_num_registers;
-
-  t->to_read_description = ppc_linux_read_description;
-  t->to_auxv_parse = ppc_linux_auxv_parse;
+  linux_target = &the_ppc_linux_nat_target;
 
-  observer_attach_thread_exit (ppc_linux_thread_exit);
+  gdb::observers::thread_exit.attach (ppc_linux_thread_exit);
 
   /* Register the target.  */
-  linux_nat_add_target (t);
-  linux_nat_set_new_thread (t, ppc_linux_new_thread);
+  add_inf_child_target (linux_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-linux-tdep.c ./gdb/ppc-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -37,11 +37,13 @@
 #include "ppc-tdep.h"
 #include "ppc64-tdep.h"
 #include "ppc-linux-tdep.h"
+#include "arch/ppc-linux-common.h"
+#include "arch/ppc-linux-tdesc.h"
 #include "glibc-tdep.h"
 #include "trad-frame.h"
 #include "frame-unwind.h"
 #include "tramp-frame.h"
-#include "observer.h"
+#include "observable.h"
 #include "auxv.h"
 #include "elf/common.h"
 #include "elf/ppc64.h"
@@ -256,8 +258,8 @@ ppc_linux_return_value (struct gdbarch *
 				      readbuf, writebuf);
 }
 
-/* PLT stub in executable.  */
-static struct ppc_insn_pattern powerpc32_plt_stub[] =
+/* PLT stub in an executable.  */
+static const struct ppc_insn_pattern powerpc32_plt_stub[] =
   {
     { 0xffff0000, 0x3d600000, 0 },	/* lis   r11, xxxx	 */
     { 0xffff0000, 0x816b0000, 0 },	/* lwz   r11, xxxx(r11)  */
@@ -266,16 +268,30 @@ static struct ppc_insn_pattern powerpc32
     {          0,          0, 0 }
   };
 
-/* PLT stub in shared library.  */
-static struct ppc_insn_pattern powerpc32_plt_stub_so[] =
+/* PLT stubs in a shared library or PIE.
+   The first variant is used when the PLT entry is within +/-32k of
+   the GOT pointer (r30).  */
+static const struct ppc_insn_pattern powerpc32_plt_stub_so_1[] =
   {
     { 0xffff0000, 0x817e0000, 0 },	/* lwz   r11, xxxx(r30)  */
     { 0xffffffff, 0x7d6903a6, 0 },	/* mtctr r11		 */
     { 0xffffffff, 0x4e800420, 0 },	/* bctr			 */
-    { 0xffffffff, 0x60000000, 0 },	/* nop			 */
     {          0,          0, 0 }
   };
-#define POWERPC32_PLT_STUB_LEN 	ARRAY_SIZE (powerpc32_plt_stub)
+
+/* The second variant is used when the PLT entry is more than +/-32k
+   from the GOT pointer (r30).  */
+static const struct ppc_insn_pattern powerpc32_plt_stub_so_2[] =
+  {
+    { 0xffff0000, 0x3d7e0000, 0 },	/* addis r11, r30, xxxx  */
+    { 0xffff0000, 0x816b0000, 0 },	/* lwz   r11, xxxx(r11)  */
+    { 0xffffffff, 0x7d6903a6, 0 },	/* mtctr r11		 */
+    { 0xffffffff, 0x4e800420, 0 },	/* bctr			 */
+    {          0,          0, 0 }
+  };
+
+/* The max number of insns we check using ppc_insns_match_pattern.  */
+#define POWERPC32_PLT_CHECK_LEN (ARRAY_SIZE (powerpc32_plt_stub) - 1)
 
 /* Check if PC is in PLT stub.  For non-secure PLT, stub is in .plt
    section.  For secure PLT, stub is in .text and we need to check
@@ -306,13 +322,13 @@ powerpc_linux_in_dynsym_resolve_code (CO
 
    When the execution direction is EXEC_REVERSE, scan backward to
    check whether we are in the middle of a PLT stub.  Currently,
-   we only look-behind at most 4 instructions (the max length of PLT
+   we only look-behind at most 4 instructions (the max length of a PLT
    stub sequence.  */
 
 static CORE_ADDR
 ppc_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
 {
-  unsigned int insnbuf[POWERPC32_PLT_STUB_LEN];
+  unsigned int insnbuf[POWERPC32_PLT_CHECK_LEN];
   struct gdbarch *gdbarch = get_frame_arch (frame);
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -323,40 +339,47 @@ ppc_skip_trampoline_code (struct frame_i
   /* When reverse-debugging, scan backward to check whether we are
      in the middle of trampoline code.  */
   if (execution_direction == EXEC_REVERSE)
-    scan_limit = 4;	/* At more 4 instructions.  */
+    scan_limit = 4;	/* At most 4 instructions.  */
 
   for (i = 0; i < scan_limit; i++)
     {
       if (ppc_insns_match_pattern (frame, pc, powerpc32_plt_stub, insnbuf))
 	{
-	  /* Insn pattern is
+	  /* Calculate PLT entry address from
 	     lis   r11, xxxx
-	     lwz   r11, xxxx(r11)
-	     Branch target is in r11.  */
-
-	  target = (ppc_insn_d_field (insnbuf[0]) << 16)
-		   | ppc_insn_d_field (insnbuf[1]);
-	  target = read_memory_unsigned_integer (target, 4, byte_order);
+	     lwz   r11, xxxx(r11).  */
+	  target = ((ppc_insn_d_field (insnbuf[0]) << 16)
+		    + ppc_insn_d_field (insnbuf[1]));
+	}
+      else if (i < ARRAY_SIZE (powerpc32_plt_stub_so_1) - 1
+	       && ppc_insns_match_pattern (frame, pc, powerpc32_plt_stub_so_1,
+					   insnbuf))
+	{
+	  /* Calculate PLT entry address from
+	     lwz   r11, xxxx(r30).  */
+	  target = (ppc_insn_d_field (insnbuf[0])
+		    + get_frame_register_unsigned (frame,
+						   tdep->ppc_gp0_regnum + 30));
 	}
-      else if (ppc_insns_match_pattern (frame, pc, powerpc32_plt_stub_so,
+      else if (ppc_insns_match_pattern (frame, pc, powerpc32_plt_stub_so_2,
 					insnbuf))
 	{
-	  /* Insn pattern is
-	     lwz   r11, xxxx(r30)
-	     Branch target is in r11.  */
-
-	  target = get_frame_register_unsigned (frame,
-						tdep->ppc_gp0_regnum + 30)
-		   + ppc_insn_d_field (insnbuf[0]);
-	  target = read_memory_unsigned_integer (target, 4, byte_order);
+	  /* Calculate PLT entry address from
+	     addis r11, r30, xxxx
+	     lwz   r11, xxxx(r11).  */
+	  target = ((ppc_insn_d_field (insnbuf[0]) << 16)
+		    + ppc_insn_d_field (insnbuf[1])
+		    + get_frame_register_unsigned (frame,
+						   tdep->ppc_gp0_regnum + 30));
 	}
       else
 	{
-	  /* Scan backward one more instructions if doesn't match.  */
+	  /* Scan backward one more instruction if it doesn't match.  */
 	  pc -= 4;
 	  continue;
 	}
 
+      target = read_memory_unsigned_integer (target, 4, byte_order);
       return target;
     }
 
@@ -421,6 +444,24 @@ ppc_linux_collect_gregset (const struct 
     }
 }
 
+static void
+ppc_linux_collect_vrregset (const struct regset *regset,
+			    const struct regcache *regcache,
+			    int regnum, void *buf, size_t len)
+{
+  gdb_byte *vrregs = (gdb_byte *) buf;
+
+  /* Zero-pad the unused bytes in the fields for vscr and vrsave
+     in case they get displayed somewhere (e.g. in core files).  */
+  if (regnum == PPC_VSCR_REGNUM || regnum == -1)
+    memset (&vrregs[32 * 16], 0, 16);
+
+  if (regnum == PPC_VRSAVE_REGNUM || regnum == -1)
+    memset (&vrregs[33 * 16], 0, 16);
+
+  regcache_collect_regset (regset, regcache, regnum, buf, len);
+}
+
 /* Regset descriptions.  */
 static const struct ppc_reg_offsets ppc32_linux_reg_offsets =
   {
@@ -439,12 +480,7 @@ static const struct ppc_reg_offsets ppc3
     /* Floating-point registers.  */
     /* .f0_offset = */ 0,
     /* .fpscr_offset = */ 256,
-    /* .fpscr_size = */ 8,
-
-    /* AltiVec registers.  */
-    /* .vr0_offset = */ 0,
-    /* .vscr_offset = */ 512 + 12,
-    /* .vrsave_offset = */ 528
+    /* .fpscr_size = */ 8
   };
 
 static const struct ppc_reg_offsets ppc64_linux_reg_offsets =
@@ -464,12 +500,7 @@ static const struct ppc_reg_offsets ppc6
     /* Floating-point registers.  */
     /* .f0_offset = */ 0,
     /* .fpscr_offset = */ 256,
-    /* .fpscr_size = */ 8,
-
-    /* AltiVec registers.  */
-    /* .vr0_offset = */ 0,
-    /* .vscr_offset = */ 512 + 12,
-    /* .vrsave_offset = */ 528
+    /* .fpscr_size = */ 8
   };
 
 static const struct regset ppc32_linux_gregset = {
@@ -490,16 +521,48 @@ static const struct regset ppc32_linux_f
   ppc_collect_fpregset
 };
 
-static const struct regset ppc32_linux_vrregset = {
-  &ppc32_linux_reg_offsets,
-  ppc_supply_vrregset,
-  ppc_collect_vrregset
+static const struct regcache_map_entry ppc32_le_linux_vrregmap[] =
+  {
+      { 32, PPC_VR0_REGNUM, 16 },
+      { 1, PPC_VSCR_REGNUM, 4 },
+      { 1, REGCACHE_MAP_SKIP, 12 },
+      { 1, PPC_VRSAVE_REGNUM, 4 },
+      { 1, REGCACHE_MAP_SKIP, 12 },
+      { 0 }
+  };
+
+static const struct regcache_map_entry ppc32_be_linux_vrregmap[] =
+  {
+      { 32, PPC_VR0_REGNUM, 16 },
+      { 1, REGCACHE_MAP_SKIP, 12},
+      { 1, PPC_VSCR_REGNUM, 4 },
+      { 1, PPC_VRSAVE_REGNUM, 4 },
+      { 1, REGCACHE_MAP_SKIP, 12 },
+      { 0 }
+  };
+
+static const struct regset ppc32_le_linux_vrregset = {
+  ppc32_le_linux_vrregmap,
+  regcache_supply_regset,
+  ppc_linux_collect_vrregset
 };
 
+static const struct regset ppc32_be_linux_vrregset = {
+  ppc32_be_linux_vrregmap,
+  regcache_supply_regset,
+  ppc_linux_collect_vrregset
+};
+
+static const struct regcache_map_entry ppc32_linux_vsxregmap[] =
+  {
+      { 32, PPC_VSR0_UPPER_REGNUM, 8 },
+      { 0 }
+  };
+
 static const struct regset ppc32_linux_vsxregset = {
-  &ppc32_linux_reg_offsets,
-  ppc_supply_vsxregset,
-  ppc_collect_vsxregset
+  ppc32_linux_vsxregmap,
+  regcache_supply_regset,
+  regcache_collect_regset
 };
 
 const struct regset *
@@ -514,6 +577,21 @@ ppc_linux_fpregset (void)
   return &ppc32_linux_fpregset;
 }
 
+const struct regset *
+ppc_linux_vrregset (struct gdbarch *gdbarch)
+{
+  if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
+    return &ppc32_be_linux_vrregset;
+  else
+    return &ppc32_le_linux_vrregset;
+}
+
+const struct regset *
+ppc_linux_vsxregset (void)
+{
+  return &ppc32_linux_vsxregset;
+}
+
 /* Iterate over supported core file register note sections. */
 
 static void
@@ -534,10 +612,15 @@ ppc_linux_iterate_over_regset_sections (
   cb (".reg2", 264, &ppc32_linux_fpregset, NULL, cb_data);
 
   if (have_altivec)
-    cb (".reg-ppc-vmx", 544, &ppc32_linux_vrregset, "ppc Altivec", cb_data);
+    {
+      const struct regset *vrregset = ppc_linux_vrregset (gdbarch);
+      cb (".reg-ppc-vmx", PPC_LINUX_SIZEOF_VRREGSET, vrregset,
+	  "ppc Altivec", cb_data);
+    }
 
   if (have_vsx)
-    cb (".reg-ppc-vsx", 256, &ppc32_linux_vsxregset, "POWER7 VSX", cb_data);
+    cb (".reg-ppc-vsx", PPC_LINUX_SIZEOF_VSXREGSET,
+	&ppc32_linux_vsxregset, "POWER7 VSX", cb_data);
 }
 
 static void
@@ -720,9 +803,9 @@ ppc_linux_trap_reg_p (struct gdbarch *gd
    r0 register.  When the function fails, it returns -1.  */
 static LONGEST
 ppc_linux_get_syscall_number (struct gdbarch *gdbarch,
-                              ptid_t ptid)
+			      thread_info *thread)
 {
-  struct regcache *regcache = get_thread_regcache (ptid);
+  struct regcache *regcache = get_thread_regcache (thread);
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
 
@@ -735,7 +818,7 @@ ppc_linux_get_syscall_number (struct gdb
   /* Getting the system call number from the register.
      When dealing with PowerPC architecture, this information
      is stored at 0th register.  */
-  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum, buf.data ());
+  regcache->cooked_read (tdep->ppc_gp0_regnum, buf.data ());
 
   return extract_signed_integer (buf.data (), tdep->wordsize, byte_order);
 }
@@ -945,38 +1028,44 @@ ppc_linux_core_read_description (struct 
 				 struct target_ops *target,
 				 bfd *abfd)
 {
+  struct ppc_linux_features features = ppc_linux_no_features;
   asection *cell = bfd_sections_find_if (abfd, ppc_linux_spu_section, NULL);
   asection *altivec = bfd_get_section_by_name (abfd, ".reg-ppc-vmx");
   asection *vsx = bfd_get_section_by_name (abfd, ".reg-ppc-vsx");
   asection *section = bfd_get_section_by_name (abfd, ".reg");
+
   if (! section)
     return NULL;
 
   switch (bfd_section_size (abfd, section))
     {
     case 48 * 4:
-      if (cell)
-	return tdesc_powerpc_cell32l;
-      else if (vsx)
-	return tdesc_powerpc_vsx32l;
-      else if (altivec)
-	return tdesc_powerpc_altivec32l;
-      else
-	return tdesc_powerpc_32l;
-
+      features.wordsize = 4;
+      break;
     case 48 * 8:
-      if (cell)
-	return tdesc_powerpc_cell64l;
-      else if (vsx)
-	return tdesc_powerpc_vsx64l;
-      else if (altivec)
-	return tdesc_powerpc_altivec64l;
-      else
-	return tdesc_powerpc_64l;
-
+      features.wordsize = 8;
+      break;
     default:
       return NULL;
     }
+
+  if (cell)
+    features.cell = true;
+
+  if (altivec)
+    features.altivec = true;
+
+  if (vsx)
+    features.vsx = true;
+
+  CORE_ADDR hwcap;
+
+  if (target_auxv_search (target, AT_HWCAP, &hwcap) != 1)
+    hwcap = 0;
+
+  features.isa205 = ppc_linux_has_isa205 (hwcap);
+
+  return ppc_linux_match_description (features);
 }
 
 
@@ -1180,9 +1269,9 @@ ppc_linux_spe_context (int wordsize, enu
     return 0;
 
   /* Look up cached address of thread-local variable.  */
-  if (!ptid_equal (spe_context_cache_ptid, inferior_ptid))
+  if (spe_context_cache_ptid != inferior_ptid)
     {
-      struct target_ops *target = &current_target;
+      struct target_ops *target = current_top_target ();
 
       TRY
 	{
@@ -1193,9 +1282,9 @@ ppc_linux_spe_context (int wordsize, enu
 	     Instead, we have cached the lm_addr value, and use that to
 	     directly call the target's to_get_thread_local_address.  */
 	  spe_context_cache_address
-	    = target->to_get_thread_local_address (target, inferior_ptid,
-						   spe_context_lm_addr,
-						   spe_context_offset);
+	    = target->get_thread_local_address (inferior_ptid,
+						spe_context_lm_addr,
+						spe_context_offset);
 	  spe_context_cache_ptid = inferior_ptid;
 	}
 
@@ -1241,7 +1330,7 @@ ppc_linux_spe_context (int wordsize, enu
 struct ppu2spu_cache
 {
   struct frame_id frame_id;
-  struct regcache *regcache;
+  readonly_detached_regcache *regcache;
 };
 
 static struct gdbarch *
@@ -1269,11 +1358,7 @@ ppu2spu_prev_register (struct frame_info
 
   buf = (gdb_byte *) alloca (register_size (gdbarch, regnum));
 
-  if (regnum < gdbarch_num_regs (gdbarch))
-    regcache_raw_read (cache->regcache, regnum, buf);
-  else
-    gdbarch_pseudo_register_read (gdbarch, cache->regcache, regnum, buf);
-
+  cache->regcache->cooked_read (regnum, buf);
   return frame_unwind_got_bytes (this_frame, regnum, buf);
 }
 
@@ -1286,9 +1371,8 @@ struct ppu2spu_data
 };
 
 static enum register_status
-ppu2spu_unwind_register (void *src, int regnum, gdb_byte *buf)
+ppu2spu_unwind_register (ppu2spu_data *data, int regnum, gdb_byte *buf)
 {
-  struct ppu2spu_data *data = (struct ppu2spu_data *) src;
   enum bfd_endian byte_order = gdbarch_byte_order (data->gdbarch);
 
   if (regnum >= 0 && regnum < SPU_NUM_GPRS)
@@ -1346,16 +1430,18 @@ ppu2spu_sniffer (const struct frame_unwi
 	return 0;
 
       xsnprintf (annex, sizeof annex, "%d/regs", data.id);
-      if (target_read (&current_target, TARGET_OBJECT_SPU, annex,
+      if (target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 		       data.gprs, 0, sizeof data.gprs)
 	  == sizeof data.gprs)
 	{
+	  auto cooked_read = [&data] (int regnum, gdb_byte *buf)
+	    {
+	      return ppu2spu_unwind_register (&data, regnum, buf);
+	    };
 	  struct ppu2spu_cache *cache
 	    = FRAME_OBSTACK_CALLOC (1, struct ppu2spu_cache);
-	  std::unique_ptr<struct regcache> regcache
-	    (new struct regcache (data.gdbarch));
-
-	  regcache_save (regcache.get (), ppu2spu_unwind_register, &data);
+	  std::unique_ptr<readonly_detached_regcache> regcache
+	    (new readonly_detached_regcache (data.gdbarch, cooked_read));
 
 	  cache->frame_id = frame_id_build (base, func);
 	  cache->regcache = regcache.release ();
@@ -1840,9 +1926,9 @@ _initialize_ppc_linux_tdep (void)
                          ppc_linux_init_abi);
 
   /* Attach to observers to track __spe_current_active_context.  */
-  observer_attach_inferior_created (ppc_linux_spe_context_inferior_created);
-  observer_attach_solib_loaded (ppc_linux_spe_context_solib_loaded);
-  observer_attach_solib_unloaded (ppc_linux_spe_context_solib_unloaded);
+  gdb::observers::inferior_created.attach (ppc_linux_spe_context_inferior_created);
+  gdb::observers::solib_loaded.attach (ppc_linux_spe_context_solib_loaded);
+  gdb::observers::solib_unloaded.attach (ppc_linux_spe_context_solib_unloaded);
 
   /* Initialize the Linux target descriptions.  */
   initialize_tdesc_powerpc_32l ();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-linux-tdep.h ./gdb/ppc-linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-linux-tdep.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-linux-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -28,6 +28,10 @@ struct regset;
 const struct regset *ppc_linux_gregset (int);
 const struct regset *ppc_linux_fpregset (void);
 
+/* Get the vector regset that matches the target byte order.  */
+const struct regset *ppc_linux_vrregset (struct gdbarch *gdbarch);
+const struct regset *ppc_linux_vsxregset (void);
+
 /* Extra register number constants.  The Linux kernel stores a
    "trap" code and the original value of r3 into special "registers";
    these need to be saved and restored when performing an inferior
@@ -40,21 +44,4 @@ enum {
 /* Return 1 if PPC_ORIG_R3_REGNUM and PPC_TRAP_REGNUM are usable.  */
 int ppc_linux_trap_reg_p (struct gdbarch *gdbarch);
 
-/* Linux target descriptions.  */
-extern struct target_desc *tdesc_powerpc_32l;
-extern struct target_desc *tdesc_powerpc_altivec32l;
-extern struct target_desc *tdesc_powerpc_cell32l;
-extern struct target_desc *tdesc_powerpc_vsx32l;
-extern struct target_desc *tdesc_powerpc_isa205_32l;
-extern struct target_desc *tdesc_powerpc_isa205_altivec32l;
-extern struct target_desc *tdesc_powerpc_isa205_vsx32l;
-extern struct target_desc *tdesc_powerpc_e500l;
-extern struct target_desc *tdesc_powerpc_64l;
-extern struct target_desc *tdesc_powerpc_altivec64l;
-extern struct target_desc *tdesc_powerpc_cell64l;
-extern struct target_desc *tdesc_powerpc_vsx64l;
-extern struct target_desc *tdesc_powerpc_isa205_64l;
-extern struct target_desc *tdesc_powerpc_isa205_altivec64l;
-extern struct target_desc *tdesc_powerpc_isa205_vsx64l;
-
 #endif /* PPC_LINUX_TDEP_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-nbsd-nat.c ./gdb/ppc-nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-nbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-nbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -36,6 +36,14 @@
 #include "bsd-kvm.h"
 #include "inf-ptrace.h"
 
+struct ppc_nbsd_nat_target final : public inf_ptrace_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static ppc_nbsd_nat_target the_ppc_nbsd_nat_target;
+
 /* Returns true if PT_GETREGS fetches this register.  */
 
 static int
@@ -76,12 +84,11 @@ getfpregs_supplies (struct gdbarch *gdba
 	  || regnum == tdep->ppc_fpscr_regnum);
 }
 
-static void
-ppcnbsd_fetch_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int regnum)
+void
+ppc_nbsd_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (regnum == -1 || getregs_supplies (gdbarch, regnum))
     {
@@ -106,12 +113,11 @@ ppcnbsd_fetch_inferior_registers (struct
     }
 }
 
-static void
-ppcnbsd_store_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int regnum)
+void
+ppc_nbsd_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (regnum == -1 || getregs_supplies (gdbarch, regnum))
     {
@@ -156,20 +162,19 @@ ppcnbsd_supply_pcb (struct regcache *reg
     return 0;
 
   read_memory (pcb->pcb_sp, (gdb_byte *)&sf, sizeof sf);
-  regcache_raw_supply (regcache, tdep->ppc_cr_regnum, &sf.cr);
-  regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 2, &sf.fixreg2);
+  regcache->raw_supply (tdep->ppc_cr_regnum, &sf.cr);
+  regcache->raw_supply (tdep->ppc_gp0_regnum + 2, &sf.fixreg2);
   for (i = 0 ; i < 19 ; i++)
-    regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 13 + i,
-			 &sf.fixreg[i]);
+    regcache->raw_supply (tdep->ppc_gp0_regnum + 13 + i, &sf.fixreg[i]);
 
   read_memory(sf.sp, (gdb_byte *)&cf, sizeof(cf));
-  regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 30, &cf.r30);
-  regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 31, &cf.r31);
-  regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 1, &cf.sp);
+  regcache->raw_supply (tdep->ppc_gp0_regnum + 30, &cf.r30);
+  regcache->raw_supply (tdep->ppc_gp0_regnum + 31, &cf.r31);
+  regcache->raw_supply (tdep->ppc_gp0_regnum + 1, &cf.sp);
 
   read_memory(cf.sp, (gdb_byte *)&cf, sizeof(cf));
-  regcache_raw_supply (regcache, tdep->ppc_lr_regnum, &cf.lr);
-  regcache_raw_supply (regcache, gdbarch_pc_regnum (gdbarch), &cf.lr);
+  regcache->raw_supply (tdep->ppc_lr_regnum, &cf.lr);
+  regcache->raw_supply (gdbarch_pc_regnum (gdbarch), &cf.lr);
 
   return 1;
 }
@@ -177,14 +182,8 @@ ppcnbsd_supply_pcb (struct regcache *reg
 void
 _initialize_ppcnbsd_nat (void)
 {
-  struct target_ops *t;
-
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (ppcnbsd_supply_pcb);
 
-  /* Add in local overrides.  */
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = ppcnbsd_fetch_inferior_registers;
-  t->to_store_registers = ppcnbsd_store_inferior_registers;
-  add_target (t);
+  add_inf_child_target (&the_ppc_nbsd_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-nbsd-tdep.c ./gdb/ppc-nbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-nbsd-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-nbsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -215,9 +215,5 @@ _initialize_ppcnbsd_tdep (void)
       ppcnbsd_reg_offsets.fpscr_offset = 256;
       ppcnbsd_reg_offsets.fpscr_size = 4;
 
-      /* AltiVec registers.  */
-      ppcnbsd_reg_offsets.vr0_offset = 0;
-      ppcnbsd_reg_offsets.vrsave_offset = 512;
-      ppcnbsd_reg_offsets.vscr_offset = 524;
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-obsd-nat.c ./gdb/ppc-obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-obsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-obsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -35,6 +35,14 @@
 #include "obsd-nat.h"
 #include "bsd-kvm.h"
 
+struct ppc_obsd_nat_target final : public obsd_nat_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static ppc_obsd_nat_target the_ppc_obsd_nat_target;
+
 /* OpenBSD/powerpc didn't have PT_GETFPREGS/PT_SETFPREGS until release
    4.0.  On older releases the floating-point registers are handled by
    PT_GETREGS/PT_SETREGS, but fpscr wasn't available..  */
@@ -70,12 +78,11 @@ getfpregs_supplies (struct gdbarch *gdba
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers.  */
 
-static void
-ppcobsd_fetch_registers (struct target_ops *ops,
-			 struct regcache *regcache, int regnum)
+void
+ppc_obsd_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   struct reg regs;
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) &regs, 0) == -1)
     perror_with_name (_("Couldn't get registers"));
@@ -105,12 +112,11 @@ ppcobsd_fetch_registers (struct target_o
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers.  */
 
-static void
-ppcobsd_store_registers (struct target_ops *ops,
-			 struct regcache *regcache, int regnum)
+void
+ppc_obsd_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
   struct reg regs;
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) &regs, 0) == -1)
     perror_with_name (_("Couldn't get registers"));
@@ -167,16 +173,16 @@ ppcobsd_supply_pcb (struct regcache *reg
     return 0;
 
   read_memory (pcb->pcb_sp, (gdb_byte *)&sf, sizeof sf);
-  regcache_raw_supply (regcache, gdbarch_sp_regnum (gdbarch), &sf.sp);
-  regcache_raw_supply (regcache, tdep->ppc_cr_regnum, &sf.cr);
-  regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 2, &sf.fixreg2);
+  regcache->raw_supply (gdbarch_sp_regnum (gdbarch), &sf.sp);
+  regcache->raw_supply (tdep->ppc_cr_regnum, &sf.cr);
+  regcache->raw_supply (tdep->ppc_gp0_regnum + 2, &sf.fixreg2);
   for (i = 0, regnum = tdep->ppc_gp0_regnum + 13; i < 19; i++, regnum++)
-    regcache_raw_supply (regcache, regnum, &sf.fixreg[i]);
+    regcache->raw_supply (regnum, &sf.fixreg[i]);
 
   read_memory (sf.sp, (gdb_byte *)&cf, sizeof cf);
-  regcache_raw_supply (regcache, gdbarch_pc_regnum (gdbarch), &cf.lr);
-  regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 30, &cf.r30);
-  regcache_raw_supply (regcache, tdep->ppc_gp0_regnum + 31, &cf.r31);
+  regcache->raw_supply (gdbarch_pc_regnum (gdbarch), &cf.lr);
+  regcache->raw_supply (tdep->ppc_gp0_regnum + 30, &cf.r30);
+  regcache->raw_supply (tdep->ppc_gp0_regnum + 31, &cf.r31);
 
   return 1;
 }
@@ -184,13 +190,7 @@ ppcobsd_supply_pcb (struct regcache *reg
 void
 _initialize_ppcobsd_nat (void)
 {
-  struct target_ops *t;
-
-  /* Add in local overrides.  */
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = ppcobsd_fetch_registers;
-  t->to_store_registers = ppcobsd_store_registers;
-  obsd_add_target (t);
+  add_inf_child_target (&the_ppc_obsd_nat_target);
 
   /* General-purpose registers.  */
   ppcobsd_reg_offsets.r0_offset = offsetof (struct reg, gpr);
@@ -213,11 +213,6 @@ _initialize_ppcobsd_nat (void)
   ppcobsd_fpreg_offsets.fpscr_size = 4;
 #endif
 
-  /* AltiVec registers.  */
-  ppcobsd_reg_offsets.vr0_offset = offsetof (struct vreg, vreg);
-  ppcobsd_reg_offsets.vscr_offset = offsetof (struct vreg, vscr);
-  ppcobsd_reg_offsets.vrsave_offset = offsetof (struct vreg, vrsave);
-
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (ppcobsd_supply_pcb);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-obsd-tdep.c ./gdb/ppc-obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-obsd-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-obsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -289,10 +289,6 @@ _initialize_ppcobsd_tdep (void)
       ppcobsd_reg_offsets.f0_offset = 128;
       ppcobsd_reg_offsets.fpscr_offset = -1;
 
-      /* AltiVec registers.  */
-      ppcobsd_reg_offsets.vr0_offset = 0;
-      ppcobsd_reg_offsets.vscr_offset = 512;
-      ppcobsd_reg_offsets.vrsave_offset = 520;
     }
 
   if (ppcobsd_fpreg_offsets.fpscr_offset == 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.1.0.20180703/gdb/ppc-ravenscar-thread.c ./gdb/ppc-ravenscar-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-ravenscar-thread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-ravenscar-thread.c	2018-07-10 02:06:13.000000000 +0000
@@ -125,7 +125,7 @@ supply_register_at_address (struct regca
 
   buf = (gdb_byte *) alloca (buf_size);
   read_memory (register_addr, buf, buf_size);
-  regcache_raw_supply (regcache, regnum, buf);
+  regcache->raw_supply (regnum, buf);
 }
 
 /* Return true if, for a non-running thread, REGNUM has been saved on the
@@ -154,7 +154,7 @@ ppc_ravenscar_generic_fetch_registers
   CORE_ADDR thread_descriptor_address;
 
   /* The tid is the thread_id field, which is a pointer to the thread.  */
-  thread_descriptor_address = (CORE_ADDR) ptid_get_tid (inferior_ptid);
+  thread_descriptor_address = (CORE_ADDR) inferior_ptid.tid ();
 
   /* Read registers.  */
   for (current_regnum = 0; current_regnum < num_regs; current_regnum++)
@@ -193,11 +193,11 @@ ppc_ravenscar_generic_store_registers
 
   if (register_in_thread_descriptor_p (reg_info, regnum))
     register_address
-      = ptid_get_tid (inferior_ptid) + reg_info->context_offsets [regnum];
+      = inferior_ptid.tid () + reg_info->context_offsets [regnum];
   else
     return;
 
-  regcache_raw_collect (regcache, regnum, buf);
+  regcache->raw_collect (regnum, buf);
   write_memory (register_address,
                 buf,
                 buf_size);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-sysv-tdep.c ./gdb/ppc-sysv-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-sysv-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-sysv-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -139,9 +139,8 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 		      struct type *regtype
 			= register_type (gdbarch, tdep->ppc_fp0_regnum + freg);
 		      target_float_convert (val, type, regval, regtype);
-		      regcache_cooked_write (regcache,
-                                             tdep->ppc_fp0_regnum + freg,
-					     regval);
+		      regcache->cooked_write (tdep->ppc_fp0_regnum + freg,
+					      regval);
 		    }
 		  freg++;
 		}
@@ -176,12 +175,9 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 		{
 		  if (write_pass)
 		    {
-		      regcache_cooked_write (regcache,
-					     tdep->ppc_fp0_regnum + freg,
-					     val);
-		      regcache_cooked_write (regcache,
-					     tdep->ppc_fp0_regnum + freg + 1,
-					     val + 8);
+		      regcache->cooked_write (tdep->ppc_fp0_regnum + freg, val);
+		      regcache->cooked_write (tdep->ppc_fp0_regnum + freg + 1,
+					      val + 8);
 		    }
 		  freg += 2;
 		}
@@ -221,12 +217,10 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 		    greg++;
 		  if (write_pass)
 		    {
-		      regcache_cooked_write (regcache,
-					     tdep->ppc_gp0_regnum + greg + 0,
-					     val + 0);
-		      regcache_cooked_write (regcache,
-					     tdep->ppc_gp0_regnum + greg + 1,
-					     val + 4);
+		      regcache->cooked_write (tdep->ppc_gp0_regnum + greg + 0,
+					      val + 0);
+		      regcache->cooked_write (tdep->ppc_gp0_regnum + greg + 1,
+					      val + 4);
 		    }
 		  greg += 2;
 		}
@@ -253,18 +247,14 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 		{
 		  if (write_pass)
 		    {
-		      regcache_cooked_write (regcache,
-					     tdep->ppc_gp0_regnum + greg + 0,
-					     val + 0);
-		      regcache_cooked_write (regcache,
-					     tdep->ppc_gp0_regnum + greg + 1,
-					     val + 4);
-		      regcache_cooked_write (regcache,
-					     tdep->ppc_gp0_regnum + greg + 2,
-					     val + 8);
-		      regcache_cooked_write (regcache,
-					     tdep->ppc_gp0_regnum + greg + 3,
-					     val + 12);
+		      regcache->cooked_write (tdep->ppc_gp0_regnum + greg + 0,
+					      val + 0);
+		      regcache->cooked_write (tdep->ppc_gp0_regnum + greg + 1,
+					      val + 4);
+		      regcache->cooked_write (tdep->ppc_gp0_regnum + greg + 2,
+					      val + 8);
+		      regcache->cooked_write (tdep->ppc_gp0_regnum + greg + 3,
+					      val + 12);
 		    }
 		  greg += 4;
 		}
@@ -292,8 +282,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 		      else
 			p = val;
 
-		      regcache_cooked_write (regcache,
-			  tdep->ppc_fp0_regnum + freg, p);
+		      regcache->cooked_write (tdep->ppc_fp0_regnum + freg, p);
 		    }
 
 		  freg++;
@@ -322,10 +311,9 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 
 		  if (write_pass)
 		    {
-		      regcache_cooked_write (regcache,
-					     tdep->ppc_fp0_regnum + freg, val);
-		      regcache_cooked_write (regcache,
-			  tdep->ppc_fp0_regnum + freg + 1, val + 8);
+		      regcache->cooked_write (tdep->ppc_fp0_regnum + freg, val);
+		      regcache->cooked_write (tdep->ppc_fp0_regnum + freg + 1,
+					      val + 8);
 		    }
 		}
 	      else
@@ -370,7 +358,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 				= register_type (gdbarch, regnum);
 			      target_float_convert (elval, eltype,
 						    regval, regtype);
-			      regcache_cooked_write (regcache, regnum, regval);
+			      regcache->cooked_write (regnum, regval);
 			    }
 			  freg++;
 			}
@@ -402,10 +390,8 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 			  if (write_pass)
 			    {
 			      int regnum = tdep->ppc_gp0_regnum + greg;
-			      regcache_cooked_write (regcache,
-						     regnum + 0, elval + 0);
-			      regcache_cooked_write (regcache,
-						     regnum + 1, elval + 4);
+			      regcache->cooked_write (regnum + 0, elval + 0);
+			      regcache->cooked_write (regnum + 1, elval + 4);
 			    }
 			  greg += 2;
 			}
@@ -419,9 +405,8 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 		      if (greg <= 10)
 			{
 			  if (write_pass)
-			    regcache_cooked_write (regcache,
-						   tdep->ppc_gp0_regnum + greg,
-						   word);
+			    regcache->cooked_write (tdep->ppc_gp0_regnum + greg,
+						    word);
 			  greg++;
 			}
 		      else
@@ -450,9 +435,8 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 		  if (vreg <= 13)
 		    {
 		      if (write_pass)
-			regcache_cooked_write (regcache,
-					       tdep->ppc_vr0_regnum + vreg,
-					       elval);
+			regcache->cooked_write (tdep->ppc_vr0_regnum + vreg,
+						elval);
 		      vreg++;
 		    }
 		  else
@@ -474,8 +458,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 	      if (vreg <= 13)
 		{
 		  if (write_pass)
-		    regcache_cooked_write (regcache,
-					   tdep->ppc_vr0_regnum + vreg, val);
+		    regcache->cooked_write (tdep->ppc_vr0_regnum + vreg, val);
 		  vreg++;
 		}
 	      else
@@ -501,8 +484,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 	      if (greg <= 10)
 		{
 		  if (write_pass)
-		    regcache_cooked_write (regcache,
-					   tdep->ppc_ev0_regnum + greg, val);
+		    regcache->cooked_write (tdep->ppc_ev0_regnum + greg, val);
 		  greg++;
 		}
 	      else
@@ -552,8 +534,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
 	      if (greg <= 10)
 		{
 		  if (write_pass)
-		    regcache_cooked_write (regcache,
-					   tdep->ppc_gp0_regnum + greg, word);
+		    regcache->cooked_write (tdep->ppc_gp0_regnum + greg, word);
 		  greg++;
 		}
 	      else
@@ -636,11 +617,11 @@ get_decimal_float_return_value (struct g
 	  else
 	    p = writebuf;
 
-	  regcache_cooked_write (regcache, tdep->ppc_fp0_regnum + 1, p);
+	  regcache->cooked_write (tdep->ppc_fp0_regnum + 1, p);
 	}
       if (readbuf != NULL)
 	{
-	  regcache_cooked_read (regcache, tdep->ppc_fp0_regnum + 1, readbuf);
+	  regcache->cooked_read (tdep->ppc_fp0_regnum + 1, readbuf);
 
 	  /* Left align 32-bit decimal float.  */
 	  if (TYPE_LENGTH (valtype) == 4)
@@ -657,11 +638,11 @@ get_decimal_float_return_value (struct g
 	  for (i = 0; i < 2; i++)
 	    {
 	      if (writebuf != NULL)
-		regcache_cooked_write (regcache, tdep->ppc_fp0_regnum + 2 + i,
-				       writebuf + i * 8);
+		regcache->cooked_write (tdep->ppc_fp0_regnum + 2 + i,
+					writebuf + i * 8);
 	      if (readbuf != NULL)
-		regcache_cooked_read (regcache, tdep->ppc_fp0_regnum + 2 + i,
-				      readbuf + i * 8);
+		regcache->cooked_read (tdep->ppc_fp0_regnum + 2 + i,
+				       readbuf + i * 8);
 	    }
 	}
     }
@@ -710,7 +691,7 @@ do_ppc_sysv_return_value (struct gdbarch
 	  gdb_byte regval[PPC_MAX_REGISTER_SIZE];
 	  struct type *regtype = register_type (gdbarch,
                                                 tdep->ppc_fp0_regnum + 1);
-	  regcache_cooked_read (regcache, tdep->ppc_fp0_regnum + 1, regval);
+	  regcache->cooked_read (tdep->ppc_fp0_regnum + 1, regval);
 	  target_float_convert (regval, regtype, readbuf, type);
 	}
       if (writebuf)
@@ -720,7 +701,7 @@ do_ppc_sysv_return_value (struct gdbarch
 	  gdb_byte regval[PPC_MAX_REGISTER_SIZE];
 	  struct type *regtype = register_type (gdbarch, tdep->ppc_fp0_regnum);
 	  target_float_convert (writebuf, type, regval, regtype);
-	  regcache_cooked_write (regcache, tdep->ppc_fp0_regnum + 1, regval);
+	  regcache->cooked_write (tdep->ppc_fp0_regnum + 1, regval);
 	}
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
@@ -733,15 +714,13 @@ do_ppc_sysv_return_value (struct gdbarch
       /* IBM long double stored in f1 and f2.  */
       if (readbuf)
 	{
-	  regcache_cooked_read (regcache, tdep->ppc_fp0_regnum + 1, readbuf);
-	  regcache_cooked_read (regcache, tdep->ppc_fp0_regnum + 2,
-				readbuf + 8);
+	  regcache->cooked_read (tdep->ppc_fp0_regnum + 1, readbuf);
+	  regcache->cooked_read (tdep->ppc_fp0_regnum + 2, readbuf + 8);
 	}
       if (writebuf)
 	{
-	  regcache_cooked_write (regcache, tdep->ppc_fp0_regnum + 1, writebuf);
-	  regcache_cooked_write (regcache, tdep->ppc_fp0_regnum + 2,
-				 writebuf + 8);
+	  regcache->cooked_write (tdep->ppc_fp0_regnum + 1, writebuf);
+	  regcache->cooked_write (tdep->ppc_fp0_regnum + 2, writebuf + 8);
 	}
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
@@ -755,23 +734,17 @@ do_ppc_sysv_return_value (struct gdbarch
 	 r5, r6.  */
       if (readbuf)
 	{
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 3, readbuf);
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 4,
-				readbuf + 4);
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 5,
-				readbuf + 8);
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 6,
-				readbuf + 12);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 3, readbuf);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 4, readbuf + 4);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 5, readbuf + 8);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 6, readbuf + 12);
 	}
       if (writebuf)
 	{
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 3, writebuf);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 4,
-				 writebuf + 4);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 5,
-				 writebuf + 8);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 6,
-				 writebuf + 12);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 3, writebuf);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 4, writebuf + 4);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 5, writebuf + 8);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 6, writebuf + 12);
 	}
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
@@ -784,19 +757,15 @@ do_ppc_sysv_return_value (struct gdbarch
 	{
 	  /* A long long, double or _Decimal64 stored in the 32 bit
 	     r3/r4.  */
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 3,
-				readbuf + 0);
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 4,
-				readbuf + 4);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 3, readbuf + 0);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 4, readbuf + 4);
 	}
       if (writebuf)
 	{
 	  /* A long long, double or _Decimal64 stored in the 32 bit
 	     r3/r4.  */
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 3,
-				 writebuf + 0);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 4,
-				 writebuf + 4);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 3, writebuf + 0);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 4, writebuf + 4);
 	}
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
@@ -855,11 +824,11 @@ do_ppc_sysv_return_value (struct gdbarch
 		{
 		  target_float_convert (writebuf + offset, eltype,
 					regval, regtype);
-		  regcache_cooked_write (regcache, regnum, regval);
+		  regcache->cooked_write (regnum, regval);
 		}
 	      if (readbuf != NULL)
 		{
-		  regcache_cooked_read (regcache, regnum, regval);
+		  regcache->cooked_read (regnum, regval);
 		  target_float_convert (regval, regtype,
 					readbuf + offset, eltype);
 		}
@@ -901,9 +870,9 @@ do_ppc_sysv_return_value (struct gdbarch
 	  int regnum = tdep->ppc_vr0_regnum + 2 + i;
 
 	  if (writebuf != NULL)
-	    regcache_cooked_write (regcache, regnum, writebuf + offset);
+	    regcache->cooked_write (regnum, writebuf + offset);
 	  if (readbuf != NULL)
-	    regcache_cooked_read (regcache, regnum, readbuf + offset);
+	    regcache->cooked_read (regnum, readbuf + offset);
 	}
 
       return RETURN_VALUE_REGISTER_CONVENTION;
@@ -916,12 +885,12 @@ do_ppc_sysv_return_value (struct gdbarch
       if (readbuf)
 	{
 	  /* Altivec places the return value in "v2".  */
-	  regcache_cooked_read (regcache, tdep->ppc_vr0_regnum + 2, readbuf);
+	  regcache->cooked_read (tdep->ppc_vr0_regnum + 2, readbuf);
 	}
       if (writebuf)
 	{
 	  /* Altivec places the return value in "v2".  */
-	  regcache_cooked_write (regcache, tdep->ppc_vr0_regnum + 2, writebuf);
+	  regcache->cooked_write (tdep->ppc_vr0_regnum + 2, writebuf);
 	}
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
@@ -935,25 +904,17 @@ do_ppc_sysv_return_value (struct gdbarch
 	 ABI risks in that case; we don't try to support it.  */
       if (readbuf)
 	{
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 3,
-				readbuf + 0);
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 4,
-				readbuf + 4);
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 5,
-				readbuf + 8);
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 6,
-				readbuf + 12);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 3, readbuf + 0);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 4, readbuf + 4);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 5, readbuf + 8);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 6, readbuf + 12);
 	}
       if (writebuf)
 	{
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 3,
-				 writebuf + 0);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 4,
-				 writebuf + 4);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 5,
-				 writebuf + 8);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 6,
-				 writebuf + 12);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 3, writebuf + 0);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 4, writebuf + 4);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 5, writebuf + 8);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 6, writebuf + 12);
 	}
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
@@ -968,9 +929,9 @@ do_ppc_sysv_return_value (struct gdbarch
 	 only corresponds to the least significant 32-bits.  So place
 	 the 64-bit DSP type's value in ev3.  */
       if (readbuf)
-	regcache_cooked_read (regcache, tdep->ppc_ev0_regnum + 3, readbuf);
+	regcache->cooked_read (tdep->ppc_ev0_regnum + 3, readbuf);
       if (writebuf)
-	regcache_cooked_write (regcache, tdep->ppc_ev0_regnum + 3, writebuf);
+	regcache->cooked_write (tdep->ppc_ev0_regnum + 3, writebuf);
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
   if (broken_gcc && TYPE_LENGTH (type) <= 8)
@@ -984,22 +945,22 @@ do_ppc_sysv_return_value (struct gdbarch
 
       if (readbuf)
 	{
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 3,
-				regvals + 0 * tdep->wordsize);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 3,
+				 regvals + 0 * tdep->wordsize);
 	  if (len > tdep->wordsize)
-	    regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 4,
-				  regvals + 1 * tdep->wordsize);
+	    regcache->cooked_read (tdep->ppc_gp0_regnum + 4,
+				   regvals + 1 * tdep->wordsize);
 	  memcpy (readbuf, regvals + offset, len);
 	}
       if (writebuf)
 	{
 	  memset (regvals, 0, sizeof regvals);
 	  memcpy (regvals + offset, writebuf, len);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 3,
-				 regvals + 0 * tdep->wordsize);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 3,
+				  regvals + 0 * tdep->wordsize);
 	  if (len > tdep->wordsize)
-	    regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 4,
-				   regvals + 1 * tdep->wordsize);
+	    regcache->cooked_write (tdep->ppc_gp0_regnum + 4,
+				    regvals + 1 * tdep->wordsize);
 	}
 
       return RETURN_VALUE_REGISTER_CONVENTION;
@@ -1012,11 +973,11 @@ do_ppc_sysv_return_value (struct gdbarch
 	  /* The value is right-padded to 8 bytes and then loaded, as
 	     two "words", into r3/r4.  */
 	  gdb_byte regvals[PPC_MAX_REGISTER_SIZE * 2];
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 3,
-				regvals + 0 * tdep->wordsize);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 3,
+				 regvals + 0 * tdep->wordsize);
 	  if (TYPE_LENGTH (type) > tdep->wordsize)
-	    regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 4,
-				  regvals + 1 * tdep->wordsize);
+	    regcache->cooked_read (tdep->ppc_gp0_regnum + 4,
+				   regvals + 1 * tdep->wordsize);
 	  memcpy (readbuf, regvals, TYPE_LENGTH (type));
 	}
       if (writebuf)
@@ -1027,11 +988,11 @@ do_ppc_sysv_return_value (struct gdbarch
 	  gdb_byte regvals[PPC_MAX_REGISTER_SIZE * 2];
 	  memset (regvals, 0, sizeof regvals);
 	  memcpy (regvals, writebuf, TYPE_LENGTH (type));
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 3,
-				 regvals + 0 * tdep->wordsize);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 3,
+				  regvals + 0 * tdep->wordsize);
 	  if (TYPE_LENGTH (type) > tdep->wordsize)
-	    regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 4,
-				   regvals + 1 * tdep->wordsize);
+	    regcache->cooked_write (tdep->ppc_gp0_regnum + 4,
+				    regvals + 1 * tdep->wordsize);
 	}
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
@@ -1315,8 +1276,8 @@ ppc64_sysv_abi_push_val (struct gdbarch 
   while (len >= tdep->wordsize)
     {
       if (argpos->regcache && argpos->greg <= 10)
-	regcache_cooked_write (argpos->regcache,
-			       tdep->ppc_gp0_regnum + argpos->greg, val);
+	argpos->regcache->cooked_write (tdep->ppc_gp0_regnum + argpos->greg,
+					val);
       argpos->greg++;
       len -= tdep->wordsize;
       val += tdep->wordsize;
@@ -1325,9 +1286,8 @@ ppc64_sysv_abi_push_val (struct gdbarch 
   if (len > 0)
     {
       if (argpos->regcache && argpos->greg <= 10)
-	regcache_cooked_write_part (argpos->regcache,
-				    tdep->ppc_gp0_regnum + argpos->greg,
-				    offset, len, val);
+	argpos->regcache->cooked_write_part
+	  (tdep->ppc_gp0_regnum + argpos->greg, offset, len, val);
       argpos->greg++;
     }
 }
@@ -1373,7 +1333,7 @@ ppc64_sysv_abi_push_freg (struct gdbarch
 	  gdb_byte regval[PPC_MAX_REGISTER_SIZE];
 
 	  target_float_convert (val, type, regval, regtype);
-	  regcache_cooked_write (argpos->regcache, regnum, regval);
+	  argpos->regcache->cooked_write (regnum, regval);
 	}
 
       argpos->freg++;
@@ -1391,8 +1351,8 @@ ppc64_sysv_abi_push_freg (struct gdbarch
 	  if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
 	    offset = 8 - TYPE_LENGTH (type);
 
-	  regcache_cooked_write_part (argpos->regcache, regnum,
-				      offset, TYPE_LENGTH (type), val);
+	  argpos->regcache->cooked_write_part (regnum, offset,
+					       TYPE_LENGTH (type), val);
 	}
 
       argpos->freg++;
@@ -1407,9 +1367,9 @@ ppc64_sysv_abi_push_freg (struct gdbarch
 	{
 	  int regnum = tdep->ppc_fp0_regnum + argpos->freg;
 
-	  regcache_cooked_write (argpos->regcache, regnum, val);
+	  argpos->regcache->cooked_write (regnum, val);
 	  if (argpos->freg <= 12)
-	    regcache_cooked_write (argpos->regcache, regnum + 1, val + 8);
+	    argpos->regcache->cooked_write (regnum + 1, val + 8);
 	}
 
       argpos->freg += 2;
@@ -1427,8 +1387,8 @@ ppc64_sysv_abi_push_freg (struct gdbarch
 	  int lopart = gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG ? 8 : 0;
 	  int hipart = gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG ? 0 : 8;
 
-	  regcache_cooked_write (argpos->regcache, regnum, val + hipart);
-	  regcache_cooked_write (argpos->regcache, regnum + 1, val + lopart);
+	  argpos->regcache->cooked_write (regnum, val + hipart);
+	  argpos->regcache->cooked_write (regnum + 1, val + lopart);
 	}
 
       argpos->freg += 2;
@@ -1445,8 +1405,7 @@ ppc64_sysv_abi_push_vreg (struct gdbarch
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
   if (argpos->regcache && argpos->vreg <= 13)
-    regcache_cooked_write (argpos->regcache,
-			   tdep->ppc_vr0_regnum + argpos->vreg, val);
+    argpos->regcache->cooked_write (tdep->ppc_vr0_regnum + argpos->vreg, val);
 
   argpos->vreg++;
 }
@@ -1820,11 +1779,11 @@ ppc64_sysv_abi_return_value_base (struct
       if (writebuf != NULL)
 	{
 	  target_float_convert (writebuf, valtype, regval, regtype);
-	  regcache_cooked_write (regcache, regnum, regval);
+	  regcache->cooked_write (regnum, regval);
 	}
       if (readbuf != NULL)
 	{
-	  regcache_cooked_read (regcache, regnum, regval);
+	  regcache->cooked_read (regnum, regval);
 	  target_float_convert (regval, regtype, readbuf, valtype);
 	}
       return 1;
@@ -1842,11 +1801,11 @@ ppc64_sysv_abi_return_value_base (struct
 	offset = 8 - TYPE_LENGTH (valtype);
 
       if (writebuf != NULL)
-	regcache_cooked_write_part (regcache, regnum,
-				    offset, TYPE_LENGTH (valtype), writebuf);
+	regcache->cooked_write_part (regnum, offset, TYPE_LENGTH (valtype),
+				     writebuf);
       if (readbuf != NULL)
-	regcache_cooked_read_part (regcache, regnum,
-				   offset, TYPE_LENGTH (valtype), readbuf);
+	regcache->cooked_read_part (regnum, offset, TYPE_LENGTH (valtype),
+				    readbuf);
       return 1;
     }
 
@@ -1860,13 +1819,13 @@ ppc64_sysv_abi_return_value_base (struct
 
       if (writebuf != NULL)
 	{
-	  regcache_cooked_write (regcache, regnum, writebuf);
-	  regcache_cooked_write (regcache, regnum + 1, writebuf + 8);
+	  regcache->cooked_write (regnum, writebuf);
+	  regcache->cooked_write (regnum + 1, writebuf + 8);
 	}
       if (readbuf != NULL)
 	{
-	  regcache_cooked_read (regcache, regnum, readbuf);
-	  regcache_cooked_read (regcache, regnum + 1, readbuf + 8);
+	  regcache->cooked_read (regnum, readbuf);
+	  regcache->cooked_read (regnum + 1, readbuf + 8);
 	}
       return 1;
     }
@@ -1882,13 +1841,13 @@ ppc64_sysv_abi_return_value_base (struct
 
       if (writebuf != NULL)
 	{
-	  regcache_cooked_write (regcache, regnum, writebuf + hipart);
-	  regcache_cooked_write (regcache, regnum + 1, writebuf + lopart);
+	  regcache->cooked_write (regnum, writebuf + hipart);
+	  regcache->cooked_write (regnum + 1, writebuf + lopart);
 	}
       if (readbuf != NULL)
 	{
-	  regcache_cooked_read (regcache, regnum, readbuf + hipart);
-	  regcache_cooked_read (regcache, regnum + 1, readbuf + lopart);
+	  regcache->cooked_read (regnum, readbuf + hipart);
+	  regcache->cooked_read (regnum + 1, readbuf + lopart);
 	}
       return 1;
     }
@@ -1901,9 +1860,9 @@ ppc64_sysv_abi_return_value_base (struct
       int regnum = tdep->ppc_vr0_regnum + 2 + index;
 
       if (writebuf != NULL)
-	regcache_cooked_write (regcache, regnum, writebuf);
+	regcache->cooked_write (regnum, writebuf);
       if (readbuf != NULL)
-	regcache_cooked_read (regcache, regnum, readbuf);
+	regcache->cooked_read (regnum, readbuf);
       return 1;
     }
 
@@ -1918,11 +1877,11 @@ ppc64_sysv_abi_return_value_base (struct
 	offset = 8 - TYPE_LENGTH (valtype);
 
       if (writebuf != NULL)
-	regcache_cooked_write_part (regcache, regnum,
-				    offset, TYPE_LENGTH (valtype), writebuf);
+	regcache->cooked_write_part (regnum, offset, TYPE_LENGTH (valtype),
+				     writebuf);
       if (readbuf != NULL)
-	regcache_cooked_read_part (regcache, regnum,
-				   offset, TYPE_LENGTH (valtype), readbuf);
+	regcache->cooked_read_part (regnum, offset, TYPE_LENGTH (valtype),
+				    readbuf);
       return 1;
     }
 
@@ -2006,9 +1965,9 @@ ppc64_sysv_abi_return_value (struct gdba
       int regnum = tdep->ppc_gp0_regnum + 3;
 
       if (writebuf != NULL)
-	regcache_cooked_write (regcache, regnum, writebuf);
+	regcache->cooked_write (regnum, writebuf);
       if (readbuf != NULL)
-	regcache_cooked_read (regcache, regnum, readbuf);
+	regcache->cooked_read (regnum, readbuf);
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
 
@@ -2023,11 +1982,11 @@ ppc64_sysv_abi_return_value (struct gdba
       int offset = (register_size (gdbarch, regnum) - TYPE_LENGTH (valtype));
 
       if (writebuf != NULL)
-	regcache_cooked_write_part (regcache, regnum,
-				    offset, TYPE_LENGTH (valtype), writebuf);
+	regcache->cooked_write_part (regnum, offset, TYPE_LENGTH (valtype),
+				     writebuf);
       if (readbuf != NULL)
-	regcache_cooked_read_part (regcache, regnum,
-				   offset, TYPE_LENGTH (valtype), readbuf);
+	regcache->cooked_read_part (regnum, offset, TYPE_LENGTH (valtype),
+				    readbuf);
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
 
@@ -2088,11 +2047,11 @@ ppc64_sysv_abi_return_value (struct gdba
 		memcpy (regval + tdep->wordsize - len, writebuf, len);
 	      else
 		memcpy (regval, writebuf + offset, len);
-	      regcache_cooked_write (regcache, regnum, regval);
+	      regcache->cooked_write (regnum, regval);
 	    }
 	  if (readbuf != NULL)
 	    {
-	      regcache_cooked_read (regcache, regnum, regval);
+	      regcache->cooked_read (regnum, regval);
 	      if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG
 		  && offset == 0)
 		memcpy (readbuf, regval + tdep->wordsize - len, len);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-tdep.h ./gdb/ppc-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ppc-tdep.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ppc-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -100,11 +100,6 @@ struct ppc_reg_offsets
   int f0_offset;
   int fpscr_offset;
   int fpscr_size;
-
-  /* AltiVec registers.  */
-  int vr0_offset;
-  int vscr_offset;
-  int vrsave_offset;
 };
 
 extern void ppc_supply_reg (struct regcache *regcache, int regnum,
@@ -330,7 +325,7 @@ struct ppc_insn_pattern
 };
 
 extern int ppc_insns_match_pattern (struct frame_info *frame, CORE_ADDR pc,
-				    struct ppc_insn_pattern *pattern,
+				    const struct ppc_insn_pattern *pattern,
 				    unsigned int *insns);
 extern CORE_ADDR ppc_insn_d_field (unsigned int insn);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/printcmd.c ./gdb/printcmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/printcmd.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/printcmd.c	2018-07-10 02:06:13.000000000 +0000
@@ -39,7 +39,7 @@
 #include "block.h"
 #include "disasm.h"
 #include "target-float.h"
-#include "observer.h"
+#include "observable.h"
 #include "solist.h"
 #include "parser-defs.h"
 #include "charset.h"
@@ -50,10 +50,6 @@
 #include "source.h"
 #include "common/byte-vector.h"
 
-#ifdef TUI
-#include "tui/tui.h"		/* For tui_active et al.   */
-#endif
-
 /* Last specified output format.  */
 
 static char last_format = 0;
@@ -62,6 +58,10 @@ static char last_format = 0;
 
 static char last_size = 'w';
 
+/* Last specified count for the 'x' command.  */
+
+static int last_count;
+
 /* Default address to examine next, and associated architecture.  */
 
 static struct gdbarch *next_gdbarch;
@@ -78,7 +78,7 @@ static CORE_ADDR last_examine_address;
 /* Contents of last address examined.
    This is not valid past the end of the `x' command!  */
 
-static struct value *last_examine_value;
+static value_ref_ptr last_examine_value;
 
 /* Largest offset between a symbolic value and an address, that will be
    printed as `0x1234 <symbol+offset>'.  */
@@ -211,9 +211,7 @@ decode_format (const char **string_ptr, 
 	break;
     }
 
-  while (*p == ' ' || *p == '\t')
-    p++;
-  *string_ptr = p;
+  *string_ptr = skip_spaces (p);
 
   /* Set defaults for format and size if not specified.  */
   if (val.format == '?')
@@ -522,63 +520,50 @@ print_address_symbolic (struct gdbarch *
 			struct ui_file *stream,
 			int do_demangle, const char *leadin)
 {
-  char *name = NULL;
-  char *filename = NULL;
+  std::string name, filename;
   int unmapped = 0;
   int offset = 0;
   int line = 0;
 
-  /* Throw away both name and filename.  */
-  struct cleanup *cleanup_chain = make_cleanup (free_current_contents, &name);
-  make_cleanup (free_current_contents, &filename);
-
   if (build_address_symbolic (gdbarch, addr, do_demangle, &name, &offset,
 			      &filename, &line, &unmapped))
-    {
-      do_cleanups (cleanup_chain);
-      return 0;
-    }
+    return 0;
 
   fputs_filtered (leadin, stream);
   if (unmapped)
     fputs_filtered ("<*", stream);
   else
     fputs_filtered ("<", stream);
-  fputs_filtered (name, stream);
+  fputs_filtered (name.c_str (), stream);
   if (offset != 0)
     fprintf_filtered (stream, "+%u", (unsigned int) offset);
 
   /* Append source filename and line number if desired.  Give specific
      line # of this addr, if we have it; else line # of the nearest symbol.  */
-  if (print_symbol_filename && filename != NULL)
+  if (print_symbol_filename && !filename.empty ())
     {
       if (line != -1)
-	fprintf_filtered (stream, " at %s:%d", filename, line);
+	fprintf_filtered (stream, " at %s:%d", filename.c_str (), line);
       else
-	fprintf_filtered (stream, " in %s", filename);
+	fprintf_filtered (stream, " in %s", filename.c_str ());
     }
   if (unmapped)
     fputs_filtered ("*>", stream);
   else
     fputs_filtered (">", stream);
 
-  do_cleanups (cleanup_chain);
   return 1;
 }
 
-/* Given an address ADDR return all the elements needed to print the
-   address in a symbolic form.  NAME can be mangled or not depending
-   on DO_DEMANGLE (and also on the asm_demangle global variable,
-   manipulated via ''set print asm-demangle'').  Return 0 in case of
-   success, when all the info in the OUT paramters is valid.  Return 1
-   otherwise.  */
+/* See valprint.h.  */
+
 int
 build_address_symbolic (struct gdbarch *gdbarch,
 			CORE_ADDR addr,  /* IN */
 			int do_demangle, /* IN */
-			char **name,     /* OUT */
+			std::string *name, /* OUT */
 			int *offset,     /* OUT */
-			char **filename, /* OUT */
+			std::string *filename, /* OUT */
 			int *line,       /* OUT */
 			int *unmapped)   /* OUT */
 {
@@ -680,7 +665,7 @@ build_address_symbolic (struct gdbarch *
 
   *offset = addr - name_location;
 
-  *name = xstrdup (name_temp);
+  *name = name_temp;
 
   if (print_symbol_filename)
     {
@@ -690,7 +675,7 @@ build_address_symbolic (struct gdbarch *
 
       if (sal.symtab)
 	{
-	  *filename = xstrdup (symtab_to_filename_for_display (sal.symtab));
+	  *filename = symtab_to_filename_for_display (sal.symtab);
 	  *line = sal.line;
 	}
     }
@@ -1093,9 +1078,6 @@ do_examine (struct format_data fmt, stru
 	     object.  */
 	  last_examine_address = next_address;
 
-	  if (last_examine_value)
-	    value_free (last_examine_value);
-
 	  /* The value to be displayed is not fetched greedily.
 	     Instead, to avoid the possibility of a fetched value not
 	     being used, its retrieval is delayed until the print code
@@ -1105,12 +1087,10 @@ do_examine (struct format_data fmt, stru
 	     the disassembler be modified so that LAST_EXAMINE_VALUE
 	     is left with the byte sequence from the last complete
 	     instruction fetched from memory?  */
-	  last_examine_value = value_at_lazy (val_type, next_address);
+	  last_examine_value
+	    = release_value (value_at_lazy (val_type, next_address));
 
-	  if (last_examine_value)
-	    release_value (last_examine_value);
-
-	  print_formatted (last_examine_value, size, &opts, gdb_stdout);
+	  print_formatted (last_examine_value.get (), size, &opts, gdb_stdout);
 
 	  /* Display any branch delay slots following the final insn.  */
 	  if (format == 'i' && count == 1)
@@ -1228,16 +1208,8 @@ call_command (const char *exp, int from_
 
 /* Implementation of the "output" command.  */
 
-static void
-output_command (const char *exp, int from_tty)
-{
-  output_command_const (exp, from_tty);
-}
-
-/* Like output_command, but takes a const string as argument.  */
-
 void
-output_command_const (const char *exp, int from_tty)
+output_command (const char *exp, int from_tty)
 {
   char format = 0;
   struct value *val;
@@ -1564,7 +1536,7 @@ info_address_command (const char *exp, i
       {
 	struct bound_minimal_symbol msym;
 
-	msym = lookup_minimal_symbol_and_objfile (SYMBOL_LINKAGE_NAME (sym));
+	msym = lookup_bound_minimal_symbol (SYMBOL_LINKAGE_NAME (sym));
 	if (msym.minsym == NULL)
 	  printf_filtered ("unresolved");
 	else
@@ -1621,6 +1593,11 @@ x_command (const char *exp, int from_tty
   fmt.count = 1;
   fmt.raw = 0;
 
+  /* If there is no expression and no format, use the most recent
+     count.  */
+  if (exp == nullptr && last_count > 0)
+    fmt.count = last_count;
+
   if (exp && *exp == '/')
     {
       const char *tmp = exp + 1;
@@ -1629,6 +1606,8 @@ x_command (const char *exp, int from_tty
       exp = (char *) tmp;
     }
 
+  last_count = fmt.count;
+
   /* If we have an expression, evaluate it and use it as the address.  */
 
   if (exp != 0 && *exp != 0)
@@ -1668,12 +1647,12 @@ x_command (const char *exp, int from_tty
   last_format = fmt.format;
 
   /* Set a couple of internal variables if appropriate.  */
-  if (last_examine_value)
+  if (last_examine_value != nullptr)
     {
       /* Make last address examined available to the user as $_.  Use
          the correct pointer type.  */
       struct type *pointer_type
-	= lookup_pointer_type (value_type (last_examine_value));
+	= lookup_pointer_type (value_type (last_examine_value.get ()));
       set_internalvar (lookup_internalvar ("_"),
 		       value_from_pointer (pointer_type,
 					   last_examine_address));
@@ -1682,10 +1661,10 @@ x_command (const char *exp, int from_tty
 	 as $__.  If the last value has not been fetched from memory
 	 then don't fetch it now; instead mark it by voiding the $__
 	 variable.  */
-      if (value_lazy (last_examine_value))
+      if (value_lazy (last_examine_value.get ()))
 	clear_internalvar (lookup_internalvar ("__"));
       else
-	set_internalvar (lookup_internalvar ("__"), last_examine_value);
+	set_internalvar (lookup_internalvar ("__"), last_examine_value.get ());
     }
 }
 
@@ -1723,14 +1702,14 @@ display_command (const char *arg, int fr
       fmt.raw = 0;
     }
 
-  innermost_block = NULL;
+  innermost_block.reset ();
   expression_up expr = parse_expression (exp);
 
   newobj = new display ();
 
   newobj->exp_string = xstrdup (exp);
   newobj->exp = std::move (expr);
-  newobj->block = innermost_block;
+  newobj->block = innermost_block.block ();
   newobj->pspace = current_program_space;
   newobj->number = ++display_number;
   newobj->format = fmt;
@@ -1891,9 +1870,9 @@ do_one_display (struct display *d)
 
       TRY
 	{
-	  innermost_block = NULL;
+	  innermost_block.reset ();
 	  d->exp = parse_expression (d->exp_string);
-	  d->block = innermost_block;
+	  d->block = innermost_block.block ();
 	}
       CATCH (ex, RETURN_MASK_ALL)
 	{
@@ -2220,6 +2199,11 @@ printf_c_string (struct ui_file *stream,
   int j;
 
   tem = value_as_address (value);
+  if (tem == 0)
+    {
+      fprintf_filtered (stream, format, "(null)");
+      return;
+    }
 
   /* This is a %s argument.  Find the length of the string.  */
   for (j = 0;; j++)
@@ -2260,6 +2244,11 @@ printf_wide_c_string (struct ui_file *st
   gdb_byte *buf = (gdb_byte *) alloca (wcwidth);
 
   tem = value_as_address (value);
+  if (tem == 0)
+    {
+      fprintf_filtered (stream, format, "(null)");
+      return;
+    }
 
   /* This is a %s argument.  Find the length of the string.  */
   for (j = 0;; j += wcwidth)
@@ -2399,8 +2388,9 @@ printf_pointer (struct ui_file *stream, 
   if (val != 0)
     *fmt_p++ = '#';
 
-  /* Copy any width.  */
-  while (*p >= '0' && *p < '9')
+  /* Copy any width or flags.  Only the "-" flag is valid for pointers
+     -- see the format_pieces constructor.  */
+  while (*p == '-' || (*p >= '0' && *p < '9'))
     *fmt_p++ = *p++;
 
   gdb_assert (*p == 'p' && *(p + 1) == '\0');
@@ -2612,7 +2602,7 @@ _initialize_printcmd (void)
 
   current_display_number = -1;
 
-  observer_attach_free_objfile (clear_dangling_display_expressions);
+  gdb::observers::free_objfile.attach (clear_dangling_display_expressions);
 
   add_info ("address", info_address_command,
 	    _("Describe where symbol SYM is stored."));
@@ -2680,8 +2670,9 @@ No argument means cancel all automatic-d
 Do \"info display\" to see current list of code numbers."), &deletelist);
 
   add_com ("printf", class_vars, printf_command, _("\
-printf \"printf format string\", arg1, arg2, arg3, ..., argn\n\
-This is useful for formatted output in user-defined commands."));
+Formatted printing, like the C \"printf\" function.\n\
+Usage: printf \"format string\", arg1, arg2, arg3, ..., argn\n\
+This supports most C printf format specifications, like %s, %d, etc."));
 
   add_com ("output", class_vars, output_command, _("\
 Like \"print\" but don't put in value history and don't print newline.\n\
@@ -2725,6 +2716,7 @@ with $), a register (a few standard name
 variable in the program being debugged.  EXP is any valid expression.\n\
 This may usually be abbreviated to simply \"set\"."),
 	   &setlist);
+  add_alias_cmd ("var", "variable", class_vars, 0, &setlist);
 
   c = add_com ("print", class_vars, print_command, _("\
 Print value of expression EXP.\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.1.0.20180703/gdb/PROBLEMS ./gdb/PROBLEMS
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/PROBLEMS	2018-07-03 02:06:28.000000000 +0000
+++ ./gdb/PROBLEMS	2018-07-10 02:06:12.000000000 +0000
@@ -1,5 +1,5 @@
 
-			Known problems in GDB 8.1.0.DATE-git
+			Known problems in GDB 8.1.90.DATE-git
 
 		See also: http://www.gnu.org/software/gdb/bugs/
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/proc-events.c ./gdb/proc-events.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/proc-events.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/proc-events.c	2018-07-10 02:06:13.000000000 +0000
@@ -493,7 +493,9 @@ init_syscall_table (void)
   syscall_table[SYS_utssys] = "utssys";
   syscall_table[SYS_uucopy] = "uucopy";
   syscall_table[SYS_uucopystr] = "uucopystr";
+#ifdef SYS_uuidsys
   syscall_table[SYS_uuidsys] = "uuidsys";
+#endif
 #ifdef SYS_va_mask
   syscall_table[SYS_va_mask] = "va_mask";
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/procfs.c ./gdb/procfs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/procfs.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/procfs.c	2018-07-10 02:06:13.000000000 +0000
@@ -45,7 +45,8 @@
 #include "inflow.h"
 #include "auxv.h"
 #include "procfs.h"
-#include "observer.h"
+#include "observable.h"
+#include "common/scoped_fd.h"
 
 /* This module provides the interface between GDB and the
    /proc file system, which is used on many versions of Unix
@@ -85,54 +86,88 @@
 
 /* This module defines the GDB target vector and its methods.  */
 
-static void procfs_attach (struct target_ops *, const char *, int);
-static void procfs_detach (struct target_ops *, const char *, int);
-static void procfs_resume (struct target_ops *,
-			   ptid_t, int, enum gdb_signal);
-static void procfs_interrupt (struct target_ops *self, ptid_t);
-static void procfs_files_info (struct target_ops *);
-static void procfs_fetch_registers (struct target_ops *,
-				    struct regcache *, int);
-static void procfs_store_registers (struct target_ops *,
-				    struct regcache *, int);
-static void procfs_pass_signals (struct target_ops *self,
-				 int, unsigned char *);
-static void procfs_kill_inferior (struct target_ops *ops);
-static void procfs_mourn_inferior (struct target_ops *ops);
-static void procfs_create_inferior (struct target_ops *, const char *,
-				    const std::string &, char **, int);
-static ptid_t procfs_wait (struct target_ops *,
-			   ptid_t, struct target_waitstatus *, int);
+
 static enum target_xfer_status procfs_xfer_memory (gdb_byte *,
 						   const gdb_byte *,
 						   ULONGEST, ULONGEST,
 						   ULONGEST *);
-static target_xfer_partial_ftype procfs_xfer_partial;
 
-static int procfs_thread_alive (struct target_ops *ops, ptid_t);
+class procfs_target final : public inf_child_target
+{
+public:
+  void create_inferior (const char *, const std::string &,
+			char **, int) override;
+
+  void kill () override;
+
+  void mourn_inferior () override;
+
+  void attach (const char *, int) override;
+  void detach (inferior *inf, int) override;
+
+  void resume (ptid_t, int, enum gdb_signal) override;
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
 
-static void procfs_update_thread_list (struct target_ops *ops);
-static const char *procfs_pid_to_str (struct target_ops *, ptid_t);
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
 
-static int proc_find_memory_regions (struct target_ops *self,
-				     find_memory_region_ftype, void *);
+  void pass_signals (int, unsigned char *) override;
 
-static char *procfs_make_note_section (struct target_ops *self,
-				       bfd *, int *);
+  void files_info () override;
 
-static int procfs_can_use_hw_breakpoint (struct target_ops *self,
-					 enum bptype, int, int);
+  void update_thread_list () override;
 
-static void procfs_info_proc (struct target_ops *, const char *,
-			      enum info_proc_what);
+  bool thread_alive (ptid_t ptid) override;
+
+  const char *pid_to_str (ptid_t) override;
+
+  thread_control_capabilities get_thread_control_capabilities () override
+  { return tc_schedlock; }
+
+  /* find_memory_regions support method for gcore */
+  int find_memory_regions (find_memory_region_ftype func, void *data)
+    override;
+
+  char *make_corefile_notes (bfd *, int *) override;
+
+  bool info_proc (const char *, enum info_proc_what) override;
+
+#if defined(PR_MODEL_NATIVE) && (PR_MODEL_NATIVE == PR_MODEL_LP64)
+  int auxv_parse (gdb_byte **readptr,
+		  gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
+    override;
+#endif
+
+  bool stopped_by_watchpoint () override;
+
+  int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+
+  int remove_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+
+  int region_ok_for_hw_watchpoint (CORE_ADDR, int) override;
+
+  int can_use_hw_breakpoint (enum bptype, int, int) override;
+  bool stopped_data_address (CORE_ADDR *) override;
+};
+
+static procfs_target the_procfs_target;
 
 #if defined (PR_MODEL_NATIVE) && (PR_MODEL_NATIVE == PR_MODEL_LP64)
 /* When GDB is built as 64-bit application on Solaris, the auxv data
    is presented in 64-bit format.  We need to provide a custom parser
    to handle that.  */
-static int
-procfs_auxv_parse (struct target_ops *ops, gdb_byte **readptr,
-		   gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
+int
+procfs_target::auxv_parse (gdb_byte **readptr,
+			   gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
   gdb_byte *ptr = *readptr;
@@ -155,43 +190,6 @@ procfs_auxv_parse (struct target_ops *op
 }
 #endif
 
-struct target_ops *
-procfs_target (void)
-{
-  struct target_ops *t = inf_child_target ();
-
-  t->to_create_inferior = procfs_create_inferior;
-  t->to_kill = procfs_kill_inferior;
-  t->to_mourn_inferior = procfs_mourn_inferior;
-  t->to_attach = procfs_attach;
-  t->to_detach = procfs_detach;
-  t->to_wait = procfs_wait;
-  t->to_resume = procfs_resume;
-  t->to_fetch_registers = procfs_fetch_registers;
-  t->to_store_registers = procfs_store_registers;
-  t->to_xfer_partial = procfs_xfer_partial;
-  t->to_pass_signals = procfs_pass_signals;
-  t->to_files_info = procfs_files_info;
-  t->to_interrupt = procfs_interrupt;
-
-  t->to_update_thread_list = procfs_update_thread_list;
-  t->to_thread_alive = procfs_thread_alive;
-  t->to_pid_to_str = procfs_pid_to_str;
-
-  t->to_has_thread_control = tc_schedlock;
-  t->to_find_memory_regions = proc_find_memory_regions;
-  t->to_make_corefile_notes = procfs_make_note_section;
-  t->to_info_proc = procfs_info_proc;
-
-#if defined(PR_MODEL_NATIVE) && (PR_MODEL_NATIVE == PR_MODEL_LP64)
-  t->to_auxv_parse = procfs_auxv_parse;
-#endif
-
-  t->to_magic = OPS_MAGIC;
-
-  return t;
-}
-
 /* =================== END, TARGET_OPS "MODULE" =================== */
 
 /* World Unification:
@@ -1338,7 +1336,7 @@ proc_set_current_signal (procinfo *pi, i
 
   /* The pointer is just a type alias.  */
   get_last_target_status (&wait_ptid, &wait_status);
-  if (ptid_equal (wait_ptid, inferior_ptid)
+  if (wait_ptid == inferior_ptid
       && wait_status.kind == TARGET_WAITKIND_STOPPED
       && wait_status.value.sig == gdb_signal_from_host (signo)
       && proc_get_status (pi)
@@ -1595,8 +1593,6 @@ proc_get_LDT_entry (procinfo *pi, int ke
 {
   static struct ssd *ldt_entry = NULL;
   char pathname[MAX_PROC_NAME_SIZE];
-  struct cleanup *old_chain = NULL;
-  int  fd;
 
   /* Allocate space for one LDT entry.
      This alloc must persist, because we return a pointer to it.  */
@@ -1605,16 +1601,16 @@ proc_get_LDT_entry (procinfo *pi, int ke
 
   /* Open the file descriptor for the LDT table.  */
   sprintf (pathname, "/proc/%d/ldt", pi->pid);
-  if ((fd = open_with_retry (pathname, O_RDONLY)) < 0)
+  scoped_fd fd (open_with_retry (pathname, O_RDONLY));
+  if (fd.get () < 0)
     {
       proc_warn (pi, "proc_get_LDT_entry (open)", __LINE__);
       return NULL;
     }
-  /* Make sure it gets closed again!  */
-  old_chain = make_cleanup_close (fd);
 
   /* Now 'read' thru the table, find a match and return it.  */
-  while (read (fd, ldt_entry, sizeof (struct ssd)) == sizeof (struct ssd))
+  while (read (fd.get (), ldt_entry, sizeof (struct ssd))
+	 == sizeof (struct ssd))
     {
       if (ldt_entry->sel == 0 &&
 	  ldt_entry->bo  == 0 &&
@@ -1623,13 +1619,9 @@ proc_get_LDT_entry (procinfo *pi, int ke
 	break;	/* end of table */
       /* If key matches, return this entry.  */
       if (ldt_entry->sel == key)
-	{
-	  do_cleanups (old_chain);
-	  return ldt_entry;
-	}
+	return ldt_entry;
     }
   /* Loop ended, match not found.  */
-  do_cleanups (old_chain);
   return NULL;
 }
 
@@ -1643,17 +1635,17 @@ procfs_find_LDT_entry (ptid_t ptid)
   procinfo      *pi;
 
   /* Find procinfo for the lwp.  */
-  if ((pi = find_procinfo (ptid_get_pid (ptid), ptid_get_lwp (ptid))) == NULL)
+  if ((pi = find_procinfo (ptid.pid (), ptid.lwp ())) == NULL)
     {
       warning (_("procfs_find_LDT_entry: could not find procinfo for %d:%ld."),
-	       ptid_get_pid (ptid), ptid_get_lwp (ptid));
+	       ptid.pid (), ptid.lwp ());
       return NULL;
     }
   /* get its general registers.  */
   if ((gregs = proc_get_gregs (pi)) == NULL)
     {
       warning (_("procfs_find_LDT_entry: could not read gregs for %d:%ld."),
-	       ptid_get_pid (ptid), ptid_get_lwp (ptid));
+	       ptid.pid (), ptid.lwp ());
       return NULL;
     }
   /* Now extract the GS register's lower 16 bits.  */
@@ -1730,20 +1722,13 @@ proc_delete_dead_threads (procinfo *pare
   return 0;	/* keep iterating */
 }
 
-static void
-do_closedir_cleanup (void *dir)
-{
-  closedir ((DIR *) dir);
-}
-
 static int
 proc_update_threads (procinfo *pi)
 {
   char pathname[MAX_PROC_NAME_SIZE + 16];
   struct dirent *direntry;
-  struct cleanup *old_chain = NULL;
   procinfo *thread;
-  DIR *dirp;
+  gdb_dir_up dirp;
   int lwpid;
 
   /* We should never have to apply this operation to any procinfo
@@ -1764,11 +1749,11 @@ proc_update_threads (procinfo *pi)
 
   strcpy (pathname, pi->pathname);
   strcat (pathname, "/lwp");
-  if ((dirp = opendir (pathname)) == NULL)
+  dirp.reset (opendir (pathname));
+  if (dirp == NULL)
     proc_error (pi, "update_threads, opendir", __LINE__);
 
-  old_chain = make_cleanup (do_closedir_cleanup, dirp);
-  while ((direntry = readdir (dirp)) != NULL)
+  while ((direntry = readdir (dirp.get ())) != NULL)
     if (direntry->d_name[0] != '.')		/* skip '.' and '..' */
       {
 	lwpid = atoi (&direntry->d_name[0]);
@@ -1776,7 +1761,6 @@ proc_update_threads (procinfo *pi)
 	  proc_error (pi, "update_threads, create_procinfo", __LINE__);
       }
   pi->threads_valid = 1;
-  do_cleanups (old_chain);
   return 1;
 }
 
@@ -1829,7 +1813,7 @@ proc_iterate_over_threads (procinfo *pi,
    friends.  */
 
 static ptid_t do_attach (ptid_t ptid);
-static void do_detach (int signo);
+static void do_detach ();
 static void proc_trace_syscalls_1 (procinfo *pi, int syscallnum,
 				   int entry_or_exit, int mode, int from_tty);
 
@@ -1894,8 +1878,8 @@ procfs_debug_inferior (procinfo *pi)
   return 0;
 }
 
-static void
-procfs_attach (struct target_ops *ops, const char *args, int from_tty)
+void
+procfs_target::attach (const char *args, int from_tty)
 {
   char *exec_file;
   int   pid;
@@ -1911,26 +1895,22 @@ procfs_attach (struct target_ops *ops, c
 
       if (exec_file)
 	printf_filtered (_("Attaching to program `%s', %s\n"),
-			 exec_file, target_pid_to_str (pid_to_ptid (pid)));
+			 exec_file, target_pid_to_str (ptid_t (pid)));
       else
 	printf_filtered (_("Attaching to %s\n"),
-			 target_pid_to_str (pid_to_ptid (pid)));
+			 target_pid_to_str (ptid_t (pid)));
 
       fflush (stdout);
     }
-  inferior_ptid = do_attach (pid_to_ptid (pid));
-  if (!target_is_pushed (ops))
-    push_target (ops);
+  inferior_ptid = do_attach (ptid_t (pid));
+  if (!target_is_pushed (this))
+    push_target (this);
 }
 
-static void
-procfs_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+procfs_target::detach (inferior *inf, int from_tty)
 {
-  int sig = 0;
-  int pid = ptid_get_pid (inferior_ptid);
-
-  if (args)
-    sig = atoi (args);
+  int pid = inferior_ptid.pid ();
 
   if (from_tty)
     {
@@ -1941,15 +1921,15 @@ procfs_detach (struct target_ops *ops, c
 	exec_file = "";
 
       printf_filtered (_("Detaching from program: %s, %s\n"), exec_file,
-		       target_pid_to_str (pid_to_ptid (pid)));
+		       target_pid_to_str (ptid_t (pid)));
       gdb_flush (gdb_stdout);
     }
 
-  do_detach (sig);
+  do_detach ();
 
   inferior_ptid = null_ptid;
-  detach_inferior (pid);
-  inf_child_maybe_unpush_target (ops);
+  detach_inferior (inf);
+  maybe_unpush_target ();
 }
 
 static ptid_t
@@ -1960,14 +1940,14 @@ do_attach (ptid_t ptid)
   int fail;
   int lwpid;
 
-  if ((pi = create_procinfo (ptid_get_pid (ptid), 0)) == NULL)
+  if ((pi = create_procinfo (ptid.pid (), 0)) == NULL)
     perror (_("procfs: out of memory in 'attach'"));
 
   if (!open_procinfo_files (pi, FD_CTL))
     {
       fprintf_filtered (gdb_stderr, "procfs:%d -- ", __LINE__);
       sprintf (errmsg, "do_attach: couldn't open /proc file for process %d",
-	       ptid_get_pid (ptid));
+	       ptid.pid ());
       dead_procinfo (pi, errmsg, NOKILL);
     }
 
@@ -2016,23 +1996,20 @@ do_attach (ptid_t ptid)
   create_procinfo (pi->pid, lwpid);
 
   /* Add it to gdb's thread list.  */
-  ptid = ptid_build (pi->pid, lwpid, 0);
+  ptid = ptid_t (pi->pid, lwpid, 0);
   add_thread (ptid);
 
   return ptid;
 }
 
 static void
-do_detach (int signo)
+do_detach ()
 {
   procinfo *pi;
 
   /* Find procinfo for the main process.  */
-  pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid),
+  pi = find_procinfo_or_die (inferior_ptid.pid (),
 			     0); /* FIXME: threads */
-  if (signo)
-    if (!proc_set_current_signal (pi, signo))
-      proc_warn (pi, "do_detach, set_current_signal", __LINE__);
 
   if (!proc_set_traced_signals (pi, &pi->saved_sigset))
     proc_warn (pi, "do_detach, set_traced_signal", __LINE__);
@@ -2049,15 +2026,15 @@ do_detach (int signo)
   if (!proc_set_held_signals (pi, &pi->saved_sighold))
     proc_warn (pi, "do_detach, set_held_signals", __LINE__);
 
-  if (signo || (proc_flags (pi) & (PR_STOPPED | PR_ISTOP)))
-    if (signo || !(pi->was_stopped) ||
-	query (_("Was stopped when attached, make it runnable again? ")))
+  if (proc_flags (pi) & (PR_STOPPED | PR_ISTOP))
+    if (!(pi->was_stopped)
+	|| query (_("Was stopped when attached, make it runnable again? ")))
       {
 	/* Clear any pending signal.  */
 	if (!proc_clear_current_fault (pi))
 	  proc_warn (pi, "do_detach, clear_current_fault", __LINE__);
 
-	if (signo == 0 && !proc_clear_current_signal (pi))
+	if (!proc_clear_current_signal (pi))
 	  proc_warn (pi, "do_detach, clear_current_signal", __LINE__);
 
 	if (!proc_set_run_on_last_close (pi))
@@ -2081,15 +2058,14 @@ do_detach (int signo)
    registers.  So we cache the results, and mark the cache invalid
    when the process is resumed.  */
 
-static void
-procfs_fetch_registers (struct target_ops *ops,
-			struct regcache *regcache, int regnum)
+void
+procfs_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   gdb_gregset_t *gregs;
   procinfo *pi;
-  ptid_t ptid = regcache_get_ptid (regcache);
-  int pid = ptid_get_pid (ptid);
-  int tid = ptid_get_lwp (ptid);
+  ptid_t ptid = regcache->ptid ();
+  int pid = ptid.pid ();
+  int tid = ptid.lwp ();
   struct gdbarch *gdbarch = regcache->arch ();
 
   pi = find_procinfo_or_die (pid, tid);
@@ -2131,15 +2107,14 @@ procfs_fetch_registers (struct target_op
    FIXME: is that a really bad idea?  Have to think about cases where
    writing one register might affect the value of others, etc.  */
 
-static void
-procfs_store_registers (struct target_ops *ops,
-			struct regcache *regcache, int regnum)
+void
+procfs_target::store_registers (struct regcache *regcache, int regnum)
 {
   gdb_gregset_t *gregs;
   procinfo *pi;
-  ptid_t ptid = regcache_get_ptid (regcache);
-  int pid = ptid_get_pid (ptid);
-  int tid = ptid_get_lwp (ptid);
+  ptid_t ptid = regcache->ptid ();
+  int pid = ptid.pid ();
+  int tid = ptid.lwp ();
   struct gdbarch *gdbarch = regcache->arch ();
 
   pi = find_procinfo_or_die (pid, tid);
@@ -2217,9 +2192,9 @@ syscall_is_lwp_create (procinfo *pi, int
    Returns the id of process (and possibly thread) that incurred the
    event.  Event codes are returned through a pointer parameter.  */
 
-static ptid_t
-procfs_wait (struct target_ops *ops,
-	     ptid_t ptid, struct target_waitstatus *status, int options)
+ptid_t
+procfs_target::wait (ptid_t ptid, struct target_waitstatus *status,
+		     int options)
 {
   /* First cut: loosely based on original version 2.1.  */
   procinfo *pi;
@@ -2233,10 +2208,10 @@ wait_again:
 
   retry++;
   wstat    = 0;
-  retval   = pid_to_ptid (-1);
+  retval   = ptid_t (-1);
 
   /* Find procinfo for main process.  */
-  pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid), 0);
+  pi = find_procinfo_or_die (inferior_ptid.pid (), 0);
   if (pi)
     {
       /* We must assume that the status is stale now...  */
@@ -2260,16 +2235,16 @@ wait_again:
 	      int wait_retval;
 
 	      /* /proc file not found; presumably child has terminated.  */
-	      wait_retval = wait (&wstat); /* "wait" for the child's exit.  */
+	      wait_retval = ::wait (&wstat); /* "wait" for the child's exit.  */
 
 	      /* Wrong child?  */
-	      if (wait_retval != ptid_get_pid (inferior_ptid))
+	      if (wait_retval != inferior_ptid.pid ())
 		error (_("procfs: couldn't stop "
 			 "process %d: wait returned %d."),
-		       ptid_get_pid (inferior_ptid), wait_retval);
+		       inferior_ptid.pid (), wait_retval);
 	      /* FIXME: might I not just use waitpid?
 		 Or try find_procinfo to see if I know about this child?  */
-	      retval = pid_to_ptid (wait_retval);
+	      retval = ptid_t (wait_retval);
 	    }
 	  else if (errno == EINTR)
 	    goto wait_again;
@@ -2308,7 +2283,7 @@ wait_again:
 
 	      /* The 'pid' we will return to GDB is composed of
 		 the process ID plus the lwp ID.  */
-	      retval = ptid_build (pi->pid, proc_get_current_thread (pi), 0);
+	      retval = ptid_t (pi->pid, proc_get_current_thread (pi), 0);
 
 	      switch (why) {
 	      case PR_SIGNALLED:
@@ -2320,7 +2295,7 @@ wait_again:
 		    if (print_thread_events)
 		      printf_unfiltered (_("[%s exited]\n"),
 					 target_pid_to_str (retval));
-		    delete_thread (retval);
+		    delete_thread (find_thread_ptid (retval));
 		    status->kind = TARGET_WAITKIND_SPURIOUS;
 		    return retval;
 		  }
@@ -2353,7 +2328,7 @@ wait_again:
 		      }
 		    else
 		      {
-			int temp = wait (&wstat);
+			int temp = ::wait (&wstat);
 
 			/* FIXME: shouldn't I make sure I get the right
 			   event from the right process?  If (for
@@ -2365,7 +2340,7 @@ wait_again:
 			/* If wait returns -1, that's what we return
 			   to GDB.  */
 			if (temp < 0)
-			  retval = pid_to_ptid (temp);
+			  retval = ptid_t (temp);
 		      }
 		  }
 		else
@@ -2425,7 +2400,7 @@ wait_again:
 		    if (!find_procinfo (pi->pid, temp_tid))
 		      create_procinfo  (pi->pid, temp_tid);
 
-		    temp_ptid = ptid_build (pi->pid, temp_tid, 0);
+		    temp_ptid = ptid_t (pi->pid, temp_tid, 0);
 		    /* If not in GDB's thread list, add it.  */
 		    if (!in_thread_list (temp_ptid))
 		      add_thread (temp_ptid);
@@ -2439,7 +2414,7 @@ wait_again:
 		    if (print_thread_events)
 		      printf_unfiltered (_("[%s exited]\n"),
 					 target_pid_to_str (retval));
-		    delete_thread (retval);
+		    delete_thread (find_thread_ptid (retval));
 		    status->kind = TARGET_WAITKIND_SPURIOUS;
 		    return retval;
 		  }
@@ -2493,7 +2468,7 @@ wait_again:
 		      create_procinfo  (pi->pid, temp_tid);
 
 		    /* If not in GDB's thread list, add it.  */
-		    temp_ptid = ptid_build (pi->pid, temp_tid, 0);
+		    temp_ptid = ptid_t (pi->pid, temp_tid, 0);
 		    if (!in_thread_list (temp_ptid))
 		      add_thread (temp_ptid);
 
@@ -2532,7 +2507,7 @@ wait_again:
 		case FLTPAGE:	/* Recoverable page fault */
 		default:	/* FIXME: use si_signo if possible for
 				   fault.  */
-		  retval = pid_to_ptid (-1);
+		  retval = ptid_t (-1);
 		  printf_filtered ("procfs:%d -- ", __LINE__);
 		  printf_filtered (_("child stopped for unknown reason:\n"));
 		  proc_prettyprint_why (why, what, 1);
@@ -2549,18 +2524,18 @@ wait_again:
 	      }
 	      /* Got this far without error: If retval isn't in the
 		 threads database, add it.  */
-	      if (ptid_get_pid (retval) > 0 &&
-		  !ptid_equal (retval, inferior_ptid) &&
+	      if (retval.pid () > 0 &&
+		  retval != inferior_ptid &&
 		  !in_thread_list (retval))
 		{
 		  /* We have a new thread.  We need to add it both to
 		     GDB's list and to our own.  If we don't create a
 		     procinfo, resume may be unhappy later.  */
 		  add_thread (retval);
-		  if (find_procinfo (ptid_get_pid (retval),
-				     ptid_get_lwp (retval)) == NULL)
-		    create_procinfo (ptid_get_pid (retval),
-				     ptid_get_lwp (retval));
+		  if (find_procinfo (retval.pid (),
+				     retval.lwp ()) == NULL)
+		    create_procinfo (retval.pid (),
+				     retval.lwp ());
 		}
 	    }
 	  else	/* Flags do not indicate STOPPED.  */
@@ -2583,11 +2558,11 @@ wait_again:
 /* Perform a partial transfer to/from the specified object.  For
    memory transfers, fall back to the old memory xfer functions.  */
 
-static enum target_xfer_status
-procfs_xfer_partial (struct target_ops *ops, enum target_object object,
-		     const char *annex, gdb_byte *readbuf,
-		     const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-		     ULONGEST *xfered_len)
+enum target_xfer_status
+procfs_target::xfer_partial (enum target_object object,
+			     const char *annex, gdb_byte *readbuf,
+			     const gdb_byte *writebuf, ULONGEST offset,
+			     ULONGEST len, ULONGEST *xfered_len)
 {
   switch (object)
     {
@@ -2595,13 +2570,13 @@ procfs_xfer_partial (struct target_ops *
       return procfs_xfer_memory (readbuf, writebuf, offset, len, xfered_len);
 
     case TARGET_OBJECT_AUXV:
-      return memory_xfer_auxv (ops, object, annex, readbuf, writebuf,
+      return memory_xfer_auxv (this, object, annex, readbuf, writebuf,
 			       offset, len, xfered_len);
 
     default:
-      return ops->beneath->to_xfer_partial (ops->beneath, object, annex,
-					    readbuf, writebuf, offset, len,
-					    xfered_len);
+      return this->beneath ()->xfer_partial (object, annex,
+					     readbuf, writebuf, offset, len,
+					     xfered_len);
     }
 }
 
@@ -2616,7 +2591,7 @@ procfs_xfer_memory (gdb_byte *readbuf, c
   int nbytes;
 
   /* Find procinfo for main process.  */
-  pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid), 0);
+  pi = find_procinfo_or_die (inferior_ptid.pid (), 0);
   if (pi->as_fd == 0 &&
       open_procinfo_files (pi, FD_AS) == 0)
     {
@@ -2730,9 +2705,8 @@ make_signal_thread_runnable (procinfo *p
    allow any child thread to run; if non-zero, then allow only the
    indicated thread to run.  (not implemented yet).  */
 
-static void
-procfs_resume (struct target_ops *ops,
-	       ptid_t ptid, int step, enum gdb_signal signo)
+void
+procfs_target::resume (ptid_t ptid, int step, enum gdb_signal signo)
 {
   procinfo *pi, *thread;
   int native_signo;
@@ -2754,7 +2728,7 @@ procfs_resume (struct target_ops *ops,
      to proc_run_process (for use in the prrun struct by ioctl).  */
 
   /* Find procinfo for main process.  */
-  pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid), 0);
+  pi = find_procinfo_or_die (inferior_ptid.pid (), 0);
 
   /* First cut: ignore pid argument.  */
   errno = 0;
@@ -2774,11 +2748,11 @@ procfs_resume (struct target_ops *ops,
   /* Void the process procinfo's caches.  */
   invalidate_cache (NULL, pi, NULL);
 
-  if (ptid_get_pid (ptid) != -1)
+  if (ptid.pid () != -1)
     {
       /* Resume a specific thread, presumably suppressing the
 	 others.  */
-      thread = find_procinfo (ptid_get_pid (ptid), ptid_get_lwp (ptid));
+      thread = find_procinfo (ptid.pid (), ptid.lwp ());
       if (thread != NULL)
 	{
 	  if (thread->tid != 0)
@@ -2810,12 +2784,11 @@ procfs_resume (struct target_ops *ops,
 
 /* Set up to trace signals in the child process.  */
 
-static void
-procfs_pass_signals (struct target_ops *self,
-		     int numsigs, unsigned char *pass_signals)
+void
+procfs_target::pass_signals (int numsigs, unsigned char *pass_signals)
 {
   sigset_t signals;
-  procinfo *pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid), 0);
+  procinfo *pi = find_procinfo_or_die (inferior_ptid.pid (), 0);
   int signo;
 
   prfillset (&signals);
@@ -2833,8 +2806,8 @@ procfs_pass_signals (struct target_ops *
 
 /* Print status information about the child process.  */
 
-static void
-procfs_files_info (struct target_ops *ignore)
+void
+procfs_target::files_info ()
 {
   struct inferior *inf = current_inferior ();
 
@@ -2843,16 +2816,6 @@ procfs_files_info (struct target_ops *ig
 		   target_pid_to_str (inferior_ptid));
 }
 
-/* Stop the child process asynchronously, as when the gdb user types
-   control-c or presses a "stop" button.  Works by sending
-   kill(SIGINT) to the child's process group.  */
-
-static void
-procfs_interrupt (struct target_ops *self, ptid_t ptid)
-{
-  kill (-inferior_process_group (), SIGINT);
-}
-
 /* Make it die.  Wait for it to die.  Clean up after it.  Note: this
    should only be applied to the real process, not to an LWP, because
    of the check for parent-process.  If we need this to work for an
@@ -2886,13 +2849,13 @@ unconditionally_kill_inferior (procinfo 
 /* We're done debugging it, and we want it to go away.  Then we want
    GDB to forget all about it.  */
 
-static void
-procfs_kill_inferior (struct target_ops *ops)
+void
+procfs_target::kill ()
 {
-  if (!ptid_equal (inferior_ptid, null_ptid)) /* ? */
+  if (inferior_ptid != null_ptid) /* ? */
     {
       /* Find procinfo for main process.  */
-      procinfo *pi = find_procinfo (ptid_get_pid (inferior_ptid), 0);
+      procinfo *pi = find_procinfo (inferior_ptid.pid (), 0);
 
       if (pi)
 	unconditionally_kill_inferior (pi);
@@ -2902,22 +2865,22 @@ procfs_kill_inferior (struct target_ops 
 
 /* Forget we ever debugged this thing!  */
 
-static void
-procfs_mourn_inferior (struct target_ops *ops)
+void
+procfs_target::mourn_inferior ()
 {
   procinfo *pi;
 
-  if (!ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid != null_ptid)
     {
       /* Find procinfo for main process.  */
-      pi = find_procinfo (ptid_get_pid (inferior_ptid), 0);
+      pi = find_procinfo (inferior_ptid.pid (), 0);
       if (pi)
 	destroy_procinfo (pi);
     }
 
   generic_mourn_inferior ();
 
-  inf_child_maybe_unpush_target (ops);
+  maybe_unpush_target ();
 }
 
 /* When GDB forks to create a runnable inferior process, this function
@@ -2996,8 +2959,8 @@ procfs_init_inferior (struct target_ops 
   /* We already have a main thread registered in the thread table at
      this point, but it didn't have any lwp info yet.  Notify the core
      about it.  This changes inferior_ptid as well.  */
-  thread_change_ptid (pid_to_ptid (pid),
-		      ptid_build (pid, lwpid, 0));
+  thread_change_ptid (ptid_t (pid),
+		      ptid_t (pid, lwpid, 0));
 
   gdb_startup_inferior (pid, START_INFERIOR_TRAPS_EXPECTED);
 }
@@ -3080,9 +3043,10 @@ procfs_set_exec_trap (void)
    abstracted out and shared with other unix targets such as
    inf-ptrace?  */
 
-static void
-procfs_create_inferior (struct target_ops *ops, const char *exec_file,
-			const std::string &allargs, char **env, int from_tty)
+void
+procfs_target::create_inferior (const char *exec_file,
+				const std::string &allargs,
+				char **env, int from_tty)
 {
   char *shell_file = getenv ("SHELL");
   char *tryname;
@@ -3162,9 +3126,9 @@ procfs_create_inferior (struct target_op
   /* We have something that executes now.  We'll be running through
      the shell at this point (if startup-with-shell is true), but the
      pid shouldn't change.  */
-  add_thread_silent (pid_to_ptid (pid));
+  add_thread_silent (ptid_t (pid));
 
-  procfs_init_inferior (ops, pid);
+  procfs_init_inferior (this, pid);
 }
 
 /* An observer for the "inferior_created" event.  */
@@ -3179,7 +3143,7 @@ procfs_inferior_created (struct target_o
 static int
 procfs_notice_thread (procinfo *pi, procinfo *thread, void *ptr)
 {
-  ptid_t gdb_threadid = ptid_build (pi->pid, thread->tid, 0);
+  ptid_t gdb_threadid = ptid_t (pi->pid, thread->tid, 0);
 
   if (!in_thread_list (gdb_threadid) || is_exited (gdb_threadid))
     add_thread (gdb_threadid);
@@ -3190,15 +3154,15 @@ procfs_notice_thread (procinfo *pi, proc
 /* Query all the threads that the target knows about, and give them
    back to GDB to add to its list.  */
 
-static void
-procfs_update_thread_list (struct target_ops *ops)
+void
+procfs_target::update_thread_list ()
 {
   procinfo *pi;
 
   prune_threads ();
 
   /* Find procinfo for main process.  */
-  pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid), 0);
+  pi = find_procinfo_or_die (inferior_ptid.pid (), 0);
   proc_update_threads (pi);
   proc_iterate_over_threads (pi, procfs_notice_thread, NULL);
 }
@@ -3207,42 +3171,42 @@ procfs_update_thread_list (struct target
    really seem to be doing his job.  Got to investigate how to tell
    when a thread is really gone.  */
 
-static int
-procfs_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+procfs_target::thread_alive (ptid_t ptid)
 {
   int proc, thread;
   procinfo *pi;
 
-  proc    = ptid_get_pid (ptid);
-  thread  = ptid_get_lwp (ptid);
+  proc    = ptid.pid ();
+  thread  = ptid.lwp ();
   /* If I don't know it, it ain't alive!  */
   if ((pi = find_procinfo (proc, thread)) == NULL)
-    return 0;
+    return false;
 
   /* If I can't get its status, it ain't alive!
      What's more, I need to forget about it!  */
   if (!proc_get_status (pi))
     {
       destroy_procinfo (pi);
-      return 0;
+      return false;
     }
   /* I couldn't have got its status if it weren't alive, so it's
      alive.  */
-  return 1;
+  return true;
 }
 
 /* Convert PTID to a string.  Returns the string in a static
    buffer.  */
 
-static const char *
-procfs_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+procfs_target::pid_to_str (ptid_t ptid)
 {
   static char buf[80];
 
-  if (ptid_get_lwp (ptid) == 0)
-    sprintf (buf, "process %d", ptid_get_pid (ptid));
+  if (ptid.lwp () == 0)
+    sprintf (buf, "process %d", ptid.pid ());
   else
-    sprintf (buf, "LWP %ld", ptid_get_lwp (ptid));
+    sprintf (buf, "LWP %ld", ptid.lwp ());
 
   return buf;
 }
@@ -3256,8 +3220,8 @@ procfs_set_watchpoint (ptid_t ptid, CORE
   int       pflags = 0;
   procinfo *pi;
 
-  pi = find_procinfo_or_die (ptid_get_pid (ptid) == -1 ?
-			     ptid_get_pid (inferior_ptid) : ptid_get_pid (ptid),
+  pi = find_procinfo_or_die (ptid.pid () == -1 ?
+			     inferior_ptid.pid () : ptid.pid (),
 			     0);
 
   /* Translate from GDB's flags to /proc's.  */
@@ -3305,10 +3269,8 @@ procfs_set_watchpoint (ptid_t ptid, CORE
    procfs.c targets due to the fact that some of them still define
    target_can_use_hardware_watchpoint.  */
 
-static int
-procfs_can_use_hw_breakpoint (struct target_ops *self,
-			      enum bptype type,
-			      int cnt, int othertype)
+int
+procfs_target::can_use_hw_breakpoint (enum bptype type, int cnt, int othertype)
 {
   /* Due to the way that proc_set_watchpoint() is implemented, host
      and target pointers must be of the same size.  If they are not,
@@ -3331,22 +3293,22 @@ procfs_can_use_hw_breakpoint (struct tar
 /* Returns non-zero if process is stopped on a hardware watchpoint
    fault, else returns zero.  */
 
-static int
-procfs_stopped_by_watchpoint (struct target_ops *ops)
+bool
+procfs_target::stopped_by_watchpoint ()
 {
   procinfo *pi;
 
-  pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid), 0);
+  pi = find_procinfo_or_die (inferior_ptid.pid (), 0);
 
   if (proc_flags (pi) & (PR_STOPPED | PR_ISTOP))
     {
       if (proc_why (pi) == PR_FAULTED)
 	{
 	  if (proc_what (pi) == FLTWATCH)
-	    return 1;
+	    return true;
 	}
     }
-  return 0;
+  return false;
 }
 
 /* Returns 1 if the OS knows the position of the triggered watchpoint,
@@ -3355,20 +3317,19 @@ procfs_stopped_by_watchpoint (struct tar
    procfs_stopped_by_watchpoint returned 1, thus no further checks are
    done.  The function also assumes that ADDR is not NULL.  */
 
-static int
-procfs_stopped_data_address (struct target_ops *targ, CORE_ADDR *addr)
+bool
+procfs_target::stopped_data_address (CORE_ADDR *addr)
 {
   procinfo *pi;
 
-  pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid), 0);
+  pi = find_procinfo_or_die (inferior_ptid.pid (), 0);
   return proc_watchpoint_address (pi, addr);
 }
 
-static int
-procfs_insert_watchpoint (struct target_ops *self,
-			  CORE_ADDR addr, int len,
-			  enum target_hw_bp_type type,
-			  struct expression *cond)
+int
+procfs_target::insert_watchpoint (CORE_ADDR addr, int len,
+				  enum target_hw_bp_type type,
+				  struct expression *cond)
 {
   if (!target_have_steppable_watchpoint
       && !gdbarch_have_nonsteppable_watchpoint (target_gdbarch ()))
@@ -3388,18 +3349,16 @@ procfs_insert_watchpoint (struct target_
     }
 }
 
-static int
-procfs_remove_watchpoint (struct target_ops *self,
-			  CORE_ADDR addr, int len,
-			  enum target_hw_bp_type type,
-			  struct expression *cond)
+int
+procfs_target::remove_watchpoint (CORE_ADDR addr, int len,
+				  enum target_hw_bp_type type,
+				  struct expression *cond)
 {
   return procfs_set_watchpoint (inferior_ptid, addr, 0, 0, 0);
 }
 
-static int
-procfs_region_ok_for_hw_watchpoint (struct target_ops *self,
-				    CORE_ADDR addr, int len)
+int
+procfs_target::region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
 {
   /* The man page for proc(4) on Solaris 2.6 and up says that the
      system can support "thousands" of hardware watchpoints, but gives
@@ -3409,17 +3368,6 @@ procfs_region_ok_for_hw_watchpoint (stru
   return 1;
 }
 
-void
-procfs_use_watchpoints (struct target_ops *t)
-{
-  t->to_stopped_by_watchpoint = procfs_stopped_by_watchpoint;
-  t->to_insert_watchpoint = procfs_insert_watchpoint;
-  t->to_remove_watchpoint = procfs_remove_watchpoint;
-  t->to_region_ok_for_hw_watchpoint = procfs_region_ok_for_hw_watchpoint;
-  t->to_can_use_hw_breakpoint = procfs_can_use_hw_breakpoint;
-  t->to_stopped_data_address = procfs_stopped_data_address;
-}
-
 /* Memory Mappings Functions: */
 
 /* Call a callback function once for each mapping, passing it the
@@ -3445,40 +3393,33 @@ iterate_over_mappings (procinfo *pi, fin
   struct prmap *prmaps;
   struct prmap *prmap;
   int funcstat;
-  int map_fd;
   int nmap;
-  struct cleanup *cleanups = make_cleanup (null_cleanup, NULL);
   struct stat sbuf;
 
   /* Get the number of mappings, allocate space,
      and read the mappings into prmaps.  */
   /* Open map fd.  */
   sprintf (pathname, "/proc/%d/map", pi->pid);
-  if ((map_fd = open (pathname, O_RDONLY)) < 0)
-    proc_error (pi, "iterate_over_mappings (open)", __LINE__);
 
-  /* Make sure it gets closed again.  */
-  make_cleanup_close (map_fd);
+  scoped_fd map_fd (open (pathname, O_RDONLY));
+  if (map_fd.get () < 0)
+    proc_error (pi, "iterate_over_mappings (open)", __LINE__);
 
   /* Use stat to determine the file size, and compute
      the number of prmap_t objects it contains.  */
-  if (fstat (map_fd, &sbuf) != 0)
+  if (fstat (map_fd.get (), &sbuf) != 0)
     proc_error (pi, "iterate_over_mappings (fstat)", __LINE__);
 
   nmap = sbuf.st_size / sizeof (prmap_t);
   prmaps = (struct prmap *) alloca ((nmap + 1) * sizeof (*prmaps));
-  if (read (map_fd, (char *) prmaps, nmap * sizeof (*prmaps))
+  if (read (map_fd.get (), (char *) prmaps, nmap * sizeof (*prmaps))
       != (nmap * sizeof (*prmaps)))
     proc_error (pi, "iterate_over_mappings (read)", __LINE__);
 
   for (prmap = prmaps; nmap > 0; prmap++, nmap--)
     if ((funcstat = (*func) (prmap, child_func, data)) != 0)
-      {
-	do_cleanups (cleanups);
-        return funcstat;
-      }
+      return funcstat;
 
-  do_cleanups (cleanups);
   return 0;
 }
 
@@ -3511,11 +3452,10 @@ find_memory_regions_callback (struct prm
    Stops iterating and returns the first non-zero value returned by
    the callback.  */
 
-static int
-proc_find_memory_regions (struct target_ops *self,
-			  find_memory_region_ftype func, void *data)
+int
+procfs_target::find_memory_regions (find_memory_region_ftype func, void *data)
 {
-  procinfo *pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid), 0);
+  procinfo *pi = find_procinfo_or_die (inferior_ptid.pid (), 0);
 
   return iterate_over_mappings (pi, func, data,
 				find_memory_regions_callback);
@@ -3603,9 +3543,8 @@ info_proc_mappings (procinfo *pi, int su
 
 /* Implement the "info proc" command.  */
 
-static void
-procfs_info_proc (struct target_ops *ops, const char *args,
-		  enum info_proc_what what)
+bool
+procfs_target::info_proc (const char *args, enum info_proc_what what)
 {
   struct cleanup *old_chain;
   procinfo *process  = NULL;
@@ -3645,7 +3584,7 @@ procfs_info_proc (struct target_ops *ops
 	}
     }
   if (pid == 0)
-    pid = ptid_get_pid (inferior_ptid);
+    pid = inferior_ptid.pid ();
   if (pid == 0)
     error (_("No current process: you must name one."));
   else
@@ -3690,6 +3629,8 @@ procfs_info_proc (struct target_ops *ops
     }
 
   do_cleanups (old_chain);
+
+  return true;
 }
 
 /* Modify the status of the system call identified by SYSCALLNUM in
@@ -3737,13 +3678,13 @@ proc_trace_syscalls (const char *args, i
 {
   procinfo *pi;
 
-  if (ptid_get_pid (inferior_ptid) <= 0)
+  if (inferior_ptid.pid () <= 0)
     error (_("you must be debugging a process to use this command."));
 
   if (args == NULL || args[0] == 0)
     error_no_arg (_("system call to trace"));
 
-  pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid), 0);
+  pi = find_procinfo_or_die (inferior_ptid.pid (), 0);
   if (isdigit (args[0]))
     {
       const int syscallnum = atoi (args);
@@ -3779,7 +3720,7 @@ proc_untrace_sysexit_cmd (const char *ar
 void
 _initialize_procfs (void)
 {
-  observer_attach_inferior_created (procfs_inferior_created);
+  gdb::observers::inferior_created.attach (procfs_inferior_created);
 
   add_com ("proc-trace-entry", no_class, proc_trace_sysentry_cmd,
 	   _("Give a trace of entries into the syscall."));
@@ -3789,6 +3730,8 @@ _initialize_procfs (void)
 	   _("Cancel a trace of entries into the syscall."));
   add_com ("proc-untrace-exit", no_class, proc_untrace_sysexit_cmd,
 	   _("Cancel a trace of exits from the syscall."));
+
+  add_inf_child_target (&the_procfs_target);
 }
 
 /* =================== END, GDB  "MODULE" =================== */
@@ -3806,7 +3749,7 @@ _initialize_procfs (void)
 ptid_t
 procfs_first_available (void)
 {
-  return pid_to_ptid (procinfo_list ? procinfo_list->pid : -1);
+  return ptid_t (procinfo_list ? procinfo_list->pid : -1);
 }
 
 /* ===================  GCORE .NOTE "MODULE" =================== */
@@ -3821,7 +3764,7 @@ procfs_do_thread_registers (bfd *obfd, p
   gdb_fpregset_t fpregs;
   unsigned long merged_pid;
 
-  merged_pid = ptid_get_lwp (ptid) << 16 | ptid_get_pid (ptid);
+  merged_pid = ptid.lwp () << 16 | ptid.pid ();
 
   /* This part is the old method for fetching registers.
      It should be replaced by the newer one using regsets
@@ -3864,7 +3807,7 @@ procfs_corefile_thread_callback (procinf
 
   if (pi != NULL)
     {
-      ptid_t ptid = ptid_build (pi->pid, thread->tid, 0);
+      ptid_t ptid = ptid_t (pi->pid, thread->tid, 0);
 
       args->note_data = procfs_do_thread_registers (args->obfd, ptid,
 						    args->note_data,
@@ -3878,7 +3821,7 @@ static int
 find_signalled_thread (struct thread_info *info, void *data)
 {
   if (info->suspend.stop_signal != GDB_SIGNAL_0
-      && ptid_get_pid (info->ptid) == ptid_get_pid (inferior_ptid))
+      && info->ptid.pid () == inferior_ptid.pid ())
     return 1;
 
   return 0;
@@ -3896,20 +3839,18 @@ find_stop_signal (void)
     return GDB_SIGNAL_0;
 }
 
-static char *
-procfs_make_note_section (struct target_ops *self, bfd *obfd, int *note_size)
+char *
+procfs_target::make_corefile_notes (bfd *obfd, int *note_size)
 {
   struct cleanup *old_chain;
   gdb_gregset_t gregs;
   gdb_fpregset_t fpregs;
   char fname[16] = {'\0'};
   char psargs[80] = {'\0'};
-  procinfo *pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid), 0);
+  procinfo *pi = find_procinfo_or_die (inferior_ptid.pid (), 0);
   char *note_data = NULL;
   char *inf_args;
   struct procfs_corefile_thread_data thread_args;
-  gdb_byte *auxv;
-  int auxv_len;
   enum gdb_signal stop_signal;
 
   if (get_exec_file (0))
@@ -3940,7 +3881,7 @@ procfs_make_note_section (struct target_
 
   fill_gregset (get_current_regcache (), &gregs, -1);
   note_data = elfcore_write_pstatus (obfd, note_data, note_size,
-				     ptid_get_pid (inferior_ptid),
+				     inferior_ptid.pid (),
 				     stop_signal, &gregs);
 
   thread_args.obfd = obfd;
@@ -3951,14 +3892,12 @@ procfs_make_note_section (struct target_
 			     &thread_args);
   note_data = thread_args.note_data;
 
-  auxv_len = target_read_alloc (&current_target, TARGET_OBJECT_AUXV,
-				NULL, &auxv);
-  if (auxv_len > 0)
-    {
-      note_data = elfcore_write_note (obfd, note_data, note_size,
-				      "CORE", NT_AUXV, auxv, auxv_len);
-      xfree (auxv);
-    }
+  gdb::optional<gdb::byte_vector> auxv =
+    target_read_alloc (current_top_target (), TARGET_OBJECT_AUXV, NULL);
+  if (auxv && !auxv->empty ())
+    note_data = elfcore_write_note (obfd, note_data, note_size,
+				    "CORE", NT_AUXV, auxv->data (),
+				    auxv->size ());
 
   return note_data;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/procfs.h ./gdb/procfs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/procfs.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/procfs.h	2018-07-10 02:06:13.000000000 +0000
@@ -17,19 +17,6 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-struct target_ops;
-
-/* Create a prototype generic procfs target.  The client can override
-   it with local methods.  */
-
-extern struct target_ops *procfs_target (void);
-
-/* Call this in the native _initialize routine that creates and
-   customizes the prototype target returned by procfs_target, if the
-   native debug interface supports procfs watchpoints.  */
-
-extern void procfs_use_watchpoints (struct target_ops *t);
-
 /* Return a ptid for which we guarantee we will be able to find a
    'live' procinfo.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/proc-service.c ./gdb/proc-service.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/proc-service.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/proc-service.c	2018-07-10 02:06:13.000000000 +0000
@@ -21,6 +21,7 @@
 
 #include "gdbcore.h"
 #include "inferior.h"
+#include "gdbthread.h"
 #include "symtab.h"
 #include "target.h"
 #include "regcache.h"
@@ -73,7 +74,7 @@ ps_xfer_memory (const struct ps_prochand
   int ret;
   CORE_ADDR core_addr = ps_addr_to_core_addr (addr);
 
-  inferior_ptid = ph->ptid;
+  inferior_ptid = ph->thread->ptid;
 
   if (write)
     ret = target_write_memory (core_addr, buf, len);
@@ -92,7 +93,7 @@ ps_err_e
 ps_pglobal_lookup (struct ps_prochandle *ph, const char *obj,
 		   const char *name, psaddr_t *sym_addr)
 {
-  struct inferior *inf = find_inferior_ptid (ph->ptid);
+  inferior *inf = ph->thread->inf;
 
   scoped_restore_current_program_space restore_pspace;
 
@@ -125,15 +126,28 @@ ps_pdwrite (struct ps_prochandle *ph, ps
   return ps_xfer_memory (ph, addr, (gdb_byte *) buf, size, 1);
 }
 
+/* Get a regcache for LWPID using its inferior's "main" architecture,
+   which is the register set libthread_db expects to be using.  In
+   multi-arch debugging scenarios, the thread's architecture may
+   differ from the inferior's "main" architecture.  E.g., in the Cell
+   combined debugger, if GDB happens to interrupt SPU code, the
+   thread's architecture is SPU, and the main architecture is
+   PowerPC.  */
+
+static struct regcache *
+get_ps_regcache (struct ps_prochandle *ph, lwpid_t lwpid)
+{
+  inferior *inf = ph->thread->inf;
+  return get_thread_arch_regcache (ptid_t (inf->pid, lwpid), inf->gdbarch);
+}
+
 /* Get the general registers of LWP LWPID within the target process PH
    and store them in GREGSET.  */
 
 ps_err_e
 ps_lgetregs (struct ps_prochandle *ph, lwpid_t lwpid, prgregset_t gregset)
 {
-  ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
-  struct regcache *regcache
-    = get_thread_arch_regcache (ptid, target_gdbarch ());
+  struct regcache *regcache = get_ps_regcache (ph, lwpid);
 
   target_fetch_registers (regcache, -1);
   fill_gregset (regcache, (gdb_gregset_t *) gregset, -1);
@@ -147,9 +161,7 @@ ps_lgetregs (struct ps_prochandle *ph, l
 ps_err_e
 ps_lsetregs (struct ps_prochandle *ph, lwpid_t lwpid, const prgregset_t gregset)
 {
-  ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
-  struct regcache *regcache
-    = get_thread_arch_regcache (ptid, target_gdbarch ());
+  struct regcache *regcache = get_ps_regcache (ph, lwpid);
 
   supply_gregset (regcache, (const gdb_gregset_t *) gregset);
   target_store_registers (regcache, -1);
@@ -163,9 +175,7 @@ ps_lsetregs (struct ps_prochandle *ph, l
 ps_err_e
 ps_lgetfpregs (struct ps_prochandle *ph, lwpid_t lwpid, gdb_prfpregset_t *fpregset)
 {
-  ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
-  struct regcache *regcache
-    = get_thread_arch_regcache (ptid, target_gdbarch ());
+  struct regcache *regcache = get_ps_regcache (ph, lwpid);
 
   target_fetch_registers (regcache, -1);
   fill_fpregset (regcache, (gdb_fpregset_t *) fpregset, -1);
@@ -180,9 +190,7 @@ ps_err_e
 ps_lsetfpregs (struct ps_prochandle *ph, lwpid_t lwpid,
 	       const gdb_prfpregset_t *fpregset)
 {
-  ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
-  struct regcache *regcache
-    = get_thread_arch_regcache (ptid, target_gdbarch ());
+  struct regcache *regcache = get_ps_regcache (ph, lwpid);
 
   supply_fpregset (regcache, (const gdb_fpregset_t *) fpregset);
   target_store_registers (regcache, -1);
@@ -196,7 +204,7 @@ ps_lsetfpregs (struct ps_prochandle *ph,
 pid_t
 ps_getpid (struct ps_prochandle *ph)
 {
-  return ptid_get_pid (ph->ptid);
+  return ph->thread->ptid.pid ();
 }
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/progspace-and-thread.c ./gdb/progspace-and-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/progspace-and-thread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/progspace-and-thread.c	2018-07-10 02:06:13.000000000 +0000
@@ -17,6 +17,7 @@
 
 #include "defs.h"
 #include "progspace-and-thread.h"
+#include "inferior.h"
 
 /* See progspace-and-thread.h  */
 
@@ -27,17 +28,17 @@ switch_to_program_space_and_thread (prog
 
   if (inf != NULL && inf->pid != 0)
     {
-      thread_info *tp = any_live_thread_of_process (inf->pid);
+      thread_info *tp = any_live_thread_of_inferior (inf);
 
       if (tp != NULL)
 	{
-	  switch_to_thread (tp->ptid);
+	  switch_to_thread (tp);
 	  /* Switching thread switches pspace implicitly.  We're
 	     done.  */
 	  return;
 	}
     }
 
-  switch_to_thread (null_ptid);
+  switch_to_no_thread ();
   set_current_program_space (pspace);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/progspace.c ./gdb/progspace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/progspace.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/progspace.c	2018-07-10 02:06:13.000000000 +0000
@@ -24,6 +24,7 @@
 #include "gdbcore.h"
 #include "solib.h"
 #include "gdbthread.h"
+#include "inferior.h"
 
 /* The last program space number assigned.  */
 int last_program_space_num = 0;
@@ -109,30 +110,21 @@ init_address_spaces (void)
 /* Adds a new empty program space to the program space list, and binds
    it to ASPACE.  Returns the pointer to the new object.  */
 
-struct program_space *
-add_program_space (struct address_space *aspace)
+program_space::program_space (address_space *aspace_)
+: num (++last_program_space_num), aspace (aspace_)
 {
-  struct program_space *pspace;
-
-  pspace = XCNEW (struct program_space);
-
-  pspace->num = ++last_program_space_num;
-  pspace->aspace = aspace;
-
-  program_space_alloc_data (pspace);
+  program_space_alloc_data (this);
 
   if (program_spaces == NULL)
-    program_spaces = pspace;
+    program_spaces = this;
   else
     {
       struct program_space *last;
 
       for (last = program_spaces; last->next != NULL; last = last->next)
 	;
-      last->next = pspace;
+      last->next = this;
     }
-
-  return pspace;
 }
 
 /* Releases program space PSPACE, and all its contents (shared
@@ -141,26 +133,24 @@ add_program_space (struct address_space 
    is the current program space, since there should always be a
    program space.  */
 
-static void
-release_program_space (struct program_space *pspace)
+program_space::~program_space ()
 {
-  gdb_assert (pspace != current_program_space);
+  gdb_assert (this != current_program_space);
 
   scoped_restore_current_program_space restore_pspace;
 
-  set_current_program_space (pspace);
+  set_current_program_space (this);
 
-  breakpoint_program_space_exit (pspace);
+  breakpoint_program_space_exit (this);
   no_shared_libraries (NULL, 0);
   exec_close ();
   free_all_objfiles ();
   if (!gdbarch_has_shared_address_space (target_gdbarch ()))
-    free_address_space (pspace->aspace);
-  clear_section_table (&pspace->target_sections);
-  clear_program_space_solib_cache (pspace);
+    free_address_space (this->aspace);
+  clear_section_table (&this->target_sections);
+  clear_program_space_solib_cache (this);
     /* Discard any data modules have associated with the PSPACE.  */
-  program_space_free_data (pspace);
-  xfree (pspace);
+  program_space_free_data (this);
 }
 
 /* Copies program space SRC to DEST.  Copies the main executable file,
@@ -177,7 +167,8 @@ clone_program_space (struct program_spac
     exec_file_attach (src->pspace_exec_filename, 0);
 
   if (src->symfile_object_file != NULL)
-    symbol_file_add_main (objfile_name (src->symfile_object_file), 0);
+    symbol_file_add_main (objfile_name (src->symfile_object_file),
+			  SYMFILE_DEFER_BP_RESET);
 
   return dest;
 }
@@ -235,7 +226,7 @@ delete_program_space (struct program_spa
       ss = *ss_link;
     }
 
-  release_program_space (pspace);
+  delete pspace;
 }
 
 /* Prints the list of program spaces and their details on UIOUT.  If
@@ -302,12 +293,12 @@ print_program_space (struct ui_out *uiou
 		printed_header = 1;
 		printf_filtered ("\n\tBound inferiors: ID %d (%s)",
 				 inf->num,
-				 target_pid_to_str (pid_to_ptid (inf->pid)));
+				 target_pid_to_str (ptid_t (inf->pid)));
 	      }
 	    else
 	      printf_filtered (", ID %d (%s)",
 			       inf->num,
-			       target_pid_to_str (pid_to_ptid (inf->pid)));
+			       target_pid_to_str (ptid_t (inf->pid)));
 	  }
 
       uiout->text ("\n");
@@ -410,10 +401,8 @@ update_address_spaces (void)
 void
 clear_program_space_solib_cache (struct program_space *pspace)
 {
-  VEC_free (so_list_ptr, pspace->added_solibs);
-
-  free_char_ptr_vec (pspace->deleted_solibs);
-  pspace->deleted_solibs = NULL;
+  pspace->added_solibs.clear ();
+  pspace->deleted_solibs.clear ();
 }
 
 
@@ -433,5 +422,5 @@ initialize_progspace (void)
      modules have done that.  Do this before
      initialize_current_architecture, because that accesses exec_bfd,
      which in turn dereferences current_program_space.  */
-  current_program_space = add_program_space (new_address_space ());
+  current_program_space = new program_space (new_address_space ());
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/progspace.h ./gdb/progspace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/progspace.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/progspace.h	2018-07-10 02:06:13.000000000 +0000
@@ -23,6 +23,7 @@
 
 #include "target.h"
 #include "vec.h"
+#include "gdb_bfd.h"
 #include "gdb_vecs.h"
 #include "registry.h"
 
@@ -35,9 +36,6 @@ struct address_space;
 struct program_space_data;
 struct address_space_data;
 
-typedef struct so_list *so_list_ptr;
-DEF_VEC_P (so_list_ptr);
-
 /* A program space represents a symbolic view of an address space.
    Roughly speaking, it holds all the data associated with a
    non-running-yet program (main executable, main symbols), and when
@@ -135,80 +133,86 @@ DEF_VEC_P (so_list_ptr);
 /* The program space structure.  */
 
 struct program_space
-  {
-    /* Pointer to next in linked list.  */
-    struct program_space *next;
-
-    /* Unique ID number.  */
-    int num;
-
-    /* The main executable loaded into this program space.  This is
-       managed by the exec target.  */
-
-    /* The BFD handle for the main executable.  */
-    bfd *ebfd;
-    /* The last-modified time, from when the exec was brought in.  */
-    long ebfd_mtime;
-    /* Similar to bfd_get_filename (exec_bfd) but in original form given
-       by user, without symbolic links and pathname resolved.
-       It needs to be freed by xfree.  It is not NULL iff EBFD is not NULL.  */
-    char *pspace_exec_filename;
-
-    /* The address space attached to this program space.  More than one
-       program space may be bound to the same address space.  In the
-       traditional unix-like debugging scenario, this will usually
-       match the address space bound to the inferior, and is mostly
-       used by the breakpoints module for address matches.  If the
-       target shares a program space for all inferiors and breakpoints
-       are global, then this field is ignored (we don't currently
-       support inferiors sharing a program space if the target doesn't
-       make breakpoints global).  */
-    struct address_space *aspace;
-
-    /* True if this program space's section offsets don't yet represent
-       the final offsets of the "live" address space (that is, the
-       section addresses still require the relocation offsets to be
-       applied, and hence we can't trust the section addresses for
-       anything that pokes at live memory).  E.g., for qOffsets
-       targets, or for PIE executables, until we connect and ask the
-       target for the final relocation offsets, the symbols we've used
-       to set breakpoints point at the wrong addresses.  */
-    int executing_startup;
-
-    /* True if no breakpoints should be inserted in this program
-       space.  */
-    int breakpoints_not_allowed;
-
-    /* The object file that the main symbol table was loaded from
-       (e.g. the argument to the "symbol-file" or "file" command).  */
-    struct objfile *symfile_object_file;
-
-    /* All known objfiles are kept in a linked list.  This points to
-       the head of this list.  */
-    struct objfile *objfiles;
-
-    /* The set of target sections matching the sections mapped into
-       this program space.  Managed by both exec_ops and solib.c.  */
-    struct target_section_table target_sections;
-
-    /* List of shared objects mapped into this space.  Managed by
-       solib.c.  */
-    struct so_list *so_list;
-
-    /* Number of calls to solib_add.  */
-    unsigned solib_add_generation;
-
-    /* When an solib is added, it is also added to this vector.  This
-       is so we can properly report solib changes to the user.  */
-    VEC (so_list_ptr) *added_solibs;
-
-    /* When an solib is removed, its name is added to this vector.
-       This is so we can properly report solib changes to the user.  */
-    VEC (char_ptr) *deleted_solibs;
-
-    /* Per pspace data-pointers required by other GDB modules.  */
-    REGISTRY_FIELDS;
-  };
+{
+  program_space (address_space *aspace_);
+  ~program_space ();
+
+  /* Pointer to next in linked list.  */
+  struct program_space *next = NULL;
+
+  /* Unique ID number.  */
+  int num = 0;
+
+  /* The main executable loaded into this program space.  This is
+     managed by the exec target.  */
+
+  /* The BFD handle for the main executable.  */
+  bfd *ebfd = NULL;
+  /* The last-modified time, from when the exec was brought in.  */
+  long ebfd_mtime = 0;
+  /* Similar to bfd_get_filename (exec_bfd) but in original form given
+     by user, without symbolic links and pathname resolved.
+     It needs to be freed by xfree.  It is not NULL iff EBFD is not NULL.  */
+  char *pspace_exec_filename = NULL;
+
+  /* Binary file diddling handle for the core file.  */
+  gdb_bfd_ref_ptr cbfd;
+
+  /* The address space attached to this program space.  More than one
+     program space may be bound to the same address space.  In the
+     traditional unix-like debugging scenario, this will usually
+     match the address space bound to the inferior, and is mostly
+     used by the breakpoints module for address matches.  If the
+     target shares a program space for all inferiors and breakpoints
+     are global, then this field is ignored (we don't currently
+     support inferiors sharing a program space if the target doesn't
+     make breakpoints global).  */
+  struct address_space *aspace = NULL;
+
+  /* True if this program space's section offsets don't yet represent
+     the final offsets of the "live" address space (that is, the
+     section addresses still require the relocation offsets to be
+     applied, and hence we can't trust the section addresses for
+     anything that pokes at live memory).  E.g., for qOffsets
+     targets, or for PIE executables, until we connect and ask the
+     target for the final relocation offsets, the symbols we've used
+     to set breakpoints point at the wrong addresses.  */
+  int executing_startup = 0;
+
+  /* True if no breakpoints should be inserted in this program
+     space.  */
+  int breakpoints_not_allowed = 0;
+
+  /* The object file that the main symbol table was loaded from
+     (e.g. the argument to the "symbol-file" or "file" command).  */
+  struct objfile *symfile_object_file = NULL;
+
+  /* All known objfiles are kept in a linked list.  This points to
+     the head of this list.  */
+  struct objfile *objfiles = NULL;
+
+  /* The set of target sections matching the sections mapped into
+     this program space.  Managed by both exec_ops and solib.c.  */
+  struct target_section_table target_sections {};
+
+  /* List of shared objects mapped into this space.  Managed by
+     solib.c.  */
+  struct so_list *so_list = NULL;
+
+  /* Number of calls to solib_add.  */
+  unsigned int solib_add_generation = 0;
+
+  /* When an solib is added, it is also added to this vector.  This
+     is so we can properly report solib changes to the user.  */
+  std::vector<struct so_list *> added_solibs;
+
+  /* When an solib is removed, its name is added to this vector.
+     This is so we can properly report solib changes to the user.  */
+  std::vector<std::string> deleted_solibs;
+
+  /* Per pspace data-pointers required by other GDB modules.  */
+  REGISTRY_FIELDS {};
+};
 
 /* An address space.  It is used for comparing if
    pspaces/inferior/threads see the same address space and for
@@ -243,10 +247,6 @@ extern struct program_space *current_pro
 #define ALL_PSPACES(pspace) \
   for ((pspace) = program_spaces; (pspace) != NULL; (pspace) = (pspace)->next)
 
-/* Add a new empty program space, and assign ASPACE to it.  Returns the
-   pointer to the new object.  */
-extern struct program_space *add_program_space (struct address_space *aspace);
-
 /* Remove a program space from the program spaces list and release it.  It is
    an error to call this function while PSPACE is the current program space. */
 extern void delete_program_space (struct program_space *pspace);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/psymtab.c ./gdb/psymtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/psymtab.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/psymtab.c	2018-07-10 02:06:13.000000000 +0000
@@ -1203,14 +1203,14 @@ psymtab_to_fullname (struct partial_symt
      to handle cases like the file being moved.  */
   if (ps->fullname == NULL)
     {
-      int fd = find_and_open_source (ps->filename, ps->dirname, &ps->fullname);
+      gdb::unique_xmalloc_ptr<char> fullname;
+      int fd = find_and_open_source (ps->filename, ps->dirname, &fullname);
+      ps->fullname = fullname.release ();
 
       if (fd >= 0)
 	close (fd);
       else
 	{
-	  gdb::unique_xmalloc_ptr<char> fullname;
-
 	  /* rewrite_source_path would be applied by find_and_open_source, we
 	     should report the pathname where GDB tried to find the file.  */
 
@@ -1805,9 +1805,7 @@ allocate_psymtab (const char *filename, 
       objfile->free_psymtabs = psymtab->next;
     }
   else
-    psymtab = (struct partial_symtab *)
-      obstack_alloc (&objfile->objfile_obstack,
-		     sizeof (struct partial_symtab));
+    psymtab = XOBNEW (&objfile->objfile_obstack, partial_symtab);
 
   memset (psymtab, 0, sizeof (struct partial_symtab));
   psymtab->filename
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-typeprint.c ./gdb/p-typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-typeprint.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/p-typeprint.c	2018-07-10 02:06:13.000000000 +0000
@@ -139,7 +139,7 @@ pascal_type_print_derivation_info (struc
       fprintf_filtered (stream, "%s%s ",
 			BASETYPE_VIA_PUBLIC (type, i) ? "public" : "private",
 			BASETYPE_VIA_VIRTUAL (type, i) ? " virtual" : "");
-      name = type_name_no_tag (TYPE_BASECLASS (type, i));
+      name = TYPE_NAME (TYPE_BASECLASS (type, i));
       fprintf_filtered (stream, "%s", name ? name : "(null)");
     }
   if (i > 0)
@@ -522,9 +522,9 @@ pascal_type_print_base (struct type *typ
          only after args !!  */
       break;
     case TYPE_CODE_STRUCT:
-      if (TYPE_TAG_NAME (type) != NULL)
+      if (TYPE_NAME (type) != NULL)
 	{
-	  fputs_filtered (TYPE_TAG_NAME (type), stream);
+	  fputs_filtered (TYPE_NAME (type), stream);
 	  fputs_filtered (" = ", stream);
 	}
       if (HAVE_CPLUS_STRUCT (type))
@@ -538,9 +538,9 @@ pascal_type_print_base (struct type *typ
       goto struct_union;
 
     case TYPE_CODE_UNION:
-      if (TYPE_TAG_NAME (type) != NULL)
+      if (TYPE_NAME (type) != NULL)
 	{
-	  fputs_filtered (TYPE_TAG_NAME (type), stream);
+	  fputs_filtered (TYPE_NAME (type), stream);
 	  fputs_filtered (" = ", stream);
 	}
       fprintf_filtered (stream, "case <?> of ");
@@ -550,10 +550,10 @@ pascal_type_print_base (struct type *typ
       if (show < 0)
 	{
 	  /* If we just printed a tag name, no need to print anything else.  */
-	  if (TYPE_TAG_NAME (type) == NULL)
+	  if (TYPE_NAME (type) == NULL)
 	    fprintf_filtered (stream, "{...}");
 	}
-      else if (show > 0 || TYPE_TAG_NAME (type) == NULL)
+      else if (show > 0 || TYPE_NAME (type) == NULL)
 	{
 	  pascal_type_print_derivation_info (stream, type);
 
@@ -740,9 +740,9 @@ pascal_type_print_base (struct type *typ
       break;
 
     case TYPE_CODE_ENUM:
-      if (TYPE_TAG_NAME (type) != NULL)
+      if (TYPE_NAME (type) != NULL)
 	{
-	  fputs_filtered (TYPE_TAG_NAME (type), stream);
+	  fputs_filtered (TYPE_NAME (type), stream);
 	  if (show > 0)
 	    fputs_filtered (" ", stream);
 	}
@@ -753,10 +753,10 @@ pascal_type_print_base (struct type *typ
       if (show < 0)
 	{
 	  /* If we just printed a tag name, no need to print anything else.  */
-	  if (TYPE_TAG_NAME (type) == NULL)
+	  if (TYPE_NAME (type) == NULL)
 	    fprintf_filtered (stream, "(...)");
 	}
-      else if (show > 0 || TYPE_TAG_NAME (type) == NULL)
+      else if (show > 0 || TYPE_NAME (type) == NULL)
 	{
 	  fprintf_filtered (stream, "(");
 	  len = TYPE_NFIELDS (type);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-valprint.c ./gdb/p-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/p-valprint.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/p-valprint.c	2018-07-10 02:06:13.000000000 +0000
@@ -489,7 +489,7 @@ const char pascal_vtbl_ptr_name[] =
 int
 pascal_object_is_vtbl_ptr_type (struct type *type)
 {
-  const char *type_name = type_name_no_tag (type);
+  const char *type_name = TYPE_NAME (type);
 
   return (type_name != NULL
 	  && strcmp (type_name, pascal_vtbl_ptr_name) == 0);
@@ -587,7 +587,7 @@ pascal_object_print_value_fields (struct
 		  fprintf_filtered (stream, "\n");
 		  print_spaces_filtered (2 + 2 * recurse, stream);
 		  fputs_filtered ("members of ", stream);
-		  fputs_filtered (type_name_no_tag (type), stream);
+		  fputs_filtered (TYPE_NAME (type), stream);
 		  fputs_filtered (": ", stream);
 		}
 	    }
@@ -729,7 +729,7 @@ pascal_object_print_value (struct type *
     {
       LONGEST boffset = 0;
       struct type *baseclass = check_typedef (TYPE_BASECLASS (type, i));
-      const char *basename = type_name_no_tag (baseclass);
+      const char *basename = TYPE_NAME (baseclass);
       const gdb_byte *base_valaddr = NULL;
       LONGEST thisoffset;
       int skip = 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.1.0.20180703/gdb/python/py-breakpoint.c ./gdb/python/py-breakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-breakpoint.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-breakpoint.c	2018-07-10 02:06:13.000000000 +0000
@@ -25,7 +25,7 @@
 #include "breakpoint.h"
 #include "gdbcmd.h"
 #include "gdbthread.h"
-#include "observer.h"
+#include "observable.h"
 #include "cli/cli-script.h"
 #include "ada-lang.h"
 #include "arch-utils.h"
@@ -510,6 +510,49 @@ bppy_get_commands (PyObject *self, void 
   return host_string_to_python_string (stb.c_str ());
 }
 
+/* Set the commands attached to a breakpoint.  Returns 0 on success.
+   Returns -1 on error, with a python exception set.  */
+static int
+bppy_set_commands (PyObject *self, PyObject *newvalue, void *closure)
+{
+  gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
+  struct breakpoint *bp = self_bp->bp;
+  struct gdb_exception except = exception_none;
+
+  BPPY_SET_REQUIRE_VALID (self_bp);
+
+  gdb::unique_xmalloc_ptr<char> commands
+    (python_string_to_host_string (newvalue));
+  if (commands == nullptr)
+    return -1;
+
+  TRY
+    {
+      bool first = true;
+      char *save_ptr = nullptr;
+      auto reader
+	= [&] ()
+	  {
+	    const char *result = strtok_r (first ? commands.get () : nullptr,
+					   "\n", &save_ptr);
+	    first = false;
+	    return result;
+	  };
+
+      counted_command_line lines = read_command_lines_1 (reader, 1, nullptr);
+      breakpoint_set_commands (self_bp->bp, std::move (lines));
+    }
+  CATCH (ex, RETURN_MASK_ALL)
+    {
+      except = ex;
+    }
+  END_CATCH
+
+  GDB_PY_SET_HANDLE_EXCEPTION (except);
+
+  return 0;
+}
+
 /* Python function to get the breakpoint type.  */
 static PyObject *
 bppy_get_type (PyObject *self, void *closure)
@@ -1086,9 +1129,9 @@ gdbpy_initialize_breakpoints (void)
 			      (PyObject *) &breakpoint_object_type) < 0)
     return -1;
 
-  observer_attach_breakpoint_created (gdbpy_breakpoint_created);
-  observer_attach_breakpoint_deleted (gdbpy_breakpoint_deleted);
-  observer_attach_breakpoint_modified (gdbpy_breakpoint_modified);
+  gdb::observers::breakpoint_created.attach (gdbpy_breakpoint_created);
+  gdb::observers::breakpoint_deleted.attach (gdbpy_breakpoint_deleted);
+  gdb::observers::breakpoint_modified.attach (gdbpy_breakpoint_modified);
 
   /* Add breakpoint types constants.  */
   for (i = 0; pybp_codes[i].name; ++i)
@@ -1185,7 +1228,7 @@ when setting this property.", NULL },
   { "condition", bppy_get_condition, bppy_set_condition,
     "Condition of the breakpoint, as specified by the user,\
 or None if no condition set."},
-  { "commands", bppy_get_commands, NULL,
+  { "commands", bppy_get_commands, bppy_set_commands,
     "Commands of the breakpoint, as specified by the user."},
   { "type", bppy_get_type, NULL,
     "Type of breakpoint."},
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-cmd.c ./gdb/python/py-cmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-cmd.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-cmd.c	2018-07-10 02:06:13.000000000 +0000
@@ -138,8 +138,8 @@ cmdpy_function (struct cmd_list_element 
       error (_("Could not convert arguments to Python string."));
     }
 
-  gdbpy_ref<> ttyobj (from_tty ? Py_True : Py_False);
-  Py_INCREF (ttyobj.get ());
+  gdbpy_ref<> ttyobj
+    = gdbpy_ref<>::new_reference (from_tty ? Py_True : Py_False);
   gdbpy_ref<> result (PyObject_CallMethodObjArgs ((PyObject *) obj, invoke_cst,
 						  argobj.get (), ttyobj.get (),
 						  NULL));
@@ -246,8 +246,7 @@ cmdpy_completer_helper (struct cmd_list_
   if (word == NULL)
     {
       /* "brkchars" phase.  */
-      wordobj.reset (Py_None);
-      Py_INCREF (Py_None);
+      wordobj = gdbpy_ref<>::new_reference (Py_None);
     }
   else
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-exitedevent.c ./gdb/python/py-exitedevent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-exitedevent.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-exitedevent.c	2018-07-10 02:06:13.000000000 +0000
@@ -39,10 +39,10 @@ create_exited_event_object (const LONGES
 	return NULL;
     }
 
-  gdbpy_ref<> inf_obj (inferior_to_inferior_object (inf));
+  gdbpy_ref<inferior_object> inf_obj (inferior_to_inferior_object (inf));
   if (inf_obj == NULL || evpy_add_attribute (exited_event.get (),
 					     "inferior",
-					     inf_obj.get ()) < 0)
+					     (PyObject *) inf_obj.get ()) < 0)
     return NULL;
 
   return exited_event.release ();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-finishbreakpoint.c ./gdb/python/py-finishbreakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-finishbreakpoint.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-finishbreakpoint.c	2018-07-10 02:06:13.000000000 +0000
@@ -26,7 +26,7 @@
 #include "gdbthread.h"
 #include "arch-utils.h"
 #include "language.h"
-#include "observer.h"
+#include "observable.h"
 #include "inferior.h"
 #include "block.h"
 #include "location.h"
@@ -221,14 +221,15 @@ bpfinishpy_init (PyObject *self, PyObjec
   if (PyErr_Occurred ())
     return -1;
 
-  thread = ptid_to_global_thread_id (inferior_ptid);
-  if (thread == 0)
+  if (inferior_ptid == null_ptid)
     {
       PyErr_SetString (PyExc_ValueError,
                        _("No thread currently selected."));
       return -1;
     }
 
+  thread = inferior_thread ()->global_num;
+
   if (internal)
     {
       internal_bp = PyObject_IsTrue (internal);
@@ -416,8 +417,8 @@ gdbpy_initialize_finishbreakpoints (void
 			      (PyObject *) &finish_breakpoint_object_type) < 0)
     return -1;
 
-  observer_attach_normal_stop (bpfinishpy_handle_stop);
-  observer_attach_inferior_exit (bpfinishpy_handle_exit);
+  gdb::observers::normal_stop.attach (bpfinishpy_handle_stop);
+  gdb::observers::inferior_exit.attach (bpfinishpy_handle_exit);
 
   return 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.1.0.20180703/gdb/python/py-framefilter.c ./gdb/python/py-framefilter.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-framefilter.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-framefilter.c	2018-07-10 02:06:13.000000000 +0000
@@ -199,30 +199,16 @@ mi_should_print (struct symbol *sym, enu
 /* Helper function which outputs a type name extracted from VAL to a
    "type" field in the output stream OUT.  OUT is the ui-out structure
    the type name will be output too, and VAL is the value that the
-   type will be extracted from.  Returns EXT_LANG_BT_ERROR on error, with
-   any GDB exceptions converted to a Python exception, or EXT_LANG_BT_OK on
-   success.  */
+   type will be extracted from.  */
 
-static enum ext_lang_bt_status
+static void
 py_print_type (struct ui_out *out, struct value *val)
 {
+  check_typedef (value_type (val));
 
-  TRY
-    {
-      check_typedef (value_type (val));
-
-      string_file stb;
-      type_print (value_type (val), "", &stb, -1);
-      out->field_stream ("type", stb);
-    }
-  CATCH (except, RETURN_MASK_ALL)
-    {
-      gdbpy_convert_exception (except);
-      return EXT_LANG_BT_ERROR;
-    }
-  END_CATCH
-
-  return EXT_LANG_BT_OK;
+  string_file stb;
+  type_print (value_type (val), "", &stb, -1);
+  out->field_stream ("type", stb);
 }
 
 /* Helper function which outputs a value to an output field in a
@@ -230,11 +216,9 @@ py_print_type (struct ui_out *out, struc
    VAL is the value that will be printed, OPTS contains the value
    printing options, ARGS_TYPE is an enumerator describing the
    argument format, and LANGUAGE is the language_defn that the value
-   will be printed with.  Returns EXT_LANG_BT_ERROR on error, with any GDB
-   exceptions converted to a Python exception, or EXT_LANG_BT_OK on
-   success. */
+   will be printed with.  */
 
-static enum ext_lang_bt_status
+static void
 py_print_value (struct ui_out *out, struct value *val,
 		const struct value_print_options *opts,
 		int indent,
@@ -249,18 +233,7 @@ py_print_value (struct ui_out *out, stru
   if (args_type == MI_PRINT_SIMPLE_VALUES
       || args_type == MI_PRINT_ALL_VALUES)
     {
-      struct type *type = NULL;
-
-      TRY
-	{
-	  type = check_typedef (value_type (val));
-	}
-      CATCH (except, RETURN_MASK_ALL)
-	{
-	  gdbpy_convert_exception (except);
-	  return EXT_LANG_BT_ERROR;
-	}
-      END_CATCH
+      struct type *type = check_typedef (value_type (val));
 
       if (args_type == MI_PRINT_ALL_VALUES)
 	should_print = 1;
@@ -275,22 +248,11 @@ py_print_value (struct ui_out *out, stru
 
   if (should_print)
     {
-      TRY
-	{
-	  string_file stb;
+      string_file stb;
 
-	  common_val_print (val, &stb, indent, opts, language);
-	  out->field_stream ("value", stb);
-	}
-      CATCH (except, RETURN_MASK_ALL)
-	{
-	  gdbpy_convert_exception (except);
-	  return EXT_LANG_BT_ERROR;
-	}
-      END_CATCH
+      common_val_print (val, &stb, indent, opts, language);
+      out->field_stream ("value", stb);
     }
-
-  return EXT_LANG_BT_OK;
 }
 
 /* Helper function to call a Python method and extract an iterator
@@ -338,10 +300,9 @@ get_py_iter_from_func (PyObject *filter,
     ARGS_TYPE is an enumerator describing the argument format,
     PRINT_ARGS_FIELD is a flag which indicates if we output "ARGS=1"
     in MI output in commands where both arguments and locals are
-    printed.  Returns EXT_LANG_BT_ERROR on error, with any GDB exceptions
-    converted to a Python exception, or EXT_LANG_BT_OK on success.  */
+    printed.  */
 
-static enum ext_lang_bt_status
+static void
 py_print_single_arg (struct ui_out *out,
 		     const char *sym_name,
 		     struct frame_arg *fa,
@@ -352,115 +313,96 @@ py_print_single_arg (struct ui_out *out,
 		     const struct language_defn *language)
 {
   struct value *val;
-  enum ext_lang_bt_status retval = EXT_LANG_BT_OK;
 
   if (fa != NULL)
     {
       if (fa->val == NULL && fa->error == NULL)
-	return EXT_LANG_BT_OK;
+	return;
       language = language_def (SYMBOL_LANGUAGE (fa->sym));
       val = fa->val;
     }
   else
     val = fv;
 
-  TRY
-    {
-      gdb::optional<ui_out_emit_tuple> maybe_tuple;
+  gdb::optional<ui_out_emit_tuple> maybe_tuple;
 
-      /*  MI has varying rules for tuples, but generally if there is only
+  /*  MI has varying rules for tuples, but generally if there is only
       one element in each item in the list, do not start a tuple.  The
       exception is -stack-list-variables which emits an ARGS="1" field
       if the value is a frame argument.  This is denoted in this
       function with PRINT_ARGS_FIELD which is flag from the caller to
       emit the ARGS field.  */
-      if (out->is_mi_like_p ())
-	{
-	  if (print_args_field || args_type != NO_VALUES)
-	    maybe_tuple.emplace (out, nullptr);
-	}
+  if (out->is_mi_like_p ())
+    {
+      if (print_args_field || args_type != NO_VALUES)
+	maybe_tuple.emplace (out, nullptr);
+    }
 
-      annotate_arg_begin ();
+  annotate_arg_begin ();
 
-      /* If frame argument is populated, check for entry-values and the
-	 entry value options.  */
-      if (fa != NULL)
+  /* If frame argument is populated, check for entry-values and the
+     entry value options.  */
+  if (fa != NULL)
+    {
+      string_file stb;
+
+      fprintf_symbol_filtered (&stb, SYMBOL_PRINT_NAME (fa->sym),
+			       SYMBOL_LANGUAGE (fa->sym),
+			       DMGL_PARAMS | DMGL_ANSI);
+      if (fa->entry_kind == print_entry_values_compact)
 	{
-	  string_file stb;
+	  stb.puts ("=");
 
 	  fprintf_symbol_filtered (&stb, SYMBOL_PRINT_NAME (fa->sym),
 				   SYMBOL_LANGUAGE (fa->sym),
 				   DMGL_PARAMS | DMGL_ANSI);
-	  if (fa->entry_kind == print_entry_values_compact)
-	    {
-	      stb.puts ("=");
-
-	      fprintf_symbol_filtered (&stb, SYMBOL_PRINT_NAME (fa->sym),
-				       SYMBOL_LANGUAGE (fa->sym),
-				       DMGL_PARAMS | DMGL_ANSI);
-	    }
-	  if (fa->entry_kind == print_entry_values_only
-	      || fa->entry_kind == print_entry_values_compact)
-	    stb.puts ("@entry");
-	  out->field_stream ("name", stb);
 	}
-      else
-	/* Otherwise, just output the name.  */
-	out->field_string ("name", sym_name);
+      if (fa->entry_kind == print_entry_values_only
+	  || fa->entry_kind == print_entry_values_compact)
+	stb.puts ("@entry");
+      out->field_stream ("name", stb);
+    }
+  else
+    /* Otherwise, just output the name.  */
+    out->field_string ("name", sym_name);
 
-      annotate_arg_name_end ();
+  annotate_arg_name_end ();
 
-      if (! out->is_mi_like_p ())
-	out->text ("=");
+  out->text ("=");
 
-      if (print_args_field)
-	out->field_int ("arg", 1);
+  if (print_args_field)
+    out->field_int ("arg", 1);
 
-      /* For MI print the type, but only for simple values.  This seems
-	 weird, but this is how MI choose to format the various output
-	 types.  */
-      if (args_type == MI_PRINT_SIMPLE_VALUES && val != NULL)
-	{
-	  if (py_print_type (out, val) == EXT_LANG_BT_ERROR)
-	    retval = EXT_LANG_BT_ERROR;
-	}
+  /* For MI print the type, but only for simple values.  This seems
+     weird, but this is how MI choose to format the various output
+     types.  */
+  if (args_type == MI_PRINT_SIMPLE_VALUES && val != NULL)
+    py_print_type (out, val);
 
-      if (retval != EXT_LANG_BT_ERROR)
-	{
-	  if (val != NULL)
-	    annotate_arg_value (value_type (val));
+  if (val != NULL)
+    annotate_arg_value (value_type (val));
 
-	  /* If the output is to the CLI, and the user option "set print
-	     frame-arguments" is set to none, just output "...".  */
-	  if (! out->is_mi_like_p () && args_type == NO_VALUES)
-	    out->field_string ("value", "...");
-	  else
-	    {
-	      /* Otherwise, print the value for both MI and the CLI, except
-		 for the case of MI_PRINT_NO_VALUES.  */
-	      if (args_type != NO_VALUES)
-		{
-		  if (val == NULL)
-		    {
-		      gdb_assert (fa != NULL && fa->error != NULL);
-		      out->field_fmt ("value",
-					_("<error reading variable: %s>"),
-					fa->error);
-		    }
-		  else if (py_print_value (out, val, opts, 0, args_type, language)
-			   == EXT_LANG_BT_ERROR)
-		    retval = EXT_LANG_BT_ERROR;
-		}
+  /* If the output is to the CLI, and the user option "set print
+     frame-arguments" is set to none, just output "...".  */
+  if (! out->is_mi_like_p () && args_type == NO_VALUES)
+    out->field_string ("value", "...");
+  else
+    {
+      /* Otherwise, print the value for both MI and the CLI, except
+	 for the case of MI_PRINT_NO_VALUES.  */
+      if (args_type != NO_VALUES)
+	{
+	  if (val == NULL)
+	    {
+	      gdb_assert (fa != NULL && fa->error != NULL);
+	      out->field_fmt ("value",
+			      _("<error reading variable: %s>"),
+			      fa->error);
 	    }
+	  else
+	    py_print_value (out, val, opts, 0, args_type, language);
 	}
     }
-  CATCH (except, RETURN_MASK_ERROR)
-    {
-      gdbpy_convert_exception (except);
-    }
-  END_CATCH
-
-  return retval;
 }
 
 /* Helper function to loop over frame arguments provided by the
@@ -493,16 +435,7 @@ enumerate_args (PyObject *iter,
 
   opts.deref_ref = 1;
 
-  TRY
-    {
-      annotate_frame_args ();
-    }
-  CATCH (except, RETURN_MASK_ALL)
-    {
-      gdbpy_convert_exception (except);
-      return EXT_LANG_BT_ERROR;
-    }
-  END_CATCH
+  annotate_frame_args ();
 
   /*  Collect the first argument outside of the loop, so output of
       commas in the argument output is correct.  At the end of the
@@ -549,16 +482,10 @@ enumerate_args (PyObject *iter,
 	      return EXT_LANG_BT_ERROR;
 	    }
 
-	  TRY
-	    {
-	      read_frame_arg (sym, frame, &arg, &entryarg);
-	    }
-	  CATCH (except, RETURN_MASK_ALL)
-	    {
-	      gdbpy_convert_exception (except);
-	      return EXT_LANG_BT_ERROR;
-	    }
-	  END_CATCH
+	  read_frame_arg (sym, frame, &arg, &entryarg);
+
+	  gdb::unique_xmalloc_ptr<char> arg_holder (arg.error);
+	  gdb::unique_xmalloc_ptr<char> entry_holder (entryarg.error);
 
 	  /* The object has not provided a value, so this is a frame
 	     argument to be read by GDB.  In this case we have to
@@ -566,60 +493,32 @@ enumerate_args (PyObject *iter,
 
 	  if (arg.entry_kind != print_entry_values_only)
 	    {
-	      if (py_print_single_arg (out, NULL, &arg,
-				       NULL, &opts,
-				       args_type,
-				       print_args_field,
-				       NULL) == EXT_LANG_BT_ERROR)
-		{
-		  xfree (arg.error);
-		  xfree (entryarg.error);
-		  return EXT_LANG_BT_ERROR;
-		}
+	      py_print_single_arg (out, NULL, &arg,
+				   NULL, &opts,
+				   args_type,
+				   print_args_field,
+				   NULL);
 	    }
 
 	  if (entryarg.entry_kind != print_entry_values_no)
 	    {
 	      if (arg.entry_kind != print_entry_values_only)
 		{
-		  TRY
-		    {
-		      out->text (", ");
-		      out->wrap_hint ("    ");
-		    }
-		  CATCH (except, RETURN_MASK_ALL)
-		    {
-		      xfree (arg.error);
-		      xfree (entryarg.error);
-		      gdbpy_convert_exception (except);
-		      return EXT_LANG_BT_ERROR;
-		    }
-		  END_CATCH
+		  out->text (", ");
+		  out->wrap_hint ("    ");
 		}
 
-	      if (py_print_single_arg (out, NULL, &entryarg, NULL, &opts,
-				       args_type, print_args_field, NULL)
-		  == EXT_LANG_BT_ERROR)
-		{
-		  xfree (arg.error);
-		  xfree (entryarg.error);
-		  return EXT_LANG_BT_ERROR;
-		}
+	      py_print_single_arg (out, NULL, &entryarg, NULL, &opts,
+				   args_type, print_args_field, NULL);
 	    }
-
-	  xfree (arg.error);
-	  xfree (entryarg.error);
 	}
       else
 	{
 	  /* If the object has provided a value, we just print that.  */
 	  if (val != NULL)
-	    {
-	      if (py_print_single_arg (out, sym_name.get (), NULL, val, &opts,
-				       args_type, print_args_field,
-				       language) == EXT_LANG_BT_ERROR)
-		return EXT_LANG_BT_ERROR;
-	    }
+	    py_print_single_arg (out, sym_name.get (), NULL, val, &opts,
+				 args_type, print_args_field,
+				 language);
 	}
 
       /* Collect the next item from the iterator.  If
@@ -627,31 +526,11 @@ enumerate_args (PyObject *iter,
 	 comma.  */
       item.reset (PyIter_Next (iter));
       if (item != NULL)
-	{
-	  TRY
-	    {
-	      out->text (", ");
-	    }
-	  CATCH (except, RETURN_MASK_ALL)
-	    {
-	      gdbpy_convert_exception (except);
-	      return EXT_LANG_BT_ERROR;
-	    }
-	  END_CATCH
-	}
+	out->text (", ");
       else if (PyErr_Occurred ())
 	return EXT_LANG_BT_ERROR;
 
-      TRY
-	{
-	  annotate_arg_end ();
-	}
-      CATCH (except, RETURN_MASK_ALL)
-	{
-	  gdbpy_convert_exception (except);
-	  return EXT_LANG_BT_ERROR;
-	}
-      END_CATCH
+      annotate_arg_end ();
     }
 
   return EXT_LANG_BT_OK;
@@ -712,18 +591,7 @@ enumerate_locals (PyObject *iter,
 
       /* If the object did not provide a value, read it.  */
       if (val == NULL)
-	{
-	  TRY
-	    {
-	      val = read_var_value (sym, sym_block, frame);
-	    }
-	  CATCH (except, RETURN_MASK_ERROR)
-	    {
-	      gdbpy_convert_exception (except);
-	      return EXT_LANG_BT_ERROR;
-	    }
-	  END_CATCH
-	}
+	val = read_var_value (sym, sym_block, frame);
 
       /* With PRINT_NO_VALUES, MI does not emit a tuple normally as
 	 each output contains only one field.  The exception is
@@ -733,31 +601,14 @@ enumerate_locals (PyObject *iter,
 	  if (print_args_field || args_type != NO_VALUES)
 	    tuple.emplace (out, nullptr);
 	}
-      TRY
-	{
-	  if (! out->is_mi_like_p ())
-	    {
-	      /* If the output is not MI we indent locals.  */
-	      out->spaces (local_indent);
-	    }
 
-	  out->field_string ("name", sym_name.get ());
-
-	  if (! out->is_mi_like_p ())
-	    out->text (" = ");
-	}
-      CATCH (except, RETURN_MASK_ERROR)
-	{
-	  gdbpy_convert_exception (except);
-	  return EXT_LANG_BT_ERROR;
-	}
-      END_CATCH
+      /* If the output is not MI we indent locals.  */
+      out->spaces (local_indent);
+      out->field_string ("name", sym_name.get ());
+      out->text (" = ");
 
       if (args_type == MI_PRINT_SIMPLE_VALUES)
-	{
-	  if (py_print_type (out, val) == EXT_LANG_BT_ERROR)
-	    return EXT_LANG_BT_ERROR;
-	}
+	py_print_type (out, val);
 
       /* CLI always prints values for locals.  MI uses the
 	 simple/no/all system.  */
@@ -765,30 +616,17 @@ enumerate_locals (PyObject *iter,
 	{
 	  int val_indent = (indent + 1) * 4;
 
-	  if (py_print_value (out, val, &opts, val_indent, args_type,
-			      language) == EXT_LANG_BT_ERROR)
-	    return EXT_LANG_BT_ERROR;
+	  py_print_value (out, val, &opts, val_indent, args_type,
+			  language);
 	}
       else
 	{
 	  if (args_type != NO_VALUES)
-	    {
-	      if (py_print_value (out, val, &opts, 0, args_type,
-				  language) == EXT_LANG_BT_ERROR)
-		return EXT_LANG_BT_ERROR;
-	    }
+	    py_print_value (out, val, &opts, 0, args_type,
+			    language);
 	}
 
-      TRY
-	{
-	  out->text ("\n");
-	}
-      CATCH (except, RETURN_MASK_ERROR)
-	{
-	  gdbpy_convert_exception (except);
-	  return EXT_LANG_BT_ERROR;
-	}
-      END_CATCH
+      out->text ("\n");
     }
 
   if (!PyErr_Occurred ())
@@ -871,35 +709,16 @@ py_print_args (PyObject *filter,
 
   ui_out_emit_list list_emitter (out, "args");
 
-  TRY
-    {
-      annotate_frame_args ();
-      if (! out->is_mi_like_p ())
-	out->text (" (");
-    }
-  CATCH (except, RETURN_MASK_ALL)
-    {
-      gdbpy_convert_exception (except);
-      return EXT_LANG_BT_ERROR;
-    }
-  END_CATCH
+  out->wrap_hint ("   ");
+  annotate_frame_args ();
+  out->text (" (");
 
   if (args_iter != Py_None
       && (enumerate_args (args_iter.get (), out, args_type, 0, frame)
 	  == EXT_LANG_BT_ERROR))
     return EXT_LANG_BT_ERROR;
 
-  TRY
-    {
-      if (! out->is_mi_like_p ())
-	out->text (")");
-    }
-  CATCH (except, RETURN_MASK_ALL)
-    {
-      gdbpy_convert_exception (except);
-      return EXT_LANG_BT_ERROR;
-    }
-  END_CATCH
+  out->text (")");
 
   return EXT_LANG_BT_OK;
 }
@@ -916,11 +735,11 @@ py_print_args (PyObject *filter,
     containing all the frames level that have already been printed.
     If a frame level has been printed, do not print it again (in the
     case of elided frames).  Returns EXT_LANG_BT_ERROR on error, with any
-    GDB exceptions converted to a Python exception, or EXT_LANG_BT_COMPLETED
+    GDB exceptions converted to a Python exception, or EXT_LANG_BT_OK
     on success.  It can also throw an exception RETURN_QUIT.  */
 
 static enum ext_lang_bt_status
-py_print_frame (PyObject *filter, int flags,
+py_print_frame (PyObject *filter, frame_filter_flags flags,
 		enum ext_lang_frame_args args_type,
 		struct ui_out *out, int indent, htab_t levels_printed)
 {
@@ -952,16 +771,7 @@ py_print_frame (PyObject *filter, int fl
   if (frame == NULL)
     return EXT_LANG_BT_ERROR;
 
-  TRY
-    {
-      gdbarch = get_frame_arch (frame);
-    }
-  CATCH (except, RETURN_MASK_ERROR)
-    {
-      gdbpy_convert_exception (except);
-      return EXT_LANG_BT_ERROR;
-    }
-  END_CATCH
+  gdbarch = get_frame_arch (frame);
 
   /* stack-list-variables.  */
   if (print_locals && print_args && ! print_frame_info)
@@ -969,7 +779,7 @@ py_print_frame (PyObject *filter, int fl
       if (py_mi_print_variables (filter, out, &opts,
 				 args_type, frame) == EXT_LANG_BT_ERROR)
 	return EXT_LANG_BT_ERROR;
-      return EXT_LANG_BT_COMPLETED;
+      return EXT_LANG_BT_OK;
     }
 
   gdb::optional<ui_out_emit_tuple> tuple;
@@ -984,18 +794,7 @@ py_print_frame (PyObject *filter, int fl
       /* Elided frames are also printed with this function (recursively)
 	 and are printed with indention.  */
       if (indent > 0)
-	{
-	  TRY
-	    {
-	      out->spaces (indent * 4);
-	    }
-	  CATCH (except, RETURN_MASK_ERROR)
-	    {
-	      gdbpy_convert_exception (except);
-	      return EXT_LANG_BT_ERROR;
-	    }
-	  END_CATCH
-	}
+	out->spaces (indent * 4);
 
       /* The address is required for frame annotations, and also for
 	 address printing.  */
@@ -1025,32 +824,24 @@ py_print_frame (PyObject *filter, int fl
 
       slot = (struct frame_info **) htab_find_slot (levels_printed,
 						    frame, INSERT);
-      TRY
-	{
-	  level = frame_relative_level (frame);
 
-	  /* Check if this frame has already been printed (there are cases
-	     where elided synthetic dummy-frames have to 'borrow' the frame
-	     architecture from the eliding frame.  If that is the case, do
-	     not print 'level', but print spaces.  */
-	  if (*slot == frame)
-	    out->field_skip ("level");
-	  else
-	    {
-	      *slot = frame;
-	      annotate_frame_begin (print_level ? level : 0,
-				    gdbarch, address);
-	      out->text ("#");
-	      out->field_fmt_int (2, ui_left, "level",
-				    level);
-	    }
-	}
-      CATCH (except, RETURN_MASK_ERROR)
+      level = frame_relative_level (frame);
+
+      /* Check if this frame has already been printed (there are cases
+	 where elided synthetic dummy-frames have to 'borrow' the frame
+	 architecture from the eliding frame.  If that is the case, do
+	 not print 'level', but print spaces.  */
+      if (*slot == frame)
+	out->field_skip ("level");
+      else
 	{
-	  gdbpy_convert_exception (except);
-	  return EXT_LANG_BT_ERROR;
+	  *slot = frame;
+	  annotate_frame_begin (print_level ? level : 0,
+				gdbarch, address);
+	  out->text ("#");
+	  out->field_fmt_int (2, ui_left, "level",
+			      level);
 	}
-      END_CATCH
     }
 
   if (print_frame_info)
@@ -1059,19 +850,10 @@ py_print_frame (PyObject *filter, int fl
 	 print nothing.  */
       if (opts.addressprint && has_addr)
 	{
-	  TRY
-	    {
-	      annotate_frame_address ();
-	      out->field_core_addr ("addr", gdbarch, address);
-	      annotate_frame_address_end ();
-	      out->text (" in ");
-	    }
-	  CATCH (except, RETURN_MASK_ERROR)
-	    {
-	      gdbpy_convert_exception (except);
-	      return EXT_LANG_BT_ERROR;
-	    }
-	  END_CATCH
+	  annotate_frame_address ();
+	  out->field_core_addr ("addr", gdbarch, address);
+	  annotate_frame_address_end ();
+	  out->text (" in ");
 	}
 
       /* Print frame function name.  */
@@ -1112,20 +894,11 @@ py_print_frame (PyObject *filter, int fl
 	      return EXT_LANG_BT_ERROR;
 	    }
 
-	  TRY
-	    {
-	      annotate_frame_function_name ();
-	      if (function == NULL)
-		out->field_skip ("func");
-	      else
-		out->field_string ("func", function);
-	    }
-	  CATCH (except, RETURN_MASK_ERROR)
-	    {
-	      gdbpy_convert_exception (except);
-	      return EXT_LANG_BT_ERROR;
-	    }
-	  END_CATCH
+	  annotate_frame_function_name ();
+	  if (function == NULL)
+	    out->field_skip ("func");
+	  else
+	    out->field_string ("func", function);
 	}
     }
 
@@ -1141,16 +914,7 @@ py_print_frame (PyObject *filter, int fl
   /* File name/source/line number information.  */
   if (print_frame_info)
     {
-      TRY
-	{
-	  annotate_frame_source_begin ();
-	}
-      CATCH (except, RETURN_MASK_ERROR)
-	{
-	  gdbpy_convert_exception (except);
-	  return EXT_LANG_BT_ERROR;
-	}
-      END_CATCH
+      annotate_frame_source_begin ();
 
       if (PyObject_HasAttrString (filter, "filename"))
 	{
@@ -1167,20 +931,11 @@ py_print_frame (PyObject *filter, int fl
 	      if (filename == NULL)
 		return EXT_LANG_BT_ERROR;
 
-	      TRY
-		{
-		  out->wrap_hint ("   ");
-		  out->text (" at ");
-		  annotate_frame_source_file ();
-		  out->field_string ("file", filename.get ());
-		  annotate_frame_source_file_end ();
-		}
-	      CATCH (except, RETURN_MASK_ERROR)
-		{
-		  gdbpy_convert_exception (except);
-		  return EXT_LANG_BT_ERROR;
-		}
-	      END_CATCH
+	      out->wrap_hint ("   ");
+	      out->text (" at ");
+	      annotate_frame_source_file ();
+	      out->field_string ("file", filename.get ());
+	      annotate_frame_source_file_end ();
 	    }
 	}
 
@@ -1198,18 +953,9 @@ py_print_frame (PyObject *filter, int fl
 	      if (PyErr_Occurred ())
 		return EXT_LANG_BT_ERROR;
 
-	      TRY
-		{
-		  out->text (":");
-		  annotate_frame_source_line ();
-		  out->field_int ("line", line);
-		}
-	      CATCH (except, RETURN_MASK_ERROR)
-		{
-		  gdbpy_convert_exception (except);
-		  return EXT_LANG_BT_ERROR;
-		}
-	      END_CATCH
+	      out->text (":");
+	      annotate_frame_source_line ();
+	      out->field_int ("line", line);
 	    }
 	}
     }
@@ -1218,17 +964,8 @@ py_print_frame (PyObject *filter, int fl
      elided frames, so if MI output detected do not send newline.  */
   if (! out->is_mi_like_p ())
     {
-      TRY
-	{
-	  annotate_frame_end ();
-	  out->text ("\n");
-	}
-      CATCH (except, RETURN_MASK_ERROR)
-	{
-	  gdbpy_convert_exception (except);
-	  return EXT_LANG_BT_ERROR;
-	}
-      END_CATCH
+      annotate_frame_end ();
+      out->text ("\n");
     }
 
   if (print_locals)
@@ -1238,39 +975,38 @@ py_print_frame (PyObject *filter, int fl
 	return EXT_LANG_BT_ERROR;
     }
 
-  {
-    /* Finally recursively print elided frames, if any.  */
-    gdbpy_ref<> elided (get_py_iter_from_func (filter, "elided"));
-    if (elided == NULL)
-      return EXT_LANG_BT_ERROR;
-
-    if (elided != Py_None)
-      {
-	PyObject *item;
+  if ((flags & PRINT_HIDE) == 0)
+    {
+      /* Finally recursively print elided frames, if any.  */
+      gdbpy_ref<> elided (get_py_iter_from_func (filter, "elided"));
+      if (elided == NULL)
+	return EXT_LANG_BT_ERROR;
+
+      if (elided != Py_None)
+	{
+	  PyObject *item;
 
-	ui_out_emit_list inner_list_emiter (out, "children");
+	  ui_out_emit_list inner_list_emiter (out, "children");
 
-	if (! out->is_mi_like_p ())
 	  indent++;
 
-	while ((item = PyIter_Next (elided.get ())))
-	  {
-	    gdbpy_ref<> item_ref (item);
-
-	    enum ext_lang_bt_status success = py_print_frame (item, flags,
-							      args_type, out,
-							      indent,
-							      levels_printed);
+	  while ((item = PyIter_Next (elided.get ())))
+	    {
+	      gdbpy_ref<> item_ref (item);
 
-	    if (success == EXT_LANG_BT_ERROR)
-	      return EXT_LANG_BT_ERROR;
-	  }
-	if (item == NULL && PyErr_Occurred ())
-	  return EXT_LANG_BT_ERROR;
-      }
-  }
+	      enum ext_lang_bt_status success
+		= py_print_frame (item, flags, args_type, out, indent,
+				  levels_printed);
+
+	      if (success == EXT_LANG_BT_ERROR)
+		return EXT_LANG_BT_ERROR;
+	    }
+	  if (item == NULL && PyErr_Occurred ())
+	    return EXT_LANG_BT_ERROR;
+	}
+    }
 
-  return EXT_LANG_BT_COMPLETED;
+  return EXT_LANG_BT_OK;
 }
 
 /* Helper function to initiate frame filter invocation at starting
@@ -1315,6 +1051,21 @@ bootstrap_python_frame_filters (struct f
     return iterable.release ();
 }
 
+/* A helper function that will either print an exception or, if it is
+   a KeyboardException, throw a quit.  This can only be called when
+   the Python exception is set.  */
+
+static void
+throw_quit_or_print_exception ()
+{
+  if (PyErr_ExceptionMatches (PyExc_KeyboardInterrupt))
+    {
+      PyErr_Clear ();
+      throw_quit ("Quit");
+    }
+  gdbpy_print_stack ();
+}
+
 /*  This is the only publicly exported function in this file.  FRAME
     is the source frame to start frame-filter invocation.  FLAGS is an
     integer holding the flags for printing.  The following elements of
@@ -1328,11 +1079,11 @@ bootstrap_python_frame_filters (struct f
     format, OUT is the output stream to print.  FRAME_LOW is the
     beginning of the slice of frames to print, and FRAME_HIGH is the
     upper limit of the frames to count.  Returns EXT_LANG_BT_ERROR on error,
-    or EXT_LANG_BT_COMPLETED on success.  */
+    or EXT_LANG_BT_OK on success.  */
 
 enum ext_lang_bt_status
 gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
-			  struct frame_info *frame, int flags,
+			  struct frame_info *frame, frame_filter_flags flags,
 			  enum ext_lang_frame_args args_type,
 			  struct ui_out *out, int frame_low, int frame_high)
 {
@@ -1346,7 +1097,7 @@ gdbpy_apply_frame_filter (const struct e
     {
       gdbarch = get_frame_arch (frame);
     }
-  CATCH (except, RETURN_MASK_ALL)
+  CATCH (except, RETURN_MASK_ERROR)
     {
       /* Let gdb try to print the stack trace.  */
       return EXT_LANG_BT_NO_FILTERS;
@@ -1355,6 +1106,18 @@ gdbpy_apply_frame_filter (const struct e
 
   gdbpy_enter enter_py (gdbarch, current_language);
 
+  /* When we're limiting the number of frames, be careful to request
+     one extra frame, so that we can print a message if there are more
+     frames.  */
+  int frame_countdown = -1;
+  if ((flags & PRINT_MORE_FRAMES) != 0 && frame_low >= 0 && frame_high >= 0)
+    {
+      ++frame_high;
+      /* This has an extra +1 because it is checked before a frame is
+	 printed.  */
+      frame_countdown = frame_high - frame_low + 1;
+    }
+
   gdbpy_ref<> iterable (bootstrap_python_frame_filters (frame, frame_low,
 							frame_high));
 
@@ -1373,7 +1136,7 @@ gdbpy_apply_frame_filter (const struct e
 	 initialization error.  This return code will trigger a
 	 default backtrace.  */
 
-      gdbpy_print_stack ();
+      throw_quit_or_print_exception ();
       return EXT_LANG_BT_NO_FILTERS;
     }
 
@@ -1396,19 +1159,41 @@ gdbpy_apply_frame_filter (const struct e
 	{
 	  if (PyErr_Occurred ())
 	    {
-	      gdbpy_print_stack ();
+	      throw_quit_or_print_exception ();
 	      return EXT_LANG_BT_ERROR;
 	    }
 	  break;
 	}
 
-      success = py_print_frame (item.get (), flags, args_type, out, 0,
-				levels_printed.get ());
+      if (frame_countdown != -1)
+	{
+	  gdb_assert ((flags & PRINT_MORE_FRAMES) != 0);
+	  --frame_countdown;
+	  if (frame_countdown == 0)
+	    {
+	      /* We've printed all the frames we were asked to
+		 print, but more frames existed.  */
+	      printf_filtered (_("(More stack frames follow...)\n"));
+	      break;
+	    }
+	}
+
+      TRY
+	{
+	  success = py_print_frame (item.get (), flags, args_type, out, 0,
+				    levels_printed.get ());
+	}
+      CATCH (except, RETURN_MASK_ERROR)
+	{
+	  gdbpy_convert_exception (except);
+	  success = EXT_LANG_BT_ERROR;
+	}
+      END_CATCH
 
       /* Do not exit on error printing a single frame.  Print the
 	 error and continue with other frames.  */
       if (success == EXT_LANG_BT_ERROR)
-	gdbpy_print_stack ();
+	throw_quit_or_print_exception ();
     }
 
   return success;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-inferior.c ./gdb/python/py-inferior.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-inferior.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-inferior.c	2018-07-10 02:06:13.000000000 +0000
@@ -22,7 +22,7 @@
 #include "gdbthread.h"
 #include "inferior.h"
 #include "objfiles.h"
-#include "observer.h"
+#include "observable.h"
 #include "python-internal.h"
 #include "arch-utils.h"
 #include "language.h"
@@ -35,7 +35,7 @@ struct threadlist_entry {
   struct threadlist_entry *next;
 };
 
-typedef struct
+struct inferior_object
 {
   PyObject_HEAD
 
@@ -48,7 +48,7 @@ typedef struct
 
   /* Number of threads in the list.  */
   int nthreads;
-} inferior_object;
+};
 
 extern PyTypeObject inferior_object_type
     CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("inferior_object");
@@ -207,7 +207,8 @@ python_new_objfile (struct objfile *objf
    representing INFERIOR.  If the object has already been created,
    return it and increment the reference count,  otherwise, create it.
    Return NULL on failure.  */
-PyObject *
+
+inferior_object *
 inferior_to_inferior_object (struct inferior *inferior)
 {
   inferior_object *inf_obj;
@@ -232,7 +233,7 @@ inferior_to_inferior_object (struct infe
   /* We are returning a new reference.  */
   Py_INCREF ((PyObject *)inf_obj);
 
-  return (PyObject *) inf_obj;
+  return inf_obj;
 }
 
 /* Called when a new inferior is created.  Notifies any Python event
@@ -248,7 +249,7 @@ python_new_inferior (struct inferior *in
   if (evregpy_no_listeners_p (gdb_py_events.new_inferior))
     return;
 
-  gdbpy_ref<> inf_obj (inferior_to_inferior_object (inf));
+  gdbpy_ref<inferior_object> inf_obj (inferior_to_inferior_object (inf));
   if (inf_obj == NULL)
     {
       gdbpy_print_stack ();
@@ -257,7 +258,8 @@ python_new_inferior (struct inferior *in
 
   gdbpy_ref<> event (create_event_object (&new_inferior_event_object_type));
   if (event == NULL
-      || evpy_add_attribute (event.get (), "inferior", inf_obj.get ()) < 0
+      || evpy_add_attribute (event.get (), "inferior",
+			     (PyObject *) inf_obj.get ()) < 0
       || evpy_emit_event (event.get (), gdb_py_events.new_inferior) < 0)
     gdbpy_print_stack ();
 }
@@ -275,7 +277,7 @@ python_inferior_deleted (struct inferior
   if (evregpy_no_listeners_p (gdb_py_events.inferior_deleted))
     return;
 
-  gdbpy_ref<> inf_obj (inferior_to_inferior_object (inf));
+  gdbpy_ref<inferior_object> inf_obj (inferior_to_inferior_object (inf));
   if (inf_obj == NULL)
     {
       gdbpy_print_stack ();
@@ -284,7 +286,8 @@ python_inferior_deleted (struct inferior
 
   gdbpy_ref<> event (create_event_object (&inferior_deleted_event_object_type));
   if (event == NULL
-      || evpy_add_attribute (event.get (), "inferior", inf_obj.get ()) < 0
+      || evpy_add_attribute (event.get (), "inferior",
+			     (PyObject *) inf_obj.get ()) < 0
       || evpy_emit_event (event.get (), gdb_py_events.inferior_deleted) < 0)
     gdbpy_print_stack ();
 }
@@ -298,28 +301,22 @@ find_inferior_object (int pid)
   struct inferior *inf = find_inferior_pid (pid);
 
   if (inf)
-    return inferior_to_inferior_object (inf);
+    return (PyObject *) inferior_to_inferior_object (inf);
 
   return NULL;
 }
 
 thread_object *
-find_thread_object (ptid_t ptid)
+thread_to_thread_object (thread_info *thr)
 {
-  int pid;
-  struct threadlist_entry *thread;
-
-  pid = ptid_get_pid (ptid);
-  if (pid == 0)
-    return NULL;
-
-  gdbpy_ref<> inf_obj (find_inferior_object (pid));
+  gdbpy_ref<inferior_object> inf_obj (inferior_to_inferior_object (thr->inf));
   if (inf_obj == NULL)
     return NULL;
 
-  for (thread = ((inferior_object *)(inf_obj.get ()))->threads; thread;
+  for (threadlist_entry *thread = inf_obj->threads;
+       thread != NULL;
        thread = thread->next)
-    if (ptid_equal (thread->thread_obj->thread->ptid, ptid))
+    if (thread->thread_obj->thread == thr)
       return thread->thread_obj;
 
   return NULL;
@@ -374,7 +371,7 @@ delete_thread_object (struct thread_info
   gdbpy_enter enter_py (python_gdbarch, python_language);
 
   gdbpy_ref<inferior_object> inf_obj
-    ((inferior_object *) find_inferior_object (ptid_get_pid (tp->ptid)));
+    ((inferior_object *) inferior_to_inferior_object (tp->inf));
   if (inf_obj == NULL)
     return;
 
@@ -466,12 +463,12 @@ static int
 build_inferior_list (struct inferior *inf, void *arg)
 {
   PyObject *list = (PyObject *) arg;
-  gdbpy_ref<> inferior (inferior_to_inferior_object (inf));
+  gdbpy_ref<inferior_object> inferior (inferior_to_inferior_object (inf));
 
-  if (inferior  == NULL)
+  if (inferior == NULL)
     return 0;
 
-  return PyList_Append (list, inferior.get ()) ? 1 : 0;
+  return PyList_Append (list, (PyObject *) inferior.get ()) ? 1 : 0;
 }
 
 /* Implementation of gdb.inferiors () -> (gdb.Inferior, ...).
@@ -848,7 +845,7 @@ infpy_thread_from_thread_handle (PyObjec
 	  thread_info = find_thread_by_handle (val, inf_obj->inferior);
 	  if (thread_info != NULL)
 	    {
-	      result = (PyObject *) find_thread_object (thread_info->ptid);
+	      result = (PyObject *) thread_to_thread_object (thread_info);
 	      if (result != NULL)
 		Py_INCREF (result);
 	    }
@@ -910,7 +907,7 @@ py_free_inferior (struct inferior *inf, 
 PyObject *
 gdbpy_selected_inferior (PyObject *self, PyObject *args)
 {
-  return inferior_to_inferior_object (current_inferior ());
+  return (PyObject *) inferior_to_inferior_object (current_inferior ());
 }
 
 int
@@ -926,18 +923,18 @@ gdbpy_initialize_inferior (void)
   infpy_inf_data_key =
     register_inferior_data_with_cleanup (NULL, py_free_inferior);
 
-  observer_attach_new_thread (add_thread_object);
-  observer_attach_thread_exit (delete_thread_object);
-  observer_attach_normal_stop (python_on_normal_stop);
-  observer_attach_target_resumed (python_on_resume);
-  observer_attach_inferior_call_pre (python_on_inferior_call_pre);
-  observer_attach_inferior_call_post (python_on_inferior_call_post);
-  observer_attach_memory_changed (python_on_memory_change);
-  observer_attach_register_changed (python_on_register_change);
-  observer_attach_inferior_exit (python_inferior_exit);
-  observer_attach_new_objfile (python_new_objfile);
-  observer_attach_inferior_added (python_new_inferior);
-  observer_attach_inferior_removed (python_inferior_deleted);
+  gdb::observers::new_thread.attach (add_thread_object);
+  gdb::observers::thread_exit.attach (delete_thread_object);
+  gdb::observers::normal_stop.attach (python_on_normal_stop);
+  gdb::observers::target_resumed.attach (python_on_resume);
+  gdb::observers::inferior_call_pre.attach (python_on_inferior_call_pre);
+  gdb::observers::inferior_call_post.attach (python_on_inferior_call_post);
+  gdb::observers::memory_changed.attach (python_on_memory_change);
+  gdb::observers::register_changed.attach (python_on_register_change);
+  gdb::observers::inferior_exit.attach (python_inferior_exit);
+  gdb::observers::new_objfile.attach (python_new_objfile);
+  gdb::observers::inferior_added.attach (python_new_inferior);
+  gdb::observers::inferior_removed.attach (python_inferior_deleted);
 
   membuf_object_type.tp_new = PyType_GenericNew;
   if (PyType_Ready (&membuf_object_type) < 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.1.0.20180703/gdb/python/py-infthread.c ./gdb/python/py-infthread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-infthread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-infthread.c	2018-07-10 02:06:13.000000000 +0000
@@ -46,7 +46,7 @@ create_thread_object (struct thread_info
     return NULL;
 
   thread_obj->thread = tp;
-  thread_obj->inf_obj = find_inferior_object (ptid_get_pid (tp->ptid));
+  thread_obj->inf_obj = (PyObject *) inferior_to_inferior_object (tp->inf);
 
   return thread_obj;
 }
@@ -179,7 +179,7 @@ thpy_switch (PyObject *self, PyObject *a
 
   TRY
     {
-      switch_to_thread (thread_obj->thread->ptid);
+      switch_to_thread (thread_obj->thread);
     }
   CATCH (except, RETURN_MASK_ALL)
     {
@@ -200,7 +200,7 @@ thpy_is_stopped (PyObject *self, PyObjec
 
   THPY_REQUIRE_VALID (thread_obj);
 
-  if (is_stopped (thread_obj->thread->ptid))
+  if (thread_obj->thread->state == THREAD_STOPPED)
     Py_RETURN_TRUE;
 
   Py_RETURN_FALSE;
@@ -216,7 +216,7 @@ thpy_is_running (PyObject *self, PyObjec
 
   THPY_REQUIRE_VALID (thread_obj);
 
-  if (is_running (thread_obj->thread->ptid))
+  if (thread_obj->thread->state == THREAD_RUNNING)
     Py_RETURN_TRUE;
 
   Py_RETURN_FALSE;
@@ -232,7 +232,7 @@ thpy_is_exited (PyObject *self, PyObject
 
   THPY_REQUIRE_VALID (thread_obj);
 
-  if (is_exited (thread_obj->thread->ptid))
+  if (thread_obj->thread->state == THREAD_EXITED)
     Py_RETURN_TRUE;
 
   Py_RETURN_FALSE;
@@ -266,9 +266,9 @@ gdbpy_create_ptid_object (ptid_t ptid)
   if (!ret)
     return NULL;
 
-  pid = ptid_get_pid (ptid);
-  lwp = ptid_get_lwp (ptid);
-  tid = ptid_get_tid (ptid);
+  pid = ptid.pid ();
+  lwp = ptid.lwp ();
+  tid = ptid.tid ();
 
   PyTuple_SET_ITEM (ret, 0, PyInt_FromLong (pid));
   PyTuple_SET_ITEM (ret, 1, PyInt_FromLong (lwp));
@@ -283,13 +283,15 @@ gdbpy_create_ptid_object (ptid_t ptid)
 PyObject *
 gdbpy_selected_thread (PyObject *self, PyObject *args)
 {
-  PyObject *thread_obj;
-
-  thread_obj = (PyObject *) find_thread_object (inferior_ptid);
-  if (thread_obj)
+  if (inferior_ptid != null_ptid)
     {
-      Py_INCREF (thread_obj);
-      return thread_obj;
+      PyObject *thread_obj
+	= (PyObject *) thread_to_thread_object (inferior_thread ());
+      if (thread_obj != NULL)
+	{
+	  Py_INCREF (thread_obj);
+	  return thread_obj;
+	}
     }
 
   Py_RETURN_NONE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-param.c ./gdb/python/py-param.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-param.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-param.c	2018-07-10 02:06:13.000000000 +0000
@@ -47,6 +47,8 @@ struct parm_constant parm_constants[] =
   { "PARAM_OPTIONAL_FILENAME", var_optional_filename },
   { "PARAM_FILENAME", var_filename },
   { "PARAM_ZINTEGER", var_zinteger },
+  { "PARAM_ZUINTEGER", var_zuinteger },
+  { "PARAM_ZUINTEGER_UNLIMITED", var_zuinteger_unlimited },
   { "PARAM_ENUM", var_enum },
   { NULL, 0 }
 };
@@ -225,6 +227,8 @@ set_parameter_value (parmpy_object *self
     case var_integer:
     case var_zinteger:
     case var_uinteger:
+    case var_zuinteger:
+    case var_zuinteger_unlimited:
       {
 	long l;
 	int ok;
@@ -239,20 +243,33 @@ set_parameter_value (parmpy_object *self
 	if (! gdb_py_int_as_long (value, &l))
 	  return -1;
 
-	if (self->type == var_uinteger)
+	switch (self->type)
 	  {
-	    ok = (l >= 0 && l <= UINT_MAX);
+	  case var_uinteger:
 	    if (l == 0)
 	      l = UINT_MAX;
-	  }
-	else if (self->type == var_integer)
-	  {
+	    /* Fall through.  */
+	  case var_zuinteger:
+	    ok = (l >= 0 && l <= UINT_MAX);
+	    break;
+
+	  case var_zuinteger_unlimited:
+	    ok = (l >= -1 && l <= INT_MAX);
+	    break;
+
+	  case var_integer:
 	    ok = (l >= INT_MIN && l <= INT_MAX);
 	    if (l == 0)
 	      l = INT_MAX;
+	    break;
+
+	  case var_zinteger:
+	    ok = (l >= INT_MIN && l <= INT_MAX);
+	    break;
+
+	  default:
+	    gdb_assert_not_reached ("unknown var_ constant");
 	  }
-	else
-	  ok = (l >= INT_MIN && l <= INT_MAX);
 
 	if (! ok)
 	  {
@@ -261,7 +278,10 @@ set_parameter_value (parmpy_object *self
 	    return -1;
 	  }
 
-	self->value.intval = (int) l;
+	if (self->type == var_uinteger || self->type == var_zuinteger)
+	  self->value.uintval = (unsigned) l;
+	else
+	  self->value.intval = (int) l;
 	break;
       }
 
@@ -381,15 +401,10 @@ get_set_value (const char *args, int fro
 	  return;
 	}
     }
-  else
-    {
-      /* We have to preserve the existing < GDB 7.3 API.  If a
-	 callback function does not exist, then attempt to read the
-	 set_doc attribute.  */
-      set_doc_string  = get_doc_string (obj, set_doc_cst);
-    }
 
-  fprintf_filtered (gdb_stdout, "%s\n", set_doc_string.get ());
+  const char *str = set_doc_string.get ();
+  if (str != nullptr && str[0] != '\0')
+    fprintf_filtered (gdb_stdout, "%s\n", str);
 }
 
 /* A callback function that is registered against the respective
@@ -450,8 +465,9 @@ get_show_value (struct ui_file *file, in
    function.  */
 static void
 add_setshow_generic (int parmclass, enum command_class cmdclass,
-		     char *cmd_name, parmpy_object *self,
-		     char *set_doc, char *show_doc, char *help_doc,
+		     const char *cmd_name, parmpy_object *self,
+		     const char *set_doc, const char *show_doc,
+		     const char *help_doc,
 		     struct cmd_list_element **set_list,
 		     struct cmd_list_element **show_list)
 {
@@ -526,6 +542,21 @@ add_setshow_generic (int parmclass, enum
 				set_list, show_list);
       break;
 
+    case var_zuinteger:
+      add_setshow_zuinteger_cmd (cmd_name, cmdclass,
+				&self->value.uintval, set_doc, show_doc,
+				help_doc, get_set_value, get_show_value,
+				set_list, show_list);
+      break;
+
+    case var_zuinteger_unlimited:
+      add_setshow_zuinteger_unlimited_cmd (cmd_name, cmdclass,
+					   &self->value.intval, set_doc,
+					   show_doc, help_doc, get_set_value,
+					   get_show_value,
+					   set_list, show_list);
+      break;
+
     case var_enum:
       add_setshow_enum_cmd (cmd_name, cmdclass, self->enumeration,
 			    &self->value.cstringval, set_doc, show_doc,
@@ -632,7 +663,7 @@ parmpy_init (PyObject *self, PyObject *a
 {
   parmpy_object *obj = (parmpy_object *) self;
   const char *name;
-  char *set_doc, *show_doc, *doc;
+  gdb::unique_xmalloc_ptr<char> set_doc, show_doc, doc;
   char *cmd_name;
   int parmclass, cmdtype;
   PyObject *enum_values = NULL;
@@ -658,7 +689,8 @@ parmpy_init (PyObject *self, PyObject *a
       && parmclass != var_uinteger && parmclass != var_integer
       && parmclass != var_string && parmclass != var_string_noescape
       && parmclass != var_optional_filename && parmclass != var_filename
-      && parmclass != var_zinteger && parmclass != var_enum)
+      && parmclass != var_zinteger && parmclass != var_zuinteger
+      && parmclass != var_zuinteger_unlimited && parmclass != var_enum)
     {
       PyErr_SetString (PyExc_RuntimeError,
 		       _("Invalid parameter class argument."));
@@ -692,9 +724,9 @@ parmpy_init (PyObject *self, PyObject *a
   if (! cmd_name)
     return -1;
 
-  set_doc = get_doc_string (self, set_doc_cst).release ();
-  show_doc = get_doc_string (self, show_doc_cst).release ();
-  doc = get_doc_string (self, gdbpy_doc_cst).release ();
+  set_doc = get_doc_string (self, set_doc_cst);
+  show_doc = get_doc_string (self, show_doc_cst);
+  doc = get_doc_string (self, gdbpy_doc_cst);
 
   Py_INCREF (self);
 
@@ -702,15 +734,12 @@ parmpy_init (PyObject *self, PyObject *a
     {
       add_setshow_generic (parmclass, (enum command_class) cmdtype,
 			   cmd_name, obj,
-			   set_doc, show_doc,
-			   doc, set_list, show_list);
+			   set_doc.get (), show_doc.get (),
+			   doc.get (), set_list, show_list);
     }
   CATCH (except, RETURN_MASK_ALL)
     {
       xfree (cmd_name);
-      xfree (set_doc);
-      xfree (show_doc);
-      xfree (doc);
       Py_DECREF (self);
       PyErr_Format (except.reason == RETURN_QUIT
 		    ? PyExc_KeyboardInterrupt : PyExc_RuntimeError,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-record-btrace.c ./gdb/python/py-record-btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-record-btrace.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-record-btrace.c	2018-07-10 02:06:13.000000000 +0000
@@ -24,6 +24,7 @@
 #include "btrace.h"
 #include "py-record.h"
 #include "py-record-btrace.h"
+#include "record-btrace.h"
 #include "disasm.h"
 
 #if defined (IS_PY3K)
@@ -42,7 +43,7 @@ typedef struct {
   PyObject_HEAD
 
   /* The thread this list belongs to.  */
-  ptid_t ptid;
+  thread_info *thread;
 
   /* The first index being part of this list.  */
   Py_ssize_t first;
@@ -81,7 +82,7 @@ btrace_insn_from_recpy_insn (const PyObj
     }
 
   obj = (const recpy_element_object *) pyobject;
-  tinfo = find_thread_ptid (obj->ptid);
+  tinfo = obj->thread;
 
   if (tinfo == NULL || btrace_is_empty (tinfo))
     {
@@ -124,7 +125,7 @@ btrace_func_from_recpy_func (const PyObj
     }
 
   obj = (const recpy_element_object *) pyobject;
-  tinfo = find_thread_ptid (obj->ptid);
+  tinfo = obj->thread;
 
   if (tinfo == NULL || btrace_is_empty (tinfo))
     {
@@ -152,7 +153,7 @@ btrace_func_from_recpy_func (const PyObj
    gdb.RecordInstruction or gdb.RecordGap object for it accordingly.  */
 
 static PyObject *
-btpy_insn_or_gap_new (const thread_info *tinfo, Py_ssize_t number)
+btpy_insn_or_gap_new (thread_info *tinfo, Py_ssize_t number)
 {
   btrace_insn_iterator iter;
   int err_code;
@@ -171,13 +172,13 @@ btpy_insn_or_gap_new (const thread_info 
       return recpy_gap_new (err_code, err_string, number);
     }
 
-  return recpy_insn_new (tinfo->ptid, RECORD_METHOD_BTRACE, number);
+  return recpy_insn_new (tinfo, RECORD_METHOD_BTRACE, number);
 }
 
 /* Create a new gdb.BtraceList object.  */
 
 static PyObject *
-btpy_list_new (ptid_t ptid, Py_ssize_t first, Py_ssize_t last, Py_ssize_t step,
+btpy_list_new (thread_info *thread, Py_ssize_t first, Py_ssize_t last, Py_ssize_t step,
 	       PyTypeObject *element_type)
 {
   btpy_list_object * const obj = PyObject_New (btpy_list_object,
@@ -186,7 +187,7 @@ btpy_list_new (ptid_t ptid, Py_ssize_t f
   if (obj == NULL)
     return NULL;
 
-  obj->ptid = ptid;
+  obj->thread = thread;
   obj->first = first;
   obj->last = last;
   obj->step = step;
@@ -343,7 +344,7 @@ recpy_bt_func_level (PyObject *self, voi
   if (func == NULL)
     return NULL;
 
-  tinfo = find_thread_ptid (((recpy_element_object *) self)->ptid);
+  tinfo = ((recpy_element_object *) self)->thread;
   return PyInt_FromLong (tinfo->btrace.level + func->level);
 }
 
@@ -382,7 +383,7 @@ recpy_bt_func_instructions (PyObject *se
   if (len == 0)
     len = 1;
 
-  return btpy_list_new (((recpy_element_object *) self)->ptid,
+  return btpy_list_new (((recpy_element_object *) self)->thread,
 			func->insn_offset, func->insn_offset + len, 1,
 			&recpy_insn_type);
 }
@@ -401,7 +402,7 @@ recpy_bt_func_up (PyObject *self, void *
   if (func->up == 0)
     Py_RETURN_NONE;
 
-  return recpy_func_new (((recpy_element_object *) self)->ptid,
+  return recpy_func_new (((recpy_element_object *) self)->thread,
 			 RECORD_METHOD_BTRACE, func->up);
 }
 
@@ -419,7 +420,7 @@ recpy_bt_func_prev (PyObject *self, void
   if (func->prev == 0)
     Py_RETURN_NONE;
 
-  return recpy_func_new (((recpy_element_object *) self)->ptid,
+  return recpy_func_new (((recpy_element_object *) self)->thread,
 			 RECORD_METHOD_BTRACE, func->prev);
 }
 
@@ -437,7 +438,7 @@ recpy_bt_func_next (PyObject *self, void
   if (func->next == 0)
     Py_RETURN_NONE;
 
-  return recpy_func_new (((recpy_element_object *) self)->ptid,
+  return recpy_func_new (((recpy_element_object *) self)->thread,
 			 RECORD_METHOD_BTRACE, func->next);
 }
 
@@ -473,9 +474,9 @@ btpy_list_item (PyObject *self, Py_ssize
   number = obj->first + (obj->step * index);
 
   if (obj->element_type == &recpy_insn_type)
-    return recpy_insn_new (obj->ptid, RECORD_METHOD_BTRACE, number);
+    return recpy_insn_new (obj->thread, RECORD_METHOD_BTRACE, number);
   else
-    return recpy_func_new (obj->ptid, RECORD_METHOD_BTRACE, number);
+    return recpy_func_new (obj->thread, RECORD_METHOD_BTRACE, number);
 }
 
 /* Implementation of BtraceList.__getitem__ (self, slice) -> BtraceList.  */
@@ -505,7 +506,7 @@ btpy_list_slice (PyObject *self, PyObjec
 				 &step, &slicelength))
     return NULL;
 
-  return btpy_list_new (obj->ptid, obj->first + obj->step * start,
+  return btpy_list_new (obj->thread, obj->first + obj->step * start,
 			obj->first + obj->step * stop, obj->step * step,
 			obj->element_type);
 }
@@ -523,7 +524,7 @@ btpy_list_position (PyObject *self, PyOb
   if (list_obj->element_type != Py_TYPE (value))
     return -1;
 
-  if (!ptid_equal (list_obj->ptid, obj->ptid))
+  if (list_obj->thread != obj->thread)
     return -1;
 
   if (index < list_obj->first || index > list_obj->last)
@@ -589,7 +590,7 @@ btpy_list_richcompare (PyObject *self, P
   switch (op)
   {
     case Py_EQ:
-      if (ptid_equal (obj1->ptid, obj2->ptid)
+      if (obj1->thread == obj2->thread
 	  && obj1->element_type == obj2->element_type
 	  && obj1->first == obj2->first
 	  && obj1->last == obj2->last
@@ -599,7 +600,7 @@ btpy_list_richcompare (PyObject *self, P
 	Py_RETURN_FALSE;
 
     case Py_NE:
-      if (!ptid_equal (obj1->ptid, obj2->ptid)
+      if (obj1->thread != obj2->thread
 	  || obj1->element_type != obj2->element_type
 	  || obj1->first != obj2->first
 	  || obj1->last != obj2->last
@@ -632,7 +633,7 @@ PyObject *
 recpy_bt_format (PyObject *self, void *closure)
 {
   const recpy_record_object * const record = (recpy_record_object *) self;
-  const struct thread_info * const tinfo = find_thread_ptid (record->ptid);
+  const struct thread_info * const tinfo = record->thread;
   const struct btrace_config * config;
 
   if (tinfo == NULL)
@@ -653,7 +654,7 @@ PyObject *
 recpy_bt_replay_position (PyObject *self, void *closure)
 {
   const recpy_record_object * const record = (recpy_record_object *) self;
-  const struct thread_info * const tinfo = find_thread_ptid (record->ptid);
+  thread_info * tinfo = record->thread;
 
   if (tinfo == NULL)
     Py_RETURN_NONE;
@@ -672,13 +673,13 @@ PyObject *
 recpy_bt_begin (PyObject *self, void *closure)
 {
   const recpy_record_object * const record = (recpy_record_object *) self;
-  struct thread_info * const tinfo = find_thread_ptid (record->ptid);
+  thread_info *const tinfo = record->thread;
   struct btrace_insn_iterator iterator;
 
   if (tinfo == NULL)
     Py_RETURN_NONE;
 
-  btrace_fetch (tinfo);
+  btrace_fetch (tinfo, record_btrace_get_cpu ());
 
   if (btrace_is_empty (tinfo))
     Py_RETURN_NONE;
@@ -694,13 +695,13 @@ PyObject *
 recpy_bt_end (PyObject *self, void *closure)
 {
   const recpy_record_object * const record = (recpy_record_object *) self;
-  struct thread_info * const tinfo = find_thread_ptid (record->ptid);
+  thread_info *const tinfo = record->thread;
   struct btrace_insn_iterator iterator;
 
   if (tinfo == NULL)
     Py_RETURN_NONE;
 
-  btrace_fetch (tinfo);
+  btrace_fetch (tinfo, record_btrace_get_cpu ());
 
   if (btrace_is_empty (tinfo))
     Py_RETURN_NONE;
@@ -716,7 +717,7 @@ PyObject *
 recpy_bt_instruction_history (PyObject *self, void *closure)
 {
   const recpy_record_object * const record = (recpy_record_object *) self;
-  struct thread_info * const tinfo = find_thread_ptid (record->ptid);
+  thread_info *const tinfo = record->thread;
   struct btrace_insn_iterator iterator;
   unsigned long first = 0;
   unsigned long last = 0;
@@ -724,7 +725,7 @@ recpy_bt_instruction_history (PyObject *
    if (tinfo == NULL)
      Py_RETURN_NONE;
 
-   btrace_fetch (tinfo);
+   btrace_fetch (tinfo, record_btrace_get_cpu ());
 
    if (btrace_is_empty (tinfo))
      Py_RETURN_NONE;
@@ -735,7 +736,7 @@ recpy_bt_instruction_history (PyObject *
    btrace_insn_end (&iterator, &tinfo->btrace);
    last = btrace_insn_number (&iterator);
 
-   return btpy_list_new (record->ptid, first, last, 1, &recpy_insn_type);
+   return btpy_list_new (tinfo, first, last, 1, &recpy_insn_type);
 }
 
 /* Implementation of
@@ -745,7 +746,7 @@ PyObject *
 recpy_bt_function_call_history (PyObject *self, void *closure)
 {
   const recpy_record_object * const record = (recpy_record_object *) self;
-  struct thread_info * const tinfo = find_thread_ptid (record->ptid);
+  thread_info *const tinfo = record->thread;
   struct btrace_call_iterator iterator;
   unsigned long first = 0;
   unsigned long last = 0;
@@ -753,7 +754,7 @@ recpy_bt_function_call_history (PyObject
   if (tinfo == NULL)
     Py_RETURN_NONE;
 
-  btrace_fetch (tinfo);
+  btrace_fetch (tinfo, record_btrace_get_cpu ());
 
   if (btrace_is_empty (tinfo))
     Py_RETURN_NONE;
@@ -764,7 +765,7 @@ recpy_bt_function_call_history (PyObject
   btrace_call_end (&iterator, &tinfo->btrace);
   last = btrace_call_number (&iterator);
 
-  return btpy_list_new (record->ptid, first, last, 1, &recpy_func_type);
+  return btpy_list_new (tinfo, first, last, 1, &recpy_func_type);
 }
 
 /* Implementation of BtraceRecord.goto (self, BtraceInstruction) -> None.  */
@@ -773,7 +774,7 @@ PyObject *
 recpy_bt_goto (PyObject *self, PyObject *args)
 {
   const recpy_record_object * const record = (recpy_record_object *) self;
-  struct thread_info * const tinfo = find_thread_ptid (record->ptid);
+  thread_info *const tinfo = record->thread;
   const recpy_element_object *obj;
 
   if (tinfo == NULL || btrace_is_empty (tinfo))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-record.c ./gdb/python/py-record.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-record.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-record.c	2018-07-10 02:06:13.000000000 +0000
@@ -23,6 +23,7 @@
 #include "py-record-btrace.h"
 #include "py-record-full.h"
 #include "target.h"
+#include "gdbthread.h"
 
 /* Python Record type.  */
 
@@ -176,7 +177,7 @@ recpy_end (PyObject *self, void* closure
 /* Create a new gdb.RecordInstruction object.  */
 
 PyObject *
-recpy_insn_new (ptid_t ptid, enum record_method method, Py_ssize_t number)
+recpy_insn_new (thread_info *thread, enum record_method method, Py_ssize_t number)
 {
   recpy_element_object * const obj = PyObject_New (recpy_element_object,
 						   &recpy_insn_type);
@@ -184,7 +185,7 @@ recpy_insn_new (ptid_t ptid, enum record
   if (obj == NULL)
    return NULL;
 
-  obj->ptid = ptid;
+  obj->thread = thread;
   obj->method = method;
   obj->number = number;
 
@@ -272,7 +273,7 @@ recpy_insn_is_speculative (PyObject *sel
 /* Create a new gdb.RecordFunctionSegment object.  */
 
 PyObject *
-recpy_func_new (ptid_t ptid, enum record_method method, Py_ssize_t number)
+recpy_func_new (thread_info *thread, enum record_method method, Py_ssize_t number)
 {
   recpy_element_object * const obj = PyObject_New (recpy_element_object,
 						   &recpy_func_type);
@@ -280,7 +281,7 @@ recpy_func_new (ptid_t ptid, enum record
   if (obj == NULL)
    return NULL;
 
-  obj->ptid = ptid;
+  obj->thread = thread;
   obj->method = method;
   obj->number = number;
 
@@ -405,7 +406,7 @@ recpy_element_richcompare (PyObject *sel
   switch (op)
   {
     case Py_EQ:
-      if (ptid_equal (obj1->ptid, obj2->ptid)
+      if (obj1->thread == obj2->thread
 	  && obj1->method == obj2->method
 	  && obj1->number == obj2->number)
 	Py_RETURN_TRUE;
@@ -413,7 +414,7 @@ recpy_element_richcompare (PyObject *sel
 	Py_RETURN_FALSE;
 
     case Py_NE:
-      if (!ptid_equal (obj1->ptid, obj2->ptid)
+      if (obj1->thread != obj2->thread
 	  || obj1->method != obj2->method
 	  || obj1->number != obj2->number)
 	Py_RETURN_TRUE;
@@ -626,8 +627,8 @@ gdbpy_current_recording (PyObject *self,
     Py_RETURN_NONE;
 
   ret = PyObject_New (recpy_record_object, &recpy_record_type);
-  ret->ptid = inferior_ptid;
-  ret->method = target_record_method (inferior_ptid);
+  ret->thread = inferior_thread ();
+  ret->method = target_record_method (ret->thread->ptid);
 
   return (PyObject *) ret;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-record.h ./gdb/python/py-record.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-record.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-record.h	2018-07-10 02:06:13.000000000 +0000
@@ -29,8 +29,8 @@ typedef struct
 {
   PyObject_HEAD
 
-  /* The ptid this object refers to.  */
-  ptid_t ptid;
+  /* The thread this object refers to.  */
+  thread_info *thread;
 
   /* The current recording method.  */
   enum record_method method;
@@ -43,8 +43,8 @@ typedef struct
 {
   PyObject_HEAD
 
-  /* The ptid this object refers to.  */
-  ptid_t ptid;
+  /* The thread this object refers to.  */
+  thread_info *thread;
 
   /* The current recording method.  */
   enum record_method method;
@@ -60,11 +60,11 @@ extern PyTypeObject recpy_insn_type;
 extern PyTypeObject recpy_func_type;
 
 /* Create a new gdb.RecordInstruction object.  */
-extern PyObject *recpy_insn_new (ptid_t ptid, enum record_method method,
+extern PyObject *recpy_insn_new (thread_info *thread, enum record_method method,
 				 Py_ssize_t number);
 
 /* Create a new gdb.RecordFunctionSegment object.  */
-extern PyObject *recpy_func_new (ptid_t ptid, enum record_method method,
+extern PyObject *recpy_func_new (thread_info *thread, enum record_method method,
 				 Py_ssize_t number);
 
 /* Create a new gdb.RecordGap object.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/python.c ./gdb/python/python.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/python.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/python.c	2018-07-10 02:06:13.000000000 +0000
@@ -190,12 +190,7 @@ const struct extension_language_ops pyth
 
   gdbpy_before_prompt_hook,
 
-  gdbpy_clone_xmethod_worker_data,
-  gdbpy_free_xmethod_worker_data,
   gdbpy_get_matching_xmethod_workers,
-  gdbpy_get_xmethod_arg_types,
-  gdbpy_get_xmethod_result_type,
-  gdbpy_invoke_xmethod
 };
 
 /* Architecture and language to be used in callbacks from
@@ -390,12 +385,12 @@ gdbpy_eval_from_control_command (const s
 {
   int ret;
 
-  if (cmd->body_count != 1)
+  if (cmd->body_list_1 != nullptr)
     error (_("Invalid \"python\" block structure."));
 
   gdbpy_enter enter_py (get_current_arch (), current_language);
 
-  std::string script = compute_python_string (cmd->body_list[0]);
+  std::string script = compute_python_string (cmd->body_list_0.get ());
   ret = PyRun_SimpleString (script.c_str ());
   if (ret)
     error (_("Error while executing Python code."));
@@ -418,7 +413,7 @@ python_command (const char *arg, int fro
     }
   else
     {
-      command_line_up l = get_command_line (python_control, "");
+      counted_command_line l = get_command_line (python_control, "");
 
       execute_control_command_untraced (l.get ());
     }
@@ -472,6 +467,7 @@ gdbpy_parameter_value (enum var_types ty
 	Py_RETURN_NONE;
       /* Fall through.  */
     case var_zinteger:
+    case var_zuinteger_unlimited:
       return PyLong_FromLong (* (int *) var);
 
     case var_uinteger:
@@ -482,6 +478,12 @@ gdbpy_parameter_value (enum var_types ty
 	  Py_RETURN_NONE;
 	return PyLong_FromUnsignedLong (val);
       }
+
+    case var_zuinteger:
+      {
+	unsigned int val = * (unsigned int *) var;
+	return PyLong_FromUnsignedLong (val);
+      }
     }
 
   return PyErr_Format (PyExc_RuntimeError,
@@ -586,6 +588,20 @@ execute_gdb_command (PyObject *self, PyO
     {
       struct interp *interp;
 
+      std::string arg_copy = arg;
+      bool first = true;
+      char *save_ptr = nullptr;
+      auto reader
+	= [&] ()
+	  {
+	    const char *result = strtok_r (first ? &arg_copy[0] : nullptr,
+					   "\n", &save_ptr);
+	    first = false;
+	    return result;
+	  };
+
+      counted_command_line lines = read_command_lines_1 (reader, 1, nullptr);
+
       scoped_restore save_async = make_scoped_restore (&current_ui->async, 0);
 
       scoped_restore save_uiout = make_scoped_restore (&current_uiout);
@@ -593,13 +609,14 @@ execute_gdb_command (PyObject *self, PyO
       /* Use the console interpreter uiout to have the same print format
 	for console or MI.  */
       interp = interp_lookup (current_ui, "console");
-      current_uiout = interp_ui_out (interp);
+      current_uiout = interp->interp_ui_out ();
 
       scoped_restore preventer = prevent_dont_repeat ();
       if (to_string)
-	to_string_res = execute_command_to_string (arg, from_tty);
+	to_string_res = execute_control_commands_to_string (lines.get (),
+							    from_tty);
       else
-	execute_command (arg, from_tty);
+	execute_control_commands (lines.get (), from_tty);
     }
   CATCH (except, RETURN_MASK_ALL)
     {
@@ -881,10 +898,7 @@ gdbpy_decode_line (PyObject *self, PyObj
 	}
     }
   else
-    {
-      result.reset (Py_None);
-      Py_INCREF (Py_None);
-    }
+    result = gdbpy_ref<>::new_reference (Py_None);
 
   gdbpy_ref<> return_result (PyTuple_New (2));
   if (return_result == NULL)
@@ -897,10 +911,7 @@ gdbpy_decode_line (PyObject *self, PyObj
 	return NULL;
     }
   else
-    {
-      unparsed.reset (Py_None);
-      Py_INCREF (Py_None);
-    }
+    unparsed = gdbpy_ref<>::new_reference (Py_None);
 
   PyTuple_SetItem (return_result.get (), 0, unparsed.release ());
   PyTuple_SetItem (return_result.get (), 1, result.release ());
@@ -1587,7 +1598,7 @@ python_interactive_command (const char *
     error (_("Python scripting is not supported in this copy of GDB."));
   else
     {
-      command_line_up l = get_command_line (python_control, "");
+      counted_command_line l = get_command_line (python_control, "");
 
       execute_control_command_untraced (l.get ());
     }
@@ -2133,6 +2144,14 @@ Return a tuple containing all inferiors.
 Invalidate any cached frame objects in gdb.\n\
 Intended for internal use only." },
 
+  { "convenience_variable", gdbpy_convenience_variable, METH_VARARGS,
+    "convenience_variable (NAME) -> value.\n\
+Return the value of the convenience variable $NAME,\n\
+or None if not set." },
+  { "set_convenience_variable", gdbpy_set_convenience_variable, METH_VARARGS,
+    "convenience_variable (NAME, VALUE) -> None.\n\
+Set the value of the convenience variable $NAME." },
+
   {NULL, NULL, 0, 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.1.0.20180703/gdb/python/python-config.py ./gdb/python/python-config.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/python-config.py	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/python-config.py	2018-07-10 02:06:13.000000000 +0000
@@ -58,12 +58,11 @@ for opt in opt_flags:
         print (to_unix_path(' '.join(flags)))
 
     elif opt in ('--libs', '--ldflags'):
-        libs = []
+        libs = ['-lpython' + pyver + abiflags]
         if getvar('LIBS') is not None:
             libs.extend(getvar('LIBS').split())
         if getvar('SYSLIBS') is not None:
             libs.extend(getvar('SYSLIBS').split())
-        libs.append('-lpython'+pyver + abiflags)
         # add the prefix/lib/pythonX.Y/config dir, but only if there is no
         # shared library in prefix/lib/.
         if opt == '--ldflags':
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/python-internal.h ./gdb/python/python-internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/python-internal.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/python-internal.h	2018-07-10 02:06:13.000000000 +0000
@@ -440,6 +440,8 @@ typedef struct
   PyObject *inf_obj;
 } thread_object;
 
+struct inferior_object;
+
 extern struct cmd_list_element *set_python_list;
 extern struct cmd_list_element *show_python_list;
 
@@ -459,7 +461,8 @@ extern enum ext_lang_rc gdbpy_apply_val_
    const struct language_defn *language);
 extern enum ext_lang_bt_status gdbpy_apply_frame_filter
   (const struct extension_language_defn *,
-   struct frame_info *frame, int flags, enum ext_lang_frame_args args_type,
+   struct frame_info *frame, frame_filter_flags flags,
+   enum ext_lang_frame_args args_type,
    struct ui_out *out, int frame_low, int frame_high);
 extern void gdbpy_preserve_values (const struct extension_language_defn *,
 				   struct objfile *objfile,
@@ -469,30 +472,15 @@ extern enum ext_lang_bp_stop gdbpy_break
 extern int gdbpy_breakpoint_has_cond (const struct extension_language_defn *,
 				      struct breakpoint *b);
 
-extern void *gdbpy_clone_xmethod_worker_data
-  (const struct extension_language_defn *extlang, void *data);
-extern void gdbpy_free_xmethod_worker_data
-  (const struct extension_language_defn *extlang, void *data);
 extern enum ext_lang_rc gdbpy_get_matching_xmethod_workers
   (const struct extension_language_defn *extlang,
    struct type *obj_type, const char *method_name,
-   xmethod_worker_vec **dm_vec);
-extern enum ext_lang_rc gdbpy_get_xmethod_arg_types
-  (const struct extension_language_defn *extlang,
-   struct xmethod_worker *worker,
-   int *nargs,
-   struct type ***arg_types);
-extern enum ext_lang_rc gdbpy_get_xmethod_result_type
-  (const struct extension_language_defn *extlang,
-   struct xmethod_worker *worker,
-   struct value *object, struct value **args, int nargs,
-   struct type **result_type);
-extern struct value *gdbpy_invoke_xmethod
-  (const struct extension_language_defn *extlang,
-   struct xmethod_worker *worker,
-   struct value *obj, struct value **args, int nargs);
+   std::vector<xmethod_worker_up> *dm_vec);
+
 
 PyObject *gdbpy_history (PyObject *self, PyObject *args);
+PyObject *gdbpy_convenience_variable (PyObject *self, PyObject *args);
+PyObject *gdbpy_set_convenience_variable (PyObject *self, PyObject *args);
 PyObject *gdbpy_breakpoints (PyObject *, PyObject *);
 PyObject *gdbpy_frame_stop_reason_string (PyObject *, PyObject *);
 PyObject *gdbpy_lookup_symbol (PyObject *self, PyObject *args, PyObject *kw);
@@ -546,10 +534,9 @@ PyObject *gdbpy_lookup_objfile (PyObject
 PyObject *gdbarch_to_arch_object (struct gdbarch *gdbarch);
 
 thread_object *create_thread_object (struct thread_info *tp);
-thread_object *find_thread_object (ptid_t ptid)
-    CPYCHECKER_RETURNS_BORROWED_REF;
-PyObject *find_inferior_object (int pid);
-PyObject *inferior_to_inferior_object (struct inferior *inferior);
+thread_object *thread_to_thread_object (thread_info *thr)
+  CPYCHECKER_RETURNS_BORROWED_REF;
+inferior_object *inferior_to_inferior_object (inferior *inf);
 
 const struct block *block_object_to_block (PyObject *obj);
 struct symbol *symbol_object_to_symbol (PyObject *obj);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-threadevent.c ./gdb/python/py-threadevent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-threadevent.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-threadevent.c	2018-07-10 02:06:13.000000000 +0000
@@ -18,6 +18,7 @@
 #include "defs.h"
 #include "py-event.h"
 #include "infrun.h"
+#include "gdbthread.h"
 
 /* thread events can either be thread specific or process wide.  If gdb is
    running in non-stop mode then the event is thread specific, otherwise
@@ -31,10 +32,10 @@ static PyObject *get_event_thread (void)
 static PyObject *
 get_event_thread (void)
 {
-  PyObject *thread = NULL;
+  PyObject *thread;
 
   if (non_stop)
-    thread = (PyObject *) find_thread_object (inferior_ptid);
+    thread = (PyObject *) thread_to_thread_object (inferior_thread ());
   else
     thread = Py_None;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-type.c ./gdb/python/py-type.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-type.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-type.c	2018-07-10 02:06:13.000000000 +0000
@@ -416,10 +416,16 @@ static PyObject *
 typy_get_tag (PyObject *self, void *closure)
 {
   struct type *type = ((type_object *) self)->type;
+  const char *tagname = nullptr;
 
-  if (!TYPE_TAG_NAME (type))
+  if (TYPE_CODE (type) == TYPE_CODE_STRUCT
+      || TYPE_CODE (type) == TYPE_CODE_UNION
+      || TYPE_CODE (type) == TYPE_CODE_ENUM)
+    tagname = TYPE_NAME (type);
+
+  if (tagname == nullptr)
     Py_RETURN_NONE;
-  return PyString_FromString (TYPE_TAG_NAME (type));
+  return PyString_FromString (tagname);
 }
 
 /* Return the type, stripped of typedefs. */
@@ -730,6 +736,28 @@ typy_get_sizeof (PyObject *self, void *c
   return gdb_py_long_from_longest (TYPE_LENGTH (type));
 }
 
+/* Return the alignment of the type represented by SELF, in bytes.  */
+static PyObject *
+typy_get_alignof (PyObject *self, void *closure)
+{
+  struct type *type = ((type_object *) self)->type;
+
+  ULONGEST align = 0;
+  TRY
+    {
+      align = type_align (type);
+    }
+  CATCH (except, RETURN_MASK_ALL)
+    {
+      align = 0;
+    }
+  END_CATCH
+
+  /* Ignore exceptions.  */
+
+  return gdb_py_object_from_ulongest (align);
+}
+
 static struct type *
 typy_lookup_typename (const char *type_name, const struct block *block)
 {
@@ -831,7 +859,7 @@ typy_legacy_template_argument (struct ty
   int i;
   struct demangle_component *demangled;
   std::unique_ptr<demangle_parse_info> info;
-  const char *err;
+  std::string err;
   struct type *argtype;
 
   if (TYPE_NAME (type) == NULL)
@@ -853,7 +881,7 @@ typy_legacy_template_argument (struct ty
 
   if (! info)
     {
-      PyErr_SetString (PyExc_RuntimeError, err);
+      PyErr_SetString (PyExc_RuntimeError, err.c_str ());
       return NULL;
     }
   demangled = info->tree;
@@ -986,7 +1014,7 @@ typy_str (PyObject *self)
 static PyObject *
 typy_richcompare (PyObject *self, PyObject *other, int op)
 {
-  int result = Py_NE;
+  bool result = false;
   struct type *type1 = type_object_to_type (self);
   struct type *type2 = type_object_to_type (other);
 
@@ -999,7 +1027,7 @@ typy_richcompare (PyObject *self, PyObje
     }
 
   if (type1 == type2)
-    result = Py_EQ;
+    result = true;
   else
     {
       TRY
@@ -1410,6 +1438,8 @@ gdbpy_initialize_types (void)
 
 static gdb_PyGetSetDef type_object_getset[] =
 {
+  { "alignof", typy_get_alignof, NULL,
+    "The alignment of this type, in bytes.", NULL },
   { "code", typy_get_code, NULL,
     "The code for this type.", NULL },
   { "name", typy_get_name, 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.1.0.20180703/gdb/python/py-unwind.c ./gdb/python/py-unwind.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-unwind.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-unwind.c	2018-07-10 02:06:13.000000000 +0000
@@ -23,7 +23,7 @@
 #include "gdb_obstack.h"
 #include "gdbcmd.h"
 #include "language.h"
-#include "observer.h"
+#include "observable.h"
 #include "python-internal.h"
 #include "regcache.h"
 #include "valprint.h"
@@ -46,12 +46,17 @@ typedef struct
 
 /* Saved registers array item.  */
 
-typedef struct
+struct saved_reg
 {
+  saved_reg (int n, gdbpy_ref<> &&v)
+    : number (n),
+      value (std::move (v))
+  {
+  }
+
   int number;
-  PyObject *value;
-} saved_reg;
-DEF_VEC_O (saved_reg);
+  gdbpy_ref<> value;
+};
 
 /* The data we keep for the PyUnwindInfo: pending_frame, saved registers
    and frame ID.  */
@@ -67,7 +72,7 @@ typedef struct
   struct frame_id frame_id;
 
   /* Saved registers array.  */
-  VEC (saved_reg) *saved_regs;
+  std::vector<saved_reg> *saved_regs;
 } unwind_info_object;
 
 /* The data we keep for a frame we can unwind: frame ID and an array of
@@ -196,17 +201,15 @@ unwind_infopy_str (PyObject *self)
   fprint_frame_id (&stb, unwind_info->frame_id);
   {
     const char *sep = "";
-    int i;
     struct value_print_options opts;
-    saved_reg *reg;
 
     get_user_print_options (&opts);
     stb.printf ("\nSaved registers: (");
-    for (i = 0; VEC_iterate (saved_reg, unwind_info->saved_regs, i, reg); i++)
+    for (const saved_reg &reg : *unwind_info->saved_regs)
       {
-        struct value *value = value_object_to_value (reg->value);
+        struct value *value = value_object_to_value (reg.value.get ());
 
-        stb.printf ("%s(%d, ", sep, reg->number);
+        stb.printf ("%s(%d, ", sep, reg.number);
         if (value != NULL)
           {
             TRY
@@ -249,7 +252,7 @@ pyuw_create_unwind_info (PyObject *pyo_p
   unwind_info->frame_id = frame_id;
   Py_INCREF (pyo_pending_frame);
   unwind_info->pending_frame = pyo_pending_frame;
-  unwind_info->saved_regs = VEC_alloc (saved_reg, 4);
+  unwind_info->saved_regs = new std::vector<saved_reg>;
   return (PyObject *) unwind_info;
 }
 
@@ -303,24 +306,19 @@ unwind_infopy_add_saved_register (PyObje
       }
   }
   {
-    int i;
-    saved_reg *reg;
-
-    for (i = 0; VEC_iterate (saved_reg, unwind_info->saved_regs, i, reg); i++)
+    gdbpy_ref<> new_value = gdbpy_ref<>::new_reference (pyo_reg_value);
+    bool found = false;
+    for (saved_reg &reg : *unwind_info->saved_regs)
       {
-        if (regnum == reg->number)
+        if (regnum == reg.number)
           {
-            Py_DECREF (reg->value);
+	    found = true;
+	    reg.value = std::move (new_value);
             break;
           }
       }
-    if (reg == NULL)
-      {
-        reg = VEC_safe_push (saved_reg, unwind_info->saved_regs, NULL);
-        reg->number = regnum;
-      }
-    Py_INCREF (pyo_reg_value);
-    reg->value = pyo_reg_value;
+    if (!found)
+      unwind_info->saved_regs->emplace_back (regnum, std::move (new_value));
   }
   Py_RETURN_NONE;
 }
@@ -335,9 +333,7 @@ unwind_infopy_dealloc (PyObject *self)
   saved_reg *reg;
 
   Py_XDECREF (unwind_info->pending_frame);
-  for (i = 0; VEC_iterate (saved_reg, unwind_info->saved_regs, i, reg); i++)
-      Py_DECREF (reg->value);
-  VEC_free (saved_reg, unwind_info->saved_regs);
+  delete unwind_info->saved_regs;
   Py_TYPE (self)->tp_free (self);
 }
 
@@ -560,9 +556,7 @@ pyuw_sniffer (const struct frame_unwind 
   {
     unwind_info_object *unwind_info =
       (unwind_info_object *) pyo_unwind_info.get ();
-    int reg_count = VEC_length (saved_reg, unwind_info->saved_regs);
-    saved_reg *reg;
-    int i;
+    int reg_count = unwind_info->saved_regs->size ();
 
     cached_frame
       = ((cached_frame_info *)
@@ -573,9 +567,11 @@ pyuw_sniffer (const struct frame_unwind 
     cached_frame->reg_count = reg_count;
 
     /* Populate registers array.  */
-    for (i = 0; VEC_iterate (saved_reg, unwind_info->saved_regs, i, reg); i++)
+    for (int i = 0; i < unwind_info->saved_regs->size (); ++i)
       {
-        struct value *value = value_object_to_value (reg->value);
+	saved_reg *reg = &(*unwind_info->saved_regs)[i];
+
+        struct value *value = value_object_to_value (reg->value.get ());
         size_t data_size = register_size (gdbarch, reg->number);
 
 	cached_frame->reg[i].num = reg->number;
@@ -583,7 +579,6 @@ pyuw_sniffer (const struct frame_unwind 
         /* `value' validation was done before, just assert.  */
         gdb_assert (value != NULL);
         gdb_assert (data_size == TYPE_LENGTH (value_type (value)));
-        gdb_assert (data_size <= MAX_REGISTER_SIZE);
 
 	cached_frame->reg[i].data = (gdb_byte *) xmalloc (data_size);
         memcpy (cached_frame->reg[i].data, value_contents (value), data_size);
@@ -663,7 +658,7 @@ gdbpy_initialize_unwind (void)
         &setdebuglist, &showdebuglist);
   pyuw_gdbarch_data
       = gdbarch_data_register_post_init (pyuw_gdbarch_data_init);
-  observer_attach_architecture_changed (pyuw_on_new_gdbarch);
+  gdb::observers::architecture_changed.attach (pyuw_on_new_gdbarch);
 
   if (PyType_Ready (&pending_frame_object_type) < 0)
     return -1;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-value.c ./gdb/python/py-value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-value.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-value.c	2018-07-10 02:06:13.000000000 +0000
@@ -88,7 +88,7 @@ valpy_dealloc (PyObject *obj)
   if (self->next)
     self->next->prev = self->prev;
 
-  value_free (self->value);
+  value_decref (self->value);
 
   if (self->address)
     /* Use braces to appease gcc warning.  *sigh*  */
@@ -147,8 +147,7 @@ valpy_new (PyTypeObject *subtype, PyObje
       return NULL;
     }
 
-  value_obj->value = value;
-  release_value_or_incref (value);
+  value_obj->value = release_value (value).release ();
   value_obj->address = NULL;
   value_obj->type = NULL;
   value_obj->dynamic_type = NULL;
@@ -518,9 +517,8 @@ static PyObject *
 valpy_string (PyObject *self, PyObject *args, PyObject *kw)
 {
   int length = -1;
-  gdb_byte *buffer;
+  gdb::unique_xmalloc_ptr<gdb_byte> buffer;
   struct value *value = ((value_object *) self)->value;
-  PyObject *unicode;
   const char *encoding = NULL;
   const char *errors = NULL;
   const char *user_encoding = NULL;
@@ -543,12 +541,9 @@ valpy_string (PyObject *self, PyObject *
   END_CATCH
 
   encoding = (user_encoding && *user_encoding) ? user_encoding : la_encoding;
-  unicode = PyUnicode_Decode ((const char *) buffer,
-			      length * TYPE_LENGTH (char_type),
-			      encoding, errors);
-  xfree (buffer);
-
-  return unicode;
+  return PyUnicode_Decode ((const char *) buffer.get (),
+			   length * TYPE_LENGTH (char_type),
+			   encoding, errors);
 }
 
 /* A helper function that implements the various cast operators.  */
@@ -1583,8 +1578,7 @@ value_to_value_object (struct value *val
   val_obj = PyObject_New (value_object, &value_object_type);
   if (val_obj != NULL)
     {
-      val_obj->value = val;
-      release_value_or_incref (val);
+      val_obj->value = release_value (val).release ();
       val_obj->address = NULL;
       val_obj->type = NULL;
       val_obj->dynamic_type = NULL;
@@ -1748,6 +1742,83 @@ gdbpy_history (PyObject *self, PyObject 
   return value_to_value_object (res_val);
 }
 
+/* Return the value of a convenience variable.  */
+PyObject *
+gdbpy_convenience_variable (PyObject *self, PyObject *args)
+{
+  const char *varname;
+  struct value *res_val = NULL;
+
+  if (!PyArg_ParseTuple (args, "s", &varname))
+    return NULL;
+
+  TRY
+    {
+      struct internalvar *var = lookup_only_internalvar (varname);
+
+      if (var != NULL)
+	{
+	  res_val = value_of_internalvar (python_gdbarch, var);
+	  if (TYPE_CODE (value_type (res_val)) == TYPE_CODE_VOID)
+	    res_val = NULL;
+	}
+    }
+  CATCH (except, RETURN_MASK_ALL)
+    {
+      GDB_PY_HANDLE_EXCEPTION (except);
+    }
+  END_CATCH
+
+  if (res_val == NULL)
+    Py_RETURN_NONE;
+
+  return value_to_value_object (res_val);
+}
+
+/* Set the value of a convenience variable.  */
+PyObject *
+gdbpy_set_convenience_variable (PyObject *self, PyObject *args)
+{
+  const char *varname;
+  PyObject *value_obj;
+  struct value *value = NULL;
+
+  if (!PyArg_ParseTuple (args, "sO", &varname, &value_obj))
+    return NULL;
+
+  /* None means to clear the variable.  */
+  if (value_obj != Py_None)
+    {
+      value = convert_value_from_python (value_obj);
+      if (value == NULL)
+	return NULL;
+    }
+
+  TRY
+    {
+      if (value == NULL)
+	{
+	  struct internalvar *var = lookup_only_internalvar (varname);
+
+	  if (var != NULL)
+	    clear_internalvar (var);
+	}
+      else
+	{
+	  struct internalvar *var = lookup_internalvar (varname);
+
+	  set_internalvar (var, value);
+	}
+    }
+  CATCH (except, RETURN_MASK_ALL)
+    {
+      GDB_PY_HANDLE_EXCEPTION (except);
+    }
+  END_CATCH
+
+  Py_RETURN_NONE;
+}
+
 /* Returns 1 in OBJ is a gdb.Value object, 0 otherwise.  */
 
 int
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-xmethods.c ./gdb/python/py-xmethods.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/python/py-xmethods.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/python/py-xmethods.c	2018-07-10 02:06:13.000000000 +0000
@@ -37,54 +37,43 @@ static const char matchers_attr_str[] = 
 static PyObject *py_match_method_name = NULL;
 static PyObject *py_get_arg_types_method_name = NULL;
 
-struct gdbpy_worker_data
+struct python_xmethod_worker : xmethod_worker
 {
-  PyObject *worker;
-  PyObject *this_type;
-};
+  python_xmethod_worker (PyObject *worker, PyObject *this_type);
+  ~python_xmethod_worker ();
 
-static struct xmethod_worker *new_python_xmethod_worker (PyObject *item,
-							 PyObject *py_obj_type);
+  DISABLE_COPY_AND_ASSIGN (python_xmethod_worker);
 
-/* Implementation of free_xmethod_worker_data for Python.  */
+  /* Implementation of xmethod_worker::invoke for Python.  */
 
-void
-gdbpy_free_xmethod_worker_data (const struct extension_language_defn *extlang,
-				void *data)
-{
-  struct gdbpy_worker_data *worker_data = (struct gdbpy_worker_data *) data;
+  value *invoke (value *obj, value **args, int nargs) override;
 
-  gdb_assert (worker_data->worker != NULL && worker_data->this_type != NULL);
+  /* Implementation of xmethod_worker::do_get_arg_types for Python.  */
 
-  /* We don't do much here, but we still need the GIL.  */
-  gdbpy_enter enter_py (get_current_arch (), current_language);
+  ext_lang_rc do_get_arg_types (int *nargs, type ***arg_types) override;
 
-  Py_DECREF (worker_data->worker);
-  Py_DECREF (worker_data->this_type);
-  xfree (worker_data);
-}
+  /* Implementation of xmethod_worker::do_get_result_type for Python.
 
-/* Implementation of clone_xmethod_worker_data for Python.  */
+     For backward compatibility with 7.9, which did not support getting the
+     result type, if the get_result_type operation is not provided by WORKER
+     then EXT_LANG_RC_OK is returned and NULL is returned in *RESULT_TYPE.  */
 
-void *
-gdbpy_clone_xmethod_worker_data (const struct extension_language_defn *extlang,
-				 void *data)
-{
-  struct gdbpy_worker_data *worker_data
-    = (struct gdbpy_worker_data *) data, *new_data;
+  ext_lang_rc do_get_result_type (value *obj, value **args, int nargs,
+				  type **result_type_ptr) override;
 
-  gdb_assert (worker_data->worker != NULL && worker_data->this_type != NULL);
+private:
 
+  PyObject *m_py_worker;
+  PyObject *m_this_type;
+};
+
+python_xmethod_worker::~python_xmethod_worker ()
+{
   /* We don't do much here, but we still need the GIL.  */
   gdbpy_enter enter_py (get_current_arch (), current_language);
 
-  new_data = XCNEW (struct gdbpy_worker_data);
-  new_data->worker = worker_data->worker;
-  new_data->this_type = worker_data->this_type;
-  Py_INCREF (new_data->worker);
-  Py_INCREF (new_data->this_type);
-
-  return new_data;
+  Py_DECREF (m_py_worker);
+  Py_DECREF (m_this_type);
 }
 
 /* Invoke the "match" method of the MATCHER and return a new reference
@@ -130,10 +119,9 @@ enum ext_lang_rc
 gdbpy_get_matching_xmethod_workers
   (const struct extension_language_defn *extlang,
    struct type *obj_type, const char *method_name,
-   xmethod_worker_vec **dm_vec)
+   std::vector<xmethod_worker_up> *dm_vec)
 {
   struct objfile *objfile;
-  VEC (xmethod_worker_ptr) *worker_vec = NULL;
   PyObject *py_progspace;
 
   gdb_assert (obj_type != NULL && method_name != NULL);
@@ -282,39 +270,33 @@ gdbpy_get_matching_xmethod_workers
 		  break;
 		}
 
-	      worker = new_python_xmethod_worker (py_worker.get (),
+	      worker = new python_xmethod_worker (py_worker.get (),
 						  py_type.get ());
-	      VEC_safe_push (xmethod_worker_ptr, worker_vec, worker);
+
+	      dm_vec->emplace_back (worker);
 	    }
 	}
       else
 	{
 	  struct xmethod_worker *worker;
 
-	  worker = new_python_xmethod_worker (match_result.get (),
+	  worker = new python_xmethod_worker (match_result.get (),
 					      py_type.get ());
-	  VEC_safe_push (xmethod_worker_ptr, worker_vec, worker);
+	  dm_vec->emplace_back (worker);
 	}
     }
 
-  *dm_vec = worker_vec;
-
   return EXT_LANG_RC_OK;
 }
 
-/* Implementation of get_xmethod_arg_types for Python.  */
+/* See declaration.  */
 
-enum ext_lang_rc
-gdbpy_get_xmethod_arg_types (const struct extension_language_defn *extlang,
-			     struct xmethod_worker *worker,
-			     int *nargs, struct type ***arg_types)
+ext_lang_rc
+python_xmethod_worker::do_get_arg_types (int *nargs, type ***arg_types)
 {
   /* The gdbpy_enter object needs to be placed first, so that it's the last to
      be destroyed.  */
   gdbpy_enter enter_py (get_current_arch (), current_language);
-  struct gdbpy_worker_data *worker_data
-    = (struct gdbpy_worker_data *) worker->data;
-  PyObject *py_worker = worker_data->worker;
   struct type *obj_type;
   int i = 1, arg_count;
   gdbpy_ref<> list_iter;
@@ -324,7 +306,7 @@ gdbpy_get_xmethod_arg_types (const struc
   *nargs = -1;
 
   gdbpy_ref<> get_arg_types_method
-    (PyObject_GetAttrString (py_worker, get_arg_types_method_name));
+    (PyObject_GetAttrString (m_py_worker, get_arg_types_method_name));
   if (get_arg_types_method == NULL)
     {
       gdbpy_print_stack ();
@@ -332,7 +314,7 @@ gdbpy_get_xmethod_arg_types (const struc
     }
 
   gdbpy_ref<> py_argtype_list
-    (PyObject_CallMethodObjArgs (py_worker, py_get_arg_types_method_name,
+    (PyObject_CallMethodObjArgs (m_py_worker, py_get_arg_types_method_name,
 				 NULL));
   if (py_argtype_list == NULL)
     {
@@ -418,7 +400,7 @@ gdbpy_get_xmethod_arg_types (const struc
   /* Add the type of 'this' as the first argument.  The 'this' pointer should
      be a 'const' value.  Hence, create a 'const' variant of the 'this' pointer
      type.  */
-  obj_type = type_object_to_type (worker_data->this_type);
+  obj_type = type_object_to_type (m_this_type);
   (type_array.get ())[0] = make_cv_type (1, 0, lookup_pointer_type (obj_type),
 					 NULL);
   *nargs = i;
@@ -427,18 +409,12 @@ gdbpy_get_xmethod_arg_types (const struc
   return EXT_LANG_RC_OK;
 }
 
-/* Implementation of get_xmethod_result_type for Python.  */
+/* See declaration.  */
 
-enum ext_lang_rc
-gdbpy_get_xmethod_result_type (const struct extension_language_defn *extlang,
-			       struct xmethod_worker *worker,
-			       struct value *obj,
-			       struct value **args, int nargs,
-			       struct type **result_type_ptr)
+ext_lang_rc
+python_xmethod_worker::do_get_result_type (value *obj, value **args, int nargs,
+					   type **result_type_ptr)
 {
-  struct gdbpy_worker_data *worker_data
-    = (struct gdbpy_worker_data *) worker->data;
-  PyObject *py_worker = worker_data->worker;
   struct type *obj_type, *this_type;
   int i;
 
@@ -447,7 +423,7 @@ gdbpy_get_xmethod_result_type (const str
   /* First see if there is a get_result_type method.
      If not this could be an old xmethod (pre 7.9.1).  */
   gdbpy_ref<> get_result_type_method
-    (PyObject_GetAttrString (py_worker, get_result_type_method_name));
+    (PyObject_GetAttrString (m_py_worker, get_result_type_method_name));
   if (get_result_type_method == NULL)
     {
       PyErr_Clear ();
@@ -456,7 +432,7 @@ gdbpy_get_xmethod_result_type (const str
     }
 
   obj_type = check_typedef (value_type (obj));
-  this_type = check_typedef (type_object_to_type (worker_data->this_type));
+  this_type = check_typedef (type_object_to_type (m_this_type));
   if (TYPE_CODE (obj_type) == TYPE_CODE_PTR)
     {
       struct type *this_ptr = lookup_pointer_type (this_type);
@@ -528,24 +504,20 @@ gdbpy_get_xmethod_result_type (const str
   return EXT_LANG_RC_OK;
 }
 
-/* Implementation of invoke_xmethod for Python.  */
+/* See declaration.  */
 
 struct value *
-gdbpy_invoke_xmethod (const struct extension_language_defn *extlang,
-		      struct xmethod_worker *worker,
-		      struct value *obj, struct value **args, int nargs)
+python_xmethod_worker::invoke (struct value *obj, struct value **args,
+			       int nargs)
 {
+  gdbpy_enter enter_py (get_current_arch (), current_language);
+
   int i;
   struct type *obj_type, *this_type;
   struct value *res = NULL;
-  struct gdbpy_worker_data *worker_data
-    = (struct gdbpy_worker_data *) worker->data;
-  PyObject *xmethod_worker = worker_data->worker;
-
-  gdbpy_enter enter_py (get_current_arch (), current_language);
 
   obj_type = check_typedef (value_type (obj));
-  this_type = check_typedef (type_object_to_type (worker_data->this_type));
+  this_type = check_typedef (type_object_to_type (m_this_type));
   if (TYPE_CODE (obj_type) == TYPE_CODE_PTR)
     {
       struct type *this_ptr = lookup_pointer_type (this_type);
@@ -597,7 +569,7 @@ gdbpy_invoke_xmethod (const struct exten
       PyTuple_SET_ITEM (py_arg_tuple.get (), i + 1, py_value_arg);
     }
 
-  gdbpy_ref<> py_result (PyObject_CallObject (xmethod_worker,
+  gdbpy_ref<> py_result (PyObject_CallObject (m_py_worker,
 					      py_arg_tuple.get ()));
   if (py_result == NULL)
     {
@@ -623,24 +595,15 @@ gdbpy_invoke_xmethod (const struct exten
   return res;
 }
 
-/* Creates a new Python xmethod_worker object.
-   The new object has data of type 'struct gdbpy_worker_data' composed
-   with the components PY_WORKER and THIS_TYPE.  */
-
-static struct xmethod_worker *
-new_python_xmethod_worker (PyObject *py_worker, PyObject *this_type)
+python_xmethod_worker::python_xmethod_worker (PyObject *py_worker,
+					       PyObject *this_type)
+: xmethod_worker (&extension_language_python),
+  m_py_worker (py_worker), m_this_type (this_type)
 {
-  struct gdbpy_worker_data *data;
+  gdb_assert (m_py_worker != NULL && m_this_type != NULL);
 
-  gdb_assert (py_worker != NULL && this_type != NULL);
-
-  data = XCNEW (struct gdbpy_worker_data);
-  data->worker = py_worker;
-  data->this_type = this_type;
   Py_INCREF (py_worker);
   Py_INCREF (this_type);
-
-  return new_xmethod_worker (&extension_language_python, data);
 }
 
 int
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ravenscar-thread.c ./gdb/ravenscar-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ravenscar-thread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ravenscar-thread.c	2018-07-10 02:06:13.000000000 +0000
@@ -25,7 +25,7 @@
 #include "inferior.h"
 #include "command.h"
 #include "ravenscar-thread.h"
-#include "observer.h"
+#include "observable.h"
 #include "gdbcmd.h"
 #include "top.h"
 #include "regcache.h"
@@ -60,9 +60,6 @@
 /* If non-null, ravenscar task support is enabled.  */
 static int ravenscar_task_support = 1;
 
-/* This module's target-specific operations.  */
-static struct target_ops ravenscar_ops;
-
 /* PTID of the last thread that received an event.
    This can be useful to determine the associated task that received
    the event, to make it the current task.  */
@@ -76,20 +73,62 @@ static const char first_task_name[] = "s
 static const char ravenscar_runtime_initializer[] =
   "system__bb__threads__initialize";
 
-static void ravenscar_update_thread_list (struct target_ops *ops);
+static const target_info ravenscar_target_info = {
+  "ravenscar",
+  N_("Ravenscar tasks."),
+  N_("Ravenscar tasks support.")
+};
+
+struct ravenscar_thread_target final : public target_ops
+{
+  ravenscar_thread_target ()
+  { to_stratum = thread_stratum; }
+
+  const target_info &info () const override
+  { return ravenscar_target_info; }
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+  void resume (ptid_t, int, enum gdb_signal) override;
+
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  void prepare_to_store (struct regcache *) override;
+
+  bool stopped_by_sw_breakpoint () override;
+
+  bool stopped_by_hw_breakpoint () override;
+
+  bool stopped_by_watchpoint () override;
+
+  bool stopped_data_address (CORE_ADDR *) override;
+
+  bool thread_alive (ptid_t ptid) override;
+
+  int core_of_thread (ptid_t ptid) override;
+
+  void update_thread_list () override;
+
+  const char *extra_thread_info (struct thread_info *) override;
+
+  const char *pid_to_str (ptid_t) override;
+
+  ptid_t get_ada_task_ptid (long lwp, long thread) override;
+
+  void mourn_inferior () override;
+
+  bool has_all_memory ()  override { return default_child_has_all_memory (); }
+  bool has_memory ()  override { return default_child_has_memory (); }
+  bool has_stack ()  override { return default_child_has_stack (); }
+  bool has_registers ()  override { return default_child_has_registers (); }
+  bool has_execution (ptid_t ptid) override
+  { return default_child_has_execution (ptid); }
+};
+
+/* This module's target-specific operations.  */
+static ravenscar_thread_target ravenscar_ops;
+
 static ptid_t ravenscar_active_task (int cpu);
-static const char *ravenscar_extra_thread_info (struct target_ops *self,
-						struct thread_info *tp);
-static int ravenscar_thread_alive (struct target_ops *ops, ptid_t ptid);
-static void ravenscar_fetch_registers (struct target_ops *ops,
-                                       struct regcache *regcache, int regnum);
-static void ravenscar_store_registers (struct target_ops *ops,
-                                       struct regcache *regcache, int regnum);
-static void ravenscar_prepare_to_store (struct target_ops *self,
-					struct regcache *regcache);
-static void ravenscar_resume (struct target_ops *ops, ptid_t ptid, int step,
-			      enum gdb_signal siggnal);
-static void ravenscar_mourn_inferior (struct target_ops *ops);
 static void ravenscar_update_inferior_ptid (void);
 static int has_ravenscar_runtime (void);
 static int ravenscar_runtime_initialized (void);
@@ -108,7 +147,7 @@ is_ravenscar_task (ptid_t ptid)
      2.0.48 for LEON3 sends 'm0' as a reply to the 'qfThreadInfo'
      query, which the remote protocol layer then treats as a thread
      whose TID is 0.  This is obviously not a ravenscar task.  */
-  return ptid_get_lwp (ptid) == 0 && ptid_get_tid (ptid) != 0;
+  return ptid.lwp () == 0 && ptid.tid () != 0;
 }
 
 /* Given PTID, which can be either a ravenscar task or a CPU thread,
@@ -132,7 +171,7 @@ ravenscar_get_thread_base_cpu (ptid_t pt
   else
     {
       /* We assume that the LWP of the PTID is equal to the CPU number.  */
-      base_cpu = ptid_get_lwp (ptid);
+      base_cpu = ptid.lwp ();
     }
 
   return base_cpu;
@@ -154,7 +193,7 @@ ravenscar_task_is_currently_active (ptid
   ptid_t active_task_ptid
     = ravenscar_active_task (ravenscar_get_thread_base_cpu (ptid));
 
-  return ptid_equal (ptid, active_task_ptid);
+  return ptid == active_task_ptid;
 }
 
 /* Return the CPU thread (as a ptid_t) on which the given ravenscar
@@ -172,7 +211,7 @@ get_base_thread_from_ravenscar_task (pti
     return ptid;
 
   base_cpu = ravenscar_get_thread_base_cpu (ptid);
-  return ptid_build (ptid_get_pid (ptid), base_cpu, 0);
+  return ptid_t (ptid.pid (), base_cpu, 0);
 }
 
 /* Fetch the ravenscar running thread from target memory and
@@ -196,7 +235,7 @@ ravenscar_update_inferior_ptid (void)
   /* Make sure we set base_ptid before calling ravenscar_active_task
      as the latter relies on it.  */
   inferior_ptid = ravenscar_active_task (base_cpu);
-  gdb_assert (!ptid_equal (inferior_ptid, null_ptid));
+  gdb_assert (inferior_ptid != null_ptid);
 
   /* The running thread may not have been added to
      system.tasking.debug's list yet; so ravenscar_update_thread_list
@@ -252,7 +291,7 @@ has_ravenscar_runtime (void)
 static int
 ravenscar_runtime_initialized (void)
 {
-  return (!(ptid_equal (ravenscar_active_task (1), null_ptid)));
+  return (!(ravenscar_active_task (1) == null_ptid));
 }
 
 /* Return the ID of the thread that is currently running.
@@ -281,26 +320,22 @@ get_running_thread_id (int cpu)
   return extract_typed_address (buf, builtin_type_void_data_ptr);
 }
 
-static void
-ravenscar_resume (struct target_ops *ops, ptid_t ptid, int step,
-		  enum gdb_signal siggnal)
+void
+ravenscar_thread_target::resume (ptid_t ptid, int step, enum gdb_signal siggnal)
 {
-  struct target_ops *beneath = find_target_beneath (ops);
-
   inferior_ptid = base_ptid;
-  beneath->to_resume (beneath, base_ptid, step, siggnal);
+  beneath ()->resume (base_ptid, step, siggnal);
 }
 
-static ptid_t
-ravenscar_wait (struct target_ops *ops, ptid_t ptid,
-                struct target_waitstatus *status,
-                int options)
+ptid_t
+ravenscar_thread_target::wait (ptid_t ptid,
+			       struct target_waitstatus *status,
+			       int options)
 {
-  struct target_ops *beneath = find_target_beneath (ops);
   ptid_t event_ptid;
 
   inferior_ptid = base_ptid;
-  event_ptid = beneath->to_wait (beneath, base_ptid, status, 0);
+  event_ptid = beneath ()->wait (base_ptid, status, 0);
   /* Find any new threads that might have been created, and update
      inferior_ptid to the active thread.
 
@@ -312,7 +347,7 @@ ravenscar_wait (struct target_ops *ops, 
       && status->kind != TARGET_WAITKIND_SIGNALLED)
     {
       inferior_ptid = event_ptid;
-      ravenscar_update_thread_list (ops);
+      this->update_thread_list ();
       ravenscar_update_inferior_ptid ();
     }
   return inferior_ptid;
@@ -328,8 +363,8 @@ ravenscar_add_thread (struct ada_task_in
     add_thread (task->ptid);
 }
 
-static void
-ravenscar_update_thread_list (struct target_ops *ops)
+void
+ravenscar_thread_target::update_thread_list ()
 {
   ada_build_task_list ();
 
@@ -349,37 +384,35 @@ ravenscar_active_task (int cpu)
   if (tid == 0)
     return null_ptid;
   else
-    return ptid_build (ptid_get_pid (base_ptid), 0, tid);
+    return ptid_t (base_ptid.pid (), 0, tid);
 }
 
-static const char *
-ravenscar_extra_thread_info (struct target_ops *self, struct thread_info *tp)
+const char *
+ravenscar_thread_target::extra_thread_info (thread_info *tp)
 {
   return "Ravenscar task";
 }
 
-static int
-ravenscar_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+ravenscar_thread_target::thread_alive (ptid_t ptid)
 {
   /* Ravenscar tasks are non-terminating.  */
-  return 1;
+  return true;
 }
 
-static const char *
-ravenscar_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+ravenscar_thread_target::pid_to_str (ptid_t ptid)
 {
   static char buf[30];
 
-  snprintf (buf, sizeof (buf), "Thread %#x", (int) ptid_get_tid (ptid));
+  snprintf (buf, sizeof (buf), "Thread %#x", (int) ptid.tid ());
   return buf;
 }
 
-static void
-ravenscar_fetch_registers (struct target_ops *ops,
-                           struct regcache *regcache, int regnum)
+void
+ravenscar_thread_target::fetch_registers (struct regcache *regcache, int regnum)
 {
-  struct target_ops *beneath = find_target_beneath (ops);
-  ptid_t ptid = regcache_get_ptid (regcache);
+  ptid_t ptid = regcache->ptid ();
 
   if (ravenscar_runtime_initialized ()
       && is_ravenscar_task (ptid)
@@ -392,15 +425,14 @@ ravenscar_fetch_registers (struct target
       arch_ops->to_fetch_registers (regcache, regnum);
     }
   else
-    beneath->to_fetch_registers (beneath, regcache, regnum);
+    beneath ()->fetch_registers (regcache, regnum);
 }
 
-static void
-ravenscar_store_registers (struct target_ops *ops,
-                           struct regcache *regcache, int regnum)
+void
+ravenscar_thread_target::store_registers (struct regcache *regcache,
+					  int regnum)
 {
-  struct target_ops *beneath = find_target_beneath (ops);
-  ptid_t ptid = regcache_get_ptid (regcache);
+  ptid_t ptid = regcache->ptid ();
 
   if (ravenscar_runtime_initialized ()
       && is_ravenscar_task (ptid)
@@ -410,18 +442,16 @@ ravenscar_store_registers (struct target
       struct ravenscar_arch_ops *arch_ops
 	= gdbarch_ravenscar_ops (gdbarch);
 
-      arch_ops->to_store_registers (regcache, regnum);
+      beneath ()->store_registers (regcache, regnum);
     }
   else
-    beneath->to_store_registers (beneath, regcache, regnum);
+    beneath ()->store_registers (regcache, regnum);
 }
 
-static void
-ravenscar_prepare_to_store (struct target_ops *self,
-			    struct regcache *regcache)
+void
+ravenscar_thread_target::prepare_to_store (struct regcache *regcache)
 {
-  struct target_ops *beneath = find_target_beneath (self);
-  ptid_t ptid = regcache_get_ptid (regcache);
+  ptid_t ptid = regcache->ptid ();
 
   if (ravenscar_runtime_initialized ()
       && is_ravenscar_task (ptid)
@@ -431,93 +461,86 @@ ravenscar_prepare_to_store (struct targe
       struct ravenscar_arch_ops *arch_ops
 	= gdbarch_ravenscar_ops (gdbarch);
 
-      arch_ops->to_prepare_to_store (regcache);
+      beneath ()->prepare_to_store (regcache);
     }
   else
-    beneath->to_prepare_to_store (beneath, regcache);
+    beneath ()->prepare_to_store (regcache);
 }
 
 /* Implement the to_stopped_by_sw_breakpoint target_ops "method".  */
 
-static int
-ravenscar_stopped_by_sw_breakpoint (struct target_ops *ops)
+bool
+ravenscar_thread_target::stopped_by_sw_breakpoint ()
 {
   ptid_t saved_ptid = inferior_ptid;
-  struct target_ops *beneath = find_target_beneath (ops);
-  int result;
+  bool result;
 
   inferior_ptid = get_base_thread_from_ravenscar_task (saved_ptid);
-  result = beneath->to_stopped_by_sw_breakpoint (beneath);
+  result = beneath ()->stopped_by_sw_breakpoint ();
   inferior_ptid = saved_ptid;
   return result;
 }
 
 /* Implement the to_stopped_by_hw_breakpoint target_ops "method".  */
 
-static int
-ravenscar_stopped_by_hw_breakpoint (struct target_ops *ops)
+bool
+ravenscar_thread_target::stopped_by_hw_breakpoint ()
 {
   ptid_t saved_ptid = inferior_ptid;
-  struct target_ops *beneath = find_target_beneath (ops);
-  int result;
+  bool result;
 
   inferior_ptid = get_base_thread_from_ravenscar_task (saved_ptid);
-  result = beneath->to_stopped_by_hw_breakpoint (beneath);
+  result = beneath ()->stopped_by_hw_breakpoint ();
   inferior_ptid = saved_ptid;
   return result;
 }
 
 /* Implement the to_stopped_by_watchpoint target_ops "method".  */
 
-static int
-ravenscar_stopped_by_watchpoint (struct target_ops *ops)
+bool
+ravenscar_thread_target::stopped_by_watchpoint ()
 {
   ptid_t saved_ptid = inferior_ptid;
-  struct target_ops *beneath = find_target_beneath (ops);
-  int result;
+  bool result;
 
   inferior_ptid = get_base_thread_from_ravenscar_task (saved_ptid);
-  result = beneath->to_stopped_by_watchpoint (beneath);
+  result = beneath ()->stopped_by_watchpoint ();
   inferior_ptid = saved_ptid;
   return result;
 }
 
 /* Implement the to_stopped_data_address target_ops "method".  */
 
-static int
-ravenscar_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
+bool
+ravenscar_thread_target::stopped_data_address (CORE_ADDR *addr_p)
 {
   ptid_t saved_ptid = inferior_ptid;
-  struct target_ops *beneath = find_target_beneath (ops);
-  int result;
+  bool result;
 
   inferior_ptid = get_base_thread_from_ravenscar_task (saved_ptid);
-  result = beneath->to_stopped_data_address (beneath, addr_p);
+  result = beneath ()->stopped_data_address (addr_p);
   inferior_ptid = saved_ptid;
   return result;
 }
 
-static void
-ravenscar_mourn_inferior (struct target_ops *ops)
+void
+ravenscar_thread_target::mourn_inferior ()
 {
-  struct target_ops *beneath = find_target_beneath (ops);
-
   base_ptid = null_ptid;
-  beneath->to_mourn_inferior (beneath);
+  beneath ()->mourn_inferior ();
   unpush_target (&ravenscar_ops);
 }
 
 /* Implement the to_core_of_thread target_ops "method".  */
 
-static int
-ravenscar_core_of_thread (struct target_ops *ops, ptid_t ptid)
+int
+ravenscar_thread_target::core_of_thread (ptid_t ptid)
 {
   ptid_t saved_ptid = inferior_ptid;
-  struct target_ops *beneath = find_target_beneath (ops);
   int result;
 
   inferior_ptid = get_base_thread_from_ravenscar_task (saved_ptid);
-  result = beneath->to_core_of_thread (beneath, inferior_ptid);
+  result = beneath ()->core_of_thread (inferior_ptid);
   inferior_ptid = saved_ptid;
   return result;
 }
@@ -545,43 +568,10 @@ ravenscar_inferior_created (struct targe
   push_target (&ravenscar_ops);
 }
 
-static ptid_t
-ravenscar_get_ada_task_ptid (struct target_ops *self, long lwp, long thread)
-{
-  return ptid_build (ptid_get_pid (base_ptid), 0, thread);
-}
-
-static void
-init_ravenscar_thread_ops (void)
+ptid_t
+ravenscar_thread_target::get_ada_task_ptid (long lwp, long thread)
 {
-  ravenscar_ops.to_shortname = "ravenscar";
-  ravenscar_ops.to_longname = "Ravenscar tasks.";
-  ravenscar_ops.to_doc = "Ravenscar tasks support.";
-  ravenscar_ops.to_resume = ravenscar_resume;
-  ravenscar_ops.to_wait = ravenscar_wait;
-  ravenscar_ops.to_fetch_registers = ravenscar_fetch_registers;
-  ravenscar_ops.to_store_registers = ravenscar_store_registers;
-  ravenscar_ops.to_prepare_to_store = ravenscar_prepare_to_store;
-  ravenscar_ops.to_stopped_by_sw_breakpoint
-    = ravenscar_stopped_by_sw_breakpoint;
-  ravenscar_ops.to_stopped_by_hw_breakpoint
-    = ravenscar_stopped_by_hw_breakpoint;
-  ravenscar_ops.to_stopped_by_watchpoint = ravenscar_stopped_by_watchpoint;
-  ravenscar_ops.to_stopped_data_address = ravenscar_stopped_data_address;
-  ravenscar_ops.to_thread_alive = ravenscar_thread_alive;
-  ravenscar_ops.to_update_thread_list = ravenscar_update_thread_list;
-  ravenscar_ops.to_pid_to_str = ravenscar_pid_to_str;
-  ravenscar_ops.to_extra_thread_info = ravenscar_extra_thread_info;
-  ravenscar_ops.to_get_ada_task_ptid = ravenscar_get_ada_task_ptid;
-  ravenscar_ops.to_mourn_inferior = ravenscar_mourn_inferior;
-  ravenscar_ops.to_has_all_memory = default_child_has_all_memory;
-  ravenscar_ops.to_has_memory = default_child_has_memory;
-  ravenscar_ops.to_has_stack = default_child_has_stack;
-  ravenscar_ops.to_has_registers = default_child_has_registers;
-  ravenscar_ops.to_has_execution = default_child_has_execution;
-  ravenscar_ops.to_stratum = thread_stratum;
-  ravenscar_ops.to_core_of_thread = ravenscar_core_of_thread;
-  ravenscar_ops.to_magic = OPS_MAGIC;
+  return ptid_t (base_ptid.pid (), 0, thread);
 }
 
 /* Command-list for the "set/show ravenscar" prefix command.  */
@@ -627,14 +617,11 @@ Support for Ravenscar task/thread switch
 void
 _initialize_ravenscar (void)
 {
-  init_ravenscar_thread_ops ();
   base_ptid = null_ptid;
 
   /* Notice when the inferior is created in order to push the
      ravenscar ops if needed.  */
-  observer_attach_inferior_created (ravenscar_inferior_created);
-
-  complete_target_initialization (&ravenscar_ops);
+  gdb::observers::inferior_created.attach (ravenscar_inferior_created);
 
   add_prefix_cmd ("ravenscar", no_class, set_ravenscar_command,
                   _("Prefix command for changing Ravenscar-specific settings"),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/record-btrace.c ./gdb/record-btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/record-btrace.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/record-btrace.c	2018-07-10 02:06:13.000000000 +0000
@@ -26,7 +26,7 @@
 #include "target.h"
 #include "gdbcmd.h"
 #include "disasm.h"
-#include "observer.h"
+#include "observable.h"
 #include "cli/cli-utils.h"
 #include "source.h"
 #include "ui-out.h"
@@ -39,13 +39,112 @@
 #include "event-loop.h"
 #include "inf-loop.h"
 #include "vec.h"
+#include "inferior.h"
 #include <algorithm>
 
+static const target_info record_btrace_target_info = {
+  "record-btrace",
+  N_("Branch tracing target"),
+  N_("Collect control-flow trace and provide the execution history.")
+};
+
 /* The target_ops of record-btrace.  */
-static struct target_ops record_btrace_ops;
 
-/* A new thread observer enabling branch tracing for the new thread.  */
-static struct observer *record_btrace_thread_observer;
+class record_btrace_target final : public target_ops
+{
+public:
+  record_btrace_target ()
+  { to_stratum = record_stratum; }
+
+  const target_info &info () const override
+  { return record_btrace_target_info; }
+
+  void close () override;
+  void async (int) override;
+
+  void detach (inferior *inf, int from_tty) override
+  { record_detach (this, inf, from_tty); }
+
+  void disconnect (const char *, int) override;
+
+  void mourn_inferior () override
+  { record_mourn_inferior (this); }
+
+  void kill () override
+  { record_kill (this); }
+
+  enum record_method record_method (ptid_t ptid) override;
+
+  void stop_recording () override;
+  void info_record () override;
+
+  void insn_history (int size, gdb_disassembly_flags flags) override;
+  void insn_history_from (ULONGEST from, int size,
+			  gdb_disassembly_flags flags) override;
+  void insn_history_range (ULONGEST begin, ULONGEST end,
+			   gdb_disassembly_flags flags) override;
+  void call_history (int size, record_print_flags flags) override;
+  void call_history_from (ULONGEST begin, int size, record_print_flags flags)
+    override;
+  void call_history_range (ULONGEST begin, ULONGEST end, record_print_flags flags)
+    override;
+
+  bool record_is_replaying (ptid_t ptid) override;
+  bool record_will_replay (ptid_t ptid, int dir) override;
+  void record_stop_replaying () override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  int insert_breakpoint (struct gdbarch *,
+			 struct bp_target_info *) override;
+  int remove_breakpoint (struct gdbarch *, struct bp_target_info *,
+			 enum remove_bp_reason) override;
+
+  void fetch_registers (struct regcache *, int) override;
+
+  void store_registers (struct regcache *, int) override;
+  void prepare_to_store (struct regcache *) override;
+
+  const struct frame_unwind *get_unwinder () override;
+
+  const struct frame_unwind *get_tailcall_unwinder () override;
+
+  void commit_resume () override;
+  void resume (ptid_t, int, enum gdb_signal) override;
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+  void stop (ptid_t) override;
+  void update_thread_list () override;
+  bool thread_alive (ptid_t ptid) override;
+  void goto_record_begin () override;
+  void goto_record_end () override;
+  void goto_record (ULONGEST insn) override;
+
+  bool can_execute_reverse () override;
+
+  bool stopped_by_sw_breakpoint () override;
+  bool supports_stopped_by_sw_breakpoint () override;
+
+  bool stopped_by_hw_breakpoint () override;
+  bool supports_stopped_by_hw_breakpoint () override;
+
+  enum exec_direction_kind execution_direction () override;
+  void prepare_to_generate_core () override;
+  void done_generating_core () override;
+};
+
+static record_btrace_target record_btrace_ops;
+
+/* Initialize the record-btrace target ops.  */
+
+/* Token associated with a new-thread observer enabling branch tracing
+   for the new thread.  */
+static const gdb::observers::token record_btrace_thread_observer_token;
 
 /* Memory access types used in set/show record btrace replay-memory-access.  */
 static const char replay_memory_access_read_only[] = "read-only";
@@ -60,6 +159,20 @@ static const char *const replay_memory_a
 /* The currently allowed replay memory access type.  */
 static const char *replay_memory_access = replay_memory_access_read_only;
 
+/* The cpu state kinds.  */
+enum record_btrace_cpu_state_kind
+{
+  CS_AUTO,
+  CS_NONE,
+  CS_CPU
+};
+
+/* The current cpu state.  */
+static enum record_btrace_cpu_state_kind record_btrace_cpu_state = CS_AUTO;
+
+/* The current cpu for trace decode.  */
+static struct btrace_cpu record_btrace_cpu;
+
 /* Command lists for "set/show record btrace".  */
 static struct cmd_list_element *set_record_btrace_cmdlist;
 static struct cmd_list_element *show_record_btrace_cmdlist;
@@ -87,6 +200,9 @@ static struct cmd_list_element *show_rec
 static struct cmd_list_element *set_record_btrace_pt_cmdlist;
 static struct cmd_list_element *show_record_btrace_pt_cmdlist;
 
+/* Command list for "set record btrace cpu".  */
+static struct cmd_list_element *set_record_btrace_cpu_cmdlist;
+
 /* Print a record-btrace debug message.  Use do ... while (0) to avoid
    ambiguities when used in if statements.  */
 
@@ -100,6 +216,26 @@ static struct cmd_list_element *show_rec
   while (0)
 
 
+/* Return the cpu configured by the user.  Returns NULL if the cpu was
+   configured as auto.  */
+const struct btrace_cpu *
+record_btrace_get_cpu (void)
+{
+  switch (record_btrace_cpu_state)
+    {
+    case CS_AUTO:
+      return nullptr;
+
+    case CS_NONE:
+      record_btrace_cpu.vendor = CV_UNKNOWN;
+      /* Fall through.  */
+    case CS_CPU:
+      return &record_btrace_cpu;
+    }
+
+  error (_("Internal error: bad record btrace cpu state."));
+}
+
 /* Update the branch trace for the current thread and return a pointer to its
    thread_info.
 
@@ -109,17 +245,16 @@ static struct cmd_list_element *show_rec
 static struct thread_info *
 require_btrace_thread (void)
 {
-  struct thread_info *tp;
-
   DEBUG ("require");
 
-  tp = find_thread_ptid (inferior_ptid);
-  if (tp == NULL)
+  if (inferior_ptid == null_ptid)
     error (_("No thread."));
 
+  thread_info *tp = inferior_thread ();
+
   validate_registers_access ();
 
-  btrace_fetch (tp);
+  btrace_fetch (tp, record_btrace_get_cpu ());
 
   if (btrace_is_empty (tp))
     error (_("No trace."));
@@ -159,16 +294,6 @@ record_btrace_enable_warn (struct thread
   END_CATCH
 }
 
-/* Callback function to disable branch tracing for one thread.  */
-
-static void
-record_btrace_disable_callback (void *arg)
-{
-  struct thread_info *tp = (struct thread_info *) arg;
-
-  btrace_disable (tp);
-}
-
 /* Enable automatic tracing of new threads.  */
 
 static void
@@ -176,8 +301,8 @@ record_btrace_auto_enable (void)
 {
   DEBUG ("attach thread observer");
 
-  record_btrace_thread_observer
-    = observer_attach_new_thread (record_btrace_enable_warn);
+  gdb::observers::new_thread.attach (record_btrace_enable_warn,
+				     record_btrace_thread_observer_token);
 }
 
 /* Disable automatic tracing of new threads.  */
@@ -185,14 +310,9 @@ record_btrace_auto_enable (void)
 static void
 record_btrace_auto_disable (void)
 {
-  /* The observer may have been detached, already.  */
-  if (record_btrace_thread_observer == NULL)
-    return;
-
   DEBUG ("detach thread observer");
 
-  observer_detach_new_thread (record_btrace_thread_observer);
-  record_btrace_thread_observer = NULL;
+  gdb::observers::new_thread.detach (record_btrace_thread_observer_token);
 }
 
 /* The record-btrace async event handler function.  */
@@ -220,15 +340,45 @@ record_btrace_push_target (void)
   record_btrace_generating_corefile = 0;
 
   format = btrace_format_short_string (record_btrace_conf.format);
-  observer_notify_record_changed (current_inferior (), 1, "btrace", format);
+  gdb::observers::record_changed.notify (current_inferior (), 1, "btrace", format);
 }
 
-/* The to_open method of target record-btrace.  */
+/* Disable btrace on a set of threads on scope exit.  */
+
+struct scoped_btrace_disable
+{
+  scoped_btrace_disable () = default;
+
+  DISABLE_COPY_AND_ASSIGN (scoped_btrace_disable);
+
+  ~scoped_btrace_disable ()
+  {
+    for (thread_info *tp : m_threads)
+      btrace_disable (tp);
+  }
+
+  void add_thread (thread_info *thread)
+  {
+    m_threads.push_front (thread);
+  }
+
+  void discard ()
+  {
+    m_threads.clear ();
+  }
+
+private:
+  std::forward_list<thread_info *> m_threads;
+};
+
+/* Open target record-btrace.  */
 
 static void
-record_btrace_open (const char *args, int from_tty)
+record_btrace_target_open (const char *args, int from_tty)
 {
-  struct cleanup *disable_chain;
+  /* If we fail to enable btrace for one thread, disable it for the threads for
+     which it was successfully enabled.  */
+  scoped_btrace_disable btrace_disable;
   struct thread_info *tp;
 
   DEBUG ("open");
@@ -238,26 +388,23 @@ record_btrace_open (const char *args, in
   if (!target_has_execution)
     error (_("The program is not being run."));
 
-  gdb_assert (record_btrace_thread_observer == NULL);
-
-  disable_chain = make_cleanup (null_cleanup, NULL);
   ALL_NON_EXITED_THREADS (tp)
     if (args == NULL || *args == 0 || number_is_in_list (args, tp->global_num))
       {
 	btrace_enable (tp, &record_btrace_conf);
 
-	make_cleanup (record_btrace_disable_callback, tp);
+	btrace_disable.add_thread (tp);
       }
 
   record_btrace_push_target ();
 
-  discard_cleanups (disable_chain);
+  btrace_disable.discard ();
 }
 
-/* The to_stop_recording method of target record-btrace.  */
+/* The stop_recording method of target record-btrace.  */
 
-static void
-record_btrace_stop_recording (struct target_ops *self)
+void
+record_btrace_target::stop_recording ()
 {
   struct thread_info *tp;
 
@@ -270,25 +417,25 @@ record_btrace_stop_recording (struct tar
       btrace_disable (tp);
 }
 
-/* The to_disconnect method of target record-btrace.  */
+/* The disconnect method of target record-btrace.  */
 
-static void
-record_btrace_disconnect (struct target_ops *self, const char *args,
-			  int from_tty)
+void
+record_btrace_target::disconnect (const char *args,
+				  int from_tty)
 {
-  struct target_ops *beneath = self->beneath;
+  struct target_ops *beneath = this->beneath ();
 
   /* Do not stop recording, just clean up GDB side.  */
-  unpush_target (self);
+  unpush_target (this);
 
   /* Forward disconnect.  */
-  beneath->to_disconnect (beneath, args, from_tty);
+  beneath->disconnect (args, from_tty);
 }
 
-/* The to_close method of target record-btrace.  */
+/* The close method of target record-btrace.  */
 
-static void
-record_btrace_close (struct target_ops *self)
+void
+record_btrace_target::close ()
 {
   struct thread_info *tp;
 
@@ -305,17 +452,17 @@ record_btrace_close (struct target_ops *
     btrace_teardown (tp);
 }
 
-/* The to_async method of target record-btrace.  */
+/* The async method of target record-btrace.  */
 
-static void
-record_btrace_async (struct target_ops *ops, int enable)
+void
+record_btrace_target::async (int enable)
 {
   if (enable)
     mark_async_event_handler (record_btrace_async_inferior_event_handler);
   else
     clear_async_event_handler (record_btrace_async_inferior_event_handler);
 
-  ops->beneath->to_async (ops->beneath, enable);
+  this->beneath ()->async (enable);
 }
 
 /* Adjusts the size and returns a human readable size suffix.  */
@@ -403,10 +550,10 @@ record_btrace_print_conf (const struct b
   internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
 }
 
-/* The to_info_record method of target record-btrace.  */
+/* The info_record method of target record-btrace.  */
 
-static void
-record_btrace_info (struct target_ops *self)
+void
+record_btrace_target::info_record ()
 {
   struct btrace_thread_info *btinfo;
   const struct btrace_config *conf;
@@ -423,11 +570,11 @@ record_btrace_info (struct target_ops *s
 
   btinfo = &tp->btrace;
 
-  conf = btrace_conf (btinfo);
+  conf = ::btrace_conf (btinfo);
   if (conf != NULL)
     record_btrace_print_conf (conf);
 
-  btrace_fetch (tp);
+  btrace_fetch (tp, record_btrace_get_cpu ());
 
   insns = 0;
   calls = 0;
@@ -601,26 +748,24 @@ btrace_find_line_range (CORE_ADDR pc)
 
 static void
 btrace_print_lines (struct btrace_line_range lines, struct ui_out *uiout,
-		    struct cleanup **ui_item_chain, int flags)
+		    gdb::optional<ui_out_emit_tuple> *src_and_asm_tuple,
+		    gdb::optional<ui_out_emit_list> *asm_list,
+		    gdb_disassembly_flags flags)
 {
   print_source_lines_flags psl_flags;
-  int line;
 
-  psl_flags = 0;
   if (flags & DISASSEMBLY_FILENAME)
     psl_flags |= PRINT_SOURCE_LINES_FILENAME;
 
-  for (line = lines.begin; line < lines.end; ++line)
+  for (int line = lines.begin; line < lines.end; ++line)
     {
-      if (*ui_item_chain != NULL)
-	do_cleanups (*ui_item_chain);
+      asm_list->reset ();
 
-      *ui_item_chain
-	= make_cleanup_ui_out_tuple_begin_end (uiout, "src_and_asm_line");
+      src_and_asm_tuple->emplace (uiout, "src_and_asm_line");
 
       print_source_lines (lines.symtab, line, line + 1, psl_flags);
 
-      make_cleanup_ui_out_list_begin_end (uiout, "line_asm_insn");
+      asm_list->emplace (uiout, "line_asm_insn");
     }
 }
 
@@ -633,28 +778,23 @@ btrace_insn_history (struct ui_out *uiou
 		     const struct btrace_insn_iterator *end,
 		     gdb_disassembly_flags flags)
 {
-  struct cleanup *cleanups, *ui_item_chain;
-  struct gdbarch *gdbarch;
-  struct btrace_insn_iterator it;
-  struct btrace_line_range last_lines;
-
   DEBUG ("itrace (0x%x): [%u; %u)", (unsigned) flags,
 	 btrace_insn_number (begin), btrace_insn_number (end));
 
   flags |= DISASSEMBLY_SPECULATIVE;
 
-  gdbarch = target_gdbarch ();
-  last_lines = btrace_mk_line_range (NULL, 0, 0);
+  struct gdbarch *gdbarch = target_gdbarch ();
+  btrace_line_range last_lines = btrace_mk_line_range (NULL, 0, 0);
 
-  cleanups = make_cleanup_ui_out_list_begin_end (uiout, "asm_insns");
+  ui_out_emit_list list_emitter (uiout, "asm_insns");
 
-  /* UI_ITEM_CHAIN is a cleanup chain for the last source line and the
-     instructions corresponding to that line.  */
-  ui_item_chain = NULL;
+  gdb::optional<ui_out_emit_tuple> src_and_asm_tuple;
+  gdb::optional<ui_out_emit_list> asm_list;
 
   gdb_pretty_print_disassembler disasm (gdbarch);
 
-  for (it = *begin; btrace_insn_cmp (&it, end) != 0; btrace_insn_next (&it, 1))
+  for (btrace_insn_iterator it = *begin; btrace_insn_cmp (&it, end) != 0;
+         btrace_insn_next (&it, 1))
     {
       const struct btrace_insn *insn;
 
@@ -689,19 +829,22 @@ btrace_insn_history (struct ui_out *uiou
 	      if (!btrace_line_range_is_empty (lines)
 		  && !btrace_line_range_contains_range (last_lines, lines))
 		{
-		  btrace_print_lines (lines, uiout, &ui_item_chain, flags);
+		  btrace_print_lines (lines, uiout, &src_and_asm_tuple, &asm_list,
+				      flags);
 		  last_lines = lines;
 		}
-	      else if (ui_item_chain == NULL)
+	      else if (!src_and_asm_tuple.has_value ())
 		{
-		  ui_item_chain
-		    = make_cleanup_ui_out_tuple_begin_end (uiout,
-							   "src_and_asm_line");
+		  gdb_assert (!asm_list.has_value ());
+
+		  src_and_asm_tuple.emplace (uiout, "src_and_asm_line");
+
 		  /* No source information.  */
-		  make_cleanup_ui_out_list_begin_end (uiout, "line_asm_insn");
+		  asm_list.emplace (uiout, "line_asm_insn");
 		}
 
-	      gdb_assert (ui_item_chain != NULL);
+	      gdb_assert (src_and_asm_tuple.has_value ());
+	      gdb_assert (asm_list.has_value ());
 	    }
 
 	  memset (&dinsn, 0, sizeof (dinsn));
@@ -714,15 +857,12 @@ btrace_insn_history (struct ui_out *uiou
 	  disasm.pretty_print_insn (uiout, &dinsn, flags);
 	}
     }
-
-  do_cleanups (cleanups);
 }
 
-/* The to_insn_history method of target record-btrace.  */
+/* The insn_history method of target record-btrace.  */
 
-static void
-record_btrace_insn_history (struct target_ops *self, int size,
-			    gdb_disassembly_flags flags)
+void
+record_btrace_target::insn_history (int size, gdb_disassembly_flags flags)
 {
   struct btrace_thread_info *btinfo;
   struct btrace_insn_history *history;
@@ -802,12 +942,11 @@ record_btrace_insn_history (struct targe
   btrace_set_insn_history (btinfo, &begin, &end);
 }
 
-/* The to_insn_history_range method of target record-btrace.  */
+/* The insn_history_range method of target record-btrace.  */
 
-static void
-record_btrace_insn_history_range (struct target_ops *self,
-				  ULONGEST from, ULONGEST to,
-				  gdb_disassembly_flags flags)
+void
+record_btrace_target::insn_history_range (ULONGEST from, ULONGEST to,
+					  gdb_disassembly_flags flags)
 {
   struct btrace_thread_info *btinfo;
   struct btrace_insn_iterator begin, end;
@@ -851,12 +990,11 @@ record_btrace_insn_history_range (struct
   btrace_set_insn_history (btinfo, &begin, &end);
 }
 
-/* The to_insn_history_from method of target record-btrace.  */
+/* The insn_history_from method of target record-btrace.  */
 
-static void
-record_btrace_insn_history_from (struct target_ops *self,
-				 ULONGEST from, int size,
-				 gdb_disassembly_flags flags)
+void
+record_btrace_target::insn_history_from (ULONGEST from, int size,
+					 gdb_disassembly_flags flags)
 {
   ULONGEST begin, end, context;
 
@@ -883,7 +1021,7 @@ record_btrace_insn_history_from (struct 
 	end = ULONGEST_MAX;
     }
 
-  record_btrace_insn_history_range (self, begin, end, flags);
+  insn_history_range (begin, end, flags);
 }
 
 /* Print the instruction number range for a function call history line.  */
@@ -1071,17 +1209,16 @@ btrace_call_history (struct ui_out *uiou
     }
 }
 
-/* The to_call_history method of target record-btrace.  */
+/* The call_history method of target record-btrace.  */
 
-static void
-record_btrace_call_history (struct target_ops *self, int size, int int_flags)
+void
+record_btrace_target::call_history (int size, record_print_flags flags)
 {
   struct btrace_thread_info *btinfo;
   struct btrace_call_history *history;
   struct btrace_call_iterator begin, end;
   struct ui_out *uiout;
   unsigned int context, covered;
-  record_print_flags flags = (enum record_print_flag) int_flags;
 
   uiout = current_uiout;
   ui_out_emit_tuple tuple_emitter (uiout, "insn history");
@@ -1095,7 +1232,7 @@ record_btrace_call_history (struct targe
     {
       struct btrace_insn_iterator *replay;
 
-      DEBUG ("call-history (0x%x): %d", int_flags, size);
+      DEBUG ("call-history (0x%x): %d", (int) flags, size);
 
       /* If we're replaying, we start at the replay position.  Otherwise, we
 	 start at the tail of the trace.  */
@@ -1130,7 +1267,7 @@ record_btrace_call_history (struct targe
       begin = history->begin;
       end = history->end;
 
-      DEBUG ("call-history (0x%x): %d, prev: [%u; %u)", int_flags, size,
+      DEBUG ("call-history (0x%x): %d, prev: [%u; %u)", (int) flags, size,
 	     btrace_call_number (&begin), btrace_call_number (&end));
 
       if (size < 0)
@@ -1158,26 +1295,24 @@ record_btrace_call_history (struct targe
   btrace_set_call_history (btinfo, &begin, &end);
 }
 
-/* The to_call_history_range method of target record-btrace.  */
+/* The call_history_range method of target record-btrace.  */
 
-static void
-record_btrace_call_history_range (struct target_ops *self,
-				  ULONGEST from, ULONGEST to,
-				  int int_flags)
+void
+record_btrace_target::call_history_range (ULONGEST from, ULONGEST to,
+					  record_print_flags flags)
 {
   struct btrace_thread_info *btinfo;
   struct btrace_call_iterator begin, end;
   struct ui_out *uiout;
   unsigned int low, high;
   int found;
-  record_print_flags flags = (enum record_print_flag) int_flags;
 
   uiout = current_uiout;
   ui_out_emit_tuple tuple_emitter (uiout, "func history");
   low = from;
   high = to;
 
-  DEBUG ("call-history (0x%x): [%u; %u)", int_flags, low, high);
+  DEBUG ("call-history (0x%x): [%u; %u)", (int) flags, low, high);
 
   /* Check for wrap-arounds.  */
   if (low != from || high != to)
@@ -1208,15 +1343,13 @@ record_btrace_call_history_range (struct
   btrace_set_call_history (btinfo, &begin, &end);
 }
 
-/* The to_call_history_from method of target record-btrace.  */
+/* The call_history_from method of target record-btrace.  */
 
-static void
-record_btrace_call_history_from (struct target_ops *self,
-				 ULONGEST from, int size,
-				 int int_flags)
+void
+record_btrace_target::call_history_from (ULONGEST from, int size,
+					 record_print_flags flags)
 {
   ULONGEST begin, end, context;
-  record_print_flags flags = (enum record_print_flag) int_flags;
 
   context = abs (size);
   if (context == 0)
@@ -1241,13 +1374,13 @@ record_btrace_call_history_from (struct 
 	end = ULONGEST_MAX;
     }
 
-  record_btrace_call_history_range (self, begin, end, flags);
+  call_history_range ( begin, end, flags);
 }
 
-/* The to_record_method method of target record-btrace.  */
+/* The record_method method of target record-btrace.  */
 
-static enum record_method
-record_btrace_record_method (struct target_ops *self, ptid_t ptid)
+enum record_method
+record_btrace_target::record_method (ptid_t ptid)
 {
   struct thread_info * const tp = find_thread_ptid (ptid);
 
@@ -1260,40 +1393,40 @@ record_btrace_record_method (struct targ
   return RECORD_METHOD_BTRACE;
 }
 
-/* The to_record_is_replaying method of target record-btrace.  */
+/* The record_is_replaying method of target record-btrace.  */
 
-static int
-record_btrace_is_replaying (struct target_ops *self, ptid_t ptid)
+bool
+record_btrace_target::record_is_replaying (ptid_t ptid)
 {
   struct thread_info *tp;
 
   ALL_NON_EXITED_THREADS (tp)
-    if (ptid_match (tp->ptid, ptid) && btrace_is_replaying (tp))
-      return 1;
+    if (tp->ptid.matches (ptid) && btrace_is_replaying (tp))
+      return true;
 
-  return 0;
+  return false;
 }
 
-/* The to_record_will_replay method of target record-btrace.  */
+/* The record_will_replay method of target record-btrace.  */
 
-static int
-record_btrace_will_replay (struct target_ops *self, ptid_t ptid, int dir)
+bool
+record_btrace_target::record_will_replay (ptid_t ptid, int dir)
 {
-  return dir == EXEC_REVERSE || record_btrace_is_replaying (self, ptid);
+  return dir == EXEC_REVERSE || record_is_replaying (ptid);
 }
 
-/* The to_xfer_partial method of target record-btrace.  */
+/* The xfer_partial method of target record-btrace.  */
 
-static enum target_xfer_status
-record_btrace_xfer_partial (struct target_ops *ops, enum target_object object,
-			    const char *annex, gdb_byte *readbuf,
-			    const gdb_byte *writebuf, ULONGEST offset,
-			    ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+record_btrace_target::xfer_partial (enum target_object object,
+				    const char *annex, gdb_byte *readbuf,
+				    const gdb_byte *writebuf, ULONGEST offset,
+				    ULONGEST len, ULONGEST *xfered_len)
 {
   /* Filter out requests that don't make sense during replay.  */
   if (replay_memory_access == replay_memory_access_read_only
       && !record_btrace_generating_corefile
-      && record_btrace_is_replaying (ops, inferior_ptid))
+      && record_is_replaying (inferior_ptid))
     {
       switch (object)
 	{
@@ -1309,7 +1442,7 @@ record_btrace_xfer_partial (struct targe
 	      }
 
 	    /* We allow reading readonly memory.  */
-	    section = target_section_by_addr (ops, offset);
+	    section = target_section_by_addr (this, offset);
 	    if (section != NULL)
 	      {
 		/* Check if the section we found is readonly.  */
@@ -1330,17 +1463,15 @@ record_btrace_xfer_partial (struct targe
     }
 
   /* Forward the request.  */
-  ops = ops->beneath;
-  return ops->to_xfer_partial (ops, object, annex, readbuf, writebuf,
-			       offset, len, xfered_len);
+  return this->beneath ()->xfer_partial (object, annex, readbuf, writebuf,
+					 offset, len, xfered_len);
 }
 
-/* The to_insert_breakpoint method of target record-btrace.  */
+/* The insert_breakpoint method of target record-btrace.  */
 
-static int
-record_btrace_insert_breakpoint (struct target_ops *ops,
-				 struct gdbarch *gdbarch,
-				 struct bp_target_info *bp_tgt)
+int
+record_btrace_target::insert_breakpoint (struct gdbarch *gdbarch,
+					 struct bp_target_info *bp_tgt)
 {
   const char *old;
   int ret;
@@ -1353,7 +1484,7 @@ record_btrace_insert_breakpoint (struct 
   ret = 0;
   TRY
     {
-      ret = ops->beneath->to_insert_breakpoint (ops->beneath, gdbarch, bp_tgt);
+      ret = this->beneath ()->insert_breakpoint (gdbarch, bp_tgt);
     }
   CATCH (except, RETURN_MASK_ALL)
     {
@@ -1366,13 +1497,12 @@ record_btrace_insert_breakpoint (struct 
   return ret;
 }
 
-/* The to_remove_breakpoint method of target record-btrace.  */
+/* The remove_breakpoint method of target record-btrace.  */
 
-static int
-record_btrace_remove_breakpoint (struct target_ops *ops,
-				 struct gdbarch *gdbarch,
-				 struct bp_target_info *bp_tgt,
-				 enum remove_bp_reason reason)
+int
+record_btrace_target::remove_breakpoint (struct gdbarch *gdbarch,
+					 struct bp_target_info *bp_tgt,
+					 enum remove_bp_reason reason)
 {
   const char *old;
   int ret;
@@ -1385,8 +1515,7 @@ record_btrace_remove_breakpoint (struct 
   ret = 0;
   TRY
     {
-      ret = ops->beneath->to_remove_breakpoint (ops->beneath, gdbarch, bp_tgt,
-						reason);
+      ret = this->beneath ()->remove_breakpoint (gdbarch, bp_tgt, reason);
     }
   CATCH (except, RETURN_MASK_ALL)
     {
@@ -1399,16 +1528,15 @@ record_btrace_remove_breakpoint (struct 
   return ret;
 }
 
-/* The to_fetch_registers method of target record-btrace.  */
+/* The fetch_registers method of target record-btrace.  */
 
-static void
-record_btrace_fetch_registers (struct target_ops *ops,
-			       struct regcache *regcache, int regno)
+void
+record_btrace_target::fetch_registers (struct regcache *regcache, int regno)
 {
   struct btrace_insn_iterator *replay;
   struct thread_info *tp;
 
-  tp = find_thread_ptid (regcache_get_ptid (regcache));
+  tp = find_thread_ptid (regcache->ptid ());
   gdb_assert (tp != NULL);
 
   replay = tp->btrace.replay;
@@ -1430,48 +1558,38 @@ record_btrace_fetch_registers (struct ta
       insn = btrace_insn_get (replay);
       gdb_assert (insn != NULL);
 
-      regcache_raw_supply (regcache, regno, &insn->pc);
+      regcache->raw_supply (regno, &insn->pc);
     }
   else
-    {
-      struct target_ops *t = ops->beneath;
-
-      t->to_fetch_registers (t, regcache, regno);
-    }
+    this->beneath ()->fetch_registers (regcache, regno);
 }
 
-/* The to_store_registers method of target record-btrace.  */
+/* The store_registers method of target record-btrace.  */
 
-static void
-record_btrace_store_registers (struct target_ops *ops,
-			       struct regcache *regcache, int regno)
+void
+record_btrace_target::store_registers (struct regcache *regcache, int regno)
 {
   struct target_ops *t;
 
   if (!record_btrace_generating_corefile
-      && record_btrace_is_replaying (ops, regcache_get_ptid (regcache)))
+      && record_is_replaying (regcache->ptid ()))
     error (_("Cannot write registers while replaying."));
 
   gdb_assert (may_write_registers != 0);
 
-  t = ops->beneath;
-  t->to_store_registers (t, regcache, regno);
+  this->beneath ()->store_registers (regcache, regno);
 }
 
-/* The to_prepare_to_store method of target record-btrace.  */
+/* The prepare_to_store method of target record-btrace.  */
 
-static void
-record_btrace_prepare_to_store (struct target_ops *ops,
-				struct regcache *regcache)
+void
+record_btrace_target::prepare_to_store (struct regcache *regcache)
 {
-  struct target_ops *t;
-
   if (!record_btrace_generating_corefile
-      && record_btrace_is_replaying (ops, regcache_get_ptid (regcache)))
+      && record_is_replaying (regcache->ptid ()))
     return;
 
-  t = ops->beneath;
-  t->to_prepare_to_store (t, regcache);
+  this->beneath ()->prepare_to_store (regcache);
 }
 
 /* The branch trace frame cache.  */
@@ -1660,8 +1778,7 @@ record_btrace_frame_sniffer (const struc
   struct frame_info *next;
 
   /* THIS_FRAME does not contain a reference to its thread.  */
-  tp = find_thread_ptid (inferior_ptid);
-  gdb_assert (tp != NULL);
+  tp = inferior_thread ();
 
   bfun = NULL;
   next = get_next_frame (this_frame);
@@ -1727,7 +1844,7 @@ record_btrace_tailcall_frame_sniffer (co
   if ((callee->flags & BFUN_UP_LINKS_TO_TAILCALL) == 0)
     return 0;
 
-  tinfo = find_thread_ptid (inferior_ptid);
+  tinfo = inferior_thread ();
   if (btrace_find_call_by_number (&it, &tinfo->btrace, callee->up) == 0)
     return 0;
 
@@ -1787,18 +1904,18 @@ const struct frame_unwind record_btrace_
   record_btrace_frame_dealloc_cache
 };
 
-/* Implement the to_get_unwinder method.  */
+/* Implement the get_unwinder method.  */
 
-static const struct frame_unwind *
-record_btrace_to_get_unwinder (struct target_ops *self)
+const struct frame_unwind *
+record_btrace_target::get_unwinder ()
 {
   return &record_btrace_frame_unwind;
 }
 
-/* Implement the to_get_tailcall_unwinder method.  */
+/* Implement the get_tailcall_unwinder method.  */
 
-static const struct frame_unwind *
-record_btrace_to_get_tailcall_unwinder (struct target_ops *self)
+const struct frame_unwind *
+record_btrace_target::get_tailcall_unwinder ()
 {
   return &record_btrace_tailcall_frame_unwind;
 }
@@ -1843,7 +1960,7 @@ record_btrace_resume_thread (struct thre
   btinfo = &tp->btrace;
 
   /* Fetch the latest branch trace.  */
-  btrace_fetch (tp);
+  btrace_fetch (tp, record_btrace_get_cpu ());
 
   /* A resume request overwrites a preceding resume or stop request.  */
   btinfo->flags &= ~(BTHR_MOVE | BTHR_STOP);
@@ -1859,19 +1976,21 @@ get_thread_current_frame (struct thread_
   ptid_t old_inferior_ptid;
   int executing;
 
-  /* Set INFERIOR_PTID, which is implicitly used by get_current_frame.  */
-  old_inferior_ptid = inferior_ptid;
-  inferior_ptid = tp->ptid;
+  /* Set current thread, which is implicitly used by
+     get_current_frame.  */
+  scoped_restore_current_thread restore_thread;
+
+  switch_to_thread (tp);
 
   /* Clear the executing flag to allow changes to the current frame.
      We are not actually running, yet.  We just started a reverse execution
      command or a record goto command.
      For the latter, EXECUTING is false and this has no effect.
-     For the former, EXECUTING is true and we're in to_wait, about to
+     For the former, EXECUTING is true and we're in wait, about to
      move the thread.  Since we need to recompute the stack, we temporarily
      set EXECUTING to flase.  */
-  executing = is_executing (inferior_ptid);
-  set_executing (inferior_ptid, 0);
+  executing = tp->executing;
+  set_executing (inferior_ptid, false);
 
   frame = NULL;
   TRY
@@ -1883,9 +2002,6 @@ get_thread_current_frame (struct thread_
       /* Restore the previous execution state.  */
       set_executing (inferior_ptid, executing);
 
-      /* Restore the previous inferior_ptid.  */
-      inferior_ptid = old_inferior_ptid;
-
       throw_exception (except);
     }
   END_CATCH
@@ -1893,9 +2009,6 @@ get_thread_current_frame (struct thread_
   /* Restore the previous execution state.  */
   set_executing (inferior_ptid, executing);
 
-  /* Restore the previous inferior_ptid.  */
-  inferior_ptid = old_inferior_ptid;
-
   return frame;
 }
 
@@ -1955,7 +2068,7 @@ record_btrace_start_replaying (struct th
       btinfo->replay = replay;
 
       /* Make sure we're not using any stale registers.  */
-      registers_changed_ptid (tp->ptid);
+      registers_changed_thread (tp);
 
       /* The current frame with replaying - computed via btrace unwind.  */
       frame = get_thread_current_frame (tp);
@@ -1972,7 +2085,7 @@ record_btrace_start_replaying (struct th
       xfree (btinfo->replay);
       btinfo->replay = NULL;
 
-      registers_changed_ptid (tp->ptid);
+      registers_changed_thread (tp);
 
       throw_exception (except);
     }
@@ -1994,7 +2107,7 @@ record_btrace_stop_replaying (struct thr
   btinfo->replay = NULL;
 
   /* Make sure we're not leaving any stale registers.  */
-  registers_changed_ptid (tp->ptid);
+  registers_changed_thread (tp);
 }
 
 /* Stop replaying TP if it is at the end of its execution history.  */
@@ -2017,40 +2130,38 @@ record_btrace_stop_replaying_at_end (str
     record_btrace_stop_replaying (tp);
 }
 
-/* The to_resume method of target record-btrace.  */
+/* The resume method of target record-btrace.  */
 
-static void
-record_btrace_resume (struct target_ops *ops, ptid_t ptid, int step,
-		      enum gdb_signal signal)
+void
+record_btrace_target::resume (ptid_t ptid, int step, enum gdb_signal signal)
 {
   struct thread_info *tp;
   enum btrace_thread_flag flag, cflag;
 
   DEBUG ("resume %s: %s%s", target_pid_to_str (ptid),
-	 execution_direction == EXEC_REVERSE ? "reverse-" : "",
+	 ::execution_direction == EXEC_REVERSE ? "reverse-" : "",
 	 step ? "step" : "cont");
 
   /* Store the execution direction of the last resume.
 
-     If there is more than one to_resume call, we have to rely on infrun
+     If there is more than one resume call, we have to rely on infrun
      to not change the execution direction in-between.  */
-  record_btrace_resume_exec_dir = execution_direction;
+  record_btrace_resume_exec_dir = ::execution_direction;
 
   /* As long as we're not replaying, just forward the request.
 
      For non-stop targets this means that no thread is replaying.  In order to
      make progress, we may need to explicitly move replaying threads to the end
      of their execution history.  */
-  if ((execution_direction != EXEC_REVERSE)
-      && !record_btrace_is_replaying (ops, minus_one_ptid))
+  if ((::execution_direction != EXEC_REVERSE)
+      && !record_is_replaying (minus_one_ptid))
     {
-      ops = ops->beneath;
-      ops->to_resume (ops, ptid, step, signal);
+      this->beneath ()->resume (ptid, step, signal);
       return;
     }
 
   /* Compute the btrace thread flag for the requested move.  */
-  if (execution_direction == EXEC_REVERSE)
+  if (::execution_direction == EXEC_REVERSE)
     {
       flag = step == 0 ? BTHR_RCONT : BTHR_RSTEP;
       cflag = BTHR_RCONT;
@@ -2067,12 +2178,12 @@ record_btrace_resume (struct target_ops 
      For all-stop targets, we only step INFERIOR_PTID and continue others.  */
   if (!target_is_non_stop_p ())
     {
-      gdb_assert (ptid_match (inferior_ptid, ptid));
+      gdb_assert (inferior_ptid.matches (ptid));
 
       ALL_NON_EXITED_THREADS (tp)
-	if (ptid_match (tp->ptid, ptid))
+	if (tp->ptid.matches (ptid))
 	  {
-	    if (ptid_match (tp->ptid, inferior_ptid))
+	    if (tp->ptid.matches (inferior_ptid))
 	      record_btrace_resume_thread (tp, flag);
 	    else
 	      record_btrace_resume_thread (tp, cflag);
@@ -2081,7 +2192,7 @@ record_btrace_resume (struct target_ops 
   else
     {
       ALL_NON_EXITED_THREADS (tp)
-	if (ptid_match (tp->ptid, ptid))
+	if (tp->ptid.matches (ptid))
 	  record_btrace_resume_thread (tp, flag);
     }
 
@@ -2093,14 +2204,14 @@ record_btrace_resume (struct target_ops 
     }
 }
 
-/* The to_commit_resume method of target record-btrace.  */
+/* The commit_resume method of target record-btrace.  */
 
-static void
-record_btrace_commit_resume (struct target_ops *ops)
+void
+record_btrace_target::commit_resume ()
 {
-  if ((execution_direction != EXEC_REVERSE)
-      && !record_btrace_is_replaying (ops, minus_one_ptid))
-    ops->beneath->to_commit_resume (ops->beneath);
+  if ((::execution_direction != EXEC_REVERSE)
+      && !record_is_replaying (minus_one_ptid))
+    beneath ()->commit_resume ();
 }
 
 /* Cancel resuming TP.  */
@@ -2218,7 +2329,6 @@ record_btrace_replay_at_breakpoint (stru
   struct btrace_insn_iterator *replay;
   struct btrace_thread_info *btinfo;
   const struct btrace_insn *insn;
-  struct inferior *inf;
 
   btinfo = &tp->btrace;
   replay = btinfo->replay;
@@ -2230,11 +2340,7 @@ record_btrace_replay_at_breakpoint (stru
   if (insn == NULL)
     return 0;
 
-  inf = find_inferior_ptid (tp->ptid);
-  if (inf == NULL)
-    return 0;
-
-  return record_check_stopped_by_breakpoint (inf->aspace, insn->pc,
+  return record_check_stopped_by_breakpoint (tp->inf->aspace, insn->pc,
 					     &btinfo->stop_reason);
 }
 
@@ -2395,7 +2501,7 @@ record_btrace_step_thread (struct thread
       return btrace_step_again ();
     }
 
-  /* We keep threads moving at the end of their execution history.  The to_wait
+  /* We keep threads moving at the end of their execution history.  The wait
      method will stop the thread for whom the event is reported.  */
   if (status.kind == TARGET_WAITKIND_NO_HISTORY)
     btinfo->flags |= flags;
@@ -2403,21 +2509,15 @@ record_btrace_step_thread (struct thread
   return status;
 }
 
-/* A vector of threads.  */
-
-typedef struct thread_info * tp_t;
-DEF_VEC_P (tp_t);
-
 /* Announce further events if necessary.  */
 
 static void
-record_btrace_maybe_mark_async_event (const VEC (tp_t) *moving,
-				      const VEC (tp_t) *no_history)
+record_btrace_maybe_mark_async_event
+  (const std::vector<thread_info *> &moving,
+   const std::vector<thread_info *> &no_history)
 {
-  int more_moving, more_no_history;
-
-  more_moving = !VEC_empty (tp_t, moving);
-  more_no_history = !VEC_empty (tp_t, no_history);
+  bool more_moving = !moving.empty ();
+  bool more_no_history = !no_history.empty ();;
 
   if (!more_moving && !more_no_history)
     return;
@@ -2431,46 +2531,43 @@ record_btrace_maybe_mark_async_event (co
   mark_async_event_handler (record_btrace_async_inferior_event_handler);
 }
 
-/* The to_wait method of target record-btrace.  */
+/* The wait method of target record-btrace.  */
 
-static ptid_t
-record_btrace_wait (struct target_ops *ops, ptid_t ptid,
-		    struct target_waitstatus *status, int options)
-{
-  VEC (tp_t) *moving, *no_history;
-  struct thread_info *tp, *eventing;
-  struct cleanup *cleanups = make_cleanup (null_cleanup, NULL);
+ptid_t
+record_btrace_target::wait (ptid_t ptid, struct target_waitstatus *status,
+			    int options)
+{
+  std::vector<thread_info *> moving;
+  std::vector<thread_info *> no_history;
 
   DEBUG ("wait %s (0x%x)", target_pid_to_str (ptid), options);
 
   /* As long as we're not replaying, just forward the request.  */
-  if ((execution_direction != EXEC_REVERSE)
-      && !record_btrace_is_replaying (ops, minus_one_ptid))
+  if ((::execution_direction != EXEC_REVERSE)
+      && !record_is_replaying (minus_one_ptid))
     {
-      ops = ops->beneath;
-      return ops->to_wait (ops, ptid, status, options);
+      return this->beneath ()->wait (ptid, status, options);
     }
 
-  moving = NULL;
-  no_history = NULL;
-
-  make_cleanup (VEC_cleanup (tp_t), &moving);
-  make_cleanup (VEC_cleanup (tp_t), &no_history);
-
   /* Keep a work list of moving threads.  */
-  ALL_NON_EXITED_THREADS (tp)
-    if (ptid_match (tp->ptid, ptid)
-	&& ((tp->btrace.flags & (BTHR_MOVE | BTHR_STOP)) != 0))
-      VEC_safe_push (tp_t, moving, tp);
+  {
+    thread_info *tp;
+
+    ALL_NON_EXITED_THREADS (tp)
+      {
+	if (tp->ptid.matches (ptid)
+	    && ((tp->btrace.flags & (BTHR_MOVE | BTHR_STOP)) != 0))
+	  moving.push_back (tp);
+      }
+  }
 
-  if (VEC_empty (tp_t, moving))
+  if (moving.empty ())
     {
       *status = btrace_step_no_resumed ();
 
       DEBUG ("wait ended by %s: %s", target_pid_to_str (null_ptid),
 	     target_waitstatus_to_string (status).c_str ());
 
-      do_cleanups (cleanups);
       return null_ptid;
     }
 
@@ -2491,14 +2588,13 @@ record_btrace_wait (struct target_ops *o
      nothing else to report.  By this time, all threads should have moved to
      either the beginning or the end of their execution history.  There will
      be a single user-visible stop.  */
-  eventing = NULL;
-  while ((eventing == NULL) && !VEC_empty (tp_t, moving))
+  struct thread_info *eventing = NULL;
+  while ((eventing == NULL) && !moving.empty ())
     {
-      unsigned int ix;
-
-      ix = 0;
-      while ((eventing == NULL) && VEC_iterate (tp_t, moving, ix, tp))
+      for (unsigned int ix = 0; eventing == NULL && ix < moving.size ();)
 	{
+	  thread_info *tp = moving[ix];
+
 	  *status = record_btrace_step_thread (tp);
 
 	  switch (status->kind)
@@ -2508,12 +2604,11 @@ record_btrace_wait (struct target_ops *o
 	      break;
 
 	    case TARGET_WAITKIND_NO_HISTORY:
-	      VEC_safe_push (tp_t, no_history,
-			     VEC_ordered_remove (tp_t, moving, ix));
+	      no_history.push_back (ordered_remove (moving, ix));
 	      break;
 
 	    default:
-	      eventing = VEC_unordered_remove (tp_t, moving, ix);
+	      eventing = unordered_remove (moving, ix);
 	      break;
 	    }
 	}
@@ -2526,11 +2621,11 @@ record_btrace_wait (struct target_ops *o
 
 	 In the former case, EVENTING must not be NULL.
 	 In the latter case, NO_HISTORY must not be empty.  */
-      gdb_assert (!VEC_empty (tp_t, no_history));
+      gdb_assert (!no_history.empty ());
 
       /* We kept threads moving at the end of their execution history.  Stop
 	 EVENTING now that we are going to report its stop.  */
-      eventing = VEC_unordered_remove (tp_t, no_history, 0);
+      eventing = unordered_remove (no_history, 0);
       eventing->btrace.flags &= ~BTHR_MOVE;
 
       *status = btrace_step_no_history ();
@@ -2544,8 +2639,12 @@ record_btrace_wait (struct target_ops *o
 
   /* Stop all other threads. */
   if (!target_is_non_stop_p ())
-    ALL_NON_EXITED_THREADS (tp)
-      record_btrace_cancel_resume (tp);
+    {
+      thread_info *tp;
+
+      ALL_NON_EXITED_THREADS (tp)
+	record_btrace_cancel_resume (tp);
+    }
 
   /* In async mode, we need to announce further events.  */
   if (target_is_async_p ())
@@ -2555,37 +2654,35 @@ record_btrace_wait (struct target_ops *o
   record_btrace_clear_histories (&eventing->btrace);
 
   /* We moved the replay position but did not update registers.  */
-  registers_changed_ptid (eventing->ptid);
+  registers_changed_thread (eventing);
 
   DEBUG ("wait ended by thread %s (%s): %s",
 	 print_thread_id (eventing),
 	 target_pid_to_str (eventing->ptid),
 	 target_waitstatus_to_string (status).c_str ());
 
-  do_cleanups (cleanups);
   return eventing->ptid;
 }
 
-/* The to_stop method of target record-btrace.  */
+/* The stop method of target record-btrace.  */
 
-static void
-record_btrace_stop (struct target_ops *ops, ptid_t ptid)
+void
+record_btrace_target::stop (ptid_t ptid)
 {
   DEBUG ("stop %s", target_pid_to_str (ptid));
 
   /* As long as we're not replaying, just forward the request.  */
-  if ((execution_direction != EXEC_REVERSE)
-      && !record_btrace_is_replaying (ops, minus_one_ptid))
+  if ((::execution_direction != EXEC_REVERSE)
+      && !record_is_replaying (minus_one_ptid))
     {
-      ops = ops->beneath;
-      ops->to_stop (ops, ptid);
+      this->beneath ()->stop (ptid);
     }
   else
     {
       struct thread_info *tp;
 
       ALL_NON_EXITED_THREADS (tp)
-       if (ptid_match (tp->ptid, ptid))
+       if (tp->ptid.matches (ptid))
          {
            tp->btrace.flags &= ~BTHR_MOVE;
            tp->btrace.flags |= BTHR_STOP;
@@ -2593,94 +2690,92 @@ record_btrace_stop (struct target_ops *o
     }
  }
 
-/* The to_can_execute_reverse method of target record-btrace.  */
+/* The can_execute_reverse method of target record-btrace.  */
 
-static int
-record_btrace_can_execute_reverse (struct target_ops *self)
+bool
+record_btrace_target::can_execute_reverse ()
 {
-  return 1;
+  return true;
 }
 
-/* The to_stopped_by_sw_breakpoint method of target record-btrace.  */
+/* The stopped_by_sw_breakpoint method of target record-btrace.  */
 
-static int
-record_btrace_stopped_by_sw_breakpoint (struct target_ops *ops)
+bool
+record_btrace_target::stopped_by_sw_breakpoint ()
 {
-  if (record_btrace_is_replaying (ops, minus_one_ptid))
+  if (record_is_replaying (minus_one_ptid))
     {
       struct thread_info *tp = inferior_thread ();
 
       return tp->btrace.stop_reason == TARGET_STOPPED_BY_SW_BREAKPOINT;
     }
 
-  return ops->beneath->to_stopped_by_sw_breakpoint (ops->beneath);
+  return this->beneath ()->stopped_by_sw_breakpoint ();
 }
 
-/* The to_supports_stopped_by_sw_breakpoint method of target
+/* The supports_stopped_by_sw_breakpoint method of target
    record-btrace.  */
 
-static int
-record_btrace_supports_stopped_by_sw_breakpoint (struct target_ops *ops)
+bool
+record_btrace_target::supports_stopped_by_sw_breakpoint ()
 {
-  if (record_btrace_is_replaying (ops, minus_one_ptid))
-    return 1;
+  if (record_is_replaying (minus_one_ptid))
+    return true;
 
-  return ops->beneath->to_supports_stopped_by_sw_breakpoint (ops->beneath);
+  return this->beneath ()->supports_stopped_by_sw_breakpoint ();
 }
 
-/* The to_stopped_by_sw_breakpoint method of target record-btrace.  */
+/* The stopped_by_sw_breakpoint method of target record-btrace.  */
 
-static int
-record_btrace_stopped_by_hw_breakpoint (struct target_ops *ops)
+bool
+record_btrace_target::stopped_by_hw_breakpoint ()
 {
-  if (record_btrace_is_replaying (ops, minus_one_ptid))
+  if (record_is_replaying (minus_one_ptid))
     {
       struct thread_info *tp = inferior_thread ();
 
       return tp->btrace.stop_reason == TARGET_STOPPED_BY_HW_BREAKPOINT;
     }
 
-  return ops->beneath->to_stopped_by_hw_breakpoint (ops->beneath);
+  return this->beneath ()->stopped_by_hw_breakpoint ();
 }
 
-/* The to_supports_stopped_by_hw_breakpoint method of target
+/* The supports_stopped_by_hw_breakpoint method of target
    record-btrace.  */
 
-static int
-record_btrace_supports_stopped_by_hw_breakpoint (struct target_ops *ops)
+bool
+record_btrace_target::supports_stopped_by_hw_breakpoint ()
 {
-  if (record_btrace_is_replaying (ops, minus_one_ptid))
-    return 1;
+  if (record_is_replaying (minus_one_ptid))
+    return true;
 
-  return ops->beneath->to_supports_stopped_by_hw_breakpoint (ops->beneath);
+  return this->beneath ()->supports_stopped_by_hw_breakpoint ();
 }
 
-/* The to_update_thread_list method of target record-btrace.  */
+/* The update_thread_list method of target record-btrace.  */
 
-static void
-record_btrace_update_thread_list (struct target_ops *ops)
+void
+record_btrace_target::update_thread_list ()
 {
   /* We don't add or remove threads during replay.  */
-  if (record_btrace_is_replaying (ops, minus_one_ptid))
+  if (record_is_replaying (minus_one_ptid))
     return;
 
   /* Forward the request.  */
-  ops = ops->beneath;
-  ops->to_update_thread_list (ops);
+  this->beneath ()->update_thread_list ();
 }
 
-/* The to_thread_alive method of target record-btrace.  */
+/* The thread_alive method of target record-btrace.  */
 
-static int
-record_btrace_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+record_btrace_target::thread_alive (ptid_t ptid)
 {
   /* We don't add or remove threads during replay.  */
-  if (record_btrace_is_replaying (ops, minus_one_ptid))
-    return find_thread_ptid (ptid) != NULL;
+  if (record_is_replaying (minus_one_ptid))
+    return true;
 
   /* Forward the request.  */
-  ops = ops->beneath;
-  return ops->to_thread_alive (ops, ptid);
+  return this->beneath ()->thread_alive (ptid);
 }
 
 /* Set the replay branch trace instruction iterator.  If IT is NULL, replay
@@ -2704,20 +2799,21 @@ record_btrace_set_replay (struct thread_
 	return;
 
       *btinfo->replay = *it;
-      registers_changed_ptid (tp->ptid);
+      registers_changed_thread (tp);
     }
 
   /* Start anew from the new replay position.  */
   record_btrace_clear_histories (btinfo);
 
-  stop_pc = regcache_read_pc (get_current_regcache ());
+  inferior_thread ()->suspend.stop_pc
+    = regcache_read_pc (get_current_regcache ());
   print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC, 1);
 }
 
-/* The to_goto_record_begin method of target record-btrace.  */
+/* The goto_record_begin method of target record-btrace.  */
 
-static void
-record_btrace_goto_begin (struct target_ops *self)
+void
+record_btrace_target::goto_record_begin ()
 {
   struct thread_info *tp;
   struct btrace_insn_iterator begin;
@@ -2739,10 +2835,10 @@ record_btrace_goto_begin (struct target_
   record_btrace_set_replay (tp, &begin);
 }
 
-/* The to_goto_record_end method of target record-btrace.  */
+/* The goto_record_end method of target record-btrace.  */
 
-static void
-record_btrace_goto_end (struct target_ops *ops)
+void
+record_btrace_target::goto_record_end ()
 {
   struct thread_info *tp;
 
@@ -2751,10 +2847,10 @@ record_btrace_goto_end (struct target_op
   record_btrace_set_replay (tp, NULL);
 }
 
-/* The to_goto_record method of target record-btrace.  */
+/* The goto_record method of target record-btrace.  */
 
-static void
-record_btrace_goto (struct target_ops *self, ULONGEST insn)
+void
+record_btrace_target::goto_record (ULONGEST insn)
 {
   struct thread_info *tp;
   struct btrace_insn_iterator it;
@@ -2778,10 +2874,10 @@ record_btrace_goto (struct target_ops *s
   record_btrace_set_replay (tp, &it);
 }
 
-/* The to_record_stop_replaying method of target record-btrace.  */
+/* The record_stop_replaying method of target record-btrace.  */
 
-static void
-record_btrace_stop_replaying_all (struct target_ops *self)
+void
+record_btrace_target::record_stop_replaying ()
 {
   struct thread_info *tp;
 
@@ -2789,91 +2885,30 @@ record_btrace_stop_replaying_all (struct
     record_btrace_stop_replaying (tp);
 }
 
-/* The to_execution_direction target method.  */
+/* The execution_direction target method.  */
 
-static enum exec_direction_kind
-record_btrace_execution_direction (struct target_ops *self)
+enum exec_direction_kind
+record_btrace_target::execution_direction ()
 {
   return record_btrace_resume_exec_dir;
 }
 
-/* The to_prepare_to_generate_core target method.  */
+/* The prepare_to_generate_core target method.  */
 
-static void
-record_btrace_prepare_to_generate_core (struct target_ops *self)
+void
+record_btrace_target::prepare_to_generate_core ()
 {
   record_btrace_generating_corefile = 1;
 }
 
-/* The to_done_generating_core target method.  */
+/* The done_generating_core target method.  */
 
-static void
-record_btrace_done_generating_core (struct target_ops *self)
+void
+record_btrace_target::done_generating_core ()
 {
   record_btrace_generating_corefile = 0;
 }
 
-/* Initialize the record-btrace target ops.  */
-
-static void
-init_record_btrace_ops (void)
-{
-  struct target_ops *ops;
-
-  ops = &record_btrace_ops;
-  ops->to_shortname = "record-btrace";
-  ops->to_longname = "Branch tracing target";
-  ops->to_doc = "Collect control-flow trace and provide the execution history.";
-  ops->to_open = record_btrace_open;
-  ops->to_close = record_btrace_close;
-  ops->to_async = record_btrace_async;
-  ops->to_detach = record_detach;
-  ops->to_disconnect = record_btrace_disconnect;
-  ops->to_mourn_inferior = record_mourn_inferior;
-  ops->to_kill = record_kill;
-  ops->to_stop_recording = record_btrace_stop_recording;
-  ops->to_info_record = record_btrace_info;
-  ops->to_insn_history = record_btrace_insn_history;
-  ops->to_insn_history_from = record_btrace_insn_history_from;
-  ops->to_insn_history_range = record_btrace_insn_history_range;
-  ops->to_call_history = record_btrace_call_history;
-  ops->to_call_history_from = record_btrace_call_history_from;
-  ops->to_call_history_range = record_btrace_call_history_range;
-  ops->to_record_method = record_btrace_record_method;
-  ops->to_record_is_replaying = record_btrace_is_replaying;
-  ops->to_record_will_replay = record_btrace_will_replay;
-  ops->to_record_stop_replaying = record_btrace_stop_replaying_all;
-  ops->to_xfer_partial = record_btrace_xfer_partial;
-  ops->to_remove_breakpoint = record_btrace_remove_breakpoint;
-  ops->to_insert_breakpoint = record_btrace_insert_breakpoint;
-  ops->to_fetch_registers = record_btrace_fetch_registers;
-  ops->to_store_registers = record_btrace_store_registers;
-  ops->to_prepare_to_store = record_btrace_prepare_to_store;
-  ops->to_get_unwinder = &record_btrace_to_get_unwinder;
-  ops->to_get_tailcall_unwinder = &record_btrace_to_get_tailcall_unwinder;
-  ops->to_resume = record_btrace_resume;
-  ops->to_commit_resume = record_btrace_commit_resume;
-  ops->to_wait = record_btrace_wait;
-  ops->to_stop = record_btrace_stop;
-  ops->to_update_thread_list = record_btrace_update_thread_list;
-  ops->to_thread_alive = record_btrace_thread_alive;
-  ops->to_goto_record_begin = record_btrace_goto_begin;
-  ops->to_goto_record_end = record_btrace_goto_end;
-  ops->to_goto_record = record_btrace_goto;
-  ops->to_can_execute_reverse = record_btrace_can_execute_reverse;
-  ops->to_stopped_by_sw_breakpoint = record_btrace_stopped_by_sw_breakpoint;
-  ops->to_supports_stopped_by_sw_breakpoint
-    = record_btrace_supports_stopped_by_sw_breakpoint;
-  ops->to_stopped_by_hw_breakpoint = record_btrace_stopped_by_hw_breakpoint;
-  ops->to_supports_stopped_by_hw_breakpoint
-    = record_btrace_supports_stopped_by_hw_breakpoint;
-  ops->to_execution_direction = record_btrace_execution_direction;
-  ops->to_prepare_to_generate_core = record_btrace_prepare_to_generate_core;
-  ops->to_done_generating_core = record_btrace_done_generating_core;
-  ops->to_stratum = record_stratum;
-  ops->to_magic = OPS_MAGIC;
-}
-
 /* Start recording in BTS format.  */
 
 static void
@@ -2955,7 +2990,10 @@ cmd_record_btrace_start (const char *arg
 static void
 cmd_set_record_btrace (const char *args, int from_tty)
 {
-  cmd_show_list (set_record_btrace_cmdlist, from_tty, "");
+  printf_unfiltered (_("\"set record btrace\" must be followed "
+		       "by an appropriate subcommand.\n"));
+  help_list (set_record_btrace_cmdlist, "set record btrace ",
+	     all_commands, gdb_stdout);
 }
 
 /* The "show record btrace" command.  */
@@ -2976,7 +3014,113 @@ cmd_show_replay_memory_access (struct ui
 		    replay_memory_access);
 }
 
-/* The "set record btrace bts" command.  */
+/* The "set record btrace cpu none" command.  */
+
+static void
+cmd_set_record_btrace_cpu_none (const char *args, int from_tty)
+{
+  if (args != nullptr && *args != 0)
+    error (_("Trailing junk: '%s'."), args);
+
+  record_btrace_cpu_state = CS_NONE;
+}
+
+/* The "set record btrace cpu auto" command.  */
+
+static void
+cmd_set_record_btrace_cpu_auto (const char *args, int from_tty)
+{
+  if (args != nullptr && *args != 0)
+    error (_("Trailing junk: '%s'."), args);
+
+  record_btrace_cpu_state = CS_AUTO;
+}
+
+/* The "set record btrace cpu" command.  */
+
+static void
+cmd_set_record_btrace_cpu (const char *args, int from_tty)
+{
+  if (args == nullptr)
+    args = "";
+
+  /* We use a hard-coded vendor string for now.  */
+  unsigned int family, model, stepping;
+  int l1, l2, matches = sscanf (args, "intel: %u/%u%n/%u%n", &family,
+				&model, &l1, &stepping, &l2);
+  if (matches == 3)
+    {
+      if (strlen (args) != l2)
+	error (_("Trailing junk: '%s'."), args + l2);
+    }
+  else if (matches == 2)
+    {
+      if (strlen (args) != l1)
+	error (_("Trailing junk: '%s'."), args + l1);
+
+      stepping = 0;
+    }
+  else
+    error (_("Bad format.  See \"help set record btrace cpu\"."));
+
+  if (USHRT_MAX < family)
+    error (_("Cpu family too big."));
+
+  if (UCHAR_MAX < model)
+    error (_("Cpu model too big."));
+
+  if (UCHAR_MAX < stepping)
+    error (_("Cpu stepping too big."));
+
+  record_btrace_cpu.vendor = CV_INTEL;
+  record_btrace_cpu.family = family;
+  record_btrace_cpu.model = model;
+  record_btrace_cpu.stepping = stepping;
+
+  record_btrace_cpu_state = CS_CPU;
+}
+
+/* The "show record btrace cpu" command.  */
+
+static void
+cmd_show_record_btrace_cpu (const char *args, int from_tty)
+{
+  const char *cpu;
+
+  if (args != nullptr && *args != 0)
+    error (_("Trailing junk: '%s'."), args);
+
+  switch (record_btrace_cpu_state)
+    {
+    case CS_AUTO:
+      printf_unfiltered (_("btrace cpu is 'auto'.\n"));
+      return;
+
+    case CS_NONE:
+      printf_unfiltered (_("btrace cpu is 'none'.\n"));
+      return;
+
+    case CS_CPU:
+      switch (record_btrace_cpu.vendor)
+	{
+	case CV_INTEL:
+	  if (record_btrace_cpu.stepping == 0)
+	    printf_unfiltered (_("btrace cpu is 'intel: %u/%u'.\n"),
+			       record_btrace_cpu.family,
+			       record_btrace_cpu.model);
+	  else
+	    printf_unfiltered (_("btrace cpu is 'intel: %u/%u/%u'.\n"),
+			       record_btrace_cpu.family,
+			       record_btrace_cpu.model,
+			       record_btrace_cpu.stepping);
+	  return;
+	}
+    }
+
+  error (_("Internal error: bad cpu state."));
+}
+
+/* The "s record btrace bts" command.  */
 
 static void
 cmd_set_record_btrace_bts (const char *args, int from_tty)
@@ -3084,6 +3228,32 @@ replay."),
 			   &set_record_btrace_cmdlist,
 			   &show_record_btrace_cmdlist);
 
+  add_prefix_cmd ("cpu", class_support, cmd_set_record_btrace_cpu,
+		  _("\
+Set the cpu to be used for trace decode.\n\n\
+The format is \"VENDOR:IDENTIFIER\" or \"none\" or \"auto\" (default).\n\
+For vendor \"intel\" the format is \"FAMILY/MODEL[/STEPPING]\".\n\n\
+When decoding branch trace, enable errata workarounds for the specified cpu.\n\
+The default is \"auto\", which uses the cpu on which the trace was recorded.\n\
+When GDB does not support that cpu, this option can be used to enable\n\
+workarounds for a similar cpu that GDB supports.\n\n\
+When set to \"none\", errata workarounds are disabled."),
+		  &set_record_btrace_cpu_cmdlist,
+		  _("set record btrace cpu "), 1,
+		  &set_record_btrace_cmdlist);
+
+  add_cmd ("auto", class_support, cmd_set_record_btrace_cpu_auto, _("\
+Automatically determine the cpu to be used for trace decode."),
+	   &set_record_btrace_cpu_cmdlist);
+
+  add_cmd ("none", class_support, cmd_set_record_btrace_cpu_none, _("\
+Do not enable errata workarounds for trace decode."),
+	   &set_record_btrace_cpu_cmdlist);
+
+  add_cmd ("cpu", class_support, cmd_show_record_btrace_cpu, _("\
+Show the cpu to be used for trace decode."),
+	   &show_record_btrace_cmdlist);
+
   add_prefix_cmd ("bts", class_support, cmd_set_record_btrace_bts,
 		  _("Set record btrace bts options"),
 		  &set_record_btrace_bts_cmdlist,
@@ -3129,8 +3299,7 @@ to see the actual buffer size."), NULL, 
 			    &set_record_btrace_pt_cmdlist,
 			    &show_record_btrace_pt_cmdlist);
 
-  init_record_btrace_ops ();
-  add_target (&record_btrace_ops);
+  add_target (record_btrace_target_info, record_btrace_target_open);
 
   bfcache = htab_create_alloc (50, bfcache_hash, bfcache_eq, NULL,
 			       xcalloc, xfree);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/record-btrace.h ./gdb/record-btrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/record-btrace.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/record-btrace.h	2018-07-10 02:06:13.000000000 +0000
@@ -25,4 +25,8 @@
 /* Push the record_btrace target.  */
 extern void record_btrace_push_target (void);
 
+/* Return the cpu configured by the user via "set btrace cpu".  Returns
+   NULL if the cpu was configured as auto.  */
+extern const struct btrace_cpu *record_btrace_get_cpu (void);
+
 #endif /* RECORD_BTRACE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/record.c ./gdb/record.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/record.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/record.c	2018-07-10 02:06:13.000000000 +0000
@@ -21,7 +21,7 @@
 #include "gdbcmd.h"
 #include "completer.h"
 #include "record.h"
-#include "observer.h"
+#include "observable.h"
 #include "inferior.h"
 #include "common/common-utils.h"
 #include "cli/cli-utils.h"
@@ -154,9 +154,9 @@ record_read_memory (struct gdbarch *gdba
 static void
 record_stop (struct target_ops *t)
 {
-  DEBUG ("stop %s", t->to_shortname);
+  DEBUG ("stop %s", t->shortname ());
 
-  t->to_stop_recording (t);
+  t->stop_recording ();
 }
 
 /* Unpush the record target.  */
@@ -164,7 +164,7 @@ record_stop (struct target_ops *t)
 static void
 record_unpush (struct target_ops *t)
 {
-  DEBUG ("unpush %s", t->to_shortname);
+  DEBUG ("unpush %s", t->shortname ());
 
   unpush_target (t);
 }
@@ -176,7 +176,7 @@ record_disconnect (struct target_ops *t,
 {
   gdb_assert (t->to_stratum == record_stratum);
 
-  DEBUG ("disconnect %s", t->to_shortname);
+  DEBUG ("disconnect %s", t->shortname ());
 
   record_stop (t);
   record_unpush (t);
@@ -187,16 +187,16 @@ record_disconnect (struct target_ops *t,
 /* See record.h.  */
 
 void
-record_detach (struct target_ops *t, const char *args, int from_tty)
+record_detach (struct target_ops *t, inferior *inf, int from_tty)
 {
   gdb_assert (t->to_stratum == record_stratum);
 
-  DEBUG ("detach %s", t->to_shortname);
+  DEBUG ("detach %s", t->shortname ());
 
   record_stop (t);
   record_unpush (t);
 
-  target_detach (args, from_tty);
+  target_detach (inf, from_tty);
 }
 
 /* See record.h.  */
@@ -206,7 +206,7 @@ record_mourn_inferior (struct target_ops
 {
   gdb_assert (t->to_stratum == record_stratum);
 
-  DEBUG ("mourn inferior %s", t->to_shortname);
+  DEBUG ("mourn inferior %s", t->shortname ());
 
   /* It is safer to not stop recording.  Resources will be freed when
      threads are discarded.  */
@@ -222,7 +222,7 @@ record_kill (struct target_ops *t)
 {
   gdb_assert (t->to_stratum == record_stratum);
 
-  DEBUG ("kill %s", t->to_shortname);
+  DEBUG ("kill %s", t->shortname ());
 
   /* It is safer to not stop recording.  Resources will be freed when
      threads are discarded.  */
@@ -311,7 +311,7 @@ cmd_record_stop (const char *args, int f
   printf_unfiltered (_("Process record is stopped and all execution "
 		       "logs are deleted.\n"));
 
-  observer_notify_record_changed (current_inferior (), 0, NULL, NULL);
+  gdb::observers::record_changed.notify (current_inferior (), 0, NULL, NULL);
 }
 
 /* The "set record" command.  */
@@ -320,7 +320,7 @@ static void
 set_record_command (const char *args, int from_tty)
 {
   printf_unfiltered (_("\"set record\" must be followed "
-		       "by an apporpriate subcommand.\n"));
+		       "by an appropriate subcommand.\n"));
   help_list (set_record_cmdlist, "set record ", all_commands, gdb_stdout);
 }
 
@@ -346,8 +346,8 @@ info_record_command (const char *args, i
       return;
     }
 
-  printf_filtered (_("Active record target: %s\n"), t->to_shortname);
-  t->to_info_record (t);
+  printf_filtered (_("Active record target: %s\n"), t->shortname ());
+  t->info_record ();
 }
 
 /* The "record save" command.  */
@@ -366,7 +366,7 @@ cmd_record_save (const char *args, int f
     {
       /* Default recfile name is "gdb_record.PID".  */
       xsnprintf (recfilename_buffer, sizeof (recfilename_buffer),
-                "gdb_record.%d", ptid_get_pid (inferior_ptid));
+                "gdb_record.%d", inferior_ptid.pid ());
       recfilename = recfilename_buffer;
     }
 
@@ -615,14 +615,11 @@ cmd_record_insn_history (const char *arg
 
 /* Read function-call-history modifiers from an argument string.  */
 
-static int
+static record_print_flags
 get_call_history_modifiers (const char **arg)
 {
-  int modifiers;
-  const char *args;
-
-  modifiers = 0;
-  args = *arg;
+  record_print_flags modifiers = 0;
+  const char *args = *arg;
 
   if (args == NULL)
     return modifiers;
@@ -672,13 +669,11 @@ get_call_history_modifiers (const char *
 static void
 cmd_record_call_history (const char *arg, int from_tty)
 {
-  int flags, size;
-
   require_record_target ();
 
-  flags = get_call_history_modifiers (&arg);
+  record_print_flags flags = get_call_history_modifiers (&arg);
 
-  size = command_size_to_target_size (record_call_history_size);
+  int size = command_size_to_target_size (record_call_history_size);
 
   if (arg == NULL || *arg == 0 || strcmp (arg, "+") == 0)
     target_call_history (size, flags);
@@ -827,8 +822,8 @@ A size of \"unlimited\" means unlimited 
 
   c = add_cmd ("save", class_obscure, cmd_record_save,
 	       _("Save the execution log to a file.\n\
-Argument is optional filename.\n\
-Default filename is 'gdb_record.<process_id>'."),
+Usage: record save [FILENAME]\n\
+Default filename is 'gdb_record.PROCESS_ID'."),
 	       &record_cmdlist);
   set_cmd_completer (c, filename_completer);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/record-full.c ./gdb/record-full.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/record-full.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/record-full.c	2018-07-10 02:06:13.000000000 +0000
@@ -21,6 +21,7 @@
 #include "gdbcmd.h"
 #include "regcache.h"
 #include "gdbthread.h"
+#include "inferior.h"
 #include "event-top.h"
 #include "completer.h"
 #include "arch-utils.h"
@@ -33,7 +34,7 @@
 #include "event-loop.h"
 #include "inf-loop.h"
 #include "gdb_bfd.h"
-#include "observer.h"
+#include "observable.h"
 #include "infrun.h"
 #include "common/gdb_unlinker.h"
 #include "common/byte-vector.h"
@@ -47,7 +48,7 @@
 
    Target record has two modes: recording, and replaying.
 
-   In record mode, we intercept the to_resume and to_wait methods.
+   In record mode, we intercept the resume and wait methods.
    Whenever gdb resumes the target, we run the target in single step
    mode, and we build up an execution log in which, for each executed
    instruction, we record all changes in memory and register state.
@@ -63,7 +64,7 @@
 #define DEFAULT_RECORD_FULL_INSN_MAX_NUM	200000
 
 #define RECORD_FULL_IS_REPLAY \
-     (record_full_list->next || execution_direction == EXEC_REVERSE)
+  (record_full_list->next || ::execution_direction == EXEC_REVERSE)
 
 #define RECORD_FULL_FILE_MAGIC	netorder32(0x20091016)
 
@@ -168,7 +169,7 @@ struct record_full_core_buf_entry
 };
 
 /* Record buf with core target.  */
-static gdb_byte *record_full_core_regbuf = NULL;
+static detached_regcache *record_full_core_regbuf = NULL;
 static struct target_section *record_full_core_start;
 static struct target_section *record_full_core_end;
 static struct record_full_core_buf_entry *record_full_core_buf_list = NULL;
@@ -206,9 +207,154 @@ static unsigned int record_full_insn_num
    than count of insns presently in execution log).  */
 static ULONGEST record_full_insn_count;
 
-/* The target_ops of process record.  */
-static struct target_ops record_full_ops;
-static struct target_ops record_full_core_ops;
+static const char record_longname[]
+  = N_("Process record and replay target");
+static const char record_doc[]
+  = N_("Log program while executing and replay execution from log.");
+
+/* Base class implementing functionality common to both the
+   "record-full" and "record-core" targets.  */
+
+class record_full_base_target : public target_ops
+{
+public:
+  record_full_base_target ()
+  { to_stratum = record_stratum; }
+
+  const target_info &info () const override = 0;
+
+  void close () override;
+  void async (int) override;
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+  bool stopped_by_watchpoint () override;
+  bool stopped_data_address (CORE_ADDR *) override;
+
+  bool stopped_by_sw_breakpoint () override;
+  bool supports_stopped_by_sw_breakpoint () override;
+
+  bool stopped_by_hw_breakpoint () override;
+  bool supports_stopped_by_hw_breakpoint () override;
+
+  bool can_execute_reverse () override;
+
+  /* Add bookmark target methods.  */
+  gdb_byte *get_bookmark (const char *, int) override;
+  void goto_bookmark (const gdb_byte *, int) override;
+  enum exec_direction_kind execution_direction () override;
+  enum record_method record_method (ptid_t ptid) override;
+  void info_record () override;
+  void save_record (const char *filename) override;
+  bool supports_delete_record () override;
+  void delete_record () override;
+  bool record_is_replaying (ptid_t ptid) override;
+  bool record_will_replay (ptid_t ptid, int dir) override;
+  void record_stop_replaying () override;
+  void goto_record_begin () override;
+  void goto_record_end () override;
+  void goto_record (ULONGEST insn) override;
+};
+
+/* The "record-full" target.  */
+
+static const target_info record_full_target_info = {
+  "record-full",
+  record_longname,
+  record_doc,
+};
+
+class record_full_target final : public record_full_base_target
+{
+public:
+  const target_info &info () const override
+  { return record_full_target_info; }
+
+  void commit_resume () override;
+  void resume (ptid_t, int, enum gdb_signal) override;
+  void disconnect (const char *, int) override;
+  void detach (inferior *, int) override;
+  void mourn_inferior () override;
+  void kill () override;
+  void store_registers (struct regcache *, int) override;
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+  int insert_breakpoint (struct gdbarch *,
+			 struct bp_target_info *) override;
+  int remove_breakpoint (struct gdbarch *,
+			 struct bp_target_info *,
+			 enum remove_bp_reason) override;
+};
+
+/* The "record-core" target.  */
+
+static const target_info record_full_core_target_info = {
+  "record-core",
+  record_longname,
+  record_doc,
+};
+
+class record_full_core_target final : public record_full_base_target
+{
+public:
+  const target_info &info () const override
+  { return record_full_core_target_info; }
+
+  void resume (ptid_t, int, enum gdb_signal) override;
+  void disconnect (const char *, int) override;
+  void kill () override;
+  void fetch_registers (struct regcache *regcache, int regno) override;
+  void prepare_to_store (struct regcache *regcache) override;
+  void store_registers (struct regcache *, int) override;
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+  int insert_breakpoint (struct gdbarch *,
+			 struct bp_target_info *) override;
+  int remove_breakpoint (struct gdbarch *,
+			 struct bp_target_info *,
+			 enum remove_bp_reason) override;
+
+  bool has_execution (ptid_t) override;
+};
+
+static record_full_target record_full_ops;
+static record_full_core_target record_full_core_ops;
+
+void
+record_full_target::detach (inferior *inf, int from_tty)
+{
+  record_detach (this, inf, from_tty);
+}
+
+void
+record_full_target::disconnect (const char *args, int from_tty)
+{
+  record_disconnect (this, args, from_tty);
+}
+
+void
+record_full_core_target::disconnect (const char *args, int from_tty)
+{
+  record_disconnect (this, args, from_tty);
+}
+
+void
+record_full_target::mourn_inferior ()
+{
+  record_mourn_inferior (this);
+}
+
+void
+record_full_target::kill ()
+{
+  record_kill (this);
+}
 
 /* See record-full.h.  */
 
@@ -232,8 +378,6 @@ static struct cmd_list_element *record_f
 
 static void record_full_goto_insn (struct record_full_entry *entry,
 				   enum exec_direction_kind dir);
-static void record_full_save (struct target_ops *self,
-			      const char *recfilename);
 
 /* Alloc and free functions for record_full_reg, record_full_mem, and
    record_full_end entries.  */
@@ -477,7 +621,7 @@ record_full_arch_list_add_reg (struct re
 
   rec = record_full_reg_alloc (regcache, regnum);
 
-  regcache_raw_read (regcache, regnum, record_full_get_loc (rec));
+  regcache->raw_read (regnum, record_full_get_loc (rec));
 
   record_full_arch_list_add (rec);
 
@@ -553,12 +697,6 @@ record_full_check_insn_num (void)
     }
 }
 
-static void
-record_full_arch_list_cleanups (void *ignore)
-{
-  record_full_list_release (record_full_arch_list_tail);
-}
-
 /* Before inferior step (when GDB record the running message, inferior
    only can step), GDB will call this function to record the values to
    record_full_list.  This function will call gdbarch_process_record to
@@ -570,60 +708,66 @@ record_full_message (struct regcache *re
 {
   int ret;
   struct gdbarch *gdbarch = regcache->arch ();
-  struct cleanup *old_cleanups
-    = make_cleanup (record_full_arch_list_cleanups, 0);
 
-  record_full_arch_list_head = NULL;
-  record_full_arch_list_tail = NULL;
+  TRY
+    {
+      record_full_arch_list_head = NULL;
+      record_full_arch_list_tail = NULL;
 
-  /* Check record_full_insn_num.  */
-  record_full_check_insn_num ();
+      /* Check record_full_insn_num.  */
+      record_full_check_insn_num ();
 
-  /* If gdb sends a signal value to target_resume,
-     save it in the 'end' field of the previous instruction.
+      /* If gdb sends a signal value to target_resume,
+	 save it in the 'end' field of the previous instruction.
 
-     Maybe process record should record what really happened,
-     rather than what gdb pretends has happened.
+	 Maybe process record should record what really happened,
+	 rather than what gdb pretends has happened.
 
-     So if Linux delivered the signal to the child process during
-     the record mode, we will record it and deliver it again in
-     the replay mode.
-
-     If user says "ignore this signal" during the record mode, then
-     it will be ignored again during the replay mode (no matter if
-     the user says something different, like "deliver this signal"
-     during the replay mode).
-
-     User should understand that nothing he does during the replay
-     mode will change the behavior of the child.  If he tries,
-     then that is a user error.
-
-     But we should still deliver the signal to gdb during the replay,
-     if we delivered it during the recording.  Therefore we should
-     record the signal during record_full_wait, not
-     record_full_resume.  */
-  if (record_full_list != &record_full_first)  /* FIXME better way to check */
-    {
-      gdb_assert (record_full_list->type == record_full_end);
-      record_full_list->u.end.sigval = signal;
-    }
-
-  if (signal == GDB_SIGNAL_0
-      || !gdbarch_process_record_signal_p (gdbarch))
-    ret = gdbarch_process_record (gdbarch,
-				  regcache,
-				  regcache_read_pc (regcache));
-  else
-    ret = gdbarch_process_record_signal (gdbarch,
-					 regcache,
-					 signal);
-
-  if (ret > 0)
-    error (_("Process record: inferior program stopped."));
-  if (ret < 0)
-    error (_("Process record: failed to record execution log."));
+	 So if Linux delivered the signal to the child process during
+	 the record mode, we will record it and deliver it again in
+	 the replay mode.
+
+	 If user says "ignore this signal" during the record mode, then
+	 it will be ignored again during the replay mode (no matter if
+	 the user says something different, like "deliver this signal"
+	 during the replay mode).
+
+	 User should understand that nothing he does during the replay
+	 mode will change the behavior of the child.  If he tries,
+	 then that is a user error.
+
+	 But we should still deliver the signal to gdb during the replay,
+	 if we delivered it during the recording.  Therefore we should
+	 record the signal during record_full_wait, not
+	 record_full_resume.  */
+      if (record_full_list != &record_full_first)  /* FIXME better way
+						      to check */
+	{
+	  gdb_assert (record_full_list->type == record_full_end);
+	  record_full_list->u.end.sigval = signal;
+	}
 
-  discard_cleanups (old_cleanups);
+      if (signal == GDB_SIGNAL_0
+	  || !gdbarch_process_record_signal_p (gdbarch))
+	ret = gdbarch_process_record (gdbarch,
+				      regcache,
+				      regcache_read_pc (regcache));
+      else
+	ret = gdbarch_process_record_signal (gdbarch,
+					     regcache,
+					     signal);
+
+      if (ret > 0)
+	error (_("Process record: inferior program stopped."));
+      if (ret < 0)
+	error (_("Process record: failed to record execution log."));
+    }
+  CATCH (ex, RETURN_MASK_ALL)
+    {
+      record_full_list_release (record_full_arch_list_tail);
+      throw_exception (ex);
+    }
+  END_CATCH
 
   record_full_list->next = record_full_arch_list_head;
   record_full_arch_list_head->prev = record_full_list;
@@ -690,9 +834,8 @@ record_full_exec_insn (struct regcache *
                               host_address_to_string (entry),
                               entry->u.reg.num);
 
-        regcache_cooked_read (regcache, entry->u.reg.num, reg.data ());
-        regcache_cooked_write (regcache, entry->u.reg.num, 
-			       record_full_get_loc (entry));
+        regcache->cooked_read (entry->u.reg.num, reg.data ());
+        regcache->cooked_write (entry->u.reg.num, record_full_get_loc (entry));
         memcpy (record_full_get_loc (entry), reg.data (), entry->u.reg.len);
       }
       break;
@@ -702,8 +845,7 @@ record_full_exec_insn (struct regcache *
 	/* Nothing to do if the entry is flagged not_accessible.  */
         if (!entry->u.mem.mem_entry_not_accessible)
           {
-            gdb_byte *mem = (gdb_byte *) xmalloc (entry->u.mem.len);
-            struct cleanup *cleanup = make_cleanup (xfree, mem);
+	    gdb::byte_vector mem (entry->u.mem.len);
 
             if (record_debug > 1)
               fprintf_unfiltered (gdb_stdlog,
@@ -714,7 +856,8 @@ record_full_exec_insn (struct regcache *
                                   entry->u.mem.len);
 
             if (record_read_memory (gdbarch,
-				    entry->u.mem.addr, mem, entry->u.mem.len))
+				    entry->u.mem.addr, mem.data (),
+				    entry->u.mem.len))
 	      entry->u.mem.mem_entry_not_accessible = 1;
             else
               {
@@ -731,7 +874,7 @@ record_full_exec_insn (struct regcache *
                   }
                 else
 		  {
-		    memcpy (record_full_get_loc (entry), mem,
+		    memcpy (record_full_get_loc (entry), mem.data (),
 			    entry->u.mem.len);
 
 		    /* We've changed memory --- check if a hardware
@@ -748,8 +891,6 @@ record_full_exec_insn (struct regcache *
 		      record_full_stop_reason = TARGET_STOPPED_BY_WATCHPOINT;
 		  }
               }
-
-	    do_cleanups (cleanup);
           }
       }
       break;
@@ -769,7 +910,7 @@ record_full_async_inferior_event_handler
   inferior_event_handler (INF_REG_EVENT, NULL);
 }
 
-/* Open the process record target.  */
+/* Open the process record target for 'core' files.  */
 
 static void
 record_full_core_open_1 (const char *name, int from_tty)
@@ -780,16 +921,16 @@ record_full_core_open_1 (const char *nam
 
   /* Get record_full_core_regbuf.  */
   target_fetch_registers (regcache, -1);
-  record_full_core_regbuf = (gdb_byte *) xmalloc (MAX_REGISTER_SIZE * regnum);
+  record_full_core_regbuf = new detached_regcache (regcache->arch (), false);
+
   for (i = 0; i < regnum; i ++)
-    regcache_raw_collect (regcache, i,
-			  record_full_core_regbuf + MAX_REGISTER_SIZE * i);
+    record_full_core_regbuf->raw_supply (i, *regcache);
 
   /* Get record_full_core_start and record_full_core_end.  */
   if (build_section_table (core_bfd, &record_full_core_start,
 			   &record_full_core_end))
     {
-      xfree (record_full_core_regbuf);
+      delete record_full_core_regbuf;
       record_full_core_regbuf = NULL;
       error (_("\"%s\": Can't find sections: %s"),
 	     bfd_get_filename (core_bfd), bfd_errmsg (bfd_get_error ()));
@@ -799,7 +940,7 @@ record_full_core_open_1 (const char *nam
   record_full_restore ();
 }
 
-/* "to_open" target method for 'live' processes.  */
+/* Open the process record target for 'live' processes.  */
 
 static void
 record_full_open_1 (const char *name, int from_tty)
@@ -823,7 +964,7 @@ record_full_open_1 (const char *name, in
 
 static void record_full_init_record_breakpoints (void);
 
-/* "to_open" target method.  Open the process record target.  */
+/* Open the process record target.  */
 
 static void
 record_full_open (const char *name, int from_tty)
@@ -851,13 +992,13 @@ record_full_open (const char *name, int 
 
   record_full_init_record_breakpoints ();
 
-  observer_notify_record_changed (current_inferior (),  1, "full", NULL);
+  gdb::observers::record_changed.notify (current_inferior (),  1, "full", NULL);
 }
 
-/* "to_close" target method.  Close the process record target.  */
+/* "close" target method.  Close the process record target.  */
 
-static void
-record_full_close (struct target_ops *self)
+void
+record_full_base_target::close ()
 {
   struct record_full_core_buf_entry *entry;
 
@@ -869,7 +1010,7 @@ record_full_close (struct target_ops *se
   /* Release record_full_core_regbuf.  */
   if (record_full_core_regbuf)
     {
-      xfree (record_full_core_regbuf);
+      delete record_full_core_regbuf;
       record_full_core_regbuf = NULL;
     }
 
@@ -889,17 +1030,17 @@ record_full_close (struct target_ops *se
     delete_async_event_handler (&record_full_async_inferior_event_token);
 }
 
-/* "to_async" target method.  */
+/* "async" target method.  */
 
-static void
-record_full_async (struct target_ops *ops, int enable)
+void
+record_full_base_target::async (int enable)
 {
   if (enable)
     mark_async_event_handler (record_full_async_inferior_event_token);
   else
     clear_async_event_handler (record_full_async_inferior_event_token);
 
-  ops->beneath->to_async (ops->beneath, enable);
+  beneath ()->async (enable);
 }
 
 static int record_full_resume_step = 0;
@@ -925,15 +1066,14 @@ static int record_full_resumed = 0;
 */
 static enum exec_direction_kind record_full_execution_dir = EXEC_FORWARD;
 
-/* "to_resume" target method.  Resume the process record target.  */
+/* "resume" target method.  Resume the process record target.  */
 
-static void
-record_full_resume (struct target_ops *ops, ptid_t ptid, int step,
-		    enum gdb_signal signal)
+void
+record_full_target::resume (ptid_t ptid, int step, enum gdb_signal signal)
 {
   record_full_resume_step = step;
   record_full_resumed = 1;
-  record_full_execution_dir = execution_direction;
+  record_full_execution_dir = ::execution_direction;
 
   if (!RECORD_FULL_IS_REPLAY)
     {
@@ -965,7 +1105,7 @@ record_full_resume (struct target_ops *o
       /* Make sure the target beneath reports all signals.  */
       target_pass_signals (0, NULL);
 
-      ops->beneath->to_resume (ops->beneath, ptid, step, signal);
+      this->beneath ()->resume (ptid, step, signal);
     }
 
   /* We are about to start executing the inferior (or simulate it),
@@ -974,18 +1114,18 @@ record_full_resume (struct target_ops *o
     target_async (1);
 }
 
-/* "to_commit_resume" method for process record target.  */
+/* "commit_resume" method for process record target.  */
 
-static void
-record_full_commit_resume (struct target_ops *ops)
+void
+record_full_target::commit_resume ()
 {
   if (!RECORD_FULL_IS_REPLAY)
-    ops->beneath->to_commit_resume (ops->beneath);
+    beneath ()->commit_resume ();
 }
 
 static int record_full_get_sig = 0;
 
-/* SIGINT signal handler, registered by "to_wait" method.  */
+/* SIGINT signal handler, registered by "wait" method.  */
 
 static void
 record_full_sig_handler (int signo)
@@ -1001,25 +1141,13 @@ record_full_sig_handler (int signo)
   record_full_get_sig = 1;
 }
 
-static void
-record_full_wait_cleanups (void *ignore)
-{
-  if (execution_direction == EXEC_REVERSE)
-    {
-      if (record_full_list->next)
-	record_full_list = record_full_list->next;
-    }
-  else
-    record_full_list = record_full_list->prev;
-}
-
-/* "to_wait" target method for process record target.
+/* "wait" target method for process record target.
 
    In record mode, the target is always run in singlestep mode
-   (even when gdb says to continue).  The to_wait method intercepts
+   (even when gdb says to continue).  The wait method intercepts
    the stop events and determines which ones are to be passed on to
    gdb.  Most stop events are just singlestep events that gdb is not
-   to know about, so the to_wait method just records them and keeps
+   to know about, so the wait method just records them and keeps
    singlestepping.
 
    In replay mode, this function emulates the recorded execution log, 
@@ -1062,7 +1190,7 @@ record_full_wait_1 (struct target_ops *o
       if (record_full_resume_step)
 	{
 	  /* This is a single step.  */
-	  return ops->beneath->to_wait (ops->beneath, ptid, status, options);
+	  return ops->beneath ()->wait (ptid, status, options);
 	}
       else
 	{
@@ -1075,7 +1203,7 @@ record_full_wait_1 (struct target_ops *o
 	    {
 	      struct thread_info *tp;
 
-	      ret = ops->beneath->to_wait (ops->beneath, ptid, status, options);
+	      ret = ops->beneath ()->wait (ptid, status, options);
 	      if (status->kind == TARGET_WAITKIND_IGNORE)
 		{
 		  if (record_debug)
@@ -1151,9 +1279,8 @@ record_full_wait_1 (struct target_ops *o
 					    "Process record: record_full_wait "
 					    "issuing one more step in the "
 					    "target beneath\n");
-		      ops->beneath->to_resume (ops->beneath, ptid, step,
-					       GDB_SIGNAL_0);
-		      ops->beneath->to_commit_resume (ops->beneath);
+		      ops->beneath ()->resume (ptid, step, GDB_SIGNAL_0);
+		      ops->beneath ()->commit_resume ();
 		      continue;
 		    }
 		}
@@ -1172,144 +1299,163 @@ record_full_wait_1 (struct target_ops *o
       const struct address_space *aspace = regcache->aspace ();
       int continue_flag = 1;
       int first_record_full_end = 1;
-      struct cleanup *old_cleanups
-	= make_cleanup (record_full_wait_cleanups, 0);
-      CORE_ADDR tmp_pc;
 
-      record_full_stop_reason = TARGET_STOPPED_BY_NO_REASON;
-      status->kind = TARGET_WAITKIND_STOPPED;
-
-      /* Check breakpoint when forward execute.  */
-      if (execution_direction == EXEC_FORWARD)
+      TRY
 	{
-	  tmp_pc = regcache_read_pc (regcache);
-	  if (record_check_stopped_by_breakpoint (aspace, tmp_pc,
-						  &record_full_stop_reason))
-	    {
-	      if (record_debug)
-		fprintf_unfiltered (gdb_stdlog,
-				    "Process record: break at %s.\n",
-				    paddress (gdbarch, tmp_pc));
-	      goto replay_out;
-	    }
-	}
+	  CORE_ADDR tmp_pc;
 
-      /* If GDB is in terminal_inferior mode, it will not get the signal.
-         And in GDB replay mode, GDB doesn't need to be in terminal_inferior
-         mode, because inferior will not executed.
-         Then set it to terminal_ours to make GDB get the signal.  */
-      target_terminal::ours ();
-
-      /* In EXEC_FORWARD mode, record_full_list points to the tail of prev
-         instruction.  */
-      if (execution_direction == EXEC_FORWARD && record_full_list->next)
-	record_full_list = record_full_list->next;
+	  record_full_stop_reason = TARGET_STOPPED_BY_NO_REASON;
+	  status->kind = TARGET_WAITKIND_STOPPED;
 
-      /* Loop over the record_full_list, looking for the next place to
-	 stop.  */
-      do
-	{
-	  /* Check for beginning and end of log.  */
-	  if (execution_direction == EXEC_REVERSE
-	      && record_full_list == &record_full_first)
-	    {
-	      /* Hit beginning of record log in reverse.  */
-	      status->kind = TARGET_WAITKIND_NO_HISTORY;
-	      break;
-	    }
-	  if (execution_direction != EXEC_REVERSE && !record_full_list->next)
+	  /* Check breakpoint when forward execute.  */
+	  if (execution_direction == EXEC_FORWARD)
 	    {
-	      /* Hit end of record log going forward.  */
-	      status->kind = TARGET_WAITKIND_NO_HISTORY;
-	      break;
+	      tmp_pc = regcache_read_pc (regcache);
+	      if (record_check_stopped_by_breakpoint (aspace, tmp_pc,
+						      &record_full_stop_reason))
+		{
+		  if (record_debug)
+		    fprintf_unfiltered (gdb_stdlog,
+					"Process record: break at %s.\n",
+					paddress (gdbarch, tmp_pc));
+		  goto replay_out;
+		}
 	    }
 
-          record_full_exec_insn (regcache, gdbarch, record_full_list);
-
-	  if (record_full_list->type == record_full_end)
+	  /* If GDB is in terminal_inferior mode, it will not get the
+	     signal.  And in GDB replay mode, GDB doesn't need to be
+	     in terminal_inferior mode, because inferior will not
+	     executed.  Then set it to terminal_ours to make GDB get
+	     the signal.  */
+	  target_terminal::ours ();
+
+	  /* In EXEC_FORWARD mode, record_full_list points to the tail of prev
+	     instruction.  */
+	  if (execution_direction == EXEC_FORWARD && record_full_list->next)
+	    record_full_list = record_full_list->next;
+
+	  /* Loop over the record_full_list, looking for the next place to
+	     stop.  */
+	  do
 	    {
-	      if (record_debug > 1)
-		fprintf_unfiltered (gdb_stdlog,
-				    "Process record: record_full_end %s to "
-				    "inferior.\n",
-				    host_address_to_string (record_full_list));
-
-	      if (first_record_full_end && execution_direction == EXEC_REVERSE)
+	      /* Check for beginning and end of log.  */
+	      if (execution_direction == EXEC_REVERSE
+		  && record_full_list == &record_full_first)
 		{
-		  /* When reverse excute, the first record_full_end is the
-		     part of current instruction.  */
-		  first_record_full_end = 0;
+		  /* Hit beginning of record log in reverse.  */
+		  status->kind = TARGET_WAITKIND_NO_HISTORY;
+		  break;
 		}
-	      else
+	      if (execution_direction != EXEC_REVERSE
+		  && !record_full_list->next)
+		{
+		  /* Hit end of record log going forward.  */
+		  status->kind = TARGET_WAITKIND_NO_HISTORY;
+		  break;
+		}
+
+	      record_full_exec_insn (regcache, gdbarch, record_full_list);
+
+	      if (record_full_list->type == record_full_end)
 		{
-		  /* In EXEC_REVERSE mode, this is the record_full_end of prev
-		     instruction.
-		     In EXEC_FORWARD mode, this is the record_full_end of
-		     current instruction.  */
-		  /* step */
-		  if (record_full_resume_step)
+		  if (record_debug > 1)
+		    fprintf_unfiltered
+		      (gdb_stdlog,
+		       "Process record: record_full_end %s to "
+		       "inferior.\n",
+		       host_address_to_string (record_full_list));
+
+		  if (first_record_full_end
+		      && execution_direction == EXEC_REVERSE)
 		    {
-		      if (record_debug > 1)
-			fprintf_unfiltered (gdb_stdlog,
-					    "Process record: step.\n");
-		      continue_flag = 0;
+		      /* When reverse excute, the first
+			 record_full_end is the part of current
+			 instruction.  */
+		      first_record_full_end = 0;
 		    }
-
-		  /* check breakpoint */
-		  tmp_pc = regcache_read_pc (regcache);
-		  if (record_check_stopped_by_breakpoint (aspace, tmp_pc,
-							  &record_full_stop_reason))
+		  else
 		    {
-		      if (record_debug)
-			fprintf_unfiltered (gdb_stdlog,
-					    "Process record: break "
-					    "at %s.\n",
-					    paddress (gdbarch, tmp_pc));
+		      /* In EXEC_REVERSE mode, this is the
+			 record_full_end of prev instruction.  In
+			 EXEC_FORWARD mode, this is the
+			 record_full_end of current instruction.  */
+		      /* step */
+		      if (record_full_resume_step)
+			{
+			  if (record_debug > 1)
+			    fprintf_unfiltered (gdb_stdlog,
+						"Process record: step.\n");
+			  continue_flag = 0;
+			}
+
+		      /* check breakpoint */
+		      tmp_pc = regcache_read_pc (regcache);
+		      if (record_check_stopped_by_breakpoint
+			  (aspace, tmp_pc, &record_full_stop_reason))
+			{
+			  if (record_debug)
+			    fprintf_unfiltered (gdb_stdlog,
+						"Process record: break "
+						"at %s.\n",
+						paddress (gdbarch, tmp_pc));
 
-		      continue_flag = 0;
+			  continue_flag = 0;
+			}
+
+		      if (record_full_stop_reason
+			  == TARGET_STOPPED_BY_WATCHPOINT)
+			{
+			  if (record_debug)
+			    fprintf_unfiltered (gdb_stdlog,
+						"Process record: hit hw "
+						"watchpoint.\n");
+			  continue_flag = 0;
+			}
+		      /* Check target signal */
+		      if (record_full_list->u.end.sigval != GDB_SIGNAL_0)
+			/* FIXME: better way to check */
+			continue_flag = 0;
 		    }
+		}
 
-		  if (record_full_stop_reason == TARGET_STOPPED_BY_WATCHPOINT)
+	      if (continue_flag)
+		{
+		  if (execution_direction == EXEC_REVERSE)
 		    {
-		      if (record_debug)
-			fprintf_unfiltered (gdb_stdlog,
-					    "Process record: hit hw "
-					    "watchpoint.\n");
-		      continue_flag = 0;
+		      if (record_full_list->prev)
+			record_full_list = record_full_list->prev;
+		    }
+		  else
+		    {
+		      if (record_full_list->next)
+			record_full_list = record_full_list->next;
 		    }
-		  /* Check target signal */
-		  if (record_full_list->u.end.sigval != GDB_SIGNAL_0)
-		    /* FIXME: better way to check */
-		    continue_flag = 0;
 		}
 	    }
+	  while (continue_flag);
 
-	  if (continue_flag)
+	replay_out:
+	  if (record_full_get_sig)
+	    status->value.sig = GDB_SIGNAL_INT;
+	  else if (record_full_list->u.end.sigval != GDB_SIGNAL_0)
+	    /* FIXME: better way to check */
+	    status->value.sig = record_full_list->u.end.sigval;
+	  else
+	    status->value.sig = GDB_SIGNAL_TRAP;
+	}
+      CATCH (ex, RETURN_MASK_ALL)
+	{
+	  if (execution_direction == EXEC_REVERSE)
 	    {
-	      if (execution_direction == EXEC_REVERSE)
-		{
-		  if (record_full_list->prev)
-		    record_full_list = record_full_list->prev;
-		}
-	      else
-		{
-		  if (record_full_list->next)
-		    record_full_list = record_full_list->next;
-		}
+	      if (record_full_list->next)
+		record_full_list = record_full_list->next;
 	    }
-	}
-      while (continue_flag);
-
-replay_out:
-      if (record_full_get_sig)
-	status->value.sig = GDB_SIGNAL_INT;
-      else if (record_full_list->u.end.sigval != GDB_SIGNAL_0)
-	/* FIXME: better way to check */
-	status->value.sig = record_full_list->u.end.sigval;
-      else
-	status->value.sig = GDB_SIGNAL_TRAP;
+	  else
+	    record_full_list = record_full_list->prev;
 
-      discard_cleanups (old_cleanups);
+	  throw_exception (ex);
+	}
+      END_CATCH
     }
 
   signal (SIGINT, handle_sigint);
@@ -1317,14 +1463,13 @@ replay_out:
   return inferior_ptid;
 }
 
-static ptid_t
-record_full_wait (struct target_ops *ops,
-		  ptid_t ptid, struct target_waitstatus *status,
-		  int options)
+ptid_t
+record_full_base_target::wait (ptid_t ptid, struct target_waitstatus *status,
+			       int options)
 {
   ptid_t return_ptid;
 
-  return_ptid = record_full_wait_1 (ops, ptid, status, options);
+  return_ptid = record_full_wait_1 (this, ptid, status, options);
   if (status->kind != TARGET_WAITKIND_IGNORE)
     {
       /* We're reporting a stop.  Make sure any spurious
@@ -1335,56 +1480,56 @@ record_full_wait (struct target_ops *ops
   return return_ptid;
 }
 
-static int
-record_full_stopped_by_watchpoint (struct target_ops *ops)
+bool
+record_full_base_target::stopped_by_watchpoint ()
 {
   if (RECORD_FULL_IS_REPLAY)
     return record_full_stop_reason == TARGET_STOPPED_BY_WATCHPOINT;
   else
-    return ops->beneath->to_stopped_by_watchpoint (ops->beneath);
+    return beneath ()->stopped_by_watchpoint ();
 }
 
-static int
-record_full_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
+bool
+record_full_base_target::stopped_data_address (CORE_ADDR *addr_p)
 {
   if (RECORD_FULL_IS_REPLAY)
-    return 0;
+    return false;
   else
-    return ops->beneath->to_stopped_data_address (ops->beneath, addr_p);
+    return this->beneath ()->stopped_data_address (addr_p);
 }
 
-/* The to_stopped_by_sw_breakpoint method of target record-full.  */
+/* The stopped_by_sw_breakpoint method of target record-full.  */
 
-static int
-record_full_stopped_by_sw_breakpoint (struct target_ops *ops)
+bool
+record_full_base_target::stopped_by_sw_breakpoint ()
 {
   return record_full_stop_reason == TARGET_STOPPED_BY_SW_BREAKPOINT;
 }
 
-/* The to_supports_stopped_by_sw_breakpoint method of target
+/* The supports_stopped_by_sw_breakpoint method of target
    record-full.  */
 
-static int
-record_full_supports_stopped_by_sw_breakpoint (struct target_ops *ops)
+bool
+record_full_base_target::supports_stopped_by_sw_breakpoint ()
 {
-  return 1;
+  return true;
 }
 
-/* The to_stopped_by_hw_breakpoint method of target record-full.  */
+/* The stopped_by_hw_breakpoint method of target record-full.  */
 
-static int
-record_full_stopped_by_hw_breakpoint (struct target_ops *ops)
+bool
+record_full_base_target::stopped_by_hw_breakpoint ()
 {
   return record_full_stop_reason == TARGET_STOPPED_BY_HW_BREAKPOINT;
 }
 
-/* The to_supports_stopped_by_sw_breakpoint method of target
+/* The supports_stopped_by_sw_breakpoint method of target
    record-full.  */
 
-static int
-record_full_supports_stopped_by_hw_breakpoint (struct target_ops *ops)
+bool
+record_full_base_target::supports_stopped_by_hw_breakpoint ()
 {
-  return 1;
+  return true;
 }
 
 /* Record registers change (by user or by GDB) to list as an instruction.  */
@@ -1434,12 +1579,10 @@ record_full_registers_change (struct reg
     record_full_insn_num++;
 }
 
-/* "to_store_registers" method for process record target.  */
+/* "store_registers" method for process record target.  */
 
-static void
-record_full_store_registers (struct target_ops *ops,
-			     struct regcache *regcache,
-			     int regno)
+void
+record_full_target::store_registers (struct regcache *regcache, int regno)
 {
   if (!record_full_gdb_operation_disable)
     {
@@ -1473,10 +1616,10 @@ record_full_store_registers (struct targ
 		  for (i = 0;
 		       i < gdbarch_num_regs (regcache->arch ());
 		       i++)
-		    regcache_invalidate (regcache, i);
+		    regcache->invalidate (i);
 		}
 	      else
-		regcache_invalidate (regcache, regno);
+		regcache->invalidate (regno);
 
 	      error (_("Process record canceled the operation."));
 	    }
@@ -1487,19 +1630,19 @@ record_full_store_registers (struct targ
 
       record_full_registers_change (regcache, regno);
     }
-  ops->beneath->to_store_registers (ops->beneath, regcache, regno);
+  this->beneath ()->store_registers (regcache, regno);
 }
 
-/* "to_xfer_partial" method.  Behavior is conditional on
+/* "xfer_partial" method.  Behavior is conditional on
    RECORD_FULL_IS_REPLAY.
    In replay mode, we cannot write memory unles we are willing to
    invalidate the record/replay log from this point forward.  */
 
-static enum target_xfer_status
-record_full_xfer_partial (struct target_ops *ops, enum target_object object,
-			  const char *annex, gdb_byte *readbuf,
-			  const gdb_byte *writebuf, ULONGEST offset,
-			  ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+record_full_target::xfer_partial (enum target_object object,
+				  const char *annex, gdb_byte *readbuf,
+				  const gdb_byte *writebuf, ULONGEST offset,
+				  ULONGEST len, ULONGEST *xfered_len)
 {
   if (!record_full_gdb_operation_disable
       && (object == TARGET_OBJECT_MEMORY
@@ -1552,9 +1695,8 @@ record_full_xfer_partial (struct target_
 	record_full_insn_num++;
     }
 
-  return ops->beneath->to_xfer_partial (ops->beneath, object, annex,
-					readbuf, writebuf, offset,
-					len, xfered_len);
+  return this->beneath ()->xfer_partial (object, annex, readbuf, writebuf,
+					 offset, len, xfered_len);
 }
 
 /* This structure represents a breakpoint inserted while the record
@@ -1566,6 +1708,15 @@ record_full_xfer_partial (struct target_
 
 struct record_full_breakpoint
 {
+  record_full_breakpoint (struct address_space *address_space_,
+			  CORE_ADDR addr_,
+			  bool in_target_beneath_)
+    : address_space (address_space_),
+      addr (addr_),
+      in_target_beneath (in_target_beneath_)
+  {
+  }
+
   /* The address and address space the breakpoint was set at.  */
   struct address_space *address_space;
   CORE_ADDR addr;
@@ -1573,15 +1724,12 @@ struct record_full_breakpoint
   /* True when the breakpoint has been also installed in the target
      beneath.  This will be false for breakpoints set during replay or
      when recording.  */
-  int in_target_beneath;
+  bool in_target_beneath;
 };
 
-typedef struct record_full_breakpoint *record_full_breakpoint_p;
-DEF_VEC_P(record_full_breakpoint_p);
-
 /* The list of breakpoints inserted while the record target is
    active.  */
-VEC(record_full_breakpoint_p) *record_full_breakpoints = NULL;
+static std::vector<record_full_breakpoint> record_full_breakpoints;
 
 static void
 record_full_sync_record_breakpoints (struct bp_location *loc, void *data)
@@ -1591,14 +1739,10 @@ record_full_sync_record_breakpoints (str
 
   if (loc->inserted)
     {
-      struct record_full_breakpoint *bp = XNEW (struct record_full_breakpoint);
-
-      bp->addr = loc->target_info.placed_address;
-      bp->address_space = loc->target_info.placed_address_space;
-
-      bp->in_target_beneath = 1;
-
-      VEC_safe_push (record_full_breakpoint_p, record_full_breakpoints, bp);
+      record_full_breakpoints.emplace_back
+	(loc->target_info.placed_address_space,
+	 loc->target_info.placed_address,
+	 1);
     }
 }
 
@@ -1607,7 +1751,7 @@ record_full_sync_record_breakpoints (str
 static void
 record_full_init_record_breakpoints (void)
 {
-  VEC_free (record_full_breakpoint_p, record_full_breakpoints);
+  record_full_breakpoints.clear ();
 
   iterate_over_bp_locations (record_full_sync_record_breakpoints);
 }
@@ -1616,14 +1760,11 @@ record_full_init_record_breakpoints (voi
    insert or remove breakpoints in the real target when replaying, nor
    when recording.  */
 
-static int
-record_full_insert_breakpoint (struct target_ops *ops,
-			       struct gdbarch *gdbarch,
-			       struct bp_target_info *bp_tgt)
-{
-  struct record_full_breakpoint *bp;
-  int in_target_beneath = 0;
-  int ix;
+int
+record_full_target::insert_breakpoint (struct gdbarch *gdbarch,
+				       struct bp_target_info *bp_tgt)
+{
+  bool in_target_beneath = false;
 
   if (!RECORD_FULL_IS_REPLAY)
     {
@@ -1632,78 +1773,65 @@ record_full_insert_breakpoint (struct ta
 	 However, we do have to insert software single-step
 	 breakpoints, in case the target can't hardware step.  To keep
 	 things simple, we always insert.  */
-      int ret;
 
       scoped_restore restore_operation_disable
 	= record_full_gdb_operation_disable_set ();
-      ret = ops->beneath->to_insert_breakpoint (ops->beneath, gdbarch, bp_tgt);
 
+      int ret = this->beneath ()->insert_breakpoint (gdbarch, bp_tgt);
       if (ret != 0)
 	return ret;
 
-      in_target_beneath = 1;
+      in_target_beneath = true;
     }
 
   /* Use the existing entries if found in order to avoid duplication
      in record_full_breakpoints.  */
 
-  for (ix = 0;
-       VEC_iterate (record_full_breakpoint_p,
-		    record_full_breakpoints, ix, bp);
-       ++ix)
+  for (const record_full_breakpoint &bp : record_full_breakpoints)
     {
-      if (bp->addr == bp_tgt->placed_address
-	  && bp->address_space == bp_tgt->placed_address_space)
+      if (bp.addr == bp_tgt->placed_address
+	  && bp.address_space == bp_tgt->placed_address_space)
 	{
-	  gdb_assert (bp->in_target_beneath == in_target_beneath);
+	  gdb_assert (bp.in_target_beneath == in_target_beneath);
 	  return 0;
 	}
     }
 
-  bp = XNEW (struct record_full_breakpoint);
-  bp->addr = bp_tgt->placed_address;
-  bp->address_space = bp_tgt->placed_address_space;
-  bp->in_target_beneath = in_target_beneath;
-  VEC_safe_push (record_full_breakpoint_p, record_full_breakpoints, bp);
+  record_full_breakpoints.emplace_back (bp_tgt->placed_address_space,
+					bp_tgt->placed_address,
+					in_target_beneath);
   return 0;
 }
 
-/* "to_remove_breakpoint" method for process record target.  */
+/* "remove_breakpoint" method for process record target.  */
 
-static int
-record_full_remove_breakpoint (struct target_ops *ops,
-			       struct gdbarch *gdbarch,
-			       struct bp_target_info *bp_tgt,
-			       enum remove_bp_reason reason)
-{
-  struct record_full_breakpoint *bp;
-  int ix;
-
-  for (ix = 0;
-       VEC_iterate (record_full_breakpoint_p,
-		    record_full_breakpoints, ix, bp);
-       ++ix)
+int
+record_full_target::remove_breakpoint (struct gdbarch *gdbarch,
+				       struct bp_target_info *bp_tgt,
+				       enum remove_bp_reason reason)
+{
+  for (auto iter = record_full_breakpoints.begin ();
+       iter != record_full_breakpoints.end ();
+       ++iter)
     {
-      if (bp->addr == bp_tgt->placed_address
-	  && bp->address_space == bp_tgt->placed_address_space)
+      struct record_full_breakpoint &bp = *iter;
+
+      if (bp.addr == bp_tgt->placed_address
+	  && bp.address_space == bp_tgt->placed_address_space)
 	{
-	  if (bp->in_target_beneath)
+	  if (bp.in_target_beneath)
 	    {
-	      int ret;
-
 	      scoped_restore restore_operation_disable
 		= record_full_gdb_operation_disable_set ();
-	      ret = ops->beneath->to_remove_breakpoint (ops->beneath, gdbarch,
-							bp_tgt, reason);
+
+	      int ret = this->beneath ()->remove_breakpoint (gdbarch, bp_tgt,
+							     reason);
 	      if (ret != 0)
 		return ret;
 	    }
 
 	  if (reason == REMOVE_BREAKPOINT)
-	    {
-	      VEC_unordered_remove (record_full_breakpoint_p,
-				    record_full_breakpoints, ix);
-	    }
+	    unordered_remove (record_full_breakpoints, iter);
 	  return 0;
 	}
     }
@@ -1711,19 +1839,18 @@ record_full_remove_breakpoint (struct ta
   gdb_assert_not_reached ("removing unknown breakpoint");
 }
 
-/* "to_can_execute_reverse" method for process record target.  */
+/* "can_execute_reverse" method for process record target.  */
 
-static int
-record_full_can_execute_reverse (struct target_ops *self)
+bool
+record_full_base_target::can_execute_reverse ()
 {
-  return 1;
+  return true;
 }
 
-/* "to_get_bookmark" method for process record and prec over core.  */
+/* "get_bookmark" method for process record and prec over core.  */
 
-static gdb_byte *
-record_full_get_bookmark (struct target_ops *self, const char *args,
-			  int from_tty)
+gdb_byte *
+record_full_base_target::get_bookmark (const char *args, int from_tty)
 {
   char *ret = NULL;
 
@@ -1743,53 +1870,47 @@ record_full_get_bookmark (struct target_
   return (gdb_byte *) ret;
 }
 
-/* "to_goto_bookmark" method for process record and prec over core.  */
+/* "goto_bookmark" method for process record and prec over core.  */
 
-static void
-record_full_goto_bookmark (struct target_ops *self,
-			   const gdb_byte *raw_bookmark, int from_tty)
+void
+record_full_base_target::goto_bookmark (const gdb_byte *raw_bookmark,
+					int from_tty)
 {
   const char *bookmark = (const char *) raw_bookmark;
-  struct cleanup *cleanup = make_cleanup (null_cleanup, NULL);
 
   if (record_debug)
     fprintf_unfiltered (gdb_stdlog,
 			"record_full_goto_bookmark receives %s\n", bookmark);
 
+  std::string name_holder;
   if (bookmark[0] == '\'' || bookmark[0] == '\"')
     {
-      char *copy;
-
       if (bookmark[strlen (bookmark) - 1] != bookmark[0])
 	error (_("Unbalanced quotes: %s"), bookmark);
 
-
-      copy = savestring (bookmark + 1, strlen (bookmark) - 2);
-      make_cleanup (xfree, copy);
-      bookmark = copy;
+      name_holder = std::string (bookmark + 1, strlen (bookmark) - 2);
+      bookmark = name_holder.c_str ();
     }
 
   record_goto (bookmark);
-
-  do_cleanups (cleanup);
 }
 
-static enum exec_direction_kind
-record_full_execution_direction (struct target_ops *self)
+enum exec_direction_kind
+record_full_base_target::execution_direction ()
 {
   return record_full_execution_dir;
 }
 
-/* The to_record_method method of target record-full.  */
+/* The record_method method of target record-full.  */
 
 enum record_method
-record_full_record_method (struct target_ops *self, ptid_t ptid)
+record_full_base_target::record_method (ptid_t ptid)
 {
   return RECORD_METHOD_FULL;
 }
 
-static void
-record_full_info (struct target_ops *self)
+void
+record_full_base_target::info_record ()
 {
   struct record_full_entry *p;
 
@@ -1832,26 +1953,32 @@ record_full_info (struct target_ops *sel
 		   record_full_insn_max_num);
 }
 
-/* The "to_record_delete" target method.  */
+bool
+record_full_base_target::supports_delete_record ()
+{
+  return true;
+}
+
+/* The "delete_record" target method.  */
 
-static void
-record_full_delete (struct target_ops *self)
+void
+record_full_base_target::delete_record ()
 {
   record_full_list_release_following (record_full_list);
 }
 
-/* The "to_record_is_replaying" target method.  */
+/* The "record_is_replaying" target method.  */
 
-static int
-record_full_is_replaying (struct target_ops *self, ptid_t ptid)
+bool
+record_full_base_target::record_is_replaying (ptid_t ptid)
 {
   return RECORD_FULL_IS_REPLAY;
 }
 
-/* The "to_record_will_replay" target method.  */
+/* The "record_will_replay" target method.  */
 
-static int
-record_full_will_replay (struct target_ops *self, ptid_t ptid, int dir)
+bool
+record_full_base_target::record_will_replay (ptid_t ptid, int dir)
 {
   /* We can currently only record when executing forwards.  Should we be able
      to record when executing backwards on targets that support reverse
@@ -1884,14 +2011,15 @@ record_full_goto_entry (struct record_fu
 
   registers_changed ();
   reinit_frame_cache ();
-  stop_pc = regcache_read_pc (get_current_regcache ());
+  inferior_thread ()->suspend.stop_pc
+    = regcache_read_pc (get_current_regcache ());
   print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC, 1);
 }
 
-/* The "to_goto_record_begin" target method.  */
+/* The "goto_record_begin" target method.  */
 
-static void
-record_full_goto_begin (struct target_ops *self)
+void
+record_full_base_target::goto_record_begin ()
 {
   struct record_full_entry *p = NULL;
 
@@ -1902,10 +2030,10 @@ record_full_goto_begin (struct target_op
   record_full_goto_entry (p);
 }
 
-/* The "to_goto_record_end" target method.  */
+/* The "goto_record_end" target method.  */
 
-static void
-record_full_goto_end (struct target_ops *self)
+void
+record_full_base_target::goto_record_end ()
 {
   struct record_full_entry *p = NULL;
 
@@ -1918,10 +2046,10 @@ record_full_goto_end (struct target_ops 
   record_full_goto_entry (p);
 }
 
-/* The "to_goto_record" target method.  */
+/* The "goto_record" target method.  */
 
-static void
-record_full_goto (struct target_ops *self, ULONGEST target_insn)
+void
+record_full_base_target::goto_record (ULONGEST target_insn)
 {
   struct record_full_entry *p = NULL;
 
@@ -1932,73 +2060,23 @@ record_full_goto (struct target_ops *sel
   record_full_goto_entry (p);
 }
 
-/* The "to_record_stop_replaying" target method.  */
+/* The "record_stop_replaying" target method.  */
 
-static void
-record_full_stop_replaying (struct target_ops *self)
+void
+record_full_base_target::record_stop_replaying ()
 {
-  record_full_goto_end (self);
-}
-
-static void
-init_record_full_ops (void)
-{
-  record_full_ops.to_shortname = "record-full";
-  record_full_ops.to_longname = "Process record and replay target";
-  record_full_ops.to_doc =
-    "Log program while executing and replay execution from log.";
-  record_full_ops.to_open = record_full_open;
-  record_full_ops.to_close = record_full_close;
-  record_full_ops.to_async = record_full_async;
-  record_full_ops.to_resume = record_full_resume;
-  record_full_ops.to_commit_resume = record_full_commit_resume;
-  record_full_ops.to_wait = record_full_wait;
-  record_full_ops.to_disconnect = record_disconnect;
-  record_full_ops.to_detach = record_detach;
-  record_full_ops.to_mourn_inferior = record_mourn_inferior;
-  record_full_ops.to_kill = record_kill;
-  record_full_ops.to_store_registers = record_full_store_registers;
-  record_full_ops.to_xfer_partial = record_full_xfer_partial;
-  record_full_ops.to_insert_breakpoint = record_full_insert_breakpoint;
-  record_full_ops.to_remove_breakpoint = record_full_remove_breakpoint;
-  record_full_ops.to_stopped_by_watchpoint = record_full_stopped_by_watchpoint;
-  record_full_ops.to_stopped_data_address = record_full_stopped_data_address;
-  record_full_ops.to_stopped_by_sw_breakpoint
-    = record_full_stopped_by_sw_breakpoint;
-  record_full_ops.to_supports_stopped_by_sw_breakpoint
-    = record_full_supports_stopped_by_sw_breakpoint;
-  record_full_ops.to_stopped_by_hw_breakpoint
-    = record_full_stopped_by_hw_breakpoint;
-  record_full_ops.to_supports_stopped_by_hw_breakpoint
-    = record_full_supports_stopped_by_hw_breakpoint;
-  record_full_ops.to_can_execute_reverse = record_full_can_execute_reverse;
-  record_full_ops.to_stratum = record_stratum;
-  /* Add bookmark target methods.  */
-  record_full_ops.to_get_bookmark = record_full_get_bookmark;
-  record_full_ops.to_goto_bookmark = record_full_goto_bookmark;
-  record_full_ops.to_execution_direction = record_full_execution_direction;
-  record_full_ops.to_record_method = record_full_record_method;
-  record_full_ops.to_info_record = record_full_info;
-  record_full_ops.to_save_record = record_full_save;
-  record_full_ops.to_delete_record = record_full_delete;
-  record_full_ops.to_record_is_replaying = record_full_is_replaying;
-  record_full_ops.to_record_will_replay = record_full_will_replay;
-  record_full_ops.to_record_stop_replaying = record_full_stop_replaying;
-  record_full_ops.to_goto_record_begin = record_full_goto_begin;
-  record_full_ops.to_goto_record_end = record_full_goto_end;
-  record_full_ops.to_goto_record = record_full_goto;
-  record_full_ops.to_magic = OPS_MAGIC;
+  goto_record_end ();
 }
 
-/* "to_resume" method for prec over corefile.  */
+/* "resume" method for prec over corefile.  */
 
-static void
-record_full_core_resume (struct target_ops *ops, ptid_t ptid, int step,
-			 enum gdb_signal signal)
+void
+record_full_core_target::resume (ptid_t ptid, int step,
+				 enum gdb_signal signal)
 {
   record_full_resume_step = step;
   record_full_resumed = 1;
-  record_full_execution_dir = execution_direction;
+  record_full_execution_dir = ::execution_direction;
 
   /* We are about to start executing the inferior (or simulate it),
      let's register it with the event loop.  */
@@ -2006,23 +2084,22 @@ record_full_core_resume (struct target_o
     target_async (1);
 }
 
-/* "to_kill" method for prec over corefile.  */
+/* "kill" method for prec over corefile.  */
 
-static void
-record_full_core_kill (struct target_ops *ops)
+void
+record_full_core_target::kill ()
 {
   if (record_debug)
     fprintf_unfiltered (gdb_stdlog, "Process record: record_full_core_kill\n");
 
-  unpush_target (&record_full_core_ops);
+  unpush_target (this);
 }
 
-/* "to_fetch_registers" method for prec over corefile.  */
+/* "fetch_registers" method for prec over corefile.  */
 
-static void
-record_full_core_fetch_registers (struct target_ops *ops,
-				  struct regcache *regcache,
-				  int regno)
+void
+record_full_core_target::fetch_registers (struct regcache *regcache,
+					  int regno)
 {
   if (regno < 0)
     {
@@ -2030,44 +2107,38 @@ record_full_core_fetch_registers (struct
       int i;
 
       for (i = 0; i < num; i ++)
-        regcache_raw_supply (regcache, i,
-                             record_full_core_regbuf + MAX_REGISTER_SIZE * i);
+	regcache->raw_supply (i, *record_full_core_regbuf);
     }
   else
-    regcache_raw_supply (regcache, regno,
-                         record_full_core_regbuf + MAX_REGISTER_SIZE * regno);
+    regcache->raw_supply (regno, *record_full_core_regbuf);
 }
 
-/* "to_prepare_to_store" method for prec over corefile.  */
+/* "prepare_to_store" method for prec over corefile.  */
 
-static void
-record_full_core_prepare_to_store (struct target_ops *self,
-				   struct regcache *regcache)
+void
+record_full_core_target::prepare_to_store (struct regcache *regcache)
 {
 }
 
-/* "to_store_registers" method for prec over corefile.  */
+/* "store_registers" method for prec over corefile.  */
 
-static void
-record_full_core_store_registers (struct target_ops *ops,
-                             struct regcache *regcache,
-                             int regno)
+void
+record_full_core_target::store_registers (struct regcache *regcache,
+					  int regno)
 {
   if (record_full_gdb_operation_disable)
-    regcache_raw_collect (regcache, regno,
-                          record_full_core_regbuf + MAX_REGISTER_SIZE * regno);
+    record_full_core_regbuf->raw_supply (regno, *regcache);
   else
     error (_("You can't do that without a process to debug."));
 }
 
-/* "to_xfer_partial" method for prec over corefile.  */
+/* "xfer_partial" method for prec over corefile.  */
 
-static enum target_xfer_status
-record_full_core_xfer_partial (struct target_ops *ops,
-			       enum target_object object,
-			       const char *annex, gdb_byte *readbuf,
-			       const gdb_byte *writebuf, ULONGEST offset,
-			       ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+record_full_core_target::xfer_partial (enum target_object object,
+				       const char *annex, gdb_byte *readbuf,
+				       const gdb_byte *writebuf, ULONGEST offset,
+				       ULONGEST len, ULONGEST *xfered_len)
 {
   if (object == TARGET_OBJECT_MEMORY)
     {
@@ -2131,11 +2202,10 @@ record_full_core_xfer_partial (struct ta
 		  else
 		    {
 		      if (!entry)
-			return ops->beneath->to_xfer_partial (ops->beneath,
-							      object, annex,
-							      readbuf, writebuf,
-							      offset, len,
-							      xfered_len);
+			return this->beneath ()->xfer_partial (object, annex,
+							       readbuf, writebuf,
+							       offset, len,
+							       xfered_len);
 
 		      memcpy (readbuf, entry->buf + sec_offset,
 			      (size_t) len);
@@ -2152,91 +2222,36 @@ record_full_core_xfer_partial (struct ta
 	error (_("You can't do that without a process to debug."));
     }
 
-  return ops->beneath->to_xfer_partial (ops->beneath, object, annex,
-					readbuf, writebuf, offset, len,
-					xfered_len);
+  return this->beneath ()->xfer_partial (object, annex,
+					 readbuf, writebuf, offset, len,
+					 xfered_len);
 }
 
-/* "to_insert_breakpoint" method for prec over corefile.  */
+/* "insert_breakpoint" method for prec over corefile.  */
 
-static int
-record_full_core_insert_breakpoint (struct target_ops *ops,
-				    struct gdbarch *gdbarch,
-				    struct bp_target_info *bp_tgt)
+int
+record_full_core_target::insert_breakpoint (struct gdbarch *gdbarch,
+					    struct bp_target_info *bp_tgt)
 {
   return 0;
 }
 
-/* "to_remove_breakpoint" method for prec over corefile.  */
+/* "remove_breakpoint" method for prec over corefile.  */
 
-static int
-record_full_core_remove_breakpoint (struct target_ops *ops,
-				    struct gdbarch *gdbarch,
-				    struct bp_target_info *bp_tgt,
-				    enum remove_bp_reason reason)
+int
+record_full_core_target::remove_breakpoint (struct gdbarch *gdbarch,
+					    struct bp_target_info *bp_tgt,
+					    enum remove_bp_reason reason)
 {
   return 0;
 }
 
-/* "to_has_execution" method for prec over corefile.  */
+/* "has_execution" method for prec over corefile.  */
 
-static int
-record_full_core_has_execution (struct target_ops *ops, ptid_t the_ptid)
+bool
+record_full_core_target::has_execution (ptid_t the_ptid)
 {
-  return 1;
-}
-
-static void
-init_record_full_core_ops (void)
-{
-  record_full_core_ops.to_shortname = "record-core";
-  record_full_core_ops.to_longname = "Process record and replay target";
-  record_full_core_ops.to_doc =
-    "Log program while executing and replay execution from log.";
-  record_full_core_ops.to_open = record_full_open;
-  record_full_core_ops.to_close = record_full_close;
-  record_full_core_ops.to_async = record_full_async;
-  record_full_core_ops.to_resume = record_full_core_resume;
-  record_full_core_ops.to_wait = record_full_wait;
-  record_full_core_ops.to_kill = record_full_core_kill;
-  record_full_core_ops.to_fetch_registers = record_full_core_fetch_registers;
-  record_full_core_ops.to_prepare_to_store = record_full_core_prepare_to_store;
-  record_full_core_ops.to_store_registers = record_full_core_store_registers;
-  record_full_core_ops.to_xfer_partial = record_full_core_xfer_partial;
-  record_full_core_ops.to_insert_breakpoint
-    = record_full_core_insert_breakpoint;
-  record_full_core_ops.to_remove_breakpoint
-    = record_full_core_remove_breakpoint;
-  record_full_core_ops.to_stopped_by_watchpoint
-    = record_full_stopped_by_watchpoint;
-  record_full_core_ops.to_stopped_data_address
-    = record_full_stopped_data_address;
-  record_full_core_ops.to_stopped_by_sw_breakpoint
-    = record_full_stopped_by_sw_breakpoint;
-  record_full_core_ops.to_supports_stopped_by_sw_breakpoint
-    = record_full_supports_stopped_by_sw_breakpoint;
-  record_full_core_ops.to_stopped_by_hw_breakpoint
-    = record_full_stopped_by_hw_breakpoint;
-  record_full_core_ops.to_supports_stopped_by_hw_breakpoint
-    = record_full_supports_stopped_by_hw_breakpoint;
-  record_full_core_ops.to_can_execute_reverse
-    = record_full_can_execute_reverse;
-  record_full_core_ops.to_has_execution = record_full_core_has_execution;
-  record_full_core_ops.to_stratum = record_stratum;
-  /* Add bookmark target methods.  */
-  record_full_core_ops.to_get_bookmark = record_full_get_bookmark;
-  record_full_core_ops.to_goto_bookmark = record_full_goto_bookmark;
-  record_full_core_ops.to_execution_direction
-    = record_full_execution_direction;
-  record_full_core_ops.to_record_method = record_full_record_method;
-  record_full_core_ops.to_info_record = record_full_info;
-  record_full_core_ops.to_delete_record = record_full_delete;
-  record_full_core_ops.to_record_is_replaying = record_full_is_replaying;
-  record_full_core_ops.to_record_will_replay = record_full_will_replay;
-  record_full_core_ops.to_goto_record_begin = record_full_goto_begin;
-  record_full_core_ops.to_goto_record_end = record_full_goto_end;
-  record_full_core_ops.to_goto_record = record_full_goto;
-  record_full_core_ops.to_magic = OPS_MAGIC;
+  return true;
 }
 
 /* Record log save-file format
@@ -2321,7 +2336,6 @@ static void
 record_full_restore (void)
 {
   uint32_t magic;
-  struct cleanup *old_cleanups;
   struct record_full_entry *rec;
   asection *osec;
   uint32_t osec_size;
@@ -2366,108 +2380,115 @@ record_full_restore (void)
   record_full_arch_list_head = NULL;
   record_full_arch_list_tail = NULL;
   record_full_insn_num = 0;
-  old_cleanups = make_cleanup (record_full_arch_list_cleanups, 0);
-  regcache = get_current_regcache ();
 
-  while (1)
+  TRY
     {
-      uint8_t rectype;
-      uint32_t regnum, len, signal, count;
-      uint64_t addr;
+      regcache = get_current_regcache ();
 
-      /* We are finished when offset reaches osec_size.  */
-      if (bfd_offset >= osec_size)
-	break;
-      bfdcore_read (core_bfd, osec, &rectype, sizeof (rectype), &bfd_offset);
+      while (1)
+	{
+	  uint8_t rectype;
+	  uint32_t regnum, len, signal, count;
+	  uint64_t addr;
 
-      switch (rectype)
-        {
-        case record_full_reg: /* reg */
-          /* Get register number to regnum.  */
-          bfdcore_read (core_bfd, osec, &regnum,
-			sizeof (regnum), &bfd_offset);
-	  regnum = netorder32 (regnum);
-
-          rec = record_full_reg_alloc (regcache, regnum);
-
-          /* Get val.  */
-          bfdcore_read (core_bfd, osec, record_full_get_loc (rec),
-			rec->u.reg.len, &bfd_offset);
+	  /* We are finished when offset reaches osec_size.  */
+	  if (bfd_offset >= osec_size)
+	    break;
+	  bfdcore_read (core_bfd, osec, &rectype, sizeof (rectype), &bfd_offset);
 
-	  if (record_debug)
-	    fprintf_unfiltered (gdb_stdlog,
-				"  Reading register %d (1 "
-				"plus %lu plus %d bytes)\n",
-				rec->u.reg.num,
-				(unsigned long) sizeof (regnum),
-				rec->u.reg.len);
-          break;
-
-        case record_full_mem: /* mem */
-          /* Get len.  */
-          bfdcore_read (core_bfd, osec, &len, 
-			sizeof (len), &bfd_offset);
-	  len = netorder32 (len);
-
-          /* Get addr.  */
-          bfdcore_read (core_bfd, osec, &addr,
-			sizeof (addr), &bfd_offset);
-	  addr = netorder64 (addr);
-
-          rec = record_full_mem_alloc (addr, len);
-
-          /* Get val.  */
-          bfdcore_read (core_bfd, osec, record_full_get_loc (rec),
-			rec->u.mem.len, &bfd_offset);
+	  switch (rectype)
+	    {
+	    case record_full_reg: /* reg */
+	      /* Get register number to regnum.  */
+	      bfdcore_read (core_bfd, osec, &regnum,
+			    sizeof (regnum), &bfd_offset);
+	      regnum = netorder32 (regnum);
+
+	      rec = record_full_reg_alloc (regcache, regnum);
+
+	      /* Get val.  */
+	      bfdcore_read (core_bfd, osec, record_full_get_loc (rec),
+			    rec->u.reg.len, &bfd_offset);
 
-	  if (record_debug)
-	    fprintf_unfiltered (gdb_stdlog,
-				"  Reading memory %s (1 plus "
-				"%lu plus %lu plus %d bytes)\n",
-				paddress (get_current_arch (),
-					  rec->u.mem.addr),
-				(unsigned long) sizeof (addr),
-				(unsigned long) sizeof (len),
-				rec->u.mem.len);
-          break;
-
-        case record_full_end: /* end */
-          rec = record_full_end_alloc ();
-          record_full_insn_num ++;
-
-	  /* Get signal value.  */
-	  bfdcore_read (core_bfd, osec, &signal, 
-			sizeof (signal), &bfd_offset);
-	  signal = netorder32 (signal);
-	  rec->u.end.sigval = (enum gdb_signal) signal;
-
-	  /* Get insn count.  */
-	  bfdcore_read (core_bfd, osec, &count, 
-			sizeof (count), &bfd_offset);
-	  count = netorder32 (count);
-	  rec->u.end.insn_num = count;
-	  record_full_insn_count = count + 1;
-	  if (record_debug)
-	    fprintf_unfiltered (gdb_stdlog,
-				"  Reading record_full_end (1 + "
-				"%lu + %lu bytes), offset == %s\n",
-				(unsigned long) sizeof (signal),
-				(unsigned long) sizeof (count),
-				paddress (get_current_arch (),
-					  bfd_offset));
-          break;
-
-        default:
-          error (_("Bad entry type in core file %s."),
-		 bfd_get_filename (core_bfd));
-          break;
-        }
+	      if (record_debug)
+		fprintf_unfiltered (gdb_stdlog,
+				    "  Reading register %d (1 "
+				    "plus %lu plus %d bytes)\n",
+				    rec->u.reg.num,
+				    (unsigned long) sizeof (regnum),
+				    rec->u.reg.len);
+	      break;
 
-      /* Add rec to record arch list.  */
-      record_full_arch_list_add (rec);
-    }
+	    case record_full_mem: /* mem */
+	      /* Get len.  */
+	      bfdcore_read (core_bfd, osec, &len,
+			    sizeof (len), &bfd_offset);
+	      len = netorder32 (len);
+
+	      /* Get addr.  */
+	      bfdcore_read (core_bfd, osec, &addr,
+			    sizeof (addr), &bfd_offset);
+	      addr = netorder64 (addr);
+
+	      rec = record_full_mem_alloc (addr, len);
+
+	      /* Get val.  */
+	      bfdcore_read (core_bfd, osec, record_full_get_loc (rec),
+			    rec->u.mem.len, &bfd_offset);
+
+	      if (record_debug)
+		fprintf_unfiltered (gdb_stdlog,
+				    "  Reading memory %s (1 plus "
+				    "%lu plus %lu plus %d bytes)\n",
+				    paddress (get_current_arch (),
+					      rec->u.mem.addr),
+				    (unsigned long) sizeof (addr),
+				    (unsigned long) sizeof (len),
+				    rec->u.mem.len);
+	      break;
 
-  discard_cleanups (old_cleanups);
+	    case record_full_end: /* end */
+	      rec = record_full_end_alloc ();
+	      record_full_insn_num ++;
+
+	      /* Get signal value.  */
+	      bfdcore_read (core_bfd, osec, &signal,
+			    sizeof (signal), &bfd_offset);
+	      signal = netorder32 (signal);
+	      rec->u.end.sigval = (enum gdb_signal) signal;
+
+	      /* Get insn count.  */
+	      bfdcore_read (core_bfd, osec, &count,
+			    sizeof (count), &bfd_offset);
+	      count = netorder32 (count);
+	      rec->u.end.insn_num = count;
+	      record_full_insn_count = count + 1;
+	      if (record_debug)
+		fprintf_unfiltered (gdb_stdlog,
+				    "  Reading record_full_end (1 + "
+				    "%lu + %lu bytes), offset == %s\n",
+				    (unsigned long) sizeof (signal),
+				    (unsigned long) sizeof (count),
+				    paddress (get_current_arch (),
+					      bfd_offset));
+	      break;
+
+	    default:
+	      error (_("Bad entry type in core file %s."),
+		     bfd_get_filename (core_bfd));
+	      break;
+	    }
+
+	  /* Add rec to record arch list.  */
+	  record_full_arch_list_add (rec);
+	}
+    }
+  CATCH (ex, RETURN_MASK_ALL)
+    {
+      record_full_list_release (record_full_arch_list_tail);
+      throw_exception (ex);
+    }
+  END_CATCH
 
   /* Add record_full_arch_list_head to the end of record list.  */
   record_full_first.next = record_full_arch_list_head;
@@ -2518,8 +2539,8 @@ cmd_record_full_restore (const char *arg
 /* Save the execution log to a file.  We use a modified elf corefile
    format, with an extra section for our data.  */
 
-static void
-record_full_save (struct target_ops *self, const char *recfilename)
+void
+record_full_base_target::save_record (const char *recfilename)
 {
   struct record_full_entry *cur_record_full_list;
   uint32_t magic;
@@ -2801,11 +2822,9 @@ _initialize_record_full (void)
   record_full_first.next = NULL;
   record_full_first.type = record_full_end;
 
-  init_record_full_ops ();
-  add_target (&record_full_ops);
-  add_deprecated_target_alias (&record_full_ops, "record");
-  init_record_full_core_ops ();
-  add_target (&record_full_core_ops);
+  add_target (record_full_target_info, record_full_open);
+  add_deprecated_target_alias (record_full_target_info, "record");
+  add_target (record_full_core_target_info, record_full_open);
 
   add_prefix_cmd ("full", class_obscure, cmd_record_full_start,
 		  _("Start full execution recording."), &record_full_cmdlist,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/record.h ./gdb/record.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/record.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/record.h	2018-07-10 02:06:13.000000000 +0000
@@ -24,6 +24,7 @@
 #include "common/enum-flags.h"
 
 struct cmd_list_element;
+struct inferior;
 
 extern unsigned int record_debug;
 
@@ -88,7 +89,7 @@ extern void record_goto (const char *arg
 extern void record_disconnect (struct target_ops *, const char *, int);
 
 /* The default "to_detach" target method for record targets.  */
-extern void record_detach (struct target_ops *, const char *, int);
+extern void record_detach (struct target_ops *, inferior *, int);
 
 /* The default "to_mourn_inferior" target method for record targets.  */
 extern void record_mourn_inferior (struct target_ops *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regcache.c ./gdb/regcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regcache.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regcache.c	2018-07-10 02:06:13.000000000 +0000
@@ -19,14 +19,13 @@
 
 #include "defs.h"
 #include "inferior.h"
+#include "gdbthread.h"
 #include "target.h"
 #include "gdbarch.h"
 #include "gdbcmd.h"
 #include "regcache.h"
 #include "reggroups.h"
-#include "observer.h"
-#include "remote.h"
-#include "valprint.h"
+#include "observable.h"
 #include "regset.h"
 #include <forward_list>
 
@@ -119,7 +118,6 @@ init_regcache_descr (struct gdbarch *gdb
 	descr->sizeof_register[i] = TYPE_LENGTH (descr->register_type[i]);
 	descr->register_offset[i] = offset;
 	offset += descr->sizeof_register[i];
-	gdb_assert (MAX_REGISTER_SIZE >= descr->sizeof_register[i]);
       }
     /* Set the real size of the raw register cache buffer.  */
     descr->sizeof_raw_registers = offset;
@@ -129,7 +127,6 @@ init_regcache_descr (struct gdbarch *gdb
 	descr->sizeof_register[i] = TYPE_LENGTH (descr->register_type[i]);
 	descr->register_offset[i] = offset;
 	offset += descr->sizeof_register[i];
-	gdb_assert (MAX_REGISTER_SIZE >= descr->sizeof_register[i]);
       }
     /* Set the real size of the readonly register cache buffer.  */
     descr->sizeof_cooked_registers = offset;
@@ -181,58 +178,49 @@ regcache_register_size (const struct reg
   return register_size (regcache->arch (), n);
 }
 
-regcache::regcache (gdbarch *gdbarch, const address_space *aspace_,
-		    bool readonly_p_)
-  : m_aspace (aspace_), m_readonly_p (readonly_p_)
+reg_buffer::reg_buffer (gdbarch *gdbarch, bool has_pseudo)
+  : m_has_pseudo (has_pseudo)
 {
   gdb_assert (gdbarch != NULL);
   m_descr = regcache_descr (gdbarch);
 
-  if (m_readonly_p)
+  if (has_pseudo)
     {
-      m_registers = XCNEWVEC (gdb_byte, m_descr->sizeof_cooked_registers);
-      m_register_status = XCNEWVEC (signed char,
-				    m_descr->nr_cooked_registers);
+      m_registers.reset (new gdb_byte[m_descr->sizeof_cooked_registers] ());
+      m_register_status.reset
+	(new register_status[m_descr->nr_cooked_registers] ());
     }
   else
     {
-      m_registers = XCNEWVEC (gdb_byte, m_descr->sizeof_raw_registers);
-      m_register_status = XCNEWVEC (signed char, gdbarch_num_regs (gdbarch));
+      m_registers.reset (new gdb_byte[m_descr->sizeof_raw_registers] ());
+      m_register_status.reset
+	(new register_status[gdbarch_num_regs (gdbarch)] ());
     }
-  m_ptid = minus_one_ptid;
 }
 
-static enum register_status
-do_cooked_read (void *src, int regnum, gdb_byte *buf)
+regcache::regcache (gdbarch *gdbarch, const address_space *aspace_)
+/* The register buffers.  A read/write register cache can only hold
+   [0 .. gdbarch_num_regs).  */
+  : detached_regcache (gdbarch, false), m_aspace (aspace_)
 {
-  struct regcache *regcache = (struct regcache *) src;
-
-  return regcache_cooked_read (regcache, regnum, buf);
+  m_ptid = minus_one_ptid;
 }
 
-regcache::regcache (readonly_t, const regcache &src)
-  : regcache (src.arch (), nullptr, true)
+readonly_detached_regcache::readonly_detached_regcache (regcache &src)
+  : readonly_detached_regcache (src.arch (),
+				[&src] (int regnum, gdb_byte *buf)
+				  {
+				    return src.cooked_read (regnum, buf);
+				  })
 {
-  gdb_assert (!src.m_readonly_p);
-  save (do_cooked_read, (void *) &src);
 }
 
 gdbarch *
-regcache::arch () const
+reg_buffer::arch () const
 {
   return m_descr->gdbarch;
 }
 
-/* See regcache.h.  */
-
-ptid_t
-regcache_get_ptid (const struct regcache *regcache)
-{
-  gdb_assert (!ptid_equal (regcache->ptid (), minus_one_ptid));
-
-  return regcache->ptid ();
-}
-
 /* Cleanup class for invalidating a register.  */
 
 class regcache_invalidator
@@ -248,7 +236,7 @@ public:
   ~regcache_invalidator ()
   {
     if (m_regcache != nullptr)
-      regcache_invalidate (m_regcache, m_regnum);
+      m_regcache->invalidate (m_regnum);
   }
 
   DISABLE_COPY_AND_ASSIGN (regcache_invalidator);
@@ -267,32 +255,22 @@ private:
 /* Return  a pointer to register REGNUM's buffer cache.  */
 
 gdb_byte *
-regcache::register_buffer (int regnum) const
+reg_buffer::register_buffer (int regnum) const
 {
-  return m_registers + m_descr->register_offset[regnum];
+  return m_registers.get () + m_descr->register_offset[regnum];
 }
 
 void
-regcache_save (struct regcache *regcache,
-	       regcache_cooked_read_ftype *cooked_read, void *src)
-{
-  regcache->save (cooked_read, src);
-}
-
-void
-regcache::save (regcache_cooked_read_ftype *cooked_read,
-		void *src)
+reg_buffer::save (register_read_ftype cooked_read)
 {
   struct gdbarch *gdbarch = m_descr->gdbarch;
   int regnum;
 
-  /* The DST should be `read-only', if it wasn't then the save would
-     end up trying to write the register values back out to the
-     target.  */
-  gdb_assert (m_readonly_p);
+  /* It should have pseudo registers.  */
+  gdb_assert (m_has_pseudo);
   /* Clear the dest.  */
-  memset (m_registers, 0, m_descr->sizeof_cooked_registers);
-  memset (m_register_status, 0, m_descr->nr_cooked_registers);
+  memset (m_registers.get (), 0, m_descr->sizeof_cooked_registers);
+  memset (m_register_status.get (), REG_UNKNOWN, m_descr->nr_cooked_registers);
   /* Copy over any registers (identified by their membership in the
      save_reggroup) and mark them as valid.  The full [0 .. gdbarch_num_regs +
      gdbarch_num_pseudo_regs) range is checked since some architectures need
@@ -302,7 +280,7 @@ regcache::save (regcache_cooked_read_fty
       if (gdbarch_register_reggroup_p (gdbarch, regnum, save_reggroup))
 	{
 	  gdb_byte *dst_buf = register_buffer (regnum);
-	  enum register_status status = cooked_read (src, regnum, dst_buf);
+	  enum register_status status = cooked_read (regnum, dst_buf);
 
 	  gdb_assert (status != REG_UNKNOWN);
 
@@ -315,15 +293,16 @@ regcache::save (regcache_cooked_read_fty
 }
 
 void
-regcache::restore (struct regcache *src)
+regcache::restore (readonly_detached_regcache *src)
 {
   struct gdbarch *gdbarch = m_descr->gdbarch;
   int regnum;
 
-  /* The dst had better not be read-only.  If it is, the `restore'
-     doesn't make much sense.  */
-  gdb_assert (!m_readonly_p);
-  gdb_assert (src->m_readonly_p);
+  gdb_assert (src != NULL);
+  gdb_assert (src->m_has_pseudo);
+
+  gdb_assert (gdbarch == src->arch ());
+
   /* Copy over any registers, being careful to only restore those that
      were both saved and need to be restored.  The full [0 .. gdbarch_num_regs
      + gdbarch_num_pseudo_regs) range is checked since some architectures need
@@ -338,61 +317,31 @@ regcache::restore (struct regcache *src)
     }
 }
 
-void
-regcache_cpy (struct regcache *dst, struct regcache *src)
-{
-  gdb_assert (src != NULL && dst != NULL);
-  gdb_assert (src->m_descr->gdbarch == dst->m_descr->gdbarch);
-  gdb_assert (src != dst);
-  gdb_assert (src->m_readonly_p && !dst->m_readonly_p);
-
-  dst->restore (src);
-}
-
-struct regcache *
-regcache_dup (struct regcache *src)
-{
-  return new regcache (regcache::readonly, *src);
-}
-
-enum register_status
-regcache_register_status (const struct regcache *regcache, int regnum)
-{
-  gdb_assert (regcache != NULL);
-  return regcache->get_register_status (regnum);
-}
+/* See common/common-regcache.h.  */
 
 enum register_status
-regcache::get_register_status (int regnum) const
+reg_buffer::get_register_status (int regnum) const
 {
-  gdb_assert (regnum >= 0);
-  if (m_readonly_p)
-    gdb_assert (regnum < m_descr->nr_cooked_registers);
-  else
-    gdb_assert (regnum < num_raw_registers ());
-
-  return (enum register_status) m_register_status[regnum];
-}
+  assert_regnum (regnum);
 
-void
-regcache_invalidate (struct regcache *regcache, int regnum)
-{
-  gdb_assert (regcache != NULL);
-  regcache->invalidate (regnum);
+  return m_register_status[regnum];
 }
 
 void
-regcache::invalidate (int regnum)
+reg_buffer::invalidate (int regnum)
 {
-  gdb_assert (!m_readonly_p);
   assert_regnum (regnum);
   m_register_status[regnum] = REG_UNKNOWN;
 }
 
 void
-regcache::assert_regnum (int regnum) const
+reg_buffer::assert_regnum (int regnum) const
 {
-  gdb_assert (regnum >= 0 && regnum < gdbarch_num_regs (arch ()));
+  gdb_assert (regnum >= 0);
+  if (m_has_pseudo)
+    gdb_assert (regnum < m_descr->nr_cooked_registers);
+  else
+    gdb_assert (regnum < gdbarch_num_regs (arch ()));
 }
 
 /* Global structure containing the current regcache.  */
@@ -408,10 +357,10 @@ get_thread_arch_aspace_regcache (ptid_t 
 				 struct address_space *aspace)
 {
   for (const auto &regcache : regcache::current_regcache)
-    if (ptid_equal (regcache->ptid (), ptid) && regcache->arch () == gdbarch)
+    if (regcache->ptid () == ptid && regcache->arch () == gdbarch)
       return regcache;
 
-  regcache *new_regcache = new regcache (gdbarch, aspace, false);
+  regcache *new_regcache = new regcache (gdbarch, aspace);
 
   regcache::current_regcache.push_front (new_regcache);
   new_regcache->set_ptid (ptid);
@@ -433,7 +382,7 @@ static struct gdbarch *current_thread_ar
 struct regcache *
 get_thread_regcache (ptid_t ptid)
 {
-  if (!current_thread_arch || !ptid_equal (current_thread_ptid, ptid))
+  if (!current_thread_arch || current_thread_ptid != ptid)
     {
       current_thread_ptid = ptid;
       current_thread_arch = target_thread_architecture (ptid);
@@ -442,10 +391,18 @@ get_thread_regcache (ptid_t ptid)
   return get_thread_arch_regcache (ptid, current_thread_arch);
 }
 
+/* See regcache.h.  */
+
+struct regcache *
+get_thread_regcache (thread_info *thread)
+{
+  return get_thread_regcache (thread->ptid);
+}
+
 struct regcache *
 get_current_regcache (void)
 {
-  return get_thread_regcache (inferior_ptid);
+  return get_thread_regcache (inferior_thread ());
 }
 
 /* See common/common-regcache.h.  */
@@ -471,7 +428,7 @@ regcache::regcache_thread_ptid_changed (
 {
   for (auto &regcache : regcache::current_regcache)
     {
-      if (ptid_equal (regcache->ptid (), old_ptid))
+      if (regcache->ptid () == old_ptid)
 	regcache->set_ptid (new_ptid);
     }
 }
@@ -495,7 +452,7 @@ registers_changed_ptid (ptid_t ptid)
        it != regcache::current_regcache.end ();
        )
     {
-      if (ptid_match ((*it)->ptid (), ptid))
+      if ((*it)->ptid ().matches (ptid))
 	{
 	  delete *it;
 	  it = regcache::current_regcache.erase_after (oit);
@@ -504,13 +461,13 @@ registers_changed_ptid (ptid_t ptid)
 	oit = it++;
     }
 
-  if (ptid_match (current_thread_ptid, ptid))
+  if (current_thread_ptid.matches (ptid))
     {
       current_thread_ptid = null_ptid;
       current_thread_arch = NULL;
     }
 
-  if (ptid_match (inferior_ptid, ptid))
+  if (inferior_ptid.matches (ptid))
     {
       /* We just deleted the regcache of the current thread.  Need to
 	 forget about any frames we have cached, too.  */
@@ -518,6 +475,14 @@ registers_changed_ptid (ptid_t ptid)
     }
 }
 
+/* See regcache.h.  */
+
+void
+registers_changed_thread (thread_info *thread)
+{
+  registers_changed_ptid (thread->ptid);
+}
+
 void
 registers_changed (void)
 {
@@ -532,14 +497,6 @@ registers_changed (void)
 }
 
 void
-regcache_raw_update (struct regcache *regcache, int regnum)
-{
-  gdb_assert (regcache != NULL);
-
-  regcache->raw_update (regnum);
-}
-
-void
 regcache::raw_update (int regnum)
 {
   assert_regnum (regnum);
@@ -549,7 +506,7 @@ regcache::raw_update (int regnum)
      only there is still only one target side register cache.  Sigh!
      On the bright side, at least there is a regcache object.  */
 
-  if (!m_readonly_p && get_register_status (regnum) == REG_UNKNOWN)
+  if (get_register_status (regnum) == REG_UNKNOWN)
     {
       target_fetch_registers (this, regnum);
 
@@ -562,13 +519,7 @@ regcache::raw_update (int regnum)
 }
 
 enum register_status
-regcache_raw_read (struct regcache *regcache, int regnum, gdb_byte *buf)
-{
-  return regcache->raw_read (regnum, buf);
-}
-
-enum register_status
-regcache::raw_read (int regnum, gdb_byte *buf)
+readable_regcache::raw_read (int regnum, gdb_byte *buf)
 {
   gdb_assert (buf != NULL);
   raw_update (regnum);
@@ -579,7 +530,7 @@ regcache::raw_read (int regnum, gdb_byte
     memcpy (buf, register_buffer (regnum),
 	    m_descr->sizeof_register[regnum]);
 
-  return (enum register_status) m_register_status[regnum];
+  return m_register_status[regnum];
 }
 
 enum register_status
@@ -591,7 +542,7 @@ regcache_raw_read_signed (struct regcach
 
 template<typename T, typename>
 enum register_status
-regcache::raw_read (int regnum, T *val)
+readable_regcache::raw_read (int regnum, T *val)
 {
   gdb_byte *buf;
   enum register_status status;
@@ -658,30 +609,22 @@ regcache_raw_get_signed (struct regcache
 }
 
 enum register_status
-regcache_cooked_read (struct regcache *regcache, int regnum, gdb_byte *buf)
-{
-  return regcache->cooked_read (regnum, buf);
-}
-
-enum register_status
-regcache::cooked_read (int regnum, gdb_byte *buf)
+readable_regcache::cooked_read (int regnum, gdb_byte *buf)
 {
   gdb_assert (regnum >= 0);
   gdb_assert (regnum < m_descr->nr_cooked_registers);
   if (regnum < num_raw_registers ())
     return raw_read (regnum, buf);
-  else if (m_readonly_p
+  else if (m_has_pseudo
 	   && m_register_status[regnum] != REG_UNKNOWN)
     {
-      /* Read-only register cache, perhaps the cooked value was
-	 cached?  */
       if (m_register_status[regnum] == REG_VALID)
 	memcpy (buf, register_buffer (regnum),
 		m_descr->sizeof_register[regnum]);
       else
 	memset (buf, 0, m_descr->sizeof_register[regnum]);
 
-      return (enum register_status) m_register_status[regnum];
+      return m_register_status[regnum];
     }
   else if (gdbarch_pseudo_register_read_value_p (m_descr->gdbarch))
     {
@@ -711,19 +654,13 @@ regcache::cooked_read (int regnum, gdb_b
 }
 
 struct value *
-regcache_cooked_read_value (struct regcache *regcache, int regnum)
-{
-  return regcache->cooked_read_value (regnum);
-}
-
-struct value *
-regcache::cooked_read_value (int regnum)
+readable_regcache::cooked_read_value (int regnum)
 {
   gdb_assert (regnum >= 0);
   gdb_assert (regnum < m_descr->nr_cooked_registers);
 
   if (regnum < num_raw_registers ()
-      || (m_readonly_p && m_register_status[regnum] != REG_UNKNOWN)
+      || (m_has_pseudo && m_register_status[regnum] != REG_UNKNOWN)
       || !gdbarch_pseudo_register_read_value_p (m_descr->gdbarch))
     {
       struct value *result;
@@ -757,7 +694,7 @@ regcache_cooked_read_signed (struct regc
 
 template<typename T, typename>
 enum register_status
-regcache::cooked_read (int regnum, T *val)
+readable_regcache::cooked_read (int regnum, T *val)
 {
   enum register_status status;
   gdb_byte *buf;
@@ -810,38 +747,12 @@ regcache_cooked_write_unsigned (struct r
   regcache->cooked_write (regnum, val);
 }
 
-/* See regcache.h.  */
-
-void
-regcache_raw_set_cached_value (struct regcache *regcache, int regnum,
-			       const gdb_byte *buf)
-{
-  regcache->raw_set_cached_value (regnum, buf);
-}
-
-void
-regcache::raw_set_cached_value (int regnum, const gdb_byte *buf)
-{
-  memcpy (register_buffer (regnum), buf,
-	  m_descr->sizeof_register[regnum]);
-  m_register_status[regnum] = REG_VALID;
-}
-
-void
-regcache_raw_write (struct regcache *regcache, int regnum,
-		    const gdb_byte *buf)
-{
-  gdb_assert (regcache != NULL && buf != NULL);
-  regcache->raw_write (regnum, buf);
-}
-
 void
 regcache::raw_write (int regnum, const gdb_byte *buf)
 {
 
   gdb_assert (buf != NULL);
   assert_regnum (regnum);
-  gdb_assert (!m_readonly_p);
 
   /* On the sparc, writing %g0 is a no-op, so we don't even want to
      change the registers array if something writes to this register.  */
@@ -856,7 +767,7 @@ regcache::raw_write (int regnum, const g
     return;
 
   target_prepare_to_store (this);
-  raw_set_cached_value (regnum, buf);
+  raw_supply (regnum, buf);
 
   /* Invalidate the register after it is written, in case of a
      failure.  */
@@ -870,13 +781,6 @@ regcache::raw_write (int regnum, const g
 }
 
 void
-regcache_cooked_write (struct regcache *regcache, int regnum,
-		       const gdb_byte *buf)
-{
-  regcache->cooked_write (regnum, buf);
-}
-
-void
 regcache::cooked_write (int regnum, const gdb_byte *buf)
 {
   gdb_assert (regnum >= 0);
@@ -888,133 +792,193 @@ regcache::cooked_write (int regnum, cons
 				   regnum, buf);
 }
 
-/* Perform a partial register transfer using a read, modify, write
-   operation.  */
-
-typedef void (regcache_read_ftype) (struct regcache *regcache, int regnum,
-				    void *buf);
-typedef void (regcache_write_ftype) (struct regcache *regcache, int regnum,
-				     const void *buf);
+/* See regcache.h.  */
 
 enum register_status
-regcache::xfer_part (int regnum, int offset, int len, void *in,
-		     const void *out, bool is_raw)
+readable_regcache::read_part (int regnum, int offset, int len,
+			      gdb_byte *out, bool is_raw)
 {
-  struct gdbarch *gdbarch = arch ();
-  gdb_byte *reg = (gdb_byte *) alloca (register_size (gdbarch, regnum));
+  int reg_size = register_size (arch (), regnum);
+
+  gdb_assert (out != NULL);
+  gdb_assert (offset >= 0 && offset <= reg_size);
+  gdb_assert (len >= 0 && offset + len <= reg_size);
 
-  gdb_assert (offset >= 0 && offset <= m_descr->sizeof_register[regnum]);
-  gdb_assert (len >= 0 && offset + len <= m_descr->sizeof_register[regnum]);
-  /* Something to do?  */
-  if (offset + len == 0)
-    return REG_VALID;
-  /* Read (when needed) ...  */
-  if (in != NULL
-      || offset > 0
-      || offset + len < m_descr->sizeof_register[regnum])
+  if (offset == 0 && len == 0)
     {
-      enum register_status status;
+      /* Nothing to do.  */
+      return REG_VALID;
+    }
 
-      if (is_raw)
-	status = raw_read (regnum, reg);
-      else
-	status = cooked_read (regnum, reg);
-      if (status != REG_VALID)
-	return status;
-    }
-  /* ... modify ...  */
-  if (in != NULL)
-    memcpy (in, reg + offset, len);
-  if (out != NULL)
-    memcpy (reg + offset, out, len);
-  /* ... write (when needed).  */
-  if (out != NULL)
+  if (offset == 0 && len == reg_size)
     {
-      if (is_raw)
-	raw_write (regnum, reg);
-      else
-	cooked_write (regnum, reg);
+      /* Read the full register.  */
+      return (is_raw) ? raw_read (regnum, out) : cooked_read (regnum, out);
     }
 
+  enum register_status status;
+  gdb_byte *reg = (gdb_byte *) alloca (reg_size);
+
+  /* Read full register to buffer.  */
+  status = (is_raw) ? raw_read (regnum, reg) : cooked_read (regnum, reg);
+  if (status != REG_VALID)
+    return status;
+
+  /* Copy out.  */
+  memcpy (out, reg + offset, len);
   return REG_VALID;
 }
 
-enum register_status
-regcache_raw_read_part (struct regcache *regcache, int regnum,
-			int offset, int len, gdb_byte *buf)
+/* See regcache.h.  */
+
+void
+reg_buffer::raw_collect_part (int regnum, int offset, int len,
+			      gdb_byte *out) const
 {
-  return regcache->raw_read_part (regnum, offset, len, buf);
+  int reg_size = register_size (arch (), regnum);
+
+  gdb_assert (out != nullptr);
+  gdb_assert (offset >= 0 && offset <= reg_size);
+  gdb_assert (len >= 0 && offset + len <= reg_size);
+
+  if (offset == 0 && len == 0)
+    {
+      /* Nothing to do.  */
+      return;
+    }
+
+  if (offset == 0 && len == reg_size)
+    {
+      /* Collect the full register.  */
+      return raw_collect (regnum, out);
+    }
+
+  /* Read to buffer, then write out.  */
+  gdb_byte *reg = (gdb_byte *) alloca (reg_size);
+  raw_collect (regnum, reg);
+  memcpy (out, reg + offset, len);
 }
 
+/* See regcache.h.  */
+
 enum register_status
-regcache::raw_read_part (int regnum, int offset, int len, gdb_byte *buf)
+regcache::write_part (int regnum, int offset, int len,
+		      const gdb_byte *in, bool is_raw)
 {
-  assert_regnum (regnum);
-  return xfer_part (regnum, offset, len, buf, NULL, true);
+  int reg_size = register_size (arch (), regnum);
+
+  gdb_assert (in != NULL);
+  gdb_assert (offset >= 0 && offset <= reg_size);
+  gdb_assert (len >= 0 && offset + len <= reg_size);
+
+  if (offset == 0 && len == 0)
+    {
+      /* Nothing to do.  */
+      return REG_VALID;
+    }
+
+  if (offset == 0 && len == reg_size)
+    {
+      /* Write the full register.  */
+      (is_raw) ? raw_write (regnum, in) : cooked_write (regnum, in);
+      return REG_VALID;
+    }
+
+  enum register_status status;
+  gdb_byte *reg = (gdb_byte *) alloca (reg_size);
+
+  /* Read existing register to buffer.  */
+  status = (is_raw) ? raw_read (regnum, reg) : cooked_read (regnum, reg);
+  if (status != REG_VALID)
+    return status;
+
+  /* Update buffer, then write back to regcache.  */
+  memcpy (reg + offset, in, len);
+  is_raw ? raw_write (regnum, reg) : cooked_write (regnum, reg);
+  return REG_VALID;
 }
 
+/* See regcache.h.  */
+
 void
-regcache_raw_write_part (struct regcache *regcache, int regnum,
-			 int offset, int len, const gdb_byte *buf)
+reg_buffer::raw_supply_part (int regnum, int offset, int len,
+			     const gdb_byte *in)
 {
-  regcache->raw_write_part (regnum, offset, len, buf);
+  int reg_size = register_size (arch (), regnum);
+
+  gdb_assert (in != nullptr);
+  gdb_assert (offset >= 0 && offset <= reg_size);
+  gdb_assert (len >= 0 && offset + len <= reg_size);
+
+  if (offset == 0 && len == 0)
+    {
+      /* Nothing to do.  */
+      return;
+    }
+
+  if (offset == 0 && len == reg_size)
+    {
+      /* Supply the full register.  */
+      return raw_supply (regnum, in);
+    }
+
+  gdb_byte *reg = (gdb_byte *) alloca (reg_size);
+
+  /* Read existing value to buffer.  */
+  raw_collect (regnum, reg);
+
+  /* Write to buffer, then write out.  */
+  memcpy (reg + offset, in, len);
+  raw_supply (regnum, reg);
 }
 
-void
-regcache::raw_write_part (int regnum, int offset, int len,
-			  const gdb_byte *buf)
+enum register_status
+readable_regcache::raw_read_part (int regnum, int offset, int len,
+				  gdb_byte *buf)
 {
   assert_regnum (regnum);
-  xfer_part (regnum, offset, len, NULL, buf, true);
+  return read_part (regnum, offset, len, buf, true);
 }
 
-enum register_status
-regcache_cooked_read_part (struct regcache *regcache, int regnum,
-			   int offset, int len, gdb_byte *buf)
+/* See regcache.h.  */
+
+void
+regcache::raw_write_part (int regnum, int offset, int len,
+			  const gdb_byte *buf)
 {
-  return regcache->cooked_read_part (regnum, offset, len, buf);
+  assert_regnum (regnum);
+  write_part (regnum, offset, len, buf, true);
 }
 
+/* See regcache.h.  */
 
 enum register_status
-regcache::cooked_read_part (int regnum, int offset, int len, gdb_byte *buf)
+readable_regcache::cooked_read_part (int regnum, int offset, int len,
+				     gdb_byte *buf)
 {
   gdb_assert (regnum >= 0 && regnum < m_descr->nr_cooked_registers);
-  return xfer_part (regnum, offset, len, buf, NULL, false);
+  return read_part (regnum, offset, len, buf, false);
 }
 
-void
-regcache_cooked_write_part (struct regcache *regcache, int regnum,
-			    int offset, int len, const gdb_byte *buf)
-{
-  regcache->cooked_write_part (regnum, offset, len, buf);
-}
+/* See regcache.h.  */
 
 void
 regcache::cooked_write_part (int regnum, int offset, int len,
 			     const gdb_byte *buf)
 {
   gdb_assert (regnum >= 0 && regnum < m_descr->nr_cooked_registers);
-  xfer_part (regnum, offset, len, NULL, buf, false);
+  write_part (regnum, offset, len, buf, false);
 }
 
-/* Supply register REGNUM, whose contents are stored in BUF, to REGCACHE.  */
-
-void
-regcache_raw_supply (struct regcache *regcache, int regnum, const void *buf)
-{
-  gdb_assert (regcache != NULL);
-  regcache->raw_supply (regnum, buf);
-}
+/* See common/common-regcache.h.  */
 
 void
-regcache::raw_supply (int regnum, const void *buf)
+reg_buffer::raw_supply (int regnum, const void *buf)
 {
   void *regbuf;
   size_t size;
 
   assert_regnum (regnum);
-  gdb_assert (!m_readonly_p);
 
   regbuf = register_buffer (regnum);
   size = m_descr->sizeof_register[regnum];
@@ -1034,22 +998,17 @@ regcache::raw_supply (int regnum, const 
     }
 }
 
-/* Supply register REGNUM to REGCACHE.  Value to supply is an integer stored at
-   address ADDR, in target endian, with length ADDR_LEN and sign IS_SIGNED.  If
-   the register size is greater than ADDR_LEN, then the integer will be sign or
-   zero extended.  If the register size is smaller than the integer, then the
-   most significant bytes of the integer will be truncated.  */
+/* See regcache.h.  */
 
 void
-regcache::raw_supply_integer (int regnum, const gdb_byte *addr, int addr_len,
-			      bool is_signed)
+reg_buffer::raw_supply_integer (int regnum, const gdb_byte *addr,
+				int addr_len, bool is_signed)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (m_descr->gdbarch);
   gdb_byte *regbuf;
   size_t regsize;
 
   assert_regnum (regnum);
-  gdb_assert (!m_readonly_p);
 
   regbuf = register_buffer (regnum);
   regsize = m_descr->sizeof_register[regnum];
@@ -1059,18 +1018,15 @@ regcache::raw_supply_integer (int regnum
   m_register_status[regnum] = REG_VALID;
 }
 
-/* Supply register REGNUM with zeroed value to REGCACHE.  This is not the same
-   as calling raw_supply with NULL (which will set the state to
-   unavailable).  */
+/* See regcache.h.  */
 
 void
-regcache::raw_supply_zeroed (int regnum)
+reg_buffer::raw_supply_zeroed (int regnum)
 {
   void *regbuf;
   size_t size;
 
   assert_regnum (regnum);
-  gdb_assert (!m_readonly_p);
 
   regbuf = register_buffer (regnum);
   size = m_descr->sizeof_register[regnum];
@@ -1079,17 +1035,10 @@ regcache::raw_supply_zeroed (int regnum)
   m_register_status[regnum] = REG_VALID;
 }
 
-/* Collect register REGNUM from REGCACHE and store its contents in BUF.  */
-
-void
-regcache_raw_collect (const struct regcache *regcache, int regnum, void *buf)
-{
-  gdb_assert (regcache != NULL && buf != NULL);
-  regcache->raw_collect (regnum, buf);
-}
+/* See common/common-regcache.h.  */
 
 void
-regcache::raw_collect (int regnum, void *buf) const
+reg_buffer::raw_collect (int regnum, void *buf) const
 {
   const void *regbuf;
   size_t size;
@@ -1102,19 +1051,11 @@ regcache::raw_collect (int regnum, void 
   memcpy (buf, regbuf, size);
 }
 
-/* Transfer a single or all registers belonging to a certain register
-   set to or from a buffer.  This is the main worker function for
-   regcache_supply_regset and regcache_collect_regset.  */
-
-/* Collect register REGNUM from REGCACHE.  Store collected value as an integer
-   at address ADDR, in target endian, with length ADDR_LEN and sign IS_SIGNED.
-   If ADDR_LEN is greater than the register size, then the integer will be sign
-   or zero extended.  If ADDR_LEN is smaller than the register size, then the
-   most significant bytes of the integer will be truncated.  */
+/* See regcache.h.  */
 
 void
-regcache::raw_collect_integer (int regnum, gdb_byte *addr, int addr_len,
-			       bool is_signed) const
+reg_buffer::raw_collect_integer (int regnum, gdb_byte *addr, int addr_len,
+				 bool is_signed) const
 {
   enum bfd_endian byte_order = gdbarch_byte_order (m_descr->gdbarch);
   const gdb_byte *regbuf;
@@ -1129,11 +1070,43 @@ regcache::raw_collect_integer (int regnu
 			byte_order);
 }
 
+/* See regcache.h.  */
+
+void
+regcache::transfer_regset_register (struct regcache *out_regcache, int regnum,
+				    const gdb_byte *in_buf, gdb_byte *out_buf,
+				    int slot_size, int offs) const
+{
+  struct gdbarch *gdbarch = arch ();
+  int reg_size = std::min (register_size (gdbarch, regnum), slot_size);
+
+  /* Use part versions and reg_size to prevent possible buffer overflows when
+     accessing the regcache.  */
+
+  if (out_buf != nullptr)
+    {
+      raw_collect_part (regnum, 0, reg_size, out_buf + offs);
+
+      /* Ensure any additional space is cleared.  */
+      if (slot_size > reg_size)
+	memset (out_buf + offs + reg_size, 0, slot_size - reg_size);
+    }
+  else if (in_buf != nullptr)
+    out_regcache->raw_supply_part (regnum, 0, reg_size, in_buf + offs);
+  else
+    {
+      /* Invalidate the register.  */
+      out_regcache->raw_supply (regnum, nullptr);
+    }
+}
+
+/* See regcache.h.  */
+
 void
 regcache::transfer_regset (const struct regset *regset,
 			   struct regcache *out_regcache,
-			   int regnum, const void *in_buf,
-			   void *out_buf, size_t size) const
+			   int regnum, const gdb_byte *in_buf,
+			   gdb_byte *out_buf, size_t size) const
 {
   const struct regcache_map_entry *map;
   int offs = 0, count;
@@ -1159,12 +1132,8 @@ regcache::transfer_regset (const struct 
 	    if (offs + slot_size > size)
 	      break;
 
-	    if (out_buf)
-	      raw_collect (regno, (gdb_byte *) out_buf + offs);
-	    else
-	      out_regcache->raw_supply (regno, in_buf
-					? (const gdb_byte *) in_buf + offs
-					: NULL);
+	    transfer_regset_register (out_regcache, regno, in_buf, out_buf,
+				      slot_size, offs);
 	  }
       else
 	{
@@ -1173,12 +1142,8 @@ regcache::transfer_regset (const struct 
 	  if (offs + slot_size > size)
 	    return;
 
-	  if (out_buf)
-	    raw_collect (regnum, (gdb_byte *) out_buf + offs);
-	  else
-	    out_regcache->raw_supply (regnum, in_buf
-				      ? (const gdb_byte *) in_buf + offs
-				      : NULL);
+	  transfer_regset_register (out_regcache, regnum, in_buf, out_buf,
+				    slot_size, offs);
 	  return;
 	}
     }
@@ -1193,14 +1158,14 @@ regcache_supply_regset (const struct reg
 			struct regcache *regcache,
 			int regnum, const void *buf, size_t size)
 {
-  regcache->supply_regset (regset, regnum, buf, size);
+  regcache->supply_regset (regset, regnum, (const gdb_byte *) buf, size);
 }
 
 void
 regcache::supply_regset (const struct regset *regset,
 			 int regnum, const void *buf, size_t size)
 {
-  transfer_regset (regset, this, regnum, buf, NULL, size);
+  transfer_regset (regset, this, regnum, (const gdb_byte *) buf, nullptr, size);
 }
 
 /* Collect register REGNUM from REGCACHE to BUF, using the register
@@ -1212,16 +1177,30 @@ regcache_collect_regset (const struct re
 			 const struct regcache *regcache,
 			 int regnum, void *buf, size_t size)
 {
-  regcache->collect_regset (regset, regnum, buf, size);
+  regcache->collect_regset (regset, regnum, (gdb_byte *) buf, size);
 }
 
 void
 regcache::collect_regset (const struct regset *regset,
 			 int regnum, void *buf, size_t size) const
 {
-  transfer_regset (regset, NULL, regnum, NULL, buf, size);
+  transfer_regset (regset, nullptr, regnum, nullptr, (gdb_byte *) buf, size);
 }
 
+/* See common/common-regcache.h.  */
+
+bool
+reg_buffer::raw_compare (int regnum, const void *buf, int offset) const
+{
+  gdb_assert (buf != NULL);
+  assert_regnum (regnum);
+
+  const char *regbuf = (const char *) register_buffer (regnum);
+  size_t size = m_descr->sizeof_register[regnum];
+  gdb_assert (size >= offset);
+
+  return (memcmp (buf, regbuf + offset, size - offset) == 0);
+}
 
 /* Special handling for register PC.  */
 
@@ -1272,7 +1251,7 @@ regcache_write_pc (struct regcache *regc
 }
 
 int
-regcache::num_raw_registers () const
+reg_buffer::num_raw_registers () const
 {
   return gdbarch_num_regs (arch ());
 }
@@ -1322,27 +1301,27 @@ reg_flush_command (const char *command, 
 }
 
 void
-regcache::dump (ui_file *file, enum regcache_dump_what what_to_dump)
+register_dump::dump (ui_file *file)
 {
-  struct gdbarch *gdbarch = m_descr->gdbarch;
+  auto descr = regcache_descr (m_gdbarch);
   int regnum;
   int footnote_nr = 0;
   int footnote_register_offset = 0;
   int footnote_register_type_name_null = 0;
   long register_offset = 0;
 
-  gdb_assert (m_descr->nr_cooked_registers
-	      == (gdbarch_num_regs (gdbarch)
-		  + gdbarch_num_pseudo_regs (gdbarch)));
+  gdb_assert (descr->nr_cooked_registers
+	      == (gdbarch_num_regs (m_gdbarch)
+		  + gdbarch_num_pseudo_regs (m_gdbarch)));
 
-  for (regnum = -1; regnum < m_descr->nr_cooked_registers; regnum++)
+  for (regnum = -1; regnum < descr->nr_cooked_registers; regnum++)
     {
       /* Name.  */
       if (regnum < 0)
 	fprintf_unfiltered (file, " %-10s", "Name");
       else
 	{
-	  const char *p = gdbarch_register_name (gdbarch, regnum);
+	  const char *p = gdbarch_register_name (m_gdbarch, regnum);
 
 	  if (p == NULL)
 	    p = "";
@@ -1360,11 +1339,11 @@ regcache::dump (ui_file *file, enum regc
       /* Relative number.  */
       if (regnum < 0)
 	fprintf_unfiltered (file, " %4s", "Rel");
-      else if (regnum < gdbarch_num_regs (gdbarch))
+      else if (regnum < gdbarch_num_regs (m_gdbarch))
 	fprintf_unfiltered (file, " %4d", regnum);
       else
 	fprintf_unfiltered (file, " %4d",
-			    (regnum - gdbarch_num_regs (gdbarch)));
+			    (regnum - gdbarch_num_regs (m_gdbarch)));
 
       /* Offset.  */
       if (regnum < 0)
@@ -1372,12 +1351,12 @@ regcache::dump (ui_file *file, enum regc
       else
 	{
 	  fprintf_unfiltered (file, " %6ld",
-			      m_descr->register_offset[regnum]);
-	  if (register_offset != m_descr->register_offset[regnum]
+			      descr->register_offset[regnum]);
+	  if (register_offset != descr->register_offset[regnum]
 	      || (regnum > 0
-		  && (m_descr->register_offset[regnum]
-		      != (m_descr->register_offset[regnum - 1]
-			  + m_descr->sizeof_register[regnum - 1])))
+		  && (descr->register_offset[regnum]
+		      != (descr->register_offset[regnum - 1]
+			  + descr->sizeof_register[regnum - 1])))
 	      )
 	    {
 	      if (!footnote_register_offset)
@@ -1386,15 +1365,15 @@ regcache::dump (ui_file *file, enum regc
 	    }
 	  else
 	    fprintf_unfiltered (file, "  ");
-	  register_offset = (m_descr->register_offset[regnum]
-			     + m_descr->sizeof_register[regnum]);
+	  register_offset = (descr->register_offset[regnum]
+			     + descr->sizeof_register[regnum]);
 	}
 
       /* Size.  */
       if (regnum < 0)
 	fprintf_unfiltered (file, " %5s ", "Size");
       else
-	fprintf_unfiltered (file, " %5ld", m_descr->sizeof_register[regnum]);
+	fprintf_unfiltered (file, " %5ld", descr->sizeof_register[regnum]);
 
       /* Type.  */
       {
@@ -1407,7 +1386,7 @@ regcache::dump (ui_file *file, enum regc
 	  {
 	    static const char blt[] = "builtin_type";
 
-	    t = TYPE_NAME (register_type (arch (), regnum));
+	    t = TYPE_NAME (register_type (m_gdbarch, regnum));
 	    if (t == NULL)
 	      {
 		if (!footnote_register_type_name_null)
@@ -1426,114 +1405,7 @@ regcache::dump (ui_file *file, enum regc
       /* Leading space always present.  */
       fprintf_unfiltered (file, " ");
 
-      /* Value, raw.  */
-      if (what_to_dump == regcache_dump_raw)
-	{
-	  if (regnum < 0)
-	    fprintf_unfiltered (file, "Raw value");
-	  else if (regnum >= num_raw_registers ())
-	    fprintf_unfiltered (file, "<cooked>");
-	  else if (get_register_status (regnum) == REG_UNKNOWN)
-	    fprintf_unfiltered (file, "<invalid>");
-	  else if (get_register_status (regnum) == REG_UNAVAILABLE)
-	    fprintf_unfiltered (file, "<unavailable>");
-	  else
-	    {
-	      raw_update (regnum);
-	      print_hex_chars (file, register_buffer (regnum),
-			       m_descr->sizeof_register[regnum],
-			       gdbarch_byte_order (gdbarch), true);
-	    }
-	}
-
-      /* Value, cooked.  */
-      if (what_to_dump == regcache_dump_cooked)
-	{
-	  if (regnum < 0)
-	    fprintf_unfiltered (file, "Cooked value");
-	  else
-	    {
-	      const gdb_byte *buf = NULL;
-	      enum register_status status;
-	      struct value *value = NULL;
-
-	      if (regnum < num_raw_registers ())
-		{
-		  raw_update (regnum);
-		  status = get_register_status (regnum);
-		  buf = register_buffer (regnum);
-		}
-	      else
-		{
-		  value = cooked_read_value (regnum);
-
-		  if (!value_optimized_out (value)
-		      && value_entirely_available (value))
-		    {
-		      status = REG_VALID;
-		      buf = value_contents_all (value);
-		    }
-		  else
-		    status = REG_UNAVAILABLE;
-		}
-
-	      if (status == REG_UNKNOWN)
-		fprintf_unfiltered (file, "<invalid>");
-	      else if (status == REG_UNAVAILABLE)
-		fprintf_unfiltered (file, "<unavailable>");
-	      else
-		print_hex_chars (file, buf,
-				 m_descr->sizeof_register[regnum],
-				 gdbarch_byte_order (gdbarch), true);
-
-	      if (value != NULL)
-		{
-		  release_value (value);
-		  value_free (value);
-		}
-	    }
-	}
-
-      /* Group members.  */
-      if (what_to_dump == regcache_dump_groups)
-	{
-	  if (regnum < 0)
-	    fprintf_unfiltered (file, "Groups");
-	  else
-	    {
-	      const char *sep = "";
-	      struct reggroup *group;
-
-	      for (group = reggroup_next (gdbarch, NULL);
-		   group != NULL;
-		   group = reggroup_next (gdbarch, group))
-		{
-		  if (gdbarch_register_reggroup_p (gdbarch, regnum, group))
-		    {
-		      fprintf_unfiltered (file,
-					  "%s%s", sep, reggroup_name (group));
-		      sep = ",";
-		    }
-		}
-	    }
-	}
-
-      /* Remote packet configuration.  */
-      if (what_to_dump == regcache_dump_remote)
-	{
-	  if (regnum < 0)
-	    {
-	      fprintf_unfiltered (file, "Rmt Nr  g/G Offset");
-	    }
-	  else if (regnum < num_raw_registers ())
-	    {
-	      int pnum, poffset;
-
-	      if (remote_register_number_and_offset (arch (), regnum,
-						     &pnum, &poffset))
-		fprintf_unfiltered (file, "%7d %11d", pnum, poffset);
-	    }
-	}
+      dump_reg (file, regnum);
 
       fprintf_unfiltered (file, "\n");
     }
@@ -1542,73 +1414,16 @@ regcache::dump (ui_file *file, enum regc
     fprintf_unfiltered (file, "*%d: Inconsistent register offsets.\n",
 			footnote_register_offset);
   if (footnote_register_type_name_null)
-    fprintf_unfiltered (file, 
+    fprintf_unfiltered (file,
 			"*%d: Register type's name NULL.\n",
 			footnote_register_type_name_null);
 }
 
-static void
-regcache_print (const char *args, enum regcache_dump_what what_to_dump)
-{
-  /* Where to send output.  */
-  stdio_file file;
-  ui_file *out;
-
-  if (args == NULL)
-    out = gdb_stdout;
-  else
-    {
-      if (!file.open (args, "w"))
-	perror_with_name (_("maintenance print architecture"));
-      out = &file;
-    }
-
-  if (target_has_registers)
-    get_current_regcache ()->dump (out, what_to_dump);
-  else
-    {
-      /* For the benefit of "maint print registers" & co when
-	 debugging an executable, allow dumping a regcache even when
-	 there is no thread selected / no registers.  */
-      regcache dummy_regs (target_gdbarch ());
-      dummy_regs.dump (out, what_to_dump);
-    }
-}
-
-static void
-maintenance_print_registers (const char *args, int from_tty)
-{
-  regcache_print (args, regcache_dump_none);
-}
-
-static void
-maintenance_print_raw_registers (const char *args, int from_tty)
-{
-  regcache_print (args, regcache_dump_raw);
-}
-
-static void
-maintenance_print_cooked_registers (const char *args, int from_tty)
-{
-  regcache_print (args, regcache_dump_cooked);
-}
-
-static void
-maintenance_print_register_groups (const char *args, int from_tty)
-{
-  regcache_print (args, regcache_dump_groups);
-}
-
-static void
-maintenance_print_remote_registers (const char *args, int from_tty)
-{
-  regcache_print (args, regcache_dump_remote);
-}
-
 #if GDB_SELF_TEST
 #include "selftest.h"
 #include "selftest-arch.h"
 #include "gdbthread.h"
+#include "target-float.h"
 
 namespace selftests {
 
@@ -1677,30 +1492,12 @@ current_regcache_test (void)
   SELF_CHECK (regcache_access::current_regcache_size () == 2);
 }
 
-static void test_target_fetch_registers (target_ops *self, regcache *regs,
-					 int regno);
-static void test_target_store_registers (target_ops *self, regcache *regs,
-					 int regno);
-static enum target_xfer_status
-  test_target_xfer_partial (struct target_ops *ops,
-			    enum target_object object,
-			    const char *annex, gdb_byte *readbuf,
-			    const gdb_byte *writebuf,
-			    ULONGEST offset, ULONGEST len,
-			    ULONGEST *xfered_len);
-
 class target_ops_no_register : public test_target_ops
 {
 public:
   target_ops_no_register ()
     : test_target_ops {}
-  {
-    to_fetch_registers = test_target_fetch_registers;
-    to_store_registers = test_target_store_registers;
-    to_xfer_partial = test_target_xfer_partial;
-
-    to_data = this;
-  }
+  {}
 
   void reset ()
   {
@@ -1709,38 +1506,42 @@ public:
     xfer_partial_called = 0;
   }
 
+  void fetch_registers (regcache *regs, int regno) override;
+  void store_registers (regcache *regs, int regno) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex, gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
   unsigned int fetch_registers_called = 0;
   unsigned int store_registers_called = 0;
   unsigned int xfer_partial_called = 0;
 };
 
-static void
-test_target_fetch_registers (target_ops *self, regcache *regs, int regno)
+void
+target_ops_no_register::fetch_registers (regcache *regs, int regno)
 {
-  auto ops = static_cast<target_ops_no_register *> (self->to_data);
-
   /* Mark register available.  */
   regs->raw_supply_zeroed (regno);
-  ops->fetch_registers_called++;
+  this->fetch_registers_called++;
 }
 
-static void
-test_target_store_registers (target_ops *self, regcache *regs, int regno)
+void
+target_ops_no_register::store_registers (regcache *regs, int regno)
 {
-  auto ops = static_cast<target_ops_no_register *> (self->to_data);
-
-  ops->store_registers_called++;
+  this->store_registers_called++;
 }
 
-static enum target_xfer_status
-test_target_xfer_partial (struct target_ops *self, enum target_object object,
-			  const char *annex, gdb_byte *readbuf,
-			  const gdb_byte *writebuf,
-			  ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+target_ops_no_register::xfer_partial (enum target_object object,
+				      const char *annex, gdb_byte *readbuf,
+				      const gdb_byte *writebuf,
+				      ULONGEST offset, ULONGEST len,
+				      ULONGEST *xfered_len)
 {
-  auto ops = static_cast<target_ops_no_register *> (self->to_data);
-
-  ops->xfer_partial_called++;
+  this->xfer_partial_called++;
 
   *xfered_len = len;
   return TARGET_XFER_OK;
@@ -1750,7 +1551,7 @@ class readwrite_regcache : public regcac
 {
 public:
   readwrite_regcache (struct gdbarch *gdbarch)
-    : regcache (gdbarch, nullptr, false)
+    : regcache (gdbarch, nullptr)
   {}
 };
 
@@ -1762,7 +1563,7 @@ cooked_read_test (struct gdbarch *gdbarc
 {
   /* Error out if debugging something, because we're going to push the
      test target, which would pop any existing target.  */
-  if (current_target.to_stratum >= process_stratum)
+  if (current_top_target ()->to_stratum >= process_stratum)
     error (_("target already pushed"));
 
   /* Create a mock environment.  An inferior with a thread, with a
@@ -1845,15 +1646,8 @@ cooked_read_test (struct gdbarch *gdbarc
 
       SELF_CHECK (REG_VALID == readwrite.cooked_read (regnum, buf.data ()));
 
-      if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_mt)
-	{
-	  /* MT pseudo registers are banked, and different banks are
-	     selected by a raw registers, so GDB needs to write to
-	     that raw register to get different banked pseudo registers.
-	     See mt_select_coprocessor.  */
-	  SELF_CHECK (mock_target.fetch_registers_called == 0);
-	  SELF_CHECK (mock_target.store_registers_called == 0);
-	}
+      SELF_CHECK (mock_target.fetch_registers_called == 0);
+      SELF_CHECK (mock_target.store_registers_called == 0);
 
       /* Some SPU pseudo registers are got via TARGET_OBJECT_SPU.  */
       if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
@@ -1862,7 +1656,7 @@ cooked_read_test (struct gdbarch *gdbarc
       mock_target.reset ();
     }
 
-  regcache readonly (regcache::readonly, readwrite);
+  readonly_detached_regcache readonly (readwrite);
 
   /* GDB may go to target layer to fetch all registers and memory for
      readonly regcache.  */
@@ -1872,12 +1666,6 @@ cooked_read_test (struct gdbarch *gdbarc
        regnum < gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch);
        regnum++)
     {
-      if (gdbarch_bfd_arch_info (gdbarch)->arch == bfd_arch_mt)
-	{
-	  /* Trigger an internal error otherwise.  */
-	  continue;
-	}
-
       if (register_size (gdbarch, regnum) == 0)
 	continue;
 
@@ -1895,7 +1683,8 @@ cooked_read_test (struct gdbarch *gdbarc
 	      || bfd_arch == bfd_arch_msp430 || bfd_arch == bfd_arch_mep
 	      || bfd_arch == bfd_arch_mips || bfd_arch == bfd_arch_v850_rh850
 	      || bfd_arch == bfd_arch_tic6x || bfd_arch == bfd_arch_mn10300
-	      || bfd_arch == bfd_arch_rl78 || bfd_arch == bfd_arch_score)
+	      || bfd_arch == bfd_arch_rl78 || bfd_arch == bfd_arch_score
+	      || bfd_arch == bfd_arch_riscv)
 	    {
 	      /* Raw registers.  If raw registers are not in save_reggroup,
 		 their status are unknown.  */
@@ -1939,6 +1728,123 @@ cooked_read_test (struct gdbarch *gdbarc
     }
 }
 
+/* Test regcache::cooked_write by writing some expected contents to
+   registers, and checking that contents read from registers and the
+   expected contents are the same.  */
+
+static void
+cooked_write_test (struct gdbarch *gdbarch)
+{
+  /* Error out if debugging something, because we're going to push the
+     test target, which would pop any existing target.  */
+  if (current_top_target ()->to_stratum >= process_stratum)
+    error (_("target already pushed"));
+
+  /* Create a mock environment.  A process_stratum target pushed.  */
+
+  target_ops_no_register mock_target;
+
+  /* Push the process_stratum target so we can mock accessing
+     registers.  */
+  push_target (&mock_target);
+
+  /* Pop it again on exit (return/exception).  */
+  struct on_exit
+  {
+    ~on_exit ()
+    {
+      pop_all_targets_at_and_above (process_stratum);
+    }
+  } pop_targets;
+
+  readwrite_regcache readwrite (gdbarch);
+
+  const int num_regs = (gdbarch_num_regs (gdbarch)
+			+ gdbarch_num_pseudo_regs (gdbarch));
+
+  for (auto regnum = 0; regnum < num_regs; regnum++)
+    {
+      if (register_size (gdbarch, regnum) == 0
+	  || gdbarch_cannot_store_register (gdbarch, regnum))
+	continue;
+
+      auto bfd_arch = gdbarch_bfd_arch_info (gdbarch)->arch;
+
+      if ((bfd_arch == bfd_arch_sparc
+	   /* SPARC64_CWP_REGNUM, SPARC64_PSTATE_REGNUM,
+	      SPARC64_ASI_REGNUM and SPARC64_CCR_REGNUM are hard to test.  */
+	   && gdbarch_ptr_bit (gdbarch) == 64
+	   && (regnum >= gdbarch_num_regs (gdbarch)
+	       && regnum <= gdbarch_num_regs (gdbarch) + 4))
+	  || (bfd_arch == bfd_arch_spu
+	      /* SPU pseudo registers except SPU_SP_REGNUM are got by
+		 TARGET_OBJECT_SPU.  */
+	      && regnum >= gdbarch_num_regs (gdbarch) && regnum != 130))
+	continue;
+
+      std::vector<gdb_byte> expected (register_size (gdbarch, regnum), 0);
+      std::vector<gdb_byte> buf (register_size (gdbarch, regnum), 0);
+      const auto type = register_type (gdbarch, regnum);
+
+      if (TYPE_CODE (type) == TYPE_CODE_FLT
+	  || TYPE_CODE (type) == TYPE_CODE_DECFLOAT)
+	{
+	  /* Generate valid float format.  */
+	  target_float_from_string (expected.data (), type, "1.25");
+	}
+      else if (TYPE_CODE (type) == TYPE_CODE_INT
+	       || TYPE_CODE (type) == TYPE_CODE_ARRAY
+	       || TYPE_CODE (type) == TYPE_CODE_PTR
+	       || TYPE_CODE (type) == TYPE_CODE_UNION
+	       || TYPE_CODE (type) == TYPE_CODE_STRUCT)
+	{
+	  if (bfd_arch == bfd_arch_ia64
+	      || (regnum >= gdbarch_num_regs (gdbarch)
+		  && (bfd_arch == bfd_arch_xtensa
+		      || bfd_arch == bfd_arch_bfin
+		      || bfd_arch == bfd_arch_m32c
+		      /* m68hc11 pseudo registers are in memory.  */
+		      || bfd_arch == bfd_arch_m68hc11
+		      || bfd_arch == bfd_arch_m68hc12
+		      || bfd_arch == bfd_arch_s390))
+	      || (bfd_arch == bfd_arch_frv
+		  /* FRV pseudo registers except iacc0.  */
+		  && regnum > gdbarch_num_regs (gdbarch)))
+	    {
+	      /* Skip setting the expected values for some architecture
+		 registers.  */
+	    }
+	  else if (bfd_arch == bfd_arch_rl78 && regnum == 40)
+	    {
+	      /* RL78_PC_REGNUM */
+	      for (auto j = 0; j < register_size (gdbarch, regnum) - 1; j++)
+		expected[j] = j;
+	    }
+	  else
+	    {
+	      for (auto j = 0; j < register_size (gdbarch, regnum); j++)
+		expected[j] = j;
+	    }
+	}
+      else if (TYPE_CODE (type) == TYPE_CODE_FLAGS)
+	{
+	  /* No idea how to test flags.  */
+	  continue;
+	}
+      else
+	{
+	  /* If we don't know how to create the expected value for the
+	     this type, make it fail.  */
+	  SELF_CHECK (0);
+	}
+
+      readwrite.cooked_write (regnum, expected.data ());
+
+      SELF_CHECK (readwrite.cooked_read (regnum, buf.data ()) == REG_VALID);
+      SELF_CHECK (expected == buf);
+    }
+}
+
 } // namespace selftests
 #endif /* GDB_SELF_TEST */
 
@@ -1948,42 +1854,19 @@ _initialize_regcache (void)
   regcache_descr_handle
     = gdbarch_data_register_post_init (init_regcache_descr);
 
-  observer_attach_target_changed (regcache_observer_target_changed);
-  observer_attach_thread_ptid_changed (regcache::regcache_thread_ptid_changed);
+  gdb::observers::target_changed.attach (regcache_observer_target_changed);
+  gdb::observers::thread_ptid_changed.attach
+    (regcache::regcache_thread_ptid_changed);
 
   add_com ("flushregs", class_maintenance, reg_flush_command,
 	   _("Force gdb to flush its register cache (maintainer command)"));
 
-  add_cmd ("registers", class_maintenance, maintenance_print_registers,
-	   _("Print the internal register configuration.\n"
-	     "Takes an optional file parameter."), &maintenanceprintlist);
-  add_cmd ("raw-registers", class_maintenance,
-	   maintenance_print_raw_registers,
-	   _("Print the internal register configuration "
-	     "including raw values.\n"
-	     "Takes an optional file parameter."), &maintenanceprintlist);
-  add_cmd ("cooked-registers", class_maintenance,
-	   maintenance_print_cooked_registers,
-	   _("Print the internal register configuration "
-	     "including cooked values.\n"
-	     "Takes an optional file parameter."), &maintenanceprintlist);
-  add_cmd ("register-groups", class_maintenance,
-	   maintenance_print_register_groups,
-	   _("Print the internal register configuration "
-	     "including each register's group.\n"
-	     "Takes an optional file parameter."),
-	   &maintenanceprintlist);
-  add_cmd ("remote-registers", class_maintenance,
-	   maintenance_print_remote_registers, _("\
-Print the internal register configuration including each register's\n\
-remote register number and buffer offset in the g/G packets.\n\
-Takes an optional file parameter."),
-	   &maintenanceprintlist);
-
 #if GDB_SELF_TEST
   selftests::register_test ("current_regcache", selftests::current_regcache_test);
 
   selftests::register_test_foreach_arch ("regcache::cooked_read_test",
 					 selftests::cooked_read_test);
+  selftests::register_test_foreach_arch ("regcache::cooked_write_test",
+					 selftests::cooked_write_test);
 #endif
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regcache-dump.c ./gdb/regcache-dump.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regcache-dump.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/regcache-dump.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,335 @@
+/* Copyright (C) 1986-2017 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "gdbcmd.h"
+#include "regcache.h"
+#include "common/def-vector.h"
+#include "valprint.h"
+#include "remote.h"
+#include "reggroups.h"
+#include "target.h"
+
+/* Dump registers from regcache, used for dumping raw registers and
+   cooked registers.  */
+
+class register_dump_regcache : public register_dump
+{
+public:
+  register_dump_regcache (regcache *regcache, bool dump_pseudo)
+    : register_dump (regcache->arch ()), m_regcache (regcache),
+      m_dump_pseudo (dump_pseudo)
+  {
+  }
+
+protected:
+  void dump_reg (ui_file *file, int regnum) override
+  {
+    if (regnum < 0)
+      {
+	if (m_dump_pseudo)
+	  fprintf_unfiltered (file, "Cooked value");
+	else
+	  fprintf_unfiltered (file, "Raw value");
+      }
+    else
+      {
+	if (regnum < gdbarch_num_regs (m_gdbarch) || m_dump_pseudo)
+	  {
+	    auto size = register_size (m_gdbarch, regnum);
+
+	    if (size == 0)
+	      return;
+
+	    gdb::def_vector<gdb_byte> buf (size);
+	    auto status = m_regcache->cooked_read (regnum, buf.data ());
+
+	    if (status == REG_UNKNOWN)
+	      fprintf_unfiltered (file, "<invalid>");
+	    else if (status == REG_UNAVAILABLE)
+	      fprintf_unfiltered (file, "<unavailable>");
+	    else
+	      {
+		print_hex_chars (file, buf.data (), size,
+				 gdbarch_byte_order (m_gdbarch), true);
+	      }
+	  }
+	else
+	  {
+	    /* Just print "<cooked>" for pseudo register when
+	       regcache_dump_raw.  */
+	    fprintf_unfiltered (file, "<cooked>");
+	  }
+      }
+  }
+
+private:
+  regcache *m_regcache;
+
+  /* Dump pseudo registers or not.  */
+  const bool m_dump_pseudo;
+};
+
+/* Dump from reg_buffer, used when there is no thread or
+   registers.  */
+
+class register_dump_reg_buffer : public register_dump, reg_buffer
+{
+public:
+  register_dump_reg_buffer (gdbarch *gdbarch, bool dump_pseudo)
+    : register_dump (gdbarch), reg_buffer (gdbarch, dump_pseudo)
+  {
+  }
+
+protected:
+  void dump_reg (ui_file *file, int regnum) override
+  {
+    if (regnum < 0)
+      {
+	if (m_has_pseudo)
+	  fprintf_unfiltered (file, "Cooked value");
+	else
+	  fprintf_unfiltered (file, "Raw value");
+      }
+    else
+      {
+	if (regnum < gdbarch_num_regs (m_gdbarch) || m_has_pseudo)
+	  {
+	    auto size = register_size (m_gdbarch, regnum);
+
+	    if (size == 0)
+	      return;
+
+	    auto status = get_register_status (regnum);
+
+	    gdb_assert (status != REG_VALID);
+
+	    if (status == REG_UNKNOWN)
+	      fprintf_unfiltered (file, "<invalid>");
+	    else
+	      fprintf_unfiltered (file, "<unavailable>");
+	  }
+	else
+	  {
+	    /* Just print "<cooked>" for pseudo register when
+	       regcache_dump_raw.  */
+	    fprintf_unfiltered (file, "<cooked>");
+	  }
+      }
+  }
+};
+
+/* For "maint print registers".  */
+
+class register_dump_none : public register_dump
+{
+public:
+  register_dump_none (gdbarch *arch)
+    : register_dump (arch)
+  {}
+
+protected:
+  void dump_reg (ui_file *file, int regnum) override
+  {}
+};
+
+/* For "maint print remote-registers".  */
+
+class register_dump_remote : public register_dump
+{
+public:
+  register_dump_remote (gdbarch *arch)
+    : register_dump (arch)
+  {}
+
+protected:
+  void dump_reg (ui_file *file, int regnum) override
+  {
+    if (regnum < 0)
+      {
+	fprintf_unfiltered (file, "Rmt Nr  g/G Offset");
+      }
+    else if (regnum < gdbarch_num_regs (m_gdbarch))
+      {
+	int pnum, poffset;
+
+	if (remote_register_number_and_offset (m_gdbarch, regnum,
+					       &pnum, &poffset))
+	  fprintf_unfiltered (file, "%7d %11d", pnum, poffset);
+      }
+  }
+};
+
+/* For "maint print register-groups".  */
+
+class register_dump_groups : public register_dump
+{
+public:
+  register_dump_groups (gdbarch *arch)
+    : register_dump (arch)
+  {}
+
+protected:
+  void dump_reg (ui_file *file, int regnum) override
+  {
+    if (regnum < 0)
+      fprintf_unfiltered (file, "Groups");
+    else
+      {
+	const char *sep = "";
+	struct reggroup *group;
+
+	for (group = reggroup_next (m_gdbarch, NULL);
+	     group != NULL;
+	     group = reggroup_next (m_gdbarch, group))
+	  {
+	    if (gdbarch_register_reggroup_p (m_gdbarch, regnum, group))
+	      {
+		fprintf_unfiltered (file,
+				    "%s%s", sep, reggroup_name (group));
+		sep = ",";
+	      }
+	  }
+      }
+  }
+};
+
+enum regcache_dump_what
+{
+  regcache_dump_none, regcache_dump_raw,
+  regcache_dump_cooked, regcache_dump_groups,
+  regcache_dump_remote
+};
+
+static void
+regcache_print (const char *args, enum regcache_dump_what what_to_dump)
+{
+  /* Where to send output.  */
+  stdio_file file;
+  ui_file *out;
+
+  if (args == NULL)
+    out = gdb_stdout;
+  else
+    {
+      if (!file.open (args, "w"))
+	perror_with_name (_("maintenance print architecture"));
+      out = &file;
+    }
+
+  std::unique_ptr<register_dump> dump;
+  std::unique_ptr<regcache> regs;
+  gdbarch *gdbarch;
+
+  if (target_has_registers)
+    gdbarch = get_current_regcache ()->arch ();
+  else
+    gdbarch = target_gdbarch ();
+
+  switch (what_to_dump)
+    {
+    case regcache_dump_none:
+      dump.reset (new register_dump_none (gdbarch));
+      break;
+    case regcache_dump_remote:
+      dump.reset (new register_dump_remote (gdbarch));
+      break;
+    case regcache_dump_groups:
+      dump.reset (new register_dump_groups (gdbarch));
+      break;
+    case regcache_dump_raw:
+    case regcache_dump_cooked:
+      {
+	auto dump_pseudo = (what_to_dump == regcache_dump_cooked);
+
+	if (target_has_registers)
+	  dump.reset (new register_dump_regcache (get_current_regcache (),
+						  dump_pseudo));
+	else
+	  {
+	    /* For the benefit of "maint print registers" & co when
+	       debugging an executable, allow dumping a regcache even when
+	       there is no thread selected / no registers.  */
+	    dump.reset (new register_dump_reg_buffer (target_gdbarch (),
+						      dump_pseudo));
+	  }
+      }
+      break;
+    }
+
+  dump->dump (out);
+}
+
+static void
+maintenance_print_registers (const char *args, int from_tty)
+{
+  regcache_print (args, regcache_dump_none);
+}
+
+static void
+maintenance_print_raw_registers (const char *args, int from_tty)
+{
+  regcache_print (args, regcache_dump_raw);
+}
+
+static void
+maintenance_print_cooked_registers (const char *args, int from_tty)
+{
+  regcache_print (args, regcache_dump_cooked);
+}
+
+static void
+maintenance_print_register_groups (const char *args, int from_tty)
+{
+  regcache_print (args, regcache_dump_groups);
+}
+
+static void
+maintenance_print_remote_registers (const char *args, int from_tty)
+{
+  regcache_print (args, regcache_dump_remote);
+}
+
+void
+_initialize_regcache_dump (void)
+{
+  add_cmd ("registers", class_maintenance, maintenance_print_registers,
+	   _("Print the internal register configuration.\n"
+	     "Takes an optional file parameter."), &maintenanceprintlist);
+  add_cmd ("raw-registers", class_maintenance,
+	   maintenance_print_raw_registers,
+	   _("Print the internal register configuration "
+	     "including raw values.\n"
+	     "Takes an optional file parameter."), &maintenanceprintlist);
+  add_cmd ("cooked-registers", class_maintenance,
+	   maintenance_print_cooked_registers,
+	   _("Print the internal register configuration "
+	     "including cooked values.\n"
+	     "Takes an optional file parameter."), &maintenanceprintlist);
+  add_cmd ("register-groups", class_maintenance,
+	   maintenance_print_register_groups,
+	   _("Print the internal register configuration "
+	     "including each register's group.\n"
+	     "Takes an optional file parameter."),
+	   &maintenanceprintlist);
+  add_cmd ("remote-registers", class_maintenance,
+	   maintenance_print_remote_registers, _("\
+Print the internal register configuration including each register's\n\
+remote register number and buffer offset in the g/G packets.\n\
+Takes an optional file parameter."),
+	   &maintenanceprintlist);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regcache.h ./gdb/regcache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regcache.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regcache.h	2018-07-10 02:06:13.000000000 +0000
@@ -30,29 +30,15 @@ struct address_space;
 
 extern struct regcache *get_current_regcache (void);
 extern struct regcache *get_thread_regcache (ptid_t ptid);
+
+/* Get the regcache of THREAD.  */
+extern struct regcache *get_thread_regcache (thread_info *thread);
+
 extern struct regcache *get_thread_arch_regcache (ptid_t, struct gdbarch *);
 extern struct regcache *get_thread_arch_aspace_regcache (ptid_t,
 							 struct gdbarch *,
 							 struct address_space *);
 
-/* Return REGCACHE's ptid.  */
-
-extern ptid_t regcache_get_ptid (const struct regcache *regcache);
-
-enum register_status regcache_register_status (const struct regcache *regcache,
-					       int regnum);
-
-/* Make certain that the register REGNUM in REGCACHE is up-to-date.  */
-
-void regcache_raw_update (struct regcache *regcache, int regnum);
-
-/* Transfer a raw register [0..NUM_REGS) between core-gdb and the
-   regcache.  The read variants return the status of the register.  */
-
-enum register_status regcache_raw_read (struct regcache *regcache,
-					int rawnum, gdb_byte *buf);
-void regcache_raw_write (struct regcache *regcache, int rawnum,
-			 const gdb_byte *buf);
 extern enum register_status
   regcache_raw_read_signed (struct regcache *regcache,
 			    int regnum, LONGEST *val);
@@ -68,43 +54,6 @@ extern void regcache_raw_write_unsigned 
 extern LONGEST regcache_raw_get_signed (struct regcache *regcache,
 					int regnum);
 
-/* Set a raw register's value in the regcache's buffer.  Unlike
-   regcache_raw_write, this is not write-through.  The intention is
-   allowing to change the buffer contents of a read-only regcache
-   allocated with new.  */
-
-extern void regcache_raw_set_cached_value
-  (struct regcache *regcache, int regnum, const gdb_byte *buf);
-
-/* Partial transfer of raw registers.  These perform read, modify,
-   write style operations.  The read variant returns the status of the
-   register.  */
-
-extern enum register_status
-  regcache_raw_read_part (struct regcache *regcache, int regnum,
-			  int offset, int len, gdb_byte *buf);
-void regcache_raw_write_part (struct regcache *regcache, int regnum,
-			      int offset, int len, const gdb_byte *buf);
-
-void regcache_invalidate (struct regcache *regcache, int regnum);
-
-/* Transfer of pseudo-registers.  The read variants return a register
-   status, as an indication of when a ``cooked'' register was
-   constructed from valid, invalid or unavailable ``raw''
-   registers.  */
-
-/* Transfer a cooked register [0..NUM_REGS+NUM_PSEUDO_REGS).  */
-enum register_status regcache_cooked_read (struct regcache *regcache,
-					   int rawnum, gdb_byte *buf);
-void regcache_cooked_write (struct regcache *regcache, int rawnum,
-			    const gdb_byte *buf);
-
-/* Read register REGNUM from REGCACHE and return a new value.  This
-   will call mark_value_bytes_unavailable as appropriate.  */
-
-struct value *regcache_cooked_read_value (struct regcache *regcache,
-					  int regnum);
-
 /* Read a register as a signed/unsigned quantity.  */
 extern enum register_status
   regcache_cooked_read_signed (struct regcache *regcache,
@@ -117,29 +66,11 @@ extern void regcache_cooked_write_signed
 extern void regcache_cooked_write_unsigned (struct regcache *regcache,
 					    int regnum, ULONGEST val);
 
-/* Partial transfer of a cooked register.  These perform read, modify,
-   write style operations.  */
-
-enum register_status regcache_cooked_read_part (struct regcache *regcache,
-						int regnum, int offset,
-						int len, gdb_byte *buf);
-void regcache_cooked_write_part (struct regcache *regcache, int regnum,
-				 int offset, int len, const gdb_byte *buf);
-
 /* Special routines to read/write the PC.  */
 
 /* For regcache_read_pc see common/common-regcache.h.  */
 extern void regcache_write_pc (struct regcache *regcache, CORE_ADDR pc);
 
-/* Transfer a raw register [0..NUM_REGS) between the regcache and the
-   target.  These functions are called by the target in response to a
-   target_fetch_registers() or target_store_registers().  */
-
-extern void regcache_raw_supply (struct regcache *regcache,
-				 int regnum, const void *buf);
-extern void regcache_raw_collect (const struct regcache *regcache,
-				  int regnum, void *buf);
-
 /* Mapping between register numbers and offsets in a buffer, for use
    in the '*regset' functions below.  In an array of
    'regcache_map_entry' each element is interpreted like follows:
@@ -198,26 +129,8 @@ extern struct type *register_type (struc
    
 extern int register_size (struct gdbarch *gdbarch, int regnum);
 
-
-/* Save/restore a register cache.  The set of registers saved /
-   restored into the DST regcache determined by the save_reggroup /
-   restore_reggroup respectively.  COOKED_READ returns zero iff the
-   register's value can't be returned.  */
-
-typedef enum register_status (regcache_cooked_read_ftype) (void *src,
-							   int regnum,
-							   gdb_byte *buf);
-
-extern void regcache_save (struct regcache *dst,
-			   regcache_cooked_read_ftype *cooked_read,
-			   void *cooked_read_context);
-
-enum regcache_dump_what
-{
-  regcache_dump_none, regcache_dump_raw,
-  regcache_dump_cooked, regcache_dump_groups,
-  regcache_dump_remote
-};
+typedef gdb::function_view<register_status (int regnum, gdb_byte *buf)>
+  register_read_ftype;
 
 /* A (register_number, register_value) pair.  */
 
@@ -227,89 +140,196 @@ typedef struct cached_reg
   gdb_byte *data;
 } cached_reg_t;
 
-/* The register cache for storing raw register values.  */
+/* Buffer of registers.  */
 
-class regcache
+class reg_buffer : public reg_buffer_common
 {
 public:
-  regcache (gdbarch *gdbarch)
-    : regcache (gdbarch, nullptr, true)
-  {}
+  reg_buffer (gdbarch *gdbarch, bool has_pseudo);
 
-  struct readonly_t {};
-  static constexpr readonly_t readonly {};
+  DISABLE_COPY_AND_ASSIGN (reg_buffer);
 
-  /* Create a readonly regcache from a non-readonly regcache.  */
-  regcache (readonly_t, const regcache &src);
+  /* Return regcache's architecture.  */
+  gdbarch *arch () const;
 
-  DISABLE_COPY_AND_ASSIGN (regcache);
+  /* See common/common-regcache.h.  */
+  enum register_status get_register_status (int regnum) const override;
 
-  ~regcache ()
-  {
-    xfree (m_registers);
-    xfree (m_register_status);
-  }
+  /* See common/common-regcache.h.  */
+  void raw_collect (int regnum, void *buf) const override;
 
-  /* Return regcache's architecture.  */
-  gdbarch *arch () const;
+  /* Collect register REGNUM from REGCACHE.  Store collected value as an integer
+     at address ADDR, in target endian, with length ADDR_LEN and sign IS_SIGNED.
+     If ADDR_LEN is greater than the register size, then the integer will be
+     sign or zero extended.  If ADDR_LEN is smaller than the register size, then
+     the most significant bytes of the integer will be truncated.  */
+  void raw_collect_integer (int regnum, gdb_byte *addr, int addr_len,
+			    bool is_signed) const;
 
-  /* Return REGCACHE's address space.  */
-  const address_space *aspace () const
+  /* Collect register REGNUM from REGCACHE, starting at OFFSET in register,
+     reading only LEN.  */
+  void raw_collect_part (int regnum, int offset, int len, gdb_byte *out) const;
+
+  /* See common/common-regcache.h.  */
+  void raw_supply (int regnum, const void *buf) override;
+
+  void raw_supply (int regnum, const reg_buffer &src)
   {
-    return m_aspace;
+    raw_supply (regnum, src.register_buffer (regnum));
   }
 
-  void save (regcache_cooked_read_ftype *cooked_read, void *src);
+  /* Supply register REGNUM to REGCACHE.  Value to supply is an integer stored
+     at address ADDR, in target endian, with length ADDR_LEN and sign IS_SIGNED.
+     If the register size is greater than ADDR_LEN, then the integer will be
+     sign or zero extended.  If the register size is smaller than the integer,
+     then the most significant bytes of the integer will be truncated.  */
+  void raw_supply_integer (int regnum, const gdb_byte *addr, int addr_len,
+			   bool is_signed);
 
-  enum register_status cooked_read (int regnum, gdb_byte *buf);
-  void cooked_write (int regnum, const gdb_byte *buf);
+  /* Supply register REGNUM with zeroed value to REGCACHE.  This is not the same
+     as calling raw_supply with NULL (which will set the state to
+     unavailable).  */
+  void raw_supply_zeroed (int regnum);
 
-  enum register_status raw_read (int regnum, gdb_byte *buf);
+  /* Supply register REGNUM to REGCACHE, starting at OFFSET in register, writing
+     only LEN, without editing the rest of the register.  */
+  void raw_supply_part (int regnum, int offset, int len, const gdb_byte *in);
 
-  void raw_write (int regnum, const gdb_byte *buf);
+  void invalidate (int regnum);
+
+  virtual ~reg_buffer () = default;
+
+  /* See common/common-regcache.h.  */
+  bool raw_compare (int regnum, const void *buf, int offset) const override;
+
+protected:
+  /* Assert on the range of REGNUM.  */
+  void assert_regnum (int regnum) const;
+
+  int num_raw_registers () const;
+
+  gdb_byte *register_buffer (int regnum) const;
+
+  /* Save a register cache.  The set of registers saved into the
+     regcache determined by the save_reggroup.  COOKED_READ returns
+     zero iff the register's value can't be returned.  */
+  void save (register_read_ftype cooked_read);
+
+  struct regcache_descr *m_descr;
+
+  bool m_has_pseudo;
+  /* The register buffers.  */
+  std::unique_ptr<gdb_byte[]> m_registers;
+  /* Register cache status.  */
+  std::unique_ptr<register_status[]> m_register_status;
+
+  friend class regcache;
+  friend class detached_regcache;
+};
+
+/* An abstract class which only has methods doing read.  */
+
+class readable_regcache : public reg_buffer
+{
+public:
+  readable_regcache (gdbarch *gdbarch, bool has_pseudo)
+    : reg_buffer (gdbarch, has_pseudo)
+  {}
 
+  /* Transfer a raw register [0..NUM_REGS) from core-gdb to this regcache,
+     return its value in *BUF and return its availability status.  */
+
+  enum register_status raw_read (int regnum, gdb_byte *buf);
   template<typename T, typename = RequireLongest<T>>
   enum register_status raw_read (int regnum, T *val);
 
-  template<typename T, typename = RequireLongest<T>>
-  void raw_write (int regnum, T val);
+  /* Partial transfer of raw registers.  Return the status of the register.  */
+  enum register_status raw_read_part (int regnum, int offset, int len,
+				      gdb_byte *buf);
 
-  struct value *cooked_read_value (int regnum);
+  /* Make certain that the register REGNUM is up-to-date.  */
+  virtual void raw_update (int regnum) = 0;
 
+  /* Transfer a raw register [0..NUM_REGS+NUM_PSEUDO_REGS) from core-gdb to
+     this regcache, return its value in *BUF and return its availability status.  */
+  enum register_status cooked_read (int regnum, gdb_byte *buf);
   template<typename T, typename = RequireLongest<T>>
   enum register_status cooked_read (int regnum, T *val);
 
-  template<typename T, typename = RequireLongest<T>>
-  void cooked_write (int regnum, T val);
+  /* Partial transfer of a cooked register.  */
+  enum register_status cooked_read_part (int regnum, int offset, int len,
+					 gdb_byte *buf);
 
-  void raw_update (int regnum);
+  /* Read register REGNUM from the regcache and return a new value.  This
+     will call mark_value_bytes_unavailable as appropriate.  */
+  struct value *cooked_read_value (int regnum);
 
-  void raw_collect (int regnum, void *buf) const;
+protected:
 
-  void raw_collect_integer (int regnum, gdb_byte *addr, int addr_len,
-			    bool is_signed) const;
+  /* Perform a partial register transfer using a read, modify, write
+     operation.  Will fail if register is currently invalid.  */
+  enum register_status read_part (int regnum, int offset, int len,
+				  gdb_byte *out, bool is_raw);
+};
 
-  void raw_supply (int regnum, const void *buf);
+/* Buffer of registers, can be read and written.  */
 
-  void raw_supply_integer (int regnum, const gdb_byte *addr, int addr_len,
-			   bool is_signed);
+class detached_regcache : public readable_regcache
+{
+public:
+  detached_regcache (gdbarch *gdbarch, bool has_pseudo)
+    : readable_regcache (gdbarch, has_pseudo)
+  {}
 
-  void raw_supply_zeroed (int regnum);
+  void raw_update (int regnum) override
+  {}
 
-  enum register_status get_register_status (int regnum) const;
+  DISABLE_COPY_AND_ASSIGN (detached_regcache);
+};
 
-  void raw_set_cached_value (int regnum, const gdb_byte *buf);
+class readonly_detached_regcache;
 
-  void invalidate (int regnum);
+/* The register cache for storing raw register values.  */
 
-  enum register_status raw_read_part (int regnum, int offset, int len,
-				      gdb_byte *buf);
+class regcache : public detached_regcache
+{
+public:
+  DISABLE_COPY_AND_ASSIGN (regcache);
 
-  void raw_write_part (int regnum, int offset, int len, const gdb_byte *buf);
+  /* Return REGCACHE's address space.  */
+  const address_space *aspace () const
+  {
+    return m_aspace;
+  }
 
-  enum register_status cooked_read_part (int regnum, int offset, int len,
-					 gdb_byte *buf);
+  /* Restore 'this' regcache.  The set of registers restored into
+     the regcache determined by the restore_reggroup.
+     Writes to regcache will go through to the target.  SRC is a
+     read-only register cache.  */
+  void restore (readonly_detached_regcache *src);
+
+  /* Update the value of raw register REGNUM (in the range [0..NUM_REGS)) and
+     transfer its value to core-gdb.  */
 
+  void raw_write (int regnum, const gdb_byte *buf);
+
+  template<typename T, typename = RequireLongest<T>>
+  void raw_write (int regnum, T val);
+
+  /* Transfer of pseudo-registers.  */
+  void cooked_write (int regnum, const gdb_byte *buf);
+
+  template<typename T, typename = RequireLongest<T>>
+  void cooked_write (int regnum, T val);
+
+  void raw_update (int regnum) override;
+
+  /* Partial transfer of raw registers.  Perform read, modify, write style
+     operations.  */
+  void raw_write_part (int regnum, int offset, int len, const gdb_byte *buf);
+
+  /* Partial transfer of a cooked register.  Perform read, modify, write style
+     operations.  */
   void cooked_write_part (int regnum, int offset, int len,
 			  const gdb_byte *buf);
 
@@ -320,10 +340,12 @@ public:
   void collect_regset (const struct regset *regset, int regnum,
 		       void *buf, size_t size) const;
 
-  void dump (ui_file *file, enum regcache_dump_what what_to_dump);
+  /* Return REGCACHE's ptid.  */
 
   ptid_t ptid () const
   {
+    gdb_assert (m_ptid != minus_one_ptid);
+
     return m_ptid;
   }
 
@@ -338,47 +360,34 @@ public:
 
   static void regcache_thread_ptid_changed (ptid_t old_ptid, ptid_t new_ptid);
 protected:
-  regcache (gdbarch *gdbarch, const address_space *aspace_, bool readonly_p_);
-
-  int num_raw_registers () const;
+  regcache (gdbarch *gdbarch, const address_space *aspace_);
 
   static std::forward_list<regcache *> current_regcache;
 
 private:
-  gdb_byte *register_buffer (int regnum) const;
-
-  void restore (struct regcache *src);
-
-  enum register_status xfer_part (int regnum, int offset, int len, void *in,
-				  const void *out, bool is_raw);
 
+  /* Helper function for transfer_regset.  Copies across a single register.  */
+  void transfer_regset_register (struct regcache *out_regcache, int regnum,
+				 const gdb_byte *in_buf, gdb_byte *out_buf,
+				 int slot_size, int offs) const;
+
+  /* Transfer a single or all registers belonging to a certain register
+     set to or from a buffer.  This is the main worker function for
+     regcache_supply_regset and regcache_collect_regset.  */
   void transfer_regset (const struct regset *regset,
 			struct regcache *out_regcache,
-			int regnum, const void *in_buf,
-			void *out_buf, size_t size) const;
+			int regnum, const gdb_byte *in_buf,
+			gdb_byte *out_buf, size_t size) const;
 
-  /* Assert on the range of REGNUM.  */
-  void assert_regnum (int regnum) const;
-
-  struct regcache_descr *m_descr;
+  /* Perform a partial register transfer using a read, modify, write
+     operation.  */
+  enum register_status write_part (int regnum, int offset, int len,
+				   const gdb_byte *in, bool is_raw);
 
   /* The address space of this register cache (for registers where it
      makes sense, like PC or SP).  */
   const address_space * const m_aspace;
 
-  /* The register buffers.  A read-only register cache can hold the
-     full [0 .. gdbarch_num_regs + gdbarch_num_pseudo_regs) while a read/write
-     register cache can only hold [0 .. gdbarch_num_regs).  */
-  gdb_byte *m_registers;
-  /* Register cache status.  */
-  signed char *m_register_status;
-  /* Is this a read-only cache?  A read-only cache is used for saving
-     the target's register state (e.g, across an inferior function
-     call or just before forcing a function return).  A read-only
-     cache can only be updated via the methods regcache_dup() and
-     regcache_cpy().  The actual contents are determined by the
-     reggroup_save and reggroup_restore methods.  */
-  const bool m_readonly_p;
   /* If this is a read-write cache, which thread's registers is
      it connected to?  */
   ptid_t m_ptid;
@@ -389,20 +398,52 @@ private:
 
   friend void
   registers_changed_ptid (ptid_t ptid);
-
-  friend void
-  regcache_cpy (struct regcache *dst, struct regcache *src);
 };
 
-/* Duplicate the contents of a register cache to a read-only register
-   cache.  The operation is pass-through.  */
-extern struct regcache *regcache_dup (struct regcache *regcache);
-
-/* Writes to DEST will go through to the target.  SRC is a read-only
-   register cache.  */
-extern void regcache_cpy (struct regcache *dest, struct regcache *src);
+class readonly_detached_regcache : public readable_regcache
+{
+public:
+  readonly_detached_regcache (regcache &src);
+
+  /* Create a readonly regcache by getting contents from COOKED_READ.  */
+
+  readonly_detached_regcache (gdbarch *gdbarch, register_read_ftype cooked_read)
+    : readable_regcache (gdbarch, true)
+  {
+    save (cooked_read);
+  }
+
+  DISABLE_COPY_AND_ASSIGN (readonly_detached_regcache);
+
+  void raw_update (int regnum) override
+  {}
+};
 
 extern void registers_changed (void);
 extern void registers_changed_ptid (ptid_t);
 
+/* Indicate that registers of THREAD may have changed, so invalidate
+   the cache.  */
+extern void registers_changed_thread (thread_info *thread);
+
+/* An abstract base class for register dump.  */
+
+class register_dump
+{
+public:
+  void dump (ui_file *file);
+  virtual ~register_dump () = default;
+
+protected:
+  register_dump (gdbarch *arch)
+    : m_gdbarch (arch)
+  {}
+
+  /* Dump the register REGNUM contents.  If REGNUM is -1, print the
+     header.  */
+  virtual void dump_reg (ui_file *file, int regnum) = 0;
+
+  gdbarch *m_gdbarch;
+};
+
 #endif /* REGCACHE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/aarch64.dat ./gdb/regformats/aarch64.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/aarch64.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/aarch64.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: aarch64.xml
 name:aarch64
+feature:1
 xmltarget:aarch64.xml
 expedite:x29,sp,pc
 64:x0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-avx-avx512-linux.dat ./gdb/regformats/i386/amd64-avx-avx512-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-avx-avx512-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/amd64-avx-avx512-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-avx-avx512-linux.xml
 name:amd64_avx_avx512_linux
+feature:1
 xmltarget:amd64-avx-avx512-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-avx-linux.dat ./gdb/regformats/i386/amd64-avx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-avx-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/amd64-avx-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-avx-linux.xml
 name:amd64_avx_linux
+feature:1
 xmltarget:amd64-avx-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat ./gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-avx-mpx-avx512-pku-linux.xml
 name:amd64_avx_mpx_avx512_pku_linux
+feature:1
 xmltarget:amd64-avx-mpx-avx512-pku-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-avx-mpx-linux.dat ./gdb/regformats/i386/amd64-avx-mpx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-avx-mpx-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/amd64-avx-mpx-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-avx-mpx-linux.xml
 name:amd64_avx_mpx_linux
+feature:1
 xmltarget:amd64-avx-mpx-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64.dat ./gdb/regformats/i386/amd64.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/amd64.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64.xml
 name:amd64
+feature:1
 xmltarget:amd64.xml
 expedite:rbp,rsp,rip
 64:rax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-linux.dat ./gdb/regformats/i386/amd64-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/amd64-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-linux.xml
 name:amd64_linux
+feature:1
 xmltarget:amd64-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-mpx-linux.dat ./gdb/regformats/i386/amd64-mpx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/amd64-mpx-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/amd64-mpx-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-mpx-linux.xml
 name:amd64_mpx_linux
+feature:1
 xmltarget:amd64-mpx-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-avx-avx512-linux.dat ./gdb/regformats/i386/i386-avx-avx512-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-avx-avx512-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/i386-avx-avx512-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-avx-avx512-linux.xml
 name:i386_avx_avx512_linux
+feature:1
 xmltarget:i386-avx-avx512-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-avx.dat ./gdb/regformats/i386/i386-avx.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-avx.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/i386-avx.dat	1970-01-01 00:00:00.000000000 +0000
@@ -1,54 +0,0 @@
-# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: i386/i386-avx.xml
-name:i386_avx
-xmltarget:i386-avx.xml
-expedite:ebp,esp,eip
-32:eax
-32:ecx
-32:edx
-32:ebx
-32:esp
-32:ebp
-32:esi
-32:edi
-32:eip
-32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
-80:st0
-80:st1
-80:st2
-80:st3
-80:st4
-80:st5
-80:st6
-80:st7
-32:fctrl
-32:fstat
-32:ftag
-32:fiseg
-32:fioff
-32:foseg
-32:fooff
-32:fop
-128:xmm0
-128:xmm1
-128:xmm2
-128:xmm3
-128:xmm4
-128:xmm5
-128:xmm6
-128:xmm7
-32:mxcsr
-128:ymm0h
-128:ymm1h
-128:ymm2h
-128:ymm3h
-128:ymm4h
-128:ymm5h
-128:ymm6h
-128:ymm7h
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-avx-linux.dat ./gdb/regformats/i386/i386-avx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-avx-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/i386-avx-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-avx-linux.xml
 name:i386_avx_linux
+feature:1
 xmltarget:i386-avx-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat ./gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-avx-mpx-avx512-pku-linux.xml
 name:i386_avx_mpx_avx512_pku_linux
+feature:1
 xmltarget:i386-avx-mpx-avx512-pku-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-avx-mpx-linux.dat ./gdb/regformats/i386/i386-avx-mpx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-avx-mpx-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/i386-avx-mpx-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-avx-mpx-linux.xml
 name:i386_avx_mpx_linux
+feature:1
 xmltarget:i386-avx-mpx-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386.dat ./gdb/regformats/i386/i386.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/i386.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386.xml
 name:i386
+feature:1
 xmltarget:i386.xml
 expedite:ebp,esp,eip
 32:eax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-linux.dat ./gdb/regformats/i386/i386-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/i386-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-linux.xml
 name:i386_linux
+feature:1
 xmltarget:i386-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-mmx-linux.dat ./gdb/regformats/i386/i386-mmx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-mmx-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/i386-mmx-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-mmx-linux.xml
 name:i386_mmx_linux
+feature:1
 xmltarget:i386-mmx-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-mpx-linux.dat ./gdb/regformats/i386/i386-mpx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/i386-mpx-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/i386-mpx-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-mpx-linux.xml
 name:i386_mpx_linux
+feature:1
 xmltarget:i386-mpx-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/x32-avx-avx512-linux.dat ./gdb/regformats/i386/x32-avx-avx512-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/x32-avx-avx512-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/x32-avx-avx512-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/x32-avx-avx512-linux.xml
 name:x32_avx_avx512_linux
+feature:1
 xmltarget:x32-avx-avx512-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/x32-avx-linux.dat ./gdb/regformats/i386/x32-avx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/x32-avx-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/x32-avx-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/x32-avx-linux.xml
 name:x32_avx_linux
+feature:1
 xmltarget:x32-avx-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/x32-linux.dat ./gdb/regformats/i386/x32-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/i386/x32-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/i386/x32-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/x32-linux.xml
 name:x32_linux
+feature:1
 xmltarget:x32-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/regdat.sh ./gdb/regformats/regdat.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/regdat.sh	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/regdat.sh	2018-07-10 02:06:13.000000000 +0000
@@ -118,6 +118,7 @@ xmltarget=x
 xmlarch=x
 xmlosabi=x
 expedite=x
+feature=x
 exec < $1
 while do_read
 do
@@ -131,7 +132,7 @@ do
     echo "{"
     echo "  static struct target_desc tdesc_${name}_s;"
     echo "  struct target_desc *result = &tdesc_${name}_s;"
-
+    echo "  struct tdesc_feature *feature = tdesc_create_feature (result, \"${name}\");"
     continue
   elif test "${type}" = "xmltarget"; then
     xmltarget="${entry}"
@@ -145,11 +146,14 @@ do
   elif test "${type}" = "expedite"; then
     expedite="${entry}"
     continue
+  elif test "${type}" = "feature"; then
+    feature="${entry}"
+    continue
   elif test "${name}" = x; then
     echo "$0: $1 does not specify \`\`name''." 1>&2
     exit 1
   else
-    echo "  tdesc_create_reg ((struct tdesc_feature *) result, \"${entry}\","
+    echo "  tdesc_create_reg (feature, \"${entry}\","
     echo "  0, 0, NULL, ${type}, NULL);"
 
     offset=`expr ${offset} + ${type}`
@@ -159,7 +163,9 @@ done
 
 echo
 echo "static const char *expedite_regs_${name}[] = { \"`echo ${expedite} | sed 's/,/", "/g'`\", 0 };"
-if test "${xmltarget}" = x; then
+if test "${feature}" != x; then
+  echo "static const char *xmltarget_${name} = 0;"
+elif test "${xmltarget}" = x; then
   if test "${xmlarch}" = x && test "${xmlosabi}" = x; then
     echo "static const char *xmltarget_${name} = 0;"
   else
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/regdef.h ./gdb/regformats/regdef.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/regdef.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/regdef.h	2018-07-10 02:06:13.000000000 +0000
@@ -21,6 +21,18 @@
 
 struct reg
 {
+  reg (int _offset)
+    : name (""),
+      offset (_offset),
+      size (0)
+  {}
+
+  reg (const char *_name, int _offset, int _size)
+    : name (_name),
+      offset (_offset),
+      size (_size)
+  {}
+
   /* The name of this register - NULL for pad entries.  */
   const char *name;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/tic6x-c62x-linux.dat ./gdb/regformats/tic6x-c62x-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/tic6x-c62x-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/tic6x-c62x-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: tic6x-c62x-linux.xml
 name:tic6x_c62x_linux
+feature:1
 xmltarget:tic6x-c62x-linux.xml
 expedite:A15,PC
 32:A0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/tic6x-c64x-linux.dat ./gdb/regformats/tic6x-c64x-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/tic6x-c64x-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/tic6x-c64x-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: tic6x-c64x-linux.xml
 name:tic6x_c64x_linux
+feature:1
 xmltarget:tic6x-c64x-linux.xml
 expedite:A15,PC
 32:A0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/tic6x-c64xp-linux.dat ./gdb/regformats/tic6x-c64xp-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/regformats/tic6x-c64xp-linux.dat	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/regformats/tic6x-c64xp-linux.dat	2018-07-10 02:06:13.000000000 +0000
@@ -1,6 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: tic6x-c64xp-linux.xml
 name:tic6x_c64xp_linux
+feature:1
 xmltarget:tic6x-c64xp-linux.xml
 expedite:A15,PC
 32:A0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote.c ./gdb/remote.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/remote.c	2018-07-10 02:06:13.000000000 +0000
@@ -36,7 +36,7 @@
 #include "remote-notif.h"
 #include "regcache.h"
 #include "value.h"
-#include "observer.h"
+#include "observable.h"
 #include "solib.h"
 #include "cli/cli-decode.h"
 #include "cli/cli-setshow.h"
@@ -75,369 +75,986 @@
 #include "common/scoped_restore.h"
 #include "environ.h"
 #include "common/byte-vector.h"
+#include <unordered_map>
 
-/* Per-program-space data key.  */
-static const struct program_space_data *remote_pspace_data;
+/* The remote target.  */
 
-/* The variable registered as the control variable used by the
-   remote exec-file commands.  While the remote exec-file setting is
-   per-program-space, the set/show machinery uses this as the 
-   location of the remote exec-file value.  */
-static char *remote_exec_file_var;
+static const char remote_doc[] = N_("\
+Use a remote computer via a serial line, using a gdb-specific protocol.\n\
+Specify the serial device it is connected to\n\
+(e.g. /dev/ttyS0, /dev/ttya, COM1, etc.).");
 
-/* The size to align memory write packets, when practical.  The protocol
-   does not guarantee any alignment, and gdb will generate short
-   writes and unaligned writes, but even as a best-effort attempt this
-   can improve bulk transfers.  For instance, if a write is misaligned
-   relative to the target's data bus, the stub may need to make an extra
-   round trip fetching data from the target.  This doesn't make a
-   huge difference, but it's easy to do, so we try to be helpful.
+#define OPAQUETHREADBYTES 8
 
-   The alignment chosen is arbitrary; usually data bus width is
-   important here, not the possibly larger cache line size.  */
-enum { REMOTE_ALIGN_WRITES = 16 };
+/* a 64 bit opaque identifier */
+typedef unsigned char threadref[OPAQUETHREADBYTES];
 
-/* Prototypes for local functions.  */
-static int getpkt_sane (char **buf, long *sizeof_buf, int forever);
-static int getpkt_or_notif_sane (char **buf, long *sizeof_buf,
-				 int forever, int *is_notif);
+struct gdb_ext_thread_info;
+struct threads_listing_context;
+typedef int (*rmt_thread_action) (threadref *ref, void *context);
+struct protocol_feature;
+struct packet_reg;
 
-static void remote_files_info (struct target_ops *ignore);
+struct stop_reply;
+static void stop_reply_xfree (struct stop_reply *);
 
-static void remote_prepare_to_store (struct target_ops *self,
-				     struct regcache *regcache);
+struct stop_reply_deleter
+{
+  void operator() (stop_reply *r) const
+  {
+    stop_reply_xfree (r);
+  }
+};
 
-static void remote_open_1 (const char *, int, struct target_ops *,
-			   int extended_p);
+typedef std::unique_ptr<stop_reply, stop_reply_deleter> stop_reply_up;
 
-static void remote_close (struct target_ops *self);
+/* Generic configuration support for packets the stub optionally
+   supports.  Allows the user to specify the use of the packet as well
+   as allowing GDB to auto-detect support in the remote stub.  */
 
-struct remote_state;
+enum packet_support
+  {
+    PACKET_SUPPORT_UNKNOWN = 0,
+    PACKET_ENABLE,
+    PACKET_DISABLE
+  };
 
-static int remote_vkill (int pid, struct remote_state *rs);
+/* Analyze a packet's return value and update the packet config
+   accordingly.  */
 
-static void remote_kill_k (void);
+enum packet_result
+{
+  PACKET_ERROR,
+  PACKET_OK,
+  PACKET_UNKNOWN
+};
 
-static void remote_mourn (struct target_ops *ops);
+struct threads_listing_context;
 
-static void extended_remote_restart (void);
+/* Stub vCont actions support.
 
-static void remote_send (char **buf, long *sizeof_buf_p);
+   Each field is a boolean flag indicating whether the stub reports
+   support for the corresponding action.  */
 
-static int readchar (int timeout);
+struct vCont_action_support
+{
+  /* vCont;t */
+  bool t = false;
 
-static void remote_serial_write (const char *str, int len);
+  /* vCont;r */
+  bool r = false;
 
-static void remote_kill (struct target_ops *ops);
+  /* vCont;s */
+  bool s = false;
 
-static int remote_can_async_p (struct target_ops *);
+  /* vCont;S */
+  bool S = false;
+};
 
-static int remote_is_async_p (struct target_ops *);
+/* About this many threadisds fit in a packet.  */
 
-static void remote_async (struct target_ops *ops, int enable);
+#define MAXTHREADLISTRESULTS 32
 
-static void remote_thread_events (struct target_ops *ops, int enable);
+/* Data for the vFile:pread readahead cache.  */
 
-static void interrupt_query (void);
+struct readahead_cache
+{
+  /* Invalidate the readahead cache.  */
+  void invalidate ();
 
-static void set_general_thread (ptid_t ptid);
-static void set_continue_thread (ptid_t ptid);
+  /* Invalidate the readahead cache if it is holding data for FD.  */
+  void invalidate_fd (int fd);
 
-static void get_offsets (void);
+  /* Serve pread from the readahead cache.  Returns number of bytes
+     read, or 0 if the request can't be served from the cache.  */
+  int pread (int fd, gdb_byte *read_buf, size_t len, ULONGEST offset);
 
-static void skip_frame (void);
+  /* The file descriptor for the file that is being cached.  -1 if the
+     cache is invalid.  */
+  int fd = -1;
 
-static long read_frame (char **buf_p, long *sizeof_buf);
+  /* The offset into the file that the cache buffer corresponds
+     to.  */
+  ULONGEST offset = 0;
 
-static int hexnumlen (ULONGEST num);
+  /* The buffer holding the cache contents.  */
+  gdb_byte *buf = nullptr;
+  /* The buffer's size.  We try to read as much as fits into a packet
+     at a time.  */
+  size_t bufsize = 0;
 
-static void init_remote_ops (void);
+  /* Cache hit and miss counters.  */
+  ULONGEST hit_count = 0;
+  ULONGEST miss_count = 0;
+};
 
-static void init_extended_remote_ops (void);
+/* Description of the remote protocol for a given architecture.  */
 
-static void remote_stop (struct target_ops *self, ptid_t);
+struct packet_reg
+{
+  long offset; /* Offset into G packet.  */
+  long regnum; /* GDB's internal register number.  */
+  LONGEST pnum; /* Remote protocol register number.  */
+  int in_g_packet; /* Always part of G packet.  */
+  /* long size in bytes;  == register_size (target_gdbarch (), regnum);
+     at present.  */
+  /* char *name; == gdbarch_register_name (target_gdbarch (), regnum);
+     at present.  */
+};
 
-static int stubhex (int ch);
+struct remote_arch_state
+{
+  explicit remote_arch_state (struct gdbarch *gdbarch);
 
-static int hexnumstr (char *, ULONGEST);
+  /* Description of the remote protocol registers.  */
+  long sizeof_g_packet;
 
-static int hexnumnstr (char *, ULONGEST, int);
+  /* Description of the remote protocol registers indexed by REGNUM
+     (making an array gdbarch_num_regs in size).  */
+  std::unique_ptr<packet_reg[]> regs;
 
-static CORE_ADDR remote_address_masked (CORE_ADDR);
+  /* This is the size (in chars) of the first response to the ``g''
+     packet.  It is used as a heuristic when determining the maximum
+     size of memory-read and memory-write packets.  A target will
+     typically only reserve a buffer large enough to hold the ``g''
+     packet.  The size does not include packet overhead (headers and
+     trailers).  */
+  long actual_register_packet_size;
 
-static void print_packet (const char *);
+  /* This is the maximum size (in chars) of a non read/write packet.
+     It is also used as a cap on the size of read/write packets.  */
+  long remote_packet_size;
+};
 
-static int stub_unpack_int (char *buff, int fieldlength);
+/* Description of the remote protocol state for the currently
+   connected target.  This is per-target state, and independent of the
+   selected architecture.  */
 
-static ptid_t remote_current_thread (ptid_t oldptid);
+class remote_state
+{
+public:
 
-static int putpkt_binary (const char *buf, int cnt);
+  remote_state ();
+  ~remote_state ();
 
-static void check_binary_download (CORE_ADDR addr);
+  /* Get the remote arch state for GDBARCH.  */
+  struct remote_arch_state *get_remote_arch_state (struct gdbarch *gdbarch);
 
-struct packet_config;
+public: /* data */
 
-static void show_packet_config_cmd (struct packet_config *config);
+  /* A buffer to use for incoming packets, and its current size.  The
+     buffer is grown dynamically for larger incoming packets.
+     Outgoing packets may also be constructed in this buffer.
+     BUF_SIZE is always at least REMOTE_PACKET_SIZE;
+     REMOTE_PACKET_SIZE should be used to limit the length of outgoing
+     packets.  */
+  char *buf;
+  long buf_size;
 
-static void show_remote_protocol_packet_cmd (struct ui_file *file,
-					     int from_tty,
-					     struct cmd_list_element *c,
-					     const char *value);
+  /* True if we're going through initial connection setup (finding out
+     about the remote side's threads, relocating symbols, etc.).  */
+  bool starting_up = false;
 
-static char *write_ptid (char *buf, const char *endbuf, ptid_t ptid);
-static ptid_t read_ptid (const char *buf, const char **obuf);
+  /* If we negotiated packet size explicitly (and thus can bypass
+     heuristics for the largest packet size that will not overflow
+     a buffer in the stub), this will be set to that packet size.
+     Otherwise zero, meaning to use the guessed size.  */
+  long explicit_packet_size = 0;
+
+  /* remote_wait is normally called when the target is running and
+     waits for a stop reply packet.  But sometimes we need to call it
+     when the target is already stopped.  We can send a "?" packet
+     and have remote_wait read the response.  Or, if we already have
+     the response, we can stash it in BUF and tell remote_wait to
+     skip calling getpkt.  This flag is set when BUF contains a
+     stop reply packet and the target is not waiting.  */
+  int cached_wait_status = 0;
 
-static void remote_set_permissions (struct target_ops *self);
+  /* True, if in no ack mode.  That is, neither GDB nor the stub will
+     expect acks from each other.  The connection is assumed to be
+     reliable.  */
+  bool noack_mode = false;
 
-static int remote_get_trace_status (struct target_ops *self,
-				    struct trace_status *ts);
+  /* True if we're connected in extended remote mode.  */
+  bool extended = false;
 
-static int remote_upload_tracepoints (struct target_ops *self,
-				      struct uploaded_tp **utpp);
+  /* True if we resumed the target and we're waiting for the target to
+     stop.  In the mean time, we can't start another command/query.
+     The remote server wouldn't be ready to process it, so we'd
+     timeout waiting for a reply that would never come and eventually
+     we'd close the connection.  This can happen in asynchronous mode
+     because we allow GDB commands while the target is running.  */
+  bool waiting_for_stop_reply = false;
 
-static int remote_upload_trace_state_variables (struct target_ops *self,
-						struct uploaded_tsv **utsvp);
-  
-static void remote_query_supported (void);
+  /* The status of the stub support for the various vCont actions.  */
+  vCont_action_support supports_vCont;
 
-static void remote_check_symbols (void);
+  /* True if the user has pressed Ctrl-C, but the target hasn't
+     responded to that.  */
+  bool ctrlc_pending_p = false;
 
-struct stop_reply;
-static void stop_reply_xfree (struct stop_reply *);
-static void remote_parse_stop_reply (char *, struct stop_reply *);
-static void push_stop_reply (struct stop_reply *);
-static void discard_pending_stop_replies_in_queue (struct remote_state *);
-static int peek_stop_reply (ptid_t ptid);
+  /* True if we saw a Ctrl-C while reading or writing from/to the
+     remote descriptor.  At that point it is not safe to send a remote
+     interrupt packet, so we instead remember we saw the Ctrl-C and
+     process it once we're done with sending/receiving the current
+     packet, which should be shortly.  If however that takes too long,
+     and the user presses Ctrl-C again, we offer to disconnect.  */
+  bool got_ctrlc_during_io = false;
+
+  /* Descriptor for I/O to remote machine.  Initialize it to NULL so that
+     remote_open knows that we don't have a file open when the program
+     starts.  */
+  struct serial *remote_desc = nullptr;
+
+  /* These are the threads which we last sent to the remote system.  The
+     TID member will be -1 for all or -2 for not sent yet.  */
+  ptid_t general_thread = null_ptid;
+  ptid_t continue_thread = null_ptid;
+
+  /* This is the traceframe which we last selected on the remote system.
+     It will be -1 if no traceframe is selected.  */
+  int remote_traceframe_number = -1;
+
+  char *last_pass_packet = nullptr;
+
+  /* The last QProgramSignals packet sent to the target.  We bypass
+     sending a new program signals list down to the target if the new
+     packet is exactly the same as the last we sent.  IOW, we only let
+     the target know about program signals list changes.  */
+  char *last_program_signals_packet = nullptr;
+
+  gdb_signal last_sent_signal = GDB_SIGNAL_0;
+
+  bool last_sent_step = false;
+
+  /* The execution direction of the last resume we got.  */
+  exec_direction_kind last_resume_exec_dir = EXEC_FORWARD;
+
+  char *finished_object = nullptr;
+  char *finished_annex = nullptr;
+  ULONGEST finished_offset = 0;
+
+  /* Should we try the 'ThreadInfo' query packet?
+
+     This variable (NOT available to the user: auto-detect only!)
+     determines whether GDB will use the new, simpler "ThreadInfo"
+     query or the older, more complex syntax for thread queries.
+     This is an auto-detect variable (set to true at each connect,
+     and set to false when the target fails to recognize it).  */
+  bool use_threadinfo_query = false;
+  bool use_threadextra_query = false;
+
+  threadref echo_nextthread {};
+  threadref nextthread {};
+  threadref resultthreadlist[MAXTHREADLISTRESULTS] {};
+
+  /* The state of remote notification.  */
+  struct remote_notif_state *notif_state = nullptr;
+
+  /* The branch trace configuration.  */
+  struct btrace_config btrace_config {};
+
+  /* The argument to the last "vFile:setfs:" packet we sent, used
+     to avoid sending repeated unnecessary "vFile:setfs:" packets.
+     Initialized to -1 to indicate that no "vFile:setfs:" packet
+     has yet been sent.  */
+  int fs_pid = -1;
+
+  /* A readahead cache for vFile:pread.  Often, reading a binary
+     involves a sequence of small reads.  E.g., when parsing an ELF
+     file.  A readahead cache helps mostly the case of remote
+     debugging on a connection with higher latency, due to the
+     request/reply nature of the RSP.  We only cache data for a single
+     file descriptor at a time.  */
+  struct readahead_cache readahead_cache;
+
+  /* The list of already fetched and acknowledged stop events.  This
+     queue is used for notification Stop, and other notifications
+     don't need queue for their events, because the notification
+     events of Stop can't be consumed immediately, so that events
+     should be queued first, and be consumed by remote_wait_{ns,as}
+     one per time.  Other notifications can consume their events
+     immediately, so queue is not needed for them.  */
+  std::vector<stop_reply_up> stop_reply_queue;
+
+  /* Asynchronous signal handle registered as event loop source for
+     when we have pending events ready to be passed to the core.  */
+  struct async_event_handler *remote_async_inferior_event_token = nullptr;
+
+  /* FIXME: cagney/1999-09-23: Even though getpkt was called with
+     ``forever'' still use the normal timeout mechanism.  This is
+     currently used by the ASYNC code to guarentee that target reads
+     during the initial connect always time-out.  Once getpkt has been
+     modified to return a timeout indication and, in turn
+     remote_wait()/wait_for_inferior() have gained a timeout parameter
+     this can go away.  */
+  int wait_forever_enabled_p = 1;
+
+private:
+  /* Mapping of remote protocol data for each gdbarch.  Usually there
+     is only one entry here, though we may see more with stubs that
+     support multi-process.  */
+  std::unordered_map<struct gdbarch *, remote_arch_state>
+    m_arch_states;
+};
+
+static const target_info remote_target_info = {
+  "remote",
+  N_("Remote serial target in gdb-specific protocol"),
+  remote_doc
+};
+
+class remote_target : public target_ops
+{
+public:
+  remote_target ()
+  {
+    to_stratum = process_stratum;
+  }
+  ~remote_target () override;
+
+  const target_info &info () const override
+  { return remote_target_info; }
+
+  thread_control_capabilities get_thread_control_capabilities () override
+  { return tc_schedlock; }
+
+  /* Open a remote connection.  */
+  static void open (const char *, int);
+
+  void close () override;
+
+  void detach (inferior *, int) override;
+  void disconnect (const char *, int) override;
+
+  void commit_resume () override;
+  void resume (ptid_t, int, enum gdb_signal) override;
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+  void prepare_to_store (struct regcache *) override;
+
+  void files_info () override;
+
+  int insert_breakpoint (struct gdbarch *, struct bp_target_info *) override;
+
+  int remove_breakpoint (struct gdbarch *, struct bp_target_info *,
+			 enum remove_bp_reason) override;
+
+
+  bool stopped_by_sw_breakpoint () override;
+  bool supports_stopped_by_sw_breakpoint () override;
+
+  bool stopped_by_hw_breakpoint () override;
+
+  bool supports_stopped_by_hw_breakpoint () override;
+
+  bool stopped_by_watchpoint () override;
+
+  bool stopped_data_address (CORE_ADDR *) override;
+
+  bool watchpoint_addr_within_range (CORE_ADDR, CORE_ADDR, int) override;
+
+  int can_use_hw_breakpoint (enum bptype, int, int) override;
+
+  int insert_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override;
+
+  int remove_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override;
+
+  int region_ok_for_hw_watchpoint (CORE_ADDR, int) override;
+
+  int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+
+  int remove_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+
+  void kill () override;
+
+  void load (const char *, int) override;
+
+  void mourn_inferior () override;
+
+  void pass_signals (int, unsigned char *) override;
+
+  int set_syscall_catchpoint (int, bool, int,
+			      gdb::array_view<const int>) override;
+
+  void program_signals (int, unsigned char *) override;
+
+  bool thread_alive (ptid_t ptid) override;
+
+  const char *thread_name (struct thread_info *) override;
+
+  void update_thread_list () override;
+
+  const char *pid_to_str (ptid_t) override;
+
+  const char *extra_thread_info (struct thread_info *) override;
+
+  ptid_t get_ada_task_ptid (long lwp, long thread) override;
+
+  thread_info *thread_handle_to_thread_info (const gdb_byte *thread_handle,
+					     int handle_len,
+					     inferior *inf) override;
+
+  void stop (ptid_t) override;
+
+  void interrupt () override;
+
+  void pass_ctrlc () override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  ULONGEST get_memory_xfer_limit () override;
+
+  void rcmd (const char *command, struct ui_file *output) override;
+
+  char *pid_to_exec_file (int pid) override;
+
+  void log_command (const char *cmd) override
+  {
+    serial_log_command (this, cmd);
+  }
+
+  CORE_ADDR get_thread_local_address (ptid_t ptid,
+				      CORE_ADDR load_module_addr,
+				      CORE_ADDR offset) override;
+
+  bool has_all_memory ()  override { return default_child_has_all_memory (); }
+  bool has_memory ()  override { return default_child_has_memory (); }
+  bool has_stack ()  override { return default_child_has_stack (); }
+  bool has_registers ()  override { return default_child_has_registers (); }
+  bool has_execution (ptid_t ptid)  override { return default_child_has_execution (ptid); }
+
+  bool can_execute_reverse () override;
+
+  std::vector<mem_region> memory_map () override;
+
+  void flash_erase (ULONGEST address, LONGEST length) override;
+
+  void flash_done () override;
+
+  const struct target_desc *read_description () override;
+
+  int search_memory (CORE_ADDR start_addr, ULONGEST search_space_len,
+		     const gdb_byte *pattern, ULONGEST pattern_len,
+		     CORE_ADDR *found_addrp) override;
+
+  bool can_async_p () override;
+
+  bool is_async_p () override;
+
+  void async (int) override;
+
+  void thread_events (int) override;
+
+  int can_do_single_step () override;
+
+  void terminal_inferior () override;
+
+  void terminal_ours () override;
+
+  bool supports_non_stop () override;
+
+  bool supports_multi_process () override;
+
+  bool supports_disable_randomization () override;
+
+  bool filesystem_is_local () override;
+
+
+  int fileio_open (struct inferior *inf, const char *filename,
+		   int flags, int mode, int warn_if_slow,
+		   int *target_errno) override;
+
+  int fileio_pwrite (int fd, const gdb_byte *write_buf, int len,
+		     ULONGEST offset, int *target_errno) override;
+
+  int fileio_pread (int fd, gdb_byte *read_buf, int len,
+		    ULONGEST offset, int *target_errno) override;
+
+  int fileio_fstat (int fd, struct stat *sb, int *target_errno) override;
+
+  int fileio_close (int fd, int *target_errno) override;
+
+  int fileio_unlink (struct inferior *inf,
+		     const char *filename,
+		     int *target_errno) override;
+
+  gdb::optional<std::string>
+    fileio_readlink (struct inferior *inf,
+		     const char *filename,
+		     int *target_errno) override;
+
+  bool supports_enable_disable_tracepoint () override;
+
+  bool supports_string_tracing () override;
+
+  bool supports_evaluation_of_breakpoint_conditions () override;
+
+  bool can_run_breakpoint_commands () override;
+
+  void trace_init () override;
+
+  void download_tracepoint (struct bp_location *location) override;
+
+  bool can_download_tracepoint () override;
+
+  void download_trace_state_variable (const trace_state_variable &tsv) override;
+
+  void enable_tracepoint (struct bp_location *location) override;
+
+  void disable_tracepoint (struct bp_location *location) override;
+
+  void trace_set_readonly_regions () override;
+
+  void trace_start () override;
+
+  int get_trace_status (struct trace_status *ts) override;
+
+  void get_tracepoint_status (struct breakpoint *tp, struct uploaded_tp *utp)
+    override;
+
+  void trace_stop () override;
+
+  int trace_find (enum trace_find_type type, int num,
+		  CORE_ADDR addr1, CORE_ADDR addr2, int *tpp) override;
+
+  bool get_trace_state_variable_value (int tsv, LONGEST *val) override;
+
+  int save_trace_data (const char *filename) override;
+
+  int upload_tracepoints (struct uploaded_tp **utpp) override;
+
+  int upload_trace_state_variables (struct uploaded_tsv **utsvp) override;
+
+  LONGEST get_raw_trace_data (gdb_byte *buf, ULONGEST offset, LONGEST len) override;
+
+  int get_min_fast_tracepoint_insn_len () override;
+
+  void set_disconnected_tracing (int val) override;
+
+  void set_circular_trace_buffer (int val) override;
+
+  void set_trace_buffer_size (LONGEST val) override;
+
+  bool set_trace_notes (const char *user, const char *notes,
+			const char *stopnotes) override;
+
+  int core_of_thread (ptid_t ptid) override;
+
+  int verify_memory (const gdb_byte *data,
+		     CORE_ADDR memaddr, ULONGEST size) override;
+
+
+  bool get_tib_address (ptid_t ptid, CORE_ADDR *addr) override;
+
+  void set_permissions () override;
+
+  bool static_tracepoint_marker_at (CORE_ADDR,
+				    struct static_tracepoint_marker *marker)
+    override;
+
+  std::vector<static_tracepoint_marker>
+    static_tracepoint_markers_by_strid (const char *id) override;
+
+  traceframe_info_up traceframe_info () override;
+
+  bool use_agent (bool use) override;
+  bool can_use_agent () override;
+
+  struct btrace_target_info *enable_btrace (ptid_t ptid,
+					    const struct btrace_config *conf) override;
+
+  void disable_btrace (struct btrace_target_info *tinfo) override;
+
+  void teardown_btrace (struct btrace_target_info *tinfo) override;
+
+  enum btrace_error read_btrace (struct btrace_data *data,
+				 struct btrace_target_info *btinfo,
+				 enum btrace_read_type type) override;
+
+  const struct btrace_config *btrace_conf (const struct btrace_target_info *) override;
+  bool augmented_libraries_svr4_read () override;
+  int follow_fork (int, int) override;
+  void follow_exec (struct inferior *, char *) override;
+  int insert_fork_catchpoint (int) override;
+  int remove_fork_catchpoint (int) override;
+  int insert_vfork_catchpoint (int) override;
+  int remove_vfork_catchpoint (int) override;
+  int insert_exec_catchpoint (int) override;
+  int remove_exec_catchpoint (int) override;
+  enum exec_direction_kind execution_direction () override;
+
+public: /* Remote specific methods.  */
+
+  void remote_download_command_source (int num, ULONGEST addr,
+				       struct command_line *cmds);
+
+  void remote_file_put (const char *local_file, const char *remote_file,
+			int from_tty);
+  void remote_file_get (const char *remote_file, const char *local_file,
+			int from_tty);
+  void remote_file_delete (const char *remote_file, int from_tty);
+
+  int remote_hostio_pread (int fd, gdb_byte *read_buf, int len,
+			   ULONGEST offset, int *remote_errno);
+  int remote_hostio_pwrite (int fd, const gdb_byte *write_buf, int len,
+			    ULONGEST offset, int *remote_errno);
+  int remote_hostio_pread_vFile (int fd, gdb_byte *read_buf, int len,
+				 ULONGEST offset, int *remote_errno);
+
+  int remote_hostio_send_command (int command_bytes, int which_packet,
+				  int *remote_errno, char **attachment,
+				  int *attachment_len);
+  int remote_hostio_set_filesystem (struct inferior *inf,
+				    int *remote_errno);
+  /* We should get rid of this and use fileio_open directly.  */
+  int remote_hostio_open (struct inferior *inf, const char *filename,
+			  int flags, int mode, int warn_if_slow,
+			  int *remote_errno);
+  int remote_hostio_close (int fd, int *remote_errno);
+
+  int remote_hostio_unlink (inferior *inf, const char *filename,
+			    int *remote_errno);
+
+  struct remote_state *get_remote_state ();
+
+  long get_remote_packet_size (void);
+  long get_memory_packet_size (struct memory_packet_config *config);
+
+  long get_memory_write_packet_size ();
+  long get_memory_read_packet_size ();
+
+  char *append_pending_thread_resumptions (char *p, char *endp,
+					   ptid_t ptid);
+  static void open_1 (const char *name, int from_tty, int extended_p);
+  void start_remote (int from_tty, int extended_p);
+  void remote_detach_1 (struct inferior *inf, int from_tty);
+
+  char *append_resumption (char *p, char *endp,
+			   ptid_t ptid, int step, gdb_signal siggnal);
+  int remote_resume_with_vcont (ptid_t ptid, int step,
+				gdb_signal siggnal);
+
+  void add_current_inferior_and_thread (char *wait_status);
+
+  ptid_t wait_ns (ptid_t ptid, struct target_waitstatus *status,
+		  int options);
+  ptid_t wait_as (ptid_t ptid, target_waitstatus *status,
+		  int options);
+
+  ptid_t process_stop_reply (struct stop_reply *stop_reply,
+			     target_waitstatus *status);
+
+  void remote_notice_new_inferior (ptid_t currthread, int executing);
+
+  void process_initial_stop_replies (int from_tty);
+
+  thread_info *remote_add_thread (ptid_t ptid, bool running, bool executing);
+
+  void btrace_sync_conf (const btrace_config *conf);
+
+  void remote_btrace_maybe_reopen ();
+
+  void remove_new_fork_children (threads_listing_context *context);
+  void kill_new_fork_children (int pid);
+  void discard_pending_stop_replies (struct inferior *inf);
+  int stop_reply_queue_length ();
+
+  void check_pending_events_prevent_wildcard_vcont
+    (int *may_global_wildcard_vcont);
+
+  void discard_pending_stop_replies_in_queue ();
+  struct stop_reply *remote_notif_remove_queued_reply (ptid_t ptid);
+  struct stop_reply *queued_stop_reply (ptid_t ptid);
+  int peek_stop_reply (ptid_t ptid);
+  void remote_parse_stop_reply (char *buf, stop_reply *event);
+
+  void remote_stop_ns (ptid_t ptid);
+  void remote_interrupt_as ();
+  void remote_interrupt_ns ();
+
+  char *remote_get_noisy_reply ();
+  int remote_query_attached (int pid);
+  inferior *remote_add_inferior (int fake_pid_p, int pid, int attached,
+				 int try_open_exec);
+
+  ptid_t remote_current_thread (ptid_t oldpid);
+  ptid_t get_current_thread (char *wait_status);
+
+  void set_thread (ptid_t ptid, int gen);
+  void set_general_thread (ptid_t ptid);
+  void set_continue_thread (ptid_t ptid);
+  void set_general_process ();
+
+  char *write_ptid (char *buf, const char *endbuf, ptid_t ptid);
+
+  int remote_unpack_thread_info_response (char *pkt, threadref *expectedref,
+					  gdb_ext_thread_info *info);
+  int remote_get_threadinfo (threadref *threadid, int fieldset,
+			     gdb_ext_thread_info *info);
+
+  int parse_threadlist_response (char *pkt, int result_limit,
+				 threadref *original_echo,
+				 threadref *resultlist,
+				 int *doneflag);
+  int remote_get_threadlist (int startflag, threadref *nextthread,
+			     int result_limit, int *done, int *result_count,
+			     threadref *threadlist);
+
+  int remote_threadlist_iterator (rmt_thread_action stepfunction,
+				  void *context, int looplimit);
+
+  int remote_get_threads_with_ql (threads_listing_context *context);
+  int remote_get_threads_with_qxfer (threads_listing_context *context);
+  int remote_get_threads_with_qthreadinfo (threads_listing_context *context);
+
+  void extended_remote_restart ();
+
+  void get_offsets ();
+
+  void remote_check_symbols ();
+
+  void remote_supported_packet (const struct protocol_feature *feature,
+				enum packet_support support,
+				const char *argument);
+
+  void remote_query_supported ();
 
-struct threads_listing_context;
-static void remove_new_fork_children (struct threads_listing_context *);
+  void remote_packet_size (const protocol_feature *feature,
+			   packet_support support, const char *value);
 
-static void remote_async_inferior_event_handler (gdb_client_data);
+  void remote_serial_quit_handler ();
 
-static void remote_terminal_ours (struct target_ops *self);
+  void remote_detach_pid (int pid);
 
-static int remote_read_description_p (struct target_ops *target);
+  void remote_vcont_probe ();
 
-static void remote_console_output (char *msg);
+  void remote_resume_with_hc (ptid_t ptid, int step,
+			      gdb_signal siggnal);
 
-static int remote_supports_cond_breakpoints (struct target_ops *self);
+  void send_interrupt_sequence ();
+  void interrupt_query ();
 
-static int remote_can_run_breakpoint_commands (struct target_ops *self);
+  void remote_notif_get_pending_events (notif_client *nc);
 
-static void remote_btrace_reset (void);
+  int fetch_register_using_p (struct regcache *regcache,
+			      packet_reg *reg);
+  int send_g_packet ();
+  void process_g_packet (struct regcache *regcache);
+  void fetch_registers_using_g (struct regcache *regcache);
+  int store_register_using_P (const struct regcache *regcache,
+			      packet_reg *reg);
+  void store_registers_using_G (const struct regcache *regcache);
 
-static void remote_btrace_maybe_reopen (void);
+  void set_remote_traceframe ();
 
-static int stop_reply_queue_length (void);
+  void check_binary_download (CORE_ADDR addr);
 
-static void readahead_cache_invalidate (void);
+  target_xfer_status remote_write_bytes_aux (const char *header,
+					     CORE_ADDR memaddr,
+					     const gdb_byte *myaddr,
+					     ULONGEST len_units,
+					     int unit_size,
+					     ULONGEST *xfered_len_units,
+					     char packet_format,
+					     int use_length);
 
-static void remote_unpush_and_throw (void);
+  target_xfer_status remote_write_bytes (CORE_ADDR memaddr,
+					 const gdb_byte *myaddr, ULONGEST len,
+					 int unit_size, ULONGEST *xfered_len);
 
-static struct remote_state *get_remote_state (void);
+  target_xfer_status remote_read_bytes_1 (CORE_ADDR memaddr, gdb_byte *myaddr,
+					  ULONGEST len_units,
+					  int unit_size, ULONGEST *xfered_len_units);
 
-/* For "remote".  */
+  target_xfer_status remote_xfer_live_readonly_partial (gdb_byte *readbuf,
+							ULONGEST memaddr,
+							ULONGEST len,
+							int unit_size,
+							ULONGEST *xfered_len);
 
-static struct cmd_list_element *remote_cmdlist;
+  target_xfer_status remote_read_bytes (CORE_ADDR memaddr,
+					gdb_byte *myaddr, ULONGEST len,
+					int unit_size,
+					ULONGEST *xfered_len);
 
-/* For "set remote" and "show remote".  */
+  packet_result remote_send_printf (const char *format, ...)
+    ATTRIBUTE_PRINTF (2, 3);
 
-static struct cmd_list_element *remote_set_cmdlist;
-static struct cmd_list_element *remote_show_cmdlist;
+  target_xfer_status remote_flash_write (ULONGEST address,
+					 ULONGEST length, ULONGEST *xfered_len,
+					 const gdb_byte *data);
 
-/* Stub vCont actions support.
+  int readchar (int timeout);
 
-   Each field is a boolean flag indicating whether the stub reports
-   support for the corresponding action.  */
+  void remote_serial_write (const char *str, int len);
 
-struct vCont_action_support
-{
-  /* vCont;t */
-  int t;
+  int putpkt (const char *buf);
+  int putpkt_binary (const char *buf, int cnt);
 
-  /* vCont;r */
-  int r;
+  void skip_frame ();
+  long read_frame (char **buf_p, long *sizeof_buf);
+  void getpkt (char **buf, long *sizeof_buf, int forever);
+  int getpkt_or_notif_sane_1 (char **buf, long *sizeof_buf, int forever,
+			      int expecting_notif, int *is_notif);
+  int getpkt_sane (char **buf, long *sizeof_buf, int forever);
+  int getpkt_or_notif_sane (char **buf, long *sizeof_buf, int forever,
+			    int *is_notif);
+  int remote_vkill (int pid);
+  void remote_kill_k ();
 
-  /* vCont;s */
-  int s;
+  void extended_remote_disable_randomization (int val);
+  int extended_remote_run (const std::string &args);
 
-  /* vCont;S */
-  int S;
-};
+  void send_environment_packet (const char *action,
+				const char *packet,
+				const char *value);
 
-/* Controls whether GDB is willing to use range stepping.  */
+  void extended_remote_environment_support ();
+  void extended_remote_set_inferior_cwd ();
 
-static int use_range_stepping = 1;
+  target_xfer_status remote_write_qxfer (const char *object_name,
+					 const char *annex,
+					 const gdb_byte *writebuf,
+					 ULONGEST offset, LONGEST len,
+					 ULONGEST *xfered_len,
+					 struct packet_config *packet);
 
-#define OPAQUETHREADBYTES 8
+  target_xfer_status remote_read_qxfer (const char *object_name,
+					const char *annex,
+					gdb_byte *readbuf, ULONGEST offset,
+					LONGEST len,
+					ULONGEST *xfered_len,
+					struct packet_config *packet);
 
-/* a 64 bit opaque identifier */
-typedef unsigned char threadref[OPAQUETHREADBYTES];
+  void push_stop_reply (struct stop_reply *new_event);
 
-/* About this many threadisds fit in a packet.  */
+  bool vcont_r_supported ();
 
-#define MAXTHREADLISTRESULTS 32
+  void packet_command (const char *args, int from_tty);
 
-/* The max number of chars in debug output.  The rest of chars are
-   omitted.  */
+private: /* data fields */
 
-#define REMOTE_DEBUG_MAX_CHAR 512
+  /* The remote state.  Don't reference this directly.  Use the
+     get_remote_state method instead.  */
+  remote_state m_remote_state;
+};
 
-/* Data for the vFile:pread readahead cache.  */
+static const target_info extended_remote_target_info = {
+  "extended-remote",
+  N_("Extended remote serial target in gdb-specific protocol"),
+  remote_doc
+};
 
-struct readahead_cache
+/* Set up the extended remote target by extending the standard remote
+   target and adding to it.  */
+
+class extended_remote_target final : public remote_target
 {
-  /* The file descriptor for the file that is being cached.  -1 if the
-     cache is invalid.  */
-  int fd;
+public:
+  const target_info &info () const override
+  { return extended_remote_target_info; }
 
-  /* The offset into the file that the cache buffer corresponds
-     to.  */
-  ULONGEST offset;
+  /* Open an extended-remote connection.  */
+  static void open (const char *, int);
 
-  /* The buffer holding the cache contents.  */
-  gdb_byte *buf;
-  /* The buffer's size.  We try to read as much as fits into a packet
-     at a time.  */
-  size_t bufsize;
+  bool can_create_inferior () override { return true; }
+  void create_inferior (const char *, const std::string &,
+			char **, int) override;
 
-  /* Cache hit and miss counters.  */
-  ULONGEST hit_count;
-  ULONGEST miss_count;
+  void detach (inferior *, int) override;
+
+  bool can_attach () override { return true; }
+  void attach (const char *, int) override;
+
+  void post_attach (int) override;
+  bool supports_disable_randomization () override;
 };
 
-/* Description of the remote protocol state for the currently
-   connected target.  This is per-target state, and independent of the
-   selected architecture.  */
+/* Per-program-space data key.  */
+static const struct program_space_data *remote_pspace_data;
 
-struct remote_state
-{
-  /* A buffer to use for incoming packets, and its current size.  The
-     buffer is grown dynamically for larger incoming packets.
-     Outgoing packets may also be constructed in this buffer.
-     BUF_SIZE is always at least REMOTE_PACKET_SIZE;
-     REMOTE_PACKET_SIZE should be used to limit the length of outgoing
-     packets.  */
-  char *buf;
-  long buf_size;
+/* The variable registered as the control variable used by the
+   remote exec-file commands.  While the remote exec-file setting is
+   per-program-space, the set/show machinery uses this as the 
+   location of the remote exec-file value.  */
+static char *remote_exec_file_var;
 
-  /* True if we're going through initial connection setup (finding out
-     about the remote side's threads, relocating symbols, etc.).  */
-  int starting_up;
+/* The size to align memory write packets, when practical.  The protocol
+   does not guarantee any alignment, and gdb will generate short
+   writes and unaligned writes, but even as a best-effort attempt this
+   can improve bulk transfers.  For instance, if a write is misaligned
+   relative to the target's data bus, the stub may need to make an extra
+   round trip fetching data from the target.  This doesn't make a
+   huge difference, but it's easy to do, so we try to be helpful.
 
-  /* If we negotiated packet size explicitly (and thus can bypass
-     heuristics for the largest packet size that will not overflow
-     a buffer in the stub), this will be set to that packet size.
-     Otherwise zero, meaning to use the guessed size.  */
-  long explicit_packet_size;
+   The alignment chosen is arbitrary; usually data bus width is
+   important here, not the possibly larger cache line size.  */
+enum { REMOTE_ALIGN_WRITES = 16 };
 
-  /* remote_wait is normally called when the target is running and
-     waits for a stop reply packet.  But sometimes we need to call it
-     when the target is already stopped.  We can send a "?" packet
-     and have remote_wait read the response.  Or, if we already have
-     the response, we can stash it in BUF and tell remote_wait to
-     skip calling getpkt.  This flag is set when BUF contains a
-     stop reply packet and the target is not waiting.  */
-  int cached_wait_status;
+/* Prototypes for local functions.  */
 
-  /* True, if in no ack mode.  That is, neither GDB nor the stub will
-     expect acks from each other.  The connection is assumed to be
-     reliable.  */
-  int noack_mode;
+static int hexnumlen (ULONGEST num);
 
-  /* True if we're connected in extended remote mode.  */
-  int extended;
+static int stubhex (int ch);
 
-  /* True if we resumed the target and we're waiting for the target to
-     stop.  In the mean time, we can't start another command/query.
-     The remote server wouldn't be ready to process it, so we'd
-     timeout waiting for a reply that would never come and eventually
-     we'd close the connection.  This can happen in asynchronous mode
-     because we allow GDB commands while the target is running.  */
-  int waiting_for_stop_reply;
+static int hexnumstr (char *, ULONGEST);
 
-  /* The status of the stub support for the various vCont actions.  */
-  struct vCont_action_support supports_vCont;
+static int hexnumnstr (char *, ULONGEST, int);
 
-  /* Nonzero if the user has pressed Ctrl-C, but the target hasn't
-     responded to that.  */
-  int ctrlc_pending_p;
+static CORE_ADDR remote_address_masked (CORE_ADDR);
 
-  /* True if we saw a Ctrl-C while reading or writing from/to the
-     remote descriptor.  At that point it is not safe to send a remote
-     interrupt packet, so we instead remember we saw the Ctrl-C and
-     process it once we're done with sending/receiving the current
-     packet, which should be shortly.  If however that takes too long,
-     and the user presses Ctrl-C again, we offer to disconnect.  */
-  int got_ctrlc_during_io;
+static void print_packet (const char *);
 
-  /* Descriptor for I/O to remote machine.  Initialize it to NULL so that
-     remote_open knows that we don't have a file open when the program
-     starts.  */
-  struct serial *remote_desc;
+static int stub_unpack_int (char *buff, int fieldlength);
 
-  /* These are the threads which we last sent to the remote system.  The
-     TID member will be -1 for all or -2 for not sent yet.  */
-  ptid_t general_thread;
-  ptid_t continue_thread;
+struct packet_config;
 
-  /* This is the traceframe which we last selected on the remote system.
-     It will be -1 if no traceframe is selected.  */
-  int remote_traceframe_number;
+static void show_packet_config_cmd (struct packet_config *config);
 
-  char *last_pass_packet;
+static void show_remote_protocol_packet_cmd (struct ui_file *file,
+					     int from_tty,
+					     struct cmd_list_element *c,
+					     const char *value);
 
-  /* The last QProgramSignals packet sent to the target.  We bypass
-     sending a new program signals list down to the target if the new
-     packet is exactly the same as the last we sent.  IOW, we only let
-     the target know about program signals list changes.  */
-  char *last_program_signals_packet;
+static ptid_t read_ptid (const char *buf, const char **obuf);
 
-  enum gdb_signal last_sent_signal;
+static void remote_async_inferior_event_handler (gdb_client_data);
 
-  int last_sent_step;
+static int remote_read_description_p (struct target_ops *target);
 
-  /* The execution direction of the last resume we got.  */
-  enum exec_direction_kind last_resume_exec_dir;
+static void remote_console_output (char *msg);
 
-  char *finished_object;
-  char *finished_annex;
-  ULONGEST finished_offset;
+static void remote_btrace_reset (remote_state *rs);
 
-  /* Should we try the 'ThreadInfo' query packet?
+static void remote_unpush_and_throw (void);
 
-     This variable (NOT available to the user: auto-detect only!)
-     determines whether GDB will use the new, simpler "ThreadInfo"
-     query or the older, more complex syntax for thread queries.
-     This is an auto-detect variable (set to true at each connect,
-     and set to false when the target fails to recognize it).  */
-  int use_threadinfo_query;
-  int use_threadextra_query;
+/* For "remote".  */
 
-  threadref echo_nextthread;
-  threadref nextthread;
-  threadref resultthreadlist[MAXTHREADLISTRESULTS];
+static struct cmd_list_element *remote_cmdlist;
 
-  /* The state of remote notification.  */
-  struct remote_notif_state *notif_state;
+/* For "set remote" and "show remote".  */
 
-  /* The branch trace configuration.  */
-  struct btrace_config btrace_config;
+static struct cmd_list_element *remote_set_cmdlist;
+static struct cmd_list_element *remote_show_cmdlist;
 
-  /* The argument to the last "vFile:setfs:" packet we sent, used
-     to avoid sending repeated unnecessary "vFile:setfs:" packets.
-     Initialized to -1 to indicate that no "vFile:setfs:" packet
-     has yet been sent.  */
-  int fs_pid;
+/* Controls whether GDB is willing to use range stepping.  */
 
-  /* A readahead cache for vFile:pread.  Often, reading a binary
-     involves a sequence of small reads.  E.g., when parsing an ELF
-     file.  A readahead cache helps mostly the case of remote
-     debugging on a connection with higher latency, due to the
-     request/reply nature of the RSP.  We only cache data for a single
-     file descriptor at a time.  */
-  struct readahead_cache readahead_cache;
-};
+static int use_range_stepping = 1;
+
+/* The max number of chars in debug output.  The rest of chars are
+   omitted.  */
+
+#define REMOTE_DEBUG_MAX_CHAR 512
 
 /* Private data that we'll store in (struct thread_info)->priv.  */
 struct remote_thread_info : public private_thread_info
@@ -476,73 +1093,22 @@ struct remote_thread_info : public priva
   int vcont_resumed = 0;
 };
 
-/* This data could be associated with a target, but we do not always
-   have access to the current target when we need it, so for now it is
-   static.  This will be fine for as long as only one target is in use
-   at a time.  */
-static struct remote_state *remote_state;
-
-static struct remote_state *
-get_remote_state_raw (void)
-{
-  return remote_state;
-}
-
-/* Allocate a new struct remote_state with xmalloc, initialize it, and
-   return it.  */
-
-static struct remote_state *
-new_remote_state (void)
+remote_state::remote_state ()
 {
-  struct remote_state *result = XCNEW (struct remote_state);
-
   /* The default buffer size is unimportant; it will be expanded
      whenever a larger buffer is needed. */
-  result->buf_size = 400;
-  result->buf = (char *) xmalloc (result->buf_size);
-  result->remote_traceframe_number = -1;
-  result->last_sent_signal = GDB_SIGNAL_0;
-  result->last_resume_exec_dir = EXEC_FORWARD;
-  result->fs_pid = -1;
-
-  return result;
+  this->buf_size = 400;
+  this->buf = (char *) xmalloc (this->buf_size);
 }
 
-/* Description of the remote protocol for a given architecture.  */
-
-struct packet_reg
-{
-  long offset; /* Offset into G packet.  */
-  long regnum; /* GDB's internal register number.  */
-  LONGEST pnum; /* Remote protocol register number.  */
-  int in_g_packet; /* Always part of G packet.  */
-  /* long size in bytes;  == register_size (target_gdbarch (), regnum);
-     at present.  */
-  /* char *name; == gdbarch_register_name (target_gdbarch (), regnum);
-     at present.  */
-};
-
-struct remote_arch_state
+remote_state::~remote_state ()
 {
-  /* Description of the remote protocol registers.  */
-  long sizeof_g_packet;
-
-  /* Description of the remote protocol registers indexed by REGNUM
-     (making an array gdbarch_num_regs in size).  */
-  struct packet_reg *regs;
-
-  /* This is the size (in chars) of the first response to the ``g''
-     packet.  It is used as a heuristic when determining the maximum
-     size of memory-read and memory-write packets.  A target will
-     typically only reserve a buffer large enough to hold the ``g''
-     packet.  The size does not include packet overhead (headers and
-     trailers).  */
-  long actual_register_packet_size;
-
-  /* This is the maximum size (in chars) of a non read/write packet.
-     It is also used as a cap on the size of read/write packets.  */
-  long remote_packet_size;
-};
+  xfree (this->last_pass_packet);
+  xfree (this->last_program_signals_packet);
+  xfree (this->buf);
+  xfree (this->finished_object);
+  xfree (this->finished_annex);
+}
 
 /* Utility: generate error from an incoming stub packet.  */
 static void
@@ -565,8 +1131,8 @@ trace_error (char *buf)
 
 /* Utility: wait for reply from stub, while accepting "O" packets.  */
 
-static char *
-remote_get_noisy_reply ()
+char *
+remote_target::remote_get_noisy_reply ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -641,30 +1207,46 @@ remote_get_noisy_reply ()
   while (1);
 }
 
-/* Handle for retreving the remote protocol data from gdbarch.  */
-static struct gdbarch_data *remote_gdbarch_data_handle;
-
-static struct remote_arch_state *
-get_remote_arch_state (struct gdbarch *gdbarch)
+struct remote_arch_state *
+remote_state::get_remote_arch_state (struct gdbarch *gdbarch)
 {
-  gdb_assert (gdbarch != NULL);
-  return ((struct remote_arch_state *)
-	  gdbarch_data (gdbarch, remote_gdbarch_data_handle));
+  remote_arch_state *rsa;
+
+  auto it = this->m_arch_states.find (gdbarch);
+  if (it == this->m_arch_states.end ())
+    {
+      auto p = this->m_arch_states.emplace (std::piecewise_construct,
+					    std::forward_as_tuple (gdbarch),
+					    std::forward_as_tuple (gdbarch));
+      rsa = &p.first->second;
+
+      /* Make sure that the packet buffer is plenty big enough for
+	 this architecture.  */
+      if (this->buf_size < rsa->remote_packet_size)
+	{
+	  this->buf_size = 2 * rsa->remote_packet_size;
+	  this->buf = (char *) xrealloc (this->buf, this->buf_size);
+	}
+    }
+  else
+    rsa = &it->second;
+
+  return rsa;
 }
 
 /* Fetch the global remote target state.  */
 
-static struct remote_state *
-get_remote_state (void)
+remote_state *
+remote_target::get_remote_state ()
 {
   /* Make sure that the remote architecture state has been
      initialized, because doing so might reallocate rs->buf.  Any
      function which calls getpkt also needs to be mindful of changes
      to rs->buf, but this call limits the number of places which run
      into trouble.  */
-  get_remote_arch_state (target_gdbarch ());
+  m_remote_state.get_remote_arch_state (target_gdbarch ());
 
-  return get_remote_state_raw ();
+  return &m_remote_state;
 }
 
 /* Cleanup routine for the remote module's pspace data.  */
@@ -806,23 +1388,16 @@ remote_register_number_and_offset (struc
   return *pnum != -1;
 }
 
-static void *
-init_remote_state (struct gdbarch *gdbarch)
+remote_arch_state::remote_arch_state (struct gdbarch *gdbarch)
 {
-  struct remote_state *rs = get_remote_state_raw ();
-  struct remote_arch_state *rsa;
-
-  rsa = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct remote_arch_state);
-
   /* Use the architecture to build a regnum<->pnum table, which will be
      1:1 unless a feature set specifies otherwise.  */
-  rsa->regs = GDBARCH_OBSTACK_CALLOC (gdbarch,
-				      gdbarch_num_regs (gdbarch),
-				      struct packet_reg);
+  this->regs.reset (new packet_reg [gdbarch_num_regs (gdbarch)] ());
 
   /* Record the maximum possible size of the g packet - it may turn out
      to be smaller.  */
-  rsa->sizeof_g_packet = map_regcache_remote_table (gdbarch, rsa->regs);
+  this->sizeof_g_packet
+    = map_regcache_remote_table (gdbarch, this->regs.get ());
 
   /* Default maximum number of characters in a packet body.  Many
      remote stubs have a hardwired buffer size of 400 bytes
@@ -831,10 +1406,10 @@ init_remote_state (struct gdbarch *gdbar
      NUL character can always fit in the buffer.  This stops GDB
      trashing stubs that try to squeeze an extra NUL into what is
      already a full buffer (As of 1999-12-04 that was most stubs).  */
-  rsa->remote_packet_size = 400 - 1;
+  this->remote_packet_size = 400 - 1;
 
   /* This one is filled in when a ``g'' packet is received.  */
-  rsa->actual_register_packet_size = 0;
+  this->actual_register_packet_size = 0;
 
   /* Should rsa->sizeof_g_packet needs more space than the
      default, adjust the size accordingly.  Remember that each byte is
@@ -842,28 +1417,28 @@ init_remote_state (struct gdbarch *gdbar
      header / footer.  NOTE: cagney/1999-10-26: I suspect that 8
      (``$NN:G...#NN'') is a better guess, the below has been padded a
      little.  */
-  if (rsa->sizeof_g_packet > ((rsa->remote_packet_size - 32) / 2))
-    rsa->remote_packet_size = (rsa->sizeof_g_packet * 2 + 32);
+  if (this->sizeof_g_packet > ((this->remote_packet_size - 32) / 2))
+    this->remote_packet_size = (this->sizeof_g_packet * 2 + 32);
+}
 
-  /* Make sure that the packet buffer is plenty big enough for
-     this architecture.  */
-  if (rs->buf_size < rsa->remote_packet_size)
-    {
-      rs->buf_size = 2 * rsa->remote_packet_size;
-      rs->buf = (char *) xrealloc (rs->buf, rs->buf_size);
-    }
+/* Get a pointer to the current remote target.  If not connected to a
+   remote target, return NULL.  */
 
-  return rsa;
+static remote_target *
+get_current_remote_target ()
+{
+  target_ops *proc_target = find_target_at (process_stratum);
+  return dynamic_cast<remote_target *> (proc_target);
 }
 
 /* Return the current allowed size of a remote packet.  This is
    inferred from the current architecture, and should be used to
    limit the length of outgoing packets.  */
-static long
-get_remote_packet_size (void)
+long
+remote_target::get_remote_packet_size ()
 {
   struct remote_state *rs = get_remote_state ();
-  remote_arch_state *rsa = get_remote_arch_state (target_gdbarch ());
+  remote_arch_state *rsa = rs->get_remote_arch_state (target_gdbarch ());
 
   if (rs->explicit_packet_size)
     return rs->explicit_packet_size;
@@ -902,19 +1477,6 @@ packet_reg_from_pnum (struct gdbarch *gd
   return NULL;
 }
 
-static struct target_ops remote_ops;
-
-static struct target_ops extended_remote_ops;
-
-/* FIXME: cagney/1999-09-23: Even though getpkt was called with
-   ``forever'' still use the normal timeout mechanism.  This is
-   currently used by the ASYNC code to guarentee that target reads
-   during the initial connect always time-out.  Once getpkt has been
-   modified to return a timeout indication and, in turn
-   remote_wait()/wait_for_inferior() have gained a timeout parameter
-   this can go away.  */
-static int wait_forever_enabled_p = 1;
-
 /* Allow the user to specify what sequence to send to the remote
    when he requests a program interruption: Although ^C is usually
    what remote systems expect (this is the default, here), it is
@@ -1014,33 +1576,41 @@ struct memory_packet_config
   int fixed_p;
 };
 
-/* The default max memory-write-packet-size.  The 16k is historical.
-   (It came from older GDB's using alloca for buffers and the
-   knowledge (folklore?) that some hosts don't cope very well with
-   large alloca calls.)  */
-#define DEFAULT_MAX_MEMORY_PACKET_SIZE 16384
+/* The default max memory-write-packet-size, when the setting is
+   "fixed".  The 16k is historical.  (It came from older GDB's using
+   alloca for buffers and the knowledge (folklore?) that some hosts
+   don't cope very well with large alloca calls.)  */
+#define DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED 16384
 
 /* The minimum remote packet size for memory transfers.  Ensures we
    can write at least one byte.  */
 #define MIN_MEMORY_PACKET_SIZE 20
 
+/* Get the memory packet size, assuming it is fixed.  */
+
+static long
+get_fixed_memory_packet_size (struct memory_packet_config *config)
+{
+  gdb_assert (config->fixed_p);
+
+  if (config->size <= 0)
+    return DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED;
+  else
+    return config->size;
+}
+
 /* Compute the current size of a read/write packet.  Since this makes
    use of ``actual_register_packet_size'' the computation is dynamic.  */
 
-static long
-get_memory_packet_size (struct memory_packet_config *config)
+long
+remote_target::get_memory_packet_size (struct memory_packet_config *config)
 {
   struct remote_state *rs = get_remote_state ();
-  remote_arch_state *rsa = get_remote_arch_state (target_gdbarch ());
+  remote_arch_state *rsa = rs->get_remote_arch_state (target_gdbarch ());
 
   long what_they_get;
   if (config->fixed_p)
-    {
-      if (config->size <= 0)
-	what_they_get = DEFAULT_MAX_MEMORY_PACKET_SIZE;
-      else
-	what_they_get = config->size;
-    }
+    what_they_get = get_fixed_memory_packet_size (config);
   else
     {
       what_they_get = get_remote_packet_size ();
@@ -1100,16 +1670,17 @@ set_memory_packet_size (const char *args
 	 something arbitrarily large.  */
     }
 
-  /* So that the query shows the correct value.  */
-  if (size <= 0)
-    size = DEFAULT_MAX_MEMORY_PACKET_SIZE;
-
   /* Extra checks?  */
   if (fixed_p && !config->fixed_p)
     {
+      /* So that the query shows the correct value.  */
+      long query_size = (size <= 0
+			 ? DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED
+			 : size);
+
       if (! query (_("The target may not be able to correctly handle a %s\n"
 		   "of %ld bytes. Change the packet size? "),
-		   config->name, size))
+		   config->name, query_size))
 	error (_("Packet size not changed."));
     }
   /* Update the config.  */
@@ -1120,13 +1691,24 @@ set_memory_packet_size (const char *args
 static void
 show_memory_packet_size (struct memory_packet_config *config)
 {
-  printf_filtered (_("The %s is %ld. "), config->name, config->size);
+  if (config->size == 0)
+    printf_filtered (_("The %s is 0 (default). "), config->name);
+  else
+    printf_filtered (_("The %s is %ld. "), config->name, config->size);
   if (config->fixed_p)
     printf_filtered (_("Packets are fixed at %ld bytes.\n"),
-		     get_memory_packet_size (config));
+		     get_fixed_memory_packet_size (config));
   else
-    printf_filtered (_("Packets are limited to %ld bytes.\n"),
-		     get_memory_packet_size (config));
+    {
+      remote_target *remote = get_current_remote_target ();
+
+      if (remote != NULL)
+	printf_filtered (_("Packets are limited to %ld bytes.\n"),
+			 remote->get_memory_packet_size (config));
+      else
+	puts_filtered ("The actual limit will be further reduced "
+		       "dependent on the target.\n");
+    }
 }
 
 static struct memory_packet_config memory_write_packet_config =
@@ -1146,8 +1728,8 @@ show_memory_write_packet_size (const cha
   show_memory_packet_size (&memory_write_packet_config);
 }
 
-static long
-get_memory_write_packet_size (void)
+long
+remote_target::get_memory_write_packet_size ()
 {
   return get_memory_packet_size (&memory_write_packet_config);
 }
@@ -1169,8 +1751,8 @@ show_memory_read_packet_size (const char
   show_memory_packet_size (&memory_read_packet_config);
 }
 
-static long
-get_memory_read_packet_size (void)
+long
+remote_target::get_memory_read_packet_size ()
 {
   long size = get_memory_packet_size (&memory_read_packet_config);
 
@@ -1183,16 +1765,6 @@ get_memory_read_packet_size (void)
 }
 
 
-/* Generic configuration support for packets the stub optionally
-   supports.  Allows the user to specify the use of the packet as well
-   as allowing GDB to auto-detect support in the remote stub.  */
-
-enum packet_support
-  {
-    PACKET_SUPPORT_UNKNOWN = 0,
-    PACKET_ENABLE,
-    PACKET_DISABLE
-  };
 
 struct packet_config
   {
@@ -1210,16 +1782,6 @@ struct packet_config
     enum packet_support support;
   };
 
-/* Analyze a packet's return value and update the packet config
-   accordingly.  */
-
-enum packet_result
-{
-  PACKET_ERROR,
-  PACKET_OK,
-  PACKET_UNKNOWN
-};
-
 static enum packet_support packet_config_support (struct packet_config *config);
 static enum packet_support packet_support (int packet);
 
@@ -1656,8 +2218,8 @@ remote_exec_event_p (struct remote_state
 /* Insert fork catchpoint target routine.  If fork events are enabled
    then return success, nothing more to do.  */
 
-static int
-remote_insert_fork_catchpoint (struct target_ops *ops, int pid)
+int
+remote_target::insert_fork_catchpoint (int pid)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -1667,8 +2229,8 @@ remote_insert_fork_catchpoint (struct ta
 /* Remove fork catchpoint target routine.  Nothing to do, just
    return success.  */
 
-static int
-remote_remove_fork_catchpoint (struct target_ops *ops, int pid)
+int
+remote_target::remove_fork_catchpoint (int pid)
 {
   return 0;
 }
@@ -1676,8 +2238,8 @@ remote_remove_fork_catchpoint (struct ta
 /* Insert vfork catchpoint target routine.  If vfork events are enabled
    then return success, nothing more to do.  */
 
-static int
-remote_insert_vfork_catchpoint (struct target_ops *ops, int pid)
+int
+remote_target::insert_vfork_catchpoint (int pid)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -1687,8 +2249,8 @@ remote_insert_vfork_catchpoint (struct t
 /* Remove vfork catchpoint target routine.  Nothing to do, just
    return success.  */
 
-static int
-remote_remove_vfork_catchpoint (struct target_ops *ops, int pid)
+int
+remote_target::remove_vfork_catchpoint (int pid)
 {
   return 0;
 }
@@ -1696,8 +2258,8 @@ remote_remove_vfork_catchpoint (struct t
 /* Insert exec catchpoint target routine.  If exec events are
    enabled, just return success.  */
 
-static int
-remote_insert_exec_catchpoint (struct target_ops *ops, int pid)
+int
+remote_target::insert_exec_catchpoint (int pid)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -1707,19 +2269,13 @@ remote_insert_exec_catchpoint (struct ta
 /* Remove exec catchpoint target routine.  Nothing to do, just
    return success.  */
 
-static int
-remote_remove_exec_catchpoint (struct target_ops *ops, int pid)
+int
+remote_target::remove_exec_catchpoint (int pid)
 {
   return 0;
 }
 
 
-/* Asynchronous signal handle registered as event loop source for
-   when we have pending events ready to be passed to the core.  */
-
-static struct async_event_handler *remote_async_inferior_event_token;
-
-
 
 static ptid_t magic_null_ptid;
 static ptid_t not_sent_ptid;
@@ -1728,8 +2284,8 @@ static ptid_t any_thread_ptid;
 /* Find out if the stub attached to PID (and hence GDB should offer to
    detach instead of killing it when bailing out).  */
 
-static int
-remote_query_attached (int pid)
+int
+remote_target::remote_query_attached (int pid)
 {
   struct remote_state *rs = get_remote_state ();
   size_t size = get_remote_packet_size ();
@@ -1773,9 +2329,9 @@ remote_query_attached (int pid)
    attempt to open this inferior's executable as the main executable
    if no main executable is open already.  */
 
-static struct inferior *
-remote_add_inferior (int fake_pid_p, int pid, int attached,
-		     int try_open_exec)
+inferior *
+remote_target::remote_add_inferior (int fake_pid_p, int pid, int attached,
+				    int try_open_exec)
 {
   struct inferior *inf;
 
@@ -1818,12 +2374,13 @@ remote_add_inferior (int fake_pid_p, int
 }
 
 static remote_thread_info *get_remote_thread_info (thread_info *thread);
+static remote_thread_info *get_remote_thread_info (ptid_t ptid);
 
 /* Add thread PTID to GDB's thread list.  Tag it as executing/running
    according to RUNNING.  */
 
-static void
-remote_add_thread (ptid_t ptid, int running, int executing)
+thread_info *
+remote_target::remote_add_thread (ptid_t ptid, bool running, bool executing)
 {
   struct remote_state *rs = get_remote_state ();
   struct thread_info *thread;
@@ -1842,6 +2399,8 @@ remote_add_thread (ptid_t ptid, int runn
   get_remote_thread_info (thread)->vcont_resumed = executing;
   set_executing (ptid, executing);
   set_running (ptid, running);
+
+  return thread;
 }
 
 /* Come here when we learn about a thread id from the remote target.
@@ -1851,8 +2410,8 @@ remote_add_thread (ptid_t ptid, int runn
    GDB's inferior list as well.  EXECUTING indicates whether the
    thread is (internally) executing or stopped.  */
 
-static void
-remote_notice_new_inferior (ptid_t currthread, int executing)
+void
+remote_target::remote_notice_new_inferior (ptid_t currthread, int executing)
 {
   /* In non-stop mode, we assume new found threads are (externally)
      running until proven otherwise with a stop reply.  In all-stop,
@@ -1862,7 +2421,8 @@ remote_notice_new_inferior (ptid_t currt
   /* If this is a new thread, add it to GDB's thread list.
      If we leave it up to WFI to do this, bad things will happen.  */
 
-  if (in_thread_list (currthread) && is_exited (currthread))
+  thread_info *tp = find_thread_ptid (currthread);
+  if (tp != NULL && tp->state == THREAD_EXITED)
     {
       /* We're seeing an event on a thread id we knew had exited.
 	 This has to be a new thread reusing the old id.  Add it.  */
@@ -1873,17 +2433,17 @@ remote_notice_new_inferior (ptid_t currt
   if (!in_thread_list (currthread))
     {
       struct inferior *inf = NULL;
-      int pid = ptid_get_pid (currthread);
+      int pid = currthread.pid ();
 
-      if (ptid_is_pid (inferior_ptid)
-	  && pid == ptid_get_pid (inferior_ptid))
+      if (inferior_ptid.is_pid ()
+	  && pid == inferior_ptid.pid ())
 	{
 	  /* inferior_ptid has no thread member yet.  This can happen
 	     with the vAttach -> remote_wait,"TAAthread:" path if the
 	     stub doesn't support qC.  This is the first stop reported
 	     after an attach, so this is the main thread.  Update the
 	     ptid in the thread list.  */
-	  if (in_thread_list (pid_to_ptid (pid)))
+	  if (in_thread_list (ptid_t (pid)))
 	    thread_change_ptid (inferior_ptid, currthread);
 	  else
 	    {
@@ -1893,7 +2453,7 @@ remote_notice_new_inferior (ptid_t currt
 	  return;
 	}
 
-      if (ptid_equal (magic_null_ptid, inferior_ptid))
+      if (magic_null_ptid == inferior_ptid)
 	{
 	  /* inferior_ptid is not set yet.  This can happen with the
 	     vRun -> remote_wait,"TAAthread:" path if the stub
@@ -1908,17 +2468,18 @@ remote_notice_new_inferior (ptid_t currt
 	 extended-remote which already was debugging an inferior, we
 	 may not know about it yet.  Add it before adding its child
 	 thread, so notifications are emitted in a sensible order.  */
-      if (!in_inferior_list (ptid_get_pid (currthread)))
+      if (find_inferior_pid (currthread.pid ()) == NULL)
 	{
 	  struct remote_state *rs = get_remote_state ();
 	  int fake_pid_p = !remote_multi_process_p (rs);
 
 	  inf = remote_add_inferior (fake_pid_p,
-				     ptid_get_pid (currthread), -1, 1);
+				     currthread.pid (), -1, 1);
 	}
 
       /* This is really a new thread.  Add it.  */
-      remote_add_thread (currthread, running, executing);
+      thread_info *new_thr
+	= remote_add_thread (currthread, running, executing);
 
       /* If we found a new inferior, let the common code do whatever
 	 it needs to with it (e.g., read shared libraries, insert
@@ -1929,7 +2490,7 @@ remote_notice_new_inferior (ptid_t currt
 	  struct remote_state *rs = get_remote_state ();
 
 	  if (!rs->starting_up)
-	    notice_new_inferior (currthread, executing, 0);
+	    notice_new_inferior (new_thr, executing, 0);
 	}
     }
 }
@@ -1947,14 +2508,11 @@ get_remote_thread_info (thread_info *thr
   return static_cast<remote_thread_info *> (thread->priv.get ());
 }
 
-/* Return PTID's private thread data, creating it if necessary.  */
-
 static remote_thread_info *
 get_remote_thread_info (ptid_t ptid)
 {
-  struct thread_info *info = find_thread_ptid (ptid);
-
-  return get_remote_thread_info (info);
+  thread_info *thr = find_thread_ptid (ptid);
+  return get_remote_thread_info (thr);
 }
 
 /* Call this function as a result of
@@ -1971,9 +2529,8 @@ record_currthread (struct remote_state *
 /* If 'QPassSignals' is supported, tell the remote stub what signals
    it can simply pass through to the inferior without reporting.  */
 
-static void
-remote_pass_signals (struct target_ops *self,
-		     int numsigs, unsigned char *pass_signals)
+void
+remote_target::pass_signals (int numsigs, unsigned char *pass_signals)
 {
   if (packet_support (PACKET_QPassSignals) != PACKET_DISABLE)
     {
@@ -2022,10 +2579,9 @@ remote_pass_signals (struct target_ops *
 /* If 'QCatchSyscalls' is supported, tell the remote stub
    to report syscalls to GDB.  */
 
-static int
-remote_set_syscall_catchpoint (struct target_ops *self,
-			       int pid, bool needed, int any_count,
-			       gdb::array_view<const int> syscall_counts)
+int
+remote_target::set_syscall_catchpoint (int pid, bool needed, int any_count,
+				       gdb::array_view<const int> syscall_counts)
 {
   const char *catch_packet;
   enum packet_result result;
@@ -2099,9 +2655,8 @@ remote_set_syscall_catchpoint (struct ta
 /* If 'QProgramSignals' is supported, tell the remote stub what
    signals it should pass through to the inferior when detaching.  */
 
-static void
-remote_program_signals (struct target_ops *self,
-			int numsigs, unsigned char *signals)
+void
+remote_target::program_signals (int numsigs, unsigned char *signals)
 {
   if (packet_support (PACKET_QProgramSignals) != PACKET_DISABLE)
     {
@@ -2151,24 +2706,24 @@ remote_program_signals (struct target_op
    MINUS_ONE_PTID, set the thread to -1, so the stub returns the
    thread.  If GEN is set, set the general thread, if not, then set
    the step/continue thread.  */
-static void
-set_thread (ptid_t ptid, int gen)
+void
+remote_target::set_thread (ptid_t ptid, int gen)
 {
   struct remote_state *rs = get_remote_state ();
   ptid_t state = gen ? rs->general_thread : rs->continue_thread;
   char *buf = rs->buf;
   char *endbuf = rs->buf + get_remote_packet_size ();
 
-  if (ptid_equal (state, ptid))
+  if (state == ptid)
     return;
 
   *buf++ = 'H';
   *buf++ = gen ? 'g' : 'c';
-  if (ptid_equal (ptid, magic_null_ptid))
+  if (ptid == magic_null_ptid)
     xsnprintf (buf, endbuf - buf, "0");
-  else if (ptid_equal (ptid, any_thread_ptid))
+  else if (ptid == any_thread_ptid)
     xsnprintf (buf, endbuf - buf, "0");
-  else if (ptid_equal (ptid, minus_one_ptid))
+  else if (ptid == minus_one_ptid)
     xsnprintf (buf, endbuf - buf, "-1");
   else
     write_ptid (buf, endbuf, ptid);
@@ -2180,14 +2735,14 @@ set_thread (ptid_t ptid, int gen)
     rs->continue_thread = ptid;
 }
 
-static void
-set_general_thread (ptid_t ptid)
+void
+remote_target::set_general_thread (ptid_t ptid)
 {
   set_thread (ptid, 1);
 }
 
-static void
-set_continue_thread (ptid_t ptid)
+void
+remote_target::set_continue_thread (ptid_t ptid)
 {
   set_thread (ptid, 0);
 }
@@ -2201,8 +2756,8 @@ set_continue_thread (ptid_t ptid)
    general operations is the process the selected general thread
    belongs to.  */
 
-static void
-set_general_process (void)
+void
+remote_target::set_general_process ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -2212,7 +2767,7 @@ set_general_process (void)
 
   /* We only need to change the remote current thread if it's pointing
      at some other process.  */
-  if (ptid_get_pid (rs->general_thread) != ptid_get_pid (inferior_ptid))
+  if (rs->general_thread.pid () != inferior_ptid.pid ())
     set_general_thread (inferior_ptid);
 }
 
@@ -2221,13 +2776,13 @@ set_general_process (void)
    to model non-threaded targets as single-threaded.  */
 
 static int
-remote_thread_always_alive (struct target_ops *ops, ptid_t ptid)
+remote_thread_always_alive (ptid_t ptid)
 {
-  if (ptid_equal (ptid, magic_null_ptid))
+  if (ptid == magic_null_ptid)
     /* The main thread is always alive.  */
     return 1;
 
-  if (ptid_get_pid (ptid) != 0 && ptid_get_lwp (ptid) == 0)
+  if (ptid.pid () != 0 && ptid.lwp () == 0)
     /* The main thread is always alive.  This can happen after a
        vAttach, if the remote side doesn't support
        multi-threading.  */
@@ -2239,15 +2794,15 @@ remote_thread_always_alive (struct targe
 /* Return nonzero if the thread PTID is still alive on the remote
    system.  */
 
-static int
-remote_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+remote_target::thread_alive (ptid_t ptid)
 {
   struct remote_state *rs = get_remote_state ();
   char *p, *endp;
 
   /* Check if this is a thread that we made up ourselves to model
      non-threaded targets as single-threaded.  */
-  if (remote_thread_always_alive (ops, ptid))
+  if (remote_thread_always_alive (ptid))
     return 1;
 
   p = rs->buf;
@@ -2264,8 +2819,8 @@ remote_thread_alive (struct target_ops *
 /* Return a pointer to a thread name if we know it and NULL otherwise.
    The thread_info object owns the memory for the name.  */
 
-static const char *
-remote_thread_name (struct target_ops *ops, struct thread_info *info)
+const char *
+remote_target::thread_name (struct thread_info *info)
 {
   if (info->priv != NULL)
     {
@@ -2344,38 +2899,10 @@ static int threadmatch (threadref *dest,
 static char *pack_threadinfo_request (char *pkt, int mode,
 				      threadref *id);
 
-static int remote_unpack_thread_info_response (char *pkt,
-					       threadref *expectedref,
-					       struct gdb_ext_thread_info
-					       *info);
-
-
-static int remote_get_threadinfo (threadref *threadid,
-				  int fieldset,	/*TAG mask */
-				  struct gdb_ext_thread_info *info);
-
 static char *pack_threadlist_request (char *pkt, int startflag,
 				      int threadcount,
 				      threadref *nextthread);
 
-static int parse_threadlist_response (char *pkt,
-				      int result_limit,
-				      threadref *original_echo,
-				      threadref *resultlist,
-				      int *doneflag);
-
-static int remote_get_threadlist (int startflag,
-				  threadref *nextthread,
-				  int result_limit,
-				  int *done,
-				  int *result_count,
-				  threadref *threadlist);
-
-typedef int (*rmt_thread_action) (threadref *ref, void *context);
-
-static int remote_threadlist_iterator (rmt_thread_action stepfunction,
-				       void *context, int looplimit);
-
 static int remote_newthread_step (threadref *ref, void *context);
 
 
@@ -2383,21 +2910,21 @@ static int remote_newthread_step (thread
    buffer we're allowed to write to.  Returns
    BUF+CHARACTERS_WRITTEN.  */
 
-static char *
-write_ptid (char *buf, const char *endbuf, ptid_t ptid)
+char *
+remote_target::write_ptid (char *buf, const char *endbuf, ptid_t ptid)
 {
   int pid, tid;
   struct remote_state *rs = get_remote_state ();
 
   if (remote_multi_process_p (rs))
     {
-      pid = ptid_get_pid (ptid);
+      pid = ptid.pid ();
       if (pid < 0)
 	buf += xsnprintf (buf, endbuf - buf, "p-%x.", -pid);
       else
 	buf += xsnprintf (buf, endbuf - buf, "p%x.", pid);
     }
-  tid = ptid_get_lwp (ptid);
+  tid = ptid.lwp ();
   if (tid < 0)
     buf += xsnprintf (buf, endbuf - buf, "-%x", -tid);
   else
@@ -2428,7 +2955,7 @@ read_ptid (const char *buf, const char *
       pp = unpack_varlen_hex (p + 1, &tid);
       if (obuf)
 	*obuf = pp;
-      return ptid_build (pid, tid, 0);
+      return ptid_t (pid, tid, 0);
     }
 
   /* No multi-process.  Just a tid.  */
@@ -2446,14 +2973,14 @@ read_ptid (const char *buf, const char *
      what's in inferior_ptid, unless it's null at this point.  If so,
      then since there's no way to know the pid of the reported
      threads, use the magic number.  */
-  if (ptid_equal (inferior_ptid, null_ptid))
-    pid = ptid_get_pid (magic_null_ptid);
+  if (inferior_ptid == null_ptid)
+    pid = magic_null_ptid.pid ();
   else
-    pid = ptid_get_pid (inferior_ptid);
+    pid = inferior_ptid.pid ();
 
   if (obuf)
     *obuf = pp;
-  return ptid_build (pid, tid, 0);
+  return ptid_t (pid, tid, 0);
 }
 
 static int
@@ -2681,9 +3208,10 @@ pack_threadinfo_request (char *pkt, int 
 #define TAG_MOREDISPLAY 16	/* Whatever the kernel wants to say about
 				   the process.  */
 
-static int
-remote_unpack_thread_info_response (char *pkt, threadref *expectedref,
-				    struct gdb_ext_thread_info *info)
+int
+remote_target::remote_unpack_thread_info_response (char *pkt,
+						   threadref *expectedref,
+						   gdb_ext_thread_info *info)
 {
   struct remote_state *rs = get_remote_state ();
   int mask, length;
@@ -2774,9 +3302,10 @@ remote_unpack_thread_info_response (char
   return retval;
 }
 
-static int
-remote_get_threadinfo (threadref *threadid, int fieldset,	/* TAG mask */
-		       struct gdb_ext_thread_info *info)
+int
+remote_target::remote_get_threadinfo (threadref *threadid,
+				      int fieldset,
+				      gdb_ext_thread_info *info)
 {
   struct remote_state *rs = get_remote_state ();
   int result;
@@ -2810,10 +3339,11 @@ pack_threadlist_request (char *pkt, int 
 
 /* Encoding:   'q':8,'M':8,count:16,done:8,argthreadid:64,(threadid:64)* */
 
-static int
-parse_threadlist_response (char *pkt, int result_limit,
-			   threadref *original_echo, threadref *resultlist,
-			   int *doneflag)
+int
+remote_target::parse_threadlist_response (char *pkt, int result_limit,
+					  threadref *original_echo,
+					  threadref *resultlist,
+					  int *doneflag)
 {
   struct remote_state *rs = get_remote_state ();
   char *limit;
@@ -2841,9 +3371,10 @@ parse_threadlist_response (char *pkt, in
 /* Fetch the next batch of threads from the remote.  Returns -1 if the
    qL packet is not supported, 0 on error and 1 on success.  */
 
-static int
-remote_get_threadlist (int startflag, threadref *nextthread, int result_limit,
-		       int *done, int *result_count, threadref *threadlist)
+int
+remote_target::remote_get_threadlist (int startflag, threadref *nextthread,
+				      int result_limit, int *done, int *result_count,
+				      threadref *threadlist)
 {
   struct remote_state *rs = get_remote_state ();
   int result = 1;
@@ -2903,9 +3434,9 @@ remote_get_threadlist (int startflag, th
    STEPFUNCTION returns false.  If the packet is not supported,
    returns -1.  */
 
-static int
-remote_threadlist_iterator (rmt_thread_action stepfunction, void *context,
-			    int looplimit)
+int
+remote_target::remote_threadlist_iterator (rmt_thread_action stepfunction,
+					   void *context, int looplimit)
 {
   struct remote_state *rs = get_remote_state ();
   int done, i, result_count;
@@ -3036,8 +3567,8 @@ remote_newthread_step (threadref *ref, v
 
 #define CRAZY_MAX_THREADS 1000
 
-static ptid_t
-remote_current_thread (ptid_t oldpid)
+ptid_t
+remote_target::remote_current_thread (ptid_t oldpid)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -3061,9 +3592,8 @@ remote_current_thread (ptid_t oldpid)
 
 /* List remote threads using the deprecated qL packet.  */
 
-static int
-remote_get_threads_with_ql (struct target_ops *ops,
-			    struct threads_listing_context *context)
+int
+remote_target::remote_get_threads_with_ql (threads_listing_context *context)
 {
   if (remote_threadlist_iterator (remote_newthread_step, context,
 				  CRAZY_MAX_THREADS) >= 0)
@@ -3077,13 +3607,14 @@ remote_get_threads_with_ql (struct targe
 static void
 start_thread (struct gdb_xml_parser *parser,
 	      const struct gdb_xml_element *element,
-	      void *user_data, VEC(gdb_xml_value_s) *attributes)
+	      void *user_data,
+	      std::vector<gdb_xml_value> &attributes)
 {
   struct threads_listing_context *data
     = (struct threads_listing_context *) user_data;
   struct gdb_xml_value *attr;
 
-  char *id = (char *) xml_find_attribute (attributes, "id")->value;
+  char *id = (char *) xml_find_attribute (attributes, "id")->value.get ();
   ptid_t ptid = read_ptid (id, NULL);
 
   data->items.emplace_back (ptid);
@@ -3091,15 +3622,15 @@ start_thread (struct gdb_xml_parser *par
 
   attr = xml_find_attribute (attributes, "core");
   if (attr != NULL)
-    item.core = *(ULONGEST *) attr->value;
+    item.core = *(ULONGEST *) attr->value.get ();
 
   attr = xml_find_attribute (attributes, "name");
   if (attr != NULL)
-    item.name = (const char *) attr->value;
+    item.name = (const char *) attr->value.get ();
 
   attr = xml_find_attribute (attributes, "handle");
   if (attr != NULL)
-    item.thread_handle = hex2bin ((const char *) attr->value);
+    item.thread_handle = hex2bin ((const char *) attr->value.get ());
 }
 
 static void
@@ -3143,20 +3674,19 @@ const struct gdb_xml_element threads_ele
 
 /* List remote threads using qXfer:threads:read.  */
 
-static int
-remote_get_threads_with_qxfer (struct target_ops *ops,
-			       struct threads_listing_context *context)
+int
+remote_target::remote_get_threads_with_qxfer (threads_listing_context *context)
 {
 #if defined(HAVE_LIBEXPAT)
   if (packet_support (PACKET_qXfer_threads) == PACKET_ENABLE)
     {
-      gdb::unique_xmalloc_ptr<char> xml
-	= target_read_stralloc (ops, TARGET_OBJECT_THREADS, NULL);
+      gdb::optional<gdb::char_vector> xml
+	= target_read_stralloc (this, TARGET_OBJECT_THREADS, NULL);
 
-      if (xml != NULL && *xml != '\0')
+      if (xml && (*xml)[0] != '\0')
 	{
 	  gdb_xml_parse_quick (_("threads"), "threads.dtd",
-			       threads_elements, xml.get (), context);
+			       threads_elements, xml->data (), context);
 	}
 
       return 1;
@@ -3168,9 +3698,8 @@ remote_get_threads_with_qxfer (struct ta
 
 /* List remote threads using qfThreadInfo/qsThreadInfo.  */
 
-static int
-remote_get_threads_with_qthreadinfo (struct target_ops *ops,
-				     struct threads_listing_context *context)
+int
+remote_target::remote_get_threads_with_qthreadinfo (threads_listing_context *context)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -3210,8 +3739,8 @@ remote_get_threads_with_qthreadinfo (str
 /* Implement the to_update_thread_list function for the remote
    targets.  */
 
-static void
-remote_update_thread_list (struct target_ops *ops)
+void
+remote_target::update_thread_list ()
 {
   struct threads_listing_context context;
   int got_list = 0;
@@ -3219,16 +3748,16 @@ remote_update_thread_list (struct target
   /* We have a few different mechanisms to fetch the thread list.  Try
      them all, starting with the most preferred one first, falling
      back to older methods.  */
-  if (remote_get_threads_with_qxfer (ops, &context)
-      || remote_get_threads_with_qthreadinfo (ops, &context)
-      || remote_get_threads_with_ql (ops, &context))
+  if (remote_get_threads_with_qxfer (&context)
+      || remote_get_threads_with_qthreadinfo (&context)
+      || remote_get_threads_with_ql (&context))
     {
       struct thread_info *tp, *tmp;
 
       got_list = 1;
 
       if (context.items.empty ()
-	  && remote_thread_always_alive (ops, inferior_ptid))
+	  && remote_thread_always_alive (inferior_ptid))
 	{
 	  /* Some targets don't really support threads, but still
 	     reply an (empty) thread list in response to the thread
@@ -3246,7 +3775,7 @@ remote_update_thread_list (struct target
 	  if (!context.contains_thread (tp->ptid))
 	    {
 	      /* Not found.  */
-	      delete_thread (tp->ptid);
+	      delete_thread (tp);
 	    }
 	}
 
@@ -3268,7 +3797,8 @@ remote_update_thread_list (struct target
 
 	      remote_notice_new_inferior (item.ptid, executing);
 
-	      remote_thread_info *info = get_remote_thread_info (item.ptid);
+	      thread_info *tp = find_thread_ptid (item.ptid);
+	      remote_thread_info *info = get_remote_thread_info (tp);
 	      info->core = item.core;
 	      info->extra = std::move (item.extra);
 	      info->name = std::move (item.name);
@@ -3296,38 +3826,36 @@ remote_update_thread_list (struct target
  * Optional: targets are not required to implement this function.
  */
 
-static const char *
-remote_threads_extra_info (struct target_ops *self, struct thread_info *tp)
+const char *
+remote_target::extra_thread_info (thread_info *tp)
 {
   struct remote_state *rs = get_remote_state ();
-  int result;
   int set;
   threadref id;
   struct gdb_ext_thread_info threadinfo;
-  static char display_buf[100];	/* arbitrary...  */
-  int n = 0;                    /* position in display_buf */
 
   if (rs->remote_desc == 0)		/* paranoia */
     internal_error (__FILE__, __LINE__,
 		    _("remote_threads_extra_info"));
 
-  if (ptid_equal (tp->ptid, magic_null_ptid)
-      || (ptid_get_pid (tp->ptid) != 0 && ptid_get_lwp (tp->ptid) == 0))
+  if (tp->ptid == magic_null_ptid
+      || (tp->ptid.pid () != 0 && tp->ptid.lwp () == 0))
     /* This is the main thread which was added by GDB.  The remote
        server doesn't know about it.  */
     return NULL;
 
+  std::string &extra = get_remote_thread_info (tp)->extra;
+
+  /* If already have cached info, use it.  */
+  if (!extra.empty ())
+    return extra.c_str ();
+
   if (packet_support (PACKET_qXfer_threads) == PACKET_ENABLE)
     {
-      struct thread_info *info = find_thread_ptid (tp->ptid);
-
-      if (info != NULL && info->priv != NULL)
-	{
-	  const std::string &extra = get_remote_thread_info (info)->extra;
-	  return !extra.empty () ? extra.c_str () : NULL;
-	}
-      else
-	return NULL;
+      /* If we're using qXfer:threads:read, then the extra info is
+	 included in the XML.  So if we didn't have anything cached,
+	 it's because there's really no extra info.  */
+      return NULL;
     }
 
   if (rs->use_threadextra_query)
@@ -3343,10 +3871,9 @@ remote_threads_extra_info (struct target
       getpkt (&rs->buf, &rs->buf_size, 0);
       if (rs->buf[0] != 0)
 	{
-	  n = std::min (strlen (rs->buf) / 2, sizeof (display_buf));
-	  result = hex2bin (rs->buf, (gdb_byte *) display_buf, n);
-	  display_buf [result] = '\0';
-	  return display_buf;
+	  extra.resize (strlen (rs->buf) / 2);
+	  hex2bin (rs->buf, (gdb_byte *) &extra[0], extra.size ());
+	  return extra.c_str ();
 	}
     }
 
@@ -3354,35 +3881,33 @@ remote_threads_extra_info (struct target
   rs->use_threadextra_query = 0;
   set = TAG_THREADID | TAG_EXISTS | TAG_THREADNAME
     | TAG_MOREDISPLAY | TAG_DISPLAY;
-  int_to_threadref (&id, ptid_get_lwp (tp->ptid));
+  int_to_threadref (&id, tp->ptid.lwp ());
   if (remote_get_threadinfo (&id, set, &threadinfo))
     if (threadinfo.active)
       {
 	if (*threadinfo.shortname)
-	  n += xsnprintf (&display_buf[0], sizeof (display_buf) - n,
-			  " Name: %s,", threadinfo.shortname);
+	  string_appendf (extra, " Name: %s", threadinfo.shortname);
 	if (*threadinfo.display)
-	  n += xsnprintf (&display_buf[n], sizeof (display_buf) - n,
-			  " State: %s,", threadinfo.display);
+	  {
+	    if (!extra.empty ())
+	      extra += ',';
+	    string_appendf (extra, " State: %s", threadinfo.display);
+	  }
 	if (*threadinfo.more_display)
-	  n += xsnprintf (&display_buf[n], sizeof (display_buf) - n,
-			  " Priority: %s", threadinfo.more_display);
-
-	if (n > 0)
 	  {
-	    /* For purely cosmetic reasons, clear up trailing commas.  */
-	    if (',' == display_buf[n-1])
-	      display_buf[n-1] = ' ';
-	    return display_buf;
+	    if (!extra.empty ())
+	      extra += ',';
+	    string_appendf (extra, " Priority: %s", threadinfo.more_display);
 	  }
+	return extra.c_str ();
       }
   return NULL;
 }
 
 
-static int
-remote_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR addr,
-				    struct static_tracepoint_marker *marker)
+bool
+remote_target::static_tracepoint_marker_at (CORE_ADDR addr,
+					    struct static_tracepoint_marker *marker)
 {
   struct remote_state *rs = get_remote_state ();
   char *p = rs->buf;
@@ -3400,21 +3925,19 @@ remote_static_tracepoint_marker_at (stru
   if (*p++ == 'm')
     {
       parse_static_tracepoint_marker_definition (p, NULL, marker);
-      return 1;
+      return true;
     }
 
-  return 0;
+  return false;
 }
 
-static VEC(static_tracepoint_marker_p) *
-remote_static_tracepoint_markers_by_strid (struct target_ops *self,
-					   const char *strid)
+std::vector<static_tracepoint_marker>
+remote_target::static_tracepoint_markers_by_strid (const char *strid)
 {
   struct remote_state *rs = get_remote_state ();
-  VEC(static_tracepoint_marker_p) *markers = NULL;
-  struct static_tracepoint_marker *marker = NULL;
-  struct cleanup *old_chain;
+  std::vector<static_tracepoint_marker> markers;
   const char *p;
+  static_tracepoint_marker marker;
 
   /* Ask for a first packet of static tracepoint marker
      definition.  */
@@ -3424,28 +3947,14 @@ remote_static_tracepoint_markers_by_stri
   if (*p == 'E')
     error (_("Remote failure reply: %s"), p);
 
-  old_chain = make_cleanup (free_current_marker, &marker);
-
   while (*p++ == 'm')
     {
-      if (marker == NULL)
-	marker = XCNEW (struct static_tracepoint_marker);
-
       do
 	{
-	  parse_static_tracepoint_marker_definition (p, &p, marker);
+	  parse_static_tracepoint_marker_definition (p, &p, &marker);
 
-	  if (strid == NULL || strcmp (strid, marker->str_id) == 0)
-	    {
-	      VEC_safe_push (static_tracepoint_marker_p,
-			     markers, marker);
-	      marker = NULL;
-	    }
-	  else
-	    {
-	      release_static_tracepoint_marker (marker);
-	      memset (marker, 0, sizeof (*marker));
-	    }
+	  if (strid == NULL || marker.str_id == strid)
+	    markers.push_back (std::move (marker));
 	}
       while (*p++ == ',');	/* comma-separated list */
       /* Ask for another packet of static tracepoint definition.  */
@@ -3454,24 +3963,23 @@ remote_static_tracepoint_markers_by_stri
       p = rs->buf;
     }
 
-  do_cleanups (old_chain);
   return markers;
 }
 
 
 /* Implement the to_get_ada_task_ptid function for the remote targets.  */
 
-static ptid_t
-remote_get_ada_task_ptid (struct target_ops *self, long lwp, long thread)
+ptid_t
+remote_target::get_ada_task_ptid (long lwp, long thread)
 {
-  return ptid_build (ptid_get_pid (inferior_ptid), lwp, 0);
+  return ptid_t (inferior_ptid.pid (), lwp, 0);
 }
 
 
 /* Restart the remote side; this is an extended protocol operation.  */
 
-static void
-extended_remote_restart (void)
+void
+remote_target::extended_remote_restart ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -3485,19 +3993,11 @@ extended_remote_restart (void)
 
 /* Clean up connection to a remote debugger.  */
 
-static void
-remote_close (struct target_ops *self)
+void
+remote_target::close ()
 {
-  struct remote_state *rs = get_remote_state ();
-
-  if (rs->remote_desc == NULL)
-    return; /* already closed */
-
   /* Make sure we leave stdin registered in the event loop.  */
-  remote_terminal_ours (self);
-
-  serial_close (rs->remote_desc);
-  rs->remote_desc = NULL;
+  terminal_ours ();
 
   /* We don't have a connection to the remote stub anymore.  Get rid
      of all the inferiors and their threads we were controlling.
@@ -3506,22 +4006,36 @@ remote_close (struct target_ops *self)
   inferior_ptid = null_ptid;
   discard_all_inferiors ();
 
-  /* We are closing the remote target, so we should discard
+  trace_reset_local_state ();
+
+  delete this;
+}
+
+remote_target::~remote_target ()
+{
+  struct remote_state *rs = get_remote_state ();
+
+  /* Check for NULL because we may get here with a partially
+     constructed target/connection.  */
+  if (rs->remote_desc == nullptr)
+    return;
+
+  serial_close (rs->remote_desc);
+
+  /* We are destroying the remote target, so we should discard
      everything of this target.  */
-  discard_pending_stop_replies_in_queue (rs);
+  discard_pending_stop_replies_in_queue ();
 
-  if (remote_async_inferior_event_token)
-    delete_async_event_handler (&remote_async_inferior_event_token);
+  if (rs->remote_async_inferior_event_token)
+    delete_async_event_handler (&rs->remote_async_inferior_event_token);
 
   remote_notif_state_xfree (rs->notif_state);
-
-  trace_reset_local_state ();
 }
 
 /* Query the remote side for the text, data and bss offsets.  */
 
-static void
-get_offsets (void)
+void
+remote_target::get_offsets ()
 {
   struct remote_state *rs = get_remote_state ();
   char *buf;
@@ -3678,8 +4192,9 @@ get_offsets (void)
 }
 
 /* Send interrupt_sequence to remote target.  */
-static void
-send_interrupt_sequence (void)
+
+void
+remote_target::send_interrupt_sequence ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -3742,8 +4257,8 @@ stop_reply_extract_thread (char *stop_re
    ask the remote which is the current thread with qC.  The former
    method avoids a roundtrip.  */
 
-static ptid_t
-get_current_thread (char *wait_status)
+ptid_t
+remote_target::get_current_thread (char *wait_status)
 {
   ptid_t ptid = null_ptid;
 
@@ -3752,7 +4267,7 @@ get_current_thread (char *wait_status)
      this point.  */
   if (wait_status != NULL)
     ptid = stop_reply_extract_thread (wait_status);
-  if (ptid_equal (ptid, null_ptid))
+  if (ptid == null_ptid)
     ptid = remote_current_thread (inferior_ptid);
 
   return ptid;
@@ -3769,8 +4284,8 @@ get_current_thread (char *wait_status)
    qC query, we infer the current thread from that stop reply, passed
    in in WAIT_STATUS, which may be NULL.  */
 
-static void
-add_current_inferior_and_thread (char *wait_status)
+void
+remote_target::add_current_inferior_and_thread (char *wait_status)
 {
   struct remote_state *rs = get_remote_state ();
   int fake_pid_p = 0;
@@ -3795,7 +4310,7 @@ add_current_inferior_and_thread (char *w
       fake_pid_p = 1;
     }
 
-  remote_add_inferior (fake_pid_p, ptid_get_pid (curr_ptid), -1, 1);
+  remote_add_inferior (fake_pid_p, curr_ptid.pid (), -1, 1);
 
   /* Add the main thread and switch to it.  Don't try reading
      registers yet, since we haven't fetched the target description
@@ -3812,8 +4327,8 @@ print_one_stopped_thread (struct thread_
 {
   struct target_waitstatus *ws = &thread->suspend.waitstatus;
 
-  switch_to_thread (thread->ptid);
-  stop_pc = get_frame_pc (get_current_frame ());
+  switch_to_thread (thread);
+  thread->suspend.stop_pc = get_frame_pc (get_current_frame ());
   set_current_sal_from_frame (get_current_frame ());
 
   thread->suspend.waitstatus_pending_p = 0;
@@ -3823,9 +4338,9 @@ print_one_stopped_thread (struct thread_
       enum gdb_signal sig = ws->value.sig;
 
       if (signal_print_state (sig))
-	observer_notify_signal_received (sig);
+	gdb::observers::signal_received.notify (sig);
     }
-  observer_notify_normal_stop (NULL, 1);
+  gdb::observers::normal_stop.notify (NULL, 1);
 }
 
 /* Process all initial stop replies the remote side sent in response
@@ -3833,8 +4348,8 @@ print_one_stopped_thread (struct thread_
    on initial connection.  We mark these threads as stopped and print
    their current frame before giving the user the prompt.  */
 
-static void
-process_initial_stop_replies (int from_tty)
+void
+remote_target::process_initial_stop_replies (int from_tty)
 {
   int pending_stop_replies = stop_reply_queue_length ();
   struct inferior *inf;
@@ -3915,9 +4430,8 @@ process_initial_stop_replies (int from_t
 
       if (non_stop)
 	{
-	  thread = any_live_thread_of_process (inf->pid);
-	  notice_new_inferior (thread->ptid,
-			       thread->state == THREAD_RUNNING,
+	  thread = any_live_thread_of_inferior (inf);
+	  notice_new_inferior (thread, thread->state == THREAD_RUNNING,
 			       from_tty);
 	}
     }
@@ -3938,7 +4452,7 @@ process_initial_stop_replies (int from_t
 
 	  if (inf->needs_setup)
 	    {
-	      thread = any_live_thread_of_process (inf->pid);
+	      thread = any_live_thread_of_inferior (inf);
 	      switch_to_thread_no_regs (thread);
 	      setup_inferior (0);
 	    }
@@ -3954,7 +4468,7 @@ process_initial_stop_replies (int from_t
 	first = thread;
 
       if (!non_stop)
-	set_running (thread->ptid, 0);
+	thread->set_running (false);
       else if (thread->state != THREAD_STOPPED)
 	continue;
 
@@ -3992,8 +4506,8 @@ process_initial_stop_replies (int from_t
 
 /* Start the remote connection and sync state.  */
 
-static void
-remote_start_remote (int from_tty, struct target_ops *target, int extended_p)
+void
+remote_target::start_remote (int from_tty, int extended_p)
 {
   struct remote_state *rs = get_remote_state ();
   struct packet_config *noack_config;
@@ -4022,7 +4536,7 @@ remote_start_remote (int from_tty, struc
 
   /* If the stub wants to get a QAllow, compose one and send it.  */
   if (packet_support (PACKET_QAllow) != PACKET_DISABLE)
-    remote_set_permissions (target);
+    set_permissions ();
 
   /* gdbserver < 7.7 (before its fix from 2013-12-11) did reply to any
      unknown 'v' packet with string "OK".  "OK" gets interpreted by GDB
@@ -4105,7 +4619,7 @@ remote_start_remote (int from_tty, struc
 	 controlling.  We default to adding them in the running state.
 	 The '?' query below will then tell us about which threads are
 	 stopped.  */
-      remote_update_thread_list (target);
+      this->update_thread_list ();
     }
   else if (packet_support (PACKET_QNonStop) == PACKET_ENABLE)
     {
@@ -4121,11 +4635,11 @@ remote_start_remote (int from_tty, struc
   /* Upload TSVs regardless of whether the target is running or not.  The
      remote stub, such as GDBserver, may have some predefined or builtin
      TSVs, even if the target is not running.  */
-  if (remote_get_trace_status (target, current_trace_status ()) != -1)
+  if (get_trace_status (current_trace_status ()) != -1)
     {
       struct uploaded_tsv *uploaded_tsvs = NULL;
 
-      remote_upload_trace_state_variables (target, &uploaded_tsvs);
+      upload_trace_state_variables (&uploaded_tsvs);
       merge_uploaded_trace_state_variables (&uploaded_tsvs);
     }
 
@@ -4172,7 +4686,7 @@ remote_start_remote (int from_tty, struc
 	     multi-threaded program, this will ideally be the thread
 	     that last reported an event before GDB disconnected.  */
 	  inferior_ptid = get_current_thread (wait_status);
-	  if (ptid_equal (inferior_ptid, null_ptid))
+	  if (inferior_ptid == null_ptid)
 	    {
 	      /* Odd... The target was able to list threads, but not
 		 tell us which thread was current (no "thread"
@@ -4205,7 +4719,7 @@ remote_start_remote (int from_tty, struc
 	 how to do it some other way, try again.  This is not
 	 supported for non-stop; it could be, but it is tricky if
 	 there are no stopped threads when we connect.  */
-      if (remote_read_description_p (target)
+      if (remote_read_description_p (this)
 	  && gdbarch_target_desc (target_gdbarch ()) == NULL)
 	{
 	  target_clear_description ();
@@ -4217,7 +4731,7 @@ remote_start_remote (int from_tty, struc
       strcpy (rs->buf, wait_status);
       rs->cached_wait_status = 1;
 
-      start_remote (from_tty); /* Initialize gdb process mechanisms.  */
+      ::start_remote (from_tty); /* Initialize gdb process mechanisms.  */
     }
   else
     {
@@ -4240,7 +4754,7 @@ remote_start_remote (int from_tty, struc
 	  /* remote_notif_get_pending_replies acks this one, and gets
 	     the rest out.  */
 	  rs->notif_state->pending_event[notif_client_stop.id]
-	    = remote_notif_parse (notif, rs->buf);
+	    = remote_notif_parse (this, notif, rs->buf);
 	  remote_notif_get_pending_events (notif);
 	}
 
@@ -4260,7 +4774,7 @@ remote_start_remote (int from_tty, struc
       gdb_assert (wait_status == NULL);
 
       /* Report all signals during attach/startup.  */
-      remote_pass_signals (target, 0, NULL);
+      pass_signals (0, NULL);
 
       /* If there are already stopped threads, mark them stopped and
 	 report their stops before giving the prompt to the user.  */
@@ -4279,14 +4793,14 @@ remote_start_remote (int from_tty, struc
 
   /* Possibly the target has been engaged in a trace run started
      previously; find out where things are at.  */
-  if (remote_get_trace_status (target, current_trace_status ()) != -1)
+  if (get_trace_status (current_trace_status ()) != -1)
     {
       struct uploaded_tp *uploaded_tps = NULL;
 
       if (current_trace_status ()->running)
 	printf_filtered (_("Trace is already running on the target.\n"));
 
-      remote_upload_tracepoints (target, &uploaded_tps);
+      upload_tracepoints (&uploaded_tps);
 
       merge_uploaded_tracepoints (&uploaded_tps);
     }
@@ -4309,19 +4823,19 @@ remote_start_remote (int from_tty, struc
 /* Open a connection to a remote debugger.
    NAME is the filename used for communication.  */
 
-static void
-remote_open (const char *name, int from_tty)
+void
+remote_target::open (const char *name, int from_tty)
 {
-  remote_open_1 (name, from_tty, &remote_ops, 0);
+  open_1 (name, from_tty, 0);
 }
 
 /* Open a connection to a remote debugger using the extended
    remote gdb protocol.  NAME is the filename used for communication.  */
 
-static void
-extended_remote_open (const char *name, int from_tty)
+void
+extended_remote_target::open (const char *name, int from_tty)
 {
-  remote_open_1 (name, from_tty, &extended_remote_ops, 1 /*extended_p */);
+  open_1 (name, from_tty, 1 /*extended_p */);
 }
 
 /* Reset all packets back to "unknown support".  Called when opening a
@@ -4352,8 +4866,8 @@ init_all_packet_configs (void)
 
 /* Symbol look-up.  */
 
-static void
-remote_check_symbols (void)
+void
+remote_target::remote_check_symbols ()
 {
   char *msg, *reply, *tmp;
   int end;
@@ -4408,7 +4922,7 @@ remote_check_symbols (void)
 	     instead of any data function descriptor.  */
 	  sym_addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch (),
 							 sym_addr,
-							 &current_target);
+							 current_top_target ());
 
 	  xsnprintf (msg, get_remote_packet_size (), "qSymbol:%s:%s",
 		     phex_nz (sym_addr, addr_size), &reply[8]);
@@ -4451,7 +4965,7 @@ remote_serial_open (const char *name)
    permissions.  */
 
 void
-remote_set_permissions (struct target_ops *self)
+remote_target::set_permissions ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -4490,8 +5004,8 @@ struct protocol_feature
      not reported).  The third argument may be NULL; if not NULL, it
      is a NUL-terminated string taken from the packet following
      this feature's name and an equals sign.  */
-  void (*func) (const struct protocol_feature *, enum packet_support,
-		const char *);
+  void (*func) (remote_target *remote, const struct protocol_feature *,
+		enum packet_support, const char *);
 
   /* The corresponding packet for this feature.  Only used if
      FUNC is remote_supported_packet.  */
@@ -4499,7 +5013,8 @@ struct protocol_feature
 };
 
 static void
-remote_supported_packet (const struct protocol_feature *feature,
+remote_supported_packet (remote_target *remote,
+			 const struct protocol_feature *feature,
 			 enum packet_support support,
 			 const char *argument)
 {
@@ -4513,9 +5028,9 @@ remote_supported_packet (const struct pr
   remote_protocol_packets[feature->packet].support = support;
 }
 
-static void
-remote_packet_size (const struct protocol_feature *feature,
-		    enum packet_support support, const char *value)
+void
+remote_target::remote_packet_size (const protocol_feature *feature,
+				   enum packet_support support, const char *value)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -4545,6 +5060,13 @@ remote_packet_size (const struct protoco
   rs->explicit_packet_size = packet_size;
 }
 
+void
+remote_packet_size (remote_target *remote, const protocol_feature *feature,
+		    enum packet_support support, const char *value)
+{
+  remote->remote_packet_size (feature, support, value);
+}
+
 static const struct protocol_feature remote_protocol_features[] = {
   { "PacketSize", PACKET_DISABLE, remote_packet_size, -1 },
   { "qXfer:auxv:read", PACKET_DISABLE, remote_supported_packet,
@@ -4688,17 +5210,16 @@ register_remote_support_xml (const char 
 #endif
 }
 
-static char *
-remote_query_supported_append (char *msg, const char *append)
+static void
+remote_query_supported_append (std::string *msg, const char *append)
 {
-  if (msg)
-    return reconcat (msg, msg, ";", append, (char *) NULL);
-  else
-    return xstrdup (append);
+  if (!msg->empty ())
+    msg->append (";");
+  msg->append (append);
 }
 
-static void
-remote_query_supported (void)
+void
+remote_target::remote_query_supported ()
 {
   struct remote_state *rs = get_remote_state ();
   char *next;
@@ -4715,48 +5236,45 @@ remote_query_supported (void)
   rs->buf[0] = 0;
   if (packet_support (PACKET_qSupported) != PACKET_DISABLE)
     {
-      char *q = NULL;
-      struct cleanup *old_chain = make_cleanup (free_current_contents, &q);
+      std::string q;
 
       if (packet_set_cmd_state (PACKET_multiprocess_feature) != AUTO_BOOLEAN_FALSE)
-	q = remote_query_supported_append (q, "multiprocess+");
+	remote_query_supported_append (&q, "multiprocess+");
 
       if (packet_set_cmd_state (PACKET_swbreak_feature) != AUTO_BOOLEAN_FALSE)
-	q = remote_query_supported_append (q, "swbreak+");
+	remote_query_supported_append (&q, "swbreak+");
       if (packet_set_cmd_state (PACKET_hwbreak_feature) != AUTO_BOOLEAN_FALSE)
-	q = remote_query_supported_append (q, "hwbreak+");
+	remote_query_supported_append (&q, "hwbreak+");
 
-      q = remote_query_supported_append (q, "qRelocInsn+");
+      remote_query_supported_append (&q, "qRelocInsn+");
 
       if (packet_set_cmd_state (PACKET_fork_event_feature)
 	  != AUTO_BOOLEAN_FALSE)
-	q = remote_query_supported_append (q, "fork-events+");
+	remote_query_supported_append (&q, "fork-events+");
       if (packet_set_cmd_state (PACKET_vfork_event_feature)
 	  != AUTO_BOOLEAN_FALSE)
-	q = remote_query_supported_append (q, "vfork-events+");
+	remote_query_supported_append (&q, "vfork-events+");
       if (packet_set_cmd_state (PACKET_exec_event_feature)
 	  != AUTO_BOOLEAN_FALSE)
-	q = remote_query_supported_append (q, "exec-events+");
+	remote_query_supported_append (&q, "exec-events+");
 
       if (packet_set_cmd_state (PACKET_vContSupported) != AUTO_BOOLEAN_FALSE)
-	q = remote_query_supported_append (q, "vContSupported+");
+	remote_query_supported_append (&q, "vContSupported+");
 
       if (packet_set_cmd_state (PACKET_QThreadEvents) != AUTO_BOOLEAN_FALSE)
-	q = remote_query_supported_append (q, "QThreadEvents+");
+	remote_query_supported_append (&q, "QThreadEvents+");
 
       if (packet_set_cmd_state (PACKET_no_resumed) != AUTO_BOOLEAN_FALSE)
-	q = remote_query_supported_append (q, "no-resumed+");
+	remote_query_supported_append (&q, "no-resumed+");
 
       /* Keep this one last to work around a gdbserver <= 7.10 bug in
 	 the qSupported:xmlRegisters=i386 handling.  */
       if (remote_support_xml != NULL
 	  && packet_support (PACKET_qXfer_features) != PACKET_DISABLE)
-	q = remote_query_supported_append (q, remote_support_xml);
+	remote_query_supported_append (&q, remote_support_xml);
 
-      q = reconcat (q, "qSupported:", q, (char *) NULL);
-      putpkt (q);
-
-      do_cleanups (old_chain);
+      q = "qSupported:" + q;
+      putpkt (q.c_str ());
 
       getpkt (&rs->buf, &rs->buf_size, 0);
 
@@ -4840,7 +5358,7 @@ remote_query_supported (void)
 
 	    seen[i] = 1;
 	    feature = &remote_protocol_features[i];
-	    feature->func (feature, is_supported, value);
+	    feature->func (this, feature, is_supported, value);
 	    break;
 	  }
     }
@@ -4862,7 +5380,7 @@ remote_query_supported (void)
 	const struct protocol_feature *feature;
 
 	feature = &remote_protocol_features[i];
-	feature->func (feature, feature->default_support, NULL);
+	feature->func (this, feature, feature->default_support, NULL);
       }
 }
 
@@ -4889,8 +5407,8 @@ remote_query_supported (void)
      is probably wedged --- offer to quit/disconnect.
 */
 
-static void
-remote_serial_quit_handler (void)
+void
+remote_target::remote_serial_quit_handler ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -4912,12 +5430,22 @@ remote_serial_quit_handler (void)
       /* All-stop protocol, and blocked waiting for stop reply.  Send
 	 an interrupt request.  */
       else if (!target_terminal::is_ours () && rs->waiting_for_stop_reply)
-	target_interrupt (inferior_ptid);
+	target_interrupt ();
       else
 	rs->got_ctrlc_during_io = 1;
     }
 }
 
+/* The remote_target that is current while the quit handler is
+   overridden with remote_serial_quit_handler.  */
+static remote_target *curr_quit_handler_target;
+
+static void
+remote_serial_quit_handler ()
+{
+  curr_quit_handler_target->remote_serial_quit_handler ();
+}
+
 /* Remove any of the remote.c targets from target stack.  Upper targets depend
    on it so remove them first.  */
 
@@ -4934,25 +5462,20 @@ remote_unpush_and_throw (void)
   throw_error (TARGET_CLOSE_ERROR, _("Disconnected from target."));
 }
 
-static void
-remote_open_1 (const char *name, int from_tty,
-	       struct target_ops *target, int extended_p)
+void
+remote_target::open_1 (const char *name, int from_tty, int extended_p)
 {
-  struct remote_state *rs = get_remote_state ();
+  remote_target *curr_remote = get_current_remote_target ();
 
   if (name == 0)
     error (_("To open a remote debug connection, you need to specify what\n"
 	   "serial device is attached to the remote system\n"
 	   "(e.g. /dev/ttyS0, /dev/ttya, COM1, etc.)."));
 
-  /* See FIXME above.  */
-  if (!target_async_permitted)
-    wait_forever_enabled_p = 1;
-
   /* If we're connected to a running target, target_preopen will kill it.
      Ask this question first, before target_preopen has a chance to kill
      anything.  */
-  if (rs->remote_desc != NULL && !have_inferiors ())
+  if (curr_remote != NULL && !have_inferiors ())
     {
       if (from_tty
 	  && !query (_("Already connected to a remote target.  Disconnect? ")))
@@ -4962,19 +5485,20 @@ remote_open_1 (const char *name, int fro
   /* Here the possibly existing remote target gets unpushed.  */
   target_preopen (from_tty);
 
-  /* Make sure we send the passed signals list the next time we resume.  */
-  xfree (rs->last_pass_packet);
-  rs->last_pass_packet = NULL;
-
-  /* Make sure we send the program signals list the next time we
-     resume.  */
-  xfree (rs->last_program_signals_packet);
-  rs->last_program_signals_packet = NULL;
-
   remote_fileio_reset ();
   reopen_exec_file ();
   reread_symbols ();
 
+  remote_target *remote
+    = (extended_p ? new extended_remote_target () : new remote_target ());
+  target_ops_up target_holder (remote);
+
+  remote_state *rs = remote->get_remote_state ();
+
+  /* See FIXME above.  */
+  if (!target_async_permitted)
+    rs->wait_forever_enabled_p = 1;
+
   rs->remote_desc = remote_serial_open (name);
   if (!rs->remote_desc)
     perror_with_name (name);
@@ -5006,13 +5530,17 @@ remote_open_1 (const char *name, int fro
       puts_filtered (name);
       puts_filtered ("\n");
     }
-  push_target (target);		/* Switch to using remote target now.  */
+
+  /* Switch to using the remote target now.  */
+  push_target (remote);
+  /* The target stack owns the target now.  */
+  target_holder.release ();
 
   /* Register extra event sources in the event loop.  */
-  remote_async_inferior_event_token
+  rs->remote_async_inferior_event_token
     = create_async_event_handler (remote_async_inferior_event_handler,
-				  NULL);
-  rs->notif_state = remote_notif_state_allocate ();
+				  remote);
+  rs->notif_state = remote_notif_state_allocate (remote);
 
   /* Reset the target state; these things will be queried either by
      remote_query_supported or as they are needed.  */
@@ -5035,7 +5563,7 @@ remote_open_1 (const char *name, int fro
   rs->use_threadinfo_query = 1;
   rs->use_threadextra_query = 1;
 
-  readahead_cache_invalidate ();
+  rs->readahead_cache.invalidate ();
 
   if (target_async_permitted)
     {
@@ -5046,7 +5574,7 @@ remote_open_1 (const char *name, int fro
 	 around this.  Eventually a mechanism that allows
 	 wait_for_inferior() to expect/get timeouts will be
 	 implemented.  */
-      wait_forever_enabled_p = 0;
+      rs->wait_forever_enabled_p = 0;
     }
 
   /* First delete any symbols previously loaded from shared libraries.  */
@@ -5074,31 +5602,29 @@ remote_open_1 (const char *name, int fro
 
     TRY
       {
-	remote_start_remote (from_tty, target, extended_p);
+	remote->start_remote (from_tty, extended_p);
       }
     CATCH (ex, RETURN_MASK_ALL)
       {
 	/* Pop the partially set up target - unless something else did
 	   already before throwing the exception.  */
-	if (rs->remote_desc != NULL)
+	if (ex.error != TARGET_CLOSE_ERROR)
 	  remote_unpush_target ();
-	if (target_async_permitted)
-	  wait_forever_enabled_p = 1;
 	throw_exception (ex);
       }
     END_CATCH
   }
 
-  remote_btrace_reset ();
+  remote_btrace_reset (rs);
 
   if (target_async_permitted)
-    wait_forever_enabled_p = 1;
+    rs->wait_forever_enabled_p = 1;
 }
 
 /* Detach the specified process.  */
 
-static void
-remote_detach_pid (int pid)
+void
+remote_target::remote_detach_pid (int pid)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -5124,17 +5650,13 @@ remote_detach_pid (int pid)
    any breakpoints in the target program or it'll die when it hits
    one.  */
 
-static void
-remote_detach_1 (const char *args, int from_tty)
+void
+remote_target::remote_detach_1 (inferior *inf, int from_tty)
 {
-  int pid = ptid_get_pid (inferior_ptid);
+  int pid = inferior_ptid.pid ();
   struct remote_state *rs = get_remote_state ();
-  struct thread_info *tp = find_thread_ptid (inferior_ptid);
   int is_fork_parent;
 
-  if (args)
-    error (_("Argument given to \"detach\" when remotely debugging."));
-
   if (!target_has_execution)
     error (_("No process to detach from."));
 
@@ -5147,6 +5669,8 @@ remote_detach_1 (const char *args, int f
   if (from_tty && !rs->extended && number_of_live_inferiors () == 1)
     puts_filtered (_("Ending remote debugging.\n"));
 
+  struct thread_info *tp = find_thread_ptid (inferior_ptid);
+
   /* Check to see if we are detaching a fork parent.  Note that if we
      are detaching a fork child, tp == NULL.  */
   is_fork_parent = (tp != NULL
@@ -5155,24 +5679,33 @@ remote_detach_1 (const char *args, int f
   /* If doing detach-on-fork, we don't mourn, because that will delete
      breakpoints that should be available for the followed inferior.  */
   if (!is_fork_parent)
-    target_mourn_inferior (inferior_ptid);
+    {
+      /* Save the pid as a string before mourning, since that will
+	 unpush the remote target, and we need the string after.  */
+      std::string infpid = target_pid_to_str (ptid_t (pid));
+
+      target_mourn_inferior (inferior_ptid);
+      if (print_inferior_events)
+	printf_unfiltered (_("[Inferior %d (%s) detached]\n"),
+			   inf->num, infpid.c_str ());
+    }
   else
     {
       inferior_ptid = null_ptid;
-      detach_inferior (pid);
+      detach_inferior (current_inferior ());
     }
 }
 
-static void
-remote_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+remote_target::detach (inferior *inf, int from_tty)
 {
-  remote_detach_1 (args, from_tty);
+  remote_detach_1 (inf, from_tty);
 }
 
-static void
-extended_remote_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+extended_remote_target::detach (inferior *inf, int from_tty)
 {
-  remote_detach_1 (args, from_tty);
+  remote_detach_1 (inf, from_tty);
 }
 
 /* Target follow-fork function for remote targets.  On entry, and
@@ -5182,9 +5715,8 @@ extended_remote_detach (struct target_op
    it is named remote_follow_fork in anticipation of using it for the
    remote target as well.  */
 
-static int
-remote_follow_fork (struct target_ops *ops, int follow_child,
-		    int detach_fork)
+int
+remote_target::follow_fork (int follow_child, int detach_fork)
 {
   struct remote_state *rs = get_remote_state ();
   enum target_waitkind kind = inferior_thread ()->pending_follow.kind;
@@ -5205,10 +5737,9 @@ remote_follow_fork (struct target_ops *o
 	  pid_t child_pid;
 
 	  child_ptid = inferior_thread ()->pending_follow.value.related_pid;
-	  child_pid = ptid_get_pid (child_ptid);
+	  child_pid = child_ptid.pid ();
 
 	  remote_detach_pid (child_pid);
-	  detach_inferior (child_pid);
 	}
     }
   return 0;
@@ -5220,9 +5751,8 @@ remote_follow_fork (struct target_ops *o
    inferior, which may be the same as the exec'ing inferior unless
    follow-exec-mode is "new".  */
 
-static void
-remote_follow_exec (struct target_ops *ops,
-		    struct inferior *inf, char *execd_pathname)
+void
+remote_target::follow_exec (struct inferior *inf, char *execd_pathname)
 {
   /* We know that this is a target file name, so if it has the "target:"
      prefix we strip it off before saving it in the program space.  */
@@ -5234,8 +5764,8 @@ remote_follow_exec (struct target_ops *o
 
 /* Same as remote_detach, but don't send the "D" packet; just disconnect.  */
 
-static void
-remote_disconnect (struct target_ops *target, const char *args, int from_tty)
+void
+remote_target::disconnect (const char *args, int from_tty)
 {
   if (args)
     error (_("Argument given to \"disconnect\" when remotely debugging."));
@@ -5243,7 +5773,7 @@ remote_disconnect (struct target_ops *ta
   /* Make sure we unpush even the extended remote targets.  Calling
      target_mourn_inferior won't unpush, and remote_mourn won't
      unpush if there is more than one inferior left.  */
-  unpush_target (target);
+  unpush_target (this);
   generic_mourn_inferior ();
 
   if (from_tty)
@@ -5253,9 +5783,8 @@ remote_disconnect (struct target_ops *ta
 /* Attach to the process specified by ARGS.  If FROM_TTY is non-zero,
    be chatty about it.  */
 
-static void
-extended_remote_attach (struct target_ops *target, const char *args,
-			int from_tty)
+void
+extended_remote_target::attach (const char *args, int from_tty)
 {
   struct remote_state *rs = get_remote_state ();
   int pid;
@@ -5275,10 +5804,10 @@ extended_remote_attach (struct target_op
 
       if (exec_file)
 	printf_unfiltered (_("Attaching to program: %s, %s\n"), exec_file,
-			   target_pid_to_str (pid_to_ptid (pid)));
+			   target_pid_to_str (ptid_t (pid)));
       else
 	printf_unfiltered (_("Attaching to %s\n"),
-			   target_pid_to_str (pid_to_ptid (pid)));
+			   target_pid_to_str (ptid_t (pid)));
 
       gdb_flush (gdb_stdout);
     }
@@ -5299,32 +5828,32 @@ extended_remote_attach (struct target_op
 	}
       else if (strcmp (rs->buf, "OK") != 0)
 	error (_("Attaching to %s failed with: %s"),
-	       target_pid_to_str (pid_to_ptid (pid)),
+	       target_pid_to_str (ptid_t (pid)),
 	       rs->buf);
       break;
     case PACKET_UNKNOWN:
       error (_("This target does not support attaching to a process"));
     default:
       error (_("Attaching to %s failed"),
-	     target_pid_to_str (pid_to_ptid (pid)));
+	     target_pid_to_str (ptid_t (pid)));
     }
 
   set_current_inferior (remote_add_inferior (0, pid, 1, 0));
 
-  inferior_ptid = pid_to_ptid (pid);
+  inferior_ptid = ptid_t (pid);
 
   if (target_is_non_stop_p ())
     {
       struct thread_info *thread;
 
       /* Get list of threads.  */
-      remote_update_thread_list (target);
+      update_thread_list ();
 
-      thread = first_thread_of_process (pid);
+      thread = first_thread_of_inferior (current_inferior ());
       if (thread)
 	inferior_ptid = thread->ptid;
       else
-	inferior_ptid = pid_to_ptid (pid);
+	inferior_ptid = ptid_t (pid);
 
       /* Invalidate our notion of the remote current thread.  */
       record_currthread (rs, minus_one_ptid);
@@ -5335,7 +5864,10 @@ extended_remote_attach (struct target_op
       inferior_ptid = remote_current_thread (inferior_ptid);
 
       /* Add the main thread to the thread list.  */
-      add_thread_silent (inferior_ptid);
+      thread_info *thr = add_thread_silent (inferior_ptid);
+      /* Don't consider the thread stopped until we've processed the
+	 saved stop reply.  */
+      set_executing (thr->ptid, true);
     }
 
   /* Next, if the target can specify a description, read it.  We do
@@ -5350,7 +5882,7 @@ extended_remote_attach (struct target_op
       if (target_can_async_p ())
 	{
 	  struct notif_event *reply
-	    =  remote_notif_parse (&notif_client_stop, wait_status);
+	    =  remote_notif_parse (this, &notif_client_stop, wait_status);
 
 	  push_stop_reply ((struct stop_reply *) reply);
 
@@ -5369,8 +5901,8 @@ extended_remote_attach (struct target_op
 
 /* Implementation of the to_post_attach method.  */
 
-static void
-extended_remote_post_attach (struct target_ops *ops, int pid)
+void
+extended_remote_target::post_attach (int pid)
 {
   /* Get text, data & bss offsets.  */
   get_offsets ();
@@ -5388,9 +5920,10 @@ extended_remote_post_attach (struct targ
 /* Check for the availability of vCont.  This function should also check
    the response.  */
 
-static void
-remote_vcont_probe (struct remote_state *rs)
+void
+remote_target::remote_vcont_probe ()
 {
+  remote_state *rs = get_remote_state ();
   char *buf;
 
   strcpy (rs->buf, "vCont?");
@@ -5448,9 +5981,9 @@ remote_vcont_probe (struct remote_state 
    the thread to be stepped and/or signalled is given in the global
    INFERIOR_PTID.  */
 
-static char *
-append_resumption (char *p, char *endp,
-		   ptid_t ptid, int step, enum gdb_signal siggnal)
+char *
+remote_target::append_resumption (char *p, char *endp,
+				  ptid_t ptid, int step, gdb_signal siggnal)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -5465,11 +5998,11 @@ append_resumption (char *p, char *endp,
 	      threads with a wildcard (though the protocol allows it,
 	      so stubs shouldn't make an active effort to forbid
 	      it).  */
-	   && !(remote_multi_process_p (rs) && ptid_is_pid (ptid)))
+	   && !(remote_multi_process_p (rs) && ptid.is_pid ()))
     {
       struct thread_info *tp;
 
-      if (ptid_equal (ptid, minus_one_ptid))
+      if (ptid == minus_one_ptid)
 	{
 	  /* If we don't know about the target thread's tid, then
 	     we're resuming magic_null_ptid (see caller).  */
@@ -5499,17 +6032,17 @@ append_resumption (char *p, char *endp,
   else
     p += xsnprintf (p, endp - p, ";c");
 
-  if (remote_multi_process_p (rs) && ptid_is_pid (ptid))
+  if (remote_multi_process_p (rs) && ptid.is_pid ())
     {
       ptid_t nptid;
 
       /* All (-1) threads of process.  */
-      nptid = ptid_build (ptid_get_pid (ptid), -1, 0);
+      nptid = ptid_t (ptid.pid (), -1, 0);
 
       p += xsnprintf (p, endp - p, ":");
       p = write_ptid (p, endp, nptid);
     }
-  else if (!ptid_equal (ptid, minus_one_ptid))
+  else if (ptid != minus_one_ptid)
     {
       p += xsnprintf (p, endp - p, ":");
       p = write_ptid (p, endp, ptid);
@@ -5535,14 +6068,15 @@ resume_clear_thread_private_info (struct
 /* Append a vCont continue-with-signal action for threads that have a
    non-zero stop signal.  */
 
-static char *
-append_pending_thread_resumptions (char *p, char *endp, ptid_t ptid)
+char *
+remote_target::append_pending_thread_resumptions (char *p, char *endp,
+						  ptid_t ptid)
 {
   struct thread_info *thread;
 
   ALL_NON_EXITED_THREADS (thread)
-    if (ptid_match (thread->ptid, ptid)
-	&& !ptid_equal (inferior_ptid, thread->ptid)
+    if (thread->ptid.matches (ptid)
+	&& inferior_ptid != thread->ptid
 	&& thread->suspend.stop_signal != GDB_SIGNAL_0)
       {
 	p = append_resumption (p, endp, thread->ptid,
@@ -5557,9 +6091,9 @@ append_pending_thread_resumptions (char 
 /* Set the target running, using the packets that use Hc
    (c/s/C/S).  */
 
-static void
-remote_resume_with_hc (struct target_ops *ops,
-		       ptid_t ptid, int step, enum gdb_signal siggnal)
+void
+remote_target::remote_resume_with_hc (ptid_t ptid, int step,
+				      gdb_signal siggnal)
 {
   struct remote_state *rs = get_remote_state ();
   struct thread_info *thread;
@@ -5570,7 +6104,7 @@ remote_resume_with_hc (struct target_ops
 
   /* The c/s/C/S resume packets use Hc, so set the continue
      thread.  */
-  if (ptid_equal (ptid, minus_one_ptid))
+  if (ptid == minus_one_ptid)
     set_continue_thread (any_thread_ptid);
   else
     set_continue_thread (ptid);
@@ -5579,7 +6113,7 @@ remote_resume_with_hc (struct target_ops
     resume_clear_thread_private_info (thread);
 
   buf = rs->buf;
-  if (execution_direction == EXEC_REVERSE)
+  if (::execution_direction == EXEC_REVERSE)
     {
       /* We don't pass signals to the target in reverse exec mode.  */
       if (info_verbose && siggnal != GDB_SIGNAL_0)
@@ -5616,19 +6150,20 @@ remote_resume_with_hc (struct target_ops
    This function issues a strict subset of all possible vCont commands
    at the moment.  */
 
-static int
-remote_resume_with_vcont (ptid_t ptid, int step, enum gdb_signal siggnal)
+int
+remote_target::remote_resume_with_vcont (ptid_t ptid, int step,
+					 enum gdb_signal siggnal)
 {
   struct remote_state *rs = get_remote_state ();
   char *p;
   char *endp;
 
   /* No reverse execution actions defined for vCont.  */
-  if (execution_direction == EXEC_REVERSE)
+  if (::execution_direction == EXEC_REVERSE)
     return 0;
 
   if (packet_support (PACKET_vCont) == PACKET_SUPPORT_UNKNOWN)
-    remote_vcont_probe (rs);
+    remote_vcont_probe ();
 
   if (packet_support (PACKET_vCont) == PACKET_DISABLE)
     return 0;
@@ -5642,7 +6177,7 @@ remote_resume_with_vcont (ptid_t ptid, i
 
   p += xsnprintf (p, endp - p, "vCont");
 
-  if (ptid_equal (ptid, magic_null_ptid))
+  if (ptid == magic_null_ptid)
     {
       /* MAGIC_NULL_PTID means that we don't have any active threads,
 	 so we don't have any TID numbers the inferior will
@@ -5650,7 +6185,7 @@ remote_resume_with_vcont (ptid_t ptid, i
 	 a TID.  */
       append_resumption (p, endp, minus_one_ptid, step, siggnal);
     }
-  else if (ptid_equal (ptid, minus_one_ptid) || ptid_is_pid (ptid))
+  else if (ptid == minus_one_ptid || ptid.is_pid ())
     {
       /* Resume all threads (of all processes, or of a single
 	 process), with preference for INFERIOR_PTID.  This assumes
@@ -5693,9 +6228,8 @@ remote_resume_with_vcont (ptid_t ptid, i
 
 /* Tell the remote machine to resume.  */
 
-static void
-remote_resume (struct target_ops *ops,
-	       ptid_t ptid, int step, enum gdb_signal siggnal)
+void
+remote_target::resume (ptid_t ptid, int step, enum gdb_signal siggnal)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -5706,11 +6240,11 @@ remote_resume (struct target_ops *ops,
      request; the actual remote resumption will be done in
      target_commit_resume / remote_commit_resume, where we'll be able
      to do vCont action coalescing.  */
-  if (target_is_non_stop_p () && execution_direction != EXEC_REVERSE)
+  if (target_is_non_stop_p () && ::execution_direction != EXEC_REVERSE)
     {
       remote_thread_info *remote_thr;
 
-      if (ptid_equal (minus_one_ptid, ptid) || ptid_is_pid (ptid))
+      if (minus_one_ptid == ptid || ptid.is_pid ())
 	remote_thr = get_remote_thread_info (inferior_ptid);
       else
 	remote_thr = get_remote_thread_info (ptid);
@@ -5729,11 +6263,11 @@ remote_resume (struct target_ops *ops,
   if (!target_is_non_stop_p ())
     remote_notif_process (rs->notif_state, &notif_client_stop);
 
-  rs->last_resume_exec_dir = execution_direction;
+  rs->last_resume_exec_dir = ::execution_direction;
 
   /* Prefer vCont, and fallback to s/c/S/C, which use Hc.  */
   if (!remote_resume_with_vcont (ptid, step, siggnal))
-    remote_resume_with_hc (ops, ptid, step, siggnal);
+    remote_resume_with_hc (ptid, step, siggnal);
 
   /* We are about to start executing the inferior, let's register it
      with the event loop.  NOTE: this is the one place where all the
@@ -5756,8 +6290,6 @@ remote_resume (struct target_ops *ops,
     rs->waiting_for_stop_reply = 1;
 }
 
-static void check_pending_events_prevent_wildcard_vcont
-  (int *may_global_wildcard_vcont);
 static int is_pending_fork_parent_thread (struct thread_info *thread);
 
 /* Private per-inferior info for target remote processes.  */
@@ -5779,50 +6311,66 @@ get_remote_inferior (inferior *inf)
   return static_cast<remote_inferior *> (inf->priv.get ());
 }
 
-/* Structure used to track the construction of a vCont packet in the
+/* Class used to track the construction of a vCont packet in the
    outgoing packet buffer.  This is used to send multiple vCont
    packets if we have more actions than would fit a single packet.  */
 
-struct vcont_builder
+class vcont_builder
 {
+public:
+  explicit vcont_builder (remote_target *remote)
+    : m_remote (remote)
+  {
+    restart ();
+  }
+
+  void flush ();
+  void push_action (ptid_t ptid, bool step, gdb_signal siggnal);
+
+private:
+  void restart ();
+
+  /* The remote target.  */
+  remote_target *m_remote;
+
   /* Pointer to the first action.  P points here if no action has been
      appended yet.  */
-  char *first_action;
+  char *m_first_action;
 
   /* Where the next action will be appended.  */
-  char *p;
+  char *m_p;
 
   /* The end of the buffer.  Must never write past this.  */
-  char *endp;
+  char *m_endp;
 };
 
 /* Prepare the outgoing buffer for a new vCont packet.  */
 
-static void
-vcont_builder_restart (struct vcont_builder *builder)
+void
+vcont_builder::restart ()
 {
-  struct remote_state *rs = get_remote_state ();
+  struct remote_state *rs = m_remote->get_remote_state ();
 
-  builder->p = rs->buf;
-  builder->endp = rs->buf + get_remote_packet_size ();
-  builder->p += xsnprintf (builder->p, builder->endp - builder->p, "vCont");
-  builder->first_action = builder->p;
+  m_p = rs->buf;
+  m_endp = rs->buf + m_remote->get_remote_packet_size ();
+  m_p += xsnprintf (m_p, m_endp - m_p, "vCont");
+  m_first_action = m_p;
 }
 
 /* If the vCont packet being built has any action, send it to the
    remote end.  */
 
-static void
-vcont_builder_flush (struct vcont_builder *builder)
+void
+vcont_builder::flush ()
 {
   struct remote_state *rs;
 
-  if (builder->p == builder->first_action)
+  if (m_p == m_first_action)
     return;
 
-  rs = get_remote_state ();
-  putpkt (rs->buf);
-  getpkt (&rs->buf, &rs->buf_size, 0);
+  rs = m_remote->get_remote_state ();
+  m_remote->putpkt (rs->buf);
+  m_remote->getpkt (&rs->buf, &rs->buf_size, 0);
   if (strcmp (rs->buf, "OK") != 0)
     error (_("Unexpected vCont reply in non-stop mode: %s"), rs->buf);
 }
@@ -5838,51 +6386,47 @@ vcont_builder_flush (struct vcont_builde
    what we've got so far to the remote end and start over a new vCont
    packet (with the new action).  */
 
-static void
-vcont_builder_push_action (struct vcont_builder *builder,
-			   ptid_t ptid, int step, enum gdb_signal siggnal)
+void
+vcont_builder::push_action (ptid_t ptid, bool step, gdb_signal siggnal)
 {
   char buf[MAX_ACTION_SIZE + 1];
-  char *endp;
-  size_t rsize;
 
-  endp = append_resumption (buf, buf + sizeof (buf),
-			    ptid, step, siggnal);
+  char *endp = m_remote->append_resumption (buf, buf + sizeof (buf),
+					    ptid, step, siggnal);
 
   /* Check whether this new action would fit in the vCont packet along
      with previous actions.  If not, send what we've got so far and
      start a new vCont packet.  */
-  rsize = endp - buf;
-  if (rsize > builder->endp - builder->p)
+  size_t rsize = endp - buf;
+  if (rsize > m_endp - m_p)
     {
-      vcont_builder_flush (builder);
-      vcont_builder_restart (builder);
+      flush ();
+      restart ();
 
       /* Should now fit.  */
-      gdb_assert (rsize <= builder->endp - builder->p);
+      gdb_assert (rsize <= m_endp - m_p);
     }
 
-  memcpy (builder->p, buf, rsize);
-  builder->p += rsize;
-  *builder->p = '\0';
+  memcpy (m_p, buf, rsize);
+  m_p += rsize;
+  *m_p = '\0';
 }
 
 /* to_commit_resume implementation.  */
 
-static void
-remote_commit_resume (struct target_ops *ops)
+void
+remote_target::commit_resume ()
 {
   struct inferior *inf;
   struct thread_info *tp;
   int any_process_wildcard;
   int may_global_wildcard_vcont;
-  struct vcont_builder vcont_builder;
 
   /* If connected in all-stop mode, we'd send the remote resume
      request directly from remote_resume.  Likewise if
      reverse-debugging, as there are no defined vCont actions for
      reverse execution.  */
-  if (!target_is_non_stop_p () || execution_direction == EXEC_REVERSE)
+  if (!target_is_non_stop_p () || ::execution_direction == EXEC_REVERSE)
     return;
 
   /* Try to send wildcard actions ("vCont;c" or "vCont;c:pPID.-1")
@@ -5974,7 +6518,7 @@ remote_commit_resume (struct target_ops 
      we end up with too many actions for a single packet vcont_builder
      flushes the current vCont packet to the remote side and starts a
      new one.  */
-  vcont_builder_restart (&vcont_builder);
+  struct vcont_builder vcont_builder (this);
 
   /* Threads first.  */
   ALL_NON_EXITED_THREADS (tp)
@@ -5995,7 +6539,7 @@ remote_commit_resume (struct target_ops 
 	  continue;
 	}
 
-      vcont_builder_push_action (&vcont_builder, tp->ptid,
+      vcont_builder.push_action (tp->ptid,
 				 remote_thr->last_resume_step,
 				 remote_thr->last_resume_sig);
       remote_thr->vcont_resumed = 1;
@@ -6022,8 +6566,8 @@ remote_commit_resume (struct target_ops 
 	 continue action for each running process, if any.  */
       if (may_global_wildcard_vcont)
 	{
-	  vcont_builder_push_action (&vcont_builder, minus_one_ptid,
-				     0, GDB_SIGNAL_0);
+	  vcont_builder.push_action (minus_one_ptid,
+				     false, GDB_SIGNAL_0);
 	}
       else
 	{
@@ -6031,15 +6575,14 @@ remote_commit_resume (struct target_ops 
 	    {
 	      if (get_remote_inferior (inf)->may_wildcard_vcont)
 		{
-		  vcont_builder_push_action (&vcont_builder,
-					     pid_to_ptid (inf->pid),
-					     0, GDB_SIGNAL_0);
+		  vcont_builder.push_action (ptid_t (inf->pid),
+					     false, GDB_SIGNAL_0);
 		}
 	    }
 	}
     }
 
-  vcont_builder_flush (&vcont_builder);
+  vcont_builder.flush ();
 }
 
 
@@ -6048,21 +6591,21 @@ remote_commit_resume (struct target_ops 
    thread, all threads of a remote process, or all threads of all
    processes.  */
 
-static void
-remote_stop_ns (ptid_t ptid)
+void
+remote_target::remote_stop_ns (ptid_t ptid)
 {
   struct remote_state *rs = get_remote_state ();
   char *p = rs->buf;
   char *endp = rs->buf + get_remote_packet_size ();
 
   if (packet_support (PACKET_vCont) == PACKET_SUPPORT_UNKNOWN)
-    remote_vcont_probe (rs);
+    remote_vcont_probe ();
 
   if (!rs->supports_vCont.t)
     error (_("Remote server does not support stopping threads"));
 
-  if (ptid_equal (ptid, minus_one_ptid)
-      || (!remote_multi_process_p (rs) && ptid_is_pid (ptid)))
+  if (ptid == minus_one_ptid
+      || (!remote_multi_process_p (rs) && ptid.is_pid ()))
     p += xsnprintf (p, endp - p, "vCont;t");
   else
     {
@@ -6070,9 +6613,9 @@ remote_stop_ns (ptid_t ptid)
 
       p += xsnprintf (p, endp - p, "vCont;t:");
 
-      if (ptid_is_pid (ptid))
+      if (ptid.is_pid ())
 	  /* All (-1) threads of process.  */
-	nptid = ptid_build (ptid_get_pid (ptid), -1, 0);
+	nptid = ptid_t (ptid.pid (), -1, 0);
       else
 	{
 	  /* Small optimization: if we already have a stop reply for
@@ -6099,8 +6642,8 @@ remote_stop_ns (ptid_t ptid)
    interrupt the remote target.  It is undefined which thread of which
    process reports the interrupt.  */
 
-static void
-remote_interrupt_as (void)
+void
+remote_target::remote_interrupt_as ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -6121,8 +6664,8 @@ remote_interrupt_as (void)
    reports the interrupt.  Throws an error if the packet is not
    supported by the server.  */
 
-static void
-remote_interrupt_ns (void)
+void
+remote_target::remote_interrupt_ns ()
 {
   struct remote_state *rs = get_remote_state ();
   char *p = rs->buf;
@@ -6148,8 +6691,8 @@ remote_interrupt_ns (void)
 
 /* Implement the to_stop function for the remote targets.  */
 
-static void
-remote_stop (struct target_ops *self, ptid_t ptid)
+void
+remote_target::stop (ptid_t ptid)
 {
   if (remote_debug)
     fprintf_unfiltered (gdb_stdlog, "remote_stop called\n");
@@ -6166,8 +6709,8 @@ remote_stop (struct target_ops *self, pt
 
 /* Implement the to_interrupt function for the remote targets.  */
 
-static void
-remote_interrupt (struct target_ops *self, ptid_t ptid)
+void
+remote_target::interrupt ()
 {
   if (remote_debug)
     fprintf_unfiltered (gdb_stdlog, "remote_interrupt called\n");
@@ -6180,8 +6723,8 @@ remote_interrupt (struct target_ops *sel
 
 /* Implement the to_pass_ctrlc function for the remote targets.  */
 
-static void
-remote_pass_ctrlc (struct target_ops *self)
+void
+remote_target::pass_ctrlc ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -6196,13 +6739,13 @@ remote_pass_ctrlc (struct target_ops *se
   else if (rs->ctrlc_pending_p)
     interrupt_query ();
   else
-    target_interrupt (inferior_ptid);
+    target_interrupt ();
 }
 
 /* Ask the user what to do when an interrupt is received.  */
 
-static void
-interrupt_query (void)
+void
+remote_target::interrupt_query ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -6228,16 +6771,16 @@ interrupt_query (void)
    different in that explicit transfer of ownership to/from GDB/target
    is required.  */
 
-static void
-remote_terminal_inferior (struct target_ops *self)
+void
+remote_target::terminal_inferior ()
 {
   /* NOTE: At this point we could also register our selves as the
      recipient of all input.  Any characters typed could then be
      passed on down to the target.  */
 }
 
-static void
-remote_terminal_ours (struct target_ops *self)
+void
+remote_target::terminal_ours ()
 {
 }
 
@@ -6290,17 +6833,6 @@ typedef struct stop_reply
   int core;
 } *stop_reply_p;
 
-DECLARE_QUEUE_P (stop_reply_p);
-DEFINE_QUEUE_P (stop_reply_p);
-/* The list of already fetched and acknowledged stop events.  This
-   queue is used for notification Stop, and other notifications
-   don't need queue for their events, because the notification events
-   of Stop can't be consumed immediately, so that events should be
-   queued first, and be consumed by remote_wait_{ns,as} one per
-   time.  Other notifications can consume their events immediately,
-   so queue is not needed for them.  */
-static QUEUE (stop_reply_p) *stop_reply_queue;
-
 static void
 stop_reply_xfree (struct stop_reply *r)
 {
@@ -6309,44 +6841,51 @@ stop_reply_xfree (struct stop_reply *r)
 
 /* Return the length of the stop reply queue.  */
 
-static int
-stop_reply_queue_length (void)
+int
+remote_target::stop_reply_queue_length ()
 {
-  return QUEUE_length (stop_reply_p, stop_reply_queue);
+  remote_state *rs = get_remote_state ();
+  return rs->stop_reply_queue.size ();
 }
 
-static void
-remote_notif_stop_parse (struct notif_client *self, char *buf,
+void
+remote_notif_stop_parse (remote_target *remote,
+			 struct notif_client *self, char *buf,
 			 struct notif_event *event)
 {
-  remote_parse_stop_reply (buf, (struct stop_reply *) event);
+  remote->remote_parse_stop_reply (buf, (struct stop_reply *) event);
 }
 
 static void
-remote_notif_stop_ack (struct notif_client *self, char *buf,
+remote_notif_stop_ack (remote_target *remote,
+		       struct notif_client *self, char *buf,
 		       struct notif_event *event)
 {
   struct stop_reply *stop_reply = (struct stop_reply *) event;
 
   /* acknowledge */
-  putpkt (self->ack_command);
+  putpkt (remote, self->ack_command);
 
   if (stop_reply->ws.kind == TARGET_WAITKIND_IGNORE)
+    {
       /* We got an unknown stop reply.  */
       error (_("Unknown stop reply"));
+    }
 
-  push_stop_reply (stop_reply);
+  remote->push_stop_reply (stop_reply);
 }
 
 static int
-remote_notif_stop_can_get_pending_events (struct notif_client *self)
+remote_notif_stop_can_get_pending_events (remote_target *remote,
+					  struct notif_client *self)
 {
   /* We can't get pending events in remote_notif_process for
      notification stop, and we have to do this in remote_wait_ns
      instead.  If we fetch all queued events from stub, remote stub
      may exit and we have no chance to process them back in
      remote_wait_ns.  */
-  mark_async_event_handler (remote_async_inferior_event_token);
+  remote_state *rs = remote->get_remote_state ();
+  mark_async_event_handler (rs->remote_async_inferior_event_token);
   return 0;
 }
 
@@ -6389,14 +6928,6 @@ struct notif_client notif_client_stop =
   REMOTE_NOTIF_STOP,
 };
 
-/* A parameter to pass data in and out.  */
-
-struct queue_iter_param
-{
-  void *input;
-  struct stop_reply *output;
-};
-
 /* Determine if THREAD_PTID is a pending fork parent thread.  ARG contains
    the pid of the process that owns the threads we want to check, or
    -1 if we want to check all threads.  */
@@ -6408,7 +6939,7 @@ is_pending_fork_parent (struct target_wa
   if (ws->kind == TARGET_WAITKIND_FORKED
       || ws->kind == TARGET_WAITKIND_VFORKED)
     {
-      if (event_pid == -1 || event_pid == ptid_get_pid (thread_ptid))
+      if (event_pid == -1 || event_pid == thread_ptid.pid ())
 	return 1;
     }
 
@@ -6438,40 +6969,18 @@ is_pending_fork_parent_thread (struct th
   return is_pending_fork_parent (ws, pid, thread->ptid);
 }
 
-/* Check whether EVENT is a fork event, and if it is, remove the
-   fork child from the context list passed in DATA.  */
-
-static int
-remove_child_of_pending_fork (QUEUE (stop_reply_p) *q,
-			      QUEUE_ITER (stop_reply_p) *iter,
-			      stop_reply_p event,
-			      void *data)
-{
-  struct queue_iter_param *param = (struct queue_iter_param *) data;
-  struct threads_listing_context *context
-    = (struct threads_listing_context *) param->input;
-
-  if (event->ws.kind == TARGET_WAITKIND_FORKED
-      || event->ws.kind == TARGET_WAITKIND_VFORKED
-      || event->ws.kind == TARGET_WAITKIND_THREAD_EXITED)
-    context->remove_thread (event->ws.value.related_pid);
-
-  return 1;
-}
-
 /* If CONTEXT contains any fork child threads that have not been
    reported yet, remove them from the CONTEXT list.  If such a
    thread exists it is because we are stopped at a fork catchpoint
    and have not yet called follow_fork, which will set up the
    host-side data structures for the new process.  */
 
-static void
-remove_new_fork_children (struct threads_listing_context *context)
+void
+remote_target::remove_new_fork_children (threads_listing_context *context)
 {
   struct thread_info * thread;
   int pid = -1;
   struct notif_client *notif = &notif_client_stop;
-  struct queue_iter_param param;
 
   /* For any threads stopped at a fork event, remove the corresponding
      fork child threads from the CONTEXT list.  */
@@ -6487,43 +6996,11 @@ remove_new_fork_children (struct threads
      in process PID and remove those fork child threads from the
      CONTEXT list as well.  */
   remote_notif_get_pending_events (notif);
-  param.input = context;
-  param.output = NULL;
-  QUEUE_iterate (stop_reply_p, stop_reply_queue,
-		 remove_child_of_pending_fork, &param);
-}
-
-/* Check whether EVENT would prevent a global or process wildcard
-   vCont action.  */
-
-static int
-check_pending_event_prevents_wildcard_vcont_callback
-  (QUEUE (stop_reply_p) *q,
-   QUEUE_ITER (stop_reply_p) *iter,
-   stop_reply_p event,
-   void *data)
-{
-  struct inferior *inf;
-  int *may_global_wildcard_vcont = (int *) data;
-
-  if (event->ws.kind == TARGET_WAITKIND_NO_RESUMED
-      || event->ws.kind == TARGET_WAITKIND_NO_HISTORY)
-    return 1;
-
-  if (event->ws.kind == TARGET_WAITKIND_FORKED
-      || event->ws.kind == TARGET_WAITKIND_VFORKED)
-    *may_global_wildcard_vcont = 0;
-
-  inf = find_inferior_ptid (event->ptid);
-
-  /* This may be the first time we heard about this process.
-     Regardless, we must not do a global wildcard resume, otherwise
-     we'd resume this process too.  */
-  *may_global_wildcard_vcont = 0;
-  if (inf != NULL)
-    get_remote_inferior (inf)->may_wildcard_vcont = false;
-
-  return 1;
+  for (auto &event : get_remote_state ()->stop_reply_queue)
+    if (event->ws.kind == TARGET_WAITKIND_FORKED
+	|| event->ws.kind == TARGET_WAITKIND_VFORKED
+	|| event->ws.kind == TARGET_WAITKIND_THREAD_EXITED)
+      context->remove_thread (event->ws.value.related_pid);
 }
 
 /* Check whether any event pending in the vStopped queue would prevent
@@ -6532,44 +7009,39 @@ check_pending_event_prevents_wildcard_vc
    and clear the event inferior's may_wildcard_vcont flag if we can't
    do a process-wide wildcard resume (vCont;c:pPID.-1).  */
 
-static void
-check_pending_events_prevent_wildcard_vcont (int *may_global_wildcard)
+void
+remote_target::check_pending_events_prevent_wildcard_vcont
+  (int *may_global_wildcard)
 {
   struct notif_client *notif = &notif_client_stop;
 
   remote_notif_get_pending_events (notif);
-  QUEUE_iterate (stop_reply_p, stop_reply_queue,
-		 check_pending_event_prevents_wildcard_vcont_callback,
-		 may_global_wildcard);
-}
-
-/* Remove stop replies in the queue if its pid is equal to the given
-   inferior's pid.  */
-
-static int
-remove_stop_reply_for_inferior (QUEUE (stop_reply_p) *q,
-				QUEUE_ITER (stop_reply_p) *iter,
-				stop_reply_p event,
-				void *data)
-{
-  struct queue_iter_param *param = (struct queue_iter_param *) data;
-  struct inferior *inf = (struct inferior *) param->input;
-
-  if (ptid_get_pid (event->ptid) == inf->pid)
+  for (auto &event : get_remote_state ()->stop_reply_queue)
     {
-      stop_reply_xfree (event);
-      QUEUE_remove_elem (stop_reply_p, q, iter);
-    }
+      if (event->ws.kind == TARGET_WAITKIND_NO_RESUMED
+	  || event->ws.kind == TARGET_WAITKIND_NO_HISTORY)
+	continue;
 
-  return 1;
+      if (event->ws.kind == TARGET_WAITKIND_FORKED
+	  || event->ws.kind == TARGET_WAITKIND_VFORKED)
+	*may_global_wildcard = 0;
+
+      struct inferior *inf = find_inferior_ptid (event->ptid);
+
+      /* This may be the first time we heard about this process.
+	 Regardless, we must not do a global wildcard resume, otherwise
+	 we'd resume this process too.  */
+      *may_global_wildcard = 0;
+      if (inf != NULL)
+	get_remote_inferior (inf)->may_wildcard_vcont = false;
+    }
 }
 
 /* Discard all pending stop replies of inferior INF.  */
 
-static void
-discard_pending_stop_replies (struct inferior *inf)
+void
+remote_target::discard_pending_stop_replies (struct inferior *inf)
 {
-  struct queue_iter_param param;
   struct stop_reply *reply;
   struct remote_state *rs = get_remote_state ();
   struct remote_notif_state *rns = rs->notif_state;
@@ -6582,96 +7054,70 @@ discard_pending_stop_replies (struct inf
   reply = (struct stop_reply *) rns->pending_event[notif_client_stop.id];
 
   /* Discard the in-flight notification.  */
-  if (reply != NULL && ptid_get_pid (reply->ptid) == inf->pid)
+  if (reply != NULL && reply->ptid.pid () == inf->pid)
     {
       stop_reply_xfree (reply);
       rns->pending_event[notif_client_stop.id] = NULL;
     }
 
-  param.input = inf;
-  param.output = NULL;
   /* Discard the stop replies we have already pulled with
      vStopped.  */
-  QUEUE_iterate (stop_reply_p, stop_reply_queue,
-		 remove_stop_reply_for_inferior, &param);
-}
-
-/* If its remote state is equal to the given remote state,
-   remove EVENT from the stop reply queue.  */
-
-static int
-remove_stop_reply_of_remote_state (QUEUE (stop_reply_p) *q,
-				   QUEUE_ITER (stop_reply_p) *iter,
-				   stop_reply_p event,
-				   void *data)
-{
-  struct queue_iter_param *param = (struct queue_iter_param *) data;
-  struct remote_state *rs = (struct remote_state *) param->input;
-
-  if (event->rs == rs)
-    {
-      stop_reply_xfree (event);
-      QUEUE_remove_elem (stop_reply_p, q, iter);
-    }
-
-  return 1;
+  auto iter = std::remove_if (rs->stop_reply_queue.begin (),
+			      rs->stop_reply_queue.end (),
+			      [=] (const stop_reply_up &event)
+			      {
+				return event->ptid.pid () == inf->pid;
+			      });
+  rs->stop_reply_queue.erase (iter, rs->stop_reply_queue.end ());
 }
 
 /* Discard the stop replies for RS in stop_reply_queue.  */
 
-static void
-discard_pending_stop_replies_in_queue (struct remote_state *rs)
+void
+remote_target::discard_pending_stop_replies_in_queue ()
 {
-  struct queue_iter_param param;
+  remote_state *rs = get_remote_state ();
 
-  param.input = rs;
-  param.output = NULL;
   /* Discard the stop replies we have already pulled with
      vStopped.  */
-  QUEUE_iterate (stop_reply_p, stop_reply_queue,
-		 remove_stop_reply_of_remote_state, &param);
-}
-
-/* A parameter to pass data in and out.  */
-
-static int
-remote_notif_remove_once_on_match (QUEUE (stop_reply_p) *q,
-				   QUEUE_ITER (stop_reply_p) *iter,
-				   stop_reply_p event,
-				   void *data)
-{
-  struct queue_iter_param *param = (struct queue_iter_param *) data;
-  ptid_t *ptid = (ptid_t *) param->input;
-
-  if (ptid_match (event->ptid, *ptid))
-    {
-      param->output = event;
-      QUEUE_remove_elem (stop_reply_p, q, iter);
-      return 0;
-    }
-
-  return 1;
+  auto iter = std::remove_if (rs->stop_reply_queue.begin (),
+			      rs->stop_reply_queue.end (),
+			      [=] (const stop_reply_up &event)
+			      {
+				return event->rs == rs;
+			      });
+  rs->stop_reply_queue.erase (iter, rs->stop_reply_queue.end ());
 }
 
 /* Remove the first reply in 'stop_reply_queue' which matches
    PTID.  */
 
-static struct stop_reply *
-remote_notif_remove_queued_reply (ptid_t ptid)
+struct stop_reply *
+remote_target::remote_notif_remove_queued_reply (ptid_t ptid)
 {
-  struct queue_iter_param param;
+  remote_state *rs = get_remote_state ();
 
-  param.input = &ptid;
-  param.output = NULL;
+  auto iter = std::find_if (rs->stop_reply_queue.begin (),
+			    rs->stop_reply_queue.end (),
+			    [=] (const stop_reply_up &event)
+			    {
+			      return event->ptid.matches (ptid);
+			    });
+  struct stop_reply *result;
+  if (iter == rs->stop_reply_queue.end ())
+    result = nullptr;
+  else
+    {
+      result = iter->release ();
+      rs->stop_reply_queue.erase (iter);
+    }
 
-  QUEUE_iterate (stop_reply_p, stop_reply_queue,
-		 remote_notif_remove_once_on_match, &param);
   if (notif_debug)
     fprintf_unfiltered (gdb_stdlog,
 			"notif: discard queued event: 'Stop' in %s\n",
 			target_pid_to_str (ptid));
 
-  return param.output;
+  return result;
 }
 
 /* Look for a queued stop reply belonging to PTID.  If one is found,
@@ -6679,14 +7125,17 @@ remote_notif_remove_queued_reply (ptid_t
    found.  If there are still queued events left to process, tell the
    event loop to get back to target_wait soon.  */
 
-static struct stop_reply *
-queued_stop_reply (ptid_t ptid)
+struct stop_reply *
+remote_target::queued_stop_reply (ptid_t ptid)
 {
+  remote_state *rs = get_remote_state ();
   struct stop_reply *r = remote_notif_remove_queued_reply (ptid);
 
-  if (!QUEUE_is_empty (stop_reply_p, stop_reply_queue))
-    /* There's still at least an event left.  */
-    mark_async_event_handler (remote_async_inferior_event_token);
+  if (!rs->stop_reply_queue.empty ())
+    {
+      /* There's still at least an event left.  */
+      mark_async_event_handler (rs->remote_async_inferior_event_token);
+    }
 
   return r;
 }
@@ -6695,40 +7144,32 @@ queued_stop_reply (ptid_t ptid)
    know that we now have at least one queued event left to pass to the
    core side, tell the event loop to get back to target_wait soon.  */
 
-static void
-push_stop_reply (struct stop_reply *new_event)
+void
+remote_target::push_stop_reply (struct stop_reply *new_event)
 {
-  QUEUE_enque (stop_reply_p, stop_reply_queue, new_event);
+  remote_state *rs = get_remote_state ();
+  rs->stop_reply_queue.push_back (stop_reply_up (new_event));
 
   if (notif_debug)
     fprintf_unfiltered (gdb_stdlog,
 			"notif: push 'Stop' %s to queue %d\n",
 			target_pid_to_str (new_event->ptid),
-			QUEUE_length (stop_reply_p,
-				      stop_reply_queue));
-
-  mark_async_event_handler (remote_async_inferior_event_token);
-}
-
-static int
-stop_reply_match_ptid_and_ws (QUEUE (stop_reply_p) *q,
-			      QUEUE_ITER (stop_reply_p) *iter,
-			      struct stop_reply *event,
-			      void *data)
-{
-  ptid_t *ptid = (ptid_t *) data;
+			int (rs->stop_reply_queue.size ()));
 
-  return !(ptid_equal (*ptid, event->ptid)
-	   && event->ws.kind == TARGET_WAITKIND_STOPPED);
+  mark_async_event_handler (rs->remote_async_inferior_event_token);
 }
 
 /* Returns true if we have a stop reply for PTID.  */
 
-static int
-peek_stop_reply (ptid_t ptid)
+int
+remote_target::peek_stop_reply (ptid_t ptid)
 {
-  return !QUEUE_iterate (stop_reply_p, stop_reply_queue,
-			 stop_reply_match_ptid_and_ws, &ptid);
+  remote_state *rs = get_remote_state ();
+  for (auto &event : rs->stop_reply_queue)
+    if (ptid == event->ptid
+	&& event->ws.kind == TARGET_WAITKIND_STOPPED)
+      return 1;
+  return 0;
 }
 
 /* Helper for remote_parse_stop_reply.  Return nonzero if the substring
@@ -6746,8 +7187,8 @@ strprefix (const char *p, const char *pe
 /* Parse the stop reply in BUF.  Either the function succeeds, and the
    result is stored in EVENT, or throws an error.  */
 
-static void
-remote_parse_stop_reply (char *buf, struct stop_reply *event)
+void
+remote_target::remote_parse_stop_reply (char *buf, stop_reply *event)
 {
   remote_arch_state *rsa = NULL;
   ULONGEST addr;
@@ -6970,7 +7411,7 @@ Packet: '%s'\n"),
 			}
 
 		      event->arch = inf->gdbarch;
-		      rsa = get_remote_arch_state (event->arch);
+		      rsa = event->rs->get_remote_arch_state (event->arch);
 		    }
 
 		  packet_reg *reg
@@ -7067,7 +7508,7 @@ Packet: '%s'\n"),
 	  }
 
 	/* If no process is specified, assume inferior_ptid.  */
-	pid = ptid_get_pid (inferior_ptid);
+	pid = inferior_ptid.pid ();
 	if (*p == '\0')
 	  ;
 	else if (*p == ';')
@@ -7089,7 +7530,7 @@ Packet: '%s'\n"),
 	  }
 	else
 	  error (_("unknown stop reply packet: %s"), buf);
-	event->ptid = pid_to_ptid (pid);
+	event->ptid = ptid_t (pid);
       }
       break;
     case 'N':
@@ -7098,7 +7539,7 @@ Packet: '%s'\n"),
       break;
     }
 
-  if (target_is_non_stop_p () && ptid_equal (event->ptid, null_ptid))
+  if (target_is_non_stop_p () && event->ptid == null_ptid)
     error (_("No process or thread specified in stop reply: %s"), buf);
 }
 
@@ -7145,7 +7586,7 @@ Packet: '%s'\n"),
 */
 
 void
-remote_notif_get_pending_events (struct notif_client *nc)
+remote_target::remote_notif_get_pending_events (notif_client *nc)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -7157,7 +7598,7 @@ remote_notif_get_pending_events (struct 
 			    nc->name);
 
       /* acknowledge */
-      nc->ack (nc, rs->buf, rs->notif_state->pending_event[nc->id]);
+      nc->ack (this, nc, rs->buf, rs->notif_state->pending_event[nc->id]);
       rs->notif_state->pending_event[nc->id] = NULL;
 
       while (1)
@@ -7166,7 +7607,7 @@ remote_notif_get_pending_events (struct 
 	  if (strcmp (rs->buf, "OK") == 0)
 	    break;
 	  else
-	    remote_notif_ack (nc, rs->buf);
+	    remote_notif_ack (this, nc, rs->buf);
 	}
     }
   else
@@ -7178,13 +7619,22 @@ remote_notif_get_pending_events (struct 
     }
 }
 
+/* Wrapper around remote_target::remote_notif_get_pending_events to
+   avoid having to export the whole remote_target class.  */
+
+void
+remote_notif_get_pending_events (remote_target *remote, notif_client *nc)
+{
+  remote->remote_notif_get_pending_events (nc);
+}
+
 /* Called when it is decided that STOP_REPLY holds the info of the
    event that is to be returned to the core.  This function always
    destroys STOP_REPLY.  */
 
-static ptid_t
-process_stop_reply (struct stop_reply *stop_reply,
-		    struct target_waitstatus *status)
+ptid_t
+remote_target::process_stop_reply (struct stop_reply *stop_reply,
+				   struct target_waitstatus *status)
 {
   ptid_t ptid;
 
@@ -7193,7 +7643,7 @@ process_stop_reply (struct stop_reply *s
 
   /* If no thread/process was reported by the stub, assume the current
      inferior.  */
-  if (ptid_equal (ptid, null_ptid))
+  if (ptid == null_ptid)
     ptid = inferior_ptid;
 
   if (status->kind != TARGET_WAITKIND_EXITED
@@ -7212,7 +7662,7 @@ process_stop_reply (struct stop_reply *s
 	       VEC_iterate (cached_reg_t, stop_reply->regcache, ix, reg);
 	       ix++)
 	  {
-	    regcache_raw_supply (regcache, reg->num, reg->data);
+	    regcache->raw_supply (reg->num, reg->data);
 	    xfree (reg->data);
 	  }
 
@@ -7233,8 +7683,8 @@ process_stop_reply (struct stop_reply *s
 
 /* The non-stop mode version of target_wait.  */
 
-static ptid_t
-remote_wait_ns (ptid_t ptid, struct target_waitstatus *status, int options)
+ptid_t
+remote_target::wait_ns (ptid_t ptid, struct target_waitstatus *status, int options)
 {
   struct remote_state *rs = get_remote_state ();
   struct stop_reply *stop_reply;
@@ -7292,8 +7742,8 @@ remote_wait_ns (ptid_t ptid, struct targ
 /* Wait until the remote machine stops, then return, storing status in
    STATUS just as `wait' would.  */
 
-static ptid_t
-remote_wait_as (ptid_t ptid, struct target_waitstatus *status, int options)
+ptid_t
+remote_target::wait_as (ptid_t ptid, target_waitstatus *status, int options)
 {
   struct remote_state *rs = get_remote_state ();
   ptid_t event_ptid = null_ptid;
@@ -7317,7 +7767,7 @@ remote_wait_as (ptid_t ptid, struct targ
       int ret;
       int is_notif;
       int forever = ((options & TARGET_WNOHANG) == 0
-		     && wait_forever_enabled_p);
+		     && rs->wait_forever_enabled_p);
 
       if (!rs->waiting_for_stop_reply)
 	{
@@ -7365,7 +7815,7 @@ remote_wait_as (ptid_t ptid, struct targ
 	 for a stop reply.  See the comments in putpkt_binary.  Set
 	 waiting_for_stop_reply to 0 temporarily.  */
       rs->waiting_for_stop_reply = 0;
-      remote_fileio_request (buf, rs->ctrlc_pending_p);
+      remote_fileio_request (this, buf, rs->ctrlc_pending_p);
       rs->ctrlc_pending_p = 0;
       /* GDB handled the File-I/O request, and the target is running
 	 again.  Keep waiting for events.  */
@@ -7379,7 +7829,8 @@ remote_wait_as (ptid_t ptid, struct targ
 	rs->waiting_for_stop_reply = 0;
 
 	stop_reply
-	  = (struct stop_reply *) remote_notif_parse (&notif_client_stop,
+	  = (struct stop_reply *) remote_notif_parse (this,
+						      &notif_client_stop,
 						      rs->buf);
 
 	event_ptid = process_stop_reply (stop_reply, status);
@@ -7404,7 +7855,7 @@ remote_wait_as (ptid_t ptid, struct targ
 	  putpkt (buf);
 	  break;
 	}
-      /* else fallthrough */
+      /* fallthrough */
     default:
       warning (_("Invalid remote reply: %s"), buf);
       break;
@@ -7424,7 +7875,7 @@ remote_wait_as (ptid_t ptid, struct targ
   else if (status->kind != TARGET_WAITKIND_EXITED
 	   && status->kind != TARGET_WAITKIND_SIGNALLED)
     {
-      if (!ptid_equal (event_ptid, null_ptid))
+      if (event_ptid != null_ptid)
 	record_currthread (rs, event_ptid);
       else
 	event_ptid = inferior_ptid;
@@ -7439,23 +7890,24 @@ remote_wait_as (ptid_t ptid, struct targ
 /* Wait until the remote machine stops, then return, storing status in
    STATUS just as `wait' would.  */
 
-static ptid_t
-remote_wait (struct target_ops *ops,
-	     ptid_t ptid, struct target_waitstatus *status, int options)
+ptid_t
+remote_target::wait (ptid_t ptid, struct target_waitstatus *status, int options)
 {
   ptid_t event_ptid;
 
   if (target_is_non_stop_p ())
-    event_ptid = remote_wait_ns (ptid, status, options);
+    event_ptid = wait_ns (ptid, status, options);
   else
-    event_ptid = remote_wait_as (ptid, status, options);
+    event_ptid = wait_as (ptid, status, options);
 
   if (target_is_async_p ())
     {
+      remote_state *rs = get_remote_state ();
+
       /* If there are are events left in the queue tell the event loop
 	 to return here.  */
-      if (!QUEUE_is_empty (stop_reply_p, stop_reply_queue))
-	mark_async_event_handler (remote_async_inferior_event_token);
+      if (!rs->stop_reply_queue.empty ())
+	mark_async_event_handler (rs->remote_async_inferior_event_token);
     }
 
   return event_ptid;
@@ -7463,8 +7915,9 @@ remote_wait (struct target_ops *ops,
 
 /* Fetch a single register using a 'p' packet.  */
 
-static int
-fetch_register_using_p (struct regcache *regcache, struct packet_reg *reg)
+int
+remote_target::fetch_register_using_p (struct regcache *regcache,
+				       packet_reg *reg)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   struct remote_state *rs = get_remote_state ();
@@ -7503,7 +7956,7 @@ fetch_register_using_p (struct regcache 
   /* If this register is unfetchable, tell the regcache.  */
   if (buf[0] == 'x')
     {
-      regcache_raw_supply (regcache, reg->regnum, NULL);
+      regcache->raw_supply (reg->regnum, NULL);
       return 1;
     }
 
@@ -7518,20 +7971,24 @@ fetch_register_using_p (struct regcache 
       regp[i++] = fromhex (p[0]) * 16 + fromhex (p[1]);
       p += 2;
     }
-  regcache_raw_supply (regcache, reg->regnum, regp);
+  regcache->raw_supply (reg->regnum, regp);
   return 1;
 }
 
 /* Fetch the registers included in the target's 'g' packet.  */
 
-static int
-send_g_packet (void)
+int
+remote_target::send_g_packet ()
 {
   struct remote_state *rs = get_remote_state ();
   int buf_len;
 
   xsnprintf (rs->buf, get_remote_packet_size (), "g");
-  remote_send (&rs->buf, &rs->buf_size);
+  putpkt (rs->buf);
+  getpkt (&rs->buf, &rs->buf_size, 0);
+  if (packet_check_result (rs->buf) == PACKET_ERROR)
+    error (_("Could not read registers; remote failure reply '%s'"),
+           rs->buf);
 
   /* We can get out of synch in various cases.  If the first character
      in the buffer is not a hex character, assume that has happened
@@ -7556,12 +8013,12 @@ send_g_packet (void)
   return buf_len / 2;
 }
 
-static void
-process_g_packet (struct regcache *regcache)
+void
+remote_target::process_g_packet (struct regcache *regcache)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   struct remote_state *rs = get_remote_state ();
-  remote_arch_state *rsa = get_remote_arch_state (gdbarch);
+  remote_arch_state *rsa = rs->get_remote_arch_state (gdbarch);
   int i, buf_len;
   char *p;
   char *regs;
@@ -7652,17 +8109,16 @@ process_g_packet (struct regcache *regca
 	      gdb_assert (r->offset * 2 < strlen (rs->buf));
 	      /* The register isn't available, mark it as such (at
 		 the same time setting the value to zero).  */
-	      regcache_raw_supply (regcache, r->regnum, NULL);
+	      regcache->raw_supply (r->regnum, NULL);
 	    }
 	  else
-	    regcache_raw_supply (regcache, r->regnum,
-				 regs + r->offset);
+	    regcache->raw_supply (r->regnum, regs + r->offset);
 	}
     }
 }
 
-static void
-fetch_registers_using_g (struct regcache *regcache)
+void
+remote_target::fetch_registers_using_g (struct regcache *regcache)
 {
   send_g_packet ();
   process_g_packet (regcache);
@@ -7671,8 +8127,8 @@ fetch_registers_using_g (struct regcache
 /* Make the remote selected traceframe match GDB's selected
    traceframe.  */
 
-static void
-set_remote_traceframe (void)
+void
+remote_target::set_remote_traceframe ()
 {
   int newnum;
   struct remote_state *rs = get_remote_state ();
@@ -7691,16 +8147,16 @@ set_remote_traceframe (void)
     warning (_("could not set remote traceframe"));
 }
 
-static void
-remote_fetch_registers (struct target_ops *ops,
-			struct regcache *regcache, int regnum)
+void
+remote_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
-  remote_arch_state *rsa = get_remote_arch_state (gdbarch);
+  struct remote_state *rs = get_remote_state ();
+  remote_arch_state *rsa = rs->get_remote_arch_state (gdbarch);
   int i;
 
   set_remote_traceframe ();
-  set_general_thread (regcache_get_ptid (regcache));
+  set_general_thread (regcache->ptid ());
 
   if (regnum >= 0)
     {
@@ -7723,7 +8179,7 @@ remote_fetch_registers (struct target_op
 	return;
 
       /* This register is not available.  */
-      regcache_raw_supply (regcache, reg->regnum, NULL);
+      regcache->raw_supply (reg->regnum, NULL);
 
       return;
     }
@@ -7735,7 +8191,7 @@ remote_fetch_registers (struct target_op
       if (!fetch_register_using_p (regcache, &rsa->regs[i]))
 	{
 	  /* This register is not available.  */
-	  regcache_raw_supply (regcache, i, NULL);
+	  regcache->raw_supply (i, NULL);
 	}
 }
 
@@ -7743,10 +8199,11 @@ remote_fetch_registers (struct target_op
    'G' request), we have to read out the ones we don't want to change
    first.  */
 
-static void
-remote_prepare_to_store (struct target_ops *self, struct regcache *regcache)
+void
+remote_target::prepare_to_store (struct regcache *regcache)
 {
-  remote_arch_state *rsa = get_remote_arch_state (regcache->arch ());
+  struct remote_state *rs = get_remote_state ();
+  remote_arch_state *rsa = rs->get_remote_arch_state (regcache->arch ());
   int i;
 
   /* Make sure the entire registers array is valid.  */
@@ -7757,7 +8214,7 @@ remote_prepare_to_store (struct target_o
       /* Make sure all the necessary registers are cached.  */
       for (i = 0; i < gdbarch_num_regs (regcache->arch ()); i++)
 	if (rsa->regs[i].in_g_packet)
-	  regcache_raw_update (regcache, rsa->regs[i].regnum);
+	  regcache->raw_update (rsa->regs[i].regnum);
       break;
     case PACKET_ENABLE:
       break;
@@ -7767,9 +8224,9 @@ remote_prepare_to_store (struct target_o
 /* Helper: Attempt to store REGNUM using the P packet.  Return fail IFF
    packet was not recognized.  */
 
-static int
-store_register_using_P (const struct regcache *regcache, 
-			struct packet_reg *reg)
+int
+remote_target::store_register_using_P (const struct regcache *regcache,
+				       packet_reg *reg)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   struct remote_state *rs = get_remote_state ();
@@ -7786,7 +8243,7 @@ store_register_using_P (const struct reg
 
   xsnprintf (buf, get_remote_packet_size (), "P%s=", phex_nz (reg->pnum, 0));
   p = buf + strlen (buf);
-  regcache_raw_collect (regcache, reg->regnum, regp);
+  regcache->raw_collect (reg->regnum, regp);
   bin2hex (regp, p, register_size (gdbarch, reg->regnum));
   putpkt (rs->buf);
   getpkt (&rs->buf, &rs->buf_size, 0);
@@ -7808,11 +8265,11 @@ store_register_using_P (const struct reg
 /* Store register REGNUM, or all registers if REGNUM == -1, from the
    contents of the register cache buffer.  FIXME: ignores errors.  */
 
-static void
-store_registers_using_G (const struct regcache *regcache)
+void
+remote_target::store_registers_using_G (const struct regcache *regcache)
 {
   struct remote_state *rs = get_remote_state ();
-  remote_arch_state *rsa = get_remote_arch_state (regcache->arch ());
+  remote_arch_state *rsa = rs->get_remote_arch_state (regcache->arch ());
   gdb_byte *regs;
   char *p;
 
@@ -7828,7 +8285,7 @@ store_registers_using_G (const struct re
 	struct packet_reg *r = &rsa->regs[i];
 
 	if (r->in_g_packet)
-	  regcache_raw_collect (regcache, r->regnum, regs + r->offset);
+	  regcache->raw_collect (r->regnum, regs + r->offset);
       }
   }
 
@@ -7847,16 +8304,16 @@ store_registers_using_G (const struct re
 /* Store register REGNUM, or all registers if REGNUM == -1, from the contents
    of the register cache buffer.  FIXME: ignores errors.  */
 
-static void
-remote_store_registers (struct target_ops *ops,
-			struct regcache *regcache, int regnum)
+void
+remote_target::store_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
-  remote_arch_state *rsa = get_remote_arch_state (gdbarch);
+  struct remote_state *rs = get_remote_state ();
+  remote_arch_state *rsa = rs->get_remote_arch_state (gdbarch);
   int i;
 
   set_remote_traceframe ();
-  set_general_thread (regcache_get_ptid (regcache));
+  set_general_thread (regcache->ptid ());
 
   if (regnum >= 0)
     {
@@ -7969,8 +8426,8 @@ remote_address_masked (CORE_ADDR addr)
    clean.  In cases like this, the user should clear "remote
    X-packet".  */
 
-static void
-check_binary_download (CORE_ADDR addr)
+void
+remote_target::check_binary_download (CORE_ADDR addr)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -8060,11 +8517,13 @@ align_for_efficient_write (int todo, COR
    -> $m1000,4#??
    <- eeeeffffeeeedddd  */
 
-static enum target_xfer_status
-remote_write_bytes_aux (const char *header, CORE_ADDR memaddr,
-			const gdb_byte *myaddr, ULONGEST len_units,
-			int unit_size, ULONGEST *xfered_len_units,
-			char packet_format, int use_length)
+target_xfer_status
+remote_target::remote_write_bytes_aux (const char *header, CORE_ADDR memaddr,
+				       const gdb_byte *myaddr,
+				       ULONGEST len_units,
+				       int unit_size,
+				       ULONGEST *xfered_len_units,
+				       char packet_format, int use_length)
 {
   struct remote_state *rs = get_remote_state ();
   char *p;
@@ -8223,9 +8682,10 @@ remote_write_bytes_aux (const char *head
    'enum target_xfer_status' value).  Save the number of bytes
    transferred in *XFERED_LEN.  Only transfer a single packet.  */
 
-static enum target_xfer_status
-remote_write_bytes (CORE_ADDR memaddr, const gdb_byte *myaddr, ULONGEST len,
-		    int unit_size, ULONGEST *xfered_len)
+target_xfer_status
+remote_target::remote_write_bytes (CORE_ADDR memaddr, const gdb_byte *myaddr,
+				   ULONGEST len, int unit_size,
+				   ULONGEST *xfered_len)
 {
   const char *packet_format = NULL;
 
@@ -8266,9 +8726,10 @@ remote_write_bytes (CORE_ADDR memaddr, c
    See the comment of remote_write_bytes_aux for an example of
    memory read/write exchange between gdb and the stub.  */
 
-static enum target_xfer_status
-remote_read_bytes_1 (CORE_ADDR memaddr, gdb_byte *myaddr, ULONGEST len_units,
-		     int unit_size, ULONGEST *xfered_len_units)
+target_xfer_status
+remote_target::remote_read_bytes_1 (CORE_ADDR memaddr, gdb_byte *myaddr,
+				    ULONGEST len_units,
+				    int unit_size, ULONGEST *xfered_len_units)
 {
   struct remote_state *rs = get_remote_state ();
   int buf_size_bytes;		/* Max size of packet output buffer.  */
@@ -8313,15 +8774,17 @@ remote_read_bytes_1 (CORE_ADDR memaddr, 
    For interface/parameters/return description see target.h,
    to_xfer_partial.  */
 
-static enum target_xfer_status
-remote_xfer_live_readonly_partial (struct target_ops *ops, gdb_byte *readbuf,
-				   ULONGEST memaddr, ULONGEST len,
-				   int unit_size, ULONGEST *xfered_len)
+target_xfer_status
+remote_target::remote_xfer_live_readonly_partial (gdb_byte *readbuf,
+						  ULONGEST memaddr,
+						  ULONGEST len,
+						  int unit_size,
+						  ULONGEST *xfered_len)
 {
   struct target_section *secp;
   struct target_section_table *table;
 
-  secp = target_section_by_addr (ops, memaddr);
+  secp = target_section_by_addr (this, memaddr);
   if (secp != NULL
       && (bfd_get_section_flags (secp->the_bfd_section->owner,
 				 secp->the_bfd_section)
@@ -8330,7 +8793,7 @@ remote_xfer_live_readonly_partial (struc
       struct target_section *p;
       ULONGEST memend = memaddr + len;
 
-      table = target_get_section_table (ops);
+      table = target_get_section_table (this);
 
       for (p = table->sections; p < table->sections_end; p++)
 	{
@@ -8365,10 +8828,10 @@ remote_xfer_live_readonly_partial (struc
    first if the requested memory is unavailable in traceframe.
    Otherwise, fall back to remote_read_bytes_1.  */
 
-static enum target_xfer_status
-remote_read_bytes (struct target_ops *ops, CORE_ADDR memaddr,
-		   gdb_byte *myaddr, ULONGEST len, int unit_size,
-		   ULONGEST *xfered_len)
+target_xfer_status
+remote_target::remote_read_bytes (CORE_ADDR memaddr,
+				  gdb_byte *myaddr, ULONGEST len, int unit_size,
+				  ULONGEST *xfered_len)
 {
   if (len == 0)
     return TARGET_XFER_EOF;
@@ -8398,7 +8861,7 @@ remote_read_bytes (struct target_ops *op
 		}
 
 	      /* This goes through the topmost target again.  */
-	      res = remote_xfer_live_readonly_partial (ops, myaddr, memaddr,
+	      res = remote_xfer_live_readonly_partial (myaddr, memaddr,
 						       len, unit_size, xfered_len);
 	      if (res == TARGET_XFER_OK)
 		return TARGET_XFER_OK;
@@ -8429,11 +8892,8 @@ remote_read_bytes (struct target_ops *op
    FORMAT and the remaining arguments, then gets the reply.  Returns
    whether the packet was a success, a failure, or unknown.  */
 
-static enum packet_result remote_send_printf (const char *format, ...)
-  ATTRIBUTE_PRINTF (1, 2);
-
-static enum packet_result
-remote_send_printf (const char *format, ...)
+packet_result
+remote_target::remote_send_printf (const char *format, ...)
 {
   struct remote_state *rs = get_remote_state ();
   int max_size = get_remote_packet_size ();
@@ -8459,9 +8919,8 @@ remote_send_printf (const char *format, 
    In future, we'll need to decide on a better approach.  */
 static const int remote_flash_timeout = 1000;
 
-static void
-remote_flash_erase (struct target_ops *ops,
-                    ULONGEST address, LONGEST length)
+void
+remote_target::flash_erase (ULONGEST address, LONGEST length)
 {
   int addr_size = gdbarch_addr_bit (target_gdbarch ()) / 8;
   enum packet_result ret;
@@ -8482,10 +8941,10 @@ remote_flash_erase (struct target_ops *o
     }
 }
 
-static enum target_xfer_status
-remote_flash_write (struct target_ops *ops, ULONGEST address,
-		    ULONGEST length, ULONGEST *xfered_len,
-		    const gdb_byte *data)
+target_xfer_status
+remote_target::remote_flash_write (ULONGEST address,
+				   ULONGEST length, ULONGEST *xfered_len,
+				   const gdb_byte *data)
 {
   scoped_restore restore_timeout
     = make_scoped_restore (&remote_timeout, remote_flash_timeout);
@@ -8493,8 +8952,8 @@ remote_flash_write (struct target_ops *o
 				 xfered_len,'X', 0);
 }
 
-static void
-remote_flash_done (struct target_ops *ops)
+void
+remote_target::flash_done ()
 {
   int ret;
 
@@ -8514,8 +8973,8 @@ remote_flash_done (struct target_ops *op
     }
 }
 
-static void
-remote_files_info (struct target_ops *ignore)
+void
+remote_target::files_info ()
 {
   puts_filtered ("Debugging a target over a serial line.\n");
 }
@@ -8544,15 +9003,17 @@ unpush_and_perror (const char *string)
    sequence, as that would break communication with the remote server.
    See remote_serial_quit_handler for more detail.  */
 
-static int
-readchar (int timeout)
+int
+remote_target::readchar (int timeout)
 {
   int ch;
   struct remote_state *rs = get_remote_state ();
 
   {
+    scoped_restore restore_quit_target
+      = make_scoped_restore (&curr_quit_handler_target, this);
     scoped_restore restore_quit
-      = make_scoped_restore (&quit_handler, remote_serial_quit_handler);
+      = make_scoped_restore (&quit_handler, ::remote_serial_quit_handler);
 
     rs->got_ctrlc_during_io = 0;
 
@@ -8587,13 +9048,15 @@ readchar (int timeout)
    communication with the remote server.  See
    remote_serial_quit_handler for more detail.  */
 
-static void
-remote_serial_write (const char *str, int len)
+void
+remote_target::remote_serial_write (const char *str, int len)
 {
   struct remote_state *rs = get_remote_state ();
 
+  scoped_restore restore_quit_target
+    = make_scoped_restore (&curr_quit_handler_target, this);
   scoped_restore restore_quit
-    = make_scoped_restore (&quit_handler, remote_serial_quit_handler);
+    = make_scoped_restore (&quit_handler, ::remote_serial_quit_handler);
 
   rs->got_ctrlc_during_io = 0;
 
@@ -8607,22 +9070,6 @@ remote_serial_write (const char *str, in
     set_quit_flag ();
 }
 
-/* Send the command in *BUF to the remote machine, and read the reply
-   into *BUF.  Report an error if we get an error reply.  Resize
-   *BUF using xrealloc if necessary to hold the result, and update
-   *SIZEOF_BUF.  */
-
-static void
-remote_send (char **buf,
-	     long *sizeof_buf)
-{
-  putpkt (*buf);
-  getpkt (buf, sizeof_buf, 0);
-
-  if ((*buf)[0] == 'E')
-    error (_("Remote failure reply: %s"), *buf);
-}
-
 /* Return a string representing an escaped version of BUF, of len N.
    E.g. \n is converted to \\n, \t to \\t, etc.  */
 
@@ -8647,19 +9094,28 @@ print_packet (const char *buf)
 }
 
 int
-putpkt (const char *buf)
+remote_target::putpkt (const char *buf)
 {
   return putpkt_binary (buf, strlen (buf));
 }
 
+/* Wrapper around remote_target::putpkt to avoid exporting
+   remote_target.  */
+
+int
+putpkt (remote_target *remote, const char *buf)
+{
+  return remote->putpkt (buf);
+}
+
 /* Send a packet to the remote machine, with error checking.  The data
    of the packet is in BUF.  The string in BUF can be at most
    get_remote_packet_size () - 5 to account for the $, # and checksum,
    and for a possible /0 if we are debugging (remote_debug) and want
    to print the sent packet as a string.  */
 
-static int
-putpkt_binary (const char *buf, int cnt)
+int
+remote_target::putpkt_binary (const char *buf, int cnt)
 {
   struct remote_state *rs = get_remote_state ();
   int i;
@@ -8723,11 +9179,9 @@ putpkt_binary (const char *buf, int cnt)
 
 	  fprintf_unfiltered (gdb_stdlog, "Sending packet: %s", str.c_str ());
 
-	  if (str.length () > REMOTE_DEBUG_MAX_CHAR)
-	    {
-	      fprintf_unfiltered (gdb_stdlog, "[%zu bytes omitted]",
-				  str.length () - REMOTE_DEBUG_MAX_CHAR);
-	    }
+	  if (len > REMOTE_DEBUG_MAX_CHAR)
+	    fprintf_unfiltered (gdb_stdlog, "[%d bytes omitted]",
+				len - REMOTE_DEBUG_MAX_CHAR);
 
 	  fprintf_unfiltered (gdb_stdlog, "...");
 
@@ -8866,8 +9320,8 @@ putpkt_binary (const char *buf, int cnt)
 /* Come here after finding the start of a frame when we expected an
    ack.  Do our best to discard the rest of this packet.  */
 
-static void
-skip_frame (void)
+void
+remote_target::skip_frame ()
 {
   int c;
 
@@ -8908,9 +9362,8 @@ skip_frame (void)
    trailing NULL) on success. (could be extended to return one of the
    SERIAL status indications).  */
 
-static long
-read_frame (char **buf_p,
-	    long *sizeof_buf)
+long
+remote_target::read_frame (char **buf_p, long *sizeof_buf)
 {
   unsigned char csum;
   long bc;
@@ -9040,10 +9493,9 @@ read_frame (char **buf_p,
    don't have to change all the calls to getpkt to deal with the
    return value, because at the moment I don't know what the right
    thing to do it for those.  */
+
 void
-getpkt (char **buf,
-	long *sizeof_buf,
-	int forever)
+remote_target::getpkt (char **buf, long *sizeof_buf, int forever)
 {
   getpkt_sane (buf, sizeof_buf, forever);
 }
@@ -9061,9 +9513,10 @@ getpkt (char **buf,
    boolean that indicates whether *BUF holds a notification or not
    (a regular packet).  */
 
-static int
-getpkt_or_notif_sane_1 (char **buf, long *sizeof_buf, int forever,
-			int expecting_notif, int *is_notif)
+int
+remote_target::getpkt_or_notif_sane_1 (char **buf, long *sizeof_buf,
+				       int forever, int expecting_notif,
+				       int *is_notif)
 {
   struct remote_state *rs = get_remote_state ();
   int c;
@@ -9160,11 +9613,9 @@ getpkt_or_notif_sane_1 (char **buf, long
 	      fprintf_unfiltered (gdb_stdlog, "Packet received: %s",
 				  str.c_str ());
 
-	      if (str.length () >  REMOTE_DEBUG_MAX_CHAR)
-		{
-		  fprintf_unfiltered (gdb_stdlog, "[%zu bytes omitted]",
-				      str.length () - REMOTE_DEBUG_MAX_CHAR);
-		}
+	      if (val > REMOTE_DEBUG_MAX_CHAR)
+		fprintf_unfiltered (gdb_stdlog, "[%d bytes omitted]",
+				    val - REMOTE_DEBUG_MAX_CHAR);
 
 	      fprintf_unfiltered (gdb_stdlog, "\n");
 	    }
@@ -9204,55 +9655,29 @@ getpkt_or_notif_sane_1 (char **buf, long
     }
 }
 
-static int
-getpkt_sane (char **buf, long *sizeof_buf, int forever)
+int
+remote_target::getpkt_sane (char **buf, long *sizeof_buf, int forever)
 {
   return getpkt_or_notif_sane_1 (buf, sizeof_buf, forever, 0, NULL);
 }
 
-static int
-getpkt_or_notif_sane (char **buf, long *sizeof_buf, int forever,
-		      int *is_notif)
+int
+remote_target::getpkt_or_notif_sane (char **buf, long *sizeof_buf, int forever,
+				     int *is_notif)
 {
   return getpkt_or_notif_sane_1 (buf, sizeof_buf, forever, 1,
 				 is_notif);
 }
 
-/* Check whether EVENT is a fork event for the process specified
-   by the pid passed in DATA, and if it is, kill the fork child.  */
-
-static int
-kill_child_of_pending_fork (QUEUE (stop_reply_p) *q,
-			    QUEUE_ITER (stop_reply_p) *iter,
-			    stop_reply_p event,
-			    void *data)
-{
-  struct queue_iter_param *param = (struct queue_iter_param *) data;
-  int parent_pid = *(int *) param->input;
-
-  if (is_pending_fork_parent (&event->ws, parent_pid, event->ptid))
-    {
-      struct remote_state *rs = get_remote_state ();
-      int child_pid = ptid_get_pid (event->ws.value.related_pid);
-      int res;
-
-      res = remote_vkill (child_pid, rs);
-      if (res != 0)
-	error (_("Can't kill fork child process %d"), child_pid);
-    }
-
-  return 1;
-}
-
 /* Kill any new fork children of process PID that haven't been
    processed by follow_fork.  */
 
-static void
-kill_new_fork_children (int pid, struct remote_state *rs)
+void
+remote_target::kill_new_fork_children (int pid)
 {
+  remote_state *rs = get_remote_state ();
   struct thread_info *thread;
   struct notif_client *notif = &notif_client_stop;
-  struct queue_iter_param param;
 
   /* Kill the fork child threads of any threads in process PID
      that are stopped at a fork event.  */
@@ -9262,11 +9687,10 @@ kill_new_fork_children (int pid, struct 
 
       if (is_pending_fork_parent (ws, pid, thread->ptid))
 	{
-	  struct remote_state *rs = get_remote_state ();
-	  int child_pid = ptid_get_pid (ws->value.related_pid);
+	  int child_pid = ws->value.related_pid.pid ();
 	  int res;
 
-	  res = remote_vkill (child_pid, rs);
+	  res = remote_vkill (child_pid);
 	  if (res != 0)
 	    error (_("Can't kill fork child process %d"), child_pid);
 	}
@@ -9275,20 +9699,26 @@ kill_new_fork_children (int pid, struct 
   /* Check for any pending fork events (not reported or processed yet)
      in process PID and kill those fork child threads as well.  */
   remote_notif_get_pending_events (notif);
-  param.input = &pid;
-  param.output = NULL;
-  QUEUE_iterate (stop_reply_p, stop_reply_queue,
-		 kill_child_of_pending_fork, &param);
+  for (auto &event : rs->stop_reply_queue)
+    if (is_pending_fork_parent (&event->ws, pid, event->ptid))
+      {
+	int child_pid = event->ws.value.related_pid.pid ();
+	int res;
+
+	res = remote_vkill (child_pid);
+	if (res != 0)
+	  error (_("Can't kill fork child process %d"), child_pid);
+      }
 }
 
 
 /* Target hook to kill the current inferior.  */
 
-static void
-remote_kill (struct target_ops *ops)
+void
+remote_target::kill ()
 {
   int res = -1;
-  int pid = ptid_get_pid (inferior_ptid);
+  int pid = inferior_ptid.pid ();
   struct remote_state *rs = get_remote_state ();
 
   if (packet_support (PACKET_vKill) != PACKET_DISABLE)
@@ -9297,9 +9727,9 @@ remote_kill (struct target_ops *ops)
 	 kill the child task.  We need to do this before killing the
 	 parent task because if this is a vfork then the parent will
 	 be sleeping.  */
-      kill_new_fork_children (pid, rs);
+      kill_new_fork_children (pid);
 
-      res = remote_vkill (pid, rs);
+      res = remote_vkill (pid);
       if (res == 0)
 	{
 	  target_mourn_inferior (inferior_ptid);
@@ -9329,12 +9759,14 @@ remote_kill (struct target_ops *ops)
 
 /* Send a kill request to the target using the 'vKill' packet.  */
 
-static int
-remote_vkill (int pid, struct remote_state *rs)
+int
+remote_target::remote_vkill (int pid)
 {
   if (packet_support (PACKET_vKill) == PACKET_DISABLE)
     return -1;
 
+  remote_state *rs = get_remote_state ();
+
   /* Tell the remote target to detach.  */
   xsnprintf (rs->buf, get_remote_packet_size (), "vKill;%x", pid);
   putpkt (rs->buf);
@@ -9356,8 +9788,8 @@ remote_vkill (int pid, struct remote_sta
 
 /* Send a kill request to the target using the 'k' packet.  */
 
-static void
-remote_kill_k (void)
+void
+remote_target::remote_kill_k ()
 {
   /* Catch errors so the user can quit from gdb even when we
      aren't on speaking terms with the remote system.  */
@@ -9386,15 +9818,19 @@ remote_kill_k (void)
   END_CATCH
 }
 
-static void
-remote_mourn (struct target_ops *target)
+void
+remote_target::mourn_inferior ()
 {
   struct remote_state *rs = get_remote_state ();
 
+  /* We're no longer interested in notification events of an inferior
+     that exited or was killed/detached.  */
+  discard_pending_stop_replies (current_inferior ());
+
   /* In 'target remote' mode with one inferior, we close the connection.  */
   if (!rs->extended && number_of_live_inferiors () <= 1)
     {
-      unpush_target (target);
+      unpush_target (this);
 
       /* remote_close takes care of doing most of the clean up.  */
       generic_mourn_inferior ();
@@ -9454,14 +9890,14 @@ remote_mourn (struct target_ops *target)
     }
 }
 
-static int
-extended_remote_supports_disable_randomization (struct target_ops *self)
+bool
+extended_remote_target::supports_disable_randomization ()
 {
   return packet_support (PACKET_QDisableRandomization) == PACKET_ENABLE;
 }
 
-static void
-extended_remote_disable_randomization (int val)
+void
+remote_target::extended_remote_disable_randomization (int val)
 {
   struct remote_state *rs = get_remote_state ();
   char *reply;
@@ -9476,8 +9912,8 @@ extended_remote_disable_randomization (i
     error (_("Bogus QDisableRandomization reply from target: %s"), reply);
 }
 
-static int
-extended_remote_run (const std::string &args)
+int
+remote_target::extended_remote_run (const std::string &args)
 {
   struct remote_state *rs = get_remote_state ();
   int len;
@@ -9540,12 +9976,13 @@ extended_remote_run (const std::string &
    or "QEnvironmentUnsetVariable".  VALUE is the variable to be
    sent.  */
 
-static void
-send_environment_packet (struct remote_state *rs,
-			 const char *action,
-			 const char *packet,
-			 const char *value)
+void
+remote_target::send_environment_packet (const char *action,
+					const char *packet,
+					const char *value)
 {
+  remote_state *rs = get_remote_state ();
+
   /* Convert the environment variable to an hex string, which
      is the best format to be transmitted over the wire.  */
   std::string encoded_value = bin2hex ((const gdb_byte *) value,
@@ -9563,9 +10000,11 @@ send_environment_packet (struct remote_s
 
 /* Helper function to handle the QEnvironment* packets.  */
 
-static void
-extended_remote_environment_support (struct remote_state *rs)
+void
+remote_target::extended_remote_environment_support ()
 {
+  remote_state *rs = get_remote_state ();
+
   if (packet_support (PACKET_QEnvironmentReset) != PACKET_DISABLE)
     {
       putpkt ("QEnvironmentReset");
@@ -9578,23 +10017,24 @@ extended_remote_environment_support (str
 
   if (packet_support (PACKET_QEnvironmentHexEncoded) != PACKET_DISABLE)
     for (const std::string &el : e->user_set_env ())
-      send_environment_packet (rs, "set", "QEnvironmentHexEncoded",
+      send_environment_packet ("set", "QEnvironmentHexEncoded",
 			       el.c_str ());
 
   if (packet_support (PACKET_QEnvironmentUnset) != PACKET_DISABLE)
     for (const std::string &el : e->user_unset_env ())
-      send_environment_packet (rs, "unset", "QEnvironmentUnset", el.c_str ());
+      send_environment_packet ("unset", "QEnvironmentUnset", el.c_str ());
 }
 
 /* Helper function to set the current working directory for the
    inferior in the remote target.  */
 
-static void
-extended_remote_set_inferior_cwd (struct remote_state *rs)
+void
+remote_target::extended_remote_set_inferior_cwd ()
 {
   if (packet_support (PACKET_QSetWorkingDir) != PACKET_DISABLE)
     {
       const char *inferior_cwd = get_inferior_cwd ();
+      remote_state *rs = get_remote_state ();
 
       if (inferior_cwd != NULL)
 	{
@@ -9631,11 +10071,10 @@ directory: %s"),
    executable file and the command line arguments, but not the
    environment.  */
 
-static void
-extended_remote_create_inferior (struct target_ops *ops,
-				 const char *exec_file,
-				 const std::string &args,
-				 char **env, int from_tty)
+void
+extended_remote_target::create_inferior (const char *exec_file,
+					 const std::string &args,
+					 char **env, int from_tty)
 {
   int run_worked;
   char *stop_reply;
@@ -9648,7 +10087,7 @@ extended_remote_create_inferior (struct 
     target_async (1);
 
   /* Disable address space randomization if requested (and supported).  */
-  if (extended_remote_supports_disable_randomization (ops))
+  if (supports_disable_randomization ())
     extended_remote_disable_randomization (disable_randomization);
 
   /* If startup-with-shell is on, we inform gdbserver to start the
@@ -9665,9 +10104,9 @@ Remote replied unexpectedly while settin
 	       rs->buf);
     }
 
-  extended_remote_environment_support (rs);
+  extended_remote_environment_support ();
 
-  extended_remote_set_inferior_cwd (rs);
+  extended_remote_set_inferior_cwd ();
 
   /* Now restart the remote server.  */
   run_worked = extended_remote_run (args) != -1;
@@ -9759,10 +10198,9 @@ remote_add_target_side_commands (struct 
    support, we ask the remote target to do the work; on targets
    which don't, we insert a traditional memory breakpoint.  */
 
-static int
-remote_insert_breakpoint (struct target_ops *ops,
-			  struct gdbarch *gdbarch,
-			  struct bp_target_info *bp_tgt)
+int
+remote_target::insert_breakpoint (struct gdbarch *gdbarch,
+				  struct bp_target_info *bp_tgt)
 {
   /* Try the "Z" s/w breakpoint packet if it is not already disabled.
      If it succeeds, then set the support to PACKET_ENABLE.  If it
@@ -9791,10 +10229,10 @@ remote_insert_breakpoint (struct target_
       p += hexnumstr (p, addr);
       xsnprintf (p, endbuf - p, ",%d", bp_tgt->kind);
 
-      if (remote_supports_cond_breakpoints (ops))
+      if (supports_evaluation_of_breakpoint_conditions ())
 	remote_add_target_side_condition (gdbarch, bp_tgt, p, endbuf);
 
-      if (remote_can_run_breakpoint_commands (ops))
+      if (can_run_breakpoint_commands ())
 	remote_add_target_side_commands (gdbarch, bp_tgt, p);
 
       putpkt (rs->buf);
@@ -9817,14 +10255,13 @@ remote_insert_breakpoint (struct target_
     throw_error (NOT_SUPPORTED_ERROR, _("\
 Target doesn't support breakpoints that have target side commands."));
 
-  return memory_insert_breakpoint (ops, gdbarch, bp_tgt);
+  return memory_insert_breakpoint (this, gdbarch, bp_tgt);
 }
 
-static int
-remote_remove_breakpoint (struct target_ops *ops,
-			  struct gdbarch *gdbarch,
-			  struct bp_target_info *bp_tgt,
-			  enum remove_bp_reason reason)
+int
+remote_target::remove_breakpoint (struct gdbarch *gdbarch,
+				  struct bp_target_info *bp_tgt,
+				  enum remove_bp_reason reason)
 {
   CORE_ADDR addr = bp_tgt->placed_address;
   struct remote_state *rs = get_remote_state ();
@@ -9853,7 +10290,7 @@ remote_remove_breakpoint (struct target_
       return (rs->buf[0] == 'E');
     }
 
-  return memory_remove_breakpoint (ops, gdbarch, bp_tgt, reason);
+  return memory_remove_breakpoint (this, gdbarch, bp_tgt, reason);
 }
 
 static enum Z_packet_type
@@ -9876,9 +10313,9 @@ watchpoint_to_Z_packet (int type)
     }
 }
 
-static int
-remote_insert_watchpoint (struct target_ops *self, CORE_ADDR addr, int len,
-			  enum target_hw_bp_type type, struct expression *cond)
+int
+remote_target::insert_watchpoint (CORE_ADDR addr, int len,
+				  enum target_hw_bp_type type, struct expression *cond)
 {
   struct remote_state *rs = get_remote_state ();
   char *endbuf = rs->buf + get_remote_packet_size ();
@@ -9915,9 +10352,9 @@ remote_insert_watchpoint (struct target_
 		  _("remote_insert_watchpoint: reached end of function"));
 }
 
-static int
-remote_watchpoint_addr_within_range (struct target_ops *target, CORE_ADDR addr,
-				     CORE_ADDR start, int length)
+bool
+remote_target::watchpoint_addr_within_range (CORE_ADDR addr,
+					     CORE_ADDR start, int length)
 {
   CORE_ADDR diff = remote_address_masked (addr - start);
 
@@ -9925,9 +10362,9 @@ remote_watchpoint_addr_within_range (str
 }
 
 
-static int
-remote_remove_watchpoint (struct target_ops *self, CORE_ADDR addr, int len,
-			  enum target_hw_bp_type type, struct expression *cond)
+int
+remote_target::remove_watchpoint (CORE_ADDR addr, int len,
+				  enum target_hw_bp_type type, struct expression *cond)
 {
   struct remote_state *rs = get_remote_state ();
   char *endbuf = rs->buf + get_remote_packet_size ();
@@ -9967,9 +10404,8 @@ int remote_hw_watchpoint_limit = -1;
 int remote_hw_watchpoint_length_limit = -1;
 int remote_hw_breakpoint_limit = -1;
 
-static int
-remote_region_ok_for_hw_watchpoint (struct target_ops *self,
-				    CORE_ADDR addr, int len)
+int
+remote_target::region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
 {
   if (remote_hw_watchpoint_length_limit == 0)
     return 0;
@@ -9981,9 +10417,8 @@ remote_region_ok_for_hw_watchpoint (stru
     return 0;
 }
 
-static int
-remote_check_watch_resources (struct target_ops *self,
-			      enum bptype type, int cnt, int ot)
+int
+remote_target::can_use_hw_breakpoint (enum bptype type, int cnt, int ot)
 {
   if (type == bp_hardware_breakpoint)
     {
@@ -10010,8 +10445,8 @@ remote_check_watch_resources (struct tar
 
 /* The to_stopped_by_sw_breakpoint method of target remote.  */
 
-static int
-remote_stopped_by_sw_breakpoint (struct target_ops *ops)
+bool
+remote_target::stopped_by_sw_breakpoint ()
 {
   struct thread_info *thread = inferior_thread ();
 
@@ -10023,16 +10458,16 @@ remote_stopped_by_sw_breakpoint (struct 
 /* The to_supports_stopped_by_sw_breakpoint method of target
    remote.  */
 
-static int
-remote_supports_stopped_by_sw_breakpoint (struct target_ops *ops)
+bool
+remote_target::supports_stopped_by_sw_breakpoint ()
 {
   return (packet_support (PACKET_swbreak_feature) == PACKET_ENABLE);
 }
 
 /* The to_stopped_by_hw_breakpoint method of target remote.  */
 
-static int
-remote_stopped_by_hw_breakpoint (struct target_ops *ops)
+bool
+remote_target::stopped_by_hw_breakpoint ()
 {
   struct thread_info *thread = inferior_thread ();
 
@@ -10044,14 +10479,14 @@ remote_stopped_by_hw_breakpoint (struct 
 /* The to_supports_stopped_by_hw_breakpoint method of target
    remote.  */
 
-static int
-remote_supports_stopped_by_hw_breakpoint (struct target_ops *ops)
+bool
+remote_target::supports_stopped_by_hw_breakpoint ()
 {
   return (packet_support (PACKET_hwbreak_feature) == PACKET_ENABLE);
 }
 
-static int
-remote_stopped_by_watchpoint (struct target_ops *ops)
+bool
+remote_target::stopped_by_watchpoint ()
 {
   struct thread_info *thread = inferior_thread ();
 
@@ -10060,8 +10495,8 @@ remote_stopped_by_watchpoint (struct tar
 	      == TARGET_STOPPED_BY_WATCHPOINT));
 }
 
-static int
-remote_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
+bool
+remote_target::stopped_data_address (CORE_ADDR *addr_p)
 {
   struct thread_info *thread = inferior_thread ();
 
@@ -10070,16 +10505,16 @@ remote_stopped_data_address (struct targ
 	  == TARGET_STOPPED_BY_WATCHPOINT))
     {
       *addr_p = get_remote_thread_info (thread)->watch_data_address;
-      return 1;
+      return true;
     }
 
-  return 0;
+  return false;
 }
 
 
-static int
-remote_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
-			     struct bp_target_info *bp_tgt)
+int
+remote_target::insert_hw_breakpoint (struct gdbarch *gdbarch,
+				     struct bp_target_info *bp_tgt)
 {
   CORE_ADDR addr = bp_tgt->reqstd_address;
   struct remote_state *rs;
@@ -10106,10 +10541,10 @@ remote_insert_hw_breakpoint (struct targ
   p += hexnumstr (p, (ULONGEST) addr);
   xsnprintf (p, endbuf - p, ",%x", bp_tgt->kind);
 
-  if (remote_supports_cond_breakpoints (self))
+  if (supports_evaluation_of_breakpoint_conditions ())
     remote_add_target_side_condition (gdbarch, bp_tgt, p, endbuf);
 
-  if (remote_can_run_breakpoint_commands (self))
+  if (can_run_breakpoint_commands ())
     remote_add_target_side_commands (gdbarch, bp_tgt, p);
 
   putpkt (rs->buf);
@@ -10135,9 +10570,9 @@ remote_insert_hw_breakpoint (struct targ
 }
 
 
-static int
-remote_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
-			     struct bp_target_info *bp_tgt)
+int
+remote_target::remove_hw_breakpoint (struct gdbarch *gdbarch,
+				     struct bp_target_info *bp_tgt)
 {
   CORE_ADDR addr;
   struct remote_state *rs = get_remote_state ();
@@ -10177,9 +10612,8 @@ remote_remove_hw_breakpoint (struct targ
 
 /* Verify memory using the "qCRC:" request.  */
 
-static int
-remote_verify_memory (struct target_ops *ops,
-		      const gdb_byte *data, CORE_ADDR lma, ULONGEST size)
+int
+remote_target::verify_memory (const gdb_byte *data, CORE_ADDR lma, ULONGEST size)
 {
   struct remote_state *rs = get_remote_state ();
   unsigned long host_crc, target_crc;
@@ -10218,7 +10652,7 @@ remote_verify_memory (struct target_ops 
 	}
     }
 
-  return simple_verify_memory (ops, data, lma, size);
+  return simple_verify_memory (this, data, lma, size);
 }
 
 /* compare-sections command
@@ -10242,9 +10676,6 @@ compare_sections_command (const char *ar
   if (!exec_bfd)
     error (_("command cannot be used without an exec file"));
 
-  /* Make sure the remote is pointing at the right process.  */
-  set_general_process ();
-
   if (args != NULL && strcmp (args, "-r") == 0)
     {
       read_only = 1;
@@ -10302,11 +10733,12 @@ the loaded file\n"));
    into remote target.  The number of bytes written to the remote
    target is returned, or -1 for error.  */
 
-static enum target_xfer_status
-remote_write_qxfer (struct target_ops *ops, const char *object_name,
-                    const char *annex, const gdb_byte *writebuf, 
-                    ULONGEST offset, LONGEST len, ULONGEST *xfered_len,
-                    struct packet_config *packet)
+target_xfer_status
+remote_target::remote_write_qxfer (const char *object_name,
+				   const char *annex, const gdb_byte *writebuf,
+				   ULONGEST offset, LONGEST len,
+				   ULONGEST *xfered_len,
+				   struct packet_config *packet)
 {
   int i, buf_len;
   ULONGEST n;
@@ -10345,12 +10777,13 @@ remote_write_qxfer (struct target_ops *o
    EOF.  PACKET is checked and updated to indicate whether the remote
    target supports this object.  */
 
-static enum target_xfer_status
-remote_read_qxfer (struct target_ops *ops, const char *object_name,
-		   const char *annex,
-		   gdb_byte *readbuf, ULONGEST offset, LONGEST len,
-		   ULONGEST *xfered_len,
-		   struct packet_config *packet)
+target_xfer_status
+remote_target::remote_read_qxfer (const char *object_name,
+				  const char *annex,
+				  gdb_byte *readbuf, ULONGEST offset,
+				  LONGEST len,
+				  ULONGEST *xfered_len,
+				  struct packet_config *packet)
 {
   struct remote_state *rs = get_remote_state ();
   LONGEST i, n, packet_len;
@@ -10426,11 +10859,11 @@ remote_read_qxfer (struct target_ops *op
     }
 }
 
-static enum target_xfer_status
-remote_xfer_partial (struct target_ops *ops, enum target_object object,
-		     const char *annex, gdb_byte *readbuf,
-		     const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-		     ULONGEST *xfered_len)
+enum target_xfer_status
+remote_target::xfer_partial (enum target_object object,
+			     const char *annex, gdb_byte *readbuf,
+			     const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
+			     ULONGEST *xfered_len)
 {
   struct remote_state *rs;
   int i;
@@ -10456,7 +10889,7 @@ remote_xfer_partial (struct target_ops *
 	return remote_write_bytes (offset, writebuf, len, unit_size,
 				   xfered_len);
       else
-	return remote_read_bytes (ops, offset, readbuf, len, unit_size,
+	return remote_read_bytes (offset, readbuf, len, unit_size,
 				  xfered_len);
     }
 
@@ -10464,11 +10897,11 @@ remote_xfer_partial (struct target_ops *
   if (object == TARGET_OBJECT_SPU)
     {
       if (readbuf)
-	return remote_read_qxfer (ops, "spu", annex, readbuf, offset, len,
+	return remote_read_qxfer ("spu", annex, readbuf, offset, len,
 				  xfered_len, &remote_protocol_packets
 				  [PACKET_qXfer_spu_read]);
       else
-	return remote_write_qxfer (ops, "spu", annex, writebuf, offset, len,
+	return remote_write_qxfer ("spu", annex, writebuf, offset, len,
 				   xfered_len, &remote_protocol_packets
 				   [PACKET_qXfer_spu_write]);
     }
@@ -10477,11 +10910,11 @@ remote_xfer_partial (struct target_ops *
   if (object == TARGET_OBJECT_SIGNAL_INFO)
     {
       if (readbuf)
-	return remote_read_qxfer (ops, "siginfo", annex, readbuf, offset, len,
+	return remote_read_qxfer ("siginfo", annex, readbuf, offset, len,
 				  xfered_len, &remote_protocol_packets
 				  [PACKET_qXfer_siginfo_read]);
       else
-	return remote_write_qxfer (ops, "siginfo", annex,
+	return remote_write_qxfer ("siginfo", annex,
 				   writebuf, offset, len, xfered_len,
 				   &remote_protocol_packets
 				   [PACKET_qXfer_siginfo_write]);
@@ -10490,7 +10923,7 @@ remote_xfer_partial (struct target_ops *
   if (object == TARGET_OBJECT_STATIC_TRACE_DATA)
     {
       if (readbuf)
-	return remote_read_qxfer (ops, "statictrace", annex,
+	return remote_read_qxfer ("statictrace", annex,
 				  readbuf, offset, len, xfered_len,
 				  &remote_protocol_packets
 				  [PACKET_qXfer_statictrace_read]);
@@ -10504,7 +10937,7 @@ remote_xfer_partial (struct target_ops *
       switch (object)
 	{
 	case TARGET_OBJECT_FLASH:
-	  return remote_flash_write (ops, offset, len, xfered_len,
+	  return remote_flash_write (offset, len, xfered_len,
 				     writebuf);
 
 	default:
@@ -10522,28 +10955,28 @@ remote_xfer_partial (struct target_ops *
 
     case TARGET_OBJECT_AUXV:
       gdb_assert (annex == NULL);
-      return remote_read_qxfer (ops, "auxv", annex, readbuf, offset, len,
+      return remote_read_qxfer ("auxv", annex, readbuf, offset, len,
 				xfered_len,
 				&remote_protocol_packets[PACKET_qXfer_auxv]);
 
     case TARGET_OBJECT_AVAILABLE_FEATURES:
       return remote_read_qxfer
-	(ops, "features", annex, readbuf, offset, len, xfered_len,
+	("features", annex, readbuf, offset, len, xfered_len,
 	 &remote_protocol_packets[PACKET_qXfer_features]);
 
     case TARGET_OBJECT_LIBRARIES:
       return remote_read_qxfer
-	(ops, "libraries", annex, readbuf, offset, len, xfered_len,
+	("libraries", annex, readbuf, offset, len, xfered_len,
 	 &remote_protocol_packets[PACKET_qXfer_libraries]);
 
     case TARGET_OBJECT_LIBRARIES_SVR4:
       return remote_read_qxfer
-	(ops, "libraries-svr4", annex, readbuf, offset, len, xfered_len,
+	("libraries-svr4", annex, readbuf, offset, len, xfered_len,
 	 &remote_protocol_packets[PACKET_qXfer_libraries_svr4]);
 
     case TARGET_OBJECT_MEMORY_MAP:
       gdb_assert (annex == NULL);
-      return remote_read_qxfer (ops, "memory-map", annex, readbuf, offset, len,
+      return remote_read_qxfer ("memory-map", annex, readbuf, offset, len,
 				 xfered_len,
 				&remote_protocol_packets[PACKET_qXfer_memory_map]);
 
@@ -10551,43 +10984,43 @@ remote_xfer_partial (struct target_ops *
       /* Should only get here if we're connected.  */
       gdb_assert (rs->remote_desc);
       return remote_read_qxfer
-	(ops, "osdata", annex, readbuf, offset, len, xfered_len,
+	("osdata", annex, readbuf, offset, len, xfered_len,
         &remote_protocol_packets[PACKET_qXfer_osdata]);
 
     case TARGET_OBJECT_THREADS:
       gdb_assert (annex == NULL);
-      return remote_read_qxfer (ops, "threads", annex, readbuf, offset, len,
+      return remote_read_qxfer ("threads", annex, readbuf, offset, len,
 				xfered_len,
 				&remote_protocol_packets[PACKET_qXfer_threads]);
 
     case TARGET_OBJECT_TRACEFRAME_INFO:
       gdb_assert (annex == NULL);
       return remote_read_qxfer
-	(ops, "traceframe-info", annex, readbuf, offset, len, xfered_len,
+	("traceframe-info", annex, readbuf, offset, len, xfered_len,
 	 &remote_protocol_packets[PACKET_qXfer_traceframe_info]);
 
     case TARGET_OBJECT_FDPIC:
-      return remote_read_qxfer (ops, "fdpic", annex, readbuf, offset, len,
+      return remote_read_qxfer ("fdpic", annex, readbuf, offset, len,
 				xfered_len,
 				&remote_protocol_packets[PACKET_qXfer_fdpic]);
 
     case TARGET_OBJECT_OPENVMS_UIB:
-      return remote_read_qxfer (ops, "uib", annex, readbuf, offset, len,
+      return remote_read_qxfer ("uib", annex, readbuf, offset, len,
 				xfered_len,
 				&remote_protocol_packets[PACKET_qXfer_uib]);
 
     case TARGET_OBJECT_BTRACE:
-      return remote_read_qxfer (ops, "btrace", annex, readbuf, offset, len,
+      return remote_read_qxfer ("btrace", annex, readbuf, offset, len,
 				xfered_len,
         &remote_protocol_packets[PACKET_qXfer_btrace]);
 
     case TARGET_OBJECT_BTRACE_CONF:
-      return remote_read_qxfer (ops, "btrace-conf", annex, readbuf, offset,
+      return remote_read_qxfer ("btrace-conf", annex, readbuf, offset,
 				len, xfered_len,
 	&remote_protocol_packets[PACKET_qXfer_btrace_conf]);
 
     case TARGET_OBJECT_EXEC_FILE:
-      return remote_read_qxfer (ops, "exec-file", annex, readbuf, offset,
+      return remote_read_qxfer ("exec-file", annex, readbuf, offset,
 				len, xfered_len,
 	&remote_protocol_packets[PACKET_qXfer_exec_file]);
 
@@ -10641,17 +11074,16 @@ remote_xfer_partial (struct target_ops *
 
 /* Implementation of to_get_memory_xfer_limit.  */
 
-static ULONGEST
-remote_get_memory_xfer_limit (struct target_ops *ops)
+ULONGEST
+remote_target::get_memory_xfer_limit ()
 {
   return get_memory_write_packet_size ();
 }
 
-static int
-remote_search_memory (struct target_ops* ops,
-		      CORE_ADDR start_addr, ULONGEST search_space_len,
-		      const gdb_byte *pattern, ULONGEST pattern_len,
-		      CORE_ADDR *found_addrp)
+int
+remote_target::search_memory (CORE_ADDR start_addr, ULONGEST search_space_len,
+			      const gdb_byte *pattern, ULONGEST pattern_len,
+			      CORE_ADDR *found_addrp)
 {
   int addr_size = gdbarch_addr_bit (target_gdbarch ()) / 8;
   struct remote_state *rs = get_remote_state ();
@@ -10686,7 +11118,7 @@ remote_search_memory (struct target_ops*
     {
       /* Target doesn't provided special support, fall back and use the
 	 standard support (copy memory and do the search here).  */
-      return simple_search_memory (ops, start_addr, search_space_len,
+      return simple_search_memory (this, start_addr, search_space_len,
 				   pattern, pattern_len, found_addrp);
     }
 
@@ -10717,7 +11149,7 @@ remote_search_memory (struct target_ops*
 	 supported.  If so, fall back to the simple way.  */
       if (packet_config_support (packet) == PACKET_DISABLE)
 	{
-	  return simple_search_memory (ops, start_addr, search_space_len,
+	  return simple_search_memory (this, start_addr, search_space_len,
 				       pattern, pattern_len, found_addrp);
 	}
       return -1;
@@ -10739,9 +11171,8 @@ remote_search_memory (struct target_ops*
   return found;
 }
 
-static void
-remote_rcmd (struct target_ops *self, const char *command,
-	     struct ui_file *outbuf)
+void
+remote_target::rcmd (const char *command, struct ui_file *outbuf)
 {
   struct remote_state *rs = get_remote_state ();
   char *p = rs->buf;
@@ -10809,15 +11240,15 @@ remote_rcmd (struct target_ops *self, co
     }
 }
 
-static std::vector<mem_region>
-remote_memory_map (struct target_ops *ops)
+std::vector<mem_region>
+remote_target::memory_map ()
 {
   std::vector<mem_region> result;
-  gdb::unique_xmalloc_ptr<char> text
-    = target_read_stralloc (&current_target, TARGET_OBJECT_MEMORY_MAP, NULL);
+  gdb::optional<gdb::char_vector> text
+    = target_read_stralloc (current_top_target (), TARGET_OBJECT_MEMORY_MAP, NULL);
 
   if (text)
-    result = parse_memory_map (text.get ());
+    result = parse_memory_map (text->data ());
 
   return result;
 }
@@ -10825,11 +11256,17 @@ remote_memory_map (struct target_ops *op
 static void
 packet_command (const char *args, int from_tty)
 {
-  struct remote_state *rs = get_remote_state ();
+  remote_target *remote = get_current_remote_target ();
 
-  if (!rs->remote_desc)
+  if (remote == nullptr)
     error (_("command can only be used with remote target"));
 
+  remote->packet_command (args, from_tty);
+}
+
+void
+remote_target::packet_command (const char *args, int from_tty)
+{
   if (!args)
     error (_("remote-packet command requires packet text as argument"));
 
@@ -10838,6 +11275,8 @@ packet_command (const char *args, int fr
   puts_filtered ("\n");
   putpkt (args);
 
+  remote_state *rs = get_remote_state ();
+
   getpkt (&rs->buf, &rs->buf_size, 0);
   puts_filtered ("received: ");
   print_packet (rs->buf);
@@ -10881,8 +11320,8 @@ static void
 threadalive_test (const char *cmd, int tty)
 {
   int sample_thread = SAMPLE_THREAD;
-  int pid = ptid_get_pid (inferior_ptid);
-  ptid_t ptid = ptid_build (pid, sample_thread, 0);
+  int pid = inferior_ptid.pid ();
+  ptid_t ptid = ptid_t (pid, sample_thread, 0);
 
   if (remote_thread_alive (ptid))
     printf_filtered ("PASS: Thread alive test\n");
@@ -10995,15 +11434,15 @@ init_remote_threadtests (void)
 /* Convert a thread ID to a string.  Returns the string in a static
    buffer.  */
 
-static const char *
-remote_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+remote_target::pid_to_str (ptid_t ptid)
 {
   static char buf[64];
   struct remote_state *rs = get_remote_state ();
 
-  if (ptid_equal (ptid, null_ptid))
+  if (ptid == null_ptid)
     return normal_pid_to_str (ptid);
-  else if (ptid_is_pid (ptid))
+  else if (ptid.is_pid ())
     {
       /* Printing an inferior target id.  */
 
@@ -11026,17 +11465,17 @@ remote_pid_to_str (struct target_ops *op
     }
   else
     {
-      if (ptid_equal (magic_null_ptid, ptid))
+      if (magic_null_ptid == ptid)
 	xsnprintf (buf, sizeof buf, "Thread <main>");
       else if (remote_multi_process_p (rs))
-	if (ptid_get_lwp (ptid) == 0)
+	if (ptid.lwp () == 0)
 	  return normal_pid_to_str (ptid);
 	else
 	  xsnprintf (buf, sizeof buf, "Thread %d.%ld",
-		     ptid_get_pid (ptid), ptid_get_lwp (ptid));
+		     ptid.pid (), ptid.lwp ());
       else
 	xsnprintf (buf, sizeof buf, "Thread %ld",
-		   ptid_get_lwp (ptid));
+		   ptid.lwp ());
       return buf;
     }
 }
@@ -11044,9 +11483,9 @@ remote_pid_to_str (struct target_ops *op
 /* Get the address of the thread local variable in OBJFILE which is
    stored at OFFSET within the thread local storage for thread PTID.  */
 
-static CORE_ADDR
-remote_get_thread_local_address (struct target_ops *ops,
-				 ptid_t ptid, CORE_ADDR lm, CORE_ADDR offset)
+CORE_ADDR
+remote_target::get_thread_local_address (ptid_t ptid, CORE_ADDR lm,
+					 CORE_ADDR offset)
 {
   if (packet_support (PACKET_qGetTLSAddr) != PACKET_DISABLE)
     {
@@ -11092,8 +11531,8 @@ remote_get_thread_local_address (struct 
 /* Provide thread local base, i.e. Thread Information Block address.
    Returns 1 if ptid is found and thread_local_base is non zero.  */
 
-static int
-remote_get_tib_address (struct target_ops *self, ptid_t ptid, CORE_ADDR *addr)
+bool
+remote_target::get_tib_address (ptid_t ptid, CORE_ADDR *addr)
 {
   if (packet_support (PACKET_qGetTIBAddr) != PACKET_DISABLE)
     {
@@ -11118,7 +11557,7 @@ remote_get_tib_address (struct target_op
 	  unpack_varlen_hex (rs->buf, &result);
 	  if (addr)
 	    *addr = (CORE_ADDR) result;
-	  return 1;
+	  return true;
 	}
       else if (result == PACKET_UNKNOWN)
 	error (_("Remote target doesn't support qGetTIBAddr packet"));
@@ -11128,7 +11567,7 @@ remote_get_tib_address (struct target_op
   else
     error (_("qGetTIBAddr not supported or disabled on this target"));
   /* Not reached.  */
-  return 0;
+  return false;
 }
 
 /* Support for inferring a target description based on the current
@@ -11199,8 +11638,8 @@ remote_read_description_p (struct target
   return 0;
 }
 
-static const struct target_desc *
-remote_read_description (struct target_ops *target)
+const struct target_desc *
+remote_target::read_description ()
 {
   struct remote_g_packet_data *data
     = ((struct remote_g_packet_data *)
@@ -11208,8 +11647,8 @@ remote_read_description (struct target_o
 
   /* Do not try this during initial connection, when we do not know
      whether there is a running but stopped thread.  */
-  if (!target_has_execution || ptid_equal (inferior_ptid, null_ptid))
-    return target->beneath->to_read_description (target->beneath);
+  if (!target_has_execution || inferior_ptid == null_ptid)
+    return beneath ()->read_description ();
 
   if (!VEC_empty (remote_g_packet_guess_s, data->guesses))
     {
@@ -11228,7 +11667,7 @@ remote_read_description (struct target_o
 	 an architecture, but it's too tricky to do safely.  */
     }
 
-  return target->beneath->to_read_description (target->beneath);
+  return beneath ()->read_description ();
 }
 
 /* Remote file transfer support.  This is host-initiated I/O, not
@@ -11364,17 +11803,16 @@ remote_hostio_parse_result (char *buffer
    the packet buffer and *ATTACHMENT_LEN will be set to the
    attachment's length.  */
 
-static int
-remote_hostio_send_command (int command_bytes, int which_packet,
-			    int *remote_errno, char **attachment,
-			    int *attachment_len)
+int
+remote_target::remote_hostio_send_command (int command_bytes, int which_packet,
+					   int *remote_errno, char **attachment,
+					   int *attachment_len)
 {
   struct remote_state *rs = get_remote_state ();
   int ret, bytes_read;
   char *attachment_tmp;
 
-  if (!rs->remote_desc
-      || packet_support (which_packet) == PACKET_DISABLE)
+  if (packet_support (which_packet) == PACKET_DISABLE)
     {
       *remote_errno = FILEIO_ENOSYS;
       return -1;
@@ -11429,33 +11867,30 @@ remote_hostio_send_command (int command_
   return ret;
 }
 
-/* Invalidate the readahead cache.  */
+/* See declaration.h.  */
 
-static void
-readahead_cache_invalidate (void)
+void
+readahead_cache::invalidate ()
 {
-  struct remote_state *rs = get_remote_state ();
-
-  rs->readahead_cache.fd = -1;
+  this->fd = -1;
 }
 
-/* Invalidate the readahead cache if it is holding data for FD.  */
+/* See declaration.h.  */
 
-static void
-readahead_cache_invalidate_fd (int fd)
+void
+readahead_cache::invalidate_fd (int fd)
 {
-  struct remote_state *rs = get_remote_state ();
-
-  if (rs->readahead_cache.fd == fd)
-    rs->readahead_cache.fd = -1;
+  if (this->fd == fd)
+    this->fd = -1;
 }
 
 /* Set the filesystem remote_hostio functions that take FILENAME
    arguments will use.  Return 0 on success, or -1 if an error
    occurs (and set *REMOTE_ERRNO).  */
 
-static int
-remote_hostio_set_filesystem (struct inferior *inf, int *remote_errno)
+int
+remote_target::remote_hostio_set_filesystem (struct inferior *inf,
+					     int *remote_errno)
 {
   struct remote_state *rs = get_remote_state ();
   int required_pid = (inf == NULL || inf->fake_pid_p) ? 0 : inf->pid;
@@ -11489,11 +11924,10 @@ remote_hostio_set_filesystem (struct inf
 
 /* Implementation of to_fileio_open.  */
 
-static int
-remote_hostio_open (struct target_ops *self,
-		    struct inferior *inf, const char *filename,
-		    int flags, int mode, int warn_if_slow,
-		    int *remote_errno)
+int
+remote_target::remote_hostio_open (inferior *inf, const char *filename,
+				   int flags, int mode, int warn_if_slow,
+				   int *remote_errno)
 {
   struct remote_state *rs = get_remote_state ();
   char *p = rs->buf;
@@ -11533,19 +11967,27 @@ remote_hostio_open (struct target_ops *s
 				     remote_errno, NULL, NULL);
 }
 
+int
+remote_target::fileio_open (struct inferior *inf, const char *filename,
+			    int flags, int mode, int warn_if_slow,
+			    int *remote_errno)
+{
+  return remote_hostio_open (inf, filename, flags, mode, warn_if_slow,
+			     remote_errno);
+}
+
 /* Implementation of to_fileio_pwrite.  */
 
-static int
-remote_hostio_pwrite (struct target_ops *self,
-		      int fd, const gdb_byte *write_buf, int len,
-		      ULONGEST offset, int *remote_errno)
+int
+remote_target::remote_hostio_pwrite (int fd, const gdb_byte *write_buf, int len,
+				     ULONGEST offset, int *remote_errno)
 {
   struct remote_state *rs = get_remote_state ();
   char *p = rs->buf;
   int left = get_remote_packet_size ();
   int out_len;
 
-  readahead_cache_invalidate_fd (fd);
+  rs->readahead_cache.invalidate_fd (fd);
 
   remote_buffer_add_string (&p, &left, "vFile:pwrite:");
 
@@ -11562,13 +12004,19 @@ remote_hostio_pwrite (struct target_ops 
 				     remote_errno, NULL, NULL);
 }
 
+int
+remote_target::fileio_pwrite (int fd, const gdb_byte *write_buf, int len,
+			      ULONGEST offset, int *remote_errno)
+{
+  return remote_hostio_pwrite (fd, write_buf, len, offset, remote_errno);
+}
+
 /* Helper for the implementation of to_fileio_pread.  Read the file
    from the remote side with vFile:pread.  */
 
-static int
-remote_hostio_pread_vFile (struct target_ops *self,
-			   int fd, gdb_byte *read_buf, int len,
-			   ULONGEST offset, int *remote_errno)
+int
+remote_target::remote_hostio_pread_vFile (int fd, gdb_byte *read_buf, int len,
+					  ULONGEST offset, int *remote_errno)
 {
   struct remote_state *rs = get_remote_state ();
   char *p = rs->buf;
@@ -11602,26 +12050,22 @@ remote_hostio_pread_vFile (struct target
   return ret;
 }
 
-/* Serve pread from the readahead cache.  Returns number of bytes
-   read, or 0 if the request can't be served from the cache.  */
+/* See declaration.h.  */
 
-static int
-remote_hostio_pread_from_cache (struct remote_state *rs,
-				int fd, gdb_byte *read_buf, size_t len,
-				ULONGEST offset)
+int
+readahead_cache::pread (int fd, gdb_byte *read_buf, size_t len,
+			ULONGEST offset)
 {
-  struct readahead_cache *cache = &rs->readahead_cache;
-
-  if (cache->fd == fd
-      && cache->offset <= offset
-      && offset < cache->offset + cache->bufsize)
+  if (this->fd == fd
+      && this->offset <= offset
+      && offset < this->offset + this->bufsize)
     {
-      ULONGEST max = cache->offset + cache->bufsize;
+      ULONGEST max = this->offset + this->bufsize;
 
       if (offset + len > max)
 	len = max - offset;
 
-      memcpy (read_buf, cache->buf + offset - cache->offset, len);
+      memcpy (read_buf, this->buf + offset - this->offset, len);
       return len;
     }
 
@@ -11630,16 +12074,15 @@ remote_hostio_pread_from_cache (struct r
 
 /* Implementation of to_fileio_pread.  */
 
-static int
-remote_hostio_pread (struct target_ops *self,
-		     int fd, gdb_byte *read_buf, int len,
-		     ULONGEST offset, int *remote_errno)
+int
+remote_target::remote_hostio_pread (int fd, gdb_byte *read_buf, int len,
+				    ULONGEST offset, int *remote_errno)
 {
   int ret;
   struct remote_state *rs = get_remote_state ();
-  struct readahead_cache *cache = &rs->readahead_cache;
+  readahead_cache *cache = &rs->readahead_cache;
 
-  ret = remote_hostio_pread_from_cache (rs, fd, read_buf, len, offset);
+  ret = cache->pread (fd, read_buf, len, offset);
   if (ret > 0)
     {
       cache->hit_count++;
@@ -11660,28 +12103,35 @@ remote_hostio_pread (struct target_ops *
   cache->bufsize = get_remote_packet_size ();
   cache->buf = (gdb_byte *) xrealloc (cache->buf, cache->bufsize);
 
-  ret = remote_hostio_pread_vFile (self, cache->fd, cache->buf, cache->bufsize,
+  ret = remote_hostio_pread_vFile (cache->fd, cache->buf, cache->bufsize,
 				   cache->offset, remote_errno);
   if (ret <= 0)
     {
-      readahead_cache_invalidate_fd (fd);
+      cache->invalidate_fd (fd);
       return ret;
     }
 
   cache->bufsize = ret;
-  return remote_hostio_pread_from_cache (rs, fd, read_buf, len, offset);
+  return cache->pread (fd, read_buf, len, offset);
+}
+
+int
+remote_target::fileio_pread (int fd, gdb_byte *read_buf, int len,
+			     ULONGEST offset, int *remote_errno)
+{
+  return remote_hostio_pread (fd, read_buf, len, offset, remote_errno);
 }
 
 /* Implementation of to_fileio_close.  */
 
-static int
-remote_hostio_close (struct target_ops *self, int fd, int *remote_errno)
+int
+remote_target::remote_hostio_close (int fd, int *remote_errno)
 {
   struct remote_state *rs = get_remote_state ();
   char *p = rs->buf;
   int left = get_remote_packet_size () - 1;
 
-  readahead_cache_invalidate_fd (fd);
+  rs->readahead_cache.invalidate_fd (fd);
 
   remote_buffer_add_string (&p, &left, "vFile:close:");
 
@@ -11691,12 +12141,17 @@ remote_hostio_close (struct target_ops *
 				     remote_errno, NULL, NULL);
 }
 
+int
+remote_target::fileio_close (int fd, int *remote_errno)
+{
+  return remote_hostio_close (fd, remote_errno);
+}
+
 /* Implementation of to_fileio_unlink.  */
 
-static int
-remote_hostio_unlink (struct target_ops *self,
-		      struct inferior *inf, const char *filename,
-		      int *remote_errno)
+int
+remote_target::remote_hostio_unlink (inferior *inf, const char *filename,
+				     int *remote_errno)
 {
   struct remote_state *rs = get_remote_state ();
   char *p = rs->buf;
@@ -11714,12 +12169,18 @@ remote_hostio_unlink (struct target_ops 
 				     remote_errno, NULL, NULL);
 }
 
+int
+remote_target::fileio_unlink (struct inferior *inf, const char *filename,
+			      int *remote_errno)
+{
+  return remote_hostio_unlink (inf, filename, remote_errno);
+}
+
 /* Implementation of to_fileio_readlink.  */
 
-static char *
-remote_hostio_readlink (struct target_ops *self,
-			struct inferior *inf, const char *filename,
-			int *remote_errno)
+gdb::optional<std::string>
+remote_target::fileio_readlink (struct inferior *inf, const char *filename,
+				int *remote_errno)
 {
   struct remote_state *rs = get_remote_state ();
   char *p = rs->buf;
@@ -11727,10 +12188,9 @@ remote_hostio_readlink (struct target_op
   int left = get_remote_packet_size ();
   int len, attachment_len;
   int read_len;
-  char *ret;
 
   if (remote_hostio_set_filesystem (inf, remote_errno) != 0)
-    return NULL;
+    return {};
 
   remote_buffer_add_string (&p, &left, "vFile:readlink:");
 
@@ -11742,25 +12202,22 @@ remote_hostio_readlink (struct target_op
 				    &attachment_len);
 
   if (len < 0)
-    return NULL;
+    return {};
 
-  ret = (char *) xmalloc (len + 1);
+  std::string ret (len, '\0');
 
   read_len = remote_unescape_input ((gdb_byte *) attachment, attachment_len,
-				    (gdb_byte *) ret, len);
+				    (gdb_byte *) &ret[0], len);
   if (read_len != len)
     error (_("Readlink returned %d, but %d bytes."), len, read_len);
 
-  ret[len] = '\0';
   return ret;
 }
 
 /* Implementation of to_fileio_fstat.  */
 
-static int
-remote_hostio_fstat (struct target_ops *self,
-		     int fd, struct stat *st,
-		     int *remote_errno)
+int
+remote_target::fileio_fstat (int fd, struct stat *st, int *remote_errno)
 {
   struct remote_state *rs = get_remote_state ();
   char *p = rs->buf;
@@ -11817,8 +12274,8 @@ remote_hostio_fstat (struct target_ops *
 
 /* Implementation of to_filesystem_is_local.  */
 
-static int
-remote_filesystem_is_local (struct target_ops *self)
+bool
+remote_target::filesystem_is_local ()
 {
   /* Valgrind GDB presents itself as a remote target but works
      on the local filesystem: it does not implement remote get
@@ -11837,12 +12294,12 @@ remote_filesystem_is_local (struct targe
 	  /* Try opening a file to probe support.  The supplied
 	     filename is irrelevant, we only care about whether
 	     the stub recognizes the packet or not.  */
-	  fd = remote_hostio_open (self, NULL, "just probing",
+	  fd = remote_hostio_open (NULL, "just probing",
 				   FILEIO_O_RDONLY, 0700, 0,
 				   &remote_errno);
 
 	  if (fd >= 0)
-	    remote_hostio_close (self, fd, &remote_errno);
+	    remote_hostio_close (fd, &remote_errno);
 
 	  ps = packet_support (PACKET_vFile_open);
 	}
@@ -11859,11 +12316,11 @@ remote_filesystem_is_local (struct targe
 	      warning_issued = 1;
 	    }
 
-	  return 1;
+	  return true;
 	}
     }
 
-  return 0;
+  return false;
 }
 
 static int
@@ -11928,47 +12385,94 @@ remote_hostio_error (int errnum)
     error (_("Remote I/O error: %s"), safe_strerror (host_error));
 }
 
-static void
-remote_hostio_close_cleanup (void *opaque)
+/* A RAII wrapper around a remote file descriptor.  */
+
+class scoped_remote_fd
 {
-  int fd = *(int *) opaque;
-  int remote_errno;
+public:
+  scoped_remote_fd (remote_target *remote, int fd)
+    : m_remote (remote), m_fd (fd)
+  {
+  }
 
-  remote_hostio_close (find_target_at (process_stratum), fd, &remote_errno);
-}
+  ~scoped_remote_fd ()
+  {
+    if (m_fd != -1)
+      {
+	try
+	  {
+	    int remote_errno;
+	    m_remote->remote_hostio_close (m_fd, &remote_errno);
+	  }
+	catch (...)
+	  {
+	    /* Swallow exception before it escapes the dtor.  If
+	       something goes wrong, likely the connection is gone,
+	       and there's nothing else that can be done.  */
+	  }
+      }
+  }
+
+  DISABLE_COPY_AND_ASSIGN (scoped_remote_fd);
+
+  /* Release ownership of the file descriptor, and return it.  */
+  int release () noexcept
+  {
+    int fd = m_fd;
+    m_fd = -1;
+    return fd;
+  }
+
+  /* Return the owned file descriptor.  */
+  int get () const noexcept
+  {
+    return m_fd;
+  }
+
+private:
+  /* The remote target.  */
+  remote_target *m_remote;
+
+  /* The owned remote I/O file descriptor.  */
+  int m_fd;
+};
 
 void
 remote_file_put (const char *local_file, const char *remote_file, int from_tty)
 {
-  struct cleanup *back_to, *close_cleanup;
-  int retcode, fd, remote_errno, bytes, io_size;
-  gdb_byte *buffer;
+  remote_target *remote = get_current_remote_target ();
+
+  if (remote == nullptr)
+    error (_("command can only be used with remote target"));
+
+  remote->remote_file_put (local_file, remote_file, from_tty);
+}
+
+void
+remote_target::remote_file_put (const char *local_file, const char *remote_file,
+				int from_tty)
+{
+  int retcode, remote_errno, bytes, io_size;
   int bytes_in_buffer;
   int saw_eof;
   ULONGEST offset;
-  struct remote_state *rs = get_remote_state ();
-
-  if (!rs->remote_desc)
-    error (_("command can only be used with remote target"));
 
   gdb_file_up file = gdb_fopen_cloexec (local_file, "rb");
   if (file == NULL)
     perror_with_name (local_file);
 
-  fd = remote_hostio_open (find_target_at (process_stratum), NULL,
-			   remote_file, (FILEIO_O_WRONLY | FILEIO_O_CREAT
-					 | FILEIO_O_TRUNC),
-			   0700, 0, &remote_errno);
-  if (fd == -1)
+  scoped_remote_fd fd
+    (this, remote_hostio_open (NULL,
+			       remote_file, (FILEIO_O_WRONLY | FILEIO_O_CREAT
+					     | FILEIO_O_TRUNC),
+			       0700, 0, &remote_errno));
+  if (fd.get () == -1)
     remote_hostio_error (remote_errno);
 
   /* Send up to this many bytes at once.  They won't all fit in the
      remote packet limit, so we'll transfer slightly fewer.  */
   io_size = get_remote_packet_size ();
-  buffer = (gdb_byte *) xmalloc (io_size);
-  back_to = make_cleanup (xfree, buffer);
-
-  close_cleanup = make_cleanup (remote_hostio_close_cleanup, &fd);
+  gdb::byte_vector buffer (io_size);
 
   bytes_in_buffer = 0;
   saw_eof = 0;
@@ -11977,7 +12481,7 @@ remote_file_put (const char *local_file,
     {
       if (!saw_eof)
 	{
-	  bytes = fread (buffer + bytes_in_buffer, 1,
+	  bytes = fread (buffer.data () + bytes_in_buffer, 1,
 			 io_size - bytes_in_buffer,
 			 file.get ());
 	  if (bytes == 0)
@@ -12000,8 +12504,7 @@ remote_file_put (const char *local_file,
       bytes += bytes_in_buffer;
       bytes_in_buffer = 0;
 
-      retcode = remote_hostio_pwrite (find_target_at (process_stratum),
-				      fd, buffer, bytes,
+      retcode = remote_hostio_pwrite (fd.get (), buffer.data (), bytes,
 				      offset, &remote_errno);
 
       if (retcode < 0)
@@ -12013,37 +12516,42 @@ remote_file_put (const char *local_file,
 	  /* Short write.  Save the rest of the read data for the next
 	     write.  */
 	  bytes_in_buffer = bytes - retcode;
-	  memmove (buffer, buffer + retcode, bytes_in_buffer);
+	  memmove (buffer.data (), buffer.data () + retcode, bytes_in_buffer);
 	}
 
       offset += retcode;
     }
 
-  discard_cleanups (close_cleanup);
-  if (remote_hostio_close (find_target_at (process_stratum), fd, &remote_errno))
+  if (remote_hostio_close (fd.release (), &remote_errno))
     remote_hostio_error (remote_errno);
 
   if (from_tty)
     printf_filtered (_("Successfully sent file \"%s\".\n"), local_file);
-  do_cleanups (back_to);
 }
 
 void
 remote_file_get (const char *remote_file, const char *local_file, int from_tty)
 {
-  struct cleanup *back_to, *close_cleanup;
-  int fd, remote_errno, bytes, io_size;
-  gdb_byte *buffer;
-  ULONGEST offset;
-  struct remote_state *rs = get_remote_state ();
+  remote_target *remote = get_current_remote_target ();
 
-  if (!rs->remote_desc)
+  if (remote == nullptr)
     error (_("command can only be used with remote target"));
 
-  fd = remote_hostio_open (find_target_at (process_stratum), NULL,
-			   remote_file, FILEIO_O_RDONLY, 0, 0,
-			   &remote_errno);
-  if (fd == -1)
+  remote->remote_file_get (remote_file, local_file, from_tty);
+}
+
+void
+remote_target::remote_file_get (const char *remote_file, const char *local_file,
+				int from_tty)
+{
+  int remote_errno, bytes, io_size;
+  ULONGEST offset;
+
+  scoped_remote_fd fd
+    (this, remote_hostio_open (NULL,
+			       remote_file, FILEIO_O_RDONLY, 0, 0,
+			       &remote_errno));
+  if (fd.get () == -1)
     remote_hostio_error (remote_errno);
 
   gdb_file_up file = gdb_fopen_cloexec (local_file, "wb");
@@ -12053,16 +12561,13 @@ remote_file_get (const char *remote_file
   /* Send up to this many bytes at once.  They won't all fit in the
      remote packet limit, so we'll transfer slightly fewer.  */
   io_size = get_remote_packet_size ();
-  buffer = (gdb_byte *) xmalloc (io_size);
-  back_to = make_cleanup (xfree, buffer);
-
-  close_cleanup = make_cleanup (remote_hostio_close_cleanup, &fd);
+  gdb::byte_vector buffer (io_size);
 
   offset = 0;
   while (1)
     {
-      bytes = remote_hostio_pread (find_target_at (process_stratum),
-				   fd, buffer, io_size, offset, &remote_errno);
+      bytes = remote_hostio_pread (fd.get (), buffer.data (), io_size, offset,
+				   &remote_errno);
       if (bytes == 0)
 	/* Success, but no bytes, means end-of-file.  */
 	break;
@@ -12071,31 +12576,35 @@ remote_file_get (const char *remote_file
 
       offset += bytes;
 
-      bytes = fwrite (buffer, 1, bytes, file.get ());
+      bytes = fwrite (buffer.data (), 1, bytes, file.get ());
       if (bytes == 0)
 	perror_with_name (local_file);
     }
 
-  discard_cleanups (close_cleanup);
-  if (remote_hostio_close (find_target_at (process_stratum), fd, &remote_errno))
+  if (remote_hostio_close (fd.release (), &remote_errno))
     remote_hostio_error (remote_errno);
 
   if (from_tty)
     printf_filtered (_("Successfully fetched file \"%s\".\n"), remote_file);
-  do_cleanups (back_to);
 }
 
 void
 remote_file_delete (const char *remote_file, int from_tty)
 {
-  int retcode, remote_errno;
-  struct remote_state *rs = get_remote_state ();
+  remote_target *remote = get_current_remote_target ();
 
-  if (!rs->remote_desc)
+  if (remote == nullptr)
     error (_("command can only be used with remote target"));
 
-  retcode = remote_hostio_unlink (find_target_at (process_stratum),
-				  NULL, remote_file, &remote_errno);
+  remote->remote_file_delete (remote_file, from_tty);
+}
+
+void
+remote_target::remote_file_delete (const char *remote_file, int from_tty)
+{
+  int retcode, remote_errno;
+
+  retcode = remote_hostio_unlink (NULL, remote_file, &remote_errno);
   if (retcode == -1)
     remote_hostio_error (remote_errno);
 
@@ -12148,31 +12657,31 @@ remote_command (const char *args, int fr
   help_list (remote_cmdlist, "remote ", all_commands, gdb_stdout);
 }
 
-static int
-remote_can_execute_reverse (struct target_ops *self)
+bool
+remote_target::can_execute_reverse ()
 {
   if (packet_support (PACKET_bs) == PACKET_ENABLE
       || packet_support (PACKET_bc) == PACKET_ENABLE)
-    return 1;
+    return true;
   else
-    return 0;
+    return false;
 }
 
-static int
-remote_supports_non_stop (struct target_ops *self)
+bool
+remote_target::supports_non_stop ()
 {
-  return 1;
+  return true;
 }
 
-static int
-remote_supports_disable_randomization (struct target_ops *self)
+bool
+remote_target::supports_disable_randomization ()
 {
   /* Only supported in extended mode.  */
-  return 0;
+  return false;
 }
 
-static int
-remote_supports_multi_process (struct target_ops *self)
+bool
+remote_target::supports_multi_process ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -12180,56 +12689,56 @@ remote_supports_multi_process (struct ta
 }
 
 static int
-remote_supports_cond_tracepoints (void)
+remote_supports_cond_tracepoints ()
 {
   return packet_support (PACKET_ConditionalTracepoints) == PACKET_ENABLE;
 }
 
-static int
-remote_supports_cond_breakpoints (struct target_ops *self)
+bool
+remote_target::supports_evaluation_of_breakpoint_conditions ()
 {
   return packet_support (PACKET_ConditionalBreakpoints) == PACKET_ENABLE;
 }
 
 static int
-remote_supports_fast_tracepoints (void)
+remote_supports_fast_tracepoints ()
 {
   return packet_support (PACKET_FastTracepoints) == PACKET_ENABLE;
 }
 
 static int
-remote_supports_static_tracepoints (void)
+remote_supports_static_tracepoints ()
 {
   return packet_support (PACKET_StaticTracepoints) == PACKET_ENABLE;
 }
 
 static int
-remote_supports_install_in_trace (void)
+remote_supports_install_in_trace ()
 {
   return packet_support (PACKET_InstallInTrace) == PACKET_ENABLE;
 }
 
-static int
-remote_supports_enable_disable_tracepoint (struct target_ops *self)
+bool
+remote_target::supports_enable_disable_tracepoint ()
 {
   return (packet_support (PACKET_EnableDisableTracepoints_feature)
 	  == PACKET_ENABLE);
 }
 
-static int
-remote_supports_string_tracing (struct target_ops *self)
+bool
+remote_target::supports_string_tracing ()
 {
   return packet_support (PACKET_tracenz_feature) == PACKET_ENABLE;
 }
 
-static int
-remote_can_run_breakpoint_commands (struct target_ops *self)
+bool
+remote_target::can_run_breakpoint_commands ()
 {
   return packet_support (PACKET_BreakpointCommands) == PACKET_ENABLE;
 }
 
-static void
-remote_trace_init (struct target_ops *self)
+void
+remote_target::trace_init ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -12242,9 +12751,9 @@ remote_trace_init (struct target_ops *se
 /* Recursive routine to walk through command list including loops, and
    download packets for each command.  */
 
-static void
-remote_download_command_source (int num, ULONGEST addr,
-				struct command_line *cmds)
+void
+remote_target::remote_download_command_source (int num, ULONGEST addr,
+					       struct command_line *cmds)
 {
   struct remote_state *rs = get_remote_state ();
   struct command_line *cmd;
@@ -12264,7 +12773,7 @@ remote_download_command_source (int num,
       if (cmd->control_type == while_control
 	  || cmd->control_type == while_stepping_control)
 	{
-	  remote_download_command_source (num, addr, *cmd->body_list);
+	  remote_download_command_source (num, addr, cmd->body_list_0.get ());
 
 	  QUIT;	/* Allow user to bail out with ^C.  */
 	  strcpy (rs->buf, "QTDPsrc:");
@@ -12279,8 +12788,8 @@ remote_download_command_source (int num,
     }
 }
 
-static void
-remote_download_tracepoint (struct target_ops *self, struct bp_location *loc)
+void
+remote_target::download_tracepoint (struct bp_location *loc)
 {
 #define BUF_SIZE 2048
 
@@ -12443,8 +12952,8 @@ remote_download_tracepoint (struct targe
     }
 }
 
-static int
-remote_can_download_tracepoint (struct target_ops *self)
+bool
+remote_target::can_download_tracepoint ()
 {
   struct remote_state *rs = get_remote_state ();
   struct trace_status *ts;
@@ -12454,37 +12963,36 @@ remote_can_download_tracepoint (struct t
      symbols, and fetched and merged the target's tracepoint list with
      ours.  */
   if (rs->starting_up)
-    return 0;
+    return false;
 
   ts = current_trace_status ();
-  status = remote_get_trace_status (self, ts);
+  status = get_trace_status (ts);
 
   if (status == -1 || !ts->running_known || !ts->running)
-    return 0;
+    return false;
 
   /* If we are in a tracing experiment, but remote stub doesn't support
      installing tracepoint in trace, we have to return.  */
   if (!remote_supports_install_in_trace ())
-    return 0;
+    return false;
 
-  return 1;
+  return true;
 }
 
 
-static void
-remote_download_trace_state_variable (struct target_ops *self,
-				      struct trace_state_variable *tsv)
+void
+remote_target::download_trace_state_variable (const trace_state_variable &tsv)
 {
   struct remote_state *rs = get_remote_state ();
   char *p;
 
   xsnprintf (rs->buf, get_remote_packet_size (), "QTDV:%x:%s:%x:",
-	     tsv->number, phex ((ULONGEST) tsv->initial_value, 8),
-	     tsv->builtin);
+	     tsv.number, phex ((ULONGEST) tsv.initial_value, 8),
+	     tsv.builtin);
   p = rs->buf + strlen (rs->buf);
-  if ((p - rs->buf) + strlen (tsv->name) * 2 >= get_remote_packet_size ())
+  if ((p - rs->buf) + tsv.name.length () * 2 >= get_remote_packet_size ())
     error (_("Trace state variable name too long for tsv definition packet"));
-  p += 2 * bin2hex ((gdb_byte *) (tsv->name), p, strlen (tsv->name));
+  p += 2 * bin2hex ((gdb_byte *) (tsv.name.data ()), p, tsv.name.length ());
   *p++ = '\0';
   putpkt (rs->buf);
   remote_get_noisy_reply ();
@@ -12494,9 +13002,8 @@ remote_download_trace_state_variable (st
     error (_("Error on target while downloading trace state variable."));
 }
 
-static void
-remote_enable_tracepoint (struct target_ops *self,
-			  struct bp_location *location)
+void
+remote_target::enable_tracepoint (struct bp_location *location)
 {
   struct remote_state *rs = get_remote_state ();
   char addr_buf[40];
@@ -12512,9 +13019,8 @@ remote_enable_tracepoint (struct target_
     error (_("Error on target while enabling tracepoint."));
 }
 
-static void
-remote_disable_tracepoint (struct target_ops *self,
-			   struct bp_location *location)
+void
+remote_target::disable_tracepoint (struct bp_location *location)
 {
   struct remote_state *rs = get_remote_state ();
   char addr_buf[40];
@@ -12530,8 +13036,8 @@ remote_disable_tracepoint (struct target
     error (_("Error on target while disabling tracepoint."));
 }
 
-static void
-remote_trace_set_readonly_regions (struct target_ops *self)
+void
+remote_target::trace_set_readonly_regions ()
 {
   asection *s;
   bfd *abfd = NULL;
@@ -12581,8 +13087,8 @@ Too many sections for read-only sections
     }
 }
 
-static void
-remote_trace_start (struct target_ops *self)
+void
+remote_target::trace_start ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -12594,8 +13100,8 @@ remote_trace_start (struct target_ops *s
     error (_("Bogus reply from target: %s"), rs->buf);
 }
 
-static int
-remote_get_trace_status (struct target_ops *self, struct trace_status *ts)
+int
+remote_target::get_trace_status (struct trace_status *ts)
 {
   /* Initialize it just to avoid a GCC false warning.  */
   char *p = NULL;
@@ -12608,7 +13114,7 @@ remote_get_trace_status (struct target_o
     return -1;
 
   trace_regblock_size
-    = get_remote_arch_state (target_gdbarch ())->sizeof_g_packet;
+    = rs->get_remote_arch_state (target_gdbarch ())->sizeof_g_packet;
 
   putpkt ("qTStatus");
 
@@ -12646,9 +13152,9 @@ remote_get_trace_status (struct target_o
   return ts->running;
 }
 
-static void
-remote_get_tracepoint_status (struct target_ops *self, struct breakpoint *bp,
-			      struct uploaded_tp *utp)
+void
+remote_target::get_tracepoint_status (struct breakpoint *bp,
+				      struct uploaded_tp *utp)
 {
   struct remote_state *rs = get_remote_state ();
   char *reply;
@@ -12693,8 +13199,8 @@ remote_get_tracepoint_status (struct tar
     }
 }
 
-static void
-remote_trace_stop (struct target_ops *self)
+void
+remote_target::trace_stop ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -12706,11 +13212,10 @@ remote_trace_stop (struct target_ops *se
     error (_("Bogus reply from target: %s"), rs->buf);
 }
 
-static int
-remote_trace_find (struct target_ops *self,
-		   enum trace_find_type type, int num,
-		   CORE_ADDR addr1, CORE_ADDR addr2,
-		   int *tpp)
+int
+remote_target::trace_find (enum trace_find_type type, int num,
+			   CORE_ADDR addr1, CORE_ADDR addr2,
+			   int *tpp)
 {
   struct remote_state *rs = get_remote_state ();
   char *endbuf = rs->buf + get_remote_packet_size ();
@@ -12789,9 +13294,8 @@ remote_trace_find (struct target_ops *se
   return target_frameno;
 }
 
-static int
-remote_get_trace_state_variable_value (struct target_ops *self,
-				       int tsvnum, LONGEST *val)
+bool
+remote_target::get_trace_state_variable_value (int tsvnum, LONGEST *val)
 {
   struct remote_state *rs = get_remote_state ();
   char *reply;
@@ -12808,14 +13312,14 @@ remote_get_trace_state_variable_value (s
 	{
 	  unpack_varlen_hex (reply + 1, &uval);
 	  *val = (LONGEST) uval;
-	  return 1;
+	  return true;
 	}
     }
-  return 0;
+  return false;
 }
 
-static int
-remote_save_trace_data (struct target_ops *self, const char *filename)
+int
+remote_target::save_trace_data (const char *filename)
 {
   struct remote_state *rs = get_remote_state ();
   char *p, *reply;
@@ -12841,9 +13345,8 @@ remote_save_trace_data (struct target_op
    memory, plus we want to be able to ask for as much as possible, but
    not be unhappy if we don't get as much as we ask for.  */
 
-static LONGEST
-remote_get_raw_trace_data (struct target_ops *self,
-			   gdb_byte *buf, ULONGEST offset, LONGEST len)
+LONGEST
+remote_target::get_raw_trace_data (gdb_byte *buf, ULONGEST offset, LONGEST len)
 {
   struct remote_state *rs = get_remote_state ();
   char *reply;
@@ -12880,8 +13383,8 @@ remote_get_raw_trace_data (struct target
   return -1;
 }
 
-static void
-remote_set_disconnected_tracing (struct target_ops *self, int val)
+void
+remote_target::set_disconnected_tracing (int val)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -12901,8 +13404,8 @@ remote_set_disconnected_tracing (struct 
     warning (_("Target does not support disconnected tracing."));
 }
 
-static int
-remote_core_of_thread (struct target_ops *ops, ptid_t ptid)
+int
+remote_target::core_of_thread (ptid_t ptid)
 {
   struct thread_info *info = find_thread_ptid (ptid);
 
@@ -12912,8 +13415,8 @@ remote_core_of_thread (struct target_ops
   return -1;
 }
 
-static void
-remote_set_circular_trace_buffer (struct target_ops *self, int val)
+void
+remote_target::set_circular_trace_buffer (int val)
 {
   struct remote_state *rs = get_remote_state ();
   char *reply;
@@ -12927,14 +13430,14 @@ remote_set_circular_trace_buffer (struct
     error (_("Bogus reply from target: %s"), reply);
 }
 
-static traceframe_info_up
-remote_traceframe_info (struct target_ops *self)
+traceframe_info_up
+remote_target::traceframe_info ()
 {
-  gdb::unique_xmalloc_ptr<char> text
-    = target_read_stralloc (&current_target, TARGET_OBJECT_TRACEFRAME_INFO,
+  gdb::optional<gdb::char_vector> text
+    = target_read_stralloc (current_top_target (), TARGET_OBJECT_TRACEFRAME_INFO,
 			    NULL);
-  if (text != NULL)
-    return parse_traceframe_info (text.get ());
+  if (text)
+    return parse_traceframe_info (text->data ());
 
   return NULL;
 }
@@ -12944,8 +13447,8 @@ remote_traceframe_info (struct target_op
    if the packet is not supported, and 0 if the minimum instruction
    length is unknown.  */
 
-static int
-remote_get_min_fast_tracepoint_insn_len (struct target_ops *self)
+int
+remote_target::get_min_fast_tracepoint_insn_len ()
 {
   struct remote_state *rs = get_remote_state ();
   char *reply;
@@ -12973,8 +13476,8 @@ remote_get_min_fast_tracepoint_insn_len 
     }
 }
 
-static void
-remote_set_trace_buffer_size (struct target_ops *self, LONGEST val)
+void
+remote_target::set_trace_buffer_size (LONGEST val)
 {
   if (packet_support (PACKET_QTBuffer_size) != PACKET_DISABLE)
     {
@@ -13004,10 +13507,9 @@ remote_set_trace_buffer_size (struct tar
     }
 }
 
-static int
-remote_set_trace_notes (struct target_ops *self,
-			const char *user, const char *notes,
-			const char *stop_notes)
+bool
+remote_target::set_trace_notes (const char *user, const char *notes,
+				const char *stop_notes)
 {
   struct remote_state *rs = get_remote_state ();
   char *reply;
@@ -13043,16 +13545,16 @@ remote_set_trace_notes (struct target_op
   putpkt (rs->buf);
   reply = remote_get_noisy_reply ();
   if (*reply == '\0')
-    return 0;
+    return false;
 
   if (strcmp (reply, "OK") != 0)
     error (_("Bogus reply from target: %s"), reply);
 
-  return 1;
+  return true;
 }
 
-static int
-remote_use_agent (struct target_ops *self, int use)
+bool
+remote_target::use_agent (bool use)
 {
   if (packet_support (PACKET_QAgent) != PACKET_DISABLE)
     {
@@ -13065,16 +13567,16 @@ remote_use_agent (struct target_ops *sel
 
       if (strcmp (rs->buf, "OK") == 0)
 	{
-	  use_agent = use;
-	  return 1;
+	  ::use_agent = use;
+	  return true;
 	}
     }
 
-  return 0;
+  return false;
 }
 
-static int
-remote_can_use_agent (struct target_ops *self)
+bool
+remote_target::can_use_agent ()
 {
   return (packet_support (PACKET_QAgent) != PACKET_DISABLE);
 }
@@ -13091,48 +13593,15 @@ struct btrace_target_info
 /* Reset our idea of our target's btrace configuration.  */
 
 static void
-remote_btrace_reset (void)
+remote_btrace_reset (remote_state *rs)
 {
-  struct remote_state *rs = get_remote_state ();
-
   memset (&rs->btrace_config, 0, sizeof (rs->btrace_config));
 }
 
-/* Check whether the target supports branch tracing.  */
-
-static int
-remote_supports_btrace (struct target_ops *self, enum btrace_format format)
-{
-  if (packet_support (PACKET_Qbtrace_off) != PACKET_ENABLE)
-    return 0;
-  if (packet_support (PACKET_qXfer_btrace) != PACKET_ENABLE)
-    return 0;
-
-  switch (format)
-    {
-      case BTRACE_FORMAT_NONE:
-	return 0;
-
-      case BTRACE_FORMAT_BTS:
-	return (packet_support (PACKET_Qbtrace_bts) == PACKET_ENABLE);
-
-      case BTRACE_FORMAT_PT:
-	/* The trace is decoded on the host.  Even if our target supports it,
-	   we still need to have libipt to decode the trace.  */
-#if defined (HAVE_LIBIPT)
-	return (packet_support (PACKET_Qbtrace_pt) == PACKET_ENABLE);
-#else /* !defined (HAVE_LIBIPT)  */
-	return 0;
-#endif /* !defined (HAVE_LIBIPT)  */
-    }
-
-  internal_error (__FILE__, __LINE__, _("Unknown branch trace format"));
-}
-
 /* Synchronize the configuration with the target.  */
 
-static void
-btrace_sync_conf (const struct btrace_config *conf)
+void
+remote_target::btrace_sync_conf (const btrace_config *conf)
 {
   struct packet_config *packet;
   struct remote_state *rs;
@@ -13193,16 +13662,16 @@ btrace_sync_conf (const struct btrace_co
 static void
 btrace_read_config (struct btrace_config *conf)
 {
-  gdb::unique_xmalloc_ptr<char> xml
-    = target_read_stralloc (&current_target, TARGET_OBJECT_BTRACE_CONF, "");
-  if (xml != NULL)
-    parse_xml_btrace_conf (conf, xml.get ());
+  gdb::optional<gdb::char_vector> xml
+    = target_read_stralloc (current_top_target (), TARGET_OBJECT_BTRACE_CONF, "");
+  if (xml)
+    parse_xml_btrace_conf (conf, xml->data ());
 }
 
 /* Maybe reopen target btrace.  */
 
-static void
-remote_btrace_maybe_reopen (void)
+void
+remote_target::remote_btrace_maybe_reopen ()
 {
   struct remote_state *rs = get_remote_state ();
   struct thread_info *tp;
@@ -13227,8 +13696,8 @@ remote_btrace_maybe_reopen (void)
 	  if (!warned)
 	    {
 	      warned = 1;
-	      warning (_("GDB does not support Intel Processor Trace. "
-			 "\"record\" will not work in this session."));
+	      warning (_("Target is recording using Intel Processor Trace "
+			 "but support was disabled at compile time."));
 	    }
 
 	  continue;
@@ -13254,9 +13723,8 @@ remote_btrace_maybe_reopen (void)
 
 /* Enable branch tracing.  */
 
-static struct btrace_target_info *
-remote_enable_btrace (struct target_ops *self, ptid_t ptid,
-		      const struct btrace_config *conf)
+struct btrace_target_info *
+remote_target::enable_btrace (ptid_t ptid, const struct btrace_config *conf)
 {
   struct btrace_target_info *tinfo = NULL;
   struct packet_config *packet = NULL;
@@ -13317,9 +13785,8 @@ remote_enable_btrace (struct target_ops 
 
 /* Disable branch tracing.  */
 
-static void
-remote_disable_btrace (struct target_ops *self,
-		       struct btrace_target_info *tinfo)
+void
+remote_target::disable_btrace (struct btrace_target_info *tinfo)
 {
   struct packet_config *packet = &remote_protocol_packets[PACKET_Qbtrace_off];
   struct remote_state *rs = get_remote_state ();
@@ -13350,9 +13817,8 @@ remote_disable_btrace (struct target_ops
 
 /* Teardown branch tracing.  */
 
-static void
-remote_teardown_btrace (struct target_ops *self,
-			struct btrace_target_info *tinfo)
+void
+remote_target::teardown_btrace (struct btrace_target_info *tinfo)
 {
   /* We must not talk to the target during teardown.  */
   xfree (tinfo);
@@ -13360,11 +13826,10 @@ remote_teardown_btrace (struct target_op
 
 /* Read the branch trace.  */
 
-static enum btrace_error
-remote_read_btrace (struct target_ops *self,
-		    struct btrace_data *btrace,
-		    struct btrace_target_info *tinfo,
-		    enum btrace_read_type type)
+enum btrace_error
+remote_target::read_btrace (struct btrace_data *btrace,
+			    struct btrace_target_info *tinfo,
+			    enum btrace_read_type type)
 {
   struct packet_config *packet = &remote_protocol_packets[PACKET_qXfer_btrace];
   const char *annex;
@@ -13393,25 +13858,24 @@ remote_read_btrace (struct target_ops *s
 		      (unsigned int) type);
     }
 
-  gdb::unique_xmalloc_ptr<char> xml
-    = target_read_stralloc (&current_target, TARGET_OBJECT_BTRACE, annex);
-  if (xml == NULL)
+  gdb::optional<gdb::char_vector> xml
+    = target_read_stralloc (current_top_target (), TARGET_OBJECT_BTRACE, annex);
+  if (!xml)
     return BTRACE_ERR_UNKNOWN;
 
-  parse_xml_btrace (btrace, xml.get ());
+  parse_xml_btrace (btrace, xml->data ());
 
   return BTRACE_ERR_NONE;
 }
 
-static const struct btrace_config *
-remote_btrace_conf (struct target_ops *self,
-		    const struct btrace_target_info *tinfo)
+const struct btrace_config *
+remote_target::btrace_conf (const struct btrace_target_info *tinfo)
 {
   return &tinfo->conf;
 }
 
-static int
-remote_augmented_libraries_svr4_read (struct target_ops *self)
+bool
+remote_target::augmented_libraries_svr4_read ()
 {
   return (packet_support (PACKET_augmented_libraries_svr4_read_feature)
 	  == PACKET_ENABLE);
@@ -13419,8 +13883,8 @@ remote_augmented_libraries_svr4_read (st
 
 /* Implementation of to_load.  */
 
-static void
-remote_load (struct target_ops *self, const char *name, int from_tty)
+void
+remote_target::load (const char *name, int from_tty)
 {
   generic_load (name, from_tty);
 }
@@ -13429,10 +13893,10 @@ remote_load (struct target_ops *self, co
    can be opened on the remote side to get the symbols for the child
    process.  Returns NULL if the operation is not supported.  */
 
-static char *
-remote_pid_to_exec_file (struct target_ops *self, int pid)
+char *
+remote_target::pid_to_exec_file (int pid)
 {
-  static gdb::unique_xmalloc_ptr<char> filename;
+  static gdb::optional<gdb::char_vector> filename;
   struct inferior *inf;
   char *annex = NULL;
 
@@ -13452,16 +13916,16 @@ remote_pid_to_exec_file (struct target_o
       xsnprintf (annex, annex_size, "%x", pid);
     }
 
-  filename = target_read_stralloc (&current_target,
+  filename = target_read_stralloc (current_top_target (),
 				   TARGET_OBJECT_EXEC_FILE, annex);
 
-  return filename.get ();
+  return filename ? filename->data () : nullptr;
 }
 
 /* Implement the to_can_do_single_step target_ops method.  */
 
-static int
-remote_can_do_single_step (struct target_ops *ops)
+int
+remote_target::can_do_single_step ()
 {
   /* We can only tell whether target supports single step or not by
      supported s and S vCont actions if the stub supports vContSupported
@@ -13473,7 +13937,7 @@ remote_can_do_single_step (struct target
       struct remote_state *rs = get_remote_state ();
 
       if (packet_support (PACKET_vCont) == PACKET_SUPPORT_UNKNOWN)
-	remote_vcont_probe (rs);
+	remote_vcont_probe ();
 
       return rs->supports_vCont.s && rs->supports_vCont.S;
     }
@@ -13484,8 +13948,8 @@ remote_can_do_single_step (struct target
 /* Implementation of the to_execution_direction method for the remote
    target.  */
 
-static enum exec_direction_kind
-remote_execution_direction (struct target_ops *self)
+enum exec_direction_kind
+remote_target::execution_direction ()
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -13495,11 +13959,10 @@ remote_execution_direction (struct targe
 /* Return pointer to the thread_info struct which corresponds to
    THREAD_HANDLE (having length HANDLE_LEN).  */
 
-static struct thread_info *
-remote_thread_handle_to_thread_info (struct target_ops *ops,
-				     const gdb_byte *thread_handle,
-				     int handle_len,
-				     struct inferior *inf)
+thread_info *
+remote_target::thread_handle_to_thread_info (const gdb_byte *thread_handle,
+					     int handle_len,
+					     inferior *inf)
 {
   struct thread_info *tp;
 
@@ -13521,203 +13984,28 @@ remote_thread_handle_to_thread_info (str
   return NULL;
 }
 
-static void
-init_remote_ops (void)
-{
-  remote_ops.to_shortname = "remote";
-  remote_ops.to_longname = "Remote serial target in gdb-specific protocol";
-  remote_ops.to_doc =
-    "Use a remote computer via a serial line, using a gdb-specific protocol.\n\
-Specify the serial device it is connected to\n\
-(e.g. /dev/ttyS0, /dev/ttya, COM1, etc.).";
-  remote_ops.to_open = remote_open;
-  remote_ops.to_close = remote_close;
-  remote_ops.to_detach = remote_detach;
-  remote_ops.to_disconnect = remote_disconnect;
-  remote_ops.to_resume = remote_resume;
-  remote_ops.to_commit_resume = remote_commit_resume;
-  remote_ops.to_wait = remote_wait;
-  remote_ops.to_fetch_registers = remote_fetch_registers;
-  remote_ops.to_store_registers = remote_store_registers;
-  remote_ops.to_prepare_to_store = remote_prepare_to_store;
-  remote_ops.to_files_info = remote_files_info;
-  remote_ops.to_insert_breakpoint = remote_insert_breakpoint;
-  remote_ops.to_remove_breakpoint = remote_remove_breakpoint;
-  remote_ops.to_stopped_by_sw_breakpoint = remote_stopped_by_sw_breakpoint;
-  remote_ops.to_supports_stopped_by_sw_breakpoint = remote_supports_stopped_by_sw_breakpoint;
-  remote_ops.to_stopped_by_hw_breakpoint = remote_stopped_by_hw_breakpoint;
-  remote_ops.to_supports_stopped_by_hw_breakpoint = remote_supports_stopped_by_hw_breakpoint;
-  remote_ops.to_stopped_by_watchpoint = remote_stopped_by_watchpoint;
-  remote_ops.to_stopped_data_address = remote_stopped_data_address;
-  remote_ops.to_watchpoint_addr_within_range =
-    remote_watchpoint_addr_within_range;
-  remote_ops.to_can_use_hw_breakpoint = remote_check_watch_resources;
-  remote_ops.to_insert_hw_breakpoint = remote_insert_hw_breakpoint;
-  remote_ops.to_remove_hw_breakpoint = remote_remove_hw_breakpoint;
-  remote_ops.to_region_ok_for_hw_watchpoint
-     = remote_region_ok_for_hw_watchpoint;
-  remote_ops.to_insert_watchpoint = remote_insert_watchpoint;
-  remote_ops.to_remove_watchpoint = remote_remove_watchpoint;
-  remote_ops.to_kill = remote_kill;
-  remote_ops.to_load = remote_load;
-  remote_ops.to_mourn_inferior = remote_mourn;
-  remote_ops.to_pass_signals = remote_pass_signals;
-  remote_ops.to_set_syscall_catchpoint = remote_set_syscall_catchpoint;
-  remote_ops.to_program_signals = remote_program_signals;
-  remote_ops.to_thread_alive = remote_thread_alive;
-  remote_ops.to_thread_name = remote_thread_name;
-  remote_ops.to_update_thread_list = remote_update_thread_list;
-  remote_ops.to_pid_to_str = remote_pid_to_str;
-  remote_ops.to_extra_thread_info = remote_threads_extra_info;
-  remote_ops.to_get_ada_task_ptid = remote_get_ada_task_ptid;
-  remote_ops.to_stop = remote_stop;
-  remote_ops.to_interrupt = remote_interrupt;
-  remote_ops.to_pass_ctrlc = remote_pass_ctrlc;
-  remote_ops.to_xfer_partial = remote_xfer_partial;
-  remote_ops.to_get_memory_xfer_limit = remote_get_memory_xfer_limit;
-  remote_ops.to_rcmd = remote_rcmd;
-  remote_ops.to_pid_to_exec_file = remote_pid_to_exec_file;
-  remote_ops.to_log_command = serial_log_command;
-  remote_ops.to_get_thread_local_address = remote_get_thread_local_address;
-  remote_ops.to_stratum = process_stratum;
-  remote_ops.to_has_all_memory = default_child_has_all_memory;
-  remote_ops.to_has_memory = default_child_has_memory;
-  remote_ops.to_has_stack = default_child_has_stack;
-  remote_ops.to_has_registers = default_child_has_registers;
-  remote_ops.to_has_execution = default_child_has_execution;
-  remote_ops.to_has_thread_control = tc_schedlock;    /* can lock scheduler */
-  remote_ops.to_can_execute_reverse = remote_can_execute_reverse;
-  remote_ops.to_magic = OPS_MAGIC;
-  remote_ops.to_memory_map = remote_memory_map;
-  remote_ops.to_flash_erase = remote_flash_erase;
-  remote_ops.to_flash_done = remote_flash_done;
-  remote_ops.to_read_description = remote_read_description;
-  remote_ops.to_search_memory = remote_search_memory;
-  remote_ops.to_can_async_p = remote_can_async_p;
-  remote_ops.to_is_async_p = remote_is_async_p;
-  remote_ops.to_async = remote_async;
-  remote_ops.to_thread_events = remote_thread_events;
-  remote_ops.to_can_do_single_step = remote_can_do_single_step;
-  remote_ops.to_terminal_inferior = remote_terminal_inferior;
-  remote_ops.to_terminal_ours = remote_terminal_ours;
-  remote_ops.to_supports_non_stop = remote_supports_non_stop;
-  remote_ops.to_supports_multi_process = remote_supports_multi_process;
-  remote_ops.to_supports_disable_randomization
-    = remote_supports_disable_randomization;
-  remote_ops.to_filesystem_is_local = remote_filesystem_is_local;
-  remote_ops.to_fileio_open = remote_hostio_open;
-  remote_ops.to_fileio_pwrite = remote_hostio_pwrite;
-  remote_ops.to_fileio_pread = remote_hostio_pread;
-  remote_ops.to_fileio_fstat = remote_hostio_fstat;
-  remote_ops.to_fileio_close = remote_hostio_close;
-  remote_ops.to_fileio_unlink = remote_hostio_unlink;
-  remote_ops.to_fileio_readlink = remote_hostio_readlink;
-  remote_ops.to_supports_enable_disable_tracepoint = remote_supports_enable_disable_tracepoint;
-  remote_ops.to_supports_string_tracing = remote_supports_string_tracing;
-  remote_ops.to_supports_evaluation_of_breakpoint_conditions = remote_supports_cond_breakpoints;
-  remote_ops.to_can_run_breakpoint_commands = remote_can_run_breakpoint_commands;
-  remote_ops.to_trace_init = remote_trace_init;
-  remote_ops.to_download_tracepoint = remote_download_tracepoint;
-  remote_ops.to_can_download_tracepoint = remote_can_download_tracepoint;
-  remote_ops.to_download_trace_state_variable
-    = remote_download_trace_state_variable;
-  remote_ops.to_enable_tracepoint = remote_enable_tracepoint;
-  remote_ops.to_disable_tracepoint = remote_disable_tracepoint;
-  remote_ops.to_trace_set_readonly_regions = remote_trace_set_readonly_regions;
-  remote_ops.to_trace_start = remote_trace_start;
-  remote_ops.to_get_trace_status = remote_get_trace_status;
-  remote_ops.to_get_tracepoint_status = remote_get_tracepoint_status;
-  remote_ops.to_trace_stop = remote_trace_stop;
-  remote_ops.to_trace_find = remote_trace_find;
-  remote_ops.to_get_trace_state_variable_value
-    = remote_get_trace_state_variable_value;
-  remote_ops.to_save_trace_data = remote_save_trace_data;
-  remote_ops.to_upload_tracepoints = remote_upload_tracepoints;
-  remote_ops.to_upload_trace_state_variables
-    = remote_upload_trace_state_variables;
-  remote_ops.to_get_raw_trace_data = remote_get_raw_trace_data;
-  remote_ops.to_get_min_fast_tracepoint_insn_len = remote_get_min_fast_tracepoint_insn_len;
-  remote_ops.to_set_disconnected_tracing = remote_set_disconnected_tracing;
-  remote_ops.to_set_circular_trace_buffer = remote_set_circular_trace_buffer;
-  remote_ops.to_set_trace_buffer_size = remote_set_trace_buffer_size;
-  remote_ops.to_set_trace_notes = remote_set_trace_notes;
-  remote_ops.to_core_of_thread = remote_core_of_thread;
-  remote_ops.to_verify_memory = remote_verify_memory;
-  remote_ops.to_get_tib_address = remote_get_tib_address;
-  remote_ops.to_set_permissions = remote_set_permissions;
-  remote_ops.to_static_tracepoint_marker_at
-    = remote_static_tracepoint_marker_at;
-  remote_ops.to_static_tracepoint_markers_by_strid
-    = remote_static_tracepoint_markers_by_strid;
-  remote_ops.to_traceframe_info = remote_traceframe_info;
-  remote_ops.to_use_agent = remote_use_agent;
-  remote_ops.to_can_use_agent = remote_can_use_agent;
-  remote_ops.to_supports_btrace = remote_supports_btrace;
-  remote_ops.to_enable_btrace = remote_enable_btrace;
-  remote_ops.to_disable_btrace = remote_disable_btrace;
-  remote_ops.to_teardown_btrace = remote_teardown_btrace;
-  remote_ops.to_read_btrace = remote_read_btrace;
-  remote_ops.to_btrace_conf = remote_btrace_conf;
-  remote_ops.to_augmented_libraries_svr4_read =
-    remote_augmented_libraries_svr4_read;
-  remote_ops.to_follow_fork = remote_follow_fork;
-  remote_ops.to_follow_exec = remote_follow_exec;
-  remote_ops.to_insert_fork_catchpoint = remote_insert_fork_catchpoint;
-  remote_ops.to_remove_fork_catchpoint = remote_remove_fork_catchpoint;
-  remote_ops.to_insert_vfork_catchpoint = remote_insert_vfork_catchpoint;
-  remote_ops.to_remove_vfork_catchpoint = remote_remove_vfork_catchpoint;
-  remote_ops.to_insert_exec_catchpoint = remote_insert_exec_catchpoint;
-  remote_ops.to_remove_exec_catchpoint = remote_remove_exec_catchpoint;
-  remote_ops.to_execution_direction = remote_execution_direction;
-  remote_ops.to_thread_handle_to_thread_info =
-    remote_thread_handle_to_thread_info;
-}
-
-/* Set up the extended remote vector by making a copy of the standard
-   remote vector and adding to it.  */
-
-static void
-init_extended_remote_ops (void)
-{
-  extended_remote_ops = remote_ops;
-
-  extended_remote_ops.to_shortname = "extended-remote";
-  extended_remote_ops.to_longname =
-    "Extended remote serial target in gdb-specific protocol";
-  extended_remote_ops.to_doc =
-    "Use a remote computer via a serial line, using a gdb-specific protocol.\n\
-Specify the serial device it is connected to (e.g. /dev/ttya).";
-  extended_remote_ops.to_open = extended_remote_open;
-  extended_remote_ops.to_create_inferior = extended_remote_create_inferior;
-  extended_remote_ops.to_detach = extended_remote_detach;
-  extended_remote_ops.to_attach = extended_remote_attach;
-  extended_remote_ops.to_post_attach = extended_remote_post_attach;
-  extended_remote_ops.to_supports_disable_randomization
-    = extended_remote_supports_disable_randomization;
-}
-
-static int
-remote_can_async_p (struct target_ops *ops)
+bool
+remote_target::can_async_p ()
 {
   struct remote_state *rs = get_remote_state ();
 
   /* We don't go async if the user has explicitly prevented it with the
      "maint set target-async" command.  */
   if (!target_async_permitted)
-    return 0;
+    return false;
 
   /* We're async whenever the serial device is.  */
   return serial_can_async_p (rs->remote_desc);
 }
 
-static int
-remote_is_async_p (struct target_ops *ops)
+bool
+remote_target::is_async_p ()
 {
   struct remote_state *rs = get_remote_state ();
 
   if (!target_async_permitted)
     /* We only enable async when the user specifically asks for it.  */
-    return 0;
+    return false;
 
   /* We're async whenever the serial device is.  */
   return serial_is_async_p (rs->remote_desc);
@@ -13740,11 +14028,11 @@ remote_async_serial_handler (struct seri
 static void
 remote_async_inferior_event_handler (gdb_client_data data)
 {
-  inferior_event_handler (INF_REG_EVENT, NULL);
+  inferior_event_handler (INF_REG_EVENT, data);
 }
 
-static void
-remote_async (struct target_ops *ops, int enable)
+void
+remote_target::async (int enable)
 {
   struct remote_state *rs = get_remote_state ();
 
@@ -13754,8 +14042,8 @@ remote_async (struct target_ops *ops, in
 
       /* If there are pending events in the stop reply queue tell the
 	 event loop to process them.  */
-      if (!QUEUE_is_empty (stop_reply_p, stop_reply_queue))
-	mark_async_event_handler (remote_async_inferior_event_token);
+      if (!rs->stop_reply_queue.empty ())
+	mark_async_event_handler (rs->remote_async_inferior_event_token);
       /* For simplicity, below we clear the pending events token
 	 without remembering whether it is marked, so here we always
 	 mark it.  If there's actually no pending notification to
@@ -13770,7 +14058,7 @@ remote_async (struct target_ops *ops, in
       /* If the core is disabling async, it doesn't want to be
 	 disturbed with target events.  Clear all async event sources
 	 too.  */
-      clear_async_event_handler (remote_async_inferior_event_token);
+      clear_async_event_handler (rs->remote_async_inferior_event_token);
       if (target_is_non_stop_p ())
 	clear_async_event_handler (rs->notif_state->get_pending_events_token);
     }
@@ -13778,8 +14066,8 @@ remote_async (struct target_ops *ops, in
 
 /* Implementation of the to_thread_events method.  */
 
-static void
-remote_thread_events (struct target_ops *ops, int enable)
+void
+remote_target::thread_events (int enable)
 {
   struct remote_state *rs = get_remote_state ();
   size_t size = get_remote_packet_size ();
@@ -13846,10 +14134,10 @@ show_remote_cmd (const char *args, int f
 static void
 remote_new_objfile (struct objfile *objfile)
 {
-  struct remote_state *rs = get_remote_state ();
+  remote_target *remote = get_current_remote_target ();
 
-  if (rs->remote_desc != 0)		/* Have a remote connection.  */
-    remote_check_symbols ();
+  if (remote != NULL)			/* Have a remote connection.  */
+    remote->remote_check_symbols ();
 }
 
 /* Pull all the tracepoints defined on the target and create local
@@ -13857,8 +14145,8 @@ remote_new_objfile (struct objfile *objf
    tracepoints yet, we don't want to mess up the user's existing
    collection.  */
   
-static int
-remote_upload_tracepoints (struct target_ops *self, struct uploaded_tp **utpp)
+int
+remote_target::upload_tracepoints (struct uploaded_tp **utpp)
 {
   struct remote_state *rs = get_remote_state ();
   char *p;
@@ -13878,9 +14166,8 @@ remote_upload_tracepoints (struct target
   return 0;
 }
 
-static int
-remote_upload_trace_state_variables (struct target_ops *self,
-				     struct uploaded_tsv **utsvp)
+int
+remote_target::upload_trace_state_variables (struct uploaded_tsv **utsvp)
 {
   struct remote_state *rs = get_remote_state ();
   char *p;
@@ -13912,29 +14199,33 @@ show_range_stepping (struct ui_file *fil
 		      "is %s.\n"), value);
 }
 
+/* Return true if the vCont;r action is supported by the remote
+   stub.  */
+
+bool
+remote_target::vcont_r_supported ()
+{
+  if (packet_support (PACKET_vCont) == PACKET_SUPPORT_UNKNOWN)
+    remote_vcont_probe ();
+
+  return (packet_support (PACKET_vCont) == PACKET_ENABLE
+	  && get_remote_state ()->supports_vCont.r);
+}
+
 /* The "set/show range-stepping" set hook.  */
 
 static void
 set_range_stepping (const char *ignore_args, int from_tty,
 		    struct cmd_list_element *c)
 {
-  struct remote_state *rs = get_remote_state ();
-
-  /* Whene enabling, check whether range stepping is actually
-     supported by the target, and warn if not.  */
+  /* When enabling, check whether range stepping is actually supported
+     by the target, and warn if not.  */
   if (use_range_stepping)
     {
-      if (rs->remote_desc != NULL)
-	{
-	  if (packet_support (PACKET_vCont) == PACKET_SUPPORT_UNKNOWN)
-	    remote_vcont_probe (rs);
-
-	  if (packet_support (PACKET_vCont) == PACKET_ENABLE
-	      && rs->supports_vCont.r)
-	    return;
-	}
-
-      warning (_("Range stepping is not supported by the current target"));
+      remote_target *remote = get_current_remote_target ();
+      if (remote == NULL
+	  || !remote->vcont_r_supported ())
+	warning (_("Range stepping is not supported by the current target"));
     }
 }
 
@@ -13945,8 +14236,6 @@ _initialize_remote (void)
   const char *cmd_name;
 
   /* architecture specific data */
-  remote_gdbarch_data_handle =
-    gdbarch_data_register_post_init (init_remote_state);
   remote_g_packet_data_handle =
     gdbarch_data_register_pre_init (remote_g_packet_data_init);
 
@@ -13954,28 +14243,16 @@ _initialize_remote (void)
     = register_program_space_data_with_cleanup (NULL,
 						remote_pspace_data_cleanup);
 
-  /* Initialize the per-target state.  At the moment there is only one
-     of these, not one per target.  Only one target is active at a
-     time.  */
-  remote_state = new_remote_state ();
-
-  init_remote_ops ();
-  add_target (&remote_ops);
-
-  init_extended_remote_ops ();
-  add_target (&extended_remote_ops);
+  add_target (remote_target_info, remote_target::open);
+  add_target (extended_remote_target_info, extended_remote_target::open);
 
   /* Hook into new objfile notification.  */
-  observer_attach_new_objfile (remote_new_objfile);
-  /* We're no longer interested in notification events of an inferior
-     when it exits.  */
-  observer_attach_inferior_exit (discard_pending_stop_replies);
+  gdb::observers::new_objfile.attach (remote_new_objfile);
 
 #if 0
   init_remote_threadtests ();
 #endif
 
-  stop_reply_queue = QUEUE_alloc (stop_reply_p, stop_reply_xfree);
   /* set/show remote ...  */
 
   add_prefix_cmd ("remote", class_maintenance, set_remote_cmd, _("\
@@ -14460,7 +14737,7 @@ stepping is supported by the target.  Th
 
   /* Take advantage of the fact that the TID field is not used, to tag
      special ptids with it set to != 0.  */
-  magic_null_ptid = ptid_build (42000, -1, 1);
-  not_sent_ptid = ptid_build (42000, -2, 1);
-  any_thread_ptid = ptid_build (42000, 0, 1);
+  magic_null_ptid = ptid_t (42000, -1, 1);
+  not_sent_ptid = ptid_t (42000, -2, 1);
+  any_thread_ptid = ptid_t (42000, 0, 1);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote-fileio.c ./gdb/remote-fileio.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote-fileio.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/remote-fileio.c	2018-07-10 02:06:13.000000000 +0000
@@ -313,7 +313,7 @@ remote_fileio_quit_handler (void)
 }
 
 static void
-remote_fileio_reply (int retcode, int error)
+remote_fileio_reply (remote_target *remote, int retcode, int error)
 {
   char buf[32];
   int ctrl_c = check_quit_flag ();
@@ -339,36 +339,36 @@ remote_fileio_reply (int retcode, int er
         strcat (buf, ",C");
     }
   quit_handler = remote_fileio_o_quit_handler;
-  putpkt (buf);
+  putpkt (remote, buf);
 }
 
 static void
-remote_fileio_ioerror (void)
+remote_fileio_ioerror (remote_target *remote)
 {
-  remote_fileio_reply (-1, FILEIO_EIO);
+  remote_fileio_reply (remote, -1, FILEIO_EIO);
 }
 
 static void
-remote_fileio_badfd (void)
+remote_fileio_badfd (remote_target *remote)
 {
-  remote_fileio_reply (-1, FILEIO_EBADF);
+  remote_fileio_reply (remote, -1, FILEIO_EBADF);
 }
 
 static void
-remote_fileio_return_errno (int retcode)
+remote_fileio_return_errno (remote_target *remote, int retcode)
 {
-  remote_fileio_reply (retcode, retcode < 0
+  remote_fileio_reply (remote, retcode, retcode < 0
 		       ? host_to_fileio_error (errno) : 0);
 }
 
 static void
-remote_fileio_return_success (int retcode)
+remote_fileio_return_success (remote_target *remote, int retcode)
 {
-  remote_fileio_reply (retcode, 0);
+  remote_fileio_reply (remote, retcode, 0);
 }
 
 static void
-remote_fileio_func_open (char *buf)
+remote_fileio_func_open (remote_target *remote, char *buf)
 {
   CORE_ADDR ptrval;
   int length;
@@ -381,20 +381,20 @@ remote_fileio_func_open (char *buf)
   /* 1. Parameter: Ptr to pathname / length incl. trailing zero.  */
   if (remote_fileio_extract_ptr_w_len (&buf, &ptrval, &length))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   /* 2. Parameter: open flags */
   if (remote_fileio_extract_int (&buf, &num))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   flags = remote_fileio_oflags_to_host (num);
   /* 3. Parameter: open mode */
   if (remote_fileio_extract_int (&buf, &num))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   mode = remote_fileio_mode_to_host (num, 1);
@@ -403,7 +403,7 @@ remote_fileio_func_open (char *buf)
   pathname = (char *) alloca (length);
   if (target_read_memory (ptrval, (gdb_byte *) pathname, length) != 0)
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
 
@@ -414,13 +414,13 @@ remote_fileio_func_open (char *buf)
     {
       if (!S_ISREG (st.st_mode) && !S_ISDIR (st.st_mode))
 	{
-	  remote_fileio_reply (-1, FILEIO_ENODEV);
+	  remote_fileio_reply (remote, -1, FILEIO_ENODEV);
 	  return;
 	}
       if (S_ISDIR (st.st_mode)
 	  && ((flags & O_WRONLY) == O_WRONLY || (flags & O_RDWR) == O_RDWR))
 	{
-	  remote_fileio_reply (-1, FILEIO_EISDIR);
+	  remote_fileio_reply (remote, -1, FILEIO_EISDIR);
 	  return;
 	}
     }
@@ -428,16 +428,16 @@ remote_fileio_func_open (char *buf)
   fd = gdb_open_cloexec (pathname, flags, mode);
   if (fd < 0)
     {
-      remote_fileio_return_errno (-1);
+      remote_fileio_return_errno (remote, -1);
       return;
     }
 
   fd = remote_fileio_fd_to_targetfd (fd);
-  remote_fileio_return_success (fd);
+  remote_fileio_return_success (remote, fd);
 }
 
 static void
-remote_fileio_func_close (char *buf)
+remote_fileio_func_close (remote_target *remote, char *buf)
 {
   long num;
   int fd;
@@ -445,24 +445,24 @@ remote_fileio_func_close (char *buf)
   /* Parameter: file descriptor */
   if (remote_fileio_extract_int (&buf, &num))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   fd = remote_fileio_map_fd ((int) num);
   if (fd == FIO_FD_INVALID)
     {
-      remote_fileio_badfd ();
+      remote_fileio_badfd (remote);
       return;
     }
 
   if (fd != FIO_FD_CONSOLE_IN && fd != FIO_FD_CONSOLE_OUT && close (fd))
-    remote_fileio_return_errno (-1);
+    remote_fileio_return_errno (remote, -1);
   remote_fileio_close_target_fd ((int) num);
-  remote_fileio_return_success (0);
+  remote_fileio_return_success (remote, 0);
 }
 
 static void
-remote_fileio_func_read (char *buf)
+remote_fileio_func_read (remote_target *remote, char *buf)
 {
   long target_fd, num;
   LONGEST lnum;
@@ -475,26 +475,26 @@ remote_fileio_func_read (char *buf)
   /* 1. Parameter: file descriptor */
   if (remote_fileio_extract_int (&buf, &target_fd))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   fd = remote_fileio_map_fd ((int) target_fd);
   if (fd == FIO_FD_INVALID)
     {
-      remote_fileio_badfd ();
+      remote_fileio_badfd (remote);
       return;
     }
   /* 2. Parameter: buffer pointer */
   if (remote_fileio_extract_long (&buf, &lnum))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   ptrval = (CORE_ADDR) lnum;
   /* 3. Parameter: buffer length */
   if (remote_fileio_extract_int (&buf, &num))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   length = (size_t) num;
@@ -502,7 +502,7 @@ remote_fileio_func_read (char *buf)
   switch (fd)
     {
       case FIO_FD_CONSOLE_OUT:
-	remote_fileio_badfd ();
+	remote_fileio_badfd (remote);
 	return;
       case FIO_FD_CONSOLE_IN:
 	{
@@ -580,15 +580,15 @@ remote_fileio_func_read (char *buf)
     }
 
   if (ret < 0)
-    remote_fileio_return_errno (-1);
+    remote_fileio_return_errno (remote, -1);
   else
-    remote_fileio_return_success (ret);
+    remote_fileio_return_success (remote, ret);
 
   xfree (buffer);
 }
 
 static void
-remote_fileio_func_write (char *buf)
+remote_fileio_func_write (remote_target *remote, char *buf)
 {
   long target_fd, num;
   LONGEST lnum;
@@ -600,26 +600,26 @@ remote_fileio_func_write (char *buf)
   /* 1. Parameter: file descriptor */
   if (remote_fileio_extract_int (&buf, &target_fd))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   fd = remote_fileio_map_fd ((int) target_fd);
   if (fd == FIO_FD_INVALID)
     {
-      remote_fileio_badfd ();
+      remote_fileio_badfd (remote);
       return;
     }
   /* 2. Parameter: buffer pointer */
   if (remote_fileio_extract_long (&buf, &lnum))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   ptrval = (CORE_ADDR) lnum;
   /* 3. Parameter: buffer length */
   if (remote_fileio_extract_int (&buf, &num))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   length = (size_t) num;
@@ -628,14 +628,14 @@ remote_fileio_func_write (char *buf)
   if (target_read_memory (ptrval, buffer, length) != 0)
     {
       xfree (buffer);
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
 
   switch (fd)
     {
       case FIO_FD_CONSOLE_IN:
-	remote_fileio_badfd ();
+	remote_fileio_badfd (remote);
 	xfree (buffer);
 	return;
       case FIO_FD_CONSOLE_OUT:
@@ -653,15 +653,15 @@ remote_fileio_func_write (char *buf)
     }
 
   if (ret < 0)
-    remote_fileio_return_errno (-1);
+    remote_fileio_return_errno (remote, -1);
   else
-    remote_fileio_return_success (ret);
+    remote_fileio_return_success (remote, ret);
 
   xfree (buffer);
 }
 
 static void
-remote_fileio_func_lseek (char *buf)
+remote_fileio_func_lseek (remote_target *remote, char *buf)
 {
   long num;
   LONGEST lnum;
@@ -671,50 +671,50 @@ remote_fileio_func_lseek (char *buf)
   /* 1. Parameter: file descriptor */
   if (remote_fileio_extract_int (&buf, &num))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   fd = remote_fileio_map_fd ((int) num);
   if (fd == FIO_FD_INVALID)
     {
-      remote_fileio_badfd ();
+      remote_fileio_badfd (remote);
       return;
     }
   else if (fd == FIO_FD_CONSOLE_IN || fd == FIO_FD_CONSOLE_OUT)
     {
-      remote_fileio_reply (-1, FILEIO_ESPIPE);
+      remote_fileio_reply (remote, -1, FILEIO_ESPIPE);
       return;
     }
 
   /* 2. Parameter: offset */
   if (remote_fileio_extract_long (&buf, &lnum))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   offset = (off_t) lnum;
   /* 3. Parameter: flag */
   if (remote_fileio_extract_int (&buf, &num))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   if (remote_fileio_seek_flag_to_host (num, &flag))
     {
-      remote_fileio_reply (-1, FILEIO_EINVAL);
+      remote_fileio_reply (remote, -1, FILEIO_EINVAL);
       return;
     }
   
   ret = lseek (fd, offset, flag);
 
   if (ret == (off_t) -1)
-    remote_fileio_return_errno (-1);
+    remote_fileio_return_errno (remote, -1);
   else
-    remote_fileio_return_success (ret);
+    remote_fileio_return_success (remote, ret);
 }
 
 static void
-remote_fileio_func_rename (char *buf)
+remote_fileio_func_rename (remote_target *remote, char *buf)
 {
   CORE_ADDR old_ptr, new_ptr;
   int old_len, new_len;
@@ -725,14 +725,14 @@ remote_fileio_func_rename (char *buf)
   /* 1. Parameter: Ptr to oldpath / length incl. trailing zero */
   if (remote_fileio_extract_ptr_w_len (&buf, &old_ptr, &old_len))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   
   /* 2. Parameter: Ptr to newpath / length incl. trailing zero */
   if (remote_fileio_extract_ptr_w_len (&buf, &new_ptr, &new_len))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   
@@ -740,7 +740,7 @@ remote_fileio_func_rename (char *buf)
   oldpath = (char *) alloca (old_len);
   if (target_read_memory (old_ptr, (gdb_byte *) oldpath, old_len) != 0)
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   
@@ -748,7 +748,7 @@ remote_fileio_func_rename (char *buf)
   newpath = (char *) alloca (new_len);
   if (target_read_memory (new_ptr, (gdb_byte *) newpath, new_len) != 0)
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   
@@ -758,7 +758,7 @@ remote_fileio_func_rename (char *buf)
   if ((!of && !S_ISREG (ost.st_mode) && !S_ISDIR (ost.st_mode))
       || (!nf && !S_ISREG (nst.st_mode) && !S_ISDIR (nst.st_mode)))
     {
-      remote_fileio_reply (-1, FILEIO_EACCES);
+      remote_fileio_reply (remote, -1, FILEIO_EACCES);
       return;
     }
 
@@ -800,14 +800,14 @@ remote_fileio_func_rename (char *buf)
 	}
 #endif
 
-      remote_fileio_return_errno (-1);
+      remote_fileio_return_errno (remote, -1);
     }
   else
-    remote_fileio_return_success (ret);
+    remote_fileio_return_success (remote, ret);
 }
 
 static void
-remote_fileio_func_unlink (char *buf)
+remote_fileio_func_unlink (remote_target *remote, char *buf)
 {
   CORE_ADDR ptrval;
   int length;
@@ -818,14 +818,14 @@ remote_fileio_func_unlink (char *buf)
   /* Parameter: Ptr to pathname / length incl. trailing zero */
   if (remote_fileio_extract_ptr_w_len (&buf, &ptrval, &length))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   /* Request pathname using 'm' packet */
   pathname = (char *) alloca (length);
   if (target_read_memory (ptrval, (gdb_byte *) pathname, length) != 0)
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
 
@@ -833,20 +833,20 @@ remote_fileio_func_unlink (char *buf)
      the correct return code).  */
   if (!stat (pathname, &st) && !S_ISREG (st.st_mode) && !S_ISDIR (st.st_mode))
     {
-      remote_fileio_reply (-1, FILEIO_ENODEV);
+      remote_fileio_reply (remote, -1, FILEIO_ENODEV);
       return;
     }
 
   ret = unlink (pathname);
 
   if (ret == -1)
-    remote_fileio_return_errno (-1);
+    remote_fileio_return_errno (remote, -1);
   else
-    remote_fileio_return_success (ret);
+    remote_fileio_return_success (remote, ret);
 }
 
 static void
-remote_fileio_func_stat (char *buf)
+remote_fileio_func_stat (remote_target *remote, char *buf)
 {
   CORE_ADDR statptr, nameptr;
   int ret, namelength;
@@ -858,14 +858,14 @@ remote_fileio_func_stat (char *buf)
   /* 1. Parameter: Ptr to pathname / length incl. trailing zero */
   if (remote_fileio_extract_ptr_w_len (&buf, &nameptr, &namelength))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
 
   /* 2. Parameter: Ptr to struct stat */
   if (remote_fileio_extract_long (&buf, &lnum))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   statptr = (CORE_ADDR) lnum;
@@ -874,7 +874,7 @@ remote_fileio_func_stat (char *buf)
   pathname = (char *) alloca (namelength);
   if (target_read_memory (nameptr, (gdb_byte *) pathname, namelength) != 0)
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
 
@@ -882,13 +882,13 @@ remote_fileio_func_stat (char *buf)
 
   if (ret == -1)
     {
-      remote_fileio_return_errno (-1);
+      remote_fileio_return_errno (remote, -1);
       return;
     }
   /* Only operate on regular files and directories.  */
   if (!ret && !S_ISREG (st.st_mode) && !S_ISDIR (st.st_mode))
     {
-      remote_fileio_reply (-1, FILEIO_EACCES);
+      remote_fileio_reply (remote, -1, FILEIO_EACCES);
       return;
     }
   if (statptr)
@@ -899,15 +899,15 @@ remote_fileio_func_stat (char *buf)
       errno = target_write_memory (statptr, (gdb_byte *) &fst, sizeof fst);
       if (errno != 0)
 	{
-	  remote_fileio_return_errno (-1);
+	  remote_fileio_return_errno (remote, -1);
 	  return;
 	}
     }
-  remote_fileio_return_success (ret);
+  remote_fileio_return_success (remote, ret);
 }
 
 static void
-remote_fileio_func_fstat (char *buf)
+remote_fileio_func_fstat (remote_target *remote, char *buf)
 {
   CORE_ADDR ptrval;
   int fd, ret;
@@ -920,19 +920,19 @@ remote_fileio_func_fstat (char *buf)
   /* 1. Parameter: file descriptor */
   if (remote_fileio_extract_int (&buf, &target_fd))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   fd = remote_fileio_map_fd ((int) target_fd);
   if (fd == FIO_FD_INVALID)
     {
-      remote_fileio_badfd ();
+      remote_fileio_badfd (remote);
       return;
     }
   /* 2. Parameter: Ptr to struct stat */
   if (remote_fileio_extract_long (&buf, &lnum))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   ptrval = (CORE_ADDR) lnum;
@@ -966,7 +966,7 @@ remote_fileio_func_fstat (char *buf)
 
   if (ret == -1)
     {
-      remote_fileio_return_errno (-1);
+      remote_fileio_return_errno (remote, -1);
       return;
     }
   if (ptrval)
@@ -976,15 +976,15 @@ remote_fileio_func_fstat (char *buf)
       errno = target_write_memory (ptrval, (gdb_byte *) &fst, sizeof fst);
       if (errno != 0)
 	{
-	  remote_fileio_return_errno (-1);
+	  remote_fileio_return_errno (remote, -1);
 	  return;
 	}
     }
-  remote_fileio_return_success (ret);
+  remote_fileio_return_success (remote, ret);
 }
 
 static void
-remote_fileio_func_gettimeofday (char *buf)
+remote_fileio_func_gettimeofday (remote_target *remote, char *buf)
 {
   LONGEST lnum;
   CORE_ADDR ptrval;
@@ -995,20 +995,20 @@ remote_fileio_func_gettimeofday (char *b
   /* 1. Parameter: struct timeval pointer */
   if (remote_fileio_extract_long (&buf, &lnum))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   ptrval = (CORE_ADDR) lnum;
   /* 2. Parameter: some pointer value...  */
   if (remote_fileio_extract_long (&buf, &lnum))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   /* ...which has to be NULL.  */
   if (lnum)
     {
-      remote_fileio_reply (-1, FILEIO_EINVAL);
+      remote_fileio_reply (remote, -1, FILEIO_EINVAL);
       return;
     }
 
@@ -1016,7 +1016,7 @@ remote_fileio_func_gettimeofday (char *b
 
   if (ret == -1)
     {
-      remote_fileio_return_errno (-1);
+      remote_fileio_return_errno (remote, -1);
       return;
     }
 
@@ -1027,15 +1027,15 @@ remote_fileio_func_gettimeofday (char *b
       errno = target_write_memory (ptrval, (gdb_byte *) &ftv, sizeof ftv);
       if (errno != 0)
 	{
-	  remote_fileio_return_errno (-1);
+	  remote_fileio_return_errno (remote, -1);
 	  return;
 	}
     }
-  remote_fileio_return_success (ret);
+  remote_fileio_return_success (remote, ret);
 }
 
 static void
-remote_fileio_func_isatty (char *buf)
+remote_fileio_func_isatty (remote_target *remote, char *buf)
 {
   long target_fd;
   int fd;
@@ -1043,16 +1043,16 @@ remote_fileio_func_isatty (char *buf)
   /* Parameter: file descriptor */
   if (remote_fileio_extract_int (&buf, &target_fd))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
   fd = remote_fileio_map_fd ((int) target_fd);
-  remote_fileio_return_success (fd == FIO_FD_CONSOLE_IN ||
-  				fd == FIO_FD_CONSOLE_OUT ? 1 : 0);
+  int ret = fd == FIO_FD_CONSOLE_IN || fd == FIO_FD_CONSOLE_OUT ? 1 : 0;
+  remote_fileio_return_success (remote, ret);
 }
 
 static void
-remote_fileio_func_system (char *buf)
+remote_fileio_func_system (remote_target *remote, char *buf)
 {
   CORE_ADDR ptrval;
   int ret, length;
@@ -1061,7 +1061,7 @@ remote_fileio_func_system (char *buf)
   /* Parameter: Ptr to commandline / length incl. trailing zero */
   if (remote_fileio_extract_ptr_w_len (&buf, &ptrval, &length))
     {
-      remote_fileio_ioerror ();
+      remote_fileio_ioerror (remote);
       return;
     }
 
@@ -1071,7 +1071,7 @@ remote_fileio_func_system (char *buf)
       cmdline = (char *) alloca (length);
       if (target_read_memory (ptrval, (gdb_byte *) cmdline, length) != 0)
 	{
-	  remote_fileio_ioerror ();
+	  remote_fileio_ioerror (remote);
 	  return;
 	}
     }
@@ -1083,25 +1083,25 @@ remote_fileio_func_system (char *buf)
   if (!remote_fio_system_call_allowed)
     {
       if (!length)
-	remote_fileio_return_success (0);
+	remote_fileio_return_success (remote, 0);
       else
-	remote_fileio_reply (-1, FILEIO_EPERM);
+	remote_fileio_reply (remote, -1, FILEIO_EPERM);
       return;
     }
 
   ret = system (cmdline);
 
   if (!length)
-    remote_fileio_return_success (ret);
+    remote_fileio_return_success (remote, ret);
   else if (ret == -1)
-    remote_fileio_return_errno (-1);
+    remote_fileio_return_errno (remote, -1);
   else
-    remote_fileio_return_success (WEXITSTATUS (ret));
+    remote_fileio_return_success (remote, WEXITSTATUS (ret));
 }
 
 static struct {
   const char *name;
-  void (*func)(char *);
+  void (*func)(remote_target *remote, char *);
 } remote_fio_func_map[] = {
   { "open", remote_fileio_func_open },
   { "close", remote_fileio_func_close },
@@ -1119,7 +1119,7 @@ static struct {
 };
 
 static void
-do_remote_fileio_request (char *buf)
+do_remote_fileio_request (remote_target *remote, char *buf)
 {
   char *c;
   int idx;
@@ -1135,9 +1135,9 @@ do_remote_fileio_request (char *buf)
     if (!strcmp (remote_fio_func_map[idx].name, buf))
       break;
   if (!remote_fio_func_map[idx].name)
-    remote_fileio_reply (-1, FILEIO_ENOSYS);
+    remote_fileio_reply (remote, -1, FILEIO_ENOSYS);
   else
-    remote_fio_func_map[idx].func (c);
+    remote_fio_func_map[idx].func (remote, c);
 }
 
 /* Close any open descriptors, and reinitialize the file mapping.  */
@@ -1167,7 +1167,7 @@ remote_fileio_reset (void)
    acknowledged the Ctrl-C sent asynchronously earlier.  */
 
 void
-remote_fileio_request (char *buf, int ctrlc_pending_p)
+remote_fileio_request (remote_target *remote, char *buf, int ctrlc_pending_p)
 {
   /* Save the previous quit handler, so we can restore it.  No need
      for a cleanup since we catch all exceptions below.  Note that the
@@ -1181,20 +1181,20 @@ remote_fileio_request (char *buf, int ct
 	 asynchronously earlier, take this opportunity to send the
 	 Ctrl-C synchronously.  */
       set_quit_flag ();
-      remote_fileio_reply (-1, FILEIO_EINTR);
+      remote_fileio_reply (remote, -1, FILEIO_EINTR);
     }
   else
     {
       TRY
 	{
-	  do_remote_fileio_request (buf);
+	  do_remote_fileio_request (remote, buf);
 	}
       CATCH (ex, RETURN_MASK_ALL)
 	{
 	  if (ex.reason == RETURN_QUIT)
-	    remote_fileio_reply (-1, FILEIO_EINTR);
+	    remote_fileio_reply (remote, -1, FILEIO_EINTR);
 	  else
-	    remote_fileio_reply (-1, FILEIO_EIO);
+	    remote_fileio_reply (remote, -1, FILEIO_EIO);
 	}
       END_CATCH
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote-fileio.h ./gdb/remote-fileio.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote-fileio.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/remote-fileio.h	2018-07-10 02:06:13.000000000 +0000
@@ -28,7 +28,8 @@ struct cmd_list_element;
 
 /* Unified interface to remote fileio, called in remote.c from
    remote_wait () and remote_async_wait ().  */
-extern void remote_fileio_request (char *buf, int ctrlc_pending_p);
+extern void remote_fileio_request (remote_target *remote,
+				   char *buf, int ctrlc_pending_p);
 
 /* Cleanup any remote fileio state.  */
 extern void remote_fileio_reset (void);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote.h ./gdb/remote.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/remote.h	2018-07-10 02:06:13.000000000 +0000
@@ -22,6 +22,7 @@
 #include "remote-notif.h"
 
 struct target_desc;
+struct remote_target;
 
 /* Read a packet from the remote machine, with error checking, and
    store it in *BUF.  Resize *BUF using xrealloc if necessary to hold
@@ -29,7 +30,8 @@ struct target_desc;
    rather than timing out; this is used (in synchronous mode) to wait
    for a target that is is executing user code to stop.  */
 
-extern void getpkt (char **buf, long *sizeof_buf, int forever);
+extern void getpkt (remote_target *remote,
+		    char **buf, long *sizeof_buf, int forever);
 
 /* Send a packet to the remote machine, with error checking.  The data
    of the packet is in BUF.  The string in BUF can be at most PBUFSIZ
@@ -37,7 +39,7 @@ extern void getpkt (char **buf, long *si
    we are debugging (remote_debug) and want to print the sent packet
    as a string.  */
 
-extern int putpkt (const char *buf);
+extern int putpkt (remote_target *remote, const char *buf);
 
 void register_remote_g_packet_guess (struct gdbarch *gdbarch, int bytes,
 				     const struct target_desc *tdesc);
@@ -53,5 +55,6 @@ extern int remote_register_number_and_of
 					      int regnum, int *pnum,
 					      int *poffset);
 
-extern void remote_notif_get_pending_events (struct notif_client *np);
+extern void remote_notif_get_pending_events (remote_target *remote,
+					     struct notif_client *np);
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote-notif.c ./gdb/remote-notif.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote-notif.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/remote-notif.c	2018-07-10 02:06:13.000000000 +0000
@@ -34,7 +34,7 @@
 #include "defs.h"
 #include "remote.h"
 #include "remote-notif.h"
-#include "observer.h"
+#include "observable.h"
 #include "event-loop.h"
 #include "target.h"
 #include "inferior.h"
@@ -58,7 +58,8 @@ static void do_notif_event_xfree (void *
    acknowledge.  */
 
 void
-remote_notif_ack (struct notif_client *nc, char *buf)
+remote_notif_ack (remote_target *remote,
+		  struct notif_client *nc, char *buf)
 {
   struct notif_event *event = nc->alloc_event ();
   struct cleanup *old_chain
@@ -68,8 +69,8 @@ remote_notif_ack (struct notif_client *n
     fprintf_unfiltered (gdb_stdlog, "notif: ack '%s'\n",
 			nc->ack_command);
 
-  nc->parse (nc, buf, event);
-  nc->ack (nc, buf, event);
+  nc->parse (remote, nc, buf, event);
+  nc->ack (remote, nc, buf, event);
 
   discard_cleanups (old_chain);
 }
@@ -77,7 +78,8 @@ remote_notif_ack (struct notif_client *n
 /* Parse the BUF for the expected notification NC.  */
 
 struct notif_event *
-remote_notif_parse (struct notif_client *nc, char *buf)
+remote_notif_parse (remote_target *remote,
+		    struct notif_client *nc, char *buf)
 {
   struct notif_event *event = nc->alloc_event ();
   struct cleanup *old_chain
@@ -86,7 +88,7 @@ remote_notif_parse (struct notif_client 
   if (notif_debug)
     fprintf_unfiltered (gdb_stdlog, "notif: parse '%s'\n", nc->name);
 
-  nc->parse (nc, buf, event);
+  nc->parse (remote, nc, buf, event);
 
   discard_cleanups (old_chain);
   return event;
@@ -108,8 +110,8 @@ remote_notif_process (struct remote_noti
 
       gdb_assert (nc != except);
 
-      if (nc->can_get_pending_events (nc))
-	remote_notif_get_pending_events (nc);
+      if (nc->can_get_pending_events (state->remote, nc))
+	remote_notif_get_pending_events (state->remote, nc);
     }
 }
 
@@ -157,7 +159,7 @@ handle_notification (struct remote_notif
   else
     {
       struct notif_event *event
-	= remote_notif_parse (nc, buf + strlen (nc->name) + 1);
+	= remote_notif_parse (state->remote, nc, buf + strlen (nc->name) + 1);
 
       /* Be careful to only set it after parsing, since an error
 	 may be thrown then.  */
@@ -236,10 +238,12 @@ do_notif_event_xfree (void *arg)
 /* Return an allocated remote_notif_state.  */
 
 struct remote_notif_state *
-remote_notif_state_allocate (void)
+remote_notif_state_allocate (remote_target *remote)
 {
   struct remote_notif_state *notif_state = XCNEW (struct remote_notif_state);
 
+  notif_state->remote = remote;
+
   notif_state->notif_queue = QUEUE_alloc (notif_client_p, NULL);
 
   /* Register async_event_handler for notification.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote-notif.h ./gdb/remote-notif.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote-notif.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/remote-notif.h	2018-07-10 02:06:13.000000000 +0000
@@ -39,6 +39,8 @@ enum REMOTE_NOTIF_ID
   REMOTE_NOTIF_LAST,
 };
 
+struct remote_target;
+
 /* A client to a sort of async remote notification.  */
 
 typedef struct notif_client
@@ -52,17 +54,20 @@ typedef struct notif_client
   /* Parse BUF to get the expected event and update EVENT.  This
      function may throw exception if contents in BUF is not the
      expected event.  */
-  void (*parse) (struct notif_client *self, char *buf,
+  void (*parse) (remote_target *remote,
+		 struct notif_client *self, char *buf,
 		 struct notif_event *event);
 
   /* Send field <ack_command> to remote, and do some checking.  If
      something wrong, throw an exception.  */
-  void (*ack) (struct notif_client *self, char *buf,
+  void (*ack) (remote_target *remote,
+	       struct notif_client *self, char *buf,
 	       struct notif_event *event);
 
   /* Check this notification client can get pending events in
      'remote_notif_process'.  */
-  int (*can_get_pending_events) (struct notif_client *self);
+  int (*can_get_pending_events) (remote_target *remote,
+				 struct notif_client *self);
 
   /* Allocate an event.  */
   struct notif_event *(*alloc_event) (void);
@@ -77,6 +82,9 @@ DECLARE_QUEUE_P (notif_client_p);
 
 struct remote_notif_state
 {
+  /* The remote target.  */
+  remote_target *remote;
+
   /* Notification queue.  */
 
   QUEUE(notif_client_p) *notif_queue;
@@ -98,8 +106,9 @@ struct remote_notif_state
   struct notif_event *pending_event[REMOTE_NOTIF_LAST];
 };
 
-void remote_notif_ack (struct notif_client *nc, char *buf);
-struct notif_event *remote_notif_parse (struct notif_client *nc,
+void remote_notif_ack (remote_target *remote, notif_client *nc, char *buf);
+struct notif_event *remote_notif_parse (remote_target *remote,
+					notif_client *nc,
 					char *buf);
 
 void notif_event_xfree (struct notif_event *event);
@@ -109,7 +118,7 @@ void handle_notification (struct remote_
 
 void remote_notif_process (struct remote_notif_state *state,
 			   struct notif_client *except);
-struct remote_notif_state *remote_notif_state_allocate (void);
+remote_notif_state *remote_notif_state_allocate (remote_target *remote);
 void remote_notif_state_xfree (struct remote_notif_state *state);
 
 extern struct notif_client notif_client_stop;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote-sim.c ./gdb/remote-sim.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/remote-sim.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/remote-sim.c	2018-07-10 02:06:13.000000000 +0000
@@ -68,36 +68,78 @@ static void gdb_os_evprintf_filtered (ho
 static void gdb_os_error (host_callback *, const char *, ...)
      ATTRIBUTE_NORETURN;
 
-static void gdbsim_kill (struct target_ops *);
+void simulator_command (char *args, int from_tty);
 
-static void gdbsim_load (struct target_ops *self, const char *prog,
-			 int fromtty);
+/* Naming convention:
 
-static void gdbsim_open (const char *args, int from_tty);
+   sim_* are the interface to the simulator (see remote-sim.h).
+   gdbsim_* are stuff which is internal to gdb.  */
 
-static void gdbsim_close (struct target_ops *self);
+static const target_info gdbsim_target_info = {
+  "sim",
+  N_("simulator"),
+  N_("Use the compiled-in simulator.")
+};
 
-static void gdbsim_detach (struct target_ops *ops, const char *args,
-			   int from_tty);
+struct gdbsim_target final
+  : public memory_breakpoint_target<target_ops>
+{
+  gdbsim_target ()
+  { to_stratum = process_stratum; }
 
-static void gdbsim_prepare_to_store (struct target_ops *self,
-				     struct regcache *regcache);
+  const target_info &info () const override
+  { return gdbsim_target_info; }
 
-static void gdbsim_files_info (struct target_ops *target);
+  void close () override;
 
-static void gdbsim_mourn_inferior (struct target_ops *target);
+  void detach (inferior *inf, int) override;
 
-static void gdbsim_interrupt (struct target_ops *self, ptid_t ptid);
+  void resume (ptid_t, int, enum gdb_signal) override;
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
 
-void simulator_command (char *args, int from_tty);
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+  void prepare_to_store (struct regcache *) override;
 
-/* Naming convention:
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
 
-   sim_* are the interface to the simulator (see remote-sim.h).
-   gdbsim_* are stuff which is internal to gdb.  */
+  void files_info () override;
+
+  void kill () override;
+
+  void load (const char *, int) override;
+
+  bool can_create_inferior () override { return true; }
+  void create_inferior (const char *, const std::string &,
+			char **, int) override;
+
+  void mourn_inferior () override;
+
+  void interrupt () override;
+
+  bool thread_alive (ptid_t ptid) override;
+
+  const char *pid_to_str (ptid_t) override;
+
+  bool has_all_memory ()  override;
+  bool has_memory ()  override;
 
-/* Forward data declarations */
-extern struct target_ops gdbsim_ops;
+  bool has_stack ()  override
+  { return default_child_has_stack (); }
+
+  bool has_registers ()  override
+  { return default_child_has_registers (); }
+
+  bool has_execution (ptid_t ptid) override
+  { return default_child_has_execution (ptid); }
+};
+
+static struct gdbsim_target gdbsim_ops;
 
 static const struct inferior_data *sim_inferior_data_key;
 
@@ -211,7 +253,7 @@ get_sim_inferior_data (struct inferior *
       set_inferior_data (inf, sim_inferior_data_key, sim_data);
 
       /* Allocate a ptid for this inferior.  */
-      sim_data->remote_sim_ptid = ptid_build (next_pid, 0, next_pid);
+      sim_data->remote_sim_ptid = ptid_t (next_pid, 0, next_pid);
       next_pid++;
 
       /* Initialize the other instance variables.  */
@@ -239,7 +281,7 @@ static struct sim_inferior_data *
 get_sim_inferior_data_by_ptid (ptid_t ptid, int sim_instance_needed)
 {
   struct inferior *inf;
-  int pid = ptid_get_pid (ptid);
+  int pid = ptid.pid ();
 
   if (pid <= 0)
     return NULL;
@@ -377,8 +419,8 @@ gdb_os_flush_stderr (host_callback *p)
 
 /* GDB version of printf_filtered callback.  */
 
-static void
-gdb_os_printf_filtered (host_callback * p, const char *format,...)
+static void ATTRIBUTE_PRINTF (2, 3)
+gdb_os_printf_filtered (host_callback * p, const char *format, ...)
 {
   va_list args;
 
@@ -389,7 +431,7 @@ gdb_os_printf_filtered (host_callback * 
 
 /* GDB version of error vprintf_filtered.  */
 
-static void
+static void ATTRIBUTE_PRINTF (2, 0)
 gdb_os_vprintf_filtered (host_callback * p, const char *format, va_list ap)
 {
   vfprintf_filtered (gdb_stdout, format, ap);
@@ -397,7 +439,7 @@ gdb_os_vprintf_filtered (host_callback *
 
 /* GDB version of error evprintf_filtered.  */
 
-static void
+static void ATTRIBUTE_PRINTF (2, 0)
 gdb_os_evprintf_filtered (host_callback * p, const char *format, va_list ap)
 {
   vfprintf_filtered (gdb_stderr, format, ap);
@@ -405,7 +447,7 @@ gdb_os_evprintf_filtered (host_callback 
 
 /* GDB version of error callback.  */
 
-static void
+static void ATTRIBUTE_PRINTF (2, 3)
 gdb_os_error (host_callback * p, const char *format, ...)
 {
   va_list args;
@@ -423,19 +465,18 @@ one2one_register_sim_regno (struct gdbar
   return regnum;
 }
 
-static void
-gdbsim_fetch_register (struct target_ops *ops,
-		       struct regcache *regcache, int regno)
+void
+gdbsim_target::fetch_registers (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
-  struct inferior *inf = find_inferior_ptid (regcache_get_ptid (regcache));
+  struct inferior *inf = find_inferior_ptid (regcache->ptid ());
   struct sim_inferior_data *sim_data
     = get_sim_inferior_data (inf, SIM_INSTANCE_NEEDED);
 
   if (regno == -1)
     {
       for (regno = 0; regno < gdbarch_num_regs (gdbarch); regno++)
-	gdbsim_fetch_register (ops, regcache, regno);
+	fetch_registers (regcache, regno);
       return;
     }
 
@@ -493,19 +534,18 @@ gdbsim_fetch_register (struct target_ops
 }
 
 
-static void
-gdbsim_store_register (struct target_ops *ops,
-		       struct regcache *regcache, int regno)
+void
+gdbsim_target::store_registers (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
-  struct inferior *inf = find_inferior_ptid (regcache_get_ptid (regcache));
+  struct inferior *inf = find_inferior_ptid (regcache->ptid ());
   struct sim_inferior_data *sim_data
     = get_sim_inferior_data (inf, SIM_INSTANCE_NEEDED);
 
   if (regno == -1)
     {
       for (regno = 0; regno < gdbarch_num_regs (gdbarch); regno++)
-	gdbsim_store_register (ops, regcache, regno);
+	store_registers (regcache, regno);
       return;
     }
   else if (gdbarch_register_sim_regno (gdbarch, regno) >= 0)
@@ -542,8 +582,8 @@ gdbsim_store_register (struct target_ops
 /* Kill the running program.  This may involve closing any open files
    and releasing other resources acquired by the simulated program.  */
 
-static void
-gdbsim_kill (struct target_ops *ops)
+void
+gdbsim_target::kill ()
 {
   if (remote_debug)
     fprintf_unfiltered (gdb_stdlog, "gdbsim_kill\n");
@@ -557,8 +597,8 @@ gdbsim_kill (struct target_ops *ops)
    not only bring new code into the target process, but also to update
    GDB's symbol tables to match.  */
 
-static void
-gdbsim_load (struct target_ops *self, const char *args, int fromtty)
+void
+gdbsim_target::load (const char *args, int fromtty)
 {
   const char *prog;
   struct sim_inferior_data *sim_data
@@ -598,9 +638,10 @@ gdbsim_load (struct target_ops *self, co
 /* This is called not only when we first attach, but also when the
    user types "run" after having attached.  */
 
-static void
-gdbsim_create_inferior (struct target_ops *target, const char *exec_file,
-			const std::string &allargs, char **env, int from_tty)
+void
+gdbsim_target::create_inferior (const char *exec_file,
+				const std::string &allargs,
+				char **env, int from_tty)
 {
   struct sim_inferior_data *sim_data
     = get_sim_inferior_data (current_inferior (), SIM_INSTANCE_NEEDED);
@@ -619,8 +660,8 @@ gdbsim_create_inferior (struct target_op
 			(exec_file ? exec_file : "(NULL)"),
 			args);
 
-  if (ptid_equal (inferior_ptid, sim_data->remote_sim_ptid))
-    gdbsim_kill (target);
+  if (inferior_ptid == sim_data->remote_sim_ptid)
+    kill ();
   remove_breakpoints ();
   init_wait_for_inferior ();
 
@@ -645,7 +686,7 @@ gdbsim_create_inferior (struct target_op
     error (_("Unable to create sim inferior."));
 
   inferior_ptid = sim_data->remote_sim_ptid;
-  inferior_appeared (current_inferior (), ptid_get_pid (inferior_ptid));
+  inferior_appeared (current_inferior (), inferior_ptid.pid ());
   add_thread_silent (inferior_ptid);
 
   insert_breakpoints ();	/* Needed to get correct instruction
@@ -660,7 +701,7 @@ gdbsim_create_inferior (struct target_op
 /* Called when selecting the simulator.  E.g. (gdb) target sim name.  */
 
 static void
-gdbsim_open (const char *args, int from_tty)
+gdbsim_target_open (const char *args, int from_tty)
 {
   int len;
   char *arg_buf;
@@ -790,8 +831,8 @@ gdbsim_close_inferior (struct inferior *
 
 /* Close out all files and local state before this target loses control.  */
 
-static void
-gdbsim_close (struct target_ops *self)
+void
+gdbsim_target::close ()
 {
   struct sim_inferior_data *sim_data
     = get_sim_inferior_data (current_inferior (), SIM_INSTANCE_NOT_NEEDED);
@@ -815,19 +856,18 @@ gdbsim_close (struct target_ops *self)
 /* Takes a program previously attached to and detaches it.
    The program may resume execution (some targets do, some don't) and will
    no longer stop on signals, etc.  We better not have left any breakpoints
-   in the program or it'll die when it hits one.  ARGS is arguments
-   typed by the user (e.g. a signal to send the process).  FROM_TTY
-   says whether to be verbose or not.  */
+   in the program or it'll die when it hits one.  FROM_TTY says whether to be
+   verbose or not.  */
 /* Terminate the open connection to the remote debugger.
    Use this when you want to detach and do something else with your gdb.  */
 
-static void
-gdbsim_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+gdbsim_target::detach (inferior *inf, int from_tty)
 {
   if (remote_debug)
-    fprintf_unfiltered (gdb_stdlog, "gdbsim_detach: args \"%s\"\n", args);
+    fprintf_unfiltered (gdb_stdlog, "gdbsim_detach\n");
 
-  unpush_target (ops);		/* calls gdbsim_close to do the real work */
+  unpush_target (this);		/* calls gdbsim_close to do the real work */
   if (from_tty)
     printf_filtered ("Ending simulator %s debugging\n", target_shortname);
 }
@@ -866,9 +906,8 @@ gdbsim_resume_inferior (struct inferior 
   return 0;
 }
 
-static void
-gdbsim_resume (struct target_ops *ops,
-	       ptid_t ptid, int step, enum gdb_signal siggnal)
+void
+gdbsim_target::resume (ptid_t ptid, int step, enum gdb_signal siggnal)
 {
   struct resume_data rd;
   struct sim_inferior_data *sim_data
@@ -886,7 +925,7 @@ gdbsim_resume (struct target_ops *ops,
 
   if (sim_data)
     gdbsim_resume_inferior (find_inferior_ptid (ptid), &rd);
-  else if (ptid_equal (ptid, minus_one_ptid))
+  else if (ptid == minus_one_ptid)
     iterate_over_inferiors (gdbsim_resume_inferior, &rd);
   else
     error (_("The program is not being run."));
@@ -921,25 +960,10 @@ gdbsim_interrupt_inferior (struct inferi
   return 0;
 }
 
-static void
-gdbsim_interrupt (struct target_ops *self, ptid_t ptid)
+void
+gdbsim_target::interrupt ()
 {
-  struct sim_inferior_data *sim_data;
-
-  if (ptid_equal (ptid, minus_one_ptid))
-    {
-      iterate_over_inferiors (gdbsim_interrupt_inferior, NULL);
-    }
-  else
-    {
-      struct inferior *inf = find_inferior_ptid (ptid);
-
-      if (inf == NULL)
-	error (_("Can't stop pid %d.  No inferior found."),
-	       ptid_get_pid (ptid));
-
-      gdbsim_interrupt_inferior (inf, NULL);
-    }
+  iterate_over_inferiors (gdbsim_interrupt_inferior, NULL);
 }
 
 /* GDB version of os_poll_quit callback.
@@ -963,12 +987,11 @@ gdb_os_poll_quit (host_callback *p)
 static void
 gdbsim_cntrl_c (int signo)
 {
-  gdbsim_interrupt (NULL, minus_one_ptid);
+  gdbsim_ops.interrupt ();
 }
 
-static ptid_t
-gdbsim_wait (struct target_ops *ops,
-	     ptid_t ptid, struct target_waitstatus *status, int options)
+ptid_t
+gdbsim_target::wait (ptid_t ptid, struct target_waitstatus *status, int options)
 {
   struct sim_inferior_data *sim_data;
   static sighandler_t prev_sigint;
@@ -978,7 +1001,7 @@ gdbsim_wait (struct target_ops *ops,
   /* This target isn't able to (yet) resume more than one inferior at a time.
      When ptid is minus_one_ptid, just use the current inferior.  If we're
      given an explicit pid, we'll try to find it and use that instead.  */
-  if (ptid_equal (ptid, minus_one_ptid))
+  if (ptid == minus_one_ptid)
     sim_data = get_sim_inferior_data (current_inferior (),
 				      SIM_INSTANCE_NEEDED);
   else
@@ -986,7 +1009,7 @@ gdbsim_wait (struct target_ops *ops,
       sim_data = get_sim_inferior_data_by_ptid (ptid, SIM_INSTANCE_NEEDED);
       if (sim_data == NULL)
 	error (_("Unable to wait for pid %d.  Inferior not found."),
-	       ptid_get_pid (ptid));
+	       ptid.pid ());
       inferior_ptid = ptid;
     }
 
@@ -1052,8 +1075,8 @@ gdbsim_wait (struct target_ops *ops,
    that registers contains all the registers from the program being
    debugged.  */
 
-static void
-gdbsim_prepare_to_store (struct target_ops *self, struct regcache *regcache)
+void
+gdbsim_target::prepare_to_store (struct regcache *regcache)
 {
   /* Do nothing, since we can store individual regs.  */
 }
@@ -1073,7 +1096,7 @@ gdbsim_xfer_memory (struct target_ops *t
   /* If this target doesn't have memory yet, return 0 causing the
      request to be passed to a lower target, hopefully an exec
      file.  */
-  if (!target->to_has_memory (target))
+  if (!target->has_memory ())
     return TARGET_XFER_EOF;
 
   if (!sim_data->program_loaded)
@@ -1121,16 +1144,16 @@ gdbsim_xfer_memory (struct target_ops *t
 
 /* Target to_xfer_partial implementation.  */
 
-static enum target_xfer_status
-gdbsim_xfer_partial (struct target_ops *ops, enum target_object object,
-		     const char *annex, gdb_byte *readbuf,
-		     const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-		     ULONGEST *xfered_len)
+enum target_xfer_status
+gdbsim_target::xfer_partial (enum target_object object,
+			     const char *annex, gdb_byte *readbuf,
+			     const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
+			     ULONGEST *xfered_len)
 {
   switch (object)
     {
     case TARGET_OBJECT_MEMORY:
-      return gdbsim_xfer_memory (ops, readbuf, writebuf, offset, len,
+      return gdbsim_xfer_memory (this, readbuf, writebuf, offset, len,
 				 xfered_len);
 
     default:
@@ -1138,8 +1161,8 @@ gdbsim_xfer_partial (struct target_ops *
     }
 }
 
-static void
-gdbsim_files_info (struct target_ops *target)
+void
+gdbsim_target::files_info ()
 {
   struct sim_inferior_data *sim_data
     = get_sim_inferior_data (current_inferior (), SIM_INSTANCE_NEEDED);
@@ -1161,8 +1184,8 @@ gdbsim_files_info (struct target_ops *ta
 
 /* Clear the simulator's notion of what the break points are.  */
 
-static void
-gdbsim_mourn_inferior (struct target_ops *target)
+void
+gdbsim_target::mourn_inferior ()
 {
   struct sim_inferior_data *sim_data
     = get_sim_inferior_data (current_inferior (), SIM_INSTANCE_NOT_NEEDED);
@@ -1172,7 +1195,6 @@ gdbsim_mourn_inferior (struct target_ops
 
   remove_breakpoints ();
   generic_mourn_inferior ();
-  delete_thread_silent (sim_data->remote_sim_ptid);
 }
 
 /* Pass the command argument through to the simulator verbatim.  The
@@ -1264,93 +1286,55 @@ sim_command_completer (struct cmd_list_e
 
 /* Check to see if a thread is still alive.  */
 
-static int
-gdbsim_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+gdbsim_target::thread_alive (ptid_t ptid)
 {
   struct sim_inferior_data *sim_data
     = get_sim_inferior_data_by_ptid (ptid, SIM_INSTANCE_NOT_NEEDED);
 
   if (sim_data == NULL)
-    return 0;
+    return false;
 
-  if (ptid_equal (ptid, sim_data->remote_sim_ptid))
+  if (ptid == sim_data->remote_sim_ptid)
     /* The simulators' task is always alive.  */
-    return 1;
+    return true;
 
-  return 0;
+  return false;
 }
 
 /* Convert a thread ID to a string.  Returns the string in a static
    buffer.  */
 
-static const char *
-gdbsim_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+gdbsim_target::pid_to_str (ptid_t ptid)
 {
   return normal_pid_to_str (ptid);
 }
 
 /* Simulator memory may be accessed after the program has been loaded.  */
 
-static int
-gdbsim_has_all_memory (struct target_ops *ops)
+bool
+gdbsim_target::has_all_memory ()
 {
   struct sim_inferior_data *sim_data
     = get_sim_inferior_data (current_inferior (), SIM_INSTANCE_NOT_NEEDED);
 
   if (!sim_data->program_loaded)
-    return 0;
+    return false;
 
-  return 1;
+  return true;
 }
 
-static int
-gdbsim_has_memory (struct target_ops *ops)
+bool
+gdbsim_target::has_memory ()
 {
   struct sim_inferior_data *sim_data
     = get_sim_inferior_data (current_inferior (), SIM_INSTANCE_NOT_NEEDED);
 
   if (!sim_data->program_loaded)
-    return 0;
-
-  return 1;
-}
+    return false;
 
-/* Define the target subroutine names.  */
-
-struct target_ops gdbsim_ops;
-
-static void
-init_gdbsim_ops (void)
-{
-  gdbsim_ops.to_shortname = "sim";
-  gdbsim_ops.to_longname = "simulator";
-  gdbsim_ops.to_doc = "Use the compiled-in simulator.";
-  gdbsim_ops.to_open = gdbsim_open;
-  gdbsim_ops.to_close = gdbsim_close;
-  gdbsim_ops.to_detach = gdbsim_detach;
-  gdbsim_ops.to_resume = gdbsim_resume;
-  gdbsim_ops.to_wait = gdbsim_wait;
-  gdbsim_ops.to_fetch_registers = gdbsim_fetch_register;
-  gdbsim_ops.to_store_registers = gdbsim_store_register;
-  gdbsim_ops.to_prepare_to_store = gdbsim_prepare_to_store;
-  gdbsim_ops.to_xfer_partial = gdbsim_xfer_partial;
-  gdbsim_ops.to_files_info = gdbsim_files_info;
-  gdbsim_ops.to_insert_breakpoint = memory_insert_breakpoint;
-  gdbsim_ops.to_remove_breakpoint = memory_remove_breakpoint;
-  gdbsim_ops.to_kill = gdbsim_kill;
-  gdbsim_ops.to_load = gdbsim_load;
-  gdbsim_ops.to_create_inferior = gdbsim_create_inferior;
-  gdbsim_ops.to_mourn_inferior = gdbsim_mourn_inferior;
-  gdbsim_ops.to_interrupt = gdbsim_interrupt;
-  gdbsim_ops.to_thread_alive = gdbsim_thread_alive;
-  gdbsim_ops.to_pid_to_str = gdbsim_pid_to_str;
-  gdbsim_ops.to_stratum = process_stratum;
-  gdbsim_ops.to_has_all_memory = gdbsim_has_all_memory;
-  gdbsim_ops.to_has_memory = gdbsim_has_memory;
-  gdbsim_ops.to_has_stack = default_child_has_stack;
-  gdbsim_ops.to_has_registers = default_child_has_registers;
-  gdbsim_ops.to_has_execution = default_child_has_execution;
-  gdbsim_ops.to_magic = OPS_MAGIC;
+  return true;
 }
 
 void
@@ -1358,8 +1342,7 @@ _initialize_remote_sim (void)
 {
   struct cmd_list_element *c;
 
-  init_gdbsim_ops ();
-  add_target (&gdbsim_ops);
+  add_target (gdbsim_target_info, gdbsim_target_open);
 
   c = add_com ("sim", class_obscure, simulator_command,
 	       _("Send a command to the simulator."));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/riscv-tdep.c ./gdb/riscv-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/riscv-tdep.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/riscv-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,2690 @@
+/* Target-dependent code for the RISC-V architecture, for GDB.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "frame.h"
+#include "inferior.h"
+#include "symtab.h"
+#include "value.h"
+#include "gdbcmd.h"
+#include "language.h"
+#include "gdbcore.h"
+#include "symfile.h"
+#include "objfiles.h"
+#include "gdbtypes.h"
+#include "target.h"
+#include "arch-utils.h"
+#include "regcache.h"
+#include "osabi.h"
+#include "riscv-tdep.h"
+#include "block.h"
+#include "reggroups.h"
+#include "opcode/riscv.h"
+#include "elf/riscv.h"
+#include "elf-bfd.h"
+#include "symcat.h"
+#include "dis-asm.h"
+#include "frame-unwind.h"
+#include "frame-base.h"
+#include "trad-frame.h"
+#include "infcall.h"
+#include "floatformat.h"
+#include "remote.h"
+#include "target-descriptions.h"
+#include "dwarf2-frame.h"
+#include "user-regs.h"
+#include "valprint.h"
+#include "common-defs.h"
+#include "opcode/riscv-opc.h"
+#include "cli/cli-decode.h"
+#include "observable.h"
+
+/* The stack must be 16-byte aligned.  */
+#define SP_ALIGNMENT 16
+
+/* Forward declarations.  */
+static bool riscv_has_feature (struct gdbarch *gdbarch, char feature);
+struct riscv_inferior_data;
+struct riscv_inferior_data * riscv_inferior_data (struct inferior *const inf);
+
+/* Define a series of is_XXX_insn functions to check if the value INSN
+   is an instance of instruction XXX.  */
+#define DECLARE_INSN(INSN_NAME, INSN_MATCH, INSN_MASK) \
+static inline bool is_ ## INSN_NAME ## _insn (long insn) \
+{ \
+  return (insn & INSN_MASK) == INSN_MATCH; \
+}
+#include "opcode/riscv-opc.h"
+#undef DECLARE_INSN
+
+/* Per inferior information for RiscV.  */
+
+struct riscv_inferior_data
+{
+  /* True when MISA_VALUE is valid, otherwise false.  */
+  bool misa_read;
+
+  /* If MISA_READ is true then MISA_VALUE holds the value of the MISA
+     register read from the target.  */
+  uint32_t misa_value;
+};
+
+/* Key created when the RiscV per-inferior data is registered.  */
+
+static const struct inferior_data *riscv_inferior_data_reg;
+
+/* Architectural name for core registers.  */
+
+static const char * const riscv_gdb_reg_names[RISCV_LAST_FP_REGNUM + 1] =
+{
+  "x0",  "x1",  "x2",  "x3",  "x4",  "x5",  "x6",  "x7",
+  "x8",  "x9",  "x10", "x11", "x12", "x13", "x14", "x15",
+  "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23",
+  "x24", "x25", "x26", "x27", "x28", "x29", "x30", "x31",
+  "pc",
+  "f0",  "f1",  "f2",  "f3",  "f4",  "f5",  "f6",  "f7",
+  "f8",  "f9",  "f10", "f11", "f12", "f13", "f14", "f15",
+  "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
+  "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
+};
+
+/* Maps "pretty" register names onto their GDB register number.  */
+
+struct register_alias
+{
+  /* The register alias.  Usually more descriptive than the
+     architectural name of the register.  */
+  const char *name;
+
+  /* The GDB register number.  */
+  int regnum;
+};
+
+/* Table of register aliases.  */
+
+static const struct register_alias riscv_register_aliases[] =
+{
+  { "zero", 0 },
+  { "ra", 1 },
+  { "sp", 2 },
+  { "gp", 3 },
+  { "tp", 4 },
+  { "t0", 5 },
+  { "t1", 6 },
+  { "t2", 7 },
+  { "s0", 8 },
+  { "fp", 8 },
+  { "s1", 9 },
+  { "a0", 10 },
+  { "a1", 11 },
+  { "a2", 12 },
+  { "a3", 13 },
+  { "a4", 14 },
+  { "a5", 15 },
+  { "a6", 16 },
+  { "a7", 17 },
+  { "s2", 18 },
+  { "s3", 19 },
+  { "s4", 20 },
+  { "s5", 21 },
+  { "s6", 22 },
+  { "s7", 23 },
+  { "s8", 24 },
+  { "s9", 25 },
+  { "s10", 26 },
+  { "s11", 27 },
+  { "t3", 28 },
+  { "t4", 29 },
+  { "t5", 30 },
+  { "t6", 31 },
+  /* pc is 32.  */
+  { "ft0", 33 },
+  { "ft1", 34 },
+  { "ft2", 35 },
+  { "ft3", 36 },
+  { "ft4", 37 },
+  { "ft5", 38 },
+  { "ft6", 39 },
+  { "ft7", 40 },
+  { "fs0", 41 },
+  { "fs1", 42 },
+  { "fa0", 43 },
+  { "fa1", 44 },
+  { "fa2", 45 },
+  { "fa3", 46 },
+  { "fa4", 47 },
+  { "fa5", 48 },
+  { "fa6", 49 },
+  { "fa7", 50 },
+  { "fs2", 51 },
+  { "fs3", 52 },
+  { "fs4", 53 },
+  { "fs5", 54 },
+  { "fs6", 55 },
+  { "fs7", 56 },
+  { "fs8", 57 },
+  { "fs9", 58 },
+  { "fs10", 59 },
+  { "fs11", 60 },
+  { "ft8", 61 },
+  { "ft9", 62 },
+  { "ft10", 63 },
+  { "ft11", 64 },
+#define DECLARE_CSR(name, num) { #name, (num) + 65 },
+#include "opcode/riscv-opc.h"
+#undef DECLARE_CSR
+};
+
+/* Controls whether we place compressed breakpoints or not.  When in auto
+   mode GDB tries to determine if the target supports compressed
+   breakpoints, and uses them if it does.  */
+
+static enum auto_boolean use_compressed_breakpoints;
+
+/* The show callback for 'show riscv use-compressed-breakpoints'.  */
+
+static void
+show_use_compressed_breakpoints (struct ui_file *file, int from_tty,
+				 struct cmd_list_element *c,
+				 const char *value)
+{
+  const char *additional_info;
+  struct gdbarch *gdbarch = target_gdbarch ();
+
+  if (use_compressed_breakpoints == AUTO_BOOLEAN_AUTO)
+    if (riscv_has_feature (gdbarch, 'C'))
+      additional_info = _(" (currently on)");
+    else
+      additional_info = _(" (currently off)");
+  else
+    additional_info = "";
+
+  fprintf_filtered (file,
+		    _("Debugger's use of compressed breakpoints is set "
+		      "to %s%s.\n"), value, additional_info);
+}
+
+/* The set and show lists for 'set riscv' and 'show riscv' prefixes.  */
+
+static struct cmd_list_element *setriscvcmdlist = NULL;
+static struct cmd_list_element *showriscvcmdlist = NULL;
+
+/* The show callback for the 'show riscv' prefix command.  */
+
+static void
+show_riscv_command (const char *args, int from_tty)
+{
+  help_list (showriscvcmdlist, "show riscv ", all_commands, gdb_stdout);
+}
+
+/* The set callback for the 'set riscv' prefix command.  */
+
+static void
+set_riscv_command (const char *args, int from_tty)
+{
+  printf_unfiltered
+    (_("\"set riscv\" must be followed by an appropriate subcommand.\n"));
+  help_list (setriscvcmdlist, "set riscv ", all_commands, gdb_stdout);
+}
+
+/* The set and show lists for 'set riscv' and 'show riscv' prefixes.  */
+
+static struct cmd_list_element *setdebugriscvcmdlist = NULL;
+static struct cmd_list_element *showdebugriscvcmdlist = NULL;
+
+/* The show callback for the 'show debug riscv' prefix command.  */
+
+static void
+show_debug_riscv_command (const char *args, int from_tty)
+{
+  help_list (showdebugriscvcmdlist, "show debug riscv ", all_commands, gdb_stdout);
+}
+
+/* The set callback for the 'set debug riscv' prefix command.  */
+
+static void
+set_debug_riscv_command (const char *args, int from_tty)
+{
+  printf_unfiltered
+    (_("\"set debug riscv\" must be followed by an appropriate subcommand.\n"));
+  help_list (setdebugriscvcmdlist, "set debug riscv ", all_commands, gdb_stdout);
+}
+
+/* The show callback for all 'show debug riscv VARNAME' variables.  */
+
+static void
+show_riscv_debug_variable (struct ui_file *file, int from_tty,
+			   struct cmd_list_element *c,
+			   const char *value)
+{
+  fprintf_filtered (file,
+		    _("RiscV debug variable `%s' is set to: %s\n"),
+		    c->name, value);
+}
+
+/* When this is set to non-zero debugging information about inferior calls
+   will be printed.  */
+
+static unsigned int riscv_debug_infcall = 0;
+
+/* Read the MISA register from the target.  The register will only be read
+   once, and the value read will be cached.  If the register can't be read
+   from the target then a default value (0) will be returned.  If the
+   pointer READ_P is not null, then the bool pointed to is updated  to
+   indicate if the value returned was read from the target (true) or is the
+   default (false).  */
+
+static uint32_t
+riscv_read_misa_reg (bool *read_p)
+{
+  struct riscv_inferior_data *inf_data
+    = riscv_inferior_data (current_inferior ());
+
+  if (!inf_data->misa_read && target_has_registers)
+    {
+      uint32_t value = 0;
+      struct frame_info *frame = get_current_frame ();
+
+      TRY
+	{
+	  value = get_frame_register_unsigned (frame, RISCV_CSR_MISA_REGNUM);
+	}
+      CATCH (ex, RETURN_MASK_ERROR)
+	{
+	  /* Old cores might have MISA located at a different offset.  */
+	  value = get_frame_register_unsigned (frame,
+					       RISCV_CSR_LEGACY_MISA_REGNUM);
+	}
+      END_CATCH
+
+      inf_data->misa_read = true;
+      inf_data->misa_value = value;
+    }
+
+  if (read_p != nullptr)
+    *read_p = inf_data->misa_read;
+
+  return inf_data->misa_value;
+}
+
+/* Return true if FEATURE is available for the architecture GDBARCH.  The
+   FEATURE should be one of the single character feature codes described in
+   the RiscV ISA manual, these are between 'A' and 'Z'.  */
+
+static bool
+riscv_has_feature (struct gdbarch *gdbarch, char feature)
+{
+  bool have_read_misa = false;
+  uint32_t misa;
+
+  gdb_assert (feature >= 'A' && feature <= 'Z');
+
+  /* It would be nice to always check with the real target where possible,
+     however, for compressed instructions this is a bad idea.
+
+     The call to `set_gdbarch_decr_pc_after_break' is made just once per
+     GDBARCH and we decide at that point if we should decrement by 2 or 4
+     bytes based on whether the BFD has compressed instruction support or
+     not.
+
+     If the BFD was not compiled with compressed instruction support, but we
+     are running on a target with compressed instructions then we might
+     place a 4-byte breakpoint, then decrement the $pc by 2 bytes leading to
+     confusion.
+
+     It's safer if we just make decisions about compressed instruction
+     support based on the BFD.  */
+  if (feature != 'C')
+    misa = riscv_read_misa_reg (&have_read_misa);
+  if (!have_read_misa || misa == 0)
+    misa = gdbarch_tdep (gdbarch)->core_features;
+
+  return (misa & (1 << (feature - 'A'))) != 0;
+}
+
+/* Return the width in bytes  of the general purpose registers for GDBARCH.
+   Possible return values are 4, 8, or 16 for RiscV variants RV32, RV64, or
+   RV128.  */
+
+static int
+riscv_isa_xlen (struct gdbarch *gdbarch)
+{
+  switch (gdbarch_tdep (gdbarch)->abi.fields.base_len)
+    {
+    default:
+      warning (_("unknown xlen size, assuming 4 bytes"));
+      /* Fall through.  */
+    case 1:
+      return 4;
+    case 2:
+      return 8;
+    case 3:
+      return 16;
+    }
+}
+
+/* Return the width in bytes of the floating point registers for GDBARCH.
+   If this architecture has no floating point registers, then return 0.
+   Possible values are 4, 8, or 16 for depending on which of single, double
+   or quad floating point support is available.  */
+
+static int
+riscv_isa_flen (struct gdbarch *gdbarch)
+{
+  if (riscv_has_feature (gdbarch, 'Q'))
+    return 16;
+  else if (riscv_has_feature (gdbarch, 'D'))
+    return 8;
+  else if (riscv_has_feature (gdbarch, 'F'))
+    return 4;
+
+  return 0;
+}
+
+/* Return true if the target for GDBARCH has floating point hardware.  */
+
+static bool
+riscv_has_fp_regs (struct gdbarch *gdbarch)
+{
+  return (riscv_isa_flen (gdbarch) > 0);
+}
+
+/* Return true if GDBARCH is using any of the floating point hardware ABIs.  */
+
+static bool
+riscv_has_fp_abi (struct gdbarch *gdbarch)
+{
+  return (gdbarch_tdep (gdbarch)->abi.fields.float_abi != 0);
+}
+
+/* Implement the breakpoint_kind_from_pc gdbarch method.  */
+
+static int
+riscv_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr)
+{
+  if (use_compressed_breakpoints == AUTO_BOOLEAN_AUTO)
+    {
+      if (riscv_has_feature (gdbarch, 'C'))
+	return 2;
+      else
+	return 4;
+    }
+  else if (use_compressed_breakpoints == AUTO_BOOLEAN_TRUE)
+    return 2;
+  else
+    return 4;
+}
+
+/* Implement the sw_breakpoint_from_kind gdbarch method.  */
+
+static const gdb_byte *
+riscv_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size)
+{
+  static const gdb_byte ebreak[] = { 0x73, 0x00, 0x10, 0x00, };
+  static const gdb_byte c_ebreak[] = { 0x02, 0x90 };
+
+  *size = kind;
+  switch (kind)
+    {
+    case 2:
+      return c_ebreak;
+    case 4:
+      return ebreak;
+    default:
+      gdb_assert_not_reached (_("unhandled breakpoint kind"));
+    }
+}
+
+/* Callback function for user_reg_add.  */
+
+static struct value *
+value_of_riscv_user_reg (struct frame_info *frame, const void *baton)
+{
+  const int *reg_p = (const int *) baton;
+  return value_of_register (*reg_p, frame);
+}
+
+/* Implement the register_name gdbarch method.  */
+
+static const char *
+riscv_register_name (struct gdbarch *gdbarch, int regnum)
+{
+  /* Prefer to use the alias. */
+  if (regnum >= RISCV_ZERO_REGNUM && regnum <= RISCV_LAST_REGNUM)
+    {
+      int i;
+
+      for (i = 0; i < ARRAY_SIZE (riscv_register_aliases); ++i)
+	if (regnum == riscv_register_aliases[i].regnum)
+	  return riscv_register_aliases[i].name;
+    }
+
+  if (regnum >= RISCV_ZERO_REGNUM && regnum <= RISCV_LAST_FP_REGNUM)
+    return riscv_gdb_reg_names[regnum];
+
+  if (regnum >= RISCV_FIRST_CSR_REGNUM && regnum <= RISCV_LAST_CSR_REGNUM)
+    {
+      static char buf[20];
+
+      xsnprintf (buf, sizeof (buf), "csr%d",
+		 regnum - RISCV_FIRST_CSR_REGNUM);
+      return buf;
+    }
+
+  if (regnum == RISCV_PRIV_REGNUM)
+    return "priv";
+
+  return NULL;
+}
+
+/* Implement the register_type gdbarch method.  */
+
+static struct type *
+riscv_register_type (struct gdbarch *gdbarch, int regnum)
+{
+  int regsize;
+
+  if (regnum < RISCV_FIRST_FP_REGNUM)
+    {
+      if (regnum == gdbarch_pc_regnum (gdbarch)
+	  || regnum == RISCV_RA_REGNUM)
+	return builtin_type (gdbarch)->builtin_func_ptr;
+
+      if (regnum == RISCV_FP_REGNUM
+	  || regnum == RISCV_SP_REGNUM
+	  || regnum == RISCV_GP_REGNUM
+	  || regnum == RISCV_TP_REGNUM)
+	return builtin_type (gdbarch)->builtin_data_ptr;
+
+      /* Remaining GPRs vary in size based on the current ISA.  */
+      regsize = riscv_isa_xlen (gdbarch);
+      switch (regsize)
+	{
+	case 4:
+	  return builtin_type (gdbarch)->builtin_uint32;
+	case 8:
+	  return builtin_type (gdbarch)->builtin_uint64;
+	case 16:
+	  return builtin_type (gdbarch)->builtin_uint128;
+	default:
+	  internal_error (__FILE__, __LINE__,
+			  _("unknown isa regsize %i"), regsize);
+	}
+    }
+  else if (regnum <= RISCV_LAST_FP_REGNUM)
+    {
+      regsize = riscv_isa_xlen (gdbarch);
+      switch (regsize)
+	{
+	case 4:
+	  return builtin_type (gdbarch)->builtin_float;
+	case 8:
+	  return builtin_type (gdbarch)->builtin_double;
+	case 16:
+	  return builtin_type (gdbarch)->builtin_long_double;
+	default:
+	  internal_error (__FILE__, __LINE__,
+			  _("unknown isa regsize %i"), regsize);
+	}
+    }
+  else if (regnum == RISCV_PRIV_REGNUM)
+    return builtin_type (gdbarch)->builtin_int8;
+  else
+    {
+      if (regnum == RISCV_CSR_FFLAGS_REGNUM
+	  || regnum == RISCV_CSR_FRM_REGNUM
+	  || regnum == RISCV_CSR_FCSR_REGNUM)
+	return builtin_type (gdbarch)->builtin_int32;
+
+      regsize = riscv_isa_xlen (gdbarch);
+      switch (regsize)
+	{
+	case 4:
+	  return builtin_type (gdbarch)->builtin_int32;
+	case 8:
+	  return builtin_type (gdbarch)->builtin_int64;
+	case 16:
+	  return builtin_type (gdbarch)->builtin_int128;
+	default:
+	  internal_error (__FILE__, __LINE__,
+			  _("unknown isa regsize %i"), regsize);
+	}
+    }
+}
+
+/* Helper for riscv_print_registers_info, prints info for a single register
+   REGNUM.  */
+
+static void
+riscv_print_one_register_info (struct gdbarch *gdbarch,
+			       struct ui_file *file,
+			       struct frame_info *frame,
+			       int regnum)
+{
+  const char *name = gdbarch_register_name (gdbarch, regnum);
+  struct value *val = value_of_register (regnum, frame);
+  struct type *regtype = value_type (val);
+  int print_raw_format;
+  enum tab_stops { value_column_1 = 15 };
+
+  fputs_filtered (name, file);
+  print_spaces_filtered (value_column_1 - strlen (name), file);
+
+  print_raw_format = (value_entirely_available (val)
+		      && !value_optimized_out (val));
+
+  if (TYPE_CODE (regtype) == TYPE_CODE_FLT)
+    {
+      struct value_print_options opts;
+      const gdb_byte *valaddr = value_contents_for_printing (val);
+      enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (regtype));
+
+      get_user_print_options (&opts);
+      opts.deref_ref = 1;
+
+      val_print (regtype,
+		 value_embedded_offset (val), 0,
+		 file, 0, val, &opts, current_language);
+
+      if (print_raw_format)
+	{
+	  fprintf_filtered (file, "\t(raw ");
+	  print_hex_chars (file, valaddr, TYPE_LENGTH (regtype), byte_order,
+			   true);
+	  fprintf_filtered (file, ")");
+	}
+    }
+  else
+    {
+      struct value_print_options opts;
+
+      /* Print the register in hex.  */
+      get_formatted_print_options (&opts, 'x');
+      opts.deref_ref = 1;
+      val_print (regtype,
+		 value_embedded_offset (val), 0,
+		 file, 0, val, &opts, current_language);
+
+      if (print_raw_format)
+	{
+	  if (regnum == RISCV_CSR_MSTATUS_REGNUM)
+	    {
+	      LONGEST d;
+	      int size = register_size (gdbarch, regnum);
+	      unsigned xlen;
+
+	      d = value_as_long (val);
+	      xlen = size * 4;
+	      fprintf_filtered (file,
+				"\tSD:%X VM:%02X MXR:%X PUM:%X MPRV:%X XS:%X "
+				"FS:%X MPP:%x HPP:%X SPP:%X MPIE:%X HPIE:%X "
+				"SPIE:%X UPIE:%X MIE:%X HIE:%X SIE:%X UIE:%X",
+				(int) ((d >> (xlen - 1)) & 0x1),
+				(int) ((d >> 24) & 0x1f),
+				(int) ((d >> 19) & 0x1),
+				(int) ((d >> 18) & 0x1),
+				(int) ((d >> 17) & 0x1),
+				(int) ((d >> 15) & 0x3),
+				(int) ((d >> 13) & 0x3),
+				(int) ((d >> 11) & 0x3),
+				(int) ((d >> 9) & 0x3),
+				(int) ((d >> 8) & 0x1),
+				(int) ((d >> 7) & 0x1),
+				(int) ((d >> 6) & 0x1),
+				(int) ((d >> 5) & 0x1),
+				(int) ((d >> 4) & 0x1),
+				(int) ((d >> 3) & 0x1),
+				(int) ((d >> 2) & 0x1),
+				(int) ((d >> 1) & 0x1),
+				(int) ((d >> 0) & 0x1));
+	    }
+	  else if (regnum == RISCV_CSR_MISA_REGNUM)
+	    {
+	      int base;
+	      unsigned xlen, i;
+	      LONGEST d;
+
+	      d = value_as_long (val);
+	      base = d >> 30;
+	      xlen = 16;
+
+	      for (; base > 0; base--)
+		xlen *= 2;
+	      fprintf_filtered (file, "\tRV%d", xlen);
+
+	      for (i = 0; i < 26; i++)
+		{
+		  if (d & (1 << i))
+		    fprintf_filtered (file, "%c", 'A' + i);
+		}
+	    }
+	  else if (regnum == RISCV_CSR_FCSR_REGNUM
+		   || regnum == RISCV_CSR_FFLAGS_REGNUM
+		   || regnum == RISCV_CSR_FRM_REGNUM)
+	    {
+	      LONGEST d;
+
+	      d = value_as_long (val);
+
+	      fprintf_filtered (file, "\t");
+	      if (regnum != RISCV_CSR_FRM_REGNUM)
+		fprintf_filtered (file,
+				  "RD:%01X NV:%d DZ:%d OF:%d UF:%d NX:%d",
+				  (int) ((d >> 5) & 0x7),
+				  (int) ((d >> 4) & 0x1),
+				  (int) ((d >> 3) & 0x1),
+				  (int) ((d >> 2) & 0x1),
+				  (int) ((d >> 1) & 0x1),
+				  (int) ((d >> 0) & 0x1));
+
+	      if (regnum != RISCV_CSR_FFLAGS_REGNUM)
+		{
+		  static const char * const sfrm[] =
+		    {
+		      "RNE (round to nearest; ties to even)",
+		      "RTZ (Round towards zero)",
+		      "RDN (Round down towards -INF)",
+		      "RUP (Round up towards +INF)",
+		      "RMM (Round to nearest; ties to max magnitude)",
+		      "INVALID[5]",
+		      "INVALID[6]",
+		      "dynamic rounding mode",
+		    };
+		  int frm = ((regnum == RISCV_CSR_FCSR_REGNUM)
+			     ? (d >> 5) : d) & 0x3;
+
+		  fprintf_filtered (file, "%sFRM:%i [%s]",
+				    (regnum == RISCV_CSR_FCSR_REGNUM
+				     ? " " : ""),
+				    frm, sfrm[frm]);
+		}
+	    }
+	  else if (regnum == RISCV_PRIV_REGNUM)
+	    {
+	      LONGEST d;
+	      uint8_t priv;
+
+	      d = value_as_long (val);
+	      priv = d & 0xff;
+
+	      if (priv < 4)
+		{
+		  static const char * const sprv[] =
+		    {
+		      "User/Application",
+		      "Supervisor",
+		      "Hypervisor",
+		      "Machine"
+		    };
+		  fprintf_filtered (file, "\tprv:%d [%s]",
+				    priv, sprv[priv]);
+		}
+	      else
+		fprintf_filtered (file, "\tprv:%d [INVALID]", priv);
+	    }
+	  else
+	    {
+	      /* If not a vector register, print it also according to its
+		 natural format.  */
+	      if (TYPE_VECTOR (regtype) == 0)
+		{
+		  get_user_print_options (&opts);
+		  opts.deref_ref = 1;
+		  fprintf_filtered (file, "\t");
+		  val_print (regtype,
+			     value_embedded_offset (val), 0,
+			     file, 0, val, &opts, current_language);
+		}
+	    }
+	}
+    }
+  fprintf_filtered (file, "\n");
+}
+
+/* Implement the register_reggroup_p gdbarch method.  Is REGNUM a member
+   of REGGROUP?  */
+
+static int
+riscv_register_reggroup_p (struct gdbarch  *gdbarch, int regnum,
+			   struct reggroup *reggroup)
+{
+  int float_p;
+  int raw_p;
+  unsigned int i;
+
+  /* Used by 'info registers' and 'info registers <groupname>'.  */
+
+  if (gdbarch_register_name (gdbarch, regnum) == NULL
+      || gdbarch_register_name (gdbarch, regnum)[0] == '\0')
+    return 0;
+
+  if (reggroup == all_reggroup)
+    {
+      if (regnum < RISCV_FIRST_CSR_REGNUM || regnum == RISCV_PRIV_REGNUM)
+	return 1;
+      /* Only include CSRs that have aliases.  */
+      for (i = 0; i < ARRAY_SIZE (riscv_register_aliases); ++i)
+	{
+	  if (regnum == riscv_register_aliases[i].regnum)
+	    return 1;
+	}
+      return 0;
+    }
+  else if (reggroup == float_reggroup)
+    return ((regnum >= RISCV_FIRST_FP_REGNUM && regnum <= RISCV_LAST_FP_REGNUM)
+	    || (regnum == RISCV_CSR_FCSR_REGNUM
+		|| regnum == RISCV_CSR_FFLAGS_REGNUM
+	        || regnum == RISCV_CSR_FRM_REGNUM));
+  else if (reggroup == general_reggroup)
+    return regnum < RISCV_FIRST_FP_REGNUM;
+  else if (reggroup == restore_reggroup || reggroup == save_reggroup)
+    {
+      if (riscv_has_fp_regs (gdbarch))
+	return regnum <= RISCV_LAST_FP_REGNUM;
+      else
+	return regnum < RISCV_FIRST_FP_REGNUM;
+    }
+  else if (reggroup == system_reggroup)
+    {
+      if (regnum == RISCV_PRIV_REGNUM)
+	return 1;
+      if (regnum < RISCV_FIRST_CSR_REGNUM || regnum > RISCV_LAST_CSR_REGNUM)
+	return 0;
+      /* Only include CSRs that have aliases.  */
+      for (i = 0; i < ARRAY_SIZE (riscv_register_aliases); ++i)
+	{
+	  if (regnum == riscv_register_aliases[i].regnum)
+	    return 1;
+	}
+      return 0;
+    }
+  else if (reggroup == vector_reggroup)
+    return 0;
+  else
+    return 0;
+}
+
+/* Implement the print_registers_info gdbarch method.  This is used by
+   'info registers' and 'info all-registers'.  */
+
+static void
+riscv_print_registers_info (struct gdbarch *gdbarch,
+			    struct ui_file *file,
+			    struct frame_info *frame,
+			    int regnum, int print_all)
+{
+  if (regnum != -1)
+    {
+      /* Print one specified register.  */
+      gdb_assert (regnum <= RISCV_LAST_REGNUM);
+      if (gdbarch_register_name (gdbarch, regnum) == NULL
+	  || *(gdbarch_register_name (gdbarch, regnum)) == '\0')
+        error (_("Not a valid register for the current processor type"));
+      riscv_print_one_register_info (gdbarch, file, frame, regnum);
+    }
+  else
+    {
+      struct reggroup *reggroup;
+
+      if (print_all)
+	reggroup = all_reggroup;
+      else
+	reggroup = general_reggroup;
+
+      for (regnum = 0; regnum <= RISCV_LAST_REGNUM; ++regnum)
+	{
+	  /* Zero never changes, so might as well hide by default.  */
+	  if (regnum == RISCV_ZERO_REGNUM && !print_all)
+	    continue;
+
+	  /* Registers with no name are not valid on this ISA.  */
+	  if (gdbarch_register_name (gdbarch, regnum) == NULL
+	      || *(gdbarch_register_name (gdbarch, regnum)) == '\0')
+	    continue;
+
+	  /* Is the register in the group we're interested in?  */
+	  if (!riscv_register_reggroup_p (gdbarch, regnum, reggroup))
+	    continue;
+
+	  riscv_print_one_register_info (gdbarch, file, frame, regnum);
+	}
+    }
+}
+
+/* Class that handles one decoded RiscV instruction.  */
+
+class riscv_insn
+{
+public:
+
+  /* Enum of all the opcodes that GDB cares about during the prologue scan.  */
+  enum opcode
+    {
+      /* Unknown value is used at initialisation time.  */
+      UNKNOWN = 0,
+
+      /* These instructions are all the ones we are interested in during the
+	 prologue scan.  */
+      ADD,
+      ADDI,
+      ADDIW,
+      ADDW,
+      AUIPC,
+      LUI,
+      SD,
+      SW,
+
+      /* Other instructions are not interesting during the prologue scan, and
+	 are ignored.  */
+      OTHER
+    };
+
+  riscv_insn ()
+    : m_length (0),
+      m_opcode (OTHER),
+      m_rd (0),
+      m_rs1 (0),
+      m_rs2 (0)
+  {
+    /* Nothing.  */
+  }
+
+  void decode (struct gdbarch *gdbarch, CORE_ADDR pc);
+
+  /* Get the length of the instruction in bytes.  */
+  int length () const
+  { return m_length; }
+
+  /* Get the opcode for this instruction.  */
+  enum opcode opcode () const
+  { return m_opcode; }
+
+  /* Get destination register field for this instruction.  This is only
+     valid if the OPCODE implies there is such a field for this
+     instruction.  */
+  int rd () const
+  { return m_rd; }
+
+  /* Get the RS1 register field for this instruction.  This is only valid
+     if the OPCODE implies there is such a field for this instruction.  */
+  int rs1 () const
+  { return m_rs1; }
+
+  /* Get the RS2 register field for this instruction.  This is only valid
+     if the OPCODE implies there is such a field for this instruction.  */
+  int rs2 () const
+  { return m_rs2; }
+
+  /* Get the immediate for this instruction in signed form.  This is only
+     valid if the OPCODE implies there is such a field for this
+     instruction.  */
+  int imm_signed () const
+  { return m_imm.s; }
+
+private:
+
+  /* Extract 5 bit register field at OFFSET from instruction OPCODE.  */
+  int decode_register_index (unsigned long opcode, int offset)
+  {
+    return (opcode >> offset) & 0x1F;
+  }
+
+  /* Helper for DECODE, decode 32-bit R-type instruction.  */
+  void decode_r_type_insn (enum opcode opcode, ULONGEST ival)
+  {
+    m_opcode = opcode;
+    m_rd = decode_register_index (ival, OP_SH_RD);
+    m_rs1 = decode_register_index (ival, OP_SH_RS1);
+    m_rs2 = decode_register_index (ival, OP_SH_RS2);
+  }
+
+  /* Helper for DECODE, decode 16-bit compressed R-type instruction.  */
+  void decode_cr_type_insn (enum opcode opcode, ULONGEST ival)
+  {
+    m_opcode = opcode;
+    m_rd = m_rs1 = decode_register_index (ival, OP_SH_CRS1S);
+    m_rs2 = decode_register_index (ival, OP_SH_CRS2);
+  }
+
+  /* Helper for DECODE, decode 32-bit I-type instruction.  */
+  void decode_i_type_insn (enum opcode opcode, ULONGEST ival)
+  {
+    m_opcode = opcode;
+    m_rd = decode_register_index (ival, OP_SH_RD);
+    m_rs1 = decode_register_index (ival, OP_SH_RS1);
+    m_imm.s = EXTRACT_ITYPE_IMM (ival);
+  }
+
+  /* Helper for DECODE, decode 16-bit compressed I-type instruction.  */
+  void decode_ci_type_insn (enum opcode opcode, ULONGEST ival)
+  {
+    m_opcode = opcode;
+    m_rd = m_rs1 = decode_register_index (ival, OP_SH_CRS1S);
+    m_imm.s = EXTRACT_RVC_IMM (ival);
+  }
+
+  /* Helper for DECODE, decode 32-bit S-type instruction.  */
+  void decode_s_type_insn (enum opcode opcode, ULONGEST ival)
+  {
+    m_opcode = opcode;
+    m_rs1 = decode_register_index (ival, OP_SH_RS1);
+    m_rs2 = decode_register_index (ival, OP_SH_RS2);
+    m_imm.s = EXTRACT_STYPE_IMM (ival);
+  }
+
+  /* Helper for DECODE, decode 32-bit U-type instruction.  */
+  void decode_u_type_insn (enum opcode opcode, ULONGEST ival)
+  {
+    m_opcode = opcode;
+    m_rd = decode_register_index (ival, OP_SH_RD);
+    m_imm.s = EXTRACT_UTYPE_IMM (ival);
+  }
+
+  /* Fetch instruction from target memory at ADDR, return the content of
+     the instruction, and update LEN with the instruction length.  */
+  static ULONGEST fetch_instruction (struct gdbarch *gdbarch,
+				     CORE_ADDR addr, int *len);
+
+  /* The length of the instruction in bytes.  Should be 2 or 4.  */
+  int m_length;
+
+  /* The instruction opcode.  */
+  enum opcode m_opcode;
+
+  /* The three possible registers an instruction might reference.  Not
+     every instruction fills in all of these registers.  Which fields are
+     valid depends on the opcode.  The naming of these fields matches the
+     naming in the riscv isa manual.  */
+  int m_rd;
+  int m_rs1;
+  int m_rs2;
+
+  /* Possible instruction immediate.  This is only valid if the instruction
+     format contains an immediate, not all instruction, whether this is
+     valid depends on the opcode.  Despite only having one format for now
+     the immediate is packed into a union, later instructions might require
+     an unsigned formatted immediate, having the union in place now will
+     reduce the need for code churn later.  */
+  union riscv_insn_immediate
+  {
+    riscv_insn_immediate ()
+      : s (0)
+    {
+      /* Nothing.  */
+    }
+
+    int s;
+  } m_imm;
+};
+
+/* Fetch instruction from target memory at ADDR, return the content of the
+   instruction, and update LEN with the instruction length.  */
+
+ULONGEST
+riscv_insn::fetch_instruction (struct gdbarch *gdbarch,
+			       CORE_ADDR addr, int *len)
+{
+  enum bfd_endian byte_order = gdbarch_byte_order_for_code (gdbarch);
+  gdb_byte buf[8];
+  int instlen, status;
+
+  /* All insns are at least 16 bits.  */
+  status = target_read_memory (addr, buf, 2);
+  if (status)
+    memory_error (TARGET_XFER_E_IO, addr);
+
+  /* If we need more, grab it now.  */
+  instlen = riscv_insn_length (buf[0]);
+  gdb_assert (instlen <= sizeof (buf));
+  *len = instlen;
+
+  if (instlen > 2)
+    {
+      status = target_read_memory (addr + 2, buf + 2, instlen - 2);
+      if (status)
+	memory_error (TARGET_XFER_E_IO, addr + 2);
+    }
+
+  return extract_unsigned_integer (buf, instlen, byte_order);
+}
+
+/* Fetch from target memory an instruction at PC and decode it.  */
+
+void
+riscv_insn::decode (struct gdbarch *gdbarch, CORE_ADDR pc)
+{
+  ULONGEST ival;
+
+  /* Fetch the instruction, and the instructions length.  */
+  ival = fetch_instruction (gdbarch, pc, &m_length);
+
+  if (m_length == 4)
+    {
+      if (is_add_insn (ival))
+	decode_r_type_insn (ADD, ival);
+      else if (is_addw_insn (ival))
+	decode_r_type_insn (ADDW, ival);
+      else if (is_addi_insn (ival))
+	decode_i_type_insn (ADDI, ival);
+      else if (is_addiw_insn (ival))
+	decode_i_type_insn (ADDIW, ival);
+      else if (is_auipc_insn (ival))
+	decode_u_type_insn (AUIPC, ival);
+      else if (is_lui_insn (ival))
+	decode_u_type_insn (LUI, ival);
+      else if (is_sd_insn (ival))
+	decode_s_type_insn (SD, ival);
+      else if (is_sw_insn (ival))
+	decode_s_type_insn (SW, ival);
+      else
+	/* None of the other fields are valid in this case.  */
+	m_opcode = OTHER;
+    }
+  else if (m_length == 2)
+    {
+      if (is_c_add_insn (ival))
+	decode_cr_type_insn (ADD, ival);
+      else if (is_c_addw_insn (ival))
+	decode_cr_type_insn (ADDW, ival);
+      else if (is_c_addi_insn (ival))
+	decode_ci_type_insn (ADDI, ival);
+      else if (is_c_addiw_insn (ival))
+	decode_ci_type_insn (ADDIW, ival);
+      else if (is_c_addi16sp_insn (ival))
+	{
+	  m_opcode = ADDI;
+	  m_rd = m_rs1 = decode_register_index (ival, OP_SH_RD);
+	  m_imm.s = EXTRACT_RVC_ADDI16SP_IMM (ival);
+	}
+      else if (is_lui_insn (ival))
+	m_opcode = OTHER;
+      else if (is_c_sd_insn (ival))
+	m_opcode = OTHER;
+      else if (is_sw_insn (ival))
+	m_opcode = OTHER;
+      else
+	/* None of the other fields of INSN are valid in this case.  */
+	m_opcode = OTHER;
+    }
+  else
+    internal_error (__FILE__, __LINE__,
+		    _("unable to decode %d byte instructions in "
+		      "prologue at %s"), m_length,
+		    core_addr_to_string (pc));
+}
+
+/* The prologue scanner.  This is currently only used for skipping the
+   prologue of a function when the DWARF information is not sufficient.
+   However, it is written with filling of the frame cache in mind, which
+   is why different groups of stack setup instructions are split apart
+   during the core of the inner loop.  In the future, the intention is to
+   extend this function to fully support building up a frame cache that
+   can unwind register values when there is no DWARF information.  */
+
+static CORE_ADDR
+riscv_scan_prologue (struct gdbarch *gdbarch,
+		     CORE_ADDR start_pc, CORE_ADDR limit_pc)
+{
+  CORE_ADDR cur_pc, next_pc;
+  long frame_offset = 0;
+  CORE_ADDR end_prologue_addr = 0;
+
+  if (limit_pc > start_pc + 200)
+    limit_pc = start_pc + 200;
+
+  for (next_pc = cur_pc = start_pc; cur_pc < limit_pc; cur_pc = next_pc)
+    {
+      struct riscv_insn insn;
+
+      /* Decode the current instruction, and decide where the next
+	 instruction lives based on the size of this instruction.  */
+      insn.decode (gdbarch, cur_pc);
+      gdb_assert (insn.length () > 0);
+      next_pc = cur_pc + insn.length ();
+
+      /* Look for common stack adjustment insns.  */
+      if ((insn.opcode () == riscv_insn::ADDI
+	   || insn.opcode () == riscv_insn::ADDIW)
+	  && insn.rd () == RISCV_SP_REGNUM
+	  && insn.rs1 () == RISCV_SP_REGNUM)
+	{
+	  /* Handle: addi sp, sp, -i
+	     or:     addiw sp, sp, -i  */
+	  if (insn.imm_signed () < 0)
+	    frame_offset += insn.imm_signed ();
+	  else
+	    break;
+	}
+      else if ((insn.opcode () == riscv_insn::SW
+		|| insn.opcode () == riscv_insn::SD)
+	       && (insn.rs1 () == RISCV_SP_REGNUM
+		   || insn.rs1 () == RISCV_FP_REGNUM))
+	{
+	  /* Handle: sw reg, offset(sp)
+	     or:     sd reg, offset(sp)
+	     or:     sw reg, offset(s0)
+	     or:     sd reg, offset(s0)  */
+	  /* Instruction storing a register onto the stack.  */
+	}
+      else if (insn.opcode () == riscv_insn::ADDI
+	       && insn.rd () == RISCV_FP_REGNUM
+	       && insn.rs1 () == RISCV_SP_REGNUM)
+	{
+	  /* Handle: addi s0, sp, size  */
+	  /* Instructions setting up the frame pointer.  */
+	}
+      else if ((insn.opcode () == riscv_insn::ADD
+		|| insn.opcode () == riscv_insn::ADDW)
+	       && insn.rd () == RISCV_FP_REGNUM
+	       && insn.rs1 () == RISCV_SP_REGNUM
+	       && insn.rs2 () == RISCV_ZERO_REGNUM)
+	{
+	  /* Handle: add s0, sp, 0
+	     or:     addw s0, sp, 0  */
+	  /* Instructions setting up the frame pointer.  */
+	}
+      else if ((insn.rd () == RISCV_GP_REGNUM
+		&& (insn.opcode () == riscv_insn::AUIPC
+		    || insn.opcode () == riscv_insn::LUI
+		    || (insn.opcode () == riscv_insn::ADDI
+			&& insn.rs1 () == RISCV_GP_REGNUM)
+		    || (insn.opcode () == riscv_insn::ADD
+			&& (insn.rs1 () == RISCV_GP_REGNUM
+			    || insn.rs2 () == RISCV_GP_REGNUM))))
+	       || (insn.opcode () == riscv_insn::ADDI
+		   && insn.rd () == RISCV_ZERO_REGNUM
+		   && insn.rs1 () == RISCV_ZERO_REGNUM
+		   && insn.imm_signed () == 0))
+	{
+	  /* Handle: auipc gp, n
+	     or:     addi gp, gp, n
+	     or:     add gp, gp, reg
+	     or:     add gp, reg, gp
+	     or:     lui gp, n
+	     or:     add x0, x0, 0   (NOP)  */
+	  /* These instructions are part of the prologue, but we don't need
+	     to do anything special to handle them.  */
+	}
+      else
+	{
+	  if (end_prologue_addr == 0)
+	    end_prologue_addr = cur_pc;
+	}
+    }
+
+  if (end_prologue_addr == 0)
+    end_prologue_addr = cur_pc;
+
+  return end_prologue_addr;
+}
+
+/* Implement the riscv_skip_prologue gdbarch method.  */
+
+static CORE_ADDR
+riscv_skip_prologue (struct gdbarch *gdbarch,
+		     CORE_ADDR       pc)
+{
+  CORE_ADDR limit_pc;
+  CORE_ADDR func_addr;
+
+  /* See if we can determine the end of the prologue via the symbol
+     table.  If so, then return either PC, or the PC after the
+     prologue, whichever is greater.  */
+  if (find_pc_partial_function (pc, NULL, &func_addr, NULL))
+    {
+      CORE_ADDR post_prologue_pc
+	= skip_prologue_using_sal (gdbarch, func_addr);
+
+      if (post_prologue_pc != 0)
+	return std::max (pc, post_prologue_pc);
+    }
+
+  /* Can't determine prologue from the symbol table, need to examine
+     instructions.  */
+
+  /* Find an upper limit on the function prologue using the debug
+     information.  If the debug information could not be used to provide
+     that bound, then use an arbitrary large number as the upper bound.  */
+  limit_pc = skip_prologue_using_sal (gdbarch, pc);
+  if (limit_pc == 0)
+    limit_pc = pc + 100;   /* MAGIC! */
+
+  return riscv_scan_prologue (gdbarch, pc, limit_pc);
+}
+
+/* Implement the gdbarch push dummy code callback.  */
+
+static CORE_ADDR
+riscv_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp,
+		       CORE_ADDR funaddr, struct value **args, int nargs,
+		       struct type *value_type, CORE_ADDR *real_pc,
+		       CORE_ADDR *bp_addr, struct regcache *regcache)
+{
+  /* Allocate space for a breakpoint, and keep the stack correctly
+     aligned.  */
+  sp -= 16;
+  *bp_addr = sp;
+  *real_pc = funaddr;
+  return sp;
+}
+
+/* Compute the alignment of the type T.  Used while setting up the
+   arguments for a dummy call.  */
+
+static int
+riscv_type_alignment (struct type *t)
+{
+  t = check_typedef (t);
+  switch (TYPE_CODE (t))
+    {
+    default:
+      error (_("Could not compute alignment of type"));
+
+    case TYPE_CODE_RVALUE_REF:
+    case TYPE_CODE_PTR:
+    case TYPE_CODE_ENUM:
+    case TYPE_CODE_INT:
+    case TYPE_CODE_FLT:
+    case TYPE_CODE_REF:
+    case TYPE_CODE_CHAR:
+    case TYPE_CODE_BOOL:
+      return TYPE_LENGTH (t);
+
+    case TYPE_CODE_ARRAY:
+    case TYPE_CODE_COMPLEX:
+      return riscv_type_alignment (TYPE_TARGET_TYPE (t));
+
+    case TYPE_CODE_STRUCT:
+    case TYPE_CODE_UNION:
+      {
+	int i;
+	int align = 1;
+
+	for (i = 0; i < TYPE_NFIELDS (t); ++i)
+	  {
+	    if (TYPE_FIELD_LOC_KIND (t, i) == FIELD_LOC_KIND_BITPOS)
+	      {
+		int a = riscv_type_alignment (TYPE_FIELD_TYPE (t, i));
+		if (a > align)
+		  align = a;
+	      }
+	  }
+	return align;
+      }
+    }
+}
+
+/* Holds information about a single argument either being passed to an
+   inferior function, or returned from an inferior function.  This includes
+   information about the size, type, etc of the argument, and also
+   information about how the argument will be passed (or returned).  */
+
+struct riscv_arg_info
+{
+  /* Contents of the argument.  */
+  const gdb_byte *contents;
+
+  /* Length of argument.  */
+  int length;
+
+  /* Alignment required for an argument of this type.  */
+  int align;
+
+  /* The type for this argument.  */
+  struct type *type;
+
+  /* Each argument can have either 1 or 2 locations assigned to it.  Each
+     location describes where part of the argument will be placed.  The
+     second location is valid based on the LOC_TYPE and C_LENGTH fields
+     of the first location (which is always valid).  */
+  struct location
+  {
+    /* What type of location this is.  */
+    enum location_type
+      {
+       /* Argument passed in a register.  */
+       in_reg,
+
+       /* Argument passed as an on stack argument.  */
+       on_stack,
+
+       /* Argument passed by reference.  The second location is always
+	  valid for a BY_REF argument, and describes where the address
+	  of the BY_REF argument should be placed.  */
+       by_ref
+      } loc_type;
+
+    /* Information that depends on the location type.  */
+    union
+    {
+      /* Which register number to use.  */
+      int regno;
+
+      /* The offset into the stack region.  */
+      int offset;
+    } loc_data;
+
+    /* The length of contents covered by this location.  If this is less
+       than the total length of the argument, then the second location
+       will be valid, and will describe where the rest of the argument
+       will go.  */
+    int c_length;
+
+    /* The offset within CONTENTS for this part of the argument.  Will
+       always be 0 for the first part.  For the second part of the
+       argument, this might be the C_LENGTH value of the first part,
+       however, if we are passing a structure in two registers, and there's
+       is padding between the first and second field, then this offset
+       might be greater than the length of the first argument part.  When
+       the second argument location is not holding part of the argument
+       value, but is instead holding the address of a reference argument,
+       then this offset will be set to 0.  */
+    int c_offset;
+  } argloc[2];
+};
+
+/* Information about a set of registers being used for passing arguments as
+   part of a function call.  The register set must be numerically
+   sequential from NEXT_REGNUM to LAST_REGNUM.  The register set can be
+   disabled from use by setting NEXT_REGNUM greater than LAST_REGNUM.  */
+
+struct riscv_arg_reg
+{
+  riscv_arg_reg (int first, int last)
+    : next_regnum (first),
+      last_regnum (last)
+  {
+    /* Nothing.  */
+  }
+
+  /* The GDB register number to use in this set.  */
+  int next_regnum;
+
+  /* The last GDB register number to use in this set.  */
+  int last_regnum;
+};
+
+/* Arguments can be passed as on stack arguments, or by reference.  The
+   on stack arguments must be in a continuous region starting from $sp,
+   while the by reference arguments can be anywhere, but we'll put them
+   on the stack after (at higher address) the on stack arguments.
+
+   This might not be the right approach to take.  The ABI is clear that
+   an argument passed by reference can be modified by the callee, which
+   us placing the argument (temporarily) onto the stack will not achieve
+   (changes will be lost).  There's also the possibility that very large
+   arguments could overflow the stack.
+
+   This struct is used to track offset into these two areas for where
+   arguments are to be placed.  */
+struct riscv_memory_offsets
+{
+  riscv_memory_offsets ()
+    : arg_offset (0),
+      ref_offset (0)
+  {
+    /* Nothing.  */
+  }
+
+  /* Offset into on stack argument area.  */
+  int arg_offset;
+
+  /* Offset into the pass by reference area.  */
+  int ref_offset;
+};
+
+/* Holds information about where arguments to a call will be placed.  This
+   is updated as arguments are added onto the call, and can be used to
+   figure out where the next argument should be placed.  */
+
+struct riscv_call_info
+{
+  riscv_call_info (struct gdbarch *gdbarch)
+    : int_regs (RISCV_A0_REGNUM, RISCV_A0_REGNUM + 7),
+      float_regs (RISCV_FA0_REGNUM, RISCV_FA0_REGNUM + 7)
+  {
+    xlen = riscv_isa_xlen (gdbarch);
+    flen = riscv_isa_flen (gdbarch);
+
+    /* Disable use of floating point registers if needed.  */
+    if (!riscv_has_fp_abi (gdbarch))
+      float_regs.next_regnum = float_regs.last_regnum + 1;
+  }
+
+  /* Track the memory areas used for holding in-memory arguments to a
+     call.  */
+  struct riscv_memory_offsets memory;
+
+  /* Holds information about the next integer register to use for passing
+     an argument.  */
+  struct riscv_arg_reg int_regs;
+
+  /* Holds information about the next floating point register to use for
+     passing an argument.  */
+  struct riscv_arg_reg float_regs;
+
+  /* The XLEN and FLEN are copied in to this structure for convenience, and
+     are just the results of calling RISCV_ISA_XLEN and RISCV_ISA_FLEN.  */
+  int xlen;
+  int flen;
+};
+
+/* Return the number of registers available for use as parameters in the
+   register set REG.  Returned value can be 0 or more.  */
+
+static int
+riscv_arg_regs_available (struct riscv_arg_reg *reg)
+{
+  if (reg->next_regnum > reg->last_regnum)
+    return 0;
+
+  return (reg->last_regnum - reg->next_regnum + 1);
+}
+
+/* If there is at least one register available in the register set REG then
+   the next register from REG is assigned to LOC and the length field of
+   LOC is updated to LENGTH.  The register set REG is updated to indicate
+   that the assigned register is no longer available and the function
+   returns true.
+
+   If there are no registers available in REG then the function returns
+   false, and LOC and REG are unchanged.  */
+
+static bool
+riscv_assign_reg_location (struct riscv_arg_info::location *loc,
+			   struct riscv_arg_reg *reg,
+			   int length, int offset)
+{
+  if (reg->next_regnum <= reg->last_regnum)
+    {
+      loc->loc_type = riscv_arg_info::location::in_reg;
+      loc->loc_data.regno = reg->next_regnum;
+      reg->next_regnum++;
+      loc->c_length = length;
+      loc->c_offset = offset;
+      return true;
+    }
+
+  return false;
+}
+
+/* Assign LOC a location as the next stack parameter, and update MEMORY to
+   record that an area of stack has been used to hold the parameter
+   described by LOC.
+
+   The length field of LOC is updated to LENGTH, the length of the
+   parameter being stored, and ALIGN is the alignment required by the
+   parameter, which will affect how memory is allocated out of MEMORY.  */
+
+static void
+riscv_assign_stack_location (struct riscv_arg_info::location *loc,
+			     struct riscv_memory_offsets *memory,
+			     int length, int align)
+{
+  loc->loc_type = riscv_arg_info::location::on_stack;
+  memory->arg_offset
+    = align_up (memory->arg_offset, align);
+  loc->loc_data.offset = memory->arg_offset;
+  memory->arg_offset += length;
+  loc->c_length = length;
+
+  /* Offset is always 0, either we're the first location part, in which
+     case we're reading content from the start of the argument, or we're
+     passing the address of a reference argument, so 0.  */
+  loc->c_offset = 0;
+}
+
+/* Update AINFO, which describes an argument that should be passed or
+   returned using the integer ABI.  The argloc fields within AINFO are
+   updated to describe the location in which the argument will be passed to
+   a function, or returned from a function.
+
+   The CINFO structure contains the ongoing call information, the holds
+   information such as which argument registers are remaining to be
+   assigned to parameter, and how much memory has been used by parameters
+   so far.
+
+   By examining the state of CINFO a suitable location can be selected,
+   and assigned to AINFO.  */
+
+static void
+riscv_call_arg_scalar_int (struct riscv_arg_info *ainfo,
+			   struct riscv_call_info *cinfo)
+{
+  if (ainfo->length > (2 * cinfo->xlen))
+    {
+      /* Argument is going to be passed by reference.  */
+      ainfo->argloc[0].loc_type
+	= riscv_arg_info::location::by_ref;
+      cinfo->memory.ref_offset
+	= align_up (cinfo->memory.ref_offset, ainfo->align);
+      ainfo->argloc[0].loc_data.offset = cinfo->memory.ref_offset;
+      cinfo->memory.ref_offset += ainfo->length;
+      ainfo->argloc[0].c_length = ainfo->length;
+
+      /* The second location for this argument is given over to holding the
+	 address of the by-reference data.  Pass 0 for the offset as this
+	 is not part of the actual argument value.  */
+      if (!riscv_assign_reg_location (&ainfo->argloc[1],
+				      &cinfo->int_regs,
+				      cinfo->xlen, 0))
+	riscv_assign_stack_location (&ainfo->argloc[1],
+				     &cinfo->memory, cinfo->xlen,
+				     cinfo->xlen);
+    }
+  else
+    {
+      int len = (ainfo->length > cinfo->xlen) ? cinfo->xlen : ainfo->length;
+
+      if (!riscv_assign_reg_location (&ainfo->argloc[0],
+				      &cinfo->int_regs, len, 0))
+	riscv_assign_stack_location (&ainfo->argloc[0],
+				     &cinfo->memory, len, ainfo->align);
+
+      if (len < ainfo->length)
+	{
+	  len = ainfo->length - len;
+	  if (!riscv_assign_reg_location (&ainfo->argloc[1],
+					  &cinfo->int_regs, len,
+					  cinfo->xlen))
+	    riscv_assign_stack_location (&ainfo->argloc[1],
+					 &cinfo->memory, len, cinfo->xlen);
+	}
+    }
+}
+
+/* Like RISCV_CALL_ARG_SCALAR_INT, except the argument described by AINFO
+   is being passed with the floating point ABI.  */
+
+static void
+riscv_call_arg_scalar_float (struct riscv_arg_info *ainfo,
+			     struct riscv_call_info *cinfo)
+{
+  if (ainfo->length > cinfo->flen)
+    return riscv_call_arg_scalar_int (ainfo, cinfo);
+  else
+    {
+      if (!riscv_assign_reg_location (&ainfo->argloc[0],
+				      &cinfo->float_regs,
+				      ainfo->length, 0))
+	return riscv_call_arg_scalar_int (ainfo, cinfo);
+    }
+}
+
+/* Like RISCV_CALL_ARG_SCALAR_INT, except the argument described by AINFO
+   is a complex floating point argument, and is therefore handled
+   differently to other argument types.  */
+
+static void
+riscv_call_arg_complex_float (struct riscv_arg_info *ainfo,
+			      struct riscv_call_info *cinfo)
+{
+  if (ainfo->length <= (2 * cinfo->flen)
+      && riscv_arg_regs_available (&cinfo->float_regs) >= 2)
+    {
+      bool result;
+      int len = ainfo->length / 2;
+
+      result = riscv_assign_reg_location (&ainfo->argloc[0],
+					  &cinfo->float_regs, len, len);
+      gdb_assert (result);
+
+      result = riscv_assign_reg_location (&ainfo->argloc[1],
+					  &cinfo->float_regs, len, len);
+      gdb_assert (result);
+    }
+  else
+    return riscv_call_arg_scalar_int (ainfo, cinfo);
+}
+
+/* A structure used for holding information about a structure type within
+   the inferior program.  The RiscV ABI has special rules for handling some
+   structures with a single field or with two fields.  The counting of
+   fields here is done after flattening out all nested structures.  */
+
+class riscv_struct_info
+{
+public:
+  riscv_struct_info ()
+    : m_number_of_fields (0),
+      m_types { nullptr, nullptr }
+  {
+    /* Nothing.  */
+  }
+
+  /* Analyse TYPE descending into nested structures, count the number of
+     scalar fields and record the types of the first two fields found.  */
+  void analyse (struct type *type);
+
+  /* The number of scalar fields found in the analysed type.  This is
+     currently only accurate if the value returned is 0, 1, or 2 as the
+     analysis stops counting when the number of fields is 3.  This is
+     because the RiscV ABI only has special cases for 1 or 2 fields,
+     anything else we just don't care about.  */
+  int number_of_fields () const
+  { return m_number_of_fields; }
+
+  /* Return the type for scalar field INDEX within the analysed type.  Will
+     return nullptr if there is no field at that index.  Only INDEX values
+     0 and 1 can be requested as the RiscV ABI only has special cases for
+     structures with 1 or 2 fields.  */
+  struct type *field_type (int index) const
+  {
+    gdb_assert (index < (sizeof (m_types) / sizeof (m_types[0])));
+    return m_types[index];
+  }
+
+private:
+  /* The number of scalar fields found within the structure after recursing
+     into nested structures.  */
+  int m_number_of_fields;
+
+  /* The types of the first two scalar fields found within the structure
+     after recursing into nested structures.  */
+  struct type *m_types[2];
+};
+
+/* Analyse TYPE descending into nested structures, count the number of
+   scalar fields and record the types of the first two fields found.  */
+
+void
+riscv_struct_info::analyse (struct type *type)
+{
+  unsigned int count = TYPE_NFIELDS (type);
+  unsigned int i;
+
+  for (i = 0; i < count; ++i)
+    {
+      if (TYPE_FIELD_LOC_KIND (type, i) != FIELD_LOC_KIND_BITPOS)
+	continue;
+
+      struct type *field_type = TYPE_FIELD_TYPE (type, i);
+      field_type = check_typedef (field_type);
+
+      switch (TYPE_CODE (field_type))
+	{
+	case TYPE_CODE_STRUCT:
+	  analyse (field_type);
+	  break;
+
+	default:
+	  /* RiscV only flattens out structures.  Anything else does not
+	     need to be flattened, we just record the type, and when we
+	     look at the analysis results we'll realise this is not a
+	     structure we can special case, and pass the structure in
+	     memory.  */
+	  if (m_number_of_fields < 2)
+	    m_types[m_number_of_fields] = field_type;
+	  m_number_of_fields++;
+	  break;
+	}
+
+      /* RiscV only has special handling for structures with 1 or 2 scalar
+	 fields, any more than that and the structure is just passed in
+	 memory.  We can safely drop out early when we find 3 or more
+	 fields then.  */
+
+      if (m_number_of_fields > 2)
+	return;
+    }
+}
+
+/* Like RISCV_CALL_ARG_SCALAR_INT, except the argument described by AINFO
+   is a structure.  Small structures on RiscV have some special case
+   handling in order that the structure might be passed in register.
+   Larger structures are passed in memory.  After assigning location
+   information to AINFO, CINFO will have been updated.  */
+
+static void
+riscv_call_arg_struct (struct riscv_arg_info *ainfo,
+		       struct riscv_call_info *cinfo)
+{
+  if (riscv_arg_regs_available (&cinfo->float_regs) >= 1)
+    {
+      struct riscv_struct_info sinfo;
+
+      sinfo.analyse (ainfo->type);
+      if (sinfo.number_of_fields () == 1
+	  && TYPE_CODE (sinfo.field_type (0)) == TYPE_CODE_COMPLEX)
+	{
+	  gdb_assert (TYPE_LENGTH (ainfo->type)
+		      == TYPE_LENGTH (sinfo.field_type (0)));
+	  return riscv_call_arg_complex_float (ainfo, cinfo);
+	}
+
+      if (sinfo.number_of_fields () == 1
+	  && TYPE_CODE (sinfo.field_type (0)) == TYPE_CODE_FLT)
+	{
+	  gdb_assert (TYPE_LENGTH (ainfo->type)
+		      == TYPE_LENGTH (sinfo.field_type (0)));
+	  return riscv_call_arg_scalar_float (ainfo, cinfo);
+	}
+
+      if (sinfo.number_of_fields () == 2
+	  && TYPE_CODE (sinfo.field_type (0)) == TYPE_CODE_FLT
+	  && TYPE_LENGTH (sinfo.field_type (0)) <= cinfo->flen
+	  && TYPE_CODE (sinfo.field_type (1)) == TYPE_CODE_FLT
+	  && TYPE_LENGTH (sinfo.field_type (1)) <= cinfo->flen
+	  && riscv_arg_regs_available (&cinfo->float_regs) >= 2)
+	{
+	  int len0, len1, offset;
+
+	  gdb_assert (TYPE_LENGTH (ainfo->type) <= (2 * cinfo->flen));
+
+	  len0 = TYPE_LENGTH (sinfo.field_type (0));
+	  if (!riscv_assign_reg_location (&ainfo->argloc[0],
+					  &cinfo->float_regs, len0, 0))
+	    error (_("failed during argument setup"));
+
+	  len1 = TYPE_LENGTH (sinfo.field_type (1));
+	  offset = align_up (len0, riscv_type_alignment (sinfo.field_type (1)));
+	  gdb_assert (len1 <= (TYPE_LENGTH (ainfo->type)
+			       - TYPE_LENGTH (sinfo.field_type (0))));
+
+	  if (!riscv_assign_reg_location (&ainfo->argloc[1],
+					  &cinfo->float_regs,
+					  len1, offset))
+	    error (_("failed during argument setup"));
+	  return;
+	}
+
+      if (sinfo.number_of_fields () == 2
+	  && riscv_arg_regs_available (&cinfo->int_regs) >= 1
+	  && (TYPE_CODE (sinfo.field_type (0)) == TYPE_CODE_FLT
+	      && TYPE_LENGTH (sinfo.field_type (0)) <= cinfo->flen
+	      && is_integral_type (sinfo.field_type (1))
+	      && TYPE_LENGTH (sinfo.field_type (1)) <= cinfo->xlen))
+	{
+	  int len0, len1, offset;
+
+	  gdb_assert (TYPE_LENGTH (ainfo->type)
+		      <= (cinfo->flen + cinfo->xlen));
+
+	  len0 = TYPE_LENGTH (sinfo.field_type (0));
+	  if (!riscv_assign_reg_location (&ainfo->argloc[0],
+					  &cinfo->float_regs, len0, 0))
+	    error (_("failed during argument setup"));
+
+	  len1 = TYPE_LENGTH (sinfo.field_type (1));
+	  offset = align_up (len0, riscv_type_alignment (sinfo.field_type (1)));
+	  gdb_assert (len1 <= cinfo->xlen);
+	  if (!riscv_assign_reg_location (&ainfo->argloc[1],
+					  &cinfo->int_regs, len1, offset))
+	    error (_("failed during argument setup"));
+	  return;
+	}
+
+      if (sinfo.number_of_fields () == 2
+	  && riscv_arg_regs_available (&cinfo->int_regs) >= 1
+	  && (is_integral_type (sinfo.field_type (0))
+	      && TYPE_LENGTH (sinfo.field_type (0)) <= cinfo->xlen
+	      && TYPE_CODE (sinfo.field_type (1)) == TYPE_CODE_FLT
+	      && TYPE_LENGTH (sinfo.field_type (1)) <= cinfo->flen))
+	{
+	  int len0, len1, offset;
+
+	  gdb_assert (TYPE_LENGTH (ainfo->type)
+		      <= (cinfo->flen + cinfo->xlen));
+
+	  len0 = TYPE_LENGTH (sinfo.field_type (0));
+	  len1 = TYPE_LENGTH (sinfo.field_type (1));
+	  offset = align_up (len0, riscv_type_alignment (sinfo.field_type (1)));
+
+	  gdb_assert (len0 <= cinfo->xlen);
+	  gdb_assert (len1 <= cinfo->flen);
+
+	  if (!riscv_assign_reg_location (&ainfo->argloc[0],
+					  &cinfo->int_regs, len0, 0))
+	    error (_("failed during argument setup"));
+
+	  if (!riscv_assign_reg_location (&ainfo->argloc[1],
+					  &cinfo->float_regs,
+					  len1, offset))
+	    error (_("failed during argument setup"));
+
+	  return;
+	}
+    }
+
+  /* Non of the structure flattening cases apply, so we just pass using
+     the integer ABI.  */
+  ainfo->length = align_up (ainfo->length, cinfo->xlen);
+  riscv_call_arg_scalar_int (ainfo, cinfo);
+}
+
+/* Assign a location to call (or return) argument AINFO, the location is
+   selected from CINFO which holds information about what call argument
+   locations are available for use next.  The TYPE is the type of the
+   argument being passed, this information is recorded into AINFO (along
+   with some additional information derived from the type).
+
+   After assigning a location to AINFO, CINFO will have been updated.  */
+
+static void
+riscv_arg_location (struct gdbarch *gdbarch,
+		    struct riscv_arg_info *ainfo,
+		    struct riscv_call_info *cinfo,
+		    struct type *type)
+{
+  ainfo->type = type;
+  ainfo->length = TYPE_LENGTH (ainfo->type);
+  ainfo->align = riscv_type_alignment (ainfo->type);
+  ainfo->contents = nullptr;
+
+  switch (TYPE_CODE (ainfo->type))
+    {
+    case TYPE_CODE_INT:
+    case TYPE_CODE_BOOL:
+    case TYPE_CODE_CHAR:
+    case TYPE_CODE_RANGE:
+    case TYPE_CODE_ENUM:
+    case TYPE_CODE_PTR:
+      if (ainfo->length <= cinfo->xlen)
+	{
+	  ainfo->type = builtin_type (gdbarch)->builtin_long;
+	  ainfo->length = cinfo->xlen;
+	}
+      else if (ainfo->length <= (2 * cinfo->xlen))
+	{
+	  ainfo->type = builtin_type (gdbarch)->builtin_long_long;
+	  ainfo->length = 2 * cinfo->xlen;
+	}
+
+      /* Recalculate the alignment requirement.  */
+      ainfo->align = riscv_type_alignment (ainfo->type);
+      riscv_call_arg_scalar_int (ainfo, cinfo);
+      break;
+
+    case TYPE_CODE_FLT:
+      riscv_call_arg_scalar_float (ainfo, cinfo);
+      break;
+
+    case TYPE_CODE_COMPLEX:
+      riscv_call_arg_complex_float (ainfo, cinfo);
+      break;
+
+    case TYPE_CODE_STRUCT:
+      riscv_call_arg_struct (ainfo, cinfo);
+      break;
+
+    default:
+      riscv_call_arg_scalar_int (ainfo, cinfo);
+      break;
+    }
+}
+
+/* Used for printing debug information about the call argument location in
+   INFO to STREAM.  The addresses in SP_REFS and SP_ARGS are the base
+   addresses for the location of pass-by-reference and
+   arguments-on-the-stack memory areas.  */
+
+static void
+riscv_print_arg_location (ui_file *stream, struct gdbarch *gdbarch,
+			  struct riscv_arg_info *info,
+			  CORE_ADDR sp_refs, CORE_ADDR sp_args)
+{
+  const char* type_name = TYPE_NAME (info->type);
+  if (type_name == nullptr)
+    type_name = "???";
+
+  fprintf_unfiltered (stream, "type: '%s', length: 0x%x, alignment: 0x%x",
+		      type_name, info->length, info->align);
+  switch (info->argloc[0].loc_type)
+    {
+    case riscv_arg_info::location::in_reg:
+      fprintf_unfiltered
+	(stream, ", register %s",
+	 gdbarch_register_name (gdbarch, info->argloc[0].loc_data.regno));
+      if (info->argloc[0].c_length < info->length)
+	{
+	  switch (info->argloc[1].loc_type)
+	    {
+	    case riscv_arg_info::location::in_reg:
+	      fprintf_unfiltered
+		(stream, ", register %s",
+		 gdbarch_register_name (gdbarch,
+					info->argloc[1].loc_data.regno));
+	      break;
+
+	    case riscv_arg_info::location::on_stack:
+	      fprintf_unfiltered (stream, ", on stack at offset 0x%x",
+				  info->argloc[1].loc_data.offset);
+	      break;
+
+	    case riscv_arg_info::location::by_ref:
+	    default:
+	      /* The second location should never be a reference, any
+		 argument being passed by reference just places its address
+		 in the first location and is done.  */
+	      error (_("invalid argument location"));
+	      break;
+	    }
+
+	  if (info->argloc[1].c_offset > info->argloc[0].c_length)
+	    fprintf_unfiltered (stream, " (offset 0x%x)",
+				info->argloc[1].c_offset);
+	}
+      break;
+
+    case riscv_arg_info::location::on_stack:
+      fprintf_unfiltered (stream, ", on stack at offset 0x%x",
+			  info->argloc[0].loc_data.offset);
+      break;
+
+    case riscv_arg_info::location::by_ref:
+      fprintf_unfiltered
+	(stream, ", by reference, data at offset 0x%x (%s)",
+	 info->argloc[0].loc_data.offset,
+	 core_addr_to_string (sp_refs + info->argloc[0].loc_data.offset));
+      if (info->argloc[1].loc_type
+	  == riscv_arg_info::location::in_reg)
+	fprintf_unfiltered
+	  (stream, ", address in register %s",
+	   gdbarch_register_name (gdbarch, info->argloc[1].loc_data.regno));
+      else
+	{
+	  gdb_assert (info->argloc[1].loc_type
+		      == riscv_arg_info::location::on_stack);
+	  fprintf_unfiltered
+	    (stream, ", address on stack at offset 0x%x (%s)",
+	     info->argloc[1].loc_data.offset,
+	     core_addr_to_string (sp_args + info->argloc[1].loc_data.offset));
+	}
+      break;
+
+    default:
+      gdb_assert_not_reached (_("unknown argument location type"));
+    }
+}
+
+/* Implement the push dummy call gdbarch callback.  */
+
+static CORE_ADDR
+riscv_push_dummy_call (struct gdbarch *gdbarch,
+		       struct value *function,
+		       struct regcache *regcache,
+		       CORE_ADDR bp_addr,
+		       int nargs,
+		       struct value **args,
+		       CORE_ADDR sp,
+		       int struct_return,
+		       CORE_ADDR struct_addr)
+{
+  int i;
+  CORE_ADDR sp_args, sp_refs;
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  struct riscv_arg_info *arg_info =
+    (struct riscv_arg_info *) alloca (nargs * sizeof (struct riscv_arg_info));
+  struct riscv_arg_info *info;
+
+  struct riscv_call_info call_info (gdbarch);
+
+  CORE_ADDR osp = sp;
+
+  /* We'll use register $a0 if we're returning a struct.  */
+  if (struct_return)
+    ++call_info.int_regs.next_regnum;
+
+  for (i = 0, info = &arg_info[0];
+       i < nargs;
+       ++i, ++info)
+    {
+      struct value *arg_value;
+      struct type *arg_type;
+
+      arg_value = args[i];
+      arg_type = check_typedef (value_type (arg_value));
+
+      riscv_arg_location (gdbarch, info, &call_info, arg_type);
+
+      if (info->type != arg_type)
+	arg_value = value_cast (info->type, arg_value);
+      info->contents = value_contents (arg_value);
+    }
+
+  /* Adjust the stack pointer and align it.  */
+  sp = sp_refs = align_down (sp - call_info.memory.ref_offset, SP_ALIGNMENT);
+  sp = sp_args = align_down (sp - call_info.memory.arg_offset, SP_ALIGNMENT);
+
+  if (riscv_debug_infcall > 0)
+    {
+      fprintf_unfiltered (gdb_stdlog, "dummy call args:\n");
+      fprintf_unfiltered (gdb_stdlog, ": floating point ABI %s in use\n",
+	       (riscv_has_fp_abi (gdbarch) ? "is" : "is not"));
+      fprintf_unfiltered (gdb_stdlog, ": xlen: %d\n: flen: %d\n",
+	       call_info.xlen, call_info.flen);
+      if (struct_return)
+	fprintf_unfiltered (gdb_stdlog,
+			    "[*] struct return pointer in register $A0\n");
+      for (i = 0; i < nargs; ++i)
+	{
+	  struct riscv_arg_info *info = &arg_info [i];
+
+	  fprintf_unfiltered (gdb_stdlog, "[%2d] ", i);
+	  riscv_print_arg_location (gdb_stdlog, gdbarch, info, sp_refs, sp_args);
+	  fprintf_unfiltered (gdb_stdlog, "\n");
+	}
+      if (call_info.memory.arg_offset > 0
+	  || call_info.memory.ref_offset > 0)
+	{
+	  fprintf_unfiltered (gdb_stdlog, "              Original sp: %s\n",
+			      core_addr_to_string (osp));
+	  fprintf_unfiltered (gdb_stdlog, "Stack required (for args): 0x%x\n",
+			      call_info.memory.arg_offset);
+	  fprintf_unfiltered (gdb_stdlog, "Stack required (for refs): 0x%x\n",
+			      call_info.memory.ref_offset);
+	  fprintf_unfiltered (gdb_stdlog, "          Stack allocated: %s\n",
+			      core_addr_to_string_nz (osp - sp));
+	}
+    }
+
+  /* Now load the argument into registers, or onto the stack.  */
+
+  if (struct_return)
+    {
+      gdb_byte buf[sizeof (LONGEST)];
+
+      store_unsigned_integer (buf, call_info.xlen, byte_order, struct_addr);
+      regcache->cooked_write (RISCV_A0_REGNUM, buf);
+    }
+
+  for (i = 0; i < nargs; ++i)
+    {
+      CORE_ADDR dst;
+      int second_arg_length = 0;
+      const gdb_byte *second_arg_data;
+      struct riscv_arg_info *info = &arg_info [i];
+
+      gdb_assert (info->length > 0);
+
+      switch (info->argloc[0].loc_type)
+	{
+	case riscv_arg_info::location::in_reg:
+	  {
+	    gdb_byte tmp [sizeof (ULONGEST)];
+
+	    gdb_assert (info->argloc[0].c_length <= info->length);
+	    memset (tmp, 0, sizeof (tmp));
+	    memcpy (tmp, info->contents, info->argloc[0].c_length);
+	    regcache->cooked_write (info->argloc[0].loc_data.regno, tmp);
+	    second_arg_length =
+	      ((info->argloc[0].c_length < info->length)
+	       ? info->argloc[1].c_length : 0);
+	    second_arg_data = info->contents + info->argloc[1].c_offset;
+	  }
+	  break;
+
+	case riscv_arg_info::location::on_stack:
+	  dst = sp_args + info->argloc[0].loc_data.offset;
+	  write_memory (dst, info->contents, info->length);
+	  second_arg_length = 0;
+	  break;
+
+	case riscv_arg_info::location::by_ref:
+	  dst = sp_refs + info->argloc[0].loc_data.offset;
+	  write_memory (dst, info->contents, info->length);
+
+	  second_arg_length = call_info.xlen;
+	  second_arg_data = (gdb_byte *) &dst;
+	  break;
+
+	default:
+	  gdb_assert_not_reached (_("unknown argument location type"));
+	}
+
+      if (second_arg_length > 0)
+	{
+	  switch (info->argloc[1].loc_type)
+	    {
+	    case riscv_arg_info::location::in_reg:
+	      {
+		gdb_byte tmp [sizeof (ULONGEST)];
+
+		gdb_assert (second_arg_length <= call_info.xlen);
+		memset (tmp, 0, sizeof (tmp));
+		memcpy (tmp, second_arg_data, second_arg_length);
+		regcache->cooked_write (info->argloc[1].loc_data.regno, tmp);
+	      }
+	      break;
+
+	    case riscv_arg_info::location::on_stack:
+	      {
+		CORE_ADDR arg_addr;
+
+		arg_addr = sp_args + info->argloc[1].loc_data.offset;
+		write_memory (arg_addr, second_arg_data, second_arg_length);
+		break;
+	      }
+
+	    case riscv_arg_info::location::by_ref:
+	    default:
+	      /* The second location should never be a reference, any
+		 argument being passed by reference just places its address
+		 in the first location and is done.  */
+	      error (_("invalid argument location"));
+	      break;
+	    }
+	}
+    }
+
+  /* Set the dummy return value to bp_addr.
+     A dummy breakpoint will be setup to execute the call.  */
+
+  if (riscv_debug_infcall > 0)
+    fprintf_unfiltered (gdb_stdlog, ": writing $ra = %s\n",
+			core_addr_to_string (bp_addr));
+  regcache_cooked_write_unsigned (regcache, RISCV_RA_REGNUM, bp_addr);
+
+  /* Finally, update the stack pointer.  */
+
+  if (riscv_debug_infcall > 0)
+    fprintf_unfiltered (gdb_stdlog, ": writing $sp = %s\n",
+			core_addr_to_string (sp));
+  regcache_cooked_write_unsigned (regcache, RISCV_SP_REGNUM, sp);
+
+  return sp;
+}
+
+/* Implement the return_value gdbarch method.  */
+
+static enum return_value_convention
+riscv_return_value (struct gdbarch  *gdbarch,
+		    struct value *function,
+		    struct type *type,
+		    struct regcache *regcache,
+		    gdb_byte *readbuf,
+		    const gdb_byte *writebuf)
+{
+  enum type_code rv_type = TYPE_CODE (type);
+  unsigned int rv_size = TYPE_LENGTH (type);
+  int fp, regnum, flen;
+  ULONGEST tmp;
+  struct riscv_call_info call_info (gdbarch);
+  struct riscv_arg_info info;
+  struct type *arg_type;
+
+  arg_type = check_typedef (type);
+  riscv_arg_location (gdbarch, &info, &call_info, arg_type);
+
+  if (riscv_debug_infcall > 0)
+    {
+      fprintf_unfiltered (gdb_stdlog, "riscv return value:\n");
+      fprintf_unfiltered (gdb_stdlog, "[R] ");
+      riscv_print_arg_location (gdb_stdlog, gdbarch, &info, 0, 0);
+      fprintf_unfiltered (gdb_stdlog, "\n");
+    }
+
+  if (readbuf != nullptr || writebuf != nullptr)
+    {
+        int regnum;
+
+	switch (info.argloc[0].loc_type)
+	  {
+	    /* Return value in register(s).  */
+	  case riscv_arg_info::location::in_reg:
+	    {
+	      regnum = info.argloc[0].loc_data.regno;
+
+	      if (readbuf)
+		regcache->cooked_read (regnum, readbuf);
+
+	      if (writebuf)
+		regcache->cooked_write (regnum, writebuf);
+
+	      /* A return value in register can have a second part in a
+		 second register.  */
+	      if (info.argloc[0].c_length < info.length)
+		{
+		  switch (info.argloc[1].loc_type)
+		    {
+		    case riscv_arg_info::location::in_reg:
+		      regnum = info.argloc[1].loc_data.regno;
+
+		      if (readbuf)
+			{
+			  readbuf += info.argloc[1].c_offset;
+			  regcache->cooked_read (regnum, readbuf);
+			}
+
+		      if (writebuf)
+			{
+			  writebuf += info.argloc[1].c_offset;
+			  regcache->cooked_write (regnum, writebuf);
+			}
+		      break;
+
+		    case riscv_arg_info::location::by_ref:
+		    case riscv_arg_info::location::on_stack:
+		    default:
+		      error (_("invalid argument location"));
+		      break;
+		    }
+		}
+	    }
+	    break;
+
+	    /* Return value by reference will have its address in A0.  */
+	  case riscv_arg_info::location::by_ref:
+	    {
+	      ULONGEST addr;
+
+	      regcache_cooked_read_unsigned (regcache, RISCV_A0_REGNUM,
+					     &addr);
+	      if (readbuf != nullptr)
+		read_memory (addr, readbuf, info.length);
+	      if (writebuf != nullptr)
+		write_memory (addr, writebuf, info.length);
+	    }
+	    break;
+
+	  case riscv_arg_info::location::on_stack:
+	  default:
+	    error (_("invalid argument location"));
+	    break;
+	  }
+    }
+
+  switch (info.argloc[0].loc_type)
+    {
+    case riscv_arg_info::location::in_reg:
+      return RETURN_VALUE_REGISTER_CONVENTION;
+    case riscv_arg_info::location::by_ref:
+      return RETURN_VALUE_ABI_RETURNS_ADDRESS;
+    case riscv_arg_info::location::on_stack:
+    default:
+      error (_("invalid argument location"));
+    }
+}
+
+/* Implement the frame_align gdbarch method.  */
+
+static CORE_ADDR
+riscv_frame_align (struct gdbarch *gdbarch, CORE_ADDR addr)
+{
+  return align_down (addr, 16);
+}
+
+/* Implement the unwind_pc gdbarch method.  */
+
+static CORE_ADDR
+riscv_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
+{
+  return frame_unwind_register_unsigned (next_frame, RISCV_PC_REGNUM);
+}
+
+/* Implement the unwind_sp gdbarch method.  */
+
+static CORE_ADDR
+riscv_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
+{
+  return frame_unwind_register_unsigned (next_frame, RISCV_SP_REGNUM);
+}
+
+/* Implement the dummy_id gdbarch method.  */
+
+static struct frame_id
+riscv_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
+{
+  return frame_id_build (get_frame_register_signed (this_frame, RISCV_SP_REGNUM),
+			 get_frame_pc (this_frame));
+}
+
+/* Generate, or return the cached frame cache for the RiscV frame
+   unwinder.  */
+
+static struct trad_frame_cache *
+riscv_frame_cache (struct frame_info *this_frame, void **this_cache)
+{
+  CORE_ADDR pc;
+  CORE_ADDR start_addr;
+  CORE_ADDR stack_addr;
+  struct trad_frame_cache *this_trad_cache;
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
+
+  if ((*this_cache) != NULL)
+    return (struct trad_frame_cache *) *this_cache;
+  this_trad_cache = trad_frame_cache_zalloc (this_frame);
+  (*this_cache) = this_trad_cache;
+
+  trad_frame_set_reg_realreg (this_trad_cache, gdbarch_pc_regnum (gdbarch),
+			      RISCV_RA_REGNUM);
+
+  pc = get_frame_pc (this_frame);
+  find_pc_partial_function (pc, NULL, &start_addr, NULL);
+  stack_addr = get_frame_register_signed (this_frame, RISCV_SP_REGNUM);
+  trad_frame_set_id (this_trad_cache, frame_id_build (stack_addr, start_addr));
+
+  trad_frame_set_this_base (this_trad_cache, stack_addr);
+
+  return this_trad_cache;
+}
+
+/* Implement the this_id callback for RiscV frame unwinder.  */
+
+static void
+riscv_frame_this_id (struct frame_info *this_frame,
+		     void **prologue_cache,
+		     struct frame_id *this_id)
+{
+  struct trad_frame_cache *info;
+
+  info = riscv_frame_cache (this_frame, prologue_cache);
+  trad_frame_get_id (info, this_id);
+}
+
+/* Implement the prev_register callback for RiscV frame unwinder.  */
+
+static struct value *
+riscv_frame_prev_register (struct frame_info *this_frame,
+			   void **prologue_cache,
+			   int regnum)
+{
+  struct trad_frame_cache *info;
+
+  info = riscv_frame_cache (this_frame, prologue_cache);
+  return trad_frame_get_register (info, this_frame, regnum);
+}
+
+/* Structure defining the RiscV normal frame unwind functions.  Since we
+   are the fallback unwinder (DWARF unwinder is used first), we use the
+   default frame sniffer, which always accepts the frame.  */
+
+static const struct frame_unwind riscv_frame_unwind =
+{
+  /*.type          =*/ NORMAL_FRAME,
+  /*.stop_reason   =*/ default_frame_unwind_stop_reason,
+  /*.this_id       =*/ riscv_frame_this_id,
+  /*.prev_register =*/ riscv_frame_prev_register,
+  /*.unwind_data   =*/ NULL,
+  /*.sniffer       =*/ default_frame_sniffer,
+  /*.dealloc_cache =*/ NULL,
+  /*.prev_arch     =*/ NULL,
+};
+
+/* Initialize the current architecture based on INFO.  If possible,
+   re-use an architecture from ARCHES, which is a list of
+   architectures already created during this debugging session.
+
+   Called e.g. at program startup, when reading a core file, and when
+   reading a binary file.  */
+
+static struct gdbarch *
+riscv_gdbarch_init (struct gdbarch_info info,
+		    struct gdbarch_list *arches)
+{
+  struct gdbarch *gdbarch;
+  struct gdbarch_tdep *tdep;
+  struct gdbarch_tdep tmp_tdep;
+  bool has_compressed_isa = false;
+  int i;
+
+  /* Ideally, we'd like to get as much information from the target for
+     things like register size, and whether the target has floating point
+     hardware.  However, there are some things that the target can't tell
+     us, like, what ABI is being used.
+
+     So, for now, we take as much information as possible from the ELF,
+     including things like register size, and FP hardware support, along
+     with information about the ABI.
+
+     Information about this target is built up in TMP_TDEP, and then we
+     look for an existing gdbarch in ARCHES that matches TMP_TDEP.  If no
+     match is found we'll create a new gdbarch and copy TMP_TDEP over.  */
+  memset (&tmp_tdep, 0, sizeof (tmp_tdep));
+
+  if (info.abfd != NULL
+      && bfd_get_flavour (info.abfd) == bfd_target_elf_flavour)
+    {
+      unsigned char eclass = elf_elfheader (info.abfd)->e_ident[EI_CLASS];
+      int e_flags = elf_elfheader (info.abfd)->e_flags;
+
+      if (eclass == ELFCLASS32)
+	tmp_tdep.abi.fields.base_len = 1;
+      else if (eclass == ELFCLASS64)
+	tmp_tdep.abi.fields.base_len = 2;
+      else
+        internal_error (__FILE__, __LINE__,
+			_("unknown ELF header class %d"), eclass);
+
+      if (e_flags & EF_RISCV_RVC)
+	{
+	  has_compressed_isa = true;
+	  tmp_tdep.core_features |= (1 << ('C' - 'A'));
+	}
+
+      if (e_flags & EF_RISCV_FLOAT_ABI_DOUBLE)
+	{
+	  tmp_tdep.abi.fields.float_abi = 2;
+	  tmp_tdep.core_features |= (1 << ('D' - 'A'));
+	  tmp_tdep.core_features |= (1 << ('F' - 'A'));
+	}
+      else if (e_flags & EF_RISCV_FLOAT_ABI_SINGLE)
+	{
+	  tmp_tdep.abi.fields.float_abi = 1;
+	  tmp_tdep.core_features |= (1 << ('F' - 'A'));
+	}
+    }
+  else
+    {
+      const struct bfd_arch_info *binfo = info.bfd_arch_info;
+
+      if (binfo->bits_per_word == 32)
+	tmp_tdep.abi.fields.base_len = 1;
+      else if (binfo->bits_per_word == 64)
+	tmp_tdep.abi.fields.base_len = 2;
+      else
+        internal_error (__FILE__, __LINE__, _("unknown bits_per_word %d"),
+			binfo->bits_per_word);
+    }
+
+  /* Find a candidate among the list of pre-declared architectures.  */
+  for (arches = gdbarch_list_lookup_by_info (arches, &info);
+       arches != NULL;
+       arches = gdbarch_list_lookup_by_info (arches->next, &info))
+    if (gdbarch_tdep (arches->gdbarch)->abi.value == tmp_tdep.abi.value)
+      return arches->gdbarch;
+
+  /* None found, so create a new architecture from the information provided.  */
+  tdep = (struct gdbarch_tdep *) xmalloc (sizeof *tdep);
+  gdbarch = gdbarch_alloc (&info, tdep);
+  memcpy (tdep, &tmp_tdep, sizeof (tmp_tdep));
+
+  /* Target data types.  */
+  set_gdbarch_short_bit (gdbarch, 16);
+  set_gdbarch_int_bit (gdbarch, 32);
+  set_gdbarch_long_bit (gdbarch, riscv_isa_xlen (gdbarch) * 8);
+  set_gdbarch_long_long_bit (gdbarch, 64);
+  set_gdbarch_float_bit (gdbarch, 32);
+  set_gdbarch_double_bit (gdbarch, 64);
+  set_gdbarch_long_double_bit (gdbarch, 128);
+  set_gdbarch_long_double_format (gdbarch, floatformats_ia64_quad);
+  set_gdbarch_ptr_bit (gdbarch, riscv_isa_xlen (gdbarch) * 8);
+  set_gdbarch_char_signed (gdbarch, 0);
+
+  /* Information about the target architecture.  */
+  set_gdbarch_return_value (gdbarch, riscv_return_value);
+  set_gdbarch_breakpoint_kind_from_pc (gdbarch, riscv_breakpoint_kind_from_pc);
+  set_gdbarch_sw_breakpoint_from_kind (gdbarch, riscv_sw_breakpoint_from_kind);
+
+  /* Register architecture.  */
+  set_gdbarch_num_regs (gdbarch, RISCV_LAST_REGNUM + 1);
+  set_gdbarch_sp_regnum (gdbarch, RISCV_SP_REGNUM);
+  set_gdbarch_pc_regnum (gdbarch, RISCV_PC_REGNUM);
+  set_gdbarch_ps_regnum (gdbarch, RISCV_FP_REGNUM);
+  set_gdbarch_deprecated_fp_regnum (gdbarch, RISCV_FP_REGNUM);
+
+  /* Functions to supply register information.  */
+  set_gdbarch_register_name (gdbarch, riscv_register_name);
+  set_gdbarch_register_type (gdbarch, riscv_register_type);
+  set_gdbarch_print_registers_info (gdbarch, riscv_print_registers_info);
+  set_gdbarch_register_reggroup_p (gdbarch, riscv_register_reggroup_p);
+
+  /* Functions to analyze frames.  */
+  set_gdbarch_decr_pc_after_break (gdbarch, (has_compressed_isa ? 2 : 4));
+  set_gdbarch_skip_prologue (gdbarch, riscv_skip_prologue);
+  set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
+  set_gdbarch_frame_align (gdbarch, riscv_frame_align);
+
+  /* Functions to access frame data.  */
+  set_gdbarch_unwind_pc (gdbarch, riscv_unwind_pc);
+  set_gdbarch_unwind_sp (gdbarch, riscv_unwind_sp);
+
+  /* Functions handling dummy frames.  */
+  set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
+  set_gdbarch_push_dummy_code (gdbarch, riscv_push_dummy_code);
+  set_gdbarch_push_dummy_call (gdbarch, riscv_push_dummy_call);
+  set_gdbarch_dummy_id (gdbarch, riscv_dummy_id);
+
+  /* Frame unwinders.  Use DWARF debug info if available, otherwise use our own
+     unwinder.  */
+  dwarf2_append_unwinders (gdbarch);
+  frame_unwind_append_unwinder (gdbarch, &riscv_frame_unwind);
+
+  for (i = 0; i < ARRAY_SIZE (riscv_register_aliases); ++i)
+    user_reg_add (gdbarch, riscv_register_aliases[i].name,
+		  value_of_riscv_user_reg, &riscv_register_aliases[i].regnum);
+
+  return gdbarch;
+}
+
+
+/* Allocate new riscv_inferior_data object.  */
+
+static struct riscv_inferior_data *
+riscv_new_inferior_data (void)
+{
+  struct riscv_inferior_data *inf_data
+    = new (struct riscv_inferior_data);
+  inf_data->misa_read = false;
+  return inf_data;
+}
+
+/* Free inferior data.  */
+
+static void
+riscv_inferior_data_cleanup (struct inferior *inf, void *data)
+{
+  struct riscv_inferior_data *inf_data =
+    static_cast <struct riscv_inferior_data *> (data);
+  delete (inf_data);
+}
+
+/* Return riscv_inferior_data for the given INFERIOR.  If not yet created,
+   construct it.  */
+
+struct riscv_inferior_data *
+riscv_inferior_data (struct inferior *const inf)
+{
+  struct riscv_inferior_data *inf_data;
+
+  gdb_assert (inf != NULL);
+
+  inf_data
+    = (struct riscv_inferior_data *) inferior_data (inf, riscv_inferior_data_reg);
+  if (inf_data == NULL)
+    {
+      inf_data = riscv_new_inferior_data ();
+      set_inferior_data (inf, riscv_inferior_data_reg, inf_data);
+    }
+
+  return inf_data;
+}
+
+/* Free the inferior data when an inferior exits.  */
+
+static void
+riscv_invalidate_inferior_data (struct inferior *inf)
+{
+  struct riscv_inferior_data *inf_data;
+
+  gdb_assert (inf != NULL);
+
+  /* Don't call RISCV_INFERIOR_DATA as we don't want to create the data if
+     we've not already created it by this point.  */
+  inf_data
+    = (struct riscv_inferior_data *) inferior_data (inf, riscv_inferior_data_reg);
+  if (inf_data != NULL)
+    {
+      delete (inf_data);
+      set_inferior_data (inf, riscv_inferior_data_reg, NULL);
+    }
+}
+
+void
+_initialize_riscv_tdep (void)
+{
+  gdbarch_register (bfd_arch_riscv, riscv_gdbarch_init, NULL);
+
+  /* Register per-inferior data.  */
+  riscv_inferior_data_reg
+    = register_inferior_data_with_cleanup (NULL, riscv_inferior_data_cleanup);
+
+  /* Observers used to invalidate the inferior data when needed.  */
+  gdb::observers::inferior_exit.attach (riscv_invalidate_inferior_data);
+  gdb::observers::inferior_appeared.attach (riscv_invalidate_inferior_data);
+
+  /* Add root prefix command for all "set debug riscv" and "show debug
+     riscv" commands.  */
+  add_prefix_cmd ("riscv", no_class, set_debug_riscv_command,
+		  _("RISC-V specific debug commands."),
+		  &setdebugriscvcmdlist, "set debug riscv ", 0,
+		  &setdebuglist);
+
+  add_prefix_cmd ("riscv", no_class, show_debug_riscv_command,
+		  _("RISC-V specific debug commands."),
+		  &showdebugriscvcmdlist, "show debug riscv ", 0,
+		  &showdebuglist);
+
+  add_setshow_zuinteger_cmd ("infcall", class_maintenance,
+			     &riscv_debug_infcall,  _("\
+Set riscv inferior call debugging."), _("\
+Show riscv inferior call debugging."), _("\
+When non-zero, print debugging information for the riscv specific parts\n\
+of the inferior call mechanism."),
+			     NULL,
+			     show_riscv_debug_variable,
+			     &setdebugriscvcmdlist, &showdebugriscvcmdlist);
+
+  /* Add root prefix command for all "set riscv" and "show riscv" commands.  */
+  add_prefix_cmd ("riscv", no_class, set_riscv_command,
+		  _("RISC-V specific commands."),
+		  &setriscvcmdlist, "set riscv ", 0, &setlist);
+
+  add_prefix_cmd ("riscv", no_class, show_riscv_command,
+		  _("RISC-V specific commands."),
+		  &showriscvcmdlist, "show riscv ", 0, &showlist);
+
+
+  use_compressed_breakpoints = AUTO_BOOLEAN_AUTO;
+  add_setshow_auto_boolean_cmd ("use-compressed-breakpoints", no_class,
+				&use_compressed_breakpoints,
+				_("\
+Set debugger's use of compressed breakpoints."), _("	\
+Show debugger's use of compressed breakpoints."), _("\
+Debugging compressed code requires compressed breakpoints to be used. If\n \
+left to 'auto' then gdb will use them if $misa indicates the C extension\n \
+is supported. If that doesn't give the correct behavior, then this option\n\
+can be used."),
+				NULL,
+				show_use_compressed_breakpoints,
+				&setriscvcmdlist,
+				&showriscvcmdlist);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/riscv-tdep.h ./gdb/riscv-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/riscv-tdep.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/riscv-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,79 @@
+/* Target-dependent header for the RISC-V architecture, for GDB, the GNU Debugger.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef RISCV_TDEP_H
+#define RISCV_TDEP_H
+
+/* RiscV register numbers.  */
+enum
+{
+  RISCV_ZERO_REGNUM = 0,	/* Read-only register, always 0.  */
+  RISCV_RA_REGNUM = 1,		/* Return Address.  */
+  RISCV_SP_REGNUM = 2,		/* Stack Pointer.  */
+  RISCV_GP_REGNUM = 3,		/* Global Pointer.  */
+  RISCV_TP_REGNUM = 4,		/* Thread Pointer.  */
+  RISCV_FP_REGNUM = 8,		/* Frame Pointer.  */
+  RISCV_A0_REGNUM = 10,		/* First argument.  */
+  RISCV_A1_REGNUM = 11,		/* Second argument.  */
+  RISCV_PC_REGNUM = 32,		/* Program Counter.  */
+
+  RISCV_FIRST_FP_REGNUM = 33,	/* First Floating Point Register */
+  RISCV_FA0_REGNUM = 43,
+  RISCV_FA1_REGNUM = RISCV_FA0_REGNUM + 1,
+  RISCV_LAST_FP_REGNUM = 64,	/* Last Floating Point Register */
+
+  RISCV_FIRST_CSR_REGNUM = 65,  /* First CSR */
+#define DECLARE_CSR(name, num) RISCV_ ## num ## _REGNUM = RISCV_LAST_FP_REGNUM + 1 + num,
+#include "opcode/riscv-opc.h"
+#undef DECLARE_CSR
+  RISCV_LAST_CSR_REGNUM = 4160,
+  RISCV_CSR_LEGACY_MISA_REGNUM = 0xf10,
+
+  RISCV_PRIV_REGNUM = 4161,
+
+  RISCV_LAST_REGNUM = RISCV_PRIV_REGNUM
+};
+
+/* RISC-V specific per-architecture information.  */
+struct gdbarch_tdep
+{
+  union
+  {
+    /* Provide access to the whole ABI in one value.  */
+    unsigned value;
+
+    struct
+    {
+      /* Encode the base machine length following the same rules as in the
+	 MISA register.  */
+      unsigned base_len : 2;
+
+      /* Encode which floating point ABI is in use following the same rules
+	 as the ELF e_flags field.  */
+      unsigned float_abi : 2;
+    } fields;
+  } abi;
+
+  /* Only the least significant 26 bits are (possibly) valid, and indicate
+     features that are supported on the target.  These could be cached from
+     the target, or read from the executable when available.  */
+  unsigned core_features;
+};
+
+#endif /* RISCV_TDEP_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rl78-tdep.c ./gdb/rl78-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rl78-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/rl78-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -640,7 +640,7 @@ rl78_make_data_address (CORE_ADDR addr)
 
 static enum register_status
 rl78_pseudo_register_read (struct gdbarch *gdbarch,
-                           struct regcache *regcache,
+			   readable_regcache *regcache,
                            int reg, gdb_byte *buffer)
 {
   enum register_status status;
@@ -650,68 +650,67 @@ rl78_pseudo_register_read (struct gdbarc
       int raw_regnum = RL78_RAW_BANK0_R0_REGNUM
                        + (reg - RL78_BANK0_R0_REGNUM);
 
-      status = regcache_raw_read (regcache, raw_regnum, buffer);
+      status = regcache->raw_read (raw_regnum, buffer);
     }
   else if (RL78_BANK0_RP0_REGNUM <= reg && reg <= RL78_BANK3_RP3_REGNUM)
     {
       int raw_regnum = 2 * (reg - RL78_BANK0_RP0_REGNUM)
                        + RL78_RAW_BANK0_R0_REGNUM;
 
-      status = regcache_raw_read (regcache, raw_regnum, buffer);
+      status = regcache->raw_read (raw_regnum, buffer);
       if (status == REG_VALID)
-	status = regcache_raw_read (regcache, raw_regnum + 1, buffer + 1);
+	status = regcache->raw_read (raw_regnum + 1, buffer + 1);
     }
   else if (RL78_BANK0_RP0_PTR_REGNUM <= reg && reg <= RL78_BANK3_RP3_PTR_REGNUM)
     {
       int raw_regnum = 2 * (reg - RL78_BANK0_RP0_PTR_REGNUM)
                        + RL78_RAW_BANK0_R0_REGNUM;
 
-      status = regcache_raw_read (regcache, raw_regnum, buffer);
+      status = regcache->raw_read (raw_regnum, buffer);
       if (status == REG_VALID)
-	status = regcache_raw_read (regcache, raw_regnum + 1, buffer + 1);
+	status = regcache->raw_read (raw_regnum + 1, buffer + 1);
     }
   else if (reg == RL78_SP_REGNUM)
     {
-      status = regcache_raw_read (regcache, RL78_SPL_REGNUM, buffer);
+      status = regcache->raw_read (RL78_SPL_REGNUM, buffer);
       if (status == REG_VALID)
-	status = regcache_raw_read (regcache, RL78_SPH_REGNUM, buffer + 1);
+	status = regcache->raw_read (RL78_SPH_REGNUM, buffer + 1);
     }
   else if (reg == RL78_PC_REGNUM)
     {
       gdb_byte rawbuf[4];
 
-      status = regcache_raw_read (regcache, RL78_RAW_PC_REGNUM, rawbuf);
+      status = regcache->raw_read (RL78_RAW_PC_REGNUM, rawbuf);
       memcpy (buffer, rawbuf, 3);
     }
   else if (RL78_X_REGNUM <= reg && reg <= RL78_H_REGNUM)
     {
       ULONGEST psw;
 
-      status = regcache_raw_read_unsigned (regcache, RL78_PSW_REGNUM, &psw);
+      status = regcache->raw_read (RL78_PSW_REGNUM, &psw);
       if (status == REG_VALID)
 	{
 	  /* RSB0 is at bit 3; RSBS1 is at bit 5.  */
 	  int bank = ((psw >> 3) & 1) | ((psw >> 4) & 1);
 	  int raw_regnum = RL78_RAW_BANK0_R0_REGNUM + bank * RL78_REGS_PER_BANK
 	                   + (reg - RL78_X_REGNUM);
-	  status = regcache_raw_read (regcache, raw_regnum, buffer);
+	  status = regcache->raw_read (raw_regnum, buffer);
 	}
     }
   else if (RL78_AX_REGNUM <= reg && reg <= RL78_HL_REGNUM)
     {
       ULONGEST psw;
 
-      status = regcache_raw_read_unsigned (regcache, RL78_PSW_REGNUM, &psw);
+      status = regcache->raw_read (RL78_PSW_REGNUM, &psw);
       if (status == REG_VALID)
 	{
 	  /* RSB0 is at bit 3; RSBS1 is at bit 5.  */
 	  int bank = ((psw >> 3) & 1) | ((psw >> 4) & 1);
 	  int raw_regnum = RL78_RAW_BANK0_R0_REGNUM + bank * RL78_REGS_PER_BANK
 	                   + 2 * (reg - RL78_AX_REGNUM);
-	  status = regcache_raw_read (regcache, raw_regnum, buffer);
+	  status = regcache->raw_read (raw_regnum, buffer);
 	  if (status == REG_VALID)
-	    status = regcache_raw_read (regcache, raw_regnum + 1,
-	                                buffer + 1);
+	    status = regcache->raw_read (raw_regnum + 1, buffer + 1);
 	}
     }
   else
@@ -731,28 +730,28 @@ rl78_pseudo_register_write (struct gdbar
       int raw_regnum = RL78_RAW_BANK0_R0_REGNUM
                        + (reg - RL78_BANK0_R0_REGNUM);
 
-      regcache_raw_write (regcache, raw_regnum, buffer);
+      regcache->raw_write (raw_regnum, buffer);
     }
   else if (RL78_BANK0_RP0_REGNUM <= reg && reg <= RL78_BANK3_RP3_REGNUM)
     {
       int raw_regnum = 2 * (reg - RL78_BANK0_RP0_REGNUM)
                        + RL78_RAW_BANK0_R0_REGNUM;
 
-      regcache_raw_write (regcache, raw_regnum, buffer);
-      regcache_raw_write (regcache, raw_regnum + 1, buffer + 1);
+      regcache->raw_write (raw_regnum, buffer);
+      regcache->raw_write (raw_regnum + 1, buffer + 1);
     }
   else if (RL78_BANK0_RP0_PTR_REGNUM <= reg && reg <= RL78_BANK3_RP3_PTR_REGNUM)
     {
       int raw_regnum = 2 * (reg - RL78_BANK0_RP0_PTR_REGNUM)
                        + RL78_RAW_BANK0_R0_REGNUM;
 
-      regcache_raw_write (regcache, raw_regnum, buffer);
-      regcache_raw_write (regcache, raw_regnum + 1, buffer + 1);
+      regcache->raw_write (raw_regnum, buffer);
+      regcache->raw_write (raw_regnum + 1, buffer + 1);
     }
   else if (reg == RL78_SP_REGNUM)
     {
-      regcache_raw_write (regcache, RL78_SPL_REGNUM, buffer);
-      regcache_raw_write (regcache, RL78_SPH_REGNUM, buffer + 1);
+      regcache->raw_write (RL78_SPL_REGNUM, buffer);
+      regcache->raw_write (RL78_SPH_REGNUM, buffer + 1);
     }
   else if (reg == RL78_PC_REGNUM)
     {
@@ -760,7 +759,7 @@ rl78_pseudo_register_write (struct gdbar
 
       memcpy (rawbuf, buffer, 3);
       rawbuf[3] = 0;
-      regcache_raw_write (regcache, RL78_RAW_PC_REGNUM, rawbuf);
+      regcache->raw_write (RL78_RAW_PC_REGNUM, rawbuf);
     }
   else if (RL78_X_REGNUM <= reg && reg <= RL78_H_REGNUM)
     {
@@ -773,7 +772,7 @@ rl78_pseudo_register_write (struct gdbar
       /* RSB0 is at bit 3; RSBS1 is at bit 5.  */
       raw_regnum = RL78_RAW_BANK0_R0_REGNUM + bank * RL78_REGS_PER_BANK
 	           + (reg - RL78_X_REGNUM);
-      regcache_raw_write (regcache, raw_regnum, buffer);
+      regcache->raw_write (raw_regnum, buffer);
     }
   else if (RL78_AX_REGNUM <= reg && reg <= RL78_HL_REGNUM)
     {
@@ -785,8 +784,8 @@ rl78_pseudo_register_write (struct gdbar
       /* RSB0 is at bit 3; RSBS1 is at bit 5.  */
       raw_regnum = RL78_RAW_BANK0_R0_REGNUM + bank * RL78_REGS_PER_BANK
 		   + 2 * (reg - RL78_AX_REGNUM);
-      regcache_raw_write (regcache, raw_regnum, buffer);
-      regcache_raw_write (regcache, raw_regnum + 1, buffer + 1);
+      regcache->raw_write (raw_regnum, buffer);
+      regcache->raw_write (raw_regnum + 1, buffer + 1);
     }
   else
     gdb_assert_not_reached ("invalid pseudo register number");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rs6000-aix-tdep.c ./gdb/rs6000-aix-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rs6000-aix-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/rs6000-aix-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -70,12 +70,7 @@ static struct ppc_reg_offsets rs6000_aix
   /* Floating-point registers.  */
   336, /* f0_offset */
   56, /* fpscr_offset */
-  4,  /* fpscr_size */
-
-  /* AltiVec registers.  */
-  -1, /* vr0_offset */
-  -1, /* vscr_offset */
-  -1 /* vrsave_offset */
+  4  /* fpscr_size */
 };
 
 static struct ppc_reg_offsets rs6000_aix64_reg_offsets =
@@ -95,12 +90,7 @@ static struct ppc_reg_offsets rs6000_aix
   /* Floating-point registers.  */
   312, /* f0_offset */
   296, /* fpscr_offset */
-  4,  /* fpscr_size */
-
-  /* AltiVec registers.  */
-  -1, /* vr0_offset */
-  -1, /* vscr_offset */
-  -1 /* vrsave_offset */
+  4  /* fpscr_size */
 };
 
 
@@ -260,7 +250,7 @@ rs6000_push_dummy_call (struct gdbarch *
 	  gdb_assert (len <= 8);
 
 	  target_float_convert (value_contents (arg), type, reg_val, reg_type);
-	  regcache_cooked_write (regcache, fp_regnum, reg_val);
+	  regcache->cooked_write (fp_regnum, reg_val);
 	  ++f_argno;
 	}
 
@@ -276,9 +266,7 @@ rs6000_push_dummy_call (struct gdbarch *
 		      ((char *) value_contents (arg)) + argbytes,
 		      (len - argbytes) > reg_size
 		        ? reg_size : len - argbytes);
-	      regcache_cooked_write (regcache,
-	                            tdep->ppc_gp0_regnum + 3 + ii,
-				    word);
+	      regcache->cooked_write (tdep->ppc_gp0_regnum + 3 + ii, word);
 	      ++ii, argbytes += reg_size;
 
 	      if (ii >= 8)
@@ -294,7 +282,7 @@ rs6000_push_dummy_call (struct gdbarch *
 
 	  memset (word, 0, reg_size);
 	  memcpy (word, value_contents (arg), len);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 3 +ii, word);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 3 +ii, word);
 	}
       ++argno;
     }
@@ -376,9 +364,8 @@ ran_out_of_registers_for_arguments:
 
 	      gdb_assert (len <= 8);
 
-	      regcache_cooked_write (regcache,
-				     tdep->ppc_fp0_regnum + 1 + f_argno,
-				     value_contents (arg));
+	      regcache->cooked_write (tdep->ppc_fp0_regnum + 1 + f_argno,
+				      value_contents (arg));
 	      ++f_argno;
 	    }
 
@@ -430,9 +417,9 @@ rs6000_return_value (struct gdbarch *gdb
       && TYPE_LENGTH (valtype) == 16)
     {
       if (readbuf)
-	regcache_cooked_read (regcache, tdep->ppc_vr0_regnum + 2, readbuf);
+	regcache->cooked_read (tdep->ppc_vr0_regnum + 2, readbuf);
       if (writebuf)
-	regcache_cooked_write (regcache, tdep->ppc_vr0_regnum + 2, writebuf);
+	regcache->cooked_write (tdep->ppc_vr0_regnum + 2, writebuf);
 
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
@@ -462,13 +449,13 @@ rs6000_return_value (struct gdbarch *gdb
 
       if (readbuf)
 	{
-	  regcache_cooked_read (regcache, tdep->ppc_fp0_regnum + 1, regval);
+	  regcache->cooked_read (tdep->ppc_fp0_regnum + 1, regval);
 	  target_float_convert (regval, regtype, readbuf, valtype);
 	}
       if (writebuf)
 	{
 	  target_float_convert (writebuf, valtype, regval, regtype);
-	  regcache_cooked_write (regcache, tdep->ppc_fp0_regnum + 1, regval);
+	  regcache->cooked_write (tdep->ppc_fp0_regnum + 1, regval);
 	}
 
       return RETURN_VALUE_REGISTER_CONVENTION;
@@ -514,16 +501,14 @@ rs6000_return_value (struct gdbarch *gdb
 	{
 	  gdb_byte regval[8];
 
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 3, regval);
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 4,
-				regval + 4);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 3, regval);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 4, regval + 4);
 	  memcpy (readbuf, regval, 8);
 	}
       if (writebuf)
 	{
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 3, writebuf);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 4,
-				 writebuf + 4);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 3, writebuf);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 4, writebuf + 4);
 	}
 
       return RETURN_VALUE_REGISTER_CONVENTION;
@@ -1007,9 +992,6 @@ rs6000_aix_core_xfer_shared_libraries_ai
 {
   struct bfd_section *ldinfo_sec;
   int ldinfo_size;
-  gdb_byte *ldinfo_buf;
-  struct cleanup *cleanup;
-  LONGEST result;
 
   ldinfo_sec = bfd_get_section_by_name (core_bfd, ".ldinfo");
   if (ldinfo_sec == NULL)
@@ -1017,19 +999,15 @@ rs6000_aix_core_xfer_shared_libraries_ai
 	   bfd_errmsg (bfd_get_error ()));
   ldinfo_size = bfd_get_section_size (ldinfo_sec);
 
-  ldinfo_buf = (gdb_byte *) xmalloc (ldinfo_size);
-  cleanup = make_cleanup (xfree, ldinfo_buf);
+  gdb::byte_vector ldinfo_buf (ldinfo_size);
 
   if (! bfd_get_section_contents (core_bfd, ldinfo_sec,
-				  ldinfo_buf, 0, ldinfo_size))
+				  ldinfo_buf.data (), 0, ldinfo_size))
     error (_("unable to read .ldinfo section from core file: %s"),
 	  bfd_errmsg (bfd_get_error ()));
 
-  result = rs6000_aix_ld_info_to_xml (gdbarch, ldinfo_buf, readbuf,
-				      offset, len, 0);
-
-  do_cleanups (cleanup);
-  return result;
+  return rs6000_aix_ld_info_to_xml (gdbarch, ldinfo_buf.data (), readbuf,
+				    offset, len, 0);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rs6000-lynx178-tdep.c ./gdb/rs6000-lynx178-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rs6000-lynx178-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/rs6000-lynx178-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -112,7 +112,7 @@ rs6000_lynx178_push_dummy_call (struct g
 	  gdb_assert (len <= 8);
 
 	  target_float_convert (value_contents (arg), type, reg_val, reg_type);
-	  regcache_cooked_write (regcache, fp_regnum, reg_val);
+	  regcache->cooked_write (fp_regnum, reg_val);
 	  ++f_argno;
 	}
 
@@ -128,9 +128,7 @@ rs6000_lynx178_push_dummy_call (struct g
 		      ((char *) value_contents (arg)) + argbytes,
 		      (len - argbytes) > reg_size
 		        ? reg_size : len - argbytes);
-	      regcache_cooked_write (regcache,
-	                            tdep->ppc_gp0_regnum + 3 + ii,
-				    word);
+	      regcache->cooked_write (tdep->ppc_gp0_regnum + 3 + ii, word);
 	      ++ii, argbytes += reg_size;
 
 	      if (ii >= 8)
@@ -146,7 +144,7 @@ rs6000_lynx178_push_dummy_call (struct g
 
 	  memset (word, 0, reg_size);
 	  memcpy (word, value_contents (arg), len);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 3 +ii, word);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 3 +ii, word);
 	}
       ++argno;
     }
@@ -229,9 +227,8 @@ ran_out_of_registers_for_arguments:
 
 	      gdb_assert (len <= 8);
 
-	      regcache_cooked_write (regcache,
-				     tdep->ppc_fp0_regnum + 1 + f_argno,
-				     value_contents (arg));
+	      regcache->cooked_write (tdep->ppc_fp0_regnum + 1 + f_argno,
+				      value_contents (arg));
 	      ++f_argno;
 	    }
 
@@ -281,9 +278,9 @@ rs6000_lynx178_return_value (struct gdba
       && TYPE_LENGTH (valtype) == 16)
     {
       if (readbuf)
-	regcache_cooked_read (regcache, tdep->ppc_vr0_regnum + 2, readbuf);
+	regcache->cooked_read (tdep->ppc_vr0_regnum + 2, readbuf);
       if (writebuf)
-	regcache_cooked_write (regcache, tdep->ppc_vr0_regnum + 2, writebuf);
+	regcache->cooked_write (tdep->ppc_vr0_regnum + 2, writebuf);
 
       return RETURN_VALUE_REGISTER_CONVENTION;
     }
@@ -313,13 +310,13 @@ rs6000_lynx178_return_value (struct gdba
 
       if (readbuf)
 	{
-	  regcache_cooked_read (regcache, tdep->ppc_fp0_regnum + 1, regval);
+	  regcache->cooked_read (tdep->ppc_fp0_regnum + 1, regval);
 	  target_float_convert (regval, regtype, readbuf, valtype);
 	}
       if (writebuf)
 	{
 	  target_float_convert (writebuf, valtype, regval, regtype);
-	  regcache_cooked_write (regcache, tdep->ppc_fp0_regnum + 1, regval);
+	  regcache->cooked_write (tdep->ppc_fp0_regnum + 1, regval);
 	}
 
       return RETURN_VALUE_REGISTER_CONVENTION;
@@ -365,16 +362,14 @@ rs6000_lynx178_return_value (struct gdba
 	{
 	  gdb_byte regval[8];
 
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 3, regval);
-	  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum + 4,
-				regval + 4);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 3, regval);
+	  regcache->cooked_read (tdep->ppc_gp0_regnum + 4, regval + 4);
 	  memcpy (readbuf, regval, 8);
 	}
       if (writebuf)
 	{
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 3, writebuf);
-	  regcache_cooked_write (regcache, tdep->ppc_gp0_regnum + 4,
-				 writebuf + 4);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 3, writebuf);
+	  regcache->cooked_write (tdep->ppc_gp0_regnum + 4, writebuf + 4);
 	}
 
       return RETURN_VALUE_REGISTER_CONVENTION;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rs6000-nat.c ./gdb/rs6000-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rs6000-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/rs6000-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -33,7 +33,7 @@
 #include "rs6000-tdep.h"
 #include "rs6000-aix-tdep.h"
 #include "exec.h"
-#include "observer.h"
+#include "observable.h"
 #include "xcoffread.h"
 
 #include <sys/ptrace.h>
@@ -74,7 +74,34 @@
 # define ARCH64() (register_size (target_gdbarch (), 0) == 8)
 #endif
 
-static target_xfer_partial_ftype rs6000_xfer_shared_libraries;
+class rs6000_nat_target final : public inf_ptrace_target
+{
+public:
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  void create_inferior (const char *, const std::string &,
+			char **, int) override;
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+private:
+  enum target_xfer_status
+    xfer_shared_libraries (enum target_object object,
+			   const char *annex, gdb_byte *readbuf,
+			   const gdb_byte *writebuf,
+			   ULONGEST offset, ULONGEST len,
+			   ULONGEST *xfered_len);
+};
+
+static rs6000_nat_target the_rs6000_nat_target;
 
 /* Given REGNO, a gdb register number, return the corresponding
    number suitable for use as a ptrace() parameter.  Return -1 if
@@ -164,7 +191,7 @@ fetch_register (struct regcache *regcach
   struct gdbarch *gdbarch = regcache->arch ();
   int addr[PPC_MAX_REGISTER_SIZE];
   int nr, isfloat;
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   /* Retrieved values may be -1, so infer errors from errno.  */
   errno = 0;
@@ -204,7 +231,7 @@ fetch_register (struct regcache *regcach
     }
 
   if (!errno)
-    regcache_raw_supply (regcache, regno, (char *) addr);
+    regcache->raw_supply (regno, (char *) addr);
   else
     {
 #if 0
@@ -223,10 +250,10 @@ store_register (struct regcache *regcach
   struct gdbarch *gdbarch = regcache->arch ();
   int addr[PPC_MAX_REGISTER_SIZE];
   int nr, isfloat;
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   /* Fetch the register's value from the register cache.  */
-  regcache_raw_collect (regcache, regno, addr);
+  regcache->raw_collect (regno, addr);
 
   /* -1 can be a successful return value, so infer errors from errno.  */
   errno = 0;
@@ -277,9 +304,8 @@ store_register (struct regcache *regcach
 /* Read from the inferior all registers if REGNO == -1 and just register
    REGNO otherwise.  */
 
-static void
-rs6000_fetch_inferior_registers (struct target_ops *ops,
-				 struct regcache *regcache, int regno)
+void
+rs6000_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   if (regno != -1)
@@ -320,9 +346,8 @@ rs6000_fetch_inferior_registers (struct 
    If REGNO is -1, do this for all registers.
    Otherwise, REGNO specifies which register (so we can save time).  */
 
-static void
-rs6000_store_inferior_registers (struct target_ops *ops,
-				 struct regcache *regcache, int regno)
+void
+rs6000_nat_target::store_registers (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   if (regno != -1)
@@ -361,21 +386,22 @@ rs6000_store_inferior_registers (struct 
 
 /* Implement the to_xfer_partial target_ops method.  */
 
-static enum target_xfer_status
-rs6000_xfer_partial (struct target_ops *ops, enum target_object object,
-		     const char *annex, gdb_byte *readbuf,
-		     const gdb_byte *writebuf,
-		     ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+rs6000_nat_target::xfer_partial (enum target_object object,
+				 const char *annex, gdb_byte *readbuf,
+				 const gdb_byte *writebuf,
+				 ULONGEST offset, ULONGEST len,
+				 ULONGEST *xfered_len)
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
+  pid_t pid = inferior_ptid.pid ();
   int arch64 = ARCH64 ();
 
   switch (object)
     {
     case TARGET_OBJECT_LIBRARIES_AIX:
-      return rs6000_xfer_shared_libraries (ops, object, annex,
-					   readbuf, writebuf,
-					   offset, len, xfered_len);
+      return xfer_shared_libraries (object, annex,
+				    readbuf, writebuf,
+				    offset, len, xfered_len);
     case TARGET_OBJECT_MEMORY:
       {
 	union
@@ -467,9 +493,9 @@ rs6000_xfer_partial (struct target_ops *
    process ID of the child, or MINUS_ONE_PTID in case of error; store
    the status in *OURSTATUS.  */
 
-static ptid_t
-rs6000_wait (struct target_ops *ops,
-	     ptid_t ptid, struct target_waitstatus *ourstatus, int options)
+ptid_t
+rs6000_nat_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
+			 int options)
 {
   pid_t pid;
   int status, save_errno;
@@ -480,7 +506,7 @@ rs6000_wait (struct target_ops *ops,
 
       do
 	{
-	  pid = waitpid (ptid_get_pid (ptid), &status, 0);
+	  pid = waitpid (ptid.pid (), &status, 0);
 	  save_errno = errno;
 	}
       while (pid == -1 && errno == EINTR);
@@ -500,7 +526,7 @@ rs6000_wait (struct target_ops *ops,
 	}
 
       /* Ignore terminated detached child processes.  */
-      if (!WIFSTOPPED (status) && pid != ptid_get_pid (inferior_ptid))
+      if (!WIFSTOPPED (status) && pid != inferior_ptid.pid ())
 	pid = -1;
     }
   while (pid == -1);
@@ -517,27 +543,24 @@ rs6000_wait (struct target_ops *ops,
   else
     store_waitstatus (ourstatus, status);
 
-  return pid_to_ptid (pid);
+  return ptid_t (pid);
 }
 
 
 /* Set the current architecture from the host running GDB.  Called when
    starting a child process.  */
 
-static void (*super_create_inferior) (struct target_ops *,
-				      const char *exec_file,
-				      const std::string &allargs,
-				      char **env, int from_tty);
-static void
-rs6000_create_inferior (struct target_ops * ops, const char *exec_file,
-			const std::string &allargs, char **env, int from_tty)
+void
+rs6000_nat_target::create_inferior (const char *exec_file,
+				    const std::string &allargs,
+				    char **env, int from_tty)
 {
   enum bfd_architecture arch;
   unsigned long mach;
   bfd abfd;
   struct gdbarch_info info;
 
-  super_create_inferior (ops, exec_file, allargs, env, from_tty);
+  inf_ptrace_target::create_inferior (exec_file, allargs, env, from_tty);
 
   if (__power_rs ())
     {
@@ -583,25 +606,23 @@ rs6000_create_inferior (struct target_op
 /* Shared Object support.  */
 
 /* Return the LdInfo data for the given process.  Raises an error
-   if the data could not be obtained.
-
-   The returned value must be deallocated after use.  */
+   if the data could not be obtained.  */
 
-static gdb_byte *
+static gdb::byte_vector
 rs6000_ptrace_ldinfo (ptid_t ptid)
 {
-  const int pid = ptid_get_pid (ptid);
-  int ldi_size = 1024;
-  void *ldi = xmalloc (ldi_size);
+  const int pid = ptid.pid ();
+  gdb::byte_vector ldi (1024);
   int rc = -1;
 
   while (1)
     {
       if (ARCH64 ())
-	rc = rs6000_ptrace64 (PT_LDINFO, pid, (unsigned long) ldi, ldi_size,
-			      NULL);
+	rc = rs6000_ptrace64 (PT_LDINFO, pid, (unsigned long) ldi.data (),
+			      ldi.size (), NULL);
       else
-	rc = rs6000_ptrace32 (PT_LDINFO, pid, (int *) ldi, ldi_size, NULL);
+	rc = rs6000_ptrace32 (PT_LDINFO, pid, (int *) ldi.data (),
+			      ldi.size (), NULL);
 
       if (rc != -1)
 	break; /* Success, we got the entire ld_info data.  */
@@ -610,25 +631,22 @@ rs6000_ptrace_ldinfo (ptid_t ptid)
 	perror_with_name (_("ptrace ldinfo"));
 
       /* ldi is not big enough.  Double it and try again.  */
-      ldi_size *= 2;
-      ldi = xrealloc (ldi, ldi_size);
+      ldi.resize (ldi.size () * 2);
     }
 
-  return (gdb_byte *) ldi;
+  return ldi;
 }
 
 /* Implement the to_xfer_partial target_ops method for
    TARGET_OBJECT_LIBRARIES_AIX objects.  */
 
-static enum target_xfer_status
-rs6000_xfer_shared_libraries
-  (struct target_ops *ops, enum target_object object,
+enum target_xfer_status
+rs6000_nat_target::xfer_shared_libraries
+  (enum target_object object,
    const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf,
    ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 {
-  gdb_byte *ldi_buf;
   ULONGEST result;
-  struct cleanup *cleanup;
 
   /* This function assumes that it is being run with a live process.
      Core files are handled via gdbarch.  */
@@ -637,14 +655,9 @@ rs6000_xfer_shared_libraries
   if (writebuf)
     return TARGET_XFER_E_IO;
 
-  ldi_buf = rs6000_ptrace_ldinfo (inferior_ptid);
-  gdb_assert (ldi_buf != NULL);
-  cleanup = make_cleanup (xfree, ldi_buf);
-  result = rs6000_aix_ld_info_to_xml (target_gdbarch (), ldi_buf,
+  gdb::byte_vector ldi_buf = rs6000_ptrace_ldinfo (inferior_ptid);
+  result = rs6000_aix_ld_info_to_xml (target_gdbarch (), ldi_buf.data (),
 				      readbuf, offset, len, 1);
-  xfree (ldi_buf);
-
-  do_cleanups (cleanup);
 
   if (result == 0)
     return TARGET_XFER_EOF;
@@ -658,17 +671,5 @@ rs6000_xfer_shared_libraries
 void
 _initialize_rs6000_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = rs6000_fetch_inferior_registers;
-  t->to_store_registers = rs6000_store_inferior_registers;
-  t->to_xfer_partial = rs6000_xfer_partial;
-
-  super_create_inferior = t->to_create_inferior;
-  t->to_create_inferior = rs6000_create_inferior;
-
-  t->to_wait = rs6000_wait;
-
-  add_target (t);
+  add_inf_child_target (&the_rs6000_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rs6000-tdep.c ./gdb/rs6000-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rs6000-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/rs6000-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -224,16 +224,6 @@ ppc_floating_point_unit_p (struct gdbarc
 }
 
 /* Return non-zero if the architecture described by GDBARCH has
-   VSX registers (vsr0 --- vsr63).  */
-static int
-ppc_vsx_support_p (struct gdbarch *gdbarch)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  return tdep->ppc_vsr0_regnum >= 0;
-}
-
-/* Return non-zero if the architecture described by GDBARCH has
    Altivec registers (vr0 --- vr31, vrsave and vscr).  */
 int
 ppc_altivec_support_p (struct gdbarch *gdbarch)
@@ -399,7 +389,7 @@ ppc_supply_reg (struct regcache *regcach
 	      && gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
 	    offset += regsize - gdb_regsize;
 	}
-      regcache_raw_supply (regcache, regnum, regs + offset);
+      regcache->raw_supply (regnum, regs + offset);
     }
 }
 
@@ -428,7 +418,7 @@ ppc_collect_reg (const struct regcache *
 			regsize - gdb_regsize);
 	    }
 	}
-      regcache_raw_collect (regcache, regnum, regs + offset);
+      regcache->raw_collect (regnum, regs + offset);
     }
 }
     
@@ -485,24 +475,6 @@ ppc_fpreg_offset (struct gdbarch_tdep *t
   return -1;
 }
 
-static int
-ppc_vrreg_offset (struct gdbarch_tdep *tdep,
-		  const struct ppc_reg_offsets *offsets,
-		  int regnum)
-{
-  if (regnum >= tdep->ppc_vr0_regnum
-      && regnum < tdep->ppc_vr0_regnum + ppc_num_vrs)
-    return offsets->vr0_offset + (regnum - tdep->ppc_vr0_regnum) * 16;
-
-  if (regnum == tdep->ppc_vrsave_regnum - 1)
-    return offsets->vscr_offset;
-
-  if (regnum == tdep->ppc_vrsave_regnum)
-    return offsets->vrsave_offset;
-
-  return -1;
-}
-
 /* Supply register REGNUM in the general-purpose register set REGSET
    from the buffer specified by GREGS and LEN to register cache
    REGCACHE.  If REGNUM is -1, do this for all registers in REGSET.  */
@@ -591,81 +563,6 @@ ppc_supply_fpregset (const struct regset
 		  regnum == tdep->ppc_fpscr_regnum ? offsets->fpscr_size : 8);
 }
 
-/* Supply register REGNUM in the VSX register set REGSET
-   from the buffer specified by VSXREGS and LEN to register cache
-   REGCACHE.  If REGNUM is -1, do this for all registers in REGSET.  */
-
-void
-ppc_supply_vsxregset (const struct regset *regset, struct regcache *regcache,
-		     int regnum, const void *vsxregs, size_t len)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep;
-
-  if (!ppc_vsx_support_p (gdbarch))
-    return;
-
-  tdep = gdbarch_tdep (gdbarch);
-
-  if (regnum == -1)
-    {
-      int i;
-
-      for (i = tdep->ppc_vsr0_upper_regnum;
-	   i < tdep->ppc_vsr0_upper_regnum + 32;
-	   i++)
-	ppc_supply_reg (regcache, i, (const gdb_byte *) vsxregs, 0, 8);
-
-      return;
-    }
-  else
-    ppc_supply_reg (regcache, regnum, (const gdb_byte *) vsxregs, 0, 8);
-}
-
-/* Supply register REGNUM in the Altivec register set REGSET
-   from the buffer specified by VRREGS and LEN to register cache
-   REGCACHE.  If REGNUM is -1, do this for all registers in REGSET.  */
-
-void
-ppc_supply_vrregset (const struct regset *regset, struct regcache *regcache,
-		     int regnum, const void *vrregs, size_t len)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep;
-  const struct ppc_reg_offsets *offsets;
-  size_t offset;
-
-  if (!ppc_altivec_support_p (gdbarch))
-    return;
-
-  tdep = gdbarch_tdep (gdbarch);
-  offsets = (const struct ppc_reg_offsets *) regset->regmap;
-  if (regnum == -1)
-    {
-      int i;
-
-      for (i = tdep->ppc_vr0_regnum, offset = offsets->vr0_offset;
-	   i < tdep->ppc_vr0_regnum + ppc_num_vrs;
-	   i++, offset += 16)
-        ppc_supply_reg (regcache, i, (const gdb_byte *) vrregs, offset, 16);
-
-      ppc_supply_reg (regcache, (tdep->ppc_vrsave_regnum - 1),
-		      (const gdb_byte *) vrregs, offsets->vscr_offset, 4);
-
-      ppc_supply_reg (regcache, tdep->ppc_vrsave_regnum,
-		      (const gdb_byte *) vrregs, offsets->vrsave_offset, 4);
-      return;
-    }
-
-  offset = ppc_vrreg_offset (tdep, offsets, regnum);
-  if (regnum != tdep->ppc_vrsave_regnum
-      && regnum != tdep->ppc_vrsave_regnum - 1)
-    ppc_supply_reg (regcache, regnum, (const gdb_byte *) vrregs, offset, 16);
-  else
-    ppc_supply_reg (regcache, regnum,
-		    (const gdb_byte *) vrregs, offset, 4);
-}
-
 /* Collect register REGNUM in the general-purpose register set
    REGSET from register cache REGCACHE into the buffer specified by
    GREGS and LEN.  If REGNUM is -1, do this for all registers in
@@ -757,87 +654,6 @@ ppc_collect_fpregset (const struct regse
 		   regnum == tdep->ppc_fpscr_regnum ? offsets->fpscr_size : 8);
 }
 
-/* Collect register REGNUM in the VSX register set
-   REGSET from register cache REGCACHE into the buffer specified by
-   VSXREGS and LEN.  If REGNUM is -1, do this for all registers in
-   REGSET.  */
-
-void
-ppc_collect_vsxregset (const struct regset *regset,
-		      const struct regcache *regcache,
-		      int regnum, void *vsxregs, size_t len)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep;
-
-  if (!ppc_vsx_support_p (gdbarch))
-    return;
-
-  tdep = gdbarch_tdep (gdbarch);
-
-  if (regnum == -1)
-    {
-      int i;
-
-      for (i = tdep->ppc_vsr0_upper_regnum;
-	   i < tdep->ppc_vsr0_upper_regnum + 32;
-	   i++)
-	ppc_collect_reg (regcache, i, (gdb_byte *) vsxregs, 0, 8);
-
-      return;
-    }
-  else
-    ppc_collect_reg (regcache, regnum, (gdb_byte *) vsxregs, 0, 8);
-}
-
-
-/* Collect register REGNUM in the Altivec register set
-   REGSET from register cache REGCACHE into the buffer specified by
-   VRREGS and LEN.  If REGNUM is -1, do this for all registers in
-   REGSET.  */
-
-void
-ppc_collect_vrregset (const struct regset *regset,
-		      const struct regcache *regcache,
-		      int regnum, void *vrregs, size_t len)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep;
-  const struct ppc_reg_offsets *offsets;
-  size_t offset;
-
-  if (!ppc_altivec_support_p (gdbarch))
-    return;
-
-  tdep = gdbarch_tdep (gdbarch);
-  offsets = (const struct ppc_reg_offsets *) regset->regmap;
-  if (regnum == -1)
-    {
-      int i;
-
-      for (i = tdep->ppc_vr0_regnum, offset = offsets->vr0_offset;
-	   i < tdep->ppc_vr0_regnum + ppc_num_vrs;
-	   i++, offset += 16)
-	ppc_collect_reg (regcache, i, (gdb_byte *) vrregs, offset, 16);
-
-      ppc_collect_reg (regcache, (tdep->ppc_vrsave_regnum - 1),
-		       (gdb_byte *) vrregs, offsets->vscr_offset, 4);
-
-      ppc_collect_reg (regcache, tdep->ppc_vrsave_regnum,
-		       (gdb_byte *) vrregs, offsets->vrsave_offset, 4);
-      return;
-    }
-
-  offset = ppc_vrreg_offset (tdep, offsets, regnum);
-  if (regnum != tdep->ppc_vrsave_regnum
-      && regnum != tdep->ppc_vrsave_regnum - 1)
-    ppc_collect_reg (regcache, regnum, (gdb_byte *) vrregs, offset, 16);
-  else
-    ppc_collect_reg (regcache, regnum,
-		    (gdb_byte *) vrregs, offset, 4);
-}
-
-
 static int
 insn_changes_sp_or_jumps (unsigned long insn)
 {
@@ -1357,6 +1173,39 @@ bl_to_blrl_insn_p (CORE_ADDR pc, int ins
   return 0;
 }
 
+/* Return true if OP is a stw or std instruction with
+   register operands RS and RA and any immediate offset.
+
+   If WITH_UPDATE is true, also return true if OP is
+   a stwu or stdu instruction with the same operands.
+
+   Return false otherwise.
+   */
+static bool
+store_insn_p (unsigned long op, unsigned long rs,
+	      unsigned long ra, bool with_update)
+{
+  rs = rs << 21;
+  ra = ra << 16;
+
+  if (/* std RS, SIMM(RA) */
+      ((op & 0xffff0003) == (rs | ra | 0xf8000000)) ||
+      /* stw RS, SIMM(RA) */
+      ((op & 0xffff0000) == (rs | ra | 0x90000000)))
+    return true;
+
+  if (with_update)
+    {
+      if (/* stdu RS, SIMM(RA) */
+	  ((op & 0xffff0003) == (rs | ra | 0xf8000001)) ||
+	  /* stwu RS, SIMM(RA) */
+	  ((op & 0xffff0000) == (rs | ra | 0x94000000)))
+	return true;
+    }
+
+  return false;
+}
+
 /* Masks for decoding a branch-and-link (bl) instruction.
 
    BL_MASK and BL_INSTRUCTION are used in combination with each other.
@@ -1583,6 +1432,7 @@ skip_prologue (struct gdbarch *gdbarch, 
   gdb_byte buf[4];
   unsigned long op;
   long offset = 0;
+  long alloca_reg_offset = 0;
   long vr_saved_offset = 0;
   int lr_reg = -1;
   int cr_reg = -1;
@@ -1661,7 +1511,7 @@ skip_prologue (struct gdbarch *gdbarch, 
 	}
       else if ((op & 0xfc1fffff) == 0x7c000026)
 	{			/* mfcr Rx */
-	  cr_reg = (op & 0x03e00000);
+	  cr_reg = (op & 0x03e00000) >> 21;
           if (cr_reg == 0)
             r0_contains_arg = 0;
 	  continue;
@@ -1738,14 +1588,17 @@ skip_prologue (struct gdbarch *gdbarch, 
 
 	}
       else if (lr_reg >= 0 &&
-	       /* std Rx, NUM(r1) || stdu Rx, NUM(r1) */
-	       (((op & 0xffff0000) == (lr_reg | 0xf8010000)) ||
-		/* stw Rx, NUM(r1) */
-		((op & 0xffff0000) == (lr_reg | 0x90010000)) ||
-		/* stwu Rx, NUM(r1) */
-		((op & 0xffff0000) == (lr_reg | 0x94010000))))
-	{	/* where Rx == lr */
-	  fdata->lr_offset = offset;
+	       ((store_insn_p (op, lr_reg, 1, true)) ||
+		(framep &&
+		 (store_insn_p (op, lr_reg,
+				fdata->alloca_reg - tdep->ppc_gp0_regnum,
+				false)))))
+	{
+	  if (store_insn_p (op, lr_reg, 1, true))
+	    fdata->lr_offset = offset;
+	  else /* LR save through frame pointer. */
+	    fdata->lr_offset = alloca_reg_offset;
+
 	  fdata->nosavedpc = 0;
 	  /* Invalidate lr_reg, but don't set it to -1.
 	     That would mean that it had never been set.  */
@@ -1760,13 +1613,8 @@ skip_prologue (struct gdbarch *gdbarch, 
 
 	}
       else if (cr_reg >= 0 &&
-	       /* std Rx, NUM(r1) || stdu Rx, NUM(r1) */
-	       (((op & 0xffff0000) == (cr_reg | 0xf8010000)) ||
-		/* stw Rx, NUM(r1) */
-		((op & 0xffff0000) == (cr_reg | 0x90010000)) ||
-		/* stwu Rx, NUM(r1) */
-		((op & 0xffff0000) == (cr_reg | 0x94010000))))
-	{	/* where Rx == cr */
+	       (store_insn_p (op, cr_reg, 1, true)))
+	{
 	  fdata->cr_offset = offset;
 	  /* Invalidate cr_reg, but don't set it to -1.
 	     That would mean that it had never been set.  */
@@ -1857,8 +1705,8 @@ skip_prologue (struct gdbarch *gdbarch, 
 	  offset = fdata->offset;
 	  continue;
 	}
-      else if ((op & 0xfc1f016a) == 0x7c01016e)
-	{			/* stwux rX,r1,rY */
+      else if ((op & 0xfc1f07fa) == 0x7c01016a)
+	{		/* stwux rX,r1,rY  || stdux rX,r1,rY */
 	  /* No way to figure out what r1 is going to be.  */
 	  fdata->frameless = 0;
 	  offset = fdata->offset;
@@ -1871,13 +1719,6 @@ skip_prologue (struct gdbarch *gdbarch, 
 	  offset = fdata->offset;
 	  continue;
 	}
-      else if ((op & 0xfc1f016a) == 0x7c01016a)
-	{			/* stdux rX,r1,rY */
-	  /* No way to figure out what r1 is going to be.  */
-	  fdata->frameless = 0;
-	  offset = fdata->offset;
-	  continue;
-	}
       else if ((op & 0xffff0000) == 0x38210000)
  	{			/* addi r1,r1,SIMM */
  	  fdata->frameless = 0;
@@ -1920,6 +1761,7 @@ skip_prologue (struct gdbarch *gdbarch, 
 	  fdata->frameless = 0;
 	  framep = 1;
 	  fdata->alloca_reg = (tdep->ppc_gp0_regnum + 29);
+	  alloca_reg_offset = offset;
 	  continue;
 
 	  /* Another way to set up the frame pointer.  */
@@ -1930,6 +1772,7 @@ skip_prologue (struct gdbarch *gdbarch, 
 	  fdata->frameless = 0;
 	  framep = 1;
 	  fdata->alloca_reg = (tdep->ppc_gp0_regnum + 31);
+	  alloca_reg_offset = offset;
 	  continue;
 
 	  /* Another way to set up the frame pointer.  */
@@ -1940,6 +1783,7 @@ skip_prologue (struct gdbarch *gdbarch, 
 	  framep = 1;
 	  fdata->alloca_reg = (tdep->ppc_gp0_regnum
 			       + ((op & ~0x38010000) >> 21));
+	  alloca_reg_offset = offset;
 	  continue;
 	}
       /* AltiVec related instructions.  */
@@ -2706,24 +2550,44 @@ e500_move_ev_register (move_ev_register_
 }
 
 static enum register_status
-do_regcache_raw_read (struct regcache *regcache, int regnum, void *buffer)
-{
-  return regcache_raw_read (regcache, regnum, (gdb_byte *) buffer);
-}
-
-static enum register_status
 do_regcache_raw_write (struct regcache *regcache, int regnum, void *buffer)
 {
-  regcache_raw_write (regcache, regnum, (const gdb_byte *) buffer);
+  regcache->raw_write (regnum, (const gdb_byte *) buffer);
 
   return REG_VALID;
 }
 
 static enum register_status
-e500_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
-			   int reg_nr, gdb_byte *buffer)
+e500_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
+			   int ev_reg, gdb_byte *buffer)
 {
-  return e500_move_ev_register (do_regcache_raw_read, regcache, reg_nr, buffer);
+  struct gdbarch *arch = regcache->arch ();
+  struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
+  int reg_index;
+  enum register_status status;
+
+  gdb_assert (IS_SPE_PSEUDOREG (tdep, ev_reg));
+
+  reg_index = ev_reg - tdep->ppc_ev0_regnum;
+
+  if (gdbarch_byte_order (arch) == BFD_ENDIAN_BIG)
+    {
+      status = regcache->raw_read (tdep->ppc_ev0_upper_regnum + reg_index,
+				   buffer);
+      if (status == REG_VALID)
+	status = regcache->raw_read (tdep->ppc_gp0_regnum + reg_index,
+				     buffer + 4);
+    }
+  else
+    {
+      status = regcache->raw_read (tdep->ppc_gp0_regnum + reg_index, buffer);
+      if (status == REG_VALID)
+	status = regcache->raw_read (tdep->ppc_ev0_upper_regnum + reg_index,
+				     buffer + 4);
+    }
+
+  return status;
+
 }
 
 static void
@@ -2736,7 +2600,7 @@ e500_pseudo_register_write (struct gdbar
 
 /* Read method for DFP pseudo-registers.  */
 static enum register_status
-dfp_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
+dfp_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
 			   int reg_nr, gdb_byte *buffer)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -2746,19 +2610,19 @@ dfp_pseudo_register_read (struct gdbarch
   if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
     {
       /* Read two FP registers to form a whole dl register.  */
-      status = regcache_raw_read (regcache, tdep->ppc_fp0_regnum +
-				  2 * reg_index, buffer);
+      status = regcache->raw_read (tdep->ppc_fp0_regnum +
+				   2 * reg_index, buffer);
       if (status == REG_VALID)
-	status = regcache_raw_read (regcache, tdep->ppc_fp0_regnum +
-				    2 * reg_index + 1, buffer + 8);
+	status = regcache->raw_read (tdep->ppc_fp0_regnum +
+				     2 * reg_index + 1, buffer + 8);
     }
   else
     {
-      status = regcache_raw_read (regcache, tdep->ppc_fp0_regnum +
-				  2 * reg_index + 1, buffer);
+      status = regcache->raw_read (tdep->ppc_fp0_regnum +
+				   2 * reg_index + 1, buffer);
       if (status == REG_VALID)
-	status = regcache_raw_read (regcache, tdep->ppc_fp0_regnum +
-				    2 * reg_index, buffer + 8);
+	status = regcache->raw_read (tdep->ppc_fp0_regnum +
+				     2 * reg_index, buffer + 8);
     }
 
   return status;
@@ -2776,23 +2640,23 @@ dfp_pseudo_register_write (struct gdbarc
     {
       /* Write each half of the dl register into a separate
       FP register.  */
-      regcache_raw_write (regcache, tdep->ppc_fp0_regnum +
+      regcache->raw_write (tdep->ppc_fp0_regnum +
 			  2 * reg_index, buffer);
-      regcache_raw_write (regcache, tdep->ppc_fp0_regnum +
+      regcache->raw_write (tdep->ppc_fp0_regnum +
 			  2 * reg_index + 1, buffer + 8);
     }
   else
     {
-      regcache_raw_write (regcache, tdep->ppc_fp0_regnum +
+      regcache->raw_write (tdep->ppc_fp0_regnum +
 			  2 * reg_index + 1, buffer);
-      regcache_raw_write (regcache, tdep->ppc_fp0_regnum +
+      regcache->raw_write (tdep->ppc_fp0_regnum +
 			  2 * reg_index, buffer + 8);
     }
 }
 
 /* Read method for POWER7 VSX pseudo-registers.  */
 static enum register_status
-vsx_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
+vsx_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
 			   int reg_nr, gdb_byte *buffer)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -2801,25 +2665,25 @@ vsx_pseudo_register_read (struct gdbarch
 
   /* Read the portion that overlaps the VMX registers.  */
   if (reg_index > 31)
-    status = regcache_raw_read (regcache, tdep->ppc_vr0_regnum +
-				reg_index - 32, buffer);
+    status = regcache->raw_read (tdep->ppc_vr0_regnum +
+				 reg_index - 32, buffer);
   else
     /* Read the portion that overlaps the FPR registers.  */
     if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
       {
-	status = regcache_raw_read (regcache, tdep->ppc_fp0_regnum +
-				    reg_index, buffer);
+	status = regcache->raw_read (tdep->ppc_fp0_regnum +
+				     reg_index, buffer);
 	if (status == REG_VALID)
-	  status = regcache_raw_read (regcache, tdep->ppc_vsr0_upper_regnum +
-				      reg_index, buffer + 8);
+	  status = regcache->raw_read (tdep->ppc_vsr0_upper_regnum +
+				       reg_index, buffer + 8);
       }
     else
       {
-	status = regcache_raw_read (regcache, tdep->ppc_fp0_regnum +
-				    reg_index, buffer + 8);
+	status = regcache->raw_read (tdep->ppc_fp0_regnum +
+				     reg_index, buffer + 8);
 	if (status == REG_VALID)
-	  status = regcache_raw_read (regcache, tdep->ppc_vsr0_upper_regnum +
-				      reg_index, buffer);
+	  status = regcache->raw_read (tdep->ppc_vsr0_upper_regnum +
+				       reg_index, buffer);
       }
 
   return status;
@@ -2835,29 +2699,29 @@ vsx_pseudo_register_write (struct gdbarc
 
   /* Write the portion that overlaps the VMX registers.  */
   if (reg_index > 31)
-    regcache_raw_write (regcache, tdep->ppc_vr0_regnum +
+    regcache->raw_write (tdep->ppc_vr0_regnum +
 			reg_index - 32, buffer);
   else
     /* Write the portion that overlaps the FPR registers.  */
     if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
       {
-	regcache_raw_write (regcache, tdep->ppc_fp0_regnum +
+	regcache->raw_write (tdep->ppc_fp0_regnum +
 			reg_index, buffer);
-	regcache_raw_write (regcache, tdep->ppc_vsr0_upper_regnum +
+	regcache->raw_write (tdep->ppc_vsr0_upper_regnum +
 			reg_index, buffer + 8);
       }
     else
       {
-	regcache_raw_write (regcache, tdep->ppc_fp0_regnum +
+	regcache->raw_write (tdep->ppc_fp0_regnum +
 			reg_index, buffer + 8);
-	regcache_raw_write (regcache, tdep->ppc_vsr0_upper_regnum +
+	regcache->raw_write (tdep->ppc_vsr0_upper_regnum +
 			reg_index, buffer);
       }
 }
 
 /* Read method for POWER7 Extended FP pseudo-registers.  */
 static enum register_status
-efpr_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
+efpr_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
 			   int reg_nr, gdb_byte *buffer)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -2865,9 +2729,9 @@ efpr_pseudo_register_read (struct gdbarc
   int offset = gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG ? 0 : 8;
 
   /* Read the portion that overlaps the VMX register.  */
-  return regcache_raw_read_part (regcache, tdep->ppc_vr0_regnum + reg_index,
-				 offset, register_size (gdbarch, reg_nr),
-				 buffer);
+  return regcache->raw_read_part (tdep->ppc_vr0_regnum + reg_index,
+				  offset, register_size (gdbarch, reg_nr),
+				  buffer);
 }
 
 /* Write method for POWER7 Extended FP pseudo-registers.  */
@@ -2880,14 +2744,13 @@ efpr_pseudo_register_write (struct gdbar
   int offset = gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG ? 0 : 8;
 
   /* Write the portion that overlaps the VMX register.  */
-  regcache_raw_write_part (regcache, tdep->ppc_vr0_regnum + reg_index,
-			   offset, register_size (gdbarch, reg_nr),
-			   buffer);
+  regcache->raw_write_part (tdep->ppc_vr0_regnum + reg_index, offset,
+			    register_size (gdbarch, reg_nr), buffer);
 }
 
 static enum register_status
 rs6000_pseudo_register_read (struct gdbarch *gdbarch,
-			     struct regcache *regcache,
+			     readable_regcache *regcache,
 			     int reg_nr, gdb_byte *buffer)
 {
   struct gdbarch *regcache_arch = regcache->arch ();
@@ -3921,6 +3784,7 @@ ppc_process_record_op4 (struct gdbarch *
 	  && vra != 7	/* Decimal Convert From National */
 	  && vra != 31)	/* Decimal Set Sign */
 	break;
+      /* Fall through.  */
 			/* 5.16 Decimal Integer Arithmetic Instructions */
     case 1:		/* Decimal Add Modulo */
     case 65:		/* Decimal Subtract Modulo */
@@ -4837,7 +4701,7 @@ ppc_process_record_op31 (struct gdbarch 
       return 0;
 
     case 1014:		/* Data Cache Block set to Zero */
-      if (target_auxv_search (&current_target, AT_DCACHEBSIZE, &at_dcsz) <= 0
+      if (target_auxv_search (current_top_target (), AT_DCACHEBSIZE, &at_dcsz) <= 0
 	  || at_dcsz == 0)
 	at_dcsz = 128; /* Assume 128-byte cache line size (POWER8)  */
 
@@ -5517,6 +5381,7 @@ ppc_process_record_op63 (struct gdbarch 
 	  case 22:	/* Move From FPSCR Control & set RN */
 	  case 23:	/* Move From FPSCR Control & set RN Immediate */
 	    record_full_arch_list_add_reg (regcache, tdep->ppc_fpscr_regnum);
+	    /* Fall through.  */
 	  case 0:	/* Move From FPSCR */
 	  case 24:	/* Move From FPSCR Lightweight */
 	    if (PPC_FIELD (insn, 11, 5) == 0 && PPC_RC (insn))
@@ -6115,14 +5980,16 @@ rs6000_gdbarch_init (struct gdbarch_info
 	      return NULL;
 	    }
 	  have_fpu = 1;
+
+	  /* The fpscr register was expanded in isa 2.05 to 64 bits
+	     along with the addition of the decimal floating point
+	     facility.  */
+	  if (tdesc_register_size (feature, "fpscr") > 32)
+	    have_dfp = 1;
 	}
       else
 	have_fpu = 0;
 
-      /* The DFP pseudo-registers will be available when there are floating
-         point registers.  */
-      have_dfp = have_fpu;
-
       feature = tdesc_find_feature (tdesc,
 				    "org.gnu.gdb.power.altivec");
       if (feature != NULL)
@@ -6717,17 +6584,17 @@ read_insn (struct frame_info *frame, COR
    'struct ppc_insn_pattern' objects, terminated by an entry whose
    mask is zero.
 
-   When the match is successful, fill INSN[i] with what PATTERN[i]
+   When the match is successful, fill INSNS[i] with what PATTERN[i]
    matched.  If PATTERN[i] is optional, and the instruction wasn't
-   present, set INSN[i] to 0 (which is not a valid PPC instruction).
-   INSN should have as many elements as PATTERN.  Note that, if
-   PATTERN contains optional instructions which aren't present in
-   memory, then INSN will have holes, so INSN[i] isn't necessarily the
-   i'th instruction in memory.  */
+   present, set INSNS[i] to 0 (which is not a valid PPC instruction).
+   INSNS should have as many elements as PATTERN, minus the terminator.
+   Note that, if PATTERN contains optional instructions which aren't
+   present in memory, then INSNS will have holes, so INSNS[i] isn't
+   necessarily the i'th instruction in memory.  */
 
 int
 ppc_insns_match_pattern (struct frame_info *frame, CORE_ADDR pc,
-			 struct ppc_insn_pattern *pattern,
+			 const struct ppc_insn_pattern *pattern,
 			 unsigned int *insns)
 {
   int i;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rust-exp.c ./gdb/rust-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rust-exp.c	2018-07-03 02:10:19.000000000 +0000
+++ ./gdb/rust-exp.c	2018-07-10 02:10:06.000000000 +0000
@@ -120,6 +120,7 @@ struct set_field
 typedef std::vector<set_field> rust_set_vector;
 
 static int rustyylex (void);
+static void rustyyerror (const char *msg);
 static void rust_push_back (char c);
 static const char *rust_copy_name (const char *, int);
 static struct stoken rust_concat3 (const char *, const char *, const char *);
@@ -161,7 +162,8 @@ static const struct rust_op *ast_string 
 static const struct rust_op *ast_struct (const struct rust_op *name,
 					 rust_set_vector *fields);
 static const struct rust_op *ast_range (const struct rust_op *lhs,
-					const struct rust_op *rhs);
+					const struct rust_op *rhs,
+					bool inclusive);
 static const struct rust_op *ast_array_type (const struct rust_op *lhs,
 					     struct typed_val_int val);
 static const struct rust_op *ast_slice_type (const struct rust_op *type);
@@ -297,7 +299,7 @@ struct rust_parser
 
 
 /* Line 189 of yacc.c  */
-#line 301 "rust-exp.c"
+#line 303 "rust-exp.c.tmp"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -345,17 +347,18 @@ struct rust_parser
      KW_FN = 276,
      KW_SIZEOF = 277,
      DOTDOT = 278,
-     OROR = 279,
-     ANDAND = 280,
-     EQEQ = 281,
-     NOTEQ = 282,
-     LTEQ = 283,
-     GTEQ = 284,
-     LSH = 285,
-     RSH = 286,
-     COLONCOLON = 287,
-     ARROW = 288,
-     UNARY = 289
+     DOTDOTEQ = 279,
+     OROR = 280,
+     ANDAND = 281,
+     EQEQ = 282,
+     NOTEQ = 283,
+     LTEQ = 284,
+     GTEQ = 285,
+     LSH = 286,
+     RSH = 287,
+     COLONCOLON = 288,
+     ARROW = 289,
+     UNARY = 290
    };
 #endif
 /* Tokens.  */
@@ -380,17 +383,18 @@ struct rust_parser
 #define KW_FN 276
 #define KW_SIZEOF 277
 #define DOTDOT 278
-#define OROR 279
-#define ANDAND 280
-#define EQEQ 281
-#define NOTEQ 282
-#define LTEQ 283
-#define GTEQ 284
-#define LSH 285
-#define RSH 286
-#define COLONCOLON 287
-#define ARROW 288
-#define UNARY 289
+#define DOTDOTEQ 279
+#define OROR 280
+#define ANDAND 281
+#define EQEQ 282
+#define NOTEQ 283
+#define LTEQ 284
+#define GTEQ 285
+#define LSH 286
+#define RSH 287
+#define COLONCOLON 288
+#define ARROW 289
+#define UNARY 290
 
 
 
@@ -400,7 +404,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 250 "rust-exp.y"
+#line 252 "rust-exp.y"
 
   /* A typed integer constant.  */
   struct typed_val_int typed_val_int;
@@ -434,7 +438,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 438 "rust-exp.c"
+#line 442 "rust-exp.c.tmp"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -445,7 +449,7 @@ typedef union YYSTYPE
 /* Copy the second part of user declarations.  */
 
 /* Line 264 of yacc.c  */
-#line 281 "rust-exp.y"
+#line 283 "rust-exp.y"
 
 
   /* Rust AST operations.  We build a tree of these; then lower them
@@ -468,6 +472,9 @@ struct rust_op
      name occurred at the end of the expression and is eligible for
      completion.  */
   unsigned int completing : 1;
+  /* For OP_RANGE, indicates whether the range is inclusive or
+     exclusive.  */
+  unsigned int inclusive : 1;
   /* Operands of expression.  Which one is used and how depends on the
      particular opcode.  */
   RUSTSTYPE left;
@@ -477,7 +484,7 @@ struct rust_op
 
 
 /* Line 264 of yacc.c  */
-#line 481 "rust-exp.c"
+#line 488 "rust-exp.c.tmp"
 
 #ifdef short
 # undef short
@@ -689,22 +696,22 @@ union yyalloc
 #endif
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  60
+#define YYFINAL  62
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1031
+#define YYLAST   1124
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  58
+#define YYNTOKENS  59
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  35
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  121
+#define YYNRULES  125
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  213
+#define YYNSTATES  219
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   289
+#define YYMAXUTOK   290
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -715,16 +722,16 @@ static const yytype_uint8 yytranslate[] 
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    57,     2,     2,     2,    45,    39,     2,
-      49,    51,    43,    41,    50,    42,    48,    44,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,    54,    56,
-      35,    34,    36,     2,    40,     2,     2,     2,     2,     2,
+       2,     2,     2,    58,     2,     2,     2,    46,    40,     2,
+      50,    52,    44,    42,    51,    43,    49,    45,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    55,    57,
+      36,    35,    37,     2,    41,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,    47,     2,    55,    38,     2,     2,     2,     2,     2,
+       2,    48,     2,    56,    39,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    52,    37,    53,     2,     2,     2,     2,
+       2,     2,     2,    53,    38,    54,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -740,7 +747,8 @@ static const yytype_uint8 yytranslate[] 
        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    46
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      47
 };
 
 #if YYDEBUG
@@ -750,81 +758,82 @@ static const yytype_uint16 yyprhs[] =
 {
        0,     0,     3,     5,     7,     9,    11,    13,    15,    17,
       19,    21,    23,    25,    27,    29,    31,    37,    40,    45,
-      48,    52,    53,    55,    61,    66,    70,    77,    83,    86,
-      90,    93,    95,    97,    99,   101,   103,   105,   107,   109,
-     113,   117,   121,   126,   129,   132,   135,   138,   141,   145,
-     150,   152,   154,   156,   158,   162,   166,   170,   174,   178,
-     182,   186,   190,   194,   198,   202,   206,   210,   214,   218,
-     222,   226,   230,   234,   238,   242,   246,   250,   252,   256,
-     257,   259,   263,   266,   267,   270,   273,   277,   279,   281,
-     283,   285,   289,   293,   296,   299,   301,   305,   311,   317,
-     319,   323,   327,   330,   333,   335,   339,   341,   346,   351,
-     353,   359,   365,   370,   373,   377,   381,   388,   392,   393,
-     395,   397
+      48,    52,    54,    55,    57,    63,    67,    72,    76,    83,
+      89,    92,    96,   100,   103,   106,   108,   110,   112,   114,
+     116,   118,   120,   122,   126,   130,   134,   139,   142,   145,
+     148,   151,   154,   158,   163,   165,   167,   169,   171,   175,
+     179,   183,   187,   191,   195,   199,   203,   207,   211,   215,
+     219,   223,   227,   231,   235,   239,   243,   247,   251,   255,
+     259,   263,   265,   269,   270,   272,   276,   279,   280,   283,
+     286,   290,   292,   294,   296,   298,   302,   306,   309,   312,
+     314,   318,   324,   330,   332,   336,   340,   343,   346,   348,
+     352,   354,   359,   364,   366,   372,   378,   383,   386,   390,
+     394,   401,   405,   406,   408,   410
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int8 yyrhs[] =
 {
-      59,     0,    -1,    60,    -1,    68,    -1,    84,    -1,    61,
-      -1,    62,    -1,    63,    -1,    69,    -1,    66,    -1,    70,
-      -1,    67,    -1,    71,    -1,    72,    -1,    77,    -1,    81,
-      -1,    49,    60,    50,    79,    51,    -1,    49,    51,    -1,
-      85,    52,    65,    53,    -1,    23,    60,    -1,     4,    54,
-      60,    -1,    -1,    64,    -1,     4,    54,    60,    50,    65,
-      -1,    47,    18,    78,    55,    -1,    47,    78,    55,    -1,
-      47,    18,    60,    56,    60,    55,    -1,    47,    60,    56,
-      60,    55,    -1,    60,    23,    -1,    60,    23,    60,    -1,
-      23,    60,    -1,    23,    -1,     6,    -1,     7,    -1,    10,
-      -1,     8,    -1,     9,    -1,    14,    -1,    15,    -1,    60,
-      48,     4,    -1,    60,    48,     5,    -1,    60,    48,     7,
-      -1,    60,    47,    60,    55,    -1,    41,    60,    -1,    42,
-      60,    -1,    57,    60,    -1,    43,    60,    -1,    39,    60,
-      -1,    39,    18,    60,    -1,    22,    49,    60,    51,    -1,
-      73,    -1,    74,    -1,    75,    -1,    76,    -1,    60,    43,
-      60,    -1,    60,    40,    60,    -1,    60,    44,    60,    -1,
-      60,    45,    60,    -1,    60,    35,    60,    -1,    60,    36,
-      60,    -1,    60,    39,    60,    -1,    60,    37,    60,    -1,
-      60,    38,    60,    -1,    60,    41,    60,    -1,    60,    42,
-      60,    -1,    60,    24,    60,    -1,    60,    25,    60,    -1,
-      60,    26,    60,    -1,    60,    27,    60,    -1,    60,    28,
-      60,    -1,    60,    29,    60,    -1,    60,    30,    60,    -1,
-      60,    31,    60,    -1,    60,    12,    90,    -1,    60,    34,
-      60,    -1,    60,    11,    60,    -1,    49,    60,    51,    -1,
-      60,    -1,    78,    50,    60,    -1,    -1,    78,    -1,    49,
-      79,    51,    -1,    60,    80,    -1,    -1,    17,    32,    -1,
-      16,    32,    -1,    83,    16,    32,    -1,    85,    -1,     3,
-      -1,    17,    -1,    86,    -1,    17,    32,    86,    -1,    82,
-      83,    86,    -1,    32,    86,    -1,    19,    86,    -1,     4,
-      -1,    86,    32,     4,    -1,    86,    32,    35,    92,    36,
-      -1,    86,    32,    35,    92,    31,    -1,    89,    -1,    17,
-      32,    89,    -1,    82,    83,    89,    -1,    32,    89,    -1,
-      19,    89,    -1,     4,    -1,    88,    32,     4,    -1,    88,
-      -1,    88,    35,    92,    36,    -1,    88,    35,    92,    31,
-      -1,    87,    -1,    47,    90,    56,     6,    55,    -1,    47,
-      90,    56,     7,    55,    -1,    39,    47,    90,    55,    -1,
-      39,    90,    -1,    43,    18,    90,    -1,    43,    20,    90,
-      -1,    21,    49,    91,    51,    33,    90,    -1,    49,    91,
-      51,    -1,    -1,    92,    -1,    90,    -1,    92,    50,    90,
-      -1
+      60,     0,    -1,    61,    -1,    69,    -1,    85,    -1,    62,
+      -1,    63,    -1,    64,    -1,    70,    -1,    67,    -1,    71,
+      -1,    68,    -1,    72,    -1,    73,    -1,    78,    -1,    82,
+      -1,    50,    61,    51,    80,    52,    -1,    50,    52,    -1,
+      86,    53,    66,    54,    -1,    23,    61,    -1,     4,    55,
+      61,    -1,     4,    -1,    -1,    65,    -1,     4,    55,    61,
+      51,    66,    -1,     4,    51,    66,    -1,    48,    18,    79,
+      56,    -1,    48,    79,    56,    -1,    48,    18,    61,    57,
+      61,    56,    -1,    48,    61,    57,    61,    56,    -1,    61,
+      23,    -1,    61,    23,    61,    -1,    61,    24,    61,    -1,
+      23,    61,    -1,    24,    61,    -1,    23,    -1,     6,    -1,
+       7,    -1,    10,    -1,     8,    -1,     9,    -1,    14,    -1,
+      15,    -1,    61,    49,     4,    -1,    61,    49,     5,    -1,
+      61,    49,     7,    -1,    61,    48,    61,    56,    -1,    42,
+      61,    -1,    43,    61,    -1,    58,    61,    -1,    44,    61,
+      -1,    40,    61,    -1,    40,    18,    61,    -1,    22,    50,
+      61,    52,    -1,    74,    -1,    75,    -1,    76,    -1,    77,
+      -1,    61,    44,    61,    -1,    61,    41,    61,    -1,    61,
+      45,    61,    -1,    61,    46,    61,    -1,    61,    36,    61,
+      -1,    61,    37,    61,    -1,    61,    40,    61,    -1,    61,
+      38,    61,    -1,    61,    39,    61,    -1,    61,    42,    61,
+      -1,    61,    43,    61,    -1,    61,    25,    61,    -1,    61,
+      26,    61,    -1,    61,    27,    61,    -1,    61,    28,    61,
+      -1,    61,    29,    61,    -1,    61,    30,    61,    -1,    61,
+      31,    61,    -1,    61,    32,    61,    -1,    61,    12,    91,
+      -1,    61,    35,    61,    -1,    61,    11,    61,    -1,    50,
+      61,    52,    -1,    61,    -1,    79,    51,    61,    -1,    -1,
+      79,    -1,    50,    80,    52,    -1,    61,    81,    -1,    -1,
+      17,    33,    -1,    16,    33,    -1,    84,    16,    33,    -1,
+      86,    -1,     3,    -1,    17,    -1,    87,    -1,    17,    33,
+      87,    -1,    83,    84,    87,    -1,    33,    87,    -1,    19,
+      87,    -1,     4,    -1,    87,    33,     4,    -1,    87,    33,
+      36,    93,    37,    -1,    87,    33,    36,    93,    32,    -1,
+      90,    -1,    17,    33,    90,    -1,    83,    84,    90,    -1,
+      33,    90,    -1,    19,    90,    -1,     4,    -1,    89,    33,
+       4,    -1,    89,    -1,    89,    36,    93,    37,    -1,    89,
+      36,    93,    32,    -1,    88,    -1,    48,    91,    57,     6,
+      56,    -1,    48,    91,    57,     7,    56,    -1,    40,    48,
+      91,    56,    -1,    40,    91,    -1,    44,    18,    91,    -1,
+      44,    20,    91,    -1,    21,    50,    92,    52,    34,    91,
+      -1,    50,    92,    52,    -1,    -1,    93,    -1,    91,    -1,
+      93,    51,    91,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   406,   406,   419,   420,   421,   422,   423,   424,   425,
-     426,   427,   428,   429,   430,   431,   435,   443,   460,   465,
-     475,   487,   490,   496,   508,   510,   512,   514,   519,   521,
-     523,   525,   530,   532,   534,   536,   563,   565,   574,   586,
-     588,   593,   598,   603,   606,   609,   618,   621,   624,   626,
-     631,   632,   633,   634,   638,   641,   644,   647,   650,   653,
-     656,   659,   662,   665,   668,   671,   674,   677,   680,   683,
-     686,   689,   692,   697,   702,   707,   713,   718,   723,   732,
-     736,   741,   748,   752,   754,   758,   760,   765,   767,   769,
-     774,   775,   777,   779,   781,   793,   795,   801,   803,   811,
-     812,   814,   816,   818,   830,   832,   841,   842,   844,   852,
-     853,   855,   857,   859,   861,   863,   865,   867,   873,   874,
-     879,   885
+       0,   412,   412,   425,   426,   427,   428,   429,   430,   431,
+     432,   433,   434,   436,   437,   438,   442,   450,   467,   472,
+     482,   490,   502,   505,   511,   520,   532,   534,   536,   538,
+     543,   545,   547,   549,   551,   553,   558,   560,   562,   564,
+     591,   593,   602,   614,   616,   621,   626,   631,   634,   637,
+     646,   649,   652,   654,   659,   660,   661,   662,   666,   669,
+     672,   675,   678,   681,   684,   687,   690,   693,   696,   699,
+     702,   705,   708,   711,   714,   717,   720,   725,   730,   735,
+     741,   746,   751,   760,   764,   769,   774,   778,   780,   784,
+     786,   791,   793,   795,   800,   801,   803,   805,   807,   819,
+     821,   827,   829,   837,   838,   840,   842,   844,   856,   858,
+     867,   868,   870,   878,   879,   881,   883,   885,   887,   889,
+     891,   893,   899,   900,   905,   911
 };
 #endif
 
@@ -836,12 +845,12 @@ static const char *const yytname[] =
   "$end", "error", "$undefined", "GDBVAR", "IDENT", "COMPLETE", "INTEGER",
   "DECIMAL_INTEGER", "STRING", "BYTESTRING", "FLOAT", "COMPOUND_ASSIGN",
   "KW_AS", "KW_IF", "KW_TRUE", "KW_FALSE", "KW_SUPER", "KW_SELF", "KW_MUT",
-  "KW_EXTERN", "KW_CONST", "KW_FN", "KW_SIZEOF", "DOTDOT", "OROR",
-  "ANDAND", "EQEQ", "NOTEQ", "LTEQ", "GTEQ", "LSH", "RSH", "COLONCOLON",
-  "ARROW", "'='", "'<'", "'>'", "'|'", "'^'", "'&'", "'@'", "'+'", "'-'",
-  "'*'", "'/'", "'%'", "UNARY", "'['", "'.'", "'('", "','", "')'", "'{'",
-  "'}'", "':'", "']'", "';'", "'!'", "$accept", "start", "expr",
-  "tuple_expr", "unit_expr", "struct_expr", "struct_expr_tail",
+  "KW_EXTERN", "KW_CONST", "KW_FN", "KW_SIZEOF", "DOTDOT", "DOTDOTEQ",
+  "OROR", "ANDAND", "EQEQ", "NOTEQ", "LTEQ", "GTEQ", "LSH", "RSH",
+  "COLONCOLON", "ARROW", "'='", "'<'", "'>'", "'|'", "'^'", "'&'", "'@'",
+  "'+'", "'-'", "'*'", "'/'", "'%'", "UNARY", "'['", "'.'", "'('", "','",
+  "')'", "'{'", "'}'", "':'", "']'", "';'", "'!'", "$accept", "start",
+  "expr", "tuple_expr", "unit_expr", "struct_expr", "struct_expr_tail",
   "struct_expr_list", "array_expr", "range_expr", "literal", "field_expr",
   "idx_expr", "unop_expr", "binop_expr", "binop_expr_expr",
   "type_cast_expr", "assignment_expr", "compound_assignment_expr",
@@ -861,28 +870,28 @@ static const yytype_uint16 yytoknum[] =
        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
-     285,   286,   287,   288,    61,    60,    62,   124,    94,    38,
-      64,    43,    45,    42,    47,    37,   289,    91,    46,    40,
-      44,    41,   123,   125,    58,    93,    59,    33
+     285,   286,   287,   288,   289,    61,    60,    62,   124,    94,
+      38,    64,    43,    45,    42,    47,    37,   290,    91,    46,
+      40,    44,    41,   123,   125,    58,    93,    59,    33
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,    58,    59,    60,    60,    60,    60,    60,    60,    60,
-      60,    60,    60,    60,    60,    60,    61,    62,    63,    64,
-      64,    65,    65,    65,    66,    66,    66,    66,    67,    67,
-      67,    67,    68,    68,    68,    68,    68,    68,    68,    69,
-      69,    69,    70,    71,    71,    71,    71,    71,    71,    71,
-      72,    72,    72,    72,    73,    73,    73,    73,    73,    73,
-      73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
-      73,    73,    73,    74,    75,    76,    77,    78,    78,    79,
-      79,    80,    81,    82,    82,    83,    83,    84,    84,    84,
-      85,    85,    85,    85,    85,    86,    86,    86,    86,    87,
-      87,    87,    87,    87,    88,    88,    89,    89,    89,    90,
-      90,    90,    90,    90,    90,    90,    90,    90,    91,    91,
-      92,    92
+       0,    59,    60,    61,    61,    61,    61,    61,    61,    61,
+      61,    61,    61,    61,    61,    61,    62,    63,    64,    65,
+      65,    65,    66,    66,    66,    66,    67,    67,    67,    67,
+      68,    68,    68,    68,    68,    68,    69,    69,    69,    69,
+      69,    69,    69,    70,    70,    70,    71,    72,    72,    72,
+      72,    72,    72,    72,    73,    73,    73,    73,    74,    74,
+      74,    74,    74,    74,    74,    74,    74,    74,    74,    74,
+      74,    74,    74,    74,    74,    74,    74,    75,    76,    77,
+      78,    79,    79,    80,    80,    81,    82,    83,    83,    84,
+      84,    85,    85,    85,    86,    86,    86,    86,    86,    87,
+      87,    87,    87,    88,    88,    88,    88,    88,    89,    89,
+      90,    90,    90,    91,    91,    91,    91,    91,    91,    91,
+      91,    91,    92,    92,    93,    93
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -890,17 +899,17 @@ static const yytype_uint8 yyr2[] =
 {
        0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     5,     2,     4,     2,
-       3,     0,     1,     5,     4,     3,     6,     5,     2,     3,
-       2,     1,     1,     1,     1,     1,     1,     1,     1,     3,
-       3,     3,     4,     2,     2,     2,     2,     2,     3,     4,
-       1,     1,     1,     1,     3,     3,     3,     3,     3,     3,
+       3,     1,     0,     1,     5,     3,     4,     3,     6,     5,
+       2,     3,     3,     2,     2,     1,     1,     1,     1,     1,
+       1,     1,     1,     3,     3,     3,     4,     2,     2,     2,
+       2,     2,     3,     4,     1,     1,     1,     1,     3,     3,
        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     3,     3,     3,     3,     3,     3,     1,     3,     0,
-       1,     3,     2,     0,     2,     2,     3,     1,     1,     1,
-       1,     3,     3,     2,     2,     1,     3,     5,     5,     1,
-       3,     3,     2,     2,     1,     3,     1,     4,     4,     1,
-       5,     5,     4,     2,     3,     3,     6,     3,     0,     1,
-       1,     3
+       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
+       3,     1,     3,     0,     1,     3,     2,     0,     2,     2,
+       3,     1,     1,     1,     1,     3,     3,     2,     2,     1,
+       3,     5,     5,     1,     3,     3,     2,     2,     1,     3,
+       1,     4,     4,     1,     5,     5,     4,     2,     3,     3,
+       6,     3,     0,     1,     1,     3
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -908,296 +917,314 @@ static const yytype_uint8 yyr2[] =
    means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-      83,    88,    95,    32,    33,    35,    36,    34,    37,    38,
-      89,     0,     0,    31,     0,    83,    83,    83,    83,    83,
-      83,    83,     0,     2,     5,     6,     7,     9,    11,     3,
-       8,    10,    12,    13,    50,    51,    52,    53,    14,    15,
-       0,     4,    87,    90,    84,    94,    83,    30,    93,    83,
-      47,    43,    44,    46,    83,    77,     0,    17,     0,    45,
-       1,    83,    83,    28,    83,    83,    83,    83,    83,    83,
-      83,    83,    83,    83,    83,    83,    83,    83,    83,    83,
-      83,    83,    83,    83,    83,     0,    79,    82,     0,     0,
-      21,     0,    91,     0,    48,    77,     0,    83,    83,    25,
-      79,    76,    75,   104,     0,     0,     0,     0,    83,     0,
-      83,    83,     0,   109,   106,    99,    73,    29,    65,    66,
-      67,    68,    69,    70,    71,    72,    74,    58,    59,    61,
-      62,    60,    55,    63,    64,    54,    56,    57,     0,    39,
-      40,    41,    77,    80,     0,    85,     0,    92,     0,    83,
-      22,     0,    96,    83,    49,    83,    24,     0,    78,     0,
-      84,   103,    83,   102,    83,   113,    83,    83,     0,   120,
-       0,   119,     0,     0,    83,    42,    81,    86,    83,    19,
-      18,     0,     0,    27,    16,   100,     0,     0,   114,   115,
-       0,   117,    83,   101,   105,     0,    20,    98,    97,    26,
-       0,   112,     0,     0,   121,   108,   107,    21,    83,   110,
-     111,    23,   116
+      87,    92,    99,    36,    37,    39,    40,    38,    41,    42,
+      93,     0,     0,    35,    87,     0,    87,    87,    87,    87,
+      87,    87,    87,     0,     2,     5,     6,     7,     9,    11,
+       3,     8,    10,    12,    13,    54,    55,    56,    57,    14,
+      15,     0,     4,    91,    94,    88,    98,    87,    33,    34,
+      97,    87,    51,    47,    48,    50,    87,    81,     0,    17,
+       0,    49,     1,    87,    87,    30,    87,    87,    87,    87,
+      87,    87,    87,    87,    87,    87,    87,    87,    87,    87,
+      87,    87,    87,    87,    87,    87,    87,    87,     0,    83,
+      86,     0,     0,    22,     0,    95,     0,    52,    81,     0,
+      87,    87,    27,    83,    80,    79,   108,     0,     0,     0,
+       0,    87,     0,    87,    87,     0,   113,   110,   103,    77,
+      31,    32,    69,    70,    71,    72,    73,    74,    75,    76,
+      78,    62,    63,    65,    66,    64,    59,    67,    68,    58,
+      60,    61,     0,    43,    44,    45,    81,    84,     0,    89,
+       0,    96,    21,    87,    23,     0,   100,    87,    53,    87,
+      26,     0,    82,     0,    88,   107,    87,   106,    87,   117,
+      87,    87,     0,   124,     0,   123,     0,     0,    87,    46,
+      85,    90,    22,    87,    19,    18,     0,     0,    29,    16,
+     104,     0,     0,   118,   119,     0,   121,    87,   105,   109,
+       0,    25,    20,   102,   101,    28,     0,   116,     0,     0,
+     125,   112,   111,    22,    87,   114,   115,    24,   120
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    22,   142,    24,    25,    26,   150,   151,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-     143,   144,    87,    39,    40,    89,    41,    42,    43,   113,
-     114,   115,   169,   170,   171
+      -1,    23,   146,    25,    26,    27,   154,   155,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+     147,   148,    90,    40,    41,    92,    42,    43,    44,   116,
+     117,   118,   173,   174,   175
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -151
+#define YYPACT_NINF -181
 static const yytype_int16 yypact[] =
 {
-     384,  -151,  -151,  -151,  -151,  -151,  -151,  -151,  -151,  -151,
-     -20,    41,    -2,   119,    41,   176,   384,   384,   384,   228,
-     280,   384,    56,   742,  -151,  -151,  -151,  -151,  -151,  -151,
-    -151,  -151,  -151,  -151,  -151,  -151,  -151,  -151,  -151,  -151,
-      42,  -151,     8,    30,    41,    30,   384,   781,    30,   384,
-      68,    68,    68,    68,   384,   425,   -28,  -151,   620,    68,
-    -151,   384,   209,   119,   384,   384,   384,   384,   384,   384,
-     384,   384,   384,   384,   384,   384,   384,   384,   384,   384,
-     384,   384,   384,   384,   384,    96,   332,  -151,    53,    10,
-       6,     5,    30,   661,    68,   464,     2,   384,   384,  -151,
-     332,  -151,   820,  -151,    78,   109,    71,   109,   261,    15,
-     209,   396,    42,  -151,    73,  -151,  -151,   781,   854,   888,
-     922,   922,   922,   922,   162,   162,   820,   922,   922,   942,
-     962,   982,    47,   313,   313,   -11,   -11,   -11,   503,  -151,
-    -151,  -151,   742,    74,    70,  -151,    98,    30,    77,   384,
-    -151,    86,  -151,   209,  -151,   384,  -151,   542,   742,    89,
-     109,  -151,   396,  -151,   209,  -151,   209,   209,    87,  -151,
-      93,    95,    27,   142,   209,  -151,  -151,  -151,   384,   742,
-    -151,    -8,   581,  -151,  -151,  -151,    99,   -50,  -151,  -151,
-     112,  -151,   209,  -151,  -151,    -6,   702,  -151,  -151,  -151,
-     114,  -151,    97,   101,  -151,  -151,  -151,     6,   209,  -151,
-    -151,  -151,  -151
+     423,  -181,  -181,  -181,  -181,  -181,  -181,  -181,  -181,  -181,
+     -18,    19,     8,   158,   423,    19,   211,   423,   423,   423,
+     264,   317,   423,    49,   826,  -181,  -181,  -181,  -181,  -181,
+    -181,  -181,  -181,  -181,  -181,  -181,  -181,  -181,  -181,  -181,
+    -181,    73,  -181,    57,    85,    19,    85,   423,   866,   866,
+      85,   423,    84,    84,    84,    84,   423,   463,   -25,  -181,
+     701,    84,  -181,   423,   546,   158,   423,   423,   423,   423,
+     423,   423,   423,   423,   423,   423,   423,   423,   423,   423,
+     423,   423,   423,   423,   423,   423,   423,   423,    90,   370,
+    -181,   103,    89,     5,    -1,    85,   743,    84,   503,    -3,
+     423,   423,  -181,   370,  -181,   906,  -181,   108,   109,    96,
+     109,   551,   122,   546,    87,    73,  -181,    63,  -181,  -181,
+     866,   866,   941,   976,  1011,  1011,  1011,  1011,    80,    80,
+     906,  1011,  1011,  1032,  1053,  1074,   144,    -6,    -6,    12,
+      12,    12,   581,  -181,  -181,  -181,   826,    97,    95,  -181,
+     116,    85,   -43,   423,  -181,    98,  -181,   546,  -181,   423,
+    -181,   621,   826,   102,   109,  -181,    87,  -181,   546,  -181,
+     546,   546,    93,  -181,   105,   100,    99,   154,   546,  -181,
+    -181,  -181,     5,   423,   826,  -181,    -5,   661,  -181,  -181,
+    -181,   111,   -27,  -181,  -181,   138,  -181,   546,  -181,  -181,
+      13,  -181,   785,  -181,  -181,  -181,   135,  -181,   114,   115,
+    -181,  -181,  -181,     5,   546,  -181,  -181,  -181,  -181
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -151,  -151,     0,  -151,  -151,  -151,  -151,   -53,  -151,  -151,
-    -151,  -151,  -151,  -151,  -151,  -151,  -151,  -151,  -151,  -151,
-     -15,    57,  -151,  -151,   -60,    51,  -151,  -151,    -3,  -151,
-    -151,   -73,   -55,     3,  -150
+    -181,  -181,     0,  -181,  -181,  -181,  -181,  -180,  -181,  -181,
+    -181,  -181,  -181,  -181,  -181,  -181,  -181,  -181,  -181,  -181,
+     -19,    75,  -181,  -181,   -59,    61,  -181,  -181,    -4,  -181,
+    -181,   -74,   -54,    18,  -153
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -119
+#define YYTABLE_NINF -123
 static const yytype_int16 yytable[] =
 {
-      23,    62,   112,   181,    56,   201,   190,   116,    45,   152,
-     148,    48,    44,    47,     2,    50,    51,    52,    53,    55,
-      58,    59,    98,   197,   195,   205,   146,    99,   198,   149,
-     206,   103,   161,   166,   163,   167,    84,    85,    86,    96,
-     153,    92,   192,   146,   192,     2,    93,    46,   112,    94,
-     112,   112,    98,   165,    95,   168,    60,   156,    88,    62,
-      90,   102,    91,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   145,   147,   185,    79,    80,
-      81,    82,    83,   112,    84,    85,    86,   157,   158,   193,
-     139,   140,   112,   141,   112,   173,   112,   112,   174,   187,
-     160,   188,   189,   103,   112,    84,    85,    86,   202,   203,
-     162,   176,     1,     2,    98,     3,     4,     5,     6,     7,
-     177,   178,   112,     8,     9,   -83,    10,   204,    11,   180,
-     184,    12,  -119,   190,   191,   192,   194,   208,   112,   179,
-     200,    14,   209,   212,   211,   182,   210,   159,    15,     0,
-      16,    17,    18,   172,     0,   186,    19,     0,    20,     0,
-       0,     0,     0,     0,    62,     0,    21,     0,   196,     1,
-       2,     0,     3,     4,     5,     6,     7,     0,     0,     0,
-       8,     9,     0,    10,    49,    11,     0,     0,    12,    13,
-       0,     0,    78,    79,    80,    81,    82,    83,    14,    84,
-      85,    86,     0,   103,     0,    15,     0,    16,    17,    18,
-       0,     0,     0,    19,     0,    20,   104,     0,   105,     0,
-     106,     1,     2,    21,     3,     4,     5,     6,     7,     0,
-       0,   107,     8,     9,     0,    10,    54,    11,   108,     0,
-      12,    13,   109,     0,     0,     0,   110,     0,   111,     0,
-      14,     0,     0,     0,     0,   103,     0,    15,     0,    16,
-      17,    18,     0,     0,     0,    19,     0,    20,   104,     0,
-     105,     0,   106,     1,     2,    21,     3,     4,     5,     6,
-       7,     0,     0,   107,     8,     9,     0,    10,     0,    11,
-     108,     0,    12,    13,   109,     0,     0,     0,   164,     0,
-     111,     0,    14,     0,     0,     0,     0,     0,     0,    15,
-       0,    16,    17,    18,     0,    62,     0,    19,     0,    20,
-       0,    57,     0,     0,     0,     1,     2,    21,     3,     4,
-       5,     6,     7,     0,     0,     0,     8,     9,   -83,    10,
-       0,    11,     0,     0,    12,    13,    81,    82,    83,     0,
-      84,    85,    86,     0,    14,     0,     0,     0,     0,     0,
-       0,    15,     0,    16,    17,    18,     0,     0,     0,    19,
-       0,    20,     0,     0,     0,     0,     0,     1,     2,    21,
+      24,    58,   201,   156,   186,   115,    64,    46,   182,   152,
+     119,    50,   183,    48,    49,    45,    52,    53,    54,    55,
+      57,    60,    61,     2,    64,   200,   101,   203,   153,   207,
+     195,   102,   204,   217,   165,   157,   167,    99,    84,    85,
+      86,    95,    87,    88,    89,   211,   197,    96,   101,    62,
+     212,    97,   115,   160,   115,   115,    98,   169,    47,   172,
+      87,    88,    89,   105,   197,   120,   121,   122,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   151,    91,
+     190,   106,    64,     2,   143,   144,   177,   145,   115,   178,
+     161,   162,   198,   106,   107,   150,   108,   115,   109,   115,
+      93,   115,   115,   106,   192,   150,   193,   194,    94,   115,
+     110,    81,    82,    83,    84,    85,    86,   111,    87,    88,
+      89,   112,    87,    88,    89,   113,   149,   114,   115,  -122,
+     170,   164,   171,   210,   208,   209,   166,   180,   101,   181,
+     195,   197,   185,   184,   189,   115,    64,   196,   199,   187,
+     218,     1,     2,   206,     3,     4,     5,     6,     7,   214,
+     215,   216,     8,     9,   -87,    10,   176,    11,   163,     0,
+      12,  -123,  -123,   202,   191,     0,    82,    83,    84,    85,
+      86,    15,    87,    88,    89,     0,     0,     0,    16,     0,
+      17,    18,    19,     0,     0,     0,    20,     0,    21,     0,
+       0,     0,     0,     0,     1,     2,    22,     3,     4,     5,
+       6,     7,     0,     0,     0,     8,     9,     0,    10,    51,
+      11,     0,     0,    12,    13,    14,     0,     0,     0,     0,
+       0,     0,     0,     0,    15,     0,     0,     0,     0,     0,
+       0,    16,     0,    17,    18,    19,     0,     0,     0,    20,
+       0,    21,     0,     0,     0,     0,     0,     1,     2,    22,
        3,     4,     5,     6,     7,     0,     0,     0,     8,     9,
-     103,    10,     0,    11,     0,     0,    12,    13,     0,     0,
-       0,     0,     0,   104,     0,   105,    14,   106,     0,     0,
-       0,     0,     0,    15,     0,    16,    17,    18,   107,     0,
-       0,    19,     0,    20,     0,   108,    61,    62,     0,   109,
-       0,    21,     0,   110,     0,   111,     0,  -118,    63,    64,
-      65,    66,    67,    68,    69,    70,    71,     0,     0,    72,
-      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
-      83,     0,    84,    85,    86,    61,    62,     0,     0,     0,
-       0,    97,     0,     0,     0,     0,     0,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,     0,     0,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-       0,    84,    85,    86,    61,    62,     0,     0,     0,     0,
-     155,     0,     0,     0,     0,     0,    63,    64,    65,    66,
-      67,    68,    69,    70,    71,     0,     0,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,    81,    82,    83,     0,
-      84,    85,    86,    61,    62,     0,     0,     0,   175,     0,
-       0,     0,     0,     0,     0,    63,    64,    65,    66,    67,
-      68,    69,    70,    71,     0,     0,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,     0,    84,
-      85,    86,    61,    62,     0,     0,     0,   183,     0,     0,
-       0,     0,     0,     0,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,     0,     0,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    81,    82,    83,     0,    84,    85,
-      86,    61,    62,     0,     0,     0,   199,     0,     0,     0,
-       0,     0,     0,    63,    64,    65,    66,    67,    68,    69,
-      70,    71,     0,     0,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,     0,    84,    85,    86,
-     100,   101,    61,    62,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,     0,     0,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    81,    82,    83,     0,    84,    85,
-      86,     0,   154,    61,    62,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    63,    64,    65,    66,    67,
-      68,    69,    70,    71,     0,     0,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,     0,    84,
-      85,    86,   207,    61,    62,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    63,    64,    65,    66,    67,
-      68,    69,    70,    71,     0,     0,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,     0,    84,
-      85,    86,    61,    62,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  -119,    64,    65,    66,    67,    68,
-      69,    70,    71,     0,     0,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    81,    82,    83,     0,    84,    85,
-      86,    61,    62,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    64,    65,    66,    67,    68,    69,
-      70,    71,     0,     0,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,    62,    84,    85,    86,
+       0,    10,    56,    11,     0,     0,    12,    13,    14,     0,
+       0,     0,     0,     0,     0,     0,     0,    15,     0,     0,
+       0,     0,     0,     0,    16,     0,    17,    18,    19,     0,
+       0,     0,    20,     0,    21,     0,     0,     0,     0,     0,
+       1,     2,    22,     3,     4,     5,     6,     7,     0,     0,
+       0,     8,     9,     0,    10,     0,    11,     0,     0,    12,
+      13,    14,     0,     0,     0,     0,     0,     0,     0,     0,
+      15,     0,     0,     0,     0,     0,     0,    16,     0,    17,
+      18,    19,     0,     0,     0,    20,     0,    21,     0,    59,
+       0,     0,     0,     1,     2,    22,     3,     4,     5,     6,
+       7,     0,     0,     0,     8,     9,   -87,    10,     0,    11,
+       0,     0,    12,    13,    14,     0,     0,     0,     0,     0,
+       0,     0,     0,    15,     0,     0,     0,     0,     0,     0,
+      16,     0,    17,    18,    19,     0,     0,     0,    20,     0,
+      21,     0,     0,     0,     0,     0,     1,     2,    22,     3,
+       4,     5,     6,     7,     0,     0,     0,     8,     9,     0,
+      10,     0,    11,     0,     0,    12,    13,    14,     0,     0,
+       0,     0,     0,     0,     0,     0,    15,     0,     0,     0,
+       0,     0,     0,    16,     0,    17,    18,    19,     0,     0,
+       0,    20,     0,    21,    63,    64,     0,     0,     0,     0,
+       0,    22,     0,     0,     0,     0,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,     0,     0,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+       0,    87,    88,    89,    63,    64,     0,     0,     0,     0,
+     100,     0,     0,     0,     0,     0,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,     0,     0,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+     106,    87,    88,    89,     0,   106,     0,     0,     0,     0,
+     159,     0,     0,   107,     0,   108,     0,   109,   107,     0,
+     108,     0,   109,     0,     0,     0,     0,     0,     0,   110,
+       0,     0,     0,     0,   110,     0,   111,     0,     0,     0,
+     112,   111,    63,    64,   113,   112,   114,     0,     0,   168,
+       0,   114,     0,     0,    65,    66,    67,    68,    69,    70,
+      71,    72,    73,    74,     0,     0,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,     0,    87,
+      88,    89,    63,    64,     0,     0,     0,   179,     0,     0,
+       0,     0,     0,     0,    65,    66,    67,    68,    69,    70,
+      71,    72,    73,    74,     0,     0,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,     0,    87,
+      88,    89,    63,    64,     0,     0,     0,   188,     0,     0,
+       0,     0,     0,     0,    65,    66,    67,    68,    69,    70,
+      71,    72,    73,    74,     0,     0,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,     0,    87,
+      88,    89,    63,    64,     0,     0,     0,   205,     0,     0,
+       0,     0,     0,     0,    65,    66,    67,    68,    69,    70,
+      71,    72,    73,    74,     0,     0,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,     0,    87,
+      88,    89,   103,   104,    63,    64,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,     0,     0,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+       0,    87,    88,    89,     0,   158,    63,    64,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    65,    66,
+      67,    68,    69,    70,    71,    72,    73,    74,     0,     0,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,     0,    87,    88,    89,   213,    63,    64,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,    65,
-      66,    67,    68,    69,    70,    71,     0,     0,     0,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      62,    84,    85,    86,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    66,    67,    68,    69,    70,    71,
-       0,     0,     0,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    62,    84,    85,    86,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  -119,  -119,
-    -119,  -119,    70,    71,    62,     0,     0,  -119,  -119,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,     0,    84,
-      85,    86,    70,    71,    62,     0,     0,     0,     0,     0,
-      76,    77,    78,    79,    80,    81,    82,    83,     0,    84,
-      85,    86,    70,    71,    62,     0,     0,     0,     0,     0,
-       0,    77,    78,    79,    80,    81,    82,    83,     0,    84,
-      85,    86,    70,    71,     0,     0,     0,     0,     0,     0,
-       0,     0,    78,    79,    80,    81,    82,    83,     0,    84,
-      85,    86
+      66,    67,    68,    69,    70,    71,    72,    73,    74,     0,
+       0,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,     0,    87,    88,    89,    63,    64,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  -123,
+    -123,    67,    68,    69,    70,    71,    72,    73,    74,     0,
+       0,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,     0,    87,    88,    89,    63,    64,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    67,    68,    69,    70,    71,    72,    73,    74,     0,
+       0,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,    64,    87,    88,    89,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    68,    69,    70,
+      71,    72,    73,    74,     0,     0,     0,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    64,    87,
+      88,    89,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    69,    70,    71,    72,    73,    74,     0,
+       0,     0,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,    64,    87,    88,    89,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  -123,  -123,
+    -123,  -123,    73,    74,    64,     0,     0,  -123,  -123,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,     0,    87,
+      88,    89,     0,    73,    74,    64,     0,     0,     0,     0,
+       0,    79,    80,    81,    82,    83,    84,    85,    86,     0,
+      87,    88,    89,     0,    73,    74,    64,     0,     0,     0,
+       0,     0,     0,    80,    81,    82,    83,    84,    85,    86,
+       0,    87,    88,    89,     0,    73,    74,     0,     0,     0,
+       0,     0,     0,     0,     0,    81,    82,    83,    84,    85,
+      86,     0,    87,    88,    89
 };
 
 static const yytype_int16 yycheck[] =
 {
-       0,    12,    62,   153,    19,    55,    56,    62,    11,     4,
-       4,    14,    32,    13,     4,    15,    16,    17,    18,    19,
-      20,    21,    50,    31,   174,    31,    16,    55,    36,    23,
-      36,     4,   105,    18,   107,    20,    47,    48,    49,    54,
-      35,    44,    50,    16,    50,     4,    46,    49,   108,    49,
-     110,   111,    50,   108,    54,   110,     0,    55,    16,    12,
-      52,    61,    32,    63,    64,    65,    66,    67,    68,    69,
+       0,    20,   182,     4,   157,    64,    12,    11,    51,     4,
+      64,    15,    55,    13,    14,    33,    16,    17,    18,    19,
+      20,    21,    22,     4,    12,   178,    51,    32,    23,    56,
+      57,    56,    37,   213,   108,    36,   110,    56,    44,    45,
+      46,    45,    48,    49,    50,    32,    51,    47,    51,     0,
+      37,    51,   111,    56,   113,   114,    56,   111,    50,   113,
+      48,    49,    50,    63,    51,    65,    66,    67,    68,    69,
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    32,    89,   160,    41,    42,
-      43,    44,    45,   153,    47,    48,    49,    97,    98,   172,
-       4,     5,   162,     7,   164,    32,   166,   167,    35,   164,
-      32,   166,   167,     4,   174,    47,    48,    49,     6,     7,
-      49,    51,     3,     4,    50,     6,     7,     8,     9,    10,
-      32,    54,   192,    14,    15,    16,    17,   192,    19,    53,
-      51,    22,    23,    56,    51,    50,     4,    33,   208,   149,
-      51,    32,    55,   208,   207,   155,    55,   100,    39,    -1,
-      41,    42,    43,   112,    -1,   162,    47,    -1,    49,    -1,
-      -1,    -1,    -1,    -1,    12,    -1,    57,    -1,   178,     3,
-       4,    -1,     6,     7,     8,     9,    10,    -1,    -1,    -1,
-      14,    15,    -1,    17,    18,    19,    -1,    -1,    22,    23,
-      -1,    -1,    40,    41,    42,    43,    44,    45,    32,    47,
-      48,    49,    -1,     4,    -1,    39,    -1,    41,    42,    43,
-      -1,    -1,    -1,    47,    -1,    49,    17,    -1,    19,    -1,
-      21,     3,     4,    57,     6,     7,     8,     9,    10,    -1,
-      -1,    32,    14,    15,    -1,    17,    18,    19,    39,    -1,
-      22,    23,    43,    -1,    -1,    -1,    47,    -1,    49,    -1,
-      32,    -1,    -1,    -1,    -1,     4,    -1,    39,    -1,    41,
-      42,    43,    -1,    -1,    -1,    47,    -1,    49,    17,    -1,
-      19,    -1,    21,     3,     4,    57,     6,     7,     8,     9,
-      10,    -1,    -1,    32,    14,    15,    -1,    17,    -1,    19,
-      39,    -1,    22,    23,    43,    -1,    -1,    -1,    47,    -1,
-      49,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
-      -1,    41,    42,    43,    -1,    12,    -1,    47,    -1,    49,
-      -1,    51,    -1,    -1,    -1,     3,     4,    57,     6,     7,
-       8,     9,    10,    -1,    -1,    -1,    14,    15,    16,    17,
-      -1,    19,    -1,    -1,    22,    23,    43,    44,    45,    -1,
-      47,    48,    49,    -1,    32,    -1,    -1,    -1,    -1,    -1,
-      -1,    39,    -1,    41,    42,    43,    -1,    -1,    -1,    47,
-      -1,    49,    -1,    -1,    -1,    -1,    -1,     3,     4,    57,
+      80,    81,    82,    83,    84,    85,    86,    87,    92,    16,
+     164,     4,    12,     4,     4,     5,    33,     7,   157,    36,
+     100,   101,   176,     4,    17,    16,    19,   166,    21,   168,
+      53,   170,   171,     4,   168,    16,   170,   171,    33,   178,
+      33,    41,    42,    43,    44,    45,    46,    40,    48,    49,
+      50,    44,    48,    49,    50,    48,    33,    50,   197,    52,
+      18,    33,    20,   197,     6,     7,    50,    52,    51,    33,
+      57,    51,    54,   153,    52,   214,    12,    52,     4,   159,
+     214,     3,     4,    52,     6,     7,     8,     9,    10,    34,
+      56,    56,    14,    15,    16,    17,   115,    19,   103,    -1,
+      22,    23,    24,   183,   166,    -1,    42,    43,    44,    45,
+      46,    33,    48,    49,    50,    -1,    -1,    -1,    40,    -1,
+      42,    43,    44,    -1,    -1,    -1,    48,    -1,    50,    -1,
+      -1,    -1,    -1,    -1,     3,     4,    58,     6,     7,     8,
+       9,    10,    -1,    -1,    -1,    14,    15,    -1,    17,    18,
+      19,    -1,    -1,    22,    23,    24,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    33,    -1,    -1,    -1,    -1,    -1,
+      -1,    40,    -1,    42,    43,    44,    -1,    -1,    -1,    48,
+      -1,    50,    -1,    -1,    -1,    -1,    -1,     3,     4,    58,
        6,     7,     8,     9,    10,    -1,    -1,    -1,    14,    15,
-       4,    17,    -1,    19,    -1,    -1,    22,    23,    -1,    -1,
-      -1,    -1,    -1,    17,    -1,    19,    32,    21,    -1,    -1,
-      -1,    -1,    -1,    39,    -1,    41,    42,    43,    32,    -1,
-      -1,    47,    -1,    49,    -1,    39,    11,    12,    -1,    43,
-      -1,    57,    -1,    47,    -1,    49,    -1,    51,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    -1,    -1,    34,
-      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    -1,    47,    48,    49,    11,    12,    -1,    -1,    -1,
-      -1,    56,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    -1,    -1,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      -1,    47,    48,    49,    11,    12,    -1,    -1,    -1,    -1,
-      56,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,
-      27,    28,    29,    30,    31,    -1,    -1,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    44,    45,    -1,
-      47,    48,    49,    11,    12,    -1,    -1,    -1,    55,    -1,
-      -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,
-      28,    29,    30,    31,    -1,    -1,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    -1,    47,
-      48,    49,    11,    12,    -1,    -1,    -1,    55,    -1,    -1,
+      -1,    17,    18,    19,    -1,    -1,    22,    23,    24,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,    -1,    -1,
+      -1,    -1,    -1,    -1,    40,    -1,    42,    43,    44,    -1,
+      -1,    -1,    48,    -1,    50,    -1,    -1,    -1,    -1,    -1,
+       3,     4,    58,     6,     7,     8,     9,    10,    -1,    -1,
+      -1,    14,    15,    -1,    17,    -1,    19,    -1,    -1,    22,
+      23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      33,    -1,    -1,    -1,    -1,    -1,    -1,    40,    -1,    42,
+      43,    44,    -1,    -1,    -1,    48,    -1,    50,    -1,    52,
+      -1,    -1,    -1,     3,     4,    58,     6,     7,     8,     9,
+      10,    -1,    -1,    -1,    14,    15,    16,    17,    -1,    19,
+      -1,    -1,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    33,    -1,    -1,    -1,    -1,    -1,    -1,
+      40,    -1,    42,    43,    44,    -1,    -1,    -1,    48,    -1,
+      50,    -1,    -1,    -1,    -1,    -1,     3,     4,    58,     6,
+       7,     8,     9,    10,    -1,    -1,    -1,    14,    15,    -1,
+      17,    -1,    19,    -1,    -1,    22,    23,    24,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    33,    -1,    -1,    -1,
+      -1,    -1,    -1,    40,    -1,    42,    43,    44,    -1,    -1,
+      -1,    48,    -1,    50,    11,    12,    -1,    -1,    -1,    -1,
+      -1,    58,    -1,    -1,    -1,    -1,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    -1,    -1,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
+      -1,    48,    49,    50,    11,    12,    -1,    -1,    -1,    -1,
+      57,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    -1,    -1,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
+       4,    48,    49,    50,    -1,     4,    -1,    -1,    -1,    -1,
+      57,    -1,    -1,    17,    -1,    19,    -1,    21,    17,    -1,
+      19,    -1,    21,    -1,    -1,    -1,    -1,    -1,    -1,    33,
+      -1,    -1,    -1,    -1,    33,    -1,    40,    -1,    -1,    -1,
+      44,    40,    11,    12,    48,    44,    50,    -1,    -1,    48,
+      -1,    50,    -1,    -1,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    -1,    -1,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    -1,    48,
+      49,    50,    11,    12,    -1,    -1,    -1,    56,    -1,    -1,
       -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    -1,    -1,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    -1,    47,    48,
-      49,    11,    12,    -1,    -1,    -1,    55,    -1,    -1,    -1,
-      -1,    -1,    -1,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    -1,    -1,    34,    35,    36,    37,    38,    39,
-      40,    41,    42,    43,    44,    45,    -1,    47,    48,    49,
-      50,    51,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
+      29,    30,    31,    32,    -1,    -1,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    -1,    48,
+      49,    50,    11,    12,    -1,    -1,    -1,    56,    -1,    -1,
       -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    -1,    -1,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    -1,    47,    48,
-      49,    -1,    51,    11,    12,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,
-      28,    29,    30,    31,    -1,    -1,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    -1,    47,
-      48,    49,    50,    11,    12,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,
-      28,    29,    30,    31,    -1,    -1,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    -1,    47,
-      48,    49,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
+      29,    30,    31,    32,    -1,    -1,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    -1,    48,
+      49,    50,    11,    12,    -1,    -1,    -1,    56,    -1,    -1,
       -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    -1,    -1,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    -1,    47,    48,
-      49,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    24,    25,    26,    27,    28,    29,
-      30,    31,    -1,    -1,    34,    35,    36,    37,    38,    39,
-      40,    41,    42,    43,    44,    45,    12,    47,    48,    49,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    25,
-      26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      12,    47,    48,    49,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    26,    27,    28,    29,    30,    31,
-      -1,    -1,    -1,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    12,    47,    48,    49,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    26,    27,
-      28,    29,    30,    31,    12,    -1,    -1,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    -1,    47,
-      48,    49,    30,    31,    12,    -1,    -1,    -1,    -1,    -1,
-      38,    39,    40,    41,    42,    43,    44,    45,    -1,    47,
-      48,    49,    30,    31,    12,    -1,    -1,    -1,    -1,    -1,
-      -1,    39,    40,    41,    42,    43,    44,    45,    -1,    47,
-      48,    49,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    40,    41,    42,    43,    44,    45,    -1,    47,
-      48,    49
+      29,    30,    31,    32,    -1,    -1,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    -1,    48,
+      49,    50,    51,    52,    11,    12,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    -1,    -1,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
+      -1,    48,    49,    50,    -1,    52,    11,    12,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    -1,    48,    49,    50,    51,    11,    12,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
+      -1,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    -1,    48,    49,    50,    11,    12,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
+      -1,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    -1,    48,    49,    50,    11,    12,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
+      -1,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    12,    48,    49,    50,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    26,    27,    28,
+      29,    30,    31,    32,    -1,    -1,    -1,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    12,    48,
+      49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    27,    28,    29,    30,    31,    32,    -1,
+      -1,    -1,    36,    37,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    12,    48,    49,    50,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,
+      29,    30,    31,    32,    12,    -1,    -1,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    -1,    48,
+      49,    50,    -1,    31,    32,    12,    -1,    -1,    -1,    -1,
+      -1,    39,    40,    41,    42,    43,    44,    45,    46,    -1,
+      48,    49,    50,    -1,    31,    32,    12,    -1,    -1,    -1,
+      -1,    -1,    -1,    40,    41,    42,    43,    44,    45,    46,
+      -1,    48,    49,    50,    -1,    31,    32,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    41,    42,    43,    44,    45,
+      46,    -1,    48,    49,    50
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1205,27 +1232,27 @@ static const yytype_int16 yycheck[] =
 static const yytype_uint8 yystos[] =
 {
        0,     3,     4,     6,     7,     8,     9,    10,    14,    15,
-      17,    19,    22,    23,    32,    39,    41,    42,    43,    47,
-      49,    57,    59,    60,    61,    62,    63,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    81,
-      82,    84,    85,    86,    32,    86,    49,    60,    86,    18,
-      60,    60,    60,    60,    18,    60,    78,    51,    60,    60,
-       0,    11,    12,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    47,    48,    49,    80,    16,    83,
-      52,    32,    86,    60,    60,    60,    78,    56,    50,    55,
-      50,    51,    60,     4,    17,    19,    21,    32,    39,    43,
-      47,    49,    82,    87,    88,    89,    90,    60,    60,    60,
-      60,    60,    60,    60,    60,    60,    60,    60,    60,    60,
-      60,    60,    60,    60,    60,    60,    60,    60,    60,     4,
-       5,     7,    60,    78,    79,    32,    16,    86,     4,    23,
-      64,    65,     4,    35,    51,    56,    55,    60,    60,    79,
-      32,    89,    49,    89,    47,    90,    18,    20,    90,    90,
-      91,    92,    83,    32,    35,    55,    51,    32,    54,    60,
-      53,    92,    60,    55,    51,    89,    91,    90,    90,    90,
-      56,    51,    50,    89,     4,    92,    60,    31,    36,    55,
-      51,    55,     6,     7,    90,    31,    36,    50,    33,    55,
-      55,    65,    90
+      17,    19,    22,    23,    24,    33,    40,    42,    43,    44,
+      48,    50,    58,    60,    61,    62,    63,    64,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      82,    83,    85,    86,    87,    33,    87,    50,    61,    61,
+      87,    18,    61,    61,    61,    61,    18,    61,    79,    52,
+      61,    61,     0,    11,    12,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    46,    48,    49,    50,
+      81,    16,    84,    53,    33,    87,    61,    61,    61,    79,
+      57,    51,    56,    51,    52,    61,     4,    17,    19,    21,
+      33,    40,    44,    48,    50,    83,    88,    89,    90,    91,
+      61,    61,    61,    61,    61,    61,    61,    61,    61,    61,
+      61,    61,    61,    61,    61,    61,    61,    61,    61,    61,
+      61,    61,    61,     4,     5,     7,    61,    79,    80,    33,
+      16,    87,     4,    23,    65,    66,     4,    36,    52,    57,
+      56,    61,    61,    80,    33,    90,    50,    90,    48,    91,
+      18,    20,    91,    91,    92,    93,    84,    33,    36,    56,
+      52,    33,    51,    55,    61,    54,    93,    61,    56,    52,
+      90,    92,    91,    91,    91,    57,    52,    51,    90,     4,
+      93,    66,    61,    32,    37,    56,    52,    56,     6,     7,
+      91,    32,    37,    51,    34,    56,    56,    66,    91
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -2039,7 +2066,7 @@ yyreduce:
         case 2:
 
 /* Line 1455 of yacc.c  */
-#line 407 "rust-exp.y"
+#line 413 "rust-exp.y"
     {
 		  /* If we are completing and see a valid parse,
 		     rust_ast will already have been set.  */
@@ -2051,7 +2078,7 @@ yyreduce:
   case 16:
 
 /* Line 1455 of yacc.c  */
-#line 436 "rust-exp.y"
+#line 443 "rust-exp.y"
     {
 		  (yyvsp[(4) - (5)].params)->push_back ((yyvsp[(2) - (5)].op));
 		  error (_("Tuple expressions not supported yet"));
@@ -2061,14 +2088,14 @@ yyreduce:
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 444 "rust-exp.y"
+#line 451 "rust-exp.y"
     {
 		  struct typed_val_int val;
 
 		  val.type
-		    = language_lookup_primitive_type (current_parser->language (),
-						      current_parser->arch (),
-						      "()");
+		    = (language_lookup_primitive_type
+		       (current_parser->language (), current_parser->arch (),
+			"()"));
 		  val.val = 0;
 		  (yyval.op) = ast_literal (val);
 		}
@@ -2077,14 +2104,14 @@ yyreduce:
   case 18:
 
 /* Line 1455 of yacc.c  */
-#line 461 "rust-exp.y"
+#line 468 "rust-exp.y"
     { (yyval.op) = ast_struct ((yyvsp[(1) - (4)].op), (yyvsp[(3) - (4)].field_inits)); }
     break;
 
   case 19:
 
 /* Line 1455 of yacc.c  */
-#line 466 "rust-exp.y"
+#line 473 "rust-exp.y"
     {
 		  struct set_field sf;
 
@@ -2099,7 +2126,7 @@ yyreduce:
   case 20:
 
 /* Line 1455 of yacc.c  */
-#line 476 "rust-exp.y"
+#line 483 "rust-exp.y"
     {
 		  struct set_field sf;
 
@@ -2112,16 +2139,29 @@ yyreduce:
   case 21:
 
 /* Line 1455 of yacc.c  */
-#line 487 "rust-exp.y"
+#line 491 "rust-exp.y"
     {
-		  (yyval.field_inits) = current_parser->new_set_vector ();
+		  struct set_field sf;
+
+		  sf.name = (yyvsp[(1) - (1)].sval);
+		  sf.init = ast_path ((yyvsp[(1) - (1)].sval), NULL);
+		  (yyval.one_field_init) = sf;
 		}
     break;
 
   case 22:
 
 /* Line 1455 of yacc.c  */
-#line 491 "rust-exp.y"
+#line 502 "rust-exp.y"
+    {
+		  (yyval.field_inits) = current_parser->new_set_vector ();
+		}
+    break;
+
+  case 23:
+
+/* Line 1455 of yacc.c  */
+#line 506 "rust-exp.y"
     {
 		  rust_set_vector *result = current_parser->new_set_vector ();
 		  result->push_back ((yyvsp[(1) - (1)].one_field_init));
@@ -2129,10 +2169,10 @@ yyreduce:
 		}
     break;
 
-  case 23:
+  case 24:
 
 /* Line 1455 of yacc.c  */
-#line 497 "rust-exp.y"
+#line 512 "rust-exp.y"
     {
 		  struct set_field sf;
 
@@ -2143,87 +2183,115 @@ yyreduce:
 		}
     break;
 
-  case 24:
-
-/* Line 1455 of yacc.c  */
-#line 509 "rust-exp.y"
-    { (yyval.op) = ast_call_ish (OP_ARRAY, NULL, (yyvsp[(3) - (4)].params)); }
-    break;
-
   case 25:
 
 /* Line 1455 of yacc.c  */
-#line 511 "rust-exp.y"
-    { (yyval.op) = ast_call_ish (OP_ARRAY, NULL, (yyvsp[(2) - (3)].params)); }
+#line 521 "rust-exp.y"
+    {
+		  struct set_field sf;
+
+		  sf.name = (yyvsp[(1) - (3)].sval);
+		  sf.init = ast_path ((yyvsp[(1) - (3)].sval), NULL);
+		  (yyvsp[(3) - (3)].field_inits)->push_back (sf);
+		  (yyval.field_inits) = (yyvsp[(3) - (3)].field_inits);
+		}
     break;
 
   case 26:
 
 /* Line 1455 of yacc.c  */
-#line 513 "rust-exp.y"
-    { (yyval.op) = ast_operation (OP_RUST_ARRAY, (yyvsp[(3) - (6)].op), (yyvsp[(5) - (6)].op)); }
+#line 533 "rust-exp.y"
+    { (yyval.op) = ast_call_ish (OP_ARRAY, NULL, (yyvsp[(3) - (4)].params)); }
     break;
 
   case 27:
 
 /* Line 1455 of yacc.c  */
-#line 515 "rust-exp.y"
-    { (yyval.op) = ast_operation (OP_RUST_ARRAY, (yyvsp[(2) - (5)].op), (yyvsp[(4) - (5)].op)); }
+#line 535 "rust-exp.y"
+    { (yyval.op) = ast_call_ish (OP_ARRAY, NULL, (yyvsp[(2) - (3)].params)); }
     break;
 
   case 28:
 
 /* Line 1455 of yacc.c  */
-#line 520 "rust-exp.y"
-    { (yyval.op) = ast_range ((yyvsp[(1) - (2)].op), NULL); }
+#line 537 "rust-exp.y"
+    { (yyval.op) = ast_operation (OP_RUST_ARRAY, (yyvsp[(3) - (6)].op), (yyvsp[(5) - (6)].op)); }
     break;
 
   case 29:
 
 /* Line 1455 of yacc.c  */
-#line 522 "rust-exp.y"
-    { (yyval.op) = ast_range ((yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
+#line 539 "rust-exp.y"
+    { (yyval.op) = ast_operation (OP_RUST_ARRAY, (yyvsp[(2) - (5)].op), (yyvsp[(4) - (5)].op)); }
     break;
 
   case 30:
 
 /* Line 1455 of yacc.c  */
-#line 524 "rust-exp.y"
-    { (yyval.op) = ast_range (NULL, (yyvsp[(2) - (2)].op)); }
+#line 544 "rust-exp.y"
+    { (yyval.op) = ast_range ((yyvsp[(1) - (2)].op), NULL, false); }
     break;
 
   case 31:
 
 /* Line 1455 of yacc.c  */
-#line 526 "rust-exp.y"
-    { (yyval.op) = ast_range (NULL, NULL); }
+#line 546 "rust-exp.y"
+    { (yyval.op) = ast_range ((yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op), false); }
     break;
 
   case 32:
 
 /* Line 1455 of yacc.c  */
-#line 531 "rust-exp.y"
-    { (yyval.op) = ast_literal ((yyvsp[(1) - (1)].typed_val_int)); }
+#line 548 "rust-exp.y"
+    { (yyval.op) = ast_range ((yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op), true); }
     break;
 
   case 33:
 
 /* Line 1455 of yacc.c  */
-#line 533 "rust-exp.y"
-    { (yyval.op) = ast_literal ((yyvsp[(1) - (1)].typed_val_int)); }
+#line 550 "rust-exp.y"
+    { (yyval.op) = ast_range (NULL, (yyvsp[(2) - (2)].op), false); }
     break;
 
   case 34:
 
 /* Line 1455 of yacc.c  */
-#line 535 "rust-exp.y"
-    { (yyval.op) = ast_dliteral ((yyvsp[(1) - (1)].typed_val_float)); }
+#line 552 "rust-exp.y"
+    { (yyval.op) = ast_range (NULL, (yyvsp[(2) - (2)].op), true); }
     break;
 
   case 35:
 
 /* Line 1455 of yacc.c  */
-#line 537 "rust-exp.y"
+#line 554 "rust-exp.y"
+    { (yyval.op) = ast_range (NULL, NULL, false); }
+    break;
+
+  case 36:
+
+/* Line 1455 of yacc.c  */
+#line 559 "rust-exp.y"
+    { (yyval.op) = ast_literal ((yyvsp[(1) - (1)].typed_val_int)); }
+    break;
+
+  case 37:
+
+/* Line 1455 of yacc.c  */
+#line 561 "rust-exp.y"
+    { (yyval.op) = ast_literal ((yyvsp[(1) - (1)].typed_val_int)); }
+    break;
+
+  case 38:
+
+/* Line 1455 of yacc.c  */
+#line 563 "rust-exp.y"
+    { (yyval.op) = ast_dliteral ((yyvsp[(1) - (1)].typed_val_float)); }
+    break;
+
+  case 39:
+
+/* Line 1455 of yacc.c  */
+#line 565 "rust-exp.y"
     {
 		  const struct rust_op *str = ast_string ((yyvsp[(1) - (1)].sval));
 		  struct set_field field;
@@ -2252,17 +2320,17 @@ yyreduce:
 		}
     break;
 
-  case 36:
+  case 40:
 
 /* Line 1455 of yacc.c  */
-#line 564 "rust-exp.y"
+#line 592 "rust-exp.y"
     { (yyval.op) = ast_string ((yyvsp[(1) - (1)].sval)); }
     break;
 
-  case 37:
+  case 41:
 
 /* Line 1455 of yacc.c  */
-#line 566 "rust-exp.y"
+#line 594 "rust-exp.y"
     {
 		  struct typed_val_int val;
 
@@ -2273,10 +2341,10 @@ yyreduce:
 		}
     break;
 
-  case 38:
+  case 42:
 
 /* Line 1455 of yacc.c  */
-#line 575 "rust-exp.y"
+#line 603 "rust-exp.y"
     {
 		  struct typed_val_int val;
 
@@ -2287,55 +2355,55 @@ yyreduce:
 		}
     break;
 
-  case 39:
+  case 43:
 
 /* Line 1455 of yacc.c  */
-#line 587 "rust-exp.y"
+#line 615 "rust-exp.y"
     { (yyval.op) = ast_structop ((yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].sval).ptr, 0); }
     break;
 
-  case 40:
+  case 44:
 
 /* Line 1455 of yacc.c  */
-#line 589 "rust-exp.y"
+#line 617 "rust-exp.y"
     {
 		  (yyval.op) = ast_structop ((yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].sval).ptr, 1);
 		  current_parser->rust_ast = (yyval.op);
 		}
     break;
 
-  case 41:
+  case 45:
 
 /* Line 1455 of yacc.c  */
-#line 594 "rust-exp.y"
+#line 622 "rust-exp.y"
     { (yyval.op) = ast_structop_anonymous ((yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].typed_val_int)); }
     break;
 
-  case 42:
+  case 46:
 
 /* Line 1455 of yacc.c  */
-#line 599 "rust-exp.y"
+#line 627 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_SUBSCRIPT, (yyvsp[(1) - (4)].op), (yyvsp[(3) - (4)].op)); }
     break;
 
-  case 43:
+  case 47:
 
 /* Line 1455 of yacc.c  */
-#line 604 "rust-exp.y"
+#line 632 "rust-exp.y"
     { (yyval.op) = ast_unary (UNOP_PLUS, (yyvsp[(2) - (2)].op)); }
     break;
 
-  case 44:
+  case 48:
 
 /* Line 1455 of yacc.c  */
-#line 607 "rust-exp.y"
+#line 635 "rust-exp.y"
     { (yyval.op) = ast_unary (UNOP_NEG, (yyvsp[(2) - (2)].op)); }
     break;
 
-  case 45:
+  case 49:
 
 /* Line 1455 of yacc.c  */
-#line 610 "rust-exp.y"
+#line 638 "rust-exp.y"
     {
 		  /* Note that we provide a Rust-specific evaluator
 		     override for UNOP_COMPLEMENT, so it can do the
@@ -2345,306 +2413,306 @@ yyreduce:
 		}
     break;
 
-  case 46:
+  case 50:
 
 /* Line 1455 of yacc.c  */
-#line 619 "rust-exp.y"
+#line 647 "rust-exp.y"
     { (yyval.op) = ast_unary (UNOP_IND, (yyvsp[(2) - (2)].op)); }
     break;
 
-  case 47:
+  case 51:
 
 /* Line 1455 of yacc.c  */
-#line 622 "rust-exp.y"
+#line 650 "rust-exp.y"
     { (yyval.op) = ast_unary (UNOP_ADDR, (yyvsp[(2) - (2)].op)); }
     break;
 
-  case 48:
+  case 52:
 
 /* Line 1455 of yacc.c  */
-#line 625 "rust-exp.y"
+#line 653 "rust-exp.y"
     { (yyval.op) = ast_unary (UNOP_ADDR, (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 49:
+  case 53:
 
 /* Line 1455 of yacc.c  */
-#line 627 "rust-exp.y"
+#line 655 "rust-exp.y"
     { (yyval.op) = ast_unary (UNOP_SIZEOF, (yyvsp[(3) - (4)].op)); }
     break;
 
-  case 54:
+  case 58:
 
 /* Line 1455 of yacc.c  */
-#line 639 "rust-exp.y"
+#line 667 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_MUL, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 55:
+  case 59:
 
 /* Line 1455 of yacc.c  */
-#line 642 "rust-exp.y"
+#line 670 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_REPEAT, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 56:
+  case 60:
 
 /* Line 1455 of yacc.c  */
-#line 645 "rust-exp.y"
+#line 673 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_DIV, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 57:
+  case 61:
 
 /* Line 1455 of yacc.c  */
-#line 648 "rust-exp.y"
+#line 676 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_REM, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 58:
+  case 62:
 
 /* Line 1455 of yacc.c  */
-#line 651 "rust-exp.y"
+#line 679 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_LESS, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 59:
+  case 63:
 
 /* Line 1455 of yacc.c  */
-#line 654 "rust-exp.y"
+#line 682 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_GTR, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 60:
+  case 64:
 
 /* Line 1455 of yacc.c  */
-#line 657 "rust-exp.y"
+#line 685 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_BITWISE_AND, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 61:
+  case 65:
 
 /* Line 1455 of yacc.c  */
-#line 660 "rust-exp.y"
+#line 688 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_BITWISE_IOR, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 62:
+  case 66:
 
 /* Line 1455 of yacc.c  */
-#line 663 "rust-exp.y"
+#line 691 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_BITWISE_XOR, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 63:
+  case 67:
 
 /* Line 1455 of yacc.c  */
-#line 666 "rust-exp.y"
+#line 694 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_ADD, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 64:
+  case 68:
 
 /* Line 1455 of yacc.c  */
-#line 669 "rust-exp.y"
+#line 697 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_SUB, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 65:
+  case 69:
 
 /* Line 1455 of yacc.c  */
-#line 672 "rust-exp.y"
+#line 700 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_LOGICAL_OR, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 66:
+  case 70:
 
 /* Line 1455 of yacc.c  */
-#line 675 "rust-exp.y"
+#line 703 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_LOGICAL_AND, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 67:
+  case 71:
 
 /* Line 1455 of yacc.c  */
-#line 678 "rust-exp.y"
+#line 706 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_EQUAL, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 68:
+  case 72:
 
 /* Line 1455 of yacc.c  */
-#line 681 "rust-exp.y"
+#line 709 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_NOTEQUAL, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 69:
+  case 73:
 
 /* Line 1455 of yacc.c  */
-#line 684 "rust-exp.y"
+#line 712 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_LEQ, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 70:
+  case 74:
 
 /* Line 1455 of yacc.c  */
-#line 687 "rust-exp.y"
+#line 715 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_GEQ, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 71:
+  case 75:
 
 /* Line 1455 of yacc.c  */
-#line 690 "rust-exp.y"
+#line 718 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_LSH, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 72:
+  case 76:
 
 /* Line 1455 of yacc.c  */
-#line 693 "rust-exp.y"
+#line 721 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_RSH, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 73:
+  case 77:
 
 /* Line 1455 of yacc.c  */
-#line 698 "rust-exp.y"
+#line 726 "rust-exp.y"
     { (yyval.op) = ast_cast ((yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 74:
+  case 78:
 
 /* Line 1455 of yacc.c  */
-#line 703 "rust-exp.y"
+#line 731 "rust-exp.y"
     { (yyval.op) = ast_operation (BINOP_ASSIGN, (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 75:
+  case 79:
 
 /* Line 1455 of yacc.c  */
-#line 708 "rust-exp.y"
+#line 736 "rust-exp.y"
     { (yyval.op) = ast_compound_assignment ((yyvsp[(2) - (3)].opcode), (yyvsp[(1) - (3)].op), (yyvsp[(3) - (3)].op)); }
     break;
 
-  case 76:
+  case 80:
 
 /* Line 1455 of yacc.c  */
-#line 714 "rust-exp.y"
+#line 742 "rust-exp.y"
     { (yyval.op) = (yyvsp[(2) - (3)].op); }
     break;
 
-  case 77:
+  case 81:
 
 /* Line 1455 of yacc.c  */
-#line 719 "rust-exp.y"
+#line 747 "rust-exp.y"
     {
 		  (yyval.params) = current_parser->new_op_vector ();
 		  (yyval.params)->push_back ((yyvsp[(1) - (1)].op));
 		}
     break;
 
-  case 78:
+  case 82:
 
 /* Line 1455 of yacc.c  */
-#line 724 "rust-exp.y"
+#line 752 "rust-exp.y"
     {
 		  (yyvsp[(1) - (3)].params)->push_back ((yyvsp[(3) - (3)].op));
 		  (yyval.params) = (yyvsp[(1) - (3)].params);
 		}
     break;
 
-  case 79:
+  case 83:
 
 /* Line 1455 of yacc.c  */
-#line 732 "rust-exp.y"
+#line 760 "rust-exp.y"
     {
 		  /* The result can't be NULL.  */
 		  (yyval.params) = current_parser->new_op_vector ();
 		}
     break;
 
-  case 80:
+  case 84:
 
 /* Line 1455 of yacc.c  */
-#line 737 "rust-exp.y"
+#line 765 "rust-exp.y"
     { (yyval.params) = (yyvsp[(1) - (1)].params); }
     break;
 
-  case 81:
+  case 85:
 
 /* Line 1455 of yacc.c  */
-#line 744 "rust-exp.y"
+#line 770 "rust-exp.y"
     { (yyval.params) = (yyvsp[(2) - (3)].params); }
     break;
 
-  case 82:
+  case 86:
 
 /* Line 1455 of yacc.c  */
-#line 749 "rust-exp.y"
+#line 775 "rust-exp.y"
     { (yyval.op) = ast_call_ish (OP_FUNCALL, (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].params)); }
     break;
 
-  case 85:
+  case 89:
 
 /* Line 1455 of yacc.c  */
-#line 759 "rust-exp.y"
+#line 785 "rust-exp.y"
     { (yyval.depth) = 1; }
     break;
 
-  case 86:
+  case 90:
 
 /* Line 1455 of yacc.c  */
-#line 761 "rust-exp.y"
+#line 787 "rust-exp.y"
     { (yyval.depth) = (yyvsp[(1) - (3)].depth) + 1; }
     break;
 
-  case 87:
+  case 91:
 
 /* Line 1455 of yacc.c  */
-#line 766 "rust-exp.y"
+#line 792 "rust-exp.y"
     { (yyval.op) = (yyvsp[(1) - (1)].op); }
     break;
 
-  case 88:
+  case 92:
 
 /* Line 1455 of yacc.c  */
-#line 768 "rust-exp.y"
+#line 794 "rust-exp.y"
     { (yyval.op) = ast_path ((yyvsp[(1) - (1)].sval), NULL); }
     break;
 
-  case 89:
+  case 93:
 
 /* Line 1455 of yacc.c  */
-#line 770 "rust-exp.y"
+#line 796 "rust-exp.y"
     { (yyval.op) = ast_path (make_stoken ("self"), NULL); }
     break;
 
-  case 91:
+  case 95:
 
 /* Line 1455 of yacc.c  */
-#line 776 "rust-exp.y"
+#line 802 "rust-exp.y"
     { (yyval.op) = super_name ((yyvsp[(3) - (3)].op), 0); }
     break;
 
-  case 92:
+  case 96:
 
 /* Line 1455 of yacc.c  */
-#line 778 "rust-exp.y"
+#line 804 "rust-exp.y"
     { (yyval.op) = super_name ((yyvsp[(3) - (3)].op), (yyvsp[(2) - (3)].depth)); }
     break;
 
-  case 93:
+  case 97:
 
 /* Line 1455 of yacc.c  */
-#line 780 "rust-exp.y"
+#line 806 "rust-exp.y"
     { (yyval.op) = crate_name ((yyvsp[(2) - (2)].op)); }
     break;
 
-  case 94:
+  case 98:
 
 /* Line 1455 of yacc.c  */
-#line 782 "rust-exp.y"
+#line 808 "rust-exp.y"
     {
 		  /* This is a gdb extension to make it possible to
 		     refer to items in other crates.  It just bypasses
@@ -2655,17 +2723,17 @@ yyreduce:
 		}
     break;
 
-  case 95:
+  case 99:
 
 /* Line 1455 of yacc.c  */
-#line 794 "rust-exp.y"
+#line 820 "rust-exp.y"
     { (yyval.op) = ast_path ((yyvsp[(1) - (1)].sval), NULL); }
     break;
 
-  case 96:
+  case 100:
 
 /* Line 1455 of yacc.c  */
-#line 796 "rust-exp.y"
+#line 822 "rust-exp.y"
     {
 		  (yyval.op) = ast_path (rust_concat3 ((yyvsp[(1) - (3)].op)->left.sval.ptr, "::",
 					       (yyvsp[(3) - (3)].sval).ptr),
@@ -2673,48 +2741,48 @@ yyreduce:
 		}
     break;
 
-  case 97:
+  case 101:
 
 /* Line 1455 of yacc.c  */
-#line 802 "rust-exp.y"
+#line 828 "rust-exp.y"
     { (yyval.op) = ast_path ((yyvsp[(1) - (5)].op)->left.sval, (yyvsp[(4) - (5)].params)); }
     break;
 
-  case 98:
+  case 102:
 
 /* Line 1455 of yacc.c  */
-#line 804 "rust-exp.y"
+#line 830 "rust-exp.y"
     {
 		  (yyval.op) = ast_path ((yyvsp[(1) - (5)].op)->left.sval, (yyvsp[(4) - (5)].params));
 		  rust_push_back ('>');
 		}
     break;
 
-  case 100:
+  case 104:
 
 /* Line 1455 of yacc.c  */
-#line 813 "rust-exp.y"
+#line 839 "rust-exp.y"
     { (yyval.op) = super_name ((yyvsp[(3) - (3)].op), 0); }
     break;
 
-  case 101:
+  case 105:
 
 /* Line 1455 of yacc.c  */
-#line 815 "rust-exp.y"
+#line 841 "rust-exp.y"
     { (yyval.op) = super_name ((yyvsp[(3) - (3)].op), (yyvsp[(2) - (3)].depth)); }
     break;
 
-  case 102:
+  case 106:
 
 /* Line 1455 of yacc.c  */
-#line 817 "rust-exp.y"
+#line 843 "rust-exp.y"
     { (yyval.op) = crate_name ((yyvsp[(2) - (2)].op)); }
     break;
 
-  case 103:
+  case 107:
 
 /* Line 1455 of yacc.c  */
-#line 819 "rust-exp.y"
+#line 845 "rust-exp.y"
     {
 		  /* This is a gdb extension to make it possible to
 		     refer to items in other crates.  It just bypasses
@@ -2725,17 +2793,17 @@ yyreduce:
 		}
     break;
 
-  case 104:
+  case 108:
 
 /* Line 1455 of yacc.c  */
-#line 831 "rust-exp.y"
+#line 857 "rust-exp.y"
     { (yyval.op) = ast_path ((yyvsp[(1) - (1)].sval), NULL); }
     break;
 
-  case 105:
+  case 109:
 
 /* Line 1455 of yacc.c  */
-#line 833 "rust-exp.y"
+#line 859 "rust-exp.y"
     {
 		  (yyval.op) = ast_path (rust_concat3 ((yyvsp[(1) - (3)].op)->left.sval.ptr, "::",
 					       (yyvsp[(3) - (3)].sval).ptr),
@@ -2743,97 +2811,97 @@ yyreduce:
 		}
     break;
 
-  case 107:
+  case 111:
 
 /* Line 1455 of yacc.c  */
-#line 843 "rust-exp.y"
+#line 869 "rust-exp.y"
     { (yyval.op) = ast_path ((yyvsp[(1) - (4)].op)->left.sval, (yyvsp[(3) - (4)].params)); }
     break;
 
-  case 108:
+  case 112:
 
 /* Line 1455 of yacc.c  */
-#line 845 "rust-exp.y"
+#line 871 "rust-exp.y"
     {
 		  (yyval.op) = ast_path ((yyvsp[(1) - (4)].op)->left.sval, (yyvsp[(3) - (4)].params));
 		  rust_push_back ('>');
 		}
     break;
 
-  case 110:
+  case 114:
 
 /* Line 1455 of yacc.c  */
-#line 854 "rust-exp.y"
+#line 880 "rust-exp.y"
     { (yyval.op) = ast_array_type ((yyvsp[(2) - (5)].op), (yyvsp[(4) - (5)].typed_val_int)); }
     break;
 
-  case 111:
+  case 115:
 
 /* Line 1455 of yacc.c  */
-#line 856 "rust-exp.y"
+#line 882 "rust-exp.y"
     { (yyval.op) = ast_array_type ((yyvsp[(2) - (5)].op), (yyvsp[(4) - (5)].typed_val_int)); }
     break;
 
-  case 112:
+  case 116:
 
 /* Line 1455 of yacc.c  */
-#line 858 "rust-exp.y"
+#line 884 "rust-exp.y"
     { (yyval.op) = ast_slice_type ((yyvsp[(3) - (4)].op)); }
     break;
 
-  case 113:
+  case 117:
 
 /* Line 1455 of yacc.c  */
-#line 860 "rust-exp.y"
+#line 886 "rust-exp.y"
     { (yyval.op) = ast_reference_type ((yyvsp[(2) - (2)].op)); }
     break;
 
-  case 114:
+  case 118:
 
 /* Line 1455 of yacc.c  */
-#line 862 "rust-exp.y"
+#line 888 "rust-exp.y"
     { (yyval.op) = ast_pointer_type ((yyvsp[(3) - (3)].op), 1); }
     break;
 
-  case 115:
+  case 119:
 
 /* Line 1455 of yacc.c  */
-#line 864 "rust-exp.y"
+#line 890 "rust-exp.y"
     { (yyval.op) = ast_pointer_type ((yyvsp[(3) - (3)].op), 0); }
     break;
 
-  case 116:
+  case 120:
 
 /* Line 1455 of yacc.c  */
-#line 866 "rust-exp.y"
+#line 892 "rust-exp.y"
     { (yyval.op) = ast_function_type ((yyvsp[(6) - (6)].op), (yyvsp[(3) - (6)].params)); }
     break;
 
-  case 117:
+  case 121:
 
 /* Line 1455 of yacc.c  */
-#line 868 "rust-exp.y"
+#line 894 "rust-exp.y"
     { (yyval.op) = ast_tuple_type ((yyvsp[(2) - (3)].params)); }
     break;
 
-  case 118:
+  case 122:
 
 /* Line 1455 of yacc.c  */
-#line 873 "rust-exp.y"
+#line 899 "rust-exp.y"
     { (yyval.params) = NULL; }
     break;
 
-  case 119:
+  case 123:
 
 /* Line 1455 of yacc.c  */
-#line 875 "rust-exp.y"
+#line 901 "rust-exp.y"
     { (yyval.params) = (yyvsp[(1) - (1)].params); }
     break;
 
-  case 120:
+  case 124:
 
 /* Line 1455 of yacc.c  */
-#line 880 "rust-exp.y"
+#line 906 "rust-exp.y"
     {
 		  rust_op_vector *result = current_parser->new_op_vector ();
 		  result->push_back ((yyvsp[(1) - (1)].op));
@@ -2841,10 +2909,10 @@ yyreduce:
 		}
     break;
 
-  case 121:
+  case 125:
 
 /* Line 1455 of yacc.c  */
-#line 886 "rust-exp.y"
+#line 912 "rust-exp.y"
     {
 		  (yyvsp[(1) - (3)].params)->push_back ((yyvsp[(3) - (3)].op));
 		  (yyval.params) = (yyvsp[(1) - (3)].params);
@@ -2854,7 +2922,7 @@ yyreduce:
 
 
 /* Line 1455 of yacc.c  */
-#line 2859 "rust-exp.c"
+#line 2927 "rust-exp.c.tmp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3066,7 +3134,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 892 "rust-exp.y"
+#line 918 "rust-exp.y"
 
 
 /* A struct of this type is used to describe a token.  */
@@ -3118,6 +3186,7 @@ static const struct token_info operator_
   { "&=", COMPOUND_ASSIGN, BINOP_BITWISE_AND },
   { "|=", COMPOUND_ASSIGN, BINOP_BITWISE_IOR },
   { "^=", COMPOUND_ASSIGN, BINOP_BITWISE_XOR },
+  { "..=", DOTDOTEQ, OP_NULL },
 
   { "::", COLONCOLON, OP_NULL },
   { "..", DOTDOT, OP_NULL },
@@ -3222,15 +3291,13 @@ super_name (const struct rust_op *ident,
 		   ident->right.params);
 }
 
-/* A helper that updates innermost_block as appropriate.  */
+/* A helper that updates the innermost block as appropriate.  */
 
 static void
 update_innermost_block (struct block_symbol sym)
 {
-  if (symbol_read_needs_frame (sym.symbol)
-      && (innermost_block == NULL
-	  || contained_in (sym.block, innermost_block)))
-    innermost_block = sym.block;
+  if (symbol_read_needs_frame (sym.symbol))
+    innermost_block.update (sym);
 }
 
 /* A helper to look up a Rust type, or fail.  This only works for
@@ -4005,11 +4072,13 @@ ast_structop_anonymous (const struct rus
 /* Make a range operation.  */
 
 static const struct rust_op *
-ast_range (const struct rust_op *lhs, const struct rust_op *rhs)
+ast_range (const struct rust_op *lhs, const struct rust_op *rhs,
+	   bool inclusive)
 {
   struct rust_op *result = OBSTACK_ZALLOC (work_obstack, struct rust_op);
 
   result->opcode = OP_RANGE;
+  result->inclusive = inclusive;
   result->left.op = lhs;
   result->right.op = rhs;
 
@@ -4171,8 +4240,11 @@ convert_params_to_types (struct parser_s
 {
   std::vector<struct type *> result;
 
-  for (const rust_op *op : *params)
-    result.push_back (convert_ast_to_type (state, op));
+  if (params != nullptr)
+    {
+      for (const rust_op *op : *params)
+        result.push_back (convert_ast_to_type (state, op));
+    }
 
   return result;
 }
@@ -4637,13 +4709,22 @@ convert_ast_to_expression (struct parser
 	  {
 	    convert_ast_to_expression (state, operation->right.op, top);
 	    if (kind == BOTH_BOUND_DEFAULT)
-	      kind = LOW_BOUND_DEFAULT;
+	      kind = (operation->inclusive
+		      ? LOW_BOUND_DEFAULT : LOW_BOUND_DEFAULT_EXCLUSIVE);
 	    else
 	      {
 		gdb_assert (kind == HIGH_BOUND_DEFAULT);
-		kind = NONE_BOUND_DEFAULT;
+		kind = (operation->inclusive
+			? NONE_BOUND_DEFAULT : NONE_BOUND_DEFAULT_EXCLUSIVE);
 	      }
 	  }
+	else
+	  {
+	    /* Nothing should make an inclusive range without an upper
+	       bound.  */
+	    gdb_assert (!operation->inclusive);
+	  }
+
 	write_exp_elt_opcode (state, OP_RANGE);
 	write_exp_elt_longcst (state, kind);
 	write_exp_elt_opcode (state, OP_RANGE);
@@ -4678,11 +4759,11 @@ rust_parse (struct parser_state *state)
 
 /* The parser error handler.  */
 
-void
+static void
 rustyyerror (const char *msg)
 {
   const char *where = prev_lexptr ? prev_lexptr : lexptr;
-  error (_("%s in expression, near `%s'."), (msg ? msg : "Error"), where);
+  error (_("%s in expression, near `%s'."), msg, where);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rust-exp.y ./gdb/rust-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rust-exp.y	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/rust-exp.y	2018-07-10 02:06:13.000000000 +0000
@@ -70,6 +70,7 @@ struct set_field
 typedef std::vector<set_field> rust_set_vector;
 
 static int rustyylex (void);
+static void rustyyerror (const char *msg);
 static void rust_push_back (char c);
 static const char *rust_copy_name (const char *, int);
 static struct stoken rust_concat3 (const char *, const char *, const char *);
@@ -111,7 +112,8 @@ static const struct rust_op *ast_string 
 static const struct rust_op *ast_struct (const struct rust_op *name,
 					 rust_set_vector *fields);
 static const struct rust_op *ast_range (const struct rust_op *lhs,
-					const struct rust_op *rhs);
+					const struct rust_op *rhs,
+					bool inclusive);
 static const struct rust_op *ast_array_type (const struct rust_op *lhs,
 					     struct typed_val_int val);
 static const struct rust_op *ast_slice_type (const struct rust_op *type);
@@ -300,6 +302,9 @@ struct rust_op
      name occurred at the end of the expression and is eligible for
      completion.  */
   unsigned int completing : 1;
+  /* For OP_RANGE, indicates whether the range is inclusive or
+     exclusive.  */
+  unsigned int inclusive : 1;
   /* Operands of expression.  Which one is used and how depends on the
      particular opcode.  */
   RUSTSTYPE left;
@@ -333,6 +338,7 @@ struct rust_op
 
 /* Operator tokens.  */
 %token <voidval> DOTDOT
+%token <voidval> DOTDOTEQ
 %token <voidval> OROR
 %token <voidval> ANDAND
 %token <voidval> EQEQ
@@ -382,7 +388,7 @@ struct rust_op
 %type <one_field_init> struct_expr_tail
 
 /* Precedence.  */
-%nonassoc DOTDOT
+%nonassoc DOTDOT DOTDOTEQ
 %right '=' COMPOUND_ASSIGN
 %left OROR
 %left ANDAND
@@ -425,7 +431,8 @@ expr:
 |	array_expr
 |	idx_expr
 |	range_expr
-|	unop_expr /* Must precede call_expr because of ambiguity with sizeof.  */
+|	unop_expr /* Must precede call_expr because of ambiguity with
+		     sizeof.  */
 |	binop_expr
 |	paren_expr
 |	call_expr
@@ -445,9 +452,9 @@ unit_expr:
 		  struct typed_val_int val;
 
 		  val.type
-		    = language_lookup_primitive_type (current_parser->language (),
-						      current_parser->arch (),
-						      "()");
+		    = (language_lookup_primitive_type
+		       (current_parser->language (), current_parser->arch (),
+			"()"));
 		  val.val = 0;
 		  $$ = ast_literal (val);
 		}
@@ -480,6 +487,14 @@ struct_expr_tail:
 		  sf.init = $3;
 		  $$ = sf;
 		}
+|	IDENT
+		{
+		  struct set_field sf;
+
+		  sf.name = $1;
+		  sf.init = ast_path ($1, NULL);
+		  $$ = sf;
+		}
 ;
 
 struct_expr_list:
@@ -502,6 +517,15 @@ struct_expr_list:
 		  $5->push_back (sf);
 		  $$ = $5;
 		}
+|	IDENT ',' struct_expr_list
+		{
+		  struct set_field sf;
+
+		  sf.name = $1;
+		  sf.init = ast_path ($1, NULL);
+		  $3->push_back (sf);
+		  $$ = $3;
+		}
 ;
 
 array_expr:
@@ -517,13 +541,17 @@ array_expr:
 
 range_expr:
 	expr DOTDOT
-		{ $$ = ast_range ($1, NULL); }
+		{ $$ = ast_range ($1, NULL, false); }
 |	expr DOTDOT expr
-		{ $$ = ast_range ($1, $3); }
+		{ $$ = ast_range ($1, $3, false); }
+|	expr DOTDOTEQ expr
+		{ $$ = ast_range ($1, $3, true); }
 |	DOTDOT expr
-		{ $$ = ast_range (NULL, $2); }
+		{ $$ = ast_range (NULL, $2, false); }
+|	DOTDOTEQ expr
+		{ $$ = ast_range (NULL, $2, true); }
 |	DOTDOT
-		{ $$ = ast_range (NULL, NULL); }
+		{ $$ = ast_range (NULL, NULL, false); }
 ;
 
 literal:
@@ -623,8 +651,8 @@ unop_expr:
 
 |	'&' KW_MUT expr	%prec UNARY
 		{ $$ = ast_unary (UNOP_ADDR, $3); }
-|   KW_SIZEOF '(' expr ')' %prec UNARY
-        { $$ = ast_unary (UNOP_SIZEOF, $3); }
+|	KW_SIZEOF '(' expr ')' %prec UNARY
+		{ $$ = ast_unary (UNOP_SIZEOF, $3); }
 ;
 
 binop_expr:
@@ -738,9 +766,7 @@ maybe_expr_list:
 ;
 
 paren_expr_list:
-	'('
-	maybe_expr_list
-	')'
+	'(' maybe_expr_list ')'
 		{ $$ = $2; }
 ;
 
@@ -828,7 +854,7 @@ path_for_type:
 
 just_identifiers_for_type:
 	IDENT
-	  	{ $$ = ast_path ($1, NULL); }
+		{ $$ = ast_path ($1, NULL); }
 |	just_identifiers_for_type COLONCOLON IDENT
 		{
 		  $$ = ast_path (rust_concat3 ($1->left.sval.ptr, "::",
@@ -940,6 +966,7 @@ static const struct token_info operator_
   { "&=", COMPOUND_ASSIGN, BINOP_BITWISE_AND },
   { "|=", COMPOUND_ASSIGN, BINOP_BITWISE_IOR },
   { "^=", COMPOUND_ASSIGN, BINOP_BITWISE_XOR },
+  { "..=", DOTDOTEQ, OP_NULL },
 
   { "::", COLONCOLON, OP_NULL },
   { "..", DOTDOT, OP_NULL },
@@ -1044,15 +1071,13 @@ super_name (const struct rust_op *ident,
 		   ident->right.params);
 }
 
-/* A helper that updates innermost_block as appropriate.  */
+/* A helper that updates the innermost block as appropriate.  */
 
 static void
 update_innermost_block (struct block_symbol sym)
 {
-  if (symbol_read_needs_frame (sym.symbol)
-      && (innermost_block == NULL
-	  || contained_in (sym.block, innermost_block)))
-    innermost_block = sym.block;
+  if (symbol_read_needs_frame (sym.symbol))
+    innermost_block.update (sym);
 }
 
 /* A helper to look up a Rust type, or fail.  This only works for
@@ -1827,11 +1852,13 @@ ast_structop_anonymous (const struct rus
 /* Make a range operation.  */
 
 static const struct rust_op *
-ast_range (const struct rust_op *lhs, const struct rust_op *rhs)
+ast_range (const struct rust_op *lhs, const struct rust_op *rhs,
+	   bool inclusive)
 {
   struct rust_op *result = OBSTACK_ZALLOC (work_obstack, struct rust_op);
 
   result->opcode = OP_RANGE;
+  result->inclusive = inclusive;
   result->left.op = lhs;
   result->right.op = rhs;
 
@@ -1993,8 +2020,11 @@ convert_params_to_types (struct parser_s
 {
   std::vector<struct type *> result;
 
-  for (const rust_op *op : *params)
-    result.push_back (convert_ast_to_type (state, op));
+  if (params != nullptr)
+    {
+      for (const rust_op *op : *params)
+        result.push_back (convert_ast_to_type (state, op));
+    }
 
   return result;
 }
@@ -2459,13 +2489,22 @@ convert_ast_to_expression (struct parser
 	  {
 	    convert_ast_to_expression (state, operation->right.op, top);
 	    if (kind == BOTH_BOUND_DEFAULT)
-	      kind = LOW_BOUND_DEFAULT;
+	      kind = (operation->inclusive
+		      ? LOW_BOUND_DEFAULT : LOW_BOUND_DEFAULT_EXCLUSIVE);
 	    else
 	      {
 		gdb_assert (kind == HIGH_BOUND_DEFAULT);
-		kind = NONE_BOUND_DEFAULT;
+		kind = (operation->inclusive
+			? NONE_BOUND_DEFAULT : NONE_BOUND_DEFAULT_EXCLUSIVE);
 	      }
 	  }
+	else
+	  {
+	    /* Nothing should make an inclusive range without an upper
+	       bound.  */
+	    gdb_assert (!operation->inclusive);
+	  }
+
 	write_exp_elt_opcode (state, OP_RANGE);
 	write_exp_elt_longcst (state, kind);
 	write_exp_elt_opcode (state, OP_RANGE);
@@ -2500,11 +2539,11 @@ rust_parse (struct parser_state *state)
 
 /* The parser error handler.  */
 
-void
+static void
 rustyyerror (const char *msg)
 {
   const char *where = prev_lexptr ? prev_lexptr : lexptr;
-  error (_("%s in expression, near `%s'."), (msg ? msg : "Error"), where);
+  error (_("%s in expression, near `%s'."), msg, where);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rust-lang.c ./gdb/rust-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rust-lang.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/rust-lang.c	2018-07-10 02:06:13.000000000 +0000
@@ -31,22 +31,22 @@
 #include "objfiles.h"
 #include "psymtab.h"
 #include "rust-lang.h"
+#include "typeprint.h"
 #include "valprint.h"
 #include "varobj.h"
+#include <algorithm>
 #include <string>
 #include <vector>
 
-/* Returns the last segment of a Rust path like foo::bar::baz.  Will
-   not handle cases where the last segment contains generics.  This
-   will return NULL if the last segment cannot be found.  */
+/* See rust-lang.h.  */
 
-static const char *
-rust_last_path_segment (const char * path)
+const char *
+rust_last_path_segment (const char *path)
 {
   const char *result = strrchr (path, ':');
 
   if (result == NULL)
-    return NULL;
+    return path;
   return result + 1;
 }
 
@@ -63,209 +63,29 @@ rust_crate_for_block (const struct block
   return std::string (scope, cp_find_first_component (scope));
 }
 
-/* Information about the discriminant/variant of an enum */
-
-struct disr_info
-{
-  /* Name of field.  */
-  std::string name;
-  /* Field number in union.  Negative on error.  For an encoded enum,
-     the "hidden" member will always be field 1, and the "real" member
-     will always be field 0.  */
-  int field_no;
-  /* True if this is an encoded enum that has a single "real" member
-     and a single "hidden" member.  */
-  unsigned int is_encoded : 1;
-};
-
-/* The prefix of a specially-encoded enum.  */
-
-#define RUST_ENUM_PREFIX "RUST$ENCODED$ENUM$"
+/* Return true if TYPE, which must be a struct type, represents a Rust
+   enum.  */
 
-/* The number of the real field.  */
-
-#define RUST_ENCODED_ENUM_REAL 0
-
-/* The number of the hidden field.  */
-
-#define RUST_ENCODED_ENUM_HIDDEN 1
-
-/* Whether or not a TYPE_CODE_UNION value is an untagged union
-   as opposed to being a regular Rust enum.  */
 static bool
-rust_union_is_untagged (struct type *type)
+rust_enum_p (const struct type *type)
 {
-  /* Unions must have at least one field.  */
-  if (TYPE_NFIELDS (type) == 0)
-    return false;
-  /* If the first field is named, but the name has the rust enum prefix,
-     it is an enum.  */
-  if (strncmp (TYPE_FIELD_NAME (type, 0), RUST_ENUM_PREFIX,
-	       strlen (RUST_ENUM_PREFIX)) == 0)
-    return false;
-  /* Unions only have named fields.  */
-  for (int i = 0; i < TYPE_NFIELDS (type); ++i)
-    {
-      if (strlen (TYPE_FIELD_NAME (type, i)) == 0)
-        return false;
-    }
-  return true;
+  return (TYPE_CODE (type) == TYPE_CODE_STRUCT
+	  && TYPE_NFIELDS (type) == 1
+	  && TYPE_FLAG_DISCRIMINATED_UNION (TYPE_FIELD_TYPE (type, 0)));
 }
 
-/* Utility function to get discriminant info for a given value.  */
+/* Given an enum type and contents, find which variant is active.  */
 
-static struct disr_info
-rust_get_disr_info (struct type *type, const gdb_byte *valaddr,
-                    int embedded_offset, CORE_ADDR address,
-                    struct value *val)
+struct field *
+rust_enum_variant (struct type *type, const gdb_byte *contents)
 {
-  int i;
-  struct disr_info ret;
-  struct type *disr_type;
-  struct value_print_options opts;
-  const char *name_segment;
-
-  get_no_prettyformat_print_options (&opts);
-
-  ret.field_no = -1;
-  ret.is_encoded = 0;
-
-  if (TYPE_NFIELDS (type) == 0)
-    error (_("Encountered void enum value"));
-
-  /* If an enum has two values where one is empty and the other holds
-     a pointer that cannot be zero; then the Rust compiler optimizes
-     away the discriminant and instead uses a zero value in the
-     pointer field to indicate the empty variant.  */
-  if (strncmp (TYPE_FIELD_NAME (type, 0), RUST_ENUM_PREFIX,
-	       strlen (RUST_ENUM_PREFIX)) == 0)
-    {
-      char *tail, *token, *saveptr = NULL;
-      unsigned long fieldno;
-      struct type *member_type;
-      LONGEST value;
-
-      ret.is_encoded = 1;
-
-      if (TYPE_NFIELDS (type) != 1)
-	error (_("Only expected one field in %s type"), RUST_ENUM_PREFIX);
-
-      /* Optimized enums have only one field.  */
-      member_type = TYPE_FIELD_TYPE (type, 0);
-
-      std::string name (TYPE_FIELD_NAME (type, 0));
-      tail = &name[0] + strlen (RUST_ENUM_PREFIX);
-
-      /* The location of the value that doubles as a discriminant is
-         stored in the name of the field, as
-         RUST$ENCODED$ENUM$<fieldno>$<fieldno>$...$<variantname>
-         where the fieldnos are the indices of the fields that should be
-         traversed in order to find the field (which may be several fields deep)
-         and the variantname is the name of the variant of the case when the
-         field is zero.  */
-      for (token = strtok_r (tail, "$", &saveptr);
-           token != NULL;
-           token = strtok_r (NULL, "$", &saveptr))
-        {
-	  if (sscanf (token, "%lu", &fieldno) != 1)
-	    {
-	      /* We have reached the enum name, which cannot start
-		 with a digit.  */
-	      break;
-	    }
-          if (fieldno >= TYPE_NFIELDS (member_type))
-	    error (_("%s refers to field after end of member type"),
-		   RUST_ENUM_PREFIX);
-
-          embedded_offset += TYPE_FIELD_BITPOS (member_type, fieldno) / 8;
-          member_type = TYPE_FIELD_TYPE (member_type, fieldno);
-        }
+  /* In Rust the enum always fills the containing structure.  */
+  gdb_assert (TYPE_FIELD_BITPOS (type, 0) == 0);
 
-      if (token == NULL)
-	error (_("Invalid form for %s"), RUST_ENUM_PREFIX);
-      value = unpack_long (member_type, valaddr + embedded_offset);
+  struct type *union_type = TYPE_FIELD_TYPE (type, 0);
 
-      if (value == 0)
-	{
-	  ret.field_no = RUST_ENCODED_ENUM_HIDDEN;
-	  ret.name = std::string (TYPE_NAME (type)) + "::" + token;
-	}
-      else
-	{
-	  ret.field_no = RUST_ENCODED_ENUM_REAL;
-	  ret.name = (std::string (TYPE_NAME (type)) + "::"
-		      + rust_last_path_segment (TYPE_NAME (TYPE_FIELD_TYPE (type, 0))));
-	}
-
-      return ret;
-    }
-
-  disr_type = TYPE_FIELD_TYPE (type, 0);
-
-  if (TYPE_NFIELDS (disr_type) == 0)
-    {
-      /* This is a bounds check and should never be hit unless Rust
-	 has changed its debuginfo format.  */
-      error (_("Could not find enum discriminant field"));
-    }
-  else if (TYPE_NFIELDS (type) == 1)
-    {
-      /* Sometimes univariant enums are encoded without a
-         discriminant.  In that case, treating it as an encoded enum
-         with the first field being the actual type works.  */
-      const char *field_name = TYPE_NAME (TYPE_FIELD_TYPE (type, 0));
-      const char *last = rust_last_path_segment (field_name);
-      ret.name = std::string (TYPE_NAME (type)) + "::" + last;
-      ret.field_no = RUST_ENCODED_ENUM_REAL;
-      ret.is_encoded = 1;
-      return ret;
-    }
-
-  if (strcmp (TYPE_FIELD_NAME (disr_type, 0), "RUST$ENUM$DISR") != 0)
-    error (_("Rust debug format has changed"));
-
-  string_file temp_file;
-  /* The first value of the first field (or any field)
-     is the discriminant value.  */
-  c_val_print (TYPE_FIELD_TYPE (disr_type, 0),
-	       (embedded_offset + TYPE_FIELD_BITPOS (type, 0) / 8
-		+ TYPE_FIELD_BITPOS (disr_type, 0) / 8),
-	       address, &temp_file,
-	       0, val, &opts);
-
-  ret.name = std::move (temp_file.string ());
-  name_segment = rust_last_path_segment (ret.name.c_str ());
-  if (name_segment != NULL)
-    {
-      for (i = 0; i < TYPE_NFIELDS (type); ++i)
-	{
-	  /* Sadly, the discriminant value paths do not match the type
-	     field name paths ('core::option::Option::Some' vs
-	     'core::option::Some').  However, enum variant names are
-	     unique in the last path segment and the generics are not
-	     part of this path, so we can just compare those.  This is
-	     hackish and would be better fixed by improving rustc's
-	     metadata for enums.  */
-	  const char *field_type = TYPE_NAME (TYPE_FIELD_TYPE (type, i));
-
-	  if (field_type != NULL
-	      && strcmp (name_segment,
-			 rust_last_path_segment (field_type)) == 0)
-	    {
-	      ret.field_no = i;
-	      break;
-	    }
-	}
-    }
-
-  if (ret.field_no == -1 && !ret.name.empty ())
-    {
-      /* Somehow the discriminant wasn't found.  */
-      error (_("Could not find variant of %s with discriminant %s"),
-	     TYPE_TAG_NAME (type), ret.name.c_str ());
-    }
-
-  return ret;
+  int fieldno = value_union_variant (union_type, contents);
+  return &TYPE_FIELD (union_type, fieldno);
 }
 
 /* See rust-lang.h.  */
@@ -277,16 +97,15 @@ rust_tuple_type_p (struct type *type)
      nothing else in the debuginfo to distinguish a tuple from a
      struct.  */
   return (TYPE_CODE (type) == TYPE_CODE_STRUCT
-	  && TYPE_TAG_NAME (type) != NULL
-	  && TYPE_TAG_NAME (type)[0] == '(');
+	  && TYPE_NAME (type) != NULL
+	  && TYPE_NAME (type)[0] == '(');
 }
 
-
 /* Return true if all non-static fields of a structlike type are in a
-   sequence like __0, __1, __2.  OFFSET lets us skip fields.  */
+   sequence like __0, __1, __2.  */
 
 static bool
-rust_underscore_fields (struct type *type, int offset)
+rust_underscore_fields (struct type *type)
 {
   int i, field_number;
 
@@ -298,17 +117,12 @@ rust_underscore_fields (struct type *typ
     {
       if (!field_is_static (&TYPE_FIELD (type, i)))
 	{
-	  if (offset > 0)
-	    offset--;
-	  else
-	    {
-	      char buf[20];
+	  char buf[20];
 
-	      xsnprintf (buf, sizeof (buf), "__%d", field_number);
-	      if (strcmp (buf, TYPE_FIELD_NAME (type, i)) != 0)
-		return false;
-	      field_number++;
-	    }
+	  xsnprintf (buf, sizeof (buf), "__%d", field_number);
+	  if (strcmp (buf, TYPE_FIELD_NAME (type, i)) != 0)
+	    return false;
+	  field_number++;
 	}
     }
   return true;
@@ -322,16 +136,7 @@ rust_tuple_struct_type_p (struct type *t
   /* This is just an approximation until DWARF can represent Rust more
      precisely.  We exclude zero-length structs because they may not
      be tuple structs, and there's no way to tell.  */
-  return TYPE_NFIELDS (type) > 0 && rust_underscore_fields (type, 0);
-}
-
-/* Return true if a variant TYPE is a tuple variant, false otherwise.  */
-
-static bool
-rust_tuple_variant_type_p (struct type *type)
-{
-  /* First field is discriminant */
-  return rust_underscore_fields (type, 1);
+  return TYPE_NFIELDS (type) > 0 && rust_underscore_fields (type);
 }
 
 /* Return true if TYPE is a slice type, otherwise false.  */
@@ -340,9 +145,9 @@ static bool
 rust_slice_type_p (struct type *type)
 {
   return (TYPE_CODE (type) == TYPE_CODE_STRUCT
-	  && TYPE_TAG_NAME (type) != NULL
-	  && (strncmp (TYPE_TAG_NAME (type), "&[", 2) == 0
-	      || strcmp (TYPE_TAG_NAME (type), "&str") == 0));
+	  && TYPE_NAME (type) != NULL
+	  && (strncmp (TYPE_NAME (type), "&[", 2) == 0
+	      || strcmp (TYPE_NAME (type), "&str") == 0));
 }
 
 /* Return true if TYPE is a range type, otherwise false.  */
@@ -354,8 +159,8 @@ rust_range_type_p (struct type *type)
 
   if (TYPE_CODE (type) != TYPE_CODE_STRUCT
       || TYPE_NFIELDS (type) > 2
-      || TYPE_TAG_NAME (type) == NULL
-      || strstr (TYPE_TAG_NAME (type), "::Range") == NULL)
+      || TYPE_NAME (type) == NULL
+      || strstr (TYPE_NAME (type), "::Range") == NULL)
     return false;
 
   if (TYPE_NFIELDS (type) == 0)
@@ -377,6 +182,17 @@ rust_range_type_p (struct type *type)
   return strcmp (TYPE_FIELD_NAME (type, i), "end") == 0;
 }
 
+/* Return true if TYPE is an inclusive range type, otherwise false.
+   This is only valid for types which are already known to be range
+   types.  */
+
+static bool
+rust_inclusive_range_type_p (struct type *type)
+{
+  return (strstr (TYPE_NAME (type), "::RangeInclusive") != NULL
+	  || strstr (TYPE_NAME (type), "::RangeToInclusive") != NULL);
+}
+
 /* Return true if TYPE seems to be the type "u8", otherwise false.  */
 
 static bool
@@ -516,7 +332,7 @@ rust_val_print_str (struct ui_file *stre
 		    options);
 }
 
-/* rust_print_type branch for structs and untagged unions.  */
+/* rust_val_print helper for structs and untagged unions.  */
 
 static void
 val_print_struct (struct type *type, int embedded_offset,
@@ -539,13 +355,13 @@ val_print_struct (struct type *type, int
 
   if (!is_tuple)
     {
-      if (TYPE_TAG_NAME (type) != NULL)
-        fprintf_filtered (stream, "%s", TYPE_TAG_NAME (type));
+      if (TYPE_NAME (type) != NULL)
+        fprintf_filtered (stream, "%s", TYPE_NAME (type));
 
       if (TYPE_NFIELDS (type) == 0)
         return;
 
-      if (TYPE_TAG_NAME (type) != NULL)
+      if (TYPE_NAME (type) != NULL)
         fputs_filtered (" ", stream);
     }
 
@@ -601,6 +417,69 @@ val_print_struct (struct type *type, int
     fputs_filtered ("}", stream);
 }
 
+/* rust_val_print helper for discriminated unions (Rust enums).  */
+
+static void
+rust_print_enum (struct type *type, int embedded_offset,
+		 CORE_ADDR address, struct ui_file *stream,
+		 int recurse, struct value *val,
+		 const struct value_print_options *options)
+{
+  struct value_print_options opts = *options;
+
+  opts.deref_ref = 0;
+
+  const gdb_byte *valaddr = value_contents_for_printing (val);
+  struct field *variant_field = rust_enum_variant (type, valaddr);
+  embedded_offset += FIELD_BITPOS (*variant_field) / 8;
+  struct type *variant_type = FIELD_TYPE (*variant_field);
+
+  int nfields = TYPE_NFIELDS (variant_type);
+
+  bool is_tuple = rust_tuple_struct_type_p (variant_type);
+
+  fprintf_filtered (stream, "%s", TYPE_NAME (variant_type));
+  if (nfields == 0)
+    {
+      /* In case of a nullary variant like 'None', just output
+	 the name. */
+      return;
+    }
+
+  /* In case of a non-nullary variant, we output 'Foo(x,y,z)'. */
+  if (is_tuple)
+    fprintf_filtered (stream, "(");
+  else
+    {
+      /* struct variant.  */
+      fprintf_filtered (stream, "{");
+    }
+
+  bool first_field = true;
+  for (int j = 0; j < TYPE_NFIELDS (variant_type); j++)
+    {
+      if (!first_field)
+	fputs_filtered (", ", stream);
+      first_field = false;
+
+      if (!is_tuple)
+	fprintf_filtered (stream, "%s: ",
+			  TYPE_FIELD_NAME (variant_type, j));
+
+      val_print (TYPE_FIELD_TYPE (variant_type, j),
+		 (embedded_offset
+		  + TYPE_FIELD_BITPOS (variant_type, j) / 8),
+		 address,
+		 stream, recurse + 1, val, &opts,
+		 current_language);
+    }
+
+  if (is_tuple)
+    fputs_filtered (")", stream);
+  else
+    fputs_filtered ("}", stream);
+}
+
 static const struct generic_val_print_decorations rust_decorations =
 {
   /* Complex isn't used in Rust, but we provide C-ish values just in
@@ -707,93 +586,22 @@ rust_val_print (struct type *type, int e
       break;
 
     case TYPE_CODE_UNION:
-      {
-	int j, nfields, first_field, is_tuple, start;
-	struct type *variant_type;
-	struct disr_info disr;
-	struct value_print_options opts;
-
-	/* Untagged unions are printed as if they are structs.
-	   Since the field bit positions overlap in the debuginfo,
-	   the code for printing a union is same as that for a struct,
-	   the only difference is that the input type will have overlapping
-	   fields.  */
-	if (rust_union_is_untagged (type))
-	  {
-	    val_print_struct (type, embedded_offset, address, stream,
-			      recurse, val, options);
-	    break;
-	  }
-
-	opts = *options;
-	opts.deref_ref = 0;
-
-	disr = rust_get_disr_info (type, valaddr, embedded_offset, address,
-				   val);
-
-	if (disr.is_encoded && disr.field_no == RUST_ENCODED_ENUM_HIDDEN)
-	  {
-	    fprintf_filtered (stream, "%s", disr.name.c_str ());
-	    break;
-	  }
-
-	first_field = 1;
-	variant_type = TYPE_FIELD_TYPE (type, disr.field_no);
-	nfields = TYPE_NFIELDS (variant_type);
-
-	is_tuple = (disr.is_encoded
-		    ? rust_tuple_struct_type_p (variant_type)
-		    : rust_tuple_variant_type_p (variant_type));
-	start = disr.is_encoded ? 0 : 1;
-
-	if (nfields > start)
-	  {
-	    /* In case of a non-nullary variant, we output 'Foo(x,y,z)'. */
-	    if (is_tuple)
-	      fprintf_filtered (stream, "%s(", disr.name.c_str ());
-	    else
-	      {
-		/* struct variant.  */
-		fprintf_filtered (stream, "%s{", disr.name.c_str ());
-	      }
-	  }
-	else
-	  {
-	    /* In case of a nullary variant like 'None', just output
-	       the name. */
-	    fprintf_filtered (stream, "%s", disr.name.c_str ());
-	    break;
-	  }
-
-	for (j = start; j < TYPE_NFIELDS (variant_type); j++)
-	  {
-	    if (!first_field)
-	      fputs_filtered (", ", stream);
-	    first_field = 0;
-
-	    if (!is_tuple)
-	      fprintf_filtered (stream, "%s: ",
-				TYPE_FIELD_NAME (variant_type, j));
-
-	    val_print (TYPE_FIELD_TYPE (variant_type, j),
-		       (embedded_offset
-			+ TYPE_FIELD_BITPOS (type, disr.field_no) / 8
-			+ TYPE_FIELD_BITPOS (variant_type, j) / 8),
-		       address,
-		       stream, recurse + 1, val, &opts,
-		       current_language);
-	  }
-
-	if (is_tuple)
-	  fputs_filtered (")", stream);
-	else
-	  fputs_filtered ("}", stream);
-      }
+      /* Untagged unions are printed as if they are structs.  Since
+	 the field bit positions overlap in the debuginfo, the code
+	 for printing a union is same as that for a struct, the only
+	 difference is that the input type will have overlapping
+	 fields.  */
+      val_print_struct (type, embedded_offset, address, stream,
+			recurse, val, options);
       break;
 
     case TYPE_CODE_STRUCT:
-      val_print_struct (type, embedded_offset, address, stream,
-			recurse, val, options);
+      if (rust_enum_p (type))
+	rust_print_enum (type, embedded_offset, address, stream,
+			 recurse, val, options);
+      else
+	val_print_struct (type, embedded_offset, address, stream,
+			  recurse, val, options);
       break;
 
     default:
@@ -807,23 +615,22 @@ rust_val_print (struct type *type, int e
 
 
 static void
-rust_print_type (struct type *type, const char *varstring,
-		 struct ui_file *stream, int show, int level,
-		 const struct type_print_options *flags);
+rust_internal_print_type (struct type *type, const char *varstring,
+			  struct ui_file *stream, int show, int level,
+			  const struct type_print_options *flags,
+			  bool for_rust_enum, print_offset_data *podata);
 
 /* Print a struct or union typedef.  */
 static void
 rust_print_struct_def (struct type *type, const char *varstring,
 		       struct ui_file *stream, int show, int level,
-		       const struct type_print_options *flags)
+		       const struct type_print_options *flags,
+		       bool for_rust_enum, print_offset_data *podata)
 {
-  bool is_tuple_struct;
-  int i;
-
   /* Print a tuple type simply.  */
   if (rust_tuple_type_p (type))
     {
-      fputs_filtered (TYPE_TAG_NAME (type), stream);
+      fputs_filtered (TYPE_NAME (type), stream);
       return;
     }
 
@@ -831,26 +638,86 @@ rust_print_struct_def (struct type *type
   if (TYPE_N_BASECLASSES (type) > 0)
     c_print_type (type, varstring, stream, show, level, flags);
 
-  /* This code path is also used by unions.  */
-  if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
-    fputs_filtered ("struct ", stream);
+  if (flags->print_offsets)
+    {
+      /* Temporarily bump the level so that the output lines up
+	 correctly.  */
+      level += 2;
+    }
+
+  /* Compute properties of TYPE here because, in the enum case, the
+     rest of the code ends up looking only at the variant part.  */
+  const char *tagname = TYPE_NAME (type);
+  bool is_tuple_struct = rust_tuple_struct_type_p (type);
+  bool is_tuple = rust_tuple_type_p (type);
+  bool is_enum = rust_enum_p (type);
+
+  int enum_discriminant_index = -1;
+
+  if (for_rust_enum)
+    {
+      /* Already printing an outer enum, so nothing to print here.  */
+    }
   else
-    fputs_filtered ("union ", stream);
+    {
+      /* This code path is also used by unions and enums.  */
+      if (is_enum)
+	{
+	  fputs_filtered ("enum ", stream);
+	  type = TYPE_FIELD_TYPE (type, 0);
 
-  if (TYPE_TAG_NAME (type) != NULL)
-    fputs_filtered (TYPE_TAG_NAME (type), stream);
+	  struct dynamic_prop *discriminant_prop
+	    = get_dyn_prop (DYN_PROP_DISCRIMINATED, type);
+	  struct discriminant_info *info
+	    = (struct discriminant_info *) discriminant_prop->data.baton;
+	  enum_discriminant_index = info->discriminant_index;
+	}
+      else if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
+	fputs_filtered ("struct ", stream);
+      else
+	fputs_filtered ("union ", stream);
 
-  is_tuple_struct = rust_tuple_struct_type_p (type);
+      if (tagname != NULL)
+	fputs_filtered (tagname, stream);
+    }
 
-  if (TYPE_NFIELDS (type) == 0 && !rust_tuple_type_p (type))
+  if (TYPE_NFIELDS (type) == 0 && !is_tuple)
     return;
-  fputs_filtered (is_tuple_struct ? " (\n" : " {\n", stream);
+  if (for_rust_enum && !flags->print_offsets)
+    fputs_filtered (is_tuple_struct ? "(" : "{", stream);
+  else
+    fputs_filtered (is_tuple_struct ? " (\n" : " {\n", stream);
 
-  for (i = 0; i < TYPE_NFIELDS (type); ++i)
+  /* When printing offsets, we rearrange the fields into storage
+     order.  This lets us show holes more clearly.  We work using
+     field indices here because it simplifies calls to
+     print_offset_data::update below.  */
+  std::vector<int> fields;
+  for (int i = 0; i < TYPE_NFIELDS (type); ++i)
     {
-      QUIT;
       if (field_is_static (&TYPE_FIELD (type, i)))
 	continue;
+      if (is_enum && i == enum_discriminant_index)
+	continue;
+      fields.push_back (i);
+    }
+  if (flags->print_offsets)
+    std::sort (fields.begin (), fields.end (),
+	       [&] (int a, int b)
+	       {
+		 return (TYPE_FIELD_BITPOS (type, a)
+			 < TYPE_FIELD_BITPOS (type, b));
+	       });
+
+  for (int i : fields)
+    {
+      QUIT;
+
+      gdb_assert (!field_is_static (&TYPE_FIELD (type, i)));
+      gdb_assert (! (is_enum && i == enum_discriminant_index));
+
+      if (flags->print_offsets)
+	podata->update (type, i, stream);
 
       /* We'd like to print "pub" here as needed, but rustc
 	 doesn't emit the debuginfo, and our types don't have
@@ -858,17 +725,37 @@ rust_print_struct_def (struct type *type
 
       /* For a tuple struct we print the type but nothing
 	 else.  */
-      print_spaces_filtered (level + 2, stream);
-      if (!is_tuple_struct)
+      if (!for_rust_enum || flags->print_offsets)
+	print_spaces_filtered (level + 2, stream);
+      if (is_enum)
+	fputs_filtered (TYPE_FIELD_NAME (type, i), stream);
+      else if (!is_tuple_struct)
 	fprintf_filtered (stream, "%s: ", TYPE_FIELD_NAME (type, i));
 
-      rust_print_type (TYPE_FIELD_TYPE (type, i), NULL,
-		       stream, show - 1, level + 2,
-		       flags);
-      fputs_filtered (",\n", stream);
-    }
-
-  fprintfi_filtered (level, stream, is_tuple_struct ? ")" : "}");
+      rust_internal_print_type (TYPE_FIELD_TYPE (type, i), NULL,
+				stream, (is_enum ? show : show - 1),
+				level + 2, flags, is_enum, podata);
+      if (!for_rust_enum || flags->print_offsets)
+	fputs_filtered (",\n", stream);
+      /* Note that this check of "I" is ok because we only sorted the
+	 fields by offset when print_offsets was set, so we won't take
+	 this branch in that case.  */
+      else if (i + 1 < TYPE_NFIELDS (type))
+	fputs_filtered (", ", stream);
+    }
+
+  if (flags->print_offsets)
+    {
+      /* Undo the temporary level increase we did above.  */
+      level -= 2;
+      podata->finish (type, level, stream);
+      print_spaces_filtered (print_offset_data::indentation, stream);
+      if (level == 0)
+	print_spaces_filtered (2, stream);
+    }
+  if (!for_rust_enum || flags->print_offsets)
+    print_spaces_filtered (level, stream);
+  fputs_filtered (is_tuple_struct ? ")" : "}", stream);
 }
 
 /* la_print_typedef implementation for Rust.  */
@@ -887,9 +774,10 @@ rust_print_typedef (struct type *type,
 /* la_print_type implementation for Rust.  */
 
 static void
-rust_print_type (struct type *type, const char *varstring,
-		 struct ui_file *stream, int show, int level,
-		 const struct type_print_options *flags)
+rust_internal_print_type (struct type *type, const char *varstring,
+			  struct ui_file *stream, int show, int level,
+			  const struct type_print_options *flags,
+			  bool for_rust_enum, print_offset_data *podata)
 {
   int i;
 
@@ -910,7 +798,11 @@ rust_print_type (struct type *type, cons
   switch (TYPE_CODE (type))
     {
     case TYPE_CODE_VOID:
-      fputs_filtered ("()", stream);
+      /* If we have an enum, we've already printed the type's
+	 unqualified name, and there is nothing else to print
+	 here.  */
+      if (!for_rust_enum)
+	fputs_filtered ("()", stream);
       break;
 
     case TYPE_CODE_FUNC:
@@ -927,15 +819,16 @@ rust_print_type (struct type *type, cons
 	  QUIT;
 	  if (i > 0)
 	    fputs_filtered (", ", stream);
-	  rust_print_type (TYPE_FIELD_TYPE (type, i), "", stream, -1, 0,
-			   flags);
+	  rust_internal_print_type (TYPE_FIELD_TYPE (type, i), "", stream,
+				    -1, 0, flags, false, podata);
 	}
       fputs_filtered (")", stream);
       /* If it returns unit, we can omit the return type.  */
       if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_VOID)
         {
           fputs_filtered (" -> ", stream);
-          rust_print_type (TYPE_TARGET_TYPE (type), "", stream, -1, 0, flags);
+          rust_internal_print_type (TYPE_TARGET_TYPE (type), "", stream,
+				    -1, 0, flags, false, podata);
         }
       break;
 
@@ -944,8 +837,9 @@ rust_print_type (struct type *type, cons
 	LONGEST low_bound, high_bound;
 
 	fputs_filtered ("[", stream);
-	rust_print_type (TYPE_TARGET_TYPE (type), NULL,
-			 stream, show - 1, level, flags);
+	rust_internal_print_type (TYPE_TARGET_TYPE (type), NULL,
+				  stream, show - 1, level, flags, false,
+				  podata);
 
 	if (TYPE_HIGH_BOUND_KIND (TYPE_INDEX_TYPE (type)) == PROP_LOCEXPR
 	    || TYPE_HIGH_BOUND_KIND (TYPE_INDEX_TYPE (type)) == PROP_LOCLIST)
@@ -957,8 +851,10 @@ rust_print_type (struct type *type, cons
       }
       break;
 
+    case TYPE_CODE_UNION:
     case TYPE_CODE_STRUCT:
-      rust_print_struct_def (type, varstring, stream, show, level, flags);
+      rust_print_struct_def (type, varstring, stream, show, level, flags,
+			     for_rust_enum, podata);
       break;
 
     case TYPE_CODE_ENUM:
@@ -966,11 +862,11 @@ rust_print_type (struct type *type, cons
 	int i, len = 0;
 
 	fputs_filtered ("enum ", stream);
-	if (TYPE_TAG_NAME (type) != NULL)
+	if (TYPE_NAME (type) != NULL)
 	  {
-	    fputs_filtered (TYPE_TAG_NAME (type), stream);
+	    fputs_filtered (TYPE_NAME (type), stream);
 	    fputs_filtered (" ", stream);
-	    len = strlen (TYPE_TAG_NAME (type));
+	    len = strlen (TYPE_NAME (type));
 	  }
 	fputs_filtered ("{\n", stream);
 
@@ -981,7 +877,7 @@ rust_print_type (struct type *type, cons
 	    QUIT;
 
 	    if (len > 0
-		&& strncmp (name, TYPE_TAG_NAME (type), len) == 0
+		&& strncmp (name, TYPE_NAME (type), len) == 0
 		&& name[len] == ':'
 		&& name[len + 1] == ':')
 	      name += len + 2;
@@ -992,136 +888,24 @@ rust_print_type (struct type *type, cons
       }
       break;
 
-    case TYPE_CODE_UNION:
-      {
-	/* ADT enums.  */
-	int i;
-	/* Skip the discriminant field.  */
-	int skip_to = 1;
-
-	/* Unions and structs have the same syntax in Rust,
-	   the only difference is that structs are declared with `struct`
-	   and union with `union`. This difference is handled in the struct
-	   printer.  */
-	if (rust_union_is_untagged (type))
-	  {
-	    rust_print_struct_def (type, varstring, stream, show, level, flags);
-	    break;
-	  }
-
-	fputs_filtered ("enum ", stream);
-	if (TYPE_TAG_NAME (type) != NULL)
-	  {
-	    fputs_filtered (TYPE_TAG_NAME (type), stream);
-	    fputs_filtered (" ", stream);
-	  }
-	fputs_filtered ("{\n", stream);
-
-	if (strncmp (TYPE_FIELD_NAME (type, 0), RUST_ENUM_PREFIX,
-		     strlen (RUST_ENUM_PREFIX)) == 0)
-	  {
-	    const char *zero_field = strrchr (TYPE_FIELD_NAME (type, 0), '$');
-	    if (zero_field != NULL && strlen (zero_field) > 1)
-	      {
-		fprintfi_filtered (level + 2, stream, "%s,\n", zero_field + 1);
-		/* There is no explicit discriminant field, skip nothing.  */
-		skip_to = 0;
-	      }
-	  }
-	else if (TYPE_NFIELDS (type) == 1)
-	  skip_to = 0;
-
-	for (i = 0; i < TYPE_NFIELDS (type); ++i)
-	  {
-	    struct type *variant_type = TYPE_FIELD_TYPE (type, i);
-	    const char *name
-	      = rust_last_path_segment (TYPE_NAME (variant_type));
-
-	    fprintfi_filtered (level + 2, stream, "%s", name);
-
-	    if (TYPE_NFIELDS (variant_type) > skip_to)
-	      {
-		int first = 1;
-		bool is_tuple = (TYPE_NFIELDS (type) == 1
-				 ? rust_tuple_struct_type_p (variant_type)
-				 : rust_tuple_variant_type_p (variant_type));
-		int j;
-
-		fputs_filtered (is_tuple ? "(" : "{", stream);
-		for (j = skip_to; j < TYPE_NFIELDS (variant_type); j++)
-		  {
-		    if (first)
-		      first = 0;
-		    else
-		      fputs_filtered (", ", stream);
-
-		    if (!is_tuple)
-		      fprintf_filtered (stream, "%s: ",
-					TYPE_FIELD_NAME (variant_type, j));
-
-		    rust_print_type (TYPE_FIELD_TYPE (variant_type, j), NULL,
-				     stream, show - 1, level + 2,
-				     flags);
-		  }
-		fputs_filtered (is_tuple ? ")" : "}", stream);
-	      }
-
-	    fputs_filtered (",\n", stream);
-	  }
-
-	fputs_filtered ("}", stream);
-      }
-      break;
-
     default:
     c_printer:
       c_print_type (type, varstring, stream, show, level, flags);
     }
 }
 
-
-
-/* Compute the alignment of the type T.  */
-
-static int
-rust_type_alignment (struct type *t)
+static void
+rust_print_type (struct type *type, const char *varstring,
+		 struct ui_file *stream, int show, int level,
+		 const struct type_print_options *flags)
 {
-  t = check_typedef (t);
-  switch (TYPE_CODE (t))
-    {
-    default:
-      error (_("Could not compute alignment of type"));
-
-    case TYPE_CODE_PTR:
-    case TYPE_CODE_ENUM:
-    case TYPE_CODE_INT:
-    case TYPE_CODE_FLT:
-    case TYPE_CODE_REF:
-    case TYPE_CODE_CHAR:
-    case TYPE_CODE_BOOL:
-      return TYPE_LENGTH (t);
-
-    case TYPE_CODE_ARRAY:
-    case TYPE_CODE_COMPLEX:
-      return rust_type_alignment (TYPE_TARGET_TYPE (t));
-
-    case TYPE_CODE_STRUCT:
-    case TYPE_CODE_UNION:
-      {
-	int i;
-	int align = 1;
-
-	for (i = 0; i < TYPE_NFIELDS (t); ++i)
-	  {
-	    int a = rust_type_alignment (TYPE_FIELD_TYPE (t, i));
-	    if (a > align)
-	      align = a;
-	  }
-	return align;
-      }
-    }
+  print_offset_data podata;
+  rust_internal_print_type (type, varstring, stream, show, level,
+			    flags, false, &podata);
 }
 
+
+
 /* Like arch_composite_type, but uses TYPE to decide how to allocate
    -- either on an obstack or on a gdbarch.  */
 
@@ -1142,7 +926,6 @@ rust_composite_type (struct type *origin
 
   TYPE_CODE (result) = TYPE_CODE_STRUCT;
   TYPE_NAME (result) = name;
-  TYPE_TAG_NAME (result) = name;
 
   TYPE_NFIELDS (result) = nfields;
   TYPE_FIELDS (result)
@@ -1164,7 +947,7 @@ rust_composite_type (struct type *origin
   if (field2 != NULL)
     {
       struct field *field = &TYPE_FIELD (result, i);
-      int align = rust_type_alignment (type2);
+      unsigned align = type_align (type2);
 
       if (align != 0)
 	{
@@ -1320,10 +1103,10 @@ rust_evaluate_funcall (struct expression
        && TYPE_CODE (type) != TYPE_CODE_ENUM)
       || rust_tuple_type_p (type))
     error (_("Method calls only supported on struct or enum types"));
-  if (TYPE_TAG_NAME (type) == NULL)
+  if (TYPE_NAME (type) == NULL)
     error (_("Method call on nameless type"));
 
-  std::string name = std::string (TYPE_TAG_NAME (type)) + "::" + method;
+  std::string name = std::string (TYPE_NAME (type)) + "::" + method;
 
   block = get_selected_block (0);
   sym = lookup_symbol (name.c_str (), block, VAR_DOMAIN, NULL);
@@ -1366,10 +1149,13 @@ rust_range (struct expression *exp, int 
   kind = (enum range_type) longest_to_int (exp->elts[*pos + 1].longconst);
   *pos += 3;
 
-  if (kind == HIGH_BOUND_DEFAULT || kind == NONE_BOUND_DEFAULT)
+  if (kind == HIGH_BOUND_DEFAULT || kind == NONE_BOUND_DEFAULT
+      || kind == NONE_BOUND_DEFAULT_EXCLUSIVE)
     low = evaluate_subexp (NULL_TYPE, exp, pos, noside);
-  if (kind == LOW_BOUND_DEFAULT || kind == NONE_BOUND_DEFAULT)
+  if (kind == LOW_BOUND_DEFAULT || kind == LOW_BOUND_DEFAULT_EXCLUSIVE
+      || kind == NONE_BOUND_DEFAULT || kind == NONE_BOUND_DEFAULT_EXCLUSIVE)
     high = evaluate_subexp (NULL_TYPE, exp, pos, noside);
+  bool inclusive = (kind == NONE_BOUND_DEFAULT || kind == LOW_BOUND_DEFAULT);
 
   if (noside == EVAL_SKIP)
     return value_from_longest (builtin_type (exp->gdbarch)->builtin_int, 1);
@@ -1384,7 +1170,8 @@ rust_range (struct expression *exp, int 
       else
 	{
 	  index_type = value_type (high);
-	  name = "std::ops::RangeTo";
+	  name = (inclusive
+		  ? "std::ops::RangeToInclusive" : "std::ops::RangeTo");
 	}
     }
   else
@@ -1399,7 +1186,7 @@ rust_range (struct expression *exp, int 
 	  if (!types_equal (value_type (low), value_type (high)))
 	    error (_("Range expression with different types"));
 	  index_type = value_type (low);
-	  name = "std::ops::Range";
+	  name = inclusive ? "std::ops::RangeInclusive" : "std::ops::Range";
 	}
     }
 
@@ -1475,6 +1262,9 @@ rust_compute_range (struct type *type, s
       *kind = (*kind == BOTH_BOUND_DEFAULT
 	       ? LOW_BOUND_DEFAULT : NONE_BOUND_DEFAULT);
       *high = value_as_long (value_field (range, i));
+
+      if (rust_inclusive_range_type_p (type))
+	++*high;
     }
 }
 
@@ -1800,7 +1590,6 @@ rust_evaluate_subexp (struct type *expec
         struct value *lhs;
         int pc, field_number, nfields;
         struct type *type, *variant_type;
-        struct disr_info disr;
 
         pc = (*pos)++;
         field_number = longest_to_int (exp->elts[pc + 1].longconst);
@@ -1808,58 +1597,57 @@ rust_evaluate_subexp (struct type *expec
         lhs = evaluate_subexp (NULL_TYPE, exp, pos, noside);
 
         type = value_type (lhs);
-        /* Untagged unions can't have anonymous field access since
-           they can only have named fields.  */
-        if (TYPE_CODE (type) == TYPE_CODE_UNION
-            && !rust_union_is_untagged (type))
+
+	if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
 	  {
-	    disr = rust_get_disr_info (type, value_contents (lhs),
-				       value_embedded_offset (lhs),
-				       value_address (lhs), lhs);
+	    struct type *outer_type = NULL;
 
-	    if (disr.is_encoded && disr.field_no == RUST_ENCODED_ENUM_HIDDEN)
-	      {
-		variant_type = NULL;
-		nfields = 0;
-	      }
-	    else
+	    if (rust_enum_p (type))
 	      {
-		variant_type = TYPE_FIELD_TYPE (type, disr.field_no);
-		nfields = TYPE_NFIELDS (variant_type);
-	      }
+		const gdb_byte *valaddr = value_contents (lhs);
+		struct field *variant_field = rust_enum_variant (type, valaddr);
 
-	    if (!disr.is_encoded)
-	      ++field_number;
+		struct value *union_value = value_primitive_field (lhs, 0, 0,
+								   type);
 
-	    if (field_number >= nfields || field_number < 0)
-	      error(_("Cannot access field %d of variant %s, \
-there are only %d fields"),
-		    disr.is_encoded ? field_number : field_number - 1,
-		    disr.name.c_str (),
-		    disr.is_encoded ? nfields : nfields - 1);
-
-	    if (!(disr.is_encoded
-		  ? rust_tuple_struct_type_p (variant_type)
-		  : rust_tuple_variant_type_p (variant_type)))
-	      error(_("Variant %s is not a tuple variant"), disr.name.c_str ());
+		int fieldno = (variant_field
+			       - &TYPE_FIELD (value_type (union_value), 0));
+		lhs = value_primitive_field (union_value, 0, fieldno,
+					     value_type (union_value));
+		outer_type = type;
+		type = value_type (lhs);
+	      }
 
-	    result = value_primitive_field (lhs, 0, field_number,
-					    variant_type);
-	  }
-	else if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
-	  {
 	    /* Tuples and tuple structs */
-	    nfields = TYPE_NFIELDS(type);
+	    nfields = TYPE_NFIELDS (type);
 
 	    if (field_number >= nfields || field_number < 0)
-	      error(_("Cannot access field %d of %s, there are only %d fields"),
-		    field_number, TYPE_TAG_NAME (type), nfields);
+	      {
+		if (outer_type != NULL)
+		  error(_("Cannot access field %d of variant %s::%s, "
+			  "there are only %d fields"),
+			field_number, TYPE_NAME (outer_type),
+			rust_last_path_segment (TYPE_NAME (type)),
+			nfields);
+		else
+		  error(_("Cannot access field %d of %s, "
+			  "there are only %d fields"),
+			field_number, TYPE_NAME (type), nfields);
+	      }
 
 	    /* Tuples are tuple structs too.  */
 	    if (!rust_tuple_struct_type_p (type))
-	      error(_("Attempting to access anonymous field %d of %s, which is \
-not a tuple, tuple struct, or tuple-like variant"),
-		    field_number, TYPE_TAG_NAME (type));
+	      {
+		if (outer_type != NULL)
+		  error(_("Variant %s::%s is not a tuple variant"),
+			TYPE_NAME (outer_type),
+			rust_last_path_segment (TYPE_NAME (type)));
+		else
+		  error(_("Attempting to access anonymous field %d "
+			  "of %s, which is not a tuple, tuple struct, or "
+			  "tuple-like variant"),
+		      field_number, TYPE_NAME (type));
+	      }
 
 	    result = value_primitive_field (lhs, 0, field_number, type);
 	  }
@@ -1882,53 +1670,44 @@ tuple structs, and tuple-like enum varia
 
 	const char *field_name = &exp->elts[pc + 2].string;
         type = value_type (lhs);
-        if (TYPE_CODE (type) == TYPE_CODE_UNION
-            && !rust_union_is_untagged (type))
+        if (TYPE_CODE (type) == TYPE_CODE_STRUCT && rust_enum_p (type))
 	  {
-	    int i, start;
-	    struct disr_info disr;
-	    struct type *variant_type;
-
-	    disr = rust_get_disr_info (type, value_contents (lhs),
-				       value_embedded_offset (lhs),
-				       value_address (lhs), lhs);
-
-	    if (disr.is_encoded && disr.field_no == RUST_ENCODED_ENUM_HIDDEN)
-	      error(_("Could not find field %s of struct variant %s"),
-		    field_name, disr.name.c_str ());
-
-	    variant_type = TYPE_FIELD_TYPE (type, disr.field_no);
-
-	    if (variant_type == NULL
-	        || (disr.is_encoded
-	            ? rust_tuple_struct_type_p (variant_type)
-	            : rust_tuple_variant_type_p (variant_type)))
-	      error(_("Attempting to access named field %s of tuple variant %s, \
-which has only anonymous fields"),
-		    field_name, disr.name.c_str ());
+	    const gdb_byte *valaddr = value_contents (lhs);
+	    struct field *variant_field = rust_enum_variant (type, valaddr);
+
+	    struct value *union_value = value_primitive_field (lhs, 0, 0,
+							       type);
 
-	    start = disr.is_encoded ? 0 : 1;
-	    for (i = start; i < TYPE_NFIELDS (variant_type); i++)
+	    int fieldno = (variant_field
+			   - &TYPE_FIELD (value_type (union_value), 0));
+	    lhs = value_primitive_field (union_value, 0, fieldno,
+					 value_type (union_value));
+
+	    struct type *outer_type = type;
+	    type = value_type (lhs);
+	    if (rust_tuple_type_p (type) || rust_tuple_struct_type_p (type))
+		error (_("Attempting to access named field foo of tuple "
+			 "variant %s::%s, which has only anonymous fields"),
+		       TYPE_NAME (outer_type),
+		       rust_last_path_segment (TYPE_NAME (type)));
+
+	    TRY
 	      {
-		if (strcmp (TYPE_FIELD_NAME (variant_type, i),
-			    field_name) == 0) {
-		  result = value_primitive_field (lhs, 0, i, variant_type);
-		  break;
-		}
+		result = value_struct_elt (&lhs, NULL, field_name,
+					   NULL, "structure");
 	      }
-
-	    if (i == TYPE_NFIELDS (variant_type))
-	      /* We didn't find it.  */
-	      error(_("Could not find field %s of struct variant %s"),
-		    field_name, disr.name.c_str ());
+	    CATCH (except, RETURN_MASK_ERROR)
+	      {
+		error (_("Could not find field %s of struct variant %s::%s"),
+		       field_name, TYPE_NAME (outer_type),
+		       rust_last_path_segment (TYPE_NAME (type)));
+	      }
+	    END_CATCH
 	  }
 	else
-	  {
-	    result = value_struct_elt (&lhs, NULL, field_name, NULL,
-				       "structure");
-	    if (noside == EVAL_AVOID_SIDE_EFFECTS)
-	      result = value_zero (value_type (result), VALUE_LVAL (result));
-	  }
+	  result = value_struct_elt (&lhs, NULL, field_name, NULL, "structure");
+	if (noside == EVAL_AVOID_SIDE_EFFECTS)
+	  result = value_zero (value_type (result), VALUE_LVAL (result));
       }
       break;
 
@@ -2201,19 +1980,25 @@ rust_lookup_symbol_nonlocal (const struc
     }
 
   /* Look up bare names in the block's scope.  */
+  std::string scopedname;
   if (name[cp_find_first_component (name)] == '\0')
     {
       const char *scope = block_scope (block);
 
       if (scope[0] != '\0')
 	{
-	  std::string scopedname = std::string (scope) + "::" + name;
-
-	  result = lookup_symbol_in_static_block (scopedname.c_str (), block,
-						  domain);
-	  if (result.symbol == NULL)
-	    result = lookup_global_symbol (scopedname.c_str (), block, domain);
+	  scopedname = std::string (scope) + "::" + name;
+	  name = scopedname.c_str ();
 	}
+      else
+	name = NULL;
+    }
+
+  if (name != NULL)
+    {
+      result = lookup_symbol_in_static_block (name, block, domain);
+      if (result.symbol == NULL)
+	result = lookup_global_symbol (name, block, domain);
     }
   return result;
 }
@@ -2272,7 +2057,6 @@ extern const struct language_defn rust_l
   rust_extensions,
   &exp_descriptor_rust,
   rust_parse,
-  rustyyerror,
   null_post_parser,
   rust_printchar,		/* Print a character constant */
   rust_printstr,		/* Function to print string constant */
@@ -2284,6 +2068,7 @@ extern const struct language_defn rust_l
   default_read_var_value,	/* la_read_var_value */
   NULL,				/* Language specific skip_trampoline */
   NULL,				/* name_of_this */
+  false,			/* la_store_sym_names_in_linkage_form_p */
   rust_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   gdb_demangle,			/* Language specific symbol demangler */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rust-lang.h ./gdb/rust-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/rust-lang.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/rust-lang.h	2018-07-10 02:06:13.000000000 +0000
@@ -26,9 +26,6 @@ struct type;
 /* The la_parser implementation for Rust.  */
 extern int rust_parse (struct parser_state *);
 
-/* The la_error implementation for Rust.  */
-extern void rustyyerror (const char *);
-
 /* Return true if TYPE is a tuple type; otherwise false.  */
 extern bool rust_tuple_type_p (struct type *type);
 
@@ -39,6 +36,11 @@ extern bool rust_tuple_struct_type_p (st
    stringif no crate name can be found.  */
 extern std::string rust_crate_for_block (const struct block *block);
 
+/* Returns the last segment of a Rust path like foo::bar::baz.  Will
+   not handle cases where the last segment contains generics.  */
+
+extern const char *rust_last_path_segment (const char *path);
+
 /* Create a new slice type.  NAME is the name of the type.  ELT_TYPE
    is the type of the elements of the slice.  USIZE_TYPE is the Rust
    "usize" type to use.  The new type is allocated whereever ELT_TYPE
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/s390-linux-nat.c ./gdb/s390-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/s390-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/s390-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,6 +30,7 @@
 #include "nat/linux-ptrace.h"
 #include "gdbcmd.h"
 
+#include "s390-tdep.h"
 #include "s390-linux-tdep.h"
 #include "elf/common.h"
 
@@ -107,6 +108,42 @@ static const struct regset s390_64_gregs
 #define PER_CONTROL_SUSPENSION		PER_BIT (41)
 #define PER_CONTROL_ALTERATION		PER_BIT (42)
 
+class s390_linux_nat_target final : public linux_nat_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  /* Add our watchpoint methods.  */
+  int can_use_hw_breakpoint (enum bptype, int, int) override;
+  int insert_hw_breakpoint (struct gdbarch *, struct bp_target_info *)
+    override;
+  int remove_hw_breakpoint (struct gdbarch *, struct bp_target_info *)
+    override;
+  int region_ok_for_hw_watchpoint (CORE_ADDR, int) override;
+  bool have_continuable_watchpoint () override { return true; }
+  bool stopped_by_watchpoint () override;
+  int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+  int remove_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
+			 struct expression *) override;
+
+  /* Detect target architecture.  */
+  const struct target_desc *read_description () override;
+  int auxv_parse (gdb_byte **readptr,
+		  gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
+    override;
+
+  /* Override linux_nat_target low methods.  */
+  void low_new_thread (struct lwp_info *lp) override;
+  void low_delete_thread (struct arch_lwp_info *lp) override;
+  void low_prepare_to_resume (struct lwp_info *lp) override;
+  void low_new_fork (struct lwp_info *parent, pid_t child_pid) override;
+  void low_forget_process (pid_t pid) override;
+};
+
+static s390_linux_nat_target the_s390_linux_nat_target;
 
 /* Fill GDB's register array with the general-purpose register values
    in *REGP.
@@ -133,10 +170,10 @@ supply_gregset (struct regcache *regcach
       pswa = extract_unsigned_integer ((const gdb_byte *) regp
 				       + S390_PSWA_OFFSET, 8, byte_order);
       store_unsigned_integer (buf, 4, byte_order, (pswm >> 32) | 0x80000);
-      regcache_raw_supply (regcache, S390_PSWM_REGNUM, buf);
+      regcache->raw_supply (S390_PSWM_REGNUM, buf);
       store_unsigned_integer (buf, 4, byte_order,
 			      (pswa & 0x7fffffff) | (pswm & 0x80000000));
-      regcache_raw_supply (regcache, S390_PSWA_REGNUM, buf);
+      regcache->raw_supply (S390_PSWA_REGNUM, buf);
       return;
     }
 #endif
@@ -173,14 +210,14 @@ fill_gregset (const struct regcache *reg
 	  if (regno == -1 || regno == S390_PSWM_REGNUM)
 	    {
 	      pswm &= 0x80000000;
-	      regcache_raw_collect (regcache, S390_PSWM_REGNUM, buf);
+	      regcache->raw_collect (S390_PSWM_REGNUM, buf);
 	      pswm |= (extract_unsigned_integer (buf, 4, byte_order)
 		       & 0xfff7ffff) << 32;
 	    }
 
 	  if (regno == -1 || regno == S390_PSWA_REGNUM)
 	    {
-	      regcache_raw_collect (regcache, S390_PSWA_REGNUM, buf);
+	      regcache->raw_collect (S390_PSWA_REGNUM, buf);
 	      pswa = extract_unsigned_integer (buf, 4, byte_order);
 	      pswm ^= (pswm ^ pswa) & 0x80000000;
 	      pswa &= 0x7fffffff;
@@ -221,9 +258,9 @@ static int
 s390_inferior_tid (void)
 {
   /* GNU/Linux LWP ID's are process ID's.  */
-  int tid = ptid_get_lwp (inferior_ptid);
+  int tid = inferior_ptid.lwp ();
   if (tid == 0)
-    tid = ptid_get_pid (inferior_ptid); /* Not a threaded program.  */
+    tid = inferior_ptid.pid (); /* Not a threaded program.  */
 
   return tid;
 }
@@ -368,11 +405,10 @@ check_regset (int tid, int regset, int r
 
 /* Fetch register REGNUM from the child process.  If REGNUM is -1, do
    this for all registers.  */
-static void
-s390_linux_fetch_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regnum)
+void
+s390_linux_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
-  pid_t tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t tid = get_ptrace_pid (regcache->ptid ());
 
   if (regnum == -1 || S390_IS_GREGSET_REGNUM (regnum))
     fetch_regs (regcache, tid);
@@ -423,11 +459,10 @@ s390_linux_fetch_inferior_registers (str
 
 /* Store register REGNUM back into the child process.  If REGNUM is
    -1, do this for all registers.  */
-static void
-s390_linux_store_inferior_registers (struct target_ops *ops,
-				     struct regcache *regcache, int regnum)
+void
+s390_linux_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
-  pid_t tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t tid = get_ptrace_pid (regcache->ptid ());
 
   if (regnum == -1 || S390_IS_GREGSET_REGNUM (regnum))
     store_regs (regcache, tid, regnum);
@@ -546,8 +581,8 @@ s390_get_debug_reg_state (pid_t pid)
 /* Called whenever GDB is no longer debugging process PID.  It deletes
    data structures that keep track of hardware debug state.  */
 
-static void
-s390_forget_process (pid_t pid)
+void
+s390_linux_nat_target::low_forget_process (pid_t pid)
 {
   struct s390_process_info *proc, **proc_link;
 
@@ -572,8 +607,8 @@ s390_forget_process (pid_t pid)
 
 /* linux_nat_new_fork hook.   */
 
-static void
-s390_linux_new_fork (struct lwp_info *parent, pid_t child_pid)
+void
+s390_linux_nat_target::low_new_fork (struct lwp_info *parent, pid_t child_pid)
 {
   pid_t parent_pid;
   struct s390_debug_reg_state *parent_state;
@@ -587,7 +622,7 @@ s390_linux_new_fork (struct lwp_info *pa
   /* GDB core assumes the child inherits the watchpoints/hw breakpoints of
      the parent.  So copy the debug state from parent to child.  */
 
-  parent_pid = ptid_get_pid (parent->ptid);
+  parent_pid = parent->ptid.pid ();
   parent_state = s390_get_debug_reg_state (parent_pid);
   child_state = s390_get_debug_reg_state (child_pid);
 
@@ -628,21 +663,20 @@ s390_show_debug_regs (int tid, const cha
 		per_info.lowcore.words.access_id);
 }
 
-static int
-s390_stopped_by_watchpoint (struct target_ops *ops)
+bool
+s390_linux_nat_target::stopped_by_watchpoint ()
 {
   struct s390_debug_reg_state *state
-    = s390_get_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = s390_get_debug_reg_state (inferior_ptid.pid ());
   per_lowcore_bits per_lowcore;
   ptrace_area parea;
-  int result;
 
   if (show_debug_regs)
     s390_show_debug_regs (s390_inferior_tid (), "stop");
 
   /* Speed up common case.  */
   if (VEC_empty (s390_watch_area, state->watch_areas))
-    return 0;
+    return false;
 
   parea.len = sizeof (per_lowcore);
   parea.process_addr = (addr_t) & per_lowcore;
@@ -650,8 +684,8 @@ s390_stopped_by_watchpoint (struct targe
   if (ptrace (PTRACE_PEEKUSR_AREA, s390_inferior_tid (), &parea, 0) < 0)
     perror_with_name (_("Couldn't retrieve watchpoint status"));
 
-  result = (per_lowcore.perc_storage_alteration == 1
-	    && per_lowcore.perc_store_real_address == 0);
+  bool result = (per_lowcore.perc_storage_alteration == 1
+		 && per_lowcore.perc_store_real_address == 0);
 
   if (result)
     {
@@ -666,11 +700,11 @@ s390_stopped_by_watchpoint (struct targe
 
 /* Each time before resuming a thread, update its PER info.  */
 
-static void
-s390_prepare_to_resume (struct lwp_info *lp)
+void
+s390_linux_nat_target::low_prepare_to_resume (struct lwp_info *lp)
 {
   int tid;
-  pid_t pid = ptid_get_pid (ptid_of_lwp (lp));
+  pid_t pid = ptid_of_lwp (lp).pid ();
 
   per_struct per_info;
   ptrace_area parea;
@@ -696,7 +730,7 @@ s390_prepare_to_resume (struct lwp_info 
 
   lp_priv->per_info_changed = 0;
 
-  tid = ptid_get_lwp (ptid_of_lwp (lp));
+  tid = ptid_of_lwp (lp).lwp ();
   if (tid == 0)
     tid = pid;
 
@@ -783,16 +817,16 @@ s390_mark_per_info_changed (struct lwp_i
 
 /* When attaching to a new thread, mark its PER info as changed.  */
 
-static void
-s390_new_thread (struct lwp_info *lp)
+void
+s390_linux_nat_target::low_new_thread (struct lwp_info *lp)
 {
   s390_mark_per_info_changed (lp);
 }
 
 /* Function to call when a thread is being deleted.  */
 
-static void
-s390_delete_thread (struct arch_lwp_info *arch_lwp)
+void
+s390_linux_nat_target::low_delete_thread (struct arch_lwp_info *arch_lwp)
 {
   xfree (arch_lwp);
 }
@@ -814,20 +848,20 @@ s390_refresh_per_info_cb (struct lwp_inf
 static int
 s390_refresh_per_info (void)
 {
-  ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (current_lwp_ptid ()));
+  ptid_t pid_ptid = ptid_t (current_lwp_ptid ().pid ());
 
   iterate_over_lwps (pid_ptid, s390_refresh_per_info_cb, NULL);
   return 0;
 }
 
-static int
-s390_insert_watchpoint (struct target_ops *self,
-			CORE_ADDR addr, int len, enum target_hw_bp_type type,
-			struct expression *cond)
+int
+s390_linux_nat_target::insert_watchpoint (CORE_ADDR addr, int len,
+					  enum target_hw_bp_type type,
+					  struct expression *cond)
 {
   s390_watch_area area;
   struct s390_debug_reg_state *state
-    = s390_get_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = s390_get_debug_reg_state (inferior_ptid.pid ());
 
   area.lo_addr = addr;
   area.hi_addr = addr + len - 1;
@@ -836,15 +870,15 @@ s390_insert_watchpoint (struct target_op
   return s390_refresh_per_info ();
 }
 
-static int
-s390_remove_watchpoint (struct target_ops *self,
-			CORE_ADDR addr, int len, enum target_hw_bp_type type,
-			struct expression *cond)
+int
+s390_linux_nat_target::remove_watchpoint (CORE_ADDR addr, int len,
+					  enum target_hw_bp_type type,
+					  struct expression *cond)
 {
   unsigned ix;
   s390_watch_area *area;
   struct s390_debug_reg_state *state
-    = s390_get_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = s390_get_debug_reg_state (inferior_ptid.pid ());
 
   for (ix = 0;
        VEC_iterate (s390_watch_area, state->watch_areas, ix, area);
@@ -864,9 +898,9 @@ s390_remove_watchpoint (struct target_op
 
 /* Implement the "can_use_hw_breakpoint" target_ops method. */
 
-static int
-s390_can_use_hw_breakpoint (struct target_ops *self,
-			    enum bptype type, int cnt, int othertype)
+int
+s390_linux_nat_target::can_use_hw_breakpoint (enum bptype type,
+					      int cnt, int othertype)
 {
   if (type == bp_hardware_watchpoint || type == bp_hardware_breakpoint)
     return 1;
@@ -875,17 +909,16 @@ s390_can_use_hw_breakpoint (struct targe
 
 /* Implement the "insert_hw_breakpoint" target_ops method.  */
 
-static int
-s390_insert_hw_breakpoint (struct target_ops *self,
-			   struct gdbarch *gdbarch,
-			   struct bp_target_info *bp_tgt)
+int
+s390_linux_nat_target::insert_hw_breakpoint (struct gdbarch *gdbarch,
+					     struct bp_target_info *bp_tgt)
 {
   s390_watch_area area;
   struct s390_debug_reg_state *state;
 
   area.lo_addr = bp_tgt->placed_address = bp_tgt->reqstd_address;
   area.hi_addr = area.lo_addr;
-  state = s390_get_debug_reg_state (ptid_get_pid (inferior_ptid));
+  state = s390_get_debug_reg_state (inferior_ptid.pid ());
   VEC_safe_push (s390_watch_area, state->break_areas, &area);
 
   return s390_refresh_per_info ();
@@ -893,16 +926,15 @@ s390_insert_hw_breakpoint (struct target
 
 /* Implement the "remove_hw_breakpoint" target_ops method.  */
 
-static int
-s390_remove_hw_breakpoint (struct target_ops *self,
-			   struct gdbarch *gdbarch,
-			   struct bp_target_info *bp_tgt)
+int
+s390_linux_nat_target::remove_hw_breakpoint (struct gdbarch *gdbarch,
+					     struct bp_target_info *bp_tgt)
 {
   unsigned ix;
   struct watch_area *area;
   struct s390_debug_reg_state *state;
 
-  state = s390_get_debug_reg_state (ptid_get_pid (inferior_ptid));
+  state = s390_get_debug_reg_state (inferior_ptid.pid ());
   for (ix = 0;
        VEC_iterate (s390_watch_area, state->break_areas, ix, area);
        ix++)
@@ -919,9 +951,8 @@ s390_remove_hw_breakpoint (struct target
   return -1;
 }
 
-static int
-s390_region_ok_for_hw_watchpoint (struct target_ops *self,
-				  CORE_ADDR addr, int cnt)
+int
+s390_linux_nat_target::region_ok_for_hw_watchpoint (CORE_ADDR addr, int cnt)
 {
   return 1;
 }
@@ -945,9 +976,10 @@ s390_target_wordsize (void)
   return wordsize;
 }
 
-static int
-s390_auxv_parse (struct target_ops *ops, gdb_byte **readptr,
-		 gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
+int
+s390_linux_nat_target::auxv_parse (gdb_byte **readptr,
+				   gdb_byte *endptr, CORE_ADDR *typep,
+				   CORE_ADDR *valp)
 {
   int sizeof_auxv_field = s390_target_wordsize ();
   enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
@@ -968,8 +1000,8 @@ s390_auxv_parse (struct target_ops *ops,
   return 1;
 }
 
-static const struct target_desc *
-s390_read_description (struct target_ops *ops)
+const struct target_desc *
+s390_linux_nat_target::read_description ()
 {
   int tid = s390_inferior_tid ();
 
@@ -987,7 +1019,7 @@ s390_read_description (struct target_ops
   {
     CORE_ADDR hwcap = 0;
 
-    target_auxv_search (&current_target, AT_HWCAP, &hwcap);
+    target_auxv_search (current_top_target (), AT_HWCAP, &hwcap);
     have_regset_tdb = (hwcap & HWCAP_S390_TE)
       && check_regset (tid, NT_S390_TDB, s390_sizeof_tdbregset);
 
@@ -1032,36 +1064,9 @@ s390_read_description (struct target_ops
 void
 _initialize_s390_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
-  /* Add our register access methods.  */
-  t->to_fetch_registers = s390_linux_fetch_inferior_registers;
-  t->to_store_registers = s390_linux_store_inferior_registers;
-
-  /* Add our watchpoint methods.  */
-  t->to_can_use_hw_breakpoint = s390_can_use_hw_breakpoint;
-  t->to_insert_hw_breakpoint = s390_insert_hw_breakpoint;
-  t->to_remove_hw_breakpoint = s390_remove_hw_breakpoint;
-  t->to_region_ok_for_hw_watchpoint = s390_region_ok_for_hw_watchpoint;
-  t->to_have_continuable_watchpoint = 1;
-  t->to_stopped_by_watchpoint = s390_stopped_by_watchpoint;
-  t->to_insert_watchpoint = s390_insert_watchpoint;
-  t->to_remove_watchpoint = s390_remove_watchpoint;
-
-  /* Detect target architecture.  */
-  t->to_read_description = s390_read_description;
-  t->to_auxv_parse = s390_auxv_parse;
-
   /* Register the target.  */
-  linux_nat_add_target (t);
-  linux_nat_set_new_thread (t, s390_new_thread);
-  linux_nat_set_delete_thread (t, s390_delete_thread);
-  linux_nat_set_prepare_to_resume (t, s390_prepare_to_resume);
-  linux_nat_set_forget_process (t, s390_forget_process);
-  linux_nat_set_new_fork (t, s390_linux_new_fork);
+  linux_target = &the_s390_linux_nat_target;
+  add_inf_child_target (&the_s390_linux_nat_target);
 
   /* A maintenance command to enable showing the PER state.  */
   add_setshow_boolean_cmd ("show-debug-regs", class_maintenance,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/s390-linux-tdep.c ./gdb/s390-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/s390-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/s390-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -1,4 +1,4 @@
-/* Target-dependent code for GDB, the GNU debugger.
+/* Target-dependent code for GNU/Linux on s390.
 
    Copyright (C) 2001-2018 Free Software Foundation, Inc.
 
@@ -21,45 +21,27 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "arch-utils.h"
-#include "frame.h"
-#include "inferior.h"
-#include "infrun.h"
-#include "symtab.h"
-#include "target.h"
+
+#include "auxv.h"
+#include "elf/common.h"
+#include "frame-base.h"
+#include "frame-unwind.h"
+#include "gdbarch.h"
 #include "gdbcore.h"
-#include "gdbcmd.h"
+#include "linux-record.h"
+#include "linux-tdep.h"
 #include "objfiles.h"
+#include "osabi.h"
 #include "regcache.h"
-#include "trad-frame.h"
-#include "frame-base.h"
-#include "frame-unwind.h"
-#include "dwarf2-frame.h"
-#include "reggroups.h"
+#include "record-full.h"
 #include "regset.h"
-#include "value.h"
-#include "dis-asm.h"
-#include "solib-svr4.h"
-#include "prologue-value.h"
-#include "linux-tdep.h"
+#include "s390-tdep.h"
 #include "s390-linux-tdep.h"
-#include "linux-record.h"
-#include "record-full.h"
-#include "auxv.h"
+#include "solib-svr4.h"
+#include "target.h"
+#include "trad-frame.h"
 #include "xml-syscall.h"
 
-#include "stap-probe.h"
-#include "ax.h"
-#include "ax-gdb.h"
-#include "user-regs.h"
-#include "cli/cli-utils.h"
-#include <ctype.h>
-#include "elf/common.h"
-#include "elf/s390.h"
-#include "elf-bfd.h"
-#include <algorithm>
-
-#include "features/s390-linux32.c"
 #include "features/s390-linux32v1.c"
 #include "features/s390-linux32v2.c"
 #include "features/s390-linux64.c"
@@ -69,7 +51,6 @@
 #include "features/s390-vx-linux64.c"
 #include "features/s390-tevx-linux64.c"
 #include "features/s390-gs-linux64.c"
-#include "features/s390x-linux64.c"
 #include "features/s390x-linux64v1.c"
 #include "features/s390x-linux64v2.c"
 #include "features/s390x-te-linux64.c"
@@ -80,72 +61,10 @@
 #define XML_SYSCALL_FILENAME_S390 "syscalls/s390-linux.xml"
 #define XML_SYSCALL_FILENAME_S390X "syscalls/s390x-linux.xml"
 
-/* Holds the current set of options to be passed to the disassembler.  */
-static char *s390_disassembler_options;
-
-enum s390_abi_kind
-{
-  ABI_LINUX_S390,
-  ABI_LINUX_ZSERIES
-};
-
-enum s390_vector_abi_kind
-{
-  S390_VECTOR_ABI_NONE,
-  S390_VECTOR_ABI_128
-};
-
-/* The tdep structure.  */
-
-struct gdbarch_tdep
-{
-  /* ABI version.  */
-  enum s390_abi_kind abi;
-
-  /* Vector ABI.  */
-  enum s390_vector_abi_kind vector_abi;
 
-  /* Pseudo register numbers.  */
-  int gpr_full_regnum;
-  int pc_regnum;
-  int cc_regnum;
-  int v0_full_regnum;
-
-  int have_linux_v1;
-  int have_linux_v2;
-  int have_tdb;
-  bool have_gs;
-};
-
-
-/* ABI call-saved register information.  */
-
-static int
-s390_register_call_saved (struct gdbarch *gdbarch, int regnum)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  switch (tdep->abi)
-    {
-    case ABI_LINUX_S390:
-      if ((regnum >= S390_R6_REGNUM && regnum <= S390_R15_REGNUM)
-	  || regnum == S390_F4_REGNUM || regnum == S390_F6_REGNUM
-	  || regnum == S390_A0_REGNUM)
-	return 1;
-
-      break;
-
-    case ABI_LINUX_ZSERIES:
-      if ((regnum >= S390_R6_REGNUM && regnum <= S390_R15_REGNUM)
-	  || (regnum >= S390_F8_REGNUM && regnum <= S390_F15_REGNUM)
-	  || (regnum >= S390_A0_REGNUM && regnum <= S390_A1_REGNUM))
-	return 1;
-
-      break;
-    }
+/* Register handling.  */
 
-  return 0;
-}
+/* Implement cannot_store_register gdbarch method.  */
 
 static int
 s390_cannot_store_register (struct gdbarch *gdbarch, int regnum)
@@ -154,6 +73,8 @@ s390_cannot_store_register (struct gdbar
   return regnum == S390_LAST_BREAK_REGNUM;
 }
 
+/* Implement write_pc gdbarch method.  */
+
 static void
 s390_write_pc (struct regcache *regcache, CORE_ADDR pc)
 {
@@ -173,7411 +94,795 @@ s390_write_pc (struct regcache *regcache
     regcache_cooked_write_unsigned (regcache, S390_SYSTEM_CALL_REGNUM, 0);
 }
 
-/* The "guess_tracepoint_registers" gdbarch method.  */
-
-static void
-s390_guess_tracepoint_registers (struct gdbarch *gdbarch,
-				 struct regcache *regcache,
-				 CORE_ADDR addr)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int sz = register_size (gdbarch, S390_PSWA_REGNUM);
-  gdb_byte *reg = (gdb_byte *) alloca (sz);
-  ULONGEST pswm, pswa;
-
-  /* Set PSWA from the location and a default PSWM (the only part we're
-     unlikely to get right is the CC).  */
-  if (tdep->abi == ABI_LINUX_S390)
-    {
-      /* 31-bit PSWA needs high bit set (it's very unlikely the target
-	 was in 24-bit mode).  */
-      pswa = addr | 0x80000000UL;
-      pswm = 0x070d0000UL;
-    }
-  else
-    {
-      pswa = addr;
-      pswm = 0x0705000180000000ULL;
-    }
-
-  store_unsigned_integer (reg, sz, gdbarch_byte_order (gdbarch), pswa);
-  regcache_raw_supply (regcache, S390_PSWA_REGNUM, reg);
-
-  store_unsigned_integer (reg, sz, gdbarch_byte_order (gdbarch), pswm);
-  regcache_raw_supply (regcache, S390_PSWM_REGNUM, reg);
-}
-
-
-/* DWARF Register Mapping.  */
+/* Maps for register sets.  */
 
-static const short s390_dwarf_regmap[] =
-{
-  /* 0-15: General Purpose Registers.  */
-  S390_R0_REGNUM, S390_R1_REGNUM, S390_R2_REGNUM, S390_R3_REGNUM,
-  S390_R4_REGNUM, S390_R5_REGNUM, S390_R6_REGNUM, S390_R7_REGNUM,
-  S390_R8_REGNUM, S390_R9_REGNUM, S390_R10_REGNUM, S390_R11_REGNUM,
-  S390_R12_REGNUM, S390_R13_REGNUM, S390_R14_REGNUM, S390_R15_REGNUM,
-
-  /* 16-31: Floating Point Registers / Vector Registers 0-15. */
-  S390_F0_REGNUM, S390_F2_REGNUM, S390_F4_REGNUM, S390_F6_REGNUM,
-  S390_F1_REGNUM, S390_F3_REGNUM, S390_F5_REGNUM, S390_F7_REGNUM,
-  S390_F8_REGNUM, S390_F10_REGNUM, S390_F12_REGNUM, S390_F14_REGNUM,
-  S390_F9_REGNUM, S390_F11_REGNUM, S390_F13_REGNUM, S390_F15_REGNUM,
-
-  /* 32-47: Control Registers (not mapped).  */
-  -1, -1, -1, -1, -1, -1, -1, -1,
-  -1, -1, -1, -1, -1, -1, -1, -1,
-
-  /* 48-63: Access Registers.  */
-  S390_A0_REGNUM, S390_A1_REGNUM, S390_A2_REGNUM, S390_A3_REGNUM,
-  S390_A4_REGNUM, S390_A5_REGNUM, S390_A6_REGNUM, S390_A7_REGNUM,
-  S390_A8_REGNUM, S390_A9_REGNUM, S390_A10_REGNUM, S390_A11_REGNUM,
-  S390_A12_REGNUM, S390_A13_REGNUM, S390_A14_REGNUM, S390_A15_REGNUM,
-
-  /* 64-65: Program Status Word.  */
-  S390_PSWM_REGNUM,
-  S390_PSWA_REGNUM,
-
-  /* 66-67: Reserved.  */
-  -1, -1,
-
-  /* 68-83: Vector Registers 16-31.  */
-  S390_V16_REGNUM, S390_V18_REGNUM, S390_V20_REGNUM, S390_V22_REGNUM,
-  S390_V17_REGNUM, S390_V19_REGNUM, S390_V21_REGNUM, S390_V23_REGNUM,
-  S390_V24_REGNUM, S390_V26_REGNUM, S390_V28_REGNUM, S390_V30_REGNUM,
-  S390_V25_REGNUM, S390_V27_REGNUM, S390_V29_REGNUM, S390_V31_REGNUM,
-
-  /* End of "official" DWARF registers.  The remainder of the map is
-     for GDB internal use only.  */
-
-  /* GPR Lower Half Access.  */
-  S390_R0_REGNUM, S390_R1_REGNUM, S390_R2_REGNUM, S390_R3_REGNUM,
-  S390_R4_REGNUM, S390_R5_REGNUM, S390_R6_REGNUM, S390_R7_REGNUM,
-  S390_R8_REGNUM, S390_R9_REGNUM, S390_R10_REGNUM, S390_R11_REGNUM,
-  S390_R12_REGNUM, S390_R13_REGNUM, S390_R14_REGNUM, S390_R15_REGNUM,
-};
+static const struct regcache_map_entry s390_gregmap[] =
+  {
+    { 1, S390_PSWM_REGNUM },
+    { 1, S390_PSWA_REGNUM },
+    { 16, S390_R0_REGNUM },
+    { 16, S390_A0_REGNUM },
+    { 1, S390_ORIG_R2_REGNUM },
+    { 0 }
+  };
 
-enum { s390_dwarf_reg_r0l = ARRAY_SIZE (s390_dwarf_regmap) - 16 };
+static const struct regcache_map_entry s390_fpregmap[] =
+  {
+    { 1, S390_FPC_REGNUM, 8 },
+    { 16, S390_F0_REGNUM, 8 },
+    { 0 }
+  };
 
-/* Convert DWARF register number REG to the appropriate register
-   number used by GDB.  */
-static int
-s390_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int gdb_reg = -1;
+static const struct regcache_map_entry s390_regmap_upper[] =
+  {
+    { 16, S390_R0_UPPER_REGNUM, 4 },
+    { 0 }
+  };
 
-  /* In a 32-on-64 debug scenario, debug info refers to the full
-     64-bit GPRs.  Note that call frame information still refers to
-     the 32-bit lower halves, because s390_adjust_frame_regnum uses
-     special register numbers to access GPRs.  */
-  if (tdep->gpr_full_regnum != -1 && reg >= 0 && reg < 16)
-    return tdep->gpr_full_regnum + reg;
+static const struct regcache_map_entry s390_regmap_last_break[] =
+  {
+    { 1, REGCACHE_MAP_SKIP, 4 },
+    { 1, S390_LAST_BREAK_REGNUM, 4 },
+    { 0 }
+  };
 
-  if (reg >= 0 && reg < ARRAY_SIZE (s390_dwarf_regmap))
-    gdb_reg = s390_dwarf_regmap[reg];
+static const struct regcache_map_entry s390x_regmap_last_break[] =
+  {
+    { 1, S390_LAST_BREAK_REGNUM, 8 },
+    { 0 }
+  };
 
-  if (tdep->v0_full_regnum == -1)
-    {
-      if (gdb_reg >= S390_V16_REGNUM && gdb_reg <= S390_V31_REGNUM)
-	gdb_reg = -1;
-    }
-  else
-    {
-      if (gdb_reg >= S390_F0_REGNUM && gdb_reg <= S390_F15_REGNUM)
-	gdb_reg = gdb_reg - S390_F0_REGNUM + tdep->v0_full_regnum;
-    }
+static const struct regcache_map_entry s390_regmap_system_call[] =
+  {
+    { 1, S390_SYSTEM_CALL_REGNUM, 4 },
+    { 0 }
+  };
 
-  return gdb_reg;
-}
+static const struct regcache_map_entry s390_regmap_tdb[] =
+  {
+    { 1, S390_TDB_DWORD0_REGNUM, 8 },
+    { 1, S390_TDB_ABORT_CODE_REGNUM, 8 },
+    { 1, S390_TDB_CONFLICT_TOKEN_REGNUM, 8 },
+    { 1, S390_TDB_ATIA_REGNUM, 8 },
+    { 12, REGCACHE_MAP_SKIP, 8 },
+    { 16, S390_TDB_R0_REGNUM, 8 },
+    { 0 }
+  };
 
-/* Translate a .eh_frame register to DWARF register, or adjust a
-   .debug_frame register.  */
-static int
-s390_adjust_frame_regnum (struct gdbarch *gdbarch, int num, int eh_frame_p)
-{
-  /* See s390_dwarf_reg_to_regnum for comments.  */
-  return (num >= 0 && num < 16) ? num + s390_dwarf_reg_r0l : num;
-}
+static const struct regcache_map_entry s390_regmap_vxrs_low[] =
+  {
+    { 16, S390_V0_LOWER_REGNUM, 8 },
+    { 0 }
+  };
 
+static const struct regcache_map_entry s390_regmap_vxrs_high[] =
+  {
+    { 16, S390_V16_REGNUM, 16 },
+    { 0 }
+  };
 
-/* Pseudo registers.  */
+static const struct regcache_map_entry s390_regmap_gs[] =
+  {
+    { 1, REGCACHE_MAP_SKIP, 8 },
+    { 1, S390_GSD_REGNUM, 8 },
+    { 1, S390_GSSM_REGNUM, 8 },
+    { 1, S390_GSEPLA_REGNUM, 8 },
+    { 0 }
+  };
 
-static int
-regnum_is_gpr_full (struct gdbarch_tdep *tdep, int regnum)
-{
-  return (tdep->gpr_full_regnum != -1
-	  && regnum >= tdep->gpr_full_regnum
-	  && regnum <= tdep->gpr_full_regnum + 15);
-}
+static const struct regcache_map_entry s390_regmap_gsbc[] =
+  {
+    { 1, REGCACHE_MAP_SKIP, 8 },
+    { 1, S390_BC_GSD_REGNUM, 8 },
+    { 1, S390_BC_GSSM_REGNUM, 8 },
+    { 1, S390_BC_GSEPLA_REGNUM, 8 },
+    { 0 }
+  };
 
-/* Check whether REGNUM indicates a full vector register (v0-v15).
-   These pseudo-registers are composed of f0-f15 and v0l-v15l.  */
+/* Supply the TDB regset.  Like regcache_supply_regset, but invalidate
+   the TDB registers unless the TDB format field is valid.  */
 
-static int
-regnum_is_vxr_full (struct gdbarch_tdep *tdep, int regnum)
+static void
+s390_supply_tdb_regset (const struct regset *regset, struct regcache *regcache,
+		    int regnum, const void *regs, size_t len)
 {
-  return (tdep->v0_full_regnum != -1
-	  && regnum >= tdep->v0_full_regnum
-	  && regnum <= tdep->v0_full_regnum + 15);
-}
-
-/* Return the name of register REGNO.  Return the empty string for
-   registers that shouldn't be visible.  */
+  ULONGEST tdw;
+  enum register_status ret;
 
-static const char *
-s390_register_name (struct gdbarch *gdbarch, int regnum)
-{
-  if (regnum >= S390_V0_LOWER_REGNUM
-      && regnum <= S390_V15_LOWER_REGNUM)
-    return "";
-  return tdesc_register_name (gdbarch, regnum);
+  regcache_supply_regset (regset, regcache, regnum, regs, len);
+  ret = regcache_cooked_read_unsigned (regcache, S390_TDB_DWORD0_REGNUM, &tdw);
+  if (ret != REG_VALID || (tdw >> 56) != 1)
+    regcache_supply_regset (regset, regcache, regnum, NULL, len);
 }
 
-static const char *
-s390_pseudo_register_name (struct gdbarch *gdbarch, int regnum)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+const struct regset s390_gregset = {
+  s390_gregmap,
+  regcache_supply_regset,
+  regcache_collect_regset
+};
 
-  if (regnum == tdep->pc_regnum)
-    return "pc";
+const struct regset s390_fpregset = {
+  s390_fpregmap,
+  regcache_supply_regset,
+  regcache_collect_regset
+};
 
-  if (regnum == tdep->cc_regnum)
-    return "cc";
+static const struct regset s390_upper_regset = {
+  s390_regmap_upper,
+  regcache_supply_regset,
+  regcache_collect_regset
+};
 
-  if (regnum_is_gpr_full (tdep, regnum))
-    {
-      static const char *full_name[] = {
-	"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
-	"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15"
-      };
-      return full_name[regnum - tdep->gpr_full_regnum];
-    }
+const struct regset s390_last_break_regset = {
+  s390_regmap_last_break,
+  regcache_supply_regset,
+  regcache_collect_regset
+};
 
-  if (regnum_is_vxr_full (tdep, regnum))
-    {
-      static const char *full_name[] = {
-	"v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7",
-	"v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15"
-      };
-      return full_name[regnum - tdep->v0_full_regnum];
-    }
+const struct regset s390x_last_break_regset = {
+  s390x_regmap_last_break,
+  regcache_supply_regset,
+  regcache_collect_regset
+};
 
-  internal_error (__FILE__, __LINE__, _("invalid regnum"));
-}
+const struct regset s390_system_call_regset = {
+  s390_regmap_system_call,
+  regcache_supply_regset,
+  regcache_collect_regset
+};
 
-static struct type *
-s390_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+const struct regset s390_tdb_regset = {
+  s390_regmap_tdb,
+  s390_supply_tdb_regset,
+  regcache_collect_regset
+};
 
-  if (regnum == tdep->pc_regnum)
-    return builtin_type (gdbarch)->builtin_func_ptr;
+const struct regset s390_vxrs_low_regset = {
+  s390_regmap_vxrs_low,
+  regcache_supply_regset,
+  regcache_collect_regset
+};
 
-  if (regnum == tdep->cc_regnum)
-    return builtin_type (gdbarch)->builtin_int;
+const struct regset s390_vxrs_high_regset = {
+  s390_regmap_vxrs_high,
+  regcache_supply_regset,
+  regcache_collect_regset
+};
 
-  if (regnum_is_gpr_full (tdep, regnum))
-    return builtin_type (gdbarch)->builtin_uint64;
+const struct regset s390_gs_regset = {
+  s390_regmap_gs,
+  regcache_supply_regset,
+  regcache_collect_regset
+};
 
-  if (regnum_is_vxr_full (tdep, regnum))
-    return tdesc_find_type (gdbarch, "vec128");
+const struct regset s390_gsbc_regset = {
+  s390_regmap_gsbc,
+  regcache_supply_regset,
+  regcache_collect_regset
+};
 
-  internal_error (__FILE__, __LINE__, _("invalid regnum"));
-}
+/* Iterate over supported core file register note sections. */
 
-static enum register_status
-s390_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
-			   int regnum, gdb_byte *buf)
+static void
+s390_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				   iterate_over_regset_sections_cb *cb,
+				   void *cb_data,
+				   const struct regcache *regcache)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  int regsize = register_size (gdbarch, regnum);
-  ULONGEST val;
+  const int gregset_size = (tdep->abi == ABI_LINUX_S390 ?
+			    s390_sizeof_gregset : s390x_sizeof_gregset);
 
-  if (regnum == tdep->pc_regnum)
-    {
-      enum register_status status;
+  cb (".reg", gregset_size, &s390_gregset, NULL, cb_data);
+  cb (".reg2", s390_sizeof_fpregset, &s390_fpregset, NULL, cb_data);
 
-      status = regcache_raw_read_unsigned (regcache, S390_PSWA_REGNUM, &val);
-      if (status == REG_VALID)
-	{
-	  if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
-	    val &= 0x7fffffff;
-	  store_unsigned_integer (buf, regsize, byte_order, val);
-	}
-      return status;
-    }
+  if (tdep->abi == ABI_LINUX_S390 && tdep->gpr_full_regnum != -1)
+    cb (".reg-s390-high-gprs", 16 * 4, &s390_upper_regset,
+	"s390 GPR upper halves", cb_data);
 
-  if (regnum == tdep->cc_regnum)
-    {
-      enum register_status status;
+  if (tdep->have_linux_v1)
+    cb (".reg-s390-last-break", 8,
+	(gdbarch_ptr_bit (gdbarch) == 32
+	 ? &s390_last_break_regset : &s390x_last_break_regset),
+	"s390 last-break address", cb_data);
 
-      status = regcache_raw_read_unsigned (regcache, S390_PSWM_REGNUM, &val);
-      if (status == REG_VALID)
-	{
-	  if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
-	    val = (val >> 12) & 3;
-	  else
-	    val = (val >> 44) & 3;
-	  store_unsigned_integer (buf, regsize, byte_order, val);
-	}
-      return status;
-    }
+  if (tdep->have_linux_v2)
+    cb (".reg-s390-system-call", 4, &s390_system_call_regset,
+	"s390 system-call", cb_data);
 
-  if (regnum_is_gpr_full (tdep, regnum))
-    {
-      enum register_status status;
-      ULONGEST val_upper;
-
-      regnum -= tdep->gpr_full_regnum;
+  /* If regcache is set, we are in "write" (gcore) mode.  In this
+     case, don't iterate over the TDB unless its registers are
+     available.  */
+  if (tdep->have_tdb
+      && (regcache == NULL
+	  || (REG_VALID
+	      == regcache->get_register_status (S390_TDB_DWORD0_REGNUM))))
+    cb (".reg-s390-tdb", s390_sizeof_tdbregset, &s390_tdb_regset,
+	"s390 TDB", cb_data);
 
-      status = regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + regnum, &val);
-      if (status == REG_VALID)
-	status = regcache_raw_read_unsigned (regcache, S390_R0_UPPER_REGNUM + regnum,
-					     &val_upper);
-      if (status == REG_VALID)
-	{
-	  val |= val_upper << 32;
-	  store_unsigned_integer (buf, regsize, byte_order, val);
-	}
-      return status;
+  if (tdep->v0_full_regnum != -1)
+    {
+      cb (".reg-s390-vxrs-low", 16 * 8, &s390_vxrs_low_regset,
+	  "s390 vector registers 0-15 lower half", cb_data);
+      cb (".reg-s390-vxrs-high", 16 * 16, &s390_vxrs_high_regset,
+	  "s390 vector registers 16-31", cb_data);
     }
 
-  if (regnum_is_vxr_full (tdep, regnum))
+  /* Iterate over the guarded-storage regsets if in "read" mode, or if
+     their registers are available.  */
+  if (tdep->have_gs)
     {
-      enum register_status status;
-
-      regnum -= tdep->v0_full_regnum;
+      if (regcache == NULL
+	  || REG_VALID == regcache->get_register_status (S390_GSD_REGNUM))
+	cb (".reg-s390-gs-cb", 4 * 8, &s390_gs_regset,
+	    "s390 guarded-storage registers", cb_data);
 
-      status = regcache_raw_read (regcache, S390_F0_REGNUM + regnum, buf);
-      if (status == REG_VALID)
-	status = regcache_raw_read (regcache,
-				    S390_V0_LOWER_REGNUM + regnum, buf + 8);
-      return status;
+      if (regcache == NULL
+	  || REG_VALID == regcache->get_register_status (S390_BC_GSD_REGNUM))
+	cb (".reg-s390-gs-bc", 4 * 8, &s390_gsbc_regset,
+	    "s390 guarded-storage broadcast control", cb_data);
     }
-
-  internal_error (__FILE__, __LINE__, _("invalid regnum"));
 }
 
-static void
-s390_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache,
-			    int regnum, const gdb_byte *buf)
+/* Implement core_read_description gdbarch method.  */
+
+static const struct target_desc *
+s390_core_read_description (struct gdbarch *gdbarch,
+			    struct target_ops *target, bfd *abfd)
 {
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  int regsize = register_size (gdbarch, regnum);
-  ULONGEST val, psw;
+  asection *section = bfd_get_section_by_name (abfd, ".reg");
+  CORE_ADDR hwcap = 0;
+  bool high_gprs, v1, v2, te, vx, gs;
 
-  if (regnum == tdep->pc_regnum)
-    {
-      val = extract_unsigned_integer (buf, regsize, byte_order);
-      if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
-	{
-	  regcache_raw_read_unsigned (regcache, S390_PSWA_REGNUM, &psw);
-	  val = (psw & 0x80000000) | (val & 0x7fffffff);
-	}
-      regcache_raw_write_unsigned (regcache, S390_PSWA_REGNUM, val);
-      return;
-    }
+  target_auxv_search (target, AT_HWCAP, &hwcap);
+  if (!section)
+    return NULL;
+
+  high_gprs = (bfd_get_section_by_name (abfd, ".reg-s390-high-gprs")
+	       != NULL);
+  v1 = (bfd_get_section_by_name (abfd, ".reg-s390-last-break") != NULL);
+  v2 = (bfd_get_section_by_name (abfd, ".reg-s390-system-call") != NULL);
+  vx = (hwcap & HWCAP_S390_VX);
+  te = (hwcap & HWCAP_S390_TE);
+  gs = (hwcap & HWCAP_S390_GS);
 
-  if (regnum == tdep->cc_regnum)
+  switch (bfd_section_size (abfd, section))
     {
-      val = extract_unsigned_integer (buf, regsize, byte_order);
-      regcache_raw_read_unsigned (regcache, S390_PSWM_REGNUM, &psw);
-      if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
-	val = (psw & ~((ULONGEST)3 << 12)) | ((val & 3) << 12);
+    case s390_sizeof_gregset:
+      if (high_gprs)
+	return (gs ? tdesc_s390_gs_linux64 :
+		te && vx ? tdesc_s390_tevx_linux64 :
+		vx ? tdesc_s390_vx_linux64 :
+		te ? tdesc_s390_te_linux64 :
+		v2 ? tdesc_s390_linux64v2 :
+		v1 ? tdesc_s390_linux64v1 : tdesc_s390_linux64);
       else
-	val = (psw & ~((ULONGEST)3 << 44)) | ((val & 3) << 44);
-      regcache_raw_write_unsigned (regcache, S390_PSWM_REGNUM, val);
-      return;
-    }
+	return (v2 ? tdesc_s390_linux32v2 :
+		v1 ? tdesc_s390_linux32v1 : tdesc_s390_linux32);
 
-  if (regnum_is_gpr_full (tdep, regnum))
-    {
-      regnum -= tdep->gpr_full_regnum;
-      val = extract_unsigned_integer (buf, regsize, byte_order);
-      regcache_raw_write_unsigned (regcache, S390_R0_REGNUM + regnum,
-				   val & 0xffffffff);
-      regcache_raw_write_unsigned (regcache, S390_R0_UPPER_REGNUM + regnum,
-				   val >> 32);
-      return;
-    }
+    case s390x_sizeof_gregset:
+      return (gs ? tdesc_s390x_gs_linux64 :
+	      te && vx ? tdesc_s390x_tevx_linux64 :
+	      vx ? tdesc_s390x_vx_linux64 :
+	      te ? tdesc_s390x_te_linux64 :
+	      v2 ? tdesc_s390x_linux64v2 :
+	      v1 ? tdesc_s390x_linux64v1 : tdesc_s390x_linux64);
 
-  if (regnum_is_vxr_full (tdep, regnum))
-    {
-      regnum -= tdep->v0_full_regnum;
-      regcache_raw_write (regcache, S390_F0_REGNUM + regnum, buf);
-      regcache_raw_write (regcache, S390_V0_LOWER_REGNUM + regnum, buf + 8);
-      return;
+    default:
+      return NULL;
     }
-
-  internal_error (__FILE__, __LINE__, _("invalid regnum"));
 }
 
-/* 'float' values are stored in the upper half of floating-point
-   registers, even though we are otherwise a big-endian platform.  The
-   same applies to a 'float' value within a vector.  */
+/* Frame unwinding. */
 
-static struct value *
-s390_value_from_register (struct gdbarch *gdbarch, struct type *type,
-			  int regnum, struct frame_id frame_id)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  struct value *value = default_value_from_register (gdbarch, type,
-						     regnum, frame_id);
-  check_typedef (type);
-
-  if ((regnum >= S390_F0_REGNUM && regnum <= S390_F15_REGNUM
-       && TYPE_LENGTH (type) < 8)
-      || regnum_is_vxr_full (tdep, regnum)
-      || (regnum >= S390_V16_REGNUM && regnum <= S390_V31_REGNUM))
-    set_value_offset (value, 0);
+/* Signal trampoline stack frames.  */
 
-  return value;
-}
+struct s390_sigtramp_unwind_cache {
+  CORE_ADDR frame_base;
+  struct trad_frame_saved_reg *saved_regs;
+};
 
-/* Register groups.  */
+/* Unwind THIS_FRAME and return the corresponding unwind cache for
+   s390_sigtramp_frame_unwind.  */
 
-static int
-s390_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-				 struct reggroup *group)
+static struct s390_sigtramp_unwind_cache *
+s390_sigtramp_frame_unwind_cache (struct frame_info *this_frame,
+				  void **this_prologue_cache)
 {
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  struct s390_sigtramp_unwind_cache *info;
+  ULONGEST this_sp, prev_sp;
+  CORE_ADDR next_ra, next_cfa, sigreg_ptr, sigreg_high_off;
+  int i;
 
-  /* We usually save/restore the whole PSW, which includes PC and CC.
-     However, some older gdbservers may not support saving/restoring
-     the whole PSW yet, and will return an XML register description
-     excluding those from the save/restore register groups.  In those
-     cases, we still need to explicitly save/restore PC and CC in order
-     to push or pop frames.  Since this doesn't hurt anything if we
-     already save/restore the whole PSW (it's just redundant), we add
-     PC and CC at this point unconditionally.  */
-  if (group == save_reggroup || group == restore_reggroup)
-    return regnum == tdep->pc_regnum || regnum == tdep->cc_regnum;
-
-  if (group == vector_reggroup)
-    return regnum_is_vxr_full (tdep, regnum);
-
-  if (group == general_reggroup && regnum_is_vxr_full (tdep, regnum))
-    return 0;
+  if (*this_prologue_cache)
+    return (struct s390_sigtramp_unwind_cache *) *this_prologue_cache;
 
-  return default_register_reggroup_p (gdbarch, regnum, group);
-}
+  info = FRAME_OBSTACK_ZALLOC (struct s390_sigtramp_unwind_cache);
+  *this_prologue_cache = info;
+  info->saved_regs = trad_frame_alloc_saved_regs (this_frame);
 
-/* The "ax_pseudo_register_collect" gdbarch method.  */
+  this_sp = get_frame_register_unsigned (this_frame, S390_SP_REGNUM);
+  next_ra = get_frame_pc (this_frame);
+  next_cfa = this_sp + 16*word_size + 32;
 
-static int
-s390_ax_pseudo_register_collect (struct gdbarch *gdbarch,
-				 struct agent_expr *ax, int regnum)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  if (regnum == tdep->pc_regnum)
-    {
-      ax_reg_mask (ax, S390_PSWA_REGNUM);
-    }
-  else if (regnum == tdep->cc_regnum)
-    {
-      ax_reg_mask (ax, S390_PSWM_REGNUM);
-    }
-  else if (regnum_is_gpr_full (tdep, regnum))
-    {
-      regnum -= tdep->gpr_full_regnum;
-      ax_reg_mask (ax, S390_R0_REGNUM + regnum);
-      ax_reg_mask (ax, S390_R0_UPPER_REGNUM + regnum);
-    }
-  else if (regnum_is_vxr_full (tdep, regnum))
+  /* New-style RT frame:
+	retcode + alignment (8 bytes)
+	siginfo (128 bytes)
+	ucontext (contains sigregs at offset 5 words).  */
+  if (next_ra == next_cfa)
     {
-      regnum -= tdep->v0_full_regnum;
-      ax_reg_mask (ax, S390_F0_REGNUM + regnum);
-      ax_reg_mask (ax, S390_V0_LOWER_REGNUM + regnum);
+      sigreg_ptr = next_cfa + 8 + 128 + align_up (5*word_size, 8);
+      /* sigregs are followed by uc_sigmask (8 bytes), then by the
+	 upper GPR halves if present.  */
+      sigreg_high_off = 8;
     }
+
+  /* Old-style RT frame and all non-RT frames:
+	old signal mask (8 bytes)
+	pointer to sigregs.  */
   else
     {
-      internal_error (__FILE__, __LINE__, _("invalid regnum"));
+      sigreg_ptr = read_memory_unsigned_integer (next_cfa + 8,
+						 word_size, byte_order);
+      /* sigregs are followed by signo (4 bytes), then by the
+	 upper GPR halves if present.  */
+      sigreg_high_off = 4;
     }
-  return 0;
-}
 
-/* The "ax_pseudo_register_push_stack" gdbarch method.  */
+  /* The sigregs structure looks like this:
+	    long   psw_mask;
+	    long   psw_addr;
+	    long   gprs[16];
+	    int    acrs[16];
+	    int    fpc;
+	    int    __pad;
+	    double fprs[16];  */
 
-static int
-s390_ax_pseudo_register_push_stack (struct gdbarch *gdbarch,
-				    struct agent_expr *ax, int regnum)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  if (regnum == tdep->pc_regnum)
-    {
-      ax_reg (ax, S390_PSWA_REGNUM);
-      if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
-	{
-	  ax_zero_ext (ax, 31);
-	}
-    }
-  else if (regnum == tdep->cc_regnum)
-    {
-      ax_reg (ax, S390_PSWM_REGNUM);
-      if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
-	ax_const_l (ax, 12);
-      else
-	ax_const_l (ax, 44);
-      ax_simple (ax, aop_rsh_unsigned);
-      ax_zero_ext (ax, 2);
-    }
-  else if (regnum_is_gpr_full (tdep, regnum))
-    {
-      regnum -= tdep->gpr_full_regnum;
-      ax_reg (ax, S390_R0_REGNUM + regnum);
-      ax_reg (ax, S390_R0_UPPER_REGNUM + regnum);
-      ax_const_l (ax, 32);
-      ax_simple (ax, aop_lsh);
-      ax_simple (ax, aop_bit_or);
-    }
-  else if (regnum_is_vxr_full (tdep, regnum))
+  /* PSW mask and address.  */
+  info->saved_regs[S390_PSWM_REGNUM].addr = sigreg_ptr;
+  sigreg_ptr += word_size;
+  info->saved_regs[S390_PSWA_REGNUM].addr = sigreg_ptr;
+  sigreg_ptr += word_size;
+
+  /* Then the GPRs.  */
+  for (i = 0; i < 16; i++)
     {
-      /* Too large to stuff on the stack.  */
-      return 1;
+      info->saved_regs[S390_R0_REGNUM + i].addr = sigreg_ptr;
+      sigreg_ptr += word_size;
     }
-  else
+
+  /* Then the ACRs.  */
+  for (i = 0; i < 16; i++)
     {
-      internal_error (__FILE__, __LINE__, _("invalid regnum"));
+      info->saved_regs[S390_A0_REGNUM + i].addr = sigreg_ptr;
+      sigreg_ptr += 4;
     }
-  return 0;
-}
-
-/* The "gen_return_address" gdbarch method.  Since this is supposed to be
-   just a best-effort method, and we don't really have the means to run
-   the full unwinder here, just collect the link register.  */
-
-static void
-s390_gen_return_address (struct gdbarch *gdbarch,
-			 struct agent_expr *ax, struct axs_value *value,
-			 CORE_ADDR scope)
-{
-  value->type = register_type (gdbarch, S390_R14_REGNUM);
-  value->kind = axs_lvalue_register;
-  value->u.reg = S390_R14_REGNUM;
-}
 
+  /* The floating-point control word.  */
+  info->saved_regs[S390_FPC_REGNUM].addr = sigreg_ptr;
+  sigreg_ptr += 8;
 
-/* A helper for s390_software_single_step, decides if an instruction
-   is a partial-execution instruction that needs to be executed until
-   completion when in record mode.  If it is, returns 1 and writes
-   instruction length to a pointer.  */
-
-static int
-s390_is_partial_instruction (struct gdbarch *gdbarch, CORE_ADDR loc, int *len)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  uint16_t insn;
-
-  insn = read_memory_integer (loc, 2, byte_order);
-
-  switch (insn >> 8)
+  /* And finally the FPRs.  */
+  for (i = 0; i < 16; i++)
     {
-    case 0xa8: /* MVCLE */
-      *len = 4;
-      return 1;
+      info->saved_regs[S390_F0_REGNUM + i].addr = sigreg_ptr;
+      sigreg_ptr += 8;
+    }
 
-    case 0xeb:
+  /* If we have them, the GPR upper halves are appended at the end.  */
+  sigreg_ptr += sigreg_high_off;
+  if (tdep->gpr_full_regnum != -1)
+    for (i = 0; i < 16; i++)
       {
-        insn = read_memory_integer (loc + 4, 2, byte_order);
-        if ((insn & 0xff) == 0x8e)
-          {
-            /* MVCLU */
-            *len = 6;
-            return 1;
-          }
+	info->saved_regs[S390_R0_UPPER_REGNUM + i].addr = sigreg_ptr;
+	sigreg_ptr += 4;
       }
-      break;
-    }
 
-  switch (insn)
-    {
-    case 0xb255: /* MVST */
-    case 0xb263: /* CMPSC */
-    case 0xb2a5: /* TRE */
-    case 0xb2a6: /* CU21 */
-    case 0xb2a7: /* CU12 */
-    case 0xb9b0: /* CU14 */
-    case 0xb9b1: /* CU24 */
-    case 0xb9b2: /* CU41 */
-    case 0xb9b3: /* CU42 */
-    case 0xb92a: /* KMF */
-    case 0xb92b: /* KMO */
-    case 0xb92f: /* KMC */
-    case 0xb92d: /* KMCTR */
-    case 0xb92e: /* KM */
-    case 0xb93c: /* PPNO */
-    case 0xb990: /* TRTT */
-    case 0xb991: /* TRTO */
-    case 0xb992: /* TROT */
-    case 0xb993: /* TROO */
-      *len = 4;
-      return 1;
-    }
+  /* Restore the previous frame's SP.  */
+  prev_sp = read_memory_unsigned_integer (
+			info->saved_regs[S390_SP_REGNUM].addr,
+			word_size, byte_order);
 
-  return 0;
+  /* Determine our frame base.  */
+  info->frame_base = prev_sp + 16*word_size + 32;
+
+  return info;
 }
 
-/* Implement the "software_single_step" gdbarch method, needed to single step
-   through instructions like MVCLE in record mode, to make sure they are
-   executed to completion.  Without that, record will save the full length
-   of destination buffer on every iteration, even though the CPU will only
-   process about 4kiB of it each time, leading to O(n**2) memory and time
-   complexity.  */
+/* Implement this_id frame_unwind method for s390_sigtramp_frame_unwind.  */
 
-static std::vector<CORE_ADDR>
-s390_software_single_step (struct regcache *regcache)
+static void
+s390_sigtramp_frame_this_id (struct frame_info *this_frame,
+			     void **this_prologue_cache,
+			     struct frame_id *this_id)
 {
-  struct gdbarch *gdbarch = regcache->arch ();
-  CORE_ADDR loc = regcache_read_pc (regcache);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  int len;
-  uint16_t insn;
+  struct s390_sigtramp_unwind_cache *info
+    = s390_sigtramp_frame_unwind_cache (this_frame, this_prologue_cache);
+  *this_id = frame_id_build (info->frame_base, get_frame_pc (this_frame));
+}
 
-  /* Special handling only if recording.  */
-  if (!record_full_is_used ())
-    return {};
+/* Implement prev_register frame_unwind method for sigtramp frames.  */
 
-  /* First, match a partial instruction.  */
-  if (!s390_is_partial_instruction (gdbarch, loc, &len))
-    return {};
+static struct value *
+s390_sigtramp_frame_prev_register (struct frame_info *this_frame,
+				   void **this_prologue_cache, int regnum)
+{
+  struct s390_sigtramp_unwind_cache *info
+    = s390_sigtramp_frame_unwind_cache (this_frame, this_prologue_cache);
+  return s390_trad_frame_prev_register (this_frame, info->saved_regs, regnum);
+}
 
-  loc += len;
+/* Implement sniffer frame_unwind method for sigtramp frames.  */
 
-  /* Second, look for a branch back to it.  */
-  insn = read_memory_integer (loc, 2, byte_order);
-  if (insn != 0xa714) /* BRC with mask 1 */
-    return {};
+static int
+s390_sigtramp_frame_sniffer (const struct frame_unwind *self,
+			     struct frame_info *this_frame,
+			     void **this_prologue_cache)
+{
+  CORE_ADDR pc = get_frame_pc (this_frame);
+  bfd_byte sigreturn[2];
 
-  insn = read_memory_integer (loc + 2, 2, byte_order);
-  if (insn != (uint16_t) -(len / 2))
-    return {};
+  if (target_read_memory (pc, sigreturn, 2))
+    return 0;
 
-  loc += 4;
+  if (sigreturn[0] != op_svc)
+    return 0;
 
-  /* Found it, step past the whole thing.  */
-  return {loc};
-}
+  if (sigreturn[1] != 119 /* sigreturn */
+      && sigreturn[1] != 173 /* rt_sigreturn */)
+    return 0;
 
-static int
-s390_displaced_step_hw_singlestep (struct gdbarch *gdbarch,
-				   struct displaced_step_closure *closure)
-{
   return 1;
 }
 
+/* S390 sigtramp frame unwinder.  */
 
-/* Maps for register sets.  */
+static const struct frame_unwind s390_sigtramp_frame_unwind = {
+  SIGTRAMP_FRAME,
+  default_frame_unwind_stop_reason,
+  s390_sigtramp_frame_this_id,
+  s390_sigtramp_frame_prev_register,
+  NULL,
+  s390_sigtramp_frame_sniffer
+};
 
-static const struct regcache_map_entry s390_gregmap[] =
-  {
-    { 1, S390_PSWM_REGNUM },
-    { 1, S390_PSWA_REGNUM },
-    { 16, S390_R0_REGNUM },
-    { 16, S390_A0_REGNUM },
-    { 1, S390_ORIG_R2_REGNUM },
-    { 0 }
-  };
-
-static const struct regcache_map_entry s390_fpregmap[] =
-  {
-    { 1, S390_FPC_REGNUM, 8 },
-    { 16, S390_F0_REGNUM, 8 },
-    { 0 }
-  };
-
-static const struct regcache_map_entry s390_regmap_upper[] =
-  {
-    { 16, S390_R0_UPPER_REGNUM, 4 },
-    { 0 }
-  };
-
-static const struct regcache_map_entry s390_regmap_last_break[] =
-  {
-    { 1, REGCACHE_MAP_SKIP, 4 },
-    { 1, S390_LAST_BREAK_REGNUM, 4 },
-    { 0 }
-  };
-
-static const struct regcache_map_entry s390x_regmap_last_break[] =
-  {
-    { 1, S390_LAST_BREAK_REGNUM, 8 },
-    { 0 }
-  };
-
-static const struct regcache_map_entry s390_regmap_system_call[] =
-  {
-    { 1, S390_SYSTEM_CALL_REGNUM, 4 },
-    { 0 }
-  };
-
-static const struct regcache_map_entry s390_regmap_tdb[] =
-  {
-    { 1, S390_TDB_DWORD0_REGNUM, 8 },
-    { 1, S390_TDB_ABORT_CODE_REGNUM, 8 },
-    { 1, S390_TDB_CONFLICT_TOKEN_REGNUM, 8 },
-    { 1, S390_TDB_ATIA_REGNUM, 8 },
-    { 12, REGCACHE_MAP_SKIP, 8 },
-    { 16, S390_TDB_R0_REGNUM, 8 },
-    { 0 }
-  };
-
-static const struct regcache_map_entry s390_regmap_vxrs_low[] =
-  {
-    { 16, S390_V0_LOWER_REGNUM, 8 },
-    { 0 }
-  };
-
-static const struct regcache_map_entry s390_regmap_vxrs_high[] =
-  {
-    { 16, S390_V16_REGNUM, 16 },
-    { 0 }
-  };
-
-static const struct regcache_map_entry s390_regmap_gs[] =
-  {
-    { 1, REGCACHE_MAP_SKIP, 8 },
-    { 1, S390_GSD_REGNUM, 8 },
-    { 1, S390_GSSM_REGNUM, 8 },
-    { 1, S390_GSEPLA_REGNUM, 8 },
-    { 0 }
-  };
-
-static const struct regcache_map_entry s390_regmap_gsbc[] =
-  {
-    { 1, REGCACHE_MAP_SKIP, 8 },
-    { 1, S390_BC_GSD_REGNUM, 8 },
-    { 1, S390_BC_GSSM_REGNUM, 8 },
-    { 1, S390_BC_GSEPLA_REGNUM, 8 },
-    { 0 }
-  };
+/* Syscall handling.  */
 
+/* Retrieve the syscall number at a ptrace syscall-stop.  Return -1
+   upon error. */
 
-/* Supply the TDB regset.  Like regcache_supply_regset, but invalidate
-   the TDB registers unless the TDB format field is valid.  */
-
-static void
-s390_supply_tdb_regset (const struct regset *regset, struct regcache *regcache,
-		    int regnum, const void *regs, size_t len)
+static LONGEST
+s390_linux_get_syscall_number (struct gdbarch *gdbarch,
+			       thread_info *thread)
 {
-  ULONGEST tdw;
-  enum register_status ret;
-
-  regcache_supply_regset (regset, regcache, regnum, regs, len);
-  ret = regcache_cooked_read_unsigned (regcache, S390_TDB_DWORD0_REGNUM, &tdw);
-  if (ret != REG_VALID || (tdw >> 56) != 1)
-    regcache_supply_regset (regset, regcache, regnum, NULL, len);
-}
-
-const struct regset s390_gregset = {
-  s390_gregmap,
-  regcache_supply_regset,
-  regcache_collect_regset
-};
-
-const struct regset s390_fpregset = {
-  s390_fpregmap,
-  regcache_supply_regset,
-  regcache_collect_regset
-};
-
-static const struct regset s390_upper_regset = {
-  s390_regmap_upper,
-  regcache_supply_regset,
-  regcache_collect_regset
-};
-
-const struct regset s390_last_break_regset = {
-  s390_regmap_last_break,
-  regcache_supply_regset,
-  regcache_collect_regset
-};
-
-const struct regset s390x_last_break_regset = {
-  s390x_regmap_last_break,
-  regcache_supply_regset,
-  regcache_collect_regset
-};
-
-const struct regset s390_system_call_regset = {
-  s390_regmap_system_call,
-  regcache_supply_regset,
-  regcache_collect_regset
-};
+  struct regcache *regs = get_thread_regcache (thread);
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  ULONGEST pc;
+  ULONGEST svc_number = -1;
+  unsigned opcode;
 
-const struct regset s390_tdb_regset = {
-  s390_regmap_tdb,
-  s390_supply_tdb_regset,
-  regcache_collect_regset
-};
+  /* Assume that the PC points after the 2-byte SVC instruction.  We
+     don't currently support SVC via EXECUTE. */
+  regcache_cooked_read_unsigned (regs, tdep->pc_regnum, &pc);
+  pc -= 2;
+  opcode = read_memory_unsigned_integer ((CORE_ADDR) pc, 1, byte_order);
+  if (opcode != op_svc)
+    return -1;
 
-const struct regset s390_vxrs_low_regset = {
-  s390_regmap_vxrs_low,
-  regcache_supply_regset,
-  regcache_collect_regset
-};
+  svc_number = read_memory_unsigned_integer ((CORE_ADDR) pc + 1, 1,
+					     byte_order);
+  if (svc_number == 0)
+    regcache_cooked_read_unsigned (regs, S390_R1_REGNUM, &svc_number);
 
-const struct regset s390_vxrs_high_regset = {
-  s390_regmap_vxrs_high,
-  regcache_supply_regset,
-  regcache_collect_regset
-};
+  return svc_number;
+}
 
-const struct regset s390_gs_regset = {
-  s390_regmap_gs,
-  regcache_supply_regset,
-  regcache_collect_regset
-};
+/* Process record-replay */
 
-const struct regset s390_gsbc_regset = {
-  s390_regmap_gsbc,
-  regcache_supply_regset,
-  regcache_collect_regset
-};
+static struct linux_record_tdep s390_linux_record_tdep;
+static struct linux_record_tdep s390x_linux_record_tdep;
 
-/* Iterate over supported core file register note sections. */
+/* Record all registers but PC register for process-record.  */
 
-static void
-s390_iterate_over_regset_sections (struct gdbarch *gdbarch,
-				   iterate_over_regset_sections_cb *cb,
-				   void *cb_data,
-				   const struct regcache *regcache)
+static int
+s390_all_but_pc_registers_record (struct regcache *regcache)
 {
+  struct gdbarch *gdbarch = regcache->arch ();
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  const int gregset_size = (tdep->abi == ABI_LINUX_S390 ?
-			    s390_sizeof_gregset : s390x_sizeof_gregset);
-
-  cb (".reg", gregset_size, &s390_gregset, NULL, cb_data);
-  cb (".reg2", s390_sizeof_fpregset, &s390_fpregset, NULL, cb_data);
-
-  if (tdep->abi == ABI_LINUX_S390 && tdep->gpr_full_regnum != -1)
-    cb (".reg-s390-high-gprs", 16 * 4, &s390_upper_regset,
-	"s390 GPR upper halves", cb_data);
-
-  if (tdep->have_linux_v1)
-    cb (".reg-s390-last-break", 8,
-	(gdbarch_ptr_bit (gdbarch) == 32
-	 ? &s390_last_break_regset : &s390x_last_break_regset),
-	"s390 last-break address", cb_data);
-
-  if (tdep->have_linux_v2)
-    cb (".reg-s390-system-call", 4, &s390_system_call_regset,
-	"s390 system-call", cb_data);
-
-  /* If regcache is set, we are in "write" (gcore) mode.  In this
-     case, don't iterate over the TDB unless its registers are
-     available.  */
-  if (tdep->have_tdb
-      && (regcache == NULL
-	  || REG_VALID == regcache_register_status (regcache,
-						    S390_TDB_DWORD0_REGNUM)))
-    cb (".reg-s390-tdb", s390_sizeof_tdbregset, &s390_tdb_regset,
-	"s390 TDB", cb_data);
+  int i;
 
-  if (tdep->v0_full_regnum != -1)
+  for (i = 0; i < 16; i++)
     {
-      cb (".reg-s390-vxrs-low", 16 * 8, &s390_vxrs_low_regset,
-	  "s390 vector registers 0-15 lower half", cb_data);
-      cb (".reg-s390-vxrs-high", 16 * 16, &s390_vxrs_high_regset,
-	  "s390 vector registers 16-31", cb_data);
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
+        return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + i))
+        return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + i))
+        return -1;
+      if (tdep->gpr_full_regnum != -1)
+        if (record_full_arch_list_add_reg (regcache, S390_R0_UPPER_REGNUM + i))
+          return -1;
+      if (tdep->v0_full_regnum != -1)
+        {
+          if (record_full_arch_list_add_reg (regcache, S390_V0_LOWER_REGNUM + i))
+            return -1;
+          if (record_full_arch_list_add_reg (regcache, S390_V16_REGNUM + i))
+            return -1;
+        }
     }
+  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+    return -1;
+  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+    return -1;
 
-  /* Iterate over the guarded-storage regsets if in "read" mode, or if
-     their registers are available.  */
-  if (tdep->have_gs)
-    {
-      if (regcache == NULL
-	  || REG_VALID == regcache_register_status (regcache,
-						    S390_GSD_REGNUM))
-	cb (".reg-s390-gs-cb", 4 * 8, &s390_gs_regset,
-	    "s390 guarded-storage registers", cb_data);
-
-      if (regcache == NULL
-	  || REG_VALID == regcache_register_status (regcache,
-						    S390_BC_GSD_REGNUM))
-	cb (".reg-s390-gs-bc", 4 * 8, &s390_gsbc_regset,
-	    "s390 guarded-storage broadcast control", cb_data);
-    }
+  return 0;
 }
 
-static const struct target_desc *
-s390_core_read_description (struct gdbarch *gdbarch,
-			    struct target_ops *target, bfd *abfd)
-{
-  asection *section = bfd_get_section_by_name (abfd, ".reg");
-  CORE_ADDR hwcap = 0;
-  bool high_gprs, v1, v2, te, vx, gs;
-
-  target_auxv_search (target, AT_HWCAP, &hwcap);
-  if (!section)
-    return NULL;
-
-  high_gprs = (bfd_get_section_by_name (abfd, ".reg-s390-high-gprs")
-	       != NULL);
-  v1 = (bfd_get_section_by_name (abfd, ".reg-s390-last-break") != NULL);
-  v2 = (bfd_get_section_by_name (abfd, ".reg-s390-system-call") != NULL);
-  vx = (hwcap & HWCAP_S390_VX);
-  te = (hwcap & HWCAP_S390_TE);
-  gs = (hwcap & HWCAP_S390_GS);
-
-  switch (bfd_section_size (abfd, section))
-    {
-    case s390_sizeof_gregset:
-      if (high_gprs)
-	return (gs ? tdesc_s390_gs_linux64 :
-		te && vx ? tdesc_s390_tevx_linux64 :
-		vx ? tdesc_s390_vx_linux64 :
-		te ? tdesc_s390_te_linux64 :
-		v2 ? tdesc_s390_linux64v2 :
-		v1 ? tdesc_s390_linux64v1 : tdesc_s390_linux64);
-      else
-	return (v2 ? tdesc_s390_linux32v2 :
-		v1 ? tdesc_s390_linux32v1 : tdesc_s390_linux32);
-
-    case s390x_sizeof_gregset:
-      return (gs ? tdesc_s390x_gs_linux64 :
-	      te && vx ? tdesc_s390x_tevx_linux64 :
-	      vx ? tdesc_s390x_vx_linux64 :
-	      te ? tdesc_s390x_te_linux64 :
-	      v2 ? tdesc_s390x_linux64v2 :
-	      v1 ? tdesc_s390x_linux64v1 : tdesc_s390x_linux64);
-
-    default:
-      return NULL;
-    }
-}
-
-
-/* Decoding S/390 instructions.  */
-
-/* Named opcode values for the S/390 instructions we recognize.  Some
-   instructions have their opcode split across two fields; those are the
-   op1_* and op2_* enums.  */
-enum
-  {
-    op1_lhi  = 0xa7,   op2_lhi  = 0x08,
-    op1_lghi = 0xa7,   op2_lghi = 0x09,
-    op1_lgfi = 0xc0,   op2_lgfi = 0x01,
-    op_lr    = 0x18,
-    op_lgr   = 0xb904,
-    op_l     = 0x58,
-    op1_ly   = 0xe3,   op2_ly   = 0x58,
-    op1_lg   = 0xe3,   op2_lg   = 0x04,
-    op_lm    = 0x98,
-    op1_lmy  = 0xeb,   op2_lmy  = 0x98,
-    op1_lmg  = 0xeb,   op2_lmg  = 0x04,
-    op_st    = 0x50,
-    op1_sty  = 0xe3,   op2_sty  = 0x50,
-    op1_stg  = 0xe3,   op2_stg  = 0x24,
-    op_std   = 0x60,
-    op_stm   = 0x90,
-    op1_stmy = 0xeb,   op2_stmy = 0x90,
-    op1_stmg = 0xeb,   op2_stmg = 0x24,
-    op1_aghi = 0xa7,   op2_aghi = 0x0b,
-    op1_ahi  = 0xa7,   op2_ahi  = 0x0a,
-    op1_agfi = 0xc2,   op2_agfi = 0x08,
-    op1_afi  = 0xc2,   op2_afi  = 0x09,
-    op1_algfi= 0xc2,   op2_algfi= 0x0a,
-    op1_alfi = 0xc2,   op2_alfi = 0x0b,
-    op_ar    = 0x1a,
-    op_agr   = 0xb908,
-    op_a     = 0x5a,
-    op1_ay   = 0xe3,   op2_ay   = 0x5a,
-    op1_ag   = 0xe3,   op2_ag   = 0x08,
-    op1_slgfi= 0xc2,   op2_slgfi= 0x04,
-    op1_slfi = 0xc2,   op2_slfi = 0x05,
-    op_sr    = 0x1b,
-    op_sgr   = 0xb909,
-    op_s     = 0x5b,
-    op1_sy   = 0xe3,   op2_sy   = 0x5b,
-    op1_sg   = 0xe3,   op2_sg   = 0x09,
-    op_nr    = 0x14,
-    op_ngr   = 0xb980,
-    op_la    = 0x41,
-    op1_lay  = 0xe3,   op2_lay  = 0x71,
-    op1_larl = 0xc0,   op2_larl = 0x00,
-    op_basr  = 0x0d,
-    op_bas   = 0x4d,
-    op_bcr   = 0x07,
-    op_bc    = 0x0d,
-    op_bctr  = 0x06,
-    op_bctgr = 0xb946,
-    op_bct   = 0x46,
-    op1_bctg = 0xe3,   op2_bctg = 0x46,
-    op_bxh   = 0x86,
-    op1_bxhg = 0xeb,   op2_bxhg = 0x44,
-    op_bxle  = 0x87,
-    op1_bxleg= 0xeb,   op2_bxleg= 0x45,
-    op1_bras = 0xa7,   op2_bras = 0x05,
-    op1_brasl= 0xc0,   op2_brasl= 0x05,
-    op1_brc  = 0xa7,   op2_brc  = 0x04,
-    op1_brcl = 0xc0,   op2_brcl = 0x04,
-    op1_brct = 0xa7,   op2_brct = 0x06,
-    op1_brctg= 0xa7,   op2_brctg= 0x07,
-    op_brxh  = 0x84,
-    op1_brxhg= 0xec,   op2_brxhg= 0x44,
-    op_brxle = 0x85,
-    op1_brxlg= 0xec,   op2_brxlg= 0x45,
-    op_svc   = 0x0a,
-  };
-
-
-/* Read a single instruction from address AT.  */
-
-#define S390_MAX_INSTR_SIZE 6
-static int
-s390_readinstruction (bfd_byte instr[], CORE_ADDR at)
-{
-  static int s390_instrlen[] = { 2, 4, 4, 6 };
-  int instrlen;
-
-  if (target_read_memory (at, &instr[0], 2))
-    return -1;
-  instrlen = s390_instrlen[instr[0] >> 6];
-  if (instrlen > 2)
-    {
-      if (target_read_memory (at + 2, &instr[2], instrlen - 2))
-	return -1;
-    }
-  return instrlen;
-}
-
-
-/* The functions below are for recognizing and decoding S/390
-   instructions of various formats.  Each of them checks whether INSN
-   is an instruction of the given format, with the specified opcodes.
-   If it is, it sets the remaining arguments to the values of the
-   instruction's fields, and returns a non-zero value; otherwise, it
-   returns zero.
-
-   These functions' arguments appear in the order they appear in the
-   instruction, not in the machine-language form.  So, opcodes always
-   come first, even though they're sometimes scattered around the
-   instructions.  And displacements appear before base and extension
-   registers, as they do in the assembly syntax, not at the end, as
-   they do in the machine language.  */
-static int
-is_ri (bfd_byte *insn, int op1, int op2, unsigned int *r1, int *i2)
-{
-  if (insn[0] == op1 && (insn[1] & 0xf) == op2)
-    {
-      *r1 = (insn[1] >> 4) & 0xf;
-      /* i2 is a 16-bit signed quantity.  */
-      *i2 = (((insn[2] << 8) | insn[3]) ^ 0x8000) - 0x8000;
-      return 1;
-    }
-  else
-    return 0;
-}
-
-
-static int
-is_ril (bfd_byte *insn, int op1, int op2,
-	unsigned int *r1, int *i2)
-{
-  if (insn[0] == op1 && (insn[1] & 0xf) == op2)
-    {
-      *r1 = (insn[1] >> 4) & 0xf;
-      /* i2 is a signed quantity.  If the host 'int' is 32 bits long,
-	 no sign extension is necessary, but we don't want to assume
-	 that.  */
-      *i2 = (((insn[2] << 24)
-	      | (insn[3] << 16)
-	      | (insn[4] << 8)
-	      | (insn[5])) ^ 0x80000000) - 0x80000000;
-      return 1;
-    }
-  else
-    return 0;
-}
-
-
-static int
-is_rr (bfd_byte *insn, int op, unsigned int *r1, unsigned int *r2)
-{
-  if (insn[0] == op)
-    {
-      *r1 = (insn[1] >> 4) & 0xf;
-      *r2 = insn[1] & 0xf;
-      return 1;
-    }
-  else
-    return 0;
-}
-
-
-static int
-is_rre (bfd_byte *insn, int op, unsigned int *r1, unsigned int *r2)
-{
-  if (((insn[0] << 8) | insn[1]) == op)
-    {
-      /* Yes, insn[3].  insn[2] is unused in RRE format.  */
-      *r1 = (insn[3] >> 4) & 0xf;
-      *r2 = insn[3] & 0xf;
-      return 1;
-    }
-  else
-    return 0;
-}
-
-
-static int
-is_rs (bfd_byte *insn, int op,
-       unsigned int *r1, unsigned int *r3, int *d2, unsigned int *b2)
-{
-  if (insn[0] == op)
-    {
-      *r1 = (insn[1] >> 4) & 0xf;
-      *r3 = insn[1] & 0xf;
-      *b2 = (insn[2] >> 4) & 0xf;
-      *d2 = ((insn[2] & 0xf) << 8) | insn[3];
-      return 1;
-    }
-  else
-    return 0;
-}
-
-
-static int
-is_rsy (bfd_byte *insn, int op1, int op2,
-	unsigned int *r1, unsigned int *r3, int *d2, unsigned int *b2)
-{
-  if (insn[0] == op1
-      && insn[5] == op2)
-    {
-      *r1 = (insn[1] >> 4) & 0xf;
-      *r3 = insn[1] & 0xf;
-      *b2 = (insn[2] >> 4) & 0xf;
-      /* The 'long displacement' is a 20-bit signed integer.  */
-      *d2 = ((((insn[2] & 0xf) << 8) | insn[3] | (insn[4] << 12))
-		^ 0x80000) - 0x80000;
-      return 1;
-    }
-  else
-    return 0;
-}
-
-
-static int
-is_rx (bfd_byte *insn, int op,
-       unsigned int *r1, int *d2, unsigned int *x2, unsigned int *b2)
-{
-  if (insn[0] == op)
-    {
-      *r1 = (insn[1] >> 4) & 0xf;
-      *x2 = insn[1] & 0xf;
-      *b2 = (insn[2] >> 4) & 0xf;
-      *d2 = ((insn[2] & 0xf) << 8) | insn[3];
-      return 1;
-    }
-  else
-    return 0;
-}
-
-
-static int
-is_rxy (bfd_byte *insn, int op1, int op2,
-	unsigned int *r1, int *d2, unsigned int *x2, unsigned int *b2)
-{
-  if (insn[0] == op1
-      && insn[5] == op2)
-    {
-      *r1 = (insn[1] >> 4) & 0xf;
-      *x2 = insn[1] & 0xf;
-      *b2 = (insn[2] >> 4) & 0xf;
-      /* The 'long displacement' is a 20-bit signed integer.  */
-      *d2 = ((((insn[2] & 0xf) << 8) | insn[3] | (insn[4] << 12))
-		^ 0x80000) - 0x80000;
-      return 1;
-    }
-  else
-    return 0;
-}
-
-
-/* Prologue analysis.  */
-
-#define S390_NUM_GPRS 16
-#define S390_NUM_FPRS 16
-
-struct s390_prologue_data {
-
-  /* The stack.  */
-  struct pv_area *stack;
-
-  /* The size and byte-order of a GPR or FPR.  */
-  int gpr_size;
-  int fpr_size;
-  enum bfd_endian byte_order;
-
-  /* The general-purpose registers.  */
-  pv_t gpr[S390_NUM_GPRS];
-
-  /* The floating-point registers.  */
-  pv_t fpr[S390_NUM_FPRS];
-
-  /* The offset relative to the CFA where the incoming GPR N was saved
-     by the function prologue.  0 if not saved or unknown.  */
-  int gpr_slot[S390_NUM_GPRS];
-
-  /* Likewise for FPRs.  */
-  int fpr_slot[S390_NUM_FPRS];
-
-  /* Nonzero if the backchain was saved.  This is assumed to be the
-     case when the incoming SP is saved at the current SP location.  */
-  int back_chain_saved_p;
-};
-
-/* Return the effective address for an X-style instruction, like:
-
-	L R1, D2(X2, B2)
-
-   Here, X2 and B2 are registers, and D2 is a signed 20-bit
-   constant; the effective address is the sum of all three.  If either
-   X2 or B2 are zero, then it doesn't contribute to the sum --- this
-   means that r0 can't be used as either X2 or B2.  */
-static pv_t
-s390_addr (struct s390_prologue_data *data,
-	   int d2, unsigned int x2, unsigned int b2)
-{
-  pv_t result;
-
-  result = pv_constant (d2);
-  if (x2)
-    result = pv_add (result, data->gpr[x2]);
-  if (b2)
-    result = pv_add (result, data->gpr[b2]);
-
-  return result;
-}
-
-/* Do a SIZE-byte store of VALUE to D2(X2,B2).  */
-static void
-s390_store (struct s390_prologue_data *data,
-	    int d2, unsigned int x2, unsigned int b2, CORE_ADDR size,
-	    pv_t value)
-{
-  pv_t addr = s390_addr (data, d2, x2, b2);
-  pv_t offset;
-
-  /* Check whether we are storing the backchain.  */
-  offset = pv_subtract (data->gpr[S390_SP_REGNUM - S390_R0_REGNUM], addr);
-
-  if (pv_is_constant (offset) && offset.k == 0)
-    if (size == data->gpr_size
-	&& pv_is_register_k (value, S390_SP_REGNUM, 0))
-      {
-	data->back_chain_saved_p = 1;
-	return;
-      }
-
-
-  /* Check whether we are storing a register into the stack.  */
-  if (!data->stack->store_would_trash (addr))
-    data->stack->store (addr, size, value);
-
-
-  /* Note: If this is some store we cannot identify, you might think we
-     should forget our cached values, as any of those might have been hit.
-
-     However, we make the assumption that the register save areas are only
-     ever stored to once in any given function, and we do recognize these
-     stores.  Thus every store we cannot recognize does not hit our data.  */
-}
-
-/* Do a SIZE-byte load from D2(X2,B2).  */
-static pv_t
-s390_load (struct s390_prologue_data *data,
-	   int d2, unsigned int x2, unsigned int b2, CORE_ADDR size)
-
-{
-  pv_t addr = s390_addr (data, d2, x2, b2);
-
-  /* If it's a load from an in-line constant pool, then we can
-     simulate that, under the assumption that the code isn't
-     going to change between the time the processor actually
-     executed it creating the current frame, and the time when
-     we're analyzing the code to unwind past that frame.  */
-  if (pv_is_constant (addr))
-    {
-      struct target_section *secp;
-      secp = target_section_by_addr (&current_target, addr.k);
-      if (secp != NULL
-	  && (bfd_get_section_flags (secp->the_bfd_section->owner,
-				     secp->the_bfd_section)
-	      & SEC_READONLY))
-	return pv_constant (read_memory_integer (addr.k, size,
-						 data->byte_order));
-    }
-
-  /* Check whether we are accessing one of our save slots.  */
-  return data->stack->fetch (addr, size);
-}
-
-/* Function for finding saved registers in a 'struct pv_area'; we pass
-   this to pv_area::scan.
-
-   If VALUE is a saved register, ADDR says it was saved at a constant
-   offset from the frame base, and SIZE indicates that the whole
-   register was saved, record its offset in the reg_offset table in
-   PROLOGUE_UNTYPED.  */
-static void
-s390_check_for_saved (void *data_untyped, pv_t addr,
-		      CORE_ADDR size, pv_t value)
-{
-  struct s390_prologue_data *data = (struct s390_prologue_data *) data_untyped;
-  int i, offset;
-
-  if (!pv_is_register (addr, S390_SP_REGNUM))
-    return;
-
-  offset = 16 * data->gpr_size + 32 - addr.k;
-
-  /* If we are storing the original value of a register, we want to
-     record the CFA offset.  If the same register is stored multiple
-     times, the stack slot with the highest address counts.  */
-
-  for (i = 0; i < S390_NUM_GPRS; i++)
-    if (size == data->gpr_size
-	&& pv_is_register_k (value, S390_R0_REGNUM + i, 0))
-      if (data->gpr_slot[i] == 0
-	  || data->gpr_slot[i] > offset)
-	{
-	  data->gpr_slot[i] = offset;
-	  return;
-	}
-
-  for (i = 0; i < S390_NUM_FPRS; i++)
-    if (size == data->fpr_size
-	&& pv_is_register_k (value, S390_F0_REGNUM + i, 0))
-      if (data->fpr_slot[i] == 0
-	  || data->fpr_slot[i] > offset)
-	{
-	  data->fpr_slot[i] = offset;
-	  return;
-	}
-}
-
-/* Analyze the prologue of the function starting at START_PC,
-   continuing at most until CURRENT_PC.  Initialize DATA to
-   hold all information we find out about the state of the registers
-   and stack slots.  Return the address of the instruction after
-   the last one that changed the SP, FP, or back chain; or zero
-   on error.  */
-static CORE_ADDR
-s390_analyze_prologue (struct gdbarch *gdbarch,
-		       CORE_ADDR start_pc,
-		       CORE_ADDR current_pc,
-		       struct s390_prologue_data *data)
-{
-  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
-
-  /* Our return value:
-     The address of the instruction after the last one that changed
-     the SP, FP, or back chain;  zero if we got an error trying to
-     read memory.  */
-  CORE_ADDR result = start_pc;
-
-  /* The current PC for our abstract interpretation.  */
-  CORE_ADDR pc;
-
-  /* The address of the next instruction after that.  */
-  CORE_ADDR next_pc;
-
-  pv_area stack (S390_SP_REGNUM, gdbarch_addr_bit (gdbarch));
-  scoped_restore restore_stack = make_scoped_restore (&data->stack, &stack);
-
-  /* Set up everything's initial value.  */
-  {
-    int i;
-
-    /* For the purpose of prologue tracking, we consider the GPR size to
-       be equal to the ABI word size, even if it is actually larger
-       (i.e. when running a 32-bit binary under a 64-bit kernel).  */
-    data->gpr_size = word_size;
-    data->fpr_size = 8;
-    data->byte_order = gdbarch_byte_order (gdbarch);
-
-    for (i = 0; i < S390_NUM_GPRS; i++)
-      data->gpr[i] = pv_register (S390_R0_REGNUM + i, 0);
-
-    for (i = 0; i < S390_NUM_FPRS; i++)
-      data->fpr[i] = pv_register (S390_F0_REGNUM + i, 0);
-
-    for (i = 0; i < S390_NUM_GPRS; i++)
-      data->gpr_slot[i]  = 0;
+/* Canonicalize system call SYSCALL belonging to ABI.  Helper for
+   s390_linux_syscall_record.  */
 
-    for (i = 0; i < S390_NUM_FPRS; i++)
-      data->fpr_slot[i]  = 0;
-
-    data->back_chain_saved_p = 0;
-  }
-
-  /* Start interpreting instructions, until we hit the frame's
-     current PC or the first branch instruction.  */
-  for (pc = start_pc; pc > 0 && pc < current_pc; pc = next_pc)
-    {
-      bfd_byte insn[S390_MAX_INSTR_SIZE];
-      int insn_len = s390_readinstruction (insn, pc);
-
-      bfd_byte dummy[S390_MAX_INSTR_SIZE] = { 0 };
-      bfd_byte *insn32 = word_size == 4 ? insn : dummy;
-      bfd_byte *insn64 = word_size == 8 ? insn : dummy;
-
-      /* Fields for various kinds of instructions.  */
-      unsigned int b2, r1, r2, x2, r3;
-      int i2, d2;
-
-      /* The values of SP and FP before this instruction,
-	 for detecting instructions that change them.  */
-      pv_t pre_insn_sp, pre_insn_fp;
-      /* Likewise for the flag whether the back chain was saved.  */
-      int pre_insn_back_chain_saved_p;
-
-      /* If we got an error trying to read the instruction, report it.  */
-      if (insn_len < 0)
-	{
-	  result = 0;
-	  break;
-	}
-
-      next_pc = pc + insn_len;
-
-      pre_insn_sp = data->gpr[S390_SP_REGNUM - S390_R0_REGNUM];
-      pre_insn_fp = data->gpr[S390_FRAME_REGNUM - S390_R0_REGNUM];
-      pre_insn_back_chain_saved_p = data->back_chain_saved_p;
-
-
-      /* LHI r1, i2 --- load halfword immediate.  */
-      /* LGHI r1, i2 --- load halfword immediate (64-bit version).  */
-      /* LGFI r1, i2 --- load fullword immediate.  */
-      if (is_ri (insn32, op1_lhi, op2_lhi, &r1, &i2)
-	  || is_ri (insn64, op1_lghi, op2_lghi, &r1, &i2)
-	  || is_ril (insn, op1_lgfi, op2_lgfi, &r1, &i2))
-	data->gpr[r1] = pv_constant (i2);
-
-      /* LR r1, r2 --- load from register.  */
-      /* LGR r1, r2 --- load from register (64-bit version).  */
-      else if (is_rr (insn32, op_lr, &r1, &r2)
-	       || is_rre (insn64, op_lgr, &r1, &r2))
-	data->gpr[r1] = data->gpr[r2];
-
-      /* L r1, d2(x2, b2) --- load.  */
-      /* LY r1, d2(x2, b2) --- load (long-displacement version).  */
-      /* LG r1, d2(x2, b2) --- load (64-bit version).  */
-      else if (is_rx (insn32, op_l, &r1, &d2, &x2, &b2)
-	       || is_rxy (insn32, op1_ly, op2_ly, &r1, &d2, &x2, &b2)
-	       || is_rxy (insn64, op1_lg, op2_lg, &r1, &d2, &x2, &b2))
-	data->gpr[r1] = s390_load (data, d2, x2, b2, data->gpr_size);
-
-      /* ST r1, d2(x2, b2) --- store.  */
-      /* STY r1, d2(x2, b2) --- store (long-displacement version).  */
-      /* STG r1, d2(x2, b2) --- store (64-bit version).  */
-      else if (is_rx (insn32, op_st, &r1, &d2, &x2, &b2)
-	       || is_rxy (insn32, op1_sty, op2_sty, &r1, &d2, &x2, &b2)
-	       || is_rxy (insn64, op1_stg, op2_stg, &r1, &d2, &x2, &b2))
-	s390_store (data, d2, x2, b2, data->gpr_size, data->gpr[r1]);
-
-      /* STD r1, d2(x2,b2) --- store floating-point register.  */
-      else if (is_rx (insn, op_std, &r1, &d2, &x2, &b2))
-	s390_store (data, d2, x2, b2, data->fpr_size, data->fpr[r1]);
-
-      /* STM r1, r3, d2(b2) --- store multiple.  */
-      /* STMY r1, r3, d2(b2) --- store multiple (long-displacement
-	 version).  */
-      /* STMG r1, r3, d2(b2) --- store multiple (64-bit version).  */
-      else if (is_rs (insn32, op_stm, &r1, &r3, &d2, &b2)
-	       || is_rsy (insn32, op1_stmy, op2_stmy, &r1, &r3, &d2, &b2)
-	       || is_rsy (insn64, op1_stmg, op2_stmg, &r1, &r3, &d2, &b2))
-	{
-	  for (; r1 <= r3; r1++, d2 += data->gpr_size)
-	    s390_store (data, d2, 0, b2, data->gpr_size, data->gpr[r1]);
-	}
-
-      /* AHI r1, i2 --- add halfword immediate.  */
-      /* AGHI r1, i2 --- add halfword immediate (64-bit version).  */
-      /* AFI r1, i2 --- add fullword immediate.  */
-      /* AGFI r1, i2 --- add fullword immediate (64-bit version).  */
-      else if (is_ri (insn32, op1_ahi, op2_ahi, &r1, &i2)
-	       || is_ri (insn64, op1_aghi, op2_aghi, &r1, &i2)
-	       || is_ril (insn32, op1_afi, op2_afi, &r1, &i2)
-	       || is_ril (insn64, op1_agfi, op2_agfi, &r1, &i2))
-	data->gpr[r1] = pv_add_constant (data->gpr[r1], i2);
-
-      /* ALFI r1, i2 --- add logical immediate.  */
-      /* ALGFI r1, i2 --- add logical immediate (64-bit version).  */
-      else if (is_ril (insn32, op1_alfi, op2_alfi, &r1, &i2)
-	       || is_ril (insn64, op1_algfi, op2_algfi, &r1, &i2))
-	data->gpr[r1] = pv_add_constant (data->gpr[r1],
-					 (CORE_ADDR)i2 & 0xffffffff);
-
-      /* AR r1, r2 -- add register.  */
-      /* AGR r1, r2 -- add register (64-bit version).  */
-      else if (is_rr (insn32, op_ar, &r1, &r2)
-	       || is_rre (insn64, op_agr, &r1, &r2))
-	data->gpr[r1] = pv_add (data->gpr[r1], data->gpr[r2]);
-
-      /* A r1, d2(x2, b2) -- add.  */
-      /* AY r1, d2(x2, b2) -- add (long-displacement version).  */
-      /* AG r1, d2(x2, b2) -- add (64-bit version).  */
-      else if (is_rx (insn32, op_a, &r1, &d2, &x2, &b2)
-	       || is_rxy (insn32, op1_ay, op2_ay, &r1, &d2, &x2, &b2)
-	       || is_rxy (insn64, op1_ag, op2_ag, &r1, &d2, &x2, &b2))
-	data->gpr[r1] = pv_add (data->gpr[r1],
-				s390_load (data, d2, x2, b2, data->gpr_size));
-
-      /* SLFI r1, i2 --- subtract logical immediate.  */
-      /* SLGFI r1, i2 --- subtract logical immediate (64-bit version).  */
-      else if (is_ril (insn32, op1_slfi, op2_slfi, &r1, &i2)
-	       || is_ril (insn64, op1_slgfi, op2_slgfi, &r1, &i2))
-	data->gpr[r1] = pv_add_constant (data->gpr[r1],
-					 -((CORE_ADDR)i2 & 0xffffffff));
-
-      /* SR r1, r2 -- subtract register.  */
-      /* SGR r1, r2 -- subtract register (64-bit version).  */
-      else if (is_rr (insn32, op_sr, &r1, &r2)
-	       || is_rre (insn64, op_sgr, &r1, &r2))
-	data->gpr[r1] = pv_subtract (data->gpr[r1], data->gpr[r2]);
-
-      /* S r1, d2(x2, b2) -- subtract.  */
-      /* SY r1, d2(x2, b2) -- subtract (long-displacement version).  */
-      /* SG r1, d2(x2, b2) -- subtract (64-bit version).  */
-      else if (is_rx (insn32, op_s, &r1, &d2, &x2, &b2)
-	       || is_rxy (insn32, op1_sy, op2_sy, &r1, &d2, &x2, &b2)
-	       || is_rxy (insn64, op1_sg, op2_sg, &r1, &d2, &x2, &b2))
-	data->gpr[r1] = pv_subtract (data->gpr[r1],
-				s390_load (data, d2, x2, b2, data->gpr_size));
-
-      /* LA r1, d2(x2, b2) --- load address.  */
-      /* LAY r1, d2(x2, b2) --- load address (long-displacement version).  */
-      else if (is_rx (insn, op_la, &r1, &d2, &x2, &b2)
-	       || is_rxy (insn, op1_lay, op2_lay, &r1, &d2, &x2, &b2))
-	data->gpr[r1] = s390_addr (data, d2, x2, b2);
-
-      /* LARL r1, i2 --- load address relative long.  */
-      else if (is_ril (insn, op1_larl, op2_larl, &r1, &i2))
-	data->gpr[r1] = pv_constant (pc + i2 * 2);
-
-      /* BASR r1, 0 --- branch and save.
-	 Since r2 is zero, this saves the PC in r1, but doesn't branch.  */
-      else if (is_rr (insn, op_basr, &r1, &r2)
-	       && r2 == 0)
-	data->gpr[r1] = pv_constant (next_pc);
-
-      /* BRAS r1, i2 --- branch relative and save.  */
-      else if (is_ri (insn, op1_bras, op2_bras, &r1, &i2))
-	{
-	  data->gpr[r1] = pv_constant (next_pc);
-	  next_pc = pc + i2 * 2;
-
-	  /* We'd better not interpret any backward branches.  We'll
-	     never terminate.  */
-	  if (next_pc <= pc)
-	    break;
-	}
-
-      /* BRC/BRCL -- branch relative on condition.  Ignore "branch
-	 never", branch to following instruction, and "conditional
-	 trap" (BRC +2).  Otherwise terminate search.  */
-      else if (is_ri (insn, op1_brc, op2_brc, &r1, &i2))
-	{
-	  if (r1 != 0 && i2 != 1 && i2 != 2)
-	    break;
-	}
-      else if (is_ril (insn, op1_brcl, op2_brcl, &r1, &i2))
-	{
-	  if (r1 != 0 && i2 != 3)
-	    break;
-	}
-
-      /* Terminate search when hitting any other branch instruction.  */
-      else if (is_rr (insn, op_basr, &r1, &r2)
-	       || is_rx (insn, op_bas, &r1, &d2, &x2, &b2)
-	       || is_rr (insn, op_bcr, &r1, &r2)
-	       || is_rx (insn, op_bc, &r1, &d2, &x2, &b2)
-	       || is_ril (insn, op1_brasl, op2_brasl, &r2, &i2))
-	break;
-
-      else
-	{
-	  /* An instruction we don't know how to simulate.  The only
-	     safe thing to do would be to set every value we're tracking
-	     to 'unknown'.  Instead, we'll be optimistic: we assume that
-	     we *can* interpret every instruction that the compiler uses
-	     to manipulate any of the data we're interested in here --
-	     then we can just ignore anything else.  */
-	}
-
-      /* Record the address after the last instruction that changed
-	 the FP, SP, or backlink.  Ignore instructions that changed
-	 them back to their original values --- those are probably
-	 restore instructions.  (The back chain is never restored,
-	 just popped.)  */
-      {
-	pv_t sp = data->gpr[S390_SP_REGNUM - S390_R0_REGNUM];
-	pv_t fp = data->gpr[S390_FRAME_REGNUM - S390_R0_REGNUM];
-
-	if ((! pv_is_identical (pre_insn_sp, sp)
-	     && ! pv_is_register_k (sp, S390_SP_REGNUM, 0)
-	     && sp.kind != pvk_unknown)
-	    || (! pv_is_identical (pre_insn_fp, fp)
-		&& ! pv_is_register_k (fp, S390_FRAME_REGNUM, 0)
-		&& fp.kind != pvk_unknown)
-	    || pre_insn_back_chain_saved_p != data->back_chain_saved_p)
-	  result = next_pc;
-      }
-    }
-
-  /* Record where all the registers were saved.  */
-  data->stack->scan (s390_check_for_saved, data);
-
-  return result;
-}
-
-/* Advance PC across any function entry prologue instructions to reach
-   some "real" code.  */
-static CORE_ADDR
-s390_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
-{
-  struct s390_prologue_data data;
-  CORE_ADDR skip_pc, func_addr;
-
-  if (find_pc_partial_function (pc, NULL, &func_addr, NULL))
-    {
-      CORE_ADDR post_prologue_pc
-	= skip_prologue_using_sal (gdbarch, func_addr);
-      if (post_prologue_pc != 0)
-	return std::max (pc, post_prologue_pc);
-    }
-
-  skip_pc = s390_analyze_prologue (gdbarch, pc, (CORE_ADDR)-1, &data);
-  return skip_pc ? skip_pc : pc;
-}
-
-/* Implmement the stack_frame_destroyed_p gdbarch method.  */
-static int
-s390_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
-{
-  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
-
-  /* In frameless functions, there's not frame to destroy and thus
-     we don't care about the epilogue.
-
-     In functions with frame, the epilogue sequence is a pair of
-     a LM-type instruction that restores (amongst others) the
-     return register %r14 and the stack pointer %r15, followed
-     by a branch 'br %r14' --or equivalent-- that effects the
-     actual return.
-
-     In that situation, this function needs to return 'true' in
-     exactly one case: when pc points to that branch instruction.
-
-     Thus we try to disassemble the one instructions immediately
-     preceding pc and check whether it is an LM-type instruction
-     modifying the stack pointer.
-
-     Note that disassembling backwards is not reliable, so there
-     is a slight chance of false positives here ...  */
-
-  bfd_byte insn[6];
-  unsigned int r1, r3, b2;
-  int d2;
-
-  if (word_size == 4
-      && !target_read_memory (pc - 4, insn, 4)
-      && is_rs (insn, op_lm, &r1, &r3, &d2, &b2)
-      && r3 == S390_SP_REGNUM - S390_R0_REGNUM)
-    return 1;
-
-  if (word_size == 4
-      && !target_read_memory (pc - 6, insn, 6)
-      && is_rsy (insn, op1_lmy, op2_lmy, &r1, &r3, &d2, &b2)
-      && r3 == S390_SP_REGNUM - S390_R0_REGNUM)
-    return 1;
-
-  if (word_size == 8
-      && !target_read_memory (pc - 6, insn, 6)
-      && is_rsy (insn, op1_lmg, op2_lmg, &r1, &r3, &d2, &b2)
-      && r3 == S390_SP_REGNUM - S390_R0_REGNUM)
-    return 1;
-
-  return 0;
-}
-
-/* Displaced stepping.  */
-
-/* Return true if INSN is a non-branch RIL-b or RIL-c format
-   instruction.  */
-
-static int
-is_non_branch_ril (gdb_byte *insn)
-{
-  gdb_byte op1 = insn[0];
-
-  if (op1 == 0xc4)
-    {
-      gdb_byte op2 = insn[1] & 0x0f;
-
-      switch (op2)
-	{
-	case 0x02: /* llhrl */
-	case 0x04: /* lghrl */
-	case 0x05: /* lhrl */
-	case 0x06: /* llghrl */
-	case 0x07: /* sthrl */
-	case 0x08: /* lgrl */
-	case 0x0b: /* stgrl */
-	case 0x0c: /* lgfrl */
-	case 0x0d: /* lrl */
-	case 0x0e: /* llgfrl */
-	case 0x0f: /* strl */
-	  return 1;
-	}
-    }
-  else if (op1 == 0xc6)
-    {
-      gdb_byte op2 = insn[1] & 0x0f;
-
-      switch (op2)
-	{
-	case 0x00: /* exrl */
-	case 0x02: /* pfdrl */
-	case 0x04: /* cghrl */
-	case 0x05: /* chrl */
-	case 0x06: /* clghrl */
-	case 0x07: /* clhrl */
-	case 0x08: /* cgrl */
-	case 0x0a: /* clgrl */
-	case 0x0c: /* cgfrl */
-	case 0x0d: /* crl */
-	case 0x0e: /* clgfrl */
-	case 0x0f: /* clrl */
-	  return 1;
-	}
-    }
-
-  return 0;
-}
-
-typedef buf_displaced_step_closure s390_displaced_step_closure;
-
-/* Implementation of gdbarch_displaced_step_copy_insn.  */
-
-static struct displaced_step_closure *
-s390_displaced_step_copy_insn (struct gdbarch *gdbarch,
-			       CORE_ADDR from, CORE_ADDR to,
-			       struct regcache *regs)
+static enum gdb_syscall
+s390_canonicalize_syscall (int syscall, enum s390_abi_kind abi)
 {
-  size_t len = gdbarch_max_insn_length (gdbarch);
-  std::unique_ptr<s390_displaced_step_closure> closure
-    (new s390_displaced_step_closure (len));
-  gdb_byte *buf = closure->buf.data ();
-
-  read_memory (from, buf, len);
-
-  /* Adjust the displacement field of PC-relative RIL instructions,
-     except branches.  The latter are handled in the fixup hook.  */
-  if (is_non_branch_ril (buf))
-    {
-      LONGEST offset;
-
-      offset = extract_signed_integer (buf + 2, 4, BFD_ENDIAN_BIG);
-      offset = (from - to + offset * 2) / 2;
-
-      /* If the instruction is too far from the jump pad, punt.  This
-	 will usually happen with instructions in shared libraries.
-	 We could probably support these by rewriting them to be
-	 absolute or fully emulating them.  */
-      if (offset < INT32_MIN || offset > INT32_MAX)
-	{
-	  /* Let the core fall back to stepping over the breakpoint
-	     in-line.  */
-	  if (debug_displaced)
-	    {
-	      fprintf_unfiltered (gdb_stdlog,
-				  "displaced: can't displaced step "
-				  "RIL instruction: offset %s out of range\n",
-				  plongest (offset));
-	    }
-
-	  return NULL;
-	}
-
-      store_signed_integer (buf + 2, 4, BFD_ENDIAN_BIG, offset);
-    }
-
-  write_memory (to, buf, len);
-
-  if (debug_displaced)
+  switch (syscall)
     {
-      fprintf_unfiltered (gdb_stdlog, "displaced: copy %s->%s: ",
-                          paddress (gdbarch, from), paddress (gdbarch, to));
-      displaced_step_dump_bytes (gdb_stdlog, buf, len);
-    }
-
-  return closure.release ();
-}
-
-/* Fix up the state of registers and memory after having single-stepped
-   a displaced instruction.  */
-static void
-s390_displaced_step_fixup (struct gdbarch *gdbarch,
-			   struct displaced_step_closure *closure_,
-			   CORE_ADDR from, CORE_ADDR to,
-			   struct regcache *regs)
-{
-  /* Our closure is a copy of the instruction.  */
-  s390_displaced_step_closure *closure
-    = (s390_displaced_step_closure *) closure_;
-  gdb_byte *insn = closure->buf.data ();
-  static int s390_instrlen[] = { 2, 4, 4, 6 };
-  int insnlen = s390_instrlen[insn[0] >> 6];
-
-  /* Fields for various kinds of instructions.  */
-  unsigned int b2, r1, r2, x2, r3;
-  int i2, d2;
-
-  /* Get current PC and addressing mode bit.  */
-  CORE_ADDR pc = regcache_read_pc (regs);
-  ULONGEST amode = 0;
-
-  if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
-    {
-      regcache_cooked_read_unsigned (regs, S390_PSWA_REGNUM, &amode);
-      amode &= 0x80000000;
-    }
-
-  if (debug_displaced)
-    fprintf_unfiltered (gdb_stdlog,
-			"displaced: (s390) fixup (%s, %s) pc %s len %d amode 0x%x\n",
-			paddress (gdbarch, from), paddress (gdbarch, to),
-			paddress (gdbarch, pc), insnlen, (int) amode);
-
-  /* Handle absolute branch and save instructions.  */
-  if (is_rr (insn, op_basr, &r1, &r2)
-      || is_rx (insn, op_bas, &r1, &d2, &x2, &b2))
-    {
-      /* Recompute saved return address in R1.  */
-      regcache_cooked_write_unsigned (regs, S390_R0_REGNUM + r1,
-				      amode | (from + insnlen));
-    }
-
-  /* Handle absolute branch instructions.  */
-  else if (is_rr (insn, op_bcr, &r1, &r2)
-	   || is_rx (insn, op_bc, &r1, &d2, &x2, &b2)
-	   || is_rr (insn, op_bctr, &r1, &r2)
-	   || is_rre (insn, op_bctgr, &r1, &r2)
-	   || is_rx (insn, op_bct, &r1, &d2, &x2, &b2)
-	   || is_rxy (insn, op1_bctg, op2_brctg, &r1, &d2, &x2, &b2)
-	   || is_rs (insn, op_bxh, &r1, &r3, &d2, &b2)
-	   || is_rsy (insn, op1_bxhg, op2_bxhg, &r1, &r3, &d2, &b2)
-	   || is_rs (insn, op_bxle, &r1, &r3, &d2, &b2)
-	   || is_rsy (insn, op1_bxleg, op2_bxleg, &r1, &r3, &d2, &b2))
-    {
-      /* Update PC iff branch was *not* taken.  */
-      if (pc == to + insnlen)
-	regcache_write_pc (regs, from + insnlen);
-    }
-
-  /* Handle PC-relative branch and save instructions.  */
-  else if (is_ri (insn, op1_bras, op2_bras, &r1, &i2)
-	   || is_ril (insn, op1_brasl, op2_brasl, &r1, &i2))
-    {
-      /* Update PC.  */
-      regcache_write_pc (regs, pc - to + from);
-      /* Recompute saved return address in R1.  */
-      regcache_cooked_write_unsigned (regs, S390_R0_REGNUM + r1,
-				      amode | (from + insnlen));
-    }
-
-  /* Handle LOAD ADDRESS RELATIVE LONG.  */
-  else if (is_ril (insn, op1_larl, op2_larl, &r1, &i2))
-    {
-      /* Update PC.  */
-      regcache_write_pc (regs, from + insnlen);
-      /* Recompute output address in R1.  */
-      regcache_cooked_write_unsigned (regs, S390_R0_REGNUM + r1,
-				      amode | (from + i2 * 2));
-    }
-
-  /* If we executed a breakpoint instruction, point PC right back at it.  */
-  else if (insn[0] == 0x0 && insn[1] == 0x1)
-    regcache_write_pc (regs, from);
-
-  /* For any other insn, adjust PC by negated displacement.  PC then
-     points right after the original instruction, except for PC-relative
-     branches, where it points to the adjusted branch target.  */
-  else
-    regcache_write_pc (regs, pc - to + from);
-
-  if (debug_displaced)
-    fprintf_unfiltered (gdb_stdlog,
-			"displaced: (s390) pc is now %s\n",
-			paddress (gdbarch, regcache_read_pc (regs)));
-}
-
-
-/* Helper routine to unwind pseudo registers.  */
-
-static struct value *
-s390_unwind_pseudo_register (struct frame_info *this_frame, int regnum)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  struct type *type = register_type (gdbarch, regnum);
-
-  /* Unwind PC via PSW address.  */
-  if (regnum == tdep->pc_regnum)
-    {
-      struct value *val;
-
-      val = frame_unwind_register_value (this_frame, S390_PSWA_REGNUM);
-      if (!value_optimized_out (val))
-	{
-	  LONGEST pswa = value_as_long (val);
-
-	  if (TYPE_LENGTH (type) == 4)
-	    return value_from_pointer (type, pswa & 0x7fffffff);
-	  else
-	    return value_from_pointer (type, pswa);
-	}
-    }
-
-  /* Unwind CC via PSW mask.  */
-  if (regnum == tdep->cc_regnum)
-    {
-      struct value *val;
-
-      val = frame_unwind_register_value (this_frame, S390_PSWM_REGNUM);
-      if (!value_optimized_out (val))
-	{
-	  LONGEST pswm = value_as_long (val);
-
-	  if (TYPE_LENGTH (type) == 4)
-	    return value_from_longest (type, (pswm >> 12) & 3);
-	  else
-	    return value_from_longest (type, (pswm >> 44) & 3);
-	}
-    }
-
-  /* Unwind full GPRs to show at least the lower halves (as the
-     upper halves are undefined).  */
-  if (regnum_is_gpr_full (tdep, regnum))
-    {
-      int reg = regnum - tdep->gpr_full_regnum;
-      struct value *val;
-
-      val = frame_unwind_register_value (this_frame, S390_R0_REGNUM + reg);
-      if (!value_optimized_out (val))
-	return value_cast (type, val);
-    }
-
-  return allocate_optimized_out_value (type);
-}
-
-static struct value *
-s390_trad_frame_prev_register (struct frame_info *this_frame,
-			       struct trad_frame_saved_reg saved_regs[],
-			       int regnum)
-{
-  if (regnum < S390_NUM_REGS)
-    return trad_frame_get_prev_register (this_frame, saved_regs, regnum);
-  else
-    return s390_unwind_pseudo_register (this_frame, regnum);
-}
-
-
-/* Normal stack frames.  */
-
-struct s390_unwind_cache {
-
-  CORE_ADDR func;
-  CORE_ADDR frame_base;
-  CORE_ADDR local_base;
-
-  struct trad_frame_saved_reg *saved_regs;
-};
-
-static int
-s390_prologue_frame_unwind_cache (struct frame_info *this_frame,
-				  struct s390_unwind_cache *info)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
-  struct s390_prologue_data data;
-  pv_t *fp = &data.gpr[S390_FRAME_REGNUM - S390_R0_REGNUM];
-  pv_t *sp = &data.gpr[S390_SP_REGNUM - S390_R0_REGNUM];
-  int i;
-  CORE_ADDR cfa;
-  CORE_ADDR func;
-  CORE_ADDR result;
-  ULONGEST reg;
-  CORE_ADDR prev_sp;
-  int frame_pointer;
-  int size;
-  struct frame_info *next_frame;
-
-  /* Try to find the function start address.  If we can't find it, we don't
-     bother searching for it -- with modern compilers this would be mostly
-     pointless anyway.  Trust that we'll either have valid DWARF-2 CFI data
-     or else a valid backchain ...  */
-  if (!get_frame_func_if_available (this_frame, &info->func))
-    {
-      info->func = -1;
-      return 0;
-    }
-  func = info->func;
-
-  /* Try to analyze the prologue.  */
-  result = s390_analyze_prologue (gdbarch, func,
-				  get_frame_pc (this_frame), &data);
-  if (!result)
-    return 0;
-
-  /* If this was successful, we should have found the instruction that
-     sets the stack pointer register to the previous value of the stack
-     pointer minus the frame size.  */
-  if (!pv_is_register (*sp, S390_SP_REGNUM))
-    return 0;
-
-  /* A frame size of zero at this point can mean either a real
-     frameless function, or else a failure to find the prologue.
-     Perform some sanity checks to verify we really have a
-     frameless function.  */
-  if (sp->k == 0)
-    {
-      /* If the next frame is a NORMAL_FRAME, this frame *cannot* have frame
-	 size zero.  This is only possible if the next frame is a sentinel
-	 frame, a dummy frame, or a signal trampoline frame.  */
-      /* FIXME: cagney/2004-05-01: This sanity check shouldn't be
-	 needed, instead the code should simpliy rely on its
-	 analysis.  */
-      next_frame = get_next_frame (this_frame);
-      while (next_frame && get_frame_type (next_frame) == INLINE_FRAME)
-	next_frame = get_next_frame (next_frame);
-      if (next_frame
-	  && get_frame_type (get_next_frame (this_frame)) == NORMAL_FRAME)
-	return 0;
-
-      /* If we really have a frameless function, %r14 must be valid
-	 -- in particular, it must point to a different function.  */
-      reg = get_frame_register_unsigned (this_frame, S390_RETADDR_REGNUM);
-      reg = gdbarch_addr_bits_remove (gdbarch, reg) - 1;
-      if (get_pc_function_start (reg) == func)
-	{
-	  /* However, there is one case where it *is* valid for %r14
-	     to point to the same function -- if this is a recursive
-	     call, and we have stopped in the prologue *before* the
-	     stack frame was allocated.
-
-	     Recognize this case by looking ahead a bit ...  */
-
-	  struct s390_prologue_data data2;
-	  pv_t *sp = &data2.gpr[S390_SP_REGNUM - S390_R0_REGNUM];
-
-	  if (!(s390_analyze_prologue (gdbarch, func, (CORE_ADDR)-1, &data2)
-		&& pv_is_register (*sp, S390_SP_REGNUM)
-		&& sp->k != 0))
-	    return 0;
-	}
-    }
-
-
-  /* OK, we've found valid prologue data.  */
-  size = -sp->k;
-
-  /* If the frame pointer originally also holds the same value
-     as the stack pointer, we're probably using it.  If it holds
-     some other value -- even a constant offset -- it is most
-     likely used as temp register.  */
-  if (pv_is_identical (*sp, *fp))
-    frame_pointer = S390_FRAME_REGNUM;
-  else
-    frame_pointer = S390_SP_REGNUM;
-
-  /* If we've detected a function with stack frame, we'll still have to
-     treat it as frameless if we're currently within the function epilog
-     code at a point where the frame pointer has already been restored.
-     This can only happen in an innermost frame.  */
-  /* FIXME: cagney/2004-05-01: This sanity check shouldn't be needed,
-     instead the code should simpliy rely on its analysis.  */
-  next_frame = get_next_frame (this_frame);
-  while (next_frame && get_frame_type (next_frame) == INLINE_FRAME)
-    next_frame = get_next_frame (next_frame);
-  if (size > 0
-      && (next_frame == NULL
-	  || get_frame_type (get_next_frame (this_frame)) != NORMAL_FRAME))
-    {
-      /* See the comment in s390_stack_frame_destroyed_p on why this is
-	 not completely reliable ...  */
-      if (s390_stack_frame_destroyed_p (gdbarch, get_frame_pc (this_frame)))
-	{
-	  memset (&data, 0, sizeof (data));
-	  size = 0;
-	  frame_pointer = S390_SP_REGNUM;
-	}
-    }
-
-  /* Once we know the frame register and the frame size, we can unwind
-     the current value of the frame register from the next frame, and
-     add back the frame size to arrive that the previous frame's
-     stack pointer value.  */
-  prev_sp = get_frame_register_unsigned (this_frame, frame_pointer) + size;
-  cfa = prev_sp + 16*word_size + 32;
-
-  /* Set up ABI call-saved/call-clobbered registers.  */
-  for (i = 0; i < S390_NUM_REGS; i++)
-    if (!s390_register_call_saved (gdbarch, i))
-      trad_frame_set_unknown (info->saved_regs, i);
-
-  /* CC is always call-clobbered.  */
-  trad_frame_set_unknown (info->saved_regs, S390_PSWM_REGNUM);
-
-  /* Record the addresses of all register spill slots the prologue parser
-     has recognized.  Consider only registers defined as call-saved by the
-     ABI; for call-clobbered registers the parser may have recognized
-     spurious stores.  */
-
-  for (i = 0; i < 16; i++)
-    if (s390_register_call_saved (gdbarch, S390_R0_REGNUM + i)
-	&& data.gpr_slot[i] != 0)
-      info->saved_regs[S390_R0_REGNUM + i].addr = cfa - data.gpr_slot[i];
-
-  for (i = 0; i < 16; i++)
-    if (s390_register_call_saved (gdbarch, S390_F0_REGNUM + i)
-	&& data.fpr_slot[i] != 0)
-      info->saved_regs[S390_F0_REGNUM + i].addr = cfa - data.fpr_slot[i];
-
-  /* Function return will set PC to %r14.  */
-  info->saved_regs[S390_PSWA_REGNUM] = info->saved_regs[S390_RETADDR_REGNUM];
-
-  /* In frameless functions, we unwind simply by moving the return
-     address to the PC.  However, if we actually stored to the
-     save area, use that -- we might only think the function frameless
-     because we're in the middle of the prologue ...  */
-  if (size == 0
-      && !trad_frame_addr_p (info->saved_regs, S390_PSWA_REGNUM))
-    {
-      info->saved_regs[S390_PSWA_REGNUM].realreg = S390_RETADDR_REGNUM;
-    }
-
-  /* Another sanity check: unless this is a frameless function,
-     we should have found spill slots for SP and PC.
-     If not, we cannot unwind further -- this happens e.g. in
-     libc's thread_start routine.  */
-  if (size > 0)
-    {
-      if (!trad_frame_addr_p (info->saved_regs, S390_SP_REGNUM)
-	  || !trad_frame_addr_p (info->saved_regs, S390_PSWA_REGNUM))
-	prev_sp = -1;
-    }
-
-  /* We use the current value of the frame register as local_base,
-     and the top of the register save area as frame_base.  */
-  if (prev_sp != -1)
-    {
-      info->frame_base = prev_sp + 16*word_size + 32;
-      info->local_base = prev_sp - size;
-    }
-
-  return 1;
-}
-
-static void
-s390_backchain_frame_unwind_cache (struct frame_info *this_frame,
-				   struct s390_unwind_cache *info)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  CORE_ADDR backchain;
-  ULONGEST reg;
-  LONGEST sp, tmp;
-  int i;
-
-  /* Set up ABI call-saved/call-clobbered registers.  */
-  for (i = 0; i < S390_NUM_REGS; i++)
-    if (!s390_register_call_saved (gdbarch, i))
-      trad_frame_set_unknown (info->saved_regs, i);
-
-  /* CC is always call-clobbered.  */
-  trad_frame_set_unknown (info->saved_regs, S390_PSWM_REGNUM);
-
-  /* Get the backchain.  */
-  reg = get_frame_register_unsigned (this_frame, S390_SP_REGNUM);
-  if (!safe_read_memory_integer (reg, word_size, byte_order, &tmp))
-    tmp = 0;
-  backchain = (CORE_ADDR) tmp;
-
-  /* A zero backchain terminates the frame chain.  As additional
-     sanity check, let's verify that the spill slot for SP in the
-     save area pointed to by the backchain in fact links back to
-     the save area.  */
-  if (backchain != 0
-      && safe_read_memory_integer (backchain + 15*word_size,
-				   word_size, byte_order, &sp)
-      && (CORE_ADDR)sp == backchain)
-    {
-      /* We don't know which registers were saved, but it will have
-	 to be at least %r14 and %r15.  This will allow us to continue
-	 unwinding, but other prev-frame registers may be incorrect ...  */
-      info->saved_regs[S390_SP_REGNUM].addr = backchain + 15*word_size;
-      info->saved_regs[S390_RETADDR_REGNUM].addr = backchain + 14*word_size;
-
-      /* Function return will set PC to %r14.  */
-      info->saved_regs[S390_PSWA_REGNUM]
-	= info->saved_regs[S390_RETADDR_REGNUM];
-
-      /* We use the current value of the frame register as local_base,
-	 and the top of the register save area as frame_base.  */
-      info->frame_base = backchain + 16*word_size + 32;
-      info->local_base = reg;
-    }
-
-  info->func = get_frame_pc (this_frame);
-}
-
-static struct s390_unwind_cache *
-s390_frame_unwind_cache (struct frame_info *this_frame,
-			 void **this_prologue_cache)
-{
-  struct s390_unwind_cache *info;
-
-  if (*this_prologue_cache)
-    return (struct s390_unwind_cache *) *this_prologue_cache;
-
-  info = FRAME_OBSTACK_ZALLOC (struct s390_unwind_cache);
-  *this_prologue_cache = info;
-  info->saved_regs = trad_frame_alloc_saved_regs (this_frame);
-  info->func = -1;
-  info->frame_base = -1;
-  info->local_base = -1;
-
-  TRY
-    {
-      /* Try to use prologue analysis to fill the unwind cache.
-	 If this fails, fall back to reading the stack backchain.  */
-      if (!s390_prologue_frame_unwind_cache (this_frame, info))
-	s390_backchain_frame_unwind_cache (this_frame, info);
-    }
-  CATCH (ex, RETURN_MASK_ERROR)
-    {
-      if (ex.error != NOT_AVAILABLE_ERROR)
-	throw_exception (ex);
-    }
-  END_CATCH
-
-  return info;
-}
-
-static void
-s390_frame_this_id (struct frame_info *this_frame,
-		    void **this_prologue_cache,
-		    struct frame_id *this_id)
-{
-  struct s390_unwind_cache *info
-    = s390_frame_unwind_cache (this_frame, this_prologue_cache);
-
-  if (info->frame_base == -1)
-    {
-      if (info->func != -1)
-	*this_id = frame_id_build_unavailable_stack (info->func);
-      return;
-    }
-
-  *this_id = frame_id_build (info->frame_base, info->func);
-}
-
-static struct value *
-s390_frame_prev_register (struct frame_info *this_frame,
-			  void **this_prologue_cache, int regnum)
-{
-  struct s390_unwind_cache *info
-    = s390_frame_unwind_cache (this_frame, this_prologue_cache);
-
-  return s390_trad_frame_prev_register (this_frame, info->saved_regs, regnum);
-}
-
-static const struct frame_unwind s390_frame_unwind = {
-  NORMAL_FRAME,
-  default_frame_unwind_stop_reason,
-  s390_frame_this_id,
-  s390_frame_prev_register,
-  NULL,
-  default_frame_sniffer
-};
-
-
-/* Code stubs and their stack frames.  For things like PLTs and NULL
-   function calls (where there is no true frame and the return address
-   is in the RETADDR register).  */
-
-struct s390_stub_unwind_cache
-{
-  CORE_ADDR frame_base;
-  struct trad_frame_saved_reg *saved_regs;
-};
-
-static struct s390_stub_unwind_cache *
-s390_stub_frame_unwind_cache (struct frame_info *this_frame,
-			      void **this_prologue_cache)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
-  struct s390_stub_unwind_cache *info;
-  ULONGEST reg;
-
-  if (*this_prologue_cache)
-    return (struct s390_stub_unwind_cache *) *this_prologue_cache;
-
-  info = FRAME_OBSTACK_ZALLOC (struct s390_stub_unwind_cache);
-  *this_prologue_cache = info;
-  info->saved_regs = trad_frame_alloc_saved_regs (this_frame);
-
-  /* The return address is in register %r14.  */
-  info->saved_regs[S390_PSWA_REGNUM].realreg = S390_RETADDR_REGNUM;
-
-  /* Retrieve stack pointer and determine our frame base.  */
-  reg = get_frame_register_unsigned (this_frame, S390_SP_REGNUM);
-  info->frame_base = reg + 16*word_size + 32;
-
-  return info;
-}
-
-static void
-s390_stub_frame_this_id (struct frame_info *this_frame,
-			 void **this_prologue_cache,
-			 struct frame_id *this_id)
-{
-  struct s390_stub_unwind_cache *info
-    = s390_stub_frame_unwind_cache (this_frame, this_prologue_cache);
-  *this_id = frame_id_build (info->frame_base, get_frame_pc (this_frame));
-}
-
-static struct value *
-s390_stub_frame_prev_register (struct frame_info *this_frame,
-			       void **this_prologue_cache, int regnum)
-{
-  struct s390_stub_unwind_cache *info
-    = s390_stub_frame_unwind_cache (this_frame, this_prologue_cache);
-  return s390_trad_frame_prev_register (this_frame, info->saved_regs, regnum);
-}
-
-static int
-s390_stub_frame_sniffer (const struct frame_unwind *self,
-			 struct frame_info *this_frame,
-			 void **this_prologue_cache)
-{
-  CORE_ADDR addr_in_block;
-  bfd_byte insn[S390_MAX_INSTR_SIZE];
-
-  /* If the current PC points to non-readable memory, we assume we
-     have trapped due to an invalid function pointer call.  We handle
-     the non-existing current function like a PLT stub.  */
-  addr_in_block = get_frame_address_in_block (this_frame);
-  if (in_plt_section (addr_in_block)
-      || s390_readinstruction (insn, get_frame_pc (this_frame)) < 0)
-    return 1;
-  return 0;
-}
-
-static const struct frame_unwind s390_stub_frame_unwind = {
-  NORMAL_FRAME,
-  default_frame_unwind_stop_reason,
-  s390_stub_frame_this_id,
-  s390_stub_frame_prev_register,
-  NULL,
-  s390_stub_frame_sniffer
-};
-
-
-/* Signal trampoline stack frames.  */
-
-struct s390_sigtramp_unwind_cache {
-  CORE_ADDR frame_base;
-  struct trad_frame_saved_reg *saved_regs;
-};
-
-static struct s390_sigtramp_unwind_cache *
-s390_sigtramp_frame_unwind_cache (struct frame_info *this_frame,
-				  void **this_prologue_cache)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  struct s390_sigtramp_unwind_cache *info;
-  ULONGEST this_sp, prev_sp;
-  CORE_ADDR next_ra, next_cfa, sigreg_ptr, sigreg_high_off;
-  int i;
-
-  if (*this_prologue_cache)
-    return (struct s390_sigtramp_unwind_cache *) *this_prologue_cache;
-
-  info = FRAME_OBSTACK_ZALLOC (struct s390_sigtramp_unwind_cache);
-  *this_prologue_cache = info;
-  info->saved_regs = trad_frame_alloc_saved_regs (this_frame);
-
-  this_sp = get_frame_register_unsigned (this_frame, S390_SP_REGNUM);
-  next_ra = get_frame_pc (this_frame);
-  next_cfa = this_sp + 16*word_size + 32;
-
-  /* New-style RT frame:
-	retcode + alignment (8 bytes)
-	siginfo (128 bytes)
-	ucontext (contains sigregs at offset 5 words).  */
-  if (next_ra == next_cfa)
-    {
-      sigreg_ptr = next_cfa + 8 + 128 + align_up (5*word_size, 8);
-      /* sigregs are followed by uc_sigmask (8 bytes), then by the
-	 upper GPR halves if present.  */
-      sigreg_high_off = 8;
-    }
-
-  /* Old-style RT frame and all non-RT frames:
-	old signal mask (8 bytes)
-	pointer to sigregs.  */
-  else
-    {
-      sigreg_ptr = read_memory_unsigned_integer (next_cfa + 8,
-						 word_size, byte_order);
-      /* sigregs are followed by signo (4 bytes), then by the
-	 upper GPR halves if present.  */
-      sigreg_high_off = 4;
-    }
-
-  /* The sigregs structure looks like this:
-	    long   psw_mask;
-	    long   psw_addr;
-	    long   gprs[16];
-	    int    acrs[16];
-	    int    fpc;
-	    int    __pad;
-	    double fprs[16];  */
-
-  /* PSW mask and address.  */
-  info->saved_regs[S390_PSWM_REGNUM].addr = sigreg_ptr;
-  sigreg_ptr += word_size;
-  info->saved_regs[S390_PSWA_REGNUM].addr = sigreg_ptr;
-  sigreg_ptr += word_size;
-
-  /* Then the GPRs.  */
-  for (i = 0; i < 16; i++)
-    {
-      info->saved_regs[S390_R0_REGNUM + i].addr = sigreg_ptr;
-      sigreg_ptr += word_size;
-    }
-
-  /* Then the ACRs.  */
-  for (i = 0; i < 16; i++)
-    {
-      info->saved_regs[S390_A0_REGNUM + i].addr = sigreg_ptr;
-      sigreg_ptr += 4;
-    }
-
-  /* The floating-point control word.  */
-  info->saved_regs[S390_FPC_REGNUM].addr = sigreg_ptr;
-  sigreg_ptr += 8;
-
-  /* And finally the FPRs.  */
-  for (i = 0; i < 16; i++)
-    {
-      info->saved_regs[S390_F0_REGNUM + i].addr = sigreg_ptr;
-      sigreg_ptr += 8;
-    }
-
-  /* If we have them, the GPR upper halves are appended at the end.  */
-  sigreg_ptr += sigreg_high_off;
-  if (tdep->gpr_full_regnum != -1)
-    for (i = 0; i < 16; i++)
-      {
-	info->saved_regs[S390_R0_UPPER_REGNUM + i].addr = sigreg_ptr;
-	sigreg_ptr += 4;
-      }
-
-  /* Restore the previous frame's SP.  */
-  prev_sp = read_memory_unsigned_integer (
-			info->saved_regs[S390_SP_REGNUM].addr,
-			word_size, byte_order);
-
-  /* Determine our frame base.  */
-  info->frame_base = prev_sp + 16*word_size + 32;
-
-  return info;
-}
-
-static void
-s390_sigtramp_frame_this_id (struct frame_info *this_frame,
-			     void **this_prologue_cache,
-			     struct frame_id *this_id)
-{
-  struct s390_sigtramp_unwind_cache *info
-    = s390_sigtramp_frame_unwind_cache (this_frame, this_prologue_cache);
-  *this_id = frame_id_build (info->frame_base, get_frame_pc (this_frame));
-}
-
-static struct value *
-s390_sigtramp_frame_prev_register (struct frame_info *this_frame,
-				   void **this_prologue_cache, int regnum)
-{
-  struct s390_sigtramp_unwind_cache *info
-    = s390_sigtramp_frame_unwind_cache (this_frame, this_prologue_cache);
-  return s390_trad_frame_prev_register (this_frame, info->saved_regs, regnum);
-}
-
-static int
-s390_sigtramp_frame_sniffer (const struct frame_unwind *self,
-			     struct frame_info *this_frame,
-			     void **this_prologue_cache)
-{
-  CORE_ADDR pc = get_frame_pc (this_frame);
-  bfd_byte sigreturn[2];
-
-  if (target_read_memory (pc, sigreturn, 2))
-    return 0;
-
-  if (sigreturn[0] != op_svc)
-    return 0;
-
-  if (sigreturn[1] != 119 /* sigreturn */
-      && sigreturn[1] != 173 /* rt_sigreturn */)
-    return 0;
-
-  return 1;
-}
-
-static const struct frame_unwind s390_sigtramp_frame_unwind = {
-  SIGTRAMP_FRAME,
-  default_frame_unwind_stop_reason,
-  s390_sigtramp_frame_this_id,
-  s390_sigtramp_frame_prev_register,
-  NULL,
-  s390_sigtramp_frame_sniffer
-};
-
-/* Retrieve the syscall number at a ptrace syscall-stop.  Return -1
-   upon error. */
-
-static LONGEST
-s390_linux_get_syscall_number (struct gdbarch *gdbarch,
-			       ptid_t ptid)
-{
-  struct regcache *regs = get_thread_regcache (ptid);
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  ULONGEST pc;
-  ULONGEST svc_number = -1;
-  unsigned opcode;
-
-  /* Assume that the PC points after the 2-byte SVC instruction.  We
-     don't currently support SVC via EXECUTE. */
-  regcache_cooked_read_unsigned (regs, tdep->pc_regnum, &pc);
-  pc -= 2;
-  opcode = read_memory_unsigned_integer ((CORE_ADDR) pc, 1, byte_order);
-  if (opcode != op_svc)
-    return -1;
-
-  svc_number = read_memory_unsigned_integer ((CORE_ADDR) pc + 1, 1,
-					     byte_order);
-  if (svc_number == 0)
-    regcache_cooked_read_unsigned (regs, S390_R1_REGNUM, &svc_number);
-
-  return svc_number;
-}
-
-/* Process record-replay */
-
-static struct linux_record_tdep s390_linux_record_tdep;
-static struct linux_record_tdep s390x_linux_record_tdep;
-
-/* Record all registers but PC register for process-record.  */
-
-static int
-s390_all_but_pc_registers_record (struct regcache *regcache)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int i;
-
-  for (i = 0; i < 16; i++)
-    {
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + i))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + i))
-        return -1;
-      if (tdep->gpr_full_regnum != -1)
-        if (record_full_arch_list_add_reg (regcache, S390_R0_UPPER_REGNUM + i))
-          return -1;
-      if (tdep->v0_full_regnum != -1)
-        {
-          if (record_full_arch_list_add_reg (regcache, S390_V0_LOWER_REGNUM + i))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_V16_REGNUM + i))
-            return -1;
-        }
-    }
-  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-    return -1;
-  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-    return -1;
-
-  return 0;
-}
-
-static enum gdb_syscall
-s390_canonicalize_syscall (int syscall, enum s390_abi_kind abi)
-{
-  switch (syscall)
-    {
-    /* s390 syscall numbers < 222 are mostly the same as x86, so just list
-       the exceptions.  */
-    case 0:
-      return gdb_sys_no_syscall;
-    case 7:
-      return gdb_sys_restart_syscall;
-    /* These syscalls work only on 31-bit.  */
-    case 13: /* time */
-    case 16: /* lchown[16] */
-    case 23: /* setuid[16] */
-    case 24: /* getuid[16] */
-    case 25: /* stime */
-    case 46: /* setgid[16] */
-    case 47: /* getgid[16] */
-    case 49: /* seteuid[16] */
-    case 50: /* getegid[16] */
-    case 70: /* setreuid[16] */
-    case 71: /* setregid[16] */
-    case 76: /* [old_]getrlimit */
-    case 80: /* getgroups[16] */
-    case 81: /* setgroups[16] */
-    case 95: /* fchown[16] */
-    case 101: /* ioperm */
-    case 138: /* setfsuid[16] */
-    case 139: /* setfsgid[16] */
-    case 140: /* _llseek */
-    case 164: /* setresuid[16] */
-    case 165: /* getresuid[16] */
-    case 170: /* setresgid[16] */
-    case 171: /* getresgid[16] */
-    case 182: /* chown[16] */
-    case 192: /* mmap2 */
-    case 193: /* truncate64 */
-    case 194: /* ftruncate64 */
-    case 195: /* stat64 */
-    case 196: /* lstat64 */
-    case 197: /* fstat64 */
-    case 221: /* fcntl64 */
-      if (abi == ABI_LINUX_S390)
-        return (enum gdb_syscall) syscall;
-      return gdb_sys_no_syscall;
-    /* These syscalls don't exist on s390.  */
-    case 17: /* break */
-    case 18: /* oldstat */
-    case 28: /* oldfstat */
-    case 31: /* stty */
-    case 32: /* gtty */
-    case 35: /* ftime */
-    case 44: /* prof */
-    case 53: /* lock */
-    case 56: /* mpx */
-    case 58: /* ulimit */
-    case 59: /* oldolduname */
-    case 68: /* sgetmask */
-    case 69: /* ssetmask */
-    case 82: /* [old_]select */
-    case 84: /* oldlstat */
-    case 98: /* profil */
-    case 109: /* olduname */
-    case 113: /* vm86old */
-    case 123: /* modify_ldt */
-    case 166: /* vm86 */
-      return gdb_sys_no_syscall;
-    case 110:
-      return gdb_sys_lookup_dcookie;
-    /* Here come the differences.  */
-    case 222:
-      return gdb_sys_readahead;
-    case 223:
-      if (abi == ABI_LINUX_S390)
-        return gdb_sys_sendfile64;
-      return gdb_sys_no_syscall;
-    /* 224-235 handled below */
-    case 236:
-      return gdb_sys_gettid;
-    case 237:
-      return gdb_sys_tkill;
-    case 238:
-      return gdb_sys_futex;
-    case 239:
-      return gdb_sys_sched_setaffinity;
-    case 240:
-      return gdb_sys_sched_getaffinity;
-    case 241:
-      return gdb_sys_tgkill;
-    /* 242 reserved */
-    case 243:
-      return gdb_sys_io_setup;
-    case 244:
-      return gdb_sys_io_destroy;
-    case 245:
-      return gdb_sys_io_getevents;
-    case 246:
-      return gdb_sys_io_submit;
-    case 247:
-      return gdb_sys_io_cancel;
-    case 248:
-      return gdb_sys_exit_group;
-    case 249:
-      return gdb_sys_epoll_create;
-    case 250:
-      return gdb_sys_epoll_ctl;
-    case 251:
-      return gdb_sys_epoll_wait;
-    case 252:
-      return gdb_sys_set_tid_address;
-    case 253:
-      return gdb_sys_fadvise64;
-    /* 254-262 handled below */
-    /* 263 reserved */
-    case 264:
-      if (abi == ABI_LINUX_S390)
-        return gdb_sys_fadvise64_64;
-      return gdb_sys_no_syscall;
-    case 265:
-      return gdb_sys_statfs64;
-    case 266:
-      return gdb_sys_fstatfs64;
-    case 267:
-      return gdb_sys_remap_file_pages;
-    /* 268-270 reserved */
-    /* 271-277 handled below */
-    case 278:
-      return gdb_sys_add_key;
-    case 279:
-      return gdb_sys_request_key;
-    case 280:
-      return gdb_sys_keyctl;
-    case 281:
-      return gdb_sys_waitid;
-    /* 282-312 handled below */
-    case 293:
-      if (abi == ABI_LINUX_S390)
-        return gdb_sys_fstatat64;
-      return gdb_sys_newfstatat;
-    /* 313+ not yet supported */
-    default:
-      {
-	int ret;
-
-	/* Most "old" syscalls copied from i386.  */
-	if (syscall <= 221)
-	  ret = syscall;
-	/* xattr syscalls.  */
-	else if (syscall >= 224 && syscall <= 235)
-	  ret = syscall + 2;
-	/* timer syscalls.  */
-	else if (syscall >= 254 && syscall <= 262)
-	  ret = syscall + 5;
-	/* mq_* and kexec_load */
-	else if (syscall >= 271 && syscall <= 277)
-	  ret = syscall + 6;
-	/* ioprio_set .. epoll_pwait */
-	else if (syscall >= 282 && syscall <= 312)
-	  ret = syscall + 7;
-	else
-	  ret = gdb_sys_no_syscall;
-
-	return (enum gdb_syscall) ret;
-      }
-    }
-}
-
-static int
-s390_linux_syscall_record (struct regcache *regcache, LONGEST syscall_native)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int ret;
-  enum gdb_syscall syscall_gdb;
-
-  /* On s390, syscall number can be passed either as immediate field of svc
-     instruction, or in %r1 (with svc 0).  */
-  if (syscall_native == 0)
-    regcache_raw_read_signed (regcache, S390_R1_REGNUM, &syscall_native);
-
-  syscall_gdb = s390_canonicalize_syscall (syscall_native, tdep->abi);
-
-  if (syscall_gdb < 0)
-    {
-      printf_unfiltered (_("Process record and replay target doesn't "
-                           "support syscall number %s\n"),
-                         plongest (syscall_native));
-      return -1;
-    }
-
-  if (syscall_gdb == gdb_sys_sigreturn
-      || syscall_gdb == gdb_sys_rt_sigreturn)
-    {
-      if (s390_all_but_pc_registers_record (regcache))
-        return -1;
-      return 0;
-    }
-
-  if (tdep->abi == ABI_LINUX_ZSERIES)
-    ret = record_linux_system_call (syscall_gdb, regcache,
-                                    &s390x_linux_record_tdep);
-  else
-    ret = record_linux_system_call (syscall_gdb, regcache,
-                                    &s390_linux_record_tdep);
-
-  if (ret)
-    return ret;
-
-  /* Record the return value of the system call.  */
-  if (record_full_arch_list_add_reg (regcache, S390_R2_REGNUM))
-    return -1;
-
-  return 0;
-}
-
-static int
-s390_linux_record_signal (struct gdbarch *gdbarch, struct regcache *regcache,
-                          enum gdb_signal signal)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  /* There are two kinds of signal frames on s390. rt_sigframe is always
-     the larger one, so don't even bother with sigframe.  */
-  const int sizeof_rt_sigframe = (tdep->abi == ABI_LINUX_ZSERIES ?
-                                  160 + 8 + 128 + 1024 : 96 + 8 + 128 + 1000);
-  ULONGEST sp;
-  int i;
-
-  for (i = 0; i < 16; i++)
-    {
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
-        return -1;
-      if (tdep->gpr_full_regnum != -1)
-        if (record_full_arch_list_add_reg (regcache, S390_R0_UPPER_REGNUM + i))
-          return -1;
-    }
-  if (record_full_arch_list_add_reg (regcache, S390_PSWA_REGNUM))
-    return -1;
-  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-    return -1;
-
-  /* Record the change in the stack.
-     frame-size = sizeof (struct rt_sigframe) + SIGNAL_FRAMESIZE  */
-  regcache_raw_read_unsigned (regcache, S390_SP_REGNUM, &sp);
-  sp -= sizeof_rt_sigframe;
-
-  if (record_full_arch_list_add_mem (sp, sizeof_rt_sigframe))
-    return -1;
-
-  if (record_full_arch_list_add_end ())
-    return -1;
-
-  return 0;
-}
-
-/* Frame base handling.  */
-
-static CORE_ADDR
-s390_frame_base_address (struct frame_info *this_frame, void **this_cache)
-{
-  struct s390_unwind_cache *info
-    = s390_frame_unwind_cache (this_frame, this_cache);
-  return info->frame_base;
-}
-
-static CORE_ADDR
-s390_local_base_address (struct frame_info *this_frame, void **this_cache)
-{
-  struct s390_unwind_cache *info
-    = s390_frame_unwind_cache (this_frame, this_cache);
-  return info->local_base;
-}
-
-static const struct frame_base s390_frame_base = {
-  &s390_frame_unwind,
-  s390_frame_base_address,
-  s390_local_base_address,
-  s390_local_base_address
-};
-
-static CORE_ADDR
-s390_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  ULONGEST pc;
-  pc = frame_unwind_register_unsigned (next_frame, tdep->pc_regnum);
-  return gdbarch_addr_bits_remove (gdbarch, pc);
-}
-
-static CORE_ADDR
-s390_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
-  ULONGEST sp;
-  sp = frame_unwind_register_unsigned (next_frame, S390_SP_REGNUM);
-  return gdbarch_addr_bits_remove (gdbarch, sp);
-}
-
-
-/* DWARF-2 frame support.  */
-
-static struct value *
-s390_dwarf2_prev_register (struct frame_info *this_frame, void **this_cache,
-			   int regnum)
-{
-  return s390_unwind_pseudo_register (this_frame, regnum);
-}
-
-static void
-s390_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
-			    struct dwarf2_frame_state_reg *reg,
-			    struct frame_info *this_frame)
-{
-  /* The condition code (and thus PSW mask) is call-clobbered.  */
-  if (regnum == S390_PSWM_REGNUM)
-    reg->how = DWARF2_FRAME_REG_UNDEFINED;
-
-  /* The PSW address unwinds to the return address.  */
-  else if (regnum == S390_PSWA_REGNUM)
-    reg->how = DWARF2_FRAME_REG_RA;
-
-  /* Fixed registers are call-saved or call-clobbered
-     depending on the ABI in use.  */
-  else if (regnum < S390_NUM_REGS)
-    {
-      if (s390_register_call_saved (gdbarch, regnum))
-	reg->how = DWARF2_FRAME_REG_SAME_VALUE;
-      else
-	reg->how = DWARF2_FRAME_REG_UNDEFINED;
-    }
-
-  /* We install a special function to unwind pseudos.  */
-  else
-    {
-      reg->how = DWARF2_FRAME_REG_FN;
-      reg->loc.fn = s390_dwarf2_prev_register;
-    }
-}
-
-
-/* Dummy function calls.  */
-
-/* Unwrap any single-field structs in TYPE and return the effective
-   "inner" type.  E.g., yield "float" for all these cases:
-
-     float x;
-     struct { float x };
-     struct { struct { float x; } x; };
-     struct { struct { struct { float x; } x; } x; };
-
-   However, if an inner type is smaller than MIN_SIZE, abort the
-   unwrapping.  */
-
-static struct type *
-s390_effective_inner_type (struct type *type, unsigned int min_size)
-{
-  while (TYPE_CODE (type) == TYPE_CODE_STRUCT
-	 && TYPE_NFIELDS (type) == 1)
-    {
-      struct type *inner = check_typedef (TYPE_FIELD_TYPE (type, 0));
-
-      if (TYPE_LENGTH (inner) < min_size)
-	break;
-      type = inner;
-    }
-
-  return type;
-}
-
-/* Return non-zero if TYPE should be passed like "float" or
-   "double".  */
-
-static int
-s390_function_arg_float (struct type *type)
-{
-  /* Note that long double as well as complex types are intentionally
-     excluded. */
-  if (TYPE_LENGTH (type) > 8)
-    return 0;
-
-  /* A struct containing just a float or double is passed like a float
-     or double.  */
-  type = s390_effective_inner_type (type, 0);
-
-  return (TYPE_CODE (type) == TYPE_CODE_FLT
-	  || TYPE_CODE (type) == TYPE_CODE_DECFLOAT);
-}
-
-/* Return non-zero if TYPE should be passed like a vector.  */
-
-static int
-s390_function_arg_vector (struct type *type)
-{
-  if (TYPE_LENGTH (type) > 16)
-    return 0;
-
-  /* Structs containing just a vector are passed like a vector.  */
-  type = s390_effective_inner_type (type, TYPE_LENGTH (type));
-
-  return TYPE_CODE (type) == TYPE_CODE_ARRAY && TYPE_VECTOR (type);
-}
-
-/* Determine whether N is a power of two.  */
-
-static int
-is_power_of_two (unsigned int n)
-{
-  return n && ((n & (n - 1)) == 0);
-}
-
-/* For an argument whose type is TYPE and which is not passed like a
-   float or vector, return non-zero if it should be passed like "int"
-   or "long long".  */
-
-static int
-s390_function_arg_integer (struct type *type)
-{
-  enum type_code code = TYPE_CODE (type);
-
-  if (TYPE_LENGTH (type) > 8)
-    return 0;
-
-  if (code == TYPE_CODE_INT
-      || code == TYPE_CODE_ENUM
-      || code == TYPE_CODE_RANGE
-      || code == TYPE_CODE_CHAR
-      || code == TYPE_CODE_BOOL
-      || code == TYPE_CODE_PTR
-      || TYPE_IS_REFERENCE (type))
-    return 1;
-
-  return ((code == TYPE_CODE_UNION || code == TYPE_CODE_STRUCT)
-	  && is_power_of_two (TYPE_LENGTH (type)));
-}
-
-/* Argument passing state: Internal data structure passed to helper
-   routines of s390_push_dummy_call.  */
-
-struct s390_arg_state
-  {
-    /* Register cache, or NULL, if we are in "preparation mode".  */
-    struct regcache *regcache;
-    /* Next available general/floating-point/vector register for
-       argument passing.  */
-    int gr, fr, vr;
-    /* Current pointer to copy area (grows downwards).  */
-    CORE_ADDR copy;
-    /* Current pointer to parameter area (grows upwards).  */
-    CORE_ADDR argp;
-  };
-
-/* Prepare one argument ARG for a dummy call and update the argument
-   passing state AS accordingly.  If the regcache field in AS is set,
-   operate in "write mode" and write ARG into the inferior.  Otherwise
-   run "preparation mode" and skip all updates to the inferior.  */
-
-static void
-s390_handle_arg (struct s390_arg_state *as, struct value *arg,
-		 struct gdbarch_tdep *tdep, int word_size,
-		 enum bfd_endian byte_order, int is_unnamed)
-{
-  struct type *type = check_typedef (value_type (arg));
-  unsigned int length = TYPE_LENGTH (type);
-  int write_mode = as->regcache != NULL;
-
-  if (s390_function_arg_float (type))
-    {
-      /* The GNU/Linux for S/390 ABI uses FPRs 0 and 2 to pass
-	 arguments.  The GNU/Linux for zSeries ABI uses 0, 2, 4, and
-	 6.  */
-      if (as->fr <= (tdep->abi == ABI_LINUX_S390 ? 2 : 6))
-	{
-	  /* When we store a single-precision value in an FP register,
-	     it occupies the leftmost bits.  */
-	  if (write_mode)
-	    regcache_cooked_write_part (as->regcache,
-					S390_F0_REGNUM + as->fr,
-					0, length,
-					value_contents (arg));
-	  as->fr += 2;
-	}
-      else
-	{
-	  /* When we store a single-precision value in a stack slot,
-	     it occupies the rightmost bits.  */
-	  as->argp = align_up (as->argp + length, word_size);
-	  if (write_mode)
-	    write_memory (as->argp - length, value_contents (arg),
-			  length);
-	}
-    }
-  else if (tdep->vector_abi == S390_VECTOR_ABI_128
-	   && s390_function_arg_vector (type))
-    {
-      static const char use_vr[] = {24, 26, 28, 30, 25, 27, 29, 31};
-
-      if (!is_unnamed && as->vr < ARRAY_SIZE (use_vr))
-	{
-	  int regnum = S390_V24_REGNUM + use_vr[as->vr] - 24;
-
-	  if (write_mode)
-	    regcache_cooked_write_part (as->regcache, regnum,
-					0, length,
-					value_contents (arg));
-	  as->vr++;
-	}
-      else
-	{
-	  if (write_mode)
-	    write_memory (as->argp, value_contents (arg), length);
-	  as->argp = align_up (as->argp + length, word_size);
-	}
-    }
-  else if (s390_function_arg_integer (type) && length <= word_size)
-    {
-      /* Initialize it just to avoid a GCC false warning.  */
-      ULONGEST val = 0;
-
-      if (write_mode)
-	{
-	  /* Place value in least significant bits of the register or
-	     memory word and sign- or zero-extend to full word size.
-	     This also applies to a struct or union.  */
-	  val = TYPE_UNSIGNED (type)
-	    ? extract_unsigned_integer (value_contents (arg),
-					length, byte_order)
-	    : extract_signed_integer (value_contents (arg),
-				      length, byte_order);
-	}
-
-      if (as->gr <= 6)
-	{
-	  if (write_mode)
-	    regcache_cooked_write_unsigned (as->regcache,
-					    S390_R0_REGNUM + as->gr,
-					    val);
-	  as->gr++;
-	}
-      else
-	{
-	  if (write_mode)
-	    write_memory_unsigned_integer (as->argp, word_size,
-					   byte_order, val);
-	  as->argp += word_size;
-	}
-    }
-  else if (s390_function_arg_integer (type) && length == 8)
-    {
-      if (as->gr <= 5)
-	{
-	  if (write_mode)
-	    {
-	      regcache_cooked_write (as->regcache,
-				     S390_R0_REGNUM + as->gr,
-				     value_contents (arg));
-	      regcache_cooked_write (as->regcache,
-				     S390_R0_REGNUM + as->gr + 1,
-				     value_contents (arg) + word_size);
-	    }
-	  as->gr += 2;
-	}
-      else
-	{
-	  /* If we skipped r6 because we couldn't fit a DOUBLE_ARG
-	     in it, then don't go back and use it again later.  */
-	  as->gr = 7;
-
-	  if (write_mode)
-	    write_memory (as->argp, value_contents (arg), length);
-	  as->argp += length;
-	}
-    }
-  else
-    {
-      /* This argument type is never passed in registers.  Place the
-	 value in the copy area and pass a pointer to it.  Use 8-byte
-	 alignment as a conservative assumption.  */
-      as->copy = align_down (as->copy - length, 8);
-      if (write_mode)
-	write_memory (as->copy, value_contents (arg), length);
-
-      if (as->gr <= 6)
-	{
-	  if (write_mode)
-	    regcache_cooked_write_unsigned (as->regcache,
-					    S390_R0_REGNUM + as->gr,
-					    as->copy);
-	  as->gr++;
-	}
-      else
-	{
-	  if (write_mode)
-	    write_memory_unsigned_integer (as->argp, word_size,
-					   byte_order, as->copy);
-	  as->argp += word_size;
-	}
-    }
-}
-
-/* Put the actual parameter values pointed to by ARGS[0..NARGS-1] in
-   place to be passed to a function, as specified by the "GNU/Linux
-   for S/390 ELF Application Binary Interface Supplement".
-
-   SP is the current stack pointer.  We must put arguments, links,
-   padding, etc. whereever they belong, and return the new stack
-   pointer value.
-
-   If STRUCT_RETURN is non-zero, then the function we're calling is
-   going to return a structure by value; STRUCT_ADDR is the address of
-   a block we've allocated for it on the stack.
-
-   Our caller has taken care of any type promotions needed to satisfy
-   prototypes or the old K&R argument-passing rules.  */
-
-static CORE_ADDR
-s390_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
-		      struct regcache *regcache, CORE_ADDR bp_addr,
-		      int nargs, struct value **args, CORE_ADDR sp,
-		      int struct_return, CORE_ADDR struct_addr)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  int i;
-  struct s390_arg_state arg_state, arg_prep;
-  CORE_ADDR param_area_start, new_sp;
-  struct type *ftype = check_typedef (value_type (function));
-
-  if (TYPE_CODE (ftype) == TYPE_CODE_PTR)
-    ftype = check_typedef (TYPE_TARGET_TYPE (ftype));
-
-  arg_prep.copy = sp;
-  arg_prep.gr = struct_return ? 3 : 2;
-  arg_prep.fr = 0;
-  arg_prep.vr = 0;
-  arg_prep.argp = 0;
-  arg_prep.regcache = NULL;
-
-  /* Initialize arg_state for "preparation mode".  */
-  arg_state = arg_prep;
-
-  /* Update arg_state.copy with the start of the reference-to-copy area
-     and arg_state.argp with the size of the parameter area.  */
-  for (i = 0; i < nargs; i++)
-    s390_handle_arg (&arg_state, args[i], tdep, word_size, byte_order,
-		     TYPE_VARARGS (ftype) && i >= TYPE_NFIELDS (ftype));
-
-  param_area_start = align_down (arg_state.copy - arg_state.argp, 8);
-
-  /* Allocate the standard frame areas: the register save area, the
-     word reserved for the compiler, and the back chain pointer.  */
-  new_sp = param_area_start - (16 * word_size + 32);
-
-  /* Now we have the final stack pointer.  Make sure we didn't
-     underflow; on 31-bit, this would result in addresses with the
-     high bit set, which causes confusion elsewhere.  Note that if we
-     error out here, stack and registers remain untouched.  */
-  if (gdbarch_addr_bits_remove (gdbarch, new_sp) != new_sp)
-    error (_("Stack overflow"));
-
-  /* Pass the structure return address in general register 2.  */
-  if (struct_return)
-    regcache_cooked_write_unsigned (regcache, S390_R2_REGNUM, struct_addr);
-
-  /* Initialize arg_state for "write mode".  */
-  arg_state = arg_prep;
-  arg_state.argp = param_area_start;
-  arg_state.regcache = regcache;
-
-  /* Write all parameters.  */
-  for (i = 0; i < nargs; i++)
-    s390_handle_arg (&arg_state, args[i], tdep, word_size, byte_order,
-		     TYPE_VARARGS (ftype) && i >= TYPE_NFIELDS (ftype));
-
-  /* Store return PSWA.  In 31-bit mode, keep addressing mode bit.  */
-  if (word_size == 4)
-    {
-      ULONGEST pswa;
-      regcache_cooked_read_unsigned (regcache, S390_PSWA_REGNUM, &pswa);
-      bp_addr = (bp_addr & 0x7fffffff) | (pswa & 0x80000000);
-    }
-  regcache_cooked_write_unsigned (regcache, S390_RETADDR_REGNUM, bp_addr);
-
-  /* Store updated stack pointer.  */
-  regcache_cooked_write_unsigned (regcache, S390_SP_REGNUM, new_sp);
-
-  /* We need to return the 'stack part' of the frame ID,
-     which is actually the top of the register save area.  */
-  return param_area_start;
-}
-
-/* Assuming THIS_FRAME is a dummy, return the frame ID of that
-   dummy frame.  The frame ID's base needs to match the TOS value
-   returned by push_dummy_call, and the PC match the dummy frame's
-   breakpoint.  */
-static struct frame_id
-s390_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
-{
-  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
-  CORE_ADDR sp = get_frame_register_unsigned (this_frame, S390_SP_REGNUM);
-  sp = gdbarch_addr_bits_remove (gdbarch, sp);
-
-  return frame_id_build (sp + 16*word_size + 32,
-			 get_frame_pc (this_frame));
-}
-
-static CORE_ADDR
-s390_frame_align (struct gdbarch *gdbarch, CORE_ADDR addr)
-{
-  /* Both the 32- and 64-bit ABI's say that the stack pointer should
-     always be aligned on an eight-byte boundary.  */
-  return (addr & -8);
-}
-
-
-/* Helper for s390_return_value: Set or retrieve a function return
-   value if it resides in a register.  */
-
-static void
-s390_register_return_value (struct gdbarch *gdbarch, struct type *type,
-			    struct regcache *regcache,
-			    gdb_byte *out, const gdb_byte *in)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
-  int length = TYPE_LENGTH (type);
-  int code = TYPE_CODE (type);
-
-  if (code == TYPE_CODE_FLT || code == TYPE_CODE_DECFLOAT)
-    {
-      /* Float-like value: left-aligned in f0.  */
-      if (in != NULL)
-	regcache_cooked_write_part (regcache, S390_F0_REGNUM,
-				    0, length, in);
-      else
-	regcache_cooked_read_part (regcache, S390_F0_REGNUM,
-				   0, length, out);
-    }
-  else if (code == TYPE_CODE_ARRAY)
-    {
-      /* Vector: left-aligned in v24.  */
-      if (in != NULL)
-	regcache_cooked_write_part (regcache, S390_V24_REGNUM,
-				    0, length, in);
-      else
-	regcache_cooked_read_part (regcache, S390_V24_REGNUM,
-				   0, length, out);
-    }
-  else if (length <= word_size)
-    {
-      /* Integer: zero- or sign-extended in r2.  */
-      if (out != NULL)
-	regcache_cooked_read_part (regcache, S390_R2_REGNUM,
-				   word_size - length, length, out);
-      else if (TYPE_UNSIGNED (type))
-	regcache_cooked_write_unsigned
-	  (regcache, S390_R2_REGNUM,
-	   extract_unsigned_integer (in, length, byte_order));
-      else
-	regcache_cooked_write_signed
-	  (regcache, S390_R2_REGNUM,
-	   extract_signed_integer (in, length, byte_order));
-    }
-  else if (length == 2 * word_size)
-    {
-      /* Double word: in r2 and r3.  */
-      if (in != NULL)
-	{
-	  regcache_cooked_write (regcache, S390_R2_REGNUM, in);
-	  regcache_cooked_write (regcache, S390_R3_REGNUM,
-				 in + word_size);
-	}
-      else
-	{
-	  regcache_cooked_read (regcache, S390_R2_REGNUM, out);
-	  regcache_cooked_read (regcache, S390_R3_REGNUM,
-				out + word_size);
-	}
-    }
-  else
-    internal_error (__FILE__, __LINE__, _("invalid return type"));
-}
-
-
-/* Implement the 'return_value' gdbarch method.  */
-
-static enum return_value_convention
-s390_return_value (struct gdbarch *gdbarch, struct value *function,
-		   struct type *type, struct regcache *regcache,
-		   gdb_byte *out, const gdb_byte *in)
-{
-  enum return_value_convention rvc;
-
-  type = check_typedef (type);
-
-  switch (TYPE_CODE (type))
-    {
-    case TYPE_CODE_STRUCT:
-    case TYPE_CODE_UNION:
-    case TYPE_CODE_COMPLEX:
-      rvc = RETURN_VALUE_STRUCT_CONVENTION;
-      break;
-    case TYPE_CODE_ARRAY:
-      rvc = (gdbarch_tdep (gdbarch)->vector_abi == S390_VECTOR_ABI_128
-	     && TYPE_LENGTH (type) <= 16 && TYPE_VECTOR (type))
-	? RETURN_VALUE_REGISTER_CONVENTION
-	: RETURN_VALUE_STRUCT_CONVENTION;
-      break;
-    default:
-      rvc = TYPE_LENGTH (type) <= 8
-	? RETURN_VALUE_REGISTER_CONVENTION
-	: RETURN_VALUE_STRUCT_CONVENTION;
-    }
-
-  if (in != NULL || out != NULL)
-    {
-      if (rvc == RETURN_VALUE_REGISTER_CONVENTION)
-	s390_register_return_value (gdbarch, type, regcache, out, in);
-      else if (in != NULL)
-	error (_("Cannot set function return value."));
-      else
-	error (_("Function return value unknown."));
-    }
-
-  return rvc;
-}
-
-
-/* Breakpoints.  */
-constexpr gdb_byte s390_break_insn[] = { 0x0, 0x1 };
-
-typedef BP_MANIPULATION (s390_break_insn) s390_breakpoint;
-
-/* Address handling.  */
-
-static CORE_ADDR
-s390_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr)
-{
-  return addr & 0x7fffffff;
-}
-
-static int
-s390_address_class_type_flags (int byte_size, int dwarf2_addr_class)
-{
-  if (byte_size == 4)
-    return TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1;
-  else
-    return 0;
-}
-
-static const char *
-s390_address_class_type_flags_to_name (struct gdbarch *gdbarch, int type_flags)
-{
-  if (type_flags & TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1)
-    return "mode32";
-  else
-    return NULL;
-}
-
-static int
-s390_address_class_name_to_type_flags (struct gdbarch *gdbarch,
-				       const char *name,
-				       int *type_flags_ptr)
-{
-  if (strcmp (name, "mode32") == 0)
-    {
-      *type_flags_ptr = TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1;
-      return 1;
-    }
-  else
-    return 0;
-}
-
-/* Implement gdbarch_gcc_target_options.  GCC does not know "-m32" or
-   "-mcmodel=large".  */
-
-static char *
-s390_gcc_target_options (struct gdbarch *gdbarch)
-{
-  return xstrdup (gdbarch_ptr_bit (gdbarch) == 64 ? "-m64" : "-m31");
-}
-
-/* Implement gdbarch_gnu_triplet_regexp.  Target triplets are "s390-*"
-   for 31-bit and "s390x-*" for 64-bit, while the BFD arch name is
-   always "s390".  Note that an s390x compiler supports "-m31" as
-   well.  */
-
-static const char *
-s390_gnu_triplet_regexp (struct gdbarch *gdbarch)
-{
-  return "s390x?";
-}
-
-/* Implementation of `gdbarch_stap_is_single_operand', as defined in
-   gdbarch.h.  */
-
-static int
-s390_stap_is_single_operand (struct gdbarch *gdbarch, const char *s)
-{
-  return ((isdigit (*s) && s[1] == '(' && s[2] == '%') /* Displacement
-							  or indirection.  */
-	  || *s == '%' /* Register access.  */
-	  || isdigit (*s)); /* Literal number.  */
-}
-
-/* Process record and replay helpers.  */
-
-/* Takes the intermediate sum of address calculations and masks off upper
-   bits according to current addressing mode.  */
-
-static CORE_ADDR
-s390_record_address_mask (struct gdbarch *gdbarch, struct regcache *regcache,
-                         CORE_ADDR val) {
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  ULONGEST pswm, pswa;
-  int am;
-  if (tdep->abi == ABI_LINUX_S390)
-    {
-      regcache_raw_read_unsigned (regcache, S390_PSWA_REGNUM, &pswa);
-      am = pswa >> 31 & 1;
-    }
-  else
-    {
-      regcache_raw_read_unsigned (regcache, S390_PSWM_REGNUM, &pswm);
-      am = pswm >> 31 & 3;
-    }
-  switch (am)
-    {
-    case 0:
-      return val & 0xffffff;
-    case 1:
-      return val & 0x7fffffff;
-    case 3:
-      return val;
-    default:
-      fprintf_unfiltered (gdb_stdlog, "Warning: Addressing mode %d used.", am);
-      return 0;
-    }
-}
-
-/* Calculates memory address using pre-calculated index, raw instruction word
-   with b and d/dl fields, and raw instruction byte with dh field.  Index and
-   dh should be set to 0 if unused.  */
-
-static CORE_ADDR
-s390_record_calc_disp_common (struct gdbarch *gdbarch, struct regcache *regcache,
-                             ULONGEST x, uint16_t bd, int8_t dh)
-{
-  uint8_t rb = bd >> 12 & 0xf;
-  int32_t d = (bd & 0xfff) | ((int32_t)dh << 12);
-  ULONGEST b;
-  CORE_ADDR res = d + x;
-  if (rb)
-    {
-      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + rb, &b);
-      res += b;
-    }
-  return s390_record_address_mask (gdbarch, regcache, res);
-}
-
-/* Calculates memory address using raw x, b + d/dl, dh fields from
-   instruction.  rx and dh should be set to 0 if unused.  */
-
-static CORE_ADDR
-s390_record_calc_disp (struct gdbarch *gdbarch, struct regcache *regcache,
-                      uint8_t rx, uint16_t bd, int8_t dh)
-{
-  ULONGEST x = 0;
-  if (rx)
-    regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + rx, &x);
-  return s390_record_calc_disp_common (gdbarch, regcache, x, bd, dh);
-}
-
-/* Calculates memory address for VSCE[GF] instructions.  */
-
-static int
-s390_record_calc_disp_vsce (struct gdbarch *gdbarch, struct regcache *regcache,
-                            uint8_t vx, uint8_t el, uint8_t es, uint16_t bd,
-                            int8_t dh, CORE_ADDR *res)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  ULONGEST x;
-  gdb_byte buf[16];
-  if (tdep->v0_full_regnum == -1 || el * es >= 16)
-    return -1;
-  if (vx < 16)
-    regcache_cooked_read (regcache, tdep->v0_full_regnum + vx, buf);
-  else
-    regcache_raw_read (regcache, S390_V16_REGNUM + vx - 16, buf);
-  x = extract_unsigned_integer (buf + el * es, es, byte_order);
-  *res = s390_record_calc_disp_common (gdbarch, regcache, x, bd, dh);
-  return 0;
-}
-
-/* Calculates memory address for instructions with relative long addressing.  */
-
-static CORE_ADDR
-s390_record_calc_rl (struct gdbarch *gdbarch, struct regcache *regcache,
-                    CORE_ADDR addr, uint16_t i1, uint16_t i2)
-{
-  int32_t ri = i1 << 16 | i2;
-  return s390_record_address_mask (gdbarch, regcache, addr + (LONGEST)ri * 2);
-}
-
-/* Population count helper.  */
-
-static int s390_popcnt (unsigned int x) {
-  int res = 0;
-  while (x)
-    {
-      if (x & 1)
-        res++;
-      x >>= 1;
-    }
-  return res;
-}
-
-/* Record 64-bit register.  */
-
-static int
-s390_record_gpr_g (struct gdbarch *gdbarch, struct regcache *regcache, int i)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
-    return -1;
-  if (tdep->abi == ABI_LINUX_S390)
-    if (record_full_arch_list_add_reg (regcache, S390_R0_UPPER_REGNUM + i))
-      return -1;
-  return 0;
-}
-
-/* Record high 32 bits of a register.  */
-
-static int
-s390_record_gpr_h (struct gdbarch *gdbarch, struct regcache *regcache, int i)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  if (tdep->abi == ABI_LINUX_S390)
-    {
-      if (record_full_arch_list_add_reg (regcache, S390_R0_UPPER_REGNUM + i))
-        return -1;
-    }
-  else
-    {
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
-        return -1;
-    }
-  return 0;
-}
-
-/* Record vector register.  */
-
-static int
-s390_record_vr (struct gdbarch *gdbarch, struct regcache *regcache, int i)
-{
-  if (i < 16)
-    {
-      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + i))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_V0_LOWER_REGNUM + i))
-        return -1;
-    }
-  else
-    {
-      if (record_full_arch_list_add_reg (regcache, S390_V16_REGNUM + i - 16))
-        return -1;
-    }
-  return 0;
-}
-
-static int
-s390_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
-                    CORE_ADDR addr)
-{
-  uint16_t insn[3] = {0};
-  /* Instruction as bytes.  */
-  uint8_t ibyte[6];
-  /* Instruction as nibbles.  */
-  uint8_t inib[12];
-  /* Instruction vector registers.  */
-  uint8_t ivec[4];
-  CORE_ADDR oaddr, oaddr2, oaddr3;
-  ULONGEST tmp;
-  int i, n;
-  /* if EX/EXRL instruction used, here's the reg parameter */
-  int ex = -1;
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-
-  /* Attempting to use EX or EXRL jumps back here */
-ex:
-
-  /* Read instruction.  */
-  insn[0] = read_memory_unsigned_integer (addr, 2, byte_order);
-  /* If execute was involved, do the adjustment.  */
-  if (ex != -1)
-    insn[0] |= ex & 0xff;
-  /* Two highest bits determine instruction size.  */
-  if (insn[0] >= 0x4000)
-    insn[1] = read_memory_unsigned_integer (addr+2, 2, byte_order);
-  else
-    /* Not necessary, but avoids uninitialized variable warnings.  */
-    insn[1] = 0;
-  if (insn[0] >= 0xc000)
-    insn[2] = read_memory_unsigned_integer (addr+4, 2, byte_order);
-  else
-    insn[2] = 0;
-  /* Split instruction into bytes and nibbles.  */
-  for (i = 0; i < 3; i++)
-    {
-      ibyte[i*2] = insn[i] >> 8 & 0xff;
-      ibyte[i*2+1] = insn[i] & 0xff;
-    }
-  for (i = 0; i < 6; i++)
-    {
-      inib[i*2] = ibyte[i] >> 4 & 0xf;
-      inib[i*2+1] = ibyte[i] & 0xf;
-    }
-  /* Compute vector registers, if applicable.  */
-  ivec[0] = (inib[9] >> 3 & 1) << 4 | inib[2];
-  ivec[1] = (inib[9] >> 2 & 1) << 4 | inib[3];
-  ivec[2] = (inib[9] >> 1 & 1) << 4 | inib[4];
-  ivec[3] = (inib[9] >> 0 & 1) << 4 | inib[8];
-
-  switch (ibyte[0])
-    {
-    /* 0x00 undefined */
-
-    case 0x01:
-      /* E-format instruction */
-      switch (ibyte[1])
-        {
-        /* 0x00 undefined */
-        /* 0x01 unsupported: PR - program return */
-        /* 0x02 unsupported: UPT */
-        /* 0x03 undefined */
-        /* 0x04 privileged: PTFF - perform timing facility function */
-        /* 0x05-0x06 undefined */
-        /* 0x07 privileged: SCKPF - set clock programmable field */
-        /* 0x08-0x09 undefined */
-
-        case 0x0a: /* PFPO - perform floating point operation */
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-          if (!(tmp & 0x80000000u))
-            {
-              uint8_t ofc = tmp >> 16 & 0xff;
-              switch (ofc)
-                {
-                case 0x00: /* HFP32 */
-                case 0x01: /* HFP64 */
-                case 0x05: /* BFP32 */
-                case 0x06: /* BFP64 */
-                case 0x08: /* DFP32 */
-                case 0x09: /* DFP64 */
-                  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM))
-                    return -1;
-                  break;
-                case 0x02: /* HFP128 */
-                case 0x07: /* BFP128 */
-                case 0x0a: /* DFP128 */
-                  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM))
-                    return -1;
-                  if (record_full_arch_list_add_reg (regcache, S390_F2_REGNUM))
-                    return -1;
-                  break;
-                default:
-                  fprintf_unfiltered (gdb_stdlog, "Warning: Unknown PFPO OFC %02x at %s.\n",
-                                      ofc, paddress (gdbarch, addr));
-                  return -1;
-                }
-
-              if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-                return -1;
-            }
-          if (record_full_arch_list_add_reg (regcache, S390_R1_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0x0b: /* TAM - test address mode */
-        case 0x0c: /* SAM24 - set address mode 24 */
-        case 0x0d: /* SAM31 - set address mode 31 */
-        case 0x0e: /* SAM64 - set address mode 64 */
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0x0f-0xfe undefined */
-
-        /* 0xff unsupported: TRAP */
-
-        default:
-          goto UNKNOWN_OP;
-        }
-      break;
-
-    /* 0x02 undefined */
-    /* 0x03 undefined */
-
-    case 0x04: /* SPM - set program mask */
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0x05: /* BALR - branch and link */
-    case 0x45: /* BAL - branch and link */
-    case 0x06: /* BCTR - branch on count */
-    case 0x46: /* BCT - branch on count */
-    case 0x0d: /* BASR - branch and save */
-    case 0x4d: /* BAS - branch and save */
-    case 0x84: /* BRXH - branch relative on index high */
-    case 0x85: /* BRXLE - branch relative on index low or equal */
-    case 0x86: /* BXH - branch on index high */
-    case 0x87: /* BXLE - branch on index low or equal */
-      /* BA[SL]* use native-size destination for linkage info, BCT*, BRX*, BX*
-         use 32-bit destination as counter.  */
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      break;
-
-    case 0x07: /* BCR - branch on condition */
-    case 0x47: /* BC - branch on condition */
-      /* No effect other than PC transfer.  */
-      break;
-
-    /* 0x08 undefined */
-    /* 0x09 undefined */
-
-    case 0x0a:
-      /* SVC - supervisor call */
-      if (s390_linux_syscall_record (regcache, ibyte[1]))
-        return -1;
-      break;
-
-    case 0x0b: /* BSM - branch and set mode */
-      if (inib[2])
-        if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-          return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0x0c: /* BASSM - branch and save and set mode */
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0x0e: /* MVCL - move long [interruptible] */
-      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[2], &tmp);
-      oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[2] | 1), &tmp);
-      tmp &= 0xffffff;
-      if (record_full_arch_list_add_mem (oaddr, tmp))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[3] | 1)))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0x0f: /* CLCL - compare logical long [interruptible] */
-    case 0xa9: /* CLCLE - compare logical long extended [partial] */
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[3] | 1)))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0x10: /* LPR - load positive */
-    case 0x11: /* LNR - load negative */
-    case 0x12: /* LTR - load and test */
-    case 0x13: /* LCR - load complement */
-    case 0x14: /* NR - and */
-    case 0x16: /* OR - or */
-    case 0x17: /* XR - xor */
-    case 0x1a: /* AR - add */
-    case 0x1b: /* SR - subtract */
-    case 0x1e: /* ALR - add logical */
-    case 0x1f: /* SLR - subtract logical */
-    case 0x54: /* N - and */
-    case 0x56: /* O - or */
-    case 0x57: /* X - xor */
-    case 0x5a: /* A - add */
-    case 0x5b: /* S - subtract */
-    case 0x5e: /* AL - add logical */
-    case 0x5f: /* SL - subtract logical */
-    case 0x4a: /* AH - add halfword */
-    case 0x4b: /* SH - subtract halfword */
-    case 0x8a: /* SRA - shift right single */
-    case 0x8b: /* SLA - shift left single */
-    case 0xbf: /* ICM - insert characters under mask */
-      /* 32-bit destination + flags */
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0x15: /* CLR - compare logical */
-    case 0x55: /* CL - compare logical */
-    case 0x19: /* CR - compare */
-    case 0x29: /* CDR - compare */
-    case 0x39: /* CER - compare */
-    case 0x49: /* CH - compare halfword */
-    case 0x59: /* C - compare */
-    case 0x69: /* CD - compare */
-    case 0x79: /* CE - compare */
-    case 0x91: /* TM - test under mask */
-    case 0x95: /* CLI - compare logical */
-    case 0xbd: /* CLM - compare logical under mask */
-    case 0xd5: /* CLC - compare logical */
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0x18: /* LR - load */
-    case 0x48: /* LH - load halfword */
-    case 0x58: /* L - load */
-    case 0x41: /* LA - load address */
-    case 0x43: /* IC - insert character */
-    case 0x4c: /* MH - multiply halfword */
-    case 0x71: /* MS - multiply single */
-    case 0x88: /* SRL - shift right single logical */
-    case 0x89: /* SLL - shift left single logical */
-      /* 32-bit, 8-bit (IC), or native width (LA) destination, no flags */
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      break;
-
-    case 0x1c: /* MR - multiply */
-    case 0x5c: /* M - multiply */
-    case 0x1d: /* DR - divide */
-    case 0x5d: /* D - divide */
-    case 0x8c: /* SRDL - shift right double logical */
-    case 0x8d: /* SLDL - shift left double logical */
-      /* 32-bit pair destination, no flags */
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
-        return -1;
-      break;
-
-    case 0x20: /* LPDR - load positive */
-    case 0x30: /* LPER - load positive */
-    case 0x21: /* LNDR - load negative */
-    case 0x31: /* LNER - load negative */
-    case 0x22: /* LTDR - load and test */
-    case 0x32: /* LTER - load and test */
-    case 0x23: /* LCDR - load complement */
-    case 0x33: /* LCER - load complement */
-    case 0x2a: /* ADR - add */
-    case 0x3a: /* AER - add */
-    case 0x6a: /* AD - add */
-    case 0x7a: /* AE - add */
-    case 0x2b: /* SDR - subtract */
-    case 0x3b: /* SER - subtract */
-    case 0x6b: /* SD - subtract */
-    case 0x7b: /* SE - subtract */
-    case 0x2e: /* AWR - add unnormalized */
-    case 0x3e: /* AUR - add unnormalized */
-    case 0x6e: /* AW - add unnormalized */
-    case 0x7e: /* AU - add unnormalized */
-    case 0x2f: /* SWR - subtract unnormalized */
-    case 0x3f: /* SUR - subtract unnormalized */
-    case 0x6f: /* SW - subtract unnormalized */
-    case 0x7f: /* SU - subtract unnormalized */
-      /* float destination + flags */
-      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0x24: /* HDR - halve */
-    case 0x34: /* HER - halve */
-    case 0x25: /* LDXR - load rounded */
-    case 0x35: /* LEDR - load rounded */
-    case 0x28: /* LDR - load */
-    case 0x38: /* LER - load */
-    case 0x68: /* LD - load */
-    case 0x78: /* LE - load */
-    case 0x2c: /* MDR - multiply */
-    case 0x3c: /* MDER - multiply */
-    case 0x6c: /* MD - multiply */
-    case 0x7c: /* MDE - multiply */
-    case 0x2d: /* DDR - divide */
-    case 0x3d: /* DER - divide */
-    case 0x6d: /* DD - divide */
-    case 0x7d: /* DE - divide */
-      /* float destination, no flags */
-      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
-        return -1;
-      break;
-
-    case 0x26: /* MXR - multiply */
-    case 0x27: /* MXDR - multiply */
-    case 0x67: /* MXD - multiply */
-      /* float pair destination, no flags */
-      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[2] | 2)))
-        return -1;
-      break;
-
-    case 0x36: /* AXR - add */
-    case 0x37: /* SXR - subtract */
-      /* float pair destination + flags */
-      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[2] | 2)))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0x40: /* STH - store halfword */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, 2))
-        return -1;
-      break;
-
-    case 0x42: /* STC - store character */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, 1))
-        return -1;
-      break;
-
-    case 0x44: /* EX - execute */
-      if (ex != -1)
-        {
-          fprintf_unfiltered (gdb_stdlog, "Warning: Double execute at %s.\n",
-                              paddress (gdbarch, addr));
-          return -1;
-        }
-      addr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
-      if (inib[2])
-        {
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[2], &tmp);
-          ex = tmp & 0xff;
-        }
-      else
-        {
-          ex = 0;
-        }
-      goto ex;
-
-    case 0x4e: /* CVD - convert to decimal */
-    case 0x60: /* STD - store */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, 8))
-        return -1;
-      break;
-
-    case 0x4f: /* CVB - convert to binary */
-      /* 32-bit gpr destination + FPC (DXC write) */
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-        return -1;
-      break;
-
-    case 0x50: /* ST - store */
-    case 0x70: /* STE - store */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, 4))
-        return -1;
-      break;
-
-    case 0x51: /* LAE - load address extended */
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + inib[2]))
-        return -1;
-      break;
-
-    /* 0x52 undefined */
-    /* 0x53 undefined */
-
-    /* 0x61-0x66 undefined */
-
-    /* 0x72-0x77 undefined */
-
-    /* 0x80 privileged: SSM - set system mask */
-    /* 0x81 undefined */
-    /* 0x82 privileged: LPSW - load PSW */
-    /* 0x83 privileged: diagnose */
-
-    case 0x8e: /* SRDA - shift right double */
-    case 0x8f: /* SLDA - shift left double */
-      /* 32-bit pair destination + flags */
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0x90: /* STM - store multiple */
-    case 0x9b: /* STAM - store access multiple */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (inib[2] <= inib[3])
-        n = inib[3] - inib[2] + 1;
-      else
-        n = inib[3] + 0x10 - inib[2] + 1;
-      if (record_full_arch_list_add_mem (oaddr, n * 4))
-        return -1;
-      break;
-
-    case 0x92: /* MVI - move */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, 1))
-        return -1;
-      break;
-
-    case 0x93: /* TS - test and set */
-    case 0x94: /* NI - and */
-    case 0x96: /* OI - or */
-    case 0x97: /* XI - xor */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, 1))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0x98: /* LM - load multiple */
-      for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
-        if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
-          return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
-        return -1;
-      break;
-
-    /* 0x99 privileged: TRACE */
-
-    case 0x9a: /* LAM - load access multiple */
-      for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
-        if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + i))
-          return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + inib[3]))
-        return -1;
-      break;
-
-    /* 0x9c-0x9f privileged and obsolete (old I/O) */
-    /* 0xa0-0xa4 undefined */
-
-    case 0xa5:
-    case 0xa7:
-      /* RI-format instruction */
-      switch (ibyte[0] << 4 | inib[3])
-        {
-        case 0xa50: /* IIHH - insert immediate */
-        case 0xa51: /* IIHL - insert immediate */
-          /* high 32-bit destination */
-          if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
-            return -1;
-          break;
-
-        case 0xa52: /* IILH - insert immediate */
-        case 0xa53: /* IILL - insert immediate */
-        case 0xa75: /* BRAS - branch relative and save */
-        case 0xa76: /* BRCT - branch relative on count */
-        case 0xa78: /* LHI - load halfword immediate */
-        case 0xa7c: /* MHI - multiply halfword immediate */
-          /* 32-bit or native destination */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          break;
-
-        case 0xa54: /* NIHH - and immediate */
-        case 0xa55: /* NIHL - and immediate */
-        case 0xa58: /* OIHH - or immediate */
-        case 0xa59: /* OIHL - or immediate */
-          /* high 32-bit destination + flags */
-          if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xa56: /* NILH - and immediate */
-        case 0xa57: /* NILL - and immediate */
-        case 0xa5a: /* OILH - or immediate */
-        case 0xa5b: /* OILL - or immediate */
-        case 0xa7a: /* AHI - add halfword immediate */
-          /* 32-bit destination + flags */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xa5c: /* LLIHH - load logical immediate */
-        case 0xa5d: /* LLIHL - load logical immediate */
-        case 0xa5e: /* LLILH - load logical immediate */
-        case 0xa5f: /* LLILL - load logical immediate */
-        case 0xa77: /* BRCTG - branch relative on count */
-        case 0xa79: /* LGHI - load halfword immediate */
-        case 0xa7d: /* MGHI - multiply halfword immediate */
-          /* 64-bit destination */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          break;
-
-        case 0xa70: /* TMLH - test under mask */
-        case 0xa71: /* TMLL - test under mask */
-        case 0xa72: /* TMHH - test under mask */
-        case 0xa73: /* TMHL - test under mask */
-        case 0xa7e: /* CHI - compare halfword immediate */
-        case 0xa7f: /* CGHI - compare halfword immediate */
-          /* flags only */
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xa74: /* BRC - branch relative on condition */
-          /* no register change */
-          break;
-
-        case 0xa7b: /* AGHI - add halfword immediate */
-          /* 64-bit destination + flags */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        default:
-          goto UNKNOWN_OP;
-        }
-      break;
-
-    /* 0xa6 undefined */
-
-    case 0xa8: /* MVCLE - move long extended [partial] */
-      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[2], &tmp);
-      oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[2] | 1), &tmp);
-      if (record_full_arch_list_add_mem (oaddr, tmp))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[3] | 1)))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    /* 0xaa-0xab undefined */
-    /* 0xac privileged: STNSM - store then and system mask */
-    /* 0xad privileged: STOSM - store then or system mask */
-    /* 0xae privileged: SIGP - signal processor */
-    /* 0xaf unsupported: MC - monitor call */
-    /* 0xb0 undefined */
-    /* 0xb1 privileged: LRA - load real address */
-
-    case 0xb2:
-    case 0xb3:
-    case 0xb9:
-      /* S/RRD/RRE/RRF/IE-format instruction */
-      switch (insn[0])
-        {
-        /* 0xb200-0xb204 undefined or privileged */
-
-        case 0xb205: /* STCK - store clock */
-        case 0xb27c: /* STCKF - store clock fast */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, 8))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb206-0xb219 undefined, privileged, or unsupported */
-        /* 0xb21a unsupported: CFC */
-        /* 0xb21b-0xb221 undefined or privileged */
-
-        case 0xb222: /* IPM - insert program mask */
-        case 0xb24f: /* EAR - extract access */
-        case 0xb252: /* MSR - multiply single */
-        case 0xb2ec: /* ETND - extract transaction nesting depth */
-        case 0xb38c: /* EFPC - extract fpc */
-        case 0xb91f: /* LRVR - load reversed */
-        case 0xb926: /* LBR - load byte */
-        case 0xb927: /* LHR - load halfword */
-        case 0xb994: /* LLCR - load logical character */
-        case 0xb995: /* LLHR - load logical halfword */
-        case 0xb9f2: /* LOCR - load on condition */
-          /* 32-bit gpr destination */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          break;
-
-        /* 0xb223-0xb22c privileged or unsupported */
-
-        case 0xb22d: /* DXR - divide */
-        case 0xb325: /* LXDR - load lengthened */
-        case 0xb326: /* LXER - load lengthened */
-        case 0xb336: /* SQXR - square root */
-        case 0xb365: /* LXR - load */
-        case 0xb367: /* FIXR - load fp integer */
-        case 0xb376: /* LZXR - load zero */
-        case 0xb3b6: /* CXFR - convert from fixed */
-        case 0xb3c6: /* CXGR - convert from fixed */
-        case 0xb3fe: /* IEXTR - insert biased exponent */
-          /* float pair destination */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[6] | 2)))
-            return -1;
-          break;
-
-        /* 0xb22e-0xb240 undefined, privileged, or unsupported */
-
-        case 0xb241: /* CKSM - checksum [partial] */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb242-0xb243 undefined */
-
-        case 0xb244: /* SQDR - square root */
-        case 0xb245: /* SQER - square root */
-        case 0xb324: /* LDER - load lengthened */
-        case 0xb337: /* MEER - multiply */
-        case 0xb366: /* LEXR - load rounded */
-        case 0xb370: /* LPDFR - load positive */
-        case 0xb371: /* LNDFR - load negative */
-        case 0xb372: /* CSDFR - copy sign */
-        case 0xb373: /* LCDFR - load complement */
-        case 0xb374: /* LZER - load zero */
-        case 0xb375: /* LZDR - load zero */
-        case 0xb377: /* FIER - load fp integer */
-        case 0xb37f: /* FIDR - load fp integer */
-        case 0xb3b4: /* CEFR - convert from fixed */
-        case 0xb3b5: /* CDFR - convert from fixed */
-        case 0xb3c1: /* LDGR - load fpr from gr */
-        case 0xb3c4: /* CEGR - convert from fixed */
-        case 0xb3c5: /* CDGR - convert from fixed */
-        case 0xb3f6: /* IEDTR - insert biased exponent */
-          /* float destination */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
-            return -1;
-          break;
-
-        /* 0xb246-0xb24c: privileged or unsupported */
-
-        case 0xb24d: /* CPYA - copy access */
-        case 0xb24e: /* SAR - set access */
-          if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + inib[6]))
-            return -1;
-          break;
-
-        /* 0xb250-0xb251 undefined or privileged */
-        /* 0xb253-0xb254 undefined or privileged */
-
-        case 0xb255: /* MVST - move string [partial] */
-          {
-            uint8_t end;
-            gdb_byte cur;
-            ULONGEST num = 0;
-            /* Read ending byte.  */
-            regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-            end = tmp & 0xff;
-            /* Get address of second operand.  */
-            regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[7], &tmp);
-            oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-            /* Search for ending byte and compute length.  */
-            do {
-              num++;
-              if (target_read_memory (oaddr, &cur, 1))
-                return -1;
-              oaddr++;
-            } while (cur != end);
-            /* Get address of first operand and record it.  */
-            regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
-            oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-            if (record_full_arch_list_add_mem (oaddr, num))
-              return -1;
-            /* Record the registers.  */
-            if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-              return -1;
-            if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-              return -1;
-            if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-              return -1;
-          }
-          break;
-
-        /* 0xb256 undefined */
-
-        case 0xb257: /* CUSE - compare until substring equal [interruptible] */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb258-0xb25c undefined, privileged, or unsupported */
-
-        case 0xb25d: /* CLST - compare logical string [partial] */
-        case 0xb25e: /* SRST - search string [partial] */
-        case 0xb9be: /* SRSTU - search string unicode [partial] */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb25f-0xb262 undefined */
-
-        case 0xb263: /* CMPSC - compression call [interruptible] */
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[6] | 1), &tmp);
-          if (record_full_arch_list_add_mem (oaddr, tmp))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R1_REGNUM))
-            return -1;
-          /* DXC may be written */
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb264-0xb277 undefined, privileged, or unsupported */
-
-        case 0xb278: /* STCKE - store clock extended */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, 16))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb279-0xb27b undefined or unsupported */
-        /* 0xb27d-0xb298 undefined or privileged */
-
-        case 0xb299: /* SRNM - set rounding mode */
-        case 0xb2b8: /* SRNMB - set bfp rounding mode */
-        case 0xb2b9: /* SRNMT - set dfp rounding mode */
-        case 0xb29d: /* LFPC - load fpc */
-        case 0xb2bd: /* LFAS - load fpc and signal */
-        case 0xb384: /* SFPC - set fpc */
-        case 0xb385: /* SFASR - set fpc and signal */
-        case 0xb960: /* CGRT - compare and trap */
-        case 0xb961: /* CLGRT - compare logical and trap */
-        case 0xb972: /* CRT - compare and trap */
-        case 0xb973: /* CLRT - compare logical and trap */
-          /* fpc only - including possible DXC write for trapping insns */
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb29a-0xb29b undefined */
-
-        case 0xb29c: /* STFPC - store fpc */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, 4))
-            return -1;
-          break;
-
-        /* 0xb29e-0xb2a4 undefined */
-
-        case 0xb2a5: /* TRE - translate extended [partial] */
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[6] | 1), &tmp);
-          if (record_full_arch_list_add_mem (oaddr, tmp))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xb2a6: /* CU21 - convert UTF-16 to UTF-8 [partial] */
-        case 0xb2a7: /* CU12 - convert UTF-8 to UTF-16 [partial] */
-        case 0xb9b0: /* CU14 - convert UTF-8 to UTF-32 [partial] */
-        case 0xb9b1: /* CU24 - convert UTF-16 to UTF-32 [partial] */
-        case 0xb9b2: /* CU41 - convert UTF-32 to UTF-8 [partial] */
-        case 0xb9b3: /* CU42 - convert UTF-32 to UTF-16 [partial] */
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[6] | 1), &tmp);
-          if (record_full_arch_list_add_mem (oaddr, tmp))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb2a8-0xb2af undefined */
-
-        case 0xb2b0: /* STFLE - store facility list extended */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-          tmp &= 0xff;
-          if (record_full_arch_list_add_mem (oaddr, 8 * (tmp + 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb2b1-0xb2b7 undefined or privileged */
-        /* 0xb2ba-0xb2bc undefined */
-        /* 0xb2be-0xb2e7 undefined */
-        /* 0xb2e9-0xb2eb undefined */
-        /* 0xb2ed-0xb2f7 undefined */
-        /* 0xb2f8 unsupported: TEND */
-        /* 0xb2f9 undefined */
-
-        case 0xb2e8: /* PPA - perform processor assist */
-        case 0xb2fa: /* NIAI - next instruction access intent */
-          /* no visible effects */
-          break;
-
-        /* 0xb2fb undefined */
-        /* 0xb2fc unsupported: TABORT */
-        /* 0xb2fd-0xb2fe undefined */
-        /* 0xb2ff unsupported: TRAP */
-
-        case 0xb300: /* LPEBR - load positive */
-        case 0xb301: /* LNEBR - load negative */
-        case 0xb303: /* LCEBR - load complement */
-        case 0xb310: /* LPDBR - load positive */
-        case 0xb311: /* LNDBR - load negative */
-        case 0xb313: /* LCDBR - load complement */
-        case 0xb350: /* TBEDR - convert hfp to bfp */
-        case 0xb351: /* TBDR - convert hfp to bfp */
-        case 0xb358: /* THDER - convert bfp to hfp */
-        case 0xb359: /* THDR - convert bfp to hfp */
-          /* float destination + flags */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xb304: /* LDEBR - load lengthened */
-        case 0xb30c: /* MDEBR - multiply */
-        case 0xb30d: /* DEBR - divide */
-        case 0xb314: /* SQEBR - square root */
-        case 0xb315: /* SQDBR - square root */
-        case 0xb317: /* MEEBR - multiply */
-        case 0xb31c: /* MDBR - multiply */
-        case 0xb31d: /* DDBR - divide */
-        case 0xb344: /* LEDBRA - load rounded */
-        case 0xb345: /* LDXBRA - load rounded */
-        case 0xb346: /* LEXBRA - load rounded */
-        case 0xb357: /* FIEBRA - load fp integer */
-        case 0xb35f: /* FIDBRA - load fp integer */
-        case 0xb390: /* CELFBR - convert from logical */
-        case 0xb391: /* CDLFBR - convert from logical */
-        case 0xb394: /* CEFBR - convert from fixed */
-        case 0xb395: /* CDFBR - convert from fixed */
-        case 0xb3a0: /* CELGBR - convert from logical */
-        case 0xb3a1: /* CDLGBR - convert from logical */
-        case 0xb3a4: /* CEGBR - convert from fixed */
-        case 0xb3a5: /* CDGBR - convert from fixed */
-        case 0xb3d0: /* MDTR - multiply */
-        case 0xb3d1: /* DDTR - divide */
-        case 0xb3d4: /* LDETR - load lengthened */
-        case 0xb3d5: /* LEDTR - load lengthened */
-        case 0xb3d7: /* FIDTR - load fp integer */
-        case 0xb3dd: /* LDXTR - load lengthened */
-        case 0xb3f1: /* CDGTR - convert from fixed */
-        case 0xb3f2: /* CDUTR - convert from unsigned packed */
-        case 0xb3f3: /* CDSTR - convert from signed packed */
-        case 0xb3f5: /* QADTR - quantize */
-        case 0xb3f7: /* RRDTR - reround */
-        case 0xb951: /* CDFTR - convert from fixed */
-        case 0xb952: /* CDLGTR - convert from logical */
-        case 0xb953: /* CDLFTR - convert from logical */
-          /* float destination + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xb305: /* LXDBR - load lengthened */
-        case 0xb306: /* LXEBR - load lengthened */
-        case 0xb307: /* MXDBR - multiply */
-        case 0xb316: /* SQXBR - square root */
-        case 0xb34c: /* MXBR - multiply */
-        case 0xb34d: /* DXBR - divide */
-        case 0xb347: /* FIXBRA - load fp integer */
-        case 0xb392: /* CXLFBR - convert from logical */
-        case 0xb396: /* CXFBR - convert from fixed */
-        case 0xb3a2: /* CXLGBR - convert from logical */
-        case 0xb3a6: /* CXGBR - convert from fixed */
-        case 0xb3d8: /* MXTR - multiply */
-        case 0xb3d9: /* DXTR - divide */
-        case 0xb3dc: /* LXDTR - load lengthened */
-        case 0xb3df: /* FIXTR - load fp integer */
-        case 0xb3f9: /* CXGTR - convert from fixed */
-        case 0xb3fa: /* CXUTR - convert from unsigned packed */
-        case 0xb3fb: /* CXSTR - convert from signed packed */
-        case 0xb3fd: /* QAXTR - quantize */
-        case 0xb3ff: /* RRXTR - reround */
-        case 0xb959: /* CXFTR - convert from fixed */
-        case 0xb95a: /* CXLGTR - convert from logical */
-        case 0xb95b: /* CXLFTR - convert from logical */
-          /* float pair destination + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[6] | 2)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xb308: /* KEBR - compare and signal */
-        case 0xb309: /* CEBR - compare */
-        case 0xb318: /* KDBR - compare and signal */
-        case 0xb319: /* CDBR - compare */
-        case 0xb348: /* KXBR - compare and signal */
-        case 0xb349: /* CXBR - compare */
-        case 0xb3e0: /* KDTR - compare and signal */
-        case 0xb3e4: /* CDTR - compare */
-        case 0xb3e8: /* KXTR - compare and signal */
-        case 0xb3ec: /* CXTR - compare */
-          /* flags + fpc only */
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xb302: /* LTEBR - load and test */
-        case 0xb312: /* LTDBR - load and test */
-        case 0xb30a: /* AEBR - add */
-        case 0xb30b: /* SEBR - subtract */
-        case 0xb31a: /* ADBR - add */
-        case 0xb31b: /* SDBR - subtract */
-        case 0xb3d2: /* ADTR - add */
-        case 0xb3d3: /* SDTR - subtract */
-        case 0xb3d6: /* LTDTR - load and test */
-          /* float destination + flags + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xb30e: /* MAEBR - multiply and add */
-        case 0xb30f: /* MSEBR - multiply and subtract */
-        case 0xb31e: /* MADBR - multiply and add */
-        case 0xb31f: /* MSDBR - multiply and subtract */
-          /* float destination [RRD] + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[4]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb320-0xb323 undefined */
-        /* 0xb327-0xb32d undefined */
-
-        case 0xb32e: /* MAER - multiply and add */
-        case 0xb32f: /* MSER - multiply and subtract */
-        case 0xb338: /* MAYLR - multiply and add unnormalized */
-        case 0xb339: /* MYLR - multiply unnormalized */
-        case 0xb33c: /* MAYHR - multiply and add unnormalized */
-        case 0xb33d: /* MYHR - multiply unnormalized */
-        case 0xb33e: /* MADR - multiply and add */
-        case 0xb33f: /* MSDR - multiply and subtract */
-          /* float destination [RRD] */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[4]))
-            return -1;
-          break;
-
-        /* 0xb330-0xb335 undefined */
-
-        case 0xb33a: /* MAYR - multiply and add unnormalized */
-        case 0xb33b: /* MYR - multiply unnormalized */
-          /* float pair destination [RRD] */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[4]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[4] | 2)))
-            return -1;
-          break;
-
-        case 0xb340: /* LPXBR - load positive */
-        case 0xb341: /* LNXBR - load negative */
-        case 0xb343: /* LCXBR - load complement */
-        case 0xb360: /* LPXR - load positive */
-        case 0xb361: /* LNXR - load negative */
-        case 0xb362: /* LTXR - load and test */
-        case 0xb363: /* LCXR - load complement */
-          /* float pair destination + flags */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[6] | 2)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xb342: /* LTXBR - load and test */
-        case 0xb34a: /* AXBR - add */
-        case 0xb34b: /* SXBR - subtract */
-        case 0xb3da: /* AXTR - add */
-        case 0xb3db: /* SXTR - subtract */
-        case 0xb3de: /* LTXTR - load and test */
-          /* float pair destination + flags + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[6] | 2)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb34e-0xb34f undefined */
-        /* 0xb352 undefined */
-
-        case 0xb353: /* DIEBR - divide to integer */
-        case 0xb35b: /* DIDBR - divide to integer */
-          /* two float destinations + flags + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[4]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb354-0xb356 undefined */
-        /* 0xb35a undefined */
-
-        /* 0xb35c-0xb35e undefined */
-        /* 0xb364 undefined */
-        /* 0xb368 undefined */
-
-        case 0xb369: /* CXR - compare */
-        case 0xb3f4: /* CEDTR - compare biased exponent */
-        case 0xb3fc: /* CEXTR - compare biased exponent */
-        case 0xb920: /* CGR - compare */
-        case 0xb921: /* CLGR - compare logical */
-        case 0xb930: /* CGFR - compare */
-        case 0xb931: /* CLGFR - compare logical */
-        case 0xb9cd: /* CHHR - compare high */
-        case 0xb9cf: /* CLHHR - compare logical high */
-        case 0xb9dd: /* CHLR - compare high */
-        case 0xb9df: /* CLHLR - compare logical high */
-          /* flags only */
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb36a-0xb36f undefined */
-        /* 0xb377-0xb37e undefined */
-        /* 0xb380-0xb383 undefined */
-        /* 0xb386-0xb38b undefined */
-        /* 0xb38d-0xb38f undefined */
-        /* 0xb393 undefined */
-        /* 0xb397 undefined */
-
-        case 0xb398: /* CFEBR - convert to fixed */
-        case 0xb399: /* CFDBR - convert to fixed */
-        case 0xb39a: /* CFXBR - convert to fixed */
-        case 0xb39c: /* CLFEBR - convert to logical */
-        case 0xb39d: /* CLFDBR - convert to logical */
-        case 0xb39e: /* CLFXBR - convert to logical */
-        case 0xb941: /* CFDTR - convert to fixed */
-        case 0xb949: /* CFXTR - convert to fixed */
-        case 0xb943: /* CLFDTR - convert to logical */
-        case 0xb94b: /* CLFXTR - convert to logical */
-          /* 32-bit gpr destination + flags + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb39b undefined */
-        /* 0xb39f undefined */
-
-        /* 0xb3a3 undefined */
-        /* 0xb3a7 undefined */
-
-        case 0xb3a8: /* CGEBR - convert to fixed */
-        case 0xb3a9: /* CGDBR - convert to fixed */
-        case 0xb3aa: /* CGXBR - convert to fixed */
-        case 0xb3ac: /* CLGEBR - convert to logical */
-        case 0xb3ad: /* CLGDBR - convert to logical */
-        case 0xb3ae: /* CLGXBR - convert to logical */
-        case 0xb3e1: /* CGDTR - convert to fixed */
-        case 0xb3e9: /* CGXTR - convert to fixed */
-        case 0xb942: /* CLGDTR - convert to logical */
-        case 0xb94a: /* CLGXTR - convert to logical */
-          /* 64-bit gpr destination + flags + fpc */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb3ab undefined */
-        /* 0xb3af-0xb3b3 undefined */
-        /* 0xb3b7 undefined */
-
-        case 0xb3b8: /* CFER - convert to fixed */
-        case 0xb3b9: /* CFDR - convert to fixed */
-        case 0xb3ba: /* CFXR - convert to fixed */
-        case 0xb998: /* ALCR - add logical with carry */
-        case 0xb999: /* SLBR - subtract logical with borrow */
-        case 0xb9f4: /* NRK - and */
-        case 0xb9f6: /* ORK - or */
-        case 0xb9f7: /* XRK - xor */
-        case 0xb9f8: /* ARK - add */
-        case 0xb9f9: /* SRK - subtract */
-        case 0xb9fa: /* ALRK - add logical */
-        case 0xb9fb: /* SLRK - subtract logical */
-          /* 32-bit gpr destination + flags */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xb3c8: /* CGER - convert to fixed */
-        case 0xb3c9: /* CGDR - convert to fixed */
-        case 0xb3ca: /* CGXR - convert to fixed */
-        case 0xb900: /* LPGR - load positive */
-        case 0xb901: /* LNGR - load negative */
-        case 0xb902: /* LTGR - load and test */
-        case 0xb903: /* LCGR - load complement */
-        case 0xb908: /* AGR - add */
-        case 0xb909: /* SGR - subtract */
-        case 0xb90a: /* ALGR - add logical */
-        case 0xb90b: /* SLGR - subtract logical */
-        case 0xb910: /* LPGFR - load positive */
-        case 0xb911: /* LNGFR - load negative */
-        case 0xb912: /* LTGFR - load and test */
-        case 0xb913: /* LCGFR - load complement */
-        case 0xb918: /* AGFR - add */
-        case 0xb919: /* SGFR - subtract */
-        case 0xb91a: /* ALGFR - add logical */
-        case 0xb91b: /* SLGFR - subtract logical */
-        case 0xb980: /* NGR - and */
-        case 0xb981: /* OGR - or */
-        case 0xb982: /* XGR - xor */
-        case 0xb988: /* ALCGR - add logical with carry */
-        case 0xb989: /* SLBGR - subtract logical with borrow */
-        case 0xb9e1: /* POPCNT - population count */
-        case 0xb9e4: /* NGRK - and */
-        case 0xb9e6: /* OGRK - or */
-        case 0xb9e7: /* XGRK - xor */
-        case 0xb9e8: /* AGRK - add */
-        case 0xb9e9: /* SGRK - subtract */
-        case 0xb9ea: /* ALGRK - add logical */
-        case 0xb9eb: /* SLGRK - subtract logical */
-	case 0xb9ed: /* MSGRKC - multiply single 64x64 -> 64 */
-	case 0xb9fd: /* MSRKC - multiply single 32x32 -> 32 */
-          /* 64-bit gpr destination + flags */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb3bb-0xb3c0 undefined */
-        /* 0xb3c2-0xb3c3 undefined */
-        /* 0xb3c7 undefined */
-        /* 0xb3cb-0xb3cc undefined */
-
-        case 0xb3cd: /* LGDR - load gr from fpr */
-        case 0xb3e2: /* CUDTR - convert to unsigned packed */
-        case 0xb3e3: /* CSDTR - convert to signed packed */
-        case 0xb3e5: /* EEDTR - extract biased exponent */
-        case 0xb3e7: /* ESDTR - extract significance */
-        case 0xb3ed: /* EEXTR - extract biased exponent */
-        case 0xb3ef: /* ESXTR - extract significance */
-        case 0xb904: /* LGR - load */
-        case 0xb906: /* LGBR - load byte */
-        case 0xb907: /* LGHR - load halfword */
-        case 0xb90c: /* MSGR - multiply single */
-        case 0xb90f: /* LRVGR - load reversed */
-        case 0xb914: /* LGFR - load */
-        case 0xb916: /* LLGFR - load logical */
-        case 0xb917: /* LLGTR - load logical thirty one bits */
-	case 0xb91c: /* MSGFR - multiply single 64<32 */
-        case 0xb946: /* BCTGR - branch on count */
-        case 0xb984: /* LLGCR - load logical character */
-        case 0xb985: /* LLGHR - load logical halfword */
-        case 0xb9e2: /* LOCGR - load on condition */
-          /* 64-bit gpr destination  */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[6]))
-            return -1;
-          break;
-
-        /* 0xb3ce-0xb3cf undefined */
-        /* 0xb3e6 undefined */
-
-        case 0xb3ea: /* CUXTR - convert to unsigned packed */
-        case 0xb3eb: /* CSXTR - convert to signed packed */
-        case 0xb90d: /* DSGR - divide single */
-        case 0xb91d: /* DSGFR - divide single */
-        case 0xb986: /* MLGR - multiply logical */
-        case 0xb987: /* DLGR - divide logical */
-	case 0xb9ec: /* MGRK - multiply 64x64 -> 128 */
-          /* 64-bit gpr pair destination  */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[6]))
-            return -1;
-          if (s390_record_gpr_g (gdbarch, regcache, inib[6] | 1))
-            return -1;
-          break;
-
-        /* 0xb3ee undefined */
-        /* 0xb3f0 undefined */
-        /* 0xb3f8 undefined */
-
-        /* 0xb905 privileged */
-
-        /* 0xb90e unsupported: EREGG */
-
-        /* 0xb915 undefined */
-
-        case 0xb91e: /* KMAC - compute message authentication code [partial] */
-          regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-          tmp &= 0xff;
-          switch (tmp)
-            {
-              case 0x00: /* KMAC-Query */
-                if (record_full_arch_list_add_mem (oaddr, 16))
-                  return -1;
-                break;
-
-              case 0x01: /* KMAC-DEA */
-              case 0x02: /* KMAC-TDEA-128 */
-              case 0x03: /* KMAC-TDEA-192 */
-              case 0x09: /* KMAC-Encrypted-DEA */
-              case 0x0a: /* KMAC-Encrypted-TDEA-128 */
-              case 0x0b: /* KMAC-Encrypted-TDEA-192 */
-                if (record_full_arch_list_add_mem (oaddr, 8))
-                  return -1;
-                break;
-
-              case 0x12: /* KMAC-AES-128 */
-              case 0x13: /* KMAC-AES-192 */
-              case 0x14: /* KMAC-AES-256 */
-              case 0x1a: /* KMAC-Encrypted-AES-128 */
-              case 0x1b: /* KMAC-Encrypted-AES-192 */
-              case 0x1c: /* KMAC-Encrypted-AES-256 */
-                if (record_full_arch_list_add_mem (oaddr, 16))
-                  return -1;
-                break;
-
-              default:
-                fprintf_unfiltered (gdb_stdlog, "Warning: Unknown KMAC function %02x at %s.\n",
-                                    (int)tmp, paddress (gdbarch, addr));
-                return -1;
-            }
-          if (tmp != 0)
-            {
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
-                return -1;
-            }
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb922-0xb924 undefined */
-        /* 0xb925 privileged */
-        /* 0xb928 privileged */
-
-	case 0xb929: /* KMA - cipher message with authentication */
-        case 0xb92a: /* KMF - cipher message with cipher feedback [partial] */
-        case 0xb92b: /* KMO - cipher message with output feedback [partial] */
-        case 0xb92f: /* KMC - cipher message with chaining [partial] */
-          regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-          tmp &= 0x7f;
-          switch (tmp)
-            {
-              case 0x00: /* KM*-Query */
-                if (record_full_arch_list_add_mem (oaddr, 16))
-                  return -1;
-                break;
-
-              case 0x01: /* KM*-DEA */
-              case 0x02: /* KM*-TDEA-128 */
-              case 0x03: /* KM*-TDEA-192 */
-              case 0x09: /* KM*-Encrypted-DEA */
-              case 0x0a: /* KM*-Encrypted-TDEA-128 */
-              case 0x0b: /* KM*-Encrypted-TDEA-192 */
-                if (record_full_arch_list_add_mem (oaddr, 8))
-                  return -1;
-                break;
-
-              case 0x12: /* KM*-AES-128 */
-              case 0x13: /* KM*-AES-192 */
-              case 0x14: /* KM*-AES-256 */
-              case 0x1a: /* KM*-Encrypted-AES-128 */
-              case 0x1b: /* KM*-Encrypted-AES-192 */
-              case 0x1c: /* KM*-Encrypted-AES-256 */
-                if (record_full_arch_list_add_mem (oaddr, 16))
-                  return -1;
-                break;
-
-              case 0x43: /* KMC-PRNG */
-                /* Only valid for KMC.  */
-                if (insn[0] == 0xb92f)
-                  {
-                    if (record_full_arch_list_add_mem (oaddr, 8))
-                      return -1;
-                    break;
-                  }
-                /* For other instructions, fallthru.  */
-              default:
-                fprintf_unfiltered (gdb_stdlog, "Warning: Unknown KM* function %02x at %s.\n",
-                                    (int)tmp, paddress (gdbarch, addr));
-                return -1;
-            }
-          if (tmp != 0)
-            {
-              regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
-              oaddr2 = s390_record_address_mask (gdbarch, regcache, tmp);
-              regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[7] | 1), &tmp);
-              if (record_full_arch_list_add_mem (oaddr2, tmp))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
-                return -1;
-            }
-	  if (tmp != 0 && insn[0] == 0xb929)
-	    {
-	      if (record_full_arch_list_add_reg (regcache,
-						 S390_R0_REGNUM + inib[4]))
-		return -1;
-	      if (record_full_arch_list_add_reg (regcache,
-						 S390_R0_REGNUM + (inib[4] | 1)))
-		return -1;
-	    }
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xb92c: /* PCC - perform cryptographic computation [partial] */
-          regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-          tmp &= 0x7f;
-          switch (tmp)
-            {
-              case 0x00: /* PCC-Query */
-                if (record_full_arch_list_add_mem (oaddr, 16))
-                  return -1;
-                break;
-
-              case 0x01: /* PCC-Compute-Last-Block-CMAC-Using-DEA */
-              case 0x02: /* PCC-Compute-Last-Block-CMAC-Using-TDEA-128 */
-              case 0x03: /* PCC-Compute-Last-Block-CMAC-Using-TDEA-192 */
-              case 0x09: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-DEA */
-              case 0x0a: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-TDEA-128 */
-              case 0x0b: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-TDEA-192 */
-                if (record_full_arch_list_add_mem (oaddr + 0x10, 8))
-                  return -1;
-                break;
-
-              case 0x12: /* PCC-Compute-Last-Block-CMAC-Using-AES-128 */
-              case 0x13: /* PCC-Compute-Last-Block-CMAC-Using-AES-192 */
-              case 0x14: /* PCC-Compute-Last-Block-CMAC-Using-AES-256 */
-              case 0x1a: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-AES-128 */
-              case 0x1b: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-AES-192 */
-              case 0x1c: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-AES-256 */
-                if (record_full_arch_list_add_mem (oaddr + 0x18, 16))
-                  return -1;
-                break;
-
-              case 0x32: /* PCC-Compute-XTS-Parameter-Using-AES-128 */
-                if (record_full_arch_list_add_mem (oaddr + 0x30, 32))
-                  return -1;
-                break;
-
-              case 0x34: /* PCC-Compute-XTS-Parameter-Using-AES-256 */
-                if (record_full_arch_list_add_mem (oaddr + 0x40, 32))
-                  return -1;
-                break;
-
-              case 0x3a: /* PCC-Compute-XTS-Parameter-Using-Encrypted-AES-128 */
-                if (record_full_arch_list_add_mem (oaddr + 0x50, 32))
-                  return -1;
-                break;
-
-              case 0x3c: /* PCC-Compute-XTS-Parameter-Using-Encrypted-AES-256 */
-                if (record_full_arch_list_add_mem (oaddr + 0x60, 32))
-                  return -1;
-                break;
-
-              default:
-                fprintf_unfiltered (gdb_stdlog, "Warning: Unknown PCC function %02x at %s.\n",
-                                    (int)tmp, paddress (gdbarch, addr));
-                return -1;
-            }
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xb92d: /* KMCTR - cipher message with counter [partial] */
-          regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-          tmp &= 0x7f;
-          switch (tmp)
-            {
-              case 0x00: /* KMCTR-Query */
-                if (record_full_arch_list_add_mem (oaddr, 16))
-                  return -1;
-                break;
-
-              case 0x01: /* KMCTR-DEA */
-              case 0x02: /* KMCTR-TDEA-128 */
-              case 0x03: /* KMCTR-TDEA-192 */
-              case 0x09: /* KMCTR-Encrypted-DEA */
-              case 0x0a: /* KMCTR-Encrypted-TDEA-128 */
-              case 0x0b: /* KMCTR-Encrypted-TDEA-192 */
-              case 0x12: /* KMCTR-AES-128 */
-              case 0x13: /* KMCTR-AES-192 */
-              case 0x14: /* KMCTR-AES-256 */
-              case 0x1a: /* KMCTR-Encrypted-AES-128 */
-              case 0x1b: /* KMCTR-Encrypted-AES-192 */
-              case 0x1c: /* KMCTR-Encrypted-AES-256 */
-                break;
-
-              default:
-                fprintf_unfiltered (gdb_stdlog, "Warning: Unknown KMCTR function %02x at %s.\n",
-                                    (int)tmp, paddress (gdbarch, addr));
-                return -1;
-            }
-          if (tmp != 0)
-            {
-              regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
-              oaddr2 = s390_record_address_mask (gdbarch, regcache, tmp);
-              regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[7] | 1), &tmp);
-              if (record_full_arch_list_add_mem (oaddr2, tmp))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[4]))
-                return -1;
-            }
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xb92e: /* KM - cipher message [partial] */
-          regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-          tmp &= 0x7f;
-          switch (tmp)
-            {
-              case 0x00: /* KM-Query */
-                if (record_full_arch_list_add_mem (oaddr, 16))
-                  return -1;
-                break;
-
-              case 0x01: /* KM-DEA */
-              case 0x02: /* KM-TDEA-128 */
-              case 0x03: /* KM-TDEA-192 */
-              case 0x09: /* KM-Encrypted-DEA */
-              case 0x0a: /* KM-Encrypted-TDEA-128 */
-              case 0x0b: /* KM-Encrypted-TDEA-192 */
-              case 0x12: /* KM-AES-128 */
-              case 0x13: /* KM-AES-192 */
-              case 0x14: /* KM-AES-256 */
-              case 0x1a: /* KM-Encrypted-AES-128 */
-              case 0x1b: /* KM-Encrypted-AES-192 */
-              case 0x1c: /* KM-Encrypted-AES-256 */
-                break;
-
-              case 0x32: /* KM-XTS-AES-128 */
-                if (record_full_arch_list_add_mem (oaddr + 0x10, 16))
-                  return -1;
-                break;
-
-              case 0x34: /* KM-XTS-AES-256 */
-                if (record_full_arch_list_add_mem (oaddr + 0x20, 16))
-                  return -1;
-                break;
-
-              case 0x3a: /* KM-XTS-Encrypted-AES-128 */
-                if (record_full_arch_list_add_mem (oaddr + 0x30, 16))
-                  return -1;
-                break;
-
-              case 0x3c: /* KM-XTS-Encrypted-AES-256 */
-                if (record_full_arch_list_add_mem (oaddr + 0x40, 16))
-                  return -1;
-                break;
-
-              default:
-                fprintf_unfiltered (gdb_stdlog, "Warning: Unknown KM function %02x at %s.\n",
-                                    (int)tmp, paddress (gdbarch, addr));
-                return -1;
-            }
-          if (tmp != 0)
-            {
-              regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
-              oaddr2 = s390_record_address_mask (gdbarch, regcache, tmp);
-              regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[7] | 1), &tmp);
-              if (record_full_arch_list_add_mem (oaddr2, tmp))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
-                return -1;
-            }
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb932-0xb93b undefined */
-
-        case 0xb93c: /* PPNO - perform pseudorandom number operation [partial] */
-          regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-          tmp &= 0xff;
-          switch (tmp)
-            {
-              case 0x00: /* PPNO-Query */
-              case 0x80: /* PPNO-Query */
-                if (record_full_arch_list_add_mem (oaddr, 16))
-                  return -1;
-                break;
-
-              case 0x03: /* PPNO-SHA-512-DRNG - generate */
-                if (record_full_arch_list_add_mem (oaddr, 240))
-                  return -1;
-                regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
-                oaddr2 = s390_record_address_mask (gdbarch, regcache, tmp);
-                regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[6] | 1), &tmp);
-                if (record_full_arch_list_add_mem (oaddr2, tmp))
-                  return -1;
-                if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-                  return -1;
-                if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
-                  return -1;
-                break;
-
-              case 0x83: /* PPNO-SHA-512-DRNG - seed */
-                if (record_full_arch_list_add_mem (oaddr, 240))
-                  return -1;
-                if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-                  return -1;
-                if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
-                  return -1;
-                break;
-
-              default:
-                fprintf_unfiltered (gdb_stdlog, "Warning: Unknown PPNO function %02x at %s.\n",
-                                    (int)tmp, paddress (gdbarch, addr));
-                return -1;
-            }
-          /* DXC may be written */
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb93d undefined */
-
-        case 0xb93e: /* KIMD - compute intermediate message digest [partial] */
-        case 0xb93f: /* KLMD - compute last message digest [partial] */
-          regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-          tmp &= 0xff;
-          switch (tmp)
-            {
-              case 0x00: /* K*MD-Query */
-                if (record_full_arch_list_add_mem (oaddr, 16))
-                  return -1;
-                break;
-
-              case 0x01: /* K*MD-SHA-1 */
-                if (record_full_arch_list_add_mem (oaddr, 20))
-                  return -1;
-                break;
-
-              case 0x02: /* K*MD-SHA-256 */
-                if (record_full_arch_list_add_mem (oaddr, 32))
-                  return -1;
-                break;
-
-              case 0x03: /* K*MD-SHA-512 */
-                if (record_full_arch_list_add_mem (oaddr, 64))
-                  return -1;
-                break;
-
-              case 0x41: /* KIMD-GHASH */
-                /* Only valid for KIMD.  */
-                if (insn[0] == 0xb93e)
-                  {
-                    if (record_full_arch_list_add_mem (oaddr, 16))
-                      return -1;
-                    break;
-                  }
-                /* For KLMD, fallthru.  */
-              default:
-                fprintf_unfiltered (gdb_stdlog, "Warning: Unknown KMAC function %02x at %s.\n",
-                                    (int)tmp, paddress (gdbarch, addr));
-                return -1;
-            }
-          if (tmp != 0)
-            {
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-                return -1;
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
-                return -1;
-            }
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb940 undefined */
-        /* 0xb944-0xb945 undefined */
-        /* 0xb947-0xb948 undefined */
-        /* 0xb94c-0xb950 undefined */
-        /* 0xb954-0xb958 undefined */
-        /* 0xb95c-0xb95f undefined */
-        /* 0xb962-0xb971 undefined */
-        /* 0xb974-0xb97f undefined */
-
-        case 0xb983: /* FLOGR - find leftmost one */
-          /* 64-bit gpr pair destination + flags */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[6]))
-            return -1;
-          if (s390_record_gpr_g (gdbarch, regcache, inib[6] | 1))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb98a privileged */
-        /* 0xb98b-0xb98c undefined */
-
-        case 0xb98d: /* EPSW - extract psw */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (inib[7])
-            if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-              return -1;
-          break;
-
-        /* 0xb98e-0xb98f privileged */
-
-        case 0xb990: /* TRTT - translate two to two [partial] */
-        case 0xb991: /* TRTO - translate two to one [partial] */
-        case 0xb992: /* TROT - translate one to two [partial] */
-        case 0xb993: /* TROO - translate one to one [partial] */
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[6] | 1), &tmp);
-          /* tmp is source length, we want destination length.  Adjust.  */
-          if (insn[0] == 0xb991)
-            tmp >>= 1;
-          if (insn[0] == 0xb992)
-            tmp <<= 1;
-          if (record_full_arch_list_add_mem (oaddr, tmp))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xb996: /* MLR - multiply logical */
-        case 0xb997: /* DLR - divide logical */
-          /* 32-bit gpr pair destination  */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
-            return -1;
-          break;
-
-        /* 0xb99a-0xb9af unsupported, privileged, or undefined */
-        /* 0xb9b4-0xb9bc undefined */
-
-        case 0xb9bd: /* TRTRE - translate and test reverse extended [partial] */
-        case 0xb9bf: /* TRTE - translate and test extended [partial] */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb9c0-0xb9c7 undefined */
-
-        case 0xb9c8: /* AHHHR - add high */
-        case 0xb9c9: /* SHHHR - subtract high */
-        case 0xb9ca: /* ALHHHR - add logical high */
-        case 0xb9cb: /* SLHHHR - subtract logical high */
-        case 0xb9d8: /* AHHLR - add high */
-        case 0xb9d9: /* SHHLR - subtract high */
-        case 0xb9da: /* ALHHLR - add logical high */
-        case 0xb9db: /* SLHHLR - subtract logical high */
-          /* 32-bit high gpr destination + flags */
-          if (s390_record_gpr_h (gdbarch, regcache, inib[6]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xb9cc undefined */
-        /* 0xb9ce undefined */
-        /* 0xb9d0-0xb9d7 undefined */
-        /* 0xb9dc undefined */
-        /* 0xb9de undefined */
-
-        case 0xb9e0: /* LOCFHR - load high on condition */
-          /* 32-bit high gpr destination */
-          if (s390_record_gpr_h (gdbarch, regcache, inib[6]))
-            return -1;
-          break;
-
-        /* 0xb9e3 undefined */
-        /* 0xb9e5 undefined */
-	/* 0xb9ee-0xb9f1 undefined */
-        /* 0xb9f3 undefined */
-        /* 0xb9f5 undefined */
-	/* 0xb9fc undefined */
-	/* 0xb9fe -0xb9ff undefined */
-
-        default:
-          goto UNKNOWN_OP;
-        }
-      break;
-
-    /* 0xb4-0xb5 undefined */
-    /* 0xb6 privileged: STCTL - store control */
-    /* 0xb7 privileged: LCTL - load control */
-    /* 0xb8 undefined */
-
-    case 0xba: /* CS - compare and swap */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, 4))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0xbb: /* CDS - compare double and swap */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, 8))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    /* 0xbc undefined */
-
-    case 0xbe: /* STCM - store characters under mask */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, s390_popcnt (inib[3])))
-        return -1;
-      break;
-
-    case 0xc0:
-    case 0xc2:
-    case 0xc4:
-    case 0xc6:
-    case 0xcc:
-      /* RIL-format instruction */
-      switch (ibyte[0] << 4 | inib[3])
-        {
-        case 0xc00: /* LARL - load address relative long */
-        case 0xc05: /* BRASL - branch relative and save long */
-        case 0xc09: /* IILF - insert immediate */
-        case 0xc21: /* MSFI - multiply single immediate */
-        case 0xc42: /* LLHRL - load logical halfword relative long */
-        case 0xc45: /* LHRL - load halfword relative long */
-        case 0xc4d: /* LRL - load relative long */
-          /* 32-bit or native gpr destination */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          break;
-
-        case 0xc01: /* LGFI - load immediate */
-        case 0xc0e: /* LLIHF - load logical immediate */
-        case 0xc0f: /* LLILF - load logical immediate */
-        case 0xc20: /* MSGFI - multiply single immediate */
-        case 0xc44: /* LGHRL - load halfword relative long */
-        case 0xc46: /* LLGHRL - load logical halfword relative long */
-        case 0xc48: /* LGRL - load relative long */
-        case 0xc4c: /* LGFRL - load relative long */
-        case 0xc4e: /* LLGFRL - load logical relative long */
-          /* 64-bit gpr destination */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          break;
-
-        /* 0xc02-0xc03 undefined */
-
-        case 0xc04: /* BRCL - branch relative on condition long */
-        case 0xc62: /* PFDRL - prefetch data relative long */
-          break;
-
-        case 0xc06: /* XIHF - xor immediate */
-        case 0xc0a: /* NIHF - and immediate */
-        case 0xc0c: /* OIHF - or immediate */
-        case 0xcc8: /* AIH - add immediate high */
-        case 0xcca: /* ALSIH - add logical with signed immediate high */
-          /* 32-bit high gpr destination + flags */
-          if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xc07: /* XILF - xor immediate */
-        case 0xc0b: /* NILF - and immediate */
-        case 0xc0d: /* OILF - or immediate */
-        case 0xc25: /* SLFI - subtract logical immediate */
-        case 0xc29: /* AFI - add immediate */
-        case 0xc2b: /* ALFI - add logical immediate */
-          /* 32-bit gpr destination + flags */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xc08: /* IIHF - insert immediate */
-        case 0xcc6: /* BRCTH - branch relative on count high */
-        case 0xccb: /* ALSIHN - add logical with signed immediate high */
-          /* 32-bit high gpr destination */
-          if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
-            return -1;
-          break;
-
-        /* 0xc22-0xc23 undefined */
-
-        case 0xc24: /* SLGFI - subtract logical immediate */
-        case 0xc28: /* AGFI - add immediate */
-        case 0xc2a: /* ALGFI - add logical immediate */
-          /* 64-bit gpr destination + flags */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xc26-0xc27 undefined */
-
-        case 0xc2c: /* CGFI - compare immediate */
-        case 0xc2d: /* CFI - compare immediate */
-        case 0xc2e: /* CLGFI - compare logical immediate */
-        case 0xc2f: /* CLFI - compare logical immediate */
-        case 0xc64: /* CGHRL - compare halfword relative long */
-        case 0xc65: /* CHRL - compare halfword relative long */
-        case 0xc66: /* CLGHRL - compare logical halfword relative long */
-        case 0xc67: /* CLHRL - compare logical halfword relative long */
-        case 0xc68: /* CGRL - compare relative long */
-        case 0xc6a: /* CLGRL - compare logical relative long */
-        case 0xc6c: /* CGFRL - compare relative long */
-        case 0xc6d: /* CRL - compare relative long */
-        case 0xc6e: /* CLGFRL - compare logical relative long */
-        case 0xc6f: /* CLRL - compare logical relative long */
-        case 0xccd: /* CIH - compare immediate high */
-        case 0xccf: /* CLIH - compare logical immediate high */
-          /* flags only */
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xc40-0xc41 undefined */
-        /* 0xc43 undefined */
-
-        case 0xc47: /* STHRL - store halfword relative long */
-          oaddr = s390_record_calc_rl (gdbarch, regcache, addr, insn[1], insn[2]);
-          if (record_full_arch_list_add_mem (oaddr, 2))
-            return -1;
-          break;
-
-        /* 0xc49-0xc4a undefined */
-
-        case 0xc4b: /* STGRL - store relative long */
-          oaddr = s390_record_calc_rl (gdbarch, regcache, addr, insn[1], insn[2]);
-          if (record_full_arch_list_add_mem (oaddr, 8))
-            return -1;
-          break;
-
-        case 0xc4f: /* STRL - store relative long */
-          oaddr = s390_record_calc_rl (gdbarch, regcache, addr, insn[1], insn[2]);
-          if (record_full_arch_list_add_mem (oaddr, 4))
-            return -1;
-          break;
-
-        case 0xc60: /* EXRL - execute relative long */
-          if (ex != -1)
-            {
-              fprintf_unfiltered (gdb_stdlog, "Warning: Double execute at %s.\n",
-                                  paddress (gdbarch, addr));
-              return -1;
-            }
-          addr = s390_record_calc_rl (gdbarch, regcache, addr, insn[1], insn[2]);
-          if (inib[2])
-            {
-              regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[2], &tmp);
-              ex = tmp & 0xff;
-            }
-          else
-            {
-              ex = 0;
-            }
-          goto ex;
-
-        /* 0xc61 undefined */
-        /* 0xc63 undefined */
-        /* 0xc69 undefined */
-        /* 0xc6b undefined */
-        /* 0xcc0-0xcc5 undefined */
-        /* 0xcc7 undefined */
-        /* 0xcc9 undefined */
-        /* 0xccc undefined */
-        /* 0xcce undefined */
-
-        default:
-          goto UNKNOWN_OP;
-        }
-      break;
-
-    /* 0xc1 undefined */
-    /* 0xc3 undefined */
-
-    case 0xc5: /* BPRP - branch prediction relative preload */
-    case 0xc7: /* BPP - branch prediction preload */
-      /* no visible effect */
-      break;
-
-    case 0xc8:
-      /* SSF-format instruction */
-      switch (ibyte[0] << 4 | inib[3])
-        {
-        /* 0xc80 unsupported */
-
-        case 0xc81: /* ECTG - extract cpu time */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          if (s390_record_gpr_g (gdbarch, regcache, 0))
-            return -1;
-          if (s390_record_gpr_g (gdbarch, regcache, 1))
-            return -1;
-          break;
-
-        case 0xc82: /* CSST - compare and swap and store */
-          {
-            uint8_t fc, sc;
-            regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-            fc = tmp & 0xff;
-            sc = tmp >> 8 & 0xff;
-
-            /* First and third operands.  */
-            oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-            switch (fc)
-              {
-                case 0x00: /* 32-bit */
-                  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-                    return -1;
-                  if (record_full_arch_list_add_mem (oaddr, 4))
-                    return -1;
-                  break;
-
-                case 0x01: /* 64-bit */
-                  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-                    return -1;
-                  if (record_full_arch_list_add_mem (oaddr, 8))
-                    return -1;
-                  break;
-
-                case 0x02: /* 128-bit */
-                  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-                    return -1;
-                  if (s390_record_gpr_g (gdbarch, regcache, inib[2] | 1))
-                    return -1;
-                  if (record_full_arch_list_add_mem (oaddr, 16))
-                    return -1;
-                  break;
-
-                default:
-                  fprintf_unfiltered (gdb_stdlog, "Warning: Unknown CSST FC %02x at %s.\n",
-                                      fc, paddress (gdbarch, addr));
-                  return -1;
-              }
-
-            /* Second operand.  */
-            oaddr2 = s390_record_calc_disp (gdbarch, regcache, 0, insn[2], 0);
-            if (sc > 4)
-              {
-                fprintf_unfiltered (gdb_stdlog, "Warning: Unknown CSST FC %02x at %s.\n",
-                                    sc, paddress (gdbarch, addr));
-                return -1;
-              }
-
-            if (record_full_arch_list_add_mem (oaddr2, 1 << sc))
-              return -1;
-
-            /* Flags.  */
-            if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-              return -1;
-          }
-          break;
-
-        /* 0xc83 undefined */
-
-        case 0xc84: /* LPD - load pair disjoint */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xc85: /* LPDG - load pair disjoint */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2] | 1))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xc86-0xc8f undefined */
-
-        default:
-          goto UNKNOWN_OP;
-        }
-      break;
-
-    /* 0xc9-0xcb undefined */
-    /* 0xcd-0xcf undefined */
-
-    case 0xd0: /* TRTR - translate and test reversed */
-    case 0xdd: /* TRT - translate and test */
-      if (record_full_arch_list_add_reg (regcache, S390_R1_REGNUM))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R2_REGNUM))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0xd1: /* MVN - move numbers */
-    case 0xd2: /* MVC - move */
-    case 0xd3: /* MVZ - move zones */
-    case 0xdc: /* TR - translate */
-    case 0xe8: /* MVCIN - move inverse */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, ibyte[1] + 1))
-        return -1;
-      break;
-
-    case 0xd4: /* NC - and */
-    case 0xd6: /* OC - or*/
-    case 0xd7: /* XC - xor */
-    case 0xe2: /* UNPKU - unpack unicode */
-    case 0xea: /* UNPKA - unpack ASCII */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, ibyte[1] + 1))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      break;
-
-    case 0xde: /* ED - edit */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, ibyte[1] + 1))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      /* DXC may be written */
-      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-        return -1;
-      break;
-
-    case 0xdf: /* EDMK - edit and mark */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, ibyte[1] + 1))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_R1_REGNUM))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      /* DXC may be written */
-      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-        return -1;
-      break;
-
-    /* 0xd8 undefined */
-    /* 0xd9 unsupported: MVCK - move with key */
-    /* 0xda unsupported: MVCP - move to primary */
-    /* 0xdb unsupported: MVCS - move to secondary */
-    /* 0xe0 undefined */
-
-    case 0xe1: /* PKU - pack unicode */
-    case 0xe9: /* PKA - pack ASCII */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, 16))
-        return -1;
-      break;
-
-    case 0xe3:
-    case 0xe6:
-    case 0xe7:
-    case 0xeb:
-    case 0xed:
-      /* RXY/RXE/RXF/RSL/RSY/SIY/V*-format instruction */
-      switch (ibyte[0] << 8 | ibyte[5])
-        {
-        /* 0xe300-0xe301 undefined */
-
-        case 0xe302: /* LTG - load and test */
-        case 0xe308: /* AG - add */
-        case 0xe309: /* SG - subtract */
-        case 0xe30a: /* ALG - add logical */
-        case 0xe30b: /* SLG - subtract logical */
-        case 0xe318: /* AGF - add */
-        case 0xe319: /* SGF - subtract */
-        case 0xe31a: /* ALGF - add logical */
-        case 0xe31b: /* SLGF - subtract logical */
-        case 0xe332: /* LTGF - load and test */
-        case 0xe380: /* NG - and */
-        case 0xe381: /* OG - or */
-        case 0xe382: /* XG - xor */
-        case 0xe388: /* ALCG - add logical with carry */
-        case 0xe389: /* SLBG - subtract logical with borrow */
-        case 0xeb0a: /* SRAG - shift right single */
-        case 0xeb0b: /* SLAG - shift left single */
-          /* 64-bit gpr destination + flags */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe303 privileged */
-
-        case 0xe304: /* LG - load */
-        case 0xe30c: /* MSG - multiply single */
-        case 0xe30f: /* LRVG - load reversed */
-        case 0xe314: /* LGF - load */
-        case 0xe315: /* LGH - load halfword */
-        case 0xe316: /* LLGF - load logical */
-        case 0xe317: /* LLGT - load logical thirty one bits */
-        case 0xe31c: /* MSGF - multiply single */
-        case 0xe32a: /* LZRG - load and zero rightmost byte */
-        case 0xe33a: /* LLZRGF - load logical and zero rightmost byte */
-	case 0xe33c: /* MGH - multiply halfword 64x16mem -> 64 */
-        case 0xe346: /* BCTG - branch on count */
-        case 0xe377: /* LGB - load byte */
-        case 0xe390: /* LLGC - load logical character */
-        case 0xe391: /* LLGH - load logical halfword */
-        case 0xeb0c: /* SRLG - shift right single logical */
-        case 0xeb0d: /* SLLG - shift left single logical */
-        case 0xeb1c: /* RLLG - rotate left single logical */
-        case 0xeb44: /* BXHG - branch on index high */
-        case 0xeb45: /* BXLEG - branch on index low or equal */
-        case 0xeb4c: /* ECAG - extract cpu attribute */
-        case 0xebe2: /* LOCG - load on condition */
-          /* 64-bit gpr destination */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          break;
-
-        /* 0xe305 undefined */
-
-        case 0xe306: /* CVBY - convert to binary */
-          /* 32-bit or native gpr destination + FPC (DXC write) */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe307 undefined */
-
-        case 0xe30d: /* DSG - divide single */
-        case 0xe31d: /* DSGF - divide single */
-	case 0xe384: /* MG - multiply 64x64mem -> 128 */
-        case 0xe386: /* MLG - multiply logical */
-        case 0xe387: /* DLG - divide logical */
-        case 0xe38f: /* LPQ - load pair from quadword */
-          /* 64-bit gpr pair destination  */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2] | 1))
-            return -1;
-          break;
-
-        case 0xe30e: /* CVBG - convert to binary */
-          /* 64-bit gpr destination + FPC (DXC write) */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe310-0xe311 undefined */
-
-        case 0xe312: /* LT - load and test */
-	case 0xe338: /* AGH - add halfword to 64 bit value */
-	case 0xe339: /* SGH - subtract halfword from 64 bit value */
-	case 0xe353: /* MSC - multiply single 32x32mem -> 32 */
-        case 0xe354: /* NY - and */
-        case 0xe356: /* OY - or */
-        case 0xe357: /* XY - xor */
-        case 0xe35a: /* AY - add */
-        case 0xe35b: /* SY - subtract */
-        case 0xe35e: /* ALY - add logical */
-        case 0xe35f: /* SLY - subtract logical */
-        case 0xe37a: /* AHY - add halfword */
-        case 0xe37b: /* SHY - subtract halfword */
-	case 0xe383: /* MSGC - multiply single 64x64mem -> 64 */
-        case 0xe398: /* ALC - add logical with carry */
-        case 0xe399: /* SLB - subtract logical with borrow */
-        case 0xe727: /* LCBB - load count to block bounduary */
-        case 0xeb81: /* ICMY - insert characters under mask */
-        case 0xebdc: /* SRAK - shift left single */
-        case 0xebdd: /* SLAK - shift left single */
-	  /* 32/64-bit gpr destination + flags */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe313 privileged */
-
-        case 0xe31e: /* LRV - load reversed */
-        case 0xe31f: /* LRVH - load reversed */
-        case 0xe33b: /* LZRF - load and zero rightmost byte */
-        case 0xe351: /* MSY - multiply single */
-        case 0xe358: /* LY - load */
-        case 0xe371: /* LAY - load address */
-        case 0xe373: /* ICY - insert character */
-        case 0xe376: /* LB - load byte */
-        case 0xe378: /* LHY - load */
-        case 0xe37c: /* MHY - multiply halfword */
-        case 0xe394: /* LLC - load logical character */
-        case 0xe395: /* LLH - load logical halfword */
-        case 0xeb1d: /* RLL - rotate left single logical */
-        case 0xebde: /* SRLK - shift left single logical */
-        case 0xebdf: /* SLLK - shift left single logical */
-        case 0xebf2: /* LOC - load on condition */
-          /* 32-bit or native gpr destination */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          break;
-
-        case 0xe320: /* CG - compare */
-        case 0xe321: /* CLG - compare logical */
-        case 0xe330: /* CGF - compare */
-        case 0xe331: /* CLGF - compare logical */
-        case 0xe334: /* CGH - compare halfword */
-        case 0xe355: /* CLY - compare logical */
-        case 0xe359: /* CY - compare */
-        case 0xe379: /* CHY - compare halfword */
-        case 0xe3cd: /* CHF - compare high */
-        case 0xe3cf: /* CLHF - compare logical high */
-        case 0xeb20: /* CLMH - compare logical under mask high */
-        case 0xeb21: /* CLMY - compare logical under mask */
-        case 0xeb51: /* TMY - test under mask */
-        case 0xeb55: /* CLIY - compare logical */
-        case 0xebc0: /* TP - test decimal */
-        case 0xed10: /* TCEB - test data class */
-        case 0xed11: /* TCDB - test data class */
-        case 0xed12: /* TCXB - test data class */
-        case 0xed50: /* TDCET - test data class */
-        case 0xed51: /* TDGET - test data group */
-        case 0xed54: /* TDCDT - test data class */
-        case 0xed55: /* TDGDT - test data group */
-        case 0xed58: /* TDCXT - test data class */
-        case 0xed59: /* TDGXT - test data group */
-          /* flags only */
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe322-0xe323 undefined */
-
-        case 0xe324: /* STG - store */
-        case 0xe325: /* NTSTG - nontransactional store */
-        case 0xe326: /* CVDY - convert to decimal */
-        case 0xe32f: /* STRVG - store reversed */
-        case 0xebe3: /* STOCG - store on condition */
-        case 0xed67: /* STDY - store */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 8))
-            return -1;
-          break;
-
-        /* 0xe327-0xe329 undefined */
-        /* 0xe32b-0xe32d undefined */
-
-        case 0xe32e: /* CVDG - convert to decimal */
-        case 0xe38e: /* STPQ - store pair to quadword */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 16))
-            return -1;
-          break;
-
-        /* 0xe333 undefined */
-        /* 0xe335 undefined */
-
-        case 0xe336: /* PFD - prefetch data */
-          break;
-
-	/* 0xe337 undefined */
-        /* 0xe33c-0xe33d undefined */
-
-        case 0xe33e: /* STRV - store reversed */
-        case 0xe350: /* STY - store */
-        case 0xe3cb: /* STFH - store high */
-        case 0xebe1: /* STOCFH - store high on condition */
-        case 0xebf3: /* STOC - store on condition */
-        case 0xed66: /* STEY - store */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 4))
-            return -1;
-          break;
-
-        case 0xe33f: /* STRVH - store reversed */
-        case 0xe370: /* STHY - store halfword */
-        case 0xe3c7: /* STHH - store halfword high */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 2))
-            return -1;
-          break;
-
-        /* 0xe340-0xe345 undefined */
-
-	case 0xe347: /* BIC - branch indirect on condition */
-	  break;
-
-	/* 0xe348-0xe34f undefined */
-	/* 0xe352 undefined */
-
-        case 0xe35c: /* MFY - multiply */
-        case 0xe396: /* ML - multiply logical */
-        case 0xe397: /* DL - divide logical */
-          /* 32-bit gpr pair destination */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
-            return -1;
-          break;
-
-        /* 0xe35d undefined */
-        /* 0xe360-0xe36f undefined */
-
-        case 0xe372: /* STCY - store character */
-        case 0xe3c3: /* STCH - store character high */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 1))
-            return -1;
-          break;
-
-        /* 0xe374 undefined */
-
-        case 0xe375: /* LAEY - load address extended */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + inib[2]))
-            return -1;
-          break;
-
-        /* 0xe37d-0xe37f undefined */
-
-        case 0xe385: /* LGAT - load and trap */
-        case 0xe39c: /* LLGTAT - load logical thirty one bits and trap */
-        case 0xe39d: /* LLGFAT - load logical and trap */
-	case 0xe650: /* VCVB - vector convert to binary 32 bit*/
-	case 0xe652: /* VCVBG - vector convert to binary 64 bit*/
-        case 0xe721: /* VLGV - vector load gr from vr element */
-          /* 64-bit gpr destination + fpc for possible DXC write */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe38a-0xe38d undefined */
-        /* 0xe392-0xe393 undefined */
-        /* 0xe39a-0xe39b undefined */
-        /* 0xe39e undefined */
-
-        case 0xe39f: /* LAT - load and trap */
-          /* 32-bit gpr destination + fpc for possible DXC write */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe3a0-0xe3bf undefined */
-
-        case 0xe3c0: /* LBH - load byte high */
-        case 0xe3c2: /* LLCH - load logical character high */
-        case 0xe3c4: /* LHH - load halfword high */
-        case 0xe3c6: /* LLHH - load logical halfword high */
-        case 0xe3ca: /* LFH - load high */
-        case 0xebe0: /* LOCFH - load high on condition */
-          /* 32-bit high gpr destination */
-          if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
-            return -1;
-          break;
-
-        /* 0xe3c1 undefined */
-        /* 0xe3c5 undefined */
-
-        case 0xe3c8: /* LFHAT - load high and trap */
-          /* 32-bit high gpr destination + fpc for possible DXC write */
-          if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe3c9 undefined */
-        /* 0xe3cc undefined */
-        /* 0xe3ce undefined */
-        /* 0xe3d0-0xe3ff undefined */
-
-	case 0xe634: /* VPKZ - vector pack zoned */
-	case 0xe635: /* VLRL - vector load rightmost with immed. length */
-	case 0xe637: /* VLRLR - vector load rightmost with length */
-	case 0xe649: /* VLIP - vector load immediate decimal */
-        case 0xe700: /* VLEB - vector load element */
-        case 0xe701: /* VLEH - vector load element */
-        case 0xe702: /* VLEG - vector load element */
-        case 0xe703: /* VLEF - vector load element */
-        case 0xe704: /* VLLEZ - vector load logical element and zero */
-        case 0xe705: /* VLREP - vector load and replicate */
-        case 0xe706: /* VL - vector load */
-        case 0xe707: /* VLBB - vector load to block bounduary */
-        case 0xe712: /* VGEG - vector gather element */
-        case 0xe713: /* VGEF - vector gather element */
-        case 0xe722: /* VLVG - vector load vr element from gr */
-        case 0xe730: /* VESL - vector element shift left */
-        case 0xe733: /* VERLL - vector element rotate left logical */
-        case 0xe737: /* VLL - vector load with length */
-        case 0xe738: /* VESRL - vector element shift right logical */
-        case 0xe73a: /* VESRA - vector element shift right arithmetic */
-        case 0xe740: /* VLEIB - vector load element immediate */
-        case 0xe741: /* VLEIH - vector load element immediate */
-        case 0xe742: /* VLEIG - vector load element immediate */
-        case 0xe743: /* VLEIF - vector load element immediate */
-        case 0xe744: /* VGBM - vector generate byte mask */
-        case 0xe745: /* VREPI - vector replicate immediate */
-        case 0xe746: /* VGM - vector generate mask */
-        case 0xe74d: /* VREP - vector replicate */
-        case 0xe750: /* VPOPCT - vector population count */
-        case 0xe752: /* VCTZ - vector count trailing zeros */
-        case 0xe753: /* VCLZ - vector count leading zeros */
-        case 0xe756: /* VLR - vector load */
-        case 0xe75f: /* VSEG -vector sign extend to doubleword */
-        case 0xe760: /* VMRL - vector merge low */
-        case 0xe761: /* VMRH - vector merge high */
-        case 0xe762: /* VLVGP - vector load vr from grs disjoint */
-        case 0xe764: /* VSUM - vector sum across word */
-        case 0xe765: /* VSUMG - vector sum across doubleword */
-        case 0xe766: /* VCKSM - vector checksum */
-        case 0xe767: /* VSUMQ - vector sum across quadword */
-        case 0xe768: /* VN - vector and */
-        case 0xe769: /* VNC - vector and with complement */
-        case 0xe76a: /* VO - vector or */
-        case 0xe76b: /* VNO - vector nor */
-	case 0xe76c: /* VNX - vector not exclusive or */
-        case 0xe76d: /* VX - vector xor */
-	case 0xe76e: /* VNN - vector nand */
-	case 0xe76f: /* VOC - vector or with complement */
-        case 0xe770: /* VESLV - vector element shift left */
-        case 0xe772: /* VERIM - vector element rotate and insert under mask */
-        case 0xe773: /* VERLLV - vector element rotate left logical */
-        case 0xe774: /* VSL - vector shift left */
-        case 0xe775: /* VSLB - vector shift left by byte */
-        case 0xe777: /* VSLDB - vector shift left double by byte */
-        case 0xe778: /* VESRLV - vector element shift right logical */
-        case 0xe77a: /* VESRAV - vector element shift right arithmetic */
-        case 0xe77c: /* VSRL - vector shift right logical */
-        case 0xe77d: /* VSRLB - vector shift right logical by byte */
-        case 0xe77e: /* VSRA - vector shift right arithmetic */
-        case 0xe77f: /* VSRAB - vector shift right arithmetic by byte */
-        case 0xe784: /* VPDI - vector permute doubleword immediate */
-	case 0xe785: /* VBPERM - vector bit permute */
-        case 0xe78c: /* VPERM - vector permute */
-        case 0xe78d: /* VSEL - vector select */
-        case 0xe78e: /* VFMS - vector fp multiply and subtract */
-        case 0xe78f: /* VFMA - vector fp multiply and add */
-        case 0xe794: /* VPK - vector pack */
-	case 0xe79e: /* VFNMS - vector fp negative multiply and subtract */
-	case 0xe79f: /* VFNMA - vector fp negative multiply and add */
-        case 0xe7a1: /* VMLH - vector multiply logical high */
-        case 0xe7a2: /* VML - vector multiply low */
-        case 0xe7a3: /* VMH - vector multiply high */
-        case 0xe7a4: /* VMLE - vector multiply logical even */
-        case 0xe7a5: /* VMLO - vector multiply logical odd */
-        case 0xe7a6: /* VME - vector multiply even */
-        case 0xe7a7: /* VMO - vector multiply odd */
-        case 0xe7a9: /* VMALH - vector multiply and add logical high */
-        case 0xe7aa: /* VMAL - vector multiply and add low */
-        case 0xe7ab: /* VMAH - vector multiply and add high */
-        case 0xe7ac: /* VMALE - vector multiply and add logical even */
-        case 0xe7ad: /* VMALO - vector multiply and add logical odd */
-        case 0xe7ae: /* VMAE - vector multiply and add even */
-        case 0xe7af: /* VMAO - vector multiply and add odd */
-        case 0xe7b4: /* VGFM - vector Galois field multiply sum */
-	case 0xe7b8: /* VMSL - vector multiply sum logical */
-        case 0xe7b9: /* VACCC - vector add with carry compute carry */
-        case 0xe7bb: /* VAC - vector add with carry */
-        case 0xe7bc: /* VGFMA - vector Galois field multiply sum and accumulate */
-        case 0xe7bd: /* VSBCBI - vector subtract with borrow compute borrow indication */
-        case 0xe7bf: /* VSBI - vector subtract with borrow indication */
-        case 0xe7c0: /* VCLGD - vector convert to logical 64-bit */
-        case 0xe7c1: /* VCDLG - vector convert from logical 64-bit */
-        case 0xe7c2: /* VCGD - vector convert to fixed 64-bit */
-        case 0xe7c3: /* VCDG - vector convert from fixed 64-bit */
-	case 0xe7c4: /* VLDE/VFLL - vector fp load lengthened */
-	case 0xe7c5: /* VLED/VFLR - vector fp load rounded */
-        case 0xe7c7: /* VFI - vector load fp integer */
-        case 0xe7cc: /* VFPSO - vector fp perform sign operation */
-        case 0xe7ce: /* VFSQ - vector fp square root */
-        case 0xe7d4: /* VUPLL - vector unpack logical low */
-        case 0xe7d6: /* VUPL - vector unpack low */
-        case 0xe7d5: /* VUPLH - vector unpack logical high */
-        case 0xe7d7: /* VUPH - vector unpack high */
-        case 0xe7de: /* VLC - vector load complement */
-        case 0xe7df: /* VLP - vector load positive */
-        case 0xe7e2: /* VFA - vector fp subtract */
-        case 0xe7e3: /* VFA - vector fp add */
-        case 0xe7e5: /* VFD - vector fp divide */
-        case 0xe7e7: /* VFM - vector fp multiply */
-	case 0xe7ee: /* VFMIN - vector fp minimum */
-	case 0xe7ef: /* VFMAX - vector fp maximum */
-        case 0xe7f0: /* VAVGL - vector average logical */
-        case 0xe7f1: /* VACC - vector add and compute carry */
-        case 0xe7f2: /* VAVG - vector average */
-        case 0xe7f3: /* VA - vector add */
-        case 0xe7f5: /* VSCBI - vector subtract compute borrow indication */
-        case 0xe7f7: /* VS - vector subtract */
-        case 0xe7fc: /* VMNL - vector minimum logical */
-        case 0xe7fd: /* VMXL - vector maximum logical */
-        case 0xe7fe: /* VMN - vector minimum */
-        case 0xe7ff: /* VMX - vector maximum */
-          /* vector destination + FPC */
-          if (s390_record_vr (gdbarch, regcache, ivec[0]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-	case 0xe63d: /* VSTRL - vector store rightmost with immed. length */
-	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-	  if (record_full_arch_list_add_mem (oaddr, inib[3] + 1))
-	    return -1;
-	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-	    return -1;
-	  break;
-
-        case 0xe708: /* VSTEB - vector store element */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, 1))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xe709: /* VSTEH - vector store element */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, 2))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xe70a: /* VSTEG - vector store element */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, 8))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xe70b: /* VSTEF - vector store element */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, 4))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe70c-0xe70d undefined */
-
-        case 0xe70e: /* VST - vector store */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, 16))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe70f-0xe711 undefined */
-        /* 0xe714-0xe719 undefined */
-
-        case 0xe71a: /* VSCEG - vector scatter element */
-          if (s390_record_calc_disp_vsce (gdbarch, regcache, ivec[1], inib[8], 8, insn[1], 0, &oaddr))
-            return -1;
-          if (record_full_arch_list_add_mem (oaddr, 8))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xe71b: /* VSCEF - vector scatter element */
-          if (s390_record_calc_disp_vsce (gdbarch, regcache, ivec[1], inib[8], 4, insn[1], 0, &oaddr))
-            return -1;
-          if (record_full_arch_list_add_mem (oaddr, 4))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe71c-0xe720 undefined */
-        /* 0xe723-0xe726 undefined */
-        /* 0xe728-0xe72f undefined */
-        /* 0xe731-0xe732 undefined */
-        /* 0xe734-0xe735 undefined */
-
-        case 0xe736: /* VLM - vector load multiple */
-          for (i = ivec[0]; i != ivec[1]; i++, i &= 0x1f)
-            if (s390_record_vr (gdbarch, regcache, i))
-              return -1;
-          if (s390_record_vr (gdbarch, regcache, ivec[1]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe739 undefined */
-        /* 0xe73b-0xe73d undefined */
-
-        case 0xe73e: /* VSTM - vector store multiple */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-          if (ivec[0] <= ivec[1])
-            n = ivec[1] - ivec[0] + 1;
-          else
-            n = ivec[1] + 0x20 - ivec[0] + 1;
-          if (record_full_arch_list_add_mem (oaddr, n * 16))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-	case 0xe63c: /* VUPKZ - vector unpack zoned */
-	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-	  if (record_full_arch_list_add_mem (oaddr, (ibyte[1] + 1) & 31))
-	    return -1;
-	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-	    return -1;
-	  break;
-
-	case 0xe63f: /* VSTRLR - vector store rightmost with length */
-        case 0xe73f: /* VSTL - vector store with length */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[3], &tmp);
-          tmp &= 0xffffffffu;
-	  if (tmp > 15)
-	    tmp = 15;
-	  if (record_full_arch_list_add_mem (oaddr, tmp + 1))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe747-0xe749 undefined */
-
-	case 0xe658: /* VCVD - vector convert to decimal 32 bit */
-	case 0xe659: /* VSRP - vector shift and round decimal */
-	case 0xe65a: /* VCVDG - vector convert to decimal 64 bit*/
-	case 0xe65b: /* VPSOP - vector perform sign operation decimal */
-	case 0xe671: /* VAP - vector add decimal */
-	case 0xe673: /* VSP - vector subtract decimal */
-	case 0xe678: /* VMP - vector multiply decimal */
-	case 0xe679: /* VMSP - vector multiply decimal */
-	case 0xe67a: /* VDP - vector divide decimal */
-	case 0xe67b: /* VRP - vector remainder decimal */
-	case 0xe67e: /* VSDP - vector shift and divide decimal */
-        case 0xe74a: /* VFTCI - vector fp test data class immediate */
-        case 0xe75c: /* VISTR - vector isolate string */
-        case 0xe780: /* VFEE - vector find element equal */
-        case 0xe781: /* VFENE - vector find element not equal */
-        case 0xe782: /* VFA - vector find any element equal */
-        case 0xe78a: /* VSTRC - vector string range compare */
-        case 0xe795: /* VPKLS - vector pack logical saturate */
-        case 0xe797: /* VPKS - vector pack saturate */
-        case 0xe7e8: /* VFCE - vector fp compare equal */
-        case 0xe7ea: /* VFCHE - vector fp compare high or equal */
-	case 0xe7eb: /* VFCH - vector fp compare high */
-        case 0xe7f8: /* VCEQ - vector compare equal */
-        case 0xe7f9: /* VCHL - vector compare high logical */
-        case 0xe7fb: /* VCH - vector compare high */
-          /* vector destination + flags + FPC */
-          if (s390_record_vr (gdbarch, regcache, ivec[0]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-	case 0xe65f: /* VTP - vector test decimal */
-	  /* flags + FPC */
-	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-	    return -1;
-	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-	    return -1;
-	  break;
-
-        /* 0xe74b-0xe74c undefined */
-        /* 0xe74e-0xe74f undefined */
-        /* 0xe751 undefined */
-        /* 0xe754-0xe755 undefined */
-        /* 0xe757-0xe75b undefined */
-        /* 0xe75d-0xe75e undefined */
-        /* 0xe763 undefined */
-        /* 0xe771 undefined */
-        /* 0xe776 undefined */
-        /* 0xe779 undefined */
-        /* 0xe77b undefined */
-        /* 0xe783 undefined */
-	/* 0xe786-0xe789 undefined */
-        /* 0xe78b undefined */
-        /* 0xe790-0xe793 undefined */
-        /* 0xe796 undefined */
-	/* 0xe798-0xe79d undefined */
-	/* 0xe7a0 undefined */
-	/* 0xe7a8 undefined */
-        /* 0xe7b0-0xe7b3 undefined */
-	/* 0xe7b5-0xe7b7 undefined */
-        /* 0xe7ba undefined */
-        /* 0xe7be undefined */
-        /* 0xe7c6 undefined */
-        /* 0xe7c8-0xe7c9 undefined */
-
-	case 0xe677: /* VCP - vector compare decimal */
-        case 0xe7ca: /* WFK - vector fp compare and signal scalar */
-        case 0xe7cb: /* WFC - vector fp compare scalar */
-        case 0xe7d8: /* VTM - vector test under mask */
-        case 0xe7d9: /* VECL - vector element compare logical */
-        case 0xe7db: /* VEC - vector element compare */
-        case 0xed08: /* KEB - compare and signal */
-        case 0xed09: /* CEB - compare */
-        case 0xed18: /* KDB - compare and signal */
-        case 0xed19: /* CDB - compare */
-          /* flags + fpc only */
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe7cd undefined */
-        /* 0xe7cf-0xe7d3 undefined */
-        /* 0xe7da undefined */
-        /* 0xe7dc-0xe7dd undefined */
-        /* 0xe7e0-0xe7e1 undefined */
-        /* 0xe7e4 undefined */
-        /* 0xe7e6 undefined */
-        /* 0xe7e9 undefined */
-	/* 0xe7ec-0xe7ed undefined */
-        /* 0xe7f4 undefined */
-        /* 0xe7f6 undefined */
-        /* 0xe7fa undefined */
-
-        /* 0xeb00-0xeb03 undefined */
-
-        case 0xeb04: /* LMG - load multiple */
-          for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
-            if (s390_record_gpr_g (gdbarch, regcache, i))
-              return -1;
-          if (s390_record_gpr_g (gdbarch, regcache, inib[3]))
-            return -1;
-          break;
-
-        /* 0xeb05-0xeb09 undefined */
-        /* 0xeb0e undefined */
-        /* 0xeb0f privileged: TRACG */
-        /* 0xeb10-0xeb13 undefined */
-
-        case 0xeb14: /* CSY - compare and swap */
-        case 0xebf4: /* LAN - load and and */
-        case 0xebf6: /* LAO - load and or */
-        case 0xebf7: /* LAX - load and xor */
-        case 0xebf8: /* LAA - load and add */
-        case 0xebfa: /* LAAL - load and add logical */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 4))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xeb15-0xeb1b undefined */
-        /* 0xeb1e-0xeb1f undefined */
-        /* 0xeb22 undefined */
-
-        case 0xeb23: /* CLT - compare logical and trap */
-        case 0xeb2b: /* CLGT - compare logical and trap */
-          /* fpc only - including possible DXC write for trapping insns */
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xeb24: /* STMG - store multiple */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
-          if (inib[2] <= inib[3])
-            n = inib[3] - inib[2] + 1;
-          else
-            n = inib[3] + 0x10 - inib[2] + 1;
-          if (record_full_arch_list_add_mem (oaddr, n * 8))
-            return -1;
-          break;
-
-        /* 0xeb25 privileged */
-
-        case 0xeb26: /* STMH - store multiple high */
-        case 0xeb90: /* STMY - store multiple */
-        case 0xeb9b: /* STAMY - store access multiple */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
-          if (inib[2] <= inib[3])
-            n = inib[3] - inib[2] + 1;
-          else
-            n = inib[3] + 0x10 - inib[2] + 1;
-          if (record_full_arch_list_add_mem (oaddr, n * 4))
-            return -1;
-          break;
-
-        /* 0xeb27-0xeb2a undefined */
-
-        case 0xeb2c: /* STCMH - store characters under mask */
-        case 0xeb2d: /* STCMY - store characters under mask */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, s390_popcnt (inib[3])))
-            return -1;
-          break;
-
-        /* 0xeb2e undefined */
-        /* 0xeb2f privileged */
-
-        case 0xeb30: /* CSG - compare and swap */
-        case 0xebe4: /* LANG - load and and */
-        case 0xebe6: /* LAOG - load and or */
-        case 0xebe7: /* LAXG - load and xor */
-        case 0xebe8: /* LAAG - load and add */
-        case 0xebea: /* LAALG - load and add logical */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 8))
-            return -1;
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xeb31: /* CDSY - compare double and swap */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 8))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xeb32-0xeb3d undefined */
-
-        case 0xeb3e: /* CDSG - compare double and swap */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 16))
-            return -1;
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2] | 1))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xeb3f-0xeb43 undefined */
-        /* 0xeb46-0xeb4b undefined */
-        /* 0xeb4d-0xeb50 undefined */
-
-        case 0xeb52: /* MVIY - move */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 1))
-            return -1;
-          break;
-
-        case 0xeb54: /* NIY - and */
-        case 0xeb56: /* OIY - or */
-        case 0xeb57: /* XIY - xor */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 1))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xeb53 undefined */
-        /* 0xeb58-0xeb69 undefined */
-
-        case 0xeb6a: /* ASI - add immediate */
-        case 0xeb6e: /* ALSI - add immediate */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 4))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xeb6b-0xeb6d undefined */
-        /* 0xeb6f-0xeb79 undefined */
-
-        case 0xeb7a: /* AGSI - add immediate */
-        case 0xeb7e: /* ALGSI - add immediate */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
-          if (record_full_arch_list_add_mem (oaddr, 8))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xeb7b-0xeb7d undefined */
-        /* 0xeb7f undefined */
-
-        case 0xeb80: /* ICMH - insert characters under mask */
-          /* 32-bit high gpr destination + flags */
-          if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xeb82-0xeb8d undefined */
-
-        case 0xeb8e: /* MVCLU - move long unicode [partial] */
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[2], &tmp);
-          oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
-          regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[2] | 1), &tmp);
-          if (record_full_arch_list_add_mem (oaddr, tmp))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[3] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        case 0xeb8f: /* CLCLU - compare logical long unicode [partial] */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[3] | 1)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xeb91-0xeb95 undefined */
-
-        case 0xeb96: /* LMH - load multiple high */
-          for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
-            if (s390_record_gpr_h (gdbarch, regcache, i))
-              return -1;
-          if (s390_record_gpr_h (gdbarch, regcache, inib[3]))
-            return -1;
-          break;
-
-        /* 0xeb97 undefined */
-
-        case 0xeb98: /* LMY - load multiple */
-          for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
-            if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
-              return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
-            return -1;
-          break;
-
-        /* 0xeb99 undefined */
-
-        case 0xeb9a: /* LAMY - load access multiple */
-          for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
-            if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + i))
-              return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + inib[3]))
-            return -1;
-          break;
-
-        /* 0xeb9c-0xebbf undefined */
-        /* 0xebc1-0xebdb undefined */
-        /* 0xebe5 undefined */
-        /* 0xebe9 undefined */
-        /* 0xebeb-0xebf1 undefined */
-        /* 0xebf5 undefined */
-        /* 0xebf9 undefined */
-        /* 0xebfb-0xebff undefined */
-
-        /* 0xed00-0xed03 undefined */
-
-        case 0xed04: /* LDEB - load lengthened */
-        case 0xed0c: /* MDEB - multiply */
-        case 0xed0d: /* DEB - divide */
-        case 0xed14: /* SQEB - square root */
-        case 0xed15: /* SQDB - square root */
-        case 0xed17: /* MEEB - multiply */
-        case 0xed1c: /* MDB - multiply */
-        case 0xed1d: /* DDB - divide */
-          /* float destination + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xed05: /* LXDB - load lengthened */
-        case 0xed06: /* LXEB - load lengthened */
-        case 0xed07: /* MXDB - multiply */
-          /* float pair destination + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[2] | 2)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xed0a: /* AEB - add */
-        case 0xed0b: /* SEB - subtract */
-        case 0xed1a: /* ADB - add */
-        case 0xed1b: /* SDB - subtract */
-          /* float destination + flags + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        case 0xed0e: /* MAEB - multiply and add */
-        case 0xed0f: /* MSEB - multiply and subtract */
-        case 0xed1e: /* MADB - multiply and add */
-        case 0xed1f: /* MSDB - multiply and subtract */
-        case 0xed40: /* SLDT - shift significand left */
-        case 0xed41: /* SRDT - shift significand right */
-        case 0xedaa: /* CDZT - convert from zoned */
-        case 0xedae: /* CDPT - convert from packed */
-          /* float destination [RXF] + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[8]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xed13 undefined */
-        /* 0xed16 undefined */
-        /* 0xed20-0xed23 undefined */
-
-        case 0xed24: /* LDE - load lengthened */
-        case 0xed34: /* SQE - square root */
-        case 0xed35: /* SQD - square root */
-        case 0xed37: /* MEE - multiply */
-        case 0xed64: /* LEY - load */
-        case 0xed65: /* LDY - load */
-          /* float destination */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
-            return -1;
-          break;
-
-        case 0xed25: /* LXD - load lengthened */
-        case 0xed26: /* LXE - load lengthened */
-          /* float pair destination */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[2] | 2)))
-            return -1;
-          break;
-
-        /* 0xed27-0xed2d undefined */
-
-        case 0xed2e: /* MAE - multiply and add */
-        case 0xed2f: /* MSE - multiply and subtract */
-        case 0xed38: /* MAYL - multiply and add unnormalized */
-        case 0xed39: /* MYL - multiply unnormalized */
-        case 0xed3c: /* MAYH - multiply and add unnormalized */
-        case 0xed3d: /* MYH - multiply unnormalized */
-        case 0xed3e: /* MAD - multiply and add */
-        case 0xed3f: /* MSD - multiply and subtract */
-          /* float destination [RXF] */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[8]))
-            return -1;
-          break;
-
-        /* 0xed30-0xed33 undefined */
-        /* 0xed36 undefined */
-
-        case 0xed3a: /* MAY - multiply and add unnormalized */
-        case 0xed3b: /* MY - multiply unnormalized */
-          /* float pair destination [RXF] */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[8]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[8] | 2)))
-            return -1;
-          break;
-
-        /* 0xed42-0xed47 undefind */
-
-        case 0xed48: /* SLXT - shift significand left */
-        case 0xed49: /* SRXT - shift significand right */
-        case 0xedab: /* CXZT - convert from zoned */
-        case 0xedaf: /* CXPT - convert from packed */
-          /* float pair destination [RXF] + fpc */
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[8]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[8] | 2)))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
-
-        /* 0xed4a-0xed4f undefind */
-        /* 0xed52-0xed53 undefind */
-        /* 0xed56-0xed57 undefind */
-        /* 0xed5a-0xed63 undefind */
-        /* 0xed68-0xeda7 undefined */
-
-        case 0xeda8: /* CZDT - convert to zoned */
-        case 0xeda9: /* CZXT - convert to zoned */
-        case 0xedac: /* CPDT - convert to packed */
-        case 0xedad: /* CPXT - convert to packed */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, ibyte[1] + 1))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xedb0-0xedff undefined */
-
-        default:
-          goto UNKNOWN_OP;
-        }
-      break;
-
-    /* 0xe4 undefined */
-
-    case 0xe5:
-      /* SSE/SIL-format instruction */
-      switch (insn[0])
-        {
-        /* 0xe500-0xe543 undefined, privileged, or unsupported */
-
-        case 0xe544: /* MVHHI - move */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, 2))
-            return -1;
-          break;
-
-        /* 0xe545-0xe547 undefined */
-
-        case 0xe548: /* MVGHI - move */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, 8))
-            return -1;
-          break;
-
-        /* 0xe549-0xe54b undefined */
-
-        case 0xe54c: /* MVHI - move */
-          oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-          if (record_full_arch_list_add_mem (oaddr, 4))
-            return -1;
-          break;
-
-        /* 0xe54d-0xe553 undefined */
-
-        case 0xe554: /* CHHSI - compare halfword immediate */
-        case 0xe555: /* CLHHSI - compare logical immediate */
-        case 0xe558: /* CGHSI - compare halfword immediate */
-        case 0xe559: /* CLGHSI - compare logical immediate */
-        case 0xe55c: /* CHSI - compare halfword immediate */
-        case 0xe55d: /* CLFHSI - compare logical immediate */
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe556-0xe557 undefined */
-        /* 0xe55a-0xe55b undefined */
-        /* 0xe55e-0xe55f undefined */
-
-        case 0xe560: /* TBEGIN - transaction begin */
-          /* The transaction will be immediately aborted after this
-             instruction, due to single-stepping.  This instruction is
-             only supported so that the program can fail a few times
-             and go to the non-transactional fallback.  */
-          if (inib[4])
-            {
-              /* Transaction diagnostic block - user.  */
-              oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-              if (record_full_arch_list_add_mem (oaddr, 256))
-                return -1;
-            }
-          /* Transaction diagnostic block - supervisor.  */
-          if (record_full_arch_list_add_reg (regcache, S390_TDB_DWORD0_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_TDB_ABORT_CODE_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_TDB_CONFLICT_TOKEN_REGNUM))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_TDB_ATIA_REGNUM))
-            return -1;
-          for (i = 0; i < 16; i++)
-            if (record_full_arch_list_add_reg (regcache, S390_TDB_R0_REGNUM + i))
-              return -1;
-          /* And flags.  */
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
-
-        /* 0xe561 unsupported: TBEGINC */
-        /* 0xe562-0xe5ff undefined */
-
-        default:
-          goto UNKNOWN_OP;
-        }
-      break;
+    /* s390 syscall numbers < 222 are mostly the same as x86, so just list
+       the exceptions.  */
+    case 0:
+      return gdb_sys_no_syscall;
+    case 7:
+      return gdb_sys_restart_syscall;
+    /* These syscalls work only on 31-bit.  */
+    case 13: /* time */
+    case 16: /* lchown[16] */
+    case 23: /* setuid[16] */
+    case 24: /* getuid[16] */
+    case 25: /* stime */
+    case 46: /* setgid[16] */
+    case 47: /* getgid[16] */
+    case 49: /* seteuid[16] */
+    case 50: /* getegid[16] */
+    case 70: /* setreuid[16] */
+    case 71: /* setregid[16] */
+    case 76: /* [old_]getrlimit */
+    case 80: /* getgroups[16] */
+    case 81: /* setgroups[16] */
+    case 95: /* fchown[16] */
+    case 101: /* ioperm */
+    case 138: /* setfsuid[16] */
+    case 139: /* setfsgid[16] */
+    case 140: /* _llseek */
+    case 164: /* setresuid[16] */
+    case 165: /* getresuid[16] */
+    case 170: /* setresgid[16] */
+    case 171: /* getresgid[16] */
+    case 182: /* chown[16] */
+    case 192: /* mmap2 */
+    case 193: /* truncate64 */
+    case 194: /* ftruncate64 */
+    case 195: /* stat64 */
+    case 196: /* lstat64 */
+    case 197: /* fstat64 */
+    case 221: /* fcntl64 */
+      if (abi == ABI_LINUX_S390)
+        return (enum gdb_syscall) syscall;
+      return gdb_sys_no_syscall;
+    /* These syscalls don't exist on s390.  */
+    case 17: /* break */
+    case 18: /* oldstat */
+    case 28: /* oldfstat */
+    case 31: /* stty */
+    case 32: /* gtty */
+    case 35: /* ftime */
+    case 44: /* prof */
+    case 53: /* lock */
+    case 56: /* mpx */
+    case 58: /* ulimit */
+    case 59: /* oldolduname */
+    case 68: /* sgetmask */
+    case 69: /* ssetmask */
+    case 82: /* [old_]select */
+    case 84: /* oldlstat */
+    case 98: /* profil */
+    case 109: /* olduname */
+    case 113: /* vm86old */
+    case 123: /* modify_ldt */
+    case 166: /* vm86 */
+      return gdb_sys_no_syscall;
+    case 110:
+      return gdb_sys_lookup_dcookie;
+    /* Here come the differences.  */
+    case 222:
+      return gdb_sys_readahead;
+    case 223:
+      if (abi == ABI_LINUX_S390)
+        return gdb_sys_sendfile64;
+      return gdb_sys_no_syscall;
+    /* 224-235 handled below */
+    case 236:
+      return gdb_sys_gettid;
+    case 237:
+      return gdb_sys_tkill;
+    case 238:
+      return gdb_sys_futex;
+    case 239:
+      return gdb_sys_sched_setaffinity;
+    case 240:
+      return gdb_sys_sched_getaffinity;
+    case 241:
+      return gdb_sys_tgkill;
+    /* 242 reserved */
+    case 243:
+      return gdb_sys_io_setup;
+    case 244:
+      return gdb_sys_io_destroy;
+    case 245:
+      return gdb_sys_io_getevents;
+    case 246:
+      return gdb_sys_io_submit;
+    case 247:
+      return gdb_sys_io_cancel;
+    case 248:
+      return gdb_sys_exit_group;
+    case 249:
+      return gdb_sys_epoll_create;
+    case 250:
+      return gdb_sys_epoll_ctl;
+    case 251:
+      return gdb_sys_epoll_wait;
+    case 252:
+      return gdb_sys_set_tid_address;
+    case 253:
+      return gdb_sys_fadvise64;
+    /* 254-262 handled below */
+    /* 263 reserved */
+    case 264:
+      if (abi == ABI_LINUX_S390)
+        return gdb_sys_fadvise64_64;
+      return gdb_sys_no_syscall;
+    case 265:
+      return gdb_sys_statfs64;
+    case 266:
+      return gdb_sys_fstatfs64;
+    case 267:
+      return gdb_sys_remap_file_pages;
+    /* 268-270 reserved */
+    /* 271-277 handled below */
+    case 278:
+      return gdb_sys_add_key;
+    case 279:
+      return gdb_sys_request_key;
+    case 280:
+      return gdb_sys_keyctl;
+    case 281:
+      return gdb_sys_waitid;
+    /* 282-312 handled below */
+    case 293:
+      if (abi == ABI_LINUX_S390)
+        return gdb_sys_fstatat64;
+      return gdb_sys_newfstatat;
+    /* 313+ not yet supported */
+    default:
+      {
+	int ret;
 
-    case 0xec:
-      /* RIE/RIS/RRS-format instruction */
-      switch (ibyte[0] << 8 | ibyte[5])
-        {
-        /* 0xec00-0xec41 undefined */
+	/* Most "old" syscalls copied from i386.  */
+	if (syscall <= 221)
+	  ret = syscall;
+	/* xattr syscalls.  */
+	else if (syscall >= 224 && syscall <= 235)
+	  ret = syscall + 2;
+	/* timer syscalls.  */
+	else if (syscall >= 254 && syscall <= 262)
+	  ret = syscall + 5;
+	/* mq_* and kexec_load */
+	else if (syscall >= 271 && syscall <= 277)
+	  ret = syscall + 6;
+	/* ioprio_set .. epoll_pwait */
+	else if (syscall >= 282 && syscall <= 312)
+	  ret = syscall + 7;
+	else
+	  ret = gdb_sys_no_syscall;
 
-        case 0xec42: /* LOCHI - load halfword immediate on condition */
-        case 0xec51: /* RISBLG - rotate then insert selected bits low */
-          /* 32-bit or native gpr destination */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          break;
+	return (enum gdb_syscall) ret;
+      }
+    }
+}
 
-        /* 0xec43 undefined */
+/* Record a system call.  Returns 0 on success, -1 otherwise.
+   Helper function for s390_process_record.  */
 
-        case 0xec44: /* BRXHG - branch relative on index high */
-        case 0xec45: /* BRXLG - branch relative on index low or equal */
-        case 0xec46: /* LOCGHI - load halfword immediate on condition */
-        case 0xec59: /* RISBGN - rotate then insert selected bits */
-          /* 64-bit gpr destination */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          break;
+static int
+s390_linux_syscall_record (struct regcache *regcache, LONGEST syscall_native)
+{
+  struct gdbarch *gdbarch = regcache->arch ();
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  int ret;
+  enum gdb_syscall syscall_gdb;
 
-        /* 0xec47-0xec4d undefined */
+  /* On s390, syscall number can be passed either as immediate field of svc
+     instruction, or in %r1 (with svc 0).  */
+  if (syscall_native == 0)
+    regcache_raw_read_signed (regcache, S390_R1_REGNUM, &syscall_native);
 
-        case 0xec4e: /* LOCHHI - load halfword immediate on condition */
-        case 0xec5d: /* RISBHG - rotate then insert selected bits high */
-          /* 32-bit high gpr destination */
-          if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
-            return -1;
-          break;
+  syscall_gdb = s390_canonicalize_syscall (syscall_native, tdep->abi);
 
-        /* 0xec4f-0xec50 undefined */
-        /* 0xec52-0xec53 undefined */
+  if (syscall_gdb < 0)
+    {
+      printf_unfiltered (_("Process record and replay target doesn't "
+                           "support syscall number %s\n"),
+                         plongest (syscall_native));
+      return -1;
+    }
 
-        case 0xec54: /* RNSBG - rotate then and selected bits */
-        case 0xec55: /* RISBG - rotate then insert selected bits */
-        case 0xec56: /* ROSBG - rotate then or selected bits */
-        case 0xec57: /* RXSBG - rotate then xor selected bits */
-        case 0xecd9: /* AGHIK - add immediate */
-        case 0xecdb: /* ALGHSIK - add logical immediate */
-          /* 64-bit gpr destination + flags */
-          if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
+  if (syscall_gdb == gdb_sys_sigreturn
+      || syscall_gdb == gdb_sys_rt_sigreturn)
+    {
+      if (s390_all_but_pc_registers_record (regcache))
+        return -1;
+      return 0;
+    }
 
-        /* 0xec58 undefined */
-        /* 0xec5a-0xec5c undefined */
-        /* 0xec5e-0xec63 undefined */
-
-        case 0xec64: /* CGRJ - compare and branch relative */
-        case 0xec65: /* CLGRJ - compare logical and branch relative */
-        case 0xec76: /* CRJ - compare and branch relative */
-        case 0xec77: /* CLRJ - compare logical and branch relative */
-        case 0xec7c: /* CGIJ - compare immediate and branch relative */
-        case 0xec7d: /* CLGIJ - compare logical immediate and branch relative */
-        case 0xec7e: /* CIJ - compare immediate and branch relative */
-        case 0xec7f: /* CLIJ - compare logical immediate and branch relative */
-        case 0xece4: /* CGRB - compare and branch */
-        case 0xece5: /* CLGRB - compare logical and branch */
-        case 0xecf6: /* CRB - compare and branch */
-        case 0xecf7: /* CLRB - compare logical and branch */
-        case 0xecfc: /* CGIB - compare immediate and branch */
-        case 0xecfd: /* CLGIB - compare logical immediate and branch */
-        case 0xecfe: /* CIB - compare immediate and branch */
-        case 0xecff: /* CLIB - compare logical immediate and branch */
-          break;
-
-        /* 0xec66-0xec6f undefined */
-
-        case 0xec70: /* CGIT - compare immediate and trap */
-        case 0xec71: /* CLGIT - compare logical immediate and trap */
-        case 0xec72: /* CIT - compare immediate and trap */
-        case 0xec73: /* CLFIT - compare logical immediate and trap */
-          /* fpc only - including possible DXC write for trapping insns */
-          if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-            return -1;
-          break;
+  if (tdep->abi == ABI_LINUX_ZSERIES)
+    ret = record_linux_system_call (syscall_gdb, regcache,
+                                    &s390x_linux_record_tdep);
+  else
+    ret = record_linux_system_call (syscall_gdb, regcache,
+                                    &s390_linux_record_tdep);
 
-        /* 0xec74-0xec75 undefined */
-        /* 0xec78-0xec7b undefined */
+  if (ret)
+    return ret;
 
-        /* 0xec80-0xecd7 undefined */
+  /* Record the return value of the system call.  */
+  if (record_full_arch_list_add_reg (regcache, S390_R2_REGNUM))
+    return -1;
 
-        case 0xecd8: /* AHIK - add immediate */
-        case 0xecda: /* ALHSIK - add logical immediate */
-          /* 32-bit gpr destination + flags */
-          if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-            return -1;
-          if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-            return -1;
-          break;
+  return 0;
+}
 
-        /* 0xecdc-0xece3 undefined */
-        /* 0xece6-0xecf5 undefined */
-        /* 0xecf8-0xecfb undefined */
+/* Implement process_record_signal gdbarch method.  */
 
-        default:
-          goto UNKNOWN_OP;
-        }
-      break;
+static int
+s390_linux_record_signal (struct gdbarch *gdbarch, struct regcache *regcache,
+                          enum gdb_signal signal)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  /* There are two kinds of signal frames on s390. rt_sigframe is always
+     the larger one, so don't even bother with sigframe.  */
+  const int sizeof_rt_sigframe = (tdep->abi == ABI_LINUX_ZSERIES ?
+                                  160 + 8 + 128 + 1024 : 96 + 8 + 128 + 1000);
+  ULONGEST sp;
+  int i;
 
-    case 0xee: /* PLO - perform locked operation */
-      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      oaddr2 = s390_record_calc_disp (gdbarch, regcache, 0, insn[2], 0);
-      if (!(tmp & 0x100))
-        {
-          uint8_t fc = tmp & 0xff;
-          gdb_byte buf[8];
-          switch (fc)
-            {
-            case 0x00: /* CL */
-              /* op1c */
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-                return -1;
-              /* op3 */
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
-                return -1;
-              break;
-
-            case 0x01: /* CLG */
-              /* op1c */
-              if (record_full_arch_list_add_mem (oaddr2 + 0x08, 8))
-                return -1;
-              /* op3 */
-              if (record_full_arch_list_add_mem (oaddr2 + 0x28, 8))
-                return -1;
-              break;
-
-            case 0x02: /* CLGR */
-              /* op1c */
-              if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-                return -1;
-              /* op3 */
-              if (s390_record_gpr_g (gdbarch, regcache, inib[3]))
-                return -1;
-              break;
-
-            case 0x03: /* CLX */
-              /* op1c */
-              if (record_full_arch_list_add_mem (oaddr2 + 0x00, 16))
-                return -1;
-              /* op3 */
-              if (record_full_arch_list_add_mem (oaddr2 + 0x20, 16))
-                return -1;
-              break;
-
-            case 0x08: /* DCS */
-              /* op3c */
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
-                return -1;
-              /* fallthru */
-            case 0x0c: /* CSST */
-              /* op4 */
-              if (record_full_arch_list_add_mem (oaddr2, 4))
-                return -1;
-              goto CS;
-
-            case 0x14: /* CSTST */
-              /* op8 */
-              if (target_read_memory (oaddr2 + 0x88, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 4))
-                return -1;
-              /* fallthru */
-            case 0x10: /* CSDST */
-              /* op6 */
-              if (target_read_memory (oaddr2 + 0x68, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 4))
-                return -1;
-              /* op4 */
-              if (target_read_memory (oaddr2 + 0x48, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 4))
-                return -1;
-              /* fallthru */
-            case 0x04: /* CS */
-CS:
-              /* op1c */
-              if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
-                return -1;
-              /* op2 */
-              if (record_full_arch_list_add_mem (oaddr, 4))
-                return -1;
-              break;
-
-            case 0x09: /* DCSG */
-              /* op3c */
-              if (record_full_arch_list_add_mem (oaddr2 + 0x28, 8))
-                return -1;
-              goto CSSTG;
-
-            case 0x15: /* CSTSTG */
-              /* op8 */
-              if (target_read_memory (oaddr2 + 0x88, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 8))
-                return -1;
-              /* fallthru */
-            case 0x11: /* CSDSTG */
-              /* op6 */
-              if (target_read_memory (oaddr2 + 0x68, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 8))
-                return -1;
-              /* fallthru */
-            case 0x0d: /* CSSTG */
-CSSTG:
-              /* op4 */
-              if (target_read_memory (oaddr2 + 0x48, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 8))
-                return -1;
-              /* fallthru */
-            case 0x05: /* CSG */
-              /* op1c */
-              if (record_full_arch_list_add_mem (oaddr2 + 0x08, 8))
-                return -1;
-              /* op2 */
-              if (record_full_arch_list_add_mem (oaddr, 8))
-                return -1;
-              break;
-
-            case 0x0a: /* DCSGR */
-              /* op3c */
-              if (s390_record_gpr_g (gdbarch, regcache, inib[3]))
-                return -1;
-              /* fallthru */
-            case 0x0e: /* CSSTGR */
-              /* op4 */
-              if (record_full_arch_list_add_mem (oaddr2, 8))
-                return -1;
-              goto CSGR;
-
-            case 0x16: /* CSTSTGR */
-              /* op8 */
-              if (target_read_memory (oaddr2 + 0x88, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 8))
-                return -1;
-              /* fallthru */
-            case 0x12: /* CSDSTGR */
-              /* op6 */
-              if (target_read_memory (oaddr2 + 0x68, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 8))
-                return -1;
-              /* op4 */
-              if (target_read_memory (oaddr2 + 0x48, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 8))
-                return -1;
-              /* fallthru */
-            case 0x06: /* CSGR */
-CSGR:
-              /* op1c */
-              if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
-                return -1;
-              /* op2 */
-              if (record_full_arch_list_add_mem (oaddr, 8))
-                return -1;
-              break;
-
-            case 0x0b: /* DCSX */
-              /* op3c */
-              if (record_full_arch_list_add_mem (oaddr2 + 0x20, 16))
-                return -1;
-              goto CSSTX;
-
-            case 0x17: /* CSTSTX */
-              /* op8 */
-              if (target_read_memory (oaddr2 + 0x88, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 16))
-                return -1;
-              /* fallthru */
-            case 0x13: /* CSDSTX */
-              /* op6 */
-              if (target_read_memory (oaddr2 + 0x68, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 16))
-                return -1;
-              /* fallthru */
-            case 0x0f: /* CSSTX */
-CSSTX:
-              /* op4 */
-              if (target_read_memory (oaddr2 + 0x48, buf, 8))
-                return -1;
-              oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
-              oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
-              if (record_full_arch_list_add_mem (oaddr3, 16))
-                return -1;
-              /* fallthru */
-            case 0x07: /* CSX */
-              /* op1c */
-              if (record_full_arch_list_add_mem (oaddr2 + 0x00, 16))
-                return -1;
-              /* op2 */
-              if (record_full_arch_list_add_mem (oaddr, 16))
-                return -1;
-              break;
-
-            default:
-              fprintf_unfiltered (gdb_stdlog, "Warning: Unknown PLO FC %02x at %s.\n",
-                                  fc, paddress (gdbarch, addr));
-              return -1;
-            }
-        }
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+  for (i = 0; i < 16; i++)
+    {
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
         return -1;
-      break;
-
-    case 0xef: /* LMD - load multiple disjoint */
-      for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
-        if (s390_record_gpr_g (gdbarch, regcache, i))
+      if (tdep->gpr_full_regnum != -1)
+        if (record_full_arch_list_add_reg (regcache, S390_R0_UPPER_REGNUM + i))
           return -1;
-      if (s390_record_gpr_g (gdbarch, regcache, inib[3]))
-        return -1;
-      break;
-
-    case 0xf0: /* SRP - shift and round decimal */
-    case 0xf8: /* ZAP - zero and add */
-    case 0xfa: /* AP - add decimal */
-    case 0xfb: /* SP - subtract decimal */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, inib[2] + 1))
-        return -1;
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      /* DXC may be written */
-      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-        return -1;
-      break;
-
-    case 0xf1: /* MVO - move with offset */
-    case 0xf2: /* PACK - pack */
-    case 0xf3: /* UNPK - unpack */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, inib[2] + 1))
-        return -1;
-      break;
-
-    /* 0xf4-0xf7 undefined */
-
-    case 0xf9: /* CP - compare decimal */
-      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
-        return -1;
-      /* DXC may be written */
-      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-        return -1;
-      break;
-
-    case 0xfc: /* MP - multiply decimal */
-    case 0xfd: /* DP - divide decimal */
-      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
-      if (record_full_arch_list_add_mem (oaddr, inib[2] + 1))
-        return -1;
-      /* DXC may be written */
-      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
-        return -1;
-      break;
-
-    /* 0xfe-0xff undefined */
+    }
+  if (record_full_arch_list_add_reg (regcache, S390_PSWA_REGNUM))
+    return -1;
+  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+    return -1;
 
-    default:
-UNKNOWN_OP:
-      fprintf_unfiltered (gdb_stdlog, "Warning: Don't know how to record %04x "
-                          "at %s.\n", insn[0], paddress (gdbarch, addr));
-      return -1;
-  }
+  /* Record the change in the stack.
+     frame-size = sizeof (struct rt_sigframe) + SIGNAL_FRAMESIZE  */
+  regcache_raw_read_unsigned (regcache, S390_SP_REGNUM, &sp);
+  sp -= sizeof_rt_sigframe;
 
-  if (record_full_arch_list_add_reg (regcache, S390_PSWA_REGNUM))
+  if (record_full_arch_list_add_mem (sp, sizeof_rt_sigframe))
     return -1;
+
   if (record_full_arch_list_add_end ())
     return -1;
+
   return 0;
 }
 
@@ -7805,437 +1110,85 @@ s390_init_linux_record_tdep (struct linu
   record_tdep->ioctl_FIOQSIZE = 0x545e;
 }
 
-/* Set up gdbarch struct.  */
+/* Initialize OSABI common for GNU/Linux on 31- and 64-bit systems.  */
 
-static struct gdbarch *
-s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+static void
+s390_linux_init_abi_any (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
-  const struct target_desc *tdesc = info.target_desc;
-  struct tdesc_arch_data *tdesc_data = NULL;
-  struct gdbarch *gdbarch;
-  struct gdbarch_tdep *tdep;
-  enum s390_abi_kind tdep_abi;
-  enum s390_vector_abi_kind vector_abi;
-  int have_upper = 0;
-  int have_linux_v1 = 0;
-  int have_linux_v2 = 0;
-  int have_tdb = 0;
-  int have_vx = 0;
-  int have_gs = 0;
-  int first_pseudo_reg, last_pseudo_reg;
-  static const char *const stap_register_prefixes[] = { "%", NULL };
-  static const char *const stap_register_indirection_prefixes[] = { "(",
-								    NULL };
-  static const char *const stap_register_indirection_suffixes[] = { ")",
-								    NULL };
-
-  /* Default ABI and register size.  */
-  switch (info.bfd_arch_info->mach)
-    {
-    case bfd_mach_s390_31:
-      tdep_abi = ABI_LINUX_S390;
-      break;
-
-    case bfd_mach_s390_64:
-      tdep_abi = ABI_LINUX_ZSERIES;
-      break;
-
-    default:
-      return NULL;
-    }
-
-  /* Use default target description if none provided by the target.  */
-  if (!tdesc_has_registers (tdesc))
-    {
-      if (tdep_abi == ABI_LINUX_S390)
-	tdesc = tdesc_s390_linux32;
-      else
-	tdesc = tdesc_s390x_linux64;
-    }
-
-  /* Check any target description for validity.  */
-  if (tdesc_has_registers (tdesc))
-    {
-      static const char *const gprs[] = {
-	"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
-	"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15"
-      };
-      static const char *const fprs[] = {
-	"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
-	"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15"
-      };
-      static const char *const acrs[] = {
-	"acr0", "acr1", "acr2", "acr3", "acr4", "acr5", "acr6", "acr7",
-	"acr8", "acr9", "acr10", "acr11", "acr12", "acr13", "acr14", "acr15"
-      };
-      static const char *const gprs_lower[] = {
-	"r0l", "r1l", "r2l", "r3l", "r4l", "r5l", "r6l", "r7l",
-	"r8l", "r9l", "r10l", "r11l", "r12l", "r13l", "r14l", "r15l"
-      };
-      static const char *const gprs_upper[] = {
-	"r0h", "r1h", "r2h", "r3h", "r4h", "r5h", "r6h", "r7h",
-	"r8h", "r9h", "r10h", "r11h", "r12h", "r13h", "r14h", "r15h"
-      };
-      static const char *const tdb_regs[] = {
-	"tdb0", "tac", "tct", "atia",
-	"tr0", "tr1", "tr2", "tr3", "tr4", "tr5", "tr6", "tr7",
-	"tr8", "tr9", "tr10", "tr11", "tr12", "tr13", "tr14", "tr15"
-      };
-      static const char *const vxrs_low[] = {
-	"v0l", "v1l", "v2l", "v3l", "v4l", "v5l", "v6l", "v7l", "v8l",
-	"v9l", "v10l", "v11l", "v12l", "v13l", "v14l", "v15l",
-      };
-      static const char *const vxrs_high[] = {
-	"v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", "v24",
-	"v25", "v26", "v27", "v28", "v29", "v30", "v31",
-      };
-      static const char *const gs_cb[] = {
-	"gsd", "gssm", "gsepla",
-      };
-      static const char *const gs_bc[] = {
-	"bc_gsd", "bc_gssm", "bc_gsepla",
-      };
-      const struct tdesc_feature *feature;
-      int i, valid_p = 1;
-
-      feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.core");
-      if (feature == NULL)
-	return NULL;
-
-      tdesc_data = tdesc_data_alloc ();
-
-      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					  S390_PSWM_REGNUM, "pswm");
-      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					  S390_PSWA_REGNUM, "pswa");
-
-      if (tdesc_unnumbered_register (feature, "r0"))
-	{
-	  for (i = 0; i < 16; i++)
-	    valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						S390_R0_REGNUM + i, gprs[i]);
-	}
-      else
-	{
-	  have_upper = 1;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
-	  for (i = 0; i < 16; i++)
-	    valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						S390_R0_REGNUM + i,
-						gprs_lower[i]);
-	  for (i = 0; i < 16; i++)
-	    valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						S390_R0_UPPER_REGNUM + i,
-						gprs_upper[i]);
-	}
-
-      feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.fpr");
-      if (feature == NULL)
-	{
-	  tdesc_data_cleanup (tdesc_data);
-	  return NULL;
-	}
-
-      valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					  S390_FPC_REGNUM, "fpc");
-      for (i = 0; i < 16; i++)
-	valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					    S390_F0_REGNUM + i, fprs[i]);
-
-      feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.acr");
-      if (feature == NULL)
-	{
-	  tdesc_data_cleanup (tdesc_data);
-	  return NULL;
-	}
-
-      for (i = 0; i < 16; i++)
-	valid_p &= tdesc_numbered_register (feature, tdesc_data,
-					    S390_A0_REGNUM + i, acrs[i]);
-
-      /* Optional GNU/Linux-specific "registers".  */
-      feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.linux");
-      if (feature)
-	{
-	  tdesc_numbered_register (feature, tdesc_data,
-				   S390_ORIG_R2_REGNUM, "orig_r2");
-
-	  if (tdesc_numbered_register (feature, tdesc_data,
-				       S390_LAST_BREAK_REGNUM, "last_break"))
-	    have_linux_v1 = 1;
-
-	  if (tdesc_numbered_register (feature, tdesc_data,
-				       S390_SYSTEM_CALL_REGNUM, "system_call"))
-	    have_linux_v2 = 1;
-
-	  if (have_linux_v2 > have_linux_v1)
-	    valid_p = 0;
-	}
-
-      /* Transaction diagnostic block.  */
-      feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.tdb");
-      if (feature)
-	{
-	  for (i = 0; i < ARRAY_SIZE (tdb_regs); i++)
-	    valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						S390_TDB_DWORD0_REGNUM + i,
-						tdb_regs[i]);
-	  have_tdb = 1;
-	}
-
-      /* Vector registers.  */
-      feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.vx");
-      if (feature)
-	{
-	  for (i = 0; i < 16; i++)
-	    valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						S390_V0_LOWER_REGNUM + i,
-						vxrs_low[i]);
-	  for (i = 0; i < 16; i++)
-	    valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						S390_V16_REGNUM + i,
-						vxrs_high[i]);
-	  have_vx = 1;
-	}
-
-      /* Guarded-storage registers.  */
-      feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.gs");
-      if (feature)
-	{
-	  for (i = 0; i < 3; i++)
-	    valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						S390_GSD_REGNUM + i,
-						gs_cb[i]);
-	  have_gs = 1;
-	}
-
-      /* Guarded-storage broadcast control.  */
-      feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.gsbc");
-      if (feature)
-	{
-	  valid_p &= have_gs;
-
-	  for (i = 0; i < 3; i++)
-	    valid_p &= tdesc_numbered_register (feature, tdesc_data,
-						S390_BC_GSD_REGNUM + i,
-						gs_bc[i]);
-	}
-
-      if (!valid_p)
-	{
-	  tdesc_data_cleanup (tdesc_data);
-	  return NULL;
-	}
-    }
+  tdep->s390_syscall_record = s390_linux_syscall_record;
 
-  /* Determine vector ABI.  */
-  vector_abi = S390_VECTOR_ABI_NONE;
-#ifdef HAVE_ELF
-  if (have_vx
-      && info.abfd != NULL
-      && info.abfd->format == bfd_object
-      && bfd_get_flavour (info.abfd) == bfd_target_elf_flavour
-      && bfd_elf_get_obj_attr_int (info.abfd, OBJ_ATTR_GNU,
-				   Tag_GNU_S390_ABI_Vector) == 2)
-    vector_abi = S390_VECTOR_ABI_128;
-#endif
-
-  /* Find a candidate among extant architectures.  */
-  for (arches = gdbarch_list_lookup_by_info (arches, &info);
-       arches != NULL;
-       arches = gdbarch_list_lookup_by_info (arches->next, &info))
-    {
-      tdep = gdbarch_tdep (arches->gdbarch);
-      if (!tdep)
-	continue;
-      if (tdep->abi != tdep_abi)
-	continue;
-      if (tdep->vector_abi != vector_abi)
-	continue;
-      if ((tdep->gpr_full_regnum != -1) != have_upper)
-	continue;
-      if (tdep->have_gs != have_gs)
-	continue;
-      if (tdesc_data != NULL)
-	tdesc_data_cleanup (tdesc_data);
-      return arches->gdbarch;
-    }
+  linux_init_abi (info, gdbarch);
 
-  /* Otherwise create a new gdbarch for the specified machine type.  */
-  tdep = XCNEW (struct gdbarch_tdep);
-  tdep->abi = tdep_abi;
-  tdep->vector_abi = vector_abi;
-  tdep->have_linux_v1 = have_linux_v1;
-  tdep->have_linux_v2 = have_linux_v2;
-  tdep->have_tdb = have_tdb;
-  tdep->have_gs = have_gs;
-  gdbarch = gdbarch_alloc (&info, tdep);
-
-  set_gdbarch_believe_pcc_promotion (gdbarch, 0);
-  set_gdbarch_char_signed (gdbarch, 0);
-
-  /* S/390 GNU/Linux uses either 64-bit or 128-bit long doubles.
-     We can safely let them default to 128-bit, since the debug info
-     will give the size of type actually used in each case.  */
-  set_gdbarch_long_double_bit (gdbarch, 128);
-  set_gdbarch_long_double_format (gdbarch, floatformats_ia64_quad);
-
-  /* Amount PC must be decremented by after a breakpoint.  This is
-     often the number of bytes returned by gdbarch_breakpoint_from_pc but not
-     always.  */
-  set_gdbarch_decr_pc_after_break (gdbarch, 2);
-  /* Stack grows downward.  */
-  set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-  set_gdbarch_breakpoint_kind_from_pc (gdbarch, s390_breakpoint::kind_from_pc);
-  set_gdbarch_sw_breakpoint_from_kind (gdbarch, s390_breakpoint::bp_from_kind);
-  set_gdbarch_software_single_step (gdbarch, s390_software_single_step);
-  set_gdbarch_displaced_step_hw_singlestep (gdbarch, s390_displaced_step_hw_singlestep);
-  set_gdbarch_skip_prologue (gdbarch, s390_skip_prologue);
-  set_gdbarch_stack_frame_destroyed_p (gdbarch, s390_stack_frame_destroyed_p);
-
-  set_gdbarch_num_regs (gdbarch, S390_NUM_REGS);
-  set_gdbarch_sp_regnum (gdbarch, S390_SP_REGNUM);
-  set_gdbarch_fp0_regnum (gdbarch, S390_F0_REGNUM);
-  set_gdbarch_stab_reg_to_regnum (gdbarch, s390_dwarf_reg_to_regnum);
-  set_gdbarch_dwarf2_reg_to_regnum (gdbarch, s390_dwarf_reg_to_regnum);
-  set_gdbarch_value_from_register (gdbarch, s390_value_from_register);
+  /* Register handling.  */
   set_gdbarch_core_read_description (gdbarch, s390_core_read_description);
   set_gdbarch_iterate_over_regset_sections (gdbarch,
 					    s390_iterate_over_regset_sections);
-  set_gdbarch_cannot_store_register (gdbarch, s390_cannot_store_register);
   set_gdbarch_write_pc (gdbarch, s390_write_pc);
-  set_gdbarch_guess_tracepoint_registers (gdbarch, s390_guess_tracepoint_registers);
-  set_gdbarch_pseudo_register_read (gdbarch, s390_pseudo_register_read);
-  set_gdbarch_pseudo_register_write (gdbarch, s390_pseudo_register_write);
-  set_tdesc_pseudo_register_name (gdbarch, s390_pseudo_register_name);
-  set_tdesc_pseudo_register_type (gdbarch, s390_pseudo_register_type);
-  set_tdesc_pseudo_register_reggroup_p (gdbarch,
-					s390_pseudo_register_reggroup_p);
-  set_gdbarch_ax_pseudo_register_collect (gdbarch,
-					  s390_ax_pseudo_register_collect);
-  set_gdbarch_ax_pseudo_register_push_stack
-      (gdbarch, s390_ax_pseudo_register_push_stack);
-  set_gdbarch_gen_return_address (gdbarch, s390_gen_return_address);
-  tdesc_use_registers (gdbarch, tdesc, tdesc_data);
-  set_gdbarch_register_name (gdbarch, s390_register_name);
-
-  /* Assign pseudo register numbers.  */
-  first_pseudo_reg = gdbarch_num_regs (gdbarch);
-  last_pseudo_reg = first_pseudo_reg;
-  tdep->gpr_full_regnum = -1;
-  if (have_upper)
-    {
-      tdep->gpr_full_regnum = last_pseudo_reg;
-      last_pseudo_reg += 16;
-    }
-  tdep->v0_full_regnum = -1;
-  if (have_vx)
-    {
-      tdep->v0_full_regnum = last_pseudo_reg;
-      last_pseudo_reg += 16;
-    }
-  tdep->pc_regnum = last_pseudo_reg++;
-  tdep->cc_regnum = last_pseudo_reg++;
-  set_gdbarch_pc_regnum (gdbarch, tdep->pc_regnum);
-  set_gdbarch_num_pseudo_regs (gdbarch, last_pseudo_reg - first_pseudo_reg);
-
-  /* Inferior function calls.  */
-  set_gdbarch_push_dummy_call (gdbarch, s390_push_dummy_call);
-  set_gdbarch_dummy_id (gdbarch, s390_dummy_id);
-  set_gdbarch_frame_align (gdbarch, s390_frame_align);
-  set_gdbarch_return_value (gdbarch, s390_return_value);
+  set_gdbarch_cannot_store_register (gdbarch, s390_cannot_store_register);
 
   /* Syscall handling.  */
   set_gdbarch_get_syscall_number (gdbarch, s390_linux_get_syscall_number);
 
   /* Frame handling.  */
-  dwarf2_frame_set_init_reg (gdbarch, s390_dwarf2_frame_init_reg);
-  dwarf2_frame_set_adjust_regnum (gdbarch, s390_adjust_frame_regnum);
-  dwarf2_append_unwinders (gdbarch);
-  frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
-  frame_unwind_append_unwinder (gdbarch, &s390_stub_frame_unwind);
   frame_unwind_append_unwinder (gdbarch, &s390_sigtramp_frame_unwind);
-  frame_unwind_append_unwinder (gdbarch, &s390_frame_unwind);
-  frame_base_set_default (gdbarch, &s390_frame_base);
-  set_gdbarch_unwind_pc (gdbarch, s390_unwind_pc);
-  set_gdbarch_unwind_sp (gdbarch, s390_unwind_sp);
-
-  /* Displaced stepping.  */
-  set_gdbarch_displaced_step_copy_insn (gdbarch,
-					s390_displaced_step_copy_insn);
-  set_gdbarch_displaced_step_fixup (gdbarch, s390_displaced_step_fixup);
-  set_gdbarch_displaced_step_location (gdbarch, linux_displaced_step_location);
-  set_gdbarch_max_insn_length (gdbarch, S390_MAX_INSTR_SIZE);
-
-  /* Note that GNU/Linux is the only OS supported on this
-     platform.  */
-  linux_init_abi (info, gdbarch);
-
-  switch (tdep->abi)
-    {
-    case ABI_LINUX_S390:
-      set_gdbarch_addr_bits_remove (gdbarch, s390_addr_bits_remove);
-      set_solib_svr4_fetch_link_map_offsets
-	(gdbarch, svr4_ilp32_fetch_link_map_offsets);
-
-      set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_S390);
-      break;
-
-    case ABI_LINUX_ZSERIES:
-      set_gdbarch_long_bit (gdbarch, 64);
-      set_gdbarch_long_long_bit (gdbarch, 64);
-      set_gdbarch_ptr_bit (gdbarch, 64);
-      set_solib_svr4_fetch_link_map_offsets
-	(gdbarch, svr4_lp64_fetch_link_map_offsets);
-      set_gdbarch_address_class_type_flags (gdbarch,
-					    s390_address_class_type_flags);
-      set_gdbarch_address_class_type_flags_to_name (gdbarch,
-						    s390_address_class_type_flags_to_name);
-      set_gdbarch_address_class_name_to_type_flags (gdbarch,
-						    s390_address_class_name_to_type_flags);
-      set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_S390X);
-      break;
-    }
-
   set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
 
   /* Enable TLS support.  */
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
 					     svr4_fetch_objfile_link_map);
 
-  /* SystemTap functions.  */
-  set_gdbarch_stap_register_prefixes (gdbarch, stap_register_prefixes);
-  set_gdbarch_stap_register_indirection_prefixes (gdbarch,
-					  stap_register_indirection_prefixes);
-  set_gdbarch_stap_register_indirection_suffixes (gdbarch,
-					  stap_register_indirection_suffixes);
-  set_gdbarch_stap_is_single_operand (gdbarch, s390_stap_is_single_operand);
-  set_gdbarch_gcc_target_options (gdbarch, s390_gcc_target_options);
-  set_gdbarch_gnu_triplet_regexp (gdbarch, s390_gnu_triplet_regexp);
-
   /* Support reverse debugging.  */
-
-  set_gdbarch_process_record (gdbarch, s390_process_record);
   set_gdbarch_process_record_signal (gdbarch, s390_linux_record_signal);
-
   s390_init_linux_record_tdep (&s390_linux_record_tdep, ABI_LINUX_S390);
   s390_init_linux_record_tdep (&s390x_linux_record_tdep, ABI_LINUX_ZSERIES);
+}
+
+/* Initialize OSABI for GNU/Linux on 31-bit systems.  */
+
+static void
+s390_linux_init_abi_31 (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  const struct target_desc *tdesc = info.target_desc;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  tdep->abi = ABI_LINUX_S390;
+
+  s390_linux_init_abi_any (info, gdbarch);
+
+  set_solib_svr4_fetch_link_map_offsets (gdbarch,
+					 svr4_ilp32_fetch_link_map_offsets);
+  set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_S390);
+}
+
+/* Initialize OSABI for GNU/Linux on 64-bit systems.  */
+
+static void
+s390_linux_init_abi_64 (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  const struct target_desc *tdesc = info.target_desc;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  tdep->abi = ABI_LINUX_ZSERIES;
 
-  set_gdbarch_disassembler_options (gdbarch, &s390_disassembler_options);
-  set_gdbarch_valid_disassembler_options (gdbarch,
-					  disassembler_options_s390 ());
+  s390_linux_init_abi_any (info, gdbarch);
 
-  return gdbarch;
+  set_solib_svr4_fetch_link_map_offsets (gdbarch,
+					 svr4_lp64_fetch_link_map_offsets);
+  set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_S390X);
 }
 
 void
-_initialize_s390_tdep (void)
+_initialize_s390_linux_tdep (void)
 {
-  /* Hook us into the gdbarch mechanism.  */
-  register_gdbarch_init (bfd_arch_s390, s390_gdbarch_init);
+  /* Hook us into the OSABI mechanism.  */
+  gdbarch_register_osabi (bfd_arch_s390, bfd_mach_s390_31, GDB_OSABI_LINUX,
+			  s390_linux_init_abi_31);
+  gdbarch_register_osabi (bfd_arch_s390, bfd_mach_s390_64, GDB_OSABI_LINUX,
+			  s390_linux_init_abi_64);
 
   /* Initialize the GNU/Linux target descriptions.  */
-  initialize_tdesc_s390_linux32 ();
   initialize_tdesc_s390_linux32v1 ();
   initialize_tdesc_s390_linux32v2 ();
   initialize_tdesc_s390_linux64 ();
@@ -8245,7 +1198,6 @@ _initialize_s390_tdep (void)
   initialize_tdesc_s390_vx_linux64 ();
   initialize_tdesc_s390_tevx_linux64 ();
   initialize_tdesc_s390_gs_linux64 ();
-  initialize_tdesc_s390x_linux64 ();
   initialize_tdesc_s390x_linux64v1 ();
   initialize_tdesc_s390x_linux64v2 ();
   initialize_tdesc_s390x_te_linux64 ();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/s390-linux-tdep.h ./gdb/s390-linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/s390-linux-tdep.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/s390-linux-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -1,4 +1,5 @@
-/* Target-dependent code for GDB, the GNU debugger.
+/* Target-dependent code for GNU/Linux on s390.
+
    Copyright (C) 2003-2018 Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -16,173 +17,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef S390_TDEP_H
-#define S390_TDEP_H
-
-/* Hardware capabilities. */
-
-#ifndef HWCAP_S390_HIGH_GPRS
-#define HWCAP_S390_HIGH_GPRS 512
-#endif
-
-#ifndef HWCAP_S390_TE
-#define HWCAP_S390_TE 1024
-#endif
-
-#ifndef HWCAP_S390_VX
-#define HWCAP_S390_VX 2048
-#endif
-
-#ifndef HWCAP_S390_GS
-#define HWCAP_S390_GS 16384
-#endif
-
-/* Register information.  */
-
-/* Program Status Word.  */
-#define S390_PSWM_REGNUM 0
-#define S390_PSWA_REGNUM 1
-/* General Purpose Registers.  */
-#define S390_R0_REGNUM 2
-#define S390_R1_REGNUM 3
-#define S390_R2_REGNUM 4
-#define S390_R3_REGNUM 5
-#define S390_R4_REGNUM 6
-#define S390_R5_REGNUM 7
-#define S390_R6_REGNUM 8
-#define S390_R7_REGNUM 9
-#define S390_R8_REGNUM 10
-#define S390_R9_REGNUM 11
-#define S390_R10_REGNUM 12
-#define S390_R11_REGNUM 13
-#define S390_R12_REGNUM 14
-#define S390_R13_REGNUM 15
-#define S390_R14_REGNUM 16
-#define S390_R15_REGNUM 17
-/* Access Registers.  */
-#define S390_A0_REGNUM 18
-#define S390_A1_REGNUM 19
-#define S390_A2_REGNUM 20
-#define S390_A3_REGNUM 21
-#define S390_A4_REGNUM 22
-#define S390_A5_REGNUM 23
-#define S390_A6_REGNUM 24
-#define S390_A7_REGNUM 25
-#define S390_A8_REGNUM 26
-#define S390_A9_REGNUM 27
-#define S390_A10_REGNUM 28
-#define S390_A11_REGNUM 29
-#define S390_A12_REGNUM 30
-#define S390_A13_REGNUM 31
-#define S390_A14_REGNUM 32
-#define S390_A15_REGNUM 33
-/* Floating Point Control Word.  */
-#define S390_FPC_REGNUM 34
-/* Floating Point Registers.  */
-#define S390_F0_REGNUM 35
-#define S390_F1_REGNUM 36
-#define S390_F2_REGNUM 37
-#define S390_F3_REGNUM 38
-#define S390_F4_REGNUM 39
-#define S390_F5_REGNUM 40
-#define S390_F6_REGNUM 41
-#define S390_F7_REGNUM 42
-#define S390_F8_REGNUM 43
-#define S390_F9_REGNUM 44
-#define S390_F10_REGNUM 45
-#define S390_F11_REGNUM 46
-#define S390_F12_REGNUM 47
-#define S390_F13_REGNUM 48
-#define S390_F14_REGNUM 49
-#define S390_F15_REGNUM 50
-/* General Purpose Register Upper Halves.  */
-#define S390_R0_UPPER_REGNUM 51
-#define S390_R1_UPPER_REGNUM 52
-#define S390_R2_UPPER_REGNUM 53
-#define S390_R3_UPPER_REGNUM 54
-#define S390_R4_UPPER_REGNUM 55
-#define S390_R5_UPPER_REGNUM 56
-#define S390_R6_UPPER_REGNUM 57
-#define S390_R7_UPPER_REGNUM 58
-#define S390_R8_UPPER_REGNUM 59
-#define S390_R9_UPPER_REGNUM 60
-#define S390_R10_UPPER_REGNUM 61
-#define S390_R11_UPPER_REGNUM 62
-#define S390_R12_UPPER_REGNUM 63
-#define S390_R13_UPPER_REGNUM 64
-#define S390_R14_UPPER_REGNUM 65
-#define S390_R15_UPPER_REGNUM 66
-/* GNU/Linux-specific optional registers.  */
-#define S390_ORIG_R2_REGNUM 67
-#define S390_LAST_BREAK_REGNUM 68
-#define S390_SYSTEM_CALL_REGNUM 69
-/* Transaction diagnostic block.  */
-#define S390_TDB_DWORD0_REGNUM 70
-#define S390_TDB_ABORT_CODE_REGNUM 71
-#define S390_TDB_CONFLICT_TOKEN_REGNUM 72
-#define S390_TDB_ATIA_REGNUM 73
-#define S390_TDB_R0_REGNUM 74
-#define S390_TDB_R1_REGNUM 75
-#define S390_TDB_R2_REGNUM 76
-#define S390_TDB_R3_REGNUM 77
-#define S390_TDB_R4_REGNUM 78
-#define S390_TDB_R5_REGNUM 79
-#define S390_TDB_R6_REGNUM 80
-#define S390_TDB_R7_REGNUM 81
-#define S390_TDB_R8_REGNUM 82
-#define S390_TDB_R9_REGNUM 83
-#define S390_TDB_R10_REGNUM 84
-#define S390_TDB_R11_REGNUM 85
-#define S390_TDB_R12_REGNUM 86
-#define S390_TDB_R13_REGNUM 87
-#define S390_TDB_R14_REGNUM 88
-#define S390_TDB_R15_REGNUM 89
-/* Vector registers.  */
-#define S390_V0_LOWER_REGNUM 90
-#define S390_V1_LOWER_REGNUM 91
-#define S390_V2_LOWER_REGNUM 92
-#define S390_V3_LOWER_REGNUM 93
-#define S390_V4_LOWER_REGNUM 94
-#define S390_V5_LOWER_REGNUM 95
-#define S390_V6_LOWER_REGNUM 96
-#define S390_V7_LOWER_REGNUM 97
-#define S390_V8_LOWER_REGNUM 98
-#define S390_V9_LOWER_REGNUM 99
-#define S390_V10_LOWER_REGNUM 100
-#define S390_V11_LOWER_REGNUM 101
-#define S390_V12_LOWER_REGNUM 102
-#define S390_V13_LOWER_REGNUM 103
-#define S390_V14_LOWER_REGNUM 104
-#define S390_V15_LOWER_REGNUM 105
-#define S390_V16_REGNUM 106
-#define S390_V17_REGNUM 107
-#define S390_V18_REGNUM 108
-#define S390_V19_REGNUM 109
-#define S390_V20_REGNUM 110
-#define S390_V21_REGNUM 111
-#define S390_V22_REGNUM 112
-#define S390_V23_REGNUM 113
-#define S390_V24_REGNUM 114
-#define S390_V25_REGNUM 115
-#define S390_V26_REGNUM 116
-#define S390_V27_REGNUM 117
-#define S390_V28_REGNUM 118
-#define S390_V29_REGNUM 119
-#define S390_V30_REGNUM 120
-#define S390_V31_REGNUM 121
-#define S390_GSD_REGNUM 122
-#define S390_GSSM_REGNUM 123
-#define S390_GSEPLA_REGNUM 124
-#define S390_BC_GSD_REGNUM 125
-#define S390_BC_GSSM_REGNUM 126
-#define S390_BC_GSEPLA_REGNUM 127
-/* Total.  */
-#define S390_NUM_REGS 128
-
-/* Special register usage.  */
-#define S390_SP_REGNUM S390_R15_REGNUM
-#define S390_RETADDR_REGNUM S390_R14_REGNUM
-#define S390_FRAME_REGNUM S390_R11_REGNUM
+#ifndef S390_LINUX_TDEP_H
+#define S390_LINUX_TDEP_H
 
 #define S390_IS_GREGSET_REGNUM(i)					\
   (((i) >= S390_PSWM_REGNUM && (i) <= S390_A15_REGNUM)			\
@@ -195,7 +31,7 @@
 #define S390_IS_TDBREGSET_REGNUM(i)				\
   ((i) >= S390_TDB_DWORD0_REGNUM && (i) <= S390_TDB_R15_REGNUM)
 
-/* Core file register sets, defined in s390-tdep.c.  */
+/* Core file register sets, defined in s390-linux-tdep.c.  */
 #define s390_sizeof_gregset 0x90
 #define s390x_sizeof_gregset 0xd8
 extern const struct regset s390_gregset;
@@ -212,7 +48,6 @@ extern const struct regset s390_gs_regse
 extern const struct regset s390_gsbc_regset;
 
 /* GNU/Linux target descriptions.  */
-extern struct target_desc *tdesc_s390_linux32;
 extern struct target_desc *tdesc_s390_linux32v1;
 extern struct target_desc *tdesc_s390_linux32v2;
 extern struct target_desc *tdesc_s390_linux64;
@@ -222,7 +57,6 @@ extern struct target_desc *tdesc_s390_te
 extern struct target_desc *tdesc_s390_vx_linux64;
 extern struct target_desc *tdesc_s390_tevx_linux64;
 extern struct target_desc *tdesc_s390_gs_linux64;
-extern struct target_desc *tdesc_s390x_linux64;
 extern struct target_desc *tdesc_s390x_linux64v1;
 extern struct target_desc *tdesc_s390x_linux64v2;
 extern struct target_desc *tdesc_s390x_te_linux64;
@@ -230,4 +64,4 @@ extern struct target_desc *tdesc_s390x_v
 extern struct target_desc *tdesc_s390x_tevx_linux64;
 extern struct target_desc *tdesc_s390x_gs_linux64;
 
-#endif
+#endif /* S390_LINUX_TDEP_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/s390-tdep.c ./gdb/s390-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/s390-tdep.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/s390-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,7133 @@
+/* Target-dependent code for s390.
+
+   Copyright (C) 2001-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+
+#include "arch-utils.h"
+#include "ax-gdb.h"
+#include "dwarf2-frame.h"
+#include "elf/s390.h"
+#include "elf-bfd.h"
+#include "frame-base.h"
+#include "frame-unwind.h"
+#include "gdbarch.h"
+#include "gdbcore.h"
+#include "infrun.h"
+#include "linux-tdep.h"
+#include "objfiles.h"
+#include "osabi.h"
+#include "record-full.h"
+#include "regcache.h"
+#include "reggroups.h"
+#include "s390-tdep.h"
+#include "target-descriptions.h"
+#include "trad-frame.h"
+#include "value.h"
+
+#include "features/s390-linux32.c"
+#include "features/s390x-linux64.c"
+
+/* Holds the current set of options to be passed to the disassembler.  */
+static char *s390_disassembler_options;
+
+/* Breakpoints.  */
+
+constexpr gdb_byte s390_break_insn[] = { 0x0, 0x1 };
+
+typedef BP_MANIPULATION (s390_break_insn) s390_breakpoint;
+
+/* Decoding S/390 instructions.  */
+
+/* Read a single instruction from address AT.  */
+
+static int
+s390_readinstruction (bfd_byte instr[], CORE_ADDR at)
+{
+  static int s390_instrlen[] = { 2, 4, 4, 6 };
+  int instrlen;
+
+  if (target_read_memory (at, &instr[0], 2))
+    return -1;
+  instrlen = s390_instrlen[instr[0] >> 6];
+  if (instrlen > 2)
+    {
+      if (target_read_memory (at + 2, &instr[2], instrlen - 2))
+	return -1;
+    }
+  return instrlen;
+}
+
+/* The functions below are for recognizing and decoding S/390
+   instructions of various formats.  Each of them checks whether INSN
+   is an instruction of the given format, with the specified opcodes.
+   If it is, it sets the remaining arguments to the values of the
+   instruction's fields, and returns a non-zero value; otherwise, it
+   returns zero.
+
+   These functions' arguments appear in the order they appear in the
+   instruction, not in the machine-language form.  So, opcodes always
+   come first, even though they're sometimes scattered around the
+   instructions.  And displacements appear before base and extension
+   registers, as they do in the assembly syntax, not at the end, as
+   they do in the machine language.
+
+   Test for RI instruction format.  */
+
+static int
+is_ri (bfd_byte *insn, int op1, int op2, unsigned int *r1, int *i2)
+{
+  if (insn[0] == op1 && (insn[1] & 0xf) == op2)
+    {
+      *r1 = (insn[1] >> 4) & 0xf;
+      /* i2 is a 16-bit signed quantity.  */
+      *i2 = (((insn[2] << 8) | insn[3]) ^ 0x8000) - 0x8000;
+      return 1;
+    }
+  else
+    return 0;
+}
+
+/* Test for RIL instruction format.  See comment on is_ri for details.  */
+
+static int
+is_ril (bfd_byte *insn, int op1, int op2,
+	unsigned int *r1, int *i2)
+{
+  if (insn[0] == op1 && (insn[1] & 0xf) == op2)
+    {
+      *r1 = (insn[1] >> 4) & 0xf;
+      /* i2 is a signed quantity.  If the host 'int' is 32 bits long,
+	 no sign extension is necessary, but we don't want to assume
+	 that.  */
+      *i2 = (((insn[2] << 24)
+	      | (insn[3] << 16)
+	      | (insn[4] << 8)
+	      | (insn[5])) ^ 0x80000000) - 0x80000000;
+      return 1;
+    }
+  else
+    return 0;
+}
+
+/* Test for RR instruction format.  See comment on is_ri for details.  */
+
+static int
+is_rr (bfd_byte *insn, int op, unsigned int *r1, unsigned int *r2)
+{
+  if (insn[0] == op)
+    {
+      *r1 = (insn[1] >> 4) & 0xf;
+      *r2 = insn[1] & 0xf;
+      return 1;
+    }
+  else
+    return 0;
+}
+
+/* Test for RRE instruction format.  See comment on is_ri for details.  */
+
+static int
+is_rre (bfd_byte *insn, int op, unsigned int *r1, unsigned int *r2)
+{
+  if (((insn[0] << 8) | insn[1]) == op)
+    {
+      /* Yes, insn[3].  insn[2] is unused in RRE format.  */
+      *r1 = (insn[3] >> 4) & 0xf;
+      *r2 = insn[3] & 0xf;
+      return 1;
+    }
+  else
+    return 0;
+}
+
+/* Test for RS instruction format.  See comment on is_ri for details.  */
+
+static int
+is_rs (bfd_byte *insn, int op,
+       unsigned int *r1, unsigned int *r3, int *d2, unsigned int *b2)
+{
+  if (insn[0] == op)
+    {
+      *r1 = (insn[1] >> 4) & 0xf;
+      *r3 = insn[1] & 0xf;
+      *b2 = (insn[2] >> 4) & 0xf;
+      *d2 = ((insn[2] & 0xf) << 8) | insn[3];
+      return 1;
+    }
+  else
+    return 0;
+}
+
+/* Test for RSY instruction format.  See comment on is_ri for details.  */
+
+static int
+is_rsy (bfd_byte *insn, int op1, int op2,
+	unsigned int *r1, unsigned int *r3, int *d2, unsigned int *b2)
+{
+  if (insn[0] == op1
+      && insn[5] == op2)
+    {
+      *r1 = (insn[1] >> 4) & 0xf;
+      *r3 = insn[1] & 0xf;
+      *b2 = (insn[2] >> 4) & 0xf;
+      /* The 'long displacement' is a 20-bit signed integer.  */
+      *d2 = ((((insn[2] & 0xf) << 8) | insn[3] | (insn[4] << 12))
+		^ 0x80000) - 0x80000;
+      return 1;
+    }
+  else
+    return 0;
+}
+
+/* Test for RX instruction format.  See comment on is_ri for details.  */
+
+static int
+is_rx (bfd_byte *insn, int op,
+       unsigned int *r1, int *d2, unsigned int *x2, unsigned int *b2)
+{
+  if (insn[0] == op)
+    {
+      *r1 = (insn[1] >> 4) & 0xf;
+      *x2 = insn[1] & 0xf;
+      *b2 = (insn[2] >> 4) & 0xf;
+      *d2 = ((insn[2] & 0xf) << 8) | insn[3];
+      return 1;
+    }
+  else
+    return 0;
+}
+
+/* Test for RXY instruction format.  See comment on is_ri for details.  */
+
+static int
+is_rxy (bfd_byte *insn, int op1, int op2,
+	unsigned int *r1, int *d2, unsigned int *x2, unsigned int *b2)
+{
+  if (insn[0] == op1
+      && insn[5] == op2)
+    {
+      *r1 = (insn[1] >> 4) & 0xf;
+      *x2 = insn[1] & 0xf;
+      *b2 = (insn[2] >> 4) & 0xf;
+      /* The 'long displacement' is a 20-bit signed integer.  */
+      *d2 = ((((insn[2] & 0xf) << 8) | insn[3] | (insn[4] << 12))
+		^ 0x80000) - 0x80000;
+      return 1;
+    }
+  else
+    return 0;
+}
+
+/* A helper for s390_software_single_step, decides if an instruction
+   is a partial-execution instruction that needs to be executed until
+   completion when in record mode.  If it is, returns 1 and writes
+   instruction length to a pointer.  */
+
+static int
+s390_is_partial_instruction (struct gdbarch *gdbarch, CORE_ADDR loc, int *len)
+{
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  uint16_t insn;
+
+  insn = read_memory_integer (loc, 2, byte_order);
+
+  switch (insn >> 8)
+    {
+    case 0xa8: /* MVCLE */
+      *len = 4;
+      return 1;
+
+    case 0xeb:
+      {
+	insn = read_memory_integer (loc + 4, 2, byte_order);
+	if ((insn & 0xff) == 0x8e)
+	  {
+	    /* MVCLU */
+	    *len = 6;
+	    return 1;
+	  }
+      }
+      break;
+    }
+
+  switch (insn)
+    {
+    case 0xb255: /* MVST */
+    case 0xb263: /* CMPSC */
+    case 0xb2a5: /* TRE */
+    case 0xb2a6: /* CU21 */
+    case 0xb2a7: /* CU12 */
+    case 0xb9b0: /* CU14 */
+    case 0xb9b1: /* CU24 */
+    case 0xb9b2: /* CU41 */
+    case 0xb9b3: /* CU42 */
+    case 0xb92a: /* KMF */
+    case 0xb92b: /* KMO */
+    case 0xb92f: /* KMC */
+    case 0xb92d: /* KMCTR */
+    case 0xb92e: /* KM */
+    case 0xb93c: /* PPNO */
+    case 0xb990: /* TRTT */
+    case 0xb991: /* TRTO */
+    case 0xb992: /* TROT */
+    case 0xb993: /* TROO */
+      *len = 4;
+      return 1;
+    }
+
+  return 0;
+}
+
+/* Implement the "software_single_step" gdbarch method, needed to single step
+   through instructions like MVCLE in record mode, to make sure they are
+   executed to completion.  Without that, record will save the full length
+   of destination buffer on every iteration, even though the CPU will only
+   process about 4kiB of it each time, leading to O(n**2) memory and time
+   complexity.  */
+
+static std::vector<CORE_ADDR>
+s390_software_single_step (struct regcache *regcache)
+{
+  struct gdbarch *gdbarch = regcache->arch ();
+  CORE_ADDR loc = regcache_read_pc (regcache);
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  int len;
+  uint16_t insn;
+
+  /* Special handling only if recording.  */
+  if (!record_full_is_used ())
+    return {};
+
+  /* First, match a partial instruction.  */
+  if (!s390_is_partial_instruction (gdbarch, loc, &len))
+    return {};
+
+  loc += len;
+
+  /* Second, look for a branch back to it.  */
+  insn = read_memory_integer (loc, 2, byte_order);
+  if (insn != 0xa714) /* BRC with mask 1 */
+    return {};
+
+  insn = read_memory_integer (loc + 2, 2, byte_order);
+  if (insn != (uint16_t) -(len / 2))
+    return {};
+
+  loc += 4;
+
+  /* Found it, step past the whole thing.  */
+  return {loc};
+}
+
+/* Displaced stepping.  */
+
+/* Return true if INSN is a non-branch RIL-b or RIL-c format
+   instruction.  */
+
+static int
+is_non_branch_ril (gdb_byte *insn)
+{
+  gdb_byte op1 = insn[0];
+
+  if (op1 == 0xc4)
+    {
+      gdb_byte op2 = insn[1] & 0x0f;
+
+      switch (op2)
+	{
+	case 0x02: /* llhrl */
+	case 0x04: /* lghrl */
+	case 0x05: /* lhrl */
+	case 0x06: /* llghrl */
+	case 0x07: /* sthrl */
+	case 0x08: /* lgrl */
+	case 0x0b: /* stgrl */
+	case 0x0c: /* lgfrl */
+	case 0x0d: /* lrl */
+	case 0x0e: /* llgfrl */
+	case 0x0f: /* strl */
+	  return 1;
+	}
+    }
+  else if (op1 == 0xc6)
+    {
+      gdb_byte op2 = insn[1] & 0x0f;
+
+      switch (op2)
+	{
+	case 0x00: /* exrl */
+	case 0x02: /* pfdrl */
+	case 0x04: /* cghrl */
+	case 0x05: /* chrl */
+	case 0x06: /* clghrl */
+	case 0x07: /* clhrl */
+	case 0x08: /* cgrl */
+	case 0x0a: /* clgrl */
+	case 0x0c: /* cgfrl */
+	case 0x0d: /* crl */
+	case 0x0e: /* clgfrl */
+	case 0x0f: /* clrl */
+	  return 1;
+	}
+    }
+
+  return 0;
+}
+
+typedef buf_displaced_step_closure s390_displaced_step_closure;
+
+/* Implementation of gdbarch_displaced_step_copy_insn.  */
+
+static struct displaced_step_closure *
+s390_displaced_step_copy_insn (struct gdbarch *gdbarch,
+			       CORE_ADDR from, CORE_ADDR to,
+			       struct regcache *regs)
+{
+  size_t len = gdbarch_max_insn_length (gdbarch);
+  std::unique_ptr<s390_displaced_step_closure> closure
+    (new s390_displaced_step_closure (len));
+  gdb_byte *buf = closure->buf.data ();
+
+  read_memory (from, buf, len);
+
+  /* Adjust the displacement field of PC-relative RIL instructions,
+     except branches.  The latter are handled in the fixup hook.  */
+  if (is_non_branch_ril (buf))
+    {
+      LONGEST offset;
+
+      offset = extract_signed_integer (buf + 2, 4, BFD_ENDIAN_BIG);
+      offset = (from - to + offset * 2) / 2;
+
+      /* If the instruction is too far from the jump pad, punt.  This
+	 will usually happen with instructions in shared libraries.
+	 We could probably support these by rewriting them to be
+	 absolute or fully emulating them.  */
+      if (offset < INT32_MIN || offset > INT32_MAX)
+	{
+	  /* Let the core fall back to stepping over the breakpoint
+	     in-line.  */
+	  if (debug_displaced)
+	    {
+	      fprintf_unfiltered (gdb_stdlog,
+				  "displaced: can't displaced step "
+				  "RIL instruction: offset %s out of range\n",
+				  plongest (offset));
+	    }
+
+	  return NULL;
+	}
+
+      store_signed_integer (buf + 2, 4, BFD_ENDIAN_BIG, offset);
+    }
+
+  write_memory (to, buf, len);
+
+  if (debug_displaced)
+    {
+      fprintf_unfiltered (gdb_stdlog, "displaced: copy %s->%s: ",
+			  paddress (gdbarch, from), paddress (gdbarch, to));
+      displaced_step_dump_bytes (gdb_stdlog, buf, len);
+    }
+
+  return closure.release ();
+}
+
+/* Fix up the state of registers and memory after having single-stepped
+   a displaced instruction.  */
+
+static void
+s390_displaced_step_fixup (struct gdbarch *gdbarch,
+			   struct displaced_step_closure *closure_,
+			   CORE_ADDR from, CORE_ADDR to,
+			   struct regcache *regs)
+{
+  /* Our closure is a copy of the instruction.  */
+  s390_displaced_step_closure *closure
+    = (s390_displaced_step_closure *) closure_;
+  gdb_byte *insn = closure->buf.data ();
+  static int s390_instrlen[] = { 2, 4, 4, 6 };
+  int insnlen = s390_instrlen[insn[0] >> 6];
+
+  /* Fields for various kinds of instructions.  */
+  unsigned int b2, r1, r2, x2, r3;
+  int i2, d2;
+
+  /* Get current PC and addressing mode bit.  */
+  CORE_ADDR pc = regcache_read_pc (regs);
+  ULONGEST amode = 0;
+
+  if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
+    {
+      regcache_cooked_read_unsigned (regs, S390_PSWA_REGNUM, &amode);
+      amode &= 0x80000000;
+    }
+
+  if (debug_displaced)
+    fprintf_unfiltered (gdb_stdlog,
+			"displaced: (s390) fixup (%s, %s) pc %s len %d amode 0x%x\n",
+			paddress (gdbarch, from), paddress (gdbarch, to),
+			paddress (gdbarch, pc), insnlen, (int) amode);
+
+  /* Handle absolute branch and save instructions.  */
+  if (is_rr (insn, op_basr, &r1, &r2)
+      || is_rx (insn, op_bas, &r1, &d2, &x2, &b2))
+    {
+      /* Recompute saved return address in R1.  */
+      regcache_cooked_write_unsigned (regs, S390_R0_REGNUM + r1,
+				      amode | (from + insnlen));
+    }
+
+  /* Handle absolute branch instructions.  */
+  else if (is_rr (insn, op_bcr, &r1, &r2)
+	   || is_rx (insn, op_bc, &r1, &d2, &x2, &b2)
+	   || is_rr (insn, op_bctr, &r1, &r2)
+	   || is_rre (insn, op_bctgr, &r1, &r2)
+	   || is_rx (insn, op_bct, &r1, &d2, &x2, &b2)
+	   || is_rxy (insn, op1_bctg, op2_brctg, &r1, &d2, &x2, &b2)
+	   || is_rs (insn, op_bxh, &r1, &r3, &d2, &b2)
+	   || is_rsy (insn, op1_bxhg, op2_bxhg, &r1, &r3, &d2, &b2)
+	   || is_rs (insn, op_bxle, &r1, &r3, &d2, &b2)
+	   || is_rsy (insn, op1_bxleg, op2_bxleg, &r1, &r3, &d2, &b2))
+    {
+      /* Update PC iff branch was *not* taken.  */
+      if (pc == to + insnlen)
+	regcache_write_pc (regs, from + insnlen);
+    }
+
+  /* Handle PC-relative branch and save instructions.  */
+  else if (is_ri (insn, op1_bras, op2_bras, &r1, &i2)
+	   || is_ril (insn, op1_brasl, op2_brasl, &r1, &i2))
+    {
+      /* Update PC.  */
+      regcache_write_pc (regs, pc - to + from);
+      /* Recompute saved return address in R1.  */
+      regcache_cooked_write_unsigned (regs, S390_R0_REGNUM + r1,
+				      amode | (from + insnlen));
+    }
+
+  /* Handle LOAD ADDRESS RELATIVE LONG.  */
+  else if (is_ril (insn, op1_larl, op2_larl, &r1, &i2))
+    {
+      /* Update PC.  */
+      regcache_write_pc (regs, from + insnlen);
+      /* Recompute output address in R1.  */
+      regcache_cooked_write_unsigned (regs, S390_R0_REGNUM + r1,
+				      amode | (from + i2 * 2));
+    }
+
+  /* If we executed a breakpoint instruction, point PC right back at it.  */
+  else if (insn[0] == 0x0 && insn[1] == 0x1)
+    regcache_write_pc (regs, from);
+
+  /* For any other insn, adjust PC by negated displacement.  PC then
+     points right after the original instruction, except for PC-relative
+     branches, where it points to the adjusted branch target.  */
+  else
+    regcache_write_pc (regs, pc - to + from);
+
+  if (debug_displaced)
+    fprintf_unfiltered (gdb_stdlog,
+			"displaced: (s390) pc is now %s\n",
+			paddress (gdbarch, regcache_read_pc (regs)));
+}
+
+/* Implement displaced_step_hw_singlestep gdbarch method.  */
+
+static int
+s390_displaced_step_hw_singlestep (struct gdbarch *gdbarch,
+				   struct displaced_step_closure *closure)
+{
+  return 1;
+}
+
+/* Prologue analysis.  */
+
+struct s390_prologue_data {
+
+  /* The stack.  */
+  struct pv_area *stack;
+
+  /* The size and byte-order of a GPR or FPR.  */
+  int gpr_size;
+  int fpr_size;
+  enum bfd_endian byte_order;
+
+  /* The general-purpose registers.  */
+  pv_t gpr[S390_NUM_GPRS];
+
+  /* The floating-point registers.  */
+  pv_t fpr[S390_NUM_FPRS];
+
+  /* The offset relative to the CFA where the incoming GPR N was saved
+     by the function prologue.  0 if not saved or unknown.  */
+  int gpr_slot[S390_NUM_GPRS];
+
+  /* Likewise for FPRs.  */
+  int fpr_slot[S390_NUM_FPRS];
+
+  /* Nonzero if the backchain was saved.  This is assumed to be the
+     case when the incoming SP is saved at the current SP location.  */
+  int back_chain_saved_p;
+};
+
+/* Return the effective address for an X-style instruction, like:
+
+	L R1, D2(X2, B2)
+
+   Here, X2 and B2 are registers, and D2 is a signed 20-bit
+   constant; the effective address is the sum of all three.  If either
+   X2 or B2 are zero, then it doesn't contribute to the sum --- this
+   means that r0 can't be used as either X2 or B2.  */
+
+static pv_t
+s390_addr (struct s390_prologue_data *data,
+	   int d2, unsigned int x2, unsigned int b2)
+{
+  pv_t result;
+
+  result = pv_constant (d2);
+  if (x2)
+    result = pv_add (result, data->gpr[x2]);
+  if (b2)
+    result = pv_add (result, data->gpr[b2]);
+
+  return result;
+}
+
+/* Do a SIZE-byte store of VALUE to D2(X2,B2).  */
+
+static void
+s390_store (struct s390_prologue_data *data,
+	    int d2, unsigned int x2, unsigned int b2, CORE_ADDR size,
+	    pv_t value)
+{
+  pv_t addr = s390_addr (data, d2, x2, b2);
+  pv_t offset;
+
+  /* Check whether we are storing the backchain.  */
+  offset = pv_subtract (data->gpr[S390_SP_REGNUM - S390_R0_REGNUM], addr);
+
+  if (pv_is_constant (offset) && offset.k == 0)
+    if (size == data->gpr_size
+	&& pv_is_register_k (value, S390_SP_REGNUM, 0))
+      {
+	data->back_chain_saved_p = 1;
+	return;
+      }
+
+  /* Check whether we are storing a register into the stack.  */
+  if (!data->stack->store_would_trash (addr))
+    data->stack->store (addr, size, value);
+
+  /* Note: If this is some store we cannot identify, you might think we
+     should forget our cached values, as any of those might have been hit.
+
+     However, we make the assumption that the register save areas are only
+     ever stored to once in any given function, and we do recognize these
+     stores.  Thus every store we cannot recognize does not hit our data.  */
+}
+
+/* Do a SIZE-byte load from D2(X2,B2).  */
+
+static pv_t
+s390_load (struct s390_prologue_data *data,
+	   int d2, unsigned int x2, unsigned int b2, CORE_ADDR size)
+
+{
+  pv_t addr = s390_addr (data, d2, x2, b2);
+
+  /* If it's a load from an in-line constant pool, then we can
+     simulate that, under the assumption that the code isn't
+     going to change between the time the processor actually
+     executed it creating the current frame, and the time when
+     we're analyzing the code to unwind past that frame.  */
+  if (pv_is_constant (addr))
+    {
+      struct target_section *secp;
+      secp = target_section_by_addr (current_top_target (), addr.k);
+      if (secp != NULL
+	  && (bfd_get_section_flags (secp->the_bfd_section->owner,
+				     secp->the_bfd_section)
+	      & SEC_READONLY))
+	return pv_constant (read_memory_integer (addr.k, size,
+						 data->byte_order));
+    }
+
+  /* Check whether we are accessing one of our save slots.  */
+  return data->stack->fetch (addr, size);
+}
+
+/* Function for finding saved registers in a 'struct pv_area'; we pass
+   this to pv_area::scan.
+
+   If VALUE is a saved register, ADDR says it was saved at a constant
+   offset from the frame base, and SIZE indicates that the whole
+   register was saved, record its offset in the reg_offset table in
+   PROLOGUE_UNTYPED.  */
+
+static void
+s390_check_for_saved (void *data_untyped, pv_t addr,
+		      CORE_ADDR size, pv_t value)
+{
+  struct s390_prologue_data *data = (struct s390_prologue_data *) data_untyped;
+  int i, offset;
+
+  if (!pv_is_register (addr, S390_SP_REGNUM))
+    return;
+
+  offset = 16 * data->gpr_size + 32 - addr.k;
+
+  /* If we are storing the original value of a register, we want to
+     record the CFA offset.  If the same register is stored multiple
+     times, the stack slot with the highest address counts.  */
+
+  for (i = 0; i < S390_NUM_GPRS; i++)
+    if (size == data->gpr_size
+	&& pv_is_register_k (value, S390_R0_REGNUM + i, 0))
+      if (data->gpr_slot[i] == 0
+	  || data->gpr_slot[i] > offset)
+	{
+	  data->gpr_slot[i] = offset;
+	  return;
+	}
+
+  for (i = 0; i < S390_NUM_FPRS; i++)
+    if (size == data->fpr_size
+	&& pv_is_register_k (value, S390_F0_REGNUM + i, 0))
+      if (data->fpr_slot[i] == 0
+	  || data->fpr_slot[i] > offset)
+	{
+	  data->fpr_slot[i] = offset;
+	  return;
+	}
+}
+
+/* Analyze the prologue of the function starting at START_PC, continuing at
+   most until CURRENT_PC.  Initialize DATA to hold all information we find
+   out about the state of the registers and stack slots.  Return the address
+   of the instruction after the last one that changed the SP, FP, or back
+   chain; or zero on error.  */
+
+static CORE_ADDR
+s390_analyze_prologue (struct gdbarch *gdbarch,
+		       CORE_ADDR start_pc,
+		       CORE_ADDR current_pc,
+		       struct s390_prologue_data *data)
+{
+  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
+
+  /* Our return value:
+     The address of the instruction after the last one that changed
+     the SP, FP, or back chain;  zero if we got an error trying to
+     read memory.  */
+  CORE_ADDR result = start_pc;
+
+  /* The current PC for our abstract interpretation.  */
+  CORE_ADDR pc;
+
+  /* The address of the next instruction after that.  */
+  CORE_ADDR next_pc;
+
+  pv_area stack (S390_SP_REGNUM, gdbarch_addr_bit (gdbarch));
+  scoped_restore restore_stack = make_scoped_restore (&data->stack, &stack);
+
+  /* Set up everything's initial value.  */
+  {
+    int i;
+
+    /* For the purpose of prologue tracking, we consider the GPR size to
+       be equal to the ABI word size, even if it is actually larger
+       (i.e. when running a 32-bit binary under a 64-bit kernel).  */
+    data->gpr_size = word_size;
+    data->fpr_size = 8;
+    data->byte_order = gdbarch_byte_order (gdbarch);
+
+    for (i = 0; i < S390_NUM_GPRS; i++)
+      data->gpr[i] = pv_register (S390_R0_REGNUM + i, 0);
+
+    for (i = 0; i < S390_NUM_FPRS; i++)
+      data->fpr[i] = pv_register (S390_F0_REGNUM + i, 0);
+
+    for (i = 0; i < S390_NUM_GPRS; i++)
+      data->gpr_slot[i]  = 0;
+
+    for (i = 0; i < S390_NUM_FPRS; i++)
+      data->fpr_slot[i]  = 0;
+
+    data->back_chain_saved_p = 0;
+  }
+
+  /* Start interpreting instructions, until we hit the frame's
+     current PC or the first branch instruction.  */
+  for (pc = start_pc; pc > 0 && pc < current_pc; pc = next_pc)
+    {
+      bfd_byte insn[S390_MAX_INSTR_SIZE];
+      int insn_len = s390_readinstruction (insn, pc);
+
+      bfd_byte dummy[S390_MAX_INSTR_SIZE] = { 0 };
+      bfd_byte *insn32 = word_size == 4 ? insn : dummy;
+      bfd_byte *insn64 = word_size == 8 ? insn : dummy;
+
+      /* Fields for various kinds of instructions.  */
+      unsigned int b2, r1, r2, x2, r3;
+      int i2, d2;
+
+      /* The values of SP and FP before this instruction,
+	 for detecting instructions that change them.  */
+      pv_t pre_insn_sp, pre_insn_fp;
+      /* Likewise for the flag whether the back chain was saved.  */
+      int pre_insn_back_chain_saved_p;
+
+      /* If we got an error trying to read the instruction, report it.  */
+      if (insn_len < 0)
+	{
+	  result = 0;
+	  break;
+	}
+
+      next_pc = pc + insn_len;
+
+      pre_insn_sp = data->gpr[S390_SP_REGNUM - S390_R0_REGNUM];
+      pre_insn_fp = data->gpr[S390_FRAME_REGNUM - S390_R0_REGNUM];
+      pre_insn_back_chain_saved_p = data->back_chain_saved_p;
+
+      /* LHI r1, i2 --- load halfword immediate.  */
+      /* LGHI r1, i2 --- load halfword immediate (64-bit version).  */
+      /* LGFI r1, i2 --- load fullword immediate.  */
+      if (is_ri (insn32, op1_lhi, op2_lhi, &r1, &i2)
+	  || is_ri (insn64, op1_lghi, op2_lghi, &r1, &i2)
+	  || is_ril (insn, op1_lgfi, op2_lgfi, &r1, &i2))
+	data->gpr[r1] = pv_constant (i2);
+
+      /* LR r1, r2 --- load from register.  */
+      /* LGR r1, r2 --- load from register (64-bit version).  */
+      else if (is_rr (insn32, op_lr, &r1, &r2)
+	       || is_rre (insn64, op_lgr, &r1, &r2))
+	data->gpr[r1] = data->gpr[r2];
+
+      /* L r1, d2(x2, b2) --- load.  */
+      /* LY r1, d2(x2, b2) --- load (long-displacement version).  */
+      /* LG r1, d2(x2, b2) --- load (64-bit version).  */
+      else if (is_rx (insn32, op_l, &r1, &d2, &x2, &b2)
+	       || is_rxy (insn32, op1_ly, op2_ly, &r1, &d2, &x2, &b2)
+	       || is_rxy (insn64, op1_lg, op2_lg, &r1, &d2, &x2, &b2))
+	data->gpr[r1] = s390_load (data, d2, x2, b2, data->gpr_size);
+
+      /* ST r1, d2(x2, b2) --- store.  */
+      /* STY r1, d2(x2, b2) --- store (long-displacement version).  */
+      /* STG r1, d2(x2, b2) --- store (64-bit version).  */
+      else if (is_rx (insn32, op_st, &r1, &d2, &x2, &b2)
+	       || is_rxy (insn32, op1_sty, op2_sty, &r1, &d2, &x2, &b2)
+	       || is_rxy (insn64, op1_stg, op2_stg, &r1, &d2, &x2, &b2))
+	s390_store (data, d2, x2, b2, data->gpr_size, data->gpr[r1]);
+
+      /* STD r1, d2(x2,b2) --- store floating-point register.  */
+      else if (is_rx (insn, op_std, &r1, &d2, &x2, &b2))
+	s390_store (data, d2, x2, b2, data->fpr_size, data->fpr[r1]);
+
+      /* STM r1, r3, d2(b2) --- store multiple.  */
+      /* STMY r1, r3, d2(b2) --- store multiple (long-displacement
+	 version).  */
+      /* STMG r1, r3, d2(b2) --- store multiple (64-bit version).  */
+      else if (is_rs (insn32, op_stm, &r1, &r3, &d2, &b2)
+	       || is_rsy (insn32, op1_stmy, op2_stmy, &r1, &r3, &d2, &b2)
+	       || is_rsy (insn64, op1_stmg, op2_stmg, &r1, &r3, &d2, &b2))
+	{
+	  for (; r1 <= r3; r1++, d2 += data->gpr_size)
+	    s390_store (data, d2, 0, b2, data->gpr_size, data->gpr[r1]);
+	}
+
+      /* AHI r1, i2 --- add halfword immediate.  */
+      /* AGHI r1, i2 --- add halfword immediate (64-bit version).  */
+      /* AFI r1, i2 --- add fullword immediate.  */
+      /* AGFI r1, i2 --- add fullword immediate (64-bit version).  */
+      else if (is_ri (insn32, op1_ahi, op2_ahi, &r1, &i2)
+	       || is_ri (insn64, op1_aghi, op2_aghi, &r1, &i2)
+	       || is_ril (insn32, op1_afi, op2_afi, &r1, &i2)
+	       || is_ril (insn64, op1_agfi, op2_agfi, &r1, &i2))
+	data->gpr[r1] = pv_add_constant (data->gpr[r1], i2);
+
+      /* ALFI r1, i2 --- add logical immediate.  */
+      /* ALGFI r1, i2 --- add logical immediate (64-bit version).  */
+      else if (is_ril (insn32, op1_alfi, op2_alfi, &r1, &i2)
+	       || is_ril (insn64, op1_algfi, op2_algfi, &r1, &i2))
+	data->gpr[r1] = pv_add_constant (data->gpr[r1],
+					 (CORE_ADDR)i2 & 0xffffffff);
+
+      /* AR r1, r2 -- add register.  */
+      /* AGR r1, r2 -- add register (64-bit version).  */
+      else if (is_rr (insn32, op_ar, &r1, &r2)
+	       || is_rre (insn64, op_agr, &r1, &r2))
+	data->gpr[r1] = pv_add (data->gpr[r1], data->gpr[r2]);
+
+      /* A r1, d2(x2, b2) -- add.  */
+      /* AY r1, d2(x2, b2) -- add (long-displacement version).  */
+      /* AG r1, d2(x2, b2) -- add (64-bit version).  */
+      else if (is_rx (insn32, op_a, &r1, &d2, &x2, &b2)
+	       || is_rxy (insn32, op1_ay, op2_ay, &r1, &d2, &x2, &b2)
+	       || is_rxy (insn64, op1_ag, op2_ag, &r1, &d2, &x2, &b2))
+	data->gpr[r1] = pv_add (data->gpr[r1],
+				s390_load (data, d2, x2, b2, data->gpr_size));
+
+      /* SLFI r1, i2 --- subtract logical immediate.  */
+      /* SLGFI r1, i2 --- subtract logical immediate (64-bit version).  */
+      else if (is_ril (insn32, op1_slfi, op2_slfi, &r1, &i2)
+	       || is_ril (insn64, op1_slgfi, op2_slgfi, &r1, &i2))
+	data->gpr[r1] = pv_add_constant (data->gpr[r1],
+					 -((CORE_ADDR)i2 & 0xffffffff));
+
+      /* SR r1, r2 -- subtract register.  */
+      /* SGR r1, r2 -- subtract register (64-bit version).  */
+      else if (is_rr (insn32, op_sr, &r1, &r2)
+	       || is_rre (insn64, op_sgr, &r1, &r2))
+	data->gpr[r1] = pv_subtract (data->gpr[r1], data->gpr[r2]);
+
+      /* S r1, d2(x2, b2) -- subtract.  */
+      /* SY r1, d2(x2, b2) -- subtract (long-displacement version).  */
+      /* SG r1, d2(x2, b2) -- subtract (64-bit version).  */
+      else if (is_rx (insn32, op_s, &r1, &d2, &x2, &b2)
+	       || is_rxy (insn32, op1_sy, op2_sy, &r1, &d2, &x2, &b2)
+	       || is_rxy (insn64, op1_sg, op2_sg, &r1, &d2, &x2, &b2))
+	data->gpr[r1] = pv_subtract (data->gpr[r1],
+				s390_load (data, d2, x2, b2, data->gpr_size));
+
+      /* LA r1, d2(x2, b2) --- load address.  */
+      /* LAY r1, d2(x2, b2) --- load address (long-displacement version).  */
+      else if (is_rx (insn, op_la, &r1, &d2, &x2, &b2)
+	       || is_rxy (insn, op1_lay, op2_lay, &r1, &d2, &x2, &b2))
+	data->gpr[r1] = s390_addr (data, d2, x2, b2);
+
+      /* LARL r1, i2 --- load address relative long.  */
+      else if (is_ril (insn, op1_larl, op2_larl, &r1, &i2))
+	data->gpr[r1] = pv_constant (pc + i2 * 2);
+
+      /* BASR r1, 0 --- branch and save.
+	 Since r2 is zero, this saves the PC in r1, but doesn't branch.  */
+      else if (is_rr (insn, op_basr, &r1, &r2)
+	       && r2 == 0)
+	data->gpr[r1] = pv_constant (next_pc);
+
+      /* BRAS r1, i2 --- branch relative and save.  */
+      else if (is_ri (insn, op1_bras, op2_bras, &r1, &i2))
+	{
+	  data->gpr[r1] = pv_constant (next_pc);
+	  next_pc = pc + i2 * 2;
+
+	  /* We'd better not interpret any backward branches.  We'll
+	     never terminate.  */
+	  if (next_pc <= pc)
+	    break;
+	}
+
+      /* BRC/BRCL -- branch relative on condition.  Ignore "branch
+	 never", branch to following instruction, and "conditional
+	 trap" (BRC +2).  Otherwise terminate search.  */
+      else if (is_ri (insn, op1_brc, op2_brc, &r1, &i2))
+	{
+	  if (r1 != 0 && i2 != 1 && i2 != 2)
+	    break;
+	}
+      else if (is_ril (insn, op1_brcl, op2_brcl, &r1, &i2))
+	{
+	  if (r1 != 0 && i2 != 3)
+	    break;
+	}
+
+      /* Terminate search when hitting any other branch instruction.  */
+      else if (is_rr (insn, op_basr, &r1, &r2)
+	       || is_rx (insn, op_bas, &r1, &d2, &x2, &b2)
+	       || is_rr (insn, op_bcr, &r1, &r2)
+	       || is_rx (insn, op_bc, &r1, &d2, &x2, &b2)
+	       || is_ril (insn, op1_brasl, op2_brasl, &r2, &i2))
+	break;
+
+      else
+	{
+	  /* An instruction we don't know how to simulate.  The only
+	     safe thing to do would be to set every value we're tracking
+	     to 'unknown'.  Instead, we'll be optimistic: we assume that
+	     we *can* interpret every instruction that the compiler uses
+	     to manipulate any of the data we're interested in here --
+	     then we can just ignore anything else.  */
+	}
+
+      /* Record the address after the last instruction that changed
+	 the FP, SP, or backlink.  Ignore instructions that changed
+	 them back to their original values --- those are probably
+	 restore instructions.  (The back chain is never restored,
+	 just popped.)  */
+      {
+	pv_t sp = data->gpr[S390_SP_REGNUM - S390_R0_REGNUM];
+	pv_t fp = data->gpr[S390_FRAME_REGNUM - S390_R0_REGNUM];
+
+	if ((! pv_is_identical (pre_insn_sp, sp)
+	     && ! pv_is_register_k (sp, S390_SP_REGNUM, 0)
+	     && sp.kind != pvk_unknown)
+	    || (! pv_is_identical (pre_insn_fp, fp)
+		&& ! pv_is_register_k (fp, S390_FRAME_REGNUM, 0)
+		&& fp.kind != pvk_unknown)
+	    || pre_insn_back_chain_saved_p != data->back_chain_saved_p)
+	  result = next_pc;
+      }
+    }
+
+  /* Record where all the registers were saved.  */
+  data->stack->scan (s390_check_for_saved, data);
+
+  return result;
+}
+
+/* Advance PC across any function entry prologue instructions to reach
+   some "real" code.  */
+
+static CORE_ADDR
+s390_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
+{
+  struct s390_prologue_data data;
+  CORE_ADDR skip_pc, func_addr;
+
+  if (find_pc_partial_function (pc, NULL, &func_addr, NULL))
+    {
+      CORE_ADDR post_prologue_pc
+	= skip_prologue_using_sal (gdbarch, func_addr);
+      if (post_prologue_pc != 0)
+	return std::max (pc, post_prologue_pc);
+    }
+
+  skip_pc = s390_analyze_prologue (gdbarch, pc, (CORE_ADDR)-1, &data);
+  return skip_pc ? skip_pc : pc;
+}
+
+/* Register handling.  */
+
+/* ABI call-saved register information.  */
+
+static int
+s390_register_call_saved (struct gdbarch *gdbarch, int regnum)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  switch (tdep->abi)
+    {
+    case ABI_LINUX_S390:
+      if ((regnum >= S390_R6_REGNUM && regnum <= S390_R15_REGNUM)
+	  || regnum == S390_F4_REGNUM || regnum == S390_F6_REGNUM
+	  || regnum == S390_A0_REGNUM)
+	return 1;
+
+      break;
+
+    case ABI_LINUX_ZSERIES:
+      if ((regnum >= S390_R6_REGNUM && regnum <= S390_R15_REGNUM)
+	  || (regnum >= S390_F8_REGNUM && regnum <= S390_F15_REGNUM)
+	  || (regnum >= S390_A0_REGNUM && regnum <= S390_A1_REGNUM))
+	return 1;
+
+      break;
+    }
+
+  return 0;
+}
+
+/* The "guess_tracepoint_registers" gdbarch method.  */
+
+static void
+s390_guess_tracepoint_registers (struct gdbarch *gdbarch,
+				 struct regcache *regcache,
+				 CORE_ADDR addr)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  int sz = register_size (gdbarch, S390_PSWA_REGNUM);
+  gdb_byte *reg = (gdb_byte *) alloca (sz);
+  ULONGEST pswm, pswa;
+
+  /* Set PSWA from the location and a default PSWM (the only part we're
+     unlikely to get right is the CC).  */
+  if (tdep->abi == ABI_LINUX_S390)
+    {
+      /* 31-bit PSWA needs high bit set (it's very unlikely the target
+	 was in 24-bit mode).  */
+      pswa = addr | 0x80000000UL;
+      pswm = 0x070d0000UL;
+    }
+  else
+    {
+      pswa = addr;
+      pswm = 0x0705000180000000ULL;
+    }
+
+  store_unsigned_integer (reg, sz, gdbarch_byte_order (gdbarch), pswa);
+  regcache->raw_supply (S390_PSWA_REGNUM, reg);
+
+  store_unsigned_integer (reg, sz, gdbarch_byte_order (gdbarch), pswm);
+  regcache->raw_supply (S390_PSWM_REGNUM, reg);
+}
+
+/* Return the name of register REGNO.  Return the empty string for
+   registers that shouldn't be visible.  */
+
+static const char *
+s390_register_name (struct gdbarch *gdbarch, int regnum)
+{
+  if (regnum >= S390_V0_LOWER_REGNUM
+      && regnum <= S390_V15_LOWER_REGNUM)
+    return "";
+  return tdesc_register_name (gdbarch, regnum);
+}
+
+/* DWARF Register Mapping.  */
+
+static const short s390_dwarf_regmap[] =
+{
+  /* 0-15: General Purpose Registers.  */
+  S390_R0_REGNUM, S390_R1_REGNUM, S390_R2_REGNUM, S390_R3_REGNUM,
+  S390_R4_REGNUM, S390_R5_REGNUM, S390_R6_REGNUM, S390_R7_REGNUM,
+  S390_R8_REGNUM, S390_R9_REGNUM, S390_R10_REGNUM, S390_R11_REGNUM,
+  S390_R12_REGNUM, S390_R13_REGNUM, S390_R14_REGNUM, S390_R15_REGNUM,
+
+  /* 16-31: Floating Point Registers / Vector Registers 0-15. */
+  S390_F0_REGNUM, S390_F2_REGNUM, S390_F4_REGNUM, S390_F6_REGNUM,
+  S390_F1_REGNUM, S390_F3_REGNUM, S390_F5_REGNUM, S390_F7_REGNUM,
+  S390_F8_REGNUM, S390_F10_REGNUM, S390_F12_REGNUM, S390_F14_REGNUM,
+  S390_F9_REGNUM, S390_F11_REGNUM, S390_F13_REGNUM, S390_F15_REGNUM,
+
+  /* 32-47: Control Registers (not mapped).  */
+  -1, -1, -1, -1, -1, -1, -1, -1,
+  -1, -1, -1, -1, -1, -1, -1, -1,
+
+  /* 48-63: Access Registers.  */
+  S390_A0_REGNUM, S390_A1_REGNUM, S390_A2_REGNUM, S390_A3_REGNUM,
+  S390_A4_REGNUM, S390_A5_REGNUM, S390_A6_REGNUM, S390_A7_REGNUM,
+  S390_A8_REGNUM, S390_A9_REGNUM, S390_A10_REGNUM, S390_A11_REGNUM,
+  S390_A12_REGNUM, S390_A13_REGNUM, S390_A14_REGNUM, S390_A15_REGNUM,
+
+  /* 64-65: Program Status Word.  */
+  S390_PSWM_REGNUM,
+  S390_PSWA_REGNUM,
+
+  /* 66-67: Reserved.  */
+  -1, -1,
+
+  /* 68-83: Vector Registers 16-31.  */
+  S390_V16_REGNUM, S390_V18_REGNUM, S390_V20_REGNUM, S390_V22_REGNUM,
+  S390_V17_REGNUM, S390_V19_REGNUM, S390_V21_REGNUM, S390_V23_REGNUM,
+  S390_V24_REGNUM, S390_V26_REGNUM, S390_V28_REGNUM, S390_V30_REGNUM,
+  S390_V25_REGNUM, S390_V27_REGNUM, S390_V29_REGNUM, S390_V31_REGNUM,
+
+  /* End of "official" DWARF registers.  The remainder of the map is
+     for GDB internal use only.  */
+
+  /* GPR Lower Half Access.  */
+  S390_R0_REGNUM, S390_R1_REGNUM, S390_R2_REGNUM, S390_R3_REGNUM,
+  S390_R4_REGNUM, S390_R5_REGNUM, S390_R6_REGNUM, S390_R7_REGNUM,
+  S390_R8_REGNUM, S390_R9_REGNUM, S390_R10_REGNUM, S390_R11_REGNUM,
+  S390_R12_REGNUM, S390_R13_REGNUM, S390_R14_REGNUM, S390_R15_REGNUM,
+};
+
+enum { s390_dwarf_reg_r0l = ARRAY_SIZE (s390_dwarf_regmap) - 16 };
+
+/* Convert DWARF register number REG to the appropriate register
+   number used by GDB.  */
+
+static int
+s390_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  int gdb_reg = -1;
+
+  /* In a 32-on-64 debug scenario, debug info refers to the full
+     64-bit GPRs.  Note that call frame information still refers to
+     the 32-bit lower halves, because s390_adjust_frame_regnum uses
+     special register numbers to access GPRs.  */
+  if (tdep->gpr_full_regnum != -1 && reg >= 0 && reg < 16)
+    return tdep->gpr_full_regnum + reg;
+
+  if (reg >= 0 && reg < ARRAY_SIZE (s390_dwarf_regmap))
+    gdb_reg = s390_dwarf_regmap[reg];
+
+  if (tdep->v0_full_regnum == -1)
+    {
+      if (gdb_reg >= S390_V16_REGNUM && gdb_reg <= S390_V31_REGNUM)
+	gdb_reg = -1;
+    }
+  else
+    {
+      if (gdb_reg >= S390_F0_REGNUM && gdb_reg <= S390_F15_REGNUM)
+	gdb_reg = gdb_reg - S390_F0_REGNUM + tdep->v0_full_regnum;
+    }
+
+  return gdb_reg;
+}
+
+/* Pseudo registers.  */
+
+/* Check whether REGNUM indicates a coupled general purpose register.
+   These pseudo-registers are composed of two adjacent gprs.  */
+
+static int
+regnum_is_gpr_full (struct gdbarch_tdep *tdep, int regnum)
+{
+  return (tdep->gpr_full_regnum != -1
+	  && regnum >= tdep->gpr_full_regnum
+	  && regnum <= tdep->gpr_full_regnum + 15);
+}
+
+/* Check whether REGNUM indicates a full vector register (v0-v15).
+   These pseudo-registers are composed of f0-f15 and v0l-v15l.  */
+
+static int
+regnum_is_vxr_full (struct gdbarch_tdep *tdep, int regnum)
+{
+  return (tdep->v0_full_regnum != -1
+	  && regnum >= tdep->v0_full_regnum
+	  && regnum <= tdep->v0_full_regnum + 15);
+}
+
+/* 'float' values are stored in the upper half of floating-point
+   registers, even though we are otherwise a big-endian platform.  The
+   same applies to a 'float' value within a vector.  */
+
+static struct value *
+s390_value_from_register (struct gdbarch *gdbarch, struct type *type,
+			  int regnum, struct frame_id frame_id)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  struct value *value = default_value_from_register (gdbarch, type,
+						     regnum, frame_id);
+  check_typedef (type);
+
+  if ((regnum >= S390_F0_REGNUM && regnum <= S390_F15_REGNUM
+       && TYPE_LENGTH (type) < 8)
+      || regnum_is_vxr_full (tdep, regnum)
+      || (regnum >= S390_V16_REGNUM && regnum <= S390_V31_REGNUM))
+    set_value_offset (value, 0);
+
+  return value;
+}
+
+/* Implement pseudo_register_name tdesc method.  */
+
+static const char *
+s390_pseudo_register_name (struct gdbarch *gdbarch, int regnum)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  if (regnum == tdep->pc_regnum)
+    return "pc";
+
+  if (regnum == tdep->cc_regnum)
+    return "cc";
+
+  if (regnum_is_gpr_full (tdep, regnum))
+    {
+      static const char *full_name[] = {
+	"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
+	"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15"
+      };
+      return full_name[regnum - tdep->gpr_full_regnum];
+    }
+
+  if (regnum_is_vxr_full (tdep, regnum))
+    {
+      static const char *full_name[] = {
+	"v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7",
+	"v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15"
+      };
+      return full_name[regnum - tdep->v0_full_regnum];
+    }
+
+  internal_error (__FILE__, __LINE__, _("invalid regnum"));
+}
+
+/* Implement pseudo_register_type tdesc method.  */
+
+static struct type *
+s390_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  if (regnum == tdep->pc_regnum)
+    return builtin_type (gdbarch)->builtin_func_ptr;
+
+  if (regnum == tdep->cc_regnum)
+    return builtin_type (gdbarch)->builtin_int;
+
+  if (regnum_is_gpr_full (tdep, regnum))
+    return builtin_type (gdbarch)->builtin_uint64;
+
+  if (regnum_is_vxr_full (tdep, regnum))
+    return tdesc_find_type (gdbarch, "vec128");
+
+  internal_error (__FILE__, __LINE__, _("invalid regnum"));
+}
+
+/* Implement pseudo_register_read gdbarch method.  */
+
+static enum register_status
+s390_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
+			   int regnum, gdb_byte *buf)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  int regsize = register_size (gdbarch, regnum);
+  ULONGEST val;
+
+  if (regnum == tdep->pc_regnum)
+    {
+      enum register_status status;
+
+      status = regcache->raw_read (S390_PSWA_REGNUM, &val);
+      if (status == REG_VALID)
+	{
+	  if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
+	    val &= 0x7fffffff;
+	  store_unsigned_integer (buf, regsize, byte_order, val);
+	}
+      return status;
+    }
+
+  if (regnum == tdep->cc_regnum)
+    {
+      enum register_status status;
+
+      status = regcache->raw_read (S390_PSWM_REGNUM, &val);
+      if (status == REG_VALID)
+	{
+	  if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
+	    val = (val >> 12) & 3;
+	  else
+	    val = (val >> 44) & 3;
+	  store_unsigned_integer (buf, regsize, byte_order, val);
+	}
+      return status;
+    }
+
+  if (regnum_is_gpr_full (tdep, regnum))
+    {
+      enum register_status status;
+      ULONGEST val_upper;
+
+      regnum -= tdep->gpr_full_regnum;
+
+      status = regcache->raw_read (S390_R0_REGNUM + regnum, &val);
+      if (status == REG_VALID)
+	status = regcache->raw_read (S390_R0_UPPER_REGNUM + regnum,
+				     &val_upper);
+      if (status == REG_VALID)
+	{
+	  val |= val_upper << 32;
+	  store_unsigned_integer (buf, regsize, byte_order, val);
+	}
+      return status;
+    }
+
+  if (regnum_is_vxr_full (tdep, regnum))
+    {
+      enum register_status status;
+
+      regnum -= tdep->v0_full_regnum;
+
+      status = regcache->raw_read (S390_F0_REGNUM + regnum, buf);
+      if (status == REG_VALID)
+	status = regcache->raw_read (S390_V0_LOWER_REGNUM + regnum, buf + 8);
+      return status;
+    }
+
+  internal_error (__FILE__, __LINE__, _("invalid regnum"));
+}
+
+/* Implement pseudo_register_write gdbarch method.  */
+
+static void
+s390_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache,
+			    int regnum, const gdb_byte *buf)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  int regsize = register_size (gdbarch, regnum);
+  ULONGEST val, psw;
+
+  if (regnum == tdep->pc_regnum)
+    {
+      val = extract_unsigned_integer (buf, regsize, byte_order);
+      if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
+	{
+	  regcache_raw_read_unsigned (regcache, S390_PSWA_REGNUM, &psw);
+	  val = (psw & 0x80000000) | (val & 0x7fffffff);
+	}
+      regcache_raw_write_unsigned (regcache, S390_PSWA_REGNUM, val);
+      return;
+    }
+
+  if (regnum == tdep->cc_regnum)
+    {
+      val = extract_unsigned_integer (buf, regsize, byte_order);
+      regcache_raw_read_unsigned (regcache, S390_PSWM_REGNUM, &psw);
+      if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
+	val = (psw & ~((ULONGEST)3 << 12)) | ((val & 3) << 12);
+      else
+	val = (psw & ~((ULONGEST)3 << 44)) | ((val & 3) << 44);
+      regcache_raw_write_unsigned (regcache, S390_PSWM_REGNUM, val);
+      return;
+    }
+
+  if (regnum_is_gpr_full (tdep, regnum))
+    {
+      regnum -= tdep->gpr_full_regnum;
+      val = extract_unsigned_integer (buf, regsize, byte_order);
+      regcache_raw_write_unsigned (regcache, S390_R0_REGNUM + regnum,
+				   val & 0xffffffff);
+      regcache_raw_write_unsigned (regcache, S390_R0_UPPER_REGNUM + regnum,
+				   val >> 32);
+      return;
+    }
+
+  if (regnum_is_vxr_full (tdep, regnum))
+    {
+      regnum -= tdep->v0_full_regnum;
+      regcache->raw_write (S390_F0_REGNUM + regnum, buf);
+      regcache->raw_write (S390_V0_LOWER_REGNUM + regnum, buf + 8);
+      return;
+    }
+
+  internal_error (__FILE__, __LINE__, _("invalid regnum"));
+}
+
+/* Register groups.  */
+
+/* Implement pseudo_register_reggroup_p tdesc method.  */
+
+static int
+s390_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
+				 struct reggroup *group)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  /* We usually save/restore the whole PSW, which includes PC and CC.
+     However, some older gdbservers may not support saving/restoring
+     the whole PSW yet, and will return an XML register description
+     excluding those from the save/restore register groups.  In those
+     cases, we still need to explicitly save/restore PC and CC in order
+     to push or pop frames.  Since this doesn't hurt anything if we
+     already save/restore the whole PSW (it's just redundant), we add
+     PC and CC at this point unconditionally.  */
+  if (group == save_reggroup || group == restore_reggroup)
+    return regnum == tdep->pc_regnum || regnum == tdep->cc_regnum;
+
+  if (group == vector_reggroup)
+    return regnum_is_vxr_full (tdep, regnum);
+
+  if (group == general_reggroup && regnum_is_vxr_full (tdep, regnum))
+    return 0;
+
+  return default_register_reggroup_p (gdbarch, regnum, group);
+}
+
+/* The "ax_pseudo_register_collect" gdbarch method.  */
+
+static int
+s390_ax_pseudo_register_collect (struct gdbarch *gdbarch,
+				 struct agent_expr *ax, int regnum)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  if (regnum == tdep->pc_regnum)
+    {
+      ax_reg_mask (ax, S390_PSWA_REGNUM);
+    }
+  else if (regnum == tdep->cc_regnum)
+    {
+      ax_reg_mask (ax, S390_PSWM_REGNUM);
+    }
+  else if (regnum_is_gpr_full (tdep, regnum))
+    {
+      regnum -= tdep->gpr_full_regnum;
+      ax_reg_mask (ax, S390_R0_REGNUM + regnum);
+      ax_reg_mask (ax, S390_R0_UPPER_REGNUM + regnum);
+    }
+  else if (regnum_is_vxr_full (tdep, regnum))
+    {
+      regnum -= tdep->v0_full_regnum;
+      ax_reg_mask (ax, S390_F0_REGNUM + regnum);
+      ax_reg_mask (ax, S390_V0_LOWER_REGNUM + regnum);
+    }
+  else
+    {
+      internal_error (__FILE__, __LINE__, _("invalid regnum"));
+    }
+  return 0;
+}
+
+/* The "ax_pseudo_register_push_stack" gdbarch method.  */
+
+static int
+s390_ax_pseudo_register_push_stack (struct gdbarch *gdbarch,
+				    struct agent_expr *ax, int regnum)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  if (regnum == tdep->pc_regnum)
+    {
+      ax_reg (ax, S390_PSWA_REGNUM);
+      if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
+	{
+	  ax_zero_ext (ax, 31);
+	}
+    }
+  else if (regnum == tdep->cc_regnum)
+    {
+      ax_reg (ax, S390_PSWM_REGNUM);
+      if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
+	ax_const_l (ax, 12);
+      else
+	ax_const_l (ax, 44);
+      ax_simple (ax, aop_rsh_unsigned);
+      ax_zero_ext (ax, 2);
+    }
+  else if (regnum_is_gpr_full (tdep, regnum))
+    {
+      regnum -= tdep->gpr_full_regnum;
+      ax_reg (ax, S390_R0_REGNUM + regnum);
+      ax_reg (ax, S390_R0_UPPER_REGNUM + regnum);
+      ax_const_l (ax, 32);
+      ax_simple (ax, aop_lsh);
+      ax_simple (ax, aop_bit_or);
+    }
+  else if (regnum_is_vxr_full (tdep, regnum))
+    {
+      /* Too large to stuff on the stack.  */
+      return 1;
+    }
+  else
+    {
+      internal_error (__FILE__, __LINE__, _("invalid regnum"));
+    }
+  return 0;
+}
+
+/* The "gen_return_address" gdbarch method.  Since this is supposed to be
+   just a best-effort method, and we don't really have the means to run
+   the full unwinder here, just collect the link register.  */
+
+static void
+s390_gen_return_address (struct gdbarch *gdbarch,
+			 struct agent_expr *ax, struct axs_value *value,
+			 CORE_ADDR scope)
+{
+  value->type = register_type (gdbarch, S390_R14_REGNUM);
+  value->kind = axs_lvalue_register;
+  value->u.reg = S390_R14_REGNUM;
+}
+
+/* Address handling.  */
+
+/* Implement addr_bits_remove gdbarch method.
+   Only used for ABI_LINUX_S390.  */
+
+static CORE_ADDR
+s390_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr)
+{
+  return addr & 0x7fffffff;
+}
+
+/* Implement addr_class_type_flags gdbarch method.
+   Only used for ABI_LINUX_ZSERIES.  */
+
+static int
+s390_address_class_type_flags (int byte_size, int dwarf2_addr_class)
+{
+  if (byte_size == 4)
+    return TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1;
+  else
+    return 0;
+}
+
+/* Implement addr_class_type_flags_to_name gdbarch method.
+   Only used for ABI_LINUX_ZSERIES.  */
+
+static const char *
+s390_address_class_type_flags_to_name (struct gdbarch *gdbarch, int type_flags)
+{
+  if (type_flags & TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1)
+    return "mode32";
+  else
+    return NULL;
+}
+
+/* Implement addr_class_name_to_type_flags gdbarch method.
+   Only used for ABI_LINUX_ZSERIES.  */
+
+static int
+s390_address_class_name_to_type_flags (struct gdbarch *gdbarch,
+				       const char *name,
+				       int *type_flags_ptr)
+{
+  if (strcmp (name, "mode32") == 0)
+    {
+      *type_flags_ptr = TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1;
+      return 1;
+    }
+  else
+    return 0;
+}
+
+/* Inferior function calls.  */
+
+/* Dummy function calls.  */
+
+/* Unwrap any single-field structs in TYPE and return the effective
+   "inner" type.  E.g., yield "float" for all these cases:
+
+     float x;
+     struct { float x };
+     struct { struct { float x; } x; };
+     struct { struct { struct { float x; } x; } x; };
+
+   However, if an inner type is smaller than MIN_SIZE, abort the
+   unwrapping.  */
+
+static struct type *
+s390_effective_inner_type (struct type *type, unsigned int min_size)
+{
+  while (TYPE_CODE (type) == TYPE_CODE_STRUCT
+	 && TYPE_NFIELDS (type) == 1)
+    {
+      struct type *inner = check_typedef (TYPE_FIELD_TYPE (type, 0));
+
+      if (TYPE_LENGTH (inner) < min_size)
+	break;
+      type = inner;
+    }
+
+  return type;
+}
+
+/* Return non-zero if TYPE should be passed like "float" or
+   "double".  */
+
+static int
+s390_function_arg_float (struct type *type)
+{
+  /* Note that long double as well as complex types are intentionally
+     excluded. */
+  if (TYPE_LENGTH (type) > 8)
+    return 0;
+
+  /* A struct containing just a float or double is passed like a float
+     or double.  */
+  type = s390_effective_inner_type (type, 0);
+
+  return (TYPE_CODE (type) == TYPE_CODE_FLT
+	  || TYPE_CODE (type) == TYPE_CODE_DECFLOAT);
+}
+
+/* Return non-zero if TYPE should be passed like a vector.  */
+
+static int
+s390_function_arg_vector (struct type *type)
+{
+  if (TYPE_LENGTH (type) > 16)
+    return 0;
+
+  /* Structs containing just a vector are passed like a vector.  */
+  type = s390_effective_inner_type (type, TYPE_LENGTH (type));
+
+  return TYPE_CODE (type) == TYPE_CODE_ARRAY && TYPE_VECTOR (type);
+}
+
+/* Determine whether N is a power of two.  */
+
+static int
+is_power_of_two (unsigned int n)
+{
+  return n && ((n & (n - 1)) == 0);
+}
+
+/* For an argument whose type is TYPE and which is not passed like a
+   float or vector, return non-zero if it should be passed like "int"
+   or "long long".  */
+
+static int
+s390_function_arg_integer (struct type *type)
+{
+  enum type_code code = TYPE_CODE (type);
+
+  if (TYPE_LENGTH (type) > 8)
+    return 0;
+
+  if (code == TYPE_CODE_INT
+      || code == TYPE_CODE_ENUM
+      || code == TYPE_CODE_RANGE
+      || code == TYPE_CODE_CHAR
+      || code == TYPE_CODE_BOOL
+      || code == TYPE_CODE_PTR
+      || TYPE_IS_REFERENCE (type))
+    return 1;
+
+  return ((code == TYPE_CODE_UNION || code == TYPE_CODE_STRUCT)
+	  && is_power_of_two (TYPE_LENGTH (type)));
+}
+
+/* Argument passing state: Internal data structure passed to helper
+   routines of s390_push_dummy_call.  */
+
+struct s390_arg_state
+  {
+    /* Register cache, or NULL, if we are in "preparation mode".  */
+    struct regcache *regcache;
+    /* Next available general/floating-point/vector register for
+       argument passing.  */
+    int gr, fr, vr;
+    /* Current pointer to copy area (grows downwards).  */
+    CORE_ADDR copy;
+    /* Current pointer to parameter area (grows upwards).  */
+    CORE_ADDR argp;
+  };
+
+/* Prepare one argument ARG for a dummy call and update the argument
+   passing state AS accordingly.  If the regcache field in AS is set,
+   operate in "write mode" and write ARG into the inferior.  Otherwise
+   run "preparation mode" and skip all updates to the inferior.  */
+
+static void
+s390_handle_arg (struct s390_arg_state *as, struct value *arg,
+		 struct gdbarch_tdep *tdep, int word_size,
+		 enum bfd_endian byte_order, int is_unnamed)
+{
+  struct type *type = check_typedef (value_type (arg));
+  unsigned int length = TYPE_LENGTH (type);
+  int write_mode = as->regcache != NULL;
+
+  if (s390_function_arg_float (type))
+    {
+      /* The GNU/Linux for S/390 ABI uses FPRs 0 and 2 to pass
+	 arguments.  The GNU/Linux for zSeries ABI uses 0, 2, 4, and
+	 6.  */
+      if (as->fr <= (tdep->abi == ABI_LINUX_S390 ? 2 : 6))
+	{
+	  /* When we store a single-precision value in an FP register,
+	     it occupies the leftmost bits.  */
+	  if (write_mode)
+	    as->regcache->cooked_write_part (S390_F0_REGNUM + as->fr, 0, length,
+					     value_contents (arg));
+	  as->fr += 2;
+	}
+      else
+	{
+	  /* When we store a single-precision value in a stack slot,
+	     it occupies the rightmost bits.  */
+	  as->argp = align_up (as->argp + length, word_size);
+	  if (write_mode)
+	    write_memory (as->argp - length, value_contents (arg),
+			  length);
+	}
+    }
+  else if (tdep->vector_abi == S390_VECTOR_ABI_128
+	   && s390_function_arg_vector (type))
+    {
+      static const char use_vr[] = {24, 26, 28, 30, 25, 27, 29, 31};
+
+      if (!is_unnamed && as->vr < ARRAY_SIZE (use_vr))
+	{
+	  int regnum = S390_V24_REGNUM + use_vr[as->vr] - 24;
+
+	  if (write_mode)
+	    as->regcache->cooked_write_part (regnum, 0, length,
+					     value_contents (arg));
+	  as->vr++;
+	}
+      else
+	{
+	  if (write_mode)
+	    write_memory (as->argp, value_contents (arg), length);
+	  as->argp = align_up (as->argp + length, word_size);
+	}
+    }
+  else if (s390_function_arg_integer (type) && length <= word_size)
+    {
+      /* Initialize it just to avoid a GCC false warning.  */
+      ULONGEST val = 0;
+
+      if (write_mode)
+	{
+	  /* Place value in least significant bits of the register or
+	     memory word and sign- or zero-extend to full word size.
+	     This also applies to a struct or union.  */
+	  val = TYPE_UNSIGNED (type)
+	    ? extract_unsigned_integer (value_contents (arg),
+					length, byte_order)
+	    : extract_signed_integer (value_contents (arg),
+				      length, byte_order);
+	}
+
+      if (as->gr <= 6)
+	{
+	  if (write_mode)
+	    regcache_cooked_write_unsigned (as->regcache,
+					    S390_R0_REGNUM + as->gr,
+					    val);
+	  as->gr++;
+	}
+      else
+	{
+	  if (write_mode)
+	    write_memory_unsigned_integer (as->argp, word_size,
+					   byte_order, val);
+	  as->argp += word_size;
+	}
+    }
+  else if (s390_function_arg_integer (type) && length == 8)
+    {
+      if (as->gr <= 5)
+	{
+	  if (write_mode)
+	    {
+	      as->regcache->cooked_write (S390_R0_REGNUM + as->gr,
+					  value_contents (arg));
+	      as->regcache->cooked_write (S390_R0_REGNUM + as->gr + 1,
+					  value_contents (arg) + word_size);
+	    }
+	  as->gr += 2;
+	}
+      else
+	{
+	  /* If we skipped r6 because we couldn't fit a DOUBLE_ARG
+	     in it, then don't go back and use it again later.  */
+	  as->gr = 7;
+
+	  if (write_mode)
+	    write_memory (as->argp, value_contents (arg), length);
+	  as->argp += length;
+	}
+    }
+  else
+    {
+      /* This argument type is never passed in registers.  Place the
+	 value in the copy area and pass a pointer to it.  Use 8-byte
+	 alignment as a conservative assumption.  */
+      as->copy = align_down (as->copy - length, 8);
+      if (write_mode)
+	write_memory (as->copy, value_contents (arg), length);
+
+      if (as->gr <= 6)
+	{
+	  if (write_mode)
+	    regcache_cooked_write_unsigned (as->regcache,
+					    S390_R0_REGNUM + as->gr,
+					    as->copy);
+	  as->gr++;
+	}
+      else
+	{
+	  if (write_mode)
+	    write_memory_unsigned_integer (as->argp, word_size,
+					   byte_order, as->copy);
+	  as->argp += word_size;
+	}
+    }
+}
+
+/* Put the actual parameter values pointed to by ARGS[0..NARGS-1] in
+   place to be passed to a function, as specified by the "GNU/Linux
+   for S/390 ELF Application Binary Interface Supplement".
+
+   SP is the current stack pointer.  We must put arguments, links,
+   padding, etc. whereever they belong, and return the new stack
+   pointer value.
+
+   If STRUCT_RETURN is non-zero, then the function we're calling is
+   going to return a structure by value; STRUCT_ADDR is the address of
+   a block we've allocated for it on the stack.
+
+   Our caller has taken care of any type promotions needed to satisfy
+   prototypes or the old K&R argument-passing rules.  */
+
+static CORE_ADDR
+s390_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
+		      struct regcache *regcache, CORE_ADDR bp_addr,
+		      int nargs, struct value **args, CORE_ADDR sp,
+		      int struct_return, CORE_ADDR struct_addr)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  int i;
+  struct s390_arg_state arg_state, arg_prep;
+  CORE_ADDR param_area_start, new_sp;
+  struct type *ftype = check_typedef (value_type (function));
+
+  if (TYPE_CODE (ftype) == TYPE_CODE_PTR)
+    ftype = check_typedef (TYPE_TARGET_TYPE (ftype));
+
+  arg_prep.copy = sp;
+  arg_prep.gr = struct_return ? 3 : 2;
+  arg_prep.fr = 0;
+  arg_prep.vr = 0;
+  arg_prep.argp = 0;
+  arg_prep.regcache = NULL;
+
+  /* Initialize arg_state for "preparation mode".  */
+  arg_state = arg_prep;
+
+  /* Update arg_state.copy with the start of the reference-to-copy area
+     and arg_state.argp with the size of the parameter area.  */
+  for (i = 0; i < nargs; i++)
+    s390_handle_arg (&arg_state, args[i], tdep, word_size, byte_order,
+		     TYPE_VARARGS (ftype) && i >= TYPE_NFIELDS (ftype));
+
+  param_area_start = align_down (arg_state.copy - arg_state.argp, 8);
+
+  /* Allocate the standard frame areas: the register save area, the
+     word reserved for the compiler, and the back chain pointer.  */
+  new_sp = param_area_start - (16 * word_size + 32);
+
+  /* Now we have the final stack pointer.  Make sure we didn't
+     underflow; on 31-bit, this would result in addresses with the
+     high bit set, which causes confusion elsewhere.  Note that if we
+     error out here, stack and registers remain untouched.  */
+  if (gdbarch_addr_bits_remove (gdbarch, new_sp) != new_sp)
+    error (_("Stack overflow"));
+
+  /* Pass the structure return address in general register 2.  */
+  if (struct_return)
+    regcache_cooked_write_unsigned (regcache, S390_R2_REGNUM, struct_addr);
+
+  /* Initialize arg_state for "write mode".  */
+  arg_state = arg_prep;
+  arg_state.argp = param_area_start;
+  arg_state.regcache = regcache;
+
+  /* Write all parameters.  */
+  for (i = 0; i < nargs; i++)
+    s390_handle_arg (&arg_state, args[i], tdep, word_size, byte_order,
+		     TYPE_VARARGS (ftype) && i >= TYPE_NFIELDS (ftype));
+
+  /* Store return PSWA.  In 31-bit mode, keep addressing mode bit.  */
+  if (word_size == 4)
+    {
+      ULONGEST pswa;
+      regcache_cooked_read_unsigned (regcache, S390_PSWA_REGNUM, &pswa);
+      bp_addr = (bp_addr & 0x7fffffff) | (pswa & 0x80000000);
+    }
+  regcache_cooked_write_unsigned (regcache, S390_RETADDR_REGNUM, bp_addr);
+
+  /* Store updated stack pointer.  */
+  regcache_cooked_write_unsigned (regcache, S390_SP_REGNUM, new_sp);
+
+  /* We need to return the 'stack part' of the frame ID,
+     which is actually the top of the register save area.  */
+  return param_area_start;
+}
+
+/* Assuming THIS_FRAME is a dummy, return the frame ID of that
+   dummy frame.  The frame ID's base needs to match the TOS value
+   returned by push_dummy_call, and the PC match the dummy frame's
+   breakpoint.  */
+
+static struct frame_id
+s390_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
+{
+  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
+  CORE_ADDR sp = get_frame_register_unsigned (this_frame, S390_SP_REGNUM);
+  sp = gdbarch_addr_bits_remove (gdbarch, sp);
+
+  return frame_id_build (sp + 16*word_size + 32,
+			 get_frame_pc (this_frame));
+}
+
+/* Implement frame_align gdbarch method.  */
+
+static CORE_ADDR
+s390_frame_align (struct gdbarch *gdbarch, CORE_ADDR addr)
+{
+  /* Both the 32- and 64-bit ABI's say that the stack pointer should
+     always be aligned on an eight-byte boundary.  */
+  return (addr & -8);
+}
+
+/* Helper for s390_return_value: Set or retrieve a function return
+   value if it resides in a register.  */
+
+static void
+s390_register_return_value (struct gdbarch *gdbarch, struct type *type,
+			    struct regcache *regcache,
+			    gdb_byte *out, const gdb_byte *in)
+{
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
+  int length = TYPE_LENGTH (type);
+  int code = TYPE_CODE (type);
+
+  if (code == TYPE_CODE_FLT || code == TYPE_CODE_DECFLOAT)
+    {
+      /* Float-like value: left-aligned in f0.  */
+      if (in != NULL)
+	regcache->cooked_write_part (S390_F0_REGNUM, 0, length, in);
+      else
+	regcache->cooked_read_part (S390_F0_REGNUM, 0, length, out);
+    }
+  else if (code == TYPE_CODE_ARRAY)
+    {
+      /* Vector: left-aligned in v24.  */
+      if (in != NULL)
+	regcache->cooked_write_part (S390_V24_REGNUM, 0, length, in);
+      else
+	regcache->cooked_read_part (S390_V24_REGNUM, 0, length, out);
+    }
+  else if (length <= word_size)
+    {
+      /* Integer: zero- or sign-extended in r2.  */
+      if (out != NULL)
+	regcache->cooked_read_part (S390_R2_REGNUM, word_size - length, length,
+				    out);
+      else if (TYPE_UNSIGNED (type))
+	regcache_cooked_write_unsigned
+	  (regcache, S390_R2_REGNUM,
+	   extract_unsigned_integer (in, length, byte_order));
+      else
+	regcache_cooked_write_signed
+	  (regcache, S390_R2_REGNUM,
+	   extract_signed_integer (in, length, byte_order));
+    }
+  else if (length == 2 * word_size)
+    {
+      /* Double word: in r2 and r3.  */
+      if (in != NULL)
+	{
+	  regcache->cooked_write (S390_R2_REGNUM, in);
+	  regcache->cooked_write (S390_R3_REGNUM, in + word_size);
+	}
+      else
+	{
+	  regcache->cooked_read (S390_R2_REGNUM, out);
+	  regcache->cooked_read (S390_R3_REGNUM, out + word_size);
+	}
+    }
+  else
+    internal_error (__FILE__, __LINE__, _("invalid return type"));
+}
+
+/* Implement the 'return_value' gdbarch method.  */
+
+static enum return_value_convention
+s390_return_value (struct gdbarch *gdbarch, struct value *function,
+		   struct type *type, struct regcache *regcache,
+		   gdb_byte *out, const gdb_byte *in)
+{
+  enum return_value_convention rvc;
+
+  type = check_typedef (type);
+
+  switch (TYPE_CODE (type))
+    {
+    case TYPE_CODE_STRUCT:
+    case TYPE_CODE_UNION:
+    case TYPE_CODE_COMPLEX:
+      rvc = RETURN_VALUE_STRUCT_CONVENTION;
+      break;
+    case TYPE_CODE_ARRAY:
+      rvc = (gdbarch_tdep (gdbarch)->vector_abi == S390_VECTOR_ABI_128
+	     && TYPE_LENGTH (type) <= 16 && TYPE_VECTOR (type))
+	? RETURN_VALUE_REGISTER_CONVENTION
+	: RETURN_VALUE_STRUCT_CONVENTION;
+      break;
+    default:
+      rvc = TYPE_LENGTH (type) <= 8
+	? RETURN_VALUE_REGISTER_CONVENTION
+	: RETURN_VALUE_STRUCT_CONVENTION;
+    }
+
+  if (in != NULL || out != NULL)
+    {
+      if (rvc == RETURN_VALUE_REGISTER_CONVENTION)
+	s390_register_return_value (gdbarch, type, regcache, out, in);
+      else if (in != NULL)
+	error (_("Cannot set function return value."));
+      else
+	error (_("Function return value unknown."));
+    }
+
+  return rvc;
+}
+
+/* Frame unwinding.  */
+
+/* Implmement the stack_frame_destroyed_p gdbarch method.  */
+
+static int
+s390_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+{
+  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
+
+  /* In frameless functions, there's no frame to destroy and thus
+     we don't care about the epilogue.
+
+     In functions with frame, the epilogue sequence is a pair of
+     a LM-type instruction that restores (amongst others) the
+     return register %r14 and the stack pointer %r15, followed
+     by a branch 'br %r14' --or equivalent-- that effects the
+     actual return.
+
+     In that situation, this function needs to return 'true' in
+     exactly one case: when pc points to that branch instruction.
+
+     Thus we try to disassemble the one instructions immediately
+     preceding pc and check whether it is an LM-type instruction
+     modifying the stack pointer.
+
+     Note that disassembling backwards is not reliable, so there
+     is a slight chance of false positives here ...  */
+
+  bfd_byte insn[6];
+  unsigned int r1, r3, b2;
+  int d2;
+
+  if (word_size == 4
+      && !target_read_memory (pc - 4, insn, 4)
+      && is_rs (insn, op_lm, &r1, &r3, &d2, &b2)
+      && r3 == S390_SP_REGNUM - S390_R0_REGNUM)
+    return 1;
+
+  if (word_size == 4
+      && !target_read_memory (pc - 6, insn, 6)
+      && is_rsy (insn, op1_lmy, op2_lmy, &r1, &r3, &d2, &b2)
+      && r3 == S390_SP_REGNUM - S390_R0_REGNUM)
+    return 1;
+
+  if (word_size == 8
+      && !target_read_memory (pc - 6, insn, 6)
+      && is_rsy (insn, op1_lmg, op2_lmg, &r1, &r3, &d2, &b2)
+      && r3 == S390_SP_REGNUM - S390_R0_REGNUM)
+    return 1;
+
+  return 0;
+}
+
+/* Implement unwind_pc gdbarch method.  */
+
+static CORE_ADDR
+s390_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  ULONGEST pc;
+  pc = frame_unwind_register_unsigned (next_frame, tdep->pc_regnum);
+  return gdbarch_addr_bits_remove (gdbarch, pc);
+}
+
+/* Implement unwind_sp gdbarch method.  */
+
+static CORE_ADDR
+s390_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
+{
+  ULONGEST sp;
+  sp = frame_unwind_register_unsigned (next_frame, S390_SP_REGNUM);
+  return gdbarch_addr_bits_remove (gdbarch, sp);
+}
+
+/* Helper routine to unwind pseudo registers.  */
+
+static struct value *
+s390_unwind_pseudo_register (struct frame_info *this_frame, int regnum)
+{
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  struct type *type = register_type (gdbarch, regnum);
+
+  /* Unwind PC via PSW address.  */
+  if (regnum == tdep->pc_regnum)
+    {
+      struct value *val;
+
+      val = frame_unwind_register_value (this_frame, S390_PSWA_REGNUM);
+      if (!value_optimized_out (val))
+	{
+	  LONGEST pswa = value_as_long (val);
+
+	  if (TYPE_LENGTH (type) == 4)
+	    return value_from_pointer (type, pswa & 0x7fffffff);
+	  else
+	    return value_from_pointer (type, pswa);
+	}
+    }
+
+  /* Unwind CC via PSW mask.  */
+  if (regnum == tdep->cc_regnum)
+    {
+      struct value *val;
+
+      val = frame_unwind_register_value (this_frame, S390_PSWM_REGNUM);
+      if (!value_optimized_out (val))
+	{
+	  LONGEST pswm = value_as_long (val);
+
+	  if (TYPE_LENGTH (type) == 4)
+	    return value_from_longest (type, (pswm >> 12) & 3);
+	  else
+	    return value_from_longest (type, (pswm >> 44) & 3);
+	}
+    }
+
+  /* Unwind full GPRs to show at least the lower halves (as the
+     upper halves are undefined).  */
+  if (regnum_is_gpr_full (tdep, regnum))
+    {
+      int reg = regnum - tdep->gpr_full_regnum;
+      struct value *val;
+
+      val = frame_unwind_register_value (this_frame, S390_R0_REGNUM + reg);
+      if (!value_optimized_out (val))
+	return value_cast (type, val);
+    }
+
+  return allocate_optimized_out_value (type);
+}
+
+/* Translate a .eh_frame register to DWARF register, or adjust a
+   .debug_frame register.  */
+
+static int
+s390_adjust_frame_regnum (struct gdbarch *gdbarch, int num, int eh_frame_p)
+{
+  /* See s390_dwarf_reg_to_regnum for comments.  */
+  return (num >= 0 && num < 16) ? num + s390_dwarf_reg_r0l : num;
+}
+
+/* DWARF-2 frame unwinding.  */
+
+/* Function to unwind a pseudo-register in dwarf2_frame unwinder.  Used by
+   s390_dwarf2_frame_init_reg.  */
+
+static struct value *
+s390_dwarf2_prev_register (struct frame_info *this_frame, void **this_cache,
+			   int regnum)
+{
+  return s390_unwind_pseudo_register (this_frame, regnum);
+}
+
+/* Implement init_reg dwarf2_frame method.  */
+
+static void
+s390_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
+			    struct dwarf2_frame_state_reg *reg,
+			    struct frame_info *this_frame)
+{
+  /* The condition code (and thus PSW mask) is call-clobbered.  */
+  if (regnum == S390_PSWM_REGNUM)
+    reg->how = DWARF2_FRAME_REG_UNDEFINED;
+
+  /* The PSW address unwinds to the return address.  */
+  else if (regnum == S390_PSWA_REGNUM)
+    reg->how = DWARF2_FRAME_REG_RA;
+
+  /* Fixed registers are call-saved or call-clobbered
+     depending on the ABI in use.  */
+  else if (regnum < S390_NUM_REGS)
+    {
+      if (s390_register_call_saved (gdbarch, regnum))
+	reg->how = DWARF2_FRAME_REG_SAME_VALUE;
+      else
+	reg->how = DWARF2_FRAME_REG_UNDEFINED;
+    }
+
+  /* We install a special function to unwind pseudos.  */
+  else
+    {
+      reg->how = DWARF2_FRAME_REG_FN;
+      reg->loc.fn = s390_dwarf2_prev_register;
+    }
+}
+
+/* Frame unwinding. */
+
+/* Wrapper for trad_frame_get_prev_register to allow for s390 pseudo
+   register translation.  */
+
+struct value *
+s390_trad_frame_prev_register (struct frame_info *this_frame,
+			       struct trad_frame_saved_reg saved_regs[],
+			       int regnum)
+{
+  if (regnum < S390_NUM_REGS)
+    return trad_frame_get_prev_register (this_frame, saved_regs, regnum);
+  else
+    return s390_unwind_pseudo_register (this_frame, regnum);
+}
+
+/* Normal stack frames.  */
+
+struct s390_unwind_cache {
+
+  CORE_ADDR func;
+  CORE_ADDR frame_base;
+  CORE_ADDR local_base;
+
+  struct trad_frame_saved_reg *saved_regs;
+};
+
+/* Unwind THIS_FRAME and write the information into unwind cache INFO using
+   prologue analysis.  Helper for s390_frame_unwind_cache.  */
+
+static int
+s390_prologue_frame_unwind_cache (struct frame_info *this_frame,
+				  struct s390_unwind_cache *info)
+{
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
+  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
+  struct s390_prologue_data data;
+  pv_t *fp = &data.gpr[S390_FRAME_REGNUM - S390_R0_REGNUM];
+  pv_t *sp = &data.gpr[S390_SP_REGNUM - S390_R0_REGNUM];
+  int i;
+  CORE_ADDR cfa;
+  CORE_ADDR func;
+  CORE_ADDR result;
+  ULONGEST reg;
+  CORE_ADDR prev_sp;
+  int frame_pointer;
+  int size;
+  struct frame_info *next_frame;
+
+  /* Try to find the function start address.  If we can't find it, we don't
+     bother searching for it -- with modern compilers this would be mostly
+     pointless anyway.  Trust that we'll either have valid DWARF-2 CFI data
+     or else a valid backchain ...  */
+  if (!get_frame_func_if_available (this_frame, &info->func))
+    {
+      info->func = -1;
+      return 0;
+    }
+  func = info->func;
+
+  /* Try to analyze the prologue.  */
+  result = s390_analyze_prologue (gdbarch, func,
+				  get_frame_pc (this_frame), &data);
+  if (!result)
+    return 0;
+
+  /* If this was successful, we should have found the instruction that
+     sets the stack pointer register to the previous value of the stack
+     pointer minus the frame size.  */
+  if (!pv_is_register (*sp, S390_SP_REGNUM))
+    return 0;
+
+  /* A frame size of zero at this point can mean either a real
+     frameless function, or else a failure to find the prologue.
+     Perform some sanity checks to verify we really have a
+     frameless function.  */
+  if (sp->k == 0)
+    {
+      /* If the next frame is a NORMAL_FRAME, this frame *cannot* have frame
+	 size zero.  This is only possible if the next frame is a sentinel
+	 frame, a dummy frame, or a signal trampoline frame.  */
+      /* FIXME: cagney/2004-05-01: This sanity check shouldn't be
+	 needed, instead the code should simpliy rely on its
+	 analysis.  */
+      next_frame = get_next_frame (this_frame);
+      while (next_frame && get_frame_type (next_frame) == INLINE_FRAME)
+	next_frame = get_next_frame (next_frame);
+      if (next_frame
+	  && get_frame_type (get_next_frame (this_frame)) == NORMAL_FRAME)
+	return 0;
+
+      /* If we really have a frameless function, %r14 must be valid
+	 -- in particular, it must point to a different function.  */
+      reg = get_frame_register_unsigned (this_frame, S390_RETADDR_REGNUM);
+      reg = gdbarch_addr_bits_remove (gdbarch, reg) - 1;
+      if (get_pc_function_start (reg) == func)
+	{
+	  /* However, there is one case where it *is* valid for %r14
+	     to point to the same function -- if this is a recursive
+	     call, and we have stopped in the prologue *before* the
+	     stack frame was allocated.
+
+	     Recognize this case by looking ahead a bit ...  */
+
+	  struct s390_prologue_data data2;
+	  pv_t *sp = &data2.gpr[S390_SP_REGNUM - S390_R0_REGNUM];
+
+	  if (!(s390_analyze_prologue (gdbarch, func, (CORE_ADDR)-1, &data2)
+		&& pv_is_register (*sp, S390_SP_REGNUM)
+		&& sp->k != 0))
+	    return 0;
+	}
+    }
+
+  /* OK, we've found valid prologue data.  */
+  size = -sp->k;
+
+  /* If the frame pointer originally also holds the same value
+     as the stack pointer, we're probably using it.  If it holds
+     some other value -- even a constant offset -- it is most
+     likely used as temp register.  */
+  if (pv_is_identical (*sp, *fp))
+    frame_pointer = S390_FRAME_REGNUM;
+  else
+    frame_pointer = S390_SP_REGNUM;
+
+  /* If we've detected a function with stack frame, we'll still have to
+     treat it as frameless if we're currently within the function epilog
+     code at a point where the frame pointer has already been restored.
+     This can only happen in an innermost frame.  */
+  /* FIXME: cagney/2004-05-01: This sanity check shouldn't be needed,
+     instead the code should simpliy rely on its analysis.  */
+  next_frame = get_next_frame (this_frame);
+  while (next_frame && get_frame_type (next_frame) == INLINE_FRAME)
+    next_frame = get_next_frame (next_frame);
+  if (size > 0
+      && (next_frame == NULL
+	  || get_frame_type (get_next_frame (this_frame)) != NORMAL_FRAME))
+    {
+      /* See the comment in s390_stack_frame_destroyed_p on why this is
+	 not completely reliable ...  */
+      if (s390_stack_frame_destroyed_p (gdbarch, get_frame_pc (this_frame)))
+	{
+	  memset (&data, 0, sizeof (data));
+	  size = 0;
+	  frame_pointer = S390_SP_REGNUM;
+	}
+    }
+
+  /* Once we know the frame register and the frame size, we can unwind
+     the current value of the frame register from the next frame, and
+     add back the frame size to arrive that the previous frame's
+     stack pointer value.  */
+  prev_sp = get_frame_register_unsigned (this_frame, frame_pointer) + size;
+  cfa = prev_sp + 16*word_size + 32;
+
+  /* Set up ABI call-saved/call-clobbered registers.  */
+  for (i = 0; i < S390_NUM_REGS; i++)
+    if (!s390_register_call_saved (gdbarch, i))
+      trad_frame_set_unknown (info->saved_regs, i);
+
+  /* CC is always call-clobbered.  */
+  trad_frame_set_unknown (info->saved_regs, S390_PSWM_REGNUM);
+
+  /* Record the addresses of all register spill slots the prologue parser
+     has recognized.  Consider only registers defined as call-saved by the
+     ABI; for call-clobbered registers the parser may have recognized
+     spurious stores.  */
+
+  for (i = 0; i < 16; i++)
+    if (s390_register_call_saved (gdbarch, S390_R0_REGNUM + i)
+	&& data.gpr_slot[i] != 0)
+      info->saved_regs[S390_R0_REGNUM + i].addr = cfa - data.gpr_slot[i];
+
+  for (i = 0; i < 16; i++)
+    if (s390_register_call_saved (gdbarch, S390_F0_REGNUM + i)
+	&& data.fpr_slot[i] != 0)
+      info->saved_regs[S390_F0_REGNUM + i].addr = cfa - data.fpr_slot[i];
+
+  /* Function return will set PC to %r14.  */
+  info->saved_regs[S390_PSWA_REGNUM] = info->saved_regs[S390_RETADDR_REGNUM];
+
+  /* In frameless functions, we unwind simply by moving the return
+     address to the PC.  However, if we actually stored to the
+     save area, use that -- we might only think the function frameless
+     because we're in the middle of the prologue ...  */
+  if (size == 0
+      && !trad_frame_addr_p (info->saved_regs, S390_PSWA_REGNUM))
+    {
+      info->saved_regs[S390_PSWA_REGNUM].realreg = S390_RETADDR_REGNUM;
+    }
+
+  /* Another sanity check: unless this is a frameless function,
+     we should have found spill slots for SP and PC.
+     If not, we cannot unwind further -- this happens e.g. in
+     libc's thread_start routine.  */
+  if (size > 0)
+    {
+      if (!trad_frame_addr_p (info->saved_regs, S390_SP_REGNUM)
+	  || !trad_frame_addr_p (info->saved_regs, S390_PSWA_REGNUM))
+	prev_sp = -1;
+    }
+
+  /* We use the current value of the frame register as local_base,
+     and the top of the register save area as frame_base.  */
+  if (prev_sp != -1)
+    {
+      info->frame_base = prev_sp + 16*word_size + 32;
+      info->local_base = prev_sp - size;
+    }
+
+  return 1;
+}
+
+/* Unwind THIS_FRAME and write the information into unwind cache INFO using
+   back chain unwinding.  Helper for s390_frame_unwind_cache.  */
+
+static void
+s390_backchain_frame_unwind_cache (struct frame_info *this_frame,
+				   struct s390_unwind_cache *info)
+{
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
+  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  CORE_ADDR backchain;
+  ULONGEST reg;
+  LONGEST sp, tmp;
+  int i;
+
+  /* Set up ABI call-saved/call-clobbered registers.  */
+  for (i = 0; i < S390_NUM_REGS; i++)
+    if (!s390_register_call_saved (gdbarch, i))
+      trad_frame_set_unknown (info->saved_regs, i);
+
+  /* CC is always call-clobbered.  */
+  trad_frame_set_unknown (info->saved_regs, S390_PSWM_REGNUM);
+
+  /* Get the backchain.  */
+  reg = get_frame_register_unsigned (this_frame, S390_SP_REGNUM);
+  if (!safe_read_memory_integer (reg, word_size, byte_order, &tmp))
+    tmp = 0;
+  backchain = (CORE_ADDR) tmp;
+
+  /* A zero backchain terminates the frame chain.  As additional
+     sanity check, let's verify that the spill slot for SP in the
+     save area pointed to by the backchain in fact links back to
+     the save area.  */
+  if (backchain != 0
+      && safe_read_memory_integer (backchain + 15*word_size,
+				   word_size, byte_order, &sp)
+      && (CORE_ADDR)sp == backchain)
+    {
+      /* We don't know which registers were saved, but it will have
+	 to be at least %r14 and %r15.  This will allow us to continue
+	 unwinding, but other prev-frame registers may be incorrect ...  */
+      info->saved_regs[S390_SP_REGNUM].addr = backchain + 15*word_size;
+      info->saved_regs[S390_RETADDR_REGNUM].addr = backchain + 14*word_size;
+
+      /* Function return will set PC to %r14.  */
+      info->saved_regs[S390_PSWA_REGNUM]
+	= info->saved_regs[S390_RETADDR_REGNUM];
+
+      /* We use the current value of the frame register as local_base,
+	 and the top of the register save area as frame_base.  */
+      info->frame_base = backchain + 16*word_size + 32;
+      info->local_base = reg;
+    }
+
+  info->func = get_frame_pc (this_frame);
+}
+
+/* Unwind THIS_FRAME and return the corresponding unwind cache for
+   s390_frame_unwind and s390_frame_base.  */
+
+static struct s390_unwind_cache *
+s390_frame_unwind_cache (struct frame_info *this_frame,
+			 void **this_prologue_cache)
+{
+  struct s390_unwind_cache *info;
+
+  if (*this_prologue_cache)
+    return (struct s390_unwind_cache *) *this_prologue_cache;
+
+  info = FRAME_OBSTACK_ZALLOC (struct s390_unwind_cache);
+  *this_prologue_cache = info;
+  info->saved_regs = trad_frame_alloc_saved_regs (this_frame);
+  info->func = -1;
+  info->frame_base = -1;
+  info->local_base = -1;
+
+  TRY
+    {
+      /* Try to use prologue analysis to fill the unwind cache.
+	 If this fails, fall back to reading the stack backchain.  */
+      if (!s390_prologue_frame_unwind_cache (this_frame, info))
+	s390_backchain_frame_unwind_cache (this_frame, info);
+    }
+  CATCH (ex, RETURN_MASK_ERROR)
+    {
+      if (ex.error != NOT_AVAILABLE_ERROR)
+	throw_exception (ex);
+    }
+  END_CATCH
+
+  return info;
+}
+
+/* Implement this_id frame_unwind method for s390_frame_unwind.  */
+
+static void
+s390_frame_this_id (struct frame_info *this_frame,
+		    void **this_prologue_cache,
+		    struct frame_id *this_id)
+{
+  struct s390_unwind_cache *info
+    = s390_frame_unwind_cache (this_frame, this_prologue_cache);
+
+  if (info->frame_base == -1)
+    {
+      if (info->func != -1)
+	*this_id = frame_id_build_unavailable_stack (info->func);
+      return;
+    }
+
+  *this_id = frame_id_build (info->frame_base, info->func);
+}
+
+/* Implement prev_register frame_unwind method for s390_frame_unwind.  */
+
+static struct value *
+s390_frame_prev_register (struct frame_info *this_frame,
+			  void **this_prologue_cache, int regnum)
+{
+  struct s390_unwind_cache *info
+    = s390_frame_unwind_cache (this_frame, this_prologue_cache);
+
+  return s390_trad_frame_prev_register (this_frame, info->saved_regs, regnum);
+}
+
+/* Default S390 frame unwinder.  */
+
+static const struct frame_unwind s390_frame_unwind = {
+  NORMAL_FRAME,
+  default_frame_unwind_stop_reason,
+  s390_frame_this_id,
+  s390_frame_prev_register,
+  NULL,
+  default_frame_sniffer
+};
+
+/* Code stubs and their stack frames.  For things like PLTs and NULL
+   function calls (where there is no true frame and the return address
+   is in the RETADDR register).  */
+
+struct s390_stub_unwind_cache
+{
+  CORE_ADDR frame_base;
+  struct trad_frame_saved_reg *saved_regs;
+};
+
+/* Unwind THIS_FRAME and return the corresponding unwind cache for
+   s390_stub_frame_unwind.  */
+
+static struct s390_stub_unwind_cache *
+s390_stub_frame_unwind_cache (struct frame_info *this_frame,
+			      void **this_prologue_cache)
+{
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
+  int word_size = gdbarch_ptr_bit (gdbarch) / 8;
+  struct s390_stub_unwind_cache *info;
+  ULONGEST reg;
+
+  if (*this_prologue_cache)
+    return (struct s390_stub_unwind_cache *) *this_prologue_cache;
+
+  info = FRAME_OBSTACK_ZALLOC (struct s390_stub_unwind_cache);
+  *this_prologue_cache = info;
+  info->saved_regs = trad_frame_alloc_saved_regs (this_frame);
+
+  /* The return address is in register %r14.  */
+  info->saved_regs[S390_PSWA_REGNUM].realreg = S390_RETADDR_REGNUM;
+
+  /* Retrieve stack pointer and determine our frame base.  */
+  reg = get_frame_register_unsigned (this_frame, S390_SP_REGNUM);
+  info->frame_base = reg + 16*word_size + 32;
+
+  return info;
+}
+
+/* Implement this_id frame_unwind method for s390_stub_frame_unwind.  */
+
+static void
+s390_stub_frame_this_id (struct frame_info *this_frame,
+			 void **this_prologue_cache,
+			 struct frame_id *this_id)
+{
+  struct s390_stub_unwind_cache *info
+    = s390_stub_frame_unwind_cache (this_frame, this_prologue_cache);
+  *this_id = frame_id_build (info->frame_base, get_frame_pc (this_frame));
+}
+
+/* Implement prev_register frame_unwind method for s390_stub_frame_unwind.  */
+
+static struct value *
+s390_stub_frame_prev_register (struct frame_info *this_frame,
+			       void **this_prologue_cache, int regnum)
+{
+  struct s390_stub_unwind_cache *info
+    = s390_stub_frame_unwind_cache (this_frame, this_prologue_cache);
+  return s390_trad_frame_prev_register (this_frame, info->saved_regs, regnum);
+}
+
+/* Implement sniffer frame_unwind method for s390_stub_frame_unwind.  */
+
+static int
+s390_stub_frame_sniffer (const struct frame_unwind *self,
+			 struct frame_info *this_frame,
+			 void **this_prologue_cache)
+{
+  CORE_ADDR addr_in_block;
+  bfd_byte insn[S390_MAX_INSTR_SIZE];
+
+  /* If the current PC points to non-readable memory, we assume we
+     have trapped due to an invalid function pointer call.  We handle
+     the non-existing current function like a PLT stub.  */
+  addr_in_block = get_frame_address_in_block (this_frame);
+  if (in_plt_section (addr_in_block)
+      || s390_readinstruction (insn, get_frame_pc (this_frame)) < 0)
+    return 1;
+  return 0;
+}
+
+/* S390 stub frame unwinder.  */
+
+static const struct frame_unwind s390_stub_frame_unwind = {
+  NORMAL_FRAME,
+  default_frame_unwind_stop_reason,
+  s390_stub_frame_this_id,
+  s390_stub_frame_prev_register,
+  NULL,
+  s390_stub_frame_sniffer
+};
+
+/* Frame base handling.  */
+
+static CORE_ADDR
+s390_frame_base_address (struct frame_info *this_frame, void **this_cache)
+{
+  struct s390_unwind_cache *info
+    = s390_frame_unwind_cache (this_frame, this_cache);
+  return info->frame_base;
+}
+
+static CORE_ADDR
+s390_local_base_address (struct frame_info *this_frame, void **this_cache)
+{
+  struct s390_unwind_cache *info
+    = s390_frame_unwind_cache (this_frame, this_cache);
+  return info->local_base;
+}
+
+static const struct frame_base s390_frame_base = {
+  &s390_frame_unwind,
+  s390_frame_base_address,
+  s390_local_base_address,
+  s390_local_base_address
+};
+
+/* Process record-replay */
+
+/* Takes the intermediate sum of address calculations and masks off upper
+   bits according to current addressing mode.  */
+
+static CORE_ADDR
+s390_record_address_mask (struct gdbarch *gdbarch, struct regcache *regcache,
+			  CORE_ADDR val)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  ULONGEST pswm, pswa;
+  int am;
+  if (tdep->abi == ABI_LINUX_S390)
+    {
+      regcache_raw_read_unsigned (regcache, S390_PSWA_REGNUM, &pswa);
+      am = pswa >> 31 & 1;
+    }
+  else
+    {
+      regcache_raw_read_unsigned (regcache, S390_PSWM_REGNUM, &pswm);
+      am = pswm >> 31 & 3;
+    }
+  switch (am)
+    {
+    case 0:
+      return val & 0xffffff;
+    case 1:
+      return val & 0x7fffffff;
+    case 3:
+      return val;
+    default:
+      fprintf_unfiltered (gdb_stdlog, "Warning: Addressing mode %d used.", am);
+      return 0;
+    }
+}
+
+/* Calculates memory address using pre-calculated index, raw instruction word
+   with b and d/dl fields, and raw instruction byte with dh field.  Index and
+   dh should be set to 0 if unused.  */
+
+static CORE_ADDR
+s390_record_calc_disp_common (struct gdbarch *gdbarch, struct regcache *regcache,
+			      ULONGEST x, uint16_t bd, int8_t dh)
+{
+  uint8_t rb = bd >> 12 & 0xf;
+  int32_t d = (bd & 0xfff) | ((int32_t)dh << 12);
+  ULONGEST b;
+  CORE_ADDR res = d + x;
+  if (rb)
+    {
+      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + rb, &b);
+      res += b;
+    }
+  return s390_record_address_mask (gdbarch, regcache, res);
+}
+
+/* Calculates memory address using raw x, b + d/dl, dh fields from
+   instruction.  rx and dh should be set to 0 if unused.  */
+
+static CORE_ADDR
+s390_record_calc_disp (struct gdbarch *gdbarch, struct regcache *regcache,
+		       uint8_t rx, uint16_t bd, int8_t dh)
+{
+  ULONGEST x = 0;
+  if (rx)
+    regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + rx, &x);
+  return s390_record_calc_disp_common (gdbarch, regcache, x, bd, dh);
+}
+
+/* Calculates memory address for VSCE[GF] instructions.  */
+
+static int
+s390_record_calc_disp_vsce (struct gdbarch *gdbarch, struct regcache *regcache,
+			    uint8_t vx, uint8_t el, uint8_t es, uint16_t bd,
+			    int8_t dh, CORE_ADDR *res)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  ULONGEST x;
+  gdb_byte buf[16];
+  if (tdep->v0_full_regnum == -1 || el * es >= 16)
+    return -1;
+  if (vx < 16)
+    regcache->cooked_read (tdep->v0_full_regnum + vx, buf);
+  else
+    regcache->raw_read (S390_V16_REGNUM + vx - 16, buf);
+  x = extract_unsigned_integer (buf + el * es, es, byte_order);
+  *res = s390_record_calc_disp_common (gdbarch, regcache, x, bd, dh);
+  return 0;
+}
+
+/* Calculates memory address for instructions with relative long addressing.  */
+
+static CORE_ADDR
+s390_record_calc_rl (struct gdbarch *gdbarch, struct regcache *regcache,
+		     CORE_ADDR addr, uint16_t i1, uint16_t i2)
+{
+  int32_t ri = i1 << 16 | i2;
+  return s390_record_address_mask (gdbarch, regcache, addr + (LONGEST)ri * 2);
+}
+
+/* Population count helper.  */
+
+static int s390_popcnt (unsigned int x) {
+  int res = 0;
+  while (x)
+    {
+      if (x & 1)
+	res++;
+      x >>= 1;
+    }
+  return res;
+}
+
+/* Record 64-bit register.  */
+
+static int
+s390_record_gpr_g (struct gdbarch *gdbarch, struct regcache *regcache, int i)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
+    return -1;
+  if (tdep->abi == ABI_LINUX_S390)
+    if (record_full_arch_list_add_reg (regcache, S390_R0_UPPER_REGNUM + i))
+      return -1;
+  return 0;
+}
+
+/* Record high 32 bits of a register.  */
+
+static int
+s390_record_gpr_h (struct gdbarch *gdbarch, struct regcache *regcache, int i)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  if (tdep->abi == ABI_LINUX_S390)
+    {
+      if (record_full_arch_list_add_reg (regcache, S390_R0_UPPER_REGNUM + i))
+	return -1;
+    }
+  else
+    {
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
+	return -1;
+    }
+  return 0;
+}
+
+/* Record vector register.  */
+
+static int
+s390_record_vr (struct gdbarch *gdbarch, struct regcache *regcache, int i)
+{
+  if (i < 16)
+    {
+      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + i))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_V0_LOWER_REGNUM + i))
+	return -1;
+    }
+  else
+    {
+      if (record_full_arch_list_add_reg (regcache, S390_V16_REGNUM + i - 16))
+	return -1;
+    }
+  return 0;
+}
+
+/* Implement process_record gdbarch method.  */
+
+static int
+s390_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
+		     CORE_ADDR addr)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  uint16_t insn[3] = {0};
+  /* Instruction as bytes.  */
+  uint8_t ibyte[6];
+  /* Instruction as nibbles.  */
+  uint8_t inib[12];
+  /* Instruction vector registers.  */
+  uint8_t ivec[4];
+  CORE_ADDR oaddr, oaddr2, oaddr3;
+  ULONGEST tmp;
+  int i, n;
+  /* if EX/EXRL instruction used, here's the reg parameter */
+  int ex = -1;
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+
+  /* Attempting to use EX or EXRL jumps back here */
+ex:
+
+  /* Read instruction.  */
+  insn[0] = read_memory_unsigned_integer (addr, 2, byte_order);
+  /* If execute was involved, do the adjustment.  */
+  if (ex != -1)
+    insn[0] |= ex & 0xff;
+  /* Two highest bits determine instruction size.  */
+  if (insn[0] >= 0x4000)
+    insn[1] = read_memory_unsigned_integer (addr+2, 2, byte_order);
+  else
+    /* Not necessary, but avoids uninitialized variable warnings.  */
+    insn[1] = 0;
+  if (insn[0] >= 0xc000)
+    insn[2] = read_memory_unsigned_integer (addr+4, 2, byte_order);
+  else
+    insn[2] = 0;
+  /* Split instruction into bytes and nibbles.  */
+  for (i = 0; i < 3; i++)
+    {
+      ibyte[i*2] = insn[i] >> 8 & 0xff;
+      ibyte[i*2+1] = insn[i] & 0xff;
+    }
+  for (i = 0; i < 6; i++)
+    {
+      inib[i*2] = ibyte[i] >> 4 & 0xf;
+      inib[i*2+1] = ibyte[i] & 0xf;
+    }
+  /* Compute vector registers, if applicable.  */
+  ivec[0] = (inib[9] >> 3 & 1) << 4 | inib[2];
+  ivec[1] = (inib[9] >> 2 & 1) << 4 | inib[3];
+  ivec[2] = (inib[9] >> 1 & 1) << 4 | inib[4];
+  ivec[3] = (inib[9] >> 0 & 1) << 4 | inib[8];
+
+  switch (ibyte[0])
+    {
+    /* 0x00 undefined */
+
+    case 0x01:
+      /* E-format instruction */
+      switch (ibyte[1])
+	{
+	/* 0x00 undefined */
+	/* 0x01 unsupported: PR - program return */
+	/* 0x02 unsupported: UPT */
+	/* 0x03 undefined */
+	/* 0x04 privileged: PTFF - perform timing facility function */
+	/* 0x05-0x06 undefined */
+	/* 0x07 privileged: SCKPF - set clock programmable field */
+	/* 0x08-0x09 undefined */
+
+	case 0x0a: /* PFPO - perform floating point operation */
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+	  if (!(tmp & 0x80000000u))
+	    {
+	      uint8_t ofc = tmp >> 16 & 0xff;
+	      switch (ofc)
+		{
+		case 0x00: /* HFP32 */
+		case 0x01: /* HFP64 */
+		case 0x05: /* BFP32 */
+		case 0x06: /* BFP64 */
+		case 0x08: /* DFP32 */
+		case 0x09: /* DFP64 */
+		  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM))
+		    return -1;
+		  break;
+		case 0x02: /* HFP128 */
+		case 0x07: /* BFP128 */
+		case 0x0a: /* DFP128 */
+		  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM))
+		    return -1;
+		  if (record_full_arch_list_add_reg (regcache, S390_F2_REGNUM))
+		    return -1;
+		  break;
+		default:
+		  fprintf_unfiltered (gdb_stdlog, "Warning: Unknown PFPO OFC %02x at %s.\n",
+				      ofc, paddress (gdbarch, addr));
+		  return -1;
+		}
+
+	      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+		return -1;
+	    }
+	  if (record_full_arch_list_add_reg (regcache, S390_R1_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0x0b: /* TAM - test address mode */
+	case 0x0c: /* SAM24 - set address mode 24 */
+	case 0x0d: /* SAM31 - set address mode 31 */
+	case 0x0e: /* SAM64 - set address mode 64 */
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0x0f-0xfe undefined */
+
+	/* 0xff unsupported: TRAP */
+
+	default:
+	  goto UNKNOWN_OP;
+	}
+      break;
+
+    /* 0x02 undefined */
+    /* 0x03 undefined */
+
+    case 0x04: /* SPM - set program mask */
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0x05: /* BALR - branch and link */
+    case 0x45: /* BAL - branch and link */
+    case 0x06: /* BCTR - branch on count */
+    case 0x46: /* BCT - branch on count */
+    case 0x0d: /* BASR - branch and save */
+    case 0x4d: /* BAS - branch and save */
+    case 0x84: /* BRXH - branch relative on index high */
+    case 0x85: /* BRXLE - branch relative on index low or equal */
+    case 0x86: /* BXH - branch on index high */
+    case 0x87: /* BXLE - branch on index low or equal */
+      /* BA[SL]* use native-size destination for linkage info, BCT*, BRX*, BX*
+	 use 32-bit destination as counter.  */
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      break;
+
+    case 0x07: /* BCR - branch on condition */
+    case 0x47: /* BC - branch on condition */
+      /* No effect other than PC transfer.  */
+      break;
+
+    /* 0x08 undefined */
+    /* 0x09 undefined */
+
+    case 0x0a:
+      /* SVC - supervisor call */
+      if (tdep->s390_syscall_record != NULL)
+	{
+	  if (tdep->s390_syscall_record (regcache, ibyte[1]))
+	    return -1;
+	}
+      else
+	{
+	  printf_unfiltered (_("no syscall record support\n"));
+	  return -1;
+	}
+      break;
+
+    case 0x0b: /* BSM - branch and set mode */
+      if (inib[2])
+	if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	  return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0x0c: /* BASSM - branch and save and set mode */
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0x0e: /* MVCL - move long [interruptible] */
+      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[2], &tmp);
+      oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[2] | 1), &tmp);
+      tmp &= 0xffffff;
+      if (record_full_arch_list_add_mem (oaddr, tmp))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[3] | 1)))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0x0f: /* CLCL - compare logical long [interruptible] */
+    case 0xa9: /* CLCLE - compare logical long extended [partial] */
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[3] | 1)))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0x10: /* LPR - load positive */
+    case 0x11: /* LNR - load negative */
+    case 0x12: /* LTR - load and test */
+    case 0x13: /* LCR - load complement */
+    case 0x14: /* NR - and */
+    case 0x16: /* OR - or */
+    case 0x17: /* XR - xor */
+    case 0x1a: /* AR - add */
+    case 0x1b: /* SR - subtract */
+    case 0x1e: /* ALR - add logical */
+    case 0x1f: /* SLR - subtract logical */
+    case 0x54: /* N - and */
+    case 0x56: /* O - or */
+    case 0x57: /* X - xor */
+    case 0x5a: /* A - add */
+    case 0x5b: /* S - subtract */
+    case 0x5e: /* AL - add logical */
+    case 0x5f: /* SL - subtract logical */
+    case 0x4a: /* AH - add halfword */
+    case 0x4b: /* SH - subtract halfword */
+    case 0x8a: /* SRA - shift right single */
+    case 0x8b: /* SLA - shift left single */
+    case 0xbf: /* ICM - insert characters under mask */
+      /* 32-bit destination + flags */
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0x15: /* CLR - compare logical */
+    case 0x55: /* CL - compare logical */
+    case 0x19: /* CR - compare */
+    case 0x29: /* CDR - compare */
+    case 0x39: /* CER - compare */
+    case 0x49: /* CH - compare halfword */
+    case 0x59: /* C - compare */
+    case 0x69: /* CD - compare */
+    case 0x79: /* CE - compare */
+    case 0x91: /* TM - test under mask */
+    case 0x95: /* CLI - compare logical */
+    case 0xbd: /* CLM - compare logical under mask */
+    case 0xd5: /* CLC - compare logical */
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0x18: /* LR - load */
+    case 0x48: /* LH - load halfword */
+    case 0x58: /* L - load */
+    case 0x41: /* LA - load address */
+    case 0x43: /* IC - insert character */
+    case 0x4c: /* MH - multiply halfword */
+    case 0x71: /* MS - multiply single */
+    case 0x88: /* SRL - shift right single logical */
+    case 0x89: /* SLL - shift left single logical */
+      /* 32-bit, 8-bit (IC), or native width (LA) destination, no flags */
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      break;
+
+    case 0x1c: /* MR - multiply */
+    case 0x5c: /* M - multiply */
+    case 0x1d: /* DR - divide */
+    case 0x5d: /* D - divide */
+    case 0x8c: /* SRDL - shift right double logical */
+    case 0x8d: /* SLDL - shift left double logical */
+      /* 32-bit pair destination, no flags */
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
+	return -1;
+      break;
+
+    case 0x20: /* LPDR - load positive */
+    case 0x30: /* LPER - load positive */
+    case 0x21: /* LNDR - load negative */
+    case 0x31: /* LNER - load negative */
+    case 0x22: /* LTDR - load and test */
+    case 0x32: /* LTER - load and test */
+    case 0x23: /* LCDR - load complement */
+    case 0x33: /* LCER - load complement */
+    case 0x2a: /* ADR - add */
+    case 0x3a: /* AER - add */
+    case 0x6a: /* AD - add */
+    case 0x7a: /* AE - add */
+    case 0x2b: /* SDR - subtract */
+    case 0x3b: /* SER - subtract */
+    case 0x6b: /* SD - subtract */
+    case 0x7b: /* SE - subtract */
+    case 0x2e: /* AWR - add unnormalized */
+    case 0x3e: /* AUR - add unnormalized */
+    case 0x6e: /* AW - add unnormalized */
+    case 0x7e: /* AU - add unnormalized */
+    case 0x2f: /* SWR - subtract unnormalized */
+    case 0x3f: /* SUR - subtract unnormalized */
+    case 0x6f: /* SW - subtract unnormalized */
+    case 0x7f: /* SU - subtract unnormalized */
+      /* float destination + flags */
+      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0x24: /* HDR - halve */
+    case 0x34: /* HER - halve */
+    case 0x25: /* LDXR - load rounded */
+    case 0x35: /* LEDR - load rounded */
+    case 0x28: /* LDR - load */
+    case 0x38: /* LER - load */
+    case 0x68: /* LD - load */
+    case 0x78: /* LE - load */
+    case 0x2c: /* MDR - multiply */
+    case 0x3c: /* MDER - multiply */
+    case 0x6c: /* MD - multiply */
+    case 0x7c: /* MDE - multiply */
+    case 0x2d: /* DDR - divide */
+    case 0x3d: /* DER - divide */
+    case 0x6d: /* DD - divide */
+    case 0x7d: /* DE - divide */
+      /* float destination, no flags */
+      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
+	return -1;
+      break;
+
+    case 0x26: /* MXR - multiply */
+    case 0x27: /* MXDR - multiply */
+    case 0x67: /* MXD - multiply */
+      /* float pair destination, no flags */
+      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[2] | 2)))
+	return -1;
+      break;
+
+    case 0x36: /* AXR - add */
+    case 0x37: /* SXR - subtract */
+      /* float pair destination + flags */
+      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[2] | 2)))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0x40: /* STH - store halfword */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, 2))
+	return -1;
+      break;
+
+    case 0x42: /* STC - store character */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, 1))
+	return -1;
+      break;
+
+    case 0x44: /* EX - execute */
+      if (ex != -1)
+	{
+	  fprintf_unfiltered (gdb_stdlog, "Warning: Double execute at %s.\n",
+			      paddress (gdbarch, addr));
+	  return -1;
+	}
+      addr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
+      if (inib[2])
+	{
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[2], &tmp);
+	  ex = tmp & 0xff;
+	}
+      else
+	{
+	  ex = 0;
+	}
+      goto ex;
+
+    case 0x4e: /* CVD - convert to decimal */
+    case 0x60: /* STD - store */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, 8))
+	return -1;
+      break;
+
+    case 0x4f: /* CVB - convert to binary */
+      /* 32-bit gpr destination + FPC (DXC write) */
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	return -1;
+      break;
+
+    case 0x50: /* ST - store */
+    case 0x70: /* STE - store */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, 4))
+	return -1;
+      break;
+
+    case 0x51: /* LAE - load address extended */
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + inib[2]))
+	return -1;
+      break;
+
+    /* 0x52 undefined */
+    /* 0x53 undefined */
+
+    /* 0x61-0x66 undefined */
+
+    /* 0x72-0x77 undefined */
+
+    /* 0x80 privileged: SSM - set system mask */
+    /* 0x81 undefined */
+    /* 0x82 privileged: LPSW - load PSW */
+    /* 0x83 privileged: diagnose */
+
+    case 0x8e: /* SRDA - shift right double */
+    case 0x8f: /* SLDA - shift left double */
+      /* 32-bit pair destination + flags */
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0x90: /* STM - store multiple */
+    case 0x9b: /* STAM - store access multiple */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (inib[2] <= inib[3])
+	n = inib[3] - inib[2] + 1;
+      else
+	n = inib[3] + 0x10 - inib[2] + 1;
+      if (record_full_arch_list_add_mem (oaddr, n * 4))
+	return -1;
+      break;
+
+    case 0x92: /* MVI - move */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, 1))
+	return -1;
+      break;
+
+    case 0x93: /* TS - test and set */
+    case 0x94: /* NI - and */
+    case 0x96: /* OI - or */
+    case 0x97: /* XI - xor */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, 1))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0x98: /* LM - load multiple */
+      for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
+	if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
+	  return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
+	return -1;
+      break;
+
+    /* 0x99 privileged: TRACE */
+
+    case 0x9a: /* LAM - load access multiple */
+      for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
+	if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + i))
+	  return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + inib[3]))
+	return -1;
+      break;
+
+    /* 0x9c-0x9f privileged and obsolete (old I/O) */
+    /* 0xa0-0xa4 undefined */
+
+    case 0xa5:
+    case 0xa7:
+      /* RI-format instruction */
+      switch (ibyte[0] << 4 | inib[3])
+	{
+	case 0xa50: /* IIHH - insert immediate */
+	case 0xa51: /* IIHL - insert immediate */
+	  /* high 32-bit destination */
+	  if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
+	    return -1;
+	  break;
+
+	case 0xa52: /* IILH - insert immediate */
+	case 0xa53: /* IILL - insert immediate */
+	case 0xa75: /* BRAS - branch relative and save */
+	case 0xa76: /* BRCT - branch relative on count */
+	case 0xa78: /* LHI - load halfword immediate */
+	case 0xa7c: /* MHI - multiply halfword immediate */
+	  /* 32-bit or native destination */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  break;
+
+	case 0xa54: /* NIHH - and immediate */
+	case 0xa55: /* NIHL - and immediate */
+	case 0xa58: /* OIHH - or immediate */
+	case 0xa59: /* OIHL - or immediate */
+	  /* high 32-bit destination + flags */
+	  if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xa56: /* NILH - and immediate */
+	case 0xa57: /* NILL - and immediate */
+	case 0xa5a: /* OILH - or immediate */
+	case 0xa5b: /* OILL - or immediate */
+	case 0xa7a: /* AHI - add halfword immediate */
+	  /* 32-bit destination + flags */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xa5c: /* LLIHH - load logical immediate */
+	case 0xa5d: /* LLIHL - load logical immediate */
+	case 0xa5e: /* LLILH - load logical immediate */
+	case 0xa5f: /* LLILL - load logical immediate */
+	case 0xa77: /* BRCTG - branch relative on count */
+	case 0xa79: /* LGHI - load halfword immediate */
+	case 0xa7d: /* MGHI - multiply halfword immediate */
+	  /* 64-bit destination */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  break;
+
+	case 0xa70: /* TMLH - test under mask */
+	case 0xa71: /* TMLL - test under mask */
+	case 0xa72: /* TMHH - test under mask */
+	case 0xa73: /* TMHL - test under mask */
+	case 0xa7e: /* CHI - compare halfword immediate */
+	case 0xa7f: /* CGHI - compare halfword immediate */
+	  /* flags only */
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xa74: /* BRC - branch relative on condition */
+	  /* no register change */
+	  break;
+
+	case 0xa7b: /* AGHI - add halfword immediate */
+	  /* 64-bit destination + flags */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	default:
+	  goto UNKNOWN_OP;
+	}
+      break;
+
+    /* 0xa6 undefined */
+
+    case 0xa8: /* MVCLE - move long extended [partial] */
+      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[2], &tmp);
+      oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[2] | 1), &tmp);
+      if (record_full_arch_list_add_mem (oaddr, tmp))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[3] | 1)))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    /* 0xaa-0xab undefined */
+    /* 0xac privileged: STNSM - store then and system mask */
+    /* 0xad privileged: STOSM - store then or system mask */
+    /* 0xae privileged: SIGP - signal processor */
+    /* 0xaf unsupported: MC - monitor call */
+    /* 0xb0 undefined */
+    /* 0xb1 privileged: LRA - load real address */
+
+    case 0xb2:
+    case 0xb3:
+    case 0xb9:
+      /* S/RRD/RRE/RRF/IE-format instruction */
+      switch (insn[0])
+	{
+	/* 0xb200-0xb204 undefined or privileged */
+
+	case 0xb205: /* STCK - store clock */
+	case 0xb27c: /* STCKF - store clock fast */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, 8))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb206-0xb219 undefined, privileged, or unsupported */
+	/* 0xb21a unsupported: CFC */
+	/* 0xb21b-0xb221 undefined or privileged */
+
+	case 0xb222: /* IPM - insert program mask */
+	case 0xb24f: /* EAR - extract access */
+	case 0xb252: /* MSR - multiply single */
+	case 0xb2ec: /* ETND - extract transaction nesting depth */
+	case 0xb38c: /* EFPC - extract fpc */
+	case 0xb91f: /* LRVR - load reversed */
+	case 0xb926: /* LBR - load byte */
+	case 0xb927: /* LHR - load halfword */
+	case 0xb994: /* LLCR - load logical character */
+	case 0xb995: /* LLHR - load logical halfword */
+	case 0xb9f2: /* LOCR - load on condition */
+	  /* 32-bit gpr destination */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  break;
+
+	/* 0xb223-0xb22c privileged or unsupported */
+
+	case 0xb22d: /* DXR - divide */
+	case 0xb325: /* LXDR - load lengthened */
+	case 0xb326: /* LXER - load lengthened */
+	case 0xb336: /* SQXR - square root */
+	case 0xb365: /* LXR - load */
+	case 0xb367: /* FIXR - load fp integer */
+	case 0xb376: /* LZXR - load zero */
+	case 0xb3b6: /* CXFR - convert from fixed */
+	case 0xb3c6: /* CXGR - convert from fixed */
+	case 0xb3fe: /* IEXTR - insert biased exponent */
+	  /* float pair destination */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[6] | 2)))
+	    return -1;
+	  break;
+
+	/* 0xb22e-0xb240 undefined, privileged, or unsupported */
+
+	case 0xb241: /* CKSM - checksum [partial] */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb242-0xb243 undefined */
+
+	case 0xb244: /* SQDR - square root */
+	case 0xb245: /* SQER - square root */
+	case 0xb324: /* LDER - load lengthened */
+	case 0xb337: /* MEER - multiply */
+	case 0xb366: /* LEXR - load rounded */
+	case 0xb370: /* LPDFR - load positive */
+	case 0xb371: /* LNDFR - load negative */
+	case 0xb372: /* CSDFR - copy sign */
+	case 0xb373: /* LCDFR - load complement */
+	case 0xb374: /* LZER - load zero */
+	case 0xb375: /* LZDR - load zero */
+	case 0xb377: /* FIER - load fp integer */
+	case 0xb37f: /* FIDR - load fp integer */
+	case 0xb3b4: /* CEFR - convert from fixed */
+	case 0xb3b5: /* CDFR - convert from fixed */
+	case 0xb3c1: /* LDGR - load fpr from gr */
+	case 0xb3c4: /* CEGR - convert from fixed */
+	case 0xb3c5: /* CDGR - convert from fixed */
+	case 0xb3f6: /* IEDTR - insert biased exponent */
+	  /* float destination */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
+	    return -1;
+	  break;
+
+	/* 0xb246-0xb24c: privileged or unsupported */
+
+	case 0xb24d: /* CPYA - copy access */
+	case 0xb24e: /* SAR - set access */
+	  if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + inib[6]))
+	    return -1;
+	  break;
+
+	/* 0xb250-0xb251 undefined or privileged */
+	/* 0xb253-0xb254 undefined or privileged */
+
+	case 0xb255: /* MVST - move string [partial] */
+	  {
+	    uint8_t end;
+	    gdb_byte cur;
+	    ULONGEST num = 0;
+	    /* Read ending byte.  */
+	    regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+	    end = tmp & 0xff;
+	    /* Get address of second operand.  */
+	    regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[7], &tmp);
+	    oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	    /* Search for ending byte and compute length.  */
+	    do {
+	      num++;
+	      if (target_read_memory (oaddr, &cur, 1))
+		return -1;
+	      oaddr++;
+	    } while (cur != end);
+	    /* Get address of first operand and record it.  */
+	    regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
+	    oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	    if (record_full_arch_list_add_mem (oaddr, num))
+	      return -1;
+	    /* Record the registers.  */
+	    if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	      return -1;
+	    if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+	      return -1;
+	    if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	      return -1;
+	  }
+	  break;
+
+	/* 0xb256 undefined */
+
+	case 0xb257: /* CUSE - compare until substring equal [interruptible] */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb258-0xb25c undefined, privileged, or unsupported */
+
+	case 0xb25d: /* CLST - compare logical string [partial] */
+	case 0xb25e: /* SRST - search string [partial] */
+	case 0xb9be: /* SRSTU - search string unicode [partial] */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb25f-0xb262 undefined */
+
+	case 0xb263: /* CMPSC - compression call [interruptible] */
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[6] | 1), &tmp);
+	  if (record_full_arch_list_add_mem (oaddr, tmp))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R1_REGNUM))
+	    return -1;
+	  /* DXC may be written */
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb264-0xb277 undefined, privileged, or unsupported */
+
+	case 0xb278: /* STCKE - store clock extended */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, 16))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb279-0xb27b undefined or unsupported */
+	/* 0xb27d-0xb298 undefined or privileged */
+
+	case 0xb299: /* SRNM - set rounding mode */
+	case 0xb2b8: /* SRNMB - set bfp rounding mode */
+	case 0xb2b9: /* SRNMT - set dfp rounding mode */
+	case 0xb29d: /* LFPC - load fpc */
+	case 0xb2bd: /* LFAS - load fpc and signal */
+	case 0xb384: /* SFPC - set fpc */
+	case 0xb385: /* SFASR - set fpc and signal */
+	case 0xb960: /* CGRT - compare and trap */
+	case 0xb961: /* CLGRT - compare logical and trap */
+	case 0xb972: /* CRT - compare and trap */
+	case 0xb973: /* CLRT - compare logical and trap */
+	  /* fpc only - including possible DXC write for trapping insns */
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb29a-0xb29b undefined */
+
+	case 0xb29c: /* STFPC - store fpc */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, 4))
+	    return -1;
+	  break;
+
+	/* 0xb29e-0xb2a4 undefined */
+
+	case 0xb2a5: /* TRE - translate extended [partial] */
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[6] | 1), &tmp);
+	  if (record_full_arch_list_add_mem (oaddr, tmp))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb2a6: /* CU21 - convert UTF-16 to UTF-8 [partial] */
+	case 0xb2a7: /* CU12 - convert UTF-8 to UTF-16 [partial] */
+	case 0xb9b0: /* CU14 - convert UTF-8 to UTF-32 [partial] */
+	case 0xb9b1: /* CU24 - convert UTF-16 to UTF-32 [partial] */
+	case 0xb9b2: /* CU41 - convert UTF-32 to UTF-8 [partial] */
+	case 0xb9b3: /* CU42 - convert UTF-32 to UTF-16 [partial] */
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[6] | 1), &tmp);
+	  if (record_full_arch_list_add_mem (oaddr, tmp))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb2a8-0xb2af undefined */
+
+	case 0xb2b0: /* STFLE - store facility list extended */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+	  tmp &= 0xff;
+	  if (record_full_arch_list_add_mem (oaddr, 8 * (tmp + 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb2b1-0xb2b7 undefined or privileged */
+	/* 0xb2ba-0xb2bc undefined */
+	/* 0xb2be-0xb2e7 undefined */
+	/* 0xb2e9-0xb2eb undefined */
+	/* 0xb2ed-0xb2f7 undefined */
+	/* 0xb2f8 unsupported: TEND */
+	/* 0xb2f9 undefined */
+
+	case 0xb2e8: /* PPA - perform processor assist */
+	case 0xb2fa: /* NIAI - next instruction access intent */
+	  /* no visible effects */
+	  break;
+
+	/* 0xb2fb undefined */
+	/* 0xb2fc unsupported: TABORT */
+	/* 0xb2fd-0xb2fe undefined */
+	/* 0xb2ff unsupported: TRAP */
+
+	case 0xb300: /* LPEBR - load positive */
+	case 0xb301: /* LNEBR - load negative */
+	case 0xb303: /* LCEBR - load complement */
+	case 0xb310: /* LPDBR - load positive */
+	case 0xb311: /* LNDBR - load negative */
+	case 0xb313: /* LCDBR - load complement */
+	case 0xb350: /* TBEDR - convert hfp to bfp */
+	case 0xb351: /* TBDR - convert hfp to bfp */
+	case 0xb358: /* THDER - convert bfp to hfp */
+	case 0xb359: /* THDR - convert bfp to hfp */
+	  /* float destination + flags */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb304: /* LDEBR - load lengthened */
+	case 0xb30c: /* MDEBR - multiply */
+	case 0xb30d: /* DEBR - divide */
+	case 0xb314: /* SQEBR - square root */
+	case 0xb315: /* SQDBR - square root */
+	case 0xb317: /* MEEBR - multiply */
+	case 0xb31c: /* MDBR - multiply */
+	case 0xb31d: /* DDBR - divide */
+	case 0xb344: /* LEDBRA - load rounded */
+	case 0xb345: /* LDXBRA - load rounded */
+	case 0xb346: /* LEXBRA - load rounded */
+	case 0xb357: /* FIEBRA - load fp integer */
+	case 0xb35f: /* FIDBRA - load fp integer */
+	case 0xb390: /* CELFBR - convert from logical */
+	case 0xb391: /* CDLFBR - convert from logical */
+	case 0xb394: /* CEFBR - convert from fixed */
+	case 0xb395: /* CDFBR - convert from fixed */
+	case 0xb3a0: /* CELGBR - convert from logical */
+	case 0xb3a1: /* CDLGBR - convert from logical */
+	case 0xb3a4: /* CEGBR - convert from fixed */
+	case 0xb3a5: /* CDGBR - convert from fixed */
+	case 0xb3d0: /* MDTR - multiply */
+	case 0xb3d1: /* DDTR - divide */
+	case 0xb3d4: /* LDETR - load lengthened */
+	case 0xb3d5: /* LEDTR - load lengthened */
+	case 0xb3d7: /* FIDTR - load fp integer */
+	case 0xb3dd: /* LDXTR - load lengthened */
+	case 0xb3f1: /* CDGTR - convert from fixed */
+	case 0xb3f2: /* CDUTR - convert from unsigned packed */
+	case 0xb3f3: /* CDSTR - convert from signed packed */
+	case 0xb3f5: /* QADTR - quantize */
+	case 0xb3f7: /* RRDTR - reround */
+	case 0xb951: /* CDFTR - convert from fixed */
+	case 0xb952: /* CDLGTR - convert from logical */
+	case 0xb953: /* CDLFTR - convert from logical */
+	  /* float destination + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb305: /* LXDBR - load lengthened */
+	case 0xb306: /* LXEBR - load lengthened */
+	case 0xb307: /* MXDBR - multiply */
+	case 0xb316: /* SQXBR - square root */
+	case 0xb34c: /* MXBR - multiply */
+	case 0xb34d: /* DXBR - divide */
+	case 0xb347: /* FIXBRA - load fp integer */
+	case 0xb392: /* CXLFBR - convert from logical */
+	case 0xb396: /* CXFBR - convert from fixed */
+	case 0xb3a2: /* CXLGBR - convert from logical */
+	case 0xb3a6: /* CXGBR - convert from fixed */
+	case 0xb3d8: /* MXTR - multiply */
+	case 0xb3d9: /* DXTR - divide */
+	case 0xb3dc: /* LXDTR - load lengthened */
+	case 0xb3df: /* FIXTR - load fp integer */
+	case 0xb3f9: /* CXGTR - convert from fixed */
+	case 0xb3fa: /* CXUTR - convert from unsigned packed */
+	case 0xb3fb: /* CXSTR - convert from signed packed */
+	case 0xb3fd: /* QAXTR - quantize */
+	case 0xb3ff: /* RRXTR - reround */
+	case 0xb959: /* CXFTR - convert from fixed */
+	case 0xb95a: /* CXLGTR - convert from logical */
+	case 0xb95b: /* CXLFTR - convert from logical */
+	  /* float pair destination + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[6] | 2)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb308: /* KEBR - compare and signal */
+	case 0xb309: /* CEBR - compare */
+	case 0xb318: /* KDBR - compare and signal */
+	case 0xb319: /* CDBR - compare */
+	case 0xb348: /* KXBR - compare and signal */
+	case 0xb349: /* CXBR - compare */
+	case 0xb3e0: /* KDTR - compare and signal */
+	case 0xb3e4: /* CDTR - compare */
+	case 0xb3e8: /* KXTR - compare and signal */
+	case 0xb3ec: /* CXTR - compare */
+	  /* flags + fpc only */
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb302: /* LTEBR - load and test */
+	case 0xb312: /* LTDBR - load and test */
+	case 0xb30a: /* AEBR - add */
+	case 0xb30b: /* SEBR - subtract */
+	case 0xb31a: /* ADBR - add */
+	case 0xb31b: /* SDBR - subtract */
+	case 0xb3d2: /* ADTR - add */
+	case 0xb3d3: /* SDTR - subtract */
+	case 0xb3d6: /* LTDTR - load and test */
+	  /* float destination + flags + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb30e: /* MAEBR - multiply and add */
+	case 0xb30f: /* MSEBR - multiply and subtract */
+	case 0xb31e: /* MADBR - multiply and add */
+	case 0xb31f: /* MSDBR - multiply and subtract */
+	  /* float destination [RRD] + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[4]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb320-0xb323 undefined */
+	/* 0xb327-0xb32d undefined */
+
+	case 0xb32e: /* MAER - multiply and add */
+	case 0xb32f: /* MSER - multiply and subtract */
+	case 0xb338: /* MAYLR - multiply and add unnormalized */
+	case 0xb339: /* MYLR - multiply unnormalized */
+	case 0xb33c: /* MAYHR - multiply and add unnormalized */
+	case 0xb33d: /* MYHR - multiply unnormalized */
+	case 0xb33e: /* MADR - multiply and add */
+	case 0xb33f: /* MSDR - multiply and subtract */
+	  /* float destination [RRD] */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[4]))
+	    return -1;
+	  break;
+
+	/* 0xb330-0xb335 undefined */
+
+	case 0xb33a: /* MAYR - multiply and add unnormalized */
+	case 0xb33b: /* MYR - multiply unnormalized */
+	  /* float pair destination [RRD] */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[4]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[4] | 2)))
+	    return -1;
+	  break;
+
+	case 0xb340: /* LPXBR - load positive */
+	case 0xb341: /* LNXBR - load negative */
+	case 0xb343: /* LCXBR - load complement */
+	case 0xb360: /* LPXR - load positive */
+	case 0xb361: /* LNXR - load negative */
+	case 0xb362: /* LTXR - load and test */
+	case 0xb363: /* LCXR - load complement */
+	  /* float pair destination + flags */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[6] | 2)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb342: /* LTXBR - load and test */
+	case 0xb34a: /* AXBR - add */
+	case 0xb34b: /* SXBR - subtract */
+	case 0xb3da: /* AXTR - add */
+	case 0xb3db: /* SXTR - subtract */
+	case 0xb3de: /* LTXTR - load and test */
+	  /* float pair destination + flags + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[6] | 2)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb34e-0xb34f undefined */
+	/* 0xb352 undefined */
+
+	case 0xb353: /* DIEBR - divide to integer */
+	case 0xb35b: /* DIDBR - divide to integer */
+	  /* two float destinations + flags + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[4]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb354-0xb356 undefined */
+	/* 0xb35a undefined */
+
+	/* 0xb35c-0xb35e undefined */
+	/* 0xb364 undefined */
+	/* 0xb368 undefined */
+
+	case 0xb369: /* CXR - compare */
+	case 0xb3f4: /* CEDTR - compare biased exponent */
+	case 0xb3fc: /* CEXTR - compare biased exponent */
+	case 0xb920: /* CGR - compare */
+	case 0xb921: /* CLGR - compare logical */
+	case 0xb930: /* CGFR - compare */
+	case 0xb931: /* CLGFR - compare logical */
+	case 0xb9cd: /* CHHR - compare high */
+	case 0xb9cf: /* CLHHR - compare logical high */
+	case 0xb9dd: /* CHLR - compare high */
+	case 0xb9df: /* CLHLR - compare logical high */
+	  /* flags only */
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb36a-0xb36f undefined */
+	/* 0xb377-0xb37e undefined */
+	/* 0xb380-0xb383 undefined */
+	/* 0xb386-0xb38b undefined */
+	/* 0xb38d-0xb38f undefined */
+	/* 0xb393 undefined */
+	/* 0xb397 undefined */
+
+	case 0xb398: /* CFEBR - convert to fixed */
+	case 0xb399: /* CFDBR - convert to fixed */
+	case 0xb39a: /* CFXBR - convert to fixed */
+	case 0xb39c: /* CLFEBR - convert to logical */
+	case 0xb39d: /* CLFDBR - convert to logical */
+	case 0xb39e: /* CLFXBR - convert to logical */
+	case 0xb941: /* CFDTR - convert to fixed */
+	case 0xb949: /* CFXTR - convert to fixed */
+	case 0xb943: /* CLFDTR - convert to logical */
+	case 0xb94b: /* CLFXTR - convert to logical */
+	  /* 32-bit gpr destination + flags + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb39b undefined */
+	/* 0xb39f undefined */
+
+	/* 0xb3a3 undefined */
+	/* 0xb3a7 undefined */
+
+	case 0xb3a8: /* CGEBR - convert to fixed */
+	case 0xb3a9: /* CGDBR - convert to fixed */
+	case 0xb3aa: /* CGXBR - convert to fixed */
+	case 0xb3ac: /* CLGEBR - convert to logical */
+	case 0xb3ad: /* CLGDBR - convert to logical */
+	case 0xb3ae: /* CLGXBR - convert to logical */
+	case 0xb3e1: /* CGDTR - convert to fixed */
+	case 0xb3e9: /* CGXTR - convert to fixed */
+	case 0xb942: /* CLGDTR - convert to logical */
+	case 0xb94a: /* CLGXTR - convert to logical */
+	  /* 64-bit gpr destination + flags + fpc */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb3ab undefined */
+	/* 0xb3af-0xb3b3 undefined */
+	/* 0xb3b7 undefined */
+
+	case 0xb3b8: /* CFER - convert to fixed */
+	case 0xb3b9: /* CFDR - convert to fixed */
+	case 0xb3ba: /* CFXR - convert to fixed */
+	case 0xb998: /* ALCR - add logical with carry */
+	case 0xb999: /* SLBR - subtract logical with borrow */
+	case 0xb9f4: /* NRK - and */
+	case 0xb9f6: /* ORK - or */
+	case 0xb9f7: /* XRK - xor */
+	case 0xb9f8: /* ARK - add */
+	case 0xb9f9: /* SRK - subtract */
+	case 0xb9fa: /* ALRK - add logical */
+	case 0xb9fb: /* SLRK - subtract logical */
+	  /* 32-bit gpr destination + flags */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb3c8: /* CGER - convert to fixed */
+	case 0xb3c9: /* CGDR - convert to fixed */
+	case 0xb3ca: /* CGXR - convert to fixed */
+	case 0xb900: /* LPGR - load positive */
+	case 0xb901: /* LNGR - load negative */
+	case 0xb902: /* LTGR - load and test */
+	case 0xb903: /* LCGR - load complement */
+	case 0xb908: /* AGR - add */
+	case 0xb909: /* SGR - subtract */
+	case 0xb90a: /* ALGR - add logical */
+	case 0xb90b: /* SLGR - subtract logical */
+	case 0xb910: /* LPGFR - load positive */
+	case 0xb911: /* LNGFR - load negative */
+	case 0xb912: /* LTGFR - load and test */
+	case 0xb913: /* LCGFR - load complement */
+	case 0xb918: /* AGFR - add */
+	case 0xb919: /* SGFR - subtract */
+	case 0xb91a: /* ALGFR - add logical */
+	case 0xb91b: /* SLGFR - subtract logical */
+	case 0xb980: /* NGR - and */
+	case 0xb981: /* OGR - or */
+	case 0xb982: /* XGR - xor */
+	case 0xb988: /* ALCGR - add logical with carry */
+	case 0xb989: /* SLBGR - subtract logical with borrow */
+	case 0xb9e1: /* POPCNT - population count */
+	case 0xb9e4: /* NGRK - and */
+	case 0xb9e6: /* OGRK - or */
+	case 0xb9e7: /* XGRK - xor */
+	case 0xb9e8: /* AGRK - add */
+	case 0xb9e9: /* SGRK - subtract */
+	case 0xb9ea: /* ALGRK - add logical */
+	case 0xb9eb: /* SLGRK - subtract logical */
+	case 0xb9ed: /* MSGRKC - multiply single 64x64 -> 64 */
+	case 0xb9fd: /* MSRKC - multiply single 32x32 -> 32 */
+	  /* 64-bit gpr destination + flags */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb3bb-0xb3c0 undefined */
+	/* 0xb3c2-0xb3c3 undefined */
+	/* 0xb3c7 undefined */
+	/* 0xb3cb-0xb3cc undefined */
+
+	case 0xb3cd: /* LGDR - load gr from fpr */
+	case 0xb3e2: /* CUDTR - convert to unsigned packed */
+	case 0xb3e3: /* CSDTR - convert to signed packed */
+	case 0xb3e5: /* EEDTR - extract biased exponent */
+	case 0xb3e7: /* ESDTR - extract significance */
+	case 0xb3ed: /* EEXTR - extract biased exponent */
+	case 0xb3ef: /* ESXTR - extract significance */
+	case 0xb904: /* LGR - load */
+	case 0xb906: /* LGBR - load byte */
+	case 0xb907: /* LGHR - load halfword */
+	case 0xb90c: /* MSGR - multiply single */
+	case 0xb90f: /* LRVGR - load reversed */
+	case 0xb914: /* LGFR - load */
+	case 0xb916: /* LLGFR - load logical */
+	case 0xb917: /* LLGTR - load logical thirty one bits */
+	case 0xb91c: /* MSGFR - multiply single 64<32 */
+	case 0xb946: /* BCTGR - branch on count */
+	case 0xb984: /* LLGCR - load logical character */
+	case 0xb985: /* LLGHR - load logical halfword */
+	case 0xb9e2: /* LOCGR - load on condition */
+	  /* 64-bit gpr destination  */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[6]))
+	    return -1;
+	  break;
+
+	/* 0xb3ce-0xb3cf undefined */
+	/* 0xb3e6 undefined */
+
+	case 0xb3ea: /* CUXTR - convert to unsigned packed */
+	case 0xb3eb: /* CSXTR - convert to signed packed */
+	case 0xb90d: /* DSGR - divide single */
+	case 0xb91d: /* DSGFR - divide single */
+	case 0xb986: /* MLGR - multiply logical */
+	case 0xb987: /* DLGR - divide logical */
+	case 0xb9ec: /* MGRK - multiply 64x64 -> 128 */
+	  /* 64-bit gpr pair destination  */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[6]))
+	    return -1;
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[6] | 1))
+	    return -1;
+	  break;
+
+	/* 0xb3ee undefined */
+	/* 0xb3f0 undefined */
+	/* 0xb3f8 undefined */
+
+	/* 0xb905 privileged */
+
+	/* 0xb90e unsupported: EREGG */
+
+	/* 0xb915 undefined */
+
+	case 0xb91e: /* KMAC - compute message authentication code [partial] */
+	  regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+	  tmp &= 0xff;
+	  switch (tmp)
+	    {
+	      case 0x00: /* KMAC-Query */
+		if (record_full_arch_list_add_mem (oaddr, 16))
+		  return -1;
+		break;
+
+	      case 0x01: /* KMAC-DEA */
+	      case 0x02: /* KMAC-TDEA-128 */
+	      case 0x03: /* KMAC-TDEA-192 */
+	      case 0x09: /* KMAC-Encrypted-DEA */
+	      case 0x0a: /* KMAC-Encrypted-TDEA-128 */
+	      case 0x0b: /* KMAC-Encrypted-TDEA-192 */
+		if (record_full_arch_list_add_mem (oaddr, 8))
+		  return -1;
+		break;
+
+	      case 0x12: /* KMAC-AES-128 */
+	      case 0x13: /* KMAC-AES-192 */
+	      case 0x14: /* KMAC-AES-256 */
+	      case 0x1a: /* KMAC-Encrypted-AES-128 */
+	      case 0x1b: /* KMAC-Encrypted-AES-192 */
+	      case 0x1c: /* KMAC-Encrypted-AES-256 */
+		if (record_full_arch_list_add_mem (oaddr, 16))
+		  return -1;
+		break;
+
+	      default:
+		fprintf_unfiltered (gdb_stdlog, "Warning: Unknown KMAC function %02x at %s.\n",
+				    (int)tmp, paddress (gdbarch, addr));
+		return -1;
+	    }
+	  if (tmp != 0)
+	    {
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
+		return -1;
+	    }
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb922-0xb924 undefined */
+	/* 0xb925 privileged */
+	/* 0xb928 privileged */
+
+	case 0xb929: /* KMA - cipher message with authentication */
+	case 0xb92a: /* KMF - cipher message with cipher feedback [partial] */
+	case 0xb92b: /* KMO - cipher message with output feedback [partial] */
+	case 0xb92f: /* KMC - cipher message with chaining [partial] */
+	  regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+	  tmp &= 0x7f;
+	  switch (tmp)
+	    {
+	      case 0x00: /* KM*-Query */
+		if (record_full_arch_list_add_mem (oaddr, 16))
+		  return -1;
+		break;
+
+	      case 0x01: /* KM*-DEA */
+	      case 0x02: /* KM*-TDEA-128 */
+	      case 0x03: /* KM*-TDEA-192 */
+	      case 0x09: /* KM*-Encrypted-DEA */
+	      case 0x0a: /* KM*-Encrypted-TDEA-128 */
+	      case 0x0b: /* KM*-Encrypted-TDEA-192 */
+		if (record_full_arch_list_add_mem (oaddr, 8))
+		  return -1;
+		break;
+
+	      case 0x12: /* KM*-AES-128 */
+	      case 0x13: /* KM*-AES-192 */
+	      case 0x14: /* KM*-AES-256 */
+	      case 0x1a: /* KM*-Encrypted-AES-128 */
+	      case 0x1b: /* KM*-Encrypted-AES-192 */
+	      case 0x1c: /* KM*-Encrypted-AES-256 */
+		if (record_full_arch_list_add_mem (oaddr, 16))
+		  return -1;
+		break;
+
+	      case 0x43: /* KMC-PRNG */
+		/* Only valid for KMC.  */
+		if (insn[0] == 0xb92f)
+		  {
+		    if (record_full_arch_list_add_mem (oaddr, 8))
+		      return -1;
+		    break;
+		  }
+		/* For other instructions... */
+		/* Fall through.  */
+	      default:
+		fprintf_unfiltered (gdb_stdlog, "Warning: Unknown KM* function %02x at %s.\n",
+				    (int)tmp, paddress (gdbarch, addr));
+		return -1;
+	    }
+	  if (tmp != 0)
+	    {
+	      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
+	      oaddr2 = s390_record_address_mask (gdbarch, regcache, tmp);
+	      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[7] | 1), &tmp);
+	      if (record_full_arch_list_add_mem (oaddr2, tmp))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
+		return -1;
+	    }
+	  if (tmp != 0 && insn[0] == 0xb929)
+	    {
+	      if (record_full_arch_list_add_reg (regcache,
+						 S390_R0_REGNUM + inib[4]))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache,
+						 S390_R0_REGNUM + (inib[4] | 1)))
+		return -1;
+	    }
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb92c: /* PCC - perform cryptographic computation [partial] */
+	  regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+	  tmp &= 0x7f;
+	  switch (tmp)
+	    {
+	      case 0x00: /* PCC-Query */
+		if (record_full_arch_list_add_mem (oaddr, 16))
+		  return -1;
+		break;
+
+	      case 0x01: /* PCC-Compute-Last-Block-CMAC-Using-DEA */
+	      case 0x02: /* PCC-Compute-Last-Block-CMAC-Using-TDEA-128 */
+	      case 0x03: /* PCC-Compute-Last-Block-CMAC-Using-TDEA-192 */
+	      case 0x09: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-DEA */
+	      case 0x0a: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-TDEA-128 */
+	      case 0x0b: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-TDEA-192 */
+		if (record_full_arch_list_add_mem (oaddr + 0x10, 8))
+		  return -1;
+		break;
+
+	      case 0x12: /* PCC-Compute-Last-Block-CMAC-Using-AES-128 */
+	      case 0x13: /* PCC-Compute-Last-Block-CMAC-Using-AES-192 */
+	      case 0x14: /* PCC-Compute-Last-Block-CMAC-Using-AES-256 */
+	      case 0x1a: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-AES-128 */
+	      case 0x1b: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-AES-192 */
+	      case 0x1c: /* PCC-Compute-Last-Block-CMAC-Using-Encrypted-AES-256 */
+		if (record_full_arch_list_add_mem (oaddr + 0x18, 16))
+		  return -1;
+		break;
+
+	      case 0x32: /* PCC-Compute-XTS-Parameter-Using-AES-128 */
+		if (record_full_arch_list_add_mem (oaddr + 0x30, 32))
+		  return -1;
+		break;
+
+	      case 0x34: /* PCC-Compute-XTS-Parameter-Using-AES-256 */
+		if (record_full_arch_list_add_mem (oaddr + 0x40, 32))
+		  return -1;
+		break;
+
+	      case 0x3a: /* PCC-Compute-XTS-Parameter-Using-Encrypted-AES-128 */
+		if (record_full_arch_list_add_mem (oaddr + 0x50, 32))
+		  return -1;
+		break;
+
+	      case 0x3c: /* PCC-Compute-XTS-Parameter-Using-Encrypted-AES-256 */
+		if (record_full_arch_list_add_mem (oaddr + 0x60, 32))
+		  return -1;
+		break;
+
+	      default:
+		fprintf_unfiltered (gdb_stdlog, "Warning: Unknown PCC function %02x at %s.\n",
+				    (int)tmp, paddress (gdbarch, addr));
+		return -1;
+	    }
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb92d: /* KMCTR - cipher message with counter [partial] */
+	  regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+	  tmp &= 0x7f;
+	  switch (tmp)
+	    {
+	      case 0x00: /* KMCTR-Query */
+		if (record_full_arch_list_add_mem (oaddr, 16))
+		  return -1;
+		break;
+
+	      case 0x01: /* KMCTR-DEA */
+	      case 0x02: /* KMCTR-TDEA-128 */
+	      case 0x03: /* KMCTR-TDEA-192 */
+	      case 0x09: /* KMCTR-Encrypted-DEA */
+	      case 0x0a: /* KMCTR-Encrypted-TDEA-128 */
+	      case 0x0b: /* KMCTR-Encrypted-TDEA-192 */
+	      case 0x12: /* KMCTR-AES-128 */
+	      case 0x13: /* KMCTR-AES-192 */
+	      case 0x14: /* KMCTR-AES-256 */
+	      case 0x1a: /* KMCTR-Encrypted-AES-128 */
+	      case 0x1b: /* KMCTR-Encrypted-AES-192 */
+	      case 0x1c: /* KMCTR-Encrypted-AES-256 */
+		break;
+
+	      default:
+		fprintf_unfiltered (gdb_stdlog, "Warning: Unknown KMCTR function %02x at %s.\n",
+				    (int)tmp, paddress (gdbarch, addr));
+		return -1;
+	    }
+	  if (tmp != 0)
+	    {
+	      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
+	      oaddr2 = s390_record_address_mask (gdbarch, regcache, tmp);
+	      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[7] | 1), &tmp);
+	      if (record_full_arch_list_add_mem (oaddr2, tmp))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[4]))
+		return -1;
+	    }
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb92e: /* KM - cipher message [partial] */
+	  regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+	  tmp &= 0x7f;
+	  switch (tmp)
+	    {
+	      case 0x00: /* KM-Query */
+		if (record_full_arch_list_add_mem (oaddr, 16))
+		  return -1;
+		break;
+
+	      case 0x01: /* KM-DEA */
+	      case 0x02: /* KM-TDEA-128 */
+	      case 0x03: /* KM-TDEA-192 */
+	      case 0x09: /* KM-Encrypted-DEA */
+	      case 0x0a: /* KM-Encrypted-TDEA-128 */
+	      case 0x0b: /* KM-Encrypted-TDEA-192 */
+	      case 0x12: /* KM-AES-128 */
+	      case 0x13: /* KM-AES-192 */
+	      case 0x14: /* KM-AES-256 */
+	      case 0x1a: /* KM-Encrypted-AES-128 */
+	      case 0x1b: /* KM-Encrypted-AES-192 */
+	      case 0x1c: /* KM-Encrypted-AES-256 */
+		break;
+
+	      case 0x32: /* KM-XTS-AES-128 */
+		if (record_full_arch_list_add_mem (oaddr + 0x10, 16))
+		  return -1;
+		break;
+
+	      case 0x34: /* KM-XTS-AES-256 */
+		if (record_full_arch_list_add_mem (oaddr + 0x20, 16))
+		  return -1;
+		break;
+
+	      case 0x3a: /* KM-XTS-Encrypted-AES-128 */
+		if (record_full_arch_list_add_mem (oaddr + 0x30, 16))
+		  return -1;
+		break;
+
+	      case 0x3c: /* KM-XTS-Encrypted-AES-256 */
+		if (record_full_arch_list_add_mem (oaddr + 0x40, 16))
+		  return -1;
+		break;
+
+	      default:
+		fprintf_unfiltered (gdb_stdlog, "Warning: Unknown KM function %02x at %s.\n",
+				    (int)tmp, paddress (gdbarch, addr));
+		return -1;
+	    }
+	  if (tmp != 0)
+	    {
+	      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
+	      oaddr2 = s390_record_address_mask (gdbarch, regcache, tmp);
+	      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[7] | 1), &tmp);
+	      if (record_full_arch_list_add_mem (oaddr2, tmp))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
+		return -1;
+	    }
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb932-0xb93b undefined */
+
+	case 0xb93c: /* PPNO - perform pseudorandom number operation [partial] */
+	  regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+	  tmp &= 0xff;
+	  switch (tmp)
+	    {
+	      case 0x00: /* PPNO-Query */
+	      case 0x80: /* PPNO-Query */
+		if (record_full_arch_list_add_mem (oaddr, 16))
+		  return -1;
+		break;
+
+	      case 0x03: /* PPNO-SHA-512-DRNG - generate */
+		if (record_full_arch_list_add_mem (oaddr, 240))
+		  return -1;
+		regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
+		oaddr2 = s390_record_address_mask (gdbarch, regcache, tmp);
+		regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[6] | 1), &tmp);
+		if (record_full_arch_list_add_mem (oaddr2, tmp))
+		  return -1;
+		if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+		  return -1;
+		if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
+		  return -1;
+		break;
+
+	      case 0x83: /* PPNO-SHA-512-DRNG - seed */
+		if (record_full_arch_list_add_mem (oaddr, 240))
+		  return -1;
+		if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+		  return -1;
+		if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
+		  return -1;
+		break;
+
+	      default:
+		fprintf_unfiltered (gdb_stdlog, "Warning: Unknown PPNO function %02x at %s.\n",
+				    (int)tmp, paddress (gdbarch, addr));
+		return -1;
+	    }
+	  /* DXC may be written */
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb93d undefined */
+
+	case 0xb93e: /* KIMD - compute intermediate message digest [partial] */
+	case 0xb93f: /* KLMD - compute last message digest [partial] */
+	  regcache_raw_read_unsigned (regcache, S390_R1_REGNUM, &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+	  tmp &= 0xff;
+	  switch (tmp)
+	    {
+	      case 0x00: /* K*MD-Query */
+		if (record_full_arch_list_add_mem (oaddr, 16))
+		  return -1;
+		break;
+
+	      case 0x01: /* K*MD-SHA-1 */
+		if (record_full_arch_list_add_mem (oaddr, 20))
+		  return -1;
+		break;
+
+	      case 0x02: /* K*MD-SHA-256 */
+		if (record_full_arch_list_add_mem (oaddr, 32))
+		  return -1;
+		break;
+
+	      case 0x03: /* K*MD-SHA-512 */
+		if (record_full_arch_list_add_mem (oaddr, 64))
+		  return -1;
+		break;
+
+	      case 0x41: /* KIMD-GHASH */
+		/* Only valid for KIMD.  */
+		if (insn[0] == 0xb93e)
+		  {
+		    if (record_full_arch_list_add_mem (oaddr, 16))
+		      return -1;
+		    break;
+		  }
+		/* For KLMD...  */
+		/* Fall through.  */
+	      default:
+		fprintf_unfiltered (gdb_stdlog, "Warning: Unknown KMAC function %02x at %s.\n",
+				    (int)tmp, paddress (gdbarch, addr));
+		return -1;
+	    }
+	  if (tmp != 0)
+	    {
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+		return -1;
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[7] | 1)))
+		return -1;
+	    }
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb940 undefined */
+	/* 0xb944-0xb945 undefined */
+	/* 0xb947-0xb948 undefined */
+	/* 0xb94c-0xb950 undefined */
+	/* 0xb954-0xb958 undefined */
+	/* 0xb95c-0xb95f undefined */
+	/* 0xb962-0xb971 undefined */
+	/* 0xb974-0xb97f undefined */
+
+	case 0xb983: /* FLOGR - find leftmost one */
+	  /* 64-bit gpr pair destination + flags */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[6]))
+	    return -1;
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[6] | 1))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb98a privileged */
+	/* 0xb98b-0xb98c undefined */
+
+	case 0xb98d: /* EPSW - extract psw */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (inib[7])
+	    if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+	      return -1;
+	  break;
+
+	/* 0xb98e-0xb98f privileged */
+
+	case 0xb990: /* TRTT - translate two to two [partial] */
+	case 0xb991: /* TRTO - translate two to one [partial] */
+	case 0xb992: /* TROT - translate one to two [partial] */
+	case 0xb993: /* TROO - translate one to one [partial] */
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[6], &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[6] | 1), &tmp);
+	  /* tmp is source length, we want destination length.  Adjust.  */
+	  if (insn[0] == 0xb991)
+	    tmp >>= 1;
+	  if (insn[0] == 0xb992)
+	    tmp <<= 1;
+	  if (record_full_arch_list_add_mem (oaddr, tmp))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xb996: /* MLR - multiply logical */
+	case 0xb997: /* DLR - divide logical */
+	  /* 32-bit gpr pair destination  */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
+	    return -1;
+	  break;
+
+	/* 0xb99a-0xb9af unsupported, privileged, or undefined */
+	/* 0xb9b4-0xb9bc undefined */
+
+	case 0xb9bd: /* TRTRE - translate and test reverse extended [partial] */
+	case 0xb9bf: /* TRTE - translate and test extended [partial] */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[6] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[7]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb9c0-0xb9c7 undefined */
+
+	case 0xb9c8: /* AHHHR - add high */
+	case 0xb9c9: /* SHHHR - subtract high */
+	case 0xb9ca: /* ALHHHR - add logical high */
+	case 0xb9cb: /* SLHHHR - subtract logical high */
+	case 0xb9d8: /* AHHLR - add high */
+	case 0xb9d9: /* SHHLR - subtract high */
+	case 0xb9da: /* ALHHLR - add logical high */
+	case 0xb9db: /* SLHHLR - subtract logical high */
+	  /* 32-bit high gpr destination + flags */
+	  if (s390_record_gpr_h (gdbarch, regcache, inib[6]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xb9cc undefined */
+	/* 0xb9ce undefined */
+	/* 0xb9d0-0xb9d7 undefined */
+	/* 0xb9dc undefined */
+	/* 0xb9de undefined */
+
+	case 0xb9e0: /* LOCFHR - load high on condition */
+	  /* 32-bit high gpr destination */
+	  if (s390_record_gpr_h (gdbarch, regcache, inib[6]))
+	    return -1;
+	  break;
+
+	/* 0xb9e3 undefined */
+	/* 0xb9e5 undefined */
+	/* 0xb9ee-0xb9f1 undefined */
+	/* 0xb9f3 undefined */
+	/* 0xb9f5 undefined */
+	/* 0xb9fc undefined */
+	/* 0xb9fe -0xb9ff undefined */
+
+	default:
+	  goto UNKNOWN_OP;
+	}
+      break;
+
+    /* 0xb4-0xb5 undefined */
+    /* 0xb6 privileged: STCTL - store control */
+    /* 0xb7 privileged: LCTL - load control */
+    /* 0xb8 undefined */
+
+    case 0xba: /* CS - compare and swap */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, 4))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0xbb: /* CDS - compare double and swap */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, 8))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    /* 0xbc undefined */
+
+    case 0xbe: /* STCM - store characters under mask */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, s390_popcnt (inib[3])))
+	return -1;
+      break;
+
+    case 0xc0:
+    case 0xc2:
+    case 0xc4:
+    case 0xc6:
+    case 0xcc:
+      /* RIL-format instruction */
+      switch (ibyte[0] << 4 | inib[3])
+	{
+	case 0xc00: /* LARL - load address relative long */
+	case 0xc05: /* BRASL - branch relative and save long */
+	case 0xc09: /* IILF - insert immediate */
+	case 0xc21: /* MSFI - multiply single immediate */
+	case 0xc42: /* LLHRL - load logical halfword relative long */
+	case 0xc45: /* LHRL - load halfword relative long */
+	case 0xc4d: /* LRL - load relative long */
+	  /* 32-bit or native gpr destination */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  break;
+
+	case 0xc01: /* LGFI - load immediate */
+	case 0xc0e: /* LLIHF - load logical immediate */
+	case 0xc0f: /* LLILF - load logical immediate */
+	case 0xc20: /* MSGFI - multiply single immediate */
+	case 0xc44: /* LGHRL - load halfword relative long */
+	case 0xc46: /* LLGHRL - load logical halfword relative long */
+	case 0xc48: /* LGRL - load relative long */
+	case 0xc4c: /* LGFRL - load relative long */
+	case 0xc4e: /* LLGFRL - load logical relative long */
+	  /* 64-bit gpr destination */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  break;
+
+	/* 0xc02-0xc03 undefined */
+
+	case 0xc04: /* BRCL - branch relative on condition long */
+	case 0xc62: /* PFDRL - prefetch data relative long */
+	  break;
+
+	case 0xc06: /* XIHF - xor immediate */
+	case 0xc0a: /* NIHF - and immediate */
+	case 0xc0c: /* OIHF - or immediate */
+	case 0xcc8: /* AIH - add immediate high */
+	case 0xcca: /* ALSIH - add logical with signed immediate high */
+	  /* 32-bit high gpr destination + flags */
+	  if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xc07: /* XILF - xor immediate */
+	case 0xc0b: /* NILF - and immediate */
+	case 0xc0d: /* OILF - or immediate */
+	case 0xc25: /* SLFI - subtract logical immediate */
+	case 0xc29: /* AFI - add immediate */
+	case 0xc2b: /* ALFI - add logical immediate */
+	  /* 32-bit gpr destination + flags */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xc08: /* IIHF - insert immediate */
+	case 0xcc6: /* BRCTH - branch relative on count high */
+	case 0xccb: /* ALSIHN - add logical with signed immediate high */
+	  /* 32-bit high gpr destination */
+	  if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
+	    return -1;
+	  break;
+
+	/* 0xc22-0xc23 undefined */
+
+	case 0xc24: /* SLGFI - subtract logical immediate */
+	case 0xc28: /* AGFI - add immediate */
+	case 0xc2a: /* ALGFI - add logical immediate */
+	  /* 64-bit gpr destination + flags */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xc26-0xc27 undefined */
+
+	case 0xc2c: /* CGFI - compare immediate */
+	case 0xc2d: /* CFI - compare immediate */
+	case 0xc2e: /* CLGFI - compare logical immediate */
+	case 0xc2f: /* CLFI - compare logical immediate */
+	case 0xc64: /* CGHRL - compare halfword relative long */
+	case 0xc65: /* CHRL - compare halfword relative long */
+	case 0xc66: /* CLGHRL - compare logical halfword relative long */
+	case 0xc67: /* CLHRL - compare logical halfword relative long */
+	case 0xc68: /* CGRL - compare relative long */
+	case 0xc6a: /* CLGRL - compare logical relative long */
+	case 0xc6c: /* CGFRL - compare relative long */
+	case 0xc6d: /* CRL - compare relative long */
+	case 0xc6e: /* CLGFRL - compare logical relative long */
+	case 0xc6f: /* CLRL - compare logical relative long */
+	case 0xccd: /* CIH - compare immediate high */
+	case 0xccf: /* CLIH - compare logical immediate high */
+	  /* flags only */
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xc40-0xc41 undefined */
+	/* 0xc43 undefined */
+
+	case 0xc47: /* STHRL - store halfword relative long */
+	  oaddr = s390_record_calc_rl (gdbarch, regcache, addr, insn[1], insn[2]);
+	  if (record_full_arch_list_add_mem (oaddr, 2))
+	    return -1;
+	  break;
+
+	/* 0xc49-0xc4a undefined */
+
+	case 0xc4b: /* STGRL - store relative long */
+	  oaddr = s390_record_calc_rl (gdbarch, regcache, addr, insn[1], insn[2]);
+	  if (record_full_arch_list_add_mem (oaddr, 8))
+	    return -1;
+	  break;
+
+	case 0xc4f: /* STRL - store relative long */
+	  oaddr = s390_record_calc_rl (gdbarch, regcache, addr, insn[1], insn[2]);
+	  if (record_full_arch_list_add_mem (oaddr, 4))
+	    return -1;
+	  break;
+
+	case 0xc60: /* EXRL - execute relative long */
+	  if (ex != -1)
+	    {
+	      fprintf_unfiltered (gdb_stdlog, "Warning: Double execute at %s.\n",
+				  paddress (gdbarch, addr));
+	      return -1;
+	    }
+	  addr = s390_record_calc_rl (gdbarch, regcache, addr, insn[1], insn[2]);
+	  if (inib[2])
+	    {
+	      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[2], &tmp);
+	      ex = tmp & 0xff;
+	    }
+	  else
+	    {
+	      ex = 0;
+	    }
+	  goto ex;
+
+	/* 0xc61 undefined */
+	/* 0xc63 undefined */
+	/* 0xc69 undefined */
+	/* 0xc6b undefined */
+	/* 0xcc0-0xcc5 undefined */
+	/* 0xcc7 undefined */
+	/* 0xcc9 undefined */
+	/* 0xccc undefined */
+	/* 0xcce undefined */
+
+	default:
+	  goto UNKNOWN_OP;
+	}
+      break;
+
+    /* 0xc1 undefined */
+    /* 0xc3 undefined */
+
+    case 0xc5: /* BPRP - branch prediction relative preload */
+    case 0xc7: /* BPP - branch prediction preload */
+      /* no visible effect */
+      break;
+
+    case 0xc8:
+      /* SSF-format instruction */
+      switch (ibyte[0] << 4 | inib[3])
+	{
+	/* 0xc80 unsupported */
+
+	case 0xc81: /* ECTG - extract cpu time */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (s390_record_gpr_g (gdbarch, regcache, 0))
+	    return -1;
+	  if (s390_record_gpr_g (gdbarch, regcache, 1))
+	    return -1;
+	  break;
+
+	case 0xc82: /* CSST - compare and swap and store */
+	  {
+	    uint8_t fc, sc;
+	    regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+	    fc = tmp & 0xff;
+	    sc = tmp >> 8 & 0xff;
+
+	    /* First and third operands.  */
+	    oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	    switch (fc)
+	      {
+		case 0x00: /* 32-bit */
+		  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+		    return -1;
+		  if (record_full_arch_list_add_mem (oaddr, 4))
+		    return -1;
+		  break;
+
+		case 0x01: /* 64-bit */
+		  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+		    return -1;
+		  if (record_full_arch_list_add_mem (oaddr, 8))
+		    return -1;
+		  break;
+
+		case 0x02: /* 128-bit */
+		  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+		    return -1;
+		  if (s390_record_gpr_g (gdbarch, regcache, inib[2] | 1))
+		    return -1;
+		  if (record_full_arch_list_add_mem (oaddr, 16))
+		    return -1;
+		  break;
+
+		default:
+		  fprintf_unfiltered (gdb_stdlog, "Warning: Unknown CSST FC %02x at %s.\n",
+				      fc, paddress (gdbarch, addr));
+		  return -1;
+	      }
+
+	    /* Second operand.  */
+	    oaddr2 = s390_record_calc_disp (gdbarch, regcache, 0, insn[2], 0);
+	    if (sc > 4)
+	      {
+		fprintf_unfiltered (gdb_stdlog, "Warning: Unknown CSST FC %02x at %s.\n",
+				    sc, paddress (gdbarch, addr));
+		return -1;
+	      }
+
+	    if (record_full_arch_list_add_mem (oaddr2, 1 << sc))
+	      return -1;
+
+	    /* Flags.  */
+	    if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	      return -1;
+	  }
+	  break;
+
+	/* 0xc83 undefined */
+
+	case 0xc84: /* LPD - load pair disjoint */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xc85: /* LPDG - load pair disjoint */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2] | 1))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xc86-0xc8f undefined */
+
+	default:
+	  goto UNKNOWN_OP;
+	}
+      break;
+
+    /* 0xc9-0xcb undefined */
+    /* 0xcd-0xcf undefined */
+
+    case 0xd0: /* TRTR - translate and test reversed */
+    case 0xdd: /* TRT - translate and test */
+      if (record_full_arch_list_add_reg (regcache, S390_R1_REGNUM))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R2_REGNUM))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0xd1: /* MVN - move numbers */
+    case 0xd2: /* MVC - move */
+    case 0xd3: /* MVZ - move zones */
+    case 0xdc: /* TR - translate */
+    case 0xe8: /* MVCIN - move inverse */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, ibyte[1] + 1))
+	return -1;
+      break;
+
+    case 0xd4: /* NC - and */
+    case 0xd6: /* OC - or*/
+    case 0xd7: /* XC - xor */
+    case 0xe2: /* UNPKU - unpack unicode */
+    case 0xea: /* UNPKA - unpack ASCII */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, ibyte[1] + 1))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0xde: /* ED - edit */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, ibyte[1] + 1))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      /* DXC may be written */
+      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	return -1;
+      break;
+
+    case 0xdf: /* EDMK - edit and mark */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, ibyte[1] + 1))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_R1_REGNUM))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      /* DXC may be written */
+      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	return -1;
+      break;
+
+    /* 0xd8 undefined */
+    /* 0xd9 unsupported: MVCK - move with key */
+    /* 0xda unsupported: MVCP - move to primary */
+    /* 0xdb unsupported: MVCS - move to secondary */
+    /* 0xe0 undefined */
+
+    case 0xe1: /* PKU - pack unicode */
+    case 0xe9: /* PKA - pack ASCII */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, 16))
+	return -1;
+      break;
+
+    case 0xe3:
+    case 0xe6:
+    case 0xe7:
+    case 0xeb:
+    case 0xed:
+      /* RXY/RXE/RXF/RSL/RSY/SIY/V*-format instruction */
+      switch (ibyte[0] << 8 | ibyte[5])
+	{
+	/* 0xe300-0xe301 undefined */
+
+	case 0xe302: /* LTG - load and test */
+	case 0xe308: /* AG - add */
+	case 0xe309: /* SG - subtract */
+	case 0xe30a: /* ALG - add logical */
+	case 0xe30b: /* SLG - subtract logical */
+	case 0xe318: /* AGF - add */
+	case 0xe319: /* SGF - subtract */
+	case 0xe31a: /* ALGF - add logical */
+	case 0xe31b: /* SLGF - subtract logical */
+	case 0xe332: /* LTGF - load and test */
+	case 0xe380: /* NG - and */
+	case 0xe381: /* OG - or */
+	case 0xe382: /* XG - xor */
+	case 0xe388: /* ALCG - add logical with carry */
+	case 0xe389: /* SLBG - subtract logical with borrow */
+	case 0xeb0a: /* SRAG - shift right single */
+	case 0xeb0b: /* SLAG - shift left single */
+	  /* 64-bit gpr destination + flags */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe303 privileged */
+
+	case 0xe304: /* LG - load */
+	case 0xe30c: /* MSG - multiply single */
+	case 0xe30f: /* LRVG - load reversed */
+	case 0xe314: /* LGF - load */
+	case 0xe315: /* LGH - load halfword */
+	case 0xe316: /* LLGF - load logical */
+	case 0xe317: /* LLGT - load logical thirty one bits */
+	case 0xe31c: /* MSGF - multiply single */
+	case 0xe32a: /* LZRG - load and zero rightmost byte */
+	case 0xe33a: /* LLZRGF - load logical and zero rightmost byte */
+	case 0xe33c: /* MGH - multiply halfword 64x16mem -> 64 */
+	case 0xe346: /* BCTG - branch on count */
+	case 0xe377: /* LGB - load byte */
+	case 0xe390: /* LLGC - load logical character */
+	case 0xe391: /* LLGH - load logical halfword */
+	case 0xeb0c: /* SRLG - shift right single logical */
+	case 0xeb0d: /* SLLG - shift left single logical */
+	case 0xeb1c: /* RLLG - rotate left single logical */
+	case 0xeb44: /* BXHG - branch on index high */
+	case 0xeb45: /* BXLEG - branch on index low or equal */
+	case 0xeb4c: /* ECAG - extract cpu attribute */
+	case 0xebe2: /* LOCG - load on condition */
+	  /* 64-bit gpr destination */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  break;
+
+	/* 0xe305 undefined */
+
+	case 0xe306: /* CVBY - convert to binary */
+	  /* 32-bit or native gpr destination + FPC (DXC write) */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe307 undefined */
+
+	case 0xe30d: /* DSG - divide single */
+	case 0xe31d: /* DSGF - divide single */
+	case 0xe384: /* MG - multiply 64x64mem -> 128 */
+	case 0xe386: /* MLG - multiply logical */
+	case 0xe387: /* DLG - divide logical */
+	case 0xe38f: /* LPQ - load pair from quadword */
+	  /* 64-bit gpr pair destination  */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2] | 1))
+	    return -1;
+	  break;
+
+	case 0xe30e: /* CVBG - convert to binary */
+	  /* 64-bit gpr destination + FPC (DXC write) */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe310-0xe311 undefined */
+
+	case 0xe312: /* LT - load and test */
+	case 0xe338: /* AGH - add halfword to 64 bit value */
+	case 0xe339: /* SGH - subtract halfword from 64 bit value */
+	case 0xe353: /* MSC - multiply single 32x32mem -> 32 */
+	case 0xe354: /* NY - and */
+	case 0xe356: /* OY - or */
+	case 0xe357: /* XY - xor */
+	case 0xe35a: /* AY - add */
+	case 0xe35b: /* SY - subtract */
+	case 0xe35e: /* ALY - add logical */
+	case 0xe35f: /* SLY - subtract logical */
+	case 0xe37a: /* AHY - add halfword */
+	case 0xe37b: /* SHY - subtract halfword */
+	case 0xe383: /* MSGC - multiply single 64x64mem -> 64 */
+	case 0xe398: /* ALC - add logical with carry */
+	case 0xe399: /* SLB - subtract logical with borrow */
+	case 0xe727: /* LCBB - load count to block bounduary */
+	case 0xeb81: /* ICMY - insert characters under mask */
+	case 0xebdc: /* SRAK - shift left single */
+	case 0xebdd: /* SLAK - shift left single */
+	  /* 32/64-bit gpr destination + flags */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe313 privileged */
+
+	case 0xe31e: /* LRV - load reversed */
+	case 0xe31f: /* LRVH - load reversed */
+	case 0xe33b: /* LZRF - load and zero rightmost byte */
+	case 0xe351: /* MSY - multiply single */
+	case 0xe358: /* LY - load */
+	case 0xe371: /* LAY - load address */
+	case 0xe373: /* ICY - insert character */
+	case 0xe376: /* LB - load byte */
+	case 0xe378: /* LHY - load */
+	case 0xe37c: /* MHY - multiply halfword */
+	case 0xe394: /* LLC - load logical character */
+	case 0xe395: /* LLH - load logical halfword */
+	case 0xeb1d: /* RLL - rotate left single logical */
+	case 0xebde: /* SRLK - shift left single logical */
+	case 0xebdf: /* SLLK - shift left single logical */
+	case 0xebf2: /* LOC - load on condition */
+	  /* 32-bit or native gpr destination */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  break;
+
+	case 0xe320: /* CG - compare */
+	case 0xe321: /* CLG - compare logical */
+	case 0xe330: /* CGF - compare */
+	case 0xe331: /* CLGF - compare logical */
+	case 0xe334: /* CGH - compare halfword */
+	case 0xe355: /* CLY - compare logical */
+	case 0xe359: /* CY - compare */
+	case 0xe379: /* CHY - compare halfword */
+	case 0xe3cd: /* CHF - compare high */
+	case 0xe3cf: /* CLHF - compare logical high */
+	case 0xeb20: /* CLMH - compare logical under mask high */
+	case 0xeb21: /* CLMY - compare logical under mask */
+	case 0xeb51: /* TMY - test under mask */
+	case 0xeb55: /* CLIY - compare logical */
+	case 0xebc0: /* TP - test decimal */
+	case 0xed10: /* TCEB - test data class */
+	case 0xed11: /* TCDB - test data class */
+	case 0xed12: /* TCXB - test data class */
+	case 0xed50: /* TDCET - test data class */
+	case 0xed51: /* TDGET - test data group */
+	case 0xed54: /* TDCDT - test data class */
+	case 0xed55: /* TDGDT - test data group */
+	case 0xed58: /* TDCXT - test data class */
+	case 0xed59: /* TDGXT - test data group */
+	  /* flags only */
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe322-0xe323 undefined */
+
+	case 0xe324: /* STG - store */
+	case 0xe325: /* NTSTG - nontransactional store */
+	case 0xe326: /* CVDY - convert to decimal */
+	case 0xe32f: /* STRVG - store reversed */
+	case 0xebe3: /* STOCG - store on condition */
+	case 0xed67: /* STDY - store */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 8))
+	    return -1;
+	  break;
+
+	/* 0xe327-0xe329 undefined */
+	/* 0xe32b-0xe32d undefined */
+
+	case 0xe32e: /* CVDG - convert to decimal */
+	case 0xe38e: /* STPQ - store pair to quadword */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 16))
+	    return -1;
+	  break;
+
+	/* 0xe333 undefined */
+	/* 0xe335 undefined */
+
+	case 0xe336: /* PFD - prefetch data */
+	  break;
+
+	/* 0xe337 undefined */
+	/* 0xe33c-0xe33d undefined */
+
+	case 0xe33e: /* STRV - store reversed */
+	case 0xe350: /* STY - store */
+	case 0xe3cb: /* STFH - store high */
+	case 0xebe1: /* STOCFH - store high on condition */
+	case 0xebf3: /* STOC - store on condition */
+	case 0xed66: /* STEY - store */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 4))
+	    return -1;
+	  break;
+
+	case 0xe33f: /* STRVH - store reversed */
+	case 0xe370: /* STHY - store halfword */
+	case 0xe3c7: /* STHH - store halfword high */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 2))
+	    return -1;
+	  break;
+
+	/* 0xe340-0xe345 undefined */
+
+	case 0xe347: /* BIC - branch indirect on condition */
+	  break;
+
+	/* 0xe348-0xe34f undefined */
+	/* 0xe352 undefined */
+
+	case 0xe35c: /* MFY - multiply */
+	case 0xe396: /* ML - multiply logical */
+	case 0xe397: /* DL - divide logical */
+	  /* 32-bit gpr pair destination */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
+	    return -1;
+	  break;
+
+	/* 0xe35d undefined */
+	/* 0xe360-0xe36f undefined */
+
+	case 0xe372: /* STCY - store character */
+	case 0xe3c3: /* STCH - store character high */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 1))
+	    return -1;
+	  break;
+
+	/* 0xe374 undefined */
+
+	case 0xe375: /* LAEY - load address extended */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + inib[2]))
+	    return -1;
+	  break;
+
+	/* 0xe37d-0xe37f undefined */
+
+	case 0xe385: /* LGAT - load and trap */
+	case 0xe39c: /* LLGTAT - load logical thirty one bits and trap */
+	case 0xe39d: /* LLGFAT - load logical and trap */
+	case 0xe650: /* VCVB - vector convert to binary 32 bit*/
+	case 0xe652: /* VCVBG - vector convert to binary 64 bit*/
+	case 0xe721: /* VLGV - vector load gr from vr element */
+	  /* 64-bit gpr destination + fpc for possible DXC write */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe38a-0xe38d undefined */
+	/* 0xe392-0xe393 undefined */
+	/* 0xe39a-0xe39b undefined */
+	/* 0xe39e undefined */
+
+	case 0xe39f: /* LAT - load and trap */
+	  /* 32-bit gpr destination + fpc for possible DXC write */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe3a0-0xe3bf undefined */
+
+	case 0xe3c0: /* LBH - load byte high */
+	case 0xe3c2: /* LLCH - load logical character high */
+	case 0xe3c4: /* LHH - load halfword high */
+	case 0xe3c6: /* LLHH - load logical halfword high */
+	case 0xe3ca: /* LFH - load high */
+	case 0xebe0: /* LOCFH - load high on condition */
+	  /* 32-bit high gpr destination */
+	  if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
+	    return -1;
+	  break;
+
+	/* 0xe3c1 undefined */
+	/* 0xe3c5 undefined */
+
+	case 0xe3c8: /* LFHAT - load high and trap */
+	  /* 32-bit high gpr destination + fpc for possible DXC write */
+	  if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe3c9 undefined */
+	/* 0xe3cc undefined */
+	/* 0xe3ce undefined */
+	/* 0xe3d0-0xe3ff undefined */
+
+	case 0xe634: /* VPKZ - vector pack zoned */
+	case 0xe635: /* VLRL - vector load rightmost with immed. length */
+	case 0xe637: /* VLRLR - vector load rightmost with length */
+	case 0xe649: /* VLIP - vector load immediate decimal */
+	case 0xe700: /* VLEB - vector load element */
+	case 0xe701: /* VLEH - vector load element */
+	case 0xe702: /* VLEG - vector load element */
+	case 0xe703: /* VLEF - vector load element */
+	case 0xe704: /* VLLEZ - vector load logical element and zero */
+	case 0xe705: /* VLREP - vector load and replicate */
+	case 0xe706: /* VL - vector load */
+	case 0xe707: /* VLBB - vector load to block bounduary */
+	case 0xe712: /* VGEG - vector gather element */
+	case 0xe713: /* VGEF - vector gather element */
+	case 0xe722: /* VLVG - vector load vr element from gr */
+	case 0xe730: /* VESL - vector element shift left */
+	case 0xe733: /* VERLL - vector element rotate left logical */
+	case 0xe737: /* VLL - vector load with length */
+	case 0xe738: /* VESRL - vector element shift right logical */
+	case 0xe73a: /* VESRA - vector element shift right arithmetic */
+	case 0xe740: /* VLEIB - vector load element immediate */
+	case 0xe741: /* VLEIH - vector load element immediate */
+	case 0xe742: /* VLEIG - vector load element immediate */
+	case 0xe743: /* VLEIF - vector load element immediate */
+	case 0xe744: /* VGBM - vector generate byte mask */
+	case 0xe745: /* VREPI - vector replicate immediate */
+	case 0xe746: /* VGM - vector generate mask */
+	case 0xe74d: /* VREP - vector replicate */
+	case 0xe750: /* VPOPCT - vector population count */
+	case 0xe752: /* VCTZ - vector count trailing zeros */
+	case 0xe753: /* VCLZ - vector count leading zeros */
+	case 0xe756: /* VLR - vector load */
+	case 0xe75f: /* VSEG -vector sign extend to doubleword */
+	case 0xe760: /* VMRL - vector merge low */
+	case 0xe761: /* VMRH - vector merge high */
+	case 0xe762: /* VLVGP - vector load vr from grs disjoint */
+	case 0xe764: /* VSUM - vector sum across word */
+	case 0xe765: /* VSUMG - vector sum across doubleword */
+	case 0xe766: /* VCKSM - vector checksum */
+	case 0xe767: /* VSUMQ - vector sum across quadword */
+	case 0xe768: /* VN - vector and */
+	case 0xe769: /* VNC - vector and with complement */
+	case 0xe76a: /* VO - vector or */
+	case 0xe76b: /* VNO - vector nor */
+	case 0xe76c: /* VNX - vector not exclusive or */
+	case 0xe76d: /* VX - vector xor */
+	case 0xe76e: /* VNN - vector nand */
+	case 0xe76f: /* VOC - vector or with complement */
+	case 0xe770: /* VESLV - vector element shift left */
+	case 0xe772: /* VERIM - vector element rotate and insert under mask */
+	case 0xe773: /* VERLLV - vector element rotate left logical */
+	case 0xe774: /* VSL - vector shift left */
+	case 0xe775: /* VSLB - vector shift left by byte */
+	case 0xe777: /* VSLDB - vector shift left double by byte */
+	case 0xe778: /* VESRLV - vector element shift right logical */
+	case 0xe77a: /* VESRAV - vector element shift right arithmetic */
+	case 0xe77c: /* VSRL - vector shift right logical */
+	case 0xe77d: /* VSRLB - vector shift right logical by byte */
+	case 0xe77e: /* VSRA - vector shift right arithmetic */
+	case 0xe77f: /* VSRAB - vector shift right arithmetic by byte */
+	case 0xe784: /* VPDI - vector permute doubleword immediate */
+	case 0xe785: /* VBPERM - vector bit permute */
+	case 0xe78c: /* VPERM - vector permute */
+	case 0xe78d: /* VSEL - vector select */
+	case 0xe78e: /* VFMS - vector fp multiply and subtract */
+	case 0xe78f: /* VFMA - vector fp multiply and add */
+	case 0xe794: /* VPK - vector pack */
+	case 0xe79e: /* VFNMS - vector fp negative multiply and subtract */
+	case 0xe79f: /* VFNMA - vector fp negative multiply and add */
+	case 0xe7a1: /* VMLH - vector multiply logical high */
+	case 0xe7a2: /* VML - vector multiply low */
+	case 0xe7a3: /* VMH - vector multiply high */
+	case 0xe7a4: /* VMLE - vector multiply logical even */
+	case 0xe7a5: /* VMLO - vector multiply logical odd */
+	case 0xe7a6: /* VME - vector multiply even */
+	case 0xe7a7: /* VMO - vector multiply odd */
+	case 0xe7a9: /* VMALH - vector multiply and add logical high */
+	case 0xe7aa: /* VMAL - vector multiply and add low */
+	case 0xe7ab: /* VMAH - vector multiply and add high */
+	case 0xe7ac: /* VMALE - vector multiply and add logical even */
+	case 0xe7ad: /* VMALO - vector multiply and add logical odd */
+	case 0xe7ae: /* VMAE - vector multiply and add even */
+	case 0xe7af: /* VMAO - vector multiply and add odd */
+	case 0xe7b4: /* VGFM - vector Galois field multiply sum */
+	case 0xe7b8: /* VMSL - vector multiply sum logical */
+	case 0xe7b9: /* VACCC - vector add with carry compute carry */
+	case 0xe7bb: /* VAC - vector add with carry */
+	case 0xe7bc: /* VGFMA - vector Galois field multiply sum and accumulate */
+	case 0xe7bd: /* VSBCBI - vector subtract with borrow compute borrow indication */
+	case 0xe7bf: /* VSBI - vector subtract with borrow indication */
+	case 0xe7c0: /* VCLGD - vector convert to logical 64-bit */
+	case 0xe7c1: /* VCDLG - vector convert from logical 64-bit */
+	case 0xe7c2: /* VCGD - vector convert to fixed 64-bit */
+	case 0xe7c3: /* VCDG - vector convert from fixed 64-bit */
+	case 0xe7c4: /* VLDE/VFLL - vector fp load lengthened */
+	case 0xe7c5: /* VLED/VFLR - vector fp load rounded */
+	case 0xe7c7: /* VFI - vector load fp integer */
+	case 0xe7cc: /* VFPSO - vector fp perform sign operation */
+	case 0xe7ce: /* VFSQ - vector fp square root */
+	case 0xe7d4: /* VUPLL - vector unpack logical low */
+	case 0xe7d6: /* VUPL - vector unpack low */
+	case 0xe7d5: /* VUPLH - vector unpack logical high */
+	case 0xe7d7: /* VUPH - vector unpack high */
+	case 0xe7de: /* VLC - vector load complement */
+	case 0xe7df: /* VLP - vector load positive */
+	case 0xe7e2: /* VFA - vector fp subtract */
+	case 0xe7e3: /* VFA - vector fp add */
+	case 0xe7e5: /* VFD - vector fp divide */
+	case 0xe7e7: /* VFM - vector fp multiply */
+	case 0xe7ee: /* VFMIN - vector fp minimum */
+	case 0xe7ef: /* VFMAX - vector fp maximum */
+	case 0xe7f0: /* VAVGL - vector average logical */
+	case 0xe7f1: /* VACC - vector add and compute carry */
+	case 0xe7f2: /* VAVG - vector average */
+	case 0xe7f3: /* VA - vector add */
+	case 0xe7f5: /* VSCBI - vector subtract compute borrow indication */
+	case 0xe7f7: /* VS - vector subtract */
+	case 0xe7fc: /* VMNL - vector minimum logical */
+	case 0xe7fd: /* VMXL - vector maximum logical */
+	case 0xe7fe: /* VMN - vector minimum */
+	case 0xe7ff: /* VMX - vector maximum */
+	  /* vector destination + FPC */
+	  if (s390_record_vr (gdbarch, regcache, ivec[0]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xe63d: /* VSTRL - vector store rightmost with immed. length */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, inib[3] + 1))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xe708: /* VSTEB - vector store element */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, 1))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xe709: /* VSTEH - vector store element */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, 2))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xe70a: /* VSTEG - vector store element */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, 8))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xe70b: /* VSTEF - vector store element */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, 4))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe70c-0xe70d undefined */
+
+	case 0xe70e: /* VST - vector store */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, inib[3], insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, 16))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe70f-0xe711 undefined */
+	/* 0xe714-0xe719 undefined */
+
+	case 0xe71a: /* VSCEG - vector scatter element */
+	  if (s390_record_calc_disp_vsce (gdbarch, regcache, ivec[1], inib[8], 8, insn[1], 0, &oaddr))
+	    return -1;
+	  if (record_full_arch_list_add_mem (oaddr, 8))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xe71b: /* VSCEF - vector scatter element */
+	  if (s390_record_calc_disp_vsce (gdbarch, regcache, ivec[1], inib[8], 4, insn[1], 0, &oaddr))
+	    return -1;
+	  if (record_full_arch_list_add_mem (oaddr, 4))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe71c-0xe720 undefined */
+	/* 0xe723-0xe726 undefined */
+	/* 0xe728-0xe72f undefined */
+	/* 0xe731-0xe732 undefined */
+	/* 0xe734-0xe735 undefined */
+
+	case 0xe736: /* VLM - vector load multiple */
+	  for (i = ivec[0]; i != ivec[1]; i++, i &= 0x1f)
+	    if (s390_record_vr (gdbarch, regcache, i))
+	      return -1;
+	  if (s390_record_vr (gdbarch, regcache, ivec[1]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe739 undefined */
+	/* 0xe73b-0xe73d undefined */
+
+	case 0xe73e: /* VSTM - vector store multiple */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  if (ivec[0] <= ivec[1])
+	    n = ivec[1] - ivec[0] + 1;
+	  else
+	    n = ivec[1] + 0x20 - ivec[0] + 1;
+	  if (record_full_arch_list_add_mem (oaddr, n * 16))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xe63c: /* VUPKZ - vector unpack zoned */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, (ibyte[1] + 1) & 31))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xe63f: /* VSTRLR - vector store rightmost with length */
+	case 0xe73f: /* VSTL - vector store with length */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[3], &tmp);
+	  tmp &= 0xffffffffu;
+	  if (tmp > 15)
+	    tmp = 15;
+	  if (record_full_arch_list_add_mem (oaddr, tmp + 1))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe747-0xe749 undefined */
+
+	case 0xe658: /* VCVD - vector convert to decimal 32 bit */
+	case 0xe659: /* VSRP - vector shift and round decimal */
+	case 0xe65a: /* VCVDG - vector convert to decimal 64 bit*/
+	case 0xe65b: /* VPSOP - vector perform sign operation decimal */
+	case 0xe671: /* VAP - vector add decimal */
+	case 0xe673: /* VSP - vector subtract decimal */
+	case 0xe678: /* VMP - vector multiply decimal */
+	case 0xe679: /* VMSP - vector multiply decimal */
+	case 0xe67a: /* VDP - vector divide decimal */
+	case 0xe67b: /* VRP - vector remainder decimal */
+	case 0xe67e: /* VSDP - vector shift and divide decimal */
+	case 0xe74a: /* VFTCI - vector fp test data class immediate */
+	case 0xe75c: /* VISTR - vector isolate string */
+	case 0xe780: /* VFEE - vector find element equal */
+	case 0xe781: /* VFENE - vector find element not equal */
+	case 0xe782: /* VFA - vector find any element equal */
+	case 0xe78a: /* VSTRC - vector string range compare */
+	case 0xe795: /* VPKLS - vector pack logical saturate */
+	case 0xe797: /* VPKS - vector pack saturate */
+	case 0xe7e8: /* VFCE - vector fp compare equal */
+	case 0xe7ea: /* VFCHE - vector fp compare high or equal */
+	case 0xe7eb: /* VFCH - vector fp compare high */
+	case 0xe7f8: /* VCEQ - vector compare equal */
+	case 0xe7f9: /* VCHL - vector compare high logical */
+	case 0xe7fb: /* VCH - vector compare high */
+	  /* vector destination + flags + FPC */
+	  if (s390_record_vr (gdbarch, regcache, ivec[0]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xe65f: /* VTP - vector test decimal */
+	  /* flags + FPC */
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe74b-0xe74c undefined */
+	/* 0xe74e-0xe74f undefined */
+	/* 0xe751 undefined */
+	/* 0xe754-0xe755 undefined */
+	/* 0xe757-0xe75b undefined */
+	/* 0xe75d-0xe75e undefined */
+	/* 0xe763 undefined */
+	/* 0xe771 undefined */
+	/* 0xe776 undefined */
+	/* 0xe779 undefined */
+	/* 0xe77b undefined */
+	/* 0xe783 undefined */
+	/* 0xe786-0xe789 undefined */
+	/* 0xe78b undefined */
+	/* 0xe790-0xe793 undefined */
+	/* 0xe796 undefined */
+	/* 0xe798-0xe79d undefined */
+	/* 0xe7a0 undefined */
+	/* 0xe7a8 undefined */
+	/* 0xe7b0-0xe7b3 undefined */
+	/* 0xe7b5-0xe7b7 undefined */
+	/* 0xe7ba undefined */
+	/* 0xe7be undefined */
+	/* 0xe7c6 undefined */
+	/* 0xe7c8-0xe7c9 undefined */
+
+	case 0xe677: /* VCP - vector compare decimal */
+	case 0xe7ca: /* WFK - vector fp compare and signal scalar */
+	case 0xe7cb: /* WFC - vector fp compare scalar */
+	case 0xe7d8: /* VTM - vector test under mask */
+	case 0xe7d9: /* VECL - vector element compare logical */
+	case 0xe7db: /* VEC - vector element compare */
+	case 0xed08: /* KEB - compare and signal */
+	case 0xed09: /* CEB - compare */
+	case 0xed18: /* KDB - compare and signal */
+	case 0xed19: /* CDB - compare */
+	  /* flags + fpc only */
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe7cd undefined */
+	/* 0xe7cf-0xe7d3 undefined */
+	/* 0xe7da undefined */
+	/* 0xe7dc-0xe7dd undefined */
+	/* 0xe7e0-0xe7e1 undefined */
+	/* 0xe7e4 undefined */
+	/* 0xe7e6 undefined */
+	/* 0xe7e9 undefined */
+	/* 0xe7ec-0xe7ed undefined */
+	/* 0xe7f4 undefined */
+	/* 0xe7f6 undefined */
+	/* 0xe7fa undefined */
+
+	/* 0xeb00-0xeb03 undefined */
+
+	case 0xeb04: /* LMG - load multiple */
+	  for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
+	    if (s390_record_gpr_g (gdbarch, regcache, i))
+	      return -1;
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[3]))
+	    return -1;
+	  break;
+
+	/* 0xeb05-0xeb09 undefined */
+	/* 0xeb0e undefined */
+	/* 0xeb0f privileged: TRACG */
+	/* 0xeb10-0xeb13 undefined */
+
+	case 0xeb14: /* CSY - compare and swap */
+	case 0xebf4: /* LAN - load and and */
+	case 0xebf6: /* LAO - load and or */
+	case 0xebf7: /* LAX - load and xor */
+	case 0xebf8: /* LAA - load and add */
+	case 0xebfa: /* LAAL - load and add logical */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 4))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xeb15-0xeb1b undefined */
+	/* 0xeb1e-0xeb1f undefined */
+	/* 0xeb22 undefined */
+
+	case 0xeb23: /* CLT - compare logical and trap */
+	case 0xeb2b: /* CLGT - compare logical and trap */
+	  /* fpc only - including possible DXC write for trapping insns */
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xeb24: /* STMG - store multiple */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
+	  if (inib[2] <= inib[3])
+	    n = inib[3] - inib[2] + 1;
+	  else
+	    n = inib[3] + 0x10 - inib[2] + 1;
+	  if (record_full_arch_list_add_mem (oaddr, n * 8))
+	    return -1;
+	  break;
+
+	/* 0xeb25 privileged */
+
+	case 0xeb26: /* STMH - store multiple high */
+	case 0xeb90: /* STMY - store multiple */
+	case 0xeb9b: /* STAMY - store access multiple */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
+	  if (inib[2] <= inib[3])
+	    n = inib[3] - inib[2] + 1;
+	  else
+	    n = inib[3] + 0x10 - inib[2] + 1;
+	  if (record_full_arch_list_add_mem (oaddr, n * 4))
+	    return -1;
+	  break;
+
+	/* 0xeb27-0xeb2a undefined */
+
+	case 0xeb2c: /* STCMH - store characters under mask */
+	case 0xeb2d: /* STCMY - store characters under mask */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, s390_popcnt (inib[3])))
+	    return -1;
+	  break;
+
+	/* 0xeb2e undefined */
+	/* 0xeb2f privileged */
+
+	case 0xeb30: /* CSG - compare and swap */
+	case 0xebe4: /* LANG - load and and */
+	case 0xebe6: /* LAOG - load and or */
+	case 0xebe7: /* LAXG - load and xor */
+	case 0xebe8: /* LAAG - load and add */
+	case 0xebea: /* LAALG - load and add logical */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 8))
+	    return -1;
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xeb31: /* CDSY - compare double and swap */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 8))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xeb32-0xeb3d undefined */
+
+	case 0xeb3e: /* CDSG - compare double and swap */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 16))
+	    return -1;
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2] | 1))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xeb3f-0xeb43 undefined */
+	/* 0xeb46-0xeb4b undefined */
+	/* 0xeb4d-0xeb50 undefined */
+
+	case 0xeb52: /* MVIY - move */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 1))
+	    return -1;
+	  break;
+
+	case 0xeb54: /* NIY - and */
+	case 0xeb56: /* OIY - or */
+	case 0xeb57: /* XIY - xor */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 1))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xeb53 undefined */
+	/* 0xeb58-0xeb69 undefined */
+
+	case 0xeb6a: /* ASI - add immediate */
+	case 0xeb6e: /* ALSI - add immediate */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 4))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xeb6b-0xeb6d undefined */
+	/* 0xeb6f-0xeb79 undefined */
+
+	case 0xeb7a: /* AGSI - add immediate */
+	case 0xeb7e: /* ALGSI - add immediate */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], ibyte[4]);
+	  if (record_full_arch_list_add_mem (oaddr, 8))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xeb7b-0xeb7d undefined */
+	/* 0xeb7f undefined */
+
+	case 0xeb80: /* ICMH - insert characters under mask */
+	  /* 32-bit high gpr destination + flags */
+	  if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xeb82-0xeb8d undefined */
+
+	case 0xeb8e: /* MVCLU - move long unicode [partial] */
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + inib[2], &tmp);
+	  oaddr = s390_record_address_mask (gdbarch, regcache, tmp);
+	  regcache_raw_read_unsigned (regcache, S390_R0_REGNUM + (inib[2] | 1), &tmp);
+	  if (record_full_arch_list_add_mem (oaddr, tmp))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[3] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xeb8f: /* CLCLU - compare logical long unicode [partial] */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[2] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + (inib[3] | 1)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xeb91-0xeb95 undefined */
+
+	case 0xeb96: /* LMH - load multiple high */
+	  for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
+	    if (s390_record_gpr_h (gdbarch, regcache, i))
+	      return -1;
+	  if (s390_record_gpr_h (gdbarch, regcache, inib[3]))
+	    return -1;
+	  break;
+
+	/* 0xeb97 undefined */
+
+	case 0xeb98: /* LMY - load multiple */
+	  for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
+	    if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + i))
+	      return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
+	    return -1;
+	  break;
+
+	/* 0xeb99 undefined */
+
+	case 0xeb9a: /* LAMY - load access multiple */
+	  for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
+	    if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + i))
+	      return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_A0_REGNUM + inib[3]))
+	    return -1;
+	  break;
+
+	/* 0xeb9c-0xebbf undefined */
+	/* 0xebc1-0xebdb undefined */
+	/* 0xebe5 undefined */
+	/* 0xebe9 undefined */
+	/* 0xebeb-0xebf1 undefined */
+	/* 0xebf5 undefined */
+	/* 0xebf9 undefined */
+	/* 0xebfb-0xebff undefined */
+
+	/* 0xed00-0xed03 undefined */
+
+	case 0xed04: /* LDEB - load lengthened */
+	case 0xed0c: /* MDEB - multiply */
+	case 0xed0d: /* DEB - divide */
+	case 0xed14: /* SQEB - square root */
+	case 0xed15: /* SQDB - square root */
+	case 0xed17: /* MEEB - multiply */
+	case 0xed1c: /* MDB - multiply */
+	case 0xed1d: /* DDB - divide */
+	  /* float destination + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xed05: /* LXDB - load lengthened */
+	case 0xed06: /* LXEB - load lengthened */
+	case 0xed07: /* MXDB - multiply */
+	  /* float pair destination + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[2] | 2)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xed0a: /* AEB - add */
+	case 0xed0b: /* SEB - subtract */
+	case 0xed1a: /* ADB - add */
+	case 0xed1b: /* SDB - subtract */
+	  /* float destination + flags + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	case 0xed0e: /* MAEB - multiply and add */
+	case 0xed0f: /* MSEB - multiply and subtract */
+	case 0xed1e: /* MADB - multiply and add */
+	case 0xed1f: /* MSDB - multiply and subtract */
+	case 0xed40: /* SLDT - shift significand left */
+	case 0xed41: /* SRDT - shift significand right */
+	case 0xedaa: /* CDZT - convert from zoned */
+	case 0xedae: /* CDPT - convert from packed */
+	  /* float destination [RXF] + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[8]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xed13 undefined */
+	/* 0xed16 undefined */
+	/* 0xed20-0xed23 undefined */
+
+	case 0xed24: /* LDE - load lengthened */
+	case 0xed34: /* SQE - square root */
+	case 0xed35: /* SQD - square root */
+	case 0xed37: /* MEE - multiply */
+	case 0xed64: /* LEY - load */
+	case 0xed65: /* LDY - load */
+	  /* float destination */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
+	    return -1;
+	  break;
+
+	case 0xed25: /* LXD - load lengthened */
+	case 0xed26: /* LXE - load lengthened */
+	  /* float pair destination */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[2] | 2)))
+	    return -1;
+	  break;
+
+	/* 0xed27-0xed2d undefined */
+
+	case 0xed2e: /* MAE - multiply and add */
+	case 0xed2f: /* MSE - multiply and subtract */
+	case 0xed38: /* MAYL - multiply and add unnormalized */
+	case 0xed39: /* MYL - multiply unnormalized */
+	case 0xed3c: /* MAYH - multiply and add unnormalized */
+	case 0xed3d: /* MYH - multiply unnormalized */
+	case 0xed3e: /* MAD - multiply and add */
+	case 0xed3f: /* MSD - multiply and subtract */
+	  /* float destination [RXF] */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[8]))
+	    return -1;
+	  break;
+
+	/* 0xed30-0xed33 undefined */
+	/* 0xed36 undefined */
+
+	case 0xed3a: /* MAY - multiply and add unnormalized */
+	case 0xed3b: /* MY - multiply unnormalized */
+	  /* float pair destination [RXF] */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[8]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[8] | 2)))
+	    return -1;
+	  break;
+
+	/* 0xed42-0xed47 undefind */
+
+	case 0xed48: /* SLXT - shift significand left */
+	case 0xed49: /* SRXT - shift significand right */
+	case 0xedab: /* CXZT - convert from zoned */
+	case 0xedaf: /* CXPT - convert from packed */
+	  /* float pair destination [RXF] + fpc */
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + inib[8]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_F0_REGNUM + (inib[8] | 2)))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xed4a-0xed4f undefind */
+	/* 0xed52-0xed53 undefind */
+	/* 0xed56-0xed57 undefind */
+	/* 0xed5a-0xed63 undefind */
+	/* 0xed68-0xeda7 undefined */
+
+	case 0xeda8: /* CZDT - convert to zoned */
+	case 0xeda9: /* CZXT - convert to zoned */
+	case 0xedac: /* CPDT - convert to packed */
+	case 0xedad: /* CPXT - convert to packed */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, ibyte[1] + 1))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xedb0-0xedff undefined */
+
+	default:
+	  goto UNKNOWN_OP;
+	}
+      break;
+
+    /* 0xe4 undefined */
+
+    case 0xe5:
+      /* SSE/SIL-format instruction */
+      switch (insn[0])
+	{
+	/* 0xe500-0xe543 undefined, privileged, or unsupported */
+
+	case 0xe544: /* MVHHI - move */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, 2))
+	    return -1;
+	  break;
+
+	/* 0xe545-0xe547 undefined */
+
+	case 0xe548: /* MVGHI - move */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, 8))
+	    return -1;
+	  break;
+
+	/* 0xe549-0xe54b undefined */
+
+	case 0xe54c: /* MVHI - move */
+	  oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	  if (record_full_arch_list_add_mem (oaddr, 4))
+	    return -1;
+	  break;
+
+	/* 0xe54d-0xe553 undefined */
+
+	case 0xe554: /* CHHSI - compare halfword immediate */
+	case 0xe555: /* CLHHSI - compare logical immediate */
+	case 0xe558: /* CGHSI - compare halfword immediate */
+	case 0xe559: /* CLGHSI - compare logical immediate */
+	case 0xe55c: /* CHSI - compare halfword immediate */
+	case 0xe55d: /* CLFHSI - compare logical immediate */
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe556-0xe557 undefined */
+	/* 0xe55a-0xe55b undefined */
+	/* 0xe55e-0xe55f undefined */
+
+	case 0xe560: /* TBEGIN - transaction begin */
+	  /* The transaction will be immediately aborted after this
+	     instruction, due to single-stepping.  This instruction is
+	     only supported so that the program can fail a few times
+	     and go to the non-transactional fallback.  */
+	  if (inib[4])
+	    {
+	      /* Transaction diagnostic block - user.  */
+	      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+	      if (record_full_arch_list_add_mem (oaddr, 256))
+		return -1;
+	    }
+	  /* Transaction diagnostic block - supervisor.  */
+	  if (record_full_arch_list_add_reg (regcache, S390_TDB_DWORD0_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_TDB_ABORT_CODE_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_TDB_CONFLICT_TOKEN_REGNUM))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_TDB_ATIA_REGNUM))
+	    return -1;
+	  for (i = 0; i < 16; i++)
+	    if (record_full_arch_list_add_reg (regcache, S390_TDB_R0_REGNUM + i))
+	      return -1;
+	  /* And flags.  */
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xe561 unsupported: TBEGINC */
+	/* 0xe562-0xe5ff undefined */
+
+	default:
+	  goto UNKNOWN_OP;
+	}
+      break;
+
+    case 0xec:
+      /* RIE/RIS/RRS-format instruction */
+      switch (ibyte[0] << 8 | ibyte[5])
+	{
+	/* 0xec00-0xec41 undefined */
+
+	case 0xec42: /* LOCHI - load halfword immediate on condition */
+	case 0xec51: /* RISBLG - rotate then insert selected bits low */
+	  /* 32-bit or native gpr destination */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  break;
+
+	/* 0xec43 undefined */
+
+	case 0xec44: /* BRXHG - branch relative on index high */
+	case 0xec45: /* BRXLG - branch relative on index low or equal */
+	case 0xec46: /* LOCGHI - load halfword immediate on condition */
+	case 0xec59: /* RISBGN - rotate then insert selected bits */
+	  /* 64-bit gpr destination */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  break;
+
+	/* 0xec47-0xec4d undefined */
+
+	case 0xec4e: /* LOCHHI - load halfword immediate on condition */
+	case 0xec5d: /* RISBHG - rotate then insert selected bits high */
+	  /* 32-bit high gpr destination */
+	  if (s390_record_gpr_h (gdbarch, regcache, inib[2]))
+	    return -1;
+	  break;
+
+	/* 0xec4f-0xec50 undefined */
+	/* 0xec52-0xec53 undefined */
+
+	case 0xec54: /* RNSBG - rotate then and selected bits */
+	case 0xec55: /* RISBG - rotate then insert selected bits */
+	case 0xec56: /* ROSBG - rotate then or selected bits */
+	case 0xec57: /* RXSBG - rotate then xor selected bits */
+	case 0xecd9: /* AGHIK - add immediate */
+	case 0xecdb: /* ALGHSIK - add logical immediate */
+	  /* 64-bit gpr destination + flags */
+	  if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xec58 undefined */
+	/* 0xec5a-0xec5c undefined */
+	/* 0xec5e-0xec63 undefined */
+
+	case 0xec64: /* CGRJ - compare and branch relative */
+	case 0xec65: /* CLGRJ - compare logical and branch relative */
+	case 0xec76: /* CRJ - compare and branch relative */
+	case 0xec77: /* CLRJ - compare logical and branch relative */
+	case 0xec7c: /* CGIJ - compare immediate and branch relative */
+	case 0xec7d: /* CLGIJ - compare logical immediate and branch relative */
+	case 0xec7e: /* CIJ - compare immediate and branch relative */
+	case 0xec7f: /* CLIJ - compare logical immediate and branch relative */
+	case 0xece4: /* CGRB - compare and branch */
+	case 0xece5: /* CLGRB - compare logical and branch */
+	case 0xecf6: /* CRB - compare and branch */
+	case 0xecf7: /* CLRB - compare logical and branch */
+	case 0xecfc: /* CGIB - compare immediate and branch */
+	case 0xecfd: /* CLGIB - compare logical immediate and branch */
+	case 0xecfe: /* CIB - compare immediate and branch */
+	case 0xecff: /* CLIB - compare logical immediate and branch */
+	  break;
+
+	/* 0xec66-0xec6f undefined */
+
+	case 0xec70: /* CGIT - compare immediate and trap */
+	case 0xec71: /* CLGIT - compare logical immediate and trap */
+	case 0xec72: /* CIT - compare immediate and trap */
+	case 0xec73: /* CLFIT - compare logical immediate and trap */
+	  /* fpc only - including possible DXC write for trapping insns */
+	  if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xec74-0xec75 undefined */
+	/* 0xec78-0xec7b undefined */
+
+	/* 0xec80-0xecd7 undefined */
+
+	case 0xecd8: /* AHIK - add immediate */
+	case 0xecda: /* ALHSIK - add logical immediate */
+	  /* 32-bit gpr destination + flags */
+	  if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+	    return -1;
+	  if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	    return -1;
+	  break;
+
+	/* 0xecdc-0xece3 undefined */
+	/* 0xece6-0xecf5 undefined */
+	/* 0xecf8-0xecfb undefined */
+
+	default:
+	  goto UNKNOWN_OP;
+	}
+      break;
+
+    case 0xee: /* PLO - perform locked operation */
+      regcache_raw_read_unsigned (regcache, S390_R0_REGNUM, &tmp);
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      oaddr2 = s390_record_calc_disp (gdbarch, regcache, 0, insn[2], 0);
+      if (!(tmp & 0x100))
+	{
+	  uint8_t fc = tmp & 0xff;
+	  gdb_byte buf[8];
+	  switch (fc)
+	    {
+	    case 0x00: /* CL */
+	      /* op1c */
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+		return -1;
+	      /* op3 */
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
+		return -1;
+	      break;
+
+	    case 0x01: /* CLG */
+	      /* op1c */
+	      if (record_full_arch_list_add_mem (oaddr2 + 0x08, 8))
+		return -1;
+	      /* op3 */
+	      if (record_full_arch_list_add_mem (oaddr2 + 0x28, 8))
+		return -1;
+	      break;
+
+	    case 0x02: /* CLGR */
+	      /* op1c */
+	      if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+		return -1;
+	      /* op3 */
+	      if (s390_record_gpr_g (gdbarch, regcache, inib[3]))
+		return -1;
+	      break;
+
+	    case 0x03: /* CLX */
+	      /* op1c */
+	      if (record_full_arch_list_add_mem (oaddr2 + 0x00, 16))
+		return -1;
+	      /* op3 */
+	      if (record_full_arch_list_add_mem (oaddr2 + 0x20, 16))
+		return -1;
+	      break;
+
+	    case 0x08: /* DCS */
+	      /* op3c */
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[3]))
+		return -1;
+	      /* fallthru */
+	    case 0x0c: /* CSST */
+	      /* op4 */
+	      if (record_full_arch_list_add_mem (oaddr2, 4))
+		return -1;
+	      goto CS;
+
+	    case 0x14: /* CSTST */
+	      /* op8 */
+	      if (target_read_memory (oaddr2 + 0x88, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 4))
+		return -1;
+	      /* fallthru */
+	    case 0x10: /* CSDST */
+	      /* op6 */
+	      if (target_read_memory (oaddr2 + 0x68, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 4))
+		return -1;
+	      /* op4 */
+	      if (target_read_memory (oaddr2 + 0x48, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 4))
+		return -1;
+	      /* fallthru */
+	    case 0x04: /* CS */
+CS:
+	      /* op1c */
+	      if (record_full_arch_list_add_reg (regcache, S390_R0_REGNUM + inib[2]))
+		return -1;
+	      /* op2 */
+	      if (record_full_arch_list_add_mem (oaddr, 4))
+		return -1;
+	      break;
+
+	    case 0x09: /* DCSG */
+	      /* op3c */
+	      if (record_full_arch_list_add_mem (oaddr2 + 0x28, 8))
+		return -1;
+	      goto CSSTG;
+
+	    case 0x15: /* CSTSTG */
+	      /* op8 */
+	      if (target_read_memory (oaddr2 + 0x88, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 8))
+		return -1;
+	      /* fallthru */
+	    case 0x11: /* CSDSTG */
+	      /* op6 */
+	      if (target_read_memory (oaddr2 + 0x68, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 8))
+		return -1;
+	      /* fallthru */
+	    case 0x0d: /* CSSTG */
+CSSTG:
+	      /* op4 */
+	      if (target_read_memory (oaddr2 + 0x48, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 8))
+		return -1;
+	      /* fallthru */
+	    case 0x05: /* CSG */
+	      /* op1c */
+	      if (record_full_arch_list_add_mem (oaddr2 + 0x08, 8))
+		return -1;
+	      /* op2 */
+	      if (record_full_arch_list_add_mem (oaddr, 8))
+		return -1;
+	      break;
+
+	    case 0x0a: /* DCSGR */
+	      /* op3c */
+	      if (s390_record_gpr_g (gdbarch, regcache, inib[3]))
+		return -1;
+	      /* fallthru */
+	    case 0x0e: /* CSSTGR */
+	      /* op4 */
+	      if (record_full_arch_list_add_mem (oaddr2, 8))
+		return -1;
+	      goto CSGR;
+
+	    case 0x16: /* CSTSTGR */
+	      /* op8 */
+	      if (target_read_memory (oaddr2 + 0x88, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 8))
+		return -1;
+	      /* fallthru */
+	    case 0x12: /* CSDSTGR */
+	      /* op6 */
+	      if (target_read_memory (oaddr2 + 0x68, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 8))
+		return -1;
+	      /* op4 */
+	      if (target_read_memory (oaddr2 + 0x48, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 8))
+		return -1;
+	      /* fallthru */
+	    case 0x06: /* CSGR */
+CSGR:
+	      /* op1c */
+	      if (s390_record_gpr_g (gdbarch, regcache, inib[2]))
+		return -1;
+	      /* op2 */
+	      if (record_full_arch_list_add_mem (oaddr, 8))
+		return -1;
+	      break;
+
+	    case 0x0b: /* DCSX */
+	      /* op3c */
+	      if (record_full_arch_list_add_mem (oaddr2 + 0x20, 16))
+		return -1;
+	      goto CSSTX;
+
+	    case 0x17: /* CSTSTX */
+	      /* op8 */
+	      if (target_read_memory (oaddr2 + 0x88, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 16))
+		return -1;
+	      /* fallthru */
+	    case 0x13: /* CSDSTX */
+	      /* op6 */
+	      if (target_read_memory (oaddr2 + 0x68, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 16))
+		return -1;
+	      /* fallthru */
+	    case 0x0f: /* CSSTX */
+CSSTX:
+	      /* op4 */
+	      if (target_read_memory (oaddr2 + 0x48, buf, 8))
+		return -1;
+	      oaddr3 = extract_unsigned_integer (buf, 8, byte_order);
+	      oaddr3 = s390_record_address_mask (gdbarch, regcache, oaddr3);
+	      if (record_full_arch_list_add_mem (oaddr3, 16))
+		return -1;
+	      /* fallthru */
+	    case 0x07: /* CSX */
+	      /* op1c */
+	      if (record_full_arch_list_add_mem (oaddr2 + 0x00, 16))
+		return -1;
+	      /* op2 */
+	      if (record_full_arch_list_add_mem (oaddr, 16))
+		return -1;
+	      break;
+
+	    default:
+	      fprintf_unfiltered (gdb_stdlog, "Warning: Unknown PLO FC %02x at %s.\n",
+				  fc, paddress (gdbarch, addr));
+	      return -1;
+	    }
+	}
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      break;
+
+    case 0xef: /* LMD - load multiple disjoint */
+      for (i = inib[2]; i != inib[3]; i++, i &= 0xf)
+	if (s390_record_gpr_g (gdbarch, regcache, i))
+	  return -1;
+      if (s390_record_gpr_g (gdbarch, regcache, inib[3]))
+	return -1;
+      break;
+
+    case 0xf0: /* SRP - shift and round decimal */
+    case 0xf8: /* ZAP - zero and add */
+    case 0xfa: /* AP - add decimal */
+    case 0xfb: /* SP - subtract decimal */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, inib[2] + 1))
+	return -1;
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      /* DXC may be written */
+      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	return -1;
+      break;
+
+    case 0xf1: /* MVO - move with offset */
+    case 0xf2: /* PACK - pack */
+    case 0xf3: /* UNPK - unpack */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, inib[2] + 1))
+	return -1;
+      break;
+
+    /* 0xf4-0xf7 undefined */
+
+    case 0xf9: /* CP - compare decimal */
+      if (record_full_arch_list_add_reg (regcache, S390_PSWM_REGNUM))
+	return -1;
+      /* DXC may be written */
+      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	return -1;
+      break;
+
+    case 0xfc: /* MP - multiply decimal */
+    case 0xfd: /* DP - divide decimal */
+      oaddr = s390_record_calc_disp (gdbarch, regcache, 0, insn[1], 0);
+      if (record_full_arch_list_add_mem (oaddr, inib[2] + 1))
+	return -1;
+      /* DXC may be written */
+      if (record_full_arch_list_add_reg (regcache, S390_FPC_REGNUM))
+	return -1;
+      break;
+
+    /* 0xfe-0xff undefined */
+
+    default:
+UNKNOWN_OP:
+      fprintf_unfiltered (gdb_stdlog, "Warning: Don't know how to record %04x "
+			  "at %s.\n", insn[0], paddress (gdbarch, addr));
+      return -1;
+  }
+
+  if (record_full_arch_list_add_reg (regcache, S390_PSWA_REGNUM))
+    return -1;
+  if (record_full_arch_list_add_end ())
+    return -1;
+  return 0;
+}
+
+/* Miscellaneous.  */
+
+/* Implement gdbarch_gcc_target_options.  GCC does not know "-m32" or
+   "-mcmodel=large".  */
+
+static char *
+s390_gcc_target_options (struct gdbarch *gdbarch)
+{
+  return xstrdup (gdbarch_ptr_bit (gdbarch) == 64 ? "-m64" : "-m31");
+}
+
+/* Implement gdbarch_gnu_triplet_regexp.  Target triplets are "s390-*"
+   for 31-bit and "s390x-*" for 64-bit, while the BFD arch name is
+   always "s390".  Note that an s390x compiler supports "-m31" as
+   well.  */
+
+static const char *
+s390_gnu_triplet_regexp (struct gdbarch *gdbarch)
+{
+  return "s390x?";
+}
+
+/* Implementation of `gdbarch_stap_is_single_operand', as defined in
+   gdbarch.h.  */
+
+static int
+s390_stap_is_single_operand (struct gdbarch *gdbarch, const char *s)
+{
+  return ((isdigit (*s) && s[1] == '(' && s[2] == '%') /* Displacement
+							  or indirection.  */
+	  || *s == '%' /* Register access.  */
+	  || isdigit (*s)); /* Literal number.  */
+}
+
+/* gdbarch init.  */
+
+/* Validate the range of registers.  NAMES must be known at compile time.  */
+
+#define s390_validate_reg_range(feature, tdesc_data, start, names)	\
+do									\
+{									\
+  for (int i = 0; i < ARRAY_SIZE (names); i++)				\
+    if (!tdesc_numbered_register (feature, tdesc_data, start + i, names[i])) \
+      return false;							\
+}									\
+while (0)
+
+/* Validate the target description.  Also numbers registers contained in
+   tdesc.  */
+
+static bool
+s390_tdesc_valid (struct gdbarch_tdep *tdep,
+		  struct tdesc_arch_data *tdesc_data)
+{
+  static const char *const psw[] = {
+    "pswm", "pswa"
+  };
+  static const char *const gprs[] = {
+    "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
+    "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15"
+  };
+  static const char *const fprs[] = {
+    "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
+    "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15"
+  };
+  static const char *const acrs[] = {
+    "acr0", "acr1", "acr2", "acr3", "acr4", "acr5", "acr6", "acr7",
+    "acr8", "acr9", "acr10", "acr11", "acr12", "acr13", "acr14", "acr15"
+  };
+  static const char *const gprs_lower[] = {
+    "r0l", "r1l", "r2l", "r3l", "r4l", "r5l", "r6l", "r7l",
+    "r8l", "r9l", "r10l", "r11l", "r12l", "r13l", "r14l", "r15l"
+  };
+  static const char *const gprs_upper[] = {
+    "r0h", "r1h", "r2h", "r3h", "r4h", "r5h", "r6h", "r7h",
+    "r8h", "r9h", "r10h", "r11h", "r12h", "r13h", "r14h", "r15h"
+  };
+  static const char *const tdb_regs[] = {
+    "tdb0", "tac", "tct", "atia",
+    "tr0", "tr1", "tr2", "tr3", "tr4", "tr5", "tr6", "tr7",
+    "tr8", "tr9", "tr10", "tr11", "tr12", "tr13", "tr14", "tr15"
+  };
+  static const char *const vxrs_low[] = {
+    "v0l", "v1l", "v2l", "v3l", "v4l", "v5l", "v6l", "v7l", "v8l",
+    "v9l", "v10l", "v11l", "v12l", "v13l", "v14l", "v15l",
+  };
+  static const char *const vxrs_high[] = {
+    "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", "v24",
+    "v25", "v26", "v27", "v28", "v29", "v30", "v31",
+  };
+  static const char *const gs_cb[] = {
+    "gsd", "gssm", "gsepla",
+  };
+  static const char *const gs_bc[] = {
+    "bc_gsd", "bc_gssm", "bc_gsepla",
+  };
+
+  const struct target_desc *tdesc = tdep->tdesc;
+  const struct tdesc_feature *feature;
+
+  if (!tdesc_has_registers (tdesc))
+    return false;
+
+  /* Core registers, i.e. general purpose and PSW.  */
+  feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.core");
+  if (feature == NULL)
+    return false;
+
+  s390_validate_reg_range (feature, tdesc_data, S390_PSWM_REGNUM, psw);
+
+  if (tdesc_unnumbered_register (feature, "r0"))
+    {
+      s390_validate_reg_range (feature, tdesc_data, S390_R0_REGNUM, gprs);
+    }
+  else
+    {
+      tdep->have_upper = true;
+      s390_validate_reg_range (feature, tdesc_data, S390_R0_REGNUM,
+			       gprs_lower);
+      s390_validate_reg_range (feature, tdesc_data, S390_R0_UPPER_REGNUM,
+			       gprs_upper);
+    }
+
+  /* Floating point registers.  */
+  feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.fpr");
+  if (feature == NULL)
+    return false;
+
+  if (!tdesc_numbered_register (feature, tdesc_data, S390_FPC_REGNUM, "fpc"))
+    return false;
+
+  s390_validate_reg_range (feature, tdesc_data, S390_F0_REGNUM, fprs);
+
+  /* Access control registers.  */
+  feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.acr");
+  if (feature == NULL)
+    return false;
+
+  s390_validate_reg_range (feature, tdesc_data, S390_A0_REGNUM, acrs);
+
+  /* Optional GNU/Linux-specific "registers".  */
+  feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.linux");
+  if (feature)
+    {
+      tdesc_numbered_register (feature, tdesc_data,
+			       S390_ORIG_R2_REGNUM, "orig_r2");
+
+      if (tdesc_numbered_register (feature, tdesc_data,
+				   S390_LAST_BREAK_REGNUM, "last_break"))
+	tdep->have_linux_v1 = true;
+
+      if (tdesc_numbered_register (feature, tdesc_data,
+				   S390_SYSTEM_CALL_REGNUM, "system_call"))
+	tdep->have_linux_v2 = true;
+
+      if (tdep->have_linux_v2 && !tdep->have_linux_v1)
+	return false;
+    }
+
+  /* Transaction diagnostic block.  */
+  feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.tdb");
+  if (feature)
+    {
+      s390_validate_reg_range (feature, tdesc_data, S390_TDB_DWORD0_REGNUM,
+			       tdb_regs);
+      tdep->have_tdb = true;
+    }
+
+  /* Vector registers.  */
+  feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.vx");
+  if (feature)
+    {
+      s390_validate_reg_range (feature, tdesc_data, S390_V0_LOWER_REGNUM,
+			       vxrs_low);
+      s390_validate_reg_range (feature, tdesc_data, S390_V16_REGNUM,
+			       vxrs_high);
+      tdep->have_vx = true;
+    }
+
+  /* Guarded-storage registers.  */
+  feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.gs");
+  if (feature)
+    {
+      s390_validate_reg_range (feature, tdesc_data, S390_GSD_REGNUM, gs_cb);
+      tdep->have_gs = true;
+    }
+
+  /* Guarded-storage broadcast control.  */
+  feature = tdesc_find_feature (tdesc, "org.gnu.gdb.s390.gsbc");
+  if (feature)
+    {
+      if (!tdep->have_gs)
+	return false;
+      s390_validate_reg_range (feature, tdesc_data, S390_BC_GSD_REGNUM,
+			       gs_bc);
+    }
+
+  return true;
+}
+
+/* Allocate and initialize new gdbarch_tdep.  Caller is responsible to free
+   memory after use.  */
+
+static struct gdbarch_tdep *
+s390_gdbarch_tdep_alloc ()
+{
+  struct gdbarch_tdep *tdep = XCNEW (struct gdbarch_tdep);
+
+  tdep->tdesc = NULL;
+
+  tdep->abi = ABI_NONE;
+  tdep->vector_abi = S390_VECTOR_ABI_NONE;
+
+  tdep->gpr_full_regnum = -1;
+  tdep->v0_full_regnum = -1;
+  tdep->pc_regnum = -1;
+  tdep->cc_regnum = -1;
+
+  tdep->have_upper = false;
+  tdep->have_linux_v1 = false;
+  tdep->have_linux_v2 = false;
+  tdep->have_tdb = false;
+  tdep->have_vx = false;
+  tdep->have_gs = false;
+
+  tdep->s390_syscall_record = NULL;
+
+  return tdep;
+}
+
+/* Set up gdbarch struct.  */
+
+static struct gdbarch *
+s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+{
+  const struct target_desc *tdesc = info.target_desc;
+  int first_pseudo_reg, last_pseudo_reg;
+  static const char *const stap_register_prefixes[] = { "%", NULL };
+  static const char *const stap_register_indirection_prefixes[] = { "(",
+								    NULL };
+  static const char *const stap_register_indirection_suffixes[] = { ")",
+								    NULL };
+
+  struct gdbarch_tdep *tdep = s390_gdbarch_tdep_alloc ();
+  struct gdbarch *gdbarch = gdbarch_alloc (&info, tdep);
+  struct tdesc_arch_data *tdesc_data = tdesc_data_alloc ();
+  info.tdesc_data = tdesc_data;
+
+  set_gdbarch_believe_pcc_promotion (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, 0);
+
+  /* S/390 GNU/Linux uses either 64-bit or 128-bit long doubles.
+     We can safely let them default to 128-bit, since the debug info
+     will give the size of type actually used in each case.  */
+  set_gdbarch_long_double_bit (gdbarch, 128);
+  set_gdbarch_long_double_format (gdbarch, floatformats_ia64_quad);
+
+  /* Breakpoints.  */
+  /* Amount PC must be decremented by after a breakpoint.  This is
+     often the number of bytes returned by gdbarch_breakpoint_from_pc but not
+     always.  */
+  set_gdbarch_decr_pc_after_break (gdbarch, 2);
+  set_gdbarch_breakpoint_kind_from_pc (gdbarch, s390_breakpoint::kind_from_pc);
+  set_gdbarch_sw_breakpoint_from_kind (gdbarch, s390_breakpoint::bp_from_kind);
+
+  /* Displaced stepping.  */
+  set_gdbarch_displaced_step_copy_insn (gdbarch,
+					s390_displaced_step_copy_insn);
+  set_gdbarch_displaced_step_fixup (gdbarch, s390_displaced_step_fixup);
+  set_gdbarch_displaced_step_location (gdbarch, linux_displaced_step_location);
+  set_gdbarch_displaced_step_hw_singlestep (gdbarch, s390_displaced_step_hw_singlestep);
+  set_gdbarch_software_single_step (gdbarch, s390_software_single_step);
+  set_gdbarch_max_insn_length (gdbarch, S390_MAX_INSTR_SIZE);
+
+  /* Prologue analysis.  */
+  set_gdbarch_skip_prologue (gdbarch, s390_skip_prologue);
+
+  /* Register handling.  */
+  set_gdbarch_num_regs (gdbarch, S390_NUM_REGS);
+  set_gdbarch_sp_regnum (gdbarch, S390_SP_REGNUM);
+  set_gdbarch_fp0_regnum (gdbarch, S390_F0_REGNUM);
+  set_gdbarch_guess_tracepoint_registers (gdbarch,
+					  s390_guess_tracepoint_registers);
+  set_gdbarch_stab_reg_to_regnum (gdbarch, s390_dwarf_reg_to_regnum);
+  set_gdbarch_dwarf2_reg_to_regnum (gdbarch, s390_dwarf_reg_to_regnum);
+  set_gdbarch_value_from_register (gdbarch, s390_value_from_register);
+
+  /* Pseudo registers.  */
+  set_gdbarch_pseudo_register_read (gdbarch, s390_pseudo_register_read);
+  set_gdbarch_pseudo_register_write (gdbarch, s390_pseudo_register_write);
+  set_tdesc_pseudo_register_name (gdbarch, s390_pseudo_register_name);
+  set_tdesc_pseudo_register_type (gdbarch, s390_pseudo_register_type);
+  set_tdesc_pseudo_register_reggroup_p (gdbarch,
+					s390_pseudo_register_reggroup_p);
+  set_gdbarch_ax_pseudo_register_collect (gdbarch,
+					  s390_ax_pseudo_register_collect);
+  set_gdbarch_ax_pseudo_register_push_stack
+      (gdbarch, s390_ax_pseudo_register_push_stack);
+  set_gdbarch_gen_return_address (gdbarch, s390_gen_return_address);
+
+  /* Inferior function calls.  */
+  set_gdbarch_push_dummy_call (gdbarch, s390_push_dummy_call);
+  set_gdbarch_dummy_id (gdbarch, s390_dummy_id);
+  set_gdbarch_frame_align (gdbarch, s390_frame_align);
+  set_gdbarch_return_value (gdbarch, s390_return_value);
+
+  /* Frame handling.  */
+  /* Stack grows downward.  */
+  set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
+  set_gdbarch_stack_frame_destroyed_p (gdbarch, s390_stack_frame_destroyed_p);
+  dwarf2_frame_set_init_reg (gdbarch, s390_dwarf2_frame_init_reg);
+  dwarf2_frame_set_adjust_regnum (gdbarch, s390_adjust_frame_regnum);
+  dwarf2_append_unwinders (gdbarch);
+  set_gdbarch_unwind_pc (gdbarch, s390_unwind_pc);
+  set_gdbarch_unwind_sp (gdbarch, s390_unwind_sp);
+
+  switch (info.bfd_arch_info->mach)
+    {
+    case bfd_mach_s390_31:
+      set_gdbarch_addr_bits_remove (gdbarch, s390_addr_bits_remove);
+      break;
+
+    case bfd_mach_s390_64:
+      set_gdbarch_long_bit (gdbarch, 64);
+      set_gdbarch_long_long_bit (gdbarch, 64);
+      set_gdbarch_ptr_bit (gdbarch, 64);
+      set_gdbarch_address_class_type_flags (gdbarch,
+					    s390_address_class_type_flags);
+      set_gdbarch_address_class_type_flags_to_name (gdbarch,
+						    s390_address_class_type_flags_to_name);
+      set_gdbarch_address_class_name_to_type_flags (gdbarch,
+						    s390_address_class_name_to_type_flags);
+      break;
+    }
+
+  /* SystemTap functions.  */
+  set_gdbarch_stap_register_prefixes (gdbarch, stap_register_prefixes);
+  set_gdbarch_stap_register_indirection_prefixes (gdbarch,
+					  stap_register_indirection_prefixes);
+  set_gdbarch_stap_register_indirection_suffixes (gdbarch,
+					  stap_register_indirection_suffixes);
+
+  set_gdbarch_disassembler_options (gdbarch, &s390_disassembler_options);
+  set_gdbarch_valid_disassembler_options (gdbarch,
+					  disassembler_options_s390 ());
+
+  /* Process record-replay */
+  set_gdbarch_process_record (gdbarch, s390_process_record);
+
+  /* Miscellaneous.  */
+  set_gdbarch_stap_is_single_operand (gdbarch, s390_stap_is_single_operand);
+  set_gdbarch_gcc_target_options (gdbarch, s390_gcc_target_options);
+  set_gdbarch_gnu_triplet_regexp (gdbarch, s390_gnu_triplet_regexp);
+
+  /* Initialize the OSABI.  */
+  gdbarch_init_osabi (info, gdbarch);
+
+  /* Always create a default tdesc.  Otherwise commands like 'set osabi'
+     cause GDB to crash with an internal error when the user tries to set
+     an unsupported OSABI.  */
+  if (!tdesc_has_registers (tdesc))
+  {
+    if (info.bfd_arch_info->mach == bfd_mach_s390_31)
+      tdesc = tdesc_s390_linux32;
+    else
+      tdesc = tdesc_s390x_linux64;
+  }
+  tdep->tdesc = tdesc;
+
+  /* Check any target description for validity.  */
+  if (!s390_tdesc_valid (tdep, tdesc_data))
+    {
+      tdesc_data_cleanup (tdesc_data);
+      xfree (tdep);
+      gdbarch_free (gdbarch);
+      return NULL;
+    }
+
+  /* Determine vector ABI.  */
+#ifdef HAVE_ELF
+  if (tdep->have_vx
+      && info.abfd != NULL
+      && info.abfd->format == bfd_object
+      && bfd_get_flavour (info.abfd) == bfd_target_elf_flavour
+      && bfd_elf_get_obj_attr_int (info.abfd, OBJ_ATTR_GNU,
+				   Tag_GNU_S390_ABI_Vector) == 2)
+    tdep->vector_abi = S390_VECTOR_ABI_128;
+#endif
+
+  /* Find a candidate among extant architectures.  */
+  for (arches = gdbarch_list_lookup_by_info (arches, &info);
+       arches != NULL;
+       arches = gdbarch_list_lookup_by_info (arches->next, &info))
+    {
+      struct gdbarch_tdep *tmp = gdbarch_tdep (arches->gdbarch);
+      if (!tmp)
+	continue;
+      /* A program can 'choose' not to use the vector registers when they
+	 are present.  Leading to the same tdesc but different tdep and
+	 thereby a different gdbarch.  */
+      if (tmp->vector_abi != tdep->vector_abi)
+	continue;
+
+      tdesc_data_cleanup (tdesc_data);
+      xfree (tdep);
+      gdbarch_free (gdbarch);
+      return arches->gdbarch;
+    }
+
+  tdesc_use_registers (gdbarch, tdep->tdesc, tdesc_data);
+  set_gdbarch_register_name (gdbarch, s390_register_name);
+
+  /* Assign pseudo register numbers.  */
+  first_pseudo_reg = gdbarch_num_regs (gdbarch);
+  last_pseudo_reg = first_pseudo_reg;
+  if (tdep->have_upper)
+    {
+      tdep->gpr_full_regnum = last_pseudo_reg;
+      last_pseudo_reg += 16;
+    }
+  if (tdep->have_vx)
+    {
+      tdep->v0_full_regnum = last_pseudo_reg;
+      last_pseudo_reg += 16;
+    }
+  tdep->pc_regnum = last_pseudo_reg++;
+  tdep->cc_regnum = last_pseudo_reg++;
+  set_gdbarch_pc_regnum (gdbarch, tdep->pc_regnum);
+  set_gdbarch_num_pseudo_regs (gdbarch, last_pseudo_reg - first_pseudo_reg);
+
+  /* Frame handling.  */
+  frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
+  frame_unwind_append_unwinder (gdbarch, &s390_stub_frame_unwind);
+  frame_unwind_append_unwinder (gdbarch, &s390_frame_unwind);
+  frame_base_set_default (gdbarch, &s390_frame_base);
+
+  return gdbarch;
+}
+
+void
+_initialize_s390_tdep (void)
+{
+  /* Hook us into the gdbarch mechanism.  */
+  register_gdbarch_init (bfd_arch_s390, s390_gdbarch_init);
+
+  initialize_tdesc_s390_linux32 ();
+  initialize_tdesc_s390x_linux64 ();
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/s390-tdep.h ./gdb/s390-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/s390-tdep.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/s390-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,321 @@
+/* Target-dependent code for s390.
+
+   Copyright (C) 2003-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef S390_TDEP_H
+#define S390_TDEP_H
+
+#include "prologue-value.h"
+
+enum s390_abi_kind
+{
+  ABI_NONE,
+  ABI_LINUX_S390,
+  ABI_LINUX_ZSERIES
+};
+
+enum s390_vector_abi_kind
+{
+  S390_VECTOR_ABI_NONE,
+  S390_VECTOR_ABI_128
+};
+
+/* The tdep structure.  */
+
+struct gdbarch_tdep
+{
+  /* Target description.  */
+  const struct target_desc *tdesc;
+
+  /* ABI version.  */
+  enum s390_abi_kind abi;
+
+  /* Vector ABI.  */
+  enum s390_vector_abi_kind vector_abi;
+
+  /* Pseudo register numbers.  */
+  int gpr_full_regnum;
+  int pc_regnum;
+  int cc_regnum;
+  int v0_full_regnum;
+
+  bool have_upper;
+  bool have_linux_v1;
+  bool have_linux_v2;
+  bool have_tdb;
+  bool have_vx;
+  bool have_gs;
+
+  /* Hook to record OS specific systemcall.  */
+  int (*s390_syscall_record) (struct regcache *regcache, LONGEST svc_number);
+};
+
+/* Decoding S/390 instructions.  */
+
+/* Named opcode values for the S/390 instructions we recognize.  Some
+   instructions have their opcode split across two fields; those are the
+   op1_* and op2_* enums.  */
+
+enum
+{
+  op1_lhi  = 0xa7,   op2_lhi  = 0x08,
+  op1_lghi = 0xa7,   op2_lghi = 0x09,
+  op1_lgfi = 0xc0,   op2_lgfi = 0x01,
+  op_lr    = 0x18,
+  op_lgr   = 0xb904,
+  op_l     = 0x58,
+  op1_ly   = 0xe3,   op2_ly   = 0x58,
+  op1_lg   = 0xe3,   op2_lg   = 0x04,
+  op_lm    = 0x98,
+  op1_lmy  = 0xeb,   op2_lmy  = 0x98,
+  op1_lmg  = 0xeb,   op2_lmg  = 0x04,
+  op_st    = 0x50,
+  op1_sty  = 0xe3,   op2_sty  = 0x50,
+  op1_stg  = 0xe3,   op2_stg  = 0x24,
+  op_std   = 0x60,
+  op_stm   = 0x90,
+  op1_stmy = 0xeb,   op2_stmy = 0x90,
+  op1_stmg = 0xeb,   op2_stmg = 0x24,
+  op1_aghi = 0xa7,   op2_aghi = 0x0b,
+  op1_ahi  = 0xa7,   op2_ahi  = 0x0a,
+  op1_agfi = 0xc2,   op2_agfi = 0x08,
+  op1_afi  = 0xc2,   op2_afi  = 0x09,
+  op1_algfi= 0xc2,   op2_algfi= 0x0a,
+  op1_alfi = 0xc2,   op2_alfi = 0x0b,
+  op_ar    = 0x1a,
+  op_agr   = 0xb908,
+  op_a     = 0x5a,
+  op1_ay   = 0xe3,   op2_ay   = 0x5a,
+  op1_ag   = 0xe3,   op2_ag   = 0x08,
+  op1_slgfi= 0xc2,   op2_slgfi= 0x04,
+  op1_slfi = 0xc2,   op2_slfi = 0x05,
+  op_sr    = 0x1b,
+  op_sgr   = 0xb909,
+  op_s     = 0x5b,
+  op1_sy   = 0xe3,   op2_sy   = 0x5b,
+  op1_sg   = 0xe3,   op2_sg   = 0x09,
+  op_nr    = 0x14,
+  op_ngr   = 0xb980,
+  op_la    = 0x41,
+  op1_lay  = 0xe3,   op2_lay  = 0x71,
+  op1_larl = 0xc0,   op2_larl = 0x00,
+  op_basr  = 0x0d,
+  op_bas   = 0x4d,
+  op_bcr   = 0x07,
+  op_bc    = 0x0d,
+  op_bctr  = 0x06,
+  op_bctgr = 0xb946,
+  op_bct   = 0x46,
+  op1_bctg = 0xe3,   op2_bctg = 0x46,
+  op_bxh   = 0x86,
+  op1_bxhg = 0xeb,   op2_bxhg = 0x44,
+  op_bxle  = 0x87,
+  op1_bxleg= 0xeb,   op2_bxleg= 0x45,
+  op1_bras = 0xa7,   op2_bras = 0x05,
+  op1_brasl= 0xc0,   op2_brasl= 0x05,
+  op1_brc  = 0xa7,   op2_brc  = 0x04,
+  op1_brcl = 0xc0,   op2_brcl = 0x04,
+  op1_brct = 0xa7,   op2_brct = 0x06,
+  op1_brctg= 0xa7,   op2_brctg= 0x07,
+  op_brxh  = 0x84,
+  op1_brxhg= 0xec,   op2_brxhg= 0x44,
+  op_brxle = 0x85,
+  op1_brxlg= 0xec,   op2_brxlg= 0x45,
+  op_svc   = 0x0a,
+};
+
+/* Hardware capabilities. */
+
+#ifndef HWCAP_S390_HIGH_GPRS
+#define HWCAP_S390_HIGH_GPRS 512
+#endif
+
+#ifndef HWCAP_S390_TE
+#define HWCAP_S390_TE 1024
+#endif
+
+#ifndef HWCAP_S390_VX
+#define HWCAP_S390_VX 2048
+#endif
+
+#ifndef HWCAP_S390_GS
+#define HWCAP_S390_GS 16384
+#endif
+
+/* Register information.  */
+
+/* Program Status Word.  */
+#define S390_PSWM_REGNUM 0
+#define S390_PSWA_REGNUM 1
+/* General Purpose Registers.  */
+#define S390_R0_REGNUM 2
+#define S390_R1_REGNUM 3
+#define S390_R2_REGNUM 4
+#define S390_R3_REGNUM 5
+#define S390_R4_REGNUM 6
+#define S390_R5_REGNUM 7
+#define S390_R6_REGNUM 8
+#define S390_R7_REGNUM 9
+#define S390_R8_REGNUM 10
+#define S390_R9_REGNUM 11
+#define S390_R10_REGNUM 12
+#define S390_R11_REGNUM 13
+#define S390_R12_REGNUM 14
+#define S390_R13_REGNUM 15
+#define S390_R14_REGNUM 16
+#define S390_R15_REGNUM 17
+/* Access Registers.  */
+#define S390_A0_REGNUM 18
+#define S390_A1_REGNUM 19
+#define S390_A2_REGNUM 20
+#define S390_A3_REGNUM 21
+#define S390_A4_REGNUM 22
+#define S390_A5_REGNUM 23
+#define S390_A6_REGNUM 24
+#define S390_A7_REGNUM 25
+#define S390_A8_REGNUM 26
+#define S390_A9_REGNUM 27
+#define S390_A10_REGNUM 28
+#define S390_A11_REGNUM 29
+#define S390_A12_REGNUM 30
+#define S390_A13_REGNUM 31
+#define S390_A14_REGNUM 32
+#define S390_A15_REGNUM 33
+/* Floating Point Control Word.  */
+#define S390_FPC_REGNUM 34
+/* Floating Point Registers.  */
+#define S390_F0_REGNUM 35
+#define S390_F1_REGNUM 36
+#define S390_F2_REGNUM 37
+#define S390_F3_REGNUM 38
+#define S390_F4_REGNUM 39
+#define S390_F5_REGNUM 40
+#define S390_F6_REGNUM 41
+#define S390_F7_REGNUM 42
+#define S390_F8_REGNUM 43
+#define S390_F9_REGNUM 44
+#define S390_F10_REGNUM 45
+#define S390_F11_REGNUM 46
+#define S390_F12_REGNUM 47
+#define S390_F13_REGNUM 48
+#define S390_F14_REGNUM 49
+#define S390_F15_REGNUM 50
+/* General Purpose Register Upper Halves.  */
+#define S390_R0_UPPER_REGNUM 51
+#define S390_R1_UPPER_REGNUM 52
+#define S390_R2_UPPER_REGNUM 53
+#define S390_R3_UPPER_REGNUM 54
+#define S390_R4_UPPER_REGNUM 55
+#define S390_R5_UPPER_REGNUM 56
+#define S390_R6_UPPER_REGNUM 57
+#define S390_R7_UPPER_REGNUM 58
+#define S390_R8_UPPER_REGNUM 59
+#define S390_R9_UPPER_REGNUM 60
+#define S390_R10_UPPER_REGNUM 61
+#define S390_R11_UPPER_REGNUM 62
+#define S390_R12_UPPER_REGNUM 63
+#define S390_R13_UPPER_REGNUM 64
+#define S390_R14_UPPER_REGNUM 65
+#define S390_R15_UPPER_REGNUM 66
+/* GNU/Linux-specific optional registers.  */
+#define S390_ORIG_R2_REGNUM 67
+#define S390_LAST_BREAK_REGNUM 68
+#define S390_SYSTEM_CALL_REGNUM 69
+/* Transaction diagnostic block.  */
+#define S390_TDB_DWORD0_REGNUM 70
+#define S390_TDB_ABORT_CODE_REGNUM 71
+#define S390_TDB_CONFLICT_TOKEN_REGNUM 72
+#define S390_TDB_ATIA_REGNUM 73
+#define S390_TDB_R0_REGNUM 74
+#define S390_TDB_R1_REGNUM 75
+#define S390_TDB_R2_REGNUM 76
+#define S390_TDB_R3_REGNUM 77
+#define S390_TDB_R4_REGNUM 78
+#define S390_TDB_R5_REGNUM 79
+#define S390_TDB_R6_REGNUM 80
+#define S390_TDB_R7_REGNUM 81
+#define S390_TDB_R8_REGNUM 82
+#define S390_TDB_R9_REGNUM 83
+#define S390_TDB_R10_REGNUM 84
+#define S390_TDB_R11_REGNUM 85
+#define S390_TDB_R12_REGNUM 86
+#define S390_TDB_R13_REGNUM 87
+#define S390_TDB_R14_REGNUM 88
+#define S390_TDB_R15_REGNUM 89
+/* Vector registers.  */
+#define S390_V0_LOWER_REGNUM 90
+#define S390_V1_LOWER_REGNUM 91
+#define S390_V2_LOWER_REGNUM 92
+#define S390_V3_LOWER_REGNUM 93
+#define S390_V4_LOWER_REGNUM 94
+#define S390_V5_LOWER_REGNUM 95
+#define S390_V6_LOWER_REGNUM 96
+#define S390_V7_LOWER_REGNUM 97
+#define S390_V8_LOWER_REGNUM 98
+#define S390_V9_LOWER_REGNUM 99
+#define S390_V10_LOWER_REGNUM 100
+#define S390_V11_LOWER_REGNUM 101
+#define S390_V12_LOWER_REGNUM 102
+#define S390_V13_LOWER_REGNUM 103
+#define S390_V14_LOWER_REGNUM 104
+#define S390_V15_LOWER_REGNUM 105
+#define S390_V16_REGNUM 106
+#define S390_V17_REGNUM 107
+#define S390_V18_REGNUM 108
+#define S390_V19_REGNUM 109
+#define S390_V20_REGNUM 110
+#define S390_V21_REGNUM 111
+#define S390_V22_REGNUM 112
+#define S390_V23_REGNUM 113
+#define S390_V24_REGNUM 114
+#define S390_V25_REGNUM 115
+#define S390_V26_REGNUM 116
+#define S390_V27_REGNUM 117
+#define S390_V28_REGNUM 118
+#define S390_V29_REGNUM 119
+#define S390_V30_REGNUM 120
+#define S390_V31_REGNUM 121
+#define S390_GSD_REGNUM 122
+#define S390_GSSM_REGNUM 123
+#define S390_GSEPLA_REGNUM 124
+#define S390_BC_GSD_REGNUM 125
+#define S390_BC_GSSM_REGNUM 126
+#define S390_BC_GSEPLA_REGNUM 127
+/* Total.  */
+#define S390_NUM_REGS 128
+
+#define S390_NUM_GPRS 16
+#define S390_NUM_FPRS 16
+
+#define S390_MAX_INSTR_SIZE 6
+
+/* Special register usage.  */
+#define S390_SP_REGNUM S390_R15_REGNUM
+#define S390_RETADDR_REGNUM S390_R14_REGNUM
+#define S390_FRAME_REGNUM S390_R11_REGNUM
+
+/* Frame unwinding.  */
+
+extern struct value *s390_trad_frame_prev_register
+    (struct frame_info *this_frame, struct trad_frame_saved_reg saved_regs[],
+     int regnum);
+
+extern struct target_desc *tdesc_s390_linux32;
+extern struct target_desc *tdesc_s390x_linux64;
+
+#endif /* S390_TDEP_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/score-tdep.c ./gdb/score-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/score-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/score-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -442,11 +442,11 @@ score_xfer_register (struct regcache *re
     }
 
   if (readbuf != NULL)
-    regcache_cooked_read_part (regcache, regnum, reg_offset, length,
-                               readbuf + buf_offset);
+    regcache->cooked_read_part (regnum, reg_offset, length,
+				readbuf + buf_offset);
   if (writebuf != NULL)
-    regcache_cooked_write_part (regcache, regnum, reg_offset, length,
-                                writebuf + buf_offset);
+    regcache->cooked_write_part (regnum, reg_offset, length,
+				 writebuf + buf_offset);
 }
 
 static enum return_value_convention
@@ -1428,9 +1428,8 @@ score7_linux_supply_gregset(const struct
      collect function will store the PC in that slot.  */
   if ((regnum == -1 || regnum == SCORE_EPC_REGNUM)
       && size >= SCORE7_LINUX_EPC_OFFSET + 4)
-    regcache_raw_supply (regcache, SCORE_EPC_REGNUM,
-			 (const gdb_byte *) buf
-			 + SCORE7_LINUX_EPC_OFFSET);
+    regcache->raw_supply
+      (SCORE_EPC_REGNUM, (const gdb_byte *) buf + SCORE7_LINUX_EPC_OFFSET);
 }
 
 static const struct regset score7_linux_gregset =
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sentinel-frame.c ./gdb/sentinel-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sentinel-frame.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sentinel-frame.c	2018-07-10 02:06:13.000000000 +0000
@@ -50,7 +50,7 @@ sentinel_frame_prev_register (struct fra
     = (struct frame_unwind_cache *) *this_prologue_cache;
   struct value *value;
 
-  value = regcache_cooked_read_value (cache->regcache, regnum);
+  value = cache->regcache->cooked_read_value (regnum);
   VALUE_NEXT_FRAME_ID (value) = sentinel_frame_id;
 
   return value;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/serial.c ./gdb/serial.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/serial.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/serial.c	2018-07-10 02:06:13.000000000 +0000
@@ -27,12 +27,9 @@
 
 static unsigned int global_serial_debug_p;
 
-typedef const struct serial_ops *serial_ops_p;
-DEF_VEC_P (serial_ops_p);
-
 /* Serial I/O handlers.  */
 
-VEC (serial_ops_p) *serial_ops_list = NULL;
+static std::vector<const struct serial_ops *> serial_ops_list;
 
 /* Pointer to list of scb's.  */
 
@@ -146,10 +143,7 @@ serial_log_command (struct target_ops *s
 static const struct serial_ops *
 serial_interface_lookup (const char *name)
 {
-  const struct serial_ops *ops;
-  int i;
-
-  for (i = 0; VEC_iterate (serial_ops_p, serial_ops_list, i, ops); ++i)
+  for (const serial_ops *ops : serial_ops_list)
     if (strcmp (name, ops->name) == 0)
       return ops;
 
@@ -159,7 +153,7 @@ serial_interface_lookup (const char *nam
 void
 serial_add_interface (const struct serial_ops *optable)
 {
-  VEC_safe_push (serial_ops_p, serial_ops_list, optable);
+  serial_ops_list.push_back (optable);
 }
 
 /* Return the open serial device for FD, if found, or NULL if FD is
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ser-mingw.c ./gdb/ser-mingw.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ser-mingw.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ser-mingw.c	2018-07-10 02:06:13.000000000 +0000
@@ -848,20 +848,20 @@ free_pipe_state (struct pipe_state *ps)
   errno = saved_errno;
 }
 
-static void
-cleanup_pipe_state (void *untyped)
+struct pipe_state_destroyer
 {
-  struct pipe_state *ps = (struct pipe_state *) untyped;
+  void operator() (pipe_state *ps) const
+  {
+    free_pipe_state (ps);
+  }
+};
 
-  free_pipe_state (ps);
-}
+typedef std::unique_ptr<pipe_state, pipe_state_destroyer> pipe_state_up;
 
 static int
 pipe_windows_open (struct serial *scb, const char *name)
 {
-  struct pipe_state *ps;
   FILE *pex_stderr;
-  struct cleanup *back_to;
 
   if (name == NULL)
     error_no_arg (_("child command"));
@@ -871,15 +871,14 @@ pipe_windows_open (struct serial *scb, c
   if (! argv[0] || argv[0][0] == '\0')
     error (_("missing child command"));
 
-  ps = make_pipe_state ();
-  back_to = make_cleanup (cleanup_pipe_state, ps);
+  pipe_state_up ps (make_pipe_state ());
 
   ps->pex = pex_init (PEX_USE_PIPES, "target remote pipe", NULL);
   if (! ps->pex)
-    goto fail;
+    return -1;
   ps->input = pex_input_pipe (ps->pex, 1);
   if (! ps->input)
-    goto fail;
+    return -1;
 
   {
     int err;
@@ -906,23 +905,17 @@ pipe_windows_open (struct serial *scb, c
 
   ps->output = pex_read_output (ps->pex, 1);
   if (! ps->output)
-    goto fail;
+    return -1;
   scb->fd = fileno (ps->output);
 
   pex_stderr = pex_read_err (ps->pex, 1);
   if (! pex_stderr)
-    goto fail;
+    return -1;
   scb->error_fd = fileno (pex_stderr);
 
-  scb->state = (void *) ps;
+  scb->state = ps.release ();
 
-  argv.release ();
-  discard_cleanups (back_to);
   return 0;
-
- fail:
-  do_cleanups (back_to);
-  return -1;
 }
 
 static int
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sh64-tdep.c ./gdb/sh64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sh64-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sh64-tdep.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,2440 +0,0 @@
-/* Target-dependent code for Renesas Super-H, for GDB.
-
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Contributed by Steve Chamberlain
-   sac@cygnus.com.  */
-
-#include "defs.h"
-#include "frame.h"
-#include "frame-base.h"
-#include "frame-unwind.h"
-#include "dwarf2-frame.h"
-#include "symtab.h"
-#include "gdbtypes.h"
-#include "gdbcmd.h"
-#include "gdbcore.h"
-#include "value.h"
-#include "dis-asm.h"
-#include "inferior.h"
-#include "arch-utils.h"
-#include "regcache.h"
-#include "osabi.h"
-#include "target-float.h"
-#include "valprint.h"
-#include "target-float.h"
-
-#include "elf-bfd.h"
-
-/* sh flags */
-#include "elf/sh.h"
-/* Register numbers shared with the simulator.  */
-#include "gdb/sim-sh.h"
-#include "language.h"
-#include "sh64-tdep.h"
-#include <algorithm>
-
-/* Information that is dependent on the processor variant.  */
-enum sh_abi
-  {
-    SH_ABI_UNKNOWN,
-    SH_ABI_32,
-    SH_ABI_64
-  };
-
-struct gdbarch_tdep
-  {
-    enum sh_abi sh_abi;
-    /* ISA-specific data types.  */
-    struct type *sh_littlebyte_bigword_type;
-  };
-
-struct type *
-sh64_littlebyte_bigword_type (struct gdbarch *gdbarch)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  if (tdep->sh_littlebyte_bigword_type == NULL)
-    tdep->sh_littlebyte_bigword_type
-      = arch_float_type (gdbarch, -1, "builtin_type_sh_littlebyte_bigword",
-                         floatformats_ieee_double_littlebyte_bigword);
-
-  return tdep->sh_littlebyte_bigword_type;
-}
-
-struct sh64_frame_cache
-{
-  /* Base address.  */
-  CORE_ADDR base;
-  LONGEST sp_offset;
-  CORE_ADDR pc;
-
-  /* Flag showing that a frame has been created in the prologue code.  */
-  int uses_fp;
-
-  int media_mode;
-
-  /* Saved registers.  */
-  CORE_ADDR saved_regs[SIM_SH64_NR_REGS];
-  CORE_ADDR saved_sp;
-};
-
-/* Registers of SH5 */
-enum
-  {
-    R0_REGNUM = 0,
-    DEFAULT_RETURN_REGNUM = 2,
-    STRUCT_RETURN_REGNUM = 2,
-    ARG0_REGNUM = 2,
-    ARGLAST_REGNUM = 9,
-    FLOAT_ARGLAST_REGNUM = 11,
-    MEDIA_FP_REGNUM = 14,
-    PR_REGNUM = 18,
-    SR_REGNUM = 65,
-    DR0_REGNUM = 141,
-    DR_LAST_REGNUM = 172,
-    /* FPP stands for Floating Point Pair, to avoid confusion with
-       GDB's gdbarch_fp0_regnum, which is the number of the first Floating
-       point register.  Unfortunately on the sh5, the floating point
-       registers are called FR, and the floating point pairs are called FP.  */
-    FPP0_REGNUM = 173,
-    FPP_LAST_REGNUM = 204,
-    FV0_REGNUM = 205,
-    FV_LAST_REGNUM = 220,
-    R0_C_REGNUM = 221,
-    R_LAST_C_REGNUM = 236,
-    PC_C_REGNUM = 237,
-    GBR_C_REGNUM = 238,
-    MACH_C_REGNUM = 239,
-    MACL_C_REGNUM = 240,
-    PR_C_REGNUM = 241,
-    T_C_REGNUM = 242,
-    FPSCR_C_REGNUM = 243,
-    FPUL_C_REGNUM = 244,
-    FP0_C_REGNUM = 245,
-    FP_LAST_C_REGNUM = 260,
-    DR0_C_REGNUM = 261,
-    DR_LAST_C_REGNUM = 268,
-    FV0_C_REGNUM = 269,
-    FV_LAST_C_REGNUM = 272,
-    FPSCR_REGNUM = SIM_SH64_FPCSR_REGNUM,
-    SSR_REGNUM = SIM_SH64_SSR_REGNUM,
-    SPC_REGNUM = SIM_SH64_SPC_REGNUM,
-    TR7_REGNUM = SIM_SH64_TR0_REGNUM + 7,
-    FP_LAST_REGNUM = SIM_SH64_FR0_REGNUM + SIM_SH64_NR_FP_REGS - 1
-  };
-
-static const char *
-sh64_register_name (struct gdbarch *gdbarch, int reg_nr)
-{
-  static const char *register_names[] =
-  {
-    /* SH MEDIA MODE (ISA 32) */
-    /* general registers (64-bit) 0-63 */
-    "r0",   "r1",   "r2",   "r3",   "r4",   "r5",   "r6",   "r7",
-    "r8",   "r9",   "r10",  "r11",  "r12",  "r13",  "r14",  "r15",
-    "r16",  "r17",  "r18",  "r19",  "r20",  "r21",  "r22",  "r23",
-    "r24",  "r25",  "r26",  "r27",  "r28",  "r29",  "r30",  "r31",
-    "r32",  "r33",  "r34",  "r35",  "r36",  "r37",  "r38",  "r39",
-    "r40",  "r41",  "r42",  "r43",  "r44",  "r45",  "r46",  "r47",
-    "r48",  "r49",  "r50",  "r51",  "r52",  "r53",  "r54",  "r55",
-    "r56",  "r57",  "r58",  "r59",  "r60",  "r61",  "r62",  "r63",
-
-    /* pc (64-bit) 64 */
-    "pc",   
-
-    /* status reg., saved status reg., saved pc reg. (64-bit) 65-67 */
-    "sr",  "ssr",  "spc", 
-
-    /* target registers (64-bit) 68-75 */
-    "tr0",  "tr1",  "tr2",  "tr3",  "tr4",  "tr5",  "tr6",  "tr7",
-
-    /* floating point state control register (32-bit) 76 */
-    "fpscr",
-
-    /* single precision floating point registers (32-bit) 77-140 */
-    "fr0",  "fr1",  "fr2",  "fr3",  "fr4",  "fr5",  "fr6",  "fr7",
-    "fr8",  "fr9",  "fr10", "fr11", "fr12", "fr13", "fr14", "fr15",
-    "fr16", "fr17", "fr18", "fr19", "fr20", "fr21", "fr22", "fr23",
-    "fr24", "fr25", "fr26", "fr27", "fr28", "fr29", "fr30", "fr31",
-    "fr32", "fr33", "fr34", "fr35", "fr36", "fr37", "fr38", "fr39",
-    "fr40", "fr41", "fr42", "fr43", "fr44", "fr45", "fr46", "fr47",
-    "fr48", "fr49", "fr50", "fr51", "fr52", "fr53", "fr54", "fr55",
-    "fr56", "fr57", "fr58", "fr59", "fr60", "fr61", "fr62", "fr63",
-
-    /* double precision registers (pseudo) 141-172 */
-    "dr0",  "dr2",  "dr4",  "dr6",  "dr8",  "dr10", "dr12", "dr14",
-    "dr16", "dr18", "dr20", "dr22", "dr24", "dr26", "dr28", "dr30",
-    "dr32", "dr34", "dr36", "dr38", "dr40", "dr42", "dr44", "dr46",
-    "dr48", "dr50", "dr52", "dr54", "dr56", "dr58", "dr60", "dr62",
-
-    /* floating point pairs (pseudo) 173-204 */
-    "fp0",  "fp2",  "fp4",  "fp6",  "fp8",  "fp10", "fp12", "fp14",
-    "fp16", "fp18", "fp20", "fp22", "fp24", "fp26", "fp28", "fp30",
-    "fp32", "fp34", "fp36", "fp38", "fp40", "fp42", "fp44", "fp46",
-    "fp48", "fp50", "fp52", "fp54", "fp56", "fp58", "fp60", "fp62",
-
-    /* floating point vectors (4 floating point regs) (pseudo) 205-220 */
-    "fv0",  "fv4",  "fv8",  "fv12", "fv16", "fv20", "fv24", "fv28",
-    "fv32", "fv36", "fv40", "fv44", "fv48", "fv52", "fv56", "fv60",
-
-    /* SH COMPACT MODE (ISA 16) (all pseudo) 221-272 */
-    "r0_c", "r1_c", "r2_c",  "r3_c",  "r4_c",  "r5_c",  "r6_c",  "r7_c",
-    "r8_c", "r9_c", "r10_c", "r11_c", "r12_c", "r13_c", "r14_c", "r15_c",
-    "pc_c",
-    "gbr_c", "mach_c", "macl_c", "pr_c", "t_c",
-    "fpscr_c", "fpul_c",
-    "fr0_c",  "fr1_c",  "fr2_c",  "fr3_c",
-    "fr4_c",  "fr5_c",  "fr6_c",  "fr7_c",
-    "fr8_c",  "fr9_c",  "fr10_c", "fr11_c",
-    "fr12_c", "fr13_c", "fr14_c", "fr15_c",
-    "dr0_c",  "dr2_c",  "dr4_c",  "dr6_c",
-    "dr8_c",  "dr10_c", "dr12_c", "dr14_c",
-    "fv0_c", "fv4_c", "fv8_c",  "fv12_c",
-    /* FIXME!!!! XF0 XF15, XD0 XD14 ?????  */
-  };
-
-  if (reg_nr < 0)
-    return NULL;
-  if (reg_nr >= (sizeof (register_names) / sizeof (*register_names)))
-    return NULL;
-  return register_names[reg_nr];
-}
-
-#define NUM_PSEUDO_REGS_SH_MEDIA 80
-#define NUM_PSEUDO_REGS_SH_COMPACT 51
-
-/* Macros and functions for setting and testing a bit in a minimal
-   symbol that marks it as 32-bit function.  The MSB of the minimal
-   symbol's "info" field is used for this purpose.
-
-   gdbarch_elf_make_msymbol_special tests whether an ELF symbol is "special",
-   i.e. refers to a 32-bit function, and sets a "special" bit in a
-   minimal symbol to mark it as a 32-bit function
-   MSYMBOL_IS_SPECIAL   tests the "special" bit in a minimal symbol  */
-
-#define MSYMBOL_IS_SPECIAL(msym) \
-  MSYMBOL_TARGET_FLAG_1 (msym)
-
-static void
-sh64_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym)
-{
-  if (msym == NULL)
-    return;
-
-  if (((elf_symbol_type *)(sym))->internal_elf_sym.st_other == STO_SH5_ISA32)
-    {
-      MSYMBOL_TARGET_FLAG_1 (msym) = 1;
-      SET_MSYMBOL_VALUE_ADDRESS (msym, MSYMBOL_VALUE_RAW_ADDRESS (msym) | 1);
-    }
-}
-
-/* ISA32 (shmedia) function addresses are odd (bit 0 is set).  Here
-   are some macros to test, set, or clear bit 0 of addresses.  */
-#define IS_ISA32_ADDR(addr)	 ((addr) & 1)
-#define MAKE_ISA32_ADDR(addr)	 ((addr) | 1)
-#define UNMAKE_ISA32_ADDR(addr)  ((addr) & ~1)
-
-static int
-pc_is_isa32 (bfd_vma memaddr)
-{
-  struct bound_minimal_symbol sym;
-
-  /* If bit 0 of the address is set, assume this is a
-     ISA32 (shmedia) address.  */
-  if (IS_ISA32_ADDR (memaddr))
-    return 1;
-
-  /* A flag indicating that this is a ISA32 function is stored by elfread.c in
-     the high bit of the info field.  Use this to decide if the function is
-     ISA16 or ISA32.  */
-  sym = lookup_minimal_symbol_by_pc (memaddr);
-  if (sym.minsym)
-    return MSYMBOL_IS_SPECIAL (sym.minsym);
-  else
-    return 0;
-}
-
-static int
-sh64_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr)
-{
-  if (pc_is_isa32 (*pcptr))
-    {
-      *pcptr = UNMAKE_ISA32_ADDR (*pcptr);
-      return 4;
-    }
-  else
-    return 2;
-}
-
-static const gdb_byte *
-sh64_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size)
-{
-  *size = kind;
-
-  /* The BRK instruction for shmedia is
-     01101111 11110101 11111111 11110000
-     which translates in big endian mode to 0x6f, 0xf5, 0xff, 0xf0
-     and in little endian mode to 0xf0, 0xff, 0xf5, 0x6f */
-
-  /* The BRK instruction for shcompact is
-     00000000 00111011
-     which translates in big endian mode to 0x0, 0x3b
-     and in little endian mode to 0x3b, 0x0 */
-
-  if (kind == 4)
-    {
-      static unsigned char big_breakpoint_media[] = {
-	0x6f, 0xf5, 0xff, 0xf0
-      };
-      static unsigned char little_breakpoint_media[] = {
-	0xf0, 0xff, 0xf5, 0x6f
-      };
-
-      if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-	return big_breakpoint_media;
-      else
-	return little_breakpoint_media;
-    }
-  else
-    {
-      static unsigned char big_breakpoint_compact[] = {0x0, 0x3b};
-      static unsigned char little_breakpoint_compact[] = {0x3b, 0x0};
-
-      if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-	return big_breakpoint_compact;
-      else
-	return little_breakpoint_compact;
-    }
-}
-
-/* Prologue looks like
-   [mov.l       <regs>,@-r15]...
-   [sts.l       pr,@-r15]
-   [mov.l       r14,@-r15]
-   [mov         r15,r14]
-
-   Actually it can be more complicated than this.  For instance, with
-   newer gcc's:
-
-   mov.l   r14,@-r15
-   add     #-12,r15
-   mov     r15,r14
-   mov     r4,r1
-   mov     r5,r2
-   mov.l   r6,@(4,r14)
-   mov.l   r7,@(8,r14)
-   mov.b   r1,@r14
-   mov     r14,r1
-   mov     r14,r1
-   add     #2,r1
-   mov.w   r2,@r1
-
- */
-
-/* PTABS/L Rn, TRa       0110101111110001nnnnnnl00aaa0000 
-   with l=1 and n = 18   0110101111110001010010100aaa0000 */
-#define IS_PTABSL_R18(x)  (((x) & 0xffffff8f) == 0x6bf14a00)
-
-/* STS.L PR,@-r0   0100000000100010
-   r0-4-->r0, PR-->(r0) */
-#define IS_STS_R0(x)  		((x) == 0x4022)
-
-/* STS PR, Rm      0000mmmm00101010
-   PR-->Rm */
-#define IS_STS_PR(x)            (((x) & 0xf0ff) == 0x2a)
-
-/* MOV.L Rm,@(disp,r15)  00011111mmmmdddd
-   Rm-->(dispx4+r15) */
-#define IS_MOV_TO_R15(x)              (((x) & 0xff00) == 0x1f00)
-
-/* MOV.L R14,@(disp,r15)  000111111110dddd
-   R14-->(dispx4+r15) */
-#define IS_MOV_R14(x)              (((x) & 0xfff0) == 0x1fe0)
-
-/* ST.Q R14, disp, R18    101011001110dddddddddd0100100000
-   R18-->(dispx8+R14) */
-#define IS_STQ_R18_R14(x)          (((x) & 0xfff003ff) == 0xace00120)
-
-/* ST.Q R15, disp, R18    101011001111dddddddddd0100100000
-   R18-->(dispx8+R15) */
-#define IS_STQ_R18_R15(x)          (((x) & 0xfff003ff) == 0xacf00120)
-
-/* ST.L R15, disp, R18    101010001111dddddddddd0100100000
-   R18-->(dispx4+R15) */
-#define IS_STL_R18_R15(x)          (((x) & 0xfff003ff) == 0xa8f00120)
-
-/* ST.Q R15, disp, R14    1010 1100 1111 dddd dddd dd00 1110 0000
-   R14-->(dispx8+R15) */
-#define IS_STQ_R14_R15(x)          (((x) & 0xfff003ff) == 0xacf000e0)
-
-/* ST.L R15, disp, R14    1010 1000 1111 dddd dddd dd00 1110 0000
-   R14-->(dispx4+R15) */
-#define IS_STL_R14_R15(x)          (((x) & 0xfff003ff) == 0xa8f000e0)
-
-/* ADDI.L R15,imm,R15     1101 0100 1111 ssss ssss ss00 1111 0000
-   R15 + imm --> R15 */
-#define IS_ADDIL_SP_MEDIA(x)         (((x) & 0xfff003ff) == 0xd4f000f0)
-
-/* ADDI R15,imm,R15     1101 0000 1111 ssss ssss ss00 1111 0000
-   R15 + imm --> R15 */
-#define IS_ADDI_SP_MEDIA(x)         (((x) & 0xfff003ff) == 0xd0f000f0)
-
-/* ADD.L R15,R63,R14    0000 0000 1111 1000 1111 1100 1110 0000 
-   R15 + R63 --> R14 */
-#define IS_ADDL_SP_FP_MEDIA(x)  	((x) == 0x00f8fce0)
-
-/* ADD R15,R63,R14    0000 0000 1111 1001 1111 1100 1110 0000 
-   R15 + R63 --> R14 */
-#define IS_ADD_SP_FP_MEDIA(x)  	((x) == 0x00f9fce0)
-
-#define IS_MOV_SP_FP_MEDIA(x)  	\
-  (IS_ADDL_SP_FP_MEDIA(x) || IS_ADD_SP_FP_MEDIA(x))
-
-/* MOV #imm, R0    1110 0000 ssss ssss 
-   #imm-->R0 */
-#define IS_MOV_R0(x) 		(((x) & 0xff00) == 0xe000)
-
-/* MOV.L @(disp,PC), R0    1101 0000 iiii iiii  */
-#define IS_MOVL_R0(x) 		(((x) & 0xff00) == 0xd000)
-
-/* ADD r15,r0      0011 0000 1111 1100
-   r15+r0-->r0 */
-#define IS_ADD_SP_R0(x)	        ((x) == 0x30fc)
-
-/* MOV.L R14 @-R0  0010 0000 1110 0110
-   R14-->(R0-4), R0-4-->R0 */
-#define IS_MOV_R14_R0(x)        ((x) == 0x20e6)
-
-/* ADD Rm,R63,Rn  Rm+R63-->Rn  0000 00mm mmmm 1001 1111 11nn nnnn 0000
-   where Rm is one of r2-r9 which are the argument registers.  */
-/* FIXME: Recognize the float and double register moves too!  */
-#define IS_MEDIA_IND_ARG_MOV(x) \
-  ((((x) & 0xfc0ffc0f) == 0x0009fc00) \
-   && (((x) & 0x03f00000) >= 0x00200000 \
-       && ((x) & 0x03f00000) <= 0x00900000))
-
-/* ST.Q Rn,0,Rm  Rm-->Rn+0  1010 11nn nnnn 0000 0000 00mm mmmm 0000
-   or ST.L Rn,0,Rm  Rm-->Rn+0  1010 10nn nnnn 0000 0000 00mm mmmm 0000
-   where Rm is one of r2-r9 which are the argument registers.  */
-#define IS_MEDIA_ARG_MOV(x) \
-(((((x) & 0xfc0ffc0f) == 0xac000000) || (((x) & 0xfc0ffc0f) == 0xa8000000)) \
-   && (((x) & 0x000003f0) >= 0x00000020 && ((x) & 0x000003f0) <= 0x00000090))
-
-/* ST.B R14,0,Rn     Rn-->(R14+0) 1010 0000 1110 0000 0000 00nn nnnn 0000 */
-/* ST.W R14,0,Rn     Rn-->(R14+0) 1010 0100 1110 0000 0000 00nn nnnn 0000 */
-/* ST.L R14,0,Rn     Rn-->(R14+0) 1010 1000 1110 0000 0000 00nn nnnn 0000 */
-/* FST.S R14,0,FRn   Rn-->(R14+0) 1011 0100 1110 0000 0000 00nn nnnn 0000 */
-/* FST.D R14,0,DRn   Rn-->(R14+0) 1011 1100 1110 0000 0000 00nn nnnn 0000 */
-#define IS_MEDIA_MOV_TO_R14(x)  \
-((((x) & 0xfffffc0f) == 0xa0e00000) \
-|| (((x) & 0xfffffc0f) == 0xa4e00000) \
-|| (((x) & 0xfffffc0f) == 0xa8e00000) \
-|| (((x) & 0xfffffc0f) == 0xb4e00000) \
-|| (((x) & 0xfffffc0f) == 0xbce00000))
-
-/* MOV Rm, Rn  Rm-->Rn 0110 nnnn mmmm 0011
-   where Rm is r2-r9 */
-#define IS_COMPACT_IND_ARG_MOV(x) \
-  ((((x) & 0xf00f) == 0x6003) && (((x) & 0x00f0) >= 0x0020) \
-   && (((x) & 0x00f0) <= 0x0090))
-
-/* compact direct arg move! 
-   MOV.L Rn, @r14     0010 1110 mmmm 0010 */
-#define IS_COMPACT_ARG_MOV(x) \
-  (((((x) & 0xff0f) == 0x2e02) && (((x) & 0x00f0) >= 0x0020) \
-    && ((x) & 0x00f0) <= 0x0090))
-
-/* MOV.B Rm, @R14     0010 1110 mmmm 0000 
-   MOV.W Rm, @R14     0010 1110 mmmm 0001 */
-#define IS_COMPACT_MOV_TO_R14(x) \
-((((x) & 0xff0f) == 0x2e00) || (((x) & 0xff0f) == 0x2e01))
-
-#define IS_JSR_R0(x)           ((x) == 0x400b)
-#define IS_NOP(x)              ((x) == 0x0009)
-
-
-/* MOV r15,r14     0110111011110011
-   r15-->r14  */
-#define IS_MOV_SP_FP(x)  	((x) == 0x6ef3)
-
-/* ADD #imm,r15    01111111iiiiiiii
-   r15+imm-->r15 */
-#define IS_ADD_SP(x) 		(((x) & 0xff00) == 0x7f00)
-
-/* Skip any prologue before the guts of a function.  */
-
-/* Skip the prologue using the debug information.  If this fails we'll
-   fall back on the 'guess' method below.  */
-static CORE_ADDR
-after_prologue (CORE_ADDR pc)
-{
-  struct symtab_and_line sal;
-  CORE_ADDR func_addr, func_end;
-
-  /* If we can not find the symbol in the partial symbol table, then
-     there is no hope we can determine the function's start address
-     with this code.  */
-  if (!find_pc_partial_function (pc, NULL, &func_addr, &func_end))
-    return 0;
-
-
-  /* Get the line associated with FUNC_ADDR.  */
-  sal = find_pc_line (func_addr, 0);
-
-  /* There are only two cases to consider.  First, the end of the source line
-     is within the function bounds.  In that case we return the end of the
-     source line.  Second is the end of the source line extends beyond the
-     bounds of the current function.  We need to use the slow code to
-     examine instructions in that case.  */
-  if (sal.end < func_end)
-    return sal.end;
-  else
-    return 0;
-}
-
-static CORE_ADDR 
-look_for_args_moves (struct gdbarch *gdbarch,
-		     CORE_ADDR start_pc, int media_mode)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  CORE_ADDR here, end;
-  int w;
-  int insn_size = (media_mode ? 4 : 2);
-
-  for (here = start_pc, end = start_pc + (insn_size * 28); here < end;)
-    {
-      if (media_mode)
-	{
-	  w = read_memory_integer (UNMAKE_ISA32_ADDR (here),
-				   insn_size, byte_order);
-	  here += insn_size;
-	  if (IS_MEDIA_IND_ARG_MOV (w))
-	    {
-	      /* This must be followed by a store to r14, so the argument
-		 is where the debug info says it is.  This can happen after
-		 the SP has been saved, unfortunately.  */
-	 
-	      int next_insn = read_memory_integer (UNMAKE_ISA32_ADDR (here),
-						   insn_size, byte_order);
-	      here += insn_size;
-	      if (IS_MEDIA_MOV_TO_R14 (next_insn))
-		start_pc = here;	  
-	    }
-	  else if (IS_MEDIA_ARG_MOV (w))
-	    {
-	      /* These instructions store directly the argument in r14.  */
-	      start_pc = here;
-	    }
-	  else
-	    break;
-	}
-      else
-	{
-	  w = read_memory_integer (here, insn_size, byte_order);
-	  w = w & 0xffff;
-	  here += insn_size;
-	  if (IS_COMPACT_IND_ARG_MOV (w))
-	    {
-	      /* This must be followed by a store to r14, so the argument
-		 is where the debug info says it is.  This can happen after
-		 the SP has been saved, unfortunately.  */
-	 
-	      int next_insn = 0xffff & read_memory_integer (here, insn_size,
-							    byte_order);
-	      here += insn_size;
-	      if (IS_COMPACT_MOV_TO_R14 (next_insn))
-		start_pc = here;
-	    }
-	  else if (IS_COMPACT_ARG_MOV (w))
-	    {
-	      /* These instructions store directly the argument in r14.  */
-	      start_pc = here;
-	    }
-	  else if (IS_MOVL_R0 (w))
-	    {
-	      /* There is a function that gcc calls to get the arguments
-		 passed correctly to the function.  Only after this
-		 function call the arguments will be found at the place
-		 where they are supposed to be.  This happens in case the
-		 argument has to be stored into a 64-bit register (for
-		 instance doubles, long longs).  SHcompact doesn't have
-		 access to the full 64-bits, so we store the register in
-		 stack slot and store the address of the stack slot in
-		 the register, then do a call through a wrapper that
-		 loads the memory value into the register.  A SHcompact
-		 callee calls an argument decoder
-		 (GCC_shcompact_incoming_args) that stores the 64-bit
-		 value in a stack slot and stores the address of the
-		 stack slot in the register.  GCC thinks the argument is
-		 just passed by transparent reference, but this is only
-		 true after the argument decoder is called.  Such a call
-		 needs to be considered part of the prologue.  */
-
-	      /* This must be followed by a JSR @r0 instruction and by
-                 a NOP instruction.  After these, the prologue is over!  */
-	 
-	      int next_insn = 0xffff & read_memory_integer (here, insn_size,
-							    byte_order);
-	      here += insn_size;
-	      if (IS_JSR_R0 (next_insn))
-		{
-		  next_insn = 0xffff & read_memory_integer (here, insn_size,
-							    byte_order);
-		  here += insn_size;
-
-		  if (IS_NOP (next_insn))
-		    start_pc = here;
-		}
-	    }
-	  else
-	    break;
-	}
-    }
-
-  return start_pc;
-}
-
-static CORE_ADDR
-sh64_skip_prologue_hard_way (struct gdbarch *gdbarch, CORE_ADDR start_pc)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  CORE_ADDR here, end;
-  int updated_fp = 0;
-  int insn_size = 4;
-  int media_mode = 1;
-
-  if (!start_pc)
-    return 0;
-
-  if (pc_is_isa32 (start_pc) == 0)
-    {
-      insn_size = 2;
-      media_mode = 0;
-    }
-
-  for (here = start_pc, end = start_pc + (insn_size * 28); here < end;)
-    {
-
-      if (media_mode)
-	{
-	  int w = read_memory_integer (UNMAKE_ISA32_ADDR (here),
-				       insn_size, byte_order);
-	  here += insn_size;
-	  if (IS_STQ_R18_R14 (w) || IS_STQ_R18_R15 (w) || IS_STQ_R14_R15 (w)
-	      || IS_STL_R14_R15 (w) || IS_STL_R18_R15 (w)
-	      || IS_ADDIL_SP_MEDIA (w) || IS_ADDI_SP_MEDIA (w)
-	      || IS_PTABSL_R18 (w))
-	    {
-	      start_pc = here;
-	    }
-	  else if (IS_MOV_SP_FP (w) || IS_MOV_SP_FP_MEDIA(w))
-	    {
-	      start_pc = here;
-	      updated_fp = 1;
-	    }
-	  else
-	    if (updated_fp)
-	      {
-		/* Don't bail out yet, we may have arguments stored in
-		   registers here, according to the debug info, so that
-		   gdb can print the frames correctly.  */
-		start_pc = look_for_args_moves (gdbarch,
-						here - insn_size, media_mode);
-		break;
-	      }
-	}
-      else
-	{
-	  int w = 0xffff & read_memory_integer (here, insn_size, byte_order);
-	  here += insn_size;
-
-	  if (IS_STS_R0 (w) || IS_STS_PR (w)
-	      || IS_MOV_TO_R15 (w) || IS_MOV_R14 (w) 
-	      || IS_MOV_R0 (w) || IS_ADD_SP_R0 (w) || IS_MOV_R14_R0 (w))
-	    {
-	      start_pc = here;
-	    }
-	  else if (IS_MOV_SP_FP (w))
-	    {
-	      start_pc = here;
-	      updated_fp = 1;
-	    }
-	  else
-	    if (updated_fp)
-	      {
-		/* Don't bail out yet, we may have arguments stored in
-		   registers here, according to the debug info, so that
-		   gdb can print the frames correctly.  */
-		start_pc = look_for_args_moves (gdbarch,
-						here - insn_size, media_mode);
-		break;
-	      }
-	}
-    }
-
-  return start_pc;
-}
-
-static CORE_ADDR
-sh64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
-{
-  CORE_ADDR post_prologue_pc;
-
-  /* See if we can determine the end of the prologue via the symbol table.
-     If so, then return either PC, or the PC after the prologue, whichever
-     is greater.  */
-  post_prologue_pc = after_prologue (pc);
-
-  /* If after_prologue returned a useful address, then use it.  Else
-     fall back on the instruction skipping code.  */
-  if (post_prologue_pc != 0)
-    return std::max (pc, post_prologue_pc);
-  else
-    return sh64_skip_prologue_hard_way (gdbarch, pc);
-}
-
-/* Should call_function allocate stack space for a struct return?  */
-static int
-sh64_use_struct_convention (struct type *type)
-{
-  return (TYPE_LENGTH (type) > 8);
-}
-
-/* For vectors of 4 floating point registers.  */
-static int
-sh64_fv_reg_base_num (struct gdbarch *gdbarch, int fv_regnum)
-{
-  int fp_regnum;
-
-  fp_regnum = gdbarch_fp0_regnum (gdbarch) + (fv_regnum - FV0_REGNUM) * 4;
-  return fp_regnum;
-}
-
-/* For double precision floating point registers, i.e 2 fp regs.  */
-static int
-sh64_dr_reg_base_num (struct gdbarch *gdbarch, int dr_regnum)
-{
-  int fp_regnum;
-
-  fp_regnum = gdbarch_fp0_regnum (gdbarch) + (dr_regnum - DR0_REGNUM) * 2;
-  return fp_regnum;
-}
-
-/* For pairs of floating point registers.  */
-static int
-sh64_fpp_reg_base_num (struct gdbarch *gdbarch, int fpp_regnum)
-{
-  int fp_regnum;
-
-  fp_regnum = gdbarch_fp0_regnum (gdbarch) + (fpp_regnum - FPP0_REGNUM) * 2;
-  return fp_regnum;
-}
-
-/* *INDENT-OFF* */
-/*
-    SH COMPACT MODE (ISA 16) (all pseudo) 221-272
-       GDB_REGNUM  BASE_REGNUM
- r0_c       221      0
- r1_c       222      1
- r2_c       223      2
- r3_c       224      3
- r4_c       225      4
- r5_c       226      5
- r6_c       227      6
- r7_c       228      7
- r8_c       229      8
- r9_c       230      9
- r10_c      231      10
- r11_c      232      11
- r12_c      233      12
- r13_c      234      13
- r14_c      235      14
- r15_c      236      15
-
- pc_c       237      64
- gbr_c      238      16
- mach_c     239      17
- macl_c     240      17
- pr_c       241      18
- t_c        242      19
- fpscr_c    243      76
- fpul_c     244      109
-
- fr0_c      245      77
- fr1_c      246      78
- fr2_c      247      79
- fr3_c      248      80
- fr4_c      249      81
- fr5_c      250      82
- fr6_c      251      83
- fr7_c      252      84
- fr8_c      253      85
- fr9_c      254      86
- fr10_c     255      87
- fr11_c     256      88
- fr12_c     257      89
- fr13_c     258      90
- fr14_c     259      91
- fr15_c     260      92
-
- dr0_c      261      77
- dr2_c      262      79
- dr4_c      263      81
- dr6_c      264      83
- dr8_c      265      85
- dr10_c     266      87
- dr12_c     267      89
- dr14_c     268      91
-
- fv0_c      269      77
- fv4_c      270      81
- fv8_c      271      85
- fv12_c     272      91
-*/
-/* *INDENT-ON* */
-static int
-sh64_compact_reg_base_num (struct gdbarch *gdbarch, int reg_nr)
-{
-  int base_regnum = reg_nr;
-
-  /* general register N maps to general register N */
-  if (reg_nr >= R0_C_REGNUM 
-      && reg_nr <= R_LAST_C_REGNUM)
-    base_regnum = reg_nr - R0_C_REGNUM;
-
-  /* floating point register N maps to floating point register N */
-  else if (reg_nr >= FP0_C_REGNUM 
-	    && reg_nr <= FP_LAST_C_REGNUM)
-    base_regnum = reg_nr - FP0_C_REGNUM + gdbarch_fp0_regnum (gdbarch);
-
-  /* double prec register N maps to base regnum for double prec register N */
-  else if (reg_nr >= DR0_C_REGNUM 
-	    && reg_nr <= DR_LAST_C_REGNUM)
-    base_regnum = sh64_dr_reg_base_num (gdbarch,
-					DR0_REGNUM + reg_nr - DR0_C_REGNUM);
-
-  /* vector N maps to base regnum for vector register N */
-  else if (reg_nr >= FV0_C_REGNUM 
-	    && reg_nr <= FV_LAST_C_REGNUM)
-    base_regnum = sh64_fv_reg_base_num (gdbarch,
-					FV0_REGNUM + reg_nr - FV0_C_REGNUM);
-
-  else if (reg_nr == PC_C_REGNUM)
-    base_regnum = gdbarch_pc_regnum (gdbarch);
-
-  else if (reg_nr == GBR_C_REGNUM) 
-    base_regnum = 16;
-
-  else if (reg_nr == MACH_C_REGNUM
-	   || reg_nr == MACL_C_REGNUM)
-    base_regnum = 17;
-
-  else if (reg_nr == PR_C_REGNUM) 
-    base_regnum = PR_REGNUM;
-
-  else if (reg_nr == T_C_REGNUM) 
-    base_regnum = 19;
-
-  else if (reg_nr == FPSCR_C_REGNUM) 
-    base_regnum = FPSCR_REGNUM; /*???? this register is a mess.  */
-
-  else if (reg_nr == FPUL_C_REGNUM) 
-    base_regnum = gdbarch_fp0_regnum (gdbarch) + 32;
-  
-  return base_regnum;
-}
-
-static int
-sign_extend (int value, int bits)
-{
-  value = value & ((1 << bits) - 1);
-  return (value & (1 << (bits - 1))
-	  ? value | (~((1 << bits) - 1))
-	  : value);
-}
-
-static void
-sh64_analyze_prologue (struct gdbarch *gdbarch,
-		       struct sh64_frame_cache *cache,
-		       CORE_ADDR func_pc,
-		       CORE_ADDR current_pc)
-{
-  int pc;
-  int opc;
-  int insn;
-  int r0_val = 0;
-  int insn_size;
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  
-  cache->sp_offset = 0;
-
-  /* Loop around examining the prologue insns until we find something
-     that does not appear to be part of the prologue.  But give up
-     after 20 of them, since we're getting silly then.  */
-
-  pc = func_pc;
-
-  if (cache->media_mode)
-    insn_size = 4;
-  else
-    insn_size = 2;
-
-  opc = pc + (insn_size * 28);
-  if (opc > current_pc)
-    opc = current_pc;
-  for ( ; pc <= opc; pc += insn_size)
-    {
-      insn = read_memory_integer (cache->media_mode ? UNMAKE_ISA32_ADDR (pc)
-						    : pc,
-				  insn_size, byte_order);
-
-      if (!cache->media_mode)
-	{
-	  if (IS_STS_PR (insn))
-	    {
-	      int next_insn = read_memory_integer (pc + insn_size,
-						   insn_size, byte_order);
-	      if (IS_MOV_TO_R15 (next_insn))
-		{
-		  cache->saved_regs[PR_REGNUM]
-		    = cache->sp_offset - ((((next_insn & 0xf) ^ 0x8)
-					   - 0x8) << 2);
-		  pc += insn_size;
-		}
-	    }
-
-	  else if (IS_MOV_R14 (insn))
-	    {
-	      cache->saved_regs[MEDIA_FP_REGNUM] =
-		cache->sp_offset - ((((insn & 0xf) ^ 0x8) - 0x8) << 2);
-	      cache->uses_fp = 1;
-	    }
-
-	  else if (IS_MOV_R0 (insn))
-	    {
-	      /* Put in R0 the offset from SP at which to store some
-		 registers.  We are interested in this value, because it
-		 will tell us where the given registers are stored within
-		 the frame.  */
-	      r0_val = ((insn & 0xff) ^ 0x80) - 0x80;
-	    }
-
-	  else if (IS_ADD_SP_R0 (insn))
-	    {
-	      /* This instruction still prepares r0, but we don't care.
-		 We already have the offset in r0_val.  */
-	    }
-
-	  else if (IS_STS_R0 (insn))
-	    {
-	      /* Store PR at r0_val-4 from SP.  Decrement r0 by 4.  */
-	      cache->saved_regs[PR_REGNUM] = cache->sp_offset - (r0_val - 4);
-	      r0_val -= 4;
-	    }
-
-	  else if (IS_MOV_R14_R0 (insn))
-	    {
-	      /* Store R14 at r0_val-4 from SP.  Decrement r0 by 4.  */
-	      cache->saved_regs[MEDIA_FP_REGNUM] = cache->sp_offset
-	      					   - (r0_val - 4);
-	      cache->uses_fp = 1;
-	      r0_val -= 4;
-	    }
-
-	  else if (IS_ADD_SP (insn))
-	    cache->sp_offset -= ((insn & 0xff) ^ 0x80) - 0x80;
-
-	  else if (IS_MOV_SP_FP (insn))
-	    break;
-	}
-      else
-	{
-	  if (IS_ADDIL_SP_MEDIA (insn) || IS_ADDI_SP_MEDIA (insn))
-	    cache->sp_offset -=
-	      sign_extend ((((insn & 0xffc00) ^ 0x80000) - 0x80000) >> 10, 9);
-
-	  else if (IS_STQ_R18_R15 (insn))
-	    cache->saved_regs[PR_REGNUM]
-	      = cache->sp_offset - (sign_extend ((insn & 0xffc00) >> 10,
-						 9) << 3);
-
-	  else if (IS_STL_R18_R15 (insn))
-	    cache->saved_regs[PR_REGNUM]
-	      = cache->sp_offset - (sign_extend ((insn & 0xffc00) >> 10,
-						 9) << 2);
-
-	  else if (IS_STQ_R14_R15 (insn))
-	    {
-	      cache->saved_regs[MEDIA_FP_REGNUM]
-		= cache->sp_offset - (sign_extend ((insn & 0xffc00) >> 10,
-						   9) << 3);
-	      cache->uses_fp = 1;
-	    }
-
-	  else if (IS_STL_R14_R15 (insn))
-	    {
-	      cache->saved_regs[MEDIA_FP_REGNUM]
-		= cache->sp_offset - (sign_extend ((insn & 0xffc00) >> 10,
-						   9) << 2);
-	      cache->uses_fp = 1;
-	    }
-
-	  else if (IS_MOV_SP_FP_MEDIA (insn))
-	    break;
-	}
-    }
-}
-
-static CORE_ADDR
-sh64_frame_align (struct gdbarch *ignore, CORE_ADDR sp)
-{
-  return sp & ~7;
-}
-
-/* Function: push_dummy_call
-   Setup the function arguments for calling a function in the inferior.
-
-   On the Renesas SH architecture, there are four registers (R4 to R7)
-   which are dedicated for passing function arguments.  Up to the first
-   four arguments (depending on size) may go into these registers.
-   The rest go on the stack.
-
-   Arguments that are smaller than 4 bytes will still take up a whole
-   register or a whole 32-bit word on the stack, and will be 
-   right-justified in the register or the stack word.  This includes
-   chars, shorts, and small aggregate types.
-
-   Arguments that are larger than 4 bytes may be split between two or 
-   more registers.  If there are not enough registers free, an argument
-   may be passed partly in a register (or registers), and partly on the
-   stack.  This includes doubles, long longs, and larger aggregates.
-   As far as I know, there is no upper limit to the size of aggregates 
-   that will be passed in this way; in other words, the convention of 
-   passing a pointer to a large aggregate instead of a copy is not used.
-
-   An exceptional case exists for struct arguments (and possibly other
-   aggregates such as arrays) if the size is larger than 4 bytes but 
-   not a multiple of 4 bytes.  In this case the argument is never split 
-   between the registers and the stack, but instead is copied in its
-   entirety onto the stack, AND also copied into as many registers as 
-   there is room for.  In other words, space in registers permitting, 
-   two copies of the same argument are passed in.  As far as I can tell,
-   only the one on the stack is used, although that may be a function 
-   of the level of compiler optimization.  I suspect this is a compiler
-   bug.  Arguments of these odd sizes are left-justified within the 
-   word (as opposed to arguments smaller than 4 bytes, which are 
-   right-justified).
-
-   If the function is to return an aggregate type such as a struct, it 
-   is either returned in the normal return value register R0 (if its 
-   size is no greater than one byte), or else the caller must allocate
-   space into which the callee will copy the return value (if the size
-   is greater than one byte).  In this case, a pointer to the return 
-   value location is passed into the callee in register R2, which does 
-   not displace any of the other arguments passed in via registers R4
-   to R7.  */
-
-/* R2-R9 for integer types and integer equivalent (char, pointers) and
-   non-scalar (struct, union) elements (even if the elements are
-   floats).  
-   FR0-FR11 for single precision floating point (float)
-   DR0-DR10 for double precision floating point (double) 
-   
-   If a float is argument number 3 (for instance) and arguments number
-   1,2, and 4 are integer, the mapping will be:
-   arg1 -->R2, arg2 --> R3, arg3 -->FR0, arg4 --> R5.  I.e. R4 is not used.
-   
-   If a float is argument number 10 (for instance) and arguments number
-   1 through 10 are integer, the mapping will be:
-   arg1->R2, arg2->R3, arg3->R4, arg4->R5, arg5->R6, arg6->R7, arg7->R8,
-   arg8->R9, arg9->(0,SP)stack(8-byte aligned), arg10->FR0,
-   arg11->stack(16,SP).  I.e. there is hole in the stack.
-
-   Different rules apply for variable arguments functions, and for functions
-   for which the prototype is not known.  */
-
-static CORE_ADDR
-sh64_push_dummy_call (struct gdbarch *gdbarch,
-		      struct value *function,
-		      struct regcache *regcache,
-		      CORE_ADDR bp_addr,
-		      int nargs, struct value **args,
-		      CORE_ADDR sp, int struct_return,
-		      CORE_ADDR struct_addr)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  int stack_offset, stack_alloc;
-  int int_argreg;
-  int float_arg_index = 0;
-  int double_arg_index = 0;
-  int argnum;
-  struct type *type;
-  CORE_ADDR regval;
-  const gdb_byte *val;
-  gdb_byte valbuf[8];
-  int len;
-  int argreg_size;
-  int fp_args[12];
-
-  memset (fp_args, 0, sizeof (fp_args));
-
-  /* First force sp to a 8-byte alignment.  */
-  sp = sh64_frame_align (gdbarch, sp);
-
-  /* The "struct return pointer" pseudo-argument has its own dedicated 
-     register.  */
-
-  if (struct_return)
-    regcache_cooked_write_unsigned (regcache, 
-				    STRUCT_RETURN_REGNUM, struct_addr);
-
-  /* Now make sure there's space on the stack.  */
-  for (argnum = 0, stack_alloc = 0; argnum < nargs; argnum++)
-    stack_alloc += ((TYPE_LENGTH (value_type (args[argnum])) + 7) & ~7);
-  sp -= stack_alloc;		/* Make room on stack for args.  */
-
-  /* Now load as many as possible of the first arguments into
-     registers, and push the rest onto the stack.  There are 64 bytes
-     in eight registers available.  Loop thru args from first to last.  */
-
-  int_argreg = ARG0_REGNUM;
-
-  for (argnum = 0, stack_offset = 0; argnum < nargs; argnum++)
-    {
-      type = value_type (args[argnum]);
-      len = TYPE_LENGTH (type);
-      memset (valbuf, 0, sizeof (valbuf));
-      
-      if (TYPE_CODE (type) != TYPE_CODE_FLT)
-	{
-	  argreg_size = register_size (gdbarch, int_argreg);
-
-	  if (len < argreg_size)
-	    {
-	      /* value gets right-justified in the register or stack word.  */
-	      if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-		memcpy (valbuf + argreg_size - len,
-			value_contents (args[argnum]), len);
-	      else
-		memcpy (valbuf, value_contents (args[argnum]), len);
-
-	      val = valbuf;
-	    }
-	  else
-	    val = value_contents (args[argnum]);
-
-	  while (len > 0)
-	    {
-	      if (int_argreg > ARGLAST_REGNUM)
-		{			
-		  /* Must go on the stack.  */
-		  write_memory (sp + stack_offset, val, argreg_size);
-		  stack_offset += 8;/*argreg_size;*/
-		}
-	      /* NOTE WELL!!!!!  This is not an "else if" clause!!!
-		 That's because some *&^%$ things get passed on the stack
-		 AND in the registers!   */
-	      if (int_argreg <= ARGLAST_REGNUM)
-		{			
-		  /* There's room in a register.  */
-		  regval = extract_unsigned_integer (val, argreg_size,
-						     byte_order);
-		  regcache_cooked_write_unsigned (regcache,
-						  int_argreg, regval);
-		}
-	      /* Store the value 8 bytes at a time.  This means that
-		 things larger than 8 bytes may go partly in registers
-		 and partly on the stack.  FIXME: argreg is incremented
-		 before we use its size.  */
-	      len -= argreg_size;
-	      val += argreg_size;
-	      int_argreg++;
-	    }
-	}
-      else
-	{
-	  val = value_contents (args[argnum]);
-	  if (len == 4)
-	    {
-	      /* Where is it going to be stored?  */
-	      while (fp_args[float_arg_index])
-		float_arg_index ++;
-
-	      /* Now float_argreg points to the register where it
-		 should be stored.  Are we still within the allowed
-		 register set?  */
-	      if (float_arg_index <= FLOAT_ARGLAST_REGNUM)
-		{
-		  /* Goes in FR0...FR11 */
-		  regcache_cooked_write (regcache,
-					 gdbarch_fp0_regnum (gdbarch)
-					 + float_arg_index,
-					 val);
-		  fp_args[float_arg_index] = 1;
-		  /* Skip the corresponding general argument register.  */
-		  int_argreg ++;
-		}
-	      else 
-		{
-		  /* Store it as the integers, 8 bytes at the time, if
-		     necessary spilling on the stack.  */
-		}
-	    }
-	    else if (len == 8)
-	      {
-		/* Where is it going to be stored?  */
-		while (fp_args[double_arg_index])
-		  double_arg_index += 2;
-		/* Now double_argreg points to the register
-		   where it should be stored.
-		   Are we still within the allowed register set?  */
-		if (double_arg_index < FLOAT_ARGLAST_REGNUM)
-		  {
-		    /* Goes in DR0...DR10 */
-		    /* The numbering of the DRi registers is consecutive,
-		       i.e. includes odd numbers.  */
-		    int double_register_offset = double_arg_index / 2;
-		    int regnum = DR0_REGNUM + double_register_offset;
-		    regcache_cooked_write (regcache, regnum, val);
-		    fp_args[double_arg_index] = 1;
-		    fp_args[double_arg_index + 1] = 1;
-		    /* Skip the corresponding general argument register.  */
-		    int_argreg ++;
-		  }
-		else
-		  {
-		    /* Store it as the integers, 8 bytes at the time, if
-		       necessary spilling on the stack.  */
-		  }
-	      }
-	}
-    }
-  /* Store return address.  */
-  regcache_cooked_write_unsigned (regcache, PR_REGNUM, bp_addr);
-
-  /* Update stack pointer.  */
-  regcache_cooked_write_unsigned (regcache,
-				  gdbarch_sp_regnum (gdbarch), sp);
-
-  return sp;
-}
-
-/* Find a function's return value in the appropriate registers (in
-   regbuf), and copy it into valbuf.  Extract from an array REGBUF
-   containing the (raw) register state a function return value of type
-   TYPE, and copy that, in virtual format, into VALBUF.  */
-static void
-sh64_extract_return_value (struct type *type, struct regcache *regcache,
-			   gdb_byte *valbuf)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  int len = TYPE_LENGTH (type);
-
-  if (TYPE_CODE (type) == TYPE_CODE_FLT)
-    {
-      if (len == 4)
-	{
-	  /* Return value stored in gdbarch_fp0_regnum.  */
-	  regcache_raw_read (regcache,
-			     gdbarch_fp0_regnum (gdbarch), valbuf);
-	}
-      else if (len == 8)
-	{
-	  /* return value stored in DR0_REGNUM.  */
-	  gdb_byte buf[8];
-	  regcache_cooked_read (regcache, DR0_REGNUM, buf);
-	  
-	  target_float_convert (buf, sh64_littlebyte_bigword_type (gdbarch),
-				valbuf, type);
-	}
-    }
-  else
-    { 
-      if (len <= 8)
-	{
-	  int offset;
-	  gdb_byte buf[8];
-	  /* Result is in register 2.  If smaller than 8 bytes, it is padded 
-	     at the most significant end.  */
-	  regcache_raw_read (regcache, DEFAULT_RETURN_REGNUM, buf);
-
-	  if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-	    offset = register_size (gdbarch, DEFAULT_RETURN_REGNUM)
-		     - len;
-	  else
-	    offset = 0;
-	  memcpy (valbuf, buf + offset, len);
-	}
-      else
-	error (_("bad size for return value"));
-    }
-}
-
-/* Write into appropriate registers a function return value
-   of type TYPE, given in virtual format.
-   If the architecture is sh4 or sh3e, store a function's return value
-   in the R0 general register or in the FP0 floating point register,
-   depending on the type of the return value.  In all the other cases
-   the result is stored in r0, left-justified.  */
-
-static void
-sh64_store_return_value (struct type *type, struct regcache *regcache,
-			 const gdb_byte *valbuf)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  gdb_byte buf[64];	/* more than enough...  */
-  int len = TYPE_LENGTH (type);
-
-  if (TYPE_CODE (type) == TYPE_CODE_FLT)
-    {
-      int i, regnum = gdbarch_fp0_regnum (gdbarch);
-      for (i = 0; i < len; i += 4)
-	if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
-	  regcache_raw_write (regcache, regnum++,
-			      valbuf + len - 4 - i);
-	else
-	  regcache_raw_write (regcache, regnum++, valbuf + i);
-    }
-  else
-    {
-      int return_register = DEFAULT_RETURN_REGNUM;
-      int offset = 0;
-
-      if (len <= register_size (gdbarch, return_register))
-	{
-	  /* Pad with zeros.  */
-	  memset (buf, 0, register_size (gdbarch, return_register));
-	  if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
-	    offset = 0; /*register_size (gdbarch, 
-			  return_register) - len;*/
-	  else
-	    offset = register_size (gdbarch, return_register) - len;
-
-	  memcpy (buf + offset, valbuf, len);
-	  regcache_raw_write (regcache, return_register, buf);
-	}
-      else
-	regcache_raw_write (regcache, return_register, valbuf);
-    }
-}
-
-static enum return_value_convention
-sh64_return_value (struct gdbarch *gdbarch, struct value *function,
-		   struct type *type, struct regcache *regcache,
-		   gdb_byte *readbuf, const gdb_byte *writebuf)
-{
-  if (sh64_use_struct_convention (type))
-    return RETURN_VALUE_STRUCT_CONVENTION;
-  if (writebuf)
-    sh64_store_return_value (type, regcache, writebuf);
-  else if (readbuf)
-    sh64_extract_return_value (type, regcache, readbuf);
-  return RETURN_VALUE_REGISTER_CONVENTION;
-}
-
-/* *INDENT-OFF* */
-/*
-    SH MEDIA MODE (ISA 32)
-    general registers (64-bit) 0-63
-0    r0,   r1,   r2,   r3,   r4,   r5,   r6,   r7,
-64   r8,   r9,   r10,  r11,  r12,  r13,  r14,  r15,
-128  r16,  r17,  r18,  r19,  r20,  r21,  r22,  r23,
-192  r24,  r25,  r26,  r27,  r28,  r29,  r30,  r31,
-256  r32,  r33,  r34,  r35,  r36,  r37,  r38,  r39,
-320  r40,  r41,  r42,  r43,  r44,  r45,  r46,  r47,
-384  r48,  r49,  r50,  r51,  r52,  r53,  r54,  r55,
-448  r56,  r57,  r58,  r59,  r60,  r61,  r62,  r63,
-
-    pc (64-bit) 64
-512  pc,
-
-    status reg., saved status reg., saved pc reg. (64-bit) 65-67
-520  sr,  ssr,  spc,
-
-    target registers (64-bit) 68-75
-544  tr0,  tr1,  tr2,  tr3,  tr4,  tr5,  tr6,  tr7,
-
-    floating point state control register (32-bit) 76
-608  fpscr,
-
-    single precision floating point registers (32-bit) 77-140
-612  fr0,  fr1,  fr2,  fr3,  fr4,  fr5,  fr6,  fr7,
-644  fr8,  fr9,  fr10, fr11, fr12, fr13, fr14, fr15,
-676  fr16, fr17, fr18, fr19, fr20, fr21, fr22, fr23,
-708  fr24, fr25, fr26, fr27, fr28, fr29, fr30, fr31,
-740  fr32, fr33, fr34, fr35, fr36, fr37, fr38, fr39,
-772  fr40, fr41, fr42, fr43, fr44, fr45, fr46, fr47,
-804  fr48, fr49, fr50, fr51, fr52, fr53, fr54, fr55,
-836  fr56, fr57, fr58, fr59, fr60, fr61, fr62, fr63,
-
-TOTAL SPACE FOR REGISTERS: 868 bytes
-
-From here on they are all pseudo registers: no memory allocated.
-REGISTER_BYTE returns the register byte for the base register.
-
-    double precision registers (pseudo) 141-172
-     dr0,  dr2,  dr4,  dr6,  dr8,  dr10, dr12, dr14,
-     dr16, dr18, dr20, dr22, dr24, dr26, dr28, dr30,
-     dr32, dr34, dr36, dr38, dr40, dr42, dr44, dr46,
-     dr48, dr50, dr52, dr54, dr56, dr58, dr60, dr62,
- 
-    floating point pairs (pseudo) 173-204
-     fp0,  fp2,  fp4,  fp6,  fp8,  fp10, fp12, fp14,
-     fp16, fp18, fp20, fp22, fp24, fp26, fp28, fp30,
-     fp32, fp34, fp36, fp38, fp40, fp42, fp44, fp46,
-     fp48, fp50, fp52, fp54, fp56, fp58, fp60, fp62,
- 
-    floating point vectors (4 floating point regs) (pseudo) 205-220
-     fv0,  fv4,  fv8,  fv12, fv16, fv20, fv24, fv28,
-     fv32, fv36, fv40, fv44, fv48, fv52, fv56, fv60,
- 
-    SH COMPACT MODE (ISA 16) (all pseudo) 221-272
-     r0_c, r1_c, r2_c,  r3_c,  r4_c,  r5_c,  r6_c,  r7_c,
-     r8_c, r9_c, r10_c, r11_c, r12_c, r13_c, r14_c, r15_c,
-     pc_c,
-     gbr_c, mach_c, macl_c, pr_c, t_c,
-     fpscr_c, fpul_c,
-     fr0_c, fr1_c, fr2_c,  fr3_c,  fr4_c,  fr5_c,  fr6_c,  fr7_c,
-     fr8_c, fr9_c, fr10_c, fr11_c, fr12_c, fr13_c, fr14_c, fr15_c
-     dr0_c, dr2_c, dr4_c,  dr6_c,  dr8_c,  dr10_c, dr12_c, dr14_c
-     fv0_c, fv4_c, fv8_c,  fv12_c
-*/
-
-static struct type *
-sh64_build_float_register_type (struct gdbarch *gdbarch, int high)
-{
-  return lookup_array_range_type (builtin_type (gdbarch)->builtin_float,
-				  0, high);
-}
-
-/* Return the GDB type object for the "standard" data type
-   of data in register REG_NR.  */
-static struct type *
-sh64_register_type (struct gdbarch *gdbarch, int reg_nr)
-{
-  if ((reg_nr >= gdbarch_fp0_regnum (gdbarch)
-       && reg_nr <= FP_LAST_REGNUM)
-      || (reg_nr >= FP0_C_REGNUM
-	  && reg_nr <= FP_LAST_C_REGNUM))
-    return builtin_type (gdbarch)->builtin_float;
-  else if ((reg_nr >= DR0_REGNUM 
-	    && reg_nr <= DR_LAST_REGNUM)
-	   || (reg_nr >= DR0_C_REGNUM 
-	       && reg_nr <= DR_LAST_C_REGNUM))
-    return builtin_type (gdbarch)->builtin_double;
-  else if  (reg_nr >= FPP0_REGNUM 
-	    && reg_nr <= FPP_LAST_REGNUM)
-    return sh64_build_float_register_type (gdbarch, 1);
-  else if ((reg_nr >= FV0_REGNUM
-	    && reg_nr <= FV_LAST_REGNUM)
-	   ||(reg_nr >= FV0_C_REGNUM 
-	      && reg_nr <= FV_LAST_C_REGNUM))
-    return sh64_build_float_register_type (gdbarch, 3);
-  else if (reg_nr == FPSCR_REGNUM)
-    return builtin_type (gdbarch)->builtin_int;
-  else if (reg_nr >= R0_C_REGNUM
-	   && reg_nr < FP0_C_REGNUM)
-    return builtin_type (gdbarch)->builtin_int;
-  else
-    return builtin_type (gdbarch)->builtin_long_long;
-}
-
-static void
-sh64_register_convert_to_virtual (struct gdbarch *gdbarch, int regnum,
-				  struct type *type, gdb_byte *from, gdb_byte *to)
-{
-  if (gdbarch_byte_order (gdbarch) != BFD_ENDIAN_LITTLE)
-    {
-      /* It is a no-op.  */
-      memcpy (to, from, register_size (gdbarch, regnum));
-      return;
-    }
-
-  if ((regnum >= DR0_REGNUM 
-       && regnum <= DR_LAST_REGNUM)
-      || (regnum >= DR0_C_REGNUM 
-	  && regnum <= DR_LAST_C_REGNUM))
-    target_float_convert (from, sh64_littlebyte_bigword_type (gdbarch),
-			  to, type);
-  else
-    error (_("sh64_register_convert_to_virtual "
-	     "called with non DR register number"));
-}
-
-static void
-sh64_register_convert_to_raw (struct gdbarch *gdbarch, struct type *type,
-			      int regnum, const gdb_byte *from, gdb_byte *to)
-{
-  if (gdbarch_byte_order (gdbarch) != BFD_ENDIAN_LITTLE)
-    {
-      /* It is a no-op.  */
-      memcpy (to, from, register_size (gdbarch, regnum));
-      return;
-    }
-
-  if ((regnum >= DR0_REGNUM 
-       && regnum <= DR_LAST_REGNUM)
-      || (regnum >= DR0_C_REGNUM 
-	  && regnum <= DR_LAST_C_REGNUM))
-    target_float_convert (from, type,
-			  to, sh64_littlebyte_bigword_type (gdbarch));
-  else
-    error (_("sh64_register_convert_to_raw called "
-	     "with non DR register number"));
-}
-
-/* Concatenate PORTIONS contiguous raw registers starting at
-   BASE_REGNUM into BUFFER.  */
-
-static enum register_status
-pseudo_register_read_portions (struct gdbarch *gdbarch,
-			       struct regcache *regcache,
-			       int portions,
-			       int base_regnum, gdb_byte *buffer)
-{
-  int portion;
-
-  for (portion = 0; portion < portions; portion++)
-    {
-      enum register_status status;
-      gdb_byte *b;
-
-      b = buffer + register_size (gdbarch, base_regnum) * portion;
-      status = regcache_raw_read (regcache, base_regnum + portion, b);
-      if (status != REG_VALID)
-	return status;
-    }
-
-  return REG_VALID;
-}
-
-static enum register_status
-sh64_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
-			   int reg_nr, gdb_byte *buffer)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  int base_regnum;
-  int offset = 0;
-  enum register_status status;
-
-  if (reg_nr >= DR0_REGNUM 
-      && reg_nr <= DR_LAST_REGNUM)
-    {
-      gdb_byte temp_buffer[8];
-      base_regnum = sh64_dr_reg_base_num (gdbarch, reg_nr);
-
-      /* Build the value in the provided buffer.  */ 
-      /* DR regs are double precision registers obtained by
-	 concatenating 2 single precision floating point registers.  */
-      status = pseudo_register_read_portions (gdbarch, regcache,
-					      2, base_regnum, temp_buffer);
-      if (status == REG_VALID)
-	{
-	  /* We must pay attention to the endianness.  */
-	  sh64_register_convert_to_virtual (gdbarch, reg_nr,
-					    register_type (gdbarch, reg_nr),
-					    temp_buffer, buffer);
-	}
-
-      return status;
-    }
-
-  else if (reg_nr >= FPP0_REGNUM
-	   && reg_nr <= FPP_LAST_REGNUM)
-    {
-      base_regnum = sh64_fpp_reg_base_num (gdbarch, reg_nr);
-
-      /* Build the value in the provided buffer.  */ 
-      /* FPP regs are pairs of single precision registers obtained by
-	 concatenating 2 single precision floating point registers.  */
-      return pseudo_register_read_portions (gdbarch, regcache,
-					    2, base_regnum, buffer);
-    }
-
-  else if (reg_nr >= FV0_REGNUM 
-	   && reg_nr <= FV_LAST_REGNUM)
-    {
-      base_regnum = sh64_fv_reg_base_num (gdbarch, reg_nr);
-
-      /* Build the value in the provided buffer.  */ 
-      /* FV regs are vectors of single precision registers obtained by
-	 concatenating 4 single precision floating point registers.  */
-      return pseudo_register_read_portions (gdbarch, regcache,
-					    4, base_regnum, buffer);
-    }
-
-  /* sh compact pseudo registers.  1-to-1 with a shmedia register.  */
-  else if (reg_nr >= R0_C_REGNUM 
-	   && reg_nr <= T_C_REGNUM)
-    {
-      gdb_byte temp_buffer[8];
-      base_regnum = sh64_compact_reg_base_num (gdbarch, reg_nr);
-
-      /* Build the value in the provided buffer.  */ 
-      status = regcache_raw_read (regcache, base_regnum, temp_buffer);
-      if (status != REG_VALID)
-	return status;
-      if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-	offset = 4;
-      memcpy (buffer,
-	      temp_buffer + offset, 4); /* get LOWER 32 bits only????  */
-      return REG_VALID;
-    }
-
-  else if (reg_nr >= FP0_C_REGNUM
-	   && reg_nr <= FP_LAST_C_REGNUM)
-    {
-      base_regnum = sh64_compact_reg_base_num (gdbarch, reg_nr);
-
-      /* Build the value in the provided buffer.  */ 
-      /* Floating point registers map 1-1 to the media fp regs,
-	 they have the same size and endianness.  */
-      return regcache_raw_read (regcache, base_regnum, buffer);
-    }
-
-  else if (reg_nr >= DR0_C_REGNUM 
-	   && reg_nr <= DR_LAST_C_REGNUM)
-    {
-      gdb_byte temp_buffer[8];
-      base_regnum = sh64_compact_reg_base_num (gdbarch, reg_nr);
-
-      /* DR_C regs are double precision registers obtained by
-	 concatenating 2 single precision floating point registers.  */
-      status = pseudo_register_read_portions (gdbarch, regcache,
-					      2, base_regnum, temp_buffer);
-      if (status == REG_VALID)
-	{
-	  /* We must pay attention to the endianness.  */
-	  sh64_register_convert_to_virtual (gdbarch, reg_nr,
-					    register_type (gdbarch, reg_nr),
-					    temp_buffer, buffer);
-	}
-      return status;
-    }
-
-  else if (reg_nr >= FV0_C_REGNUM 
-	   && reg_nr <= FV_LAST_C_REGNUM)
-    {
-      base_regnum = sh64_compact_reg_base_num (gdbarch, reg_nr);
-
-      /* Build the value in the provided buffer.  */ 
-      /* FV_C regs are vectors of single precision registers obtained by
-	 concatenating 4 single precision floating point registers.  */
-      return pseudo_register_read_portions (gdbarch, regcache,
-					    4, base_regnum, buffer);
-    }
-
-  else if (reg_nr == FPSCR_C_REGNUM)
-    {
-      int fpscr_base_regnum;
-      int sr_base_regnum;
-      ULONGEST fpscr_value;
-      ULONGEST sr_value;
-      unsigned int fpscr_c_value;
-      unsigned int fpscr_c_part1_value;
-      unsigned int fpscr_c_part2_value;
-
-      fpscr_base_regnum = FPSCR_REGNUM;
-      sr_base_regnum = SR_REGNUM;
-
-      /* Build the value in the provided buffer.  */ 
-      /* FPSCR_C is a very weird register that contains sparse bits
-	 from the FPSCR and the SR architectural registers.
-	 Specifically: */
-      /* *INDENT-OFF* */
-      /*
-	 FPSRC_C bit
-            0         Bit 0 of FPSCR
-            1         reserved
-            2-17      Bit 2-18 of FPSCR
-            18-20     Bits 12,13,14 of SR
-            21-31     reserved
-       */
-      /* *INDENT-ON* */
-      /* Get FPSCR as an int.  */
-      status = regcache->raw_read (fpscr_base_regnum, &fpscr_value);
-      if (status != REG_VALID)
-	return status;
-      /* Get SR as an int.  */
-      status = regcache->raw_read (sr_base_regnum, &sr_value);
-      if (status != REG_VALID)
-	return status;
-      /* Build the new value.  */
-      fpscr_c_part1_value = fpscr_value & 0x3fffd;
-      fpscr_c_part2_value = (sr_value & 0x7000) << 6;
-      fpscr_c_value = fpscr_c_part1_value | fpscr_c_part2_value;
-      /* Store that in out buffer!!!  */
-      store_unsigned_integer (buffer, 4, byte_order, fpscr_c_value);
-      /* FIXME There is surely an endianness gotcha here.  */
-
-      return REG_VALID;
-    }
-
-  else if (reg_nr == FPUL_C_REGNUM)
-    {
-      base_regnum = sh64_compact_reg_base_num (gdbarch, reg_nr);
-
-      /* FPUL_C register is floating point register 32,
-	 same size, same endianness.  */
-      return regcache_raw_read (regcache, base_regnum, buffer);
-    }
-  else
-    gdb_assert_not_reached ("invalid pseudo register number");
-}
-
-static void
-sh64_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache,
-			    int reg_nr, const gdb_byte *buffer)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  int base_regnum, portion;
-  int offset;
-
-  if (reg_nr >= DR0_REGNUM
-      && reg_nr <= DR_LAST_REGNUM)
-    {
-      gdb_byte temp_buffer[8];
-      base_regnum = sh64_dr_reg_base_num (gdbarch, reg_nr);
-      /* We must pay attention to the endianness.  */
-      sh64_register_convert_to_raw (gdbarch, register_type (gdbarch, reg_nr),
-				    reg_nr,
-				    buffer, temp_buffer);
-
-      /* Write the real regs for which this one is an alias.  */
-      for (portion = 0; portion < 2; portion++)
-	regcache_raw_write (regcache, base_regnum + portion, 
-			    (temp_buffer
-			     + register_size (gdbarch,
-					      base_regnum) * portion));
-    }
-
-  else if (reg_nr >= FPP0_REGNUM 
-	   && reg_nr <= FPP_LAST_REGNUM)
-    {
-      base_regnum = sh64_fpp_reg_base_num (gdbarch, reg_nr);
-
-      /* Write the real regs for which this one is an alias.  */
-      for (portion = 0; portion < 2; portion++)
-	regcache_raw_write (regcache, base_regnum + portion,
-			    (buffer + register_size (gdbarch,
-						     base_regnum) * portion));
-    }
-
-  else if (reg_nr >= FV0_REGNUM
-	   && reg_nr <= FV_LAST_REGNUM)
-    {
-      base_regnum = sh64_fv_reg_base_num (gdbarch, reg_nr);
-
-      /* Write the real regs for which this one is an alias.  */
-      for (portion = 0; portion < 4; portion++)
-	regcache_raw_write (regcache, base_regnum + portion,
-			    (buffer + register_size (gdbarch,
-						     base_regnum) * portion));
-    }
-
-  /* sh compact general pseudo registers.  1-to-1 with a shmedia
-     register but only 4 bytes of it.  */
-  else if (reg_nr >= R0_C_REGNUM 
-	   && reg_nr <= T_C_REGNUM)
-    {
-      gdb_byte temp_buffer[8];
-      base_regnum = sh64_compact_reg_base_num (gdbarch, reg_nr);
-      /* reg_nr is 32 bit here, and base_regnum is 64 bits.  */
-      if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-	offset = 4;
-      else 
-	offset = 0;
-      /* Let's read the value of the base register into a temporary
-	 buffer, so that overwriting the last four bytes with the new
-	 value of the pseudo will leave the upper 4 bytes unchanged.  */
-      regcache_raw_read (regcache, base_regnum, temp_buffer);
-      /* Write as an 8 byte quantity.  */
-      memcpy (temp_buffer + offset, buffer, 4);
-      regcache_raw_write (regcache, base_regnum, temp_buffer);
-    }
-
-  /* sh floating point compact pseudo registers.  1-to-1 with a shmedia
-     registers.  Both are 4 bytes.  */
-  else if (reg_nr >= FP0_C_REGNUM
-	       && reg_nr <= FP_LAST_C_REGNUM)
-    {
-      base_regnum = sh64_compact_reg_base_num (gdbarch, reg_nr);
-      regcache_raw_write (regcache, base_regnum, buffer);
-    }
-
-  else if (reg_nr >= DR0_C_REGNUM 
-	   && reg_nr <= DR_LAST_C_REGNUM)
-    {
-      gdb_byte temp_buffer[8];
-      base_regnum = sh64_compact_reg_base_num (gdbarch, reg_nr);
-      for (portion = 0; portion < 2; portion++)
-	{
-	  /* We must pay attention to the endianness.  */
-	  sh64_register_convert_to_raw (gdbarch,
-					register_type (gdbarch, reg_nr),
-					reg_nr,
-					buffer, temp_buffer);
-
-	  regcache_raw_write (regcache, base_regnum + portion,
-			      (temp_buffer
-			       + register_size (gdbarch, 
-						base_regnum) * portion));
-	}
-    }
-
-  else if (reg_nr >= FV0_C_REGNUM 
-	   && reg_nr <= FV_LAST_C_REGNUM)
-    {
-      base_regnum = sh64_compact_reg_base_num (gdbarch, reg_nr);
-     
-      for (portion = 0; portion < 4; portion++)
-	{
-	  regcache_raw_write (regcache, base_regnum + portion,
-			      (buffer
-			       + register_size (gdbarch, 
-						base_regnum) * portion));
-	}
-    }
-
-  else if (reg_nr == FPSCR_C_REGNUM)
-    {      
-      int fpscr_base_regnum;
-      int sr_base_regnum;
-      ULONGEST fpscr_value;
-      ULONGEST sr_value;
-      ULONGEST old_fpscr_value;
-      ULONGEST old_sr_value;
-      unsigned int fpscr_c_value;
-      unsigned int fpscr_mask;
-      unsigned int sr_mask;
-
-      fpscr_base_regnum = FPSCR_REGNUM;
-      sr_base_regnum = SR_REGNUM;
-
-      /* FPSCR_C is a very weird register that contains sparse bits
-	 from the FPSCR and the SR architectural registers.
-	 Specifically: */
-      /* *INDENT-OFF* */
-      /*
-	 FPSRC_C bit
-            0         Bit 0 of FPSCR
-            1         reserved
-            2-17      Bit 2-18 of FPSCR
-            18-20     Bits 12,13,14 of SR
-            21-31     reserved
-       */
-      /* *INDENT-ON* */
-      /* Get value as an int.  */
-      fpscr_c_value = extract_unsigned_integer (buffer, 4, byte_order);
-
-      /* Build the new values.  */
-      fpscr_mask = 0x0003fffd;
-      sr_mask = 0x001c0000;
-       
-      fpscr_value = fpscr_c_value & fpscr_mask;
-      sr_value = (fpscr_value & sr_mask) >> 6;
-      
-      regcache->raw_read (fpscr_base_regnum, &old_fpscr_value);
-      old_fpscr_value &= 0xfffc0002;
-      fpscr_value |= old_fpscr_value;
-      regcache->raw_write (fpscr_base_regnum, fpscr_value);
-
-      regcache->raw_read (sr_base_regnum, &old_sr_value);
-      old_sr_value &= 0xffff8fff;
-      sr_value |= old_sr_value;
-      regcache->raw_write (sr_base_regnum, sr_value);
-    }
-
-  else if (reg_nr == FPUL_C_REGNUM)
-    {
-      base_regnum = sh64_compact_reg_base_num (gdbarch, reg_nr);
-      regcache_raw_write (regcache, base_regnum, buffer);
-    }
-}
-
-/* FIXME:!! THIS SHOULD TAKE CARE OF GETTING THE RIGHT PORTION OF THE
-   shmedia REGISTERS.  */
-/* Control registers, compact mode.  */
-static void
-sh64_do_cr_c_register_info (struct ui_file *file, struct frame_info *frame,
-			    int cr_c_regnum)
-{
-  switch (cr_c_regnum)
-    {
-    case PC_C_REGNUM:
-      fprintf_filtered (file, "pc_c\t0x%08x\n",
-	  (int) get_frame_register_unsigned (frame, cr_c_regnum));
-      break;
-    case GBR_C_REGNUM: 
-      fprintf_filtered (file, "gbr_c\t0x%08x\n",
-      	  (int) get_frame_register_unsigned (frame, cr_c_regnum));
-      break;
-    case MACH_C_REGNUM: 
-      fprintf_filtered (file, "mach_c\t0x%08x\n",
-      	  (int) get_frame_register_unsigned (frame, cr_c_regnum));
-      break;
-    case MACL_C_REGNUM: 
-      fprintf_filtered (file, "macl_c\t0x%08x\n",
-      	  (int) get_frame_register_unsigned (frame, cr_c_regnum));
-      break;
-    case PR_C_REGNUM: 
-      fprintf_filtered (file, "pr_c\t0x%08x\n",
-      	  (int) get_frame_register_unsigned (frame, cr_c_regnum));
-      break;
-    case T_C_REGNUM: 
-      fprintf_filtered (file, "t_c\t0x%08x\n",
-      	  (int) get_frame_register_unsigned (frame, cr_c_regnum));
-      break;
-    case FPSCR_C_REGNUM: 
-      fprintf_filtered (file, "fpscr_c\t0x%08x\n",
-      	  (int) get_frame_register_unsigned (frame, cr_c_regnum));
-      break;
-    case FPUL_C_REGNUM:
-      fprintf_filtered (file, "fpul_c\t0x%08x\n",
-          (int) get_frame_register_unsigned (frame, cr_c_regnum));
-      break;
-    }
-}
-
-static void
-sh64_do_fp_register (struct gdbarch *gdbarch, struct ui_file *file,
-		     struct frame_info *frame, int regnum)
-{				/* Do values for FP (float) regs.  */
-  unsigned char *raw_buffer;
-
-  /* Allocate space for the float.  */
-  raw_buffer = (unsigned char *)
-    alloca (register_size (gdbarch, gdbarch_fp0_regnum (gdbarch)));
-
-  /* Get the data in raw format.  */
-  if (!deprecated_frame_register_read (frame, regnum, raw_buffer))
-    error (_("can't read register %d (%s)"),
-	   regnum, gdbarch_register_name (gdbarch, regnum));
-
-  /* Print the name and some spaces.  */
-  fputs_filtered (gdbarch_register_name (gdbarch, regnum), file);
-  print_spaces_filtered (15 - strlen (gdbarch_register_name
-					(gdbarch, regnum)), file);
-
-  /* Print the value.  */
-  const struct type *flt_type = builtin_type (gdbarch)->builtin_float;
-  std::string str = target_float_to_string (raw_buffer, flt_type, "%-10.9g");
-  fprintf_filtered (file, "%s", str.c_str ());
-
-  /* Print the fp register as hex.  */
-  fprintf_filtered (file, "\t(raw ");
-  print_hex_chars (file, raw_buffer,
-		   register_size (gdbarch, regnum),
-		   gdbarch_byte_order (gdbarch), true);
-  fprintf_filtered (file, ")");
-  fprintf_filtered (file, "\n");
-}
-
-static void
-sh64_do_pseudo_register (struct gdbarch *gdbarch, struct ui_file *file,
-			 struct frame_info *frame, int regnum)
-{
-  /* All the sh64-compact mode registers are pseudo registers.  */
-
-  if (regnum < gdbarch_num_regs (gdbarch)
-      || regnum >= gdbarch_num_regs (gdbarch)
-		   + NUM_PSEUDO_REGS_SH_MEDIA
-		   + NUM_PSEUDO_REGS_SH_COMPACT)
-    internal_error (__FILE__, __LINE__,
-		    _("Invalid pseudo register number %d\n"), regnum);
-
-  else if ((regnum >= DR0_REGNUM && regnum <= DR_LAST_REGNUM))
-    {
-      int fp_regnum = sh64_dr_reg_base_num (gdbarch, regnum);
-      fprintf_filtered (file, "dr%d\t0x%08x%08x\n", regnum - DR0_REGNUM, 
-	  (unsigned) get_frame_register_unsigned (frame, fp_regnum),
-	  (unsigned) get_frame_register_unsigned (frame, fp_regnum + 1));
-    }
-
-  else if ((regnum >= DR0_C_REGNUM && regnum <= DR_LAST_C_REGNUM))
-    {
-      int fp_regnum = sh64_compact_reg_base_num (gdbarch, regnum);
-      fprintf_filtered (file, "dr%d_c\t0x%08x%08x\n", regnum - DR0_C_REGNUM,
-	  (unsigned) get_frame_register_unsigned (frame, fp_regnum),
-	  (unsigned) get_frame_register_unsigned (frame, fp_regnum + 1));
-    }
-
-  else if ((regnum >= FV0_REGNUM && regnum <= FV_LAST_REGNUM))
-    {
-      int fp_regnum = sh64_fv_reg_base_num (gdbarch, regnum);
-      fprintf_filtered (file, "fv%d\t0x%08x\t0x%08x\t0x%08x\t0x%08x\n", 
-	   regnum - FV0_REGNUM, 
-	   (unsigned) get_frame_register_unsigned (frame, fp_regnum),
-	   (unsigned) get_frame_register_unsigned (frame, fp_regnum + 1),
-	   (unsigned) get_frame_register_unsigned (frame, fp_regnum + 2),
-	   (unsigned) get_frame_register_unsigned (frame, fp_regnum + 3));
-    }
-	   
-  else if ((regnum >= FV0_C_REGNUM && regnum <= FV_LAST_C_REGNUM))
-    {
-      int fp_regnum = sh64_compact_reg_base_num (gdbarch, regnum);
-      fprintf_filtered (file, "fv%d_c\t0x%08x\t0x%08x\t0x%08x\t0x%08x\n", 
-	   regnum - FV0_C_REGNUM, 
-	   (unsigned) get_frame_register_unsigned (frame, fp_regnum),
-	   (unsigned) get_frame_register_unsigned (frame, fp_regnum + 1),
-	   (unsigned) get_frame_register_unsigned (frame, fp_regnum + 2),
-	   (unsigned) get_frame_register_unsigned (frame, fp_regnum + 3));
-    }
-
-  else if (regnum >= FPP0_REGNUM && regnum <= FPP_LAST_REGNUM)
-    {
-      int fp_regnum = sh64_fpp_reg_base_num (gdbarch, regnum);
-      fprintf_filtered (file, "fpp%d\t0x%08x\t0x%08x\n", regnum - FPP0_REGNUM, 
-	  (unsigned) get_frame_register_unsigned (frame, fp_regnum),
-	  (unsigned) get_frame_register_unsigned (frame, fp_regnum + 1));
-    }
-
-  else if (regnum >= R0_C_REGNUM && regnum <= R_LAST_C_REGNUM)
-    {
-      int c_regnum = sh64_compact_reg_base_num (gdbarch, regnum);
-      fprintf_filtered (file, "r%d_c\t0x%08x\n", regnum - R0_C_REGNUM, 
-	   (unsigned) get_frame_register_unsigned (frame, c_regnum));
-    }
-  else if (regnum >= FP0_C_REGNUM && regnum <= FP_LAST_C_REGNUM)
-    /* This should work also for pseudoregs.  */
-    sh64_do_fp_register (gdbarch, file, frame, regnum);
-  else if (regnum >= PC_C_REGNUM && regnum <= FPUL_C_REGNUM)
-    sh64_do_cr_c_register_info (file, frame, regnum);
-}
-
-static void
-sh64_do_register (struct gdbarch *gdbarch, struct ui_file *file,
-		  struct frame_info *frame, int regnum)
-{
-  struct value_print_options opts;
-  struct value *val;
-
-  fputs_filtered (gdbarch_register_name (gdbarch, regnum), file);
-  print_spaces_filtered (15 - strlen (gdbarch_register_name
-				      (gdbarch, regnum)), file);
-
-  /* Get the data in raw format.  */
-  val = get_frame_register_value (frame, regnum);
-  if (value_optimized_out (val) || !value_entirely_available (val))
-    {
-      fprintf_filtered (file, "*value not available*\n");
-      return;
-    }
-
-  get_formatted_print_options (&opts, 'x');
-  opts.deref_ref = 1;
-  val_print (register_type (gdbarch, regnum),
-	     0, 0,
-	     file, 0, val, &opts, current_language);
-  fprintf_filtered (file, "\t");
-  get_formatted_print_options (&opts, 0);
-  opts.deref_ref = 1;
-  val_print (register_type (gdbarch, regnum),
-	     0, 0,
-	     file, 0, val, &opts, current_language);
-  fprintf_filtered (file, "\n");
-}
-
-static void
-sh64_print_register (struct gdbarch *gdbarch, struct ui_file *file,
-		     struct frame_info *frame, int regnum)
-{
-  if (regnum < 0 || regnum >= gdbarch_num_regs (gdbarch)
-			      + gdbarch_num_pseudo_regs (gdbarch))
-    internal_error (__FILE__, __LINE__,
-		    _("Invalid register number %d\n"), regnum);
-
-  else if (regnum >= 0 && regnum < gdbarch_num_regs (gdbarch))
-    {
-      if (TYPE_CODE (register_type (gdbarch, regnum)) == TYPE_CODE_FLT)
-	sh64_do_fp_register (gdbarch, file, frame, regnum);	/* FP regs */
-      else
-	sh64_do_register (gdbarch, file, frame, regnum);
-    }
-
-  else if (regnum < gdbarch_num_regs (gdbarch)
-		    + gdbarch_num_pseudo_regs (gdbarch))
-    sh64_do_pseudo_register (gdbarch, file, frame, regnum);
-}
-
-static void
-sh64_media_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file,
-				 struct frame_info *frame, int regnum,
-				 int fpregs)
-{
-  if (regnum != -1)		/* Do one specified register.  */
-    {
-      if (*(gdbarch_register_name (gdbarch, regnum)) == '\0')
-	error (_("Not a valid register for the current processor type"));
-
-      sh64_print_register (gdbarch, file, frame, regnum);
-    }
-  else
-    /* Do all (or most) registers.  */
-    {
-      regnum = 0;
-      while (regnum < gdbarch_num_regs (gdbarch))
-	{
-	  /* If the register name is empty, it is undefined for this
-	     processor, so don't display anything.  */
-	  if (gdbarch_register_name (gdbarch, regnum) == NULL
-	      || *(gdbarch_register_name (gdbarch, regnum)) == '\0')
-	    { 
-	      regnum++;
-	      continue;
-	    }
-
-	  if (TYPE_CODE (register_type (gdbarch, regnum))
-	      == TYPE_CODE_FLT)
-	    {
-	      if (fpregs)
-		{
-		  /* true for "INFO ALL-REGISTERS" command.  */
-		  sh64_do_fp_register (gdbarch, file, frame, regnum);
-		  regnum ++;
-		}
-	      else
-		regnum += FP_LAST_REGNUM - gdbarch_fp0_regnum (gdbarch);
-		/* skip FP regs */
-	    }
-	  else
-	    {
-	      sh64_do_register (gdbarch, file, frame, regnum);
-	      regnum++;
-	    }
-	}
-
-      if (fpregs)
-	while (regnum < gdbarch_num_regs (gdbarch)
-			+ gdbarch_num_pseudo_regs (gdbarch))
-	  {
-	    sh64_do_pseudo_register (gdbarch, file, frame, regnum);
-	    regnum++;
-	  }
-    }
-}
-
-static void
-sh64_compact_print_registers_info (struct gdbarch *gdbarch,
-				   struct ui_file *file,
-				   struct frame_info *frame, int regnum,
-				   int fpregs)
-{
-  if (regnum != -1)		/* Do one specified register.  */
-    {
-      if (*(gdbarch_register_name (gdbarch, regnum)) == '\0')
-	error (_("Not a valid register for the current processor type"));
-
-      if (regnum >= 0 && regnum < R0_C_REGNUM)
-        error (_("Not a valid register for the current processor mode."));
-
-      sh64_print_register (gdbarch, file, frame, regnum);
-    }
-  else
-    /* Do all compact registers.  */
-    {
-      regnum = R0_C_REGNUM;
-      while (regnum < gdbarch_num_regs (gdbarch)
-		      + gdbarch_num_pseudo_regs (gdbarch))
-        {
-          sh64_do_pseudo_register (gdbarch, file, frame, regnum);
-          regnum++;
-        }
-    }
-}
-
-static void
-sh64_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file,
-			   struct frame_info *frame, int regnum, int fpregs)
-{
-  if (pc_is_isa32 (get_frame_pc (frame)))
-    sh64_media_print_registers_info (gdbarch, file, frame, regnum, fpregs);
-  else
-    sh64_compact_print_registers_info (gdbarch, file, frame, regnum, fpregs);
-}
-
-static struct sh64_frame_cache *
-sh64_alloc_frame_cache (void)
-{
-  struct sh64_frame_cache *cache;
-  int i;
-
-  cache = FRAME_OBSTACK_ZALLOC (struct sh64_frame_cache);
-
-  /* Base address.  */
-  cache->base = 0;
-  cache->saved_sp = 0;
-  cache->sp_offset = 0;
-  cache->pc = 0;
-
-  /* Frameless until proven otherwise.  */
-  cache->uses_fp = 0;
-
-  /* Saved registers.  We initialize these to -1 since zero is a valid
-     offset (that's where fp is supposed to be stored).  */
-  for (i = 0; i < SIM_SH64_NR_REGS; i++)
-    {
-      cache->saved_regs[i] = -1;
-    }
-
-  return cache;
-}
-
-static struct sh64_frame_cache *
-sh64_frame_cache (struct frame_info *this_frame, void **this_cache)
-{
-  struct gdbarch *gdbarch;
-  struct sh64_frame_cache *cache;
-  CORE_ADDR current_pc;
-  int i;
-
-  if (*this_cache)
-    return (struct sh64_frame_cache *) *this_cache;
-
-  gdbarch = get_frame_arch (this_frame);
-  cache = sh64_alloc_frame_cache ();
-  *this_cache = cache;
-
-  current_pc = get_frame_pc (this_frame);
-  cache->media_mode = pc_is_isa32 (current_pc);
-
-  /* In principle, for normal frames, fp holds the frame pointer,
-     which holds the base address for the current stack frame.
-     However, for functions that don't need it, the frame pointer is
-     optional.  For these "frameless" functions the frame pointer is
-     actually the frame pointer of the calling frame.  */
-  cache->base = get_frame_register_unsigned (this_frame, MEDIA_FP_REGNUM);
-  if (cache->base == 0)
-    return cache;
-
-  cache->pc = get_frame_func (this_frame);
-  if (cache->pc != 0)
-    sh64_analyze_prologue (gdbarch, cache, cache->pc, current_pc);
-
-  if (!cache->uses_fp)
-    {
-      /* We didn't find a valid frame, which means that CACHE->base
-         currently holds the frame pointer for our calling frame.  If
-         we're at the start of a function, or somewhere half-way its
-         prologue, the function's frame probably hasn't been fully
-         setup yet.  Try to reconstruct the base address for the stack
-         frame by looking at the stack pointer.  For truly "frameless"
-         functions this might work too.  */
-      cache->base = get_frame_register_unsigned
-		    (this_frame, gdbarch_sp_regnum (gdbarch));
-    }
-
-  /* Now that we have the base address for the stack frame we can
-     calculate the value of sp in the calling frame.  */
-  cache->saved_sp = cache->base + cache->sp_offset;
-
-  /* Adjust all the saved registers such that they contain addresses
-     instead of offsets.  */
-  for (i = 0; i < SIM_SH64_NR_REGS; i++)
-    if (cache->saved_regs[i] != -1)
-      cache->saved_regs[i] = cache->saved_sp - cache->saved_regs[i];
-
-  return cache;
-}
-
-static struct value *
-sh64_frame_prev_register (struct frame_info *this_frame,
-			  void **this_cache, int regnum)
-{
-  struct sh64_frame_cache *cache = sh64_frame_cache (this_frame, this_cache);
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-
-  gdb_assert (regnum >= 0);
-
-  if (regnum == gdbarch_sp_regnum (gdbarch) && cache->saved_sp)
-    frame_unwind_got_constant (this_frame, regnum, cache->saved_sp);
-
-  /* The PC of the previous frame is stored in the PR register of
-     the current frame.  Frob regnum so that we pull the value from
-     the correct place.  */
-  if (regnum == gdbarch_pc_regnum (gdbarch))
-    regnum = PR_REGNUM;
-
-  if (regnum < SIM_SH64_NR_REGS && cache->saved_regs[regnum] != -1)
-    {
-      if (gdbarch_tdep (gdbarch)->sh_abi == SH_ABI_32
-          && (regnum == MEDIA_FP_REGNUM || regnum == PR_REGNUM))
-        {
-	  CORE_ADDR val;
-	  val = read_memory_unsigned_integer (cache->saved_regs[regnum],
-					      4, byte_order);
-	  return frame_unwind_got_constant (this_frame, regnum, val);
-        }
-
-      return frame_unwind_got_memory (this_frame, regnum,
-				      cache->saved_regs[regnum]);
-    }
-
-  return frame_unwind_got_register (this_frame, regnum, regnum);
-}
-
-static void
-sh64_frame_this_id (struct frame_info *this_frame, void **this_cache,
-		    struct frame_id *this_id)
-{
-  struct sh64_frame_cache *cache = sh64_frame_cache (this_frame, this_cache);
-
-  /* This marks the outermost frame.  */
-  if (cache->base == 0)
-    return;
-
-  *this_id = frame_id_build (cache->saved_sp, cache->pc);
-}
-
-static const struct frame_unwind sh64_frame_unwind = {
-  NORMAL_FRAME,
-  default_frame_unwind_stop_reason,
-  sh64_frame_this_id,
-  sh64_frame_prev_register,
-  NULL,
-  default_frame_sniffer
-};
-
-static CORE_ADDR
-sh64_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
-  return frame_unwind_register_unsigned (next_frame,
-					 gdbarch_sp_regnum (gdbarch));
-}
-
-static CORE_ADDR
-sh64_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
-  return frame_unwind_register_unsigned (next_frame,
-					 gdbarch_pc_regnum (gdbarch));
-}
-
-static struct frame_id
-sh64_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
-{
-  CORE_ADDR sp = get_frame_register_unsigned (this_frame,
-					      gdbarch_sp_regnum (gdbarch));
-  return frame_id_build (sp, get_frame_pc (this_frame));
-}
-
-static CORE_ADDR
-sh64_frame_base_address (struct frame_info *this_frame, void **this_cache)
-{
-  struct sh64_frame_cache *cache = sh64_frame_cache (this_frame, this_cache);
-
-  return cache->base;
-}
-
-static const struct frame_base sh64_frame_base = {
-  &sh64_frame_unwind,
-  sh64_frame_base_address,
-  sh64_frame_base_address,
-  sh64_frame_base_address
-};
-
-
-struct gdbarch *
-sh64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
-{
-  struct gdbarch *gdbarch;
-  struct gdbarch_tdep *tdep;
-
-  /* If there is already a candidate, use it.  */
-  arches = gdbarch_list_lookup_by_info (arches, &info);
-  if (arches != NULL)
-    return arches->gdbarch;
-
-  /* None found, create a new architecture from the information
-     provided.  */
-  tdep = XCNEW (struct gdbarch_tdep);
-  gdbarch = gdbarch_alloc (&info, tdep);
-
-  /* Determine the ABI */
-  if (info.abfd && bfd_get_arch_size (info.abfd) == 64)
-    {
-      /* If the ABI is the 64-bit one, it can only be sh-media.  */
-      tdep->sh_abi = SH_ABI_64;
-      set_gdbarch_ptr_bit (gdbarch, 8 * TARGET_CHAR_BIT);
-      set_gdbarch_long_bit (gdbarch, 8 * TARGET_CHAR_BIT);
-    }
-  else
-    {
-      /* If the ABI is the 32-bit one it could be either media or
-	 compact.  */
-      tdep->sh_abi = SH_ABI_32;
-      set_gdbarch_ptr_bit (gdbarch, 4 * TARGET_CHAR_BIT);
-      set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
-    }
-
-  set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT);
-  set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT);
-  set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
-  set_gdbarch_long_long_bit (gdbarch, 8 * TARGET_CHAR_BIT);
-  set_gdbarch_float_bit (gdbarch, 4 * TARGET_CHAR_BIT);
-  set_gdbarch_double_bit (gdbarch, 8 * TARGET_CHAR_BIT);
-  set_gdbarch_long_double_bit (gdbarch, 8 * TARGET_CHAR_BIT);
-
-  /* The number of real registers is the same whether we are in 
-     ISA16(compact) or ISA32(media).  */
-  set_gdbarch_num_regs (gdbarch, SIM_SH64_NR_REGS);
-  set_gdbarch_sp_regnum (gdbarch, 15);
-  set_gdbarch_pc_regnum (gdbarch, 64);
-  set_gdbarch_fp0_regnum (gdbarch, SIM_SH64_FR0_REGNUM);
-  set_gdbarch_num_pseudo_regs (gdbarch, NUM_PSEUDO_REGS_SH_MEDIA
-  					+ NUM_PSEUDO_REGS_SH_COMPACT);
-
-  set_gdbarch_register_name (gdbarch, sh64_register_name);
-  set_gdbarch_register_type (gdbarch, sh64_register_type);
-
-  set_gdbarch_pseudo_register_read (gdbarch, sh64_pseudo_register_read);
-  set_gdbarch_pseudo_register_write (gdbarch, sh64_pseudo_register_write);
-
-  set_gdbarch_breakpoint_kind_from_pc (gdbarch, sh64_breakpoint_kind_from_pc);
-  set_gdbarch_sw_breakpoint_from_kind (gdbarch, sh64_sw_breakpoint_from_kind);
-  set_gdbarch_register_sim_regno (gdbarch, legacy_register_sim_regno);
-
-  set_gdbarch_return_value (gdbarch, sh64_return_value);
-
-  set_gdbarch_skip_prologue (gdbarch, sh64_skip_prologue);
-  set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-
-  set_gdbarch_push_dummy_call (gdbarch, sh64_push_dummy_call);
-
-  set_gdbarch_believe_pcc_promotion (gdbarch, 1);
-
-  set_gdbarch_frame_align (gdbarch, sh64_frame_align);
-  set_gdbarch_unwind_sp (gdbarch, sh64_unwind_sp);
-  set_gdbarch_unwind_pc (gdbarch, sh64_unwind_pc);
-  set_gdbarch_dummy_id (gdbarch, sh64_dummy_id);
-  frame_base_set_default (gdbarch, &sh64_frame_base);
-
-  set_gdbarch_print_registers_info (gdbarch, sh64_print_registers_info);
-
-  set_gdbarch_elf_make_msymbol_special (gdbarch,
-					sh64_elf_make_msymbol_special);
-
-  /* Hook in ABI-specific overrides, if they have been registered.  */
-  gdbarch_init_osabi (info, gdbarch);
-
-  dwarf2_append_unwinders (gdbarch);
-  frame_unwind_append_unwinder (gdbarch, &sh64_frame_unwind);
-
-  return gdbarch;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sh64-tdep.h ./gdb/sh64-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sh64-tdep.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sh64-tdep.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,24 +0,0 @@
-/* Target-dependent definitions for Renesas Super-H, for GDB.
-   Copyright (C) 2012-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef SH64_TDEP_H
-#define SH64_TDEP_H
-
-extern gdbarch_init_ftype sh64_gdbarch_init;
-
-#endif /* SH64_TDEP_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sh-linux-tdep.c ./gdb/sh-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sh-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sh-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -194,22 +194,17 @@ sh_linux_init_abi (struct gdbarch_info i
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
                                              svr4_fetch_objfile_link_map);
 
-  /* Core files and signal handler frame unwinding are supported for
-     32-bit SH only, at present.  */
-  if (info.bfd_arch_info->mach != bfd_mach_sh5)
-    {
-      struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
-      /* Remember regset characteristics.  The sizes should match
-	 elf_gregset_t and elf_fpregset_t from Linux.  */
-      tdep->core_gregmap = (struct sh_corefile_regmap *)gregs_table;
-      tdep->sizeof_gregset = 92;
-      tdep->core_fpregmap = (struct sh_corefile_regmap *)fpregs_table;
-      tdep->sizeof_fpregset = 136;
+  /* Remember regset characteristics.  The sizes should match
+     elf_gregset_t and elf_fpregset_t from Linux.  */
+  tdep->core_gregmap = (struct sh_corefile_regmap *) gregs_table;
+  tdep->sizeof_gregset = 92;
+  tdep->core_fpregmap = (struct sh_corefile_regmap *) fpregs_table;
+  tdep->sizeof_fpregset = 136;
 
-      tramp_frame_prepend_unwinder (gdbarch, &sh_linux_sigreturn_tramp_frame);
-      tramp_frame_prepend_unwinder (gdbarch, &sh_linux_rt_sigreturn_tramp_frame);
-    }
+  tramp_frame_prepend_unwinder (gdbarch, &sh_linux_sigreturn_tramp_frame);
+  tramp_frame_prepend_unwinder (gdbarch, &sh_linux_rt_sigreturn_tramp_frame);
 }
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sh-nbsd-nat.c ./gdb/sh-nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sh-nbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sh-nbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,6 +30,13 @@
 #include "inf-ptrace.h"
 #include "regcache.h"
 
+struct sh_nbsd_nat_target final : public inf_ptrace_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static sh_nbsd_nat_target the_sh_nbsd_nat_target;
 
 /* Determine if PT_GETREGS fetches this register.  */
 #define GETREGS_SUPPLIES(gdbarch, regno) \
@@ -41,11 +48,10 @@
 /* Sizeof `struct reg' in <machine/reg.h>.  */
 #define SHNBSD_SIZEOF_GREGS	(21 * 4)
 
-static void
-shnbsd_fetch_inferior_registers (struct target_ops *ops,
-				 struct regcache *regcache, int regno)
+void
+sh_nbsd_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (regno == -1 || GETREGS_SUPPLIES (regcache->arch (), regno))
     {
@@ -64,11 +70,10 @@ shnbsd_fetch_inferior_registers (struct 
     }
 }
 
-static void
-shnbsd_store_inferior_registers (struct target_ops *ops,
-				 struct regcache *regcache, int regno)
+void
+sh_nbsd_nat_target::store_registers (struct regcache *regcache, int regno)
 {
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (regno == -1 || GETREGS_SUPPLIES (regcache->arch (), regno))
     {
@@ -94,10 +99,5 @@ shnbsd_store_inferior_registers (struct 
 void
 _initialize_shnbsd_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = shnbsd_fetch_inferior_registers;
-  t->to_store_registers = shnbsd_store_inferior_registers;
-  add_target (t);
+  add_inf_child_target (&the_sh_nbsd_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sh-tdep.c ./gdb/sh-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sh-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sh-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -41,7 +41,6 @@
 #include "objfiles.h"
 
 #include "sh-tdep.h"
-#include "sh64-tdep.h"
 
 #include "elf-bfd.h"
 #include "solib-svr4.h"
@@ -1325,7 +1324,7 @@ sh_extract_return_value_nofpu (struct ty
     {
       int i, regnum = R0_REGNUM;
       for (i = 0; i < len; i += 4)
-	regcache_raw_read (regcache, regnum++, valbuf + i);
+	regcache->raw_read (regnum++, valbuf + i);
     }
   else
     error (_("bad size for return value"));
@@ -1342,10 +1341,10 @@ sh_extract_return_value_fpu (struct type
       int i, regnum = gdbarch_fp0_regnum (gdbarch);
       for (i = 0; i < len; i += 4)
 	if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
-	  regcache_raw_read (regcache, regnum++,
+	  regcache->raw_read (regnum++,
 			     valbuf + len - 4 - i);
 	else
-	  regcache_raw_read (regcache, regnum++, valbuf + i);
+	  regcache->raw_read (regnum++, valbuf + i);
     }
   else
     sh_extract_return_value_nofpu (type, regcache, valbuf);
@@ -1375,7 +1374,7 @@ sh_store_return_value_nofpu (struct type
     {
       int i, regnum = R0_REGNUM;
       for (i = 0; i < len; i += 4)
-	regcache_raw_write (regcache, regnum++, valbuf + i);
+	regcache->raw_write (regnum++, valbuf + i);
     }
 }
 
@@ -1390,10 +1389,10 @@ sh_store_return_value_fpu (struct type *
       int i, regnum = gdbarch_fp0_regnum (gdbarch);
       for (i = 0; i < len; i += 4)
 	if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
-	  regcache_raw_write (regcache, regnum++,
+	  regcache->raw_write (regnum++,
 			      valbuf + len - 4 - i);
 	else
-	  regcache_raw_write (regcache, regnum++, valbuf + i);
+	  regcache->raw_write (regnum++, valbuf + i);
     }
   else
     sh_store_return_value_nofpu (type, regcache, valbuf);
@@ -1628,7 +1627,7 @@ dr_reg_base_num (struct gdbarch *gdbarch
 
 static enum register_status
 pseudo_register_read_portions (struct gdbarch *gdbarch,
-			       struct regcache *regcache,
+			       readable_regcache *regcache,
 			       int portions,
 			       int base_regnum, gdb_byte *buffer)
 {
@@ -1640,7 +1639,7 @@ pseudo_register_read_portions (struct gd
       gdb_byte *b;
 
       b = buffer + register_size (gdbarch, base_regnum) * portion;
-      status = regcache_raw_read (regcache, base_regnum + portion, b);
+      status = regcache->raw_read (base_regnum + portion, b);
       if (status != REG_VALID)
 	return status;
     }
@@ -1649,14 +1648,14 @@ pseudo_register_read_portions (struct gd
 }
 
 static enum register_status
-sh_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
+sh_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
 			 int reg_nr, gdb_byte *buffer)
 {
   int base_regnum;
   enum register_status status;
 
   if (reg_nr == PSEUDO_BANK_REGNUM)
-    return regcache_raw_read (regcache, BANK_REGNUM, buffer);
+    return regcache->raw_read (BANK_REGNUM, buffer);
   else if (reg_nr >= DR0_REGNUM && reg_nr <= DR_LAST_REGNUM)
     {
       /* Enough space for two float registers.  */
@@ -1702,9 +1701,9 @@ sh_pseudo_register_write (struct gdbarch
 	 so that a re-read happens next time it's necessary.  */
       int bregnum;
 
-      regcache_raw_write (regcache, BANK_REGNUM, buffer);
+      regcache->raw_write (BANK_REGNUM, buffer);
       for (bregnum = R0_BANK0_REGNUM; bregnum < MACLB_REGNUM; ++bregnum)
-        regcache_invalidate (regcache, bregnum);
+        regcache->invalidate (bregnum);
     }
   else if (reg_nr >= DR0_REGNUM && reg_nr <= DR_LAST_REGNUM)
     {
@@ -1718,7 +1717,7 @@ sh_pseudo_register_write (struct gdbarch
 
       /* Write the real regs for which this one is an alias.  */
       for (portion = 0; portion < 2; portion++)
-	regcache_raw_write (regcache, base_regnum + portion,
+	regcache->raw_write (base_regnum + portion,
 			    (temp_buffer
 			     + register_size (gdbarch,
 					      base_regnum) * portion));
@@ -1729,7 +1728,7 @@ sh_pseudo_register_write (struct gdbarch
 
       /* Write the real regs for which this one is an alias.  */
       for (portion = 0; portion < 4; portion++)
-	regcache_raw_write (regcache, base_regnum + portion,
+	regcache->raw_write (base_regnum + portion,
 			    (buffer
 			     + register_size (gdbarch,
 					      base_regnum) * portion));
@@ -2176,8 +2175,8 @@ sh_corefile_supply_regset (const struct 
     {
       if ((regnum == -1 || regnum == regmap[i].regnum)
 	  && regmap[i].offset + 4 <= len)
-	regcache_raw_supply (regcache, regmap[i].regnum,
-			     (char *)regs + regmap[i].offset);
+	regcache->raw_supply
+	  (regmap[i].regnum, (char *) regs + regmap[i].offset);
     }
 }
 
@@ -2202,7 +2201,7 @@ sh_corefile_collect_regset (const struct
     {
       if ((regnum == -1 || regnum == regmap[i].regnum)
 	  && regmap[i].offset + 4 <= len)
-	regcache_raw_collect (regcache, regmap[i].regnum,
+	regcache->raw_collect (regmap[i].regnum,
 			      (char *)regs + regmap[i].offset);
     }
 }
@@ -2257,10 +2256,6 @@ sh_gdbarch_init (struct gdbarch_info inf
   struct gdbarch *gdbarch;
   struct gdbarch_tdep *tdep;
 
-  /* SH5 is handled entirely in sh64-tdep.c.  */
-  if (info.bfd_arch_info->mach == bfd_mach_sh5)
-    return sh64_gdbarch_init (info, arches);
-
   /* If there is already a candidate, use it.  */
   arches = gdbarch_list_lookup_by_info (arches, &info);
   if (arches != 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.1.0.20180703/gdb/silent-rules.mk ./gdb/silent-rules.mk
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/silent-rules.mk	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/silent-rules.mk	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,15 @@
+# If V is undefined or V=0 is specified, use the silent/verbose/compact mode.
+V ?= 0
+ifeq ($(V),0)
+ECHO_CXX =    @echo "  CXX    $@";
+ECHO_CXXLD =  @echo "  CXXLD  $@";
+ECHO_REGDAT = @echo "  REGDAT $@";
+ECHO_GEN =    @echo "  GEN    $@";
+ECHO_GEN_XML_BUILTIN = \
+              @echo "  GEN    xml-builtin.c";
+ECHO_GEN_XML_BUILTIN_GENERATED = \
+              @echo "  GEN    xml-builtin-generated.c";
+ECHO_INIT_C =  echo "  GEN    init.c" ||
+ECHO_SIGN =   @echo "  SIGN   gdb";
+SILENCE = @
+endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/skip.c ./gdb/skip.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/skip.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/skip.c	2018-07-10 02:06:13.000000000 +0000
@@ -610,13 +610,13 @@ _initialize_step_skip (void)
 Ignore a function while stepping.\n\
 \n\
 Usage: skip [FUNCTION-NAME]\n\
-       skip [<file-spec>] [<function-spec>]\n\
+       skip [FILE-SPEC] [FUNCTION-SPEC]\n\
 If no arguments are given, ignore the current function.\n\
 \n\
-<file-spec> is one of:\n\
+FILE-SPEC is one of:\n\
        -fi|-file FILE-NAME\n\
        -gfi|-gfile GLOB-FILE-PATTERN\n\
-<function-spec> is one of:\n\
+FUNCTION-SPEC is one of:\n\
        -fu|-function FUNCTION-NAME\n\
        -rfu|-rfunction FUNCTION-NAME-REGULAR-EXPRESSION"),
                   &skiplist, "skip ", 1, &cmdlist);
@@ -639,28 +639,28 @@ If no function name is given, skip the c
 Enable skip entries.  You can specify numbers (e.g. \"skip enable 1 3\"), \
 ranges (e.g. \"skip enable 4-8\"), or both (e.g. \"skip enable 1 3 4-8\").\n\n\
 If you don't specify any numbers or ranges, we'll enable all skip entries.\n\n\
-Usage: skip enable [NUMBERS AND/OR RANGES]"),
+Usage: skip enable [NUMBER | RANGE]..."),
 	   &skiplist);
 
   add_cmd ("disable", class_breakpoint, skip_disable_command, _("\
 Disable skip entries.  You can specify numbers (e.g. \"skip disable 1 3\"), \
 ranges (e.g. \"skip disable 4-8\"), or both (e.g. \"skip disable 1 3 4-8\").\n\n\
 If you don't specify any numbers or ranges, we'll disable all skip entries.\n\n\
-Usage: skip disable [NUMBERS AND/OR RANGES]"),
+Usage: skip disable [NUMBER | RANGE]..."),
 	   &skiplist);
 
   add_cmd ("delete", class_breakpoint, skip_delete_command, _("\
 Delete skip entries.  You can specify numbers (e.g. \"skip delete 1 3\"), \
 ranges (e.g. \"skip delete 4-8\"), or both (e.g. \"skip delete 1 3 4-8\").\n\n\
 If you don't specify any numbers or ranges, we'll delete all skip entries.\n\n\
-Usage: skip delete [NUMBERS AND/OR RANGES]"),
+Usage: skip delete [NUMBER | RANGES]..."),
            &skiplist);
 
   add_info ("skip", info_skip_command, _("\
 Display the status of skips.  You can specify numbers (e.g. \"skip info 1 3\"), \
 ranges (e.g. \"skip info 4-8\"), or both (e.g. \"skip info 1 3 4-8\").\n\n\
 If you don't specify any numbers or ranges, we'll show all skips.\n\n\
-Usage: skip info [NUMBERS AND/OR RANGES]\n\
+Usage: skip info [NUMBER | RANGES]...\n\
 The \"Type\" column indicates one of:\n\
 \tfile        - ignored file\n\
 \tfunction    - ignored function"));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sol2-tdep.c ./gdb/sol2-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sol2-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sol2-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -49,11 +49,11 @@ sol2_core_pid_to_str (struct gdbarch *gd
 
   /* Check whether we're printing an LWP (gdb thread) or a
      process.  */
-  pid = ptid_get_lwp (ptid);
+  pid = ptid.lwp ();
   if (pid != 0)
     {
       /* A thread.  */
-      xsnprintf (buf, sizeof buf, "LWP %ld", ptid_get_lwp (ptid));
+      xsnprintf (buf, sizeof buf, "LWP %ld", ptid.lwp ());
       return buf;
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-aix.c ./gdb/solib-aix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-aix.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/solib-aix.c	2018-07-10 02:06:13.000000000 +0000
@@ -24,7 +24,7 @@
 #include "objfiles.h"
 #include "symtab.h"
 #include "xcoffread.h"
-#include "observer.h"
+#include "observable.h"
 #include "gdbcmd.h"
 
 /* Variable controlling the output of the debugging traces for
@@ -134,30 +134,30 @@ static void
 library_list_start_library (struct gdb_xml_parser *parser,
 			    const struct gdb_xml_element *element,
 			    void *user_data,
-			    VEC (gdb_xml_value_s) *attributes)
+			    std::vector<gdb_xml_value> &attributes)
 {
   VEC (lm_info_aix_p) **list = (VEC (lm_info_aix_p) **) user_data;
   lm_info_aix *item = new lm_info_aix;
   struct gdb_xml_value *attr;
 
   attr = xml_find_attribute (attributes, "name");
-  item->filename = xstrdup ((const char *) attr->value);
+  item->filename = xstrdup ((const char *) attr->value.get ());
 
   attr = xml_find_attribute (attributes, "member");
   if (attr != NULL)
-    item->member_name = xstrdup ((const char *) attr->value);
+    item->member_name = xstrdup ((const char *) attr->value.get ());
 
   attr = xml_find_attribute (attributes, "text_addr");
-  item->text_addr = * (ULONGEST *) attr->value;
+  item->text_addr = * (ULONGEST *) attr->value.get ();
 
   attr = xml_find_attribute (attributes, "text_size");
-  item->text_size = * (ULONGEST *) attr->value;
+  item->text_size = * (ULONGEST *) attr->value.get ();
 
   attr = xml_find_attribute (attributes, "data_addr");
-  item->data_addr = * (ULONGEST *) attr->value;
+  item->data_addr = * (ULONGEST *) attr->value.get ();
 
   attr = xml_find_attribute (attributes, "data_size");
-  item->data_size = * (ULONGEST *) attr->value;
+  item->data_size = * (ULONGEST *) attr->value.get ();
 
   VEC_safe_push (lm_info_aix_p, *list, item);
 }
@@ -167,9 +167,11 @@ library_list_start_library (struct gdb_x
 static void
 library_list_start_list (struct gdb_xml_parser *parser,
                          const struct gdb_xml_element *element,
-                         void *user_data, VEC (gdb_xml_value_s) *attributes)
+                         void *user_data,
+			 std::vector<gdb_xml_value> &attributes)
 {
-  char *version = (char *) xml_find_attribute (attributes, "version")->value;
+  char *version
+    = (char *) xml_find_attribute (attributes, "version")->value.get ();
 
   if (strcmp (version, "1.0") != 0)
     gdb_xml_error (parser,
@@ -277,10 +279,10 @@ solib_aix_get_library_list (struct infer
   if (data->library_list != NULL)
     return data->library_list;
 
-  gdb::unique_xmalloc_ptr<char> library_document
-    = target_read_stralloc (&current_target, TARGET_OBJECT_LIBRARIES_AIX,
+  gdb::optional<gdb::char_vector> library_document
+    = target_read_stralloc (current_top_target (), TARGET_OBJECT_LIBRARIES_AIX,
 			    NULL);
-  if (library_document == NULL && warning_msg != NULL)
+  if (!library_document && warning_msg != NULL)
     {
       warning (_("%s (failed to read TARGET_OBJECT_LIBRARIES_AIX)"),
 	       warning_msg);
@@ -290,9 +292,9 @@ solib_aix_get_library_list (struct infer
   if (solib_aix_debug)
     fprintf_unfiltered (gdb_stdlog,
 			"DEBUG: TARGET_OBJECT_LIBRARIES_AIX = \n%s\n",
-			library_document.get ());
+			library_document->data ());
 
-  data->library_list = solib_aix_parse_libraries (library_document.get ());
+  data->library_list = solib_aix_parse_libraries (library_document->data ());
   if (data->library_list == NULL && warning_msg != NULL)
     {
       warning (_("%s (missing XML support?)"), warning_msg);
@@ -437,14 +439,14 @@ solib_aix_clear_solib (void)
    The resulting array is computed on the heap and must be
    deallocated after use.  */
 
-static struct section_offsets *
+static gdb::unique_xmalloc_ptr<struct section_offsets>
 solib_aix_get_section_offsets (struct objfile *objfile,
 			       lm_info_aix *info)
 {
-  struct section_offsets *offsets;
   bfd *abfd = objfile->obfd;
 
-  offsets = XCNEWVEC (struct section_offsets, objfile->num_sections);
+  gdb::unique_xmalloc_ptr<struct section_offsets> offsets
+    (XCNEWVEC (struct section_offsets, objfile->num_sections));
 
   /* .text */
 
@@ -513,12 +515,10 @@ solib_aix_solib_create_inferior_hook (in
 
   if (symfile_objfile != NULL)
     {
-      struct section_offsets *offsets
+      gdb::unique_xmalloc_ptr<struct section_offsets> offsets
 	= solib_aix_get_section_offsets (symfile_objfile, exec_info);
-      struct cleanup *cleanup = make_cleanup (xfree, offsets);
 
-      objfile_relocate (symfile_objfile, offsets);
-      do_cleanups (cleanup);
+      objfile_relocate (symfile_objfile, offsets.get ());
     }
 }
 
@@ -600,7 +600,7 @@ solib_aix_in_dynsym_resolve_code (CORE_A
 /* Implement the "bfd_open" target_so_ops method.  */
 
 static gdb_bfd_ref_ptr
-solib_aix_bfd_open (char *pathname)
+solib_aix_bfd_open (const char *pathname)
 {
   /* The pathname is actually a synthetic filename with the following
      form: "/path/to/sharedlib(member.o)" (double-quotes excluded).
@@ -609,10 +609,9 @@ solib_aix_bfd_open (char *pathname)
      FIXME: This is a little hacky.  Perhaps we should provide access
      to the solib's lm_info here?  */
   const int path_len = strlen (pathname);
-  char *sep;
+  const char *sep;
   int filename_len;
   int found_file;
-  char *found_pathname;
 
   if (pathname[path_len - 1] != ')')
     return solib_bfd_open (pathname);
@@ -636,10 +635,12 @@ solib_aix_bfd_open (char *pathname)
   /* Calling solib_find makes certain that sysroot path is set properly
      if program has a dependency on .a archive and sysroot is set via
      set sysroot command.  */
-  found_pathname = solib_find (filename.c_str (), &found_file);
+  gdb::unique_xmalloc_ptr<char> found_pathname
+    = solib_find (filename.c_str (), &found_file);
   if (found_pathname == NULL)
       perror_with_name (pathname);
-  gdb_bfd_ref_ptr archive_bfd (solib_bfd_fopen (found_pathname, found_file));
+  gdb_bfd_ref_ptr archive_bfd (solib_bfd_fopen (found_pathname.get (),
+						found_file));
   if (archive_bfd == NULL)
     {
       warning (_("Could not open `%s' as an executable file: %s"),
@@ -788,7 +789,7 @@ _initialize_solib_aix (void)
 
   solib_aix_inferior_data_handle = register_inferior_data ();
 
-  observer_attach_normal_stop (solib_aix_normal_stop_observer);
+  gdb::observers::normal_stop.attach (solib_aix_normal_stop_observer);
 
   /* Debug this file's internals.  */
   add_setshow_boolean_cmd ("aix-solib", class_maintenance,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib.c ./gdb/solib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/solib.c	2018-07-10 02:06:13.000000000 +0000
@@ -38,7 +38,7 @@
 #include "filenames.h"		/* for DOSish file names */
 #include "exec.h"
 #include "solist.h"
-#include "observer.h"
+#include "observable.h"
 #include "readline/readline.h"
 #include "remote.h"
 #include "solib.h"
@@ -46,6 +46,7 @@
 #include "filesystem.h"
 #include "gdb_bfd.h"
 #include "filestuff.h"
+#include "source.h"
 
 /* Architecture-specific operations.  */
 
@@ -111,11 +112,9 @@ show_solib_search_path (struct ui_file *
 #  define DOS_BASED_FILE_SYSTEM 0
 #endif
 
-/* Return the full pathname of a binary file (the main executable
-   or a shared library file), or NULL if not found.  The returned
-   pathname is malloc'ed and must be freed by the caller.  If FD
-   is non-NULL, *FD is set to either -1 or an open file handle for
-   the binary file.
+/* Return the full pathname of a binary file (the main executable or a
+   shared library file), or NULL if not found.  If FD is non-NULL, *FD
+   is set to either -1 or an open file handle for the binary file.
 
    Global variable GDB_SYSROOT is used as a prefix directory
    to search for binary files if they have an absolute path.
@@ -148,15 +147,14 @@ show_solib_search_path (struct ui_file *
    * machines since a sysroot will almost always be set.
 */
 
-static char *
+static gdb::unique_xmalloc_ptr<char>
 solib_find_1 (const char *in_pathname, int *fd, int is_solib)
 {
   const struct target_so_ops *ops = solib_ops (target_gdbarch ());
   int found_file = -1;
-  char *temp_pathname = NULL;
+  gdb::unique_xmalloc_ptr<char> temp_pathname;
   const char *fskind = effective_target_file_system_kind ();
-  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
-  char *sysroot = gdb_sysroot;
+  const char *sysroot = gdb_sysroot;
   int prefix_len, orig_prefix_len;
 
   /* If the absolute prefix starts with "target:" but the filesystem
@@ -174,12 +172,13 @@ solib_find_1 (const char *in_pathname, i
   while (prefix_len > 0 && IS_DIR_SEPARATOR (sysroot[prefix_len - 1]))
     prefix_len--;
 
+  std::string sysroot_holder;
   if (prefix_len == 0)
     sysroot = NULL;
   else if (prefix_len != orig_prefix_len)
     {
-      sysroot = savestring (sysroot, prefix_len);
-      make_cleanup (xfree, sysroot);
+      sysroot_holder = std::string (sysroot, prefix_len);
+      sysroot = sysroot_holder.c_str ();
     }
 
   /* If we're on a non-DOS-based system, backslashes won't be
@@ -215,7 +214,7 @@ solib_find_1 (const char *in_pathname, i
   */
 
   if (!IS_TARGET_ABSOLUTE_PATH (fskind, in_pathname) || sysroot == NULL)
-    temp_pathname = xstrdup (in_pathname);
+    temp_pathname.reset (xstrdup (in_pathname));
   else
     {
       int need_dir_separator;
@@ -241,24 +240,21 @@ solib_find_1 (const char *in_pathname, i
 			     || strcmp (TARGET_SYSROOT_PREFIX, sysroot) == 0);
 
       /* Cat the prefixed pathname together.  */
-      temp_pathname = concat (sysroot,
-			      need_dir_separator ? SLASH_STRING : "",
-			      in_pathname, (char *) NULL);
+      temp_pathname.reset (concat (sysroot,
+				   need_dir_separator ? SLASH_STRING : "",
+				   in_pathname, (char *) NULL));
     }
 
   /* Handle files to be accessed via the target.  */
-  if (is_target_filename (temp_pathname))
+  if (is_target_filename (temp_pathname.get ()))
     {
       if (fd != NULL)
 	*fd = -1;
-      do_cleanups (old_chain);
       return temp_pathname;
     }
 
   /* Now see if we can open it.  */
-  found_file = gdb_open_cloexec (temp_pathname, O_RDONLY | O_BINARY, 0);
-  if (found_file < 0)
-    xfree (temp_pathname);
+  found_file = gdb_open_cloexec (temp_pathname.get (), O_RDONLY | O_BINARY, 0);
 
   /* If the search in gdb_sysroot failed, and the path name has a
      drive spec (e.g, c:/foo), try stripping ':' from the drive spec,
@@ -270,45 +266,40 @@ solib_find_1 (const char *in_pathname, i
       && HAS_TARGET_DRIVE_SPEC (fskind, in_pathname))
     {
       int need_dir_separator = !IS_DIR_SEPARATOR (in_pathname[2]);
-      char *drive = savestring (in_pathname, 1);
+      char drive[2] = { in_pathname[0], '\0' };
 
-      temp_pathname = concat (sysroot,
-			      SLASH_STRING,
-			      drive,
-			      need_dir_separator ? SLASH_STRING : "",
-			      in_pathname + 2, (char *) NULL);
-      xfree (drive);
+      temp_pathname.reset (concat (sysroot,
+				   SLASH_STRING,
+				   drive,
+				   need_dir_separator ? SLASH_STRING : "",
+				   in_pathname + 2, (char *) NULL));
 
-      found_file = gdb_open_cloexec (temp_pathname, O_RDONLY | O_BINARY, 0);
+      found_file = gdb_open_cloexec (temp_pathname.get (),
+				     O_RDONLY | O_BINARY, 0);
       if (found_file < 0)
 	{
-	  xfree (temp_pathname);
-
 	  /* If the search in gdb_sysroot still failed, try fully
 	     stripping the drive spec, and trying once more in the
 	     sysroot before giving up.
 
 	     c:/foo/bar.dll ==> /sysroot/foo/bar.dll.  */
 
-	  temp_pathname = concat (sysroot,
-				  need_dir_separator ? SLASH_STRING : "",
-				  in_pathname + 2, (char *) NULL);
-
-	  found_file = gdb_open_cloexec (temp_pathname, O_RDONLY | O_BINARY, 0);
-	  if (found_file < 0)
-	    xfree (temp_pathname);
+	  temp_pathname.reset (concat (sysroot,
+				       need_dir_separator ? SLASH_STRING : "",
+				       in_pathname + 2, (char *) NULL));
+
+	  found_file = gdb_open_cloexec (temp_pathname.get (),
+					 O_RDONLY | O_BINARY, 0);
 	}
     }
 
-  do_cleanups (old_chain);
-
   /* We try to find the library in various ways.  After each attempt,
      either found_file >= 0 and temp_pathname is a malloc'd string, or
      found_file < 0 and temp_pathname does not point to storage that
      needs to be freed.  */
 
   if (found_file < 0)
-    temp_pathname = NULL;
+    temp_pathname.reset (NULL);
 
   /* If the search in gdb_sysroot failed, and the path name is
      absolute at this point, make it relative.  (openp will try and open the
@@ -374,14 +365,13 @@ solib_find_1 (const char *in_pathname, i
 }
 
 /* Return the full pathname of the main executable, or NULL if not
-   found.  The returned pathname is malloc'ed and must be freed by
-   the caller.  If FD is non-NULL, *FD is set to either -1 or an open
-   file handle for the main executable.  */
+   found.  If FD is non-NULL, *FD is set to either -1 or an open file
+   handle for the main executable.  */
 
-char *
+gdb::unique_xmalloc_ptr<char>
 exec_file_find (const char *in_pathname, int *fd)
 {
-  char *result;
+  gdb::unique_xmalloc_ptr<char> result;
   const char *fskind = effective_target_file_system_kind ();
 
   if (in_pathname == NULL)
@@ -413,7 +403,7 @@ exec_file_find (const char *in_pathname,
 	 filename.  Not much more we can do...)  */
 
       if (!source_full_path_of (in_pathname, &result))
-	result = xstrdup (in_pathname);
+	result.reset (xstrdup (in_pathname));
       if (fd != NULL)
 	*fd = -1;
     }
@@ -422,14 +412,13 @@ exec_file_find (const char *in_pathname,
 }
 
 /* Return the full pathname of a shared library file, or NULL if not
-   found.  The returned pathname is malloc'ed and must be freed by
-   the caller.  If FD is non-NULL, *FD is set to either -1 or an open
-   file handle for the shared library.
+   found.  If FD is non-NULL, *FD is set to either -1 or an open file
+   handle for the shared library.
 
    The search algorithm used is described in solib_find_1's comment
    above.  */
 
-char *
+gdb::unique_xmalloc_ptr<char>
 solib_find (const char *in_pathname, int *fd)
 {
   const char *solib_symbols_extension
@@ -466,12 +455,10 @@ solib_find (const char *in_pathname, int
    it is used as file handle to open the file.  Throws an error if the file
    could not be opened.  Handles both local and remote file access.
 
-   PATHNAME must be malloc'ed by the caller.  It will be freed by this
-   function.  If unsuccessful, the FD will be closed (unless FD was
-   -1).  */
+   If unsuccessful, the FD will be closed (unless FD was -1).  */
 
 gdb_bfd_ref_ptr
-solib_bfd_fopen (char *pathname, int fd)
+solib_bfd_fopen (const char *pathname, int fd)
 {
   gdb_bfd_ref_ptr abfd (gdb_bfd_open (pathname, gnutarget, fd));
 
@@ -480,27 +467,25 @@ solib_bfd_fopen (char *pathname, int fd)
 
   if (abfd == NULL)
     {
-      make_cleanup (xfree, pathname);
+      /* Arrange to free PATHNAME when the error is thrown.  */
       error (_("Could not open `%s' as an executable file: %s"),
 	     pathname, bfd_errmsg (bfd_get_error ()));
     }
 
-  xfree (pathname);
-
   return abfd;
 }
 
 /* Find shared library PATHNAME and open a BFD for it.  */
 
 gdb_bfd_ref_ptr
-solib_bfd_open (char *pathname)
+solib_bfd_open (const char *pathname)
 {
-  char *found_pathname;
   int found_file;
   const struct bfd_arch_info *b;
 
   /* Search for shared library file.  */
-  found_pathname = solib_find (pathname, &found_file);
+  gdb::unique_xmalloc_ptr<char> found_pathname
+    = solib_find (pathname, &found_file);
   if (found_pathname == NULL)
     {
       /* Return failure if the file could not be found, so that we can
@@ -512,7 +497,7 @@ solib_bfd_open (char *pathname)
     }
 
   /* Open bfd for shared library.  */
-  gdb_bfd_ref_ptr abfd (solib_bfd_fopen (found_pathname, found_file));
+  gdb_bfd_ref_ptr abfd (solib_bfd_fopen (found_pathname.get (), found_file));
 
   /* Check bfd format.  */
   if (!bfd_check_format (abfd.get (), bfd_object))
@@ -691,8 +676,6 @@ solib_read_symbols (struct so_list *so, 
 
       TRY
 	{
-	  struct section_addr_info *sap;
-
 	  /* Have we already loaded this shared object?  */
 	  ALL_OBJFILES (so->objfile)
 	    {
@@ -702,13 +685,13 @@ solib_read_symbols (struct so_list *so, 
 	    }
 	  if (so->objfile == NULL)
 	    {
-	      sap = build_section_addr_info_from_section_table (so->sections,
-								so->sections_end);
+	      section_addr_info sap
+		= build_section_addr_info_from_section_table (so->sections,
+							      so->sections_end);
 	      so->objfile = symbol_file_add_from_bfd (so->abfd, so->so_name,
-						      flags, sap, OBJF_SHARED,
-						      NULL);
+						      flags, &sap,
+						      OBJF_SHARED, NULL);
 	      so->objfile->addr_low = so->addr_low;
-	      free_section_addr_info (sap);
 	    }
 
 	  so->symbols_loaded = 1;
@@ -752,7 +735,7 @@ update_solib_list (int from_tty)
 
   /* We can reach here due to changing solib-search-path or the
      sysroot, before having any inferior.  */
-  if (target_has_execution && !ptid_equal (inferior_ptid, null_ptid))
+  if (target_has_execution && inferior_ptid != null_ptid)
     {
       struct inferior *inf = current_inferior ();
 
@@ -841,10 +824,9 @@ update_solib_list (int from_tty)
 	{
 	  /* Notify any observer that the shared object has been
 	     unloaded before we remove it from GDB's tables.  */
-	  observer_notify_solib_unloaded (gdb);
+	  gdb::observers::solib_unloaded.notify (gdb);
 
-	  VEC_safe_push (char_ptr, current_program_space->deleted_solibs,
-			 xstrdup (gdb->so_name));
+	  current_program_space->deleted_solibs.push_back (gdb->so_name);
 
 	  *gdb_link = gdb->next;
 
@@ -880,7 +862,7 @@ update_solib_list (int from_tty)
 	{
 
 	  i->pspace = current_program_space;
-	  VEC_safe_push (so_list_ptr, current_program_space->added_solibs, i);
+	  current_program_space->added_solibs.push_back (i);
 
 	  TRY
 	    {
@@ -903,7 +885,7 @@ update_solib_list (int from_tty)
 
 	  /* Notify any observer that the shared object has been
 	     loaded now that we've added it to GDB's tables.  */
-	  observer_notify_solib_loaded (i);
+	  gdb::observers::solib_loaded.notify (i);
 	}
 
       /* If a library was not found, issue an appropriate warning
@@ -1111,7 +1093,7 @@ info_sharedlibrary_command (const char *
 	    uiout->field_skip ("to");
 	  }
 
-	if (! interp_ui_out (top_level_interpreter ())->is_mi_like_p ()
+	if (! top_level_interpreter ()->interp_ui_out ()->is_mi_like_p ()
 	    && so->symbols_loaded
 	    && !objfile_has_symbols (so->objfile))
 	  {
@@ -1211,7 +1193,7 @@ clear_solib (void)
       struct so_list *so = so_list_head;
 
       so_list_head = so->next;
-      observer_notify_solib_unloaded (so);
+      gdb::observers::solib_unloaded.notify (so);
       remove_target_sections (so);
       free_so (so);
     }
@@ -1492,8 +1474,8 @@ gdb_bfd_lookup_symbol_from_symtab (bfd *
     {
       unsigned int i;
 
-      asymbol **symbol_table = (asymbol **) xmalloc (storage_needed);
-      struct cleanup *back_to = make_cleanup (xfree, symbol_table);
+      gdb::def_vector<asymbol *> storage (storage_needed / sizeof (asymbol *));
+      asymbol **symbol_table = storage.data ();
       unsigned int number_of_symbols =
 	bfd_canonicalize_symtab (abfd, symbol_table);
 
@@ -1528,7 +1510,6 @@ gdb_bfd_lookup_symbol_from_symtab (bfd *
 	      break;
 	    }
 	}
-      do_cleanups (back_to);
     }
 
   return symaddr;
@@ -1551,8 +1532,8 @@ bfd_lookup_symbol_from_dyn_symtab (bfd *
   if (storage_needed > 0)
     {
       unsigned int i;
-      asymbol **symbol_table = (asymbol **) xmalloc (storage_needed);
-      struct cleanup *back_to = make_cleanup (xfree, symbol_table);
+      gdb::def_vector<asymbol *> storage (storage_needed / sizeof (asymbol *));
+      asymbol **symbol_table = storage.data ();
       unsigned int number_of_symbols =
 	bfd_canonicalize_dynamic_symtab (abfd, symbol_table);
 
@@ -1567,7 +1548,6 @@ bfd_lookup_symbol_from_dyn_symtab (bfd *
 	      break;
 	    }
 	}
-      do_cleanups (back_to);
     }
   return symaddr;
 }
@@ -1615,7 +1595,7 @@ _initialize_solib (void)
 {
   solib_data = gdbarch_data_register_pre_init (solib_init);
 
-  observer_attach_free_objfile (remove_user_added_objfile);
+  gdb::observers::free_objfile.attach (remove_user_added_objfile);
 
   add_com ("sharedlibrary", class_files, sharedlibrary_command,
 	   _("Load shared object library symbols for files matching REGEXP."));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-darwin.c ./gdb/solib-darwin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-darwin.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/solib-darwin.c	2018-07-10 02:06:13.000000000 +0000
@@ -261,10 +261,8 @@ darwin_current_sos (void)
       CORE_ADDR path_addr;
       struct mach_o_header_external hdr;
       unsigned long hdr_val;
-      char *file_path;
+      gdb::unique_xmalloc_ptr<char> file_path;
       int errcode;
-      struct so_list *newobj;
-      struct cleanup *old_chain;
 
       /* Read image info from inferior.  */
       if (target_read_memory (iinfo, buf, image_info_size))
@@ -293,25 +291,21 @@ darwin_current_sos (void)
 	break;
 
       /* Create and fill the new so_list element.  */
-      newobj = XCNEW (struct so_list);
-      old_chain = make_cleanup (xfree, newobj);
+      gdb::unique_xmalloc_ptr<struct so_list> newobj (XCNEW (struct so_list));
 
       lm_info_darwin *li = new lm_info_darwin;
       newobj->lm_info = li;
 
-      strncpy (newobj->so_name, file_path, SO_NAME_MAX_PATH_SIZE - 1);
+      strncpy (newobj->so_name, file_path.get (), SO_NAME_MAX_PATH_SIZE - 1);
       newobj->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
       strcpy (newobj->so_original_name, newobj->so_name);
-      xfree (file_path);
       li->lm_addr = load_addr;
 
       if (head == NULL)
-	head = newobj;
+	head = newobj.get ();
       else
-	tail->next = newobj;
-      tail = newobj;
-
-      discard_cleanups (old_chain);
+	tail->next = newobj.get ();
+      tail = newobj.release ();
     }
 
   return head;
@@ -498,8 +492,8 @@ darwin_solib_read_all_image_info_addr (s
   if (TYPE_LENGTH (ptr_type) > sizeof (buf))
     return;
 
-  len = target_read (&current_target, TARGET_OBJECT_DARWIN_DYLD_INFO, NULL,
-		     buf, 0, TYPE_LENGTH (ptr_type));
+  len = target_read (current_top_target (), TARGET_OBJECT_DARWIN_DYLD_INFO,
+		     NULL, buf, 0, TYPE_LENGTH (ptr_type));
   if (len <= 0)
     return;
 
@@ -617,18 +611,18 @@ darwin_lookup_lib_symbol (struct objfile
 }
 
 static gdb_bfd_ref_ptr
-darwin_bfd_open (char *pathname)
+darwin_bfd_open (const char *pathname)
 {
-  char *found_pathname;
   int found_file;
 
   /* Search for shared library file.  */
-  found_pathname = solib_find (pathname, &found_file);
+  gdb::unique_xmalloc_ptr<char> found_pathname
+    = solib_find (pathname, &found_file);
   if (found_pathname == NULL)
     perror_with_name (pathname);
 
   /* Open bfd for shared library.  */
-  gdb_bfd_ref_ptr abfd (solib_bfd_fopen (found_pathname, found_file));
+  gdb_bfd_ref_ptr abfd (solib_bfd_fopen (found_pathname.get (), found_file));
 
   gdb_bfd_ref_ptr res
     (gdb_bfd_mach_o_fat_extract (abfd.get (), bfd_object,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-dsbt.c ./gdb/solib-dsbt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-dsbt.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/solib-dsbt.c	2018-07-10 02:06:13.000000000 +0000
@@ -224,10 +224,10 @@ dsbt_print_loadmap (struct int_elf32_dsb
 /* Decode int_elf32_dsbt_loadmap from BUF.  */
 
 static struct int_elf32_dsbt_loadmap *
-decode_loadmap (gdb_byte *buf)
+decode_loadmap (const gdb_byte *buf)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  struct ext_elf32_dsbt_loadmap *ext_ldmbuf;
+  const struct ext_elf32_dsbt_loadmap *ext_ldmbuf;
   struct int_elf32_dsbt_loadmap *int_ldmbuf;
 
   int version, seg, nsegs;
@@ -278,7 +278,6 @@ decode_loadmap (gdb_byte *buf)
 				    byte_order);
     }
 
-  xfree (ext_ldmbuf);
   return int_ldmbuf;
 }
 
@@ -292,26 +291,26 @@ static struct dsbt_info *get_dsbt_info (
 static void
 dsbt_get_initial_loadmaps (void)
 {
-  gdb_byte *buf;
   struct dsbt_info *info = get_dsbt_info ();
+  gdb::optional<gdb::byte_vector> buf
+    = target_read_alloc (current_top_target (), TARGET_OBJECT_FDPIC, "exec");
 
-  if (0 >= target_read_alloc (&current_target, TARGET_OBJECT_FDPIC,
-			      "exec", &buf))
+  if (!buf || buf->empty ())
     {
       info->exec_loadmap = NULL;
       error (_("Error reading DSBT exec loadmap"));
     }
-  info->exec_loadmap = decode_loadmap (buf);
+  info->exec_loadmap = decode_loadmap (buf->data ());
   if (solib_dsbt_debug)
     dsbt_print_loadmap (info->exec_loadmap);
 
-  if (0 >= target_read_alloc (&current_target, TARGET_OBJECT_FDPIC,
-			      "interp", &buf))
+  buf = target_read_alloc (current_top_target (), TARGET_OBJECT_FDPIC, "exec");
+  if (!buf || buf->empty ())
     {
       info->interp_loadmap = NULL;
       error (_("Error reading DSBT interp loadmap"));
     }
-  info->interp_loadmap = decode_loadmap (buf);
+  info->interp_loadmap = decode_loadmap (buf->data ());
   if (solib_dsbt_debug)
     dsbt_print_loadmap (info->interp_loadmap);
 }
@@ -696,7 +695,7 @@ dsbt_current_sos (void)
       if (dsbt_index != 0)
 	{
 	  int errcode;
-	  char *name_buf;
+	  gdb::unique_xmalloc_ptr<char> name_buf;
 	  struct int_elf32_dsbt_loadmap *loadmap;
 	  struct so_list *sop;
 	  CORE_ADDR addr;
@@ -727,11 +726,10 @@ dsbt_current_sos (void)
 	    {
 	      if (solib_dsbt_debug)
 		fprintf_unfiltered (gdb_stdlog, "current_sos: name = %s\n",
-				    name_buf);
+				    name_buf.get ());
 
-	      strncpy (sop->so_name, name_buf, SO_NAME_MAX_PATH_SIZE - 1);
+	      strncpy (sop->so_name, name_buf.get (), SO_NAME_MAX_PATH_SIZE - 1);
 	      sop->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
-	      xfree (name_buf);
 	      strcpy (sop->so_original_name, sop->so_name);
 	    }
 
@@ -920,8 +918,6 @@ static void
 dsbt_relocate_main_executable (void)
 {
   struct int_elf32_dsbt_loadmap *ldm;
-  struct cleanup *old_chain;
-  struct section_offsets *new_offsets;
   int changed;
   struct obj_section *osect;
   struct dsbt_info *info = get_dsbt_info ();
@@ -933,9 +929,8 @@ dsbt_relocate_main_executable (void)
   info->main_executable_lm_info = new lm_info_dsbt;
   info->main_executable_lm_info->map = ldm;
 
-  new_offsets = XCNEWVEC (struct section_offsets,
-			  symfile_objfile->num_sections);
-  old_chain = make_cleanup (xfree, new_offsets);
+  gdb::unique_xmalloc_ptr<struct section_offsets> new_offsets
+    (XCNEWVEC (struct section_offsets, symfile_objfile->num_sections));
   changed = 0;
 
   ALL_OBJFILE_OSECTIONS (symfile_objfile, osect)
@@ -969,9 +964,7 @@ dsbt_relocate_main_executable (void)
     }
 
   if (changed)
-    objfile_relocate (symfile_objfile, new_offsets);
-
-  do_cleanups (old_chain);
+    objfile_relocate (symfile_objfile, new_offsets.get ());
 
   /* Now that symfile_objfile has been relocated, we can compute the
      GOT value and stash it away.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-frv.c ./gdb/solib-frv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-frv.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/solib-frv.c	2018-07-10 02:06:13.000000000 +0000
@@ -377,7 +377,7 @@ frv_current_sos (void)
       if (got_addr != mgot)
 	{
 	  int errcode;
-	  char *name_buf;
+	  gdb::unique_xmalloc_ptr<char> name_buf;
 	  struct int_elf32_fdpic_loadmap *loadmap;
 	  struct so_list *sop;
 	  CORE_ADDR addr;
@@ -409,16 +409,16 @@ frv_current_sos (void)
 
 	  if (solib_frv_debug)
 	    fprintf_unfiltered (gdb_stdlog, "current_sos: name = %s\n",
-	                        name_buf);
+	                        name_buf.get ());
 	  
 	  if (errcode != 0)
 	    warning (_("Can't read pathname for link map entry: %s."),
 		     safe_strerror (errcode));
 	  else
 	    {
-	      strncpy (sop->so_name, name_buf, SO_NAME_MAX_PATH_SIZE - 1);
+	      strncpy (sop->so_name, name_buf.get (),
+		       SO_NAME_MAX_PATH_SIZE - 1);
 	      sop->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
-	      xfree (name_buf);
 	      strcpy (sop->so_original_name, sop->so_name);
 	    }
 
@@ -769,8 +769,6 @@ frv_relocate_main_executable (void)
   int status;
   CORE_ADDR exec_addr, interp_addr;
   struct int_elf32_fdpic_loadmap *ldm;
-  struct cleanup *old_chain;
-  struct section_offsets *new_offsets;
   int changed;
   struct obj_section *osect;
 
@@ -792,9 +790,8 @@ frv_relocate_main_executable (void)
   main_executable_lm_info = new lm_info_frv;
   main_executable_lm_info->map = ldm;
 
-  new_offsets = XCNEWVEC (struct section_offsets,
-			  symfile_objfile->num_sections);
-  old_chain = make_cleanup (xfree, new_offsets);
+  gdb::unique_xmalloc_ptr<struct section_offsets> new_offsets
+    (XCNEWVEC (struct section_offsets, symfile_objfile->num_sections));
   changed = 0;
 
   ALL_OBJFILE_OSECTIONS (symfile_objfile, osect)
@@ -828,9 +825,7 @@ frv_relocate_main_executable (void)
     }
 
   if (changed)
-    objfile_relocate (symfile_objfile, new_offsets);
-
-  do_cleanups (old_chain);
+    objfile_relocate (symfile_objfile, new_offsets.get ());
 
   /* Now that symfile_objfile has been relocated, we can compute the
      GOT value and stash it away.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-spu.c ./gdb/solib-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-spu.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/solib-spu.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,7 +30,7 @@
 #include "solist.h"
 #include "inferior.h"
 #include "objfiles.h"
-#include "observer.h"
+#include "observable.h"
 #include "breakpoint.h"
 #include "gdbthread.h"
 #include "gdb_bfd.h"
@@ -171,7 +171,7 @@ spu_current_sos (void)
     ;
 
   /* Determine list of SPU ids.  */
-  size = target_read (&current_target, TARGET_OBJECT_SPU, NULL,
+  size = target_read (current_top_target (), TARGET_OBJECT_SPU, NULL,
 		      buf, 0, sizeof buf);
 
   /* Do not add stand-alone SPE executable context as shared library,
@@ -206,7 +206,7 @@ spu_current_sos (void)
 	 already created the SPE context, but not installed the object-id
 	 yet.  Skip such entries; we'll be back for them later.  */
       xsnprintf (annex, sizeof annex, "%d/object-id", fd);
-      len = target_read (&current_target, TARGET_OBJECT_SPU, annex,
+      len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 			 (gdb_byte *) id, 0, sizeof id);
       if (len <= 0 || len >= sizeof id)
 	continue;
@@ -320,7 +320,7 @@ spu_bfd_iovec_stat (bfd *abfd, void *str
 }
 
 static gdb_bfd_ref_ptr
-spu_bfd_fopen (char *name, CORE_ADDR addr)
+spu_bfd_fopen (const char *name, CORE_ADDR addr)
 {
   CORE_ADDR *open_closure = XNEW (CORE_ADDR);
 
@@ -342,9 +342,9 @@ spu_bfd_fopen (char *name, CORE_ADDR add
 
 /* Open shared library BFD.  */
 static gdb_bfd_ref_ptr
-spu_bfd_open (char *pathname)
+spu_bfd_open (const char *pathname)
 {
-  char *original_name = strrchr (pathname, '@');
+  const char *original_name = strrchr (pathname, '@');
   asection *spu_name;
   unsigned long long addr;
   int fd;
@@ -418,7 +418,7 @@ spu_enable_break (struct objfile *objfil
       CORE_ADDR addr = BMSYMBOL_VALUE_ADDRESS (spe_event_sym);
 
       addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch (), addr,
-                                                 &current_target);
+						 current_top_target ());
       create_solib_event_breakpoint (target_gdbarch (), addr);
       return 1;
     }
@@ -545,7 +545,7 @@ spu_solib_loaded (struct so_list *so)
 void
 _initialize_spu_solib (void)
 {
-  observer_attach_solib_loaded (spu_solib_loaded);
+  gdb::observers::solib_loaded.attach (spu_solib_loaded);
   ocl_program_data_key = register_objfile_data ();
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-svr4.c ./gdb/solib-svr4.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-svr4.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/solib-svr4.c	2018-07-10 02:06:13.000000000 +0000
@@ -33,7 +33,7 @@
 #include "infrun.h"
 #include "regcache.h"
 #include "gdbthread.h"
-#include "observer.h"
+#include "observable.h"
 
 #include "solist.h"
 #include "solib.h"
@@ -168,28 +168,22 @@ svr4_same (struct so_list *gdb, struct s
   return (svr4_same_1 (gdb->so_original_name, inferior->so_original_name));
 }
 
-static lm_info_svr4 *
+static std::unique_ptr<lm_info_svr4>
 lm_info_read (CORE_ADDR lm_addr)
 {
   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
-  gdb_byte *lm;
-  lm_info_svr4 *lm_info;
-  struct cleanup *back_to;
+  std::unique_ptr<lm_info_svr4> lm_info;
 
-  lm = (gdb_byte *) xmalloc (lmo->link_map_size);
-  back_to = make_cleanup (xfree, lm);
+  gdb::byte_vector lm (lmo->link_map_size);
 
-  if (target_read_memory (lm_addr, lm, lmo->link_map_size) != 0)
-    {
-      warning (_("Error reading shared library list entry at %s"),
-	       paddress (target_gdbarch (), lm_addr)),
-      lm_info = NULL;
-    }
+  if (target_read_memory (lm_addr, lm.data (), lmo->link_map_size) != 0)
+    warning (_("Error reading shared library list entry at %s"),
+	     paddress (target_gdbarch (), lm_addr));
   else
     {
       struct type *ptr_type = builtin_type (target_gdbarch ())->builtin_data_ptr;
 
-      lm_info = new lm_info_svr4;
+      lm_info.reset (new lm_info_svr4);
       lm_info->lm_addr = lm_addr;
 
       lm_info->l_addr_inferior = extract_typed_address (&lm[lmo->l_addr_offset],
@@ -203,8 +197,6 @@ lm_info_read (CORE_ADDR lm_addr)
 					       ptr_type);
     }
 
-  do_cleanups (back_to);
-
   return lm_info;
 }
 
@@ -440,11 +432,11 @@ read_program_header (int type, int *p_se
   int pt_phdr_p = 0;
 
   /* Get required auxv elements from target.  */
-  if (target_auxv_search (&current_target, AT_PHDR, &at_phdr) <= 0)
+  if (target_auxv_search (current_top_target (), AT_PHDR, &at_phdr) <= 0)
     return 0;
-  if (target_auxv_search (&current_target, AT_PHENT, &at_phent) <= 0)
+  if (target_auxv_search (current_top_target (), AT_PHENT, &at_phent) <= 0)
     return 0;
-  if (target_auxv_search (&current_target, AT_PHNUM, &at_phnum) <= 0)
+  if (target_auxv_search (current_top_target (), AT_PHNUM, &at_phnum) <= 0)
     return 0;
   if (!at_phdr || !at_phnum)
     return 0;
@@ -958,8 +950,6 @@ svr4_keep_data_in_core (CORE_ADDR vaddr,
 {
   struct svr4_info *info;
   CORE_ADDR ldsomap;
-  struct so_list *newobj;
-  struct cleanup *old_chain;
   CORE_ADDR name_lm;
 
   info = get_svr4_info ();
@@ -973,13 +963,8 @@ svr4_keep_data_in_core (CORE_ADDR vaddr,
   if (!ldsomap)
     return 0;
 
-  newobj = XCNEW (struct so_list);
-  old_chain = make_cleanup (xfree, newobj);
-  lm_info_svr4 *li = lm_info_read (ldsomap);
-  newobj->lm_info = li;
-  make_cleanup (xfree, newobj->lm_info);
+  std::unique_ptr<lm_info_svr4> li = lm_info_read (ldsomap);
   name_lm = li != NULL ? li->l_name : 0;
-  do_cleanups (old_chain);
 
   return (name_lm >= vaddr && name_lm < vaddr + size);
 }
@@ -990,13 +975,12 @@ static int
 open_symbol_file_object (int from_tty)
 {
   CORE_ADDR lm, l_name;
-  char *filename;
+  gdb::unique_xmalloc_ptr<char> filename;
   int errcode;
   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
   struct type *ptr_type = builtin_type (target_gdbarch ())->builtin_data_ptr;
   int l_name_size = TYPE_LENGTH (ptr_type);
-  gdb_byte *l_name_buf = (gdb_byte *) xmalloc (l_name_size);
-  struct cleanup *cleanups = make_cleanup (xfree, l_name_buf);
+  gdb::byte_vector l_name_buf (l_name_size);
   struct svr4_info *info = get_svr4_info ();
   symfile_add_flags add_flags = 0;
 
@@ -1005,55 +989,40 @@ open_symbol_file_object (int from_tty)
 
   if (symfile_objfile)
     if (!query (_("Attempt to reload symbols from process? ")))
-      {
-	do_cleanups (cleanups);
-	return 0;
-      }
+      return 0;
 
   /* Always locate the debug struct, in case it has moved.  */
   info->debug_base = 0;
   if (locate_base (info) == 0)
-    {
-      do_cleanups (cleanups);
-      return 0;	/* failed somehow...  */
-    }
+    return 0;	/* failed somehow...  */
 
   /* First link map member should be the executable.  */
   lm = solib_svr4_r_map (info);
   if (lm == 0)
-    {
-      do_cleanups (cleanups);
-      return 0;	/* failed somehow...  */
-    }
+    return 0;	/* failed somehow...  */
 
   /* Read address of name from target memory to GDB.  */
-  read_memory (lm + lmo->l_name_offset, l_name_buf, l_name_size);
+  read_memory (lm + lmo->l_name_offset, l_name_buf.data (), l_name_size);
 
   /* Convert the address to host format.  */
-  l_name = extract_typed_address (l_name_buf, ptr_type);
+  l_name = extract_typed_address (l_name_buf.data (), ptr_type);
 
   if (l_name == 0)
-    {
-      do_cleanups (cleanups);
-      return 0;		/* No filename.  */
-    }
+    return 0;		/* No filename.  */
 
   /* Now fetch the filename from target memory.  */
   target_read_string (l_name, &filename, SO_NAME_MAX_PATH_SIZE - 1, &errcode);
-  make_cleanup (xfree, filename);
 
   if (errcode)
     {
       warning (_("failed to read exec filename from attached file: %s"),
 	       safe_strerror (errcode));
-      do_cleanups (cleanups);
       return 0;
     }
 
   /* Have a pathname: read the symbol file.  */
-  symbol_file_add_main (filename, add_flags);
+  symbol_file_add_main (filename.get (), add_flags);
 
-  do_cleanups (cleanups);
   return 1;
 }
 
@@ -1144,17 +1113,18 @@ svr4_copy_library_list (struct so_list *
 static void
 library_list_start_library (struct gdb_xml_parser *parser,
 			    const struct gdb_xml_element *element,
-			    void *user_data, VEC(gdb_xml_value_s) *attributes)
+			    void *user_data,
+			    std::vector<gdb_xml_value> &attributes)
 {
   struct svr4_library_list *list = (struct svr4_library_list *) user_data;
   const char *name
-    = (const char *) xml_find_attribute (attributes, "name")->value;
+    = (const char *) xml_find_attribute (attributes, "name")->value.get ();
   ULONGEST *lmp
-    = (ULONGEST *) xml_find_attribute (attributes, "lm")->value;
+    = (ULONGEST *) xml_find_attribute (attributes, "lm")->value.get ();
   ULONGEST *l_addrp
-    = (ULONGEST *) xml_find_attribute (attributes, "l_addr")->value;
+    = (ULONGEST *) xml_find_attribute (attributes, "l_addr")->value.get ();
   ULONGEST *l_ldp
-    = (ULONGEST *) xml_find_attribute (attributes, "l_ld")->value;
+    = (ULONGEST *) xml_find_attribute (attributes, "l_ld")->value.get ();
   struct so_list *new_elem;
 
   new_elem = XCNEW (struct so_list);
@@ -1177,11 +1147,12 @@ library_list_start_library (struct gdb_x
 static void
 svr4_library_list_start_list (struct gdb_xml_parser *parser,
 			      const struct gdb_xml_element *element,
-			      void *user_data, VEC(gdb_xml_value_s) *attributes)
+			      void *user_data,
+			      std::vector<gdb_xml_value> &attributes)
 {
   struct svr4_library_list *list = (struct svr4_library_list *) user_data;
   const char *version
-    = (const char *) xml_find_attribute (attributes, "version")->value;
+    = (const char *) xml_find_attribute (attributes, "version")->value.get ();
   struct gdb_xml_value *main_lm = xml_find_attribute (attributes, "main-lm");
 
   if (strcmp (version, "1.0") != 0)
@@ -1190,7 +1161,7 @@ svr4_library_list_start_list (struct gdb
 		   version);
 
   if (main_lm)
-    list->main_lm = *(ULONGEST *) main_lm->value;
+    list->main_lm = *(ULONGEST *) main_lm->value.get ();
 }
 
 /* The allowed elements and attributes for an XML library list.
@@ -1272,13 +1243,13 @@ svr4_current_sos_via_xfer_libraries (str
   gdb_assert (annex == NULL || target_augmented_libraries_svr4_read ());
 
   /* Fetch the list of shared libraries.  */
-  gdb::unique_xmalloc_ptr<char> svr4_library_document
-    = target_read_stralloc (&current_target, TARGET_OBJECT_LIBRARIES_SVR4,
+  gdb::optional<gdb::char_vector> svr4_library_document
+    = target_read_stralloc (current_top_target (), TARGET_OBJECT_LIBRARIES_SVR4,
 			    annex);
-  if (svr4_library_document == NULL)
+  if (!svr4_library_document)
     return 0;
 
-  return svr4_parse_libraries (svr4_library_document.get (), list);
+  return svr4_parse_libraries (svr4_library_document->data (), list);
 }
 
 #else
@@ -1337,11 +1308,11 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
   for (; lm != 0; prev_lm = lm, lm = next_lm)
     {
       int errcode;
-      char *buffer;
+      gdb::unique_xmalloc_ptr<char> buffer;
 
       so_list_up newobj (XCNEW (struct so_list));
 
-      lm_info_svr4 *li = lm_info_read (lm);
+      lm_info_svr4 *li = lm_info_read (lm).release ();
       newobj->lm_info = li;
       if (li == NULL)
 	return 0;
@@ -1385,10 +1356,9 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
 	  continue;
 	}
 
-      strncpy (newobj->so_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
+      strncpy (newobj->so_name, buffer.get (), SO_NAME_MAX_PATH_SIZE - 1);
       newobj->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
       strcpy (newobj->so_original_name, newobj->so_name);
-      xfree (buffer);
 
       /* If this entry has no name, or its name matches the name
 	 for the main executable, don't include it in the list.  */
@@ -1888,7 +1858,7 @@ svr4_handle_solib_event (void)
   struct svr4_info *info = get_svr4_info ();
   struct probe_and_action *pa;
   enum probe_action action;
-  struct cleanup *old_chain, *usm_chain;
+  struct cleanup *old_chain;
   struct value *val = NULL;
   CORE_ADDR pc, debug_base, lm = 0;
   struct frame_info *frame = get_current_frame ();
@@ -1932,72 +1902,73 @@ svr4_handle_solib_event (void)
      so we can guarantee that the dynamic linker's sections are in the
      section map.  We can therefore inhibit section map updates across
      these calls to evaluate_argument and save a lot of time.  */
-  inhibit_section_map_updates (current_program_space);
-  usm_chain = make_cleanup (resume_section_map_updates_cleanup,
-			    current_program_space);
+  {
+    scoped_restore inhibit_updates
+      = inhibit_section_map_updates (current_program_space);
 
-  TRY
-    {
-      val = pa->prob->evaluate_argument (1, frame);
-    }
-  CATCH (ex, RETURN_MASK_ERROR)
-    {
-      exception_print (gdb_stderr, ex);
-      val = NULL;
-    }
-  END_CATCH
+    TRY
+      {
+	val = pa->prob->evaluate_argument (1, frame);
+      }
+    CATCH (ex, RETURN_MASK_ERROR)
+      {
+	exception_print (gdb_stderr, ex);
+	val = NULL;
+      }
+    END_CATCH
 
-  if (val == NULL)
-    {
-      do_cleanups (old_chain);
-      return;
-    }
+    if (val == NULL)
+      {
+	do_cleanups (old_chain);
+	return;
+      }
 
-  debug_base = value_as_address (val);
-  if (debug_base == 0)
-    {
-      do_cleanups (old_chain);
-      return;
-    }
+    debug_base = value_as_address (val);
+    if (debug_base == 0)
+      {
+	do_cleanups (old_chain);
+	return;
+      }
 
-  /* Always locate the debug struct, in case it moved.  */
-  info->debug_base = 0;
-  if (locate_base (info) == 0)
-    {
-      do_cleanups (old_chain);
-      return;
-    }
+    /* Always locate the debug struct, in case it moved.  */
+    info->debug_base = 0;
+    if (locate_base (info) == 0)
+      {
+	do_cleanups (old_chain);
+	return;
+      }
 
-  /* GDB does not currently support libraries loaded via dlmopen
-     into namespaces other than the initial one.  We must ignore
-     any namespace other than the initial namespace here until
-     support for this is added to GDB.  */
-  if (debug_base != info->debug_base)
-    action = DO_NOTHING;
+    /* GDB does not currently support libraries loaded via dlmopen
+       into namespaces other than the initial one.  We must ignore
+       any namespace other than the initial namespace here until
+       support for this is added to GDB.  */
+    if (debug_base != info->debug_base)
+      action = DO_NOTHING;
 
-  if (action == UPDATE_OR_RELOAD)
-    {
-      TRY
-	{
-	  val = pa->prob->evaluate_argument (2, frame);
-	}
-      CATCH (ex, RETURN_MASK_ERROR)
-	{
-	  exception_print (gdb_stderr, ex);
-	  do_cleanups (old_chain);
-	  return;
-	}
-      END_CATCH
+    if (action == UPDATE_OR_RELOAD)
+      {
+	TRY
+	  {
+	    val = pa->prob->evaluate_argument (2, frame);
+	  }
+	CATCH (ex, RETURN_MASK_ERROR)
+	  {
+	    exception_print (gdb_stderr, ex);
+	    do_cleanups (old_chain);
+	    return;
+	  }
+	END_CATCH
 
-      if (val != NULL)
-	lm = value_as_address (val);
+	if (val != NULL)
+	  lm = value_as_address (val);
 
-      if (lm == 0)
-	action = FULL_RELOAD;
-    }
+	if (lm == 0)
+	  action = FULL_RELOAD;
+      }
 
-  /* Resume section map updates.  */
-  do_cleanups (usm_chain);
+    /* Resume section map updates.  Closing the scope is
+       sufficient.  */
+  }
 
   if (action == UPDATE_OR_RELOAD)
     {
@@ -2247,9 +2218,10 @@ enable_break (struct svr4_info *info, in
       struct obj_section *os;
 
       sym_addr = gdbarch_addr_bits_remove
-	(target_gdbarch (), gdbarch_convert_from_func_ptr_addr (target_gdbarch (),
-							     sym_addr,
-							     &current_target));
+	(target_gdbarch (),
+	 gdbarch_convert_from_func_ptr_addr (target_gdbarch (),
+					     sym_addr,
+					     current_top_target ()));
 
       /* On at least some versions of Solaris there's a dynamic relocation
 	 on _r_debug.r_brk and SYM_ADDR may not be relocated yet, e.g., if
@@ -2364,7 +2336,7 @@ enable_break (struct svr4_info *info, in
       /* If we were not able to find the base address of the loader
          from our so_list, then try using the AT_BASE auxilliary entry.  */
       if (!load_addr_found)
-        if (target_auxv_search (&current_target, AT_BASE, &load_addr) > 0)
+	if (target_auxv_search (current_top_target (), AT_BASE, &load_addr) > 0)
 	  {
 	    int addr_bit = gdbarch_addr_bit (target_gdbarch ());
 
@@ -2489,7 +2461,7 @@ enable_break (struct svr4_info *info, in
 	  sym_addr = BMSYMBOL_VALUE_ADDRESS (msymbol);
 	  sym_addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch (),
 							 sym_addr,
-							 &current_target);
+							 current_top_target ());
 	  svr4_create_solib_event_breakpoints (target_gdbarch (), sym_addr);
 	  return 1;
 	}
@@ -2506,7 +2478,7 @@ enable_break (struct svr4_info *info, in
 	      sym_addr = BMSYMBOL_VALUE_ADDRESS (msymbol);
 	      sym_addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch (),
 							     sym_addr,
-							     &current_target);
+							     current_top_target ());
 	      svr4_create_solib_event_breakpoints (target_gdbarch (), sym_addr);
 	      return 1;
 	    }
@@ -2601,7 +2573,7 @@ svr4_exec_displacement (CORE_ADDR *displ
   if ((bfd_get_file_flags (exec_bfd) & DYNAMIC) == 0)
     return 0;
 
-  if (target_auxv_search (&current_target, AT_ENTRY, &entry_point) <= 0)
+  if (target_auxv_search (current_top_target (), AT_ENTRY, &entry_point) <= 0)
     return 0;
 
   exec_displacement = entry_point - bfd_get_start_address (exec_bfd);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-target.c ./gdb/solib-target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solib-target.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/solib-target.c	2018-07-10 02:06:13.000000000 +0000
@@ -79,12 +79,13 @@ solib_target_parse_libraries (const char
 static void
 library_list_start_segment (struct gdb_xml_parser *parser,
 			    const struct gdb_xml_element *element,
-			    void *user_data, VEC(gdb_xml_value_s) *attributes)
+			    void *user_data,
+			    std::vector<gdb_xml_value> &attributes)
 {
   VEC(lm_info_target_p) **list = (VEC(lm_info_target_p) **) user_data;
   lm_info_target *last = VEC_last (lm_info_target_p, *list);
   ULONGEST *address_p
-    = (ULONGEST *) xml_find_attribute (attributes, "address")->value;
+    = (ULONGEST *) xml_find_attribute (attributes, "address")->value.get ();
   CORE_ADDR address = (CORE_ADDR) *address_p;
 
   if (!last->section_bases.empty ())
@@ -97,12 +98,13 @@ library_list_start_segment (struct gdb_x
 static void
 library_list_start_section (struct gdb_xml_parser *parser,
 			    const struct gdb_xml_element *element,
-			    void *user_data, VEC(gdb_xml_value_s) *attributes)
+			    void *user_data,
+			    std::vector<gdb_xml_value> &attributes)
 {
   VEC(lm_info_target_p) **list = (VEC(lm_info_target_p) **) user_data;
   lm_info_target *last = VEC_last (lm_info_target_p, *list);
   ULONGEST *address_p
-    = (ULONGEST *) xml_find_attribute (attributes, "address")->value;
+    = (ULONGEST *) xml_find_attribute (attributes, "address")->value.get ();
   CORE_ADDR address = (CORE_ADDR) *address_p;
 
   if (!last->segment_bases.empty ())
@@ -117,12 +119,13 @@ library_list_start_section (struct gdb_x
 static void
 library_list_start_library (struct gdb_xml_parser *parser,
 			    const struct gdb_xml_element *element,
-			    void *user_data, VEC(gdb_xml_value_s) *attributes)
+			    void *user_data,
+			    std::vector<gdb_xml_value> &attributes)
 {
   VEC(lm_info_target_p) **list = (VEC(lm_info_target_p) **) user_data;
   lm_info_target *item = new lm_info_target;
   const char *name
-    = (const char *) xml_find_attribute (attributes, "name")->value;
+    = (const char *) xml_find_attribute (attributes, "name")->value.get ();
 
   item->name = xstrdup (name);
   VEC_safe_push (lm_info_target_p, *list, item);
@@ -146,14 +149,15 @@ library_list_end_library (struct gdb_xml
 static void
 library_list_start_list (struct gdb_xml_parser *parser,
 			 const struct gdb_xml_element *element,
-			 void *user_data, VEC(gdb_xml_value_s) *attributes)
+			 void *user_data,
+			 std::vector<gdb_xml_value> &attributes)
 {
   struct gdb_xml_value *version = xml_find_attribute (attributes, "version");
 
   /* #FIXED attribute may be omitted, Expat returns NULL in such case.  */
   if (version != NULL)
     {
-      const char *string = (const char *) version->value;
+      const char *string = (const char *) version->value.get ();
 
       if (strcmp (string, "1.0") != 0)
 	gdb_xml_error (parser,
@@ -253,13 +257,14 @@ solib_target_current_sos (void)
   int ix;
 
   /* Fetch the list of shared libraries.  */
-  gdb::unique_xmalloc_ptr<char> library_document
-    = target_read_stralloc (&current_target, TARGET_OBJECT_LIBRARIES, NULL);
-  if (library_document == NULL)
+  gdb::optional<gdb::char_vector> library_document
+    = target_read_stralloc (current_top_target (), TARGET_OBJECT_LIBRARIES,
+			    NULL);
+  if (!library_document)
     return NULL;
 
   /* Parse the list.  */
-  library_list = solib_target_parse_libraries (library_document.get ());
+  library_list = solib_target_parse_libraries (library_document->data ());
 
   if (library_list == NULL)
     return 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.1.0.20180703/gdb/solist.h ./gdb/solist.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/solist.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/solist.h	2018-07-10 02:06:13.000000000 +0000
@@ -129,14 +129,15 @@ struct target_so_ops
     int (*in_dynsym_resolve_code) (CORE_ADDR pc);
 
     /* Find and open shared library binary file.  */
-    gdb_bfd_ref_ptr (*bfd_open) (char *pathname);
+    gdb_bfd_ref_ptr (*bfd_open) (const char *pathname);
 
     /* Optional extra hook for finding and opening a solib.
        If TEMP_PATHNAME is non-NULL: If the file is successfully opened a
        pointer to a malloc'd and realpath'd copy of SONAME is stored there,
        otherwise NULL is stored there.  */
     int (*find_and_open_solib) (const char *soname,
-        unsigned o_flags, char **temp_pathname);
+				unsigned o_flags,
+				gdb::unique_xmalloc_ptr<char> *temp_pathname);
 
     /* Hook for looking up global symbols in a library-specific way.  */
     struct block_symbol (*lookup_lib_global_symbol)
@@ -192,16 +193,18 @@ typedef std::unique_ptr<so_list, so_dele
 struct so_list *master_so_list (void);
 
 /* Find main executable binary file.  */
-extern char *exec_file_find (const char *in_pathname, int *fd);
+extern gdb::unique_xmalloc_ptr<char> exec_file_find (const char *in_pathname,
+						     int *fd);
 
 /* Find shared library binary file.  */
-extern char *solib_find (const char *in_pathname, int *fd);
+extern gdb::unique_xmalloc_ptr<char> solib_find (const char *in_pathname,
+						 int *fd);
 
 /* Open BFD for shared library file.  */
-extern gdb_bfd_ref_ptr solib_bfd_fopen (char *pathname, int fd);
+extern gdb_bfd_ref_ptr solib_bfd_fopen (const char *pathname, int fd);
 
 /* Find solib binary file and open it.  */
-extern gdb_bfd_ref_ptr solib_bfd_open (char *in_pathname);
+extern gdb_bfd_ref_ptr solib_bfd_open (const char *in_pathname);
 
 /* FIXME: gdbarch needs to control this variable.  */
 extern struct target_so_ops *current_target_so_ops;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sol-thread.c ./gdb/sol-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sol-thread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sol-thread.c	2018-07-10 02:06:13.000000000 +0000
@@ -63,13 +63,49 @@
 #include "regcache.h"
 #include "solib.h"
 #include "symfile.h"
-#include "observer.h"
+#include "observable.h"
 #include "procfs.h"
 #include "symtab.h"
 #include "minsyms.h"
 #include "objfiles.h"
 
-struct target_ops sol_thread_ops;
+static const target_info thread_db_target_info = {
+  "solaris-threads",
+  N_("Solaris threads and pthread."),
+  N_("Solaris threads and pthread support.")
+};
+
+class sol_thread_target final : public target_ops
+{
+public:
+  sol_thread_target ()
+  { this->to_stratum = thread_stratum; }
+
+  const target_info &info () const override
+  { return thread_db_target_info; }
+
+  void detach (inferior *, int) override;
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+  void resume (ptid_t, int, enum gdb_signal) override;
+  void mourn_inferior () override;
+  const char *pid_to_str (ptid_t) override;
+  ptid_t get_ada_task_ptid (long lwp, long thread) override;
+
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  bool thread_alive (ptid_t ptid) override;
+  void update_thread_list () override;
+};
+
+static sol_thread_target sol_thread_ops;
 
 /* Prototypes for supply_gregset etc.  */
 #include "gregset.h"
@@ -93,8 +129,6 @@ static struct ps_prochandle main_ph;
 static td_thragent_t *main_ta;
 static int sol_thread_active = 0;
 
-static void init_sol_thread_ops (void);
-
 /* Default definitions: These must be defined in tm.h if they are to
    be shared with a process module such as procfs.  */
 
@@ -266,32 +300,32 @@ thread_to_lwp (ptid_t thread_id, int def
   td_thrhandle_t th;
   td_err_e val;
 
-  if (ptid_lwp_p (thread_id))
+  if (thread_id.lwp_p ())
     return thread_id;		/* It's already an LWP ID.  */
 
   /* It's a thread.  Convert to LWP.  */
 
-  val = p_td_ta_map_id2thr (main_ta, ptid_get_tid (thread_id), &th);
+  val = p_td_ta_map_id2thr (main_ta, thread_id.tid (), &th);
   if (val == TD_NOTHR)
-    return pid_to_ptid (-1);	/* Thread must have terminated.  */
+    return ptid_t (-1);	/* Thread must have terminated.  */
   else if (val != TD_OK)
     error (_("thread_to_lwp: td_ta_map_id2thr %s"), td_err_string (val));
 
   val = p_td_thr_get_info (&th, &ti);
   if (val == TD_NOTHR)
-    return pid_to_ptid (-1);	/* Thread must have terminated.  */
+    return ptid_t (-1);	/* Thread must have terminated.  */
   else if (val != TD_OK)
     error (_("thread_to_lwp: td_thr_get_info: %s"), td_err_string (val));
 
   if (ti.ti_state != TD_THR_ACTIVE)
     {
       if (default_lwp != -1)
-	return pid_to_ptid (default_lwp);
+	return ptid_t (default_lwp);
       error (_("thread_to_lwp: thread state not active: %s"),
 	     td_state_string (ti.ti_state));
     }
 
-  return ptid_build (ptid_get_pid (thread_id), ti.ti_lid, 0);
+  return ptid_t (thread_id.pid (), ti.ti_lid, 0);
 }
 
 /* Convert an LWP ID into a POSIX or Solaris thread ID.  If LWP_ID
@@ -306,17 +340,17 @@ lwp_to_thread (ptid_t lwp)
   td_thrhandle_t th;
   td_err_e val;
 
-  if (ptid_tid_p (lwp))
+  if (lwp.tid_p ())
     return lwp;			/* It's already a thread ID.  */
 
   /* It's an LWP.  Convert it to a thread ID.  */
 
   if (!target_thread_alive (lwp))
-    return pid_to_ptid (-1);	/* Must be a defunct LPW.  */
+    return ptid_t (-1);	/* Must be a defunct LPW.  */
 
-  val = p_td_ta_map_lwp2thr (main_ta, ptid_get_lwp (lwp), &th);
+  val = p_td_ta_map_lwp2thr (main_ta, lwp.lwp (), &th);
   if (val == TD_NOTHR)
-    return pid_to_ptid (-1);	/* Thread must have terminated.  */
+    return ptid_t (-1);	/* Thread must have terminated.  */
   else if (val != TD_OK)
     error (_("lwp_to_thread: td_ta_map_lwp2thr: %s."), td_err_string (val));
 
@@ -328,11 +362,11 @@ lwp_to_thread (ptid_t lwp)
 
   val = p_td_thr_get_info (&th, &ti);
   if (val == TD_NOTHR)
-    return pid_to_ptid (-1);	/* Thread must have terminated.  */
+    return ptid_t (-1);	/* Thread must have terminated.  */
   else if (val != TD_OK)
     error (_("lwp_to_thread: td_thr_get_info: %s."), td_err_string (val));
 
-  return ptid_build (ptid_get_pid (lwp), 0 , ti.ti_tid);
+  return ptid_t (lwp.pid (), 0 , ti.ti_tid);
 }
 
 
@@ -347,15 +381,15 @@ lwp_to_thread (ptid_t lwp)
    process to have been previously attached.  It *might* work if the
    program was started via the normal ptrace (PTRACE_TRACEME).  */
 
-static void
-sol_thread_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+sol_thread_target::detach (inferior *inf, int from_tty)
 {
-  struct target_ops *beneath = find_target_beneath (ops);
+  target_ops *beneath = this->beneath ();
 
   sol_thread_active = 0;
-  inferior_ptid = pid_to_ptid (ptid_get_pid (main_ph.ptid));
-  unpush_target (ops);
-  beneath->to_detach (beneath, args, from_tty);
+  inferior_ptid = ptid_t (main_ph.ptid.pid ());
+  unpush_target (this);
+  beneath->detach (inf, from_tty);
 }
 
 /* Resume execution of process PTID.  If STEP is nozero, then just
@@ -363,75 +397,71 @@ sol_thread_detach (struct target_ops *op
    activated.  We may have to convert PTID from a thread ID to an LWP
    ID for procfs.  */
 
-static void
-sol_thread_resume (struct target_ops *ops,
-		   ptid_t ptid, int step, enum gdb_signal signo)
+void
+sol_thread_target::resume (ptid_t ptid, int step, enum gdb_signal signo)
 {
-  struct target_ops *beneath = find_target_beneath (ops);
-
   scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
 
-  inferior_ptid = thread_to_lwp (inferior_ptid, ptid_get_pid (main_ph.ptid));
-  if (ptid_get_pid (inferior_ptid) == -1)
+  inferior_ptid = thread_to_lwp (inferior_ptid, main_ph.ptid.pid ());
+  if (inferior_ptid.pid () == -1)
     inferior_ptid = procfs_first_available ();
 
-  if (ptid_get_pid (ptid) != -1)
+  if (ptid.pid () != -1)
     {
       ptid_t save_ptid = ptid;
 
       ptid = thread_to_lwp (ptid, -2);
-      if (ptid_get_pid (ptid) == -2)		/* Inactive thread.  */
+      if (ptid.pid () == -2)		/* Inactive thread.  */
 	error (_("This version of Solaris can't start inactive threads."));
-      if (info_verbose && ptid_get_pid (ptid) == -1)
+      if (info_verbose && ptid.pid () == -1)
 	warning (_("Specified thread %ld seems to have terminated"),
-		 ptid_get_tid (save_ptid));
+		 save_ptid.tid ());
     }
 
-  beneath->to_resume (beneath, ptid, step, signo);
+  beneath ()->resume (ptid, step, signo);
 }
 
 /* Wait for any threads to stop.  We may have to convert PTID from a
    thread ID to an LWP ID, and vice versa on the way out.  */
 
-static ptid_t
-sol_thread_wait (struct target_ops *ops,
-		 ptid_t ptid, struct target_waitstatus *ourstatus, int options)
+ptid_t
+sol_thread_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
+			 int options)
 {
   ptid_t rtnval;
   ptid_t save_ptid;
-  struct target_ops *beneath = find_target_beneath (ops);
 
   save_ptid = inferior_ptid;
   scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
 
-  inferior_ptid = thread_to_lwp (inferior_ptid, ptid_get_pid (main_ph.ptid));
-  if (ptid_get_pid (inferior_ptid) == -1)
+  inferior_ptid = thread_to_lwp (inferior_ptid, main_ph.ptid.pid ());
+  if (inferior_ptid.pid () == -1)
     inferior_ptid = procfs_first_available ();
 
-  if (ptid_get_pid (ptid) != -1)
+  if (ptid.pid () != -1)
     {
       ptid_t save_ptid = ptid;
 
       ptid = thread_to_lwp (ptid, -2);
-      if (ptid_get_pid (ptid) == -2)		/* Inactive thread.  */
+      if (ptid.pid () == -2)		/* Inactive thread.  */
 	error (_("This version of Solaris can't start inactive threads."));
-      if (info_verbose && ptid_get_pid (ptid) == -1)
+      if (info_verbose && ptid.pid () == -1)
 	warning (_("Specified thread %ld seems to have terminated"),
-		 ptid_get_tid (save_ptid));
+		 save_ptid.tid ());
     }
 
-  rtnval = beneath->to_wait (beneath, ptid, ourstatus, options);
+  rtnval = beneath ()->wait (ptid, ourstatus, options);
 
   if (ourstatus->kind != TARGET_WAITKIND_EXITED)
     {
       /* Map the LWP of interest back to the appropriate thread ID.  */
       rtnval = lwp_to_thread (rtnval);
-      if (ptid_get_pid (rtnval) == -1)
+      if (rtnval.pid () == -1)
 	rtnval = save_ptid;
 
       /* See if we have a new thread.  */
-      if (ptid_tid_p (rtnval)
-	  && !ptid_equal (rtnval, save_ptid)
+      if (rtnval.tid_p ()
+	  && rtnval != save_ptid
 	  && (!in_thread_list (rtnval)
 	      || is_exited (rtnval)))
 	add_thread (rtnval);
@@ -444,9 +474,8 @@ sol_thread_wait (struct target_ops *ops,
   return rtnval;
 }
 
-static void
-sol_thread_fetch_registers (struct target_ops *ops,
-			    struct regcache *regcache, int regnum)
+void
+sol_thread_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   thread_t thread;
   td_thrhandle_t thandle;
@@ -455,18 +484,17 @@ sol_thread_fetch_registers (struct targe
   prfpregset_t fpregset;
   gdb_gregset_t *gregset_p = &gregset;
   gdb_fpregset_t *fpregset_p = &fpregset;
-  struct target_ops *beneath = find_target_beneath (ops);
-  ptid_t ptid = regcache_get_ptid (regcache);
+  ptid_t ptid = regcache->ptid ();
 
-  if (!ptid_tid_p (ptid))
+  if (!ptid.tid_p ())
     {
       /* It's an LWP; pass the request on to the layer beneath.  */
-      beneath->to_fetch_registers (beneath, regcache, regnum);
+      beneath ()->fetch_registers (regcache, regnum);
       return;
     }
 
   /* Solaris thread: convert PTID into a td_thrhandle_t.  */
-  thread = ptid_get_tid (ptid);
+  thread = ptid.tid ();
   if (thread == 0)
     error (_("sol_thread_fetch_registers: thread == 0"));
 
@@ -500,28 +528,25 @@ sol_thread_fetch_registers (struct targe
   supply_fpregset (regcache, (const gdb_fpregset_t *) fpregset_p);
 }
 
-static void
-sol_thread_store_registers (struct target_ops *ops,
-			    struct regcache *regcache, int regnum)
+void
+sol_thread_target::store_registers (struct regcache *regcache, int regnum)
 {
   thread_t thread;
   td_thrhandle_t thandle;
   td_err_e val;
   prgregset_t gregset;
   prfpregset_t fpregset;
-  ptid_t ptid = regcache_get_ptid (regcache);
+  ptid_t ptid = regcache->ptid ();
 
-  if (!ptid_tid_p (ptid))
+  if (!ptid.tid_p ())
     {
-      struct target_ops *beneath = find_target_beneath (ops);
-
       /* It's an LWP; pass the request on to the layer beneath.  */
-      beneath->to_store_registers (beneath, regcache, regnum);
+      beneath ()->store_registers (regcache, regnum);
       return;
     }
 
   /* Solaris thread: convert PTID into a td_thrhandle_t.  */
-  thread = ptid_get_tid (ptid);
+  thread = ptid.tid ();
 
   val = p_td_ta_map_id2thr (main_ta, thread, &thandle);
   if (val != TD_OK)
@@ -557,17 +582,16 @@ sol_thread_store_registers (struct targe
    target_write_partial for details of each variant.  One, and only
    one, of readbuf or writebuf must be non-NULL.  */
 
-static enum target_xfer_status
-sol_thread_xfer_partial (struct target_ops *ops, enum target_object object,
-			  const char *annex, gdb_byte *readbuf,
-			  const gdb_byte *writebuf,
-			 ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+sol_thread_target::xfer_partial (enum target_object object,
+				 const char *annex, gdb_byte *readbuf,
+				 const gdb_byte *writebuf,
+				 ULONGEST offset, ULONGEST len,
+				 ULONGEST *xfered_len)
 {
-  struct target_ops *beneath = find_target_beneath (ops);
-
   scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
 
-  if (ptid_tid_p (inferior_ptid) || !target_thread_alive (inferior_ptid))
+  if (inferior_ptid.tid_p () || !target_thread_alive (inferior_ptid))
     {
       /* It's either a thread or an LWP that isn't alive.  Any live
          LWP will do so use the first available.
@@ -577,7 +601,7 @@ sol_thread_xfer_partial (struct target_o
       inferior_ptid = procfs_first_available ();
     }
 
-  return beneath->to_xfer_partial (beneath, object, annex, readbuf,
+  return beneath ()->xfer_partial (object, annex, readbuf,
 				   writebuf, offset, len, xfered_len);
 }
 
@@ -588,7 +612,7 @@ check_for_thread_db (void)
   ptid_t ptid;
 
   /* Don't attempt to use thread_db for remote targets.  */
-  if (!(target_can_run (&current_target) || core_bfd))
+  if (!(target_can_run () || core_bfd))
     return;
 
   /* Do nothing if we couldn't load libthread_db.so.1.  */
@@ -628,7 +652,7 @@ check_for_thread_db (void)
 
       main_ph.ptid = inferior_ptid; /* Save for xfer_memory.  */
       ptid = lwp_to_thread (inferior_ptid);
-      if (ptid_get_pid (ptid) != -1)
+      if (ptid.pid () != -1)
 	inferior_ptid = ptid;
 
       target_update_thread_list ();
@@ -656,43 +680,41 @@ sol_thread_new_objfile (struct objfile *
 
 /* Clean up after the inferior dies.  */
 
-static void
-sol_thread_mourn_inferior (struct target_ops *ops)
+void
+sol_thread_target::mourn_inferior ()
 {
-  struct target_ops *beneath = find_target_beneath (ops);
+  target_ops *beneath = this->beneath ();
 
   sol_thread_active = 0;
 
-  unpush_target (ops);
+  unpush_target (this);
 
-  beneath->to_mourn_inferior (beneath);
+  beneath->mourn_inferior ();
 }
 
 /* Return true if PTID is still active in the inferior.  */
 
-static int
-sol_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+sol_thread_target::thread_alive (ptid_t ptid)
 {
-  if (ptid_tid_p (ptid))
+  if (ptid.tid_p ())
     {
       /* It's a (user-level) thread.  */
       td_err_e val;
       td_thrhandle_t th;
       int pid;
 
-      pid = ptid_get_tid (ptid);
+      pid = ptid.tid ();
       if ((val = p_td_ta_map_id2thr (main_ta, pid, &th)) != TD_OK)
-	return 0;		/* Thread not found.  */
+	return false;		/* Thread not found.  */
       if ((val = p_td_thr_validate (&th)) != TD_OK)
-	return 0;		/* Thread not valid.  */
-      return 1;			/* Known thread.  */
+	return false;		/* Thread not valid.  */
+      return true;		/* Known thread.  */
     }
   else
     {
-      struct target_ops *beneath = find_target_beneath (ops);
-
       /* It's an LPW; pass the request on to the layer below.  */
-      return beneath->to_thread_alive (beneath, ptid);
+      return beneath ()->thread_alive (ptid);
     }
 }
 
@@ -763,7 +785,7 @@ rw_common (int dowrite, const struct ps_
 
   scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
 
-  if (ptid_tid_p (inferior_ptid) || !target_thread_alive (inferior_ptid))
+  if (inferior_ptid.tid_p () || !target_thread_alive (inferior_ptid))
     {
       /* It's either a thread or an LWP that isn't alive.  Any live
          LWP will do so use the first available.
@@ -827,7 +849,7 @@ ps_ptwrite (struct ps_prochandle *ph, ps
 ps_err_e
 ps_lgetregs (struct ps_prochandle *ph, lwpid_t lwpid, prgregset_t gregset)
 {
-  ptid_t ptid = ptid_build (ptid_get_pid (inferior_ptid), lwpid, 0);
+  ptid_t ptid = ptid_t (inferior_ptid.pid (), lwpid, 0);
   struct regcache *regcache
     = get_thread_arch_regcache (ptid, target_gdbarch ());
 
@@ -843,7 +865,7 @@ ps_err_e
 ps_lsetregs (struct ps_prochandle *ph, lwpid_t lwpid,
 	     const prgregset_t gregset)
 {
-  ptid_t ptid = ptid_build (ptid_get_pid (inferior_ptid), lwpid, 0);
+  ptid_t ptid = ptid_t (inferior_ptid.pid (), lwpid, 0);
   struct regcache *regcache
     = get_thread_arch_regcache (ptid, target_gdbarch ());
 
@@ -895,7 +917,7 @@ ps_err_e
 ps_lgetfpregs (struct ps_prochandle *ph, lwpid_t lwpid,
 	       prfpregset_t *fpregset)
 {
-  ptid_t ptid = ptid_build (ptid_get_pid (inferior_ptid), lwpid, 0);
+  ptid_t ptid = ptid_t (inferior_ptid.pid (), lwpid, 0);
   struct regcache *regcache
     = get_thread_arch_regcache (ptid, target_gdbarch ());
 
@@ -911,7 +933,7 @@ ps_err_e
 ps_lsetfpregs (struct ps_prochandle *ph, lwpid_t lwpid,
 	       const prfpregset_t * fpregset)
 {
-  ptid_t ptid = ptid_build (ptid_get_pid (inferior_ptid), lwpid, 0);
+  ptid_t ptid = ptid_t (inferior_ptid.pid (), lwpid, 0);
   struct regcache *regcache
     = get_thread_arch_regcache (ptid, target_gdbarch ());
 
@@ -957,10 +979,10 @@ ps_lgetLDT (struct ps_prochandle *ph, lw
   /* FIXME: can't I get the process ID from the prochandle or
      something?  */
 
-  if (ptid_get_pid (inferior_ptid) <= 0 || lwpid <= 0)
+  if (inferior_ptid.pid () <= 0 || lwpid <= 0)
     return PS_BADLID;
 
-  ret = procfs_find_LDT_entry (ptid_build (ptid_get_pid (inferior_ptid),
+  ret = procfs_find_LDT_entry (ptid_t (inferior_ptid.pid (),
 			       lwpid, 0));
   if (ret)
     {
@@ -976,31 +998,31 @@ ps_lgetLDT (struct ps_prochandle *ph, lw
 
 /* Convert PTID to printable form.  */
 
-static const char *
-solaris_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+sol_thread_target::pid_to_str (ptid_t ptid)
 {
   static char buf[100];
 
-  if (ptid_tid_p (ptid))
+  if (ptid.tid_p ())
     {
       ptid_t lwp;
 
       lwp = thread_to_lwp (ptid, -2);
 
-      if (ptid_get_pid (lwp) == -1)
+      if (lwp.pid () == -1)
 	xsnprintf (buf, sizeof (buf), "Thread %ld (defunct)",
-		   ptid_get_tid (ptid));
-      else if (ptid_get_pid (lwp) != -2)
+		   ptid.tid ());
+      else if (lwp.pid () != -2)
 	xsnprintf (buf, sizeof (buf), "Thread %ld (LWP %ld)",
-		 ptid_get_tid (ptid), ptid_get_lwp (lwp));
+		 ptid.tid (), lwp.lwp ());
       else
 	xsnprintf (buf, sizeof (buf), "Thread %ld        ",
-		   ptid_get_tid (ptid));
+		   ptid.tid ());
     }
-  else if (ptid_get_lwp (ptid) != 0)
-    xsnprintf (buf, sizeof (buf), "LWP    %ld        ", ptid_get_lwp (ptid));
+  else if (ptid.lwp () != 0)
+    xsnprintf (buf, sizeof (buf), "LWP    %ld        ", ptid.lwp ());
   else
-    xsnprintf (buf, sizeof (buf), "process %d    ", ptid_get_pid (ptid));
+    xsnprintf (buf, sizeof (buf), "process %d    ", ptid.pid ());
 
   return buf;
 }
@@ -1020,23 +1042,21 @@ sol_update_thread_list_callback (const t
   if (retval != TD_OK)
     return -1;
 
-  ptid = ptid_build (ptid_get_pid (inferior_ptid), 0, ti.ti_tid);
+  ptid = ptid_t (inferior_ptid.pid (), 0, ti.ti_tid);
   if (!in_thread_list (ptid) || is_exited (ptid))
     add_thread (ptid);
 
   return 0;
 }
 
-static void
-sol_update_thread_list (struct target_ops *ops)
+void
+sol_thread_target::update_thread_list ()
 {
-  struct target_ops *beneath = find_target_beneath (ops);
-
   /* Delete dead threads.  */
   prune_threads ();
 
   /* Find any new LWP's.  */
-  beneath->to_update_thread_list (beneath);
+  beneath ()->update_thread_list ();
 
   /* Then find any new user-level threads.  */
   p_td_ta_thr_iter (main_ta, sol_update_thread_list_callback, (void *) 0,
@@ -1137,14 +1157,14 @@ thread_db_find_thread_from_tid (struct t
 {
   long *tid = (long *) data;
 
-  if (ptid_get_tid (thread->ptid) == *tid)
+  if (thread->ptid.tid () == *tid)
     return 1;
 
   return 0;
 }
 
-static ptid_t
-sol_get_ada_task_ptid (struct target_ops *self, long lwp, long thread)
+ptid_t
+sol_thread_target::get_ada_task_ptid (long lwp, long thread)
 {
   struct thread_info *thread_info =
     iterate_over_threads (thread_db_find_thread_from_tid, &thread);
@@ -1153,7 +1173,7 @@ sol_get_ada_task_ptid (struct target_ops
     {
       /* The list of threads is probably not up to date.  Find any
          thread that is missing from the list, and try again.  */
-      sol_update_thread_list (&current_target);
+      update_thread_list ();
       thread_info = iterate_over_threads (thread_db_find_thread_from_tid,
                                           &thread);
     }
@@ -1163,34 +1183,11 @@ sol_get_ada_task_ptid (struct target_ops
   return (thread_info->ptid);
 }
 
-static void
-init_sol_thread_ops (void)
-{
-  sol_thread_ops.to_shortname = "solaris-threads";
-  sol_thread_ops.to_longname = "Solaris threads and pthread.";
-  sol_thread_ops.to_doc = "Solaris threads and pthread support.";
-  sol_thread_ops.to_detach = sol_thread_detach;
-  sol_thread_ops.to_resume = sol_thread_resume;
-  sol_thread_ops.to_wait = sol_thread_wait;
-  sol_thread_ops.to_fetch_registers = sol_thread_fetch_registers;
-  sol_thread_ops.to_store_registers = sol_thread_store_registers;
-  sol_thread_ops.to_xfer_partial = sol_thread_xfer_partial;
-  sol_thread_ops.to_mourn_inferior = sol_thread_mourn_inferior;
-  sol_thread_ops.to_thread_alive = sol_thread_alive;
-  sol_thread_ops.to_pid_to_str = solaris_pid_to_str;
-  sol_thread_ops.to_update_thread_list = sol_update_thread_list;
-  sol_thread_ops.to_stratum = thread_stratum;
-  sol_thread_ops.to_get_ada_task_ptid = sol_get_ada_task_ptid;
-  sol_thread_ops.to_magic = OPS_MAGIC;
-}
-
 void
 _initialize_sol_thread (void)
 {
   void *dlhandle;
 
-  init_sol_thread_ops ();
-
   dlhandle = dlopen ("libthread_db.so.1", RTLD_NOW);
   if (!dlhandle)
     goto die;
@@ -1223,13 +1220,11 @@ _initialize_sol_thread (void)
   resolve (td_thr_getgregs);
   resolve (td_thr_setgregs);
 
-  complete_target_initialization (&sol_thread_ops);
-
   add_cmd ("sol-threads", class_maintenance, info_solthreads,
 	   _("Show info on Solaris user threads."), &maintenanceinfolist);
 
   /* Hook into new_objfile notification.  */
-  observer_attach_new_objfile (sol_thread_new_objfile);
+  gdb::observers::new_objfile.attach (sol_thread_new_objfile);
   return;
 
  die:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/source.c ./gdb/source.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/source.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/source.c	2018-07-10 02:06:13.000000000 +0000
@@ -42,6 +42,7 @@
 #include "ui-out.h"
 #include "readline/readline.h"
 #include "common/enum-flags.h"
+#include "common/scoped_fd.h"
 #include <algorithm>
 #include "common/pathstuff.h"
 
@@ -461,10 +462,7 @@ add_path (const char *dirname, char **wh
 {
   char *old = *which_path;
   int prefix = 0;
-  VEC (char_ptr) *dir_vec = NULL;
-  struct cleanup *back_to;
-  int ix;
-  char *name;
+  std::vector<gdb::unique_xmalloc_ptr<char>> dir_vec;
 
   if (dirname == 0)
     return;
@@ -479,11 +477,13 @@ add_path (const char *dirname, char **wh
 	dirnames_to_char_ptr_vec_append (&dir_vec, arg);
     }
   else
-    VEC_safe_push (char_ptr, dir_vec, xstrdup (dirname));
-  back_to = make_cleanup_free_char_ptr_vec (dir_vec);
+    dir_vec.emplace_back (xstrdup (dirname));
 
-  for (ix = 0; VEC_iterate (char_ptr, dir_vec, ix, name); ++ix)
+  struct cleanup *back_to = make_cleanup (null_cleanup, NULL);
+
+  for (const gdb::unique_xmalloc_ptr<char> &name_up : dir_vec)
     {
+      char *name = name_up.get ();
       char *p;
       struct stat st;
 
@@ -703,19 +703,16 @@ info_source_command (const char *ignore,
 /*  >>>> This should only allow files of certain types,
     >>>>  eg executable, non-directory.  */
 int
-openp (const char *path, int opts, const char *string,
-       int mode, char **filename_opened)
+openp (const char *path, openp_flags opts, const char *string,
+       int mode, gdb::unique_xmalloc_ptr<char> *filename_opened)
 {
   int fd;
   char *filename;
   int alloclen;
-  VEC (char_ptr) *dir_vec;
-  struct cleanup *back_to;
-  int ix;
-  char *dir;
   /* The errno set for the last name we tried to open (and
      failed).  */
   int last_errno = 0;
+  std::vector<gdb::unique_xmalloc_ptr<char>> dir_vec;
 
   /* The open syscall MODE parameter is not specified.  */
   gdb_assert ((mode & O_CREAT) == 0);
@@ -783,10 +780,10 @@ openp (const char *path, int opts, const
   last_errno = ENOENT;
 
   dir_vec = dirnames_to_char_ptr_vec (path);
-  back_to = make_cleanup_free_char_ptr_vec (dir_vec);
 
-  for (ix = 0; VEC_iterate (char_ptr, dir_vec, ix, dir); ++ix)
+  for (const gdb::unique_xmalloc_ptr<char> &dir_up : dir_vec)
     {
+      char *dir = dir_up.get ();
       size_t len = strlen (dir);
       int reg_file_errno;
 
@@ -856,18 +853,16 @@ openp (const char *path, int opts, const
 	last_errno = reg_file_errno;
     }
 
-  do_cleanups (back_to);
-
 done:
   if (filename_opened)
     {
       /* If a file was opened, canonicalize its filename.  */
       if (fd < 0)
-	*filename_opened = NULL;
+	filename_opened->reset (NULL);
       else if ((opts & OPF_RETURN_REALPATH) != 0)
-	*filename_opened = gdb_realpath (filename).release ();
+	*filename_opened = gdb_realpath (filename);
       else
-	*filename_opened = gdb_abspath (filename).release ();
+	*filename_opened = gdb_abspath (filename);
     }
 
   errno = last_errno;
@@ -887,7 +882,8 @@ done:
 
    Else, this functions returns 0, and FULL_PATHNAME is set to NULL.  */
 int
-source_full_path_of (const char *filename, char **full_pathname)
+source_full_path_of (const char *filename,
+		     gdb::unique_xmalloc_ptr<char> *full_pathname)
 {
   int fd;
 
@@ -896,7 +892,7 @@ source_full_path_of (const char *filenam
 	      filename, O_RDONLY, full_pathname);
   if (fd < 0)
     {
-      *full_pathname = NULL;
+      full_pathname->reset (NULL);
       return 0;
     }
 
@@ -978,7 +974,7 @@ rewrite_source_path (const char *path)
 int
 find_and_open_source (const char *filename,
 		      const char *dirname,
-		      char **fullname)
+		      gdb::unique_xmalloc_ptr<char> *fullname)
 {
   char *path = source_path;
   const char *p;
@@ -991,27 +987,21 @@ find_and_open_source (const char *filena
       /* The user may have requested that source paths be rewritten
          according to substitution rules he provided.  If a substitution
          rule applies to this path, then apply it.  */
-      char *rewritten_fullname = rewrite_source_path (*fullname).release ();
+      gdb::unique_xmalloc_ptr<char> rewritten_fullname
+	= rewrite_source_path (fullname->get ());
 
       if (rewritten_fullname != NULL)
-        {
-          xfree (*fullname);
-          *fullname = rewritten_fullname;
-        }
+	*fullname = std::move (rewritten_fullname);
 
-      result = gdb_open_cloexec (*fullname, OPEN_MODE, 0);
+      result = gdb_open_cloexec (fullname->get (), OPEN_MODE, 0);
       if (result >= 0)
 	{
-	  char *lpath = gdb_realpath (*fullname).release ();
-
-	  xfree (*fullname);
-	  *fullname = lpath;
+	  *fullname = gdb_realpath (fullname->get ());
 	  return result;
 	}
 
       /* Didn't work -- free old one, try again.  */
-      xfree (*fullname);
-      *fullname = NULL;
+      fullname->reset (NULL);
     }
 
   gdb::unique_xmalloc_ptr<char> rewritten_dirname;
@@ -1082,7 +1072,10 @@ open_source_file (struct symtab *s)
   if (!s)
     return -1;
 
-  return find_and_open_source (s->filename, SYMTAB_DIRNAME (s), &s->fullname);
+  gdb::unique_xmalloc_ptr<char> fullname;
+  int fd = find_and_open_source (s->filename, SYMTAB_DIRNAME (s), &fullname);
+  s->fullname = fullname.release ();
+  return fd;
 }
 
 /* Finds the fullname that a symtab represents.
@@ -1102,8 +1095,7 @@ symtab_to_fullname (struct symtab *s)
      to handle cases like the file being moved.  */
   if (s->fullname == NULL)
     {
-      int fd = find_and_open_source (s->filename, SYMTAB_DIRNAME (s),
-				     &s->fullname);
+      int fd = open_source_file (s);
 
       if (fd >= 0)
 	close (fd);
@@ -1153,7 +1145,7 @@ void
 find_source_lines (struct symtab *s, int desc)
 {
   struct stat st;
-  char *data, *p, *end;
+  char *p, *end;
   int nlines = 0;
   int lines_allocated = 1000;
   int *line_charpos;
@@ -1174,23 +1166,20 @@ find_source_lines (struct symtab *s, int
     warning (_("Source file is more recent than executable."));
 
   {
-    struct cleanup *old_cleanups;
-
     /* st_size might be a large type, but we only support source files whose 
        size fits in an int.  */
     size = (int) st.st_size;
 
-    /* Use malloc, not alloca, because this may be pretty large, and we may
-       run into various kinds of limits on stack size.  */
-    data = (char *) xmalloc (size);
-    old_cleanups = make_cleanup (xfree, data);
+    /* Use the heap, not the stack, because this may be pretty large,
+       and we may run into various kinds of limits on stack size.  */
+    gdb::def_vector<char> data (size);
 
     /* Reassign `size' to result of read for systems where \r\n -> \n.  */
-    size = myread (desc, data, size);
+    size = myread (desc, data.data (), size);
     if (size < 0)
       perror_with_name (symtab_to_filename_for_display (s));
-    end = data + size;
-    p = data;
+    end = data.data () + size;
+    p = &data[0];
     line_charpos[0] = 0;
     nlines = 1;
     while (p != end)
@@ -1206,10 +1195,9 @@ find_source_lines (struct symtab *s, int
 		  (int *) xrealloc ((char *) line_charpos,
 				    sizeof (int) * lines_allocated);
 	      }
-	    line_charpos[nlines++] = p - data;
+	    line_charpos[nlines++] = p - data.data ();
 	  }
       }
-    do_cleanups (old_cleanups);
   }
 
   s->nlines = nlines;
@@ -1228,24 +1216,21 @@ find_source_lines (struct symtab *s, int
 static int
 get_filename_and_charpos (struct symtab *s, char **fullname)
 {
-  int desc, linenums_changed = 0;
-  struct cleanup *cleanups;
+  int linenums_changed = 0;
 
-  desc = open_source_file (s);
-  if (desc < 0)
+  scoped_fd desc (open_source_file (s));
+  if (desc.get () < 0)
     {
       if (fullname)
 	*fullname = NULL;
       return 0;
     }
-  cleanups = make_cleanup_close (desc);
   if (fullname)
     *fullname = s->fullname;
   if (s->line_charpos == 0)
     linenums_changed = 1;
   if (linenums_changed)
-    find_source_lines (s, desc);
-  do_cleanups (cleanups);
+    find_source_lines (s, desc.get ());
   return linenums_changed;
 }
 
@@ -1554,10 +1539,8 @@ static void
 forward_search_command (const char *regex, int from_tty)
 {
   int c;
-  int desc;
   int line;
   char *msg;
-  struct cleanup *cleanups;
 
   line = last_line_listed + 1;
 
@@ -1568,22 +1551,21 @@ forward_search_command (const char *rege
   if (current_source_symtab == 0)
     select_source_symtab (0);
 
-  desc = open_source_file (current_source_symtab);
-  if (desc < 0)
+  scoped_fd desc (open_source_file (current_source_symtab));
+  if (desc.get () < 0)
     perror_with_name (symtab_to_filename_for_display (current_source_symtab));
-  cleanups = make_cleanup_close (desc);
 
   if (current_source_symtab->line_charpos == 0)
-    find_source_lines (current_source_symtab, desc);
+    find_source_lines (current_source_symtab, desc.get ());
 
   if (line < 1 || line > current_source_symtab->nlines)
     error (_("Expression not found"));
 
-  if (lseek (desc, current_source_symtab->line_charpos[line - 1], 0) < 0)
+  if (lseek (desc.get (), current_source_symtab->line_charpos[line - 1], 0)
+      < 0)
     perror_with_name (symtab_to_filename_for_display (current_source_symtab));
 
-  discard_cleanups (cleanups);
-  gdb_file_up stream (fdopen (desc, FDOPEN_MODE));
+  gdb_file_up stream (fdopen (desc.release (), FDOPEN_MODE));
   clearerr (stream.get ());
   while (1)
     {
@@ -1639,10 +1621,8 @@ static void
 reverse_search_command (const char *regex, int from_tty)
 {
   int c;
-  int desc;
   int line;
   char *msg;
-  struct cleanup *cleanups;
 
   line = last_line_listed - 1;
 
@@ -1653,22 +1633,21 @@ reverse_search_command (const char *rege
   if (current_source_symtab == 0)
     select_source_symtab (0);
 
-  desc = open_source_file (current_source_symtab);
-  if (desc < 0)
+  scoped_fd desc (open_source_file (current_source_symtab));
+  if (desc.get () < 0)
     perror_with_name (symtab_to_filename_for_display (current_source_symtab));
-  cleanups = make_cleanup_close (desc);
 
   if (current_source_symtab->line_charpos == 0)
-    find_source_lines (current_source_symtab, desc);
+    find_source_lines (current_source_symtab, desc.get ());
 
   if (line < 1 || line > current_source_symtab->nlines)
     error (_("Expression not found"));
 
-  if (lseek (desc, current_source_symtab->line_charpos[line - 1], 0) < 0)
+  if (lseek (desc.get (), current_source_symtab->line_charpos[line - 1], 0)
+      < 0)
     perror_with_name (symtab_to_filename_for_display (current_source_symtab));
 
-  discard_cleanups (cleanups);
-  gdb_file_up stream (fdopen (desc, FDOPEN_MODE));
+  gdb_file_up stream (fdopen (desc.release (), FDOPEN_MODE));
   clearerr (stream.get ());
   while (line > 1)
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/source.h ./gdb/source.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/source.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/source.h	2018-07-10 02:06:13.000000000 +0000
@@ -21,6 +21,32 @@
 
 struct symtab;
 
+/* See openp function definition for their description.  */
+
+enum openp_flag
+{
+  OPF_TRY_CWD_FIRST = 0x01,
+  OPF_SEARCH_IN_PATH = 0x02,
+  OPF_RETURN_REALPATH = 0x04,
+};
+
+DEF_ENUM_FLAGS_TYPE(openp_flag, openp_flags);
+
+extern int openp (const char *, openp_flags, const char *, int,
+		  gdb::unique_xmalloc_ptr<char> *);
+
+extern int source_full_path_of (const char *, gdb::unique_xmalloc_ptr<char> *);
+
+extern void mod_path (const char *, char **);
+
+extern void add_path (const char *, char **, int);
+
+extern void directory_switch (const char *, int);
+
+extern char *source_path;
+
+extern void init_source_path (void);
+
 /* This function is capable of finding the absolute path to a
    source file, and opening it, provided you give it a FILENAME.  Both the
    DIRNAME and FULLNAME are only added suggestions on where to find the file.
@@ -42,7 +68,7 @@ struct symtab;
      FULLNAME is set to NULL.  */
 extern int find_and_open_source (const char *filename,
 				 const char *dirname,
-				 char **fullname);
+				 gdb::unique_xmalloc_ptr<char> *fullname);
 
 /* Open a source file given a symtab S.  Returns a file descriptor or
    negative number for error.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-fbsd-nat.c ./gdb/sparc64-fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-fbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc64-fbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -46,12 +46,12 @@ sparc64fbsd_kvm_supply_pcb (struct regca
   if (pcb->pcb_sp == 0)
     return 0;
 
-  regcache_raw_supply (regcache, SPARC_SP_REGNUM, &pcb->pcb_sp);
-  regcache_raw_supply (regcache, SPARC64_PC_REGNUM, &pcb->pcb_pc);
+  regcache->raw_supply (SPARC_SP_REGNUM, &pcb->pcb_sp);
+  regcache->raw_supply (SPARC64_PC_REGNUM, &pcb->pcb_pc);
 
   /* Synthesize %npc.  */
   pcb->pcb_pc += 4;
-  regcache_raw_supply (regcache, SPARC64_NPC_REGNUM, &pcb->pcb_pc);
+  regcache->raw_supply (SPARC64_NPC_REGNUM, &pcb->pcb_pc);
 
   /* Read `local' and `in' registers from the stack.  */
   sparc_supply_rwindow (regcache, pcb->pcb_sp, -1);
@@ -59,14 +59,13 @@ sparc64fbsd_kvm_supply_pcb (struct regca
   return 1;
 }
 
+/* Add some extra features to the generic SPARC target.  */
+static sparc_target<fbsd_nat_target> the_sparc64_fbsd_nat_target;
+
 void
 _initialize_sparc64fbsd_nat (void)
 {
-  struct target_ops *t;
-
-  /* Add some extra features to the generic SPARC target.  */
-  t = sparc_target ();
-  fbsd_nat_add_target (t);
+  add_inf_child_target (&the_sparc64_fbsd_nat_target);
 
   sparc_gregmap = &sparc64fbsd_gregmap;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-linux-nat.c ./gdb/sparc64-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc64-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,6 +30,25 @@
 #include "target.h"
 #include "linux-nat.h"
 
+class sparc64_linux_nat_target final : public linux_nat_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *regcache, int regnum) override
+  { sparc_fetch_inferior_registers (regcache, regnum); }
+
+  void store_registers (struct regcache *regcache, int regnum) override
+  { sparc_store_inferior_registers (regcache, regnum); }
+
+  /* Override linux_nat_target low methods.  */
+
+  /* ADI support */
+  void low_forget_process (pid_t pid) override
+  { sparc64_forget_process (pid); }
+};
+
+static sparc64_linux_nat_target the_sparc64_linux_nat_target;
+
 static const struct sparc_gregmap sparc64_linux_ptrace_gregmap =
 {
   16 * 8,			/* "tstate" */
@@ -72,22 +91,11 @@ fill_fpregset (const struct regcache *re
 void
 _initialize_sparc64_linux_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
   sparc_fpregmap = &sparc64_bsd_fpregmap;
 
-  /* Add our register access methods.  */
-  t->to_fetch_registers = sparc_fetch_inferior_registers;
-  t->to_store_registers = sparc_store_inferior_registers;
-
   /* Register the target.  */
-  linux_nat_add_target (t);
-
-  /* ADI support */
-  linux_nat_set_forget_process (t, sparc64_forget_process);
+  linux_target = &the_sparc64_linux_nat_target;
+  add_inf_child_target (&the_sparc64_linux_nat_target);
 
   sparc_gregmap = &sparc64_linux_ptrace_gregmap;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-linux-tdep.c ./gdb/sparc64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc64-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -282,9 +282,9 @@ sparc64_linux_write_pc (struct regcache 
 
 static LONGEST
 sparc64_linux_get_syscall_number (struct gdbarch *gdbarch,
-				  ptid_t ptid)
+				  thread_info *thread)
 {
-  struct regcache *regcache = get_thread_regcache (ptid);
+  struct regcache *regcache = get_thread_regcache (thread);
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   /* The content of a register.  */
   gdb_byte buf[8];
@@ -294,7 +294,7 @@ sparc64_linux_get_syscall_number (struct
   /* Getting the system call number from the register.
      When dealing with the sparc architecture, this information
      is stored at the %g1 register.  */
-  regcache_cooked_read (regcache, SPARC_G1_REGNUM, buf);
+  regcache->cooked_read (SPARC_G1_REGNUM, buf);
 
   ret = extract_signed_integer (buf, 8, byte_order);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-nbsd-nat.c ./gdb/sparc64-nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-nbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc64-nbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -156,17 +156,20 @@ sparc64nbsd_supply_pcb (struct regcache 
       read_memory(pcb->pcb_sp + BIAS - 176 + (11 * 8), 
 		  (gdb_byte *)&pcb->pcb_pc, sizeof pcb->pcb_pc);
 
-  regcache_raw_supply (regcache, SPARC_SP_REGNUM, &pcb->pcb_sp);
-  regcache_raw_supply (regcache, SPARC64_PC_REGNUM, &pcb->pcb_pc);
+  regcache->raw_supply (SPARC_SP_REGNUM, &pcb->pcb_sp);
+  regcache->raw_supply (SPARC64_PC_REGNUM, &pcb->pcb_pc);
 
   state = pcb->pcb_pstate << 8 | pcb->pcb_cwp;
-  regcache_raw_supply (regcache, SPARC64_STATE_REGNUM, &state);
+  regcache->raw_supply (SPARC64_STATE_REGNUM, &state);
 
   sparc_supply_rwindow (regcache, pcb->pcb_sp, -1);
 
   return 1;
 }
 
+/* We've got nothing to add to the generic SPARC target.  */
+static sparc_target<inf_ptrace_target> the_sparc64_nbsd_nat_target;
+
 void
 _initialize_sparc64nbsd_nat (void)
 {
@@ -177,8 +180,7 @@ _initialize_sparc64nbsd_nat (void)
   sparc_gregset_supplies_p = sparc64nbsd_gregset_supplies_p;
   sparc_fpregset_supplies_p = sparc64nbsd_fpregset_supplies_p;
 
-  /* We've got nothing to add to the generic SPARC target.  */
-  add_target (sparc_target ());
+  add_inf_child_target (&the_sparc64_nbsd_nat_target);
 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (sparc64nbsd_supply_pcb);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-obsd-nat.c ./gdb/sparc64-obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-obsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc64-obsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -95,17 +95,20 @@ sparc64obsd_supply_pcb (struct regcache 
       read_memory(pcb->pcb_sp + BIAS - 176 + (11 * 8), 
 		  (gdb_byte *)&pcb->pcb_pc, sizeof pcb->pcb_pc);
 
-  regcache_raw_supply (regcache, SPARC_SP_REGNUM, &pcb->pcb_sp);
-  regcache_raw_supply (regcache, SPARC64_PC_REGNUM, &pcb->pcb_pc);
+  regcache->raw_supply (SPARC_SP_REGNUM, &pcb->pcb_sp);
+  regcache->raw_supply (SPARC64_PC_REGNUM, &pcb->pcb_pc);
 
   state = pcb->pcb_pstate << 8 | pcb->pcb_cwp;
-  regcache_raw_supply (regcache, SPARC64_STATE_REGNUM, &state);
+  regcache->raw_supply (SPARC64_STATE_REGNUM, &state);
 
   sparc_supply_rwindow (regcache, pcb->pcb_sp, -1);
 
   return 1;
 }
 
+/* Add some extra features to the generic SPARC target.  */
+static sparc_target<obsd_nat_target> the_sparc64_obsd_nat_target;
+
 void
 _initialize_sparc64obsd_nat (void)
 {
@@ -120,7 +123,7 @@ _initialize_sparc64obsd_nat (void)
   sparc_fpregmap = &sparc64_bsd_fpregmap;
 
   /* Add some extra features to the generic SPARC target.  */
-  obsd_add_target (sparc_target ());
+  add_inf_child_target (&the_sparc64_obsd_nat_target);
 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (sparc64obsd_supply_pcb);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-obsd-tdep.c ./gdb/sparc64-obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-obsd-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc64-obsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -334,7 +334,7 @@ sparc64obsd_supply_uthread (struct regca
   if (regnum == SPARC_SP_REGNUM || regnum == -1)
     {
       store_unsigned_integer (buf, 8, byte_order, fp);
-      regcache_raw_supply (regcache, SPARC_SP_REGNUM, buf);
+      regcache->raw_supply (SPARC_SP_REGNUM, buf);
 
       if (regnum == SPARC_SP_REGNUM)
 	return;
@@ -349,12 +349,12 @@ sparc64obsd_supply_uthread (struct regca
       if (regnum == SPARC64_PC_REGNUM || regnum == -1)
 	{
 	  store_unsigned_integer (buf, 8, byte_order, i7 + 8);
-	  regcache_raw_supply (regcache, SPARC64_PC_REGNUM, buf);
+	  regcache->raw_supply (SPARC64_PC_REGNUM, buf);
 	}
       if (regnum == SPARC64_NPC_REGNUM || regnum == -1)
 	{
 	  store_unsigned_integer (buf, 8, byte_order, i7 + 12);
-	  regcache_raw_supply (regcache, SPARC64_NPC_REGNUM, buf);
+	  regcache->raw_supply (SPARC64_NPC_REGNUM, buf);
 	}
 
       if (regnum == SPARC64_PC_REGNUM || regnum == SPARC64_NPC_REGNUM)
@@ -379,7 +379,7 @@ sparc64obsd_collect_uthread(const struct
     {
       CORE_ADDR fp_addr = addr + SPARC64OBSD_UTHREAD_FP_OFFSET;
 
-      regcache_raw_collect (regcache, SPARC_SP_REGNUM, buf);
+      regcache->raw_collect (SPARC_SP_REGNUM, buf);
       write_memory (fp_addr,buf, 8);
     }
 
@@ -387,7 +387,7 @@ sparc64obsd_collect_uthread(const struct
     {
       CORE_ADDR i7, i7_addr = addr + SPARC64OBSD_UTHREAD_PC_OFFSET;
 
-      regcache_raw_collect (regcache, SPARC64_PC_REGNUM, buf);
+      regcache->raw_collect (SPARC64_PC_REGNUM, buf);
       i7 = extract_unsigned_integer (buf, 8, byte_order) - 8;
       write_memory_unsigned_integer (i7_addr, 8, byte_order, i7);
 
@@ -395,7 +395,7 @@ sparc64obsd_collect_uthread(const struct
 	return;
     }
 
-  regcache_raw_collect (regcache, SPARC_SP_REGNUM, buf);
+  regcache->raw_collect (SPARC_SP_REGNUM, buf);
   sp = extract_unsigned_integer (buf, 8, byte_order);
   sparc_collect_rwindow (regcache, sp, regnum);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-tdep.c ./gdb/sparc64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc64-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc64-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -214,7 +214,7 @@ read_maps_entry (const char *line,
 static bool
 adi_available (void)
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
+  pid_t pid = inferior_ptid.pid ();
   sparc64_adi_info *proc = get_adi_info_proc (pid);
   CORE_ADDR value;
 
@@ -222,10 +222,10 @@ adi_available (void)
     return proc->stat.is_avail;
 
   proc->stat.checked_avail = true;
-  if (target_auxv_search (&current_target, AT_ADI_BLKSZ, &value) <= 0)
+  if (target_auxv_search (current_top_target (), AT_ADI_BLKSZ, &value) <= 0)
     return false;
   proc->stat.blksize = value;
-  target_auxv_search (&current_target, AT_ADI_NBITS, &value);
+  target_auxv_search (current_top_target (), AT_ADI_NBITS, &value);
   proc->stat.nbits = value;
   proc->stat.max_version = (1 << proc->stat.nbits) - 2;
   proc->stat.is_avail = true;
@@ -238,7 +238,7 @@ adi_available (void)
 static CORE_ADDR
 adi_normalize_address (CORE_ADDR addr)
 {
-  adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid));
+  adi_stat_t ast = get_adi_info (inferior_ptid.pid ());
 
   if (ast.nbits)
     {
@@ -258,7 +258,7 @@ adi_normalize_address (CORE_ADDR addr)
 static CORE_ADDR
 adi_align_address (CORE_ADDR naddr)
 {
-  adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid));
+  adi_stat_t ast = get_adi_info (inferior_ptid.pid ());
 
   return (naddr - (naddr % ast.blksize)) / ast.blksize;
 }
@@ -268,7 +268,7 @@ adi_align_address (CORE_ADDR naddr)
 static int
 adi_convert_byte_count (CORE_ADDR naddr, int nbytes, CORE_ADDR locl)
 {
-  adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid));
+  adi_stat_t ast = get_adi_info (inferior_ptid.pid ());
 
   return ((naddr + nbytes + ast.blksize - 1) / ast.blksize) - locl;
 }
@@ -285,7 +285,7 @@ adi_convert_byte_count (CORE_ADDR naddr,
 static int
 adi_tag_fd (void)
 {
-  pid_t pid = ptid_get_pid (inferior_ptid);
+  pid_t pid = inferior_ptid.pid ();
   sparc64_adi_info *proc = get_adi_info_proc (pid);
 
   if (proc->stat.tag_fd != 0)
@@ -309,7 +309,7 @@ adi_is_addr_mapped (CORE_ADDR vaddr, siz
   char filename[MAX_PROC_NAME_SIZE];
   size_t i = 0;
 
-  pid_t pid = ptid_get_pid (inferior_ptid);
+  pid_t pid = inferior_ptid.pid ();
   snprintf (filename, sizeof filename, "/proc/%ld/adi/maps", (long) pid);
   gdb::unique_xmalloc_ptr<char> data
     = target_fileio_read_stralloc (NULL, filename);
@@ -349,7 +349,7 @@ adi_read_versions (CORE_ADDR vaddr, size
 
   if (!adi_is_addr_mapped (vaddr, size))
     {
-      adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid));
+      adi_stat_t ast = get_adi_info (inferior_ptid.pid ());
       error(_("Address at %s is not in ADI maps"),
             paddress (target_gdbarch (), vaddr * ast.blksize));
     }
@@ -370,7 +370,7 @@ adi_write_versions (CORE_ADDR vaddr, siz
 
   if (!adi_is_addr_mapped (vaddr, size))
     {
-      adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid));
+      adi_stat_t ast = get_adi_info (inferior_ptid.pid ());
       error(_("Address at %s is not in ADI maps"),
             paddress (target_gdbarch (), vaddr * ast.blksize));
     }
@@ -388,7 +388,7 @@ adi_print_versions (CORE_ADDR vaddr, siz
   int v_idx = 0;
   const int maxelts = 8;  /* # of elements per line */
 
-  adi_stat_t adi_stat = get_adi_info (ptid_get_pid (inferior_ptid));
+  adi_stat_t adi_stat = get_adi_info (inferior_ptid.pid ());
 
   while (cnt > 0)
     {
@@ -461,7 +461,7 @@ adi_examine_command (const char *args, i
   if (!adi_available ())
     error (_("No ADI information"));
 
-  pid_t pid = ptid_get_pid (inferior_ptid);
+  pid_t pid = inferior_ptid.pid ();
   sparc64_adi_info *proc = get_adi_info_proc (pid);
   int cnt = 1;
   const char *p = args;
@@ -523,7 +523,7 @@ adi_assign_command (const char *args, in
   int version = 0;
   if (q != NULL)           /* parse version tag */
     {
-      adi_stat_t ast = get_adi_info (ptid_get_pid (inferior_ptid));
+      adi_stat_t ast = get_adi_info (inferior_ptid.pid ());
       version = parse_and_eval_long (q);
       if (version < 0 || version > ast.max_version)
         error (_("Invalid ADI version tag %d"), version);
@@ -899,7 +899,7 @@ sparc64_register_type (struct gdbarch *g
 
 static enum register_status
 sparc64_pseudo_register_read (struct gdbarch *gdbarch,
-			      struct regcache *regcache,
+			      readable_regcache *regcache,
 			      int regnum, gdb_byte *buf)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -910,27 +910,27 @@ sparc64_pseudo_register_read (struct gdb
   if (regnum >= SPARC64_D0_REGNUM && regnum <= SPARC64_D30_REGNUM)
     {
       regnum = SPARC_F0_REGNUM + 2 * (regnum - SPARC64_D0_REGNUM);
-      status = regcache_raw_read (regcache, regnum, buf);
+      status = regcache->raw_read (regnum, buf);
       if (status == REG_VALID)
-	status = regcache_raw_read (regcache, regnum + 1, buf + 4);
+	status = regcache->raw_read (regnum + 1, buf + 4);
       return status;
     }
   else if (regnum >= SPARC64_D32_REGNUM && regnum <= SPARC64_D62_REGNUM)
     {
       regnum = SPARC64_F32_REGNUM + (regnum - SPARC64_D32_REGNUM);
-      return regcache_raw_read (regcache, regnum, buf);
+      return regcache->raw_read (regnum, buf);
     }
   else if (regnum >= SPARC64_Q0_REGNUM && regnum <= SPARC64_Q28_REGNUM)
     {
       regnum = SPARC_F0_REGNUM + 4 * (regnum - SPARC64_Q0_REGNUM);
 
-      status = regcache_raw_read (regcache, regnum, buf);
+      status = regcache->raw_read (regnum, buf);
       if (status == REG_VALID)
-	status = regcache_raw_read (regcache, regnum + 1, buf + 4);
+	status = regcache->raw_read (regnum + 1, buf + 4);
       if (status == REG_VALID)
-	status = regcache_raw_read (regcache, regnum + 2, buf + 8);
+	status = regcache->raw_read (regnum + 2, buf + 8);
       if (status == REG_VALID)
-	status = regcache_raw_read (regcache, regnum + 3, buf + 12);
+	status = regcache->raw_read (regnum + 3, buf + 12);
 
       return status;
     }
@@ -938,9 +938,9 @@ sparc64_pseudo_register_read (struct gdb
     {
       regnum = SPARC64_F32_REGNUM + 2 * (regnum - SPARC64_Q32_REGNUM);
 
-      status = regcache_raw_read (regcache, regnum, buf);
+      status = regcache->raw_read (regnum, buf);
       if (status == REG_VALID)
-	status = regcache_raw_read (regcache, regnum + 1, buf + 8);
+	status = regcache->raw_read (regnum + 1, buf + 8);
 
       return status;
     }
@@ -951,7 +951,7 @@ sparc64_pseudo_register_read (struct gdb
     {
       ULONGEST state;
 
-      status = regcache_raw_read_unsigned (regcache, SPARC64_STATE_REGNUM, &state);
+      status = regcache->raw_read (SPARC64_STATE_REGNUM, &state);
       if (status != REG_VALID)
 	return status;
 
@@ -988,27 +988,27 @@ sparc64_pseudo_register_write (struct gd
   if (regnum >= SPARC64_D0_REGNUM && regnum <= SPARC64_D30_REGNUM)
     {
       regnum = SPARC_F0_REGNUM + 2 * (regnum - SPARC64_D0_REGNUM);
-      regcache_raw_write (regcache, regnum, buf);
-      regcache_raw_write (regcache, regnum + 1, buf + 4);
+      regcache->raw_write (regnum, buf);
+      regcache->raw_write (regnum + 1, buf + 4);
     }
   else if (regnum >= SPARC64_D32_REGNUM && regnum <= SPARC64_D62_REGNUM)
     {
       regnum = SPARC64_F32_REGNUM + (regnum - SPARC64_D32_REGNUM);
-      regcache_raw_write (regcache, regnum, buf);
+      regcache->raw_write (regnum, buf);
     }
   else if (regnum >= SPARC64_Q0_REGNUM && regnum <= SPARC64_Q28_REGNUM)
     {
       regnum = SPARC_F0_REGNUM + 4 * (regnum - SPARC64_Q0_REGNUM);
-      regcache_raw_write (regcache, regnum, buf);
-      regcache_raw_write (regcache, regnum + 1, buf + 4);
-      regcache_raw_write (regcache, regnum + 2, buf + 8);
-      regcache_raw_write (regcache, regnum + 3, buf + 12);
+      regcache->raw_write (regnum, buf);
+      regcache->raw_write (regnum + 1, buf + 4);
+      regcache->raw_write (regnum + 2, buf + 8);
+      regcache->raw_write (regnum + 3, buf + 12);
     }
   else if (regnum >= SPARC64_Q32_REGNUM && regnum <= SPARC64_Q60_REGNUM)
     {
       regnum = SPARC64_F32_REGNUM + 2 * (regnum - SPARC64_Q32_REGNUM);
-      regcache_raw_write (regcache, regnum, buf);
-      regcache_raw_write (regcache, regnum + 1, buf + 8);
+      regcache->raw_write (regnum, buf);
+      regcache->raw_write (regnum + 1, buf + 8);
     }
   else if (regnum == SPARC64_CWP_REGNUM
 	   || regnum == SPARC64_PSTATE_REGNUM
@@ -1226,7 +1226,7 @@ sparc64_store_floating_fields (struct re
           len = 8;
         }
       for (int n = 0; n < (len + 3) / 4; n++)
-        regcache_cooked_write (regcache, regnum + n, valbuf + n * 4);
+        regcache->cooked_write (regnum + n, valbuf + n * 4);
     }
   else if (sparc64_floating_p (type)
       || (sparc64_complex_floating_p (type) && len <= 16))
@@ -1239,7 +1239,7 @@ sparc64_store_floating_fields (struct re
 	  gdb_assert ((element % 2) == 0);
 
 	  regnum = gdbarch_num_regs (gdbarch) + SPARC64_Q0_REGNUM + element / 2;
-	  regcache_cooked_write (regcache, regnum, valbuf);
+	  regcache->cooked_write (regnum, valbuf);
 	}
       else if (len == 8)
 	{
@@ -1247,7 +1247,7 @@ sparc64_store_floating_fields (struct re
 
 	  regnum = gdbarch_num_regs (gdbarch) + SPARC64_D0_REGNUM
                    + element + bitpos / 64;
-	  regcache_cooked_write (regcache, regnum, valbuf + (bitpos / 8));
+	  regcache->cooked_write (regnum, valbuf + (bitpos / 8));
 	}
       else
 	{
@@ -1255,7 +1255,7 @@ sparc64_store_floating_fields (struct re
 	  gdb_assert (bitpos % 32 == 0 && bitpos >= 0 && bitpos < 128);
 
 	  regnum = SPARC_F0_REGNUM + element * 2 + bitpos / 32;
-	  regcache_cooked_write (regcache, regnum, valbuf + (bitpos / 8));
+	  regcache->cooked_write (regnum, valbuf + (bitpos / 8));
 	}
     }
   else if (sparc64_structure_or_union_p (type))
@@ -1285,7 +1285,7 @@ sparc64_store_floating_fields (struct re
 	  struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, 0));
 
 	  if (sparc64_floating_p (subtype) && TYPE_LENGTH (subtype) == 4)
-	    regcache_cooked_write (regcache, SPARC_F1_REGNUM, valbuf);
+	    regcache->cooked_write (SPARC_F1_REGNUM, valbuf);
 	}
     }
 }
@@ -1310,12 +1310,12 @@ sparc64_extract_floating_fields (struct 
       if (len < 4)
         {
           gdb_byte buf[4];
-          regcache_cooked_read (regcache, regnum, buf);
+          regcache->cooked_read (regnum, buf);
           memcpy (valbuf, buf + 4 - len, len);
         }
       else
         for (int i = 0; i < (len + 3) / 4; i++)
-          regcache_cooked_read (regcache, regnum + i, valbuf + i * 4);
+          regcache->cooked_read (regnum + i, valbuf + i * 4);
     }
   else if (sparc64_floating_p (type))
     {
@@ -1328,14 +1328,14 @@ sparc64_extract_floating_fields (struct 
 
 	  regnum = gdbarch_num_regs (gdbarch) + SPARC64_Q0_REGNUM
                    + bitpos / 128;
-	  regcache_cooked_read (regcache, regnum, valbuf + (bitpos / 8));
+	  regcache->cooked_read (regnum, valbuf + (bitpos / 8));
 	}
       else if (len == 8)
 	{
 	  gdb_assert (bitpos % 64 == 0 && bitpos >= 0 && bitpos < 256);
 
 	  regnum = gdbarch_num_regs (gdbarch) + SPARC64_D0_REGNUM + bitpos / 64;
-	  regcache_cooked_read (regcache, regnum, valbuf + (bitpos / 8));
+	  regcache->cooked_read (regnum, valbuf + (bitpos / 8));
 	}
       else
 	{
@@ -1343,7 +1343,7 @@ sparc64_extract_floating_fields (struct 
 	  gdb_assert (bitpos % 32 == 0 && bitpos >= 0 && bitpos < 256);
 
 	  regnum = SPARC_F0_REGNUM + bitpos / 32;
-	  regcache_cooked_read (regcache, regnum, valbuf + (bitpos / 8));
+	  regcache->cooked_read (regnum, valbuf + (bitpos / 8));
 	}
     }
   else if (sparc64_structure_or_union_p (type))
@@ -1506,7 +1506,7 @@ sparc64_store_arguments (struct regcache
 	    {
 	      regnum = SPARC_O0_REGNUM + element;
 	      if (len > 8 && element < 5)
-		regcache_cooked_write (regcache, regnum + 1, valbuf + 8);
+		regcache->cooked_write (regnum + 1, valbuf + 8);
 	    }
 
 	  if (element < 16)
@@ -1522,11 +1522,10 @@ sparc64_store_arguments (struct regcache
 	      if (len == 16)
 		{
 		  if (regnum < gdbarch_num_regs (gdbarch) + SPARC64_D30_REGNUM)
-		    regcache_cooked_write (regcache, regnum + 1, valbuf + 8);
+		    regcache->cooked_write (regnum + 1, valbuf + 8);
 		  if (regnum < gdbarch_num_regs (gdbarch) + SPARC64_D10_REGNUM)
-		    regcache_cooked_write (regcache,
-					   SPARC_O0_REGNUM + element + 1,
-					   valbuf + 8);
+		    regcache->cooked_write (SPARC_O0_REGNUM + element + 1,
+					    valbuf + 8);
 		}
 	    }
 	}
@@ -1574,7 +1573,7 @@ sparc64_store_arguments (struct regcache
 
       if (regnum != -1)
 	{
-	  regcache_cooked_write (regcache, regnum, valbuf);
+	  regcache->cooked_write (regnum, valbuf);
 
 	  /* If we're storing the value in a floating-point register,
              also store it in the corresponding %0 register(s).  */
@@ -1586,14 +1585,14 @@ sparc64_store_arguments (struct regcache
 	        {
 	          gdb_assert (element < 6);
 	          regnum = SPARC_O0_REGNUM + element;
-	          regcache_cooked_write (regcache, regnum, valbuf);
+	          regcache->cooked_write (regnum, valbuf);
                 }
               else if (regnum >= SPARC64_Q0_REGNUM && regnum <= SPARC64_Q8_REGNUM)
                 {
                   gdb_assert (element < 5);
                   regnum = SPARC_O0_REGNUM + element;
-                  regcache_cooked_write (regcache, regnum, valbuf);
-                  regcache_cooked_write (regcache, regnum + 1, valbuf + 8);
+                  regcache->cooked_write (regnum, valbuf);
+                  regcache->cooked_write (regnum + 1, valbuf + 8);
 	        }
             }
 	}
@@ -1660,7 +1659,7 @@ sparc64_extract_return_value (struct typ
       gdb_assert (len <= 32);
 
       for (i = 0; i < ((len + 7) / 8); i++)
-	regcache_cooked_read (regcache, SPARC_O0_REGNUM + i, buf + i * 8);
+	regcache->cooked_read (SPARC_O0_REGNUM + i, buf + i * 8);
       if (TYPE_CODE (type) != TYPE_CODE_UNION)
 	sparc64_extract_floating_fields (regcache, type, buf, 0);
       memcpy (valbuf, buf, len);
@@ -1669,7 +1668,7 @@ sparc64_extract_return_value (struct typ
     {
       /* Floating return values.  */
       for (i = 0; i < len / 4; i++)
-	regcache_cooked_read (regcache, SPARC_F0_REGNUM + i, buf + i * 4);
+	regcache->cooked_read (SPARC_F0_REGNUM + i, buf + i * 4);
       memcpy (valbuf, buf, len);
     }
   else if (TYPE_CODE (type) == TYPE_CODE_ARRAY)
@@ -1678,7 +1677,7 @@ sparc64_extract_return_value (struct typ
       gdb_assert (len <= 32);
 
       for (i = 0; i < ((len + 7) / 8); i++)
-	regcache_cooked_read (regcache, SPARC_O0_REGNUM + i, buf + i * 8);
+	regcache->cooked_read (SPARC_O0_REGNUM + i, buf + i * 8);
       memcpy (valbuf, buf, len);
     }
   else
@@ -1688,7 +1687,7 @@ sparc64_extract_return_value (struct typ
 
       /* Just stripping off any unused bytes should preserve the
          signed-ness just fine.  */
-      regcache_cooked_read (regcache, SPARC_O0_REGNUM, buf);
+      regcache->cooked_read (SPARC_O0_REGNUM, buf);
       memcpy (valbuf, buf + 8 - len, len);
     }
 }
@@ -1715,7 +1714,7 @@ sparc64_store_return_value (struct type 
       memset (buf, 0, sizeof (buf));
       memcpy (buf, valbuf, len);
       for (i = 0; i < ((len + 7) / 8); i++)
-	regcache_cooked_write (regcache, SPARC_O0_REGNUM + i, buf + i * 8);
+	regcache->cooked_write (SPARC_O0_REGNUM + i, buf + i * 8);
       if (TYPE_CODE (type) != TYPE_CODE_UNION)
 	sparc64_store_floating_fields (regcache, type, buf, 0, 0);
     }
@@ -1724,7 +1723,7 @@ sparc64_store_return_value (struct type 
       /* Floating return values.  */
       memcpy (buf, valbuf, len);
       for (i = 0; i < len / 4; i++)
-	regcache_cooked_write (regcache, SPARC_F0_REGNUM + i, buf + i * 4);
+	regcache->cooked_write (SPARC_F0_REGNUM + i, buf + i * 4);
     }
   else if (TYPE_CODE (type) == TYPE_CODE_ARRAY)
     {
@@ -1734,7 +1733,7 @@ sparc64_store_return_value (struct type 
       memset (buf, 0, sizeof (buf));
       memcpy (buf, valbuf, len);
       for (i = 0; i < ((len + 7) / 8); i++)
-	regcache_cooked_write (regcache, SPARC_O0_REGNUM + i, buf + i * 8);
+	regcache->cooked_write (SPARC_O0_REGNUM + i, buf + i * 8);
     }
   else
     {
@@ -1744,7 +1743,7 @@ sparc64_store_return_value (struct type 
       /* ??? Do we need to do any sign-extension here?  */
       memset (buf, 0, 8);
       memcpy (buf + 8 - len, valbuf, len);
-      regcache_cooked_write (regcache, SPARC_O0_REGNUM, buf);
+      regcache->cooked_write (SPARC_O0_REGNUM, buf);
     }
 }
 
@@ -1898,36 +1897,36 @@ sparc64_supply_gregset (const struct spa
 	  psr = ((tstate & TSTATE_CWP) | PSR_S | ((tstate & TSTATE_ICC) >> 12)
 		 | ((tstate & TSTATE_XCC) >> 20) | PSR_V8PLUS);
 	  store_unsigned_integer (buf, 4, byte_order, psr);
-	  regcache_raw_supply (regcache, SPARC32_PSR_REGNUM, buf);
+	  regcache->raw_supply (SPARC32_PSR_REGNUM, buf);
 	}
 
       if (regnum == SPARC32_PC_REGNUM || regnum == -1)
-	regcache_raw_supply (regcache, SPARC32_PC_REGNUM,
-			     regs + gregmap->r_pc_offset + 4);
+	regcache->raw_supply (SPARC32_PC_REGNUM,
+			      regs + gregmap->r_pc_offset + 4);
 
       if (regnum == SPARC32_NPC_REGNUM || regnum == -1)
-	regcache_raw_supply (regcache, SPARC32_NPC_REGNUM,
-			     regs + gregmap->r_npc_offset + 4);
+	regcache->raw_supply (SPARC32_NPC_REGNUM,
+			      regs + gregmap->r_npc_offset + 4);
 
       if (regnum == SPARC32_Y_REGNUM || regnum == -1)
 	{
 	  int offset = gregmap->r_y_offset + 8 - gregmap->r_y_size;
-	  regcache_raw_supply (regcache, SPARC32_Y_REGNUM, regs + offset);
+	  regcache->raw_supply (SPARC32_Y_REGNUM, regs + offset);
 	}
     }
   else
     {
       if (regnum == SPARC64_STATE_REGNUM || regnum == -1)
-	regcache_raw_supply (regcache, SPARC64_STATE_REGNUM,
-			     regs + gregmap->r_tstate_offset);
+	regcache->raw_supply (SPARC64_STATE_REGNUM,
+			      regs + gregmap->r_tstate_offset);
 
       if (regnum == SPARC64_PC_REGNUM || regnum == -1)
-	regcache_raw_supply (regcache, SPARC64_PC_REGNUM,
-			     regs + gregmap->r_pc_offset);
+	regcache->raw_supply (SPARC64_PC_REGNUM,
+			      regs + gregmap->r_pc_offset);
 
       if (regnum == SPARC64_NPC_REGNUM || regnum == -1)
-	regcache_raw_supply (regcache, SPARC64_NPC_REGNUM,
-			     regs + gregmap->r_npc_offset);
+	regcache->raw_supply (SPARC64_NPC_REGNUM,
+			      regs + gregmap->r_npc_offset);
 
       if (regnum == SPARC64_Y_REGNUM || regnum == -1)
 	{
@@ -1936,17 +1935,17 @@ sparc64_supply_gregset (const struct spa
 	  memset (buf, 0, 8);
 	  memcpy (buf + 8 - gregmap->r_y_size,
 		  regs + gregmap->r_y_offset, gregmap->r_y_size);
-	  regcache_raw_supply (regcache, SPARC64_Y_REGNUM, buf);
+	  regcache->raw_supply (SPARC64_Y_REGNUM, buf);
 	}
 
       if ((regnum == SPARC64_FPRS_REGNUM || regnum == -1)
 	  && gregmap->r_fprs_offset != -1)
-	regcache_raw_supply (regcache, SPARC64_FPRS_REGNUM,
-			     regs + gregmap->r_fprs_offset);
+	regcache->raw_supply (SPARC64_FPRS_REGNUM,
+			      regs + gregmap->r_fprs_offset);
     }
 
   if (regnum == SPARC_G0_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, SPARC_G0_REGNUM, &zero);
+    regcache->raw_supply (SPARC_G0_REGNUM, &zero);
 
   if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1)
     {
@@ -1958,7 +1957,7 @@ sparc64_supply_gregset (const struct spa
       for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++)
 	{
 	  if (regnum == i || regnum == -1)
-	    regcache_raw_supply (regcache, i, regs + offset);
+	    regcache->raw_supply (i, regs + offset);
 	  offset += 8;
 	}
     }
@@ -1984,7 +1983,7 @@ sparc64_supply_gregset (const struct spa
 	  for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
 	    {
 	      if (regnum == i || regnum == -1)
-		regcache_raw_supply (regcache, i, regs + offset);
+		regcache->raw_supply (i, regs + offset);
 	      offset += 8;
 	    }
 	}
@@ -2011,7 +2010,7 @@ sparc64_collect_gregset (const struct sp
 	  gdb_byte buf[8];
 
 	  tstate = extract_unsigned_integer (regs + offset, 8, byte_order);
-	  regcache_raw_collect (regcache, SPARC32_PSR_REGNUM, buf);
+	  regcache->raw_collect (SPARC32_PSR_REGNUM, buf);
 	  psr = extract_unsigned_integer (buf, 4, byte_order);
 	  tstate |= (psr & PSR_ICC) << 12;
 	  if ((psr & (PSR_VERS | PSR_IMPL)) == PSR_V8PLUS)
@@ -2021,46 +2020,46 @@ sparc64_collect_gregset (const struct sp
 	}
 
       if (regnum == SPARC32_PC_REGNUM || regnum == -1)
-	regcache_raw_collect (regcache, SPARC32_PC_REGNUM,
-			      regs + gregmap->r_pc_offset + 4);
+	regcache->raw_collect (SPARC32_PC_REGNUM,
+			       regs + gregmap->r_pc_offset + 4);
 
       if (regnum == SPARC32_NPC_REGNUM || regnum == -1)
-	regcache_raw_collect (regcache, SPARC32_NPC_REGNUM,
-			      regs + gregmap->r_npc_offset + 4);
+	regcache->raw_collect (SPARC32_NPC_REGNUM,
+			       regs + gregmap->r_npc_offset + 4);
 
       if (regnum == SPARC32_Y_REGNUM || regnum == -1)
 	{
 	  int offset = gregmap->r_y_offset + 8 - gregmap->r_y_size;
-	  regcache_raw_collect (regcache, SPARC32_Y_REGNUM, regs + offset);
+	  regcache->raw_collect (SPARC32_Y_REGNUM, regs + offset);
 	}
     }
   else
     {
       if (regnum == SPARC64_STATE_REGNUM || regnum == -1)
-	regcache_raw_collect (regcache, SPARC64_STATE_REGNUM,
-			      regs + gregmap->r_tstate_offset);
+	regcache->raw_collect (SPARC64_STATE_REGNUM,
+			       regs + gregmap->r_tstate_offset);
 
       if (regnum == SPARC64_PC_REGNUM || regnum == -1)
-	regcache_raw_collect (regcache, SPARC64_PC_REGNUM,
-			      regs + gregmap->r_pc_offset);
+	regcache->raw_collect (SPARC64_PC_REGNUM,
+			       regs + gregmap->r_pc_offset);
 
       if (regnum == SPARC64_NPC_REGNUM || regnum == -1)
-	regcache_raw_collect (regcache, SPARC64_NPC_REGNUM,
-			      regs + gregmap->r_npc_offset);
+	regcache->raw_collect (SPARC64_NPC_REGNUM,
+			       regs + gregmap->r_npc_offset);
 
       if (regnum == SPARC64_Y_REGNUM || regnum == -1)
 	{
 	  gdb_byte buf[8];
 
-	  regcache_raw_collect (regcache, SPARC64_Y_REGNUM, buf);
+	  regcache->raw_collect (SPARC64_Y_REGNUM, buf);
 	  memcpy (regs + gregmap->r_y_offset,
 		  buf + 8 - gregmap->r_y_size, gregmap->r_y_size);
 	}
 
       if ((regnum == SPARC64_FPRS_REGNUM || regnum == -1)
 	  && gregmap->r_fprs_offset != -1)
-	regcache_raw_collect (regcache, SPARC64_FPRS_REGNUM,
-			      regs + gregmap->r_fprs_offset);
+	regcache->raw_collect (SPARC64_FPRS_REGNUM,
+			       regs + gregmap->r_fprs_offset);
 
     }
 
@@ -2075,7 +2074,7 @@ sparc64_collect_gregset (const struct sp
       for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++)
 	{
 	  if (regnum == i || regnum == -1)
-	    regcache_raw_collect (regcache, i, regs + offset);
+	    regcache->raw_collect (i, regs + offset);
 	  offset += 8;
 	}
     }
@@ -2094,7 +2093,7 @@ sparc64_collect_gregset (const struct sp
 	  for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
 	    {
 	      if (regnum == i || regnum == -1)
-		regcache_raw_collect (regcache, i, regs + offset);
+		regcache->raw_collect (i, regs + offset);
 	      offset += 8;
 	    }
 	}
@@ -2113,14 +2112,14 @@ sparc64_supply_fpregset (const struct sp
   for (i = 0; i < 32; i++)
     {
       if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
-	regcache_raw_supply (regcache, SPARC_F0_REGNUM + i,
-			     regs + fpregmap->r_f0_offset + (i * 4));
+	regcache->raw_supply (SPARC_F0_REGNUM + i,
+			      regs + fpregmap->r_f0_offset + (i * 4));
     }
 
   if (sparc32)
     {
       if (regnum == SPARC32_FSR_REGNUM || regnum == -1)
-	regcache_raw_supply (regcache, SPARC32_FSR_REGNUM,
+	regcache->raw_supply (SPARC32_FSR_REGNUM,
 			     regs + fpregmap->r_fsr_offset);
     }
   else
@@ -2128,14 +2127,14 @@ sparc64_supply_fpregset (const struct sp
       for (i = 0; i < 16; i++)
 	{
 	  if (regnum == (SPARC64_F32_REGNUM + i) || regnum == -1)
-	    regcache_raw_supply (regcache, SPARC64_F32_REGNUM + i,
-				 (regs + fpregmap->r_f0_offset
-				  + (32 * 4) + (i * 8)));
+	    regcache->raw_supply
+	      (SPARC64_F32_REGNUM + i,
+	       regs + fpregmap->r_f0_offset + (32 * 4) + (i * 8));
 	}
 
       if (regnum == SPARC64_FSR_REGNUM || regnum == -1)
-	regcache_raw_supply (regcache, SPARC64_FSR_REGNUM,
-			     regs + fpregmap->r_fsr_offset);
+	regcache->raw_supply (SPARC64_FSR_REGNUM,
+			      regs + fpregmap->r_fsr_offset);
     }
 }
 
@@ -2151,29 +2150,29 @@ sparc64_collect_fpregset (const struct s
   for (i = 0; i < 32; i++)
     {
       if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
-	regcache_raw_collect (regcache, SPARC_F0_REGNUM + i,
-			      regs + fpregmap->r_f0_offset + (i * 4));
+	regcache->raw_collect (SPARC_F0_REGNUM + i,
+			       regs + fpregmap->r_f0_offset + (i * 4));
     }
 
   if (sparc32)
     {
       if (regnum == SPARC32_FSR_REGNUM || regnum == -1)
-	regcache_raw_collect (regcache, SPARC32_FSR_REGNUM,
-			      regs + fpregmap->r_fsr_offset);
+	regcache->raw_collect (SPARC32_FSR_REGNUM,
+			       regs + fpregmap->r_fsr_offset);
     }
   else
     {
       for (i = 0; i < 16; i++)
 	{
 	  if (regnum == (SPARC64_F32_REGNUM + i) || regnum == -1)
-	    regcache_raw_collect (regcache, SPARC64_F32_REGNUM + i,
-				  (regs + fpregmap->r_f0_offset
-				   + (32 * 4) + (i * 8)));
+	    regcache->raw_collect (SPARC64_F32_REGNUM + i,
+				   (regs + fpregmap->r_f0_offset
+				    + (32 * 4) + (i * 8)));
 	}
 
       if (regnum == SPARC64_FSR_REGNUM || regnum == -1)
-	regcache_raw_collect (regcache, SPARC64_FSR_REGNUM,
-			      regs + fpregmap->r_fsr_offset);
+	regcache->raw_collect (SPARC64_FSR_REGNUM,
+			       regs + fpregmap->r_fsr_offset);
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-linux-nat.c ./gdb/sparc-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -28,6 +28,19 @@
 #include "target.h"
 #include "linux-nat.h"
 
+class sparc_linux_nat_target final : public linux_nat_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *regcache, int regnum) override
+  { sparc_fetch_inferior_registers (regcache, regnum); }
+
+  void store_registers (struct regcache *regcache, int regnum) override;
+  { sparc_store_inferior_registers (regcache, regnum); }
+};
+
+static sparc_linux_nat_target the_sparc_linux_nat_target;
+
 void
 supply_gregset (struct regcache *regcache, const prgregset_t *gregs)
 {
@@ -56,17 +69,9 @@ fill_fpregset (const struct regcache *re
 void
 _initialize_sparc_linux_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
   sparc_fpregmap = &sparc32_bsd_fpregmap;
 
-  /* Add our register access methods.  */
-  t->to_fetch_registers = sparc_fetch_inferior_registers;
-  t->to_store_registers = sparc_store_inferior_registers;
-
   /* Register the target.  */
-  linux_nat_add_target (t);
+  linux_target = &the_sparc_linux_nat_target;
+  add_inf_child_target (&the_sparc_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-linux-tdep.c ./gdb/sparc-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -274,9 +274,9 @@ sparc_linux_write_pc (struct regcache *r
 
 static LONGEST
 sparc32_linux_get_syscall_number (struct gdbarch *gdbarch,
-				  ptid_t ptid)
+				  thread_info *thread)
 {
-  struct regcache *regcache = get_thread_regcache (ptid);
+  struct regcache *regcache = get_thread_regcache (thread);
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   /* The content of a register.  */
   gdb_byte buf[4];
@@ -286,7 +286,7 @@ sparc32_linux_get_syscall_number (struct
   /* Getting the system call number from the register.
      When dealing with the sparc architecture, this information
      is stored at the %g1 register.  */
-  regcache_cooked_read (regcache, SPARC_G1_REGNUM, buf);
+  regcache->cooked_read (SPARC_G1_REGNUM, buf);
 
   ret = extract_signed_integer (buf, 4, byte_order);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-nat.c ./gdb/sparc-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -134,8 +134,7 @@ sparc32_fpregset_supplies_p (struct gdba
    for all registers (including the floating-point registers).  */
 
 void
-sparc_fetch_inferior_registers (struct target_ops *ops,
-				struct regcache *regcache, int regnum)
+sparc_fetch_inferior_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   pid_t pid;
@@ -153,13 +152,13 @@ sparc_fetch_inferior_registers (struct t
      These functions should instead be paramaterized with an explicit
      object (struct regcache, struct thread_info?) into which the LWPs
      registers can be written.  */
-  pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid = get_ptrace_pid (regcache->ptid ());
 
   if (regnum == SPARC_G0_REGNUM)
     {
       gdb_byte zero[8] = { 0 };
 
-      regcache_raw_supply (regcache, SPARC_G0_REGNUM, &zero);
+      regcache->raw_supply (SPARC_G0_REGNUM, &zero);
       return;
     }
 
@@ -187,15 +186,14 @@ sparc_fetch_inferior_registers (struct t
 }
 
 void
-sparc_store_inferior_registers (struct target_ops *ops,
-				struct regcache *regcache, int regnum)
+sparc_store_inferior_registers (struct regcache *regcache, int regnum)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   pid_t pid;
 
   /* NOTE: cagney/2002-12-02: See comment in fetch_inferior_registers
      about threaded assumptions.  */
-  pid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid = get_ptrace_pid (regcache->ptid ());
 
   if (regnum == -1 || sparc_gregset_supplies_p (gdbarch, regnum))
     {
@@ -253,7 +251,7 @@ sparc_store_inferior_registers (struct t
 /* Implement the to_xfer_partial target_ops method for
    TARGET_OBJECT_WCOOKIE.  Fetch StackGhost Per-Process XOR cookie.  */
 
-static enum target_xfer_status
+enum target_xfer_status
 sparc_xfer_wcookie (struct target_ops *ops, enum target_object object,
 		    const char *annex, gdb_byte *readbuf,
 		    const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
@@ -276,7 +274,7 @@ sparc_xfer_wcookie (struct target_ops *o
      later).  Since release 3.6, OpenBSD uses a fully randomized
      cookie.  */
   {
-    int pid = ptid_get_pid (inferior_ptid);
+    int pid = inferior_ptid.pid ();
 
     /* Sanity check.  The proper type for a cookie is register_t, but
        we can't assume that this type exists on all systems supported
@@ -305,38 +303,7 @@ sparc_xfer_wcookie (struct target_ops *o
   *xfered_len = (ULONGEST) len;
   return TARGET_XFER_OK;
 }
-
-target_xfer_partial_ftype *inf_ptrace_xfer_partial;
-
-static enum target_xfer_status
-sparc_xfer_partial (struct target_ops *ops, enum target_object object,
-		    const char *annex, gdb_byte *readbuf,
-		    const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-		    ULONGEST *xfered_len)
-{
-  if (object == TARGET_OBJECT_WCOOKIE)
-    return sparc_xfer_wcookie (ops, object, annex, readbuf, writebuf, 
-			       offset, len, xfered_len);
-
-  return inf_ptrace_xfer_partial (ops, object, annex, readbuf, writebuf,
-				  offset, len, xfered_len);
-}
 
-/* Create a prototype generic SPARC target.  The client can override
-   it with local methods.  */
-
-struct target_ops *
-sparc_target (void)
-{
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = sparc_fetch_inferior_registers;
-  t->to_store_registers = sparc_store_inferior_registers;
-  inf_ptrace_xfer_partial = t->to_xfer_partial;
-  t->to_xfer_partial = sparc_xfer_partial;
-  return t;
-}
 
 void
 _initialize_sparc_nat (void)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-nat.h ./gdb/sparc-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-nat.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc-nat.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,6 +20,8 @@
 #ifndef SPARC_NAT_H
 #define SPARC_NAT_H 1
 
+#include "target.h"
+
 struct sparc_gregmap;
 struct sparc_fpregmap;
 
@@ -39,14 +41,43 @@ extern int (*sparc_fpregset_supplies_p) 
 extern int sparc32_gregset_supplies_p (struct gdbarch *gdbarch, int regnum);
 extern int sparc32_fpregset_supplies_p (struct gdbarch *gdbarch, int regnum);
 
-/* Create a prototype generic SPARC target.  The client can override
-   it with local methods.  */
+extern void sparc_fetch_inferior_registers (struct regcache *, int);
+extern void sparc_store_inferior_registers (struct regcache *, int);
 
-extern struct target_ops *sparc_target (void);
+extern target_xfer_status sparc_xfer_wcookie (enum target_object object,
+					      const char *annex,
+					      gdb_byte *readbuf,
+					      const gdb_byte *writebuf,
+					      ULONGEST offset,
+					      ULONGEST len,
+					      ULONGEST *xfered_len);
+
+/* A prototype generic SPARC target.  The client can override
+   it with local methods.  */
 
-extern void sparc_fetch_inferior_registers (struct target_ops *,
-					    struct regcache *, int);
-extern void sparc_store_inferior_registers (struct target_ops *,
-					    struct regcache *, int);
+template<typename BaseTarget>
+struct sparc_target : public BaseTarget
+{
+  void fetch_registers (struct regcache *regcache, int regnum) override
+  { sparc_fetch_inferior_registers (regcache, regnum); }
+
+  void store_registers (struct regcache *regcache, int regnum) override
+  { sparc_store_inferior_registers (regcache, regnum); }
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override
+  {
+    if (object == TARGET_OBJECT_WCOOKIE)
+      return sparc_xfer_wcookie (object, annex, readbuf, writebuf,
+				 offset, len, xfered_len);
+
+    return BaseTarget (object, annex, readbuf, writebuf,
+		       offset, len, xfered_len);
+  }
+};
 
 #endif /* sparc-nat.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-nbsd-nat.c ./gdb/sparc-nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-nbsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc-nbsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -44,25 +44,26 @@ sparc32nbsd_supply_pcb (struct regcache 
   if (pcb->pcb_sp == 0)
     return 0;
 
-  regcache_raw_supply (regcache, SPARC_SP_REGNUM, &pcb->pcb_sp);
-  regcache_raw_supply (regcache, SPARC_O7_REGNUM, &pcb->pcb_pc);
-  regcache_raw_supply (regcache, SPARC32_PSR_REGNUM, &pcb->pcb_psr);
-  regcache_raw_supply (regcache, SPARC32_WIM_REGNUM, &pcb->pcb_wim);
-  regcache_raw_supply (regcache, SPARC32_PC_REGNUM, &pcb->pcb_pc);
+  regcache->raw_supply (SPARC_SP_REGNUM, &pcb->pcb_sp);
+  regcache->raw_supply (SPARC_O7_REGNUM, &pcb->pcb_pc);
+  regcache->raw_supply (SPARC32_PSR_REGNUM, &pcb->pcb_psr);
+  regcache->raw_supply (SPARC32_WIM_REGNUM, &pcb->pcb_wim);
+  regcache->raw_supply (SPARC32_PC_REGNUM, &pcb->pcb_pc);
 
   sparc_supply_rwindow (regcache, pcb->pcb_sp, -1);
 
   return 1;
 }
 
+static sparc_target<inf_ptrace_target> the_sparc_nbsd_nat_target;
+
 void
 _initialize_sparcnbsd_nat (void)
 {
   sparc_gregmap = &sparc32nbsd_gregmap;
   sparc_fpregmap = &sparc32_bsd_fpregmap;
 
-  /* We've got nothing to add to the generic SPARC target.  */
-  add_target (sparc_target ());
+  add_inf_child_target (&sparc_nbsd_nat_target);
 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (sparc32nbsd_supply_pcb);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-obsd-tdep.c ./gdb/sparc-obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-obsd-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc-obsd-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -163,7 +163,7 @@ sparc32obsd_supply_uthread (struct regca
   if (regnum == SPARC_SP_REGNUM || regnum == -1)
     {
       store_unsigned_integer (buf, 4, byte_order, fp);
-      regcache_raw_supply (regcache, SPARC_SP_REGNUM, buf);
+      regcache->raw_supply (SPARC_SP_REGNUM, buf);
 
       if (regnum == SPARC_SP_REGNUM)
 	return;
@@ -178,12 +178,12 @@ sparc32obsd_supply_uthread (struct regca
       if (regnum == SPARC32_PC_REGNUM || regnum == -1)
 	{
 	  store_unsigned_integer (buf, 4, byte_order, i7 + 8);
-	  regcache_raw_supply (regcache, SPARC32_PC_REGNUM, buf);
+	  regcache->raw_supply (SPARC32_PC_REGNUM, buf);
 	}
       if (regnum == SPARC32_NPC_REGNUM || regnum == -1)
 	{
 	  store_unsigned_integer (buf, 4, byte_order, i7 + 12);
-	  regcache_raw_supply (regcache, SPARC32_NPC_REGNUM, buf);
+	  regcache->raw_supply (SPARC32_NPC_REGNUM, buf);
 	}
 
       if (regnum == SPARC32_PC_REGNUM || regnum == SPARC32_NPC_REGNUM)
@@ -208,7 +208,7 @@ sparc32obsd_collect_uthread(const struct
     {
       CORE_ADDR fp_addr = addr + SPARC32OBSD_UTHREAD_FP_OFFSET;
 
-      regcache_raw_collect (regcache, SPARC_SP_REGNUM, buf);
+      regcache->raw_collect (SPARC_SP_REGNUM, buf);
       write_memory (fp_addr,buf, 4);
     }
 
@@ -216,7 +216,7 @@ sparc32obsd_collect_uthread(const struct
     {
       CORE_ADDR i7, i7_addr = addr + SPARC32OBSD_UTHREAD_PC_OFFSET;
 
-      regcache_raw_collect (regcache, SPARC32_PC_REGNUM, buf);
+      regcache->raw_collect (SPARC32_PC_REGNUM, buf);
       i7 = extract_unsigned_integer (buf, 4, byte_order) - 8;
       write_memory_unsigned_integer (i7_addr, 4, byte_order, i7);
 
@@ -224,7 +224,7 @@ sparc32obsd_collect_uthread(const struct
 	return;
     }
 
-  regcache_raw_collect (regcache, SPARC_SP_REGNUM, buf);
+  regcache->raw_collect (SPARC_SP_REGNUM, buf);
   sp = extract_unsigned_integer (buf, 4, byte_order);
   sparc_collect_rwindow (regcache, sp, regnum);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-ravenscar-thread.c ./gdb/sparc-ravenscar-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-ravenscar-thread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc-ravenscar-thread.c	2018-07-10 02:06:13.000000000 +0000
@@ -68,7 +68,7 @@ supply_register_at_address (struct regca
 
   buf = (gdb_byte *) alloca (buf_size);
   read_memory (register_addr, buf, buf_size);
-  regcache_raw_supply (regcache, regnum, buf);
+  regcache->raw_supply (regnum, buf);
 }
 
 /* Return true if, for a non-running thread, REGNUM has been saved on the
@@ -112,7 +112,7 @@ sparc_ravenscar_fetch_registers (struct 
   ULONGEST stack_address;
 
   /* The tid is the thread_id field, which is a pointer to the thread.  */
-  thread_descriptor_address = (CORE_ADDR) ptid_get_tid (inferior_ptid);
+  thread_descriptor_address = (CORE_ADDR) inferior_ptid.tid ();
 
   /* Read the saved SP in the context buffer.  */
   current_address = thread_descriptor_address
@@ -162,7 +162,7 @@ sparc_ravenscar_store_registers (struct 
 
   if (register_in_thread_descriptor_p (regnum))
     register_address =
-      ptid_get_tid (inferior_ptid) + sparc_register_offsets [regnum];
+      inferior_ptid.tid () + sparc_register_offsets [regnum];
   else if (register_on_stack_p (regnum))
     {
       regcache_cooked_read_unsigned (regcache, SPARC_SP_REGNUM,
@@ -172,7 +172,7 @@ sparc_ravenscar_store_registers (struct 
   else
     return;
 
-  regcache_raw_collect (regcache, regnum, buf);
+  regcache->raw_collect (regnum, buf);
   write_memory (register_address,
                 buf,
                 buf_size);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-sol2-nat.c ./gdb/sparc-sol2-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-sol2-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc-sol2-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -97,13 +97,3 @@ fill_fpregset (const struct regcache *re
 {
   sparc_collect_fpregset (&sparc_sol2_fpregmap, regcache, regnum, fpregs);
 }
-
-void
-_initialize_sparc_sol2_nat (void)
-{
-  struct target_ops *t;
-
-  t = procfs_target ();
-  procfs_use_watchpoints (t);
-  add_target (t);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-tdep.c ./gdb/sparc-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/sparc-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/sparc-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -189,7 +189,7 @@ ULONGEST
 sparc_fetch_wcookie (struct gdbarch *gdbarch)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  struct target_ops *ops = &current_target;
+  struct target_ops *ops = current_top_target ();
   gdb_byte buf[8];
   int len;
 
@@ -297,41 +297,61 @@ sparc_structure_or_union_p (const struct
   return 0;
 }
 
-/* Check whether TYPE is returned on registers.  */
+/* Return true if TYPE is returned by memory, false if returned by
+   register.  */
 
 static bool
 sparc_structure_return_p (const struct type *type)
 {
-  if (TYPE_CODE (type) == TYPE_CODE_ARRAY && TYPE_LENGTH (type) <= 8)
+  if (TYPE_CODE (type) == TYPE_CODE_ARRAY && TYPE_VECTOR (type))
     {
-      struct type *t = check_typedef (TYPE_TARGET_TYPE (type));
+      /* Float vectors are always returned by memory.  */
+      if (sparc_floating_p (check_typedef (TYPE_TARGET_TYPE (type))))
+	return true;
+      /* Integer vectors are returned by memory if the vector size
+	 is greater than 8 bytes long.  */
+      return (TYPE_LENGTH (type) > 8);
+    }
 
-      if (sparc_floating_p (t) && TYPE_LENGTH (t) == 8)
-        return true;
-      return false;
+  if (sparc_floating_p (type))
+    {
+      /* Floating point types are passed by register for size 4 and
+	 8 bytes, and by memory for size 16 bytes.  */
+      return (TYPE_LENGTH (type) == 16);
     }
-  if (sparc_floating_p (type) && TYPE_LENGTH (type) == 16)
-    return true;
+
+  /* Other than that, only aggregates of all sizes get returned by
+     memory.  */
   return sparc_structure_or_union_p (type);
 }
 
-/* Check whether TYPE is passed on registers.  */
+/* Return true if arguments of the given TYPE are passed by
+   memory; false if returned by register.  */
 
 static bool
-sparc_arg_on_registers_p (const struct type *type)
+sparc_arg_by_memory_p (const struct type *type)
 {
-  if (TYPE_CODE (type) == TYPE_CODE_ARRAY && TYPE_LENGTH (type) <= 8)
+  if (TYPE_CODE (type) == TYPE_CODE_ARRAY && TYPE_VECTOR (type))
     {
-      struct type *t = check_typedef (TYPE_TARGET_TYPE (type));
-
-      if (sparc_floating_p (t) && TYPE_LENGTH (t) == 8)
-        return false;
-      return true;
+      /* Float vectors are always passed by memory.  */
+      if (sparc_floating_p (check_typedef (TYPE_TARGET_TYPE (type))))
+	return true;
+      /* Integer vectors are passed by memory if the vector size
+	 is greater than 8 bytes long.  */
+      return (TYPE_LENGTH (type) > 8);
     }
-  if (sparc_structure_or_union_p (type) || sparc_complex_floating_p (type)
-      || (sparc_floating_p (type) && TYPE_LENGTH (type) == 16))
-    return false;
-  return true;
+
+  /* Floats are passed by register for size 4 and 8 bytes, and by memory
+     for size 16 bytes.  */
+  if (sparc_floating_p (type))
+    return (TYPE_LENGTH (type) == 16);
+
+  /* Complex floats and aggregates of all sizes are passed by memory.  */
+  if (sparc_complex_floating_p (type) || sparc_structure_or_union_p (type))
+    return true;
+
+  /* Everything else gets passed by register.  */
+  return false;
 }
 
 /* Register information.  */
@@ -503,7 +523,7 @@ sparc32_register_type (struct gdbarch *g
 
 static enum register_status
 sparc32_pseudo_register_read (struct gdbarch *gdbarch,
-			      struct regcache *regcache,
+			      readable_regcache *regcache,
 			      int regnum, gdb_byte *buf)
 {
   enum register_status status;
@@ -512,9 +532,9 @@ sparc32_pseudo_register_read (struct gdb
   gdb_assert (regnum >= SPARC32_D0_REGNUM && regnum <= SPARC32_D30_REGNUM);
 
   regnum = SPARC_F0_REGNUM + 2 * (regnum - SPARC32_D0_REGNUM);
-  status = regcache_raw_read (regcache, regnum, buf);
+  status = regcache->raw_read (regnum, buf);
   if (status == REG_VALID)
-    status = regcache_raw_read (regcache, regnum + 1, buf + 4);
+    status = regcache->raw_read (regnum + 1, buf + 4);
   return status;
 }
 
@@ -527,8 +547,8 @@ sparc32_pseudo_register_write (struct gd
   gdb_assert (regnum >= SPARC32_D0_REGNUM && regnum <= SPARC32_D30_REGNUM);
 
   regnum = SPARC_F0_REGNUM + 2 * (regnum - SPARC32_D0_REGNUM);
-  regcache_raw_write (regcache, regnum, buf);
-  regcache_raw_write (regcache, regnum + 1, buf + 4);
+  regcache->raw_write (regnum, buf);
+  regcache->raw_write (regnum + 1, buf + 4);
 }
 
 /* Implement the stack_frame_destroyed_p gdbarch method.  */
@@ -606,7 +626,7 @@ sparc32_store_arguments (struct regcache
       struct type *type = value_type (args[i]);
       int len = TYPE_LENGTH (type);
 
-      if (!sparc_arg_on_registers_p (type))
+      if (sparc_arg_by_memory_p (type))
 	{
 	  /* Structure, Union and Quad-Precision Arguments.  */
 	  sp -= len;
@@ -627,9 +647,7 @@ sparc32_store_arguments (struct regcache
 	}
       else
 	{
-	  /* Integral and pointer arguments.  */
-	  gdb_assert (sparc_integral_or_pointer_p (type)
-	              || (TYPE_CODE (type) == TYPE_CODE_ARRAY && len <= 8));
+	  /* Arguments passed via the General Purpose Registers.  */
 	  num_elements += ((len + 3) / 4);
 	}
     }
@@ -667,9 +685,9 @@ sparc32_store_arguments (struct regcache
 	{
 	  int regnum = SPARC_O0_REGNUM + element;
 
-	  regcache_cooked_write (regcache, regnum, valbuf);
+	  regcache->cooked_write (regnum, valbuf);
 	  if (len > 4 && element < 5)
-	    regcache_cooked_write (regcache, regnum + 1, valbuf + 4);
+	    regcache->cooked_write (regnum + 1, valbuf + 4);
 	}
 
       /* Always store the argument in memory.  */
@@ -1391,20 +1409,20 @@ sparc32_extract_return_value (struct typ
       || TYPE_CODE (type) == TYPE_CODE_ARRAY)
     {
       /* Floating return values.  */
-      regcache_cooked_read (regcache, SPARC_F0_REGNUM, buf);
+      regcache->cooked_read (SPARC_F0_REGNUM, buf);
       if (len > 4)
-	regcache_cooked_read (regcache, SPARC_F1_REGNUM, buf + 4);
+	regcache->cooked_read (SPARC_F1_REGNUM, buf + 4);
       if (len > 8)
 	{
-	  regcache_cooked_read (regcache, SPARC_F2_REGNUM, buf + 8);
-	  regcache_cooked_read (regcache, SPARC_F3_REGNUM, buf + 12);
+	  regcache->cooked_read (SPARC_F2_REGNUM, buf + 8);
+	  regcache->cooked_read (SPARC_F3_REGNUM, buf + 12);
 	}
       if (len > 16)
 	{
-	  regcache_cooked_read (regcache, SPARC_F4_REGNUM, buf + 16);
-	  regcache_cooked_read (regcache, SPARC_F5_REGNUM, buf + 20);
-	  regcache_cooked_read (regcache, SPARC_F6_REGNUM, buf + 24);
-	  regcache_cooked_read (regcache, SPARC_F7_REGNUM, buf + 28);
+	  regcache->cooked_read (SPARC_F4_REGNUM, buf + 16);
+	  regcache->cooked_read (SPARC_F5_REGNUM, buf + 20);
+	  regcache->cooked_read (SPARC_F6_REGNUM, buf + 24);
+	  regcache->cooked_read (SPARC_F7_REGNUM, buf + 28);
 	}
       memcpy (valbuf, buf, len);
     }
@@ -1413,10 +1431,10 @@ sparc32_extract_return_value (struct typ
       /* Integral and pointer return values.  */
       gdb_assert (sparc_integral_or_pointer_p (type));
 
-      regcache_cooked_read (regcache, SPARC_O0_REGNUM, buf);
+      regcache->cooked_read (SPARC_O0_REGNUM, buf);
       if (len > 4)
 	{
-	  regcache_cooked_read (regcache, SPARC_O1_REGNUM, buf + 4);
+	  regcache->cooked_read (SPARC_O1_REGNUM, buf + 4);
 	  gdb_assert (len == 8);
 	  memcpy (valbuf, buf, 8);
 	}
@@ -1445,20 +1463,20 @@ sparc32_store_return_value (struct type 
     {
       /* Floating return values.  */
       memcpy (buf, valbuf, len);
-      regcache_cooked_write (regcache, SPARC_F0_REGNUM, buf);
+      regcache->cooked_write (SPARC_F0_REGNUM, buf);
       if (len > 4)
-	regcache_cooked_write (regcache, SPARC_F1_REGNUM, buf + 4);
+	regcache->cooked_write (SPARC_F1_REGNUM, buf + 4);
       if (len > 8)
 	{
-	  regcache_cooked_write (regcache, SPARC_F2_REGNUM, buf + 8);
-	  regcache_cooked_write (regcache, SPARC_F3_REGNUM, buf + 12);
+	  regcache->cooked_write (SPARC_F2_REGNUM, buf + 8);
+	  regcache->cooked_write (SPARC_F3_REGNUM, buf + 12);
 	}
       if (len > 16)
 	{
-	  regcache_cooked_write (regcache, SPARC_F4_REGNUM, buf + 16);
-	  regcache_cooked_write (regcache, SPARC_F5_REGNUM, buf + 20);
-	  regcache_cooked_write (regcache, SPARC_F6_REGNUM, buf + 24);
-	  regcache_cooked_write (regcache, SPARC_F7_REGNUM, buf + 28);
+	  regcache->cooked_write (SPARC_F4_REGNUM, buf + 16);
+	  regcache->cooked_write (SPARC_F5_REGNUM, buf + 20);
+	  regcache->cooked_write (SPARC_F6_REGNUM, buf + 24);
+	  regcache->cooked_write (SPARC_F7_REGNUM, buf + 28);
 	}
     }
   else
@@ -1470,14 +1488,14 @@ sparc32_store_return_value (struct type 
 	{
 	  gdb_assert (len == 8);
 	  memcpy (buf, valbuf, 8);
-	  regcache_cooked_write (regcache, SPARC_O1_REGNUM, buf + 4);
+	  regcache->cooked_write (SPARC_O1_REGNUM, buf + 4);
 	}
       else
 	{
 	  /* ??? Do we need to do any sign-extension here?  */
 	  memcpy (buf + 4 - len, valbuf, len);
 	}
-      regcache_cooked_write (regcache, SPARC_O0_REGNUM, buf);
+      regcache->cooked_write (SPARC_O0_REGNUM, buf);
     }
 }
 
@@ -1952,7 +1970,7 @@ sparc_supply_rwindow (struct regcache *r
 					  i7 ^ wcookie);
 		}
 
-	      regcache_raw_supply (regcache, i, buf);
+	      regcache->raw_supply (i, buf);
 	    }
 	}
     }
@@ -1988,7 +2006,7 @@ sparc_supply_rwindow (struct regcache *r
 					  i7 ^ wcookie);
 		}
 
-	      regcache_raw_supply (regcache, i, buf);
+	      regcache->raw_supply (i, buf);
 	    }
 	}
     }
@@ -2013,7 +2031,7 @@ sparc_collect_rwindow (const struct regc
 	{
 	  if (regnum == -1 || regnum == SPARC_SP_REGNUM || regnum == i)
 	    {
-	      regcache_raw_collect (regcache, i, buf);
+	      regcache->raw_collect (i, buf);
 
 	      /* Handle StackGhost.  */
 	      if (i == SPARC_I7_REGNUM)
@@ -2043,7 +2061,7 @@ sparc_collect_rwindow (const struct regc
 	{
 	  if (regnum == -1 || regnum == SPARC_SP_REGNUM || regnum == i)
 	    {
-	      regcache_raw_collect (regcache, i, buf);
+	      regcache->raw_collect (i, buf);
 
 	      /* Handle StackGhost.  */
 	      if (i == SPARC_I7_REGNUM)
@@ -2075,23 +2093,19 @@ sparc32_supply_gregset (const struct spa
   int i;
 
   if (regnum == SPARC32_PSR_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, SPARC32_PSR_REGNUM,
-			 regs + gregmap->r_psr_offset);
+    regcache->raw_supply (SPARC32_PSR_REGNUM, regs + gregmap->r_psr_offset);
 
   if (regnum == SPARC32_PC_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, SPARC32_PC_REGNUM,
-			 regs + gregmap->r_pc_offset);
+    regcache->raw_supply (SPARC32_PC_REGNUM, regs + gregmap->r_pc_offset);
 
   if (regnum == SPARC32_NPC_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, SPARC32_NPC_REGNUM,
-			 regs + gregmap->r_npc_offset);
+    regcache->raw_supply (SPARC32_NPC_REGNUM, regs + gregmap->r_npc_offset);
 
   if (regnum == SPARC32_Y_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, SPARC32_Y_REGNUM,
-			 regs + gregmap->r_y_offset);
+    regcache->raw_supply (SPARC32_Y_REGNUM, regs + gregmap->r_y_offset);
 
   if (regnum == SPARC_G0_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, SPARC_G0_REGNUM, &zero);
+    regcache->raw_supply (SPARC_G0_REGNUM, &zero);
 
   if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1)
     {
@@ -2100,7 +2114,7 @@ sparc32_supply_gregset (const struct spa
       for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++)
 	{
 	  if (regnum == i || regnum == -1)
-	    regcache_raw_supply (regcache, i, regs + offset);
+	    regcache->raw_supply (i, regs + offset);
 	  offset += 4;
 	}
     }
@@ -2123,7 +2137,7 @@ sparc32_supply_gregset (const struct spa
 	  for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
 	    {
 	      if (regnum == i || regnum == -1)
-		regcache_raw_supply (regcache, i, regs + offset);
+		regcache->raw_supply (i, regs + offset);
 	      offset += 4;
 	    }
 	}
@@ -2139,20 +2153,16 @@ sparc32_collect_gregset (const struct sp
   int i;
 
   if (regnum == SPARC32_PSR_REGNUM || regnum == -1)
-    regcache_raw_collect (regcache, SPARC32_PSR_REGNUM,
-			  regs + gregmap->r_psr_offset);
+    regcache->raw_collect (SPARC32_PSR_REGNUM, regs + gregmap->r_psr_offset);
 
   if (regnum == SPARC32_PC_REGNUM || regnum == -1)
-    regcache_raw_collect (regcache, SPARC32_PC_REGNUM,
-			  regs + gregmap->r_pc_offset);
+    regcache->raw_collect (SPARC32_PC_REGNUM, regs + gregmap->r_pc_offset);
 
   if (regnum == SPARC32_NPC_REGNUM || regnum == -1)
-    regcache_raw_collect (regcache, SPARC32_NPC_REGNUM,
-			  regs + gregmap->r_npc_offset);
+    regcache->raw_collect (SPARC32_NPC_REGNUM, regs + gregmap->r_npc_offset);
 
   if (regnum == SPARC32_Y_REGNUM || regnum == -1)
-    regcache_raw_collect (regcache, SPARC32_Y_REGNUM,
-			  regs + gregmap->r_y_offset);
+    regcache->raw_collect (SPARC32_Y_REGNUM, regs + gregmap->r_y_offset);
 
   if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1)
     {
@@ -2162,7 +2172,7 @@ sparc32_collect_gregset (const struct sp
       for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++)
 	{
 	  if (regnum == i || regnum == -1)
-	    regcache_raw_collect (regcache, i, regs + offset);
+	    regcache->raw_collect (i, regs + offset);
 	  offset += 4;
 	}
     }
@@ -2178,7 +2188,7 @@ sparc32_collect_gregset (const struct sp
 	  for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
 	    {
 	      if (regnum == i || regnum == -1)
-		regcache_raw_collect (regcache, i, regs + offset);
+		regcache->raw_collect (i, regs + offset);
 	      offset += 4;
 	    }
 	}
@@ -2196,13 +2206,12 @@ sparc32_supply_fpregset (const struct sp
   for (i = 0; i < 32; i++)
     {
       if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
-	regcache_raw_supply (regcache, SPARC_F0_REGNUM + i,
-			     regs + fpregmap->r_f0_offset + (i * 4));
+	regcache->raw_supply (SPARC_F0_REGNUM + i,
+			      regs + fpregmap->r_f0_offset + (i * 4));
     }
 
   if (regnum == SPARC32_FSR_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, SPARC32_FSR_REGNUM,
-			 regs + fpregmap->r_fsr_offset);
+    regcache->raw_supply (SPARC32_FSR_REGNUM, regs + fpregmap->r_fsr_offset);
 }
 
 void
@@ -2216,13 +2225,13 @@ sparc32_collect_fpregset (const struct s
   for (i = 0; i < 32; i++)
     {
       if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
-	regcache_raw_collect (regcache, SPARC_F0_REGNUM + i,
-			      regs + fpregmap->r_f0_offset + (i * 4));
+	regcache->raw_collect (SPARC_F0_REGNUM + i,
+			       regs + fpregmap->r_f0_offset + (i * 4));
     }
 
   if (regnum == SPARC32_FSR_REGNUM || regnum == -1)
-    regcache_raw_collect (regcache, SPARC32_FSR_REGNUM,
-			  regs + fpregmap->r_fsr_offset);
+    regcache->raw_collect (SPARC32_FSR_REGNUM,
+			   regs + fpregmap->r_fsr_offset);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/spu-linux-nat.c ./gdb/spu-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/spu-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/spu-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -40,6 +40,28 @@
 #define INSTR_SC	0x44000002
 #define NR_spu_run	0x0116
 
+class spu_linux_nat_target final : public inf_ptrace_target
+{
+public:
+  void fetch_registers (struct regcache *regcache, int regnum) override;
+  void store_registers (struct regcache *regcache, int regnum) override;
+
+  void post_attach (int) override;
+  void post_startup_inferior (ptid_t) override;
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int options) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  int can_use_hw_breakpoint (enum bptype, int, int) override;
+};
+
+static spu_linux_nat_target the_spu_linux_nat_target;
 
 /* Fetch PPU register REGNO.  */
 static ULONGEST
@@ -47,9 +69,9 @@ fetch_ppc_register (int regno)
 {
   PTRACE_TYPE_RET res;
 
-  int tid = ptid_get_lwp (inferior_ptid);
+  int tid = inferior_ptid.lwp ();
   if (tid == 0)
-    tid = ptid_get_pid (inferior_ptid);
+    tid = inferior_ptid.pid ();
 
 #ifndef __powerpc64__
   /* If running as a 32-bit process on a 64-bit system, we attempt
@@ -132,9 +154,9 @@ fetch_ppc_memory (ULONGEST memaddr, gdb_
 	       / sizeof (PTRACE_TYPE_RET));
   PTRACE_TYPE_RET *buffer;
 
-  int tid = ptid_get_lwp (inferior_ptid);
+  int tid = inferior_ptid.lwp ();
   if (tid == 0)
-    tid = ptid_get_pid (inferior_ptid);
+    tid = inferior_ptid.pid ();
 
   buffer = (PTRACE_TYPE_RET *) alloca (count * sizeof (PTRACE_TYPE_RET));
   for (i = 0; i < count; i++, addr += sizeof (PTRACE_TYPE_RET))
@@ -162,9 +184,9 @@ store_ppc_memory (ULONGEST memaddr, cons
 	       / sizeof (PTRACE_TYPE_RET));
   PTRACE_TYPE_RET *buffer;
 
-  int tid = ptid_get_lwp (inferior_ptid);
+  int tid = inferior_ptid.lwp ();
   if (tid == 0)
-    tid = ptid_get_pid (inferior_ptid);
+    tid = inferior_ptid.pid ();
 
   buffer = (PTRACE_TYPE_RET *) alloca (count * sizeof (PTRACE_TYPE_RET));
 
@@ -237,7 +259,7 @@ spu_proc_xfer_spu (const char *annex, gd
   char buf[128];
   int fd = 0;
   int ret = -1;
-  int pid = ptid_get_pid (inferior_ptid);
+  int pid = inferior_ptid.pid ();
 
   if (!annex)
     return TARGET_XFER_EOF;
@@ -394,15 +416,15 @@ spu_symbol_file_add_from_memory (int inf
 
 /* Override the post_startup_inferior routine to continue running
    the inferior until the first spu_run system call.  */
-static void
-spu_child_post_startup_inferior (struct target_ops *self, ptid_t ptid)
+void
+spu_linux_nat_target::post_startup_inferior (ptid_t ptid)
 {
   int fd;
   ULONGEST addr;
 
-  int tid = ptid_get_lwp (ptid);
+  int tid = ptid.lwp ();
   if (tid == 0)
-    tid = ptid_get_pid (ptid);
+    tid = ptid.pid ();
   
   while (!parse_spufs_run (&fd, &addr))
     {
@@ -413,8 +435,8 @@ spu_child_post_startup_inferior (struct 
 
 /* Override the post_attach routine to try load the SPE executable
    file image from its copy inside the target process.  */
-static void
-spu_child_post_attach (struct target_ops *self, int pid)
+void
+spu_linux_nat_target::post_attach (int pid)
 {
   int fd;
   ULONGEST addr;
@@ -436,9 +458,9 @@ spu_child_post_attach (struct target_ops
 
 /* Wait for child PTID to do something.  Return id of the child,
    minus_one_ptid in case of error; store status into *OURSTATUS.  */
-static ptid_t
-spu_child_wait (struct target_ops *ops,
-		ptid_t ptid, struct target_waitstatus *ourstatus, int options)
+ptid_t
+spu_linux_nat_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
+			    int options)
 {
   int save_errno;
   int status;
@@ -449,17 +471,17 @@ spu_child_wait (struct target_ops *ops,
       set_sigint_trap ();	/* Causes SIGINT to be passed on to the
 				   attached process.  */
 
-      pid = waitpid (ptid_get_pid (ptid), &status, 0);
+      pid = waitpid (ptid.pid (), &status, 0);
       if (pid == -1 && errno == ECHILD)
 	/* Try again with __WCLONE to check cloned processes.  */
-	pid = waitpid (ptid_get_pid (ptid), &status, __WCLONE);
+	pid = waitpid (ptid.pid (), &status, __WCLONE);
 
       save_errno = errno;
 
       /* Make sure we don't report an event for the exit of the
          original program, if we've detached from it.  */
       if (pid != -1 && !WIFSTOPPED (status)
-	  && pid != ptid_get_pid (inferior_ptid))
+	  && pid != inferior_ptid.pid ())
 	{
 	  pid = -1;
 	  save_errno = EINTR;
@@ -481,13 +503,12 @@ spu_child_wait (struct target_ops *ops,
     }
 
   store_waitstatus (ourstatus, status);
-  return pid_to_ptid (pid);
+  return ptid_t (pid);
 }
 
 /* Override the fetch_inferior_register routine.  */
-static void
-spu_fetch_inferior_registers (struct target_ops *ops,
-			      struct regcache *regcache, int regno)
+void
+spu_linux_nat_target::fetch_registers (struct regcache *regcache, int regno)
 {
   int fd;
   ULONGEST addr;
@@ -495,7 +516,7 @@ spu_fetch_inferior_registers (struct tar
   /* Since we use functions that rely on inferior_ptid, we need to set and
      restore it.  */
   scoped_restore save_ptid
-    = make_scoped_restore (&inferior_ptid, regcache_get_ptid (regcache));
+    = make_scoped_restore (&inferior_ptid, regcache->ptid ());
 
   /* We must be stopped on a spu_run system call.  */
   if (!parse_spufs_run (&fd, &addr))
@@ -508,7 +529,7 @@ spu_fetch_inferior_registers (struct tar
       enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
       gdb_byte buf[4];
       store_unsigned_integer (buf, 4, byte_order, fd);
-      regcache_raw_supply (regcache, SPU_ID_REGNUM, buf);
+      regcache->raw_supply (SPU_ID_REGNUM, buf);
     }
 
   /* The NPC register is found at ADDR.  */
@@ -516,7 +537,7 @@ spu_fetch_inferior_registers (struct tar
     {
       gdb_byte buf[4];
       if (fetch_ppc_memory (addr, buf, 4) == 0)
-	regcache_raw_supply (regcache, SPU_PC_REGNUM, buf);
+	regcache->raw_supply (SPU_PC_REGNUM, buf);
     }
 
   /* The GPRs are found in the "regs" spufs file.  */
@@ -532,14 +553,13 @@ spu_fetch_inferior_registers (struct tar
 	   == TARGET_XFER_OK)
 	  && len == sizeof buf)
 	for (i = 0; i < SPU_NUM_GPRS; i++)
-	  regcache_raw_supply (regcache, i, buf + i*16);
+	  regcache->raw_supply (i, buf + i*16);
     }
 }
 
 /* Override the store_inferior_register routine.  */
-static void
-spu_store_inferior_registers (struct target_ops *ops,
-			      struct regcache *regcache, int regno)
+void
+spu_linux_nat_target::store_registers (struct regcache *regcache, int regno)
 {
   int fd;
   ULONGEST addr;
@@ -547,7 +567,7 @@ spu_store_inferior_registers (struct tar
   /* Since we use functions that rely on inferior_ptid, we need to set and
      restore it.  */
   scoped_restore save_ptid
-    = make_scoped_restore (&inferior_ptid, regcache_get_ptid (regcache));
+    = make_scoped_restore (&inferior_ptid, regcache->ptid ());
 
   /* We must be stopped on a spu_run system call.  */
   if (!parse_spufs_run (&fd, &addr))
@@ -557,7 +577,7 @@ spu_store_inferior_registers (struct tar
   if (regno == -1 || regno == SPU_PC_REGNUM)
     {
       gdb_byte buf[4];
-      regcache_raw_collect (regcache, SPU_PC_REGNUM, buf);
+      regcache->raw_collect (SPU_PC_REGNUM, buf);
       store_ppc_memory (addr, buf, 4);
     }
 
@@ -570,7 +590,7 @@ spu_store_inferior_registers (struct tar
       ULONGEST len;
 
       for (i = 0; i < SPU_NUM_GPRS; i++)
-	regcache_raw_collect (regcache, i, buf + i*16);
+	regcache->raw_collect (i, buf + i*16);
 
       xsnprintf (annex, sizeof annex, "%d/regs", fd);
       spu_proc_xfer_spu (annex, NULL, buf, 0, sizeof buf, &len);
@@ -578,11 +598,11 @@ spu_store_inferior_registers (struct tar
 }
 
 /* Override the to_xfer_partial routine.  */
-static enum target_xfer_status
-spu_xfer_partial (struct target_ops *ops,
-		  enum target_object object, const char *annex,
-		  gdb_byte *readbuf, const gdb_byte *writebuf,
-		  ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
+enum target_xfer_status
+spu_linux_nat_target::xfer_partial (enum target_object object, const char *annex,
+				    gdb_byte *readbuf, const gdb_byte *writebuf,
+				    ULONGEST offset, ULONGEST len,
+				    ULONGEST *xfered_len)
 {
   if (object == TARGET_OBJECT_SPU)
     return spu_proc_xfer_spu (annex, readbuf, writebuf, offset, len,
@@ -627,9 +647,9 @@ spu_xfer_partial (struct target_ops *ops
 }
 
 /* Override the to_can_use_hw_breakpoint routine.  */
-static int
-spu_can_use_hw_breakpoint (struct target_ops *self,
-			   enum bptype type, int cnt, int othertype)
+int
+spu_linux_nat_target::can_use_hw_breakpoint (enum bptype type,
+					     int cnt, int othertype)
 {
   return 0;
 }
@@ -638,19 +658,5 @@ spu_can_use_hw_breakpoint (struct target
 void 
 _initialize_spu_nat (void)
 {
-  /* Generic ptrace methods.  */
-  struct target_ops *t;
-  t = inf_ptrace_target ();
-
-  /* Add SPU methods.  */
-  t->to_post_attach = spu_child_post_attach;  
-  t->to_post_startup_inferior = spu_child_post_startup_inferior;
-  t->to_wait = spu_child_wait;
-  t->to_fetch_registers = spu_fetch_inferior_registers;
-  t->to_store_registers = spu_store_inferior_registers;
-  t->to_xfer_partial = spu_xfer_partial;
-  t->to_can_use_hw_breakpoint = spu_can_use_hw_breakpoint;
-
-  /* Register SPU target.  */
-  add_target (t);
+  add_inf_child_target (&the_spu_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/spu-multiarch.c ./gdb/spu-multiarch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/spu-multiarch.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/spu-multiarch.c	2018-07-10 02:06:13.000000000 +0000
@@ -22,7 +22,7 @@
 #include "gdbcore.h"
 #include "gdbcmd.h"
 #include "arch-utils.h"
-#include "observer.h"
+#include "observable.h"
 #include "inferior.h"
 #include "regcache.h"
 #include "symfile.h"
@@ -34,8 +34,44 @@
 #include "ppc-linux-tdep.h"
 #include "spu-tdep.h"
 
-/* This module's target vector.  */
-static struct target_ops spu_ops;
+/* The SPU multi-architecture support target.  */
+
+static const target_info spu_multiarch_target_info = {
+  "spu",
+  N_("SPU multi-architecture support."),
+  N_("SPU multi-architecture support.")
+};
+
+struct spu_multiarch_target final : public target_ops
+{
+  spu_multiarch_target ()
+  { to_stratum = arch_stratum; };
+
+  const target_info &info () const override
+  { return spu_multiarch_target_info; }
+
+  void mourn_inferior () override;
+
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  int search_memory (CORE_ADDR start_addr, ULONGEST search_space_len,
+		     const gdb_byte *pattern, ULONGEST pattern_len,
+		     CORE_ADDR *found_addrp) override;
+
+  int region_ok_for_hw_watchpoint (CORE_ADDR, int) override;
+
+  struct gdbarch *thread_architecture (ptid_t) override;
+};
+
+static spu_multiarch_target spu_ops;
 
 /* Number of SPE objects loaded into the current inferior.  */
 static int spu_nr_solib;
@@ -112,8 +148,8 @@ spu_gdbarch (int spufs_fd)
 }
 
 /* Override the to_thread_architecture routine.  */
-static struct gdbarch *
-spu_thread_architecture (struct target_ops *ops, ptid_t ptid)
+struct gdbarch *
+spu_multiarch_target::thread_architecture (ptid_t ptid)
 {
   int spufs_fd;
   CORE_ADDR spufs_addr;
@@ -121,44 +157,40 @@ spu_thread_architecture (struct target_o
   if (parse_spufs_run (ptid, &spufs_fd, &spufs_addr))
     return spu_gdbarch (spufs_fd);
 
-  target_ops *beneath = find_target_beneath (ops);
-  return beneath->to_thread_architecture (beneath, ptid);
+  return beneath ()->thread_architecture (ptid);
 }
 
 /* Override the to_region_ok_for_hw_watchpoint routine.  */
-static int
-spu_region_ok_for_hw_watchpoint (struct target_ops *self,
-				 CORE_ADDR addr, int len)
-{
-  struct target_ops *ops_beneath = find_target_beneath (self);
 
+int
+spu_multiarch_target::region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
+{
   /* We cannot watch SPU local store.  */
   if (SPUADDR_SPU (addr) != -1)
     return 0;
 
-  return ops_beneath->to_region_ok_for_hw_watchpoint (ops_beneath, addr, len);
+  return beneath ()->region_ok_for_hw_watchpoint (addr, len);
 }
 
 /* Override the to_fetch_registers routine.  */
-static void
-spu_fetch_registers (struct target_ops *ops,
-		     struct regcache *regcache, int regno)
+
+void
+spu_multiarch_target::fetch_registers (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  struct target_ops *ops_beneath = find_target_beneath (ops);
   int spufs_fd;
   CORE_ADDR spufs_addr;
 
   /* Since we use functions that rely on inferior_ptid, we need to set and
      restore it.  */
   scoped_restore save_ptid
-    = make_scoped_restore (&inferior_ptid, regcache_get_ptid (regcache));
+    = make_scoped_restore (&inferior_ptid, regcache->ptid ());
 
   /* This version applies only if we're currently in spu_run.  */
   if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
     {
-      ops_beneath->to_fetch_registers (ops_beneath, regcache, regno);
+      beneath ()->fetch_registers (regcache, regno);
       return;
     }
 
@@ -171,7 +203,7 @@ spu_fetch_registers (struct target_ops *
     {
       gdb_byte buf[4];
       store_unsigned_integer (buf, 4, byte_order, spufs_fd);
-      regcache_raw_supply (regcache, SPU_ID_REGNUM, buf);
+      regcache->raw_supply (SPU_ID_REGNUM, buf);
     }
 
   /* The NPC register is found in PPC memory at SPUFS_ADDR.  */
@@ -179,9 +211,9 @@ spu_fetch_registers (struct target_ops *
     {
       gdb_byte buf[4];
 
-      if (target_read (ops_beneath, TARGET_OBJECT_MEMORY, NULL,
+      if (target_read (beneath (), TARGET_OBJECT_MEMORY, NULL,
 		       buf, spufs_addr, sizeof buf) == sizeof buf)
-	regcache_raw_supply (regcache, SPU_PC_REGNUM, buf);
+	regcache->raw_supply (SPU_PC_REGNUM, buf);
     }
 
   /* The GPRs are found in the "regs" spufs file.  */
@@ -192,32 +224,31 @@ spu_fetch_registers (struct target_ops *
       int i;
 
       xsnprintf (annex, sizeof annex, "%d/regs", spufs_fd);
-      if (target_read (ops_beneath, TARGET_OBJECT_SPU, annex,
+      if (target_read (beneath (), TARGET_OBJECT_SPU, annex,
 		       buf, 0, sizeof buf) == sizeof buf)
 	for (i = 0; i < SPU_NUM_GPRS; i++)
-	  regcache_raw_supply (regcache, i, buf + i*16);
+	  regcache->raw_supply (i, buf + i*16);
     }
 }
 
 /* Override the to_store_registers routine.  */
-static void
-spu_store_registers (struct target_ops *ops,
-		     struct regcache *regcache, int regno)
+
+void
+spu_multiarch_target::store_registers (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
-  struct target_ops *ops_beneath = find_target_beneath (ops);
   int spufs_fd;
   CORE_ADDR spufs_addr;
 
   /* Since we use functions that rely on inferior_ptid, we need to set and
      restore it.  */
   scoped_restore save_ptid
-    = make_scoped_restore (&inferior_ptid, regcache_get_ptid (regcache));
+    = make_scoped_restore (&inferior_ptid, regcache->ptid ());
 
   /* This version applies only if we're currently in spu_run.  */
   if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
     {
-      ops_beneath->to_store_registers (ops_beneath, regcache, regno);
+      beneath ()->store_registers (regcache, regno);
       return;
     }
 
@@ -229,9 +260,9 @@ spu_store_registers (struct target_ops *
   if (regno == -1 || regno == SPU_PC_REGNUM)
     {
       gdb_byte buf[4];
-      regcache_raw_collect (regcache, SPU_PC_REGNUM, buf);
+      regcache->raw_collect (SPU_PC_REGNUM, buf);
 
-      target_write (ops_beneath, TARGET_OBJECT_MEMORY, NULL,
+      target_write (beneath (), TARGET_OBJECT_MEMORY, NULL,
 		    buf, spufs_addr, sizeof buf);
     }
 
@@ -243,22 +274,23 @@ spu_store_registers (struct target_ops *
       int i;
 
       for (i = 0; i < SPU_NUM_GPRS; i++)
-	regcache_raw_collect (regcache, i, buf + i*16);
+	regcache->raw_collect (i, buf + i*16);
 
       xsnprintf (annex, sizeof annex, "%d/regs", spufs_fd);
-      target_write (ops_beneath, TARGET_OBJECT_SPU, annex,
+      target_write (beneath (), TARGET_OBJECT_SPU, annex,
 		    buf, 0, sizeof buf);
     }
 }
 
 /* Override the to_xfer_partial routine.  */
-static enum target_xfer_status
-spu_xfer_partial (struct target_ops *ops, enum target_object object,
-		  const char *annex, gdb_byte *readbuf,
-		  const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-		  ULONGEST *xfered_len)
+
+enum target_xfer_status
+spu_multiarch_target::xfer_partial (enum target_object object,
+				    const char *annex, gdb_byte *readbuf,
+				    const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
+				    ULONGEST *xfered_len)
 {
-  struct target_ops *ops_beneath = find_target_beneath (ops);
+  struct target_ops *ops_beneath = this->beneath ();
 
   /* Use the "mem" spufs file to access SPU local store.  */
   if (object == TARGET_OBJECT_MEMORY)
@@ -273,9 +305,9 @@ spu_xfer_partial (struct target_ops *ops
       if (fd >= 0)
 	{
 	  xsnprintf (mem_annex, sizeof mem_annex, "%d/mem", fd);
-	  ret = ops_beneath->to_xfer_partial (ops_beneath, TARGET_OBJECT_SPU,
-					      mem_annex, readbuf, writebuf,
-					      addr, len, xfered_len);
+	  ret = ops_beneath->xfer_partial (TARGET_OBJECT_SPU,
+					   mem_annex, readbuf, writebuf,
+					   addr, len, xfered_len);
 	  if (ret == TARGET_XFER_OK)
 	    return ret;
 
@@ -285,41 +317,36 @@ spu_xfer_partial (struct target_ops *ops
 	     trying the original address first, and getting end-of-file.  */
 	  xsnprintf (lslr_annex, sizeof lslr_annex, "%d/lslr", fd);
 	  memset (buf, 0, sizeof buf);
-	  if (ops_beneath->to_xfer_partial (ops_beneath, TARGET_OBJECT_SPU,
-					    lslr_annex, buf, NULL,
-					    0, sizeof buf, xfered_len)
+	  if (ops_beneath->xfer_partial (TARGET_OBJECT_SPU,
+					 lslr_annex, buf, NULL,
+					 0, sizeof buf, xfered_len)
 	      != TARGET_XFER_OK)
 	    return ret;
 
 	  lslr = strtoulst ((char *) buf, NULL, 16);
-	  return ops_beneath->to_xfer_partial (ops_beneath, TARGET_OBJECT_SPU,
-					       mem_annex, readbuf, writebuf,
-					       addr & lslr, len, xfered_len);
+	  return ops_beneath->xfer_partial (TARGET_OBJECT_SPU,
+					    mem_annex, readbuf, writebuf,
+					    addr & lslr, len, xfered_len);
 	}
     }
 
-  return ops_beneath->to_xfer_partial (ops_beneath, object, annex,
-				       readbuf, writebuf, offset, len, xfered_len);
+  return ops_beneath->xfer_partial (object, annex,
+				    readbuf, writebuf, offset, len, xfered_len);
 }
 
 /* Override the to_search_memory routine.  */
-static int
-spu_search_memory (struct target_ops* ops,
-		   CORE_ADDR start_addr, ULONGEST search_space_len,
-		   const gdb_byte *pattern, ULONGEST pattern_len,
-		   CORE_ADDR *found_addrp)
+int
+spu_multiarch_target::search_memory (CORE_ADDR start_addr, ULONGEST search_space_len,
+				     const gdb_byte *pattern, ULONGEST pattern_len,
+				     CORE_ADDR *found_addrp)
 {
-  struct target_ops *ops_beneath = find_target_beneath (ops);
-
   /* For SPU local store, always fall back to the simple method.  */
   if (SPUADDR_SPU (start_addr) >= 0)
-    return simple_search_memory (ops,
-				 start_addr, search_space_len,
+    return simple_search_memory (this, start_addr, search_space_len,
 				 pattern, pattern_len, found_addrp);
 
-  return ops_beneath->to_search_memory (ops_beneath,
-					start_addr, search_space_len,
-					pattern, pattern_len, found_addrp);
+  return beneath ()->search_memory (start_addr, search_space_len,
+				    pattern, pattern_len, found_addrp);
 }
 
 
@@ -373,45 +400,19 @@ spu_multiarch_solib_unloaded (struct so_
 	spu_multiarch_deactivate ();
 }
 
-static void
-spu_mourn_inferior (struct target_ops *ops)
+void
+spu_multiarch_target::mourn_inferior ()
 {
-  struct target_ops *ops_beneath = find_target_beneath (ops);
-
-  ops_beneath->to_mourn_inferior (ops_beneath);
+  beneath ()->mourn_inferior ();
   spu_multiarch_deactivate ();
 }
 
-
-/* Initialize the SPU multi-architecture support target.  */
-
-static void
-init_spu_ops (void)
-{
-  spu_ops.to_shortname = "spu";
-  spu_ops.to_longname = "SPU multi-architecture support.";
-  spu_ops.to_doc = "SPU multi-architecture support.";
-  spu_ops.to_mourn_inferior = spu_mourn_inferior;
-  spu_ops.to_fetch_registers = spu_fetch_registers;
-  spu_ops.to_store_registers = spu_store_registers;
-  spu_ops.to_xfer_partial = spu_xfer_partial;
-  spu_ops.to_search_memory = spu_search_memory;
-  spu_ops.to_region_ok_for_hw_watchpoint = spu_region_ok_for_hw_watchpoint;
-  spu_ops.to_thread_architecture = spu_thread_architecture;
-  spu_ops.to_stratum = arch_stratum;
-  spu_ops.to_magic = OPS_MAGIC;
-}
-
 void
 _initialize_spu_multiarch (void)
 {
-  /* Install ourselves on the target stack.  */
-  init_spu_ops ();
-  complete_target_initialization (&spu_ops);
-
   /* Install observers to watch for SPU objects.  */
-  observer_attach_inferior_created (spu_multiarch_inferior_created);
-  observer_attach_solib_loaded (spu_multiarch_solib_loaded);
-  observer_attach_solib_unloaded (spu_multiarch_solib_unloaded);
+  gdb::observers::inferior_created.attach (spu_multiarch_inferior_created);
+  gdb::observers::solib_loaded.attach (spu_multiarch_solib_loaded);
+  gdb::observers::solib_unloaded.attach (spu_multiarch_solib_unloaded);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/spu-tdep.c ./gdb/spu-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/spu-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/spu-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -39,7 +39,7 @@
 #include "regcache.h"
 #include "reggroups.h"
 #include "block.h"
-#include "observer.h"
+#include "observable.h"
 #include "infcall.h"
 #include "dwarf2.h"
 #include "dwarf2-frame.h"
@@ -182,7 +182,7 @@ spu_register_type (struct gdbarch *gdbar
 /* Pseudo registers for preferred slots - stack pointer.  */
 
 static enum register_status
-spu_pseudo_register_read_spu (struct regcache *regcache, const char *regname,
+spu_pseudo_register_read_spu (readable_regcache *regcache, const char *regname,
 			      gdb_byte *buf)
 {
   struct gdbarch *gdbarch = regcache->arch ();
@@ -193,12 +193,12 @@ spu_pseudo_register_read_spu (struct reg
   ULONGEST id;
   ULONGEST ul;
 
-  status = regcache_raw_read_unsigned (regcache, SPU_ID_REGNUM, &id);
+  status = regcache->raw_read (SPU_ID_REGNUM, &id);
   if (status != REG_VALID)
     return status;
   xsnprintf (annex, sizeof annex, "%d/%s", (int) id, regname);
   memset (reg, 0, sizeof reg);
-  target_read (&current_target, TARGET_OBJECT_SPU, annex,
+  target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 	       reg, 0, sizeof reg);
 
   ul = strtoulst ((char *) reg, NULL, 16);
@@ -207,7 +207,7 @@ spu_pseudo_register_read_spu (struct reg
 }
 
 static enum register_status
-spu_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
+spu_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
                           int regnum, gdb_byte *buf)
 {
   gdb_byte reg[16];
@@ -218,18 +218,18 @@ spu_pseudo_register_read (struct gdbarch
   switch (regnum)
     {
     case SPU_SP_REGNUM:
-      status = regcache_raw_read (regcache, SPU_RAW_SP_REGNUM, reg);
+      status = regcache->raw_read (SPU_RAW_SP_REGNUM, reg);
       if (status != REG_VALID)
 	return status;
       memcpy (buf, reg, 4);
       return status;
 
     case SPU_FPSCR_REGNUM:
-      status = regcache_raw_read_unsigned (regcache, SPU_ID_REGNUM, &id);
+      status = regcache->raw_read (SPU_ID_REGNUM, &id);
       if (status != REG_VALID)
 	return status;
       xsnprintf (annex, sizeof annex, "%d/fpcr", (int) id);
-      target_read (&current_target, TARGET_OBJECT_SPU, annex, buf, 0, 16);
+      target_read (current_top_target (), TARGET_OBJECT_SPU, annex, buf, 0, 16);
       return status;
 
     case SPU_SRR0_REGNUM:
@@ -263,7 +263,7 @@ spu_pseudo_register_write_spu (struct re
   xsnprintf (annex, sizeof annex, "%d/%s", (int) id, regname);
   xsnprintf (reg, sizeof reg, "0x%s",
 	     phex_nz (extract_unsigned_integer (buf, 4, byte_order), 4));
-  target_write (&current_target, TARGET_OBJECT_SPU, annex,
+  target_write (current_top_target (), TARGET_OBJECT_SPU, annex,
 		(gdb_byte *) reg, 0, strlen (reg));
 }
 
@@ -278,15 +278,15 @@ spu_pseudo_register_write (struct gdbarc
   switch (regnum)
     {
     case SPU_SP_REGNUM:
-      regcache_raw_read (regcache, SPU_RAW_SP_REGNUM, reg);
+      regcache->raw_read (SPU_RAW_SP_REGNUM, reg);
       memcpy (reg, buf, 4);
-      regcache_raw_write (regcache, SPU_RAW_SP_REGNUM, reg);
+      regcache->raw_write (SPU_RAW_SP_REGNUM, reg);
       break;
 
     case SPU_FPSCR_REGNUM:
       regcache_raw_read_unsigned (regcache, SPU_ID_REGNUM, &id);
       xsnprintf (annex, sizeof annex, "%d/fpcr", (int) id);
-      target_write (&current_target, TARGET_OBJECT_SPU, annex, buf, 0, 16);
+      target_write (current_top_target (), TARGET_OBJECT_SPU, annex, buf, 0, 16);
       break;
 
     case SPU_SRR0_REGNUM:
@@ -1176,11 +1176,12 @@ spu_unwind_sp (struct gdbarch *gdbarch, 
 }
 
 static CORE_ADDR
-spu_read_pc (struct regcache *regcache)
+spu_read_pc (readable_regcache *regcache)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (regcache->arch ());
   ULONGEST pc;
-  regcache_cooked_read_unsigned (regcache, SPU_PC_REGNUM, &pc);
+
+  regcache->cooked_read (SPU_PC_REGNUM, &pc);
   /* Mask off interrupt enable bit.  */
   return SPUADDR (tdep->id, pc & -4);
 }
@@ -1202,7 +1203,7 @@ spu_write_pc (struct regcache *regcache,
 struct spu2ppu_cache
 {
   struct frame_id frame_id;
-  struct regcache *regcache;
+  readonly_detached_regcache *regcache;
 };
 
 static struct gdbarch *
@@ -1229,7 +1230,7 @@ spu2ppu_prev_register (struct frame_info
   gdb_byte *buf;
 
   buf = (gdb_byte *) alloca (register_size (gdbarch, regnum));
-  regcache_cooked_read (cache->regcache, regnum, buf);
+  cache->regcache->cooked_read (regnum, buf);
   return frame_unwind_got_bytes (this_frame, regnum, buf);
 }
 
@@ -1274,7 +1275,7 @@ spu2ppu_sniffer (const struct frame_unwi
 	{
 	  struct regcache *regcache;
 	  regcache = get_thread_arch_regcache (inferior_ptid, target_gdbarch ());
-	  cache->regcache = regcache_dup (regcache);
+	  cache->regcache = new readonly_detached_regcache (*regcache);
 	  *this_prologue_cache = cache;
 	  return 1;
 	}
@@ -1355,19 +1356,19 @@ spu_value_to_regcache (struct regcache *
   if (spu_scalar_value_p (type))
     {
       int preferred_slot = len < 4 ? 4 - len : 0;
-      regcache_cooked_write_part (regcache, regnum, preferred_slot, len, in);
+      regcache->cooked_write_part (regnum, preferred_slot, len, in);
     }
   else
     {
       while (len >= 16)
 	{
-	  regcache_cooked_write (regcache, regnum++, in);
+	  regcache->cooked_write (regnum++, in);
 	  in += 16;
 	  len -= 16;
 	}
 
       if (len > 0)
-	regcache_cooked_write_part (regcache, regnum, 0, len, in);
+	regcache->cooked_write_part (regnum, 0, len, in);
     }
 }
 
@@ -1380,19 +1381,19 @@ spu_regcache_to_value (struct regcache *
   if (spu_scalar_value_p (type))
     {
       int preferred_slot = len < 4 ? 4 - len : 0;
-      regcache_cooked_read_part (regcache, regnum, preferred_slot, len, out);
+      regcache->cooked_read_part (regnum, preferred_slot, len, out);
     }
   else
     {
       while (len >= 16)
 	{
-	  regcache_cooked_read (regcache, regnum++, out);
+	  regcache->cooked_read (regnum++, out);
 	  out += 16;
 	  len -= 16;
 	}
 
       if (len > 0)
-	regcache_cooked_read_part (regcache, regnum, 0, len, out);
+	regcache->cooked_read_part (regnum, 0, len, out);
     }
 }
 
@@ -1412,7 +1413,7 @@ spu_push_dummy_call (struct gdbarch *gdb
   /* Set the return address.  */
   memset (buf, 0, sizeof buf);
   store_unsigned_integer (buf, 4, byte_order, SPUADDR_ADDR (bp_addr));
-  regcache_cooked_write (regcache, SPU_LR_REGNUM, buf);
+  regcache->cooked_write (SPU_LR_REGNUM, buf);
 
   /* If STRUCT_RETURN is true, then the struct return address (in
      STRUCT_ADDR) will consume the first argument-passing register.
@@ -1421,7 +1422,7 @@ spu_push_dummy_call (struct gdbarch *gdb
     {
       memset (buf, 0, sizeof buf);
       store_unsigned_integer (buf, 4, byte_order, SPUADDR_ADDR (struct_addr));
-      regcache_cooked_write (regcache, regnum++, buf);
+      regcache->cooked_write (regnum++, buf);
     }
 
   /* Fill in argument registers.  */
@@ -1479,7 +1480,7 @@ spu_push_dummy_call (struct gdbarch *gdb
   sp -= 32;
 
   /* Store stack back chain.  */
-  regcache_cooked_read (regcache, SPU_RAW_SP_REGNUM, buf);
+  regcache->cooked_read (SPU_RAW_SP_REGNUM, buf);
   target_write_memory (sp, buf, 16);
 
   /* Finally, update all slots of the SP register.  */
@@ -1489,7 +1490,7 @@ spu_push_dummy_call (struct gdbarch *gdb
       CORE_ADDR sp_slot = extract_unsigned_integer (buf + 4*i, 4, byte_order);
       store_unsigned_integer (buf + 4*i, 4, byte_order, sp_slot + sp_delta);
     }
-  regcache_cooked_write (regcache, SPU_RAW_SP_REGNUM, buf);
+  regcache->cooked_write (SPU_RAW_SP_REGNUM, buf);
 
   return sp;
 }
@@ -1539,7 +1540,7 @@ spu_return_value (struct gdbarch *gdbarc
 	{
 	case RETURN_VALUE_REGISTER_CONVENTION:
 	  if (opencl_vector && TYPE_LENGTH (type) == 2)
-	    regcache_cooked_write_part (regcache, SPU_ARG1_REGNUM, 2, 2, in);
+	    regcache->cooked_write_part (SPU_ARG1_REGNUM, 2, 2, in);
 	  else
 	    spu_value_to_regcache (regcache, SPU_ARG1_REGNUM, type, in);
 	  break;
@@ -1555,7 +1556,7 @@ spu_return_value (struct gdbarch *gdbarc
 	{
 	case RETURN_VALUE_REGISTER_CONVENTION:
 	  if (opencl_vector && TYPE_LENGTH (type) == 2)
-	    regcache_cooked_read_part (regcache, SPU_ARG1_REGNUM, 2, 2, out);
+	    regcache->cooked_read_part (SPU_ARG1_REGNUM, 2, 2, out);
 	  else
 	    spu_regcache_to_value (regcache, SPU_ARG1_REGNUM, type, out);
 	  break;
@@ -1595,14 +1596,14 @@ spu_memory_remove_breakpoint (struct gdb
      -- this is not the correct behaviour.
 
      The workaround is to check whether the PID we are asked to remove this
-     breakpoint from (i.e. ptid_get_pid (inferior_ptid)) is different from the
+     breakpoint from (i.e. inferior_ptid.pid ()) is different from the
      PID of the current inferior (i.e. current_inferior ()->pid).  This is only
      true in the context of detach_breakpoints.  If so, we simply do nothing.
      [ Note that for the fork child process, it does not matter if breakpoints
      remain inserted, because those SPU contexts are not runnable anyway --
      the Linux kernel allows only the original process to invoke spu_run.  */
 
-  if (ptid_get_pid (inferior_ptid) != current_inferior ()->pid) 
+  if (inferior_ptid.pid () != current_inferior ()->pid) 
     return 0;
 
   return default_memory_remove_breakpoint (gdbarch, bp_tgt);
@@ -1654,7 +1655,7 @@ spu_software_single_step (struct regcach
 	target += SPUADDR_ADDR (pc);
       else if (reg != -1)
       {
-	regcache_raw_read_part (regcache, reg, 0, 4, buf);
+	regcache->raw_read_part (reg, 0, 4, buf);
 	target += extract_unsigned_integer (buf, 4, byte_order) & -4;
       }
 
@@ -2078,7 +2079,7 @@ info_spu_event_command (const char *args
   id = get_frame_register_unsigned (frame, SPU_ID_REGNUM);
 
   xsnprintf (annex, sizeof annex, "%d/event_status", id);
-  len = target_read (&current_target, TARGET_OBJECT_SPU, annex,
+  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 		     buf, 0, (sizeof (buf) - 1));
   if (len <= 0)
     error (_("Could not read event_status."));
@@ -2086,7 +2087,7 @@ info_spu_event_command (const char *args
   event_status = strtoulst ((char *) buf, NULL, 16);
  
   xsnprintf (annex, sizeof annex, "%d/event_mask", id);
-  len = target_read (&current_target, TARGET_OBJECT_SPU, annex,
+  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 		     buf, 0, (sizeof (buf) - 1));
   if (len <= 0)
     error (_("Could not read event_mask."));
@@ -2095,18 +2096,12 @@ info_spu_event_command (const char *args
  
   ui_out_emit_tuple tuple_emitter (current_uiout, "SPUInfoEvent");
 
-  if (current_uiout->is_mi_like_p ())
-    {
-      current_uiout->field_fmt ("event_status",
-				"0x%s", phex_nz (event_status, 4));
-      current_uiout->field_fmt ("event_mask",
-				"0x%s", phex_nz (event_mask, 4));
-    }
-  else
-    {
-      printf_filtered (_("Event Status 0x%s\n"), phex (event_status, 4));
-      printf_filtered (_("Event Mask   0x%s\n"), phex (event_mask, 4));
-    }
+  current_uiout->text (_("Event Status "));
+  current_uiout->field_fmt ("event_status", "0x%s", phex (event_status, 4));
+  current_uiout->text ("\n");
+  current_uiout->text (_("Event Mask   "));
+  current_uiout->field_fmt ("event_mask", "0x%s", phex (event_mask, 4));
+  current_uiout->text ("\n");
 }
 
 static void
@@ -2132,7 +2127,8 @@ info_spu_signal_command (const char *arg
   id = get_frame_register_unsigned (frame, SPU_ID_REGNUM);
 
   xsnprintf (annex, sizeof annex, "%d/signal1", id);
-  len = target_read (&current_target, TARGET_OBJECT_SPU, annex, buf, 0, 4);
+  len = target_read (current_top_target (), TARGET_OBJECT_SPU,
+		     annex, buf, 0, 4);
   if (len < 0)
     error (_("Could not read signal1."));
   else if (len == 4)
@@ -2142,7 +2138,7 @@ info_spu_signal_command (const char *arg
     }
     
   xsnprintf (annex, sizeof annex, "%d/signal1_type", id);
-  len = target_read (&current_target, TARGET_OBJECT_SPU, annex,
+  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 		     buf, 0, (sizeof (buf) - 1));
   if (len <= 0)
     error (_("Could not read signal1_type."));
@@ -2150,7 +2146,8 @@ info_spu_signal_command (const char *arg
   signal1_type = strtoulst ((char *) buf, NULL, 16);
 
   xsnprintf (annex, sizeof annex, "%d/signal2", id);
-  len = target_read (&current_target, TARGET_OBJECT_SPU, annex, buf, 0, 4);
+  len = target_read (current_top_target (), TARGET_OBJECT_SPU,
+		     annex, buf, 0, 4);
   if (len < 0)
     error (_("Could not read signal2."));
   else if (len == 4)
@@ -2160,7 +2157,7 @@ info_spu_signal_command (const char *arg
     }
     
   xsnprintf (annex, sizeof annex, "%d/signal2_type", id);
-  len = target_read (&current_target, TARGET_OBJECT_SPU, annex,
+  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 		     buf, 0, (sizeof (buf) - 1));
   if (len <= 0)
     error (_("Could not read signal2_type."));
@@ -2225,8 +2222,7 @@ info_spu_mailbox_list (gdb_byte *buf, in
 	current_uiout->field_fmt (field, "0x%s", phex (val, 4));
       }
 
-      if (!current_uiout->is_mi_like_p ())
-	printf_filtered ("\n");
+      current_uiout->text ("\n");
     }
 }
 
@@ -2249,7 +2245,7 @@ info_spu_mailbox_command (const char *ar
   ui_out_emit_tuple tuple_emitter (current_uiout, "SPUInfoMailbox");
 
   xsnprintf (annex, sizeof annex, "%d/mbox_info", id);
-  len = target_read (&current_target, TARGET_OBJECT_SPU, annex,
+  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 		     buf, 0, sizeof buf);
   if (len < 0)
     error (_("Could not read mbox_info."));
@@ -2258,7 +2254,7 @@ info_spu_mailbox_command (const char *ar
 			 "mbox", "SPU Outbound Mailbox");
 
   xsnprintf (annex, sizeof annex, "%d/ibox_info", id);
-  len = target_read (&current_target, TARGET_OBJECT_SPU, annex,
+  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 		     buf, 0, sizeof buf);
   if (len < 0)
     error (_("Could not read ibox_info."));
@@ -2267,7 +2263,7 @@ info_spu_mailbox_command (const char *ar
 			 "ibox", "SPU Outbound Interrupt Mailbox");
 
   xsnprintf (annex, sizeof annex, "%d/wbox_info", id);
-  len = target_read (&current_target, TARGET_OBJECT_SPU, annex,
+  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 		     buf, 0, sizeof buf);
   if (len < 0)
     error (_("Could not read wbox_info."));
@@ -2453,8 +2449,7 @@ info_spu_dma_cmdlist (gdb_byte *buf, int
 	  current_uiout->field_skip ("error_p");
       }
 
-      if (!current_uiout->is_mi_like_p ())
-	printf_filtered ("\n");
+      current_uiout->text ("\n");
     }
 }
 
@@ -2480,7 +2475,7 @@ info_spu_dma_command (const char *args, 
   id = get_frame_register_unsigned (frame, SPU_ID_REGNUM);
 
   xsnprintf (annex, sizeof annex, "%d/dma_info", id);
-  len = target_read (&current_target, TARGET_OBJECT_SPU, annex,
+  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 		     buf, 0, 40 + 16 * 32);
   if (len <= 0)
     error (_("Could not read dma_info."));
@@ -2557,7 +2552,7 @@ info_spu_proxydma_command (const char *a
   id = get_frame_register_unsigned (frame, SPU_ID_REGNUM);
 
   xsnprintf (annex, sizeof annex, "%d/proxydma_info", id);
-  len = target_read (&current_target, TARGET_OBJECT_SPU, annex,
+  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
 		     buf, 0, 24 + 8 * 32);
   if (len <= 0)
     error (_("Could not read proxydma_info."));
@@ -2770,14 +2765,14 @@ _initialize_spu_tdep (void)
   register_gdbarch_init (bfd_arch_spu, spu_gdbarch_init);
 
   /* Add ourselves to objfile event chain.  */
-  observer_attach_new_objfile (spu_overlay_new_objfile);
+  gdb::observers::new_objfile.attach (spu_overlay_new_objfile);
   spu_overlay_data = register_objfile_data ();
 
   /* Install spu stop-on-load handler.  */
-  observer_attach_new_objfile (spu_catch_start);
+  gdb::observers::new_objfile.attach (spu_catch_start);
 
   /* Add ourselves to normal_stop event chain.  */
-  observer_attach_normal_stop (spu_attach_normal_stop);
+  gdb::observers::normal_stop.attach (spu_attach_normal_stop);
 
   /* Add root prefix command for all "set spu"/"show spu" commands.  */
   add_prefix_cmd ("spu", no_class, set_spu_command,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/stabsread.c ./gdb/stabsread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/stabsread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/stabsread.c	2018-07-10 02:06:13.000000000 +0000
@@ -164,21 +164,20 @@ static const char vb_name[] = "_vb$";
 static void
 invalid_cpp_abbrev_complaint (const char *arg1)
 {
-  complaint (&symfile_complaints, _("invalid C++ abbreviation `%s'"), arg1);
+  complaint (_("invalid C++ abbreviation `%s'"), arg1);
 }
 
 static void
 reg_value_complaint (int regnum, int num_regs, const char *sym)
 {
-  complaint (&symfile_complaints,
-	     _("bad register number %d (max %d) in symbol %s"),
+  complaint (_("bad register number %d (max %d) in symbol %s"),
              regnum, num_regs - 1, sym);
 }
 
 static void
 stabs_general_complaint (const char *arg1)
 {
-  complaint (&symfile_complaints, "%s", arg1);
+  complaint ("%s", arg1);
 }
 
 /* Make a list of forward references which haven't been defined.  */
@@ -249,8 +248,7 @@ dbx_lookup_type (int typenums[2], struct
 
   if (filenum < 0 || filenum >= n_this_object_header_files)
     {
-      complaint (&symfile_complaints,
-		 _("Invalid symbol data: type number "
+      complaint (_("Invalid symbol data: type number "
 		   "(%d,%d) out of range at symtab pos %d."),
 		 filenum, index, symnum);
       goto error_return;
@@ -673,7 +671,7 @@ define_symbol (CORE_ADDR valu, const cha
       p = strchr (p, ':');
       if (p == NULL)
 	{
-	  complaint (&symfile_complaints, 
+	  complaint (
 		     _("Bad stabs string '%s'"), string);
 	  return NULL;
 	}
@@ -723,10 +721,10 @@ define_symbol (CORE_ADDR valu, const cha
 	  /* SunPRO (3.0 at least) static variable encoding.  */
 	  if (gdbarch_static_transform_name_p (gdbarch))
 	    goto normal;
-	  /* ... fall through ...  */
+	  /* fall through */
 
 	default:
-	  complaint (&symfile_complaints, _("Unknown C++ symbol name `%s'"),
+	  complaint (_("Unknown C++ symbol name `%s'"),
 		     string);
 	  goto normal;		/* Do *something* with it.  */
 	}
@@ -1100,6 +1098,7 @@ define_symbol (CORE_ADDR valu, const cha
 	    }
 	  break;
 	}
+      /* Fall through.  */
 
     case 'P':
       /* acc seems to use P to declare the prototypes of functions that
@@ -1246,7 +1245,7 @@ define_symbol (CORE_ADDR valu, const cha
 	    for (j = TYPE_N_BASECLASSES (SYMBOL_TYPE (sym)) - 1; j >= 0; j--)
 	      if (TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), j) == 0)
 		TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), j) =
-		  type_name_no_tag (TYPE_BASECLASS (SYMBOL_TYPE (sym), j));
+		  TYPE_NAME (TYPE_BASECLASS (SYMBOL_TYPE (sym), j));
 	  }
 
       if (TYPE_NAME (SYMBOL_TYPE (sym)) == NULL)
@@ -1344,8 +1343,8 @@ define_symbol (CORE_ADDR valu, const cha
       SYMBOL_ACLASS_INDEX (sym) = LOC_TYPEDEF;
       SYMBOL_VALUE (sym) = valu;
       SYMBOL_DOMAIN (sym) = STRUCT_DOMAIN;
-      if (TYPE_TAG_NAME (SYMBOL_TYPE (sym)) == 0)
-	TYPE_TAG_NAME (SYMBOL_TYPE (sym))
+      if (TYPE_NAME (SYMBOL_TYPE (sym)) == 0)
+	TYPE_NAME (SYMBOL_TYPE (sym))
 	  = obconcat (&objfile->objfile_obstack,
 		      SYMBOL_LINKAGE_NAME (sym),
 		      (char *) NULL);
@@ -1489,8 +1488,7 @@ define_symbol (CORE_ADDR valu, const cha
 static struct type *
 error_type (const char **pp, struct objfile *objfile)
 {
-  complaint (&symfile_complaints,
-	     _("couldn't parse type; debugger out of date?"));
+  complaint (_("couldn't parse type; debugger out of date?"));
   while (1)
     {
       /* Skip to end of symbol.  */
@@ -1610,8 +1608,7 @@ again:
 	      {
 		/* Complain and keep going, so compilers can invent new
 		   cross-reference types.  */
-		complaint (&symfile_complaints,
-			   _("Unrecognized cross-reference type `%c'"),
+		complaint (_("Unrecognized cross-reference type `%c'"),
 			   (*pp)[0]);
 		code = TYPE_CODE_STRUCT;
 		break;
@@ -1702,7 +1699,7 @@ again:
 	   type.  */
 	type = dbx_alloc_type (typenums, objfile);
 	TYPE_CODE (type) = code;
-	TYPE_TAG_NAME (type) = type_name;
+	TYPE_NAME (type) = type_name;
 	INIT_CPLUS_SPECIFIC (type);
 	TYPE_STUB (type) = 1;
 
@@ -1767,7 +1764,6 @@ again:
                copies of a type otherwise.  */
 	    replace_type (type, xtype);
 	    TYPE_NAME (type) = NULL;
-	    TYPE_TAG_NAME (type) = NULL;
 	  }
 	else
 	  {
@@ -1841,8 +1837,7 @@ again:
           ++*pp;
         else
           {
-	    complaint (&symfile_complaints,
-		       _("Prototyped function type didn't "
+	    complaint (_("Prototyped function type didn't "
 			 "end arguments with `#':\n%s"),
 		       type_start);
           }
@@ -1954,8 +1949,7 @@ again:
 	  (*pp)++;
 	  return_type = read_type (pp, objfile);
 	  if (*(*pp)++ != ';')
-	    complaint (&symfile_complaints,
-		       _("invalid (minimal) member type "
+	    complaint (_("invalid (minimal) member type "
 			 "data format at symtab pos %d."),
 		       symnum);
 	  type = allocate_stub_method (return_type);
@@ -2087,7 +2081,7 @@ rs6000_builtin_type (int typenum, struct
 
   if (typenum >= 0 || typenum < -NUMBER_RECOGNIZED)
     {
-      complaint (&symfile_complaints, _("Unknown builtin type %d"), typenum);
+      complaint (_("Unknown builtin type %d"), typenum);
       return objfile_type (objfile)->builtin_error;
     }
 
@@ -2253,8 +2247,7 @@ stabs_method_name_from_physname (const c
 
   if (method_name == NULL)
     {
-      complaint (&symfile_complaints,
-		 _("Method has bad physname %s\n"), physname);
+      complaint (_("Method has bad physname %s\n"), physname);
       return NULL;
     }
 
@@ -2445,8 +2438,7 @@ read_member_functions (struct field_info
 	    case '.':
 	      break;
 	    default:
-	      complaint (&symfile_complaints,
-			 _("const/volatile indicator missing, got '%c'"),
+	      complaint (_("const/volatile indicator missing, got '%c'"),
 			 **pp);
 	      break;
 	    }
@@ -2529,10 +2521,10 @@ read_member_functions (struct field_info
 
 	    default:
 	      /* error */
-	      complaint (&symfile_complaints,
-			 _("member function type missing, got '%c'"),
+	      complaint (_("member function type missing, got '%c'"),
 			 (*pp)[-1]);
-	      /* Fall through into normal member function.  */
+	      /* Normal member function.  */
+	      /* Fall through.  */
 
 	    case '.':
 	      /* normal member function.  */
@@ -2731,11 +2723,8 @@ read_member_functions (struct field_info
 	      xfree (main_fn_name);
 	    }
 
-	  new_fnlist->fn_fieldlist.fn_fields = (struct fn_field *)
-	    obstack_alloc (&objfile->objfile_obstack,
-			   sizeof (struct fn_field) * length);
-	  memset (new_fnlist->fn_fieldlist.fn_fields, 0,
-		  sizeof (struct fn_field) * length);
+	  new_fnlist->fn_fieldlist.fn_fields
+	    = OBSTACK_CALLOC (&objfile->objfile_obstack, length, fn_field);
 	  for (i = length; (i--, sublist); sublist = sublist->next)
 	    {
 	      new_fnlist->fn_fieldlist.fn_fields[i] = sublist->fn_field;
@@ -2793,7 +2782,7 @@ read_cpp_abbrev (struct field_info *fip,
       switch (cpp_abbrev)
 	{
 	case 'f':		/* $vf -- a virtual function table pointer */
-	  name = type_name_no_tag (context);
+	  name = TYPE_NAME (context);
 	  if (name == NULL)
 	    {
 	      name = "";
@@ -2803,11 +2792,10 @@ read_cpp_abbrev (struct field_info *fip,
 	  break;
 
 	case 'b':		/* $vb -- a virtual bsomethingorother */
-	  name = type_name_no_tag (context);
+	  name = TYPE_NAME (context);
 	  if (name == NULL)
 	    {
-	      complaint (&symfile_complaints,
-			 _("C++ abbreviated type name "
+	      complaint (_("C++ abbreviated type name "
 			   "unknown at symtab pos %d"),
 			 symnum);
 	      name = "FOO";
@@ -3168,8 +3156,7 @@ read_baseclasses (struct field_info *fip
 	default:
 	  /* Unknown character.  Complain and treat it as non-virtual.  */
 	  {
-	    complaint (&symfile_complaints,
-		       _("Unknown virtual character `%c' for baseclass"),
+	    complaint (_("Unknown virtual character `%c' for baseclass"),
 		       **pp);
 	  }
 	}
@@ -3186,8 +3173,7 @@ read_baseclasses (struct field_info *fip
 	  /* Bad visibility format.  Complain and treat it as
 	     public.  */
 	  {
-	    complaint (&symfile_complaints,
-		       _("Unknown visibility `%c' for baseclass"),
+	    complaint (_("Unknown visibility `%c' for baseclass"),
 		       newobj->visibility);
 	    newobj->visibility = VISIBILITY_PUBLIC;
 	  }
@@ -3210,7 +3196,7 @@ read_baseclasses (struct field_info *fip
          field's name.  */
 
       newobj->field.type = read_type (pp, objfile);
-      newobj->field.name = type_name_no_tag (newobj->field.type);
+      newobj->field.name = TYPE_NAME (newobj->field.type);
 
       /* Skip trailing ';' and bump count of number of fields seen.  */
       if (**pp == ';')
@@ -3295,8 +3281,7 @@ read_tilde_fields (struct field_info *fi
 		    }
 		}
 	      /* Virtual function table field not found.  */
-	      complaint (&symfile_complaints,
-			 _("virtual function table pointer "
+	      complaint (_("virtual function table pointer "
 			   "not found when defining class `%s'"),
 			 TYPE_NAME (type));
 	      return 0;
@@ -3408,8 +3393,7 @@ attach_fields_to_type (struct field_info
 	default:
 	  /* Unknown visibility.  Complain and treat it as public.  */
 	  {
-	    complaint (&symfile_complaints,
-		       _("Unknown visibility `%c' for field"),
+	    complaint (_("Unknown visibility `%c' for field"),
 		       fip->list->visibility);
 	  }
 	  break;
@@ -3428,9 +3412,9 @@ complain_about_struct_wipeout (struct ty
   const char *name = "";
   const char *kind = "";
 
-  if (TYPE_TAG_NAME (type))
+  if (TYPE_NAME (type))
     {
-      name = TYPE_TAG_NAME (type);
+      name = TYPE_NAME (type);
       switch (TYPE_CODE (type))
         {
         case TYPE_CODE_STRUCT: kind = "struct "; break;
@@ -3439,19 +3423,13 @@ complain_about_struct_wipeout (struct ty
         default: kind = "";
         }
     }
-  else if (TYPE_NAME (type))
-    {
-      name = TYPE_NAME (type);
-      kind = "";
-    }
   else
     {
       name = "<unknown>";
       kind = "";
     }
 
-  complaint (&symfile_complaints,
-	     _("struct/union type gets multiply defined: %s%s"), kind, name);
+  complaint (_("struct/union type gets multiply defined: %s%s"), kind, name);
 }
 
 /* Set the length for all variants of a same main_type, which are
@@ -4252,8 +4230,7 @@ handle_true_range:
       /* Does this actually ever happen?  Is that why we are worrying
          about dealing with it rather than just calling error_type?  */
 
-      complaint (&symfile_complaints,
-		 _("base type %d of range type is not defined"), rangenums[1]);
+      complaint (_("base type %d of range type is not defined"), rangenums[1]);
 
       index_type = objfile_type (objfile)->builtin_int;
     }
@@ -4294,7 +4271,7 @@ read_args (const char **pp, int end, str
 	 have been present ";-16,(0,43)" reference instead.  This way the
 	 excessive ";" marker prematurely stops the parameters parsing.  */
 
-      complaint (&symfile_complaints, _("Invalid (empty) method arguments"));
+      complaint (_("Invalid (empty) method arguments"));
       *varargsp = 0;
     }
   else if (TYPE_CODE (types[n - 1]) != TYPE_CODE_VOID)
@@ -4336,8 +4313,7 @@ common_block_start (const char *name, st
 {
   if (common_block_name != NULL)
     {
-      complaint (&symfile_complaints,
-		 _("Invalid symbol data: common block within common block"));
+      complaint (_("Invalid symbol data: common block within common block"));
     }
   common_block = local_symbols;
   common_block_i = local_symbols ? local_symbols->nsyms : 0;
@@ -4363,7 +4339,7 @@ common_block_end (struct objfile *objfil
 
   if (common_block_name == NULL)
     {
-      complaint (&symfile_complaints, _("ECOMM symbol unmatched by BCOMM"));
+      complaint (_("ECOMM symbol unmatched by BCOMM"));
       return;
     }
 
@@ -4476,7 +4452,7 @@ add_undefined_type_1 (struct type *type)
 static void
 add_undefined_type (struct type *type, int typenums[2])
 {
-  if (TYPE_TAG_NAME (type) == NULL)
+  if (TYPE_NAME (type) == NULL)
     add_undefined_type_noname (type, typenums);
   else
     add_undefined_type_1 (type);
@@ -4561,11 +4537,11 @@ cleanup_undefined_types_1 (void)
 		struct pending *ppt;
 		int i;
 		/* Name of the type, without "struct" or "union".  */
-		const char *type_name = TYPE_TAG_NAME (*type);
+		const char *type_name = TYPE_NAME (*type);
 
 		if (type_name == NULL)
 		  {
-		    complaint (&symfile_complaints, _("need a type name"));
+		    complaint (_("need a type name"));
 		    break;
 		  }
 		for (ppt = file_symbols; ppt; ppt = ppt->next)
@@ -4591,8 +4567,7 @@ cleanup_undefined_types_1 (void)
 
 	default:
 	  {
-	    complaint (&symfile_complaints,
-		       _("forward-referenced types left unresolved, "
+	    complaint (_("forward-referenced types left unresolved, "
                        "type code %d."),
 		       TYPE_CODE (*type));
 	  }
@@ -4743,8 +4718,7 @@ scan_file_globals (struct objfile *objfi
 	  if (SYMBOL_CLASS (prev) == LOC_STATIC)
 	    SYMBOL_ACLASS_INDEX (prev) = LOC_UNRESOLVED;
 	  else
-	    complaint (&symfile_complaints,
-		       _("%s: common block `%s' from "
+	    complaint (_("%s: common block `%s' from "
 			 "global_sym_chain unresolved"),
 		       objfile_name (objfile), SYMBOL_PRINT_NAME (prev));
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/stack.c ./gdb/stack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/stack.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/stack.c	2018-07-10 02:06:13.000000000 +0000
@@ -51,7 +51,7 @@
 #include "safe-ctype.h"
 #include "symfile.h"
 #include "extension.h"
-#include "observer.h"
+#include "observable.h"
 #include "common/def-vector.h"
 
 /* The possible choices of "set print frame-arguments", and the value
@@ -134,7 +134,7 @@ frame_show_address (struct frame_info *f
   if (sal.line != 0 && sal.pc == 0 && sal.end == 0)
     {
       if (get_next_frame (frame) == NULL)
-	gdb_assert (inline_skipped_frames (inferior_ptid) > 0);
+	gdb_assert (inline_skipped_frames (inferior_thread ()) > 0);
       else
 	gdb_assert (get_frame_type (get_next_frame (frame)) == INLINE_FRAME);
       return 0;
@@ -777,7 +777,7 @@ do_gdb_disassembly (struct gdbarch *gdba
    
    SRC_LINE: Print only source line.
    LOCATION: Print only location.
-   LOC_AND_SRC: Print location and source line.
+   SRC_AND_LOC: Print location and source line.
 
    Used in "where" output, and to emit breakpoint or step
    messages.  */
@@ -1645,7 +1645,6 @@ info_frame_command (const char *addr_exp
 	      }
 
 	    release_value (value);
-	    value_free (value);
 	    need_nl = 0;
 	  }
 	/* else keep quiet.  */
@@ -1692,59 +1691,28 @@ info_frame_command (const char *addr_exp
    frames.  */
 
 static void
-backtrace_command_1 (const char *count_exp, int show_locals, int no_filters,
-		     int from_tty)
+backtrace_command_1 (const char *count_exp, frame_filter_flags flags,
+		     int no_filters, int from_tty)
 {
   struct frame_info *fi;
   int count;
-  int i;
-  struct frame_info *trailing;
-  int trailing_level, py_start = 0, py_end = 0;
+  int py_start = 0, py_end = 0;
   enum ext_lang_bt_status result = EXT_LANG_BT_ERROR;
 
   if (!target_has_stack)
     error (_("No stack."));
 
-  /* The following code must do two things.  First, it must set the
-     variable TRAILING to the frame from which we should start
-     printing.  Second, it must set the variable count to the number
-     of frames which we should print, or -1 if all of them.  */
-  trailing = get_current_frame ();
-
-  trailing_level = 0;
   if (count_exp)
     {
       count = parse_and_eval_long (count_exp);
       if (count < 0)
-	{
-	  struct frame_info *current;
-
-	  py_start = count;
-	  count = -count;
-
-	  current = trailing;
-	  while (current && count--)
-	    {
-	      QUIT;
-	      current = get_prev_frame (current);
-	    }
-
-	  /* Will stop when CURRENT reaches the top of the stack.
-	     TRAILING will be COUNT below it.  */
-	  while (current)
-	    {
-	      QUIT;
-	      trailing = get_prev_frame (trailing);
-	      current = get_prev_frame (current);
-	      trailing_level++;
-	    }
-
-	  count = -1;
-	}
+	py_start = count;
       else
 	{
 	  py_start = 0;
-	  py_end = count;
+	  /* The argument to apply_ext_lang_frame_filter is the number
+	     of the final frame to print, and frames start at 0.  */
+	  py_end = count - 1;
 	}
     }
   else
@@ -1753,31 +1721,13 @@ backtrace_command_1 (const char *count_e
       count = -1;
     }
 
-  if (info_verbose)
-    {
-      /* Read in symbols for all of the frames.  Need to do this in a
-         separate pass so that "Reading in symbols for xxx" messages
-         don't screw up the appearance of the backtrace.  Also if
-         people have strong opinions against reading symbols for
-         backtrace this may have to be an option.  */
-      i = count;
-      for (fi = trailing; fi != NULL && i--; fi = get_prev_frame (fi))
-	{
-	  CORE_ADDR pc;
-
-	  QUIT;
-	  pc = get_frame_address_in_block (fi);
-	  expand_symtab_containing_pc (pc, find_pc_mapped_section (pc));
-	}
-    }
-
   if (! no_filters)
     {
-      int flags = PRINT_LEVEL | PRINT_FRAME_INFO | PRINT_ARGS;
       enum ext_lang_frame_args arg_type;
 
-      if (show_locals)
-	flags |= PRINT_LOCALS;
+      flags |= PRINT_LEVEL | PRINT_FRAME_INFO | PRINT_ARGS;
+      if (from_tty)
+	flags |= PRINT_MORE_FRAMES;
 
       if (!strcmp (print_frame_arguments, "scalars"))
 	arg_type = CLI_SCALAR_VALUES;
@@ -1795,7 +1745,40 @@ backtrace_command_1 (const char *count_e
      "no-filters" has been specified from the command.  */
   if (no_filters ||  result == EXT_LANG_BT_NO_FILTERS)
     {
-      for (i = 0, fi = trailing; fi && count--; i++, fi = get_prev_frame (fi))
+      struct frame_info *trailing;
+
+      /* The following code must do two things.  First, it must set the
+	 variable TRAILING to the frame from which we should start
+	 printing.  Second, it must set the variable count to the number
+	 of frames which we should print, or -1 if all of them.  */
+      trailing = get_current_frame ();
+
+      if (count_exp != NULL && count < 0)
+	{
+	  struct frame_info *current;
+
+	  count = -count;
+
+	  current = trailing;
+	  while (current && count--)
+	    {
+	      QUIT;
+	      current = get_prev_frame (current);
+	    }
+
+	  /* Will stop when CURRENT reaches the top of the stack.
+	     TRAILING will be COUNT below it.  */
+	  while (current)
+	    {
+	      QUIT;
+	      trailing = get_prev_frame (trailing);
+	      current = get_prev_frame (current);
+	    }
+
+	  count = -1;
+	}
+
+      for (fi = trailing; fi && count--; fi = get_prev_frame (fi))
 	{
 	  QUIT;
 
@@ -1805,7 +1788,7 @@ backtrace_command_1 (const char *count_e
 	     the frame->prev field gets set to NULL in that case).  */
 
 	  print_frame_info (fi, 1, LOCATION, 1, 0);
-	  if (show_locals)
+	  if ((flags & PRINT_LOCALS) != 0)
 	    {
 	      struct frame_id frame_id = get_frame_id (fi);
 
@@ -1846,61 +1829,40 @@ backtrace_command_1 (const char *count_e
 static void
 backtrace_command (const char *arg, int from_tty)
 {
-  int fulltrace_arg = -1, arglen = 0, argc = 0, no_filters  = -1;
-  int user_arg = 0;
+  bool filters = true;
+  frame_filter_flags flags = 0;
 
-  std::string reconstructed_arg;
   if (arg)
     {
-      char **argv;
-      int i;
+      bool done = false;
 
-      gdb_argv built_argv (arg);
-      argv = built_argv.get ();
-      argc = 0;
-      for (i = 0; argv[i]; i++)
+      while (!done)
 	{
-	  unsigned int j;
+	  const char *save_arg = arg;
+	  std::string this_arg = extract_arg (&arg);
 
-	  for (j = 0; j < strlen (argv[i]); j++)
-	    argv[i][j] = TOLOWER (argv[i][j]);
+	  if (this_arg.empty ())
+	    break;
 
-	  if (no_filters < 0 && subset_compare (argv[i], "no-filters"))
-	    no_filters = argc;
+	  if (subset_compare (this_arg.c_str (), "no-filters"))
+	    filters = false;
+	  else if (subset_compare (this_arg.c_str (), "full"))
+	    flags |= PRINT_LOCALS;
+	  else if (subset_compare (this_arg.c_str (), "hide"))
+	    flags |= PRINT_HIDE;
 	  else
 	    {
-	      if (fulltrace_arg < 0 && subset_compare (argv[i], "full"))
-		fulltrace_arg = argc;
-	      else
-		{
-		  user_arg++;
-		  arglen += strlen (argv[i]);
-		}
+	      /* Not a recognized argument, so stop.  */
+	      arg = save_arg;
+	      done = true;
 	    }
-	  argc++;
-	}
-      arglen += user_arg;
-      if (fulltrace_arg >= 0 || no_filters >= 0)
-	{
-	  if (arglen > 0)
-	    {
-	      for (i = 0; i < argc; i++)
-		{
-		  if (i != fulltrace_arg && i != no_filters)
-		    {
-		      reconstructed_arg += argv[i];
-		      reconstructed_arg += " ";
-		    }
-		}
-	      arg = reconstructed_arg.c_str ();
-	    }
-	  else
-	    arg = NULL;
 	}
+
+      if (*arg == '\0')
+	arg = NULL;
     }
 
-  backtrace_command_1 (arg, fulltrace_arg >= 0 /* show_locals */,
-		       no_filters >= 0 /* no frame-filters */, from_tty);
+  backtrace_command_1 (arg, flags, !filters /* no frame-filters */, from_tty);
 }
 
 /* Iterate over the local variables of a block B, calling CB with
@@ -2056,7 +2018,6 @@ print_frame_local_vars (struct frame_inf
   struct print_variable_and_value_data cb_data;
   const struct block *block;
   CORE_ADDR pc;
-  struct gdb_exception except = exception_none;
 
   if (!get_frame_pc_if_available (frame, &pc))
     {
@@ -2080,27 +2041,12 @@ print_frame_local_vars (struct frame_inf
   /* Temporarily change the selected frame to the given FRAME.
      This allows routines that rely on the selected frame instead
      of being given a frame as parameter to use the correct frame.  */
+  scoped_restore_selected_frame restore_selected_frame;
   select_frame (frame);
 
-  TRY
-    {
-      iterate_over_block_local_vars (block,
-				     do_print_variable_and_value,
-				     &cb_data);
-    }
-  CATCH (ex, RETURN_MASK_ALL)
-    {
-      except = ex;
-    }
-  END_CATCH
-
-  /* Restore the selected frame, and then rethrow if there was a problem.  */
-  select_frame (frame_find_by_id (cb_data.frame_id));
-  if (except.reason < 0)
-    throw_exception (except);
-
-  /* do_print_variable_and_value invalidates FRAME.  */
-  frame = NULL;
+  iterate_over_block_local_vars (block,
+				 do_print_variable_and_value,
+				 &cb_data);
 
   if (!cb_data.values_printed)
     fprintf_filtered (stream, _("No locals.\n"));
@@ -2113,9 +2059,7 @@ info_locals_command (const char *args, i
 			  0, gdb_stdout);
 }
 
-/* Iterate over all the argument variables in block B.
-
-   Returns 1 if any argument was walked; 0 otherwise.  */
+/* Iterate over all the argument variables in block B.  */
 
 void
 iterate_over_block_arg_vars (const struct block *b,
@@ -2175,7 +2119,7 @@ print_frame_arg_vars (struct frame_info 
 
   cb_data.frame_id = get_frame_id (frame);
   cb_data.num_tabs = 0;
-  cb_data.stream = gdb_stdout;
+  cb_data.stream = stream;
   cb_data.values_printed = 0;
 
   iterate_over_block_arg_vars (SYMBOL_BLOCK_VALUE (func),
@@ -2194,16 +2138,6 @@ info_args_command (const char *ignore, i
   print_frame_arg_vars (get_selected_frame (_("No frame selected.")),
 			gdb_stdout);
 }
-
-/* Select frame FRAME.  Also print the stack frame and show the source
-   if this is the tui version.  */
-static void
-select_and_print_frame (struct frame_info *frame)
-{
-  select_frame (frame);
-  if (frame)
-    print_stack_frame (frame, 1, SRC_AND_LOC, 1);
-}
 
 /* Return the symbol-block in which the selected frame is executing.
    Can return zero under various legitimate circumstances.
@@ -2273,7 +2207,7 @@ select_frame_command (const char *level_
 
   select_frame (parse_frame_specification (level_exp, NULL));
   if (get_selected_frame_if_set () != prev_frame)
-    observer_notify_user_selected_context_changed (USER_SELECTED_FRAME);
+    gdb::observers::user_selected_context_changed.notify (USER_SELECTED_FRAME);
 }
 
 /* The "frame" command.  With no argument, print the selected frame
@@ -2287,7 +2221,7 @@ frame_command (const char *level_exp, in
 
   select_frame (parse_frame_specification (level_exp, NULL));
   if (get_selected_frame_if_set () != prev_frame)
-    observer_notify_user_selected_context_changed (USER_SELECTED_FRAME);
+    gdb::observers::user_selected_context_changed.notify (USER_SELECTED_FRAME);
   else
     print_selected_thread_frame (current_uiout, USER_SELECTED_FRAME);
 }
@@ -2320,7 +2254,7 @@ static void
 up_command (const char *count_exp, int from_tty)
 {
   up_silently_base (count_exp);
-  observer_notify_user_selected_context_changed (USER_SELECTED_FRAME);
+  gdb::observers::user_selected_context_changed.notify (USER_SELECTED_FRAME);
 }
 
 /* Select the frame down one or COUNT_EXP stack levels from the previously
@@ -2359,7 +2293,7 @@ static void
 down_command (const char *count_exp, int from_tty)
 {
   down_silently_base (count_exp);
-  observer_notify_user_selected_context_changed (USER_SELECTED_FRAME);
+  gdb::observers::user_selected_context_changed.notify (USER_SELECTED_FRAME);
 }
 
 void
@@ -2489,29 +2423,30 @@ return_command (const char *retval_exp, 
     print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC, 1);
 }
 
-/* Sets the scope to input function name, provided that the function
-   is within the current stack frame.  */
+/* Find the most inner frame in the current stack for a function called
+   FUNCTION_NAME.  If no matching frame is found return NULL.  */
 
-struct function_bounds
-{
-  CORE_ADDR low, high;
-};
-
-static void
-func_command (const char *arg, int from_tty)
+static struct frame_info *
+find_frame_for_function (const char *function_name)
 {
+  /* Used to hold the lower and upper addresses for each of the
+     SYMTAB_AND_LINEs found for functions matching FUNCTION_NAME.  */
+  struct function_bounds
+  {
+    CORE_ADDR low, high;
+  };
   struct frame_info *frame;
-  int found = 0;
+  bool found = false;
   int level = 1;
 
-  if (arg == NULL)
-    return;
+  gdb_assert (function_name != NULL);
 
   frame = get_current_frame ();
   std::vector<symtab_and_line> sals
-    = decode_line_with_current_source (arg, DECODE_LINE_FUNFIRSTLINE);
+    = decode_line_with_current_source (function_name,
+				       DECODE_LINE_FUNFIRSTLINE);
   gdb::def_vector<function_bounds> func_bounds (sals.size ());
-  for (size_t i = 0; (i < sals.size () && !found); i++)
+  for (size_t i = 0; i < sals.size (); i++)
     {
       if (sals[i].pspace != current_program_space)
 	func_bounds[i].low = func_bounds[i].high = 0;
@@ -2519,9 +2454,7 @@ func_command (const char *arg, int from_
 	       || find_pc_partial_function (sals[i].pc, NULL,
 					    &func_bounds[i].low,
 					    &func_bounds[i].high) == 0)
-	{
-	  func_bounds[i].low = func_bounds[i].high = 0;
-	}
+	func_bounds[i].low = func_bounds[i].high = 0;
     }
 
   do
@@ -2538,9 +2471,27 @@ func_command (const char *arg, int from_
   while (!found && level == 0);
 
   if (!found)
-    printf_filtered (_("'%s' not within current stack frame.\n"), arg);
-  else if (frame != get_selected_frame (NULL))
-    select_and_print_frame (frame);
+    frame = NULL;
+
+  return frame;
+}
+
+/* Implements the dbx 'func' command.  */
+
+static void
+func_command (const char *arg, int from_tty)
+{
+  if (arg == NULL)
+    return;
+
+  struct frame_info *frame = find_frame_for_function (arg);
+  if (frame == NULL)
+    error (_("'%s' not within current stack frame."), arg);
+  if (frame != get_selected_frame (NULL))
+    {
+      select_frame (frame);
+      print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC, 1);
+    }
 }
 
 void
@@ -2572,22 +2523,23 @@ This is useful in command scripts."));
 Select and print a stack frame.\nWith no argument, \
 print the selected stack frame.  (See also \"info frame\").\n\
 An argument specifies the frame to select.\n\
-It can be a stack frame number or the address of the frame.\n"));
+It can be a stack frame number or the address of the frame."));
 
   add_com_alias ("f", "frame", class_stack, 1);
 
   add_com_suppress_notification ("select-frame", class_stack, select_frame_command, _("\
 Select a stack frame without printing anything.\n\
 An argument specifies the frame to select.\n\
-It can be a stack frame number or the address of the frame.\n"),
+It can be a stack frame number or the address of the frame."),
 		 &cli_suppress_notification.user_selected_context);
 
   add_com ("backtrace", class_stack, backtrace_command, _("\
 Print backtrace of all stack frames, or innermost COUNT frames.\n\
-With a negative argument, print outermost -COUNT frames.\nUse of the \
-'full' qualifier also prints the values of the local variables.\n\
+Usage: backtrace [QUALIFIERS]... [COUNT]\n\
+With a negative argument, print outermost -COUNT frames.\n\
+Use of the 'full' qualifier also prints the values of the local variables.\n\
 Use of the 'no-filters' qualifier prohibits frame filters from executing\n\
-on this backtrace.\n"));
+on this backtrace."));
   add_com_alias ("bt", "backtrace", class_stack, 0);
 
   add_com_alias ("where", "backtrace", class_alias, 0);
@@ -2604,8 +2556,8 @@ on this backtrace.\n"));
 
   if (dbx_commands)
     add_com ("func", class_stack, func_command, _("\
-Select the stack frame that contains <func>.\n\
-Usage: func <name>\n"));
+Select the stack frame that contains NAME.\n\
+Usage: func NAME"));
 
   add_setshow_enum_cmd ("frame-arguments", class_stack,
 			print_frame_arguments_choices, &print_frame_arguments,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/stap-probe.c ./gdb/stap-probe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/stap-probe.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/stap-probe.c	2018-07-10 02:06:13.000000000 +0000
@@ -1512,7 +1512,7 @@ handle_stap_probe (struct objfile *objfi
   /* Making sure there is a name.  */
   if (name == NULL)
     {
-      complaint (&symfile_complaints, _("corrupt probe name when "
+      complaint (_("corrupt probe name when "
 					"reading `%s'"),
 		 objfile_name (objfile));
 
@@ -1549,7 +1549,7 @@ handle_stap_probe (struct objfile *objfi
       || (memchr (probe_args, '\0', (char *) el->data + el->size - name)
 	  != el->data + el->size - 1))
     {
-      complaint (&symfile_complaints, _("corrupt probe argument when "
+      complaint (_("corrupt probe argument when "
 					"reading `%s'"),
 		 objfile_name (objfile));
       /* If the argument string is NULL, it means some problem happened with
@@ -1590,7 +1590,7 @@ get_stap_base_address (bfd *obfd, bfd_vm
 
   if (ret == NULL)
     {
-      complaint (&symfile_complaints, _("could not obtain base address for "
+      complaint (_("could not obtain base address for "
 					"SystemTap section on objfile `%s'."),
 		 obfd->filename);
       return 0;
@@ -1660,7 +1660,7 @@ stap_static_probe_ops::get_probes (std::
     {
       /* If we are here, it means we have failed to parse every known
 	 probe.  */
-      complaint (&symfile_complaints, _("could not parse SystemTap probe(s) "
+      complaint (_("could not parse SystemTap probe(s) "
 					"from inferior"));
       return;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/std-operator.def ./gdb/std-operator.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/std-operator.def	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/std-operator.def	2018-07-10 02:06:13.000000000 +0000
@@ -234,6 +234,7 @@ OP (UNOP_POSTINCREMENT)		/* ++ after an 
 OP (UNOP_PREDECREMENT)		/* -- before an expression */
 OP (UNOP_POSTDECREMENT)		/* -- after an expression */
 OP (UNOP_SIZEOF)		/* Unary sizeof (followed by expression) */
+OP (UNOP_ALIGNOF)		/* Unary alignof (followed by expression) */
 
 OP (UNOP_PLUS)			/* Unary plus */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symfile-add-flags.h ./gdb/symfile-add-flags.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symfile-add-flags.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/symfile-add-flags.h	2018-07-10 02:06:13.000000000 +0000
@@ -40,8 +40,11 @@ enum symfile_add_flag
 
     /* Do not immediately read symbols for this file.  By default,
        symbols are read when the objfile is created.  */
-    SYMFILE_NO_READ = 1 << 4
-  };
+    SYMFILE_NO_READ = 1 << 4,
+
+    /* The new objfile should be marked OBJF_NOT_FILENAME.  */
+    SYMFILE_NOT_FILENAME = 1 << 5,
+ };
 
 DEF_ENUM_FLAGS_TYPE (enum symfile_add_flag, symfile_add_flags);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symfile.c ./gdb/symfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symfile.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/symfile.c	2018-07-10 02:06:13.000000000 +0000
@@ -46,7 +46,7 @@
 #include "hashtab.h"
 #include "readline/readline.h"
 #include "block.h"
-#include "observer.h"
+#include "observable.h"
 #include "exec.h"
 #include "parser-defs.h"
 #include "varobj.h"
@@ -64,6 +64,7 @@
 #include <sys/stat.h>
 #include <ctype.h>
 #include <chrono>
+#include <algorithm>
 
 #include "psymtab.h"
 
@@ -86,7 +87,7 @@ int readnever_symbol_files;	/* Never rea
 /* Functions this file defines.  */
 
 static void symbol_file_add_main_1 (const char *args, symfile_add_flags add_flags,
-				    objfile_flags flags);
+				    objfile_flags flags, CORE_ADDR reloff);
 
 static const struct sym_fns *find_sym_fns (bfd *);
 
@@ -215,114 +216,69 @@ find_lowest_section (bfd *abfd, asection
     *lowest = sect;
 }
 
-/* Create a new section_addr_info, with room for NUM_SECTIONS.  The
-   new object's 'num_sections' field is set to 0; it must be updated
-   by the caller.  */
-
-struct section_addr_info *
-alloc_section_addr_info (size_t num_sections)
-{
-  struct section_addr_info *sap;
-  size_t size;
-
-  size = (sizeof (struct section_addr_info)
-	  +  sizeof (struct other_sections) * (num_sections - 1));
-  sap = (struct section_addr_info *) xmalloc (size);
-  memset (sap, 0, size);
-
-  return sap;
-}
-
 /* Build (allocate and populate) a section_addr_info struct from
    an existing section table.  */
 
-extern struct section_addr_info *
+section_addr_info
 build_section_addr_info_from_section_table (const struct target_section *start,
                                             const struct target_section *end)
 {
-  struct section_addr_info *sap;
   const struct target_section *stp;
-  int oidx;
 
-  sap = alloc_section_addr_info (end - start);
+  section_addr_info sap;
 
-  for (stp = start, oidx = 0; stp != end; stp++)
+  for (stp = start; stp != end; stp++)
     {
       struct bfd_section *asect = stp->the_bfd_section;
       bfd *abfd = asect->owner;
 
       if (bfd_get_section_flags (abfd, asect) & (SEC_ALLOC | SEC_LOAD)
-	  && oidx < end - start)
-	{
-	  sap->other[oidx].addr = stp->addr;
-	  sap->other[oidx].name = xstrdup (bfd_section_name (abfd, asect));
-	  sap->other[oidx].sectindex = gdb_bfd_section_index (abfd, asect);
-	  oidx++;
-	}
+	  && sap.size () < end - start)
+	sap.emplace_back (stp->addr,
+			  bfd_section_name (abfd, asect),
+			  gdb_bfd_section_index (abfd, asect));
     }
 
-  sap->num_sections = oidx;
-
   return sap;
 }
 
 /* Create a section_addr_info from section offsets in ABFD.  */
 
-static struct section_addr_info *
+static section_addr_info
 build_section_addr_info_from_bfd (bfd *abfd)
 {
-  struct section_addr_info *sap;
-  int i;
   struct bfd_section *sec;
 
-  sap = alloc_section_addr_info (bfd_count_sections (abfd));
-  for (i = 0, sec = abfd->sections; sec != NULL; sec = sec->next)
+  section_addr_info sap;
+  for (sec = abfd->sections; sec != NULL; sec = sec->next)
     if (bfd_get_section_flags (abfd, sec) & (SEC_ALLOC | SEC_LOAD))
-      {
-	sap->other[i].addr = bfd_get_section_vma (abfd, sec);
-	sap->other[i].name = xstrdup (bfd_get_section_name (abfd, sec));
-	sap->other[i].sectindex = gdb_bfd_section_index (abfd, sec);
-	i++;
-      }
-
-  sap->num_sections = i;
+      sap.emplace_back (bfd_get_section_vma (abfd, sec),
+			bfd_get_section_name (abfd, sec),
+			gdb_bfd_section_index (abfd, sec));
 
   return sap;
 }
 
 /* Create a section_addr_info from section offsets in OBJFILE.  */
 
-struct section_addr_info *
+section_addr_info
 build_section_addr_info_from_objfile (const struct objfile *objfile)
 {
-  struct section_addr_info *sap;
   int i;
 
   /* Before reread_symbols gets rewritten it is not safe to call:
      gdb_assert (objfile->num_sections == bfd_count_sections (objfile->obfd));
      */
-  sap = build_section_addr_info_from_bfd (objfile->obfd);
-  for (i = 0; i < sap->num_sections; i++)
+  section_addr_info sap = build_section_addr_info_from_bfd (objfile->obfd);
+  for (i = 0; i < sap.size (); i++)
     {
-      int sectindex = sap->other[i].sectindex;
+      int sectindex = sap[i].sectindex;
 
-      sap->other[i].addr += objfile->section_offsets->offsets[sectindex];
+      sap[i].addr += objfile->section_offsets->offsets[sectindex];
     }
   return sap;
 }
 
-/* Free all memory allocated by build_section_addr_info_from_section_table.  */
-
-extern void
-free_section_addr_info (struct section_addr_info *sap)
-{
-  int idx;
-
-  for (idx = 0; idx < sap->num_sections; idx++)
-    xfree (sap->other[idx].name);
-  xfree (sap);
-}
-
 /* Initialize OBJFILE's sect_index_* members.  */
 
 static void
@@ -456,25 +412,25 @@ place_section (bfd *abfd, asection *sect
   arg->lowest = start_addr + bfd_get_section_size (sect);
 }
 
-/* Store struct section_addr_info as prepared (made relative and with SECTINDEX
+/* Store section_addr_info as prepared (made relative and with SECTINDEX
    filled-in) by addr_info_make_relative into SECTION_OFFSETS of NUM_SECTIONS
    entries.  */
 
 void
 relative_addr_info_to_section_offsets (struct section_offsets *section_offsets,
 				       int num_sections,
-				       const struct section_addr_info *addrs)
+				       const section_addr_info &addrs)
 {
   int i;
 
   memset (section_offsets, 0, SIZEOF_N_SECTION_OFFSETS (num_sections));
 
   /* Now calculate offsets for section that were specified by the caller.  */
-  for (i = 0; i < addrs->num_sections; i++)
+  for (i = 0; i < addrs.size (); i++)
     {
       const struct other_sections *osp;
 
-      osp = &addrs->other[i];
+      osp = &addrs[i];
       if (osp->sectindex == -1)
   	continue;
 
@@ -502,39 +458,36 @@ addr_section_name (const char *s)
   return s;
 }
 
-/* qsort comparator for addrs_section_sort.  Sort entries in ascending order by
-   their (name, sectindex) pair.  sectindex makes the sort by name stable.  */
-
-static int
-addrs_section_compar (const void *ap, const void *bp)
+/* std::sort comparator for addrs_section_sort.  Sort entries in
+   ascending order by their (name, sectindex) pair.  sectindex makes
+   the sort by name stable.  */
+
+static bool
+addrs_section_compar (const struct other_sections *a,
+		      const struct other_sections *b)
 {
-  const struct other_sections *a = *((struct other_sections **) ap);
-  const struct other_sections *b = *((struct other_sections **) bp);
   int retval;
 
-  retval = strcmp (addr_section_name (a->name), addr_section_name (b->name));
-  if (retval)
-    return retval;
+  retval = strcmp (addr_section_name (a->name.c_str ()),
+		   addr_section_name (b->name.c_str ()));
+  if (retval != 0)
+    return retval < 0;
 
-  return a->sectindex - b->sectindex;
+  return a->sectindex < b->sectindex;
 }
 
-/* Provide sorted array of pointers to sections of ADDRS.  The array is
-   terminated by NULL.  Caller is responsible to call xfree for it.  */
+/* Provide sorted array of pointers to sections of ADDRS.  */
 
-static struct other_sections **
-addrs_section_sort (struct section_addr_info *addrs)
+static std::vector<const struct other_sections *>
+addrs_section_sort (const section_addr_info &addrs)
 {
-  struct other_sections **array;
   int i;
 
-  /* `+ 1' for the NULL terminator.  */
-  array = XNEWVEC (struct other_sections *, addrs->num_sections + 1);
-  for (i = 0; i < addrs->num_sections; i++)
-    array[i] = &addrs->other[i];
-  array[i] = NULL;
+  std::vector<const struct other_sections *> array (addrs.size ());
+  for (i = 0; i < addrs.size (); i++)
+    array[i] = &addrs[i];
 
-  qsort (array, i, sizeof (*array), addrs_section_compar);
+  std::sort (array.begin (), array.end (), addrs_section_compar);
 
   return array;
 }
@@ -544,15 +497,11 @@ addrs_section_sort (struct section_addr_
    rebase ADDRS to start referencing different BFD than before.  */
 
 void
-addr_info_make_relative (struct section_addr_info *addrs, bfd *abfd)
+addr_info_make_relative (section_addr_info *addrs, bfd *abfd)
 {
   asection *lower_sect;
   CORE_ADDR lower_offset;
   int i;
-  struct cleanup *my_cleanup;
-  struct section_addr_info *abfd_addrs;
-  struct other_sections **addrs_sorted, **abfd_addrs_sorted;
-  struct other_sections **addrs_to_abfd_addrs;
 
   /* Find lowest loadable section to be used as starting point for
      continguous sections.  */
@@ -577,45 +526,44 @@ addr_info_make_relative (struct section_
      Use stable sort by name for the sections in both files.  Then linearly
      scan both lists matching as most of the entries as possible.  */
 
-  addrs_sorted = addrs_section_sort (addrs);
-  my_cleanup = make_cleanup (xfree, addrs_sorted);
+  std::vector<const struct other_sections *> addrs_sorted
+    = addrs_section_sort (*addrs);
 
-  abfd_addrs = build_section_addr_info_from_bfd (abfd);
-  make_cleanup_free_section_addr_info (abfd_addrs);
-  abfd_addrs_sorted = addrs_section_sort (abfd_addrs);
-  make_cleanup (xfree, abfd_addrs_sorted);
+  section_addr_info abfd_addrs = build_section_addr_info_from_bfd (abfd);
+  std::vector<const struct other_sections *> abfd_addrs_sorted
+    = addrs_section_sort (abfd_addrs);
 
   /* Now create ADDRS_TO_ABFD_ADDRS from ADDRS_SORTED and
      ABFD_ADDRS_SORTED.  */
 
-  addrs_to_abfd_addrs = XCNEWVEC (struct other_sections *, addrs->num_sections);
-  make_cleanup (xfree, addrs_to_abfd_addrs);
+  std::vector<const struct other_sections *>
+    addrs_to_abfd_addrs (addrs->size (), nullptr);
 
-  while (*addrs_sorted)
+  std::vector<const struct other_sections *>::iterator abfd_sorted_iter
+    = abfd_addrs_sorted.begin ();
+  for (const other_sections *sect : addrs_sorted)
     {
-      const char *sect_name = addr_section_name ((*addrs_sorted)->name);
+      const char *sect_name = addr_section_name (sect->name.c_str ());
 
-      while (*abfd_addrs_sorted
-	     && strcmp (addr_section_name ((*abfd_addrs_sorted)->name),
+      while (abfd_sorted_iter != abfd_addrs_sorted.end ()
+	     && strcmp (addr_section_name ((*abfd_sorted_iter)->name.c_str ()),
 			sect_name) < 0)
-	abfd_addrs_sorted++;
+	abfd_sorted_iter++;
 
-      if (*abfd_addrs_sorted
-	  && strcmp (addr_section_name ((*abfd_addrs_sorted)->name),
+      if (abfd_sorted_iter != abfd_addrs_sorted.end ()
+	  && strcmp (addr_section_name ((*abfd_sorted_iter)->name.c_str ()),
 		     sect_name) == 0)
 	{
 	  int index_in_addrs;
 
 	  /* Make the found item directly addressable from ADDRS.  */
-	  index_in_addrs = *addrs_sorted - addrs->other;
+	  index_in_addrs = sect - addrs->data ();
 	  gdb_assert (addrs_to_abfd_addrs[index_in_addrs] == NULL);
-	  addrs_to_abfd_addrs[index_in_addrs] = *abfd_addrs_sorted;
+	  addrs_to_abfd_addrs[index_in_addrs] = *abfd_sorted_iter;
 
 	  /* Never use the same ABFD entry twice.  */
-	  abfd_addrs_sorted++;
+	  abfd_sorted_iter++;
 	}
-
-      addrs_sorted++;
     }
 
   /* Calculate offsets for the loadable sections.
@@ -628,27 +576,27 @@ addr_info_make_relative (struct section_
      (the loadable section directly below it in memory).
      this_offset = lower_offset = lower_addr - lower_orig_addr */
 
-  for (i = 0; i < addrs->num_sections; i++)
+  for (i = 0; i < addrs->size (); i++)
     {
-      struct other_sections *sect = addrs_to_abfd_addrs[i];
+      const struct other_sections *sect = addrs_to_abfd_addrs[i];
 
       if (sect)
 	{
 	  /* This is the index used by BFD.  */
-	  addrs->other[i].sectindex = sect->sectindex;
+	  (*addrs)[i].sectindex = sect->sectindex;
 
-	  if (addrs->other[i].addr != 0)
+	  if ((*addrs)[i].addr != 0)
 	    {
-	      addrs->other[i].addr -= sect->addr;
-	      lower_offset = addrs->other[i].addr;
+	      (*addrs)[i].addr -= sect->addr;
+	      lower_offset = (*addrs)[i].addr;
 	    }
 	  else
-	    addrs->other[i].addr = lower_offset;
+	    (*addrs)[i].addr = lower_offset;
 	}
       else
 	{
 	  /* addr_section_name transformation is not used for SECT_NAME.  */
-	  const char *sect_name = addrs->other[i].name;
+	  const std::string &sect_name = (*addrs)[i].name;
 
 	  /* This section does not exist in ABFD, which is normally
 	     unexpected and we want to issue a warning.
@@ -664,25 +612,23 @@ addr_info_make_relative (struct section_
 
 	     For the sections `.bss' and `.sbss' see addr_section_name.  */
 
-	  if (!(strcmp (sect_name, ".gnu.liblist") == 0
-		|| strcmp (sect_name, ".gnu.conflict") == 0
-		|| (strcmp (sect_name, ".bss") == 0
+	  if (!(sect_name == ".gnu.liblist"
+		|| sect_name == ".gnu.conflict"
+		|| (sect_name == ".bss"
 		    && i > 0
-		    && strcmp (addrs->other[i - 1].name, ".dynbss") == 0
+		    && (*addrs)[i - 1].name == ".dynbss"
 		    && addrs_to_abfd_addrs[i - 1] != NULL)
-		|| (strcmp (sect_name, ".sbss") == 0
+		|| (sect_name == ".sbss"
 		    && i > 0
-		    && strcmp (addrs->other[i - 1].name, ".sdynbss") == 0
+		    && (*addrs)[i - 1].name == ".sdynbss"
 		    && addrs_to_abfd_addrs[i - 1] != NULL)))
-	    warning (_("section %s not found in %s"), sect_name,
+	    warning (_("section %s not found in %s"), sect_name.c_str (),
 		     bfd_get_filename (abfd));
 
-	  addrs->other[i].addr = 0;
-	  addrs->other[i].sectindex = -1;
+	  (*addrs)[i].addr = 0;
+	  (*addrs)[i].sectindex = -1;
 	}
     }
-
-  do_cleanups (my_cleanup);
 }
 
 /* Parse the user's idea of an offset for dynamic linking, into our idea
@@ -693,7 +639,7 @@ addr_info_make_relative (struct section_
 
 void
 default_symfile_offsets (struct objfile *objfile,
-			 const struct section_addr_info *addrs)
+			 const section_addr_info &addrs)
 {
   objfile->num_sections = gdb_bfd_count_sections (objfile->obfd);
   objfile->section_offsets = (struct section_offsets *)
@@ -862,8 +808,9 @@ read_symbols (struct objfile *objfile, s
 	     virtual section-as-bfd like the bfd filename containing the
 	     section.  Therefore use also non-canonical name form for the same
 	     file containing the section.  */
-	  symbol_file_add_separate (abfd.get (), objfile->original_name,
-				    add_flags, objfile);
+	  symbol_file_add_separate (abfd.get (),
+				    bfd_get_filename (abfd.get ()),
+				    add_flags | SYMFILE_NOT_FILENAME, objfile);
 	}
     }
   if ((add_flags & SYMFILE_NO_READ) == 0)
@@ -917,7 +864,7 @@ init_entry_point_info (struct objfile *o
       entry_point
 	= gdbarch_convert_from_func_ptr_addr (get_objfile_arch (objfile),
 					      entry_point,
-					      &current_target);
+					      current_top_target ());
 
       /* Remove any ISA markers, so that this matches entries in the
 	 symbol table.  */
@@ -961,6 +908,9 @@ init_entry_point_info (struct objfile *o
    into an offset from the section VMA's as it appears in the object
    file, and then call the file's sym_offsets function to convert this
    into a format-specific offset table --- a `struct section_offsets'.
+   The sectindex field is used to control the ordering of sections
+   with the same name.  Upon return, it is updated to contain the
+   correspondig BFD section index, or -1 if the section was not found.
 
    ADD_FLAGS encodes verbosity level, whether this is main symbol or
    an extra symbol file such as dynamically loaded code, and wether
@@ -968,10 +918,10 @@ init_entry_point_info (struct objfile *o
 
 static void
 syms_from_objfile_1 (struct objfile *objfile,
-		     struct section_addr_info *addrs,
+		     section_addr_info *addrs,
 		     symfile_add_flags add_flags)
 {
-  struct section_addr_info *local_addr = NULL;
+  section_addr_info local_addr;
   struct cleanup *old_chain;
   const int mainline = add_flags & SYMFILE_MAINLINE;
 
@@ -1001,11 +951,7 @@ syms_from_objfile_1 (struct objfile *obj
      We now establish the convention that an addr of zero means
      no load address was specified.  */
   if (! addrs)
-    {
-      local_addr = alloc_section_addr_info (1);
-      make_cleanup (xfree, local_addr);
-      addrs = local_addr;
-    }
+    addrs = &local_addr;
 
   if (mainline)
     {
@@ -1035,7 +981,7 @@ syms_from_objfile_1 (struct objfile *obj
 
      We no longer warn if the lowest section is not a text segment (as
      happens for the PA64 port.  */
-  if (addrs->num_sections > 0)
+  if (addrs->size () > 0)
     addr_info_make_relative (addrs, objfile->obfd);
 
   /* Initialize symbol reading routines for this objfile, allow complaints to
@@ -1043,9 +989,9 @@ syms_from_objfile_1 (struct objfile *obj
      initial symbol reading for this file.  */
 
   (*objfile->sf->sym_init) (objfile);
-  clear_complaints (&symfile_complaints, 1, add_flags & SYMFILE_VERBOSE);
+  clear_complaints (1);
 
-  (*objfile->sf->sym_offsets) (objfile, addrs);
+  (*objfile->sf->sym_offsets) (objfile, *addrs);
 
   read_symbols (objfile, add_flags);
 
@@ -1053,7 +999,6 @@ syms_from_objfile_1 (struct objfile *obj
 
   objfile_holder.release ();
   discard_cleanups (old_chain);
-  xfree (local_addr);
 }
 
 /* Same as syms_from_objfile_1, but also initializes the objfile
@@ -1061,7 +1006,7 @@ syms_from_objfile_1 (struct objfile *obj
 
 static void
 syms_from_objfile (struct objfile *objfile,
-		   struct section_addr_info *addrs,
+		   section_addr_info *addrs,
 		   symfile_add_flags add_flags)
 {
   syms_from_objfile_1 (objfile, addrs, add_flags);
@@ -1091,7 +1036,7 @@ finish_new_objfile (struct objfile *objf
     }
 
   /* We're done reading the symbol file; finish off complaints.  */
-  clear_complaints (&symfile_complaints, 0, add_flags & SYMFILE_VERBOSE);
+  clear_complaints (0);
 }
 
 /* Process a symbol file, as either the main file or as a dynamically
@@ -1117,7 +1062,7 @@ finish_new_objfile (struct objfile *objf
 static struct objfile *
 symbol_file_add_with_addrs (bfd *abfd, const char *name,
 			    symfile_add_flags add_flags,
-			    struct section_addr_info *addrs,
+			    section_addr_info *addrs,
 			    objfile_flags flags, struct objfile *parent)
 {
   struct objfile *objfile;
@@ -1138,6 +1083,8 @@ symbol_file_add_with_addrs (bfd *abfd, c
       flags |= OBJF_READNEVER;
       add_flags |= SYMFILE_NO_READ;
     }
+  if ((add_flags & SYMFILE_NOT_FILENAME) != 0)
+    flags |= OBJF_NOT_FILENAME;
 
   /* Give user a chance to burp if we'd be
      interactively wiping out any existing symbols.  */
@@ -1211,13 +1158,13 @@ symbol_file_add_with_addrs (bfd *abfd, c
 
   if (objfile->sf == NULL)
     {
-      observer_notify_new_objfile (objfile);
+      gdb::observers::new_objfile.notify (objfile);
       return objfile;	/* No symbols.  */
     }
 
   finish_new_objfile (objfile, add_flags);
 
-  observer_notify_new_objfile (objfile);
+  gdb::observers::new_objfile.notify (objfile);
 
   bfd_cache_close_all ();
   return (objfile);
@@ -1231,22 +1178,16 @@ symbol_file_add_separate (bfd *bfd, cons
 			  symfile_add_flags symfile_flags,
 			  struct objfile *objfile)
 {
-  struct section_addr_info *sap;
-  struct cleanup *my_cleanup;
-
   /* Create section_addr_info.  We can't directly use offsets from OBJFILE
      because sections of BFD may not match sections of OBJFILE and because
      vma may have been modified by tools such as prelink.  */
-  sap = build_section_addr_info_from_objfile (objfile);
-  my_cleanup = make_cleanup_free_section_addr_info (sap);
+  section_addr_info sap = build_section_addr_info_from_objfile (objfile);
 
   symbol_file_add_with_addrs
-    (bfd, name, symfile_flags, sap,
+    (bfd, name, symfile_flags, &sap,
      objfile->flags & (OBJF_REORDERED | OBJF_SHARED | OBJF_READNOW
 		       | OBJF_USERLOADED),
      objfile);
-
-  do_cleanups (my_cleanup);
 }
 
 /* Process the symbol file ABFD, as either the main file or as a
@@ -1256,7 +1197,7 @@ symbol_file_add_separate (bfd *bfd, cons
 struct objfile *
 symbol_file_add_from_bfd (bfd *abfd, const char *name,
 			  symfile_add_flags add_flags,
-                          struct section_addr_info *addrs,
+			  section_addr_info *addrs,
                           objfile_flags flags, struct objfile *parent)
 {
   return symbol_file_add_with_addrs (abfd, name, add_flags, addrs, flags,
@@ -1268,7 +1209,7 @@ symbol_file_add_from_bfd (bfd *abfd, con
 
 struct objfile *
 symbol_file_add (const char *name, symfile_add_flags add_flags,
-		 struct section_addr_info *addrs, objfile_flags flags)
+		 section_addr_info *addrs, objfile_flags flags)
 {
   gdb_bfd_ref_ptr bfd (symfile_bfd_open (name));
 
@@ -1287,16 +1228,18 @@ symbol_file_add (const char *name, symfi
 void
 symbol_file_add_main (const char *args, symfile_add_flags add_flags)
 {
-  symbol_file_add_main_1 (args, add_flags, 0);
+  symbol_file_add_main_1 (args, add_flags, 0, 0);
 }
 
 static void
 symbol_file_add_main_1 (const char *args, symfile_add_flags add_flags,
-			objfile_flags flags)
+			objfile_flags flags, CORE_ADDR reloff)
 {
   add_flags |= current_inferior ()->symfile_flags | SYMFILE_MAINLINE;
 
-  symbol_file_add (args, add_flags, NULL, flags);
+  struct objfile *objfile = symbol_file_add (args, add_flags, NULL, flags);
+  if (reloff != 0)
+    objfile_rebase (objfile, reloff);
 
   /* Getting new symbols may change our opinion about
      what is frameless.  */
@@ -1333,7 +1276,7 @@ symbol_file_clear (int from_tty)
 int separate_debug_file_debug = 0;
 
 static int
-separate_debug_file_exists (const char *name, unsigned long crc,
+separate_debug_file_exists (const std::string &name, unsigned long crc,
 			    struct objfile *parent_objfile)
 {
   unsigned long file_crc;
@@ -1347,13 +1290,13 @@ separate_debug_file_exists (const char *
      ".debug" suffix as "/usr/lib/debug/path/to/file" is a separate tree where
      the separate debug infos with the same basename can exist.  */
 
-  if (filename_cmp (name, objfile_name (parent_objfile)) == 0)
+  if (filename_cmp (name.c_str (), objfile_name (parent_objfile)) == 0)
     return 0;
 
   if (separate_debug_file_debug)
-    printf_unfiltered (_("  Trying %s\n"), name);
+    printf_unfiltered (_("  Trying %s\n"), name.c_str ());
 
-  gdb_bfd_ref_ptr abfd (gdb_bfd_open (name, gnutarget, -1));
+  gdb_bfd_ref_ptr abfd (gdb_bfd_open (name.c_str (), gnutarget, -1));
 
   if (abfd == NULL)
     return 0;
@@ -1403,7 +1346,7 @@ separate_debug_file_exists (const char *
       if (verified_as_different || parent_crc != file_crc)
 	warning (_("the debug information found in \"%s\""
 		   " does not match \"%s\" (CRC mismatch).\n"),
-		 name, objfile_name (parent_objfile));
+		 name.c_str (), objfile_name (parent_objfile));
 
       return 0;
     }
@@ -1431,50 +1374,31 @@ show_debug_file_directory (struct ui_fil
    dirname(objfile->name) due to symlinks), and DEBUGLINK as the file we are
    looking for.  CANON_DIR is the "realpath" form of DIR.
    DIR must contain a trailing '/'.
-   Returns the path of the file with separate debug info, of NULL.  */
+   Returns the path of the file with separate debug info, or an empty
+   string.  */
 
-static char *
+static std::string
 find_separate_debug_file (const char *dir,
 			  const char *canon_dir,
 			  const char *debuglink,
 			  unsigned long crc32, struct objfile *objfile)
 {
-  char *debugdir;
-  char *debugfile;
-  int i;
-  VEC (char_ptr) *debugdir_vec;
-  struct cleanup *back_to;
-  int ix;
-
   if (separate_debug_file_debug)
     printf_unfiltered (_("\nLooking for separate debug info (debug link) for "
 		         "%s\n"), objfile_name (objfile));
 
-  /* Set I to std::max (strlen (canon_dir), strlen (dir)).  */
-  i = strlen (dir);
-  if (canon_dir != NULL && strlen (canon_dir) > i)
-    i = strlen (canon_dir);
-
-  debugfile
-    = (char *) xmalloc (strlen (debug_file_directory) + 1
-			+ i
-			+ strlen (DEBUG_SUBDIRECTORY)
-			+ strlen ("/")
-			+ strlen (debuglink)
-			+ 1);
-
   /* First try in the same directory as the original file.  */
-  strcpy (debugfile, dir);
-  strcat (debugfile, debuglink);
+  std::string debugfile = dir;
+  debugfile += debuglink;
 
   if (separate_debug_file_exists (debugfile, crc32, objfile))
     return debugfile;
 
   /* Then try in the subdirectory named DEBUG_SUBDIRECTORY.  */
-  strcpy (debugfile, dir);
-  strcat (debugfile, DEBUG_SUBDIRECTORY);
-  strcat (debugfile, "/");
-  strcat (debugfile, debuglink);
+  debugfile = dir;
+  debugfile += DEBUG_SUBDIRECTORY;
+  debugfile += "/";
+  debugfile += debuglink;
 
   if (separate_debug_file_exists (debugfile, crc32, objfile))
     return debugfile;
@@ -1484,21 +1408,18 @@ find_separate_debug_file (const char *di
      Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
      cause "/..." lookups.  */
 
-  debugdir_vec = dirnames_to_char_ptr_vec (debug_file_directory);
-  back_to = make_cleanup_free_char_ptr_vec (debugdir_vec);
+  std::vector<gdb::unique_xmalloc_ptr<char>> debugdir_vec
+    = dirnames_to_char_ptr_vec (debug_file_directory);
 
-  for (ix = 0; VEC_iterate (char_ptr, debugdir_vec, ix, debugdir); ++ix)
+  for (const gdb::unique_xmalloc_ptr<char> &debugdir : debugdir_vec)
     {
-      strcpy (debugfile, debugdir);
-      strcat (debugfile, "/");
-      strcat (debugfile, dir);
-      strcat (debugfile, debuglink);
+      debugfile = debugdir.get ();
+      debugfile += "/";
+      debugfile += dir;
+      debugfile += debuglink;
 
       if (separate_debug_file_exists (debugfile, crc32, objfile))
-	{
-	  do_cleanups (back_to);
-	  return debugfile;
-	}
+	return debugfile;
 
       /* If the file is in the sysroot, try using its base path in the
 	 global debugfile directory.  */
@@ -1507,22 +1428,17 @@ find_separate_debug_file (const char *di
 			    strlen (gdb_sysroot)) == 0
 	  && IS_DIR_SEPARATOR (canon_dir[strlen (gdb_sysroot)]))
 	{
-	  strcpy (debugfile, debugdir);
-	  strcat (debugfile, canon_dir + strlen (gdb_sysroot));
-	  strcat (debugfile, "/");
-	  strcat (debugfile, debuglink);
+	  debugfile = debugdir.get ();
+	  debugfile += (canon_dir + strlen (gdb_sysroot));
+	  debugfile += "/";
+	  debugfile += debuglink;
 
 	  if (separate_debug_file_exists (debugfile, crc32, objfile))
-	    {
-	      do_cleanups (back_to);
-	      return debugfile;
-	    }
+	    return debugfile;
 	}
     }
 
-  do_cleanups (back_to);
-  xfree (debugfile);
-  return NULL;
+  return std::string ();
 }
 
 /* Modify PATH to contain only "[/]directory/" part of PATH.
@@ -1545,12 +1461,11 @@ terminate_after_last_dir_separator (char
 }
 
 /* Find separate debuginfo for OBJFILE (using .gnu_debuglink section).
-   Returns pathname, or NULL.  */
+   Returns pathname, or an empty string.  */
 
-char *
+std::string
 find_separate_debug_file_by_debuglink (struct objfile *objfile)
 {
-  char *debugfile;
   unsigned long crc32;
 
   gdb::unique_xmalloc_ptr<char> debuglink
@@ -1560,17 +1475,18 @@ find_separate_debug_file_by_debuglink (s
     {
       /* There's no separate debug info, hence there's no way we could
 	 load it => no warning.  */
-      return NULL;
+      return std::string ();
     }
 
   std::string dir = objfile_name (objfile);
   terminate_after_last_dir_separator (&dir[0]);
   gdb::unique_xmalloc_ptr<char> canon_dir (lrealpath (dir.c_str ()));
 
-  debugfile = find_separate_debug_file (dir.c_str (), canon_dir.get (),
-					debuglink.get (), crc32, objfile);
+  std::string debugfile
+    = find_separate_debug_file (dir.c_str (), canon_dir.get (),
+				debuglink.get (), crc32, objfile);
 
-  if (debugfile == NULL)
+  if (debugfile.empty ())
     {
       /* For PR gdb/9538, try again with realpath (if different from the
 	 original).  */
@@ -1640,6 +1556,7 @@ symbol_file_command (const char *args, i
       symfile_add_flags add_flags = 0;
       char *name = NULL;
       bool stop_processing_options = false;
+      CORE_ADDR offset = 0;
       int idx;
       char *arg;
 
@@ -1660,6 +1577,14 @@ symbol_file_command (const char *args, i
 	    flags |= OBJF_READNOW;
 	  else if (strcmp (arg, "-readnever") == 0)
 	    flags |= OBJF_READNEVER;
+	  else if (strcmp (arg, "-o") == 0)
+	    {
+	      arg = built_argv[++idx];
+	      if (arg == NULL)
+		error (_("Missing argument to -o"));
+
+	      offset = parse_and_eval_address (arg);
+	    }
 	  else if (strcmp (arg, "--") == 0)
 	    stop_processing_options = true;
 	  else
@@ -1671,7 +1596,7 @@ symbol_file_command (const char *args, i
 
       validate_readnow_readnever (flags);
 
-      symbol_file_add_main_1 (name, add_flags, flags);
+      symbol_file_add_main_1 (name, add_flags, flags, offset);
     }
 }
 
@@ -1719,12 +1644,10 @@ gdb_bfd_ref_ptr
 symfile_bfd_open (const char *name)
 {
   int desc = -1;
-  struct cleanup *back_to = make_cleanup (null_cleanup, 0);
 
+  gdb::unique_xmalloc_ptr<char> absolute_name;
   if (!is_target_filename (name))
     {
-      char *absolute_name;
-
       gdb::unique_xmalloc_ptr<char> expanded_name (tilde_expand (name));
 
       /* Look down path for it, allocate 2nd new malloc'd copy.  */
@@ -1745,8 +1668,7 @@ symfile_bfd_open (const char *name)
       if (desc < 0)
 	perror_with_name (expanded_name.get ());
 
-      make_cleanup (xfree, absolute_name);
-      name = absolute_name;
+      name = absolute_name.get ();
     }
 
   gdb_bfd_ref_ptr sym_bfd (gdb_bfd_open (name, gnutarget, desc));
@@ -1761,8 +1683,6 @@ symfile_bfd_open (const char *name)
     error (_("`%s': can't read symbols: %s."), name,
 	   bfd_errmsg (bfd_get_error ()));
 
-  do_cleanups (back_to);
-
   return sym_bfd;
 }
 
@@ -1821,8 +1741,6 @@ find_sym_fns (bfd *abfd)
 static void
 load_command (const char *arg, int from_tty)
 {
-  struct cleanup *cleanup = make_cleanup (null_cleanup, NULL);
-
   dont_repeat ();
 
   /* The user might be reloading because the binary has changed.  Take
@@ -1830,40 +1748,28 @@ load_command (const char *arg, int from_
   reopen_exec_file ();
   reread_symbols ();
 
+  std::string temp;
   if (arg == NULL)
     {
-      const char *parg;
-      int count = 0;
+      const char *parg, *prev;
 
-      parg = arg = get_exec_file (1);
+      arg = get_exec_file (1);
 
-      /* Count how many \ " ' tab space there are in the name.  */
+      /* We may need to quote this string so buildargv can pull it
+	 apart.  */
+      prev = parg = arg;
       while ((parg = strpbrk (parg, "\\\"'\t ")))
 	{
-	  parg++;
-	  count++;
-	}
-
-      if (count)
+	  temp.append (prev, parg - prev);
+	  prev = parg++;
+	  temp.push_back ('\\');
+	}
+      /* If we have not copied anything yet, then we didn't see a
+	 character to quote, and we can just leave ARG unchanged.  */
+      if (!temp.empty ())
 	{
-	  /* We need to quote this string so buildargv can pull it apart.  */
-	  char *temp = (char *) xmalloc (strlen (arg) + count + 1 );
-	  char *ptemp = temp;
-	  const char *prev;
-
-	  make_cleanup (xfree, temp);
-
-	  prev = parg = arg;
-	  while ((parg = strpbrk (parg, "\\\"'\t ")))
-	    {
-	      strncpy (ptemp, prev, parg - prev);
-	      ptemp += parg - prev;
-	      prev = parg++;
-	      *ptemp++ = '\\';
-	    }
-	  strcpy (ptemp, prev);
-
-	  arg = temp;
+	  temp.append (prev);
+	  arg = temp.c_str ();
 	}
     }
 
@@ -1872,8 +1778,6 @@ load_command (const char *arg, int from_
   /* After re-loading the executable, we don't really know which
      overlays are mapped any more.  */
   overlay_cache_invalid = 1;
-
-  do_cleanups (cleanup);
 }
 
 /* This version of "load" should be usable for any target.  Currently
@@ -1897,33 +1801,56 @@ add_section_size_callback (bfd *abfd, as
   *sum += bfd_get_section_size (asec);
 }
 
-/* Opaque data for load_section_callback.  */
-struct load_section_data {
-  CORE_ADDR load_offset;
-  struct load_progress_data *progress_data;
-  VEC(memory_write_request_s) *requests;
-};
-
 /* Opaque data for load_progress.  */
-struct load_progress_data {
+struct load_progress_data
+{
   /* Cumulative data.  */
-  unsigned long write_count;
-  unsigned long data_count;
-  bfd_size_type total_size;
+  unsigned long write_count = 0;
+  unsigned long data_count = 0;
+  bfd_size_type total_size = 0;
 };
 
 /* Opaque data for load_progress for a single section.  */
-struct load_progress_section_data {
+struct load_progress_section_data
+{
+  load_progress_section_data (load_progress_data *cumulative_,
+			      const char *section_name_, ULONGEST section_size_,
+			      CORE_ADDR lma_, gdb_byte *buffer_)
+    : cumulative (cumulative_), section_name (section_name_),
+      section_size (section_size_), lma (lma_), buffer (buffer_)
+  {}
+
   struct load_progress_data *cumulative;
 
   /* Per-section data.  */
   const char *section_name;
-  ULONGEST section_sent;
+  ULONGEST section_sent = 0;
   ULONGEST section_size;
   CORE_ADDR lma;
   gdb_byte *buffer;
 };
 
+/* Opaque data for load_section_callback.  */
+struct load_section_data
+{
+  load_section_data (load_progress_data *progress_data_)
+    : progress_data (progress_data_)
+  {}
+
+  ~load_section_data ()
+  {
+    for (auto &&request : requests)
+      {
+	xfree (request.data);
+	delete ((load_progress_section_data *) request.baton);
+      }
+  }
+
+  CORE_ADDR load_offset = 0;
+  struct load_progress_data *progress_data;
+  std::vector<struct memory_write_request> requests;
+};
+
 /* Target write callback routine for progress reporting.  */
 
 static void
@@ -1993,11 +1920,8 @@ load_progress (ULONGEST bytes, void *unt
 static void
 load_section_callback (bfd *abfd, asection *asec, void *data)
 {
-  struct memory_write_request *new_request;
   struct load_section_data *args = (struct load_section_data *) data;
-  struct load_progress_section_data *section_data;
   bfd_size_type size = bfd_get_section_size (asec);
-  gdb_byte *buffer;
   const char *sect_name = bfd_get_section_name (abfd, asec);
 
   if ((bfd_get_section_flags (abfd, asec) & SEC_LOAD) == 0)
@@ -2006,44 +1930,16 @@ load_section_callback (bfd *abfd, asecti
   if (size == 0)
     return;
 
-  new_request = VEC_safe_push (memory_write_request_s,
-			       args->requests, NULL);
-  memset (new_request, 0, sizeof (struct memory_write_request));
-  section_data = XCNEW (struct load_progress_section_data);
-  new_request->begin = bfd_section_lma (abfd, asec) + args->load_offset;
-  new_request->end = new_request->begin + size; /* FIXME Should size
-						   be in instead?  */
-  new_request->data = (gdb_byte *) xmalloc (size);
-  new_request->baton = section_data;
-
-  buffer = new_request->data;
-
-  section_data->cumulative = args->progress_data;
-  section_data->section_name = sect_name;
-  section_data->section_size = size;
-  section_data->lma = new_request->begin;
-  section_data->buffer = buffer;
-
+  ULONGEST begin = bfd_section_lma (abfd, asec) + args->load_offset;
+  ULONGEST end = begin + size;
+  gdb_byte *buffer = (gdb_byte *) xmalloc (size);
   bfd_get_section_contents (abfd, asec, buffer, 0, size);
-}
 
-/* Clean up an entire memory request vector, including load
-   data and progress records.  */
+  load_progress_section_data *section_data
+    = new load_progress_section_data (args->progress_data, sect_name, size,
+				      begin, buffer);
 
-static void
-clear_memory_write_data (void *arg)
-{
-  VEC(memory_write_request_s) **vec_p = (VEC(memory_write_request_s) **) arg;
-  VEC(memory_write_request_s) *vec = *vec_p;
-  int i;
-  struct memory_write_request *mr;
-
-  for (i = 0; VEC_iterate (memory_write_request_s, vec, i, mr); ++i)
-    {
-      xfree (mr->data);
-      xfree (mr->baton);
-    }
-  VEC_free (memory_write_request_s, vec);
+  args->requests.emplace_back (begin, end, buffer, section_data);
 }
 
 static void print_transfer_performance (struct ui_file *stream,
@@ -2054,19 +1950,10 @@ static void print_transfer_performance (
 void
 generic_load (const char *args, int from_tty)
 {
-  struct cleanup *old_cleanups;
-  struct load_section_data cbdata;
   struct load_progress_data total_progress;
+  struct load_section_data cbdata (&total_progress);
   struct ui_out *uiout = current_uiout;
 
-  CORE_ADDR entry;
-
-  memset (&cbdata, 0, sizeof (cbdata));
-  memset (&total_progress, 0, sizeof (total_progress));
-  cbdata.progress_data = &total_progress;
-
-  old_cleanups = make_cleanup (clear_memory_write_data, &cbdata.requests);
-
   if (args == NULL)
     error_no_arg (_("file to load"));
 
@@ -2115,7 +2002,7 @@ generic_load (const char *args, int from
 
   steady_clock::time_point end_time = steady_clock::now ();
 
-  entry = bfd_get_start_address (loadfile_bfd.get ());
+  CORE_ADDR entry = bfd_get_start_address (loadfile_bfd.get ());
   entry = gdbarch_addr_bits_remove (target_gdbarch (), entry);
   uiout->text ("Start address ");
   uiout->field_fmt ("address", "%s", paddress (target_gdbarch (), entry));
@@ -2137,8 +2024,6 @@ generic_load (const char *args, int from
   print_transfer_performance (gdb_stdout, total_progress.data_count,
 			      total_progress.write_count,
 			      end_time - start_time);
-
-  do_cleanups (old_cleanups);
 }
 
 /* Report on STREAM the performance of a memory transfer operation,
@@ -2193,6 +2078,61 @@ print_transfer_performance (struct ui_fi
   uiout->text (".\n");
 }
 
+/* Add an OFFSET to the start address of each section in OBJF, except
+   sections that were specified in ADDRS.  */
+
+static void
+set_objfile_default_section_offset (struct objfile *objf,
+				    const section_addr_info &addrs,
+				    CORE_ADDR offset)
+{
+  /* Add OFFSET to all sections by default.  */
+  std::vector<struct section_offsets> offsets (objf->num_sections,
+					       { offset });
+
+  /* Create sorted lists of all sections in ADDRS as well as all
+     sections in OBJF.  */
+
+  std::vector<const struct other_sections *> addrs_sorted
+    = addrs_section_sort (addrs);
+
+  section_addr_info objf_addrs
+    = build_section_addr_info_from_objfile (objf);
+  std::vector<const struct other_sections *> objf_addrs_sorted
+    = addrs_section_sort (objf_addrs);
+
+  /* Walk the BFD section list, and if a matching section is found in
+     ADDRS_SORTED_LIST, set its offset to zero to keep its address
+     unchanged.
+
+     Note that both lists may contain multiple sections with the same
+     name, and then the sections from ADDRS are matched in BFD order
+     (thanks to sectindex).  */
+
+  std::vector<const struct other_sections *>::iterator addrs_sorted_iter
+    = addrs_sorted.begin ();
+  for (const struct other_sections *objf_sect : objf_addrs_sorted)
+    {
+      const char *objf_name = addr_section_name (objf_sect->name.c_str ());
+      int cmp = -1;
+
+      while (cmp < 0 && addrs_sorted_iter != addrs_sorted.end ())
+	{
+	  const struct other_sections *sect = *addrs_sorted_iter;
+	  const char *sect_name = addr_section_name (sect->name.c_str ());
+	  cmp = strcmp (sect_name, objf_name);
+	  if (cmp <= 0)
+	    ++addrs_sorted_iter;
+	}
+
+      if (cmp == 0)
+	offsets[objf_sect->sectindex].offsets[0] = 0;
+    }
+
+  /* Apply the new section offsets.  */
+  objfile_relocate (objf, offsets.data ());
+}
+
 /* This function allows the addition of incrementally linked object files.
    It does not modify any state in the target, only in the debugger.  */
 /* Note: ezannoni 2000-04-13 This function/command used to have a
@@ -2209,7 +2149,6 @@ add_symbol_file_command (const char *arg
   gdb::unique_xmalloc_ptr<char> filename;
   char *arg;
   int argcnt = 0;
-  int sec_num = 0;
   struct objfile *objf;
   objfile_flags flags = OBJF_USERLOADED | OBJF_SHARED;
   symfile_add_flags add_flags = 0;
@@ -2223,10 +2162,9 @@ add_symbol_file_command (const char *arg
     const char *value;
   };
 
-  struct section_addr_info *section_addrs;
   std::vector<sect_opt> sect_opts = { { ".text", NULL } };
   bool stop_processing_options = false;
-  struct cleanup *my_cleanups = make_cleanup (null_cleanup, NULL);
+  CORE_ADDR offset = 0;
 
   dont_repeat ();
 
@@ -2234,6 +2172,7 @@ add_symbol_file_command (const char *arg
     error (_("add-symbol-file takes a file name and an address"));
 
   bool seen_addr = false;
+  bool seen_offset = false;
   gdb_argv argv (args);
 
   for (arg = argv[0], argcnt = 0; arg != NULL; arg = argv[++argcnt])
@@ -2271,6 +2210,15 @@ add_symbol_file_command (const char *arg
 	  sect_opts.push_back (sect);
 	  argcnt += 2;
 	}
+      else if (strcmp (arg, "-o") == 0)
+	{
+	  arg = argv[++argcnt];
+	  if (arg == NULL)
+	    error (_("Missing argument to -o"));
+
+	  offset = parse_and_eval_address (arg);
+	  seen_offset = true;
+	}
       else if (strcmp (arg, "--") == 0)
 	stop_processing_options = true;
       else
@@ -2282,39 +2230,37 @@ add_symbol_file_command (const char *arg
 
   validate_readnow_readnever (flags);
 
-  /* This command takes at least two arguments.  The first one is a
-     filename, and the second is the address where this file has been
-     loaded.  Abort now if this address hasn't been provided by the
-     user.  */
-  if (!seen_addr)
-    error (_("The address where %s has been loaded is missing"),
-	   filename.get ());
-
   /* Print the prompt for the query below.  And save the arguments into
      a sect_addr_info structure to be passed around to other
      functions.  We have to split this up into separate print
      statements because hex_string returns a local static
      string.  */
 
-  printf_unfiltered (_("add symbol table from file \"%s\" at\n"),
+  printf_unfiltered (_("add symbol table from file \"%s\""),
 		     filename.get ());
-  section_addrs = alloc_section_addr_info (sect_opts.size ());
-  make_cleanup (xfree, section_addrs);
-  for (sect_opt &sect : sect_opts)
+  section_addr_info section_addrs;
+  std::vector<sect_opt>::const_iterator it = sect_opts.begin ();
+  if (!seen_addr)
+    ++it;
+  for (; it != sect_opts.end (); ++it)
     {
       CORE_ADDR addr;
-      const char *val = sect.value;
-      const char *sec = sect.name;
+      const char *val = it->value;
+      const char *sec = it->name;
 
+      if (section_addrs.empty ())
+	printf_unfiltered (_(" at\n"));
       addr = parse_and_eval_address (val);
 
       /* Here we store the section offsets in the order they were
-         entered on the command line.  */
-      section_addrs->other[sec_num].name = (char *) sec;
-      section_addrs->other[sec_num].addr = addr;
+         entered on the command line.  Every array element is
+         assigned an ascending section index to preserve the above
+         order over an unstable sorting algorithm.  This dummy
+         index is not used for any other purpose.
+      */
+      section_addrs.emplace_back (addr, sec, section_addrs.size ());
       printf_unfiltered ("\t%s_addr = %s\n", sec,
 			 paddress (gdbarch, addr));
-      sec_num++;
 
       /* The object's sections are initialized when a
 	 call is made to build_objfile_section_table (objfile).
@@ -2322,19 +2268,29 @@ add_symbol_file_command (const char *arg
 	 At this point, we don't know what file type this is,
 	 so we can't determine what section names are valid.  */
     }
-  section_addrs->num_sections = sec_num;
+  if (seen_offset)
+      printf_unfiltered (_("%s offset by %s\n"),
+			 (section_addrs.empty ()
+			  ? _(" with all sections")
+			  : _("with other sections")),
+			 paddress (gdbarch, offset));
+  else if (section_addrs.empty ())
+    printf_unfiltered ("\n");
 
   if (from_tty && (!query ("%s", "")))
     error (_("Not confirmed."));
 
-  objf = symbol_file_add (filename.get (), add_flags, section_addrs, flags);
+  objf = symbol_file_add (filename.get (), add_flags, &section_addrs,
+			  flags);
+
+  if (seen_offset)
+    set_objfile_default_section_offset (objf, section_addrs, offset);
 
   add_target_sections_of_objfile (objf);
 
   /* Getting new symbols may change our opinion about what is
      frameless.  */
   reinit_frame_cache ();
-  do_cleanups (my_cleanups);
 }
 
 
@@ -2452,7 +2408,6 @@ reread_symbols (void)
 	  struct cleanup *old_cleanups;
 	  struct section_offsets *offsets;
 	  int num_offsets;
-	  char *original_name;
 
 	  printf_unfiltered (_("`%s' has changed; re-reading symbols.\n"),
 			     objfile_name (objfile));
@@ -2518,8 +2473,7 @@ reread_symbols (void)
 	      error (_("Can't open %s to read symbols."), obfd_filename);
 	  }
 
-	  original_name = xstrdup (objfile->original_name);
-	  make_cleanup (xfree, original_name);
+	  std::string original_name = objfile->original_name;
 
 	  /* bfd_openr sets cacheable to true, which is what we want.  */
 	  if (!bfd_check_format (objfile->obfd, bfd_object))
@@ -2565,8 +2519,9 @@ reread_symbols (void)
 	  set_objfile_per_bfd (objfile);
 
 	  objfile->original_name
-	    = (char *) obstack_copy0 (&objfile->objfile_obstack, original_name,
-				      strlen (original_name));
+	    = (char *) obstack_copy0 (&objfile->objfile_obstack,
+				      original_name.c_str (),
+				      original_name.size ());
 
 	  /* Reset the sym_fns pointer.  The ELF reader can change it
 	     based on whether .gdb_index is present, and we need it to
@@ -2594,7 +2549,7 @@ reread_symbols (void)
 	    }
 
 	  (*objfile->sf->sym_init) (objfile);
-	  clear_complaints (&symfile_complaints, 1, 1);
+	  clear_complaints (1);
 
 	  objfile->flags &= ~OBJF_PSYMTABS_READ;
 
@@ -2624,7 +2579,7 @@ reread_symbols (void)
 	    }
 
 	  /* We're done reading the symbol file; finish off complaints.  */
-	  clear_complaints (&symfile_complaints, 0, 1);
+	  clear_complaints (0);
 
 	  /* Getting new symbols may change our opinion about what is
 	     frameless.  */
@@ -2650,14 +2605,14 @@ reread_symbols (void)
       clear_symtab_users (0);
 
       /* clear_objfile_data for each objfile was called before freeing it and
-	 observer_notify_new_objfile (NULL) has been called by
+	 gdb::observers::new_objfile.notify (NULL) has been called by
 	 clear_symtab_users above.  Notify the new files now.  */
       for (auto iter : new_objfiles)
-	observer_notify_new_objfile (iter);
+	gdb::observers::new_objfile.notify (objfile);
 
       /* At least one objfile has changed, so we can consider that
          the executable we're debugging has changed too.  */
-      observer_notify_executable_changed ();
+      gdb::observers::executable_changed.notify ();
     }
 }
 
@@ -2894,13 +2849,13 @@ clear_symtab_users (symfile_add_flags ad
   clear_displays ();
   clear_last_displayed_sal ();
   clear_pc_function_cache ();
-  observer_notify_new_objfile (NULL);
+  gdb::observers::new_objfile.notify (NULL);
 
   /* Clear globals which might have pointed into a removed objfile.
      FIXME: It's not clear which of these are supposed to persist
      between expressions and which ought to be reset each time.  */
   expression_context_block = NULL;
-  innermost_block = NULL;
+  innermost_block.reset ();
 
   /* Varobj may refer to old symbols, perform a cleanup.  */
   varobj_invalidate ();
@@ -3040,7 +2995,7 @@ section_is_mapped (struct obj_section *o
 	  if (osect->ovly_mapped == -1)
 	    gdbarch_overlay_update (gdbarch, osect);
 	}
-      /* fall thru to manual case */
+      /* fall thru */
     case ovly_on:		/* overlay debugging manual */
       return osect->ovly_mapped == 1;
     }
@@ -3900,7 +3855,7 @@ _initialize_symfile (void)
 {
   struct cmd_list_element *c;
 
-  observer_attach_free_objfile (symfile_free_objfile);
+  gdb::observers::free_objfile.attach (symfile_free_objfile);
 
 #define READNOW_READNEVER_HELP \
   "The '-readnow' option will cause GDB to read the entire symbol file\n\
@@ -3911,19 +3866,22 @@ symbolic debug information."
 
   c = add_cmd ("symbol-file", class_files, symbol_file_command, _("\
 Load symbol table from executable file FILE.\n\
-Usage: symbol-file [-readnow | -readnever] FILE\n\
+Usage: symbol-file [-readnow | -readnever] [-o OFF] FILE\n\
+OFF is an optional offset which is added to each section address.\n\
 The `file' command can also load symbol tables, as well as setting the file\n\
 to execute.\n" READNOW_READNEVER_HELP), &cmdlist);
   set_cmd_completer (c, filename_completer);
 
   c = add_cmd ("add-symbol-file", class_files, add_symbol_file_command, _("\
 Load symbols from FILE, assuming FILE has been dynamically loaded.\n\
-Usage: add-symbol-file FILE ADDR [-readnow | -readnever | \
--s SECT-NAME SECT-ADDR]...\n\
+Usage: add-symbol-file FILE [-readnow | -readnever] [-o OFF] [ADDR] \
+[-s SECT-NAME SECT-ADDR]...\n\
 ADDR is the starting address of the file's text.\n\
 Each '-s' argument provides a section name and address, and\n\
 should be specified if the data and bss segments are not contiguous\n\
-with the text.  SECT-NAME is a section name to be loaded at SECT-ADDR.\n"
+with the text.  SECT-NAME is a section name to be loaded at SECT-ADDR.\n\
+OFF is an optional offset which is added to the default load addresses\n\
+of all sections for which no other address was specified.\n"
 READNOW_READNEVER_HELP),
 	       &cmdlist);
   set_cmd_completer (c, filename_completer);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symfile-debug.c ./gdb/symfile-debug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symfile-debug.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/symfile-debug.c	2018-07-10 02:06:13.000000000 +0000
@@ -28,7 +28,7 @@
 #include "defs.h"
 #include "gdbcmd.h"
 #include "objfiles.h"
-#include "observer.h"
+#include "observable.h"
 #include "source.h"
 #include "symtab.h"
 #include "symfile.h"
@@ -506,7 +506,7 @@ debug_sym_finish (struct objfile *objfil
 
 static void
 debug_sym_offsets (struct objfile *objfile,
-		   const struct section_addr_info *info)
+		   const section_addr_info &info)
 {
   const struct debug_sym_fns_data *debug_data
     = ((const struct debug_sym_fns_data *)
@@ -514,7 +514,7 @@ debug_sym_offsets (struct objfile *objfi
 
   fprintf_filtered (gdb_stdlog, "sf->sym_offsets (%s, %s)\n",
 		    objfile_debug_name (objfile),
-		    host_address_to_string (info));
+		    host_address_to_string (&info));
 
   debug_data->real_sf->sym_offsets (objfile, info);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symfile.h ./gdb/symfile.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symfile.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/symfile.h	2018-07-10 02:06:13.000000000 +0000
@@ -47,10 +47,23 @@ typedef int (symbol_compare_ftype) (cons
 
 struct other_sections
 {
+  other_sections (CORE_ADDR addr_, std::string &&name_, int sectindex_)
+    : addr (addr_),
+      name (std::move (name_)),
+      sectindex (sectindex_)
+  {
+  }
+
+  other_sections (other_sections &&other) = default;
+
+  DISABLE_COPY_AND_ASSIGN (other_sections);
+
   CORE_ADDR addr;
-  char *name;
+  std::string name;
 
-  /* SECTINDEX must be valid for associated BFD or set to -1.  */
+  /* SECTINDEX must be valid for associated BFD or set to -1.
+     See syms_from_objfile_1 for an exception to this rule.
+   */
   int sectindex;
 };
 
@@ -61,15 +74,7 @@ struct other_sections
    to communicate the section addresses in shared objects to
    symbol_file_add ().  */
 
-struct section_addr_info
-{
-  /* The number of sections for which address information is
-     available.  */
-  size_t num_sections;
-  /* Sections whose names are file format dependent.  */
-  struct other_sections other[1];
-};
-
+typedef std::vector<other_sections> section_addr_info;
 
 /* A table listing the load segments in a symfile, and which segment
    each BFD section belongs to.  */
@@ -340,7 +345,7 @@ struct sym_fns
      The section_addr_info structure contains the offset of loadable and
      allocated sections, relative to the absolute offsets found in the BFD.  */
 
-  void (*sym_offsets) (struct objfile *, const struct section_addr_info *);
+  void (*sym_offsets) (struct objfile *, const section_addr_info &);
 
   /* This function produces a format-independent description of
      the segments of ABFD.  Each segment is a unit of the file
@@ -369,21 +374,21 @@ struct sym_fns
   const struct quick_symbol_functions *qf;
 };
 
-extern struct section_addr_info *
+extern section_addr_info
   build_section_addr_info_from_objfile (const struct objfile *objfile);
 
 extern void relative_addr_info_to_section_offsets
   (struct section_offsets *section_offsets, int num_sections,
-   const struct section_addr_info *addrs);
+   const section_addr_info &addrs);
 
-extern void addr_info_make_relative (struct section_addr_info *addrs,
+extern void addr_info_make_relative (section_addr_info *addrs,
 				     bfd *abfd);
 
 /* The default version of sym_fns.sym_offsets for readers that don't
    do anything special.  */
 
 extern void default_symfile_offsets (struct objfile *objfile,
-				     const struct section_addr_info *);
+				     const section_addr_info &);
 
 /* The default version of sym_fns.sym_segments for readers that don't
    do anything special.  */
@@ -417,37 +422,26 @@ extern enum language deduce_language_fro
 extern void add_filename_language (const char *ext, enum language lang);
 
 extern struct objfile *symbol_file_add (const char *, symfile_add_flags,
-					struct section_addr_info *, objfile_flags);
+					section_addr_info *, objfile_flags);
 
 extern struct objfile *symbol_file_add_from_bfd (bfd *, const char *, symfile_add_flags,
-                                                 struct section_addr_info *,
+						 section_addr_info *,
                                                  objfile_flags, struct objfile *parent);
 
 extern void symbol_file_add_separate (bfd *, const char *, symfile_add_flags,
 				      struct objfile *);
 
-extern char *find_separate_debug_file_by_debuglink (struct objfile *);
-
-/* Create a new section_addr_info, with room for NUM_SECTIONS.  */
-
-extern struct section_addr_info *alloc_section_addr_info (size_t
-							  num_sections);
+extern std::string find_separate_debug_file_by_debuglink (struct objfile *);
 
 /* Build (allocate and populate) a section_addr_info struct from an
    existing section table.  */
 
-extern struct section_addr_info
-  *build_section_addr_info_from_section_table (const struct target_section
+extern section_addr_info
+   build_section_addr_info_from_section_table (const struct target_section
 					       *start,
 					       const struct target_section
 					       *end);
 
-/* Free all memory allocated by
-   build_section_addr_info_from_section_table.  */
-
-extern void free_section_addr_info (struct section_addr_info *);
-
-
 			/*   Variables   */
 
 /* If non-zero, shared library symbols will be added automatically
@@ -622,8 +616,6 @@ extern bool dwarf2_initialize_objfile (s
 extern void dwarf2_build_psymtabs (struct objfile *);
 extern void dwarf2_build_frame_info (struct objfile *);
 
-void dwarf2_free_objfile (struct objfile *);
-
 /* From mdebugread.c */
 
 extern void mdebug_build_psymtabs (minimal_symbol_reader &,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symfile-mem.c ./gdb/symfile-mem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symfile-mem.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/symfile-mem.c	2018-07-10 02:06:13.000000000 +0000
@@ -49,7 +49,7 @@
 #include "target.h"
 #include "value.h"
 #include "symfile.h"
-#include "observer.h"
+#include "observable.h"
 #include "auxv.h"
 #include "elf/common.h"
 #include "gdb_bfd.h"
@@ -88,9 +88,6 @@ symbol_file_add_from_memory (struct bfd 
   struct bfd *nbfd;
   struct bfd_section *sec;
   bfd_vma loadbase;
-  struct section_addr_info *sai;
-  unsigned int i;
-  struct cleanup *cleanup;
   symfile_add_flags add_flags = 0;
 
   if (bfd_get_flavour (templ) != bfd_target_elf_flavour)
@@ -102,7 +99,7 @@ symbol_file_add_from_memory (struct bfd 
     error (_("Failed to read a valid object file image from memory."));
 
   /* Manage the new reference for the duration of this function.  */
-  gdb_bfd_ref_ptr nbfd_holder = new_bfd_ref (nbfd);
+  gdb_bfd_ref_ptr nbfd_holder = gdb_bfd_ref_ptr::new_reference (nbfd);
 
   xfree (bfd_get_filename (nbfd));
   if (name == NULL)
@@ -114,31 +111,24 @@ symbol_file_add_from_memory (struct bfd 
     error (_("Got object file from memory but can't read symbols: %s."),
 	   bfd_errmsg (bfd_get_error ()));
 
-  sai = alloc_section_addr_info (bfd_count_sections (nbfd));
-  cleanup = make_cleanup (xfree, sai);
-  i = 0;
+  section_addr_info sai;
   for (sec = nbfd->sections; sec != NULL; sec = sec->next)
     if ((bfd_get_section_flags (nbfd, sec) & (SEC_ALLOC|SEC_LOAD)) != 0)
-      {
-	sai->other[i].addr = bfd_get_section_vma (nbfd, sec) + loadbase;
-	sai->other[i].name = (char *) bfd_get_section_name (nbfd, sec);
-	sai->other[i].sectindex = sec->index;
-	++i;
-      }
-  sai->num_sections = i;
+      sai.emplace_back (bfd_get_section_vma (nbfd, sec) + loadbase,
+			bfd_get_section_name (nbfd, sec),
+			sec->index);
 
   if (from_tty)
     add_flags |= SYMFILE_VERBOSE;
 
   objf = symbol_file_add_from_bfd (nbfd, bfd_get_filename (nbfd),
-				   add_flags, sai, OBJF_SHARED, NULL);
+				   add_flags, &sai, OBJF_SHARED, NULL);
 
   add_target_sections_of_objfile (objf);
 
   /* This might change our ideas about frames already looked at.  */
   reinit_frame_cache ();
 
-  do_cleanups (cleanup);
   return objf;
 }
 
@@ -229,5 +219,5 @@ _initialize_symfile_mem (void)
 
   /* Want to know of each new inferior so that its vsyscall info can
      be extracted.  */
-  observer_attach_inferior_created (add_vsyscall_page);
+  gdb::observers::inferior_created.attach (add_vsyscall_page);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symmisc.c ./gdb/symmisc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symmisc.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/symmisc.c	2018-07-10 02:06:13.000000000 +0000
@@ -209,6 +209,7 @@ dump_msymbols (struct objfile *objfile, 
 	  ms_type = 'T';
 	  break;
 	case mst_text_gnu_ifunc:
+	case mst_data_gnu_ifunc:
 	  ms_type = 'i';
 	  break;
 	case mst_solib_trampoline:
@@ -540,7 +541,7 @@ print_symbol (struct gdbarch *gdbarch, s
 
   if (SYMBOL_DOMAIN (symbol) == STRUCT_DOMAIN)
     {
-      if (TYPE_TAG_NAME (SYMBOL_TYPE (symbol)))
+      if (TYPE_NAME (SYMBOL_TYPE (symbol)))
 	{
 	  LA_PRINT_TYPE (SYMBOL_TYPE (symbol), "", outfile, 1, depth,
 			 &type_print_raw_options);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symtab.c ./gdb/symtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symtab.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/symtab.c	2018-07-10 02:06:13.000000000 +0000
@@ -54,7 +54,7 @@
 #include <ctype.h>
 #include "cp-abi.h"
 #include "cp-support.h"
-#include "observer.h"
+#include "observable.h"
 #include "solist.h"
 #include "macrotab.h"
 #include "macroscope.h"
@@ -528,7 +528,7 @@ gdb_mangle_name (struct type *type, int 
   struct fn_field *method = &f[signature_id];
   const char *field_name = TYPE_FN_FIELDLIST_NAME (type, method_id);
   const char *physname = TYPE_FN_FIELD_PHYSNAME (f, signature_id);
-  const char *newname = type_name_no_tag (type);
+  const char *newname = TYPE_NAME (type);
 
   /* Does the form of physname indicate that it is the full mangled name
      of a constructor (not just the args)?  */
@@ -3046,8 +3046,6 @@ find_symbol_at_address (CORE_ADDR addres
    find the one whose first PC is closer than that of the next line in this
    symtab.  */
 
-/* If it's worth the effort, we could be using a binary search.  */
-
 struct symtab_and_line
 find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
 {
@@ -3214,15 +3212,17 @@ find_pc_sect_line (CORE_ADDR pc, struct 
       if (item->pc > pc && (!alt || item->pc < alt->pc))
 	alt = item;
 
-      for (i = 0; i < len; i++, item++)
-	{
-	  /* Leave prev pointing to the linetable entry for the last line
-	     that started at or before PC.  */
-	  if (item->pc > pc)
-	    break;
+      auto pc_compare = [](const CORE_ADDR & pc,
+			   const struct linetable_entry & lhs)->bool
+      {
+	return pc < lhs.pc;
+      };
 
-	  prev = item;
-	}
+      struct linetable_entry *first = item;
+      struct linetable_entry *last = item + len;
+      item = std::upper_bound (first, last, pc, pc_compare);
+      if (item != first)
+	prev = item - 1;		/* Found a matching item.  */
 
       /* At this point, prev points at the line whose start addr is <= pc, and
          item points at the next line.  If we ran off the end of the linetable
@@ -3245,10 +3245,10 @@ find_pc_sect_line (CORE_ADDR pc, struct 
 	}
 
       /* If another line (denoted by ITEM) is in the linetable and its
-         PC is after BEST's PC, but before the current BEST_END, then
+	 PC is after BEST's PC, but before the current BEST_END, then
 	 use ITEM's PC as the new best_end.  */
-      if (best && i < len && item->pc > best->pc
-          && (best_end == 0 || best_end > item->pc))
+      if (best && item < last && item->pc > best->pc
+	  && (best_end == 0 || best_end > item->pc))
 	best_end = item->pc;
     }
 
@@ -3575,46 +3575,37 @@ find_pc_line_pc_range (CORE_ADDR pc, COR
   return sal.symtab != 0;
 }
 
-/* Given a function symbol SYM, find the symtab and line for the start
-   of the function.
-   If the argument FUNFIRSTLINE is nonzero, we want the first line
-   of real code inside the function.
-   This function should return SALs matching those from minsym_found,
-   otherwise false multiple-locations breakpoints could be placed.  */
+/* Helper for find_function_start_sal.  Does most of the work, except
+   setting the sal's symbol.  */
 
-struct symtab_and_line
-find_function_start_sal (struct symbol *sym, int funfirstline)
+static symtab_and_line
+find_function_start_sal_1 (CORE_ADDR func_addr, obj_section *section,
+			   bool funfirstline)
 {
-  fixup_symbol_section (sym, NULL);
-
-  obj_section *section = SYMBOL_OBJ_SECTION (symbol_objfile (sym), sym);
-  symtab_and_line sal
-    = find_pc_sect_line (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)), section, 0);
-  sal.symbol = sym;
+  symtab_and_line sal = find_pc_sect_line (func_addr, section, 0);
 
   if (funfirstline && sal.symtab != NULL
       && (COMPUNIT_LOCATIONS_VALID (SYMTAB_COMPUNIT (sal.symtab))
 	  || SYMTAB_LANGUAGE (sal.symtab) == language_asm))
     {
-      struct gdbarch *gdbarch = symbol_arch (sym);
+      struct gdbarch *gdbarch = get_objfile_arch (SYMTAB_OBJFILE (sal.symtab));
 
-      sal.pc = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
+      sal.pc = func_addr;
       if (gdbarch_skip_entrypoint_p (gdbarch))
 	sal.pc = gdbarch_skip_entrypoint (gdbarch, sal.pc);
       return sal;
     }
 
   /* We always should have a line for the function start address.
-     If we don't, something is odd.  Create a plain SAL refering
+     If we don't, something is odd.  Create a plain SAL referring
      just the PC and hope that skip_prologue_sal (if requested)
      can find a line number for after the prologue.  */
-  if (sal.pc < BLOCK_START (SYMBOL_BLOCK_VALUE (sym)))
+  if (sal.pc < func_addr)
     {
       sal = {};
       sal.pspace = current_program_space;
-      sal.pc = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
+      sal.pc = func_addr;
       sal.section = section;
-      sal.symbol = sym;
     }
 
   if (funfirstline)
@@ -3623,6 +3614,38 @@ find_function_start_sal (struct symbol *
   return sal;
 }
 
+/* See symtab.h.  */
+
+symtab_and_line
+find_function_start_sal (CORE_ADDR func_addr, obj_section *section,
+			 bool funfirstline)
+{
+  symtab_and_line sal
+    = find_function_start_sal_1 (func_addr, section, funfirstline);
+
+  /* find_function_start_sal_1 does a linetable search, so it finds
+     the symtab and linenumber, but not a symbol.  Fill in the
+     function symbol too.  */
+  sal.symbol = find_pc_sect_containing_function (sal.pc, sal.section);
+
+  return sal;
+}
+
+/* See symtab.h.  */
+
+symtab_and_line
+find_function_start_sal (symbol *sym, bool funfirstline)
+{
+  fixup_symbol_section (sym, NULL);
+  symtab_and_line sal
+    = find_function_start_sal_1 (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)),
+				 SYMBOL_OBJ_SECTION (symbol_objfile (sym), sym),
+				 funfirstline);
+  sal.symbol = sym;
+  return sal;
+}
+
+
 /* Given a function start address FUNC_ADDR and SYMTAB, find the first
    address for that function that has an entry in SYMTAB's line info
    table.  If such an entry cannot be found, return FUNC_ADDR
@@ -4500,7 +4523,9 @@ search_symbols (const char *regexp, enum
 
 /* Helper function for symtab_symbol_info, this function uses
    the data returned from search_symbols() to print information
-   regarding the match to gdb_stdout.  */
+   regarding the match to gdb_stdout.  If LAST is not NULL,
+   print file and line number information for the symbol as
+   well.  Skip printing the filename if it matches LAST.  */
 
 static void
 print_symbol_info (enum search_domain kind,
@@ -4508,13 +4533,22 @@ print_symbol_info (enum search_domain ki
 		   int block, const char *last)
 {
   struct symtab *s = symbol_symtab (sym);
-  const char *s_filename = symtab_to_filename_for_display (s);
 
-  if (last == NULL || filename_cmp (last, s_filename) != 0)
+  if (last != NULL)
     {
-      fputs_filtered ("\nFile ", gdb_stdout);
-      fputs_filtered (s_filename, gdb_stdout);
-      fputs_filtered (":\n", gdb_stdout);
+      const char *s_filename = symtab_to_filename_for_display (s);
+
+      if (filename_cmp (last, s_filename) != 0)
+	{
+	  fputs_filtered ("\nFile ", gdb_stdout);
+	  fputs_filtered (s_filename, gdb_stdout);
+	  fputs_filtered (":\n", gdb_stdout);
+	}
+
+      if (SYMBOL_LINE (sym) != 0)
+	printf_filtered ("%d:\t", SYMBOL_LINE (sym));
+      else
+	puts_filtered ("\t");
     }
 
   if (kind != TYPES_DOMAIN && block == STATIC_BLOCK)
@@ -4568,7 +4602,7 @@ symtab_symbol_info (const char *regexp, 
 {
   static const char * const classnames[] =
     {"variable", "function", "type"};
-  const char *last_filename = NULL;
+  const char *last_filename = "";
   int first = 1;
 
   gdb_assert (kind <= TYPES_DOMAIN);
@@ -4679,10 +4713,7 @@ rbreak_command (const char *regexp, int 
 	  string = string_printf ("%s:'%s'", fullname,
 				  SYMBOL_LINKAGE_NAME (p.symbol));
 	  break_command (&string[0], from_tty);
-	  print_symbol_info (FUNCTIONS_DOMAIN,
-			     p.symbol,
-			     p.block,
-			     symtab_to_filename_for_display (symtab));
+	  print_symbol_info (FUNCTIONS_DOMAIN, p.symbol, p.block, NULL);
 	}
       else
 	{
@@ -4945,6 +4976,50 @@ symbol_is_function_or_method (minimal_sy
     }
 }
 
+/* See symtab.h.  */
+
+bound_minimal_symbol
+find_gnu_ifunc (const symbol *sym)
+{
+  if (SYMBOL_CLASS (sym) != LOC_BLOCK)
+    return {};
+
+  lookup_name_info lookup_name (SYMBOL_SEARCH_NAME (sym),
+				symbol_name_match_type::SEARCH_NAME);
+  struct objfile *objfile = symbol_objfile (sym);
+
+  CORE_ADDR address = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
+  minimal_symbol *ifunc = NULL;
+
+  iterate_over_minimal_symbols (objfile, lookup_name,
+				[&] (minimal_symbol *minsym)
+    {
+      if (MSYMBOL_TYPE (minsym) == mst_text_gnu_ifunc
+	  || MSYMBOL_TYPE (minsym) == mst_data_gnu_ifunc)
+	{
+	  CORE_ADDR msym_addr = MSYMBOL_VALUE_ADDRESS (objfile, minsym);
+	  if (MSYMBOL_TYPE (minsym) == mst_data_gnu_ifunc)
+	    {
+	      struct gdbarch *gdbarch = get_objfile_arch (objfile);
+	      msym_addr
+		= gdbarch_convert_from_func_ptr_addr (gdbarch,
+						      msym_addr,
+						      current_top_target ());
+	    }
+	  if (msym_addr == address)
+	    {
+	      ifunc = minsym;
+	      return true;
+	    }
+	}
+      return false;
+    });
+
+  if (ifunc != NULL)
+    return {ifunc, objfile};
+  return {};
+}
+
 /* Add matching symbols from SYMTAB to the current completion list.  */
 
 static void
@@ -5155,7 +5230,7 @@ default_collect_symbol_completion_matche
   if (current_language->la_macro_expansion == macro_expansion_c
       && code == TYPE_CODE_UNDEF)
     {
-      struct macro_scope *scope;
+      gdb::unique_xmalloc_ptr<struct macro_scope> scope;
 
       /* This adds a macro's name to the current completion list.  */
       auto add_macro_name = [&] (const char *macro_name,
@@ -5176,11 +5251,8 @@ default_collect_symbol_completion_matche
 	 completion time.  */
       scope = default_macro_scope ();
       if (scope)
-	{
-	  macro_for_each_in_scope (scope->file, scope->line,
-				   add_macro_name);
-	  xfree (scope);
-	}
+	macro_for_each_in_scope (scope->file, scope->line,
+				 add_macro_name);
 
       /* User-defined macros are always visible.  */
       macro_for_each (macro_user_macros, add_macro_name);
@@ -5920,7 +5992,7 @@ If zero then the symbol cache is disable
 	   _("Flush the symbol cache for each program space."),
 	   &maintenancelist);
 
-  observer_attach_executable_changed (symtab_observer_executable_changed);
-  observer_attach_new_objfile (symtab_new_objfile_observer);
-  observer_attach_free_objfile (symtab_free_objfile_observer);
+  gdb::observers::executable_changed.attach (symtab_observer_executable_changed);
+  gdb::observers::new_objfile.attach (symtab_new_objfile_observer);
+  gdb::observers::free_objfile.attach (symtab_free_objfile_observer);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symtab.h ./gdb/symtab.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/symtab.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/symtab.h	2018-07-10 02:06:13.000000000 +0000
@@ -580,8 +580,26 @@ enum minimal_symbol_type
 {
   mst_unknown = 0,		/* Unknown type, the default */
   mst_text,			/* Generally executable instructions */
-  mst_text_gnu_ifunc,		/* Executable code returning address
+
+  /* A GNU ifunc symbol, in the .text section.  GDB uses to know
+     whether the user is setting a breakpoint on a GNU ifunc function,
+     and thus GDB needs to actually set the breakpoint on the target
+     function.  It is also used to know whether the program stepped
+     into an ifunc resolver -- the resolver may get a separate
+     symbol/alias under a different name, but it'll have the same
+     address as the ifunc symbol.  */
+  mst_text_gnu_ifunc,           /* Executable code returning address
+				   of executable code */
+
+  /* A GNU ifunc function descriptor symbol, in a data section
+     (typically ".opd").  Seen on architectures that use function
+     descriptors, like PPC64/ELFv1.  In this case, this symbol's value
+     is the address of the descriptor.  There'll be a corresponding
+     mst_text_gnu_ifunc synthetic symbol for the text/entry
+     address.  */
+  mst_data_gnu_ifunc,		/* Executable code returning address
 				   of executable code */
+
   mst_slot_got_plt,		/* GOT entries for .plt sections */
   mst_data,			/* Generally initialized data */
   mst_bss,			/* Generally uninitialized data */
@@ -1652,29 +1670,49 @@ extern struct type *lookup_enum (const c
 
 /* from blockframe.c: */
 
-/* lookup the function symbol corresponding to the address.  */
+/* lookup the function symbol corresponding to the address.  The
+   return value will not be an inlined function; the containing
+   function will be returned instead.  */
 
 extern struct symbol *find_pc_function (CORE_ADDR);
 
-/* lookup the function corresponding to the address and section.  */
+/* lookup the function corresponding to the address and section.  The
+   return value will not be an inlined function; the containing
+   function will be returned instead.  */
 
 extern struct symbol *find_pc_sect_function (CORE_ADDR, struct obj_section *);
 
+/* lookup the function symbol corresponding to the address and
+   section.  The return value will be the closest enclosing function,
+   which might be an inline function.  */
+
+extern struct symbol *find_pc_sect_containing_function
+  (CORE_ADDR pc, struct obj_section *section);
+
 /* Find the symbol at the given address.  Returns NULL if no symbol
    found.  Only exact matches for ADDRESS are considered.  */
 
 extern struct symbol *find_symbol_at_address (CORE_ADDR);
 
-extern int find_pc_partial_function_gnu_ifunc (CORE_ADDR pc, const char **name,
-					       CORE_ADDR *address,
-					       CORE_ADDR *endaddr,
-					       int *is_gnu_ifunc_p);
-
 /* lookup function from address, return name, start addr and end addr.  */
 
 extern int find_pc_partial_function (CORE_ADDR, const char **, CORE_ADDR *,
 				     CORE_ADDR *);
 
+/* Return the type of a function with its first instruction exactly at
+   the PC address.  Return NULL otherwise.  */
+
+extern struct type *find_function_type (CORE_ADDR pc);
+
+/* See if we can figure out the function's actual type from the type
+   that the resolver returns.  RESOLVER_FUNADDR is the address of the
+   ifunc resolver.  */
+
+extern struct type *find_gnu_ifunc_target_type (CORE_ADDR resolver_funaddr);
+
+/* Find the GNU ifunc minimal symbol that matches SYM.  */
+extern bound_minimal_symbol find_gnu_ifunc (const symbol *sym);
+
 extern void clear_pc_function_cache (void);
 
 /* Expand symtab containing PC, SECTION if not already expanded.  */
@@ -1751,6 +1789,7 @@ struct symtab_and_line
   struct symtab *symtab = NULL;
   struct symbol *symbol = NULL;
   struct obj_section *section = NULL;
+  struct minimal_symbol *msymbol = NULL;
   /* Line number.  Line numbers start at 1 and proceed through symtab->nlines.
      0 is never a valid line number; it is used to indicate that line number
      information is not available.  */
@@ -1889,8 +1928,17 @@ int matching_obj_sections (struct obj_se
 
 extern struct symtab *find_line_symtab (struct symtab *, int, int *, int *);
 
-extern struct symtab_and_line find_function_start_sal (struct symbol *sym,
-						       int);
+/* Given a function symbol SYM, find the symtab and line for the start
+   of the function.  If FUNFIRSTLINE is true, we want the first line
+   of real code inside the function.  */
+extern symtab_and_line find_function_start_sal (symbol *sym, bool
+						funfirstline);
+
+/* Same, but start with a function address/section instead of a
+   symbol.  */
+extern symtab_and_line find_function_start_sal (CORE_ADDR func_addr,
+						obj_section *section,
+						bool funfirstline);
 
 extern void skip_prologue_sal (struct symtab_and_line *);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target/target.h ./gdb/target/target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target/target.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/target/target.h	2018-07-10 02:06:13.000000000 +0000
@@ -95,6 +95,21 @@ extern void target_mourn_inferior (ptid_
 
 extern int target_supports_multi_process (void);
 
+/* Possible terminal states.  */
+
+enum class target_terminal_state
+  {
+    /* The inferior's terminal settings are in effect.  */
+    is_inferior = 0,
+
+    /* Some of our terminal settings are in effect, enough to get
+       proper output.  */
+    is_ours_for_output = 1,
+
+    /* Our terminal settings are in effect, for output and input.  */
+    is_ours = 2
+  };
+
 /* Represents the state of the target terminal.  */
 class target_terminal
 {
@@ -108,9 +123,9 @@ public:
      before we actually run the inferior.  */
   static void init ();
 
-  /* Put the inferior's terminal settings into effect.  This is
-     preparation for starting or resuming the inferior.  This is a no-op
-     unless called with the main UI as current UI.  */
+  /* Put the current inferior's terminal settings into effect.  This
+     is preparation for starting or resuming the inferior.  This is a
+     no-op unless called with the main UI as current UI.  */
   static void inferior ();
 
   /* Put our terminal settings into effect.  First record the inferior's
@@ -125,40 +140,34 @@ public:
      UI as current UI.  */
   static void ours_for_output ();
 
+  /* Restore terminal settings of inferiors that are in
+     is_ours_for_output state back to "inferior".  Used when we need
+     to temporarily switch to is_ours_for_output state.  */
+  static void restore_inferior ();
+
   /* Returns true if the terminal settings of the inferior are in
      effect.  */
   static bool is_inferior ()
   {
-    return terminal_state == terminal_is_inferior;
+    return m_terminal_state == target_terminal_state::is_inferior;
   }
 
   /* Returns true if our terminal settings are in effect.  */
   static bool is_ours ()
   {
-    return terminal_state == terminal_is_ours;
+    return m_terminal_state == target_terminal_state::is_ours;
+  }
+
+  /* Returns true if our terminal settings are in effect.  */
+  static bool is_ours_for_output ()
+  {
+    return m_terminal_state == target_terminal_state::is_ours_for_output;
   }
 
   /* Print useful information about our terminal status, if such a thing
      exists.  */
   static void info (const char *arg, int from_tty);
 
-private:
-
-  /* Possible terminal states.  */
-
-  enum terminal_state
-    {
-     /* The inferior's terminal settings are in effect.  */
-     terminal_is_inferior = 0,
-
-     /* Some of our terminal settings are in effect, enough to get
-	proper output.  */
-     terminal_is_ours_for_output = 1,
-
-     /* Our terminal settings are in effect, for output and input.  */
-     terminal_is_ours = 2
-    };
-
 public:
 
   /* A class that restores the state of the terminal to the current
@@ -168,7 +177,7 @@ public:
   public:
 
     scoped_restore_terminal_state ()
-      : m_state (terminal_state)
+      : m_state (m_terminal_state)
     {
     }
 
@@ -176,14 +185,14 @@ public:
     {
       switch (m_state)
 	{
-	case terminal_is_ours:
+	case target_terminal_state::is_ours:
 	  ours ();
 	  break;
-	case terminal_is_ours_for_output:
+	case target_terminal_state::is_ours_for_output:
 	  ours_for_output ();
 	  break;
-	case terminal_is_inferior:
-	  inferior ();
+	case target_terminal_state::is_inferior:
+	  restore_inferior ();
 	  break;
 	}
     }
@@ -192,12 +201,12 @@ public:
 
   private:
 
-    target_terminal::terminal_state m_state;
+    target_terminal_state m_state;
   };
 
 private:
 
-  static terminal_state terminal_state;
+  static target_terminal_state m_terminal_state;
 };
 
 #endif /* TARGET_COMMON_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target.c ./gdb/target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/target.c	2018-07-10 02:06:13.000000000 +0000
@@ -47,6 +47,9 @@
 #include "event-top.h"
 #include <algorithm>
 #include "byte-vector.h"
+#include "terminal.h"
+#include <algorithm>
+#include <unordered_map>
 
 static void generic_tls_error (void) ATTRIBUTE_NORETURN;
 
@@ -84,10 +87,6 @@ static struct address_space *default_thr
 
 static void tcomplain (void) ATTRIBUTE_NORETURN;
 
-static int return_zero (struct target_ops *);
-
-static int return_zero_has_execution (struct target_ops *, ptid_t);
-
 static struct target_ops *find_default_run_target (const char *);
 
 static struct gdbarch *default_thread_architecture (struct target_ops *ops,
@@ -105,32 +104,34 @@ static const char *default_pid_to_str (s
 static enum exec_direction_kind default_execution_direction
     (struct target_ops *self);
 
-static struct target_ops debug_target;
-
-#include "target-delegates.c"
-
-static void init_dummy_target (void);
-
-static void update_current_target (void);
-
-/* Vector of existing target structures. */
-typedef struct target_ops *target_ops_p;
-DEF_VEC_P (target_ops_p);
-static VEC (target_ops_p) *target_structs;
+/* Mapping between target_info objects (which have address identity)
+   and corresponding open/factory function/callback.  Each add_target
+   call adds one entry to this map, and registers a "target
+   TARGET_NAME" command that when invoked calls the factory registered
+   here.  The target_info object is associated with the command via
+   the command's context.  */
+static std::unordered_map<const target_info *, target_open_ftype *>
+  target_factories;
 
 /* The initial current target, so that there is always a semi-valid
    current target.  */
 
-static struct target_ops dummy_target;
+static struct target_ops *the_dummy_target;
+static struct target_ops *the_debug_target;
 
-/* Top of target stack.  */
+/* The target stack.  */
 
-static struct target_ops *target_stack;
+static target_stack g_target_stack;
 
+/* Top of target stack.  */
 /* The target structure we are currently using to talk to a process
    or file or whatever "inferior" we have.  */
 
-struct target_ops current_target;
+target_ops *
+current_top_target ()
+{
+  return g_target_stack.top ();
+}
 
 /* Command list for target.  */
 
@@ -169,7 +170,10 @@ static unsigned int targetdebug = 0;
 static void
 set_targetdebug  (const char *args, int from_tty, struct cmd_list_element *c)
 {
-  update_current_target ();
+  if (targetdebug)
+    push_target (the_debug_target);
+  else
+    unpush_target (the_debug_target);
 }
 
 static void
@@ -179,8 +183,6 @@ show_targetdebug (struct ui_file *file, 
   fprintf_filtered (file, _("Target debugging is %s.\n"), value);
 }
 
-static void setup_target_debug (void);
-
 /* The user just typed 'target' without the name of a target.  */
 
 static void
@@ -190,54 +192,75 @@ target_command (const char *arg, int fro
 		  gdb_stdout);
 }
 
+#if GDB_SELF_TEST
+namespace selftests {
+
+/* A mock process_stratum target_ops that doesn't read/write registers
+   anywhere.  */
+
+static const target_info test_target_info = {
+  "test",
+  N_("unit tests target"),
+  N_("You should never see this"),
+};
+
+const target_info &
+test_target_ops::info () const
+{
+  return test_target_info;
+}
+
+} /* namespace selftests */
+#endif /* GDB_SELF_TEST */
+
 /* Default target_has_* methods for process_stratum targets.  */
 
 int
-default_child_has_all_memory (struct target_ops *ops)
+default_child_has_all_memory ()
 {
   /* If no inferior selected, then we can't read memory here.  */
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     return 0;
 
   return 1;
 }
 
 int
-default_child_has_memory (struct target_ops *ops)
+default_child_has_memory ()
 {
   /* If no inferior selected, then we can't read memory here.  */
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     return 0;
 
   return 1;
 }
 
 int
-default_child_has_stack (struct target_ops *ops)
+default_child_has_stack ()
 {
   /* If no inferior selected, there's no stack.  */
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     return 0;
 
   return 1;
 }
 
 int
-default_child_has_registers (struct target_ops *ops)
+default_child_has_registers ()
 {
   /* Can't read registers from no inferior.  */
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     return 0;
 
   return 1;
 }
 
 int
-default_child_has_execution (struct target_ops *ops, ptid_t the_ptid)
+default_child_has_execution (ptid_t the_ptid)
 {
   /* If there's no thread selected, then we can't make it run through
      hoops.  */
-  if (ptid_equal (the_ptid, null_ptid))
+  if (the_ptid == null_ptid)
     return 0;
 
   return 1;
@@ -247,10 +270,8 @@ default_child_has_execution (struct targ
 int
 target_has_all_memory_1 (void)
 {
-  struct target_ops *t;
-
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
-    if (t->to_has_all_memory (t))
+  for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ())
+    if (t->has_all_memory ())
       return 1;
 
   return 0;
@@ -259,10 +280,8 @@ target_has_all_memory_1 (void)
 int
 target_has_memory_1 (void)
 {
-  struct target_ops *t;
-
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
-    if (t->to_has_memory (t))
+  for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ())
+    if (t->has_memory ())
       return 1;
 
   return 0;
@@ -271,10 +290,8 @@ target_has_memory_1 (void)
 int
 target_has_stack_1 (void)
 {
-  struct target_ops *t;
-
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
-    if (t->to_has_stack (t))
+  for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ())
+    if (t->has_stack ())
       return 1;
 
   return 0;
@@ -283,10 +300,8 @@ target_has_stack_1 (void)
 int
 target_has_registers_1 (void)
 {
-  struct target_ops *t;
-
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
-    if (t->to_has_registers (t))
+  for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ())
+    if (t->has_registers ())
       return 1;
 
   return 0;
@@ -295,10 +310,8 @@ target_has_registers_1 (void)
 int
 target_has_execution_1 (ptid_t the_ptid)
 {
-  struct target_ops *t;
-
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
-    if (t->to_has_execution (t, the_ptid))
+  for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ())
+    if (t->has_execution (the_ptid))
       return 1;
 
   return 0;
@@ -310,69 +323,38 @@ target_has_execution_current (void)
   return target_has_execution_1 (inferior_ptid);
 }
 
-/* Complete initialization of T.  This ensures that various fields in
-   T are set, if needed by the target implementation.  */
-
-void
-complete_target_initialization (struct target_ops *t)
-{
-  /* Provide default values for all "must have" methods.  */
-
-  if (t->to_has_all_memory == NULL)
-    t->to_has_all_memory = return_zero;
-
-  if (t->to_has_memory == NULL)
-    t->to_has_memory = return_zero;
-
-  if (t->to_has_stack == NULL)
-    t->to_has_stack = return_zero;
-
-  if (t->to_has_registers == NULL)
-    t->to_has_registers = return_zero;
-
-  if (t->to_has_execution == NULL)
-    t->to_has_execution = return_zero_has_execution;
-
-  /* These methods can be called on an unpushed target and so require
-     a default implementation if the target might plausibly be the
-     default run target.  */
-  gdb_assert (t->to_can_run == NULL || (t->to_can_async_p != NULL
-					&& t->to_supports_non_stop != NULL));
-
-  install_delegators (t);
-}
-
 /* This is used to implement the various target commands.  */
 
 static void
 open_target (const char *args, int from_tty, struct cmd_list_element *command)
 {
-  struct target_ops *ops = (struct target_ops *) get_cmd_context (command);
+  auto *ti = static_cast<target_info *> (get_cmd_context (command));
+  target_open_ftype *func = target_factories[ti];
 
   if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "-> %s->to_open (...)\n",
-			ops->to_shortname);
+    fprintf_unfiltered (gdb_stdlog, "-> %s->open (...)\n",
+			ti->shortname);
 
-  ops->to_open (args, from_tty);
+  func (args, from_tty);
 
   if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "<- %s->to_open (%s, %d)\n",
-			ops->to_shortname, args, from_tty);
+    fprintf_unfiltered (gdb_stdlog, "<- %s->open (%s, %d)\n",
+			ti->shortname, args, from_tty);
 }
 
-/* Add possible target architecture T to the list and add a new
-   command 'target T->to_shortname'.  Set COMPLETER as the command's
-   completer if not NULL.  */
+/* See target.h.  */
 
 void
-add_target_with_completer (struct target_ops *t,
-			   completer_ftype *completer)
+add_target (const target_info &t, target_open_ftype *func,
+	    completer_ftype *completer)
 {
   struct cmd_list_element *c;
 
-  complete_target_initialization (t);
-
-  VEC_safe_push (target_ops_p, target_structs, t);
+  auto &func_slot = target_factories[&t];
+  if (func_slot != nullptr)
+    internal_error (__FILE__, __LINE__,
+		    _("target already added (\"%s\")."), t.shortname);
+  func_slot = func;
 
   if (targetlist == NULL)
     add_prefix_cmd ("target", class_run, target_command, _("\
@@ -382,35 +364,27 @@ Remaining arguments are interpreted by t
 information on the arguments for a particular protocol, type\n\
 `help target ' followed by the protocol name."),
 		    &targetlist, "target ", 0, &cmdlist);
-  c = add_cmd (t->to_shortname, no_class, t->to_doc, &targetlist);
+  c = add_cmd (t.shortname, no_class, t.doc, &targetlist);
+  set_cmd_context (c, (void *) &t);
   set_cmd_sfunc (c, open_target);
-  set_cmd_context (c, t);
   if (completer != NULL)
     set_cmd_completer (c, completer);
 }
 
-/* Add a possible target architecture to the list.  */
-
-void
-add_target (struct target_ops *t)
-{
-  add_target_with_completer (t, NULL);
-}
-
 /* See target.h.  */
 
 void
-add_deprecated_target_alias (struct target_ops *t, const char *alias)
+add_deprecated_target_alias (const target_info &tinfo, const char *alias)
 {
   struct cmd_list_element *c;
   char *alt;
 
   /* If we use add_alias_cmd, here, we do not get the deprecated warning,
      see PR cli/15104.  */
-  c = add_cmd (alias, no_class, t->to_doc, &targetlist);
+  c = add_cmd (alias, no_class, tinfo.doc, &targetlist);
   set_cmd_sfunc (c, open_target);
-  set_cmd_context (c, t);
-  alt = xstrprintf ("target %s", t->to_shortname);
+  set_cmd_context (c, (void *) &tinfo);
+  alt = xstrprintf ("target %s", tinfo.shortname);
   deprecate_cmd (c, alt);
 }
 
@@ -419,29 +393,29 @@ add_deprecated_target_alias (struct targ
 void
 target_kill (void)
 {
-  current_target.to_kill (&current_target);
+  current_top_target ()->kill ();
 }
 
 void
 target_load (const char *arg, int from_tty)
 {
   target_dcache_invalidate ();
-  (*current_target.to_load) (&current_target, arg, from_tty);
+  current_top_target ()->load (arg, from_tty);
 }
 
 /* Define it.  */
 
-enum target_terminal::terminal_state target_terminal::terminal_state
-  = target_terminal::terminal_is_ours;
+target_terminal_state target_terminal::m_terminal_state
+  = target_terminal_state::is_ours;
 
 /* See target/target.h.  */
 
 void
 target_terminal::init (void)
 {
-  (*current_target.to_terminal_init) (&current_target);
+  current_top_target ()->terminal_init ();
 
-  terminal_state = terminal_is_ours;
+  m_terminal_state = target_terminal_state::is_ours;
 }
 
 /* See target/target.h.  */
@@ -463,13 +437,56 @@ target_terminal::inferior (void)
   if (ui != main_ui)
     return;
 
-  if (terminal_state == terminal_is_inferior)
-    return;
-
   /* If GDB is resuming the inferior in the foreground, install
      inferior's terminal modes.  */
-  (*current_target.to_terminal_inferior) (&current_target);
-  terminal_state = terminal_is_inferior;
+
+  struct inferior *inf = current_inferior ();
+
+  if (inf->terminal_state != target_terminal_state::is_inferior)
+    {
+      current_top_target ()->terminal_inferior ();
+      inf->terminal_state = target_terminal_state::is_inferior;
+    }
+
+  m_terminal_state = target_terminal_state::is_inferior;
+
+  /* If the user hit C-c before, pretend that it was hit right
+     here.  */
+  if (check_quit_flag ())
+    target_pass_ctrlc ();
+}
+
+/* See target/target.h.  */
+
+void
+target_terminal::restore_inferior (void)
+{
+  struct ui *ui = current_ui;
+
+  /* See target_terminal::inferior().  */
+  if (ui->prompt_state != PROMPT_BLOCKED || ui != main_ui)
+    return;
+
+  /* Restore the terminal settings of inferiors that were in the
+     foreground but are now ours_for_output due to a temporary
+     target_target::ours_for_output() call.  */
+
+  {
+    scoped_restore_current_inferior restore_inferior;
+    struct inferior *inf;
+
+    ALL_INFERIORS (inf)
+      {
+	if (inf->terminal_state == target_terminal_state::is_ours_for_output)
+	  {
+	    set_current_inferior (inf);
+	    current_top_target ()->terminal_inferior ();
+	    inf->terminal_state = target_terminal_state::is_inferior;
+	  }
+      }
+  }
+
+  m_terminal_state = target_terminal_state::is_inferior;
 
   /* If the user hit C-c before, pretend that it was hit right
      here.  */
@@ -477,6 +494,50 @@ target_terminal::inferior (void)
     target_pass_ctrlc ();
 }
 
+/* Switch terminal state to DESIRED_STATE, either is_ours, or
+   is_ours_for_output.  */
+
+static void
+target_terminal_is_ours_kind (target_terminal_state desired_state)
+{
+  scoped_restore_current_inferior restore_inferior;
+  struct inferior *inf;
+
+  /* Must do this in two passes.  First, have all inferiors save the
+     current terminal settings.  Then, after all inferiors have add a
+     chance to safely save the terminal settings, restore GDB's
+     terminal settings.  */
+
+  ALL_INFERIORS (inf)
+    {
+      if (inf->terminal_state == target_terminal_state::is_inferior)
+	{
+	  set_current_inferior (inf);
+	  current_top_target ()->terminal_save_inferior ();
+	}
+    }
+
+  ALL_INFERIORS (inf)
+    {
+      /* Note we don't check is_inferior here like above because we
+	 need to handle 'is_ours_for_output -> is_ours' too.  Careful
+	 to never transition from 'is_ours' to 'is_ours_for_output',
+	 though.  */
+      if (inf->terminal_state != target_terminal_state::is_ours
+	  && inf->terminal_state != desired_state)
+	{
+	  set_current_inferior (inf);
+	  if (desired_state == target_terminal_state::is_ours)
+	    current_top_target ()->terminal_ours ();
+	  else if (desired_state == target_terminal_state::is_ours_for_output)
+	    current_top_target ()->terminal_ours_for_output ();
+	  else
+	    gdb_assert_not_reached ("unhandled desired state");
+	  inf->terminal_state = desired_state;
+	}
+    }
+}
+
 /* See target/target.h.  */
 
 void
@@ -488,11 +549,11 @@ target_terminal::ours ()
   if (ui != main_ui)
     return;
 
-  if (terminal_state == terminal_is_ours)
+  if (m_terminal_state == target_terminal_state::is_ours)
     return;
 
-  (*current_target.to_terminal_ours) (&current_target);
-  terminal_state = terminal_is_ours;
+  target_terminal_is_ours_kind (target_terminal_state::is_ours);
+  m_terminal_state = target_terminal_state::is_ours;
 }
 
 /* See target/target.h.  */
@@ -506,10 +567,11 @@ target_terminal::ours_for_output ()
   if (ui != main_ui)
     return;
 
-  if (terminal_state != terminal_is_inferior)
+  if (!target_terminal::is_inferior ())
     return;
-  (*current_target.to_terminal_ours_for_output) (&current_target);
-  terminal_state = terminal_is_ours_for_output;
+
+  target_terminal_is_ours_kind (target_terminal_state::is_ours_for_output);
+  target_terminal::m_terminal_state = target_terminal_state::is_ours_for_output;
 }
 
 /* See target/target.h.  */
@@ -517,7 +579,7 @@ target_terminal::ours_for_output ()
 void
 target_terminal::info (const char *arg, int from_tty)
 {
-  (*current_target.to_terminal_info) (&current_target, arg, from_tty);
+  current_top_target ()->terminal_info (arg, from_tty);
 }
 
 /* See target.h.  */
@@ -525,23 +587,14 @@ target_terminal::info (const char *arg, 
 int
 target_supports_terminal_ours (void)
 {
-  struct target_ops *t;
-
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
-    {
-      if (t->to_terminal_ours != delegate_terminal_ours
-	  && t->to_terminal_ours != tdefault_terminal_ours)
-	return 1;
-    }
-
-  return 0;
+  return current_top_target ()->supports_terminal_ours ();
 }
 
 static void
 tcomplain (void)
 {
   error (_("You can't do that when your target is `%s'"),
-	 current_target.to_shortname);
+	 current_top_target ()->shortname ());
 }
 
 void
@@ -565,7 +618,7 @@ default_terminal_info (struct target_ops
 static ptid_t
 default_get_ada_task_ptid (struct target_ops *self, long lwp, long tid)
 {
-  return ptid_build (ptid_get_pid (inferior_ptid), lwp, tid);
+  return ptid_t (inferior_ptid.pid (), lwp, tid);
 }
 
 static enum exec_direction_kind
@@ -580,114 +633,47 @@ default_execution_direction (struct targ
 to_execution_direction must be implemented for reverse async");
 }
 
-/* Go through the target stack from top to bottom, copying over zero
-   entries in current_target, then filling in still empty entries.  In
-   effect, we are doing class inheritance through the pushed target
-   vectors.
-
-   NOTE: cagney/2003-10-17: The problem with this inheritance, as it
-   is currently implemented, is that it discards any knowledge of
-   which target an inherited method originally belonged to.
-   Consequently, new new target methods should instead explicitly and
-   locally search the target stack for the target that can handle the
-   request.  */
+/* See target.h.  */
 
-static void
-update_current_target (void)
+void
+target_stack::push (target_ops *t)
 {
-  struct target_ops *t;
-
-  /* First, reset current's contents.  */
-  memset (&current_target, 0, sizeof (current_target));
-
-  /* Install the delegators.  */
-  install_delegators (&current_target);
-
-  current_target.to_stratum = target_stack->to_stratum;
+  /* If there's already a target at this stratum, remove it.  */
+  if (m_stack[t->to_stratum] != NULL)
+    {
+      target_ops *prev = m_stack[t->to_stratum];
+      m_stack[t->to_stratum] = NULL;
+      target_close (prev);
+    }
 
-#define INHERIT(FIELD, TARGET) \
-      if (!current_target.FIELD) \
-	current_target.FIELD = (TARGET)->FIELD
-
-  /* Do not add any new INHERITs here.  Instead, use the delegation
-     mechanism provided by make-target-delegates.  */
-  for (t = target_stack; t; t = t->beneath)
-    {
-      INHERIT (to_shortname, t);
-      INHERIT (to_longname, t);
-      INHERIT (to_attach_no_wait, t);
-      INHERIT (to_have_steppable_watchpoint, t);
-      INHERIT (to_have_continuable_watchpoint, t);
-      INHERIT (to_has_thread_control, t);
-    }
-#undef INHERIT
-
-  /* Finally, position the target-stack beneath the squashed
-     "current_target".  That way code looking for a non-inherited
-     target method can quickly and simply find it.  */
-  current_target.beneath = target_stack;
+  /* Now add the new one.  */
+  m_stack[t->to_stratum] = t;
 
-  if (targetdebug)
-    setup_target_debug ();
+  if (m_top < t->to_stratum)
+    m_top = t->to_stratum;
 }
 
-/* Push a new target type into the stack of the existing target accessors,
-   possibly superseding some of the existing accessors.
-
-   Rather than allow an empty stack, we always have the dummy target at
-   the bottom stratum, so we can call the function vectors without
-   checking them.  */
+/* See target.h.  */
 
 void
 push_target (struct target_ops *t)
 {
-  struct target_ops **cur;
-
-  /* Check magic number.  If wrong, it probably means someone changed
-     the struct definition, but not all the places that initialize one.  */
-  if (t->to_magic != OPS_MAGIC)
-    {
-      fprintf_unfiltered (gdb_stderr,
-			  "Magic number of %s target struct wrong\n",
-			  t->to_shortname);
-      internal_error (__FILE__, __LINE__,
-		      _("failed internal consistency check"));
-    }
-
-  /* Find the proper stratum to install this target in.  */
-  for (cur = &target_stack; (*cur) != NULL; cur = &(*cur)->beneath)
-    {
-      if ((int) (t->to_stratum) >= (int) (*cur)->to_stratum)
-	break;
-    }
-
-  /* If there's already targets at this stratum, remove them.  */
-  /* FIXME: cagney/2003-10-15: I think this should be popping all
-     targets to CUR, and not just those at this stratum level.  */
-  while ((*cur) != NULL && t->to_stratum == (*cur)->to_stratum)
-    {
-      /* There's already something at this stratum level.  Close it,
-         and un-hook it from the stack.  */
-      struct target_ops *tmp = (*cur);
-
-      (*cur) = (*cur)->beneath;
-      tmp->beneath = NULL;
-      target_close (tmp);
-    }
-
-  /* We have removed all targets in our stratum, now add the new one.  */
-  t->beneath = (*cur);
-  (*cur) = t;
-
-  update_current_target ();
+  g_target_stack.push (t);
 }
 
-/* Remove a target_ops vector from the stack, wherever it may be.
-   Return how many times it was removed (0 or 1).  */
+/* See target.h.  */
 
 int
 unpush_target (struct target_ops *t)
 {
+  return g_target_stack.unpush (t);
+}
+
+/* See target.h.  */
+
+bool
+target_stack::unpush (target_ops *t)
+{
   struct target_ops **cur;
   struct target_ops *tmp;
 
@@ -695,33 +681,30 @@ unpush_target (struct target_ops *t)
     internal_error (__FILE__, __LINE__,
 		    _("Attempt to unpush the dummy target"));
 
-  /* Look for the specified target.  Note that we assume that a target
-     can only occur once in the target stack.  */
+  gdb_assert (t != NULL);
 
-  for (cur = &target_stack; (*cur) != NULL; cur = &(*cur)->beneath)
+  /* Look for the specified target.  Note that a target can only occur
+     once in the target stack.  */
+
+  if (m_stack[t->to_stratum] != t)
     {
-      if ((*cur) == t)
-	break;
+      /* If T wasn't pushed, quit.  Only open targets should be
+	 closed.  */
+      return false;
     }
 
-  /* If we don't find target_ops, quit.  Only open targets should be
-     closed.  */
-  if ((*cur) == NULL)
-    return 0;			
-
   /* Unchain the target.  */
-  tmp = (*cur);
-  (*cur) = (*cur)->beneath;
-  tmp->beneath = NULL;
+  m_stack[t->to_stratum] = NULL;
 
-  update_current_target ();
+  if (m_top == t->to_stratum)
+    m_top = t->beneath ()->to_stratum;
 
   /* Finally close the target.  Note we do this after unchaining, so
      any target method calls from within the target_close
      implementation don't end up in T anymore.  */
   target_close (t);
 
-  return 1;
+  return true;
 }
 
 /* Unpush TARGET and assert that it worked.  */
@@ -733,7 +716,7 @@ unpush_target_and_assert (struct target_
     {
       fprintf_unfiltered (gdb_stderr,
 			  "pop_all_targets couldn't find target %s\n",
-			  target->to_shortname);
+			  target->shortname ());
       internal_error (__FILE__, __LINE__,
 		      _("failed internal consistency check"));
     }
@@ -742,8 +725,8 @@ unpush_target_and_assert (struct target_
 void
 pop_all_targets_above (enum strata above_stratum)
 {
-  while ((int) (current_target.to_stratum) > (int) above_stratum)
-    unpush_target_and_assert (target_stack);
+  while ((int) (current_top_target ()->to_stratum) > (int) above_stratum)
+    unpush_target_and_assert (current_top_target ());
 }
 
 /* See target.h.  */
@@ -751,8 +734,8 @@ pop_all_targets_above (enum strata above
 void
 pop_all_targets_at_and_above (enum strata stratum)
 {
-  while ((int) (current_target.to_stratum) >= (int) stratum)
-    unpush_target_and_assert (target_stack);
+  while ((int) (current_top_target ()->to_stratum) >= (int) stratum)
+    unpush_target_and_assert (current_top_target ());
 }
 
 void
@@ -766,24 +749,7 @@ pop_all_targets (void)
 int
 target_is_pushed (struct target_ops *t)
 {
-  struct target_ops *cur;
-
-  /* Check magic number.  If wrong, it probably means someone changed
-     the struct definition, but not all the places that initialize one.  */
-  if (t->to_magic != OPS_MAGIC)
-    {
-      fprintf_unfiltered (gdb_stderr,
-			  "Magic number of %s target struct wrong\n",
-			  t->to_shortname);
-      internal_error (__FILE__, __LINE__,
-		      _("failed internal consistency check"));
-    }
-
-  for (cur = target_stack; cur != NULL; cur = cur->beneath)
-    if (cur == t)
-      return 1;
-
-  return 0;
+  return g_target_stack.is_pushed (t);
 }
 
 /* Default implementation of to_get_thread_local_address.  */
@@ -801,7 +767,7 @@ CORE_ADDR
 target_translate_tls_address (struct objfile *objfile, CORE_ADDR offset)
 {
   volatile CORE_ADDR addr = 0;
-  struct target_ops *target = &current_target;
+  struct target_ops *target = current_top_target ();
 
   if (gdbarch_fetch_tls_load_module_address_p (target_gdbarch ()))
     {
@@ -815,8 +781,7 @@ target_translate_tls_address (struct obj
 	  lm_addr = gdbarch_fetch_tls_load_module_address (target_gdbarch (),
 	                                                   objfile);
 
-	  addr = target->to_get_thread_local_address (target, ptid,
-						      lm_addr, offset);
+	  addr = target->get_thread_local_address (ptid, lm_addr, offset);
 	}
       /* If an error occurred, print TLS related messages here.  Otherwise,
          throw the error to some higher catcher.  */
@@ -904,7 +869,8 @@ target_xfer_status_to_string (enum targe
    read.  */
 
 int
-target_read_string (CORE_ADDR memaddr, char **string, int len, int *errnop)
+target_read_string (CORE_ADDR memaddr, gdb::unique_xmalloc_ptr<char> *string,
+		    int len, int *errnop)
 {
   int tlen, offset, i;
   gdb_byte buf[4];
@@ -964,7 +930,7 @@ target_read_string (CORE_ADDR memaddr, c
       nbytes_read += tlen;
     }
 done:
-  *string = buffer;
+  string->reset (buffer);
   if (errnop != NULL)
     *errnop = errcode;
   return nbytes_read;
@@ -973,7 +939,7 @@ done:
 struct target_section_table *
 target_get_section_table (struct target_ops *target)
 {
-  return (*target->to_get_section_table) (target);
+  return target->get_section_table ();
 }
 
 /* Find a section containing ADDR.  */
@@ -1061,9 +1027,9 @@ raw_memory_xfer_partial (struct target_o
 
   do
     {
-      res = ops->to_xfer_partial (ops, TARGET_OBJECT_MEMORY, NULL,
-				  readbuf, writebuf, memaddr, len,
-				  xfered_len);
+      res = ops->xfer_partial (TARGET_OBJECT_MEMORY, NULL,
+			       readbuf, writebuf, memaddr, len,
+			       xfered_len);
       if (res == TARGET_XFER_OK)
 	break;
 
@@ -1073,10 +1039,10 @@ raw_memory_xfer_partial (struct target_o
 
       /* We want to continue past core files to executables, but not
 	 past a running target's memory.  */
-      if (ops->to_has_all_memory (ops))
+      if (ops->has_all_memory ())
 	break;
 
-      ops = ops->beneath;
+      ops = ops->beneath ();
     }
   while (ops != NULL);
 
@@ -1086,7 +1052,7 @@ raw_memory_xfer_partial (struct target_o
      first, so that if it fails, we don't write to the cache contents
      that never made it to the target.  */
   if (writebuf != NULL
-      && !ptid_equal (inferior_ptid, null_ptid)
+      && inferior_ptid != null_ptid
       && target_dcache_init_p ()
       && (stack_cache_enabled_p () || code_cache_enabled_p ()))
     {
@@ -1161,8 +1127,8 @@ memory_xfer_partial_1 (struct target_ops
 				 &region))
     return TARGET_XFER_E_IO;
 
-  if (!ptid_equal (inferior_ptid, null_ptid))
-    inf = find_inferior_ptid (inferior_ptid);
+  if (inferior_ptid != null_ptid)
+    inf = current_inferior ();
   else
     inf = NULL;
 
@@ -1235,7 +1201,7 @@ memory_xfer_partial (struct target_ops *
 	 shadow handling even though we only end up writing a small
 	 subset of it.  Cap writes to a limit specified by the target
 	 to mitigate this.  */
-      len = std::min (ops->to_get_memory_xfer_limit (ops), len);
+      len = std::min (ops->get_memory_xfer_limit (), len);
 
       gdb::byte_vector buf (writebuf, writebuf + len);
       breakpoint_xfer_memory (NULL, buf.data (), writebuf, memaddr, len);
@@ -1263,8 +1229,6 @@ target_xfer_partial (struct target_ops *
 {
   enum target_xfer_status retval;
 
-  gdb_assert (ops->to_xfer_partial != NULL);
-
   /* Transfer is done when LEN is zero.  */
   if (len == 0)
     return TARGET_XFER_EOF;
@@ -1299,8 +1263,8 @@ target_xfer_partial (struct target_ops *
 					xfered_len);
     }
   else
-    retval = ops->to_xfer_partial (ops, object, annex, readbuf,
-				   writebuf, offset, len, xfered_len);
+    retval = ops->xfer_partial (object, annex, readbuf,
+				writebuf, offset, len, xfered_len);
 
   if (targetdebug)
     {
@@ -1309,7 +1273,7 @@ target_xfer_partial (struct target_ops *
       fprintf_unfiltered (gdb_stdlog,
 			  "%s:target_xfer_partial "
 			  "(%d, %s, %s, %s, %s, %s) = %d, %s",
-			  ops->to_shortname,
+			  ops->shortname (),
 			  (int) object,
 			  (annex ? annex : "(null)"),
 			  host_address_to_string (readbuf),
@@ -1369,10 +1333,7 @@ target_xfer_partial (struct target_ops *
 int
 target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
 {
-  /* Dispatch to the topmost target, not the flattened current_target.
-     Memory accesses check target->to_has_(all_)memory, and the
-     flattened target doesn't inherit those.  */
-  if (target_read (current_target.beneath, TARGET_OBJECT_MEMORY, NULL,
+  if (target_read (current_top_target (), TARGET_OBJECT_MEMORY, NULL,
 		   myaddr, memaddr, len) == len)
     return 0;
   else
@@ -1402,9 +1363,7 @@ target_read_uint32 (CORE_ADDR memaddr, u
 int
 target_read_raw_memory (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
 {
-  /* See comment in target_read_memory about why the request starts at
-     current_target.beneath.  */
-  if (target_read (current_target.beneath, TARGET_OBJECT_RAW_MEMORY, NULL,
+  if (target_read (current_top_target (), TARGET_OBJECT_RAW_MEMORY, NULL,
 		   myaddr, memaddr, len) == len)
     return 0;
   else
@@ -1417,9 +1376,7 @@ target_read_raw_memory (CORE_ADDR memadd
 int
 target_read_stack (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
 {
-  /* See comment in target_read_memory about why the request starts at
-     current_target.beneath.  */
-  if (target_read (current_target.beneath, TARGET_OBJECT_STACK_MEMORY, NULL,
+  if (target_read (current_top_target (), TARGET_OBJECT_STACK_MEMORY, NULL,
 		   myaddr, memaddr, len) == len)
     return 0;
   else
@@ -1432,9 +1389,7 @@ target_read_stack (CORE_ADDR memaddr, gd
 int
 target_read_code (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
 {
-  /* See comment in target_read_memory about why the request starts at
-     current_target.beneath.  */
-  if (target_read (current_target.beneath, TARGET_OBJECT_CODE_MEMORY, NULL,
+  if (target_read (current_top_target (), TARGET_OBJECT_CODE_MEMORY, NULL,
 		   myaddr, memaddr, len) == len)
     return 0;
   else
@@ -1450,9 +1405,7 @@ target_read_code (CORE_ADDR memaddr, gdb
 int
 target_write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr, ssize_t len)
 {
-  /* See comment in target_read_memory about why the request starts at
-     current_target.beneath.  */
-  if (target_write (current_target.beneath, TARGET_OBJECT_MEMORY, NULL,
+  if (target_write (current_top_target (), TARGET_OBJECT_MEMORY, NULL,
 		    myaddr, memaddr, len) == len)
     return 0;
   else
@@ -1468,9 +1421,7 @@ target_write_memory (CORE_ADDR memaddr, 
 int
 target_write_raw_memory (CORE_ADDR memaddr, const gdb_byte *myaddr, ssize_t len)
 {
-  /* See comment in target_read_memory about why the request starts at
-     current_target.beneath.  */
-  if (target_write (current_target.beneath, TARGET_OBJECT_RAW_MEMORY, NULL,
+  if (target_write (current_top_target (), TARGET_OBJECT_RAW_MEMORY, NULL,
 		    myaddr, memaddr, len) == len)
     return 0;
   else
@@ -1482,8 +1433,7 @@ target_write_raw_memory (CORE_ADDR memad
 std::vector<mem_region>
 target_memory_map (void)
 {
-  std::vector<mem_region> result
-    = current_target.to_memory_map (&current_target);
+  std::vector<mem_region> result = current_top_target ()->memory_map ();
   if (result.empty ())
     return result;
 
@@ -1513,13 +1463,13 @@ target_memory_map (void)
 void
 target_flash_erase (ULONGEST address, LONGEST length)
 {
-  current_target.to_flash_erase (&current_target, address, length);
+  current_top_target ()->flash_erase (address, length);
 }
 
 void
 target_flash_done (void)
 {
-  current_target.to_flash_done (&current_target);
+  current_top_target ()->flash_done ();
 }
 
 static void
@@ -1847,18 +1797,17 @@ target_write (struct target_ops *ops,
 				     NULL, NULL);
 }
 
-/* Read OBJECT/ANNEX using OPS.  Store the result in *BUF_P and return
-   the size of the transferred data.  PADDING additional bytes are
-   available in *BUF_P.  This is a helper function for
-   target_read_alloc; see the declaration of that function for more
-   information.  */
+/* Help for target_read_alloc and target_read_stralloc.  See their comments
+   for details.  */
 
-static LONGEST
+template <typename T>
+gdb::optional<gdb::def_vector<T>>
 target_read_alloc_1 (struct target_ops *ops, enum target_object object,
-		     const char *annex, gdb_byte **buf_p, int padding)
+		     const char *annex)
 {
-  size_t buf_alloc, buf_pos;
-  gdb_byte *buf;
+  gdb::def_vector<T> buf;
+  size_t buf_pos = 0;
+  const int chunk = 4096;
 
   /* This function does not have a length parameter; it reads the
      entire OBJECT).  Also, it doesn't support objects fetched partly
@@ -1869,82 +1818,64 @@ target_read_alloc_1 (struct target_ops *
 
   /* Start by reading up to 4K at a time.  The target will throttle
      this number down if necessary.  */
-  buf_alloc = 4096;
-  buf = (gdb_byte *) xmalloc (buf_alloc);
-  buf_pos = 0;
   while (1)
     {
       ULONGEST xfered_len;
       enum target_xfer_status status;
 
-      status = target_read_partial (ops, object, annex, &buf[buf_pos],
-				    buf_pos, buf_alloc - buf_pos - padding,
+      buf.resize (buf_pos + chunk);
+
+      status = target_read_partial (ops, object, annex,
+				    (gdb_byte *) &buf[buf_pos],
+				    buf_pos, chunk,
 				    &xfered_len);
 
       if (status == TARGET_XFER_EOF)
 	{
 	  /* Read all there was.  */
-	  if (buf_pos == 0)
-	    xfree (buf);
-	  else
-	    *buf_p = buf;
-	  return buf_pos;
+	  buf.resize (buf_pos);
+	  return buf;
 	}
       else if (status != TARGET_XFER_OK)
 	{
 	  /* An error occurred.  */
-	  xfree (buf);
-	  return TARGET_XFER_E_IO;
+	  return {};
 	}
 
       buf_pos += xfered_len;
 
-      /* If the buffer is filling up, expand it.  */
-      if (buf_alloc < buf_pos * 2)
-	{
-	  buf_alloc *= 2;
-	  buf = (gdb_byte *) xrealloc (buf, buf_alloc);
-	}
-
       QUIT;
     }
 }
 
-/* Read OBJECT/ANNEX using OPS.  Store the result in *BUF_P and return
-   the size of the transferred data.  See the declaration in "target.h"
-   function for more information about the return value.  */
+/* See target.h  */
 
-LONGEST
+gdb::optional<gdb::byte_vector>
 target_read_alloc (struct target_ops *ops, enum target_object object,
-		   const char *annex, gdb_byte **buf_p)
+		   const char *annex)
 {
-  return target_read_alloc_1 (ops, object, annex, buf_p, 0);
+  return target_read_alloc_1<gdb_byte> (ops, object, annex);
 }
 
 /* See target.h.  */
 
-gdb::unique_xmalloc_ptr<char>
+gdb::optional<gdb::char_vector>
 target_read_stralloc (struct target_ops *ops, enum target_object object,
 		      const char *annex)
 {
-  gdb_byte *buffer;
-  char *bufstr;
-  LONGEST i, transferred;
+  gdb::optional<gdb::char_vector> buf
+    = target_read_alloc_1<char> (ops, object, annex);
 
-  transferred = target_read_alloc_1 (ops, object, annex, &buffer, 1);
-  bufstr = (char *) buffer;
+  if (!buf)
+    return {};
 
-  if (transferred < 0)
-    return NULL;
-
-  if (transferred == 0)
-    return gdb::unique_xmalloc_ptr<char> (xstrdup (""));
-
-  bufstr[transferred] = 0;
+  if (buf->back () != '\0')
+    buf->push_back ('\0');
 
   /* Check for embedded NUL bytes; but allow trailing NULs.  */
-  for (i = strlen (bufstr); i < transferred; i++)
-    if (bufstr[i] != 0)
+  for (auto it = std::find (buf->begin (), buf->end (), '\0');
+       it != buf->end (); it++)
+    if (*it != '\0')
       {
 	warning (_("target object %d, annex %s, "
 		   "contained unexpected null characters"),
@@ -1952,7 +1883,7 @@ target_read_stralloc (struct target_ops 
 	break;
       }
 
-  return gdb::unique_xmalloc_ptr<char> (bufstr);
+  return buf;
 }
 
 /* Memory transfer methods.  */
@@ -1993,8 +1924,7 @@ target_insert_breakpoint (struct gdbarch
       return 1;
     }
 
-  return current_target.to_insert_breakpoint (&current_target,
-					      gdbarch, bp_tgt);
+  return current_top_target ()->insert_breakpoint (gdbarch, bp_tgt);
 }
 
 /* See target.h.  */
@@ -2014,23 +1944,21 @@ target_remove_breakpoint (struct gdbarch
       return 1;
     }
 
-  return current_target.to_remove_breakpoint (&current_target,
-					      gdbarch, bp_tgt, reason);
+  return current_top_target ()->remove_breakpoint (gdbarch, bp_tgt, reason);
 }
 
 static void
 info_target_command (const char *args, int from_tty)
 {
-  struct target_ops *t;
   int has_all_mem = 0;
 
   if (symfile_objfile != NULL)
     printf_unfiltered (_("Symbols from \"%s\".\n"),
 		       objfile_name (symfile_objfile));
 
-  for (t = target_stack; t != NULL; t = t->beneath)
+  for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ())
     {
-      if (!(*t->to_has_memory) (t))
+      if (!t->has_memory ())
 	continue;
 
       if ((int) (t->to_stratum) <= (int) dummy_stratum)
@@ -2038,9 +1966,9 @@ info_target_command (const char *args, i
       if (has_all_mem)
 	printf_unfiltered (_("\tWhile running this, "
 			     "GDB does not access memory from...\n"));
-      printf_unfiltered ("%s:\n", t->to_longname);
-      (t->to_files_info) (t);
-      has_all_mem = (*t->to_has_all_memory) (t);
+      printf_unfiltered ("%s:\n", t->longname ());
+      t->files_info ();
+      has_all_mem = t->has_all_memory ();
     }
 }
 
@@ -2097,18 +2025,16 @@ target_pre_inferior (int from_tty)
 static int
 dispose_inferior (struct inferior *inf, void *args)
 {
-  struct thread_info *thread;
-
-  thread = any_thread_of_process (inf->pid);
-  if (thread)
+  thread_info *thread = any_thread_of_inferior (inf);
+  if (thread != NULL)
     {
-      switch_to_thread (thread->ptid);
+      switch_to_thread (thread);
 
       /* Core inferiors actually should be detached, not killed.  */
       if (target_has_execution)
 	target_kill ();
       else
-	target_detach (NULL, 0);
+	target_detach (inf, 0);
     }
 
   return 0;
@@ -2141,23 +2067,30 @@ target_preopen (int from_tty)
   target_pre_inferior (from_tty);
 }
 
-/* Detach a target after doing deferred register stores.  */
+/* See target.h.  */
 
 void
-target_detach (const char *args, int from_tty)
+target_detach (inferior *inf, int from_tty)
 {
+  /* As long as some to_detach implementations rely on the current_inferior
+     (either directly, or indirectly, like through target_gdbarch or by
+     reading memory), INF needs to be the current inferior.  When that
+     requirement will become no longer true, then we can remove this
+     assertion.  */
+  gdb_assert (inf == current_inferior ());
+
   if (gdbarch_has_global_breakpoints (target_gdbarch ()))
     /* Don't remove global breakpoints here.  They're removed on
        disconnection from the target.  */
     ;
   else
     /* If we're in breakpoints-always-inserted mode, have to remove
-       them before detaching.  */
-    remove_breakpoints_pid (ptid_get_pid (inferior_ptid));
+       breakpoints before detaching.  */
+    remove_breakpoints_inf (current_inferior ());
 
   prepare_for_detach ();
 
-  current_target.to_detach (&current_target, args, from_tty);
+  current_top_target ()->detach (inf, from_tty);
 }
 
 void
@@ -2168,7 +2101,7 @@ target_disconnect (const char *args, int
      disconnecting.  */
   remove_breakpoints ();
 
-  current_target.to_disconnect (&current_target, args, from_tty);
+  current_top_target ()->disconnect (args, from_tty);
 }
 
 /* See target/target.h.  */
@@ -2176,7 +2109,7 @@ target_disconnect (const char *args, int
 ptid_t
 target_wait (ptid_t ptid, struct target_waitstatus *status, int options)
 {
-  return (current_target.to_wait) (&current_target, ptid, status, options);
+  return current_top_target ()->wait (ptid, status, options);
 }
 
 /* See target.h.  */
@@ -2193,13 +2126,13 @@ default_target_wait (struct target_ops *
 const char *
 target_pid_to_str (ptid_t ptid)
 {
-  return (*current_target.to_pid_to_str) (&current_target, ptid);
+  return current_top_target ()->pid_to_str (ptid);
 }
 
 const char *
 target_thread_name (struct thread_info *info)
 {
-  return current_target.to_thread_name (&current_target, info);
+  return current_top_target ()->thread_name (info);
 }
 
 struct thread_info *
@@ -2207,8 +2140,8 @@ target_thread_handle_to_thread_info (con
 				     int handle_len,
 				     struct inferior *inf)
 {
-  return current_target.to_thread_handle_to_thread_info
-           (&current_target, thread_handle, handle_len, inf);
+  return current_top_target ()->thread_handle_to_thread_info (thread_handle,
+						     handle_len, inf);
 }
 
 void
@@ -2216,11 +2149,12 @@ target_resume (ptid_t ptid, int step, en
 {
   target_dcache_invalidate ();
 
-  current_target.to_resume (&current_target, ptid, step, signal);
+  current_top_target ()->resume (ptid, step, signal);
 
   registers_changed_ptid (ptid);
   /* We only set the internal executing state here.  The user/frontend
-     running state is set at a higher level.  */
+     running state is set at a higher level.  This also clears the
+     thread's stop_pc as side effect.  */
   set_executing (ptid, 1);
   clear_inline_frame_state (ptid);
 }
@@ -2236,7 +2170,7 @@ target_commit_resume (void)
   if (defer_target_commit_resume)
     return;
 
-  current_target.to_commit_resume (&current_target);
+  current_top_target ()->commit_resume ();
 }
 
 /* See target.h.  */
@@ -2250,14 +2184,13 @@ make_scoped_defer_target_commit_resume (
 void
 target_pass_signals (int numsigs, unsigned char *pass_signals)
 {
-  (*current_target.to_pass_signals) (&current_target, numsigs, pass_signals);
+  current_top_target ()->pass_signals (numsigs, pass_signals);
 }
 
 void
 target_program_signals (int numsigs, unsigned char *program_signals)
 {
-  (*current_target.to_program_signals) (&current_target,
-					numsigs, program_signals);
+  current_top_target ()->program_signals (numsigs, program_signals);
 }
 
 static int
@@ -2275,8 +2208,7 @@ default_follow_fork (struct target_ops *
 int
 target_follow_fork (int follow_child, int detach_fork)
 {
-  return current_target.to_follow_fork (&current_target,
-					follow_child, detach_fork);
+  return current_top_target ()->follow_fork (follow_child, detach_fork);
 }
 
 /* Target wrapper for follow exec hook.  */
@@ -2284,7 +2216,7 @@ target_follow_fork (int follow_child, in
 void
 target_follow_exec (struct inferior *inf, char *execd_pathname)
 {
-  current_target.to_follow_exec (&current_target, inf, execd_pathname);
+  current_top_target ()->follow_exec (inf, execd_pathname);
 }
 
 static void
@@ -2297,8 +2229,8 @@ default_mourn_inferior (struct target_op
 void
 target_mourn_inferior (ptid_t ptid)
 {
-  gdb_assert (ptid_equal (ptid, inferior_ptid));
-  current_target.to_mourn_inferior (&current_target);
+  gdb_assert (ptid == inferior_ptid);
+  current_top_target ()->mourn_inferior ();
 
   /* We no longer need to keep handles on any of the object files.
      Make sure to release them to avoid unnecessarily locking any
@@ -2312,7 +2244,7 @@ target_mourn_inferior (ptid_t ptid)
 const struct target_desc *
 target_read_description (struct target_ops *target)
 {
-  return target->to_read_description (target);
+  return target->read_description ();
 }
 
 /* This implements a basic search of memory, reading target memory and
@@ -2425,7 +2357,7 @@ default_search_memory (struct target_ops
 		       CORE_ADDR *found_addrp)
 {
   /* Start over from the top of the target stack.  */
-  return simple_search_memory (current_target.beneath,
+  return simple_search_memory (current_top_target (),
 			       start_addr, search_space_len,
 			       pattern, pattern_len, found_addrp);
 }
@@ -2442,9 +2374,8 @@ target_search_memory (CORE_ADDR start_ad
 		      const gdb_byte *pattern, ULONGEST pattern_len,
 		      CORE_ADDR *found_addrp)
 {
-  return current_target.to_search_memory (&current_target, start_addr,
-					  search_space_len,
-					  pattern, pattern_len, found_addrp);
+  return current_top_target ()->search_memory (start_addr, search_space_len,
+				      pattern, pattern_len, found_addrp);
 }
 
 /* Look through the currently pushed targets.  If none of them will
@@ -2454,28 +2385,24 @@ target_search_memory (CORE_ADDR start_ad
 void
 target_require_runnable (void)
 {
-  struct target_ops *t;
-
-  for (t = target_stack; t != NULL; t = t->beneath)
+  for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ())
     {
       /* If this target knows how to create a new program, then
 	 assume we will still be able to after killing the current
 	 one.  Either killing and mourning will not pop T, or else
 	 find_default_run_target will find it again.  */
-      if (t->to_create_inferior != NULL)
+      if (t->can_create_inferior ())
 	return;
 
       /* Do not worry about targets at certain strata that can not
 	 create inferiors.  Assume they will be pushed again if
 	 necessary, and continue to the process_stratum.  */
-      if (t->to_stratum == thread_stratum
-	  || t->to_stratum == record_stratum
-	  || t->to_stratum == arch_stratum)
+      if (t->to_stratum > process_stratum)
 	continue;
 
       error (_("The \"%s\" target does not support \"run\".  "
 	       "Try \"help target\" or \"continue\"."),
-	     t->to_shortname);
+	     t->shortname ());
     }
 
   /* This function is only called if the target is running.  In that
@@ -2498,6 +2425,32 @@ show_auto_connect_native_target (struct 
 		    value);
 }
 
+/* A pointer to the target that can respond to "run" or "attach".
+   Native targets are always singletons and instantiated early at GDB
+   startup.  */
+static target_ops *the_native_target;
+
+/* See target.h.  */
+
+void
+set_native_target (target_ops *target)
+{
+  if (the_native_target != NULL)
+    internal_error (__FILE__, __LINE__,
+		    _("native target already set (\"%s\")."),
+		    the_native_target->longname ());
+
+  the_native_target = target;
+}
+
+/* See target.h.  */
+
+target_ops *
+get_native_target ()
+{
+  return the_native_target;
+}
+
 /* Look through the list of possible targets for a target that can
    execute a run or attach command without any other data.  This is
    used to locate the default process stratum.
@@ -2508,36 +2461,12 @@ show_auto_connect_native_target (struct 
 static struct target_ops *
 find_default_run_target (const char *do_mesg)
 {
-  struct target_ops *runable = NULL;
-
-  if (auto_connect_native_target)
-    {
-      struct target_ops *t;
-      int count = 0;
-      int i;
-
-      for (i = 0; VEC_iterate (target_ops_p, target_structs, i, t); ++i)
-	{
-	  if (t->to_can_run != delegate_can_run && target_can_run (t))
-	    {
-	      runable = t;
-	      ++count;
-	    }
-	}
-
-      if (count != 1)
-	runable = NULL;
-    }
+  if (auto_connect_native_target && the_native_target != NULL)
+    return the_native_target;
 
-  if (runable == NULL)
-    {
-      if (do_mesg)
-	error (_("Don't know how to %s.  Try \"help target\"."), do_mesg);
-      else
-	return NULL;
-    }
-
-  return runable;
+  if (do_mesg != NULL)
+    error (_("Don't know how to %s.  Try \"help target\"."), do_mesg);
+  return NULL;
 }
 
 /* See target.h.  */
@@ -2545,20 +2474,15 @@ find_default_run_target (const char *do_
 struct target_ops *
 find_attach_target (void)
 {
-  struct target_ops *t;
-
   /* If a target on the current stack can attach, use it.  */
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
+  for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ())
     {
-      if (t->to_attach != NULL)
-	break;
+      if (t->can_attach ())
+	return t;
     }
 
   /* Otherwise, use the default run target for attaching.  */
-  if (t == NULL)
-    t = find_default_run_target ("attach");
-
-  return t;
+  return find_default_run_target ("attach");
 }
 
 /* See target.h.  */
@@ -2566,20 +2490,21 @@ find_attach_target (void)
 struct target_ops *
 find_run_target (void)
 {
-  struct target_ops *t;
-
-  /* If a target on the current stack can attach, use it.  */
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
+  /* If a target on the current stack can run, use it.  */
+  for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ())
     {
-      if (t->to_create_inferior != NULL)
-	break;
+      if (t->can_create_inferior ())
+	return t;
     }
 
   /* Otherwise, use the default run target.  */
-  if (t == NULL)
-    t = find_default_run_target ("run");
+  return find_default_run_target ("run");
+}
 
-  return t;
+bool
+target_ops::info_proc (const char *args, enum info_proc_what what)
+{
+  return false;
 }
 
 /* Implement the "info proc" command.  */
@@ -2592,17 +2517,14 @@ target_info_proc (const char *args, enum
   /* If we're already connected to something that can get us OS
      related data, use it.  Otherwise, try using the native
      target.  */
-  if (current_target.to_stratum >= process_stratum)
-    t = current_target.beneath;
-  else
+  t = find_target_at (process_stratum);
+  if (t == NULL)
     t = find_default_run_target (NULL);
 
-  for (; t != NULL; t = t->beneath)
+  for (; t != NULL; t = t->beneath ())
     {
-      if (t->to_info_proc != NULL)
+      if (t->info_proc (args, what))
 	{
-	  t->to_info_proc (t, args, what);
-
 	  if (targetdebug)
 	    fprintf_unfiltered (gdb_stdlog,
 				"target_info_proc (\"%s\", %d)\n", args, what);
@@ -2620,21 +2542,15 @@ find_default_supports_disable_randomizat
   struct target_ops *t;
 
   t = find_default_run_target (NULL);
-  if (t && t->to_supports_disable_randomization)
-    return (t->to_supports_disable_randomization) (t);
+  if (t != NULL)
+    return t->supports_disable_randomization ();
   return 0;
 }
 
 int
 target_supports_disable_randomization (void)
 {
-  struct target_ops *t;
-
-  for (t = &current_target; t != NULL; t = t->beneath)
-    if (t->to_supports_disable_randomization)
-      return t->to_supports_disable_randomization (t);
-
-  return 0;
+  return current_top_target ()->supports_disable_randomization ();
 }
 
 /* See target/target.h.  */
@@ -2642,12 +2558,12 @@ target_supports_disable_randomization (v
 int
 target_supports_multi_process (void)
 {
-  return (*current_target.to_supports_multi_process) (&current_target);
+  return current_top_target ()->supports_multi_process ();
 }
 
 /* See target.h.  */
 
-gdb::unique_xmalloc_ptr<char>
+gdb::optional<gdb::char_vector>
 target_get_osdata (const char *type)
 {
   struct target_ops *t;
@@ -2655,13 +2571,12 @@ target_get_osdata (const char *type)
   /* If we're already connected to something that can get us OS
      related data, use it.  Otherwise, try using the native
      target.  */
-  if (current_target.to_stratum >= process_stratum)
-    t = current_target.beneath;
-  else
+  t = find_target_at (process_stratum);
+  if (t == NULL)
     t = find_default_run_target ("get OS data");
 
   if (!t)
-    return NULL;
+    return {};
 
   return target_read_stralloc (t, TARGET_OBJECT_OSDATA, type);
 }
@@ -2690,78 +2605,149 @@ target_thread_address_space (ptid_t ptid
 {
   struct address_space *aspace;
 
-  aspace = current_target.to_thread_address_space (&current_target, ptid);
+  aspace = current_top_target ()->thread_address_space (ptid);
   gdb_assert (aspace != NULL);
 
   return aspace;
 }
 
+/* See target.h.  */
+
+target_ops *
+target_ops::beneath () const
+{
+  return g_target_stack.find_beneath (this);
+}
+
+void
+target_ops::close ()
+{
+}
+
+bool
+target_ops::can_attach ()
+{
+  return 0;
+}
+
+void
+target_ops::attach (const char *, int)
+{
+  gdb_assert_not_reached ("target_ops::attach called");
+}
+
+bool
+target_ops::can_create_inferior ()
+{
+  return 0;
+}
+
+void
+target_ops::create_inferior (const char *, const std::string &,
+			     char **, int)
+{
+  gdb_assert_not_reached ("target_ops::create_inferior called");
+}
+
+bool
+target_ops::can_run ()
+{
+  return false;
+}
+
+int
+target_can_run ()
+{
+  for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ())
+    {
+      if (t->can_run ())
+	return 1;
+    }
+
+  return 0;
+}
 
 /* Target file operations.  */
 
 static struct target_ops *
 default_fileio_target (void)
 {
+  struct target_ops *t;
+
   /* If we're already connected to something that can perform
      file I/O, use it. Otherwise, try using the native target.  */
-  if (current_target.to_stratum >= process_stratum)
-    return current_target.beneath;
-  else
-    return find_default_run_target ("file I/O");
+  t = find_target_at (process_stratum);
+  if (t != NULL)
+    return t;
+  return find_default_run_target ("file I/O");
 }
 
 /* File handle for target file operations.  */
 
-typedef struct
+struct fileio_fh_t
 {
-  /* The target on which this file is open.  */
-  struct target_ops *t;
+  /* The target on which this file is open.  NULL if the target is
+     meanwhile closed while the handle is open.  */
+  target_ops *target;
 
   /* The file descriptor on the target.  */
-  int fd;
-} fileio_fh_t;
+  int target_fd;
 
-DEF_VEC_O (fileio_fh_t);
+  /* Check whether this fileio_fh_t represents a closed file.  */
+  bool is_closed ()
+  {
+    return target_fd < 0;
+  }
+};
 
 /* Vector of currently open file handles.  The value returned by
    target_fileio_open and passed as the FD argument to other
    target_fileio_* functions is an index into this vector.  This
    vector's entries are never freed; instead, files are marked as
    closed, and the handle becomes available for reuse.  */
-static VEC (fileio_fh_t) *fileio_fhandles;
-
-/* Macro to check whether a fileio_fh_t represents a closed file.  */
-#define is_closed_fileio_fh(fd) ((fd) < 0)
+static std::vector<fileio_fh_t> fileio_fhandles;
 
 /* Index into fileio_fhandles of the lowest handle that might be
    closed.  This permits handle reuse without searching the whole
    list each time a new file is opened.  */
 static int lowest_closed_fd;
 
-/* Acquire a target fileio file descriptor.  */
+/* Invalidate the target associated with open handles that were open
+   on target TARG, since we're about to close (and maybe destroy) the
+   target.  The handles remain open from the client's perspective, but
+   trying to do anything with them other than closing them will fail
+   with EIO.  */
 
-static int
-acquire_fileio_fd (struct target_ops *t, int fd)
+static void
+fileio_handles_invalidate_target (target_ops *targ)
 {
-  fileio_fh_t *fh;
+  for (fileio_fh_t &fh : fileio_fhandles)
+    if (fh.target == targ)
+      fh.target = NULL;
+}
 
-  gdb_assert (!is_closed_fileio_fh (fd));
+/* Acquire a target fileio file descriptor.  */
 
+static int
+acquire_fileio_fd (target_ops *target, int target_fd)
+{
   /* Search for closed handles to reuse.  */
-  for (;
-       VEC_iterate (fileio_fh_t, fileio_fhandles,
-                    lowest_closed_fd, fh);
-       lowest_closed_fd++)
-    if (is_closed_fileio_fh (fh->fd))
-      break;
+  for (; lowest_closed_fd < fileio_fhandles.size (); lowest_closed_fd++)
+    {
+      fileio_fh_t &fh = fileio_fhandles[lowest_closed_fd];
+
+      if (fh.is_closed ())
+	break;
+    }
 
   /* Push a new handle if no closed handles were found.  */
-  if (lowest_closed_fd == VEC_length (fileio_fh_t, fileio_fhandles))
-    fh = VEC_safe_push (fileio_fh_t, fileio_fhandles, NULL);
+  if (lowest_closed_fd == fileio_fhandles.size ())
+    fileio_fhandles.push_back (fileio_fh_t {target, target_fd});
+  else
+    fileio_fhandles[lowest_closed_fd] = {target, target_fd};
 
-  /* Fill in the handle.  */
-  fh->t = t;
-  fh->fd = fd;
+  /* Should no longer be marked closed.  */
+  gdb_assert (!fileio_fhandles[lowest_closed_fd].is_closed ());
 
   /* Return its index, and start the next lookup at
      the next index.  */
@@ -2773,14 +2759,78 @@ acquire_fileio_fd (struct target_ops *t,
 static void
 release_fileio_fd (int fd, fileio_fh_t *fh)
 {
-  fh->fd = -1;
+  fh->target_fd = -1;
   lowest_closed_fd = std::min (lowest_closed_fd, fd);
 }
 
 /* Return a pointer to the fileio_fhandle_t corresponding to FD.  */
 
-#define fileio_fd_to_fh(fd) \
-  VEC_index (fileio_fh_t, fileio_fhandles, (fd))
+static fileio_fh_t *
+fileio_fd_to_fh (int fd)
+{
+  return &fileio_fhandles[fd];
+}
+
+
+/* Default implementations of file i/o methods.  We don't want these
+   to delegate automatically, because we need to know which target
+   supported the method, in order to call it directly from within
+   pread/pwrite, etc.  */
+
+int
+target_ops::fileio_open (struct inferior *inf, const char *filename,
+			 int flags, int mode, int warn_if_slow,
+			 int *target_errno)
+{
+  *target_errno = FILEIO_ENOSYS;
+  return -1;
+}
+
+int
+target_ops::fileio_pwrite (int fd, const gdb_byte *write_buf, int len,
+			   ULONGEST offset, int *target_errno)
+{
+  *target_errno = FILEIO_ENOSYS;
+  return -1;
+}
+
+int
+target_ops::fileio_pread (int fd, gdb_byte *read_buf, int len,
+			  ULONGEST offset, int *target_errno)
+{
+  *target_errno = FILEIO_ENOSYS;
+  return -1;
+}
+
+int
+target_ops::fileio_fstat (int fd, struct stat *sb, int *target_errno)
+{
+  *target_errno = FILEIO_ENOSYS;
+  return -1;
+}
+
+int
+target_ops::fileio_close (int fd, int *target_errno)
+{
+  *target_errno = FILEIO_ENOSYS;
+  return -1;
+}
+
+int
+target_ops::fileio_unlink (struct inferior *inf, const char *filename,
+			   int *target_errno)
+{
+  *target_errno = FILEIO_ENOSYS;
+  return -1;
+}
+
+gdb::optional<std::string>
+target_ops::fileio_readlink (struct inferior *inf, const char *filename,
+			     int *target_errno)
+{
+  *target_errno = FILEIO_ENOSYS;
+  return {};
+}
 
 /* Helper for target_fileio_open and
    target_fileio_open_warn_if_slow.  */
@@ -2790,30 +2840,28 @@ target_fileio_open_1 (struct inferior *i
 		      int flags, int mode, int warn_if_slow,
 		      int *target_errno)
 {
-  struct target_ops *t;
-
-  for (t = default_fileio_target (); t != NULL; t = t->beneath)
+  for (target_ops *t = default_fileio_target (); t != NULL; t = t->beneath ())
     {
-      if (t->to_fileio_open != NULL)
-	{
-	  int fd = t->to_fileio_open (t, inf, filename, flags, mode,
-				      warn_if_slow, target_errno);
+      int fd = t->fileio_open (inf, filename, flags, mode,
+			       warn_if_slow, target_errno);
 
-	  if (fd < 0)
-	    fd = -1;
-	  else
-	    fd = acquire_fileio_fd (t, fd);
+      if (fd == -1 && *target_errno == FILEIO_ENOSYS)
+	continue;
 
-	  if (targetdebug)
-	    fprintf_unfiltered (gdb_stdlog,
+      if (fd < 0)
+	fd = -1;
+      else
+	fd = acquire_fileio_fd (t, fd);
+
+      if (targetdebug)
+	fprintf_unfiltered (gdb_stdlog,
 				"target_fileio_open (%d,%s,0x%x,0%o,%d)"
 				" = %d (%d)\n",
 				inf == NULL ? 0 : inf->num,
 				filename, flags, mode,
 				warn_if_slow, fd,
 				fd != -1 ? 0 : *target_errno);
-	  return fd;
-	}
+      return fd;
     }
 
   *target_errno = FILEIO_ENOSYS;
@@ -2850,11 +2898,13 @@ target_fileio_pwrite (int fd, const gdb_
   fileio_fh_t *fh = fileio_fd_to_fh (fd);
   int ret = -1;
 
-  if (is_closed_fileio_fh (fh->fd))
+  if (fh->is_closed ())
     *target_errno = EBADF;
+  else if (fh->target == NULL)
+    *target_errno = EIO;
   else
-    ret = fh->t->to_fileio_pwrite (fh->t, fh->fd, write_buf,
-				   len, offset, target_errno);
+    ret = fh->target->fileio_pwrite (fh->target_fd, write_buf,
+				     len, offset, target_errno);
 
   if (targetdebug)
     fprintf_unfiltered (gdb_stdlog,
@@ -2874,11 +2924,13 @@ target_fileio_pread (int fd, gdb_byte *r
   fileio_fh_t *fh = fileio_fd_to_fh (fd);
   int ret = -1;
 
-  if (is_closed_fileio_fh (fh->fd))
+  if (fh->is_closed ())
     *target_errno = EBADF;
+  else if (fh->target == NULL)
+    *target_errno = EIO;
   else
-    ret = fh->t->to_fileio_pread (fh->t, fh->fd, read_buf,
-				  len, offset, target_errno);
+    ret = fh->target->fileio_pread (fh->target_fd, read_buf,
+				    len, offset, target_errno);
 
   if (targetdebug)
     fprintf_unfiltered (gdb_stdlog,
@@ -2897,10 +2949,12 @@ target_fileio_fstat (int fd, struct stat
   fileio_fh_t *fh = fileio_fd_to_fh (fd);
   int ret = -1;
 
-  if (is_closed_fileio_fh (fh->fd))
+  if (fh->is_closed ())
     *target_errno = EBADF;
+  else if (fh->target == NULL)
+    *target_errno = EIO;
   else
-    ret = fh->t->to_fileio_fstat (fh->t, fh->fd, sb, target_errno);
+    ret = fh->target->fileio_fstat (fh->target_fd, sb, target_errno);
 
   if (targetdebug)
     fprintf_unfiltered (gdb_stdlog,
@@ -2917,11 +2971,15 @@ target_fileio_close (int fd, int *target
   fileio_fh_t *fh = fileio_fd_to_fh (fd);
   int ret = -1;
 
-  if (is_closed_fileio_fh (fh->fd))
+  if (fh->is_closed ())
     *target_errno = EBADF;
   else
     {
-      ret = fh->t->to_fileio_close (fh->t, fh->fd, target_errno);
+      if (fh->target != NULL)
+	ret = fh->target->fileio_close (fh->target_fd,
+					target_errno);
+      else
+	ret = 0;
       release_fileio_fd (fd, fh);
     }
 
@@ -2938,23 +2996,20 @@ int
 target_fileio_unlink (struct inferior *inf, const char *filename,
 		      int *target_errno)
 {
-  struct target_ops *t;
-
-  for (t = default_fileio_target (); t != NULL; t = t->beneath)
+  for (target_ops *t = default_fileio_target (); t != NULL; t = t->beneath ())
     {
-      if (t->to_fileio_unlink != NULL)
-	{
-	  int ret = t->to_fileio_unlink (t, inf, filename,
-					 target_errno);
+      int ret = t->fileio_unlink (inf, filename, target_errno);
 
-	  if (targetdebug)
-	    fprintf_unfiltered (gdb_stdlog,
-				"target_fileio_unlink (%d,%s)"
-				" = %d (%d)\n",
-				inf == NULL ? 0 : inf->num, filename,
-				ret, ret != -1 ? 0 : *target_errno);
-	  return ret;
-	}
+      if (ret == -1 && *target_errno == FILEIO_ENOSYS)
+	continue;
+
+      if (targetdebug)
+	fprintf_unfiltered (gdb_stdlog,
+			    "target_fileio_unlink (%d,%s)"
+			    " = %d (%d)\n",
+			    inf == NULL ? 0 : inf->num, filename,
+			    ret, ret != -1 ? 0 : *target_errno);
+      return ret;
     }
 
   *target_errno = FILEIO_ENOSYS;
@@ -2963,42 +3018,62 @@ target_fileio_unlink (struct inferior *i
 
 /* See target.h.  */
 
-char *
+gdb::optional<std::string>
 target_fileio_readlink (struct inferior *inf, const char *filename,
 			int *target_errno)
 {
-  struct target_ops *t;
-
-  for (t = default_fileio_target (); t != NULL; t = t->beneath)
+  for (target_ops *t = default_fileio_target (); t != NULL; t = t->beneath ())
     {
-      if (t->to_fileio_readlink != NULL)
-	{
-	  char *ret = t->to_fileio_readlink (t, inf, filename,
-					     target_errno);
+      gdb::optional<std::string> ret
+	= t->fileio_readlink (inf, filename, target_errno);
 
-	  if (targetdebug)
-	    fprintf_unfiltered (gdb_stdlog,
-				"target_fileio_readlink (%d,%s)"
-				" = %s (%d)\n",
-				inf == NULL ? 0 : inf->num,
-				filename, ret? ret : "(nil)",
-				ret? 0 : *target_errno);
-	  return ret;
-	}
+      if (!ret.has_value () && *target_errno == FILEIO_ENOSYS)
+	continue;
+
+      if (targetdebug)
+	fprintf_unfiltered (gdb_stdlog,
+			    "target_fileio_readlink (%d,%s)"
+			    " = %s (%d)\n",
+			    inf == NULL ? 0 : inf->num,
+			    filename, ret ? ret->c_str () : "(nil)",
+			    ret ? 0 : *target_errno);
+      return ret;
     }
 
   *target_errno = FILEIO_ENOSYS;
-  return NULL;
+  return {};
 }
 
-static void
-target_fileio_close_cleanup (void *opaque)
+/* Like scoped_fd, but specific to target fileio.  */
+
+class scoped_target_fd
 {
-  int fd = *(int *) opaque;
-  int target_errno;
+public:
+  explicit scoped_target_fd (int fd) noexcept
+    : m_fd (fd)
+  {
+  }
 
-  target_fileio_close (fd, &target_errno);
-}
+  ~scoped_target_fd ()
+  {
+    if (m_fd >= 0)
+      {
+	int target_errno;
+
+	target_fileio_close (m_fd, &target_errno);
+      }
+  }
+
+  DISABLE_COPY_AND_ASSIGN (scoped_target_fd);
+
+  int get () const noexcept
+  {
+    return m_fd;
+  }
+
+private:
+  int m_fd;
+};
 
 /* Read target file FILENAME, in the filesystem as seen by INF.  If
    INF is NULL, use the filesystem seen by the debugger (GDB or, for
@@ -3012,20 +3087,16 @@ static LONGEST
 target_fileio_read_alloc_1 (struct inferior *inf, const char *filename,
 			    gdb_byte **buf_p, int padding)
 {
-  struct cleanup *close_cleanup;
   size_t buf_alloc, buf_pos;
   gdb_byte *buf;
   LONGEST n;
-  int fd;
   int target_errno;
 
-  fd = target_fileio_open (inf, filename, FILEIO_O_RDONLY, 0700,
-			   &target_errno);
-  if (fd == -1)
+  scoped_target_fd fd (target_fileio_open (inf, filename, FILEIO_O_RDONLY,
+					   0700, &target_errno));
+  if (fd.get () == -1)
     return -1;
 
-  close_cleanup = make_cleanup (target_fileio_close_cleanup, &fd);
-
   /* Start by reading up to 4K at a time.  The target will throttle
      this number down if necessary.  */
   buf_alloc = 4096;
@@ -3033,20 +3104,18 @@ target_fileio_read_alloc_1 (struct infer
   buf_pos = 0;
   while (1)
     {
-      n = target_fileio_pread (fd, &buf[buf_pos],
+      n = target_fileio_pread (fd.get (), &buf[buf_pos],
 			       buf_alloc - buf_pos - padding, buf_pos,
 			       &target_errno);
       if (n < 0)
 	{
 	  /* An error occurred.  */
-	  do_cleanups (close_cleanup);
 	  xfree (buf);
 	  return -1;
 	}
       else if (n == 0)
 	{
 	  /* Read all there was.  */
-	  do_cleanups (close_cleanup);
 	  if (buf_pos == 0)
 	    xfree (buf);
 	  else
@@ -3133,26 +3202,17 @@ default_thread_architecture (struct targ
   return inf->gdbarch;
 }
 
-static int
-return_zero (struct target_ops *ignore)
-{
-  return 0;
-}
+/* See target.h.  */
 
-static int
-return_zero_has_execution (struct target_ops *ignore, ptid_t ignore2)
+target_ops *
+target_stack::find_beneath (const target_ops *t) const
 {
-  return 0;
-}
-
-/*
- * Find the next target down the stack from the specified target.
- */
+  /* Look for a non-empty slot at stratum levels beneath T's.  */
+  for (int stratum = t->to_stratum - 1; stratum >= 0; --stratum)
+    if (m_stack[stratum] != NULL)
+      return m_stack[stratum];
 
-struct target_ops *
-find_target_beneath (struct target_ops *t)
-{
-  return t->beneath;
+  return NULL;
 }
 
 /* See target.h.  */
@@ -3160,13 +3220,7 @@ find_target_beneath (struct target_ops *
 struct target_ops *
 find_target_at (enum strata stratum)
 {
-  struct target_ops *t;
-
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
-    if (t->to_stratum == stratum)
-      return t;
-
-  return NULL;
+  return g_target_stack.at (stratum);
 }
 
 
@@ -3186,9 +3240,9 @@ target_announce_detach (int from_tty)
   if (exec_file == NULL)
     exec_file = "";
 
-  pid = ptid_get_pid (inferior_ptid);
+  pid = inferior_ptid.pid ();
   printf_unfiltered (_("Detaching from program: %s, %s\n"), exec_file,
-		     target_pid_to_str (pid_to_ptid (pid)));
+		     target_pid_to_str (ptid_t (pid)));
   gdb_flush (gdb_stdout);
 }
 
@@ -3197,9 +3251,8 @@ target_announce_detach (int from_tty)
 void
 generic_mourn_inferior (void)
 {
-  ptid_t ptid;
+  inferior *inf = current_inferior ();
 
-  ptid = inferior_ptid;
   inferior_ptid = null_ptid;
 
   /* Mark breakpoints uninserted in case something tries to delete a
@@ -3207,11 +3260,8 @@ generic_mourn_inferior (void)
      fail, since the inferior is long gone).  */
   mark_breakpoints_out ();
 
-  if (!ptid_equal (ptid, null_ptid))
-    {
-      int pid = ptid_get_pid (ptid);
-      exit_inferior (pid);
-    }
+  if (inf->pid != 0)
+    exit_inferior (inf);
 
   /* Note this wipes step-resume breakpoints, so needs to be done
      after exit_inferior, which ends up referencing the step-resume
@@ -3235,7 +3285,7 @@ normal_pid_to_str (ptid_t ptid)
 {
   static char buf[32];
 
-  xsnprintf (buf, sizeof buf, "process %d", ptid_get_pid (ptid));
+  xsnprintf (buf, sizeof buf, "process %d", ptid.pid ());
   return buf;
 }
 
@@ -3263,27 +3313,37 @@ dummy_make_corefile_notes (struct target
   return NULL;
 }
 
-/* Set up the handful of non-empty slots needed by the dummy target
-   vector.  */
+#include "target-delegates.c"
 
-static void
-init_dummy_target (void)
+
+static const target_info dummy_target_info = {
+  "None",
+  N_("None"),
+  ""
+};
+
+dummy_target::dummy_target ()
 {
-  dummy_target.to_shortname = "None";
-  dummy_target.to_longname = "None";
-  dummy_target.to_doc = "";
-  dummy_target.to_supports_disable_randomization
-    = find_default_supports_disable_randomization;
-  dummy_target.to_stratum = dummy_stratum;
-  dummy_target.to_has_all_memory = return_zero;
-  dummy_target.to_has_memory = return_zero;
-  dummy_target.to_has_stack = return_zero;
-  dummy_target.to_has_registers = return_zero;
-  dummy_target.to_has_execution = return_zero_has_execution;
-  dummy_target.to_magic = OPS_MAGIC;
+  to_stratum = dummy_stratum;
+}
 
-  install_dummy_methods (&dummy_target);
+debug_target::debug_target ()
+{
+  to_stratum = debug_stratum;
 }
+
+const target_info &
+dummy_target::info () const
+{
+  return dummy_target_info;
+}
+
+const target_info &
+debug_target::info () const
+{
+  return beneath ()->info ();
+}
+
 
 
 void
@@ -3291,10 +3351,9 @@ target_close (struct target_ops *targ)
 {
   gdb_assert (!target_is_pushed (targ));
 
-  if (targ->to_xclose != NULL)
-    targ->to_xclose (targ);
-  else if (targ->to_close != NULL)
-    targ->to_close (targ);
+  fileio_handles_invalidate_target (targ);
+
+  targ->close ();
 
   if (targetdebug)
     fprintf_unfiltered (gdb_stdlog, "target_close ()\n");
@@ -3303,13 +3362,13 @@ target_close (struct target_ops *targ)
 int
 target_thread_alive (ptid_t ptid)
 {
-  return current_target.to_thread_alive (&current_target, ptid);
+  return current_top_target ()->thread_alive (ptid);
 }
 
 void
 target_update_thread_list (void)
 {
-  current_target.to_update_thread_list (&current_target);
+  current_top_target ()->update_thread_list ();
 }
 
 void
@@ -3321,11 +3380,11 @@ target_stop (ptid_t ptid)
       return;
     }
 
-  (*current_target.to_stop) (&current_target, ptid);
+  current_top_target ()->stop (ptid);
 }
 
 void
-target_interrupt (ptid_t ptid)
+target_interrupt ()
 {
   if (!may_stop)
     {
@@ -3333,7 +3392,7 @@ target_interrupt (ptid_t ptid)
       return;
     }
 
-  (*current_target.to_interrupt) (&current_target, ptid);
+  current_top_target ()->interrupt ();
 }
 
 /* See target.h.  */
@@ -3341,7 +3400,7 @@ target_interrupt (ptid_t ptid)
 void
 target_pass_ctrlc (void)
 {
-  (*current_target.to_pass_ctrlc) (&current_target);
+  current_top_target ()->pass_ctrlc ();
 }
 
 /* See target.h.  */
@@ -3349,7 +3408,7 @@ target_pass_ctrlc (void)
 void
 default_target_pass_ctrlc (struct target_ops *ops)
 {
-  target_interrupt (inferior_ptid);
+  target_interrupt ();
 }
 
 /* See target/target.h.  */
@@ -3436,7 +3495,7 @@ target_options_to_string (int target_opt
 void
 target_fetch_registers (struct regcache *regcache, int regno)
 {
-  current_target.to_fetch_registers (&current_target, regcache, regno);
+  current_top_target ()->fetch_registers (regcache, regno);
   if (targetdebug)
     regcache->debug_print_register ("target_fetch_registers", regno);
 }
@@ -3447,7 +3506,7 @@ target_store_registers (struct regcache 
   if (!may_write_registers)
     error (_("Writing to registers is not allowed (regno %d)"), regno);
 
-  current_target.to_store_registers (&current_target, regcache, regno);
+  current_top_target ()->store_registers (regcache, regno);
   if (targetdebug)
     {
       regcache->debug_print_register ("target_store_registers", regno);
@@ -3457,7 +3516,7 @@ target_store_registers (struct regcache 
 int
 target_core_of_thread (ptid_t ptid)
 {
-  return current_target.to_core_of_thread (&current_target, ptid);
+  return current_top_target ()->core_of_thread (ptid);
 }
 
 int
@@ -3495,15 +3554,14 @@ default_verify_memory (struct target_ops
 		       const gdb_byte *data, CORE_ADDR memaddr, ULONGEST size)
 {
   /* Start over from the top of the target stack.  */
-  return simple_verify_memory (current_target.beneath,
+  return simple_verify_memory (current_top_target (),
 			       data, memaddr, size);
 }
 
 int
 target_verify_memory (const gdb_byte *data, CORE_ADDR memaddr, ULONGEST size)
 {
-  return current_target.to_verify_memory (&current_target,
-					  data, memaddr, size);
+  return current_top_target ()->verify_memory (data, memaddr, size);
 }
 
 /* The documentation for this function is in its prototype declaration in
@@ -3513,8 +3571,7 @@ int
 target_insert_mask_watchpoint (CORE_ADDR addr, CORE_ADDR mask,
 			       enum target_hw_bp_type rw)
 {
-  return current_target.to_insert_mask_watchpoint (&current_target,
-						   addr, mask, rw);
+  return current_top_target ()->insert_mask_watchpoint (addr, mask, rw);
 }
 
 /* The documentation for this function is in its prototype declaration in
@@ -3524,8 +3581,7 @@ int
 target_remove_mask_watchpoint (CORE_ADDR addr, CORE_ADDR mask,
 			       enum target_hw_bp_type rw)
 {
-  return current_target.to_remove_mask_watchpoint (&current_target,
-						   addr, mask, rw);
+  return current_top_target ()->remove_mask_watchpoint (addr, mask, rw);
 }
 
 /* The documentation for this function is in its prototype declaration
@@ -3534,8 +3590,7 @@ target_remove_mask_watchpoint (CORE_ADDR
 int
 target_masked_watch_num_registers (CORE_ADDR addr, CORE_ADDR mask)
 {
-  return current_target.to_masked_watch_num_registers (&current_target,
-						       addr, mask);
+  return current_top_target ()->masked_watch_num_registers (addr, mask);
 }
 
 /* The documentation for this function is in its prototype declaration
@@ -3544,15 +3599,7 @@ target_masked_watch_num_registers (CORE_
 int
 target_ranged_break_num_registers (void)
 {
-  return current_target.to_ranged_break_num_registers (&current_target);
-}
-
-/* See target.h.  */
-
-int
-target_supports_btrace (enum btrace_format format)
-{
-  return current_target.to_supports_btrace (&current_target, format);
+  return current_top_target ()->ranged_break_num_registers ();
 }
 
 /* See target.h.  */
@@ -3560,7 +3607,7 @@ target_supports_btrace (enum btrace_form
 struct btrace_target_info *
 target_enable_btrace (ptid_t ptid, const struct btrace_config *conf)
 {
-  return current_target.to_enable_btrace (&current_target, ptid, conf);
+  return current_top_target ()->enable_btrace (ptid, conf);
 }
 
 /* See target.h.  */
@@ -3568,7 +3615,7 @@ target_enable_btrace (ptid_t ptid, const
 void
 target_disable_btrace (struct btrace_target_info *btinfo)
 {
-  current_target.to_disable_btrace (&current_target, btinfo);
+  current_top_target ()->disable_btrace (btinfo);
 }
 
 /* See target.h.  */
@@ -3576,7 +3623,7 @@ target_disable_btrace (struct btrace_tar
 void
 target_teardown_btrace (struct btrace_target_info *btinfo)
 {
-  current_target.to_teardown_btrace (&current_target, btinfo);
+  current_top_target ()->teardown_btrace (btinfo);
 }
 
 /* See target.h.  */
@@ -3586,7 +3633,7 @@ target_read_btrace (struct btrace_data *
 		    struct btrace_target_info *btinfo,
 		    enum btrace_read_type type)
 {
-  return current_target.to_read_btrace (&current_target, btrace, btinfo, type);
+  return current_top_target ()->read_btrace (btrace, btinfo, type);
 }
 
 /* See target.h.  */
@@ -3594,7 +3641,7 @@ target_read_btrace (struct btrace_data *
 const struct btrace_config *
 target_btrace_conf (const struct btrace_target_info *btinfo)
 {
-  return current_target.to_btrace_conf (&current_target, btinfo);
+  return current_top_target ()->btrace_conf (btinfo);
 }
 
 /* See target.h.  */
@@ -3602,7 +3649,7 @@ target_btrace_conf (const struct btrace_
 void
 target_stop_recording (void)
 {
-  current_target.to_stop_recording (&current_target);
+  current_top_target ()->stop_recording ();
 }
 
 /* See target.h.  */
@@ -3610,22 +3657,15 @@ target_stop_recording (void)
 void
 target_save_record (const char *filename)
 {
-  current_target.to_save_record (&current_target, filename);
+  current_top_target ()->save_record (filename);
 }
 
 /* See target.h.  */
 
 int
-target_supports_delete_record (void)
+target_supports_delete_record ()
 {
-  struct target_ops *t;
-
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
-    if (t->to_delete_record != delegate_delete_record
-	&& t->to_delete_record != tdefault_delete_record)
-      return 1;
-
-  return 0;
+  return current_top_target ()->supports_delete_record ();
 }
 
 /* See target.h.  */
@@ -3633,7 +3673,7 @@ target_supports_delete_record (void)
 void
 target_delete_record (void)
 {
-  current_target.to_delete_record (&current_target);
+  current_top_target ()->delete_record ();
 }
 
 /* See target.h.  */
@@ -3641,7 +3681,7 @@ target_delete_record (void)
 enum record_method
 target_record_method (ptid_t ptid)
 {
-  return current_target.to_record_method (&current_target, ptid);
+  return current_top_target ()->record_method (ptid);
 }
 
 /* See target.h.  */
@@ -3649,7 +3689,7 @@ target_record_method (ptid_t ptid)
 int
 target_record_is_replaying (ptid_t ptid)
 {
-  return current_target.to_record_is_replaying (&current_target, ptid);
+  return current_top_target ()->record_is_replaying (ptid);
 }
 
 /* See target.h.  */
@@ -3657,7 +3697,7 @@ target_record_is_replaying (ptid_t ptid)
 int
 target_record_will_replay (ptid_t ptid, int dir)
 {
-  return current_target.to_record_will_replay (&current_target, ptid, dir);
+  return current_top_target ()->record_will_replay (ptid, dir);
 }
 
 /* See target.h.  */
@@ -3665,7 +3705,7 @@ target_record_will_replay (ptid_t ptid, 
 void
 target_record_stop_replaying (void)
 {
-  current_target.to_record_stop_replaying (&current_target);
+  current_top_target ()->record_stop_replaying ();
 }
 
 /* See target.h.  */
@@ -3673,7 +3713,7 @@ target_record_stop_replaying (void)
 void
 target_goto_record_begin (void)
 {
-  current_target.to_goto_record_begin (&current_target);
+  current_top_target ()->goto_record_begin ();
 }
 
 /* See target.h.  */
@@ -3681,7 +3721,7 @@ target_goto_record_begin (void)
 void
 target_goto_record_end (void)
 {
-  current_target.to_goto_record_end (&current_target);
+  current_top_target ()->goto_record_end ();
 }
 
 /* See target.h.  */
@@ -3689,7 +3729,7 @@ target_goto_record_end (void)
 void
 target_goto_record (ULONGEST insn)
 {
-  current_target.to_goto_record (&current_target, insn);
+  current_top_target ()->goto_record (insn);
 }
 
 /* See target.h.  */
@@ -3697,7 +3737,7 @@ target_goto_record (ULONGEST insn)
 void
 target_insn_history (int size, gdb_disassembly_flags flags)
 {
-  current_target.to_insn_history (&current_target, size, flags);
+  current_top_target ()->insn_history (size, flags);
 }
 
 /* See target.h.  */
@@ -3706,7 +3746,7 @@ void
 target_insn_history_from (ULONGEST from, int size,
 			  gdb_disassembly_flags flags)
 {
-  current_target.to_insn_history_from (&current_target, from, size, flags);
+  current_top_target ()->insn_history_from (from, size, flags);
 }
 
 /* See target.h.  */
@@ -3715,31 +3755,31 @@ void
 target_insn_history_range (ULONGEST begin, ULONGEST end,
 			   gdb_disassembly_flags flags)
 {
-  current_target.to_insn_history_range (&current_target, begin, end, flags);
+  current_top_target ()->insn_history_range (begin, end, flags);
 }
 
 /* See target.h.  */
 
 void
-target_call_history (int size, int flags)
+target_call_history (int size, record_print_flags flags)
 {
-  current_target.to_call_history (&current_target, size, flags);
+  current_top_target ()->call_history (size, flags);
 }
 
 /* See target.h.  */
 
 void
-target_call_history_from (ULONGEST begin, int size, int flags)
+target_call_history_from (ULONGEST begin, int size, record_print_flags flags)
 {
-  current_target.to_call_history_from (&current_target, begin, size, flags);
+  current_top_target ()->call_history_from (begin, size, flags);
 }
 
 /* See target.h.  */
 
 void
-target_call_history_range (ULONGEST begin, ULONGEST end, int flags)
+target_call_history_range (ULONGEST begin, ULONGEST end, record_print_flags flags)
 {
-  current_target.to_call_history_range (&current_target, begin, end, flags);
+  current_top_target ()->call_history_range (begin, end, flags);
 }
 
 /* See target.h.  */
@@ -3747,7 +3787,7 @@ target_call_history_range (ULONGEST begi
 const struct frame_unwind *
 target_get_unwinder (void)
 {
-  return current_target.to_get_unwinder (&current_target);
+  return current_top_target ()->get_unwinder ();
 }
 
 /* See target.h.  */
@@ -3755,7 +3795,7 @@ target_get_unwinder (void)
 const struct frame_unwind *
 target_get_tailcall_unwinder (void)
 {
-  return current_target.to_get_tailcall_unwinder (&current_target);
+  return current_top_target ()->get_tailcall_unwinder ();
 }
 
 /* See target.h.  */
@@ -3763,7 +3803,7 @@ target_get_tailcall_unwinder (void)
 void
 target_prepare_to_generate_core (void)
 {
-  current_target.to_prepare_to_generate_core (&current_target);
+  current_top_target ()->prepare_to_generate_core ();
 }
 
 /* See target.h.  */
@@ -3771,16 +3811,9 @@ target_prepare_to_generate_core (void)
 void
 target_done_generating_core (void)
 {
-  current_target.to_done_generating_core (&current_target);
+  current_top_target ()->done_generating_core ();
 }
 
-static void
-setup_target_debug (void)
-{
-  memcpy (&debug_target, &current_target, sizeof debug_target);
-
-  init_debug_target (&current_target);
-}
 
 
 static char targ_desc[] =
@@ -3844,13 +3877,13 @@ flash_erase_command (const char *cmd, in
 static void
 maintenance_print_target_stack (const char *cmd, int from_tty)
 {
-  struct target_ops *t;
-
   printf_filtered (_("The current target stack is:\n"));
 
-  for (t = target_stack; t != NULL; t = t->beneath)
+  for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ())
     {
-      printf_filtered ("  - %s (%s)\n", t->to_shortname, t->to_longname);
+      if (t->to_stratum == debug_stratum)
+	continue;
+      printf_filtered ("  - %s (%s)\n", t->shortname (), t->longname ());
     }
 }
 
@@ -3860,7 +3893,7 @@ void
 target_async (int enable)
 {
   infrun_async (enable);
-  current_target.to_async (&current_target, enable);
+  current_top_target ()->async (enable);
 }
 
 /* See target.h.  */
@@ -3868,7 +3901,7 @@ target_async (int enable)
 void
 target_thread_events (int enable)
 {
-  current_target.to_thread_events (&current_target, enable);
+  current_top_target ()->thread_events (enable);
 }
 
 /* Controls if targets can report that they can/are async.  This is
@@ -3908,7 +3941,7 @@ maint_show_target_async_command (struct 
 static int
 target_always_non_stop_p (void)
 {
-  return current_target.to_always_non_stop_p (&current_target);
+  return current_top_target ()->always_non_stop_p ();
 }
 
 /* See target.h.  */
@@ -4018,59 +4051,13 @@ set_write_memory_permission (const char 
   update_observer_mode ();
 }
 
-#if GDB_SELF_TEST
-namespace selftests {
-
-static int
-test_target_has_registers (target_ops *self)
-{
-  return 1;
-}
-
-static int
-test_target_has_stack (target_ops *self)
-{
-  return 1;
-}
-
-static int
-test_target_has_memory (target_ops *self)
-{
-  return 1;
-}
-
-static void
-test_target_prepare_to_store (target_ops *self, regcache *regs)
-{
-}
-
-static void
-test_target_store_registers (target_ops *self, regcache *regs, int regno)
-{
-}
-
-test_target_ops::test_target_ops ()
-  : target_ops {}
-{
-  to_magic = OPS_MAGIC;
-  to_stratum = process_stratum;
-  to_has_memory = test_target_has_memory;
-  to_has_stack = test_target_has_stack;
-  to_has_registers = test_target_has_registers;
-  to_prepare_to_store = test_target_prepare_to_store;
-  to_store_registers = test_target_store_registers;
-
-  complete_target_initialization (this);
-}
-
-} // namespace selftests
-#endif /* GDB_SELF_TEST */
-
 void
 initialize_targets (void)
 {
-  init_dummy_target ();
-  push_target (&dummy_target);
+  the_dummy_target = new dummy_target ();
+  push_target (the_dummy_target);
+
+  the_debug_target = new debug_target ();
 
   add_info ("target", info_target_command, targ_desc);
   add_info ("files", info_target_command, targ_desc);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target-debug.h ./gdb/target-debug.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target-debug.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/target-debug.h	2018-07-10 02:06:13.000000000 +0000
@@ -71,7 +71,7 @@
 #define target_debug_print_enum_btrace_error(X) \
   target_debug_do_print (plongest (X))
 #define target_debug_print_ptid_t(X)		\
-  target_debug_do_print (plongest (ptid_get_pid (X)))
+  target_debug_do_print (plongest (X.pid ()))
 #define target_debug_print_struct_gdbarch_p(X)	\
   target_debug_do_print (gdbarch_bfd_arch_info (X)->printable_name)
 #define target_debug_print_const_gdb_byte_p(X)	\
@@ -118,14 +118,16 @@
   target_debug_do_print (host_address_to_string (X))
 #define target_debug_print_std_vector_mem_region(X) \
   target_debug_do_print (host_address_to_string (X.data ()))
-#define target_debug_print_VEC_static_tracepoint_marker_p_p(X)	\
-  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_std_vector_static_tracepoint_marker(X)	\
+  target_debug_do_print (host_address_to_string (X.data ()))
 #define target_debug_print_const_struct_target_desc_p(X)	\
   target_debug_do_print (host_address_to_string (X))
 #define target_debug_print_struct_bp_location_p(X)	\
   target_debug_do_print (host_address_to_string (X))
 #define target_debug_print_struct_trace_state_variable_p(X)	\
   target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_const_trace_state_variable_r(X)	\
+  target_debug_do_print (host_address_to_string (&X))
 #define target_debug_print_struct_trace_status_p(X)	\
   target_debug_do_print (host_address_to_string (X))
 #define target_debug_print_struct_breakpoint_p(X)	\
@@ -136,7 +138,7 @@
   target_debug_do_print (host_address_to_string (X))
 #define target_debug_print_struct_uploaded_tsv_pp(X)	\
   target_debug_do_print (host_address_to_string (X))
-#define target_debug_print_struct_static_tracepoint_marker_p(X)	\
+#define target_debug_print_static_tracepoint_marker_p(X)	\
   target_debug_do_print (host_address_to_string (X))
 #define target_debug_print_struct_traceframe_info_p(X)	\
   target_debug_do_print (host_address_to_string (X))
@@ -170,6 +172,18 @@
   target_debug_do_print (host_address_to_string (X.get ()))
 #define target_debug_print_gdb_array_view_const_int(X)	\
   target_debug_do_print (host_address_to_string (X.data ()))
+#define target_debug_print_inferior_p(inf) \
+  target_debug_do_print (host_address_to_string (inf))
+#define target_debug_print_record_print_flags(X) \
+  target_debug_do_print (plongest (X))
+#define target_debug_print_enum_info_proc_what(X) \
+  target_debug_do_print (plongest (X))
+#define target_debug_print_thread_control_capabilities(X) \
+  target_debug_do_print (plongest (X))
+#define target_debug_print_thread_info_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_thread_info_pp(X)		\
+  target_debug_do_print (host_address_to_string (X))
 
 static void
 target_debug_print_struct_target_waitstatus_p (struct target_waitstatus *status)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target-delegates.c ./gdb/target-delegates.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target-delegates.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/target-delegates.c	2018-07-10 02:06:13.000000000 +0000
@@ -3,4813 +3,4339 @@
 
 /* To regenerate this file, run:*/
 /*      make-target-delegates target.h > target-delegates.c */
-static void
-delegate_post_attach (struct target_ops *self, int arg1)
-{
-  self = self->beneath;
-  self->to_post_attach (self, arg1);
-}
 
-static void
-tdefault_post_attach (struct target_ops *self, int arg1)
+struct dummy_target : public target_ops
 {
-}
+  dummy_target ();
 
-static void
-debug_post_attach (struct target_ops *self, int arg1)
-{
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_post_attach (...)\n", debug_target.to_shortname);
-  debug_target.to_post_attach (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_post_attach (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  const target_info &info () const override;
+
+  void post_attach (int arg0) override;
+  void detach (inferior *arg0, int arg1) override;
+  void disconnect (const char *arg0, int arg1) override;
+  void resume (ptid_t arg0, int arg1, enum gdb_signal arg2) override;
+  void commit_resume () override;
+  ptid_t wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2) override;
+  void fetch_registers (struct regcache *arg0, int arg1) override;
+  void store_registers (struct regcache *arg0, int arg1) override;
+  void prepare_to_store (struct regcache *arg0) override;
+  void files_info () override;
+  int insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+  int remove_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1, enum remove_bp_reason arg2) override;
+  bool stopped_by_sw_breakpoint () override;
+  bool supports_stopped_by_sw_breakpoint () override;
+  bool stopped_by_hw_breakpoint () override;
+  bool supports_stopped_by_hw_breakpoint () override;
+  int can_use_hw_breakpoint (enum bptype arg0, int arg1, int arg2) override;
+  int ranged_break_num_registers () override;
+  int insert_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+  int remove_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+  int remove_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3) override;
+  int insert_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3) override;
+  int insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
+  int remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
+  bool stopped_by_watchpoint () override;
+  int have_steppable_watchpoint () override;
+  bool have_continuable_watchpoint () override;
+  bool stopped_data_address (CORE_ADDR *arg0) override;
+  bool watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2) override;
+  int region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1) override;
+  bool can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2, struct expression *arg3) override;
+  int masked_watch_num_registers (CORE_ADDR arg0, CORE_ADDR arg1) override;
+  int can_do_single_step () override;
+  bool supports_terminal_ours () override;
+  void terminal_init () override;
+  void terminal_inferior () override;
+  void terminal_save_inferior () override;
+  void terminal_ours_for_output () override;
+  void terminal_ours () override;
+  void terminal_info (const char *arg0, int arg1) override;
+  void kill () override;
+  void load (const char *arg0, int arg1) override;
+  void post_startup_inferior (ptid_t arg0) override;
+  int insert_fork_catchpoint (int arg0) override;
+  int remove_fork_catchpoint (int arg0) override;
+  int insert_vfork_catchpoint (int arg0) override;
+  int remove_vfork_catchpoint (int arg0) override;
+  int follow_fork (int arg0, int arg1) override;
+  int insert_exec_catchpoint (int arg0) override;
+  int remove_exec_catchpoint (int arg0) override;
+  void follow_exec (struct inferior *arg0, char *arg1) override;
+  int set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view<const int> arg3) override;
+  void mourn_inferior () override;
+  void pass_signals (int arg0, unsigned char * arg1) override;
+  void program_signals (int arg0, unsigned char * arg1) override;
+  bool thread_alive (ptid_t arg0) override;
+  void update_thread_list () override;
+  const char *pid_to_str (ptid_t arg0) override;
+  const char *extra_thread_info (thread_info *arg0) override;
+  const char *thread_name (thread_info *arg0) override;
+  thread_info *thread_handle_to_thread_info (const gdb_byte *arg0, int arg1, inferior *arg2) override;
+  void stop (ptid_t arg0) override;
+  void interrupt () override;
+  void pass_ctrlc () override;
+  void rcmd (const char *arg0, struct ui_file *arg1) override;
+  char *pid_to_exec_file (int arg0) override;
+  void log_command (const char *arg0) override;
+  struct target_section_table *get_section_table () override;
+  thread_control_capabilities get_thread_control_capabilities () override;
+  bool attach_no_wait () override;
+  bool can_async_p () override;
+  bool is_async_p () override;
+  void async (int arg0) override;
+  void thread_events (int arg0) override;
+  bool supports_non_stop () override;
+  bool always_non_stop_p () override;
+  int find_memory_regions (find_memory_region_ftype arg0, void *arg1) override;
+  char *make_corefile_notes (bfd *arg0, int *arg1) override;
+  gdb_byte *get_bookmark (const char *arg0, int arg1) override;
+  void goto_bookmark (const gdb_byte *arg0, int arg1) override;
+  CORE_ADDR get_thread_local_address (ptid_t arg0, CORE_ADDR arg1, CORE_ADDR arg2) override;
+  enum target_xfer_status xfer_partial (enum target_object arg0, const char *arg1, gdb_byte *arg2, const gdb_byte *arg3, ULONGEST arg4, ULONGEST arg5, ULONGEST *arg6) override;
+  ULONGEST get_memory_xfer_limit () override;
+  std::vector<mem_region> memory_map () override;
+  void flash_erase (ULONGEST arg0, LONGEST arg1) override;
+  void flash_done () override;
+  const struct target_desc *read_description () override;
+  ptid_t get_ada_task_ptid (long arg0, long arg1) override;
+  int auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3) override;
+  int search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4) override;
+  bool can_execute_reverse () override;
+  enum exec_direction_kind execution_direction () override;
+  bool supports_multi_process () override;
+  bool supports_enable_disable_tracepoint () override;
+  bool supports_disable_randomization () override;
+  bool supports_string_tracing () override;
+  bool supports_evaluation_of_breakpoint_conditions () override;
+  bool can_run_breakpoint_commands () override;
+  struct gdbarch *thread_architecture (ptid_t arg0) override;
+  struct address_space *thread_address_space (ptid_t arg0) override;
+  bool filesystem_is_local () override;
+  void trace_init () override;
+  void download_tracepoint (struct bp_location *arg0) override;
+  bool can_download_tracepoint () override;
+  void download_trace_state_variable (const trace_state_variable &arg0) override;
+  void enable_tracepoint (struct bp_location *arg0) override;
+  void disable_tracepoint (struct bp_location *arg0) override;
+  void trace_set_readonly_regions () override;
+  void trace_start () override;
+  int get_trace_status (struct trace_status *arg0) override;
+  void get_tracepoint_status (struct breakpoint *arg0, struct uploaded_tp *arg1) override;
+  void trace_stop () override;
+  int trace_find (enum trace_find_type arg0, int arg1, CORE_ADDR arg2, CORE_ADDR arg3, int *arg4) override;
+  bool get_trace_state_variable_value (int arg0, LONGEST *arg1) override;
+  int save_trace_data (const char *arg0) override;
+  int upload_tracepoints (struct uploaded_tp **arg0) override;
+  int upload_trace_state_variables (struct uploaded_tsv **arg0) override;
+  LONGEST get_raw_trace_data (gdb_byte *arg0, ULONGEST arg1, LONGEST arg2) override;
+  int get_min_fast_tracepoint_insn_len () override;
+  void set_disconnected_tracing (int arg0) override;
+  void set_circular_trace_buffer (int arg0) override;
+  void set_trace_buffer_size (LONGEST arg0) override;
+  bool set_trace_notes (const char *arg0, const char *arg1, const char *arg2) override;
+  int core_of_thread (ptid_t arg0) override;
+  int verify_memory (const gdb_byte *arg0, CORE_ADDR arg1, ULONGEST arg2) override;
+  bool get_tib_address (ptid_t arg0, CORE_ADDR *arg1) override;
+  void set_permissions () override;
+  bool static_tracepoint_marker_at (CORE_ADDR arg0, static_tracepoint_marker *arg1) override;
+  std::vector<static_tracepoint_marker> static_tracepoint_markers_by_strid (const char *arg0) override;
+  traceframe_info_up traceframe_info () override;
+  bool use_agent (bool arg0) override;
+  bool can_use_agent () override;
+  struct btrace_target_info *enable_btrace (ptid_t arg0, const struct btrace_config *arg1) override;
+  void disable_btrace (struct btrace_target_info *arg0) override;
+  void teardown_btrace (struct btrace_target_info *arg0) override;
+  enum btrace_error read_btrace (struct btrace_data *arg0, struct btrace_target_info *arg1, enum btrace_read_type arg2) override;
+  const struct btrace_config *btrace_conf (const struct btrace_target_info *arg0) override;
+  enum record_method record_method (ptid_t arg0) override;
+  void stop_recording () override;
+  void info_record () override;
+  void save_record (const char *arg0) override;
+  bool supports_delete_record () override;
+  void delete_record () override;
+  bool record_is_replaying (ptid_t arg0) override;
+  bool record_will_replay (ptid_t arg0, int arg1) override;
+  void record_stop_replaying () override;
+  void goto_record_begin () override;
+  void goto_record_end () override;
+  void goto_record (ULONGEST arg0) override;
+  void insn_history (int arg0, gdb_disassembly_flags arg1) override;
+  void insn_history_from (ULONGEST arg0, int arg1, gdb_disassembly_flags arg2) override;
+  void insn_history_range (ULONGEST arg0, ULONGEST arg1, gdb_disassembly_flags arg2) override;
+  void call_history (int arg0, record_print_flags arg1) override;
+  void call_history_from (ULONGEST arg0, int arg1, record_print_flags arg2) override;
+  void call_history_range (ULONGEST arg0, ULONGEST arg1, record_print_flags arg2) override;
+  bool augmented_libraries_svr4_read () override;
+  const struct frame_unwind *get_unwinder () override;
+  const struct frame_unwind *get_tailcall_unwinder () override;
+  void prepare_to_generate_core () override;
+  void done_generating_core () override;
+};
+
+struct debug_target : public target_ops
+{
+  debug_target ();
+
+  const target_info &info () const override;
+
+  void post_attach (int arg0) override;
+  void detach (inferior *arg0, int arg1) override;
+  void disconnect (const char *arg0, int arg1) override;
+  void resume (ptid_t arg0, int arg1, enum gdb_signal arg2) override;
+  void commit_resume () override;
+  ptid_t wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2) override;
+  void fetch_registers (struct regcache *arg0, int arg1) override;
+  void store_registers (struct regcache *arg0, int arg1) override;
+  void prepare_to_store (struct regcache *arg0) override;
+  void files_info () override;
+  int insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+  int remove_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1, enum remove_bp_reason arg2) override;
+  bool stopped_by_sw_breakpoint () override;
+  bool supports_stopped_by_sw_breakpoint () override;
+  bool stopped_by_hw_breakpoint () override;
+  bool supports_stopped_by_hw_breakpoint () override;
+  int can_use_hw_breakpoint (enum bptype arg0, int arg1, int arg2) override;
+  int ranged_break_num_registers () override;
+  int insert_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+  int remove_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+  int remove_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3) override;
+  int insert_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3) override;
+  int insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
+  int remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
+  bool stopped_by_watchpoint () override;
+  int have_steppable_watchpoint () override;
+  bool have_continuable_watchpoint () override;
+  bool stopped_data_address (CORE_ADDR *arg0) override;
+  bool watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2) override;
+  int region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1) override;
+  bool can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2, struct expression *arg3) override;
+  int masked_watch_num_registers (CORE_ADDR arg0, CORE_ADDR arg1) override;
+  int can_do_single_step () override;
+  bool supports_terminal_ours () override;
+  void terminal_init () override;
+  void terminal_inferior () override;
+  void terminal_save_inferior () override;
+  void terminal_ours_for_output () override;
+  void terminal_ours () override;
+  void terminal_info (const char *arg0, int arg1) override;
+  void kill () override;
+  void load (const char *arg0, int arg1) override;
+  void post_startup_inferior (ptid_t arg0) override;
+  int insert_fork_catchpoint (int arg0) override;
+  int remove_fork_catchpoint (int arg0) override;
+  int insert_vfork_catchpoint (int arg0) override;
+  int remove_vfork_catchpoint (int arg0) override;
+  int follow_fork (int arg0, int arg1) override;
+  int insert_exec_catchpoint (int arg0) override;
+  int remove_exec_catchpoint (int arg0) override;
+  void follow_exec (struct inferior *arg0, char *arg1) override;
+  int set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view<const int> arg3) override;
+  void mourn_inferior () override;
+  void pass_signals (int arg0, unsigned char * arg1) override;
+  void program_signals (int arg0, unsigned char * arg1) override;
+  bool thread_alive (ptid_t arg0) override;
+  void update_thread_list () override;
+  const char *pid_to_str (ptid_t arg0) override;
+  const char *extra_thread_info (thread_info *arg0) override;
+  const char *thread_name (thread_info *arg0) override;
+  thread_info *thread_handle_to_thread_info (const gdb_byte *arg0, int arg1, inferior *arg2) override;
+  void stop (ptid_t arg0) override;
+  void interrupt () override;
+  void pass_ctrlc () override;
+  void rcmd (const char *arg0, struct ui_file *arg1) override;
+  char *pid_to_exec_file (int arg0) override;
+  void log_command (const char *arg0) override;
+  struct target_section_table *get_section_table () override;
+  thread_control_capabilities get_thread_control_capabilities () override;
+  bool attach_no_wait () override;
+  bool can_async_p () override;
+  bool is_async_p () override;
+  void async (int arg0) override;
+  void thread_events (int arg0) override;
+  bool supports_non_stop () override;
+  bool always_non_stop_p () override;
+  int find_memory_regions (find_memory_region_ftype arg0, void *arg1) override;
+  char *make_corefile_notes (bfd *arg0, int *arg1) override;
+  gdb_byte *get_bookmark (const char *arg0, int arg1) override;
+  void goto_bookmark (const gdb_byte *arg0, int arg1) override;
+  CORE_ADDR get_thread_local_address (ptid_t arg0, CORE_ADDR arg1, CORE_ADDR arg2) override;
+  enum target_xfer_status xfer_partial (enum target_object arg0, const char *arg1, gdb_byte *arg2, const gdb_byte *arg3, ULONGEST arg4, ULONGEST arg5, ULONGEST *arg6) override;
+  ULONGEST get_memory_xfer_limit () override;
+  std::vector<mem_region> memory_map () override;
+  void flash_erase (ULONGEST arg0, LONGEST arg1) override;
+  void flash_done () override;
+  const struct target_desc *read_description () override;
+  ptid_t get_ada_task_ptid (long arg0, long arg1) override;
+  int auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3) override;
+  int search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4) override;
+  bool can_execute_reverse () override;
+  enum exec_direction_kind execution_direction () override;
+  bool supports_multi_process () override;
+  bool supports_enable_disable_tracepoint () override;
+  bool supports_disable_randomization () override;
+  bool supports_string_tracing () override;
+  bool supports_evaluation_of_breakpoint_conditions () override;
+  bool can_run_breakpoint_commands () override;
+  struct gdbarch *thread_architecture (ptid_t arg0) override;
+  struct address_space *thread_address_space (ptid_t arg0) override;
+  bool filesystem_is_local () override;
+  void trace_init () override;
+  void download_tracepoint (struct bp_location *arg0) override;
+  bool can_download_tracepoint () override;
+  void download_trace_state_variable (const trace_state_variable &arg0) override;
+  void enable_tracepoint (struct bp_location *arg0) override;
+  void disable_tracepoint (struct bp_location *arg0) override;
+  void trace_set_readonly_regions () override;
+  void trace_start () override;
+  int get_trace_status (struct trace_status *arg0) override;
+  void get_tracepoint_status (struct breakpoint *arg0, struct uploaded_tp *arg1) override;
+  void trace_stop () override;
+  int trace_find (enum trace_find_type arg0, int arg1, CORE_ADDR arg2, CORE_ADDR arg3, int *arg4) override;
+  bool get_trace_state_variable_value (int arg0, LONGEST *arg1) override;
+  int save_trace_data (const char *arg0) override;
+  int upload_tracepoints (struct uploaded_tp **arg0) override;
+  int upload_trace_state_variables (struct uploaded_tsv **arg0) override;
+  LONGEST get_raw_trace_data (gdb_byte *arg0, ULONGEST arg1, LONGEST arg2) override;
+  int get_min_fast_tracepoint_insn_len () override;
+  void set_disconnected_tracing (int arg0) override;
+  void set_circular_trace_buffer (int arg0) override;
+  void set_trace_buffer_size (LONGEST arg0) override;
+  bool set_trace_notes (const char *arg0, const char *arg1, const char *arg2) override;
+  int core_of_thread (ptid_t arg0) override;
+  int verify_memory (const gdb_byte *arg0, CORE_ADDR arg1, ULONGEST arg2) override;
+  bool get_tib_address (ptid_t arg0, CORE_ADDR *arg1) override;
+  void set_permissions () override;
+  bool static_tracepoint_marker_at (CORE_ADDR arg0, static_tracepoint_marker *arg1) override;
+  std::vector<static_tracepoint_marker> static_tracepoint_markers_by_strid (const char *arg0) override;
+  traceframe_info_up traceframe_info () override;
+  bool use_agent (bool arg0) override;
+  bool can_use_agent () override;
+  struct btrace_target_info *enable_btrace (ptid_t arg0, const struct btrace_config *arg1) override;
+  void disable_btrace (struct btrace_target_info *arg0) override;
+  void teardown_btrace (struct btrace_target_info *arg0) override;
+  enum btrace_error read_btrace (struct btrace_data *arg0, struct btrace_target_info *arg1, enum btrace_read_type arg2) override;
+  const struct btrace_config *btrace_conf (const struct btrace_target_info *arg0) override;
+  enum record_method record_method (ptid_t arg0) override;
+  void stop_recording () override;
+  void info_record () override;
+  void save_record (const char *arg0) override;
+  bool supports_delete_record () override;
+  void delete_record () override;
+  bool record_is_replaying (ptid_t arg0) override;
+  bool record_will_replay (ptid_t arg0, int arg1) override;
+  void record_stop_replaying () override;
+  void goto_record_begin () override;
+  void goto_record_end () override;
+  void goto_record (ULONGEST arg0) override;
+  void insn_history (int arg0, gdb_disassembly_flags arg1) override;
+  void insn_history_from (ULONGEST arg0, int arg1, gdb_disassembly_flags arg2) override;
+  void insn_history_range (ULONGEST arg0, ULONGEST arg1, gdb_disassembly_flags arg2) override;
+  void call_history (int arg0, record_print_flags arg1) override;
+  void call_history_from (ULONGEST arg0, int arg1, record_print_flags arg2) override;
+  void call_history_range (ULONGEST arg0, ULONGEST arg1, record_print_flags arg2) override;
+  bool augmented_libraries_svr4_read () override;
+  const struct frame_unwind *get_unwinder () override;
+  const struct frame_unwind *get_tailcall_unwinder () override;
+  void prepare_to_generate_core () override;
+  void done_generating_core () override;
+};
+
+void
+target_ops::post_attach (int arg0)
+{
+  this->beneath ()->post_attach (arg0);
+}
+
+void
+dummy_target::post_attach (int arg0)
+{
+}
+
+void
+debug_target::post_attach (int arg0)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->post_attach (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->post_attach (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->post_attach (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::detach (inferior *arg0, int arg1)
+{
+  this->beneath ()->detach (arg0, arg1);
+}
+
+void
+dummy_target::detach (inferior *arg0, int arg1)
+{
+}
+
+void
+debug_target::detach (inferior *arg0, int arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->detach (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->detach (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->detach (", this->beneath ()->shortname ());
+  target_debug_print_inferior_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_int (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_detach (struct target_ops *self, const char *arg1, int arg2)
+void
+target_ops::disconnect (const char *arg0, int arg1)
 {
-  self = self->beneath;
-  self->to_detach (self, arg1, arg2);
+  this->beneath ()->disconnect (arg0, arg1);
 }
 
-static void
-tdefault_detach (struct target_ops *self, const char *arg1, int arg2)
+void
+dummy_target::disconnect (const char *arg0, int arg1)
 {
+  tcomplain ();
 }
 
-static void
-debug_detach (struct target_ops *self, const char *arg1, int arg2)
+void
+debug_target::disconnect (const char *arg0, int arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_detach (...)\n", debug_target.to_shortname);
-  debug_target.to_detach (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_detach (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->disconnect (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->disconnect (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->disconnect (", this->beneath ()->shortname ());
+  target_debug_print_const_char_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_disconnect (struct target_ops *self, const char *arg1, int arg2)
+void
+target_ops::resume (ptid_t arg0, int arg1, enum gdb_signal arg2)
 {
-  self = self->beneath;
-  self->to_disconnect (self, arg1, arg2);
+  this->beneath ()->resume (arg0, arg1, arg2);
 }
 
-static void
-tdefault_disconnect (struct target_ops *self, const char *arg1, int arg2)
+void
+dummy_target::resume (ptid_t arg0, int arg1, enum gdb_signal arg2)
 {
-  tcomplain ();
+  noprocess ();
 }
 
-static void
-debug_disconnect (struct target_ops *self, const char *arg1, int arg2)
+void
+debug_target::resume (ptid_t arg0, int arg1, enum gdb_signal arg2)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_disconnect (...)\n", debug_target.to_shortname);
-  debug_target.to_disconnect (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_disconnect (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->resume (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->resume (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->resume (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg1);
+  target_debug_print_step (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_enum_gdb_signal (arg2);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
+void
+target_ops::commit_resume ()
 {
-  self = self->beneath;
-  self->to_resume (self, arg1, arg2, arg3);
+  this->beneath ()->commit_resume ();
 }
 
-static void
-tdefault_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
+void
+dummy_target::commit_resume ()
 {
-  noprocess ();
 }
 
-static void
-debug_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
+void
+debug_target::commit_resume ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_resume (...)\n", debug_target.to_shortname);
-  debug_target.to_resume (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_resume (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_step (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_enum_gdb_signal (arg3);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->commit_resume (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->commit_resume ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->commit_resume (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_commit_resume (struct target_ops *self)
+ptid_t
+target_ops::wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2)
 {
-  self = self->beneath;
-  self->to_commit_resume (self);
+  return this->beneath ()->wait (arg0, arg1, arg2);
 }
 
-static void
-tdefault_commit_resume (struct target_ops *self)
+ptid_t
+dummy_target::wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2)
 {
+  return default_target_wait (this, arg0, arg1, arg2);
 }
 
-static void
-debug_commit_resume (struct target_ops *self)
-{
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_commit_resume (...)\n", debug_target.to_shortname);
-  debug_target.to_commit_resume (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_commit_resume (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (")\n", gdb_stdlog);
-}
-
-static ptid_t
-delegate_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
-{
-  self = self->beneath;
-  return self->to_wait (self, arg1, arg2, arg3);
-}
-
-static ptid_t
-debug_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
+ptid_t
+debug_target::wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2)
 {
   ptid_t result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_wait (...)\n", debug_target.to_shortname);
-  result = debug_target.to_wait (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_wait (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->wait (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->wait (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->wait (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  target_debug_print_struct_target_waitstatus_p (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_target_waitstatus_p (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_options (arg3);
+  target_debug_print_options (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_ptid_t (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
+void
+target_ops::fetch_registers (struct regcache *arg0, int arg1)
 {
-  self = self->beneath;
-  self->to_fetch_registers (self, arg1, arg2);
+  this->beneath ()->fetch_registers (arg0, arg1);
 }
 
-static void
-tdefault_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
+void
+dummy_target::fetch_registers (struct regcache *arg0, int arg1)
 {
 }
 
-static void
-debug_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
+void
+debug_target::fetch_registers (struct regcache *arg0, int arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_fetch_registers (...)\n", debug_target.to_shortname);
-  debug_target.to_fetch_registers (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_fetch_registers (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_regcache_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->fetch_registers (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->fetch_registers (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->fetch_registers (", this->beneath ()->shortname ());
+  target_debug_print_struct_regcache_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
+void
+target_ops::store_registers (struct regcache *arg0, int arg1)
 {
-  self = self->beneath;
-  self->to_store_registers (self, arg1, arg2);
+  this->beneath ()->store_registers (arg0, arg1);
 }
 
-static void
-tdefault_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
+void
+dummy_target::store_registers (struct regcache *arg0, int arg1)
 {
   noprocess ();
 }
 
-static void
-debug_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
+void
+debug_target::store_registers (struct regcache *arg0, int arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_store_registers (...)\n", debug_target.to_shortname);
-  debug_target.to_store_registers (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_store_registers (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->store_registers (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->store_registers (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->store_registers (", this->beneath ()->shortname ());
+  target_debug_print_struct_regcache_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_regcache_p (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_prepare_to_store (struct target_ops *self, struct regcache *arg1)
+void
+target_ops::prepare_to_store (struct regcache *arg0)
 {
-  self = self->beneath;
-  self->to_prepare_to_store (self, arg1);
+  this->beneath ()->prepare_to_store (arg0);
 }
 
-static void
-tdefault_prepare_to_store (struct target_ops *self, struct regcache *arg1)
+void
+dummy_target::prepare_to_store (struct regcache *arg0)
 {
   noprocess ();
 }
 
-static void
-debug_prepare_to_store (struct target_ops *self, struct regcache *arg1)
+void
+debug_target::prepare_to_store (struct regcache *arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_prepare_to_store (...)\n", debug_target.to_shortname);
-  debug_target.to_prepare_to_store (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_prepare_to_store (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_regcache_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->prepare_to_store (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->prepare_to_store (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->prepare_to_store (", this->beneath ()->shortname ());
+  target_debug_print_struct_regcache_p (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_files_info (struct target_ops *self)
+void
+target_ops::files_info ()
 {
-  self = self->beneath;
-  self->to_files_info (self);
+  this->beneath ()->files_info ();
 }
 
-static void
-tdefault_files_info (struct target_ops *self)
+void
+dummy_target::files_info ()
 {
 }
 
-static void
-debug_files_info (struct target_ops *self)
+void
+debug_target::files_info ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_files_info (...)\n", debug_target.to_shortname);
-  debug_target.to_files_info (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_files_info (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->files_info (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->files_info ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->files_info (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_insert_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+int
+target_ops::insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
 {
-  self = self->beneath;
-  return self->to_insert_breakpoint (self, arg1, arg2);
+  return this->beneath ()->insert_breakpoint (arg0, arg1);
 }
 
-static int
-debug_insert_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+int
+dummy_target::insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
+{
+  noprocess ();
+}
+
+int
+debug_target::insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_breakpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_insert_breakpoint (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_breakpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_gdbarch_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->insert_breakpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->insert_breakpoint (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->insert_breakpoint (", this->beneath ()->shortname ());
+  target_debug_print_struct_gdbarch_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_bp_target_info_p (arg2);
+  target_debug_print_struct_bp_target_info_p (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_remove_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2, enum remove_bp_reason arg3)
+int
+target_ops::remove_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1, enum remove_bp_reason arg2)
 {
-  self = self->beneath;
-  return self->to_remove_breakpoint (self, arg1, arg2, arg3);
+  return this->beneath ()->remove_breakpoint (arg0, arg1, arg2);
 }
 
-static int
-debug_remove_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2, enum remove_bp_reason arg3)
+int
+dummy_target::remove_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1, enum remove_bp_reason arg2)
+{
+  noprocess ();
+}
+
+int
+debug_target::remove_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1, enum remove_bp_reason arg2)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_breakpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_remove_breakpoint (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_breakpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->remove_breakpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->remove_breakpoint (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->remove_breakpoint (", this->beneath ()->shortname ());
+  target_debug_print_struct_gdbarch_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_gdbarch_p (arg1);
+  target_debug_print_struct_bp_target_info_p (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_bp_target_info_p (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_enum_remove_bp_reason (arg3);
+  target_debug_print_enum_remove_bp_reason (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_stopped_by_sw_breakpoint (struct target_ops *self)
+bool
+target_ops::stopped_by_sw_breakpoint ()
 {
-  self = self->beneath;
-  return self->to_stopped_by_sw_breakpoint (self);
+  return this->beneath ()->stopped_by_sw_breakpoint ();
 }
 
-static int
-tdefault_stopped_by_sw_breakpoint (struct target_ops *self)
+bool
+dummy_target::stopped_by_sw_breakpoint ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_stopped_by_sw_breakpoint (struct target_ops *self)
+bool
+debug_target::stopped_by_sw_breakpoint ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_by_sw_breakpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_stopped_by_sw_breakpoint (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_by_sw_breakpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->stopped_by_sw_breakpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->stopped_by_sw_breakpoint ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->stopped_by_sw_breakpoint (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_supports_stopped_by_sw_breakpoint (struct target_ops *self)
+bool
+target_ops::supports_stopped_by_sw_breakpoint ()
 {
-  self = self->beneath;
-  return self->to_supports_stopped_by_sw_breakpoint (self);
+  return this->beneath ()->supports_stopped_by_sw_breakpoint ();
 }
 
-static int
-tdefault_supports_stopped_by_sw_breakpoint (struct target_ops *self)
+bool
+dummy_target::supports_stopped_by_sw_breakpoint ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_supports_stopped_by_sw_breakpoint (struct target_ops *self)
+bool
+debug_target::supports_stopped_by_sw_breakpoint ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_stopped_by_sw_breakpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_supports_stopped_by_sw_breakpoint (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_stopped_by_sw_breakpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->supports_stopped_by_sw_breakpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->supports_stopped_by_sw_breakpoint ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->supports_stopped_by_sw_breakpoint (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_stopped_by_hw_breakpoint (struct target_ops *self)
+bool
+target_ops::stopped_by_hw_breakpoint ()
 {
-  self = self->beneath;
-  return self->to_stopped_by_hw_breakpoint (self);
+  return this->beneath ()->stopped_by_hw_breakpoint ();
 }
 
-static int
-tdefault_stopped_by_hw_breakpoint (struct target_ops *self)
+bool
+dummy_target::stopped_by_hw_breakpoint ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_stopped_by_hw_breakpoint (struct target_ops *self)
+bool
+debug_target::stopped_by_hw_breakpoint ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_by_hw_breakpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_stopped_by_hw_breakpoint (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_by_hw_breakpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->stopped_by_hw_breakpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->stopped_by_hw_breakpoint ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->stopped_by_hw_breakpoint (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_supports_stopped_by_hw_breakpoint (struct target_ops *self)
+bool
+target_ops::supports_stopped_by_hw_breakpoint ()
 {
-  self = self->beneath;
-  return self->to_supports_stopped_by_hw_breakpoint (self);
+  return this->beneath ()->supports_stopped_by_hw_breakpoint ();
 }
 
-static int
-tdefault_supports_stopped_by_hw_breakpoint (struct target_ops *self)
+bool
+dummy_target::supports_stopped_by_hw_breakpoint ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_supports_stopped_by_hw_breakpoint (struct target_ops *self)
+bool
+debug_target::supports_stopped_by_hw_breakpoint ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_stopped_by_hw_breakpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_supports_stopped_by_hw_breakpoint (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_stopped_by_hw_breakpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->supports_stopped_by_hw_breakpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->supports_stopped_by_hw_breakpoint ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->supports_stopped_by_hw_breakpoint (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_can_use_hw_breakpoint (struct target_ops *self, enum bptype arg1, int arg2, int arg3)
+int
+target_ops::can_use_hw_breakpoint (enum bptype arg0, int arg1, int arg2)
 {
-  self = self->beneath;
-  return self->to_can_use_hw_breakpoint (self, arg1, arg2, arg3);
+  return this->beneath ()->can_use_hw_breakpoint (arg0, arg1, arg2);
 }
 
-static int
-tdefault_can_use_hw_breakpoint (struct target_ops *self, enum bptype arg1, int arg2, int arg3)
+int
+dummy_target::can_use_hw_breakpoint (enum bptype arg0, int arg1, int arg2)
 {
   return 0;
 }
 
-static int
-debug_can_use_hw_breakpoint (struct target_ops *self, enum bptype arg1, int arg2, int arg3)
+int
+debug_target::can_use_hw_breakpoint (enum bptype arg0, int arg1, int arg2)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_use_hw_breakpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_can_use_hw_breakpoint (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_use_hw_breakpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->can_use_hw_breakpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->can_use_hw_breakpoint (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->can_use_hw_breakpoint (", this->beneath ()->shortname ());
+  target_debug_print_enum_bptype (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_enum_bptype (arg1);
+  target_debug_print_int (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_int (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg3);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_ranged_break_num_registers (struct target_ops *self)
+int
+target_ops::ranged_break_num_registers ()
 {
-  self = self->beneath;
-  return self->to_ranged_break_num_registers (self);
+  return this->beneath ()->ranged_break_num_registers ();
 }
 
-static int
-tdefault_ranged_break_num_registers (struct target_ops *self)
+int
+dummy_target::ranged_break_num_registers ()
 {
   return -1;
 }
 
-static int
-debug_ranged_break_num_registers (struct target_ops *self)
+int
+debug_target::ranged_break_num_registers ()
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_ranged_break_num_registers (...)\n", debug_target.to_shortname);
-  result = debug_target.to_ranged_break_num_registers (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_ranged_break_num_registers (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->ranged_break_num_registers (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->ranged_break_num_registers ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->ranged_break_num_registers (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+int
+target_ops::insert_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
 {
-  self = self->beneath;
-  return self->to_insert_hw_breakpoint (self, arg1, arg2);
+  return this->beneath ()->insert_hw_breakpoint (arg0, arg1);
 }
 
-static int
-tdefault_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+int
+dummy_target::insert_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
 {
   return -1;
 }
 
-static int
-debug_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+int
+debug_target::insert_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_hw_breakpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_insert_hw_breakpoint (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_hw_breakpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->insert_hw_breakpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->insert_hw_breakpoint (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->insert_hw_breakpoint (", this->beneath ()->shortname ());
+  target_debug_print_struct_gdbarch_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_gdbarch_p (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_bp_target_info_p (arg2);
+  target_debug_print_struct_bp_target_info_p (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+int
+target_ops::remove_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
 {
-  self = self->beneath;
-  return self->to_remove_hw_breakpoint (self, arg1, arg2);
+  return this->beneath ()->remove_hw_breakpoint (arg0, arg1);
 }
 
-static int
-tdefault_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+int
+dummy_target::remove_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
 {
   return -1;
 }
 
-static int
-debug_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+int
+debug_target::remove_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_hw_breakpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_remove_hw_breakpoint (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_hw_breakpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_gdbarch_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->remove_hw_breakpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->remove_hw_breakpoint (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->remove_hw_breakpoint (", this->beneath ()->shortname ());
+  target_debug_print_struct_gdbarch_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_bp_target_info_p (arg2);
+  target_debug_print_struct_bp_target_info_p (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
+int
+target_ops::remove_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
 {
-  self = self->beneath;
-  return self->to_remove_watchpoint (self, arg1, arg2, arg3, arg4);
+  return this->beneath ()->remove_watchpoint (arg0, arg1, arg2, arg3);
 }
 
-static int
-tdefault_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
+int
+dummy_target::remove_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
 {
   return -1;
 }
 
-static int
-debug_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
+int
+debug_target::remove_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_watchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_remove_watchpoint (&debug_target, arg1, arg2, arg3, arg4);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_watchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->remove_watchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->remove_watchpoint (arg0, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->remove_watchpoint (", this->beneath ()->shortname ());
+  target_debug_print_CORE_ADDR (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_enum_target_hw_bp_type (arg3);
+  target_debug_print_enum_target_hw_bp_type (arg2);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_expression_p (arg4);
+  target_debug_print_struct_expression_p (arg3);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
+int
+target_ops::insert_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
 {
-  self = self->beneath;
-  return self->to_insert_watchpoint (self, arg1, arg2, arg3, arg4);
+  return this->beneath ()->insert_watchpoint (arg0, arg1, arg2, arg3);
 }
 
-static int
-tdefault_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
+int
+dummy_target::insert_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
 {
   return -1;
 }
 
-static int
-debug_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
+int
+debug_target::insert_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_watchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_insert_watchpoint (&debug_target, arg1, arg2, arg3, arg4);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_watchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->insert_watchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->insert_watchpoint (arg0, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->insert_watchpoint (", this->beneath ()->shortname ());
+  target_debug_print_CORE_ADDR (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_enum_target_hw_bp_type (arg3);
+  target_debug_print_enum_target_hw_bp_type (arg2);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_expression_p (arg4);
+  target_debug_print_struct_expression_p (arg3);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
+int
+target_ops::insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
 {
-  self = self->beneath;
-  return self->to_insert_mask_watchpoint (self, arg1, arg2, arg3);
+  return this->beneath ()->insert_mask_watchpoint (arg0, arg1, arg2);
 }
 
-static int
-tdefault_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
+int
+dummy_target::insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
 {
   return 1;
 }
 
-static int
-debug_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
+int
+debug_target::insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_mask_watchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_insert_mask_watchpoint (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_mask_watchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->insert_mask_watchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->insert_mask_watchpoint (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->insert_mask_watchpoint (", this->beneath ()->shortname ());
+  target_debug_print_CORE_ADDR (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_CORE_ADDR (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_enum_target_hw_bp_type (arg3);
+  target_debug_print_enum_target_hw_bp_type (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
+int
+target_ops::remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
 {
-  self = self->beneath;
-  return self->to_remove_mask_watchpoint (self, arg1, arg2, arg3);
+  return this->beneath ()->remove_mask_watchpoint (arg0, arg1, arg2);
 }
 
-static int
-tdefault_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
+int
+dummy_target::remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
 {
   return 1;
 }
 
-static int
-debug_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
+int
+debug_target::remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_mask_watchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_remove_mask_watchpoint (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_mask_watchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->remove_mask_watchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->remove_mask_watchpoint (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->remove_mask_watchpoint (", this->beneath ()->shortname ());
+  target_debug_print_CORE_ADDR (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_CORE_ADDR (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_enum_target_hw_bp_type (arg3);
+  target_debug_print_enum_target_hw_bp_type (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_stopped_by_watchpoint (struct target_ops *self)
+bool
+target_ops::stopped_by_watchpoint ()
 {
-  self = self->beneath;
-  return self->to_stopped_by_watchpoint (self);
+  return this->beneath ()->stopped_by_watchpoint ();
 }
 
-static int
-tdefault_stopped_by_watchpoint (struct target_ops *self)
+bool
+dummy_target::stopped_by_watchpoint ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_stopped_by_watchpoint (struct target_ops *self)
+bool
+debug_target::stopped_by_watchpoint ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_by_watchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_stopped_by_watchpoint (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_by_watchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->stopped_by_watchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->stopped_by_watchpoint ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->stopped_by_watchpoint (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
+int
+target_ops::have_steppable_watchpoint ()
 {
-  self = self->beneath;
-  return self->to_stopped_data_address (self, arg1);
+  return this->beneath ()->have_steppable_watchpoint ();
 }
 
-static int
-tdefault_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
+int
+dummy_target::have_steppable_watchpoint ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
+int
+debug_target::have_steppable_watchpoint ()
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_data_address (...)\n", debug_target.to_shortname);
-  result = debug_target.to_stopped_data_address (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_data_address (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->have_steppable_watchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->have_steppable_watchpoint ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->have_steppable_watchpoint (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
+bool
+target_ops::have_continuable_watchpoint ()
 {
-  self = self->beneath;
-  return self->to_watchpoint_addr_within_range (self, arg1, arg2, arg3);
+  return this->beneath ()->have_continuable_watchpoint ();
 }
 
-static int
-debug_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
+bool
+dummy_target::have_continuable_watchpoint ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_watchpoint_addr_within_range (...)\n", debug_target.to_shortname);
-  result = debug_target.to_watchpoint_addr_within_range (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_watchpoint_addr_within_range (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  return false;
+}
+
+bool
+debug_target::have_continuable_watchpoint ()
+{
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->have_continuable_watchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->have_continuable_watchpoint ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->have_continuable_watchpoint (", this->beneath ()->shortname ());
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_bool (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+bool
+target_ops::stopped_data_address (CORE_ADDR *arg0)
+{
+  return this->beneath ()->stopped_data_address (arg0);
+}
+
+bool
+dummy_target::stopped_data_address (CORE_ADDR *arg0)
+{
+  return false;
+}
+
+bool
+debug_target::stopped_data_address (CORE_ADDR *arg0)
+{
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->stopped_data_address (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->stopped_data_address (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->stopped_data_address (", this->beneath ()->shortname ());
+  target_debug_print_CORE_ADDR_p (arg0);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_bool (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+bool
+target_ops::watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2)
+{
+  return this->beneath ()->watchpoint_addr_within_range (arg0, arg1, arg2);
+}
+
+bool
+dummy_target::watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2)
+{
+  return default_watchpoint_addr_within_range (this, arg0, arg1, arg2);
+}
+
+bool
+debug_target::watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2)
+{
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->watchpoint_addr_within_range (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->watchpoint_addr_within_range (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->watchpoint_addr_within_range (", this->beneath ()->shortname ());
+  target_debug_print_CORE_ADDR (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_CORE_ADDR (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg3);
+  target_debug_print_int (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
+int
+target_ops::region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1)
 {
-  self = self->beneath;
-  return self->to_region_ok_for_hw_watchpoint (self, arg1, arg2);
+  return this->beneath ()->region_ok_for_hw_watchpoint (arg0, arg1);
 }
 
-static int
-debug_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
+int
+dummy_target::region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1)
+{
+  return default_region_ok_for_hw_watchpoint (this, arg0, arg1);
+}
+
+int
+debug_target::region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_region_ok_for_hw_watchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_region_ok_for_hw_watchpoint (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_region_ok_for_hw_watchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->region_ok_for_hw_watchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->region_ok_for_hw_watchpoint (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->region_ok_for_hw_watchpoint (", this->beneath ()->shortname ());
+  target_debug_print_CORE_ADDR (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
+bool
+target_ops::can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2, struct expression *arg3)
 {
-  self = self->beneath;
-  return self->to_can_accel_watchpoint_condition (self, arg1, arg2, arg3, arg4);
+  return this->beneath ()->can_accel_watchpoint_condition (arg0, arg1, arg2, arg3);
 }
 
-static int
-tdefault_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
+bool
+dummy_target::can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2, struct expression *arg3)
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
+bool
+debug_target::can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2, struct expression *arg3)
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_accel_watchpoint_condition (...)\n", debug_target.to_shortname);
-  result = debug_target.to_can_accel_watchpoint_condition (&debug_target, arg1, arg2, arg3, arg4);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_accel_watchpoint_condition (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->can_accel_watchpoint_condition (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->can_accel_watchpoint_condition (arg0, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->can_accel_watchpoint_condition (", this->beneath ()->shortname ());
+  target_debug_print_CORE_ADDR (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg1);
+  target_debug_print_int (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_int (arg2);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg3);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_expression_p (arg4);
+  target_debug_print_struct_expression_p (arg3);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
+int
+target_ops::masked_watch_num_registers (CORE_ADDR arg0, CORE_ADDR arg1)
 {
-  self = self->beneath;
-  return self->to_masked_watch_num_registers (self, arg1, arg2);
+  return this->beneath ()->masked_watch_num_registers (arg0, arg1);
 }
 
-static int
-tdefault_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
+int
+dummy_target::masked_watch_num_registers (CORE_ADDR arg0, CORE_ADDR arg1)
 {
   return -1;
 }
 
-static int
-debug_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
+int
+debug_target::masked_watch_num_registers (CORE_ADDR arg0, CORE_ADDR arg1)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_masked_watch_num_registers (...)\n", debug_target.to_shortname);
-  result = debug_target.to_masked_watch_num_registers (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_masked_watch_num_registers (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->masked_watch_num_registers (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->masked_watch_num_registers (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->masked_watch_num_registers (", this->beneath ()->shortname ());
+  target_debug_print_CORE_ADDR (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_CORE_ADDR (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_can_do_single_step (struct target_ops *self)
+int
+target_ops::can_do_single_step ()
 {
-  self = self->beneath;
-  return self->to_can_do_single_step (self);
+  return this->beneath ()->can_do_single_step ();
 }
 
-static int
-tdefault_can_do_single_step (struct target_ops *self)
+int
+dummy_target::can_do_single_step ()
 {
   return -1;
 }
 
-static int
-debug_can_do_single_step (struct target_ops *self)
+int
+debug_target::can_do_single_step ()
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_do_single_step (...)\n", debug_target.to_shortname);
-  result = debug_target.to_can_do_single_step (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_do_single_step (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->can_do_single_step (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->can_do_single_step ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->can_do_single_step (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_terminal_init (struct target_ops *self)
+bool
+target_ops::supports_terminal_ours ()
 {
-  self = self->beneath;
-  self->to_terminal_init (self);
+  return this->beneath ()->supports_terminal_ours ();
 }
 
-static void
-tdefault_terminal_init (struct target_ops *self)
+bool
+dummy_target::supports_terminal_ours ()
 {
+  return false;
+}
+
+bool
+debug_target::supports_terminal_ours ()
+{
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->supports_terminal_ours (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->supports_terminal_ours ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->supports_terminal_ours (", this->beneath ()->shortname ());
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_bool (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
 }
 
-static void
-debug_terminal_init (struct target_ops *self)
+void
+target_ops::terminal_init ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_init (...)\n", debug_target.to_shortname);
-  debug_target.to_terminal_init (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_init (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  this->beneath ()->terminal_init ();
+}
+
+void
+dummy_target::terminal_init ()
+{
+}
+
+void
+debug_target::terminal_init ()
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_init (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->terminal_init ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_init (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_terminal_inferior (struct target_ops *self)
+void
+target_ops::terminal_inferior ()
 {
-  self = self->beneath;
-  self->to_terminal_inferior (self);
+  this->beneath ()->terminal_inferior ();
 }
 
-static void
-tdefault_terminal_inferior (struct target_ops *self)
+void
+dummy_target::terminal_inferior ()
 {
 }
 
-static void
-debug_terminal_inferior (struct target_ops *self)
+void
+debug_target::terminal_inferior ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_inferior (...)\n", debug_target.to_shortname);
-  debug_target.to_terminal_inferior (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_inferior (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_inferior (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->terminal_inferior ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_inferior (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_terminal_ours_for_output (struct target_ops *self)
+void
+target_ops::terminal_save_inferior ()
 {
-  self = self->beneath;
-  self->to_terminal_ours_for_output (self);
+  this->beneath ()->terminal_save_inferior ();
 }
 
-static void
-tdefault_terminal_ours_for_output (struct target_ops *self)
+void
+dummy_target::terminal_save_inferior ()
 {
 }
 
-static void
-debug_terminal_ours_for_output (struct target_ops *self)
+void
+debug_target::terminal_save_inferior ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_ours_for_output (...)\n", debug_target.to_shortname);
-  debug_target.to_terminal_ours_for_output (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_ours_for_output (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_save_inferior (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->terminal_save_inferior ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_save_inferior (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_terminal_ours (struct target_ops *self)
+void
+target_ops::terminal_ours_for_output ()
 {
-  self = self->beneath;
-  self->to_terminal_ours (self);
+  this->beneath ()->terminal_ours_for_output ();
 }
 
-static void
-tdefault_terminal_ours (struct target_ops *self)
+void
+dummy_target::terminal_ours_for_output ()
 {
 }
 
-static void
-debug_terminal_ours (struct target_ops *self)
+void
+debug_target::terminal_ours_for_output ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_ours (...)\n", debug_target.to_shortname);
-  debug_target.to_terminal_ours (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_ours (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_ours_for_output (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->terminal_ours_for_output ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_ours_for_output (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_terminal_info (struct target_ops *self, const char *arg1, int arg2)
+void
+target_ops::terminal_ours ()
 {
-  self = self->beneath;
-  self->to_terminal_info (self, arg1, arg2);
+  this->beneath ()->terminal_ours ();
 }
 
-static void
-debug_terminal_info (struct target_ops *self, const char *arg1, int arg2)
+void
+dummy_target::terminal_ours ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_info (...)\n", debug_target.to_shortname);
-  debug_target.to_terminal_info (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_info (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg1);
+}
+
+void
+debug_target::terminal_ours ()
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_ours (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->terminal_ours ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_ours (", this->beneath ()->shortname ());
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::terminal_info (const char *arg0, int arg1)
+{
+  this->beneath ()->terminal_info (arg0, arg1);
+}
+
+void
+dummy_target::terminal_info (const char *arg0, int arg1)
+{
+  default_terminal_info (this, arg0, arg1);
+}
+
+void
+debug_target::terminal_info (const char *arg0, int arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_info (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->terminal_info (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_info (", this->beneath ()->shortname ());
+  target_debug_print_const_char_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_kill (struct target_ops *self)
+void
+target_ops::kill ()
 {
-  self = self->beneath;
-  self->to_kill (self);
+  this->beneath ()->kill ();
 }
 
-static void
-tdefault_kill (struct target_ops *self)
+void
+dummy_target::kill ()
 {
   noprocess ();
 }
 
-static void
-debug_kill (struct target_ops *self)
+void
+debug_target::kill ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_kill (...)\n", debug_target.to_shortname);
-  debug_target.to_kill (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_kill (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->kill (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->kill ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->kill (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_load (struct target_ops *self, const char *arg1, int arg2)
+void
+target_ops::load (const char *arg0, int arg1)
 {
-  self = self->beneath;
-  self->to_load (self, arg1, arg2);
+  this->beneath ()->load (arg0, arg1);
 }
 
-static void
-tdefault_load (struct target_ops *self, const char *arg1, int arg2)
+void
+dummy_target::load (const char *arg0, int arg1)
 {
   tcomplain ();
 }
 
-static void
-debug_load (struct target_ops *self, const char *arg1, int arg2)
+void
+debug_target::load (const char *arg0, int arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_load (...)\n", debug_target.to_shortname);
-  debug_target.to_load (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_load (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->load (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->load (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->load (", this->beneath ()->shortname ());
+  target_debug_print_const_char_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_post_startup_inferior (struct target_ops *self, ptid_t arg1)
+void
+target_ops::post_startup_inferior (ptid_t arg0)
 {
-  self = self->beneath;
-  self->to_post_startup_inferior (self, arg1);
+  this->beneath ()->post_startup_inferior (arg0);
 }
 
-static void
-tdefault_post_startup_inferior (struct target_ops *self, ptid_t arg1)
+void
+dummy_target::post_startup_inferior (ptid_t arg0)
 {
 }
 
-static void
-debug_post_startup_inferior (struct target_ops *self, ptid_t arg1)
+void
+debug_target::post_startup_inferior (ptid_t arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_post_startup_inferior (...)\n", debug_target.to_shortname);
-  debug_target.to_post_startup_inferior (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_post_startup_inferior (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->post_startup_inferior (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->post_startup_inferior (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->post_startup_inferior (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_insert_fork_catchpoint (struct target_ops *self, int arg1)
+int
+target_ops::insert_fork_catchpoint (int arg0)
 {
-  self = self->beneath;
-  return self->to_insert_fork_catchpoint (self, arg1);
+  return this->beneath ()->insert_fork_catchpoint (arg0);
 }
 
-static int
-tdefault_insert_fork_catchpoint (struct target_ops *self, int arg1)
+int
+dummy_target::insert_fork_catchpoint (int arg0)
 {
   return 1;
 }
 
-static int
-debug_insert_fork_catchpoint (struct target_ops *self, int arg1)
+int
+debug_target::insert_fork_catchpoint (int arg0)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_fork_catchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_insert_fork_catchpoint (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_fork_catchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->insert_fork_catchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->insert_fork_catchpoint (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->insert_fork_catchpoint (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_remove_fork_catchpoint (struct target_ops *self, int arg1)
+int
+target_ops::remove_fork_catchpoint (int arg0)
 {
-  self = self->beneath;
-  return self->to_remove_fork_catchpoint (self, arg1);
+  return this->beneath ()->remove_fork_catchpoint (arg0);
 }
 
-static int
-tdefault_remove_fork_catchpoint (struct target_ops *self, int arg1)
+int
+dummy_target::remove_fork_catchpoint (int arg0)
 {
   return 1;
 }
 
-static int
-debug_remove_fork_catchpoint (struct target_ops *self, int arg1)
+int
+debug_target::remove_fork_catchpoint (int arg0)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_fork_catchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_remove_fork_catchpoint (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_fork_catchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->remove_fork_catchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->remove_fork_catchpoint (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->remove_fork_catchpoint (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_insert_vfork_catchpoint (struct target_ops *self, int arg1)
+int
+target_ops::insert_vfork_catchpoint (int arg0)
 {
-  self = self->beneath;
-  return self->to_insert_vfork_catchpoint (self, arg1);
+  return this->beneath ()->insert_vfork_catchpoint (arg0);
 }
 
-static int
-tdefault_insert_vfork_catchpoint (struct target_ops *self, int arg1)
+int
+dummy_target::insert_vfork_catchpoint (int arg0)
 {
   return 1;
 }
 
-static int
-debug_insert_vfork_catchpoint (struct target_ops *self, int arg1)
+int
+debug_target::insert_vfork_catchpoint (int arg0)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_vfork_catchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_insert_vfork_catchpoint (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_vfork_catchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->insert_vfork_catchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->insert_vfork_catchpoint (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->insert_vfork_catchpoint (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_remove_vfork_catchpoint (struct target_ops *self, int arg1)
+int
+target_ops::remove_vfork_catchpoint (int arg0)
 {
-  self = self->beneath;
-  return self->to_remove_vfork_catchpoint (self, arg1);
+  return this->beneath ()->remove_vfork_catchpoint (arg0);
 }
 
-static int
-tdefault_remove_vfork_catchpoint (struct target_ops *self, int arg1)
+int
+dummy_target::remove_vfork_catchpoint (int arg0)
 {
   return 1;
 }
 
-static int
-debug_remove_vfork_catchpoint (struct target_ops *self, int arg1)
+int
+debug_target::remove_vfork_catchpoint (int arg0)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_vfork_catchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_remove_vfork_catchpoint (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_vfork_catchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->remove_vfork_catchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->remove_vfork_catchpoint (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->remove_vfork_catchpoint (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_follow_fork (struct target_ops *self, int arg1, int arg2)
+int
+target_ops::follow_fork (int arg0, int arg1)
+{
+  return this->beneath ()->follow_fork (arg0, arg1);
+}
+
+int
+dummy_target::follow_fork (int arg0, int arg1)
 {
-  self = self->beneath;
-  return self->to_follow_fork (self, arg1, arg2);
+  return default_follow_fork (this, arg0, arg1);
 }
 
-static int
-debug_follow_fork (struct target_ops *self, int arg1, int arg2)
+int
+debug_target::follow_fork (int arg0, int arg1)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_follow_fork (...)\n", debug_target.to_shortname);
-  result = debug_target.to_follow_fork (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_follow_fork (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->follow_fork (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->follow_fork (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->follow_fork (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_int (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_insert_exec_catchpoint (struct target_ops *self, int arg1)
+int
+target_ops::insert_exec_catchpoint (int arg0)
 {
-  self = self->beneath;
-  return self->to_insert_exec_catchpoint (self, arg1);
+  return this->beneath ()->insert_exec_catchpoint (arg0);
 }
 
-static int
-tdefault_insert_exec_catchpoint (struct target_ops *self, int arg1)
+int
+dummy_target::insert_exec_catchpoint (int arg0)
 {
   return 1;
 }
 
-static int
-debug_insert_exec_catchpoint (struct target_ops *self, int arg1)
+int
+debug_target::insert_exec_catchpoint (int arg0)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_exec_catchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_insert_exec_catchpoint (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_exec_catchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->insert_exec_catchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->insert_exec_catchpoint (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->insert_exec_catchpoint (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_remove_exec_catchpoint (struct target_ops *self, int arg1)
+int
+target_ops::remove_exec_catchpoint (int arg0)
 {
-  self = self->beneath;
-  return self->to_remove_exec_catchpoint (self, arg1);
+  return this->beneath ()->remove_exec_catchpoint (arg0);
 }
 
-static int
-tdefault_remove_exec_catchpoint (struct target_ops *self, int arg1)
+int
+dummy_target::remove_exec_catchpoint (int arg0)
 {
   return 1;
 }
 
-static int
-debug_remove_exec_catchpoint (struct target_ops *self, int arg1)
+int
+debug_target::remove_exec_catchpoint (int arg0)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_exec_catchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_remove_exec_catchpoint (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_exec_catchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->remove_exec_catchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->remove_exec_catchpoint (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->remove_exec_catchpoint (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_follow_exec (struct target_ops *self, struct inferior *arg1, char *arg2)
+void
+target_ops::follow_exec (struct inferior *arg0, char *arg1)
 {
-  self = self->beneath;
-  self->to_follow_exec (self, arg1, arg2);
+  this->beneath ()->follow_exec (arg0, arg1);
 }
 
-static void
-tdefault_follow_exec (struct target_ops *self, struct inferior *arg1, char *arg2)
+void
+dummy_target::follow_exec (struct inferior *arg0, char *arg1)
 {
 }
 
-static void
-debug_follow_exec (struct target_ops *self, struct inferior *arg1, char *arg2)
+void
+debug_target::follow_exec (struct inferior *arg0, char *arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_follow_exec (...)\n", debug_target.to_shortname);
-  debug_target.to_follow_exec (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_follow_exec (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_inferior_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->follow_exec (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->follow_exec (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->follow_exec (", this->beneath ()->shortname ());
+  target_debug_print_struct_inferior_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_char_p (arg2);
+  target_debug_print_char_p (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_set_syscall_catchpoint (struct target_ops *self, int arg1, bool arg2, int arg3, gdb::array_view<const int> arg4)
+int
+target_ops::set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view<const int> arg3)
 {
-  self = self->beneath;
-  return self->to_set_syscall_catchpoint (self, arg1, arg2, arg3, arg4);
+  return this->beneath ()->set_syscall_catchpoint (arg0, arg1, arg2, arg3);
 }
 
-static int
-tdefault_set_syscall_catchpoint (struct target_ops *self, int arg1, bool arg2, int arg3, gdb::array_view<const int> arg4)
+int
+dummy_target::set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view<const int> arg3)
 {
   return 1;
 }
 
-static int
-debug_set_syscall_catchpoint (struct target_ops *self, int arg1, bool arg2, int arg3, gdb::array_view<const int> arg4)
-{
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_syscall_catchpoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_set_syscall_catchpoint (&debug_target, arg1, arg2, arg3, arg4);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_syscall_catchpoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_bool (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg3);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_gdb_array_view_const_int (arg4);
-  fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
-  fputs_unfiltered ("\n", gdb_stdlog);
-  return result;
-}
-
-static int
-delegate_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
-{
-  self = self->beneath;
-  return self->to_has_exited (self, arg1, arg2, arg3);
-}
-
-static int
-tdefault_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
-{
-  return 0;
-}
-
-static int
-debug_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
+int
+debug_target::set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view<const int> arg3)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_has_exited (...)\n", debug_target.to_shortname);
-  result = debug_target.to_has_exited (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_has_exited (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->set_syscall_catchpoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->set_syscall_catchpoint (arg0, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->set_syscall_catchpoint (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  target_debug_print_bool (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_int (arg2);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int_p (arg3);
+  target_debug_print_gdb_array_view_const_int (arg3);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_mourn_inferior (struct target_ops *self)
+void
+target_ops::mourn_inferior ()
 {
-  self = self->beneath;
-  self->to_mourn_inferior (self);
+  this->beneath ()->mourn_inferior ();
 }
 
-static void
-debug_mourn_inferior (struct target_ops *self)
+void
+dummy_target::mourn_inferior ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_mourn_inferior (...)\n", debug_target.to_shortname);
-  debug_target.to_mourn_inferior (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_mourn_inferior (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (")\n", gdb_stdlog);
+  default_mourn_inferior (this);
 }
 
-static int
-delegate_can_run (struct target_ops *self)
+void
+debug_target::mourn_inferior ()
 {
-  self = self->beneath;
-  return self->to_can_run (self);
-}
-
-static int
-tdefault_can_run (struct target_ops *self)
-{
-  return 0;
-}
-
-static int
-debug_can_run (struct target_ops *self)
-{
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_run (...)\n", debug_target.to_shortname);
-  result = debug_target.to_can_run (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_run (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
-  fputs_unfiltered ("\n", gdb_stdlog);
-  return result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->mourn_inferior (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->mourn_inferior ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->mourn_inferior (", this->beneath ()->shortname ());
+  fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
+void
+target_ops::pass_signals (int arg0, unsigned char * arg1)
 {
-  self = self->beneath;
-  self->to_pass_signals (self, arg1, arg2);
+  this->beneath ()->pass_signals (arg0, arg1);
 }
 
-static void
-tdefault_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
+void
+dummy_target::pass_signals (int arg0, unsigned char * arg1)
 {
 }
 
-static void
-debug_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
+void
+debug_target::pass_signals (int arg0, unsigned char * arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_pass_signals (...)\n", debug_target.to_shortname);
-  debug_target.to_pass_signals (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_pass_signals (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->pass_signals (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->pass_signals (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->pass_signals (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_signals (arg2);
+  target_debug_print_signals (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
+void
+target_ops::program_signals (int arg0, unsigned char * arg1)
 {
-  self = self->beneath;
-  self->to_program_signals (self, arg1, arg2);
+  this->beneath ()->program_signals (arg0, arg1);
 }
 
-static void
-tdefault_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
+void
+dummy_target::program_signals (int arg0, unsigned char * arg1)
 {
 }
 
-static void
-debug_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
+void
+debug_target::program_signals (int arg0, unsigned char * arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_program_signals (...)\n", debug_target.to_shortname);
-  debug_target.to_program_signals (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_program_signals (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->program_signals (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->program_signals (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->program_signals (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_signals (arg2);
+  target_debug_print_signals (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_thread_alive (struct target_ops *self, ptid_t arg1)
+bool
+target_ops::thread_alive (ptid_t arg0)
 {
-  self = self->beneath;
-  return self->to_thread_alive (self, arg1);
+  return this->beneath ()->thread_alive (arg0);
 }
 
-static int
-tdefault_thread_alive (struct target_ops *self, ptid_t arg1)
+bool
+dummy_target::thread_alive (ptid_t arg0)
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_thread_alive (struct target_ops *self, ptid_t arg1)
+bool
+debug_target::thread_alive (ptid_t arg0)
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_alive (...)\n", debug_target.to_shortname);
-  result = debug_target.to_thread_alive (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_alive (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->thread_alive (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->thread_alive (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->thread_alive (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_update_thread_list (struct target_ops *self)
+void
+target_ops::update_thread_list ()
 {
-  self = self->beneath;
-  self->to_update_thread_list (self);
+  this->beneath ()->update_thread_list ();
 }
 
-static void
-tdefault_update_thread_list (struct target_ops *self)
+void
+dummy_target::update_thread_list ()
 {
 }
 
-static void
-debug_update_thread_list (struct target_ops *self)
+void
+debug_target::update_thread_list ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_update_thread_list (...)\n", debug_target.to_shortname);
-  debug_target.to_update_thread_list (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_update_thread_list (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->update_thread_list (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->update_thread_list ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->update_thread_list (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static const char *
-delegate_pid_to_str (struct target_ops *self, ptid_t arg1)
+const char *
+target_ops::pid_to_str (ptid_t arg0)
+{
+  return this->beneath ()->pid_to_str (arg0);
+}
+
+const char *
+dummy_target::pid_to_str (ptid_t arg0)
 {
-  self = self->beneath;
-  return self->to_pid_to_str (self, arg1);
+  return default_pid_to_str (this, arg0);
 }
 
-static const char *
-debug_pid_to_str (struct target_ops *self, ptid_t arg1)
+const char *
+debug_target::pid_to_str (ptid_t arg0)
 {
   const char * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_pid_to_str (...)\n", debug_target.to_shortname);
-  result = debug_target.to_pid_to_str (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_pid_to_str (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->pid_to_str (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->pid_to_str (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->pid_to_str (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_const_char_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static const char *
-delegate_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
+const char *
+target_ops::extra_thread_info (thread_info *arg0)
 {
-  self = self->beneath;
-  return self->to_extra_thread_info (self, arg1);
+  return this->beneath ()->extra_thread_info (arg0);
 }
 
-static const char *
-tdefault_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
+const char *
+dummy_target::extra_thread_info (thread_info *arg0)
 {
   return NULL;
 }
 
-static const char *
-debug_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
+const char *
+debug_target::extra_thread_info (thread_info *arg0)
 {
   const char * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_extra_thread_info (...)\n", debug_target.to_shortname);
-  result = debug_target.to_extra_thread_info (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_extra_thread_info (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_thread_info_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->extra_thread_info (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->extra_thread_info (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->extra_thread_info (", this->beneath ()->shortname ());
+  target_debug_print_thread_info_p (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_const_char_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static const char *
-delegate_thread_name (struct target_ops *self, struct thread_info *arg1)
+const char *
+target_ops::thread_name (thread_info *arg0)
 {
-  self = self->beneath;
-  return self->to_thread_name (self, arg1);
+  return this->beneath ()->thread_name (arg0);
 }
 
-static const char *
-tdefault_thread_name (struct target_ops *self, struct thread_info *arg1)
+const char *
+dummy_target::thread_name (thread_info *arg0)
 {
   return NULL;
 }
 
-static const char *
-debug_thread_name (struct target_ops *self, struct thread_info *arg1)
+const char *
+debug_target::thread_name (thread_info *arg0)
 {
   const char * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_name (...)\n", debug_target.to_shortname);
-  result = debug_target.to_thread_name (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_name (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_thread_info_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->thread_name (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->thread_name (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->thread_name (", this->beneath ()->shortname ());
+  target_debug_print_thread_info_p (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_const_char_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static struct thread_info *
-delegate_thread_handle_to_thread_info (struct target_ops *self, const gdb_byte *arg1, int arg2, struct inferior *arg3)
+thread_info *
+target_ops::thread_handle_to_thread_info (const gdb_byte *arg0, int arg1, inferior *arg2)
 {
-  self = self->beneath;
-  return self->to_thread_handle_to_thread_info (self, arg1, arg2, arg3);
+  return this->beneath ()->thread_handle_to_thread_info (arg0, arg1, arg2);
 }
 
-static struct thread_info *
-tdefault_thread_handle_to_thread_info (struct target_ops *self, const gdb_byte *arg1, int arg2, struct inferior *arg3)
+thread_info *
+dummy_target::thread_handle_to_thread_info (const gdb_byte *arg0, int arg1, inferior *arg2)
 {
   return NULL;
 }
 
-static struct thread_info *
-debug_thread_handle_to_thread_info (struct target_ops *self, const gdb_byte *arg1, int arg2, struct inferior *arg3)
+thread_info *
+debug_target::thread_handle_to_thread_info (const gdb_byte *arg0, int arg1, inferior *arg2)
 {
-  struct thread_info * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_handle_to_thread_info (...)\n", debug_target.to_shortname);
-  result = debug_target.to_thread_handle_to_thread_info (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_handle_to_thread_info (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_gdb_byte_p (arg1);
+  thread_info * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->thread_handle_to_thread_info (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->thread_handle_to_thread_info (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->thread_handle_to_thread_info (", this->beneath ()->shortname ());
+  target_debug_print_const_gdb_byte_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_inferior_p (arg3);
+  target_debug_print_inferior_p (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_struct_thread_info_p (result);
+  target_debug_print_thread_info_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_stop (struct target_ops *self, ptid_t arg1)
+void
+target_ops::stop (ptid_t arg0)
 {
-  self = self->beneath;
-  self->to_stop (self, arg1);
+  this->beneath ()->stop (arg0);
 }
 
-static void
-tdefault_stop (struct target_ops *self, ptid_t arg1)
+void
+dummy_target::stop (ptid_t arg0)
 {
 }
 
-static void
-debug_stop (struct target_ops *self, ptid_t arg1)
+void
+debug_target::stop (ptid_t arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_stop (...)\n", debug_target.to_shortname);
-  debug_target.to_stop (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_stop (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->stop (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->stop (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->stop (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_interrupt (struct target_ops *self, ptid_t arg1)
+void
+target_ops::interrupt ()
 {
-  self = self->beneath;
-  self->to_interrupt (self, arg1);
+  this->beneath ()->interrupt ();
 }
 
-static void
-tdefault_interrupt (struct target_ops *self, ptid_t arg1)
+void
+dummy_target::interrupt ()
 {
 }
 
-static void
-debug_interrupt (struct target_ops *self, ptid_t arg1)
+void
+debug_target::interrupt ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_interrupt (...)\n", debug_target.to_shortname);
-  debug_target.to_interrupt (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_interrupt (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->interrupt (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->interrupt ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->interrupt (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_pass_ctrlc (struct target_ops *self)
+void
+target_ops::pass_ctrlc ()
+{
+  this->beneath ()->pass_ctrlc ();
+}
+
+void
+dummy_target::pass_ctrlc ()
 {
-  self = self->beneath;
-  self->to_pass_ctrlc (self);
+  default_target_pass_ctrlc (this);
 }
 
-static void
-debug_pass_ctrlc (struct target_ops *self)
+void
+debug_target::pass_ctrlc ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_pass_ctrlc (...)\n", debug_target.to_shortname);
-  debug_target.to_pass_ctrlc (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_pass_ctrlc (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->pass_ctrlc (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->pass_ctrlc ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->pass_ctrlc (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_rcmd (struct target_ops *self, const char *arg1, struct ui_file *arg2)
+void
+target_ops::rcmd (const char *arg0, struct ui_file *arg1)
 {
-  self = self->beneath;
-  self->to_rcmd (self, arg1, arg2);
+  this->beneath ()->rcmd (arg0, arg1);
 }
 
-static void
-debug_rcmd (struct target_ops *self, const char *arg1, struct ui_file *arg2)
+void
+dummy_target::rcmd (const char *arg0, struct ui_file *arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_rcmd (...)\n", debug_target.to_shortname);
-  debug_target.to_rcmd (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_rcmd (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg1);
+  default_rcmd (this, arg0, arg1);
+}
+
+void
+debug_target::rcmd (const char *arg0, struct ui_file *arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->rcmd (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->rcmd (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->rcmd (", this->beneath ()->shortname ());
+  target_debug_print_const_char_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_ui_file_p (arg2);
+  target_debug_print_struct_ui_file_p (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static char *
-delegate_pid_to_exec_file (struct target_ops *self, int arg1)
+char *
+target_ops::pid_to_exec_file (int arg0)
 {
-  self = self->beneath;
-  return self->to_pid_to_exec_file (self, arg1);
+  return this->beneath ()->pid_to_exec_file (arg0);
 }
 
-static char *
-tdefault_pid_to_exec_file (struct target_ops *self, int arg1)
+char *
+dummy_target::pid_to_exec_file (int arg0)
 {
   return NULL;
 }
 
-static char *
-debug_pid_to_exec_file (struct target_ops *self, int arg1)
+char *
+debug_target::pid_to_exec_file (int arg0)
 {
   char * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_pid_to_exec_file (...)\n", debug_target.to_shortname);
-  result = debug_target.to_pid_to_exec_file (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_pid_to_exec_file (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->pid_to_exec_file (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->pid_to_exec_file (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->pid_to_exec_file (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_char_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_log_command (struct target_ops *self, const char *arg1)
+void
+target_ops::log_command (const char *arg0)
 {
-  self = self->beneath;
-  self->to_log_command (self, arg1);
+  this->beneath ()->log_command (arg0);
 }
 
-static void
-tdefault_log_command (struct target_ops *self, const char *arg1)
+void
+dummy_target::log_command (const char *arg0)
 {
 }
 
-static void
-debug_log_command (struct target_ops *self, const char *arg1)
+void
+debug_target::log_command (const char *arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_log_command (...)\n", debug_target.to_shortname);
-  debug_target.to_log_command (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_log_command (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->log_command (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->log_command (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->log_command (", this->beneath ()->shortname ());
+  target_debug_print_const_char_p (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static struct target_section_table *
-delegate_get_section_table (struct target_ops *self)
+struct target_section_table *
+target_ops::get_section_table ()
 {
-  self = self->beneath;
-  return self->to_get_section_table (self);
+  return this->beneath ()->get_section_table ();
 }
 
-static struct target_section_table *
-tdefault_get_section_table (struct target_ops *self)
+struct target_section_table *
+dummy_target::get_section_table ()
 {
   return NULL;
 }
 
-static struct target_section_table *
-debug_get_section_table (struct target_ops *self)
+struct target_section_table *
+debug_target::get_section_table ()
 {
   struct target_section_table * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_section_table (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_section_table (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_section_table (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_section_table (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_section_table ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_section_table (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_struct_target_section_table_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_can_async_p (struct target_ops *self)
+thread_control_capabilities
+target_ops::get_thread_control_capabilities ()
 {
-  self = self->beneath;
-  return self->to_can_async_p (self);
+  return this->beneath ()->get_thread_control_capabilities ();
 }
 
-static int
-tdefault_can_async_p (struct target_ops *self)
+thread_control_capabilities
+dummy_target::get_thread_control_capabilities ()
 {
-  return 0;
+  return tc_none;
 }
 
-static int
-debug_can_async_p (struct target_ops *self)
+thread_control_capabilities
+debug_target::get_thread_control_capabilities ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_async_p (...)\n", debug_target.to_shortname);
-  result = debug_target.to_can_async_p (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_async_p (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  thread_control_capabilities result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_thread_control_capabilities (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_thread_control_capabilities ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_thread_control_capabilities (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_thread_control_capabilities (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_is_async_p (struct target_ops *self)
+bool
+target_ops::attach_no_wait ()
 {
-  self = self->beneath;
-  return self->to_is_async_p (self);
+  return this->beneath ()->attach_no_wait ();
 }
 
-static int
-tdefault_is_async_p (struct target_ops *self)
+bool
+dummy_target::attach_no_wait ()
 {
   return 0;
 }
 
-static int
-debug_is_async_p (struct target_ops *self)
+bool
+debug_target::attach_no_wait ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_is_async_p (...)\n", debug_target.to_shortname);
-  result = debug_target.to_is_async_p (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_is_async_p (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->attach_no_wait (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->attach_no_wait ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->attach_no_wait (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+bool
+target_ops::can_async_p ()
+{
+  return this->beneath ()->can_async_p ();
+}
+
+bool
+dummy_target::can_async_p ()
+{
+  return false;
+}
+
+bool
+debug_target::can_async_p ()
+{
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->can_async_p (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->can_async_p ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->can_async_p (", this->beneath ()->shortname ());
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_async (struct target_ops *self, int arg1)
+bool
+target_ops::is_async_p ()
 {
-  self = self->beneath;
-  self->to_async (self, arg1);
+  return this->beneath ()->is_async_p ();
 }
 
-static void
-tdefault_async (struct target_ops *self, int arg1)
+bool
+dummy_target::is_async_p ()
+{
+  return false;
+}
+
+bool
+debug_target::is_async_p ()
+{
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->is_async_p (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->is_async_p ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->is_async_p (", this->beneath ()->shortname ());
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_bool (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+void
+target_ops::async (int arg0)
+{
+  this->beneath ()->async (arg0);
+}
+
+void
+dummy_target::async (int arg0)
 {
   tcomplain ();
 }
 
-static void
-debug_async (struct target_ops *self, int arg1)
+void
+debug_target::async (int arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_async (...)\n", debug_target.to_shortname);
-  debug_target.to_async (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_async (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->async (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->async (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->async (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_thread_events (struct target_ops *self, int arg1)
+void
+target_ops::thread_events (int arg0)
 {
-  self = self->beneath;
-  self->to_thread_events (self, arg1);
+  this->beneath ()->thread_events (arg0);
 }
 
-static void
-tdefault_thread_events (struct target_ops *self, int arg1)
+void
+dummy_target::thread_events (int arg0)
 {
 }
 
-static void
-debug_thread_events (struct target_ops *self, int arg1)
+void
+debug_target::thread_events (int arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_events (...)\n", debug_target.to_shortname);
-  debug_target.to_thread_events (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_events (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->thread_events (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->thread_events (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->thread_events (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_supports_non_stop (struct target_ops *self)
+bool
+target_ops::supports_non_stop ()
 {
-  self = self->beneath;
-  return self->to_supports_non_stop (self);
+  return this->beneath ()->supports_non_stop ();
 }
 
-static int
-tdefault_supports_non_stop (struct target_ops *self)
+bool
+dummy_target::supports_non_stop ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_supports_non_stop (struct target_ops *self)
+bool
+debug_target::supports_non_stop ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_non_stop (...)\n", debug_target.to_shortname);
-  result = debug_target.to_supports_non_stop (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_non_stop (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->supports_non_stop (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->supports_non_stop ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->supports_non_stop (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_always_non_stop_p (struct target_ops *self)
+bool
+target_ops::always_non_stop_p ()
 {
-  self = self->beneath;
-  return self->to_always_non_stop_p (self);
+  return this->beneath ()->always_non_stop_p ();
 }
 
-static int
-tdefault_always_non_stop_p (struct target_ops *self)
+bool
+dummy_target::always_non_stop_p ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_always_non_stop_p (struct target_ops *self)
+bool
+debug_target::always_non_stop_p ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_always_non_stop_p (...)\n", debug_target.to_shortname);
-  result = debug_target.to_always_non_stop_p (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_always_non_stop_p (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->always_non_stop_p (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->always_non_stop_p ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->always_non_stop_p (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_find_memory_regions (struct target_ops *self, find_memory_region_ftype arg1, void *arg2)
+int
+target_ops::find_memory_regions (find_memory_region_ftype arg0, void *arg1)
+{
+  return this->beneath ()->find_memory_regions (arg0, arg1);
+}
+
+int
+dummy_target::find_memory_regions (find_memory_region_ftype arg0, void *arg1)
 {
-  self = self->beneath;
-  return self->to_find_memory_regions (self, arg1, arg2);
+  return dummy_find_memory_regions (this, arg0, arg1);
 }
 
-static int
-debug_find_memory_regions (struct target_ops *self, find_memory_region_ftype arg1, void *arg2)
+int
+debug_target::find_memory_regions (find_memory_region_ftype arg0, void *arg1)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_find_memory_regions (...)\n", debug_target.to_shortname);
-  result = debug_target.to_find_memory_regions (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_find_memory_regions (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_find_memory_region_ftype (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->find_memory_regions (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->find_memory_regions (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->find_memory_regions (", this->beneath ()->shortname ());
+  target_debug_print_find_memory_region_ftype (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_void_p (arg2);
+  target_debug_print_void_p (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static char *
-delegate_make_corefile_notes (struct target_ops *self, bfd *arg1, int *arg2)
+char *
+target_ops::make_corefile_notes (bfd *arg0, int *arg1)
+{
+  return this->beneath ()->make_corefile_notes (arg0, arg1);
+}
+
+char *
+dummy_target::make_corefile_notes (bfd *arg0, int *arg1)
 {
-  self = self->beneath;
-  return self->to_make_corefile_notes (self, arg1, arg2);
+  return dummy_make_corefile_notes (this, arg0, arg1);
 }
 
-static char *
-debug_make_corefile_notes (struct target_ops *self, bfd *arg1, int *arg2)
+char *
+debug_target::make_corefile_notes (bfd *arg0, int *arg1)
 {
   char * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_make_corefile_notes (...)\n", debug_target.to_shortname);
-  result = debug_target.to_make_corefile_notes (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_make_corefile_notes (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_bfd_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->make_corefile_notes (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->make_corefile_notes (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->make_corefile_notes (", this->beneath ()->shortname ());
+  target_debug_print_bfd_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int_p (arg2);
+  target_debug_print_int_p (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_char_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static gdb_byte *
-delegate_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
+gdb_byte *
+target_ops::get_bookmark (const char *arg0, int arg1)
 {
-  self = self->beneath;
-  return self->to_get_bookmark (self, arg1, arg2);
+  return this->beneath ()->get_bookmark (arg0, arg1);
 }
 
-static gdb_byte *
-tdefault_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
+gdb_byte *
+dummy_target::get_bookmark (const char *arg0, int arg1)
 {
   tcomplain ();
 }
 
-static gdb_byte *
-debug_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
+gdb_byte *
+debug_target::get_bookmark (const char *arg0, int arg1)
 {
   gdb_byte * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_bookmark (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_bookmark (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_bookmark (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_bookmark (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_bookmark (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_bookmark (", this->beneath ()->shortname ());
+  target_debug_print_const_char_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_gdb_byte_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
+void
+target_ops::goto_bookmark (const gdb_byte *arg0, int arg1)
 {
-  self = self->beneath;
-  self->to_goto_bookmark (self, arg1, arg2);
+  this->beneath ()->goto_bookmark (arg0, arg1);
 }
 
-static void
-tdefault_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
+void
+dummy_target::goto_bookmark (const gdb_byte *arg0, int arg1)
 {
   tcomplain ();
 }
 
-static void
-debug_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
+void
+debug_target::goto_bookmark (const gdb_byte *arg0, int arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_bookmark (...)\n", debug_target.to_shortname);
-  debug_target.to_goto_bookmark (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_bookmark (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->goto_bookmark (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->goto_bookmark (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->goto_bookmark (", this->beneath ()->shortname ());
+  target_debug_print_const_gdb_byte_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_gdb_byte_p (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static CORE_ADDR
-delegate_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
+CORE_ADDR
+target_ops::get_thread_local_address (ptid_t arg0, CORE_ADDR arg1, CORE_ADDR arg2)
 {
-  self = self->beneath;
-  return self->to_get_thread_local_address (self, arg1, arg2, arg3);
+  return this->beneath ()->get_thread_local_address (arg0, arg1, arg2);
 }
 
-static CORE_ADDR
-tdefault_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
+CORE_ADDR
+dummy_target::get_thread_local_address (ptid_t arg0, CORE_ADDR arg1, CORE_ADDR arg2)
 {
   generic_tls_error ();
 }
 
-static CORE_ADDR
-debug_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
+CORE_ADDR
+debug_target::get_thread_local_address (ptid_t arg0, CORE_ADDR arg1, CORE_ADDR arg2)
 {
   CORE_ADDR result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_thread_local_address (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_thread_local_address (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_thread_local_address (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_thread_local_address (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_thread_local_address (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_thread_local_address (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  target_debug_print_CORE_ADDR (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_CORE_ADDR (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg3);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_CORE_ADDR (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static enum target_xfer_status
-delegate_xfer_partial (struct target_ops *self, enum target_object arg1, const char *arg2, gdb_byte *arg3, const gdb_byte *arg4, ULONGEST arg5, ULONGEST arg6, ULONGEST *arg7)
+enum target_xfer_status
+target_ops::xfer_partial (enum target_object arg0, const char *arg1, gdb_byte *arg2, const gdb_byte *arg3, ULONGEST arg4, ULONGEST arg5, ULONGEST *arg6)
 {
-  self = self->beneath;
-  return self->to_xfer_partial (self, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+  return this->beneath ()->xfer_partial (arg0, arg1, arg2, arg3, arg4, arg5, arg6);
 }
 
-static enum target_xfer_status
-tdefault_xfer_partial (struct target_ops *self, enum target_object arg1, const char *arg2, gdb_byte *arg3, const gdb_byte *arg4, ULONGEST arg5, ULONGEST arg6, ULONGEST *arg7)
+enum target_xfer_status
+dummy_target::xfer_partial (enum target_object arg0, const char *arg1, gdb_byte *arg2, const gdb_byte *arg3, ULONGEST arg4, ULONGEST arg5, ULONGEST *arg6)
 {
   return TARGET_XFER_E_IO;
 }
 
-static enum target_xfer_status
-debug_xfer_partial (struct target_ops *self, enum target_object arg1, const char *arg2, gdb_byte *arg3, const gdb_byte *arg4, ULONGEST arg5, ULONGEST arg6, ULONGEST *arg7)
+enum target_xfer_status
+debug_target::xfer_partial (enum target_object arg0, const char *arg1, gdb_byte *arg2, const gdb_byte *arg3, ULONGEST arg4, ULONGEST arg5, ULONGEST *arg6)
 {
   enum target_xfer_status result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_xfer_partial (...)\n", debug_target.to_shortname);
-  result = debug_target.to_xfer_partial (&debug_target, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_xfer_partial (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->xfer_partial (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->xfer_partial (arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->xfer_partial (", this->beneath ()->shortname ());
+  target_debug_print_enum_target_object (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_enum_target_object (arg1);
+  target_debug_print_const_char_p (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg2);
+  target_debug_print_gdb_byte_p (arg2);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_gdb_byte_p (arg3);
+  target_debug_print_const_gdb_byte_p (arg3);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_gdb_byte_p (arg4);
+  target_debug_print_ULONGEST (arg4);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_ULONGEST (arg5);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST (arg6);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST_p (arg7);
+  target_debug_print_ULONGEST_p (arg6);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_enum_target_xfer_status (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static ULONGEST
-delegate_get_memory_xfer_limit (struct target_ops *self)
+ULONGEST
+target_ops::get_memory_xfer_limit ()
 {
-  self = self->beneath;
-  return self->to_get_memory_xfer_limit (self);
+  return this->beneath ()->get_memory_xfer_limit ();
 }
 
-static ULONGEST
-tdefault_get_memory_xfer_limit (struct target_ops *self)
+ULONGEST
+dummy_target::get_memory_xfer_limit ()
 {
   return ULONGEST_MAX;
 }
 
-static ULONGEST
-debug_get_memory_xfer_limit (struct target_ops *self)
+ULONGEST
+debug_target::get_memory_xfer_limit ()
 {
   ULONGEST result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_memory_xfer_limit (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_memory_xfer_limit (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_memory_xfer_limit (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_memory_xfer_limit (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_memory_xfer_limit ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_memory_xfer_limit (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_ULONGEST (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static std::vector<mem_region>
-delegate_memory_map (struct target_ops *self)
+std::vector<mem_region>
+target_ops::memory_map ()
 {
-  self = self->beneath;
-  return self->to_memory_map (self);
+  return this->beneath ()->memory_map ();
 }
 
-static std::vector<mem_region>
-tdefault_memory_map (struct target_ops *self)
+std::vector<mem_region>
+dummy_target::memory_map ()
 {
   return std::vector<mem_region> ();
 }
 
-static std::vector<mem_region>
-debug_memory_map (struct target_ops *self)
+std::vector<mem_region>
+debug_target::memory_map ()
 {
   std::vector<mem_region> result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_memory_map (...)\n", debug_target.to_shortname);
-  result = debug_target.to_memory_map (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_memory_map (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->memory_map (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->memory_map ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->memory_map (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_std_vector_mem_region (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
+void
+target_ops::flash_erase (ULONGEST arg0, LONGEST arg1)
 {
-  self = self->beneath;
-  self->to_flash_erase (self, arg1, arg2);
+  this->beneath ()->flash_erase (arg0, arg1);
 }
 
-static void
-tdefault_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
+void
+dummy_target::flash_erase (ULONGEST arg0, LONGEST arg1)
 {
   tcomplain ();
 }
 
-static void
-debug_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
+void
+debug_target::flash_erase (ULONGEST arg0, LONGEST arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_flash_erase (...)\n", debug_target.to_shortname);
-  debug_target.to_flash_erase (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_flash_erase (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->flash_erase (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->flash_erase (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->flash_erase (", this->beneath ()->shortname ());
+  target_debug_print_ULONGEST (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_LONGEST (arg2);
+  target_debug_print_LONGEST (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_flash_done (struct target_ops *self)
+void
+target_ops::flash_done ()
 {
-  self = self->beneath;
-  self->to_flash_done (self);
+  this->beneath ()->flash_done ();
 }
 
-static void
-tdefault_flash_done (struct target_ops *self)
+void
+dummy_target::flash_done ()
 {
   tcomplain ();
 }
 
-static void
-debug_flash_done (struct target_ops *self)
+void
+debug_target::flash_done ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_flash_done (...)\n", debug_target.to_shortname);
-  debug_target.to_flash_done (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_flash_done (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->flash_done (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->flash_done ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->flash_done (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static const struct target_desc *
-delegate_read_description (struct target_ops *self)
+const struct target_desc *
+target_ops::read_description ()
 {
-  self = self->beneath;
-  return self->to_read_description (self);
+  return this->beneath ()->read_description ();
 }
 
-static const struct target_desc *
-tdefault_read_description (struct target_ops *self)
+const struct target_desc *
+dummy_target::read_description ()
 {
   return NULL;
 }
 
-static const struct target_desc *
-debug_read_description (struct target_ops *self)
+const struct target_desc *
+debug_target::read_description ()
 {
   const struct target_desc * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_read_description (...)\n", debug_target.to_shortname);
-  result = debug_target.to_read_description (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_read_description (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->read_description (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->read_description ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->read_description (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_const_struct_target_desc_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static ptid_t
-delegate_get_ada_task_ptid (struct target_ops *self, long arg1, long arg2)
+ptid_t
+target_ops::get_ada_task_ptid (long arg0, long arg1)
+{
+  return this->beneath ()->get_ada_task_ptid (arg0, arg1);
+}
+
+ptid_t
+dummy_target::get_ada_task_ptid (long arg0, long arg1)
 {
-  self = self->beneath;
-  return self->to_get_ada_task_ptid (self, arg1, arg2);
+  return default_get_ada_task_ptid (this, arg0, arg1);
 }
 
-static ptid_t
-debug_get_ada_task_ptid (struct target_ops *self, long arg1, long arg2)
+ptid_t
+debug_target::get_ada_task_ptid (long arg0, long arg1)
 {
   ptid_t result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_ada_task_ptid (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_ada_task_ptid (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_ada_task_ptid (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_ada_task_ptid (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_ada_task_ptid (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_ada_task_ptid (", this->beneath ()->shortname ());
+  target_debug_print_long (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_long (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_long (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_ptid_t (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_auxv_parse (struct target_ops *self, gdb_byte **arg1, gdb_byte *arg2, CORE_ADDR *arg3, CORE_ADDR *arg4)
+int
+target_ops::auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3)
+{
+  return this->beneath ()->auxv_parse (arg0, arg1, arg2, arg3);
+}
+
+int
+dummy_target::auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3)
 {
-  self = self->beneath;
-  return self->to_auxv_parse (self, arg1, arg2, arg3, arg4);
+  return default_auxv_parse (this, arg0, arg1, arg2, arg3);
 }
 
-static int
-debug_auxv_parse (struct target_ops *self, gdb_byte **arg1, gdb_byte *arg2, CORE_ADDR *arg3, CORE_ADDR *arg4)
+int
+debug_target::auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_auxv_parse (...)\n", debug_target.to_shortname);
-  result = debug_target.to_auxv_parse (&debug_target, arg1, arg2, arg3, arg4);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_auxv_parse (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->auxv_parse (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->auxv_parse (arg0, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->auxv_parse (", this->beneath ()->shortname ());
+  target_debug_print_gdb_byte_pp (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_gdb_byte_pp (arg1);
+  target_debug_print_gdb_byte_p (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_gdb_byte_p (arg2);
+  target_debug_print_CORE_ADDR_p (arg2);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_CORE_ADDR_p (arg3);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR_p (arg4);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_search_memory (struct target_ops *self, CORE_ADDR arg1, ULONGEST arg2, const gdb_byte *arg3, ULONGEST arg4, CORE_ADDR *arg5)
+int
+target_ops::search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4)
+{
+  return this->beneath ()->search_memory (arg0, arg1, arg2, arg3, arg4);
+}
+
+int
+dummy_target::search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4)
 {
-  self = self->beneath;
-  return self->to_search_memory (self, arg1, arg2, arg3, arg4, arg5);
+  return default_search_memory (this, arg0, arg1, arg2, arg3, arg4);
 }
 
-static int
-debug_search_memory (struct target_ops *self, CORE_ADDR arg1, ULONGEST arg2, const gdb_byte *arg3, ULONGEST arg4, CORE_ADDR *arg5)
+int
+debug_target::search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_search_memory (...)\n", debug_target.to_shortname);
-  result = debug_target.to_search_memory (&debug_target, arg1, arg2, arg3, arg4, arg5);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_search_memory (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->search_memory (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->search_memory (arg0, arg1, arg2, arg3, arg4);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->search_memory (", this->beneath ()->shortname ());
+  target_debug_print_CORE_ADDR (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST (arg2);
+  target_debug_print_ULONGEST (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_gdb_byte_p (arg3);
+  target_debug_print_const_gdb_byte_p (arg2);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST (arg4);
+  target_debug_print_ULONGEST (arg3);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR_p (arg5);
+  target_debug_print_CORE_ADDR_p (arg4);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_can_execute_reverse (struct target_ops *self)
+bool
+target_ops::can_execute_reverse ()
 {
-  self = self->beneath;
-  return self->to_can_execute_reverse (self);
+  return this->beneath ()->can_execute_reverse ();
 }
 
-static int
-tdefault_can_execute_reverse (struct target_ops *self)
+bool
+dummy_target::can_execute_reverse ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_can_execute_reverse (struct target_ops *self)
+bool
+debug_target::can_execute_reverse ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_execute_reverse (...)\n", debug_target.to_shortname);
-  result = debug_target.to_can_execute_reverse (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_execute_reverse (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->can_execute_reverse (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->can_execute_reverse ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->can_execute_reverse (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static enum exec_direction_kind
-delegate_execution_direction (struct target_ops *self)
+enum exec_direction_kind
+target_ops::execution_direction ()
 {
-  self = self->beneath;
-  return self->to_execution_direction (self);
+  return this->beneath ()->execution_direction ();
 }
 
-static enum exec_direction_kind
-debug_execution_direction (struct target_ops *self)
+enum exec_direction_kind
+dummy_target::execution_direction ()
+{
+  return default_execution_direction (this);
+}
+
+enum exec_direction_kind
+debug_target::execution_direction ()
 {
   enum exec_direction_kind result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_execution_direction (...)\n", debug_target.to_shortname);
-  result = debug_target.to_execution_direction (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_execution_direction (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->execution_direction (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->execution_direction ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->execution_direction (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_enum_exec_direction_kind (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_supports_multi_process (struct target_ops *self)
+bool
+target_ops::supports_multi_process ()
 {
-  self = self->beneath;
-  return self->to_supports_multi_process (self);
+  return this->beneath ()->supports_multi_process ();
 }
 
-static int
-tdefault_supports_multi_process (struct target_ops *self)
+bool
+dummy_target::supports_multi_process ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_supports_multi_process (struct target_ops *self)
+bool
+debug_target::supports_multi_process ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_multi_process (...)\n", debug_target.to_shortname);
-  result = debug_target.to_supports_multi_process (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_multi_process (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->supports_multi_process (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->supports_multi_process ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->supports_multi_process (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_supports_enable_disable_tracepoint (struct target_ops *self)
+bool
+target_ops::supports_enable_disable_tracepoint ()
 {
-  self = self->beneath;
-  return self->to_supports_enable_disable_tracepoint (self);
+  return this->beneath ()->supports_enable_disable_tracepoint ();
 }
 
-static int
-tdefault_supports_enable_disable_tracepoint (struct target_ops *self)
+bool
+dummy_target::supports_enable_disable_tracepoint ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_supports_enable_disable_tracepoint (struct target_ops *self)
+bool
+debug_target::supports_enable_disable_tracepoint ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_enable_disable_tracepoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_supports_enable_disable_tracepoint (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_enable_disable_tracepoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->supports_enable_disable_tracepoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->supports_enable_disable_tracepoint ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->supports_enable_disable_tracepoint (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_supports_string_tracing (struct target_ops *self)
+bool
+target_ops::supports_disable_randomization ()
 {
-  self = self->beneath;
-  return self->to_supports_string_tracing (self);
+  return this->beneath ()->supports_disable_randomization ();
 }
 
-static int
-tdefault_supports_string_tracing (struct target_ops *self)
+bool
+dummy_target::supports_disable_randomization ()
 {
-  return 0;
+  return find_default_supports_disable_randomization (this);
 }
 
-static int
-debug_supports_string_tracing (struct target_ops *self)
+bool
+debug_target::supports_disable_randomization ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_string_tracing (...)\n", debug_target.to_shortname);
-  result = debug_target.to_supports_string_tracing (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_string_tracing (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->supports_disable_randomization (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->supports_disable_randomization ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->supports_disable_randomization (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
+bool
+target_ops::supports_string_tracing ()
 {
-  self = self->beneath;
-  return self->to_supports_evaluation_of_breakpoint_conditions (self);
+  return this->beneath ()->supports_string_tracing ();
 }
 
-static int
-tdefault_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
+bool
+dummy_target::supports_string_tracing ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
+bool
+debug_target::supports_string_tracing ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_evaluation_of_breakpoint_conditions (...)\n", debug_target.to_shortname);
-  result = debug_target.to_supports_evaluation_of_breakpoint_conditions (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_evaluation_of_breakpoint_conditions (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->supports_string_tracing (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->supports_string_tracing ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->supports_string_tracing (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_can_run_breakpoint_commands (struct target_ops *self)
+bool
+target_ops::supports_evaluation_of_breakpoint_conditions ()
 {
-  self = self->beneath;
-  return self->to_can_run_breakpoint_commands (self);
+  return this->beneath ()->supports_evaluation_of_breakpoint_conditions ();
 }
 
-static int
-tdefault_can_run_breakpoint_commands (struct target_ops *self)
+bool
+dummy_target::supports_evaluation_of_breakpoint_conditions ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_can_run_breakpoint_commands (struct target_ops *self)
+bool
+debug_target::supports_evaluation_of_breakpoint_conditions ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_run_breakpoint_commands (...)\n", debug_target.to_shortname);
-  result = debug_target.to_can_run_breakpoint_commands (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_run_breakpoint_commands (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->supports_evaluation_of_breakpoint_conditions (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->supports_evaluation_of_breakpoint_conditions ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->supports_evaluation_of_breakpoint_conditions (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+bool
+target_ops::can_run_breakpoint_commands ()
+{
+  return this->beneath ()->can_run_breakpoint_commands ();
+}
+
+bool
+dummy_target::can_run_breakpoint_commands ()
+{
+  return false;
+}
+
+bool
+debug_target::can_run_breakpoint_commands ()
+{
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->can_run_breakpoint_commands (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->can_run_breakpoint_commands ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->can_run_breakpoint_commands (", this->beneath ()->shortname ());
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static struct gdbarch *
-delegate_thread_architecture (struct target_ops *self, ptid_t arg1)
+struct gdbarch *
+target_ops::thread_architecture (ptid_t arg0)
+{
+  return this->beneath ()->thread_architecture (arg0);
+}
+
+struct gdbarch *
+dummy_target::thread_architecture (ptid_t arg0)
 {
-  self = self->beneath;
-  return self->to_thread_architecture (self, arg1);
+  return default_thread_architecture (this, arg0);
 }
 
-static struct gdbarch *
-debug_thread_architecture (struct target_ops *self, ptid_t arg1)
+struct gdbarch *
+debug_target::thread_architecture (ptid_t arg0)
 {
   struct gdbarch * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_architecture (...)\n", debug_target.to_shortname);
-  result = debug_target.to_thread_architecture (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_architecture (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->thread_architecture (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->thread_architecture (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->thread_architecture (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_struct_gdbarch_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static struct address_space *
-delegate_thread_address_space (struct target_ops *self, ptid_t arg1)
+struct address_space *
+target_ops::thread_address_space (ptid_t arg0)
+{
+  return this->beneath ()->thread_address_space (arg0);
+}
+
+struct address_space *
+dummy_target::thread_address_space (ptid_t arg0)
 {
-  self = self->beneath;
-  return self->to_thread_address_space (self, arg1);
+  return default_thread_address_space (this, arg0);
 }
 
-static struct address_space *
-debug_thread_address_space (struct target_ops *self, ptid_t arg1)
+struct address_space *
+debug_target::thread_address_space (ptid_t arg0)
 {
   struct address_space * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_address_space (...)\n", debug_target.to_shortname);
-  result = debug_target.to_thread_address_space (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_address_space (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->thread_address_space (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->thread_address_space (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->thread_address_space (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_struct_address_space_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_filesystem_is_local (struct target_ops *self)
+bool
+target_ops::filesystem_is_local ()
 {
-  self = self->beneath;
-  return self->to_filesystem_is_local (self);
+  return this->beneath ()->filesystem_is_local ();
 }
 
-static int
-tdefault_filesystem_is_local (struct target_ops *self)
+bool
+dummy_target::filesystem_is_local ()
 {
-  return 1;
+  return true;
 }
 
-static int
-debug_filesystem_is_local (struct target_ops *self)
+bool
+debug_target::filesystem_is_local ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_filesystem_is_local (...)\n", debug_target.to_shortname);
-  result = debug_target.to_filesystem_is_local (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_filesystem_is_local (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->filesystem_is_local (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->filesystem_is_local ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->filesystem_is_local (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_trace_init (struct target_ops *self)
+void
+target_ops::trace_init ()
 {
-  self = self->beneath;
-  self->to_trace_init (self);
+  this->beneath ()->trace_init ();
 }
 
-static void
-tdefault_trace_init (struct target_ops *self)
+void
+dummy_target::trace_init ()
 {
   tcomplain ();
 }
 
-static void
-debug_trace_init (struct target_ops *self)
+void
+debug_target::trace_init ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_init (...)\n", debug_target.to_shortname);
-  debug_target.to_trace_init (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_init (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->trace_init (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->trace_init ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->trace_init (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
+void
+target_ops::download_tracepoint (struct bp_location *arg0)
 {
-  self = self->beneath;
-  self->to_download_tracepoint (self, arg1);
+  this->beneath ()->download_tracepoint (arg0);
 }
 
-static void
-tdefault_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
+void
+dummy_target::download_tracepoint (struct bp_location *arg0)
 {
   tcomplain ();
 }
 
-static void
-debug_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
+void
+debug_target::download_tracepoint (struct bp_location *arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_download_tracepoint (...)\n", debug_target.to_shortname);
-  debug_target.to_download_tracepoint (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_download_tracepoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_bp_location_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->download_tracepoint (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->download_tracepoint (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->download_tracepoint (", this->beneath ()->shortname ());
+  target_debug_print_struct_bp_location_p (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_can_download_tracepoint (struct target_ops *self)
+bool
+target_ops::can_download_tracepoint ()
 {
-  self = self->beneath;
-  return self->to_can_download_tracepoint (self);
+  return this->beneath ()->can_download_tracepoint ();
 }
 
-static int
-tdefault_can_download_tracepoint (struct target_ops *self)
+bool
+dummy_target::can_download_tracepoint ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_can_download_tracepoint (struct target_ops *self)
+bool
+debug_target::can_download_tracepoint ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_download_tracepoint (...)\n", debug_target.to_shortname);
-  result = debug_target.to_can_download_tracepoint (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_download_tracepoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->can_download_tracepoint (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->can_download_tracepoint ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->can_download_tracepoint (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
+void
+target_ops::download_trace_state_variable (const trace_state_variable &arg0)
 {
-  self = self->beneath;
-  self->to_download_trace_state_variable (self, arg1);
+  this->beneath ()->download_trace_state_variable (arg0);
 }
 
-static void
-tdefault_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
+void
+dummy_target::download_trace_state_variable (const trace_state_variable &arg0)
 {
   tcomplain ();
 }
 
-static void
-debug_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
+void
+debug_target::download_trace_state_variable (const trace_state_variable &arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_download_trace_state_variable (...)\n", debug_target.to_shortname);
-  debug_target.to_download_trace_state_variable (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_download_trace_state_variable (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_trace_state_variable_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->download_trace_state_variable (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->download_trace_state_variable (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->download_trace_state_variable (", this->beneath ()->shortname ());
+  target_debug_print_const_trace_state_variable_r (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
+void
+target_ops::enable_tracepoint (struct bp_location *arg0)
 {
-  self = self->beneath;
-  self->to_enable_tracepoint (self, arg1);
+  this->beneath ()->enable_tracepoint (arg0);
 }
 
-static void
-tdefault_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
+void
+dummy_target::enable_tracepoint (struct bp_location *arg0)
 {
   tcomplain ();
 }
 
-static void
-debug_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
+void
+debug_target::enable_tracepoint (struct bp_location *arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_enable_tracepoint (...)\n", debug_target.to_shortname);
-  debug_target.to_enable_tracepoint (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_enable_tracepoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_bp_location_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->enable_tracepoint (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->enable_tracepoint (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->enable_tracepoint (", this->beneath ()->shortname ());
+  target_debug_print_struct_bp_location_p (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
+void
+target_ops::disable_tracepoint (struct bp_location *arg0)
 {
-  self = self->beneath;
-  self->to_disable_tracepoint (self, arg1);
+  this->beneath ()->disable_tracepoint (arg0);
 }
 
-static void
-tdefault_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
+void
+dummy_target::disable_tracepoint (struct bp_location *arg0)
 {
   tcomplain ();
 }
 
-static void
-debug_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
+void
+debug_target::disable_tracepoint (struct bp_location *arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_disable_tracepoint (...)\n", debug_target.to_shortname);
-  debug_target.to_disable_tracepoint (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_disable_tracepoint (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_bp_location_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->disable_tracepoint (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->disable_tracepoint (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->disable_tracepoint (", this->beneath ()->shortname ());
+  target_debug_print_struct_bp_location_p (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_trace_set_readonly_regions (struct target_ops *self)
+void
+target_ops::trace_set_readonly_regions ()
 {
-  self = self->beneath;
-  self->to_trace_set_readonly_regions (self);
+  this->beneath ()->trace_set_readonly_regions ();
 }
 
-static void
-tdefault_trace_set_readonly_regions (struct target_ops *self)
+void
+dummy_target::trace_set_readonly_regions ()
 {
   tcomplain ();
 }
 
-static void
-debug_trace_set_readonly_regions (struct target_ops *self)
+void
+debug_target::trace_set_readonly_regions ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_set_readonly_regions (...)\n", debug_target.to_shortname);
-  debug_target.to_trace_set_readonly_regions (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_set_readonly_regions (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->trace_set_readonly_regions (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->trace_set_readonly_regions ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->trace_set_readonly_regions (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_trace_start (struct target_ops *self)
+void
+target_ops::trace_start ()
 {
-  self = self->beneath;
-  self->to_trace_start (self);
+  this->beneath ()->trace_start ();
 }
 
-static void
-tdefault_trace_start (struct target_ops *self)
+void
+dummy_target::trace_start ()
 {
   tcomplain ();
 }
 
-static void
-debug_trace_start (struct target_ops *self)
+void
+debug_target::trace_start ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_start (...)\n", debug_target.to_shortname);
-  debug_target.to_trace_start (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_start (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->trace_start (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->trace_start ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->trace_start (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_get_trace_status (struct target_ops *self, struct trace_status *arg1)
+int
+target_ops::get_trace_status (struct trace_status *arg0)
 {
-  self = self->beneath;
-  return self->to_get_trace_status (self, arg1);
+  return this->beneath ()->get_trace_status (arg0);
 }
 
-static int
-tdefault_get_trace_status (struct target_ops *self, struct trace_status *arg1)
+int
+dummy_target::get_trace_status (struct trace_status *arg0)
 {
   return -1;
 }
 
-static int
-debug_get_trace_status (struct target_ops *self, struct trace_status *arg1)
+int
+debug_target::get_trace_status (struct trace_status *arg0)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_trace_status (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_trace_status (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_trace_status (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_trace_status_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_trace_status (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_trace_status (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_trace_status (", this->beneath ()->shortname ());
+  target_debug_print_struct_trace_status_p (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
+void
+target_ops::get_tracepoint_status (struct breakpoint *arg0, struct uploaded_tp *arg1)
 {
-  self = self->beneath;
-  self->to_get_tracepoint_status (self, arg1, arg2);
+  this->beneath ()->get_tracepoint_status (arg0, arg1);
 }
 
-static void
-tdefault_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
+void
+dummy_target::get_tracepoint_status (struct breakpoint *arg0, struct uploaded_tp *arg1)
 {
   tcomplain ();
 }
 
-static void
-debug_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
+void
+debug_target::get_tracepoint_status (struct breakpoint *arg0, struct uploaded_tp *arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tracepoint_status (...)\n", debug_target.to_shortname);
-  debug_target.to_get_tracepoint_status (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tracepoint_status (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_breakpoint_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_tracepoint_status (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->get_tracepoint_status (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_tracepoint_status (", this->beneath ()->shortname ());
+  target_debug_print_struct_breakpoint_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_uploaded_tp_p (arg2);
+  target_debug_print_struct_uploaded_tp_p (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_trace_stop (struct target_ops *self)
+void
+target_ops::trace_stop ()
 {
-  self = self->beneath;
-  self->to_trace_stop (self);
+  this->beneath ()->trace_stop ();
 }
 
-static void
-tdefault_trace_stop (struct target_ops *self)
+void
+dummy_target::trace_stop ()
 {
   tcomplain ();
 }
 
-static void
-debug_trace_stop (struct target_ops *self)
+void
+debug_target::trace_stop ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_stop (...)\n", debug_target.to_shortname);
-  debug_target.to_trace_stop (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_stop (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->trace_stop (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->trace_stop ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->trace_stop (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
+int
+target_ops::trace_find (enum trace_find_type arg0, int arg1, CORE_ADDR arg2, CORE_ADDR arg3, int *arg4)
 {
-  self = self->beneath;
-  return self->to_trace_find (self, arg1, arg2, arg3, arg4, arg5);
+  return this->beneath ()->trace_find (arg0, arg1, arg2, arg3, arg4);
 }
 
-static int
-tdefault_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
+int
+dummy_target::trace_find (enum trace_find_type arg0, int arg1, CORE_ADDR arg2, CORE_ADDR arg3, int *arg4)
 {
   return -1;
 }
 
-static int
-debug_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
+int
+debug_target::trace_find (enum trace_find_type arg0, int arg1, CORE_ADDR arg2, CORE_ADDR arg3, int *arg4)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_find (...)\n", debug_target.to_shortname);
-  result = debug_target.to_trace_find (&debug_target, arg1, arg2, arg3, arg4, arg5);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_find (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->trace_find (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->trace_find (arg0, arg1, arg2, arg3, arg4);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->trace_find (", this->beneath ()->shortname ());
+  target_debug_print_enum_trace_find_type (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_enum_trace_find_type (arg1);
+  target_debug_print_int (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_CORE_ADDR (arg2);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_CORE_ADDR (arg3);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg4);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int_p (arg5);
+  target_debug_print_int_p (arg4);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
+bool
+target_ops::get_trace_state_variable_value (int arg0, LONGEST *arg1)
 {
-  self = self->beneath;
-  return self->to_get_trace_state_variable_value (self, arg1, arg2);
+  return this->beneath ()->get_trace_state_variable_value (arg0, arg1);
 }
 
-static int
-tdefault_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
+bool
+dummy_target::get_trace_state_variable_value (int arg0, LONGEST *arg1)
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
+bool
+debug_target::get_trace_state_variable_value (int arg0, LONGEST *arg1)
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_trace_state_variable_value (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_trace_state_variable_value (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_trace_state_variable_value (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_trace_state_variable_value (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_trace_state_variable_value (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_trace_state_variable_value (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_LONGEST_p (arg2);
+  target_debug_print_LONGEST_p (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_save_trace_data (struct target_ops *self, const char *arg1)
+int
+target_ops::save_trace_data (const char *arg0)
 {
-  self = self->beneath;
-  return self->to_save_trace_data (self, arg1);
+  return this->beneath ()->save_trace_data (arg0);
 }
 
-static int
-tdefault_save_trace_data (struct target_ops *self, const char *arg1)
+int
+dummy_target::save_trace_data (const char *arg0)
 {
   tcomplain ();
 }
 
-static int
-debug_save_trace_data (struct target_ops *self, const char *arg1)
+int
+debug_target::save_trace_data (const char *arg0)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_save_trace_data (...)\n", debug_target.to_shortname);
-  result = debug_target.to_save_trace_data (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_save_trace_data (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->save_trace_data (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->save_trace_data (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->save_trace_data (", this->beneath ()->shortname ());
+  target_debug_print_const_char_p (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
+int
+target_ops::upload_tracepoints (struct uploaded_tp **arg0)
 {
-  self = self->beneath;
-  return self->to_upload_tracepoints (self, arg1);
+  return this->beneath ()->upload_tracepoints (arg0);
 }
 
-static int
-tdefault_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
+int
+dummy_target::upload_tracepoints (struct uploaded_tp **arg0)
 {
   return 0;
 }
 
-static int
-debug_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
+int
+debug_target::upload_tracepoints (struct uploaded_tp **arg0)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_upload_tracepoints (...)\n", debug_target.to_shortname);
-  result = debug_target.to_upload_tracepoints (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_upload_tracepoints (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_uploaded_tp_pp (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->upload_tracepoints (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->upload_tracepoints (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->upload_tracepoints (", this->beneath ()->shortname ());
+  target_debug_print_struct_uploaded_tp_pp (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
+int
+target_ops::upload_trace_state_variables (struct uploaded_tsv **arg0)
 {
-  self = self->beneath;
-  return self->to_upload_trace_state_variables (self, arg1);
+  return this->beneath ()->upload_trace_state_variables (arg0);
 }
 
-static int
-tdefault_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
+int
+dummy_target::upload_trace_state_variables (struct uploaded_tsv **arg0)
 {
   return 0;
 }
 
-static int
-debug_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
+int
+debug_target::upload_trace_state_variables (struct uploaded_tsv **arg0)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_upload_trace_state_variables (...)\n", debug_target.to_shortname);
-  result = debug_target.to_upload_trace_state_variables (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_upload_trace_state_variables (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_uploaded_tsv_pp (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->upload_trace_state_variables (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->upload_trace_state_variables (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->upload_trace_state_variables (", this->beneath ()->shortname ());
+  target_debug_print_struct_uploaded_tsv_pp (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static LONGEST
-delegate_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
+LONGEST
+target_ops::get_raw_trace_data (gdb_byte *arg0, ULONGEST arg1, LONGEST arg2)
 {
-  self = self->beneath;
-  return self->to_get_raw_trace_data (self, arg1, arg2, arg3);
+  return this->beneath ()->get_raw_trace_data (arg0, arg1, arg2);
 }
 
-static LONGEST
-tdefault_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
+LONGEST
+dummy_target::get_raw_trace_data (gdb_byte *arg0, ULONGEST arg1, LONGEST arg2)
 {
   tcomplain ();
 }
 
-static LONGEST
-debug_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
+LONGEST
+debug_target::get_raw_trace_data (gdb_byte *arg0, ULONGEST arg1, LONGEST arg2)
 {
   LONGEST result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_raw_trace_data (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_raw_trace_data (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_raw_trace_data (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_gdb_byte_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_raw_trace_data (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_raw_trace_data (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_raw_trace_data (", this->beneath ()->shortname ());
+  target_debug_print_gdb_byte_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST (arg2);
+  target_debug_print_ULONGEST (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_LONGEST (arg3);
+  target_debug_print_LONGEST (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_LONGEST (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_get_min_fast_tracepoint_insn_len (struct target_ops *self)
+int
+target_ops::get_min_fast_tracepoint_insn_len ()
 {
-  self = self->beneath;
-  return self->to_get_min_fast_tracepoint_insn_len (self);
+  return this->beneath ()->get_min_fast_tracepoint_insn_len ();
 }
 
-static int
-tdefault_get_min_fast_tracepoint_insn_len (struct target_ops *self)
+int
+dummy_target::get_min_fast_tracepoint_insn_len ()
 {
   return -1;
 }
 
-static int
-debug_get_min_fast_tracepoint_insn_len (struct target_ops *self)
+int
+debug_target::get_min_fast_tracepoint_insn_len ()
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_min_fast_tracepoint_insn_len (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_min_fast_tracepoint_insn_len (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_min_fast_tracepoint_insn_len (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_min_fast_tracepoint_insn_len (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_min_fast_tracepoint_insn_len ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_min_fast_tracepoint_insn_len (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_set_disconnected_tracing (struct target_ops *self, int arg1)
+void
+target_ops::set_disconnected_tracing (int arg0)
 {
-  self = self->beneath;
-  self->to_set_disconnected_tracing (self, arg1);
+  this->beneath ()->set_disconnected_tracing (arg0);
 }
 
-static void
-tdefault_set_disconnected_tracing (struct target_ops *self, int arg1)
+void
+dummy_target::set_disconnected_tracing (int arg0)
 {
 }
 
-static void
-debug_set_disconnected_tracing (struct target_ops *self, int arg1)
+void
+debug_target::set_disconnected_tracing (int arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_disconnected_tracing (...)\n", debug_target.to_shortname);
-  debug_target.to_set_disconnected_tracing (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_disconnected_tracing (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->set_disconnected_tracing (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->set_disconnected_tracing (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->set_disconnected_tracing (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_set_circular_trace_buffer (struct target_ops *self, int arg1)
+void
+target_ops::set_circular_trace_buffer (int arg0)
 {
-  self = self->beneath;
-  self->to_set_circular_trace_buffer (self, arg1);
+  this->beneath ()->set_circular_trace_buffer (arg0);
 }
 
-static void
-tdefault_set_circular_trace_buffer (struct target_ops *self, int arg1)
+void
+dummy_target::set_circular_trace_buffer (int arg0)
 {
 }
 
-static void
-debug_set_circular_trace_buffer (struct target_ops *self, int arg1)
+void
+debug_target::set_circular_trace_buffer (int arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_circular_trace_buffer (...)\n", debug_target.to_shortname);
-  debug_target.to_set_circular_trace_buffer (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_circular_trace_buffer (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->set_circular_trace_buffer (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->set_circular_trace_buffer (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->set_circular_trace_buffer (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
+void
+target_ops::set_trace_buffer_size (LONGEST arg0)
 {
-  self = self->beneath;
-  self->to_set_trace_buffer_size (self, arg1);
+  this->beneath ()->set_trace_buffer_size (arg0);
 }
 
-static void
-tdefault_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
+void
+dummy_target::set_trace_buffer_size (LONGEST arg0)
 {
 }
 
-static void
-debug_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
+void
+debug_target::set_trace_buffer_size (LONGEST arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_trace_buffer_size (...)\n", debug_target.to_shortname);
-  debug_target.to_set_trace_buffer_size (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_trace_buffer_size (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_LONGEST (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->set_trace_buffer_size (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->set_trace_buffer_size (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->set_trace_buffer_size (", this->beneath ()->shortname ());
+  target_debug_print_LONGEST (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
+bool
+target_ops::set_trace_notes (const char *arg0, const char *arg1, const char *arg2)
 {
-  self = self->beneath;
-  return self->to_set_trace_notes (self, arg1, arg2, arg3);
+  return this->beneath ()->set_trace_notes (arg0, arg1, arg2);
 }
 
-static int
-tdefault_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
+bool
+dummy_target::set_trace_notes (const char *arg0, const char *arg1, const char *arg2)
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
+bool
+debug_target::set_trace_notes (const char *arg0, const char *arg1, const char *arg2)
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_trace_notes (...)\n", debug_target.to_shortname);
-  result = debug_target.to_set_trace_notes (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_trace_notes (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->set_trace_notes (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->set_trace_notes (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->set_trace_notes (", this->beneath ()->shortname ());
+  target_debug_print_const_char_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_const_char_p (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_const_char_p (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg3);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_core_of_thread (struct target_ops *self, ptid_t arg1)
+int
+target_ops::core_of_thread (ptid_t arg0)
 {
-  self = self->beneath;
-  return self->to_core_of_thread (self, arg1);
+  return this->beneath ()->core_of_thread (arg0);
 }
 
-static int
-tdefault_core_of_thread (struct target_ops *self, ptid_t arg1)
+int
+dummy_target::core_of_thread (ptid_t arg0)
 {
   return -1;
 }
 
-static int
-debug_core_of_thread (struct target_ops *self, ptid_t arg1)
+int
+debug_target::core_of_thread (ptid_t arg0)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_core_of_thread (...)\n", debug_target.to_shortname);
-  result = debug_target.to_core_of_thread (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_core_of_thread (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->core_of_thread (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->core_of_thread (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->core_of_thread (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_verify_memory (struct target_ops *self, const gdb_byte *arg1, CORE_ADDR arg2, ULONGEST arg3)
+int
+target_ops::verify_memory (const gdb_byte *arg0, CORE_ADDR arg1, ULONGEST arg2)
+{
+  return this->beneath ()->verify_memory (arg0, arg1, arg2);
+}
+
+int
+dummy_target::verify_memory (const gdb_byte *arg0, CORE_ADDR arg1, ULONGEST arg2)
 {
-  self = self->beneath;
-  return self->to_verify_memory (self, arg1, arg2, arg3);
+  return default_verify_memory (this, arg0, arg1, arg2);
 }
 
-static int
-debug_verify_memory (struct target_ops *self, const gdb_byte *arg1, CORE_ADDR arg2, ULONGEST arg3)
+int
+debug_target::verify_memory (const gdb_byte *arg0, CORE_ADDR arg1, ULONGEST arg2)
 {
   int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_verify_memory (...)\n", debug_target.to_shortname);
-  result = debug_target.to_verify_memory (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_verify_memory (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->verify_memory (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->verify_memory (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->verify_memory (", this->beneath ()->shortname ());
+  target_debug_print_const_gdb_byte_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_gdb_byte_p (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg2);
+  target_debug_print_CORE_ADDR (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST (arg3);
+  target_debug_print_ULONGEST (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_int (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
+bool
+target_ops::get_tib_address (ptid_t arg0, CORE_ADDR *arg1)
 {
-  self = self->beneath;
-  return self->to_get_tib_address (self, arg1, arg2);
+  return this->beneath ()->get_tib_address (arg0, arg1);
 }
 
-static int
-tdefault_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
+bool
+dummy_target::get_tib_address (ptid_t arg0, CORE_ADDR *arg1)
 {
   tcomplain ();
 }
 
-static int
-debug_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
+bool
+debug_target::get_tib_address (ptid_t arg0, CORE_ADDR *arg1)
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tib_address (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_tib_address (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tib_address (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_tib_address (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_tib_address (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_tib_address (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR_p (arg2);
+  target_debug_print_CORE_ADDR_p (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_set_permissions (struct target_ops *self)
+void
+target_ops::set_permissions ()
 {
-  self = self->beneath;
-  self->to_set_permissions (self);
+  this->beneath ()->set_permissions ();
 }
 
-static void
-tdefault_set_permissions (struct target_ops *self)
+void
+dummy_target::set_permissions ()
 {
 }
 
-static void
-debug_set_permissions (struct target_ops *self)
+void
+debug_target::set_permissions ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_permissions (...)\n", debug_target.to_shortname);
-  debug_target.to_set_permissions (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_permissions (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->set_permissions (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->set_permissions ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->set_permissions (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
+bool
+target_ops::static_tracepoint_marker_at (CORE_ADDR arg0, static_tracepoint_marker *arg1)
 {
-  self = self->beneath;
-  return self->to_static_tracepoint_marker_at (self, arg1, arg2);
+  return this->beneath ()->static_tracepoint_marker_at (arg0, arg1);
 }
 
-static int
-tdefault_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
+bool
+dummy_target::static_tracepoint_marker_at (CORE_ADDR arg0, static_tracepoint_marker *arg1)
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
+bool
+debug_target::static_tracepoint_marker_at (CORE_ADDR arg0, static_tracepoint_marker *arg1)
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_static_tracepoint_marker_at (...)\n", debug_target.to_shortname);
-  result = debug_target.to_static_tracepoint_marker_at (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_static_tracepoint_marker_at (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (arg1);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->static_tracepoint_marker_at (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->static_tracepoint_marker_at (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->static_tracepoint_marker_at (", this->beneath ()->shortname ());
+  target_debug_print_CORE_ADDR (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_static_tracepoint_marker_p (arg2);
+  target_debug_print_static_tracepoint_marker_p (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static VEC(static_tracepoint_marker_p) *
-delegate_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
+std::vector<static_tracepoint_marker>
+target_ops::static_tracepoint_markers_by_strid (const char *arg0)
 {
-  self = self->beneath;
-  return self->to_static_tracepoint_markers_by_strid (self, arg1);
+  return this->beneath ()->static_tracepoint_markers_by_strid (arg0);
 }
 
-static VEC(static_tracepoint_marker_p) *
-tdefault_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
+std::vector<static_tracepoint_marker>
+dummy_target::static_tracepoint_markers_by_strid (const char *arg0)
 {
   tcomplain ();
 }
 
-static VEC(static_tracepoint_marker_p) *
-debug_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
+std::vector<static_tracepoint_marker>
+debug_target::static_tracepoint_markers_by_strid (const char *arg0)
 {
-  VEC(static_tracepoint_marker_p) * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_static_tracepoint_markers_by_strid (...)\n", debug_target.to_shortname);
-  result = debug_target.to_static_tracepoint_markers_by_strid (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_static_tracepoint_markers_by_strid (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg1);
+  std::vector<static_tracepoint_marker> result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->static_tracepoint_markers_by_strid (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->static_tracepoint_markers_by_strid (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->static_tracepoint_markers_by_strid (", this->beneath ()->shortname ());
+  target_debug_print_const_char_p (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_VEC_static_tracepoint_marker_p_p (result);
+  target_debug_print_std_vector_static_tracepoint_marker (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static traceframe_info_up
-delegate_traceframe_info (struct target_ops *self)
+traceframe_info_up
+target_ops::traceframe_info ()
 {
-  self = self->beneath;
-  return self->to_traceframe_info (self);
+  return this->beneath ()->traceframe_info ();
 }
 
-static traceframe_info_up
-tdefault_traceframe_info (struct target_ops *self)
+traceframe_info_up
+dummy_target::traceframe_info ()
 {
   tcomplain ();
 }
 
-static traceframe_info_up
-debug_traceframe_info (struct target_ops *self)
+traceframe_info_up
+debug_target::traceframe_info ()
 {
   traceframe_info_up result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_traceframe_info (...)\n", debug_target.to_shortname);
-  result = debug_target.to_traceframe_info (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_traceframe_info (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->traceframe_info (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->traceframe_info ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->traceframe_info (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_traceframe_info_up (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_use_agent (struct target_ops *self, int arg1)
+bool
+target_ops::use_agent (bool arg0)
 {
-  self = self->beneath;
-  return self->to_use_agent (self, arg1);
+  return this->beneath ()->use_agent (arg0);
 }
 
-static int
-tdefault_use_agent (struct target_ops *self, int arg1)
+bool
+dummy_target::use_agent (bool arg0)
 {
   tcomplain ();
 }
 
-static int
-debug_use_agent (struct target_ops *self, int arg1)
-{
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_use_agent (...)\n", debug_target.to_shortname);
-  result = debug_target.to_use_agent (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_use_agent (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
-  fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
-  fputs_unfiltered ("\n", gdb_stdlog);
-  return result;
-}
-
-static int
-delegate_can_use_agent (struct target_ops *self)
-{
-  self = self->beneath;
-  return self->to_can_use_agent (self);
-}
-
-static int
-tdefault_can_use_agent (struct target_ops *self)
-{
-  return 0;
-}
-
-static int
-debug_can_use_agent (struct target_ops *self)
+bool
+debug_target::use_agent (bool arg0)
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_use_agent (...)\n", debug_target.to_shortname);
-  result = debug_target.to_can_use_agent (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_use_agent (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->use_agent (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->use_agent (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->use_agent (", this->beneath ()->shortname ());
+  target_debug_print_bool (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_supports_btrace (struct target_ops *self, enum btrace_format arg1)
+bool
+target_ops::can_use_agent ()
 {
-  self = self->beneath;
-  return self->to_supports_btrace (self, arg1);
+  return this->beneath ()->can_use_agent ();
 }
 
-static int
-tdefault_supports_btrace (struct target_ops *self, enum btrace_format arg1)
+bool
+dummy_target::can_use_agent ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_supports_btrace (struct target_ops *self, enum btrace_format arg1)
+bool
+debug_target::can_use_agent ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_btrace (...)\n", debug_target.to_shortname);
-  result = debug_target.to_supports_btrace (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_btrace (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_enum_btrace_format (arg1);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->can_use_agent (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->can_use_agent ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->can_use_agent (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static struct btrace_target_info *
-delegate_enable_btrace (struct target_ops *self, ptid_t arg1, const struct btrace_config *arg2)
+struct btrace_target_info *
+target_ops::enable_btrace (ptid_t arg0, const struct btrace_config *arg1)
 {
-  self = self->beneath;
-  return self->to_enable_btrace (self, arg1, arg2);
+  return this->beneath ()->enable_btrace (arg0, arg1);
 }
 
-static struct btrace_target_info *
-tdefault_enable_btrace (struct target_ops *self, ptid_t arg1, const struct btrace_config *arg2)
+struct btrace_target_info *
+dummy_target::enable_btrace (ptid_t arg0, const struct btrace_config *arg1)
 {
   tcomplain ();
 }
 
-static struct btrace_target_info *
-debug_enable_btrace (struct target_ops *self, ptid_t arg1, const struct btrace_config *arg2)
+struct btrace_target_info *
+debug_target::enable_btrace (ptid_t arg0, const struct btrace_config *arg1)
 {
   struct btrace_target_info * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_enable_btrace (...)\n", debug_target.to_shortname);
-  result = debug_target.to_enable_btrace (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_enable_btrace (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->enable_btrace (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->enable_btrace (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->enable_btrace (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_struct_btrace_config_p (arg2);
+  target_debug_print_const_struct_btrace_config_p (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_struct_btrace_target_info_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
+void
+target_ops::disable_btrace (struct btrace_target_info *arg0)
 {
-  self = self->beneath;
-  self->to_disable_btrace (self, arg1);
+  this->beneath ()->disable_btrace (arg0);
 }
 
-static void
-tdefault_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
+void
+dummy_target::disable_btrace (struct btrace_target_info *arg0)
 {
   tcomplain ();
 }
 
-static void
-debug_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
+void
+debug_target::disable_btrace (struct btrace_target_info *arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_disable_btrace (...)\n", debug_target.to_shortname);
-  debug_target.to_disable_btrace (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_disable_btrace (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_btrace_target_info_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->disable_btrace (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->disable_btrace (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->disable_btrace (", this->beneath ()->shortname ());
+  target_debug_print_struct_btrace_target_info_p (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
+void
+target_ops::teardown_btrace (struct btrace_target_info *arg0)
 {
-  self = self->beneath;
-  self->to_teardown_btrace (self, arg1);
+  this->beneath ()->teardown_btrace (arg0);
 }
 
-static void
-tdefault_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
+void
+dummy_target::teardown_btrace (struct btrace_target_info *arg0)
 {
   tcomplain ();
 }
 
-static void
-debug_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
+void
+debug_target::teardown_btrace (struct btrace_target_info *arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_teardown_btrace (...)\n", debug_target.to_shortname);
-  debug_target.to_teardown_btrace (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_teardown_btrace (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_btrace_target_info_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->teardown_btrace (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->teardown_btrace (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->teardown_btrace (", this->beneath ()->shortname ());
+  target_debug_print_struct_btrace_target_info_p (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static enum btrace_error
-delegate_read_btrace (struct target_ops *self, struct btrace_data *arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
+enum btrace_error
+target_ops::read_btrace (struct btrace_data *arg0, struct btrace_target_info *arg1, enum btrace_read_type arg2)
 {
-  self = self->beneath;
-  return self->to_read_btrace (self, arg1, arg2, arg3);
+  return this->beneath ()->read_btrace (arg0, arg1, arg2);
 }
 
-static enum btrace_error
-tdefault_read_btrace (struct target_ops *self, struct btrace_data *arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
+enum btrace_error
+dummy_target::read_btrace (struct btrace_data *arg0, struct btrace_target_info *arg1, enum btrace_read_type arg2)
 {
   tcomplain ();
 }
 
-static enum btrace_error
-debug_read_btrace (struct target_ops *self, struct btrace_data *arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
+enum btrace_error
+debug_target::read_btrace (struct btrace_data *arg0, struct btrace_target_info *arg1, enum btrace_read_type arg2)
 {
   enum btrace_error result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_read_btrace (...)\n", debug_target.to_shortname);
-  result = debug_target.to_read_btrace (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_read_btrace (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_btrace_data_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->read_btrace (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->read_btrace (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->read_btrace (", this->beneath ()->shortname ());
+  target_debug_print_struct_btrace_data_p (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_btrace_target_info_p (arg2);
+  target_debug_print_struct_btrace_target_info_p (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_enum_btrace_read_type (arg3);
+  target_debug_print_enum_btrace_read_type (arg2);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_enum_btrace_error (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static const struct btrace_config *
-delegate_btrace_conf (struct target_ops *self, const struct btrace_target_info *arg1)
+const struct btrace_config *
+target_ops::btrace_conf (const struct btrace_target_info *arg0)
 {
-  self = self->beneath;
-  return self->to_btrace_conf (self, arg1);
+  return this->beneath ()->btrace_conf (arg0);
 }
 
-static const struct btrace_config *
-tdefault_btrace_conf (struct target_ops *self, const struct btrace_target_info *arg1)
+const struct btrace_config *
+dummy_target::btrace_conf (const struct btrace_target_info *arg0)
 {
   return NULL;
 }
 
-static const struct btrace_config *
-debug_btrace_conf (struct target_ops *self, const struct btrace_target_info *arg1)
+const struct btrace_config *
+debug_target::btrace_conf (const struct btrace_target_info *arg0)
 {
   const struct btrace_config * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_btrace_conf (...)\n", debug_target.to_shortname);
-  result = debug_target.to_btrace_conf (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_btrace_conf (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_struct_btrace_target_info_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->btrace_conf (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->btrace_conf (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->btrace_conf (", this->beneath ()->shortname ());
+  target_debug_print_const_struct_btrace_target_info_p (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_const_struct_btrace_config_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static enum record_method
-delegate_record_method (struct target_ops *self, ptid_t arg1)
+enum record_method
+target_ops::record_method (ptid_t arg0)
 {
-  self = self->beneath;
-  return self->to_record_method (self, arg1);
+  return this->beneath ()->record_method (arg0);
 }
 
-static enum record_method
-tdefault_record_method (struct target_ops *self, ptid_t arg1)
+enum record_method
+dummy_target::record_method (ptid_t arg0)
 {
   return RECORD_METHOD_NONE;
 }
 
-static enum record_method
-debug_record_method (struct target_ops *self, ptid_t arg1)
+enum record_method
+debug_target::record_method (ptid_t arg0)
 {
   enum record_method result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_record_method (...)\n", debug_target.to_shortname);
-  result = debug_target.to_record_method (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_record_method (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->record_method (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->record_method (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->record_method (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_enum_record_method (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_stop_recording (struct target_ops *self)
+void
+target_ops::stop_recording ()
 {
-  self = self->beneath;
-  self->to_stop_recording (self);
+  this->beneath ()->stop_recording ();
 }
 
-static void
-tdefault_stop_recording (struct target_ops *self)
+void
+dummy_target::stop_recording ()
 {
 }
 
-static void
-debug_stop_recording (struct target_ops *self)
+void
+debug_target::stop_recording ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_stop_recording (...)\n", debug_target.to_shortname);
-  debug_target.to_stop_recording (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_stop_recording (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->stop_recording (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->stop_recording ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->stop_recording (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_info_record (struct target_ops *self)
+void
+target_ops::info_record ()
 {
-  self = self->beneath;
-  self->to_info_record (self);
+  this->beneath ()->info_record ();
 }
 
-static void
-tdefault_info_record (struct target_ops *self)
+void
+dummy_target::info_record ()
 {
 }
 
-static void
-debug_info_record (struct target_ops *self)
+void
+debug_target::info_record ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_info_record (...)\n", debug_target.to_shortname);
-  debug_target.to_info_record (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_info_record (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->info_record (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->info_record ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->info_record (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_save_record (struct target_ops *self, const char *arg1)
+void
+target_ops::save_record (const char *arg0)
 {
-  self = self->beneath;
-  self->to_save_record (self, arg1);
+  this->beneath ()->save_record (arg0);
 }
 
-static void
-tdefault_save_record (struct target_ops *self, const char *arg1)
+void
+dummy_target::save_record (const char *arg0)
 {
   tcomplain ();
 }
 
-static void
-debug_save_record (struct target_ops *self, const char *arg1)
+void
+debug_target::save_record (const char *arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_save_record (...)\n", debug_target.to_shortname);
-  debug_target.to_save_record (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_save_record (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_const_char_p (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->save_record (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->save_record (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->save_record (", this->beneath ()->shortname ());
+  target_debug_print_const_char_p (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_delete_record (struct target_ops *self)
+bool
+target_ops::supports_delete_record ()
+{
+  return this->beneath ()->supports_delete_record ();
+}
+
+bool
+dummy_target::supports_delete_record ()
+{
+  return false;
+}
+
+bool
+debug_target::supports_delete_record ()
+{
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->supports_delete_record (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->supports_delete_record ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->supports_delete_record (", this->beneath ()->shortname ());
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_bool (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+void
+target_ops::delete_record ()
 {
-  self = self->beneath;
-  self->to_delete_record (self);
+  this->beneath ()->delete_record ();
 }
 
-static void
-tdefault_delete_record (struct target_ops *self)
+void
+dummy_target::delete_record ()
 {
   tcomplain ();
 }
 
-static void
-debug_delete_record (struct target_ops *self)
+void
+debug_target::delete_record ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_delete_record (...)\n", debug_target.to_shortname);
-  debug_target.to_delete_record (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_delete_record (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->delete_record (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->delete_record ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->delete_record (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_record_is_replaying (struct target_ops *self, ptid_t arg1)
+bool
+target_ops::record_is_replaying (ptid_t arg0)
 {
-  self = self->beneath;
-  return self->to_record_is_replaying (self, arg1);
+  return this->beneath ()->record_is_replaying (arg0);
 }
 
-static int
-tdefault_record_is_replaying (struct target_ops *self, ptid_t arg1)
+bool
+dummy_target::record_is_replaying (ptid_t arg0)
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_record_is_replaying (struct target_ops *self, ptid_t arg1)
+bool
+debug_target::record_is_replaying (ptid_t arg0)
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_record_is_replaying (...)\n", debug_target.to_shortname);
-  result = debug_target.to_record_is_replaying (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_record_is_replaying (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->record_is_replaying (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->record_is_replaying (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->record_is_replaying (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static int
-delegate_record_will_replay (struct target_ops *self, ptid_t arg1, int arg2)
+bool
+target_ops::record_will_replay (ptid_t arg0, int arg1)
 {
-  self = self->beneath;
-  return self->to_record_will_replay (self, arg1, arg2);
+  return this->beneath ()->record_will_replay (arg0, arg1);
 }
 
-static int
-tdefault_record_will_replay (struct target_ops *self, ptid_t arg1, int arg2)
+bool
+dummy_target::record_will_replay (ptid_t arg0, int arg1)
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_record_will_replay (struct target_ops *self, ptid_t arg1, int arg2)
+bool
+debug_target::record_will_replay (ptid_t arg0, int arg1)
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_record_will_replay (...)\n", debug_target.to_shortname);
-  result = debug_target.to_record_will_replay (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_record_will_replay (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ptid_t (arg1);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->record_will_replay (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->record_will_replay (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->record_will_replay (", this->beneath ()->shortname ());
+  target_debug_print_ptid_t (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_record_stop_replaying (struct target_ops *self)
+void
+target_ops::record_stop_replaying ()
 {
-  self = self->beneath;
-  self->to_record_stop_replaying (self);
+  this->beneath ()->record_stop_replaying ();
 }
 
-static void
-tdefault_record_stop_replaying (struct target_ops *self)
+void
+dummy_target::record_stop_replaying ()
 {
 }
 
-static void
-debug_record_stop_replaying (struct target_ops *self)
+void
+debug_target::record_stop_replaying ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_record_stop_replaying (...)\n", debug_target.to_shortname);
-  debug_target.to_record_stop_replaying (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_record_stop_replaying (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->record_stop_replaying (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->record_stop_replaying ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->record_stop_replaying (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_goto_record_begin (struct target_ops *self)
+void
+target_ops::goto_record_begin ()
 {
-  self = self->beneath;
-  self->to_goto_record_begin (self);
+  this->beneath ()->goto_record_begin ();
 }
 
-static void
-tdefault_goto_record_begin (struct target_ops *self)
+void
+dummy_target::goto_record_begin ()
 {
   tcomplain ();
 }
 
-static void
-debug_goto_record_begin (struct target_ops *self)
+void
+debug_target::goto_record_begin ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record_begin (...)\n", debug_target.to_shortname);
-  debug_target.to_goto_record_begin (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record_begin (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->goto_record_begin (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->goto_record_begin ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->goto_record_begin (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_goto_record_end (struct target_ops *self)
+void
+target_ops::goto_record_end ()
 {
-  self = self->beneath;
-  self->to_goto_record_end (self);
+  this->beneath ()->goto_record_end ();
 }
 
-static void
-tdefault_goto_record_end (struct target_ops *self)
+void
+dummy_target::goto_record_end ()
 {
   tcomplain ();
 }
 
-static void
-debug_goto_record_end (struct target_ops *self)
+void
+debug_target::goto_record_end ()
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record_end (...)\n", debug_target.to_shortname);
-  debug_target.to_goto_record_end (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record_end (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->goto_record_end (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->goto_record_end ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->goto_record_end (", this->beneath ()->shortname ());
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_goto_record (struct target_ops *self, ULONGEST arg1)
+void
+target_ops::goto_record (ULONGEST arg0)
 {
-  self = self->beneath;
-  self->to_goto_record (self, arg1);
+  this->beneath ()->goto_record (arg0);
 }
 
-static void
-tdefault_goto_record (struct target_ops *self, ULONGEST arg1)
+void
+dummy_target::goto_record (ULONGEST arg0)
 {
   tcomplain ();
 }
 
-static void
-debug_goto_record (struct target_ops *self, ULONGEST arg1)
+void
+debug_target::goto_record (ULONGEST arg0)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record (...)\n", debug_target.to_shortname);
-  debug_target.to_goto_record (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->goto_record (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->goto_record (arg0);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->goto_record (", this->beneath ()->shortname ());
+  target_debug_print_ULONGEST (arg0);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_insn_history (struct target_ops *self, int arg1, gdb_disassembly_flags arg2)
+void
+target_ops::insn_history (int arg0, gdb_disassembly_flags arg1)
 {
-  self = self->beneath;
-  self->to_insn_history (self, arg1, arg2);
+  this->beneath ()->insn_history (arg0, arg1);
 }
 
-static void
-tdefault_insn_history (struct target_ops *self, int arg1, gdb_disassembly_flags arg2)
+void
+dummy_target::insn_history (int arg0, gdb_disassembly_flags arg1)
 {
   tcomplain ();
 }
 
-static void
-debug_insn_history (struct target_ops *self, int arg1, gdb_disassembly_flags arg2)
+void
+debug_target::insn_history (int arg0, gdb_disassembly_flags arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history (...)\n", debug_target.to_shortname);
-  debug_target.to_insn_history (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->insn_history (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->insn_history (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->insn_history (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_gdb_disassembly_flags (arg2);
+  target_debug_print_gdb_disassembly_flags (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, gdb_disassembly_flags arg3)
+void
+target_ops::insn_history_from (ULONGEST arg0, int arg1, gdb_disassembly_flags arg2)
 {
-  self = self->beneath;
-  self->to_insn_history_from (self, arg1, arg2, arg3);
+  this->beneath ()->insn_history_from (arg0, arg1, arg2);
 }
 
-static void
-tdefault_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, gdb_disassembly_flags arg3)
+void
+dummy_target::insn_history_from (ULONGEST arg0, int arg1, gdb_disassembly_flags arg2)
 {
   tcomplain ();
 }
 
-static void
-debug_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, gdb_disassembly_flags arg3)
+void
+debug_target::insn_history_from (ULONGEST arg0, int arg1, gdb_disassembly_flags arg2)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history_from (...)\n", debug_target.to_shortname);
-  debug_target.to_insn_history_from (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history_from (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->insn_history_from (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->insn_history_from (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->insn_history_from (", this->beneath ()->shortname ());
+  target_debug_print_ULONGEST (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_gdb_disassembly_flags (arg3);
+  target_debug_print_gdb_disassembly_flags (arg2);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, gdb_disassembly_flags arg3)
+void
+target_ops::insn_history_range (ULONGEST arg0, ULONGEST arg1, gdb_disassembly_flags arg2)
 {
-  self = self->beneath;
-  self->to_insn_history_range (self, arg1, arg2, arg3);
+  this->beneath ()->insn_history_range (arg0, arg1, arg2);
 }
 
-static void
-tdefault_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, gdb_disassembly_flags arg3)
+void
+dummy_target::insn_history_range (ULONGEST arg0, ULONGEST arg1, gdb_disassembly_flags arg2)
 {
   tcomplain ();
 }
 
-static void
-debug_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, gdb_disassembly_flags arg3)
+void
+debug_target::insn_history_range (ULONGEST arg0, ULONGEST arg1, gdb_disassembly_flags arg2)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history_range (...)\n", debug_target.to_shortname);
-  debug_target.to_insn_history_range (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history_range (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->insn_history_range (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->insn_history_range (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->insn_history_range (", this->beneath ()->shortname ());
+  target_debug_print_ULONGEST (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_ULONGEST (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_gdb_disassembly_flags (arg3);
+  target_debug_print_gdb_disassembly_flags (arg2);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_call_history (struct target_ops *self, int arg1, int arg2)
+void
+target_ops::call_history (int arg0, record_print_flags arg1)
 {
-  self = self->beneath;
-  self->to_call_history (self, arg1, arg2);
+  this->beneath ()->call_history (arg0, arg1);
 }
 
-static void
-tdefault_call_history (struct target_ops *self, int arg1, int arg2)
+void
+dummy_target::call_history (int arg0, record_print_flags arg1)
 {
   tcomplain ();
 }
 
-static void
-debug_call_history (struct target_ops *self, int arg1, int arg2)
+void
+debug_target::call_history (int arg0, record_print_flags arg1)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history (...)\n", debug_target.to_shortname);
-  debug_target.to_call_history (&debug_target, arg1, arg2);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->call_history (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->call_history (arg0, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->call_history (", this->beneath ()->shortname ());
+  target_debug_print_int (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg1);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_record_print_flags (arg1);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
+void
+target_ops::call_history_from (ULONGEST arg0, int arg1, record_print_flags arg2)
 {
-  self = self->beneath;
-  self->to_call_history_from (self, arg1, arg2, arg3);
+  this->beneath ()->call_history_from (arg0, arg1, arg2);
 }
 
-static void
-tdefault_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
+void
+dummy_target::call_history_from (ULONGEST arg0, int arg1, record_print_flags arg2)
 {
   tcomplain ();
 }
 
-static void
-debug_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
+void
+debug_target::call_history_from (ULONGEST arg0, int arg1, record_print_flags arg2)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history_from (...)\n", debug_target.to_shortname);
-  debug_target.to_call_history_from (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history_from (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST (arg1);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->call_history_from (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->call_history_from (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->call_history_from (", this->beneath ()->shortname ());
+  target_debug_print_ULONGEST (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg2);
+  target_debug_print_int (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg3);
+  target_debug_print_record_print_flags (arg2);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static void
-delegate_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
+void
+target_ops::call_history_range (ULONGEST arg0, ULONGEST arg1, record_print_flags arg2)
 {
-  self = self->beneath;
-  self->to_call_history_range (self, arg1, arg2, arg3);
+  this->beneath ()->call_history_range (arg0, arg1, arg2);
 }
 
-static void
-tdefault_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
+void
+dummy_target::call_history_range (ULONGEST arg0, ULONGEST arg1, record_print_flags arg2)
 {
   tcomplain ();
 }
 
-static void
-debug_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
+void
+debug_target::call_history_range (ULONGEST arg0, ULONGEST arg1, record_print_flags arg2)
 {
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history_range (...)\n", debug_target.to_shortname);
-  debug_target.to_call_history_range (&debug_target, arg1, arg2, arg3);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history_range (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->call_history_range (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->call_history_range (arg0, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->call_history_range (", this->beneath ()->shortname ());
+  target_debug_print_ULONGEST (arg0);
   fputs_unfiltered (", ", gdb_stdlog);
   target_debug_print_ULONGEST (arg1);
   fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_ULONGEST (arg2);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_int (arg3);
+  target_debug_print_record_print_flags (arg2);
   fputs_unfiltered (")\n", gdb_stdlog);
 }
 
-static int
-delegate_augmented_libraries_svr4_read (struct target_ops *self)
+bool
+target_ops::augmented_libraries_svr4_read ()
 {
-  self = self->beneath;
-  return self->to_augmented_libraries_svr4_read (self);
+  return this->beneath ()->augmented_libraries_svr4_read ();
 }
 
-static int
-tdefault_augmented_libraries_svr4_read (struct target_ops *self)
+bool
+dummy_target::augmented_libraries_svr4_read ()
 {
-  return 0;
+  return false;
 }
 
-static int
-debug_augmented_libraries_svr4_read (struct target_ops *self)
+bool
+debug_target::augmented_libraries_svr4_read ()
 {
-  int result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_augmented_libraries_svr4_read (...)\n", debug_target.to_shortname);
-  result = debug_target.to_augmented_libraries_svr4_read (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_augmented_libraries_svr4_read (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  bool result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->augmented_libraries_svr4_read (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->augmented_libraries_svr4_read ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->augmented_libraries_svr4_read (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_int (result);
+  target_debug_print_bool (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static const struct frame_unwind *
-delegate_get_unwinder (struct target_ops *self)
+const struct frame_unwind *
+target_ops::get_unwinder ()
 {
-  self = self->beneath;
-  return self->to_get_unwinder (self);
+  return this->beneath ()->get_unwinder ();
 }
 
-static const struct frame_unwind *
-tdefault_get_unwinder (struct target_ops *self)
+const struct frame_unwind *
+dummy_target::get_unwinder ()
 {
   return NULL;
 }
 
-static const struct frame_unwind *
-debug_get_unwinder (struct target_ops *self)
+const struct frame_unwind *
+debug_target::get_unwinder ()
 {
   const struct frame_unwind * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_unwinder (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_unwinder (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_unwinder (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_unwinder (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_unwinder ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_unwinder (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_const_struct_frame_unwind_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static const struct frame_unwind *
-delegate_get_tailcall_unwinder (struct target_ops *self)
+const struct frame_unwind *
+target_ops::get_tailcall_unwinder ()
 {
-  self = self->beneath;
-  return self->to_get_tailcall_unwinder (self);
+  return this->beneath ()->get_tailcall_unwinder ();
 }
 
-static const struct frame_unwind *
-tdefault_get_tailcall_unwinder (struct target_ops *self)
+const struct frame_unwind *
+dummy_target::get_tailcall_unwinder ()
 {
   return NULL;
 }
 
-static const struct frame_unwind *
-debug_get_tailcall_unwinder (struct target_ops *self)
+const struct frame_unwind *
+debug_target::get_tailcall_unwinder ()
 {
   const struct frame_unwind * result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tailcall_unwinder (...)\n", debug_target.to_shortname);
-  result = debug_target.to_get_tailcall_unwinder (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tailcall_unwinder (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->get_tailcall_unwinder (...)\n", this->beneath ()->shortname ());
+  result = this->beneath ()->get_tailcall_unwinder ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->get_tailcall_unwinder (", this->beneath ()->shortname ());
   fputs_unfiltered (") = ", gdb_stdlog);
   target_debug_print_const_struct_frame_unwind_p (result);
   fputs_unfiltered ("\n", gdb_stdlog);
   return result;
 }
 
-static void
-delegate_prepare_to_generate_core (struct target_ops *self)
+void
+target_ops::prepare_to_generate_core ()
 {
-  self = self->beneath;
-  self->to_prepare_to_generate_core (self);
+  this->beneath ()->prepare_to_generate_core ();
 }
 
-static void
-tdefault_prepare_to_generate_core (struct target_ops *self)
-{
-}
-
-static void
-debug_prepare_to_generate_core (struct target_ops *self)
-{
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_prepare_to_generate_core (...)\n", debug_target.to_shortname);
-  debug_target.to_prepare_to_generate_core (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_prepare_to_generate_core (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (")\n", gdb_stdlog);
-}
-
-static void
-delegate_done_generating_core (struct target_ops *self)
-{
-  self = self->beneath;
-  self->to_done_generating_core (self);
-}
-
-static void
-tdefault_done_generating_core (struct target_ops *self)
-{
-}
-
-static void
-debug_done_generating_core (struct target_ops *self)
-{
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_done_generating_core (...)\n", debug_target.to_shortname);
-  debug_target.to_done_generating_core (&debug_target);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_done_generating_core (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (")\n", gdb_stdlog);
-}
-
-static void
-install_delegators (struct target_ops *ops)
-{
-  if (ops->to_post_attach == NULL)
-    ops->to_post_attach = delegate_post_attach;
-  if (ops->to_detach == NULL)
-    ops->to_detach = delegate_detach;
-  if (ops->to_disconnect == NULL)
-    ops->to_disconnect = delegate_disconnect;
-  if (ops->to_resume == NULL)
-    ops->to_resume = delegate_resume;
-  if (ops->to_commit_resume == NULL)
-    ops->to_commit_resume = delegate_commit_resume;
-  if (ops->to_wait == NULL)
-    ops->to_wait = delegate_wait;
-  if (ops->to_fetch_registers == NULL)
-    ops->to_fetch_registers = delegate_fetch_registers;
-  if (ops->to_store_registers == NULL)
-    ops->to_store_registers = delegate_store_registers;
-  if (ops->to_prepare_to_store == NULL)
-    ops->to_prepare_to_store = delegate_prepare_to_store;
-  if (ops->to_files_info == NULL)
-    ops->to_files_info = delegate_files_info;
-  if (ops->to_insert_breakpoint == NULL)
-    ops->to_insert_breakpoint = delegate_insert_breakpoint;
-  if (ops->to_remove_breakpoint == NULL)
-    ops->to_remove_breakpoint = delegate_remove_breakpoint;
-  if (ops->to_stopped_by_sw_breakpoint == NULL)
-    ops->to_stopped_by_sw_breakpoint = delegate_stopped_by_sw_breakpoint;
-  if (ops->to_supports_stopped_by_sw_breakpoint == NULL)
-    ops->to_supports_stopped_by_sw_breakpoint = delegate_supports_stopped_by_sw_breakpoint;
-  if (ops->to_stopped_by_hw_breakpoint == NULL)
-    ops->to_stopped_by_hw_breakpoint = delegate_stopped_by_hw_breakpoint;
-  if (ops->to_supports_stopped_by_hw_breakpoint == NULL)
-    ops->to_supports_stopped_by_hw_breakpoint = delegate_supports_stopped_by_hw_breakpoint;
-  if (ops->to_can_use_hw_breakpoint == NULL)
-    ops->to_can_use_hw_breakpoint = delegate_can_use_hw_breakpoint;
-  if (ops->to_ranged_break_num_registers == NULL)
-    ops->to_ranged_break_num_registers = delegate_ranged_break_num_registers;
-  if (ops->to_insert_hw_breakpoint == NULL)
-    ops->to_insert_hw_breakpoint = delegate_insert_hw_breakpoint;
-  if (ops->to_remove_hw_breakpoint == NULL)
-    ops->to_remove_hw_breakpoint = delegate_remove_hw_breakpoint;
-  if (ops->to_remove_watchpoint == NULL)
-    ops->to_remove_watchpoint = delegate_remove_watchpoint;
-  if (ops->to_insert_watchpoint == NULL)
-    ops->to_insert_watchpoint = delegate_insert_watchpoint;
-  if (ops->to_insert_mask_watchpoint == NULL)
-    ops->to_insert_mask_watchpoint = delegate_insert_mask_watchpoint;
-  if (ops->to_remove_mask_watchpoint == NULL)
-    ops->to_remove_mask_watchpoint = delegate_remove_mask_watchpoint;
-  if (ops->to_stopped_by_watchpoint == NULL)
-    ops->to_stopped_by_watchpoint = delegate_stopped_by_watchpoint;
-  if (ops->to_stopped_data_address == NULL)
-    ops->to_stopped_data_address = delegate_stopped_data_address;
-  if (ops->to_watchpoint_addr_within_range == NULL)
-    ops->to_watchpoint_addr_within_range = delegate_watchpoint_addr_within_range;
-  if (ops->to_region_ok_for_hw_watchpoint == NULL)
-    ops->to_region_ok_for_hw_watchpoint = delegate_region_ok_for_hw_watchpoint;
-  if (ops->to_can_accel_watchpoint_condition == NULL)
-    ops->to_can_accel_watchpoint_condition = delegate_can_accel_watchpoint_condition;
-  if (ops->to_masked_watch_num_registers == NULL)
-    ops->to_masked_watch_num_registers = delegate_masked_watch_num_registers;
-  if (ops->to_can_do_single_step == NULL)
-    ops->to_can_do_single_step = delegate_can_do_single_step;
-  if (ops->to_terminal_init == NULL)
-    ops->to_terminal_init = delegate_terminal_init;
-  if (ops->to_terminal_inferior == NULL)
-    ops->to_terminal_inferior = delegate_terminal_inferior;
-  if (ops->to_terminal_ours_for_output == NULL)
-    ops->to_terminal_ours_for_output = delegate_terminal_ours_for_output;
-  if (ops->to_terminal_ours == NULL)
-    ops->to_terminal_ours = delegate_terminal_ours;
-  if (ops->to_terminal_info == NULL)
-    ops->to_terminal_info = delegate_terminal_info;
-  if (ops->to_kill == NULL)
-    ops->to_kill = delegate_kill;
-  if (ops->to_load == NULL)
-    ops->to_load = delegate_load;
-  if (ops->to_post_startup_inferior == NULL)
-    ops->to_post_startup_inferior = delegate_post_startup_inferior;
-  if (ops->to_insert_fork_catchpoint == NULL)
-    ops->to_insert_fork_catchpoint = delegate_insert_fork_catchpoint;
-  if (ops->to_remove_fork_catchpoint == NULL)
-    ops->to_remove_fork_catchpoint = delegate_remove_fork_catchpoint;
-  if (ops->to_insert_vfork_catchpoint == NULL)
-    ops->to_insert_vfork_catchpoint = delegate_insert_vfork_catchpoint;
-  if (ops->to_remove_vfork_catchpoint == NULL)
-    ops->to_remove_vfork_catchpoint = delegate_remove_vfork_catchpoint;
-  if (ops->to_follow_fork == NULL)
-    ops->to_follow_fork = delegate_follow_fork;
-  if (ops->to_insert_exec_catchpoint == NULL)
-    ops->to_insert_exec_catchpoint = delegate_insert_exec_catchpoint;
-  if (ops->to_remove_exec_catchpoint == NULL)
-    ops->to_remove_exec_catchpoint = delegate_remove_exec_catchpoint;
-  if (ops->to_follow_exec == NULL)
-    ops->to_follow_exec = delegate_follow_exec;
-  if (ops->to_set_syscall_catchpoint == NULL)
-    ops->to_set_syscall_catchpoint = delegate_set_syscall_catchpoint;
-  if (ops->to_has_exited == NULL)
-    ops->to_has_exited = delegate_has_exited;
-  if (ops->to_mourn_inferior == NULL)
-    ops->to_mourn_inferior = delegate_mourn_inferior;
-  if (ops->to_can_run == NULL)
-    ops->to_can_run = delegate_can_run;
-  if (ops->to_pass_signals == NULL)
-    ops->to_pass_signals = delegate_pass_signals;
-  if (ops->to_program_signals == NULL)
-    ops->to_program_signals = delegate_program_signals;
-  if (ops->to_thread_alive == NULL)
-    ops->to_thread_alive = delegate_thread_alive;
-  if (ops->to_update_thread_list == NULL)
-    ops->to_update_thread_list = delegate_update_thread_list;
-  if (ops->to_pid_to_str == NULL)
-    ops->to_pid_to_str = delegate_pid_to_str;
-  if (ops->to_extra_thread_info == NULL)
-    ops->to_extra_thread_info = delegate_extra_thread_info;
-  if (ops->to_thread_name == NULL)
-    ops->to_thread_name = delegate_thread_name;
-  if (ops->to_thread_handle_to_thread_info == NULL)
-    ops->to_thread_handle_to_thread_info = delegate_thread_handle_to_thread_info;
-  if (ops->to_stop == NULL)
-    ops->to_stop = delegate_stop;
-  if (ops->to_interrupt == NULL)
-    ops->to_interrupt = delegate_interrupt;
-  if (ops->to_pass_ctrlc == NULL)
-    ops->to_pass_ctrlc = delegate_pass_ctrlc;
-  if (ops->to_rcmd == NULL)
-    ops->to_rcmd = delegate_rcmd;
-  if (ops->to_pid_to_exec_file == NULL)
-    ops->to_pid_to_exec_file = delegate_pid_to_exec_file;
-  if (ops->to_log_command == NULL)
-    ops->to_log_command = delegate_log_command;
-  if (ops->to_get_section_table == NULL)
-    ops->to_get_section_table = delegate_get_section_table;
-  if (ops->to_can_async_p == NULL)
-    ops->to_can_async_p = delegate_can_async_p;
-  if (ops->to_is_async_p == NULL)
-    ops->to_is_async_p = delegate_is_async_p;
-  if (ops->to_async == NULL)
-    ops->to_async = delegate_async;
-  if (ops->to_thread_events == NULL)
-    ops->to_thread_events = delegate_thread_events;
-  if (ops->to_supports_non_stop == NULL)
-    ops->to_supports_non_stop = delegate_supports_non_stop;
-  if (ops->to_always_non_stop_p == NULL)
-    ops->to_always_non_stop_p = delegate_always_non_stop_p;
-  if (ops->to_find_memory_regions == NULL)
-    ops->to_find_memory_regions = delegate_find_memory_regions;
-  if (ops->to_make_corefile_notes == NULL)
-    ops->to_make_corefile_notes = delegate_make_corefile_notes;
-  if (ops->to_get_bookmark == NULL)
-    ops->to_get_bookmark = delegate_get_bookmark;
-  if (ops->to_goto_bookmark == NULL)
-    ops->to_goto_bookmark = delegate_goto_bookmark;
-  if (ops->to_get_thread_local_address == NULL)
-    ops->to_get_thread_local_address = delegate_get_thread_local_address;
-  if (ops->to_xfer_partial == NULL)
-    ops->to_xfer_partial = delegate_xfer_partial;
-  if (ops->to_get_memory_xfer_limit == NULL)
-    ops->to_get_memory_xfer_limit = delegate_get_memory_xfer_limit;
-  if (ops->to_memory_map == NULL)
-    ops->to_memory_map = delegate_memory_map;
-  if (ops->to_flash_erase == NULL)
-    ops->to_flash_erase = delegate_flash_erase;
-  if (ops->to_flash_done == NULL)
-    ops->to_flash_done = delegate_flash_done;
-  if (ops->to_read_description == NULL)
-    ops->to_read_description = delegate_read_description;
-  if (ops->to_get_ada_task_ptid == NULL)
-    ops->to_get_ada_task_ptid = delegate_get_ada_task_ptid;
-  if (ops->to_auxv_parse == NULL)
-    ops->to_auxv_parse = delegate_auxv_parse;
-  if (ops->to_search_memory == NULL)
-    ops->to_search_memory = delegate_search_memory;
-  if (ops->to_can_execute_reverse == NULL)
-    ops->to_can_execute_reverse = delegate_can_execute_reverse;
-  if (ops->to_execution_direction == NULL)
-    ops->to_execution_direction = delegate_execution_direction;
-  if (ops->to_supports_multi_process == NULL)
-    ops->to_supports_multi_process = delegate_supports_multi_process;
-  if (ops->to_supports_enable_disable_tracepoint == NULL)
-    ops->to_supports_enable_disable_tracepoint = delegate_supports_enable_disable_tracepoint;
-  if (ops->to_supports_string_tracing == NULL)
-    ops->to_supports_string_tracing = delegate_supports_string_tracing;
-  if (ops->to_supports_evaluation_of_breakpoint_conditions == NULL)
-    ops->to_supports_evaluation_of_breakpoint_conditions = delegate_supports_evaluation_of_breakpoint_conditions;
-  if (ops->to_can_run_breakpoint_commands == NULL)
-    ops->to_can_run_breakpoint_commands = delegate_can_run_breakpoint_commands;
-  if (ops->to_thread_architecture == NULL)
-    ops->to_thread_architecture = delegate_thread_architecture;
-  if (ops->to_thread_address_space == NULL)
-    ops->to_thread_address_space = delegate_thread_address_space;
-  if (ops->to_filesystem_is_local == NULL)
-    ops->to_filesystem_is_local = delegate_filesystem_is_local;
-  if (ops->to_trace_init == NULL)
-    ops->to_trace_init = delegate_trace_init;
-  if (ops->to_download_tracepoint == NULL)
-    ops->to_download_tracepoint = delegate_download_tracepoint;
-  if (ops->to_can_download_tracepoint == NULL)
-    ops->to_can_download_tracepoint = delegate_can_download_tracepoint;
-  if (ops->to_download_trace_state_variable == NULL)
-    ops->to_download_trace_state_variable = delegate_download_trace_state_variable;
-  if (ops->to_enable_tracepoint == NULL)
-    ops->to_enable_tracepoint = delegate_enable_tracepoint;
-  if (ops->to_disable_tracepoint == NULL)
-    ops->to_disable_tracepoint = delegate_disable_tracepoint;
-  if (ops->to_trace_set_readonly_regions == NULL)
-    ops->to_trace_set_readonly_regions = delegate_trace_set_readonly_regions;
-  if (ops->to_trace_start == NULL)
-    ops->to_trace_start = delegate_trace_start;
-  if (ops->to_get_trace_status == NULL)
-    ops->to_get_trace_status = delegate_get_trace_status;
-  if (ops->to_get_tracepoint_status == NULL)
-    ops->to_get_tracepoint_status = delegate_get_tracepoint_status;
-  if (ops->to_trace_stop == NULL)
-    ops->to_trace_stop = delegate_trace_stop;
-  if (ops->to_trace_find == NULL)
-    ops->to_trace_find = delegate_trace_find;
-  if (ops->to_get_trace_state_variable_value == NULL)
-    ops->to_get_trace_state_variable_value = delegate_get_trace_state_variable_value;
-  if (ops->to_save_trace_data == NULL)
-    ops->to_save_trace_data = delegate_save_trace_data;
-  if (ops->to_upload_tracepoints == NULL)
-    ops->to_upload_tracepoints = delegate_upload_tracepoints;
-  if (ops->to_upload_trace_state_variables == NULL)
-    ops->to_upload_trace_state_variables = delegate_upload_trace_state_variables;
-  if (ops->to_get_raw_trace_data == NULL)
-    ops->to_get_raw_trace_data = delegate_get_raw_trace_data;
-  if (ops->to_get_min_fast_tracepoint_insn_len == NULL)
-    ops->to_get_min_fast_tracepoint_insn_len = delegate_get_min_fast_tracepoint_insn_len;
-  if (ops->to_set_disconnected_tracing == NULL)
-    ops->to_set_disconnected_tracing = delegate_set_disconnected_tracing;
-  if (ops->to_set_circular_trace_buffer == NULL)
-    ops->to_set_circular_trace_buffer = delegate_set_circular_trace_buffer;
-  if (ops->to_set_trace_buffer_size == NULL)
-    ops->to_set_trace_buffer_size = delegate_set_trace_buffer_size;
-  if (ops->to_set_trace_notes == NULL)
-    ops->to_set_trace_notes = delegate_set_trace_notes;
-  if (ops->to_core_of_thread == NULL)
-    ops->to_core_of_thread = delegate_core_of_thread;
-  if (ops->to_verify_memory == NULL)
-    ops->to_verify_memory = delegate_verify_memory;
-  if (ops->to_get_tib_address == NULL)
-    ops->to_get_tib_address = delegate_get_tib_address;
-  if (ops->to_set_permissions == NULL)
-    ops->to_set_permissions = delegate_set_permissions;
-  if (ops->to_static_tracepoint_marker_at == NULL)
-    ops->to_static_tracepoint_marker_at = delegate_static_tracepoint_marker_at;
-  if (ops->to_static_tracepoint_markers_by_strid == NULL)
-    ops->to_static_tracepoint_markers_by_strid = delegate_static_tracepoint_markers_by_strid;
-  if (ops->to_traceframe_info == NULL)
-    ops->to_traceframe_info = delegate_traceframe_info;
-  if (ops->to_use_agent == NULL)
-    ops->to_use_agent = delegate_use_agent;
-  if (ops->to_can_use_agent == NULL)
-    ops->to_can_use_agent = delegate_can_use_agent;
-  if (ops->to_supports_btrace == NULL)
-    ops->to_supports_btrace = delegate_supports_btrace;
-  if (ops->to_enable_btrace == NULL)
-    ops->to_enable_btrace = delegate_enable_btrace;
-  if (ops->to_disable_btrace == NULL)
-    ops->to_disable_btrace = delegate_disable_btrace;
-  if (ops->to_teardown_btrace == NULL)
-    ops->to_teardown_btrace = delegate_teardown_btrace;
-  if (ops->to_read_btrace == NULL)
-    ops->to_read_btrace = delegate_read_btrace;
-  if (ops->to_btrace_conf == NULL)
-    ops->to_btrace_conf = delegate_btrace_conf;
-  if (ops->to_record_method == NULL)
-    ops->to_record_method = delegate_record_method;
-  if (ops->to_stop_recording == NULL)
-    ops->to_stop_recording = delegate_stop_recording;
-  if (ops->to_info_record == NULL)
-    ops->to_info_record = delegate_info_record;
-  if (ops->to_save_record == NULL)
-    ops->to_save_record = delegate_save_record;
-  if (ops->to_delete_record == NULL)
-    ops->to_delete_record = delegate_delete_record;
-  if (ops->to_record_is_replaying == NULL)
-    ops->to_record_is_replaying = delegate_record_is_replaying;
-  if (ops->to_record_will_replay == NULL)
-    ops->to_record_will_replay = delegate_record_will_replay;
-  if (ops->to_record_stop_replaying == NULL)
-    ops->to_record_stop_replaying = delegate_record_stop_replaying;
-  if (ops->to_goto_record_begin == NULL)
-    ops->to_goto_record_begin = delegate_goto_record_begin;
-  if (ops->to_goto_record_end == NULL)
-    ops->to_goto_record_end = delegate_goto_record_end;
-  if (ops->to_goto_record == NULL)
-    ops->to_goto_record = delegate_goto_record;
-  if (ops->to_insn_history == NULL)
-    ops->to_insn_history = delegate_insn_history;
-  if (ops->to_insn_history_from == NULL)
-    ops->to_insn_history_from = delegate_insn_history_from;
-  if (ops->to_insn_history_range == NULL)
-    ops->to_insn_history_range = delegate_insn_history_range;
-  if (ops->to_call_history == NULL)
-    ops->to_call_history = delegate_call_history;
-  if (ops->to_call_history_from == NULL)
-    ops->to_call_history_from = delegate_call_history_from;
-  if (ops->to_call_history_range == NULL)
-    ops->to_call_history_range = delegate_call_history_range;
-  if (ops->to_augmented_libraries_svr4_read == NULL)
-    ops->to_augmented_libraries_svr4_read = delegate_augmented_libraries_svr4_read;
-  if (ops->to_get_unwinder == NULL)
-    ops->to_get_unwinder = delegate_get_unwinder;
-  if (ops->to_get_tailcall_unwinder == NULL)
-    ops->to_get_tailcall_unwinder = delegate_get_tailcall_unwinder;
-  if (ops->to_prepare_to_generate_core == NULL)
-    ops->to_prepare_to_generate_core = delegate_prepare_to_generate_core;
-  if (ops->to_done_generating_core == NULL)
-    ops->to_done_generating_core = delegate_done_generating_core;
-}
-
-static void
-install_dummy_methods (struct target_ops *ops)
-{
-  ops->to_post_attach = tdefault_post_attach;
-  ops->to_detach = tdefault_detach;
-  ops->to_disconnect = tdefault_disconnect;
-  ops->to_resume = tdefault_resume;
-  ops->to_commit_resume = tdefault_commit_resume;
-  ops->to_wait = default_target_wait;
-  ops->to_fetch_registers = tdefault_fetch_registers;
-  ops->to_store_registers = tdefault_store_registers;
-  ops->to_prepare_to_store = tdefault_prepare_to_store;
-  ops->to_files_info = tdefault_files_info;
-  ops->to_insert_breakpoint = memory_insert_breakpoint;
-  ops->to_remove_breakpoint = memory_remove_breakpoint;
-  ops->to_stopped_by_sw_breakpoint = tdefault_stopped_by_sw_breakpoint;
-  ops->to_supports_stopped_by_sw_breakpoint = tdefault_supports_stopped_by_sw_breakpoint;
-  ops->to_stopped_by_hw_breakpoint = tdefault_stopped_by_hw_breakpoint;
-  ops->to_supports_stopped_by_hw_breakpoint = tdefault_supports_stopped_by_hw_breakpoint;
-  ops->to_can_use_hw_breakpoint = tdefault_can_use_hw_breakpoint;
-  ops->to_ranged_break_num_registers = tdefault_ranged_break_num_registers;
-  ops->to_insert_hw_breakpoint = tdefault_insert_hw_breakpoint;
-  ops->to_remove_hw_breakpoint = tdefault_remove_hw_breakpoint;
-  ops->to_remove_watchpoint = tdefault_remove_watchpoint;
-  ops->to_insert_watchpoint = tdefault_insert_watchpoint;
-  ops->to_insert_mask_watchpoint = tdefault_insert_mask_watchpoint;
-  ops->to_remove_mask_watchpoint = tdefault_remove_mask_watchpoint;
-  ops->to_stopped_by_watchpoint = tdefault_stopped_by_watchpoint;
-  ops->to_stopped_data_address = tdefault_stopped_data_address;
-  ops->to_watchpoint_addr_within_range = default_watchpoint_addr_within_range;
-  ops->to_region_ok_for_hw_watchpoint = default_region_ok_for_hw_watchpoint;
-  ops->to_can_accel_watchpoint_condition = tdefault_can_accel_watchpoint_condition;
-  ops->to_masked_watch_num_registers = tdefault_masked_watch_num_registers;
-  ops->to_can_do_single_step = tdefault_can_do_single_step;
-  ops->to_terminal_init = tdefault_terminal_init;
-  ops->to_terminal_inferior = tdefault_terminal_inferior;
-  ops->to_terminal_ours_for_output = tdefault_terminal_ours_for_output;
-  ops->to_terminal_ours = tdefault_terminal_ours;
-  ops->to_terminal_info = default_terminal_info;
-  ops->to_kill = tdefault_kill;
-  ops->to_load = tdefault_load;
-  ops->to_post_startup_inferior = tdefault_post_startup_inferior;
-  ops->to_insert_fork_catchpoint = tdefault_insert_fork_catchpoint;
-  ops->to_remove_fork_catchpoint = tdefault_remove_fork_catchpoint;
-  ops->to_insert_vfork_catchpoint = tdefault_insert_vfork_catchpoint;
-  ops->to_remove_vfork_catchpoint = tdefault_remove_vfork_catchpoint;
-  ops->to_follow_fork = default_follow_fork;
-  ops->to_insert_exec_catchpoint = tdefault_insert_exec_catchpoint;
-  ops->to_remove_exec_catchpoint = tdefault_remove_exec_catchpoint;
-  ops->to_follow_exec = tdefault_follow_exec;
-  ops->to_set_syscall_catchpoint = tdefault_set_syscall_catchpoint;
-  ops->to_has_exited = tdefault_has_exited;
-  ops->to_mourn_inferior = default_mourn_inferior;
-  ops->to_can_run = tdefault_can_run;
-  ops->to_pass_signals = tdefault_pass_signals;
-  ops->to_program_signals = tdefault_program_signals;
-  ops->to_thread_alive = tdefault_thread_alive;
-  ops->to_update_thread_list = tdefault_update_thread_list;
-  ops->to_pid_to_str = default_pid_to_str;
-  ops->to_extra_thread_info = tdefault_extra_thread_info;
-  ops->to_thread_name = tdefault_thread_name;
-  ops->to_thread_handle_to_thread_info = tdefault_thread_handle_to_thread_info;
-  ops->to_stop = tdefault_stop;
-  ops->to_interrupt = tdefault_interrupt;
-  ops->to_pass_ctrlc = default_target_pass_ctrlc;
-  ops->to_rcmd = default_rcmd;
-  ops->to_pid_to_exec_file = tdefault_pid_to_exec_file;
-  ops->to_log_command = tdefault_log_command;
-  ops->to_get_section_table = tdefault_get_section_table;
-  ops->to_can_async_p = tdefault_can_async_p;
-  ops->to_is_async_p = tdefault_is_async_p;
-  ops->to_async = tdefault_async;
-  ops->to_thread_events = tdefault_thread_events;
-  ops->to_supports_non_stop = tdefault_supports_non_stop;
-  ops->to_always_non_stop_p = tdefault_always_non_stop_p;
-  ops->to_find_memory_regions = dummy_find_memory_regions;
-  ops->to_make_corefile_notes = dummy_make_corefile_notes;
-  ops->to_get_bookmark = tdefault_get_bookmark;
-  ops->to_goto_bookmark = tdefault_goto_bookmark;
-  ops->to_get_thread_local_address = tdefault_get_thread_local_address;
-  ops->to_xfer_partial = tdefault_xfer_partial;
-  ops->to_get_memory_xfer_limit = tdefault_get_memory_xfer_limit;
-  ops->to_memory_map = tdefault_memory_map;
-  ops->to_flash_erase = tdefault_flash_erase;
-  ops->to_flash_done = tdefault_flash_done;
-  ops->to_read_description = tdefault_read_description;
-  ops->to_get_ada_task_ptid = default_get_ada_task_ptid;
-  ops->to_auxv_parse = default_auxv_parse;
-  ops->to_search_memory = default_search_memory;
-  ops->to_can_execute_reverse = tdefault_can_execute_reverse;
-  ops->to_execution_direction = default_execution_direction;
-  ops->to_supports_multi_process = tdefault_supports_multi_process;
-  ops->to_supports_enable_disable_tracepoint = tdefault_supports_enable_disable_tracepoint;
-  ops->to_supports_string_tracing = tdefault_supports_string_tracing;
-  ops->to_supports_evaluation_of_breakpoint_conditions = tdefault_supports_evaluation_of_breakpoint_conditions;
-  ops->to_can_run_breakpoint_commands = tdefault_can_run_breakpoint_commands;
-  ops->to_thread_architecture = default_thread_architecture;
-  ops->to_thread_address_space = default_thread_address_space;
-  ops->to_filesystem_is_local = tdefault_filesystem_is_local;
-  ops->to_trace_init = tdefault_trace_init;
-  ops->to_download_tracepoint = tdefault_download_tracepoint;
-  ops->to_can_download_tracepoint = tdefault_can_download_tracepoint;
-  ops->to_download_trace_state_variable = tdefault_download_trace_state_variable;
-  ops->to_enable_tracepoint = tdefault_enable_tracepoint;
-  ops->to_disable_tracepoint = tdefault_disable_tracepoint;
-  ops->to_trace_set_readonly_regions = tdefault_trace_set_readonly_regions;
-  ops->to_trace_start = tdefault_trace_start;
-  ops->to_get_trace_status = tdefault_get_trace_status;
-  ops->to_get_tracepoint_status = tdefault_get_tracepoint_status;
-  ops->to_trace_stop = tdefault_trace_stop;
-  ops->to_trace_find = tdefault_trace_find;
-  ops->to_get_trace_state_variable_value = tdefault_get_trace_state_variable_value;
-  ops->to_save_trace_data = tdefault_save_trace_data;
-  ops->to_upload_tracepoints = tdefault_upload_tracepoints;
-  ops->to_upload_trace_state_variables = tdefault_upload_trace_state_variables;
-  ops->to_get_raw_trace_data = tdefault_get_raw_trace_data;
-  ops->to_get_min_fast_tracepoint_insn_len = tdefault_get_min_fast_tracepoint_insn_len;
-  ops->to_set_disconnected_tracing = tdefault_set_disconnected_tracing;
-  ops->to_set_circular_trace_buffer = tdefault_set_circular_trace_buffer;
-  ops->to_set_trace_buffer_size = tdefault_set_trace_buffer_size;
-  ops->to_set_trace_notes = tdefault_set_trace_notes;
-  ops->to_core_of_thread = tdefault_core_of_thread;
-  ops->to_verify_memory = default_verify_memory;
-  ops->to_get_tib_address = tdefault_get_tib_address;
-  ops->to_set_permissions = tdefault_set_permissions;
-  ops->to_static_tracepoint_marker_at = tdefault_static_tracepoint_marker_at;
-  ops->to_static_tracepoint_markers_by_strid = tdefault_static_tracepoint_markers_by_strid;
-  ops->to_traceframe_info = tdefault_traceframe_info;
-  ops->to_use_agent = tdefault_use_agent;
-  ops->to_can_use_agent = tdefault_can_use_agent;
-  ops->to_supports_btrace = tdefault_supports_btrace;
-  ops->to_enable_btrace = tdefault_enable_btrace;
-  ops->to_disable_btrace = tdefault_disable_btrace;
-  ops->to_teardown_btrace = tdefault_teardown_btrace;
-  ops->to_read_btrace = tdefault_read_btrace;
-  ops->to_btrace_conf = tdefault_btrace_conf;
-  ops->to_record_method = tdefault_record_method;
-  ops->to_stop_recording = tdefault_stop_recording;
-  ops->to_info_record = tdefault_info_record;
-  ops->to_save_record = tdefault_save_record;
-  ops->to_delete_record = tdefault_delete_record;
-  ops->to_record_is_replaying = tdefault_record_is_replaying;
-  ops->to_record_will_replay = tdefault_record_will_replay;
-  ops->to_record_stop_replaying = tdefault_record_stop_replaying;
-  ops->to_goto_record_begin = tdefault_goto_record_begin;
-  ops->to_goto_record_end = tdefault_goto_record_end;
-  ops->to_goto_record = tdefault_goto_record;
-  ops->to_insn_history = tdefault_insn_history;
-  ops->to_insn_history_from = tdefault_insn_history_from;
-  ops->to_insn_history_range = tdefault_insn_history_range;
-  ops->to_call_history = tdefault_call_history;
-  ops->to_call_history_from = tdefault_call_history_from;
-  ops->to_call_history_range = tdefault_call_history_range;
-  ops->to_augmented_libraries_svr4_read = tdefault_augmented_libraries_svr4_read;
-  ops->to_get_unwinder = tdefault_get_unwinder;
-  ops->to_get_tailcall_unwinder = tdefault_get_tailcall_unwinder;
-  ops->to_prepare_to_generate_core = tdefault_prepare_to_generate_core;
-  ops->to_done_generating_core = tdefault_done_generating_core;
-}
-
-static void
-init_debug_target (struct target_ops *ops)
-{
-  ops->to_post_attach = debug_post_attach;
-  ops->to_detach = debug_detach;
-  ops->to_disconnect = debug_disconnect;
-  ops->to_resume = debug_resume;
-  ops->to_commit_resume = debug_commit_resume;
-  ops->to_wait = debug_wait;
-  ops->to_fetch_registers = debug_fetch_registers;
-  ops->to_store_registers = debug_store_registers;
-  ops->to_prepare_to_store = debug_prepare_to_store;
-  ops->to_files_info = debug_files_info;
-  ops->to_insert_breakpoint = debug_insert_breakpoint;
-  ops->to_remove_breakpoint = debug_remove_breakpoint;
-  ops->to_stopped_by_sw_breakpoint = debug_stopped_by_sw_breakpoint;
-  ops->to_supports_stopped_by_sw_breakpoint = debug_supports_stopped_by_sw_breakpoint;
-  ops->to_stopped_by_hw_breakpoint = debug_stopped_by_hw_breakpoint;
-  ops->to_supports_stopped_by_hw_breakpoint = debug_supports_stopped_by_hw_breakpoint;
-  ops->to_can_use_hw_breakpoint = debug_can_use_hw_breakpoint;
-  ops->to_ranged_break_num_registers = debug_ranged_break_num_registers;
-  ops->to_insert_hw_breakpoint = debug_insert_hw_breakpoint;
-  ops->to_remove_hw_breakpoint = debug_remove_hw_breakpoint;
-  ops->to_remove_watchpoint = debug_remove_watchpoint;
-  ops->to_insert_watchpoint = debug_insert_watchpoint;
-  ops->to_insert_mask_watchpoint = debug_insert_mask_watchpoint;
-  ops->to_remove_mask_watchpoint = debug_remove_mask_watchpoint;
-  ops->to_stopped_by_watchpoint = debug_stopped_by_watchpoint;
-  ops->to_stopped_data_address = debug_stopped_data_address;
-  ops->to_watchpoint_addr_within_range = debug_watchpoint_addr_within_range;
-  ops->to_region_ok_for_hw_watchpoint = debug_region_ok_for_hw_watchpoint;
-  ops->to_can_accel_watchpoint_condition = debug_can_accel_watchpoint_condition;
-  ops->to_masked_watch_num_registers = debug_masked_watch_num_registers;
-  ops->to_can_do_single_step = debug_can_do_single_step;
-  ops->to_terminal_init = debug_terminal_init;
-  ops->to_terminal_inferior = debug_terminal_inferior;
-  ops->to_terminal_ours_for_output = debug_terminal_ours_for_output;
-  ops->to_terminal_ours = debug_terminal_ours;
-  ops->to_terminal_info = debug_terminal_info;
-  ops->to_kill = debug_kill;
-  ops->to_load = debug_load;
-  ops->to_post_startup_inferior = debug_post_startup_inferior;
-  ops->to_insert_fork_catchpoint = debug_insert_fork_catchpoint;
-  ops->to_remove_fork_catchpoint = debug_remove_fork_catchpoint;
-  ops->to_insert_vfork_catchpoint = debug_insert_vfork_catchpoint;
-  ops->to_remove_vfork_catchpoint = debug_remove_vfork_catchpoint;
-  ops->to_follow_fork = debug_follow_fork;
-  ops->to_insert_exec_catchpoint = debug_insert_exec_catchpoint;
-  ops->to_remove_exec_catchpoint = debug_remove_exec_catchpoint;
-  ops->to_follow_exec = debug_follow_exec;
-  ops->to_set_syscall_catchpoint = debug_set_syscall_catchpoint;
-  ops->to_has_exited = debug_has_exited;
-  ops->to_mourn_inferior = debug_mourn_inferior;
-  ops->to_can_run = debug_can_run;
-  ops->to_pass_signals = debug_pass_signals;
-  ops->to_program_signals = debug_program_signals;
-  ops->to_thread_alive = debug_thread_alive;
-  ops->to_update_thread_list = debug_update_thread_list;
-  ops->to_pid_to_str = debug_pid_to_str;
-  ops->to_extra_thread_info = debug_extra_thread_info;
-  ops->to_thread_name = debug_thread_name;
-  ops->to_thread_handle_to_thread_info = debug_thread_handle_to_thread_info;
-  ops->to_stop = debug_stop;
-  ops->to_interrupt = debug_interrupt;
-  ops->to_pass_ctrlc = debug_pass_ctrlc;
-  ops->to_rcmd = debug_rcmd;
-  ops->to_pid_to_exec_file = debug_pid_to_exec_file;
-  ops->to_log_command = debug_log_command;
-  ops->to_get_section_table = debug_get_section_table;
-  ops->to_can_async_p = debug_can_async_p;
-  ops->to_is_async_p = debug_is_async_p;
-  ops->to_async = debug_async;
-  ops->to_thread_events = debug_thread_events;
-  ops->to_supports_non_stop = debug_supports_non_stop;
-  ops->to_always_non_stop_p = debug_always_non_stop_p;
-  ops->to_find_memory_regions = debug_find_memory_regions;
-  ops->to_make_corefile_notes = debug_make_corefile_notes;
-  ops->to_get_bookmark = debug_get_bookmark;
-  ops->to_goto_bookmark = debug_goto_bookmark;
-  ops->to_get_thread_local_address = debug_get_thread_local_address;
-  ops->to_xfer_partial = debug_xfer_partial;
-  ops->to_get_memory_xfer_limit = debug_get_memory_xfer_limit;
-  ops->to_memory_map = debug_memory_map;
-  ops->to_flash_erase = debug_flash_erase;
-  ops->to_flash_done = debug_flash_done;
-  ops->to_read_description = debug_read_description;
-  ops->to_get_ada_task_ptid = debug_get_ada_task_ptid;
-  ops->to_auxv_parse = debug_auxv_parse;
-  ops->to_search_memory = debug_search_memory;
-  ops->to_can_execute_reverse = debug_can_execute_reverse;
-  ops->to_execution_direction = debug_execution_direction;
-  ops->to_supports_multi_process = debug_supports_multi_process;
-  ops->to_supports_enable_disable_tracepoint = debug_supports_enable_disable_tracepoint;
-  ops->to_supports_string_tracing = debug_supports_string_tracing;
-  ops->to_supports_evaluation_of_breakpoint_conditions = debug_supports_evaluation_of_breakpoint_conditions;
-  ops->to_can_run_breakpoint_commands = debug_can_run_breakpoint_commands;
-  ops->to_thread_architecture = debug_thread_architecture;
-  ops->to_thread_address_space = debug_thread_address_space;
-  ops->to_filesystem_is_local = debug_filesystem_is_local;
-  ops->to_trace_init = debug_trace_init;
-  ops->to_download_tracepoint = debug_download_tracepoint;
-  ops->to_can_download_tracepoint = debug_can_download_tracepoint;
-  ops->to_download_trace_state_variable = debug_download_trace_state_variable;
-  ops->to_enable_tracepoint = debug_enable_tracepoint;
-  ops->to_disable_tracepoint = debug_disable_tracepoint;
-  ops->to_trace_set_readonly_regions = debug_trace_set_readonly_regions;
-  ops->to_trace_start = debug_trace_start;
-  ops->to_get_trace_status = debug_get_trace_status;
-  ops->to_get_tracepoint_status = debug_get_tracepoint_status;
-  ops->to_trace_stop = debug_trace_stop;
-  ops->to_trace_find = debug_trace_find;
-  ops->to_get_trace_state_variable_value = debug_get_trace_state_variable_value;
-  ops->to_save_trace_data = debug_save_trace_data;
-  ops->to_upload_tracepoints = debug_upload_tracepoints;
-  ops->to_upload_trace_state_variables = debug_upload_trace_state_variables;
-  ops->to_get_raw_trace_data = debug_get_raw_trace_data;
-  ops->to_get_min_fast_tracepoint_insn_len = debug_get_min_fast_tracepoint_insn_len;
-  ops->to_set_disconnected_tracing = debug_set_disconnected_tracing;
-  ops->to_set_circular_trace_buffer = debug_set_circular_trace_buffer;
-  ops->to_set_trace_buffer_size = debug_set_trace_buffer_size;
-  ops->to_set_trace_notes = debug_set_trace_notes;
-  ops->to_core_of_thread = debug_core_of_thread;
-  ops->to_verify_memory = debug_verify_memory;
-  ops->to_get_tib_address = debug_get_tib_address;
-  ops->to_set_permissions = debug_set_permissions;
-  ops->to_static_tracepoint_marker_at = debug_static_tracepoint_marker_at;
-  ops->to_static_tracepoint_markers_by_strid = debug_static_tracepoint_markers_by_strid;
-  ops->to_traceframe_info = debug_traceframe_info;
-  ops->to_use_agent = debug_use_agent;
-  ops->to_can_use_agent = debug_can_use_agent;
-  ops->to_supports_btrace = debug_supports_btrace;
-  ops->to_enable_btrace = debug_enable_btrace;
-  ops->to_disable_btrace = debug_disable_btrace;
-  ops->to_teardown_btrace = debug_teardown_btrace;
-  ops->to_read_btrace = debug_read_btrace;
-  ops->to_btrace_conf = debug_btrace_conf;
-  ops->to_record_method = debug_record_method;
-  ops->to_stop_recording = debug_stop_recording;
-  ops->to_info_record = debug_info_record;
-  ops->to_save_record = debug_save_record;
-  ops->to_delete_record = debug_delete_record;
-  ops->to_record_is_replaying = debug_record_is_replaying;
-  ops->to_record_will_replay = debug_record_will_replay;
-  ops->to_record_stop_replaying = debug_record_stop_replaying;
-  ops->to_goto_record_begin = debug_goto_record_begin;
-  ops->to_goto_record_end = debug_goto_record_end;
-  ops->to_goto_record = debug_goto_record;
-  ops->to_insn_history = debug_insn_history;
-  ops->to_insn_history_from = debug_insn_history_from;
-  ops->to_insn_history_range = debug_insn_history_range;
-  ops->to_call_history = debug_call_history;
-  ops->to_call_history_from = debug_call_history_from;
-  ops->to_call_history_range = debug_call_history_range;
-  ops->to_augmented_libraries_svr4_read = debug_augmented_libraries_svr4_read;
-  ops->to_get_unwinder = debug_get_unwinder;
-  ops->to_get_tailcall_unwinder = debug_get_tailcall_unwinder;
-  ops->to_prepare_to_generate_core = debug_prepare_to_generate_core;
-  ops->to_done_generating_core = debug_done_generating_core;
+void
+dummy_target::prepare_to_generate_core ()
+{
+}
+
+void
+debug_target::prepare_to_generate_core ()
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->prepare_to_generate_core (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->prepare_to_generate_core ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->prepare_to_generate_core (", this->beneath ()->shortname ());
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::done_generating_core ()
+{
+  this->beneath ()->done_generating_core ();
 }
+
+void
+dummy_target::done_generating_core ()
+{
+}
+
+void
+debug_target::done_generating_core ()
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->done_generating_core (...)\n", this->beneath ()->shortname ());
+  this->beneath ()->done_generating_core ();
+  fprintf_unfiltered (gdb_stdlog, "<- %s->done_generating_core (", this->beneath ()->shortname ());
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target-descriptions.c ./gdb/target-descriptions.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target-descriptions.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/target-descriptions.c	2018-07-10 02:06:13.000000000 +0000
@@ -38,30 +38,6 @@
 #include "completer.h"
 #include "readline/tilde.h" /* tilde_expand */
 
-/* The interface to visit different elements of target description.  */
-
-class tdesc_element_visitor
-{
-public:
-  virtual void visit_pre (const target_desc *e) = 0;
-  virtual void visit_post (const target_desc *e) = 0;
-
-  virtual void visit_pre (const tdesc_feature *e) = 0;
-  virtual void visit_post (const tdesc_feature *e) = 0;
-
-  virtual void visit (const tdesc_type_builtin *e) = 0;
-  virtual void visit (const tdesc_type_vector *e) = 0;
-  virtual void visit (const tdesc_type_with_fields *e) = 0;
-
-  virtual void visit (const tdesc_reg *e) = 0;
-};
-
-class tdesc_element
-{
-public:
-  virtual void accept (tdesc_element_visitor &v) const = 0;
-};
-
 /* Types.  */
 
 struct property
@@ -74,517 +50,259 @@ struct property
   std::string value;
 };
 
-/* An individual register from a target description.  */
-
-struct tdesc_reg : tdesc_element
-{
-  tdesc_reg (struct tdesc_feature *feature, const std::string &name_,
-	     int regnum, int save_restore_, const char *group_,
-	     int bitsize_, const char *type_)
-    : name (name_), target_regnum (regnum),
-      save_restore (save_restore_),
-      group (group_ != NULL ? group_ : ""),
-      bitsize (bitsize_),
-      type (type_ != NULL ? type_ : "<unknown>")
-  {
-    /* If the register's type is target-defined, look it up now.  We may not
-       have easy access to the containing feature when we want it later.  */
-    tdesc_type = tdesc_named_type (feature, type.c_str ());
-  }
-
-  virtual ~tdesc_reg () = default;
-
-  DISABLE_COPY_AND_ASSIGN (tdesc_reg);
-
-  /* The name of this register.  In standard features, it may be
-     recognized by the architecture support code, or it may be purely
-     for the user.  */
-  std::string name;
-
-  /* The register number used by this target to refer to this
-     register.  This is used for remote p/P packets and to determine
-     the ordering of registers in the remote g/G packets.  */
-  long target_regnum;
-
-  /* If this flag is set, GDB should save and restore this register
-     around calls to an inferior function.  */
-  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.  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.  */
-  int bitsize;
-
-  /* The type of the register.  This string corresponds to either
-     a named type from the target description or a predefined
-     type from GDB.  */
-  std::string type;
-
-  /* The target-described type corresponding to TYPE, if found.  */
-  struct tdesc_type *tdesc_type;
-
-  void accept (tdesc_element_visitor &v) const override
-  {
-    v.visit (this);
-  }
-
-  bool operator== (const tdesc_reg &other) const
-  {
-    return (name == other.name
-	    && target_regnum == other.target_regnum
-	    && save_restore == other.save_restore
-	    && bitsize == other.bitsize
-	    && group == other.group
-	    && type == other.type);
-  }
-
-  bool operator!= (const tdesc_reg &other) const
-  {
-    return !(*this == other);
-  }
-};
-
-typedef std::unique_ptr<tdesc_reg> tdesc_reg_up;
-
-/* A named type from a target description.  */
-
-struct tdesc_type_field
-{
-  tdesc_type_field (const std::string &name_, tdesc_type *type_,
-		    int start_, int end_)
-  : name (name_), type (type_), start (start_), end (end_)
-  {}
-
-  std::string name;
-  struct tdesc_type *type;
-  /* For non-enum-values, either both are -1 (non-bitfield), or both are
-     not -1 (bitfield).  For enum values, start is the value (which could be
-     -1), end is -1.  */
-  int start, end;
-};
-
-enum tdesc_type_kind
-{
-  /* Predefined types.  */
-  TDESC_TYPE_BOOL,
-  TDESC_TYPE_INT8,
-  TDESC_TYPE_INT16,
-  TDESC_TYPE_INT32,
-  TDESC_TYPE_INT64,
-  TDESC_TYPE_INT128,
-  TDESC_TYPE_UINT8,
-  TDESC_TYPE_UINT16,
-  TDESC_TYPE_UINT32,
-  TDESC_TYPE_UINT64,
-  TDESC_TYPE_UINT128,
-  TDESC_TYPE_CODE_PTR,
-  TDESC_TYPE_DATA_PTR,
-  TDESC_TYPE_IEEE_SINGLE,
-  TDESC_TYPE_IEEE_DOUBLE,
-  TDESC_TYPE_ARM_FPA_EXT,
-  TDESC_TYPE_I387_EXT,
-
-  /* Types defined by a target feature.  */
-  TDESC_TYPE_VECTOR,
-  TDESC_TYPE_STRUCT,
-  TDESC_TYPE_UNION,
-  TDESC_TYPE_FLAGS,
-  TDESC_TYPE_ENUM
-};
-
-struct tdesc_type : tdesc_element
-{
-  tdesc_type (const std::string &name_, enum tdesc_type_kind kind_)
-    : name (name_), kind (kind_)
-  {}
-
-  virtual ~tdesc_type () = default;
-
-  DISABLE_COPY_AND_ASSIGN (tdesc_type);
-
-  /* The name of this type.   */
-  std::string name;
-
-  /* Identify the kind of this type.  */
-  enum tdesc_type_kind kind;
-
-  bool operator== (const tdesc_type &other) const
-  {
-    return name == other.name && kind == other.kind;
-  }
-
-  bool operator!= (const tdesc_type &other) const
-  {
-    return !(*this == other);
-  }
-
-  /* Construct, if necessary, and return the GDB type implementing this
-     target type for architecture GDBARCH.  */
-
-  virtual type *make_gdb_type (struct gdbarch *gdbarch) const = 0;
-};
-
-typedef std::unique_ptr<tdesc_type> tdesc_type_up;
-
-struct tdesc_type_builtin : tdesc_type
-{
-  tdesc_type_builtin (const std::string &name, enum tdesc_type_kind kind)
-  : tdesc_type (name, kind)
-  {}
-
-  void accept (tdesc_element_visitor &v) const override
-  {
-    v.visit (this);
-  }
-
-  type *make_gdb_type (struct gdbarch *gdbarch) const override
-  {
-    switch (this->kind)
-      {
-      /* Predefined types.  */
-      case TDESC_TYPE_BOOL:
-        return builtin_type (gdbarch)->builtin_bool;
-
-      case TDESC_TYPE_INT8:
-        return builtin_type (gdbarch)->builtin_int8;
-
-      case TDESC_TYPE_INT16:
-        return builtin_type (gdbarch)->builtin_int16;
-
-      case TDESC_TYPE_INT32:
-        return builtin_type (gdbarch)->builtin_int32;
-
-      case TDESC_TYPE_INT64:
-        return builtin_type (gdbarch)->builtin_int64;
-
-      case TDESC_TYPE_INT128:
-        return builtin_type (gdbarch)->builtin_int128;
-
-      case TDESC_TYPE_UINT8:
-        return builtin_type (gdbarch)->builtin_uint8;
-
-      case TDESC_TYPE_UINT16:
-        return builtin_type (gdbarch)->builtin_uint16;
-
-      case TDESC_TYPE_UINT32:
-        return builtin_type (gdbarch)->builtin_uint32;
-
-      case TDESC_TYPE_UINT64:
-        return builtin_type (gdbarch)->builtin_uint64;
-
-      case TDESC_TYPE_UINT128:
-        return builtin_type (gdbarch)->builtin_uint128;
-
-      case TDESC_TYPE_CODE_PTR:
-        return builtin_type (gdbarch)->builtin_func_ptr;
-
-      case TDESC_TYPE_DATA_PTR:
-        return builtin_type (gdbarch)->builtin_data_ptr;
-      }
-
-    type *gdb_type = tdesc_find_type (gdbarch, this->name.c_str ());
-    if (gdb_type != NULL)
-      return gdb_type;
-
-    switch (this->kind)
-      {
-      case TDESC_TYPE_IEEE_SINGLE:
-        return arch_float_type (gdbarch, -1, "builtin_type_ieee_single",
-				floatformats_ieee_single);
-
-      case TDESC_TYPE_IEEE_DOUBLE:
-        return arch_float_type (gdbarch, -1, "builtin_type_ieee_double",
-				floatformats_ieee_double);
-
-      case TDESC_TYPE_ARM_FPA_EXT:
-        return arch_float_type (gdbarch, -1, "builtin_type_arm_ext",
-				floatformats_arm_ext);
-
-      case TDESC_TYPE_I387_EXT:
-        return arch_float_type (gdbarch, -1, "builtin_type_i387_ext",
-				floatformats_i387_ext);
-      }
-
-    internal_error (__FILE__, __LINE__,
-		    "Type \"%s\" has an unknown kind %d",
-		    this->name.c_str (), this->kind);
-
-    return NULL;
-  }
-};
-
-/* tdesc_type for vector types.  */
-
-struct tdesc_type_vector : tdesc_type
-{
-  tdesc_type_vector (const std::string &name, tdesc_type *element_type_, int count_)
-  : tdesc_type (name, TDESC_TYPE_VECTOR),
-    element_type (element_type_), count (count_)
-  {}
-
-  void accept (tdesc_element_visitor &v) const override
-  {
-    v.visit (this);
-  }
-
-  type *make_gdb_type (struct gdbarch *gdbarch) const override
-  {
-    type *vector_gdb_type = tdesc_find_type (gdbarch, this->name.c_str ());
-    if (vector_gdb_type != NULL)
-      return vector_gdb_type;
-
-    type *element_gdb_type = this->element_type->make_gdb_type (gdbarch);
-    vector_gdb_type = init_vector_type (element_gdb_type, this->count);
-    TYPE_NAME (vector_gdb_type) = xstrdup (this->name.c_str ());
-
-    return vector_gdb_type;
-  }
-
-  struct tdesc_type *element_type;
-  int count;
-};
-
-/* tdesc_type for struct, union, flags, and enum types.  */
+/* Convert a tdesc_type to a gdb type.  */
 
-struct tdesc_type_with_fields : tdesc_type
+static type *
+make_gdb_type (struct gdbarch *gdbarch, struct tdesc_type *ttype)
 {
-  tdesc_type_with_fields (const std::string &name, tdesc_type_kind kind,
-			  int size_ = 0)
-  : tdesc_type (name, kind), size (size_)
-  {}
-
-  void accept (tdesc_element_visitor &v) const override
-  {
-    v.visit (this);
-  }
-
-  type *make_gdb_type_struct (struct gdbarch *gdbarch) const
-  {
-    type *struct_gdb_type = arch_composite_type (gdbarch, NULL, TYPE_CODE_STRUCT);
-    TYPE_NAME (struct_gdb_type) = xstrdup (this->name.c_str ());
-    TYPE_TAG_NAME (struct_gdb_type) = TYPE_NAME (struct_gdb_type);
-
-    for (const tdesc_type_field &f : this->fields)
-      {
-	if (f.start != -1 && f.end != -1)
-	  {
-	    /* Bitfield.  */
-	    struct field *fld;
-	    struct type *field_gdb_type;
-	    int bitsize, total_size;
-
-	    /* This invariant should be preserved while creating types.  */
-	    gdb_assert (this->size != 0);
-	    if (f.type != NULL)
-	      field_gdb_type = f.type->make_gdb_type (gdbarch);
-	    else if (this->size > 4)
-	      field_gdb_type = builtin_type (gdbarch)->builtin_uint64;
-	    else
-	      field_gdb_type = builtin_type (gdbarch)->builtin_uint32;
-
-	    fld = append_composite_type_field_raw
-	      (struct_gdb_type, xstrdup (f.name.c_str ()), field_gdb_type);
-
-	    /* For little-endian, BITPOS counts from the LSB of
-	       the structure and marks the LSB of the field.  For
-	       big-endian, BITPOS counts from the MSB of the
-	       structure and marks the MSB of the field.  Either
-	       way, it is the number of bits to the "left" of the
-	       field.  To calculate this in big-endian, we need
-	       the total size of the structure.  */
-	    bitsize = f.end - f.start + 1;
-	    total_size = this->size * TARGET_CHAR_BIT;
-	    if (gdbarch_bits_big_endian (gdbarch))
-	      SET_FIELD_BITPOS (fld[0], total_size - f.start - bitsize);
-	    else
-	      SET_FIELD_BITPOS (fld[0], f.start);
-	    FIELD_BITSIZE (fld[0]) = bitsize;
-	  }
-	else
-	  {
-	    gdb_assert (f.start == -1 && f.end == -1);
-	    type *field_gdb_type = f.type->make_gdb_type (gdbarch);
-	    append_composite_type_field (struct_gdb_type,
-					 xstrdup (f.name.c_str ()),
-					 field_gdb_type);
-	  }
-      }
-
-    if (this->size != 0)
-      TYPE_LENGTH (struct_gdb_type) = this->size;
-
-    return struct_gdb_type;
-  }
-
-  type *make_gdb_type_union (struct gdbarch *gdbarch) const
-  {
-    type *union_gdb_type = arch_composite_type (gdbarch, NULL, TYPE_CODE_UNION);
-    TYPE_NAME (union_gdb_type) = xstrdup (this->name.c_str ());
-
-    for (const tdesc_type_field &f : this->fields)
-      {
-	type* field_gdb_type = f.type->make_gdb_type (gdbarch);
-	append_composite_type_field (union_gdb_type, xstrdup (f.name.c_str ()),
-				     field_gdb_type);
-
-	/* If any of the children of a union are vectors, flag the
-	   union as a vector also.  This allows e.g. a union of two
-	   vector types to show up automatically in "info vector".  */
-	if (TYPE_VECTOR (field_gdb_type))
-	  TYPE_VECTOR (union_gdb_type) = 1;
-      }
-
-    return union_gdb_type;
-  }
-
-  type *make_gdb_type_flags (struct gdbarch *gdbarch) const
-  {
-    type *flags_gdb_type = arch_flags_type (gdbarch, this->name.c_str (),
-					  this->size * TARGET_CHAR_BIT);
-
-    for (const tdesc_type_field &f : this->fields)
-      {
-      int bitsize = f.end - f.start + 1;
-
-      gdb_assert (f.type != NULL);
-      type *field_gdb_type = f.type->make_gdb_type (gdbarch);
-      append_flags_type_field (flags_gdb_type, f.start, bitsize,
-			       field_gdb_type, f.name.c_str ());
-      }
-
-    return flags_gdb_type;
-  }
-
-  type *make_gdb_type_enum (struct gdbarch *gdbarch) const
-  {
-    type *enum_gdb_type = arch_type (gdbarch, TYPE_CODE_ENUM,
-				   this->size * TARGET_CHAR_BIT,
-				   this->name.c_str ());
-
-    TYPE_UNSIGNED (enum_gdb_type) = 1;
-    for (const tdesc_type_field &f : this->fields)
-      {
-      struct field *fld
-	= append_composite_type_field_raw (enum_gdb_type,
-					   xstrdup (f.name.c_str ()),
-					   NULL);
-
-      SET_FIELD_BITPOS (fld[0], f.start);
-      }
-
-    return enum_gdb_type;
-  }
-
-  type *make_gdb_type (struct gdbarch *gdbarch) const override
+  class gdb_type_creator : public tdesc_element_visitor
   {
-    type *gdb_type = tdesc_find_type (gdbarch, this->name.c_str ());
-    if (gdb_type != NULL)
-      return gdb_type;
+  public:
+    gdb_type_creator (struct gdbarch *gdbarch)
+      : m_gdbarch (gdbarch)
+    {}
 
-    switch (this->kind)
+    type *get_type ()
     {
-      case TDESC_TYPE_STRUCT:
-	return make_gdb_type_struct (gdbarch);
-      case TDESC_TYPE_UNION:
-	return make_gdb_type_union (gdbarch);
-      case TDESC_TYPE_FLAGS:
-	return make_gdb_type_flags (gdbarch);
-      case TDESC_TYPE_ENUM:
-	return make_gdb_type_enum (gdbarch);
+      return m_type;
     }
 
-    internal_error (__FILE__, __LINE__,
-		    "Type \"%s\" has an unknown kind %d",
-		    this->name.c_str (), this->kind);
-
-    return NULL;
-  }
-
-  std::vector<tdesc_type_field> fields;
-  int size;
-};
+    void visit (const tdesc_type_builtin *e) override
+    {
+      switch (e->kind)
+	{
+	  /* Predefined types.  */
+	case TDESC_TYPE_BOOL:
+	  m_type = builtin_type (m_gdbarch)->builtin_bool;
+	  return;
+	case TDESC_TYPE_INT8:
+	  m_type = builtin_type (m_gdbarch)->builtin_int8;
+	  return;
+	case TDESC_TYPE_INT16:
+	  m_type = builtin_type (m_gdbarch)->builtin_int16;
+	  return;
+	case TDESC_TYPE_INT32:
+	  m_type = builtin_type (m_gdbarch)->builtin_int32;
+	  return;
+	case TDESC_TYPE_INT64:
+	  m_type = builtin_type (m_gdbarch)->builtin_int64;
+	  return;
+	case TDESC_TYPE_INT128:
+	  m_type = builtin_type (m_gdbarch)->builtin_int128;
+	  return;
+	case TDESC_TYPE_UINT8:
+	  m_type = builtin_type (m_gdbarch)->builtin_uint8;
+	  return;
+	case TDESC_TYPE_UINT16:
+	  m_type = builtin_type (m_gdbarch)->builtin_uint16;
+	  return;
+	case TDESC_TYPE_UINT32:
+	  m_type = builtin_type (m_gdbarch)->builtin_uint32;
+	  return;
+	case TDESC_TYPE_UINT64:
+	  m_type = builtin_type (m_gdbarch)->builtin_uint64;
+	  return;
+	case TDESC_TYPE_UINT128:
+	  m_type = builtin_type (m_gdbarch)->builtin_uint128;
+	  return;
+	case TDESC_TYPE_CODE_PTR:
+	  m_type = builtin_type (m_gdbarch)->builtin_func_ptr;
+	  return;
+	case TDESC_TYPE_DATA_PTR:
+	  m_type = builtin_type (m_gdbarch)->builtin_data_ptr;
+	  return;
+	}
 
-/* A feature from a target description.  Each feature is a collection
-   of other elements, e.g. registers and types.  */
+      m_type = tdesc_find_type (m_gdbarch, e->name.c_str ());
+      if (m_type != NULL)
+	return;
 
-struct tdesc_feature : tdesc_element
-{
-  tdesc_feature (const std::string &name_)
-    : name (name_)
-  {}
+      switch (e->kind)
+	{
+	case TDESC_TYPE_IEEE_SINGLE:
+	  m_type = arch_float_type (m_gdbarch, -1, "builtin_type_ieee_single",
+				    floatformats_ieee_single);
+	  return;
+
+	case TDESC_TYPE_IEEE_DOUBLE:
+	  m_type = arch_float_type (m_gdbarch, -1, "builtin_type_ieee_double",
+				    floatformats_ieee_double);
+	  return;
+	case TDESC_TYPE_ARM_FPA_EXT:
+	  m_type = arch_float_type (m_gdbarch, -1, "builtin_type_arm_ext",
+				    floatformats_arm_ext);
+	  return;
+
+	case TDESC_TYPE_I387_EXT:
+	  m_type = arch_float_type (m_gdbarch, -1, "builtin_type_i387_ext",
+				    floatformats_i387_ext);
+	  return;
+	}
 
-  virtual ~tdesc_feature () = default;
+      internal_error (__FILE__, __LINE__,
+		      "Type \"%s\" has an unknown kind %d",
+		      e->name.c_str (), e->kind);
+    }
 
-  DISABLE_COPY_AND_ASSIGN (tdesc_feature);
+    void visit (const tdesc_type_vector *e) override
+    {
+      m_type = tdesc_find_type (m_gdbarch, e->name.c_str ());
+      if (m_type != NULL)
+	return;
+
+      type *element_gdb_type = make_gdb_type (m_gdbarch, e->element_type);
+      m_type = init_vector_type (element_gdb_type, e->count);
+      TYPE_NAME (m_type) = xstrdup (e->name.c_str ());
+      return;
+    }
 
-  /* The name of this feature.  It may be recognized by the architecture
-     support code.  */
-  std::string name;
+    void visit (const tdesc_type_with_fields *e) override
+    {
+      m_type = tdesc_find_type (m_gdbarch, e->name.c_str ());
+      if (m_type != NULL)
+	return;
 
-  /* The registers associated with this feature.  */
-  std::vector<tdesc_reg_up> registers;
+      switch (e->kind)
+	{
+	case TDESC_TYPE_STRUCT:
+	  make_gdb_type_struct (e);
+	  return;
+	case TDESC_TYPE_UNION:
+	  make_gdb_type_union (e);
+	  return;
+	case TDESC_TYPE_FLAGS:
+	  make_gdb_type_flags (e);
+	  return;
+	case TDESC_TYPE_ENUM:
+	  make_gdb_type_enum (e);
+	  return;
+	}
 
-  /* The types associated with this feature.  */
-  std::vector<tdesc_type_up> types;
+      internal_error (__FILE__, __LINE__,
+		      "Type \"%s\" has an unknown kind %d",
+		      e->name.c_str (), e->kind);
+    }
 
-  void accept (tdesc_element_visitor &v) const override
-  {
-    v.visit_pre (this);
+  private:
 
-    for (const tdesc_type_up &type : types)
-      type->accept (v);
+    void make_gdb_type_struct (const tdesc_type_with_fields *e)
+    {
+      m_type = arch_composite_type (m_gdbarch, NULL, TYPE_CODE_STRUCT);
+      TYPE_NAME (m_type) = xstrdup (e->name.c_str ());
 
-    for (const tdesc_reg_up &reg : registers)
-      reg->accept (v);
+      for (const tdesc_type_field &f : e->fields)
+	{
+	  if (f.start != -1 && f.end != -1)
+	    {
+	      /* Bitfield.  */
+	      struct field *fld;
+	      struct type *field_gdb_type;
+	      int bitsize, total_size;
+
+	      /* This invariant should be preserved while creating types.  */
+	      gdb_assert (e->size != 0);
+	      if (f.type != NULL)
+		field_gdb_type = make_gdb_type (m_gdbarch, f.type);
+	      else if (e->size > 4)
+		field_gdb_type = builtin_type (m_gdbarch)->builtin_uint64;
+	      else
+		field_gdb_type = builtin_type (m_gdbarch)->builtin_uint32;
+
+	      fld = append_composite_type_field_raw
+		      (m_type, xstrdup (f.name.c_str ()), field_gdb_type);
+
+	      /* For little-endian, BITPOS counts from the LSB of
+		 the structure and marks the LSB of the field.  For
+		 big-endian, BITPOS counts from the MSB of the
+		 structure and marks the MSB of the field.  Either
+		 way, it is the number of bits to the "left" of the
+		 field.  To calculate this in big-endian, we need
+		 the total size of the structure.  */
+	      bitsize = f.end - f.start + 1;
+	      total_size = e->size * TARGET_CHAR_BIT;
+	      if (gdbarch_bits_big_endian (m_gdbarch))
+		SET_FIELD_BITPOS (fld[0], total_size - f.start - bitsize);
+	      else
+		SET_FIELD_BITPOS (fld[0], f.start);
+	      FIELD_BITSIZE (fld[0]) = bitsize;
+	    }
+	  else
+	    {
+	      gdb_assert (f.start == -1 && f.end == -1);
+	      type *field_gdb_type = make_gdb_type (m_gdbarch, f.type);
+	      append_composite_type_field (m_type,
+					   xstrdup (f.name.c_str ()),
+					   field_gdb_type);
+	    }
+	}
 
-    v.visit_post (this);
-  }
+      if (e->size != 0)
+	TYPE_LENGTH (m_type) = e->size;
+    }
 
-  bool operator== (const tdesc_feature &other) const
-  {
-    if (name != other.name)
-      return false;
+    void make_gdb_type_union (const tdesc_type_with_fields *e)
+    {
+      m_type = arch_composite_type (m_gdbarch, NULL, TYPE_CODE_UNION);
+      TYPE_NAME (m_type) = xstrdup (e->name.c_str ());
 
-    if (registers.size () != other.registers.size ())
-      return false;
+      for (const tdesc_type_field &f : e->fields)
+	{
+	  type* field_gdb_type = make_gdb_type (m_gdbarch, f.type);
+	  append_composite_type_field (m_type, xstrdup (f.name.c_str ()),
+				       field_gdb_type);
+
+	  /* If any of the children of a union are vectors, flag the
+	     union as a vector also.  This allows e.g. a union of two
+	     vector types to show up automatically in "info vector".  */
+	  if (TYPE_VECTOR (field_gdb_type))
+	    TYPE_VECTOR (m_type) = 1;
+	}
+    }
 
-    for (int ix = 0; ix < registers.size (); ix++)
-      {
-	const tdesc_reg_up &reg1 = registers[ix];
-	const tdesc_reg_up &reg2 = other.registers[ix];
+    void make_gdb_type_flags (const tdesc_type_with_fields *e)
+    {
+      m_type = arch_flags_type (m_gdbarch, e->name.c_str (),
+				e->size * TARGET_CHAR_BIT);
 
-	if (reg1 != reg2 && *reg1 != *reg2)
-	  return false;
-      }
+      for (const tdesc_type_field &f : e->fields)
+	{
+	  int bitsize = f.end - f.start + 1;
 
-    if (types.size () != other.types.size ())
-      return false;
+	  gdb_assert (f.type != NULL);
+	  type *field_gdb_type = make_gdb_type (m_gdbarch, f.type);
+	  append_flags_type_field (m_type, f.start, bitsize,
+				   field_gdb_type, f.name.c_str ());
+	}
+    }
 
-    for (int ix = 0; ix < types.size (); ix++)
-      {
-	const tdesc_type_up &type1 = types[ix];
-	const tdesc_type_up &type2 = other.types[ix];
+    void make_gdb_type_enum (const tdesc_type_with_fields *e)
+    {
+      m_type = arch_type (m_gdbarch, TYPE_CODE_ENUM, e->size * TARGET_CHAR_BIT,
+			  e->name.c_str ());
 
-	if (type1 != type2 && *type1 != *type2)
-	  return false;
-      }
+      TYPE_UNSIGNED (m_type) = 1;
+      for (const tdesc_type_field &f : e->fields)
+	{
+	  struct field *fld
+	    = append_composite_type_field_raw (m_type,
+					       xstrdup (f.name.c_str ()),
+					       NULL);
 
-    return true;
-  }
+	  SET_FIELD_BITPOS (fld[0], f.start);
+	}
+    }
 
-  bool operator!= (const tdesc_feature &other) const
-  {
-    return !(*this == other);
-  }
-};
+    /* The gdbarch used.  */
+    struct gdbarch *m_gdbarch;
 
-typedef std::unique_ptr<tdesc_feature> tdesc_feature_up;
+    /* The type created.  */
+    type *m_type;
+  };
+
+  gdb_type_creator gdb_type (gdbarch);
+  ttype->accept (gdb_type);
+  return gdb_type.get_type ();
+}
 
 /* A target description.  */
 
@@ -614,6 +332,9 @@ struct target_desc : tdesc_element
   /* The features associated with this target.  */
   std::vector<tdesc_feature_up> features;
 
+  /* Used to cache the generated xml version of the target description.  */
+  mutable char *xmltarget = nullptr;
+
   void accept (tdesc_element_visitor &v) const override
   {
     v.visit_pre (this);
@@ -799,11 +520,11 @@ target_find_description (void)
   /* Next try to read the description from the current target using
      target objects.  */
   if (current_target_desc == NULL)
-    current_target_desc = target_read_description_xml (&current_target);
+    current_target_desc = target_read_description_xml (current_top_target ());
 
   /* If that failed try a target-specific hook.  */
   if (current_target_desc == NULL)
-    current_target_desc = target_read_description (&current_target);
+    current_target_desc = target_read_description (current_top_target ());
 
   /* If a non-NULL description was returned, then update the current
      architecture.  */
@@ -909,6 +630,14 @@ tdesc_architecture (const struct target_
   return target_desc->arch;
 }
 
+/* See common/tdesc.h.  */
+
+const char *
+tdesc_architecture_name (const struct target_desc *target_desc)
+{
+  return target_desc->arch->printable_name;
+}
+
 /* Return the OSABI associated with this target description, or
    GDB_OSABI_UNKNOWN if no osabi was specified.  */
 
@@ -918,7 +647,16 @@ tdesc_osabi (const struct target_desc *t
   return target_desc->osabi;
 }
 
-
+/* See common/tdesc.h.  */
+
+const char *
+tdesc_osabi_name (const struct target_desc *target_desc)
+{
+  enum gdb_osabi osabi = tdesc_osabi (target_desc);
+  if (osabi > GDB_OSABI_UNKNOWN && osabi < GDB_OSABI_INVALID)
+    return gdbarch_osabi_name (osabi);
+  return nullptr;
+}
 
 /* Return 1 if this target description includes any registers.  */
 
@@ -957,58 +695,6 @@ tdesc_feature_name (const struct tdesc_f
   return feature->name.c_str ();
 }
 
-/* Predefined types.  */
-static tdesc_type_builtin tdesc_predefined_types[] =
-{
-  { "bool", TDESC_TYPE_BOOL },
-  { "int8", TDESC_TYPE_INT8 },
-  { "int16", TDESC_TYPE_INT16 },
-  { "int32", TDESC_TYPE_INT32 },
-  { "int64", TDESC_TYPE_INT64 },
-  { "int128", TDESC_TYPE_INT128 },
-  { "uint8", TDESC_TYPE_UINT8 },
-  { "uint16", TDESC_TYPE_UINT16 },
-  { "uint32", TDESC_TYPE_UINT32 },
-  { "uint64", TDESC_TYPE_UINT64 },
-  { "uint128", TDESC_TYPE_UINT128 },
-  { "code_ptr", TDESC_TYPE_CODE_PTR },
-  { "data_ptr", TDESC_TYPE_DATA_PTR },
-  { "ieee_single", TDESC_TYPE_IEEE_SINGLE },
-  { "ieee_double", TDESC_TYPE_IEEE_DOUBLE },
-  { "arm_fpa_ext", TDESC_TYPE_ARM_FPA_EXT },
-  { "i387_ext", TDESC_TYPE_I387_EXT }
-};
-
-/* Lookup a predefined type.  */
-
-static struct tdesc_type *
-tdesc_predefined_type (enum tdesc_type_kind kind)
-{
-  for (int ix = 0; ix < ARRAY_SIZE (tdesc_predefined_types); ix++)
-    if (tdesc_predefined_types[ix].kind == kind)
-      return &tdesc_predefined_types[ix];
-
-  gdb_assert_not_reached ("bad predefined tdesc type");
-}
-
-/* See arch/tdesc.h.  */
-
-struct tdesc_type *
-tdesc_named_type (const struct tdesc_feature *feature, const char *id)
-{
-  /* First try target-defined types.  */
-  for (const tdesc_type_up &type : feature->types)
-    if (type->name == id)
-      return type.get ();
-
-  /* Next try the predefined types.  */
-  for (int ix = 0; ix < ARRAY_SIZE (tdesc_predefined_types); ix++)
-    if (tdesc_predefined_types[ix].name == id)
-      return &tdesc_predefined_types[ix];
-
-  return NULL;
-}
-
 /* Lookup type associated with ID.  */
 
 struct type *
@@ -1036,12 +722,7 @@ tdesc_find_type (struct gdbarch *gdbarch
 static void *
 tdesc_data_init (struct obstack *obstack)
 {
-  struct tdesc_arch_data *data;
-
-  data = OBSTACK_ZALLOC (obstack, struct tdesc_arch_data);
-  new (data) tdesc_arch_data ();
-
-  return data;
+  return obstack_new<tdesc_arch_data> (obstack);
 }
 
 /* Similar, but for the temporary copy used during architecture
@@ -1216,7 +897,7 @@ tdesc_register_type (struct gdbarch *gdb
     {
       /* First check for a predefined or target defined type.  */
       if (reg->tdesc_type)
-        arch_reg->type = reg->tdesc_type->make_gdb_type (gdbarch);
+	arch_reg->type = make_gdb_type (gdbarch, reg->tdesc_type);
 
       /* Next try size-sensitive type shortcuts.  */
       else if (reg->type == "float")
@@ -1440,167 +1121,11 @@ tdesc_use_registers (struct gdbarch *gdb
 				      tdesc_remote_register_number);
   set_gdbarch_register_reggroup_p (gdbarch, tdesc_register_reggroup_p);
 }
-
-
-/* See arch/tdesc.h.  */
-
-void
-tdesc_create_reg (struct tdesc_feature *feature, const char *name,
-		  int regnum, int save_restore, const char *group,
-		  int bitsize, const char *type)
-{
-  tdesc_reg *reg = new tdesc_reg (feature, name, regnum, save_restore,
-				  group, bitsize, type);
-
-  feature->registers.emplace_back (reg);
-}
-
-/* See arch/tdesc.h.  */
-
-struct tdesc_type *
-tdesc_create_vector (struct tdesc_feature *feature, const char *name,
-		     struct tdesc_type *field_type, int count)
-{
-  tdesc_type_vector *type = new tdesc_type_vector (name, field_type, count);
-  feature->types.emplace_back (type);
-
-  return type;
-}
-
-/* See arch/tdesc.h.  */
-
-tdesc_type_with_fields *
-tdesc_create_struct (struct tdesc_feature *feature, const char *name)
-{
-  tdesc_type_with_fields *type
-    = new tdesc_type_with_fields (name, TDESC_TYPE_STRUCT);
-  feature->types.emplace_back (type);
-
-  return type;
-}
-
-/* See arch/tdesc.h.  */
-
-void
-tdesc_set_struct_size (tdesc_type_with_fields *type, int size)
-{
-  gdb_assert (type->kind == TDESC_TYPE_STRUCT);
-  gdb_assert (size > 0);
-  type->size = size;
-}
-
-/* See arch/tdesc.h.  */
-
-tdesc_type_with_fields *
-tdesc_create_union (struct tdesc_feature *feature, const char *name)
-{
-  tdesc_type_with_fields *type
-    = new tdesc_type_with_fields (name, TDESC_TYPE_UNION);
-  feature->types.emplace_back (type);
-
-  return type;
-}
-
-/* See arch/tdesc.h.  */
-
-tdesc_type_with_fields *
-tdesc_create_flags (struct tdesc_feature *feature, const char *name,
-		    int size)
-{
-  gdb_assert (size > 0);
-
-  tdesc_type_with_fields *type
-    = new tdesc_type_with_fields (name, TDESC_TYPE_FLAGS, size);
-  feature->types.emplace_back (type);
-
-  return type;
-}
-
-tdesc_type_with_fields *
-tdesc_create_enum (struct tdesc_feature *feature, const char *name,
-		   int size)
-{
-  gdb_assert (size > 0);
-
-  tdesc_type_with_fields *type
-    = new tdesc_type_with_fields (name, TDESC_TYPE_ENUM, size);
-  feature->types.emplace_back (type);
-
-  return type;
-}
-
-/* See arch/tdesc.h.  */
-
-void
-tdesc_add_field (tdesc_type_with_fields *type, const char *field_name,
-		 struct tdesc_type *field_type)
-{
-  gdb_assert (type->kind == TDESC_TYPE_UNION
-	      || type->kind == TDESC_TYPE_STRUCT);
-
-  /* Initialize start and end so we know this is not a bit-field
-     when we print-c-tdesc.  */
-  type->fields.emplace_back (field_name, field_type, -1, -1);
-}
-
-void
-tdesc_add_typed_bitfield (tdesc_type_with_fields *type, const char *field_name,
-			  int start, int end, struct tdesc_type *field_type)
-{
-  gdb_assert (type->kind == TDESC_TYPE_STRUCT
-	      || type->kind == TDESC_TYPE_FLAGS);
-  gdb_assert (start >= 0 && end >= start);
-
-  type->fields.emplace_back (field_name, field_type, start, end);
-}
-
-/* See arch/tdesc.h.  */
-
-void
-tdesc_add_bitfield (tdesc_type_with_fields *type, const char *field_name,
-		    int start, int end)
-{
-  struct tdesc_type *field_type;
-
-  gdb_assert (start >= 0 && end >= start);
-
-  if (type->size > 4)
-    field_type = tdesc_predefined_type (TDESC_TYPE_UINT64);
-  else
-    field_type = tdesc_predefined_type (TDESC_TYPE_UINT32);
-
-  tdesc_add_typed_bitfield (type, field_name, start, end, field_type);
-}
-
-/* See arch/tdesc.h.  */
-
-void
-tdesc_add_flag (tdesc_type_with_fields *type, int start,
-		const char *flag_name)
-{
-  gdb_assert (type->kind == TDESC_TYPE_FLAGS
-	      || type->kind == TDESC_TYPE_STRUCT);
-
-  type->fields.emplace_back (flag_name,
-			     tdesc_predefined_type (TDESC_TYPE_BOOL),
-			     start, start);
-}
-
-void
-tdesc_add_enum_value (tdesc_type_with_fields *type, int value,
-		      const char *name)
-{
-  gdb_assert (type->kind == TDESC_TYPE_ENUM);
-  type->fields.emplace_back (name,
-			     tdesc_predefined_type (TDESC_TYPE_INT32),
-			     value, -1);
-}
 
-/* See arch/tdesc.h.  */
+/* See common/tdesc.h.  */
 
 struct tdesc_feature *
-tdesc_create_feature (struct target_desc *tdesc, const char *name,
-		      const char *xml)
+tdesc_create_feature (struct target_desc *tdesc, const char *name)
 {
   struct tdesc_feature *new_feature = new tdesc_feature (name);
 
@@ -1662,7 +1187,7 @@ set_tdesc_property (struct target_desc *
   target_desc->properties.emplace_back (key, value);
 }
 
-/* See arch/tdesc.h.  */
+/* See common/tdesc.h.  */
 
 void
 set_tdesc_architecture (struct target_desc *target_desc,
@@ -1678,7 +1203,7 @@ set_tdesc_architecture (struct target_de
   target_desc->arch = arch;
 }
 
-/* See arch/tdesc.h.  */
+/* See common/tdesc.h.  */
 
 void
 set_tdesc_osabi (struct target_desc *target_desc, const char *name)
@@ -2043,7 +1568,7 @@ public:
     printf_unfiltered ("  Original: %s */\n\n",
 		       lbasename (m_filename_after_features.c_str ()));
 
-    printf_unfiltered ("#include \"arch/tdesc.h\"\n");
+    printf_unfiltered ("#include \"common/tdesc.h\"\n");
     printf_unfiltered ("\n");
   }
 
@@ -2068,8 +1593,8 @@ public:
     printf_unfiltered ("  struct tdesc_feature *feature;\n");
 
     printf_unfiltered
-      ("\n  feature = tdesc_create_feature (result, \"%s\", \"%s\");\n",
-       e->name.c_str (), lbasename (m_filename_after_features.c_str ()));
+      ("\n  feature = tdesc_create_feature (result, \"%s\");\n",
+       e->name.c_str ());
   }
 
   void visit_post (const tdesc_feature *e) override
@@ -2138,6 +1663,21 @@ private:
   int m_next_regnum = 0;
 };
 
+/* See common/tdesc.h.  */
+
+const char *
+tdesc_get_features_xml (const target_desc *tdesc)
+{
+  if (tdesc->xmltarget == nullptr)
+    {
+      std::string buffer ("@");
+      print_xml_feature v (&buffer);
+      tdesc->accept (v);
+      tdesc->xmltarget = xstrdup (buffer.c_str ());
+    }
+  return tdesc->xmltarget;
+}
+
 static void
 maint_print_c_tdesc_cmd (const char *args, int from_tty)
 {
@@ -2210,6 +1750,39 @@ record_xml_tdesc (const char *xml_file, 
 
 }
 
+/* Test the convesion process of a target description to/from xml: Take a target
+   description TDESC, convert to xml, back to a description, and confirm the new
+   tdesc is identical to the original.  */
+static bool
+maintenance_check_tdesc_xml_convert (const target_desc *tdesc, const char *name)
+{
+  const char *xml = tdesc_get_features_xml (tdesc);
+
+  if (xml == nullptr || *xml != '@')
+    {
+      printf_filtered (_("Could not convert description for %s to xml.\n"),
+		       name);
+      return false;
+    }
+
+  const target_desc *tdesc_trans = string_read_description_xml (xml + 1);
+
+  if (tdesc_trans == nullptr)
+    {
+      printf_filtered (_("Could not convert description for %s from xml.\n"),
+		       name);
+      return false;
+    }
+  else if (*tdesc != *tdesc_trans)
+    {
+      printf_filtered (_("Converted description for %s does not match.\n"),
+		       name);
+      return false;
+    }
+  return true;
+}
+
+
 /* Check that the target descriptions created dynamically by
    architecture-specific code equal the descriptions created from XML files
    found in the specified directory DIR.  */
@@ -2231,6 +1804,12 @@ maintenance_check_xml_descriptions (cons
 	= file_read_description_xml (tdesc_xml.data ());
 
       if (tdesc == NULL || *tdesc != *e.second)
+	{
+	  printf_filtered ( _("Descriptions for %s do not match.\n"), e.first);
+	  failed++;
+	}
+      else if (!maintenance_check_tdesc_xml_convert (tdesc, e.first)
+	       || !maintenance_check_tdesc_xml_convert (e.second, e.first))
 	failed++;
     }
   printf_filtered (_("Tested %lu XML files, %d failed\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.1.0.20180703/gdb/target-descriptions.h ./gdb/target-descriptions.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target-descriptions.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/target-descriptions.h	2018-07-10 02:06:13.000000000 +0000
@@ -21,7 +21,7 @@
 
 #ifndef TARGET_DESCRIPTIONS_H
 #define TARGET_DESCRIPTIONS_H 1
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
 
 struct tdesc_arch_data;
 struct target_ops;
@@ -209,14 +209,6 @@ void set_tdesc_property (struct target_d
 			 const char *key, const char *value);
 void tdesc_add_compatible (struct target_desc *,
 			   const struct bfd_arch_info *);
-tdesc_type_with_fields *tdesc_create_enum (struct tdesc_feature *feature,
-					   const char *name,
-					   int size);
-void tdesc_add_typed_bitfield (tdesc_type_with_fields *type, const char *field_name,
-			       int start, int end,
-			       struct tdesc_type *field_type);
-void tdesc_add_enum_value (tdesc_type_with_fields *type, int value,
-			   const char *name);
 
 #if GDB_SELF_TEST
 namespace selftests {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target.h ./gdb/target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/target.h	2018-07-10 02:06:13.000000000 +0000
@@ -61,7 +61,11 @@ struct inferior;
    of variables any more (the file target is handling them and they
    never get to the process target).  So when you push a file target,
    it goes into the file stratum, which is always below the process
-   stratum.  */
+   stratum.
+
+   Note that rather than allow an empty stack, we always have the
+   dummy target at the bottom stratum, so we can call the target
+   methods without checking them.  */
 
 #include "target/target.h"
 #include "target/resume.h"
@@ -87,7 +91,8 @@ enum strata
     process_stratum,		/* Executing processes or core dump files */
     thread_stratum,		/* Executing threads */
     record_stratum,		/* Support record debugging */
-    arch_stratum		/* Architecture overrides */
+    arch_stratum,		/* Architecture overrides */
+    debug_stratum		/* Target debug.  Must be last.  */
   };
 
 enum thread_control_capabilities
@@ -227,9 +232,6 @@ enum target_xfer_status
 extern const char *
   target_xfer_status_to_string (enum target_xfer_status status);
 
-typedef struct static_tracepoint_marker *static_tracepoint_marker_p;
-DEF_VEC_P(static_tracepoint_marker_p);
-
 typedef enum target_xfer_status
   target_xfer_partial_ftype (struct target_ops *ops,
 			     enum target_object object,
@@ -327,29 +329,26 @@ LONGEST target_write_with_progress (stru
 				    void (*progress) (ULONGEST, void *),
 				    void *baton);
 
-/* Wrapper to perform a full read of unknown size.  OBJECT/ANNEX will
-   be read using OPS.  The return value will be -1 if the transfer
-   fails or is not supported; 0 if the object is empty; or the length
-   of the object otherwise.  If a positive value is returned, a
-   sufficiently large buffer will be allocated using xmalloc and
-   returned in *BUF_P containing the contents of the object.
+/* Wrapper to perform a full read of unknown size.  OBJECT/ANNEX will be read
+   using OPS.  The return value will be uninstantiated if the transfer fails or
+   is not supported.
 
    This method should be used for objects sufficiently small to store
    in a single xmalloc'd buffer, when no fixed bound on the object's
    size is known in advance.  Don't try to read TARGET_OBJECT_MEMORY
    through this function.  */
 
-extern LONGEST target_read_alloc (struct target_ops *ops,
-				  enum target_object object,
-				  const char *annex, gdb_byte **buf_p);
-
-/* Read OBJECT/ANNEX using OPS.  The result is NUL-terminated and
-   returned as a string.  If an error occurs or the transfer is
-   unsupported, NULL is returned.  Empty objects are returned as
-   allocated but empty strings.  A warning is issued if the result
-   contains any embedded NUL bytes.  */
+extern gdb::optional<gdb::byte_vector> target_read_alloc
+    (struct target_ops *ops, enum target_object object, const char *annex);
+
+/* Read OBJECT/ANNEX using OPS.  The result is a NUL-terminated character vector
+   (therefore usable as a NUL-terminated string).  If an error occurs or the
+   transfer is unsupported, the return value will be uninstantiated.  Empty
+   objects are returned as allocated but empty strings.  Therefore, on success,
+   the returned vector is guaranteed to have at least one element.  A warning is
+   issued if the result contains any embedded NUL bytes.  */
 
-extern gdb::unique_xmalloc_ptr<char> target_read_stralloc
+extern gdb::optional<gdb::char_vector> target_read_stralloc
     (struct target_ops *ops, enum target_object object, const char *annex);
 
 /* See target_ops->to_xfer_partial.  */
@@ -409,67 +408,92 @@ typedef void async_callback_ftype (enum 
 #define TARGET_DEFAULT_RETURN(ARG)
 #define TARGET_DEFAULT_FUNC(ARG)
 
+/* Each target that can be activated with "target TARGET_NAME" passes
+   the address of one of these objects to add_target, which uses the
+   object's address as unique identifier, and registers the "target
+   TARGET_NAME" command using SHORTNAME as target name.  */
+
+struct target_info
+{
+  /* Name of this target.  */
+  const char *shortname;
+
+  /* Name for printing.  */
+  const char *longname;
+
+  /* Documentation.  Does not include trailing newline, and starts
+     with a one-line description (probably similar to longname).  */
+  const char *doc;
+};
+
 struct target_ops
   {
-    struct target_ops *beneath;	/* To the target under this one.  */
-    const char *to_shortname;	/* Name this target type */
-    const char *to_longname;	/* Name for printing */
-    const char *to_doc;		/* Documentation.  Does not include trailing
-				   newline, and starts with a one-line descrip-
-				   tion (probably similar to to_longname).  */
-    /* Per-target scratch pad.  */
-    void *to_data;
-    /* The open routine takes the rest of the parameters from the
-       command, and (if successful) pushes a new target onto the
-       stack.  Targets should supply this routine, if only to provide
-       an error message.  */
-    void (*to_open) (const char *, int);
-    /* Old targets with a static target vector provide "to_close".
-       New re-entrant targets provide "to_xclose" and that is expected
-       to xfree everything (including the "struct target_ops").  */
-    void (*to_xclose) (struct target_ops *targ);
-    void (*to_close) (struct target_ops *);
+    /* To the target under this one.  */
+    target_ops *beneath () const;
+
+    /* Free resources associated with the target.  Note that singleton
+       targets, like e.g., native targets, are global objects, not
+       heap allocated, and are thus only deleted on GDB exit.  The
+       main teardown entry point is the "close" method, below.  */
+    virtual ~target_ops () {}
+
+    /* Return a reference to this target's unique target_info
+       object.  */
+    virtual const target_info &info () const = 0;
+
+    /* Name this target type.  */
+    const char *shortname ()
+    { return info ().shortname; }
+
+    const char *longname ()
+    { return info ().longname; }
+
+    /* Close the target.  This is where the target can handle
+       teardown.  Heap-allocated targets should delete themselves
+       before returning.  */
+    virtual void close ();
+
     /* Attaches to a process on the target side.  Arguments are as
        passed to the `attach' command by the user.  This routine can
        be called when the target is not on the target-stack, if the
-       target_can_run routine returns 1; in that case, it must push
+       target_ops::can_run method returns 1; in that case, it must push
        itself onto the stack.  Upon exit, the target should be ready
        for normal operations, and should be ready to deliver the
        status of the process immediately (without waiting) to an
        upcoming target_wait call.  */
-    void (*to_attach) (struct target_ops *ops, const char *, int);
-    void (*to_post_attach) (struct target_ops *, int)
+    virtual bool can_attach ();
+    virtual void attach (const char *, int);
+    virtual void post_attach (int)
       TARGET_DEFAULT_IGNORE ();
-    void (*to_detach) (struct target_ops *ops, const char *, int)
+    virtual void detach (inferior *, int)
       TARGET_DEFAULT_IGNORE ();
-    void (*to_disconnect) (struct target_ops *, const char *, int)
+    virtual void disconnect (const char *, int)
       TARGET_DEFAULT_NORETURN (tcomplain ());
-    void (*to_resume) (struct target_ops *, ptid_t,
-		       int TARGET_DEBUG_PRINTER (target_debug_print_step),
-		       enum gdb_signal)
+    virtual void resume (ptid_t,
+			 int TARGET_DEBUG_PRINTER (target_debug_print_step),
+			 enum gdb_signal)
       TARGET_DEFAULT_NORETURN (noprocess ());
-    void (*to_commit_resume) (struct target_ops *)
+    virtual void commit_resume ()
       TARGET_DEFAULT_IGNORE ();
-    ptid_t (*to_wait) (struct target_ops *,
-		       ptid_t, struct target_waitstatus *,
-		       int TARGET_DEBUG_PRINTER (target_debug_print_options))
+    virtual ptid_t wait (ptid_t, struct target_waitstatus *,
+			 int TARGET_DEBUG_PRINTER (target_debug_print_options))
       TARGET_DEFAULT_FUNC (default_target_wait);
-    void (*to_fetch_registers) (struct target_ops *, struct regcache *, int)
+    virtual void fetch_registers (struct regcache *, int)
       TARGET_DEFAULT_IGNORE ();
-    void (*to_store_registers) (struct target_ops *, struct regcache *, int)
+    virtual void store_registers (struct regcache *, int)
       TARGET_DEFAULT_NORETURN (noprocess ());
-    void (*to_prepare_to_store) (struct target_ops *, struct regcache *)
+    virtual void prepare_to_store (struct regcache *)
       TARGET_DEFAULT_NORETURN (noprocess ());
 
-    void (*to_files_info) (struct target_ops *)
+    virtual void files_info ()
       TARGET_DEFAULT_IGNORE ();
-    int (*to_insert_breakpoint) (struct target_ops *, struct gdbarch *,
+    virtual int insert_breakpoint (struct gdbarch *,
 				 struct bp_target_info *)
-      TARGET_DEFAULT_FUNC (memory_insert_breakpoint);
-    int (*to_remove_breakpoint) (struct target_ops *, struct gdbarch *,
+      TARGET_DEFAULT_NORETURN (noprocess ());
+    virtual int remove_breakpoint (struct gdbarch *,
 				 struct bp_target_info *,
 				 enum remove_bp_reason)
-      TARGET_DEFAULT_FUNC (memory_remove_breakpoint);
+      TARGET_DEFAULT_NORETURN (noprocess ());
 
     /* Returns true if the target stopped because it executed a
        software breakpoint.  This is necessary for correct background
@@ -480,11 +504,11 @@ struct target_ops
        done from the target, so GDB needs to be able to tell whether
        it should ignore the event and whether it should adjust the PC.
        See adjust_pc_after_break.  */
-    int (*to_stopped_by_sw_breakpoint) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool stopped_by_sw_breakpoint ()
+      TARGET_DEFAULT_RETURN (false);
     /* Returns true if the above method is supported.  */
-    int (*to_supports_stopped_by_sw_breakpoint) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool supports_stopped_by_sw_breakpoint ()
+      TARGET_DEFAULT_RETURN (false);
 
     /* Returns true if the target stopped for a hardware breakpoint.
        Likewise, if the target supports hardware breakpoints, this
@@ -493,204 +517,203 @@ struct target_ops
        require PC adjustment, GDB needs to be able to tell whether the
        hardware breakpoint event is a delayed event for a breakpoint
        that is already gone and should thus be ignored.  */
-    int (*to_stopped_by_hw_breakpoint) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool stopped_by_hw_breakpoint ()
+      TARGET_DEFAULT_RETURN (false);
     /* Returns true if the above method is supported.  */
-    int (*to_supports_stopped_by_hw_breakpoint) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool supports_stopped_by_hw_breakpoint ()
+      TARGET_DEFAULT_RETURN (false);
 
-    int (*to_can_use_hw_breakpoint) (struct target_ops *,
-				     enum bptype, int, int)
+    virtual int can_use_hw_breakpoint (enum bptype, int, int)
       TARGET_DEFAULT_RETURN (0);
-    int (*to_ranged_break_num_registers) (struct target_ops *)
+    virtual int ranged_break_num_registers ()
       TARGET_DEFAULT_RETURN (-1);
-    int (*to_insert_hw_breakpoint) (struct target_ops *,
-				    struct gdbarch *, struct bp_target_info *)
+    virtual int insert_hw_breakpoint (struct gdbarch *,
+				      struct bp_target_info *)
       TARGET_DEFAULT_RETURN (-1);
-    int (*to_remove_hw_breakpoint) (struct target_ops *,
-				    struct gdbarch *, struct bp_target_info *)
+    virtual int remove_hw_breakpoint (struct gdbarch *,
+				      struct bp_target_info *)
       TARGET_DEFAULT_RETURN (-1);
 
     /* Documentation of what the two routines below are expected to do is
        provided with the corresponding target_* macros.  */
-    int (*to_remove_watchpoint) (struct target_ops *, CORE_ADDR, int,
+    virtual int remove_watchpoint (CORE_ADDR, int,
 				 enum target_hw_bp_type, struct expression *)
       TARGET_DEFAULT_RETURN (-1);
-    int (*to_insert_watchpoint) (struct target_ops *, CORE_ADDR, int,
+    virtual int insert_watchpoint (CORE_ADDR, int,
 				 enum target_hw_bp_type, struct expression *)
       TARGET_DEFAULT_RETURN (-1);
 
-    int (*to_insert_mask_watchpoint) (struct target_ops *,
-				      CORE_ADDR, CORE_ADDR,
-				      enum target_hw_bp_type)
+    virtual int insert_mask_watchpoint (CORE_ADDR, CORE_ADDR,
+					enum target_hw_bp_type)
       TARGET_DEFAULT_RETURN (1);
-    int (*to_remove_mask_watchpoint) (struct target_ops *,
-				      CORE_ADDR, CORE_ADDR,
-				      enum target_hw_bp_type)
+    virtual int remove_mask_watchpoint (CORE_ADDR, CORE_ADDR,
+					enum target_hw_bp_type)
       TARGET_DEFAULT_RETURN (1);
-    int (*to_stopped_by_watchpoint) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
-    int to_have_steppable_watchpoint;
-    int to_have_continuable_watchpoint;
-    int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *)
-      TARGET_DEFAULT_RETURN (0);
-    int (*to_watchpoint_addr_within_range) (struct target_ops *,
-					    CORE_ADDR, CORE_ADDR, int)
+    virtual bool stopped_by_watchpoint ()
+      TARGET_DEFAULT_RETURN (false);
+    virtual int have_steppable_watchpoint ()
+      TARGET_DEFAULT_RETURN (false);
+    virtual bool have_continuable_watchpoint ()
+      TARGET_DEFAULT_RETURN (false);
+    virtual bool stopped_data_address (CORE_ADDR *)
+      TARGET_DEFAULT_RETURN (false);
+    virtual bool watchpoint_addr_within_range (CORE_ADDR, CORE_ADDR, int)
       TARGET_DEFAULT_FUNC (default_watchpoint_addr_within_range);
 
     /* Documentation of this routine is provided with the corresponding
        target_* macro.  */
-    int (*to_region_ok_for_hw_watchpoint) (struct target_ops *,
-					   CORE_ADDR, int)
+    virtual int region_ok_for_hw_watchpoint (CORE_ADDR, int)
       TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint);
 
-    int (*to_can_accel_watchpoint_condition) (struct target_ops *,
-					      CORE_ADDR, int, int,
-					      struct expression *)
-      TARGET_DEFAULT_RETURN (0);
-    int (*to_masked_watch_num_registers) (struct target_ops *,
-					  CORE_ADDR, CORE_ADDR)
+    virtual bool can_accel_watchpoint_condition (CORE_ADDR, int, int,
+						 struct expression *)
+      TARGET_DEFAULT_RETURN (false);
+    virtual int masked_watch_num_registers (CORE_ADDR, CORE_ADDR)
       TARGET_DEFAULT_RETURN (-1);
 
     /* Return 1 for sure target can do single step.  Return -1 for
        unknown.  Return 0 for target can't do.  */
-    int (*to_can_do_single_step) (struct target_ops *)
+    virtual int can_do_single_step ()
       TARGET_DEFAULT_RETURN (-1);
 
-    void (*to_terminal_init) (struct target_ops *)
+    virtual bool supports_terminal_ours ()
+      TARGET_DEFAULT_RETURN (false);
+    virtual void terminal_init ()
       TARGET_DEFAULT_IGNORE ();
-    void (*to_terminal_inferior) (struct target_ops *)
+    virtual void terminal_inferior ()
       TARGET_DEFAULT_IGNORE ();
-    void (*to_terminal_ours_for_output) (struct target_ops *)
+    virtual void terminal_save_inferior ()
       TARGET_DEFAULT_IGNORE ();
-    void (*to_terminal_ours) (struct target_ops *)
+    virtual void terminal_ours_for_output ()
       TARGET_DEFAULT_IGNORE ();
-    void (*to_terminal_info) (struct target_ops *, const char *, int)
+    virtual void terminal_ours ()
+      TARGET_DEFAULT_IGNORE ();
+    virtual void terminal_info (const char *, int)
       TARGET_DEFAULT_FUNC (default_terminal_info);
-    void (*to_kill) (struct target_ops *)
+    virtual void kill ()
       TARGET_DEFAULT_NORETURN (noprocess ());
-    void (*to_load) (struct target_ops *, const char *, int)
+    virtual void load (const char *, int)
       TARGET_DEFAULT_NORETURN (tcomplain ());
     /* Start an inferior process and set inferior_ptid to its pid.
        EXEC_FILE is the file to run.
        ALLARGS is a string containing the arguments to the program.
        ENV is the environment vector to pass.  Errors reported with error().
        On VxWorks and various standalone systems, we ignore exec_file.  */
-    void (*to_create_inferior) (struct target_ops *, 
-				const char *, const std::string &,
-				char **, int);
-    void (*to_post_startup_inferior) (struct target_ops *, ptid_t)
+    virtual bool can_create_inferior ();
+    virtual void create_inferior (const char *, const std::string &,
+				  char **, int);
+    virtual void post_startup_inferior (ptid_t)
       TARGET_DEFAULT_IGNORE ();
-    int (*to_insert_fork_catchpoint) (struct target_ops *, int)
+    virtual int insert_fork_catchpoint (int)
       TARGET_DEFAULT_RETURN (1);
-    int (*to_remove_fork_catchpoint) (struct target_ops *, int)
+    virtual int remove_fork_catchpoint (int)
       TARGET_DEFAULT_RETURN (1);
-    int (*to_insert_vfork_catchpoint) (struct target_ops *, int)
+    virtual int insert_vfork_catchpoint (int)
       TARGET_DEFAULT_RETURN (1);
-    int (*to_remove_vfork_catchpoint) (struct target_ops *, int)
+    virtual int remove_vfork_catchpoint (int)
       TARGET_DEFAULT_RETURN (1);
-    int (*to_follow_fork) (struct target_ops *, int, int)
+    virtual int follow_fork (int, int)
       TARGET_DEFAULT_FUNC (default_follow_fork);
-    int (*to_insert_exec_catchpoint) (struct target_ops *, int)
+    virtual int insert_exec_catchpoint (int)
       TARGET_DEFAULT_RETURN (1);
-    int (*to_remove_exec_catchpoint) (struct target_ops *, int)
+    virtual int remove_exec_catchpoint (int)
       TARGET_DEFAULT_RETURN (1);
-    void (*to_follow_exec) (struct target_ops *, struct inferior *, char *)
+    virtual void follow_exec (struct inferior *, char *)
       TARGET_DEFAULT_IGNORE ();
-    int (*to_set_syscall_catchpoint) (struct target_ops *,
-				      int, bool, int,
-				      gdb::array_view<const int>)
+    virtual int set_syscall_catchpoint (int, bool, int,
+					gdb::array_view<const int>)
       TARGET_DEFAULT_RETURN (1);
-    int (*to_has_exited) (struct target_ops *, int, int, int *)
-      TARGET_DEFAULT_RETURN (0);
-    void (*to_mourn_inferior) (struct target_ops *)
+    virtual void mourn_inferior ()
       TARGET_DEFAULT_FUNC (default_mourn_inferior);
-    /* Note that to_can_run is special and can be invoked on an
-       unpushed target.  Targets defining this method must also define
+
+    /* Note that can_run is special and can be invoked on an unpushed
+       target.  Targets defining this method must also define
        to_can_async_p and to_supports_non_stop.  */
-    int (*to_can_run) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool can_run ();
 
     /* Documentation of this routine is provided with the corresponding
        target_* macro.  */
-    void (*to_pass_signals) (struct target_ops *, int,
-			     unsigned char * TARGET_DEBUG_PRINTER (target_debug_print_signals))
+    virtual void pass_signals (int,
+			       unsigned char * TARGET_DEBUG_PRINTER (target_debug_print_signals))
       TARGET_DEFAULT_IGNORE ();
 
     /* Documentation of this routine is provided with the
        corresponding target_* function.  */
-    void (*to_program_signals) (struct target_ops *, int,
-				unsigned char * TARGET_DEBUG_PRINTER (target_debug_print_signals))
+    virtual void program_signals (int,
+				  unsigned char * TARGET_DEBUG_PRINTER (target_debug_print_signals))
       TARGET_DEFAULT_IGNORE ();
 
-    int (*to_thread_alive) (struct target_ops *, ptid_t ptid)
-      TARGET_DEFAULT_RETURN (0);
-    void (*to_update_thread_list) (struct target_ops *)
+    virtual bool thread_alive (ptid_t ptid)
+      TARGET_DEFAULT_RETURN (false);
+    virtual void update_thread_list ()
       TARGET_DEFAULT_IGNORE ();
-    const char *(*to_pid_to_str) (struct target_ops *, ptid_t)
+    virtual const char *pid_to_str (ptid_t)
       TARGET_DEFAULT_FUNC (default_pid_to_str);
-    const char *(*to_extra_thread_info) (struct target_ops *, struct thread_info *)
+    virtual const char *extra_thread_info (thread_info *)
       TARGET_DEFAULT_RETURN (NULL);
-    const char *(*to_thread_name) (struct target_ops *, struct thread_info *)
+    virtual const char *thread_name (thread_info *)
       TARGET_DEFAULT_RETURN (NULL);
-    struct thread_info *(*to_thread_handle_to_thread_info) (struct target_ops *,
-                                                            const gdb_byte *,
-							    int,
-							    struct inferior *inf)
+    virtual thread_info *thread_handle_to_thread_info (const gdb_byte *,
+						       int,
+						       inferior *inf)
       TARGET_DEFAULT_RETURN (NULL);
-    void (*to_stop) (struct target_ops *, ptid_t)
+    virtual void stop (ptid_t)
       TARGET_DEFAULT_IGNORE ();
-    void (*to_interrupt) (struct target_ops *, ptid_t)
+    virtual void interrupt ()
       TARGET_DEFAULT_IGNORE ();
-    void (*to_pass_ctrlc) (struct target_ops *)
+    virtual void pass_ctrlc ()
       TARGET_DEFAULT_FUNC (default_target_pass_ctrlc);
-    void (*to_rcmd) (struct target_ops *,
-		     const char *command, struct ui_file *output)
+    virtual void rcmd (const char *command, struct ui_file *output)
       TARGET_DEFAULT_FUNC (default_rcmd);
-    char *(*to_pid_to_exec_file) (struct target_ops *, int pid)
+    virtual char *pid_to_exec_file (int pid)
       TARGET_DEFAULT_RETURN (NULL);
-    void (*to_log_command) (struct target_ops *, const char *)
+    virtual void log_command (const char *)
       TARGET_DEFAULT_IGNORE ();
-    struct target_section_table *(*to_get_section_table) (struct target_ops *)
+    virtual struct target_section_table *get_section_table ()
       TARGET_DEFAULT_RETURN (NULL);
     enum strata to_stratum;
-    int (*to_has_all_memory) (struct target_ops *);
-    int (*to_has_memory) (struct target_ops *);
-    int (*to_has_stack) (struct target_ops *);
-    int (*to_has_registers) (struct target_ops *);
-    int (*to_has_execution) (struct target_ops *, ptid_t);
-    int to_has_thread_control;	/* control thread execution */
-    int to_attach_no_wait;
-    /* This method must be implemented in some situations.  See the
-       comment on 'to_can_run'.  */
-    int (*to_can_async_p) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
-    int (*to_is_async_p) (struct target_ops *)
+
+    /* Provide default values for all "must have" methods.  */
+    virtual bool has_all_memory () { return false; }
+    virtual bool has_memory () { return false; }
+    virtual bool has_stack () { return false; }
+    virtual bool has_registers () { return false; }
+    virtual bool has_execution (ptid_t) { return false; }
+
+    /* Control thread execution.  */
+    virtual thread_control_capabilities get_thread_control_capabilities ()
+      TARGET_DEFAULT_RETURN (tc_none);
+    virtual bool attach_no_wait ()
       TARGET_DEFAULT_RETURN (0);
-    void (*to_async) (struct target_ops *, int)
+    /* This method must be implemented in some situations.  See the
+       comment on 'can_run'.  */
+    virtual bool can_async_p ()
+      TARGET_DEFAULT_RETURN (false);
+    virtual bool is_async_p ()
+      TARGET_DEFAULT_RETURN (false);
+    virtual void async (int)
       TARGET_DEFAULT_NORETURN (tcomplain ());
-    void (*to_thread_events) (struct target_ops *, int)
+    virtual void thread_events (int)
       TARGET_DEFAULT_IGNORE ();
     /* This method must be implemented in some situations.  See the
-       comment on 'to_can_run'.  */
-    int (*to_supports_non_stop) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+       comment on 'can_run'.  */
+    virtual bool supports_non_stop ()
+      TARGET_DEFAULT_RETURN (false);
     /* Return true if the target operates in non-stop mode even with
        "set non-stop off".  */
-    int (*to_always_non_stop_p) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool always_non_stop_p ()
+      TARGET_DEFAULT_RETURN (false);
     /* find_memory_regions support method for gcore */
-    int (*to_find_memory_regions) (struct target_ops *,
-				   find_memory_region_ftype func, void *data)
+    virtual int find_memory_regions (find_memory_region_ftype func, void *data)
       TARGET_DEFAULT_FUNC (dummy_find_memory_regions);
     /* make_corefile_notes support method for gcore */
-    char * (*to_make_corefile_notes) (struct target_ops *, bfd *, int *)
+    virtual char *make_corefile_notes (bfd *, int *)
       TARGET_DEFAULT_FUNC (dummy_make_corefile_notes);
     /* get_bookmark support method for bookmarks */
-    gdb_byte * (*to_get_bookmark) (struct target_ops *, const char *, int)
+    virtual gdb_byte *get_bookmark (const char *, int)
       TARGET_DEFAULT_NORETURN (tcomplain ());
     /* goto_bookmark support method for bookmarks */
-    void (*to_goto_bookmark) (struct target_ops *, const gdb_byte *, int)
+    virtual void goto_bookmark (const gdb_byte *, int)
       TARGET_DEFAULT_NORETURN (tcomplain ());
     /* Return the thread-local address at OFFSET in the
        thread-local storage for the thread PTID and the shared library
@@ -698,10 +721,9 @@ struct target_ops
        thread-local storage hasn't been allocated yet, this function
        may return an error.  LOAD_MODULE_ADDR may be zero for statically
        linked multithreaded inferiors.  */
-    CORE_ADDR (*to_get_thread_local_address) (struct target_ops *ops,
-					      ptid_t ptid,
-					      CORE_ADDR load_module_addr,
-					      CORE_ADDR offset)
+    virtual CORE_ADDR get_thread_local_address (ptid_t ptid,
+						CORE_ADDR load_module_addr,
+						CORE_ADDR offset)
       TARGET_DEFAULT_NORETURN (generic_tls_error ());
 
     /* Request that OPS transfer up to LEN addressable units of the target's
@@ -736,19 +758,18 @@ struct target_ops
        See target_read and target_write for more information.  One,
        and only one, of readbuf or writebuf must be non-NULL.  */
 
-    enum target_xfer_status (*to_xfer_partial) (struct target_ops *ops,
-						enum target_object object,
-						const char *annex,
-						gdb_byte *readbuf,
-						const gdb_byte *writebuf,
-						ULONGEST offset, ULONGEST len,
-						ULONGEST *xfered_len)
+    virtual enum target_xfer_status xfer_partial (enum target_object object,
+						  const char *annex,
+						  gdb_byte *readbuf,
+						  const gdb_byte *writebuf,
+						  ULONGEST offset, ULONGEST len,
+						  ULONGEST *xfered_len)
       TARGET_DEFAULT_RETURN (TARGET_XFER_E_IO);
 
     /* Return the limit on the size of any single memory transfer
        for the target.  */
 
-    ULONGEST (*to_get_memory_xfer_limit) (struct target_ops *)
+    virtual ULONGEST get_memory_xfer_limit ()
       TARGET_DEFAULT_RETURN (ULONGEST_MAX);
 
     /* Returns the memory map for the target.  A return value of NULL
@@ -764,7 +785,7 @@ struct target_ops
        This method should not cache data; if the memory map could
        change unexpectedly, it should be invalidated, and higher
        layers will re-fetch it.  */
-    std::vector<mem_region> (*to_memory_map) (struct target_ops *)
+    virtual std::vector<mem_region> memory_map ()
       TARGET_DEFAULT_RETURN (std::vector<mem_region> ());
 
     /* Erases the region of flash memory starting at ADDRESS, of
@@ -772,38 +793,36 @@ struct target_ops
 
        Precondition: both ADDRESS and ADDRESS+LENGTH should be aligned
        on flash block boundaries, as reported by 'to_memory_map'.  */
-    void (*to_flash_erase) (struct target_ops *,
-                           ULONGEST address, LONGEST length)
+    virtual void flash_erase (ULONGEST address, LONGEST length)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Finishes a flash memory write sequence.  After this operation
        all flash memory should be available for writing and the result
        of reading from areas written by 'to_flash_write' should be
        equal to what was written.  */
-    void (*to_flash_done) (struct target_ops *)
+    virtual void flash_done ()
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Describe the architecture-specific features of this target.  If
        OPS doesn't have a description, this should delegate to the
        "beneath" target.  Returns the description found, or NULL if no
        description was available.  */
-    const struct target_desc *(*to_read_description) (struct target_ops *ops)
+    virtual const struct target_desc *read_description ()
 	 TARGET_DEFAULT_RETURN (NULL);
 
     /* Build the PTID of the thread on which a given task is running,
        based on LWP and THREAD.  These values are extracted from the
        task Private_Data section of the Ada Task Control Block, and
        their interpretation depends on the target.  */
-    ptid_t (*to_get_ada_task_ptid) (struct target_ops *,
-				    long lwp, long thread)
+    virtual ptid_t get_ada_task_ptid (long lwp, long thread)
       TARGET_DEFAULT_FUNC (default_get_ada_task_ptid);
 
     /* Read one auxv entry from *READPTR, not reading locations >= ENDPTR.
        Return 0 if *READPTR is already at the end of the buffer.
        Return -1 if there is insufficient buffer for a whole entry.
        Return 1 if an entry was read into *TYPEP and *VALP.  */
-    int (*to_auxv_parse) (struct target_ops *ops, gdb_byte **readptr,
-                         gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
+    virtual int auxv_parse (gdb_byte **readptr,
+			    gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
       TARGET_DEFAULT_FUNC (default_auxv_parse);
 
     /* Search SEARCH_SPACE_LEN bytes beginning at START_ADDR for the
@@ -812,48 +831,48 @@ struct target_ops
        The result is 1 if found, 0 if not found, and -1 if there was an error
        requiring halting of the search (e.g. memory read error).
        If the pattern is found the address is recorded in FOUND_ADDRP.  */
-    int (*to_search_memory) (struct target_ops *ops,
-			     CORE_ADDR start_addr, ULONGEST search_space_len,
-			     const gdb_byte *pattern, ULONGEST pattern_len,
-			     CORE_ADDR *found_addrp)
+    virtual int search_memory (CORE_ADDR start_addr, ULONGEST search_space_len,
+			       const gdb_byte *pattern, ULONGEST pattern_len,
+			       CORE_ADDR *found_addrp)
       TARGET_DEFAULT_FUNC (default_search_memory);
 
     /* Can target execute in reverse?  */
-    int (*to_can_execute_reverse) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool can_execute_reverse ()
+      TARGET_DEFAULT_RETURN (false);
 
     /* The direction the target is currently executing.  Must be
        implemented on targets that support reverse execution and async
        mode.  The default simply returns forward execution.  */
-    enum exec_direction_kind (*to_execution_direction) (struct target_ops *)
+    virtual enum exec_direction_kind execution_direction ()
       TARGET_DEFAULT_FUNC (default_execution_direction);
 
     /* Does this target support debugging multiple processes
        simultaneously?  */
-    int (*to_supports_multi_process) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool supports_multi_process ()
+      TARGET_DEFAULT_RETURN (false);
 
     /* Does this target support enabling and disabling tracepoints while a trace
        experiment is running?  */
-    int (*to_supports_enable_disable_tracepoint) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool supports_enable_disable_tracepoint ()
+      TARGET_DEFAULT_RETURN (false);
 
     /* Does this target support disabling address space randomization?  */
-    int (*to_supports_disable_randomization) (struct target_ops *);
+    virtual bool supports_disable_randomization ()
+      TARGET_DEFAULT_FUNC (find_default_supports_disable_randomization);
 
     /* Does this target support the tracenz bytecode for string collection?  */
-    int (*to_supports_string_tracing) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool supports_string_tracing ()
+      TARGET_DEFAULT_RETURN (false);
 
     /* Does this target support evaluation of breakpoint conditions on its
        end?  */
-    int (*to_supports_evaluation_of_breakpoint_conditions) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool supports_evaluation_of_breakpoint_conditions ()
+      TARGET_DEFAULT_RETURN (false);
 
     /* Does this target support evaluation of breakpoint commands on its
        end?  */
-    int (*to_can_run_breakpoint_commands) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool can_run_breakpoint_commands ()
+      TARGET_DEFAULT_RETURN (false);
 
     /* Determine current architecture of thread PTID.
 
@@ -865,23 +884,22 @@ struct target_ops
        ptrace operations need to operate according to target_gdbarch ().
 
        The default implementation always returns target_gdbarch ().  */
-    struct gdbarch *(*to_thread_architecture) (struct target_ops *, ptid_t)
+    virtual struct gdbarch *thread_architecture (ptid_t)
       TARGET_DEFAULT_FUNC (default_thread_architecture);
 
     /* Determine current address space of thread PTID.
 
        The default implementation always returns the inferior's
        address space.  */
-    struct address_space *(*to_thread_address_space) (struct target_ops *,
-						      ptid_t)
+    virtual struct address_space *thread_address_space (ptid_t)
       TARGET_DEFAULT_FUNC (default_thread_address_space);
 
     /* Target file operations.  */
 
     /* Return nonzero if the filesystem seen by the current inferior
        is the local filesystem, zero otherwise.  */
-    int (*to_filesystem_is_local) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (1);
+    virtual bool filesystem_is_local ()
+      TARGET_DEFAULT_RETURN (true);
 
     /* Open FILENAME on the target, in the filesystem as seen by INF,
        using FLAGS and MODE.  If INF is NULL, use the filesystem seen
@@ -890,111 +908,99 @@ struct target_ops
        is being accessed over a link that may be slow.  Return a
        target file descriptor, or -1 if an error occurs (and set
        *TARGET_ERRNO).  */
-    int (*to_fileio_open) (struct target_ops *,
-			   struct inferior *inf, const char *filename,
-			   int flags, int mode, int warn_if_slow,
-			   int *target_errno);
+    virtual int fileio_open (struct inferior *inf, const char *filename,
+			     int flags, int mode, int warn_if_slow,
+			     int *target_errno);
 
     /* Write up to LEN bytes from WRITE_BUF to FD on the target.
        Return the number of bytes written, or -1 if an error occurs
        (and set *TARGET_ERRNO).  */
-    int (*to_fileio_pwrite) (struct target_ops *,
-			     int fd, const gdb_byte *write_buf, int len,
-			     ULONGEST offset, int *target_errno);
+    virtual int fileio_pwrite (int fd, const gdb_byte *write_buf, int len,
+			       ULONGEST offset, int *target_errno);
 
     /* Read up to LEN bytes FD on the target into READ_BUF.
        Return the number of bytes read, or -1 if an error occurs
        (and set *TARGET_ERRNO).  */
-    int (*to_fileio_pread) (struct target_ops *,
-			    int fd, gdb_byte *read_buf, int len,
-			    ULONGEST offset, int *target_errno);
+    virtual int fileio_pread (int fd, gdb_byte *read_buf, int len,
+			      ULONGEST offset, int *target_errno);
 
     /* Get information about the file opened as FD and put it in
        SB.  Return 0 on success, or -1 if an error occurs (and set
        *TARGET_ERRNO).  */
-    int (*to_fileio_fstat) (struct target_ops *,
-			    int fd, struct stat *sb, int *target_errno);
+    virtual int fileio_fstat (int fd, struct stat *sb, int *target_errno);
 
     /* Close FD on the target.  Return 0, or -1 if an error occurs
        (and set *TARGET_ERRNO).  */
-    int (*to_fileio_close) (struct target_ops *, int fd, int *target_errno);
+    virtual int fileio_close (int fd, int *target_errno);
 
     /* Unlink FILENAME on the target, in the filesystem as seen by
        INF.  If INF is NULL, use the filesystem seen by the debugger
        (GDB or, for remote targets, the remote stub).  Return 0, or
        -1 if an error occurs (and set *TARGET_ERRNO).  */
-    int (*to_fileio_unlink) (struct target_ops *,
-			     struct inferior *inf,
-			     const char *filename,
-			     int *target_errno);
+    virtual int fileio_unlink (struct inferior *inf,
+			       const char *filename,
+			       int *target_errno);
 
     /* Read value of symbolic link FILENAME on the target, in the
        filesystem as seen by INF.  If INF is NULL, use the filesystem
        seen by the debugger (GDB or, for remote targets, the remote
-       stub).  Return a null-terminated string allocated via xmalloc,
-       or NULL if an error occurs (and set *TARGET_ERRNO).  */
-    char *(*to_fileio_readlink) (struct target_ops *,
-				 struct inferior *inf,
-				 const char *filename,
-				 int *target_errno);
-
-
-    /* Implement the "info proc" command.  */
-    void (*to_info_proc) (struct target_ops *, const char *,
-			  enum info_proc_what);
+       stub).  Return a string, or an empty optional if an error
+       occurs (and set *TARGET_ERRNO).  */
+    virtual gdb::optional<std::string> fileio_readlink (struct inferior *inf,
+							const char *filename,
+							int *target_errno);
+
+    /* Implement the "info proc" command.  Returns true if the target
+       actually implemented the command, false otherwise.  */
+    virtual bool info_proc (const char *, enum info_proc_what);
 
     /* Tracepoint-related operations.  */
 
     /* Prepare the target for a tracing run.  */
-    void (*to_trace_init) (struct target_ops *)
+    virtual void trace_init ()
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Send full details of a tracepoint location to the target.  */
-    void (*to_download_tracepoint) (struct target_ops *,
-				    struct bp_location *location)
+    virtual void download_tracepoint (struct bp_location *location)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Is the target able to download tracepoint locations in current
        state?  */
-    int (*to_can_download_tracepoint) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool can_download_tracepoint ()
+      TARGET_DEFAULT_RETURN (false);
 
     /* Send full details of a trace state variable to the target.  */
-    void (*to_download_trace_state_variable) (struct target_ops *,
-					      struct trace_state_variable *tsv)
+    virtual void download_trace_state_variable (const trace_state_variable &tsv)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Enable a tracepoint on the target.  */
-    void (*to_enable_tracepoint) (struct target_ops *,
-				  struct bp_location *location)
+    virtual void enable_tracepoint (struct bp_location *location)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Disable a tracepoint on the target.  */
-    void (*to_disable_tracepoint) (struct target_ops *,
-				   struct bp_location *location)
+    virtual void disable_tracepoint (struct bp_location *location)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Inform the target info of memory regions that are readonly
        (such as text sections), and so it should return data from
        those rather than look in the trace buffer.  */
-    void (*to_trace_set_readonly_regions) (struct target_ops *)
+    virtual void trace_set_readonly_regions ()
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Start a trace run.  */
-    void (*to_trace_start) (struct target_ops *)
+    virtual void trace_start ()
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Get the current status of a tracing run.  */
-    int (*to_get_trace_status) (struct target_ops *, struct trace_status *ts)
+    virtual int get_trace_status (struct trace_status *ts)
       TARGET_DEFAULT_RETURN (-1);
 
-    void (*to_get_tracepoint_status) (struct target_ops *,
-				      struct breakpoint *tp,
-				      struct uploaded_tp *utp)
+    virtual void get_tracepoint_status (struct breakpoint *tp,
+					struct uploaded_tp *utp)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Stop a trace run.  */
-    void (*to_trace_stop) (struct target_ops *)
+    virtual void trace_stop ()
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
    /* Ask the target to find a trace frame of the given type TYPE,
@@ -1002,56 +1008,51 @@ struct target_ops
       number of the trace frame, and also the tracepoint number at
       TPP.  If no trace frame matches, return -1.  May throw if the
       operation fails.  */
-    int (*to_trace_find) (struct target_ops *,
-			  enum trace_find_type type, int num,
-			  CORE_ADDR addr1, CORE_ADDR addr2, int *tpp)
+    virtual int trace_find (enum trace_find_type type, int num,
+			    CORE_ADDR addr1, CORE_ADDR addr2, int *tpp)
       TARGET_DEFAULT_RETURN (-1);
 
     /* Get the value of the trace state variable number TSV, returning
        1 if the value is known and writing the value itself into the
        location pointed to by VAL, else returning 0.  */
-    int (*to_get_trace_state_variable_value) (struct target_ops *,
-					      int tsv, LONGEST *val)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool get_trace_state_variable_value (int tsv, LONGEST *val)
+      TARGET_DEFAULT_RETURN (false);
 
-    int (*to_save_trace_data) (struct target_ops *, const char *filename)
+    virtual int save_trace_data (const char *filename)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
-    int (*to_upload_tracepoints) (struct target_ops *,
-				  struct uploaded_tp **utpp)
+    virtual int upload_tracepoints (struct uploaded_tp **utpp)
       TARGET_DEFAULT_RETURN (0);
 
-    int (*to_upload_trace_state_variables) (struct target_ops *,
-					    struct uploaded_tsv **utsvp)
+    virtual int upload_trace_state_variables (struct uploaded_tsv **utsvp)
       TARGET_DEFAULT_RETURN (0);
 
-    LONGEST (*to_get_raw_trace_data) (struct target_ops *, gdb_byte *buf,
-				      ULONGEST offset, LONGEST len)
+    virtual LONGEST get_raw_trace_data (gdb_byte *buf,
+					ULONGEST offset, LONGEST len)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Get the minimum length of instruction on which a fast tracepoint
        may be set on the target.  If this operation is unsupported,
        return -1.  If for some reason the minimum length cannot be
        determined, return 0.  */
-    int (*to_get_min_fast_tracepoint_insn_len) (struct target_ops *)
+    virtual int get_min_fast_tracepoint_insn_len ()
       TARGET_DEFAULT_RETURN (-1);
 
     /* Set the target's tracing behavior in response to unexpected
        disconnection - set VAL to 1 to keep tracing, 0 to stop.  */
-    void (*to_set_disconnected_tracing) (struct target_ops *, int val)
+    virtual void set_disconnected_tracing (int val)
       TARGET_DEFAULT_IGNORE ();
-    void (*to_set_circular_trace_buffer) (struct target_ops *, int val)
+    virtual void set_circular_trace_buffer (int val)
       TARGET_DEFAULT_IGNORE ();
     /* Set the size of trace buffer in the target.  */
-    void (*to_set_trace_buffer_size) (struct target_ops *, LONGEST val)
+    virtual void set_trace_buffer_size (LONGEST val)
       TARGET_DEFAULT_IGNORE ();
 
     /* Add/change textual notes about the trace run, returning 1 if
        successful, 0 otherwise.  */
-    int (*to_set_trace_notes) (struct target_ops *,
-			       const char *user, const char *notes,
-			       const char *stopnotes)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool set_trace_notes (const char *user, const char *notes,
+				  const char *stopnotes)
+      TARGET_DEFAULT_RETURN (false);
 
     /* Return the processor core that thread PTID was last seen on.
        This information is updated only when:
@@ -1060,224 +1061,265 @@ struct target_ops
        If the core cannot be determined -- either for the specified
        thread, or right now, or in this debug session, or for this
        target -- return -1.  */
-    int (*to_core_of_thread) (struct target_ops *, ptid_t ptid)
+    virtual int core_of_thread (ptid_t ptid)
       TARGET_DEFAULT_RETURN (-1);
 
     /* Verify that the memory in the [MEMADDR, MEMADDR+SIZE) range
        matches the contents of [DATA,DATA+SIZE).  Returns 1 if there's
        a match, 0 if there's a mismatch, and -1 if an error is
        encountered while reading memory.  */
-    int (*to_verify_memory) (struct target_ops *, const gdb_byte *data,
-			     CORE_ADDR memaddr, ULONGEST size)
+    virtual int verify_memory (const gdb_byte *data,
+			       CORE_ADDR memaddr, ULONGEST size)
       TARGET_DEFAULT_FUNC (default_verify_memory);
 
     /* Return the address of the start of the Thread Information Block
        a Windows OS specific feature.  */
-    int (*to_get_tib_address) (struct target_ops *,
-			       ptid_t ptid, CORE_ADDR *addr)
+    virtual bool get_tib_address (ptid_t ptid, CORE_ADDR *addr)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Send the new settings of write permission variables.  */
-    void (*to_set_permissions) (struct target_ops *)
+    virtual void set_permissions ()
       TARGET_DEFAULT_IGNORE ();
 
     /* Look for a static tracepoint marker at ADDR, and fill in MARKER
-       with its details.  Return 1 on success, 0 on failure.  */
-    int (*to_static_tracepoint_marker_at) (struct target_ops *, CORE_ADDR,
-					   struct static_tracepoint_marker *marker)
-      TARGET_DEFAULT_RETURN (0);
+       with its details.  Return true on success, false on failure.  */
+    virtual bool static_tracepoint_marker_at (CORE_ADDR,
+					      static_tracepoint_marker *marker)
+      TARGET_DEFAULT_RETURN (false);
 
     /* Return a vector of all tracepoints markers string id ID, or all
        markers if ID is NULL.  */
-    VEC(static_tracepoint_marker_p) *(*to_static_tracepoint_markers_by_strid) (struct target_ops *, const char *id)
+    virtual std::vector<static_tracepoint_marker>
+      static_tracepoint_markers_by_strid (const char *id)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Return a traceframe info object describing the current
        traceframe's contents.  This method should not cache data;
        higher layers take care of caching, invalidating, and
        re-fetching when necessary.  */
-    traceframe_info_up (*to_traceframe_info) (struct target_ops *)
+    virtual traceframe_info_up traceframe_info ()
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
-    /* Ask the target to use or not to use agent according to USE.  Return 1
-       successful, 0 otherwise.  */
-    int (*to_use_agent) (struct target_ops *, int use)
+    /* Ask the target to use or not to use agent according to USE.
+       Return true if successful, false otherwise.  */
+    virtual bool use_agent (bool use)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Is the target able to use agent in current state?  */
-    int (*to_can_use_agent) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
-
-    /* Check whether the target supports branch tracing.  */
-    int (*to_supports_btrace) (struct target_ops *, enum btrace_format)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool can_use_agent ()
+      TARGET_DEFAULT_RETURN (false);
 
     /* Enable branch tracing for PTID using CONF configuration.
        Return a branch trace target information struct for reading and for
        disabling branch trace.  */
-    struct btrace_target_info *(*to_enable_btrace) (struct target_ops *,
-						    ptid_t ptid,
-						    const struct btrace_config *conf)
+    virtual struct btrace_target_info *enable_btrace (ptid_t ptid,
+						      const struct btrace_config *conf)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Disable branch tracing and deallocate TINFO.  */
-    void (*to_disable_btrace) (struct target_ops *,
-			       struct btrace_target_info *tinfo)
+    virtual void disable_btrace (struct btrace_target_info *tinfo)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Disable branch tracing and deallocate TINFO.  This function is similar
        to to_disable_btrace, except that it is called during teardown and is
        only allowed to perform actions that are safe.  A counter-example would
        be attempting to talk to a remote target.  */
-    void (*to_teardown_btrace) (struct target_ops *,
-				struct btrace_target_info *tinfo)
+    virtual void teardown_btrace (struct btrace_target_info *tinfo)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Read branch trace data for the thread indicated by BTINFO into DATA.
        DATA is cleared before new trace is added.  */
-    enum btrace_error (*to_read_btrace) (struct target_ops *self,
-					 struct btrace_data *data,
-					 struct btrace_target_info *btinfo,
-					 enum btrace_read_type type)
+    virtual enum btrace_error read_btrace (struct btrace_data *data,
+					   struct btrace_target_info *btinfo,
+					   enum btrace_read_type type)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Get the branch trace configuration.  */
-    const struct btrace_config *(*to_btrace_conf) (struct target_ops *self,
-						   const struct btrace_target_info *)
+    virtual const struct btrace_config *btrace_conf (const struct btrace_target_info *)
       TARGET_DEFAULT_RETURN (NULL);
 
     /* Current recording method.  */
-    enum record_method (*to_record_method) (struct target_ops *, ptid_t ptid)
+    virtual enum record_method record_method (ptid_t ptid)
       TARGET_DEFAULT_RETURN (RECORD_METHOD_NONE);
 
     /* Stop trace recording.  */
-    void (*to_stop_recording) (struct target_ops *)
+    virtual void stop_recording ()
       TARGET_DEFAULT_IGNORE ();
 
     /* Print information about the recording.  */
-    void (*to_info_record) (struct target_ops *)
+    virtual void info_record ()
       TARGET_DEFAULT_IGNORE ();
 
     /* Save the recorded execution trace into a file.  */
-    void (*to_save_record) (struct target_ops *, const char *filename)
+    virtual void save_record (const char *filename)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Delete the recorded execution trace from the current position
        onwards.  */
-    void (*to_delete_record) (struct target_ops *)
+    virtual bool supports_delete_record ()
+      TARGET_DEFAULT_RETURN (false);
+    virtual void delete_record ()
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Query if the record target is currently replaying PTID.  */
-    int (*to_record_is_replaying) (struct target_ops *, ptid_t ptid)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool record_is_replaying (ptid_t ptid)
+      TARGET_DEFAULT_RETURN (false);
 
     /* Query if the record target will replay PTID if it were resumed in
        execution direction DIR.  */
-    int (*to_record_will_replay) (struct target_ops *, ptid_t ptid, int dir)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool record_will_replay (ptid_t ptid, int dir)
+      TARGET_DEFAULT_RETURN (false);
 
     /* Stop replaying.  */
-    void (*to_record_stop_replaying) (struct target_ops *)
+    virtual void record_stop_replaying ()
       TARGET_DEFAULT_IGNORE ();
 
     /* Go to the begin of the execution trace.  */
-    void (*to_goto_record_begin) (struct target_ops *)
+    virtual void goto_record_begin ()
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Go to the end of the execution trace.  */
-    void (*to_goto_record_end) (struct target_ops *)
+    virtual void goto_record_end ()
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Go to a specific location in the recorded execution trace.  */
-    void (*to_goto_record) (struct target_ops *, ULONGEST insn)
+    virtual void goto_record (ULONGEST insn)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Disassemble SIZE instructions in the recorded execution trace from
        the current position.
        If SIZE < 0, disassemble abs (SIZE) preceding instructions; otherwise,
        disassemble SIZE succeeding instructions.  */
-    void (*to_insn_history) (struct target_ops *, int size,
-			     gdb_disassembly_flags flags)
+    virtual void insn_history (int size, gdb_disassembly_flags flags)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Disassemble SIZE instructions in the recorded execution trace around
        FROM.
        If SIZE < 0, disassemble abs (SIZE) instructions before FROM; otherwise,
        disassemble SIZE instructions after FROM.  */
-    void (*to_insn_history_from) (struct target_ops *,
-				  ULONGEST from, int size,
-				  gdb_disassembly_flags flags)
+    virtual void insn_history_from (ULONGEST from, int size,
+				    gdb_disassembly_flags flags)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Disassemble a section of the recorded execution trace from instruction
        BEGIN (inclusive) to instruction END (inclusive).  */
-    void (*to_insn_history_range) (struct target_ops *,
-				   ULONGEST begin, ULONGEST end,
-				   gdb_disassembly_flags flags)
+    virtual void insn_history_range (ULONGEST begin, ULONGEST end,
+				     gdb_disassembly_flags flags)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Print a function trace of the recorded execution trace.
        If SIZE < 0, print abs (SIZE) preceding functions; otherwise, print SIZE
        succeeding functions.  */
-    void (*to_call_history) (struct target_ops *, int size, int flags)
+    virtual void call_history (int size, record_print_flags flags)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Print a function trace of the recorded execution trace starting
        at function FROM.
        If SIZE < 0, print abs (SIZE) functions before FROM; otherwise, print
        SIZE functions after FROM.  */
-    void (*to_call_history_from) (struct target_ops *,
-				  ULONGEST begin, int size, int flags)
+    virtual void call_history_from (ULONGEST begin, int size, record_print_flags flags)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
     /* Print a function trace of an execution trace section from function BEGIN
        (inclusive) to function END (inclusive).  */
-    void (*to_call_history_range) (struct target_ops *,
-				   ULONGEST begin, ULONGEST end, int flags)
+    virtual void call_history_range (ULONGEST begin, ULONGEST end, record_print_flags flags)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
-    /* Nonzero if TARGET_OBJECT_LIBRARIES_SVR4 may be read with a
+    /* True if TARGET_OBJECT_LIBRARIES_SVR4 may be read with a
        non-empty annex.  */
-    int (*to_augmented_libraries_svr4_read) (struct target_ops *)
-      TARGET_DEFAULT_RETURN (0);
+    virtual bool augmented_libraries_svr4_read ()
+      TARGET_DEFAULT_RETURN (false);
 
     /* Those unwinders are tried before any other arch unwinders.  If
        SELF doesn't have unwinders, it should delegate to the
        "beneath" target.  */
-    const struct frame_unwind *(*to_get_unwinder) (struct target_ops *self)
+    virtual const struct frame_unwind *get_unwinder ()
       TARGET_DEFAULT_RETURN (NULL);
 
-    const struct frame_unwind *(*to_get_tailcall_unwinder) (struct target_ops *self)
+    virtual const struct frame_unwind *get_tailcall_unwinder ()
       TARGET_DEFAULT_RETURN (NULL);
 
     /* Prepare to generate a core file.  */
-    void (*to_prepare_to_generate_core) (struct target_ops *)
+    virtual void prepare_to_generate_core ()
       TARGET_DEFAULT_IGNORE ();
 
     /* Cleanup after generating a core file.  */
-    void (*to_done_generating_core) (struct target_ops *)
+    virtual void done_generating_core ()
       TARGET_DEFAULT_IGNORE ();
-
-    int to_magic;
-    /* Need sub-structure for target machine related rather than comm related?
-     */
   };
 
-/* Magic number for checking ops size.  If a struct doesn't end with this
-   number, somebody changed the declaration but didn't change all the
-   places that initialize one.  */
+/* Deleter for std::unique_ptr.  See comments in
+   target_ops::~target_ops and target_ops::close about heap-allocated
+   targets.  */
+struct target_ops_deleter
+{
+  void operator() (target_ops *target)
+  {
+    target->close ();
+  }
+};
+
+/* A unique pointer for target_ops.  */
+typedef std::unique_ptr<target_ops, target_ops_deleter> target_ops_up;
+
+/* Native target backends call this once at initialization time to
+   inform the core about which is the target that can respond to "run"
+   or "attach".  Note: native targets are always singletons.  */
+extern void set_native_target (target_ops *target);
+
+/* Get the registered native target, if there's one.  Otherwise return
+   NULL.  */
+extern target_ops *get_native_target ();
 
-#define	OPS_MAGIC	3840
+/* Type that manages a target stack.  See description of target stacks
+   and strata at the top of the file.  */
+
+class target_stack
+{
+public:
+  target_stack () = default;
+  DISABLE_COPY_AND_ASSIGN (target_stack);
+
+  /* Push a new target into the stack of the existing target
+     accessors, possibly superseding some existing accessor.  */
+  void push (target_ops *t);
+
+  /* Remove a target from the stack, wherever it may be.  Return true
+     if it was removed, false otherwise.  */
+  bool unpush (target_ops *t);
+
+  /* Returns true if T is pushed on the target stack.  */
+  bool is_pushed (target_ops *t) const
+  { return at (t->to_stratum) == t; }
+
+  /* Return the target at STRATUM.  */
+  target_ops *at (strata stratum) const { return m_stack[stratum]; }
+
+  /* Return the target at the top of the stack.  */
+  target_ops *top () const { return at (m_top); }
+
+  /* Find the next target down the stack from the specified target.  */
+  target_ops *find_beneath (const target_ops *t) const;
+
+private:
+  /* The stratum of the top target.  */
+  enum strata m_top {};
+
+  /* The stack, represented as an array, with one slot per stratum.
+     If no target is pushed at some stratum, the corresponding slot is
+     null.  */
+  target_ops *m_stack[(int) debug_stratum + 1] {};
+};
 
 /* The ops structure for our "current" target process.  This should
    never be NULL.  If there is no target, it points to the dummy_target.  */
 
-extern struct target_ops current_target;
+extern target_ops *current_top_target ();
 
 /* Define easy words for doing these operations on our current target.  */
 
-#define	target_shortname	(current_target.to_shortname)
-#define	target_longname		(current_target.to_longname)
+#define	target_shortname	(current_top_target ()->shortname ())
+#define	target_longname		(current_top_target ()->longname ())
 
 /* Does whatever cleanup is required for a target that we are no
    longer going to be calling.  This routine is automatically always
@@ -1304,8 +1346,8 @@ extern struct target_ops *find_run_targe
    or their target_attach implementation takes care of the waiting.
    These targets must set to_attach_no_wait.  */
 
-#define target_attach_no_wait \
-     (current_target.to_attach_no_wait)
+#define target_attach_no_wait() \
+  (current_top_target ()->attach_no_wait ())
 
 /* The target_attach operation places a process under debugger control,
    and stops the process.
@@ -1313,7 +1355,7 @@ extern struct target_ops *find_run_targe
    This operation provides a target-specific hook that allows the
    necessary bookkeeping to be performed after an attach completes.  */
 #define target_post_attach(pid) \
-     (*current_target.to_post_attach) (&current_target, pid)
+     (current_top_target ()->post_attach) (pid)
 
 /* Display a message indicating we're about to detach from the current
    inferior process.  */
@@ -1323,11 +1365,10 @@ extern void target_announce_detach (int 
 /* Takes a program previously attached to and detaches it.
    The program may resume execution (some targets do, some don't) and will
    no longer stop on signals, etc.  We better not have left any breakpoints
-   in the program or it'll die when it hits one.  ARGS is arguments
-   typed by the user (e.g. a signal to send the process).  FROM_TTY
-   says whether to be verbose or not.  */
+   in the program or it'll die when it hits one.  FROM_TTY says whether to be
+   verbose or not.  */
 
-extern void target_detach (const char *, int);
+extern void target_detach (inferior *inf, int from_tty);
 
 /* Disconnect from the current target without resuming it (leaving it
    waiting for a debugger).  */
@@ -1396,7 +1437,7 @@ extern void target_store_registers (stru
    debugged.  */
 
 #define	target_prepare_to_store(regcache)	\
-     (*current_target.to_prepare_to_store) (&current_target, regcache)
+     (current_top_target ()->prepare_to_store) (regcache)
 
 /* Determine current address space of thread PTID.  */
 
@@ -1417,24 +1458,25 @@ int target_supports_disable_randomizatio
    while a trace experiment is running.  */
 
 #define target_supports_enable_disable_tracepoint() \
-  (*current_target.to_supports_enable_disable_tracepoint) (&current_target)
+  (current_top_target ()->supports_enable_disable_tracepoint) ()
 
 #define target_supports_string_tracing() \
-  (*current_target.to_supports_string_tracing) (&current_target)
+  (current_top_target ()->supports_string_tracing) ()
 
 /* Returns true if this target can handle breakpoint conditions
    on its end.  */
 
 #define target_supports_evaluation_of_breakpoint_conditions() \
-  (*current_target.to_supports_evaluation_of_breakpoint_conditions) (&current_target)
+  (current_top_target ()->supports_evaluation_of_breakpoint_conditions) ()
 
 /* Returns true if this target can handle breakpoint commands
    on its end.  */
 
 #define target_can_run_breakpoint_commands() \
-  (*current_target.to_can_run_breakpoint_commands) (&current_target)
+  (current_top_target ()->can_run_breakpoint_commands) ()
 
-extern int target_read_string (CORE_ADDR, char **, int, int *);
+extern int target_read_string (CORE_ADDR, gdb::unique_xmalloc_ptr<char> *,
+			       int, int *);
 
 /* For target_read_memory see target/target.h.  */
 
@@ -1466,18 +1508,21 @@ void target_flash_done (void);
 
 /* Describes a request for a memory write operation.  */
 struct memory_write_request
-  {
-    /* Begining address that must be written.  */
-    ULONGEST begin;
-    /* Past-the-end address.  */
-    ULONGEST end;
-    /* The data to write.  */
-    gdb_byte *data;
-    /* A callback baton for progress reporting for this request.  */
-    void *baton;
-  };
-typedef struct memory_write_request memory_write_request_s;
-DEF_VEC_O(memory_write_request_s);
+{
+  memory_write_request (ULONGEST begin_, ULONGEST end_,
+			gdb_byte *data_ = nullptr, void *baton_ = nullptr)
+    : begin (begin_), end (end_), data (data_), baton (baton_)
+  {}
+
+  /* Begining address that must be written.  */
+  ULONGEST begin;
+  /* Past-the-end address.  */
+  ULONGEST end;
+  /* The data to write.  */
+  gdb_byte *data;
+  /* A callback baton for progress reporting for this request.  */
+  void *baton;
+};
 
 /* Enumeration specifying different flash preservation behaviour.  */
 enum flash_preserve_mode
@@ -1503,14 +1548,15 @@ enum flash_preserve_mode
      with a NULL baton, when preserved flash sectors are being rewritten.
 
    The function returns 0 on success, and error otherwise.  */
-int target_write_memory_blocks (VEC(memory_write_request_s) *requests,
-				enum flash_preserve_mode preserve_flash_p,
-				void (*progress_cb) (ULONGEST, void *));
+int target_write_memory_blocks
+    (const std::vector<memory_write_request> &requests,
+     enum flash_preserve_mode preserve_flash_p,
+     void (*progress_cb) (ULONGEST, void *));
 
 /* Print a line about the current target.  */
 
 #define	target_files_info()	\
-     (*current_target.to_files_info) (&current_target)
+     (current_top_target ()->files_info) ()
 
 /* Insert a breakpoint at address BP_TGT->placed_address in
    the target machine.  Returns 0 for success, and returns non-zero or
@@ -1528,7 +1574,7 @@ extern int target_remove_breakpoint (str
 				     enum remove_bp_reason reason);
 
 /* Return true if the target stack has a non-default
-  "to_terminal_ours" method.  */
+  "terminal_ours" method.  */
 
 extern int target_supports_terminal_ours (void);
 
@@ -1560,7 +1606,7 @@ extern void target_load (const char *arg
    Such targets will supply an appropriate definition for this function.  */
 
 #define target_post_startup_inferior(ptid) \
-     (*current_target.to_post_startup_inferior) (&current_target, ptid)
+     (current_top_target ()->post_startup_inferior) (ptid)
 
 /* On some targets, we can catch an inferior fork or vfork event when
    it occurs.  These functions insert/remove an already-created
@@ -1568,16 +1614,16 @@ extern void target_load (const char *arg
    catchpoint type is not supported and -1 for failure.  */
 
 #define target_insert_fork_catchpoint(pid) \
-     (*current_target.to_insert_fork_catchpoint) (&current_target, pid)
+     (current_top_target ()->insert_fork_catchpoint) (pid)
 
 #define target_remove_fork_catchpoint(pid) \
-     (*current_target.to_remove_fork_catchpoint) (&current_target, pid)
+     (current_top_target ()->remove_fork_catchpoint) (pid)
 
 #define target_insert_vfork_catchpoint(pid) \
-     (*current_target.to_insert_vfork_catchpoint) (&current_target, pid)
+     (current_top_target ()->insert_vfork_catchpoint) (pid)
 
 #define target_remove_vfork_catchpoint(pid) \
-     (*current_target.to_remove_vfork_catchpoint) (&current_target, pid)
+     (current_top_target ()->remove_vfork_catchpoint) (pid)
 
 /* If the inferior forks or vforks, this function will be called at
    the next resume in order to perform any bookkeeping and fiddling
@@ -1600,10 +1646,10 @@ void target_follow_exec (struct inferior
    catchpoint type is not supported and -1 for failure.  */
 
 #define target_insert_exec_catchpoint(pid) \
-     (*current_target.to_insert_exec_catchpoint) (&current_target, pid)
+     (current_top_target ()->insert_exec_catchpoint) (pid)
 
 #define target_remove_exec_catchpoint(pid) \
-     (*current_target.to_remove_exec_catchpoint) (&current_target, pid)
+     (current_top_target ()->remove_exec_catchpoint) (pid)
 
 /* Syscall catch.
 
@@ -1622,16 +1668,8 @@ void target_follow_exec (struct inferior
    for failure.  */
 
 #define target_set_syscall_catchpoint(pid, needed, any_count, syscall_counts) \
-     (*current_target.to_set_syscall_catchpoint) (&current_target,	\
-						  pid, needed, any_count, \
-						  syscall_counts)
-
-/* Returns TRUE if PID has exited.  And, also sets EXIT_STATUS to the
-   exit code of PID, if any.  */
-
-#define target_has_exited(pid,wait_status,exit_status) \
-     (*current_target.to_has_exited) (&current_target, \
-				      pid,wait_status,exit_status)
+     (current_top_target ()->set_syscall_catchpoint) (pid, needed, any_count, \
+					     syscall_counts)
 
 /* The debugger has completed a blocking wait() call.  There is now
    some process event that must be processed.  This function should
@@ -1640,10 +1678,9 @@ void target_follow_exec (struct inferior
 
 /* For target_mourn_inferior see target/target.h.  */
 
-/* Does target have enough data to do a run or attach command? */
+/* Does target have enough data to do a run or attach command?  */
 
-#define target_can_run(t) \
-     ((t)->to_can_run) (t)
+extern int target_can_run ();
 
 /* Set list of signals to be handled in the target.
 
@@ -1691,16 +1728,18 @@ extern void target_update_thread_list (v
 
 extern void target_stop (ptid_t ptid);
 
-/* Interrupt the target just like the user typed a ^C on the
-   inferior's controlling terminal.  (For instance, under Unix, this
-   should act like SIGINT).  This function is asynchronous.  */
+/* Interrupt the target.  Unlike target_stop, this does not specify
+   which thread/process reports the stop.  For most target this acts
+   like raising a SIGINT, though that's not absolutely required.  This
+   function is asynchronous.  */
 
-extern void target_interrupt (ptid_t ptid);
+extern void target_interrupt ();
 
 /* Pass a ^C, as determined to have been pressed by checking the quit
-   flag, to the target.  Normally calls target_interrupt, but remote
-   targets may take the opportunity to detect the remote side is not
-   responding and offer to disconnect.  */
+   flag, to the target, as if the user had typed the ^C on the
+   inferior's controlling terminal while the inferior was in the
+   foreground.  Remote targets may take the opportunity to detect the
+   remote side is not responding and offer to disconnect.  */
 
 extern void target_pass_ctrlc (void);
 
@@ -1713,7 +1752,7 @@ extern void default_target_pass_ctrlc (s
    placed in OUTBUF.  */
 
 #define target_rcmd(command, outbuf) \
-     (*current_target.to_rcmd) (&current_target, command, outbuf)
+     (current_top_target ()->rcmd) (command, outbuf)
 
 
 /* Does the target include all of memory, or only part of it?  This
@@ -1758,27 +1797,26 @@ extern int target_has_execution_current 
 /* Default implementations for process_stratum targets.  Return true
    if there's a selected inferior, false otherwise.  */
 
-extern int default_child_has_all_memory (struct target_ops *ops);
-extern int default_child_has_memory (struct target_ops *ops);
-extern int default_child_has_stack (struct target_ops *ops);
-extern int default_child_has_registers (struct target_ops *ops);
-extern int default_child_has_execution (struct target_ops *ops,
-					ptid_t the_ptid);
+extern int default_child_has_all_memory ();
+extern int default_child_has_memory ();
+extern int default_child_has_stack ();
+extern int default_child_has_registers ();
+extern int default_child_has_execution (ptid_t the_ptid);
 
 /* Can the target support the debugger control of thread execution?
    Can it lock the thread scheduler?  */
 
 #define target_can_lock_scheduler \
-     (current_target.to_has_thread_control & tc_schedlock)
+  (current_top_target ()->get_thread_control_capabilities () & tc_schedlock)
 
 /* Controls whether async mode is permitted.  */
 extern int target_async_permitted;
 
 /* Can the target support asynchronous execution?  */
-#define target_can_async_p() (current_target.to_can_async_p (&current_target))
+#define target_can_async_p() (current_top_target ()->can_async_p ())
 
 /* Is the target in asynchronous execution mode?  */
-#define target_is_async_p() (current_target.to_is_async_p (&current_target))
+#define target_is_async_p() (current_top_target ()->is_async_p ())
 
 /* Enables/disabled async target events.  */
 extern void target_async (int enable);
@@ -1796,7 +1834,7 @@ extern enum auto_boolean target_non_stop
 extern int target_is_non_stop_p (void);
 
 #define target_execution_direction() \
-  (current_target.to_execution_direction (&current_target))
+  (current_top_target ()->execution_direction ())
 
 /* Converts a process id to a string.  Usually, the string just contains
    `process xyz', but on some systems it may contain
@@ -1811,7 +1849,7 @@ extern const char *normal_pid_to_str (pt
    is okay.  */
 
 #define target_extra_thread_info(TP) \
-     (current_target.to_extra_thread_info (&current_target, TP))
+     (current_top_target ()->extra_thread_info (TP))
 
 /* Return the thread's name, or NULL if the target is unable to determine it.
    The returned value must not be freed by the caller.  */
@@ -1837,12 +1875,12 @@ extern struct thread_info *target_thread
    it must persist.  */
 
 #define target_pid_to_exec_file(pid) \
-     (current_target.to_pid_to_exec_file) (&current_target, pid)
+     (current_top_target ()->pid_to_exec_file) (pid)
 
 /* See the to_thread_architecture description in struct target_ops.  */
 
 #define target_thread_architecture(ptid) \
-     (current_target.to_thread_architecture (&current_target, ptid))
+     (current_top_target ()->thread_architecture (ptid))
 
 /*
  * Iterator function for target memory regions.
@@ -1852,21 +1890,21 @@ extern struct thread_info *target_thread
  */
 
 #define target_find_memory_regions(FUNC, DATA) \
-     (current_target.to_find_memory_regions) (&current_target, FUNC, DATA)
+     (current_top_target ()->find_memory_regions) (FUNC, DATA)
 
 /*
  * Compose corefile .note section.
  */
 
 #define target_make_corefile_notes(BFD, SIZE_P) \
-     (current_target.to_make_corefile_notes) (&current_target, BFD, SIZE_P)
+     (current_top_target ()->make_corefile_notes) (BFD, SIZE_P)
 
 /* Bookmark interfaces.  */
 #define target_get_bookmark(ARGS, FROM_TTY) \
-     (current_target.to_get_bookmark) (&current_target, ARGS, FROM_TTY)
+     (current_top_target ()->get_bookmark) (ARGS, FROM_TTY)
 
 #define target_goto_bookmark(ARG, FROM_TTY) \
-     (current_target.to_goto_bookmark) (&current_target, ARG, FROM_TTY)
+     (current_top_target ()->goto_bookmark) (ARG, FROM_TTY)
 
 /* Hardware watchpoint interfaces.  */
 
@@ -1874,32 +1912,32 @@ extern struct thread_info *target_thread
    write).  Only the INFERIOR_PTID task is being queried.  */
 
 #define target_stopped_by_watchpoint()		\
-  ((*current_target.to_stopped_by_watchpoint) (&current_target))
+  ((current_top_target ()->stopped_by_watchpoint) ())
 
 /* Returns non-zero if the target stopped because it executed a
    software breakpoint instruction.  */
 
 #define target_stopped_by_sw_breakpoint()		\
-  ((*current_target.to_stopped_by_sw_breakpoint) (&current_target))
+  ((current_top_target ()->stopped_by_sw_breakpoint) ())
 
 #define target_supports_stopped_by_sw_breakpoint() \
-  ((*current_target.to_supports_stopped_by_sw_breakpoint) (&current_target))
+  ((current_top_target ()->supports_stopped_by_sw_breakpoint) ())
 
 #define target_stopped_by_hw_breakpoint()				\
-  ((*current_target.to_stopped_by_hw_breakpoint) (&current_target))
+  ((current_top_target ()->stopped_by_hw_breakpoint) ())
 
 #define target_supports_stopped_by_hw_breakpoint() \
-  ((*current_target.to_supports_stopped_by_hw_breakpoint) (&current_target))
+  ((current_top_target ()->supports_stopped_by_hw_breakpoint) ())
 
 /* Non-zero if we have steppable watchpoints  */
 
 #define target_have_steppable_watchpoint \
-   (current_target.to_have_steppable_watchpoint)
+  (current_top_target ()->have_steppable_watchpoint ())
 
 /* Non-zero if we have continuable watchpoints  */
 
 #define target_have_continuable_watchpoint \
-   (current_target.to_have_continuable_watchpoint)
+  (current_top_target ()->have_continuable_watchpoint ())
 
 /* Provide defaults for hardware watchpoint functions.  */
 
@@ -1916,19 +1954,18 @@ extern struct thread_info *target_thread
    this one used so far.  */
 
 #define target_can_use_hardware_watchpoint(TYPE,CNT,OTHERTYPE) \
- (*current_target.to_can_use_hw_breakpoint) (&current_target,  \
+ (current_top_target ()->can_use_hw_breakpoint) ( \
 					     TYPE, CNT, OTHERTYPE)
 
 /* Returns the number of debug registers needed to watch the given
    memory region, or zero if not supported.  */
 
 #define target_region_ok_for_hw_watchpoint(addr, len) \
-    (*current_target.to_region_ok_for_hw_watchpoint) (&current_target,	\
-						      addr, len)
+    (current_top_target ()->region_ok_for_hw_watchpoint) (addr, len)
 
 
 #define target_can_do_single_step() \
-  (*current_target.to_can_do_single_step) (&current_target)
+  (current_top_target ()->can_do_single_step) ()
 
 /* Set/clear a hardware watchpoint starting at ADDR, for LEN bytes.
    TYPE is 0 for write, 1 for read, and 2 for read/write accesses.
@@ -1937,12 +1974,10 @@ extern struct thread_info *target_thread
    -1 for failure.  */
 
 #define	target_insert_watchpoint(addr, len, type, cond) \
-     (*current_target.to_insert_watchpoint) (&current_target,	\
-					     addr, len, type, cond)
+     (current_top_target ()->insert_watchpoint) (addr, len, type, cond)
 
 #define	target_remove_watchpoint(addr, len, type, cond) \
-     (*current_target.to_remove_watchpoint) (&current_target,	\
-					     addr, len, type, cond)
+     (current_top_target ()->remove_watchpoint) (addr, len, type, cond)
 
 /* Insert a new masked watchpoint at ADDR using the mask MASK.
    RW may be hw_read for a read watchpoint, hw_write for a write watchpoint
@@ -1966,12 +2001,10 @@ extern int target_remove_mask_watchpoint
    message) otherwise.  */
 
 #define target_insert_hw_breakpoint(gdbarch, bp_tgt) \
-     (*current_target.to_insert_hw_breakpoint) (&current_target,	\
-						gdbarch, bp_tgt)
+     (current_top_target ()->insert_hw_breakpoint) (gdbarch, bp_tgt)
 
 #define target_remove_hw_breakpoint(gdbarch, bp_tgt) \
-     (*current_target.to_remove_hw_breakpoint) (&current_target,	\
-						gdbarch, bp_tgt)
+     (current_top_target ()->remove_hw_breakpoint) (gdbarch, bp_tgt)
 
 /* Return number of debug registers needed for a ranged breakpoint,
    or -1 if ranged breakpoints are not supported.  */
@@ -1982,12 +2015,12 @@ extern int target_ranged_break_num_regis
    target_stopped_by_watchpoint, in such case place it to *ADDR_P.  Only the
    INFERIOR_PTID task is being queried.  */
 #define target_stopped_data_address(target, addr_p) \
-    (*(target)->to_stopped_data_address) (target, addr_p)
+  (target)->stopped_data_address (addr_p)
 
 /* Return non-zero if ADDR is within the range of a watchpoint spanning
    LENGTH bytes beginning at START.  */
 #define target_watchpoint_addr_within_range(target, addr, start, length) \
-  (*(target)->to_watchpoint_addr_within_range) (target, addr, start, length)
+  (target)->watchpoint_addr_within_range (addr, start, length)
 
 /* Return non-zero if the target is capable of using hardware to evaluate
    the condition expression.  In this case, if the condition is false when
@@ -2000,8 +2033,7 @@ extern int target_ranged_break_num_regis
    For this reason, GDB will still evaluate the condition expression when
    the watchpoint triggers.  */
 #define target_can_accel_watchpoint_condition(addr, len, type, cond) \
-  (*current_target.to_can_accel_watchpoint_condition) (&current_target,	\
-						       addr, len, type, cond)
+  (current_top_target ()->can_accel_watchpoint_condition) (addr, len, type, cond)
 
 /* Return number of debug registers needed for a masked watchpoint,
    -1 if masked watchpoints are not supported or -2 if the given address
@@ -2011,12 +2043,12 @@ extern int target_masked_watch_num_regis
 
 /* Target can execute in reverse?  */
 #define target_can_execute_reverse \
-      current_target.to_can_execute_reverse (&current_target)
+      current_top_target ()->can_execute_reverse ()
 
 extern const struct target_desc *target_read_description (struct target_ops *);
 
 #define target_get_ada_task_ptid(lwp, tid) \
-     (*current_target.to_get_ada_task_ptid) (&current_target, lwp,tid)
+     (current_top_target ()->get_ada_task_ptid) (lwp,tid)
 
 /* Utility implementation of searching memory.  */
 extern int simple_search_memory (struct target_ops* ops,
@@ -2038,7 +2070,7 @@ extern int target_search_memory (CORE_AD
 /* Return nonzero if the filesystem seen by the current inferior
    is the local filesystem, zero otherwise.  */
 #define target_filesystem_is_local() \
-  current_target.to_filesystem_is_local (&current_target)
+  current_top_target ()->filesystem_is_local ()
 
 /* Open FILENAME on the target, in the filesystem as seen by INF,
    using FLAGS and MODE.  If INF is NULL, use the filesystem seen
@@ -2092,9 +2124,8 @@ extern int target_fileio_unlink (struct 
    by the debugger (GDB or, for remote targets, the remote stub).
    Return a null-terminated string allocated via xmalloc, or NULL if
    an error occurs (and set *TARGET_ERRNO).  */
-extern char *target_fileio_readlink (struct inferior *inf,
-				     const char *filename,
-				     int *target_errno);
+extern gdb::optional<std::string> target_fileio_readlink
+    (struct inferior *inf, const char *filename, int *target_errno);
 
 /* Read target file FILENAME, in the filesystem as seen by INF.  If
    INF is NULL, use the filesystem seen by the debugger (GDB or, for
@@ -2126,105 +2157,100 @@ extern gdb::unique_xmalloc_ptr<char> tar
 /* Tracepoint-related operations.  */
 
 #define target_trace_init() \
-  (*current_target.to_trace_init) (&current_target)
+  (current_top_target ()->trace_init) ()
 
 #define target_download_tracepoint(t) \
-  (*current_target.to_download_tracepoint) (&current_target, t)
+  (current_top_target ()->download_tracepoint) (t)
 
 #define target_can_download_tracepoint() \
-  (*current_target.to_can_download_tracepoint) (&current_target)
+  (current_top_target ()->can_download_tracepoint) ()
 
 #define target_download_trace_state_variable(tsv) \
-  (*current_target.to_download_trace_state_variable) (&current_target, tsv)
+  (current_top_target ()->download_trace_state_variable) (tsv)
 
 #define target_enable_tracepoint(loc) \
-  (*current_target.to_enable_tracepoint) (&current_target, loc)
+  (current_top_target ()->enable_tracepoint) (loc)
 
 #define target_disable_tracepoint(loc) \
-  (*current_target.to_disable_tracepoint) (&current_target, loc)
+  (current_top_target ()->disable_tracepoint) (loc)
 
 #define target_trace_start() \
-  (*current_target.to_trace_start) (&current_target)
+  (current_top_target ()->trace_start) ()
 
 #define target_trace_set_readonly_regions() \
-  (*current_target.to_trace_set_readonly_regions) (&current_target)
+  (current_top_target ()->trace_set_readonly_regions) ()
 
 #define target_get_trace_status(ts) \
-  (*current_target.to_get_trace_status) (&current_target, ts)
+  (current_top_target ()->get_trace_status) (ts)
 
 #define target_get_tracepoint_status(tp,utp)		\
-  (*current_target.to_get_tracepoint_status) (&current_target, tp, utp)
+  (current_top_target ()->get_tracepoint_status) (tp, utp)
 
 #define target_trace_stop() \
-  (*current_target.to_trace_stop) (&current_target)
+  (current_top_target ()->trace_stop) ()
 
 #define target_trace_find(type,num,addr1,addr2,tpp) \
-  (*current_target.to_trace_find) (&current_target, \
+  (current_top_target ()->trace_find) (\
 				   (type), (num), (addr1), (addr2), (tpp))
 
 #define target_get_trace_state_variable_value(tsv,val) \
-  (*current_target.to_get_trace_state_variable_value) (&current_target,	\
-						       (tsv), (val))
+  (current_top_target ()->get_trace_state_variable_value) ((tsv), (val))
 
 #define target_save_trace_data(filename) \
-  (*current_target.to_save_trace_data) (&current_target, filename)
+  (current_top_target ()->save_trace_data) (filename)
 
 #define target_upload_tracepoints(utpp) \
-  (*current_target.to_upload_tracepoints) (&current_target, utpp)
+  (current_top_target ()->upload_tracepoints) (utpp)
 
 #define target_upload_trace_state_variables(utsvp) \
-  (*current_target.to_upload_trace_state_variables) (&current_target, utsvp)
+  (current_top_target ()->upload_trace_state_variables) (utsvp)
 
 #define target_get_raw_trace_data(buf,offset,len) \
-  (*current_target.to_get_raw_trace_data) (&current_target,	\
-					   (buf), (offset), (len))
+  (current_top_target ()->get_raw_trace_data) ((buf), (offset), (len))
 
 #define target_get_min_fast_tracepoint_insn_len() \
-  (*current_target.to_get_min_fast_tracepoint_insn_len) (&current_target)
+  (current_top_target ()->get_min_fast_tracepoint_insn_len) ()
 
 #define target_set_disconnected_tracing(val) \
-  (*current_target.to_set_disconnected_tracing) (&current_target, val)
+  (current_top_target ()->set_disconnected_tracing) (val)
 
 #define	target_set_circular_trace_buffer(val)	\
-  (*current_target.to_set_circular_trace_buffer) (&current_target, val)
+  (current_top_target ()->set_circular_trace_buffer) (val)
 
 #define	target_set_trace_buffer_size(val)	\
-  (*current_target.to_set_trace_buffer_size) (&current_target, val)
+  (current_top_target ()->set_trace_buffer_size) (val)
 
 #define	target_set_trace_notes(user,notes,stopnotes)		\
-  (*current_target.to_set_trace_notes) (&current_target,	\
-					(user), (notes), (stopnotes))
+  (current_top_target ()->set_trace_notes) ((user), (notes), (stopnotes))
 
 #define target_get_tib_address(ptid, addr) \
-  (*current_target.to_get_tib_address) (&current_target, (ptid), (addr))
+  (current_top_target ()->get_tib_address) ((ptid), (addr))
 
 #define target_set_permissions() \
-  (*current_target.to_set_permissions) (&current_target)
+  (current_top_target ()->set_permissions) ()
 
 #define target_static_tracepoint_marker_at(addr, marker) \
-  (*current_target.to_static_tracepoint_marker_at) (&current_target,	\
-						    addr, marker)
+  (current_top_target ()->static_tracepoint_marker_at) (addr, marker)
 
 #define target_static_tracepoint_markers_by_strid(marker_id) \
-  (*current_target.to_static_tracepoint_markers_by_strid) (&current_target, \
-							   marker_id)
+  (current_top_target ()->static_tracepoint_markers_by_strid) (marker_id)
 
 #define target_traceframe_info() \
-  (*current_target.to_traceframe_info) (&current_target)
+  (current_top_target ()->traceframe_info) ()
 
 #define target_use_agent(use) \
-  (*current_target.to_use_agent) (&current_target, use)
+  (current_top_target ()->use_agent) (use)
 
 #define target_can_use_agent() \
-  (*current_target.to_can_use_agent) (&current_target)
+  (current_top_target ()->can_use_agent) ()
 
 #define target_augmented_libraries_svr4_read() \
-  (*current_target.to_augmented_libraries_svr4_read) (&current_target)
+  (current_top_target ()->augmented_libraries_svr4_read) ()
 
 /* Command logging facility.  */
 
 #define target_log_command(p)					\
-  (*current_target.to_log_command) (&current_target, p)
+  (current_top_target ()->log_command) (p)
 
 
 extern int target_core_of_thread (ptid_t ptid);
@@ -2253,11 +2279,6 @@ int target_verify_memory (const gdb_byte
 
 /* Routines for maintenance of the target structures...
 
-   complete_target_initialization: Finalize a target_ops by filling in
-   any fields needed by the target implementation.  Unnecessary for
-   targets which are registered via add_target, as this part gets
-   taken care of then.
-
    add_target:   Add a target to the list of all possible targets.
    This only makes sense for targets that should be activated using
    the "target TARGET_NAME ..." command.
@@ -2271,17 +2292,25 @@ int target_verify_memory (const gdb_byte
    no matter where it is on the list.  Returns 0 if no
    change, 1 if removed from stack.  */
 
-extern void add_target (struct target_ops *);
-
-extern void add_target_with_completer (struct target_ops *t,
-				       completer_ftype *completer);
+/* Type of callback called when the user activates a target with
+   "target TARGET_NAME".  The callback routine takes the rest of the
+   parameters from the command, and (if successful) pushes a new
+   target onto the stack.  */
+typedef void target_open_ftype (const char *args, int from_tty);
+
+/* Add the target described by INFO to the list of possible targets
+   and add a new command 'target $(INFO->shortname)'.  Set COMPLETER
+   as the command's completer if not NULL.  */
+
+extern void add_target (const target_info &info,
+			target_open_ftype *func,
+			completer_ftype *completer = NULL);
+
+/* Adds a command ALIAS for the target described by INFO and marks it
+   deprecated.  This is useful for maintaining backwards compatibility
+   when renaming targets.  */
 
-extern void complete_target_initialization (struct target_ops *t);
-
-/* Adds a command ALIAS for target T and marks it deprecated.  This is useful
-   for maintaining backwards compatibility when renaming targets.  */
-
-extern void add_deprecated_target_alias (struct target_ops *t,
+extern void add_deprecated_target_alias (const target_info &info,
 					 const char *alias);
 
 extern void push_target (struct target_ops *);
@@ -2347,12 +2376,28 @@ extern struct target_section_table *targ
 
 /* From mem-break.c */
 
-extern int memory_remove_breakpoint (struct target_ops *, struct gdbarch *,
-				     struct bp_target_info *,
+extern int memory_remove_breakpoint (struct target_ops *,
+				     struct gdbarch *, struct bp_target_info *,
 				     enum remove_bp_reason);
 
-extern int memory_insert_breakpoint (struct target_ops *, struct gdbarch *,
-				     struct bp_target_info *);
+extern int memory_insert_breakpoint (struct target_ops *,
+				     struct gdbarch *, struct bp_target_info *);
+
+/* Convenience template use to add memory breakpoints support to a
+   target.  */
+
+template <typename BaseTarget>
+struct memory_breakpoint_target : public BaseTarget
+{
+  int insert_breakpoint (struct gdbarch *gdbarch,
+			 struct bp_target_info *bp_tgt) override
+  { return memory_insert_breakpoint (this, gdbarch, bp_tgt); }
+
+  int remove_breakpoint (struct gdbarch *gdbarch,
+			 struct bp_target_info *bp_tgt,
+			 enum remove_bp_reason reason) override
+  { return memory_remove_breakpoint (this, gdbarch, bp_tgt, reason); }
+};
 
 /* Check whether the memory at the breakpoint's placed address still
    contains the expected breakpoint instruction.  */
@@ -2375,22 +2420,16 @@ extern void noprocess (void) ATTRIBUTE_N
 
 extern void target_require_runnable (void);
 
-extern struct target_ops *find_target_beneath (struct target_ops *);
-
 /* Find the target at STRATUM.  If no target is at that stratum,
    return NULL.  */
 
 struct target_ops *find_target_at (enum strata stratum);
 
-/* Read OS data object of type TYPE from the target, and return it in
-   XML format.  The result is NUL-terminated and returned as a string.
-   If an error occurs or the transfer is unsupported, NULL is
-   returned.  Empty objects are returned as allocated but empty
-   strings.  */
+/* Read OS data object of type TYPE from the target, and return it in XML
+   format.  The return value follows the same rules as target_read_stralloc.  */
 
-extern gdb::unique_xmalloc_ptr<char> target_get_osdata (const char *type);
+extern gdb::optional<gdb::char_vector> target_get_osdata (const char *type);
 
-
 /* Stuff that should be shared among the various remote targets.  */
 
 /* Debugging level.  0 is off, and non-zero values mean to print some debug
@@ -2425,9 +2464,6 @@ extern void update_target_permissions (v
 
 /* Imported from machine dependent code.  */
 
-/* See to_supports_btrace in struct target_ops.  */
-extern int target_supports_btrace (enum btrace_format);
-
 /* See to_enable_btrace in struct target_ops.  */
 extern struct btrace_target_info *
   target_enable_btrace (ptid_t ptid, const struct btrace_config *);
@@ -2492,13 +2528,15 @@ extern void target_insn_history_range (U
 				       gdb_disassembly_flags flags);
 
 /* See to_call_history.  */
-extern void target_call_history (int size, int flags);
+extern void target_call_history (int size, record_print_flags flags);
 
 /* See to_call_history_from.  */
-extern void target_call_history_from (ULONGEST begin, int size, int flags);
+extern void target_call_history_from (ULONGEST begin, int size,
+				      record_print_flags flags);
 
 /* See to_call_history_range.  */
-extern void target_call_history_range (ULONGEST begin, ULONGEST end, int flags);
+extern void target_call_history_range (ULONGEST begin, ULONGEST end,
+				       record_print_flags flags);
 
 /* See to_prepare_to_generate_core.  */
 extern void target_prepare_to_generate_core (void);
@@ -2515,8 +2553,39 @@ namespace selftests {
 class test_target_ops : public target_ops
 {
 public:
-  test_target_ops ();
+  test_target_ops ()
+    : target_ops {}
+  {
+    to_stratum = process_stratum;
+  }
+
+  const target_info &info () const override;
+
+  bool has_registers () override
+  {
+    return true;
+  }
+
+  bool has_stack () override
+  {
+    return true;
+  }
+
+  bool has_memory () override
+  {
+    return true;
+  }
+
+  void prepare_to_store (regcache *regs) override
+  {
+  }
+
+  void store_registers (regcache *regs, int regno) override
+  {
+  }
 };
+
+
 } // namespace selftests
 #endif /* GDB_SELF_TEST */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target-memory.c ./gdb/target-memory.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/target-memory.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/target-memory.c	2018-07-10 02:06:13.000000000 +0000
@@ -26,20 +26,11 @@
 #include "gdb_sys_time.h"
 #include <algorithm>
 
-static int
-compare_block_starting_address (const void *a, const void *b)
+static bool
+compare_block_starting_address (const memory_write_request &a_req,
+				const memory_write_request &b_req)
 {
-  const struct memory_write_request *a_req
-    = (const struct memory_write_request *) a;
-  const struct memory_write_request *b_req
-    = (const struct memory_write_request *) b;
-
-  if (a_req->begin < b_req->begin)
-    return -1;
-  else if (a_req->begin == b_req->begin)
-    return 0;
-  else
-    return 1;
+  return a_req.begin < b_req.begin;
 }
 
 /* Adds to RESULT all memory write requests from BLOCK that are
@@ -49,17 +40,15 @@ compare_block_starting_address (const vo
    that part of the memory request will be added.  */
 
 static void
-claim_memory (VEC(memory_write_request_s) *blocks,
-	      VEC(memory_write_request_s) **result,
+claim_memory (const std::vector<memory_write_request> &blocks,
+	      std::vector<memory_write_request> *result,
 	      ULONGEST begin,
 	      ULONGEST end)
 {
-  int i;
   ULONGEST claimed_begin;
   ULONGEST claimed_end;
-  struct memory_write_request *r;
 
-  for (i = 0; VEC_iterate (memory_write_request_s, blocks, i, r); ++i)
+  for (const memory_write_request &r : blocks)
     {
       /* If the request doesn't overlap [BEGIN, END), skip it.  We
 	 must handle END == 0 meaning the top of memory; we don't yet
@@ -67,28 +56,28 @@ claim_memory (VEC(memory_write_request_s
 	 memory, but there's an assertion in
 	 target_write_memory_blocks which checks for that.  */
 
-      if (begin >= r->end)
+      if (begin >= r.end)
 	continue;
-      if (end != 0 && end <= r->begin)
+      if (end != 0 && end <= r.begin)
 	continue;
 
-      claimed_begin = std::max (begin, r->begin);
+      claimed_begin = std::max (begin, r.begin);
       if (end == 0)
-	claimed_end = r->end;
+	claimed_end = r.end;
       else
-	claimed_end = std::min (end, r->end);
+	claimed_end = std::min (end, r.end);
 
-      if (claimed_begin == r->begin && claimed_end == r->end)
-	VEC_safe_push (memory_write_request_s, *result, r);
+      if (claimed_begin == r.begin && claimed_end == r.end)
+	result->push_back (r);
       else
 	{
-	  struct memory_write_request *n =
-	    VEC_safe_push (memory_write_request_s, *result, NULL);
+	  struct memory_write_request n = r;
+
+	  n.begin = claimed_begin;
+	  n.end = claimed_end;
+	  n.data += claimed_begin - r.begin;
 
-	  *n = *r;
-	  n->begin = claimed_begin;
-	  n->end = claimed_end;
-	  n->data += claimed_begin - r->begin;
+	  result->push_back (n);
 	}
     }
 }
@@ -98,9 +87,9 @@ claim_memory (VEC(memory_write_request_s
    regular memory to REGULAR_BLOCKS.  */
 
 static void
-split_regular_and_flash_blocks (VEC(memory_write_request_s) *blocks,
-				VEC(memory_write_request_s) **regular_blocks,
-				VEC(memory_write_request_s) **flash_blocks)
+split_regular_and_flash_blocks (const std::vector<memory_write_request> &blocks,
+				std::vector<memory_write_request> *regular_blocks,
+				std::vector<memory_write_request> *flash_blocks)
 {
   struct mem_region *region;
   CORE_ADDR cur_address;
@@ -116,7 +105,7 @@ split_regular_and_flash_blocks (VEC(memo
   cur_address = 0;
   while (1)
     {
-      VEC(memory_write_request_s) **r;
+      std::vector<memory_write_request> *r;
 
       region = lookup_mem_region (cur_address);
       r = region->attrib.mode == MEM_FLASH ? flash_blocks : regular_blocks;
@@ -156,35 +145,22 @@ block_boundaries (CORE_ADDR address, COR
    returns write requests covering each group of flash blocks which must
    be erased.  */
 
-static VEC(memory_write_request_s) *
-blocks_to_erase (VEC(memory_write_request_s) *written)
+static std::vector<memory_write_request>
+blocks_to_erase (const std::vector<memory_write_request> &written)
 {
-  unsigned i;
-  struct memory_write_request *ptr;
-
-  VEC(memory_write_request_s) *result = NULL;
+  std::vector<memory_write_request> result;
 
-  for (i = 0; VEC_iterate (memory_write_request_s, written, i, ptr); ++i)
+  for (const memory_write_request &request : written)
     {
       CORE_ADDR begin, end;
 
-      block_boundaries (ptr->begin, &begin, 0);
-      block_boundaries (ptr->end - 1, 0, &end);
+      block_boundaries (request.begin, &begin, 0);
+      block_boundaries (request.end - 1, 0, &end);
 
-      if (!VEC_empty (memory_write_request_s, result)
-	  && VEC_last (memory_write_request_s, result)->end >= begin)
-	{
-	  VEC_last (memory_write_request_s, result)->end = end;
-	}
+      if (!result.empty () && result.back ().end >= begin)
+	result.back ().end = end;
       else
-	{
-	  struct memory_write_request *n =
-	    VEC_safe_push (memory_write_request_s, result, NULL);
-
-	  memset (n, 0, sizeof (struct memory_write_request));
-	  n->begin = begin;
-	  n->end = end;
-	}
+	result.emplace_back (begin, end);
     }
 
   return result;
@@ -196,14 +172,14 @@ blocks_to_erase (VEC(memory_write_reques
    that will be erased but not rewritten (e.g. padding within a block
    which is only partially filled by "load").  */
 
-static VEC(memory_write_request_s) *
-compute_garbled_blocks (VEC(memory_write_request_s) *erased_blocks,
-			VEC(memory_write_request_s) *written_blocks)
+static std::vector<memory_write_request>
+compute_garbled_blocks (const std::vector<memory_write_request> &erased_blocks,
+			const std::vector<memory_write_request> &written_blocks)
 {
-  VEC(memory_write_request_s) *result = NULL;
+  std::vector<memory_write_request> result;
 
-  unsigned i, j;
-  unsigned je = VEC_length (memory_write_request_s, written_blocks);
+  unsigned j;
+  unsigned je = written_blocks.size ();
   struct memory_write_request *erased_p;
 
   /* Look at each erased memory_write_request in turn, and
@@ -213,19 +189,15 @@ compute_garbled_blocks (VEC(memory_write
      the lists are sorted at this point it could be rewritten more
      efficiently, but the complexity is not generally worthwhile.  */
 
-  for (i = 0;
-       VEC_iterate (memory_write_request_s, erased_blocks, i, erased_p);
-       ++i)
+  for (const memory_write_request &erased_iter : erased_blocks)
     {
       /* Make a deep copy -- it will be modified inside the loop, but
 	 we don't want to modify original vector.  */
-      struct memory_write_request erased = *erased_p;
+      struct memory_write_request erased = erased_iter;
 
       for (j = 0; j != je;)
 	{
-	  struct memory_write_request *written
-	    = VEC_index (memory_write_request_s,
-			 written_blocks, j);
+	  const memory_write_request *written = &written_blocks[j];
 
 	  /* Now try various cases.  */
 
@@ -242,7 +214,7 @@ compute_garbled_blocks (VEC(memory_write
 	     blocks.  */
 	  if (written->begin >= erased.end)
 	    {
-	      VEC_safe_push (memory_write_request_s, result, &erased);
+	      result.push_back (erased);
 	      goto next_erased;
 	    }
 
@@ -259,12 +231,7 @@ compute_garbled_blocks (VEC(memory_write
 	     again for the remainder.  */
 	  if (written->begin > erased.begin)
 	    {
-	      struct memory_write_request *n =
-		VEC_safe_push (memory_write_request_s, result, NULL);
-
-	      memset (n, 0, sizeof (struct memory_write_request));
-	      n->begin = erased.begin;
-	      n->end = written->begin;
+	      result.emplace_back (erased.begin, written->begin);
 	      erased.begin = written->begin;
 	      continue;
 	    }
@@ -283,7 +250,7 @@ compute_garbled_blocks (VEC(memory_write
 
       /* If we ran out of write requests without doing anything about
 	 ERASED, then that means it's really erased.  */
-      VEC_safe_push (memory_write_request_s, result, &erased);
+      result.push_back (erased);
 
     next_erased:
       ;
@@ -292,59 +259,30 @@ compute_garbled_blocks (VEC(memory_write
   return result;
 }
 
-static void
-cleanup_request_data (void *p)
-{
-  VEC(memory_write_request_s) **v = (VEC(memory_write_request_s) **) p;
-  struct memory_write_request *r;
-  int i;
-
-  for (i = 0; VEC_iterate (memory_write_request_s, *v, i, r); ++i)
-    xfree (r->data);
-}
-
-static void
-cleanup_write_requests_vector (void *p)
-{
-  VEC(memory_write_request_s) **v = (VEC(memory_write_request_s) **) p;
-
-  VEC_free (memory_write_request_s, *v);
-}
-
 int
-target_write_memory_blocks (VEC(memory_write_request_s) *requests,
+target_write_memory_blocks (const std::vector<memory_write_request> &requests,
 			    enum flash_preserve_mode preserve_flash_p,
 			    void (*progress_cb) (ULONGEST, void *))
 {
-  struct cleanup *back_to = make_cleanup (null_cleanup, NULL);
-  VEC(memory_write_request_s) *blocks = VEC_copy (memory_write_request_s,
-						  requests);
-  unsigned i;
-  int err = 0;
+  std::vector<memory_write_request> blocks = requests;
   struct memory_write_request *r;
-  VEC(memory_write_request_s) *regular = NULL;
-  VEC(memory_write_request_s) *flash = NULL;
-  VEC(memory_write_request_s) *erased, *garbled;
+  std::vector<memory_write_request> regular;
+  std::vector<memory_write_request> flash;
+  std::vector<memory_write_request> erased, garbled;
 
   /* END == 0 would represent wraparound: a write to the very last
      byte of the address space.  This file was not written with that
      possibility in mind.  This is fixable, but a lot of work for a
      rare problem; so for now, fail noisily here instead of obscurely
      later.  */
-  for (i = 0; VEC_iterate (memory_write_request_s, requests, i, r); ++i)
-    gdb_assert (r->end != 0);
-
-  make_cleanup (cleanup_write_requests_vector, &blocks);
+  for (const memory_write_request &iter : requests)
+    gdb_assert (iter.end != 0);
 
   /* Sort the blocks by their start address.  */
-  qsort (VEC_address (memory_write_request_s, blocks),
-	 VEC_length (memory_write_request_s, blocks),
-	 sizeof (struct memory_write_request), compare_block_starting_address);
+  std::sort (blocks.begin (), blocks.end (), compare_block_starting_address);
 
   /* Split blocks into list of regular memory blocks,
      and list of flash memory blocks.  */
-  make_cleanup (cleanup_write_requests_vector, &regular);
-  make_cleanup (cleanup_write_requests_vector, &flash);
   split_regular_and_flash_blocks (blocks, &regular, &flash);
 
   /* If a variable is added to forbid flash write, even during "load",
@@ -354,37 +292,35 @@ target_write_memory_blocks (VEC(memory_w
 
   /* Find flash blocks to erase.  */
   erased = blocks_to_erase (flash);
-  make_cleanup (cleanup_write_requests_vector, &erased);
 
   /* Find what flash regions will be erased, and not overwritten; then
      either preserve or discard the old contents.  */
   garbled = compute_garbled_blocks (erased, flash);
-  make_cleanup (cleanup_request_data, &garbled);
-  make_cleanup (cleanup_write_requests_vector, &garbled);
 
-  if (!VEC_empty (memory_write_request_s, garbled))
+  std::vector<gdb::unique_xmalloc_ptr<gdb_byte>> mem_holders;
+  if (!garbled.empty ())
     {
       if (preserve_flash_p == flash_preserve)
 	{
-	  struct memory_write_request *r;
-
 	  /* Read in regions that must be preserved and add them to
 	     the list of blocks we read.  */
-	  for (i = 0; VEC_iterate (memory_write_request_s, garbled, i, r); ++i)
+	  for (memory_write_request &iter : garbled)
 	    {
-	      gdb_assert (r->data == NULL);
-	      r->data = (gdb_byte *) xmalloc (r->end - r->begin);
-	      err = target_read_memory (r->begin, r->data, r->end - r->begin);
+	      gdb_assert (iter.data == NULL);
+	      gdb::unique_xmalloc_ptr<gdb_byte> holder
+		((gdb_byte *) xmalloc (iter.end - iter.begin));
+	      iter.data = holder.get ();
+	      mem_holders.push_back (std::move (holder));
+	      int err = target_read_memory (iter.begin, iter.data,
+					    iter.end - iter.begin);
 	      if (err != 0)
-		goto out;
+		return err;
 
-	      VEC_safe_push (memory_write_request_s, flash, r);
+	      flash.push_back (iter);
 	    }
 
-	  qsort (VEC_address (memory_write_request_s, flash),
-		 VEC_length (memory_write_request_s, flash),
-		 sizeof (struct memory_write_request),
-		 compare_block_starting_address);
+	  std::sort (flash.begin (), flash.end (),
+		     compare_block_starting_address);
 	}
     }
 
@@ -398,47 +334,44 @@ target_write_memory_blocks (VEC(memory_w
      have the opportunity to batch flash requests.  */
 
   /* Write regular blocks.  */
-  for (i = 0; VEC_iterate (memory_write_request_s, regular, i, r); ++i)
+  for (const memory_write_request &iter : regular)
     {
       LONGEST len;
 
-      len = target_write_with_progress (current_target.beneath,
+      len = target_write_with_progress (current_top_target (),
 					TARGET_OBJECT_MEMORY, NULL,
-					r->data, r->begin, r->end - r->begin,
-					progress_cb, r->baton);
-      if (len < (LONGEST) (r->end - r->begin))
+					iter.data, iter.begin,
+					iter.end - iter.begin,
+					progress_cb, iter.baton);
+      if (len < (LONGEST) (iter.end - iter.begin))
 	{
 	  /* Call error?  */
-	  err = -1;
-	  goto out;
+	  return -1;
 	}
     }
 
-  if (!VEC_empty (memory_write_request_s, erased))
+  if (!erased.empty ())
     {
       /* Erase all pages.  */
-      for (i = 0; VEC_iterate (memory_write_request_s, erased, i, r); ++i)
-	target_flash_erase (r->begin, r->end - r->begin);
+      for (const memory_write_request &iter : erased)
+	target_flash_erase (iter.begin, iter.end - iter.begin);
 
       /* Write flash data.  */
-      for (i = 0; VEC_iterate (memory_write_request_s, flash, i, r); ++i)
+      for (const memory_write_request &iter : flash)
 	{
 	  LONGEST len;
 
-	  len = target_write_with_progress (&current_target,
+	  len = target_write_with_progress (current_top_target (),
 					    TARGET_OBJECT_FLASH, NULL,
-					    r->data, r->begin,
-					    r->end - r->begin,
-					    progress_cb, r->baton);
-	  if (len < (LONGEST) (r->end - r->begin))
+					    iter.data, iter.begin,
+					    iter.end - iter.begin,
+					    progress_cb, iter.baton);
+	  if (len < (LONGEST) (iter.end - iter.begin))
 	    error (_("Error writing data to flash"));
 	}
 
       target_flash_done ();
     }
 
- out:
-  do_cleanups (back_to);
-
-  return err;
+  return 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.1.0.20180703/gdb/testsuite/boards/cc-with-tweaks.exp ./gdb/testsuite/boards/cc-with-tweaks.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/boards/cc-with-tweaks.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/boards/cc-with-tweaks.exp	2018-07-10 02:06:13.000000000 +0000
@@ -44,8 +44,8 @@ set contrib_dir [file normalize $srcdir/
 if ![info exists CC_FOR_TARGET] {
     set CC_FOR_TARGET "$found_gcc"
 }
-set CC_FOR_TARGET "/bin/sh $contrib_dir/cc-with-tweaks.sh $CC_WITH_TWEAKS_FLAGS $CC_FOR_TARGET"
+set CC_FOR_TARGET "$contrib_dir/cc-with-tweaks.sh $CC_WITH_TWEAKS_FLAGS $CC_FOR_TARGET"
 if ![info exists CXX_FOR_TARGET] {
     set CXX_FOR_TARGET "$found_gxx"
 }
-set CXX_FOR_TARGET "/bin/sh $contrib_dir/cc-with-tweaks.sh $CC_WITH_TWEAKS_FLAGS $CXX_FOR_TARGET"
+set CXX_FOR_TARGET "$contrib_dir/cc-with-tweaks.sh $CC_WITH_TWEAKS_FLAGS $CXX_FOR_TARGET"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/boards/dwarf4-gdb-index.exp ./gdb/testsuite/boards/dwarf4-gdb-index.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/boards/dwarf4-gdb-index.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/boards/dwarf4-gdb-index.exp	2018-07-10 02:06:13.000000000 +0000
@@ -36,8 +36,8 @@ set contrib_dir [file normalize $srcdir/
 if ![info exists CC_FOR_TARGET] {
     set CC_FOR_TARGET "$found_gcc"
 }
-set CC_FOR_TARGET "/bin/sh $contrib_dir/cc-with-tweaks.sh -i $CC_FOR_TARGET"
+set CC_FOR_TARGET "$contrib_dir/cc-with-tweaks.sh -i $CC_FOR_TARGET"
 if ![info exists CXX_FOR_TARGET] {
     set CXX_FOR_TARGET "$found_gxx"
 }
-set CXX_FOR_TARGET "/bin/sh $contrib_dir/cc-with-tweaks.sh -i $CXX_FOR_TARGET"
+set CXX_FOR_TARGET "$contrib_dir/cc-with-tweaks.sh -i $CXX_FOR_TARGET"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/boards/fission-dwp.exp ./gdb/testsuite/boards/fission-dwp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/boards/fission-dwp.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/boards/fission-dwp.exp	2018-07-10 02:06:13.000000000 +0000
@@ -30,11 +30,11 @@ set contrib_dir [file normalize $srcdir/
 if ![info exists CC_FOR_TARGET] {
     set CC_FOR_TARGET "$found_gcc"
 }
-set CC_FOR_TARGET "/bin/sh $contrib_dir/cc-with-tweaks.sh -p $CC_FOR_TARGET"
+set CC_FOR_TARGET "$contrib_dir/cc-with-tweaks.sh -p $CC_FOR_TARGET"
 if ![info exists CXX_FOR_TARGET] {
     set CXX_FOR_TARGET "$found_gxx"
 }
-set CXX_FOR_TARGET "/bin/sh $contrib_dir/cc-with-tweaks.sh -p $CXX_FOR_TARGET"
+set CXX_FOR_TARGET "$contrib_dir/cc-with-tweaks.sh -p $CXX_FOR_TARGET"
 
 if ![info exists READELF_FOR_TARGET] {
     set READELF_FOR_TARGET "[transform readelf]"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/boards/gdbserver-base.exp ./gdb/testsuite/boards/gdbserver-base.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/boards/gdbserver-base.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/boards/gdbserver-base.exp	2018-07-10 02:06:13.000000000 +0000
@@ -32,25 +32,3 @@ set_board_info gdb,nofileio 1
 set_board_info gdb,predefined_tsv "\\\$trace_timestamp"
 
 set GDBFLAGS "${GDBFLAGS} -ex \"set auto-connect-native-target off\""
-
-proc ${board}_file { dest op args } {
-    if { $op == "delete" } {
-	return 0
-    }
-    return [eval [list standard_file $dest $op] $args]
-}
-
-proc ${board}_download { board host dest } {
-    # We pass DEST in standard_output_file, regardless of whether it is absolute
-    # or relative, because we don't want the tests to be able to write outside
-    # their standard output directory.
-    set dest [standard_output_file $dest]
-
-    file copy -force $host $dest
-
-    return $dest
-}
-
-proc ${board}_upload {dest srcfile args} {
-    return $srcfile
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/boards/remote-stdio-gdbserver.exp ./gdb/testsuite/boards/remote-stdio-gdbserver.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/boards/remote-stdio-gdbserver.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/boards/remote-stdio-gdbserver.exp	2018-07-10 02:06:13.000000000 +0000
@@ -75,7 +75,7 @@ proc get_target_remote_pipe_cmd { } {
 
 proc ${board}_file { dest op args } {
     if { $op == "delete" } {
-	return [remote_exec [get_remote_login] "rm -f $args"]
+	return [remote_exec target "rm -f $args"]
     }
     return [eval [list standard_file $dest $op] $args]
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/ChangeLog ./gdb/testsuite/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/ChangeLog	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/ChangeLog	2018-07-10 02:06:13.000000000 +0000
@@ -1,14 +1,922 @@
+2018-07-04  Tom de Vries  <tdevries@suse.de>
+
+	* gdb.dwarf2/dw2-error.exp: Update expected error message.
+
+2018-07-02  Maciej W. Rozycki  <macro@mips.com>
+
+	PR tdep/8282
+	* gdb.arch/mips-disassembler-options.exp: New test.
+	* gdb.arch/mips-disassembler-options.s: New test source.
+
+2018-06-29  Pedro Alves  <palves@redhat.com>
+
+	* gdb.threads/names.exp: Adjust expected "info threads" output.
+
+2018-06-29  Pedro Alves  <palves@redhat.com>
+
+	* gdb.opt/inline-break.exp (line number, address): Add "info
+	break" tests.
+
+2018-06-29  Pedro Alves  <palves@redhat.com>
+
+	* gdb.opt/inline-break.c (func1): Add "break here" marker.
+	* gdb.opt/inline-break.exp: Test setting breakpoints by line
+	number and address and running to them.
+
+2018-06-29  Richard Bunt  <richard.bunt@arm.com>
+
+	* gdb.base/watchpoint-hw-attach.exp: Remove unstable output.
+
+2018-06-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* lib/compiler.c: Remove executable permission flag.
+
+2018-06-28  Richard Bunt  <richard.bunt@arm.com>
+
+	* gdb.base/watchpoint-hw-attach.c (main): Remove unneeded
+	code.
+	* gdb.base/watchpoint-hw-attach.exp: Break in outermost frame.
+
+2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
+
+	* gdb.base/relocate.exp: Add test for "add-symbol-file -o ".
+
+2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
+
+	* gdb.base/relocate.exp: Test add-symbol-file behavior when the
+	address argument is omitted.
+
+2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
+
+	* gdb.base/relocate.exp: Add test for "symbol-file -o ".
+
+2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
+
+	PR gdb/21695
+	* gdb.base/infoline-reloc-main-from-zero.exp: New test.
+	* gdb.base/infoline-reloc-main-from-zero.c: New file.
+
+2018-06-26  Tom Tromey  <tom@tromey.com>
+
+	PR rust/22574:
+	* gdb.rust/simple.exp (test_one_slice): Add ptype/o tests.
+	* gdb.rust/simple.rs (struct SimpleLayout): New.
+
+2018-06-22  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb.base/jit-reader.exp (jit_reader_test): Expect spaces in
+	"info registers" output.
+
+2018-06-21  Richard Bunt  <richard.bunt@arm.com>
+
+	* gdb.base/watchpoint-hw-attach.c: New test.
+	* gdb.base/watchpoint-hw-attach.exp: New file.
+
+2018-06-20  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* boards/cc-with-tweaks.exp: Don't call cc-with-tweaks.sh
+	through /bin/sh.
+	* boards/dwarf4-gdb-index.exp: Likewise.
+	* boards/fission-dwp.exp: Likewise.
+
+2018-06-20  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* gdb.base/float128.exp: Add comment and improved fail message
+	to the failure case of "print large128" test.
+
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* configure.ac: Remove AC_PREREQ.
+	* configure: Re-generate.
+
+2018-06-19  Pedro Alves  <palves@redhat.com>
+
+	* gdb.opt/inline-break.c (func_inline_callee, func_inline_caller)
+	(func_extern_caller): New.
+	(main): Call func_extern_caller.
+	* gdb.opt/inline-break.exp: Add tests for inline frame skipping
+	logic change.
+
+2018-06-18  Weimin Pan  <weimin.pan@oracle.com>
+
+	PR gdb/16841
+	* gdb.cp/typedef-base.cc: New file.
+	* gdb.cp/typedef-base.exp: New file.
+
+2018-06-18  Tom de Vries  <tdevries@suse.de>
+
+	* gdb.ada/bp_inlined_func.exp: Allow 5 breakpoint locations.
+
+2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
+	    Richard Bunt <Richard.Bunt@arm.com>
+
+	* gdb.threads/attach-slow-waitpid.c: New file.
+	* gdb.threads/attach-slow-waitpid.exp: New file.
+	* gdb.threads/slow-waitpid.c: New file.
+
+2018-06-14  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/fork-running-state.c: Include <errno.h>.
+	(exit_if_relative_exits): New.
+	(fork_child): If 'exit_if_relative_exits' is true, exit if the parent
+	exits.
+	(fork_parent): If 'exit_if_relative_exits' is true, exit if the
+	child exits.
+
+2018-06-14  Tom de Vries  <tdevries@suse.de>
+
+	PR cli/22573
+	* gdb.base/finish-pretty.c: New test.
+	* gdb.base/finish-pretty.exp: New file.
+
+2018-06-14  Pedro Alves  <palves@redhat.com>
+
+	* gdb.gdb/selftest.exp (test_with_self): Use multi_line to build
+	gdb's expected startup output.
+
+2018-06-14  Pedro Alves  <palves@redhat.com>
+
+	* lib/selftest-support.exp (selftest_setup): Remove inlined
+	function handling.
+
+2018-06-14  Tom de Vries  <tdevries@suse.de>
+
+	* lib/selftest-support.exp (selftest_setup): Allow function arguments in
+	matching of breakpoint printing.
+
+2018-06-13  Tom de Vries  <tdevries@suse.de>
+
+	PR testsuite/23269
+	* gdb.base/fork-running-state.c (main): Move setting of alarm ...
+	(fork_child): ... here, and ...
+	(fork_parent): ... here.
+
+2018-06-12  Tom de Vries  <tdevries@suse.de>
+
+	* gdb.gdb/selftest.exp (test_with_self): Update gdb startup text.
+
+2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
+	    Stephen Roberts  <stephen.roberts@arm.com>
+
+	* gdb.threads/multiple-successive-infcall.exp: Remove kfail case,
+	rewrite test to describe action performed, rather than possible
+	failure.
+
+2018-06-08  Gary Benson <gbenson@redhat.com>
+
+	* gdb.threads/check-libthread-db.exp: New file.
+	* gdb.threads/check-libthread-db.c: Likewise.
+
+2018-06-05  Tom Tromey  <tom@tromey.com>
+
+	* gdb.base/default.exp: Update expected "show version" output.
+
+2018-06-05  Tom Tromey	<tom@tromey.com>
+
+	PR cli/12326:
+	* gdb.cp/static-print-quit.exp: Update.
+	* lib/gdb.exp (pagination_prompt): Update.
+	* gdb.base/page.exp: Use pagination_prompt.  Add new tests.
+	* gdb.python/python.exp: Update.
+
+2018-06-04  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.mi/list-thread-groups-no-inferior.exp: New testcase.
+
+2018-06-01  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/bp_fun_addr: New testcase.
+
+2018-06-01  Tom Tromey  <tom@tromey.com>
+
+	* gdb.xml/tdesc-regs.exp (load_description): Update expected
+	results.
+	* gdb.dwarf2/method-ptr.exp: Set language to C++.
+	* gdb.dwarf2/member-ptr-forwardref.exp: Set language to C++.
+	* gdb.cp/typeid.exp (do_typeid_tests): Update type_re.
+	* gdb.base/maint.exp (maint_pass_if): Update.
+
+2018-05-31  Maciej W. Rozycki  <macro@mips.com>
+
+	* gdb.base/endian.exp: New test.
+	* gdb.base/endian.c: New test source.
+
+2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	PR gdb/23203
+	* gdb.base/bt-selected-frame.c: New file.
+	* gdb.base/bt-selected-frame.exp: New file.
+	* lib/gdb.exp (get_current_frame_number): New function.
+
+2018-05-24  Maciej W. Rozycki  <macro@mips.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	* gdb.threads/tls-core.c: Include <stdlib.h>
+	(thread_proc): Call `abort'.
+	* gdb.threads/tls-core.exp: Generate a core with core_find too.
+	(tls_core_test): New procedure, bits factored out from ...
+	(top level): ... here.  Test both native cores and gcore cores.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* gdb.gdb/complaints.exp (test_initial_complaints): Simplify.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* gdb.gdb/complaints.exp (test_initial_complaints): Don't mention
+	symfile_complaints.
+	(test_short_complaints): Likewise.
+	(test_empty_complaints): Likewise.
+	(test_initial_complaints): Update.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* gdb.gdb/complaints.exp (test_empty_complaints): Update.
+
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+	* gdb.gdb/complaints.exp (test_serial_complaints): Remove.
+	(test_short_complaints): Update.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/remote.exp: Only gdb_start after compiling the
+	testcase.  Issue "disconnect" before testing "set remote" command
+	defaults.  Issue clean_restart before running to main.
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/remote.exp: Adjust expected output of "show remote
+	memory-write-packet-size".  Add tests for "set remote
+	memory-write-packet-size 0" and "set remote
+	memory-write-packet-size fixed/limit".
+
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/22973
+	* gdb.base/utf8-identifiers.c: New file.
+	* gdb.base/utf8-identifiers.exp: New file.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* gdb.arch/powerpc-fpscr-gcore.exp: New file.
+
+2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
+
+	* gdb.arch/powerpc-vsx-gcore.exp: New file.
+
+2018-05-18  Tom Tromey  <tom@tromey.com>
+
+	* gdb.base/ptype-offsets.exp: Update.
+
+2018-05-17  Keith Seitz  <keiths@redhat.com>
+
+	* gdb.ada/bp_inlined_func.exp: Update inlined frame locations
+	in expected breakpoint stop locations.
+	* gdb.dwarf2/implptr.exp (implptr_test_baz): Use up/down to
+	move to proper scope to test variable values.
+	* gdb.opt/inline-break.c (inline_func1, not_inline_func1)
+	(inline_func2, not_inline_func2, inline_func3, not_inline_func3):
+	New functions.
+	(main): Call not_inline_func3.
+	* gdb.opt/inline-break.exp: Start inferior and set breakpoints at
+	inline_func1, inline_func2, and inline_func3.  Test that when each
+	breakpoint is hit, GDB properly reports both the stop location
+	and the backtrace. Repeat tests for temporary breakpoints.
+
+2018-05-15  Maciej W. Rozycki  <macro@mips.com>
+
+	* gdb.server/server-kill.exp: Verify whether `server_pid' exists
+	rather then trying to access it in determining whether the PID
+	of `gdbserver' could have been retrieved.
+
+2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.arch/amd64-init-x87-values.S: New file.
+	* gdb.arch/amd64-init-x87-values.exp: New file.
+
+2018-05-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.base/watchpoint-unaligned.exp: Use skip_hw_watchpoint_tests.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	PR python/22730:
+	* gdb.python/python.exp: Test multi-line execute.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	PR python/22731:
+	* gdb.python/py-breakpoint.exp: Test setting breakpoint commands.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	PR gdb/11750:
+	* gdb.base/define.exp: Test defining a user command inside a user
+	command.
+	* gdb.base/commands.exp (define_if_without_arg_test): Test "define".
+
+2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Pedro Alves <palves@redhat.com>
+
+	PR breakpoints/19806 and support for PR external/20207.
+	* gdb.base/watchpoint-unaligned.c: New file.
+	* gdb.base/watchpoint-unaligned.exp: New file.
+
+2018-05-04  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.base/maint.exp: Make test names unique, use
+	test_prefix_command_help to test 'help maint info', and remove
+	repeated test of 'help maint'.
+
+2018-05-04  Tom Tromey  <tom@tromey.com>
+
+	PR gdb/22619:
+	* gdb.base/long_long.exp (gdb_test_long_long): Add test for repeat
+	behavior.
+
+2018-05-04  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.base/maint.exp: Process output from 'maint print registers'
+	line at a time.
+
+2018-05-04  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* lib/mi-support.exp (mi_run_cmd_full): Fix regexp and add a
+	timeout.
+
+2018-05-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.base/callfuncs.exp (fetch_all_registers): Add riscv register
+	filter pattern.
+
+2018-05-02  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/breakpoint-in-ro-region.exp: Adjust to to_resume and
+	to_log_command renames.
+	* gdb.base/sss-bp-on-user-bp-2.exp: Likewise.
+
+2018-05-02  Tom Tromey  <tom@tromey.com>
+
+	* gdb.python/py-parameter.exp: Set test message.
+
+2018-05-02  Tom Tromey  <tom@tromey.com>
+
+	PR python/20084:
+	* gdb.python/py-parameter.exp: Add PARAM_ZUINTEGER and
+	PARAM_ZUINTEGER_UNLIMITED tests.
+
+2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
+
+	PR rust/23124
+	* gdb.rust/expr.exp: Test that the unit type is correctly parsed
+	when casting.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	* gdb.python/py-type.exp: Check align attribute.
+	* gdb.python/py-type.c: New "aligncheck" global.
+
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+	PR exp/17095:
+	* gdb.dwarf2/dw2-align.exp: New file.
+	* gdb.cp/align.exp: New file.
+	* gdb.base/align.exp: New file.
+	* lib/gdb.exp (gdb_int128_helper): New proc.
+	(has_int128_c, has_int128_cxx): New caching procs.
+
+2018-04-27  Tom Tromey  <tom@tromey.com>
+
+	PR rust/22545:
+	* gdb.rust/simple.exp: Add inclusive range tests.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/gnu-ifunc.exp (set-break): Test that GDB resolves
+	ifunc breakpoint locations correctly of ifunc breakpoints set
+	while the program resolves the ifunc.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/gnu-ifunc-final.c: New file.
+	* gdb.base/gnu-ifunc.c (final): Delete, moved to gnu-ifunc-final.c.
+	* gdb.base/gnu-ifunc.exp (executable): Delete.
+	(staticexecutable): Adjust.
+	(lib_opts, exec_opts): Delete.
+	(make_binsuffix, build, set-break): New procedures.
+	(misc_tests): New, with tests factored out from the top level.
+	(top level): Test different combinations of ifunc resolver name,
+	resolver with and with debug info, and ifunc target with and
+	without debug info.  Wrap static tests with with_target_prefix.
+
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+	* gdb.compile/compile-ifunc.exp: Also expect "function has unknown
+	return type" warnings.
+
+2018-04-25  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/hook-stop.exp: Expect "killed" instead of "has been
+	killed".
+	* gdb.base/kill-after-signal.exp: Likewise.
+	* gdb.threads/kill.exp: Likewise.
+
+2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Sergio Durigan Junior  <sergiodj@redhat.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/attach-non-pgrp-leader.exp: Adjust 'Detaching...'
+	regexps to expect for '[Inferior ... detached]' as well.
+	* gdb.base/attach.exp: Likewise.
+	* gdb.base/catch-syscall.exp (check_for_program_end): Adjust
+	"gdb_continue_to_end".
+	(test_catch_syscall_with_wrong_args): Likewise.
+	* gdb.base/foll-fork.exp: Adjust regexps to match '[' and
+	']'.  Don't set 'verbose' on.
+	* gdb.base/foll-vfork.exp: Likewise.
+	* gdb.base/fork-print-inferior-events.c: New file.
+	* gdb.base/fork-print-inferior-events.exp: New file.
+	* gdb.base/hook-stop.exp: Adjust regexps to expect for new
+	'[Inferior ... has been killed]' message.
+	* gdb.base/kill-after-signal.exp: Likewise.
+	* gdb.base/solib-overlap.exp: Adjust regexps to expect for new
+	detach message.
+	* gdb.threads/kill.exp: Adjust regexps to expect for new kill
+	message.
+	* gdb.threads/clone-attach-detach.exp: Adjust 'Detaching...'
+	regexps to expect for '[Inferior ... detached]' as well.
+	* gdb.threads/process-dies-while-detaching.exp: Likewise.
+
+2018-04-24  Simon Marchi  <simon.marchi@ericsson.com>
+
+	PR gdb/23104
+	* gdb.base/info-shared.exp: Replace libs=-ldl with shlib_load.
+
+2018-04-19  Richard Bunt  <richard.bunt@arm.com>
+
+	* gdb.threads/multiple-successive-infcall.c: New test.
+	* gdb.threads/multiple-successive-infcall.exp: New file.
+
+2018-04-17  Tom Tromey  <tom@tromey.com>
+
+	* gdb.rust/simple.rs (Union): New type.
+	(main): New local "u".
+	* gdb.rust/simple.exp (test_one_slice): Add new test case.
+
+2018-04-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/dbx.exp (test_whereis): Adjust regexp to added line
+	number information in output of "whereis" command.
+	* gdb.base/info-fun.exp: Likewise, for "info fun" command.
+
+2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.ada/info_types.exp: Adjust expected output to the line
+	numbers now printed by "info var/func/type".
+	* gdb.base/completion.exp: Likewise.
+	* gdb.base/included.exp: Likewise.
+	* gdb.cp/cp-relocate.exp: Likewise.
+	* gdb.cp/cplusfuncs.exp: Likewise.
+	* gdb.cp/namespace.exp: Likewise.
+	* gdb.dwarf2/dw2-case-insensitive.exp: Likewise.
+
+2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* gdb.btrace/cpu.exp: New.
+
+2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* gdb.base/step-indirect-call-thunk.exp: New.
+	* gdb.base/step-indirect-call-thunk.c: New.
+	* gdb.reverse/step-indirect-call-thunk.exp: New.
+	* gdb.reverse/step-indirect-call-thunk.c: New.
+
+2018-04-11  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb.base/pie-fork.c: New file.
+	* gdb.base/pie-fork.exp: New file.
+
+2018-04-11  Tom Tromey  <tom@tromey.com>
+
+	* gdb.rust/simple.exp: Add test for ".." struct initializer.
+
+2018-04-10  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/fork-running-state.c (fork_child): Don't exit if parent
+	exits.  Instead loop running forever.
+	(fork_parent): Run forever too.
+
+2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* gdb.mi/mi-stack.exp (test_stack_frame_listing): Use
+	mi_continue_to_line.
+	* gdb.mi/mi-stack.c (callee4): Add comment.
+
+2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* gdb.mi/mi-stack.exp: Fix indentation.
+
+2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
+
+	PR gdb/22979
+	* gdb.arch/amd64-osabi.exp: New file.
+
+2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
+
+	PR gdb/22980
+	* gdb.base/osabi.exp: New file.
+
+2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
+
+	* gdb.cp/static-typedef-print.exp: New file.
+	* gdb.cp/static-typedef-print.cc: New file.
+
+2018-03-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/varsize_limit: New testcase.
+
+2018-03-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/maint_with_ada.exp: Remove PR gdb/22670 setup_kfail.
+
+	* gdb.ada/notcplusplus: New testcase.
+
+	* gdb.base/c-linkage-name.c: New file.
+	* gdb.base/c-linkage-name.exp: New testcase.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	* gdb.python/py-framefilter.exp: Add test for KeyboardInterrupt.
+	* gdb.python/py-framefilter.py (name_error): New global.
+	(ErrorInName.function): Use name_error.
+
+2018-03-26  Tom Tromey  <tom@tromey.com>
+
+	PR backtrace/15582:
+	* gdb.python/py-framefilter.exp: Add "bt hide" test.
+
+2018-03-23  Keith Seitz  <keiths@redhat.com>
+
+	PR c++/22968
+	* gdb.cp/subtypes.exp: New file.
+	* gdb.cp/subtypes.h: New file.
+	* gdb.cp/subtypes.cc: New file.
+	* gdb.cp/subtypes-2.cc: New file.
+
+2018-03-23  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.arch/amd64-disp-step-avx.S: Add '_start' label.
+	(done): Call '_exit' not 'exit' to avoid atexit handlers.
+	* gdb.arch/amd64-disp-step-avx.exp: Pass -static, and
+	-nostartfiles when compiling the test.  Confirm that all registers
+	xmm0 to xmm15 are initially 0, and that xmm1 to xmm15 are 0 after.
+
+2018-03-23  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.arch/amd64-disp-step-avx.exp: Remove unneeded assembler flag
+	option, syntax was wrong anyway.
+	* gdb.arch/arm-disp-step.exp: Likewise.
+	* gdb.arch/sparc64-regs.exp: Likewise.
+	* gdb.arch/amd64-disp-step.exp: Remove unneeded assembler flag
+	option, syntax was wrong anyway, switch to use
+	prepare_for_testing.
+	* gdb.arch/i386-disp-step.exp: Likewise.
+
+2018-03-23  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.ada/exec_changed.exp: Replace "target_info exists
+	use_gdb_stub" by "use_gdb_stub".
+	* gdb.ada/start.exp: Likewise.
+	* gdb.base/async-shell.exp: Likewise.
+	* gdb.base/attach-pie-misread.exp: Likewise.
+	* gdb.base/attach-wait-input.exp: Likewise.
+	* gdb.base/break-entry.exp: Likewise.
+	* gdb.base/break-interp.exp: Likewise.
+	* gdb.base/dprintf-detach.exp: Likewise.
+	* gdb.base/nostdlib.exp: Likewise.
+	* gdb.base/solib-nodir.exp: Likewise.
+	* gdb.base/statistics.exp: Likewise.
+	* gdb.base/testenv.exp: Likewise.
+	* gdb.mi/mi-exec-run.exp: Likewise.
+	* gdb.mi/mi-start.exp: Likewise.
+	* gdb.multi/dummy-frame-restore.exp: Likewise.
+	* gdb.multi/multi-arch-exec.exp: Likewise.
+	* gdb.multi/multi-arch.exp: Likewise.
+	* gdb.multi/tids.exp: Likewise.
+	* gdb.multi/watchpoint-multi.exp: Likewise.
+	* gdb.python/py-events.exp: Likewise.
+	* gdb.threads/attach-into-signal.exp: Likewise.
+	* gdb.threads/attach-stopped.exp: Likewise.
+	* gdb.threads/threadapply.exp: Likewise.
+	* lib/selftest-support.exp: Likewise.
+
+2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/info-proc.exp: Add test for "info proc cmdline".
+
+2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
+
+	* gdb.perf/template-breakpoints.cc: New file.
+	* gdb.perf/template-breakpoints.exp: New file.
+	* gdb.perf/template-breakpoints.py: New file.
+
+2018-03-19  Tom Tromey  <tom@tromey.com>
+
+	* gdb.rust/simple.rs (main): Add local variables field1, field2,
+	y0.
+	* gdb.rust/simple.exp: Test bare identifier form of struct
+	initializer.
+
+2018-03-19  Tom Tromey  <tom@tromey.com>
+
+	* gdb.gdb/observer.exp: Remove.
+
+2018-03-19  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.trace/actions-changed.exp: Call gdb_breakpoint with the
+	"qualified" option when setting breakpoints.
+	* gdb.trace/backtrace.exp: Likewise.
+	* gdb.trace/circ.exp: Likewise.
+	* gdb.trace/collection.exp: Likewise.
+	* gdb.trace/disconnected-tracing.exp: Likewise.
+	* gdb.trace/ftrace-lock.exp: Likewise.
+	* gdb.trace/ftrace.exp: Likewise.
+	* gdb.trace/infotrace.exp: Likewise.
+	* gdb.trace/packetlen.exp: Likewise.
+	* gdb.trace/passc-dyn.exp: Likewise.
+	* gdb.trace/qtro.exp: Likewise.
+	* gdb.trace/read-memory.exp: Likewise.
+	* gdb.trace/report.exp: Likewise.
+	* gdb.trace/signal.exp: Likewise.
+	* gdb.trace/status-stop.exp: Likewise.
+	* gdb.trace/strace.exp: Likewise.
+	* gdb.trace/tfind.exp: Likewise.
+	* gdb.trace/trace-break.exp: Likewise.
+	* gdb.trace/trace-condition.exp: Likewise.
+	* gdb.trace/trace-mt.exp: Likewise.
+	* gdb.trace/tstatus.exp: Likewise.
+	* gdb.trace/tsv.exp: Likewise.
+	* gdb.trace/unavailable-dwarf-piece.exp: Likewise.
+	* gdb.trace/unavailable.exp: Likewise.
+	* gdb.trace/while-dyn.exp: Likewise.
+
+2018-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.trace/tspeed.exp: Add invocation of gdb_load_shlib to ensure
+	that libinproctrace is copied to the target.
+
+2018-03-14  Tom Tromey  <tom@tromey.com>
+
+	PR cli/14977:
+	* gdb.base/printcmds.exp (test_printf): Add printf test of %s with
+	a null pointer.
+	* gdb.base/wchar.exp: Likewise.
+
+2018-03-14  Tom Tromey  <tom@tromey.com>
+
+	PR cli/19918:
+	* gdb.base/printcmds.exp (test_printf): Add printf test using '-'
+	flag.
+
+2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
+
+	PR gdb/22841
+	* boards/remote-stdio-gdbserver.exp (${board}_file): Pass
+	"target" to remote_exec.
+
+2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	PR gdb/22841
+	* boards/gdbserver-base.exp (${board}_file, ${board}_download,
+	${board}_upload): Remove.
+
+2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.cp/watch-cp.cc: New test.
+	* gdb.cp/watch-cp.exp: New file.
+
+2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.base/infcall-nested-structs.exp: New file.
+	* gdb.base/infcall-nested-structs.c: New file.
+	* gdb.base/float.exp: Add riscv support.
+
+2018-03-02  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* gdb.dlang/watch-loc.c: Use %progbits instead of @progbits.
+	* gdb.mi/dw2-ref-missing-frame-func.c: Likewise.
+
 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
 
 	* gdb.server/abspath.exp: New file.
 	* lib/gdb.exp (with_cwd): New procedure.
 
+2018-02-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* lib/gdb.exp (gdb_is_target_1): Add prompt_regexp parameter and
+	use it.
+	(gdb_is_target_remote_prompt): New proc.
+	(gdb_is_target_remote): Use gdb_is_target_remote_prompt.
+	(gdb_is_target_native): Pass prompt parameter to
+	gdb_is_target_1.
+
+2018-02-26  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* gdb.base/load-command.c: New file.
+	* gdb.base/load-command.exp: New file.
+	* lib/gdb.exp (gdb_is_target_remote_prompt): Rename to...
+	(gdb_is_target_1): ...this, and generalize for other targets
+	than just remote.
+	(gdb_is_target_remote): Use gdb_is_target_1.
+	(gdb_is_target_native): use gdb_is_target_1.
+
+2018-02-26  Tom Tromey  <tom@tromey.com>
+
+	PR python/16497:
+	* gdb.python/py-framefilter.exp: Update test.
+
+2018-02-26  Tom Tromey  <tom@tromey.com>
+
+	* gdb.dwarf2/variant.c: New file.
+	* gdb.dwarf2/variant.exp: New file.
+
+2018-02-26  Tom Tromey  <tom@tromey.com>
+
+	* gdb.rust/simple.exp: Accept more possible results in enum test.
+
+2018-02-25  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* lib/cp-support.exp (cp_test_ptype_class): Move space inside
+	parentheses.
+
+2018-02-23  Maciej W. Rozycki  <macro@mips.com>
+
+	* lib/cp-support.exp (cp_test_ptype_class): Fix a typo in the
+	name of a variable: $actual_linejj -> $actual_line.
+
+2018-02-21  John Baldwin  <jhb@FreeBSD.org>
+
+	* gdb.arch/amd64-i386-address.exp: Fix a typo.
+
+2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* gdb.btrace/buffer-size.exp: Do not force BTS.
+
+2018-02-14  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/bp-cmds-continue-ctrl-c.exp (do_test): Test "bt" after
+	getting a "Quit".
+
+2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* lib/gdb.exp (skip_btrace_pt_tests): Update expected error message.
+	Fix test name.
+
+2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb.cp/m-static.exp: Check type of optimized out static
+	member.
+
+2018-02-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/sid.exp (gdb_target_sid): Remove use of cleanup.
+	* config/sim.exp (gdb_target_sim): Remove use of cleanup.
+
+2018-02-01  Simon Marchi  <simon.marchi@polymtl.ca>
+	    Leszek Swirski  <leszeks@google.com>
+
+	* gdb.python/py-prettyprint.c
+	(struct to_string_returns_value_inner,
+	struct to_string_returns_value_wrapper): New.
+	(main): Add tsrvw variable.
+	* gdb.python/py-prettyprint.py (ToStringReturnsValueInner,
+	ToStringReturnsValueWrapper): New classes.
+	(register_pretty_printers): Register new pretty-printers.
+	* gdb.python/py-prettyprint.exp (run_lang_tests): Test printing
+	recursive pretty printer.
+	* gdb.python/py-mi.exp: Likewise.
+
+2018-02-01  Leszek Swirski  <leszeks@google.com>
+
+	* gdb.cp/filename.cc, gdb.cp/filename.exp: Test that member
+	functions with the same name as an include file are parsed
+	correctly.
+
+2018-02-01  Yao Qi  <yao.qi@linaro.org>
+
+	* gdb.base/attach.exp (do_attach_tests): Set sysroot to
+	"\[^\r\n\]*".
+
+2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
+
+	* gdb.arch/powerpc-prologue-frame.s: New file.
+	* gdb.arch/powerpc-prologue-frame.c: Likewise.
+	* gdb.arch/powerpc-prologue-frame.exp: Likewise.
+
+2018-01-31  Joel Brobecker  <brobecker@adacore.com>
+
+	* testsuite/gdb.ada/dyn_stride.exp: Add "print a1(1)@3" test.
+
+2018-01-30  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/13211
+	* gdb.base/interrupt-daemon.c: New.
+	* gdb.base/interrupt-daemon.exp: New.
+	* gdb.multi/multi-term-settings.c: New.
+	* gdb.multi/multi-term-settings.exp: New.
+
+2018-01-30  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.base/break.exp: Save the location where the breakpoint
+	on break.c:47 was actually inserted when debugging the version
+	compiled at -O2 and use it in the expected output of the "info
+	break" test performed soon after.
+
 2018-01-22  Pedro Alves  <palves@redhat.com>
 	    Sergio Durigan Junior  <sergiodj@redhat.com>
 
 	* gdb.base/whatis.exp: Add tests for 'set print object on' +
 	'whatis <struct>' 'whatis <struct> *' and 'whatis <struct> &'.
 
+2018-01-22  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.base/break-include.c, gdb.base/break-include.inc,
+	gdb.base/break-include.exp: New files.
+	* gdb.base/ending-run.exp: Minor adaptations due to the breakpoint's
+	line number now being the actual line number where the breakpoint
+	was inserted.
+	* gdb.mi/mi-break.exp: Likewise.
+	* gdb.mi/mi-reverse.exp: Likewise.
+	* gdb.mi/mi-simplerun.exp: Ditto.
+
+2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.python/py-mi.exp: Don't expect a thread-id for floating
+	varobj.
+	* gdb.mi/mi-var-create-rtti.exp: Likewise.
+
+2018-01-21  Don Breazeal  <donb@codesourcery.com>
+	    Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.mi/basics.c: Add new global.
+	* gdb.mi/mi-frame-regs.exp: New file.
+	* gdb.mi/mi-var-create-rtti.exp: Update expected results, add new
+	case.
+
+2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.arch/amd64-entry-value.exp: Test using @entry on a
+	non-parameter, and on an unknown symbol.
+
+2018-01-19  Tom Tromey  <tom@tromey.com>
+
+	* gdb.rust/modules.rs (TWENTY_THREE): New global.
+	* gdb.rust/modules.exp: Add ::-qualified lookup test.
+
+2018-01-19  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.arch/s390-vregs.exp: Explicitly cast the return values of
+	setrlimit and chdir to int.
+
+2018-01-19  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.arch/s390-tdbregs.c (my_tbegin): Add comment documenting the
+	function.
+	(my_tend): Likewise.
+	* gdb.arch/s390-tdbregs.exp: Enhance comment; explain the
+	rationale of avoiding FP- and vector instructions.
+
+2018-01-19  Ruslan Kabatsayev  <b7.10110111@gmail.com>
+
+	* gdb.arch/powerpc-d128-regs.exp: Replace expected "\[\t\]*" from
+	"info reg" with "\[ \t\]*".
+	* gdb.arch/altivec-regs.exp: Replace expected "\t" from "info reg" with
+	"\[ \t\]+".
+	* gdb.arch/s390-multiarch.exp: Ditto.
+	* gdb.base/pc-fp.exp: Ditto.
+	* gdb.reverse/i386-precsave.exp: Ditto.
+	* gdb.reverse/i386-reverse.exp: Ditto.
+	* gdb.reverse/i387-env-reverse.exp: Ditto.
+	* gdb.reverse/i387-stack-reverse.exp: Ditto.
+
+2018-01-18  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* lib/gdb.exp (gdb_compile): Re-enable use of
+	universal_compile_options for languages other than Rust.
+
+2018-01-18  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.arch/s390-tdbregs.exp: Add the compile option -msoft-float.
+
+2018-01-17  Mike Gulick  <mgulick@mathworks.com>
+
+	PR gdb/16577
+	* gdb.base/solib-vanish.exp: New.
+	* gdb.base/solib-vanish-main.c: New.
+	* gdb.base/solib-vanish-lib1.c: New.
+	* gdb.base/solib-vanish-lib2.c: New.
+
 2018-01-17  Yao Qi  <yao.qi@linaro.org>
 
 	* gdb.compile/compile.exp: Match the address printed for
@@ -19,11 +927,22 @@
 	* gdb.guile/scm-ports.exp (test_mem_port_rw): Use get_valueof to
 	compute sp_reg.
 
+2018-01-12  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.base/whatis-ptype-typedefs.exp: Don't run tests if we failed
+	to prepare.
+	(prepare): Return 0 on error, 1 on success.
+
 2018-01-12  Pedro Alves  <palves@redhat.com>
 
 	* gdb.base/continue-after-aborted-step-over.c: New.
 	* gdb.base/continue-after-aborted-step-over.exp: New.
 
+2018-01-11  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* lib/gdb.exp (gdb_compile): Ignore shlib= and shlib_load
+	options when not creating an executable.
+
 2018-01-11  Pedro Alves  <palves@redhat.com>
 
 	PR remote/22597
@@ -58,6 +977,17 @@
 
 	* gdb.gdb/unittest.exp: Match output in non-development mode.
 
+2018-01-08  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/access_tagged_param.exp: Relax expected output
+	for value of "ObjL" in "continue" to pck.inspect breakpoint
+	test.
+
+2018-01-08  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/arr_enum_idx_w_gap.exp: New file.
+	* gdb.ada/arr_enum_idx_w_gap/foo_q418_043.adb: New file.
+
 2018-01-05  Pedro Alves  <palves@redhat.com>
 
 	PR gdb/18653
@@ -76,6 +1006,24 @@
 	exercise lower case too, and to exercise both full matching and
 	wild matching.
 
+2018-01-05  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/rename_subscript_param: New testcase.
+
+2018-01-05  Jerome Guitton  <guitton@adacore.com>
+
+	* gdb.ada/arr_acc_idx_w_gap: New testcase.
+
+2018-01-05  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/convvar_comp: New testcase.
+
+2018-01-05  Xavier Roirand  <roirand@adacore.com>
+
+	* testsuite/gdb.ada/array_char_idx/pck.ads (Table): New type.
+	(My_Table): New global variable.
+	* testsuite/gdb.ada/array_char_idx.exp: Add test.
+
 2018-01-04  Joel Brobecker  <brobecker@adacore.com>
 
 	PR gdb/22670
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/config/sid.exp ./gdb/testsuite/config/sid.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/config/sid.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/config/sid.exp	2018-07-10 02:06:13.000000000 +0000
@@ -146,7 +146,6 @@ proc gdb_target_sid { } {
     gdb_expect {
 	-re ".*\[Ee\]rror.*$gdb_prompt $" {
 	    perror "Couldn't set target for remote simulator."
-	    cleanup
 	    gdb_exit
 	}
 	-re "Remote debugging using.*$gdb_prompt"	{
@@ -154,7 +153,6 @@ proc gdb_target_sid { } {
 	}
 	timeout { 
 	    perror "Couldn't set target for remote simulator."
-	    cleanup
 	    gdb_exit
 	}
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/config/sim.exp ./gdb/testsuite/config/sim.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/config/sim.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/config/sim.exp	2018-07-10 02:06:13.000000000 +0000
@@ -34,7 +34,6 @@ proc gdb_target_sim { } {
 	}
 	timeout { 
 	    perror "Couldn't set target for simulator."
-	    cleanup
 	    return -1
 	}
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/configure ./gdb/testsuite/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/configure	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/configure	2018-07-10 02:06:13.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -209,14 +236,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -314,10 +352,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -354,19 +400,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -439,6 +485,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -473,16 +523,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -494,28 +544,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -524,10 +554,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -736,8 +767,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -782,7 +814,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -808,7 +840,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1012,7 +1044,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1028,7 +1060,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1058,8 +1090,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1067,7 +1099,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1077,7 +1109,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1085,13 +1117,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1114,7 +1146,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1128,8 +1160,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1144,9 +1174,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1185,11 +1215,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1229,7 +1259,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1301,7 +1331,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1372,9 +1402,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1418,8 +1448,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1444,7 +1474,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1455,8 +1485,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1468,10 +1498,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1507,7 +1537,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1534,7 +1564,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1543,7 +1573,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1584,8 +1614,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1598,7 +1628,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1616,7 +1646,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 cat >config.log <<_ACEOF
@@ -1624,7 +1654,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1734,11 +1764,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -1772,11 +1800,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -1789,11 +1815,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -1807,11 +1831,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -1866,7 +1888,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -1877,18 +1904,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -1957,7 +1988,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -1976,16 +2007,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -1999,27 +2036,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -2037,14 +2074,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2052,7 +2089,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -2070,14 +2107,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2085,7 +2122,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -2192,7 +2229,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2204,7 +2241,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2232,7 +2269,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2244,7 +2281,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2285,7 +2322,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2297,7 +2334,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2325,7 +2362,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2338,7 +2375,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2384,7 +2421,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2396,7 +2433,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2428,7 +2465,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2440,7 +2477,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2482,8 +2519,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -2504,8 +2541,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -2522,12 +2559,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -2589,62 +2626,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -2674,19 +2677,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2726,8 +2788,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -2737,7 +2799,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2774,7 +2836,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -2852,7 +2914,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -2861,8 +2923,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -2960,7 +3021,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -2990,7 +3051,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3006,11 +3067,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -3049,7 +3110,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3065,18 +3126,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -3088,7 +3149,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -3102,7 +3163,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -3137,7 +3198,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -3151,7 +3212,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -3168,7 +3229,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -3203,7 +3264,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -3218,7 +3279,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3335,8 +3396,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -3349,7 +3409,7 @@ done
 for ac_header in pthread.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default"
-if test "x$ac_cv_header_pthread_h" = x""yes; then :
+if test "x$ac_cv_header_pthread_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_PTHREAD_H 1
 _ACEOF
@@ -3483,10 +3543,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -3538,6 +3609,7 @@ DEFS=`sed -n "$ac_script" confdefs.h`
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -3553,7 +3625,7 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -3654,6 +3726,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3699,19 +3772,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -3849,16 +3922,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -3907,7 +3980,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -3918,28 +3991,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -3961,7 +4022,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -3996,6 +4057,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -4010,12 +4072,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -4030,11 +4093,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -4048,12 +4116,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -4064,7 +4135,7 @@ do
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -4084,7 +4155,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -4116,7 +4187,7 @@ do
     "lib/pdtrace") CONFIG_FILES="$CONFIG_FILES lib/pdtrace" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -4137,9 +4208,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -4147,12 +4219,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -4169,12 +4242,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -4183,18 +4256,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -4202,7 +4275,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -4216,7 +4289,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -4230,7 +4303,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -4250,7 +4323,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -4282,21 +4355,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -4314,7 +4395,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -4333,7 +4414,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -4342,7 +4423,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -4368,8 +4449,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -4494,23 +4575,24 @@ s&@abs_builddir@&$ac_abs_builddir&;t t
 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
 
 
@@ -4530,7 +4612,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -4551,7 +4633,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 
 #
@@ -4692,7 +4774,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_
       # The eval makes quoting arguments work.
       eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
 	   --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
-	as_fn_error "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
+	as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
     fi
 
     cd "$ac_popdir"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/configure.ac ./gdb/testsuite/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/configure.ac	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/configure.ac	2018-07-10 02:06:13.000000000 +0000
@@ -16,7 +16,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-AC_PREREQ(2.59)
 AC_INIT(gdb.base)
 
 AC_CANONICAL_BUILD
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/access_tagged_param.exp ./gdb/testsuite/gdb.ada/access_tagged_param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/access_tagged_param.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/access_tagged_param.exp	2018-07-10 02:06:13.000000000 +0000
@@ -37,4 +37,4 @@ gdb_breakpoint "pck.inspect"
 # the value of all the parameters.
 
 gdb_test "continue" \
-         ".*Breakpoint $decimal, pck\\.inspect \\(obj=$hex, <objL>=2\\) at .*"
+         ".*Breakpoint $decimal, pck\\.inspect \\(obj=$hex, <objL>=\[1-9\]\\) at .*"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap.adb ./gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,28 @@
+--  Copyright 2018 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/>.
+
+package body Enum_With_Gap is
+
+   procedure Do_Nothing (E : AR_Access) is
+   begin
+      null;
+   end Do_Nothing;
+
+   procedure Do_Nothing (E : String_Access) is
+   begin
+      null;
+   end Do_Nothing;
+
+end Enum_With_Gap;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap.ads ./gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap.ads	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,48 @@
+--  Copyright 2018 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/>.
+
+package Enum_With_Gap is
+
+   type Enum_With_Gaps is
+     (
+      LIT0,
+      LIT1,
+      LIT2,
+      LIT3,
+      LIT4
+     );
+
+   for Enum_With_Gaps use
+     (
+      LIT0 => 3,
+      LIT1 => 5,
+      LIT2 => 8,
+      LIT3 => 13,
+      LIT4 => 21
+     );
+   for Enum_With_Gaps'size use 16;
+
+   type MyWord is range 0 .. 16#FFFF# ;
+   for MyWord'Size use 16;
+
+   type AR is array (Enum_With_Gaps range <>) of MyWord;
+   type AR_Access is access AR;
+   
+   type String_Access is access String;
+   
+   procedure Do_Nothing (E : AR_Access);
+   procedure Do_Nothing (E : String_Access);
+
+end Enum_With_Gap;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap_main.adb ./gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap_main.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap_main.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap_main.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,25 @@
+--  Copyright 2018 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/>.
+
+with Enum_With_Gap; use Enum_With_Gap;
+
+procedure Enum_With_Gap_Main is
+   Indexed_By_Enum : AR_Access :=
+     new AR'(LIT1 => 1,  LIT2 => 43, LIT3 => 42, LIT4 => 41);
+   S : String_Access := new String'("Hello!");
+begin
+   Do_Nothing (Indexed_By_Enum); --  BREAK
+   Do_Nothing (S);
+end Enum_With_Gap_Main;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp ./gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,55 @@
+# Copyright 2018 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/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile enum_with_gap_main
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } {
+  return -1
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "BREAK" ${testdir}/enum_with_gap_main.adb]
+if ![runto "enum_with_gap_main.adb:$bp_location" ] then {
+  perror "Couldn't run ${testfile}"
+  return
+}
+
+gdb_test "print indexed_by_enum.all" \
+         " = \\(lit1 => 1, 43, 42, 41\\)"
+gdb_test "print s.all" \
+         " = \"Hello!\""
+
+gdb_test "print indexed_by_enum'length" \
+         " = 4"
+gdb_test "print s'length" \
+         " = 6"
+
+gdb_test "print indexed_by_enum'first" \
+         " = lit1"
+gdb_test "print s'first" \
+         " = 1"
+
+gdb_test "print indexed_by_enum'last" \
+         " = lit4"
+gdb_test "print s'last" \
+         " = 6"
+
+gdb_test "print indexed_by_enum(lit2..lit4)" \
+         " = \\(lit2 => 43, 42, 41\\)"
+gdb_test "print s(2..4)" \
+         " = \"ell\""
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/array_char_idx/pck.ads ./gdb/testsuite/gdb.ada/array_char_idx/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/array_char_idx/pck.ads	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_char_idx/pck.ads	2018-07-10 02:06:13.000000000 +0000
@@ -19,5 +19,8 @@ package Pck is
       of Natural;
    Global_Char_Table : Char_Table := (others => 0);
 
+   type Table is array (Character) of Natural;
+   My_Table : Table := (others => 4874);
+
    procedure Do_Nothing (A : System.Address);
 end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/array_char_idx.exp ./gdb/testsuite/gdb.ada/array_char_idx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/array_char_idx.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_char_idx.exp	2018-07-10 02:06:13.000000000 +0000
@@ -30,3 +30,6 @@ gdb_test "ptype char_table" \
 
 gdb_test "ptype global_char_table" \
          "= array \\(character\\) of natural"
+
+gdb_test "print my_table" "= \\(0 <repeats 256 times>\\)" \
+         "Display my_table"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_enum_idx_w_gap/foo_q418_043.adb ./gdb/testsuite/gdb.ada/arr_enum_idx_w_gap/foo_q418_043.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_enum_idx_w_gap/foo_q418_043.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arr_enum_idx_w_gap/foo_q418_043.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,24 @@
+--  Copyright 2018 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/>.
+
+procedure Foo_Q418_043 is
+   type Index is (Index1, Index2);
+   Size : constant Integer := 10;
+   for Index use (Index1 => 1, Index2 => Size);
+   type Array_Index_Enum is array (Index) of Integer;
+   A : Array_Index_Enum :=(others => 42);
+begin
+   A(Index2) := 4242; --BREAK
+end Foo_Q418_043;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_enum_idx_w_gap.exp ./gdb/testsuite/gdb.ada/arr_enum_idx_w_gap.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/arr_enum_idx_w_gap.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arr_enum_idx_w_gap.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,33 @@
+# Copyright 2018 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/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile foo_q418_043
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } {
+  return -1
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "BREAK" ${testdir}/foo_q418_043.adb]
+if ![runto "foo_q418_043.adb:$bp_location" ] then {
+  perror "Couldn't run ${testfile}"
+  return
+}
+
+gdb_test "print A" \
+         " = \\(42, 42\\)"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_fun_addr/a.adb ./gdb/testsuite/gdb.ada/bp_fun_addr/a.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_fun_addr/a.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_fun_addr/a.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,19 @@
+--  Copyright 2016-2018 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/>.
+
+procedure A is
+begin
+   null;
+end A;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_fun_addr.exp ./gdb/testsuite/gdb.ada/bp_fun_addr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_fun_addr.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_fun_addr.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,35 @@
+# Copyright 2016-2018 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/>.
+
+load_lib "ada.exp"
+
+if { [skip_ada_tests] } { return -1 }
+
+standard_ada_testfile a
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} {
+    return -1
+}
+
+clean_restart ${testfile}
+
+gdb_test "break *a'address" \
+         "Breakpoint \[0-9\]+ at.*: file .*a.adb, line \[0-9\]+."
+
+gdb_run_cmd
+gdb_test "" \
+         "Breakpoint $decimal, a \\(\\).*" \
+         "run until breakpoint at a'address"
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func/b.adb ./gdb/testsuite/gdb.ada/bp_inlined_func/b.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func/b.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_inlined_func/b.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,28 @@
+--  Copyright 2017-2018 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/>.
+
+package body B is
+  Total : Natural := 0;
+  procedure Read_Small is
+  begin
+    Total := Total + 1; -- BREAK
+  end Read_Small;
+
+  procedure Doit is
+  begin
+     Read_Small;
+     null;
+  end Doit;
+end B;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func/b.ads ./gdb/testsuite/gdb.ada/bp_inlined_func/b.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func/b.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_inlined_func/b.ads	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,19 @@
+--  Copyright 2017-2018 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/>.
+
+package B is
+  procedure Read_Small with Inline_Always;
+  procedure Doit;
+end B;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func/c.adb ./gdb/testsuite/gdb.ada/bp_inlined_func/c.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func/c.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_inlined_func/c.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,27 @@
+--  Copyright 2017-2018 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/>.
+
+with B;
+package body C is
+  procedure C_Doit is
+  begin
+    B.Read_Small;
+    C_Doit2;
+  end;
+  procedure C_Doit2 is
+  begin
+    B.Read_Small;
+  end;
+end C;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func/c.ads ./gdb/testsuite/gdb.ada/bp_inlined_func/c.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func/c.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_inlined_func/c.ads	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,19 @@
+--  Copyright 2017-2018 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/>.
+
+package C is
+  procedure C_Doit;
+  procedure C_Doit2;
+end C;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func/foo.adb ./gdb/testsuite/gdb.ada/bp_inlined_func/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func/foo.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_inlined_func/foo.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,23 @@
+--  Copyright 2017-2018 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/>.
+
+with B; use B;
+with C;
+procedure FOO is
+begin
+  Doit;
+  B.Read_Small;
+  C.C_Doit;
+end FOO;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func.exp ./gdb/testsuite/gdb.ada/bp_inlined_func.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/bp_inlined_func.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_inlined_func.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,51 @@
+# Copyright 2017-2018 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/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile foo
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } {
+  return -1
+}
+
+clean_restart ${testfile}
+
+if ![runto_main] then {
+   fail "Cannot run to main, testcase aborted"
+   return 0
+}
+
+# Check that inserting breakpoint on read_small inlined function inserts
+# 4 breakpoints (or possibly 5, including the read_small function itself).
+
+gdb_test "break read_small" \
+         "Breakpoint $decimal at $hex: read_small\\. \\(\[45\] locations\\)" \
+         "set breakpoint at read_small"
+
+# We do not verify each breakpoint info, but use continue commands instead
+# to verify that we properly stop on each expected breakpoint.
+
+for {set i 0} {$i < 4} {incr i} {
+    with_test_prefix "iteration $i" {
+	gdb_test "continue" \
+	    "Breakpoint $decimal, b\\.read_small \\(\\).*" \
+	    "stopped in read_small"
+    }
+}
+
+gdb_test "continue" \
+         "Continuing\..*$inferior_exited_re.*" \
+         "continuing to program completion"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/catch_assert_if/bla.adb ./gdb/testsuite/gdb.ada/catch_assert_if/bla.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/catch_assert_if/bla.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/catch_assert_if/bla.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,46 @@
+--  Copyright 2018 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/>.
+
+with Pck; use Pck;
+
+procedure Bla is
+begin
+   Global_Var := 1;
+   declare
+   begin
+      pragma Assert (Global_Var /= 1, "Error #1");
+   exception
+      when others =>
+         null;
+   end;
+
+   Global_Var := 2;
+   declare
+   begin
+      pragma Assert (Global_Var = 1, "Error #2"); -- STOP
+   exception
+      when others =>
+         null;
+   end;
+
+   Global_Var := 3;
+   declare
+   begin
+      pragma Assert (Global_Var = 2, "Error #3");
+   exception
+      when others =>
+         null;
+   end;
+end Bla;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/catch_assert_if/pck.ads ./gdb/testsuite/gdb.ada/catch_assert_if/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/catch_assert_if/pck.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/catch_assert_if/pck.ads	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,19 @@
+--  Copyright 2018 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/>.
+
+package Pck is
+   Global_Var : Integer := 0;
+end Pck;
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/catch_assert_if.exp ./gdb/testsuite/gdb.ada/catch_assert_if.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/catch_assert_if.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/catch_assert_if.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,86 @@
+# Copyright 2018 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/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile bla
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional_flags=-gnata ]] != "" } {
+   return -1
+}
+
+clean_restart ${testfile}
+
+######################################################################
+# 1. Try catching all exceptions to check that runtime supports it.  #
+######################################################################
+
+set eol "\[\r\n\]+"
+set sp "\[ \t\]*"
+
+if ![runto_main] then {
+   fail "cannot run to main, testcase aborted"
+   return 0
+}
+
+set msg "insert catchpoint on all Ada exceptions"
+gdb_test_multiple "catch exception" $msg {
+    -re "Catchpoint $decimal: all Ada exceptions$eol$gdb_prompt $" {
+	pass $msg
+    }
+    -re "Your Ada runtime appears to be missing some debugging information.*$eol$gdb_prompt $" {
+	# If the runtime was not built with enough debug information,
+	# or if it was stripped, we can not test exception
+	# catchpoints.
+	unsupported $msg
+	return -1
+    }
+}
+
+##################################################
+# 2. Try catching conditional failed assertion.  #
+##################################################
+
+# Here is the scenario:
+#  - Restart the debugger from scratch, runto_main
+#    We'll catch assertions if Global_Var = 2
+#  - continue, we should see the second failed assertion
+#  - continue, the program exits.
+
+if ![runto_main] then {
+   fail "cannot run to main, testcase aborted"
+   return 0
+}
+
+gdb_test "catch assert if Global_Var = 2" \
+         "Catchpoint $decimal: failed Ada assertions" \
+         "insert catchpoint on failed assertions with condition"
+
+# Check that condition is stored and properly displayed.
+
+set exp_bp ".*$decimal${sp}breakpoint${sp}keep${sp}y${sp}$hex failed Ada assertions$eol${sp}stop only if Global_Var = 2.*"
+gdb_test "info breakpoint" $exp_bp "Check catch assertions with condition"
+
+set bp_location [gdb_get_line_number "STOP" ${testdir}/bla.adb]
+
+set catchpoint_msg \
+  "Catchpoint $decimal, failed assertion at $hex in bla \\\(\\\).*at .*bla.adb:$bp_location"
+gdb_test "continue" \
+         "Continuing\.$eol$catchpoint_msg$eol.*STOP" \
+         "continuing to expected failed assertion"
+
+gdb_test "continue" \
+         "Continuing\..*$inferior_exited_re.*" \
+         "continuing to program completion"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/convvar_comp/pb16_063.adb ./gdb/testsuite/gdb.ada/convvar_comp/pb16_063.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/convvar_comp/pb16_063.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/convvar_comp/pb16_063.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,23 @@
+--  Copyright 2018 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/>.
+with Pck;
+
+procedure PB16_063 is
+   My_Item : Pck.T;
+   Ignored : Boolean;
+begin
+   My_Item := Pck.Null_T;
+   Ignored := Pck.Break_Me (My_Item);
+end PB16_063;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/convvar_comp/pck.adb ./gdb/testsuite/gdb.ada/convvar_comp/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/convvar_comp/pck.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/convvar_comp/pck.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,21 @@
+--  Copyright 2018 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/>.
+
+package body Pck is
+  function Break_Me (Item : T) return Boolean is
+  begin
+     return False;
+   end Break_Me;
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/convvar_comp/pck.ads ./gdb/testsuite/gdb.ada/convvar_comp/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/convvar_comp/pck.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/convvar_comp/pck.ads	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,29 @@
+--  Copyright 2018 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/>.
+
+package Pck is
+
+   type Kind_T is (One, Two, Three);
+   --  type Kind_T is new Integer range 1 .. 3;
+   type Time_Set_T is array (Kind_T) of Integer;
+
+   type T  is record
+      Started    : Time_Set_T;
+   end record;
+
+   Null_T : constant T := (Started => (others => 0));
+
+   function Break_Me (Item : T) return Boolean;
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/convvar_comp.exp ./gdb/testsuite/gdb.ada/convvar_comp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/convvar_comp.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/convvar_comp.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,34 @@
+# Copyright 2018 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/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile pb16_063
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } {
+  return -1
+}
+
+clean_restart ${testfile}
+
+if ![runto "break_me" ] then {
+  perror "Couldn't run ${testfile}"
+  return
+}
+
+gdb_test_no_output "set variable \$item := item"
+
+gdb_test "print \$item.started" \
+         " = \\(0, 0, 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.1.0.20180703/gdb/testsuite/gdb.ada/dyn_stride.exp ./gdb/testsuite/gdb.ada/dyn_stride.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/dyn_stride.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/dyn_stride.exp	2018-07-10 02:06:13.000000000 +0000
@@ -39,3 +39,22 @@ gdb_test "print A1(3)" \
 
 gdb_test "print A1(1..3)" \
          "\\(\\(i => 0, s => \"\"\\), \\(i => 1, s => \"A\"\\), \\(i => 2, s => \"AB\"\\)\\)"
+
+# Test the use of the "repeat" operator (@).
+#
+# Note that, in this case, the repeat operator makes little sense
+# and is NOT equivalent to requesting an array slice. In the case
+# of "print a1(1)@3", the size of each element in the array is
+# variable from element to element.  So, when asked to repeat
+# one element of the array a number of times, you're not guaranteed
+# to get the same answer as in a slice; while the slice will
+# take into account the array stride, the repeat operator uses
+# the size of the object being repeated as its stride, which
+# is often not the same. So, in the test below, the output for
+# the second and third element is not entirely predictable, because
+# it reads part of their contents from a memory region which has
+# an undefined value (the "holes" between the each actual element
+# of the array).
+
+gdb_test "print a1(1)@3" \
+         " = \\(\\(i => 0, s => \"\"\\), \\(i => -?$decimal, s => .*\\), \\(i => -?$decimal, s => .*\\)\\)"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/exec_changed.exp ./gdb/testsuite/gdb.ada/exec_changed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/exec_changed.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/exec_changed.exp	2018-07-10 02:06:13.000000000 +0000
@@ -19,7 +19,7 @@ if { [skip_ada_tests] } { return -1 }
 
 # This testcase verifies the behavior of the `start' command, which
 # does not work when we use the gdb stub...
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     untested "skipping tests due to use_gdb_stub"
     return
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/info_types.exp ./gdb/testsuite/gdb.ada/info_types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/info_types.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/info_types.exp	2018-07-10 02:06:13.000000000 +0000
@@ -27,5 +27,5 @@ gdb_test "set lang ada" ""
 set eol "\[\r\n\]+"
 
 gdb_test "info types new_integer_type" \
-         "All types matching regular expression \"new_integer_type\":${eol}File .*info_types.c:${eol}int"
+         "All types matching regular expression \"new_integer_type\":${eol}File .*info_types.c:${eol}.*\tint"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/maint_with_ada.exp ./gdb/testsuite/gdb.ada/maint_with_ada.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/maint_with_ada.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/maint_with_ada.exp	2018-07-10 02:06:13.000000000 +0000
@@ -32,7 +32,6 @@ gdb_breakpoint "adainit"
 gdb_breakpoint "Var_Arr_Typedef"
 gdb_breakpoint "Do_Nothing"
 
-setup_kfail gdb/22670 "*-*-*"
 gdb_test_no_output "maintenance check-psymtabs"
 
 gdb_test_no_output "maintenance check-symtabs"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/mi_catch_assert/bla.adb ./gdb/testsuite/gdb.ada/mi_catch_assert/bla.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/mi_catch_assert/bla.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_catch_assert/bla.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,46 @@
+--  Copyright 2018 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/>.
+
+with Pck; use Pck;
+
+procedure Bla is
+begin
+   Global_Var := 1;
+   declare
+   begin
+      pragma Assert (Global_Var /= 1, "Error #1");
+   exception
+      when others =>
+         null;
+   end;
+
+   Global_Var := 2;
+   declare
+   begin
+      pragma Assert (Global_Var = 1, "Error #2"); -- STOP
+   exception
+      when others =>
+         null;
+   end;
+
+   Global_Var := 3;
+   declare
+   begin
+      pragma Assert (Global_Var = 2, "Error #3");
+   exception
+      when others =>
+         null;
+   end;
+end Bla;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/mi_catch_assert/pck.ads ./gdb/testsuite/gdb.ada/mi_catch_assert/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/mi_catch_assert/pck.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_catch_assert/pck.ads	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,19 @@
+--  Copyright 2018 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/>.
+
+package Pck is
+   Global_Var : Integer := 0;
+end Pck;
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/mi_catch_assert.exp ./gdb/testsuite/gdb.ada/mi_catch_assert.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/mi_catch_assert.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_catch_assert.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,96 @@
+# Copyright 2011-2018 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/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile bla
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional_flags=-gnata ]] != "" } {
+  return -1
+}
+
+# Some global variables used to simplify the maintenance of some of
+# the regular expressions below.
+set eol "\[\r\n\]+"
+set sp "\[ \t\]*"
+
+# Before going any further, verify that we can insert exception
+# catchpoints...  That way, we won't have to do this while doing
+# the actual GDB/MI testing.
+
+clean_restart ${testfile}
+
+if ![runto_main] then {
+   fail "cannot run to main, testcase aborted"
+   return 0
+}
+
+set msg "insert catchpoint on all Ada exceptions"
+gdb_test_multiple "catch exception" $msg {
+    -re "Catchpoint $decimal: all Ada exceptions$eol$gdb_prompt $" {
+	pass $msg
+    }
+    -re "Your Ada runtime appears to be missing some debugging information.*\[\r\n\]+$gdb_prompt $" {
+	# If the runtime was not built with enough debug information,
+	# or if it was stripped, we can not test exception
+	# catchpoints.
+	unsupported $msg
+	return -1
+    }
+}
+
+# Now, we can start the GDB/MI testing itself...
+
+load_lib mi-support.exp
+set MIFLAGS "-i=mi"
+
+gdb_exit
+if [mi_gdb_start] {
+    continue
+}
+
+mi_delete_breakpoints
+mi_gdb_reinitialize_dir $srcdir/$subdir
+mi_gdb_load ${binfile}
+
+###################################################
+# 2. Try catching conditionnal failed assertion.  #
+###################################################
+
+# Here is the scenario:
+#  - Restart the debugger from scratch, runto_main
+#    We'll catch assertions if Global_Var = 2
+#  - continue, we should see the second failed assertion
+#  - continue, the program exits.
+
+if ![mi_run_to_main] then {
+   fail "cannot run to main, testcase aborted"
+   return 0
+}
+
+mi_gdb_test "-catch-assert -c \"Global_Var = 2\"" \
+            "\\^done,bkptno=\"$decimal\",bkpt={.*disp=\"keep\",enabled=\"y\",addr=\"$hex\",what=\"failed Ada assertions\",.*,cond=\"Global_Var = 2\",.*}" \
+            "catch assert failures with condition"
+
+set bp_location [gdb_get_line_number "STOP" ${testdir}/bla.adb]
+mi_execute_to "exec-continue" \
+              "breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal" \
+              "bla" "" ".*" "$bp_location" \
+              ".*" \
+              "continue to assert failure catchpoint hit"
+
+# Exit the inferior.
+mi_send_resuming_command "exec-continue" "continuing to inferior exit"
+mi_expect_stop "exited-normally" "" "" "" "" "" "exit normally"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/mi_catch_ex_hand/foo.adb ./gdb/testsuite/gdb.ada/mi_catch_ex_hand/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/mi_catch_ex_hand/foo.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_catch_ex_hand/foo.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,33 @@
+--  Copyright 2007-2018 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/>.
+
+procedure Foo is
+begin
+
+   begin
+      raise Constraint_Error;
+   exception
+      when Constraint_Error => -- BREAK1
+         null;
+   end;
+
+   begin
+      raise Program_Error;
+   exception
+      when Program_Error => -- BREAK2
+         null;
+   end;
+
+end Foo;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp ./gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,137 @@
+# Copyright 2011-2018 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/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile foo
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional_flags=-gnata ]] != "" } {
+  return -1
+}
+
+# A global variable used to simplify the maintenance of some of
+# the regular expressions below.
+set eol "\[\r\n\]+"
+
+# Before going any further, verify that we can insert exception
+# handlers catchpoints...  That way, we won't have to do this while
+# doing the actual GDB/MI testing.
+
+clean_restart ${testfile}
+
+if ![runto_main] then {
+   fail "cannot run to main, testcase aborted"
+   return 0
+}
+
+set msg "insert catchpoint on all Ada exceptions handlers"
+gdb_test_multiple "catch handlers" $msg {
+    -re "Catchpoint $decimal: all Ada exceptions handlers$eol$gdb_prompt $" {
+	pass $msg
+    }
+    -re "Your Ada runtime appears to be missing some debugging information.*\[\r\n\]+$gdb_prompt $" {
+	# If the runtime was not built with enough debug information,
+	# or if it was stripped, we can not test exception
+	# catchpoints.
+	unsupported $msg
+	return -1
+    }
+}
+
+# Now, we can start the GDB/MI testing itself...
+
+load_lib mi-support.exp
+set MIFLAGS "-i=mi"
+
+gdb_exit
+if [mi_gdb_start] {
+    continue
+}
+
+#############################################
+# 1. Try catching all exceptions handlers.  #
+#############################################
+
+if ![mi_run_to_main] then {
+   fail "cannot run to main, testcase aborted"
+   return 0
+}
+
+mi_gdb_test "-catch-handlers" \
+            "\\^done,bkptno=\"$decimal\",bkpt={.*disp=\"keep\",enabled=\"y\",addr=\"$hex\",what=\"all Ada exceptions handlers\",.*}" \
+            "catch all exceptions handlers"
+
+# Continue to exception handler.
+
+proc continue_to_exception_handler { test line } {
+
+    global decimal
+
+    mi_send_resuming_command "exec-continue" "$test"
+
+    # Now MI stream output.
+    mi_expect_stop \
+	"breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal\",exception-name=\"exception\"?" \
+	"foo" "" ".*" "$line" \
+	".*" \
+        $test
+}
+
+# We don't have the exception name info when stopping at the exception handlers
+# catchpoints so we use source line to check if the inferior stops at the
+# right location.
+
+set bp_ce_location [gdb_get_line_number "BREAK1" ${testdir}/foo.adb]
+continue_to_exception_handler \
+    "continue until CE handling caught by all-exceptions handlers catchpoint" \
+    "$bp_ce_location"
+
+set bp_pe_location [gdb_get_line_number "BREAK2" ${testdir}/foo.adb]
+continue_to_exception_handler \
+    "continue until PE handling caught by all-exceptions handlers catchpoint" \
+    "$bp_pe_location"
+
+##########################################################
+# 2. Try catching only some of the exceptions handlers.  #
+##########################################################
+
+# Here is the scenario:
+#  - Restart the debugger from scratch, runto_main
+#  - We'll catch only "Constraint_Error handlers"
+#  - continue, we should stop at the Constraint_Error exception handler
+#  - continue, we should not stop at the Program_Error exception handler
+#    but exit instead.
+
+if ![mi_run_to_main] then {
+   fail "cannot run to main, testcase aborted"
+   return 0
+}
+
+mi_gdb_test "-catch-handlers -e Constraint_Error" \
+            "\\^done,bkptno=\"$decimal\",bkpt={.*disp=\"keep\",enabled=\"y\",addr=\"$hex\",what=\"`Constraint_Error' Ada exception handlers\",.*}" \
+            "catch Constraint_Error"
+
+mi_execute_to "exec-continue" \
+              "breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal\",exception-name=\"exception\"?" \
+              "foo" "" ".*" "$bp_ce_location" \
+              ".*" \
+              "continue to exception catchpoint hit"
+
+# Exit the inferior.
+mi_send_resuming_command "exec-continue" "continuing to inferior exit"
+mi_expect_stop "exited-normally" "" "" "" "" "" "exit normally"
+
+mi_gdb_exit
+return 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.1.0.20180703/gdb/testsuite/gdb.ada/notcplusplus/foo.adb ./gdb/testsuite/gdb.ada/notcplusplus/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/notcplusplus/foo.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/notcplusplus/foo.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,21 @@
+--  Copyright 2018 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/>.
+
+with Pck; use Pck;
+with Ver; use Ver;
+procedure Foo is
+begin
+   Do_Nothing (u00045'Address);
+end Foo;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/notcplusplus/pck.adb ./gdb/testsuite/gdb.ada/notcplusplus/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/notcplusplus/pck.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/notcplusplus/pck.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,21 @@
+--  Copyright 2018 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/>.
+
+package body Pck is
+   procedure Do_Nothing (A : System.Address) is
+   begin
+      null;
+   end Do_Nothing;
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/notcplusplus/pck.ads ./gdb/testsuite/gdb.ada/notcplusplus/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/notcplusplus/pck.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/notcplusplus/pck.ads	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,19 @@
+--  Copyright 2018 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/>.
+
+with System;
+package Pck is
+   procedure Do_Nothing (A : System.Address);
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/notcplusplus/ver.ads ./gdb/testsuite/gdb.ada/notcplusplus/ver.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/notcplusplus/ver.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/notcplusplus/ver.ads	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,22 @@
+--  Copyright 2018 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/>.
+
+package Ver is
+   type Wrapper is record
+      A : Integer;
+   end record;
+   u00045 : constant Wrapper := (A => 16#060287af#);
+   pragma Export (C, u00045, "symada__cS");
+end Ver;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/notcplusplus.exp ./gdb/testsuite/gdb.ada/notcplusplus.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/notcplusplus.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/notcplusplus.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,45 @@
+# Copyright 2018 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/>.
+
+load_lib "ada.exp"
+
+if { [skip_ada_tests] } { return -1 }
+
+standard_ada_testfile foo
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} {
+    return -1
+}
+
+clean_restart ${testfile}
+
+gdb_test "print /x <symada__cS>" \
+         "= \\(a => 0x60287af\\)" \
+         "print <symada__cS> before loading symbols from ver.ads"
+
+# Force the partial symbosl from ver.ads to be expanded into full symbols.
+
+gdb_test \
+     "list ver.ads:16" \
+     [multi_line ".*" \
+                 "16\\s+package Ver is" \
+                 "17\\s+type Wrapper is record" \
+                 "18\\s+A : Integer;" \
+                 "19\\s+end record;" \
+                 "20\\s+u00045 : constant Wrapper := \\(A => 16#060287af#\\);"]
+
+gdb_test "print /x <symada__cS>" \
+         "= \\(a => 0x60287af\\)" \
+         "print <symada__cS> after loading symbols from ver.ads"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param/pb30_012.adb ./gdb/testsuite/gdb.ada/rename_subscript_param/pb30_012.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param/pb30_012.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rename_subscript_param/pb30_012.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,22 @@
+--  Copyright 2016-2018 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/>.
+
+with Pkg; use Pkg;
+
+procedure PB30_012 is
+   Bits : Bits_Type := (others => False);
+begin
+   Flip (Bits, 2);
+end PB30_012;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param/pck.adb ./gdb/testsuite/gdb.ada/rename_subscript_param/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param/pck.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rename_subscript_param/pck.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,21 @@
+--  Copyright 2016-2018 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/>.
+
+package body Pck is
+   procedure Do_Nothing (A : System.Address) is
+   begin
+      null;
+   end Do_Nothing;
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param/pck.ads ./gdb/testsuite/gdb.ada/rename_subscript_param/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param/pck.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rename_subscript_param/pck.ads	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,19 @@
+--  Copyright 2016-2018 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/>.
+
+with System;
+package Pck is
+   procedure Do_Nothing (A : System.Address);
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param/pkg.adb ./gdb/testsuite/gdb.ada/rename_subscript_param/pkg.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param/pkg.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rename_subscript_param/pkg.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,30 @@
+--  Copyright 2016-2018 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/>.
+
+with Pck; use Pck;
+
+package body Pkg is
+   procedure Flip (Bits : in out Bits_Type; I : Natural) is
+   begin
+      --  Create a new scope to check that the scope match algorithm is fine in
+      --  the front-end.
+      declare
+         B : Boolean renames Bits (I);
+      begin
+         B := not B; -- BREAK
+         Do_Nothing (Bits'Address);
+      end;
+   end Flip;
+end Pkg;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param/pkg.ads ./gdb/testsuite/gdb.ada/rename_subscript_param/pkg.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param/pkg.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rename_subscript_param/pkg.ads	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,21 @@
+--  Copyright 2016-2018 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/>.
+
+package Pkg is
+   type Bits_Type is array (1 .. 10) of Boolean
+      with Pack => True;
+
+   procedure Flip (Bits : in out Bits_Type; I : Natural);
+end Pkg;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param.exp ./gdb/testsuite/gdb.ada/rename_subscript_param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/rename_subscript_param.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rename_subscript_param.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,44 @@
+# Copyright 2016-2018 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/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile pb30_012
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug]] != "" } {
+  return -1
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "BREAK" ${testdir}/pkg.adb]
+runto "pkg.adb:$bp_location"
+
+gdb_test "print b" \
+         " = false" \
+         "print b before changing its value"
+
+set bp_location [gdb_get_line_number "Do_Nothing" ${testdir}/pkg.adb]
+gdb_test "break pkg.adb:$bp_location" \
+         "Breakpoint \[0-9\]+ at.*: file .*pkg.adb, line \[0-9\]+." \
+         "insert second breakpoint in pkg.adb"
+
+gdb_test "cont" \
+         "Breakpoint \[0-9\]+, pkg.flip \\(.*" \
+         "Continuing to breakpoint on call to Do_Nothing"
+
+gdb_test "print b" \
+         " = true" \
+         "print b before changing its value"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/start.exp ./gdb/testsuite/gdb.ada/start.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/start.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/start.exp	2018-07-10 02:06:13.000000000 +0000
@@ -19,7 +19,7 @@ if { [skip_ada_tests] } { return -1 }
 
 # This testcase verifies the behavior of the `start' command, which
 # does not work when we use the gdb stub...
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     untested "skipping test due to gdb stub"
     return
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/varsize_limit/pck.adb ./gdb/testsuite/gdb.ada/varsize_limit/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/varsize_limit/pck.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/varsize_limit/pck.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,25 @@
+--  Copyright 2018 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/>.
+
+package body Pck is
+   procedure Do_Nothing (A : System.Address) is
+   begin
+      null;
+   end Do_Nothing;
+   function Ident (S : String) return String is
+   begin
+      return S;
+   end Ident;
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/varsize_limit/pck.ads ./gdb/testsuite/gdb.ada/varsize_limit/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/varsize_limit/pck.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/varsize_limit/pck.ads	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,20 @@
+--  Copyright 2018 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/>.
+
+with System;
+package Pck is
+   procedure Do_Nothing (A : System.Address);
+   function Ident (S : String) return String;
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb ./gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,23 @@
+--  Copyright 2018 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/>.
+
+with Pck; use Pck;
+procedure VsizeLim is
+   Small : String := Ident ("1234567890");
+   Larger : String := Ident ("1234567890|1234567890|1234567890");
+begin
+   Do_Nothing (Small'Address); -- STOP
+   Do_Nothing (Larger'Address);
+end VsizeLim;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/varsize_limit.exp ./gdb/testsuite/gdb.ada/varsize_limit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.ada/varsize_limit.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/varsize_limit.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,38 @@
+# Copyright 2018 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/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile vsizelim
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } {
+  return -1
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "STOP" ${testdir}/vsizelim.adb]
+if ![runto "vsizelim.adb:$bp_location" ] then {
+  perror "Couldn't run ${testfile}"
+  return
+}
+
+gdb_test_no_output "set varsize-limit 16"
+
+gdb_test "print small" " = \"1234567890\""
+
+gdb_test "print larger" "object size is larger than varsize-limit.*"
+
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/altivec-regs.exp ./gdb/testsuite/gdb.arch/altivec-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/altivec-regs.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/altivec-regs.exp	2018-07-10 02:06:13.000000000 +0000
@@ -93,8 +93,8 @@ for {set i 0} {$i < 32} {incr i 1} {
         gdb_test "info reg vr$i" "vr$i.*$vector_register" "info reg vr$i"
 }
 
-gdb_test "info reg vrsave" "vrsave.*0x1\t1" "info reg vrsave"
-gdb_test "info reg vscr" "vscr.*0x1\t1" "info reg vscr"
+gdb_test "info reg vrsave" "vrsave.*0x1\[ \t\]+1" "info reg vrsave"
+gdb_test "info reg vscr" "vscr.*0x1\[ \t\]+1" "info reg vscr"
 
 # Now redo the same tests, but using the print command.
 # Note: in LE case, the char array is printed WITHOUT the last character.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp ./gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp	2018-07-10 02:06:13.000000000 +0000
@@ -25,10 +25,10 @@ if { ![istarget x86_64-*-* ] || ![is_lp6
 
 standard_testfile .S
 
-set additional_flags "-Wa,-g"
-
-if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
-	  [list debug $additional_flags]] } {
+set options [list debug \
+		 additional_flags=-static \
+		 additional_flags=-nostartfiles]
+if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $options] } {
     return -1
 }
 
@@ -103,10 +103,15 @@ proc disp_step_func { func } {
 
 # Test a VEX2-encoded RIP-relative instruction.
 with_test_prefix "vex2" {
-    # This case writes to the 'xmm0' register.  Confirm the register's
-    # value is what we believe it is before the AVX instruction runs.
-    gdb_test "p /x \$xmm0.uint128" " = 0x0" \
-	"xmm0 has expected value before"
+    # This test writes to the 'xmm0' register.  As the test is
+    # statically linked, we know that the XMM registers should all
+    # have the default value of 0 at this point in time.  We're about
+    # to run an AVX instruction that will modify $xmm0, but lets first
+    # confirm that all XMM registers are 0.
+    for {set i 0 } { $i < 16 } { incr i } {
+	gdb_test "p /x \$xmm${i}.uint128" " = 0x0" \
+	    "xmm${i} has expected value before"
+    }
 
     disp_step_func "test_rip_vex2"
 
@@ -114,6 +119,12 @@ with_test_prefix "vex2" {
     # modified xmm0.
     gdb_test "p /x \$xmm0.uint128" " = 0x1122334455667788" \
 	"xmm0 has expected value after"
+
+    # And all of the other XMM register should still be 0.
+    for {set i 1 } { $i < 16 } { incr i } {
+	gdb_test "p /x \$xmm${i}.uint128" " = 0x0" \
+	    "xmm${i} has expected value after"
+    }
 }
 
 # Test a VEX3-encoded RIP-relative instruction.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-disp-step-avx.S ./gdb/testsuite/gdb.arch/amd64-disp-step-avx.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-disp-step-avx.S	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-disp-step-avx.S	2018-07-10 02:06:13.000000000 +0000
@@ -20,9 +20,11 @@
 
 	.text
 
-	.global main
-main:
+	.global _start,main
+_start:
 	nop
+main:
+        nop
 
 /***********************************************/
 
@@ -59,7 +61,7 @@ ro_var:
 
 done:
 	mov $0,%rdi
-	call exit
+	call _exit
 	hlt
 
 /* RIP-relative data for VEX3 test above.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-disp-step.exp ./gdb/testsuite/gdb.arch/amd64-disp-step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-disp-step.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-disp-step.exp	2018-07-10 02:06:13.000000000 +0000
@@ -27,20 +27,10 @@ set newline "\[\r\n\]*"
 
 standard_testfile .S
 
-set additional_flags "-Wa,-g"
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug $additional_flags]] != "" } {
-    untested "failed to compile"
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
     return -1
 }
 
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 gdb_test "set displaced-stepping on" ""
 gdb_test "show displaced-stepping" ".* displaced stepping .* is on.*"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-entry-value.exp ./gdb/testsuite/gdb.arch/amd64-entry-value.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-entry-value.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value.exp	2018-07-10 02:06:13.000000000 +0000
@@ -87,6 +87,14 @@ gdb_test "p d9@entry" " = 11\\.5" "entry
 gdb_test "p da" " = 4\\.5" "entry_stack: p da"
 gdb_test "p da@entry" " = 12\\.5" "entry_stack: p da@entry"
 
+# Test @entry values for a static file scoped variable, and for an
+# unknown symbol.  Both of these should give an error.
+gdb_test "p v@entry" \
+    "@entry can be used only for function parameters, not for \"v\"" \
+    "attempt to print global v@entry"
+gdb_test "p unknown@entry" \
+    "@entry can be used only for function parameters, not for \"unknown\"" \
+    "attempt to print unknown@entry"
 
 # Test various kinds of `set print entry-values'.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-i386-address.exp ./gdb/testsuite/gdb.arch/amd64-i386-address.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-i386-address.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-i386-address.exp	2018-07-10 02:06:13.000000000 +0000
@@ -20,7 +20,7 @@
 
 if { (![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"]) || ![is_lp64_target]
      || [istarget "*-*-openbsd*"] } then {
-    verbose "Skipping amd64->i386 adress test."
+    verbose "Skipping amd64->i386 address test."
     return
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-init-x87-values.exp ./gdb/testsuite/gdb.arch/amd64-init-x87-values.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-init-x87-values.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-init-x87-values.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,175 @@
+# Copyright 2018 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/>.
+
+# This file is part of the gdb testsuite.
+
+# Test initial values of x87 control registers, before any x87
+# instructions have been executed in the inferior.
+
+if ![is_amd64_regs_target] then {
+    return
+}
+
+standard_testfile .S
+
+set options [list debug \
+		 additional_flags=-static \
+		 additional_flags=-nostartfiles]
+if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $options] } {
+    return -1
+}
+
+# Start the test file, and check the x87 control registers (and
+# mxcsr), we expect the default values in all registers.
+#
+# Step forward until the x87 unit is enabled, recheck the register
+# values; they should still have the default values.
+#
+# Finally, step forward until the x87 state has changed, and then
+# recheck the register state to view the changes.
+proc_with_prefix check_x87_regs_around_init {} {
+    global binfile
+
+    clean_restart ${binfile}
+
+    # Get things started.
+    if ![runto_main] then {
+	fail "can't run to main"
+	return 0
+    }
+
+    # Check initial values of x87 control registers.  The MXCSR isn't part
+    # of the x87 set, it belongs with SSE/AVX, however we test it here
+    # too, it should have its default value in both cases.
+    foreach {regname regvalue} { "fctrl" "0x37f" \
+				 "fstat" "0x0" \
+				 "ftag" "0xffff" \
+				 "fiseg" "0x0" \
+				 "fioff" "0x0" \
+				 "foseg" "0x0" \
+				 "fooff" "0x0" \
+				 "fop" "0x0" \
+				 "mxcsr" "0x1f80"} {
+	gdb_test "p/x \$${regname}" " = ${regvalue}"  "check initial value of \$${regname}"
+    }
+
+    # No x87 instructions have been executed yet.  Step up to FWAIT
+    # instruction.  Executing this instruction will enable the x87 unit,
+    # causing the kernel to place the default values into all registers.
+    # After this GDB will no longer supply the default values itself but
+    # will instread read the values out of the xsave buffer.
+    gdb_test "stepi" "fwait" "step to FWAIT instruction"
+    gdb_test "stepi" "nop" "step past FWAIT instruction"
+
+    # The x87 unit is now enabled, but the register values should be
+    # unchanged.
+    foreach {regname regvalue} { "fctrl" "0x37f" \
+				 "fstat" "0x0" \
+				 "ftag" "0xffff" \
+				 "fiseg" "0x0" \
+				 "fioff" "0x0" \
+				 "foseg" "0x0" \
+				 "fooff" "0x0" \
+				 "fop" "0x0" \
+				 "mxcsr" "0x1f80"} {
+	gdb_test "p/x \$${regname}" " = ${regvalue}"  "check post FWAIT value of \$${regname}"
+    }
+
+    # Now step to an x87 instruction that modifies some state.
+    gdb_test "stepi" "fld1" "step to FLD1 instruction"
+
+    # Grab the address of this instruction, it will appear in later
+    # results.
+    set addr [get_hexadecimal_valueof "\$pc" "0"]
+
+    # Step past the FLD1 instruction.
+    gdb_test "stepi" "nop" "step past FLD1 instruction"
+
+    # Check new values of x87 control registers (and MXCSR).
+    foreach {regname regvalue} [list "fctrl" "0x37f" \
+				     "fstat" "0x3800" \
+				     "ftag" "0x3fff" \
+				     "fiseg" "0x0" \
+				     "fioff" $addr \
+				     "foseg" "0x0" \
+				     "fooff" "0x0" \
+				     "fop" "0x0" \
+				     "mxcsr" "0x1f80" ] {
+	gdb_test "p/x \$${regname}" " = ${regvalue}"  "check post FLD1 value of \$${regname}"
+    }
+}
+
+# Start the test file, all FP features will be disabled.  Set a new
+# value into the MXCSR register, then step forward one instruction (a
+# nop that does not enable any FP features).  Finally check that the
+# mxcsr register still has the value we set.
+proc_with_prefix check_setting_mxcsr_before_enable {} {
+    global binfile
+
+    clean_restart ${binfile}
+
+    if ![runto_main] then {
+	fail "can't run to main"
+	return 0
+    }
+
+    gdb_test_no_output "set \$mxcsr=0x9f80" "set a new value for MXCSR"
+    gdb_test "stepi" "fwait" "step forward one instruction for mxcsr test"
+    gdb_test "p/x \$mxcsr" " = 0x9f80" "check new value of MXCSR is still in place"
+}
+
+# Start the test file, all FP features will be disabled.  Set new
+# values into the x87 control-registers, then step forward one
+# instruction (a nop that does not enable any FP features).  Finally
+# check that all the x87 control-registers still have the values we
+# set.
+proc_with_prefix check_setting_x87_regs_before_enable {} {
+    global binfile
+
+    clean_restart ${binfile}
+
+    if ![runto_main] then {
+	fail "can't run to main"
+	return 0
+    }
+
+    foreach {regname regvalue} [list "fctrl" "0x37f" \
+				    "fstat" "0x3800" \
+				    "ftag" "0x7777" \
+				    "fiseg" "0x12" \
+				    "fioff" "0x2418" \
+				    "foseg" "0x24" \
+				    "fooff" "0x36" \
+				    "fop" "0x100" ] {
+	gdb_test_no_output "set \$$regname=$regvalue" "set a new value for $regname"
+    }
+
+    gdb_test "stepi" "fwait" "step forward one instruction for x87 test"
+
+    foreach {regname regvalue} [list "fctrl" "0x37f" \
+				    "fstat" "0x3800" \
+				    "ftag" "0x7777" \
+				    "fiseg" "0x12" \
+				    "fioff" "0x2418" \
+				    "foseg" "0x24" \
+				    "fooff" "0x36" \
+				    "fop" "0x100" ] {
+	gdb_test "p/x \$$regname" "= $regvalue" "check new value of $regname"
+    }
+}
+
+check_x87_regs_around_init
+check_setting_mxcsr_before_enable
+check_setting_x87_regs_before_enable
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-init-x87-values.S ./gdb/testsuite/gdb.arch/amd64-init-x87-values.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-init-x87-values.S	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-init-x87-values.S	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,31 @@
+/* Copyright 2018 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/>.
+
+   This file is part of the gdb testsuite.
+
+   Test initial values of x87 control registers, before any x87
+   instructions have been executed in the inferior.  */
+
+        .global _start, main
+        .text
+_start:
+        nop
+
+main:
+        nop
+        fwait
+        nop
+        fld1
+        nop
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-osabi.exp ./gdb/testsuite/gdb.arch/amd64-osabi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/amd64-osabi.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-osabi.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,43 @@
+# Copyright 2018 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/>.
+
+# Verify that gdbarches for i386 variants and osabi none are properly created.
+
+if { ![istarget x86_64-*-* ] } {
+    untested "skipping x86-64 specific test"
+    return
+}
+
+
+proc test_osabi_none { arch void_ptr_size long_double_size } {
+    clean_restart
+
+    gdb_test "set architecture i386:x86-64" "The target architecture is assumed to be i386:x86-64"
+    gdb_test_no_output "set osabi none" "set osabi none"
+    gdb_test "print sizeof (void*)" " = 8"
+    gdb_test "print sizeof (long double)" " = 16"
+}
+
+set infos { \
+    { "i386:x86-64" 8 16 } \
+    { "i386:x64-32" 4 16 } \
+    { "i386"        4 12 } }
+
+foreach info $infos {
+    lassign $info arch void_ptr_size long_double_size
+    with_test_prefix "arch=$arch" {
+	test_osabi_none $arch $void_ptr_size $long_double_size
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/arm-disp-step.exp ./gdb/testsuite/gdb.arch/arm-disp-step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/arm-disp-step.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/arm-disp-step.exp	2018-07-10 02:06:13.000000000 +0000
@@ -24,9 +24,7 @@ if {![is_aarch32_target]} then {
 
 standard_testfile .S
 
-set additional_flags "-Wa,-g"
-
-if { [prepare_for_testing "failed to prepare" $testfile $srcfile [list debug $additional_flags]] } {
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
     return -1
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/i386-disp-step.exp ./gdb/testsuite/gdb.arch/i386-disp-step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/i386-disp-step.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-disp-step.exp	2018-07-10 02:06:13.000000000 +0000
@@ -25,20 +25,10 @@ if { ![is_x86_like_target] } then {
 
 standard_testfile .S
 
-set additional_flags "-Wa,-g"
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug $additional_flags]] != "" } {
-    untested "failed to compile"
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
     return -1
 }
 
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 gdb_test "set displaced-stepping on" ""
 gdb_test "show displaced-stepping" ".* displaced stepping .* is on.*"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/mips-disassembler-options.exp ./gdb/testsuite/gdb.arch/mips-disassembler-options.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/mips-disassembler-options.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips-disassembler-options.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,58 @@
+# Copyright 2018 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 MIPS disassembler options.
+
+if { ![istarget "mips*-*-*"] } then {
+    verbose "Skipping MIPS disassembler option tests."
+    return
+}
+
+standard_testfile .s
+set objfile [standard_output_file ${testfile}.o]
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {}] \
+     != "" } {
+    return
+}
+
+clean_restart ${objfile}
+
+proc mips_disassemble_test { func insn mesg } {
+    gdb_test "disassemble $func" \
+	"Dump of assembler code for function\
+	 $func:\r\n\[^:\]+:\t$insn\r\nEnd of assembler dump\." \
+	$mesg
+}
+
+# Verify defaults.
+mips_disassemble_test foo "move\tv0,v1" "disassemble default"
+
+# Verify option overrides.
+gdb_test "set disassembler-options gpr-names=numeric"
+mips_disassemble_test foo "move\t\\\$2,\\\$3" "disassemble numeric, gpr-names"
+# Check multiple options too.
+gdb_test "set disassembler-options msa,reg-names=numeric,reg-names=r3000"
+mips_disassemble_test foo "move\t\\\$2,\\\$3" "disassemble numeric, reg-names"
+
+# Verify ABI overrides.
+mips_disassemble_test bar "move\t\\\$2,\\\$8" "disassemble ABI, numeric"
+gdb_test "set disassembler-options"
+gdb_test "set mips abi o32"
+mips_disassemble_test bar "move\tv0,t0" "disassemble ABI, o32"
+gdb_test "set mips abi n32"
+mips_disassemble_test bar "move\tv0,a4" "disassemble ABI, n32"
+gdb_test "set mips abi n64"
+mips_disassemble_test bar "move\tv0,a4" "disassemble ABI, n64"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/mips-disassembler-options.s ./gdb/testsuite/gdb.arch/mips-disassembler-options.s
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/mips-disassembler-options.s	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips-disassembler-options.s	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,30 @@
+#  This test is part of GDB, the GNU debugger.
+#
+#  Copyright 2018 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/>.
+
+# Note: this is meant to be buildable as MIPS16 or microMIPS code too.
+
+	.globl	foo
+	.ent	foo
+foo:
+	move	$2, $3
+	.end	foo
+
+	.globl	bar
+	.ent	bar
+bar:
+	move	$2, $8
+	.end	bar
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/mips-fpregset-core.c ./gdb/testsuite/gdb.arch/mips-fpregset-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/mips-fpregset-core.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips-fpregset-core.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,82 @@
+/* This test is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+#include <stdint.h>
+
+int __attribute__ ((nomips16))
+main (void)
+{
+  /* We need to use a complex type to avoid hitting GCC's limit of
+     the number of `asm' operands:
+
+     mips-fpregset-core.f: In function 'main':
+     mips-fpregset-core.f:66:3: error: more than 30 operands in 'asm'
+        asm (
+        ^~~
+
+     and still have complete 32 FGR coverage with FP64 ABIs.  Using
+     a complex type breaks o32 GCC though, so use plain `double' with
+     FP32.  */
+#if _MIPS_FPSET == 32
+  typedef double _Complex float_t;
+#else
+  typedef double float_t;
+#endif
+  union
+    {
+      uint64_t i[32];
+      float_t f[256 / sizeof (float_t)];
+    }
+  u =
+    { .i =
+      {
+	0x0112233445566778, 0x899aabbccddeeff0,
+	0x0213243546576879, 0x8a9bacbdcedfe0f1,
+	0x031425364758697a, 0x8b9cadbecfd0e1f2,
+	0x0415263748596a7b, 0x8c9daebfc0d1e2f3,
+	0x05162738495a6b7c, 0x8d9eafb0c1d2e3f4,
+	0x061728394a5b6c7d, 0x8e9fa0b1c2d3e4f5,
+	0x0718293a4b5c6d7e, 0x8f90a1b2c3d4e5f6,
+	0x08192a3b4c5d6e7f, 0x8091a2b3c4d5e6f7,
+	0x091a2b3c4d5e6f70, 0x8192a3b4c5d6e7f8,
+	0x0a1b2c3d4e5f6071, 0x8293a4b5c6d7e8f9,
+	0x0b1c2d3e4f506172, 0x8394a5b6c7d8e9fa,
+	0x0c1d2e3f40516273, 0x8495a6b7c8d9eafb,
+	0x0d1e2f3041526374, 0x8596a7b8c9daebfc,
+	0x0e1f203142536475, 0x8697a8b9cadbecfd,
+	0x0f10213243546576, 0x8798a9bacbdcedfe,
+	0x0011223344556677, 0x8899aabbccddeeff
+      }
+    };
+
+  asm (
+    ".globl\tbreak_here\n\t"
+    ".aent\tbreak_here\n"
+    "break_here:\n\t"
+    "lb\t$0,0($0)\n"
+    :
+    : [f0] "f" (u.f[0]), [f2] "f" (u.f[1]),
+      [f4] "f" (u.f[2]), [f6] "f" (u.f[3]),
+      [f8] "f" (u.f[4]), [f10] "f" (u.f[5]),
+      [f12] "f" (u.f[6]), [f14] "f" (u.f[7]),
+      [f16] "f" (u.f[8]), [f18] "f" (u.f[9]),
+      [f20] "f" (u.f[10]), [f22] "f" (u.f[11]),
+      [f24] "f" (u.f[12]), [f26] "f" (u.f[13]),
+      [f28] "f" (u.f[14]), [f30] "f" (u.f[15]));
+
+  return 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.1.0.20180703/gdb/testsuite/gdb.arch/mips-fpregset-core.exp ./gdb/testsuite/gdb.arch/mips-fpregset-core.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/mips-fpregset-core.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips-fpregset-core.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,154 @@
+# Copyright 2018 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 MIPS Floating Point General Register handling in core files.
+
+if { ![istarget "mips*-*-*"] } then {
+    verbose "Skipping MIPS Floating Point General Register tests."
+    return
+}
+
+standard_testfile
+
+if { [prepare_for_testing "failed to prepare" ${testfile}] } {
+    return
+}
+
+# Procedure to get current content of all floating-point registers.
+proc mips_fpregset_core_fetch_float_registers { test } {
+    global gdb_prompt
+
+    set all_registers_lines {}
+    set bad -1
+    # Former trailing `\[\r\n\]+' may eat just \r leaving \n in the buffer
+    # corrupting the next matches.
+    if { [gdb_test_multiple "info registers float" $test {
+	-re "info registers float\r\n" {
+	    exp_continue
+	}
+	-ex "The program has no registers now" {
+	    set bad 1
+	    exp_continue
+	}
+	-re "^\(?:fcsr\|fir\):\[ \t\]+\[^\r\n\]+\r\n" {
+	    # Filter out control registers.  They may or may not be a part
+	    # of the float group depending on whether XML descriptions are
+	    # used or not.
+	    exp_continue
+	}
+	-re "^\[^ \t\]+\[ \t\]+\[^\r\n\]+\r\n" {
+	    lappend all_registers_lines $expect_out(0,string)
+	    exp_continue
+	}
+	-re "$gdb_prompt $" {
+	    incr bad
+	}
+	-re "^\[^\r\n\]+\r\n" {
+	    if { !$bad } {
+		warning "Unrecognized output: $expect_out(0,string)"
+		set bad 1
+	    }
+	    exp_continue
+	}
+    }] != 0 } {
+	return {}
+    }
+
+    if { $bad } {
+	fail $test
+	return {}
+    }
+
+    pass $test
+    return $all_registers_lines
+}
+
+# Generate a native core file.
+
+set corefile [core_find $binfile]
+set core_supported [expr {$corefile != ""}]
+
+# Generate a core file with "gcore".
+
+clean_restart ${binfile}
+
+runto break_here
+
+# Check if we have an FPU available.
+gdb_test_multiple "show mipsfpu" "check for MIPS floating-point coprocessor" {
+    -re "The MIPS floating-point coprocessor\
+	 .*\(absent\|unknown\).*$gdb_prompt $" {
+        unsupported "no MIPS floating-point coprocessor in the processor"
+        return
+    }
+    -re "The MIPS floating-point coprocessor .*$gdb_prompt $" {
+        verbose "MIPS floating-point coprocessor check successful."
+    }
+    default {
+        fail
+        return
+    }
+}
+
+# Save live FGR register contents.
+set live_fgr_contents [mips_fpregset_core_fetch_float_registers \
+    "retrieve live FGR register contents"]
+
+set gcorefile [standard_output_file gcore.test]
+set gcore_supported [gdb_gcore_cmd "$gcorefile" "gcore"]
+
+# Restart gdb and load COREFILE as a core file.  SUPPORTED is true iff
+# the core was generated successfully; otherwise, the tests are marked
+# unsupported.
+#
+proc mips_fpregset_core_test { supported corefile } {
+    upvar live_fgr_contents live_fgr_contents
+    upvar target_triplet target_triplet
+    upvar host_triplet host_triplet
+    upvar binfile binfile
+
+    clean_restart ${binfile}
+
+    set test "load core file"
+    if { $supported } {
+	set core_loaded [gdb_core_cmd $corefile $test]
+    } else {
+	set core_loaded 0
+	unsupported $test
+    }
+
+    if { $core_loaded == 1 } {
+	set test "core file FGR register contents"
+	set core_fgr_contents \
+	    [mips_fpregset_core_fetch_float_registers "retrieve $test"]
+	if { $core_fgr_contents == $live_fgr_contents } then {
+	    pass $test
+	} else {
+	    fail $test
+	}
+    } else {
+	unsupported $test
+    }
+}
+
+with_test_prefix "native" {
+    mips_fpregset_core_test $core_supported $corefile
+}
+
+with_test_prefix "gcore" {
+    mips_fpregset_core_test $gcore_supported $gcorefile
+}
+
+gdb_exit
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp ./gdb/testsuite/gdb.arch/powerpc-d128-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-d128-regs.exp	2018-07-10 02:06:13.000000000 +0000
@@ -56,15 +56,15 @@ gdb_test "set \$dl$i=d128" "" "set dl$i 
 gdb_test "print \$dl$i" "\\\$$decimal = 1\.2345678910" "print dl$i register as DFP"
 
 gdb_test "info reg dl$i" \
-	 "dl$i\[ \]*1\.2345678910\[\t\]*\\(raw 0x2205800000000000000000049c5de09c\\)" \
+	 "dl$i\[ \]*1\.2345678910\[ \t\]*\\(raw 0x2205800000000000000000049c5de09c\\)" \
 	 "print dl$i register with the info reg command"
 
 gdb_test "info reg f[expr 2*$i]" \
-	 "f[expr 2*$i]\[ \]*8\.608957309287334e\-145\[\t\]*\\(raw 0x2205800000000000\\)" \
+	 "f[expr 2*$i]\[ \]*8\.608957309287334e\-145\[ \t\]*\\(raw 0x2205800000000000\\)" \
 	 "testing lower half of dl$i register"
 
 gdb_test "info reg f[expr 2*$i+1]" \
-	 "f[expr 2*$i+1]\[ \]*9\.7841140127686122e\-314\[\t\]*\\(raw 0x000000049c5de09c\\)" \
+	 "f[expr 2*$i+1]\[ \]*9\.7841140127686122e\-314\[ \t\]*\\(raw 0x000000049c5de09c\\)" \
 	 "testing upper half of dl$i 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.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-fpscr-gcore.exp ./gdb/testsuite/gdb.arch/powerpc-fpscr-gcore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-fpscr-gcore.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-fpscr-gcore.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,93 @@
+# Copyright (C) 2018 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/>.
+
+# This file is part of the gdb testsuite.
+
+# This tests checks that generating and loading a core file preserves
+# the correct FPSCR size.
+
+if {![istarget "powerpc*-*-linux*"]} then {
+    verbose "Skipping PowerPC test for corefiles with FPSCR."
+    return
+}
+
+standard_testfile .c
+
+set gen_src [standard_output_file $srcfile]
+
+gdb_produce_source $gen_src {
+	int main() {
+	    return 0;
+	}
+}
+
+if {[build_executable "compile" $binfile $gen_src] == -1} {
+    return -1
+}
+
+clean_restart $binfile
+
+if ![runto_main] then {
+    fail "could not run to main"
+    return -1
+}
+
+# Check if our target has FPSCR
+proc check_fpscr_access {} {
+    global gdb_prompt
+
+    set test "fpscr register access"
+    gdb_test_multiple "info reg fpscr" "$test" {
+	-re "Invalid register.*\r\n$gdb_prompt $" {
+	    unsupported "$test"
+	    return 0
+	}
+	-re "\r\nfpscr.*\r\n$gdb_prompt $" {
+	    pass "$test"
+	    return 1
+	}
+    }
+    return 0
+}
+
+if { ![check_fpscr_access] } {
+    return -1
+}
+
+set fpscr_size_process [get_integer_valueof "sizeof(\$fpscr)" -1]
+
+set core_filename [standard_output_file "$testfile.core"]
+set core_generated [gdb_gcore_cmd "$core_filename" "generate core file"]
+
+if { !$core_generated } {
+    return -1
+}
+
+clean_restart
+
+set core_loaded [gdb_core_cmd "$core_filename" "load core file"]
+
+if { $core_loaded != 1 } {
+    return -1
+}
+
+set fpscr_size_corefile [get_integer_valueof "sizeof(\$fpscr)" -2]
+
+set test "fpscr size matches"
+if {$fpscr_size_process == $fpscr_size_corefile} {
+    pass $test
+} else {
+    fail $test
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-prologue-frame.c ./gdb/testsuite/gdb.arch/powerpc-prologue-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-prologue-frame.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-prologue-frame.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,28 @@
+/* This test is part of GDB, the GNU debugger.
+
+   Copyright 2018 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 bar()
+{
+  return 0;
+}
+
+int foo();
+
+int main(void)
+{
+  return foo();
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-prologue-frame.exp ./gdb/testsuite/gdb.arch/powerpc-prologue-frame.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-prologue-frame.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-prologue-frame.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,41 @@
+# Copyright 2018 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/>
+
+if {![istarget "powerpc-*-*"] } {
+    verbose "Skipping powerpc back trace test."
+    return
+}
+
+standard_testfile .c .S
+set binfile [standard_output_file ${testfile}]
+
+if {[gdb_compile \
+      [list ${srcdir}/${subdir}/$srcfile ${srcdir}/${subdir}/$srcfile2] \
+      "${binfile}" executable {}] != ""} {
+    untested "failed to build $binfile"
+    return -1
+}
+
+
+clean_restart ${binfile}
+
+if ![runto bar] {
+  untested "could not run to bar"
+  return -1
+}
+
+gdb_test "bt" \
+         "#0\[ \t\]*$hex in bar.*\r\n#1\[ \t\]*$hex in foo.*\r\n#2\[ \t\]*$hex in main.*" \
+         "Backtrace to the main frame"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-prologue-frame.S ./gdb/testsuite/gdb.arch/powerpc-prologue-frame.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-prologue-frame.S	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-prologue-frame.S	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,35 @@
+/* This test is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+#include <ppc-asm.h>
+
+FUNC_START(foo)
+	stwu 1,-32(1)
+	mflr 3
+	stw 3,36(1)
+	stw 31,28(1)
+	mr 31,1
+	bl bar
+	mr 9,3
+	mr 3,9
+	addi 11,31,32
+	lwz 0,4(11)
+	mtlr 0
+	lwz 31,-4(11)
+	mr 1,11
+	blr
+FUNC_END(foo)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-vsx-gcore.exp ./gdb/testsuite/gdb.arch/powerpc-vsx-gcore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/powerpc-vsx-gcore.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-vsx-gcore.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,90 @@
+# Copyright (C) 2018 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/>.
+
+# This file is part of the gdb testsuite.
+
+# This test checks that generating and loading a core file preserves
+# the correct VSX register state.
+
+if {![istarget "powerpc*-*-linux*"] || [skip_vsx_tests]} then {
+    verbose "Skipping PowerPC test for corefiles with VSX registers."
+    return
+}
+
+standard_testfile .c
+
+set gen_src [standard_output_file $srcfile]
+
+gdb_produce_source $gen_src {
+	int main() {
+	    return 0;
+	}
+}
+
+if {[build_executable "compile" $binfile $gen_src] == -1} {
+    return -1
+}
+
+clean_restart $binfile
+
+if ![runto_main] then {
+    fail "could not run to main"
+    return -1
+}
+
+# Check if VSX register access through gdb is supported
+proc check_vsx_access {} {
+    global gdb_prompt
+
+    set test "vsx register access"
+    gdb_test_multiple "info reg vs0" "$test" {
+	-re "Invalid register.*\r\n$gdb_prompt $" {
+	    unsupported "$test"
+	    return 0
+	}
+	-re "\r\nvs0.*\r\n$gdb_prompt $" {
+	    pass "$test"
+	    return 1
+	}
+    }
+    return 0
+}
+
+if { ![check_vsx_access] } {
+    return -1
+}
+
+for {set i 0} {$i < 64} {incr i 1} {
+    gdb_test_no_output "set \$vs$i.uint128 = $i"
+}
+
+set core_filename [standard_output_file "$testfile.core"]
+set core_generated [gdb_gcore_cmd "$core_filename" "generate core file"]
+
+if { !$core_generated } {
+    return -1
+}
+
+clean_restart
+
+set core_loaded [gdb_core_cmd "$core_filename" "load core file"]
+
+if { $core_loaded != 1 } {
+    return -1
+}
+
+for {set i 0} {$i < 64} {incr i 1} {
+    gdb_test "print \$vs$i.uint128" ".* = $i" "print vs$i"
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/s390-multiarch.exp ./gdb/testsuite/gdb.arch/s390-multiarch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/s390-multiarch.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/s390-multiarch.exp	2018-07-10 02:06:13.000000000 +0000
@@ -65,7 +65,7 @@ proc test_linux_v2 {} {
 
     set test "Linux v2"
     gdb_test_multiple "info reg system_call" "$test" {
-	-re "system_call\[ \t\]+0x\[0-9a-z\]+\t.*\r\n$gdb_prompt $" {
+	-re "system_call\[ \t\]+0x\[0-9a-z\]+\[ \t\]+.*\r\n$gdb_prompt $" {
 	    pass "$test"
 	    return 1
 	}
@@ -79,7 +79,7 @@ proc test_linux_v2 {} {
 
 proc test_register_valid {reg variant} {
     gdb_test "info reg $reg" \
-	"$reg\[ \t\]+0x\[0-9a-z\]+\t.*" \
+	"$reg\[ \t\]+0x\[0-9a-z\]+\[ \t\]+.*" \
 	"'$reg' exists ($variant)"
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/s390-tdbregs.c ./gdb/testsuite/gdb.arch/s390-tdbregs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/s390-tdbregs.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/s390-tdbregs.c	2018-07-10 02:06:13.000000000 +0000
@@ -17,6 +17,13 @@
 
 #include <stdio.h>
 
+/* Start a transaction.  To avoid the need for FPR save/restore, assume
+   that no FP- or vector registers are modified within the transaction.
+   Thus invoke TBEGIN with the "allow floating-point operation" flag set
+   to zero, which forces a transaction abort when hitting an FP- or vector
+   instruction.  Also assume that TBEGIN will eventually succeed, so just
+   retry indefinitely.  */
+
 static void
 my_tbegin ()
 {
@@ -28,6 +35,8 @@ my_tbegin ()
       : "cc", "memory" );
 }
 
+/* End a transaction.  */
+
 static void
 my_tend ()
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/s390-tdbregs.exp ./gdb/testsuite/gdb.arch/s390-tdbregs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/s390-tdbregs.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/s390-tdbregs.exp	2018-07-10 02:06:13.000000000 +0000
@@ -26,7 +26,12 @@ if { ![istarget s390-*-*] && ![istarget 
 
 standard_testfile .c
 
-if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
+# The test case assumes that no FP- or vector instructions occur within
+# the transaction.  Thus tell the compiler to use soft float, so it
+# doesn't emit them.  Some GCC versions may otherwise do so, and an
+# endless loop would result.
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile \
+	  [list "debug" "additional_flags=-msoft-float"]] } {
     return -1
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/s390-vregs.exp ./gdb/testsuite/gdb.arch/s390-vregs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/s390-vregs.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/s390-vregs.exp	2018-07-10 02:06:13.000000000 +0000
@@ -83,9 +83,9 @@ if [expr $before_pc + 6 != $after_pc] {
 # directory.
 
 if { $coredir != "" } {
-    gdb_test {print setrlimit (4, &(unsigned long [2]){~0UL, ~0UL})} \
+    gdb_test {print (int) setrlimit (4, &(unsigned long [2]){~0UL, ~0UL})} \
 	" = .*" "setrlimit"
-    gdb_test "print chdir (\"${coredir}\")" " = 0" "chdir"
+    gdb_test "print (int) chdir (\"${coredir}\")" " = 0" "chdir"
 }
 
 # Initialize all vector registers with GDB "set" commands, using
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/sparc64-regs.exp ./gdb/testsuite/gdb.arch/sparc64-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.arch/sparc64-regs.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/sparc64-regs.exp	2018-07-10 02:06:13.000000000 +0000
@@ -25,10 +25,7 @@ if ![istarget "sparc64*-*-linux*"] then 
 
 standard_testfile .S
 
-set additional_flags "-Wa,-g"
-
-if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
-        [list debug $additional_flags]] } {
+if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } {
     return -1
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/align.exp ./gdb/testsuite/gdb.base/align.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/align.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/align.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,109 @@
+# Copyright 2018 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/>.
+
+# This file is part of the gdb testsuite
+
+# This tests that C11 _Alignof works in gdb, and that it agrees with
+# the compiler.
+
+# The types we're going to test.
+
+set typelist {
+    char {unsigned char}
+    short {unsigned short}
+    int {unsigned int}
+    long {unsigned long}
+    {long long} {unsigned long long}
+    float
+    double {long double}
+}
+
+if {[has_int128_c]} {
+    # Note we don't check "unsigned __int128" yet because at least gcc
+    # canonicalizes the name to "__int128 unsigned", and there isn't a
+    # c-exp.y production for this.
+    # https://sourceware.org/bugzilla/show_bug.cgi?id=20991
+    lappend typelist __int128
+}
+
+# Create the test file.
+
+set filename [standard_output_file align.c]
+set outfile [open $filename w]
+
+# Prologue.
+puts -nonewline $outfile "#define DEF(T,U) struct align_pair_ ## T ## _x_ ## U "
+puts $outfile "{ T one; U two; }"
+puts $outfile "unsigned a_void = _Alignof(void);"
+
+# First emit single items.
+foreach type $typelist {
+    set utype [join [split $type] _]
+    if {$type != $utype} {
+	puts $outfile "typedef $type $utype;"
+    }
+    puts $outfile "$type item_$utype;"
+    puts $outfile "unsigned a_$utype\n  = _Alignof ($type);"
+    set utype [join [split $type] _]
+}
+
+# Now emit all pairs.
+foreach type $typelist {
+    set utype [join [split $type] _]
+    foreach inner $typelist {
+	set uinner [join [split $inner] _]
+	puts $outfile "DEF ($utype, $uinner);"
+	set joined "${utype}_x_${uinner}"
+	puts $outfile "struct align_pair_$joined item_${joined};"
+	puts $outfile "unsigned a_${joined}"
+	puts $outfile "  = _Alignof (struct align_pair_${joined});"
+    }
+}
+
+# Epilogue.
+puts $outfile {
+    int main() {
+	return 0;
+    }
+}
+
+close $outfile
+
+standard_testfile $filename
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug}]} {
+    return -1
+}
+
+if {![runto_main]} {
+    perror "test suppressed"
+    return
+}
+
+foreach type $typelist {
+    set utype [join [split $type] _]
+    set expected [get_integer_valueof a_$utype 0]
+    gdb_test "print _Alignof($type)" " = $expected"
+
+    foreach inner $typelist {
+	set uinner [join [split $inner] _]
+	set expected [get_integer_valueof a_${utype}_x_${uinner} 0]
+	gdb_test "print _Alignof(struct align_pair_${utype}_x_${uinner})" \
+	    " = $expected"
+    }
+}
+
+set expected [get_integer_valueof a_void 0]
+gdb_test "print _Alignof(void)" " = $expected"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/async-shell.exp ./gdb/testsuite/gdb.base/async-shell.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/async-shell.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/async-shell.exp	2018-07-10 02:06:13.000000000 +0000
@@ -21,7 +21,7 @@ if { ![support_displaced_stepping] } { 
 }
 
 # The testfile uses "run".  The real bug happened only for ![is_remote target].
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     return 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.1.0.20180703/gdb/testsuite/gdb.base/attach.exp ./gdb/testsuite/gdb.base/attach.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/attach.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach.exp	2018-07-10 02:06:13.000000000 +0000
@@ -53,19 +53,17 @@ proc do_attach_tests {} {
     global testfile
     global subdir
     global timeout
+    global decimal
     
     # Figure out a regular expression that will match the sysroot,
     # noting that the default sysroot is "target:", and also noting
     # that GDB will strip "target:" from the start of filenames when
-    # operating on the local filesystem
-    set sysroot ""
-    set test "show sysroot"
-    gdb_test_multiple $test $test {
-	-re "The current system root is \"(.*)\"\..*${gdb_prompt} $" {
-	    set sysroot $expect_out(1,string)
-	}
-    }
-    regsub "^target:" "$sysroot" "(target:)?" sysroot
+    # operating on the local filesystem.  However the default sysroot
+    # can be set via configure option --with-sysroot, which can be "/".
+    # If $binfile is a absolute path, so pattern
+    # "$sysroot$escapedbinfile" below is wrong.  Use [^\r\n]* to make
+    # $sysroot simple.
+    set sysroot "\[^\r\n\]*"
 
     # Start the program running and then wait for a bit, to be sure
     # that it can be attached to.
@@ -194,7 +192,7 @@ proc do_attach_tests {} {
     # Detach the process.
    
     gdb_test "detach" \
-	"Detaching from program: .*$escapedbinfile, process $testpid" \
+	"Detaching from program: .*$escapedbinfile, process $testpid\r\n\\\[Inferior $decimal \\(.*\\) detached\\\]" \
 	"attach1 detach"
 
     # Wait a bit for gdb to finish detaching
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/attach-non-pgrp-leader.exp ./gdb/testsuite/gdb.base/attach-non-pgrp-leader.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/attach-non-pgrp-leader.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach-non-pgrp-leader.exp	2018-07-10 02:06:13.000000000 +0000
@@ -30,6 +30,7 @@ if { [build_executable ${testfile}.exp $
 
 proc do_test {} {
     global binfile
+    global decimal
 
     set test_spawn_id [spawn_wait_for_attach $binfile]
     set parent_pid [spawn_id_get_pid $test_spawn_id]
@@ -52,7 +53,7 @@ proc do_test {} {
 	}
 
 	gdb_test "detach" \
-	    "Detaching from program: .*process $parent_pid"
+	    "Detaching from program: .*process $parent_pid\r\n\\\[Inferior $decimal \\(.*\\) detached\\\]"
     }
 
     # Start over, and attach to the child this time.
@@ -67,7 +68,7 @@ proc do_test {} {
 	gdb_continue_to_breakpoint "marker"
 
 	gdb_test "detach" \
-	    "Detaching from program: .*process $child_pid"
+	    "Detaching from program: .*process $child_pid\r\n\\\[Inferior $decimal \\(.*\\) detached\\\]"
     }
 
     kill_wait_spawned_process $test_spawn_id
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/attach-pie-misread.exp ./gdb/testsuite/gdb.base/attach-pie-misread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/attach-pie-misread.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach-pie-misread.exp	2018-07-10 02:06:13.000000000 +0000
@@ -14,7 +14,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # This test only works on GNU/Linux.
-if { ![isnative] || [is_remote host] || [target_info exists use_gdb_stub]
+if { ![isnative] || [is_remote host] || [use_gdb_stub]
      || ![istarget *-linux*] || [skip_shlib_tests]} {
     continue
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/attach-wait-input.exp ./gdb/testsuite/gdb.base/attach-wait-input.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/attach-wait-input.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach-wait-input.exp	2018-07-10 02:06:13.000000000 +0000
@@ -29,7 +29,7 @@
 # simpler to do, so we test with both editing on and off.
 
 # The test uses the "attach" command.
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     return
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/bp-cmds-continue-ctrl-c.exp ./gdb/testsuite/gdb.base/bp-cmds-continue-ctrl-c.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/bp-cmds-continue-ctrl-c.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bp-cmds-continue-ctrl-c.exp	2018-07-10 02:06:13.000000000 +0000
@@ -89,6 +89,19 @@ proc do_test {} {
 	    }
 	    -re "Quit\r\n$gdb_prompt $" {
 		send_log "$internal_pass (Quit)\n"
+
+		# Check that if we managed to quit somewhere deep in
+		# the unwinders, we can still unwind again.
+		set ok 0
+		gdb_test_multiple "bt" "$internal_pass (bt)" {
+		    -re "#0.*$gdb_prompt $" {
+			send_log "$internal_pass (bt)\n"
+			set ok 1
+		    }
+		}
+		if {!$ok} {
+		    return
+		}
 	    }
 	    -re "Quit\r\n\r\nCommand aborted.\r\n$gdb_prompt $" {
 		send_log "$internal_pass (Command aborted)\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.1.0.20180703/gdb/testsuite/gdb.base/break-entry.exp ./gdb/testsuite/gdb.base/break-entry.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break-entry.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-entry.exp	2018-07-10 02:06:13.000000000 +0000
@@ -27,7 +27,7 @@
 
 standard_testfile start.c
 
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     untested "skipping tests due to use_gdb_stub"
     return
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break.exp ./gdb/testsuite/gdb.base/break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break.exp	2018-07-10 02:06:13.000000000 +0000
@@ -847,7 +847,20 @@ gdb_test_multiple "" $test {
 #
 set line [gdb_get_line_number "set breakpoint 1 here"]
 gdb_test_no_output "set \$l = $line"
-gdb_breakpoint ${srcfile}:\$l
+
+set line_actual "-1"
+set test "break ${srcfile}:\$l"
+gdb_test_multiple "$test" $test {
+    -re "Breakpoint $decimal at $hex: file .*break\\.c, line ($decimal)\\.\r\n$gdb_prompt $" {
+        # Save the actual line number on which the breakpoint was
+        # actually set. On some systems (Eg: Ubuntu 16.04 with GCC
+        # version 5.4.0), that line gets completely inlined, including
+        # the call to printf, and so we end up inserting the breakpoint
+        # on one of the following lines instead.
+        set line_actual $expect_out(1,string)
+        pass $test
+    }
+}
 
 gdb_test_no_output "set \$foo=81.5" \
     "set convenience variable \$foo to 81.5"
@@ -865,4 +878,4 @@ gdb_test "commands\nend" ">end" "clear b
 # We verify that the commands were cleared by ensuring that the last
 # breakpoint's location ends the output -- if there were commands,
 # they would have been printed after the location.
-gdb_test "info break" "$srcfile:$line" "verify that they were cleared"
+gdb_test "info break" "$srcfile:$line_actual" "verify that they were cleared"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break-include.c ./gdb/testsuite/gdb.base/break-include.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break-include.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-include.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,57 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2016-2018 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 next (int i);
+
+int
+main (void)
+{
+  int result = -1;
+
+  result = next (result);
+  return result;
+}
+
+/* The following function's implementation starts by including a file
+   (break-include.inc) which contains a copyright header followed by
+   a single C statement.  When we place a breakpoint on the line where
+   the function name is declared, we expect GDB to skip the function's
+   prologue, and insert the breakpoint on the first line of "user" code
+   for that function, which we have set up to be that single statement
+   break-include.inc provides.
+
+   The purpose of this testcase is to verify that, when we insert
+   that breakpoint, GDB reports the location as being in that include
+   file, but also using the correct line number inside that include
+   file -- NOT the line number we originally used to insert the
+   breakpoint, nor the location where the file is included from.
+   In order to verify that GDB shows the right line number, we must
+   be careful that this first statement located in break-include.inc
+   and our function are not on the same line number.  Otherwise,
+   we could potentially have a false PASS.
+
+   This is why we implement the following function as far away
+   from the start of this file as possible, as we know that
+   break-include.inc is a fairly short file (copyright header
+   and single statement only).  */
+
+int
+next (int i)  /* break here */
+{
+#include "break-include.inc"
+  return i;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break-include.exp ./gdb/testsuite/gdb.base/break-include.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break-include.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-include.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,34 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2016-2018 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/>.
+
+standard_testfile
+
+if { [prepare_for_testing ${testfile}.exp $testfile] } {
+    return -1
+}
+
+set bp_line [gdb_get_line_number "break here" ${testfile}.c]
+set bp_line_actual [gdb_get_line_number "ANCHOR" ${testfile}.inc]
+
+gdb_test "break $testfile.c:$bp_line" \
+    ".*Breakpoint.*$testfile.inc, line $bp_line_actual\\."
+
+# Might as well verify that breaking on function "next" gives
+# the same result...
+
+gdb_test "break next" \
+    ".*Breakpoint.*$testfile.inc, line $bp_line_actual\\."
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break-include.inc ./gdb/testsuite/gdb.base/break-include.inc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break-include.inc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-include.inc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,18 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2016-2018 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/>.  */
+
+i = i + 1;  /* ANCHOR */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break-interp.exp ./gdb/testsuite/gdb.base/break-interp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break-interp.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-interp.exp	2018-07-10 02:06:13.000000000 +0000
@@ -14,7 +14,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # This test only works on GNU/Linux.
-if { ![isnative] || [is_remote host] || [target_info exists use_gdb_stub]
+if { ![isnative] || [is_remote host] || [use_gdb_stub]
      || ![istarget *-linux*] || [skip_shlib_tests]} {
     continue
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp ./gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp	2018-07-10 02:06:13.000000000 +0000
@@ -40,7 +40,7 @@ proc probe_target_hardware_step {} {
     gdb_test_no_output "set debug target 1"
     set test "probe target hardware step"
     gdb_test_multiple "si" $test {
-	-re "to_resume \\(\[^\r\n\]+, step, .*$gdb_prompt $" {
+	-re "resume \\(\[^\r\n\]+, step, .*$gdb_prompt $" {
 	    set hw_step 1
 	    pass $test
 	}
@@ -48,7 +48,7 @@ proc probe_target_hardware_step {} {
 	    pass $test
 	}
     }
-    gdb_test "set debug target 0" "->to_log_command.*\\).*"
+    gdb_test "set debug target 0" "->log_command.*\\).*"
     return $hw_step
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break-probes.exp ./gdb/testsuite/gdb.base/break-probes.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/break-probes.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-probes.exp	2018-07-10 02:06:13.000000000 +0000
@@ -23,7 +23,11 @@ set libname $testfile-solib
 set srcfile_lib $srcdir/$subdir/$libname.c
 set binfile_lib [standard_output_file $libname.so]
 
-set normal_bp "_dl_debug_state"
+if { [istarget "*bsd*"] } {
+  set normal_bp "r_debug_state"
+} else {
+  set normal_bp "_dl_debug_state"
+}
 set probes_bp "dl_main"
 
 if { [gdb_compile_shlib $srcfile_lib $binfile_lib \
@@ -33,7 +37,7 @@ if { [gdb_compile_shlib $srcfile_lib $bi
 }
 
 if { [prepare_for_testing "failed to prepare" $testfile $srcfile \
-	  [list additional_flags=-DSHLIB_NAME=\"$binfile_lib\" libs=-ldl]] } {
+	  [list debug shlib_load additional_flags=-DSHLIB_NAME=\"$binfile_lib\"]] } {
     return -1
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/bt-selected-frame.c ./gdb/testsuite/gdb.base/bt-selected-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/bt-selected-frame.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bt-selected-frame.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,35 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+void
+breakpt ()
+{
+  asm ("" ::: "memory");
+}
+
+void
+func ()
+{
+  breakpt ();
+}
+
+int
+main ()
+{
+  func ();
+  return 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.1.0.20180703/gdb/testsuite/gdb.base/bt-selected-frame.exp ./gdb/testsuite/gdb.base/bt-selected-frame.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/bt-selected-frame.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bt-selected-frame.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,72 @@
+# Copyright 2018 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/>.
+
+# Check that the selected stack frame doesn't change after a backtrace.
+
+standard_testfile
+
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile debug] } {
+    return -1
+}
+
+proc check_selected_frame_after_bt { bt_cmd stack_pattern } {
+    global binfile
+
+    clean_restart $binfile
+
+    with_test_prefix $bt_cmd {
+
+	if ![runto_main] then {
+	    fail "can't run to main"
+	    return 0
+	}
+
+	gdb_breakpoint "breakpt"
+	gdb_continue_to_breakpoint "breakpt"
+
+	# Visit each frame in the stack and ensure that the selected
+	# frame doesn't change after executing the backtrace command
+	# in BT_CMD.
+	foreach_with_prefix frame {0 1 2} {
+	    if { $frame == 0 } {
+		gdb_assert {[get_current_frame_number] == $frame} \
+		    "check frame"
+	    } else {
+		gdb_test "frame $frame" "#$frame .*" "select frame"
+	    }
+
+	    gdb_test "$bt_cmd" $stack_pattern \
+		"perform backtrace command"
+
+	    gdb_assert {[get_current_frame_number] == $frame} \
+		"check frame is still selected"
+	}
+    }
+}
+
+check_selected_frame_after_bt "bt" \
+    [multi_line          \
+	 "#0 \[^\n\r\]+" \
+	 "#1 \[^\n\r\]+" \
+	 "#2 \[^\n\r\]+"]
+
+check_selected_frame_after_bt "bt full" \
+    [multi_line          \
+	 "#0 \[^\n\r\]+" \
+	 "No locals\."   \
+	 "#1 \[^\n\r\]+" \
+	 "No locals\."   \
+	 "#2 \[^\n\r\]+" \
+	 "No locals\."]
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/callfuncs.exp ./gdb/testsuite/gdb.base/callfuncs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/callfuncs.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/callfuncs.exp	2018-07-10 02:06:13.000000000 +0000
@@ -285,6 +285,16 @@ proc fetch_all_registers {test} {
 	    }
 	    exp_continue
 	}
+	-re "^\(?:cycle\|instret\)\[ \t\]+\[^\r\n\]+\r\n" {
+	    if [istarget "riscv*-*-*"] {
+		# Filter out the cycle counter and instructions
+		# retired counter CSRs which are read-only, giving
+		# spurious differences.
+	    } else {
+		lappend all_registers_lines $expect_out(0,string)
+	    }
+	    exp_continue
+	}
 	-re "^\[^ \t\]+\[ \t\]+\[^\r\n\]+\r\n" {
 	    lappend all_registers_lines $expect_out(0,string)
 	    exp_continue
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/catch-syscall.exp ./gdb/testsuite/gdb.base/catch-syscall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/catch-syscall.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/catch-syscall.exp	2018-07-10 02:06:13.000000000 +0000
@@ -179,7 +179,7 @@ proc check_for_program_end {} {
     # Deleting the catchpoints
     delete_breakpoints
 
-    gdb_continue_to_end
+    gdb_continue_to_end "" continue 1
 }
 
 proc test_catch_syscall_without_args {} {
@@ -250,7 +250,7 @@ proc test_catch_syscall_with_wrong_args 
 	# If it doesn't, everything is right (since we don't have
 	# a syscall named "mlock" in it).  Otherwise, this is a failure.
 	set thistest "catch syscall with unused syscall ($syscall_name)"
-	gdb_continue_to_end $thistest
+	gdb_continue_to_end $thistest continue 1
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/c-linkage-name.c ./gdb/testsuite/gdb.base/c-linkage-name.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/c-linkage-name.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/c-linkage-name.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,44 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+struct wrapper
+{
+  int a;
+};
+
+/* Create a global variable whose name in the assembly code
+   (aka the "linkage name") is different from the name in
+   the source code.  The goal is to create a symbol described
+   in DWARF using a DW_AT_linkage_name attribute, with a name
+   which follows the C++ mangling.
+
+   In this particular case, we chose "symada__cS" which, if it were
+   demangled, would translate to "symada (char, signed)".  */
+struct wrapper mundane asm ("symada__cS") = {0x060287af};
+
+void
+do_something (struct wrapper *w)
+{
+  w->a++;
+}
+
+int
+main (void)
+{
+  do_something (&mundane);
+  return 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.1.0.20180703/gdb/testsuite/gdb.base/c-linkage-name.exp ./gdb/testsuite/gdb.base/c-linkage-name.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/c-linkage-name.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/c-linkage-name.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,47 @@
+# Copyright 2018 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/>.
+
+# This file is part of the gdb testsuite.  It is intended to test that
+# gdb can correctly print arrays with indexes for each element of the
+# array.
+
+standard_testfile .c
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+    untested "failed to compile"
+    return -1
+}
+
+clean_restart ${binfile}
+
+# Try to print MUNDANE, but using its linkage name.
+
+gdb_test "print symada__cS" \
+         " = {a = 100829103}" \
+         "print symada__cS before partial symtab expansion"
+
+# Force the symbols to be expanded for the unit that contains
+# our symada__cS symbol by, e.g. inserting a breakpoint on one
+# of the founction also provided by the same using.
+
+gdb_test "break main" \
+         "Breakpoint $decimal at $hex: file .*$srcfile, line $decimal\\."
+
+# Try to print MUNDANE using its linkage name again, after partial
+# symtab expansion.
+
+gdb_test "print symada__cS" \
+         " = {a = 100829103}" \
+         "print symada__cS after partial symtab expansion"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/commands.exp ./gdb/testsuite/gdb.base/commands.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/commands.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/commands.exp	2018-07-10 02:06:13.000000000 +0000
@@ -1014,7 +1014,7 @@ proc_with_prefix redefine_backtrace_test
 # Test using "if" and "while" without args when building a command list.
 
 proc define_if_without_arg_test {} {
-    foreach cmd {if while} {
+    foreach cmd {if while define} {
 	set test "define some_command_$cmd"
 	gdb_test_multiple $test $test {
 	    -re "End with"  {
@@ -1022,7 +1022,7 @@ proc define_if_without_arg_test {} {
 	    }
 	}
 
-	gdb_test "$cmd" "if/while commands require arguments." "type $cmd without args"
+	gdb_test "$cmd" "$cmd command requires an argument." "type $cmd without args"
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/completion.exp ./gdb/testsuite/gdb.base/completion.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/completion.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/completion.exp	2018-07-10 02:06:13.000000000 +0000
@@ -749,7 +749,7 @@ gdb_test_multiple "" "$test" {
 	    -re "marker1.*$gdb_prompt " {
 		send_gdb "\n"
 		gdb_test_multiple "" "$test" {
-		    -re "All functions matching regular expression \"marker\":.*File.*break1.c:\r\nint marker1\\((void|)\\);\r\nint marker2\\(int\\).*marker3\\(char.*char.*\\).*marker4\\(long( int)?\\);.*$gdb_prompt $" {
+		    -re "All functions matching regular expression \"marker\":.*File.*break1.c:.*\tint marker1\\((void|)\\);\r\n.*:\tint marker2\\(int\\).*marker3\\(char.*char.*\\).*marker4\\(long( int)?\\);.*$gdb_prompt $" {
 			pass "$test"
 		    }
 		}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/dbx.exp ./gdb/testsuite/gdb.base/dbx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/dbx.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dbx.exp	2018-07-10 02:06:13.000000000 +0000
@@ -267,7 +267,7 @@ proc test_assign { } {
 #test_whereis
 #
 proc test_whereis { } {
-    gdb_test "whereis my_list" "All variables matching regular expression \"my_list\":\r\n\r\nFile.*average\.c:\r\nstatic int my_list\\\[10\\\];"
+    gdb_test "whereis my_list" "All variables matching regular expression \"my_list\":\r\n\r\nFile.*average\.c:\r\n.*\tstatic int my_list\\\[10\\\];"
 }
 
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/default.exp ./gdb/testsuite/gdb.base/default.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/default.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/default.exp	2018-07-10 02:06:13.000000000 +0000
@@ -686,7 +686,7 @@ gdb_test_no_output "show values" "show v
 #test show verbose
 gdb_test "show verbose" "Verbose printing of informational messages is o.*|Verbosity is off.*" "show verbose"
 #test show version
-gdb_test "show version" "GNU gdb \[0-9\.\]*(\[^\r\n\]*\[\r\n\])+Copyright \\(C\\) \[0-9\]* Free Software Foundation, Inc(\[^\r\n\]*\[\r\n\])+License GPLv3\\+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>(\[^\r\n\]*\[\r\n\])+This is free software: you are free to change and redistribute it.(\[^\r\n\]*\[\r\n\])+There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"(\[^\r\n\]*\[\r\n\])+and \"show warranty\" for details..*" "show version" 
+gdb_test "show version" "GNU gdb \[0-9\.\]*(\[^\r\n\]*\[\r\n\])+Copyright \\(C\\) \[0-9\]* Free Software Foundation, Inc(\[^\r\n\]*\[\r\n\])+License GPLv3\\+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>(\[^\r\n\]*\[\r\n\])+This is free software: you are free to change and redistribute it.(\[^\r\n\]*\[\r\n\])+There is NO WARRANTY, to the extent permitted by law.(\[^\r\n\]*\[\r\n\])+Type \"show copying\" and \"show warranty\" for details..*" "show version"
 #test show width
 gdb_test "show width" "Number of characters gdb thinks are in a line is.*" "show width"
 #test show write
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/define.exp ./gdb/testsuite/gdb.base/define.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/define.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/define.exp	2018-07-10 02:06:13.000000000 +0000
@@ -298,5 +298,13 @@ gdb_test_multiple "set prompt \\(gdb\\) 
     }
 }
 
+gdb_test_multiple "define do-define" "" {
+    -re "Type commands for definition of \"do-define\".\r\nEnd with a line saying just \"end\".\r\n>$" {
+	gdb_test "define do-printit\necho here\\n\nend\nend" "" "define do-define"
+    }
+}
+gdb_test_no_output "do-define" "invoke do-define"
+gdb_test "do-printit" "here" "invoke do-printit"
+
 gdb_exit
 return 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.1.0.20180703/gdb/testsuite/gdb.base/dprintf-detach.exp ./gdb/testsuite/gdb.base/dprintf-detach.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/dprintf-detach.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-detach.exp	2018-07-10 02:06:13.000000000 +0000
@@ -21,7 +21,7 @@
 load_lib gdbserver-support.exp
 
 # The test relies on "detach/attach".
-if { [target_info exists use_gdb_stub] } then {
+if { [use_gdb_stub] } then {
     return 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.1.0.20180703/gdb/testsuite/gdb.base/endian.c ./gdb/testsuite/gdb.base/endian.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/endian.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/endian.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright (C) 2018 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/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/endian.exp ./gdb/testsuite/gdb.base/endian.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/endian.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/endian.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,94 @@
+# Copyright (C) 2018 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 automatic endianness selection.
+
+standard_testfile
+
+set en_auto "The target endianness is set automatically"
+set en_set "The target is assumed to be"
+
+clean_restart
+
+# First check that the automatic endianness is updated
+# with the `set endian' command.
+gdb_test "set endian auto" \
+    "$en_auto \\\(currently \(\?:big\|little\) endian\\\)" \
+    "default target endianness"
+gdb_test "set endian big" "$en_set big endian" \
+    "set target endianness"
+gdb_test "set endian auto" "$en_auto \\\(currently big endian\\\)" \
+    "auto target endianness"
+gdb_test "set endian little" "$en_set little endian" \
+    "set target endianness little"
+gdb_test "set endian auto" "$en_auto \\\(currently little endian\\\)" \
+    "auto target endianness little"
+gdb_test "set endian big" "$en_set big endian" \
+    "set target endianness big"
+gdb_test "set endian auto" "$en_auto \\\(currently big endian\\\)" \
+    "auto target endianness big"
+
+if { [build_executable ${testfile}.exp $testfile] } {
+    gdb_suppress_entire_file "$pf_prefix cannot build executable"
+}
+
+if { [gdb_file_cmd $binfile] } {
+    gdb_suppress_entire_file "$pf_prefix cannot select executable"
+}
+set test "get target endianness"
+if { [gdb_test_multiple "show endian" "$test" {
+    -re "$en_auto \\\(currently \(big\|little\) endian\\\).*$gdb_prompt" {
+	set endian $expect_out(1,string)
+	pass "$test"
+    }
+}] } {
+    gdb_suppress_entire_file \
+	"$pf_prefix cannot determine executable endianness"
+    set endian ""
+}
+
+# Now check that the automatic endianness is updated
+# according to the executable selected.
+if { [gdb_unload] } {
+    gdb_suppress_entire_file "$pf_prefix cannot unselect executable"
+}
+gdb_test "set endian big" "$en_set big endian" \
+    "override target endianness big"
+gdb_test "set endian auto" "$en_auto \\\(currently big endian\\\)" \
+    "override auto target endianness big"
+if { [gdb_file_cmd $binfile] } {
+    gdb_suppress_entire_file "$pf_prefix cannot select executable"
+}
+gdb_test "show endian" "$en_auto \\\(currently $endian endian\\\)" \
+    "previously big default executable endianness"
+if { [gdb_unload] } {
+    gdb_suppress_entire_file "$pf_prefix cannot unselect executable"
+}
+gdb_test "show endian" "$en_auto \\\(currently $endian endian\\\)" \
+    "previously big default no executable endianness"
+gdb_test "set endian little" "$en_set little endian" \
+    "override target endianness little"
+gdb_test "set endian auto" "$en_auto \\\(currently little endian\\\)" \
+    "override auto target endianness little"
+if { [gdb_file_cmd $binfile] } {
+    gdb_suppress_entire_file "$pf_prefix cannot select executable"
+}
+gdb_test "show endian" "$en_auto \\\(currently $endian endian\\\)" \
+    "previously little default executable endianness"
+if { [gdb_unload] } {
+    gdb_suppress_entire_file "$pf_prefix cannot unselect executable"
+}
+gdb_test "show endian" "$en_auto \\\(currently $endian endian\\\)" \
+    "previously little default no executable endianness"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/ending-run.exp ./gdb/testsuite/gdb.base/ending-run.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/ending-run.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ending-run.exp	2018-07-10 02:06:13.000000000 +0000
@@ -68,14 +68,14 @@ gdb_test_multiple "i b" "cleared bp at l
 gdb_test "b ending-run.c:1" ".*Breakpoint.*4.*"
 gdb_test "b ending-run.c:$break1_line" ".*Note.*also.*Breakpoint.*5.*" "b ending-run.c:$break1_line, two"
 gdb_test "cle ending-run.c:$break1_line" \
-	".*Deleted breakpoint 5.*" "Cleared 2 by line"
+	".*Deleted breakpoints 4 5.*" "Cleared 2 by line"
 
 gdb_test_multiple "info line ending-run.c:$break1_line" "" {
     -re ".*address (0x\[0-9a-fA-F]*).*$gdb_prompt $" {
         set line_nine $expect_out(1,string)
         gdb_test "b ending-run.c:$break1_line" ".*Breakpoint 6.*ending-run.c, line $break1_line.*"
         gdb_test "b *$line_nine" ".*Note.*also.*Breakpoint 7.*" "breakpoint 7 at *ending-run.c:$break1_line"
-        gdb_test "cle" ".*Deleted breakpoints 4 6 7.*" "clear 2 by default"
+        gdb_test "cle" ".*Deleted breakpoints 6 7.*" "clear 2 by default"
     }
     -re ".*$gdb_prompt $" {
         fail "need to fix test for new compile outcome"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/finish-pretty.c ./gdb/testsuite/gdb.base/finish-pretty.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/finish-pretty.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/finish-pretty.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,41 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+struct s
+{
+  int a;
+  int b;
+};
+
+static struct s
+foo (void)
+{
+  struct s r;
+  r.a = 1;
+  r.b = 2;
+  return r;
+}
+
+int
+main (void)
+{
+  struct s v;
+
+  v = foo ();
+
+  return v.a + v.b;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/finish-pretty.exp ./gdb/testsuite/gdb.base/finish-pretty.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/finish-pretty.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/finish-pretty.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,37 @@
+# Copyright 2018 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/>.
+
+# Check whether finish respects the print pretty user setting when printing the
+# function result.
+
+standard_testfile
+
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
+    return -1
+}
+
+proc finish_pretty { } {
+    if ![runto foo] {
+	fail "can't run to foo"
+	return
+    }
+    gdb_test_no_output "set print pretty" \
+	"pretty printing switched on"
+    gdb_test "finish" \
+	{.*Value returned is \$1 = \{\r\n  a = 1, \r\n  b = 2\r\n\}} \
+	"finish foo prettyprinted function result"
+}
+
+finish_pretty
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/float128.exp ./gdb/testsuite/gdb.base/float128.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/float128.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/float128.exp	2018-07-10 02:06:13.000000000 +0000
@@ -75,5 +75,19 @@ gdb_test "print ld" ".* = 10\\.375.*" "t
 gdb_test "print f128" ".* = 20\\.375.*" "the value of f128 is changed to 20.375"
 
 # Test that we can correctly handle the largest IEEE-128 value
-gdb_test "print large128" ".* = 1\\.18973149535723176508575932662800702e\\+4932" "print large128"
+# Note: If we get "inf" instead of the correct result, we may have run into
+# an internal overflow.  This typically happens on host platforms without
+# native IEEE-128 support where GDB was built without MPFR support.
+set test "print large128"
+gdb_test_multiple "print large128" "$test" {
+    -re ".* = 1\\.18973149535723176508575932662800702e\\+4932.*$gdb_prompt $" {
+	pass "$test"
+    }
+    -re ".* = inf.*$gdb_prompt $" {
+	fail "$test (GDB may be missing MPFR support!)"
+    }
+    -re ".*$gdb_prompt $" {
+	fail "$test"
+    }
+}
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/float.exp ./gdb/testsuite/gdb.base/float.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/float.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/float.exp	2018-07-10 02:06:13.000000000 +0000
@@ -110,6 +110,8 @@ if { [is_aarch64_target] } then {
     gdb_test "info float" "fr4.*fr4R.*fr31R.*" "info float"
 } elseif [istarget "sparc*-*-*"] then {
     gdb_test "info float" "f0.*f1.*f31.*d0.*d30.*" "info float"
+} elseif [istarget "riscv*-*-*"] then {
+    gdb_test "info float" "ft0.*ft1.*ft11.*fflags.*frm.*fcsr.*" "info float"
 } else {
     gdb_test "info float" "No floating.point info available for this processor." "info float (unknown target)"
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/foll-fork.exp ./gdb/testsuite/gdb.base/foll-fork.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/foll-fork.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/foll-fork.exp	2018-07-10 02:06:13.000000000 +0000
@@ -110,13 +110,13 @@ proc test_follow_fork { who detach cmd }
 	# Set up the output we expect to see after we run.
 	set expected_re ""
 	if {$who == "child"} {
-	    set expected_re "Attaching after.* fork to.*"
+	    set expected_re "\\\[Attaching after.* fork to.*"
 	    if {$detach == "on"} {
-		append expected_re "Detaching after fork from .*"
+		append expected_re "\\\[Detaching after fork from .*"
 	    }
 	    append expected_re "set breakpoint here.*"
 	} elseif {$who == "parent" && $detach == "on"} {
-	    set expected_re "Detaching after fork from .*set breakpoint here.*"
+	    set expected_re "\\\[Detaching after fork from .*set breakpoint here.*"
 	} else {
 	    set expected_re ".*set breakpoint here.*"
 	}
@@ -217,7 +217,7 @@ proc catch_fork_child_follow {} {
 	"Temporary breakpoint.*, line $bp_after_fork.*" \
 	"set follow-fork child, tbreak"
 
-    set expected_re "Attaching after.* fork to.*Detaching after fork from"
+    set expected_re "\\\[Attaching after.* fork to.*\\\[Detaching after fork from"
     append expected_re ".* at .*$bp_after_fork.*"
     gdb_test "continue" $expected_re "set follow-fork child, hit tbreak"
 
@@ -305,7 +305,7 @@ proc tcatch_fork_parent_follow {} {
 	"set follow-fork parent, tbreak"
 
     gdb_test "continue" \
-	"Detaching after fork from.* at .*$bp_after_fork.*" \
+	"\\\[Detaching after fork from.* at .*$bp_after_fork.*" \
 	"set follow-fork parent, hit tbreak"
 
     # The child has been detached; allow time for any output it might
@@ -398,10 +398,6 @@ By default, the debugger will follow the
     if [runto_main] then { tcatch_fork_parent_follow }
 }
 
-# The "Detaching..." and "Attaching..." messages may be hidden by
-# default.
-gdb_test_no_output "set verbose"
-
 # This is a test of gdb's ability to follow the parent, child or both
 # parent and child of a Unix fork() system call.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/foll-vfork.exp ./gdb/testsuite/gdb.base/foll-vfork.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/foll-vfork.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/foll-vfork.exp	2018-07-10 02:06:13.000000000 +0000
@@ -55,10 +55,6 @@ proc setup_gdb {} {
 
     clean_restart $testfile
 
-    # The "Detaching..." and "Attaching..." messages may be hidden by
-    # default.
-    gdb_test_no_output "set verbose"
-
     if ![runto_main] {
 	return -code return
     }
@@ -103,7 +99,7 @@ proc vfork_parent_follow_through_step {}
 
    set test "step"
    gdb_test_multiple "next" $test {
-       -re "Detaching after vfork from.*if \\(pid == 0\\).*$gdb_prompt " {
+       -re "\\\[Detaching after vfork from.*if \\(pid == 0\\).*$gdb_prompt " {
 	   pass $test
        }
    }
@@ -128,7 +124,7 @@ proc vfork_parent_follow_to_bp {} {
 
    set test "continue to bp"
    gdb_test_multiple "continue" $test {
-       -re ".*Detaching after vfork from child process.*Breakpoint.*${bp_location}.*$gdb_prompt " {
+       -re ".*\\\[Detaching after vfork from child process.*Breakpoint.*${bp_location}.*$gdb_prompt " {
 	   pass $test
        }
    }
@@ -153,7 +149,7 @@ proc vfork_child_follow_to_exit {} {
 	  # PR gdb/14766
 	  fail "$test"
       }
-      -re "Attaching after.* vfork to.*Detaching vfork parent .* after child exit.*$gdb_prompt " {
+       -re "\\\[Attaching after.* vfork to.*\\\[Detaching vfork parent .* after child exit.*$gdb_prompt " {
 	  pass $test
       }
    }
@@ -177,7 +173,7 @@ proc vfork_and_exec_child_follow_to_main
 
    set test "continue to bp"
    gdb_test_multiple "continue" $test {
-      -re "Attaching after.* vfork to.*Detaching vfork parent.*xecuting new program.*Breakpoint.*vforked-prog.c:${linenum}.*$gdb_prompt " {
+      -re "\\\[Attaching after.* vfork to.*\\\[Detaching vfork parent.*xecuting new program.*Breakpoint.*vforked-prog.c:${linenum}.*$gdb_prompt " {
 	  pass $test
       }
    }
@@ -203,7 +199,7 @@ proc vfork_and_exec_child_follow_through
    # before it execs.  Thus, "next" lands on the next line after
    # the vfork.
    gdb_test_multiple "next" $test {
-       -re "Attaching after .* vfork to child.*if \\(pid == 0\\).*$gdb_prompt " {
+       -re "\\\[Attaching after .* vfork to child.*if \\(pid == 0\\).*$gdb_prompt " {
 	   pass "$test"
        }
    }
@@ -341,7 +337,7 @@ proc vfork_relations_in_info_inferiors {
 
    set test "step over vfork"
    gdb_test_multiple "next" $test {
-       -re "Attaching after .* vfork to child.*if \\(pid == 0\\).*$gdb_prompt " {
+       -re "\\\[Attaching after .* vfork to child.*if \\(pid == 0\\).*$gdb_prompt " {
 	   pass "$test"
        }
    }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/fork-print-inferior-events.c ./gdb/testsuite/gdb.base/fork-print-inferior-events.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/fork-print-inferior-events.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fork-print-inferior-events.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,37 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2007-2018 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/>.  */
+
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main (int argc, char *argv[])
+{
+  pid_t child;
+
+  child = fork ();
+  switch (child)
+    {
+      case -1:
+	abort ();
+      case 0:
+      default:
+	break;
+    }
+
+  return 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.1.0.20180703/gdb/testsuite/gdb.base/fork-print-inferior-events.exp ./gdb/testsuite/gdb.base/fork-print-inferior-events.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/fork-print-inferior-events.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fork-print-inferior-events.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,85 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2007-2018 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 that the event messages printed when using 'set print
+# inferior-events [on,off]', 'set follow-fork-mode [child,parent]' and
+# 'set detach-on-fork [on,off]' are the correct ones.
+
+# This test relies on "run", so it cannot run on target remote stubs.
+if { [use_gdb_stub] } {
+    untested "not supported on target remote stubs"
+    return
+}
+
+standard_testfile
+
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile debug] } {
+    return -1
+}
+
+# This is the expected output for each of the test combinations
+# below.  The order here is important:
+#
+#    inferior-events: on;  follow-fork: child;  detach-on-fork: on
+#    inferior-events: on;  follow-fork: child;  detach-on-fork: off
+#    inferior-events: on;  follow-fork: parent; detach-on-fork: on
+#    inferior-events: on;  follow-fork: parent; detach-on-fork: off
+#    inferior-events: off; follow-fork: child;  detach-on-fork: on
+#    inferior-events: off; follow-fork: child;  detach-on-fork: off
+#    inferior-events: off; follow-fork: parent; detach-on-fork: on
+#    inferior-events: off; follow-fork: parent; detach-on-fork: off
+
+set reading_re "(Reading.*from remote target\\.\\.\\.\r\n)*"
+set exited_normally_re "${reading_re}\\\[Inferior $decimal \\(.*\\) exited normally\\\]"
+# gdbserver produces a slightly different message when attaching after
+# a fork, so we have to tweak the regexp to accomodate that.
+set attach_child_re "${reading_re}\\\[Attaching after .* fork to child .*\\\]\r\n"
+set detach_child_re "${reading_re}\\\[Detaching after fork from child .*\\\]\r\n"
+set detach_parent_re "${reading_re}\\\[Detaching after fork from parent .*\\\]\r\n"
+set new_inf_re "${reading_re}\\\[New inferior $decimal \\(.*\\)\\\]\r\n"
+set inf_detached_re "${reading_re}\\\[Inferior $decimal \\(.*\\) detached\\\]\r\n"
+
+set expected_output [list \
+			 "${attach_child_re}${new_inf_re}${detach_parent_re}${inf_detached_re}" \
+			 "${attach_child_re}${new_inf_re}" \
+			 "${detach_child_re}" \
+			 "${new_inf_re}" \
+			 "" \
+			 "" \
+			 "" \
+			 "" \
+			]
+
+set i 0
+
+foreach_with_prefix print_inferior_events { "on" "off" } {
+    foreach_with_prefix follow_fork_mode { "child" "parent" } {
+	foreach_with_prefix detach_on_fork { "on" "off" } {
+	    clean_restart $binfile
+	    gdb_test_no_output "set print inferior-events $print_inferior_events"
+	    gdb_test_no_output "set follow-fork-mode $follow_fork_mode"
+	    gdb_test_no_output "set detach-on-fork $detach_on_fork"
+
+	    set output [lindex $expected_output $i]
+	    # Always add the "Starting program..." string so that we
+	    # match exactly the lines we want.
+	    set output "Starting program: $binfile\\s*\r\n${output}${exited_normally_re}"
+	    set i [expr $i + 1]
+	    gdb_test "run" $output
+	}
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/fork-running-state.c ./gdb/testsuite/gdb.base/fork-running-state.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/fork-running-state.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fork-running-state.c	2018-07-10 02:06:13.000000000 +0000
@@ -19,38 +19,67 @@
 #include <stdio.h>
 #include <sys/types.h>
 #include <sys/wait.h>
+#include <errno.h>
 
 int save_parent;
 
+/* Variable set by GDB.  If true, then a fork child (or parent) exits
+   if its parent (or child) exits.  Otherwise the process waits
+   forever until either GDB or the alarm kills it.  */
+volatile int exit_if_relative_exits = 0;
+
 /* The fork child.  Just runs forever.  */
 
 static int
 fork_child (void)
 {
+  /* Don't run forever.  */
+  alarm (180);
+
   while (1)
     {
-      sleep (1);
-
-      /* Exit if GDB kills the parent.  */
-      if (getppid () != save_parent)
-	break;
-      if (kill (getppid (), 0) != 0)
-	break;
+      if (exit_if_relative_exits)
+	{
+	  sleep (1);
+
+	  /* Exit if GDB kills the parent.  */
+	  if (getppid () != save_parent)
+	    break;
+	  if (kill (getppid (), 0) != 0)
+	    break;
+	}
+      else
+	pause ();
     }
 
   return 0;
 }
 
-/* The fork parent.  Just runs forever waiting for the child to
-   exit.  */
+/* The fork parent.  Just runs forever.  */
 
 static int
 fork_parent (void)
 {
-  if (wait (NULL) == -1)
+  /* Don't run forever.  */
+  alarm (180);
+
+  while (1)
     {
-      perror ("wait");
-      return 1;
+      if (exit_if_relative_exits)
+	{
+	  int res = wait (NULL);
+	  if (res == -1 && errno == EINTR)
+	    continue;
+	  else if (res == -1)
+	    {
+	      perror ("wait");
+	      return 1;
+	    }
+	  else
+	    return 0;
+	}
+      else
+	pause ();
     }
 
   return 0;
@@ -63,9 +92,6 @@ main (void)
 
   save_parent = getpid ();
 
-  /* Don't run forever.  */
-  alarm (180);
-
   /* The parent and child should basically run forever without
      tripping on any debug event.  We want to check that GDB updates
      the parent and child running states correctly right after the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/fork-running-state.exp ./gdb/testsuite/gdb.base/fork-running-state.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/fork-running-state.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fork-running-state.exp	2018-07-10 02:06:13.000000000 +0000
@@ -70,6 +70,13 @@ proc do_test { detach_on_fork follow_for
 	gdb_test_no_output "set schedule-multiple $schedule_multiple"
     }
 
+    # If we're detaching from the parent (or child), then tell it to
+    # exit itself when its child (or parent) exits.  If we stay
+    # attached, we take care of killing it.
+    if {$detach_on_fork == "on"} {
+	gdb_test "print exit_if_relative_exits = 1" " = 1"
+    }
+
     set test "continue &"
     gdb_test_multiple $test $test {
 	-re "$gdb_prompt " {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/gnu-ifunc.c ./gdb/testsuite/gdb.base/gnu-ifunc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/gnu-ifunc.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gnu-ifunc.c	2018-07-10 02:06:13.000000000 +0000
@@ -23,12 +23,6 @@ init_stub (int arg)
   return 0;
 }
 
-int
-final (int arg)
-{
-  return arg + 1;
-}
-
 /* Make differentiation of how the gnu_ifunc call resolves before and after
    calling gnu_ifunc_pre.  This ensures the resolved function address is not
    being cached anywhere for the debugging purposes.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/gnu-ifunc.exp ./gdb/testsuite/gdb.base/gnu-ifunc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/gnu-ifunc.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gnu-ifunc.exp	2018-07-10 02:06:13.000000000 +0000
@@ -18,139 +18,381 @@ if {[skip_shlib_tests]} {
 }
 
 standard_testfile .c
-set executable ${testfile}
-set staticexecutable ${executable}-static
+set staticexecutable ${testfile}-static
 set staticbinfile [standard_output_file ${staticexecutable}]
 
 set libfile "${testfile}-lib"
 set libsrc ${libfile}.c
-set lib_so [standard_output_file ${libfile}.so]
-# $lib_o must not have {debug}, it would override the STT_GNU_IFUNC ELF markers.
-set lib_o [standard_output_file ${libfile}.o]
-
-# We need DWARF for the "final" function as we "step" into the function and GDB
-# would step-over the "final" function if there would be no line number debug
-# information (DWARF) available.
-#
-# We must not have DWARF for the "gnu_ifunc" function as DWARF has no way to
-# express the STT_GNU_IFUNC type and it would be considered as a regular
-# function due to DWARF by GDB.  In ELF gnu-ifunc is expressed by the
-# STT_GNU_IFUNC type.
-#
-# Both functions need to be in the same shared library file but
-# gdb_compile_shlib has no way to specify source-specific compilation options.
-#
-# Therefore $libfile contains only the STT_GNU_IFUNC function with no DWARF
-# referencing all the other parts from the main executable with DWARF.
 
-set lib_opts {}
-set exec_opts [list debug shlib=$lib_so]
+set final_file "${testfile}-final"
+set final_src ${final_file}.c
 
 if [get_compiler_info] {
     return -1
 }
 
-if { [gdb_compile_shlib ${srcdir}/${subdir}/$libsrc $lib_so $lib_opts] != ""
-     || [gdb_compile ${srcdir}/${subdir}/$srcfile $binfile executable $exec_opts] != ""} {
-    untested "failed to compile first testcase"
-    return -1
+# Return the binary suffix appended to program and library names to
+# make each testcase variant unique.
+proc make_binsuffix {resolver_attr resolver_debug final_debug} {
+    return "$resolver_attr-$resolver_debug-$final_debug"
 }
 
-# Start with a fresh gdb.
+# Compile the testcase.  RESOLVER_ATTR is true if we're testing with
+# an ifunc resolver that has a different name from the user symbol,
+# specified with GCC's __attribute__ ifunc.  RESOLVER_DEBUG is true
+# iff the resolver was compiled with debug info.  FINAL_DEBUG is true
+# iff the target function was compiled with debug info.
+proc build {resolver_attr resolver_debug final_debug} {
+    global srcdir subdir srcfile binfile
+    global libsrc lib_so libfile
+    global exec_opts executable
+    global hex gdb_prompt
+    global final_file final_src
+
+    set suffix [make_binsuffix $resolver_attr $resolver_debug $final_debug]
+
+    set lib_so [standard_output_file ${libfile}-$suffix.so]
+    # $lib_o must not have {debug}, it would override the STT_GNU_IFUNC ELF markers.
+    set lib_o [standard_output_file ${libfile}-$suffix.o]
+
+    set exec_opts [list debug shlib=$lib_so]
+
+    set lib_opts {}
+    set final_opts {}
+
+    if {$resolver_attr} {
+	lappend lib_opts "additional_flags=-DIFUNC_RESOLVER_ATTR"
+    }
+
+    if {$resolver_debug} {
+	lappend lib_opts "debug"
+    }
 
-clean_restart $executable
-gdb_load_shlib ${lib_so}
+    if {$final_debug} {
+	lappend final_opts "debug"
+    }
+
+    set final_o $final_file-$suffix.o
+
+    if { [gdb_compile_shlib ${srcdir}/${subdir}/$libsrc \
+	      $lib_so $lib_opts] != ""
+	 || [gdb_compile ${srcdir}/${subdir}/$final_src \
+		 $final_o object $final_opts] != ""
+	 || [gdb_compile [list ${srcdir}/${subdir}/$srcfile $final_o] \
+		 $binfile-$suffix executable $exec_opts] != ""} {
+	untested "failed to compile testcase"
+	return 0
+    }
 
-if ![runto_main] then {
-    fail "can't run to main"
     return 1
 }
 
-# The "if" condition is artifical to test regression of a former patch.
-gdb_breakpoint "[gdb_get_line_number "break-at-nextcall"] if i && gnu_ifunc (i) != 42"
+# Test setting a breakpoint on a ifunc function before and after the
+# ifunc is resolved.  For the description of RESOLVER_ATTR,
+# RESOLVER_DEBUG and FINAL_DEBUG, see the "build" procedure above.
+proc_with_prefix set-break {resolver_attr resolver_debug final_debug} {
+    global binfile libfile lib_so
+    global hex decimal
+    global gdb_prompt
+
+    set suffix [make_binsuffix $resolver_attr $resolver_debug $final_debug]
+
+    set lib_so [standard_output_file ${libfile}-$suffix.so]
+    clean_restart $binfile-$suffix
+    gdb_load_shlib ${lib_so}
+
+    if ![runto_main] then {
+	fail "can't run to main"
+	return 1
+    }
 
-gdb_breakpoint [gdb_get_line_number "break-at-call"]
-gdb_continue_to_breakpoint "break-at-call" ".*break-at-call.*"
+    gdb_breakpoint [gdb_get_line_number "break-at-call"]
+    gdb_continue_to_breakpoint "break-at-call" ".*break-at-call.*"
 
-# Test GDB will automatically indirect the call.
+    set ws "\[ \t\]+"
+    set dot "\\.?"
 
-gdb_test "p gnu_ifunc (3)" " = 4"
+    if {$resolver_attr} {
+	set gnu_ifunc_resolver "gnu_ifunc_resolver"
+    } else {
+	set gnu_ifunc_resolver "gnu_ifunc"
+    }
 
-# Test that the resolver received its argument.
+    if {!$resolver_debug} {
+	set gnu_ifunc_resolver "${dot}${gnu_ifunc_resolver}"
+    }
 
-set actual_hwcap "0x0"
-set test "info auxv"
-gdb_test_multiple $test $test {
-    -re "\r\n\\d+\\s+AT_HWCAP\[^\r\n\]+($hex)\r\n.*$gdb_prompt $" {
-	set actual_hwcap $expect_out(1,string)
+    if {!$final_debug} {
+	set final "${dot}final"
+    } else {
+	set final "final"
     }
-    -re ".*$gdb_prompt $" {
-	pass "$test (no HWCAP)"
+
+    with_test_prefix "before resolving" {
+	delete_breakpoints
+	gdb_test "break gnu_ifunc" \
+	    "Breakpoint $decimal at gnu-indirect-function resolver at $hex"
+	gdb_test "info breakpoints" \
+	    "$decimal${ws}STT_GNU_IFUNC resolver${ws}keep${ws}y${ws}$hex <${gnu_ifunc_resolver}>"
+
+	# Make the breakpoint conditional on a condition that always
+	# fails.  This is so that when the ifunc-resolver breakpoint
+	# triggers, GDB resumes the program immediately.
+	gdb_test_no_output "condition \$bpnum 0"
+    }
+
+    global final_src
+
+    with_test_prefix "resolve" {
+	gdb_breakpoint [gdb_get_line_number "break-at-exit"]
+	gdb_continue_to_breakpoint "break-at-exit" ".*break-at-exit.*"
+    }
+
+    with_test_prefix "after resolving" {
+	if {!$final_debug} {
+	    # Set a breakpoint both at the ifunc, and at the ifunc's
+	    # target.  GDB should resolve both to the same address.
+	    # Start with the ifunc's target.
+	    set addr "-"
+	    set test "break final"
+	    # Extract the address without the leading "0x", because
+	    # addresses in "info break" output include leading 0s
+	    # (like "0x0000ADDR").
+	    set hex_number {[0-9a-fA-F][0-9a-fA-F]*}
+	    gdb_test_multiple $test $test {
+		-re "Breakpoint .* at 0x($hex_number)\r\n$gdb_prompt $" {
+		    set addr $expect_out(1,string)
+		    pass $test
+		}
+	    }
+
+	    # Now set a break at the ifunc.
+	    gdb_test "break gnu_ifunc" "Breakpoint .* at 0x$addr"
+	    set location "$decimal${ws}breakpoint${ws}keep${ws}y${ws}0x0*$addr${ws}<${final}\\+.*>"
+	} else {
+	    set lineno -1
+	    set test "break final"
+	    gdb_test_multiple $test $test {
+		-re "Breakpoint .* at $hex: file .*$final_src, line ($decimal)\\.\r\n$gdb_prompt $" {
+		    set lineno $expect_out(1,string)
+		    pass $test
+		}
+	    }
+	    gdb_test "break gnu_ifunc" "Breakpoint .* at $hex: file .*$final_src, line $lineno\\."
+	    set location "$decimal${ws}breakpoint${ws}keep${ws}y${ws}$hex in final at .*$final_src:$lineno"
+	}
+
+	# The first location here is for the breakpoint that was set
+	# before the ifunc was resolved.  It should be resolved by
+	# now, and it should have the exact same address/line as the
+	# other two locations.
+	gdb_test "info breakpoints" "$location\r\n.*$location\r\n$location"
     }
 }
 
-gdb_test "p/x resolver_hwcap" "= $actual_hwcap" "resolver received HWCAP"
+# Misc GNU ifunc tests.  For the description of RESOLVER_ATTR,
+# RESOLVER_DEBUG and FINAL_DEBUG, see the "build" procedure above.
+proc misc_tests {resolver_attr resolver_debug final_debug} {
+    global srcdir subdir srcfile binfile
+    global libsrc lib_so libfile
+    global exec_opts executable
+    global hex gdb_prompt
+    global final_file final_src
+
+    set suffix [make_binsuffix $resolver_attr $resolver_debug $final_debug]
+
+    if {$resolver_attr} {
+	set gnu_ifunc_resolver "gnu_ifunc_resolver"
+    } else {
+	set gnu_ifunc_resolver "gnu_ifunc"
+    }
+
+    set dot "\\.?"
+
+    if {!$resolver_debug} {
+	set gnu_ifunc_resolver "${dot}${gnu_ifunc_resolver}"
+    }
+
+    if {!$final_debug} {
+	set final "${dot}final"
+    } else {
+	set final "final"
+    }
 
-# Test GDB will skip the gnu_ifunc resolver on first call.
+    # Start with a fresh gdb.
 
-gdb_test "step" "\r\nfinal .*"
+    clean_restart $binfile-$suffix
+    gdb_load_shlib ${lib_so}
 
-# Test GDB will not break before the final chosen implementation.
+    if ![runto_main] then {
+	fail "can't run to main"
+	return 1
+    }
 
-# Also test a former patch regression:
-# Continuing.
-# Error in testing breakpoint condition:
-# Attempt to take address of value not located in memory.
-# 
-# Breakpoint 2, main () at ./gdb.base/gnu-ifunc.c:33
+    # The "if" condition is artifical to test regression of a former patch.
+    gdb_breakpoint "[gdb_get_line_number "break-at-nextcall"] if i && (int) gnu_ifunc (i) != 42"
 
-gdb_test "continue" "Continuing.\r\n\r\nBreakpoint .* (at|in) .*break-at-nextcall.*" \
-	 "continue to break-at-nextcall"
+    gdb_breakpoint [gdb_get_line_number "break-at-call"]
+    gdb_continue_to_breakpoint "break-at-call" ".*break-at-call.*"
 
-gdb_breakpoint "gnu_ifunc"
+    # Test GDB will automatically indirect the call.
 
-gdb_continue_to_breakpoint "nextcall gnu_ifunc"
+    if {!$resolver_debug && !$final_debug} {
+	gdb_test "p gnu_ifunc()" \
+	    "'${dot}final' has unknown return type; cast the call to its declared return type"
+	gdb_test "p gnu_ifunc (3)" \
+	    "'${dot}final' has unknown return type; cast the call to its declared return type"
+	gdb_test "p (int) gnu_ifunc (3)" " = 4"
+    } else {
+	gdb_test "p gnu_ifunc()" "Too few arguments in function call\\."
+	gdb_test "p gnu_ifunc (3)" " = 4"
+    }
 
-gdb_test "frame" "#0 +(0x\[0-9a-f\]+ in +)?final \\(.*" "nextcall gnu_ifunc skipped"
+    # Test that the resolver received its argument.
 
+    set actual_hwcap "0x0"
+    set test "info auxv"
+    gdb_test_multiple $test $test {
+	-re "\r\n\\d+\\s+AT_HWCAP\[^\r\n\]+($hex)\r\n.*$gdb_prompt $" {
+	    set actual_hwcap $expect_out(1,string)
+	}
+	-re ".*$gdb_prompt $" {
+	    pass "$test (no HWCAP)"
+	}
+    }
 
-# Check any commands not doing an inferior call access the address of the
-# STT_GNU_IFUNC resolver, not the target function.
+    gdb_test "p/x resolver_hwcap" "= $actual_hwcap" "resolver received HWCAP"
 
-if {[istarget powerpc64-*] && [is_lp64_target]} {
-    # With only minimal symbols GDB provides the function descriptors.  With
-    # full debug info the function code would be displayed.
-    set func_prefix {\.}
-} else {
-    set func_prefix {}
-}
+    # Test GDB will skip the gnu_ifunc resolver on first call.
+
+    # Even if the resolver has debug info, stepping into an ifunc call
+    # should skip the resolver.
+    if {!$final_debug} {
+	# Make GDB stop stepping even if it steps into a function with
+	# no debug info.
+	gdb_test_no_output "set step-mode on"
+	gdb_test "step" "$hex in ${dot}final \\\(\\\)"
+    } else {
+	gdb_test "step" "\r\nfinal .*"
+    }
+
+    # Test GDB will not break before the final chosen implementation.
+
+    # Also test a former patch regression:
+    # Continuing.
+    # Error in testing breakpoint condition:
+    # Attempt to take address of value not located in memory.
+    #
+    # Breakpoint 2, main () at ./gdb.base/gnu-ifunc.c:33
+
+    gdb_test "continue" \
+	"Continuing.\r\n\r\nBreakpoint .* (at|in) .*break-at-nextcall.*" \
+	"continue to break-at-nextcall"
+
+    gdb_breakpoint "gnu_ifunc"
+
+    gdb_continue_to_breakpoint "nextcall gnu_ifunc"
+
+    gdb_test "frame" \
+	"#0 +(0x\[0-9a-f\]+ in +)?${final} \\(.*" "nextcall gnu_ifunc skipped"
 
-gdb_test "p gnu_ifunc" " = {<text gnu-indirect-function variable, no debug info>} 0x\[0-9a-f\]+ <${func_prefix}gnu_ifunc>" "p gnu_ifunc executing"
-gdb_test "info sym gnu_ifunc" "gnu_ifunc in section .*" "info sym gnu_ifunc executing"
+    # Check any commands not doing an inferior call access the address of the
+    # STT_GNU_IFUNC resolver, not the target function.
 
-set test "info addr gnu_ifunc"
-gdb_test_multiple $test $test {
-    -re "Symbol \"gnu_ifunc\" is at (0x\[0-9a-f\]+) in .*$gdb_prompt $" {
-	pass $test
+    if {[istarget powerpc64-*] && [is_lp64_target]} {
+	# With only minimal symbols GDB provides the function descriptors.  With
+	# full debug info the function code would be displayed.
+    }
+
+    gdb_test "p gnu_ifunc" \
+	" = {<text gnu-indirect-function variable, no debug info>} 0x\[0-9a-f\]+ <${gnu_ifunc_resolver}>" \
+	"p gnu_ifunc executing"
+    gdb_test "info sym gnu_ifunc" \
+	"${gnu_ifunc_resolver} in section .*" \
+	"info sym gnu_ifunc executing"
+
+    set test "info addr gnu_ifunc"
+    if {!$resolver_attr && $resolver_debug} {
+	gdb_test_multiple $test $test {
+	    -re "Symbol \"gnu_ifunc\" is a function at address (0x\[0-9a-f\]+).*$gdb_prompt $" {
+		pass $test
+	    }
+	}
+    } else {
+	gdb_test_multiple $test $test {
+	    -re "Symbol \"gnu_ifunc\" is at (0x\[0-9a-f\]+) in .*$gdb_prompt $" {
+		pass $test
+	    }
+	}
+    }
+    gdb_test "info sym $expect_out(1,string)" \
+	"${gnu_ifunc_resolver} in section .*" \
+	"info sym <gnu_ifunc-address>"
+
+    # Test calling the resolver directly instead of the ifunc symbol.
+    # Can only do that if the ifunc and the ifunc resolver have
+    # different names.
+    if {$resolver_attr} {
+	if {$resolver_debug} {
+	    if {[istarget powerpc64-*] && [is_lp64_target]} {
+		gdb_test "p gnu_ifunc_resolver(0)" \
+		    " = \\(int \\(\\*\\)\\(int\\)\\) @$hex: $hex <${final}>"
+	    } else {
+		gdb_test "p gnu_ifunc_resolver(0)" \
+		    " = \\(int \\(\\*\\)\\(int\\)\\) $hex <final>"
+	    }
+	} else {
+	    gdb_test "p gnu_ifunc_resolver(0)" \
+		"'${gnu_ifunc_resolver}' has unknown return type; cast the call to its declared return type"
+	    gdb_test "p (void *) gnu_ifunc_resolver(0)" \
+		" = \\(void \\*\\) $hex <${final}>"
+	}
     }
 }
-gdb_test "info sym $expect_out(1,string)" "gnu_ifunc in section .*" "info sym <gnu_ifunc-address>"
 
+# Test all the combinations of:
+#
+# - An ifunc resolver with the same name as the ifunc symbol vs an
+#   ifunc resolver with a different name as the ifunc symbol.
+#
+# - ifunc resolver compiled with and without debug info.  This ensures
+#   that GDB understands that a function not a regular function by
+#   looking at the STT_GNU_IFUNC type in the elf symbols.  DWARF has
+#   no way to express the STT_GNU_IFUNC type.
+#
+# - ifunc target function (resolved) compiled with and without debug
+#   info.
+foreach_with_prefix resolver_attr {0 1} {
+    foreach_with_prefix resolver_debug {0 1} {
+	foreach_with_prefix final_debug {0 1} {
+	    build $resolver_attr $resolver_debug $final_debug
+	    misc_tests $resolver_attr $resolver_debug $final_debug
+	    set-break $resolver_attr $resolver_debug $final_debug
+	}
+    }
+}
 
 # Test statically linked ifunc resolving during inferior start.
 # https://bugzilla.redhat.com/show_bug.cgi?id=624967
 
-# Compile $staticbinfile separately as it may exit on error (ld/12595).
-
-if { [gdb_compile ${srcdir}/${subdir}/$libsrc $lib_o object {}] != ""
-     || [gdb_compile "${srcdir}/${subdir}/$srcfile $lib_o" $staticbinfile executable {debug}] != "" } {
-    untested "failed to compile second testcase"
-    return -1
-}
+with_test_prefix "static" {
+    # Compile $staticbinfile separately as it may exit on error
+    # (ld/12595).
+
+    set lib_o [standard_output_file ${libfile}.o]
+    set final_o [standard_output_file ${final_file}.o]
+    if { [gdb_compile ${srcdir}/${subdir}/$libsrc $lib_o object {}] != ""
+	 || [gdb_compile ${srcdir}/${subdir}/$final_src $final_o object {}] != ""
+	 || [gdb_compile "${srcdir}/${subdir}/$srcfile $lib_o $final_o" \
+		 $staticbinfile executable {debug}] != "" } {
+	untested "failed to compile second testcase"
+	return -1
+    }
 
-clean_restart $staticexecutable
+    clean_restart $staticexecutable
 
-gdb_breakpoint "gnu_ifunc"
-gdb_breakpoint "main"
-gdb_run_cmd
-gdb_test "" "Breakpoint \[0-9\]*, main .*" "static gnu_ifunc"
+    gdb_breakpoint "gnu_ifunc"
+    gdb_breakpoint "main"
+    gdb_run_cmd
+    gdb_test "" "Breakpoint \[0-9\]*, main .*" "static gnu_ifunc"
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/gnu-ifunc-final.c ./gdb/testsuite/gdb.base/gnu-ifunc-final.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/gnu-ifunc-final.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gnu-ifunc-final.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2009-2018 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
+final (int arg)
+{
+  return arg + 1;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/gnu-ifunc-lib.c ./gdb/testsuite/gdb.base/gnu-ifunc-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/gnu-ifunc-lib.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gnu-ifunc-lib.c	2018-07-10 02:06:13.000000000 +0000
@@ -22,10 +22,14 @@ extern int final (int arg);
 
 typedef int (*final_t) (int arg);
 
+#ifndef IFUNC_RESOLVER_ATTR
 asm (".type gnu_ifunc, %gnu_indirect_function");
-
 final_t
 gnu_ifunc (unsigned long hwcap)
+#else
+final_t
+gnu_ifunc_resolver (unsigned long hwcap)
+#endif
 {
   resolver_hwcap = hwcap;
   if (! gnu_ifunc_initialized)
@@ -33,3 +37,9 @@ gnu_ifunc (unsigned long hwcap)
   else
     return final;
 }
+
+#ifdef IFUNC_RESOLVER_ATTR
+extern int gnu_ifunc (int arg);
+
+__typeof (gnu_ifunc) gnu_ifunc __attribute__ ((ifunc ("gnu_ifunc_resolver")));
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/hook-stop.exp ./gdb/testsuite/gdb.base/hook-stop.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/hook-stop.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hook-stop.exp	2018-07-10 02:06:13.000000000 +0000
@@ -78,6 +78,7 @@ proc hook_stop_before_frame {} {
 proc hook_stop_kill {} {
     with_test_prefix "hook-stop kills inferior" {
 	global gdb_prompt
+	global decimal
 
 	setup "kill"
 
@@ -85,7 +86,7 @@ proc hook_stop_kill {} {
 
 	set test "run hook-stop"
 	gdb_test_multiple "continue" "$test" {
-	    -re "Continuing.\r\n${gdb_prompt} $" {
+	    -re "Continuing.\r\n\\\[Inferior $decimal \\(.*\\) killed\\\]\r\n${gdb_prompt} $" {
 		pass $test
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/included.exp ./gdb/testsuite/gdb.base/included.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/included.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/included.exp	2018-07-10 02:06:13.000000000 +0000
@@ -33,4 +33,4 @@ gdb_test "ptype integer" "type = int"
 
 # We should report that integer comes from the header file.
 if { $non_dwarf } { setup_xfail *-*-* }
-gdb_test "info variables integer" "\r\nFile \[^\r\n\]*/${subdir}/${testfile}.h:\r\nint integer;"
+gdb_test "info variables integer" "\r\nFile \[^\r\n\]*/${subdir}/${testfile}.h:\r\n.*\tint integer;"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/infcall-nested-structs.c ./gdb/testsuite/gdb.base/infcall-nested-structs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/infcall-nested-structs.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/infcall-nested-structs.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,157 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+/* This file is used for testing GDBs ability to pass structures to, and
+   return structures from, functions.  All of the structures in this test
+   are special in that they are small structures containing only 1 or 2
+   scalar fields, the fields can be inside nested structures, and there can
+   be empty structures around too.
+
+   This test was originally written for RiscV which has some special ABI
+   rules for structures like these, however, there should be no harm in
+   running these tests on other targets, though in many cases the
+   structures will treated no differently to the structures already covered
+   in the structs.exp test script.  */
+
+#include <string.h>
+
+/* Useful abreviations.  */
+typedef char tc;
+typedef short ts;
+typedef int ti;
+typedef long tl;
+typedef long long tll;
+typedef float tf;
+typedef double td;
+typedef long double tld;
+
+#ifdef TEST_COMPLEX
+typedef float _Complex tfc;
+typedef double _Complex tdc;
+typedef long double _Complex tldc;
+#endif /* TEST_COMPLEX */
+
+#define MAKE_CHECK_FUNCS(TYPE)					\
+  int								\
+  check_arg_ ## TYPE (struct TYPE arg)				\
+  {								\
+    return cmp_ ## TYPE (arg, ref_val_ ## TYPE);		\
+  }								\
+								\
+  struct TYPE							\
+  rtn_str_ ## TYPE (void)					\
+  {								\
+    return (ref_val_ ## TYPE);					\
+  }
+
+#define REF_VAL(NAME) struct NAME ref_val_ ## NAME
+#define ES(NAME) struct { } NAME
+
+#if defined tA && ! defined tB
+
+/* Structures with a single field nested to various depths, along with
+   some empty structures.  */
+struct struct01 { ES(es1); struct { struct { tA a; } s1; } s2; };
+struct struct02 { tA a; struct { struct { ES(es1); } s1; } s2; };
+struct struct03 { struct { struct { ES(es1); } s1; } s2; ES(es1); struct { struct { tA a; } s3; } s4;};
+struct struct04 { ES(es1); ES(es2); tA a; ES(es3); };
+
+int cmp_struct01 (struct struct01 a, struct struct01 b)
+{ return a.s2.s1.a == b.s2.s1.a; }
+
+int cmp_struct02 (struct struct02 a, struct struct02 b)
+{ return a.a == b.a; }
+
+int cmp_struct03 (struct struct03 a, struct struct03 b)
+{ return a.s4.s3.a == b.s4.s3.a; }
+
+int cmp_struct04 (struct struct04 a, struct struct04 b)
+{ return a.a == b.a; }
+
+REF_VAL(struct01) = { {}, { { 'a' } } };
+REF_VAL(struct02) = { 'a', { { {} } } };
+REF_VAL(struct03) = { { { {} } }, {}, { { 'a' } } };
+REF_VAL(struct04) = { {}, {}, 'a', {} };
+
+#elif defined tA && defined tB
+
+/* These structures all have 2 fields, nested to various depths, along
+   with some empty structures.  */
+struct struct01 { struct { tA a; } s1; ES (e1); struct { struct { tB b; } s2;} s3;};
+struct struct02 { struct { struct { tA a; } s1; ES(e1); } s2; struct { struct { tB b; } s3;} s4; ES(e2);};
+struct struct03 { ES(e1); tA a; ES (e2); struct { struct { tB b; } s2;} s3;};
+struct struct04 { ES(e1); ES (e2); struct { struct { struct { tA a; struct { ES(e3); } s1; tB b; } s2; } s3;} s4;};
+
+int cmp_struct01 (struct struct01 a, struct struct01 b)
+{ return a.s1.a == b.s1.a && a.s3.s2.b == b.s3.s2.b; }
+
+int cmp_struct02 (struct struct02 a, struct struct02 b)
+{ return a.s2.s1.a == b.s2.s1.a && a.s4.s3.b == b.s4.s3.b; }
+
+int cmp_struct03 (struct struct03 a, struct struct03 b)
+{ return a.a == b.a && a.s3.s2.b == b.s3.s2.b; }
+
+int cmp_struct04 (struct struct04 a, struct struct04 b)
+{ return a.s4.s3.s2.a == b.s4.s3.s2.a && a.s4.s3.s2.b == b.s4.s3.s2.b; }
+
+REF_VAL(struct01) = { { 'a' }, {}, { { '1' } } };
+REF_VAL(struct02) = { { { 'a' }, {} }, { { '1' } }, {} };
+REF_VAL(struct03) = { {}, 'a', {}, { { '1' } } };
+REF_VAL(struct04) = { {}, {}, { { { 'a', {}, '1'} } } } ;
+
+#else
+
+#error "Incorrect configuration of tA and tB defines"
+
+#endif
+
+/* Create all of the functions GDB will call to check functionality.  */
+MAKE_CHECK_FUNCS(struct01)
+MAKE_CHECK_FUNCS(struct02)
+MAKE_CHECK_FUNCS(struct03)
+MAKE_CHECK_FUNCS(struct04)
+
+#define CALL_LINE(NAME) val += check_arg_ ## NAME (rtn_str_ ## NAME ())
+
+int
+call_all ()
+{
+  int val;
+
+  CALL_LINE(struct01);
+  CALL_LINE(struct02);
+  CALL_LINE(struct03);
+  CALL_LINE(struct04);
+
+  return (val != 4);
+}
+
+void
+breakpt (void)
+{
+  /* Nothing.  */
+}
+
+int
+main ()
+{
+  int res;
+
+  res = call_all ();
+  breakpt (); /* Break Here.  */
+  return res;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/infcall-nested-structs.exp ./gdb/testsuite/gdb.base/infcall-nested-structs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/infcall-nested-structs.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/infcall-nested-structs.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,169 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2018 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/>.
+
+
+# Some targets can't call functions, so don't even bother with this
+# test.
+
+if [target_info exists gdb,cannot_call_functions] {
+    unsupported "this target can not call functions"
+    continue
+}
+
+set int_types { tc ts ti tl tll }
+set float_types { tf td tld }
+set complex_types { tfc tdc tldc }
+
+set compile_flags {debug}
+if [support_complex_tests] {
+    lappend compile_flags "additional_flags=-DTEST_COMPLEX"
+}
+
+# Given N (0..25), return the corresponding alphabetic letter in upper
+# case.
+
+proc I2A { n } {
+    return [string range "ABCDEFGHIJKLMNOPQRSTUVWXYZ" $n $n]
+}
+
+# Compile a variant of nested-structs.c using TYPES to specify the
+# types of the struct fields within the source.  Run up to main.
+# Also updates the global "testfile" to reflect the most recent build.
+
+proc start_nested_structs_test { types } {
+    global testfile
+    global srcfile
+    global binfile
+    global subdir
+    global srcdir
+    global compile_flags
+
+    standard_testfile .c
+
+    # Create the additional flags
+    set flags $compile_flags
+
+    for {set n 0} {$n<[llength ${types}]} {incr n} {
+	set m [I2A ${n}]
+	set t [lindex ${types} $n]
+	lappend flags "additional_flags=-Dt${m}=${t}"
+	append testfile "-" "$t"
+    }
+
+    set binfile [standard_output_file ${testfile}]
+    if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "${flags}"] != "" } {
+	unresolved "failed to compile"
+	return 0
+    }
+
+    # Start with a fresh gdb.
+    clean_restart ${binfile}
+
+    # Make certain that the output is consistent
+    gdb_test_no_output "set print sevenbit-strings"
+    gdb_test_no_output "set print address off"
+    gdb_test_no_output "set print pretty off"
+    gdb_test_no_output "set width 0"
+    gdb_test_no_output "set print elements 300"
+
+    # Advance to main
+    if { ![runto_main] } then {
+	fail "can't run to main"
+	return 0
+    }
+
+    # Now continue forward to a suitable location to run the tests.
+    # Some targets only enable the FPU on first use, so ensure that we
+    # have used the FPU before we make calls from GDB to code that
+    # could use the FPU.
+    gdb_breakpoint [gdb_get_line_number "Break Here"] temporary
+    gdb_continue_to_breakpoint "breakpt" ".* Break Here\\. .*"
+
+    return 1
+}
+
+# Assuming GDB is stopped at main within a test binary, run some tests
+# passing structures, and reading return value structures.
+
+proc run_tests {} {
+    global gdb_prompt
+
+    foreach {name} {struct01 struct02 struct03 struct04} {
+	gdb_test "p/d check_arg_${name} (ref_val_${name})" "= 1"
+
+	set refval [ get_valueof "" "ref_val_${name}" "" ]
+	verbose -log "Refval: ${refval}"
+
+	set test "check return value ${name}"
+	if { ${refval} != "" } {
+	    set answer [ get_valueof "" "rtn_str_${name} ()" "XXXX"]
+	    verbose -log "Answer: ${answer}"
+	    gdb_assert [string eq ${answer} ${refval}] ${test}
+	} else {
+	    unresolved $test
+	}
+    }
+}
+
+# Set up a test prefix, compile the test binary, run to main, and then
+# run some tests.
+
+proc start_gdb_and_run_tests { types } {
+    set prefix "types"
+
+    foreach t $types {
+	append prefix "-" "${t}"
+    }
+
+    with_test_prefix $prefix {
+	if { [start_nested_structs_test $types] } {
+	    run_tests
+	}
+    }
+}
+
+foreach ta $int_types {
+    start_gdb_and_run_tests $ta
+}
+
+if [support_complex_tests] {
+    foreach ta $complex_types {
+	start_gdb_and_run_tests $ta
+    }
+}
+
+if ![gdb_skip_float_test] {
+    foreach ta $float_types {
+	start_gdb_and_run_tests $ta
+    }
+
+    foreach ta $int_types {
+	foreach tb $float_types {
+	    start_gdb_and_run_tests [list $ta $tb]
+	}
+    }
+
+    foreach ta $float_types {
+	foreach tb $int_types {
+	    start_gdb_and_run_tests [list $ta $tb]
+	}
+
+	foreach tb $float_types {
+	    start_gdb_and_run_tests [list $ta $tb]
+	}
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/info-fun.exp ./gdb/testsuite/gdb.base/info-fun.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/info-fun.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-fun.exp	2018-07-10 02:06:13.000000000 +0000
@@ -63,7 +63,7 @@ foreach libsepdebug {NO IN SEP} { with_t
     set match_str {All functions matching regular expression "foo":[\r\n]*}
     if { "$libsepdebug" != "NO"  } {
 	append match_str {File .*/info-fun-solib[.]c:[\r\n]*}
-	append match_str {int foo\(void\);[\r\n]*}
+	append match_str {\d+:\tint foo\(void\);[\r\n]*}
     }
     append match_str {Non-debugging symbols:[\r\n]*}
     # Note: Targets like {m68k,ppc64,s390x}-linux also have, e.g.,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.c ./gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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 case for PR gdb/21695
+
+int
+main ()
+{
+  return 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.1.0.20180703/gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.exp ./gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,51 @@
+# Copyright 2018 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/>.
+
+# This file is part of the gdb testsuite
+
+#
+# PR gdb/21695
+# This tests if gdb can display line information of relocated symbols in the
+# case where executable text section was at address zero before relocation.
+#
+
+standard_testfile .c
+
+if [get_compiler_info] {
+    return -1
+}
+
+# Build executable with stripped startup code and text section starting at zero
+
+set opts {debug "additional_flags=-nostdlib -emain -Wl,-Ttext=0x00"}
+
+if {[build_executable $testfile.exp $testfile $srcfile $opts] == -1} {
+    untested "failed to compile"
+    return -1
+}
+
+clean_restart
+
+# Load symbols at an offset 0xffff0000 using add-symbol-file
+
+gdb_test "add-symbol-file $binfile 0xffff0000" \
+    "Reading symbols from .*" \
+    "add-symbol-file" \
+    "add symbol table from file \".*\" at.*\\(y or n\\) " "y"
+
+# Check if we are able to read offset adjusted line information of main
+    
+gdb_test "info line main" \
+	"Line.*starts at address 0xffff0000.*and ends at.*"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/info-proc.exp ./gdb/testsuite/gdb.base/info-proc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/info-proc.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-proc.exp	2018-07-10 02:06:13.000000000 +0000
@@ -38,6 +38,16 @@ gdb_test_multiple "info proc" "info proc
     }
 }
 
+# Set command line arguments to be verified later with "info proc
+# cmdline".  However, if we're using a stub, then "set args" would not
+# have any effect, so then just skip this.
+
+set cmdline ""
+if { ! [use_gdb_stub] } {
+    set cmdline "-i foo bar -o baz 1234"
+    gdb_test_no_output "set args $cmdline" "set args"
+}
+
 if { ! [ runto_main ] } then {
     untested "could not run to main"
     return -1
@@ -50,6 +60,9 @@ gdb_test "info proc mapping" \
 	"info proc mapping"
 
 if {[istarget "*-*-linux*"]} {
+    if { $cmdline != "" } {
+	gdb_test "info proc cmdline" "cmdline = '.* $cmdline'"
+    }
     set gcorefile [standard_output_file $testfile.gcore]
     if {[gdb_gcore_cmd $gcorefile "save a core file"]} {
 	clean_restart $binfile
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/info-shared.exp ./gdb/testsuite/gdb.base/info-shared.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/info-shared.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-shared.exp	2018-07-10 02:06:13.000000000 +0000
@@ -43,7 +43,7 @@ if { [gdb_compile_shlib $srcfile_lib2 $b
 
 set cflags "$define1 $define2"
 if { [prepare_for_testing "failed to prepare" $testfile $srcfile \
-	  [list additional_flags=$cflags libs=-ldl]] } {
+	  [list additional_flags=$cflags shlib_load]] } {
     return -1
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/interrupt-daemon.c ./gdb/testsuite/gdb.base/interrupt-daemon.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/interrupt-daemon.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/interrupt-daemon.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,67 @@
+/* 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/>.  */
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <assert.h>
+
+static void
+daemon_main (void)
+{
+}
+
+int
+main ()
+{
+  pid_t child;
+
+  alarm (60);
+
+  /* Normally we're a progress group leader at this point, so can't
+     create a session.  Fork so the child can create a new
+     session.  */
+  child = fork ();
+  if (child == -1)
+    return 1;
+  else if (child != 0)
+    return 0;
+  else
+    {
+      /* In child.  Switch to a new session.  */
+      pid_t session = setsid ();
+      if (session == -1)
+	return 1;
+
+      /* Fork again, so that the grand child (what we want to debug)
+	 can't accidentally acquire a controlling terminal, because
+	 it's not a session leader.  We're not opening any file here,
+	 but this is representative of what daemons do.  */
+      child = fork ();
+      if (child == -1)
+	return 1;
+      else if (child != 0)
+	return 0;
+
+      /* In grandchild.  */
+      daemon_main ();
+
+      while (1)
+	sleep (1);
+    }
+
+  return 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.1.0.20180703/gdb/testsuite/gdb.base/interrupt-daemon.exp ./gdb/testsuite/gdb.base/interrupt-daemon.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/interrupt-daemon.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/interrupt-daemon.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,89 @@
+# 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/>.
+
+# Make sure that we can interrupt an inferior that forks and moves to
+# its own session.
+
+standard_testfile
+
+if {[build_executable "failed to build" $testfile $srcfile {debug}]} {
+    return -1
+}
+
+# The test proper.
+
+proc do_test {} {
+    global binfile
+    global gdb_prompt
+
+    clean_restart $binfile
+
+    gdb_test "set follow-fork-mode child" ".*"
+
+    if ![runto "daemon_main"] {
+	fail "can't run to daemon_main function"
+	return
+    }
+
+    with_test_prefix "fg" {
+	global gdb_prompt
+
+	set test "continue"
+	gdb_test_multiple $test $test {
+	    -re "Continuing" {
+		pass $test
+	    }
+	}
+
+	after 200
+
+	send_gdb "\003"
+
+	set test "ctrl-c stops process"
+	gdb_test_multiple "" $test {
+	    -re "received signal SIGINT.*\r\n$gdb_prompt $" {
+		pass $test
+	    }
+	}
+    }
+
+    with_test_prefix "bg" {
+
+	set test "continue&"
+	gdb_test_multiple "continue&" $test {
+	    -re "Continuing\\.\r\n$gdb_prompt " {
+		pass $test
+	    }
+	}
+
+	after 200
+
+	set test "interrupt"
+	gdb_test_multiple $test $test {
+	    -re "$gdb_prompt " {
+		pass $test
+	    }
+	}
+
+	set test "interrupt cmd stops process"
+	gdb_test_multiple "" $test {
+	    -re "received signal SIGINT" {
+		pass $test
+	    }
+	}
+    }
+}
+
+do_test
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/jit-reader.exp ./gdb/testsuite/gdb.base/jit-reader.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/jit-reader.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/jit-reader.exp	2018-07-10 02:06:13.000000000 +0000
@@ -67,30 +67,30 @@ proc info_registers_current_frame {sp} {
 
     gdb_test "info registers" \
 	[multi_line \
-	     "rax            $hex	$decimal" \
-	     "rbx            $hex	$decimal" \
-	     "rcx            $hex	$decimal" \
-	     "rdx            $hex	$decimal" \
-	     "rsi            $hex	$decimal" \
-	     "rdi            $hex	$decimal" \
-	     "rbp            $hex	$hex" \
-	     "rsp            $sp	$sp" \
-	     "r8             $hex	$decimal" \
-	     "r9             $hex	$decimal" \
-	     "r10            $hex	$decimal" \
-	     "r11            $hex	$decimal" \
-	     "r12            $hex	$decimal" \
-	     "r13            $hex	$decimal" \
-	     "r14            $hex	$decimal" \
-	     "r15            $hex	$decimal" \
-	     "rip            $hex	$hex$any" \
-	     "eflags         $hex	\\\[$any\\\]" \
-	     "cs             $hex	$decimal" \
-	     "ss             $hex	$decimal" \
-	     "ds             $hex	$decimal" \
-	     "es             $hex	$decimal" \
-	     "fs             $hex	$decimal" \
-	     "gs             $hex	$decimal" \
+	     "rax            $hex +$decimal" \
+	     "rbx            $hex +$decimal" \
+	     "rcx            $hex +$decimal" \
+	     "rdx            $hex +$decimal" \
+	     "rsi            $hex +$decimal" \
+	     "rdi            $hex +$decimal" \
+	     "rbp            $hex +$hex" \
+	     "rsp            $sp +$sp" \
+	     "r8             $hex +$decimal" \
+	     "r9             $hex +$decimal" \
+	     "r10            $hex +$decimal" \
+	     "r11            $hex +$decimal" \
+	     "r12            $hex +$decimal" \
+	     "r13            $hex +$decimal" \
+	     "r14            $hex +$decimal" \
+	     "r15            $hex +$decimal" \
+	     "rip            $hex +$hex$any" \
+	     "eflags         $hex +\\\[$any\\\]" \
+	     "cs             $hex +$decimal" \
+	     "ss             $hex +$decimal" \
+	     "ds             $hex +$decimal" \
+	     "es             $hex +$decimal" \
+	     "fs             $hex +$decimal" \
+	     "gs             $hex +$decimal" \
 	    ]
 }
 
@@ -177,8 +177,8 @@ proc jit_reader_test {} {
 			 "rdx            <not saved>" \
 			 "rsi            <not saved>" \
 			 "rdi            <not saved>" \
-			 "rbp            $hex	$hex" \
-			 "rsp            $caller_sp	$caller_sp" \
+			 "rbp            $hex +$hex" \
+			 "rsp            $caller_sp +$caller_sp" \
 			 "r8             <not saved>" \
 			 "r9             <not saved>" \
 			 "r10            <not saved>" \
@@ -187,7 +187,7 @@ proc jit_reader_test {} {
 			 "r13            <not saved>" \
 			 "r14            <not saved>" \
 			 "r15            <not saved>" \
-			 "rip            $hex	$hex $any" \
+			 "rip            $hex +$hex $any" \
 			 "eflags         <not saved>" \
 			 "cs             <not saved>" \
 			 "ss             <not saved>" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/kill-after-signal.exp ./gdb/testsuite/gdb.base/kill-after-signal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/kill-after-signal.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/kill-after-signal.exp	2018-07-10 02:06:13.000000000 +0000
@@ -37,4 +37,8 @@ if ![runto_main] {
 
 gdb_test "continue" "Program received signal SIGUSR1, .*"
 gdb_test "stepi" "\r\nhandler .*"
-gdb_test "kill" "^y" "kill" "Kill the program being debugged\\? \\(y or n\\) $" "y"
+gdb_test_multiple "kill" "kill" {
+    -re "Kill the program being debugged\\? \\(y or n\\) $" {
+       gdb_test "y" "\\\[Inferior $decimal \\(.*\\) killed\\\]" "kill"
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/load-command.c ./gdb/testsuite/gdb.base/load-command.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/load-command.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/load-command.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,22 @@
+/* This test program is part of GDB, the GNU debugger.
+
+   Copyright 2018 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 the_variable = 0x1234;
+
+int main ()
+{
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/load-command.exp ./gdb/testsuite/gdb.base/load-command.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/load-command.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/load-command.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,49 @@
+# Copyright 2018 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 the "load" command.
+
+standard_testfile
+
+# Disable generation of position independent executable (PIE).  Otherwise, we
+# would have to manually specify an offset to load.
+
+set opts {debug ldflags=-no-pie}
+
+if [prepare_for_testing "failed to prepare" $testfile $srcfile $opts] {
+    return -1
+}
+
+if ![runto_main] {
+    fail "can't run to main"
+    return -1
+}
+
+# The native target does not support the load command.
+if [gdb_is_target_native] {
+    unsupported "the native target does not support the load command"
+    return
+}
+
+# Manually change the value of the_variable.
+gdb_test "print/x the_variable" " = 0x1234" "check initial value of the_variable"
+gdb_test_no_output "set the_variable = 0x5555" "manually change the_variable"
+gdb_test "print/x the_variable" " = 0x5555" "check manually changed value of the_variable"
+
+# Re-load the binary using the load command.
+gdb_test "load ${binfile}" ".*Loading section .data.*Transfer rate:.*" "re-load binary"
+
+# Re-loading the binary should have reset the variable value.
+gdb_test "print/x the_variable" " = 0x1234" "check initial value of the_variable"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/long_long.exp ./gdb/testsuite/gdb.base/long_long.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/long_long.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/long_long.exp	2018-07-10 02:06:13.000000000 +0000
@@ -280,5 +280,10 @@ gdb_test_ptr "x/2ga g" "" "" "0x89abcdef
 gdb_test "x/2gc g" "-17 '.\[0-9\]*'.*119 'w'"
 gdb_test "x/2gf g" "3.5127005640885037e-303.*-5.9822653797615723e-120"
 
+# Repeat behavior.
+gdb_test "x/2bx b" "0x01.*0xa7" "set up for repeat"
+send_gdb "\n"
+gdb_test "" "0x00.*0x00" "repeat x command"
+
 gdb_exit
 return 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.1.0.20180703/gdb/testsuite/gdb.base/maint.exp ./gdb/testsuite/gdb.base/maint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/maint.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/maint.exp	2018-07-10 02:06:13.000000000 +0000
@@ -62,8 +62,28 @@ gdb_test_no_output "set height 0"
 gdb_file_cmd ${binfile}
 
 # Test for a regression where this command would internal-error if the
-# program wasn't running.
-gdb_test "maint print registers" "Name.*Nr.*Rel.*Offset.*Size.*Type.*"
+# program wasn't running.  If there's a lot of registers then this
+# might overflow expect's buffers, so process the output line at a
+# time.
+set saw_registers 0
+set saw_headers 0
+set test "maint print registers"
+gdb_test_multiple $test $test {
+    -re "\[^\r\n\]+Name\[^\r\n\]+Nr\[^\r\n\]+Rel\[^\r\n\]+Offset\[^\r\n\]+Size\[^\r\n\]+Type\[^\r\n\]+\[\r\n\]+" {
+	set saw_headers 1
+	exp_continue
+    }
+    -re "^\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[\r\n\]+" {
+        set saw_registers 1
+        exp_continue
+    }
+    -re "^\\*\[0-9\]+\[^\r\n\]+\[\r\n\]+" {
+        exp_continue
+    }
+    -re "$gdb_prompt $" {
+        gdb_assert { $saw_registers && $saw_headers } $test
+    }
+}
 
 # Test "mt expand-symtabs" here as it's easier to verify before we
 # run the program.
@@ -241,7 +261,7 @@ if { ! $have_gdb_index } {
 				timeout { fail "$test_name (timeout)" }
 			    }
 			    gdb_test "shell rm -f $psymbols_output" ".*" \
-				"shell rm -f psymbols_output"
+				"${test_name}: shell rm -f psymbols_output"
 			}
 			-re ".*$gdb_prompt $" { fail "$test_name" }
 			timeout { fail "$test_name (timeout)" }
@@ -262,14 +282,9 @@ gdb_expect  {
 	send_gdb "shell ls $msymbols_output\n"
 	gdb_expect {
 	    -re "$msymbols_output_re\r\n$gdb_prompt $" {
-		send_gdb "shell grep factorial $msymbols_output\n"
-		gdb_expect {
-		    -re "\\\[ *$decimal\\\] \[tT\]\[ \t\]+$hex \\.?factorial.*$gdb_prompt $" {
-			pass "maint print msymbols"
-		    }
-		    -re ".*$gdb_prompt $" { fail "maint print msymbols" }
-		    timeout { fail "maint print msymbols (timeout)" }
-		}
+		gdb_test "shell grep factorial $msymbols_output" \
+		    "\\\[ *$decimal\\\] \[tT\]\[ \t\]+$hex \\.?factorial.*" \
+		    "maint print msymbols, absolute pathname"
 		gdb_test "shell rm -f $msymbols_output" ".*" \
 		    "shell rm -f msymbols_output"
 	    }
@@ -293,7 +308,7 @@ gdb_test_multiple "maint print msymbols 
 	    -re "msymbols_output2\r\n$gdb_prompt $" {
 		gdb_test "shell grep factorial msymbols_output2" \
 		    "\\\[ *$decimal\\\] \[tT\]\[ \t\]+$hex \\.?factorial.*" \
-		    "maint print msymbols"
+		    "maint print msymbols, relative pathname"
 		gdb_test "shell rm -f msymbols_output2" ".*"
 	    }
 	}
@@ -332,7 +347,7 @@ foreach { test_name command } $test_list
 			timeout { fail "$test_name (timeout)" }
 		    }
 		    gdb_test "shell rm -f $symbols_output" ".*" \
-			"shell rm -f symbols_output"
+			"$test_name: shell rm -f symbols_output"
 		}
 		-re ".*$gdb_prompt $" { fail "$test_name" }
 		timeout { fail "$test_name (timeout)" }
@@ -345,7 +360,7 @@ foreach { test_name command } $test_list
 
 set msg "maint print type"
 gdb_test_multiple "maint print type argc" $msg {
-    -re "type node $hex\r\nname .int. \\($hex\\)\r\ntagname .<NULL>. \\($hex\\)\r\ncode $hex \\(TYPE_CODE_INT\\)\r\nlength \[24\]\r\nobjfile $hex\r\ntarget_type $hex\r\npointer_type $hex\r\nreference_type $hex\r\ntype_chain $hex\r\ninstance_flags $hex\r\nflags\r\nnfields 0 $hex\r\n$gdb_prompt $" {
+    -re "type node $hex\r\nname .int. \\($hex\\)\r\ncode $hex \\(TYPE_CODE_INT\\)\r\nlength \[24\]\r\nobjfile $hex\r\ntarget_type $hex\r\npointer_type $hex\r\nreference_type $hex\r\ntype_chain $hex\r\ninstance_flags $hex\r\nflags\r\nnfields 0 $hex\r\n$gdb_prompt $" {
         pass $msg
     }
 }
@@ -513,11 +528,9 @@ set timeout $oldtimeout
 
 #============test help on maint commands
 
-gdb_test "help maint" \
-    "Commands for use by GDB maintainers\\..*Includes commands to dump specific internal GDB structures in.*a human readable form, to cause GDB to deliberately dump core, etc\\..*List of maintenance subcommands:.*maintenance info.*maintenance internal-error.*maintenance print.*maintenance set.*maintenance show.*Type.*help maintenance.*followed by maintenance subcommand name for full documentation\\..*Command name abbreviations are allowed if unambiguous\\..*" 
-
-gdb_test "help maint info" \
-    "Commands for showing internal info about the program being debugged.*unambiguous\\..*"
+test_prefix_command_help {"maint info" "maintenance info"} {
+    "Commands for showing internal info about the program being debugged\\.\[\r\n\]+"
+}
 
 test_prefix_command_help {"maint print" "maintenance print"} {
     "Maintenance command for printing GDB internal state\\.\[\r\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.1.0.20180703/gdb/testsuite/gdb.base/nostdlib.exp ./gdb/testsuite/gdb.base/nostdlib.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/nostdlib.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/nostdlib.exp	2018-07-10 02:06:13.000000000 +0000
@@ -18,7 +18,7 @@ standard_testfile .c
 # If we're using a stub, breakpoints at the entry point will not trigger.
 # See also the comment in break-entry.exp.
 
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     untested "skipping tests due to use_gdb_stub"
     return
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/osabi.exp ./gdb/testsuite/gdb.base/osabi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/osabi.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/osabi.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,26 @@
+# Copyright (C) 2018 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/>.
+
+# This file is part of the gdb testsuite.
+
+# Test that choosing "set osabi none" really requests a gdbarch with no osabi.
+
+proc test_set_osabi_none { } {
+    clean_restart
+    gdb_test_no_output "set debug arch 1"
+    gdb_test "set osabi none" ".*gdbarch_find_by_info: info.osabi 1 \\(none\\).*"
+}
+
+test_set_osabi_none
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/page.exp ./gdb/testsuite/gdb.base/page.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/page.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/page.exp	2018-07-10 02:06:13.000000000 +0000
@@ -47,7 +47,7 @@ gdb_test "show pagination" "State of pag
 gdb_test_no_output "set height 10"
 send_gdb "help\n"
 gdb_expect_list "paged help" \
-	".*---Type <return> to continue, or q <return> to quit---" {
+	".*$pagination_prompt" {
     "List of classes of commands:"
     ""
     "aliases -- Aliases of other commands"
@@ -60,6 +60,25 @@ gdb_expect_list "paged help" \
 }
 gdb_test "q"
 
+gdb_test_no_output "set height 5"
+send_gdb "printf \"1\\n2\\n3\\n4\\n5\\n6\\n7\\n8\\n9\\n10\\n11\"\n"
+gdb_expect_list "paged count" \
+    ".*$pagination_prompt" {
+	1
+	2
+	3
+	4
+}
+send_gdb "c\n"
+gdb_expect_list "paged count remainder" "${gdb_prompt} " {
+    5
+    6
+    7
+    8
+    9
+    10
+    11
+}
 
 gdb_exit
 return 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.1.0.20180703/gdb/testsuite/gdb.base/pc-fp.exp ./gdb/testsuite/gdb.base/pc-fp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/pc-fp.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pc-fp.exp	2018-07-10 02:06:13.000000000 +0000
@@ -58,4 +58,4 @@ gdb_test "info register \$fp" "${valueof
 # Regression test for
 # http://sourceware.org/bugzilla/show_bug.cgi?id=12659
 gdb_test "info register pc fp" \
-    "pc +${valueof_pc}\t${valueof_pc} <.*>\[\r\n\]+fp +${valueof_fp}\t${valueof_fp}\[\r\n\]+"
+    "pc +${valueof_pc}\[ \t\]+${valueof_pc} <.*>\[\r\n\]+fp +${valueof_fp}\[ \t\]+${valueof_fp}\[\r\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.1.0.20180703/gdb/testsuite/gdb.base/pie-fork.c ./gdb/testsuite/gdb.base/pie-fork.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/pie-fork.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pie-fork.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,34 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+#include <unistd.h>
+
+static void
+break_here (void)
+{
+   int i;
+   for (i = 0; i < 30; i++)
+     sleep (1);
+}
+
+int
+main ()
+{
+  fork ();
+  break_here ();
+  return 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.1.0.20180703/gdb/testsuite/gdb.base/pie-fork.exp ./gdb/testsuite/gdb.base/pie-fork.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/pie-fork.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pie-fork.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,65 @@
+# Copyright 2018 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 that we can follow forks properly when the executable is
+# position-independent.
+
+standard_testfile
+
+set opts [list debug additional_flags=-fPIE ldflags=-pie]
+
+if [prepare_for_testing "failed to prepare" $testfile $srcfile $opts] {
+    return
+}
+
+proc setup_test {detach_on_fork {follow_fork_mode "parent"}} {
+    global binfile
+
+    clean_restart ${binfile}
+
+    if ![runto_main] {
+	fail "can't run to main"
+	return
+    }
+
+    gdb_test_no_output "set detach-on-fork ${detach_on_fork}"
+    gdb_test_no_output "set follow-fork-mode ${follow_fork_mode}"
+
+    gdb_breakpoint "break_here"
+}
+
+proc_with_prefix test_detach_on_fork_follow_parent {} {
+    setup_test "on" "parent"
+
+    gdb_test "continue" "\r\nBreakpoint 2, break_here.*"
+}
+
+proc_with_prefix test_detach_on_fork_follow_child {} {
+    setup_test "on" "child"
+
+    gdb_test "continue" "\r\nThread 2.1 .* hit Breakpoint 2, break_here.*"
+}
+
+proc_with_prefix test_no_detach_on_fork {} {
+    setup_test "off"
+
+    gdb_test "continue" "\r\nThread 1.1 .* hit Breakpoint 2, break_here.*"
+    gdb_test "thread 2.1"
+    gdb_test "continue" "\r\nThread 2.1 .* hit Breakpoint 2, break_here.*"
+}
+
+test_detach_on_fork_follow_parent
+test_detach_on_fork_follow_child
+test_no_detach_on_fork
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/printcmds.exp ./gdb/testsuite/gdb.base/printcmds.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/printcmds.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/printcmds.exp	2018-07-10 02:06:13.000000000 +0000
@@ -776,6 +776,13 @@ proc test_printf {} {
 	"" \
 	"create hibob command"
     gdb_test "hibob" "hi bob zzz.*y" "run hibob command"
+
+    # PR cli/19918.
+    gdb_test "printf \"%-16dq\\n\", 0" "0               q"
+    gdb_test "printf \"%-16pq\\n\", 0" "\\(nil\\)           q"
+
+    # PR cli/14977.
+    gdb_test "printf \"%s\\n\", 0" "\\(null\\)"
 }
 
 #Test printing DFP values with printf
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/ptype-offsets.exp ./gdb/testsuite/gdb.base/ptype-offsets.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/ptype-offsets.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ptype-offsets.exp	2018-07-10 02:06:13.000000000 +0000
@@ -52,6 +52,7 @@ gdb_test "ptype /o struct abc" \
 {                               /\* total size \(bytes\):    8 \*/} \
 {                           \} field8;} \
 {/\*   48      |     4 \*/    my_int_type field9;} \
+{/\* XXX  4-byte padding \*/} \
 {} \
 {                           /\* total size \(bytes\):   56 \*/} \
 {                         \}}]
@@ -81,6 +82,7 @@ gdb_test "ptype /oTM struct abc" \
 {                           ~abc\(\);} \
 {} \
 {                           typedef int my_int_type;} \
+{/\* XXX  4-byte padding \*/} \
 {} \
 {                           /\* total size \(bytes\):   56 \*/} \
 {                         \}}]
@@ -105,6 +107,7 @@ gdb_test "ptype /TMo struct abc" \
 {                               /\* total size \(bytes\):    8 \*/} \
 {                           \} field8;} \
 {/\*   48      |     4 \*/    my_int_type field9;} \
+{/\* XXX  4-byte padding \*/} \
 {} \
 {                           /\* total size \(bytes\):   56 \*/} \
 {                         \}}]
@@ -133,6 +136,7 @@ gdb_test "ptype /o struct pqr" \
 {                           \} ff2;} \
 {/\* XXX 28-byte hole  \*/} \
 {/\*   72      |     1 \*/    signed char ff3;} \
+{/\* XXX  7-byte padding \*/} \
 {} \
 {                           /\* total size \(bytes\):   56 \*/} \
 {                         \}}]
@@ -148,6 +152,7 @@ gdb_test "ptype /o union qwe" \
 {/\* XXX  4-byte hole  \*/} \
 {/\*    8      |     8 \*/        signed char \*a2;} \
 {/\*   16      |     4 \*/        int a3;} \
+{/\* XXX  4-byte padding \*/} \
 {} \
 {                               /\* total size \(bytes\):   24 \*/} \
 {                           \} fff1;} \
@@ -161,6 +166,7 @@ gdb_test "ptype /o union qwe" \
 {/\* XXX  4-byte hole  \*/} \
 {/\*   24      |     8 \*/            signed char \*a2;} \
 {/\*   32      |     4 \*/            int a3;} \
+{/\* XXX  4-byte padding \*/} \
 {} \
 {                                   /\* total size \(bytes\):   24 \*/} \
 {                               \} f4;} \
@@ -184,6 +190,7 @@ gdb_test "ptype /o struct poi" \
 {/\* XXX  4-byte hole  \*/} \
 {/\*   16      |     8 \*/            signed char \*a2;} \
 {/\*   24      |     4 \*/            int a3;} \
+{/\* XXX  4-byte padding \*/} \
 {} \
 {                                   /\* total size \(bytes\):   24 \*/} \
 {                               \} fff1;} \
@@ -197,9 +204,11 @@ gdb_test "ptype /o struct poi" \
 {/\* XXX  4-byte hole  \*/} \
 {/\*   32      |     8 \*/                signed char \*a2;} \
 {/\*   40      |     4 \*/                int a3;} \
+{/\* XXX  4-byte padding \*/} \
 {} \
 {                                       /\* total size \(bytes\):   24 \*/} \
 {                                   \} f4;} \
+{/\* XXX  32-byte padding \*/} \
 {} \
 {                                   /\* total size \(bytes\):   40 \*/} \
 {                               \} fff2;} \
@@ -221,6 +230,7 @@ gdb_test "ptype /o struct poi" \
 {/\* XXX  4-byte hole  \*/} \
 {/\*  112      |     8 \*/                signed char \*a2;} \
 {/\*  120      |     4 \*/                int a3;} \
+{/\* XXX  4-byte padding \*/} \
 {} \
 {                                       /\* total size \(bytes\):   24 \*/} \
 {                                   \} f4;} \
@@ -228,6 +238,7 @@ gdb_test "ptype /o struct poi" \
 {                                   /\* total size \(bytes\):   40 \*/} \
 {                               \} ff2;} \
 {/\*  152      |     1 \*/        signed char ff3;} \
+{/\* XXX  7-byte padding \*/} \
 {} \
 {                               /\* total size \(bytes\):   56 \*/} \
 {                           \} f4;} \
@@ -262,6 +273,7 @@ gdb_test "ptype /o struct tyu" \
 {/\*    8      |     8 \*/    int64_t a5;} \
 {/\*   16:27   |     4 \*/    int a6 : 5;} \
 {/\*   16:56   |     8 \*/    int64_t a7 : 3;} \
+{/\* XXX  7-byte padding \*/} \
 {} \
 {                           /\* total size \(bytes\):   24 \*/} \
 {                         \}}]
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/relocate.exp ./gdb/testsuite/gdb.base/relocate.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/relocate.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/relocate.exp	2018-07-10 02:06:13.000000000 +0000
@@ -73,6 +73,21 @@ gdb_test_multiple "add-symbol-file -s .t
 	gdb_test "n" "Not confirmed\." $test
     }
 }
+# Check that passing a single "-s .text" is equivalent to passing
+# the text address in a positional argument.
+set test "add-symbol-file -s .text, no address"
+gdb_test_multiple "add-symbol-file $binfile -s .text 0x100" $test {
+    -re "add symbol table from file \"${binfile}\" at\r\n\t\.text_addr = 0x100\r\n\\(y or n\\) " {
+	gdb_test "n" "Not confirmed\." $test
+    }
+}
+# Check section addresses can be omitted.
+set test "add-symbol-file no address"
+gdb_test_multiple "add-symbol-file $binfile" $test {
+    -re "add symbol table from file \"${binfile}\"\r\n\\(y or n\\) " {
+	gdb_test "n" "Not confirmed\." $test
+    }
+}
 # Test that passing "--" disables option processing.
 gdb_test "add-symbol-file -- $binfile 0x100 -s .bss 0x3" \
     "Unrecognized argument \"-s\"" \
@@ -196,6 +211,86 @@ if { "${function_foo_addr}" == "${new_fu
   pass "function foo has a different address"
 }
 
+# Load the object using symbol-file with an offset and check that
+# all addresses are moved by that offset.
+
+set offset 0x10000
+clean_restart
+gdb_test "symbol-file -o $offset $binfile" \
+    "Reading symbols from ${binfile}\.\.\.done\." \
+    "symbol-file with offset"
+
+# Make sure the address of a static variable is moved by offset.
+set new_static_foo_addr [get_var_address static_foo]
+gdb_assert {${new_static_foo_addr} == ${static_foo_addr} + $offset} \
+    "static variable foo is moved by offset"
+
+# Make sure the address of a global variable is moved by offset.
+set new_global_foo_addr [get_var_address global_foo]
+gdb_assert {${new_global_foo_addr} == ${global_foo_addr} + $offset} \
+    "global variable foo is moved by offset"
+
+# Make sure the address of a function is moved by offset.
+set new_function_foo_addr [get_var_address function_foo]
+gdb_assert {${new_function_foo_addr} == ${function_foo_addr} + $offset} \
+    "function foo is moved by offset"
+
+# Load the object using add-symbol-file with an offset and check that
+# all addresses are moved by that offset.
+
+set offset 0x10000
+clean_restart
+gdb_test "add-symbol-file -o $offset $binfile" \
+    "Reading symbols from ${binfile}\.\.\.done\." \
+    "add-symbol-file with offset" \
+    "add symbol table from file \".*${testfile}\\.o\" with all sections offset by $offset\[\r\n\]+\\(y or n\\) " \
+    "y"
+
+# Make sure the address of a static variable is moved by offset.
+set new_static_foo_addr [get_var_address static_foo]
+gdb_assert { ${new_static_foo_addr} == ${static_foo_addr} + $offset } \
+    "static variable foo is moved by offset"
+
+# Make sure the address of a global variable is moved by offset.
+set new_global_foo_addr [get_var_address global_foo]
+gdb_assert { ${new_global_foo_addr} == ${global_foo_addr} + $offset } \
+    "global variable foo is moved by offset"
+
+# Make sure the address of a function is moved by offset.
+set new_function_foo_addr [get_var_address function_foo]
+gdb_assert { ${new_function_foo_addr} == ${function_foo_addr} + $offset } \
+    "function foo is moved by offset"
+
+# Re-load the object giving an explicit address for .text
+
+set text [ format "0x%x" [expr ${function_foo_addr} + 0x20000] ]
+clean_restart
+gdb_test "add-symbol-file $binfile -o $offset $text" \
+    "Reading symbols from ${binfile}\.\.\.done\." \
+    "add-symbol-file with offset, text address given" \
+    "add symbol table from file \".*${testfile}\\.o\" at\[ \t\r\n\]+\.text_addr = ${text}\[\r\n\]+with other sections offset by ${offset}\[\r\n\]+\\(y or n\\) " \
+    "y"
+
+# Make sure function has a different addresses now.
+set function_foo_addr [get_var_address function_foo]
+gdb_assert { ${function_foo_addr} != ${new_function_foo_addr} } \
+    "function foo has a different address"
+
+# Re-load the object giving an explicit address for .data
+
+set data [ format "0x%x" [expr ${global_foo_addr} + 0x20000] ]
+clean_restart
+gdb_test "add-symbol-file $binfile -o $offset -s .data $data" \
+    "Reading symbols from ${binfile}\.\.\.done\." \
+    "add-symbol-file with offset, data address given" \
+    "add symbol table from file \".*${testfile}\\.o\" at\[ \t\r\n\]+\.data_addr = ${data}\[\r\n\]+with other sections offset by ${offset}\[\r\n\]+\\(y or n\\) " \
+    "y"
+
+# Make sure variable has a different addresses now.
+set global_foo_addr [get_var_address global_foo]
+gdb_assert { ${global_foo_addr} != ${new_global_foo_addr} } \
+    "global variable foo has a different address"
+
 # Now try loading the object as an exec-file; we should be able to print
 # the values of variables after we do this.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/remote.exp ./gdb/testsuite/gdb.base/remote.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/remote.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/remote.exp	2018-07-10 02:06:13.000000000 +0000
@@ -21,21 +21,24 @@ if {[target_info gdb_protocol] != "remot
 
 standard_testfile .c
 
-gdb_start
-
 set result [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}]
 if {$result != "" } then {
     untested "failed to compile"
     return -1
 }
 
+gdb_start
+
+# Make sure we're disconnected, in case we're testing with an
+# extended-remote board, therefore already connected.
+gdb_test "disconnect" ".*"
 
 #
 # Part ONE: Check the down load commands
 #
 
 gdb_test "show remote memory-write-packet-size" \
-	"The memory-write-packet-size is 0. Packets are limited to \[0-9\]+ bytes." \
+	"The memory-write-packet-size is 0 \\(default\\). The actual limit will be further reduced dependent on the target\." \
 	"write-packet default"
 
 gdb_test "set remote memory-write-packet-size" \
@@ -44,14 +47,38 @@ gdb_test "set remote memory-write-packet
 
 gdb_test_no_output "set remote memory-write-packet-size 20"
 gdb_test "show remote memory-write-packet-size" \
-	"The memory-write-packet-size is 20. Packets are limited to 20 bytes." \
+	"The memory-write-packet-size is 20. The actual limit will be further reduced dependent on the target\." \
 	"set write-packet - small"
 
 gdb_test_no_output "set remote memory-write-packet-size 1"
 gdb_test "show remote memory-write-packet-size" \
-	"The memory-write-packet-size is 1. Packets are limited to 20 bytes." \
+	"The memory-write-packet-size is 1. The actual limit will be further reduced dependent on the target\." \
 	"set write-packet - very-small"
 
+gdb_test_no_output "set remote memory-write-packet-size 0"
+gdb_test "show remote memory-write-packet-size" \
+	"The memory-write-packet-size is 0 \\(default\\). The actual limit will be further reduced dependent on the target\." \
+	"write-packet default again"
+
+set test "set remote memory-write-packet-size fixed"
+gdb_test_multiple $test $test {
+    -re "Change the packet size. .y or n. " {
+	gdb_test_multiple "y" $test {
+	    -re "$gdb_prompt $" {
+		pass $test
+	    }
+	}
+    }
+}
+gdb_test "show remote memory-write-packet-size" \
+	"The memory-write-packet-size is 0 \\(default\\). Packets are fixed at 16384 bytes\." \
+	"write-packet default fixed"
+
+gdb_test_no_output "set remote memory-write-packet-size limit"
+gdb_test "show remote memory-write-packet-size" \
+	"The memory-write-packet-size is 0 \\(default\\). The actual limit will be further reduced dependent on the target\." \
+	"write-packet default limit again"
+
 #
 # Part TWO: Check the download behavior.
 #
@@ -102,6 +129,8 @@ proc gdb_load_timed {executable class wr
     pass $test
 }
 
+clean_restart $binfile
+
 # These download tests won't actually download anything on !is_remote
 # target boards, but we run them anyway because it's simpler, and
 # harmless.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-nodir.exp ./gdb/testsuite/gdb.base/solib-nodir.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-nodir.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-nodir.exp	2018-07-10 02:06:13.000000000 +0000
@@ -25,7 +25,7 @@ if [is_remote target] {
 # We need to be able to influence the target's environment and working
 # directory.  Can't do that if when we connect the inferior is already
 # running.
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     return
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-overlap.exp ./gdb/testsuite/gdb.base/solib-overlap.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-overlap.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-overlap.exp	2018-07-10 02:06:13.000000000 +0000
@@ -119,7 +119,7 @@ foreach prelink_lib1 {0x40000000 0x50000
 
     # Detach the process.
 
-    gdb_test "detach" "Detaching from program: .*$escapedbinfile, process $testpid"
+    gdb_test "detach" "Detaching from program: .*$escapedbinfile, process $testpid\r\n\\\[Inferior $decimal \\(.*\\) detached\\\]"
 
     # Wait a bit for gdb to finish detaching
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-vanish.exp ./gdb/testsuite/gdb.base/solib-vanish.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-vanish.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-vanish.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,107 @@
+# Copyright 2017-2018 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/>.
+#
+
+# This test case verifies that GDB gracefully handles a shared library file
+# vanishing after being dlopen'ed.  This consists of three nested function calls:
+#
+# main() -> foo() -> bar()
+#
+# where:
+# - foo exists in solib-vanish-lib1.so, which is dlopen'ed by main()
+# - bar exists in solib-vanish-lib2.so, which is dynamically linked into
+#   solib-vanish-lib1.so
+#
+# Immediately after dlopen'ing solib-vanish-lib1.so, the so file is moved aside
+# by renaming.  The main executable and solib-vanish-lib2.so are still
+# accessible.
+#
+# If a breakpoint is set on bar(), gdb throws an error when this breakpoint is
+# hit:
+#
+#   (gdb) r
+#   Starting program: /local/gdb/git/pr_16577_repro/simple/solib-vanish-main
+#
+#   Breakpoint 1, BFD: reopening ./solib-vanish-lib1.so: No such file or directory
+#
+#   BFD: reopening ./solib-vanish-lib1.so: No such file or directory
+#
+#   (gdb)
+#
+# Notice that this does not print the current frame, i.e.:
+#   bar (y=1) at solib-vanish-lib2.c:19
+#   19	  return y + 1; /* break here */
+#   (gdb)
+#
+# The current gdb git tip segfaults if we then try to step:
+#   (gdb) n
+#   Segmentation fault
+
+# This test verifies that:
+# 1) GDB does not segfault when stepping
+# 2) The stack frame is printed
+
+if { [skip_shlib_tests] } {
+    return 0
+}
+
+# Library 2
+set lib2name "solib-vanish-lib2"
+set srcfile_lib2 ${srcdir}/${subdir}/${lib2name}.c
+set binfile_lib2 [standard_output_file ${lib2name}.so]
+set lib2_flags {debug}
+
+# Library 1
+set lib1name "solib-vanish-lib1"
+set srcfile_lib1 ${srcdir}/${subdir}/${lib1name}.c
+set binfile_lib1 [standard_output_file ${lib1name}.so]
+set lib1_flags [list debug shlib=${binfile_lib2}]
+
+# Main program
+set testfile "solib-vanish-main"
+set srcfile ${srcdir}/${subdir}/${testfile}.c
+set executable ${testfile}
+set binfile [standard_output_file ${executable}]
+set bin_flags [list debug shlib_load additional_flags=-DVANISH_LIB=\"${binfile_lib1}\"]
+
+if { [gdb_compile_shlib ${srcfile_lib2} ${binfile_lib2} $lib2_flags] != ""
+     || [gdb_compile_shlib ${srcfile_lib1} ${binfile_lib1} $lib1_flags] != ""
+     || [gdb_compile ${srcfile} ${binfile} executable $bin_flags] != "" } {
+    untested "failed to compile"
+    return -1
+}
+
+clean_restart $testfile
+
+if { ![runto_main] } {
+    fail "can't run to main"
+    return
+}
+
+delete_breakpoints
+
+set lib2_lineno [gdb_get_line_number "break here" ${srcfile_lib2}]
+
+gdb_breakpoint "${lib2name}.c:${lib2_lineno}" {allow-pending}
+
+# Verify that both the location and source code are displayed
+gdb_continue_to_breakpoint "bar" \
+    ".*/${lib2name}.c:${lib2_lineno}.*break here.*"
+
+# This should not segfault
+gdb_test "next" \
+    "" \
+    "next succeeds"
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-vanish-lib1.c ./gdb/testsuite/gdb.base/solib-vanish-lib1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-vanish-lib1.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-vanish-lib1.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2017-2018 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/>.  */
+
+extern int bar (int);
+
+int
+foo (int x)
+{
+  return bar (x);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-vanish-lib2.c ./gdb/testsuite/gdb.base/solib-vanish-lib2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-vanish-lib2.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-vanish-lib2.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2017-2018 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
+bar (int y)
+{
+  return y + 1;			/* break here */
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-vanish-main.c ./gdb/testsuite/gdb.base/solib-vanish-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/solib-vanish-main.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-vanish-main.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,75 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2017-2018 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/>.  */
+
+#include <dlfcn.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int
+main ()
+{
+  void *handle;
+  int (*foo) (int);
+  char *error;
+  char *dest = VANISH_LIB ".renamed";
+
+  /* Open library.  */
+  handle = dlopen (VANISH_LIB, RTLD_NOW);
+  if (!handle)
+    {
+      fprintf (stderr, "%s\n", dlerror ());
+      exit (EXIT_FAILURE);
+    }
+
+  /* Clear any existing error */
+  dlerror ();
+
+  /* Simulate deleting file by renaming it.  */
+  if (rename (VANISH_LIB, dest) == -1)
+    {
+      error = strerror (errno);
+      fprintf (stderr, "rename %s -> %s: %s\n", VANISH_LIB, dest, error);
+      exit (EXIT_FAILURE);
+    }
+
+  /* Get function pointer.  */
+  foo = dlsym (handle, "foo");
+  error = dlerror ();
+  if (error != NULL)
+    {
+      fprintf (stderr, "%s\n", error);
+      exit (EXIT_FAILURE);
+    }
+
+  /* Call function.  */
+  (*foo) (1);
+
+  /* Close and exit.  */
+  dlclose (handle);
+
+  /* Put VANISH_LIB back where we found it.  */
+  if (rename (dest, VANISH_LIB) == -1)
+    {
+      error = strerror (errno);
+      fprintf (stderr, "rename %s -> %s: %s\n", dest, VANISH_LIB, error);
+      exit (EXIT_FAILURE);
+    }
+
+  exit (EXIT_SUCCESS);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp ./gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp	2018-07-10 02:06:13.000000000 +0000
@@ -62,7 +62,7 @@ gdb_test_no_output "set debug target 1"
 set hardware_step 0
 set test "probe target hardware step"
 gdb_test_multiple "si" $test {
-    -re "to_resume \\(\[^\r\n\]+, step, .*$gdb_prompt $" {
+    -re "resume \\(\[^\r\n\]+, step, .*$gdb_prompt $" {
 	set hardware_step 1
 	pass $test
     }
@@ -76,7 +76,7 @@ if { $hardware_step } {
     return
 }
 
-gdb_test "set debug target 0" "->to_log_command.*\\)"
+gdb_test "set debug target 0" "->log_command.*\\)"
 
 set line_re "\[^\r\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.1.0.20180703/gdb/testsuite/gdb.base/statistics.exp ./gdb/testsuite/gdb.base/statistics.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/statistics.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/statistics.exp	2018-07-10 02:06:13.000000000 +0000
@@ -18,7 +18,7 @@ standard_testfile
 gdb_exit
 
 # Inlined default_gdb_start.
-set use_gdb_stub [target_info exists use_gdb_stub]
+set use_gdb_stub [use_gdb_stub]
 set res [remote_spawn host "$GDB $INTERNAL_GDBFLAGS $GDBFLAGS [host_info gdb_opts] -statistics"]
 if { $res < 0 || $res == "" } {
     perror "Spawning $GDB failed."
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/step-indirect-call-thunk.c ./gdb/testsuite/gdb.base/step-indirect-call-thunk.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/step-indirect-call-thunk.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-indirect-call-thunk.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,42 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.
+
+*/
+
+static int
+inc (int x)
+{                /* inc.1 */
+  return x + 1;  /* inc.2 */
+}                /* inc.3 */
+
+static int
+thrice (int (*op)(int), int x)
+{                 /* thrice.1 */
+  x = op (x);     /* thrice.2 */
+  x = op (x);     /* thrice.3 */
+  return op (x);  /* thrice.4 */
+}                 /* thrice.5 */
+
+int
+main ()
+{
+  int x;
+
+  x = thrice (inc, 40);
+
+  return x;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/step-indirect-call-thunk.exp ./gdb/testsuite/gdb.base/step-indirect-call-thunk.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/step-indirect-call-thunk.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-indirect-call-thunk.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,73 @@
+# Copyright 2018 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/>.
+
+standard_testfile
+
+set cflags "-mindirect-branch=thunk -mfunction-return=thunk"
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile \
+        [list debug "additional_flags=$cflags"]] } {
+    return -1
+}
+
+if { ![runto_main] } {
+    untested "failed to run to main"
+    return -1
+}
+
+# Do repeated instruction steps in order to reach TARGET from CURRENT
+#
+#  CURRENT is a string matching the current location
+#  TARGET  is a string matching the target location
+#  TEST    is the test name
+#
+# The function issues repeated "stepi" commands as long as the location
+# matches CURRENT up to a maximum of 100 steps.
+#
+# TEST passes if the resulting location matches TARGET and fails
+# otherwise.
+#
+proc stepi_until { current target test } {
+    global gdb_prompt
+
+    set count 0
+    gdb_test_multiple "stepi" "$test" {
+        -re "$current.*$gdb_prompt $" {
+            incr count
+            if { $count < 100 } {
+                send_gdb "stepi\n"
+                exp_continue
+            } else {
+                fail "$test"
+            }
+        }
+        -re "$target.*$gdb_prompt $" {
+            pass "$test"
+        }
+    }
+}
+
+# Normal stepping steps through all thunks.
+gdb_test "step" "thrice\.2.*" "step into thrice"
+gdb_test "next" "thrice\.3.*" "step through thunks and over inc"
+gdb_test "step" "inc\.2.*" "step through call thunk into inc"
+gdb_test "step" "inc\.3.*" "step inside inc"
+gdb_test "step" "thrice\.4.*" "step through return thunk back into thrice"
+
+# We can use instruction stepping to step into thunks.
+stepi_until "thrice" "indirect_thunk" "stepi into call thunk"
+stepi_until "indirect_thunk" "inc." "stepi out of call thunk into inc"
+stepi_until "inc" "return_thunk" "stepi into return thunk"
+stepi_until "return_thunk" "thrice" \
+    "stepi out of return thunk back into thrice"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/testenv.exp ./gdb/testsuite/gdb.base/testenv.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/testenv.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/testenv.exp	2018-07-10 02:06:13.000000000 +0000
@@ -20,7 +20,7 @@
 
 # Can't pass environment variables to the inferior if when we connect,
 # the inferior is already running.
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     return
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/utf8-identifiers.c ./gdb/testsuite/gdb.base/utf8-identifiers.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/utf8-identifiers.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/utf8-identifiers.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,71 @@
+/* -*- coding: utf-8 -*- */
+
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2017-2018 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/>.
+*/
+
+/* UTF-8 "funÃ§Ã£o1".  */
+#define FUNCAO1 fun\u00e7\u00e3o1
+
+/* UTF-8 "funÃ§Ã£o2".  */
+#define FUNCAO2 fun\u00e7\u00e3o2
+
+/* UTF-8 "my_funÃ§Ã£o".  */
+#define MY_FUNCAO my_fun\u00e7\u00e3o
+
+/* UTF-8 "num_â‚¬".  */
+#define NUM_EUROS num_\u20ac
+
+struct S
+{
+  int NUM_EUROS;
+} g_s;
+
+void
+FUNCAO1 (void)
+{
+  g_s.NUM_EUROS = 1000;
+}
+
+void
+FUNCAO2 (void)
+{
+  g_s.NUM_EUROS = 1000;
+}
+
+void
+MY_FUNCAO (void)
+{
+}
+
+int NUM_EUROS = 2000;
+
+static void
+done ()
+{
+}
+
+int
+main ()
+{
+  FUNCAO1 ();
+  done ();
+  FUNCAO2 ();
+  MY_FUNCAO ();
+
+  return 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.1.0.20180703/gdb/testsuite/gdb.base/utf8-identifiers.exp ./gdb/testsuite/gdb.base/utf8-identifiers.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/utf8-identifiers.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/utf8-identifiers.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,77 @@
+# -*- coding: utf-8 -*- */
+
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2017-2018 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 GDB's support for UTF-8 C/C++ identifiers.
+
+load_lib completion-support.exp
+
+standard_testfile
+
+# Enable basic use of UTF-8.  LC_ALL gets reset for each testfile.
+setenv LC_ALL C.UTF-8
+
+if { [prepare_for_testing "failed to prepare" ${testfile} [list $srcfile]] } {
+    return -1
+}
+
+if ![runto done] {
+    fail "couldn't run to done"
+    return
+}
+
+# Test expressions.
+gdb_test "print g_s.num_â‚¬" " = 1000"
+gdb_test "print num_â‚¬" " = 2000"
+
+# Test linespecs/breakpoints.
+gdb_test "break funÃ§Ã£o2" "Breakpoint $decimal at .*$srcfile.*"
+
+set test "info breakpoints"
+gdb_test_multiple $test $test {
+    -re "in funÃ§Ã£o2 at .*$srcfile.*$gdb_prompt $" {
+	pass $test
+    }
+}
+
+gdb_test "continue" \
+    "Breakpoint $decimal, funÃ§Ã£o2 \\(\\) at .*$srcfile.*"
+
+# Unload symbols from shared libraries to avoid random symbol and file
+# names getting in the way of completion.
+gdb_test_no_output "nosharedlibrary"
+
+# Test linespec completion.
+
+# A unique completion.
+test_gdb_complete_unique "break my_fun" "break my_funÃ§Ã£o"
+
+# A multiple-matches completion:
+
+# kfailed because gdb/readline display the completion match list like
+# this, with no separating space:
+#
+#  (gdb) break funÃ§Ã£o[TAB]
+#  funÃ§Ã£o1funÃ§Ã£o2
+#
+# ... which is bogus.
+setup_kfail "gdb/23211" "*-*-*"
+test_gdb_complete_multiple "break " "fun" "Ã§Ã£o" {"funÃ§Ã£o1" "funÃ§Ã£o2"}
+
+# Test expression completion.
+test_gdb_complete_unique "print g_s.num" "print g_s.num_â‚¬"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/watchpoint-hw-attach.c ./gdb/testsuite/gdb.base/watchpoint-hw-attach.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/watchpoint-hw-attach.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-hw-attach.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,43 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+/* This is set to 1 by the debugger post attach to continue to the
+ watchpoint trigger.  */
+volatile int should_continue = 0;
+/* The variable to place a watchpoint on.  */
+volatile int watched_variable = 0;
+
+int
+main (void)
+{
+  unsigned int counter = 1;
+  int mypid = getpid ();
+
+  /* Wait for the debugger to attach, but not indefinitely so this
+     test program is not left hanging around.  */
+  for (counter = 0; !should_continue && counter < 100; counter++)
+    sleep (1);			/* pidacquired */
+
+  /* Trigger a watchpoint.  */
+  watched_variable = 4;
+  printf ("My variable is %d\n", watched_variable);
+  return 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.1.0.20180703/gdb/testsuite/gdb.base/watchpoint-hw-attach.exp ./gdb/testsuite/gdb.base/watchpoint-hw-attach.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/watchpoint-hw-attach.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-hw-attach.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,71 @@
+# Copyright 2018 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/>.
+
+# watchpoint-hw-attach.exp -- Test if hardware watchpoints are used
+# when attaching to a target.
+
+if {[skip_hw_watchpoint_tests]} {
+    return 0
+}
+
+if {![can_spawn_for_attach]} {
+    return 0
+}
+
+standard_testfile
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
+    return -1
+}
+
+clean_restart $binfile
+
+if ![runto_main] {
+    untested "can't run to main"
+    return -1
+}
+
+# Run to the point where mypid in the test program has been
+# populated.
+gdb_breakpoint [gdb_get_line_number "pidacquired"]
+gdb_continue_to_breakpoint "pidacquired"
+
+# Get the PID of the test process.
+set testpid [get_integer_valueof "mypid" 0]
+
+gdb_test "detach" "Detaching from program: .*, process $testpid\r\n\\\[Inferior $decimal \\(process $testpid\\) detached\\\]"
+
+if {$testpid == ""} {
+    return -1
+}
+
+# A clean restart is needed to force the hardware watchpoint setup
+# logic to run post attach rather than post inferior launch.
+clean_restart $binfile
+
+gdb_test "attach $testpid" "Attaching to program: .*, process $testpid.*" "attach"
+
+# Ensure the test program is in the top frame so the required
+# variables are in scope.
+gdb_breakpoint $srcfile:[gdb_get_line_number "pidacquired"]
+gdb_continue_to_breakpoint "$srcfile:pidacquired"
+
+gdb_test_no_output "set should_continue = 1"
+
+gdb_test "watch watched_variable" \
+	 "Hardware watchpoint $decimal: watched_variable"
+
+gdb_test "continue" \
+	 "continue.*Continuing.*\.Hardware watchpoint $decimal: watched_variable.*Old value = 0.*New value = 4.*watched_variable\\);"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/watchpoint-unaligned.c ./gdb/testsuite/gdb.base/watchpoint-unaligned.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/watchpoint-unaligned.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-unaligned.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,96 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2017-2018 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/>.  */
+
+#include <stdint.h>
+#include <assert.h>
+
+static int again;
+
+static volatile struct
+{
+  uint64_t alignment;
+  union
+    {
+      uint64_t size8[1];
+      uint32_t size4[2];
+      uint16_t size2[4];
+      uint8_t size1[8];
+      uint64_t size8twice[2];
+    }
+  u;
+} data;
+
+static int size = 0;
+static int offset;
+
+static void
+write_size8twice (void)
+{
+  static const uint64_t first = 1;
+  static const uint64_t second = 2;
+
+#ifdef __aarch64__
+  asm volatile ("stp %1, %2, [%0]"
+		: /* output */
+		: "r" (data.u.size8twice), "r" (first), "r" (second) /* input */
+		: "memory" /* clobber */);
+#else
+  data.u.size8twice[0] = first;
+  data.u.size8twice[1] = second;
+#endif
+}
+
+int
+main (void)
+{
+  volatile uint64_t local;
+
+  assert (sizeof (data) == 8 + 2 * 8);
+
+  write_size8twice ();
+
+  while (size)
+    {
+      switch (size)
+	{
+/* __s390x__ also defines __s390__ */
+#ifdef __s390__
+# define ACCESS(var) var = ~var
+#else
+# define ACCESS(var) local = var
+#endif
+	case 8:
+	  ACCESS (data.u.size8[offset]);
+	  break;
+	case 4:
+	  ACCESS (data.u.size4[offset]);
+	  break;
+	case 2:
+	  ACCESS (data.u.size2[offset]);
+	  break;
+	case 1:
+	  ACCESS (data.u.size1[offset]);
+	  break;
+#undef ACCESS
+	default:
+	  assert (0);
+	}
+      size = 0;
+      size = size; /* start_again */
+    }
+  return 0; /* final_return */
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/watchpoint-unaligned.exp ./gdb/testsuite/gdb.base/watchpoint-unaligned.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/watchpoint-unaligned.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-unaligned.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,188 @@
+# Copyright 2017-2018 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/>.
+#
+# This file is part of the gdb testsuite.
+
+# Test inserting read watchpoints on unaligned addresses.
+
+if {[skip_hw_watchpoint_tests]} {
+    return 0
+}
+
+standard_testfile
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
+    return -1
+}
+
+if ![runto_main] {
+    untested "could not run to main"
+    return -1
+}
+
+gdb_breakpoint [gdb_get_line_number "start_again"] "Breakpoint $decimal at $hex" "start_again"
+
+set sizes {1 2 4 8}
+array set alignedend {1 1  2 2  3 4  4 4  5 8  6 8  7 8  8 8}
+
+set rwatch "rwatch"
+set rwatch_exp "Hardware read watchpoint"
+if {[istarget "s390*-*-*"]} {
+    # Target does not support this type of hardware watchpoint."
+    set rwatch "watch"
+    set rwatch_exp "Hardware watchpoint"
+}
+
+foreach wpsize $sizes {
+    for {set wpoffset 0} {$wpoffset < 8 / $wpsize} {incr wpoffset} {
+	set wpstart [expr $wpoffset * $wpsize]
+	set wpend [expr ($wpoffset + 1) * $wpsize]
+	set wpendaligned $alignedend($wpend)
+	foreach rdsize $sizes {
+	    for {set rdoffset 0} {$rdoffset < 8 / $rdsize} {incr rdoffset} {
+		set rdstart [expr $rdoffset * $rdsize]
+		set rdend [expr ($rdoffset + 1) * $rdsize]
+		set expect_hit [expr max ($wpstart, $rdstart) < min ($wpend, $rdend)]
+		set test "$rwatch data.u.size$wpsize\[$wpoffset\]"
+		set wpnum ""
+		gdb_test_multiple $test $test {
+		    -re "$rwatch_exp (\[0-9\]+): .*\r\n$gdb_prompt $" {
+			set wpnum $expect_out(1,string)
+		    }
+		    -re "Expression cannot be implemented with read/access watchpoint.\r\n$gdb_prompt $" {
+			if {$wpsize == 8 && [istarget "arm*-*-*"]} {
+			    untested $test
+			    continue
+			}
+			fail $test
+		    }
+		}
+		gdb_test_no_output "set variable size = $rdsize" ""
+		gdb_test_no_output "set variable offset = $rdoffset" ""
+		set test "continue"
+		set got_hit 0
+		gdb_test_multiple $test $test {
+		    -re "$rwatch_exp $wpnum:.*alue = .*\r\n$gdb_prompt $" {
+			set got_hit 1
+			send_gdb "continue\n"
+			exp_continue
+		    }
+		    -re " start_again .*\r\n$gdb_prompt $" {
+		    }
+		}
+		gdb_test_no_output "delete $wpnum" ""
+		set test "wp(size=$wpsize offset=$wpoffset) rd(size=$rdsize offset=$rdoffset) expect=$expect_hit"
+		if {$expect_hit == $got_hit} {
+		    pass $test
+		} else {
+		    # We do not know if we run on a fixed Linux kernel
+		    # or not.  Report XFAIL only in the FAIL case.
+		    if {$expect_hit == 0 && $rdstart < $wpendaligned} {
+			setup_xfail external/20207 "aarch64*-*-linux*"
+		    }
+		    if {!$expect_hit && [expr max ($wpstart / 8, $rdstart / 8) < min (($wpend + 7) / 8, ($rdend + 7) / 8)]} {
+			setup_xfail breakpoints/23131 "powerpc*-*-*"
+		    }
+		    fail $test
+		}
+	    }
+	}
+    }
+}
+
+foreach wpcount {4 7} {
+    array set wpoffset_to_wpnum {}
+    for {set wpoffset 1} {$wpoffset <= $wpcount} {incr wpoffset} {
+	set test "$rwatch data.u.size1\[$wpoffset\]"
+	set wpnum ""
+	gdb_test_multiple $test $test {
+	    -re "$rwatch_exp (\[0-9\]+): .*\r\n$gdb_prompt $" {
+		set wpoffset_to_wpnum($wpoffset) $expect_out(1,string)
+	    }
+	    -re "There are not enough available hardware resources for this watchpoint.\r\n$gdb_prompt $" {
+		if {$wpoffset > 1} {
+		    setup_xfail breakpoints/23131 "powerpc*-*-*"
+		    setup_xfail breakpoints/23131 "arm*-*-*"
+		}
+		fail $test
+		set wpoffset_to_wpnum($wpoffset) 0
+	    }
+	}
+    }
+    gdb_test_no_output "set variable size = 1" ""
+    gdb_test_no_output "set variable offset = 1" ""
+    set test "continue"
+    set got_hit 0
+    gdb_test_multiple $test $test {
+	-re "\r\nCould not insert hardware watchpoint .*\r\n$gdb_prompt $" {
+	}
+	-re "$rwatch_exp $wpoffset_to_wpnum(1):.*alue = .*\r\n$gdb_prompt $" {
+	    set got_hit 1
+	    send_gdb "continue\n"
+	    exp_continue
+	}
+	-re " start_again .*\r\n$gdb_prompt $" {
+	}
+    }
+    for {set wpoffset 1} {$wpoffset <= $wpcount} {incr wpoffset} {
+	if {$wpoffset_to_wpnum($wpoffset)} {
+	    gdb_test_no_output "delete $wpoffset_to_wpnum($wpoffset)" ""
+	}
+    }
+    set test "wpcount($wpcount)"
+    if {!$wpoffset_to_wpnum([expr $wpcount - 1])} {
+	untested $test
+	continue
+    }
+    if {$wpcount > 4} {
+	if {![istarget "s390*-*-*"]} {
+	    setup_kfail tdep/22389 *-*-*
+	}
+    }
+    gdb_assert $got_hit $test
+}
+
+if ![runto_main] {
+    return -1
+}
+gdb_breakpoint [gdb_get_line_number "final_return"] "Breakpoint $decimal at $hex" "final_return"
+set test {watch data.u.size8twice[1]}
+set wpnum ""
+gdb_test_multiple $test $test {
+    -re "Hardware watchpoint (\[0-9\]+): .*\r\n$gdb_prompt $" {
+	set wpnum $expect_out(1,string)
+    }
+    -re "Watchpoint (\[0-9\]+): .*\r\n$gdb_prompt $" {
+	if {[istarget "arm*-*-*"]} {
+	    untested $test
+	    set wpnum 0
+	}
+    }
+}
+if {$wpnum} {
+    set test "continue"
+    set got_hit 0
+    gdb_test_multiple $test $test {
+	-re "\r\nCould not insert hardware watchpoint .*\r\n$gdb_prompt $" {
+	}
+	-re "Hardware watchpoint $wpnum:.*New value = .*\r\n$gdb_prompt $" {
+	    set got_hit 1
+	    send_gdb "continue\n"
+	    exp_continue
+	}
+	-re " final_return .*\r\n$gdb_prompt $" {
+	}
+    }
+    gdb_assert $got_hit "size8twice write"
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/wchar.exp ./gdb/testsuite/gdb.base/wchar.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/wchar.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/wchar.exp	2018-07-10 02:06:13.000000000 +0000
@@ -69,3 +69,6 @@ gdb_test "print repeat" "= L\"A$cent$cen
 
 gdb_test "print repeat_p" "= $hex L\"A$cent$cent\"\.\.\." \
     "print repeat_p (print elements 3)"
+
+# From PR cli/14977, but here because it requires wchar_t.
+gdb_test "printf \"%ls\\n\", 0" "\\(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.1.0.20180703/gdb/testsuite/gdb.base/whatis-ptype-typedefs.exp ./gdb/testsuite/gdb.base/whatis-ptype-typedefs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.base/whatis-ptype-typedefs.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.base/whatis-ptype-typedefs.exp	2018-07-10 02:06:13.000000000 +0000
@@ -45,13 +45,15 @@ proc prepare {lang} {
 
     if { [prepare_for_testing "failed to prepare" \
 	      ${out} [list $srcfile] $options] } {
-	return -1
+	return 0
     }
 
     if ![runto_main] then {
 	fail "can't run to main"
 	return 0
     }
+
+    return 1
 }
 
 # The following list is layed out as a table.  It is composed by
@@ -300,6 +302,7 @@ proc run_tests {lang} {
 }
 
 foreach_with_prefix lang {"c" "c++"} {
-    prepare $lang
-    run_tests $lang
+    if { [prepare $lang] } then {
+	run_tests $lang
+    }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.btrace/buffer-size.exp ./gdb/testsuite/gdb.btrace/buffer-size.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.btrace/buffer-size.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/buffer-size.exp	2018-07-10 02:06:13.000000000 +0000
@@ -33,17 +33,14 @@ if ![runto_main] {
 }
 
 gdb_test_no_output "set record btrace bts buffer-size 1"
-gdb_test "show record btrace bts buffer-size" "The record/replay bts buffer size is 1\.\r" "bts buffer size before recording"
+gdb_test_no_output "set record btrace pt buffer-size 1"
+gdb_test "show record btrace bts buffer-size" "The record/replay bts buffer size is 1\.\r"
+gdb_test "show record btrace pt buffer-size" "The record/replay pt buffer size is 1\.\r"
 
-gdb_test_no_output "record btrace bts"
-gdb_test "show record btrace bts buffer-size" "The record/replay bts buffer size is 1\.\r" "bts buffer size while recording"
+gdb_test_no_output "record btrace"
 gdb_test "info record" [multi_line \
   "Active record target: record-btrace" \
-  "Recording format: Branch Trace Store\." \
+  "Recording format: \[^\\\r\\\n\]*" \
   "Buffer size: 4kB\." \
   "Recorded 0 instructions in 0 functions \\\(0 gaps\\\) for \[^\\\r\\\n\]*" \
-  ] "info record with small bts buffer"
-gdb_test "record stop" ".*" "stop recording with small bts buffer"
-
-gdb_test_no_output "set record btrace bts buffer-size 0"
-gdb_test "show record btrace bts buffer-size" "The record/replay bts buffer size is unlimited\.\r" "unlimited bts buffer size"
+  ] "info record"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.btrace/cpu.exp ./gdb/testsuite/gdb.btrace/cpu.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.btrace/cpu.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/cpu.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,76 @@
+# This testcase is part of GDB, the GNU debugger.
+#
+# Copyright 2018 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/>.
+
+gdb_start
+
+proc test_good { arg } {
+    gdb_test_no_output "set record btrace cpu $arg" "set cpu $arg"
+    gdb_test "show record btrace cpu" "btrace cpu is '$arg'\." \
+        "show cpu $arg"
+}
+
+proc test_bad { arg current } {
+    gdb_test "set record btrace cpu $arg" \
+        "Bad format\.  See \"help set record btrace cpu\"\." \
+        "set cpu $arg"
+    gdb_test "show record btrace cpu" "btrace cpu is '$current'\." \
+        "show cpu $arg"
+}
+
+proc test_junk { arg junk current } {
+    gdb_test "set record btrace cpu $arg" \
+        "Trailing junk: '$junk'\." \
+        "set cpu $arg"
+    gdb_test "show record btrace cpu" "btrace cpu is '$current'\." \
+        "show cpu $arg"
+}
+
+gdb_test "show record btrace cpu" "btrace cpu is 'auto'\." "default cpu"
+
+gdb_test "set record" \
+    "\"set record\" must be followed by an appropriate subcommand.*" \
+    "set record"
+gdb_test "set record btrace" \
+    "\"set record btrace\" must be followed by an appropriate subcommand.*" \
+    "set record btrace"
+test_bad "" "auto"
+
+test_good "intel: 0/0"
+test_good "intel: 0/0/1"
+
+# We omit a zero stepping in the output.
+gdb_test_no_output "set record btrace cpu intel: 0/0/0" \
+    "set cpu intel: 0/0/0"
+gdb_test "show record btrace cpu" "btrace cpu is 'intel: 0/0'\." \
+    "show cpu intel: 0/0/0"
+
+test_good "auto"
+test_good "none"
+
+test_bad "intel: foo" "none"
+test_bad "intel: 0" "none"
+test_bad "intel: 0/" "none"
+test_bad "intel: 0/foo" "none"
+test_bad "intel: foo/bar" "none"
+test_bad "intel: foo/0" "none"
+test_bad "intel: 0x0/0" "none"
+
+test_junk "intel: 0/0 foo" " foo" "none"
+test_junk "intel: 0/0x0" "x0" "none"
+test_junk "intel: 0/0/foo" "/foo" "none"
+test_junk "intel: 0/0/0 foo" " foo" "none"
+test_junk "intel: 0/0/0x0" "x0" "none"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.compile/compile-ifunc.exp ./gdb/testsuite/gdb.compile/compile-ifunc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.compile/compile-ifunc.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-ifunc.exp	2018-07-10 02:06:13.000000000 +0000
@@ -37,7 +37,9 @@ with_test_prefix "nodebug" {
     }
 
     gdb_test "compile code resultvar = gnu_ifunc (10);" \
-	"warning: variable has unknown type; assuming int"
+	[multi_line \
+	     "warning: variable has unknown type; assuming int" \
+	     "warning: function has unknown return type; assuming int"]
 
     gdb_test "p (int) resultvar" " = 11"
 
@@ -52,10 +54,9 @@ with_test_prefix "debug" {
     if ![runto_main] {
 	return -1
     }
-
     # gnu_ifunc (10): error: too many arguments to function 'gnu_ifunc'
-    gdb_test_no_output "compile code resultvar = gnu_ifunc_alias (10);"
-
+    gdb_test "compile code resultvar = gnu_ifunc_alias (10);" \
+	"warning: function has unknown return type; assuming int"
     gdb_test "p resultvar" " = 11"
 
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/align.exp ./gdb/testsuite/gdb.cp/align.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/align.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/align.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,174 @@
+# Copyright 2018 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/>.
+
+# This file is part of the gdb testsuite
+
+# This tests that C++ alignof works in gdb, and that it agrees with
+# the compiler.
+
+if {[skip_cplus_tests]} { continue }
+
+# The types we're going to test.
+
+set typelist {
+    char {unsigned char}
+    short {unsigned short}
+    int {unsigned int}
+    long {unsigned long}
+    {long long} {unsigned long long}
+    float
+    double {long double}
+    empty
+    bigenum
+    vstruct
+    bfstruct
+    arrstruct
+    derived
+    derived2
+}
+
+if {[has_int128_cxx]} {
+    # Note we don't check "unsigned __int128" yet because at least gcc
+    # canonicalizes the name to "__int128 unsigned", and there isn't a
+    # c-exp.y production for this.
+    # https://sourceware.org/bugzilla/show_bug.cgi?id=20991
+    lappend typelist __int128
+}
+
+# Create the test file.
+
+set filename [standard_output_file align.cc]
+set outfile [open $filename w]
+
+# Prologue.
+puts $outfile {
+    template<typename T, typename U>
+    struct align_pair
+    {
+	T one;
+	U two;
+    };
+
+    template<typename T, typename U>
+    struct align_union
+    {
+	T one;
+	U two;
+    };
+
+    enum bigenum { VALUE = 0xffffffffull };
+
+    struct empty { };
+
+    struct vstruct { virtual ~vstruct() {}  char c; };
+
+    struct bfstruct { unsigned b : 3; };
+
+    struct arrstruct { short fld[7]; };
+
+    unsigned a_int3 = alignof (int[3]);
+
+    unsigned a_void = alignof (void);
+
+    struct base { char c; };
+    struct derived : public virtual base { int i; };
+
+    struct b2 : public virtual base { char d; };
+    struct derived2 : public b2, derived { char e; };
+}
+
+# First emit single items.
+foreach type $typelist {
+    set utype [join [split $type] _]
+    puts $outfile "$type item_$utype;"
+    puts $outfile "unsigned a_$utype\n  = alignof ($type);"
+    puts $outfile "typedef $type t_$utype;"
+    puts $outfile "t_$utype item_t_$utype;"
+}
+
+# Now emit all pairs.
+foreach type $typelist {
+    set utype [join [split $type] _]
+    foreach inner $typelist {
+	set uinner [join [split $inner] _]
+	puts $outfile "align_pair<$type, $inner> item_${utype}_x_${uinner};"
+	puts $outfile "unsigned a_${utype}_x_${uinner}"
+	puts $outfile "  = alignof (align_pair<$type, $inner>);"
+
+	puts $outfile "align_union<$type, $inner> item_${utype}_u_${uinner};"
+	puts $outfile "unsigned a_${utype}_u_${uinner}"
+	puts $outfile "  = alignof (align_union<$type, $inner>);"
+    }
+}
+
+# Epilogue.
+puts $outfile {
+    int main() {
+	return 0;
+    }
+}
+
+close $outfile
+
+standard_testfile $filename
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
+	 {debug nowarnings c++ additional_flags=-std=c++11}]} {
+    return -1
+}
+
+if {![runto_main]} {
+    perror "test suppressed"
+    return
+}
+
+proc maybe_xfail {type} {
+    # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69560
+    # The g++ implementation of alignof is changing to match C11.
+    if {[is_x86_like_target]
+	&& [test_compiler_info {gcc-[0-8]-*}]
+	&& ($type == "double" || $type == "long long"
+	    || $type == "unsigned long long")} {
+	setup_xfail *-*-*
+    }
+}
+
+foreach type $typelist {
+    set utype [join [split $type] _]
+    set expected [get_integer_valueof a_$utype 0]
+
+    maybe_xfail $type
+    gdb_test "print alignof($type)" " = $expected"
+
+    maybe_xfail $type
+    gdb_test "print alignof(t_$utype)" " = $expected"
+
+    maybe_xfail $type
+    gdb_test "print alignof(typeof(item_$utype))" " = $expected"
+
+    foreach inner $typelist {
+	set uinner [join [split $inner] _]
+	set expected [get_integer_valueof a_${utype}_x_${uinner} 0]
+	gdb_test "print alignof(align_pair<${type},${inner}>)" " = $expected"
+
+	set expected [get_integer_valueof a_${utype}_u_${uinner} 0]
+	gdb_test "print alignof(align_union<${type},${inner}>)" " = $expected"
+    }
+}
+
+set expected [get_integer_valueof a_int3 0]
+gdb_test "print alignof(int\[3\])" " = $expected"
+set expected [get_integer_valueof a_void 0]
+gdb_test "print alignof(void)" " = $expected"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/cplusfuncs.exp ./gdb/testsuite/gdb.cp/cplusfuncs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/cplusfuncs.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cplusfuncs.exp	2018-07-10 02:06:13.000000000 +0000
@@ -292,7 +292,7 @@ proc info_func_regexp { name demangled }
     regsub {\\\(void\\\)} $demangled {\(\)} demangled
 
     gdb_test "info function $name" \
-	"File .*:\r\n(class|)${demangled}.*" \
+	"File .*:\t(class|)${demangled}.*" \
 	"info function for \"$name\""
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/cp-relocate.exp ./gdb/testsuite/gdb.cp/cp-relocate.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/cp-relocate.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cp-relocate.exp	2018-07-10 02:06:13.000000000 +0000
@@ -56,11 +56,11 @@ gdb_file_cmd ${binfile}
 set func1_name ""
 set func2_name ""
 gdb_test_multiple "info functions func<.>" "info functions" {
-    -re "\r\nint (\[^\r\]*func<1>\[^\r]*);" {
+    -re "\tint (\[^\r\]*func<1>\[^\r]*);" {
 	set func1_name $expect_out(1,string)
 	exp_continue
     }
-    -re "\r\nint (\[^\r\]*func<2>\[^\r]*);" {
+    -re "\tint (\[^\r\]*func<2>\[^\r]*);" {
 	set func2_name $expect_out(1,string)
 	exp_continue
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/filename.cc ./gdb/testsuite/gdb.cp/filename.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/filename.cc	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/filename.cc	2018-07-10 02:06:13.000000000 +0000
@@ -26,11 +26,31 @@ public:
   }
 
   void m() {
-    /* stop here */
+    /* stop inside C */
   }
 };
 
+class D {
+public:
+  int includefile();
+
+  void m() {
+    /* stop inside D */
+  }
+};
+
+int D::includefile() {
+  return 24;
+}
+
 int main() {
   C c;
+  C* pc = &c;
   c.m();
+
+  D d;
+  D* pd = &d;
+  d.m();
+
+  /* stop outside */
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/filename.exp ./gdb/testsuite/gdb.cp/filename.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/filename.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/filename.exp	2018-07-10 02:06:13.000000000 +0000
@@ -26,8 +26,24 @@ if ![runto_main] then {
     continue
 }
 
-gdb_breakpoint [gdb_get_line_number "stop here"]
-gdb_continue_to_breakpoint "stop here"
+gdb_breakpoint [gdb_get_line_number "stop inside C"]
+gdb_continue_to_breakpoint "stop inside C"
 
 gdb_test "print includefile\[0\]" " = 23"
+gdb_test "print this->includefile\[0\]" " = 23"
 gdb_test "print 'includefile'::some_global" " = 27"
+
+gdb_breakpoint [gdb_get_line_number "stop inside D"]
+gdb_continue_to_breakpoint "stop inside D"
+
+gdb_test "print includefile()" " = 24"
+gdb_test "print this->includefile()" " = 24"
+gdb_test "print 'includefile'::some_global" " = 27"
+
+gdb_breakpoint [gdb_get_line_number "stop outside"]
+gdb_continue_to_breakpoint "stop outside"
+
+gdb_test "print c.includefile\[0\]" " = 23"
+gdb_test "print pc->includefile\[0\]" " = 23"
+gdb_test "print d.includefile()" " = 24"
+gdb_test "print pd->includefile()" " = 24"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/m-static.exp ./gdb/testsuite/gdb.cp/m-static.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/m-static.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/m-static.exp	2018-07-10 02:06:13.000000000 +0000
@@ -165,6 +165,8 @@ if {[test_compiler_info {gcc-[0-3]-*}]
     setup_xfail *-*-*
 }
 gdb_test "print test4.nowhere" "<optimized out>" "static const int initialized nowhere (print field)"
+gdb_test "ptype test4.nowhere" "type = const int"
+gdb_test "print test4.nowhere.nowhere" "Attempt to extract a component of a value that is not a structure."
 
 # Same, but print the whole struct.
 gdb_test "print test4" "static nowhere = <optimized out>.*" "static const int initialized nowhere (whole struct)"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/namespace.exp ./gdb/testsuite/gdb.cp/namespace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/namespace.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/namespace.exp	2018-07-10 02:06:13.000000000 +0000
@@ -95,10 +95,10 @@ gdb_test_multiple "ptype ina" "ptype ina
 
 setup_xfail hppa*-*-*11* CLLbs14869
 gdb_test_multiple "info func xyzq" "info func xyzq" {
-    -re "All functions.*File.*namespace.cc:\r\nint AAA::A_xyzq\\(int\\);\r\nint BBB::B_xyzq\\(int\\);\r\nchar AAA::xyzq\\(char\\);\r\nchar BBB::xyzq\\(char\\);\r\nchar BBB::CCC::xyzq\\(char\\);\r\nchar BBB::Class::xyzq\\(char\\);\r\n$gdb_prompt $" {
+    -re "All functions.*File.*namespace.cc:\r\n.*\tint AAA::A_xyzq\\(int\\);\r\n.*\tint BBB::B_xyzq\\(int\\);\r\n.*\tchar AAA::xyzq\\(char\\);\r\n.*\tchar BBB::xyzq\\(char\\);\r\n.*\tchar BBB::CCC::xyzq\\(char\\);\r\n.*\tchar BBB::Class::xyzq\\(char\\);\r\n$gdb_prompt $" {
 	pass "info func xyzq"
     }    
-    -re "All functions.*File.*namespace.cc:\r\nint AAA::A_xyzq\\(int\\);\r\nchar AAA::xyzq\\(char\\);\r\nint BBB::B_xyzq\\(int\\);\r\nchar BBB::CCC::xyzq\\(char\\);\r\nchar BBB::Class::xyzq\\(char\\);\r\nchar BBB::xyzq\\(char\\);\r\n$gdb_prompt $" {
+    -re "All functions.*File.*namespace.cc:\r\n.*\tint AAA::A_xyzq\\(int\\);\r\n.*\tchar AAA::xyzq\\(char\\);\r\n.*\tint BBB::B_xyzq\\(int\\);\r\n.*\tchar BBB::CCC::xyzq\\(char\\);\r\n.*\tchar BBB::Class::xyzq\\(char\\);\r\n.*\tchar BBB::xyzq\\(char\\);\r\n$gdb_prompt $" {
 	pass "info func xyzq"
     }    
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/static-print-quit.exp ./gdb/testsuite/gdb.cp/static-print-quit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/static-print-quit.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/static-print-quit.exp	2018-07-10 02:06:13.000000000 +0000
@@ -29,10 +29,10 @@ gdb_test_no_output "set height 2"
 
 set test "print c - <return>"
 gdb_test_multiple "print c" $test {
-    -re "\\$\[0-9\]+ = \{loooooooooooooooooooooooooooooooooooooooooooooong = 0, static field = \{\r\n---Type <return>" {
+    -re "\\$\[0-9\]+ = \{loooooooooooooooooooooooooooooooooooooooooooooong = 0, static field = \{\r\n--Type <RET>" {
 	pass $test
     }
-    -re "\r\n---Type <return>" {
+    -re "\r\n--Type <RET>" {
 	# gdb-7.1 did not crash with this testcase but it had the same bug.
 	untested "bug does not reproduce"
 	return 0
@@ -41,14 +41,14 @@ gdb_test_multiple "print c" $test {
 
 set test "print c - q <return>"
 gdb_test_multiple "" $test {
-    -re " to continue, or q <return>" {
+    -re " for more, q to quit, " {
 	pass $test
     }
 }
 
-set test "print c - to quit"
+set test "print c - remainder"
 gdb_test_multiple "" $test {
-    -re " to quit---$" {
+    -re "c to continue without paging--$" {
 	pass $test
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/static-typedef-print.cc ./gdb/testsuite/gdb.cp/static-typedef-print.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/static-typedef-print.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/static-typedef-print.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,34 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+class A {
+    typedef A type;
+public:
+    bool operator==(const type& other) { return true; }
+
+    static const type INSTANCE;
+};
+
+const A A::INSTANCE = {};
+
+int main() {
+    A a;
+    if (a == A::INSTANCE) {
+        return -1;
+    }
+    return 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.1.0.20180703/gdb/testsuite/gdb.cp/static-typedef-print.exp ./gdb/testsuite/gdb.cp/static-typedef-print.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/static-typedef-print.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/static-typedef-print.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,37 @@
+# Copyright 2018 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/>.
+
+if { [skip_cplus_tests] } { continue }
+
+standard_testfile .cc
+
+if [get_compiler_info "c++"] {
+    return -1
+}
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} {
+    return -1
+}
+
+clean_restart $testfile
+
+if ![runto_main] {
+    untested "could not run to main"
+    return -1
+}
+
+gdb_test "print a" \
+         "static INSTANCE = <same as static member of an already seen type>}}.*" \
+         "print static member"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/subtypes-2.cc ./gdb/testsuite/gdb.cp/subtypes-2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/subtypes-2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/subtypes-2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,30 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+#include "subtypes.h"
+
+struct Outer::Inner
+{
+  int doit () { return 1; }
+  struct InnerInner {} p;
+  int a;
+};
+
+Outer::Outer (): p (new Inner), e (Oenum::OC)
+{
+  p->a = p->doit ();
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/subtypes.cc ./gdb/testsuite/gdb.cp/subtypes.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/subtypes.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/subtypes.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,42 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+#include "subtypes.h"
+
+int
+main (int argc, char *argv[])
+{
+  struct Foo
+  {
+    int doit (void) { return 1111; }
+  } foo;
+
+  struct Bar
+  {
+    int doit (void) { return 2222; }
+  } bar;
+
+  struct Baz
+  {
+    int doit (void) { return 3333; }
+  } baz;
+  Outer o;
+  o.e = Outer::Oenum::OA;
+
+  return foo.doit () + bar.doit () + baz.doit () + foobar<int> (6)
+    + foobar<char> ('c');
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/subtypes.exp ./gdb/testsuite/gdb.cp/subtypes.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/subtypes.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/subtypes.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,52 @@
+# Copyright 2018 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 for subtype definitions, i.e., types defined in classes, functions,
+# etc.
+
+if {[skip_cplus_tests]} { continue }
+
+load_lib "cp-support.exp"
+
+standard_testfile .cc subtypes-2.cc
+
+if {[prepare_for_testing "failed to prepare" $testfile \
+	 [list $srcfile $srcfile2] {debug c++}]} {
+    return -1
+}
+
+gdb_test "ptype Outer::Inner::InnerInner" \
+    "type = struct Outer::Inner::InnerInner.*"
+gdb_test "ptype Outer::Inner" "type = struct Outer::Inner.*"
+gdb_test "ptype main::Foo" "type = struct Foo.*"
+gdb_test "ptype main::Bar" "type = struct Bar.*"
+gdb_test "ptype main::Baz" "type = struct Baz.*"
+gdb_test "ptype Outer::Oenum" "type = enum class Outer::Oenum.*"
+gdb_test "ptype foobar<int>::Foo" "type = struct Foo.*"
+gdb_test "ptype foobar<int>::Bar" "type = struct Bar.*"
+gdb_test "ptype foobar<int>::Baz" "type = struct Baz.*"
+gdb_test "ptype foobar<char>::Foo" "type = struct Foo.*"
+gdb_test "ptype foobar<char>::Bar" "type = struct Bar.*"
+gdb_test "ptype foobar<char>::Baz" "type = struct Baz.*"
+gdb_breakpoint "Outer::Inner::doit" message
+gdb_breakpoint "main::Foo::doit" message
+gdb_breakpoint "main::Bar::doit" message
+gdb_breakpoint "main::Baz::doit" message
+gdb_breakpoint "foobar<int>(int)::Foo::doit" message
+gdb_breakpoint "foobar<int>(int)::Bar::doit" message
+gdb_breakpoint "foobar<int>(int)::Baz::doit" message
+gdb_breakpoint "foobar<char>(int)::Foo::doit" message
+gdb_breakpoint "foobar<char>(int)::Bar::doit" message
+gdb_breakpoint "foobar<char>(int)::Baz::doit" message
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/subtypes.h ./gdb/testsuite/gdb.cp/subtypes.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/subtypes.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/subtypes.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,50 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+/* A template that defines subtypes.  */
+
+template <typename T>
+T foobar (int arg)
+{
+  struct Foo
+  {
+    T doit (void) { return 1; }
+  } foo;
+
+  struct Bar
+  {
+    T doit (void) { return 2; }
+  } bar;
+
+  struct Baz
+  {
+    T doit (void) { return 3; }
+  } baz;
+
+  return arg - foo.doit () - bar.doit () - baz.doit ();
+}
+
+/* A structure that defines other types.  */
+
+struct Outer
+{
+  enum class Oenum { OA, OB, OC, OD };
+  struct Inner;
+  Inner *p;
+  Oenum e;
+  Outer ();
+};
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/typedef-base.cc ./gdb/testsuite/gdb.cp/typedef-base.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/typedef-base.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/typedef-base.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,30 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+typedef struct {
+  int x;
+} A;
+
+struct C : A {
+  int y;
+};
+
+int main()
+{
+  C c;
+  return 55;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/typedef-base.exp ./gdb/testsuite/gdb.cp/typedef-base.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/typedef-base.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/typedef-base.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,39 @@
+# Copyright 2018 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/>.
+#
+# Make sure that inheritance through a typedef is well handled.
+
+if { [skip_cplus_tests] } { continue }
+
+standard_testfile .cc
+
+if [get_compiler_info "c++"] {
+    return -1
+}
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} {
+    return -1
+}
+
+clean_restart $testfile
+
+if ![runto_main] {
+    untested "could not run to main"
+    return -1
+}
+
+gdb_test "ptype C::x" \
+         "type = int" \
+         "ptype typedef base struct member"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/typeid.exp ./gdb/testsuite/gdb.cp/typeid.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/typeid.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/typeid.exp	2018-07-10 02:06:13.000000000 +0000
@@ -27,7 +27,7 @@ proc do_typeid_tests {started} {
     global hex
 
     # We might see the standard type or gdb's internal type.
-    set type_re "(std::type_info|struct gdb_gnu_v3_type_info)"
+    set type_re "(std::type_info|gdb_gnu_v3_type_info)"
 
 
     foreach simple_var {i cp ccp ca b} {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/watch-cp.cc ./gdb/testsuite/gdb.cp/watch-cp.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/watch-cp.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/watch-cp.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,28 @@
+/* Copyright 2018 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/>.  */
+
+/* A class that does not have RTTI and is small enough to fit in a
+   hardware watchpoint on all targets.  */
+class smallstuff { public: int n; };
+
+smallstuff watchme[5];
+
+int
+main ()
+{
+  for (int i = 0; i < sizeof (watchme) / sizeof (watchme[0]); i++)
+    watchme[i].n = i;
+  return 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.1.0.20180703/gdb/testsuite/gdb.cp/watch-cp.exp ./gdb/testsuite/gdb.cp/watch-cp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.cp/watch-cp.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/watch-cp.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,35 @@
+# Copyright 2018 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/>.
+
+if { [skip_cplus_tests] || [skip_hw_watchpoint_tests]} { continue }
+
+standard_testfile .cc
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} {
+    return -1
+}
+
+if ![runto_main] then {
+    perror "couldn't run to main"
+    continue
+}
+
+gdb_test "watch watchme\[3\]" "atchpoint .*: watchme.*" "set watchpoint"
+
+# Verify that a hardware watchpoint is used.
+gdb_test "info watchpoints" " hw watchpoint .* watchme.*"
+
+# Now see whether it actually works.
+gdb_test "continue" "Hardware watchpoint .*New value = \\{n = 3\\}.*"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dlang/watch-loc.c ./gdb/testsuite/gdb.dlang/watch-loc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dlang/watch-loc.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.dlang/watch-loc.c	2018-07-10 02:06:13.000000000 +0000
@@ -38,7 +38,7 @@ main (void)
    generated by GCC.  (.gdb_index includes a gdb-generated map
    instead.)  */
 asm (
-"	.pushsection	.debug_aranges,\"\",@progbits \n"
+"	.pushsection	.debug_aranges,\"\",%progbits \n"
 "	.4byte	.Laranges_end - .Laranges_start \n"	// Length of Address Ranges Info
 ".Laranges_start: \n"
 "	.2byte	0x2 \n"	// DWARF Version
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/dw2-align.exp ./gdb/testsuite/gdb.dwarf2/dw2-align.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/dw2-align.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-align.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,83 @@
+# Copyright 2018 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/>.
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+if {![dwarf2_support]} {
+    return 0
+}
+
+standard_testfile main.c align-dw.S
+
+# Make some DWARF for the test.
+
+set asm_file [standard_output_file $srcfile2]
+Dwarf::assemble $asm_file {
+    global srcdir subdir srcfile
+
+    cu {} {
+	DW_TAG_compile_unit {
+                {DW_AT_language @DW_LANG_C_plus_plus}
+                {DW_AT_name     dw2-align.c}
+                {DW_AT_comp_dir /tmp}
+        } {
+	    declare_labels itype ptype
+
+            itype: DW_TAG_base_type {
+                {DW_AT_byte_size 4 DW_FORM_sdata}
+                {DW_AT_encoding  @DW_ATE_signed}
+                {DW_AT_name int_4096}
+		{DW_AT_alignment 4096 DW_FORM_sdata}
+            }
+
+            ptype: DW_TAG_pointer_type {
+                {DW_AT_byte_size 8 DW_FORM_sdata}
+                {DW_AT_type :$itype}
+		{DW_AT_alignment 4096 DW_FORM_sdata}
+            }
+
+            DW_TAG_typedef {
+                {DW_AT_name ptr_4096}
+                {DW_AT_type :$ptype}
+            }
+
+	    DW_TAG_structure_type {
+		{DW_AT_name "struct_4096"}
+		{DW_AT_byte_size 4096 DW_FORM_sdata}
+		{DW_AT_alignment 4096 DW_FORM_udata}
+	    } {
+		member {
+		    {name a}
+		    {type :$itype}
+		    {data_member_location 0 data1}
+		}
+	    }
+	}
+    }
+}
+
+if { [prepare_for_testing "failed to prepare" ${testfile} \
+	  [list $srcfile $asm_file] {nodebug}] } {
+    return -1
+}
+
+if ![runto_main] {
+    return -1
+}
+
+gdb_test_no_output "set lang c++"
+gdb_test "print alignof(int_4096)" " = 4096"
+gdb_test "print alignof(ptr_4096)" " = 4096"
+gdb_test "print alignof(struct_4096)" " = 4096"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp ./gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp	2018-07-10 02:06:13.000000000 +0000
@@ -43,7 +43,7 @@ gdb_test "set case-sensitive off" {warni
 
 # The dot-leading symbol is for ppc64 function descriptors.
 gdb_test "info functions fUnC_lang" \
-	 "All functions matching regular expression \"fUnC_lang\":\[\r\n\]+File file1.txt:\r\nfoo FUNC_lang\\(void\\);(\r\n\r\nNon-debugging symbols:\r\n0x\[0-9a-f\]+ +\\.FUNC_lang)?" \
+	 "All functions matching regular expression \"fUnC_lang\":\[\r\n\]+File file1.txt:\r\n\tfoo FUNC_lang\\(void\\);(\r\n\r\nNon-debugging symbols:\r\n0x\[0-9a-f\]+ +\\.FUNC_lang)?" \
 	 "regexp case-sensitive off"
 
 gdb_test "p fuNC_lang" { = {foo \(void\)} 0x[0-9a-f]+ <FUNC_lang>}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/dw2-error.exp ./gdb/testsuite/gdb.dwarf2/dw2-error.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/dw2-error.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-error.exp	2018-07-10 02:06:13.000000000 +0000
@@ -41,7 +41,7 @@ gdb_test_no_output "set breakpoint pendi
 
 # First test that reading symbols fails.
 gdb_test "file $binfile" \
-    {Reading symbols.*Dwarf Error: wrong unit_type in compilation unit header \(is 0, should be 1 or 2\).*} \
+    {Reading symbols.*Dwarf Error: wrong version in compilation unit header \(is 153, should be 2, 3, 4 or 5\).*} \
     "file $testfile"
 
 # Now check that we can still break given the minimal symbol.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/implptr.exp ./gdb/testsuite/gdb.dwarf2/implptr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/implptr.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/implptr.exp	2018-07-10 02:06:13.000000000 +0000
@@ -66,9 +66,13 @@ proc implptr_test_baz {} {
     gdb_test "break implptr.c:$line" "Breakpoint 3.*" \
 	"set baz breakpoint for implptr"
     gdb_continue_to_breakpoint "continue to baz breakpoint for implptr"
+
+    # We are breaking in an inlined function.  GDB should appear to
+    # have stopped "in" the inlined function.
+    gdb_test "up" "#1  foo .*"
     gdb_test {p p[0].y} " = 92" "sanity check element 0"
     gdb_test {p p[1].y} " = 46" "sanity check element 1"
-    gdb_test "step" "\r\nadd \\(.*" "enter the inlined function"
+    gdb_test "down" "#0  add .*"
     gdb_test "p a->y" " = 92" "check element 0 for the offset"
     gdb_test "p b->y" " = 46" "check element 1 for the offset"
     gdb_continue_to_breakpoint "ignore the second baz breakpoint"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp ./gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp	2018-07-10 02:06:13.000000000 +0000
@@ -38,4 +38,5 @@ gdb_test "show cp-abi" {The currently se
 
 gdb_load ${binfile}
 
+gdb_test_no_output "set language c++"
 gdb_test "ptype c" "type = struct C {\[\r\n \t\]*private:\[\r\n \t\]*int \\(C::\\*fp\\)\\(C \\*( const)?\\);\[\r\n \t\]*}"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/method-ptr.exp ./gdb/testsuite/gdb.dwarf2/method-ptr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/method-ptr.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/method-ptr.exp	2018-07-10 02:06:13.000000000 +0000
@@ -82,5 +82,6 @@ if { [prepare_for_testing "failed to pre
     return -1
 }
 
+gdb_test_no_output "set language c++"
 gdb_test "ptype the_typedef" \
     "type = int \\(S::\\*\\)\\(S \\* const, float\\)"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/variant.c ./gdb/testsuite/gdb.dwarf2/variant.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/variant.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/variant.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,47 @@
+/* Copyright 2018 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/>.  */
+
+unsigned char buffer[8];
+unsigned char buffer2[8];
+
+static void
+func (void)
+{
+}
+
+int
+main (void)
+{
+  /* Write the expected values into the buffer.  */
+  unsigned int x = 23;
+  if (*(char *) &x)
+    {
+      /* Little endian.  */
+      buffer[0] = 23;
+      buffer[4] = 23;
+      buffer2[0] = 255;
+      buffer2[4] = 23;
+    }
+  else
+    {
+      buffer[3] = 23;
+      buffer[7] = 23;
+      buffer2[0] = 255;
+      buffer2[7] = 23;
+    }
+
+  func ();
+  return 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.1.0.20180703/gdb/testsuite/gdb.dwarf2/variant.exp ./gdb/testsuite/gdb.dwarf2/variant.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.dwarf2/variant.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/variant.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,224 @@
+# Copyright 2018 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 DW_TAG_variant_part and DW_TAG_variant.
+
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use
+# gas.
+if {![dwarf2_support]} {
+    return 0
+}
+
+standard_testfile .c variant.S
+
+# Make some DWARF for the test.
+set asm_file [standard_output_file $srcfile2]
+Dwarf::assemble $asm_file {
+    upvar cu_lang cu_lang
+
+    declare_labels uinteger_label float_label int8_label
+    declare_labels discr_1_label discr_2_label discr_3_label
+    declare_labels one_label two_label
+
+    # Creating a CU with 4-byte addresses lets this test link on
+    # both 32- and 64-bit machines.
+    cu { addr_size 4 } {
+	compile_unit {
+	    {name file1.txt}
+	    {language @DW_LANG_Rust}
+	} {
+            uinteger_label: DW_TAG_base_type {
+                {DW_AT_byte_size 4 DW_FORM_sdata}
+                {DW_AT_encoding  @DW_ATE_unsigned}
+                {DW_AT_name      {unsigned integer}}
+            }
+
+            int8_label: DW_TAG_base_type {
+                {DW_AT_byte_size 1 DW_FORM_sdata}
+                {DW_AT_encoding  @DW_ATE_signed}
+                {DW_AT_name      i8}
+            }
+
+	    float_label: base_type {
+		{name float}
+		{encoding @DW_ATE_float}
+		{byte_size 4 DW_FORM_sdata}
+	    }
+
+	    one_label: structure_type {
+		{name One}
+		{byte_size 4 DW_FORM_sdata}
+	    } {
+		member {
+		    {name __0}
+		    {type :$uinteger_label}
+		    {data_member_location 0 data1}
+		}
+	    }
+
+	    two_label: structure_type {
+		{name Two}
+		{byte_size 4 DW_FORM_sdata}
+	    } {
+		member {
+		    {name __0}
+		    {type :$float_label}
+		    {data_member_location 0 data1}
+		}
+	    }
+
+	    structure_type {
+		{name Simple}
+		{byte_size 8 DW_FORM_sdata}
+	    } {
+		variant_part {
+		    {discr :$discr_1_label DW_FORM_ref4}
+		} {
+		    discr_1_label: member {
+			{type :$uinteger_label}
+			{data_member_location 0 data1}
+		    }
+
+		    variant {
+			{discr_value 23 udata}
+		    } {
+			member {
+			    {type :$one_label}
+			    {data_member_location 4 data1}
+			}
+		    }
+
+		    variant {
+			{discr_value 1 udata}
+		    } {
+			member {
+			    {type :$two_label}
+			    {data_member_location 4 data1}
+			}
+		    }
+		}
+	    }
+
+	    structure_type {
+		{name Defaulted}
+		{byte_size 8 DW_FORM_sdata}
+	    } {
+		variant_part {
+		    {discr :$discr_2_label DW_FORM_ref4}
+		} {
+		    discr_2_label: member {
+			{type :$uinteger_label}
+			{data_member_location 0 data1}
+		    }
+
+		    variant {
+		    } {
+			member {
+			    {type :$one_label}
+			    {data_member_location 4 data1}
+			}
+		    }
+
+		    variant {
+			{discr_value 1 udata}
+		    } {
+			member {
+			    {type :$two_label}
+			    {data_member_location 4 data1}
+			}
+		    }
+		}
+	    }
+
+	    structure_type {
+		{name Univariant}
+		{byte_size 8 DW_FORM_sdata}
+	    } {
+		variant_part {
+		} {
+		    variant {
+		    } {
+			member {
+			    {type :$one_label}
+			    {data_member_location 4 data1}
+			}
+		    }
+		}
+	    }
+
+	    # Rust won't emit a negative discriminant like this, but
+	    # we want to test the code path anyway.
+	    structure_type {
+		{name Negative}
+		{byte_size 8 DW_FORM_sdata}
+	    } {
+		variant_part {
+		    {discr :$discr_3_label DW_FORM_ref4}
+		} {
+		    discr_3_label: member {
+			{type :$int8_label}
+			{data_member_location 0 data1}
+		    }
+
+		    variant {
+			{discr_value -1 sdata}
+		    } {
+			member {
+			    {type :$one_label}
+			    {data_member_location 4 data1}
+			}
+		    }
+
+		    # Make this the default value so we'll see an
+		    # incorrect result if we mishandle signed
+		    # discriminants.
+		    variant {
+		    } {
+			member {
+			    {type :$two_label}
+			    {data_member_location 4 data1}
+			}
+		    }
+		}
+	    }
+	}
+    }
+}
+
+if { [prepare_for_testing "failed to prepare" ${testfile} \
+	  [list $srcfile $asm_file] debug] } {
+    return -1
+}
+
+if ![runto func] {
+    return -1
+}
+
+# Get the values into history so we can use it from Rust.
+gdb_test "print (void *) buffer" "\\\$1 = .void .. $hex .buffer."
+gdb_test "print (void *) buffer2" "\\\$2 = .void .. $hex .buffer2."
+
+gdb_test "set language rust"
+gdb_test "print *(\$1 as *mut Simple)" " = One\\(23\\)" \
+    "print as Simple"
+gdb_test "print *(\$1 as *mut Defaulted)" " = One\\(23\\)" \
+    "print as Defaulted"
+gdb_test "print *(\$1 as *mut Univariant)" " = One\\(23\\)" \
+    "print as Univariant"
+
+gdb_test "print *(\$2 as *mut Negative)" " = One\\(23\\)" \
+    "print as Negative"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.gdb/complaints.exp ./gdb/testsuite/gdb.gdb/complaints.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.gdb/complaints.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.gdb/complaints.exp	2018-07-10 02:06:13.000000000 +0000
@@ -57,79 +57,43 @@ proc test_initial_complaints { } {
     # Unsupress complaints
     gdb_test "set stop_whining = 2"
 
+    gdb_test_no_output "set var \$cstr = \"Register a complaint\""
+
     # Prime the system
     gdb_test_stdio \
-	"call complaint_internal (&symfile_complaints, \"Register a complaint\")" \
+	"call complaint_internal (\$cstr)" \
 	"During symbol reading, Register a complaint."
 
-    # Check that the complaint was inserted and where
-    gdb_test "print symfile_complaints->root->fmt" \
-	    ".\[0-9\]+ =.*\"Register a complaint\""
-
     # Re-issue the first message #1
     gdb_test_stdio \
-	"call complaint_internal (&symfile_complaints, symfile_complaints->root->fmt)" \
+	"call complaint_internal (\$cstr)" \
 	"During symbol reading, Register a complaint."
 
-    # Check that there is only one thing in the list.  How the boolean
-    # result is output depends on whether GDB is built as a C or C++
-    # program.
-    gdb_test "print symfile_complaints->root->next == &complaint_sentinel" \
-	    ".\[0-9\]+ = \(1|true\)" "list has one entry"
-
     # Add a second complaint, expect it
     gdb_test_stdio \
-	"call complaint_internal (&symfile_complaints, \"Testing! Testing! Testing!\")" \
+	"call complaint_internal (\"Testing! Testing! Testing!\")" \
 	"During symbol reading, Testing. Testing. Testing.."
 
     return 0
 }
 
-proc test_serial_complaints { } {
-    gdb_test_exact "call clear_complaints (&symfile_complaints, 1, 0)" "" "serial start"
-
-    # Prime the system
-    test_complaint \
-	"call complaint_internal (&symfile_complaints, \"serial line 1\")" \
-	"During symbol reading...serial line 1..." \
-	"serial line 1"
-
-    # Add a second complaint, expect it
-    test_complaint \
-	"call complaint_internal (&symfile_complaints, \"serial line 2\")" \
-	"serial line 2..." \
-	"serial line 2"
-
-    gdb_test_stdio "call clear_complaints (&symfile_complaints, 1, 0)" \
-	"\r\n" \
-	"" \
-	"serial end"
-
-    return 0
-}
-
 # For short complaints, all are the same
 
 proc test_short_complaints { } {
-    gdb_test_exact "call clear_complaints (&symfile_complaints, 1, 1)" "" "short start"
+    gdb_test_exact "call clear_complaints (1)" "" "short start"
 
     # Prime the system
     test_complaint \
-	"call complaint_internal (&symfile_complaints, \"short line 1\")" \
+	"call complaint_internal (\"short line 1\")" \
 	"short line 1..." \
 	"short line 1"
 
     # Add a second complaint, expect it
     test_complaint \
-	"call complaint_internal (&symfile_complaints, \"short line 2\")" \
+	"call complaint_internal (\"short line 2\")" \
 	"short line 2..." \
 	"short line 2"
 
-    gdb_test_stdio "call clear_complaints (&symfile_complaints, 1, 0)" \
-	"\r\n" \
-	"" \
-	"short end"
-
     return 0
 }
 
@@ -159,21 +123,16 @@ proc test_empty_complaint { cmd msg } {
 
 proc test_empty_complaints { } {
 
-    test_empty_complaint "call clear_complaints(&symfile_complaints,0,0)" \
-	    "empty non-verbose non-noisy clear"
-    test_empty_complaint "call clear_complaints(&symfile_complaints,1,0)" \
-	    "empty verbose non-noisy clear"
-    test_empty_complaint "call clear_complaints(&symfile_complaints,1,1)" \
-	    "empty verbose noisy clear"
-    test_empty_complaint "call clear_complaints(&symfile_complaints,0,1)" \
-	    "empty non-verbose noisy clear"
+    test_empty_complaint "call clear_complaints(0)" \
+	    "empty non-verbose clear"
+    test_empty_complaint "call clear_complaints(1)" \
+	    "empty verbose clear"
 
     return 0
 }
 
 do_self_tests captured_command_loop {
     test_initial_complaints
-    test_serial_complaints
     test_short_complaints
     test_empty_complaints
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.gdb/observer.exp ./gdb/testsuite/gdb.gdb/observer.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.gdb/observer.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.gdb/observer.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,143 +0,0 @@
-# Copyright 2003-2018 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/>.
-
-# This file was written by Joel Brobecker (brobecker@gnat.com), derived
-# from xfullpath.exp.
-
-load_lib selftest-support.exp
-
-proc attach_first_observer { message } {
-    gdb_test_no_output "set \$first_obs = observer_attach_test_notification (&observer_test_first_notification_function)" \
-	"$message; attach first observer"
-}
-
-proc attach_second_observer { message } {
-    gdb_test_no_output "set \$second_obs = observer_attach_test_notification (&observer_test_second_notification_function)" \
-	"$message; attach second observer"
-}
-
-proc attach_third_observer { message } {
-    gdb_test_no_output "set \$third_obs = observer_attach_test_notification (&observer_test_third_notification_function)" \
-	"$message; attach third observer"
-}
-
-proc detach_first_observer { message } {
-    gdb_test_no_output "call observer_detach_test_notification (\$first_obs)" \
-	"$message; detach first observer"
-}
-
-proc detach_second_observer { message } {
-    gdb_test_no_output "call observer_detach_test_notification (\$second_obs)" \
-	"$message; detach second observer"
-}
-
-proc detach_third_observer { message } {
-    gdb_test_no_output "call observer_detach_test_notification (\$third_obs)" \
-	"$message; detach third observer"
-}
-
-proc check_counters { first second third message } {
-    gdb_test "print observer_test_first_observer" \
-	".\[0-9\]+ =.*$first" \
-	"$message; check first observer counter value"
-    gdb_test "print observer_test_second_observer" \
-	".\[0-9\]+ =.*$second" \
-	"$message; check second observer counter value"
-    gdb_test "print observer_test_third_observer" \
-	".\[0-9\]+ =.*$third" \
-	"$message; check third observer counter value"
-}
-
-proc reset_counters { message } {
-    gdb_test_no_output "set variable observer_test_first_observer = 0" \
-	"$message; reset first observer counter"
-    gdb_test_no_output "set variable observer_test_second_observer = 0" \
-	"$message; reset second observer counter"
-    gdb_test_no_output "set variable observer_test_third_observer = 0" \
-	"$message; reset third observer counter"
-}
-
-proc test_notifications { first second third message args } {
-    # Do any initialization
-    for {set i 0} {$i < [llength $args]} {incr i} {
-	[lindex $args $i] $message
-    }
-    reset_counters $message
-    # Call observer_notify_test_notification.  Note that this procedure
-    # takes one argument, but this argument is ignored by the observer
-    # callbacks we have installed.  So we just pass an arbitrary value.
-    gdb_test_no_output "call observer_notify_test_notification (0)" \
-	"$message; sending notification"
-    check_counters $first $second $third $message
-}
-
-proc test_observer {} {
-    # First, try sending a notification without any observer attached.
-    test_notifications 0 0 0 "no observer attached"
-
-    # Now, attach one observer, and send a notification.
-    test_notifications 0 1 0 "second observer attached" \
-	attach_second_observer
-
-    # Remove the observer, and send a notification.
-    test_notifications 0 0 0 "second observer detached" \
-	detach_second_observer
-
-    # With a new observer.
-    test_notifications 1 0 0 "1st observer added" \
-	attach_first_observer
-
-    # With 2 observers.
-    test_notifications 1 1 0 "2nd observer added" \
-	attach_second_observer
-
-    # With 3 observers.
-    test_notifications 1 1 1 "3rd observer added" \
-	attach_third_observer
-
-    # Remove middle observer.
-    test_notifications 1 0 1 "2nd observer removed" \
-	detach_second_observer
-
-    # Remove first observer.
-    test_notifications 0 0 1 "1st observer removed" \
-	detach_first_observer
-
-    # Remove last observer.
-    test_notifications 0 0 0 "3rd observer removed" \
-	detach_third_observer
-
-    # Go back to 3 observers, and remove them in a different order...
-    test_notifications 1 1 1 "three observers added" \
-	attach_first_observer \
-	attach_second_observer \
-	attach_third_observer 
-
-    # Remove the third observer.
-    test_notifications 1 1 0 "third observer removed" \
-	detach_third_observer
-
-    # Remove the second observer.
-    test_notifications 1 0 0 "second observer removed" \
-	detach_second_observer
-
-    # Remove the first observer, no more observers.
-    test_notifications 0 0 0 "first observer removed" \
-	detach_first_observer
-
-    return 0
-}
-
-do_self_tests captured_main test_observer
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.gdb/selftest.exp ./gdb/testsuite/gdb.gdb/selftest.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.gdb/selftest.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.gdb/selftest.exp	2018-07-10 02:06:13.000000000 +0000
@@ -63,10 +63,19 @@ proc test_with_self { } {
 	# Wait a bit while the inferior gdb gets to its prompt.
 	sleep 1
     } else {
+	set banner [multi_line \
+			"GNU gdb \[0-9\.\]*\[^\r\n\]*" \
+			"Copyright \\(C\\) \[0-9\]* Free Software Foundation, Inc\." \
+			"License GPLv3\\+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>" \
+			"This is free software: you are free to change and redistribute it\." \
+			"There is NO WARRANTY, to the extent permitted by law\." \
+			"Type \"show copying\" and \"show warranty\" for details\." \
+			"This GDB was configured as .*" \
+			"$gdb_prompt $"]
 	set test "xgdb is at prompt"
 	gdb_test_multiple "continue" $test {
 	    -i "$inferior_spawn_id"
-	    -re "GNU gdb \[0-9\.\]*.*Copyright \\(C\\) \[0-9\]* Free Software Foundation, Inc.*License GPLv3\\+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.*This is free software: you are free to change and redistribute it.*There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\".*and \"show warranty\" for details.*This GDB was configured as .*$gdb_prompt $" {
+	    -re "$banner" {
 		pass $test
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/basics.c ./gdb/testsuite/gdb.mi/basics.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/basics.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/basics.c	2018-07-10 02:06:13.000000000 +0000
@@ -20,6 +20,8 @@
  *      on function calls.  Useful to test printing frames, stepping, etc.
  */
 
+unsigned long long global_zero = 0;
+
 int callee4 (void)
 {
   int A=1;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c ./gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c	2018-07-10 02:06:13.000000000 +0000
@@ -57,7 +57,7 @@ asm ("cu_text_end:");
    generated by GCC.  (.gdb_index includes a gdb-generated map
    instead.)  */
 asm (
-"	.pushsection	.debug_aranges,\"\",@progbits \n"
+"	.pushsection	.debug_aranges,\"\",%progbits \n"
 "	.4byte	.Laranges_end - .Laranges_start \n"	// Length of Address Ranges Info
 ".Laranges_start: \n"
 "	.2byte	0x2 \n"	// DWARF Version
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/list-thread-groups-no-inferior.exp ./gdb/testsuite/gdb.mi/list-thread-groups-no-inferior.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/list-thread-groups-no-inferior.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/list-thread-groups-no-inferior.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,47 @@
+# Copyright 2018 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/>.
+
+# The purpose of this test is to verify that GDB is able to handle
+# the "-list-thread-groups --available" command, even when there is
+# no inferior. In particular, we want to verify that GDB does not
+# crash.
+
+load_lib mi-support.exp
+set MIFLAGS "-i=mi"
+
+gdb_exit
+if [mi_gdb_start] {
+    continue
+}
+
+# Try the "-list-thread-groups --available".  This command can generate
+# a very large amount of output, potentially exceeding expect's buffer
+# size.  So we consume the output in chunks.
+
+set test "-list-thread-groups --available"
+gdb_test_multiple $test $test {
+    -re "\}" {
+        exp_continue
+    }
+    -re "\r\n$gdb_prompt " {
+        pass $test
+    }
+}
+
+# Verify that GDB is still alive.
+
+mi_gdb_test "-data-evaluate-expression 1" \
+            ".*\\^done,value=\"1\"" \
+            "GDB is still alive"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-break.exp ./gdb/testsuite/gdb.mi/mi-break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-break.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-break.exp	2018-07-10 02:06:13.000000000 +0000
@@ -49,7 +49,9 @@ set fullname "fullname=\"${fullname_synt
 proc test_tbreak_creation_and_listing {} {
     global srcfile
     global line_callee4_head
+    global line_callee4_body
     global line_callee3_head
+    global line_callee3_body
     global line_callee2_body
     global line_main_body
 
@@ -75,7 +77,7 @@ proc test_tbreak_creation_and_listing {}
     lappend bps [mi_create_breakpoint "-t basics.c:$line_callee3_head" \
 		     "insert temp breakpoint at basics.c:\$line_callee3_head" \
 		     -number 3 -disp del -func callee3 -file ".*basics.c" \
-		     -line $line_callee3_head]
+		     -line $line_callee3_body]
 
     # Getting the quoting right is tricky.
     # That is "\"<file>\":$line_callee4_head"
@@ -83,7 +85,7 @@ proc test_tbreak_creation_and_listing {}
 		     "-t \"\\\"${srcfile}\\\":$line_callee4_head\"" \
 		     "insert temp breakpoint at \"<fullfilename>\":\$line_callee4_head" \
 		     -number 4 -disp del -func callee4 -file ".*basics.c" \
-		     -line $line_callee4_head]
+		     -line $line_callee4_body]
 
     mi_gdb_test "666-break-list" \
 	"666\\\^done,[mi_make_breakpoint_table $bps]" \
@@ -319,6 +321,7 @@ proc test_breakpoint_commands {} {
 proc test_explicit_breakpoints {} {
     global srcfile
     global line_callee3_head line_callee4_head
+    global line_callee3_body line_callee4_body
     global line_callee2_body line_main_body
 
     mi_delete_breakpoints
@@ -349,13 +352,13 @@ proc test_explicit_breakpoints {} {
     lappend bps \
 	[mi_create_breakpoint "-t --source $srcfile --line $line_callee3_head" \
 	     "insert temp explicit breakpoint at $srcfile:$line_callee3_head" \
-	     -func callee3 -file ".*$srcfile" -line $line_callee3_head]
+	     -func callee3 -file ".*$srcfile" -line $line_callee3_body]
 
     lappend bps \
 	[mi_create_breakpoint \
 	     "-t --source \"$srcfile\" --line  $line_callee4_head" \
 	     "insert temp explicit breakpoint at \"$srcfile\":$line_callee4_head" \
-	     -func callee4 -file ".*$srcfile" -line $line_callee4_head]
+	     -func callee4 -file ".*$srcfile" -line $line_callee4_body]
 
     mi_gdb_test "-break-list" "\\^done,[mi_make_breakpoint_table $bps]" \
 	"list of explicit breakpoints"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-exec-run.exp ./gdb/testsuite/gdb.mi/mi-exec-run.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-exec-run.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-exec-run.exp	2018-07-10 02:06:13.000000000 +0000
@@ -28,7 +28,7 @@ set MIFLAGS "-i=mi"
 
 # The purpose of this testcase is to test the -exec-run command. If we
 # cannot use it, then there is no point in running this testcase.
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
      untested "cannot use -exec-run command"
      return -1
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-frame-regs.exp ./gdb/testsuite/gdb.mi/mi-frame-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-frame-regs.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-frame-regs.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,186 @@
+# Copyright 2018 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 essential Machine interface (MI) operations
+#
+# Verify that -var-update will provide the correct values for floating
+# and fixed varobjs that represent the pc register.
+#
+
+load_lib mi-support.exp
+set MIFLAGS "-i=mi"
+
+standard_testfile basics.c
+
+if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+		 executable {debug}] != "" } then {
+     untested mi-frame-regs.exp
+     return -1
+}
+
+# Return the address of the specified breakpoint.
+
+proc breakpoint_address {bpnum} {
+    global hex
+    global expect_out
+    global mi_gdb_prompt
+
+    send_gdb "info breakpoint $bpnum\n"
+    gdb_expect {
+	-re ".*($hex).*$mi_gdb_prompt$" {
+	    return $expect_out(1,string)
+	}
+	-re ".*$mi_gdb_prompt$" {
+	    unresolved "get address of breakpoint $bpnum"
+	    return ""
+	}
+	timeout {
+	    unresolved "get address of breakpoint $bpnum (timeout)"
+	    return ""
+	}
+    }
+}
+
+# Test that a floating varobj representing $pc will provide the
+# correct value via -var-update as the program stops at
+# breakpoints in different functions.
+
+proc_with_prefix do_floating_varobj_test {} {
+    global srcfile
+    global hex
+    global expect_out
+
+    gdb_exit
+    if {[mi_gdb_start]} then {
+	fail "couldn't start gdb"
+	return
+    }
+
+    mi_run_to_main
+
+    # Create a floating varobj for $pc.
+    mi_gdb_test "-var-create --thread 1 --frame 0 - @ \$pc" \
+	"\\^done,.*value=\"$hex.*" \
+	"create varobj for pc in frame 0"
+
+    set nframes 4
+    for {set i 1} {$i < $nframes} {incr i} {
+
+	# Run to a breakpoint in each callee function in succession.
+	# Note that we can't use mi_runto because we need the
+	# breakpoint to be persistent, so we can use its address.
+	set bpnum [expr $i + 1]
+	mi_create_breakpoint \
+	    "basics.c:callee$i" \
+	    "insert breakpoint at basics.c:callee$i" \
+	    -number $bpnum -func callee$i -file ".*basics.c"
+
+	mi_execute_to "exec-continue" "breakpoint-hit" \
+	    "callee$i" ".*" ".*${srcfile}" ".*" \
+	    { "" "disp=\"keep\"" } "breakpoint hit in callee$i"
+
+	# Get the value of $pc from the floating varobj.
+	mi_gdb_test "-var-update 1 var1" \
+	    "\\^done,.*value=\"($hex) .*" \
+	    "-var-update for frame $i"
+	set pcval $expect_out(3,string)
+
+	# Get the address of the current breakpoint.
+	set bpaddr [breakpoint_address $bpnum]
+	if {$bpaddr == ""} then { return }
+
+	# Check that the addresses are the same.
+	gdb_assert [expr $bpaddr == $pcval] "\$pc equals address of breakpoint in callee$i"
+    }
+}
+
+# Test that fixed varobjs representing $pc in different stack frames
+# will provide the correct value via -var-update after the program
+# counter changes (without substantially changing the stack).
+
+proc_with_prefix do_fixed_varobj_test {} {
+    global srcfile
+    global hex
+
+    gdb_exit
+    if {[mi_gdb_start]} then {
+	fail "couldn't start gdb"
+	return
+    }
+
+    mi_run_to_main
+
+    # Run to the function 'callee3' so we have several frames.
+    mi_create_breakpoint "basics.c:callee3" \
+	"insert breakpoint at basics.c:callee3" \
+	-number 2 -func callee3 -file ".*basics.c"
+
+    mi_execute_to "exec-continue" "breakpoint-hit" \
+	"callee3" ".*" ".*${srcfile}" ".*" \
+	{ "" "disp=\"keep\"" } "breakpoint hit in callee3"
+
+    # At the breakpoint in callee3 there are 4 frames.
+    #
+    # Create some varobj based on $pc in all frames.  When we single
+    # step we expect the varobj for frame 0 to change, while the
+    # varobj for all other frames should be unchanged.
+    #
+    # Track in FIRST_UNCHANGING_VARNUM the number of the first varobj
+    # that is not in frame 0, varobj with a lower number we expect to
+    # change, while this and later varobj should not change.
+    #
+    # Track the number of the next varobj to be created in VARNUM.
+    set first_unchanging_varnum 0
+    set varnum 1
+
+    for {set i 0} {$i < 4} {incr i} {
+
+	if { $i == 1 } then { set first_unchanging_varnum $varnum }
+
+	mi_gdb_test "-var-create --thread 1 --frame $i - \* \$pc" \
+	    "\\^done,.*value=\"$hex.*" \
+	    "create varobj for \$pc in frame $i"
+	incr varnum
+
+	mi_gdb_test "-var-create --thread 1 --frame $i - \* \"global_zero + \$pc\"" \
+	    "\\^done,.*value=\"$hex.*" \
+	    "create varobj for 'global_zero + \$pc' in frame $i"
+	incr varnum
+    }
+
+    # Step one instruction to change the program counter.
+    mi_execute_to "exec-next-instruction" "end-stepping-range" \
+	"callee3" ".*" ".*${srcfile}" ".*" "" \
+	"next instruction in callee3"
+
+    # Check that -var-update reports that the values are changed for
+    # varobj in frame 0.
+    for {set i 1} {$i < $first_unchanging_varnum} {incr i} {
+	mi_gdb_test "-var-update 1 var$i" \
+	    "\\^done,(changelist=\\\[\{name=\"var$i\"\[^\\\]\]+\\\])" \
+	    "varobj var$i has changed"
+    }
+
+    # Check that -var-update reports that the values are unchanged for
+    # varobj in frames other than 0.
+    for {set i $first_unchanging_varnum} {$i < $varnum} {incr i} {
+	mi_gdb_test "-var-update 1 var$i" \
+	    "\\^done,(changelist=\\\[\\\])" \
+	    "varobj var$i has not changed"
+    }
+}
+
+do_fixed_varobj_test
+do_floating_varobj_test
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-reverse.exp ./gdb/testsuite/gdb.mi/mi-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-reverse.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-reverse.exp	2018-07-10 02:06:13.000000000 +0000
@@ -153,7 +153,7 @@ proc test_controlled_execution_reverse {
     mi_create_breakpoint "-t basics.c:$line_callee3_head" \
 	"insert temp breakpoint at basics.c:$line_callee3_head" \
 	-number 3 -disp del -func callee3 -file ".*basics.c" \
-	-line $line_callee3_head
+	-line $line_callee3_body
 
     mi_execute_to "exec-continue --reverse" \
         "breakpoint-hit" "callee3" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-simplerun.exp ./gdb/testsuite/gdb.mi/mi-simplerun.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-simplerun.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-simplerun.exp	2018-07-10 02:06:13.000000000 +0000
@@ -78,13 +78,13 @@ proc test_breakpoints_creation_and_listi
     lappend bps [mi_create_breakpoint "basics.c:$line_callee3_head" \
 		     "insert breakpoint at basics.c:\$line_callee3_head" \
 		     -number 3 -func callee3 -file ".*basics.c" \
-		     -line $line_callee3_head]
+		     -line $line_callee3_body]
 
     lappend bps [mi_create_breakpoint \
 		     "\"\\\"${srcfile}\\\":$line_callee4_head\"" \
 		     "insert breakpoint at \"<fullfilename>\":\$line_callee4_head" \
 		     -number 4 -func callee4 -file ".*basics.c" \
-		     -line $line_callee4_head]
+		     -line $line_callee4_body]
 
     mi_gdb_test "204-break-list" \
 	"204\\^done,[mi_make_breakpoint_table $bps]" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-stack.c ./gdb/testsuite/gdb.mi/mi-stack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-stack.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-stack.c	2018-07-10 02:06:13.000000000 +0000
@@ -24,7 +24,7 @@
 
 int callee4 (void)
 {
-  int A=1;
+  int A=1; /* callee4 begin */
   int B=2;
   int C;
   int D[3] = {0, 1, 2};
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-stack.exp ./gdb/testsuite/gdb.mi/mi-stack.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-stack.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-stack.exp	2018-07-10 02:06:13.000000000 +0000
@@ -46,8 +46,8 @@ proc test_stack_frame_listing {} {
     global mi_gdb_prompt
     global hex fullname_syntax srcfile
 
-    set line_callee4_head [gdb_get_line_number "callee4 ("]
-    set line_callee4_body [expr $line_callee4_head + 2]
+    set callee4_begin [gdb_get_line_number "callee4 begin"]
+    mi_continue_to_line $callee4_begin "continue to callee4 begin"
 
     # Obtain a stack trace
     # Tests:
@@ -55,28 +55,27 @@ proc test_stack_frame_listing {} {
     # -stack-list-frames 1 1
     # -stack-list-frames 1 3
     # -stack-info-frame
-
     mi_gdb_test "231-stack-list-frames" \
-	    "231\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*${srcfile}\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_callee4_body\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\},frame=\{level=\"4\",addr=\"$hex\",func=\"main\",.*\}\\\]" \
-                "stack frame listing"
+	"231\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*${srcfile}\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$callee4_begin\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\},frame=\{level=\"4\",addr=\"$hex\",func=\"main\",.*\}\\\]" \
+	"stack frame listing"
     mi_gdb_test "232-stack-list-frames 1 1" \
-	    "232\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\}\\\]" \
-                "stack frame listing 1 1"
+	"232\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\}\\\]" \
+	"stack frame listing 1 1"
     mi_gdb_test "233-stack-list-frames 1 3" \
-	    "233\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\}\\\]" \
-                "stack frame listing 1 3"
+	"233\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\}\\\]" \
+	"stack frame listing 1 3"
 
     mi_gdb_test "234-stack-list-frames 1" \
-	    "234\\^error,msg=\"-stack-list-frames: Usage.*FRAME_LOW FRAME_HIGH.*\"" \
-	    "stack frame listing wrong"
+	"234\\^error,msg=\"-stack-list-frames: Usage.*FRAME_LOW FRAME_HIGH.*\"" \
+	"stack frame listing wrong"
 
     mi_gdb_test "235-stack-info-frame" \
-            "235\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*${srcfile}\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_callee4_body\"\}" \
-	       "selected frame listing"
+	"235\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*${srcfile}\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$callee4_begin\"\}" \
+	"selected frame listing"
 
     mi_gdb_test "236-stack-list-frames 1 300" \
-	    "236\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\}\\\]" \
-                "stack frame listing 1 300"
+	"236\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\}\\\]" \
+	"stack frame listing 1 300"
 }
 
 proc test_stack_args_listing {} {
@@ -94,36 +93,36 @@ proc test_stack_args_listing {} {
     # -stack-list-arguments 
 
     mi_gdb_test "231-stack-list-arguments 0" \
-	    "231\\^done,stack-args=\\\[frame=\{level=\"0\",args=\\\[\\\]\},frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\},frame=\{level=\"2\",args=\\\[name=\"intarg\",name=\"strarg\"\\\]\},frame=\{level=\"3\",args=\\\[name=\"intarg\",name=\"strarg\",name=\"fltarg\"\\\]\},frame=\{level=\"4\",args=\\\[\\\]\}\\\]" \
-                "stack args listing 0"
+	"231\\^done,stack-args=\\\[frame=\{level=\"0\",args=\\\[\\\]\},frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\},frame=\{level=\"2\",args=\\\[name=\"intarg\",name=\"strarg\"\\\]\},frame=\{level=\"3\",args=\\\[name=\"intarg\",name=\"strarg\",name=\"fltarg\"\\\]\},frame=\{level=\"4\",args=\\\[\\\]\}\\\]" \
+	"stack args listing 0"
 
     mi_gdb_test "232-stack-list-arguments 0 1 1" \
-	    "232\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\}\\\]" \
-                "stack args listing 0 1 1"
+	"232\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\}\\\]" \
+	"stack args listing 0 1 1"
 
     mi_gdb_test "233-stack-list-arguments 0 1 3" \
-	    "233\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\},frame=\{level=\"2\",args=\\\[name=\"intarg\",name=\"strarg\"\\\]\},frame=\{level=\"3\",args=\\\[name=\"intarg\",name=\"strarg\",name=\"fltarg\"\\\]\}\\\]" \
-                "stack args listing 0 1 3"
+	"233\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\},frame=\{level=\"2\",args=\\\[name=\"intarg\",name=\"strarg\"\\\]\},frame=\{level=\"3\",args=\\\[name=\"intarg\",name=\"strarg\",name=\"fltarg\"\\\]\}\\\]" \
+	"stack args listing 0 1 3"
 
     mi_gdb_test "231-stack-list-arguments 1" \
-	    "231\\^done,stack-args=\\\[frame=\{level=\"0\",args=\\\[\\\]\},frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"2\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"3\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\\\]\},frame=\{level=\"4\",args=\\\[\\\]\}\\\]" \
-                "stack args listing 1"
+	"231\\^done,stack-args=\\\[frame=\{level=\"0\",args=\\\[\\\]\},frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"2\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"3\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\\\]\},frame=\{level=\"4\",args=\\\[\\\]\}\\\]" \
+	"stack args listing 1"
 
     mi_gdb_test "232-stack-list-arguments 1 1 1" \
-	    "232\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\}\\\]" \
-                "stack args listing 1 1 1"
+	"232\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\}\\\]" \
+	"stack args listing 1 1 1"
 
     mi_gdb_test "233-stack-list-arguments --all-values 1 3" \
-	    "233\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"2\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"3\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\\\]\}\\\]" \
-                "stack args listing 1 1 3"
+	"233\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"2\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"3\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\\\]\}\\\]" \
+	"stack args listing 1 1 3"
 
     mi_gdb_test "234-stack-list-arguments" \
-	    "234\\^error,msg=\"-stack-list-arguments: Usage.*PRINT_VALUES.*FRAME_LOW FRAME_HIGH.*\"" \
-	    "stack args listing wrong"
+	"234\\^error,msg=\"-stack-list-arguments: Usage.*PRINT_VALUES.*FRAME_LOW FRAME_HIGH.*\"" \
+	"stack args listing wrong"
 
     mi_gdb_test "235-stack-list-arguments 1 1 300" \
-	    "235\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"2\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"3\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\\\]\},frame=\{level=\"4\",args=\\\[\\\]\}\\\]" \
-                "stack args listing 1 1 300"
+	"235\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"2\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"3\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\\\]\},frame=\{level=\"4\",args=\\\[\\\]\}\\\]" \
+	"stack args listing 1 1 300"
 }
 
 proc test_stack_info_depth {} {
@@ -137,20 +136,20 @@ proc test_stack_info_depth {} {
     # -stack-info-depth 99
 
     mi_gdb_test "231-stack-info-depth" \
-	    "231\\^done,depth=\"5\"" \
-                "stack info-depth"
+	"231\\^done,depth=\"5\"" \
+	"stack info-depth"
 
     mi_gdb_test "231-stack-info-depth 3" \
-	    "231\\^done,depth=\"3\"" \
-                "stack info-depth 3"
+	"231\\^done,depth=\"3\"" \
+	"stack info-depth 3"
 
     mi_gdb_test "231-stack-info-depth 99" \
-	    "231\\^done,depth=\"5\"" \
-                "stack info-depth 99"
+	"231\\^done,depth=\"5\"" \
+	"stack info-depth 99"
 
     mi_gdb_test "231-stack-info-depth 99 99" \
-	    "231\\^error,msg=\"-stack-info-depth: Usage: .MAX_DEPTH.\"" \
-                "stack info-depth wrong usage"
+	"231\\^error,msg=\"-stack-info-depth: Usage: .MAX_DEPTH.\"" \
+	"stack info-depth wrong usage"
 }
 
 proc test_stack_locals_listing {} {
@@ -165,38 +164,38 @@ proc test_stack_locals_listing {} {
     # -stack-list-arguments 
 
     mi_gdb_test "232-stack-list-locals 0" \
-  "232\\^done,locals=\\\[name=\"A\",name=\"B\",name=\"C\",name=\"D\"\\\]" \
-                "stack locals listing of names"
+	"232\\^done,locals=\\\[name=\"A\",name=\"B\",name=\"C\",name=\"D\"\\\]" \
+	"stack locals listing of names"
 
-set line_callee4_return_0 [gdb_get_line_number "return 0;"]
+    set line_callee4_return_0 [gdb_get_line_number "return 0;"]
 
-# step until A, B, C, D have some reasonable values.
-mi_execute_to "exec-next 4" "end-stepping-range" "callee4" "" ".*${srcfile}" $line_callee4_return_0 ""\
-    "next's in callee4"
+    # step until A, B, C, D have some reasonable values.
+    mi_execute_to "exec-next 4" "end-stepping-range" "callee4" "" ".*${srcfile}" $line_callee4_return_0 ""\
+	"next's in callee4"
 
     mi_gdb_test "232-stack-list-locals 1" \
-    "232\\^done,locals=\\\[\{name=\"A\",value=\"1\"\},\{name=\"B\",value=\"2\"\},\{name=\"C\",value=\"3\"\},\{name=\"D\",value=\"\\{0, 1, 2\\}\"\}\\\]" \
-                "stack locals listing of names and values"
+	"232\\^done,locals=\\\[\{name=\"A\",value=\"1\"\},\{name=\"B\",value=\"2\"\},\{name=\"C\",value=\"3\"\},\{name=\"D\",value=\"\\{0, 1, 2\\}\"\}\\\]" \
+	"stack locals listing of names and values"
 
     mi_gdb_test "232-stack-list-locals --simple-values" \
-	    "232\\^done,locals=\\\[\{name=\"A\",type=\"int\",value=\"1\"\},\{name=\"B\",type=\"int\",value=\"2\"\},\{name=\"C\",type=\"int\",value=\"3\"\},\{name=\"D\",type=\"int \\\[3\\\]\"\}\\\]" \
-  "stack locals listing, simple types: names and values, complex type: names and types"
+	"232\\^done,locals=\\\[\{name=\"A\",type=\"int\",value=\"1\"\},\{name=\"B\",type=\"int\",value=\"2\"\},\{name=\"C\",type=\"int\",value=\"3\"\},\{name=\"D\",type=\"int \\\[3\\\]\"\}\\\]" \
+	"stack locals listing, simple types: names and values, complex type: names and types"
 
     mi_gdb_test "234-stack-list-locals" \
-	    "234\\^error,msg=\"-stack-list-locals: Usage.*PRINT_VALUES.*\"" \
-	    "stack locals listing wrong"
+	"234\\^error,msg=\"-stack-list-locals: Usage.*PRINT_VALUES.*\"" \
+	"stack locals listing wrong"
 
     mi_gdb_test "232-stack-select-frame 1" \
-	    "232\\^done" \
-                "stack select frame 1"
+	"232\\^done" \
+	"stack select frame 1"
 
     mi_gdb_test "232-stack-list-locals 1" \
-	    "232\\^done,locals=\\\[\\\]" \
-                "stack locals listing for new frame"
+	"232\\^done,locals=\\\[\\\]" \
+	"stack locals listing for new frame"
 
     mi_gdb_test "232-stack-list-locals 1" \
-	    "232\\^done,locals=\\\[\\\]" \
-                "stack locals for same frame (level 1)"
+	"232\\^done,locals=\\\[\\\]" \
+	"stack locals for same frame (level 1)"
 }
 
 mi_runto callee4
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-start.exp ./gdb/testsuite/gdb.mi/mi-start.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-start.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-start.exp	2018-07-10 02:06:13.000000000 +0000
@@ -19,7 +19,7 @@ set MIFLAGS "-i=mi"
 # The purpose of this testcase is to test the --start option of
 # the -exec-run command. If we cannot use the -exec-run command,
 # then there is no point in running this testcase...
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
      untested "cannot use -exec-run command"
      return -1
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-var-create-rtti.exp ./gdb/testsuite/gdb.mi/mi-var-create-rtti.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.mi/mi-var-create-rtti.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-create-rtti.exp	2018-07-10 02:06:13.000000000 +0000
@@ -49,6 +49,9 @@ mi_gdb_test "-gdb-set print object on" "
 # We use a explicit cast to (void *) as that is the
 # type that caused the bug this testcase is testing for.
 mi_gdb_test "-var-create sp1 * ((void*)\$sp)" \
-	    "\\^done,name=\"sp1\",numchild=\"0\",value=\"$hex\",type=\"void \\*\",has_more=\"0\"" \
+	    "\\^done,name=\"sp1\",numchild=\"0\",value=\"$hex\",type=\"void \\*\",thread-id=\"$decimal\",has_more=\"0\"" \
 	    "-var-create sp1 * \$sp"
+mi_gdb_test "-var-create sp2 @ ((void*)\$sp)" \
+	    "\\^done,name=\"sp2\",numchild=\"0\",value=\"$hex\",type=\"void \\*\",has_more=\"0\"" \
+	    "-var-create sp2 @ \$sp"
 gdb_exit
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/dummy-frame-restore.exp ./gdb/testsuite/gdb.multi/dummy-frame-restore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/dummy-frame-restore.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/dummy-frame-restore.exp	2018-07-10 02:06:13.000000000 +0000
@@ -17,7 +17,7 @@ standard_testfile .c
 set executable ${testfile}
 
 # The plain remote target can't do multiple inferiors.
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     return
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/multi-arch-exec.exp ./gdb/testsuite/gdb.multi/multi-arch-exec.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/multi-arch-exec.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/multi-arch-exec.exp	2018-07-10 02:06:13.000000000 +0000
@@ -19,7 +19,7 @@
 set testfile "multi-arch-exec"
 
 # The plain remote target can't do multiple inferiors.
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     return
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/multi-arch.exp ./gdb/testsuite/gdb.multi/multi-arch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/multi-arch.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/multi-arch.exp	2018-07-10 02:06:13.000000000 +0000
@@ -19,7 +19,7 @@
 set testfile "multi-arch"
 
 # The plain remote target can't do multiple inferiors.
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     return
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/multi-term-settings.c ./gdb/testsuite/gdb.multi/multi-term-settings.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/multi-term-settings.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/multi-term-settings.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,52 @@
+/* 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/>.  */
+
+/* This program is intended to be started outside of gdb, and then
+   attached to by gdb.  It loops for a while, but not forever.  */
+
+#include <unistd.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <termios.h>
+#include <unistd.h>
+#include <signal.h>
+
+int
+main ()
+{
+  /* In case we inherit SIG_IGN.  */
+  signal (SIGTTOU, SIG_DFL);
+
+  alarm (30);
+
+  int count = 0;
+  while (1)
+    {
+      struct termios termios;
+
+      printf ("pid=%ld, count=%d\n", (long) getpid (), count++);
+
+      /* This generates a SIGTTOU if our progress group is not in the
+	 foreground.  */
+      tcgetattr (0, &termios);
+      tcsetattr (0, TCSANOW, &termios);
+
+      usleep (100000);
+    }
+
+  return 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.1.0.20180703/gdb/testsuite/gdb.multi/multi-term-settings.exp ./gdb/testsuite/gdb.multi/multi-term-settings.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/multi-term-settings.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/multi-term-settings.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,242 @@
+# 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/>.
+
+# This testcase exercises GDB's terminal ownership management
+# (terminal_ours/terminal_inferior, etc.) when debugging multiple
+# inferiors.  It tests debugging multiple inferiors started with
+# different combinations of 'run'/'run+tty'/'attach', and ensures that
+# the process that is sharing GDB's terminal/session is properly made
+# the GDB terminal's foregound process group (i.e., "given the
+# terminal").
+
+standard_testfile
+
+if ![can_spawn_for_attach] {
+    return 0
+}
+
+if [build_executable "failed to prepare" $testfile $srcfile {debug}] {
+    return -1
+}
+
+# Start the programs running and then wait for a bit, to be sure that
+# they can be attached to.  We start these processes upfront in order
+# to reuse them for the different iterations.  This makes the testcase
+# faster, compared to calling spawn_wait_for_attach for each iteration
+# in the testing matrix.
+
+set spawn_id_list [spawn_wait_for_attach [list $binfile $binfile]]
+set attach_spawn_id1 [lindex $spawn_id_list 0]
+set attach_spawn_id2 [lindex $spawn_id_list 1]
+set attach_pid1 [spawn_id_get_pid $attach_spawn_id1]
+set attach_pid2 [spawn_id_get_pid $attach_spawn_id2]
+
+# Create inferior WHICH_INF.  INF_HOW is how to create it.  This can
+# be one of:
+#
+#  - "run" - for "run" command.
+#  - "tty" - for "run" + "tty TTY".
+#  - "attach" - for attaching to an existing process.
+proc create_inferior {which_inf inf_how} {
+    global binfile
+
+    # Run to main and delete breakpoints.
+    proc my_runto_main {} {
+	if ![runto_main] {
+	    fail "run to main"
+	    return 0
+	} else {
+	    # Delete breakpoints otherwise GDB would try to step over
+	    # the breakpoint at 'main' without resuming the other
+	    # inferior, possibly masking the issue we're trying to
+	    # test.
+	    delete_breakpoints
+	    return 1
+	}
+    }
+
+    if {$inf_how == "run"} {
+	if [my_runto_main] {
+	    global inferior_spawn_id
+	    return $inferior_spawn_id
+	}
+    } elseif {$inf_how == "tty"} {
+	# Create the new PTY for the inferior.
+	spawn -pty
+	set inf_spawn_id $spawn_id
+	set inf_tty_name $spawn_out(slave,name)
+	gdb_test_no_output "tty $inf_tty_name" "tty TTY"
+
+	if [my_runto_main] {
+	    return $inf_spawn_id
+	}
+    } elseif {$inf_how == "attach"} {
+
+	# Reuse the inferiors spawned at the start of the testcase (to
+	# avoid having to wait the delay imposed by
+	# spawn_wait_for_attach).
+	global attach_spawn_id$which_inf
+	set test_spawn_id [set attach_spawn_id$which_inf]
+	set testpid [spawn_id_get_pid $test_spawn_id]
+	if {[gdb_test "attach $testpid" \
+		 "Attaching to program: .*, process $testpid.*(in|at).*" \
+		 "attach"] == 0} {
+	    return $test_spawn_id
+	}
+    } else {
+	error "unhandled inf_how: $inf_how"
+    }
+
+    return ""
+}
+
+# Print debug output.
+
+proc send_debug {str} {
+    # Uncomment for debugging.
+    #send_user $str
+}
+
+# The core of the testcase.  See intro.  Creates two inferiors that
+# both loop changing their terminal's settings and printing output,
+# and checks whether they receive SIGTTOU.  INF1_HOW and INF2_HOW
+# indicate how inferiors 1 and 2 should be created, respectively.  See
+# 'create_inferior' above for what arguments these parameters accept.
+
+proc coretest {inf1_how inf2_how} {
+    global binfile
+    global inferior_spawn_id
+    global gdb_spawn_id
+    global decimal
+
+    clean_restart $binfile
+
+    set inf1_spawn_id [create_inferior 1 $inf1_how]
+
+    set num 2
+    gdb_test "add-inferior" "Added inferior $num.*" \
+	"add empty inferior $num"
+    gdb_test "inferior $num" "Switching to inferior $num.*" \
+	"switch to inferior $num"
+    gdb_file_cmd ${binfile}
+
+    set inf2_spawn_id [create_inferior 2 $inf2_how]
+
+    gdb_test_no_output "set schedule-multiple on"
+
+    # "run" makes each inferior be a process group leader.  When we
+    # run both inferiors in GDB's terminal/session, only one can end
+    # up as the terminal's foreground process group, so it's expected
+    # that the other receives a SIGTTOU.
+    set expect_ttou [expr {$inf1_how == "run" && $inf2_how == "run"}]
+
+    global gdb_prompt
+
+    set any "\[^\r\n\]*"
+
+    set pid1 -1
+    set pid2 -1
+
+    set test "info inferiors"
+    gdb_test_multiple $test $test {
+	-re "1${any}process ($decimal)${any}\r\n" {
+	    set pid1 $expect_out(1,string)
+	    send_debug "pid1=$pid1\n"
+	    exp_continue
+	}
+	-re "2${any}process ($decimal)${any}\r\n" {
+	    set pid2 $expect_out(1,string)
+	    send_debug "pid2=$pid2\n"
+	    exp_continue
+	}
+	-re "$gdb_prompt $" {
+	    pass $test
+	}
+    }
+
+    # Helper for the gdb_test_multiple call below.  Issues a PASS if
+    # we've seen each inferior print at least 3 times, otherwise
+    # continues waiting for inferior output.
+    proc pass_or_exp_continue {} {
+	uplevel 1 {
+	    if {$count1 >= 3 && $count2 >= 3} {
+		if $expect_ttou {
+		    fail "$test (expected SIGTTOU)"
+		} else {
+		    pass $test
+		}
+	    } else {
+		exp_continue
+	    }
+	}
+    }
+
+    set infs_spawn_ids [list $inf1_spawn_id $inf2_spawn_id]
+    send_debug "infs_spawn_ids=$infs_spawn_ids\n"
+
+    set count1 0
+    set count2 0
+
+    set test "continue"
+    gdb_test_multiple $test $test {
+	-i $infs_spawn_ids -re "pid=$pid1, count=" {
+	    incr count1
+	    pass_or_exp_continue
+	}
+	-i $infs_spawn_ids -re "pid=$pid2, count=" {
+	    incr count2
+	    pass_or_exp_continue
+	}
+	-i $gdb_spawn_id -re "received signal SIGTTOU.*$gdb_prompt " {
+	    if $expect_ttou {
+		pass "$test (expected SIGTTOU)"
+	    } else {
+		fail "$test (SIGTTOU)"
+	    }
+	}
+    }
+
+    send_gdb "\003"
+    if {$expect_ttou} {
+	gdb_test "" "Quit" "stop with control-c"
+    } else {
+	gdb_test "" "received signal SIGINT.*" "stop with control-c"
+    }
+
+    # Useful for debugging in case the Ctrl-C above fails.
+    gdb_test "info inferiors"
+    gdb_test "info threads"
+}
+
+set how_modes {"run" "attach" "tty"}
+
+foreach_with_prefix inf1_how $how_modes {
+    foreach_with_prefix inf2_how $how_modes {
+	if {($inf1_how == "tty" || $inf2_how == "tty")
+	    && [target_info gdb_protocol] == "extended-remote"} {
+	    # No way to specify the inferior's tty in the remote
+	    # protocol.
+	    unsupported "no support for \"tty\" in the RSP"
+	    continue
+	}
+
+	coretest $inf1_how $inf2_how
+    }
+}
+
+kill_wait_spawned_process $attach_spawn_id1
+kill_wait_spawned_process $attach_spawn_id2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/tids.exp ./gdb/testsuite/gdb.multi/tids.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/tids.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/tids.exp	2018-07-10 02:06:13.000000000 +0000
@@ -22,7 +22,7 @@ standard_testfile
 # Multiple inferiors are needed, therefore both native and extended
 # gdbserver modes are supported.  Only non-extended gdbserver is not
 # supported.
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     untested "using gdb stub"
     return
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/watchpoint-multi.exp ./gdb/testsuite/gdb.multi/watchpoint-multi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.multi/watchpoint-multi.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/watchpoint-multi.exp	2018-07-10 02:06:13.000000000 +0000
@@ -18,7 +18,7 @@ set executable ${testfile}
 
 # Multiple inferiors are needed, therefore both native and extended gdbserver
 # modes are supported.  Only non-extended gdbserver is not supported.
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     untested "using gdb stub"
     return
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.opt/inline-break.c ./gdb/testsuite/gdb.opt/inline-break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.opt/inline-break.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/inline-break.c	2018-07-10 02:06:13.000000000 +0000
@@ -29,7 +29,7 @@
 static inline ATTR int
 func1 (int x)
 {
-  return x * 23;
+  return x * 23; /* break here */
 }
 
 /* A non-static inlined function that is called once.  */
@@ -128,6 +128,86 @@ func8a (int x)
   return func8b (x * 31);
 }
 
+static inline ATTR int
+inline_func1 (int x)
+{
+  int y = 1;			/* inline_func1  */
+
+  return y + x;
+}
+
+static int
+not_inline_func1 (int x)
+{
+  int y = 2;			/* not_inline_func1  */
+
+  return y + inline_func1 (x);
+}
+
+inline ATTR int
+inline_func2 (int x)
+{
+  int y = 3;			/* inline_func2  */
+
+  return y + not_inline_func1 (x);
+}
+
+int
+not_inline_func2 (int x)
+{
+  int y = 4;			/* not_inline_func2  */
+
+  return y + inline_func2 (x);
+}
+
+static inline ATTR int
+inline_func3 (int x)
+{
+  int y = 5;			/* inline_func3  */
+
+  return y + not_inline_func2 (x);
+}
+
+static int
+not_inline_func3 (int x)
+{
+  int y = 6;			/* not_inline_func3  */
+
+  return y + inline_func3 (x);
+}
+
+/* The following three functions serve to exercise GDB's inline frame
+   skipping logic when setting a user breakpoint on an inline function
+   by name.  */
+
+/* A static inlined function that is called by another static inlined
+   function.  */
+
+static inline ATTR int
+func_inline_callee (int x)
+{
+  return x * 23;
+}
+
+/* A static inlined function that calls another static inlined
+   function.  The body of the function is as simple as possible so
+   that both functions are inlined to the same PC address.  */
+
+static inline ATTR int
+func_inline_caller (int x)
+{
+  return func_inline_callee (x);
+}
+
+/* An extern not-inline function that calls a static inlined
+   function.  */
+
+int
+func_extern_caller (int x)
+{
+  return func_inline_caller (x);
+}
+
 /* Entry point.  */
 
 int
@@ -155,5 +235,9 @@ main (int argc, char *argv[])
 
   x = func8a (x) + func8b (x);
 
+  x = not_inline_func3 (-21);
+
+  func_extern_caller (1);
+
   return x;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.opt/inline-break.exp ./gdb/testsuite/gdb.opt/inline-break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.opt/inline-break.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/inline-break.exp	2018-07-10 02:06:13.000000000 +0000
@@ -185,4 +185,123 @@ for {set i 1} {$i <= [array size results
     gdb_test "info break $i" $results($i)
 }
 
+# Test "permanent" and "temporary" breakpoints.
+foreach_with_prefix cmd [list "break" "tbreak"] {
+
+    # Start with a clean state.
+    delete_breakpoints
+    if {![runto main]} {
+	untested "could not run to main"
+	return -1
+    }
+
+    # Assemble flags to pass to gdb_breakpoint.  Lame but this is just
+    # a test suite!
+    set break_flags "message"
+    if {[string match $cmd "tbreak"]} {
+	lappend break_flags "temporary"
+    }
+
+    # Insert breakpoints for all inline_func? and not_inline_func? and check
+    # that we actually stop where we think we should.
+    for {set i 1} {$i < 4} {incr i} {
+	foreach inline {"not_inline" "inline"} {
+	    eval gdb_breakpoint "${inline}_func$i" $break_flags
+	}
+    }
+
+    set ws {[\r\n\t ]+}
+    set backtrace [list "(in|at)? main"]
+    for {set i 3} {$i > 0} {incr i -1} {
+
+	foreach inline {"not_inline" "inline"} {
+
+	    # Check that we stop at the correct location and print out
+	    # the (possibly) inlined frames.
+	    set num [gdb_get_line_number "/* ${inline}_func$i  */"]
+	    set pattern ".*$srcfile:$num${ws}.*$num${ws}int y = $decimal;"
+	    append pattern "${ws}/\\\* ${inline}_func$i  \\\*/"
+	    send_log "Expecting $pattern\n"
+	    gdb_continue_to_breakpoint "${inline}_func$i" $pattern
+
+	    # Also check for the correct backtrace.
+	    set backtrace [linsert $backtrace 0 "(in|at)?${ws}${inline}_func$i"]
+	    gdb_test_sequence "bt" "bt stopped in ${inline}_func$i" $backtrace
+	}
+    }
+}
+
+# func_extern_caller calls func_inline_caller which calls
+# func_inline_callee.  The latter two are both inline functions.  Test
+# that setting a breakpoint on each of the functions reports a stop at
+# that function.  This exercises the inline frame skipping logic.  If
+# we set a breakpoint at function A, we want to present the stop at A,
+# even if A's entry code is an inlined call to another inline function
+# B.
+
+foreach_with_prefix func {
+    "func_extern_caller"
+    "func_inline_caller"
+    "func_inline_callee"
+} {
+    clean_restart $binfile
+
+    if {![runto main]} {
+	untested "could not run to main"
+	continue
+    }
+
+    gdb_breakpoint $func
+    gdb_test "continue" "Breakpoint .* $func .*at .*$srcfile.*" \
+	"breakpoint hit presents stop at breakpointed function"
+}
+
+# Test setting a breakpoint in an inline function by line number and
+# by address, and that GDB presents the stop there.
+
+set line [gdb_get_line_number "break here"]
+
+with_test_prefix "line number" {
+    clean_restart $binfile
+
+    if {![runto main]} {
+	untested "could not run to main"
+	continue
+    }
+
+    # Set the breakpoint by line number, and check that GDB reports
+    # the breakpoint location being the inline function.
+    gdb_test "break $srcfile:$line" ".*Breakpoint .* at .*: file .*$srcfile, line $line."
+
+    gdb_test "info break \$bpnum" "in func1 at .*$srcfile:$line"
+
+    gdb_test "continue" "Breakpoint .*, func1 \\(x=1\\) at .*$srcfile:$line.*break here.*" \
+	"breakpoint hit presents stop at inlined function"
+
+    # Save the PC for the following by-address test.
+    set address [get_hexadecimal_valueof "\$pc" "0"]
+}
+
+# Test setting a breakpoint in an inline function by address, and that
+# GDB presents the stop there.
+
+with_test_prefix "address" {
+
+    clean_restart $binfile
+
+    if {![runto main]} {
+	untested "could not run to main"
+	continue
+    }
+
+    # Set the breakpoint by address, and check that GDB reports the
+    # breakpoint location being the inline function.
+    gdb_test "break *$address" ".*Breakpoint .* at $address: file .*$srcfile, line $line."
+
+    gdb_test "info break \$bpnum" "in func1 at .*$srcfile:$line"
+
+    gdb_test "continue" "Breakpoint .*, func1 \\(x=1\\) at .*$srcfile:$line.*break here.*" \
+	"breakpoint hit presents stop at inlined function"
+}
+
 unset -nocomplain results
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.perf/template-breakpoints.cc ./gdb/testsuite/gdb.perf/template-breakpoints.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.perf/template-breakpoints.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/template-breakpoints.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,97 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright (C) 2018 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/>.  */
+
+#include <iostream>
+
+template <int I, int J, int K, int VAL>
+struct ThirdDimension
+{
+  int
+  value () const
+  {
+    ThirdDimension<I, J, K - 1, VAL> d3;
+    return d3.value();
+  }
+};
+
+template <int I, int J, int VAL>
+struct ThirdDimension<I, J, 0, VAL>
+{
+  int
+  value () const
+  {
+    // Please note - this testcase sets a breakpoint on the following line.
+    // It is therefore sensitive to line numbers. If any changes are made to
+    // this file, please ensure that the testcase is updated to reflect this.
+    std::cout << "Value: " << VAL << std::endl;
+    return VAL;
+  }
+};
+
+template <int I, int J, int K, int VAL>
+struct SecondDimension
+{
+  int
+  value () const
+  {
+    SecondDimension<I, J - 1, K, VAL> d1;
+    ThirdDimension<I, J, K, VAL> d2;
+    return d1.value() + d2.value();
+  }
+};
+
+template <int I, int K, int VAL>
+struct SecondDimension<I, 0, K, VAL>
+{
+  int
+  value () const
+  {
+    ThirdDimension<I, 0, K, VAL> d2;
+    return d2.value();
+  }
+};
+
+template <int I, int J, int K, int VAL>
+struct FirstDimension
+{
+  int
+  value () const
+  {
+    FirstDimension<I - 1, J, K, VAL> d1;
+    SecondDimension<I, J, K, VAL> d2;
+    return d1.value() + d2.value();
+  }
+};
+
+template <int J, int K, int VAL>
+struct FirstDimension<0, J, K, VAL>
+{
+  int
+  value () const
+  {
+    SecondDimension<0, J, K, VAL> d2;
+    return d2.value();
+  }
+};
+
+int
+main (int argc, char *argv[])
+{
+  FirstDimension<EXPANSION_DEPTH, EXPANSION_DEPTH, EXPANSION_DEPTH, 1> product;
+  std::cout << product.value() << std::endl;
+  return 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.1.0.20180703/gdb/testsuite/gdb.perf/template-breakpoints.exp ./gdb/testsuite/gdb.perf/template-breakpoints.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.perf/template-breakpoints.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/template-breakpoints.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,65 @@
+# Copyright (C) 2018 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/>.
+
+# This test case is to test the performance of GDB when setting breakpoints
+# on heavily temlatized C++ code.
+
+# Parameters:
+# EXPANSION_DEPTH: knob to control how many times template expansions occur
+
+load_lib perftest.exp
+
+if [skip_perf_tests] {
+	return 0
+}
+
+standard_testfile .cc
+set executable $testfile
+set expfile $testfile.exp
+
+# make check-perf RUNTESTFLAGS='template-breakpoints.exp EXPANSION_DEPTH=40'
+if ![info exists EXPANSION_DEPTH] {
+	set EXPANSION_DEPTH 40
+}
+
+PerfTest::assemble {
+	global EXPANSION_DEPTH
+	global srcdir subdir srcfile
+
+	set compile_flags {c++ debug}
+	lappend compile_flags "additional_flags=-DEXPANSION_DEPTH=${EXPANSION_DEPTH}"
+
+	if { [gdb_compile "$srcdir/$subdir/$srcfile" ${binfile} executable $compile_flags] != ""} {
+		return -1
+	}
+
+	return 0
+} {
+	global binfile
+
+	clean_restart $binfile
+
+	if ![runto_main] {
+		fail "can't run to main"
+		return -1
+	}
+
+	return 0
+} {
+
+	gdb_test "python TemplateBreakpoints().run()"
+
+	return 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.1.0.20180703/gdb/testsuite/gdb.perf/template-breakpoints.py ./gdb/testsuite/gdb.perf/template-breakpoints.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.perf/template-breakpoints.py	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/template-breakpoints.py	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,33 @@
+# Copyright (C) 2018 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/>.
+
+from perftest import perftest
+
+class TemplateBreakpoints (perftest.TestCaseWithBasicMeasurements):
+    def __init__(self):
+        super (TemplateBreakpoints, self).__init__ ("template-breakpoints")
+
+    def warm_up(self):
+        for _ in range(0, 2):
+            gdb.Breakpoint("template-breakpoints.cc:38").delete()
+
+    def _do_test(self, bpcount):
+        for _ in range(1, bpcount):
+            gdb.Breakpoint("template-breakpoints.cc:38").delete()
+
+    def execute_test(self):
+        for bpcount in range(1, 10):
+            tfunc = lambda bound_bpcount=bpcount: self._do_test(bound_bpcount)
+            self.measure.measure(tfunc, bpcount)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-breakpoint.exp ./gdb/testsuite/gdb.python/py-breakpoint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-breakpoint.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-breakpoint.exp	2018-07-10 02:06:13.000000000 +0000
@@ -197,8 +197,16 @@ proc_with_prefix test_bkpt_cond_and_cmds
 
     gdb_py_test_silent_cmd "python blist = gdb.breakpoints()" \
 	"Get Breakpoint List" 0
-    gdb_test "python print (blist\[len(blist)-1\].commands)" \
+    gdb_py_test_silent_cmd "python last_bp = blist\[len(blist)-1\]" \
+	"Find last breakpoint" 0
+    gdb_test "python print (last_bp.commands)" \
 	"print \"Command for breakpoint has been executed.\".*print result"
+
+    gdb_test_no_output "python last_bp.commands = 'echo hi\\necho there'" \
+	"set commands"
+    # Note the length is 3 because the string ends in a \n.
+    gdb_test "python print (len(last_bp.commands.split('\\n')))" "3" \
+	"check number of lines in commands"
 }
 
 proc_with_prefix test_bkpt_invisible { } {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-events.exp ./gdb/testsuite/gdb.python/py-events.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-events.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-events.exp	2018-07-10 02:06:13.000000000 +0000
@@ -13,7 +13,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if [target_info exists use_gdb_stub] {
+if [use_gdb_stub] {
     return 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.1.0.20180703/gdb/testsuite/gdb.python/py-framefilter.exp ./gdb/testsuite/gdb.python/py-framefilter.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-framefilter.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-framefilter.exp	2018-07-10 02:06:13.000000000 +0000
@@ -149,7 +149,7 @@ gdb_test "bt -2" \
     ".*#26.*func5.*#27.*in main \\(\\).*" \
     "bt -2 with frame-filter Reverse disabled"
 gdb_test "bt 3" \
-    ".*#0.*end_func.*#1.*in funca \\(\\).*#2.*in funcb \\(j=10\\).*" \
+    ".*#0.*end_func.*#1.*in funca \\(\\).*#2.*in funcb \\(j=10\\)\[^#\]*More stack frames follow.*" \
     "bt 3 with frame-filter Reverse disabled"
 gdb_test "bt no-filter full" \
     ".*#0.*end_func.*str = $hex \"The End\".*st2 = $hex \"Is Near\".*b = 12.*c = 5.*#1.*in funca \\(\\).*#2.*in funcb \\(j=10\\).*bar = \{a = 42, b = 84\}.*" \
@@ -157,6 +157,9 @@ gdb_test "bt no-filter full" \
 gdb_test "bt full" \
     ".*#0.*end_func.*str = $hex \"The End\".*st2 = $hex \"Is Near\".*b = 12.*c = 5.*#1.*in funca \\(\\).*#2.*in funcb \\(j=10\\).*bar = \{a = 42, b = 84\}.*#22.*in func1 \\(\\).*#23.*in func2 \\(f=3\\).*elided = $hex \"Elided frame\".*fb = \{nothing = $hex \"Elided Foo Bar\", f = 84, s = 38\}.*bf = $hex.*" \
     "bt full with Reverse disabled"
+gdb_test "bt full hide" \
+    ".*#0.*end_func.*str = $hex \"The End\".*st2 = $hex \"Is Near\".*b = 12.*c = 5.*#1.*in funca \\(\\).*#2.*in funcb \\(j=10\\).*bar = \{a = 42, b = 84\}.*#22.*in func1 \\(\\)\[^#\]*#24.*in func3 \\(i=3\\).*" \
+    "bt full hide with Reverse disabled"
 
 # Test set print frame-arguments
 # none
@@ -210,6 +213,12 @@ gdb_test_multiple "bt 1" $test {
     }
 }
 
+# Now verify that we can see a quit.
+gdb_test_no_output "python name_error = KeyboardInterrupt" \
+    "Change ErrorFilter to throw KeyboardInterrupt"
+gdb_test "bt 1" "Quit" "bt 1 with KeyboardInterrupt"
+
+
 # Test with no debuginfo
 
 # We cannot use prepare_for_testing as we have to set the safe-patch
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-framefilter.py ./gdb/testsuite/gdb.python/py-framefilter.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-framefilter.py	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-framefilter.py	2018-07-10 02:06:13.000000000 +0000
@@ -134,13 +134,17 @@ class FrameElider ():
     def filter (self, frame_iter):
         return ElidingIterator (frame_iter)
 
+# This is here so the test can change the kind of error that is
+# thrown.
+name_error = RuntimeError
+
 # A simple decorator that gives an error when computing the function.
 class ErrorInName(FrameDecorator):
     def __init__(self, frame):
         FrameDecorator.__init__(self, frame)
 
     def function(self):
-        raise RuntimeError('whoops')
+        raise name_error('whoops')
 
 # A filter that supplies buggy frames.  Disabled by default.
 class ErrorFilter():
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-mi.exp ./gdb/testsuite/gdb.python/py-mi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-mi.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-mi.exp	2018-07-10 02:06:13.000000000 +0000
@@ -101,7 +101,7 @@ mi_varobj_update_dynamic container "varo
     type_changed false new_num_children 1 dynamic 1 has_more 0
 } {
 } {
-    { name {container.\[0\]} exp {\[0\]} numchild 0 type int thread-id 1 }
+    { name {container.\[0\]} exp {\[0\]} numchild 0 type int }
 }
 
 mi_next "next over update 2"
@@ -110,7 +110,7 @@ mi_varobj_update_dynamic container "varo
     type_changed false new_num_children 2 dynamic 1 has_more 0
 } {
 } {
-    { name {container.\[1\]} exp {\[1\]} numchild 0 type int thread-id 1 }
+    { name {container.\[1\]} exp {\[1\]} numchild 0 type int }
 }
 
 mi_gdb_test "-var-set-visualizer container None" \
@@ -129,8 +129,8 @@ mi_varobj_update_dynamic container "varo
     type_changed false new_num_children 2 dynamic 1 has_more 0
 } {
 } {
-    { name {container.\[0\]} exp {\[0\]} numchild 0 type int thread-id 1 }
-    { name {container.\[1\]} exp {\[1\]} numchild 0 type int thread-id 1 }
+    { name {container.\[0\]} exp {\[0\]} numchild 0 type int }
+    { name {container.\[1\]} exp {\[1\]} numchild 0 type int }
 }
 
 mi_gdb_test "-var-set-visualizer container ContainerPrinter" \
@@ -142,8 +142,8 @@ mi_varobj_update_dynamic container \
       type_changed false new_num_children 2 dynamic 1 has_more 0
   } {
   } {
-      { name {container.\[0\]} exp {\[0\]} numchild 0 type int thread-id 1 }
-      { name {container.\[1\]} exp {\[1\]} numchild 0 type int thread-id 1 }
+      { name {container.\[0\]} exp {\[0\]} numchild 0 type int }
+      { name {container.\[1\]} exp {\[1\]} numchild 0 type int }
   }
 
 mi_list_varobj_children_range container 1 2 2 {
@@ -295,6 +295,16 @@ mi_gdb_test "-var-evaluate-expression me
 mi_create_dynamic_varobj children_as_list children_as_list 1 \
     "printer whose children are returned as a list"
 
+# Test that when a pretty-printer returns a gdb.Value in its to_string, we call
+# the pretty-printer of that value too.
+mi_create_varobj_checked tsrvw tsrvw  \
+    "struct to_string_returns_value_wrapper" \
+    "create tsrvw varobj"
+mi_check_varobj_value tsrvw "Inner to_string 1989" "check tsrvw varobj value"
+mi_gdb_test "-data-evaluate-expression tsrvw" \
+    "\\^done,value=\"Inner to_string 1989\"" \
+    "check tsrvw expression value"
+
 # Regression test for bug 14741.
 mi_continue_to_line \
     [gdb_get_line_number {breakpoint bug 14741} ${srcfile}] \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-parameter.exp ./gdb/testsuite/gdb.python/py-parameter.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-parameter.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-parameter.exp	2018-07-10 02:06:13.000000000 +0000
@@ -151,7 +151,7 @@ gdb_py_test_multiple "Simple gdb boolean
    "end"
 
 gdb_test "show print test-nodoc-param" "This command is not documented.*" "show parameter on"
-gdb_test "set print test-nodoc-param off" "This command is not documented.*" "turn off parameter"
+gdb_test_no_output "set print test-nodoc-param off" "turn off parameter"
 gdb_test "show print test-nodoc-param" "This command is not documented.*.*" "show parameter off"
 gdb_test "python print (test_nodoc_param.value)" "False" "test parameter value"
 gdb_test "help show print test-nodoc-param" "This command is not documented.*" "test show help"
@@ -173,9 +173,33 @@ gdb_py_test_multiple "Simple gdb boolean
 
 gdb_test "python print (test_param.value)" "True" "test parameter value"
 gdb_test "show print test-param" "State of the Test Parameter on.*" "show parameter on"
-gdb_test "set print test-param off" "Set the state of the Test Parameter.*" "turn off parameter"
+gdb_test_no_output "set print test-param off" "turn off parameter"
 gdb_test "show print test-param" "State of the Test Parameter off.*" "show parameter off"
 gdb_test "python print (test_param.value)" "False" "test parameter value"
 gdb_test "help show print test-param" "State of the Test Parameter.*" "test show help"
 gdb_test "help set print test-param" "Set the state of the Test Parameter.*" "test set help"
 gdb_test "help set print" "set print test-param -- Set the state of the Test Parameter.*" "test general help"
+
+foreach kind {PARAM_ZUINTEGER PARAM_ZUINTEGER_UNLIMITED} {
+    gdb_py_test_multiple "Simple gdb $kind" \
+	"python" "" \
+	"class TestNodocParam (gdb.Parameter):" "" \
+	"   def __init__ (self, name):" "" \
+	"      super (TestNodocParam, self).__init__ (name, gdb.COMMAND_DATA, gdb.$kind)" "" \
+	"      self.value = 0" "" \
+	"test_param_$kind = TestNodocParam ('test-$kind')" "" \
+	"end"
+
+    gdb_test "python print(gdb.parameter('test-$kind'))" "0"
+
+    gdb_test "python test_param_$kind.value = -5" "RuntimeError: Range exceeded.*"
+
+    if {$kind == "PARAM_ZUINTEGER"} {
+	gdb_test "python test_param_$kind.value = -1" "RuntimeError: Range exceeded.*"
+    } else {
+	gdb_test_no_output "python test_param_$kind.value = -1" \
+	    "check that PARAM_ZUINTEGER value can be set to -1"
+	gdb_test "python print(gdb.parameter('test-$kind'))" "-1" \
+	    "check that PARAM_ZUINTEGER value is -1 after setting"
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-prettyprint.c ./gdb/testsuite/gdb.python/py-prettyprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-prettyprint.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-prettyprint.c	2018-07-10 02:06:13.000000000 +0000
@@ -112,6 +112,16 @@ class Fake
 };
 #endif
 
+struct to_string_returns_value_inner
+{
+  int val;
+};
+
+struct to_string_returns_value_wrapper
+{
+  struct to_string_returns_value_inner inner;
+};
+
 struct substruct {
   int a;
   int b;
@@ -284,6 +294,7 @@ main ()
   struct lazystring estring, estring2, estring3;
   struct hint_error hint_error;
   struct children_as_list children_as_list;
+  struct to_string_returns_value_wrapper tsrvw = { { 1989 } };
 
   nstype.elements = narray;
   nstype.len = 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.1.0.20180703/gdb/testsuite/gdb.python/py-prettyprint.exp ./gdb/testsuite/gdb.python/py-prettyprint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-prettyprint.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-prettyprint.exp	2018-07-10 02:06:13.000000000 +0000
@@ -64,6 +64,10 @@ proc run_lang_tests {exefile lang} {
     
     gdb_test "print arraystruct" " = {$nl *y = 7, *$nl *x = { a=<23> b=<$hex>,  a=<24> b=<$hex>} *$nl *}"
 
+    # Test that when a pretty-printer returns a gdb.Value in its to_string, we
+    # call the pretty-printer of that value too.
+    gdb_test "print tsrvw" " = Inner to_string 1989"
+
     if {$lang == "c++"} {
 	gdb_test "print cps" "=  a=<8> b=<$hex>"
 	gdb_test "print cpss" " = {$nl *zss = 9, *$nl *s =  a=<10> b=<$hex>$nl}"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-prettyprint.py ./gdb/testsuite/gdb.python/py-prettyprint.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-prettyprint.py	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-prettyprint.py	2018-07-10 02:06:13.000000000 +0000
@@ -84,6 +84,25 @@ class NoStringContainerPrinter (object):
     def children(self):
         return _iterator_except (self.val['elements'], self.val['len'])
 
+# See ToStringReturnsValueWrapper.
+class ToStringReturnsValueInner:
+
+    def __init__(self, val):
+        self.val = val
+
+    def to_string(self):
+        return 'Inner to_string {}'.format(int(self.val['val']))
+
+# Test a printer that returns a gdb.Value in its to_string.  That gdb.Value
+# also has its own pretty-printer.
+class ToStringReturnsValueWrapper:
+
+    def __init__(self, val):
+        self.val = val
+
+    def to_string(self):
+        return self.val['inner']
+
 class pp_s (object):
     def __init__(self, val):
         self.val = val
@@ -316,7 +335,12 @@ def register_pretty_printers ():
     pretty_printers_dict[re.compile ('^string_repr$')] = string_print
     pretty_printers_dict[re.compile ('^container$')] = ContainerPrinter
     pretty_printers_dict[re.compile ('^justchildren$')] = NoStringContainerPrinter
-    
+
+    pretty_printers_dict[re.compile ('^struct to_string_returns_value_inner$')] = ToStringReturnsValueInner
+    pretty_printers_dict[re.compile ('^to_string_returns_value_inner$')] = ToStringReturnsValueInner
+    pretty_printers_dict[re.compile ('^struct to_string_returns_value_wrapper$')] = ToStringReturnsValueWrapper
+    pretty_printers_dict[re.compile ('^to_string_returns_value_wrapper$')] = ToStringReturnsValueWrapper
+
     pretty_printers_dict[re.compile ('^struct ns$')]  = pp_ns
     pretty_printers_dict[re.compile ('^ns$')]  = pp_ns
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/python.exp ./gdb/testsuite/gdb.python/python.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/python.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/python.exp	2018-07-10 02:06:13.000000000 +0000
@@ -119,6 +119,9 @@ gdb_test_no_output \
     "python x = gdb.execute('printf \"%d\", 23', to_string = True)"
 gdb_test "python print (x)" "23"
 
+gdb_test "python gdb.execute('echo 2\\necho 3\\\\n\\n')" "23" \
+    "multi-line execute"
+
 # Test post_event.
 gdb_py_test_multiple "post event insertion" \
   "python" "" \
@@ -140,13 +143,13 @@ gdb_test_no_output "set height $lines"
 
 set test "verify pagination beforehand"
 gdb_test_multiple "python print (\"\\n\" * $lines)" $test {
-    -re "---Type <return>" {
+    -re "--Type <RET>" {
 	exp_continue
     }
-    -re " to continue, or q <return>" {
+    -re " for more, q to quit" {
 	exp_continue
     }
-    -re " to quit---$" {
+    -re ", c to continue without paging--$" {
 	pass $test
     }
 }
@@ -156,13 +159,13 @@ gdb_test "python if gdb.execute('python 
 
 set test "verify pagination afterwards"
 gdb_test_multiple "python print (\"\\n\" * $lines)" $test {
-    -re "---Type <return>" {
+    -re "--Type <RET>" {
 	exp_continue
     }
-    -re " to continue, or q <return>" {
+    -re " for more, q to quit" {
 	exp_continue
     }
-    -re " to quit---$" {
+    -re ", c to continue without paging--$" {
 	pass $test
     }
 }
@@ -474,3 +477,23 @@ gdb_py_test_silent_cmd "step" "Step into
 gdb_py_test_silent_cmd "up" "Step out of func2" 1
 
 gdb_test "python print (gdb.find_pc_line(gdb.selected_frame().pc()).line > line)" "True" "test find_pc_line with resume address"
+
+gdb_test_no_output "set variable \$cvar1 = 23" "set convenience variable"
+gdb_test "python print(gdb.convenience_variable('cvar1'))" "23"
+gdb_test "python print(gdb.convenience_variable('cvar2'))" "None"
+gdb_test_no_output "python gdb.set_convenience_variable('cvar1', 89)" \
+    "change convenience variable from python"
+gdb_test "python print(gdb.convenience_variable('cvar1'))" "89" \
+    "print new value of convenience variable from python"
+gdb_test "print \$cvar1" " = 89" \
+    "print new value of convenience variable from CLI"
+gdb_test_no_output "python gdb.set_convenience_variable('cvar3', -5)" \
+    "make convenience variable from python"
+gdb_test "python print(gdb.convenience_variable('cvar3'))" "-5" \
+    "print value of new convenience variable from python"
+gdb_test_no_output "python gdb.set_convenience_variable('cvar3', None)" \
+    "reset convenience variable from python"
+gdb_test "python print(gdb.convenience_variable('cvar3'))" "None" \
+    "print reset convenience variable from python"
+gdb_test "print \$cvar3" "= void" \
+    "print reset convenience variable from CLI"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-type.c ./gdb/testsuite/gdb.python/py-type.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-type.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-type.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,6 +30,8 @@ struct SS
 typedef struct s TS;
 TS ts;
 
+int aligncheck;
+
 #ifdef __cplusplus
 struct C
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-type.exp ./gdb/testsuite/gdb.python/py-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.python/py-type.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-type.exp	2018-07-10 02:06:13.000000000 +0000
@@ -278,6 +278,10 @@ if { [build_inferior "${binfile}" "c"] =
   gdb_test "python print(gdb.lookup_type('int').optimized_out())" \
       "<optimized out>"
 
+  set sint [get_sizeof int 0]
+  gdb_test "python print(gdb.parse_and_eval('aligncheck').type.alignof)" \
+      $sint
+
   with_test_prefix "lang_c" {
       runto_bp "break to inspect struct and array."
       test_fields "c"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.reverse/i386-precsave.exp ./gdb/testsuite/gdb.reverse/i386-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.reverse/i386-precsave.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/i386-precsave.exp	2018-07-10 02:06:13.000000000 +0000
@@ -74,7 +74,7 @@ gdb_test "record restore $precsave" \
 gdb_test "step" "inc .eax.*" "step to inc eax 1st time"
 send_gdb "info reg eax\n"
 gdb_expect {
-    -re "eax *($hex)\t.*$gdb_prompt " {
+    -re "eax *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_eax $expect_out(1,string)
     }
 }
@@ -82,7 +82,7 @@ gdb_expect {
 gdb_test "step" "inc .ecx.*" "step to inc ecx 1st time"
 send_gdb "info reg ecx\n"
 gdb_expect {
-    -re "ecx *($hex)\t.*$gdb_prompt " {
+    -re "ecx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_ecx $expect_out(1,string)
     }
 }
@@ -90,7 +90,7 @@ gdb_expect {
 gdb_test "step" "inc .edx.*" "step to inc edx 1st time"
 send_gdb "info reg edx\n"
 gdb_expect {
-    -re "edx *($hex)\t.*$gdb_prompt " {
+    -re "edx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_edx $expect_out(1,string)
     }
 }
@@ -98,7 +98,7 @@ gdb_expect {
 gdb_test "step" "inc .ebx.*" "step to inc ebx 1st time"
 send_gdb "info reg ebx\n"
 gdb_expect {
-    -re "ebx *($hex)\t.*$gdb_prompt " {
+    -re "ebx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_ebx $expect_out(1,string)
     }
 }
@@ -106,7 +106,7 @@ gdb_expect {
 gdb_test "step" "inc .esp.*" "step to inc esp 1st time"
 send_gdb "info reg esp\n"
 gdb_expect {
-    -re "esp *($hex)\t.*$gdb_prompt " {
+    -re "esp *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_esp $expect_out(1,string)
     }
 }
@@ -114,7 +114,7 @@ gdb_expect {
 gdb_test "step" "inc .ebp.*" "step to inc ebp 1st time"
 send_gdb "info reg ebp\n"
 gdb_expect {
-    -re "ebp *($hex)\t.*$gdb_prompt " {
+    -re "ebp *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_ebp $expect_out(1,string)
     }
 }
@@ -122,7 +122,7 @@ gdb_expect {
 gdb_test "step" "inc .esi.*" "step to inc esi 1st time"
 send_gdb "info reg esi\n"
 gdb_expect {
-    -re "esi *($hex)\t.*$gdb_prompt " {
+    -re "esi *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_esi $expect_out(1,string)
     }
 }
@@ -130,7 +130,7 @@ gdb_expect {
 gdb_test "step" "inc .edi.*" "step to inc edi 1st time"
 send_gdb "info reg edi\n"
 gdb_expect {
-    -re "edi *($hex)\t.*$gdb_prompt " {
+    -re "edi *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_edi $expect_out(1,string)
     }
 }
@@ -138,7 +138,7 @@ gdb_expect {
 gdb_test "step" "dec .eax.*" "step to dec eax 1st time"
 send_gdb "info reg eax\n"
 gdb_expect {
-    -re "eax *($hex)\t.*$gdb_prompt " {
+    -re "eax *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_eax $expect_out(1,string)
     }
 }
@@ -146,7 +146,7 @@ gdb_expect {
 gdb_test "step" "dec .ecx.*" "step to dec ecx 1st time"
 send_gdb "info reg ecx\n"
 gdb_expect {
-    -re "ecx *($hex)\t.*$gdb_prompt " {
+    -re "ecx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_ecx $expect_out(1,string)
     }
 }
@@ -154,7 +154,7 @@ gdb_expect {
 gdb_test "step" "dec .edx.*" "step to dec edx 1st time"
 send_gdb "info reg edx\n"
 gdb_expect {
-    -re "edx *($hex)\t.*$gdb_prompt " {
+    -re "edx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_edx $expect_out(1,string)
     }
 }
@@ -162,7 +162,7 @@ gdb_expect {
 gdb_test "step" "dec .ebx.*" "step to dec ebx 1st time"
 send_gdb "info reg ebx\n"
 gdb_expect {
-    -re "ebx *($hex)\t.*$gdb_prompt " {
+    -re "ebx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_ebx $expect_out(1,string)
     }
 }
@@ -170,7 +170,7 @@ gdb_expect {
 gdb_test "step" "dec .esp.*" "step to dec esp 1st time"
 send_gdb "info reg esp\n"
 gdb_expect {
-    -re "esp *($hex)\t.*$gdb_prompt " {
+    -re "esp *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_esp $expect_out(1,string)
     }
 }
@@ -178,7 +178,7 @@ gdb_expect {
 gdb_test "step" "dec .ebp.*" "step to dec ebp 1st time"
 send_gdb "info reg ebp\n"
 gdb_expect {
-    -re "ebp *($hex)\t.*$gdb_prompt " {
+    -re "ebp *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_ebp $expect_out(1,string)
     }
 }
@@ -186,7 +186,7 @@ gdb_expect {
 gdb_test "step" "dec .esi.*" "step to dec esi 1st time"
 send_gdb "info reg esi\n"
 gdb_expect {
-    -re "esi *($hex)\t.*$gdb_prompt " {
+    -re "esi *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_esi $expect_out(1,string)
     }
 }
@@ -194,7 +194,7 @@ gdb_expect {
 gdb_test "step" "dec .edi.*" "step to dec edi 1st time"
 send_gdb "info reg edi\n"
 gdb_expect {
-    -re "edi *($hex)\t.*$gdb_prompt " {
+    -re "edi *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_edi $expect_out(1,string)
     }
 }
@@ -221,68 +221,68 @@ gdb_test "reverse-continue" \
 # Now reverse step, and check register values.
 #
 
-gdb_test "info reg edi" "edi *$preinc_edi\t.*" "edi before reverse-dec"
+gdb_test "info reg edi" "edi *$preinc_edi\[ \t\]+.*" "edi before reverse-dec"
 gdb_test "reverse-step" "dec .edi.*" "reverse-step to dec edi"
-gdb_test "info reg edi" "edi *$predec_edi\t.*" "edi after reverse-dec"
+gdb_test "info reg edi" "edi *$predec_edi\[ \t\]+.*" "edi after reverse-dec"
 
-gdb_test "info reg esi" "esi *$preinc_esi\t.*" "esi before reverse-dec"
+gdb_test "info reg esi" "esi *$preinc_esi\[ \t\]+.*" "esi before reverse-dec"
 gdb_test "reverse-step" "dec .esi.*" "reverse-step to dec esi"
-gdb_test "info reg esi" "esi *$predec_esi\t.*" "esi after reverse-dec"
+gdb_test "info reg esi" "esi *$predec_esi\[ \t\]+.*" "esi after reverse-dec"
 
-gdb_test "info reg ebp" "ebp *$preinc_ebp\t.*" "ebp before reverse-dec"
+gdb_test "info reg ebp" "ebp *$preinc_ebp\[ \t\]+.*" "ebp before reverse-dec"
 gdb_test "reverse-step" "dec .ebp.*" "reverse-step to dec ebp"
-gdb_test "info reg ebp" "ebp *$predec_ebp\t.*" "ebp after reverse-dec"
+gdb_test "info reg ebp" "ebp *$predec_ebp\[ \t\]+.*" "ebp after reverse-dec"
 
-gdb_test "info reg esp" "esp *$preinc_esp\t.*" "esp before reverse-dec"
+gdb_test "info reg esp" "esp *$preinc_esp\[ \t\]+.*" "esp before reverse-dec"
 gdb_test "reverse-step" "dec .esp.*" "reverse-step to dec esp"
-gdb_test "info reg esp" "esp *$predec_esp\t.*" "esp after reverse-dec"
+gdb_test "info reg esp" "esp *$predec_esp\[ \t\]+.*" "esp after reverse-dec"
 
-gdb_test "info reg ebx" "ebx *$preinc_ebx\t.*" "ebx before reverse-dec"
+gdb_test "info reg ebx" "ebx *$preinc_ebx\[ \t\]+.*" "ebx before reverse-dec"
 gdb_test "reverse-step" "dec .ebx.*" "reverse-step to dec ebx"
-gdb_test "info reg ebx" "ebx *$predec_ebx\t.*" "ebx after reverse-dec"
+gdb_test "info reg ebx" "ebx *$predec_ebx\[ \t\]+.*" "ebx after reverse-dec"
 
-gdb_test "info reg edx" "edx *$preinc_edx\t.*" "edx before reverse-dec"
+gdb_test "info reg edx" "edx *$preinc_edx\[ \t\]+.*" "edx before reverse-dec"
 gdb_test "reverse-step" "dec .edx.*" "reverse-step to dec edx"
-gdb_test "info reg edx" "edx *$predec_edx\t.*" "edx after reverse-dec"
+gdb_test "info reg edx" "edx *$predec_edx\[ \t\]+.*" "edx after reverse-dec"
 
-gdb_test "info reg ecx" "ecx *$preinc_ecx\t.*" "ecx before reverse-dec"
+gdb_test "info reg ecx" "ecx *$preinc_ecx\[ \t\]+.*" "ecx before reverse-dec"
 gdb_test "reverse-step" "dec .ecx.*" "reverse-step to dec ecx"
-gdb_test "info reg ecx" "ecx *$predec_ecx\t.*" "ecx after reverse-dec"
+gdb_test "info reg ecx" "ecx *$predec_ecx\[ \t\]+.*" "ecx after reverse-dec"
 
-gdb_test "info reg eax" "eax *$preinc_eax\t.*" "eax before reverse-dec"
+gdb_test "info reg eax" "eax *$preinc_eax\[ \t\]+.*" "eax before reverse-dec"
 gdb_test "reverse-step" "dec .eax.*" "reverse-step to dec eax"
-gdb_test "info reg eax" "eax *$predec_eax\t.*" "eax after reverse-dec"
+gdb_test "info reg eax" "eax *$predec_eax\[ \t\]+.*" "eax after reverse-dec"
 
-gdb_test "info reg edi" "edi *$predec_edi\t.*" "edi before reverse-inc"
+gdb_test "info reg edi" "edi *$predec_edi\[ \t\]+.*" "edi before reverse-inc"
 gdb_test "reverse-step" "inc .edi.*" "reverse-step to inc edi"
-gdb_test "info reg edi" "edi *$preinc_edi\t.*" "edi after reverse-inc"
+gdb_test "info reg edi" "edi *$preinc_edi\[ \t\]+.*" "edi after reverse-inc"
 
-gdb_test "info reg esi" "esi *$predec_esi\t.*" "esi before reverse-inc"
+gdb_test "info reg esi" "esi *$predec_esi\[ \t\]+.*" "esi before reverse-inc"
 gdb_test "reverse-step" "inc .esi.*" "reverse-step to inc esi"
-gdb_test "info reg esi" "esi *$preinc_esi\t.*" "esi after reverse-inc"
+gdb_test "info reg esi" "esi *$preinc_esi\[ \t\]+.*" "esi after reverse-inc"
 
-gdb_test "info reg ebp" "ebp *$predec_ebp\t.*" "ebp before reverse-inc"
+gdb_test "info reg ebp" "ebp *$predec_ebp\[ \t\]+.*" "ebp before reverse-inc"
 gdb_test "reverse-step" "inc .ebp.*" "reverse-step to inc ebp"
-gdb_test "info reg ebp" "ebp *$preinc_ebp\t.*" "ebp after reverse-inc"
+gdb_test "info reg ebp" "ebp *$preinc_ebp\[ \t\]+.*" "ebp after reverse-inc"
 
-gdb_test "info reg esp" "esp *$predec_esp\t.*" "esp before reverse-inc"
+gdb_test "info reg esp" "esp *$predec_esp\[ \t\]+.*" "esp before reverse-inc"
 gdb_test "reverse-step" "inc .esp.*" "reverse-step to inc esp"
-gdb_test "info reg esp" "esp *$preinc_esp\t.*" "esp after reverse-inc"
+gdb_test "info reg esp" "esp *$preinc_esp\[ \t\]+.*" "esp after reverse-inc"
 
-gdb_test "info reg ebx" "ebx *$predec_ebx\t.*" "ebx before reverse-inc"
+gdb_test "info reg ebx" "ebx *$predec_ebx\[ \t\]+.*" "ebx before reverse-inc"
 gdb_test "reverse-step" "inc .ebx.*" "reverse-step to inc ebx"
-gdb_test "info reg ebx" "ebx *$preinc_ebx\t.*" "ebx after reverse-inc"
+gdb_test "info reg ebx" "ebx *$preinc_ebx\[ \t\]+.*" "ebx after reverse-inc"
 
-gdb_test "info reg edx" "edx *$predec_edx\t.*" "edx before reverse-inc"
+gdb_test "info reg edx" "edx *$predec_edx\[ \t\]+.*" "edx before reverse-inc"
 gdb_test "reverse-step" "inc .edx.*" "reverse-step to inc edx"
-gdb_test "info reg edx" "edx *$preinc_edx\t.*" "edx after reverse-inc"
+gdb_test "info reg edx" "edx *$preinc_edx\[ \t\]+.*" "edx after reverse-inc"
 
-gdb_test "info reg ecx" "ecx *$predec_ecx\t.*" "ecx before reverse-inc"
+gdb_test "info reg ecx" "ecx *$predec_ecx\[ \t\]+.*" "ecx before reverse-inc"
 gdb_test "reverse-step" "inc .ecx.*" "reverse-step to inc ecx"
-gdb_test "info reg ecx" "ecx *$preinc_ecx\t.*" "ecx after reverse-inc"
+gdb_test "info reg ecx" "ecx *$preinc_ecx\[ \t\]+.*" "ecx after reverse-inc"
 
-gdb_test "info reg eax" "eax *$predec_eax\t.*" "eax before reverse-inc"
+gdb_test "info reg eax" "eax *$predec_eax\[ \t\]+.*" "eax before reverse-inc"
 gdb_test "reverse-step" "inc .eax.*" "reverse-step to inc eax"
-gdb_test "info reg eax" "eax *$preinc_eax\t.*" "eax after reverse-inc"
+gdb_test "info reg eax" "eax *$preinc_eax\[ \t\]+.*" "eax after reverse-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.1.0.20180703/gdb/testsuite/gdb.reverse/i386-reverse.exp ./gdb/testsuite/gdb.reverse/i386-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.reverse/i386-reverse.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/i386-reverse.exp	2018-07-10 02:06:13.000000000 +0000
@@ -55,7 +55,7 @@ global decimal
 gdb_test "step" "inc .eax.*" "step to inc eax 1st time"
 send_gdb "info reg eax\n"
 gdb_expect {
-    -re "eax *($hex)\t.*$gdb_prompt " {
+    -re "eax *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_eax $expect_out(1,string)
     }
 }
@@ -63,7 +63,7 @@ gdb_expect {
 gdb_test "step" "inc .ecx.*" "step to inc ecx 1st time"
 send_gdb "info reg ecx\n"
 gdb_expect {
-    -re "ecx *($hex)\t.*$gdb_prompt " {
+    -re "ecx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_ecx $expect_out(1,string)
     }
 }
@@ -71,7 +71,7 @@ gdb_expect {
 gdb_test "step" "inc .edx.*" "step to inc edx 1st time"
 send_gdb "info reg edx\n"
 gdb_expect {
-    -re "edx *($hex)\t.*$gdb_prompt " {
+    -re "edx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_edx $expect_out(1,string)
     }
 }
@@ -79,7 +79,7 @@ gdb_expect {
 gdb_test "step" "inc .ebx.*" "step to inc ebx 1st time"
 send_gdb "info reg ebx\n"
 gdb_expect {
-    -re "ebx *($hex)\t.*$gdb_prompt " {
+    -re "ebx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_ebx $expect_out(1,string)
     }
 }
@@ -87,7 +87,7 @@ gdb_expect {
 gdb_test "step" "inc .esp.*" "step to inc esp 1st time"
 send_gdb "info reg esp\n"
 gdb_expect {
-    -re "esp *($hex)\t.*$gdb_prompt " {
+    -re "esp *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_esp $expect_out(1,string)
     }
 }
@@ -95,7 +95,7 @@ gdb_expect {
 gdb_test "step" "inc .ebp.*" "step to inc ebp 1st time"
 send_gdb "info reg ebp\n"
 gdb_expect {
-    -re "ebp *($hex)\t.*$gdb_prompt " {
+    -re "ebp *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_ebp $expect_out(1,string)
     }
 }
@@ -103,7 +103,7 @@ gdb_expect {
 gdb_test "step" "inc .esi.*" "step to inc esi 1st time"
 send_gdb "info reg esi\n"
 gdb_expect {
-    -re "esi *($hex)\t.*$gdb_prompt " {
+    -re "esi *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_esi $expect_out(1,string)
     }
 }
@@ -111,7 +111,7 @@ gdb_expect {
 gdb_test "step" "inc .edi.*" "step to inc edi 1st time"
 send_gdb "info reg edi\n"
 gdb_expect {
-    -re "edi *($hex)\t.*$gdb_prompt " {
+    -re "edi *($hex)\[ \t\]+.*$gdb_prompt " {
 	set preinc_edi $expect_out(1,string)
     }
 }
@@ -119,7 +119,7 @@ gdb_expect {
 gdb_test "step" "dec .eax.*" "step to dec eax 1st time"
 send_gdb "info reg eax\n"
 gdb_expect {
-    -re "eax *($hex)\t.*$gdb_prompt " {
+    -re "eax *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_eax $expect_out(1,string)
     }
 }
@@ -127,7 +127,7 @@ gdb_expect {
 gdb_test "step" "dec .ecx.*" "step to dec ecx 1st time"
 send_gdb "info reg ecx\n"
 gdb_expect {
-    -re "ecx *($hex)\t.*$gdb_prompt " {
+    -re "ecx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_ecx $expect_out(1,string)
     }
 }
@@ -135,7 +135,7 @@ gdb_expect {
 gdb_test "step" "dec .edx.*" "step to dec edx 1st time"
 send_gdb "info reg edx\n"
 gdb_expect {
-    -re "edx *($hex)\t.*$gdb_prompt " {
+    -re "edx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_edx $expect_out(1,string)
     }
 }
@@ -143,7 +143,7 @@ gdb_expect {
 gdb_test "step" "dec .ebx.*" "step to dec ebx 1st time"
 send_gdb "info reg ebx\n"
 gdb_expect {
-    -re "ebx *($hex)\t.*$gdb_prompt " {
+    -re "ebx *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_ebx $expect_out(1,string)
     }
 }
@@ -151,7 +151,7 @@ gdb_expect {
 gdb_test "step" "dec .esp.*" "step to dec esp 1st time"
 send_gdb "info reg esp\n"
 gdb_expect {
-    -re "esp *($hex)\t.*$gdb_prompt " {
+    -re "esp *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_esp $expect_out(1,string)
     }
 }
@@ -159,7 +159,7 @@ gdb_expect {
 gdb_test "step" "dec .ebp.*" "step to dec ebp 1st time"
 send_gdb "info reg ebp\n"
 gdb_expect {
-    -re "ebp *($hex)\t.*$gdb_prompt " {
+    -re "ebp *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_ebp $expect_out(1,string)
     }
 }
@@ -167,7 +167,7 @@ gdb_expect {
 gdb_test "step" "dec .esi.*" "step to dec esi 1st time"
 send_gdb "info reg esi\n"
 gdb_expect {
-    -re "esi *($hex)\t.*$gdb_prompt " {
+    -re "esi *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_esi $expect_out(1,string)
     }
 }
@@ -175,7 +175,7 @@ gdb_expect {
 gdb_test "step" "dec .edi.*" "step to dec edi 1st time"
 send_gdb "info reg edi\n"
 gdb_expect {
-    -re "edi *($hex)\t.*$gdb_prompt " {
+    -re "edi *($hex)\[ \t\]+.*$gdb_prompt " {
 	set predec_edi $expect_out(1,string)
     }
 }
@@ -202,68 +202,68 @@ gdb_test "reverse-continue" \
 # Now reverse step, and check register values.
 #
 
-gdb_test "info reg edi" "edi *$preinc_edi\t.*" "edi before reverse-dec"
+gdb_test "info reg edi" "edi *$preinc_edi\[ \t\]+.*" "edi before reverse-dec"
 gdb_test "reverse-step" "dec .edi.*" "reverse-step to dec edi"
-gdb_test "info reg edi" "edi *$predec_edi\t.*" "edi after reverse-dec"
+gdb_test "info reg edi" "edi *$predec_edi\[ \t\]+.*" "edi after reverse-dec"
 
-gdb_test "info reg esi" "esi *$preinc_esi\t.*" "esi before reverse-dec"
+gdb_test "info reg esi" "esi *$preinc_esi\[ \t\]+.*" "esi before reverse-dec"
 gdb_test "reverse-step" "dec .esi.*" "reverse-step to dec esi"
-gdb_test "info reg esi" "esi *$predec_esi\t.*" "esi after reverse-dec"
+gdb_test "info reg esi" "esi *$predec_esi\[ \t\]+.*" "esi after reverse-dec"
 
-gdb_test "info reg ebp" "ebp *$preinc_ebp\t.*" "ebp before reverse-dec"
+gdb_test "info reg ebp" "ebp *$preinc_ebp\[ \t\]+.*" "ebp before reverse-dec"
 gdb_test "reverse-step" "dec .ebp.*" "reverse-step to dec ebp"
-gdb_test "info reg ebp" "ebp *$predec_ebp\t.*" "ebp after reverse-dec"
+gdb_test "info reg ebp" "ebp *$predec_ebp\[ \t\]+.*" "ebp after reverse-dec"
 
-gdb_test "info reg esp" "esp *$preinc_esp\t.*" "esp before reverse-dec"
+gdb_test "info reg esp" "esp *$preinc_esp\[ \t\]+.*" "esp before reverse-dec"
 gdb_test "reverse-step" "dec .esp.*" "reverse-step to dec esp"
-gdb_test "info reg esp" "esp *$predec_esp\t.*" "esp after reverse-dec"
+gdb_test "info reg esp" "esp *$predec_esp\[ \t\]+.*" "esp after reverse-dec"
 
-gdb_test "info reg ebx" "ebx *$preinc_ebx\t.*" "ebx before reverse-dec"
+gdb_test "info reg ebx" "ebx *$preinc_ebx\[ \t\]+.*" "ebx before reverse-dec"
 gdb_test "reverse-step" "dec .ebx.*" "reverse-step to dec ebx"
-gdb_test "info reg ebx" "ebx *$predec_ebx\t.*" "ebx after reverse-dec"
+gdb_test "info reg ebx" "ebx *$predec_ebx\[ \t\]+.*" "ebx after reverse-dec"
 
-gdb_test "info reg edx" "edx *$preinc_edx\t.*" "edx before reverse-dec"
+gdb_test "info reg edx" "edx *$preinc_edx\[ \t\]+.*" "edx before reverse-dec"
 gdb_test "reverse-step" "dec .edx.*" "reverse-step to dec edx"
-gdb_test "info reg edx" "edx *$predec_edx\t.*" "edx after reverse-dec"
+gdb_test "info reg edx" "edx *$predec_edx\[ \t\]+.*" "edx after reverse-dec"
 
-gdb_test "info reg ecx" "ecx *$preinc_ecx\t.*" "ecx before reverse-dec"
+gdb_test "info reg ecx" "ecx *$preinc_ecx\[ \t\]+.*" "ecx before reverse-dec"
 gdb_test "reverse-step" "dec .ecx.*" "reverse-step to dec ecx"
-gdb_test "info reg ecx" "ecx *$predec_ecx\t.*" "ecx after reverse-dec"
+gdb_test "info reg ecx" "ecx *$predec_ecx\[ \t\]+.*" "ecx after reverse-dec"
 
-gdb_test "info reg eax" "eax *$preinc_eax\t.*" "eax before reverse-dec"
+gdb_test "info reg eax" "eax *$preinc_eax\[ \t\]+.*" "eax before reverse-dec"
 gdb_test "reverse-step" "dec .eax.*" "reverse-step to dec eax"
-gdb_test "info reg eax" "eax *$predec_eax\t.*" "eax after reverse-dec"
+gdb_test "info reg eax" "eax *$predec_eax\[ \t\]+.*" "eax after reverse-dec"
 
-gdb_test "info reg edi" "edi *$predec_edi\t.*" "edi before reverse-inc"
+gdb_test "info reg edi" "edi *$predec_edi\[ \t\]+.*" "edi before reverse-inc"
 gdb_test "reverse-step" "inc .edi.*" "reverse-step to inc edi"
-gdb_test "info reg edi" "edi *$preinc_edi\t.*" "edi after reverse-inc"
+gdb_test "info reg edi" "edi *$preinc_edi\[ \t\]+.*" "edi after reverse-inc"
 
-gdb_test "info reg esi" "esi *$predec_esi\t.*" "esi before reverse-inc"
+gdb_test "info reg esi" "esi *$predec_esi\[ \t\]+.*" "esi before reverse-inc"
 gdb_test "reverse-step" "inc .esi.*" "reverse-step to inc esi"
-gdb_test "info reg esi" "esi *$preinc_esi\t.*" "esi after reverse-inc"
+gdb_test "info reg esi" "esi *$preinc_esi\[ \t\]+.*" "esi after reverse-inc"
 
-gdb_test "info reg ebp" "ebp *$predec_ebp\t.*" "ebp before reverse-inc"
+gdb_test "info reg ebp" "ebp *$predec_ebp\[ \t\]+.*" "ebp before reverse-inc"
 gdb_test "reverse-step" "inc .ebp.*" "reverse-step to inc ebp"
-gdb_test "info reg ebp" "ebp *$preinc_ebp\t.*" "ebp after reverse-inc"
+gdb_test "info reg ebp" "ebp *$preinc_ebp\[ \t\]+.*" "ebp after reverse-inc"
 
-gdb_test "info reg esp" "esp *$predec_esp\t.*" "esp before reverse-inc"
+gdb_test "info reg esp" "esp *$predec_esp\[ \t\]+.*" "esp before reverse-inc"
 gdb_test "reverse-step" "inc .esp.*" "reverse-step to inc esp"
-gdb_test "info reg esp" "esp *$preinc_esp\t.*" "esp after reverse-inc"
+gdb_test "info reg esp" "esp *$preinc_esp\[ \t\]+.*" "esp after reverse-inc"
 
-gdb_test "info reg ebx" "ebx *$predec_ebx\t.*" "ebx before reverse-inc"
+gdb_test "info reg ebx" "ebx *$predec_ebx\[ \t\]+.*" "ebx before reverse-inc"
 gdb_test "reverse-step" "inc .ebx.*" "reverse-step to inc ebx"
-gdb_test "info reg ebx" "ebx *$preinc_ebx\t.*" "ebx after reverse-inc"
+gdb_test "info reg ebx" "ebx *$preinc_ebx\[ \t\]+.*" "ebx after reverse-inc"
 
-gdb_test "info reg edx" "edx *$predec_edx\t.*" "edx before reverse-inc"
+gdb_test "info reg edx" "edx *$predec_edx\[ \t\]+.*" "edx before reverse-inc"
 gdb_test "reverse-step" "inc .edx.*" "reverse-step to inc edx"
-gdb_test "info reg edx" "edx *$preinc_edx\t.*" "edx after reverse-inc"
+gdb_test "info reg edx" "edx *$preinc_edx\[ \t\]+.*" "edx after reverse-inc"
 
-gdb_test "info reg ecx" "ecx *$predec_ecx\t.*" "ecx before reverse-inc"
+gdb_test "info reg ecx" "ecx *$predec_ecx\[ \t\]+.*" "ecx before reverse-inc"
 gdb_test "reverse-step" "inc .ecx.*" "reverse-step to inc ecx"
-gdb_test "info reg ecx" "ecx *$preinc_ecx\t.*" "ecx after reverse-inc"
+gdb_test "info reg ecx" "ecx *$preinc_ecx\[ \t\]+.*" "ecx after reverse-inc"
 
-gdb_test "info reg eax" "eax *$predec_eax\t.*" "eax before reverse-inc"
+gdb_test "info reg eax" "eax *$predec_eax\[ \t\]+.*" "eax before reverse-inc"
 gdb_test "reverse-step" "inc .eax.*" "reverse-step to inc eax"
-gdb_test "info reg eax" "eax *$preinc_eax\t.*" "eax after reverse-inc"
+gdb_test "info reg eax" "eax *$preinc_eax\[ \t\]+.*" "eax after reverse-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.1.0.20180703/gdb/testsuite/gdb.reverse/i387-env-reverse.exp ./gdb/testsuite/gdb.reverse/i387-env-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.reverse/i387-env-reverse.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/i387-env-reverse.exp	2018-07-10 02:06:13.000000000 +0000
@@ -63,68 +63,68 @@ gdb_test "n" "asm.*frstor.*"            
 gdb_test "n" "asm.*fstsw.*"               "store status word in EAX"
 gdb_test "n" "asm.*fld1.*"                "push st0"
 
-gdb_test "info register eax" "eax *0x8040000.*\t.*"  "verify eax == 0x8040000"
-gdb_test "info register fstat" "fstat *0.*\t.*"      "verify fstat == 0"
-gdb_test "info register ftag" "ftag *0xffff.*\t.*"   "verify ftag == 0xffff"
+gdb_test "info register eax" "eax *0x8040000.*\[ \t\]+.*"  "verify eax == 0x8040000"
+gdb_test "info register fstat" "fstat *0.*\[ \t\]+.*"      "verify fstat == 0"
+gdb_test "info register ftag" "ftag *0xffff.*\[ \t\]+.*"   "verify ftag == 0xffff"
 
 gdb_test "stepi" "asm.*fldl2t.*"                      "push st0"
-gdb_test "info register fstat" "fstat *0x3800.*\t.*"  "verify fstat == 0x3800"
-gdb_test "info register ftag" "ftag *0x3fff.*\t.*"    "verify ftag  == 0x3fff"
+gdb_test "info register fstat" "fstat *0x3800.*\[ \t\]+.*"  "verify fstat == 0x3800"
+gdb_test "info register ftag" "ftag *0x3fff.*\[ \t\]+.*"    "verify ftag  == 0x3fff"
 
 gdb_test "stepi" "asm.*fldl2e.*"                  "push st0"
-gdb_test "info register fstat" "fstat *0x3000.*\t.*"  "verify fstat == 0x3000"
-gdb_test "info register ftag" "ftag *0xfff.*\t.*"     "verify ftag  == 0xfff"
+gdb_test "info register fstat" "fstat *0x3000.*\[ \t\]+.*"  "verify fstat == 0x3000"
+gdb_test "info register ftag" "ftag *0xfff.*\[ \t\]+.*"     "verify ftag  == 0xfff"
 
 gdb_test "stepi" "asm.*fldpi.*"                   "push st0"
-gdb_test "info register fstat" "fstat *0x2800.*\t.*"  "verify fstat == 0x2800"
-gdb_test "info register ftag" "ftag *0x3ff.*\t.*"     "verify ftag  == 0x3ff"
+gdb_test "info register fstat" "fstat *0x2800.*\[ \t\]+.*"  "verify fstat == 0x2800"
+gdb_test "info register ftag" "ftag *0x3ff.*\[ \t\]+.*"     "verify ftag  == 0x3ff"
 
 gdb_test "stepi" "asm.*fldlg2.*"                  "push st0"
-gdb_test "info register fstat" "fstat *0x2000.*\t.*"  "verify fstat == 0x2000"
-gdb_test "info register ftag" "ftag *0xff.*\t.*"      "verify ftag  == 0xff"
+gdb_test "info register fstat" "fstat *0x2000.*\[ \t\]+.*"  "verify fstat == 0x2000"
+gdb_test "info register ftag" "ftag *0xff.*\[ \t\]+.*"      "verify ftag  == 0xff"
 
 gdb_test "stepi" "asm.*fldln2.*"                  "push st0"
-gdb_test "info register fstat" "fstat *0x1800.*\t.*"  "verify fstat == 0x1800"
-gdb_test "info register ftag" "ftag *0x3f.*\t.*"      "verify ftag  == 0x3f"
+gdb_test "info register fstat" "fstat *0x1800.*\[ \t\]+.*"  "verify fstat == 0x1800"
+gdb_test "info register ftag" "ftag *0x3f.*\[ \t\]+.*"      "verify ftag  == 0x3f"
 
 gdb_test "stepi" "asm.*fldz.*"                    "push st0"
-gdb_test "info register fstat" "fstat *0x1000.*\t.*"  "verify fstat == 0x1000"
-gdb_test "info register ftag" "ftag *0xf.*\t.*"       "verify ftag  == 0xf"
+gdb_test "info register fstat" "fstat *0x1000.*\[ \t\]+.*"  "verify fstat == 0x1000"
+gdb_test "info register ftag" "ftag *0xf.*\[ \t\]+.*"       "verify ftag  == 0xf"
 
 gdb_test "stepi" "asm.*nop.*"                    "push st0"
-gdb_test "info register fstat" "fstat *0x800.*\t.*"  "verify fstat == 0x800"
-gdb_test "info register ftag" "ftag *0x7.*\t.*"      "verify ftag  == 0x7"
+gdb_test "info register fstat" "fstat *0x800.*\[ \t\]+.*"  "verify fstat == 0x800"
+gdb_test "info register ftag" "ftag *0x7.*\[ \t\]+.*"      "verify ftag  == 0x7"
 
 
 # move backward and ehck we get the same registers back.
 
 gdb_test "reverse-stepi" "asm.*fldz.*"           "push st0"
-gdb_test "info register fstat" "fstat *0x1000.*\t.*" "verify fstat == 0x1000"
-gdb_test "info register ftag" "ftag *0xf.*\t.*"      "verify ftag  == 0xf"
+gdb_test "info register fstat" "fstat *0x1000.*\[ \t\]+.*" "verify fstat == 0x1000"
+gdb_test "info register ftag" "ftag *0xf.*\[ \t\]+.*"      "verify ftag  == 0xf"
 
 gdb_test "reverse-stepi" "asm.*fldln2.*"          "push st0"
-gdb_test "info register fstat" "fstat *0x1800.*\t.*"  "verify fstat == 0x1800"
-gdb_test "info register ftag" "ftag *0x3f.*\t.*"      "verify ftag  == 0x3f"
+gdb_test "info register fstat" "fstat *0x1800.*\[ \t\]+.*"  "verify fstat == 0x1800"
+gdb_test "info register ftag" "ftag *0x3f.*\[ \t\]+.*"      "verify ftag  == 0x3f"
 
 gdb_test "reverse-stepi" "asm.*fldlg2.*"          "push st0"
-gdb_test "info register fstat" "fstat *0x2000.*\t.*"  "verify fstat == 0x2000"
-gdb_test "info register ftag" "ftag *0xff.*\t.*"      "verify ftag  == 0xff"
+gdb_test "info register fstat" "fstat *0x2000.*\[ \t\]+.*"  "verify fstat == 0x2000"
+gdb_test "info register ftag" "ftag *0xff.*\[ \t\]+.*"      "verify ftag  == 0xff"
 
 gdb_test "reverse-stepi" "asm.*fldpi.*"          "push st0"
-gdb_test "info register fstat" "fstat *0x2800.*\t.*" "verify fstat == 0x2800"
-gdb_test "info register ftag" "ftag *0x3ff.*\t.*"    "verify ftag  == 0x3ff"
+gdb_test "info register fstat" "fstat *0x2800.*\[ \t\]+.*" "verify fstat == 0x2800"
+gdb_test "info register ftag" "ftag *0x3ff.*\[ \t\]+.*"    "verify ftag  == 0x3ff"
 
 gdb_test "reverse-stepi" "asm.*fldl2e.*"          "push st0"
-gdb_test "info register fstat" "fstat *0x3000.*\t.*"  "verify fstat == 0x3000"
-gdb_test "info register ftag" "ftag *0xfff.*\t.*"     "verify ftag  == 0xfff"
+gdb_test "info register fstat" "fstat *0x3000.*\[ \t\]+.*"  "verify fstat == 0x3000"
+gdb_test "info register ftag" "ftag *0xfff.*\[ \t\]+.*"     "verify ftag  == 0xfff"
 
 gdb_test "reverse-stepi" "asm.*fldl2t.*"          "push st0"
-gdb_test "info register fstat" "fstat *0x3800.*\t.*"  "verify fstat == 0x3800"
-gdb_test "info register ftag" "ftag *0x3fff.*\t.*"    "verify ftag  == 0x3fff"
+gdb_test "info register fstat" "fstat *0x3800.*\[ \t\]+.*"  "verify fstat == 0x3800"
+gdb_test "info register ftag" "ftag *0x3fff.*\[ \t\]+.*"    "verify ftag  == 0x3fff"
 
 gdb_test "reverse-stepi" "asm.*fld1.*"            "push st0"
-gdb_test "info register fstat" "fstat *0.*\t.*"       "verify fstat == 0"
-gdb_test "info register ftag" "ftag *0xffff.*\t.*"    "verify ftag == 0xffff"
+gdb_test "info register fstat" "fstat *0.*\[ \t\]+.*"       "verify fstat == 0"
+gdb_test "info register ftag" "ftag *0xffff.*\[ \t\]+.*"    "verify ftag == 0xffff"
 
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.reverse/i387-stack-reverse.exp ./gdb/testsuite/gdb.reverse/i387-stack-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.reverse/i387-stack-reverse.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/i387-stack-reverse.exp	2018-07-10 02:06:13.000000000 +0000
@@ -56,102 +56,102 @@ set location [gdb_get_line_number "test 
 gdb_test "until $location" ".*$srcfile:$location.*asm.*fld1.*" \
     "begin test st0"
 gdb_test "stepi" "asm.*fldl2t.*"              "push st0 == 1"
-gdb_test "info register st0" "st0 *1\t.*"     "verify st0 == 1"
+gdb_test "info register st0" "st0 *1\[ \t\]+.*"     "verify st0 == 1"
 
 
 gdb_test "stepi" "asm.*fldl2e.*"              "push st0 == 3.3219280948*"
-gdb_test "info register st0" "st0 *3.32192.*\t.*" "verify st0 == 3.321928094*"
-gdb_test "info register st1" "st1 *1\t.*"       "verify st1 == 1"
+gdb_test "info register st0" "st0 *3.32192.*\[ \t\]+.*" "verify st0 == 3.321928094*"
+gdb_test "info register st1" "st1 *1\[ \t\]+.*"       "verify st1 == 1"
 
 gdb_test "stepi" "asm.*fldpi.*"                   "push st0 == 1.4426950406*"
-gdb_test "info register st0" "st0 *1.44269.*\t.*" "verify st0 == 1.442695040*"
-gdb_test "info register st1" "st1 *3.32192.*\t.*" "verify st1 == 3.3219280948*"
-gdb_test "info register st2" "st2 *1\t.*"         "verify st2 == 1"
+gdb_test "info register st0" "st0 *1.44269.*\[ \t\]+.*" "verify st0 == 1.442695040*"
+gdb_test "info register st1" "st1 *3.32192.*\[ \t\]+.*" "verify st1 == 3.3219280948*"
+gdb_test "info register st2" "st2 *1\[ \t\]+.*"         "verify st2 == 1"
                                                
 gdb_test "stepi" "asm.*fldlg2.*"                  "push st0 == 3.14159265*"
-gdb_test "info register st0" "st0 *3.14159.*\t.*" "verify st0 == 3.14159265*"
-gdb_test "info register st1" "st1 *1.44269.*\t.*" "verify st1 == 1.4426950*"
-gdb_test "info register st2" "st2 *3.32192.*\t.*" "verify st2 == 3.3219280*"
-gdb_test "info register st3" "st3 *1\t.*"          "verify st3 == 1"
+gdb_test "info register st0" "st0 *3.14159.*\[ \t\]+.*" "verify st0 == 3.14159265*"
+gdb_test "info register st1" "st1 *1.44269.*\[ \t\]+.*" "verify st1 == 1.4426950*"
+gdb_test "info register st2" "st2 *3.32192.*\[ \t\]+.*" "verify st2 == 3.3219280*"
+gdb_test "info register st3" "st3 *1\[ \t\]+.*"          "verify st3 == 1"
 
 gdb_test "stepi" "asm.*fldln2.*"                  "push st0 == 0.301029*"
-gdb_test "info register st0" "st0 *0.30102.*\t.*" "verify st0 == 0.301029*"
-gdb_test "info register st1" "st1 *3.14159.*\t.*" "verify st1 == 3.14159265*"
-gdb_test "info register st2" "st2 *1.44269.*\t.*" "verify st2 == 1.44269506*"
-gdb_test "info register st3" "st3 *3.32192.*\t.*" "verify st3 == 3.3219280948*"
-gdb_test "info register st4" "st4 *1\t.*"         "verify st4 == 1"
+gdb_test "info register st0" "st0 *0.30102.*\[ \t\]+.*" "verify st0 == 0.301029*"
+gdb_test "info register st1" "st1 *3.14159.*\[ \t\]+.*" "verify st1 == 3.14159265*"
+gdb_test "info register st2" "st2 *1.44269.*\[ \t\]+.*" "verify st2 == 1.44269506*"
+gdb_test "info register st3" "st3 *3.32192.*\[ \t\]+.*" "verify st3 == 3.3219280948*"
+gdb_test "info register st4" "st4 *1\[ \t\]+.*"         "verify st4 == 1"
 
 gdb_test "stepi" "asm.*fldz.*"                    "push st0 == 0.69314*"
-gdb_test "info register st0" "st0 *0.69314.*\t.*" "verify st0 == 0.69314*"
-gdb_test "info register st1" "st1 *0.30102.*\t.*" "verify st1 == 0.301029*"
-gdb_test "info register st2" "st2 *3.14159.*\t.*" "verify st2 == 3.14159265*"
-gdb_test "info register st3" "st3 *1.44269.*\t.*" "verify st3 == 1.442695040*"
-gdb_test "info register st4" "st4 *3.32192.*\t.*" "verify st4 == 3.3219280948*"
-gdb_test "info register st5" "st5 *1\t.*"         "verify st5 == 1"
+gdb_test "info register st0" "st0 *0.69314.*\[ \t\]+.*" "verify st0 == 0.69314*"
+gdb_test "info register st1" "st1 *0.30102.*\[ \t\]+.*" "verify st1 == 0.301029*"
+gdb_test "info register st2" "st2 *3.14159.*\[ \t\]+.*" "verify st2 == 3.14159265*"
+gdb_test "info register st3" "st3 *1.44269.*\[ \t\]+.*" "verify st3 == 1.442695040*"
+gdb_test "info register st4" "st4 *3.32192.*\[ \t\]+.*" "verify st4 == 3.3219280948*"
+gdb_test "info register st5" "st5 *1\[ \t\]+.*"         "verify st5 == 1"
 
 gdb_test "stepi" "asm.*fld1.*"                    "push st0 == 0"
-gdb_test "info register st0" "st0 *0\t.*"         "verify st0 == 0"
-gdb_test "info register st1" "st1 *0.69314.*\t.*" "verify st1 == 0.69314*"
-gdb_test "info register st2" "st2 *0.30102.*\t.*" "verify st2 == 0.301029*"
-gdb_test "info register st3" "st3 *3.14159.*\t.*" "verify st3 == 3.14159265*"
-gdb_test "info register st4" "st4 *1.44269.*\t.*" "verify st4 == 1.442695040*"
-gdb_test "info register st5" "st5 *3.32192.*\t.*" "verify st5 == 3.32192809*"
-gdb_test "info register st6" "st6 *1\t.*"         "verify st6 == 1"
+gdb_test "info register st0" "st0 *0\[ \t\]+.*"         "verify st0 == 0"
+gdb_test "info register st1" "st1 *0.69314.*\[ \t\]+.*" "verify st1 == 0.69314*"
+gdb_test "info register st2" "st2 *0.30102.*\[ \t\]+.*" "verify st2 == 0.301029*"
+gdb_test "info register st3" "st3 *3.14159.*\[ \t\]+.*" "verify st3 == 3.14159265*"
+gdb_test "info register st4" "st4 *1.44269.*\[ \t\]+.*" "verify st4 == 1.442695040*"
+gdb_test "info register st5" "st5 *3.32192.*\[ \t\]+.*" "verify st5 == 3.32192809*"
+gdb_test "info register st6" "st6 *1\[ \t\]+.*"         "verify st6 == 1"
 
 gdb_test "stepi" "asm.*nop.*"                     "push st0 == 0"
-gdb_test "info register st0" "st0 *1\t.*"         "verify st0 == 1"
-gdb_test "info register st1" "st1 *0\t.*"         "verify st1 == 0"
-gdb_test "info register st2" "st2 *0.69314.*\t.*" "verify st2 == 0.69314*"
-gdb_test "info register st3" "st3 *0.30102.*\t.*" "verify st3 == 0.301029*"
-gdb_test "info register st4" "st4 *3.14159.*\t.*" "verify st4 == 3.14159265*"
-gdb_test "info register st5" "st5 *1.44269.*\t.*" "verify st5 == 1.44269504*"
-gdb_test "info register st6" "st6 *3.32192.*\t.*" "verify st6 == 3.3219280948*"
+gdb_test "info register st0" "st0 *1\[ \t\]+.*"         "verify st0 == 1"
+gdb_test "info register st1" "st1 *0\[ \t\]+.*"         "verify st1 == 0"
+gdb_test "info register st2" "st2 *0.69314.*\[ \t\]+.*" "verify st2 == 0.69314*"
+gdb_test "info register st3" "st3 *0.30102.*\[ \t\]+.*" "verify st3 == 0.301029*"
+gdb_test "info register st4" "st4 *3.14159.*\[ \t\]+.*" "verify st4 == 3.14159265*"
+gdb_test "info register st5" "st5 *1.44269.*\[ \t\]+.*" "verify st5 == 1.44269504*"
+gdb_test "info register st6" "st6 *3.32192.*\[ \t\]+.*" "verify st6 == 3.3219280948*"
 gdb_test "info register st7" "st7 *1.*"           "verify st7 == 1"
 
 # Now step backward, and check that st0 value reverts to zero.
 
 gdb_test "reverse-stepi" "asm.*fld1.*"            "undo registers, st0-st7"
-gdb_test "info register st0" "st0 *0\t.*"         "verify st0 == 0"
-gdb_test "info register st1" "st1 *0.69314.*\t.*" "verify st1 == 0.69314*"
-gdb_test "info register st2" "st2 *0.30102.*\t.*" "verify st2 == 0.301029*"
-gdb_test "info register st3" "st3 *3.14159.*\t.*" "verify st3 == 3.14159265*"
-gdb_test "info register st4" "st4 *1.44269.*\t.*" "verify st4 == 1.442695040*"
-gdb_test "info register st5" "st5 *3.32192.*\t.*" "verify st5 == 3.3219280948*"
-gdb_test "info register st6" "st6 *1\t.*"         "verify st6 == 1"
+gdb_test "info register st0" "st0 *0\[ \t\]+.*"         "verify st0 == 0"
+gdb_test "info register st1" "st1 *0.69314.*\[ \t\]+.*" "verify st1 == 0.69314*"
+gdb_test "info register st2" "st2 *0.30102.*\[ \t\]+.*" "verify st2 == 0.301029*"
+gdb_test "info register st3" "st3 *3.14159.*\[ \t\]+.*" "verify st3 == 3.14159265*"
+gdb_test "info register st4" "st4 *1.44269.*\[ \t\]+.*" "verify st4 == 1.442695040*"
+gdb_test "info register st5" "st5 *3.32192.*\[ \t\]+.*" "verify st5 == 3.3219280948*"
+gdb_test "info register st6" "st6 *1\[ \t\]+.*"         "verify st6 == 1"
 
 gdb_test "reverse-stepi" "asm.*fldz.*"            "push st0 == 0.69314*"
-gdb_test "info register st0" "st0 *0.69314.*\t.*" "verify st0 == 0.69314*"
-gdb_test "info register st1" "st1 *0.30102.*\t.*" "verify st1 == 0.301029*"
-gdb_test "info register st2" "st2 *3.14159.*\t.*" "verify st2 == 3.14159265*"
-gdb_test "info register st3" "st3 *1.44269.*\t.*" "verify st3 == 1.442695040*"
-gdb_test "info register st4" "st4 *3.32192.*\t.*" "verify st4 == 3.3219280948*"
-gdb_test "info register st5" "st5 *1\t.*"       "verify st5 == 1"
+gdb_test "info register st0" "st0 *0.69314.*\[ \t\]+.*" "verify st0 == 0.69314*"
+gdb_test "info register st1" "st1 *0.30102.*\[ \t\]+.*" "verify st1 == 0.301029*"
+gdb_test "info register st2" "st2 *3.14159.*\[ \t\]+.*" "verify st2 == 3.14159265*"
+gdb_test "info register st3" "st3 *1.44269.*\[ \t\]+.*" "verify st3 == 1.442695040*"
+gdb_test "info register st4" "st4 *3.32192.*\[ \t\]+.*" "verify st4 == 3.3219280948*"
+gdb_test "info register st5" "st5 *1\[ \t\]+.*"       "verify st5 == 1"
 
 gdb_test "reverse-stepi" "asm.*fldln2.*"          "push st0 == 0.301029*"
-gdb_test "info register st0" "st0 *0.30102.*\t.*" "verify st0 == 0.301029*"
-gdb_test "info register st1" "st1 *3.14159.*\t.*" "verify st1 == 3.14159265*"
-gdb_test "info register st2" "st2 *1.44269.*\t.*" "verify st2 == 1.442695040*"
-gdb_test "info register st3" "st3 *3.32192.*\t.*" "verify st3 == 3.3219280948*"
-gdb_test "info register st4" "st4 *1\t.*"         "verify st4 == 1"
+gdb_test "info register st0" "st0 *0.30102.*\[ \t\]+.*" "verify st0 == 0.301029*"
+gdb_test "info register st1" "st1 *3.14159.*\[ \t\]+.*" "verify st1 == 3.14159265*"
+gdb_test "info register st2" "st2 *1.44269.*\[ \t\]+.*" "verify st2 == 1.442695040*"
+gdb_test "info register st3" "st3 *3.32192.*\[ \t\]+.*" "verify st3 == 3.3219280948*"
+gdb_test "info register st4" "st4 *1\[ \t\]+.*"         "verify st4 == 1"
 
 gdb_test "reverse-stepi" "asm.*fldlg2.*"          "push st0 == 3.14159265*"
-gdb_test "info register st0" "st0 *3.14159.*\t.*" "verify st0 == 3.14159265*"
-gdb_test "info register st1" "st1 *1.44269.*\t.*" "verify st1 == 1.442695040*"
-gdb_test "info register st2" "st2 *3.32192.*\t.*" "verify st2 == 3.3219280948*"
-gdb_test "info register st3" "st3 *1\t.*"       "verify st3 == 1"
+gdb_test "info register st0" "st0 *3.14159.*\[ \t\]+.*" "verify st0 == 3.14159265*"
+gdb_test "info register st1" "st1 *1.44269.*\[ \t\]+.*" "verify st1 == 1.442695040*"
+gdb_test "info register st2" "st2 *3.32192.*\[ \t\]+.*" "verify st2 == 3.3219280948*"
+gdb_test "info register st3" "st3 *1\[ \t\]+.*"       "verify st3 == 1"
 
 gdb_test "reverse-stepi" "asm.*fldpi.*"           "push st0 == 1.44269504088*"
-gdb_test "info register st0" "st0 *1.44269.*\t.*" "verify st0 == 1.442695040*"
-gdb_test "info register st1" "st1 *3.32192.*\t.*" "verify st1 == 3.3219280948*"
-gdb_test "info register st2" "st2 *1\t.*"         "verify st2 == 1"
+gdb_test "info register st0" "st0 *1.44269.*\[ \t\]+.*" "verify st0 == 1.442695040*"
+gdb_test "info register st1" "st1 *3.32192.*\[ \t\]+.*" "verify st1 == 3.3219280948*"
+gdb_test "info register st2" "st2 *1\[ \t\]+.*"         "verify st2 == 1"
 
 
 gdb_test "reverse-stepi" "asm.*fldl2e.*"          "push st0 == 3.3219280948*"
-gdb_test "info register st0" "st0 *3.32192.*\t.*" "verify st0 == 3.3219280948*"
-gdb_test "info register st1" "st1 *1\t.*"         "verify st1 == 1"
+gdb_test "info register st0" "st0 *3.32192.*\[ \t\]+.*" "verify st0 == 3.3219280948*"
+gdb_test "info register st1" "st1 *1\[ \t\]+.*"         "verify st1 == 1"
 
 gdb_test "reverse-stepi" "asm.*fldl2t.*"      "push st0 == 1"
-gdb_test "info register st0" "st0 *1\t.*"     "verify st0 == 1"                                               
+gdb_test "info register st0" "st0 *1\[ \t\]+.*"     "verify st0 == 1"                                               
 
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.reverse/step-indirect-call-thunk.c ./gdb/testsuite/gdb.reverse/step-indirect-call-thunk.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.reverse/step-indirect-call-thunk.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/step-indirect-call-thunk.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,36 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.
+
+*/
+
+static int
+inc (int x)
+{                /* inc.1 */
+  return x + 1;  /* inc.2 */
+}                /* inc.3 */
+
+static int
+apply (int (*op)(int), int x)
+{                 /* apply.1 */
+  return op (x);  /* apply.2 */
+}                 /* apply.3 */
+
+int
+main ()
+{                         /* main.1 */
+  return apply (inc, 41); /* main.2 */
+}                         /* main.3 */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.reverse/step-indirect-call-thunk.exp ./gdb/testsuite/gdb.reverse/step-indirect-call-thunk.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.reverse/step-indirect-call-thunk.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/step-indirect-call-thunk.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,100 @@
+# Copyright 2018 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/>.
+
+if { ![supports_reverse] } {
+    untested "target does not support record"
+    return -1
+}
+
+standard_testfile
+
+set cflags "-mindirect-branch=thunk -mfunction-return=thunk"
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile \
+        [list debug "additional_flags=$cflags"]] } {
+    return -1
+}
+
+if { ![runto_main] } {
+    untested "failed to run to main"
+    return -1
+}
+
+# Do repeated stepping COMMANDs in order to reach TARGET from CURRENT
+#
+#  COMMAND is a stepping command
+#  CURRENT is a string matching the current location
+#  TARGET  is a string matching the target location
+#  TEST    is the test name
+#
+# The function issues repeated COMMANDs as long as the location matches
+# CURRENT up to a maximum of 100 steps.
+#
+# TEST passes if the resulting location matches TARGET and fails
+# otherwise.
+#
+proc step_until { command current target test } {
+    global gdb_prompt
+
+    set count 0
+    gdb_test_multiple "$command" "$test" {
+        -re "$current.*$gdb_prompt $" {
+            incr count
+            if { $count < 100 } {
+                send_gdb "$command\n"
+                exp_continue
+            } else {
+                fail "$test"
+            }
+        }
+        -re "$target.*$gdb_prompt $" {
+            pass "$test"
+        }
+    }
+}
+
+gdb_test_no_output "record"
+gdb_test "next" ".*" "record trace"
+
+# Normal stepping steps through all thunks.
+gdb_test "reverse-step" "apply\.3.*" "reverse-step into apply"
+gdb_test "reverse-step" "inc\.3.*" "reverse-step into inc"
+gdb_test "reverse-step" "inc\.2.*" "reverse-step inside inc"
+gdb_test "reverse-step" "apply\.2.*" \
+    "reverse-step through call thunk into apply"
+gdb_test "reverse-step" "main\.2.*" "reverse-step into main"
+gdb_test "step" "apply\.2.*" "step into apply"
+gdb_test "step" "inc\.2.*" "step through call thunk into inc"
+gdb_test "reverse-step" "apply\.2.*" \
+    "reverse-step through call thunk into apply"
+gdb_test "next" "apply\.3.*" "step through thunks and over inc"
+gdb_test "reverse-next" "apply\.2.*" \
+    "reverse-step through thunks and over inc"
+
+# We can use instruction stepping to step into thunks.
+step_until "stepi" "apply\.2" "indirect_thunk" "stepi into call thunk"
+step_until "stepi" "indirect_thunk" "inc" \
+    "stepi out of call thunk into inc"
+step_until "stepi" "inc" "return_thunk" "stepi into return thunk"
+step_until "stepi" "return_thunk" "apply" \
+    "stepi out of return thunk back into apply"
+
+step_until "reverse-stepi" "apply" "return_thunk" \
+    "reverse-stepi into return thunk"
+step_until "reverse-stepi" "return_thunk" "inc" \
+    "reverse-stepi out of return thunk into inc"
+step_until "reverse-stepi" "inc" "indirect_thunk" \
+    "reverse-stepi into call thunk"
+step_until "reverse-stepi" "indirect_thunk" "apply" \
+    "reverse-stepi out of call thunk into apply"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.rust/expr.exp ./gdb/testsuite/gdb.rust/expr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.rust/expr.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.rust/expr.exp	2018-07-10 02:06:13.000000000 +0000
@@ -133,7 +133,9 @@ gdb_test "print \[23usize; 4\]" " = \\\[
 gdb_test "ptype \[23usize; 4\]" " = \\\[usize; 4\\\]"
 gdb_test "print \[mut 23usize; 4\]" " = \\\[23, 23, 23, 23\\\]"
 
-# Test a lexer corner case.
+# Test lexer corner cases.
+gdb_test "print 0x0 as *const ()" " = \\\(\\\(\\\) \\*\\\) 0x0"
+gdb_test "print 0x0 as fn(i64) -> ()" " = \\\(\\\(\\\) \\\(\\*\\\)\\\(i64\\\)\\\) 0x0"
 gdb_test "print r#" "syntax error in expression, near `#'\\."
 
 gdb_test "printf \"%d %d\\n\", 23+1, 23-1" "24 22"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.rust/modules.exp ./gdb/testsuite/gdb.rust/modules.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.rust/modules.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.rust/modules.exp	2018-07-10 02:06:13.000000000 +0000
@@ -89,3 +89,5 @@ foreach mod {mod1::inner::innest mod1::i
     gdb_breakpoint modules::${mod}f2 message
     gdb_breakpoint "*::${mod}f2" message
 }
+
+gdb_test "print ::TWENTY_THREE" " = 23"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.rust/modules.rs ./gdb/testsuite/gdb.rust/modules.rs
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.rust/modules.rs	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.rust/modules.rs	2018-07-10 02:06:13.000000000 +0000
@@ -21,6 +21,10 @@ fn f2() {
     println!("::f2");
 }
 
+// See https://github.com/rust-lang/rust/pull/46457
+#[no_mangle]
+pub static TWENTY_THREE : u16 = 23;
+
 pub struct Generic<T>(T);
 
 pub struct Type;
@@ -56,6 +60,8 @@ pub mod mod1 {
 
                 let f2 = || println!("lambda f2");
 
+                let copy = ::TWENTY_THREE;
+
                 f2();           // set breakpoint here
                 f3();
                 self::f2();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.rust/simple.exp ./gdb/testsuite/gdb.rust/simple.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.rust/simple.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.rust/simple.exp	2018-07-10 02:06:13.000000000 +0000
@@ -166,6 +166,12 @@ gdb_test "print simple::HiBob + 5" \
 gdb_test "print nosuchsymbol" \
     "No symbol 'nosuchsymbol' in current context"
 
+gdb_test "print simple::HiBob{field1, field2}" \
+    " = simple::HiBob \\{field1: 77, field2: 88\\}"
+
+gdb_test "print simple::HiBob{field1: 99, .. y}" \
+    " = simple::HiBob \\{field1: 99, field2: 8\\}"
+
 gdb_test "print e" " = simple::MoreComplicated::Two\\(73\\)"
 gdb_test "print e2" \
     " = simple::MoreComplicated::Four\\{this: true, is: 8, a: 109 'm', struct_: 100, variant: 10\\}"
@@ -213,15 +219,17 @@ gdb_test "print r###\"###hello\"##" "Une
 gdb_test "print r###\"hello###" "Unexpected EOF in string"
 
 gdb_test "print 0..5" " = .*::ops::Range.* \\{start: 0, end: 5\\}"
+gdb_test "print 0..=5" " = .*::ops::RangeInclusive.* \\{start: 0, end: 5\\}"
 gdb_test "print ..5" " = .*::ops::RangeTo.* \\{end: 5\\}"
+gdb_test "print ..=5" " = .*::ops::RangeToInclusive.* \\{end: 5\\}"
 gdb_test "print 5.." " = .*::ops::RangeFrom.* \\{start: 5\\}"
 gdb_test "print .." " = .*::ops::RangeFull"
 
 gdb_test "print str_some" \
     " = core::option::Option<\[a-z\]+::string::String>::Some\\(\[a-z\]+::string::String .*"
 gdb_test "print str_none" " = core::option::Option<\[a-z\]+::string::String>::None"
-gdb_test "print int_some" " = core::option::Option::Some\\(1\\)"
-gdb_test "print int_none" " = core::option::Option::None"
+gdb_test "print int_some" " = core::option::Option<u8>::Some\\(1\\)"
+gdb_test "print int_none" " = core::option::Option<u8>::None"
 gdb_test "print box_some" " = core::option::Option<\[a-z:\]*Box<u8>>::Some\\(.*\\)"
 gdb_test "print box_none" " = core::option::Option<\[a-z:\]*Box<u8>>::None"
 gdb_test "print custom_some" \
@@ -238,7 +246,9 @@ proc test_one_slice {svar length base ra
 }
 
 test_one_slice slice 1 w 2..3
+test_one_slice slice 1 w 2..=2
 test_one_slice slice2 1 slice 0..1
+test_one_slice slice2 1 slice 0..=0
 
 test_one_slice all1 4 w ..
 test_one_slice all2 1 slice ..
@@ -247,7 +257,9 @@ test_one_slice from1 3 w 1..
 test_one_slice from2 0 slice 1..
 
 test_one_slice to1 3 w ..3
+test_one_slice to1 3 w ..=2
 test_one_slice to2 1 slice ..1
+test_one_slice to2 1 slice ..=0
 
 gdb_test "print w\[2..3\]" "Can't take slice of array without '&'"
 
@@ -271,6 +283,25 @@ gdb_test "print parametrized.next.val" \
 gdb_test "print parametrized" \
     " = simple::ParametrizedStruct<i32> \\{next: simple::ParametrizedEnum<\[a-z:\]*Box<simple::ParametrizedStruct<i32>>>::Val\\{val: $hex\\}, value: 0\\}"
 
+gdb_test "print u" " = simple::Union {f1: -1, f2: 255}"
+
+gdb_test_sequence "ptype/o Union" "" {
+    "/\\* offset    |  size \\*/  type = union simple::Union {"
+    "/\\*                 1 \\*/    f1: i8,"
+    "/\\*                 1 \\*/    f2: u8,"
+    ""
+    "                           /\\* total size \\(bytes\\):    1 \\*/"
+    "                         }"
+}
+
+gdb_test_sequence "ptype/o SimpleLayout" "" {
+    "/\\* offset    |  size \\*/  type = struct simple::SimpleLayout {"
+    "/\\*    0      |     2 \\*/    f1: u16,"
+    "/\\*    2      |     2 \\*/    f2: u16,"
+    ""
+    "                           /\\* total size \\(bytes\\):    4 \\*/"
+    "                         }"
+}
 
 load_lib gdb-python.exp
 if {[skip_python_tests]} {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.rust/simple.rs ./gdb/testsuite/gdb.rust/simple.rs
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.rust/simple.rs	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.rust/simple.rs	2018-07-10 02:06:13.000000000 +0000
@@ -80,6 +80,18 @@ struct ParametrizedStruct<T> {
     value: T
 }
 
+union Union {
+    f1: i8,
+    f2: u8,
+}
+
+// A simple structure whose layout won't be changed by the compiler,
+// so that ptype/o testing will work on any platform.
+struct SimpleLayout {
+    f1: u16,
+    f2: u16
+}
+
 fn main () {
     let a = ();
     let b : [i32; 0] = [];
@@ -112,6 +124,10 @@ fn main () {
     let y = HiBob {field1: 7, field2: 8};
     let z = ByeBob(7, 8);
 
+    let field1 = 77;
+    let field2 = 88;
+    let y0 = HiBob { field1, field2 };
+
     let univariant = Univariant::Foo {a : 1};
     let univariant_anon = UnivariantAnon::Foo(1);
 
@@ -149,6 +165,9 @@ fn main () {
         value: 0,
     };
 
+    let u = Union { f2: 255 };
+    let v = SimpleLayout { f1: 8, f2: 9 };
+
     println!("{}, {}", x.0, x.1);        // set breakpoint here
     println!("{}", diff2(92, 45));
     empty();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.server/server-kill.exp ./gdb/testsuite/gdb.server/server-kill.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.server/server-kill.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.server/server-kill.exp	2018-07-10 02:06:13.000000000 +0000
@@ -46,7 +46,7 @@ gdb_test_multiple $test $test {
     }
 }
 
-if {$server_pid == "" } {
+if ![info exists server_pid] {
     return -1
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/attach-into-signal.exp ./gdb/testsuite/gdb.threads/attach-into-signal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/attach-into-signal.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/attach-into-signal.exp	2018-07-10 02:06:13.000000000 +0000
@@ -17,7 +17,7 @@
 # This file was created by Jan Kratochvil <jan.kratochvil@redhat.com>.
 
 # This test only works on Linux
-if { ![isnative] || [is_remote host] || [target_info exists use_gdb_stub]
+if { ![isnative] || [is_remote host] || [use_gdb_stub]
      || ![istarget *-linux*] } {
     continue
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/attach-slow-waitpid.c ./gdb/testsuite/gdb.threads/attach-slow-waitpid.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/attach-slow-waitpid.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/attach-slow-waitpid.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,77 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#define NUM_THREADS 4
+
+/* Crude spin lock.  Threads all spin until this is set to 0.  */
+int go = 1;
+
+/* Thread function, just spin until GO is set to 0.  */
+void *
+perform_work (void *argument)
+{
+  /* Cast to volatile to ensure that ARGUMENT is loaded each time around
+     the loop.  */
+  while (*((volatile int*) argument))
+    {
+      /* Nothing.  */
+    }
+  return NULL;
+}
+
+/* The spin loop for the main thread.  */
+void
+function (void)
+{
+  (void) perform_work (&go);
+  printf ("Finished from function\n");
+}
+
+/* Main program, create some threads which all spin waiting for GO to be
+   set to 0.  */
+int
+main (void)
+{
+  pthread_t threads[NUM_THREADS];
+  int result_code;
+  unsigned index;
+
+  /* Create some threads.  */
+  for (index = 0; index < NUM_THREADS; ++index)
+    {
+      printf ("In main: creating thread %d\n", index);
+      result_code = pthread_create (&threads[index], NULL, perform_work, &go);
+      assert (!result_code);
+    }
+
+  function ();
+
+  /* Wait for each thread to complete.  */
+  for (index = 0; index < NUM_THREADS; ++index)
+    {
+      /* Block until thread INDEX completes.  */
+      result_code = pthread_join (threads[index], NULL);
+      assert (!result_code);
+      printf ("In main: thread %d has completed\n", index);
+    }
+  printf ("In main: All threads completed successfully\n");
+  return 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.1.0.20180703/gdb/testsuite/gdb.threads/attach-slow-waitpid.exp ./gdb/testsuite/gdb.threads/attach-slow-waitpid.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/attach-slow-waitpid.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/attach-slow-waitpid.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,100 @@
+# Copyright 2018 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/>.
+
+# This test script tries to expose a bug in some of the uses of
+# waitpid in the Linux native support within GDB.  The problem was
+# spotted on systems which were heavily loaded when attaching to
+# threaded test programs.  What happened was that during the initial
+# attach, the loop of waitpid calls that normally received the stop
+# events from each of the threads in the inferior was not receiving a
+# stop event for some threads (the kernel just hadn't sent the stop
+# event yet).
+#
+# GDB would then trigger a call to stop_all_threads which would
+# continue to wait for all of the outstanding threads to stop, when
+# the outstanding stop events finally arrived GDB would then
+# (incorrectly) discard the stop event, resume the thread, and
+# continue to wait for the thread to stop.... which it now never
+# would.
+#
+# In order to try and expose this issue reliably, this test preloads a
+# library that intercepts waitpid calls.  All waitpid calls targeting
+# pid -1 with the WNOHANG flag are rate limited so that only 1 per
+# second can complete.  Additional calls are forced to return 0
+# indicating no event waiting.  This is enough to trigger the bug
+# during the attach phase.
+
+# This test only works on Linux
+if { ![isnative] || [is_remote host] || [use_gdb_stub]
+     || ![istarget *-linux*] } {
+    continue
+}
+
+standard_testfile
+
+set libfile slow-waitpid
+set libsrc "${srcdir}/${subdir}/${libfile}.c"
+set libobj [standard_output_file ${libfile}.so]
+
+with_test_prefix "compile preload library" {
+    # Compile the preload library.  We only get away with this as we
+    # limit this test to running when ISNATIVE is true.
+    if { [gdb_compile_shlib_pthreads \
+	      $libsrc $libobj {debug}] != "" } then {
+	return -1
+    }
+}
+
+with_test_prefix "compile test executable" {
+    # Compile the test program
+    if { [gdb_compile_pthreads \
+	      "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+	      executable {debug}] != "" } {
+	return -1
+    }
+}
+
+# Spawn GDB with LIB preloaded with LD_PRELOAD.
+
+proc gdb_spawn_with_ld_preload {lib} {
+    global env
+
+    save_vars { env(LD_PRELOAD) } {
+	if { ![info exists env(LD_PRELOAD) ]
+	     || $env(LD_PRELOAD) == "" } {
+	    set env(LD_PRELOAD) "$lib"
+	} else {
+	    append env(LD_PRELOAD) ":$lib"
+	}
+
+	gdb_start
+    }
+}
+
+# Run test program in the background.
+set test_spawn_id [spawn_wait_for_attach $binfile]
+set testpid [spawn_id_get_pid $test_spawn_id]
+
+# Start GDB with preload library in place.
+gdb_spawn_with_ld_preload $libobj
+
+# Load binary, and attach to running program.
+gdb_load ${binfile}
+gdb_test "attach $testpid" "Attaching to program.*" "attach to target"
+
+gdb_exit
+
+# Kill of test program.
+kill_wait_spawned_process $test_spawn_id
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/attach-stopped.exp ./gdb/testsuite/gdb.threads/attach-stopped.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/attach-stopped.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/attach-stopped.exp	2018-07-10 02:06:13.000000000 +0000
@@ -18,7 +18,7 @@
 # This file was updated by Jan Kratochvil <jan.kratochvil@redhat.com>.
 
 # This test only works on Linux
-if { ![isnative] || [is_remote host] || [target_info exists use_gdb_stub]
+if { ![isnative] || [is_remote host] || [use_gdb_stub]
      || ![istarget *-linux*] } {
     continue
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/check-libthread-db.c ./gdb/testsuite/gdb.threads/check-libthread-db.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/check-libthread-db.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/check-libthread-db.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,67 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2017-2018 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/>.  */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <pthread.h>
+#include <errno.h>
+
+static void
+break_here (void)
+{
+}
+
+static void *
+thread_routine (void *arg)
+{
+  errno = 42;
+
+  break_here ();
+
+  while (1)
+    sleep (1);
+
+  return NULL;
+}
+
+int
+main (int argc, char *argv)
+{
+  pthread_t the_thread;
+  int err;
+
+  err = pthread_create (&the_thread, NULL, thread_routine, NULL);
+  if (err != 0)
+    {
+      fprintf (stderr, "pthread_create: %s (%d)\n", strerror (err), err);
+      exit (EXIT_FAILURE);
+    }
+
+  errno = 23;
+
+  err = pthread_join (the_thread, NULL);
+  if (err != 0)
+    {
+      fprintf (stderr, "pthread_join: %s (%d)\n", strerror (err), err);
+      exit (EXIT_FAILURE);
+    }
+
+  exit (EXIT_SUCCESS);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/check-libthread-db.exp ./gdb/testsuite/gdb.threads/check-libthread-db.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/check-libthread-db.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/check-libthread-db.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,114 @@
+# Copyright 2017-2018 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/>.
+
+# This test only works for native processes on GNU/Linux.
+if {[target_info gdb_protocol] != "" || ![istarget *-linux*]} {
+    continue
+}
+
+standard_testfile
+
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+	 executable debug] != "" } {
+    return -1
+}
+
+with_test_prefix "user-initiated check" {
+
+    # User-initiated check with libthread_db not loaded.
+    clean_restart ${binfile}
+
+    gdb_test "maint show check-libthread-db" \
+	"Whether to check libthread_db at load time is off."
+
+    gdb_test_no_output "set stop-on-solib-events 1"
+    gdb_run_cmd
+    gdb_test "" \
+	".*Stopped due to shared library event.*no libraries added or removed.*"
+
+    gdb_test "maint check libthread-db" \
+	"No libthread_db loaded" \
+	"no libpthread.so loaded"
+
+
+    # User-initiated check with NPTL uninitialized.
+    # libthread_db should fake a single thread with th_unique == NULL.
+    gdb_test "continue" \
+	".*Stopped due to shared library event.*Inferior loaded .*libpthread.*"
+
+    gdb_test_sequence "maint check libthread-db" \
+	"libpthread.so not initialized" {
+	    "\[\r\n\]+Running libthread_db integrity checks:"
+	    "\[\r\n\]+\[ \]+Got thread 0x0 => \[0-9\]+ => 0x0 ... OK"
+	    "\[\r\n\]+libthread_db integrity checks passed."
+	}
+
+    # User-initiated check with NPTL fully operational.
+    gdb_test_no_output "set stop-on-solib-events 0"
+    gdb_breakpoint break_here
+    gdb_continue_to_breakpoint break_here
+
+    gdb_test_sequence "maint check libthread-db" \
+	"libpthread.so fully initialized" {
+	    "\[\r\n\]+Running libthread_db integrity checks:"
+	    "\[\r\n\]+\[ \]+Got thread 0x\[1-9a-f\]\[0-9a-f\]+ => \[0-9\]+ => 0x\[1-9a-f\]\[0-9a-f\]+; errno = 23 ... OK"
+	    "\[\r\n\]+\[ \]+Got thread 0x\[1-9a-f\]\[0-9a-f\]+ => \[0-9\]+ => 0x\[1-9a-f\]\[0-9a-f\]+; errno = 42 ... OK"
+	    "\[\r\n\]+libthread_db integrity checks passed."
+	}
+}
+
+with_test_prefix "automated load-time check" {
+
+    # Automated load-time check with NPTL uninitialized.
+    with_test_prefix "libpthread.so not initialized" {
+	clean_restart ${binfile}
+
+	gdb_test_no_output "maint set check-libthread-db 1"
+	gdb_test_no_output "set debug libthread-db 1"
+	gdb_breakpoint break_here
+	gdb_run_cmd
+
+	gdb_test_sequence "" \
+	    "check debug libthread-db output" {
+		"\[\r\n\]+Running libthread_db integrity checks:"
+		"\[\r\n\]+\[ \]+Got thread 0x0 => \[0-9\]+ => 0x0 ... OK"
+		"\[\r\n\]+libthread_db integrity checks passed."
+		"\[\r\n\]+[Thread debugging using libthread_db enabled]"
+	    }
+    }
+
+    # Automated load-time check with NPTL fully operational.
+    with_test_prefix "libpthread.so fully initialized" {
+	clean_restart ${binfile}
+
+	gdb_test_no_output "maint set check-libthread-db 1"
+	gdb_test_no_output "set debug libthread-db 1"
+
+	set test_spawn_id [spawn_wait_for_attach $binfile]
+	set testpid [spawn_id_get_pid $test_spawn_id]
+
+	gdb_test_sequence "attach $testpid" \
+	    "check debug libthread-db output" {
+		"\[\r\n\]+Running libthread_db integrity checks:"
+		"\[\r\n\]+\[ \]+Got thread 0x\[1-9a-f\]\[0-9a-f\]+ => \[0-9\]+ => 0x\[1-9a-f\]\[0-9a-f\]+ ... OK"
+		"\[\r\n\]+\[ \]+Got thread 0x\[1-9a-f\]\[0-9a-f\]+ => \[0-9\]+ => 0x\[1-9a-f\]\[0-9a-f\]+ ... OK"
+		"\[\r\n\]+libthread_db integrity checks passed."
+		"\[\r\n\]+[Thread debugging using libthread_db enabled]"
+	    }
+
+	gdb_exit
+	kill_wait_spawned_process $test_spawn_id
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/clone-attach-detach.exp ./gdb/testsuite/gdb.threads/clone-attach-detach.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/clone-attach-detach.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/clone-attach-detach.exp	2018-07-10 02:06:13.000000000 +0000
@@ -56,7 +56,7 @@ for {set attempt 1} {$attempt <= $attemp
 	    "1.*${thread_re}.*\r\n.*2.*${thread_re}.*" \
 	    "info threads shows two LWPs"
 
-	gdb_test "detach" "Detaching from .*, process $testpid"
+	gdb_test "detach" "Detaching from .*, process $testpid\r\n\\\[Inferior $decimal \\(.*\\) detached\\\]"
     }
 }
 
@@ -91,7 +91,7 @@ for {set attempt 1} {$attempt <= $attemp
 	    "1.*${thread_re}.*\\(running\\)\r\n.*2.*${thread_re}.*\\(running\\)" \
 	    "info threads shows two LWPs"
 
-	gdb_test "detach" "Detaching from .*, process $testpid"
+	gdb_test "detach" "Detaching from .*, process $testpid\r\n\\\[Inferior $decimal \\(.*\\) detached\\\]"
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/kill.exp ./gdb/testsuite/gdb.threads/kill.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/kill.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/kill.exp	2018-07-10 02:06:13.000000000 +0000
@@ -21,7 +21,7 @@ standard_testfile
 # program and spawn several threads before trying to kill the program.
 
 proc test {threaded} {
-    global testfile srcfile
+    global testfile srcfile decimal
 
     with_test_prefix [expr ($threaded)?"threaded":"non-threaded"] {
 
@@ -68,7 +68,11 @@ proc test {threaded} {
 	#
 	# the above would mean that the remote end crashed.
 
-	gdb_test "kill" "^y" "kill program" "Kill the program being debugged\\? \\(y or n\\) $" "y"
+	gdb_test_multiple "kill" "kill" {
+	    -re "Kill the program being debugged\\? \\(y or n\\) $" {
+		gdb_test "y" "\\\[Inferior $decimal \\(.*\\) killed\\\]" "kill"
+	    }
+	}
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/multiple-successive-infcall.c ./gdb/testsuite/gdb.threads/multiple-successive-infcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/multiple-successive-infcall.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/multiple-successive-infcall.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,111 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <pthread.h>
+
+/* This defines the number of threads to spawn.  */
+#define THREADCOUNT 4
+
+/* Global barrier type to control synchronization between threads.  */
+static pthread_barrier_t print_barrier;
+
+/* Define global thread identifiers.  */
+static pthread_t threads[THREADCOUNT];
+
+/* Hold values for each thread at the index supplied to the thread
+   on creation.  */
+static int thread_ids[THREADCOUNT];
+
+/* Find the value associated with the calling thread.  */
+static int
+get_value ()
+{
+  for (int tid = 0; tid < THREADCOUNT; ++tid)
+    {
+      if (pthread_equal (threads[tid], pthread_self ()))
+	return thread_ids[tid];
+    }
+  /* Value for the main thread.  */
+  return 1;
+}
+
+/* Return the nth Fibonacci number.  */
+static unsigned long
+fast_fib (unsigned int n)
+{
+  int a = 0;
+  int b = 1;
+  int t;
+  for (unsigned int i = 0; i < n; ++i)
+    {
+      t = b;
+      b = a + b;
+      a = t;
+    }
+  return a;
+}
+
+/* Encapsulate the synchronization of the threads. Perform a barrier before
+   and after the computation.  */
+static void *
+thread_function (void *args)
+{
+  int tid = *((int *) args);
+  int status = pthread_barrier_wait (&print_barrier);
+  if (status == PTHREAD_BARRIER_SERIAL_THREAD)
+    printf ("All threads entering compute region\n");
+
+  unsigned long result = fast_fib (100); /* testmarker01 */
+  status = pthread_barrier_wait (&print_barrier);
+  if (status == PTHREAD_BARRIER_SERIAL_THREAD)
+    printf ("All threads outputting results\n");
+
+  pthread_barrier_wait (&print_barrier);
+  printf ("Thread %d Result: %lu\n", tid, result);
+}
+
+int
+main (void)
+{
+  int err = pthread_barrier_init (&print_barrier, NULL, THREADCOUNT);
+  if (err != 0)
+    {
+      fprintf (stderr, "Barrier creation failed\n");
+      return EXIT_FAILURE;
+    }
+  /* Create the worker threads (main).  */
+  printf ("Spawning worker threads\n");
+  for (int tid = 0; tid < THREADCOUNT; ++tid)
+    {
+      /* Add 2 so the value maps to the debugger's thread identifiers.  */
+      thread_ids[tid] = tid + 2; /* prethreadcreationmarker */
+      err = pthread_create (&threads[tid], NULL, thread_function,
+			    (void *) &thread_ids[tid]);
+      if (err != 0)
+	{
+	  fprintf (stderr, "Thread creation failed\n");
+	  return EXIT_FAILURE;
+	}
+    }
+  /* Wait for the threads to complete then exit.  */
+  for (int tid = 0; tid < THREADCOUNT; ++tid)
+    pthread_join (threads[tid], NULL);
+
+  return EXIT_SUCCESS;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp ./gdb/testsuite/gdb.threads/multiple-successive-infcall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/multiple-successive-infcall.exp	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,61 @@
+# Copyright (C) 2018 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/>.  */
+
+# multiple-successive-infcall.exp -- Test if GDB can invoke functions on
+# multiple inferiors, one after the other.
+
+standard_testfile
+
+if [get_compiler_info] {
+  return -1
+}
+
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+  executable {debug}] != "" } {
+  return -1
+}
+
+clean_restart "${binfile}"
+
+if ![runto_main] then {
+   fail "can't run to main"
+   return 0
+}
+
+# Ensure that each new thread is detected by GDB in the order that the
+# test case creates them, so the thread identifiers match between
+# test and test case.
+gdb_breakpoint [gdb_get_line_number "prethreadcreationmarker"]
+gdb_continue_to_breakpoint "prethreadcreationmarker"
+set after_new_thread_message "created new thread"
+foreach_with_prefix thread {5 4 3}  {
+  gdb_test_multiple "continue" "${after_new_thread_message}" {
+    -re "\\\[New Thread ${hex} \\\(LWP \[0-9\]+\\\)\\\].*${gdb_prompt}" {
+      pass "${after_new_thread_message}"
+    }
+  }
+}
+
+gdb_breakpoint [gdb_get_line_number "testmarker01"]
+gdb_continue_to_breakpoint "testmarker01"
+gdb_test_no_output "set scheduler-locking on"
+gdb_test "show scheduler-locking" \
+  "Mode for locking scheduler during execution is \"on\"."
+
+foreach_with_prefix thread {5 4 3 2 1}  {
+  gdb_test "thread ${thread}" "Switching to .*"
+  gdb_test "call get_value()" "= ${thread}" \
+      "call inferior function"
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/names.exp ./gdb/testsuite/gdb.threads/names.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/names.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/names.exp	2018-07-10 02:06:13.000000000 +0000
@@ -31,7 +31,7 @@ if ![runto "all_threads_ready"] {
 }
 
 gdb_test "info threads" \
-    [multi_line "\\* 1   .*\"main\" all_threads_ready.*" \
+    [multi_line "\\* 1   .*\"main\"\[ \]\+all_threads_ready.*" \
 		"  2   .*\"carrot\".*"  \
 		"  3   .*\"potato\".*"  \
 		"  4   .*\"celery\".*" ] \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/process-dies-while-detaching.exp ./gdb/testsuite/gdb.threads/process-dies-while-detaching.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/process-dies-while-detaching.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/process-dies-while-detaching.exp	2018-07-10 02:06:13.000000000 +0000
@@ -169,7 +169,7 @@ proc do_detach {multi_process cmd child_
 			 && [target_info gdb_protocol] == "remote"}]
 
     if {$multi_process} {
-	gdb_test "detach" "Detaching from .*, process $decimal" \
+	gdb_test "detach" "Detaching from .*, process $decimal\r\n\\\[Inferior $decimal \\(.*\\) detached\\\]" \
 	    "detach child"
 
 	gdb_test "inferior 1" "\[Switching to inferior $decimal\].*" \
@@ -193,7 +193,7 @@ proc do_detach {multi_process cmd child_
 	    set extra ""
 	}
 	if {$cmd == "detach"} {
-	    gdb_test "detach" "Detaching from .*, process $decimal$extra"
+	    gdb_test "detach" "Detaching from .*, process ${decimal}\r\n\\\[Inferior $decimal \\(.*\\) detached\\\]$extra"
 	} elseif {$cmd == "continue"} {
 	    gdb_test "continue" $continue_re
 	} else {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/slow-waitpid.c ./gdb/testsuite/gdb.threads/slow-waitpid.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/slow-waitpid.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/slow-waitpid.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,342 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2018 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/>.  */
+
+/* This file contains a library that can be preloaded into GDB on Linux
+   using the LD_PRELOAD technique.
+
+   The library intercepts calls to WAITPID and SIGSUSPEND in order to
+   simulate the behaviour of a heavily loaded kernel.
+
+   When GDB wants to stop all threads in an inferior each thread is sent a
+   SIGSTOP, GDB will then wait for the signal to be received by the thread
+   with a waitpid call.
+
+   If the kernel is slow in either delivering the signal, or making the
+   result available to the waitpid call then GDB will enter a sigsuspend
+   call in order to wait for the inferior threads to change state, this is
+   signalled to GDB with a SIGCHLD.
+
+   A bug in GDB meant that in some cases we would deadlock during this
+   process.  This was rarely seen as the kernel is usually quick at
+   delivering signals and making the results available to waitpid, so quick
+   that GDB would gather the statuses from all inferior threads in the
+   original pass.
+
+   The idea in this library is to rate limit calls to waitpid (where pid is
+   -1 and the WNOHANG option is set) so that only 1 per second can return
+   an answer.  Any additional calls will report that no threads are
+   currently ready.  This should match the behaviour we see on a slow
+   kernel.
+
+   However, given that usually when using this library, the kernel does
+   have the waitpid result ready this means that the kernel will never send
+   GDB a SIGCHLD.  This means that when GDB enters sigsuspend it will block
+   forever.  Alternatively, if GDB enters its polling loop the lack of
+   SIGCHLD means that we will never see an event on the child threads.  To
+   resolve these problems the library intercepts calls to sigsuspend and
+   forces the call to exit if there is a pending waitpid result.  Also,
+   when we know that there's a waitpid result that we've ignored, we create
+   a new thread which, after a short delay, will send GDB a SIGCHLD.  */
+
+#define _GNU_SOURCE
+
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/time.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <dlfcn.h>
+#include <string.h>
+#include <stdarg.h>
+#include <signal.h>
+#include <errno.h>
+#include <pthread.h>
+#include <unistd.h>
+
+/* Logging.  */
+
+static void
+log_msg (const char *fmt, ...)
+{
+#ifdef LOGGING
+  va_list ap;
+
+  va_start (ap, fmt);
+  vfprintf (stderr, fmt, ap);
+  va_end (ap);
+#endif /* LOGGING */
+}
+
+/* Error handling, message and exit.  */
+
+static void
+error (const char *fmt, ...)
+{
+  va_list ap;
+
+  va_start (ap, fmt);
+  vfprintf (stderr, fmt, ap);
+  va_end (ap);
+
+  exit (EXIT_FAILURE);
+}
+
+/* Cache the result of a waitpid call that has not been reported back to
+   GDB yet.  We only ever cache a single result.  Once we have a result
+   cached then later calls to waitpid with the WNOHANG option will return a
+   result of 0.  */
+
+static struct
+{
+  /* Flag to indicate when we have a result cached.  */
+  int cached_p;
+
+  /* The cached result fields from a waitpid call.  */
+  pid_t pid;
+  int wstatus;
+} cached_wait_status;
+
+/* Lock to hold when modifying SIGNAL_THREAD_ACTIVE_P.  */
+
+static pthread_mutex_t thread_creation_lock_obj = PTHREAD_MUTEX_INITIALIZER;
+#define thread_creation_lock (&thread_creation_lock_obj)
+
+/* This flag is only modified while holding the THREAD_CREATION_LOCK mutex.
+   When this flag is true then there is a signal thread alive that will be
+   sending a SIGCHLD at some point in the future.  */
+
+static int signal_thread_active_p;
+
+/* When we last allowed a waitpid to complete.  */
+
+static struct timeval last_waitpid_time = { 0, 0 };
+
+/* The number of seconds that must elapse between calls to waitpid where
+   the pid is -1 and the WNOHANG option is set.  If calls occur faster than
+   this then we force a result of 0 to be returned from waitpid.  */
+
+#define WAITPID_MIN_TIME (1)
+
+/* Return true (non-zero) if we should skip this call to waitpid, or false
+   (zero) if this waitpid call should be handled with a call to the "real"
+   waitpid function.  Allows 1 waitpid call per second.  */
+
+static int
+should_skip_waitpid (void)
+{
+  struct timeval *tv = &last_waitpid_time;
+  if (tv->tv_sec == 0)
+    {
+      if (gettimeofday (tv, NULL) < 0)
+	error ("error: gettimeofday failed\n");
+      return 0; /* Don't skip.  */
+    }
+  else
+    {
+      struct timeval new_tv;
+
+      if (gettimeofday (&new_tv, NULL) < 0)
+	error ("error: gettimeofday failed\n");
+
+      if ((new_tv.tv_sec - tv->tv_sec) < WAITPID_MIN_TIME)
+	return 1; /* Skip.  */
+
+      *tv = new_tv;
+    }
+
+  /* Don't skip.  */
+  return 0;
+}
+
+/* Perform a real waitpid call.  */
+
+static pid_t
+real_waitpid (pid_t pid, int *wstatus, int options)
+{
+  typedef pid_t (*fptr_t) (pid_t, int *, int);
+  static fptr_t real_func = NULL;
+
+  if (real_func == NULL)
+    {
+      real_func = dlsym (RTLD_NEXT, "waitpid");
+      if (real_func == NULL)
+	error ("error: failed to find real waitpid\n");
+    }
+
+  return (*real_func) (pid, wstatus, options);
+}
+
+/* Thread worker created when we cache a waitpid result.  Delays for a
+   short period of time and then sends SIGCHLD to the GDB process.  This
+   should trigger GDB to call waitpid again, at which point we will make
+   the cached waitpid result available.  */
+
+static void*
+send_sigchld_thread (void *arg)
+{
+  /* Delay one second longer than WAITPID_MIN_TIME so that there can be no
+     chance that a call to SHOULD_SKIP_WAITPID will return true once the
+     SIGCHLD is delivered and handled.  */
+  sleep (WAITPID_MIN_TIME + 1);
+
+  pthread_mutex_lock (thread_creation_lock);
+  signal_thread_active_p = 0;
+
+  if (cached_wait_status.cached_p)
+    {
+      log_msg ("signal-thread: sending SIGCHLD\n");
+      kill (getpid (), SIGCHLD);
+    }
+
+  pthread_mutex_unlock (thread_creation_lock);
+  return NULL;
+}
+
+/* The waitpid entry point function.  */
+
+pid_t
+waitpid (pid_t pid, int *wstatus, int options)
+{
+  log_msg ("waitpid: waitpid (%d, %p, 0x%x)\n", pid, wstatus, options);
+
+  if ((options & WNOHANG) != 0
+      && pid == -1
+      && should_skip_waitpid ())
+    {
+      if (!cached_wait_status.cached_p)
+	{
+	  /* Do the waitpid call, but hold the result back.  */
+	  pid_t tmp_pid;
+	  int tmp_wstatus;
+
+	  tmp_pid = real_waitpid (-1, &tmp_wstatus, options);
+	  if (tmp_pid > 0)
+	    {
+	      log_msg ("waitpid: delaying waitpid result (pid = %d)\n",
+		       tmp_pid);
+
+	      /* Cache the result.  */
+	      cached_wait_status.pid = tmp_pid;
+	      cached_wait_status.wstatus = tmp_wstatus;
+	      cached_wait_status.cached_p = 1;
+
+	      /* Is there a thread around that will be sending a signal in
+		 the near future?  The prevents us from creating one
+		 thread per call to waitpid when the calls occur in a
+		 sequence.  */
+	      pthread_mutex_lock (thread_creation_lock);
+	      if (!signal_thread_active_p)
+		{
+		  sigset_t old_ss, new_ss;
+		  pthread_t thread_id;
+		  pthread_attr_t attr;
+
+		  /* Create the new signal sending thread in detached
+		     state.  This means that the thread doesn't need to be
+		     pthread_join'ed.  Which is fine as there's no result
+		     we care about.  */
+		  pthread_attr_init (&attr);
+		  pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
+
+		  /* Ensure the signal sending thread has all signals
+		     blocked.  We don't want any signals to GDB to be
+		     handled in that thread.  */
+		  sigfillset (&new_ss);
+		  sigprocmask (SIG_BLOCK, &new_ss, &old_ss);
+
+		  log_msg ("waitpid: spawn thread to signal us\n");
+		  if (pthread_create (&thread_id, &attr,
+				      send_sigchld_thread, NULL) != 0)
+		    error ("error: pthread_create failed\n");
+
+		  signal_thread_active_p = 1;
+		  sigprocmask (SIG_SETMASK, &old_ss, NULL);
+		  pthread_attr_destroy (&attr);
+		}
+
+	      pthread_mutex_unlock (thread_creation_lock);
+	    }
+	}
+
+      log_msg ("waitpid: skipping\n");
+      return 0;
+    }
+
+  /* If we have a cached result that is a suitable reply for this call to
+     waitpid then send that cached result back now.  */
+  if (cached_wait_status.cached_p
+      && (pid == -1 || pid == cached_wait_status.pid))
+    {
+      pid_t pid;
+
+      pid = cached_wait_status.pid;
+      log_msg ("waitpid: return cached result (%d)\n", pid);
+      *wstatus = cached_wait_status.wstatus;
+      cached_wait_status.cached_p = 0;
+      return pid;
+    }
+
+  log_msg ("waitpid: real waitpid call\n");
+  return real_waitpid (pid, wstatus, options);
+}
+
+/* Perform a real sigsuspend call.  */
+
+static int
+real_sigsuspend (const sigset_t *mask)
+{
+  typedef int (*fptr_t) (const sigset_t *);
+  static fptr_t real_func = NULL;
+
+  if (real_func == NULL)
+    {
+      real_func = dlsym (RTLD_NEXT, "sigsuspend");
+      if (real_func == NULL)
+	error ("error: failed to find real sigsuspend\n");
+    }
+
+  return (*real_func) (mask);
+}
+
+/* The sigsuspend entry point function.  */
+
+int
+sigsuspend (const sigset_t *mask)
+{
+  log_msg ("sigsuspend: sigsuspend (0x%p)\n", ((void *) mask));
+
+  /* If SIGCHLD is _not_ in MASK, and is therefore deliverable, then if we
+     have a pending wait status pretend that a signal arrived.  We will
+     have a thread alive that is going to deliver a signal but doing this
+     will boost the speed as we don't have to wait for a signal.  If the
+     signal ends up being delivered then it should be harmless, we'll just
+     perform an additional waitpid call.   */
+  if (!sigismember (mask, SIGCHLD))
+    {
+      if (cached_wait_status.cached_p)
+	{
+	  log_msg ("sigsuspend: interrupt for cached waitstatus\n");
+	  last_waitpid_time.tv_sec = 0;
+	  last_waitpid_time.tv_usec = 0;
+	  errno = EINTR;
+	  return -1;
+	}
+    }
+
+  log_msg ("sigsuspend: real sigsuspend call\n");
+  return real_sigsuspend (mask);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/threadapply.exp ./gdb/testsuite/gdb.threads/threadapply.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/threadapply.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/threadapply.exp	2018-07-10 02:06:13.000000000 +0000
@@ -105,7 +105,7 @@ proc kill_and_remove_inferior {thread_se
 
     # The test starts multiple inferiors, therefore non-extended
     # remote is not supported.
-    if [target_info exists use_gdb_stub] {
+    if [use_gdb_stub] {
 	unsupported "using gdb stub"
 	return
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/tls-core.c ./gdb/testsuite/gdb.threads/tls-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/tls-core.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/tls-core.c	2018-07-10 02:06:13.000000000 +0000
@@ -16,12 +16,14 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <stdlib.h>
 
 int __thread foo = 0xdeadbeef;
 
 static void *
 thread_proc (void *arg)
 {
+  abort ();
   return arg;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/tls-core.exp ./gdb/testsuite/gdb.threads/tls-core.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.threads/tls-core.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/tls-core.exp	2018-07-10 02:06:13.000000000 +0000
@@ -20,37 +20,58 @@ if {[gdb_compile_pthreads "${srcdir}/${s
     return -1
 }
 
+# Generate a native core file.
+
+set corefile [core_find $binfile]
+set core_supported [expr {$corefile != ""}]
+
+# Generate a core file with "gcore".
 
 clean_restart ${binfile}
 
 runto thread_proc
 
-#
-# Generate corefile.
-#
-set corefile [standard_output_file gcore.test]
-set core_supported [gdb_gcore_cmd "$corefile" "save a corefile"]
-if {!$core_supported} {
-    return 0
-}
+set gcorefile [standard_output_file gcore.test]
+set gcore_supported [gdb_gcore_cmd "$gcorefile" "gcore"]
 
+# Restart gdb and load COREFILE as a core file.  SUPPORTED is true iff
+# the core was generated successfully; otherwise, the tests are marked
+# unsupported.
 #
-# Restart gdb and load generated corefile.
-#
-clean_restart ${binfile}
+proc tls_core_test {supported corefile} {
+    upvar target_triplet target_triplet
+    upvar host_triplet host_triplet
+    upvar binfile binfile
+
+    clean_restart ${binfile}
+
+    set test "load core file"
+    if {$supported} {
+	set core_loaded [gdb_core_cmd $corefile $test]
+    } else {
+	set core_loaded 0
+	unsupported $test
+    }
+
+    set test "print thread-local storage variable"
+    if { $core_loaded == 1 } {
+	# This fails in cross-debugging due to the use of native
+	# `libthread_db'.
+	if {![string match $host_triplet $target_triplet]} {
+	    setup_kfail "threads/22381" "*-*-*"
+	}
+	gdb_test "p/x foo" "\\$\[0-9]+ = 0xdeadbeef" $test
+    } else {
+	unsupported $test
+    }
+}
 
-set core_loaded [gdb_core_cmd "$corefile" "load generated corefile"]
-if { $core_loaded != 1 } {
-    # No use proceeding from here.
-    return 0
+with_test_prefix "native" {
+    tls_core_test $core_supported $corefile
 }
 
-# This fails in cross-debugging due to the use of native `libthread_db'.
-if {![string match $host_triplet $target_triplet]} {
-    setup_kfail "threads/22381" "*-*-*"
+with_test_prefix "gcore" {
+    tls_core_test $gcore_supported $gcorefile
 }
-gdb_test "p/x foo" \
-	"\\$\[0-9]+ = 0xdeadbeef" \
-	"print thread-local storage variable"
 
 gdb_exit
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/actions-changed.exp ./gdb/testsuite/gdb.trace/actions-changed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/actions-changed.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/actions-changed.exp	2018-07-10 02:06:13.000000000 +0000
@@ -22,7 +22,7 @@ if {[prepare_for_testing "failed to prep
 }
 
 proc test_actions_changed { } {
-    gdb_breakpoint "end"
+    gdb_breakpoint "end" qualified
 
     gdb_test "trace subr" "Tracepoint .*" \
 	"tracepoint at subr"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/backtrace.exp ./gdb/testsuite/gdb.trace/backtrace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/backtrace.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/backtrace.exp	2018-07-10 02:06:13.000000000 +0000
@@ -145,7 +145,7 @@ gdb_trace_setactions "8.6: setup TP to c
 
 gdb_test_no_output "tstart" ""
 
-gdb_test "break end" ".*" ""
+gdb_breakpoint "end" qualified
 gdb_test "continue" \
     "Continuing.*Breakpoint $decimal, end.*" \
     "run trace experiment"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/circ.exp ./gdb/testsuite/gdb.trace/circ.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/circ.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/circ.exp	2018-07-10 02:06:13.000000000 +0000
@@ -66,7 +66,7 @@ proc run_trace_experiment { } {
     global decimal
 
     setup_tracepoints
-    gdb_test "break end" "Breakpoint $decimal.*" "breakpoint at end"
+    gdb_breakpoint "end" qualified
     gdb_test "tstart" "\[\r\n\]*" "start trace experiment"
     gdb_test "continue" "Continuing.*Breakpoint \[0-9\]+, end.*" \
 	"run to end"
@@ -174,7 +174,7 @@ set frame_size -1
 with_test_prefix "frame size" {
     set_a_tracepoint func0
 
-    gdb_test "break end" "Breakpoint $decimal.*" "breakpoint at end"
+    gdb_breakpoint "end" qualified
 
     gdb_test "tstart" "\[\r\n\]*" "start trace"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/collection.exp ./gdb/testsuite/gdb.trace/collection.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/collection.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/collection.exp	2018-07-10 02:06:13.000000000 +0000
@@ -64,8 +64,8 @@ proc prepare_for_trace_test {} {
 
     runto_main
 
-    gdb_test "break begin" ".*" ""
-    gdb_test "break end" ".*" ""
+    gdb_breakpoint "begin" qualified
+    gdb_breakpoint "end" qualified
 }
 
 proc run_trace_experiment { msg test_func } {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/disconnected-tracing.exp ./gdb/testsuite/gdb.trace/disconnected-tracing.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/disconnected-tracing.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/disconnected-tracing.exp	2018-07-10 02:06:13.000000000 +0000
@@ -62,7 +62,7 @@ proc disconnected_tracing {  } {
 	gdb_test "trace start" ".*"
 	gdb_trace_setactions "collect on tracepoint 2" "2" \
 	    "collect foo" "^$"
-	gdb_test "break end" "Breakpoint ${decimal} at .*"
+	gdb_breakpoint "end" qualified
 
 	gdb_test_no_output "tstart"
 
@@ -125,7 +125,7 @@ proc disconnected_tfind {  } {
 	gdb_test "trace start" ".*"
 	gdb_test_no_output "tstart"
 
-	gdb_test "break end" "Breakpoint ${decimal} at .*"
+	gdb_breakpoint "end" qualified
 	gdb_test "continue" "Continuing\\.\[ \r\n\]+Breakpoint.*"
 	gdb_test_no_output "tstop"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/ftrace.exp ./gdb/testsuite/gdb.trace/ftrace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/ftrace.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/ftrace.exp	2018-07-10 02:06:13.000000000 +0000
@@ -104,9 +104,9 @@ proc test_fast_tracepoints {} {
 
     set fourgood 0
 
-    gdb_test "break begin" ".*" ""
+    gdb_breakpoint "begin" qualified
 
-    gdb_test "break end" ".*" ""
+    gdb_breakpoint "end" qualified
 
     gdb_test "print gdb_agent_gdb_trampoline_buffer_error" ".*" ""
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/ftrace-lock.exp ./gdb/testsuite/gdb.trace/ftrace-lock.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/ftrace-lock.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/ftrace-lock.exp	2018-07-10 02:06:13.000000000 +0000
@@ -69,8 +69,8 @@ if { [gdb_test "info sharedlibrary" ".*$
     return 1
 }
 
-gdb_test "break end" ""
-gdb_test "break fail" ""
+gdb_breakpoint "end" qualified
+gdb_breakpoint "fail" qualified
 
 gdb_test "ftrace set_point" "Fast tracepoint .*" \
     "fast tracepoint at a long insn"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/infotrace.exp ./gdb/testsuite/gdb.trace/infotrace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/infotrace.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/infotrace.exp	2018-07-10 02:06:13.000000000 +0000
@@ -111,7 +111,7 @@ if { ![gdb_target_supports_trace] } then
     return 1
 }
 
-gdb_test "break end" "Breakpoint \[0-9\] at .*"
+gdb_breakpoint "end" qualified
 gdb_test_no_output "tstart"
 gdb_test "continue" "Continuing\\.\[ \r\n\]+Breakpoint.*" \
     "continue to 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.1.0.20180703/gdb/testsuite/gdb.trace/packetlen.exp ./gdb/testsuite/gdb.trace/packetlen.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/packetlen.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/packetlen.exp	2018-07-10 02:06:13.000000000 +0000
@@ -61,7 +61,7 @@ gdb_trace_setactions "setup collect acti
 	"end" ""
 
 gdb_test_no_output "tstart" "survive the long packet send"
-gdb_test "break end" ".*" ""
+gdb_breakpoint "end" qualified
 gdb_test "continue" \
     "Continuing.*Breakpoint $decimal, end.*" \
     "run trace experiment"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/passc-dyn.exp ./gdb/testsuite/gdb.trace/passc-dyn.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/passc-dyn.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/passc-dyn.exp	2018-07-10 02:06:13.000000000 +0000
@@ -86,7 +86,7 @@ gdb_test "passcount 3 $tdp4" "Setting tr
 
 gdb_test "tstart" ".*" ""
 
-gdb_test "break end" ".*" ""
+gdb_breakpoint "end" qualified
 gdb_test "continue" \
     "Continuing.*Breakpoint $decimal, end.*" \
     "run trace experiment"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/qtro.exp ./gdb/testsuite/gdb.trace/qtro.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/qtro.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/qtro.exp	2018-07-10 02:06:13.000000000 +0000
@@ -48,7 +48,7 @@ if ![gdb_target_supports_trace] {
 # frame (IOW, returns while tfind mode is active).
 proc prepare_for_trace_disassembly { } {
     global gdb_prompt
-    gdb_breakpoint "end"
+    gdb_breakpoint "end" qualified
 
     gdb_test "trace subr" "Tracepoint .*" \
 	"tracepoint at subr"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/read-memory.exp ./gdb/testsuite/gdb.trace/read-memory.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/read-memory.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/read-memory.exp	2018-07-10 02:06:13.000000000 +0000
@@ -42,7 +42,7 @@ proc set_tracepoint_and_collect { } {
 	fail "can't run to main"
 	return -1
     }
-    gdb_test "break end" "Breakpoint \[0-9\] at .*"
+    gdb_breakpoint "end" qualified
     gdb_test "trace start" "Tracepoint \[0-9\] at .*"
     gdb_trace_setactions "set action for tracepoint"  "" \
 	"collect testglob" "^$" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/report.exp ./gdb/testsuite/gdb.trace/report.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/report.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/report.exp	2018-07-10 02:06:13.000000000 +0000
@@ -160,7 +160,7 @@ gdb_trace_setactions "9.x: setup TP to c
 
 gdb_test "tstart" ".*" ""
 
-gdb_test "break end" ".*" ""
+gdb_breakpoint "end" qualified
 gdb_test "continue" \
     "Continuing.*Breakpoint $decimal, end.*" \
     "run trace experiment"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/signal.exp ./gdb/testsuite/gdb.trace/signal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/signal.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/signal.exp	2018-07-10 02:06:13.000000000 +0000
@@ -66,7 +66,7 @@ if ![runto_main] {
     return -1
 }
 
-gdb_test "break kill" "Breakpoint $decimal at .*"
+gdb_breakpoint "kill" qualified
 gdb_test "handle SIGABRT nostop noprint pass" ".*" "pass SIGABRT"
 
 # Hit the breakpoint on $syscall for the first time.  In this time,
@@ -119,7 +119,7 @@ gdb_test_multiple $test $test {
 }
 
 delete_breakpoints
-gdb_test "break start" "Breakpoint $decimal at .*"
+gdb_breakpoint "start" qualified
 gdb_continue_to_breakpoint "continue to start"
 
 gdb_assert { 0 == [get_integer_valueof "counter" "1"] } "counter is zero"
@@ -135,7 +135,7 @@ set tpnum [get_integer_valueof "\$bpnum"
 gdb_test "trace *$syscall_insn_next" "Tracepoint $decimal at .*" \
     "tracepoint on instruction following syscall instruction"
 
-gdb_test "break end" "Breakpoint $decimal at .*"
+gdb_breakpoint "end" qualified
 
 gdb_test_no_output "tstart"
 gdb_test "continue" ".*Breakpoint.* end .*at.*$srcfile.*" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/status-stop.exp ./gdb/testsuite/gdb.trace/status-stop.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/status-stop.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/status-stop.exp	2018-07-10 02:06:13.000000000 +0000
@@ -51,7 +51,7 @@ proc test_tstart_tstop_tstart { } {
 	gdb_test "trace func1" "Tracepoint \[0-9\] at $hex: file.*"
 	gdb_test_no_output "tstart"
 
-	gdb_test "break end" "Breakpoint \[0-9\] at $hex: file.*"
+	gdb_breakpoint "end" qualified
 	gdb_test "continue" "Continuing\\.\[ \r\n\]+Breakpoint.*" \
 	    "continue to end"
 
@@ -108,7 +108,7 @@ proc test_buffer_full_tstart { } {
 	    "collect buf" "^$"
 
 	gdb_test_no_output "tstart"
-	gdb_test "break end" "Breakpoint \[0-9\] at $hex: file.*"
+	gdb_breakpoint "end" qualified
 	gdb_test "continue" "Continuing\\.\[ \r\n\]+Breakpoint.*" "continue to end"
 
 	gdb_test "tstatus" ".*buffer was full.*"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/strace.exp ./gdb/testsuite/gdb.trace/strace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/strace.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/strace.exp	2018-07-10 02:06:13.000000000 +0000
@@ -185,7 +185,7 @@ proc strace_probe_marker { } {
 	gdb_test "info static-tracepoint-markers" \
 	    "ust/bar\[\t \]+y\[\t \]+$hex .*ust/bar2\[\t \]+y\[\t \]+$hex.*"
 
-	gdb_test "break end" "Breakpoint \[0-9\]+ at.*"
+	gdb_breakpoint "end" qualified
 
 	gdb_test_no_output "tstart"
 	gdb_test "continue" "Continuing\\.\[ \r\n\]+Breakpoint.*" \
@@ -274,7 +274,7 @@ proc strace_trace_on_same_addr { type } 
 	    }
 	}
 
-	gdb_test "break end" "Breakpoint \[0-9\]+ at.*"
+	gdb_breakpoint "end" qualified
 
 	if [string equal $type "break"] {
 	    gdb_test "continue" "Continuing\\.\[ \r\n\]+Breakpoint.*" \
@@ -350,7 +350,7 @@ proc strace_trace_on_diff_addr { } {
 	gdb_test "trace *${marker_bar2_addr}" \
 	    "Tracepoint \[0-9\]+ at ${hex}: file.*"
 
-	gdb_test "break end" "Breakpoint \[0-9\]+ at.*"
+	gdb_breakpoint "end" qualified
 
 	gdb_test_no_output "tstart"
 	gdb_test "continue" "Continuing\\.\[ \r\n\]+Breakpoint.*" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/tfind.exp ./gdb/testsuite/gdb.trace/tfind.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/tfind.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tfind.exp	2018-07-10 02:06:13.000000000 +0000
@@ -34,11 +34,11 @@ gdb_test "tfind none"  ".*" ""
 
 # 6.2 test help tstart
 gdb_test "help tstart" \
-    "Start trace data collection\.\[\r\n\]+Usage: tstart \\\[ <notes> \.\.\. \\\]\[\r\n\]+Any arguments supplied are recorded with the trace as a note and\[\r\n\]+reported by tstatus \\(if the target supports trace notes\\)\." \
+    "Start trace data collection\.\[\r\n\]+Usage: tstart \\\[NOTES\\\]\.\.\.\[\r\n\]+Any arguments supplied are recorded with the trace as a note and\[\r\n\]+reported by tstatus \\(if the target supports trace notes\\)\." \
     "6.2: help tstart"
 # 7.2 test help tstop
 gdb_test "help tstop" \
-    "Stop trace data collection\.\[\r\n\]+Usage: tstop \\\[ <notes> \.\.\. \\\]\[\r\n\]+Any arguments supplied are recorded with the trace as a stop reason and\[\r\n\]+reported by tstatus \\(if the target supports trace notes\\)\." \
+    "Stop trace data collection\.\[\r\n\]+Usage: tstop \\\[NOTES\\\]\.\.\.\[\r\n\]+Any arguments supplied are recorded with the trace as a stop reason and\[\r\n\]+reported by tstatus \\(if the target supports trace notes\\)\." \
     "7.2: help tstop"
 
 # 8.38 test help tfind
@@ -127,7 +127,7 @@ if { $return_me == 1 } then {
 # test tstatus (when trace on)
 gdb_test "tstatus" "\[Tt\]race is running.*" "test tstatus on"
 
-gdb_test "break end" ".*" ""
+gdb_breakpoint "end" qualified
 gdb_test "continue" \
     "Continuing.*Breakpoint $decimal, end.*" \
     "run trace experiment"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/trace-break.exp ./gdb/testsuite/gdb.trace/trace-break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/trace-break.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/trace-break.exp	2018-07-10 02:06:13.000000000 +0000
@@ -53,9 +53,9 @@ proc break_trace_same_addr_1 { trace_typ
 
     gdb_test_no_output "set breakpoint always-inserted ${option}"
 
-    gdb_test "break end" "Breakpoint \[0-9\] at $hex: file.*"
+    gdb_breakpoint "end" qualified
 
-    gdb_test "break set_point" "Breakpoint \[0-9\] at $hex: file.*"
+    gdb_breakpoint "set_point" qualified
     gdb_test "${trace_type} set_point" "\(Fast t|T\)racepoint \[0-9\] at $hex: file.*"
 
     gdb_test_no_output "tstart"
@@ -88,7 +88,7 @@ proc break_trace_same_addr_2 { trace_typ
 
     gdb_test_no_output "set breakpoint always-inserted ${option}"
 
-    gdb_test "break end" "Breakpoint \[0-9\] at $hex: file.*"
+    gdb_breakpoint "end" qualified
 
     gdb_test "${trace_type1} set_point" \
 	"\(Fast t|T\)racepoint \[0-9\] at $hex: file.*" \
@@ -126,10 +126,10 @@ proc break_trace_same_addr_3 { trace_typ
     }
 
     gdb_test_no_output "set breakpoint always-inserted ${option}"
-    gdb_test "break marker" "Breakpoint \[0-9\] at $hex: file.*"
-    gdb_test "break end" "Breakpoint \[0-9\] at $hex: file.*"
+    gdb_breakpoint "marker" qualified
+    gdb_breakpoint "end" qualified
 
-    gdb_test "break set_point" "Breakpoint \[0-9\] at $hex: file.*"
+    gdb_breakpoint "set_point" qualified
     gdb_test "${trace_type} set_point" "\(Fast t|T\)racepoint \[0-9\] at $hex: file.*"
 
     gdb_test_no_output "tstart"
@@ -164,10 +164,10 @@ proc break_trace_same_addr_4 { trace_typ
     }
 
     gdb_test_no_output "set breakpoint always-inserted ${option}"
-    gdb_test "break marker" "Breakpoint \[0-9\] at $hex: file.*"
-    gdb_test "break end" "Breakpoint \[0-9\] at $hex: file.*"
+    gdb_breakpoint "marker" qualified
+    gdb_breakpoint "end" qualified
 
-    gdb_test "break set_point" "Breakpoint \[0-9\] at $hex: file.*"
+    gdb_breakpoint "set_point" qualified
     gdb_test "${trace_type} set_point" "\(Fast t|T\)racepoint \[0-9\] at $hex: file.*"
 
     gdb_test "continue" "Continuing\\.\[ \r\n\]+(Thread .* hit )?Breakpoint.*" \
@@ -207,8 +207,8 @@ proc break_trace_same_addr_5 { trace1 tr
 	return -1
     }
 
-    gdb_test "break marker" "Breakpoint \[0-9\] at $hex: file.*"
-    gdb_test "break end" "Breakpoint \[0-9\] at $hex: file.*"
+    gdb_breakpoint "marker" qualified
+    gdb_breakpoint "end" qualified
 
     gdb_test "${trace1} set_point" "\(Fast t|T\)racepoint \[0-9\] at $hex: file.*" \
 	"${trace1} set_point 1"
@@ -281,8 +281,8 @@ proc break_trace_same_addr_6 { trace1 en
 	return -1
     }
 
-    gdb_test "break marker" "Breakpoint \[0-9\] at $hex: file.*"
-    gdb_test "break end" "Breakpoint \[0-9\] at $hex: file.*"
+    gdb_breakpoint "marker" qualified
+    gdb_breakpoint "end" qualified
 
     gdb_test "continue" "Continuing\\.\[ \r\n\]+(Thread .* hit )?Breakpoint.*" \
 	"continue to marker"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/trace-condition.exp ./gdb/testsuite/gdb.trace/trace-condition.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/trace-condition.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/trace-condition.exp	2018-07-10 02:06:13.000000000 +0000
@@ -71,9 +71,9 @@ proc test_tracepoints { trace_command co
 	return 0
     }
 
-    gdb_test "break begin" ".*" ""
+    gdb_breakpoint "begin" qualified
 
-    gdb_test "break end" ".*" ""
+    gdb_breakpoint "end" qualified
 
     with_test_prefix "${trace_command}: ${condition}" {
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/trace-mt.exp ./gdb/testsuite/gdb.trace/trace-mt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/trace-mt.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/trace-mt.exp	2018-07-10 02:06:13.000000000 +0000
@@ -81,7 +81,7 @@ proc break_trace_same_addr { trace_type 
 
     gdb_test_no_output "set breakpoint always-inserted ${option}"
 
-    gdb_test "break end" "Breakpoint \[0-9\] at $hex: file.*"
+    gdb_breakpoint "end" qualified
 
     gdb_test "break set_point1" "Breakpoint \[0-9\] at $hex: file.*"
     gdb_test "${trace_type} set_point1" "\(Fast t|T\)racepoint \[0-9\] at $hex: file.*"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/tspeed.exp ./gdb/testsuite/gdb.trace/tspeed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/tspeed.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tspeed.exp	2018-07-10 02:06:13.000000000 +0000
@@ -19,6 +19,7 @@ standard_testfile
 set executable $testfile
 
 set ipalib [get_in_proc_agent]
+gdb_load_shlib $ipalib
 
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable [concat {debug nowarnings c} shlib=$ipalib]] != "" } {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/tstatus.exp ./gdb/testsuite/gdb.trace/tstatus.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/tstatus.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tstatus.exp	2018-07-10 02:06:13.000000000 +0000
@@ -119,9 +119,9 @@ proc run_trace_experiment {} {
 proc test_tracepoints {} {
     global gdb_prompt
 
-    gdb_test "break begin" ".*" ""
+    gdb_breakpoint "begin" qualified
 
-    gdb_test "break end" ".*" ""
+    gdb_breakpoint "end" qualified
 
     gdb_test "trace gdb_c_test" "Tracepoint .*" \
 	"tracepoint at gdb_c_test"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/tsv.exp ./gdb/testsuite/gdb.trace/tsv.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/tsv.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tsv.exp	2018-07-10 02:06:13.000000000 +0000
@@ -136,7 +136,7 @@ gdb_test "print \$tvar5" " = 15" \
     "Print a trace state variable at start of run"
 
 # Be sure not to fall off the end of the program.
-gdb_test "break end" ".*" ""
+gdb_breakpoint "end" qualified
 gdb_test "continue" \
     "Continuing.*Breakpoint $decimal, end.*" \
     "run trace experiment"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp ./gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp	2018-07-10 02:06:13.000000000 +0000
@@ -303,7 +303,7 @@ if ![gdb_target_supports_trace] {
     return -1
 }
 
-gdb_breakpoint "end"
+gdb_breakpoint "end" qualified
 
 with_test_prefix "tracing foo" {
     gdb_test "trace *foo_start_lbl" ".*"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/unavailable.exp ./gdb/testsuite/gdb.trace/unavailable.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/unavailable.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/unavailable.exp	2018-07-10 02:06:13.000000000 +0000
@@ -61,8 +61,8 @@ proc prepare_for_trace_test {} {
 
     runto_main
 
-    gdb_test "break begin" ".*" ""
-    gdb_test "break end" ".*" ""
+    gdb_breakpoint "begin" qualified
+    gdb_breakpoint "end" qualified
 }
 
 proc run_trace_experiment { test_func } {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/while-dyn.exp ./gdb/testsuite/gdb.trace/while-dyn.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.trace/while-dyn.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/while-dyn.exp	2018-07-10 02:06:13.000000000 +0000
@@ -72,7 +72,7 @@ proc test_while_stepping { while_steppin
 
     gdb_test "tstart" ".*" ""
 
-    gdb_test "break end" ".*" ""
+    gdb_breakpoint "end" qualified
     gdb_test "continue" \
 	"Continuing.*Breakpoint $decimal, end.*" \
 	"$while_stepping: run trace experiment"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.xml/tdesc-regs.exp ./gdb/testsuite/gdb.xml/tdesc-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/gdb.xml/tdesc-regs.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/gdb.xml/tdesc-regs.exp	2018-07-10 02:06:13.000000000 +0000
@@ -179,7 +179,7 @@ gdb_test "ptype \$extrareg" "type = (int
 gdb_test "ptype \$uintreg" "type = uint32_t"
 gdb_test "ptype \$vecreg" "type = int8_t __attribute__ \\(\\(vector_size\\(4\\)\\)\\)"
 gdb_test "ptype \$unionreg" \
-    "type = union {\r\n *v4int8 v4;\r\n *v2int16 v2;\r\n}"
+    "type = union vecint {\r\n *v4int8 v4;\r\n *v2int16 v2;\r\n}"
 gdb_test "ptype \$unionreg.v4" "type = int8_t __attribute__ \\(\\(vector_size\\(4\\)\\)\\)"
 gdb_test "ptype \$structreg" \
     "type = struct struct1 {\r\n *v4int8 v4;\r\n *v2int16 v2;\r\n}"
@@ -189,7 +189,7 @@ gdb_test "ptype \$bitfields" \
 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}"
+    "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 Z_values {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\]+"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/lib/cp-support.exp ./gdb/testsuite/lib/cp-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/lib/cp-support.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/lib/cp-support.exp	2018-07-10 02:06:13.000000000 +0000
@@ -564,7 +564,7 @@ proc cp_test_ptype_class { in_exp in_tes
 	    switch $nested_key {
 		enum {
 		    set expected_result \
-			"enum $nested_name (: (unsigned )?int)? \{"
+			"enum $nested_name (: (unsigned )?int )?\{"
 		    foreach c $nested_children {
 			append expected_result "$c, "
 		    }
@@ -575,7 +575,7 @@ proc cp_test_ptype_class { in_exp in_tes
 			"Expecting enum result: $expected_result"
 		    if {![regexp -- $expected_result $actual_line]} {
 			set txt "$in_testname // wrong nested type enum"
-			append txt " definition: $actual_linejj"
+			append txt " definition: $actual_line"
 			fail $txt
 			queue delete $line_queue
 			return false
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/lib/gdb.exp ./gdb/testsuite/lib/gdb.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/lib/gdb.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/lib/gdb.exp	2018-07-10 02:06:13.000000000 +0000
@@ -82,7 +82,8 @@ if ![info exists gdb_prompt] then {
 }
 
 # A regexp that matches the pagination prompt.
-set pagination_prompt [string_to_regexp "---Type <return> to continue, or q <return> to quit---"]
+set pagination_prompt \
+    "--Type <RET> for more, q to quit, c to continue without paging--"
 
 # The variable fullname_syntax_POSIX is a regexp which matches a POSIX 
 # absolute path ie. /foo/ 
@@ -2979,7 +2980,7 @@ gdb_caching_proc skip_btrace_pt_tests {
     file delete $src
     # In case of an unexpected output, we return 2 as a fail value.
     set skip_btrace_tests 2
-    gdb_test_multiple "record btrace pt" "check btrace support" {
+    gdb_test_multiple "record btrace pt" "check btrace pt support" {
         -re "You can't do that when your target is.*\r\n$gdb_prompt $" {
             set skip_btrace_tests 1
         }
@@ -2989,7 +2990,7 @@ gdb_caching_proc skip_btrace_pt_tests {
         -re "Could not enable branch tracing.*\r\n$gdb_prompt $" {
             set skip_btrace_tests 1
         }
-        -re "GDB does not support.*\r\n$gdb_prompt $" {
+        -re "support was disabled at compile time.*\r\n$gdb_prompt $" {
             set skip_btrace_tests 1
         }
         -re "^record btrace pt\r\n$gdb_prompt $" {
@@ -3003,6 +3004,36 @@ gdb_caching_proc skip_btrace_pt_tests {
     return $skip_btrace_tests
 }
 
+# A helper that compiles a test case to see if __int128 is supported.
+proc gdb_int128_helper {lang} {
+    set src [standard_temp_file i128[pid].c]
+    set obj [standard_temp_file i128[pid].o]
+
+    verbose -log "checking $lang for __int128"
+    gdb_produce_source $src {
+	__int128 x;
+	int main() { return 0; }
+    }
+
+    set lines [gdb_compile $src $obj object [list nowarnings quiet $lang]]
+    file delete $src
+    file delete $obj
+
+    set result [expr {!![string match "" $lines]}]
+    verbose -log "__int128 for $lang result = $result"
+    return $result
+}
+
+# Return true if the C compiler understands the __int128 type.
+gdb_caching_proc has_int128_c {
+    return [gdb_int128_helper c]
+}
+
+# Return true if the C++ compiler understands the __int128 type.
+gdb_caching_proc has_int128_cxx {
+    return [gdb_int128_helper c++]
+}
+
 # Return whether we should skip tests for showing inlined functions in
 # backtraces.  Requires get_compiler_info and get_debug_format.
 
@@ -3178,14 +3209,16 @@ proc skip_compile_feature_tests {} {
     return $result
 }
 
-# Helper for gdb_is_target_remote.  PROMPT_REGEXP is the expected
-# prompt.
+# Helper for gdb_is_target_* procs.  TARGET_NAME is the name of the target
+# we're looking for (used to build the test name).  TARGET_STACK_REGEXP
+# is a regexp that will match the output of "maint print target-stack" if
+# the target in question is currently pushed.  PROMPT_REGEXP is a regexp
+# matching the expected prompt after the command output.
 
-proc gdb_is_target_remote_prompt { prompt_regexp } {
-
-    set test "probe for target remote"
+proc gdb_is_target_1 { target_name target_stack_regexp prompt_regexp } {
+    set test "probe for target ${target_name}"
     gdb_test_multiple "maint print target-stack" $test {
-	-re ".*emote serial target in gdb-specific protocol.*$prompt_regexp" {
+	-re "${target_stack_regexp}${prompt_regexp}" {
 	    pass $test
 	    return 1
 	}
@@ -3196,15 +3229,29 @@ proc gdb_is_target_remote_prompt { promp
     return 0
 }
 
+# Helper for gdb_is_target_remote where the expected prompt is variable.
+
+proc gdb_is_target_remote_prompt { prompt_regexp } {
+    return [gdb_is_target_1 "remote" ".*emote serial target in gdb-specific protocol.*" $prompt_regexp]
+}
+
 # Check whether we're testing with the remote or extended-remote
 # targets.
 
-proc gdb_is_target_remote {} {
+proc gdb_is_target_remote { } {
     global gdb_prompt
 
     return [gdb_is_target_remote_prompt "$gdb_prompt $"]
 }
 
+# Check whether we're testing with the native target.
+
+proc gdb_is_target_native { } {
+    global gdb_prompt
+
+    return [gdb_is_target_1 "native" ".*native \\(Native process\\).*" "$gdb_prompt $"]
+}
+
 # Return the effective value of use_gdb_stub.
 #
 # If the use_gdb_stub global has been set (it is set when the gdb process is
@@ -3528,16 +3575,17 @@ proc gdb_compile {source dest type optio
 
     # Add platform-specific options if a shared library was specified using
     # "shlib=librarypath" in OPTIONS.
+    set new_options {}
     if {[lsearch -exact $options rust] != -1} {
 	# -fdiagnostics-color is not a rustcc option.
     } else {
 	set new_options [universal_compile_options]
     }
-    set new_options {}
     set shlib_found 0
     set shlib_load 0
     foreach opt $options {
-        if [regexp {^shlib=(.*)} $opt dummy_var shlib_name] {
+        if {[regexp {^shlib=(.*)} $opt dummy_var shlib_name]
+	    && $type == "executable"} {
             if [test_compiler_info "xlc-*"] {
 		# IBM xlc compiler doesn't accept shared library named other
 		# than .so: use "-Wl," to bypass this
@@ -3563,7 +3611,7 @@ proc gdb_compile {source dest type optio
 		    lappend new_options "early_flags=-Wl,--no-as-needed"
 		}
             }
-	} elseif { $opt == "shlib_load" } {
+	} elseif { $opt == "shlib_load" && $type == "executable" } {
 	    set shlib_load 1
         } else {
             lappend new_options $opt
@@ -5758,6 +5806,22 @@ proc get_var_address { var } {
     return ""
 }
 
+# Return the frame number for the currently selected frame
+proc get_current_frame_number {{test_name ""}} {
+    global gdb_prompt
+
+    if { $test_name == "" } {
+	set test_name "get current frame number"
+    }
+    set frame_num -1
+    gdb_test_multiple "frame" $test_name {
+	-re "#(\[0-9\]+) .*$gdb_prompt $" {
+	    set frame_num $expect_out(1,string)
+	}
+    }
+    return $frame_num
+}
+
 # Get the current value for remotetimeout and return it.
 proc get_remotetimeout { } {
     global gdb_prompt
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/lib/mi-support.exp ./gdb/testsuite/lib/mi-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/lib/mi-support.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/lib/mi-support.exp	2018-07-10 02:06:13.000000000 +0000
@@ -979,7 +979,11 @@ proc mi_run_cmd_full {use_mi_command arg
 	send_gdb  "jump *$start\n"
 	warning "Using CLI jump command, expect run-to-main FAIL"
 	gdb_expect {
-	    -re "${run_match}&\"jump \\*${start}\\n\"\[\r\n\]+~\"Continuing at 0x\[0-9A-Fa-f\]+\\n.\"\[\r\n\]+\^running\[\r\n\]+\\*running,thread-id=\"\[^\"\]+\"\r\n${mi_gdb_prompt}" {}
+	    -re "&\"jump \\*${start}\\\\n\"\[\r\n\]+~\"Continuing at 0x\[0-9A-Fa-f\]+\.\\\\n\"\[\r\n\]+\\^running\[\r\n\]+\\*running,thread-id=\"\[^\"\]+\"\[\r\n\]+${mi_gdb_prompt}" {}
+	    timeout {
+		perror "Unable to start target"
+		return -1
+	    }
 	}
 	return 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.1.0.20180703/gdb/testsuite/lib/selftest-support.exp ./gdb/testsuite/lib/selftest-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/testsuite/lib/selftest-support.exp	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/testsuite/lib/selftest-support.exp	2018-07-10 02:06:13.000000000 +0000
@@ -88,17 +88,12 @@ proc selftest_setup { executable functio
 
     set description "run until breakpoint at $function"
     gdb_test_multiple "run $INTERNAL_GDBFLAGS" "$description" {
-        -re "Starting program.*Breakpoint \[0-9\]+,.*$function \\(\\).* at .*main.c:.*$gdb_prompt $" {
+        -re "Starting program.*Breakpoint \[0-9\]+,.*$function \\(.*\\).* at .*main.c:.*$gdb_prompt $" {
             pass "$description"
         }
-        -re "Starting program.*Breakpoint \[0-9\]+,.*$function \\(\\).*$gdb_prompt $" {
+        -re "Starting program.*Breakpoint \[0-9\]+,.*$function \\(.*\\).*$gdb_prompt $" {
             xfail "$description (line numbers scrambled?)"
         }
-	-re "Starting program.*Breakpoint \[0-9\]+,.* at .*main.c:.*$function.*$gdb_prompt $" {
-	    # $function may be inlined, so the program stops at the line
-	    # calling $function.
-	    pass "$description"
-	}
         -re "vfork: No more processes.*$gdb_prompt $" {
             fail "$description (out of virtual memory)"
             set timeout $oldtimeout
@@ -140,7 +135,7 @@ proc do_self_tests {function body} {
     # ... or with a stub-like server?  I.e., gdbserver + "target
     # remote"?  In that case we won't be able to pass command line
     # arguments to GDB, and selftest_setup wants to do exactly that.
-    if [target_info exists use_gdb_stub] {
+    if [use_gdb_stub] {
 	return
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/thread.c ./gdb/thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/thread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/thread.c	2018-07-10 02:06:13.000000000 +0000
@@ -36,7 +36,7 @@
 #include <sys/types.h>
 #include <signal.h>
 #include "ui-out.h"
-#include "observer.h"
+#include "observable.h"
 #include "annotate.h"
 #include "cli/cli-decode.h"
 #include "gdb_regex.h"
@@ -207,7 +207,7 @@ set_thread_exited (thread_info *tp, int 
 
   if (tp->state != THREAD_EXITED)
     {
-      observer_notify_thread_exit (tp, silent);
+      gdb::observers::thread_exit.notify (tp, silent);
 
       /* Tag it as exited.  */
       tp->state = THREAD_EXITED;
@@ -220,16 +220,12 @@ set_thread_exited (thread_info *tp, int 
 void
 init_thread_list (void)
 {
-  struct thread_info *tp, *tpnext;
+  struct thread_info *tp, *tmp;
 
   highest_thread_num = 0;
 
-  if (!thread_list)
-    return;
-
-  for (tp = thread_list; tp; tp = tpnext)
+  ALL_THREADS_SAFE (tp, tmp)
     {
-      tpnext = tp->next;
       if (tp->deletable ())
 	delete tp;
       else
@@ -285,32 +281,32 @@ add_thread_silent (ptid_t ptid)
 
       if (inferior_ptid == ptid)
 	{
-	  tp = new_thread (inf, null_ptid);
+	  thread_info *new_thr = new_thread (inf, null_ptid);
 
 	  /* Make switch_to_thread not read from the thread.  */
-	  tp->state = THREAD_EXITED;
-	  switch_to_thread (null_ptid);
+	  new_thr->state = THREAD_EXITED;
+	  switch_to_no_thread ();
 
 	  /* Now we can delete it.  */
-	  delete_thread (ptid);
+	  delete_thread (tp);
 
 	  /* Now reset its ptid, and reswitch inferior_ptid to it.  */
-	  tp->ptid = ptid;
-	  tp->state = THREAD_STOPPED;
-	  switch_to_thread (ptid);
+	  new_thr->ptid = ptid;
+	  new_thr->state = THREAD_STOPPED;
+	  switch_to_thread (new_thr);
 
-	  observer_notify_new_thread (tp);
+	  gdb::observers::new_thread.notify (new_thr);
 
 	  /* All done.  */
-	  return tp;
+	  return new_thr;
 	}
       else
 	/* Just go ahead and delete it.  */
-	delete_thread (ptid);
+	delete_thread (tp);
     }
 
   tp = new_thread (inf, ptid);
-  observer_notify_new_thread (tp);
+  gdb::observers::new_thread.notify (tp);
 
   return tp;
 }
@@ -436,17 +432,18 @@ thread_step_over_chain_remove (struct th
   step_over_chain_remove (&step_over_queue_head, tp);
 }
 
-/* Delete thread PTID.  If SILENT, don't notify the observer of this
+/* Delete thread TP.  If SILENT, don't notify the observer of this
    exit.  */
+
 static void
-delete_thread_1 (ptid_t ptid, int silent)
+delete_thread_1 (thread_info *thr, bool silent)
 {
   struct thread_info *tp, *tpprev;
 
   tpprev = NULL;
 
   for (tp = thread_list; tp; tpprev = tp, tp = tp->next)
-    if (tp->ptid == ptid)
+    if (tp == thr)
       break;
 
   if (!tp)
@@ -468,20 +465,21 @@ delete_thread_1 (ptid_t ptid, int silent
   delete tp;
 }
 
-/* Delete thread PTID and notify of thread exit.  If this is
-   inferior_ptid, don't actually delete it, but tag it as exited and
-   do the notification.  If PTID is the user selected thread, clear
+/* Delete thread THREAD and notify of thread exit.  If this is the
+   current thread, don't actually delete it, but tag it as exited and
+   do the notification.  If this is the user selected thread, clear
    it.  */
+
 void
-delete_thread (ptid_t ptid)
+delete_thread (thread_info *thread)
 {
-  delete_thread_1 (ptid, 0 /* not silent */);
+  delete_thread_1 (thread, false /* not silent */);
 }
 
 void
-delete_thread_silent (ptid_t ptid)
+delete_thread_silent (thread_info *thread)
 {
-  delete_thread_1 (ptid, 1 /* silent */);
+  delete_thread_1 (thread, true /* silent */);
 }
 
 struct thread_info *
@@ -602,29 +600,6 @@ valid_global_thread_id (int global_id)
 }
 
 int
-ptid_to_global_thread_id (ptid_t ptid)
-{
-  struct thread_info *tp;
-
-  for (tp = thread_list; tp; tp = tp->next)
-    if (tp->ptid == ptid)
-      return tp->global_num;
-
-  return 0;
-}
-
-ptid_t
-global_thread_id_to_ptid (int global_id)
-{
-  struct thread_info *thread = find_thread_global_id (global_id);
-
-  if (thread)
-    return thread->ptid;
-  else
-    return minus_one_ptid;
-}
-
-int
 in_thread_list (ptid_t ptid)
 {
   struct thread_info *tp;
@@ -636,51 +611,50 @@ in_thread_list (ptid_t ptid)
   return 0;			/* Never heard of 'im.  */
 }
 
-/* Finds the first thread of the inferior given by PID.  If PID is -1,
-   return the first thread in the list.  */
+/* Finds the first thread of the inferior.  */
 
-struct thread_info *
-first_thread_of_process (int pid)
+thread_info *
+first_thread_of_inferior (inferior *inf)
 {
   struct thread_info *tp, *ret = NULL;
 
   for (tp = thread_list; tp; tp = tp->next)
-    if (pid == -1 || ptid_get_pid (tp->ptid) == pid)
+    if (tp->inf == inf)
       if (ret == NULL || tp->global_num < ret->global_num)
 	ret = tp;
 
   return ret;
 }
 
-struct thread_info *
-any_thread_of_process (int pid)
+thread_info *
+any_thread_of_inferior (inferior *inf)
 {
   struct thread_info *tp;
 
-  gdb_assert (pid != 0);
+  gdb_assert (inf->pid != 0);
 
   /* Prefer the current thread.  */
-  if (ptid_get_pid (inferior_ptid) == pid)
+  if (inf == current_inferior ())
     return inferior_thread ();
 
   ALL_NON_EXITED_THREADS (tp)
-    if (ptid_get_pid (tp->ptid) == pid)
+    if (tp->inf == inf)
       return tp;
 
   return NULL;
 }
 
-struct thread_info *
-any_live_thread_of_process (int pid)
+thread_info *
+any_live_thread_of_inferior (inferior *inf)
 {
   struct thread_info *curr_tp = NULL;
   struct thread_info *tp;
   struct thread_info *tp_executing = NULL;
 
-  gdb_assert (pid != 0);
+  gdb_assert (inf != NULL && inf->pid != 0);
 
   /* Prefer the current thread if it's not executing.  */
-  if (ptid_get_pid (inferior_ptid) == pid)
+  if (inferior_ptid != null_ptid && current_inferior () == inf)
     {
       /* If the current thread is dead, forget it.  If it's not
 	 executing, use it.  Otherwise, still choose it (below), but
@@ -693,7 +667,7 @@ any_live_thread_of_process (int pid)
     }
 
   ALL_NON_EXITED_THREADS (tp)
-    if (ptid_get_pid (tp->ptid) == pid)
+    if (tp->inf == inf)
       {
 	if (!tp->executing)
 	  return tp;
@@ -731,7 +705,7 @@ prune_threads (void)
   ALL_THREADS_SAFE (tp, tmp)
     {
       if (!thread_alive (tp))
-	delete_thread (tp->ptid);
+	delete_thread (tp);
     }
 }
 
@@ -745,59 +719,18 @@ delete_exited_threads (void)
   ALL_THREADS_SAFE (tp, tmp)
     {
       if (tp->state == THREAD_EXITED)
-	delete_thread (tp->ptid);
+	delete_thread (tp);
     }
 }
 
-/* Disable storing stack temporaries for the thread whose id is
-   stored in DATA.  */
-
-static void
-disable_thread_stack_temporaries (void *data)
-{
-  ptid_t *pd = (ptid_t *) data;
-  struct thread_info *tp = find_thread_ptid (*pd);
+/* Return true value if stack temporaies are enabled for the thread
+   TP.  */
 
-  if (tp != NULL)
-    {
-      tp->stack_temporaries_enabled = 0;
-      VEC_free (value_ptr, tp->stack_temporaries);
-    }
-
-  xfree (pd);
-}
-
-/* Enable storing stack temporaries for thread with id PTID and return a
-   cleanup which can disable and clear the stack temporaries.  */
-
-struct cleanup *
-enable_thread_stack_temporaries (ptid_t ptid)
-{
-  struct thread_info *tp = find_thread_ptid (ptid);
-  ptid_t  *data;
-  struct cleanup *c;
-
-  gdb_assert (tp != NULL);
-
-  tp->stack_temporaries_enabled = 1;
-  tp->stack_temporaries = NULL;
-  data = XNEW (ptid_t);
-  *data = ptid;
-  c = make_cleanup (disable_thread_stack_temporaries, data);
-
-  return c;
-}
-
-/* Return non-zero value if stack temporaies are enabled for the thread
-   with id PTID.  */
-
-int
-thread_stack_temporaries_enabled_p (ptid_t ptid)
+bool
+thread_stack_temporaries_enabled_p (thread_info *tp)
 {
-  struct thread_info *tp = find_thread_ptid (ptid);
-
   if (tp == NULL)
-    return 0;
+    return false;
   else
     return tp->stack_temporaries_enabled;
 }
@@ -805,48 +738,37 @@ thread_stack_temporaries_enabled_p (ptid
 /* Push V on to the stack temporaries of the thread with id PTID.  */
 
 void
-push_thread_stack_temporary (ptid_t ptid, struct value *v)
+push_thread_stack_temporary (thread_info *tp, struct value *v)
 {
-  struct thread_info *tp = find_thread_ptid (ptid);
-
   gdb_assert (tp != NULL && tp->stack_temporaries_enabled);
-  VEC_safe_push (value_ptr, tp->stack_temporaries, v);
+  tp->stack_temporaries.push_back (v);
 }
 
-/* Return 1 if VAL is among the stack temporaries of the thread
-   with id PTID.  Return 0 otherwise.  */
+/* Return true if VAL is among the stack temporaries of the thread
+   TP.  Return false otherwise.  */
 
-int
-value_in_thread_stack_temporaries (struct value *val, ptid_t ptid)
+bool
+value_in_thread_stack_temporaries (struct value *val, thread_info *tp)
 {
-  struct thread_info *tp = find_thread_ptid (ptid);
-
   gdb_assert (tp != NULL && tp->stack_temporaries_enabled);
-  if (!VEC_empty (value_ptr, tp->stack_temporaries))
-    {
-      struct value *v;
-      int i;
+  for (value *v : tp->stack_temporaries)
+    if (v == val)
+      return true;
 
-      for (i = 0; VEC_iterate (value_ptr, tp->stack_temporaries, i, v); i++)
-	if (v == val)
-	  return 1;
-    }
-
-  return 0;
+  return false;
 }
 
 /* Return the last of the stack temporaries for thread with id PTID.
    Return NULL if there are no stack temporaries for the thread.  */
 
-struct value *
-get_last_thread_stack_temporary (ptid_t ptid)
+value *
+get_last_thread_stack_temporary (thread_info *tp)
 {
   struct value *lastval = NULL;
-  struct thread_info *tp = find_thread_ptid (ptid);
 
   gdb_assert (tp != NULL);
-  if (!VEC_empty (value_ptr, tp->stack_temporaries))
-    lastval = VEC_last (value_ptr, tp->stack_temporaries);
+  if (!tp->stack_temporaries.empty ())
+    lastval = tp->stack_temporaries.back ();
 
   return lastval;
 }
@@ -861,12 +783,12 @@ thread_change_ptid (ptid_t old_ptid, pti
      changes.  E.g, target remote may only discover the remote process
      pid after adding the inferior to GDB's list.  */
   inf = find_inferior_ptid (old_ptid);
-  inf->pid = ptid_get_pid (new_ptid);
+  inf->pid = new_ptid.pid ();
 
   tp = find_thread_ptid (old_ptid);
   tp->ptid = new_ptid;
 
-  observer_notify_thread_ptid_changed (old_ptid, new_ptid);
+  gdb::observers::thread_ptid_changed.notify (old_ptid, new_ptid);
 }
 
 /* See gdbthread.h.  */
@@ -877,10 +799,10 @@ set_resumed (ptid_t ptid, int resumed)
   struct thread_info *tp;
   int all = ptid == minus_one_ptid;
 
-  if (all || ptid_is_pid (ptid))
+  if (all || ptid.is_pid ())
     {
       for (tp = thread_list; tp; tp = tp->next)
-	if (all || ptid_get_pid (tp->ptid) == ptid_get_pid (ptid))
+	if (all || tp->ptid.pid () == ptid.pid ())
 	  tp->resumed = resumed;
     }
   else
@@ -915,6 +837,15 @@ set_running_thread (struct thread_info *
   return started;
 }
 
+/* See gdbthread.h.  */
+
+void
+thread_info::set_running (bool running)
+{
+  if (set_running_thread (this, running))
+    gdb::observers::target_resumed.notify (this->ptid);
+}
+
 void
 set_running (ptid_t ptid, int running)
 {
@@ -925,10 +856,10 @@ set_running (ptid_t ptid, int running)
   /* We try not to notify the observer if no thread has actually changed
      the running state -- merely to reduce the number of messages to
      frontend.  Frontend is supposed to handle multiple *running just fine.  */
-  if (all || ptid_is_pid (ptid))
+  if (all || ptid.is_pid ())
     {
       for (tp = thread_list; tp; tp = tp->next)
-	if (all || ptid_get_pid (tp->ptid) == ptid_get_pid (ptid))
+	if (all || tp->ptid.pid () == ptid.pid ())
 	  {
 	    if (tp->state == THREAD_EXITED)
 	      continue;
@@ -946,7 +877,7 @@ set_running (ptid_t ptid, int running)
 	any_started = 1;
     }
   if (any_started)
-    observer_notify_target_resumed (ptid);
+    gdb::observers::target_resumed.notify (ptid);
 }
 
 static int
@@ -987,23 +918,35 @@ is_executing (ptid_t ptid)
   return tp->executing;
 }
 
+/* Helper for set_executing.  Set's the thread's 'executing' field
+   from EXECUTING, and if EXECUTING is true also clears the thread's
+   stop_pc.  */
+
+static void
+set_executing_thread (thread_info *thr, bool executing)
+{
+  thr->executing = executing;
+  if (executing)
+    thr->suspend.stop_pc = ~(CORE_ADDR) 0;
+}
+
 void
 set_executing (ptid_t ptid, int executing)
 {
   struct thread_info *tp;
   int all = ptid == minus_one_ptid;
 
-  if (all || ptid_is_pid (ptid))
+  if (all || ptid.is_pid ())
     {
       for (tp = thread_list; tp; tp = tp->next)
-	if (all || ptid_get_pid (tp->ptid) == ptid_get_pid (ptid))
-	  tp->executing = executing;
+	if (all || tp->ptid.pid () == ptid.pid ())
+	  set_executing_thread (tp, executing);
     }
   else
     {
       tp = find_thread_ptid (ptid);
       gdb_assert (tp);
-      tp->executing = executing;
+      set_executing_thread (tp, executing);
     }
 
   /* It only takes one running thread to spawn more threads.*/
@@ -1029,10 +972,10 @@ set_stop_requested (ptid_t ptid, int sto
   struct thread_info *tp;
   int all = ptid == minus_one_ptid;
 
-  if (all || ptid_is_pid (ptid))
+  if (all || ptid.is_pid ())
     {
       for (tp = thread_list; tp; tp = tp->next)
-	if (all || ptid_get_pid (tp->ptid) == ptid_get_pid (ptid))
+	if (all || tp->ptid.pid () == ptid.pid ())
 	  tp->stop_requested = stop;
     }
   else
@@ -1045,7 +988,7 @@ set_stop_requested (ptid_t ptid, int sto
   /* Call the stop requested observer so other components of GDB can
      react to this request.  */
   if (stop)
-    observer_notify_thread_stop_requested (ptid);
+    gdb::observers::thread_stop_requested.notify (ptid);
 }
 
 void
@@ -1057,13 +1000,13 @@ finish_thread_state (ptid_t ptid)
 
   all = ptid == minus_one_ptid;
 
-  if (all || ptid_is_pid (ptid))
+  if (all || ptid.is_pid ())
     {
       for (tp = thread_list; tp; tp = tp->next)
 	{
 	  if (tp->state == THREAD_EXITED)
 	    continue;
-	  if (all || ptid_get_pid (ptid) == ptid_get_pid (tp->ptid))
+	  if (all || ptid.pid () == tp->ptid.pid ())
 	    {
 	      if (set_running_thread (tp, tp->executing))
 		any_started = 1;
@@ -1082,17 +1025,7 @@ finish_thread_state (ptid_t ptid)
     }
 
   if (any_started)
-    observer_notify_target_resumed (ptid);
-}
-
-void
-finish_thread_state_cleanup (void *arg)
-{
-  ptid_t *ptid_p = (ptid_t *) arg;
-
-  gdb_assert (arg);
-
-  finish_thread_state (*ptid_p);
+    gdb::observers::target_resumed.notify (ptid);
 }
 
 /* See gdbthread.h.  */
@@ -1104,8 +1037,10 @@ validate_registers_access (void)
   if (inferior_ptid == null_ptid)
     error (_("No thread selected."));
 
+  thread_info *tp = inferior_thread ();
+
   /* Don't try to read from a dead thread.  */
-  if (is_exited (inferior_ptid))
+  if (tp->state == THREAD_EXITED)
     error (_("The current thread has terminated"));
 
   /* ... or from a spinning thread.  FIXME: This isn't actually fully
@@ -1113,25 +1048,25 @@ validate_registers_access (void)
      at the prompt) when a thread is not executing for some internal
      reason, but is marked running from the user's perspective.  E.g.,
      the thread is waiting for its turn in the step-over queue.  */
-  if (is_executing (inferior_ptid))
+  if (tp->executing)
     error (_("Selected thread is running."));
 }
 
 /* See gdbthread.h.  */
 
 bool
-can_access_registers_ptid (ptid_t ptid)
+can_access_registers_thread (thread_info *thread)
 {
   /* No thread, no registers.  */
-  if (ptid == null_ptid)
+  if (thread == NULL)
     return false;
 
   /* Don't try to read from a dead thread.  */
-  if (is_exited (ptid))
+  if (thread->state == THREAD_EXITED)
     return false;
 
   /* ... or from a spinning thread.  FIXME: see validate_registers_access.  */
-  if (is_executing (ptid))
+  if (thread->executing)
     return false;
 
   return true;
@@ -1171,7 +1106,7 @@ should_print_thread (const char *request
 	return 0;
     }
 
-  if (pid != -1 && ptid_get_pid (thr->ptid) != pid)
+  if (pid != -1 && thr->ptid.pid () != pid)
     {
       if (requested_threads != NULL && *requested_threads != '\0')
 	error (_("Requested thread not found in requested process"));
@@ -1184,6 +1119,26 @@ should_print_thread (const char *request
   return 1;
 }
 
+/* Return the string to display in "info threads"'s "Target Id"
+   column, for TP.  */
+
+static std::string
+thread_target_id_str (thread_info *tp)
+{
+  const char *target_id = target_pid_to_str (tp->ptid);
+  const char *extra_info = target_extra_thread_info (tp);
+  const char *name = tp->name != nullptr ? tp->name : target_thread_name (tp);
+
+  if (extra_info != nullptr && name != nullptr)
+    return string_printf ("%s \"%s\" (%s)", target_id, name, extra_info);
+  else if (extra_info != nullptr)
+    return string_printf ("%s (%s)", target_id, extra_info);
+  else if (name != nullptr)
+    return string_printf ("%s \"%s\"", target_id, name);
+  else
+    return target_id;
+}
+
 /* Like print_thread_info, but in addition, GLOBAL_IDS indicates
    whether REQUESTED_THREADS is a list of global or per-inferior
    thread ids.  */
@@ -1194,13 +1149,18 @@ print_thread_info_1 (struct ui_out *uiou
 		     int show_global_ids)
 {
   struct thread_info *tp;
-  ptid_t current_ptid;
-  const char *extra_info, *name, *target_id;
   struct inferior *inf;
   int default_inf_num = current_inferior ()->num;
 
   update_thread_list ();
-  current_ptid = inferior_ptid;
+
+  /* Whether we saw any thread.  */
+  bool any_thread = false;
+  /* Whether the current thread is exited.  */
+  bool current_exited = false;
+
+  thread_info *current_thread = (inferior_ptid != null_ptid
+				 ? inferior_thread () : NULL);
 
   {
     /* For backward compatibility, we make a list for MI.  A table is
@@ -1214,13 +1174,23 @@ print_thread_info_1 (struct ui_out *uiou
     else
       {
 	int n_threads = 0;
+	/* The width of the "Target Id" column.  Grown below to
+	   accommodate the largest entry.  */
+	size_t target_id_col_width = 17;
 
-	for (tp = thread_list; tp; tp = tp->next)
+	ALL_THREADS (tp)
 	  {
 	    if (!should_print_thread (requested_threads, default_inf_num,
 				      global_ids, pid, tp))
 	      continue;
 
+	    if (!uiout->is_mi_like_p ())
+	      {
+		target_id_col_width
+		  = std::max (target_id_col_width,
+			      thread_target_id_str (tp).size ());
+	      }
+
 	    ++n_threads;
 	  }
 
@@ -1241,7 +1211,8 @@ print_thread_info_1 (struct ui_out *uiou
 	uiout->table_header (4, ui_left, "id-in-tg", "Id");
 	if (show_global_ids)
 	  uiout->table_header (4, ui_left, "id", "GId");
-	uiout->table_header (17, ui_left, "target-id", "Target Id");
+	uiout->table_header (target_id_col_width, ui_left,
+			     "target-id", "Target Id");
 	uiout->table_header (1, ui_left, "frame", "Frame");
 	uiout->table_body ();
       }
@@ -1253,6 +1224,10 @@ print_thread_info_1 (struct ui_out *uiou
       {
 	int core;
 
+	any_thread = true;
+	if (tp == current_thread && tp->state == THREAD_EXITED)
+	  current_exited = true;
+
 	if (!should_print_thread (requested_threads, default_inf_num,
 				  global_ids, pid, tp))
 	  continue;
@@ -1261,7 +1236,7 @@ print_thread_info_1 (struct ui_out *uiou
 
 	if (!uiout->is_mi_like_p ())
 	  {
-	    if (tp->ptid == current_ptid)
+	    if (tp == current_thread)
 	      uiout->field_string ("current", "*");
 	    else
 	      uiout->field_skip ("current");
@@ -1279,33 +1254,24 @@ print_thread_info_1 (struct ui_out *uiou
 	   shared by several fields.  For MI, we do the right thing
 	   instead.  */
 
-	target_id = target_pid_to_str (tp->ptid);
-	extra_info = target_extra_thread_info (tp);
-	name = tp->name ? tp->name : target_thread_name (tp);
-
 	if (uiout->is_mi_like_p ())
 	  {
-	    uiout->field_string ("target-id", target_id);
-	    if (extra_info)
+	    uiout->field_string ("target-id", target_pid_to_str (tp->ptid));
+
+	    const char *extra_info = target_extra_thread_info (tp);
+	    if (extra_info != nullptr)
 	      uiout->field_string ("details", extra_info);
-	    if (name)
+
+	    const char *name = (tp->name != nullptr
+				? tp->name
+				: target_thread_name (tp));
+	    if (name != NULL)
 	      uiout->field_string ("name", name);
 	  }
 	else
 	  {
-	    std::string contents;
-
-	    if (extra_info && name)
-	      contents = string_printf ("%s \"%s\" (%s)", target_id,
-					name, extra_info);
-	    else if (extra_info)
-	      contents = string_printf ("%s (%s)", target_id, extra_info);
-	    else if (name)
-	      contents = string_printf ("%s \"%s\"", target_id, name);
-	    else
-	      contents = target_id;
-
-	    uiout->field_string ("target-id", contents.c_str ());
+	    uiout->field_string ("target-id",
+				 thread_target_id_str (tp).c_str ());
 	  }
 
 	if (tp->state == THREAD_RUNNING)
@@ -1314,7 +1280,7 @@ print_thread_info_1 (struct ui_out *uiou
 	  {
 	    /* The switch below puts us at the top of the stack (leaf
 	       frame).  */
-	    switch_to_thread (tp->ptid);
+	    switch_to_thread (tp);
 	    print_stack_frame (get_selected_frame (NULL),
 			       /* For MI output, print frame level.  */
 			       uiout->is_mi_like_p (),
@@ -1342,20 +1308,14 @@ print_thread_info_1 (struct ui_out *uiou
 
   if (pid == -1 && requested_threads == NULL)
     {
-      if (uiout->is_mi_like_p ()
-	  && inferior_ptid != null_ptid)
-	{
-	  int num = ptid_to_global_thread_id (inferior_ptid);
-
-	  gdb_assert (num != 0);
-	  uiout->field_int ("current-thread-id", num);
-	}
+      if (uiout->is_mi_like_p () && inferior_ptid != null_ptid)
+	uiout->field_int ("current-thread-id", current_thread->global_num);
 
-      if (inferior_ptid != null_ptid && is_exited (inferior_ptid))
+      if (inferior_ptid != null_ptid && current_exited)
 	uiout->message ("\n\
 The current thread <Thread ID %s> has terminated.  See `help thread'.\n",
 			print_thread_id (inferior_thread ()));
-      else if (thread_list != NULL && inferior_ptid == null_ptid)
+      else if (any_thread && inferior_ptid == null_ptid)
 	uiout->message ("\n\
 No selected thread.  See `help thread'.\n");
     }
@@ -1401,12 +1361,11 @@ switch_to_thread_no_regs (struct thread_
   set_current_inferior (inf);
 
   inferior_ptid = thread->ptid;
-  stop_pc = ~(CORE_ADDR) 0;
 }
 
-/* Switch to no thread selected.  */
+/* See gdbthread.h.  */
 
-static void
+void
 switch_to_no_thread ()
 {
   if (inferior_ptid == null_ptid)
@@ -1414,12 +1373,11 @@ switch_to_no_thread ()
 
   inferior_ptid = null_ptid;
   reinit_frame_cache ();
-  stop_pc = ~(CORE_ADDR) 0;
 }
 
-/* Switch from one thread to another.  */
+/* See gdbthread.h.  */
 
-static void
+void
 switch_to_thread (thread_info *thr)
 {
   gdb_assert (thr != NULL);
@@ -1430,24 +1388,15 @@ switch_to_thread (thread_info *thr)
   switch_to_thread_no_regs (thr);
 
   reinit_frame_cache ();
-
-  /* We don't check for is_stopped, because we're called at times
-     while in the TARGET_RUNNING state, e.g., while handling an
-     internal event.  */
-  if (thr->state != THREAD_EXITED
-      && !thr->executing)
-    stop_pc = regcache_read_pc (get_thread_regcache (thr->ptid));
 }
 
-/* See gdbthread.h.  */
+/* See common/common-gdbthread.h.  */
 
 void
 switch_to_thread (ptid_t ptid)
 {
-  if (ptid == null_ptid)
-    switch_to_no_thread ();
-  else
-    switch_to_thread (find_thread_ptid (ptid));
+  thread_info *thr = find_thread_ptid (ptid);
+  switch_to_thread (thr);
 }
 
 static void
@@ -1531,7 +1480,7 @@ scoped_restore_current_thread::~scoped_r
      changed, so we have to recheck it here.  */
   if (inferior_ptid != null_ptid
       && m_was_stopped
-      && is_stopped (inferior_ptid)
+      && m_thread->state == THREAD_STOPPED
       && target_has_registers
       && target_has_stack
       && target_has_memory)
@@ -1549,11 +1498,9 @@ scoped_restore_current_thread::scoped_re
 
   if (inferior_ptid != null_ptid)
     {
-      thread_info *tp = find_thread_ptid (inferior_ptid);
+      thread_info *tp = inferior_thread ();
       struct frame_info *frame;
 
-      gdb_assert (tp != NULL);
-
       m_was_stopped = tp->state == THREAD_STOPPED;
       if (m_was_stopped
 	  && target_has_registers
@@ -1637,12 +1584,12 @@ tp_array_compar (const thread_info *a, c
 }
 
 /* Apply a GDB command to a list of threads.  List syntax is a whitespace
-   seperated list of numbers, or ranges, or the keyword `all'.  Ranges consist
-   of two numbers seperated by a hyphen.  Examples:
+   separated list of numbers, or ranges, or the keyword `all'.  Ranges consist
+   of two numbers separated by a hyphen.  Examples:
 
    thread apply 1 2 7 4 backtrace       Apply backtrace cmd to threads 1,2,7,4
    thread apply 2-7 9 p foo(1)  Apply p foo(1) cmd to threads 2->7 & 9
-   thread apply all p x/i $pc   Apply x/i $pc cmd to all threads.  */
+   thread apply all x/i $pc   Apply x/i $pc cmd to all threads.  */
 
 static void
 thread_apply_all_command (const char *cmd, int from_tty)
@@ -1693,7 +1640,7 @@ thread_apply_all_command (const char *cm
       for (thread_info *thr : thr_list_cpy)
 	if (thread_alive (thr))
 	  {
-	    switch_to_thread (thr->ptid);
+	    switch_to_thread (thr);
 	    printf_filtered (_("\nThread %s (%s):\n"),
 			     print_thread_id (thr),
 			     target_pid_to_str (inferior_ptid));
@@ -1780,7 +1727,7 @@ thread_apply_command (const char *tidlis
 	  continue;
 	}
 
-      switch_to_thread (tp->ptid);
+      switch_to_thread (tp);
 
       printf_filtered (_("\nThread %s (%s):\n"), print_thread_id (tp),
 		       target_pid_to_str (inferior_ptid));
@@ -1788,8 +1735,7 @@ thread_apply_command (const char *tidlis
     }
 }
 
-/* Switch to the specified thread.  Will dispatch off to thread_apply_command
-   if prefix of arg is `apply'.  */
+/* Switch to the specified thread, or print the current thread.  */
 
 void
 thread_command (const char *tidstr, int from_tty)
@@ -1803,7 +1749,7 @@ thread_command (const char *tidstr, int 
 	{
 	  struct thread_info *tp = inferior_thread ();
 
-	  if (is_exited (inferior_ptid))
+	  if (tp->state == THREAD_EXITED)
 	    printf_filtered (_("[Current thread is %s (%s) (exited)]\n"),
 			     print_thread_id (tp),
 			     target_pid_to_str (inferior_ptid));
@@ -1831,8 +1777,8 @@ thread_command (const char *tidstr, int 
 	}
       else
 	{
-	  observer_notify_user_selected_context_changed (USER_SELECTED_THREAD
-							 | USER_SELECTED_FRAME);
+	  gdb::observers::user_selected_context_changed.notify
+	    (USER_SELECTED_THREAD | USER_SELECTED_FRAME);
 	}
     }
 }
@@ -1927,7 +1873,7 @@ thread_select (const char *tidstr, threa
   if (!thread_alive (tp))
     error (_("Thread ID %s has terminated."), tidstr);
 
-  switch_to_thread (tp->ptid);
+  switch_to_thread (tp);
 
   annotate_thread_changed ();
 
@@ -2010,15 +1956,18 @@ update_thread_list (void)
 static struct value *
 thread_num_make_value_helper (struct gdbarch *gdbarch, int global)
 {
-  struct thread_info *tp = find_thread_ptid (inferior_ptid);
   int int_val;
 
-  if (tp == NULL)
+  if (inferior_ptid == null_ptid)
     int_val = 0;
-  else if (global)
-    int_val = tp->global_num;
   else
-    int_val = tp->per_inf_num;
+    {
+      thread_info *tp = inferior_thread ();
+      if (global)
+	int_val = tp->global_num;
+      else
+	int_val = tp->per_inf_num;
+    }
 
   return value_from_longest (builtin_type (gdbarch)->builtin_int, int_val);
 }
@@ -2084,15 +2033,17 @@ The new thread ID must be currently know
 		  &thread_cmd_list, "thread ", 1, &cmdlist);
 
   add_prefix_cmd ("apply", class_run, thread_apply_command,
-		  _("Apply a command to a list of threads."),
+		  _("Apply a command to a list of threads.\n\
+Usage: thread apply ID... COMMAND\n\
+ID is a space-separated list of IDs of threads to apply COMMAND on."),
 		  &thread_apply_list, "thread apply ", 1, &thread_cmd_list);
 
   add_cmd ("all", class_run, thread_apply_all_command,
 	   _("\
 Apply a command to all threads.\n\
 \n\
-Usage: thread apply all [-ascending] <command>\n\
--ascending: Call <command> for all threads in ascending order.\n\
+Usage: thread apply all [-ascending] COMMAND\n\
+-ascending: Call COMMAND for all threads in ascending order.\n\
             The default is descending order.\
 "),
 	   &thread_apply_list);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tic6x-tdep.c ./gdb/tic6x-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tic6x-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tic6x-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -722,10 +722,9 @@ tic6x_extract_return_value (struct type 
 	 register and the second byte occupies byte 0.
 	 so, we read the contents in VAL from the LSBs of register.  */
       if (len < 3 && byte_order == BFD_ENDIAN_BIG)
-	regcache_cooked_read_part (regcache, TIC6X_A4_REGNUM, 4 - len, len,
-				   valbuf);
+	regcache->cooked_read_part (TIC6X_A4_REGNUM, 4 - len, len, valbuf);
       else
-	regcache_cooked_read (regcache, TIC6X_A4_REGNUM, valbuf);
+	regcache->cooked_read (TIC6X_A4_REGNUM, valbuf);
     }
   else if (len <= 8)
     {
@@ -736,13 +735,13 @@ tic6x_extract_return_value (struct type 
 	 lower (even) register.  */
       if (byte_order == BFD_ENDIAN_BIG)
 	{
-	  regcache_cooked_read (regcache, TIC6X_A4_REGNUM, valbuf + 4);
-	  regcache_cooked_read (regcache, TIC6X_A5_REGNUM, valbuf);
+	  regcache->cooked_read (TIC6X_A4_REGNUM, valbuf + 4);
+	  regcache->cooked_read (TIC6X_A5_REGNUM, valbuf);
 	}
       else
 	{
-	  regcache_cooked_read (regcache, TIC6X_A4_REGNUM, valbuf);
-	  regcache_cooked_read (regcache, TIC6X_A5_REGNUM, valbuf + 4);
+	  regcache->cooked_read (TIC6X_A4_REGNUM, valbuf);
+	  regcache->cooked_read (TIC6X_A5_REGNUM, valbuf + 4);
 	}
     }
 }
@@ -761,22 +760,21 @@ tic6x_store_return_value (struct type *v
   if (len <= 4)
     {
       if (len < 3 && byte_order == BFD_ENDIAN_BIG)
-	regcache_cooked_write_part (regcache, TIC6X_A4_REGNUM, 4 - len, len,
-				    valbuf);
+	regcache->cooked_write_part (TIC6X_A4_REGNUM, 4 - len, len, valbuf);
       else
-	regcache_cooked_write (regcache, TIC6X_A4_REGNUM, valbuf);
+	regcache->cooked_write (TIC6X_A4_REGNUM, valbuf);
     }
   else if (len <= 8)
     {
       if (byte_order == BFD_ENDIAN_BIG)
 	{
-	  regcache_cooked_write (regcache, TIC6X_A4_REGNUM, valbuf + 4);
-	  regcache_cooked_write (regcache, TIC6X_A5_REGNUM, valbuf);
+	  regcache->cooked_write (TIC6X_A4_REGNUM, valbuf + 4);
+	  regcache->cooked_write (TIC6X_A5_REGNUM, valbuf);
 	}
       else
 	{
-	  regcache_cooked_write (regcache, TIC6X_A4_REGNUM, valbuf);
-	  regcache_cooked_write (regcache, TIC6X_A5_REGNUM, valbuf + 4);
+	  regcache->cooked_write (TIC6X_A4_REGNUM, valbuf);
+	  regcache->cooked_write (TIC6X_A5_REGNUM, valbuf + 4);
 	}
     }
 }
@@ -958,10 +956,10 @@ tic6x_push_dummy_call (struct gdbarch *g
 		     so, we write the contents in VAL to the lsp of
 		     register.  */
 		  if (len < 3 && byte_order == BFD_ENDIAN_BIG)
-		    regcache_cooked_write_part (regcache, arg_regs[argreg],
-						4 - len, len, val);
+		    regcache->cooked_write_part (arg_regs[argreg], 4 - len, len,
+						 val);
 		  else
-		    regcache_cooked_write (regcache, arg_regs[argreg], val);
+		    regcache->cooked_write (arg_regs[argreg], val);
 		}
 	      else
 		{
@@ -988,19 +986,15 @@ tic6x_push_dummy_call (struct gdbarch *g
 		         padding in the LSBs of the lower (even) register.  */
 		      if (byte_order == BFD_ENDIAN_BIG)
 			{
-			  regcache_cooked_write (regcache,
-						 arg_regs[argreg] + 1, val);
-			  regcache_cooked_write_part (regcache,
-						      arg_regs[argreg], 0,
-						      len - 4, val + 4);
+			  regcache->cooked_write (arg_regs[argreg] + 1, val);
+			  regcache->cooked_write_part (arg_regs[argreg], 0,
+						       len - 4, val + 4);
 			}
 		      else
 			{
-			  regcache_cooked_write (regcache, arg_regs[argreg],
-						 val);
-			  regcache_cooked_write_part (regcache,
-						      arg_regs[argreg] + 1, 0,
-						      len - 4, val + 4);
+			  regcache->cooked_write (arg_regs[argreg], val);
+			  regcache->cooked_write_part (arg_regs[argreg] + 1, 0,
+						       len - 4, val + 4);
 			}
 		    }
 		  else
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tid-parse.c ./gdb/tid-parse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tid-parse.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tid-parse.c	2018-07-10 02:06:13.000000000 +0000
@@ -92,7 +92,7 @@ parse_thread_id (const char *tidstr, con
 
   ALL_THREADS (tp)
     {
-      if (ptid_get_pid (tp->ptid) == inf->pid
+      if (tp->ptid.pid () == inf->pid
 	  && tp->per_inf_num == thr_num)
 	break;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tilegx-linux-nat.c ./gdb/tilegx-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tilegx-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tilegx-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -34,6 +34,16 @@
 /* Prototypes for supply_gregset etc.  */
 #include "gregset.h"
 
+class tilegx_linux_nat_target final : public linux_nat_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static tilegx_linux_nat_target the_tilegx_linux_nat_target;
+
 /* The register sets used in GNU/Linux ELF core-dumps are identical to
    the register sets in `struct user' that is used for a.out
    core-dumps, and is also used by `ptrace'.  The corresponding types
@@ -78,7 +88,7 @@ supply_gregset (struct regcache* regcach
 
   for (i = 0; i < sizeof (regmap) / sizeof (regmap[0]); i++)
     if (regmap[i] >= 0)
-      regcache_raw_supply (regcache, i, regp + regmap[i]);
+      regcache->raw_supply (i, regp + regmap[i]);
 }
 
 /* Fill registers in *GREGSETPS with the values in GDB's
@@ -93,7 +103,7 @@ fill_gregset (const struct regcache* reg
 
   for (i = 0; i < sizeof (regmap) / sizeof (regmap[0]); i++)
     if (regmap[i] >= 0)
-      regcache_raw_collect (regcache, i, regp + regmap[i]);
+      regcache->raw_collect (i, regp + regmap[i]);
 }
 
 /* Transfering floating-point registers between GDB, inferiors and cores.  */
@@ -122,12 +132,12 @@ fill_fpregset (const struct regcache *re
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers.  */
 
-static void
-fetch_inferior_registers (struct target_ops *ops,
-			  struct regcache *regcache, int regnum)
+void
+tilegx_linux_nat_target::fetch_registers (struct regcache *regcache,
+					  int regnum)
 {
   elf_gregset_t regs;
-  pid_t tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t tid = get_ptrace_pid (regcache->ptid ());
 
   if (ptrace (PTRACE_GETREGS, tid, 0, (PTRACE_TYPE_ARG3) &regs) < 0)
     perror_with_name (_("Couldn't get registers"));
@@ -138,12 +148,12 @@ fetch_inferior_registers (struct target_
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers.  */
 
-static void
-store_inferior_registers (struct target_ops *ops,
-			  struct regcache *regcache, int regnum)
+void
+tilegx_linux_nat_target::store_registers (struct regcache *regcache,
+					  int regnum)
 {
   elf_gregset_t regs;
-  pid_t tid = get_ptrace_pid (regcache_get_ptid (regcache));
+  pid_t tid = get_ptrace_pid (regcache->ptid ());
 
   if (ptrace (PTRACE_GETREGS, tid, 0, (PTRACE_TYPE_ARG3) &regs) < 0)
     perror_with_name (_("Couldn't get registers"));
@@ -157,15 +167,6 @@ store_inferior_registers (struct target_
 void
 _initialize_tile_linux_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
-  /* Add our register access methods.  */
-  t->to_fetch_registers = fetch_inferior_registers;
-  t->to_store_registers = store_inferior_registers;
-
-  /* Register the target.  */
-  linux_nat_add_target (t);
+  linux_target = &the_tilegx_linux_nat_target;
+  add_inf_child_target (&the_tilegx_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tilegx-tdep.c ./gdb/tilegx-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tilegx-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tilegx-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -219,7 +219,7 @@ tilegx_extract_return_value (struct type
   int i, regnum = TILEGX_R0_REGNUM;
 
   for (i = 0; i < len; i += tilegx_reg_size)
-    regcache_raw_read (regcache, regnum++, valbuf + i);
+    regcache->raw_read (regnum++, valbuf + i);
 }
 
 /* Copy the function return value from VALBUF into the proper
@@ -236,7 +236,7 @@ tilegx_store_return_value (struct type *
       gdb_byte buf[tilegx_reg_size] = { 0 };
 
       memcpy (buf, valbuf, TYPE_LENGTH (type));
-      regcache_raw_write (regcache, TILEGX_R0_REGNUM, buf);
+      regcache->raw_write (TILEGX_R0_REGNUM, buf);
     }
   else
     {
@@ -244,7 +244,7 @@ tilegx_store_return_value (struct type *
       int i, regnum = TILEGX_R0_REGNUM;
 
       for (i = 0; i < len; i += tilegx_reg_size)
-	regcache_raw_write (regcache, regnum++, (gdb_byte *) valbuf + i);
+	regcache->raw_write (regnum++, (gdb_byte *) valbuf + i);
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/top.c ./gdb/top.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/top.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/top.c	2018-07-10 02:06:13.000000000 +0000
@@ -46,7 +46,7 @@
 #include "gdbthread.h"
 #include "extension.h"
 #include "interps.h"
-#include "observer.h"
+#include "observable.h"
 #include "maint.h"
 #include "filenames.h"
 #include "frame.h"
@@ -571,7 +571,7 @@ execute_command (const char *p, int from
       line = p;
 
       /* If trace-commands is set then this will print this command.  */
-      print_command_trace (p);
+      print_command_trace ("%s", p);
 
       c = lookup_cmd (&cmd, cmdlist, "", 0, 1);
       p = cmd;
@@ -642,7 +642,12 @@ execute_command (const char *p, int from
 	}
     }
 
-  check_frame_language_change ();
+  /* Only perform the frame-language-change check if the command
+     we just finished executing did not resume the inferior's execution.
+     If it did resume the inferior, we will do that check after
+     the inferior stopped.  */
+  if (has_stack_frames () && inferior_thread ()->state != THREAD_RUNNING)
+    check_frame_language_change ();
 
   discard_cleanups (cleanup_if_error);
 }
@@ -917,76 +922,72 @@ gdb_readline_wrapper_line (char *line)
     gdb_rl_callback_handler_remove ();
 }
 
-struct gdb_readline_wrapper_cleanup
+class gdb_readline_wrapper_cleanup
+{
+public:
+  gdb_readline_wrapper_cleanup ()
+    : m_handler_orig (current_ui->input_handler),
+      m_already_prompted_orig (current_ui->command_editing
+			       ? rl_already_prompted : 0),
+      m_target_is_async_orig (target_is_async_p ()),
+      m_save_ui (&current_ui)
   {
-    void (*handler_orig) (char *);
-    int already_prompted_orig;
-
-    /* Whether the target was async.  */
-    int target_is_async_orig;
-  };
+    current_ui->input_handler = gdb_readline_wrapper_line;
+    current_ui->secondary_prompt_depth++;
 
-static void
-gdb_readline_wrapper_cleanup (void *arg)
-{
-  struct ui *ui = current_ui;
-  struct gdb_readline_wrapper_cleanup *cleanup
-    = (struct gdb_readline_wrapper_cleanup *) arg;
+    if (m_target_is_async_orig)
+      target_async (0);
+  }
 
-  if (ui->command_editing)
-    rl_already_prompted = cleanup->already_prompted_orig;
+  ~gdb_readline_wrapper_cleanup ()
+  {
+    struct ui *ui = current_ui;
 
-  gdb_assert (ui->input_handler == gdb_readline_wrapper_line);
-  ui->input_handler = cleanup->handler_orig;
+    if (ui->command_editing)
+      rl_already_prompted = m_already_prompted_orig;
 
-  /* Don't restore our input handler in readline yet.  That would make
-     readline prep the terminal (putting it in raw mode), while the
-     line we just read may trigger execution of a command that expects
-     the terminal in the default cooked/canonical mode, such as e.g.,
-     running Python's interactive online help utility.  See
-     gdb_readline_wrapper_line for when we'll reinstall it.  */
-
-  gdb_readline_wrapper_result = NULL;
-  gdb_readline_wrapper_done = 0;
-  ui->secondary_prompt_depth--;
-  gdb_assert (ui->secondary_prompt_depth >= 0);
+    gdb_assert (ui->input_handler == gdb_readline_wrapper_line);
+    ui->input_handler = m_handler_orig;
 
-  after_char_processing_hook = saved_after_char_processing_hook;
-  saved_after_char_processing_hook = NULL;
+    /* Don't restore our input handler in readline yet.  That would make
+       readline prep the terminal (putting it in raw mode), while the
+       line we just read may trigger execution of a command that expects
+       the terminal in the default cooked/canonical mode, such as e.g.,
+       running Python's interactive online help utility.  See
+       gdb_readline_wrapper_line for when we'll reinstall it.  */
+
+    gdb_readline_wrapper_result = NULL;
+    gdb_readline_wrapper_done = 0;
+    ui->secondary_prompt_depth--;
+    gdb_assert (ui->secondary_prompt_depth >= 0);
 
-  if (cleanup->target_is_async_orig)
-    target_async (1);
+    after_char_processing_hook = saved_after_char_processing_hook;
+    saved_after_char_processing_hook = NULL;
 
-  xfree (cleanup);
-}
+    if (m_target_is_async_orig)
+      target_async (1);
+  }
 
-char *
-gdb_readline_wrapper (const char *prompt)
-{
-  struct ui *ui = current_ui;
-  struct cleanup *back_to;
-  struct gdb_readline_wrapper_cleanup *cleanup;
-  char *retval;
-
-  cleanup = XNEW (struct gdb_readline_wrapper_cleanup);
-  cleanup->handler_orig = ui->input_handler;
-  ui->input_handler = gdb_readline_wrapper_line;
+  DISABLE_COPY_AND_ASSIGN (gdb_readline_wrapper_cleanup);
 
-  if (ui->command_editing)
-    cleanup->already_prompted_orig = rl_already_prompted;
-  else
-    cleanup->already_prompted_orig = 0;
+private:
 
-  cleanup->target_is_async_orig = target_is_async_p ();
+  void (*m_handler_orig) (char *);
+  int m_already_prompted_orig;
 
-  ui->secondary_prompt_depth++;
-  back_to = make_cleanup (gdb_readline_wrapper_cleanup, cleanup);
+  /* Whether the target was async.  */
+  int m_target_is_async_orig;
 
   /* Processing events may change the current UI.  */
-  scoped_restore save_ui = make_scoped_restore (&current_ui);
+  scoped_restore_tmpl<struct ui *> m_save_ui;
+};
+
+char *
+gdb_readline_wrapper (const char *prompt)
+{
+  struct ui *ui = current_ui;
 
-  if (cleanup->target_is_async_orig)
-    target_async (0);
+  gdb_readline_wrapper_cleanup cleanup;
 
   /* Display our prompt and prevent double prompt display.  Don't pass
      down a NULL prompt, since that has special meaning for
@@ -1004,9 +1005,7 @@ gdb_readline_wrapper (const char *prompt
     if (gdb_readline_wrapper_done)
       break;
 
-  retval = gdb_readline_wrapper_result;
-  do_cleanups (back_to);
-  return retval;
+  return gdb_readline_wrapper_result;
 }
 
 
@@ -1279,9 +1278,9 @@ command_line_input (const char *prompt_a
   return cmd;
 }
 
-/* Print the GDB banner.  */
+/* See top.h.  */
 void
-print_gdb_version (struct ui_file *stream)
+print_gdb_version (struct ui_file *stream, bool interactive)
 {
   /* From GNU coding standards, first line is meant to be easy for a
      program to parse, and is just canonical program name and version
@@ -1302,8 +1301,13 @@ print_gdb_version (struct ui_file *strea
   fprintf_filtered (stream, "\
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\
 \nThis is free software: you are free to change and redistribute it.\n\
-There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\n\
-and \"show warranty\" for details.\n");
+There is NO WARRANTY, to the extent permitted by law.");
+
+  if (!interactive)
+    return;
+
+  fprintf_filtered (stream, ("\nType \"show copying\" and "
+			     "\"show warranty\" for details.\n"));
 
   /* After the required info we print the configuration information.  */
 
@@ -1317,18 +1321,21 @@ and \"show warranty\" for details.\n");
     {
       fprintf_filtered (stream, "%s", host_name);
     }
-  fprintf_filtered (stream, "\".\n\
-Type \"show configuration\" for configuration details.");
+  fprintf_filtered (stream, "\".\n");
+
+  fprintf_filtered (stream, _("Type \"show configuration\" "
+			      "for configuration details.\n"));
 
   if (REPORT_BUGS_TO[0])
     {
       fprintf_filtered (stream,
-			_("\nFor bug reporting instructions, please see:\n"));
+			_("For bug reporting instructions, please see:\n"));
       fprintf_filtered (stream, "%s.\n", REPORT_BUGS_TO);
     }
   fprintf_filtered (stream,
 		    _("Find the GDB manual and other documentation \
-resources online at:\n<http://www.gnu.org/software/gdb/documentation/>.\n"));
+resources online at:\n    <http://www.gnu.org/software/gdb/documentation/>."));
+  fprintf_filtered (stream, "\n\n");
   fprintf_filtered (stream, _("For help, type \"help\".\n"));
   fprintf_filtered (stream, _("Type \"apropos word\" to search for \
 commands related to \"word\"."));
@@ -1386,6 +1393,42 @@ This GDB was configured as follows:\n\
              --without-lzma\n\
 "));
 #endif
+#if HAVE_LIBBABELTRACE
+    fprintf_filtered (stream, _("\
+             --with-babeltrace\n\
+"));
+#else
+    fprintf_filtered (stream, _("\
+             --without-babeltrace\n\
+"));
+#endif
+#if HAVE_LIBIPT
+    fprintf_filtered (stream, _("\
+             --with-intel-pt\n\
+"));
+#else
+    fprintf_filtered (stream, _("\
+             --without-intel-pt\n\
+"));
+#endif
+#if HAVE_LIBMCHECK
+    fprintf_filtered (stream, _("\
+             --enable-libmcheck\n\
+"));
+#else
+    fprintf_filtered (stream, _("\
+             --disable-libmcheck\n\
+"));
+#endif
+#if HAVE_LIBMPFR
+    fprintf_filtered (stream, _("\
+             --with-mpfr\n\
+"));
+#else
+    fprintf_filtered (stream, _("\
+             --without-mpfr\n\
+"));
+#endif
 #ifdef WITH_PYTHON_PATH
   fprintf_filtered (stream, _("\
              --with-python=%s%s\n\
@@ -1417,15 +1460,6 @@ This GDB was configured as follows:\n\
     fprintf_filtered (stream, _("\
              --with-system-gdbinit=%s%s\n\
 "), SYSTEM_GDBINIT, SYSTEM_GDBINIT_RELOCATABLE ? " (relocatable)" : "");
-#if HAVE_LIBBABELTRACE
-    fprintf_filtered (stream, _("\
-             --with-babeltrace\n\
-"));
-#else
-    fprintf_filtered (stream, _("\
-             --without-babeltrace\n\
-"));
-#endif
     /* We assume "relocatable" will be printed at least once, thus we always
        print this text.  It's a reasonably safe assumption for now.  */
     fprintf_filtered (stream, _("\n\
@@ -1461,7 +1495,6 @@ set_prompt (const char *s)
 
 struct qt_args
 {
-  char *args;
   int from_tty;
 };
 
@@ -1472,21 +1505,20 @@ static int
 kill_or_detach (struct inferior *inf, void *args)
 {
   struct qt_args *qt = (struct qt_args *) args;
-  struct thread_info *thread;
 
   if (inf->pid == 0)
     return 0;
 
-  thread = any_thread_of_process (inf->pid);
+  thread_info *thread = any_thread_of_inferior (inf);
   if (thread != NULL)
     {
-      switch_to_thread (thread->ptid);
+      switch_to_thread (thread);
 
       /* Leave core files alone.  */
       if (target_has_execution)
 	{
 	  if (inf->attach_flag)
-	    target_detach (qt->args, qt->from_tty);
+	    target_detach (inf, qt->from_tty);
 	  else
 	    target_kill ();
 	}
@@ -1510,11 +1542,11 @@ print_inferior_quit_action (struct infer
   if (inf->attach_flag)
     fprintf_filtered (stb,
 		      _("\tInferior %d [%s] will be detached.\n"), inf->num,
-		      target_pid_to_str (pid_to_ptid (inf->pid)));
+		      target_pid_to_str (ptid_t (inf->pid)));
   else
     fprintf_filtered (stb,
 		      _("\tInferior %d [%s] will be killed.\n"), inf->num,
-		      target_pid_to_str (pid_to_ptid (inf->pid)));
+		      target_pid_to_str (ptid_t (inf->pid)));
 
   return 0;
 }
@@ -1577,7 +1609,6 @@ quit_force (int *exit_arg, int from_tty)
   else if (return_child_result)
     exit_code = return_child_result_value;
 
-  qt.args = NULL;
   qt.from_tty = from_tty;
 
   /* We want to handle any quit errors and exit regardless.  */
@@ -1934,7 +1965,7 @@ static void
 set_gdb_datadir (const char *args, int from_tty, struct cmd_list_element *c)
 {
   set_gdb_data_directory (staged_gdb_datadir);
-  observer_notify_gdb_datadir_changed ();
+  gdb::observers::gdb_datadir_changed.notify ();
 }
 
 /* "show" command for the gdb_datadir configuration variable.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/top.h ./gdb/top.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/top.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/top.h	2018-07-10 02:06:13.000000000 +0000
@@ -222,7 +222,13 @@ extern int confirm;
 extern int inhibit_gdbinit;
 extern const char gdbinit[];
 
-extern void print_gdb_version (struct ui_file *);
+/* Print the GDB version banner to STREAM.  If INTERACTIVE is false,
+   then information referring to commands (e.g., "show configuration")
+   is omitted; this mode is used for the --version command line
+   option.  If INTERACTIVE is true, then interactive commands are
+   mentioned.  */
+extern void print_gdb_version (struct ui_file *stream, bool interactive);
+
 extern void print_gdb_configuration (struct ui_file *);
 
 extern void read_command_file (FILE *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tracefile.c ./gdb/tracefile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tracefile.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tracefile.c	2018-07-10 02:06:13.000000000 +0000
@@ -36,16 +36,21 @@
 #define TRACE_WRITE_V_BLOCK(writer, num, val)	\
   writer->ops->frame_ops->write_v_block ((writer), (num), (val))
 
-/* Free trace file writer.  */
+/* A unique pointer policy class for trace_file_writer.  */
 
-static void
-trace_file_writer_xfree (void *arg)
+struct trace_file_writer_deleter
 {
-  struct trace_file_writer *writer = (struct trace_file_writer *) arg;
+  void operator() (struct trace_file_writer *writer)
+  {
+    writer->ops->dtor (writer);
+    xfree (writer);
+  }
+};
 
-  writer->ops->dtor (writer);
-  xfree (writer);
-}
+/* A unique_ptr specialization for trace_file_writer.  */
+
+typedef std::unique_ptr<trace_file_writer, trace_file_writer_deleter>
+    trace_file_writer_up;
 
 /* Save tracepoint data to file named FILENAME through WRITER.  WRITER
    determines the trace file format.  If TARGET_DOES_SAVE is non-zero,
@@ -311,9 +316,7 @@ tsave_command (const char *args, int fro
   int target_does_save = 0;
   char **argv;
   char *filename = NULL;
-  struct cleanup *back_to;
   int generate_ctf = 0;
-  struct trace_file_writer *writer = NULL;
 
   if (args == NULL)
     error_no_arg (_("file in which to save trace data"));
@@ -337,19 +340,13 @@ tsave_command (const char *args, int fro
     error_no_arg (_("file in which to save trace data"));
 
   if (generate_ctf)
-    writer = ctf_trace_file_writer_new ();
+    trace_save_ctf (filename, target_does_save);
   else
-    writer = tfile_trace_file_writer_new ();
-
-  back_to = make_cleanup (trace_file_writer_xfree, writer);
-
-  trace_save (filename, writer, target_does_save);
+    trace_save_tfile (filename, target_does_save);
 
   if (from_tty)
     printf_filtered (_("Trace data saved to %s '%s'.\n"),
 		     generate_ctf ? "directory" : "file", filename);
-
-  do_cleanups (back_to);
 }
 
 /* Save the trace data to file FILENAME of tfile format.  */
@@ -357,13 +354,8 @@ tsave_command (const char *args, int fro
 void
 trace_save_tfile (const char *filename, int target_does_save)
 {
-  struct trace_file_writer *writer;
-  struct cleanup *back_to;
-
-  writer = tfile_trace_file_writer_new ();
-  back_to = make_cleanup (trace_file_writer_xfree, writer);
-  trace_save (filename, writer, target_does_save);
-  do_cleanups (back_to);
+  trace_file_writer_up writer (tfile_trace_file_writer_new ());
+  trace_save (filename, writer.get (), target_does_save);
 }
 
 /* Save the trace data to dir DIRNAME of ctf format.  */
@@ -371,14 +363,8 @@ trace_save_tfile (const char *filename, 
 void
 trace_save_ctf (const char *dirname, int target_does_save)
 {
-  struct trace_file_writer *writer;
-  struct cleanup *back_to;
-
-  writer = ctf_trace_file_writer_new ();
-  back_to = make_cleanup (trace_file_writer_xfree, writer);
-
-  trace_save (dirname, writer, target_does_save);
-  do_cleanups (back_to);
+  trace_file_writer_up writer (ctf_trace_file_writer_new ());
+  trace_save (dirname, writer.get (), target_does_save);
 }
 
 /* Fetch register data from tracefile, shared for both tfile and
@@ -394,7 +380,7 @@ tracefile_fetch_registers (struct regcac
   /* We get here if no register data has been found.  Mark registers
      as unavailable.  */
   for (regn = 0; regn < gdbarch_num_regs (gdbarch); regn++)
-    regcache_raw_supply (regcache, regn, NULL);
+    regcache->raw_supply (regn, NULL);
 
   /* We can often usefully guess that the PC is going to be the same
      as the address of the tracepoint.  */
@@ -425,16 +411,16 @@ tracefile_fetch_registers (struct regcac
 
 /* This is the implementation of target_ops method to_has_all_memory.  */
 
-static int
-tracefile_has_all_memory (struct target_ops *ops)
+bool
+tracefile_target::has_all_memory ()
 {
   return 1;
 }
 
 /* This is the implementation of target_ops method to_has_memory.  */
 
-static int
-tracefile_has_memory (struct target_ops *ops)
+bool
+tracefile_target::has_memory ()
 {
   return 1;
 }
@@ -443,8 +429,8 @@ tracefile_has_memory (struct target_ops 
    The target has a stack when GDB has already selected one trace
    frame.  */
 
-static int
-tracefile_has_stack (struct target_ops *ops)
+bool
+tracefile_target::has_stack ()
 {
   return get_traceframe_number () != -1;
 }
@@ -453,8 +439,8 @@ tracefile_has_stack (struct target_ops *
    The target has registers when GDB has already selected one trace
    frame.  */
 
-static int
-tracefile_has_registers (struct target_ops *ops)
+bool
+tracefile_target::has_registers ()
 {
   return get_traceframe_number () != -1;
 }
@@ -462,8 +448,8 @@ tracefile_has_registers (struct target_o
 /* This is the implementation of target_ops method to_thread_alive.
    tracefile has one thread faked by GDB.  */
 
-static int
-tracefile_thread_alive (struct target_ops *ops, ptid_t ptid)
+bool
+tracefile_target::thread_alive (ptid_t ptid)
 {
   return 1;
 }
@@ -471,8 +457,8 @@ tracefile_thread_alive (struct target_op
 /* This is the implementation of target_ops method to_get_trace_status.
    The trace status for a file is that tracing can never be run.  */
 
-static int
-tracefile_get_trace_status (struct target_ops *self, struct trace_status *ts)
+int
+tracefile_target::get_trace_status (struct trace_status *ts)
 {
   /* Other bits of trace status were collected as part of opening the
      trace files, so nothing to do here.  */
@@ -480,19 +466,9 @@ tracefile_get_trace_status (struct targe
   return -1;
 }
 
-/* Initialize OPS for tracefile related targets.  */
-
-void
-init_tracefile_ops (struct target_ops *ops)
+tracefile_target::tracefile_target ()
 {
-  ops->to_stratum = process_stratum;
-  ops->to_get_trace_status = tracefile_get_trace_status;
-  ops->to_has_all_memory = tracefile_has_all_memory;
-  ops->to_has_memory = tracefile_has_memory;
-  ops->to_has_stack = tracefile_has_stack;
-  ops->to_has_registers = tracefile_has_registers;
-  ops->to_thread_alive = tracefile_thread_alive;
-  ops->to_magic = OPS_MAGIC;
+  this->to_stratum = process_stratum;
 }
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tracefile.h ./gdb/tracefile.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tracefile.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tracefile.h	2018-07-10 02:06:13.000000000 +0000
@@ -2,6 +2,7 @@
 #define TRACEFILE_H 1
 
 #include "tracepoint.h"
+#include "target.h"
 
 struct trace_file_writer;
 
@@ -113,7 +114,20 @@ struct trace_file_writer
 
 extern struct trace_file_writer *tfile_trace_file_writer_new (void);
 
-extern void init_tracefile_ops (struct target_ops *ops);
+/* Base class for tracefile related targets.  */
+
+class tracefile_target : public target_ops
+{
+public:
+  tracefile_target ();
+
+  int get_trace_status (trace_status *ts) override;
+  bool has_all_memory () override;
+  bool has_memory () override;
+  bool has_stack () override;
+  bool has_registers () override;
+  bool thread_alive (ptid_t ptid) override;
+};
 
 extern void tracefile_fetch_registers (struct regcache *regcache, int regno);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tracefile-tfile.c ./gdb/tracefile-tfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tracefile-tfile.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tracefile-tfile.c	2018-07-10 02:06:13.000000000 +0000
@@ -38,6 +38,38 @@
 #define O_LARGEFILE 0
 #endif
 
+/* The tfile target.  */
+
+static const target_info tfile_target_info = {
+  "tfile",
+  N_("Local trace dump file"),
+  N_("Use a trace file as a target.  Specify the filename of the trace file.")
+};
+
+class tfile_target final : public tracefile_target
+{
+ public:
+  const target_info &info () const override
+  { return tfile_target_info; }
+
+  void close () override;
+  void fetch_registers (struct regcache *, int) override;
+  enum target_xfer_status xfer_partial (enum target_object object,
+						const char *annex,
+						gdb_byte *readbuf,
+						const gdb_byte *writebuf,
+						ULONGEST offset, ULONGEST len,
+						ULONGEST *xfered_len) override;
+  void files_info () override;
+  int trace_find (enum trace_find_type type, int num,
+			  CORE_ADDR addr1, CORE_ADDR addr2, int *tpp) override;
+  bool get_trace_state_variable_value (int tsv, LONGEST *val) override;
+  traceframe_info_up traceframe_info () override;
+
+  void get_tracepoint_status (struct breakpoint *tp,
+			      struct uploaded_tp *utp) override;
+};
+
 /* TFILE trace writer.  */
 
 struct tfile_trace_file_writer
@@ -221,8 +253,6 @@ tfile_write_uploaded_tp (struct trace_fi
 {
   struct tfile_trace_file_writer *writer
     = (struct tfile_trace_file_writer *) self;
-  int a;
-  char *act;
   char buf[MAX_TRACE_UPLOAD];
 
   fprintf (writer->fp, "tp T%x:%s:%c:%x:%x",
@@ -235,10 +265,10 @@ tfile_write_uploaded_tp (struct trace_fi
 	     ":X%x,%s", (unsigned int) strlen (utp->cond) / 2,
 	     utp->cond);
   fprintf (writer->fp, "\n");
-  for (a = 0; VEC_iterate (char_ptr, utp->actions, a, act); ++a)
+  for (char *act : utp->actions)
     fprintf (writer->fp, "tp A%x:%s:%s\n",
 	     utp->number, phex_nz (utp->addr, sizeof (utp->addr)), act);
-  for (a = 0; VEC_iterate (char_ptr, utp->step_actions, a, act); ++a)
+  for (char *act : utp->step_actions)
     fprintf (writer->fp, "tp S%x:%s:%s\n",
 	     utp->number, phex_nz (utp->addr, sizeof (utp->addr)), act);
   if (utp->at_string)
@@ -254,7 +284,7 @@ tfile_write_uploaded_tp (struct trace_fi
 			    buf, MAX_TRACE_UPLOAD);
       fprintf (writer->fp, "tp Z%s\n", buf);
     }
-  for (a = 0; VEC_iterate (char_ptr, utp->cmd_strings, a, act); ++a)
+  for (char *act : utp->cmd_strings)
     {
       encode_source_string (utp->number, utp->addr, "cmd", act,
 			    buf, MAX_TRACE_UPLOAD);
@@ -277,7 +307,7 @@ tfile_write_tdesc (struct trace_file_wri
     = (struct tfile_trace_file_writer *) self;
 
   gdb::optional<std::string> tdesc
-    = target_fetch_description_xml (&current_target);
+    = target_fetch_description_xml (current_top_target ());
 
   if (!tdesc)
     return;
@@ -380,9 +410,7 @@ tfile_trace_file_writer_new (void)
 
 /* target tfile command */
 
-static struct target_ops tfile_ops;
-
-/* Fill in tfile_ops with its defined operations and properties.  */
+static tfile_target tfile_ops;
 
 #define TRACE_HEADER_SIZE 8
 
@@ -419,8 +447,10 @@ tfile_read (gdb_byte *readbuf, int size)
     error (_("Premature end of file while reading trace file"));
 }
 
+/* Open the tfile target.  */
+
 static void
-tfile_open (const char *arg, int from_tty)
+tfile_target_open (const char *arg, int from_tty)
 {
   int flags;
   int scratch_chan;
@@ -525,7 +555,7 @@ tfile_open (const char *arg, int from_tt
   END_CATCH
 
   inferior_appeared (current_inferior (), TFILE_PID);
-  inferior_ptid = pid_to_ptid (TFILE_PID);
+  inferior_ptid = ptid_t (TFILE_PID);
   add_thread_silent (inferior_ptid);
 
   if (ts->traceframe_count <= 0)
@@ -582,19 +612,16 @@ tfile_interp_line (char *line, struct up
 
 /* Close the trace file and generally clean up.  */
 
-static void
-tfile_close (struct target_ops *self)
+void
+tfile_target::close ()
 {
-  int pid;
-
   if (trace_fd < 0)
     return;
 
-  pid = ptid_get_pid (inferior_ptid);
   inferior_ptid = null_ptid;	/* Avoid confusion from thread stuff.  */
-  exit_inferior_silent (pid);
+  exit_inferior_silent (current_inferior ());
 
-  close (trace_fd);
+  ::close (trace_fd);
   trace_fd = -1;
   xfree (trace_filename);
   trace_filename = NULL;
@@ -603,15 +630,14 @@ tfile_close (struct target_ops *self)
   trace_reset_local_state ();
 }
 
-static void
-tfile_files_info (struct target_ops *t)
+void
+tfile_target::files_info ()
 {
   printf_filtered ("\t`%s'\n", trace_filename);
 }
 
-static void
-tfile_get_tracepoint_status (struct target_ops *self,
-			     struct breakpoint *tp, struct uploaded_tp *utp)
+void
+tfile_target::get_tracepoint_status (struct breakpoint *tp, struct uploaded_tp *utp)
 {
   /* Other bits of trace status were collected as part of opening the
      trace files, so nothing to do here.  */
@@ -655,9 +681,9 @@ tfile_get_traceframe_address (off_t tfra
    both the traceframe and tracepoint number, otherwise -1 for
    each.  */
 
-static int
-tfile_trace_find (struct target_ops *self, enum trace_find_type type, int num,
-		  CORE_ADDR addr1, CORE_ADDR addr2, int *tpp)
+int
+tfile_target::trace_find (enum trace_find_type type, int num,
+			  CORE_ADDR addr1, CORE_ADDR addr2, int *tpp)
 {
   short tpnum;
   int tfnum = 0, found = 0;
@@ -838,9 +864,8 @@ traceframe_find_block_type (char type_wa
 /* Look for a block of saved registers in the traceframe, and get the
    requested register from it.  */
 
-static void
-tfile_fetch_registers (struct target_ops *ops,
-		       struct regcache *regcache, int regno)
+void
+tfile_target::fetch_registers (struct regcache *regcache, int regno)
 {
   struct gdbarch *gdbarch = regcache->arch ();
   int offset, regn, regsize, dummy;
@@ -866,16 +891,16 @@ tfile_fetch_registers (struct target_ops
 	  /* Make sure we stay within block bounds.  */
 	  if (offset + regsize > trace_regblock_size)
 	    break;
-	  if (regcache_register_status (regcache, regn) == REG_UNKNOWN)
+	  if (regcache->get_register_status (regn) == REG_UNKNOWN)
 	    {
 	      if (regno == regn)
 		{
-		  regcache_raw_supply (regcache, regno, regs + offset);
+		  regcache->raw_supply (regno, regs + offset);
 		  break;
 		}
 	      else if (regno == -1)
 		{
-		  regcache_raw_supply (regcache, regn, regs + offset);
+		  regcache->raw_supply (regn, regs + offset);
 		}
 	    }
 	}
@@ -885,7 +910,7 @@ tfile_fetch_registers (struct target_ops
 }
 
 static enum target_xfer_status
-tfile_xfer_partial_features (struct target_ops *ops, const char *annex,
+tfile_xfer_partial_features (const char *annex,
 			     gdb_byte *readbuf, const gdb_byte *writebuf,
 			     ULONGEST offset, ULONGEST len,
 			     ULONGEST *xfered_len)
@@ -911,15 +936,15 @@ tfile_xfer_partial_features (struct targ
   return TARGET_XFER_OK;
 }
 
-static enum target_xfer_status
-tfile_xfer_partial (struct target_ops *ops, enum target_object object,
-		    const char *annex, gdb_byte *readbuf,
-		    const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-		    ULONGEST *xfered_len)
+enum target_xfer_status
+tfile_target::xfer_partial (enum target_object object,
+			    const char *annex, gdb_byte *readbuf,
+			    const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
+			    ULONGEST *xfered_len)
 {
   /* We're only doing regular memory and tdesc for now.  */
   if (object == TARGET_OBJECT_AVAILABLE_FEATURES)
-    return tfile_xfer_partial_features (ops, annex, readbuf, writebuf,
+    return tfile_xfer_partial_features (annex, readbuf, writebuf,
 					offset, len, xfered_len);
   if (object != TARGET_OBJECT_MEMORY)
     return TARGET_XFER_E_IO;
@@ -1003,12 +1028,11 @@ tfile_xfer_partial (struct target_ops *o
 /* Iterate through the blocks of a trace frame, looking for a 'V'
    block with a matching tsv number.  */
 
-static int
-tfile_get_trace_state_variable_value (struct target_ops *self,
-				      int tsvnum, LONGEST *val)
+bool
+tfile_target::get_trace_state_variable_value (int tsvnum, LONGEST *val)
 {
   int pos;
-  int found = 0;
+  bool found = false;
 
   /* Iterate over blocks in current frame and find the last 'V'
      block in which tsv number is TSVNUM.  In one trace frame, there
@@ -1029,7 +1053,7 @@ tfile_get_trace_state_variable_value (st
 	  *val = extract_signed_integer ((gdb_byte *) val, 8,
 					 gdbarch_byte_order
 					 (target_gdbarch ()));
-	  found = 1;
+	  found = true;
 	}
       pos += (4 + 8);
     }
@@ -1087,10 +1111,10 @@ build_traceframe_info (char blocktype, v
   return 0;
 }
 
-static traceframe_info_up
-tfile_traceframe_info (struct target_ops *self)
+traceframe_info_up
+tfile_target::traceframe_info ()
 {
-  traceframe_info_up info (new traceframe_info);
+  traceframe_info_up info (new struct traceframe_info);
 
   traceframe_walk_blocks (build_traceframe_info, 0, info.get ());
 
@@ -1107,31 +1131,8 @@ tfile_append_tdesc_line (const char *lin
   buffer_grow_str (&trace_tdesc, "\n");
 }
 
-static void
-init_tfile_ops (void)
-{
-  init_tracefile_ops (&tfile_ops);
-
-  tfile_ops.to_shortname = "tfile";
-  tfile_ops.to_longname = "Local trace dump file";
-  tfile_ops.to_doc
-    = "Use a trace file as a target.  Specify the filename of the trace file.";
-  tfile_ops.to_open = tfile_open;
-  tfile_ops.to_close = tfile_close;
-  tfile_ops.to_fetch_registers = tfile_fetch_registers;
-  tfile_ops.to_xfer_partial = tfile_xfer_partial;
-  tfile_ops.to_files_info = tfile_files_info;
-  tfile_ops.to_get_tracepoint_status = tfile_get_tracepoint_status;
-  tfile_ops.to_trace_find = tfile_trace_find;
-  tfile_ops.to_get_trace_state_variable_value
-    = tfile_get_trace_state_variable_value;
-  tfile_ops.to_traceframe_info = tfile_traceframe_info;
-}
-
 void
 _initialize_tracefile_tfile (void)
 {
-  init_tfile_ops ();
-
-  add_target_with_completer (&tfile_ops, filename_completer);
+  add_target (tfile_target_info, tfile_target_open, filename_completer);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tracepoint.c ./gdb/tracepoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tracepoint.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tracepoint.c	2018-07-10 02:06:13.000000000 +0000
@@ -36,7 +36,7 @@
 #include "completer.h"
 #include "block.h"
 #include "dictionary.h"
-#include "observer.h"
+#include "observable.h"
 #include "user-regs.h"
 #include "valprint.h"
 #include "gdbcore.h"
@@ -114,10 +114,7 @@ void (*deprecated_trace_start_stop_hook)
    any of these for any reason - API is by name or number only - so it
    works to have a vector of objects.  */
 
-typedef struct trace_state_variable tsv_s;
-DEF_VEC_O(tsv_s);
-
-static VEC(tsv_s) *tvariables;
+static std::vector<trace_state_variable> tvariables;
 
 /* The next integer to assign to a variable.  */
 
@@ -170,8 +167,7 @@ char *trace_stop_notes = NULL;
 struct collection_list;
 static char *mem2hex (gdb_byte *, char *, int);
 
-static struct command_line *
-  all_tracepoint_actions_and_cleanup (struct breakpoint *t);
+static counted_command_line all_tracepoint_actions (struct breakpoint *);
 
 static struct trace_status trace_status;
 
@@ -267,12 +263,8 @@ set_traceframe_context (struct frame_inf
 struct trace_state_variable *
 create_trace_state_variable (const char *name)
 {
-  struct trace_state_variable tsv;
-
-  memset (&tsv, 0, sizeof (tsv));
-  tsv.name = xstrdup (name);
-  tsv.number = next_tsv_number++;
-  return VEC_safe_push (tsv_s, tvariables, &tsv);
+  tvariables.emplace_back (name, next_tsv_number++);
+  return &tvariables.back ();
 }
 
 /* Look for a trace state variable of the given name.  */
@@ -280,12 +272,9 @@ create_trace_state_variable (const char 
 struct trace_state_variable *
 find_trace_state_variable (const char *name)
 {
-  struct trace_state_variable *tsv;
-  int ix;
-
-  for (ix = 0; VEC_iterate (tsv_s, tvariables, ix, tsv); ++ix)
-    if (strcmp (name, tsv->name) == 0)
-      return tsv;
+  for (trace_state_variable &tsv : tvariables)
+    if (tsv.name == name)
+      return &tsv;
 
   return NULL;
 }
@@ -296,12 +285,9 @@ find_trace_state_variable (const char *n
 struct trace_state_variable *
 find_trace_state_variable_by_number (int number)
 {
-  struct trace_state_variable *tsv;
-  int ix;
-
-  for (ix = 0; VEC_iterate (tsv_s, tvariables, ix, tsv); ++ix)
-    if (tsv->number == number)
-      return tsv;
+  for (trace_state_variable &tsv : tvariables)
+    if (tsv.number == number)
+      return &tsv;
 
   return NULL;
 }
@@ -309,17 +295,11 @@ find_trace_state_variable_by_number (int
 static void
 delete_trace_state_variable (const char *name)
 {
-  struct trace_state_variable *tsv;
-  int ix;
-
-  for (ix = 0; VEC_iterate (tsv_s, tvariables, ix, tsv); ++ix)
-    if (strcmp (name, tsv->name) == 0)
+  for (auto it = tvariables.begin (); it != tvariables.end (); it++)
+    if (it->name == name)
       {
-	observer_notify_tsv_deleted (tsv);
-
-	xfree ((void *)tsv->name);
-	VEC_unordered_remove (tsv_s, tvariables, ix);
-
+	gdb::observers::tsv_deleted.notify (&*it);
+	tvariables.erase (it);
 	return;
       }
 
@@ -390,11 +370,11 @@ trace_variable_command (const char *args
       if (tsv->initial_value != initval)
 	{
 	  tsv->initial_value = initval;
-	  observer_notify_tsv_modified (tsv);
+	  gdb::observers::tsv_modified.notify (tsv);
 	}
       printf_filtered (_("Trace state variable $%s "
 			 "now has initial value %s.\n"),
-		       tsv->name, plongest (tsv->initial_value));
+		       tsv->name.c_str (), plongest (tsv->initial_value));
       return;
     }
 
@@ -402,11 +382,11 @@ trace_variable_command (const char *args
   tsv = create_trace_state_variable (name.c_str ());
   tsv->initial_value = initval;
 
-  observer_notify_tsv_created (tsv);
+  gdb::observers::tsv_created.notify (tsv);
 
   printf_filtered (_("Trace state variable $%s "
 		     "created, with initial value %s.\n"),
-		   tsv->name, plongest (tsv->initial_value));
+		   tsv->name.c_str (), plongest (tsv->initial_value));
 }
 
 static void
@@ -415,9 +395,9 @@ delete_trace_variable_command (const cha
   if (args == NULL)
     {
       if (query (_("Delete all trace state variables? ")))
-	VEC_free (tsv_s, tvariables);
+	tvariables.clear ();
       dont_repeat ();
-      observer_notify_tsv_deleted (NULL);
+      gdb::observers::tsv_deleted.notify (NULL);
       return;
     }
 
@@ -437,56 +417,52 @@ delete_trace_variable_command (const cha
 void
 tvariables_info_1 (void)
 {
-  struct trace_state_variable *tsv;
-  int ix;
-  int count = 0;
   struct ui_out *uiout = current_uiout;
 
-  if (VEC_length (tsv_s, tvariables) == 0 && !uiout->is_mi_like_p ())
-    {
-      printf_filtered (_("No trace state variables.\n"));
-      return;
-    }
-
   /* Try to acquire values from the target.  */
-  for (ix = 0; VEC_iterate (tsv_s, tvariables, ix, tsv); ++ix, ++count)
-    tsv->value_known = target_get_trace_state_variable_value (tsv->number,
-							      &(tsv->value));
-
-  ui_out_emit_table table_emitter (uiout, 3, count, "trace-variables");
-  uiout->table_header (15, ui_left, "name", "Name");
-  uiout->table_header (11, ui_left, "initial", "Initial");
-  uiout->table_header (11, ui_left, "current", "Current");
+  for (trace_state_variable &tsv : tvariables)
+    tsv.value_known
+      = target_get_trace_state_variable_value (tsv.number, &tsv.value);
 
-  uiout->table_body ();
+  {
+    ui_out_emit_table table_emitter (uiout, 3, tvariables.size (),
+				     "trace-variables");
+    uiout->table_header (15, ui_left, "name", "Name");
+    uiout->table_header (11, ui_left, "initial", "Initial");
+    uiout->table_header (11, ui_left, "current", "Current");
 
-  for (ix = 0; VEC_iterate (tsv_s, tvariables, ix, tsv); ++ix)
-    {
-      const char *c;
+    uiout->table_body ();
 
-      ui_out_emit_tuple tuple_emitter (uiout, "variable");
+    for (const trace_state_variable &tsv : tvariables)
+      {
+	const char *c;
 
-      std::string name = std::string ("$") + tsv->name;
-      uiout->field_string ("name", name.c_str ());
-      uiout->field_string ("initial", plongest (tsv->initial_value));
-
-      if (tsv->value_known)
-        c = plongest (tsv->value);
-      else if (uiout->is_mi_like_p ())
-        /* For MI, we prefer not to use magic string constants, but rather
-           omit the field completely.  The difference between unknown and
-           undefined does not seem important enough to represent.  */
-        c = NULL;
-      else if (current_trace_status ()->running || traceframe_number >= 0)
-	/* The value is/was defined, but we don't have it.  */
-        c = "<unknown>";
-      else
-	/* It is not meaningful to ask about the value.  */
-        c = "<undefined>";
-      if (c)
-        uiout->field_string ("current", c);
-      uiout->text ("\n");
-    }
+	ui_out_emit_tuple tuple_emitter (uiout, "variable");
+
+	uiout->field_string ("name", std::string ("$") + tsv.name);
+	uiout->field_string ("initial", plongest (tsv.initial_value));
+
+	if (tsv.value_known)
+	  c = plongest (tsv.value);
+	else if (uiout->is_mi_like_p ())
+	  /* For MI, we prefer not to use magic string constants, but rather
+	     omit the field completely.  The difference between unknown and
+	     undefined does not seem important enough to represent.  */
+	  c = NULL;
+	else if (current_trace_status ()->running || traceframe_number >= 0)
+	  /* The value is/was defined, but we don't have it.  */
+	  c = "<unknown>";
+	else
+	  /* It is not meaningful to ask about the value.  */
+	  c = "<undefined>";
+	if (c)
+	  uiout->field_string ("current", c);
+	uiout->text ("\n");
+      }
+  }
+
+  if (tvariables.empty ())
+    uiout->text (_("No trace state variables.\n"));
 }
 
 /* List all the trace state variables.  */
@@ -502,14 +478,11 @@ info_tvariables_command (const char *arg
 void
 save_trace_state_variables (struct ui_file *fp)
 {
-  struct trace_state_variable *tsv;
-  int ix;
-
-  for (ix = 0; VEC_iterate (tsv_s, tvariables, ix, tsv); ++ix)
+  for (const trace_state_variable &tsv : tvariables)
     {
-      fprintf_unfiltered (fp, "tvariable $%s", tsv->name);
-      if (tsv->initial_value)
-	fprintf_unfiltered (fp, " = %s", plongest (tsv->initial_value));
+      fprintf_unfiltered (fp, "tvariable $%s", tsv.name.c_str ());
+      if (tsv.initial_value)
+	fprintf_unfiltered (fp, " = %s", plongest (tsv.initial_value));
       fprintf_unfiltered (fp, "\n");
     }
 }
@@ -604,8 +577,12 @@ actions_command (const char *args, int f
 	string_printf ("Enter actions for tracepoint %d, one per line.",
 		       t->number);
 
-      command_line_up l = read_command_lines (&tmpbuf[0], from_tty, 1,
-					      check_tracepoint_command, t);
+      counted_command_line l = read_command_lines (tmpbuf.c_str (),
+						   from_tty, 1,
+						   [=] (const char *line)
+						     {
+						       validate_actionline (line, t);
+						     });
       breakpoint_set_commands (t, std::move (l));
     }
   /* else just return */
@@ -1382,7 +1359,7 @@ encode_actions_1 (struct command_line *a
 		    case OP_VAR_VALUE:
 		      {
 			struct symbol *sym = exp->elts[2].symbol;
-			char_ptr name = (char_ptr) SYMBOL_NATURAL_NAME (sym);
+			const char *name = SYMBOL_NATURAL_NAME (sym);
 
 			collect->collect_symbol (exp->elts[2].symbol,
 						 target_gdbarch (),
@@ -1462,7 +1439,7 @@ encode_actions_1 (struct command_line *a
 	     here.  */
 	  gdb_assert (stepping_list);
 
-	  encode_actions_1 (action->body_list[0], tloc, frame_reg,
+	  encode_actions_1 (action->body_list_0.get (), tloc, frame_reg,
 			    frame_offset, stepping_list, NULL);
 	}
       else
@@ -1478,17 +1455,17 @@ encode_actions (struct bp_location *tloc
 		struct collection_list *tracepoint_list,
 		struct collection_list *stepping_list)
 {
-  struct command_line *actions;
   int frame_reg;
   LONGEST frame_offset;
 
   gdbarch_virtual_frame_pointer (tloc->gdbarch,
 				 tloc->address, &frame_reg, &frame_offset);
 
-  actions = all_tracepoint_actions_and_cleanup (tloc->owner);
-
-  encode_actions_1 (actions, tloc, frame_reg, frame_offset,
+  counted_command_line actions = all_tracepoint_actions (tloc->owner);
+  encode_actions_1 (actions.get (), tloc, frame_reg, frame_offset,
 		    tracepoint_list, stepping_list);
+  encode_actions_1 (breakpoint_commands (tloc->owner), tloc,
+		    frame_reg, frame_offset, tracepoint_list, stepping_list);
 
   tracepoint_list->finish ();
   stepping_list->finish ();
@@ -1518,15 +1495,11 @@ collection_list::add_aexpr (agent_expr_u
 static void
 process_tracepoint_on_disconnect (void)
 {
-  VEC(breakpoint_p) *tp_vec = NULL;
-  int ix;
-  struct breakpoint *b;
   int has_pending_p = 0;
 
   /* Check whether we still have pending tracepoint.  If we have, warn the
      user that pending tracepoint will no longer work.  */
-  tp_vec = all_tracepoints ();
-  for (ix = 0; VEC_iterate (breakpoint_p, tp_vec, ix, b); ix++)
+  for (breakpoint *b : all_tracepoints ())
     {
       if (b->loc == NULL)
 	{
@@ -1550,7 +1523,6 @@ process_tracepoint_on_disconnect (void)
 	    break;
 	}
     }
-  VEC_free (breakpoint_p, tp_vec);
 
   if (has_pending_p)
     warning (_("Pending tracepoints will not be resolved while"
@@ -1571,23 +1543,17 @@ trace_reset_local_state (void)
 void
 start_tracing (const char *notes)
 {
-  VEC(breakpoint_p) *tp_vec = NULL;
-  int ix;
-  struct breakpoint *b;
   struct trace_state_variable *tsv;
   int any_enabled = 0, num_to_download = 0;
   int ret;
 
-  tp_vec = all_tracepoints ();
+  std::vector<breakpoint *> tp_vec = all_tracepoints ();
 
   /* No point in tracing without any tracepoints...  */
-  if (VEC_length (breakpoint_p, tp_vec) == 0)
-    {
-      VEC_free (breakpoint_p, tp_vec);
-      error (_("No tracepoints defined, not starting trace"));
-    }
+  if (tp_vec.empty ())
+    error (_("No tracepoints defined, not starting trace"));
 
-  for (ix = 0; VEC_iterate (breakpoint_p, tp_vec, ix, b); ix++)
+  for (breakpoint *b : tp_vec)
     {
       if (b->enable_state == bp_enabled)
 	any_enabled = 1;
@@ -1609,20 +1575,16 @@ start_tracing (const char *notes)
 	{
 	  /* No point in tracing with only disabled tracepoints that
 	     cannot be re-enabled.  */
-	  VEC_free (breakpoint_p, tp_vec);
 	  error (_("No tracepoints enabled, not starting trace"));
 	}
     }
 
   if (num_to_download <= 0)
-    {
-      VEC_free (breakpoint_p, tp_vec);
-      error (_("No tracepoints that may be downloaded, not starting trace"));
-    }
+    error (_("No tracepoints that may be downloaded, not starting trace"));
 
   target_trace_init ();
 
-  for (ix = 0; VEC_iterate (breakpoint_p, tp_vec, ix, b); ix++)
+  for (breakpoint *b : tp_vec)
     {
       struct tracepoint *t = (struct tracepoint *) b;
       struct bp_location *loc;
@@ -1659,15 +1621,12 @@ start_tracing (const char *notes)
 					  loc->gdbarch);
 
       if (bp_location_downloaded)
-	observer_notify_breakpoint_modified (b);
+	gdb::observers::breakpoint_modified.notify (b);
     }
-  VEC_free (breakpoint_p, tp_vec);
 
   /* Send down all the trace state variables too.  */
-  for (ix = 0; VEC_iterate (tsv_s, tvariables, ix, tsv); ++ix)
-    {
-      target_download_trace_state_variable (tsv);
-    }
+  for (const trace_state_variable &tsv : tvariables)
+    target_download_trace_state_variable (tsv);
   
   /* Tell target to treat text-like sections as transparent.  */
   target_trace_set_readonly_regions ();
@@ -1730,14 +1689,10 @@ void
 stop_tracing (const char *note)
 {
   int ret;
-  VEC(breakpoint_p) *tp_vec = NULL;
-  int ix;
-  struct breakpoint *t;
 
   target_trace_stop ();
 
-  tp_vec = all_tracepoints ();
-  for (ix = 0; VEC_iterate (breakpoint_p, tp_vec, ix, t); ix++)
+  for (breakpoint *t : all_tracepoints ())
     {
       struct bp_location *loc;
 
@@ -1758,8 +1713,6 @@ stop_tracing (const char *note)
 	}
     }
 
-  VEC_free (breakpoint_p, tp_vec);
-
   if (!note)
     note = trace_stop_notes;
   ret = target_set_trace_notes (NULL, NULL, note);
@@ -1776,9 +1729,7 @@ static void
 tstatus_command (const char *args, int from_tty)
 {
   struct trace_status *ts = current_trace_status ();
-  int status, ix;
-  VEC(breakpoint_p) *tp_vec = NULL;
-  struct breakpoint *t;
+  int status;
   
   status = target_get_trace_status (ts);
 
@@ -1921,12 +1872,8 @@ tstatus_command (const char *args, int f
 		     (long int) (ts->stop_time % 1000000));
 
   /* Now report any per-tracepoint status available.  */
-  tp_vec = all_tracepoints ();
-
-  for (ix = 0; VEC_iterate (breakpoint_p, tp_vec, ix, t); ix++)
+  for (breakpoint *t : all_tracepoints ())
     target_get_tracepoint_status (t, NULL);
-
-  VEC_free (breakpoint_p, tp_vec);
 }
 
 /* Report the trace status to uiout, in a way suitable for MI, and not
@@ -2175,7 +2122,7 @@ tfind_1 (enum trace_find_type type, int 
   set_tracepoint_num (tp ? tp->number : target_tracept);
 
   if (target_frameno != get_traceframe_number ())
-    observer_notify_traceframe_changed (target_frameno, tracepoint_number);
+    gdb::observers::traceframe_changed.notify (target_frameno, tracepoint_number);
 
   set_current_traceframe (target_frameno);
 
@@ -2690,11 +2637,9 @@ trace_dump_actions (struct command_line 
 
       if (cmd_cfunc_eq (cmd, while_stepping_pseudocommand))
 	{
-	  int i;
-
-	  for (i = 0; i < action->body_count; ++i)
-	    trace_dump_actions (action->body_list[i],
-				1, stepping_frame, from_tty);
+	  gdb_assert (action->body_list_1 == nullptr);
+	  trace_dump_actions (action->body_list_0.get (),
+			      1, stepping_frame, from_tty);
 	}
       else if (cmd_cfunc_eq (cmd, collect_pseudocommand))
 	{
@@ -2706,9 +2651,6 @@ trace_dump_actions (struct command_line 
 	     STEPPING_ACTIONS should be equal.  */
 	  if (stepping_frame == stepping_actions)
 	    {
-	      char *cmd = NULL;
-	      struct cleanup *old_chain
-		= make_cleanup (free_current_contents, &cmd);
 	      int trace_string = 0;
 
 	      if (*action_exp == '/')
@@ -2733,31 +2675,22 @@ trace_dump_actions (struct command_line 
 		    info_args_command (NULL, from_tty);
 		  else
 		    {		/* variable */
+		      std::string contents;
+		      const char *exp = action_exp;
 		      if (next_comma != NULL)
 			{
 			  size_t len = next_comma - action_exp;
-
-			  cmd = (char *) xrealloc (cmd, len + 1);
-			  memcpy (cmd, action_exp, len);
-			  cmd[len] = 0;
-			}
-		      else
-			{
-			  size_t len = strlen (action_exp);
-
-			  cmd = (char *) xrealloc (cmd, len + 1);
-			  memcpy (cmd, action_exp, len + 1);
+			  contents = std::string (action_exp, len);
+			  exp = contents.c_str ();
 			}
 
-		      printf_filtered ("%s = ", cmd);
-		      output_command_const (cmd, from_tty);
+		      printf_filtered ("%s = ", exp);
+		      output_command (exp, from_tty);
 		      printf_filtered ("\n");
 		    }
 		  action_exp = next_comma;
 		}
 	      while (action_exp && *action_exp == ',');
-
-	      do_cleanups (old_chain);
 	    }
 	}
     }
@@ -2805,16 +2738,12 @@ get_traceframe_location (int *stepping_f
   return t->loc;
 }
 
-/* Return all the actions, including default collect, of a tracepoint
-   T.  It constructs cleanups into the chain, and leaves the caller to
-   handle them (call do_cleanups).  */
+/* Return the default collect actions of a tracepoint T.  */
 
-static struct command_line *
-all_tracepoint_actions_and_cleanup (struct breakpoint *t)
+static counted_command_line
+all_tracepoint_actions (struct breakpoint *t)
 {
-  struct command_line *actions;
-
-  actions = breakpoint_commands (t);
+  counted_command_line actions (nullptr, command_lines_deleter ());
 
   /* If there are default expressions to collect, make up a collect
      action and prepend to the action list to encode.  Note that since
@@ -2824,17 +2753,13 @@ all_tracepoint_actions_and_cleanup (stru
   if (*default_collect)
     {
       struct command_line *default_collect_action;
-      char *default_collect_line;
-
-      default_collect_line = xstrprintf ("collect %s", default_collect);
-      make_cleanup (xfree, default_collect_line);
+      gdb::unique_xmalloc_ptr<char> default_collect_line
+	(xstrprintf ("collect %s", default_collect));
 
-      validate_actionline (default_collect_line, t);
-      default_collect_action = XNEW (struct command_line);
-      make_cleanup (xfree, default_collect_action);
-      default_collect_action->next = actions;
-      default_collect_action->line = default_collect_line;
-      actions = default_collect_action;
+      validate_actionline (default_collect_line.get (), t);
+      actions.reset (new struct command_line (simple_control,
+					      default_collect_line.release ()),
+		     command_lines_deleter ());
     }
 
   return actions;
@@ -2847,7 +2772,6 @@ tdump_command (const char *args, int fro
 {
   int stepping_frame = 0;
   struct bp_location *loc;
-  struct command_line *actions;
 
   /* This throws an error is not inspecting a trace frame.  */
   loc = get_traceframe_location (&stepping_frame);
@@ -2861,9 +2785,11 @@ tdump_command (const char *args, int fro
 
   select_frame (get_current_frame ());
 
-  actions = all_tracepoint_actions_and_cleanup (loc->owner);
+  counted_command_line actions = all_tracepoint_actions (loc->owner);
 
-  trace_dump_actions (actions, 0, stepping_frame, from_tty);
+  trace_dump_actions (actions.get (), 0, stepping_frame, from_tty);
+  trace_dump_actions (breakpoint_commands (loc->owner), 0, stepping_frame,
+		      from_tty);
 }
 
 /* Encode a piece of a tracepoint's source-level definition in a form
@@ -3012,43 +2938,9 @@ set_current_traceframe (int num)
   clear_traceframe_info ();
 }
 
-/* A cleanup used when switching away and back from tfind mode.  */
-
-struct current_traceframe_cleanup
-{
-  /* The traceframe we were inspecting.  */
-  int traceframe_number;
-};
-
-static void
-do_restore_current_traceframe_cleanup (void *arg)
-{
-  struct current_traceframe_cleanup *old
-    = (struct current_traceframe_cleanup *) arg;
-
-  set_current_traceframe (old->traceframe_number);
-}
-
-static void
-restore_current_traceframe_cleanup_dtor (void *arg)
-{
-  struct current_traceframe_cleanup *old
-    = (struct current_traceframe_cleanup *) arg;
-
-  xfree (old);
-}
-
-struct cleanup *
-make_cleanup_restore_current_traceframe (void)
-{
-  struct current_traceframe_cleanup *old =
-    XNEW (struct current_traceframe_cleanup);
-
-  old->traceframe_number = traceframe_number;
-
-  return make_cleanup_dtor (do_restore_current_traceframe_cleanup, old,
-			    restore_current_traceframe_cleanup_dtor);
-}
+scoped_restore_current_traceframe::scoped_restore_current_traceframe ()
+: m_traceframe_number (traceframe_number)
+{}
 
 /* Given a number and address, return an uploaded tracepoint with that
    number, creating if necessary.  */
@@ -3062,12 +2954,9 @@ get_uploaded_tp (int num, ULONGEST addr,
     if (utp->number == num && utp->addr == addr)
       return utp;
 
-  utp = XCNEW (struct uploaded_tp);
+  utp = new uploaded_tp;
   utp->number = num;
   utp->addr = addr;
-  utp->actions = NULL;
-  utp->step_actions = NULL;
-  utp->cmd_strings = NULL;
   utp->next = *utpp;
   *utpp = utp;
 
@@ -3082,7 +2971,7 @@ free_uploaded_tps (struct uploaded_tp **
   while (*utpp)
     {
       next_one = (*utpp)->next;
-      xfree (*utpp);
+      delete *utpp;
       *utpp = next_one;
     }
 }
@@ -3141,12 +3030,9 @@ cond_string_is_same (char *str1, char *s
 static struct bp_location *
 find_matching_tracepoint_location (struct uploaded_tp *utp)
 {
-  VEC(breakpoint_p) *tp_vec = all_tracepoints ();
-  int ix;
-  struct breakpoint *b;
   struct bp_location *loc;
 
-  for (ix = 0; VEC_iterate (breakpoint_p, tp_vec, ix, b); ix++)
+  for (breakpoint *b : all_tracepoints ())
     {
       struct tracepoint *t = (struct tracepoint *) b;
 
@@ -3177,9 +3063,7 @@ merge_uploaded_tracepoints (struct uploa
 {
   struct uploaded_tp *utp;
   /* A set of tracepoints which are modified.  */
-  VEC(breakpoint_p) *modified_tp = NULL;
-  int ix;
-  struct breakpoint *b;
+  std::vector<breakpoint *> modified_tp;
 
   /* Look for GDB tracepoints that match up with our uploaded versions.  */
   for (utp = *uploaded_tps; utp; utp = utp->next)
@@ -3205,16 +3089,14 @@ merge_uploaded_tracepoints (struct uploa
 	     MODIFIED_TP if not there yet.  The 'breakpoint-modified'
 	     observers will be notified later once for each tracepoint
 	     saved in MODIFIED_TP.  */
-	  for (ix = 0;
-	       VEC_iterate (breakpoint_p, modified_tp, ix, b);
-	       ix++)
+	  for (breakpoint *b : modified_tp)
 	    if (b == loc->owner)
 	      {
 		found = 1;
 		break;
 	      }
 	  if (!found)
-	    VEC_safe_push (breakpoint_p, modified_tp, loc->owner);
+	    modified_tp.push_back (loc->owner);
 	}
       else
 	{
@@ -3239,10 +3121,9 @@ merge_uploaded_tracepoints (struct uploa
 
   /* Notify 'breakpoint-modified' observer that at least one of B's
      locations was changed.  */
-  for (ix = 0; VEC_iterate (breakpoint_p, modified_tp, ix, b); ix++)
-    observer_notify_breakpoint_modified (b);
+  for (breakpoint *b : modified_tp)
+    gdb::observers::breakpoint_modified.notify (b);
 
-  VEC_free (breakpoint_p, modified_tp);
   free_uploaded_tps (uploaded_tps);
 }
 
@@ -3287,7 +3168,7 @@ create_tsv_from_upload (struct uploaded_
   tsv->initial_value = utsv->initial_value;
   tsv->builtin = utsv->builtin;
 
-  observer_notify_tsv_created (tsv);
+  gdb::observers::tsv_created.notify (tsv);
 
   return tsv;
 }
@@ -3305,8 +3186,8 @@ merge_uploaded_trace_state_variables (st
 
   /* Most likely some numbers will have to be reassigned as part of
      the merge, so clear them all in anticipation.  */
-  for (ix = 0; VEC_iterate (tsv_s, tvariables, ix, tsv); ++ix)
-    tsv->number = 0;
+  for (trace_state_variable &tsv : tvariables)
+    tsv.number = 0;
 
   for (utsv = *uploaded_tsvs; utsv; utsv = utsv->next)
     {
@@ -3316,7 +3197,7 @@ merge_uploaded_trace_state_variables (st
 	  if (info_verbose)
 	    printf_filtered (_("Assuming trace state variable $%s "
 			       "is same as target's variable %d.\n"),
-			     tsv->name, utsv->number);
+			     tsv->name.c_str (), utsv->number);
 	}
       else
 	{
@@ -3324,7 +3205,7 @@ merge_uploaded_trace_state_variables (st
 	  if (info_verbose)
 	    printf_filtered (_("Created trace state variable "
 			       "$%s for target's variable %d.\n"),
-			     tsv->name, utsv->number);
+			     tsv->name.c_str (), utsv->number);
 	}
       /* Give precedence to numberings that come from the target.  */
       if (tsv)
@@ -3333,14 +3214,13 @@ merge_uploaded_trace_state_variables (st
 
   /* Renumber everything that didn't get a target-assigned number.  */
   highest = 0;
-  for (ix = 0; VEC_iterate (tsv_s, tvariables, ix, tsv); ++ix)
-    if (tsv->number > highest)
-      highest = tsv->number;
+  for (const trace_state_variable &tsv : tvariables)
+    highest = std::max (tsv.number, highest);
 
   ++highest;
-  for (ix = 0; VEC_iterate (tsv_s, tvariables, ix, tsv); ++ix)
-    if (tsv->number == 0)
-      tsv->number = highest++;
+  for (trace_state_variable &tsv : tvariables)
+    if (tsv.number == 0)
+      tsv.number = highest++;
 
   free_uploaded_tsvs (uploaded_tsvs);
 }
@@ -3599,12 +3479,12 @@ parse_tracepoint_definition (const char 
   else if (piece == 'A')
     {
       utp = get_uploaded_tp (num, addr, utpp);
-      VEC_safe_push (char_ptr, utp->actions, xstrdup (p));
+      utp->actions.push_back (xstrdup (p));
     }
   else if (piece == 'S')
     {
       utp = get_uploaded_tp (num, addr, utpp);
-      VEC_safe_push (char_ptr, utp->step_actions, xstrdup (p));
+      utp->step_actions.push_back (xstrdup (p));
     }
   else if (piece == 'Z')
     {
@@ -3628,7 +3508,7 @@ parse_tracepoint_definition (const char 
       else if (startswith (srctype, "cond:"))
 	utp->cond_string = xstrdup (buf);
       else if (startswith (srctype, "cmd:"))
-	VEC_safe_push (char_ptr, utp->cmd_strings, xstrdup (buf));
+	utp->cmd_strings.push_back (xstrdup (buf));
     }
   else if (piece == 'V')
     {
@@ -3674,21 +3554,6 @@ parse_tsv_definition (const char *line, 
   utsv->name = xstrdup (buf);
 }
 
-void
-free_current_marker (void *arg)
-{
-  struct static_tracepoint_marker **marker_p
-    = (struct static_tracepoint_marker **) arg;
-
-  if (*marker_p != NULL)
-    {
-      release_static_tracepoint_marker (*marker_p);
-      xfree (*marker_p);
-    }
-  else
-    *marker_p = NULL;
-}
-
 /* Given a line of text defining a static tracepoint marker, parse it
    into a "static tracepoint marker" object.  Throws an error is
    parsing fails.  If PP is non-null, it points to one past the end of
@@ -3696,11 +3561,10 @@ free_current_marker (void *arg)
 
 void
 parse_static_tracepoint_marker_definition (const char *line, const char **pp,
-					   struct static_tracepoint_marker *marker)
+					   static_tracepoint_marker *marker)
 {
   const char *p, *endp;
   ULONGEST addr;
-  int end;
 
   p = line;
   p = unpack_varlen_hex (p, &addr);
@@ -3713,49 +3577,42 @@ parse_static_tracepoint_marker_definitio
   if (endp == NULL)
     error (_("bad marker definition: %s"), line);
 
-  marker->str_id = (char *) xmalloc (endp - p + 1);
-  end = hex2bin (p, (gdb_byte *) marker->str_id, (endp - p + 1) / 2);
-  marker->str_id[end] = '\0';
-
-  p += 2 * end;
-  p++;  /* skip a colon */
+  marker->str_id = hex2str (p, (endp - p) / 2);
 
-  marker->extra = (char *) xmalloc (strlen (p) + 1);
-  end = hex2bin (p, (gdb_byte *) marker->extra, strlen (p) / 2);
-  marker->extra[end] = '\0';
+  p = endp;
+  p++; /* skip a colon */
 
-  if (pp)
-    *pp = p;
-}
+  /* This definition may be followed by another one, separated by a comma.  */
+  int hex_len;
+  endp = strchr (p, ',');
+  if (endp != nullptr)
+    hex_len = endp - p;
+  else
+    hex_len = strlen (p);
 
-/* Release a static tracepoint marker's contents.  Note that the
-   object itself isn't released here.  There objects are usually on
-   the stack.  */
+  marker->extra = hex2str (p, hex_len / 2);
 
-void
-release_static_tracepoint_marker (struct static_tracepoint_marker *marker)
-{
-  xfree (marker->str_id);
-  marker->str_id = NULL;
+  if (pp != nullptr)
+    *pp = p + hex_len;
 }
 
 /* Print MARKER to gdb_stdout.  */
 
 static void
 print_one_static_tracepoint_marker (int count,
-				    struct static_tracepoint_marker *marker)
+				    const static_tracepoint_marker &marker)
 {
   struct symbol *sym;
 
   char wrap_indent[80];
   char extra_field_indent[80];
   struct ui_out *uiout = current_uiout;
-  VEC(breakpoint_p) *tracepoints;
 
   symtab_and_line sal;
-  sal.pc = marker->address;
+  sal.pc = marker.address;
 
-  tracepoints = static_tracepoints_here (marker->address);
+  std::vector<breakpoint *> tracepoints
+    = static_tracepoints_here (marker.address);
 
   ui_out_emit_tuple tuple_emitter (uiout, "marker");
 
@@ -3763,25 +3620,25 @@ print_one_static_tracepoint_marker (int 
      identifier!  */
   uiout->field_int ("count", count);
 
-  uiout->field_string ("marker-id", marker->str_id);
+  uiout->field_string ("marker-id", marker.str_id.c_str ());
 
   uiout->field_fmt ("enabled", "%c",
-		    !VEC_empty (breakpoint_p, tracepoints) ? 'y' : 'n');
+		    !tracepoints.empty () ? 'y' : 'n');
   uiout->spaces (2);
 
   strcpy (wrap_indent, "                                   ");
 
-  if (gdbarch_addr_bit (marker->gdbarch) <= 32)
+  if (gdbarch_addr_bit (marker.gdbarch) <= 32)
     strcat (wrap_indent, "           ");
   else
     strcat (wrap_indent, "                   ");
 
   strcpy (extra_field_indent, "         ");
 
-  uiout->field_core_addr ("addr", marker->gdbarch, marker->address);
+  uiout->field_core_addr ("addr", marker.gdbarch, marker.address);
 
-  sal = find_pc_line (marker->address, 0);
-  sym = find_pc_sect_function (marker->address, NULL);
+  sal = find_pc_line (marker.address, 0);
+  sym = find_pc_sect_function (marker.address, NULL);
   if (sym)
     {
       uiout->text ("in ");
@@ -3819,10 +3676,10 @@ print_one_static_tracepoint_marker (int 
   uiout->text ("\n");
   uiout->text (extra_field_indent);
   uiout->text (_("Data: \""));
-  uiout->field_string ("extra-data", marker->extra);
+  uiout->field_string ("extra-data", marker.extra.c_str ());
   uiout->text ("\"\n");
 
-  if (!VEC_empty (breakpoint_p, tracepoints))
+  if (!tracepoints.empty ())
     {
       int ix;
       struct breakpoint *b;
@@ -3832,32 +3689,28 @@ print_one_static_tracepoint_marker (int 
 
 	uiout->text (extra_field_indent);
 	uiout->text (_("Probed by static tracepoints: "));
-	for (ix = 0; VEC_iterate(breakpoint_p, tracepoints, ix, b); ix++)
+	for (ix = 0; ix < tracepoints.size (); ix++)
 	  {
 	    if (ix > 0)
 	      uiout->text (", ");
 	    uiout->text ("#");
-	    uiout->field_int ("tracepoint-id", b->number);
+	    uiout->field_int ("tracepoint-id", tracepoints[ix]->number);
 	  }
       }
 
       if (uiout->is_mi_like_p ())
-	uiout->field_int ("number-of-tracepoints",
-			  VEC_length(breakpoint_p, tracepoints));
+	uiout->field_int ("number-of-tracepoints", tracepoints.size ());
       else
 	uiout->text ("\n");
     }
-  VEC_free (breakpoint_p, tracepoints);
 }
 
 static void
 info_static_tracepoint_markers_command (const char *arg, int from_tty)
 {
-  VEC(static_tracepoint_marker_p) *markers;
-  struct cleanup *old_chain;
-  struct static_tracepoint_marker *marker;
   struct ui_out *uiout = current_uiout;
-  int i;
+  std::vector<static_tracepoint_marker> markers
+    = target_static_tracepoint_markers_by_strid (NULL);
 
   /* We don't have to check target_can_use_agent and agent's capability on
      static tracepoint here, in order to be compatible with older GDBserver.
@@ -3881,19 +3734,8 @@ info_static_tracepoint_markers_command (
 
   uiout->table_body ();
 
-  markers = target_static_tracepoint_markers_by_strid (NULL);
-  old_chain = make_cleanup (VEC_cleanup (static_tracepoint_marker_p), &markers);
-
-  for (i = 0;
-       VEC_iterate (static_tracepoint_marker_p,
-		    markers, i, marker);
-       i++)
-    {
-      print_one_static_tracepoint_marker (i + 1, marker);
-      release_static_tracepoint_marker (marker);
-    }
-
-  do_cleanups (old_chain);
+  for (int i = 0; i < markers.size (); i++)
+    print_one_static_tracepoint_marker (i + 1, markers[i]);
 }
 
 /* The $_sdata convenience variable is a bit special.  We don't know
@@ -3910,23 +3752,19 @@ static struct value *
 sdata_make_value (struct gdbarch *gdbarch, struct internalvar *var,
 		  void *ignore)
 {
-  LONGEST size;
-  gdb_byte *buf;
-
   /* We need to read the whole object before we know its size.  */
-  size = target_read_alloc (&current_target,
-			    TARGET_OBJECT_STATIC_TRACE_DATA,
-			    NULL, &buf);
-  if (size >= 0)
+  gdb::optional<gdb::byte_vector> buf
+    = target_read_alloc (current_top_target (), TARGET_OBJECT_STATIC_TRACE_DATA,
+			 NULL);
+  if (buf)
     {
       struct value *v;
       struct type *type;
 
       type = init_vector_type (builtin_type (gdbarch)->builtin_true_char,
-			       size);
+			       buf->size ());
       v = allocate_value (type);
-      memcpy (value_contents_raw (v), buf, size);
-      xfree (buf);
+      memcpy (value_contents_raw (v), buf->data (), buf->size ());
       return v;
     }
   else
@@ -3959,15 +3797,16 @@ parse_traceframe_info (const char *tfram
 static void
 traceframe_info_start_memory (struct gdb_xml_parser *parser,
 			      const struct gdb_xml_element *element,
-			      void *user_data, VEC(gdb_xml_value_s) *attributes)
+			      void *user_data,
+			      std::vector<gdb_xml_value> &attributes)
 {
   struct traceframe_info *info = (struct traceframe_info *) user_data;
   ULONGEST *start_p, *length_p;
 
   start_p
-    = (ULONGEST *) xml_find_attribute (attributes, "start")->value;
+    = (ULONGEST *) xml_find_attribute (attributes, "start")->value.get ();
   length_p
-    = (ULONGEST *) xml_find_attribute (attributes, "length")->value;
+    = (ULONGEST *) xml_find_attribute (attributes, "length")->value.get ();
 
   info->memory.emplace_back (*start_p, *length_p);
 }
@@ -3978,11 +3817,11 @@ static void
 traceframe_info_start_tvar (struct gdb_xml_parser *parser,
 			     const struct gdb_xml_element *element,
 			     void *user_data,
-			     VEC(gdb_xml_value_s) *attributes)
+			     std::vector<gdb_xml_value> &attributes)
 {
   struct traceframe_info *info = (struct traceframe_info *) user_data;
   const char *id_attrib
-    = (const char *) xml_find_attribute (attributes, "id")->value;
+    = (const char *) xml_find_attribute (attributes, "id")->value.get ();
   int id = gdb_xml_parse_ulongest (parser, id_attrib);
 
   info->tvars.push_back (id);
@@ -4190,13 +4029,13 @@ De-select any trace frame and resume 'li
 
   add_com ("tstop", class_trace, tstop_command, _("\
 Stop trace data collection.\n\
-Usage: tstop [ <notes> ... ]\n\
+Usage: tstop [NOTES]...\n\
 Any arguments supplied are recorded with the trace as a stop reason and\n\
 reported by tstatus (if the target supports trace notes)."));
 
   add_com ("tstart", class_trace, tstart_command, _("\
 Start trace data collection.\n\
-Usage: tstart [ <notes> ... ]\n\
+Usage: tstart [NOTES]...\n\
 Any arguments supplied are recorded with the trace as a note and\n\
 reported by tstatus (if the target supports trace notes)."));
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tracepoint.h ./gdb/tracepoint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tracepoint.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tracepoint.h	2018-07-10 02:06:13.000000000 +0000
@@ -47,29 +47,33 @@ typedef std::unique_ptr<traceframe_info>
    tracepoints.  */
 
 struct trace_state_variable
-  {
-    /* The variable's name.  The user has to prefix with a dollar sign,
-       but we don't store that internally.  */
-    const char *name;
-
-    /* An id number assigned by GDB, and transmitted to targets.  */
-    int number;
-
-    /* The initial value of a variable is a 64-bit signed integer.  */
-    LONGEST initial_value;
-
-    /* 1 if the value is known, else 0.  The value is known during a
-       trace run, or in tfind mode if the variable was collected into
-       the current trace frame.  */
-    int value_known;
-
-    /* The value of a variable is a 64-bit signed integer.  */
-    LONGEST value;
-
-    /* This is true for variables that are predefined and built into
-       the target.  */
-    int builtin;
-   };
+{
+  trace_state_variable (std::string &&name_, int number_)
+  : name (name_), number (number_)
+  {}
+
+  /* The variable's name.  The user has to prefix with a dollar sign,
+     but we don't store that internally.  */
+  std::string name;
+
+  /* An id number assigned by GDB, and transmitted to targets.  */
+  int number = 0;
+
+  /* The initial value of a variable is a 64-bit signed integer.  */
+  LONGEST initial_value = 0;
+
+  /* 1 if the value is known, else 0.  The value is known during a
+     trace run, or in tfind mode if the variable was collected into
+     the current trace frame.  */
+  int value_known = 0;
+
+  /* The value of a variable is a 64-bit signed integer.  */
+  LONGEST value = 0;
+
+  /* This is true for variables that are predefined and built into
+     the target.  */
+  int builtin = 0;
+ };
 
 /* The trace status encompasses various info about the general state
    of the tracing run.  */
@@ -165,38 +169,38 @@ extern const char *stop_reason_names[];
 
 struct uploaded_tp
 {
-  int number;
-  enum bptype type;
-  ULONGEST addr;
-  int enabled;
-  int step;
-  int pass;
-  int orig_size;
+  int number = 0;
+  enum bptype type = bp_none;
+  ULONGEST addr = 0;
+  int enabled = 0;
+  int step = 0;
+  int pass = 0;
+  int orig_size = 0;
 
   /* String that is the encoded form of the tracepoint's condition.  */
-  char *cond;
+  char *cond = nullptr;
 
   /* Vectors of strings that are the encoded forms of a tracepoint's
      actions.  */
-  VEC(char_ptr) *actions;
-  VEC(char_ptr) *step_actions;
+  std::vector<char *> actions;
+  std::vector<char *> step_actions;
 
   /* The original string defining the location of the tracepoint.  */
-  char *at_string;
+  char *at_string = nullptr;
 
   /* The original string defining the tracepoint's condition.  */
-  char *cond_string;
+  char *cond_string = nullptr;
 
   /* List of original strings defining the tracepoint's actions.  */
-  VEC(char_ptr) *cmd_strings;
+  std::vector<char *> cmd_strings;
 
   /* The tracepoint's current hit count.  */
-  int hit_count;
+  int hit_count = 0;
 
   /* The tracepoint's current traceframe usage.  */
-  ULONGEST traceframe_usage;
+  ULONGEST traceframe_usage = 0;
 
-  struct uploaded_tp *next;
+  struct uploaded_tp *next = nullptr;
 };
 
 /* Struct recording info about trace state variables on the target.  */
@@ -214,14 +218,20 @@ struct uploaded_tsv
 
 struct static_tracepoint_marker
 {
-  struct gdbarch *gdbarch;
-  CORE_ADDR address;
+  DISABLE_COPY_AND_ASSIGN (static_tracepoint_marker);
+
+  static_tracepoint_marker () = default;
+  static_tracepoint_marker (static_tracepoint_marker &&) = default;
+  static_tracepoint_marker &operator= (static_tracepoint_marker &&) = default;
+
+  struct gdbarch *gdbarch = NULL;
+  CORE_ADDR address = 0;
 
   /* The string ID of the marker.  */
-  char *str_id;
+  std::string str_id;
 
   /* Extra target reported info associated with the marker.  */
-  char *extra;
+  std::string extra;
 };
 
 struct memrange
@@ -295,11 +305,9 @@ private:
   std::vector<std::string> m_computed;
 };
 
-extern void parse_static_tracepoint_marker_definition
-  (const char *line, const char **pp,
-   struct static_tracepoint_marker *marker);
-extern void release_static_tracepoint_marker (struct static_tracepoint_marker *);
-extern void free_current_marker (void *arg);
+extern void
+  parse_static_tracepoint_marker_definition (const char *line, const char **pp,
+					     static_tracepoint_marker *marker);
 
 /* A hook used to notify the UI of tracepoint operations.  */
 
@@ -317,7 +325,22 @@ extern int get_tracepoint_number (void);
    etc.).  */
 extern void set_current_traceframe (int num);
 
-struct cleanup *make_cleanup_restore_current_traceframe (void);
+struct scoped_restore_current_traceframe
+{
+  scoped_restore_current_traceframe ();
+
+  ~scoped_restore_current_traceframe ()
+  {
+    set_current_traceframe (m_traceframe_number);
+  }
+
+  DISABLE_COPY_AND_ASSIGN (scoped_restore_current_traceframe);
+
+private:
+
+  /* The traceframe we were inspecting.  */
+  int m_traceframe_number;
+};
 
 void free_actions (struct breakpoint *);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tui/tui.c ./gdb/tui/tui.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tui/tui.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tui/tui.c	2018-07-10 02:06:13.000000000 +0000
@@ -415,7 +415,7 @@ tui_enable (void)
 
       /* If the top level interpreter is not the console/tui (e.g.,
 	 MI), enabling curses will certainly lose.  */
-      interp = interp_name (top_level_interpreter ());
+      interp = top_level_interpreter ()->name ();
       if (strcmp (interp, INTERP_TUI) != 0)
 	error (_("Cannot enable the TUI when the interpreter is '%s'"), interp);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tui/tui-hooks.c ./gdb/tui/tui-hooks.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tui/tui-hooks.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tui/tui-hooks.c	2018-07-10 02:06:13.000000000 +0000
@@ -32,7 +32,7 @@
 #include "breakpoint.h"
 #include "ui-out.h"
 #include "top.h"
-#include "observer.h"
+#include "observable.h"
 #include <unistd.h>
 #include <fcntl.h>
 
@@ -203,14 +203,42 @@ tui_normal_stop (struct bpstats *bs, int
   tui_refresh_frame_and_register_information (/*registers_too_p=*/1);
 }
 
-/* Observers created when installing TUI hooks.  */
-static struct observer *tui_bp_created_observer;
-static struct observer *tui_bp_deleted_observer;
-static struct observer *tui_bp_modified_observer;
-static struct observer *tui_inferior_exit_observer;
-static struct observer *tui_before_prompt_observer;
-static struct observer *tui_normal_stop_observer;
-static struct observer *tui_register_changed_observer;
+/* Token associated with observers registered while TUI hooks are
+   installed.  */
+static const gdb::observers::token tui_observers_token;
+
+/* Attach or detach a single observer, according to ATTACH.  */
+
+template<typename T>
+static void
+attach_or_detach (T &observable, typename T::func_type func, bool attach)
+{
+  if (attach)
+    observable.attach (func, tui_observers_token);
+  else
+    observable.detach (tui_observers_token);
+}
+
+/* Attach or detach TUI observers, according to ATTACH.  */
+
+static void
+tui_attach_detach_observers (bool attach)
+{
+  attach_or_detach (gdb::observers::breakpoint_created,
+		    tui_event_create_breakpoint, attach);
+  attach_or_detach (gdb::observers::breakpoint_deleted,
+		    tui_event_delete_breakpoint, attach);
+  attach_or_detach (gdb::observers::breakpoint_modified,
+		    tui_event_modify_breakpoint, attach);
+  attach_or_detach (gdb::observers::inferior_exit,
+		    tui_inferior_exit, attach);
+  attach_or_detach (gdb::observers::before_prompt,
+		    tui_before_prompt, attach);
+  attach_or_detach (gdb::observers::normal_stop,
+		    tui_normal_stop, attach);
+  attach_or_detach (gdb::observers::register_changed,
+		    tui_register_changed, attach);
+}
 
 /* Install the TUI specific hooks.  */
 void
@@ -224,20 +252,7 @@ tui_install_hooks (void)
     = tui_dummy_print_frame_info_listing_hook;
 
   /* Install the event hooks.  */
-  tui_bp_created_observer
-    = observer_attach_breakpoint_created (tui_event_create_breakpoint);
-  tui_bp_deleted_observer
-    = observer_attach_breakpoint_deleted (tui_event_delete_breakpoint);
-  tui_bp_modified_observer
-    = observer_attach_breakpoint_modified (tui_event_modify_breakpoint);
-  tui_inferior_exit_observer
-    = observer_attach_inferior_exit (tui_inferior_exit);
-  tui_before_prompt_observer
-    = observer_attach_before_prompt (tui_before_prompt);
-  tui_normal_stop_observer
-    = observer_attach_normal_stop (tui_normal_stop);
-  tui_register_changed_observer
-    = observer_attach_register_changed (tui_register_changed);
+  tui_attach_detach_observers (true);
 }
 
 /* Remove the TUI specific hooks.  */
@@ -246,26 +261,14 @@ tui_remove_hooks (void)
 {
   deprecated_print_frame_info_listing_hook = 0;
   deprecated_query_hook = 0;
+
   /* Remove our observers.  */
-  observer_detach_breakpoint_created (tui_bp_created_observer);
-  tui_bp_created_observer = NULL;
-  observer_detach_breakpoint_deleted (tui_bp_deleted_observer);
-  tui_bp_deleted_observer = NULL;
-  observer_detach_breakpoint_modified (tui_bp_modified_observer);
-  tui_bp_modified_observer = NULL;
-  observer_detach_inferior_exit (tui_inferior_exit_observer);
-  tui_inferior_exit_observer = NULL;
-  observer_detach_before_prompt (tui_before_prompt_observer);
-  tui_before_prompt_observer = NULL;
-  observer_detach_normal_stop (tui_normal_stop_observer);
-  tui_normal_stop_observer = NULL;
-  observer_detach_register_changed (tui_register_changed_observer);
-  tui_register_changed_observer = NULL;
+  tui_attach_detach_observers (false);
 }
 
 void
 _initialize_tui_hooks (void)
 {
   /* Install the permanent hooks.  */
-  observer_attach_new_objfile (tui_new_objfile_hook);
+  gdb::observers::new_objfile.attach (tui_new_objfile_hook);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tui/tui-interp.c ./gdb/tui/tui-interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tui/tui-interp.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tui/tui-interp.c	2018-07-10 02:06:13.000000000 +0000
@@ -31,8 +31,9 @@
 #include "tui/tui.h"
 #include "tui/tui-io.h"
 #include "infrun.h"
-#include "observer.h"
+#include "observable.h"
 #include "gdbthread.h"
+#include "inferior.h"
 
 /* Set to 1 when the TUI mode must be activated when we first start
    gdb.  */
@@ -58,9 +59,7 @@ public:
 static tui_interp *
 as_tui_interp (struct interp *interp)
 {
-  if (strcmp (interp_name (interp), INTERP_TUI) == 0)
-    return (tui_interp *) interp;
-  return NULL;
+  return dynamic_cast<tui_interp *> (interp);
 }
 
 /* Cleanup the tui before exiting.  */
@@ -326,14 +325,14 @@ _initialize_tui_interp (void)
     }
 
   /* If changing this, remember to update cli-interp.c as well.  */
-  observer_attach_normal_stop (tui_on_normal_stop);
-  observer_attach_signal_received (tui_on_signal_received);
-  observer_attach_end_stepping_range (tui_on_end_stepping_range);
-  observer_attach_signal_exited (tui_on_signal_exited);
-  observer_attach_exited (tui_on_exited);
-  observer_attach_no_history (tui_on_no_history);
-  observer_attach_sync_execution_done (tui_on_sync_execution_done);
-  observer_attach_command_error (tui_on_command_error);
-  observer_attach_user_selected_context_changed
+  gdb::observers::normal_stop.attach (tui_on_normal_stop);
+  gdb::observers::signal_received.attach (tui_on_signal_received);
+  gdb::observers::end_stepping_range.attach (tui_on_end_stepping_range);
+  gdb::observers::signal_exited.attach (tui_on_signal_exited);
+  gdb::observers::exited.attach (tui_on_exited);
+  gdb::observers::no_history.attach (tui_on_no_history);
+  gdb::observers::sync_execution_done.attach (tui_on_sync_execution_done);
+  gdb::observers::command_error.attach (tui_on_command_error);
+  gdb::observers::user_selected_context_changed.attach
     (tui_on_user_selected_context_changed);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tui/tui-layout.c ./gdb/tui/tui-layout.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tui/tui-layout.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tui/tui-layout.c	2018-07-10 02:06:13.000000000 +0000
@@ -374,7 +374,7 @@ _initialize_tui_layout (void)
 
   cmd = add_com ("layout", class_tui, tui_layout_command, _("\
 Change the layout of windows.\n\
-Usage: layout prev | next | <layout_name> \n\
+Usage: layout prev | next | LAYOUT-NAME\n\
 Layout names are:\n\
    src   : Displays source and command windows.\n\
    asm   : Displays disassembly and command windows.\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.1.0.20180703/gdb/tui/tui-stack.c ./gdb/tui/tui-stack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tui/tui-stack.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tui/tui-stack.c	2018-07-10 02:06:13.000000000 +0000
@@ -72,7 +72,7 @@ tui_make_status_line (struct tui_locator
   int pid_width;
   int line_width;
 
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     pid_name = "No process";
   else
     pid_name = target_pid_to_str (inferior_ptid);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tui/tui-win.c ./gdb/tui/tui-win.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/tui/tui-win.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/tui/tui-win.c	2018-07-10 02:06:13.000000000 +0000
@@ -78,9 +78,8 @@ static void parse_scrolling_args (const 
 /***************************************
 ** DEFINITIONS
 ***************************************/
-#define WIN_HEIGHT_USAGE    "Usage: winheight <win_name> [+ | -] <#lines>\n"
-#define XDBWIN_HEIGHT_USAGE "Usage: w <#lines>\n"
-#define FOCUS_USAGE         "Usage: focus {<win> | next | prev}\n"
+#define WIN_HEIGHT_USAGE    "Usage: winheight WINDOW-NAME> [+ | -] NUM-LINES>\n"
+#define FOCUS_USAGE         "Usage: focus [WINDOW-NAME | next | prev]\n"
 
 /***************************************
 ** PUBLIC FUNCTIONS
@@ -456,11 +455,11 @@ _initialize_tui_win (void)
            _("Refresh the terminal display.\n"));
   add_com ("tabset", class_tui, tui_set_tab_width_command, _("\
 Set the width (in characters) of tab stops.\n\
-Usage: tabset <n>\n"));
+Usage: tabset N\n"));
   cmd = add_com ("winheight", class_tui, tui_set_win_height_command, _("\
-Set or modify the height of a specified window.\n\
-Usage: winheight <win_name> [+ | -] <#lines>\n\
-Window names are:\n\
+Set or modify the height of a specified window.\n"
+WIN_HEIGHT_USAGE
+"Window names are:\n\
 src  : the source window\n\
 cmd  : the command window\n\
 asm  : the disassembly window\n\
@@ -470,9 +469,9 @@ regs : the register display\n"));
   add_info ("win", tui_all_windows_info,
 	    _("List of all displayed windows.\n"));
   cmd = add_com ("focus", class_tui, tui_set_focus_command, _("\
-Set focus to named window or next/prev window.\n\
-Usage: focus {<win> | next | prev}\n\
-Valid Window names are:\n\
+Set focus to named window or next/prev window.\n"
+FOCUS_USAGE
+"Valid Window names are:\n\
 src  : the source window\n\
 asm  : the disassembly window\n\
 regs : the register display\n\
@@ -481,16 +480,16 @@ cmd  : the command window\n"));
   set_cmd_completer (cmd, focus_completer);
   add_com ("+", class_tui, tui_scroll_forward_command, _("\
 Scroll window forward.\n\
-Usage: + [win] [n]\n"));
+Usage: + [WIN] [N]\n"));
   add_com ("-", class_tui, tui_scroll_backward_command, _("\
 Scroll window backward.\n\
-Usage: - [win] [n]\n"));
+Usage: - [WIN] [N]\n"));
   add_com ("<", class_tui, tui_scroll_left_command, _("\
 Scroll window text to the left.\n\
-Usage: < [win] [n]\n"));
+Usage: < [WIN] [N]\n"));
   add_com (">", class_tui, tui_scroll_right_command, _("\
 Scroll window text to the right.\n\
-Usage: > [win] [n]\n"));
+Usage: > [WIN] [N]\n"));
 
   /* Define the tui control variables.  */
   add_setshow_enum_cmd ("border-kind", no_class, tui_border_kind_enums,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/typeprint.c ./gdb/typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/typeprint.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/typeprint.c	2018-07-10 02:06:13.000000000 +0000
@@ -65,18 +65,129 @@ static struct type_print_options default
 
 
 
-/* A hash table holding typedef_field objects.  This is more
-   complicated than an ordinary hash because it must also track the
-   lifetime of some -- but not all -- of the contained objects.  */
-
-struct typedef_hash_table
-{
-  /* The actual hash table.  */
-  htab_t table;
-
-  /* Storage for typedef_field objects that must be synthesized.  */
-  struct obstack storage;
-};
+/* See typeprint.h.  */
+
+const int print_offset_data::indentation = 23;
+
+
+/* See typeprint.h.  */
+
+void
+print_offset_data::maybe_print_hole (struct ui_file *stream,
+				     unsigned int bitpos,
+				     const char *for_what)
+{
+  /* We check for END_BITPOS > 0 because there is a specific
+     scenario when END_BITPOS can be zero and BITPOS can be >
+     0: when we are dealing with a struct/class with a virtual method.
+     Because of the vtable, the first field of the struct/class will
+     have an offset of sizeof (void *) (the size of the vtable).  If
+     we do not check for END_BITPOS > 0 here, GDB will report
+     a hole before the first field, which is not accurate.  */
+  if (end_bitpos > 0 && end_bitpos < bitpos)
+    {
+      /* If END_BITPOS is smaller than the current type's
+	 bitpos, it means there's a hole in the struct, so we report
+	 it here.  */
+      unsigned int hole = bitpos - end_bitpos;
+      unsigned int hole_byte = hole / TARGET_CHAR_BIT;
+      unsigned int hole_bit = hole % TARGET_CHAR_BIT;
+
+      if (hole_bit > 0)
+	fprintf_filtered (stream, "/* XXX %2u-bit %s  */\n", hole_bit,
+			  for_what);
+
+      if (hole_byte > 0)
+	fprintf_filtered (stream, "/* XXX %2u-byte %s */\n", hole_byte,
+			  for_what);
+    }
+}
+
+/* See typeprint.h.  */
+
+void
+print_offset_data::update (struct type *type, unsigned int field_idx,
+			   struct ui_file *stream)
+{
+  if (field_is_static (&TYPE_FIELD (type, field_idx)))
+    {
+      print_spaces_filtered (indentation, stream);
+      return;
+    }
+
+  struct type *ftype = check_typedef (TYPE_FIELD_TYPE (type, field_idx));
+  if (TYPE_CODE (type) == TYPE_CODE_UNION)
+    {
+      /* Since union fields don't have the concept of offsets, we just
+	 print their sizes.  */
+      fprintf_filtered (stream, "/*              %4u */", TYPE_LENGTH (ftype));
+      return;
+    }
+
+  unsigned int bitpos = TYPE_FIELD_BITPOS (type, field_idx);
+  unsigned int fieldsize_byte = TYPE_LENGTH (ftype);
+  unsigned int fieldsize_bit = fieldsize_byte * TARGET_CHAR_BIT;
+
+  maybe_print_hole (stream, bitpos, "hole");
+
+  if (TYPE_FIELD_PACKED (type, field_idx))
+    {
+      /* We're dealing with a bitfield.  Print how many bits are left
+	 to be used.  */
+      unsigned int bitsize = TYPE_FIELD_BITSIZE (type, field_idx);
+      /* The bitpos relative to the beginning of our container
+	 field.  */
+      unsigned int relative_bitpos;
+
+      /* The following was copied from
+	 value.c:value_primitive_field.  */
+      if ((bitpos % fieldsize_bit) + bitsize <= fieldsize_bit)
+	relative_bitpos = bitpos % fieldsize_bit;
+      else
+	relative_bitpos = bitpos % TARGET_CHAR_BIT;
+
+      /* This is the exact offset (in bits) of this bitfield.  */
+      unsigned int bit_offset
+	= (bitpos - relative_bitpos) + offset_bitpos;
+
+      /* The position of the field, relative to the beginning of the
+	 struct, and how many bits are left to be used in this
+	 container.  */
+      fprintf_filtered (stream, "/* %4u:%2u", bit_offset / TARGET_CHAR_BIT,
+			fieldsize_bit - (relative_bitpos + bitsize));
+      fieldsize_bit = bitsize;
+    }
+  else
+    {
+      /* The position of the field, relative to the beginning of the
+	 struct.  */
+      fprintf_filtered (stream, "/* %4u",
+			(bitpos + offset_bitpos) / TARGET_CHAR_BIT);
+
+      fprintf_filtered (stream, "   ");
+    }
+
+  fprintf_filtered (stream, "   |  %4u */", fieldsize_byte);
+
+  end_bitpos = bitpos + fieldsize_bit;
+}
+
+/* See typeprint.h.  */
+
+void
+print_offset_data::finish (struct type *type, int level,
+			   struct ui_file *stream)
+{
+  unsigned int bitpos = TYPE_LENGTH (type) * TARGET_CHAR_BIT;
+  maybe_print_hole (stream, bitpos, "padding");
+
+  fputs_filtered ("\n", stream);
+  print_spaces_filtered (level + 4 + print_offset_data::indentation, stream);
+  fprintf_filtered (stream, "/* total size (bytes): %4u */\n",
+		    TYPE_LENGTH (type));
+}
+
+
 
 /* A hash function for a typedef_field.  */
 
@@ -100,23 +211,19 @@ eq_typedef_field (const void *a, const v
   return types_equal (tfa->type, tfb->type);
 }
 
-/* Add typedefs from T to the hash table TABLE.  */
+/* See typeprint.h.  */
 
 void
-recursively_update_typedef_hash (struct typedef_hash_table *table,
-				 struct type *t)
+typedef_hash_table::recursively_update (struct type *t)
 {
   int i;
 
-  if (table == NULL)
-    return;
-
   for (i = 0; i < TYPE_TYPEDEF_FIELD_COUNT (t); ++i)
     {
       struct decl_field *tdef = &TYPE_TYPEDEF_FIELD (t, i);
       void **slot;
 
-      slot = htab_find_slot (table->table, tdef, INSERT);
+      slot = htab_find_slot (m_table, tdef, INSERT);
       /* Only add a given typedef name once.  Really this shouldn't
 	 happen; but it is safe enough to do the updates breadth-first
 	 and thus use the most specific typedef.  */
@@ -126,19 +233,16 @@ recursively_update_typedef_hash (struct 
 
   /* Recurse into superclasses.  */
   for (i = 0; i < TYPE_N_BASECLASSES (t); ++i)
-    recursively_update_typedef_hash (table, TYPE_BASECLASS (t, i));
+    recursively_update (TYPE_BASECLASS (t, i));
 }
 
-/* Add template parameters from T to the typedef hash TABLE.  */
+/* See typeprint.h.  */
 
 void
-add_template_parameters (struct typedef_hash_table *table, struct type *t)
+typedef_hash_table::add_template_parameters (struct type *t)
 {
   int i;
 
-  if (table == NULL)
-    return;
-
   for (i = 0; i < TYPE_N_TEMPLATE_ARGUMENTS (t); ++i)
     {
       struct decl_field *tf;
@@ -148,61 +252,32 @@ add_template_parameters (struct typedef_
       if (SYMBOL_CLASS (TYPE_TEMPLATE_ARGUMENT (t, i)) != LOC_TYPEDEF)
 	continue;
 
-      tf = XOBNEW (&table->storage, struct decl_field);
+      tf = XOBNEW (&m_storage, struct decl_field);
       tf->name = SYMBOL_LINKAGE_NAME (TYPE_TEMPLATE_ARGUMENT (t, i));
       tf->type = SYMBOL_TYPE (TYPE_TEMPLATE_ARGUMENT (t, i));
 
-      slot = htab_find_slot (table->table, tf, INSERT);
+      slot = htab_find_slot (m_table, tf, INSERT);
       if (*slot == NULL)
 	*slot = tf;
     }
 }
 
-/* Create a new typedef-lookup hash table.  */
+/* See typeprint.h.  */
 
-struct typedef_hash_table *
-create_typedef_hash (void)
+typedef_hash_table::typedef_hash_table ()
 {
-  struct typedef_hash_table *result;
-
-  result = XNEW (struct typedef_hash_table);
-  result->table = htab_create_alloc (10, hash_typedef_field, eq_typedef_field,
-				     NULL, xcalloc, xfree);
-  obstack_init (&result->storage);
-
-  return result;
+  m_table = htab_create_alloc (10, hash_typedef_field, eq_typedef_field,
+			       NULL, xcalloc, xfree);
 }
 
 /* Free a typedef field table.  */
 
-void
-free_typedef_hash (struct typedef_hash_table *table)
-{
-  if (table != NULL)
-    {
-      htab_delete (table->table);
-      obstack_free (&table->storage, NULL);
-      xfree (table);
-    }
-}
-
-/* A cleanup for freeing a typedef_hash_table.  */
-
-static void
-do_free_typedef_hash (void *arg)
-{
-  free_typedef_hash ((struct typedef_hash_table *) arg);
-}
-
-/* Return a new cleanup that frees TABLE.  */
-
-struct cleanup *
-make_cleanup_free_typedef_hash (struct typedef_hash_table *table)
+typedef_hash_table::~typedef_hash_table ()
 {
-  return make_cleanup (do_free_typedef_hash, table);
+  htab_delete (m_table);
 }
 
-/* Helper function for copy_typedef_hash.  */
+/* Helper function for typedef_hash_table::copy.  */
 
 static int
 copy_typedef_hash_element (void **slot, void *nt)
@@ -217,42 +292,14 @@ copy_typedef_hash_element (void **slot, 
   return 1;
 }
 
-/* Copy a typedef hash.  */
-
-struct typedef_hash_table *
-copy_typedef_hash (struct typedef_hash_table *table)
-{
-  struct typedef_hash_table *result;
-
-  if (table == NULL)
-    return NULL;
-
-  result = create_typedef_hash ();
-  htab_traverse_noresize (table->table, copy_typedef_hash_element,
-			  result->table);
-  return result;
-}
-
-/* A cleanup to free the global typedef hash.  */
-
-static void
-do_free_global_table (void *arg)
-{
-  struct type_print_options *flags = (struct type_print_options *) arg;
-
-  free_typedef_hash (flags->global_typedefs);
-  free_ext_lang_type_printers (flags->global_printers);
-}
-
-/* Create the global typedef hash.  */
+/* See typeprint.h.  */
 
-static struct cleanup *
-create_global_typedef_table (struct type_print_options *flags)
+typedef_hash_table::typedef_hash_table (const typedef_hash_table &table)
 {
-  gdb_assert (flags->global_typedefs == NULL && flags->global_printers == NULL);
-  flags->global_typedefs = create_typedef_hash ();
-  flags->global_printers = start_ext_lang_type_printers ();
-  return make_cleanup (do_free_global_table, flags);
+  m_table = htab_create_alloc (10, hash_typedef_field, eq_typedef_field,
+			       NULL, xcalloc, xfree);
+  htab_traverse_noresize (table.m_table, copy_typedef_hash_element,
+			  m_table);
 }
 
 /* Look up the type T in the global typedef hash.  If it is found,
@@ -260,9 +307,9 @@ create_global_typedef_table (struct type
    type-printers, if any, given by start_script_type_printers and return the
    result.  A NULL return means that the name was not found.  */
 
-static const char *
-find_global_typedef (const struct type_print_options *flags,
-		     struct type *t)
+const char *
+typedef_hash_table::find_global_typedef (const struct type_print_options *flags,
+					 struct type *t)
 {
   char *applied;
   void **slot;
@@ -274,7 +321,7 @@ find_global_typedef (const struct type_p
   tf.name = NULL;
   tf.type = t;
 
-  slot = htab_find_slot (flags->global_typedefs->table, &tf, INSERT);
+  slot = htab_find_slot (flags->global_typedefs->m_table, &tf, INSERT);
   if (*slot != NULL)
     {
       new_tf = (struct decl_field *) *slot;
@@ -283,7 +330,7 @@ find_global_typedef (const struct type_p
 
   /* Put an entry into the hash table now, in case
      apply_ext_lang_type_printers recurses.  */
-  new_tf = XOBNEW (&flags->global_typedefs->storage, struct decl_field);
+  new_tf = XOBNEW (&flags->global_typedefs->m_storage, struct decl_field);
   new_tf->name = NULL;
   new_tf->type = t;
 
@@ -294,7 +341,7 @@ find_global_typedef (const struct type_p
   if (applied != NULL)
     {
       new_tf->name
-	= (const char *) obstack_copy0 (&flags->global_typedefs->storage,
+	= (const char *) obstack_copy0 (&flags->global_typedefs->m_storage,
 					applied, strlen (applied));
       xfree (applied);
     }
@@ -302,13 +349,11 @@ find_global_typedef (const struct type_p
   return new_tf->name;
 }
 
-/* Look up the type T in the typedef hash table in with FLAGS.  If T
-   is in the table, return its short (class-relative) typedef name.
-   Otherwise return NULL.  If the table is NULL, this always returns
-   NULL.  */
+/* See typeprint.h.  */
 
 const char *
-find_typedef_in_hash (const struct type_print_options *flags, struct type *t)
+typedef_hash_table::find_typedef (const struct type_print_options *flags,
+				  struct type *t)
 {
   if (flags->local_typedefs != NULL)
     {
@@ -316,7 +361,7 @@ find_typedef_in_hash (const struct type_
 
       tf.name = NULL;
       tf.type = t;
-      found = (struct decl_field *) htab_find (flags->local_typedefs->table,
+      found = (struct decl_field *) htab_find (flags->local_typedefs->m_table,
 					       &tf);
 
       if (found != NULL)
@@ -406,7 +451,6 @@ static void
 whatis_exp (const char *exp, int show)
 {
   struct value *val;
-  struct cleanup *old_chain;
   struct type *real_type = NULL;
   struct type *type;
   int full = 0;
@@ -415,8 +459,6 @@ whatis_exp (const char *exp, int show)
   struct value_print_options opts;
   struct type_print_options flags = default_ptype_flags;
 
-  old_chain = make_cleanup (null_cleanup, NULL);
-
   if (exp)
     {
       if (*exp == '/')
@@ -448,7 +490,8 @@ whatis_exp (const char *exp, int show)
 		       feature.  */
 		    if (show > 0
 			&& (current_language->la_language == language_c
-			    || current_language->la_language == language_cplus))
+			    || current_language->la_language == language_cplus
+			    || current_language->la_language == language_rust))
 		      {
 			flags.print_offsets = 1;
 			flags.print_typedefs = 0;
@@ -526,8 +569,16 @@ whatis_exp (const char *exp, int show)
 
   printf_filtered ("type = ");
 
+  std::unique_ptr<typedef_hash_table> table_holder;
+  std::unique_ptr<ext_lang_type_printers> printer_holder;
   if (!flags.raw)
-    create_global_typedef_table (&flags);
+    {
+      table_holder.reset (new typedef_hash_table);
+      flags.global_typedefs = table_holder.get ();
+
+      printer_holder.reset (new ext_lang_type_printers);
+      flags.global_printers = printer_holder.get ();
+    }
 
   if (real_type)
     {
@@ -540,8 +591,6 @@ whatis_exp (const char *exp, int show)
 
   LA_PRINT_TYPE (type, "", gdb_stdout, show, 0, &flags);
   printf_filtered ("\n");
-
-  do_cleanups (old_chain);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/typeprint.h ./gdb/typeprint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/typeprint.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/typeprint.h	2018-07-10 02:06:13.000000000 +0000
@@ -19,6 +19,8 @@
 #ifndef TYPEPRINT_H
 #define TYPEPRINT_H
 
+#include "gdb_obstack.h"
+
 enum language;
 struct ui_file;
 struct typedef_hash_table;
@@ -36,6 +38,39 @@ struct print_offset_data
      field (where we expect the current field to be if there is no
      hole).  */
   unsigned int end_bitpos = 0;
+
+  /* Print information about field at index FIELD_IDX of the struct type
+     TYPE and update this object.
+
+     If the field is static, it simply prints the correct number of
+     spaces.
+
+     The output is strongly based on pahole(1).  */
+  void update (struct type *type, unsigned int field_idx,
+	       struct ui_file *stream);
+
+  /* Call when all fields have been printed.  This will print
+     information about any padding that may exist.  LEVEL is the
+     desired indentation level.  */
+  void finish (struct type *type, int level, struct ui_file *stream);
+
+  /* When printing the offsets of a struct and its fields (i.e.,
+     'ptype /o'; type_print_options::print_offsets), we use this many
+     characters when printing the offset information at the beginning
+     of the line.  This is needed in order to generate the correct
+     amount of whitespaces when no offset info should be printed for a
+     certain field.  */
+  static const int indentation;
+
+private:
+
+  /* Helper function for ptype/o implementation that prints
+     information about a hole, if necessary.  STREAM is where to
+     print.  BITPOS is the bitpos of the current field.  FOR_WHAT is a
+     string describing the purpose of the hole.  */
+
+  void maybe_print_hole (struct ui_file *stream, unsigned int bitpos,
+			 const char *for_what);
 };
 
 struct type_print_options
@@ -57,11 +92,11 @@ struct type_print_options
 
   /* If not NULL, a local typedef hash table used when printing a
      type.  */
-  struct typedef_hash_table *local_typedefs;
+  typedef_hash_table *local_typedefs;
 
   /* If not NULL, a global typedef hash table used when printing a
      type.  */
-  struct typedef_hash_table *global_typedefs;
+  typedef_hash_table *global_typedefs;
 
   /* The list of type printers associated with the global typedef
      table.  This is intentionally opaque.  */
@@ -70,26 +105,53 @@ struct type_print_options
 
 extern const struct type_print_options type_print_raw_options;
 
-void recursively_update_typedef_hash (struct typedef_hash_table *,
-				      struct type *);
+/* A hash table holding typedef_field objects.  This is more
+   complicated than an ordinary hash because it must also track the
+   lifetime of some -- but not all -- of the contained objects.  */
+
+class typedef_hash_table
+{
+public:
 
-void add_template_parameters (struct typedef_hash_table *, struct type *);
+  /* Create a new typedef-lookup hash table.  */
+  typedef_hash_table ();
 
-struct typedef_hash_table *create_typedef_hash (void);
+  ~typedef_hash_table ();
 
-void free_typedef_hash (struct typedef_hash_table *);
+  /* Copy a typedef hash.  */
+  typedef_hash_table (const typedef_hash_table &);
 
-struct cleanup *make_cleanup_free_typedef_hash (struct typedef_hash_table *);
+  typedef_hash_table &operator= (const typedef_hash_table &) = delete;
 
-struct typedef_hash_table *copy_typedef_hash (struct typedef_hash_table *);
+  /* Add typedefs from T to the hash table TABLE.  */
+  void recursively_update (struct type *);
 
-const char *find_typedef_in_hash (const struct type_print_options *,
-				  struct type *);
+  /* Add template parameters from T to the typedef hash TABLE.  */
+  void add_template_parameters (struct type *t);
 
-void print_type_scalar (struct type * type, LONGEST, struct ui_file *);
+  /* Look up the type T in the typedef hash tables contained in FLAGS.
+     The local table is searched first, then the global table (either
+     table can be NULL, in which case it is skipped).  If T is in a
+     table, return its short (class-relative) typedef name.  Otherwise
+     return NULL.  */
+  static const char *find_typedef (const struct type_print_options *flags,
+				   struct type *t);
 
-void c_type_print_varspec_suffix (struct type *, struct ui_file *, int,
-				  int, int, const struct type_print_options *);
+private:
+
+  static const char *find_global_typedef (const struct type_print_options *flags,
+					  struct type *t);
+
+
+  /* The actual hash table.  */
+  htab_t m_table;
+
+  /* Storage for typedef_field objects that must be synthesized.  */
+  auto_obstack m_storage;
+};
+
+
+void print_type_scalar (struct type * type, LONGEST, struct ui_file *);
 
 void c_type_print_args (struct type *, struct ui_file *, int, enum language,
 			const struct type_print_options *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ui-file.c ./gdb/ui-file.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ui-file.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ui-file.c	2018-07-10 02:06:13.000000000 +0000
@@ -52,7 +52,7 @@ ui_file::putstr (const char *str, int qu
 void
 ui_file::putstrn (const char *str, int n, int quoter)
 {
-  fputstrn_unfiltered (str, n, quoter, this);
+  fputstrn_unfiltered (str, n, quoter, fputc_unfiltered, this);
 }
 
 int
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ui-out.c ./gdb/ui-out.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ui-out.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ui-out.c	2018-07-10 02:06:13.000000000 +0000
@@ -438,50 +438,6 @@ ui_out::end (ui_out_type type)
   do_end (type);
 }
 
-struct ui_out_end_cleanup_data
-{
-  struct ui_out *uiout;
-  enum ui_out_type type;
-};
-
-static void
-do_cleanup_end (void *data)
-{
-  struct ui_out_end_cleanup_data *end_cleanup_data
-    = (struct ui_out_end_cleanup_data *) data;
-
-  end_cleanup_data->uiout->end (end_cleanup_data->type);
-  xfree (end_cleanup_data);
-}
-
-static struct cleanup *
-make_cleanup_ui_out_end (struct ui_out *uiout,
-			 enum ui_out_type type)
-{
-  struct ui_out_end_cleanup_data *end_cleanup_data;
-
-  end_cleanup_data = XNEW (struct ui_out_end_cleanup_data);
-  end_cleanup_data->uiout = uiout;
-  end_cleanup_data->type = type;
-  return make_cleanup (do_cleanup_end, end_cleanup_data);
-}
-
-struct cleanup *
-make_cleanup_ui_out_tuple_begin_end (struct ui_out *uiout,
-				     const char *id)
-{
-  uiout->begin (ui_out_type_tuple, id);
-  return make_cleanup_ui_out_end (uiout, ui_out_type_tuple);
-}
-
-struct cleanup *
-make_cleanup_ui_out_list_begin_end (struct ui_out *uiout,
-				    const char *id)
-{
-  uiout->begin (ui_out_type_list, id);
-  return make_cleanup_ui_out_end (uiout, ui_out_type_list);
-}
-
 void
 ui_out::field_int (const char *fldname, int value)
 {
@@ -552,6 +508,12 @@ ui_out::field_string (const char *fldnam
   do_field_string (fldno, width, align, fldname, string);
 }
 
+void
+ui_out::field_string (const char *fldname, const std::string &string)
+{
+  field_string (fldname, string.c_str ());
+}
+
 /* VARARGS */
 void
 ui_out::field_fmt (const char *fldname, const char *format, ...)
@@ -619,7 +581,7 @@ ui_out::test_flags (ui_out_flags mask)
 }
 
 bool
-ui_out::is_mi_like_p ()
+ui_out::is_mi_like_p () const
 {
   return do_is_mi_like_p ();
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ui-out.h ./gdb/ui-out.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/ui-out.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/ui-out.h	2018-07-10 02:06:13.000000000 +0000
@@ -66,14 +66,6 @@ enum ui_out_type
     ui_out_type_list
   };
 
-/* Compatibility wrappers.  */
-
-extern struct cleanup *make_cleanup_ui_out_list_begin_end (struct ui_out *uiout,
-							   const char *id);
-
-extern struct cleanup *make_cleanup_ui_out_tuple_begin_end (struct ui_out *uiout,
-							    const char *id);
-
 class ui_out
 {
  public:
@@ -104,6 +96,7 @@ class ui_out
   void field_core_addr (const char *fldname, struct gdbarch *gdbarch,
 			CORE_ADDR address);
   void field_string (const char *fldname, const char *string);
+  void field_string (const char *fldname, const std::string &string);
   void field_stream (const char *fldname, string_file &stream);
   void field_skip (const char *fldname);
   void field_fmt (const char *fldname, const char *format, ...)
@@ -126,7 +119,7 @@ class ui_out
      a hack to encapsulate that test.  Once GDB manages to separate the
      CLI/MI from the core of GDB the problem should just go away ....  */
 
-  bool is_mi_like_p ();
+  bool is_mi_like_p () const;
 
   bool query_table_field (int colno, int *width, int *alignment,
 			  const char **col_name);
@@ -164,7 +157,7 @@ class ui_out
   /* Set as not MI-like by default.  It is overridden in subclasses if
      necessary.  */
 
-  virtual bool do_is_mi_like_p ()
+  virtual bool do_is_mi_like_p () const
   { return false; }
 
  private:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/capacity/1.cc ./gdb/unittests/basic_string_view/capacity/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/capacity/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/capacity/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,172 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// string_view size, length
+
+namespace capacity_1 {
+
+template<typename T>
+  struct A { };
+
+template<typename T>
+  bool
+  operator==(const A<T>&, const A<T>&) { return true; }
+
+template<typename T>
+  bool
+  operator<(const A<T>&, const A<T>&) { return true; }
+
+struct B { };
+
+} // namespace capacity_1
+} // namespace string_view
+} // namespace selftests
+
+// char_traits specialization
+namespace std
+{
+  template<>
+    struct char_traits<selftests::string_view::capacity_1::A<
+	selftests::string_view::capacity_1::B> >
+    {
+      typedef selftests::string_view::capacity_1::A<
+	  selftests::string_view::capacity_1::B> char_type;
+      // Unsigned as wint_t in unsigned.
+      typedef unsigned long  	int_type;
+      typedef streampos 	pos_type;
+      typedef streamoff 	off_type;
+      typedef mbstate_t 	state_type;
+      
+      static void 
+      assign(char_type& __c1, const char_type& __c2)
+      { __c1 = __c2; }
+
+      static bool 
+      eq(const char_type& __c1, const char_type& __c2)
+      { return __c1 == __c2; }
+
+      static bool 
+      lt(const char_type& __c1, const char_type& __c2)
+      { return __c1 < __c2; }
+
+      static int 
+      compare(const char_type* __s1, const char_type* __s2, size_t __n)
+      { 
+	for (size_t __i = 0; __i < __n; ++__i)
+	  if (!eq(__s1[__i], __s2[__i]))
+	    return lt(__s1[__i], __s2[__i]) ? -1 : 1;
+	return 0; 
+      }
+
+      static size_t
+      length(const char_type* __s)
+      { 
+	const char_type* __p = __s; 
+	while (__p) 
+	  ++__p; 
+	return (__p - __s); 
+      }
+
+      static const char_type* 
+      find(const char_type* __s, size_t __n, const char_type& __a)
+      { 
+	for (const char_type* __p = __s; size_t(__p - __s) < __n; ++__p)
+	  if (*__p == __a) return __p;
+	return 0;
+      }
+
+      static char_type* 
+      move(char_type* __s1, const char_type* __s2, size_t __n)
+      { return (char_type*) memmove(__s1, __s2, __n * sizeof(char_type)); }
+
+      static char_type* 
+      copy(char_type* __s1, const char_type* __s2, size_t __n)
+      { return (char_type*) memcpy(__s1, __s2, __n * sizeof(char_type)); }
+
+      static char_type* 
+      assign(char_type* __s, size_t __n, char_type __a)
+      { 
+	for (char_type* __p = __s; __p < __s + __n; ++__p) 
+	  assign(*__p, __a);
+        return __s; 
+      }
+
+      static char_type 
+      to_char_type(const int_type&)
+      { return char_type(); }
+
+      static int_type 
+      to_int_type(const char_type&) { return int_type(); }
+
+      static bool 
+      eq_int_type(const int_type& __c1, const int_type& __c2)
+      { return __c1 == __c2; }
+
+      static int_type 
+      eof() { return static_cast<int_type>(-1); }
+
+      static int_type 
+      not_eof(const int_type& __c)
+      { return eq_int_type(__c, eof()) ? int_type(0) : __c; }
+    };
+} // namespace std
+
+namespace selftests {
+namespace string_view {
+namespace capacity_1 {
+
+void
+test01()
+{
+  gdb::basic_string_view<A<B>> str02;
+  typedef gdb::basic_string_view< A<B> >::size_type size_type_o;
+  size_type_o sz03;
+  size_type_o sz04;
+
+  // non-POD types: size, length, max_size, empty()
+  bool b01 = str02.empty();  
+  VERIFY( b01 == true );
+  sz03 = str02.size();
+  sz04 = str02.length();
+  VERIFY( sz03 == sz04 );
+  str02.data();
+  sz03 = str02.size();
+  sz04 = str02.length();
+  VERIFY( sz03 == sz04 );
+
+  sz03 = str02.max_size();  
+  VERIFY( sz03 >= sz04 );
+
+  sz03 = str02.size();
+  str02 = {};
+  b01 = str02.empty(); 
+  VERIFY( b01 == true );
+  sz04 = str02.size();  
+  VERIFY( sz03 >= sz04 );
+}
+
+int
+main()
+{
+  test01();
+
+  return 0;
+}
+
+} // namespace capacity_1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/capacity/empty_neg.cc ./gdb/unittests/basic_string_view/capacity/empty_neg.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/capacity/empty_neg.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/capacity/empty_neg.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,28 @@
+// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
+
+#include <string_view>
+
+void
+test01()
+{
+  std::string_view s;
+  s.empty();  // { dg-warning "ignoring return value" }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/cons/char/1.cc ./gdb/unittests/basic_string_view/cons/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/cons/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/cons/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,67 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view constructors.
+
+namespace cons_1 {
+
+void
+test01()
+{
+  typedef gdb::string_view::size_type csize_type;
+
+  // basic_string_view()
+  const gdb::string_view str00{};
+  VERIFY( str00.length() == 0 );
+  VERIFY( str00.data() == nullptr );
+
+  // basic_string_view(const char*)
+  const char str_lit01[] = "rodeo beach, marin";
+  const gdb::string_view str01{str_lit01};
+  VERIFY( str01.length() == 18 );
+  VERIFY( str01.data() == str_lit01 );
+  const gdb::string_view str02{"baker beach, san francisco"};
+  VERIFY( str02.length() == 26 );
+
+  // basic_string_view(const string_view&)
+  gdb::string_view str04{str01};
+  VERIFY( str04.length() == str01.length() );
+  VERIFY( str04.data() == str01.data() );
+
+  // basic_string_view(const char* s)
+  csize_type len_lit01 = strlen(str_lit01);
+  gdb::string_view str05{str_lit01, len_lit01};
+  VERIFY( str05.length() == len_lit01 );
+  VERIFY( str05.data() == str_lit01 );
+
+  // basic_string_view(basic_string& s)
+  std::string istr07(10, 'z');
+  gdb::string_view str07{istr07};
+  VERIFY( str07.length() == 10 );
+}
+
+int
+main()
+{ 
+  test01();
+
+  return 0;
+}
+
+} // namespace cons_1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/cons/char/2.cc ./gdb/unittests/basic_string_view/cons/char/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/cons/char/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/cons/char/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,46 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view constructors.
+
+namespace cons_2 {
+
+void
+test03()
+{
+  const char* with_nulls = "This contains \0 a zero byte.";
+
+  // These are tests to see how basic_string_view handles data with NUL
+  // bytes.  Obviously basic_string_view(char*) will halt at the first one, but
+  // nothing else should.
+  gdb::string_view s1(with_nulls, 28);
+  VERIFY( s1.size() == 28 );
+  gdb::string_view s2(s1);
+  VERIFY( s2.size() == 28 );
+}
+
+int
+main()
+{ 
+  test03();
+
+  return 0;
+}
+
+} // namespace cons_2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/cons/char/3.cc ./gdb/unittests/basic_string_view/cons/char/3.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/cons/char/3.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/cons/char/3.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,39 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view constructors.
+
+namespace cons_3 {
+
+void
+test05()
+{
+  char const * s = 0;
+  gdb::string_view zero_length_built_with_NULL(s, 0);
+}
+
+int
+main()
+{ 
+  test05();
+
+  return 0;
+}
+
+} // namespace cons_3
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/cons/wchar_t/1.cc ./gdb/unittests/basic_string_view/cons/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/cons/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/cons/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,68 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view constructors.
+
+#include <string_view>
+#include <string>
+#include <cwchar>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  typedef std::wstring_view::size_type csize_type;
+
+  // basic_string_view()
+  const std::wstring_view str00{};
+  VERIFY( str00.length() == 0 );
+  VERIFY( str00.data() == nullptr );
+
+  // basic_string_view(const char*)
+  const wchar_t str_lit01[] = L"rodeo beach, marin";
+  const std::wstring_view str01{str_lit01};
+  VERIFY( str01.length() == 18 );
+  VERIFY( str01.data() == str_lit01 );
+  const std::wstring_view str02{L"baker beach, san francisco"};
+  VERIFY( str02.length() == 26 );
+
+  // basic_string_view(const string_view&)
+  std::wstring_view str04{str01};
+  VERIFY( str04.length() == str01.length() );
+  VERIFY( str04.data() == str01.data() );
+
+  // basic_string_view(const char* s)
+  csize_type len_lit01 = wcslen(str_lit01);
+  std::wstring_view str05{str_lit01, len_lit01};
+  VERIFY( str05.length() == len_lit01 );
+  VERIFY( str05.data() == str_lit01 );
+
+  // basic_string_view(basic_string& s)
+  std::wstring istr07(10, L'z');
+  std::wstring_view str07{istr07};
+  VERIFY( str07.length() == 10 );
+}
+
+int
+main()
+{ 
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/cons/wchar_t/2.cc ./gdb/unittests/basic_string_view/cons/wchar_t/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/cons/wchar_t/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/cons/wchar_t/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,45 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view constructors.
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+void
+test03()
+{
+  const wchar_t* with_nulls = L"This contains \0 a zero byte.";
+
+  // These are tests to see how basic_string_view handles data with NUL
+  // bytes.  Obviously basic_string_view(char*) will halt at the first one, but
+  // nothing else should.
+  std::wstring_view s1 (with_nulls, 28);
+  VERIFY( s1.size() == 28 );
+  std::wstring_view s2 (s1);
+  VERIFY( s2.size() == 28 );
+}
+
+int
+main()
+{ 
+  test03();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/cons/wchar_t/3.cc ./gdb/unittests/basic_string_view/cons/wchar_t/3.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/cons/wchar_t/3.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/cons/wchar_t/3.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,38 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view constructors.
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+void
+test05()
+{
+  wchar_t const * s = 0;
+  std::wstring_view zero_length_built_with_NULL(s, 0);
+}
+
+int
+main()
+{ 
+  test05();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/element_access/char/1.cc ./gdb/unittests/basic_string_view/element_access/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/element_access/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,70 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string element access
+
+namespace element_access_1 {
+
+void
+test01()
+{
+  typedef gdb::string_view::size_type csize_type;
+  typedef gdb::string_view::const_reference cref;
+  typedef gdb::string_view::reference ref;
+  csize_type csz01, csz02;
+
+  const gdb::string_view str01("tamarindo, costa rica");
+  gdb::string_view str02("41st street beach, capitola, california");
+  gdb::string_view str03;
+
+  // const_reference operator[] (size_type pos) const;
+  csz01 = str01.size();
+  cref cref1 = str01[csz01 - 1];
+  VERIFY( cref1 == 'a' );
+  // Undefined behavior at size().
+  //cref cref2 = str01[csz01];
+  //VERIFY( cref2 == char() );
+
+  // const_reference at(size_type pos) const;
+  csz01 = str01.size();
+  cref cref3 = str01.at(csz01 - 1);
+  VERIFY( cref3 == 'a' );
+  try
+  {
+    str01.at(csz01);
+    VERIFY( false ); // Should not get here, as exception thrown.
+  }
+  catch (gdb_exception& fail)
+  {
+    VERIFY( true );
+  }
+  catch (...)
+  {
+    VERIFY( false );
+  }
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
+} // namespace element_access_1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/char/2.cc ./gdb/unittests/basic_string_view/element_access/char/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/char/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/element_access/char/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,30 @@
+// { dg-do run { xfail *-*-* } }
+// { dg-options "-std=gnu++17 -O0" }
+// { dg-require-debug-mode "" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+
+int
+main()
+{
+  typedef std::string_view string_view_type;
+  string_view_type s;
+  s[0]; // abort
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/char/empty.cc ./gdb/unittests/basic_string_view/element_access/char/empty.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/char/empty.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/element_access/char/empty.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,39 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 3 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+//
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+//
+
+namespace element_access_empty {
+
+int
+main()
+{
+  {
+    gdb::string_view empty;
+    VERIFY( empty.empty() );
+  }
+
+  {
+    const gdb::string_view empty;
+    VERIFY( empty.empty() );
+  }
+
+  return 0;
+}
+
+} // namespace element_access_empty
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/char/front_back.cc ./gdb/unittests/basic_string_view/element_access/char/front_back.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/char/front_back.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/element_access/char/front_back.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,43 @@
+// { dg-options "-std=gnu++17" }
+// { dg-require-string-conversions "" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+namespace element_access_front_back {
+
+void
+test01()
+{
+  gdb::string_view str("ramifications");
+  const gdb::string_view cstr("melodien");
+
+  VERIFY( str.front() == 'r' );
+  VERIFY( str.back() == 's' );
+  VERIFY( cstr.front() == 'm' );
+  VERIFY( cstr.back() == 'n' );
+}
+
+int
+main()
+{
+  test01();
+
+  return 0;
+}
+
+} // namespace element_access_front_back
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/wchar_t/1.cc ./gdb/unittests/basic_string_view/element_access/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/element_access/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,71 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view element access
+
+#include <string_view>
+#include <stdexcept>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  typedef std::wstring_view::size_type csize_type;
+  typedef std::wstring_view::const_reference cref;
+  typedef std::wstring_view::reference ref;
+  csize_type csz01, csz02;
+
+  const std::wstring_view str01(L"tamarindo, costa rica");
+  std::wstring_view str02(L"41st street beach, capitola, california");
+  std::wstring_view str03;
+
+  // const_reference operator[] (size_type pos) const;
+  csz01 = str01.size();
+  cref cref1 = str01[csz01 - 1];
+  VERIFY( cref1 == L'a' );
+  // Undefined behavior at size().
+  //cref cref2 = str01[csz01];
+  //VERIFY( cref2 == wchar_t() );
+
+  // const_reference at(size_type pos) const;
+  csz01 = str01.size();
+  cref cref3 = str01.at(csz01 - 1);
+  VERIFY( cref3 == L'a' );
+  try
+  {
+    str01.at(csz01);
+    VERIFY( false ); // Should not get here, as exception thrown.
+  }
+  catch (std::out_of_range& fail)
+  {
+    VERIFY( true );
+  }
+  catch (...)
+  {
+    VERIFY( false );
+  }
+}
+
+int
+main()
+{ 
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/element_access/wchar_t/2.cc ./gdb/unittests/basic_string_view/element_access/wchar_t/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/wchar_t/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/element_access/wchar_t/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,32 @@
+// { dg-do run { xfail *-*-* } }
+// { dg-options "-std=gnu++17 -O0" }
+// { dg-require-debug-mode "" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+
+// libstdc++/21674
+// NB: Should work without any inlining or optimizations (ie. -O0).
+int
+main()
+{
+  typedef std::wstring_view string_view_type;
+  string_view_type s;
+  s[0]; // abort
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/wchar_t/empty.cc ./gdb/unittests/basic_string_view/element_access/wchar_t/empty.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/wchar_t/empty.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/element_access/wchar_t/empty.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,38 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+//
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+//
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+int
+main()
+{
+  {
+    std::wstring_view empty;
+    VERIFY( empty.empty() );
+  }
+
+  {
+    const std::wstring_view empty;
+    VERIFY( empty.empty() );
+  }
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/element_access/wchar_t/front_back.cc ./gdb/unittests/basic_string_view/element_access/wchar_t/front_back.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/element_access/wchar_t/front_back.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/element_access/wchar_t/front_back.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,42 @@
+// { dg-options "-std=gnu++17" }
+// { dg-require-string-conversions "" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  std::wstring_view str(L"ramifications");
+  const std::wstring_view cstr(L"melodien");
+
+  VERIFY( str.front() == L'r' );
+  VERIFY( str.back() == L's' );
+  VERIFY( cstr.front() == L'm' );
+  VERIFY( cstr.back() == L'n' );
+}
+
+int
+main()
+{
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/include.cc ./gdb/unittests/basic_string_view/include.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/include.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/include.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,25 @@
+// -*- C++ -*-
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// NB: This issue affected only debug-mode.
+
+// { dg-options "-std=gnu++17 -fno-rtti" }
+// { dg-do compile }
+
+#include <string_view>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/inserters/char/1.cc ./gdb/unittests/basic_string_view/inserters/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/inserters/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/inserters/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,65 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// inserters
+
+// NB: This file is predicated on sstreams, istreams, and ostreams
+// working, not to mention other major details like char_traits, and
+// all of the string_view class.
+
+#include <string_view>
+#include <stdexcept>
+#include <sstream>
+#include <fstream>
+#include <iostream>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  typedef std::string_view::size_type csize_type;
+  typedef std::string_view::const_reference cref;
+  typedef std::string_view::reference ref;
+
+  const std::string_view str01("sailing grand traverse bay\n"
+	       "\t\t\t    from Elk Rapids to the point reminds me of miles");
+    
+  // ostream& operator<<(ostream&, const basic_string_view&)
+  std::ostringstream ostrs01;
+  try 
+    {
+      ostrs01 << str01;
+      VERIFY( ostrs01.str() == str01 );
+    }
+  catch(std::exception& fail) 
+    {
+      VERIFY( false );
+    }
+  
+  std::string_view hello_world;
+  std::cout << hello_world;
+}
+
+int
+main()
+{ 
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/inserters/char/2.cc ./gdb/unittests/basic_string_view/inserters/char/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/inserters/char/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/inserters/char/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,91 @@
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// inserters
+
+// NB: This file is predicated on sstreams, ostreams
+// working, not to mention other major details like char_traits, and
+// all of the string_view class.
+
+// { dg-options "-std=gnu++17" }
+// { dg-require-fileio "" }
+
+namespace inserters_2 {
+
+// testing basic_filebuf::xsputn via stress testing with large string_views
+// based on a bug report libstdc++ 9
+// mode == out
+void
+test05(std::size_t size)
+{
+  bool test ATTRIBUTE_UNUSED = true;
+
+  const char filename[] = "inserters_extractors-2.txt";
+  const char fillc = 'f';
+  std::ofstream ofs(filename);
+  std::string str(size, fillc);
+  gdb::string_view strv{str};
+
+  // sanity checks
+  VERIFY( str.size() == size );
+  VERIFY( ofs.good() );
+
+  // stress test
+  ofs << str << std::endl;
+  if (!ofs.good()) 
+    test = false;
+
+  ofs << str << std::endl;
+  if (!ofs.good()) 
+    test = false;
+
+  VERIFY( str.size() == size );
+  VERIFY( ofs.good() );
+
+  ofs.close();
+
+  // sanity check on the written file
+  std::ifstream ifs(filename);
+  std::size_t count = 0;
+  char c;
+  while (count <= (2 * size) + 4)
+    {
+      ifs >> c;
+      if (ifs.good() && c == fillc)
+	{
+	  ++count;
+	  c = '0';
+	}
+      else 
+	break;
+    }
+
+  VERIFY( count == 2 * size );
+}
+
+int
+main()
+{
+  test05(1); 
+  test05(1000); 
+  test05(10000);
+
+  return 0;
+}
+
+} // namespace inserters_2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/inserters/char/3.cc ./gdb/unittests/basic_string_view/inserters/char/3.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/inserters/char/3.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/inserters/char/3.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,54 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// inserters
+
+// NB: This file is predicated on sstreams, and ostreams
+// working, not to mention other major details like char_traits, and
+// all of the string_view class.
+
+#include <string_view>
+#include <sstream>
+#include <iomanip>
+#include <testsuite_hooks.h>
+
+// libstdc++/2830
+void
+test09()
+{
+  std::string_view foo{"peace\0\0\0& love"};
+
+  std::ostringstream oss1;
+  oss1 << foo;
+  VERIFY( oss1.str() == foo );
+
+  std::ostringstream oss2;
+  oss2.width(20);
+  oss2 << foo;
+  VERIFY( oss2.str() != foo );
+  VERIFY( oss2.str().size() == 20 );
+}
+
+int
+main()
+{ 
+  test09();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/inserters/pod/10081-out.cc ./gdb/unittests/basic_string_view/inserters/pod/10081-out.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/inserters/pod/10081-out.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/inserters/pod/10081-out.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,75 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// class basic_istream::sentry
+
+#include <string_view>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <typeinfo>
+#include <testsuite_hooks.h>
+#include <testsuite_character.h>
+
+void
+test01()
+{
+  using namespace std;
+
+  using __gnu_test::pod_ushort;
+  typedef basic_string_view<pod_ushort> 	string_type;
+  typedef basic_stringbuf<pod_ushort> 	stringbuf_type;
+  typedef basic_ostream<pod_ushort> 	ostream_type;
+
+  string_type str;
+  stringbuf_type strbuf01;
+  ostream_type stream(&strbuf01);
+
+  try
+    {
+      stream << str;
+    }
+  catch (std::bad_cast& obj)
+    {
+      // Ok, throws bad_cast because locale has no ctype facet.
+    }
+  catch (...)
+    {
+      VERIFY( false );
+    }
+
+  const std::locale loc(std::locale::classic(), new std::ctype<pod_ushort>);
+  stream.imbue(loc);
+  try
+    {
+      stream << str;
+    }
+  catch (...)
+    {
+      VERIFY( false );
+    }
+}
+
+int
+main()
+{
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/inserters/wchar_t/1.cc ./gdb/unittests/basic_string_view/inserters/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/inserters/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/inserters/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,70 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// inserters
+
+// NB: This file is predicated on sstreams, and ostreams
+// working, not to mention other major details like char_traits, and
+// all of the string_view class.
+
+#include <string_view>
+#include <stdexcept>
+#include <sstream>
+#include <fstream>
+#include <iostream>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  typedef std::wstring_view::size_type csize_type;
+  typedef std::wstring_view::const_reference cref;
+  typedef std::wstring_view::reference ref;
+
+  const std::wstring_view str01(L"sailing grand traverse bay\n"
+	       L"\t\t\t    from Elk Rapids to the point reminds me of miles");
+  const std::wstring_view str02(L"sailing");
+  const std::wstring_view str03(L"grand");
+  const std::wstring_view str04(L"traverse");
+  const std::wstring_view str05;
+  std::wstring_view str10;
+
+  // ostream& operator<<(ostream&, const basic_string_view&)
+  std::wostringstream ostrs01;
+  try 
+    {
+      ostrs01 << str01;
+      VERIFY( ostrs01.str() == str01 );
+    }
+  catch(std::exception& fail) 
+    {
+      VERIFY( false );
+    }
+  
+  std::wstring_view hello_world;
+  std::wcout << hello_world;
+}
+
+int
+main()
+{ 
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/inserters/wchar_t/2.cc ./gdb/unittests/basic_string_view/inserters/wchar_t/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/inserters/wchar_t/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/inserters/wchar_t/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,91 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// inserters
+
+// NB: This file is predicated on sstreams, istreams, and ostreams
+// working, not to mention other major details like char_traits, and
+// all of the string_view class.
+
+#include <string_view>
+#include <string>
+#include <fstream>
+#include <iostream>
+#include <testsuite_hooks.h>
+
+// testing basic_filebuf::xsputn via stress testing with large string_views
+// based on a bug report libstdc++ 9
+// mode == out
+void
+test05(std::size_t size)
+{
+  bool test = true;
+
+  const char filename[] = "inserters_extractors-2.txt";
+  const wchar_t fillc = L'f';
+  std::wofstream ofs(filename);
+  std::wstring str(size, fillc);
+  std::wstring_view strv(str);
+
+  // sanity checks
+  VERIFY( str.size() == size );
+  VERIFY( ofs.good() );
+
+  // stress test
+  ofs << str << std::endl;
+  if (!ofs.good()) 
+    test = false;
+
+  ofs << str << std::endl;
+  if (!ofs.good()) 
+    test = false;
+
+  VERIFY( str.size() == size );
+  VERIFY( ofs.good() );
+
+  ofs.close();
+
+  // sanity check on the written file
+  std::wifstream ifs(filename);
+  std::size_t count = 0;
+  wchar_t c;
+  while (count <= (2 * size) + 4)
+    {
+      ifs >> c;
+      if (ifs.good() && c == fillc)
+	{
+	  ++count;
+	  c = '0';
+	}
+      else 
+	break;
+    }
+
+  VERIFY( count == 2 * size );
+}
+
+int
+main()
+{
+  test05(1); 
+  test05(1000); 
+  test05(10000);
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/inserters/wchar_t/3.cc ./gdb/unittests/basic_string_view/inserters/wchar_t/3.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/inserters/wchar_t/3.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/inserters/wchar_t/3.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,53 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// inserters
+
+// NB: This file is predicated on sstreams, istreams, and ostreams
+// working, not to mention other major details like char_traits, and
+// all of the string_view class.
+
+#include <string_view>
+#include <sstream>
+#include <iomanip>
+#include <testsuite_hooks.h>
+
+void
+test09()
+{
+  std::wstring_view foo{L"peace\0\0\0& love"};
+  
+  std::wostringstream oss1;
+  oss1 << foo;
+  VERIFY( oss1.str() == foo );
+  
+  std::wostringstream oss2;
+  oss2.width(20);
+  oss2 << foo;
+  VERIFY( oss2.str() != foo );
+  VERIFY( oss2.str().size() == 20 );
+}
+
+int
+main()
+{ 
+  test09();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/literals/types.cc ./gdb/unittests/basic_string_view/literals/types.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/literals/types.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/literals/types.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,45 @@
+// { dg-options "-std=gnu++17" }
+// { dg-do compile }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+#include <type_traits>
+
+void
+test01()
+{
+  using namespace std::literals::string_view_literals;
+
+  static_assert(std::is_same<decltype("Hello"sv), std::string_view>::value,
+		"\"Hello\"s is std::string_view");
+
+  static_assert(std::is_same<decltype(u8"Hello"sv), std::string_view>::value,
+		"u8\"Hello\"s is std::string_view");
+
+#ifdef _GLIBCXX_USE_WCHAR_T
+  static_assert(std::is_same<decltype(L"Hello"sv), std::wstring_view>::value,
+		"L\"Hello\"s is std::wstring_view");
+#endif
+
+  static_assert(std::is_same<decltype(u"Hello"sv), std::u16string_view>::value,
+		"u\"Hello\"s is std::u16string_view");
+
+  static_assert(std::is_same<decltype(U"Hello"sv), std::u32string_view>::value,
+		"U\"Hello\"s is std::u32string_view");
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/literals/values.cc ./gdb/unittests/basic_string_view/literals/values.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/literals/values.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/literals/values.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,72 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  using namespace std::literals::string_view_literals;
+
+  std::string_view planet = "Mercury"sv;
+#ifdef _GLIBCXX_USE_WCHAR_T
+  std::wstring_view wplanet = L"Venus"sv;
+#endif
+  std::string_view u8planet = u8"Mars"sv;
+  std::u16string_view u16planet = u"Jupiter"sv;
+  std::u32string_view u32planet = U"Saturn"sv;
+
+  VERIFY( planet == std::string_view("Mercury") );
+#ifdef _GLIBCXX_USE_WCHAR_T
+  VERIFY( wplanet == std::wstring_view(L"Venus") );
+#endif
+  VERIFY( u8planet == std::string_view(u8"Mars") );
+  VERIFY( u16planet == std::u16string_view(u"Jupiter") );
+  VERIFY( u32planet == std::u32string_view(U"Saturn") );
+}
+
+void
+test02()
+{
+  using namespace std::literals::string_view_literals;
+
+  std::string_view planet_cratered = "Mercury\0cratered"sv;
+#ifdef _GLIBCXX_USE_WCHAR_T
+  std::wstring_view wplanet_cratered = L"Venus\0cratered"sv;
+#endif
+  std::string_view u8planet_cratered = u8"Mars\0cratered"sv;
+  std::u16string_view u16planet_cratered = u"Jupiter\0cratered"sv;
+  std::u32string_view u32planet_cratered = U"Saturn\0cratered"sv;
+
+  VERIFY( planet_cratered == std::string_view("Mercury\0cratered", 16) );
+#ifdef _GLIBCXX_USE_WCHAR_T
+  VERIFY( wplanet_cratered == std::wstring_view(L"Venus\0cratered", 14) );
+#endif
+  VERIFY( u8planet_cratered == std::string_view(u8"Mars\0cratered", 13) );
+  VERIFY( u16planet_cratered == std::u16string_view(u"Jupiter\0cratered", 16) );
+  VERIFY( u32planet_cratered == std::u32string_view(U"Saturn\0cratered", 15) );
+}
+
+int
+main()
+{
+  test01();
+  test02();
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/modifiers/remove_prefix/char/1.cc ./gdb/unittests/basic_string_view/modifiers/remove_prefix/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/modifiers/remove_prefix/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/modifiers/remove_prefix/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,66 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+namespace modifiers_remove_prefix {
+
+void
+test01()
+{
+  using gdb::string_view;
+
+  string_view str0{"olympus mons"};
+  string_view::pointer p = str0.data();
+  str0.remove_prefix(4);
+  VERIFY( str0.data() == p + 4);
+  VERIFY( str0.length() == 8 );
+  VERIFY( str0 == string_view{"pus mons"} );
+}
+
+#ifndef GDB_STRING_VIEW
+constexpr bool
+test02()
+{
+  using std::string_view;
+
+  string_view str0{"olympus mons"};
+  string_view::pointer p = str0.data();
+  str0.remove_prefix(4);
+  if ( str0.data() != p + 4)
+    return false;
+  if ( str0.length() != 8 )
+    return false;
+  if ( str0 != string_view{"pus mons"} )
+    return false;
+
+  return true;
+}
+#endif
+
+int
+main()
+{ 
+  test01();
+#ifndef GDB_STRING_VIEW
+  static_assert( test02() );
+#endif
+
+  return 0;
+}
+
+} // namespace modifiers_remove_prefix
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc ./gdb/unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,61 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  using std::wstring_view;
+
+  wstring_view str0{L"olympus mons"};
+  wstring_view::pointer p = str0.data();
+  str0.remove_prefix(4);
+  VERIFY( str0.data() == p + 4);
+  VERIFY( str0.length() == 8 );
+  VERIFY( str0 == wstring_view{L"pus mons"} );
+}
+
+constexpr bool
+test02()
+{
+  using std::wstring_view;
+
+  wstring_view str0{L"olympus mons"};
+  wstring_view::pointer p = str0.data();
+  str0.remove_prefix(4);
+  if ( str0.data() != p + 4)
+    return false;
+  if ( str0.length() != 8 )
+    return false;
+  if ( str0 != wstring_view{L"pus mons"} )
+    return false;
+
+  return true;
+}
+
+int
+main()
+{ 
+  test01();
+  static_assert( test02() );
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/modifiers/remove_suffix/char/1.cc ./gdb/unittests/basic_string_view/modifiers/remove_suffix/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/modifiers/remove_suffix/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/modifiers/remove_suffix/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,66 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+namespace modifiers_remove_suffix {
+
+void
+test01()
+{
+  using gdb::string_view;
+
+  string_view str0{"olympus mons"};
+  string_view::pointer p = str0.data();
+  str0.remove_suffix(2);
+  VERIFY( str0.data() == p);
+  VERIFY( str0.length() == 10 );
+  VERIFY( str0 == string_view{"olympus mo"} );
+}
+
+#ifndef GDB_STRING_VIEW
+constexpr bool
+test02()
+{
+  using std::string_view;
+
+  string_view str0{"olympus mons"};
+  string_view::pointer p = str0.data();
+  str0.remove_suffix(2);
+  if ( str0.data() != p)
+    return false;
+  if ( str0.length() != 10 )
+    return false;
+  if ( str0 != string_view{"olympus mo"} )
+    return false;
+
+  return true;
+}
+#endif
+
+int
+main()
+{ 
+  test01();
+#ifndef GDB_STRING_VIEW
+  static_assert( test02() );
+#endif
+
+  return 0;
+}
+
+} // namespace modifiers_remove_suffix
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc ./gdb/unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,61 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  using std::wstring_view;
+
+  wstring_view str0{L"olympus mons"};
+  wstring_view::pointer p = str0.data();
+  str0.remove_suffix(2);
+  VERIFY( str0.data() == p);
+  VERIFY( str0.length() == 10 );
+  VERIFY( str0 == wstring_view{L"olympus mo"} );
+}
+
+constexpr bool
+test02()
+{
+  using std::wstring_view;
+
+  wstring_view str0{L"olympus mons"};
+  wstring_view::pointer p = str0.data();
+  str0.remove_suffix(2);
+  if ( str0.data() != p)
+    return false;
+  if ( str0.length() != 10 )
+    return false;
+  if ( str0 != wstring_view{L"olympus mo"} )
+    return false;
+
+  return true;
+}
+
+int
+main()
+{ 
+  test01();
+  static_assert( test02() );
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/modifiers/swap/char/1.cc ./gdb/unittests/basic_string_view/modifiers/swap/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/modifiers/swap/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/modifiers/swap/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,36 @@
+// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
+
+namespace modifiers_swap {
+
+void
+test01()
+{
+  using gdb::string_view;
+
+  string_view s1{"last"};
+  string_view s2{"first"};
+
+  s1.swap(s2);
+  VERIFY( s1 == "first" );
+  VERIFY( s2 == "last" );
+}
+
+} // namespace modifiers_swap
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/modifiers/swap/wchar_t/1.cc ./gdb/unittests/basic_string_view/modifiers/swap/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/modifiers/swap/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/modifiers/swap/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,35 @@
+// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
+
+#include <string_view>
+
+constexpr bool
+test01()
+{
+  using std::wstring_view;
+
+  wstring_view s1{L"last"};
+  wstring_view s2{L"first"};
+
+  s1.swap(s2);
+  return s1 == L"first" && s2 == L"last";
+}
+
+static_assert( test01() );
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/char/13650.cc ./gdb/unittests/basic_string_view/operations/compare/char/13650.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/char/13650.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/compare/char/13650.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,50 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view::compare [lib.string_view::compare]
+
+namespace operations_compare_13650 {
+
+// libstdc++/13650
+void
+test01()
+{
+  using gdb::string_view;
+
+  const char lit_01[]{ 'w', 'e', '\0', 'r', 'd' };
+  const char lit_02[]{ 'w', 'e', 'i', '\0', 'd' };
+
+  const char lit_ref_a[]{ 'w', 'e', '\0', 'q', 'd' };
+  const string_view str_a(lit_ref_a, 5);
+  VERIFY( str_a.compare(0, 5, lit_01, 5) < 0 );
+
+  const char lit_ref_b[]{ 'w', 'e', 'i' };
+  const string_view str_b(lit_ref_b, 3);
+  VERIFY( str_b.compare(0, 3, lit_02, 5) < 0 );
+}
+
+int
+main()
+{
+  test01();
+
+  return 0;
+}
+
+} // namespace operations_compare_13650
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/char/1.cc ./gdb/unittests/basic_string_view/operations/compare/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/compare/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,132 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view::compare
+// int compare(const basic_string_view& str) const;
+// int compare(size_type pos1, size_type n1, const basic_string_view& str) const;
+// int compare(size_type pos1, size_type n1, const basic_string_view& str,
+//             size_type pos2, size_type n2) const;
+// int compare(const charT* s) const;
+// int compare(size_type pos1, size_type n1,
+//             const charT* s, size_type n2 = npos) const;
+
+// NB compare should be thought of as a lexographical compare, ie how
+// things would be sorted in a dictionary.
+
+namespace operations_compare_1 {
+
+enum want_value {lt=0, z=1, gt=2};
+
+int
+test_value(int result, want_value expected);
+
+int
+test_value(int result, want_value expected)
+{
+  bool pass = false;
+
+  switch (expected) {
+  case lt:
+    if (result < 0)
+      pass = true;
+    break;
+  case z:
+    if (!result)
+      pass = true;
+    break;
+  case gt:
+    if (result > 0)
+      pass = true;
+    break;
+  default:
+    pass = false; //should not get here
+  }
+  VERIFY(pass);
+  return 0;
+}
+
+int
+test01()
+{
+  using gdb::string_view;
+
+  string_view 	str_0("costa rica");
+  string_view 	str_1("costa marbella");
+  string_view 	str_2;
+
+  //sanity check
+  test_value(strcmp("costa marbella", "costa rica"), lt);
+  test_value(strcmp("costa rica", "costa rica"), z);
+  test_value(strcmp(str_1.data(), str_0.data()), lt);
+  test_value(strcmp(str_0.data(), str_1.data()), gt);
+  test_value(strncmp(str_1.data(), str_0.data(), 6), z);
+  test_value(strncmp(str_1.data(), str_0.data(), 14), lt);
+  test_value(memcmp(str_1.data(), str_0.data(), 6), z);
+  test_value(memcmp(str_1.data(), str_0.data(), 10), lt);
+  test_value(memcmp("costa marbella", "costa rica", 10), lt);
+
+  // int compare(const basic_string_view& str) const;
+  test_value(str_0.compare(str_1), gt); //because r>m
+  test_value(str_1.compare(str_0), lt); //because m<r
+  str_2 = str_0;
+  test_value(str_2.compare(str_0), z);
+  str_2 = "cost";
+  test_value(str_2.compare(str_0), lt);
+  str_2 = "costa ricans";
+  test_value(str_2.compare(str_0), gt);
+
+  // int compare(size_type pos1, size_type n1, const basic_string_view& str) const;
+  test_value(str_1.compare(0, 6, str_0), lt);
+  str_2 = "cost";
+  test_value(str_1.compare(0, 4, str_2), z);
+  test_value(str_1.compare(0, 5, str_2), gt);
+
+  // int compare(size_type pos1, size_type n1, const basic_string_view& str,
+  //		 size_type pos2, size_type n2) const;
+  test_value(str_1.compare(0, 6, str_0, 0, 6), z);
+  test_value(str_1.compare(0, 7, str_0, 0, 7), lt);
+  test_value(str_0.compare(0, 7, str_1, 0, 7), gt);
+
+  // int compare(const charT* s) const;
+  test_value(str_0.compare("costa marbella"), gt);
+  test_value(str_1.compare("costa rica"), lt);
+  str_2 = str_0;
+  test_value(str_2.compare("costa rica"), z);
+  test_value(str_2.compare("cost"), gt);
+  test_value(str_2.compare("costa ricans"), lt);
+
+  // int compare(size_type pos, size_type n1, const charT* str,
+  //             size_type n2 = npos) const;
+  test_value(str_1.compare(0, 6, "costa rica", 0, 6), z);
+  test_value(str_1.compare(0, 7, "costa rica", 0, 7), lt);
+  test_value(str_0.compare(0, 7, "costa marbella", 0, 7), gt);
+
+  return 0;
+}
+
+
+int
+main()
+{
+  test01();
+
+  return 0;
+}
+
+} // namespace operations_compare_1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/char/2.cc ./gdb/unittests/basic_string_view/operations/compare/char/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/char/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/compare/char/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,30 @@
+// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
+
+#include <string_view>
+
+constexpr char c1[] = "one";
+constexpr char c2[] = "two";
+
+constexpr std::string_view s1{c1};
+constexpr std::string_view s2{c2};
+
+constexpr int n1 = s1.compare(s1);
+constexpr int n2 = s1.compare(s2);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/char/70483.cc ./gdb/unittests/basic_string_view/operations/compare/char/70483.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/char/70483.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/compare/char/70483.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,89 @@
+// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
+
+#include <string_view>
+
+struct constexpr_char_traits : std::char_traits<char>
+{
+  static constexpr size_t
+  length(const char* val)
+  {
+    size_t res = 0;
+    for (; val[res] != '\0'; ++res)
+      ;
+    return res;
+  }
+
+  static constexpr int
+  compare(const char* lhs, const char* rhs, std::size_t count)
+  {
+    for (size_t pos = 0; pos < count; ++pos)
+    {
+      if (lhs[pos] != rhs[pos])
+        return lhs[pos] - rhs[pos];
+    }
+    return 0;
+  }
+};
+
+using string_view = std::basic_string_view<char, constexpr_char_traits>;
+
+constexpr
+string_view get()
+{
+    string_view res = "x::";
+    string_view start_pattern = "x";
+    res = res.substr(res.find(start_pattern) + start_pattern.size());
+    res = res.substr(0, res.find_first_of(";]"));
+    res = res.substr(res.rfind("::"));
+    return res;
+}
+
+static_assert( get() == get() );
+
+using std::u16string_view;
+
+constexpr
+u16string_view get16()
+{
+    u16string_view res = u"x::";
+    u16string_view start_pattern = u"x";
+    res = res.substr(res.find(start_pattern) + start_pattern.size());
+    res = res.substr(0, res.find_first_of(u";]"));
+    res = res.substr(res.rfind(u"::"));
+    return res;
+}
+
+static_assert( get16() == get16() );
+
+using std::u32string_view;
+
+constexpr
+u32string_view get32()
+{
+    u32string_view res = U"x::";
+    u32string_view start_pattern = U"x";
+    res = res.substr(res.find(start_pattern) + start_pattern.size());
+    res = res.substr(0, res.find_first_of(U";]"));
+    res = res.substr(res.rfind(U"::"));
+    return res;
+}
+
+static_assert( get32() == get32() );
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/wchar_t/13650.cc ./gdb/unittests/basic_string_view/operations/compare/wchar_t/13650.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/wchar_t/13650.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/compare/wchar_t/13650.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,49 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view::compare [lib.string_view::compare]
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+// libstdc++/13650
+void
+test01()
+{
+  using std::wstring_view;
+
+  const wchar_t lit_01[] = { L'w', L'e', L'\0', L'r', L'd' };
+  const wchar_t lit_02[] = { L'w', L'e', L'i', L'\0', L'd' };
+
+  const wchar_t lit_ref_a[] = { L'w', L'e', L'\0', L'q', L'd' };
+  const wstring_view str_a(lit_ref_a, 5);
+  VERIFY( str_a.compare(0, 5, lit_01, 5) < 0 );
+
+  const wchar_t lit_ref_b[] = { L'w', L'e', L'i' };
+  const wstring_view str_b(lit_ref_b, 3);
+  VERIFY( str_b.compare(0, 3, lit_02, 5) < 0 );
+}
+
+int
+main()
+{
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/wchar_t/1.cc ./gdb/unittests/basic_string_view/operations/compare/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/compare/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,133 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view::compare
+// int compare(const basic_string_view& str) const;
+// int compare(size_type pos1, size_type n1, const basic_string_view& str) const;
+// int compare(size_type pos1, size_type n1, const basic_string_view& str,
+//             size_type pos2, size_type n2) const;
+// int compare(const charT* s) const;
+// int compare(size_type pos1, size_type n1,
+//             const charT* s, size_type n2 = npos) const;
+
+// NB compare should be thought of as a lexographical compare, ie how
+// things would be sorted in a dictionary.
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+enum want_value {lt=0, z=1, gt=2};
+
+int
+test_value(int result, want_value expected);
+
+int
+test_value(int result, want_value expected)
+{
+  bool pass = false;
+
+  switch (expected) {
+  case lt:
+    if (result < 0)
+      pass = true;
+    break;
+  case z:
+    if (!result)
+      pass = true;
+    break;
+  case gt:
+    if (result > 0)
+      pass = true;
+    break;
+  default:
+    pass = false; //should not get here
+  }
+
+  VERIFY(pass);
+  return 0;
+}
+
+
+int
+test01()
+{
+  using std::wstring_view;
+
+  wstring_view 	str_0(L"costa rica");
+  wstring_view 	str_1(L"costa marbella");
+  wstring_view 	str_2;
+
+  //sanity check
+  test_value(wcscmp(L"costa marbella", L"costa rica"), lt);
+  test_value(wcscmp(L"costa rica", L"costa rica"), z);
+  test_value(wcscmp(str_1.data(), str_0.data()), lt);
+  test_value(wcscmp(str_0.data(), str_1.data()), gt);
+  test_value(wcsncmp(str_1.data(), str_0.data(), 6), z);
+  test_value(wcsncmp(str_1.data(), str_0.data(), 14), lt);
+  test_value(wmemcmp(str_1.data(), str_0.data(), 6), z);
+  test_value(wmemcmp(str_1.data(), str_0.data(), 14), lt);
+  test_value(wmemcmp(L"costa marbella", L"costa rica", 14), lt);
+
+  // int compare(const basic_string_view& str) const;
+  test_value(str_0.compare(str_1), gt); //because r>m
+  test_value(str_1.compare(str_0), lt); //because m<r
+  str_2 = str_0;
+  test_value(str_2.compare(str_0), z);
+  str_2 = L"cost";
+  test_value(str_2.compare(str_0), lt);
+  str_2 = L"costa ricans";
+  test_value(str_2.compare(str_0), gt);
+
+  // int compare(size_type pos1, size_type n1, const basic_string_view& str) const;
+  test_value(str_1.compare(0, 6, str_0), lt);
+  str_2 = L"cost";
+  test_value(str_1.compare(0, 4, str_2), z);
+  test_value(str_1.compare(0, 5, str_2), gt);
+
+  // int compare(size_type pos1, size_type n1, const basic_string_view& str,
+  //		 size_type pos2, size_type n2) const;
+  test_value(str_1.compare(0, 6, str_0, 0, 6), z);
+  test_value(str_1.compare(0, 7, str_0, 0, 7), lt);
+  test_value(str_0.compare(0, 7, str_1, 0, 7), gt);
+
+  // int compare(const charT* s) const;
+  test_value(str_0.compare(L"costa marbella"), gt);
+  test_value(str_1.compare(L"costa rica"), lt);
+  str_2 = str_0;
+  test_value(str_2.compare(L"costa rica"), z);
+  test_value(str_2.compare(L"cost"), gt);
+  test_value(str_2.compare(L"costa ricans"), lt);
+
+  // int compare(size_type pos, size_type n1, const charT* str,
+  //             size_type n2 = npos) const;
+  test_value(str_1.compare(0, 6, L"costa rica", 0, 6), z);
+  test_value(str_1.compare(0, 7, L"costa rica", 0, 7), lt);
+  test_value(str_0.compare(0, 7, L"costa marbella", 0, 7), gt);
+
+  return 0;
+}
+
+
+int
+main()
+{
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/wchar_t/2.cc ./gdb/unittests/basic_string_view/operations/compare/wchar_t/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/compare/wchar_t/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/compare/wchar_t/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,30 @@
+// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
+
+#include <string_view>
+
+constexpr wchar_t c1[] = L"one";
+constexpr wchar_t c2[] = L"two";
+
+constexpr std::wstring_view s1{c1};
+constexpr std::wstring_view s2{c2};
+
+constexpr int n1 = s1.compare(s1);
+constexpr int n2 = s1.compare(s2);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/copy/char/1.cc ./gdb/unittests/basic_string_view/operations/copy/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/copy/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/copy/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,46 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view::copy
+
+namespace operations_copy_1 {
+
+void
+test01()
+{
+  typedef gdb::string_view::size_type csize_type;
+
+  const char str_lit01[] = "123456789A";
+  const gdb::string_view str01(str_lit01);
+  char buffer[4] = { 0 };
+
+  csize_type len = str01.copy(buffer, sizeof(buffer), 8);
+  VERIFY( 2 == len );
+  VERIFY( '9' == buffer[0] );
+}
+
+int
+main()
+{ 
+  test01();
+
+  return 0;
+}
+
+} // namespace operations_copy_1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/copy/wchar_t/1.cc ./gdb/unittests/basic_string_view/operations/copy/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/copy/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/copy/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,46 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view::copy
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  typedef std::wstring_view::size_type csize_type;
+  csize_type csz01;
+
+  const wchar_t str_lit01[] = L"123456789A";
+  const std::wstring_view str01(str_lit01);
+  wchar_t buffer[4] = { 0 };
+
+  csize_type len = str01.copy(buffer, sizeof(buffer), 8);
+  VERIFY( 2 == len );
+  VERIFY( L'9' == buffer[0] );
+}
+
+int
+main()
+{ 
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operations/data/char/1.cc ./gdb/unittests/basic_string_view/operations/data/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/data/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/data/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,44 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2014 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// string_view operations
+
+namespace operations_data_1 {
+
+int
+test01()
+{
+  gdb::string_view empty;
+
+  VERIFY( empty.size() == 0 );
+  const gdb::string_view::value_type* p = empty.data();
+  VERIFY( p == nullptr );
+
+  return 0;
+}
+
+int
+main()
+{ 
+  test01();
+
+  return 0;
+}
+
+} // namespace operations_data_1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/data/wchar_t/1.cc ./gdb/unittests/basic_string_view/operations/data/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/data/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/data/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,43 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2014 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// string_view operations
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+int
+test01()
+{
+  std::wstring_view empty;
+
+  VERIFY( empty.size() == 0 );
+  const std::wstring_view::value_type* p = empty.data();
+  VERIFY( p == nullptr );
+
+  return 0;
+}
+
+int
+main()
+{ 
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operations/find/char/1.cc ./gdb/unittests/basic_string_view/operations/find/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/find/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,168 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view find
+
+namespace operations_find_1 {
+
+void
+test01()
+{
+  typedef gdb::string_view::size_type csize_type;
+  typedef gdb::string_view::const_reference cref;
+  typedef gdb::string_view::reference ref;
+  csize_type npos = gdb::string_view::npos;
+  csize_type csz01, csz02;
+
+  const char str_lit01[] = "mave";
+  const gdb::string_view str01("mavericks, santa cruz");
+  gdb::string_view str02(str_lit01);
+  gdb::string_view str03("s, s");
+  gdb::string_view str04;
+
+  // size_type find(const string_view&, size_type pos = 0) const;
+  csz01 = str01.find(str01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str01, 4);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str02, 3);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find(str03, 3);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find(str03, 12);
+  VERIFY( csz01 == npos );
+
+  // An empty string_view consists of no characters
+  // therefore it should be found at every point in a string_view,
+  // except beyond the end
+  csz01 = str01.find(str04, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str04, 5);
+  VERIFY( csz01 == 5 );
+  csz01 = str01.find(str04, str01.size());
+  VERIFY( csz01 == str01.size() );
+  csz01 = str01.find(str04, str01.size()+1);
+  VERIFY( csz01 == npos );
+
+  // size_type find(const char* s, size_type pos, size_type n) const;
+  csz01 = str01.find(str_lit01, 0, 3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str_lit01, 3, 0);
+  VERIFY( csz01 == 3 );
+
+  // size_type find(const char* s, size_type pos = 0) const;
+  csz01 = str01.find(str_lit01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str_lit01, 3);
+  VERIFY( csz01 == npos );
+
+  // size_type find(char c, size_type pos = 0) const;
+  csz01 = str01.find('z');
+  csz02 = str01.size() - 1;
+  VERIFY( csz01 == csz02 );
+  csz01 = str01.find('/');
+  VERIFY( csz01 == npos );
+}
+
+#ifndef GDB_STRING_VIEW
+constexpr bool
+test02()
+{
+  typedef std::string_view::size_type csize_type;
+  typedef std::string_view::const_reference cref;
+  typedef std::string_view::reference ref;
+  csize_type npos = std::string_view::npos;
+  csize_type csz01 = 0, csz02 = 0;
+
+  const char str_lit01[] = "mave";
+  const std::string_view str01("mavericks, santa cruz");
+  std::string_view str02(str_lit01);
+  std::string_view str03("s, s");
+  std::string_view str04;
+
+#undef VERIFY
+#define VERIFY(x) if(!(x)) return false
+
+  // size_type find(const string_view&, size_type pos = 0) const;
+  csz01 = str01.find(str01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str01, 4);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str02, 3);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find(str03, 3);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find(str03, 12);
+  VERIFY( csz01 == npos );
+
+  // An empty string_view consists of no characters
+  // therefore it should be found at every point in a string_view,
+  // except beyond the end
+  csz01 = str01.find(str04, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str04, 5);
+  VERIFY( csz01 == 5 );
+  csz01 = str01.find(str04, str01.size());
+  VERIFY( csz01 == str01.size() );
+  csz01 = str01.find(str04, str01.size()+1);
+  VERIFY( csz01 == npos );
+
+  // size_type find(const char* s, size_type pos, size_type n) const;
+  csz01 = str01.find(str_lit01, 0, 3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str_lit01, 3, 0);
+  VERIFY( csz01 == 3 );
+
+  // size_type find(const char* s, size_type pos = 0) const;
+  csz01 = str01.find(str_lit01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str_lit01, 3);
+  VERIFY( csz01 == npos );
+
+  // size_type find(char c, size_type pos = 0) const;
+  csz01 = str01.find('z');
+  csz02 = str01.size() - 1;
+  VERIFY( csz01 == csz02 );
+  csz01 = str01.find('/');
+  VERIFY( csz01 == npos );
+
+  return true;
+}
+#endif
+
+int
+main()
+{
+  test01();
+#ifndef GDB_STRING_VIEW
+  static_assert( test02() );
+#endif
+
+  return 0;
+}
+
+} // namespace operations_find_1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/char/2.cc ./gdb/unittests/basic_string_view/operations/find/char/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/char/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/find/char/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,166 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view find_first_of
+
+namespace operations_find_2 {
+
+void
+test02()
+{
+  typedef gdb::string_view::size_type csize_type;
+  csize_type npos = gdb::string_view::npos;
+  csize_type csz01, csz02;
+
+  const char str_lit01[] = "mave";
+  const gdb::string_view str01("mavericks, santa cruz");
+  gdb::string_view str02(str_lit01);
+  gdb::string_view str03("s, s");
+  gdb::string_view str04;
+
+  // size_type find_first_of(const string_view&, size_type pos = 0) const;
+  gdb::string_view str05("xena rulez");
+  csz01 = str01.find_first_of(str01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str01, 4);
+  VERIFY( csz01 == 4 );
+  csz01 = str01.find_first_of(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str02, 3);
+  VERIFY( csz01 == 3 );
+  csz01 = str01.find_first_of(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_of(str03, 3);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_of(str03, 12);
+  VERIFY( csz01 == 16 );
+  csz01 = str01.find_first_of(str05, 0);
+  VERIFY( csz01 == 1 );
+  csz01 = str01.find_first_of(str05, 4);
+  VERIFY( csz01 == 4 );
+
+  // An empty string_view consists of no characters
+  // therefore it should be found at every point in a string_view,
+  // except beyond the end
+  // However, str1.find_first_of(str2,pos) finds the first character in
+  // str1 (starting at pos) that exists in str2, which is none for empty str2
+  csz01 = str01.find_first_of(str04, 0);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_of(str04, 5);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_of(const char* s, size_type pos, size_type n) const;
+  csz01 = str01.find_first_of(str_lit01, 0, 3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str_lit01, 3, 0);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_of(const char* s, size_type pos = 0) const;
+  csz01 = str01.find_first_of(str_lit01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str_lit01, 3);
+  VERIFY( csz01 == 3 );
+
+  // size_type find_first_of(char c, size_type pos = 0) const;
+  csz01 = str01.find_first_of('z');
+  csz02 = str01.size() - 1;
+  VERIFY( csz01 == csz02 );
+}
+
+#ifndef GDB_STRING_VIEW
+constexpr bool
+test03()
+{
+  typedef std::string_view::size_type csize_type;
+  csize_type npos = std::string_view::npos;
+  csize_type csz01 = 0, csz02 = 0;
+
+  const char str_lit01[] = "mave";
+  const std::string_view str01("mavericks, santa cruz");
+  std::string_view str02(str_lit01);
+  std::string_view str03("s, s");
+  std::string_view str04;
+
+#undef VERIFY
+#define VERIFY(x) if(!(x)) return false
+
+  // size_type find_first_of(const string_view&, size_type pos = 0) const;
+  std::string_view str05("xena rulez");
+  csz01 = str01.find_first_of(str01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str01, 4);
+  VERIFY( csz01 == 4 );
+  csz01 = str01.find_first_of(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str02, 3);
+  VERIFY( csz01 == 3 );
+  csz01 = str01.find_first_of(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_of(str03, 3);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_of(str03, 12);
+  VERIFY( csz01 == 16 );
+  csz01 = str01.find_first_of(str05, 0);
+  VERIFY( csz01 == 1 );
+  csz01 = str01.find_first_of(str05, 4);
+  VERIFY( csz01 == 4 );
+
+  // An empty string_view consists of no characters
+  // therefore it should be found at every point in a string_view,
+  // except beyond the end
+  // However, str1.find_first_of(str2,pos) finds the first character in
+  // str1 (starting at pos) that exists in str2, which is none for empty str2
+  csz01 = str01.find_first_of(str04, 0);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_of(str04, 5);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_of(const char* s, size_type pos, size_type n) const;
+  csz01 = str01.find_first_of(str_lit01, 0, 3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str_lit01, 3, 0);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_of(const char* s, size_type pos = 0) const;
+  csz01 = str01.find_first_of(str_lit01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str_lit01, 3);
+  VERIFY( csz01 == 3 );
+
+  // size_type find_first_of(char c, size_type pos = 0) const;
+  csz01 = str01.find_first_of('z');
+  csz02 = str01.size() - 1;
+  VERIFY( csz01 == csz02 );
+
+  return true;
+}
+#endif
+
+int
+main()
+{
+  test02();
+#ifndef GDB_STRING_VIEW
+  static_assert( test03() );
+#endif
+
+  return 0;
+}
+
+} // namespace operations_find_2 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/char/3.cc ./gdb/unittests/basic_string_view/operations/find/char/3.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/char/3.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/find/char/3.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,166 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view find_first_not_of
+
+namespace operations_find_3 {
+
+void
+test03()
+{
+  typedef gdb::string_view::size_type csize_type;
+  csize_type npos = gdb::string_view::npos;
+  csize_type csz01;
+
+  const gdb::string_view str01("Bob Rock, per me");
+  const char str_lit01[] = "Bob Rock";
+  gdb::string_view str02("ovvero Trivi");
+  gdb::string_view str03(str_lit01);
+  gdb::string_view str04;
+
+  // size_type find_first_not_of(const string_view&, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of(str01);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_not_of(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str02, 10);
+  VERIFY( csz01 == 10 );
+  csz01 = str01.find_first_not_of(str02, 12);
+  VERIFY( csz01 == 14 );
+  csz01 = str01.find_first_not_of(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_not_of(str03, 15);
+  VERIFY( csz01 == 15 );
+  csz01 = str01.find_first_not_of(str03, 16);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_not_of(str04, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str04, 12);
+  VERIFY( csz01 == 12 );
+  csz01 = str03.find_first_not_of(str01, 0);
+  VERIFY( csz01 == npos );
+  csz01 = str04.find_first_not_of(str02, 0);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_not_of(const char* s, size_type pos, size_type n) const;
+  csz01 = str01.find_first_not_of(str_lit01, 0, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str_lit01, 0, 8);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_not_of(str_lit01, 10, 0);
+  VERIFY( csz01 == 10 );
+
+  // size_type find_first_not_of(const char* s, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of(str_lit01);
+  VERIFY( csz01 == 8 );
+  csz01 = str02.find_first_not_of(str_lit01, 2);
+  VERIFY( csz01 == 2 );
+
+  // size_type find_first_not_of(char c, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of('B');
+  VERIFY( csz01 == 1 );
+  csz01 = str01.find_first_not_of('o', 1);
+  VERIFY( csz01 == 2 );
+  csz01 = str02.find_first_not_of('z');
+  VERIFY( csz01 == 0 );
+  csz01 = str04.find_first_not_of('S');
+  VERIFY( csz01 == npos );
+}
+
+#ifndef GDB_STRING_VIEW
+constexpr bool
+test04()
+{
+  typedef std::string_view::size_type csize_type;
+  csize_type npos = std::string_view::npos;
+  csize_type csz01 = 0;
+
+  const std::string_view str01("Bob Rock, per me");
+  const char str_lit01[] = "Bob Rock";
+  std::string_view str02("ovvero Trivi");
+  std::string_view str03(str_lit01);
+  std::string_view str04;
+
+#undef VERIFY
+#define VERIFY(x) if(!(x)) return false
+
+  // size_type find_first_not_of(const string_view&, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of(str01);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_not_of(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str02, 10);
+  VERIFY( csz01 == 10 );
+  csz01 = str01.find_first_not_of(str02, 12);
+  VERIFY( csz01 == 14 );
+  csz01 = str01.find_first_not_of(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_not_of(str03, 15);
+  VERIFY( csz01 == 15 );
+  csz01 = str01.find_first_not_of(str03, 16);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_not_of(str04, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str04, 12);
+  VERIFY( csz01 == 12 );
+  csz01 = str03.find_first_not_of(str01, 0);
+  VERIFY( csz01 == npos );
+  csz01 = str04.find_first_not_of(str02, 0);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_not_of(const char* s, size_type pos, size_type n) const;
+  csz01 = str01.find_first_not_of(str_lit01, 0, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str_lit01, 0, 8);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_not_of(str_lit01, 10, 0);
+  VERIFY( csz01 == 10 );
+
+  // size_type find_first_not_of(const char* s, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of(str_lit01);
+  VERIFY( csz01 == 8 );
+  csz01 = str02.find_first_not_of(str_lit01, 2);
+  VERIFY( csz01 == 2 );
+
+  // size_type find_first_not_of(char c, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of('B');
+  VERIFY( csz01 == 1 );
+  csz01 = str01.find_first_not_of('o', 1);
+  VERIFY( csz01 == 2 );
+  csz01 = str02.find_first_not_of('z');
+  VERIFY( csz01 == 0 );
+  csz01 = str04.find_first_not_of('S');
+  VERIFY( csz01 == npos );
+
+  return true;
+}
+#endif
+
+int
+main()
+{
+  test03();
+#ifndef GDB_STRING_VIEW
+  static_assert( test04() );
+#endif
+
+  return 0;
+}
+
+} // namespace operations_find_3
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/char/4.cc ./gdb/unittests/basic_string_view/operations/find/char/4.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/char/4.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/find/char/4.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,45 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view find
+
+namespace operations_find_4 {
+
+// libstdc++/31401
+void
+test01()
+{
+  typedef gdb::string_view::size_type csize_type;
+  csize_type npos = gdb::string_view::npos;
+
+  gdb::string_view use = "anu";
+  csize_type pos1 = use.find("a", npos);
+
+  VERIFY( pos1 == npos );
+}
+
+int
+main()
+{
+  test01();
+
+  return 0;
+}
+
+} // namespace operations_find_4
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/wchar_t/1.cc ./gdb/unittests/basic_string_view/operations/find/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/find/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,163 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view find
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  typedef std::wstring_view::size_type csize_type;
+  typedef std::wstring_view::const_reference cref;
+  typedef std::wstring_view::reference ref;
+  csize_type npos = std::wstring_view::npos;
+  csize_type csz01, csz02;
+
+  const wchar_t str_lit01[] = L"mave";
+  const std::wstring_view str01(L"mavericks, santa cruz");
+  std::wstring_view str02(str_lit01);
+  std::wstring_view str03(L"s, s");
+  std::wstring_view str04;
+
+  // size_type find(const wstring_view&, size_type pos = 0) const;
+  csz01 = str01.find(str01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str01, 4);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str02, 3);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find(str03, 3);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find(str03, 12);
+  VERIFY( csz01 == npos );
+
+  // An empty string_view consists of no characters
+  // therefore it should be found at every point in a string_view,
+  // except beyond the end
+  csz01 = str01.find(str04, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str04, 5);
+  VERIFY( csz01 == 5 );
+  csz01 = str01.find(str04, str01.size());
+  VERIFY( csz01 == str01.size() );
+  csz01 = str01.find(str04, str01.size()+1);
+  VERIFY( csz01 == npos );
+
+  // size_type find(const wchar_t* s, size_type pos, size_type n) const;
+  csz01 = str01.find(str_lit01, 0, 3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str_lit01, 3, 0);
+  VERIFY( csz01 == 3 );
+
+  // size_type find(const wchar_t* s, size_type pos = 0) const;
+  csz01 = str01.find(str_lit01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str_lit01, 3);
+  VERIFY( csz01 == npos );
+
+  // size_type find(wchar_t c, size_type pos = 0) const;
+  csz01 = str01.find(L'z');
+  csz02 = str01.size() - 1;
+  VERIFY( csz01 == csz02 );
+  csz01 = str01.find(L'/');
+  VERIFY( csz01 == npos );
+}
+
+constexpr bool
+test02()
+{
+  typedef std::wstring_view::size_type csize_type;
+  typedef std::wstring_view::const_reference cref;
+  typedef std::wstring_view::reference ref;
+  csize_type npos = std::wstring_view::npos;
+  csize_type csz01 = 0, csz02 = 0;
+
+  const wchar_t str_lit01[] = L"mave";
+  const std::wstring_view str01(L"mavericks, santa cruz");
+  std::wstring_view str02(str_lit01);
+  std::wstring_view str03(L"s, s");
+  std::wstring_view str04;
+
+#undef VERIFY
+#define VERIFY(x) if(!(x)) return false
+
+  // size_type find(const wstring_view&, size_type pos = 0) const;
+  csz01 = str01.find(str01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str01, 4);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str02, 3);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find(str03, 3);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find(str03, 12);
+  VERIFY( csz01 == npos );
+
+  // An empty string_view consists of no characters
+  // therefore it should be found at every point in a string_view,
+  // except beyond the end
+  csz01 = str01.find(str04, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str04, 5);
+  VERIFY( csz01 == 5 );
+  csz01 = str01.find(str04, str01.size());
+  VERIFY( csz01 == str01.size() );
+  csz01 = str01.find(str04, str01.size()+1);
+  VERIFY( csz01 == npos );
+
+  // size_type find(const wchar_t* s, size_type pos, size_type n) const;
+  csz01 = str01.find(str_lit01, 0, 3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str_lit01, 3, 0);
+  VERIFY( csz01 == 3 );
+
+  // size_type find(const wchar_t* s, size_type pos = 0) const;
+  csz01 = str01.find(str_lit01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find(str_lit01, 3);
+  VERIFY( csz01 == npos );
+
+  // size_type find(wchar_t c, size_type pos = 0) const;
+  csz01 = str01.find(L'z');
+  csz02 = str01.size() - 1;
+  VERIFY( csz01 == csz02 );
+  csz01 = str01.find(L'/');
+  VERIFY( csz01 == npos );
+
+  return true;
+}
+
+int
+main()
+{
+  test01();
+  static_assert( test02() );
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operations/find/wchar_t/2.cc ./gdb/unittests/basic_string_view/operations/find/wchar_t/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/wchar_t/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/find/wchar_t/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,161 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view find_first_of
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+void
+test02()
+{
+  typedef std::wstring_view::size_type csize_type;
+  csize_type npos = std::wstring_view::npos;
+  csize_type csz01, csz02;
+
+  const wchar_t str_lit01[] = L"mave";
+  const std::wstring_view str01(L"mavericks, santa cruz");
+  std::wstring_view str02(str_lit01);
+  std::wstring_view str03(L"s, s");
+  std::wstring_view str04;
+
+  // size_type find_first_of(const wstring_view&, size_type pos = 0) const;
+  std::wstring_view str05(L"xena rulez");
+  csz01 = str01.find_first_of(str01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str01, 4);
+  VERIFY( csz01 == 4 );
+  csz01 = str01.find_first_of(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str02, 3);
+  VERIFY( csz01 == 3 );
+  csz01 = str01.find_first_of(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_of(str03, 3);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_of(str03, 12);
+  VERIFY( csz01 == 16 );
+  csz01 = str01.find_first_of(str05, 0);
+  VERIFY( csz01 == 1 );
+  csz01 = str01.find_first_of(str05, 4);
+  VERIFY( csz01 == 4 );
+
+  // An empty string_view consists of no characters
+  // therefore it should be found at every point in a string_view,
+  // except beyond the end
+  // However, str1.find_first_of(str2,pos) finds the first character in
+  // str1 (starting at pos) that exists in str2, which is none for empty str2
+  csz01 = str01.find_first_of(str04, 0);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_of(str04, 5);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_of(const wchar_t* s, size_type pos, size_type n) const;
+  csz01 = str01.find_first_of(str_lit01, 0, 3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str_lit01, 3, 0);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_of(const wchar_t* s, size_type pos = 0) const;
+  csz01 = str01.find_first_of(str_lit01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str_lit01, 3);
+  VERIFY( csz01 == 3 );
+
+  // size_type find_first_of(wchar_t c, size_type pos = 0) const;
+  csz01 = str01.find_first_of(L'z');
+  csz02 = str01.size() - 1;
+  VERIFY( csz01 == csz02 );
+}
+
+constexpr bool
+test04()
+{
+  typedef std::wstring_view::size_type csize_type;
+  csize_type npos = std::wstring_view::npos;
+  csize_type csz01 = 0, csz02 = 0;
+
+  const wchar_t str_lit01[] = L"mave";
+  const std::wstring_view str01(L"mavericks, santa cruz");
+  std::wstring_view str02(str_lit01);
+  std::wstring_view str03(L"s, s");
+  std::wstring_view str04;
+
+#undef VERIFY
+#define VERIFY(x) if(!(x)) return false
+
+  // size_type find_first_of(const wstring_view&, size_type pos = 0) const;
+  std::wstring_view str05(L"xena rulez");
+  csz01 = str01.find_first_of(str01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str01, 4);
+  VERIFY( csz01 == 4 );
+  csz01 = str01.find_first_of(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str02, 3);
+  VERIFY( csz01 == 3 );
+  csz01 = str01.find_first_of(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_of(str03, 3);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_of(str03, 12);
+  VERIFY( csz01 == 16 );
+  csz01 = str01.find_first_of(str05, 0);
+  VERIFY( csz01 == 1 );
+  csz01 = str01.find_first_of(str05, 4);
+  VERIFY( csz01 == 4 );
+
+  // An empty string_view consists of no characters
+  // therefore it should be found at every point in a string_view,
+  // except beyond the end
+  // However, str1.find_first_of(str2,pos) finds the first character in
+  // str1 (starting at pos) that exists in str2, which is none for empty str2
+  csz01 = str01.find_first_of(str04, 0);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_of(str04, 5);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_of(const wchar_t* s, size_type pos, size_type n) const;
+  csz01 = str01.find_first_of(str_lit01, 0, 3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str_lit01, 3, 0);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_of(const wchar_t* s, size_type pos = 0) const;
+  csz01 = str01.find_first_of(str_lit01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_of(str_lit01, 3);
+  VERIFY( csz01 == 3 );
+
+  // size_type find_first_of(wchar_t c, size_type pos = 0) const;
+  csz01 = str01.find_first_of(L'z');
+  csz02 = str01.size() - 1;
+  VERIFY( csz01 == csz02 );
+
+  return true;
+}
+
+int
+main()
+{
+  test02();
+  static_assert( test04() );
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operations/find/wchar_t/3.cc ./gdb/unittests/basic_string_view/operations/find/wchar_t/3.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/wchar_t/3.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/find/wchar_t/3.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,161 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view find_first_not_of
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+void
+test03()
+{
+  typedef std::wstring_view::size_type csize_type;
+  csize_type npos = std::wstring_view::npos;
+  csize_type csz01;
+
+  const std::wstring_view str01(L"Bob Rock, per me");
+  const wchar_t str_lit01[] = L"Bob Rock";
+  std::wstring_view str02(L"ovvero Trivi");
+  std::wstring_view str03(str_lit01);
+  std::wstring_view str04;
+
+  // size_type find_first_not_of(const string_view&, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of(str01);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_not_of(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str02, 10);
+  VERIFY( csz01 == 10 );
+  csz01 = str01.find_first_not_of(str02, 12);
+  VERIFY( csz01 == 14 );
+  csz01 = str01.find_first_not_of(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_not_of(str03, 15);
+  VERIFY( csz01 == 15 );
+  csz01 = str01.find_first_not_of(str03, 16);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_not_of(str04, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str04, 12);
+  VERIFY( csz01 == 12 );
+  csz01 = str03.find_first_not_of(str01, 0);
+  VERIFY( csz01 == npos );
+  csz01 = str04.find_first_not_of(str02, 0);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_not_of(const char* s, size_type pos, size_type n) const;
+  csz01 = str01.find_first_not_of(str_lit01, 0, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str_lit01, 0, 8);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_not_of(str_lit01, 10, 0);
+  VERIFY( csz01 == 10 );
+
+  // size_type find_first_not_of(const char* s, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of(str_lit01);
+  VERIFY( csz01 == 8 );
+  csz01 = str02.find_first_not_of(str_lit01, 2);
+  VERIFY( csz01 == 2 );
+
+  // size_type find_first_not_of(char c, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of(L'B');
+  VERIFY( csz01 == 1 );
+  csz01 = str01.find_first_not_of(L'o', 1);
+  VERIFY( csz01 == 2 );
+  csz01 = str02.find_first_not_of(L'z');
+  VERIFY( csz01 == 0 );
+  csz01 = str04.find_first_not_of(L'S');
+  VERIFY( csz01 == npos );
+}
+
+constexpr bool
+test04()
+{
+  typedef std::wstring_view::size_type csize_type;
+  csize_type npos = std::wstring_view::npos;
+  csize_type csz01 = 0;
+
+  const std::wstring_view str01(L"Bob Rock, per me");
+  const wchar_t str_lit01[] = L"Bob Rock";
+  std::wstring_view str02(L"ovvero Trivi");
+  std::wstring_view str03(str_lit01);
+  std::wstring_view str04;
+
+#undef VERIFY
+#define VERIFY(x) if(!(x)) return false
+
+  // size_type find_first_not_of(const string_view&, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of(str01);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_not_of(str02, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str02, 10);
+  VERIFY( csz01 == 10 );
+  csz01 = str01.find_first_not_of(str02, 12);
+  VERIFY( csz01 == 14 );
+  csz01 = str01.find_first_not_of(str03, 0);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_not_of(str03, 15);
+  VERIFY( csz01 == 15 );
+  csz01 = str01.find_first_not_of(str03, 16);
+  VERIFY( csz01 == npos );
+  csz01 = str01.find_first_not_of(str04, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str04, 12);
+  VERIFY( csz01 == 12 );
+  csz01 = str03.find_first_not_of(str01, 0);
+  VERIFY( csz01 == npos );
+  csz01 = str04.find_first_not_of(str02, 0);
+  VERIFY( csz01 == npos );
+
+  // size_type find_first_not_of(const char* s, size_type pos, size_type n) const;
+  csz01 = str01.find_first_not_of(str_lit01, 0, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.find_first_not_of(str_lit01, 0, 8);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.find_first_not_of(str_lit01, 10, 0);
+  VERIFY( csz01 == 10 );
+
+  // size_type find_first_not_of(const char* s, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of(str_lit01);
+  VERIFY( csz01 == 8 );
+  csz01 = str02.find_first_not_of(str_lit01, 2);
+  VERIFY( csz01 == 2 );
+
+  // size_type find_first_not_of(char c, size_type pos = 0) const;
+  csz01 = str01.find_first_not_of(L'B');
+  VERIFY( csz01 == 1 );
+  csz01 = str01.find_first_not_of(L'o', 1);
+  VERIFY( csz01 == 2 );
+  csz01 = str02.find_first_not_of(L'z');
+  VERIFY( csz01 == 0 );
+  csz01 = str04.find_first_not_of(L'S');
+  VERIFY( csz01 == npos );
+
+  return true;
+}
+
+int
+main()
+{
+  test03();
+  static_assert( test04() );
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operations/find/wchar_t/4.cc ./gdb/unittests/basic_string_view/operations/find/wchar_t/4.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/find/wchar_t/4.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/find/wchar_t/4.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,44 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view find
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+// libstdc++/31401
+void
+test01()
+{
+  typedef std::wstring_view::size_type csize_type;
+  csize_type npos = std::wstring_view::npos;
+
+  std::wstring_view use = L"anu";
+  csize_type pos1 = use.find(L"a", npos);
+
+  VERIFY( pos1 == npos );
+}
+
+int
+main()
+{
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/char/1.cc ./gdb/unittests/basic_string_view/operations/rfind/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/rfind/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,95 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+namespace operations_rfind_1 {
+
+// basic_string_view rfind
+
+void
+test01()
+{
+  typedef gdb::string_view::size_type csize_type;
+  typedef gdb::string_view::const_reference cref;
+  typedef gdb::string_view::reference ref;
+  csize_type npos = gdb::string_view::npos;
+  csize_type csz01, csz02;
+
+  const char str_lit01[] = "mave";
+  const gdb::string_view str01("mavericks, santa cruz");
+  gdb::string_view str02(str_lit01);
+  gdb::string_view str03("s, s");
+  gdb::string_view str04;
+
+  // size_type rfind(const string_view&, size_type pos = 0) const;
+  csz01 = str01.rfind(str01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str01, 4);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str02,3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str02);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str03);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.rfind(str03, 3);
+  VERIFY( csz01 == npos );
+  csz01 = str01.rfind(str03, 12);
+  VERIFY( csz01 == 8 );
+
+  // An empty string_view consists of no characters
+  // therefore it should be found at every point in a string_view,
+  // except beyond the end
+  csz01 = str01.rfind(str04, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str04, 5);
+  VERIFY( csz01 == 5 );
+  csz01 = str01.rfind(str04, str01.size());
+  VERIFY( csz01 == str01.size() );
+  csz01 = str01.rfind(str04, str01.size()+1);
+  VERIFY( csz01 == str01.size() );
+
+  // size_type rfind(const char* s, size_type pos, size_type n) const;
+  csz01 = str01.rfind(str_lit01, 0, 3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str_lit01, 3, 0);
+  VERIFY( csz01 == 3 );
+
+  // size_type rfind(const char* s, size_type pos = 0) const;
+  csz01 = str01.rfind(str_lit01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str_lit01, 3);
+  VERIFY( csz01 == 0 );
+
+  // size_type rfind(char c, size_type pos = 0) const;
+  csz01 = str01.rfind('z');
+  csz02 = str01.size() - 1;
+  VERIFY( csz01 == csz02 );
+  csz01 = str01.rfind('/');
+  VERIFY( csz01 == npos );
+}
+
+int
+main()
+{
+  test01();
+
+  return 0;
+}
+
+} // namespace operations_rfind_1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/char/2.cc ./gdb/unittests/basic_string_view/operations/rfind/char/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/char/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/rfind/char/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,53 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+namespace operations_rfind_2 {
+
+// basic_string_view::find_last_of
+
+void
+test02()
+{
+  gdb::string_view z("ab");
+  gdb::string_view::size_type pos;
+  pos = z.find_last_of("ab");
+  VERIFY( pos == 1 );
+  pos = z.find_last_of("Xa");
+  VERIFY( pos == 0 );
+  pos = z.find_last_of("Xb");
+  VERIFY( pos == 1 );
+  pos = z.find_last_of("XYZ");
+  VERIFY( pos == gdb::string_view::npos );
+  pos = z.find_last_of('a');
+  VERIFY( pos == 0 );
+  pos = z.find_last_of('b');
+  VERIFY( pos == 1 );
+  pos = z.find_last_of('X');
+  VERIFY( pos == gdb::string_view::npos );
+}
+
+int
+main()
+{
+  test02();
+
+  return 0;
+}
+
+} // namespace operations_rfind_2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/char/3.cc ./gdb/unittests/basic_string_view/operations/rfind/char/3.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/char/3.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/rfind/char/3.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,67 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+namespace operations_rfind_3 {
+
+// basic_string_view::find_last_not_of
+
+void
+test03()
+{
+  typedef gdb::string_view::size_type csize_type;
+  gdb::string_view::size_type pos;
+  csize_type npos = gdb::string_view::npos;
+
+  gdb::string_view x;
+  pos = x.find_last_not_of('X');
+  VERIFY( pos == npos );
+  pos = x.find_last_not_of("XYZ");
+  VERIFY( pos == npos );
+
+  gdb::string_view y("a");
+  pos = y.find_last_not_of('X');
+  VERIFY( pos == 0 );
+  pos = y.find_last_not_of('a');
+  VERIFY( pos == npos );
+  pos = y.find_last_not_of("XYZ");
+  VERIFY( pos == 0 );
+  pos = y.find_last_not_of("a");
+  VERIFY( pos == npos );
+
+  gdb::string_view z("ab");
+  pos = z.find_last_not_of('X');
+  VERIFY( pos == 1 );
+  pos = z.find_last_not_of("XYZ");
+  VERIFY( pos == 1 );
+  pos = z.find_last_not_of('b');
+  VERIFY( pos == 0 );
+  pos = z.find_last_not_of("Xb");
+  VERIFY( pos == 0 );
+  pos = z.find_last_not_of("Xa");
+  VERIFY( pos == 1 );
+}
+int
+main()
+{
+  test03();
+
+  return 0;
+}
+
+} // namespace operations_rfind_3
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/wchar_t/1.cc ./gdb/unittests/basic_string_view/operations/rfind/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/rfind/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,94 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+// basic_string_view rfind
+
+void
+test01()
+{
+  typedef std::wstring_view::size_type csize_type;
+  typedef std::wstring_view::const_reference cref;
+  typedef std::wstring_view::reference ref;
+  csize_type npos = std::wstring_view::npos;
+  csize_type csz01, csz02;
+
+  const wchar_t str_lit01[] = L"mave";
+  const std::wstring_view str01(L"mavericks, santa cruz");
+  std::wstring_view str02(str_lit01);
+  std::wstring_view str03(L"s, s");
+  std::wstring_view str04;
+
+  // size_type rfind(const wstring_view&, size_type pos = 0) const;
+  csz01 = str01.rfind(str01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str01, 4);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str02,3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str02);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str03);
+  VERIFY( csz01 == 8 );
+  csz01 = str01.rfind(str03, 3);
+  VERIFY( csz01 == npos );
+  csz01 = str01.rfind(str03, 12);
+  VERIFY( csz01 == 8 );
+
+  // An empty string_view consists of no characters
+  // therefore it should be found at every point in a string_view,
+  // except beyond the end
+  csz01 = str01.rfind(str04, 0);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str04, 5);
+  VERIFY( csz01 == 5 );
+  csz01 = str01.rfind(str04, str01.size());
+  VERIFY( csz01 == str01.size() );
+  csz01 = str01.rfind(str04, str01.size()+1);
+  VERIFY( csz01 == str01.size() );
+
+  // size_type rfind(const wchar_t* s, size_type pos, size_type n) const;
+  csz01 = str01.rfind(str_lit01, 0, 3);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str_lit01, 3, 0);
+  VERIFY( csz01 == 3 );
+
+  // size_type rfind(const wchar_t* s, size_type pos = 0) const;
+  csz01 = str01.rfind(str_lit01);
+  VERIFY( csz01 == 0 );
+  csz01 = str01.rfind(str_lit01, 3);
+  VERIFY( csz01 == 0 );
+
+  // size_type rfind(wchar_t c, size_type pos = 0) const;
+  csz01 = str01.rfind(L'z');
+  csz02 = str01.size() - 1;
+  VERIFY( csz01 == csz02 );
+  csz01 = str01.rfind(L'/');
+  VERIFY( csz01 == npos );
+}
+
+int
+main()
+{
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/wchar_t/2.cc ./gdb/unittests/basic_string_view/operations/rfind/wchar_t/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/wchar_t/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/rfind/wchar_t/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,52 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+// basic_string_view::find_last_of
+
+void
+test02()
+{
+  std::wstring_view::size_type pos;
+  std::wstring_view z(L"ab");
+  pos = z.find_last_of(L"ab");
+  VERIFY( pos == 1 );
+  pos = z.find_last_of(L"Xa");
+  VERIFY( pos == 0 );
+  pos = z.find_last_of(L"Xb");
+  VERIFY( pos == 1 );
+  pos = z.find_last_of(L"XYZ");
+  VERIFY( pos == std::wstring_view::npos );
+  pos = z.find_last_of(L'a');
+  VERIFY( pos == 0 );
+  pos = z.find_last_of(L'b');
+  VERIFY( pos == 1 );
+  pos = z.find_last_of(L'X');
+  VERIFY( pos == std::wstring_view::npos );
+}
+
+int
+main()
+{
+  test02();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/wchar_t/3.cc ./gdb/unittests/basic_string_view/operations/rfind/wchar_t/3.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/rfind/wchar_t/3.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/rfind/wchar_t/3.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,66 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+// basic_string_view::find_last_not_of
+
+void
+test03()
+{
+  typedef std::wstring_view::size_type csize_type;
+  std::wstring_view::size_type pos;
+  csize_type npos = std::wstring_view::npos;
+
+  std::wstring_view x;
+  pos = x.find_last_not_of(L'X');
+  VERIFY( pos == npos );
+  pos = x.find_last_not_of(L"XYZ");
+  VERIFY( pos == npos );
+
+  std::wstring_view y(L"a");
+  pos = y.find_last_not_of(L'X');
+  VERIFY( pos == 0 );
+  pos = y.find_last_not_of(L'a');
+  VERIFY( pos == npos );
+  pos = y.find_last_not_of(L"XYZ");
+  VERIFY( pos == 0 );
+  pos = y.find_last_not_of(L"a");
+  VERIFY( pos == npos );
+
+  std::wstring_view z(L"ab");
+  pos = z.find_last_not_of(L'X');
+  VERIFY( pos == 1 );
+  pos = z.find_last_not_of(L"XYZ");
+  VERIFY( pos == 1 );
+  pos = z.find_last_not_of(L'b');
+  VERIFY( pos == 0 );
+  pos = z.find_last_not_of(L"Xb");
+  VERIFY( pos == 0 );
+  pos = z.find_last_not_of(L"Xa");
+  VERIFY( pos == 1 );
+}
+int
+main()
+{
+  test03();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operations/string_conversion/1.cc ./gdb/unittests/basic_string_view/operations/string_conversion/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/string_conversion/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/string_conversion/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,51 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2014-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view::to_string
+
+#include <string_view>
+#include <string>
+#include <algorithm>
+#include <testsuite_hooks.h>
+#include <testsuite_allocator.h>
+
+void
+test01()
+{
+  const char str_lit[] = "123456789A";
+  const std::string_view sv(str_lit);
+  char buffer[4] = { 0 };
+
+  std::string s1{sv};
+  VERIFY( s1 == str_lit );
+  using test_alloc = __gnu_test::tracker_allocator<char>;
+  std::basic_string<char, std::char_traits<char>, test_alloc>
+    s2{sv, test_alloc{}};
+  static_assert( std::is_same<decltype(s2)::allocator_type, test_alloc>::value,
+                 "to_string() uses custom allocator" );
+  VERIFY( std::equal(s1.begin(), s1.end(), s2.begin(), s2.end()) );
+  auto s3 = static_cast<std::string>(sv);
+  VERIFY( s3 == s1 );
+}
+
+int
+main()
+{
+  test01();
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/substr/char/1.cc ./gdb/unittests/basic_string_view/operations/substr/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/substr/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/substr/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,79 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view::substr
+
+namespace operations_substr_1 {
+
+void
+test01()
+{
+  typedef gdb::string_view::size_type csize_type;
+  typedef gdb::string_view::const_reference cref;
+  typedef gdb::string_view::reference ref;
+  csize_type csz01;
+
+  const char str_lit01[] = "rockaway, pacifica";
+  const gdb::string_view str01(str_lit01);
+  gdb::string_view str02;
+
+  // basic_string_view<charT, _Traits, _Alloc>
+  //  substr(size_type pos = 0, size_type n = npos) const;
+  csz01 = str01.size();
+  str02 = str01.substr(0, 1);
+  VERIFY( str02 == "r" );
+  str02 = str01.substr(10);
+  VERIFY( str02 == "pacifica" );
+
+  try
+  {
+    str02 = str01.substr(csz01 + 1);
+    VERIFY( false ); 
+  }
+  catch(gdb_exception& fail)
+  {
+    VERIFY( true );
+  }
+  catch(...)
+  {
+    VERIFY( false );
+  }
+
+  try
+  {
+    str02 = str01.substr(csz01);
+    VERIFY( str02.size() == 0 );
+    VERIFY( str02.begin() == str01.end() );
+    VERIFY( true );
+  }
+  catch(...)
+  {
+    VERIFY( false );
+  }
+}
+
+int
+main()
+{ 
+  test01();
+
+  return 0;
+}
+
+} // namespace operations_substr_1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/substr/wchar_t/1.cc ./gdb/unittests/basic_string_view/operations/substr/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operations/substr/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operations/substr/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,79 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view::substr
+
+#include <string_view>
+#include <stdexcept>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  typedef std::wstring_view::size_type csize_type;
+  typedef std::wstring_view::const_reference cref;
+  typedef std::wstring_view::reference ref;
+  csize_type csz01;
+
+  const wchar_t str_lit01[] = L"rockaway, pacifica";
+  const std::wstring_view str01(str_lit01);
+  std::wstring_view str02;
+
+  // basic_string_view<charT, _Traits, _Alloc>
+  //  substr(size_type pos = 0, size_type n = npos) const;
+  csz01 = str01.size();
+  str02 = str01.substr(0, 1);
+  VERIFY( str02 == L"r" );
+  str02 = str01.substr(10);
+  VERIFY( str02 == L"pacifica" );
+
+  try
+  {
+    str02 = str01.substr(csz01 + 1);
+    VERIFY( false ); 
+  }
+  catch(std::out_of_range& fail)
+  {
+    VERIFY( true );
+  }
+  catch(...)
+  {
+    VERIFY( false );
+  }
+
+  try
+  {
+    str02 = str01.substr(csz01);
+    VERIFY( str02.size() == 0 );
+    VERIFY( str02.begin() == str01.end() );
+    VERIFY( true );
+  }
+  catch(...)
+  {
+    VERIFY( false );
+  }
+}
+
+int
+main()
+{ 
+  test01();
+
+  return 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.1.0.20180703/gdb/unittests/basic_string_view/operators/char/2.cc ./gdb/unittests/basic_string_view/operators/char/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operators/char/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operators/char/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,373 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string non-member functions
+
+// operator==
+/*
+template<class charT, class traits, class Allocator>
+  bool operator==(const basic_string<charT,traits,Allocator>& lhs,
+                  const basic_string<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator==(const charT* lhs,
+                  const basic_string<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator==(const basic_string<charT,traits,Allocator>& lhs,
+                  const charT* rhs);
+*/
+
+// operator!=
+/*
+template<class charT, class traits, class Allocator>
+  bool operator!=(const basic_string<charT,traits,Allocator>& lhs,
+                  const basic_string<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator!=(const charT* lhs,
+                  const basic_string<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator!=(const basic_string<charT,traits,Allocator>& lhs, 
+                  const charT* rhs);
+*/
+
+// operator<
+/*
+template<class charT, class traits, class Allocator>
+  bool operator< (const basic_string<charT,traits,Allocator>& lhs,
+                  const basic_string<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator< (const basic_string<charT,traits,Allocator>& lhs,
+                  const charT* rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator< (const charT* lhs, 
+                  const basic_string<charT,traits,Allocator>& rhs);
+*/
+
+// operator>
+/*
+template<class charT, class traits, class Allocator>
+  bool operator> (const basic_string<charT,traits,Allocator>& lhs,
+                  const basic_string<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator> (const basic_string<charT,traits,Allocator>& lhs,
+                  const charT* rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator> (const charT* lhs,
+                  const basic_string<charT,traits,Allocator>& rhs);
+*/
+
+// operator<=
+/*
+template<class charT, class traits, class Allocator>
+  bool operator<=(const basic_string<charT,traits,Allocator>& lhs,
+                  const basic_string<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator<=(const basic_string<charT,traits,Allocator>& lhs,
+                  const charT* rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator<=(const charT* lhs,
+                  const basic_string<charT,traits,Allocator>& rhs);
+*/
+
+// operator>=
+/*
+template<class charT, class traits, class Allocator>
+  bool operator>=(const basic_string<charT,traits,Allocator>& lhs,
+                const basic_string<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator>=(const basic_string<charT,traits,Allocator>& lhs,
+                  const charT* rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator>=(const charT* lhs,
+                  const basic_string<charT,traits,Allocator>& rhs);
+*/
+
+namespace operators_2 {
+
+void
+test01()
+{
+  gdb::string_view 	str_0("costa rica");
+  gdb::string_view 	str_1("costa marbella");
+  gdb::string_view 	str_2("cost");
+  gdb::string_view	str_3("costa ricans");
+  gdb::string_view      str_4;
+
+  str_4 = str_0;
+  //comparisons between string objects
+  VERIFY( !(str_0 == str_1) );
+  VERIFY( !(str_0 == str_2) );
+  VERIFY( !(str_0 == str_3) );
+  VERIFY( !(str_1 == str_0) );
+  VERIFY( !(str_2 == str_0) );
+  VERIFY( !(str_3 == str_0) );
+  VERIFY( str_4 == str_0 );
+  VERIFY( str_0 == str_4 );
+
+  VERIFY( str_0 != str_1 );
+  VERIFY( str_0 != str_2 );
+  VERIFY( str_0 != str_3 );
+  VERIFY( str_1 != str_0 );
+  VERIFY( str_2 != str_0 );
+  VERIFY( str_3 != str_0 );
+  VERIFY( !(str_0 != str_4) );
+  VERIFY( !(str_4 != str_0) );
+
+  VERIFY( str_0 > str_1 ); //true cuz r>m
+  VERIFY( str_0 > str_2 );
+  VERIFY( !(str_0 > str_3) );
+  VERIFY( !(str_1 > str_0) ); //false cuz m<r
+  VERIFY( !(str_2 > str_0) );
+  VERIFY( str_3 > str_0 );
+  VERIFY( !(str_0 > str_4) );
+  VERIFY( !(str_4 > str_0) );
+
+  VERIFY( !(str_0 < str_1) ); //false cuz r>m
+  VERIFY( !(str_0 < str_2) );
+  VERIFY( str_0 < str_3 );
+  VERIFY( str_1 < str_0 ); //true cuz m<r
+  VERIFY( str_2 < str_0 );
+  VERIFY( !(str_3 < str_0) );
+  VERIFY( !(str_0 < str_4) );
+  VERIFY( !(str_4 < str_0) );
+
+  VERIFY( str_0 >= str_1 ); //true cuz r>m
+  VERIFY( str_0 >= str_2 );
+  VERIFY( !(str_0 >= str_3) );
+  VERIFY( !(str_1 >= str_0) );//false cuz m<r
+  VERIFY( !(str_2 >= str_0) );
+  VERIFY( str_3 >= str_0 );
+  VERIFY( str_0 >= str_4 );
+  VERIFY( str_4 >= str_0 );
+
+  VERIFY( !(str_0 <= str_1) );//false cuz r>m
+  VERIFY( !(str_0 <= str_2) );
+  VERIFY( str_0 <= str_3 );
+  VERIFY( str_1 <= str_0 );//true cuz m<r
+  VERIFY( str_2 <= str_0 );
+  VERIFY( !(str_3 <= str_0) );
+  VERIFY( str_0 <= str_4 );
+  VERIFY( str_4 <= str_0 );
+
+  //comparisons between string object and string literal
+  VERIFY( !(str_0 == "costa marbella") );
+  VERIFY( !(str_0 == "cost") );
+  VERIFY( !(str_0 == "costa ricans") );
+  VERIFY( !("costa marbella" == str_0) );
+  VERIFY( !("cost" == str_0) );
+  VERIFY( !("costa ricans" == str_0) );
+  VERIFY( "costa rica" == str_0 );
+  VERIFY( str_0 == "costa rica" );
+
+  VERIFY( str_0 != "costa marbella" );
+  VERIFY( str_0 != "cost" );
+  VERIFY( str_0 != "costa ricans" );
+  VERIFY( "costa marbella" != str_0 );
+  VERIFY( "cost" != str_0 );
+  VERIFY( "costa ricans" != str_0 );
+  VERIFY( !("costa rica" != str_0) );
+  VERIFY( !(str_0 != "costa rica") );
+
+  VERIFY( str_0 > "costa marbella" ); //true cuz r>m
+  VERIFY( str_0 > "cost" );
+  VERIFY( !(str_0 > "costa ricans") );
+  VERIFY( !("costa marbella" > str_0) );//false cuz m<r
+  VERIFY( !("cost" > str_0) );
+  VERIFY( "costa ricans" > str_0 );
+  VERIFY( !("costa rica" > str_0) );
+  VERIFY( !(str_0 > "costa rica") );
+
+  VERIFY( !(str_0 < "costa marbella") );//false cuz r>m
+  VERIFY( !(str_0 < "cost") );
+  VERIFY( str_0 < "costa ricans" );
+  VERIFY( "costa marbella" < str_0 );//true cuz m<r
+  VERIFY( "cost" < str_0 );
+  VERIFY( !("costa ricans" < str_0) );
+  VERIFY( !("costa rica" < str_0) );
+  VERIFY( !(str_0 < "costa rica") );
+
+  VERIFY( str_0 >= "costa marbella" );//true cuz r>m
+  VERIFY( str_0 >= "cost" );
+  VERIFY( !(str_0 >= "costa ricans") );
+  VERIFY( !("costa marbella" >= str_0) );//false cuz m<r
+  VERIFY( !("cost" >= str_0) );
+  VERIFY( "costa ricans" >= str_0 );
+  VERIFY( "costa rica" >= str_0 );
+  VERIFY( str_0 >= "costa rica" );
+
+  VERIFY( !(str_0 <= "costa marbella") );//false cuz r>m
+  VERIFY( !(str_0 <= "cost") );
+  VERIFY( str_0 <= "costa ricans" );
+  VERIFY( "costa marbella" <= str_0 );//true cuz m<r
+  VERIFY( "cost" <= str_0 );
+  VERIFY( !("costa ricans" <= str_0) );
+  VERIFY( "costa rica" <= str_0 );
+  VERIFY( str_0 <= "costa rica" );
+}
+
+#ifndef GDB_STRING_VIEW
+constexpr bool
+test02()
+{
+  std::string_view 	str_0("costa rica");
+  std::string_view 	str_1("costa marbella");
+  std::string_view 	str_2("cost");
+  std::string_view	str_3("costa ricans");
+  std::string_view        str_4;
+
+#undef VERIFY
+#define VERIFY(x) if (!(x)) return false
+
+  str_4 = str_0;
+  //comparisons between string objects
+  VERIFY( !(str_0 == str_1) );
+  VERIFY( !(str_0 == str_2) );
+  VERIFY( !(str_0 == str_3) );
+  VERIFY( !(str_1 == str_0) );
+  VERIFY( !(str_2 == str_0) );
+  VERIFY( !(str_3 == str_0) );
+  VERIFY( str_4 == str_0 );
+  VERIFY( str_0 == str_4 );
+
+  VERIFY( str_0 != str_1 );
+  VERIFY( str_0 != str_2 );
+  VERIFY( str_0 != str_3 );
+  VERIFY( str_1 != str_0 );
+  VERIFY( str_2 != str_0 );
+  VERIFY( str_3 != str_0 );
+  VERIFY( !(str_0 != str_4) );
+  VERIFY( !(str_4 != str_0) );
+
+  VERIFY( str_0 > str_1 ); //true cuz r>m
+  VERIFY( str_0 > str_2 );
+  VERIFY( !(str_0 > str_3) );
+  VERIFY( !(str_1 > str_0) ); //false cuz m<r
+  VERIFY( !(str_2 > str_0) );
+  VERIFY( str_3 > str_0 );
+  VERIFY( !(str_0 > str_4) );
+  VERIFY( !(str_4 > str_0) );
+
+  VERIFY( !(str_0 < str_1) ); //false cuz r>m
+  VERIFY( !(str_0 < str_2) );
+  VERIFY( str_0 < str_3 );
+  VERIFY( str_1 < str_0 ); //true cuz m<r
+  VERIFY( str_2 < str_0 );
+  VERIFY( !(str_3 < str_0) );
+  VERIFY( !(str_0 < str_4) );
+  VERIFY( !(str_4 < str_0) );
+
+  VERIFY( str_0 >= str_1 ); //true cuz r>m
+  VERIFY( str_0 >= str_2 );
+  VERIFY( !(str_0 >= str_3) );
+  VERIFY( !(str_1 >= str_0) );//false cuz m<r
+  VERIFY( !(str_2 >= str_0) );
+  VERIFY( str_3 >= str_0 );
+  VERIFY( str_0 >= str_4 );
+  VERIFY( str_4 >= str_0 );
+
+  VERIFY( !(str_0 <= str_1) );//false cuz r>m
+  VERIFY( !(str_0 <= str_2) );
+  VERIFY( str_0 <= str_3 );
+  VERIFY( str_1 <= str_0 );//true cuz m<r
+  VERIFY( str_2 <= str_0 );
+  VERIFY( !(str_3 <= str_0) );
+  VERIFY( str_0 <= str_4 );
+  VERIFY( str_4 <= str_0 );
+
+  //comparisons between string object and string literal
+  VERIFY( !(str_0 == "costa marbella") );
+  VERIFY( !(str_0 == "cost") );
+  VERIFY( !(str_0 == "costa ricans") );
+  VERIFY( !("costa marbella" == str_0) );
+  VERIFY( !("cost" == str_0) );
+  VERIFY( !("costa ricans" == str_0) );
+  VERIFY( "costa rica" == str_0 );
+  VERIFY( str_0 == "costa rica" );
+
+  VERIFY( str_0 != "costa marbella" );
+  VERIFY( str_0 != "cost" );
+  VERIFY( str_0 != "costa ricans" );
+  VERIFY( "costa marbella" != str_0 );
+  VERIFY( "cost" != str_0 );
+  VERIFY( "costa ricans" != str_0 );
+  VERIFY( !("costa rica" != str_0) );
+  VERIFY( !(str_0 != "costa rica") );
+
+  VERIFY( str_0 > "costa marbella" ); //true cuz r>m
+  VERIFY( str_0 > "cost" );
+  VERIFY( !(str_0 > "costa ricans") );
+  VERIFY( !("costa marbella" > str_0) );//false cuz m<r
+  VERIFY( !("cost" > str_0) );
+  VERIFY( "costa ricans" > str_0 );
+  VERIFY( !("costa rica" > str_0) );
+  VERIFY( !(str_0 > "costa rica") );
+
+  VERIFY( !(str_0 < "costa marbella") );//false cuz r>m
+  VERIFY( !(str_0 < "cost") );
+  VERIFY( str_0 < "costa ricans" );
+  VERIFY( "costa marbella" < str_0 );//true cuz m<r
+  VERIFY( "cost" < str_0 );
+  VERIFY( !("costa ricans" < str_0) );
+  VERIFY( !("costa rica" < str_0) );
+  VERIFY( !(str_0 < "costa rica") );
+
+  VERIFY( str_0 >= "costa marbella" );//true cuz r>m
+  VERIFY( str_0 >= "cost" );
+  VERIFY( !(str_0 >= "costa ricans") );
+  VERIFY( !("costa marbella" >= str_0) );//false cuz m<r
+  VERIFY( !("cost" >= str_0) );
+  VERIFY( "costa ricans" >= str_0 );
+  VERIFY( "costa rica" >= str_0 );
+  VERIFY( str_0 >= "costa rica" );
+
+  VERIFY( !(str_0 <= "costa marbella") );//false cuz r>m
+  VERIFY( !(str_0 <= "cost") );
+  VERIFY( str_0 <= "costa ricans" );
+  VERIFY( "costa marbella" <= str_0 );//true cuz m<r
+  VERIFY( "cost" <= str_0 );
+  VERIFY( !("costa ricans" <= str_0) );
+  VERIFY( "costa rica" <= str_0 );
+  VERIFY( str_0 <= "costa rica" );
+
+  return true;
+}
+#endif
+
+int
+main()
+{
+  test01();
+#ifndef GDB_STRING_VIEW
+  static_assert( test02() );
+#endif
+  return 0;
+}
+
+} // namespace operators_2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operators/wchar_t/2.cc ./gdb/unittests/basic_string_view/operators/wchar_t/2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/operators/wchar_t/2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/operators/wchar_t/2.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,367 @@
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// basic_string_view non-member functions
+
+// operator==
+/*
+template<class charT, class traits, class Allocator>
+  bool operator==(const basic_string_view<charT,traits,Allocator>& lhs,
+                  const basic_string_view<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator==(const charT* lhs,
+                  const basic_string_view<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator==(const basic_string_view<charT,traits,Allocator>& lhs,
+                  const charT* rhs);
+*/
+
+// operator!=
+/*
+template<class charT, class traits, class Allocator>
+  bool operator!=(const basic_string_view<charT,traits,Allocator>& lhs,
+                  const basic_string_view<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator!=(const charT* lhs,
+                  const basic_string_view<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator!=(const basic_string_view<charT,traits,Allocator>& lhs,
+                  const charT* rhs);
+*/
+
+// operator<
+/*
+template<class charT, class traits, class Allocator>
+  bool operator< (const basic_string_view<charT,traits,Allocator>& lhs,
+                  const basic_string_view<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator< (const basic_string_view<charT,traits,Allocator>& lhs,
+                  const charT* rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator< (const charT* lhs,
+                  const basic_string_view<charT,traits,Allocator>& rhs);
+*/
+
+// operator>
+/*
+template<class charT, class traits, class Allocator>
+  bool operator> (const basic_string_view<charT,traits,Allocator>& lhs,
+                  const basic_string_view<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator> (const basic_string_view<charT,traits,Allocator>& lhs,
+                  const charT* rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator> (const charT* lhs,
+                  const basic_string_view<charT,traits,Allocator>& rhs);
+*/
+
+// operator<=
+/*
+template<class charT, class traits, class Allocator>
+  bool operator<=(const basic_string_view<charT,traits,Allocator>& lhs,
+                  const basic_string_view<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator<=(const basic_string_view<charT,traits,Allocator>& lhs,
+                  const charT* rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator<=(const charT* lhs,
+                  const basic_string_view<charT,traits,Allocator>& rhs);
+*/
+
+// operator>=
+/*
+template<class charT, class traits, class Allocator>
+  bool operator>=(const basic_string_view<charT,traits,Allocator>& lhs,
+                const basic_string_view<charT,traits,Allocator>& rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator>=(const basic_string_view<charT,traits,Allocator>& lhs,
+                  const charT* rhs);
+
+template<class charT, class traits, class Allocator>
+  bool operator>=(const charT* lhs,
+                  const basic_string_view<charT,traits,Allocator>& rhs);
+*/
+
+#include <string_view>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  std::wstring_view 	str_0(L"costa rica");
+  std::wstring_view 	str_1(L"costa marbella");
+  std::wstring_view 	str_2(L"cost");
+  std::wstring_view	str_3(L"costa ricans");
+  std::wstring_view  str_4;
+
+  str_4 = str_0;
+  //comparisons between string_view objects
+  VERIFY( !(str_0 == str_1) );
+  VERIFY( !(str_0 == str_2) );
+  VERIFY( !(str_0 == str_3) );
+  VERIFY( !(str_1 == str_0) );
+  VERIFY( !(str_2 == str_0) );
+  VERIFY( !(str_3 == str_0) );
+  VERIFY( str_4 == str_0 );
+  VERIFY( str_0 == str_4 );
+
+  VERIFY( str_0 != str_1 );
+  VERIFY( str_0 != str_2 );
+  VERIFY( str_0 != str_3 );
+  VERIFY( str_1 != str_0 );
+  VERIFY( str_2 != str_0 );
+  VERIFY( str_3 != str_0 );
+  VERIFY( !(str_0 != str_4) );
+  VERIFY( !(str_4 != str_0) );
+
+  VERIFY( str_0 > str_1 ); //true cuz r>m
+  VERIFY( str_0 > str_2 );
+  VERIFY( !(str_0 > str_3) );
+  VERIFY( !(str_1 > str_0) ); //false cuz m<r
+  VERIFY( !(str_2 > str_0) );
+  VERIFY( str_3 > str_0 );
+  VERIFY( !(str_0 > str_4) );
+  VERIFY( !(str_4 > str_0) );
+
+  VERIFY( !(str_0 < str_1) ); //false cuz r>m
+  VERIFY( !(str_0 < str_2) );
+  VERIFY( str_0 < str_3 );
+  VERIFY( str_1 < str_0 ); //true cuz m<r
+  VERIFY( str_2 < str_0 );
+  VERIFY( !(str_3 < str_0) );
+  VERIFY( !(str_0 < str_4) );
+  VERIFY( !(str_4 < str_0) );
+
+  VERIFY( str_0 >= str_1 ); //true cuz r>m
+  VERIFY( str_0 >= str_2 );
+  VERIFY( !(str_0 >= str_3) );
+  VERIFY( !(str_1 >= str_0) );//false cuz m<r
+  VERIFY( !(str_2 >= str_0) );
+  VERIFY( str_3 >= str_0 );
+  VERIFY( str_0 >= str_4 );
+  VERIFY( str_4 >= str_0 );
+
+  VERIFY( !(str_0 <= str_1) );//false cuz r>m
+  VERIFY( !(str_0 <= str_2) );
+  VERIFY( str_0 <= str_3 );
+  VERIFY( str_1 <= str_0 );//true cuz m<r
+  VERIFY( str_2 <= str_0 );
+  VERIFY( !(str_3 <= str_0) );
+  VERIFY( str_0 <= str_4 );
+  VERIFY( str_4 <= str_0 );
+
+  //comparisons between string_view object and string_view literal
+  VERIFY( !(str_0 == L"costa marbella") );
+  VERIFY( !(str_0 == L"cost") );
+  VERIFY( !(str_0 == L"costa ricans") );
+  VERIFY( !(L"costa marbella" == str_0) );
+  VERIFY( !(L"cost" == str_0) );
+  VERIFY( !(L"costa ricans" == str_0) );
+  VERIFY( L"costa rica" == str_0 );
+  VERIFY( str_0 == L"costa rica" );
+
+  VERIFY( str_0 != L"costa marbella" );
+  VERIFY( str_0 != L"cost" );
+  VERIFY( str_0 != L"costa ricans" );
+  VERIFY( L"costa marbella" != str_0 );
+  VERIFY( L"cost" != str_0 );
+  VERIFY( L"costa ricans" != str_0 );
+  VERIFY( !(L"costa rica" != str_0) );
+  VERIFY( !(str_0 != L"costa rica") );
+
+  VERIFY( str_0 > L"costa marbella" ); //true cuz r>m
+  VERIFY( str_0 > L"cost" );
+  VERIFY( !(str_0 > L"costa ricans") );
+  VERIFY( !(L"costa marbella" > str_0) );//false cuz m<r
+  VERIFY( !(L"cost" > str_0) );
+  VERIFY( L"costa ricans" > str_0 );
+  VERIFY( !(L"costa rica" > str_0) );
+  VERIFY( !(str_0 > L"costa rica") );
+
+  VERIFY( !(str_0 < L"costa marbella") );//false cuz r>m
+  VERIFY( !(str_0 < L"cost") );
+  VERIFY( str_0 < L"costa ricans" );
+  VERIFY( L"costa marbella" < str_0 );//true cuz m<r
+  VERIFY( L"cost" < str_0 );
+  VERIFY( !(L"costa ricans" < str_0) );
+  VERIFY( !(L"costa rica" < str_0) );
+  VERIFY( !(str_0 < L"costa rica") );
+
+  VERIFY( str_0 >= L"costa marbella" );//true cuz r>m
+  VERIFY( str_0 >= L"cost" );
+  VERIFY( !(str_0 >= L"costa ricans") );
+  VERIFY( !(L"costa marbella" >= str_0) );//false cuz m<r
+  VERIFY( !(L"cost" >= str_0) );
+  VERIFY( L"costa ricans" >= str_0 );
+  VERIFY( L"costa rica" >= str_0 );
+  VERIFY( str_0 >= L"costa rica" );
+
+  VERIFY( !(str_0 <= L"costa marbella") );//false cuz r>m
+  VERIFY( !(str_0 <= L"cost") );
+  VERIFY( str_0 <= L"costa ricans" );
+  VERIFY( L"costa marbella" <= str_0 );//true cuz m<r
+  VERIFY( L"cost" <= str_0 );
+  VERIFY( !(L"costa ricans" <= str_0) );
+  VERIFY( L"costa rica" <= str_0 );
+  VERIFY( str_0 <= L"costa rica" );
+}
+
+constexpr bool
+test02()
+{
+  std::wstring_view 	str_0(L"costa rica");
+  std::wstring_view 	str_1(L"costa marbella");
+  std::wstring_view 	str_2(L"cost");
+  std::wstring_view	str_3(L"costa ricans");
+  std::wstring_view  str_4;
+
+#undef VERIFY
+#define VERIFY(x) if (!(x)) return false
+
+  str_4 = str_0;
+  //comparisons between string_view objects
+  VERIFY( !(str_0 == str_1) );
+  VERIFY( !(str_0 == str_2) );
+  VERIFY( !(str_0 == str_3) );
+  VERIFY( !(str_1 == str_0) );
+  VERIFY( !(str_2 == str_0) );
+  VERIFY( !(str_3 == str_0) );
+  VERIFY( str_4 == str_0 );
+  VERIFY( str_0 == str_4 );
+
+  VERIFY( str_0 != str_1 );
+  VERIFY( str_0 != str_2 );
+  VERIFY( str_0 != str_3 );
+  VERIFY( str_1 != str_0 );
+  VERIFY( str_2 != str_0 );
+  VERIFY( str_3 != str_0 );
+  VERIFY( !(str_0 != str_4) );
+  VERIFY( !(str_4 != str_0) );
+
+  VERIFY( str_0 > str_1 ); //true cuz r>m
+  VERIFY( str_0 > str_2 );
+  VERIFY( !(str_0 > str_3) );
+  VERIFY( !(str_1 > str_0) ); //false cuz m<r
+  VERIFY( !(str_2 > str_0) );
+  VERIFY( str_3 > str_0 );
+  VERIFY( !(str_0 > str_4) );
+  VERIFY( !(str_4 > str_0) );
+
+  VERIFY( !(str_0 < str_1) ); //false cuz r>m
+  VERIFY( !(str_0 < str_2) );
+  VERIFY( str_0 < str_3 );
+  VERIFY( str_1 < str_0 ); //true cuz m<r
+  VERIFY( str_2 < str_0 );
+  VERIFY( !(str_3 < str_0) );
+  VERIFY( !(str_0 < str_4) );
+  VERIFY( !(str_4 < str_0) );
+
+  VERIFY( str_0 >= str_1 ); //true cuz r>m
+  VERIFY( str_0 >= str_2 );
+  VERIFY( !(str_0 >= str_3) );
+  VERIFY( !(str_1 >= str_0) );//false cuz m<r
+  VERIFY( !(str_2 >= str_0) );
+  VERIFY( str_3 >= str_0 );
+  VERIFY( str_0 >= str_4 );
+  VERIFY( str_4 >= str_0 );
+
+  VERIFY( !(str_0 <= str_1) );//false cuz r>m
+  VERIFY( !(str_0 <= str_2) );
+  VERIFY( str_0 <= str_3 );
+  VERIFY( str_1 <= str_0 );//true cuz m<r
+  VERIFY( str_2 <= str_0 );
+  VERIFY( !(str_3 <= str_0) );
+  VERIFY( str_0 <= str_4 );
+  VERIFY( str_4 <= str_0 );
+
+  //comparisons between string_view object and string_view literal
+  VERIFY( !(str_0 == L"costa marbella") );
+  VERIFY( !(str_0 == L"cost") );
+  VERIFY( !(str_0 == L"costa ricans") );
+  VERIFY( !(L"costa marbella" == str_0) );
+  VERIFY( !(L"cost" == str_0) );
+  VERIFY( !(L"costa ricans" == str_0) );
+  VERIFY( L"costa rica" == str_0 );
+  VERIFY( str_0 == L"costa rica" );
+
+  VERIFY( str_0 != L"costa marbella" );
+  VERIFY( str_0 != L"cost" );
+  VERIFY( str_0 != L"costa ricans" );
+  VERIFY( L"costa marbella" != str_0 );
+  VERIFY( L"cost" != str_0 );
+  VERIFY( L"costa ricans" != str_0 );
+  VERIFY( !(L"costa rica" != str_0) );
+  VERIFY( !(str_0 != L"costa rica") );
+
+  VERIFY( str_0 > L"costa marbella" ); //true cuz r>m
+  VERIFY( str_0 > L"cost" );
+  VERIFY( !(str_0 > L"costa ricans") );
+  VERIFY( !(L"costa marbella" > str_0) );//false cuz m<r
+  VERIFY( !(L"cost" > str_0) );
+  VERIFY( L"costa ricans" > str_0 );
+  VERIFY( !(L"costa rica" > str_0) );
+  VERIFY( !(str_0 > L"costa rica") );
+
+  VERIFY( !(str_0 < L"costa marbella") );//false cuz r>m
+  VERIFY( !(str_0 < L"cost") );
+  VERIFY( str_0 < L"costa ricans" );
+  VERIFY( L"costa marbella" < str_0 );//true cuz m<r
+  VERIFY( L"cost" < str_0 );
+  VERIFY( !(L"costa ricans" < str_0) );
+  VERIFY( !(L"costa rica" < str_0) );
+  VERIFY( !(str_0 < L"costa rica") );
+
+  VERIFY( str_0 >= L"costa marbella" );//true cuz r>m
+  VERIFY( str_0 >= L"cost" );
+  VERIFY( !(str_0 >= L"costa ricans") );
+  VERIFY( !(L"costa marbella" >= str_0) );//false cuz m<r
+  VERIFY( !(L"cost" >= str_0) );
+  VERIFY( L"costa ricans" >= str_0 );
+  VERIFY( L"costa rica" >= str_0 );
+  VERIFY( str_0 >= L"costa rica" );
+
+  VERIFY( !(str_0 <= L"costa marbella") );//false cuz r>m
+  VERIFY( !(str_0 <= L"cost") );
+  VERIFY( str_0 <= L"costa ricans" );
+  VERIFY( L"costa marbella" <= str_0 );//true cuz m<r
+  VERIFY( L"cost" <= str_0 );
+  VERIFY( !(L"costa ricans" <= str_0) );
+  VERIFY( L"costa rica" <= str_0 );
+  VERIFY( str_0 <= L"costa rica" );
+
+  return true;
+}
+
+int
+main()
+{
+  test01();
+  static_assert( test02() );
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/range_access/char/1.cc ./gdb/unittests/basic_string_view/range_access/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/range_access/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/range_access/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,47 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// C++17 27.7, range access [iterator.range]
+
+#include <string_view>
+
+void
+test01()
+{
+  std::string_view s("Hello, World!");
+  std::begin(s);
+  std::end(s);
+  std::rbegin(s);
+  std::rend(s);
+}
+
+void
+test02()
+{
+  constexpr std::string_view s("Hello, World!");
+  [[maybe_unused]] constexpr auto b = std::begin(s);
+  [[maybe_unused]] constexpr auto e = std::end(s);
+  [[maybe_unused]] constexpr auto cb = std::cbegin(s);
+  [[maybe_unused]] constexpr auto ce = std::cend(s);
+  [[maybe_unused]] constexpr auto rb = std::rbegin(s);
+  [[maybe_unused]] constexpr auto re = std::rend(s);
+  [[maybe_unused]] constexpr auto crb = std::crbegin(s);
+  [[maybe_unused]] constexpr auto cre = std::crend(s);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/range_access/wchar_t/1.cc ./gdb/unittests/basic_string_view/range_access/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/range_access/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/range_access/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,47 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// C++17 27.7, range access [iterator.range]
+
+#include <string_view>
+
+void
+test01()
+{
+  std::wstring_view ws(L"Hello, World!");
+  std::begin(ws);
+  std::end(ws);
+  std::rbegin(ws);
+  std::rend(ws);
+}
+
+void
+test02()
+{
+  constexpr std::wstring_view ws(L"Hello, World!");
+  [[maybe_unused]] constexpr auto b = std::begin(ws);
+  [[maybe_unused]] constexpr auto e = std::end(ws);
+  [[maybe_unused]] constexpr auto cb = std::cbegin(ws);
+  [[maybe_unused]] constexpr auto ce = std::cend(ws);
+  [[maybe_unused]] constexpr auto rb = std::rbegin(ws);
+  [[maybe_unused]] constexpr auto re = std::rend(ws);
+  [[maybe_unused]] constexpr auto crb = std::crbegin(ws);
+  [[maybe_unused]] constexpr auto cre = std::crend(ws);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/explicit_instantiation/1.cc ./gdb/unittests/basic_string_view/requirements/explicit_instantiation/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/explicit_instantiation/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/requirements/explicit_instantiation/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,26 @@
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+
+// This file tests explicit instantiation of basic_string
+
+#include <string_view>
+
+// { dg-do compile }
+// { dg-options "-std=gnu++17" }
+
+template class std::basic_string_view<int, std::char_traits<int>>;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc ./gdb/unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,23 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+//
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+
+template class std::basic_string_view<char>;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc ./gdb/unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,24 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++17" }
+// { dg-require-cstdint "" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+//
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+
+template class std::basic_string_view<char16_t>;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc ./gdb/unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,24 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++17" }
+// { dg-require-cstdint "" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+//
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+
+template class std::basic_string_view<char32_t>;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc ./gdb/unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,23 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++17" }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+//
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+
+template class std::basic_string_view<wchar_t>;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/typedefs.cc ./gdb/unittests/basic_string_view/requirements/typedefs.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/requirements/typedefs.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/requirements/typedefs.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,47 @@
+
+// { dg-options "-std=gnu++17" }
+// { dg-do compile }
+
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+#include <testsuite_containers.h>
+
+namespace __gnu_test
+{
+  template<typename _Tp1, typename _Tp2>
+    struct traits<std::basic_string_view<_Tp1, _Tp2>> : public traits_base
+    {
+      typedef std::true_type    is_container;
+      typedef std::true_type    is_reversible;
+    };
+}
+
+#include <testsuite_containers.h>
+
+// Check container for required typedefs.
+
+__gnu_test::basic_types<std::string_view> t1b;
+__gnu_test::reversible_types<std::string_view> t1r;
+typedef typename std::string_view::traits_type traits_type1;
+
+#ifdef _GLIBCXX_USE_WCHAR_T
+__gnu_test::basic_types<std::wstring_view> t2b;
+__gnu_test::reversible_types<std::wstring_view> t2r;
+typedef typename std::wstring_view::traits_type traits_type2;
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/typedefs.cc ./gdb/unittests/basic_string_view/typedefs.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/typedefs.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/typedefs.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,36 @@
+// { dg-options "-std=gnu++17" }
+// { dg-do compile }
+
+// Copyright (C) 2014-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <string_view>
+
+template<typename C, typename T>
+  using check1_t = std::basic_string_view<C, T>;
+
+using check2_t = std::string_view;
+
+#ifdef _GLIBCXX_USE_C99_STDINT_TR1
+using check3_t = std::u16string_view;
+using check4_t = std::u32string_view;
+#endif
+
+#ifdef _GLIBCXX_USE_WCHAR_T
+using check5_t = std::wstring_view;
+#endif
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/types/1.cc ./gdb/unittests/basic_string_view/types/1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/basic_string_view/types/1.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/basic_string_view/types/1.cc	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,43 @@
+//
+// Copyright (C) 2013-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
+// any later version.
+//
+// This library 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 library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+//
+
+// { dg-options "-std=gnu++17" }
+// { dg-do compile }
+
+#include <string_view>
+
+struct T
+{
+  typedef std::string_view String_view;
+  typedef String_view::iterator iterator;
+  typedef String_view::const_iterator const_iterator;
+
+  char t(iterator f)             { return *f; }
+  char t(const_iterator f) const { return *f; }
+};
+
+void
+f()
+{
+  std::string_view s;
+  T t;
+  T::const_iterator i = s.begin();
+  
+  t.t(i);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/environ-selftests.c ./gdb/unittests/environ-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/environ-selftests.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/unittests/environ-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -20,7 +20,7 @@
 #include "defs.h"
 #include "selftest.h"
 #include "common/environ.h"
-#include "common/diagnostics.h"
+#include "diagnostics.h"
 
 static const char gdb_selftest_env_var[] = "GDB_SELFTEST_ENVIRON";
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/format_pieces-selftests.c ./gdb/unittests/format_pieces-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/format_pieces-selftests.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/format_pieces-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,76 @@
+/* Self tests for format_pieces for GDB, the GNU debugger.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "common/format.h"
+#include "common/selftest.h"
+
+namespace selftests {
+namespace format_pieces {
+
+/* Verify that parsing STR gives pieces equal to EXPECTED_PIECES.  */
+
+static void
+check (const char *str, const std::vector<format_piece> &expected_pieces)
+{
+  ::format_pieces pieces (&str);
+
+  SELF_CHECK ((pieces.end () - pieces.begin ()) == expected_pieces.size ());
+  SELF_CHECK (std::equal (pieces.begin (), pieces.end (),
+			  expected_pieces.begin ()));
+}
+
+static void
+test_escape_sequences ()
+{
+  check ("This is an escape sequence: \\e",
+    {
+      format_piece ("This is an escape sequence: \e", literal_piece),
+    });
+}
+
+static void
+test_format_specifier ()
+{
+  check ("Hello %d%llx%%d", /* ARI: %ll */
+    {
+      format_piece ("Hello ", literal_piece),
+      format_piece ("%d", int_arg),
+      format_piece ("", literal_piece),
+      format_piece ("%llx", long_long_arg), /* ARI: %ll */
+      format_piece ("%%d", literal_piece),
+    });
+}
+
+static void
+run_tests ()
+{
+  test_escape_sequences ();
+  test_format_specifier ();
+}
+
+} /* namespace format_pieces */
+} /* namespace selftests */
+
+void
+_initialize_format_pieces_selftests ()
+{
+  selftests::register_test ("format_pieces",
+			    selftests::format_pieces::run_tests);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/observable-selftests.c ./gdb/unittests/observable-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/observable-selftests.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/observable-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,135 @@
+/* Self tests for gdb::observers, GDB notifications to observers.
+
+   Copyright (C) 2003-2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "selftest.h"
+#include "common/observable.h"
+
+namespace selftests {
+namespace observers {
+
+gdb::observers::observable<int> test_notification ("test_notification");
+
+static int test_first_observer = 0;
+static int test_second_observer = 0;
+static int test_third_observer = 0;
+
+static void
+test_first_notification_function (int arg)
+{
+  test_first_observer++;
+}
+
+static void
+test_second_notification_function (int arg)
+{
+  test_second_observer++;
+}
+
+static void
+test_third_notification_function (int arg)
+{
+  test_third_observer++;
+}
+
+static void
+notify_check_counters (int one, int two, int three)
+{
+  /* Reset.  */
+  test_first_observer = 0;
+  test_second_observer = 0;
+  test_third_observer = 0;
+  /* Notify.  */
+  test_notification.notify (0);
+  /* Check.  */
+  SELF_CHECK (one == test_first_observer);
+  SELF_CHECK (two == test_second_observer);
+  SELF_CHECK (three == test_third_observer);
+}
+
+static void
+run_tests ()
+{
+  /* First, try sending a notification without any observer
+     attached.  */
+  notify_check_counters (0, 0, 0);
+
+  const gdb::observers::token token1, token2, token3;
+
+  /* Now, attach one observer, and send a notification.  */
+  test_notification.attach (&test_second_notification_function, token2);
+  notify_check_counters (0, 1, 0);
+
+  /* Remove the observer, and send a notification.  */
+  test_notification.detach (token2);
+  notify_check_counters (0, 0, 0);
+
+  /* With a new observer.  */
+  test_notification.attach (&test_first_notification_function, token1);
+  notify_check_counters (1, 0, 0);
+
+  /* With 2 observers.  */
+  test_notification.attach (&test_second_notification_function, token2);
+  notify_check_counters (1, 1, 0);
+
+  /* With 3 observers.  */
+  test_notification.attach (&test_third_notification_function, token3);
+  notify_check_counters (1, 1, 1);
+
+  /* Remove middle observer.  */
+  test_notification.detach (token2);
+  notify_check_counters (1, 0, 1);
+
+  /* Remove first observer.  */
+  test_notification.detach (token1);
+  notify_check_counters (0, 0, 1);
+
+  /* Remove last observer.  */
+  test_notification.detach (token3);
+  notify_check_counters (0, 0, 0);
+
+  /* Go back to 3 observers, and remove them in a different
+     order...  */
+  test_notification.attach (&test_first_notification_function, token1);
+  test_notification.attach (&test_second_notification_function, token2);
+  test_notification.attach (&test_third_notification_function, token3);
+  notify_check_counters (1, 1, 1);
+
+  /* Remove the third observer.  */
+  test_notification.detach (token3);
+  notify_check_counters (1, 1, 0);
+
+  /* Remove the second observer.  */
+  test_notification.detach (token2);
+  notify_check_counters (1, 0, 0);
+
+  /* Remove first observer, no more observers.  */
+  test_notification.detach (token1);
+  notify_check_counters (0, 0, 0);
+}
+
+} /* namespace observers */
+} /* namespace selftests */
+
+void
+_initialize_observer_selftest ()
+{
+  selftests::register_test ("gdb::observers",
+			    selftests::observers::run_tests);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/rsp-low-selftests.c ./gdb/unittests/rsp-low-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/rsp-low-selftests.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/unittests/rsp-low-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -48,6 +48,16 @@ static void test_hex2bin_byte_vector ()
   SELF_CHECK (bv[1] == 0x23);
 }
 
+static void test_hex2str ()
+{
+  SELF_CHECK (hex2str ("666f6f") == "foo");
+  SELF_CHECK (hex2str ("666f6fa") == "foo");
+  SELF_CHECK (hex2str ("666f6f", 2) == "fo");
+  SELF_CHECK (hex2str ("666", 2) == "f");
+  SELF_CHECK (hex2str ("666", 6) == "f");
+  SELF_CHECK (hex2str ("") == "");
+}
+
 } /* namespace rsp_low */
 } /* namespace selftests */
 
@@ -56,4 +66,6 @@ _initialize_rsp_low_selftests ()
 {
   selftests::register_test ("hex2bin_byte_vector",
 			    selftests::rsp_low::test_hex2bin_byte_vector);
+  selftests::register_test ("hex2str",
+			    selftests::rsp_low::test_hex2str);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/scoped_fd-selftests.c ./gdb/unittests/scoped_fd-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/scoped_fd-selftests.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/scoped_fd-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,90 @@
+/* Self tests for scoped_fd for GDB, the GNU debugger.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+
+#include "common/scoped_fd.h"
+#include "config.h"
+
+#ifdef HAVE_UNISTD_H
+
+#include "selftest.h"
+
+namespace selftests {
+namespace scoped_fd {
+
+/* Test that the file descriptor is closed.  */
+static void
+test_destroy ()
+{
+  char filename[] = "scoped_fd-selftest-XXXXXX";
+  int fd = mkstemp (filename);
+  SELF_CHECK (fd >= 0);
+
+  unlink (filename);
+  errno = 0;
+  {
+    ::scoped_fd sfd (fd);
+
+    SELF_CHECK (sfd.get () == fd);
+  }
+
+  SELF_CHECK (close (fd) == -1 && errno == EBADF);
+}
+
+/* Test that the file descriptor can be released.  */
+static void
+test_release ()
+{
+  char filename[] = "scoped_fd-selftest-XXXXXX";
+  int fd = mkstemp (filename);
+  SELF_CHECK (fd >= 0);
+
+  unlink (filename);
+  errno = 0;
+  {
+    ::scoped_fd sfd (fd);
+
+    SELF_CHECK (sfd.release () == fd);
+  }
+
+  SELF_CHECK (close (fd) == 0 || errno != EBADF);
+}
+
+/* Run selftests.  */
+static void
+run_tests ()
+{
+  test_destroy ();
+  test_release ();
+}
+
+} /* namespace scoped_fd */
+} /* namespace selftests */
+
+#endif /* HAVE_UNISTD_H */
+
+void
+_initialize_scoped_fd_selftests ()
+{
+#ifdef HAVE_UNISTD_H
+  selftests::register_test ("scoped_fd",
+			    selftests::scoped_fd::run_tests);
+#endif
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/scoped_mmap-selftests.c ./gdb/unittests/scoped_mmap-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/scoped_mmap-selftests.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/scoped_mmap-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,92 @@
+/* Self tests for scoped_mmap for GDB, the GNU debugger.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+
+#include "common/scoped_mmap.h"
+#include "config.h"
+
+#if defined(HAVE_SYS_MMAN_H) && defined(HAVE_UNISTD_H)
+
+#include "selftest.h"
+
+#include <unistd.h>
+
+namespace selftests {
+namespace scoped_mmap {
+
+/* Test that the file is unmapped.  */
+static void
+test_destroy ()
+{
+  void *mem;
+
+  errno = 0;
+  {
+    ::scoped_mmap smmap (nullptr, sysconf (_SC_PAGESIZE), PROT_WRITE,
+			 MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
+
+    mem = smmap.get ();
+    SELF_CHECK (mem != nullptr);
+  }
+
+  SELF_CHECK (msync (mem, sysconf (_SC_PAGESIZE), 0) == -1 && errno == ENOMEM);
+}
+
+/* Test that the memory can be released.  */
+static void
+test_release ()
+{
+  void *mem;
+
+  errno = 0;
+  {
+    ::scoped_mmap smmap (nullptr, sysconf (_SC_PAGESIZE), PROT_WRITE,
+			 MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
+
+    mem = smmap.release ();
+    SELF_CHECK (mem != nullptr);
+  }
+
+  SELF_CHECK (msync (mem, sysconf (_SC_PAGESIZE), 0) == 0 || errno != ENOMEM);
+
+  munmap (mem, sysconf (_SC_PAGESIZE));
+}
+
+/* Run selftests.  */
+static void
+run_tests ()
+{
+  test_destroy ();
+  test_release ();
+}
+
+} /* namespace scoped_mmap */
+} /* namespace selftests */
+
+#endif /* !defined(HAVE_SYS_MMAN_H) || !defined(HAVE_UNISTD_H) */
+
+void
+_initialize_scoped_mmap_selftests ()
+{
+#if defined(HAVE_SYS_MMAN_H) && defined(HAVE_UNISTD_H)
+  selftests::register_test ("scoped_mmap",
+			    selftests::scoped_mmap::run_tests);
+#endif
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/string_view-selftests.c ./gdb/unittests/string_view-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/string_view-selftests.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/string_view-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,179 @@
+/* Self tests for string_view for GDB, the GNU debugger.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* No need to test string_view if we're using C++17, since we're going to use
+   the "real" version.  */
+#if __cplusplus < 201703L
+
+#define GNULIB_NAMESPACE gnulib
+
+#include "defs.h"
+#include "selftest.h"
+#include "common/gdb_string_view.h"
+
+/* Used by the included .cc files below.  Included here because the
+   included test files are wrapped in a namespace.  */
+#include <string>
+#include <sstream>
+#include <fstream>
+#include <iostream>
+
+/* libstdc++'s testsuite uses VERIFY.  */
+#define VERIFY SELF_CHECK
+
+/* Used to disable testing features not supported by
+   gdb::string_view.  */
+#define GDB_STRING_VIEW
+
+namespace selftests {
+namespace string_view {
+
+/* The actual tests live in separate files, which were originally
+   copied over from libstdc++'s testsuite.  To preserve the structure
+   and help with comparison with the original tests, the file names
+   have been preserved, and only minimal modification was done to have
+   them compile against gdb::string_view instead of std::string_view:
+
+     - std::string_view->gdb::string_view, etc.
+     - ATTRIBUTE_UNUSED in a few places
+     - wrap each file in a namespace so they can all be compiled as a
+       single unit.
+     - libstdc++'s license and formatting style was preserved.
+*/
+
+#include "basic_string_view/capacity/1.cc"
+#include "basic_string_view/cons/char/1.cc"
+#include "basic_string_view/cons/char/2.cc"
+#include "basic_string_view/cons/char/3.cc"
+#include "basic_string_view/element_access/char/1.cc"
+#include "basic_string_view/element_access/char/empty.cc"
+#include "basic_string_view/element_access/char/front_back.cc"
+#include "basic_string_view/inserters/char/2.cc"
+#include "basic_string_view/modifiers/remove_prefix/char/1.cc"
+#include "basic_string_view/modifiers/remove_suffix/char/1.cc"
+#include "basic_string_view/modifiers/swap/char/1.cc"
+#include "basic_string_view/operations/compare/char/1.cc"
+#include "basic_string_view/operations/compare/char/13650.cc"
+#include "basic_string_view/operations/copy/char/1.cc"
+#include "basic_string_view/operations/data/char/1.cc"
+#include "basic_string_view/operations/find/char/1.cc"
+#include "basic_string_view/operations/find/char/2.cc"
+#include "basic_string_view/operations/find/char/3.cc"
+#include "basic_string_view/operations/find/char/4.cc"
+#include "basic_string_view/operations/rfind/char/1.cc"
+#include "basic_string_view/operations/rfind/char/2.cc"
+#include "basic_string_view/operations/rfind/char/3.cc"
+#include "basic_string_view/operations/substr/char/1.cc"
+#include "basic_string_view/operators/char/2.cc"
+
+static void
+run_tests ()
+{
+  capacity_1::main ();
+  cons_1::main ();
+  cons_2::main ();
+  cons_3::main ();
+  element_access_1::main ();
+  element_access_empty::main ();
+  element_access_front_back::main ();
+  inserters_2::main ();
+  modifiers_remove_prefix::main ();
+  modifiers_remove_suffix::main ();
+  modifiers_swap::test01 ();
+  operations_compare_1::main ();
+  operations_compare_13650::main ();
+  operations_copy_1::main ();
+  operations_data_1::main ();
+  operations_find_1::main ();
+  operations_find_2::main ();
+  operations_find_3::main ();
+  operations_find_4::main ();
+  operations_rfind_1::main ();
+  operations_rfind_2::main ();
+  operations_rfind_3::main ();
+  operations_substr_1::main ();
+  operators_2::main ();
+
+  constexpr gdb::string_view sv_empty;
+  SELF_CHECK (sv_empty.empty ());
+
+  std::string std_string = "fika";
+  gdb::string_view sv1 (std_string);
+  SELF_CHECK (sv1 == "fika");
+
+  constexpr const char *fika = "fika";
+  gdb::string_view sv2 (fika);
+  SELF_CHECK (sv2 == "fika");
+
+  constexpr gdb::string_view sv3 (fika, 3);
+  SELF_CHECK (sv3 == "fik");
+
+  constexpr gdb::string_view sv4 (sv3);
+  SELF_CHECK (sv4 == "fik");
+
+  constexpr gdb::string_view::iterator it_begin = sv4.begin ();
+  static_assert (*it_begin == 'f', "");
+
+  constexpr gdb::string_view::iterator it_end = sv4.end ();
+  static_assert (*it_end == 'a', "");
+
+  const gdb::string_view::reverse_iterator it_rbegin = sv4.rbegin ();
+  SELF_CHECK (*it_rbegin == 'k');
+
+  const gdb::string_view::reverse_iterator it_rend = sv4.rend ();
+  SELF_CHECK (*(it_rend - 1) == 'f');
+
+  constexpr gdb::string_view::size_type size = sv4.size ();
+  static_assert (size == 3, "");
+
+  constexpr gdb::string_view::size_type length = sv4.length ();
+  static_assert (length == 3, "");
+
+  constexpr gdb::string_view::size_type max_size = sv4.max_size ();
+  static_assert (max_size > 0, "");
+
+  constexpr bool empty = sv4.empty ();
+  static_assert (!empty, "");
+
+  constexpr char c1 = sv4[1];
+  static_assert (c1 == 'i', "");
+
+  constexpr char c2 = sv4.at (2);
+  static_assert (c2 == 'k', "");
+
+  constexpr char front = sv4.front ();
+  static_assert (front == 'f', "");
+
+  constexpr char back = sv4.back ();
+  static_assert (back == 'k', "");
+
+  constexpr const char *data = sv4.data ();
+  static_assert (data == fika, "");
+}
+
+} /* namespace string_view */
+} /* namespace selftests */
+
+void
+_initialize_string_view_selftests ()
+{
+  selftests::register_test ("string_view", selftests::string_view::run_tests);
+}
+
+#endif /* __cplusplus < 201703L */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/tracepoint-selftests.c ./gdb/unittests/tracepoint-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/tracepoint-selftests.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/tracepoint-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,70 @@
+/* Self tests for tracepoint-related code for GDB, the GNU debugger.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "selftest.h"
+#include "tracepoint.h"
+
+namespace selftests {
+namespace tracepoint_tests {
+
+static void
+test_parse_static_tracepoint_marker_definition ()
+{
+  static_tracepoint_marker marker;
+  const char def[] = ("1234:6d61726b657231:6578747261207374756666,"
+		      "abba:6d61726b657232:,"
+		      "cafe:6d61726b657233:6d6f72657374756666");
+  const char *start = def;
+  const char *end;
+
+  parse_static_tracepoint_marker_definition (start, &end, &marker);
+
+  SELF_CHECK (marker.address == 0x1234);
+  SELF_CHECK (marker.str_id == "marker1");
+  SELF_CHECK (marker.extra == "extra stuff");
+  SELF_CHECK (end == strchr (start, ','));
+
+  start = end + 1;
+  parse_static_tracepoint_marker_definition (start, &end, &marker);
+
+  SELF_CHECK (marker.address == 0xabba);
+  SELF_CHECK (marker.str_id == "marker2");
+  SELF_CHECK (marker.extra == "");
+  SELF_CHECK (end == strchr (start, ','));
+
+  start = end + 1;
+  parse_static_tracepoint_marker_definition (start, &end, &marker);
+
+  SELF_CHECK (marker.address == 0xcafe);
+  SELF_CHECK (marker.str_id == "marker3");
+  SELF_CHECK (marker.extra == "morestuff");
+  SELF_CHECK (end == def + strlen (def));
+}
+
+} /* namespace tracepoint_tests */
+} /* namespace selftests */
+
+void
+_initialize_tracepoint_selftests ()
+{
+  selftests::register_test
+    ("parse_static_tracepoint_marker_definition",
+     selftests::tracepoint_tests::test_parse_static_tracepoint_marker_definition);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/unpack-selftests.c ./gdb/unittests/unpack-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/unpack-selftests.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/unpack-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,61 @@
+/* Self tests for unpack_field_as_long
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "selftest.h"
+#include "selftest-arch.h"
+#include "value.h"
+#include "gdbtypes.h"
+#include "arch-utils.h"
+
+namespace selftests {
+namespace unpack {
+
+static void
+unpack_field_as_long_tests (struct gdbarch *arch)
+{
+  gdb_byte buffer[8];
+  const struct builtin_type *bt = builtin_type (arch);
+  struct type *struct_type = arch_composite_type (arch, "<<selftest>>",
+						  TYPE_CODE_STRUCT);
+
+  append_composite_type_field (struct_type, "field0", bt->builtin_int8);
+  append_composite_type_field_aligned (struct_type, "field1",
+				       bt->builtin_uint32, 4);
+
+  memset (buffer, 0, sizeof (buffer));
+  buffer[0] = 255;
+  if (gdbarch_byte_order (arch) == BFD_ENDIAN_BIG)
+    buffer[7] = 23;
+  else
+    buffer[4] = 23;
+
+  SELF_CHECK (unpack_field_as_long (struct_type, buffer, 0) == -1);
+  SELF_CHECK (unpack_field_as_long (struct_type, buffer, 1) == 23);
+}
+
+}
+}
+
+void
+_initialize_unpack_selftests ()
+{
+  selftests::register_test_foreach_arch
+    ("unpack_field_as_long", selftests::unpack::unpack_field_as_long_tests);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/utils-selftests.c ./gdb/unittests/utils-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/utils-selftests.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/unittests/utils-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,59 @@
+/* Unit tests for the utils.c file.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "utils.h"
+#include "selftest.h"
+
+namespace selftests {
+namespace utils {
+
+static void
+test_substitute_path_component ()
+{
+  auto test = [] (std::string s, const char *from, const char *to,
+		  const char *expected)
+    {
+      char *temp = xstrdup (s.c_str ());
+      substitute_path_component (&temp, from, to);
+      SELF_CHECK (strcmp (temp, expected) == 0);
+      xfree (temp);
+    };
+
+  test ("/abc/$def/g", "abc", "xyz", "/xyz/$def/g");
+  test ("abc/$def/g", "abc", "xyz", "xyz/$def/g");
+  test ("/abc/$def/g", "$def", "xyz", "/abc/xyz/g");
+  test ("/abc/$def/g", "g", "xyz", "/abc/$def/xyz");
+  test ("/abc/$def/g", "ab", "xyz", "/abc/$def/g");
+  test ("/abc/$def/g", "def", "xyz", "/abc/$def/g");
+  test ("/abc/$def/g", "abc", "abc", "/abc/$def/g");
+  test ("/abc/$def/g", "abc", "", "//$def/g");
+  test ("/abc/$def/g", "abc/$def", "xyz", "/xyz/g");
+  test ("/abc/$def/abc", "abc", "xyz", "/xyz/$def/xyz");
+}
+
+}
+}
+
+void
+_initialize_utils_selftests ()
+{
+  selftests::register_test ("substitute_path_component",
+			    selftests::utils::test_substitute_path_component);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/xml-utils-selftests.c ./gdb/unittests/xml-utils-selftests.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/unittests/xml-utils-selftests.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/unittests/xml-utils-selftests.c	2018-07-10 02:06:13.000000000 +0000
@@ -33,6 +33,18 @@ static void test_xml_escape_text ()
   SELF_CHECK (actual_output == expected_output);
 }
 
+static void test_xml_escape_text_append ()
+{
+  /* Make sure that we do indeed append.  */
+  std::string actual_output = "foo<xml>";
+  const char *input = "<this isn't=\"xml\"> &";
+  const char *expected_output
+    = "foo<xml>&lt;this isn&apos;t=&quot;xml&quot;&gt; &amp;";
+  xml_escape_text_append (&actual_output, input);
+
+  SELF_CHECK (actual_output == expected_output);
+}
+
 }
 }
 
@@ -41,4 +53,6 @@ _initialize_xml_utils ()
 {
   selftests::register_test ("xml_escape_text",
 			    selftests::xml_utils::test_xml_escape_text);
+  selftests::register_test ("xml_escape_text_append",
+			    selftests::xml_utils::test_xml_escape_text_append);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/utils.c ./gdb/utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/utils.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/utils.c	2018-07-10 02:06:13.000000000 +0000
@@ -141,36 +141,6 @@ show_pagination_enabled (struct ui_file 
    because while they use the "cleanup API" they are not part of the
    "cleanup API".  */
 
-static void
-do_free_section_addr_info (void *arg)
-{
-  free_section_addr_info ((struct section_addr_info *) arg);
-}
-
-struct cleanup *
-make_cleanup_free_section_addr_info (struct section_addr_info *addrs)
-{
-  return make_cleanup (do_free_section_addr_info, addrs);
-}
-
-/* Helper for make_cleanup_unpush_target.  */
-
-static void
-do_unpush_target (void *arg)
-{
-  struct target_ops *ops = (struct target_ops *) arg;
-
-  unpush_target (ops);
-}
-
-/* Return a new cleanup that unpushes OPS.  */
-
-struct cleanup *
-make_cleanup_unpush_target (struct target_ops *ops)
-{
-  return make_cleanup (do_unpush_target, ops);
-}
-
 /* Helper for make_cleanup_value_free_to_mark.  */
 
 static void
@@ -305,6 +275,7 @@ can_dump_core (enum resource_limit_kind 
     case LIMIT_CUR:
       if (rlim.rlim_cur == 0)
 	return 0;
+      /* Fall through.  */
 
     case LIMIT_MAX:
       if (rlim.rlim_max == 0)
@@ -1200,9 +1171,7 @@ parse_escape (struct gdbarch *gdbarch, c
    character. */
 
 static void
-printchar (int c, void (*do_fputs) (const char *, struct ui_file *),
-	   void (*do_fprintf) (struct ui_file *, const char *, ...)
-	   ATTRIBUTE_FPTR_PRINTF_2, struct ui_file *stream, int quoter)
+printchar (int c, do_fputc_ftype do_fputc, ui_file *stream, int quoter)
 {
   c &= 0xFF;			/* Avoid sign bit follies */
 
@@ -1210,39 +1179,45 @@ printchar (int c, void (*do_fputs) (cons
       (c >= 0x7F && c < 0xA0) ||	/* DEL, High controls */
       (sevenbit_strings && c >= 0x80))
     {				/* high order bit set */
+      do_fputc ('\\', stream);
+
       switch (c)
 	{
 	case '\n':
-	  do_fputs ("\\n", stream);
+	  do_fputc ('n', stream);
 	  break;
 	case '\b':
-	  do_fputs ("\\b", stream);
+	  do_fputc ('b', stream);
 	  break;
 	case '\t':
-	  do_fputs ("\\t", stream);
+	  do_fputc ('t', stream);
 	  break;
 	case '\f':
-	  do_fputs ("\\f", stream);
+	  do_fputc ('f', stream);
 	  break;
 	case '\r':
-	  do_fputs ("\\r", stream);
+	  do_fputc ('r', stream);
 	  break;
 	case '\033':
-	  do_fputs ("\\e", stream);
+	  do_fputc ('e', stream);
 	  break;
 	case '\007':
-	  do_fputs ("\\a", stream);
+	  do_fputc ('a', stream);
 	  break;
 	default:
-	  do_fprintf (stream, "\\%.3o", (unsigned int) c);
-	  break;
+	  {
+	    do_fputc ('0' + ((c >> 6) & 0x7), stream);
+	    do_fputc ('0' + ((c >> 3) & 0x7), stream);
+	    do_fputc ('0' + ((c >> 0) & 0x7), stream);
+	    break;
+	  }
 	}
     }
   else
     {
       if (quoter != 0 && (c == '\\' || c == quoter))
-	do_fputs ("\\", stream);
-      do_fprintf (stream, "%c", c);
+	do_fputc ('\\', stream);
+      do_fputc (c, stream);
     }
 }
 
@@ -1255,34 +1230,30 @@ void
 fputstr_filtered (const char *str, int quoter, struct ui_file *stream)
 {
   while (*str)
-    printchar (*str++, fputs_filtered, fprintf_filtered, stream, quoter);
+    printchar (*str++, fputc_filtered, stream, quoter);
 }
 
 void
 fputstr_unfiltered (const char *str, int quoter, struct ui_file *stream)
 {
   while (*str)
-    printchar (*str++, fputs_unfiltered, fprintf_unfiltered, stream, quoter);
+    printchar (*str++, fputc_unfiltered, stream, quoter);
 }
 
 void
 fputstrn_filtered (const char *str, int n, int quoter,
 		   struct ui_file *stream)
 {
-  int i;
-
-  for (i = 0; i < n; i++)
-    printchar (str[i], fputs_filtered, fprintf_filtered, stream, quoter);
+  for (int i = 0; i < n; i++)
+    printchar (str[i], fputc_filtered, stream, quoter);
 }
 
 void
 fputstrn_unfiltered (const char *str, int n, int quoter,
-		     struct ui_file *stream)
+		     do_fputc_ftype do_fputc, struct ui_file *stream)
 {
-  int i;
-
-  for (i = 0; i < n; i++)
-    printchar (str[i], fputs_unfiltered, fprintf_unfiltered, stream, quoter);
+  for (int i = 0; i < n; i++)
+    printchar (str[i], do_fputc, stream, quoter);
 }
 
 
@@ -1312,6 +1283,10 @@ show_chars_per_line (struct ui_file *fil
 /* Current count of lines printed on this page, chars on this line.  */
 static unsigned int lines_printed, chars_printed;
 
+/* True if pagination is disabled for just one command.  */
+
+static bool pagination_disabled_for_command;
+
 /* Buffer and start column of buffered text, for doing smarter word-
    wrapping.  When someone calls wrap_here(), we start buffering output
    that comes through fputs_filtered().  If we see a newline, we just
@@ -1491,19 +1466,19 @@ set_screen_width_and_height (int width, 
 static void
 prompt_for_continue (void)
 {
-  char *ignore;
   char cont_prompt[120];
-  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
   /* Used to add duration we waited for user to respond to
      prompt_for_continue_wait_time.  */
   using namespace std::chrono;
   steady_clock::time_point prompt_started = steady_clock::now ();
+  bool disable_pagination = pagination_disabled_for_command;
 
   if (annotation_level > 1)
     printf_unfiltered (("\n\032\032pre-prompt-for-continue\n"));
 
   strcpy (cont_prompt,
-	  "---Type <return> to continue, or q <return> to quit---");
+	  "--Type <RET> for more, q to quit, "
+	  "c to continue without paging--");
   if (annotation_level > 1)
     strcat (cont_prompt, "\n\032\032prompt-for-continue\n");
 
@@ -1516,8 +1491,7 @@ prompt_for_continue (void)
 
   /* Call gdb_readline_wrapper, not readline, in order to keep an
      event loop running.  */
-  ignore = gdb_readline_wrapper (cont_prompt);
-  make_cleanup (xfree, ignore);
+  gdb::unique_xmalloc_ptr<char> ignore (gdb_readline_wrapper (cont_prompt));
 
   /* Add time spend in this routine to prompt_for_continue_wait_time.  */
   prompt_for_continue_wait_time += steady_clock::now () - prompt_started;
@@ -1527,22 +1501,23 @@ prompt_for_continue (void)
 
   if (ignore != NULL)
     {
-      char *p = ignore;
+      char *p = ignore.get ();
 
       while (*p == ' ' || *p == '\t')
 	++p;
       if (p[0] == 'q')
 	/* Do not call quit here; there is no possibility of SIGINT.  */
 	throw_quit ("Quit");
+      if (p[0] == 'c')
+	disable_pagination = true;
     }
 
   /* Now we have to do this again, so that GDB will know that it doesn't
      need to save the ---Type <return>--- line at the top of the screen.  */
   reinitialize_more_filter ();
+  pagination_disabled_for_command = disable_pagination;
 
   dont_repeat ();		/* Forget prev cmd -- CR won't repeat it.  */
-
-  do_cleanups (old_chain);
 }
 
 /* Initialize timer to keep track of how long we waited for the user.  */
@@ -1570,6 +1545,7 @@ reinitialize_more_filter (void)
 {
   lines_printed = 0;
   chars_printed = 0;
+  pagination_disabled_for_command = false;
 }
 
 /* Indicate that if the next sequence of characters overflows the line,
@@ -1714,10 +1690,11 @@ fputs_maybe_filtered (const char *linebu
   /* Don't do any filtering if it is disabled.  */
   if (stream != gdb_stdout
       || !pagination_enabled
+      || pagination_disabled_for_command
       || batch_flag
       || (lines_per_page == UINT_MAX && chars_per_line == UINT_MAX)
       || top_level_interpreter () == NULL
-      || interp_ui_out (top_level_interpreter ())->is_mi_like_p ())
+      || top_level_interpreter ()->interp_ui_out ()->is_mi_like_p ())
     {
       fputs_unfiltered (linebuffer, stream);
       return;
@@ -1730,8 +1707,11 @@ fputs_maybe_filtered (const char *linebu
   lineptr = linebuffer;
   while (*lineptr)
     {
-      /* Possible new page.  */
-      if (filter && (lines_printed >= lines_per_page - 1))
+      /* Possible new page.  Note that PAGINATION_DISABLED_FOR_COMMAND
+	 might be set during this loop, so we must continue to check
+	 it here.  */
+      if (filter && (lines_printed >= lines_per_page - 1)
+	  && !pagination_disabled_for_command)
 	prompt_for_continue ();
 
       while (*lineptr && *lineptr != '\n')
@@ -1771,8 +1751,11 @@ fputs_maybe_filtered (const char *linebu
 	      if (wrap_column)
 		fputc_unfiltered ('\n', stream);
 
-	      /* Possible new page.  */
-	      if (lines_printed >= lines_per_page - 1)
+	      /* Possible new page.  Note that
+		 PAGINATION_DISABLED_FOR_COMMAND might be set during
+		 this loop, so we must continue to check it here.  */
+	      if (lines_printed >= lines_per_page - 1
+		  && !pagination_disabled_for_command)
 		prompt_for_continue ();
 
 	      /* Now output indentation and wrapped string.  */
@@ -2636,13 +2619,22 @@ strcmp_iw_ordered (const char *string1, 
     }
 }
 
-/* A simple comparison function with opposite semantics to strcmp.  */
+/* See utils.h.  */
 
-int
+bool
 streq (const char *lhs, const char *rhs)
 {
   return !strcmp (lhs, rhs);
 }
+
+/* See utils.h.  */
+
+int
+streq_hash (const void *lhs, const void *rhs)
+{
+  return streq ((const char *) lhs, (const char *) rhs);
+}
+
 
 
 /*
@@ -2880,22 +2872,6 @@ gdb_realpath_tests ()
 
 #endif /* GDB_SELF_TEST */
 
-ULONGEST
-align_up (ULONGEST v, int n)
-{
-  /* Check that N is really a power of two.  */
-  gdb_assert (n && (n & (n-1)) == 0);
-  return (v + n - 1) & -n;
-}
-
-ULONGEST
-align_down (ULONGEST v, int n)
-{
-  /* Check that N is really a power of two.  */
-  gdb_assert (n && (n & (n-1)) == 0);
-  return (v & -n);
-}
-
 /* Allocation function for the libiberty hash table which uses an
    obstack.  The obstack is passed as DATA.  */
 
@@ -2968,17 +2944,6 @@ compare_positive_ints (const void *ap, c
   return * (int *) ap - * (int *) bp;
 }
 
-/* String compare function for qsort.  */
-
-int
-compare_strings (const void *arg1, const void *arg2)
-{
-  const char **s1 = (const char **) arg1;
-  const char **s2 = (const char **) arg2;
-
-  return strcmp (*s1, *s2);
-}
-
 #define AMBIGUOUS_MESS1	".\nMatching formats:"
 #define AMBIGUOUS_MESS2	\
   ".\nUse \"set gnutarget format-name\" to specify the format."
@@ -3057,30 +3022,6 @@ make_bpstat_clear_actions_cleanup (void)
   return make_cleanup (do_bpstat_clear_actions_cleanup, NULL);
 }
 
-
-/* Helper for make_cleanup_free_char_ptr_vec.  */
-
-static void
-do_free_char_ptr_vec (void *arg)
-{
-  VEC (char_ptr) *char_ptr_vec = (VEC (char_ptr) *) arg;
-
-  free_char_ptr_vec (char_ptr_vec);
-}
-
-/* Make cleanup handler calling xfree for each element of CHAR_PTR_VEC and
-   final VEC_free for CHAR_PTR_VEC itself.
-
-   You must not modify CHAR_PTR_VEC after this cleanup registration as the
-   CHAR_PTR_VEC base address may change on its updates.  Contrary to VEC_free
-   this function does not (cannot) clear the pointer.  */
-
-struct cleanup *
-make_cleanup_free_char_ptr_vec (VEC (char_ptr) *char_ptr_vec)
-{
-  return make_cleanup (do_free_char_ptr_vec, char_ptr_vec);
-}
-
 /* Substitute all occurences of string FROM by string TO in *STRINGP.  *STRINGP
    must come from xrealloc-compatible allocator and it may be updated.  FROM
    needs to be delimited by IS_DIR_SEPARATOR or DIRNAME_SEPARATOR (or be
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/utils.h ./gdb/utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/utils.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/utils.h	2018-07-10 02:06:13.000000000 +0000
@@ -89,12 +89,18 @@ extern int strcmp_iw (const char *string
 
 extern int strcmp_iw_ordered (const char *, const char *);
 
-extern int streq (const char *, const char *);
+/* Return true if the strings are equal.  */
+
+extern bool streq (const char *, const char *);
+
+/* A variant of streq that is suitable for use as an htab
+   callback.  */
+
+extern int streq_hash (const void *, const void *);
 
 extern int subset_compare (const char *, const char *);
 
 int compare_positive_ints (const void *ap, const void *bp);
-int compare_strings (const void *ap, const void *bp);
 
 /* Compare C strings for std::sort.  */
 
@@ -242,15 +248,8 @@ private:
 
 /* Cleanup utilities.  */
 
-struct section_addr_info;
-extern struct cleanup *make_cleanup_free_section_addr_info
-                       (struct section_addr_info *);
-
 /* For make_cleanup_close see common/filestuff.h.  */
 
-struct target_ops;
-extern struct cleanup *make_cleanup_unpush_target (struct target_ops *ops);
-
 extern struct cleanup *make_cleanup_value_free_to_mark (struct value *);
 
 /* A deleter for a hash table.  */
@@ -419,7 +418,10 @@ extern void fputstr_unfiltered (const ch
 extern void fputstrn_filtered (const char *str, int n, int quotr,
 			       struct ui_file * stream);
 
+typedef int (*do_fputc_ftype) (int c, ui_file *stream);
+
 extern void fputstrn_unfiltered (const char *str, int n, int quotr,
+				 do_fputc_ftype do_fputc,
 				 struct ui_file * stream);
 
 /* Return nonzero if filtered printing is initialized.  */
@@ -492,38 +494,6 @@ extern pid_t wait_to_die_with_timeout (p
 
 extern int myread (int, char *, int);
 
-/* Ensure that V is aligned to an N byte boundary (B's assumed to be a
-   power of 2).  Round up/down when necessary.  Examples of correct
-   use include:
-
-   addr = align_up (addr, 8); -- VALUE needs 8 byte alignment
-   write_memory (addr, value, len);
-   addr += len;
-
-   and:
-
-   sp = align_down (sp - len, 16); -- Keep SP 16 byte aligned
-   write_memory (sp, value, len);
-
-   Note that uses such as:
-
-   write_memory (addr, value, len);
-   addr += align_up (len, 8);
-
-   and:
-
-   sp -= align_up (len, 8);
-   write_memory (sp, value, len);
-
-   are typically not correct as they don't ensure that the address (SP
-   or ADDR) is correctly aligned (relying on previous alignment to
-   keep things right).  This is also why the methods are called
-   "align_..." instead of "round_..." as the latter reads better with
-   this incorrect coding style.  */
-
-extern ULONGEST align_up (ULONGEST v, int n);
-extern ULONGEST align_down (ULONGEST v, int n);
-
 /* Resource limits used by getrlimit and setrlimit.  */
 
 enum resource_limit_kind
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/v850-tdep.c ./gdb/v850-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/v850-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/v850-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -1128,7 +1128,7 @@ v850_extract_return_value (struct type *
       gdb_byte buf[v850_reg_size];
       for (i = 0; len > 0; i += 4, len -= 4)
 	{
-	  regcache_raw_read (regcache, regnum++, buf);
+	  regcache->raw_read (regnum++, buf);
 	  memcpy (valbuf + i, buf, len > 4 ? 4 : len);
 	}
     }
@@ -1150,7 +1150,7 @@ v850_store_return_value (struct type *ty
     {
       int i, regnum = E_V0_REGNUM;
       for (i = 0; i < len; i += 4)
-	regcache_raw_write (regcache, regnum++, valbuf + i);
+	regcache->raw_write (regnum++, valbuf + i);
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/valarith.c ./gdb/valarith.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/valarith.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/valarith.c	2018-07-10 02:06:13.000000000 +0000
@@ -61,8 +61,6 @@ find_size_for_pointer_math (struct type 
 	  
 	  name = TYPE_NAME (ptr_target);
 	  if (name == NULL)
-	    name = TYPE_TAG_NAME (ptr_target);
-	  if (name == NULL)
 	    error (_("Cannot perform pointer math on incomplete types, "
 		   "try casting to a known type, or void *."));
 	  else
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/valops.c ./gdb/valops.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/valops.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/valops.c	2018-07-10 02:06:13.000000000 +0000
@@ -36,7 +36,7 @@
 #include "cp-support.h"
 #include "target-float.h"
 #include "tracepoint.h"
-#include "observer.h"
+#include "observable.h"
 #include "objfiles.h"
 #include "extension.h"
 #include "byte-vector.h"
@@ -68,7 +68,8 @@ int find_oload_champ_namespace_loop (str
 				     const int no_adl);
 
 static int find_oload_champ (struct value **, int, int,
-			     struct fn_field *, VEC (xmethod_worker_ptr) *,
+			     struct fn_field *,
+			     const std::vector<xmethod_worker_up> *,
 			     struct symbol **, struct badness_vector **);
 
 static int oload_method_static_p (struct fn_field *, int);
@@ -98,7 +99,7 @@ static struct value *cast_into_complex (
 
 static void find_method_list (struct value **, const char *,
 			      LONGEST, struct type *, struct fn_field **, int *,
-			      VEC (xmethod_worker_ptr) **,
+			      std::vector<xmethod_worker_up> *,
 			      struct type **, LONGEST *);
 
 #if 0
@@ -243,7 +244,7 @@ value_cast_structs (struct type *type, s
      offset the pointer rather than just change its type.  */
   if (TYPE_NAME (t1) != NULL)
     {
-      v = search_struct_field (type_name_no_tag (t1),
+      v = search_struct_field (TYPE_NAME (t1),
 			       v2, t2, 1);
       if (v)
 	return v;
@@ -272,7 +273,7 @@ value_cast_structs (struct type *type, s
 	      && !strcmp (TYPE_NAME (real_type), TYPE_NAME (t1)))
 	    return v;
 
-	  v = search_struct_field (type_name_no_tag (t2), v, real_type, 1);
+	  v = search_struct_field (TYPE_NAME (t2), v, real_type, 1);
 	  if (v)
 	    return v;
 	}
@@ -280,7 +281,7 @@ value_cast_structs (struct type *type, s
       /* Try downcasting using information from the destination type
 	 T2.  This wouldn't work properly for classes with virtual
 	 bases, but those were handled above.  */
-      v = search_struct_field (type_name_no_tag (t2),
+      v = search_struct_field (TYPE_NAME (t2),
 			       value_zero (t1, not_lval), t1, 1);
       if (v)
 	{
@@ -963,7 +964,7 @@ read_value_memory (struct value *val, LO
       enum target_xfer_status status;
       ULONGEST xfered_partial;
 
-      status = target_xfer_partial (current_target.beneath,
+      status = target_xfer_partial (current_top_target (),
 				    object, NULL,
 				    buffer + xfered_total * unit_size, NULL,
 				    memaddr + xfered_total,
@@ -1176,7 +1177,7 @@ value_assign (struct value *toval, struc
 	      }
 	  }
 
-	observer_notify_register_changed (frame, value_reg);
+	gdb::observers::register_changed.notify (frame, value_reg);
 	break;
       }
 
@@ -1207,7 +1208,7 @@ value_assign (struct value *toval, struc
     case lval_register:
     case lval_computed:
 
-      observer_notify_target_changed (&current_target);
+      gdb::observers::target_changed.notify (current_top_target ());
 
       /* Having destroyed the frame cache, restore the selected
 	 frame.  */
@@ -2256,6 +2257,50 @@ value_struct_elt_bitpos (struct value **
   return NULL;
 }
 
+/* See value.h.  */
+
+int
+value_union_variant (struct type *union_type, const gdb_byte *contents)
+{
+  gdb_assert (TYPE_CODE (union_type) == TYPE_CODE_UNION
+	      && TYPE_FLAG_DISCRIMINATED_UNION (union_type));
+
+  struct dynamic_prop *discriminant_prop
+    = get_dyn_prop (DYN_PROP_DISCRIMINATED, union_type);
+  gdb_assert (discriminant_prop != nullptr);
+
+  struct discriminant_info *info
+    = (struct discriminant_info *) discriminant_prop->data.baton;
+  gdb_assert (info != nullptr);
+
+  /* If this is a univariant union, just return the sole field.  */
+  if (TYPE_NFIELDS (union_type) == 1)
+    return 0;
+  /* This should only happen for univariants, which we already dealt
+     with.  */
+  gdb_assert (info->discriminant_index != -1);
+
+  /* Compute the discriminant.  Note that unpack_field_as_long handles
+     sign extension when necessary, as does the DWARF reader -- so
+     signed discriminants will be handled correctly despite the use of
+     an unsigned type here.  */
+  ULONGEST discriminant = unpack_field_as_long (union_type, contents,
+						info->discriminant_index);
+
+  for (int i = 0; i < TYPE_NFIELDS (union_type); ++i)
+    {
+      if (i != info->default_index
+	  && i != info->discriminant_index
+	  && discriminant == info->discriminants[i])
+	return i;
+    }
+
+  if (info->default_index == -1)
+    error (_("Could not find variant corresponding to discriminant %s"),
+	   pulongest (discriminant));
+  return info->default_index;
+}
+
 /* Search through the methods of an object (and its bases) to find a
    specified method.  Return the pointer to the fn_field list FN_LIST of
    overloaded instances defined in the source language.  If available
@@ -2282,12 +2327,11 @@ static void
 find_method_list (struct value **argp, const char *method,
 		  LONGEST offset, struct type *type,
 		  struct fn_field **fn_list, int *num_fns,
-		  VEC (xmethod_worker_ptr) **xm_worker_vec,
+		  std::vector<xmethod_worker_up> *xm_worker_vec,
 		  struct type **basetype, LONGEST *boffset)
 {
   int i;
   struct fn_field *f = NULL;
-  VEC (xmethod_worker_ptr) *worker_vec = NULL, *new_vec = NULL;
 
   gdb_assert (fn_list != NULL && xm_worker_vec != NULL);
   type = check_typedef (type);
@@ -2328,12 +2372,7 @@ find_method_list (struct value **argp, c
      and hence there is no point restricting them with something like method
      hiding.  Moreover, if hiding is done for xmethods as well, then we will
      have to provide a mechanism to un-hide (like the 'using' construct).  */
-  worker_vec = get_matching_xmethod_workers (type, method);
-  new_vec = VEC_merge (xmethod_worker_ptr, *xm_worker_vec, worker_vec);
-
-  VEC_free (xmethod_worker_ptr, *xm_worker_vec);
-  VEC_free (xmethod_worker_ptr, worker_vec);
-  *xm_worker_vec = new_vec;
+  get_matching_xmethod_workers (type, method, xm_worker_vec);
 
   /* If source methods are not found in current class, look for them in the
      base classes.  We also have to go through the base classes to gather
@@ -2382,7 +2421,7 @@ static void
 value_find_oload_method_list (struct value **argp, const char *method,
                               LONGEST offset, struct fn_field **fn_list,
                               int *num_fns,
-                              VEC (xmethod_worker_ptr) **xm_worker_vec,
+			      std::vector<xmethod_worker_up> *xm_worker_vec,
 			      struct type **basetype, LONGEST *boffset)
 {
   struct type *t;
@@ -2409,7 +2448,7 @@ value_find_oload_method_list (struct val
   /* Clear the lists.  */
   *fn_list = NULL;
   *num_fns = 0;
-  *xm_worker_vec = NULL;
+  xm_worker_vec->clear ();
 
   find_method_list (argp, method, 0, t, fn_list, num_fns, xm_worker_vec,
 		    basetype, boffset);
@@ -2488,8 +2527,8 @@ find_overload_match (struct value **args
   struct fn_field *fns_ptr = NULL;
   /* For non-methods, the list of overloaded function symbols.  */
   struct symbol **oload_syms = NULL;
-  /* For xmethods, the VEC of xmethod workers.  */
-  VEC (xmethod_worker_ptr) *xm_worker_vec = NULL;
+  /* For xmethods, the vector of xmethod workers.  */
+  std::vector<xmethod_worker_up> xm_worker_vec;
   /* Number of overloaded instances being considered.  */
   int num_fns = 0;
   struct type *basetype = NULL;
@@ -2534,8 +2573,8 @@ find_overload_match (struct value **args
       value_find_oload_method_list (&temp, name, 0, &fns_ptr, &num_fns,
 				    &xm_worker_vec, &basetype, &boffset);
       /* If this is a method only search, and no methods were found
-         the search has faild.  */
-      if (method == METHOD && (!fns_ptr || !num_fns) && !xm_worker_vec)
+         the search has failed.  */
+      if (method == METHOD && (!fns_ptr || !num_fns) && xm_worker_vec.empty ())
 	error (_("Couldn't find method %s%s%s"),
 	       obj_type_name,
 	       (obj_type_name && *obj_type_name) ? "::" : "",
@@ -2558,15 +2597,14 @@ find_overload_match (struct value **args
 	  make_cleanup (xfree, src_method_badness);
 	}
 
-      if (VEC_length (xmethod_worker_ptr, xm_worker_vec) > 0)
+      if (!xm_worker_vec.empty ())
 	{
 	  ext_method_oload_champ = find_oload_champ (args, nargs,
-						     0, NULL, xm_worker_vec,
+						     0, NULL, &xm_worker_vec,
 						     NULL, &ext_method_badness);
 	  ext_method_match_quality = classify_oload_match (ext_method_badness,
 							   nargs, 0);
 	  make_cleanup (xfree, ext_method_badness);
-	  make_cleanup (free_xmethod_worker_vec, xm_worker_vec);
 	}
 
       if (src_method_oload_champ >= 0 && ext_method_oload_champ >= 0)
@@ -2783,11 +2821,8 @@ find_overload_match (struct value **args
 				    basetype, boffset);
 	}
       else
-	{
-	  *valp = value_of_xmethod (clone_xmethod_worker
-	    (VEC_index (xmethod_worker_ptr, xm_worker_vec,
-			ext_method_oload_champ)));
-	}
+	*valp = value_from_xmethod
+	  (std::move (xm_worker_vec[ext_method_oload_champ]));
     }
   else
     *symp = oload_syms[func_oload_champ];
@@ -2992,12 +3027,11 @@ find_oload_champ_namespace_loop (struct 
 static int
 find_oload_champ (struct value **args, int nargs,
 		  int num_fns, struct fn_field *fns_ptr,
-		  VEC (xmethod_worker_ptr) *xm_worker_vec,
+		  const std::vector<xmethod_worker_up> *xm_worker_vec,
 		  struct symbol **oload_syms,
 		  struct badness_vector **oload_champ_bv)
 {
   int ix;
-  int fn_count;
   /* A measure of how good an overloaded instance is.  */
   struct badness_vector *bv;
   /* Index of best overloaded function.  */
@@ -3014,9 +3048,8 @@ find_oload_champ (struct value **args, i
 
   *oload_champ_bv = NULL;
 
-  fn_count = (xm_worker_vec != NULL
-	      ? VEC_length (xmethod_worker_ptr, xm_worker_vec)
-	      : num_fns);
+  int fn_count = xm_worker_vec != NULL ? xm_worker_vec->size () : num_fns;
+
   /* Consider each candidate in turn.  */
   for (ix = 0; ix < fn_count; ix++)
     {
@@ -3024,12 +3057,11 @@ find_oload_champ (struct value **args, i
       int static_offset = 0;
       int nparms;
       struct type **parm_types;
-      struct xmethod_worker *worker = NULL;
 
       if (xm_worker_vec != NULL)
 	{
-	  worker = VEC_index (xmethod_worker_ptr, xm_worker_vec, ix);
-	  parm_types = get_xmethod_arg_types (worker, &nparms);
+	  xmethod_worker *worker = (*xm_worker_vec)[ix].get ();
+	  parm_types = worker->get_arg_types (&nparms);
 	}
       else
 	{
@@ -3161,7 +3193,7 @@ destructor_name_p (const char *name, str
 {
   if (name[0] == '~')
     {
-      const char *dname = type_name_no_tag_or_error (type);
+      const char *dname = type_name_or_error (type);
       const char *cp = strchr (dname, '<');
       unsigned int len;
 
@@ -3211,7 +3243,7 @@ enum_constant_from_type (struct type *ty
     }
 
   error (_("no constant named \"%s\" in enum \"%s\""),
-	 name, TYPE_TAG_NAME (type));
+	 name, TYPE_NAME (type));
 }
 
 /* C++: Given an aggregate type CURTYPE, and a member name NAME,
@@ -3311,7 +3343,7 @@ value_struct_elt_for_reference (struct t
 				int want_address,
 				enum noside noside)
 {
-  struct type *t = curtype;
+  struct type *t = check_typedef (curtype);
   int i;
   struct value *v, *result;
 
@@ -3549,7 +3581,7 @@ value_namespace_elt (const struct type *
 
   if (retval == NULL)
     error (_("No symbol \"%s\" in namespace \"%s\"."), 
-	   name, TYPE_TAG_NAME (curtype));
+	   name, TYPE_NAME (curtype));
 
   return retval;
 }
@@ -3565,7 +3597,7 @@ value_maybe_namespace_elt (const struct 
 			   const char *name, int want_address,
 			   enum noside noside)
 {
-  const char *namespace_name = TYPE_TAG_NAME (curtype);
+  const char *namespace_name = TYPE_NAME (curtype);
   struct block_symbol sym;
   struct value *result;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/valprint.c ./gdb/valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/valprint.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/valprint.c	2018-07-10 02:06:13.000000000 +0000
@@ -70,9 +70,6 @@ struct converted_character
   int repeat_count;
 };
 
-typedef struct converted_character converted_character_d;
-DEF_VEC_O (converted_character_d);
-
 /* Command lists for set/show print raw.  */
 struct cmd_list_element *setprintrawlist;
 struct cmd_list_element *showprintrawlist;
@@ -1888,7 +1885,7 @@ print_function_pointer_address (const st
 {
   CORE_ADDR func_addr
     = gdbarch_convert_from_func_ptr_addr (gdbarch, address,
-					  &current_target);
+					  current_top_target ());
 
   /* If the function pointer is represented by a description, print
      the address of the description.  */
@@ -2099,10 +2096,10 @@ partial_memory_read (CORE_ADDR memaddr, 
   return (nread);
 }
 
-/* Read a string from the inferior, at ADDR, with LEN characters of WIDTH bytes
-   each.  Fetch at most FETCHLIMIT characters.  BUFFER will be set to a newly
-   allocated buffer containing the string, which the caller is responsible to
-   free, and BYTES_READ will be set to the number of bytes read.  Returns 0 on
+/* Read a string from the inferior, at ADDR, with LEN characters of
+   WIDTH bytes each.  Fetch at most FETCHLIMIT characters.  BUFFER
+   will be set to a newly allocated buffer containing the string, and
+   BYTES_READ will be set to the number of bytes read.  Returns 0 on
    success, or a target_xfer_status on failure.
 
    If LEN > 0, reads the lesser of LEN or FETCHLIMIT characters
@@ -2125,20 +2122,18 @@ partial_memory_read (CORE_ADDR memaddr, 
 
 int
 read_string (CORE_ADDR addr, int len, int width, unsigned int fetchlimit,
-	     enum bfd_endian byte_order, gdb_byte **buffer, int *bytes_read)
+	     enum bfd_endian byte_order, gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
+	     int *bytes_read)
 {
   int errcode;			/* Errno returned from bad reads.  */
   unsigned int nfetch;		/* Chars to fetch / chars fetched.  */
   gdb_byte *bufptr;		/* Pointer to next available byte in
 				   buffer.  */
-  struct cleanup *old_chain = NULL;	/* Top of the old cleanup chain.  */
 
   /* Loop until we either have all the characters, or we encounter
      some error, such as bumping into the end of the address space.  */
 
-  *buffer = NULL;
-
-  old_chain = make_cleanup (free_current_contents, buffer);
+  buffer->reset (nullptr);
 
   if (len > 0)
     {
@@ -2146,8 +2141,8 @@ read_string (CORE_ADDR addr, int len, in
 	 one operation.  */
       unsigned int fetchlen = std::min ((unsigned) len, fetchlimit);
 
-      *buffer = (gdb_byte *) xmalloc (fetchlen * width);
-      bufptr = *buffer;
+      buffer->reset ((gdb_byte *) xmalloc (fetchlen * width));
+      bufptr = buffer->get ();
 
       nfetch = partial_memory_read (addr, bufptr, fetchlen * width, &errcode)
 	/ width;
@@ -2176,12 +2171,12 @@ read_string (CORE_ADDR addr, int len, in
 	  nfetch = std::min ((unsigned long) chunksize, fetchlimit - bufsize);
 
 	  if (*buffer == NULL)
-	    *buffer = (gdb_byte *) xmalloc (nfetch * width);
+	    buffer->reset ((gdb_byte *) xmalloc (nfetch * width));
 	  else
-	    *buffer = (gdb_byte *) xrealloc (*buffer,
-					     (nfetch + bufsize) * width);
+	    buffer->reset ((gdb_byte *) xrealloc (buffer->release (),
+						  (nfetch + bufsize) * width));
 
-	  bufptr = *buffer + bufsize * width;
+	  bufptr = buffer->get () + bufsize * width;
 	  bufsize += nfetch;
 
 	  /* Read as much as we can.  */
@@ -2213,24 +2208,23 @@ read_string (CORE_ADDR addr, int len, in
 	    }
 	}
       while (errcode == 0	/* no error */
-	     && bufptr - *buffer < fetchlimit * width	/* no overrun */
+	     && bufptr - buffer->get () < fetchlimit * width	/* no overrun */
 	     && !found_nul);	/* haven't found NUL yet */
     }
   else
     {				/* Length of string is really 0!  */
       /* We always allocate *buffer.  */
-      *buffer = bufptr = (gdb_byte *) xmalloc (1);
+      buffer->reset ((gdb_byte *) xmalloc (1));
+      bufptr = buffer->get ();
       errcode = 0;
     }
 
   /* bufptr and addr now point immediately beyond the last byte which we
      consider part of the string (including a '\0' which ends the string).  */
-  *bytes_read = bufptr - *buffer;
+  *bytes_read = bufptr - buffer->get ();
 
   QUIT;
 
-  discard_cleanups (old_chain);
-
   return errcode;
 }
 
@@ -2438,11 +2432,11 @@ generic_emit_char (int c, struct type *t
 
 static int
 count_next_character (wchar_iterator *iter,
-		      VEC (converted_character_d) **vec)
+		      std::vector<converted_character> *vec)
 {
   struct converted_character *current;
 
-  if (VEC_empty (converted_character_d, *vec))
+  if (vec->empty ())
     {
       struct converted_character tmp;
       gdb_wchar_t *chars;
@@ -2454,10 +2448,10 @@ count_next_character (wchar_iterator *it
 	  gdb_assert (tmp.num_chars < MAX_WCHARS);
 	  memcpy (tmp.chars, chars, tmp.num_chars * sizeof (gdb_wchar_t));
 	}
-      VEC_safe_push (converted_character_d, *vec, &tmp);
+      vec->push_back (tmp);
     }
 
-  current = VEC_last (converted_character_d, *vec);
+  current = &vec->back ();
 
   /* Count repeated characters or bytes.  */
   current->repeat_count = 1;
@@ -2511,7 +2505,7 @@ count_next_character (wchar_iterator *it
 
       /* Push this next converted character onto the result vector.  */
       repeat = current->repeat_count;
-      VEC_safe_push (converted_character_d, *vec, &d);
+      vec->push_back (d);
       return repeat;
     }
 }
@@ -2523,13 +2517,13 @@ count_next_character (wchar_iterator *it
 
 static void
 print_converted_chars_to_obstack (struct obstack *obstack,
-				  VEC (converted_character_d) *chars,
+				  const std::vector<converted_character> &chars,
 				  int quote_char, int width,
 				  enum bfd_endian byte_order,
 				  const struct value_print_options *options)
 {
   unsigned int idx;
-  struct converted_character *elem;
+  const converted_character *elem;
   enum {START, SINGLE, REPEAT, INCOMPLETE, FINISH} state, last;
   gdb_wchar_t wide_quote_char = gdb_btowc (quote_char);
   int need_escape = 0;
@@ -2646,7 +2640,7 @@ print_converted_chars_to_obstack (struct
       last = state;
       if (state != FINISH)
 	{
-	  elem = VEC_index (converted_character_d, chars, idx++);
+	  elem = &chars[idx++];
 	  switch (elem->result)
 	    {
 	    case wchar_iterate_ok:
@@ -2689,10 +2683,8 @@ generic_printstr (struct ui_file *stream
   enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
   unsigned int i;
   int width = TYPE_LENGTH (type);
-  struct cleanup *cleanup;
   int finished = 0;
   struct converted_character *last;
-  VEC (converted_character_d) *converted_chars;
 
   if (length == -1)
     {
@@ -2725,9 +2717,7 @@ generic_printstr (struct ui_file *stream
 
   /* Arrange to iterate over the characters, in wchar_t form.  */
   wchar_iterator iter (string, length * width, encoding, width);
-  converted_chars = NULL;
-  cleanup = make_cleanup (VEC_cleanup (converted_character_d),
-			  &converted_chars);
+  std::vector<converted_character> converted_chars;
 
   /* Convert characters until the string is over or the maximum
      number of printed characters has been reached.  */
@@ -2752,7 +2742,7 @@ generic_printstr (struct ui_file *stream
 
   /* Get the last element and determine if the entire string was
      processed.  */
-  last = VEC_last (converted_character_d, converted_chars);
+  last = &converted_chars.back ();
   finished = (last->result == wchar_iterate_eof);
 
   /* Ensure that CONVERTED_CHARS is terminated.  */
@@ -2779,8 +2769,6 @@ generic_printstr (struct ui_file *stream
   obstack_1grow (&output, '\0');
 
   fputs_filtered ((const char *) obstack_base (&output), stream);
-
-  do_cleanups (cleanup);
 }
 
 /* Print a string from the inferior, starting at ADDR and printing up to LEN
@@ -2802,8 +2790,7 @@ val_print_string (struct type *elttype, 
   int found_nul;		/* Non-zero if we found the nul char.  */
   unsigned int fetchlimit;	/* Maximum number of chars to print.  */
   int bytes_read;
-  gdb_byte *buffer = NULL;	/* Dynamically growable fetch buffer.  */
-  struct cleanup *old_chain = NULL;	/* Top of the old cleanup chain.  */
+  gdb::unique_xmalloc_ptr<gdb_byte> buffer;	/* Dynamically growable fetch buffer.  */
   struct gdbarch *gdbarch = get_type_arch (elttype);
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   int width = TYPE_LENGTH (elttype);
@@ -2821,7 +2808,6 @@ val_print_string (struct type *elttype, 
 
   err = read_string (addr, len, width, fetchlimit, byte_order,
 		     &buffer, &bytes_read);
-  old_chain = make_cleanup (xfree, buffer);
 
   addr += bytes_read;
 
@@ -2832,8 +2818,8 @@ val_print_string (struct type *elttype, 
   /* Determine found_nul by looking at the last character read.  */
   found_nul = 0;
   if (bytes_read >= width)
-    found_nul = extract_unsigned_integer (buffer + bytes_read - width, width,
-					  byte_order) == 0;
+    found_nul = extract_unsigned_integer (buffer.get () + bytes_read - width,
+					  width, byte_order) == 0;
   if (len == -1 && !found_nul)
     {
       gdb_byte *peekbuf;
@@ -2861,7 +2847,7 @@ val_print_string (struct type *elttype, 
      and then the error message.  */
   if (err == 0 || bytes_read > 0)
     {
-      LA_PRINT_STRING (stream, elttype, buffer, bytes_read / width,
+      LA_PRINT_STRING (stream, elttype, buffer.get (), bytes_read / width,
 		       encoding, force_ellipsis, options);
     }
 
@@ -2875,7 +2861,6 @@ val_print_string (struct type *elttype, 
     }
 
   gdb_flush (stream);
-  do_cleanups (old_chain);
 
   return (bytes_read / width);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/valprint.h ./gdb/valprint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/valprint.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/valprint.h	2018-07-10 02:06:13.000000000 +0000
@@ -150,7 +150,8 @@ extern void print_function_pointer_addre
 
 extern int read_string (CORE_ADDR addr, int len, int width,
 			unsigned int fetchlimit,
-			enum bfd_endian byte_order, gdb_byte **buffer,
+			enum bfd_endian byte_order,
+			gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
 			int *bytes_read);
 
 extern void val_print_optimized_out (const struct value *val,
@@ -210,7 +211,7 @@ extern void generic_printstr (struct ui_
    arguments passed to all command implementations, except ARGS is
    const.  */
 
-extern void output_command_const (const char *args, int from_tty);
+extern void output_command (const char *args, int from_tty);
 
 extern int val_print_scalar_type_p (struct type *type);
 
@@ -229,4 +230,20 @@ extern void print_command_parse_format (
 					struct format_data *fmtp);
 extern void print_value (struct value *val, const struct format_data *fmtp);
 
+/* Given an address ADDR return all the elements needed to print the
+   address in a symbolic form.  NAME can be mangled or not depending
+   on DO_DEMANGLE (and also on the asm_demangle global variable,
+   manipulated via ''set print asm-demangle'').  Return 0 in case of
+   success, when all the info in the OUT paramters is valid.  Return 1
+   otherwise.  */
+
+extern int build_address_symbolic (struct gdbarch *,
+				   CORE_ADDR addr,
+				   int do_demangle,
+				   std::string *name,
+				   int *offset,
+				   std::string *filename,
+				   int *line,
+				   int *unmapped);
+
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/value.c ./gdb/value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/value.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/value.c	2018-07-10 02:06:13.000000000 +0000
@@ -41,6 +41,8 @@
 #include "user-regs.h"
 #include <algorithm>
 #include "completer.h"
+#include "selftest.h"
+#include "common/array-view.h"
 
 /* Definition of a user function.  */
 struct internal_function
@@ -66,11 +68,23 @@ struct range
 
   /* Length of the range.  */
   LONGEST length;
-};
 
-typedef struct range range_s;
+  /* Returns true if THIS is strictly less than OTHER, useful for
+     searching.  We keep ranges sorted by offset and coalesce
+     overlapping and contiguous ranges, so this just compares the
+     starting offset.  */
 
-DEF_VEC_O(range_s);
+  bool operator< (const range &other) const
+  {
+    return offset < other.offset;
+  }
+
+  /* Returns true if THIS is equal to OTHER.  */
+  bool operator== (const range &other) const
+  {
+    return offset == other.offset && length == other.length;
+  }
+};
 
 /* Returns true if the ranges defined by [offset1, offset1+len1) and
    [offset2, offset2+len2) overlap.  */
@@ -86,25 +100,14 @@ ranges_overlap (LONGEST offset1, LONGEST
   return (l < h);
 }
 
-/* Returns true if the first argument is strictly less than the
-   second, useful for VEC_lower_bound.  We keep ranges sorted by
-   offset and coalesce overlapping and contiguous ranges, so this just
-   compares the starting offset.  */
-
-static int
-range_lessthan (const range_s *r1, const range_s *r2)
-{
-  return r1->offset < r2->offset;
-}
-
 /* Returns true if RANGES contains any range that overlaps [OFFSET,
    OFFSET+LENGTH).  */
 
 static int
-ranges_contain (VEC(range_s) *ranges, LONGEST offset, LONGEST length)
+ranges_contain (const std::vector<range> &ranges, LONGEST offset,
+		LONGEST length)
 {
-  range_s what;
-  LONGEST i;
+  range what;
 
   what.offset = offset;
   what.length = length;
@@ -140,21 +143,22 @@ ranges_contain (VEC(range_s) *ranges, LO
        I=1
   */
 
-  i = VEC_lower_bound (range_s, ranges, &what, range_lessthan);
 
-  if (i > 0)
+  auto i = std::lower_bound (ranges.begin (), ranges.end (), what);
+
+  if (i > ranges.begin ())
     {
-      struct range *bef = VEC_index (range_s, ranges, i - 1);
+      const struct range &bef = *(i - 1);
 
-      if (ranges_overlap (bef->offset, bef->length, offset, length))
+      if (ranges_overlap (bef.offset, bef.length, offset, length))
 	return 1;
     }
 
-  if (i < VEC_length (range_s, ranges))
+  if (i < ranges.end ())
     {
-      struct range *r = VEC_index (range_s, ranges, i);
+      const struct range &r = *i;
 
-      if (ranges_overlap (r->offset, r->length, offset, length))
+      if (ranges_overlap (r.offset, r.length, offset, length))
 	return 1;
     }
 
@@ -168,9 +172,34 @@ static struct cmd_list_element *function
 
 struct value
 {
+  explicit value (struct type *type_)
+    : modifiable (1),
+      lazy (1),
+      initialized (1),
+      stack (0),
+      type (type_),
+      enclosing_type (type_)
+  {
+  }
+
+  ~value ()
+  {
+    if (VALUE_LVAL (this) == lval_computed)
+      {
+	const struct lval_funcs *funcs = location.computed.funcs;
+
+	if (funcs->free_closure)
+	  funcs->free_closure (this);
+      }
+    else if (VALUE_LVAL (this) == lval_xcallable)
+      delete location.xm_worker;
+  }
+
+  DISABLE_COPY_AND_ASSIGN (value);
+
   /* Type of value; either not an lval, or one of the various
      different possible kinds of lval.  */
-  enum lval_type lval;
+  enum lval_type lval = not_lval;
 
   /* Is it modifiable?  Only relevant if lval != not_lval.  */
   unsigned int modifiable : 1;
@@ -198,9 +227,6 @@ struct value
      used instead of read_memory to enable extra caching.  */
   unsigned int stack : 1;
 
-  /* If the value has been released.  */
-  unsigned int released : 1;
-
   /* Location of value (if lval).  */
   union
   {
@@ -235,32 +261,32 @@ struct value
       /* Closure for those functions to use.  */
       void *closure;
     } computed;
-  } location;
+  } location {};
 
   /* Describes offset of a value within lval of a structure in target
      addressable memory units.  Note also the member embedded_offset
      below.  */
-  LONGEST offset;
+  LONGEST offset = 0;
 
   /* Only used for bitfields; number of bits contained in them.  */
-  LONGEST bitsize;
+  LONGEST bitsize = 0;
 
   /* Only used for bitfields; position of start of field.  For
      gdbarch_bits_big_endian=0 targets, it is the position of the LSB.  For
      gdbarch_bits_big_endian=1 targets, it is the position of the MSB.  */
-  LONGEST bitpos;
+  LONGEST bitpos = 0;
 
   /* The number of references to this value.  When a value is created,
      the value chain holds a reference, so REFERENCE_COUNT is 1.  If
      release_value is called, this value is removed from the chain but
      the caller of release_value now has a reference to this value.
      The caller must arrange for a call to value_free later.  */
-  int reference_count;
+  int reference_count = 1;
 
   /* Only used for bitfields; the containing value.  This allows a
      single read from the target when displaying multiple
      bitfields.  */
-  struct value *parent;
+  value_ref_ptr parent;
 
   /* Type of the value.  */
   struct type *type;
@@ -306,18 +332,12 @@ struct value
      `type', and `embedded_offset' is zero, so everything works
      normally.  */
   struct type *enclosing_type;
-  LONGEST embedded_offset;
-  LONGEST pointed_to_offset;
-
-  /* Values are stored in a chain, so that they can be deleted easily
-     over calls to the inferior.  Values assigned to internal
-     variables, put into the value history or exposed to Python are
-     taken off this list.  */
-  struct value *next;
+  LONGEST embedded_offset = 0;
+  LONGEST pointed_to_offset = 0;
 
   /* Actual contents of the value.  Target byte-order.  NULL or not
      valid if lazy is nonzero.  */
-  gdb_byte *contents;
+  gdb::unique_xmalloc_ptr<gdb_byte> contents;
 
   /* Unavailable ranges in CONTENTS.  We mark unavailable ranges,
      rather than available, since the common and default case is for a
@@ -325,7 +345,7 @@ struct value
      The unavailable ranges are tracked in bits.  Note that a contents
      bit that has been optimized out doesn't really exist in the
      program, so it can't be marked unavailable either.  */
-  VEC(range_s) *unavailable;
+  std::vector<range> unavailable;
 
   /* Likewise, but for optimized out contents (a chunk of the value of
      a variable that does not actually exist in the program).  If LVAL
@@ -334,7 +354,7 @@ struct value
      saved registers and optimized-out program variables values are
      treated pretty much the same, except not-saved registers have a
      different string representation and related error strings.  */
-  VEC(range_s) *optimized_out;
+  std::vector<range> optimized_out;
 };
 
 /* See value.h.  */
@@ -378,7 +398,7 @@ value_entirely_available (struct value *
   if (value->lazy)
     value_fetch_lazy (value);
 
-  if (VEC_empty (range_s, value->unavailable))
+  if (value->unavailable.empty ())
     return 1;
   return 0;
 }
@@ -389,20 +409,20 @@ value_entirely_available (struct value *
 
 static int
 value_entirely_covered_by_range_vector (struct value *value,
-					VEC(range_s) **ranges)
+					const std::vector<range> &ranges)
 {
   /* We can only tell whether the whole value is optimized out /
      unavailable when we try to read it.  */
   if (value->lazy)
     value_fetch_lazy (value);
 
-  if (VEC_length (range_s, *ranges) == 1)
+  if (ranges.size () == 1)
     {
-      struct range *t = VEC_index (range_s, *ranges, 0);
+      const struct range &t = ranges[0];
 
-      if (t->offset == 0
-	  && t->length == (TARGET_CHAR_BIT
-			   * TYPE_LENGTH (value_enclosing_type (value))))
+      if (t.offset == 0
+	  && t.length == (TARGET_CHAR_BIT
+			  * TYPE_LENGTH (value_enclosing_type (value))))
 	return 1;
     }
 
@@ -412,24 +432,23 @@ value_entirely_covered_by_range_vector (
 int
 value_entirely_unavailable (struct value *value)
 {
-  return value_entirely_covered_by_range_vector (value, &value->unavailable);
+  return value_entirely_covered_by_range_vector (value, value->unavailable);
 }
 
 int
 value_entirely_optimized_out (struct value *value)
 {
-  return value_entirely_covered_by_range_vector (value, &value->optimized_out);
+  return value_entirely_covered_by_range_vector (value, value->optimized_out);
 }
 
 /* Insert into the vector pointed to by VECTORP the bit range starting of
    OFFSET bits, and extending for the next LENGTH bits.  */
 
 static void
-insert_into_bit_range_vector (VEC(range_s) **vectorp,
+insert_into_bit_range_vector (std::vector<range> *vectorp,
 			      LONGEST offset, LONGEST length)
 {
-  range_s newr;
-  int i;
+  range newr;
 
   /* Insert the range sorted.  If there's overlap or the new range
      would be contiguous with an existing range, merge.  */
@@ -517,76 +536,77 @@ insert_into_bit_range_vector (VEC(range_
 
   */
 
-  i = VEC_lower_bound (range_s, *vectorp, &newr, range_lessthan);
-  if (i > 0)
+  auto i = std::lower_bound (vectorp->begin (), vectorp->end (), newr);
+  if (i > vectorp->begin ())
     {
-      struct range *bef = VEC_index (range_s, *vectorp, i - 1);
+      struct range &bef = *(i - 1);
 
-      if (ranges_overlap (bef->offset, bef->length, offset, length))
+      if (ranges_overlap (bef.offset, bef.length, offset, length))
 	{
 	  /* #1 */
-	  ULONGEST l = std::min (bef->offset, offset);
-	  ULONGEST h = std::max (bef->offset + bef->length, offset + length);
+	  ULONGEST l = std::min (bef.offset, offset);
+	  ULONGEST h = std::max (bef.offset + bef.length, offset + length);
 
-	  bef->offset = l;
-	  bef->length = h - l;
+	  bef.offset = l;
+	  bef.length = h - l;
 	  i--;
 	}
-      else if (offset == bef->offset + bef->length)
+      else if (offset == bef.offset + bef.length)
 	{
 	  /* #2 */
-	  bef->length += length;
+	  bef.length += length;
 	  i--;
 	}
       else
 	{
 	  /* #3 */
-	  VEC_safe_insert (range_s, *vectorp, i, &newr);
+	  i = vectorp->insert (i, newr);
 	}
     }
   else
     {
       /* #4 */
-      VEC_safe_insert (range_s, *vectorp, i, &newr);
+      i = vectorp->insert (i, newr);
     }
 
   /* Check whether the ranges following the one we've just added or
      touched can be folded in (#5 above).  */
-  if (i + 1 < VEC_length (range_s, *vectorp))
+  if (i != vectorp->end () && i + 1 < vectorp->end ())
     {
-      struct range *t;
-      struct range *r;
       int removed = 0;
-      int next = i + 1;
+      auto next = i + 1;
 
       /* Get the range we just touched.  */
-      t = VEC_index (range_s, *vectorp, i);
+      struct range &t = *i;
       removed = 0;
 
       i = next;
-      for (; VEC_iterate (range_s, *vectorp, i, r); i++)
-	if (r->offset <= t->offset + t->length)
-	  {
-	    ULONGEST l, h;
-
-	    l = std::min (t->offset, r->offset);
-	    h = std::max (t->offset + t->length, r->offset + r->length);
-
-	    t->offset = l;
-	    t->length = h - l;
-
-	    removed++;
-	  }
-	else
-	  {
-	    /* If we couldn't merge this one, we won't be able to
-	       merge following ones either, since the ranges are
-	       always sorted by OFFSET.  */
-	    break;
-	  }
+      for (; i < vectorp->end (); i++)
+	{
+	  struct range &r = *i;
+	  if (r.offset <= t.offset + t.length)
+	    {
+	      ULONGEST l, h;
+
+	      l = std::min (t.offset, r.offset);
+	      h = std::max (t.offset + t.length, r.offset + r.length);
+
+	      t.offset = l;
+	      t.length = h - l;
+
+	      removed++;
+	    }
+	  else
+	    {
+	      /* If we couldn't merge this one, we won't be able to
+		 merge following ones either, since the ranges are
+		 always sorted by OFFSET.  */
+	      break;
+	    }
+	}
 
       if (removed != 0)
-	VEC_block_remove (range_s, *vectorp, next, removed);
+	vectorp->erase (next, next + removed);
     }
 }
 
@@ -612,15 +632,17 @@ mark_value_bytes_unavailable (struct val
    found, or -1 if none was found.  */
 
 static int
-find_first_range_overlap (VEC(range_s) *ranges, int pos,
+find_first_range_overlap (const std::vector<range> *ranges, int pos,
 			  LONGEST offset, LONGEST length)
 {
-  range_s *r;
   int i;
 
-  for (i = pos; VEC_iterate (range_s, ranges, i, r); i++)
-    if (ranges_overlap (r->offset, r->length, offset, length))
-      return i;
+  for (i = pos; i < ranges->size (); i++)
+    {
+      const range &r = (*ranges)[i];
+      if (ranges_overlap (r.offset, r.length, offset, length))
+	return i;
+    }
 
   return -1;
 }
@@ -733,7 +755,7 @@ memcmp_with_bit_offsets (const gdb_byte 
 struct ranges_and_idx
 {
   /* The ranges.  */
-  VEC(range_s) *ranges;
+  const std::vector<range> *ranges;
 
   /* The range we've last found in RANGES.  Given ranges are sorted,
      we can start the next lookup here.  */
@@ -767,12 +789,12 @@ find_first_range_overlap_and_match (stru
     return 0;
   else
     {
-      range_s *r1, *r2;
+      const range *r1, *r2;
       ULONGEST l1, h1;
       ULONGEST l2, h2;
 
-      r1 = VEC_index (range_s, rp1->ranges, rp1->idx);
-      r2 = VEC_index (range_s, rp2->ranges, rp2->idx);
+      r1 = &(*rp1->ranges)[rp1->idx];
+      r2 = &(*rp2->ranges)[rp2->idx];
 
       /* Get the unavailable windows intersected by the incoming
 	 ranges.  The first and last ranges that overlap the argument
@@ -828,10 +850,10 @@ value_contents_bits_eq (const struct val
 
   memset (&rp1, 0, sizeof (rp1));
   memset (&rp2, 0, sizeof (rp2));
-  rp1[0].ranges = val1->unavailable;
-  rp2[0].ranges = val2->unavailable;
-  rp1[1].ranges = val1->optimized_out;
-  rp2[1].ranges = val2->optimized_out;
+  rp1[0].ranges = &val1->unavailable;
+  rp2[0].ranges = &val2->unavailable;
+  rp1[1].ranges = &val1->optimized_out;
+  rp2[1].ranges = &val2->optimized_out;
 
   while (length > 0)
     {
@@ -858,8 +880,8 @@ value_contents_bits_eq (const struct val
 	}
 
       /* Compare the available/valid contents.  */
-      if (memcmp_with_bit_offsets (val1->contents, offset1,
-				   val2->contents, offset2, l) != 0)
+      if (memcmp_with_bit_offsets (val1->contents.get (), offset1,
+				   val2->contents.get (), offset2, l) != 0)
 	return false;
 
       length -= h;
@@ -881,32 +903,17 @@ value_contents_eq (const struct value *v
 }
 
 
-/* The value-history records all the values printed
-   by print commands during this session.  Each chunk
-   records 60 consecutive values.  The first chunk on
-   the chain records the most recent values.
-   The total number of values is in value_history_count.  */
-
-#define VALUE_HISTORY_CHUNK 60
-
-struct value_history_chunk
-  {
-    struct value_history_chunk *next;
-    struct value *values[VALUE_HISTORY_CHUNK];
-  };
+/* The value-history records all the values printed by print commands
+   during this session.  */
 
-/* Chain of chunks now in use.  */
-
-static struct value_history_chunk *value_history_chain;
-
-static int value_history_count;	/* Abs number of last entry stored.  */
+static std::vector<value_ref_ptr> value_history;
 
 
 /* List of all value objects currently allocated
    (except for those released by calls to release_value)
    This is so they can be freed after each command.  */
 
-static struct value *all_values;
+static std::vector<value_ref_ptr> all_values;
 
 /* Allocate a lazy value for type TYPE.  Its actual content is
    "lazily" allocated too: the content field of the return value is
@@ -925,25 +932,10 @@ allocate_value_lazy (struct type *type)
      description correctly.  */
   check_typedef (type);
 
-  val = XCNEW (struct value);
-  val->contents = NULL;
-  val->next = all_values;
-  all_values = val;
-  val->type = type;
-  val->enclosing_type = type;
-  VALUE_LVAL (val) = not_lval;
-  val->location.address = 0;
-  val->offset = 0;
-  val->bitpos = 0;
-  val->bitsize = 0;
-  val->lazy = 1;
-  val->embedded_offset = 0;
-  val->pointed_to_offset = 0;
-  val->modifiable = 1;
-  val->initialized = 1;  /* Default to initialized.  */
+  val = new struct value (type);
 
   /* Values start out on the all_values chain.  */
-  val->reference_count = 1;
+  all_values.emplace_back (val);
 
   return val;
 }
@@ -1025,8 +1017,8 @@ allocate_value_contents (struct value *v
   if (!val->contents)
     {
       check_type_length_before_alloc (val->enclosing_type);
-      val->contents
-	= (gdb_byte *) xzalloc (TYPE_LENGTH (val->enclosing_type));
+      val->contents.reset
+	((gdb_byte *) xzalloc (TYPE_LENGTH (val->enclosing_type)));
     }
 }
 
@@ -1085,12 +1077,6 @@ allocate_optimized_out_value (struct typ
 
 /* Accessor methods.  */
 
-struct value *
-value_next (const struct value *value)
-{
-  return value->next;
-}
-
 struct type *
 value_type (const struct value *value)
 {
@@ -1138,7 +1124,7 @@ set_value_bitsize (struct value *value, 
 struct value *
 value_parent (const struct value *value)
 {
-  return value->parent;
+  return value->parent.get ();
 }
 
 /* See value.h.  */
@@ -1146,12 +1132,7 @@ value_parent (const struct value *value)
 void
 set_value_parent (struct value *value, struct value *parent)
 {
-  struct value *old = value->parent;
-
-  value->parent = parent;
-  if (parent != NULL)
-    value_incref (parent);
-  value_free (old);
+  value->parent = value_ref_ptr::new_reference (parent);
 }
 
 gdb_byte *
@@ -1161,14 +1142,14 @@ value_contents_raw (struct value *value)
   int unit_size = gdbarch_addressable_memory_unit_size (arch);
 
   allocate_value_contents (value);
-  return value->contents + value->embedded_offset * unit_size;
+  return value->contents.get () + value->embedded_offset * unit_size;
 }
 
 gdb_byte *
 value_contents_all_raw (struct value *value)
 {
   allocate_value_contents (value);
-  return value->contents;
+  return value->contents.get ();
 }
 
 struct type *
@@ -1230,7 +1211,7 @@ error_value_optimized_out (void)
 static void
 require_not_optimized_out (const struct value *value)
 {
-  if (!VEC_empty (range_s, value->optimized_out))
+  if (!value->optimized_out.empty ())
     {
       if (value->lval == lval_register)
 	error (_("register has not been saved in frame"));
@@ -1242,7 +1223,7 @@ require_not_optimized_out (const struct 
 static void
 require_available (const struct value *value)
 {
-  if (!VEC_empty (range_s, value->unavailable))
+  if (!value->unavailable.empty ())
     throw_error (NOT_AVAILABLE_ERROR, _("value is not available"));
 }
 
@@ -1251,14 +1232,14 @@ value_contents_for_printing (struct valu
 {
   if (value->lazy)
     value_fetch_lazy (value);
-  return value->contents;
+  return value->contents.get ();
 }
 
 const gdb_byte *
 value_contents_for_printing_const (const struct value *value)
 {
   gdb_assert (!value->lazy);
-  return value->contents;
+  return value->contents.get ();
 }
 
 const gdb_byte *
@@ -1274,19 +1255,16 @@ value_contents_all (struct value *value)
    SRC_BIT_OFFSET+BIT_LENGTH) ranges into *DST_RANGE, adjusted.  */
 
 static void
-ranges_copy_adjusted (VEC (range_s) **dst_range, int dst_bit_offset,
-		      VEC (range_s) *src_range, int src_bit_offset,
+ranges_copy_adjusted (std::vector<range> *dst_range, int dst_bit_offset,
+		      const std::vector<range> &src_range, int src_bit_offset,
 		      int bit_length)
 {
-  range_s *r;
-  int i;
-
-  for (i = 0; VEC_iterate (range_s, src_range, i, r); i++)
+  for (const range &r : src_range)
     {
       ULONGEST h, l;
 
-      l = std::max (r->offset, (LONGEST) src_bit_offset);
-      h = std::min (r->offset + r->length,
+      l = std::max (r.offset, (LONGEST) src_bit_offset);
+      h = std::min (r.offset + r.length,
 		    (LONGEST) src_bit_offset + bit_length);
 
       if (l < h)
@@ -1425,7 +1403,7 @@ value_optimized_out (struct value *value
 {
   /* We can only know if a value is optimized out once we have tried to
      fetch it.  */
-  if (VEC_empty (range_s, value->optimized_out) && value->lazy)
+  if (value->optimized_out.empty () && value->lazy)
     {
       TRY
 	{
@@ -1438,7 +1416,7 @@ value_optimized_out (struct value *value
       END_CATCH
     }
 
-  return !VEC_empty (range_s, value->optimized_out);
+  return !value->optimized_out.empty ();
 }
 
 /* Mark contents of VALUE as optimized out, starting at OFFSET bytes, and
@@ -1531,7 +1509,7 @@ value_address (const struct value *value
   if (value->lval != lval_memory)
     return 0;
   if (value->parent != NULL)
-    return value_address (value->parent) + value->offset;
+    return value_address (value->parent.get ()) + value->offset;
   if (NULL != TYPE_DATA_LOCATION (value_type (value)))
     {
       gdb_assert (PROP_CONST == TYPE_DATA_LOCATION_KIND (value_type (value)));
@@ -1588,11 +1566,12 @@ deprecated_value_modifiable (const struc
 struct value *
 value_mark (void)
 {
-  return all_values;
+  if (all_values.empty ())
+    return nullptr;
+  return all_values.back ().get ();
 }
 
-/* Take a reference to VAL.  VAL will not be deallocated until all
-   references are released.  */
+/* See value.h.  */
 
 void
 value_incref (struct value *val)
@@ -1605,34 +1584,15 @@ value_incref (struct value *val)
    chain.  */
 
 void
-value_free (struct value *val)
+value_decref (struct value *val)
 {
-  if (val)
+  if (val != nullptr)
     {
       gdb_assert (val->reference_count > 0);
       val->reference_count--;
-      if (val->reference_count > 0)
-	return;
-
-      /* If there's an associated parent value, drop our reference to
-	 it.  */
-      if (val->parent != NULL)
-	value_free (val->parent);
-
-      if (VALUE_LVAL (val) == lval_computed)
-	{
-	  const struct lval_funcs *funcs = val->location.computed.funcs;
-
-	  if (funcs->free_closure)
-	    funcs->free_closure (val);
-	}
-      else if (VALUE_LVAL (val) == lval_xcallable)
-	  free_xmethod_worker (val->location.xm_worker);
-
-      xfree (val->contents);
-      VEC_free (range_s, val->unavailable);
+      if (val->reference_count == 0)
+	delete val;
     }
-  xfree (val);
 }
 
 /* Free all values allocated since MARK was obtained by value_mark
@@ -1640,113 +1600,56 @@ value_free (struct value *val)
 void
 value_free_to_mark (const struct value *mark)
 {
-  struct value *val;
-  struct value *next;
-
-  for (val = all_values; val && val != mark; val = next)
-    {
-      next = val->next;
-      val->released = 1;
-      value_free (val);
-    }
-  all_values = val;
-}
-
-/* Free all the values that have been allocated (except for those released).
-   Call after each command, successful or not.
-   In practice this is called before each command, which is sufficient.  */
-
-void
-free_all_values (void)
-{
-  struct value *val;
-  struct value *next;
-
-  for (val = all_values; val; val = next)
-    {
-      next = val->next;
-      val->released = 1;
-      value_free (val);
-    }
-
-  all_values = 0;
-}
-
-/* Frees all the elements in a chain of values.  */
-
-void
-free_value_chain (struct value *v)
-{
-  struct value *next;
-
-  for (; v; v = next)
-    {
-      next = value_next (v);
-      value_free (v);
-    }
+  auto iter = std::find (all_values.begin (), all_values.end (), mark);
+  if (iter == all_values.end ())
+    all_values.clear ();
+  else
+    all_values.erase (iter + 1, all_values.end ());
 }
 
 /* Remove VAL from the chain all_values
    so it will not be freed automatically.  */
 
-void
+value_ref_ptr
 release_value (struct value *val)
 {
-  struct value *v;
-
-  if (all_values == val)
-    {
-      all_values = val->next;
-      val->next = NULL;
-      val->released = 1;
-      return;
-    }
+  if (val == nullptr)
+    return value_ref_ptr ();
 
-  for (v = all_values; v; v = v->next)
+  std::vector<value_ref_ptr>::reverse_iterator iter;
+  for (iter = all_values.rbegin (); iter != all_values.rend (); ++iter)
     {
-      if (v->next == val)
+      if (*iter == val)
 	{
-	  v->next = val->next;
-	  val->next = NULL;
-	  val->released = 1;
-	  break;
+	  value_ref_ptr result = *iter;
+	  all_values.erase (iter.base () - 1);
+	  return result;
 	}
     }
-}
-
-/* If the value is not already released, release it.
-   If the value is already released, increment its reference count.
-   That is, this function ensures that the value is released from the
-   value chain and that the caller owns a reference to it.  */
 
-void
-release_value_or_incref (struct value *val)
-{
-  if (val->released)
-    value_incref (val);
-  else
-    release_value (val);
+  /* We must always return an owned reference.  Normally this happens
+     because we transfer the reference from the value chain, but in
+     this case the value was not on the chain.  */
+  return value_ref_ptr::new_reference (val);
 }
 
-/* Release all values up to mark  */
-struct value *
+/* See value.h.  */
+
+std::vector<value_ref_ptr>
 value_release_to_mark (const struct value *mark)
 {
-  struct value *val;
-  struct value *next;
+  std::vector<value_ref_ptr> result;
 
-  for (val = next = all_values; next; next = next->next)
+  auto iter = std::find (all_values.begin (), all_values.end (), mark);
+  if (iter == all_values.end ())
+    std::swap (result, all_values);
+  else
     {
-      if (next->next == mark)
-	{
-	  all_values = next->next;
-	  next->next = NULL;
-	  return val;
-	}
-      next->released = 1;
+      std::move (iter + 1, all_values.end (), std::back_inserter (result));
+      all_values.erase (iter + 1, all_values.end ());
     }
-  all_values = 0;
-  return val;
+  std::reverse (result.begin (), result.end ());
+  return result;
 }
 
 /* Return a copy of the value ARG.
@@ -1779,9 +1682,9 @@ value_copy (struct value *arg)
 	      TYPE_LENGTH (value_enclosing_type (arg)));
 
     }
-  val->unavailable = VEC_copy (range_s, arg->unavailable);
-  val->optimized_out = VEC_copy (range_s, arg->optimized_out);
-  set_value_parent (val, arg->parent);
+  val->unavailable = arg->unavailable;
+  val->optimized_out = arg->optimized_out;
+  val->parent = arg->parent;
   if (VALUE_LVAL (val) == lval_computed)
     {
       const struct lval_funcs *funcs = val->location.computed.funcs;
@@ -1883,8 +1786,6 @@ set_value_component_location (struct val
 int
 record_latest_value (struct value *val)
 {
-  int i;
-
   /* We don't want this value to have anything to do with the inferior anymore.
      In particular, "set $1 = 50" should not affect the variable from which
      the value was taken, and fast watchpoints should be able to assume that
@@ -1896,29 +1797,9 @@ record_latest_value (struct value *val)
      but the current contents of that location.  c'est la vie...  */
   val->modifiable = 0;
 
-  /* The value may have already been released, in which case we're adding a
-     new reference for its entry in the history.  That is why we call
-     release_value_or_incref here instead of release_value.  */
-  release_value_or_incref (val);
-
-  /* Here we treat value_history_count as origin-zero
-     and applying to the value being stored now.  */
-
-  i = value_history_count % VALUE_HISTORY_CHUNK;
-  if (i == 0)
-    {
-      struct value_history_chunk *newobj = XCNEW (struct value_history_chunk);
+  value_history.push_back (release_value (val));
 
-      newobj->next = value_history_chain;
-      value_history_chain = newobj;
-    }
-
-  value_history_chain->values[i] = val;
-
-  /* Now we regard value_history_count as origin-one
-     and applying to the value just stored.  */
-
-  return ++value_history_count;
+  return value_history.size ();
 }
 
 /* Return a copy of the value in the history with sequence number NUM.  */
@@ -1926,12 +1807,10 @@ record_latest_value (struct value *val)
 struct value *
 access_value_history (int num)
 {
-  struct value_history_chunk *chunk;
-  int i;
   int absnum = num;
 
   if (absnum <= 0)
-    absnum += value_history_count;
+    absnum += value_history.size ();
 
   if (absnum <= 0)
     {
@@ -1942,20 +1821,12 @@ access_value_history (int num)
       else
 	error (_("History does not go back to $$%d."), -num);
     }
-  if (absnum > value_history_count)
+  if (absnum > value_history.size ())
     error (_("History has not yet reached $%d."), absnum);
 
   absnum--;
 
-  /* Now absnum is always absolute and origin zero.  */
-
-  chunk = value_history_chain;
-  for (i = (value_history_count - 1) / VALUE_HISTORY_CHUNK
-	 - absnum / VALUE_HISTORY_CHUNK;
-       i > 0; i--)
-    chunk = chunk->next;
-
-  return value_copy (chunk->values[absnum % VALUE_HISTORY_CHUNK]);
+  return value_copy (value_history[absnum].get ());
 }
 
 static void
@@ -1975,13 +1846,13 @@ show_values (const char *num_exp, int fr
   else
     {
       /* "show values" means print the last 10 values.  */
-      num = value_history_count - 9;
+      num = value_history.size () - 9;
     }
 
   if (num <= 0)
     num = 1;
 
-  for (i = num; i < num + 10 && i <= value_history_count; i++)
+  for (i = num; i < num + 10 && i <= value_history.size (); i++)
     {
       struct value_print_options opts;
 
@@ -2416,7 +2287,7 @@ set_internalvar (struct internalvar *var
 	 deleted by free_all_values.  From here on this function should not
 	 call error () until new_data is installed into the var->u to avoid
 	 leaking memory.  */
-      release_value (new_data.value);
+      release_value (new_data.value).release ();
 
       /* Internal variables which are created from values with a dynamic
          location don't need the location property of the origin anymore.
@@ -2478,7 +2349,7 @@ clear_internalvar (struct internalvar *v
   switch (var->kind)
     {
     case INTERNALVAR_VALUE:
-      value_free (var->u.value);
+      value_decref (var->u.value);
       break;
 
     case INTERNALVAR_STRING:
@@ -2629,18 +2500,14 @@ void
 preserve_values (struct objfile *objfile)
 {
   htab_t copied_types;
-  struct value_history_chunk *cur;
   struct internalvar *var;
-  int i;
 
   /* Create the hash table.  We allocate on the objfile's obstack, since
      it is soon to be deleted.  */
   copied_types = create_copied_types_hash (objfile);
 
-  for (cur = value_history_chain; cur; cur = cur->next)
-    for (i = 0; i < VALUE_HISTORY_CHUNK; i++)
-      if (cur->values[i])
-	preserve_one_value (cur->values[i], objfile, copied_types);
+  for (const value_ref_ptr &item : value_history)
+    preserve_one_value (item.get (), objfile, copied_types);
 
   for (var = internalvars; var; var = var->next)
     preserve_one_internalvar (var, objfile, copied_types);
@@ -2697,23 +2564,20 @@ show_convenience (const char *ignore, in
     }
 }
 
-/* Return the TYPE_CODE_XMETHOD value corresponding to WORKER.  */
+
+/* See value.h.  */
 
 struct value *
-value_of_xmethod (struct xmethod_worker *worker)
+value_from_xmethod (xmethod_worker_up &&worker)
 {
-  if (worker->value == NULL)
-    {
-      struct value *v;
+  struct value *v;
 
-      v = allocate_value (builtin_type (target_gdbarch ())->xmethod);
-      v->lval = lval_xcallable;
-      v->location.xm_worker = worker;
-      v->modifiable = 0;
-      worker->value = v;
-    }
+  v = allocate_value (builtin_type (target_gdbarch ())->xmethod);
+  v->lval = lval_xcallable;
+  v->location.xm_worker = worker.release ();
+  v->modifiable = 0;
 
-  return worker->value;
+  return v;
 }
 
 /* Return the type of the result of TYPE_CODE_XMETHOD value METHOD.  */
@@ -2724,8 +2588,8 @@ result_type_of_xmethod (struct value *me
   gdb_assert (TYPE_CODE (value_type (method)) == TYPE_CODE_XMETHOD
 	      && method->lval == lval_xcallable && argc > 0);
 
-  return get_xmethod_result_type (method->location.xm_worker,
-				  argv[0], argv + 1, argc - 1);
+  return method->location.xm_worker->get_result_type
+    (argv[0], argv + 1, argc - 1);
 }
 
 /* Call the xmethod corresponding to the TYPE_CODE_XMETHOD value METHOD.  */
@@ -2736,8 +2600,7 @@ call_xmethod (struct value *method, int 
   gdb_assert (TYPE_CODE (value_type (method)) == TYPE_CODE_XMETHOD
 	      && method->lval == lval_xcallable && argc > 0);
 
-  return invoke_xmethod (method->location.xm_worker,
-			 argv[0], argv + 1, argc - 1);
+  return method->location.xm_worker->invoke (argv[0], argv + 1, argc - 1);
 }
 
 /* Extract a value as a C number (either long or double).
@@ -2980,14 +2843,12 @@ value_static_field (struct type *type, i
 	     reported as non-debuggable symbols.  */
 	  struct bound_minimal_symbol msym
 	    = lookup_minimal_symbol (phys_name, NULL, NULL);
+	  struct type *field_type = TYPE_FIELD_TYPE (type, fieldno);
 
 	  if (!msym.minsym)
-	    return allocate_optimized_out_value (type);
+	    retval = allocate_optimized_out_value (field_type);
 	  else
-	    {
-	      retval = value_at_lazy (TYPE_FIELD_TYPE (type, fieldno),
-				      BMSYMBOL_VALUE_ADDRESS (msym));
-	    }
+	    retval = value_at_lazy (field_type, BMSYMBOL_VALUE_ADDRESS (msym));
 	}
       else
 	retval = value_of_variable (sym.symbol, sym.block);
@@ -3013,7 +2874,8 @@ set_value_enclosing_type (struct value *
     {
       check_type_length_before_alloc (new_encl_type);
       val->contents
-	= (gdb_byte *) xrealloc (val->contents, TYPE_LENGTH (new_encl_type));
+	.reset ((gdb_byte *) xrealloc (val->contents.release (),
+				       TYPE_LENGTH (new_encl_type)));
     }
 
   val->enclosing_type = new_encl_type;
@@ -3200,7 +3062,7 @@ value_fn_field (struct value **arg1p, st
 
       set_value_address (v,
 	gdbarch_convert_from_func_ptr_addr
-	   (gdbarch, BMSYMBOL_VALUE_ADDRESS (msym), &current_target));
+	   (gdbarch, BMSYMBOL_VALUE_ADDRESS (msym), current_top_target ()));
     }
 
   if (arg1p)
@@ -3220,7 +3082,8 @@ value_fn_field (struct value **arg1p, st
 
 /* Unpack a bitfield of the specified FIELD_TYPE, from the object at
    VALADDR, and store the result in *RESULT.
-   The bitfield starts at BITPOS bits and contains BITSIZE bits.
+   The bitfield starts at BITPOS bits and contains BITSIZE bits; if
+   BITSIZE is zero, then the length is taken from FIELD_TYPE.
 
    Extracting bits depends on endianness of the machine.  Compute the
    number of least significant bits to discard.  For big endian machines,
@@ -3250,7 +3113,10 @@ unpack_bits_as_long (struct type *field_
   if (bitsize)
     bytes_read = ((bitpos % 8) + bitsize + 7) / 8;
   else
-    bytes_read = TYPE_LENGTH (field_type);
+    {
+      bytes_read = TYPE_LENGTH (field_type);
+      bitsize = 8 * bytes_read;
+    }
 
   read_offset = bitpos / 8;
 
@@ -3268,7 +3134,7 @@ unpack_bits_as_long (struct type *field_
   /* If the field does not entirely fill a LONGEST, then zero the sign bits.
      If the field is signed, and is negative, then sign extend.  */
 
-  if ((bitsize > 0) && (bitsize < 8 * (int) sizeof (val)))
+  if (bitsize < 8 * (int) sizeof (val))
     {
       valmask = (((ULONGEST) 1) << bitsize) - 1;
       val &= valmask;
@@ -3848,6 +3714,165 @@ value_initialized (const struct value *v
   return val->initialized;
 }
 
+/* Helper for value_fetch_lazy when the value is a bitfield.  */
+
+static void
+value_fetch_lazy_bitfield (struct value *val)
+{
+  gdb_assert (value_bitsize (val) != 0);
+
+  /* To read a lazy bitfield, read the entire enclosing value.  This
+     prevents reading the same block of (possibly volatile) memory once
+     per bitfield.  It would be even better to read only the containing
+     word, but we have no way to record that just specific bits of a
+     value have been fetched.  */
+  struct type *type = check_typedef (value_type (val));
+  struct value *parent = value_parent (val);
+
+  if (value_lazy (parent))
+    value_fetch_lazy (parent);
+
+  unpack_value_bitfield (val, value_bitpos (val), value_bitsize (val),
+			 value_contents_for_printing (parent),
+			 value_offset (val), parent);
+}
+
+/* Helper for value_fetch_lazy when the value is in memory.  */
+
+static void
+value_fetch_lazy_memory (struct value *val)
+{
+  gdb_assert (VALUE_LVAL (val) == lval_memory);
+
+  CORE_ADDR addr = value_address (val);
+  struct type *type = check_typedef (value_enclosing_type (val));
+
+  if (TYPE_LENGTH (type))
+      read_value_memory (val, 0, value_stack (val),
+			 addr, value_contents_all_raw (val),
+			 type_length_units (type));
+}
+
+/* Helper for value_fetch_lazy when the value is in a register.  */
+
+static void
+value_fetch_lazy_register (struct value *val)
+{
+  struct frame_info *next_frame;
+  int regnum;
+  struct type *type = check_typedef (value_type (val));
+  struct value *new_val = val, *mark = value_mark ();
+
+  /* Offsets are not supported here; lazy register values must
+     refer to the entire register.  */
+  gdb_assert (value_offset (val) == 0);
+
+  while (VALUE_LVAL (new_val) == lval_register && value_lazy (new_val))
+    {
+      struct frame_id next_frame_id = VALUE_NEXT_FRAME_ID (new_val);
+
+      next_frame = frame_find_by_id (next_frame_id);
+      regnum = VALUE_REGNUM (new_val);
+
+      gdb_assert (next_frame != NULL);
+
+      /* Convertible register routines are used for multi-register
+	 values and for interpretation in different types
+	 (e.g. float or int from a double register).  Lazy
+	 register values should have the register's natural type,
+	 so they do not apply.  */
+      gdb_assert (!gdbarch_convert_register_p (get_frame_arch (next_frame),
+					       regnum, type));
+
+      /* FRAME was obtained, above, via VALUE_NEXT_FRAME_ID.
+	 Since a "->next" operation was performed when setting
+	 this field, we do not need to perform a "next" operation
+	 again when unwinding the register.  That's why
+	 frame_unwind_register_value() is called here instead of
+	 get_frame_register_value().  */
+      new_val = frame_unwind_register_value (next_frame, regnum);
+
+      /* If we get another lazy lval_register value, it means the
+	 register is found by reading it from NEXT_FRAME's next frame.
+	 frame_unwind_register_value should never return a value with
+	 the frame id pointing to NEXT_FRAME.  If it does, it means we
+	 either have two consecutive frames with the same frame id
+	 in the frame chain, or some code is trying to unwind
+	 behind get_prev_frame's back (e.g., a frame unwind
+	 sniffer trying to unwind), bypassing its validations.  In
+	 any case, it should always be an internal error to end up
+	 in this situation.  */
+      if (VALUE_LVAL (new_val) == lval_register
+	  && value_lazy (new_val)
+	  && frame_id_eq (VALUE_NEXT_FRAME_ID (new_val), next_frame_id))
+	internal_error (__FILE__, __LINE__,
+			_("infinite loop while fetching a register"));
+    }
+
+  /* If it's still lazy (for instance, a saved register on the
+     stack), fetch it.  */
+  if (value_lazy (new_val))
+    value_fetch_lazy (new_val);
+
+  /* Copy the contents and the unavailability/optimized-out
+     meta-data from NEW_VAL to VAL.  */
+  set_value_lazy (val, 0);
+  value_contents_copy (val, value_embedded_offset (val),
+		       new_val, value_embedded_offset (new_val),
+		       type_length_units (type));
+
+  if (frame_debug)
+    {
+      struct gdbarch *gdbarch;
+      struct frame_info *frame;
+      /* VALUE_FRAME_ID is used here, instead of VALUE_NEXT_FRAME_ID,
+	 so that the frame level will be shown correctly.  */
+      frame = frame_find_by_id (VALUE_FRAME_ID (val));
+      regnum = VALUE_REGNUM (val);
+      gdbarch = get_frame_arch (frame);
+
+      fprintf_unfiltered (gdb_stdlog,
+			  "{ value_fetch_lazy "
+			  "(frame=%d,regnum=%d(%s),...) ",
+			  frame_relative_level (frame), regnum,
+			  user_reg_map_regnum_to_name (gdbarch, regnum));
+
+      fprintf_unfiltered (gdb_stdlog, "->");
+      if (value_optimized_out (new_val))
+	{
+	  fprintf_unfiltered (gdb_stdlog, " ");
+	  val_print_optimized_out (new_val, gdb_stdlog);
+	}
+      else
+	{
+	  int i;
+	  const gdb_byte *buf = value_contents (new_val);
+
+	  if (VALUE_LVAL (new_val) == lval_register)
+	    fprintf_unfiltered (gdb_stdlog, " register=%d",
+				VALUE_REGNUM (new_val));
+	  else if (VALUE_LVAL (new_val) == lval_memory)
+	    fprintf_unfiltered (gdb_stdlog, " address=%s",
+				paddress (gdbarch,
+					  value_address (new_val)));
+	  else
+	    fprintf_unfiltered (gdb_stdlog, " computed");
+
+	  fprintf_unfiltered (gdb_stdlog, " bytes=");
+	  fprintf_unfiltered (gdb_stdlog, "[");
+	  for (i = 0; i < register_size (gdbarch, regnum); i++)
+	    fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]);
+	  fprintf_unfiltered (gdb_stdlog, "]");
+	}
+
+      fprintf_unfiltered (gdb_stdlog, " }\n");
+    }
+
+  /* Dispose of the intermediate values.  This prevents
+     watchpoints from trying to watch the saved frame pointer.  */
+  value_free_to_mark (mark);
+}
+
 /* Load the actual content of a lazy value.  Fetch the data from the
    user's process and clear the lazy flag to indicate that the data in
    the buffer is valid.
@@ -3864,152 +3889,14 @@ value_fetch_lazy (struct value *val)
   /* A value is either lazy, or fully fetched.  The
      availability/validity is only established as we try to fetch a
      value.  */
-  gdb_assert (VEC_empty (range_s, val->optimized_out));
-  gdb_assert (VEC_empty (range_s, val->unavailable));
+  gdb_assert (val->optimized_out.empty ());
+  gdb_assert (val->unavailable.empty ());
   if (value_bitsize (val))
-    {
-      /* To read a lazy bitfield, read the entire enclosing value.  This
-	 prevents reading the same block of (possibly volatile) memory once
-         per bitfield.  It would be even better to read only the containing
-         word, but we have no way to record that just specific bits of a
-         value have been fetched.  */
-      struct type *type = check_typedef (value_type (val));
-      struct value *parent = value_parent (val);
-
-      if (value_lazy (parent))
-	value_fetch_lazy (parent);
-
-      unpack_value_bitfield (val,
-			     value_bitpos (val), value_bitsize (val),
-			     value_contents_for_printing (parent),
-			     value_offset (val), parent);
-    }
+    value_fetch_lazy_bitfield (val);
   else if (VALUE_LVAL (val) == lval_memory)
-    {
-      CORE_ADDR addr = value_address (val);
-      struct type *type = check_typedef (value_enclosing_type (val));
-
-      if (TYPE_LENGTH (type))
-	read_value_memory (val, 0, value_stack (val),
-			   addr, value_contents_all_raw (val),
-			   type_length_units (type));
-    }
+    value_fetch_lazy_memory (val);
   else if (VALUE_LVAL (val) == lval_register)
-    {
-      struct frame_info *next_frame;
-      int regnum;
-      struct type *type = check_typedef (value_type (val));
-      struct value *new_val = val, *mark = value_mark ();
-
-      /* Offsets are not supported here; lazy register values must
-	 refer to the entire register.  */
-      gdb_assert (value_offset (val) == 0);
-
-      while (VALUE_LVAL (new_val) == lval_register && value_lazy (new_val))
-	{
-	  struct frame_id next_frame_id = VALUE_NEXT_FRAME_ID (new_val);
-
-	  next_frame = frame_find_by_id (next_frame_id);
-	  regnum = VALUE_REGNUM (new_val);
-
-	  gdb_assert (next_frame != NULL);
-
-	  /* Convertible register routines are used for multi-register
-	     values and for interpretation in different types
-	     (e.g. float or int from a double register).  Lazy
-	     register values should have the register's natural type,
-	     so they do not apply.  */
-	  gdb_assert (!gdbarch_convert_register_p (get_frame_arch (next_frame),
-						   regnum, type));
-
-	  /* FRAME was obtained, above, via VALUE_NEXT_FRAME_ID. 
-	     Since a "->next" operation was performed when setting
-	     this field, we do not need to perform a "next" operation
-	     again when unwinding the register.  That's why
-	     frame_unwind_register_value() is called here instead of
-	     get_frame_register_value().  */
-	  new_val = frame_unwind_register_value (next_frame, regnum);
-
-	  /* If we get another lazy lval_register value, it means the
-	     register is found by reading it from NEXT_FRAME's next frame.
-	     frame_unwind_register_value should never return a value with
-	     the frame id pointing to NEXT_FRAME.  If it does, it means we
-	     either have two consecutive frames with the same frame id
-	     in the frame chain, or some code is trying to unwind
-	     behind get_prev_frame's back (e.g., a frame unwind
-	     sniffer trying to unwind), bypassing its validations.  In
-	     any case, it should always be an internal error to end up
-	     in this situation.  */
-	  if (VALUE_LVAL (new_val) == lval_register
-	      && value_lazy (new_val)
-	      && frame_id_eq (VALUE_NEXT_FRAME_ID (new_val), next_frame_id))
-	    internal_error (__FILE__, __LINE__,
-			    _("infinite loop while fetching a register"));
-	}
-
-      /* If it's still lazy (for instance, a saved register on the
-	 stack), fetch it.  */
-      if (value_lazy (new_val))
-	value_fetch_lazy (new_val);
-
-      /* Copy the contents and the unavailability/optimized-out
-	 meta-data from NEW_VAL to VAL.  */
-      set_value_lazy (val, 0);
-      value_contents_copy (val, value_embedded_offset (val),
-			   new_val, value_embedded_offset (new_val),
-			   type_length_units (type));
-
-      if (frame_debug)
-	{
-	  struct gdbarch *gdbarch;
-	  struct frame_info *frame;
-	  /* VALUE_FRAME_ID is used here, instead of VALUE_NEXT_FRAME_ID,
-	     so that the frame level will be shown correctly.  */
-	  frame = frame_find_by_id (VALUE_FRAME_ID (val));
-	  regnum = VALUE_REGNUM (val);
-	  gdbarch = get_frame_arch (frame);
-
-	  fprintf_unfiltered (gdb_stdlog,
-			      "{ value_fetch_lazy "
-			      "(frame=%d,regnum=%d(%s),...) ",
-			      frame_relative_level (frame), regnum,
-			      user_reg_map_regnum_to_name (gdbarch, regnum));
-
-	  fprintf_unfiltered (gdb_stdlog, "->");
-	  if (value_optimized_out (new_val))
-	    {
-	      fprintf_unfiltered (gdb_stdlog, " ");
-	      val_print_optimized_out (new_val, gdb_stdlog);
-	    }
-	  else
-	    {
-	      int i;
-	      const gdb_byte *buf = value_contents (new_val);
-
-	      if (VALUE_LVAL (new_val) == lval_register)
-		fprintf_unfiltered (gdb_stdlog, " register=%d",
-				    VALUE_REGNUM (new_val));
-	      else if (VALUE_LVAL (new_val) == lval_memory)
-		fprintf_unfiltered (gdb_stdlog, " address=%s",
-				    paddress (gdbarch,
-					      value_address (new_val)));
-	      else
-		fprintf_unfiltered (gdb_stdlog, " computed");
-
-	      fprintf_unfiltered (gdb_stdlog, " bytes=");
-	      fprintf_unfiltered (gdb_stdlog, "[");
-	      for (i = 0; i < register_size (gdbarch, regnum); i++)
-		fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]);
-	      fprintf_unfiltered (gdb_stdlog, "]");
-	    }
-
-	  fprintf_unfiltered (gdb_stdlog, " }\n");
-	}
-
-      /* Dispose of the intermediate values.  This prevents
-	 watchpoints from trying to watch the saved frame pointer.  */
-      value_free_to_mark (mark);
-    }
+    value_fetch_lazy_register (val);
   else if (VALUE_LVAL (val) == lval_computed
 	   && value_computed_funcs (val)->read != NULL)
     value_computed_funcs (val)->read (val);
@@ -4036,6 +3923,148 @@ isvoid_internal_fn (struct gdbarch *gdba
   return value_from_longest (builtin_type (gdbarch)->builtin_int, ret);
 }
 
+#if GDB_SELF_TEST
+namespace selftests
+{
+
+/* Test the ranges_contain function.  */
+
+static void
+test_ranges_contain ()
+{
+  std::vector<range> ranges;
+  range r;
+
+  /* [10, 14] */
+  r.offset = 10;
+  r.length = 5;
+  ranges.push_back (r);
+
+  /* [20, 24] */
+  r.offset = 20;
+  r.length = 5;
+  ranges.push_back (r);
+
+  /* [2, 6] */
+  SELF_CHECK (!ranges_contain (ranges, 2, 5));
+  /* [9, 13] */
+  SELF_CHECK (ranges_contain (ranges, 9, 5));
+  /* [10, 11] */
+  SELF_CHECK (ranges_contain (ranges, 10, 2));
+  /* [10, 14] */
+  SELF_CHECK (ranges_contain (ranges, 10, 5));
+  /* [13, 18] */
+  SELF_CHECK (ranges_contain (ranges, 13, 6));
+  /* [14, 18] */
+  SELF_CHECK (ranges_contain (ranges, 14, 5));
+  /* [15, 18] */
+  SELF_CHECK (!ranges_contain (ranges, 15, 4));
+  /* [16, 19] */
+  SELF_CHECK (!ranges_contain (ranges, 16, 4));
+  /* [16, 21] */
+  SELF_CHECK (ranges_contain (ranges, 16, 6));
+  /* [21, 21] */
+  SELF_CHECK (ranges_contain (ranges, 21, 1));
+  /* [21, 25] */
+  SELF_CHECK (ranges_contain (ranges, 21, 5));
+  /* [26, 28] */
+  SELF_CHECK (!ranges_contain (ranges, 26, 3));
+}
+
+/* Check that RANGES contains the same ranges as EXPECTED.  */
+
+static bool
+check_ranges_vector (gdb::array_view<const range> ranges,
+		     gdb::array_view<const range> expected)
+{
+  return ranges == expected;
+}
+
+/* Test the insert_into_bit_range_vector function.  */
+
+static void
+test_insert_into_bit_range_vector ()
+{
+  std::vector<range> ranges;
+
+  /* [10, 14] */
+  {
+    insert_into_bit_range_vector (&ranges, 10, 5);
+    static const range expected[] = {
+      {10, 5}
+    };
+    SELF_CHECK (check_ranges_vector (ranges, expected));
+  }
+
+  /* [10, 14] */
+  {
+    insert_into_bit_range_vector (&ranges, 11, 4);
+    static const range expected = {10, 5};
+    SELF_CHECK (check_ranges_vector (ranges, expected));
+  }
+
+  /* [10, 14] [20, 24] */
+  {
+    insert_into_bit_range_vector (&ranges, 20, 5);
+    static const range expected[] = {
+      {10, 5},
+      {20, 5},
+    };
+    SELF_CHECK (check_ranges_vector (ranges, expected));
+  }
+
+  /* [10, 14] [17, 24] */
+  {
+    insert_into_bit_range_vector (&ranges, 17, 5);
+    static const range expected[] = {
+      {10, 5},
+      {17, 8},
+    };
+    SELF_CHECK (check_ranges_vector (ranges, expected));
+  }
+
+  /* [2, 8] [10, 14] [17, 24] */
+  {
+    insert_into_bit_range_vector (&ranges, 2, 7);
+    static const range expected[] = {
+      {2, 7},
+      {10, 5},
+      {17, 8},
+    };
+    SELF_CHECK (check_ranges_vector (ranges, expected));
+  }
+
+  /* [2, 14] [17, 24] */
+  {
+    insert_into_bit_range_vector (&ranges, 9, 1);
+    static const range expected[] = {
+      {2, 13},
+      {17, 8},
+    };
+    SELF_CHECK (check_ranges_vector (ranges, expected));
+  }
+
+  /* [2, 14] [17, 24] */
+  {
+    insert_into_bit_range_vector (&ranges, 9, 1);
+    static const range expected[] = {
+      {2, 13},
+      {17, 8},
+    };
+    SELF_CHECK (check_ranges_vector (ranges, expected));
+  }
+
+  /* [2, 33] */
+  {
+    insert_into_bit_range_vector (&ranges, 4, 30);
+    static const range expected = {2, 32};
+    SELF_CHECK (check_ranges_vector (ranges, expected));
+  }
+}
+
+} /* namespace selftests */
+#endif /* GDB_SELF_TEST */
+
 void
 _initialize_values (void)
 {
@@ -4087,4 +4116,9 @@ prevents future values, larger than this
 			    set_max_value_size,
 			    show_max_value_size,
 			    &setlist, &showlist);
+#if GDB_SELF_TEST
+  selftests::register_test ("ranges_contain", selftests::test_ranges_contain);
+  selftests::register_test ("insert_into_bit_range_vector",
+			    selftests::test_insert_into_bit_range_vector);
+#endif
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/value.h ./gdb/value.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/value.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/value.h	2018-07-10 02:06:13.000000000 +0000
@@ -21,6 +21,8 @@
 #define VALUE_H 1
 
 #include "frame.h"		/* For struct frame_id.  */
+#include "extension.h"
+#include "common/gdb_ref_ptr.h"
 
 struct block;
 struct expression;
@@ -30,7 +32,6 @@ struct type;
 struct ui_file;
 struct language_defn;
 struct value_print_options;
-struct xmethod_worker;
 
 /* Values can be partially 'optimized out' and/or 'unavailable'.
    These are distinct states and have different string representations
@@ -87,6 +88,34 @@ struct xmethod_worker;
 
 struct value;
 
+/* Increase VAL's reference count.  */
+
+extern void value_incref (struct value *val);
+
+/* Decrease VAL's reference count.  When the reference count drops to
+   0, VAL will be freed.  */
+
+extern void value_decref (struct value *val);
+
+/* A policy class to interface gdb::ref_ptr with struct value.  */
+
+struct value_ref_policy
+{
+  static void incref (struct value *ptr)
+  {
+    value_incref (ptr);
+  }
+
+  static void decref (struct value *ptr)
+  {
+    value_decref (ptr);
+  }
+};
+
+/* A gdb:;ref_ptr pointer to a struct value.  */
+
+typedef gdb::ref_ptr<struct value, value_ref_policy> value_ref_ptr;
+
 /* Values are stored in a chain, so that they can be deleted easily
    over calls to the inferior.  Values assigned to internal variables,
    put into the value history or exposed to Python are taken off this
@@ -886,10 +915,10 @@ extern value *eval_skip_value (expressio
 
 extern void fetch_subexp_value (struct expression *exp, int *pc,
 				struct value **valp, struct value **resultp,
-				struct value **val_chain,
+				std::vector<value_ref_ptr> *val_chain,
 				int preserve_errors);
 
-extern char *extract_field_op (struct expression *exp, int *subexp);
+extern const char *extract_field_op (struct expression *exp, int *subexp);
 
 extern struct value *evaluate_subexp_with_coercion (struct expression *,
 						    int *, enum noside);
@@ -1024,32 +1053,7 @@ extern int unop_user_defined_p (enum exp
 
 extern int destructor_name_p (const char *name, struct type *type);
 
-extern void value_incref (struct value *val);
-
-extern void value_free (struct value *val);
-
-/* A free policy class to interface std::unique_ptr with
-   value_free.  */
-
-struct value_deleter
-{
-  void operator() (struct value *value) const
-  {
-    value_free (value);
-  }
-};
-
-/* A unique pointer to a struct value.  */
-
-typedef std::unique_ptr<struct value, value_deleter> gdb_value_up;
-
-extern void free_all_values (void);
-
-extern void free_value_chain (struct value *v);
-
-extern void release_value (struct value *val);
-
-extern void release_value_or_incref (struct value *val);
+extern value_ref_ptr release_value (struct value *val);
 
 extern int record_latest_value (struct value *val);
 
@@ -1078,7 +1082,14 @@ extern void value_print_array_elements (
 					struct ui_file *stream, int format,
 					enum val_prettyformat pretty);
 
-extern struct value *value_release_to_mark (const struct value *mark);
+/* Release values from the value chain and return them.  Values
+   created after MARK are released.  If MARK is nullptr, or if MARK is
+   not found on the value chain, then all values are released.  Values
+   are returned in reverse order of creation; that is, newest
+   first.  */
+
+extern std::vector<value_ref_ptr> value_release_to_mark
+    (const struct value *mark);
 
 extern void val_print (struct type *type,
 		       LONGEST embedded_offset, CORE_ADDR address,
@@ -1158,7 +1169,10 @@ struct value *call_internal_function (st
 
 char *value_internal_function_name (struct value *);
 
-extern struct value *value_of_xmethod (struct xmethod_worker *);
+/* Build a value wrapping and representing WORKER.  The value takes ownership
+   of the xmethod_worker object.  */
+
+extern struct value *value_from_xmethod (xmethod_worker_up &&worker);
 
 extern struct type *result_type_of_xmethod (struct value *method,
 					    int argc, struct value **argv);
@@ -1166,4 +1180,12 @@ extern struct type *result_type_of_xmeth
 extern struct value *call_xmethod (struct value *method,
 				   int argc, struct value **argv);
 
+/* Given a discriminated union type and some corresponding value
+   contents, this will return the field index of the currently active
+   variant.  This will throw an exception if no active variant can be
+   found.  */
+
+extern int value_union_variant (struct type *union_type,
+				const gdb_byte *contents);
+
 #endif /* !defined (VALUE_H) */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/varobj.c ./gdb/varobj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/varobj.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/varobj.c	2018-07-10 02:06:13.000000000 +0000
@@ -30,6 +30,7 @@
 #include "gdbthread.h"
 #include "inferior.h"
 #include "varobj-iter.h"
+#include "parser-defs.h"
 
 #if HAVE_PYTHON
 #include "python/python.h"
@@ -297,7 +298,6 @@ varobj_create (const char *objname,
       else
 	fi = NULL;
 
-      /* frame = -2 means always use selected frame.  */
       if (type == USE_SELECTED_FRAME)
 	var->root->floating = true;
 
@@ -310,7 +310,8 @@ varobj_create (const char *objname,
 	}
 
       p = expression;
-      innermost_block = NULL;
+      innermost_block.reset (INNERMOST_BLOCK_FOR_SYMBOLS
+			     | INNERMOST_BLOCK_FOR_REGISTERS);
       /* Wrap the call to parse expression, so we can 
          return a sensible error.  */
       TRY
@@ -335,7 +336,8 @@ varobj_create (const char *objname,
 	}
 
       var->format = variable_default_display (var.get ());
-      var->root->valid_block = innermost_block;
+      var->root->valid_block =
+	var->root->floating ? NULL : innermost_block.block ();
       var->name = expression;
       /* For a root var, the name and the expr are the same.  */
       var->path_expr = expression;
@@ -344,7 +346,7 @@ varobj_create (const char *objname,
          we must select the appropriate frame before parsing
          the expression, otherwise the value will not be current.
          Since select_frame is so benign, just call it for all cases.  */
-      if (innermost_block)
+      if (var->root->valid_block)
 	{
 	  /* User could specify explicit FRAME-ADDR which was not found but
 	     EXPRESSION is frame specific and we would not be able to evaluate
@@ -354,7 +356,7 @@ varobj_create (const char *objname,
 	    error (_("Failed to find the specified frame"));
 
 	  var->root->frame = get_frame_id (fi);
-	  var->root->thread_id = ptid_to_global_thread_id (inferior_ptid);
+	  var->root->thread_id = inferior_thread ()->global_num;
 	  old_id = get_frame_id (get_selected_frame (NULL));
 	  select_frame (fi);	 
 	}
@@ -520,9 +522,9 @@ varobj_set_display_format (struct varobj
     }
 
   if (varobj_value_is_changeable_p (var) 
-      && var->value && !value_lazy (var->value))
+      && var->value != nullptr && !value_lazy (var->value.get ()))
     {
-      var->print_value = varobj_value_get_print_value (var->value,
+      var->print_value = varobj_value_get_print_value (var->value.get (),
 						       var->format, var);
     }
 
@@ -705,7 +707,7 @@ varobj_clear_saved_item (struct varobj_d
 {
   if (var->saved_item != NULL)
     {
-      value_free (var->saved_item->value);
+      value_decref (var->saved_item->value);
       delete var->saved_item;
       var->saved_item = NULL;
     }
@@ -759,7 +761,7 @@ update_dynamic_varobj_children (struct v
 	  /* Release vitem->value so its lifetime is not bound to the
 	     execution of a command.  */
 	  if (item != NULL && item->value != NULL)
-	    release_value_or_incref (item->value);
+	    release_value (item->value).release ();
 	}
 
       if (item == NULL)
@@ -1043,7 +1045,7 @@ varobj_set_value (struct varobj *var, co
   gdb_assert (varobj_value_is_changeable_p (var));
 
   /* The value of a changeable variable object must not be lazy.  */
-  gdb_assert (!value_lazy (var->value));
+  gdb_assert (!value_lazy (var->value.get ()));
 
   /* Need to coerce the input.  We want to check if the
      value of the variable object will be different
@@ -1058,7 +1060,7 @@ varobj_set_value (struct varobj *var, co
      rather value_contents, will take care of this.  */
   TRY
     {
-      val = value_assign (var->value, value);
+      val = value_assign (var->value.get (), value);
     }
 
   CATCH (except, RETURN_MASK_ERROR)
@@ -1110,9 +1112,9 @@ install_default_visualizer (struct varob
     {
       PyObject *pretty_printer = NULL;
 
-      if (var->value)
+      if (var->value != nullptr)
 	{
-	  pretty_printer = gdbpy_get_varobj_pretty_printer (var->value);
+	  pretty_printer = gdbpy_get_varobj_pretty_printer (var->value.get ());
 	  if (! pretty_printer)
 	    {
 	      gdbpy_print_stack ();
@@ -1147,7 +1149,8 @@ construct_visualizer (struct varobj *var
     pretty_printer = NULL;
   else
     {
-      pretty_printer = instantiate_pretty_printer (constructor, var->value);
+      pretty_printer = instantiate_pretty_printer (constructor,
+						   var->value.get ());
       if (! pretty_printer)
 	{
 	  gdbpy_print_stack ();
@@ -1324,8 +1327,9 @@ install_new_value (struct varobj *var, s
 
   /* Get a reference now, before possibly passing it to any Python
      code that might release it.  */
+  value_ref_ptr value_holder;
   if (value != NULL)
-    value_incref (value);
+    value_holder = value_ref_ptr::new_reference (value);
 
   /* Below, we'll be comparing string rendering of old and new
      values.  Don't get string rendering if the value is
@@ -1352,7 +1356,7 @@ install_new_value (struct varobj *var, s
 	{
 	  /* Try to compare the values.  That requires that both
 	     values are non-lazy.  */
-	  if (var->not_fetched && value_lazy (var->value))
+	  if (var->not_fetched && value_lazy (var->value.get ()))
 	    {
 	      /* This is a frozen varobj and the value was never read.
 		 Presumably, UI shows some "never read" indicator.
@@ -1370,7 +1374,7 @@ install_new_value (struct varobj *var, s
 	    }
 	  else
 	    {
-	      gdb_assert (!value_lazy (var->value));
+	      gdb_assert (!value_lazy (var->value.get ()));
 	      gdb_assert (!value_lazy (value));
 
 	      gdb_assert (!var->print_value.empty () && !print_value.empty ());
@@ -1390,9 +1394,7 @@ install_new_value (struct varobj *var, s
     }
 
   /* We must always keep the new value, since children depend on it.  */
-  if (var->value != NULL && var->value != value)
-    value_free (var->value);
-  var->value = value;
+  var->value = value_holder;
   if (value && value_lazy (value) && intentionally_not_fetched)
     var->not_fetched = true;
   else
@@ -1405,8 +1407,8 @@ install_new_value (struct varobj *var, s
      to see if the variable changed.  */
   if (var->dynamic->pretty_printer != NULL)
     {
-      print_value = varobj_value_get_print_value (var->value, var->format,
-						  var);
+      print_value = varobj_value_get_print_value (var->value.get (),
+						  var->format, var);
       if ((var->print_value.empty () && !print_value.empty ())
 	  || (!var->print_value.empty () && print_value.empty ())
 	  || (!var->print_value.empty () && !print_value.empty ()
@@ -1415,7 +1417,7 @@ install_new_value (struct varobj *var, s
     }
   var->print_value = print_value;
 
-  gdb_assert (!var->value || value_type (var->value));
+  gdb_assert (var->value == nullptr || value_type (var->value.get ()));
 
   return changed;
 }
@@ -1453,9 +1455,8 @@ varobj_set_visualizer (struct varobj *va
   gdbpy_enter_varobj enter_py (var);
 
   mainmod = PyImport_AddModule ("__main__");
-  gdbpy_ref<> globals (PyModule_GetDict (mainmod));
-  Py_INCREF (globals.get ());
-
+  gdbpy_ref<> globals
+    = gdbpy_ref<>::new_reference (PyModule_GetDict (mainmod));
   gdbpy_ref<> constructor (PyRun_String (visualizer, Py_eval_input,
 					 globals.get (), globals.get ()));
 
@@ -1988,7 +1989,6 @@ varobj::~varobj ()
 
   varobj_iter_delete (var->dynamic->child_iter);
   varobj_clear_saved_item (var->dynamic);
-  value_free (var->value);
 
   if (is_root_p (var))
     delete var->root;
@@ -2012,8 +2012,8 @@ varobj_get_value_type (const struct varo
 {
   struct type *type;
 
-  if (var->value)
-    type = value_type (var->value);
+  if (var->value != nullptr)
+    type = value_type (var->value.get ());
   else
     type = var->type;
 
@@ -2122,11 +2122,11 @@ value_of_root_1 (struct varobj **var_han
     }
   else
     {
-      ptid_t ptid = global_thread_id_to_ptid (var->root->thread_id);
+      thread_info *thread = find_thread_global_id (var->root->thread_id);
 
-      if (!ptid_equal (minus_one_ptid, ptid))
+      if (thread != NULL)
 	{
-	  switch_to_thread (ptid);
+	  switch_to_thread (thread);
 	  within_scope = check_scope (var);
 	}
     }
@@ -2259,7 +2259,8 @@ my_value_of_variable (struct varobj *var
   if (var->root->is_valid)
     {
       if (var->dynamic->pretty_printer != NULL)
-	return varobj_value_get_print_value (var->value, var->format, var);
+	return varobj_value_get_print_value (var->value.get (), var->format,
+					     var);
       return (*var->root->lang_ops->value_of_variable) (var, format);
     }
   else
@@ -2272,7 +2273,7 @@ varobj_formatted_print_options (struct v
 {
   get_formatted_print_options (opts, format_code[(int) format]);
   opts->deref_ref = 0;
-  opts->raw = 1;
+  opts->raw = !pretty_printing;
 }
 
 std::string
@@ -2395,7 +2396,8 @@ varobj_editable_p (const struct varobj *
 {
   struct type *type;
 
-  if (!(var->root->is_valid && var->value && VALUE_LVAL (var->value)))
+  if (!(var->root->is_valid && var->value != nullptr
+	&& VALUE_LVAL (var->value.get ())))
     return false;
 
   type = varobj_get_value_type (var);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/varobj.h ./gdb/varobj.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/varobj.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/varobj.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,6 +20,7 @@
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "vec.h"
+#include "value.h"
 
 /* Enumeration for the format types */
 enum varobj_display_formats
@@ -122,7 +123,7 @@ struct varobj
      indicates there was an error getting this value.
      Invariant: if varobj_value_is_changeable_p (this) is non-zero, 
      the value is either NULL, or not lazy.  */
-  struct value *value = NULL;
+  value_ref_ptr value;
 
   /* The number of (immediate) children this variable has.  */
   int num_children = -1;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/vax-bsd-nat.c ./gdb/vax-bsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/vax-bsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/vax-bsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -29,6 +29,14 @@
 #include "vax-tdep.h"
 #include "inf-ptrace.h"
 
+struct vax_bsd_nat_target final : public inf_ptrace_target
+{
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static vax_bsd_nat_target the_vax_bsd_nat_target;
+
 /* Supply the general-purpose registers stored in GREGS to REGCACHE.  */
 
 static void
@@ -38,7 +46,7 @@ vaxbsd_supply_gregset (struct regcache *
   int regnum;
 
   for (regnum = 0; regnum < VAX_NUM_REGS; regnum++)
-    regcache_raw_supply (regcache, regnum, regs + regnum * 4);
+    regcache->raw_supply (regnum, regs + regnum * 4);
 }
 
 /* Collect the general-purpose registers from REGCACHE and store them
@@ -54,7 +62,7 @@ vaxbsd_collect_gregset (const struct reg
   for (i = 0; i <= VAX_NUM_REGS; i++)
     {
       if (regnum == -1 || regnum == i)
-	regcache_raw_collect (regcache, i, regs + i * 4);
+	regcache->raw_collect (i, regs + i * 4);
     }
 }
 
@@ -62,12 +70,11 @@ vaxbsd_collect_gregset (const struct reg
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers.  */
 
-static void
-vaxbsd_fetch_inferior_registers (struct target_ops *ops,
-				 struct regcache *regcache, int regnum)
+void
+vax_bsd_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   struct reg regs;
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) &regs, 0) == -1)
     perror_with_name (_("Couldn't get registers"));
@@ -78,12 +85,11 @@ vaxbsd_fetch_inferior_registers (struct 
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers.  */
 
-static void
-vaxbsd_store_inferior_registers (struct target_ops *ops,
-				 struct regcache *regcache, int regnum)
+void
+vax_bsd_nat_target::store_registers (struct regcache *regcache, int regnum)
 {
   struct reg regs;
-  pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+  pid_t pid = regcache->ptid ().pid ();
 
   if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) &regs, 0) == -1)
     perror_with_name (_("Couldn't get registers"));
@@ -116,12 +122,12 @@ vaxbsd_supply_pcb (struct regcache *regc
     return 0;
 
   for (regnum = VAX_R0_REGNUM; regnum < VAX_AP_REGNUM; regnum++)
-    regcache_raw_supply (regcache, regnum, &pcb->R[regnum - VAX_R0_REGNUM]);
-  regcache_raw_supply (regcache, VAX_AP_REGNUM, &pcb->AP);
-  regcache_raw_supply (regcache, VAX_FP_REGNUM, &pcb->FP);
-  regcache_raw_supply (regcache, VAX_SP_REGNUM, &pcb->KSP);
-  regcache_raw_supply (regcache, VAX_PC_REGNUM, &pcb->PC);
-  regcache_raw_supply (regcache, VAX_PS_REGNUM, &pcb->PSL);
+    regcache->raw_supply (regnum, &pcb->R[regnum - VAX_R0_REGNUM]);
+  regcache->raw_supply (VAX_AP_REGNUM, &pcb->AP);
+  regcache->raw_supply (VAX_FP_REGNUM, &pcb->FP);
+  regcache->raw_supply (VAX_SP_REGNUM, &pcb->KSP);
+  regcache->raw_supply (VAX_PC_REGNUM, &pcb->PC);
+  regcache->raw_supply (VAX_PS_REGNUM, &pcb->PSL);
 
   return 1;
 }
@@ -129,12 +135,7 @@ vaxbsd_supply_pcb (struct regcache *regc
 void
 _initialize_vaxbsd_nat (void)
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-  t->to_fetch_registers = vaxbsd_fetch_inferior_registers;
-  t->to_store_registers = vaxbsd_store_inferior_registers;
-  add_target (t);
+  add_inf_child_target (&the_vax_bsd_nat_target);
 
   /* Support debugging kernel virtual memory images.  */
   bsd_kvm_add_target (vaxbsd_supply_pcb);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/vax-tdep.c ./gdb/vax-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/vax-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/vax-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -76,7 +76,7 @@ vax_supply_gregset (const struct regset 
   for (i = 0; i < VAX_NUM_REGS; i++)
     {
       if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + i * 4);
+	regcache->raw_supply (i, regs + i * 4);
     }
 }
 
@@ -133,7 +133,7 @@ vax_store_arguments (struct regcache *re
 
   /* Update the argument pointer.  */
   store_unsigned_integer (buf, 4, byte_order, sp);
-  regcache_cooked_write (regcache, VAX_AP_REGNUM, buf);
+  regcache->cooked_write (VAX_AP_REGNUM, buf);
 
   return sp;
 }
@@ -180,8 +180,8 @@ vax_push_dummy_call (struct gdbarch *gdb
 
   /* Update the stack pointer and frame pointer.  */
   store_unsigned_integer (buf, 4, byte_order, sp);
-  regcache_cooked_write (regcache, VAX_SP_REGNUM, buf);
-  regcache_cooked_write (regcache, VAX_FP_REGNUM, buf);
+  regcache->cooked_write (VAX_SP_REGNUM, buf);
+  regcache->cooked_write (VAX_FP_REGNUM, buf);
 
   /* Return the saved (fake) frame pointer.  */
   return fp;
@@ -227,18 +227,18 @@ vax_return_value (struct gdbarch *gdbarc
   if (readbuf)
     {
       /* Read the contents of R0 and (if necessary) R1.  */
-      regcache_cooked_read (regcache, VAX_R0_REGNUM, buf);
+      regcache->cooked_read (VAX_R0_REGNUM, buf);
       if (len > 4)
-	regcache_cooked_read (regcache, VAX_R1_REGNUM, buf + 4);
+	regcache->cooked_read (VAX_R1_REGNUM, buf + 4);
       memcpy (readbuf, buf, len);
     }
   if (writebuf)
     {
       /* Read the contents to R0 and (if necessary) R1.  */
       memcpy (buf, writebuf, len);
-      regcache_cooked_write (regcache, VAX_R0_REGNUM, buf);
+      regcache->cooked_write (VAX_R0_REGNUM, buf);
       if (len > 4)
-	regcache_cooked_write (regcache, VAX_R1_REGNUM, buf + 4);
+	regcache->cooked_write (VAX_R1_REGNUM, buf + 4);
     }
 
   return RETURN_VALUE_REGISTER_CONVENTION;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/version.in ./gdb/version.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/version.in	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/version.in	2018-07-10 02:06:13.000000000 +0000
@@ -1 +1 @@
-8.1.0.DATE-git
+8.1.90.DATE-git
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/warning.m4 ./gdb/warning.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/warning.m4	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/warning.m4	2018-07-10 02:06:13.000000000 +0000
@@ -41,7 +41,11 @@ build_warnings="-Wall -Wpointer-arith \
 -Wno-switch -Wno-char-subscripts \
 -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable \
 -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized \
--Wno-mismatched-tags"
+-Wno-mismatched-tags \
+-Wno-error=deprecated-register \
+-Wsuggest-override \
+-Wimplicit-fallthrough=3 \
+-Wduplicated-cond"
 
 case "${host}" in
   *-*-mingw32*)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/windows-nat.c ./gdb/windows-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/windows-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/windows-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -201,10 +201,6 @@ typedef enum
 #define DEBUG_MEM(x)	if (debug_memory)	printf_unfiltered x
 #define DEBUG_EXCEPT(x)	if (debug_exceptions)	printf_unfiltered x
 
-static void windows_interrupt (struct target_ops *self, ptid_t);
-static int windows_thread_alive (struct target_ops *, ptid_t);
-static void windows_kill_inferior (struct target_ops *);
-
 static void cygwin_set_dr (int i, CORE_ADDR addr);
 static void cygwin_set_dr7 (unsigned long val);
 static CORE_ADDR cygwin_get_dr (int i);
@@ -302,6 +298,58 @@ static const struct xlate_exception
   {STATUS_FLOAT_DIVIDE_BY_ZERO, GDB_SIGNAL_FPE},
   {-1, GDB_SIGNAL_UNKNOWN}};
 
+
+struct windows_nat_target final : public x86_nat_target<inf_child_target>
+{
+  void close () override;
+
+  void attach (const char *, int) override;
+
+  bool attach_no_wait () override
+  { return true; }
+
+  void detach (inferior *, int) override;
+
+  void resume (ptid_t, int , enum gdb_signal) override;
+
+  ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
+
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+
+  enum target_xfer_status xfer_partial (enum target_object object,
+					const char *annex,
+					gdb_byte *readbuf,
+					const gdb_byte *writebuf,
+					ULONGEST offset, ULONGEST len,
+					ULONGEST *xfered_len) override;
+
+  void files_info () override;
+
+  void kill () override;
+
+  void create_inferior (const char *, const std::string &,
+			char **, int) override;
+
+  void mourn_inferior () override;
+
+  bool thread_alive (ptid_t ptid) override;
+
+  const char *pid_to_str (ptid_t) override;
+
+  void interrupt () override;
+
+  char *pid_to_exec_file (int pid) override;
+
+  ptid_t get_ada_task_ptid (long lwp, long thread) override;
+
+  bool get_tib_address (ptid_t ptid, CORE_ADDR *addr) override;
+
+  const char *thread_name (struct thread_info *) override;
+};
+
+static windows_nat_target the_windows_nat_target;
+
 /* Set the MAPPINGS static global to OFFSETS.
    See the description of MAPPINGS for more details.  */
 
@@ -379,9 +427,9 @@ windows_add_thread (ptid_t ptid, HANDLE 
   windows_thread_info *th;
   DWORD id;
 
-  gdb_assert (ptid_get_tid (ptid) != 0);
+  gdb_assert (ptid.tid () != 0);
 
-  id = ptid_get_tid (ptid);
+  id = ptid.tid ();
 
   if ((th = thread_rec (id, FALSE)))
     return th;
@@ -436,16 +484,16 @@ windows_delete_thread (ptid_t ptid, DWOR
   windows_thread_info *th;
   DWORD id;
 
-  gdb_assert (ptid_get_tid (ptid) != 0);
+  gdb_assert (ptid.tid () != 0);
 
-  id = ptid_get_tid (ptid);
+  id = ptid.tid ();
 
   if (info_verbose)
     printf_unfiltered ("[Deleting %s]\n", target_pid_to_str (ptid));
   else if (print_thread_events && id != main_thread_id)
     printf_unfiltered (_("[%s exited with code %u]\n"),
 		       target_pid_to_str (ptid), (unsigned) exit_code);
-  delete_thread (ptid);
+  delete_thread (find_thread_ptid (ptid));
 
   for (th = &thread_head;
        th->next != NULL && th->next->id != id;
@@ -461,14 +509,59 @@ windows_delete_thread (ptid_t ptid, DWOR
     }
 }
 
+/* Fetches register number R from the given windows_thread_info,
+   and supplies its value to the given regcache.
+
+   This function assumes that R is non-negative.  A failed assertion
+   is raised if that is not true.
+
+   This function assumes that TH->RELOAD_CONTEXT is not set, meaning
+   that the windows_thread_info has an up-to-date context.  A failed
+   assertion is raised if that assumption is violated.  */
+
 static void
-do_windows_fetch_inferior_registers (struct regcache *regcache,
-				     windows_thread_info *th, int r)
+windows_fetch_one_register (struct regcache *regcache,
+			    windows_thread_info *th, int r)
 {
+  gdb_assert (r >= 0);
+  gdb_assert (!th->reload_context);
+
   char *context_offset = ((char *) &th->context) + mappings[r];
   struct gdbarch *gdbarch = regcache->arch ();
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  long l;
+
+  if (r == I387_FISEG_REGNUM (tdep))
+    {
+      long l = *((long *) context_offset) & 0xffff;
+      regcache->raw_supply (r, (char *) &l);
+    }
+  else if (r == I387_FOP_REGNUM (tdep))
+    {
+      long l = (*((long *) context_offset) >> 16) & ((1 << 11) - 1);
+      regcache->raw_supply (r, (char *) &l);
+    }
+  else if (segment_register_p (r))
+    {
+      /* GDB treats segment registers as 32bit registers, but they are
+	 in fact only 16 bits long.  Make sure we do not read extra
+	 bits from our source buffer.  */
+      long l = *((long *) context_offset) & 0xffff;
+      regcache->raw_supply (r, (char *) &l);
+    }
+  else
+    regcache->raw_supply (r, context_offset);
+}
+
+void
+windows_nat_target::fetch_registers (struct regcache *regcache, int r)
+{
+  DWORD pid = regcache->ptid ().tid ();
+  windows_thread_info *th = thread_rec (pid, TRUE);
+
+  /* Check if TH exists.  Windows sometimes uses a non-existent
+     thread id in its events.  */
+  if (th == NULL)
+    return;
 
   if (th->reload_context)
     {
@@ -504,73 +597,47 @@ do_windows_fetch_inferior_registers (str
       th->reload_context = 0;
     }
 
-  if (r == I387_FISEG_REGNUM (tdep))
-    {
-      l = *((long *) context_offset) & 0xffff;
-      regcache_raw_supply (regcache, r, (char *) &l);
-    }
-  else if (r == I387_FOP_REGNUM (tdep))
-    {
-      l = (*((long *) context_offset) >> 16) & ((1 << 11) - 1);
-      regcache_raw_supply (regcache, r, (char *) &l);
-    }
-  else if (segment_register_p (r))
-    {
-      /* GDB treats segment registers as 32bit registers, but they are
-	 in fact only 16 bits long.  Make sure we do not read extra
-	 bits from our source buffer.  */
-      l = *((long *) context_offset) & 0xffff;
-      regcache_raw_supply (regcache, r, (char *) &l);
-    }
-  else if (r >= 0)
-    regcache_raw_supply (regcache, r, context_offset);
+  if (r < 0)
+    for (r = 0; r < gdbarch_num_regs (regcache->arch()); r++)
+      windows_fetch_one_register (regcache, th, r);
   else
-    {
-      for (r = 0; r < gdbarch_num_regs (gdbarch); r++)
-	do_windows_fetch_inferior_registers (regcache, th, r);
-    }
+    windows_fetch_one_register (regcache, th, r);
 }
 
-static void
-windows_fetch_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int r)
-{
-  DWORD pid = ptid_get_tid (regcache_get_ptid (regcache));
-  windows_thread_info *th = thread_rec (pid, TRUE);
+/* Collect the register number R from the given regcache, and store
+   its value into the corresponding area of the given thread's context.
 
-  /* Check if TH exists.  Windows sometimes uses a non-existent
-     thread id in its events.  */
-  if (th != NULL)
-    do_windows_fetch_inferior_registers (regcache, th, r);
-}
+   This function assumes that R is non-negative.  A failed assertion
+   assertion is raised if that is not true.  */
 
 static void
-do_windows_store_inferior_registers (const struct regcache *regcache,
-				     windows_thread_info *th, int r)
+windows_store_one_register (const struct regcache *regcache,
+			    windows_thread_info *th, int r)
 {
-  if (r >= 0)
-    regcache_raw_collect (regcache, r,
-			  ((char *) &th->context) + mappings[r]);
-  else
-    {
-      for (r = 0; r < gdbarch_num_regs (regcache->arch ()); r++)
-	do_windows_store_inferior_registers (regcache, th, r);
-    }
+  gdb_assert (r >= 0);
+
+  regcache->raw_collect (r, ((char *) &th->context) + mappings[r]);
 }
 
 /* Store a new register value into the context of the thread tied to
    REGCACHE.  */
-static void
-windows_store_inferior_registers (struct target_ops *ops,
-				  struct regcache *regcache, int r)
+
+void
+windows_nat_target::store_registers (struct regcache *regcache, int r)
 {
-  DWORD pid = ptid_get_tid (regcache_get_ptid (regcache));
+  DWORD pid = regcache->ptid ().tid ();
   windows_thread_info *th = thread_rec (pid, TRUE);
 
   /* Check if TH exists.  Windows sometimes uses a non-existent
      thread id in its events.  */
-  if (th != NULL)
-    do_windows_store_inferior_registers (regcache, th, r);
+  if (th == NULL)
+    return;
+
+  if (r < 0)
+    for (r = 0; r < gdbarch_num_regs (regcache->arch ()); r++)
+      windows_store_one_register (regcache, th, r);
+  else
+    windows_store_one_register (regcache, th, r);
 }
 
 /* Encapsulate the information required in a call to
@@ -579,7 +646,7 @@ struct safe_symbol_file_add_args
 {
   char *name;
   int from_tty;
-  struct section_addr_info *addrs;
+  section_addr_info *addrs;
   int mainline;
   int flags;
   struct ui_file *err, *out;
@@ -829,7 +896,7 @@ handle_unload_dll ()
      4 mysterious UNLOAD_DLL_DEBUG_EVENTs during the startup phase (these
      events are apparently caused by the WOW layer, the interface between
      32bit and 64bit worlds).  */
-  complaint (&symfile_complaints, _("dll starting at %s not found."),
+  complaint (_("dll starting at %s not found."),
 	     host_address_to_string (lpBaseOfDll));
 }
 
@@ -883,25 +950,25 @@ signal_event_command (const char *args, 
 static int
 handle_output_debug_string (struct target_waitstatus *ourstatus)
 {
-  char *s = NULL;
+  gdb::unique_xmalloc_ptr<char> s;
   int retval = 0;
 
   if (!target_read_string
 	((CORE_ADDR) (uintptr_t) current_event.u.DebugString.lpDebugStringData,
-	&s, 1024, 0)
-      || !s || !*s)
+	 &s, 1024, 0)
+      || !s || !*(s.get ()))
     /* nothing to do */;
-  else if (!startswith (s, _CYGWIN_SIGNAL_STRING))
+  else if (!startswith (s.get (), _CYGWIN_SIGNAL_STRING))
     {
 #ifdef __CYGWIN__
-      if (!startswith (s, "cYg"))
+      if (!startswith (s.get (), "cYg"))
 #endif
 	{
-	  char *p = strchr (s, '\0');
+	  char *p = strchr (s.get (), '\0');
 
-	  if (p > s && *--p == '\n')
+	  if (p > s.get () && *--p == '\n')
 	    *p = '\0';
-	  warning (("%s"), s);
+	  warning (("%s"), s.get ());
 	}
     }
 #ifdef __CYGWIN__
@@ -915,7 +982,7 @@ handle_output_debug_string (struct targe
 	 to be stored at the given address in the inferior.  Tell gdb
 	 to treat this like a real signal.  */
       char *p;
-      int sig = strtol (s + sizeof (_CYGWIN_SIGNAL_STRING) - 1, &p, 0);
+      int sig = strtol (s.get () + sizeof (_CYGWIN_SIGNAL_STRING) - 1, &p, 0);
       gdb_signal gotasig = gdb_signal_from_host (sig);
 
       ourstatus->value.sig = gotasig;
@@ -938,8 +1005,6 @@ handle_output_debug_string (struct targe
     }
 #endif
 
-  if (s)
-    xfree (s);
   return retval;
 }
 
@@ -1193,24 +1258,23 @@ handle_exception (struct target_waitstat
 	  if (named_thread != NULL)
 	    {
 	      int thread_name_len;
-	      char *thread_name;
+	      gdb::unique_xmalloc_ptr<char> thread_name;
 
 	      thread_name_len = target_read_string (thread_name_target,
 						    &thread_name, 1025, NULL);
 	      if (thread_name_len > 0)
 		{
-		  thread_name[thread_name_len - 1] = '\0';
+		  thread_name.get ()[thread_name_len - 1] = '\0';
 		  xfree (named_thread->name);
-		  named_thread->name = thread_name;
+		  named_thread->name = thread_name.release ();
 		}
-	      else
-		xfree (thread_name);
 	    }
 	  ourstatus->value.sig = GDB_SIGNAL_TRAP;
 	  result = HANDLE_EXCEPTION_IGNORED;
 	  break;
 	}
-	/* treat improperly formed exception as unknown, fallthrough */
+	/* treat improperly formed exception as unknown */
+	/* FALLTHROUGH */
     default:
       /* Treat unhandled first chance exceptions specially.  */
       if (current_event.u.Exception.dwFirstChance)
@@ -1307,22 +1371,21 @@ fake_create_process (void)
     }
   main_thread_id = current_event.dwThreadId;
   current_thread = windows_add_thread (
-		     ptid_build (current_event.dwProcessId, 0,
-				 current_event.dwThreadId),
+		     ptid_t (current_event.dwProcessId, 0,
+			     current_event.dwThreadId),
 		     current_event.u.CreateThread.hThread,
 		     current_event.u.CreateThread.lpThreadLocalBase);
   return main_thread_id;
 }
 
-static void
-windows_resume (struct target_ops *ops,
-		ptid_t ptid, int step, enum gdb_signal sig)
+void
+windows_nat_target::resume (ptid_t ptid, int step, enum gdb_signal sig)
 {
   windows_thread_info *th;
   DWORD continue_status = DBG_CONTINUE;
 
   /* A specific PTID means `step only this thread id'.  */
-  int resume_all = ptid_equal (ptid, minus_one_ptid);
+  int resume_all = ptid == minus_one_ptid;
 
   /* If we're continuing all threads, it's the current inferior that
      should be handled specially.  */
@@ -1366,10 +1429,10 @@ windows_resume (struct target_ops *ops,
   last_sig = GDB_SIGNAL_0;
 
   DEBUG_EXEC (("gdb: windows_resume (pid=%d, tid=%ld, step=%d, sig=%d);\n",
-	       ptid_get_pid (ptid), ptid_get_tid (ptid), step, sig));
+	       ptid.pid (), ptid.tid (), step, sig));
 
   /* Get context for currently selected thread.  */
-  th = thread_rec (ptid_get_tid (inferior_ptid), FALSE);
+  th = thread_rec (inferior_ptid.tid (), FALSE);
   if (th)
     {
       if (step)
@@ -1377,8 +1440,7 @@ windows_resume (struct target_ops *ops,
 	  /* Single step by setting t bit.  */
 	  struct regcache *regcache = get_current_regcache ();
 	  struct gdbarch *gdbarch = regcache->arch ();
-	  windows_fetch_inferior_registers (ops, regcache,
-					    gdbarch_ps_regnum (gdbarch));
+	  fetch_registers (regcache, gdbarch_ps_regnum (gdbarch));
 	  th->context.EFlags |= FLAG_TRACE_BIT;
 	}
 
@@ -1404,7 +1466,7 @@ windows_resume (struct target_ops *ops,
   if (resume_all)
     windows_continue (continue_status, -1, 0);
   else
-    windows_continue (continue_status, ptid_get_tid (ptid), 0);
+    windows_continue (continue_status, ptid.tid (), 0);
 }
 
 /* Ctrl-C handler used when the inferior is not run in the same console.  The
@@ -1482,8 +1544,8 @@ get_windows_debug_event (struct target_o
 	}
       /* Record the existence of this thread.  */
       thread_id = current_event.dwThreadId;
-      th = windows_add_thread (ptid_build (current_event.dwProcessId, 0,
-					 current_event.dwThreadId),
+      th = windows_add_thread (ptid_t (current_event.dwProcessId, 0,
+				       current_event.dwThreadId),
 			     current_event.u.CreateThread.hThread,
 			     current_event.u.CreateThread.lpThreadLocalBase);
 
@@ -1497,8 +1559,8 @@ get_windows_debug_event (struct target_o
 
       if (current_event.dwThreadId != main_thread_id)
 	{
-	  windows_delete_thread (ptid_build (current_event.dwProcessId, 0,
-					     current_event.dwThreadId),
+	  windows_delete_thread (ptid_t (current_event.dwProcessId, 0,
+					 current_event.dwThreadId),
 				 current_event.u.ExitThread.dwExitCode);
 	  th = &dummy_thread_info;
 	}
@@ -1515,13 +1577,13 @@ get_windows_debug_event (struct target_o
 
       current_process_handle = current_event.u.CreateProcessInfo.hProcess;
       if (main_thread_id)
-	windows_delete_thread (ptid_build (current_event.dwProcessId, 0,
-					   main_thread_id),
+	windows_delete_thread (ptid_t (current_event.dwProcessId, 0,
+				       main_thread_id),
 			       0);
       main_thread_id = current_event.dwThreadId;
       /* Add the main thread.  */
-      th = windows_add_thread (ptid_build (current_event.dwProcessId, 0,
-					   current_event.dwThreadId),
+      th = windows_add_thread (ptid_t (current_event.dwProcessId, 0,
+				       current_event.dwThreadId),
 	     current_event.u.CreateProcessInfo.hThread,
 	     current_event.u.CreateProcessInfo.lpThreadLocalBase);
       thread_id = current_event.dwThreadId;
@@ -1623,8 +1685,7 @@ get_windows_debug_event (struct target_o
     }
   else
     {
-      inferior_ptid = ptid_build (current_event.dwProcessId, 0,
-				  thread_id);
+      inferior_ptid = ptid_t (current_event.dwProcessId, 0, thread_id);
       current_thread = th;
       if (!current_thread)
 	current_thread = thread_rec (thread_id, TRUE);
@@ -1635,9 +1696,9 @@ out:
 }
 
 /* Wait for interesting events to occur in the target process.  */
-static ptid_t
-windows_wait (struct target_ops *ops,
-	      ptid_t ptid, struct target_waitstatus *ourstatus, int options)
+ptid_t
+windows_nat_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
+			  int options)
 {
   int pid = -1;
 
@@ -1680,11 +1741,11 @@ windows_wait (struct target_ops *ops,
 	     the user tries to resume the execution in the inferior.
 	     This is a classic race that we should try to fix one day.  */
       SetConsoleCtrlHandler (&ctrl_c_handler, TRUE);
-      retval = get_windows_debug_event (ops, pid, ourstatus);
+      retval = get_windows_debug_event (this, pid, ourstatus);
       SetConsoleCtrlHandler (&ctrl_c_handler, FALSE);
 
       if (retval)
-	return ptid_build (current_event.dwProcessId, 0, retval);
+	return ptid_t (current_event.dwProcessId, 0, retval);
       else
 	{
 	  int detach = 0;
@@ -1693,7 +1754,7 @@ windows_wait (struct target_ops *ops,
 	    detach = deprecated_ui_loop_hook (0);
 
 	  if (detach)
-	    windows_kill_inferior (ops);
+	    kill ();
 	}
     }
 }
@@ -1784,7 +1845,7 @@ do_initial_windows_stuff (struct target_
      can rely on it.  When attaching, we don't know about any thread
      id here, but that's OK --- nothing should be referencing the
      current thread until we report an event out of windows_wait.  */
-  inferior_ptid = pid_to_ptid (pid);
+  inferior_ptid = ptid_t (pid);
 
   target_terminal::init ();
   target_terminal::inferior ();
@@ -1795,7 +1856,7 @@ do_initial_windows_stuff (struct target_
     {
       struct target_waitstatus status;
 
-      windows_wait (ops, minus_one_ptid, &status, 0);
+      ops->wait (minus_one_ptid, &status, 0);
 
       /* Note windows_wait returns TARGET_WAITKIND_SPURIOUS for thread
 	 events.  */
@@ -1803,7 +1864,7 @@ do_initial_windows_stuff (struct target_
 	  && status.kind != TARGET_WAITKIND_SPURIOUS)
 	break;
 
-      windows_resume (ops, minus_one_ptid, 0, GDB_SIGNAL_0);
+      ops->resume (minus_one_ptid, 0, GDB_SIGNAL_0);
     }
 
   /* Now that the inferior has been started and all DLLs have been mapped,
@@ -1877,8 +1938,9 @@ out:
 }
 
 /* Attach to process PID, then initialize for debugging it.  */
-static void
-windows_attach (struct target_ops *ops, const char *args, int from_tty)
+
+void
+windows_nat_target::attach (const char *args, int from_tty)
 {
   BOOL ok;
   DWORD pid;
@@ -1918,25 +1980,25 @@ windows_attach (struct target_ops *ops, 
 
       if (exec_file)
 	printf_unfiltered ("Attaching to program `%s', %s\n", exec_file,
-			   target_pid_to_str (pid_to_ptid (pid)));
+			   target_pid_to_str (ptid_t (pid)));
       else
 	printf_unfiltered ("Attaching to %s\n",
-			   target_pid_to_str (pid_to_ptid (pid)));
+			   target_pid_to_str (ptid_t (pid)));
 
       gdb_flush (gdb_stdout);
     }
 
-  do_initial_windows_stuff (ops, pid, 1);
+  do_initial_windows_stuff (this, pid, 1);
   target_terminal::ours ();
 }
 
-static void
-windows_detach (struct target_ops *ops, const char *args, int from_tty)
+void
+windows_nat_target::detach (inferior *inf, int from_tty)
 {
   int detached = 1;
 
   ptid_t ptid = minus_one_ptid;
-  windows_resume (ops, ptid, 0, GDB_SIGNAL_0);
+  resume (ptid, 0, GDB_SIGNAL_0);
 
   if (!DebugActiveProcessStop (current_event.dwProcessId))
     {
@@ -1958,9 +2020,9 @@ windows_detach (struct target_ops *ops, 
 
   x86_cleanup_dregs ();
   inferior_ptid = null_ptid;
-  detach_inferior (current_event.dwProcessId);
+  detach_inferior (inf);
 
-  inf_child_maybe_unpush_target (ops);
+  maybe_unpush_target ();
 }
 
 /* Try to determine the executable filename.
@@ -2017,8 +2079,8 @@ windows_get_exec_module_filename (char *
 
 /* The pid_to_exec_file target_ops method for this platform.  */
 
-static char *
-windows_pid_to_exec_file (struct target_ops *self, int pid)
+char *
+windows_nat_target::pid_to_exec_file (int pid)
 {
   static char path[__PMAX];
 #ifdef __CYGWIN__
@@ -2045,8 +2107,8 @@ windows_pid_to_exec_file (struct target_
 
 /* Print status information about what we're accessing.  */
 
-static void
-windows_files_info (struct target_ops *ignore)
+void
+windows_nat_target::files_info ()
 {
   struct inferior *inf = current_inferior ();
 
@@ -2434,10 +2496,10 @@ redirect_inferior_handles (const char *c
    ALLARGS is a string containing the arguments to the program.
    ENV is the environment vector to pass.  Errors reported with error().  */
 
-static void
-windows_create_inferior (struct target_ops *ops, const char *exec_file,
-			 const std::string &origallargs, char **in_env,
-			 int from_tty)
+void
+windows_nat_target::create_inferior (const char *exec_file,
+				     const std::string &origallargs,
+				     char **in_env, int from_tty)
 {
   STARTUPINFO si;
 #ifdef __CYGWIN__
@@ -2755,13 +2817,13 @@ windows_create_inferior (struct target_o
   else
     saw_create = 0;
 
-  do_initial_windows_stuff (ops, pi.dwProcessId, 0);
+  do_initial_windows_stuff (this, pi.dwProcessId, 0);
 
   /* windows_continue (DBG_CONTINUE, -1, 0); */
 }
 
-static void
-windows_mourn_inferior (struct target_ops *ops)
+void
+windows_nat_target::mourn_inferior ()
 {
   (void) windows_continue (DBG_CONTINUE, -1, 0);
   x86_cleanup_dregs();
@@ -2770,14 +2832,14 @@ windows_mourn_inferior (struct target_op
       CHECK (CloseHandle (current_process_handle));
       open_process_used = 0;
     }
-  inf_child_mourn_inferior (ops);
+  inf_child_target::mourn_inferior ();
 }
 
 /* Send a SIGINT to the process group.  This acts just like the user typed a
    ^C on the controlling terminal.  */
 
-static void
-windows_interrupt (struct target_ops *self, ptid_t ptid)
+void
+windows_nat_target::interrupt ()
 {
   DEBUG_EVENTS (("gdb: GenerateConsoleCtrlEvent (CTRLC_EVENT, 0)\n"));
   CHECK (GenerateConsoleCtrlEvent (CTRL_C_EVENT, current_event.dwProcessId));
@@ -2824,8 +2886,8 @@ windows_xfer_memory (gdb_byte *readbuf, 
     return success ? TARGET_XFER_OK : TARGET_XFER_E_IO;
 }
 
-static void
-windows_kill_inferior (struct target_ops *ops)
+void
+windows_nat_target::kill ()
 {
   CHECK (TerminateProcess (current_process_handle, 0));
 
@@ -2842,23 +2904,23 @@ windows_kill_inferior (struct target_ops
   target_mourn_inferior (inferior_ptid);	/* Or just windows_mourn_inferior?  */
 }
 
-static void
-windows_close (struct target_ops *self)
+void
+windows_nat_target::close ()
 {
   DEBUG_EVENTS (("gdb: windows_close, inferior_ptid=%d\n",
-		ptid_get_pid (inferior_ptid)));
+		inferior_ptid.pid ()));
 }
 
 /* Convert pid to printable format.  */
-static const char *
-windows_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+windows_nat_target::pid_to_str (ptid_t ptid)
 {
   static char buf[80];
 
-  if (ptid_get_tid (ptid) != 0)
+  if (ptid.tid () != 0)
     {
       snprintf (buf, sizeof (buf), "Thread %d.0x%lx",
-		ptid_get_pid (ptid), ptid_get_tid (ptid));
+		ptid.pid (), ptid.tid ());
       return buf;
     }
 
@@ -2908,11 +2970,11 @@ windows_xfer_shared_libraries (struct ta
   return len != 0 ? TARGET_XFER_OK : TARGET_XFER_EOF;
 }
 
-static enum target_xfer_status
-windows_xfer_partial (struct target_ops *ops, enum target_object object,
-		      const char *annex, gdb_byte *readbuf,
-		      const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-		      ULONGEST *xfered_len)
+enum target_xfer_status
+windows_nat_target::xfer_partial (enum target_object object,
+				  const char *annex, gdb_byte *readbuf,
+				  const gdb_byte *writebuf, ULONGEST offset,
+				  ULONGEST len, ULONGEST *xfered_len)
 {
   switch (object)
     {
@@ -2920,87 +2982,59 @@ windows_xfer_partial (struct target_ops 
       return windows_xfer_memory (readbuf, writebuf, offset, len, xfered_len);
 
     case TARGET_OBJECT_LIBRARIES:
-      return windows_xfer_shared_libraries (ops, object, annex, readbuf,
+      return windows_xfer_shared_libraries (this, object, annex, readbuf,
 					    writebuf, offset, len, xfered_len);
 
     default:
-      return ops->beneath->to_xfer_partial (ops->beneath, object, annex,
-					    readbuf, writebuf, offset, len,
-					    xfered_len);
+      if (beneath () == NULL)
+	{
+	  /* This can happen when requesting the transfer of unsupported
+	     objects before a program has been started (and therefore
+	     with the current_target having no target beneath).  */
+	  return TARGET_XFER_E_IO;
+	}
+      return beneath ()->xfer_partial (object, annex,
+				       readbuf, writebuf, offset, len,
+				       xfered_len);
     }
 }
 
 /* Provide thread local base, i.e. Thread Information Block address.
    Returns 1 if ptid is found and sets *ADDR to thread_local_base.  */
 
-static int
-windows_get_tib_address (struct target_ops *self,
-			 ptid_t ptid, CORE_ADDR *addr)
+bool
+windows_nat_target::get_tib_address (ptid_t ptid, CORE_ADDR *addr)
 {
   windows_thread_info *th;
 
-  th = thread_rec (ptid_get_tid (ptid), 0);
+  th = thread_rec (ptid.tid (), 0);
   if (th == NULL)
-    return 0;
+    return false;
 
   if (addr != NULL)
     *addr = th->thread_local_base;
 
-  return 1;
+  return true;
 }
 
-static ptid_t
-windows_get_ada_task_ptid (struct target_ops *self, long lwp, long thread)
+ptid_t
+windows_nat_target::get_ada_task_ptid (long lwp, long thread)
 {
-  return ptid_build (ptid_get_pid (inferior_ptid), 0, lwp);
+  return ptid_t (inferior_ptid.pid (), 0, lwp);
 }
 
 /* Implementation of the to_thread_name method.  */
 
-static const char *
-windows_thread_name (struct target_ops *self, struct thread_info *thr)
+const char *
+windows_nat_target::thread_name (struct thread_info *thr)
 {
-  return thread_rec (ptid_get_tid (thr->ptid), 0)->name;
+  return thread_rec (thr->ptid.tid (), 0)->name;
 }
 
-static struct target_ops *
-windows_target (void)
-{
-  struct target_ops *t = inf_child_target ();
-
-  t->to_close = windows_close;
-  t->to_attach = windows_attach;
-  t->to_attach_no_wait = 1;
-  t->to_detach = windows_detach;
-  t->to_resume = windows_resume;
-  t->to_wait = windows_wait;
-  t->to_fetch_registers = windows_fetch_inferior_registers;
-  t->to_store_registers = windows_store_inferior_registers;
-  t->to_xfer_partial = windows_xfer_partial;
-  t->to_files_info = windows_files_info;
-  t->to_kill = windows_kill_inferior;
-  t->to_create_inferior = windows_create_inferior;
-  t->to_mourn_inferior = windows_mourn_inferior;
-  t->to_thread_alive = windows_thread_alive;
-  t->to_pid_to_str = windows_pid_to_str;
-  t->to_interrupt = windows_interrupt;
-  t->to_pid_to_exec_file = windows_pid_to_exec_file;
-  t->to_get_ada_task_ptid = windows_get_ada_task_ptid;
-  t->to_get_tib_address = windows_get_tib_address;
-  t->to_thread_name = windows_thread_name;
-
-  return t;
-}
 
 void
 _initialize_windows_nat (void)
 {
-  struct target_ops *t;
-
-  t = windows_target ();
-
-  x86_use_watchpoints (t);
-
   x86_dr_low.set_control = cygwin_set_dr7;
   x86_dr_low.set_addr = cygwin_set_dr;
   x86_dr_low.get_addr = cygwin_get_dr;
@@ -3011,7 +3045,7 @@ _initialize_windows_nat (void)
      calling x86_set_debug_register_length function
      in processor windows specific native file.  */
 
-  add_target (t);
+  add_inf_child_target (&the_windows_nat_target);
 
 #ifdef __CYGWIN__
   cygwin_internal (CW_SET_DOS_FILE_WARNING, 0);
@@ -3148,16 +3182,16 @@ cygwin_get_dr7 (void)
 /* Determine if the thread referenced by "ptid" is alive
    by "polling" it.  If WaitForSingleObject returns WAIT_OBJECT_0
    it means that the thread has died.  Otherwise it is assumed to be alive.  */
-static int
-windows_thread_alive (struct target_ops *ops, ptid_t ptid)
+
+bool
+windows_nat_target::thread_alive (ptid_t ptid)
 {
   int tid;
 
-  gdb_assert (ptid_get_tid (ptid) != 0);
-  tid = ptid_get_tid (ptid);
+  gdb_assert (ptid.tid () != 0);
+  tid = ptid.tid ();
 
-  return WaitForSingleObject (thread_rec (tid, FALSE)->h, 0) == WAIT_OBJECT_0
-    ? FALSE : TRUE;
+  return WaitForSingleObject (thread_rec (tid, FALSE)->h, 0) != WAIT_OBJECT_0;
 }
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/windows-tdep.c ./gdb/windows-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/windows-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/windows-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -279,7 +279,7 @@ static const struct lval_funcs tlb_value
 static struct value *
 tlb_make_value (struct gdbarch *gdbarch, struct internalvar *var, void *ignore)
 {
-  if (target_has_stack && !ptid_equal (inferior_ptid, null_ptid))
+  if (target_has_stack && inferior_ptid != null_ptid)
     {
       struct type *type = windows_get_tlb_type (gdbarch);
       return allocate_computed_value (type, &tlb_value_funcs, NULL);
@@ -331,7 +331,7 @@ display_one_tib (ptid_t ptid)
       return -1;
     }
 
-  if (target_read (&current_target, TARGET_OBJECT_MEMORY,
+  if (target_read (current_top_target (), TARGET_OBJECT_MEMORY,
 		   NULL, tib, thread_local_base, tib_size) != tib_size)
     {
       printf_filtered (_("Unable to read thread information "
@@ -367,7 +367,7 @@ display_one_tib (ptid_t ptid)
 static void
 display_tib (const char * args, int from_tty)
 {
-  if (!ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid != null_ptid)
     display_one_tib (inferior_ptid);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-bsd-nat.c ./gdb/x86-bsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-bsd-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/x86-bsd-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -40,16 +40,6 @@ size_t x86bsd_xsave_len;
 /* Support for debug registers.  */
 
 #ifdef HAVE_PT_GETDBREGS
-static void (*super_mourn_inferior) (struct target_ops *ops);
-
-/* Implement the "to_mourn_inferior" target_ops method.  */
-
-static void
-x86bsd_mourn_inferior (struct target_ops *ops)
-{
-  x86_cleanup_dregs ();
-  super_mourn_inferior (ops);
-}
 
 /* Helper macro to access debug register X.  FreeBSD/amd64 and modern
    versions of FreeBSD/i386 provide this macro in system headers.  Define
@@ -134,28 +124,15 @@ x86bsd_dr_get_control (void)
 
 #endif /* PT_GETDBREGS */
 
-/* Create a prototype *BSD/x86 target.  The client can override it
-   with local methods.  */
-
-struct target_ops *
-x86bsd_target (void)
+void
+_initialize_x86_bsd_nat ()
 {
-  struct target_ops *t;
-
-  t = inf_ptrace_target ();
-
 #ifdef HAVE_PT_GETDBREGS
-  x86_use_watchpoints (t);
-
   x86_dr_low.set_control = x86bsd_dr_set_control;
   x86_dr_low.set_addr = x86bsd_dr_set_addr;
   x86_dr_low.get_addr = x86bsd_dr_get_addr;
   x86_dr_low.get_status = x86bsd_dr_get_status;
   x86_dr_low.get_control = x86bsd_dr_get_control;
   x86_set_debug_register_length (sizeof (void *));
-  super_mourn_inferior = t->to_mourn_inferior;
-  t->to_mourn_inferior = x86bsd_mourn_inferior;
 #endif /* HAVE_PT_GETDBREGS */
-
-  return t;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-bsd-nat.h ./gdb/x86-bsd-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-bsd-nat.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/x86-bsd-nat.h	2018-07-10 02:06:13.000000000 +0000
@@ -20,12 +20,25 @@
 #ifndef X86_BSD_NAT_H
 #define X86_BSD_NAT_H
 
+#include "x86-nat.h"
+
 /* Low level x86 XSAVE info.  */
 extern size_t x86bsd_xsave_len;
 
-/* Create a prototype *BSD/x86 target.  The client can override it
-   with local methods.  */
+/* A prototype *BSD/x86 target.  */
 
-extern struct target_ops *x86bsd_target (void);
+template<typename BaseTarget>
+class x86bsd_nat_target : public x86_nat_target<BaseTarget>
+{
+  using base_class = x86_nat_target<BaseTarget>;
+public:
+#ifdef HAVE_PT_GETDBREGS
+  void mourn_inferior () override
+  {
+    x86_cleanup_dregs ();
+    base_class::mourn_inferior ();
+  }
+#endif /* HAVE_PT_GETDBREGS */
+};
 
 #endif /* x86-bsd-nat.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-linux-nat.c ./gdb/x86-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/x86-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -27,7 +27,6 @@
 #include <sys/uio.h>
 
 #include "x86-nat.h"
-#include "linux-nat.h"
 #ifndef __x86_64__
 #include "i386-linux-nat.h"
 #endif
@@ -43,10 +42,10 @@
 #include "nat/x86-linux-dregs.h"
 #include "nat/linux-ptrace.h"
 
-/* linux_nat_new_fork hook.   */
+/* linux_nat_target::low_new_fork implementation.  */
 
-static void
-x86_linux_new_fork (struct lwp_info *parent, pid_t child_pid)
+void
+x86_linux_nat_target::low_new_fork (struct lwp_info *parent, pid_t child_pid)
 {
   pid_t parent_pid;
   struct x86_debug_reg_state *parent_state;
@@ -71,21 +70,22 @@ x86_linux_new_fork (struct lwp_info *par
      in the end before detaching the forked off process, thus making
      this compatible with older Linux kernels too.  */
 
-  parent_pid = ptid_get_pid (parent->ptid);
+  parent_pid = parent->ptid.pid ();
   parent_state = x86_debug_reg_state (parent_pid);
   child_state = x86_debug_reg_state (child_pid);
   *child_state = *parent_state;
 }
 
 
-static void (*super_post_startup_inferior) (struct target_ops *self,
-					    ptid_t ptid);
+x86_linux_nat_target::~x86_linux_nat_target ()
+{
+}
 
-static void
-x86_linux_child_post_startup_inferior (struct target_ops *self, ptid_t ptid)
+void
+x86_linux_nat_target::post_startup_inferior (ptid_t ptid)
 {
   x86_cleanup_dregs ();
-  super_post_startup_inferior (self, ptid);
+  linux_nat_target::post_startup_inferior (ptid);
 }
 
 #ifdef __x86_64__
@@ -102,8 +102,8 @@ x86_linux_child_post_startup_inferior (s
 
 /* Get Linux/x86 target description from running target.  */
 
-static const struct target_desc *
-x86_linux_read_description (struct target_ops *ops)
+const struct target_desc *
+x86_linux_nat_target::read_description ()
 {
   int tid;
   int is_64bit = 0;
@@ -114,9 +114,9 @@ x86_linux_read_description (struct targe
   uint64_t xcr0_features_bits;
 
   /* GNU/Linux LWP ID's are process ID's.  */
-  tid = ptid_get_lwp (inferior_ptid);
+  tid = inferior_ptid.lwp ();
   if (tid == 0)
-    tid = ptid_get_pid (inferior_ptid); /* Not a threaded program.  */
+    tid = inferior_ptid.pid (); /* Not a threaded program.  */
 
 #ifdef __x86_64__
   {
@@ -212,27 +212,29 @@ x86_linux_read_description (struct targe
 
 /* Enable branch tracing.  */
 
-static struct btrace_target_info *
-x86_linux_enable_btrace (struct target_ops *self, ptid_t ptid,
-			 const struct btrace_config *conf)
-{
-  struct btrace_target_info *tinfo;
-
-  errno = 0;
-  tinfo = linux_enable_btrace (ptid, conf);
-
-  if (tinfo == NULL)
-    error (_("Could not enable branch tracing for %s: %s."),
-	   target_pid_to_str (ptid), safe_strerror (errno));
+struct btrace_target_info *
+x86_linux_nat_target::enable_btrace (ptid_t ptid,
+				     const struct btrace_config *conf)
+{
+  struct btrace_target_info *tinfo = nullptr;
+  TRY
+    {
+      tinfo = linux_enable_btrace (ptid, conf);
+    }
+  CATCH (exception, RETURN_MASK_ERROR)
+    {
+      error (_("Could not enable branch tracing for %s: %s"),
+	     target_pid_to_str (ptid), exception.message);
+    }
+  END_CATCH
 
   return tinfo;
 }
 
 /* Disable branch tracing.  */
 
-static void
-x86_linux_disable_btrace (struct target_ops *self,
-			  struct btrace_target_info *tinfo)
+void
+x86_linux_nat_target::disable_btrace (struct btrace_target_info *tinfo)
 {
   enum btrace_error errcode = linux_disable_btrace (tinfo);
 
@@ -242,28 +244,25 @@ x86_linux_disable_btrace (struct target_
 
 /* Teardown branch tracing.  */
 
-static void
-x86_linux_teardown_btrace (struct target_ops *self,
-			   struct btrace_target_info *tinfo)
+void
+x86_linux_nat_target::teardown_btrace (struct btrace_target_info *tinfo)
 {
   /* Ignore errors.  */
   linux_disable_btrace (tinfo);
 }
 
-static enum btrace_error
-x86_linux_read_btrace (struct target_ops *self,
-		       struct btrace_data *data,
-		       struct btrace_target_info *btinfo,
-		       enum btrace_read_type type)
+enum btrace_error
+x86_linux_nat_target::read_btrace (struct btrace_data *data,
+				   struct btrace_target_info *btinfo,
+				   enum btrace_read_type type)
 {
   return linux_read_btrace (data, btinfo, type);
 }
 
 /* See to_btrace_conf in target.h.  */
 
-static const struct btrace_config *
-x86_linux_btrace_conf (struct target_ops *self,
-		       const struct btrace_target_info *btinfo)
+const struct btrace_config *
+x86_linux_nat_target::btrace_conf (const struct btrace_target_info *btinfo)
 {
   return linux_btrace_conf (btinfo);
 }
@@ -312,50 +311,14 @@ x86_linux_get_thread_area (pid_t pid, vo
 }
 
 
-/* Create an x86 GNU/Linux target.  */
-
-struct target_ops *
-x86_linux_create_target (void)
+void
+_initialize_x86_linux_nat ()
 {
-  /* Fill in the generic GNU/Linux methods.  */
-  struct target_ops *t = linux_target ();
-
   /* Initialize the debug register function vectors.  */
-  x86_use_watchpoints (t);
   x86_dr_low.set_control = x86_linux_dr_set_control;
   x86_dr_low.set_addr = x86_linux_dr_set_addr;
   x86_dr_low.get_addr = x86_linux_dr_get_addr;
   x86_dr_low.get_status = x86_linux_dr_get_status;
   x86_dr_low.get_control = x86_linux_dr_get_control;
   x86_set_debug_register_length (sizeof (void *));
-
-  /* Override the GNU/Linux inferior startup hook.  */
-  super_post_startup_inferior = t->to_post_startup_inferior;
-  t->to_post_startup_inferior = x86_linux_child_post_startup_inferior;
-
-  /* Add the description reader.  */
-  t->to_read_description = x86_linux_read_description;
-
-  /* Add btrace methods.  */
-  t->to_supports_btrace = linux_supports_btrace;
-  t->to_enable_btrace = x86_linux_enable_btrace;
-  t->to_disable_btrace = x86_linux_disable_btrace;
-  t->to_teardown_btrace = x86_linux_teardown_btrace;
-  t->to_read_btrace = x86_linux_read_btrace;
-  t->to_btrace_conf = x86_linux_btrace_conf;
-
-  return t;
-}
-
-/* Add an x86 GNU/Linux target.  */
-
-void
-x86_linux_add_target (struct target_ops *t)
-{
-  linux_nat_add_target (t);
-  linux_nat_set_new_thread (t, x86_linux_new_thread);
-  linux_nat_set_delete_thread (t, x86_linux_delete_thread);
-  linux_nat_set_new_fork (t, x86_linux_new_fork);
-  linux_nat_set_forget_process (t, x86_forget_process);
-  linux_nat_set_prepare_to_resume (t, x86_linux_prepare_to_resume);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-linux-nat.h ./gdb/x86-linux-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-linux-nat.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/x86-linux-nat.h	2018-07-10 02:06:13.000000000 +0000
@@ -21,6 +21,59 @@
 #define X86_LINUX_NAT_H 1
 
 #include "gdb_proc_service.h"  /* For ps_err_e.  */
+#include "linux-nat.h"
+#include "x86-nat.h"
+#include "nat/x86-linux.h"
+
+struct x86_linux_nat_target : public x86_nat_target<linux_nat_target>
+{
+  virtual ~x86_linux_nat_target () override = 0;
+
+  /* Override the GNU/Linux inferior startup hook.  */
+  void post_startup_inferior (ptid_t) override;
+
+  /* Add the description reader.  */
+  const struct target_desc *read_description () override;
+
+  struct btrace_target_info *enable_btrace (ptid_t ptid,
+					    const struct btrace_config *conf) override;
+  void disable_btrace (struct btrace_target_info *tinfo) override;
+  void teardown_btrace (struct btrace_target_info *tinfo) override;
+  enum btrace_error read_btrace (struct btrace_data *data,
+				 struct btrace_target_info *btinfo,
+				 enum btrace_read_type type) override;
+  const struct btrace_config *btrace_conf (const struct btrace_target_info *) override;
+
+  /* These two are rewired to low_ versions.  linux-nat.c queries
+     stopped-by-watchpoint info as soon as an lwp stops (via the low_
+     methods) and caches the result, to be returned via the normal
+     non-low methods.  */
+  bool stopped_by_watchpoint () override
+  { return linux_nat_target::stopped_by_watchpoint (); }
+
+  bool stopped_data_address (CORE_ADDR *addr_p) override
+  { return linux_nat_target::stopped_data_address (addr_p); }
+
+  bool low_stopped_by_watchpoint () override
+  { return x86_nat_target::stopped_by_watchpoint (); }
+
+  bool low_stopped_data_address (CORE_ADDR *addr_p) override
+  { return x86_nat_target::stopped_data_address (addr_p); }
+
+  void low_new_fork (struct lwp_info *parent, pid_t child_pid) override;
+
+  void low_forget_process (pid_t pid) override
+  { x86_forget_process (pid); }
+
+  void low_prepare_to_resume (struct lwp_info *lwp) override
+  { x86_linux_prepare_to_resume (lwp); }
+
+  void low_new_thread (struct lwp_info *lwp) override
+  { x86_linux_new_thread (lwp); }
+
+  void low_delete_thread (struct arch_lwp_info *lwp) override
+  { x86_linux_delete_thread (lwp); }
+};
 
 
 
@@ -30,14 +83,5 @@
 
 extern ps_err_e x86_linux_get_thread_area (pid_t pid, void *addr,
 					   unsigned int *base_addr);
-
-
-/* Create an x86 GNU/Linux target.  */
-
-extern struct target_ops *x86_linux_create_target (void);
-
-/* Add an x86 GNU/Linux target.  */
-
-extern void x86_linux_add_target (struct target_ops *t);
 
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-nat.c ./gdb/x86-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/x86-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -139,19 +139,19 @@ void
 x86_cleanup_dregs (void)
 {
   /* Starting from scratch has the same effect.  */
-  x86_forget_process (ptid_get_pid (inferior_ptid));
+  x86_forget_process (inferior_ptid.pid ());
 }
 
 /* Insert a watchpoint to watch a memory region which starts at
    address ADDR and whose length is LEN bytes.  Watch memory accesses
    of the type TYPE.  Return 0 on success, -1 on failure.  */
 
-static int
-x86_insert_watchpoint (struct target_ops *self, CORE_ADDR addr, int len,
+int
+x86_insert_watchpoint (CORE_ADDR addr, int len,
 		       enum target_hw_bp_type type, struct expression *cond)
 {
   struct x86_debug_reg_state *state
-    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = x86_debug_reg_state (inferior_ptid.pid ());
 
   return x86_dr_insert_watchpoint (state, type, addr, len);
 }
@@ -159,12 +159,12 @@ x86_insert_watchpoint (struct target_ops
 /* Remove a watchpoint that watched the memory region which starts at
    address ADDR, whose length is LEN bytes, and for accesses of the
    type TYPE.  Return 0 on success, -1 on failure.  */
-static int
-x86_remove_watchpoint (struct target_ops *self, CORE_ADDR addr, int len,
+int
+x86_remove_watchpoint (CORE_ADDR addr, int len,
 		       enum target_hw_bp_type type, struct expression *cond)
 {
   struct x86_debug_reg_state *state
-    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = x86_debug_reg_state (inferior_ptid.pid ());
 
   return x86_dr_remove_watchpoint (state, type, addr, len);
 }
@@ -172,12 +172,11 @@ x86_remove_watchpoint (struct target_ops
 /* Return non-zero if we can watch a memory region that starts at
    address ADDR and whose length is LEN bytes.  */
 
-static int
-x86_region_ok_for_watchpoint (struct target_ops *self,
-			      CORE_ADDR addr, int len)
+int
+x86_region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
 {
   struct x86_debug_reg_state *state
-    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = x86_debug_reg_state (inferior_ptid.pid ());
 
   return x86_dr_region_ok_for_watchpoint (state, addr, len);
 }
@@ -186,11 +185,11 @@ x86_region_ok_for_watchpoint (struct tar
    address associated with that break/watchpoint and return non-zero.
    Otherwise, return zero.  */
 
-static int
-x86_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
+int
+x86_stopped_data_address (CORE_ADDR *addr_p)
 {
   struct x86_debug_reg_state *state
-    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = x86_debug_reg_state (inferior_ptid.pid ());
 
   return x86_dr_stopped_data_address (state, addr_p);
 }
@@ -198,11 +197,11 @@ x86_stopped_data_address (struct target_
 /* Return non-zero if the inferior has some watchpoint that triggered.
    Otherwise return zero.  */
 
-static int
-x86_stopped_by_watchpoint (struct target_ops *ops)
+int
+x86_stopped_by_watchpoint ()
 {
   struct x86_debug_reg_state *state
-    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = x86_debug_reg_state (inferior_ptid.pid ());
 
   return x86_dr_stopped_by_watchpoint (state);
 }
@@ -210,12 +209,11 @@ x86_stopped_by_watchpoint (struct target
 /* Insert a hardware-assisted breakpoint at BP_TGT->reqstd_address.
    Return 0 on success, EBUSY on failure.  */
 
-static int
-x86_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
-			  struct bp_target_info *bp_tgt)
+int
+x86_insert_hw_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
 {
   struct x86_debug_reg_state *state
-    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = x86_debug_reg_state (inferior_ptid.pid ());
 
   bp_tgt->placed_address = bp_tgt->reqstd_address;
   return x86_dr_insert_watchpoint (state, hw_execute,
@@ -225,12 +223,12 @@ x86_insert_hw_breakpoint (struct target_
 /* Remove a hardware-assisted breakpoint at BP_TGT->placed_address.
    Return 0 on success, -1 on failure.  */
 
-static int
-x86_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
+int
+x86_remove_hw_breakpoint (struct gdbarch *gdbarch,
 			  struct bp_target_info *bp_tgt)
 {
   struct x86_debug_reg_state *state
-    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+    = x86_debug_reg_state (inferior_ptid.pid ());
 
   return x86_dr_remove_watchpoint (state, hw_execute,
 				   bp_tgt->placed_address, 1);
@@ -253,13 +251,24 @@ x86_remove_hw_breakpoint (struct target_
    virtually unlimited number of watchpoints, due to debug register
    sharing implemented via reference counts in x86-nat.c.  */
 
-static int
-x86_can_use_hw_breakpoint (struct target_ops *self,
-			   enum bptype type, int cnt, int othertype)
+int
+x86_can_use_hw_breakpoint (enum bptype type, int cnt, int othertype)
 {
   return 1;
 }
 
+/* Return non-zero if the inferior has some breakpoint that triggered.
+   Otherwise return zero.  */
+
+int
+x86_stopped_by_hw_breakpoint ()
+{
+  struct x86_debug_reg_state *state
+    = x86_debug_reg_state (inferior_ptid.pid ());
+
+  return x86_dr_stopped_by_hw_breakpoint (state);
+}
+
 static void
 add_show_debug_regs_command (void)
 {
@@ -279,25 +288,7 @@ triggers a breakpoint or watchpoint."),
 			   &maintenance_show_cmdlist);
 }
 
-/* There are only two global functions left.  */
-
-void
-x86_use_watchpoints (struct target_ops *t)
-{
-  /* After a watchpoint trap, the PC points to the instruction after the
-     one that caused the trap.  Therefore we don't need to step over it.
-     But we do need to reset the status register to avoid another trap.  */
-  t->to_have_continuable_watchpoint = 1;
-
-  t->to_can_use_hw_breakpoint = x86_can_use_hw_breakpoint;
-  t->to_region_ok_for_hw_watchpoint = x86_region_ok_for_watchpoint;
-  t->to_stopped_by_watchpoint = x86_stopped_by_watchpoint;
-  t->to_stopped_data_address = x86_stopped_data_address;
-  t->to_insert_watchpoint = x86_insert_watchpoint;
-  t->to_remove_watchpoint = x86_remove_watchpoint;
-  t->to_insert_hw_breakpoint = x86_insert_hw_breakpoint;
-  t->to_remove_hw_breakpoint = x86_remove_hw_breakpoint;
-}
+/* See x86-nat.h.  */
 
 void
 x86_set_debug_register_length (int len)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-nat.h ./gdb/x86-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-nat.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/x86-nat.h	2018-07-10 02:06:13.000000000 +0000
@@ -23,16 +23,12 @@
 #ifndef X86_NAT_H
 #define X86_NAT_H 1
 
+#include "breakpoint.h"
 #include "nat/x86-dregs.h"
+#include "target.h"
 
 /* Hardware-assisted breakpoints and watchpoints.  */
 
-/* Add watchpoint methods to the provided target_ops.  
-   Targets using x86 family debug registers for watchpoints should call
-   this.  */
-struct target_ops;
-extern void x86_use_watchpoints (struct target_ops *);
-
 /* Use this function to set x86_dr_low debug_register_length field
    rather than setting it directly to check that the length is only
    set once.  It also enables the 'maint set/show show-debug-regs' 
@@ -49,4 +45,75 @@ extern void x86_cleanup_dregs (void);
 
 extern void x86_forget_process (pid_t pid);
 
+/* Helper functions used by x86_nat_target below.  See their
+   definitions.  */
+
+extern int x86_can_use_hw_breakpoint (enum bptype type, int cnt, int othertype);
+extern int x86_region_ok_for_hw_watchpoint (CORE_ADDR addr, int len);
+extern int x86_stopped_by_watchpoint ();
+extern int x86_stopped_data_address (CORE_ADDR *addr_p);
+extern int x86_insert_watchpoint (CORE_ADDR addr, int len,
+			   enum target_hw_bp_type type,
+			   struct expression *cond);
+extern int x86_remove_watchpoint (CORE_ADDR addr, int len,
+			   enum target_hw_bp_type type,
+			   struct expression *cond);
+extern int x86_insert_hw_breakpoint (struct gdbarch *gdbarch,
+			      struct bp_target_info *bp_tgt);
+extern int x86_remove_hw_breakpoint (struct gdbarch *gdbarch,
+				     struct bp_target_info *bp_tgt);
+extern int x86_stopped_by_hw_breakpoint ();
+
+/* Convenience template mixin used to add x86 watchpoints support to a
+   target.  */
+
+template <typename BaseTarget>
+struct x86_nat_target : public BaseTarget
+{
+  /* Hook in the x86 hardware watchpoints/breakpoints support.  */
+
+  /* After a watchpoint trap, the PC points to the instruction after
+     the one that caused the trap.  Therefore we don't need to step
+     over it.  But we do need to reset the status register to avoid
+     another trap.  */
+  bool have_continuable_watchpoint () override
+  { return true; }
+
+  int can_use_hw_breakpoint (enum bptype type, int cnt, int othertype) override
+  { return x86_can_use_hw_breakpoint (type, cnt, othertype); }
+
+  int region_ok_for_hw_watchpoint (CORE_ADDR addr, int len) override
+  { return x86_region_ok_for_hw_watchpoint (addr, len); }
+
+  int insert_watchpoint (CORE_ADDR addr, int len,
+			 enum target_hw_bp_type type,
+			 struct expression *cond) override
+  { return x86_insert_watchpoint (addr, len, type, cond); }
+
+  int remove_watchpoint (CORE_ADDR addr, int len,
+			 enum target_hw_bp_type type,
+			 struct expression *cond) override
+  { return x86_remove_watchpoint (addr, len, type, cond); }
+
+  int insert_hw_breakpoint (struct gdbarch *gdbarch,
+			    struct bp_target_info *bp_tgt) override
+  { return x86_insert_hw_breakpoint (gdbarch, bp_tgt); }
+
+  int remove_hw_breakpoint (struct gdbarch *gdbarch,
+			    struct bp_target_info *bp_tgt) override
+  { return x86_remove_hw_breakpoint (gdbarch, bp_tgt); }
+
+  bool stopped_by_watchpoint () override
+  { return x86_stopped_by_watchpoint (); }
+
+  bool stopped_data_address (CORE_ADDR *addr_p) override
+  { return x86_stopped_data_address (addr_p); }
+
+  /* A target must provide an implementation of the
+     "supports_stopped_by_hw_breakpoint" target method before this
+     callback will be used.  */
+  bool stopped_by_hw_breakpoint () override
+  { return x86_stopped_by_hw_breakpoint (); }
+};
+
 #endif /* X86_NAT_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-tdep.c ./gdb/x86-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-tdep.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/x86-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,76 @@
+/* Target-dependent code for X86-based targets.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "x86-tdep.h"
+
+
+/* Check whether NAME is included in NAMES[LO] (inclusive) to NAMES[HI]
+   (exclusive).  */
+
+static bool
+x86_is_thunk_register_name (const char *name, const char **names, int lo,
+			    int hi)
+{
+  int reg;
+  for (reg = lo; reg < hi; ++reg)
+    if (strcmp (name, names[reg]) == 0)
+      return true;
+
+  return false;
+}
+
+/* See x86-tdep.h.  */
+
+bool
+x86_in_indirect_branch_thunk (CORE_ADDR pc, const char **register_names,
+			      int lo, int hi)
+{
+  struct bound_minimal_symbol bmfun = lookup_minimal_symbol_by_pc (pc);
+  if (bmfun.minsym == nullptr)
+    return false;
+
+  const char *name = MSYMBOL_LINKAGE_NAME (bmfun.minsym);
+  if (name == nullptr)
+    return false;
+
+  /* Check the indirect return thunk first.  */
+  if (strcmp (name, "__x86_return_thunk") == 0)
+    return true;
+
+  /* Then check a family of indirect call/jump thunks.  */
+  static const char thunk[] = "__x86_indirect_thunk";
+  static const size_t length = sizeof (thunk) - 1;
+  if (strncmp (name, thunk, length) != 0)
+    return false;
+
+  /* If that's the complete name, we're in the memory thunk.  */
+  name += length;
+  if (*name == '\0')
+    return true;
+
+  /* Check for suffixes.  */
+  if (*name++ != '_')
+    return false;
+
+  if (x86_is_thunk_register_name (name, register_names, lo, hi))
+    return true;
+
+  return false;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-tdep.h ./gdb/x86-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/x86-tdep.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/x86-tdep.h	2018-07-10 02:06:13.000000000 +0000
@@ -0,0 +1,30 @@
+/* Target-dependent code for X86-based targets.
+
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef X86_TDEP_H
+#define X86_TDEP_H
+
+/* Checks whether PC lies in an indirect branch thunk using registers
+   REGISTER_NAMES[LO] (inclusive) to REGISTER_NAMES[HI] (exclusive).  */
+
+extern bool x86_in_indirect_branch_thunk (CORE_ADDR pc,
+					  const char **register_names,
+					  int lo, int hi);
+
+#endif /* x86-tdep.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xcoffread.c ./gdb/xcoffread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xcoffread.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/xcoffread.c	2018-07-10 02:06:13.000000000 +0000
@@ -182,22 +182,19 @@ static const struct dwarf2_debug_section
 static void
 bf_notfound_complaint (void)
 {
-  complaint (&symfile_complaints,
-	     _("line numbers off, `.bf' symbol not found"));
+  complaint (_("line numbers off, `.bf' symbol not found"));
 }
 
 static void
 ef_complaint (int arg1)
 {
-  complaint (&symfile_complaints,
-	     _("Mismatched .ef symbol ignored starting at symnum %d"), arg1);
+  complaint (_("Mismatched .ef symbol ignored starting at symnum %d"), arg1);
 }
 
 static void
 eb_complaint (int arg1)
 {
-  complaint (&symfile_complaints,
-	     _("Mismatched .eb symbol ignored starting at symnum %d"), arg1);
+  complaint (_("Mismatched .eb symbol ignored starting at symnum %d"), arg1);
 }
 
 static void xcoff_initial_scan (struct objfile *, symfile_add_flags);
@@ -558,7 +555,7 @@ record_include_begin (struct coff_symbol
       /* This can happen with old versions of GCC.
          GCC 2.3.3-930426 does not exhibit this on a test case which
          a user said produced the message for him.  */
-      complaint (&symfile_complaints, _("Nested C_BINCL symbols"));
+      complaint (_("Nested C_BINCL symbols"));
     }
   ++inclDepth;
 
@@ -575,7 +572,7 @@ record_include_end (struct coff_symbol *
 
   if (inclDepth == 0)
     {
-      complaint (&symfile_complaints, _("Mismatched C_BINCL/C_EINCL pair"));
+      complaint (_("Mismatched C_BINCL/C_EINCL pair"));
     }
 
   allocate_include_entry ();
@@ -856,8 +853,7 @@ enter_line_range (struct subfile *subfil
     {
       if (endoffset >= limit_offset)
 	{
-	  complaint (&symfile_complaints,
-		     _("Bad line table offset in C_EINCL directive"));
+	  complaint (_("Bad line table offset in C_EINCL directive"));
 	  return;
 	}
       limit_offset = endoffset;
@@ -978,7 +974,7 @@ xcoff_next_symbol_text (struct objfile *
   bfd_coff_swap_sym_in (objfile->obfd, raw_symbol, &symbol);
   if (symbol.n_zeroes)
     {
-      complaint (&symfile_complaints, _("Unexpected symbol continuation"));
+      complaint (_("Unexpected symbol continuation"));
 
       /* Return something which points to '\0' and hope the symbol reading
          code does something reasonable.  */
@@ -992,7 +988,7 @@ xcoff_next_symbol_text (struct objfile *
     }
   else
     {
-      complaint (&symfile_complaints, _("Unexpected symbol continuation"));
+      complaint (_("Unexpected symbol continuation"));
 
       /* Return something which points to '\0' and hope the symbol reading
          code does something reasonable.  */
@@ -1446,8 +1442,7 @@ read_xcoff_symtab (struct objfile *objfi
 	case C_UNTAG:
 	case C_ENTAG:
 	  {
-	    complaint (&symfile_complaints,
-		       _("Unrecognized storage class %d."),
+	    complaint (_("Unrecognized storage class %d."),
 		       cs->c_sclass);
 	  }
 	  break;
@@ -1632,7 +1627,7 @@ process_xcoff_symbol (struct coff_symbol
 	  break;
 
 	default:
-	  complaint (&symfile_complaints, _("Unexpected storage class: %d"),
+	  complaint (_("Unexpected storage class: %d"),
 		     cs->c_sclass);
 	  /* FALLTHROUGH */
 
@@ -1717,7 +1712,7 @@ read_symbol (struct internal_syment *sym
 
   if (symno < 0 || symno >= nsyms)
     {
-      complaint (&symfile_complaints, _("Invalid symbol offset"));
+      complaint (_("Invalid symbol offset"));
       symbol->n_value = 0;
       symbol->n_scnum = -1;
       return;
@@ -1964,8 +1959,6 @@ xcoff_symfile_finish (struct objfile *ob
       inclTable = NULL;
     }
   inclIndx = inclLength = inclDepth = 0;
-
-  dwarf2_free_objfile (objfile);
 }
 
 
@@ -2097,8 +2090,7 @@ xcoff_end_psymtab (struct objfile *objfi
       struct partial_symtab *subpst =
 	allocate_psymtab (include_list[i], objfile);
 
-      subpst->read_symtab_private = obstack_alloc (&objfile->objfile_obstack,
-						   sizeof (struct symloc));
+      subpst->read_symtab_private = XOBNEW (&objfile->objfile_obstack, symloc);
       ((struct symloc *) subpst->read_symtab_private)->first_symnum = 0;
       ((struct symloc *) subpst->read_symtab_private)->numsyms = 0;
       subpst->textlow = 0;
@@ -2193,8 +2185,7 @@ swap_sym (struct internal_syment *symbol
 static void
 function_outside_compilation_unit_complaint (const char *arg1)
 {
-  complaint (&symfile_complaints,
-	     _("function `%s' appears to be defined "
+  complaint (_("function `%s' appears to be defined "
 	       "outside of all compilation units"),
 	     arg1);
 }
@@ -2525,15 +2516,14 @@ scan_xcoff_symtab (minimal_symbol_reader
 
 	default:
 	  {
-	    complaint (&symfile_complaints,
-		       _("Storage class %d not recognized during scan"),
+	    complaint (_("Storage class %d not recognized during scan"),
 		       sclass);
 	  }
 	  /* FALLTHROUGH */
 
+	case C_FCN:
 	  /* C_FCN is .bf and .ef symbols.  I think it is sufficient
 	     to handle only the C_FUN and C_EXT.  */
-	case C_FCN:
 
 	case C_BSTAT:
 	case C_ESTAT:
@@ -2902,8 +2892,7 @@ scan_xcoff_symtab (minimal_symbol_reader
 		   the end of every string looking for a
 		   backslash.  */
 
-		complaint (&symfile_complaints,
-			   _("unknown symbol descriptor `%c'"), p[1]);
+		complaint (_("unknown symbol descriptor `%c'"), p[1]);
 
 		/* Ignore it; perhaps it is an extension that we don't
 		   know about.  */
@@ -3054,7 +3043,7 @@ xcoff_initial_scan (struct objfile *objf
 
 static void
 xcoff_symfile_offsets (struct objfile *objfile,
-		       const struct section_addr_info *addrs)
+		       const section_addr_info &addrs)
 {
   const char *first_section_name;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xml-support.c ./gdb/xml-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xml-support.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/xml-support.c	2018-07-10 02:06:13.000000000 +0000
@@ -228,32 +228,16 @@ gdb_xml_error (struct gdb_xml_parser *pa
    ATTRIBUTES.  Returns NULL if not found.  */
 
 struct gdb_xml_value *
-xml_find_attribute (VEC(gdb_xml_value_s) *attributes, const char *name)
+xml_find_attribute (std::vector<gdb_xml_value> &attributes,
+		    const char *name)
 {
-  struct gdb_xml_value *value;
-  int ix;
-
-  for (ix = 0; VEC_iterate (gdb_xml_value_s, attributes, ix, value); ix++)
-    if (strcmp (value->name, name) == 0)
-      return value;
+  for (gdb_xml_value &value : attributes)
+    if (strcmp (value.name, name) == 0)
+      return &value;
 
   return NULL;
 }
 
-/* Clean up a vector of parsed attribute values.  */
-
-static void
-gdb_xml_values_cleanup (void *data)
-{
-  VEC(gdb_xml_value_s) **values = (VEC(gdb_xml_value_s) **) data;
-  struct gdb_xml_value *value;
-  int ix;
-
-  for (ix = 0; VEC_iterate (gdb_xml_value_s, *values, ix, value); ix++)
-    xfree (value->value);
-  VEC_free (gdb_xml_value_s, *values);
-}
-
 /* Handle the start of an element.  NAME is the element, and ATTRS are
    the names and values of this element's attributes.  */
 
@@ -266,9 +250,7 @@ gdb_xml_parser::start_element (const XML
 
   const struct gdb_xml_element *element;
   const struct gdb_xml_attribute *attribute;
-  VEC(gdb_xml_value_s) *attributes = NULL;
   unsigned int seen;
-  struct cleanup *back_to;
 
   /* Push an error scope.  If we return or throw an exception before
      filling this in, it will tell us to ignore children of this
@@ -317,7 +299,7 @@ gdb_xml_parser::start_element (const XML
 
   scope.seen |= seen;
 
-  back_to = make_cleanup (gdb_xml_values_cleanup, &attributes);
+  std::vector<gdb_xml_value> attributes;
 
   for (attribute = element->attributes;
        attribute != NULL && attribute->name != NULL;
@@ -326,7 +308,6 @@ gdb_xml_parser::start_element (const XML
       const char *val = NULL;
       const XML_Char **p;
       void *parsed_value;
-      struct gdb_xml_value new_value;
 
       for (p = attrs; *p != NULL; p += 2)
 	if (!strcmp (attribute->name, p[0]))
@@ -361,9 +342,7 @@ gdb_xml_parser::start_element (const XML
       else
 	parsed_value = xstrdup (val);
 
-      new_value.name = attribute->name;
-      new_value.value = parsed_value;
-      VEC_safe_push (gdb_xml_value_s, attributes, &new_value);
+      attributes.emplace_back (attribute->name, parsed_value);
     }
 
   /* Check for unrecognized attributes.  */
@@ -395,8 +374,6 @@ gdb_xml_parser::start_element (const XML
   scope_level &new_scope = m_scopes.back ();
   new_scope.element = element;
   new_scope.elements = element->children;
-
-  do_cleanups (back_to);
 }
 
 /* Wrapper for gdb_xml_start_element, to prevent throwing exceptions
@@ -803,11 +780,12 @@ struct xinclude_parsing_data
 static void
 xinclude_start_include (struct gdb_xml_parser *parser,
 			const struct gdb_xml_element *element,
-			void *user_data, VEC(gdb_xml_value_s) *attributes)
+			void *user_data,
+			std::vector<gdb_xml_value> &attributes)
 {
   struct xinclude_parsing_data *data
     = (struct xinclude_parsing_data *) user_data;
-  char *href = (char *) xml_find_attribute (attributes, "href")->value;
+  char *href = (char *) xml_find_attribute (attributes, "href")->value.get ();
 
   gdb_xml_debug (parser, _("Processing XInclude of \"%s\""), href);
 
@@ -815,13 +793,13 @@ xinclude_start_include (struct gdb_xml_p
     gdb_xml_error (parser, _("Maximum XInclude depth (%d) exceeded"),
 		   MAX_XINCLUDE_DEPTH);
 
-  gdb::unique_xmalloc_ptr<char> text = data->fetcher (href,
-						      data->fetcher_baton);
-  if (text == NULL)
+  gdb::optional<gdb::char_vector> text
+    = data->fetcher (href, data->fetcher_baton);
+  if (!text)
     gdb_xml_error (parser, _("Could not load XML document \"%s\""), href);
 
   if (!xml_process_xincludes (data->output, parser->name (),
-			      text.get (), data->fetcher,
+			      text->data (), data->fetcher,
 			      data->fetcher_baton,
 			      data->include_depth + 1))
     gdb_xml_error (parser, _("Parsing \"%s\" failed"), href);
@@ -993,7 +971,7 @@ show_debug_xml (struct ui_file *file, in
   fprintf_filtered (file, _("XML debugging is %s.\n"), value);
 }
 
-gdb::unique_xmalloc_ptr<char>
+gdb::optional<gdb::char_vector>
 xml_fetch_content_from_file (const char *filename, void *baton)
 {
   const char *dirname = (const char *) baton;
@@ -1012,7 +990,7 @@ xml_fetch_content_from_file (const char 
     file = gdb_fopen_cloexec (filename, FOPEN_RT);
 
   if (file == NULL)
-    return NULL;
+    return {};
 
   /* Read in the whole file.  */
 
@@ -1023,16 +1001,16 @@ xml_fetch_content_from_file (const char 
   len = ftell (file.get ());
   rewind (file.get ());
 
-  gdb::unique_xmalloc_ptr<char> text ((char *) xmalloc (len + 1));
+  gdb::char_vector text (len + 1);
 
-  if (fread (text.get (), 1, len, file.get ()) != len
+  if (fread (text.data (), 1, len, file.get ()) != len
       || ferror (file.get ()))
     {
       warning (_("Read error from \"%s\""), filename);
-      return NULL;
+      return {};
     }
 
-  text.get ()[len] = '\0';
+  text.back () = '\0';
   return text;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xml-support.h ./gdb/xml-support.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xml-support.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/xml-support.h	2018-07-10 02:06:13.000000000 +0000
@@ -24,6 +24,7 @@
 #include "gdb_obstack.h"
 #include "vec.h"
 #include "xml-utils.h"
+#include "common/byte-vector.h"
 
 struct gdb_xml_parser;
 struct gdb_xml_element;
@@ -52,8 +53,8 @@ extern const char *xml_builtin[][2];
 
 /* Callback to fetch a new XML file, based on the provided HREF.  */
 
-typedef gdb::unique_xmalloc_ptr<char> (*xml_fetch_another) (const char *href,
-							    void *baton);
+typedef gdb::optional<gdb::char_vector> (*xml_fetch_another) (const char *href,
+							      void *baton);
 
 /* Append the expansion of TEXT after processing <xi:include> tags in
    RESULT.  FETCHER will be called (with FETCHER_BATON) to retrieve
@@ -74,11 +75,13 @@ bool xml_process_xincludes (std::string 
 
 struct gdb_xml_value
 {
+  gdb_xml_value (const char *name_, void *value_)
+  : name (name_), value (value_)
+  {}
+
   const char *name;
-  void *value;
+  gdb::unique_xmalloc_ptr<void> value;
 };
-typedef struct gdb_xml_value gdb_xml_value_s;
-DEF_VEC_O(gdb_xml_value_s);
 
 /* The type of an attribute handler.
 
@@ -146,7 +149,7 @@ enum gdb_xml_element_flag
 
 typedef void (gdb_xml_element_start_handler)
      (struct gdb_xml_parser *parser, const struct gdb_xml_element *element,
-      void *user_data, VEC(gdb_xml_value_s) *attributes);
+      void *user_data, std::vector<gdb_xml_value> &attributes);
 
 /* A handler called at the end of an element.
 
@@ -199,8 +202,8 @@ void gdb_xml_error (struct gdb_xml_parse
 /* Find the attribute named NAME in the set of parsed attributes
    ATTRIBUTES.  Returns NULL if not found.  */
 
-struct gdb_xml_value *xml_find_attribute (VEC(gdb_xml_value_s) *attributes,
-					  const char *name);
+struct gdb_xml_value *xml_find_attribute
+  (std::vector<gdb_xml_value> &attributes, const char *name);
 
 /* Parse an integer attribute into a ULONGEST.  */
 
@@ -229,9 +232,10 @@ ULONGEST gdb_xml_parse_ulongest (struct 
 				 const char *value);
 
 /* Open FILENAME, read all its text into memory, close it, and return
-   the text.  If something goes wrong, return NULL and warn.  */
+   the text.  If something goes wrong, return an uninstantiated optional
+   and warn.  */
 
-extern gdb::unique_xmalloc_ptr<char> xml_fetch_content_from_file
+extern gdb::optional<gdb::char_vector> xml_fetch_content_from_file
     (const char *filename, void *baton);
 
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xml-syscall.c ./gdb/xml-syscall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xml-syscall.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/xml-syscall.c	2018-07-10 02:06:13.000000000 +0000
@@ -227,29 +227,26 @@ syscall_create_syscall_desc (struct sysc
 static void
 syscall_start_syscall (struct gdb_xml_parser *parser,
                        const struct gdb_xml_element *element,
-                       void *user_data, VEC(gdb_xml_value_s) *attributes)
+                       void *user_data,
+		       std::vector<gdb_xml_value> &attributes)
 {
   struct syscall_parsing_data *data = (struct syscall_parsing_data *) user_data;
-  struct gdb_xml_value *attrs = VEC_address (gdb_xml_value_s, attributes);
-  int len, i;
   /* syscall info.  */
   char *name = NULL;
   int number = 0;
   char *groups = NULL;
 
-  len = VEC_length (gdb_xml_value_s, attributes);
-
-  for (i = 0; i < len; i++)
+  for (const gdb_xml_value &attr : attributes)
     {
-      if (strcmp (attrs[i].name, "name") == 0)
-        name = (char *) attrs[i].value;
-      else if (strcmp (attrs[i].name, "number") == 0)
-        number = * (ULONGEST *) attrs[i].value;
-      else if (strcmp (attrs[i].name, "groups") == 0)
-        groups = (char *) attrs[i].value;
+      if (strcmp (attr.name, "name") == 0)
+        name = (char *) attr.value.get ();
+      else if (strcmp (attr.name, "number") == 0)
+        number = * (ULONGEST *) attr.value.get ();
+      else if (strcmp (attr.name, "groups") == 0)
+        groups = (char *) attr.value.get ();
       else
         internal_error (__FILE__, __LINE__,
-                        _("Unknown attribute name '%s'."), attrs[i].name);
+                        _("Unknown attribute name '%s'."), attr.name);
     }
 
   gdb_assert (name);
@@ -308,12 +305,12 @@ syscall_parse_xml (const char *document,
 static struct syscalls_info *
 xml_init_syscalls_info (const char *filename)
 {
-  gdb::unique_xmalloc_ptr<char> full_file
+  gdb::optional<gdb::char_vector> full_file
     = xml_fetch_content_from_file (filename, gdb_datadir);
-  if (full_file == NULL)
+  if (!full_file)
     return NULL;
 
-  return syscall_parse_xml (full_file.get (),
+  return syscall_parse_xml (full_file->data (),
 			    xml_fetch_content_from_file,
 			    (void *) ldirname (filename).c_str ());
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xml-tdesc.c ./gdb/xml-tdesc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xml-tdesc.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/xml-tdesc.c	2018-07-10 02:06:13.000000000 +0000
@@ -144,9 +144,10 @@ tdesc_end_compatible (struct gdb_xml_par
 static void
 tdesc_start_target (struct gdb_xml_parser *parser,
 		    const struct gdb_xml_element *element,
-		    void *user_data, VEC(gdb_xml_value_s) *attributes)
+		    void *user_data, std::vector<gdb_xml_value> &attributes)
 {
-  char *version = (char *) xml_find_attribute (attributes, "version")->value;
+  char *version
+    = (char *) xml_find_attribute (attributes, "version")->value.get ();
 
   if (strcmp (version, "1.0") != 0)
     gdb_xml_error (parser,
@@ -159,10 +160,10 @@ tdesc_start_target (struct gdb_xml_parse
 static void
 tdesc_start_feature (struct gdb_xml_parser *parser,
 		     const struct gdb_xml_element *element,
-		     void *user_data, VEC(gdb_xml_value_s) *attributes)
+		     void *user_data, std::vector<gdb_xml_value> &attributes)
 {
   struct tdesc_parsing_data *data = (struct tdesc_parsing_data *) user_data;
-  char *name = (char *) xml_find_attribute (attributes, "name")->value;
+  char *name = (char *) xml_find_attribute (attributes, "name")->value.get ();
 
   data->current_feature = tdesc_create_feature (data->tdesc, name);
 }
@@ -173,37 +174,36 @@ tdesc_start_feature (struct gdb_xml_pars
 static void
 tdesc_start_reg (struct gdb_xml_parser *parser,
 		 const struct gdb_xml_element *element,
-		 void *user_data, VEC(gdb_xml_value_s) *attributes)
+		 void *user_data, std::vector<gdb_xml_value> &attributes)
 {
   struct tdesc_parsing_data *data = (struct tdesc_parsing_data *) user_data;
-  struct gdb_xml_value *attrs = VEC_address (gdb_xml_value_s, attributes);
-  int ix = 0, length;
+  int ix = 0;
   char *name, *group;
   const char *type;
   int bitsize, regnum, save_restore;
 
-  length = VEC_length (gdb_xml_value_s, attributes);
+  int length = attributes.size ();
 
-  name = (char *) attrs[ix++].value;
-  bitsize = * (ULONGEST *) attrs[ix++].value;
+  name = (char *) attributes[ix++].value.get ();
+  bitsize = * (ULONGEST *) attributes[ix++].value.get ();
 
-  if (ix < length && strcmp (attrs[ix].name, "regnum") == 0)
-    regnum = * (ULONGEST *) attrs[ix++].value;
+  if (ix < length && strcmp (attributes[ix].name, "regnum") == 0)
+    regnum = * (ULONGEST *) attributes[ix++].value.get ();
   else
     regnum = data->next_regnum;
 
-  if (ix < length && strcmp (attrs[ix].name, "type") == 0)
-    type = (char *) attrs[ix++].value;
+  if (ix < length && strcmp (attributes[ix].name, "type") == 0)
+    type = (char *) attributes[ix++].value.get ();
   else
     type = "int";
 
-  if (ix < length && strcmp (attrs[ix].name, "group") == 0)
-    group = (char *) attrs[ix++].value;
+  if (ix < length && strcmp (attributes[ix].name, "group") == 0)
+    group = (char *) attributes[ix++].value.get ();
   else
     group = NULL;
 
-  if (ix < length && strcmp (attrs[ix].name, "save-restore") == 0)
-    save_restore = * (ULONGEST *) attrs[ix++].value;
+  if (ix < length && strcmp (attributes[ix].name, "save-restore") == 0)
+    save_restore = * (ULONGEST *) attributes[ix++].value.get ();
   else
     save_restore = 1;
 
@@ -225,10 +225,10 @@ tdesc_start_reg (struct gdb_xml_parser *
 static void
 tdesc_start_union (struct gdb_xml_parser *parser,
 		   const struct gdb_xml_element *element,
-		   void *user_data, VEC(gdb_xml_value_s) *attributes)
+		   void *user_data, std::vector<gdb_xml_value> &attributes)
 {
   struct tdesc_parsing_data *data = (struct tdesc_parsing_data *) user_data;
-  char *id = (char *) xml_find_attribute (attributes, "id")->value;
+  char *id = (char *) xml_find_attribute (attributes, "id")->value.get ();
 
   data->current_type = tdesc_create_union (data->current_feature, id);
   data->current_type_size = 0;
@@ -240,10 +240,10 @@ tdesc_start_union (struct gdb_xml_parser
 static void
 tdesc_start_struct (struct gdb_xml_parser *parser,
 		   const struct gdb_xml_element *element,
-		   void *user_data, VEC(gdb_xml_value_s) *attributes)
+		   void *user_data, std::vector<gdb_xml_value> &attributes)
 {
   struct tdesc_parsing_data *data = (struct tdesc_parsing_data *) user_data;
-  char *id = (char *) xml_find_attribute (attributes, "id")->value;
+  char *id = (char *) xml_find_attribute (attributes, "id")->value.get ();
   struct gdb_xml_value *attr;
 
   tdesc_type_with_fields *type_with_fields
@@ -254,7 +254,7 @@ tdesc_start_struct (struct gdb_xml_parse
   attr = xml_find_attribute (attributes, "size");
   if (attr != NULL)
     {
-      ULONGEST size = * (ULONGEST *) attr->value;
+      ULONGEST size = * (ULONGEST *) attr->value.get ();
 
       if (size > MAX_FIELD_SIZE)
 	{
@@ -270,12 +270,12 @@ tdesc_start_struct (struct gdb_xml_parse
 static void
 tdesc_start_flags (struct gdb_xml_parser *parser,
 		   const struct gdb_xml_element *element,
-		   void *user_data, VEC(gdb_xml_value_s) *attributes)
+		   void *user_data, std::vector<gdb_xml_value> &attributes)
 {
   struct tdesc_parsing_data *data = (struct tdesc_parsing_data *) user_data;
-  char *id = (char *) xml_find_attribute (attributes, "id")->value;
+  char *id = (char *) xml_find_attribute (attributes, "id")->value.get ();
   ULONGEST size = * (ULONGEST *)
-    xml_find_attribute (attributes, "size")->value;
+    xml_find_attribute (attributes, "size")->value.get ();
 
   if (size > MAX_FIELD_SIZE)
     {
@@ -291,12 +291,12 @@ tdesc_start_flags (struct gdb_xml_parser
 static void
 tdesc_start_enum (struct gdb_xml_parser *parser,
 		  const struct gdb_xml_element *element,
-		  void *user_data, VEC(gdb_xml_value_s) *attributes)
+		  void *user_data, std::vector<gdb_xml_value> &attributes)
 {
   struct tdesc_parsing_data *data = (struct tdesc_parsing_data *) user_data;
-  char *id = (char *) xml_find_attribute (attributes, "id")->value;
+  char *id = (char *) xml_find_attribute (attributes, "id")->value.get ();
   int size = * (ULONGEST *)
-    xml_find_attribute (attributes, "size")->value;
+    xml_find_attribute (attributes, "size")->value.get ();
 
   if (size > MAX_FIELD_SIZE)
     {
@@ -315,7 +315,7 @@ tdesc_start_enum (struct gdb_xml_parser 
 static void
 tdesc_start_field (struct gdb_xml_parser *parser,
 		   const struct gdb_xml_element *element,
-		   void *user_data, VEC(gdb_xml_value_s) *attributes)
+		   void *user_data, std::vector<gdb_xml_value> &attributes)
 {
   struct tdesc_parsing_data *data = (struct tdesc_parsing_data *) user_data;
   struct gdb_xml_value *attr;
@@ -323,12 +323,12 @@ tdesc_start_field (struct gdb_xml_parser
   char *field_name, *field_type_id;
   int start, end;
 
-  field_name = (char *) xml_find_attribute (attributes, "name")->value;
+  field_name = (char *) xml_find_attribute (attributes, "name")->value.get ();
 
   attr = xml_find_attribute (attributes, "type");
   if (attr != NULL)
     {
-      field_type_id = (char *) attr->value;
+      field_type_id = (char *) attr->value.get ();
       field_type = tdesc_named_type (data->current_feature, field_type_id);
     }
   else
@@ -340,7 +340,7 @@ tdesc_start_field (struct gdb_xml_parser
   attr = xml_find_attribute (attributes, "start");
   if (attr != NULL)
     {
-      ULONGEST ul_start = * (ULONGEST *) attr->value;
+      ULONGEST ul_start = * (ULONGEST *) attr->value.get ();
 
       if (ul_start > MAX_FIELD_BITSIZE)
 	{
@@ -356,7 +356,7 @@ tdesc_start_field (struct gdb_xml_parser
   attr = xml_find_attribute (attributes, "end");
   if (attr != NULL)
     {
-      ULONGEST ul_end = * (ULONGEST *) attr->value;
+      ULONGEST ul_end = * (ULONGEST *) attr->value.get ();
 
       if (ul_end > MAX_FIELD_BITSIZE)
 	{
@@ -444,7 +444,7 @@ tdesc_start_field (struct gdb_xml_parser
 static void
 tdesc_start_enum_value (struct gdb_xml_parser *parser,
 			const struct gdb_xml_element *element,
-			void *user_data, VEC(gdb_xml_value_s) *attributes)
+			void *user_data, std::vector<gdb_xml_value> &attributes)
 {
   struct tdesc_parsing_data *data = (struct tdesc_parsing_data *) user_data;
   struct gdb_xml_value *attr;
@@ -452,10 +452,10 @@ tdesc_start_enum_value (struct gdb_xml_p
   ULONGEST ul_value;
   int value;
 
-  field_name = (char *) xml_find_attribute (attributes, "name")->value;
+  field_name = (char *) xml_find_attribute (attributes, "name")->value.get ();
 
   attr = xml_find_attribute (attributes, "value");
-  ul_value = * (ULONGEST *) attr->value;
+  ul_value = * (ULONGEST *) attr->value.get ();
   if (ul_value > INT_MAX)
     {
       gdb_xml_error (parser,
@@ -473,17 +473,16 @@ tdesc_start_enum_value (struct gdb_xml_p
 static void
 tdesc_start_vector (struct gdb_xml_parser *parser,
 		    const struct gdb_xml_element *element,
-		    void *user_data, VEC(gdb_xml_value_s) *attributes)
+		    void *user_data, std::vector<gdb_xml_value> &attributes)
 {
   struct tdesc_parsing_data *data = (struct tdesc_parsing_data *) user_data;
-  struct gdb_xml_value *attrs = VEC_address (gdb_xml_value_s, attributes);
   struct tdesc_type *field_type;
   char *id, *field_type_id;
   ULONGEST count;
 
-  id = (char *) attrs[0].value;
-  field_type_id = (char *) attrs[1].value;
-  count = * (ULONGEST *) attrs[2].value;
+  id = (char *) attributes[0].value.get ();
+  field_type_id = (char *) attributes[1].value.get ();
+  count = * (ULONGEST *) attributes[2].value.get ();
 
   if (count > MAX_VECTOR_SIZE)
     {
@@ -669,15 +668,15 @@ tdesc_parse_xml (const char *document, x
 const struct target_desc *
 file_read_description_xml (const char *filename)
 {
-  gdb::unique_xmalloc_ptr<char> tdesc_str
+  gdb::optional<gdb::char_vector> tdesc_str
     = xml_fetch_content_from_file (filename, NULL);
-  if (tdesc_str == NULL)
+  if (!tdesc_str)
     {
       warning (_("Could not open \"%s\""), filename);
       return NULL;
     }
 
-  return tdesc_parse_xml (tdesc_str.get (), xml_fetch_content_from_file,
+  return tdesc_parse_xml (tdesc_str->data (), xml_fetch_content_from_file,
 			  (void *) ldirname (filename).c_str ());
 }
 
@@ -688,7 +687,7 @@ file_read_description_xml (const char *f
    is "target.xml".  Other calls may be performed for the DTD or
    for <xi:include>.  */
 
-static gdb::unique_xmalloc_ptr<char>
+static gdb::optional<gdb::char_vector>
 fetch_available_features_from_target (const char *name, void *baton_)
 {
   struct target_ops *ops = (struct target_ops *) baton_;
@@ -707,12 +706,12 @@ fetch_available_features_from_target (co
 const struct target_desc *
 target_read_description_xml (struct target_ops *ops)
 {
-  gdb::unique_xmalloc_ptr<char> tdesc_str
+  gdb::optional<gdb::char_vector> tdesc_str
     = fetch_available_features_from_target ("target.xml", ops);
-  if (tdesc_str == NULL)
+  if (!tdesc_str)
     return NULL;
 
-  return tdesc_parse_xml (tdesc_str.get (),
+  return tdesc_parse_xml (tdesc_str->data (),
 			  fetch_available_features_from_target,
 			  ops);
 }
@@ -736,15 +735,15 @@ target_fetch_description_xml (struct tar
 
   return {};
 #else
-  gdb::unique_xmalloc_ptr<char>
+  gdb::optional<gdb::char_vector>
     tdesc_str = fetch_available_features_from_target ("target.xml", ops);
-  if (tdesc_str == NULL)
+  if (!tdesc_str)
     return {};
 
   std::string output;
   if (!xml_process_xincludes (output,
 			      _("target description"),
-			      tdesc_str.get (),
+			      tdesc_str->data (),
 			      fetch_available_features_from_target, ops, 0))
     {
       warning (_("Could not load XML target description; ignoring"));
@@ -753,3 +752,15 @@ target_fetch_description_xml (struct tar
   return output;
 #endif
 }
+
+/* See xml-tdesc.h.  */
+
+const struct target_desc *
+string_read_description_xml (const char *xml)
+{
+  return tdesc_parse_xml (xml, [] (const char *href, void *baton)
+    {
+      error (_("xincludes are unsupported with this method"));
+      return gdb::optional<gdb::char_vector> ();
+    }, nullptr);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xml-tdesc.h ./gdb/xml-tdesc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xml-tdesc.h	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/xml-tdesc.h	2018-07-10 02:06:13.000000000 +0000
@@ -44,5 +44,10 @@ const struct target_desc *target_read_de
    otherwise.  */
 gdb::optional<std::string> target_fetch_description_xml (target_ops *ops);
 
+/* Take an xml string, parse it, and return the parsed description.  Does not
+   handle a string containing includes.  */
+
+const struct target_desc *string_read_description_xml (const char *xml);
+
 #endif /* XML_TDESC_H */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xstormy16-tdep.c ./gdb/xstormy16-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xstormy16-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/xstormy16-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -163,7 +163,7 @@ xstormy16_extract_return_value (struct t
   int i, regnum = E_1ST_ARG_REGNUM;
 
   for (i = 0; i < len; i += xstormy16_reg_size)
-    regcache_raw_read (regcache, regnum++, valbuf + i);
+    regcache->raw_read (regnum++, valbuf + i);
 }
 
 /* Function: xstormy16_store_return_value
@@ -181,7 +181,7 @@ xstormy16_store_return_value (struct typ
       gdb_byte buf[xstormy16_reg_size];
       memset (buf, 0, xstormy16_reg_size);
       memcpy (buf, valbuf, 1);
-      regcache_raw_write (regcache, E_1ST_ARG_REGNUM, buf);
+      regcache->raw_write (E_1ST_ARG_REGNUM, buf);
     }
   else
     {
@@ -189,7 +189,7 @@ xstormy16_store_return_value (struct typ
       int i, regnum = E_1ST_ARG_REGNUM;
 
       for (i = 0; i < len; i += xstormy16_reg_size)
-        regcache_raw_write (regcache, regnum++, valbuf + i);
+        regcache->raw_write (regnum++, valbuf + i);
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xtensa-linux-nat.c ./gdb/xtensa-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xtensa-linux-nat.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/xtensa-linux-nat.c	2018-07-10 02:06:13.000000000 +0000
@@ -45,6 +45,16 @@
    hardware-specific overlays.  */
 #include "xtensa-xtregs.c"
 
+class xtensa_linux_nat_target final : public linux_nat_target
+{
+public:
+  /* Add our register access methods.  */
+  void fetch_registers (struct regcache *, int) override;
+  void store_registers (struct regcache *, int) override;
+};
+
+static xtensa_linux_nat_target the_xtensa_linux_nat_target;
+
 void
 fill_gregset (const struct regcache *regcache,
 	      gdb_gregset_t *gregsetp, int regnum)
@@ -54,63 +64,54 @@ fill_gregset (const struct regcache *reg
   struct gdbarch *gdbarch = regcache->arch ();
 
   if (regnum == gdbarch_pc_regnum (gdbarch) || regnum == -1)
-    regcache_raw_collect (regcache, gdbarch_pc_regnum (gdbarch), &regs->pc);
+    regcache->raw_collect (gdbarch_pc_regnum (gdbarch), &regs->pc);
   if (regnum == gdbarch_ps_regnum (gdbarch) || regnum == -1)
-    regcache_raw_collect (regcache, gdbarch_ps_regnum (gdbarch), &regs->ps);
+    regcache->raw_collect (gdbarch_ps_regnum (gdbarch), &regs->ps);
 
   if (regnum == gdbarch_tdep (gdbarch)->wb_regnum || regnum == -1)
-    regcache_raw_collect (regcache,
-			  gdbarch_tdep (gdbarch)->wb_regnum,
-			  &regs->windowbase);
+    regcache->raw_collect (gdbarch_tdep (gdbarch)->wb_regnum,
+			   &regs->windowbase);
   if (regnum == gdbarch_tdep (gdbarch)->ws_regnum || regnum == -1)
-    regcache_raw_collect (regcache,
-			  gdbarch_tdep (gdbarch)->ws_regnum,
-			  &regs->windowstart);
+    regcache->raw_collect (gdbarch_tdep (gdbarch)->ws_regnum,
+			   &regs->windowstart);
   if (regnum == gdbarch_tdep (gdbarch)->lbeg_regnum || regnum == -1)
-    regcache_raw_collect (regcache,
-			  gdbarch_tdep (gdbarch)->lbeg_regnum,
-			  &regs->lbeg);
+    regcache->raw_collect (gdbarch_tdep (gdbarch)->lbeg_regnum,
+			   &regs->lbeg);
   if (regnum == gdbarch_tdep (gdbarch)->lend_regnum || regnum == -1)
-    regcache_raw_collect (regcache,
-			  gdbarch_tdep (gdbarch)->lend_regnum,
-			  &regs->lend);
+    regcache->raw_collect (gdbarch_tdep (gdbarch)->lend_regnum,
+			   &regs->lend);
   if (regnum == gdbarch_tdep (gdbarch)->lcount_regnum || regnum == -1)
-    regcache_raw_collect (regcache,
-			  gdbarch_tdep (gdbarch)->lcount_regnum,
-			  &regs->lcount);
+    regcache->raw_collect (gdbarch_tdep (gdbarch)->lcount_regnum,
+			   &regs->lcount);
   if (regnum == gdbarch_tdep (gdbarch)->sar_regnum || regnum == -1)
-    regcache_raw_collect (regcache,
-			  gdbarch_tdep (gdbarch)->sar_regnum,
-			  &regs->sar);
+    regcache->raw_collect (gdbarch_tdep (gdbarch)->sar_regnum,
+			   &regs->sar);
   if (regnum == gdbarch_tdep (gdbarch)->threadptr_regnum || regnum == -1)
-    regcache_raw_collect (regcache,
-			  gdbarch_tdep (gdbarch)->threadptr_regnum,
-			  &regs->threadptr);
+    regcache->raw_collect (gdbarch_tdep (gdbarch)->threadptr_regnum,
+			   &regs->threadptr);
   if (regnum >=gdbarch_tdep (gdbarch)->ar_base
       && regnum < gdbarch_tdep (gdbarch)->ar_base
 		    + gdbarch_tdep (gdbarch)->num_aregs)
-    regcache_raw_collect (regcache,regnum,
-			  &regs->ar[regnum - gdbarch_tdep (gdbarch)->ar_base]);
+    regcache->raw_collect (regnum,
+			   &regs->ar[regnum - gdbarch_tdep (gdbarch)->ar_base]);
   else if (regnum == -1)
     {
       for (i = 0; i < gdbarch_tdep (gdbarch)->num_aregs; ++i)
-	regcache_raw_collect (regcache,
-			      gdbarch_tdep (gdbarch)->ar_base + i,
-			      &regs->ar[i]);
+	regcache->raw_collect (gdbarch_tdep (gdbarch)->ar_base + i,
+			       &regs->ar[i]);
     }
   if (regnum >= gdbarch_tdep (gdbarch)->a0_base
       && regnum < gdbarch_tdep (gdbarch)->a0_base + C0_NREGS)
-    regcache_raw_collect (regcache, regnum,
-			  &regs->ar[(4 * regs->windowbase + regnum
-				     - gdbarch_tdep (gdbarch)->a0_base)
+    regcache->raw_collect (regnum,
+			   &regs->ar[(4 * regs->windowbase + regnum
+				      - gdbarch_tdep (gdbarch)->a0_base)
 			  % gdbarch_tdep (gdbarch)->num_aregs]);
   else if (regnum == -1)
     {
       for (i = 0; i < C0_NREGS; ++i)
-	regcache_raw_collect (regcache,
-			      gdbarch_tdep (gdbarch)->a0_base + i,
-			      &regs->ar[(4 * regs->windowbase + i)
-			      % gdbarch_tdep (gdbarch)->num_aregs]);
+	regcache->raw_collect (gdbarch_tdep (gdbarch)->a0_base + i,
+			       (&regs->ar[(4 * regs->windowbase + i)
+				% gdbarch_tdep (gdbarch)->num_aregs]));
     }
 }
 
@@ -124,63 +125,54 @@ supply_gregset_reg (struct regcache *reg
   struct gdbarch *gdbarch = regcache->arch ();
 
   if (regnum == gdbarch_pc_regnum (gdbarch) || regnum == -1)
-    regcache_raw_supply (regcache, gdbarch_pc_regnum (gdbarch), &regs->pc);
+    regcache->raw_supply (gdbarch_pc_regnum (gdbarch), &regs->pc);
   if (regnum == gdbarch_ps_regnum (gdbarch) || regnum == -1)
-    regcache_raw_supply (regcache, gdbarch_ps_regnum (gdbarch), &regs->ps);
+    regcache->raw_supply (gdbarch_ps_regnum (gdbarch), &regs->ps);
 
   if (regnum == gdbarch_tdep (gdbarch)->wb_regnum || regnum == -1)
-    regcache_raw_supply (regcache,
-			  gdbarch_tdep (gdbarch)->wb_regnum,
+    regcache->raw_supply (gdbarch_tdep (gdbarch)->wb_regnum,
 			  &regs->windowbase);
   if (regnum == gdbarch_tdep (gdbarch)->ws_regnum || regnum == -1)
-    regcache_raw_supply (regcache,
-			  gdbarch_tdep (gdbarch)->ws_regnum,
+    regcache->raw_supply (gdbarch_tdep (gdbarch)->ws_regnum,
 			  &regs->windowstart);
   if (regnum == gdbarch_tdep (gdbarch)->lbeg_regnum || regnum == -1)
-    regcache_raw_supply (regcache,
-			  gdbarch_tdep (gdbarch)->lbeg_regnum,
+    regcache->raw_supply (gdbarch_tdep (gdbarch)->lbeg_regnum,
 			  &regs->lbeg);
   if (regnum == gdbarch_tdep (gdbarch)->lend_regnum || regnum == -1)
-    regcache_raw_supply (regcache,
-			  gdbarch_tdep (gdbarch)->lend_regnum,
+    regcache->raw_supply (gdbarch_tdep (gdbarch)->lend_regnum,
 			  &regs->lend);
   if (regnum == gdbarch_tdep (gdbarch)->lcount_regnum || regnum == -1)
-    regcache_raw_supply (regcache,
-			  gdbarch_tdep (gdbarch)->lcount_regnum,
+    regcache->raw_supply (gdbarch_tdep (gdbarch)->lcount_regnum,
 			  &regs->lcount);
   if (regnum == gdbarch_tdep (gdbarch)->sar_regnum || regnum == -1)
-    regcache_raw_supply (regcache,
-			  gdbarch_tdep (gdbarch)->sar_regnum,
+    regcache->raw_supply (gdbarch_tdep (gdbarch)->sar_regnum,
 			  &regs->sar);
   if (regnum == gdbarch_tdep (gdbarch)->threadptr_regnum || regnum == -1)
-    regcache_raw_supply (regcache,
-			  gdbarch_tdep (gdbarch)->threadptr_regnum,
+    regcache->raw_supply (gdbarch_tdep (gdbarch)->threadptr_regnum,
 			  &regs->threadptr);
   if (regnum >=gdbarch_tdep (gdbarch)->ar_base
       && regnum < gdbarch_tdep (gdbarch)->ar_base
 		    + gdbarch_tdep (gdbarch)->num_aregs)
-    regcache_raw_supply (regcache,regnum,
+    regcache->raw_supply (regnum,
 			  &regs->ar[regnum - gdbarch_tdep (gdbarch)->ar_base]);
   else if (regnum == -1)
     {
       for (i = 0; i < gdbarch_tdep (gdbarch)->num_aregs; ++i)
-	regcache_raw_supply (regcache,
-			      gdbarch_tdep (gdbarch)->ar_base + i,
+	regcache->raw_supply (gdbarch_tdep (gdbarch)->ar_base + i,
 			      &regs->ar[i]);
     }
   if (regnum >= gdbarch_tdep (gdbarch)->a0_base
       && regnum < gdbarch_tdep (gdbarch)->a0_base + C0_NREGS)
-    regcache_raw_supply (regcache, regnum,
-			 &regs->ar[(4 * regs->windowbase + regnum
-				    - gdbarch_tdep (gdbarch)->a0_base)
+    regcache->raw_supply (regnum,
+			  &regs->ar[(4 * regs->windowbase + regnum
+				     - gdbarch_tdep (gdbarch)->a0_base)
 			 % gdbarch_tdep (gdbarch)->num_aregs]);
   else if (regnum == -1)
     {
       for (i = 0; i < C0_NREGS; ++i)
-	regcache_raw_supply (regcache,
-			     gdbarch_tdep (gdbarch)->a0_base + i,
-			     &regs->ar[(4 * regs->windowbase + i)
-			     % gdbarch_tdep (gdbarch)->num_aregs]);
+	regcache->raw_supply (gdbarch_tdep (gdbarch)->a0_base + i,
+			      &regs->ar[(4 * regs->windowbase + i)
+					% gdbarch_tdep (gdbarch)->num_aregs]);
     }
 }
 
@@ -210,7 +202,7 @@ supply_fpregset (struct regcache *regcac
 static void
 fetch_gregs (struct regcache *regcache, int regnum)
 {
-  int tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  int tid = regcache->ptid ().lwp ();
   gdb_gregset_t regs;
   int areg;
   
@@ -229,7 +221,7 @@ fetch_gregs (struct regcache *regcache, 
 static void
 store_gregs (struct regcache *regcache, int regnum)
 {
-  int tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  int tid = regcache->ptid ().lwp ();
   gdb_gregset_t regs;
   int areg;
 
@@ -257,7 +249,7 @@ static int xtreg_high;
 static void
 fetch_xtregs (struct regcache *regcache, int regnum)
 {
-  int tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  int tid = regcache->ptid ().lwp ();
   const xtensa_regtable_t *ptr;
   char xtregs [XTENSA_ELF_XTREG_SIZE];
 
@@ -266,14 +258,13 @@ fetch_xtregs (struct regcache *regcache,
 
   for (ptr = xtensa_regmap_table; ptr->name; ptr++)
     if (regnum == ptr->gdb_regnum || regnum == -1)
-      regcache_raw_supply (regcache, ptr->gdb_regnum,
-			   xtregs + ptr->ptrace_offset);
+      regcache->raw_supply (ptr->gdb_regnum, xtregs + ptr->ptrace_offset);
 }
 
 static void
 store_xtregs (struct regcache *regcache, int regnum)
 {
-  int tid = ptid_get_lwp (regcache_get_ptid (regcache));
+  int tid = regcache->ptid ().lwp ();
   const xtensa_regtable_t *ptr;
   char xtregs [XTENSA_ELF_XTREG_SIZE];
 
@@ -282,16 +273,15 @@ store_xtregs (struct regcache *regcache,
 
   for (ptr = xtensa_regmap_table; ptr->name; ptr++)
     if (regnum == ptr->gdb_regnum || regnum == -1)
-      regcache_raw_collect (regcache, ptr->gdb_regnum,
-			    xtregs + ptr->ptrace_offset);
+      regcache->raw_collect (ptr->gdb_regnum, xtregs + ptr->ptrace_offset);
 
   if (ptrace (PTRACE_SETXTREGS, tid, 0, (long)&xtregs) < 0)
     perror_with_name (_("Couldn't write extended registers"));
 }
 
-static void
-xtensa_linux_fetch_inferior_registers (struct target_ops *ops,
-				       struct regcache *regcache, int regnum)
+void
+xtensa_linux_nat_target::fetch_registers (struct regcache *regcache,
+					  int regnum)
 {
   if (regnum == -1)
     {
@@ -304,9 +294,9 @@ xtensa_linux_fetch_inferior_registers (s
     fetch_xtregs (regcache, regnum);
 }
 
-static void
-xtensa_linux_store_inferior_registers (struct target_ops *ops,
-				       struct regcache *regcache, int regnum)
+void
+xtensa_linux_nat_target::store_registers (struct regcache *regcache,
+					  int regnum)
 {
   if (regnum == -1)
     {
@@ -341,7 +331,6 @@ ps_get_thread_area (struct ps_prochandle
 void
 _initialize_xtensa_linux_nat (void)
 {
-  struct target_ops *t;
   const xtensa_regtable_t *ptr;
 
   /* Calculate the number range for extended registers.  */
@@ -355,12 +344,6 @@ _initialize_xtensa_linux_nat (void)
 	xtreg_high = ptr->gdb_regnum;
     }
 
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
-  /* Add our register access methods.  */
-  t->to_fetch_registers = xtensa_linux_fetch_inferior_registers;
-  t->to_store_registers = xtensa_linux_store_inferior_registers;
-
-  linux_nat_add_target (t);
+  linux_target = &the_xtensa_linux_nat_target;
+  add_inf_child_target (&the_xtensa_linux_nat_target);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xtensa-linux-tdep.c ./gdb/xtensa-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xtensa-linux-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/xtensa-linux-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -18,6 +18,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
+#include "xtensa-tdep.h"
 #include "osabi.h"
 #include "linux-tdep.h"
 #include "solib-svr4.h"
@@ -97,6 +98,11 @@ xtensa_linux_gdb_signal_to_target (struc
 static void
 xtensa_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  if (tdep->num_nopriv_regs < tdep->num_regs)
+    tdep->num_regs = tdep->num_nopriv_regs;
+
   linux_init_abi (info, gdbarch);
 
   set_solib_svr4_fetch_link_map_offsets
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xtensa-tdep.c ./gdb/xtensa-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/gdb/xtensa-tdep.c	2018-07-03 02:06:29.000000000 +0000
+++ ./gdb/xtensa-tdep.c	2018-07-10 02:06:13.000000000 +0000
@@ -453,7 +453,7 @@ xtensa_register_write_masked (struct reg
    of the registers and assemble them into a single value.  */
 
 static enum register_status
-xtensa_register_read_masked (struct regcache *regcache,
+xtensa_register_read_masked (readable_regcache *regcache,
 			     xtensa_register_t *reg, gdb_byte *buffer)
 {
   unsigned int value[(XTENSA_MAX_REGISTER_SIZE + 3) / 4];
@@ -481,7 +481,7 @@ xtensa_register_read_masked (struct regc
 	  enum register_status status;
 	  ULONGEST val;
 
-	  status = regcache_cooked_read_unsigned (regcache, r, &val);
+	  status = regcache->cooked_read (r, &val);
 	  if (status != REG_VALID)
 	    return status;
 	  regval = (unsigned int) val;
@@ -547,7 +547,7 @@ xtensa_register_read_masked (struct regc
 
 static enum register_status
 xtensa_pseudo_register_read (struct gdbarch *gdbarch,
-			     struct regcache *regcache,
+			     readable_regcache *regcache,
 			     int regnum,
 			     gdb_byte *buffer)
 {
@@ -562,9 +562,8 @@ xtensa_pseudo_register_read (struct gdba
       ULONGEST value;
       enum register_status status;
 
-      status = regcache_raw_read_unsigned (regcache,
-					   gdbarch_tdep (gdbarch)->wb_regnum,
-					   &value);
+      status = regcache->raw_read (gdbarch_tdep (gdbarch)->wb_regnum,
+				   &value);
       if (status != REG_VALID)
 	return status;
       regnum = arreg_number (gdbarch, regnum, value);
@@ -572,7 +571,7 @@ xtensa_pseudo_register_read (struct gdba
 
   /* We can always read non-pseudo registers.  */
   if (regnum >= 0 && regnum < gdbarch_num_regs (gdbarch))
-    return regcache_raw_read (regcache, regnum, buffer);
+    return regcache->raw_read (regnum, buffer);
 
   /* We have to find out how to deal with priveleged registers.
      Let's treat them as pseudo-registers, but we cannot read/write them.  */
@@ -629,7 +628,7 @@ xtensa_pseudo_register_read (struct gdba
 	return xtensa_register_read_masked (regcache, reg, buffer);
 
       /* Assume that we can read the register.  */
-      return regcache_raw_read (regcache, regnum, buffer);
+      return regcache->raw_read (regnum, buffer);
     }
   else
     internal_error (__FILE__, __LINE__,
@@ -662,7 +661,7 @@ xtensa_pseudo_register_write (struct gdb
   /* We can always write 'core' registers.
      Note: We might have converted Ax->ARy.  */
   if (regnum >= 0 && regnum < gdbarch_num_regs (gdbarch))
-    regcache_raw_write (regcache, regnum, buffer);
+    regcache->raw_write (regnum, buffer);
 
   /* We have to find out how to deal with priveleged registers.
      Let's treat them as pseudo-registers, but we cannot read/write them.  */
@@ -719,7 +718,7 @@ xtensa_pseudo_register_write (struct gdb
 	}
 
       /* Assume that we can write the register.  */
-      regcache_raw_write (regcache, regnum, buffer);
+      regcache->raw_write (regnum, buffer);
     }
   else
     internal_error (__FILE__, __LINE__,
@@ -849,38 +848,37 @@ xtensa_supply_gregset (const struct regs
   DEBUGTRACE ("xtensa_supply_gregset (..., regnum==%d, ...)\n", regnum);
 
   if (regnum == gdbarch_pc_regnum (gdbarch) || regnum == -1)
-    regcache_raw_supply (rc, gdbarch_pc_regnum (gdbarch), (char *) &regs->pc);
+    rc->raw_supply (gdbarch_pc_regnum (gdbarch), (char *) &regs->pc);
   if (regnum == gdbarch_ps_regnum (gdbarch) || regnum == -1)
-    regcache_raw_supply (rc, gdbarch_ps_regnum (gdbarch), (char *) &regs->ps);
+    rc->raw_supply (gdbarch_ps_regnum (gdbarch), (char *) &regs->ps);
   if (regnum == gdbarch_tdep (gdbarch)->wb_regnum || regnum == -1)
-    regcache_raw_supply (rc, gdbarch_tdep (gdbarch)->wb_regnum,
-			 (char *) &regs->windowbase);
+    rc->raw_supply (gdbarch_tdep (gdbarch)->wb_regnum,
+		    (char *) &regs->windowbase);
   if (regnum == gdbarch_tdep (gdbarch)->ws_regnum || regnum == -1)
-    regcache_raw_supply (rc, gdbarch_tdep (gdbarch)->ws_regnum,
-			 (char *) &regs->windowstart);
+    rc->raw_supply (gdbarch_tdep (gdbarch)->ws_regnum,
+		    (char *) &regs->windowstart);
   if (regnum == gdbarch_tdep (gdbarch)->lbeg_regnum || regnum == -1)
-    regcache_raw_supply (rc, gdbarch_tdep (gdbarch)->lbeg_regnum,
-			 (char *) &regs->lbeg);
+    rc->raw_supply (gdbarch_tdep (gdbarch)->lbeg_regnum,
+		    (char *) &regs->lbeg);
   if (regnum == gdbarch_tdep (gdbarch)->lend_regnum || regnum == -1)
-    regcache_raw_supply (rc, gdbarch_tdep (gdbarch)->lend_regnum,
-			 (char *) &regs->lend);
+    rc->raw_supply (gdbarch_tdep (gdbarch)->lend_regnum,
+		    (char *) &regs->lend);
   if (regnum == gdbarch_tdep (gdbarch)->lcount_regnum || regnum == -1)
-    regcache_raw_supply (rc, gdbarch_tdep (gdbarch)->lcount_regnum,
-			 (char *) &regs->lcount);
+    rc->raw_supply (gdbarch_tdep (gdbarch)->lcount_regnum,
+		    (char *) &regs->lcount);
   if (regnum == gdbarch_tdep (gdbarch)->sar_regnum || regnum == -1)
-    regcache_raw_supply (rc, gdbarch_tdep (gdbarch)->sar_regnum,
-			 (char *) &regs->sar);
+    rc->raw_supply (gdbarch_tdep (gdbarch)->sar_regnum,
+		    (char *) &regs->sar);
   if (regnum >=gdbarch_tdep (gdbarch)->ar_base
       && regnum < gdbarch_tdep (gdbarch)->ar_base
 		    + gdbarch_tdep (gdbarch)->num_aregs)
-    regcache_raw_supply (rc, regnum,
-			 (char *) &regs->ar[regnum - gdbarch_tdep
-			   (gdbarch)->ar_base]);
+    rc->raw_supply
+      (regnum, (char *) &regs->ar[regnum - gdbarch_tdep (gdbarch)->ar_base]);
   else if (regnum == -1)
     {
       for (i = 0; i < gdbarch_tdep (gdbarch)->num_aregs; ++i)
-	regcache_raw_supply (rc, gdbarch_tdep (gdbarch)->ar_base + i,
-			     (char *) &regs->ar[i]);
+	rc->raw_supply (gdbarch_tdep (gdbarch)->ar_base + i,
+			(char *) &regs->ar[i]);
     }
 }
 
@@ -1597,9 +1595,9 @@ xtensa_extract_return_value (struct type
   for (; len > 0; len -= 4, areg++, valbuf += 4)
     {
       if (len < 4)
-	regcache_raw_read_part (regcache, areg, offset, len, valbuf);
+	regcache->raw_read_part (areg, offset, len, valbuf);
       else
-	regcache_raw_read (regcache, areg, valbuf);
+	regcache->raw_read (areg, valbuf);
     }
 }
 
@@ -1647,9 +1645,9 @@ xtensa_store_return_value (struct type *
   for (; len > 0; len -= 4, areg++, valbuf += 4)
     {
       if (len < 4)
-	regcache_raw_write_part (regcache, areg, offset, len, valbuf);
+	regcache->raw_write_part (areg, offset, len, valbuf);
       else
-	regcache_raw_write (regcache, areg, valbuf);
+	regcache->raw_write (areg, valbuf);
     }
 }
 
@@ -1847,7 +1845,7 @@ xtensa_push_dummy_call (struct gdbarch *
   if (struct_return)
     {
       store_unsigned_integer (buf, REGISTER_SIZE, byte_order, struct_addr);
-      regcache_cooked_write (regcache, ARG_1ST (gdbarch), buf);
+      regcache->cooked_write (ARG_1ST (gdbarch), buf);
     }
 
   for (i = 0; i < nargs; i++)
@@ -1889,7 +1887,7 @@ xtensa_push_dummy_call (struct gdbarch *
 	      v = v >> ((REGISTER_SIZE - n) * TARGET_CHAR_BIT);
 
 	      store_unsigned_integer (buf, REGISTER_SIZE, byte_order, v);
-	      regcache_cooked_write (regcache, r, buf);
+	      regcache->cooked_write (r, buf);
 
 	      cp += REGISTER_SIZE;
 	      n -= REGISTER_SIZE;
@@ -1898,7 +1896,7 @@ xtensa_push_dummy_call (struct gdbarch *
 	  else
 	    while (n > 0)
 	      {
-		regcache_cooked_write (regcache, r, cp);
+		regcache->cooked_write (r, cp);
 
 		cp += REGISTER_SIZE;
 		n -= REGISTER_SIZE;
@@ -1929,7 +1927,7 @@ xtensa_push_dummy_call (struct gdbarch *
 	 to modify WINDOWSTART register to make it look like there
 	 is only one register window corresponding to WINDOWEBASE.  */
 
-      regcache_raw_read (regcache, gdbarch_tdep (gdbarch)->wb_regnum, buf);
+      regcache->raw_read (gdbarch_tdep (gdbarch)->wb_regnum, buf);
       regcache_cooked_write_unsigned
 	(regcache, gdbarch_tdep (gdbarch)->ws_regnum,
 	 1 << extract_unsigned_integer (buf, 4, byte_order));
@@ -3146,16 +3144,12 @@ xtensa_derive_tdep (struct gdbarch_tdep 
 	max_size = rmap->byte_size;
       if (rmap->mask != 0 && tdep->num_regs == 0)
 	tdep->num_regs = n;
-      /* Find out out how to deal with priveleged registers.
-
-         if ((rmap->flags & XTENSA_REGISTER_FLAGS_PRIVILEGED) != 0
-              && tdep->num_nopriv_regs == 0)
-           tdep->num_nopriv_regs = n;
-      */
       if ((rmap->flags & XTENSA_REGISTER_FLAGS_PRIVILEGED) != 0
-	  && tdep->num_regs == 0)
-	tdep->num_regs = n;
+	  && tdep->num_nopriv_regs == 0)
+	tdep->num_nopriv_regs = n;
     }
+  if (tdep->num_regs == 0)
+    tdep->num_regs = tdep->num_nopriv_regs;
 
   /* Number of pseudo registers.  */
   tdep->num_pseudo_regs = n - tdep->num_regs;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/ansidecl.h ./include/ansidecl.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/ansidecl.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/ansidecl.h	2018-07-10 02:06:14.000000000 +0000
@@ -283,6 +283,15 @@ So instead we use the macro below and te
 # endif /* GNUC >= 4.9 */
 #endif /* ATTRIBUTE_NO_SANITIZE_UNDEFINED */
 
+/* Attribute 'nonstring' was valid as of gcc 8.  */
+#ifndef ATTRIBUTE_NONSTRING
+# if GCC_VERSION >= 8000
+#  define ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
+# else
+#  define ATTRIBUTE_NONSTRING
+# endif
+#endif
+
 /* We use __extension__ in some places to suppress -pedantic warnings
    about GCC extensions.  This feature didn't work properly before
    gcc 2.8.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/adobe.h ./include/aout/adobe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/adobe.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/aout/adobe.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,319 +0,0 @@
-/* `a.out.adobe' differences from standard a.out files
-
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#ifndef __A_OUT_ADOBE_H__
-#define __A_OUT_ADOBE_H__
-
-#define	BYTES_IN_WORD	4
-
-/* Struct external_exec is the same.  */
-
-/* This is the layout on disk of the 32-bit or 64-bit exec header.  */
-
-struct external_exec 
-{
-  bfd_byte e_info[4];		    /* Magic number and stuff.  */
-  bfd_byte e_text[BYTES_IN_WORD];   /* Length of text section in bytes.  */
-  bfd_byte e_data[BYTES_IN_WORD];   /* Length of data section in bytes.  */
-  bfd_byte e_bss[BYTES_IN_WORD];    /* Length of bss area in bytes.  */
-  bfd_byte e_syms[BYTES_IN_WORD];   /* Length of symbol table in bytes.  */
-  bfd_byte e_entry[BYTES_IN_WORD];  /* Start address.  */
-  bfd_byte e_trsize[BYTES_IN_WORD]; /* Length of text relocation info.  */
-  bfd_byte e_drsize[BYTES_IN_WORD]; /* Length of data relocation info.  */
-};
-
-#define	EXEC_BYTES_SIZE	(4 + BYTES_IN_WORD * 7)
-
-/* Magic numbers for a.out files.  */
-
-#undef	ZMAGIC
-#define	ZMAGIC	0xAD0BE		/* Cute, eh?  */
-#undef	OMAGIC
-#undef	NMAGIC
-
-#define N_BADMAG(x)	  ((x)->a_info != ZMAGIC)
-
-/* By default, segment size is constant.  But some machines override this
-   to be a function of the a.out header (e.g. machine type).  */
-#ifndef	N_SEGSIZE
-#define	N_SEGSIZE(x)	SEGMENT_SIZE
-#endif
-#undef N_SEGSIZE   /* FIXMEXXXX */
-
-/* Segment information for the a.out.Adobe format is specified after the
-   file header.  It contains N segment descriptors, followed by one with
-   a type of zero.  
-
-   The actual text of the segments starts at N_TXTOFF in the file,
-   regardless of how many or how few segment headers there are.  */
-
-struct external_segdesc
-{
-  unsigned char e_type[1];
-  unsigned char e_size[3];
-  unsigned char e_virtbase[4];
-  unsigned char e_filebase[4];
-};
-
-struct internal_segdesc
-{
-  unsigned int	a_type:8;	/* Segment type N_TEXT, N_DATA, 0.  */
-  unsigned int 	a_size:24;	/* Segment size.  */
-  bfd_vma	a_virtbase;	/* Virtual address.  */
-  unsigned int	a_filebase;	/* Base address in object file.  */
-};
-
-#define N_TXTADDR(x) is_this_really_unused?
-
-/* This is documented to be at 1024, but appears to really be at 2048.
-   FIXME?!  */
-#define N_TXTOFF(x)	2048
-
-#define	N_TXTSIZE(x) ((x)->a_text)
-
-#define N_DATADDR(x) is_this_really_unused?
-
-#define N_BSSADDR(x) is_this_really_unused?
-
-/* Offsets of the various portions of the file after the text segment.  */
-
-#define N_DATOFF(x)	( N_TXTOFF(x) + N_TXTSIZE(x) )
-#define N_TRELOFF(x)	( N_DATOFF(x) + (x)->a_data )
-#define N_DRELOFF(x)	( N_TRELOFF(x) + (x)->a_trsize )
-#define N_SYMOFF(x)	( N_DRELOFF(x) + (x)->a_drsize )
-#define N_STROFF(x)	( N_SYMOFF(x) + (x)->a_syms )
-
-/* Symbols.  */
-struct external_nlist
-{
-  bfd_byte e_strx[BYTES_IN_WORD];	/* Index into string table of name.  */
-  bfd_byte e_type[1];			/* Type of symbol.  */
-  bfd_byte e_other[1];			/* Misc info (usually empty).  */
-  bfd_byte e_desc[2];			/* Description field.  */
-  bfd_byte e_value[BYTES_IN_WORD];	/* Value of symbol.  */
-};
-
-#define EXTERNAL_NLIST_SIZE (BYTES_IN_WORD+4+BYTES_IN_WORD)
-
-struct internal_nlist
-{
-  unsigned long n_strx;			/* Index into string table of name.  */
-  unsigned char n_type;			/* Type of symbol.  */
-  unsigned char n_other;		/* Misc info (usually empty).  */
-  unsigned short n_desc;		/* Description field.  */
-  bfd_vma n_value;			/* Value of symbol.  */
-};
-
-/* The n_type field is the symbol type, containing:  */
-
-#define N_UNDF	0	/* Undefined symbol.  */
-#define N_ABS 	2	/* Absolute symbol -- defined at particular addr.  */
-#define N_TEXT 	4	/* Text sym -- defined at offset in text seg.  */
-#define N_DATA 	6	/* Data sym -- defined at offset in data seg.  */
-#define N_BSS 	8	/* BSS  sym -- defined at offset in zero'd seg.  */
-#define	N_COMM	0x12	/* Common symbol (visible after shared lib dynlink).  */
-#define N_FN	0x1f	/* File name of .o file.  */
-#define	N_FN_SEQ 0x0C	/* N_FN from Sequent compilers (sigh).  */
-/* Note: N_EXT can only be usefully OR-ed with N_UNDF, N_ABS, N_TEXT,
-   N_DATA, or N_BSS.  When the low-order bit of other types is set,
-   (e.g. N_WARNING versus N_FN), they are two different types.  */
-#define N_EXT 	1	/* External symbol (as opposed to local-to-this-file).  */
-#define N_TYPE  0x1e
-#define N_STAB 	0xe0	/* If any of these bits are on, it's a debug symbol.  */
-
-#define N_INDR 0x0a
-
-/* The following symbols refer to set elements.
-   All the N_SET[ATDB] symbols with the same name form one set.
-   Space is allocated for the set in the text section, and each set
-   elements value is stored into one word of the space.
-   The first word of the space is the length of the set (number of elements).
-
-   The address of the set is made into an N_SETV symbol
-   whose name is the same as the name of the set.
-   This symbol acts like a N_DATA global symbol
-   in that it can satisfy undefined external references.  */
-
-/* These appear as input to LD, in a .o file.  */
-#define	N_SETA	0x14		/* Absolute set element symbol.  */
-#define	N_SETT	0x16		/* Text set element symbol.  */
-#define	N_SETD	0x18		/* Data set element symbol.  */
-#define	N_SETB	0x1A		/* Bss set element symbol.  */
-
-/* This is output from LD.  */
-#define N_SETV	0x1C		/* Pointer to set vector in data area.  */
-
-/* Warning symbol. The text gives a warning message, the next symbol
-   in the table will be undefined. When the symbol is referenced, the
-   message is printed.  */
-
-#define	N_WARNING 0x1e
-
-/* Relocations 
-
-  There	are two types of relocation flavours for a.out systems,
-  standard and extended. The standard form is used on systems where the
-  instruction has room for all the bits of an offset to the operand, whilst
-  the extended form is used when an address operand has to be split over n
-  instructions. Eg, on the 68k, each move instruction can reference
-  the target with a displacement of 16 or 32 bits. On the sparc, move
-  instructions use an offset of 14 bits, so the offset is stored in
-  the reloc field, and the data in the section is ignored.  */
-
-/* This structure describes a single relocation to be performed.
-   The text-relocation section of the file is a vector of these structures,
-   all of which apply to the text section.
-   Likewise, the data-relocation section applies to the data section.  */
-
-struct reloc_std_external
-{
-  bfd_byte r_address[BYTES_IN_WORD];	/* Offset of data to relocate.  */
-  bfd_byte r_index[3];			/* Symbol table index of symbol.  */
-  bfd_byte r_type[1];			/* Relocation type.  */
-};
-
-#define	RELOC_STD_BITS_PCREL_BIG	0x80
-#define	RELOC_STD_BITS_PCREL_LITTLE	0x01
-
-#define	RELOC_STD_BITS_LENGTH_BIG	0x60
-#define	RELOC_STD_BITS_LENGTH_SH_BIG	5	/* To shift to units place.  */
-#define	RELOC_STD_BITS_LENGTH_LITTLE	0x06
-#define	RELOC_STD_BITS_LENGTH_SH_LITTLE	1
-
-#define	RELOC_STD_BITS_EXTERN_BIG	0x10
-#define	RELOC_STD_BITS_EXTERN_LITTLE	0x08
-
-#define	RELOC_STD_BITS_BASEREL_BIG	0x08
-#define	RELOC_STD_BITS_BASEREL_LITTLE	0x08
-
-#define	RELOC_STD_BITS_JMPTABLE_BIG	0x04
-#define	RELOC_STD_BITS_JMPTABLE_LITTLE	0x04
-
-#define	RELOC_STD_BITS_RELATIVE_BIG	0x02
-#define	RELOC_STD_BITS_RELATIVE_LITTLE	0x02
-
-#define	RELOC_STD_SIZE	(BYTES_IN_WORD + 3 + 1)		/* Bytes per relocation entry.  */
-
-struct reloc_std_internal
-{
-  bfd_vma r_address;		/* Address (within segment) to be relocated.  */
-  /* The meaning of r_symbolnum depends on r_extern.  */
-  unsigned int r_symbolnum:24;
-  /* Nonzero means value is a pc-relative offset
-     and it should be relocated for changes in its own address
-     as well as for changes in the symbol or section specified.  */
-  unsigned int r_pcrel:1;
-  /* Length (as exponent of 2) of the field to be relocated.
-     Thus, a value of 2 indicates 1<<2 bytes.  */
-  unsigned int r_length:2;
-  /* 1 => relocate with value of symbol.
-     r_symbolnum is the index of the symbol
-     in files the symbol table.
-     0 => relocate with the address of a segment.
-     r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS
-     (the N_EXT bit may be set also, but signifies nothing).  */
-  unsigned int r_extern:1;
-  /* The next three bits are for SunOS shared libraries, and seem to
-     be undocumented.  */
-  unsigned int r_baserel:1;	/* Linkage table relative.  */
-  unsigned int r_jmptable:1;	/* pc-relative to jump table.  */
-  unsigned int r_relative:1;	/* "relative relocation".  */
-  /* unused */
-  unsigned int r_pad:1;		/* Padding -- set to zero.  */
-};
-
-
-/* EXTENDED RELOCS  */
-
-struct reloc_ext_external
-{
-  bfd_byte r_address[BYTES_IN_WORD];	/* Offset of data to relocate.  */
-  bfd_byte r_index[3];			/* Symbol table index of symbol.  */
-  bfd_byte r_type[1];			/* Relocation type.  */
-  bfd_byte r_addend[BYTES_IN_WORD];	/* Datum addend.  */
-};
-
-#define	RELOC_EXT_BITS_EXTERN_BIG	0x80
-#define	RELOC_EXT_BITS_EXTERN_LITTLE	0x01
-
-#define	RELOC_EXT_BITS_TYPE_BIG		0x1F
-#define	RELOC_EXT_BITS_TYPE_SH_BIG	0
-#define	RELOC_EXT_BITS_TYPE_LITTLE	0xF8
-#define	RELOC_EXT_BITS_TYPE_SH_LITTLE	3
-
-/* Bytes per relocation entry */
-#define	RELOC_EXT_SIZE	(BYTES_IN_WORD + 3 + 1 + BYTES_IN_WORD)
-
-enum reloc_type
-{
-  /* Simple relocations.  */
-  RELOC_8,			/* data[0:7] = addend + sv 		*/
-  RELOC_16,			/* data[0:15] = addend + sv 		*/
-  RELOC_32,			/* data[0:31] = addend + sv 		*/
-  /* PC-rel displacement.  */
-  RELOC_DISP8,			/* data[0:7] = addend - pc + sv 	*/
-  RELOC_DISP16,			/* data[0:15] = addend - pc + sv 	*/
-  RELOC_DISP32,			/* data[0:31] = addend - pc + sv 	*/
-  /* Special.  */
-  RELOC_WDISP30,		/* data[0:29] = (addend + sv - pc)>>2 	*/
-  RELOC_WDISP22,		/* data[0:21] = (addend + sv - pc)>>2 	*/
-  RELOC_HI22,			/* data[0:21] = (addend + sv)>>10 	*/
-  RELOC_22,			/* data[0:21] = (addend + sv) 		*/
-  RELOC_13,			/* data[0:12] = (addend + sv)		*/
-  RELOC_LO10,			/* data[0:9] = (addend + sv)		*/
-  RELOC_SFA_BASE,		
-  RELOC_SFA_OFF13,
-  /* P.I.C. (base-relative).  */
-  RELOC_BASE10,  		/* Not sure - maybe we can do this the  */
-  RELOC_BASE13,			/* right way now.  */
-  RELOC_BASE22,
-  /* For some sort of pc-rel P.I.C. (?)  */
-  RELOC_PC10,
-  RELOC_PC22,
-  /* P.I.C. jump table.  */
-  RELOC_JMP_TBL,
-  /* Reputedly for shared libraries somehow.  */
-  RELOC_SEGOFF16,
-  RELOC_GLOB_DAT,
-  RELOC_JMP_SLOT,
-  RELOC_RELATIVE,
-
-  RELOC_11,	
-  RELOC_WDISP2_14,
-  RELOC_WDISP19,
-  RELOC_HHI22,			/* data[0:21] = (addend + sv) >> 42     */
-  RELOC_HLO10,			/* data[0:9] = (addend + sv) >> 32      */
-  
-  /* 29K relocation types */
-  RELOC_JUMPTARG,
-  RELOC_CONST,
-  RELOC_CONSTH,
-  
-  NO_RELOC
-};
-
-struct reloc_internal
-{
-  bfd_vma r_address;		/* Offset of data to relocate.  */
-  long	r_index;		/* Symbol table index of symbol.  */
-  enum reloc_type r_type;	/* Relocation type.  */
-  bfd_vma r_addend;		/* Datum addend.  */
-};
-
-#endif	/* __A_OUT_ADOBE_H__ */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/aout64.h ./include/aout/aout64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/aout64.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/aout/aout64.h	2018-07-10 02:06:14.000000000 +0000
@@ -476,25 +476,7 @@ enum reloc_type
   RELOC_11,	
   RELOC_WDISP2_14,
   RELOC_WDISP19,
-  RELOC_HHI22,			/* data[0:21] = (addend + sv) >> 42     */
-  RELOC_HLO10,			/* data[0:9] = (addend + sv) >> 32      */
-  
-  /* 29K relocation types.  */
-  RELOC_JUMPTARG,
-  RELOC_CONST,
-  RELOC_CONSTH,
-  
-  /* All the new ones I can think of, for sparc v9.  */
-  RELOC_64,			/* data[0:63] = addend + sv 		*/
-  RELOC_DISP64,			/* data[0:63] = addend - pc + sv 	*/
-  RELOC_WDISP21,		/* data[0:20] = (addend + sv - pc)>>2 	*/
-  RELOC_DISP21,			/* data[0:20] = addend - pc + sv        */
-  RELOC_DISP14,			/* data[0:13] = addend - pc + sv 	*/
-  /* Q .
-     What are the other ones,
-     Since this is a clean slate, can we throw away the ones we dont
-     understand ? Should we sort the values ? What about using a
-     microcode format like the 68k ?  */
+
   NO_RELOC
   };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/ar.h ./include/aout/ar.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/ar.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/aout/ar.h	2018-07-10 02:06:14.000000000 +0000
@@ -28,7 +28,6 @@
    compatible with existing BSDish archives. */
 
 #define ARMAG  "!<arch>\012"	/* For COFF and a.out archives.  */
-#define ARMAGB "!<bout>\012"	/* For b.out archives.  */
 #define ARMAGT "!<thin>\012"	/* For thin archives.  */
 #define SARMAG 8
 #define ARFMAG "`\012"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/dynix3.h ./include/aout/dynix3.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/dynix3.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/aout/dynix3.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,87 +0,0 @@
-/* a.out specifics for Sequent Symmetry running Dynix 3.x
-
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#ifndef A_OUT_DYNIX3_H
-#define A_OUT_DYNIX3_H
-
-#define external_exec dynix_external_exec
-
-/* struct exec for Dynix 3
- 
-   a_gdtbl and a_bootstrap are only for standalone binaries.
-   Shared data fields are not supported by the kernel as of Dynix 3.1,
-   but are supported by Dynix compiler programs.  */
-struct dynix_external_exec
-  {
-    unsigned char e_info[4];
-    unsigned char e_text[4];
-    unsigned char e_data[4];
-    unsigned char e_bss[4];
-    unsigned char e_syms[4];
-    unsigned char e_entry[4];
-    unsigned char e_trsize[4];
-    unsigned char e_drsize[4];
-    unsigned char e_g_code[8];
-    unsigned char e_g_data[8];
-    unsigned char e_g_desc[8];
-    unsigned char e_shdata[4];
-    unsigned char e_shbss[4];
-    unsigned char e_shdrsize[4];
-    unsigned char e_bootstrap[44];
-    unsigned char e_reserved[12];
-    unsigned char e_version[4];
-  };
-
-#define	EXEC_BYTES_SIZE	(128)
-
-/* All executables under Dynix are demand paged with read-only text,
-   Thus no NMAGIC.
-  
-   ZMAGIC has a page of 0s at virtual 0,
-   XMAGIC has an invalid page at virtual 0.  */
-#define OMAGIC	0x12eb		/* .o */
-#define ZMAGIC	0x22eb		/* zero @ 0, demand load */
-#define XMAGIC	0x32eb		/* invalid @ 0, demand load */
-#define SMAGIC	0x42eb		/* standalone, not supported here */
-
-#define N_BADMAG(x) ((OMAGIC != N_MAGIC(x)) && \
-		     (ZMAGIC != N_MAGIC(x)) && \
-		     (XMAGIC != N_MAGIC(x)) && \
-		     (SMAGIC != N_MAGIC(x)))
-
-#define N_ADDRADJ(x) ((ZMAGIC == N_MAGIC(x) || XMAGIC == N_MAGIC(x)) ? 0x1000 : 0)
-
-#define N_TXTOFF(x) (EXEC_BYTES_SIZE)
-#define N_DATOFF(x) (N_TXTOFF(x) + N_TXTSIZE(x))
-#define N_SHDATOFF(x) (N_DATOFF(x) + (x)->a_data)
-#define N_TRELOFF(x) (N_SHDATOFF(x) + (x)->a_shdata)
-#define N_DRELOFF(x) (N_TRELOFF(x) + (x)->a_trsize)
-#define N_SHDRELOFF(x) (N_DRELOFF(x) + (x)->a_drsize)
-#define N_SYMOFF(x) (N_SHDRELOFF(x) + (x)->a_shdrsize)
-#define N_STROFF(x) (N_SYMOFF(x) + (x)->a_syms)
-
-#define N_TXTADDR(x) \
-	(((OMAGIC == N_MAGIC(x)) || (SMAGIC == N_MAGIC(x))) ? 0 \
-	 : TEXT_START_ADDR + EXEC_BYTES_SIZE)
-
-#define N_TXTSIZE(x) \
-	(((OMAGIC == N_MAGIC(x)) || (SMAGIC == N_MAGIC(x))) ? ((x)->a_text) \
-	 : ((x)->a_text - N_ADDRADJ(x) - EXEC_BYTES_SIZE))
-
-#endif /* A_OUT_DYNIX3_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/host.h ./include/aout/host.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/host.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/aout/host.h	2018-07-10 02:06:14.000000000 +0000
@@ -22,22 +22,13 @@
    It is up to you to define SEGMENT_SIZE on machines not listed here.  */
 #ifndef SEGMENT_SIZE
 
-#if defined(hp300) || defined(pyr)
+#if defined(pyr)
 #define SEGMENT_SIZE page_size
 #endif
 
-#ifdef	sony
-#define	SEGMENT_SIZE	0x1000
-#endif	/* Sony.  */
-
 #ifdef is68k
 #define SEGMENT_SIZE 0x20000
 #endif
 
-#if defined(m68k) && defined(PORTAR)
-#define TARGET_PAGE_SIZE 0x400
-#define SEGMENT_SIZE TARGET_PAGE_SIZE
-#endif
-
 #endif /*!defined(SEGMENT_SIZE)*/
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/hp300hpux.h ./include/aout/hp300hpux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/hp300hpux.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/aout/hp300hpux.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,131 +0,0 @@
-/* Special version of <a.out.h> for use under HP-UX.
-   Copyright (C) 1988-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-struct hp300hpux_exec_bytes
-{
-  unsigned char e_info[4];   /* a_machtype/a_magic */
-  unsigned char e_spare1[4];
-  unsigned char e_spare2[4];
-  unsigned char e_text[4];   /* length of text, in bytes */
-  unsigned char e_data[4];   /* length of data, in bytes */
-  unsigned char e_bss[4];    /* length of uninitialized data area , in bytes */
-  unsigned char e_trsize[4]; /* length of relocation info for text, in bytes*/
-  unsigned char e_drsize[4]; /* length of relocation info for data, in bytes*/
-  unsigned char e_passize[4];/* HP = pascal interface size */
-  unsigned char e_syms[4];   /* HP = symbol table size */
-  unsigned char e_spare5[4]; /* HP = debug name table size */
-  unsigned char e_entry[4];  /* start address */
-  unsigned char e_spare6[4]; /* HP = source line table size */
-  unsigned char e_supsize[4];/* HP = value table size */
-  unsigned char e_drelocs[4];
-  unsigned char e_extension[4]; /* file offset of extension */
-};
-#define	EXEC_BYTES_SIZE	64
-
-struct hp300hpux_nlist_bytes
-{
-  unsigned char e_value[4];
-  unsigned char e_type[1];
-  unsigned char e_length[1];	/* Length of ascii symbol name.  */
-  unsigned char e_almod[2];	/* Alignment mod.  */
-  unsigned char e_shlib[2];	/* Info about dynamic linking.  */
-};
-#define EXTERNAL_NLIST_SIZE 10
-
-struct hp300hpux_reloc
-{
-  unsigned char r_address[4];/* offset of data to relocate */
-  unsigned char r_index[2];  /* symbol table index of symbol         */
-  unsigned char r_type[1];   /* relocation type                      */
-  unsigned char r_length[1]; /* length of item to reloc              */
-};
-
-struct hp300hpux_header_extension
-{
-  unsigned char e_syms[4];
-  unsigned char unique_headers[12*4];
-  unsigned char e_header[2];   /* Type of header.  */
-  unsigned char e_version[2];  /* Version.  */
-  unsigned char e_size[4];     /* Bytes following.  */
-  unsigned char e_extension[4];/* File offset of next extension.  */
-};
-#define EXTERNAL_EXTENSION_HEADER_SIZE (16*4)
-
-/* HPUX separates object files (0x106) and impure executables (0x107)
-   but the bfd code does not distinguish between them. Since we want to
-   read hpux .o files, we add an special define and use it below in
-   offset and address calculations.  */
-
-#define HPUX_DOT_O_MAGIC 0x106
-#define OMAGIC 0x107       /* Object file or impure executable.  */
-#define NMAGIC 0x108       /* Code indicating pure executable.   */
-#define ZMAGIC 0x10B       /* Demand-paged executable.           */
-
-#define N_HEADER_IN_TEXT(x) 0
-
-#if 0 /* libaout.h only uses the lower 8 bits.  */
-#define HP98x6_ID 0x20A
-#define HP9000S200_ID 0x20C
-#endif
-#define HP98x6_ID 0x0A
-#define HP9000S200_ID 0x0C
-
-#define N_BADMAG(x) ((_N_BADMAG (x)) || (_N_BADMACH (x)))
-
-#define N_DATADDR(x) \
-  ((N_MAGIC (x) == OMAGIC || N_MAGIC (x) == HPUX_DOT_O_MAGIC)		\
-   ? (N_TXTADDR (x) + N_TXTSIZE (x))					\
-   : (N_SEGSIZE (x) + ((N_TXTADDR (x) + N_TXTSIZE (x) - 1)		\
-		       & ~ (bfd_vma) (N_SEGSIZE (x) - 1))))
-
-#define _N_BADMACH(x) \
-  (((N_MACHTYPE (x)) != HP9000S200_ID) && ((N_MACHTYPE (x)) != HP98x6_ID))
-
-#define _N_BADMAG(x)	  (N_MAGIC(x) != HPUX_DOT_O_MAGIC \
-                        && N_MAGIC(x) != OMAGIC		\
-			&& N_MAGIC(x) != NMAGIC		\
-  			&& N_MAGIC(x) != ZMAGIC )
-
-#undef _N_HDROFF
-#define _N_HDROFF(x) (SEGMENT_SIZE - (sizeof (struct exec)))
-
-#undef N_DATOFF
-#undef N_PASOFF
-#undef N_SYMOFF
-#undef N_SUPOFF
-#undef N_TRELOFF
-#undef N_DRELOFF
-#undef N_STROFF
-
-#define N_DATOFF(x)	( N_TXTOFF(x) + N_TXTSIZE(x) )
-#define N_PASOFF(x)     ( N_DATOFF(x) + (x)->a_data)
-#define N_SYMOFF(x)	( N_PASOFF(x)   /* + (x)->a_passize*/ )
-#define N_SUPOFF(x)     ( N_SYMOFF(x) + (x)->a_syms )
-#define N_TRELOFF(x)	( N_SUPOFF(x)    /* + (x)->a_supsize*/ )
-#define N_DRELOFF(x)	( N_TRELOFF(x) + (x)->a_trsize )
-#define N_EXTHOFF(x)    ( N_DRELOFF(x)   /*  + (x)->a_drsize */)
-#define N_STROFF(x)	( 0 /* no string table */ )
-
-/* Use these when the file has gnu symbol tables.  */
-#define N_GNU_TRELOFF(x) (N_DATOFF(x) + (x)->a_data)
-#define N_GNU_DRELOFF(x) (N_GNU_TRELOFF(x) + (x)->a_trsize)
-#define N_GNU_SYMOFF(x)  (N_GNU_DRELOFF(x) + (x)->a_drsize)
-
-#define TARGET_PAGE_SIZE 0x1000
-#define SEGMENT_SIZE 0x1000
-#define TEXT_START_ADDR 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.1.0.20180703/include/aout/reloc.h ./include/aout/reloc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/aout/reloc.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/aout/reloc.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,67 +0,0 @@
-/* reloc.h -- Header file for relocation information.
-   Copyright (C) 1989-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Relocation types for a.out files using reloc_info_extended
-   (SPARC and AMD 29000). */
-
-#ifndef _RELOC_H_READ_
-#define _RELOC_H_READ_ 1
-
-enum reloc_type
-  {
-    RELOC_8,        RELOC_16,        RELOC_32, /* simple relocations */
-    RELOC_DISP8,    RELOC_DISP16,    RELOC_DISP32, /* pc-rel displacement */
-    RELOC_WDISP30,  RELOC_WDISP22,
-    RELOC_HI22,     RELOC_22,
-    RELOC_13,       RELOC_LO10,
-    RELOC_SFA_BASE, RELOC_SFA_OFF13,
-    RELOC_BASE10,   RELOC_BASE13,    RELOC_BASE22, /* P.I.C. (base-relative) */
-    RELOC_PC10,     RELOC_PC22,	/* for some sort of pc-rel P.I.C. (?) */
-    RELOC_JMP_TBL,		/* P.I.C. jump table */
-    RELOC_SEGOFF16,		/* reputedly for shared libraries somehow */
-    RELOC_GLOB_DAT,  RELOC_JMP_SLOT, RELOC_RELATIVE,
-    RELOC_11,
-    RELOC_WDISP2_14,
-    RELOC_WDISP19,
-    RELOC_HHI22,
-    RELOC_HLO10,
-    
-    /* 29K relocation types */
-    RELOC_JUMPTARG, RELOC_CONST,     RELOC_CONSTH,
-    
-    RELOC_WDISP14, RELOC_WDISP21,
-    
-    NO_RELOC
-    };
-
-#define	RELOC_TYPE_NAMES \
-"8",		"16",		"32",		"DISP8",	\
-"DISP16",	"DISP32",	"WDISP30",	"WDISP22",	\
-"HI22",		"22",		"13",		"LO10",		\
-"SFA_BASE",	"SFAOFF13",	"BASE10",	"BASE13",	\
-"BASE22",	"PC10",		"PC22",		"JMP_TBL",	\
-"SEGOFF16",	"GLOB_DAT",	"JMP_SLOT",	"RELATIVE",	\
-"11",		"WDISP2_14",	"WDISP19", 	"HHI22",	\
-"HLO10",							\
-"JUMPTARG",	"CONST",	"CONSTH",	"WDISP14",	\
-"WDISP21",	\
-"NO_RELOC"
-
-#endif /* _RELOC_H_READ_ */
-
-/* end of reloc.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/bfdlink.h ./include/bfdlink.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/bfdlink.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/bfdlink.h	2018-07-10 02:06:14.000000000 +0000
@@ -386,6 +386,9 @@ struct bfd_link_info
   /* TRUE if PT_GNU_RELRO segment should be created.  */
   unsigned int relro: 1;
 
+  /* TRUE if separate code segment should be created.  */
+  unsigned int separate_code: 1;
+
   /* Nonzero if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
      should be created.  1 for DWARF2 tables, 2 for compact tables.  */
   unsigned int eh_frame_hdr_type: 2;
@@ -436,6 +439,9 @@ struct bfd_link_info
   /* TRUE if ok to have multiple definition.  */
   unsigned int allow_multiple_definition: 1;
 
+  /* TRUE if ok to have prohibit multiple definition of absolute symbols.  */
+  unsigned int prohibit_multiple_definition_absolute: 1;
+
   /* TRUE if ok to have version with no definition.  */
   unsigned int allow_undefined_version: 1;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/ChangeLog ./include/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/ChangeLog	2018-07-03 02:06:29.000000000 +0000
+++ ./include/ChangeLog	2018-07-10 02:06:14.000000000 +0000
@@ -1,3 +1,362 @@
+2018-07-02  Maciej W. Rozycki  <macro@mips.com>
+
+	PR tdep/8282
+	* dis-asm.h (disasm_option_arg_t): New typedef.
+	(disasm_options_and_args_t): Likewise.
+	(disasm_options_t): Add `arg' member, document members.
+	(disassembler_options_mips): New prototype.
+	(disassembler_options_arm, disassembler_options_powerpc)
+	(disassembler_options_s390): Update prototypes.
+
+2018-06-29  Tamar Christina  <tamar.christina@arm.com>
+
+	PR binutils/23192
+	*opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_Em16.
+
+2018-06-26  Alan Modra  <amodra@gmail.com>
+
+	* elf/internal.h (ELF_SECTION_IN_SEGMENT): Revert last change.
+
+2018-06-24  Nick Clifton  <nickc@redhat.com>
+
+	2.31 branch created.
+
+2018-06-21  Alan Hayward  <alan.hayward@arm.com>
+
+	* elf/internal.h (ELF_SECTION_IN_SEGMENT): Donâ€™t check addresses
+	for non SHT_NOBITS.
+
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	Sync with GCC
+
+	2018-05-24  Tom Rix  <trix@juniper.net>
+
+	* dwarf2.def (DW_FORM_strx*, DW_FORM_addrx*): New.
+
+	2017-11-20  Kito Cheng  <kito.cheng@gmail.com>
+
+	* longlong.h [__riscv] (__umulsidi3): Define.
+	[__riscv] (umul_ppmm): Likewise.
+	[__riscv] (__muluw3): Likewise.
+
+2018-06-14  Faraz Shahbazker  <Faraz.Shahbazker@mips.com>
+
+	* elf/mips.h (AFL_ASE_GINV, AFL_ASE_RESERVED1): New macros.
+	(AFL_ASE_MASK): Update to include AFL_ASE_GINV.
+	* opcode/mips.h: Document "+\" operand format.
+	(ASE_GINV): New macro.
+
+2018-06-13  Scott Egerton  <scott.egerton@imgtec.com>
+	    Faraz Shahbazker  <Faraz.Shahbazker@mips.com>
+
+	* elf/mips.h (AFL_ASE_CRC): New macro.
+	(AFL_ASE_MASK): Update to include AFL_ASE_CRC.
+	* opcode/mips.h (ASE_CRC): New macro.
+	* opcode/mips.h (ASE_CRC64): Likewise.
+
+2018-06-04  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* elf/xtensa.h (xtensa_read_table_entries)
+	(xtensa_compute_fill_extra_space): New declarations.
+
+2018-06-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* diagnostics.h (DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION): Always
+	define for GCC.
+
+2018-06-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* diagnostics.h (DIAGNOSTIC_STRINGIFY_1): New.
+	(DIAGNOSTIC_STRINGIFY): Likewise.
+	(DIAGNOSTIC_IGNORE): Replace STRINGIFY with DIAGNOSTIC_STRINGIFY.
+	(DIAGNOSTIC_IGNORE_SELF_MOVE): Define empty if not defined.
+	(DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER): Likewise.
+	(DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): Likewise.
+	(DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Likewise.
+	(DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION): New.
+
+2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* diagnostics.h: Moved from ../gdb/common/diagnostics.h.
+
+2018-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* splay-tree.h (splay_tree_compare_strings,
+	splay_tree_delete_pointers): Declare new utility functions.
+
+2018-05-21  Peter Bergner  <bergner@vnet.ibm.com.com>
+
+	* opcode/ppc.h (PPC_OPERAND_FAKE): Delete macro.
+
+2018-05-18  Kito Cheng  <kito.cheng@gmail.com>
+
+	* elf/riscv.h (EF_RISCV_RVE): New define.
+
+2018-05-18  John Darrington  <john@darrington.wattle.id.au>
+
+	* elf/s12z.h: New header.
+
+2018-05-15  Tamar Christina  <tamar.christina@arm.com>
+
+	PR binutils/21446
+	* opcode/aarch64.h (F_SYS_READ, F_SYS_WRITE): New.
+
+2018-05-15  Tamar Christina  <tamar.christina@arm.com>
+
+	PR binutils/21446
+	* opcode/aarch64.h (aarch64_operand_error): Add non_fatal.
+	(aarch64_print_operand): Support notes.
+
+2018-05-15  Tamar Christina  <tamar.christina@arm.com>
+
+	PR binutils/21446
+	* opcode/aarch64.h (aarch64_opnd_info): Change sysreg to struct.
+	(aarch64_decode_insn): Accept error struct.
+
+2018-05-15  Francois H. Theron  <francois.theron@netronome.com>
+
+	* opcode/nfp.h: Use uint64_t instead of bfd_vma.
+
+2018-05-10  John Darrington  <john@darrington.wattle.id.au>
+
+	* elf/common.h (EM_S12Z): New macro.
+
+2018-05-09  Sebastian Rasmussen  <sebras@gmail.com>
+
+	* mach-o/unwind.h (MACH_O_UNWIND_X86_64_RBP_FRAME_REGISTERS):
+	Rename from MACH_O_UNWIND_X86_64_RBP_FRAME_REGSITERS.
+	(MACH_O_UNWIND_X86_EBP_FRAME_REGISTERS): Rename from
+	MACH_O_UNWIND_X86_EBP_FRAME_REGSITERS.
+
+2018-05-08  Jim Wilson  <jimw@sifive.com>
+
+	* opcode/riscv-opc.h (MATCH_C_SRLI64, MASK_C_SRLI64): New.
+	(MATCH_C_SRAI64, MASK_C_SRAI64): New.
+	(MATCH_C_SLLI64, MASK_C_SLLI64): New.
+
+2018-05-07  Peter Bergner  <bergner@vnet.ibm.com.com>
+
+	* opcode/ppc.h (powerpc_num_opcodes): Change type to unsigned.
+	(vle_num_opcodes): Likewise.
+	(spe2_num_opcodes): Likewise.
+
+2018-05-04  Alan Modra  <amodra@gmail.com>
+
+	* ansidecl.h: Import from gcc.
+	* coff/internal.h (struct internal_scnhdr): Add ATTRIBUTE_NONSTRING
+	to s_name.
+	(struct internal_syment): Add ATTRIBUTE_NONSTRING to _n_name.
+
+2018-04-30  Francois H. Theron <francois.theron@netronome.com>
+
+	* dis-asm.h: Added print_nfp_disassembler_options prototype.
+	* elf/common.h: Added EM_NFP, officially assigned. See Google Group
+	Generic System V Application Binary Interface.
+	* elf/nfp.h: New, for NFP support.
+	* opcode/nfp.h: New, for NFP support.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* elf/arm.h: Add R_ARM_TLS_GD32_FDPIC, R_ARM_TLS_LDM32_FDPIC,
+	R_ARM_TLS_IE32_FDPIC.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* elf/arm.h (R_ARM_GOTFUNCDESC, R_ARM_GOTOFFFUNCDESC)
+	(R_ARM_FUNCDESC)
+	(R_ARM_FUNCDESC_VALUE): Define new relocations.
+
+2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
+	MickaÃ«l GuÃªnÃ©  <mickael.guene@st.com>
+
+	* elf/arm.h (EF_ARM_FDPIC): New.
+
+2018-04-18  Alan Modra  <amodra@gmail.com>
+
+	* coff/mipspe.h: Delete.
+
+2018-04-18  Alan Modra  <amodra@gmail.com>
+
+	* aout/dynix3.h: Delete.
+
+2018-04-17 Andrew Sadek  <andrew.sadek.se@gmail.com>
+
+	Microblaze Target: PIC data text relative
+
+	* bfdlink.h (Add flag): Add new flag @ 'bfd_link_info' struct.
+	* elf/microblaze.h (Add 3 new relocations):
+	R_MICROBLAZE_TEXTPCREL_64, R_MICROBLAZE_TEXTREL_64
+	and R_MICROBLAZE_TEXTREL_32_LO for relax function.
+
+2018-04-17  Alan Modra  <amodra@gmail.com>
+
+	* elf/i370.h: Revert removal.
+	* elf/i860.h: Likewise.
+	* elf/i960.h: Likewise.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* coff/sparc.h: Delete.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* aout/host.h: Remove m68k-aout and m68k-coff support.
+	* aout/hp300hpux.h: Delete.
+	* coff/apollo.h: Delete.
+	* coff/aux-coff.h: Delete.
+	* coff/m68k.h: Delete.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* dis-asm.h: Remove sh5 and sh64 support.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* coff/internal.h: Remove w65 support.
+	* coff/w65.h: Delete.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* coff/we32k.h: Delete.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* coff/internal.h: Remove m88k support.
+	* coff/m88k.h: Delete.
+	* opcode/m88k.h: Delete.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* elf/i370.h: Delete.
+	* opcode/i370.h: Delete.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* coff/h8500.h: Delete.
+	* coff/internal.h: Remove h8500 support.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* coff/h8300.h: Delete.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* ieee.h: Delete.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* aout/host.h: Remove newsos3 support.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* nlm/ChangeLog-9315: Delete.
+	* nlm/alpha-ext.h: Delete.
+	* nlm/common.h: Delete.
+	* nlm/external.h: Delete.
+	* nlm/i386-ext.h: Delete.
+	* nlm/internal.h: Delete.
+	* nlm/ppc-ext.h: Delete.
+	* nlm/sparc32-ext.h: Delete.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* opcode/tahoe.h: Delete.
+
+2018-04-11  Alan Modra  <amodra@gmail.com>
+
+	* aout/adobe.h: Delete.
+	* aout/reloc.h: Delete.
+	* coff/i860.h: Delete.
+	* coff/i960.h: Delete.
+	* elf/i860.h: Delete.
+	* elf/i960.h: Delete.
+	* opcode/i860.h: Delete.
+	* opcode/i960.h: Delete.
+	* aout/aout64.h (enum reloc_type): Trim off 29k and other unused values.
+	* aout/ar.h (ARMAGB): Remove.
+	* coff/internal.h (struct internal_aouthdr, struct internal_scnhdr,
+	union internal_auxent): Remove i960 support.
+
+2018-04-09  Alan Modra  <amodra@gmail.com>
+
+	* elf/ppc.h (R_PPC_PLTSEQ, R_PPC_PLTCALL): Define.
+	* elf/ppc64.h (R_PPC64_PLTSEQ, R_PPC64_PLTCALL): Define.
+
+2018-03-28  Renlin Li  <renlin.li@arm.com>
+
+	PR ld/22970
+	* elf/aarch64.h: Add relocation number for
+	R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12,
+	R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12_NC,
+	R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12,
+	R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12_NC,
+	R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12,
+	R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12_NC,
+	R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12,
+	R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12_NC.
+
+2018-03-28  Nick Clifton  <nickc@redhat.com>
+
+	PR 22988
+	* opcode/aarch64.h (enum aarch64_opnd): Add
+	AARCH64_OPND_SVE_ADDR_R.
+
+2018-03-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf/common.h (DF_1_KMOD): New.
+	(DF_1_WEAKFILTER): Likewise.
+	(DF_1_NOCOMMON): Likewise.
+
+2018-03-14  Kito Cheng  <kito.cheng@gmail.com>
+
+	* opcode/riscv.h (OP_MASK_FUNCT3): New.
+	(OP_SH_FUNCT3): Likewise.
+	(OP_MASK_FUNCT7): Likewise.
+	(OP_SH_FUNCT7): Likewise.
+	(OP_MASK_OP2): Likewise.
+	(OP_SH_OP2): Likewise.
+	(OP_MASK_CFUNCT4): Likewise.
+	(OP_SH_CFUNCT4): Likewise.
+	(OP_MASK_CFUNCT3): Likewise.
+	(OP_SH_CFUNCT3): Likewise.
+	(riscv_insn_types): Likewise.
+
+2018-03-13  Nick Clifton  <nickc@redhat.com>
+
+	PR 22113
+	* coff/pe.h (struct pex64_unwind_info): Add a rawUnwindCodesEnd
+	field.
+
+2018-03-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* opcode/i386 (OLDGCC_COMPAT): Removed.
+
+2018-02-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* opcode/arm.h (ARM_FEATURE_COPY): Remove macro definition.
+
+2018-02-20  Maciej W. Rozycki  <macro@mips.com>
+
+	* opcode/mips.h: Remove `M' operand code.
+
+2018-02-12  Zebediah Figura  <z.figura12@gmail.com>
+
+	* coff/msdos.h: New header.
+	* coff/pe.h: Move common defines to msdos.h.
+	* coff/powerpc.h: Likewise.
+
+2018-01-13  Nick Clifton  <nickc@redhat.com>
+
+	2.30 branch created.
+
+2018-01-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/22393
+	* bfdlink.h (bfd_link_info): Add separate_code.
+
 2018-01-04  Jim Wilson  <jimw@sifive.com>
 
 	* opcode/riscv-opc.h (CSR_SBADADDR): Rename to CSR_STVAL.  Rename
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/apollo.h ./include/coff/apollo.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/apollo.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/apollo.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,125 +0,0 @@
-/* coff information for Apollo M68K
-
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define DO_NOT_DEFINE_AOUTHDR
-#define L_LNNO_SIZE 2
-#include "coff/external.h"
-
-/* Motorola 68000/68008/68010/68020 */
-#define	MC68MAGIC	0520
-#define MC68KWRMAGIC	0520	/* writeable text segments */
-#define	MC68TVMAGIC	0521
-#define MC68KROMAGIC	0521	/* readonly shareable text segments */
-#define MC68KPGMAGIC	0522	/* demand paged text segments */
-#define	M68MAGIC	0210
-#define	M68TVMAGIC	0211
-
-/* Apollo 68000-based machines have a different magic number. This comes
- * from /usr/include/apollo/filehdr.h
- */
-#define APOLLOM68KMAGIC 0627
-
-#define OMAGIC M68MAGIC
-#define M68KBADMAG(x) (((x).f_magic!=MC68MAGIC) && ((x).f_magic!=MC68KWRMAGIC) && ((x).f_magic!=MC68TVMAGIC) && \
-  ((x).f_magic!=MC68KROMAGIC) && ((x).f_magic!=MC68KPGMAGIC) && ((x).f_magic!=M68MAGIC) && ((x).f_magic!=M68TVMAGIC)  && \
-  ((x).f_magic!=APOLLOM68KMAGIC) )
-
-/********************** AOUT "OPTIONAL HEADER" **********************/
-
-typedef struct 
-{
-  char 	magic[2];		/* type of file				*/
-  char	vstamp[2];		/* version stamp			*/
-  char	tsize[4];		/* text size in bytes, padded to FW bdry*/
-  char	dsize[4];		/* initialized data "  "		*/
-  char	bsize[4];		/* uninitialized data "   "		*/
-  char	entry[4];		/* entry pt.				*/
-  char 	text_start[4];		/* base of text used for this file */
-  char 	data_start[4];		/* base of data used for this file */
-  char	o_sri[4];		/* Apollo specific - .sri data pointer */
-  char  o_inlib[4];		/* Apollo specific - .inlib data pointer */
-  char	vid[8];			/* Apollo specific - 64 bit version ID */
-}
-AOUTHDR;
-
-#define	APOLLO_COFF_VERSION_NUMBER 1 /* the value of the aouthdr magic */
-#define	AOUTHDRSZ 44
-#define AOUTSZ 44
-
-/* Apollo allowa for larger section names by allowing
-   them to be in the string table.  */
-
-/* If s_zeores is all zeroes, s_offset gives the real
-   location of the name in the string table.  */
-
-#define	s_zeroes section_name.s_name
-#define	s_offset (section_name.s_name+4)
-
-/* More names of "special" sections.  */
-#define _TV	".tv"
-#define _INIT	".init"
-#define _FINI	".fini"
-#define	_LINES	".lines"
-#define	_BLOCKS	".blocks"
-#define _SRI    ".sri"                  /* Static Resource Information (systype,
- et al.) */
-#define _MIR    ".mir"                  /* Module Information Records  */
-#define _APTV   ".aptv"                 /* Apollo-style transfer vectors. */
-#define _INLIB  ".inlib"                /* Shared Library information */
-#define _RWDI   ".rwdi"         /* Read/write data initialization directives for
- compressed sections */
-#define _UNWIND ".unwind"               /* Stack unwind information */
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_type[2];
-#ifdef M68K_COFF_OFFSET
-  char r_offset[4];
-#endif
-
-};
-
-#define RELOC struct external_reloc
-
-#ifdef M68K_COFF_OFFSET
-#define RELSZ 14
-#else
-#define RELSZ 10
-#endif
-
-/* Apollo specific STYP flags */
-
-#define STYP_RELOCATED_NOT_LOADED 0x00010000	/* Section is relocated normally during linking, but need
-                                            	   not be loaded during program execution */
-#define STYP_DEBUG              0x00020000	/* debug section */
-#define STYP_OVERLAY		0x00040000	/* Section is overlayed */
-#define STYP_INSTRUCTION    	0x00200000	/* Section contains executable code */
-
-#define STYP_ZERO		0x00800000	/* Section is initialized to zero */
-#define STYP_INSTALLED		0x02000000	/* Section should be installable in KGT */
-#define STYP_LOOK_INSTALLED	0x04000000	/* Look for section in KGT */
-#define STYP_SECALIGN1		0x08000000	/* Specially aligned section */
-#define STYP_SECALIGN2		0x10000000	/*      "       "       "    */
-#define STYP_COMPRESSED		0x20000000	/* No section data per se (s_scnptr = 0), but there are
-						   initialization directives for it in .rwdi section
-						   (used in conjunction with STYP_BSS) */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/aux-coff.h ./include/coff/aux-coff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/aux-coff.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/aux-coff.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,49 +0,0 @@
-/* Modifications of internal.h and m68k.h needed by A/UX
-
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.
-   
-   Suggested by Ian Lance Taylor <ian@cygnus.com> */
-
-#ifndef GNU_COFF_AUX_H
-#define GNU_COFF_AUX_H 1
-
-#include "coff/internal.h"
-#include "coff/m68k.h"
-
-/* Section contains 64-byte padded pathnames of shared libraries */
-#undef STYP_LIB
-#define STYP_LIB 0x200
-
-/* Section contains shared library initialization code */
-#undef STYP_INIT
-#define STYP_INIT 0x400
-
-/* Section contains .ident information */
-#undef STYP_IDENT
-#define STYP_IDENT 0x800
-
-/* Section types used by bfd and gas not defined (directly) by A/UX */
-#undef STYP_OVER
-#define STYP_OVER 0
-#undef STYP_INFO
-#define STYP_INFO STYP_IDENT
-
-/* Traditional name of the section tagged with STYP_LIB */
-#define _LIB ".lib"
-
-#endif /* GNU_COFF_AUX_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/h8300.h ./include/coff/h8300.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/h8300.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/h8300.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,55 +0,0 @@
-/* coff information for Renesas H8/300 and H8/300-H
-
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define L_LNNO_SIZE 4
-#include "coff/external.h"
-
-#define	H8300MAGIC	0x8300
-#define	H8300HMAGIC	0x8301
-#define	H8300SMAGIC	0x8302
-#define	H8300HNMAGIC	0x8303
-#define	H8300SNMAGIC	0x8304
-
-#define H8300BADMAG(x)   (((x).f_magic != H8300MAGIC))
-#define H8300HBADMAG(x)  (((x).f_magic != H8300HMAGIC))
-#define H8300SBADMAG(x)  (((x).f_magic != H8300SMAGIC))
-#define H8300HNBADMAG(x) (((x).f_magic != H8300HNMAGIC))
-#define H8300SNBADMAG(x) (((x).f_magic != H8300SNMAGIC))
-
-/* Relocation directives.  */
-
-/* The external reloc has an offset field, because some of the reloc
-   types on the h8 don't have room in the instruction for the entire
-   offset - eg the strange jump and high page addressing modes.  */
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_offset[4];
-  char r_type[2];
-  char r_stuff[2];
-};
-
-#define RELOC struct external_reloc
-#define RELSZ 16
-
-
-
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/h8500.h ./include/coff/h8500.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/h8500.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/h8500.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,47 +0,0 @@
-/* coff information for Renesas H8/500
-   
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define L_LNNO_SIZE 4
-#include "coff/external.h"
-
-#define	H8500MAGIC	0x8500
-
-#define H8500BADMAG(x) ((0xffff && ((x).f_magic) != H8500MAGIC))
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-/* The external reloc has an offset field, because some of the reloc
-   types on the h8 don't have room in the instruction for the entire
-   offset - eg the strange jump and high page addressing modes.  */
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_offset[4];
-  char r_type[2];
-  char r_stuff[2];
-};
-
-#define RELOC struct external_reloc
-#define RELSZ 16
-
-
-
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/i860.h ./include/coff/i860.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/i860.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/i860.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,87 +0,0 @@
-/* COFF information for the Intel i860.
-   
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* This file was hacked from i386.h   [dolan@ssd.intel.com] */
-
-#define L_LNNO_SIZE 2
-#include "coff/external.h"
-
-/* Bits for f_flags:
- 	F_RELFLG	relocation info stripped from file
- 	F_EXEC		file is executable (no unresolved external references)
- 	F_LNNO		line numbers stripped from file
- 	F_LSYMS		local symbols stripped from file
- 	F_AR32WR	file has byte ordering of an AR32WR machine (e.g. vax).  */
-
-#define F_RELFLG	(0x0001)
-#define F_EXEC		(0x0002)
-#define F_LNNO		(0x0004)
-#define F_LSYMS		(0x0008)
-
-#define	I860MAGIC	0x14d
-
-#define I860BADMAG(x)   ((x).f_magic != I860MAGIC)
-
-#undef AOUTSZ
-#define AOUTSZ 36
-
-/* FIXME: What are the a.out magic numbers?  */
-
-#define _ETEXT	"etext"
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_type[2];
-};
-
-#define RELOC struct external_reloc
-#define RELSZ 10
-
-/* The relocation directory entry types.
-     PAIR   : The low half that follows relates to the preceding HIGH[ADJ].
-     HIGH   : The high half of a 32-bit constant.
-     LOWn   : The low half, insn bits 15..(n-1), 2^n-byte aligned. 
-     SPLITn : The low half, insn bits 20..16 and 10..(n-1), 2^n-byte aligned. 
-     HIGHADJ: Similar to HIGH, but with adjustment.
-     BRADDR : 26-bit branch displacement.
-
-   Note: The Intel assembler manual lists LOW4 as one of the
-   relocation types, but it appears to be useless for the i860.
-   We will recognize it anyway, just in case it actually appears in
-   any object files.  */
-
-enum {
-  COFF860_R_PAIR	= 0x1c,
-  COFF860_R_HIGH	= 0x1e,
-  COFF860_R_LOW0	= 0x1f,
-  COFF860_R_LOW1	= 0x20,
-  COFF860_R_LOW2	= 0x21,
-  COFF860_R_LOW3	= 0x22,
-  COFF860_R_LOW4	= 0x23,
-  COFF860_R_SPLIT0	= 0x24,
-  COFF860_R_SPLIT1	= 0x25,
-  COFF860_R_SPLIT2	= 0x26,
-  COFF860_R_HIGHADJ	= 0x27,
-  COFF860_R_BRADDR	= 0x28
-};
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/i960.h ./include/coff/i960.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/i960.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/i960.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,320 +0,0 @@
-/* coff information for 80960.  Origins: Intel corp, natch.
-   
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* NOTE: Tagentries (cf TAGBITS) are no longer used by the 960 */
-
-/********************** FILE HEADER **********************/
-
-struct external_filehdr
-{
-  char f_magic[2];	/* magic number			*/
-  char f_nscns[2];	/* number of sections		*/
-  char f_timdat[4];	/* time & date stamp		*/
-  char f_symptr[4];	/* file pointer to symtab	*/
-  char f_nsyms[4];	/* number of symtab entries	*/
-  char f_opthdr[2];	/* sizeof(optional hdr)		*/
-  char f_flags[2];	/* flags			*/
-};
-
-#define OMAGIC      (0407)	/* old impure format. data immediately
-                                   follows text. both sections are rw. */
-#define NMAGIC      (0410)	/* split i&d, read-only text */
-
-/*
-*	Intel 80960 (I960) processor flags.
-*	F_I960TYPE == mask for processor type field. 
-*/
-
-#define	F_I960TYPE	(0xf000)
-#define	F_I960CORE	(0x1000)
-#define	F_I960KB	(0x2000)
-#define	F_I960SB	(0x2000)
-#define	F_I960MC	(0x3000)
-#define	F_I960XA	(0x4000)
-#define	F_I960CA	(0x5000)
-#define	F_I960KA	(0x6000)
-#define	F_I960SA	(0x6000)
-#define F_I960JX	(0x7000)
-#define F_I960HX	(0x8000)
-
-
-/** i80960 Magic Numbers
-*/
-
-#define I960ROMAGIC	(0x160)	/* read-only text segments */
-#define I960RWMAGIC	(0x161)	/* read-write text segments */
-
-#define I960BADMAG(x) (((x).f_magic!=I960ROMAGIC) && ((x).f_magic!=I960RWMAGIC))
-
-#define	FILHDR	struct external_filehdr
-#define	FILHSZ	20
-
-/********************** AOUT "OPTIONAL HEADER" **********************/
-
-typedef struct
-{
-  unsigned long	phys_addr;
-  unsigned long	bitarray;
-} TAGBITS;
-
-typedef struct 
-{
-  char 	magic[2];		/* type of file				*/
-  char	vstamp[2];		/* version stamp			*/
-  char	tsize[4];		/* text size in bytes, padded to FW bdry*/
-  char	dsize[4];		/* initialized data "  "		*/
-  char	bsize[4];		/* uninitialized data "   "		*/
-  char	entry[4];		/* entry pt.				*/
-  char 	text_start[4];		/* base of text used for this file */
-  char 	data_start[4];		/* base of data used for this file */
-  char	tagentries[4];		/* number of tag entries to follow */
-}
-AOUTHDR;
-
-/* return a pointer to the tag bits array */
-
-#define TAGPTR(aout) ((TAGBITS *) (&(aout.tagentries)+1))
-
-/* compute size of a header */
-
-/*#define AOUTSZ(aout) (sizeof(AOUTHDR)+(aout.tagentries*sizeof(TAGBITS)))*/
-#define AOUTSZ 32
-#define AOUTHDRSZ 32
-
-
-/********************** SECTION HEADER **********************/
-
-struct external_scnhdr
-{
-  char		s_name[8];	/* section name			*/
-  char		s_paddr[4];	/* physical address, aliased s_nlib */
-  char		s_vaddr[4];	/* virtual address		*/
-  char		s_size[4];	/* section size			*/
-  char		s_scnptr[4];	/* file ptr to raw data for section */
-  char		s_relptr[4];	/* file ptr to relocation	*/
-  char		s_lnnoptr[4];	/* file ptr to line numbers	*/
-  char		s_nreloc[2];	/* number of relocation entries	*/
-  char		s_nlnno[2];	/* number of line number entries*/
-  char		s_flags[4];	/* flags			*/
-  char 		s_align[4];	/* section alignment		*/
-};
-
-
-#define	SCNHDR	struct external_scnhdr
-#define	SCNHSZ	44
-
-/*
- * names of "special" sections
- */
-#define _TEXT   ".text"
-#define _DATA   ".data"
-#define _BSS    ".bss"
-
-/********************** LINE NUMBERS **********************/
-
-/* 1 line number entry for every "breakpointable" source line in a section.
- * Line numbers are grouped on a per function basis; first entry in a function
- * grouping will have l_lnno = 0 and in place of physical address will be the
- * symbol table index of the function name.
- */
-struct external_lineno
-{
-  union
-  {
-    char l_symndx[4];	/* function name symbol index, iff l_lnno == 0*/
-    char l_paddr[4];	/* (physical) address of line number	*/
-  } l_addr;
-
-  char l_lnno[2];		/* line number		*/
-  char padding[2];	/* force alignment	*/
-};
-
-
-#define	LINENO	struct external_lineno
-#define	LINESZ	8
-
-/********************** SYMBOLS **********************/
-
-#define E_SYMNMLEN	8	/* # characters in a symbol name	*/
-#define E_FILNMLEN	14	/* # characters in a file name		*/
-#define E_DIMNUM	4	/* # array dimensions in auxiliary entry */
-
-struct external_syment 
-{
-  union
-  {
-    char e_name[E_SYMNMLEN];
-
-    struct
-    {
-      char e_zeroes[4];
-      char e_offset[4];
-    } e;
-  } e;
-
-  char e_value[4];
-  char e_scnum[2];
-  char e_flags[2];
-  char e_type[4];
-  char e_sclass[1];
-  char e_numaux[1];
-  char pad2[2];
-};
-
-#define N_BTMASK	(0x1f)
-#define N_TMASK		(0x60)
-#define N_BTSHFT	(5)
-#define N_TSHIFT	(2)
-  
-union external_auxent
-{
-  struct
-  {
-    char x_tagndx[4];	/* str, un, or enum tag indx */
-
-    union
-    {
-      struct
-      {
-	char  x_lnno[2]; /* declaration line number */
-	char  x_size[2]; /* str/union/array size */
-      } x_lnsz;
-
-      char x_fsize[4];	/* size of function */
-
-    } x_misc;
-
-    union
-    {
-      struct 		/* if ISFCN, tag, or .bb */
-      {
-	char x_lnnoptr[4];	/* ptr to fcn line # */
-	char x_endndx[4];	/* entry ndx past block end */
-      } x_fcn;
-
-      struct 		/* if ISARY, up to 4 dimen. */
-      {
-	char x_dimen[E_DIMNUM][2];
-      } x_ary;
-
-    } x_fcnary;
-
-    char x_tvndx[2];		/* tv index */
-
-  } x_sym;
-
-  union
-  {
-    char x_fname[E_FILNMLEN];
-
-    struct
-    {
-      char x_zeroes[4];
-      char x_offset[4];
-    } x_n;
-
-  } x_file;
-
-  struct
-  {
-    char x_scnlen[4];			/* section length */
-    char x_nreloc[2];	/* # relocation entries */
-    char x_nlinno[2];	/* # line numbers */
-
-  } x_scn;
-
-  struct
-  {
-    char x_tvfill[4];	/* tv fill value */
-    char x_tvlen[2];	/* length of .tv */
-    char x_tvran[2][2];	/* tv range */
-
-  } x_tv;		/* info about .tv section (in auxent of symbol .tv)) */
-
-  /******************************************
-   *  I960-specific *2nd* aux. entry formats
-   ******************************************/
-  struct
-  {
-    /* This is a very old typo that keeps getting propagated. */
-#define x_stdindx x_stindx
-    char x_stindx[4];	/* sys. table entry */
-  } x_sc;	/* system call entry */
-
-  struct
-  {
-    char x_balntry[4]; /* BAL entry point */
-  } x_bal; /* BAL-callable function */
-
-  struct
-  {
-    char x_timestamp[4];	        /* time stamp */
-    char 	x_idstring[20];	        /* producer identity string */
-
-  } x_ident;	                        /* Producer ident info */
-};
-
-#define	SYMENT	struct external_syment
-#define	SYMESZ	24
-#define	AUXENT	union external_auxent
-#define	AUXESZ	24
-
-#	define _ETEXT	"_etext"
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_type[2];
-  char pad[2];
-};
-
-/* r_type values for the i960.  */
-
-/* The i960 uses R_RELLONG, which is defined in internal.h as 0x11.
-   It is an absolute 32 bit relocation.  */
-
-#define R_IPRMED 	(0x19)	/* 24-bit ip-relative relocation */
-#define R_OPTCALL	(0x1b)	/* 32-bit optimizable call (leafproc/sysproc) */
-#define R_OPTCALLX	(0x1c)	/* 64-bit optimizable call (leafproc/sysproc) */
-
-/* The following relocation types are defined use by relaxing linkers,
-   which convert 32 bit calls (which require a 64 bit instruction)
-   into 24 bit calls (which require a 32 bit instruction) when
-   possible.  It will be possible whenever the target of the call is
-   within a 24 bit range of the call instruction.
-
-   It is always safe to ignore these relocations.  They only serve to
-   mark points which the relaxing linker will have to consider.  The
-   assembler must ensure that the correct code is generated even if
-   the relocations are ignored.  In particular, this means that the
-   R_IPR13 relocation may not appear with an external symbol.  */
-
-#define R_IPR13		(0x1d)	/* 13 bit ip-relative branch */
-#define R_ALIGN		(0x1e)  /* alignment marker.  This has no
-				   associated symbol.  Instead, the
-				   r_symndx field indicates the
-				   require alignment at this point in
-				   the file.  It must be a power of 2.  */
-
-#define RELOC struct external_reloc
-#define RELSZ 12
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/internal.h ./include/coff/internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/internal.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/internal.h	2018-07-10 02:06:14.000000000 +0000
@@ -257,9 +257,6 @@ struct internal_aouthdr
   bfd_vma text_start;		/* base of text used for this file */
   bfd_vma data_start;		/* base of data used for this file */
 
-  /* i960 stuff */
-  unsigned long tagentries;	/* number of tag entries to follow */
-
   /* RS/6000 stuff */
   bfd_vma o_toc;		/* address of TOC			*/
   short o_snentry;		/* section number for entry point */
@@ -347,10 +344,6 @@ struct internal_aouthdr
 #define C_PRAGMA	111	/* Advice to compiler or linker	*/
 #define C_SEGMENT	112	/* 80960 segment name		*/
 
-  /* Storage classes for m88k */
-#define C_SHADOW        107     /* shadow symbol                */
-#define C_VERSION       108     /* coff version symbol          */
-
  /* New storage classes for RS/6000 */
 #define C_HIDEXT        107	/* Un-named external symbol */
 #define C_BINCL         108	/* Marks beginning of include file */
@@ -400,7 +393,7 @@ struct internal_aouthdr
 
 struct internal_scnhdr
 {
-  char s_name[SCNNMLEN];	/* section name			*/
+  char s_name[SCNNMLEN] ATTRIBUTE_NONSTRING;	/* section name	*/
 
   /* Physical address, aliased s_nlib.
      In the pei format, this field is the virtual section size
@@ -416,7 +409,6 @@ struct internal_scnhdr
   unsigned long s_nreloc;	/* number of relocation entries	*/
   unsigned long s_nlnno;	/* number of line number entries*/
   long s_flags;			/* flags			*/
-  long s_align;			/* used on I960			*/
   unsigned char s_page;         /* TI COFF load page            */
 };
 
@@ -474,7 +466,7 @@ struct internal_syment
 {
   union
   {
-    char _n_name[SYMNMLEN];	/* old COFF version		*/
+    char _n_name[SYMNMLEN] ATTRIBUTE_NONSTRING;	/* old COFF version	*/
     struct
     {
       bfd_hostptr_t _n_zeroes;	/* new == 0			*/
@@ -668,28 +660,6 @@ union internal_auxent
 /* 		14	??? */
 #define	XMC_TC0	15		/* Read-write TOC anchor */
 #define XMC_TD	16		/* Read-write data in TOC */
-
-  /******************************************
-   *  I960-specific *2nd* aux. entry formats
-   ******************************************/
-  struct
-  {
-    /* This is a very old typo that keeps getting propagated. */
-#define x_stdindx x_stindx
-    long x_stindx;		/* sys. table entry */
-  }      x_sc;			/* system call entry */
-
-  struct
-  {
-    unsigned long x_balntry;	/* BAL entry point */
-  }      x_bal;			/* BAL-callable function */
-
-  struct
-  {
-    unsigned long x_timestamp;	/* time stamp */
-    char x_idstring[20];	/* producer identity string */
-  }      x_ident;		/* Producer ident info */
-
 };
 
 /********************** RELOCATION DIRECTIVES **********************/
@@ -839,33 +809,4 @@ struct internal_reloc
 #define R_IMM24   0x33          /* 24 bit abs */
 /* R_JR, R_IMM8, R_IMM16, R_IMM32 - as for Z8k */
 
-/* H8500 modes */
-
-#define R_H8500_IMM8  	1		/*  8 bit immediate 	*/
-#define R_H8500_IMM16 	2		/* 16 bit immediate	*/
-#define R_H8500_PCREL8 	3		/*  8 bit pcrel 	*/
-#define R_H8500_PCREL16 4		/* 16 bit pcrel 	*/
-#define R_H8500_HIGH8  	5		/* high 8 bits of 24 bit address */
-#define R_H8500_LOW16 	7		/* low 16 bits of 24 bit immediate */
-#define R_H8500_IMM24	6		/* 24 bit immediate */
-#define R_H8500_IMM32   8               /* 32 bit immediate */
-#define R_H8500_HIGH16  9		/* high 16 bits of 32 bit immediate */
-
-/* W65 modes */
-
-#define R_W65_ABS8	1  /* addr & 0xff 		*/
-#define R_W65_ABS16	2  /* addr & 0xffff 		*/
-#define R_W65_ABS24	3  /* addr & 0xffffff 		*/
-
-#define R_W65_ABS8S8    4  /* (addr >> 8) & 0xff 	*/
-#define R_W65_ABS8S16   5  /* (addr >> 16) & 0xff 	*/
-
-#define R_W65_ABS16S8   6  /* (addr >> 8) & 0ffff 	*/
-#define R_W65_ABS16S16  7  /* (addr >> 16) & 0ffff 	*/
-
-#define R_W65_PCR8	8
-#define R_W65_PCR16	9
-
-#define R_W65_DP       10  /* direct page 8 bits only   */
-
 #endif /* GNU_COFF_INTERNAL_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/m68k.h ./include/coff/m68k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/m68k.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/m68k.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,82 +0,0 @@
-/* coff information for M68K
-   
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#ifndef GNU_COFF_M68K_H
-#define GNU_COFF_M68K_H 1
-
-#define L_LNNO_SIZE 2
-#include "coff/external.h"
-
-/* Motorola 68000/68008/68010/68020 */
-#define	MC68MAGIC	0520
-#define MC68KWRMAGIC	0520	/* writeable text segments */
-#define	MC68TVMAGIC	0521
-#define MC68KROMAGIC	0521	/* readonly shareable text segments */
-#define MC68KPGMAGIC	0522	/* demand paged text segments */
-#define	M68MAGIC	0210
-#define	M68TVMAGIC	0211
-
-/* This is the magic of the Bull dpx/2 */
-#define MC68KBCSMAGIC	0526
-
-/* This is Lynx's all-platform magic number for executables. */
-
-#define LYNXCOFFMAGIC	0415
-
-#define OMAGIC M68MAGIC
-
-/* This intentionally does not include MC68KBCSMAGIC; it only includes
-   magic numbers which imply that names do not have underscores.  */
-#define M68KBADMAG(x) (((x).f_magic != MC68MAGIC) \
-                    && ((x).f_magic != MC68KWRMAGIC) \
-                    && ((x).f_magic != MC68TVMAGIC) \
-                    && ((x).f_magic != MC68KROMAGIC) \
-                    && ((x).f_magic != MC68KPGMAGIC) \
-                    && ((x).f_magic != M68MAGIC) \
-                    && ((x).f_magic != M68TVMAGIC) \
-                    && ((x).f_magic != LYNXCOFFMAGIC))
-
-/* Magic numbers for the a.out header.  */
-
-#define PAGEMAGICEXECSWAPPED  0407 /* executable (swapped) */
-#define PAGEMAGICPEXECSWAPPED 0410 /* pure executable (swapped) */
-#define PAGEMAGICPEXECTSHLIB  0443 /* pure executable (target shared library) */
-#define PAGEMAGICPEXECPAGED   0413 /* pure executable (paged) */
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_type[2];
-#ifdef M68K_COFF_OFFSET
-  char r_offset[4];
-#endif
-};
-
-#define RELOC struct external_reloc
-
-#ifdef M68K_COFF_OFFSET
-#define RELSZ 14
-#else
-#define RELSZ 10
-#endif
-
-#endif /* GNU_COFF_M68K_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/m88k.h ./include/coff/m88k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/m88k.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/m88k.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,197 +0,0 @@
-/* coff information for 88k bcs
-   
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define DO_NOT_DEFINE_SCNHDR
-#define L_LNNO_SIZE 4
-#define DO_NOT_DEFINE_SYMENT
-#define DO_NOT_DEFINE_AUXENT
-#include "coff/external.h"
-
-#define MC88MAGIC  0540           /* 88k BCS executable */
-#define MC88DMAGIC 0541           /* DG/UX executable   */
-#define MC88OMAGIC 0555	          /* Object file        */
-
-#define MC88BADMAG(x) (((x).f_magic != MC88MAGIC) \
-                    && ((x).f_magic != MC88DMAGIC) \
-                    && ((x).f_magic != MC88OMAGIC))
-
-#define PAGEMAGIC3   0414 /* Split i&d, zero mapped */
-#define PAGEMAGICBCS 0413
-
-/********************** SECTION HEADER **********************/
-
-struct external_scnhdr 
-{
-  char		s_name[8];	/* section name			*/
-  char		s_paddr[4];	/* physical address, aliased s_nlib */
-  char		s_vaddr[4];	/* virtual address		*/
-  char		s_size[4];	/* section size			*/
-  char		s_scnptr[4];	/* file ptr to raw data for section */
-  char		s_relptr[4];	/* file ptr to relocation	*/
-  char		s_lnnoptr[4];	/* file ptr to line numbers	*/
-  char		s_nreloc[4];	/* number of relocation entries	*/
-  char		s_nlnno[4];	/* number of line number entries*/
-  char		s_flags[4];	/* flags			*/
-};
-
-#define	SCNHDR	struct external_scnhdr
-#define	SCNHSZ	44
-
-/* Names of "special" sections.  */
-#define _TEXT   ".text"
-#define _DATA   ".data"
-#define _BSS    ".bss"
-#define _COMMENT ".comment"
-
-
-/********************** SYMBOLS **********************/
-
-#define E_SYMNMLEN	8	/* # characters in a symbol name	*/
-#define E_FILNMLEN	14	/* # characters in a file name		*/
-#define E_DIMNUM	4	/* # array dimensions in auxiliary entry */
-
-struct external_syment 
-{
-  union
-  {
-    char e_name[E_SYMNMLEN];
-
-    struct
-    {
-      char e_zeroes[4];
-      char e_offset[4];
-    } e;
-
-  } e;
-
-  char e_value[4];
-  char e_scnum[2];
-  char e_type[2];
-  char e_sclass[1];
-  char e_numaux[1];
-  char pad2[2];
-};
-
-#define N_BTMASK	017
-#define N_TMASK		060
-#define N_BTSHFT	4
-#define N_TSHIFT	2
-
-/* Note that this isn't the same shape as other coffs */
-union external_auxent
-{
-  struct
-  {
-    char x_tagndx[4];		/* str, un, or enum tag indx */
-    /* 4 */
-    
-    union
-    {
-      char x_fsize[4];		/* size of function */
-
-      struct
-      {
-	char  x_lnno[4];	/* declaration line number */
-	char  x_size[4];	/* str/union/array size */
-      } x_lnsz;
-
-    } x_misc;
-    
-    /* 12 */
-    union
-    {
-      struct 			/* if ISFCN, tag, or .bb */
-      {
-	char x_lnnoptr[4];	/* ptr to fcn line # */
-	char x_endndx[4];		/* entry ndx past block end */
-      } x_fcn;
-
-      struct 			/* if ISARY, up to 4 dimen. */
-      {
-	char x_dimen[E_DIMNUM][2];
-      } x_ary;
-
-    } x_fcnary;
-    /* 20 */
-    
-  } x_sym;
-  
-  union
-  {
-    char x_fname[E_FILNMLEN];
-
-    struct
-    {
-      char x_zeroes[4];
-      char x_offset[4];
-    } x_n;
-
-  } x_file;
-  
-  struct
-  {
-    char x_scnlen[4];		/* section length */
-    char x_nreloc[4];		/* # relocation entries */
-    char x_nlinno[4];		/* # line numbers */
-  } x_scn;
-  
-  struct
-  {
-    char x_tvfill[4];		/* tv fill value */
-    char x_tvlen[2];		/* length of .tv */
-    char x_tvran[2][2];		/* tv range */
-  } x_tv;			/* info about .tv section (in auxent of symbol .tv)) */
-};
-
-#define GET_LNSZ_SIZE(abfd, ext) \
-  H_GET_32 (abfd, ext->x_sym.x_misc.x_lnsz.x_size)
-#define GET_LNSZ_LNNO(abfd, ext) \
-  H_GET_32 (abfd, ext->x_sym.x_misc.x_lnsz.x_lnno)
-#define PUT_LNSZ_LNNO(abfd, in, ext) \
-  H_PUT_32 (abfd, in, ext->x_sym.x_misc.x_lnsz.x_lnno)
-#define PUT_LNSZ_SIZE(abfd, in, ext) \
-  H_PUT_32 (abfd, in, ext->x_sym.x_misc.x_lnsz.x_size)
-#define GET_SCN_NRELOC(abfd, ext) \
-  H_GET_32 (abfd, ext->x_scn.x_nreloc)
-#define GET_SCN_NLINNO(abfd, ext) \
-  H_GET_32 (abfd, ext->x_scn.x_nlinno)
-#define PUT_SCN_NRELOC(abfd, in, ext) \
-  H_PUT_32 (abfd, in, ext->x_scn.x_nreloc)
-#define PUT_SCN_NLINNO(abfd, in, ext) \
-  H_PUT_32 (abfd,in, ext->x_scn.x_nlinno)
-
-#define	SYMENT	struct external_syment
-#define	SYMESZ	20
-#define	AUXENT	union external_auxent
-#define	AUXESZ	20
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_type[2];
-  char r_offset[2];
-};
-
-#define RELOC struct external_reloc
-#define RELSZ  12
-
-#define NO_TVNDX
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/mipspe.h ./include/coff/mipspe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/mipspe.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/mipspe.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,67 +0,0 @@
-/* coff information for Windows CE with MIPS VR4111
-   
-   Copyright (C) 2000-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define L_LNNO_SIZE 2
-#define INCLUDE_COMDAT_FIELDS_IN_AUXENT
-#include "coff/external.h"
-
-#define MIPS_ARCH_MAGIC_WINCE	0x0166  /* Windows CE - little endian */
-#define MIPS_PE_MAGIC		0x010b
-
-#define MIPSBADMAG(x) ((x).f_magic != MIPS_ARCH_MAGIC_WINCE)
-
-/* define some NT default values */
-/*  #define NT_IMAGE_BASE        0x400000 moved to internal.h */
-#define NT_SECTION_ALIGNMENT 0x1000
-#define NT_FILE_ALIGNMENT    0x200
-#define NT_DEF_RESERVE       0x100000
-#define NT_DEF_COMMIT        0x1000
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-/* The external reloc has an offset field, because some of the reloc
-   types on the h8 don't have room in the instruction for the entire
-   offset - eg the strange jump and high page addressing modes.  */
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_type[2];
-};
-
-#define RELOC struct external_reloc
-#define RELSZ 10
-
-/* MIPS PE relocation types. */
-
-#define	MIPS_R_ABSOLUTE	0 /* ignored */
-#define	MIPS_R_REFHALF	1
-#define	MIPS_R_REFWORD	2
-#define	MIPS_R_JMPADDR	3
-#define	MIPS_R_REFHI	4 /* PAIR follows */
-#define	MIPS_R_REFLO	5
-#define	MIPS_R_GPREL	6
-#define	MIPS_R_LITERAL	7 /* same as GPREL */
-#define	MIPS_R_SECTION	10
-#define	MIPS_R_SECREL	11
-#define	MIPS_R_SECRELLO	12
-#define	MIPS_R_SECRELHI	13 /* PAIR follows */
-#define	MIPS_R_RVA	34 /* 0x22 */
-#define	MIPS_R_PAIR	37 /* 0x25 - symndx is really a signed 16-bit addend */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/msdos.h ./include/coff/msdos.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/msdos.h	1970-01-01 00:00:00.000000000 +0000
+++ ./include/coff/msdos.h	2018-07-10 02:06:14.000000000 +0000
@@ -0,0 +1,57 @@
+/* msdos.h  -  MS-DOS and derived executable header information
+
+   Copyright (C) 1999-2018 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software Foundation,
+   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
+#ifndef _MSDOS_H
+#define _MSDOS_H
+
+#define IMAGE_DOS_SIGNATURE	0x5a4d		/* MZ */
+#define IMAGE_OS2_SIGNATURE	0x454e		/* NE */
+#define IMAGE_OS2_SIGNATURE_LE	0x454c		/* LE */
+#define IMAGE_OS2_SIGNATURE_LX	0x584c		/* LX */
+#define IMAGE_NT_SIGNATURE	0x00004550	/* PE\0\0 */
+
+struct external_DOS_hdr
+{
+  /* DOS header fields - always at offset zero in the EXE file.  */
+  char e_magic[2];		/* Magic number.  */
+  char e_cblp[2];		/* Bytes on last page of file.  */
+  char e_cp[2];			/* Pages in file.  */
+  char e_crlc[2];		/* Relocations.  */
+  char e_cparhdr[2];		/* Size of header in paragraphs.  */
+  char e_minalloc[2];		/* Minimum extra paragraphs needed.  */
+  char e_maxalloc[2];		/* Maximum extra paragraphs needed.  */
+  char e_ss[2];			/* Initial (relative) SS value.  */
+  char e_sp[2];			/* Initial SP value.  */
+  char e_csum[2];		/* Checksum.  */
+  char e_ip[2];			/* Initial IP value.  */
+  char e_cs[2];			/* Initial (relative) CS value.  */
+  char e_lfarlc[2];		/* File address of relocation table.  */
+  char e_ovno[2];		/* Overlay number.  */
+  char e_res[4][2];		/* Reserved words, all 0x0.  */
+  char e_oemid[2];		/* OEM identifier.  */
+  char e_oeminfo[2];		/* OEM information.  */
+  char e_res2[10][2];		/* Reserved words, all 0x0.  */
+  char e_lfanew[4];		/* File address of new exe header, usually 0x80.  */
+  char dos_message[16][4];	/* Other stuff, always follow DOS header.  */
+};
+
+/* The actual DOS header only includes up to the e_ovno field.  */
+#define DOS_HDR_SIZE		(offsetof (struct external_DOS_hdr, e_res))
+
+#endif /* _MSDOS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/pe.h ./include/coff/pe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/pe.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/pe.h	2018-07-10 02:06:14.000000000 +0000
@@ -20,6 +20,8 @@
 #ifndef _PE_H
 #define _PE_H
 
+#include "msdos.h"
+
 /* NT specific file attributes.  */
 #define IMAGE_FILE_RELOCS_STRIPPED           0x0001
 #define IMAGE_FILE_EXECUTABLE_IMAGE          0x0002
@@ -168,40 +170,11 @@
 #define IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER	13
 #define IMAGE_SUBSYSTEM_XBOX			14
 
-/* Magic values that are true for all dos/nt implementations.  */
-#define DOSMAGIC       0x5a4d
-#define NT_SIGNATURE   0x00004550
-
 /* NT allows long filenames, we want to accommodate this.
    This may break some of the bfd functions.  */
 #undef  FILNMLEN
 #define FILNMLEN	18	/* # characters in a file name.  */
 
-struct external_PEI_DOS_hdr
-{
-  /* DOS header fields - always at offset zero in the EXE file.  */
-  char e_magic[2];		/* Magic number, 0x5a4d.  */
-  char e_cblp[2];		/* Bytes on last page of file, 0x90.  */
-  char e_cp[2];			/* Pages in file, 0x3.  */
-  char e_crlc[2];		/* Relocations, 0x0.  */
-  char e_cparhdr[2];		/* Size of header in paragraphs, 0x4.  */
-  char e_minalloc[2];		/* Minimum extra paragraphs needed, 0x0.  */
-  char e_maxalloc[2];		/* Maximum extra paragraphs needed, 0xFFFF.  */
-  char e_ss[2];			/* Initial (relative) SS value, 0x0.  */
-  char e_sp[2];			/* Initial SP value, 0xb8.  */
-  char e_csum[2];		/* Checksum, 0x0.  */
-  char e_ip[2];			/* Initial IP value, 0x0.  */
-  char e_cs[2];			/* Initial (relative) CS value, 0x0.  */
-  char e_lfarlc[2];		/* File address of relocation table, 0x40.  */
-  char e_ovno[2];		/* Overlay number, 0x0.  */
-  char e_res[4][2];		/* Reserved words, all 0x0.  */
-  char e_oemid[2];		/* OEM identifier (for e_oeminfo), 0x0.  */
-  char e_oeminfo[2];		/* OEM information; e_oemid specific, 0x0.  */
-  char e_res2[10][2];		/* Reserved words, all 0x0.  */
-  char e_lfanew[4];		/* File address of new exe header, usually 0x80.  */
-  char dos_message[16][4];	/* Other stuff, always follow DOS header.  */
-};
-
 struct external_PEI_IMAGE_hdr
 {
   char nt_signature[4];		/* Required NT signature, 0x4550.  */
@@ -524,6 +497,7 @@ struct pex64_unwind_info
   bfd_vma FrameOffset;
   bfd_vma sizeofUnwindCodes;
   bfd_byte *rawUnwindCodes;
+  bfd_byte *rawUnwindCodesEnd;
   bfd_vma rva_ExceptionHandler; /* UNW_EHANDLER or UNW_FLAG_UHANDLER.  */
   bfd_vma rva_BeginAddress;	/* UNW_FLAG_CHAININFO.  */
   bfd_vma rva_EndAddress;	/* UNW_FLAG_CHAININFO.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/powerpc.h ./include/coff/powerpc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/powerpc.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/powerpc.h	2018-07-10 02:06:14.000000000 +0000
@@ -37,8 +37,6 @@
 
 /* extra NT defines */
 #define PPCMAGIC       0760         /* peeked on aa PowerPC Windows NT box */
-#define DOSMAGIC       0x5a4d       /* from arm.h, i386.h */
-#define NT_SIGNATURE   0x00004550   /* from arm.h, i386.h */
 
 /* from winnt.h */
 #define IMAGE_NT_OPTIONAL_HDR_MAGIC        0x10b
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/sparc.h ./include/coff/sparc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/sparc.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/sparc.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,164 +0,0 @@
-/* coff information for Sparc.
-   
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* This file is an amalgamation of several standard include files that
-   define coff format, such as filehdr.h, aouthdr.h, and so forth.  In
-   addition, all datatypes have been translated into character arrays of
-   (presumed) equivalent size.  This is necessary so that this file can
-   be used with different systems while still yielding the same results.  */
-
-#define L_LNNO_SIZE 2
-#define DO_NOT_DEFINE_SYMENT
-#define DO_NOT_DEFINE_AUXENT
-#include "coff/external.h"
-
-#define F_RELFLG	(0x0001)	/* relocation info stripped */
-#define F_EXEC		(0x0002)	/* file is executable */
-#define F_LNNO		(0x0004)	/* line numbers stripped */
-#define F_LSYMS		(0x0008)	/* local symbols stripped */
-
-#define SPARCMAGIC	(0540)
-
-/* This is Lynx's all-platform magic number for executables. */
-
-#define LYNXCOFFMAGIC	(0415)
-
-#define OMAGIC          0404    /* object files, eg as output */
-#define ZMAGIC          0413    /* demand load format, eg normal ld output */
-#define STMAGIC		0401	/* target shlib */
-#define SHMAGIC		0443	/* host   shlib */
-
-/* More names of "special" sections. */
-
-#define _TV	".tv"
-#define _INIT	".init"
-#define _FINI	".fini"
-
-/********************** SYMBOLS **********************/
-
-#define E_SYMNMLEN	(8)	/* # characters in a symbol name	*/
-#define E_FILNMLEN	(14)	/* # characters in a file name		*/
-#define E_DIMNUM	(4)	/* # array dimensions in auxiliary entry */
-
-struct external_syment 
-{
-  union {
-    char e_name[E_SYMNMLEN];
-    struct {
-      char e_zeroes[4];
-      char e_offset[4];
-    } e;
-#if 0 /* of doubtful value */
-    char e_nptr[2][4];
-    struct {
-      char e_leading_zero[1];
-      char e_dbx_type[1];
-      char e_dbx_desc[2];
-    } e_dbx;
-#endif
-  } e;
-
-  char e_value[4];
-  char e_scnum[2];
-  char e_type[2];
-  char e_sclass[1];
-  char e_numaux[1];
-  char padding[2];
-};
-
-#define N_BTMASK	(0xf)
-#define N_TMASK		(0x30)
-#define N_BTSHFT	(4)
-#define N_TSHIFT	(2)
-  
-union external_auxent
-{
-  struct {
-    char x_tagndx[4];		/* str, un, or enum tag indx */
-    union {
-      struct {
-	char  x_lnno[2];	/* declaration line number */
-	char  x_size[2];	/* str/union/array size */
-      } x_lnsz;
-      char x_fsize[4];		/* size of function */
-    } x_misc;
-    union {
-      struct {			/* if ISFCN, tag, or .bb */
-	char x_lnnoptr[4];	/* ptr to fcn line # */
-	char x_endndx[4];	/* entry ndx past block end */
-      } x_fcn;
-      struct {		/* if ISARY, up to 4 dimen. */
-	char x_dimen[E_DIMNUM][2];
-      } x_ary;
-    } x_fcnary;
-    char x_tvndx[2];		/* tv index */
-  } x_sym;
-  
-  union {
-    char x_fname[E_FILNMLEN];
-    struct {
-      char x_zeroes[4];
-      char x_offset[4];
-    } x_n;
-  } x_file;
-  
-  struct {
-    char x_scnlen[4];		/* section length */
-    char x_nreloc[2];		/* # relocation entries */
-    char x_nlinno[2];		/* # line numbers */
-  } x_scn;
-  
-  struct {
-    char x_tvfill[4];		/* tv fill value */
-    char x_tvlen[2];		/* length of .tv */
-    char x_tvran[2][2];		/* tv range */
-  } x_tv;			/* .tv section info (in auxent of sym .tv)) */
-
-  char x_fill[20];		/* forces to 20-byte size */
-};
-
-#define	SYMENT	struct external_syment
-#define	SYMESZ	20	
-#define	AUXENT	union external_auxent
-#define	AUXESZ	20
-
-#define COFF_ADJUST_SYM_OUT_POST(ABFD, INP, EXTP)	\
-  do							\
-    {							\
-      SYMENT *extsym = (SYMENT *) (EXTP);		\
-      extsym->padding[0] = 0;				\
-      extsym->padding[1] = 0;				\
-    } while (0)
-
-#define _ETEXT	"etext"
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_type[2];
-  char r_spare[2];
-  char r_offset[4];
-};
-
-#define RELOC struct external_reloc
-#define RELSZ 16
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/w65.h ./include/coff/w65.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/w65.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/w65.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,47 +0,0 @@
-/* coff information for WDC 65816
-   
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define L_LNNO_SIZE 4
-#include "coff/external.h"
-
-#define	W65MAGIC	0x6500
-
-#define W65BADMAG(x) (((x).f_magic != W65MAGIC))
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-/* The external reloc has an offset field, because some of the reloc
-   types on the w65 don't have room in the instruction for the entire
-   offset - eg the strange jump and high page addressing modes */
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_offset[4];
-  char r_type[2];
-  char r_stuff[2];
-};
-
-#define RELOC struct external_reloc
-#define RELSZ 16
-
-
-
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/we32k.h ./include/coff/we32k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/coff/we32k.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/coff/we32k.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,62 +0,0 @@
-/* coff information for we32k
-   
-   Copyright (C) 2001-2018 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define L_LNNO_SIZE 2
-#include "coff/external.h"
-
-/* Bits for f_flags:
- 	F_RELFLG	relocation info stripped from file
- 	F_EXEC		file is executable (no unresolved external references)
- 	F_LNNO		line numbers stripped from file
- 	F_LSYMS		local symbols stripped from file
- 	F_AR32WR	file has byte ordering of an AR32WR machine (e.g. vax).  */
-
-#define F_RELFLG	(0x0001)
-#define F_EXEC		(0x0002)
-#define F_LNNO		(0x0004)
-#define F_LSYMS		(0x0008)
-#define	F_BM32B		(0020000)
-#define	F_BM32MAU	(0040000)
-
-#define	WE32KMAGIC	0x170	/* we32k sans transfer vector */
-#define FBOMAGIC	0x170	/* we32k sans transfer vector */
-#define MTVMAGIC	0x171	/* we32k with transfer vector */
-#define RBOMAGIC	0x172	/* reserved */
-#define WE32KBADMAG(x) (   ((x).f_magic != WE32KMAGIC) \
-			&& ((x).f_magic != FBOMAGIC) \
-			&& ((x).f_magic != RBOMAGIC) \
-			&& ((x).f_magic != MTVMAGIC))
-
-/* More names of "special" sections.  */
-#define _TV	".tv"
-#define _INIT	".init"
-#define _FINI	".fini"
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_type[2];
-};
-
-#define RELOC struct external_reloc
-#define RELSZ 10
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/diagnostics.h ./include/diagnostics.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/diagnostics.h	1970-01-01 00:00:00.000000000 +0000
+++ ./include/diagnostics.h	2018-07-10 02:06:14.000000000 +0000
@@ -0,0 +1,75 @@
+/* Copyright (C) 2017-2018 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/>.  */
+
+#ifndef DIAGNOSTICS_H
+#define DIAGNOSTICS_H
+
+#ifdef __GNUC__
+# define DIAGNOSTIC_PUSH _Pragma ("GCC diagnostic push")
+# define DIAGNOSTIC_POP _Pragma ("GCC diagnostic pop")
+
+/* Stringification.  */
+# define DIAGNOSTIC_STRINGIFY_1(x) #x
+# define DIAGNOSTIC_STRINGIFY(x) DIAGNOSTIC_STRINGIFY_1 (x)
+
+# define DIAGNOSTIC_IGNORE(option) \
+  _Pragma (DIAGNOSTIC_STRINGIFY (GCC diagnostic ignored option))
+#else
+# define DIAGNOSTIC_PUSH
+# define DIAGNOSTIC_POP
+# define DIAGNOSTIC_IGNORE(option)
+#endif
+
+#if defined (__clang__) /* clang */
+
+# define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE ("-Wself-move")
+# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \
+  DIAGNOSTIC_IGNORE ("-Wdeprecated-register")
+# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
+  DIAGNOSTIC_IGNORE ("-Wunused-function")
+# if __has_warning ("-Wenum-compare-switch")
+#  define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \
+   DIAGNOSTIC_IGNORE ("-Wenum-compare-switch")
+# endif
+#elif defined (__GNUC__) /* GCC */
+
+# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
+  DIAGNOSTIC_IGNORE ("-Wunused-function")
+
+# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION \
+  DIAGNOSTIC_IGNORE ("-Wstringop-truncation")
+#endif
+
+#ifndef DIAGNOSTIC_IGNORE_SELF_MOVE
+# define DIAGNOSTIC_IGNORE_SELF_MOVE
+#endif
+
+#ifndef DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
+# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
+#endif
+
+#ifndef DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
+# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
+#endif
+
+#ifndef DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
+# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
+#endif
+
+#ifndef DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION
+# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION
+#endif
+
+#endif /* DIAGNOSTICS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/dis-asm.h ./include/dis-asm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/dis-asm.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/dis-asm.h	2018-07-10 02:06:14.000000000 +0000
@@ -222,16 +222,53 @@ typedef struct disassemble_info
 
 } disassemble_info;
 
-/* This struct is used to pass information about valid disassembler options
-   and their descriptions from the target to the generic GDB functions that
-   set and display them.  */
+/* This struct is used to pass information about valid disassembler
+   option arguments from the target to the generic GDB functions
+   that set and display them.  */
 
 typedef struct
 {
+  /* Option argument name to use in descriptions.  */
+  const char *name;
+
+  /* Vector of acceptable option argument values, NULL-terminated.  */
+  const char **values;
+} disasm_option_arg_t;
+
+/* This struct is used to pass information about valid disassembler
+   options, their descriptions and arguments from the target to the
+   generic GDB functions that set and display them.  Options are
+   defined by tuples of vector entries at each index.  */
+
+typedef struct
+{
+  /* Vector of option names, NULL-terminated.  */
   const char **name;
+
+  /* Vector of option descriptions or NULL if none to be shown.  */
   const char **description;
+
+  /* Vector of option argument information pointers or NULL if no
+     option accepts an argument.  NULL entries denote individual
+     options that accept no argument.  */
+  const disasm_option_arg_t **arg;
 } disasm_options_t;
 
+/* This struct is used to pass information about valid disassembler
+   options and arguments from the target to the generic GDB functions
+   that set and display them.  */
+
+typedef struct
+{
+  /* Valid disassembler options.  Individual options that support
+     an argument will refer to entries in the ARGS vector.  */
+  disasm_options_t options;
+
+  /* Vector of acceptable option arguments, NULL-terminated.  This
+     collects all possible option argument choices, some of which
+     may be shared by different options from the OPTIONS member.  */
+  disasm_option_arg_t *args;
+} disasm_options_and_args_t;
 
 /* Standard disassemblers.  Disassemble one instruction at the given
    target address.  Return number of octets processed.  */
@@ -241,7 +278,6 @@ typedef int (*disassembler_ftype) (bfd_v
 extern int print_insn_m32c		(bfd_vma, disassemble_info *);
 extern int print_insn_mep		(bfd_vma, disassemble_info *);
 extern int print_insn_sh		(bfd_vma, disassemble_info *);
-extern int print_insn_sh64x_media	(bfd_vma, disassemble_info *);
 extern int print_insn_sparc		(bfd_vma, disassemble_info *);
 extern int print_insn_rx		(bfd_vma, disassemble_info *);
 extern int print_insn_rl78		(bfd_vma, disassemble_info *);
@@ -255,6 +291,7 @@ extern disassembler_ftype cris_get_disas
 extern void print_aarch64_disassembler_options (FILE *);
 extern void print_i386_disassembler_options (FILE *);
 extern void print_mips_disassembler_options (FILE *);
+extern void print_nfp_disassembler_options (FILE *);
 extern void print_ppc_disassembler_options (FILE *);
 extern void print_riscv_disassembler_options (FILE *);
 extern void print_arm_disassembler_options (FILE *);
@@ -266,9 +303,10 @@ extern bfd_boolean arm_symbol_is_valid (
 extern void disassemble_init_powerpc (struct disassemble_info *);
 extern void disassemble_init_s390 (struct disassemble_info *);
 extern void disassemble_init_wasm32 (struct disassemble_info *);
-extern const disasm_options_t *disassembler_options_powerpc (void);
-extern const disasm_options_t *disassembler_options_arm (void);
-extern const disasm_options_t *disassembler_options_s390 (void);
+extern const disasm_options_and_args_t *disassembler_options_arm (void);
+extern const disasm_options_and_args_t *disassembler_options_mips (void);
+extern const disasm_options_and_args_t *disassembler_options_powerpc (void);
+extern const disasm_options_and_args_t *disassembler_options_s390 (void);
 
 /* Fetch the disassembler for a given architecture ARC, endianess (big
    endian if BIG is true), bfd_mach value MACH, and ABFD, if that support
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/dwarf2.def ./include/dwarf2.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/dwarf2.def	2018-07-03 02:06:29.000000000 +0000
+++ ./include/dwarf2.def	2018-07-10 02:06:14.000000000 +0000
@@ -220,6 +220,14 @@ DW_FORM (DW_FORM_implicit_const, 0x21)
 DW_FORM (DW_FORM_loclistx, 0x22)
 DW_FORM (DW_FORM_rnglistx, 0x23)
 DW_FORM (DW_FORM_ref_sup8, 0x24)
+DW_FORM (DW_FORM_strx1, 0x25)
+DW_FORM (DW_FORM_strx2, 0x26)
+DW_FORM (DW_FORM_strx3, 0x27)
+DW_FORM (DW_FORM_strx4, 0x28)
+DW_FORM (DW_FORM_addrx1, 0x29)
+DW_FORM (DW_FORM_addrx2, 0x2a)
+DW_FORM (DW_FORM_addrx3, 0x2b)
+DW_FORM (DW_FORM_addrx4, 0x2c)
 /* Extensions for Fission.  See http://gcc.gnu.org/wiki/DebugFission.  */
 DW_FORM (DW_FORM_GNU_addr_index, 0x1f01)
 DW_FORM (DW_FORM_GNU_str_index, 0x1f02)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/aarch64.h ./include/elf/aarch64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/aarch64.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/elf/aarch64.h	2018-07-10 02:06:14.000000000 +0000
@@ -147,6 +147,14 @@ RELOC_NUMBER (R_AARCH64_P32_TLSLE_MOVW_T
 RELOC_NUMBER (R_AARCH64_P32_TLSLE_ADD_TPREL_HI12, 109)
 RELOC_NUMBER (R_AARCH64_P32_TLSLE_ADD_TPREL_LO12, 110)
 RELOC_NUMBER (R_AARCH64_P32_TLSLE_ADD_TPREL_LO12_NC, 111)
+RELOC_NUMBER (R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12, 112)
+RELOC_NUMBER (R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12_NC, 113)
+RELOC_NUMBER (R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12, 114)
+RELOC_NUMBER (R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12_NC, 115)
+RELOC_NUMBER (R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12, 116)
+RELOC_NUMBER (R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12_NC, 117)
+RELOC_NUMBER (R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12, 118)
+RELOC_NUMBER (R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12_NC, 119)
 
 RELOC_NUMBER (R_AARCH64_P32_TLSDESC_LD_PREL19, 122)
 RELOC_NUMBER (R_AARCH64_P32_TLSDESC_ADR_PREL21, 123)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/arm.h ./include/elf/arm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/arm.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/elf/arm.h	2018-07-10 02:06:14.000000000 +0000
@@ -240,6 +240,13 @@ START_RELOC_NUMBERS (elf_arm_reloc_type)
   RELOC_NUMBER (R_ARM_THM_ALU_ABS_G3_NC,135)
 
   RELOC_NUMBER (R_ARM_IRELATIVE,      	160)
+  RELOC_NUMBER (R_ARM_GOTFUNCDESC,    	161)
+  RELOC_NUMBER (R_ARM_GOTOFFFUNCDESC, 	162)
+  RELOC_NUMBER (R_ARM_FUNCDESC,       	163)
+  RELOC_NUMBER (R_ARM_FUNCDESC_VALUE, 	164)
+  RELOC_NUMBER (R_ARM_TLS_GD32_FDPIC,   165)
+  RELOC_NUMBER (R_ARM_TLS_LDM32_FDPIC,  166)
+  RELOC_NUMBER (R_ARM_TLS_IE32_FDPIC,   167)
 
   /* Extensions?  R=read-only?  */
   RELOC_NUMBER (R_ARM_RXPC25,         	249)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/common.h ./include/elf/common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/common.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/elf/common.h	2018-07-10 02:06:14.000000000 +0000
@@ -78,6 +78,7 @@
 
 #define ELFOSABI_C6000_ELFABI 64 /* Bare-metal TMS320C6000 */
 #define ELFOSABI_C6000_LINUX 65 /* Linux TMS320C6000 */
+#define ELFOSABI_ARM_FDPIC   65 /* ARM FDPIC */
 #define ELFOSABI_ARM	     97	/* ARM */
 #define ELFOSABI_STANDALONE 255	/* Standalone (embedded) application */
 
@@ -338,6 +339,7 @@
 #define EM_RISCV 	243 	/* RISC-V */
 #define EM_LANAI	244	/* Lanai 32-bit processor.  */
 #define EM_BPF		247	/* Linux BPF â€“ in-kernel virtual machine.  */
+#define EM_NFP		250	/* Netronome Flow Processor.  */
 
 /* If it is necessary to assign new unofficial EM_* values, please pick large
    random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision
@@ -366,6 +368,9 @@
 /* Unofficial value for Web Assembly binaries, as used by LLVM.  */
 #define EM_WEBASSEMBLY		0x4157
 
+/* Freescale S12Z.   The Freescale toolchain generates elf files with this value.  */
+#define EM_S12Z               0x4DEF
+
 /* DLX magic number.  Written in the absense of an ABI.  */
 #define EM_DLX			0x5aa5
 
@@ -1006,6 +1011,9 @@
 #define	DF_1_SINGLETON	0x02000000
 #define	DF_1_STUB	0x04000000
 #define	DF_1_PIE	0x08000000
+#define	DF_1_KMOD	0x10000000
+#define	DF_1_WEAKFILTER	0x20000000
+#define	DF_1_NOCOMMON	0x40000000
 
 /* Flag values for the DT_FLAGS entry.	*/
 #define DF_ORIGIN	(1 << 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.1.0.20180703/include/elf/i370.h ./include/elf/i370.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/i370.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/elf/i370.h	2018-07-10 02:06:14.000000000 +0000
@@ -47,9 +47,9 @@ START_RELOC_NUMBERS (i370_reloc_type)
   RELOC_NUMBER (R_I370_NONE,      0)
   RELOC_NUMBER (R_I370_ADDR31,    1)
   RELOC_NUMBER (R_I370_ADDR32,    2)
-  RELOC_NUMBER (R_I370_ADDR16,    3) 
+  RELOC_NUMBER (R_I370_ADDR16,    3)
   RELOC_NUMBER (R_I370_REL31,     4)
-  RELOC_NUMBER (R_I370_REL32,     5)  
+  RELOC_NUMBER (R_I370_REL32,     5)
   RELOC_NUMBER (R_I370_ADDR12,    6)
   RELOC_NUMBER (R_I370_REL12,     7)
   RELOC_NUMBER (R_I370_ADDR8,     8)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/i860.h ./include/elf/i860.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/i860.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/elf/i860.h	2018-07-10 02:06:14.000000000 +0000
@@ -29,15 +29,15 @@
 START_RELOC_NUMBERS (elf_i860_reloc_type)
      RELOC_NUMBER (R_860_NONE,      0x00)	/* No reloc */
      RELOC_NUMBER (R_860_32,        0x01)	/* S+A  */
-     RELOC_NUMBER (R_860_COPY,	    0x02)	/* No calculation */
+     RELOC_NUMBER (R_860_COPY,      0x02)	/* No calculation */
      RELOC_NUMBER (R_860_GLOB_DAT,  0x03)	/* S, Create GOT entry */
      RELOC_NUMBER (R_860_JUMP_SLOT, 0x04)	/* S+A, Create PLT entry */
      RELOC_NUMBER (R_860_RELATIVE,  0x05)	/* B+A, Adj by program base */
-     RELOC_NUMBER (R_860_PC26,      0x30)	/* (S+A-P) >> 2 */ 
-     RELOC_NUMBER (R_860_PLT26,	    0x31)	/* (L+A-P) >> 2 */
+     RELOC_NUMBER (R_860_PC26,      0x30)	/* (S+A-P) >> 2 */
+     RELOC_NUMBER (R_860_PLT26,     0x31)	/* (L+A-P) >> 2 */
      RELOC_NUMBER (R_860_PC16,      0x32)	/* (S+A-P) >> 2 */
      RELOC_NUMBER (R_860_LOW0,      0x40)	/* S+A */
-     RELOC_NUMBER (R_860_SPLIT0,    0x42)	/* S+A */       
+     RELOC_NUMBER (R_860_SPLIT0,    0x42)	/* S+A */
      RELOC_NUMBER (R_860_LOW1,      0x44)	/* S+A */
      RELOC_NUMBER (R_860_SPLIT1,    0x46)	/* S+A */
      RELOC_NUMBER (R_860_LOW2,      0x48)	/* S+A */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/microblaze.h ./include/elf/microblaze.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/microblaze.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/elf/microblaze.h	2018-07-10 02:06:14.000000000 +0000
@@ -58,7 +58,9 @@ START_RELOC_NUMBERS (elf_microblaze_relo
   RELOC_NUMBER (R_MICROBLAZE_TLSDTPREL64, 27)   /* TLS Offset Within TLS Block */
   RELOC_NUMBER (R_MICROBLAZE_TLSGOTTPREL32, 28) /* TLS Offset From Thread Pointer */
   RELOC_NUMBER (R_MICROBLAZE_TLSTPREL32, 29)    /* TLS Offset From Thread Pointer */
-   
+  RELOC_NUMBER (R_MICROBLAZE_TEXTPCREL_64, 30)  /* PC-relative TEXT offset.  */
+  RELOC_NUMBER (R_MICROBLAZE_TEXTREL_64, 31)    /* TEXT Entry offset 64-bit.  */
+  RELOC_NUMBER (R_MICROBLAZE_TEXTREL_32_LO, 32) /* TEXT Entry offset 32-bit.  */
 END_RELOC_NUMBERS (R_MICROBLAZE_max)
 
 /* Global base address names.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/mips.h ./include/elf/mips.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/mips.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/elf/mips.h	2018-07-10 02:06:14.000000000 +0000
@@ -1235,7 +1235,10 @@ extern void bfd_mips_elf_swap_abiflags_v
 #define AFL_ASE_XPA          0x00001000 /* XPA ASE.  */
 #define AFL_ASE_DSPR3        0x00002000 /* DSP R3 ASE.  */
 #define AFL_ASE_MIPS16E2     0x00004000 /* MIPS16e2 ASE.  */
-#define AFL_ASE_MASK         0x00007fff /* All ASEs.  */
+#define AFL_ASE_CRC          0x00008000 /* CRC ASE.  */
+#define AFL_ASE_RESERVED1    0x00010000 /* Reserved by MIPS Tech for WIP.  */
+#define AFL_ASE_GINV         0x00020000 /* GINV ASE.  */
+#define AFL_ASE_MASK         0x0002ffff /* All ASEs.  */
 
 /* Values for the isa_ext word of an ABI flags structure.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/nfp.h ./include/elf/nfp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/nfp.h	1970-01-01 00:00:00.000000000 +0000
+++ ./include/elf/nfp.h	2018-07-10 02:06:14.000000000 +0000
@@ -0,0 +1,292 @@
+/* NFP ELF support for BFD.
+   Copyright (C) 2017-2018 Free Software Foundation, Inc.
+   Contributed by Francois H. Theron <francois.theron@netronome.com>
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software Foundation,
+   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef _ELF_NFP_H
+#define _ELF_NFP_H
+
+#include "bfd.h"
+#include "elf/common.h"
+#include "elf/reloc-macros.h"
+#include "bfd_stdint.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#define ET_NFP_PARTIAL_REL (ET_LOPROC + ET_REL)
+#define ET_NFP_PARTIAL_EXEC (ET_LOPROC + ET_EXEC)
+
+/* NFP e_flags - chip family
+   Valid values for FAMILY are:
+   0x3200 - NFP-32xx
+   0x6000 - NFP-6xxx/NFP-4xxx.  */
+#define EF_NFP_MACH(ef_nfp)        (((ef_nfp) >> 8) & 0xFFFF)
+#define EF_NFP_SET_MACH(nfp_fam)   (((nfp_fam) & 0xFFFF) << 8)
+
+#define E_NFP_MACH_3200	0x3200
+#define E_NFP_MACH_6000	0x6000
+
+#define NFP_3200_CPPTGT_MSF0     1
+#define NFP_3200_CPPTGT_QDR      2
+#define NFP_3200_CPPTGT_MSF1     3
+#define NFP_3200_CPPTGT_HASH     4
+#define NFP_3200_CPPTGT_MU       7
+#define NFP_3200_CPPTGT_GS       8
+#define NFP_3200_CPPTGT_PCIE     9
+#define NFP_3200_CPPTGT_ARM     10
+#define NFP_3200_CPPTGT_CRYPTO  12
+#define NFP_3200_CPPTGT_CAP     13
+#define NFP_3200_CPPTGT_CT      14
+#define NFP_3200_CPPTGT_CLS     15
+
+#define NFP_6000_CPPTGT_NBI      1
+#define NFP_6000_CPPTGT_VQDR     2
+#define NFP_6000_CPPTGT_ILA      6
+#define NFP_6000_CPPTGT_MU       7
+#define NFP_6000_CPPTGT_PCIE     9
+#define NFP_6000_CPPTGT_ARM     10
+#define NFP_6000_CPPTGT_CRYPTO  12
+#define NFP_6000_CPPTGT_CTXPB   14
+#define NFP_6000_CPPTGT_CLS     15
+
+/* NFP Section types
+   MECONFIG - NFP-32xx only, ME CSR configurations
+   INITREG - A generic register initialisation section (chip or ME CSRs/GPRs)
+   UDEBUG - Legacy-style debug data section.  */
+#define SHT_NFP_MECONFIG	(SHT_LOPROC + 1)
+#define SHT_NFP_INITREG		(SHT_LOPROC + 2)
+#define SHT_NFP_UDEBUG		SHT_LOUSER
+
+/* NFP SECTION flags
+     ELF-64 sh_flags is 64-bit, but there is no info on what the upper 32 bits
+     are expected to be used for, it is not marked reserved either.
+     We'll use them for NFP-specific flags since we don't use ELF-32.
+
+   INIT - Sections that are loaded and executed before the final text
+	  microcode.  Non-code INIT sections are loaded first, then other
+	  memory secions, then INIT2 sections, then INIT-code sections.
+   INIT2 - Sections that are loaded before INIT-code sections, used for
+	   transient configuration before executing INIT-code section
+	   microcode.
+   SCS - The number of additional ME codestores being shared with the group's
+	 base ME of the section, e.g. 0 for no SCS, 1 for dual and 3 for
+	 quad.  If this is 0 it is possible that stagger-style SCS codestore
+	 sections are being used.  For stagger-style each section is simply
+	 loaded directly to the ME it is assigned to.  If these flags are
+	 used, virtual address space loading will be used - one large section
+	 loaded to the group's base ME will be packed across shared MEs by
+	 hardware.  This is not available on all ME versions.
+
+    NFP_ELF_SHF_GET_SCS (val) returns the number of additional codestores
+    being shared with the group's base ME, e.g. 0 for no SCS,
+    1 for dual SCS, 3 for quad SCS.  */
+
+#define SHF_NFP_INIT		0x80000000
+#define SHF_NFP_INIT2		0x40000000
+#define SHF_NFP_SCS(shf)	(((shf) >> 32) & 0xFF)
+#define SHF_NFP_SET_SCS(v)	(((BFD_HOST_U_64_BIT)((v) & 0xFF)) << 32)
+
+/* NFP Section Info
+   For PROGBITS and NOBITS sections:
+     MEMTYPE - the memory type
+     DOMAIN - The island ID and ME number where the data will be loaded.
+	      For NFP-32xx, this is an island number or linear ME number.
+	      For NFP-6xxx, DOMAIN<15:8> == island ID, DOMAIN<7:0> is 0 based
+	      ME number (if applicable).
+   For INITREG sections:
+     ISLAND - island ID (if it's a ME target, ME numbers are in the
+	      section data)
+     CPPTGT - CPP Target ID
+     CPPACTRD - CPP Read Action
+     CPPTOKRD - CPP Read Token
+     CPPACTWR - CPP Write Action
+     CPPTOKWR - CPP Write Token
+     ORDER - Controls the order in which the loader processes sections with
+	     the same info fields.  */
+
+#define SHI_NFP_DOMAIN(shi)		(((shi) >> 16) & 0xFFFF)
+#define SHI_NFP_MEMTYPE(shi)		( (shi) & 0xFFFF)
+#define SHI_NFP_SET_DOMAIN(v)		(((v) & 0xFFFF) << 16)
+#define SHI_NFP_SET_MEMTYPE(v)		( (v) & 0xFFFF)
+
+#define SHI_NFP_IREG_ISLAND(shi)	(((shi) >> 26) & 0x3F)
+#define SHI_NFP_IREG_CPPTGT(shi)	(((shi) >> 22) &  0xF)
+#define SHI_NFP_IREG_CPPACTRD(shi)	(((shi) >> 17) & 0x1F)
+#define SHI_NFP_IREG_CPPTOKRD(shi)	(((shi) >> 15) &  0x3)
+#define SHI_NFP_IREG_CPPACTWR(shi)	(((shi) >> 10) & 0x1F)
+#define SHI_NFP_IREG_CPPTOKWR(shi)	(((shi) >> 8)  &  0x3)
+#define SHI_NFP_IREG_ORDER(shi)		( (shi) & 0xFF)
+#define SHI_NFP_SET_IREG_ISLAND(v)	(((v) & 0x3F) << 26)
+#define SHI_NFP_SET_IREG_CPPTGT(v)	(((v) &  0xF) << 22)
+#define SHI_NFP_SET_IREG_CPPACTRD(v)	(((v) & 0x1F) << 17)
+#define SHI_NFP_SET_IREG_CPPTOKRD(v)	(((v) &  0x3) << 15)
+#define SHI_NFP_SET_IREG_CPPACTWR(v)	(((v) & 0x1F) << 10)
+#define SHI_NFP_SET_IREG_CPPTOKWR(v)	(((v) &  0x3) << 8)
+#define SHI_NFP_SET_IREG_ORDER(v)	( (v) & 0xFF)
+
+/* CtXpb/reflect_read_sig_init/reflect_write_sig_init
+   identifies Init-CSR sections for ME CSRs.  */
+#define SHI_NFP_6000_IS_IREG_MECSR(shi) ( \
+  SHI_NFP_IREG_CPPTGT (shi) == NFP_6000_CPPTGT_CTXPB \
+  && SHI_NFP_IREG_CPPACTRD (shi) == 2 \
+  && SHI_NFP_IREG_CPPTOKRD (shi) == 1 \
+  && SHI_NFP_IREG_CPPACTWR (shi) == 3 \
+  && SHI_NFP_IREG_CPPTOKWR (shi) == 1 \
+)
+
+/* Transient INITREG sections will be validated against the target
+   but will not be kept - validate, write or read and discard.
+   They will still be handled last (in order).  */
+#define SHI_NFP_IREG_ORDER_TRANSIENT	0xFF
+
+/* Below are some extra macros to translate SHI fields in more specific
+   contexts.
+
+   For NFP-32xx, DOMAIN is set to a global linear ME number (0 to 39).
+   An NFP-32xx has 8 MEs per island and up to 5 islands.  */
+
+#define SHI_NFP_3200_ISLAND(shi)	((SHI_NFP_DOMAIN (shi) >> 3) & 0x7)
+#define SHI_NFP_3200_MENUM(shi)		( SHI_NFP_DOMAIN (shi)       & 0x7)
+#define SHI_NFP_SET_3200_ISLAND(v)	SHI_NFP_SET_DOMAIN (((v) & 0x7) << 3)
+#define SHI_NFP_SET_3200_MENUM(v)	SHI_NFP_SET_DOMAIN ( (v) & 0x7)
+
+#define SHI_NFP_ISLAND(shi)		((SHI_NFP_DOMAIN (shi) >> 8) & 0xFF)
+#define SHI_NFP_MENUM(shi)		( SHI_NFP_DOMAIN (shi)       & 0xFF)
+#define SHI_NFP_SET_ISLAND(shi)		SHI_NFP_SET_DOMAIN (((shi) & 0xFF) << 8)
+#define SHI_NFP_SET_MENUM(shi)		SHI_NFP_SET_DOMAIN ( (shi) & 0xFF)
+
+#define SHI_NFP_MEMTYPE_NONE 		0
+#define SHI_NFP_MEMTYPE_USTORE 		1
+#define SHI_NFP_MEMTYPE_LMEM 		2
+#define SHI_NFP_MEMTYPE_CLS 		3
+#define SHI_NFP_MEMTYPE_DRAM 		4
+#define SHI_NFP_MEMTYPE_MU 		4
+#define SHI_NFP_MEMTYPE_SRAM 		5
+#define SHI_NFP_MEMTYPE_GS 		6
+#define SHI_NFP_MEMTYPE_PPC_LMEM 	7
+#define SHI_NFP_MEMTYPE_PPC_SMEM 	8
+#define SHI_NFP_MEMTYPE_EMU_CACHE 	9
+
+/* VTP_FORCE is for use by the NFP Linker+Loader only.  */
+#define NFP_IREG_VTP_FORCE		0
+#define NFP_IREG_VTP_CONST		1
+#define NFP_IREG_VTP_REQUIRED		2
+#define NFP_IREG_VTP_VOLATILE_INIT	3
+#define NFP_IREG_VTP_VOLATILE_NOINIT	4
+#define NFP_IREG_VTP_INVALID		5
+
+/* Init-CSR entry w0 fields:
+   NLW - Not Last Word
+   CTX - ME context number (if applicable)
+   VTP - Value type
+   COH - CPP Offset High 8 bits.  */
+#define NFP_IREG_ENTRY_WO_NLW(w0) (((w0) >> 31) & 0x1)
+#define NFP_IREG_ENTRY_WO_CTX(w0) (((w0) >> 28) & 0x7)
+#define NFP_IREG_ENTRY_WO_VTP(w0) (((w0) >> 25) & 0x7)
+#define NFP_IREG_ENTRY_WO_COH(w0) (((w0) >> 0) & 0xFF)
+
+typedef struct
+{
+  uint32_t w0;
+  uint32_t cpp_offset_lo;
+  uint32_t val;
+  uint32_t mask;
+} Elf_Nfp_InitRegEntry;
+
+typedef struct
+{
+  uint32_t ctx_enables;
+  uint32_t entry;
+  uint32_t misc_control;
+  uint32_t reserved;
+} Elf_Nfp_MeConfig;
+
+/* Relocations.  */
+START_RELOC_NUMBERS (elf_nfp3200_reloc_type)
+    RELOC_NUMBER (R_NFP3200_NOTYPE, 0)
+    RELOC_NUMBER (R_NFP3200_W32LE, 1)
+    RELOC_NUMBER (R_NFP3200_SRC8_A, 2)
+    RELOC_NUMBER (R_NFP3200_SRC8_B, 3)
+    RELOC_NUMBER (R_NFP3200_IMMED8_I, 4)
+    RELOC_NUMBER (R_NFP3200_SC, 5)
+    RELOC_NUMBER (R_NFP3200_IMMED_LO16_I_A, 6)
+    RELOC_NUMBER (R_NFP3200_IMMED_LO16_I_B, 7)
+    RELOC_NUMBER (R_NFP3200_SRC7_B, 8)
+    RELOC_NUMBER (R_NFP3200_SRC7_A, 9)
+    RELOC_NUMBER (R_NFP3200_SRC8_I_B, 10)
+    RELOC_NUMBER (R_NFP3200_SRC8_I_A, 11)
+    RELOC_NUMBER (R_NFP3200_IMMED_HI16_I_A, 12)
+    RELOC_NUMBER (R_NFP3200_IMMED_HI16_I_B, 13)
+    RELOC_NUMBER (R_NFP3200_RSVD_0, 14)
+    RELOC_NUMBER (R_NFP3200_RSVD_1, 15)
+    RELOC_NUMBER (R_NFP3200_RSVD_2, 16)
+    RELOC_NUMBER (R_NFP3200_RSVD_3, 17)
+    RELOC_NUMBER (R_NFP3200_RSVD_4, 18)
+    RELOC_NUMBER (R_NFP3200_RSVD_5, 19)
+    RELOC_NUMBER (R_NFP3200_RSVD_6, 20)
+    RELOC_NUMBER (R_NFP3200_W64LE, 21)
+    RELOC_NUMBER (R_NFP3200_W32BE, 22)
+    RELOC_NUMBER (R_NFP3200_W64BE, 23)
+    RELOC_NUMBER (R_NFP3200_W32LE_AND, 24)
+    RELOC_NUMBER (R_NFP3200_W32BE_AND, 25)
+    RELOC_NUMBER (R_NFP3200_W32LE_OR, 26)
+    RELOC_NUMBER (R_NFP3200_W32BE_OR, 27)
+    RELOC_NUMBER (R_NFP3200_W64LE_AND, 28)
+    RELOC_NUMBER (R_NFP3200_W64BE_AND, 29)
+    RELOC_NUMBER (R_NFP3200_W64LE_OR, 30)
+    RELOC_NUMBER (R_NFP3200_W64BE_OR, 31)
+END_RELOC_NUMBERS (R_NFP3200_MAX)
+
+START_RELOC_NUMBERS (elf_nfp_reloc_type)
+    RELOC_NUMBER (R_NFP_NOTYPE, 0)
+    RELOC_NUMBER (R_NFP_W32LE, 1)
+    RELOC_NUMBER (R_NFP_SRC8_A, 2)
+    RELOC_NUMBER (R_NFP_SRC8_B, 3)
+    RELOC_NUMBER (R_NFP_IMMED8_I, 4)
+    RELOC_NUMBER (R_NFP_SC, 5)
+    RELOC_NUMBER (R_NFP_IMMED_LO16_I_A, 6)
+    RELOC_NUMBER (R_NFP_IMMED_LO16_I_B, 7)
+    RELOC_NUMBER (R_NFP_SRC7_B, 8)
+    RELOC_NUMBER (R_NFP_SRC7_A, 9)
+    RELOC_NUMBER (R_NFP_SRC8_I_B, 10)
+    RELOC_NUMBER (R_NFP_SRC8_I_A, 11)
+    RELOC_NUMBER (R_NFP_IMMED_HI16_I_A, 12)
+    RELOC_NUMBER (R_NFP_IMMED_HI16_I_B, 13)
+    RELOC_NUMBER (R_NFP_W64LE, 14)
+    RELOC_NUMBER (R_NFP_SH_INFO, 15)
+    RELOC_NUMBER (R_NFP_W32BE, 16)
+    RELOC_NUMBER (R_NFP_W64BE, 17)
+    RELOC_NUMBER (R_NFP_W32_29_24, 18)
+    RELOC_NUMBER (R_NFP_W32LE_AND, 19)
+    RELOC_NUMBER (R_NFP_W32BE_AND, 20)
+    RELOC_NUMBER (R_NFP_W32LE_OR, 21)
+    RELOC_NUMBER (R_NFP_W32BE_OR, 22)
+    RELOC_NUMBER (R_NFP_W64LE_AND, 23)
+    RELOC_NUMBER (R_NFP_W64BE_AND, 24)
+    RELOC_NUMBER (R_NFP_W64LE_OR, 25)
+    RELOC_NUMBER (R_NFP_W64BE_OR, 26)
+END_RELOC_NUMBERS (R_NFP_MAX)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ELF_NFP_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/ppc64.h ./include/elf/ppc64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/ppc64.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/elf/ppc64.h	2018-07-10 02:06:14.000000000 +0000
@@ -154,6 +154,10 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_typ
   RELOC_NUMBER (R_PPC64_ADDR64_LOCAL,	   117)
   RELOC_NUMBER (R_PPC64_ENTRY,		   118)
 
+/* Marker reloc for inline plt call insns.  */
+  RELOC_NUMBER (R_PPC64_PLTSEQ,		   119)
+  RELOC_NUMBER (R_PPC64_PLTCALL,	   120)
+
 #ifndef RELOC_MACROS_GEN_FUNC
 /* Relocation only used internally by ld.  If you need to use these
    reloc numbers, you can change them to some other unused value
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/ppc.h ./include/elf/ppc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/ppc.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/elf/ppc.h	2018-07-10 02:06:14.000000000 +0000
@@ -134,6 +134,10 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type)
   RELOC_NUMBER (R_PPC_EMB_BIT_FLD,	115)
   RELOC_NUMBER (R_PPC_EMB_RELSDA,	116)
 
+/* Marker reloc for inline plt call insns.  */
+  RELOC_NUMBER (R_PPC_PLTSEQ,		119)
+  RELOC_NUMBER (R_PPC_PLTCALL,		120)
+
 /* PowerPC VLE relocations.  */
   RELOC_NUMBER (R_PPC_VLE_REL8,		216)
   RELOC_NUMBER (R_PPC_VLE_REL15,	217)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/riscv.h ./include/elf/riscv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/riscv.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/elf/riscv.h	2018-07-10 02:06:14.000000000 +0000
@@ -110,6 +110,9 @@ END_RELOC_NUMBERS (R_RISCV_max)
 /* File uses the quad-float ABI.  */
 #define EF_RISCV_FLOAT_ABI_QUAD 0x0006
 
+/* File uses the 32E base integer instruction.  */
+#define EF_RISCV_RVE 0x0008
+
 /* The name of the global pointer symbol.  */
 #define RISCV_GP_SYMBOL "__global_pointer$"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/s12z.h ./include/elf/s12z.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/s12z.h	1970-01-01 00:00:00.000000000 +0000
+++ ./include/elf/s12z.h	2018-07-10 02:06:14.000000000 +0000
@@ -0,0 +1,36 @@
+/* s12z ELF support for BFD.
+   Copyright (C) 1999-2018 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software Foundation,
+   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef _ELF_S12Z_H
+#define _ELF_S12Z_H
+
+#include "elf/reloc-macros.h"
+
+/* Relocation types.  */
+START_RELOC_NUMBERS (elf_s12z_reloc_type)
+  RELOC_NUMBER (R_S12Z_NONE, 0)
+  RELOC_NUMBER (R_S12Z_OPR, 1)
+  RELOC_NUMBER (R_S12Z_UKNWN_2, 2)
+  RELOC_NUMBER (R_S12Z_PCREL_7_15, 3)
+  RELOC_NUMBER (R_S12Z_EXT24, 4)
+  RELOC_NUMBER (R_S12Z_UKNWN_3, 5)
+  RELOC_NUMBER (R_S12Z_EXT32, 6)
+END_RELOC_NUMBERS (R_S12Z_max)
+
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/xtensa.h ./include/elf/xtensa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/elf/xtensa.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/elf/xtensa.h	2018-07-10 02:06:14.000000000 +0000
@@ -210,6 +210,14 @@ typedef struct property_table_entry_t
 #define XTENSA_PROP_INSN_ABSLIT        0x00020000
 
 extern asection *xtensa_make_property_section (asection *, const char *);
+extern int
+xtensa_read_table_entries (bfd *abfd,
+			   asection *section,
+			   property_table_entry **table_p,
+			   const char *sec_name,
+			   bfd_boolean output_addr);
+extern int
+xtensa_compute_fill_extra_space (property_table_entry *entry);
 
 #ifdef __cplusplus
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/ieee.h ./include/ieee.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/ieee.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/ieee.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,165 +0,0 @@
-/* IEEE Standard 695-1980 "Universal Format for Object Modules" header file
-
-   Copyright (C) 2001-2018 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 2, 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor,
-   Boston, MA 02110-1301, USA.
-   
-   Contributed by Cygnus Support.  */
-
-#define N_W_VARIABLES 8
-#define Module_Beginning 0xe0
-
-typedef struct ieee_module
-  {
-    char *processor;
-    char *module_name;
-  }
-ieee_module_begin_type;
-
-#define Address_Descriptor 0xec
-typedef struct ieee_address
-  {
-    bfd_vma number_of_bits_mau;
-    bfd_vma number_of_maus_in_address;
-
-    unsigned char byte_order;
-#define IEEE_LITTLE 0xcc
-#define IEEE_BIG 0xcd
-  }
-ieee_address_descriptor_type;
-
-typedef union ieee_w_variable
-  {
-    file_ptr offset[N_W_VARIABLES];
-
-    struct
-      {
-	file_ptr extension_record;
-	file_ptr environmental_record;
-	file_ptr section_part;
-	file_ptr external_part;
-	file_ptr debug_information_part;
-	file_ptr data_part;
-	file_ptr trailer_part;
-	file_ptr me_record;
-      }
-    r;
-  }
-ieee_w_variable_type;
-
-typedef enum ieee_record
-  { 
-    ieee_number_start_enum = 0x00,
-    ieee_number_end_enum=0x7f,
-    ieee_number_repeat_start_enum = 0x80,
-    ieee_number_repeat_end_enum = 0x88,
-    ieee_number_repeat_4_enum = 0x84,
-    ieee_number_repeat_3_enum = 0x83,
-    ieee_number_repeat_2_enum = 0x82,
-    ieee_number_repeat_1_enum = 0x81,
-    ieee_module_beginning_enum = 0xe0,
-    ieee_module_end_enum = 0xe1,
-    ieee_extension_length_1_enum = 0xde,
-    ieee_extension_length_2_enum = 0xdf,
-    ieee_section_type_enum = 0xe6,
-    ieee_section_alignment_enum = 0xe7,
-    ieee_external_symbol_enum = 0xe8,
-    ieee_comma = 0x90,
-    ieee_external_reference_enum = 0xe9,
-    ieee_set_current_section_enum = 0xe5,
-    ieee_address_descriptor_enum = 0xec,
-    ieee_load_constant_bytes_enum = 0xed,
-    ieee_load_with_relocation_enum = 0xe4,
-
-    ieee_variable_A_enum = 0xc1,
-    ieee_variable_B_enum = 0xc2,
-    ieee_variable_C_enum = 0xc3,
-    ieee_variable_D_enum = 0xc4,
-    ieee_variable_E_enum = 0xc5,
-    ieee_variable_F_enum = 0xc6,
-    ieee_variable_G_enum = 0xc7,
-    ieee_variable_H_enum = 0xc8,
-    ieee_variable_I_enum = 0xc9,
-    ieee_variable_J_enum = 0xca,
-    ieee_variable_K_enum = 0xcb,
-    ieee_variable_L_enum = 0xcc,
-    ieee_variable_M_enum = 0xcd,
-    ieee_variable_N_enum = 0xce,
-    ieee_variable_O_enum = 0xcf,
-    ieee_variable_P_enum = 0xd0,
-    ieee_variable_Q_enum = 0xd1,
-    ieee_variable_R_enum = 0xd2,
-    ieee_variable_S_enum = 0xd3,
-    ieee_variable_T_enum = 0xd4,
-    ieee_variable_U_enum = 0xd5,
-    ieee_variable_V_enum = 0xd6,
-    ieee_variable_W_enum = 0xd7,
-    ieee_variable_X_enum = 0xd8,
-    ieee_variable_Y_enum = 0xd9,
-    ieee_variable_Z_enum = 0xda,
-    ieee_function_plus_enum = 0xa5,
-    ieee_function_minus_enum = 0xa6,
-    ieee_function_signed_open_b_enum = 0xba,
-    ieee_function_signed_close_b_enum = 0xbb,
-
-    ieee_function_unsigned_open_b_enum = 0xbc,
-    ieee_function_unsigned_close_b_enum = 0xbd,
-
-    ieee_function_either_open_b_enum = 0xbe,
-    ieee_function_either_close_b_enum = 0xbf,
-    ieee_record_seperator_enum = 0xdb,
-
-    ieee_e2_first_byte_enum = 0xe2,
-    ieee_section_size_enum = 0xe2d3,
-    ieee_physical_region_size_enum = 0xe2c1,
-    ieee_region_base_address_enum = 0xe2c2,
-    ieee_mau_size_enum = 0xe2c6,
-    ieee_m_value_enum = 0xe2cd,
-    ieee_section_base_address_enum = 0xe2cc,
-    ieee_asn_record_enum = 0xe2ce,
-    ieee_section_offset_enum = 0xe2d2,
-    ieee_value_starting_address_enum = 0xe2c7,
-    ieee_assign_value_to_variable_enum = 0xe2d7,
-    ieee_set_current_pc_enum = 0xe2d0,
-    ieee_value_record_enum = 0xe2c9,
-    ieee_nn_record = 0xf0,
-    ieee_at_record_enum = 0xf1,
-    ieee_ty_record_enum = 0xf2,
-    ieee_attribute_record_enum = 0xf1c9,
-    ieee_atn_record_enum = 0xf1ce,
-    ieee_external_reference_info_record_enum = 0xf1d8,
-    ieee_weak_external_reference_enum= 0xf4,
-    ieee_repeat_data_enum = 0xf7,
-    ieee_bb_record_enum = 0xf8,
-    ieee_be_record_enum = 0xf9
-  }
-ieee_record_enum_type;
-
-typedef struct ieee_section
-  {
-    unsigned int section_index;
-    unsigned int section_type;
-    char *       section_name;
-    unsigned int parent_section_index;
-    unsigned int sibling_section_index;
-    unsigned int context_index;
-  }
-ieee_section_type;
-
-#define IEEE_REFERENCE_BASE 11
-#define IEEE_PUBLIC_BASE 32
-#define IEEE_SECTION_NUMBER_BASE 1
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/longlong.h ./include/longlong.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/longlong.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/longlong.h	2018-07-10 02:06:14.000000000 +0000
@@ -1050,6 +1050,56 @@ extern UDItype __umulsidi3 (USItype, USI
   } while (0)
 #endif
 
+#if defined(__riscv)
+#ifdef __riscv_mul
+#define __umulsidi3(u,v) ((UDWtype)(UWtype)(u) * (UWtype)(v))
+#define __muluw3(a, b) ((UWtype)(a) * (UWtype)(b))
+#else
+#if __riscv_xlen == 32
+  #define MULUW3 "call __mulsi3"
+#elif __riscv_xlen == 64
+  #define MULUW3 "call __muldi3"
+#else
+#error unsupport xlen
+#endif /* __riscv_xlen */
+/* We rely on the fact that MULUW3 doesn't clobber the t-registers.
+   It can get better register allocation result.  */
+#define __muluw3(a, b) \
+  ({ \
+    register UWtype __op0 asm ("a0") = a; \
+    register UWtype __op1 asm ("a1") = b; \
+    asm volatile (MULUW3 \
+                  : "+r" (__op0), "+r" (__op1) \
+                  : \
+                  : "ra", "a2", "a3"); \
+    __op0; \
+  })
+#endif /* __riscv_mul */
+#define umul_ppmm(w1, w0, u, v) \
+  do { \
+    UWtype __x0, __x1, __x2, __x3; \
+    UHWtype __ul, __vl, __uh, __vh; \
+ \
+    __ul = __ll_lowpart (u); \
+    __uh = __ll_highpart (u); \
+    __vl = __ll_lowpart (v); \
+    __vh = __ll_highpart (v); \
+ \
+    __x0 = __muluw3 (__ul, __vl); \
+    __x1 = __muluw3 (__ul, __vh); \
+    __x2 = __muluw3 (__uh, __vl); \
+    __x3 = __muluw3 (__uh, __vh); \
+ \
+    __x1 += __ll_highpart (__x0);/* this can't give carry */ \
+    __x1 += __x2; /* but this indeed can */ \
+    if (__x1 < __x2) /* did we get it? */ \
+      __x3 += __ll_B; /* yes, add it in the proper pos.  */ \
+ \
+    (w1) = __x3 + __ll_highpart (__x1); \
+    (w0) = __ll_lowpart (__x1) * __ll_B + __ll_lowpart (__x0); \
+  } while (0)
+#endif /* __riscv */
+
 #if defined(__sh__) && W_TYPE_SIZE == 32
 #ifndef __sh1__
 #define umul_ppmm(w1, w0, u, v) \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/mach-o/unwind.h ./include/mach-o/unwind.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/mach-o/unwind.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/mach-o/unwind.h	2018-07-10 02:06:14.000000000 +0000
@@ -37,7 +37,7 @@
    %rbp-2040 (offset is encoded in offset bits * 8).  Registers saved are
    encoded in registers bits, 3 bits per register.  */
 #define MACH_O_UNWIND_X86_64_MODE_RBP_FRAME  0x01000000
-#define  MACH_O_UNWIND_X86_64_RBP_FRAME_REGSITERS 0x00007FFF
+#define  MACH_O_UNWIND_X86_64_RBP_FRAME_REGISTERS 0x00007FFF
 #define  MACH_O_UNWIND_X86_64_RBP_FRAME_OFFSET    0x00FF0000
 
 /* Frameless function, with a small stack size.  */
@@ -75,7 +75,7 @@
    %ebp-240 (offset is encoded in offset bits * 4).  Registers saved are
    encoded in registers bits, 3 bits per register.  */
 #define MACH_O_UNWIND_X86_MODE_EBP_FRAME  0x01000000
-#define  MACH_O_UNWIND_X86_EBP_FRAME_REGSITERS 0x00007FFF
+#define  MACH_O_UNWIND_X86_EBP_FRAME_REGISTERS 0x00007FFF
 #define  MACH_O_UNWIND_X86_EBP_FRAME_OFFSET    0x00FF0000
 
 /* Frameless function, with a small stack size.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/alpha-ext.h ./include/nlm/alpha-ext.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/alpha-ext.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/nlm/alpha-ext.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,167 +0,0 @@
-/* Alpha NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-   By Ian Lance Taylor, Cygnus Support
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* An Alpha NLM starts with an instance of this structure.  */
-
-struct nlm32_alpha_external_prefix_header
-{
-  /* Magic number.  Must be NLM32_ALPHA_MAGIC.  */
-  unsigned char magic[4];
-  /* Format descriptor.  Current value is 2.  */
-  unsigned char format[4];
-  /* Size of prefix header.  */
-  unsigned char size[4];
-  /* Padding.  */
-  unsigned char pad1[4];
-  /* More fields may be added later, supposedly.  */
-};
-
-/* The external format of an Alpha NLM reloc.  This is the same as an
-   Alpha ECOFF reloc.  */
-
-struct nlm32_alpha_external_reloc
-{
-  unsigned char r_vaddr[8];
-  unsigned char r_symndx[4];
-  unsigned char r_bits[4];
-};
-
-/* Constants to unpack the r_bits field of a reloc.  */
-
-#define RELOC_BITS0_TYPE_LITTLE			0xff
-#define RELOC_BITS0_TYPE_SH_LITTLE		0
-
-#define RELOC_BITS1_EXTERN_LITTLE		0x01
-
-#define RELOC_BITS1_OFFSET_LITTLE		0x7e
-#define RELOC_BITS1_OFFSET_SH_LITTLE		1
-
-#define RELOC_BITS1_RESERVED_LITTLE		0x80
-#define RELOC_BITS1_RESERVED_SH_LITTLE		7
-#define RELOC_BITS2_RESERVED_LITTLE		0xff
-#define RELOC_BITS2_RESERVED_SH_LEFT_LITTLE	1
-#define RELOC_BITS3_RESERVED_LITTLE		0x03
-#define RELOC_BITS3_RESERVED_SH_LEFT_LITTLE	9
-
-#define RELOC_BITS3_SIZE_LITTLE			0xfc
-#define RELOC_BITS3_SIZE_SH_LITTLE		2
-
-/* The external format of the fixed header.  */
-
-typedef struct nlm32_alpha_external_fixed_header
-{
-
-  /* The signature field identifies the file as an NLM.  It must contain
-     the signature string, which depends upon the NLM target. */
-
-  unsigned char signature[24];
-
-  /* The version of the header.  At this time, the highest version number
-     is 4. */
-
-  unsigned char version[4];
-
-  /* The name of the module, which must be a DOS name (1-8 characters followed
-     by a period and a 1-3 character extension).  The first byte is the byte
-     length of the name and the last byte is a null terminator byte.  This
-     field is fixed length, and any unused bytes should be null bytes.  The
-     value is set by the OUTPUT keyword to NLMLINK. */
-
-  unsigned char moduleName[14];
-
-  /* Padding to make it come out correct. */
-
-  unsigned char pad1[2];
-
-  /* The byte offset of the code image from the start of the file. */
-
-  unsigned char codeImageOffset[4];
-
-  /* The size of the code image, in bytes. */
-
-  unsigned char codeImageSize[4];
-
-  /* The byte offset of the data image from the start of the file. */
-
-  unsigned char dataImageOffset[4];
-
-  /* The size of the data image, in bytes. */
-
-  unsigned char dataImageSize[4];
-
-  /* The size of the uninitialized data region that the loader is to be
-     allocated at load time.  Uninitialized data follows the initialized
-     data in the NLM address space. */
-
-  unsigned char uninitializedDataSize[4];
-
-  /* The byte offset of the custom data from the start of the file.  The
-     custom data is set by the CUSTOM keyword to NLMLINK.  It is possible
-     for this to be EOF if there is no custom data. */
-
-  unsigned char customDataOffset[4];
-
-  /* The size of the custom data, in bytes. */
-
-  unsigned char customDataSize[4];
-
-  /* The byte offset of the module dependencies from the start of the file.
-     The module dependencies are determined by the MODULE keyword in
-     NLMLINK. */
-
-  unsigned char moduleDependencyOffset[4];
-
-  /* The number of module dependencies at the moduleDependencyOffset. */
-
-  unsigned char numberOfModuleDependencies[4];
-
-  /* The byte offset of the relocation fixup data from the start of the file */
-     
-  unsigned char relocationFixupOffset[4];
-
-  unsigned char numberOfRelocationFixups[4];
-
-  unsigned char externalReferencesOffset[4];
-
-  unsigned char numberOfExternalReferences[4];
-
-  unsigned char publicsOffset[4];
-
-  unsigned char numberOfPublics[4];
-
-  /* The byte offset of the internal debug info from the start of the file.
-     It is possible for this to be EOF if there is no debug info. */
-
-  unsigned char debugInfoOffset[4];
-
-  unsigned char numberOfDebugRecords[4];
-
-  unsigned char codeStartOffset[4];
-
-  unsigned char exitProcedureOffset[4];
-
-  unsigned char checkUnloadProcedureOffset[4];
-
-  unsigned char moduleType[4];
-
-  unsigned char flags[4];
-
-} Nlm32_alpha_External_Fixed_Header;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/ChangeLog-9315 ./include/nlm/ChangeLog-9315
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/ChangeLog-9315	2018-07-03 02:06:29.000000000 +0000
+++ ./include/nlm/ChangeLog-9315	1970-01-01 00:00:00.000000000 +0000
@@ -1,127 +0,0 @@
-2015-01-01  Alan Modra  <amodra@gmail.com>
-
-	Update year range in copyright notice of all files.
-
-2014-03-05  Alan Modra  <amodra@gmail.com>
-
-	Update copyright years.
-
-2010-04-15  Nick Clifton  <nickc@redhat.com>
-
-	* alpha-ext.h: Update copyright notice to use GPLv3.
-	* common.h: Likewise.
-	* external.h: Likewise.
-	* i386-ext.h: Likewise.
-	* internal.h: Likewise.
-	* ppc-ext.h: Likewise.
-	* sparc32-ext.h: Likewise.
-
-2005-05-10  Nick Clifton  <nickc@redhat.com>
-
-	* Update the address and phone number of the FSF organization in
-	the GPL notices in the following files:
-	alpha-ext.h, common.h, external.h, i386-ext.h, internal.h,
-	ppc-ext.h, sparc32-ext.h
-
-2003-08-07  Alan Modra  <amodra@bigpond.net.au>
-
-	* internal.h (Nlm_Internal_Custom_Header): Replace PTR with void *.
-
-2001-10-02  Alan Modra  <amodra@bigpond.net.au>
-
-	* common.h (NLM_CAT, NLM_CAT3): Don't define.
-	(NLM_CAT4): Update conditions under which this is defined.  Document
-	why CONCAT4 can't be used.
-
-1994-05-06  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
-
-	* external.h (nlmNAME(External_Custom_Header)): Add length,
-	dataOffset, and dataStamp field.
-	(nlmNAME(External_Cygnus_Ext_Header)): Remove.
-	* internal.h (Nlm_Internal_Custom_Header): Add hdrLength,
-	dataOffset, dataStamp and hdr fields.
-
-1994-04-22  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
-
-	* external.h (struct nlmNAME(external_cygnus_ext_header)): Rename
-	from nlmNAME(external_cygnus_section_header).  Change stamp field
-	to 8 bytes.  Add bytes field.
-	* internal.h (nlm_internal_cygnus_ext_header): Rename from
-	nlm_internal_cygnus_section_header.  Change stamp field to 8
-	bytes.
-
-1994-04-21  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
-
-	* internal.h (struct nlm_internal_cygnus_section_header): Define.
-	* external.h (struct nlmNAME(external_cygnus_section_header):
-	Define.
-
-1994-04-20  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
-
-	* internal.h (struct nlm_internal_custom_header): Remove
-	debugRecOffset and debugRecLength fields.  Add data field.
-	* external.h (struct nlmNAME(external_custom_header)): Remove
-	debugRecOffset and debugRecLength fields.
-
-1994-02-07  Jim Kingdon  (kingdon@lioth.cygnus.com)
-
-	* internal.h: Change HOST_64_BIT to BFD_HOST_64_BIT.
-
-1993-12-02  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
-
-	* alpha-ext.h: New file describing formats of information in Alpha
-	NetWare files.
-	* common.h: Define some non-external Alpha information.
-
-1993-11-17  Sean Eric Fagan  (sef@cygnus.com)
-
-	* external.h: Don't define external_fixed_header here.
-	* i386-ext.h, sparc32-ext.h: New header files to define
-	external_fixed_header for particular CPU's.
-
-1993-10-27  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
-
-	* internal.h (Nlm_Internal_Extended_Header): Added fields
-	sharedDebugRecordOffset and sharedDebugRecordCount.
-	* external.h (NlmNAME(External_Extended_Header)): Likewise.
-
-	* common.h (NLM_SIGNATURE): Do not define (it's different for each
-	backend).
-
-1993-08-31  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
-
-	* internal.h: Change length fields of type char to type unsigned
-	char.
-
-1993-07-31  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
-
-	* common.h (NLM_HIBIT, NLM_HEADER_VERSION): Define.
-
-1993-07-22  Fred Fish  (fnf@deneb.cygnus.com)
-
-	* common.h (NLM_CAT*, NLM_ARCH_SIZE, NLM_TARGET_LONG_SIZE,
-	NLM_TARGET_ADDRESS_SIZE, NLM_NAME, NlmNAME, nlmNAME):  New
-	macros.
-	* external.h (TARGET_LONG_SIZE, TARGET_ADDRESS_SIZE): Remove
-	macros, convert usages to NLM_ equivalents.
-	* external.h:  Use nlmNAME and NlmNAME macros to derive both
-	32 and 64 bit versions.
-
-1993-07-20  Fred Fish  (fnf@deneb.cygnus.com)
-
-	* (common.h, external.h, internal.h):  New files for NLM/NetWare
-	support.
-
-
-Copyright (C) 1993-2015 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.
-
-Local Variables:
-mode: change-log
-left-margin: 8
-fill-column: 74
-version-control: never
-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.1.0.20180703/include/nlm/common.h ./include/nlm/common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/common.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/nlm/common.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,123 +0,0 @@
-/* NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   Written by Fred Fish @ Cygnus Support
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* This file is part of NLM support for BFD, and contains the portions
-   that are common to both the internal and external representations.  */
-
-/* If NLM_ARCH_SIZE is not defined, default to 32.  NLM_ARCH_SIZE is
-   optionally defined by the application.  */
-
-#ifndef NLM_ARCH_SIZE
-#  define NLM_ARCH_SIZE			32
-#endif
-
-/* Due to horrible details of ANSI macro expansion, we can't use CONCAT4
-   for NLM_NAME.  CONCAT2 is used in BFD_JUMP_TABLE macros, and some of
-   them will expand to tokens that themselves are macros defined in terms
-   of NLM_NAME.  If NLM_NAME were defined using CONCAT4 (which is itself
-   defined in bfd-in.h using CONCAT2), ANSI preprocessor rules say that
-   the CONCAT2 within NLM_NAME should not be expanded.
-   So use another name.  */
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#ifdef SABER
-#define NLM_CAT4(a,b,c,d) a##b##c##d
-#else
-/* This hack is to avoid a problem with some strict ANSI C preprocessors.
-   The problem is, "32_" is not a valid preprocessing token, and we don't
-   want extra underscores (e.g., "nlm_32_").  The NLM_XCAT2 macro will
-   cause the inner CAT2 macros to be evaluated first, producing
-   still-valid pp-tokens.  Then the final concatenation can be done.  */
-#define NLM_CAT2(a,b)	  a##b
-#define NLM_XCAT2(a,b)	  NLM_CAT2(a,b)
-#define NLM_CAT4(a,b,c,d) NLM_XCAT2(NLM_CAT2(a,b),NLM_CAT2(c,d))
-#endif
-#else
-#define NLM_CAT4(a,b,c,d) a/**/b/**/c/**/d
-#endif
-
-#if NLM_ARCH_SIZE == 32
-#  define NLM_TARGET_LONG_SIZE		4
-#  define NLM_TARGET_ADDRESS_SIZE	4
-#  define NLM_NAME(x,y)			NLM_CAT4(x,32,_,y)
-#  define NLM_HIBIT			(((bfd_vma) 1) << 31)
-#endif
-#if NLM_ARCH_SIZE == 64
-#  define NLM_TARGET_LONG_SIZE		8
-#  define NLM_TARGET_ADDRESS_SIZE	8
-#  define NLM_NAME(x,y)			NLM_CAT4(x,64,_,y)
-#  define NLM_HIBIT			(((bfd_vma) 1) << 63)
-#endif
-
-#define NlmNAME(X)		NLM_NAME(Nlm,X)
-#define nlmNAME(X)		NLM_NAME(nlm,X)
-
-/* Give names to things that should not change. */
-
-#define NLM_MAX_DESCRIPTION_LENGTH		127
-#define NLM_MAX_SCREEN_NAME_LENGTH		71
-#define NLM_MAX_THREAD_NAME_LENGTH		71
-#define NLM_MAX_COPYRIGHT_MESSAGE_LENGTH	255
-#define NLM_OTHER_DATA_LENGTH 			400		/* FIXME */
-#define NLM_OLD_THREAD_NAME_LENGTH		5
-#define NLM_SIGNATURE_SIZE			24
-#define NLM_HEADER_VERSION			4
-#define NLM_MODULE_NAME_SIZE			14
-#define NLM_DEFAULT_STACKSIZE			(8 * 1024)
-
-/* Alpha information.  This should probably be in a separate Alpha
-   header file, but it can't go in alpha-ext.h because some of it is
-   needed by nlmconv.c.  */
-
-/* Magic number in Alpha prefix header.  */
-#define NLM32_ALPHA_MAGIC (0x83561840)
-
-/* The r_type field in an Alpha reloc is one of the following values.  */
-#define ALPHA_R_IGNORE		0
-#define ALPHA_R_REFLONG		1
-#define ALPHA_R_REFQUAD		2
-#define ALPHA_R_GPREL32		3
-#define ALPHA_R_LITERAL		4
-#define ALPHA_R_LITUSE		5
-#define ALPHA_R_GPDISP		6
-#define ALPHA_R_BRADDR		7
-#define ALPHA_R_HINT		8
-#define ALPHA_R_SREL16		9
-#define ALPHA_R_SREL32	       10
-#define ALPHA_R_SREL64	       11
-#define ALPHA_R_OP_PUSH	       12
-#define ALPHA_R_OP_STORE       13
-#define ALPHA_R_OP_PSUB	       14
-#define ALPHA_R_OP_PRSHIFT     15
-#define ALPHA_R_GPVALUE	       16
-#define ALPHA_R_NW_RELOC      250
-
-/* A local reloc, other than ALPHA_R_GPDISP or ALPHA_R_IGNORE, must be
-   against one of these symbol indices.  */
-#define ALPHA_RELOC_SECTION_TEXT	1
-#define ALPHA_RELOC_SECTION_DATA	3
-
-/* An ALPHA_R_NW_RELOC has one of these values in the size field.  If
-   it is SETGP, the r_vaddr field holds the GP value to use.  If it is
-   LITA, the r_vaddr field holds the address of the .lita section and
-   the r_symndx field holds the size of the .lita section.  */
-#define ALPHA_R_NW_RELOC_SETGP	1
-#define ALPHA_R_NW_RELOC_LITA	2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/external.h ./include/nlm/external.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/external.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/nlm/external.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,172 +0,0 @@
-/* NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   Written by Fred Fish @ Cygnus Support
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* This file is part of NLM support for BFD, and contains the portions
-   that describe how NLM is represented externally by the BFD library.
-   I.E. it describes the in-file representation of NLM.  It requires
-   the nlm/common.h file which contains the portions that are common to
-   both the internal and external representations.
-
-   Note that an NLM header consists of three parts:
-
-   (1)	A fixed length header that has specific fields of known length,
-	at specific offsets in the file. 
-
-   (2)  A variable length header that has specific fields in a specific
-        order, but some fields may be variable length.
-
-   (3)	A auxiliary header that has various optional fields in no specific
-        order.  There is no way to identify the end of the auxiliary headers
-	except by finding a header without a recognized 'stamp'.
-
-   The exact format of the fixed length header unfortunately varies
-   from one NLM target to another, due to padding.  Each target
-   defines the correct external format in a separate header file.  */
-   
-/* NLM Header.  */
-
-/* The version header is one of the optional auxiliary headers and
-   follows the fixed length and variable length NLM headers.  */
-
-typedef struct nlmNAME(external_version_header)
-{
-
-  /* The header is recognized by "VeRsIoN#" in the stamp field. */
-  char stamp[8];
-
-  unsigned char majorVersion[NLM_TARGET_LONG_SIZE];
-
-  unsigned char minorVersion[NLM_TARGET_LONG_SIZE];
-
-  unsigned char revision[NLM_TARGET_LONG_SIZE];
-
-  unsigned char year[NLM_TARGET_LONG_SIZE];
-
-  unsigned char month[NLM_TARGET_LONG_SIZE];
-
-  unsigned char day[NLM_TARGET_LONG_SIZE];
-
-} NlmNAME(External_Version_Header);
-
-
-typedef struct nlmNAME(external_copyright_header)
-{
-
-  /* The header is recognized by "CoPyRiGhT=" in the stamp field. */
-
-  char stamp[10];
-
-  unsigned char copyrightMessageLength[1];
-
-  /* There is a variable length field here called 'copyrightMessage'
-     that is the length specified by copyrightMessageLength. */
-
-} NlmNAME(External_Copyright_Header);
-
-
-typedef struct nlmNAME(external_extended_header)
-{
-
-  /* The header is recognized by "MeSsAgEs" in the stamp field. */
-
-  char stamp[8];
-
-  unsigned char languageID[NLM_TARGET_LONG_SIZE];
-
-  unsigned char messageFileOffset[NLM_TARGET_LONG_SIZE];
-
-  unsigned char messageFileLength[NLM_TARGET_LONG_SIZE];
-
-  unsigned char messageCount[NLM_TARGET_LONG_SIZE];
-
-  unsigned char helpFileOffset[NLM_TARGET_LONG_SIZE];
-
-  unsigned char helpFileLength[NLM_TARGET_LONG_SIZE];
-
-  unsigned char RPCDataOffset[NLM_TARGET_LONG_SIZE];
-
-  unsigned char RPCDataLength[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedCodeOffset[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedCodeLength[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedDataOffset[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedDataLength[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedRelocationFixupOffset[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedRelocationFixupCount[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedExternalReferenceOffset[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedExternalReferenceCount[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedPublicsOffset[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedPublicsCount[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedDebugRecordOffset[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedDebugRecordCount[NLM_TARGET_LONG_SIZE];
-
-  unsigned char sharedInitializationOffset[NLM_TARGET_ADDRESS_SIZE];
-
-  unsigned char SharedExitProcedureOffset[NLM_TARGET_ADDRESS_SIZE];
-
-  unsigned char productID[NLM_TARGET_LONG_SIZE];
-
-  unsigned char reserved0[NLM_TARGET_LONG_SIZE];
-
-  unsigned char reserved1[NLM_TARGET_LONG_SIZE];
-
-  unsigned char reserved2[NLM_TARGET_LONG_SIZE];
-
-  unsigned char reserved3[NLM_TARGET_LONG_SIZE];
-
-  unsigned char reserved4[NLM_TARGET_LONG_SIZE];
-
-  unsigned char reserved5[NLM_TARGET_LONG_SIZE];
-
-} NlmNAME(External_Extended_Header);
-
-
-typedef struct nlmNAME(external_custom_header)
-{
-
-  /* The header is recognized by "CuStHeAd" in the stamp field. */
-  char stamp[8];
-
-  /* Length of this header.  */
-  unsigned char length[NLM_TARGET_LONG_SIZE];
-
-  /* Offset to data.  */
-  unsigned char dataOffset[NLM_TARGET_LONG_SIZE];
-
-  /* Length of data.  */
-  unsigned char dataLength[NLM_TARGET_LONG_SIZE];
-
-  /* Stamp for this customer header--we recognize "CyGnUsEx".  */
-  char dataStamp[8];
-
-} NlmNAME(External_Custom_Header);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/i386-ext.h ./include/nlm/i386-ext.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/i386-ext.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/nlm/i386-ext.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,117 +0,0 @@
-/* i386 NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* The external format of the fixed header.  */
-
-typedef struct nlm32_i386_external_fixed_header
-{
-
-  /* The signature field identifies the file as an NLM.  It must contain
-     the signature string, which depends upon the NLM target. */
-
-  unsigned char signature[24];
-
-  /* The version of the header.  At this time, the highest version number
-     is 4. */
-
-  unsigned char version[4];
-
-  /* The name of the module, which must be a DOS name (1-8 characters followed
-     by a period and a 1-3 character extension).  The first byte is the byte
-     length of the name and the last byte is a null terminator byte.  This
-     field is fixed length, and any unused bytes should be null bytes.  The
-     value is set by the OUTPUT keyword to NLMLINK. */
-
-  unsigned char moduleName[14];
-
-  /* The byte offset of the code image from the start of the file. */
-
-  unsigned char codeImageOffset[4];
-
-  /* The size of the code image, in bytes. */
-
-  unsigned char codeImageSize[4];
-
-  /* The byte offset of the data image from the start of the file. */
-
-  unsigned char dataImageOffset[4];
-
-  /* The size of the data image, in bytes. */
-
-  unsigned char dataImageSize[4];
-
-  /* The size of the uninitialized data region that the loader is to be
-     allocated at load time.  Uninitialized data follows the initialized
-     data in the NLM address space. */
-
-  unsigned char uninitializedDataSize[4];
-
-  /* The byte offset of the custom data from the start of the file.  The
-     custom data is set by the CUSTOM keyword to NLMLINK.  It is possible
-     for this to be EOF if there is no custom data. */
-
-  unsigned char customDataOffset[4];
-
-  /* The size of the custom data, in bytes. */
-
-  unsigned char customDataSize[4];
-
-  /* The byte offset of the module dependencies from the start of the file.
-     The module dependencies are determined by the MODULE keyword in
-     NLMLINK. */
-
-  unsigned char moduleDependencyOffset[4];
-
-  /* The number of module dependencies at the moduleDependencyOffset. */
-
-  unsigned char numberOfModuleDependencies[4];
-
-  /* The byte offset of the relocation fixup data from the start of the file */
-     
-  unsigned char relocationFixupOffset[4];
-
-  unsigned char numberOfRelocationFixups[4];
-
-  unsigned char externalReferencesOffset[4];
-
-  unsigned char numberOfExternalReferences[4];
-
-  unsigned char publicsOffset[4];
-
-  unsigned char numberOfPublics[4];
-
-  /* The byte offset of the internal debug info from the start of the file.
-     It is possible for this to be EOF if there is no debug info. */
-
-  unsigned char debugInfoOffset[4];
-
-  unsigned char numberOfDebugRecords[4];
-
-  unsigned char codeStartOffset[4];
-
-  unsigned char exitProcedureOffset[4];
-
-  unsigned char checkUnloadProcedureOffset[4];
-
-  unsigned char moduleType[4];
-
-  unsigned char flags[4];
-
-} Nlm32_i386_External_Fixed_Header;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/internal.h ./include/nlm/internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/internal.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/nlm/internal.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,309 +0,0 @@
-/* NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   Written by Fred Fish @ Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* This file is part of NLM support for BFD, and contains the portions
-   that describe how NLM is represented internally in the BFD library.
-   I.E. it describes the in-memory representation of NLM.  It requires
-   the nlm/common.h file which contains the portions that are common to
-   both the internal and external representations.  */
-   
-#if 0
-
-/* Types used by various structures, functions, etc.  */
-
-typedef unsigned long	Nlm32_Addr;	/* Unsigned program address */
-typedef unsigned long	Nlm32_Off;	/* Unsigned file offset */
-typedef 	 long	Nlm32_Sword;	/* Signed large integer */
-typedef unsigned long	Nlm32_Word;	/* Unsigned large integer */
-typedef unsigned short	Nlm32_Half;	/* Unsigned medium integer */
-typedef unsigned char	Nlm32_Char;	/* Unsigned tiny integer */
-
-#ifdef BFD_HOST_64_BIT
-typedef unsigned BFD_HOST_64_BIT	Nlm64_Addr;
-typedef unsigned BFD_HOST_64_BIT	Nlm64_Off;
-typedef          BFD_HOST_64_BIT	Nlm64_Sxword;
-typedef unsigned BFD_HOST_64_BIT	Nlm64_Xword;
-#endif
-typedef          long		Nlm64_Sword;
-typedef unsigned long		Nlm64_Word;
-typedef unsigned short		Nlm64_Half;
-
-#endif /* 0 */
-
-/* This structure contains the internal form of the portion of the NLM
-   header that is fixed length. */
-
-typedef struct nlm_internal_fixed_header
-{
-  /* The signature field identifies the file as an NLM.  It must contain
-     the signature string, which depends upon the NLM target. */
-
-  char signature[NLM_SIGNATURE_SIZE];
-
-  /* The version of the header.  At this time, the highest version number
-     is 4. */
-
-  long version;
-
-  /* The name of the module, which must be a DOS name (1-8 characters followed
-     by a period and a 1-3 character extension.  The first byte is the byte
-     length of the name and the last byte is a null terminator byte.  This
-     field is fixed length, and any unused bytes should be null bytes.  The
-     value is set by the OUTPUT keyword to NLMLINK. */
-
-  char moduleName[NLM_MODULE_NAME_SIZE];
-
-  /* The byte offset of the code image from the start of the file. */
-
-  file_ptr codeImageOffset;
-
-  /* The size of the code image, in bytes. */
-
-  bfd_size_type codeImageSize;
-
-  /* The byte offset of the data image from the start of the file. */
-
-  file_ptr dataImageOffset;
-
-  /* The size of the data image, in bytes. */
-
-  bfd_size_type dataImageSize;
-
-  /* The size of the uninitialized data region that the loader is to be
-     allocated at load time.  Uninitialized data follows the initialized
-     data in the NLM address space. */
-
-  bfd_size_type uninitializedDataSize;
-
-  /* The byte offset of the custom data from the start of the file.  The
-     custom data is set by the CUSTOM keyword to NLMLINK. */
-
-  file_ptr customDataOffset;
-
-  /* The size of the custom data, in bytes. */
-
-  bfd_size_type customDataSize;
-
-  /* The byte offset of the module dependencies from the start of the file.
-     The module dependencies are determined by the MODULE keyword in
-     NLMLINK. */
-
-  file_ptr moduleDependencyOffset;
-
-  /* The number of module dependencies at the moduleDependencyOffset. */
-
-  long numberOfModuleDependencies;
-
-  /* The byte offset of the relocation fixup data from the start of the file */
-
-  file_ptr relocationFixupOffset;
-  long numberOfRelocationFixups;
-  file_ptr externalReferencesOffset;
-  long numberOfExternalReferences;
-  file_ptr publicsOffset;
-  long numberOfPublics;
-  file_ptr debugInfoOffset;
-  long numberOfDebugRecords;
-  file_ptr codeStartOffset;
-  file_ptr exitProcedureOffset;
-  file_ptr checkUnloadProcedureOffset;
-  long moduleType;
-  long flags;
-} Nlm_Internal_Fixed_Header;
-
-#define nlm32_internal_fixed_header nlm_internal_fixed_header
-#define Nlm32_Internal_Fixed_Header Nlm_Internal_Fixed_Header
-#define nlm64_internal_fixed_header nlm_internal_fixed_header
-#define Nlm64_Internal_Fixed_Header Nlm_Internal_Fixed_Header
-
-/* This structure contains the portions of the NLM header that are either
-   variable in size in the external representation, or else are not at a
-   fixed offset relative to the start of the NLM header due to preceding
-   variable sized fields.
-
-   Note that all the fields must exist in the external header, and in
-   the order used here (the same order is used in the internal form
-   for consistency, not out of necessity). */
-
-typedef struct nlm_internal_variable_header
-{
-
-  /* The descriptionLength field contains the length of the text in
-     descriptionText, excluding the null terminator.  The descriptionText
-     field contains the NLM description obtained from the DESCRIPTION
-     keyword in NLMLINK plus the null byte terminator.  The descriptionText
-     can be up to NLM_MAX_DESCRIPTION_LENGTH characters. */
-     
-  unsigned char descriptionLength;
-  char descriptionText[NLM_MAX_DESCRIPTION_LENGTH + 1];
-
-  /* The stackSize field contains the size of the stack in bytes, as
-     specified by the STACK or STACKSIZE keyword in NLMLINK.  If no size
-     is specified, the default is NLM_DEFAULT_STACKSIZE. */
-     
-  long stackSize;
-
-  /* The reserved field is included only for completeness.  It should contain
-     zero. */
-
-  long reserved;
-
-  /* This field is fixed length, should contain " LONG" (note leading
-     space), and is unused. */
-
-  char oldThreadName[NLM_OLD_THREAD_NAME_LENGTH];
-
-  /* The screenNameLength field contains the length of the actual text stored
-     in the screenName field, excluding the null byte terminator.  The
-     screenName field contains the screen name as specified by the SCREENNAME
-     keyword in NLMLINK, and can be up to NLM_MAX_SCREEN_NAME_LENGTH
-     characters. */
-
-  unsigned char screenNameLength;
-  char screenName[NLM_MAX_SCREEN_NAME_LENGTH + 1];
-
-  /* The threadNameLength field contains the length of the actual text stored
-     in the threadName field, excluding the null byte terminator.  The
-     threadName field contains the thread name as specified by the THREADNAME
-     keyword in NLMLINK, and can be up to NLM_MAX_THREAD_NAME_LENGTH
-     characters. */
-
-  unsigned char threadNameLength;
-  char threadName[NLM_MAX_THREAD_NAME_LENGTH + 1];
-
-} Nlm_Internal_Variable_Header;
-
-#define nlm32_internal_variable_header nlm_internal_variable_header
-#define Nlm32_Internal_Variable_Header Nlm_Internal_Variable_Header
-#define nlm64_internal_variable_header nlm_internal_variable_header
-#define Nlm64_Internal_Variable_Header Nlm_Internal_Variable_Header
-
-/* The version header is one of the optional auxiliary headers and
-   follows the fixed length and variable length NLM headers. */
-
-typedef struct nlm_internal_version_header
-{
-  /* The header is recognized by "VeRsIoN#" in the stamp field. */
-  char stamp[8];
-  long majorVersion;
-  long minorVersion;
-  long revision;
-  long year;
-  long month;
-  long day;
-} Nlm_Internal_Version_Header;
-
-#define nlm32_internal_version_header nlm_internal_version_header
-#define Nlm32_Internal_Version_Header Nlm_Internal_Version_Header
-#define nlm64_internal_version_header nlm_internal_version_header
-#define Nlm64_Internal_Version_Header Nlm_Internal_Version_Header
-
-typedef struct nlm_internal_copyright_header
-{
-  /* The header is recognized by "CoPyRiGhT=" in the stamp field. */
-  char stamp[10];
-  unsigned char copyrightMessageLength;
-  char copyrightMessage[NLM_MAX_COPYRIGHT_MESSAGE_LENGTH];
-} Nlm_Internal_Copyright_Header;
-
-#define nlm32_internal_copyright_header nlm_internal_copyright_header
-#define Nlm32_Internal_Copyright_Header Nlm_Internal_Copyright_Header
-#define nlm64_internal_copyright_header nlm_internal_copyright_header
-#define Nlm64_Internal_Copyright_Header Nlm_Internal_Copyright_Header
-
-typedef struct nlm_internal_extended_header
-{
-  /* The header is recognized by "MeSsAgEs" in the stamp field. */
-  char stamp[8];
-  long languageID;
-  file_ptr messageFileOffset;
-  bfd_size_type messageFileLength;
-  long messageCount;
-  file_ptr helpFileOffset;
-  bfd_size_type helpFileLength;
-  file_ptr RPCDataOffset;
-  bfd_size_type RPCDataLength;
-  file_ptr sharedCodeOffset;
-  bfd_size_type sharedCodeLength;
-  file_ptr sharedDataOffset;
-  bfd_size_type sharedDataLength;
-  file_ptr sharedRelocationFixupOffset;
-  long sharedRelocationFixupCount;
-  file_ptr sharedExternalReferenceOffset;
-  long sharedExternalReferenceCount;
-  file_ptr sharedPublicsOffset;
-  long sharedPublicsCount;
-  file_ptr sharedDebugRecordOffset;
-  long sharedDebugRecordCount;
-  bfd_vma SharedInitializationOffset;
-  bfd_vma SharedExitProcedureOffset;
-  long productID;
-  long reserved0;
-  long reserved1;
-  long reserved2;
-  long reserved3;
-  long reserved4;
-  long reserved5;
-} Nlm_Internal_Extended_Header;
-
-#define nlm32_internal_extended_header nlm_internal_extended_header
-#define Nlm32_Internal_Extended_Header Nlm_Internal_Extended_Header
-#define nlm64_internal_extended_header nlm_internal_extended_header
-#define Nlm64_Internal_Extended_Header Nlm_Internal_Extended_Header
-
-/* The format of a custom header as stored internally is different
-   from the external format.  This is how we store a custom header
-   which we do not recognize.  */
-
-typedef struct nlm_internal_custom_header
-{
-  /* The header is recognized by "CuStHeAd" in the stamp field. */
-  char stamp[8];
-  bfd_size_type hdrLength;
-  file_ptr dataOffset;
-  bfd_size_type dataLength;
-  char dataStamp[8];
-  void *hdr;
-} Nlm_Internal_Custom_Header;
-
-#define nlm32_internal_custom_header nlm_internal_custom_header
-#define Nlm32_Internal_Custom_Header Nlm_Internal_Custom_Header
-#define nlm64_internal_custom_header nlm_internal_custom_header
-#define Nlm64_Internal_Custom_Header Nlm_Internal_Custom_Header
-
-/* The internal Cygnus header is written out externally as a custom
-   header.  We don't try to replicate that structure here.  */
-
-typedef struct nlm_internal_cygnus_ext_header
-{
-  /* The header is recognized by "CyGnUsEx" in the stamp field. */
-  char stamp[8];
-  /* File location of debugging information.  */
-  file_ptr offset;
-  /* Length of debugging information.  */
-  bfd_size_type length;
-} Nlm_Internal_Cygnus_Ext_Header;
-
-#define nlm32_internal_cygnus_ext_header nlm_internal_cygnus_ext_header
-#define Nlm32_Internal_Cygnus_Ext_Header Nlm_Internal_Cygnus_Ext_Header
-#define nlm64_internal_cygnus_ext_header nlm_internal_cygnus_ext_header
-#define Nlm64_Internal_Cygnus_Ext_Header Nlm_Internal_Cygnus_Ext_Header
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/ppc-ext.h ./include/nlm/ppc-ext.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/ppc-ext.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/nlm/ppc-ext.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,164 +0,0 @@
-/* PowerPC NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#ifdef OLDFORMAT
-
-/* The format of a PowerPC NLM changed.  These structures are only
-   used in the old format.  */
-
-/* A PowerPC NLM starts with an instance of this structure.  */
-
-struct nlm32_powerpc_external_prefix_header
-{
-  /* Signature.  Must be "AppleNLM".  */
-  char signature[8];
-  /* Version number.  Current value is 1.  */
-  unsigned char headerVersion[4];
-  /* ??.  Should be set to 0.  */
-  unsigned char origins[4];
-  /* File creation date in standard Unix time format (seconds since
-     1/1/70).  */
-  unsigned char date[4];
-};
-
-#define NLM32_POWERPC_SIGNATURE "AppleNLM"
-#define NLM32_POWERPC_HEADER_VERSION 1
-
-/* The external format of a PowerPC NLM reloc.  This is the same as an
-   XCOFF dynamic reloc.  */
-
-struct nlm32_powerpc_external_reloc
-{
-  /* Address.  */
-  unsigned char l_vaddr[4];
-  /* Symbol table index.  This is 0 for .text and 1 for .data.  2
-     means .bss, but I don't know if it is used.  In XCOFF, larger
-     numbers are indices into the dynamic symbol table, but they are
-     presumably not used in an NLM.  */
-  unsigned char l_symndx[4];
-  /* Relocation type.  */
-  unsigned char l_rtype[2];
-  /* Section number being relocated.  */
-  unsigned char l_rsecnm[2];
-};
-
-#endif /* OLDFORMAT */
-
-/* The external format of the fixed header.  */
-
-typedef struct nlm32_powerpc_external_fixed_header
-{
-
-  /* The signature field identifies the file as an NLM.  It must contain
-     the signature string, which depends upon the NLM target. */
-
-  unsigned char signature[24];
-
-  /* The version of the header.  At this time, the highest version number
-     is 4. */
-
-  unsigned char version[4];
-
-  /* The name of the module, which must be a DOS name (1-8 characters followed
-     by a period and a 1-3 character extension).  The first byte is the byte
-     length of the name and the last byte is a null terminator byte.  This
-     field is fixed length, and any unused bytes should be null bytes.  The
-     value is set by the OUTPUT keyword to NLMLINK. */
-
-  unsigned char moduleName[14];
-
-  /* Padding to make it come out correct. */
-
-  unsigned char pad1[2];
-
-  /* The byte offset of the code image from the start of the file. */
-
-  unsigned char codeImageOffset[4];
-
-  /* The size of the code image, in bytes. */
-
-  unsigned char codeImageSize[4];
-
-  /* The byte offset of the data image from the start of the file. */
-
-  unsigned char dataImageOffset[4];
-
-  /* The size of the data image, in bytes. */
-
-  unsigned char dataImageSize[4];
-
-  /* The size of the uninitialized data region that the loader is to be
-     allocated at load time.  Uninitialized data follows the initialized
-     data in the NLM address space. */
-
-  unsigned char uninitializedDataSize[4];
-
-  /* The byte offset of the custom data from the start of the file.  The
-     custom data is set by the CUSTOM keyword to NLMLINK.  It is possible
-     for this to be EOF if there is no custom data. */
-
-  unsigned char customDataOffset[4];
-
-  /* The size of the custom data, in bytes. */
-
-  unsigned char customDataSize[4];
-
-  /* The byte offset of the module dependencies from the start of the file.
-     The module dependencies are determined by the MODULE keyword in
-     NLMLINK. */
-
-  unsigned char moduleDependencyOffset[4];
-
-  /* The number of module dependencies at the moduleDependencyOffset. */
-
-  unsigned char numberOfModuleDependencies[4];
-
-  /* The byte offset of the relocation fixup data from the start of the file */
-     
-  unsigned char relocationFixupOffset[4];
-
-  unsigned char numberOfRelocationFixups[4];
-
-  unsigned char externalReferencesOffset[4];
-
-  unsigned char numberOfExternalReferences[4];
-
-  unsigned char publicsOffset[4];
-
-  unsigned char numberOfPublics[4];
-
-  /* The byte offset of the internal debug info from the start of the file.
-     It is possible for this to be EOF if there is no debug info. */
-
-  unsigned char debugInfoOffset[4];
-
-  unsigned char numberOfDebugRecords[4];
-
-  unsigned char codeStartOffset[4];
-
-  unsigned char exitProcedureOffset[4];
-
-  unsigned char checkUnloadProcedureOffset[4];
-
-  unsigned char moduleType[4];
-
-  unsigned char flags[4];
-
-} Nlm32_powerpc_External_Fixed_Header;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/sparc32-ext.h ./include/nlm/sparc32-ext.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/nlm/sparc32-ext.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/nlm/sparc32-ext.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,121 +0,0 @@
-/* SPARC NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* The external format of the fixed header.  */
-
-typedef struct nlm32_sparc_external_fixed_header
-{
-
-  /* The signature field identifies the file as an NLM.  It must contain
-     the signature string, which depends upon the NLM target. */
-
-  unsigned char signature[24];
-
-  /* The version of the header.  At this time, the highest version number
-     is 4. */
-
-  unsigned char version[4];
-
-  /* The name of the module, which must be a DOS name (1-8 characters followed
-     by a period and a 1-3 character extension).  The first byte is the byte
-     length of the name and the last byte is a null terminator byte.  This
-     field is fixed length, and any unused bytes should be null bytes.  The
-     value is set by the OUTPUT keyword to NLMLINK. */
-
-  unsigned char moduleName[14];
-
-  /* Padding to make it come out correct. */
-
-  unsigned char pad1[2];
-
-  /* The byte offset of the code image from the start of the file. */
-
-  unsigned char codeImageOffset[4];
-
-  /* The size of the code image, in bytes. */
-
-  unsigned char codeImageSize[4];
-
-  /* The byte offset of the data image from the start of the file. */
-
-  unsigned char dataImageOffset[4];
-
-  /* The size of the data image, in bytes. */
-
-  unsigned char dataImageSize[4];
-
-  /* The size of the uninitialized data region that the loader is to be
-     allocated at load time.  Uninitialized data follows the initialized
-     data in the NLM address space. */
-
-  unsigned char uninitializedDataSize[4];
-
-  /* The byte offset of the custom data from the start of the file.  The
-     custom data is set by the CUSTOM keyword to NLMLINK.  It is possible
-     for this to be EOF if there is no custom data. */
-
-  unsigned char customDataOffset[4];
-
-  /* The size of the custom data, in bytes. */
-
-  unsigned char customDataSize[4];
-
-  /* The byte offset of the module dependencies from the start of the file.
-     The module dependencies are determined by the MODULE keyword in
-     NLMLINK. */
-
-  unsigned char moduleDependencyOffset[4];
-
-  /* The number of module dependencies at the moduleDependencyOffset. */
-
-  unsigned char numberOfModuleDependencies[4];
-
-  /* The byte offset of the relocation fixup data from the start of the file */
-     
-  unsigned char relocationFixupOffset[4];
-
-  unsigned char numberOfRelocationFixups[4];
-
-  unsigned char externalReferencesOffset[4];
-
-  unsigned char numberOfExternalReferences[4];
-
-  unsigned char publicsOffset[4];
-
-  unsigned char numberOfPublics[4];
-
-  /* The byte offset of the internal debug info from the start of the file.
-     It is possible for this to be EOF if there is no debug info. */
-
-  unsigned char debugInfoOffset[4];
-
-  unsigned char numberOfDebugRecords[4];
-
-  unsigned char codeStartOffset[4];
-
-  unsigned char exitProcedureOffset[4];
-
-  unsigned char checkUnloadProcedureOffset[4];
-
-  unsigned char moduleType[4];
-
-  unsigned char flags[4];
-
-} Nlm32_sparc_External_Fixed_Header;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/aarch64.h ./include/opcode/aarch64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/aarch64.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/aarch64.h	2018-07-10 02:06:14.000000000 +0000
@@ -178,6 +178,8 @@ enum aarch64_opnd
   AARCH64_OPND_Ed,	/* AdvSIMD Vector Element Vd.  */
   AARCH64_OPND_En,	/* AdvSIMD Vector Element Vn.  */
   AARCH64_OPND_Em,	/* AdvSIMD Vector Element Vm.  */
+  AARCH64_OPND_Em16,	/* AdvSIMD Vector Element Vm restricted to V0 - V15 when
+			   qualifier is S_H.  */
   AARCH64_OPND_LVn,	/* AdvSIMD Vector register list used in e.g. TBL.  */
   AARCH64_OPND_LVt,	/* AdvSIMD Vector register list used in ld/st.  */
   AARCH64_OPND_LVt_AL,	/* AdvSIMD Vector register list for loading single
@@ -272,6 +274,7 @@ enum aarch64_opnd
   AARCH64_OPND_SVE_ADDR_RI_U6x2,    /* SVE [<Xn|SP>, #<uimm6>*2].  */
   AARCH64_OPND_SVE_ADDR_RI_U6x4,    /* SVE [<Xn|SP>, #<uimm6>*4].  */
   AARCH64_OPND_SVE_ADDR_RI_U6x8,    /* SVE [<Xn|SP>, #<uimm6>*8].  */
+  AARCH64_OPND_SVE_ADDR_R,	    /* SVE [<Xn|SP>].  */
   AARCH64_OPND_SVE_ADDR_RR,	    /* SVE [<Xn|SP>, <Xm|XZR>].  */
   AARCH64_OPND_SVE_ADDR_RR_LSL1,    /* SVE [<Xn|SP>, <Xm|XZR>, LSL #1].  */
   AARCH64_OPND_SVE_ADDR_RR_LSL2,    /* SVE [<Xn|SP>, <Xm|XZR>, LSL #2].  */
@@ -764,7 +767,11 @@ extern aarch64_opcode aarch64_opcode_tab
 #define F_LSE_SZ (1 << 27)
 /* Require an exact qualifier match, even for NIL qualifiers.  */
 #define F_STRICT (1ULL << 28)
-/* Next bit is 29.  */
+/* This system instruction is used to read system registers.  */
+#define F_SYS_READ (1ULL << 29)
+/* This system instruction is used to write system registers.  */
+#define F_SYS_WRITE (1ULL << 30)
+/* Next bit is 31.  */
 
 static inline bfd_boolean
 alias_opcode_p (const aarch64_opcode *opcode)
@@ -956,9 +963,17 @@ struct aarch64_opnd_info
 	  unsigned preind : 1;		/* Pre-indexed.  */
 	  unsigned postind : 1;		/* Post-indexed.  */
 	} addr;
+
+      struct
+	{
+	  /* The encoding of the system register.  */
+	  aarch64_insn value;
+
+	  /* The system register flags.  */
+	  uint32_t flags;
+	} sysreg;
+
       const aarch64_cond *cond;
-      /* The encoding of the system register.  */
-      aarch64_insn sysreg;
       /* The encoding of the PSTATE field.  */
       aarch64_insn pstatefield;
       const aarch64_sys_ins_reg *sysins_op;
@@ -1092,6 +1107,7 @@ struct aarch64_operand_error
   int index;
   const char *error;
   int data[3];	/* Some data for extra information.  */
+  bfd_boolean non_fatal;
 };
 
 typedef struct aarch64_operand_error aarch64_operand_error;
@@ -1116,7 +1132,8 @@ aarch64_get_opcode (enum aarch64_op);
 /* Generate the string representation of an operand.  */
 extern void
 aarch64_print_operand (char *, size_t, bfd_vma, const aarch64_opcode *,
-		       const aarch64_opnd_info *, int, int *, bfd_vma *);
+		       const aarch64_opnd_info *, int, int *, bfd_vma *,
+		       char **);
 
 /* Miscellaneous interface.  */
 
@@ -1137,7 +1154,8 @@ extern int
 aarch64_zero_register_p (const aarch64_opnd_info *);
 
 extern int
-aarch64_decode_insn (aarch64_insn, aarch64_inst *, bfd_boolean);
+aarch64_decode_insn (aarch64_insn, aarch64_inst *, bfd_boolean,
+		     aarch64_operand_error *errors);
 
 /* Given an operand qualifier, return the expected data element size
    of a qualified operand.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/arm.h ./include/opcode/arm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/arm.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/arm.h	2018-07-10 02:06:14.000000000 +0000
@@ -389,15 +389,6 @@ typedef struct
     }							\
   while (0)
 
-#define ARM_FEATURE_COPY(F1, F2)		\
-  do						\
-    {						\
-      (F1).core[0] = (F2).core[0];		\
-      (F1).core[1] = (F2).core[1];		\
-      (F1).coproc = (F2).coproc;		\
-    }						\
-  while (0)
-
 #define ARM_FEATURE_EQUAL(T1,T2)		\
   (   (T1).core[0] == (T2).core[0]		\
    && (T1).core[1] == (T2).core[1]		\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/i370.h ./include/opcode/i370.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/i370.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/i370.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,266 +0,0 @@
-/* i370.h -- Header file for S/390 opcode table
-   Copyright (C) 1994-2018 Free Software Foundation, Inc.
-   PowerPC version written by Ian Lance Taylor, Cygnus Support
-   Rewritten for i370 ESA/390 support, Linas Vepstas <linas@linas.org>
-
-   This file is part of GDB, GAS, and the GNU binutils.
-
-   GDB, GAS, and the GNU binutils are free software; you can redistribute
-   them and/or modify them under the terms of the GNU General Public
-   License as published by the Free Software Foundation; either version 3,
-   or (at your option) any later version.
-
-   GDB, GAS, and the GNU binutils are distributed in the hope that they
-   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 file; see the file COPYING3.  If not, write to the Free
-   Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#ifndef I370_H
-#define I370_H
-
-/* The opcode table is an array of struct i370_opcode.  */
-typedef union
-{
-   unsigned int   i[2];
-   unsigned short s[4];
-   unsigned char  b[8];
-}  i370_insn_t;
-
-struct i370_opcode
-{
-  /* The opcode name.  */
-  const char *name;
-
-  /* the length of the instruction */
-  char len;
-
-  /* The opcode itself.  Those bits which will be filled in with
-     operands are zeroes.  */
-  i370_insn_t opcode;
-
-  /* The opcode mask.  This is used by the disassembler.  This is a
-     mask containing ones indicating those bits which must match the
-     opcode field, and zeroes indicating those bits which need not
-     match (and are presumably filled in by operands).  */
-  i370_insn_t mask;
-
-  /* One bit flags for the opcode.  These are used to indicate which
-     specific processors support the instructions.  The defined values
-     are listed below.  */
-  unsigned long flags;
-
-  /* An array of operand codes.  Each code is an index into the
-     operand table.  They appear in the order which the operands must
-     appear in assembly code, and are terminated by a zero.  */
-  unsigned char operands[8];
-};
-
-/* The table itself is sorted by major opcode number, and is otherwise
-   in the order in which the disassembler should consider
-   instructions.  */
-extern const struct i370_opcode i370_opcodes[];
-extern const int i370_num_opcodes;
-
-/* Values defined for the flags field of a struct i370_opcode.  */
-
-/* Opcode is defined for the original 360 architecture.  */
-#define I370_OPCODE_360 (0x01)
-
-/* Opcode is defined for the 370 architecture.  */
-#define I370_OPCODE_370 (0x02)
-
-/* Opcode is defined for the 370-XA architecture.  */
-#define I370_OPCODE_370_XA (0x04)
-
-/* Opcode is defined for the ESA/370 architecture.  */
-#define I370_OPCODE_ESA370 (0x08)
-
-/* Opcode is defined for the ESA/390 architecture.  */
-#define I370_OPCODE_ESA390 (0x10)
-
-/* Opcode is defined for the ESA/390 w/ BFP facility.  */
-#define I370_OPCODE_ESA390_BF (0x20)
-
-/* Opcode is defined for the ESA/390 w/ branch & set authority facility.  */
-#define I370_OPCODE_ESA390_BS (0x40)
-
-/* Opcode is defined for the ESA/390 w/ checksum facility.  */
-#define I370_OPCODE_ESA390_CK (0x80)
-
-/* Opcode is defined for the ESA/390 w/ compare & move extended facility.  */
-#define I370_OPCODE_ESA390_CM (0x100)
-
-/* Opcode is defined for the ESA/390 w/ flt.pt. support extensions facility. */
-#define I370_OPCODE_ESA390_FX (0x200)
-
-/* Opcode is defined for the ESA/390 w/ HFP facility. */
-#define I370_OPCODE_ESA390_HX (0x400)
-
-/* Opcode is defined for the ESA/390 w/ immediate & relative facility.  */
-#define I370_OPCODE_ESA390_IR (0x800)
-
-/* Opcode is defined for the ESA/390 w/ move-inverse facility.  */
-#define I370_OPCODE_ESA390_MI (0x1000)
-
-/* Opcode is defined for the ESA/390 w/ program-call-fast facility.  */
-#define I370_OPCODE_ESA390_PC (0x2000)
-
-/* Opcode is defined for the ESA/390 w/ perform-locked-op facility.  */
-#define I370_OPCODE_ESA390_PL (0x4000)
-
-/* Opcode is defined for the ESA/390 w/ square-root facility.  */
-#define I370_OPCODE_ESA390_QR (0x8000)
-
-/* Opcode is defined for the ESA/390 w/ resume-program facility.  */
-#define I370_OPCODE_ESA390_RP (0x10000)
-
-/* Opcode is defined for the ESA/390 w/ set-address-space-fast facility.  */
-#define I370_OPCODE_ESA390_SA (0x20000)
-
-/* Opcode is defined for the ESA/390 w/ subspace group facility.  */
-#define I370_OPCODE_ESA390_SG (0x40000)
-
-/* Opcode is defined for the ESA/390 w/ string facility.  */
-#define I370_OPCODE_ESA390_SR (0x80000)
-
-/* Opcode is defined for the ESA/390 w/ trap facility.  */
-#define I370_OPCODE_ESA390_TR (0x100000)
-
-#define I370_OPCODE_ESA390_SUPERSET (0x1fffff)
-
-
-/* The operands table is an array of struct i370_operand.  */
-
-struct i370_operand
-{
-  /* The number of bits in the operand.  */
-  int bits;
-
-  /* How far the operand is left shifted in the instruction.  */
-  int shift;
-
-  /* Insertion function.  This is used by the assembler.  To insert an
-     operand value into an instruction, check this field.
-
-     If it is NULL, execute
-         i |= (op & ((1 << o->bits) - 1)) << o->shift;
-     (i is the instruction which we are filling in, o is a pointer to
-     this structure, and op is the opcode value; this assumes twos
-     complement arithmetic).
-
-     If this field is not NULL, then simply call it with the
-     instruction and the operand value.  It will return the new value
-     of the instruction.  If the ERRMSG argument is not NULL, then if
-     the operand value is illegal, *ERRMSG will be set to a warning
-     string (the operand will be inserted in any case).  If the
-     operand value is legal, *ERRMSG will be unchanged (most operands
-     can accept any value).  */
-  i370_insn_t (*insert)
-    (i370_insn_t instruction, long op, const char **errmsg);
-
-  /* Extraction function.  This is used by the disassembler.  To
-     extract this operand type from an instruction, check this field.
-
-     If it is NULL, compute
-         op = ((i) >> o->shift) & ((1 << o->bits) - 1);
-	 if ((o->flags & I370_OPERAND_SIGNED) != 0
-           && (op & (1 << (o->bits - 1))) != 0)
-	   op -= 1 << o->bits;
-     (i is the instruction, o is a pointer to this structure, and op
-     is the result; this assumes twos complement arithmetic).
-
-     If this field is not NULL, then simply call it with the
-     instruction value.  It will return the value of the operand.  If
-     the INVALID argument is not NULL, *INVALID will be set to
-     non-zero if this operand type can not actually be extracted from
-     this operand (i.e., the instruction does not match).  If the
-     operand is valid, *INVALID will not be changed.  */
-  long (*extract) (i370_insn_t instruction, int *invalid);
-
-  /* One bit syntax flags.  */
-  unsigned long flags;
-
-  /* name -- handy for debugging, otherwise pointless */
-  char * name;
-};
-
-/* Elements in the table are retrieved by indexing with values from
-   the operands field of the i370_opcodes table.  */
-
-extern const struct i370_operand i370_operands[];
-
-/* Values defined for the flags field of a struct i370_operand.  */
-
-/* This operand should be wrapped in parentheses rather than
-   separated from the previous by a comma.  This is used for S, RS and
-   SS form instructions which want their operands to look like
-   reg,displacement(basereg) */
-#define I370_OPERAND_SBASE (0x01)
-
-/* This operand is a base register.  It may or may not appear next
-   to an index register, i.e. either of the two forms
-   reg,displacement(basereg)
-   reg,displacement(index,basereg) */
-#define I370_OPERAND_BASE (0x02)
-
-/* This pair of operands should be wrapped in parentheses rather than
-   separated from the last by a comma.  This is used for the RX form
-   instructions which want their operands to look like
-   reg,displacement(index,basereg) */
-#define I370_OPERAND_INDEX (0x04)
-
-/* This operand names a register.  The disassembler uses this to print
-   register names with a leading 'r'.  */
-#define I370_OPERAND_GPR (0x08)
-
-/* This operand names a floating point register.  The disassembler
-   prints these with a leading 'f'.  */
-#define I370_OPERAND_FPR (0x10)
-
-/* This operand is a displacement.  */
-#define I370_OPERAND_RELATIVE (0x20)
-
-/* This operand is a length, such as that in SS form instructions.  */
-#define I370_OPERAND_LENGTH (0x40)
-
-/* This operand is optional, and is zero if omitted.  This is used for
-   the optional B2 field in the shift-left, shift-right instructions.  The
-   assembler must count the number of operands remaining on the line,
-   and the number of operands remaining for the opcode, and decide
-   whether this operand is present or not.  The disassembler should
-   print this operand out only if it is not zero.  */
-#define I370_OPERAND_OPTIONAL (0x80)
-
-
-/* Define some misc macros.  We keep them with the operands table
-   for simplicity.  The macro table is an array of struct i370_macro.  */
-
-struct i370_macro
-{
-  /* The macro name.  */
-  const char *name;
-
-  /* The number of operands the macro takes.  */
-  unsigned int operands;
-
-  /* One bit flags for the opcode.  These are used to indicate which
-     specific processors support the instructions.  The values are the
-     same as those for the struct i370_opcode flags field.  */
-  unsigned long flags;
-
-  /* A format string to turn the macro into a normal instruction.
-     Each %N in the string is replaced with operand number N (zero
-     based).  */
-  const char *format;
-};
-
-extern const struct i370_macro i370_macros[];
-extern const int i370_num_macros;
-
-
-#endif /* I370_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/i386.h ./include/opcode/i386.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/i386.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/i386.h	2018-07-10 02:06:14.000000000 +0000
@@ -43,12 +43,6 @@
    compatible instructions.  */
 #define SYSV386_COMPAT 1
 #endif
-#ifndef OLDGCC_COMPAT
-/* Set non-zero to cater for old (<= 2.8.1) versions of gcc that could
-   generate nonsense fsubp, fsubrp, fdivp and fdivrp with operands
-   reversed.  */
-#define OLDGCC_COMPAT SYSV386_COMPAT
-#endif
 
 #define MOV_AX_DISP32 0xa0
 #define POP_SEG_SHORT 0x07
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/i860.h ./include/opcode/i860.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/i860.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/i860.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,506 +0,0 @@
-/* Table of opcodes for the i860.
-   Copyright (C) 1989-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU opcodes library.
-
-   GAS/GDB 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, or (at your option)
-   any later version.
-
-   GAS/GDB 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 GAS or GDB; see the file COPYING3.  If not, write to
-   the Free Software Foundation, 51 Franklin Street - Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
-
-/* Structure of an opcode table entry.  */
-struct i860_opcode
-{
-    /* The opcode name.  */
-    const char *name;
-
-    /* Bits that must be set.  */
-    unsigned long match;
-
-    /* Bits that must not be set.  */
-    unsigned long lose;
-
-    const char *args;
-
-    /* Nonzero if this is a possible expand-instruction.  */
-    char expand;
-};
-
-
-enum expand_type
-{
-    E_MOV = 1, E_ADDR, E_U32, E_AND, E_S32, E_DELAY, XP_ONLY
-};
-
-
-/* All i860 opcodes are 32 bits, except for the pseudo-instructions
-   and the operations utilizing a 32-bit address expression, an
-   unsigned 32-bit constant, or a signed 32-bit constant.
-   These opcodes are expanded into a two-instruction sequence for
-   any situation where the immediate operand does not fit in 32 bits.
-   In the case of the add and subtract operations the expansion is
-   to a three-instruction sequence (ex: orh, or, adds).  In cases
-   where the address is to be relocated, the instruction is
-   expanded to handle the worse case, this could be optimized at
-   the final link if the actual address were known.
-
-   The pseudoinstructions are:  mov, fmov, pmov, nop, and fnop.
-   These instructions are implemented as a one or two instruction
-   sequence of other operations.
-
-   The match component is a mask saying which bits must match a
-   particular opcode in order for an instruction to be an instance
-   of that opcode.
-
-   The args component is a string containing one character
-   for each operand of the instruction.
-
-Kinds of operands:
-   #    Number used by optimizer.  It is ignored.
-   1    src1 integer register.
-   2    src2 integer register.
-   d    dest register.
-   c	ctrlreg control register.
-   i    16 bit immediate.
-   I    16 bit immediate, aligned 2^0. (ld.b)
-   J    16 bit immediate, aligned 2^1. (ld.s)
-   K    16 bit immediate, aligned 2^2. (ld.l, {p}fld.l, fst.l)
-   L    16 bit immediate, aligned 2^3. ({p}fld.d, fst.d)
-   M    16 bit immediate, aligned 2^4. ({p}fld.q, fst.q)
-   5    5 bit immediate.
-   l    lbroff 26 bit PC relative immediate.
-   r    sbroff 16 bit PC relative immediate.
-   s	split 16 bit immediate.
-   S	split 16 bit immediate, aligned 2^0. (st.b)
-   T	split 16 bit immediate, aligned 2^1. (st.s)
-   U	split 16 bit immediate, aligned 2^2. (st.l)
-   e    src1 floating point register.
-   f    src2 floating point register.
-   g    dest floating point register.  */
-
-
-/* The order of the opcodes in this table is significant. The assembler
-   requires that all instances of the same mnemonic must be consecutive.
-   If they aren't, the assembler will not function properly.
- 
-   The order of opcodes does not affect the disassembler.  */
-
-static const struct i860_opcode i860_opcodes[] =
-{
-/* REG-Format Instructions.  */
-{ "ld.c",	0x30000000, 0xcc000000, "c,d", 0 },	/* ld.c csrc2,idest */
-{ "ld.b",	0x00000000, 0xfc000000, "1(2),d", 0 },	/* ld.b isrc1(isrc2),idest */
-{ "ld.b",	0x04000000, 0xf8000000, "I(2),d", E_ADDR },	/* ld.b #const(isrc2),idest */
-{ "ld.s",	0x10000000, 0xec000001, "1(2),d", 0 },	/* ld.s isrc1(isrc2),idest */
-{ "ld.s",	0x14000000, 0xe8000001, "J(2),d", E_ADDR },	/* ld.s #const(isrc2),idest */
-{ "ld.l",	0x10000001, 0xec000000, "1(2),d", 0 },	/* ld.l isrc1(isrc2),idest */
-{ "ld.l",	0x14000001, 0xe8000000, "K(2),d", E_ADDR },	/* ld.l #const(isrc2),idest */
-
-{ "st.c",	0x38000000, 0xc4000000, "1,c", 0 },	/* st.c isrc1ni,csrc2 */
-{ "st.b",	0x0c000000, 0xf0000000, "1,S(2)", E_ADDR },	/* st.b isrc1ni,#const(isrc2) */
-{ "st.s",	0x1c000000, 0xe0000001, "1,T(2)", E_ADDR },	/* st.s isrc1ni,#const(isrc2) */
-{ "st.l",	0x1c000001, 0xe0000000, "1,U(2)", E_ADDR },	/* st.l isrc1ni,#const(isrc2) */
-
-{ "ixfr",	0x08000000, 0xf4000000, "1,g", 0 },	/* ixfr isrc1ni,fdest */
-
-{ "fld.l",	0x20000002, 0xdc000001, "1(2),g", 0 },	/* fld.l isrc1(isrc2),fdest */
-{ "fld.l",	0x24000002, 0xd8000001, "K(2),g", E_ADDR },	/* fld.l #const(isrc2),fdest */
-{ "fld.l",	0x20000003, 0xdc000000, "1(2)++,g", 0 },	/* fld.l isrc1(isrc2)++,fdest */
-{ "fld.l",	0x24000003, 0xd8000000, "K(2)++,g", E_ADDR },	/* fld.l #const(isrc2)++,fdest */
-{ "fld.d",	0x20000000, 0xdc000007, "1(2),g", 0 },	/* fld.d isrc1(isrc2),fdest */
-{ "fld.d",	0x24000000, 0xd8000007, "L(2),g", E_ADDR },	/* fld.d #const(isrc2),fdest */
-{ "fld.d",	0x20000001, 0xdc000006, "1(2)++,g", 0 },	/* fld.d isrc1(isrc2)++,fdest */
-{ "fld.d",	0x24000001, 0xd8000006, "L(2)++,g", E_ADDR },	/* fld.d #const(isrc2)++,fdest */
-{ "fld.q",	0x20000004, 0xdc000003, "1(2),g", 0 },	/* fld.q isrc1(isrc2),fdest */
-{ "fld.q",	0x24000004, 0xd8000003, "M(2),g", E_ADDR },	/* fld.q #const(isrc2),fdest */
-{ "fld.q",	0x20000005, 0xdc000002, "1(2)++,g", 0 },	/* fld.q isrc1(isrc2)++,fdest */
-{ "fld.q",	0x24000005, 0xd8000002, "M(2)++,g", E_ADDR },	/* fld.q #const(isrc2)++,fdest */
-
-{ "pfld.l",	0x60000002, 0x9c000001, "1(2),g", 0 },	/* pfld.l isrc1(isrc2),fdest */
-{ "pfld.l",	0x64000002, 0x98000001, "K(2),g", E_ADDR },	/* pfld.l #const(isrc2),fdest */
-{ "pfld.l",	0x60000003, 0x9c000000, "1(2)++,g", 0 },	/* pfld.l isrc1(isrc2)++,fdest */
-{ "pfld.l",	0x64000003, 0x98000000, "K(2)++,g", E_ADDR },	/* pfld.l #const(isrc2)++,fdest */
-{ "pfld.d",	0x60000000, 0x9c000007, "1(2),g", 0 },	/* pfld.d isrc1(isrc2),fdest */
-{ "pfld.d",	0x64000000, 0x98000007, "L(2),g", E_ADDR },	/* pfld.d #const(isrc2),fdest */
-{ "pfld.d",	0x60000001, 0x9c000006, "1(2)++,g", 0 },	/* pfld.d isrc1(isrc2)++,fdest */
-{ "pfld.d",	0x64000001, 0x98000006, "L(2)++,g", E_ADDR },	/* pfld.d #const(isrc2)++,fdest */
-{ "pfld.q",	0x60000004, 0x9c000003, "1(2),g", XP_ONLY },	/* pfld.q isrc1(isrc2),fdest */
-{ "pfld.q",	0x64000004, 0x98000003, "L(2),g", XP_ONLY },	/* pfld.q #const(isrc2),fdest */
-{ "pfld.q",	0x60000005, 0x9c000002, "1(2)++,g", XP_ONLY },	/* pfld.q isrc1(isrc2)++,fdest */
-{ "pfld.q",	0x64000005, 0x98000002, "L(2)++,g", XP_ONLY },	/* pfld.q #const(isrc2)++,fdest */
-
-{ "fst.l",	0x28000002, 0xd4000001, "g,1(2)", 0 },	/* fst.l fdest,isrc1(isrc2) */
-{ "fst.l",	0x2c000002, 0xd0000001, "g,K(2)", E_ADDR },	/* fst.l fdest,#const(isrc2) */
-{ "fst.l",	0x28000003, 0xd4000000, "g,1(2)++", 0 },	/* fst.l fdest,isrc1(isrc2)++ */
-{ "fst.l",	0x2c000003, 0xd0000000, "g,K(2)++", E_ADDR },	/* fst.l fdest,#const(isrc2)++ */
-{ "fst.d",	0x28000000, 0xd4000007, "g,1(2)", 0 },	/* fst.d fdest,isrc1(isrc2) */
-{ "fst.d",	0x2c000000, 0xd0000007, "g,L(2)", E_ADDR },	/* fst.d fdest,#const(isrc2) */
-{ "fst.d",	0x28000001, 0xd4000006, "g,1(2)++", 0 },	/* fst.d fdest,isrc1(isrc2)++ */
-{ "fst.d",	0x2c000001, 0xd0000006, "g,L(2)++", E_ADDR },	/* fst.d fdest,#const(isrc2)++ */
-{ "fst.q",	0x28000004, 0xd4000003, "g,1(2)", 0 },	/* fst.d fdest,isrc1(isrc2) */
-{ "fst.q",	0x2c000004, 0xd0000003, "g,M(2)", E_ADDR },	/* fst.d fdest,#const(isrc2) */
-{ "fst.q",	0x28000005, 0xd4000002, "g,1(2)++", 0 },	/* fst.d fdest,isrc1(isrc2)++ */
-{ "fst.q",	0x2c000005, 0xd0000002, "g,M(2)++", E_ADDR },	/* fst.d fdest,#const(isrc2)++ */
-
-{ "pst.d",	0x3c000000, 0xc0000007, "g,L(2)", E_ADDR },	/* pst.d fdest,#const(isrc2) */
-{ "pst.d",	0x3c000001, 0xc0000006, "g,L(2)++", E_ADDR },	/* pst.d fdest,#const(isrc2)++ */
-
-{ "addu",	0x80000000, 0x7c000000, "1,2,d", 0 },	/* addu isrc1,isrc2,idest */
-{ "addu",	0x84000000, 0x78000000, "i,2,d", E_S32 },	/* addu #const,isrc2,idest */
-{ "adds",	0x90000000, 0x6c000000, "1,2,d", 0 },	/* adds isrc1,isrc2,idest */
-{ "adds",	0x94000000, 0x68000000, "i,2,d", E_S32 },	/* adds #const,isrc2,idest */
-{ "subu",	0x88000000, 0x74000000, "1,2,d", 0 },	/* subu isrc1,isrc2,idest */
-{ "subu",	0x8c000000, 0x70000000, "i,2,d", E_S32 },	/* subu #const,isrc2,idest */
-{ "subs",	0x98000000, 0x64000000, "1,2,d", 0 },	/* subs isrc1,isrc2,idest */
-{ "subs",	0x9c000000, 0x60000000, "i,2,d", E_S32 },	/* subs #const,isrc2,idest */
-
-{ "shl",	0xa0000000, 0x5c000000, "1,2,d", 0 },	/* shl isrc1,isrc2,idest */
-{ "shl",	0xa4000000, 0x58000000, "i,2,d", 0 },	/* shl #const,isrc2,idest */
-{ "shr",	0xa8000000, 0x54000000, "1,2,d", 0 },	/* shr isrc1,isrc2,idest */
-{ "shr",	0xac000000, 0x50000000, "i,2,d", 0 },	/* shr #const,isrc2,idest */
-{ "shrd",	0xb0000000, 0x4c000000, "1,2,d", 0 },	/* shrd isrc1,isrc2,idest */
-{ "shra",	0xb8000000, 0x44000000, "1,2,d", 0 },	/* shra isrc1,isrc2,idest */
-{ "shra",	0xbc000000, 0x40000000, "i,2,d", 0 },	/* shra #const,isrc2,idest */
-
-{ "mov",	0xa0000000, 0x5c00f800, "2,d", 0 },	/* shl r0,isrc2,idest */
-{ "mov",	0x94000000, 0x69e00000, "i,d", E_MOV },	/* adds #const,r0,idest */
-{ "nop",	0xa0000000, 0x5ffff800, "", 0 },	/* shl r0,r0,r0 */
-{ "fnop",	0xb0000000, 0x4ffff800, "", 0 },	/* shrd r0,r0,r0 */
-
-{ "trap",	0x44000000, 0xb8000000, "1,2,d", 0 },	/* trap isrc1ni,isrc2,idest */
-
-{ "flush",	0x34000004, 0xc81f0003, "L(2)", E_ADDR },	/* flush #const(isrc2) */
-{ "flush",	0x34000005, 0xc81f0002, "L(2)++", E_ADDR },	/* flush #const(isrc2)++ */
-
-{ "and",	0xc0000000, 0x3c000000, "1,2,d", 0 },	/* and isrc1,isrc2,idest */
-{ "and",	0xc4000000, 0x38000000, "i,2,d", E_AND },	/* and #const,isrc2,idest */
-{ "andh",	0xcc000000, 0x30000000, "i,2,d", 0 },	/* andh #const,isrc2,idest */
-{ "andnot",	0xd0000000, 0x2c000000, "1,2,d", 0 },	/* andnot isrc1,isrc2,idest */
-{ "andnot",	0xd4000000, 0x28000000, "i,2,d", E_U32 },	/* andnot #const,isrc2,idest */
-{ "andnoth",	0xdc000000, 0x20000000, "i,2,d", 0 },	/* andnoth #const,isrc2,idest */
-{ "or",		0xe0000000, 0x1c000000, "1,2,d", 0 },	/* or isrc1,isrc2,idest */
-{ "or",		0xe4000000, 0x18000000, "i,2,d", E_U32 },	/* or #const,isrc2,idest */
-{ "orh",	0xec000000, 0x10000000, "i,2,d", 0 },	/* orh #const,isrc2,idest */
-{ "xor",	0xf0000000, 0x0c000000, "1,2,d", 0 },	/* xor isrc1,isrc2,idest */
-{ "xor",	0xf4000000, 0x08000000, "i,2,d", E_U32 },	/* xor #const,isrc2,idest */
-{ "xorh",	0xfc000000, 0x00000000, "i,2,d", 0 },	/* xorh #const,isrc2,idest */
-
-{ "bte",	0x58000000, 0xa4000000, "1,2,r", 0 },	/* bte isrc1s,isrc2,sbroff */
-{ "bte",	0x5c000000, 0xa0000000, "5,2,r", 0 },	/* bte #const5,isrc2,sbroff */
-{ "btne",	0x50000000, 0xac000000, "1,2,r", 0 },	/* btne isrc1s,isrc2,sbroff */
-{ "btne",	0x54000000, 0xa8000000, "5,2,r", 0 },	/* btne #const5,isrc2,sbroff */
-{ "bla",	0xb4000000, 0x48000000, "1,2,r", E_DELAY },	/* bla isrc1s,isrc2,sbroff */
-{ "bri",	0x40000000, 0xbc000000, "1", E_DELAY },	/* bri isrc1ni */
-
-/* Core Escape Instruction Format */
-{ "lock",	0x4c000001, 0xb000001e, "", 0 },	/* lock set BL in dirbase */
-{ "calli",	0x4c000002, 0xb000001d, "1", E_DELAY },	/* calli isrc1ni */
-{ "intovr",	0x4c000004, 0xb000001b, "", 0 },	/* intovr trap on integer overflow */
-{ "unlock",	0x4c000007, 0xb0000018, "", 0 },	/* unlock clear BL in dirbase */
-{ "ldio.l",	0x4c000408, 0xb00003f7, "2,d", XP_ONLY },	/* ldio.l isrc2,idest */
-{ "ldio.s",	0x4c000208, 0xb00005f7, "2,d", XP_ONLY },	/* ldio.s isrc2,idest */
-{ "ldio.b",	0x4c000008, 0xb00007f7, "2,d", XP_ONLY },	/* ldio.b isrc2,idest */
-{ "stio.l",	0x4c000409, 0xb00003f6, "1,2", XP_ONLY },	/* stio.l isrc1ni,isrc2 */
-{ "stio.s",	0x4c000209, 0xb00005f6, "1,2", XP_ONLY },	/* stio.s isrc1ni,isrc2 */
-{ "stio.b",	0x4c000009, 0xb00007f6, "1,2", XP_ONLY },	/* stio.b isrc1ni,isrc2 */
-{ "ldint.l",	0x4c00040a, 0xb00003f5, "2,d", XP_ONLY },	/* ldint.l isrc2,idest */
-{ "ldint.s",	0x4c00020a, 0xb00005f5, "2,d", XP_ONLY },	/* ldint.s isrc2,idest */
-{ "ldint.b",	0x4c00000a, 0xb00007f5, "2,d", XP_ONLY },	/* ldint.b isrc2,idest */
-{ "scyc.b",	0x4c00000b, 0xb00007f4, "2", XP_ONLY },		/* scyc.b isrc2 */
-
-/* CTRL-Format Instructions */
-{ "br",		0x68000000, 0x94000000, "l", E_DELAY },	/* br lbroff */
-{ "call",	0x6c000000, 0x90000000, "l", E_DELAY },	/* call lbroff */
-{ "bc",		0x70000000, 0x8c000000, "l", 0 },	/* bc lbroff */
-{ "bc.t",	0x74000000, 0x88000000, "l", E_DELAY },	/* bc.t lbroff */
-{ "bnc",	0x78000000, 0x84000000, "l", 0 },	/* bnc lbroff */
-{ "bnc.t",	0x7c000000, 0x80000000, "l", E_DELAY },	/* bnc.t lbroff */
-
-/* Floating Point Escape Instruction Format - pfam.p fsrc1,fsrc2,fdest.  */
-{ "r2p1.ss",	0x48000400, 0xb40001ff, "e,f,g", 0 },
-{ "r2p1.sd",	0x48000480, 0xb400017f, "e,f,g", 0 },
-{ "r2p1.dd",	0x48000580, 0xb400007f, "e,f,g", 0 },
-{ "r2pt.ss",	0x48000401, 0xb40001fe, "e,f,g", 0 },
-{ "r2pt.sd",	0x48000481, 0xb400017e, "e,f,g", 0 },
-{ "r2pt.dd",	0x48000581, 0xb400007e, "e,f,g", 0 },
-{ "r2ap1.ss",	0x48000402, 0xb40001fd, "e,f,g", 0 },
-{ "r2ap1.sd",	0x48000482, 0xb400017d, "e,f,g", 0 },
-{ "r2ap1.dd",	0x48000582, 0xb400007d, "e,f,g", 0 },
-{ "r2apt.ss",	0x48000403, 0xb40001fc, "e,f,g", 0 },
-{ "r2apt.sd",	0x48000483, 0xb400017c, "e,f,g", 0 },
-{ "r2apt.dd",	0x48000583, 0xb400007c, "e,f,g", 0 },
-{ "i2p1.ss",	0x48000404, 0xb40001fb, "e,f,g", 0 },
-{ "i2p1.sd",	0x48000484, 0xb400017b, "e,f,g", 0 },
-{ "i2p1.dd",	0x48000584, 0xb400007b, "e,f,g", 0 },
-{ "i2pt.ss",	0x48000405, 0xb40001fa, "e,f,g", 0 },
-{ "i2pt.sd",	0x48000485, 0xb400017a, "e,f,g", 0 },
-{ "i2pt.dd",	0x48000585, 0xb400007a, "e,f,g", 0 },
-{ "i2ap1.ss",	0x48000406, 0xb40001f9, "e,f,g", 0 },
-{ "i2ap1.sd",	0x48000486, 0xb4000179, "e,f,g", 0 },
-{ "i2ap1.dd",	0x48000586, 0xb4000079, "e,f,g", 0 },
-{ "i2apt.ss",	0x48000407, 0xb40001f8, "e,f,g", 0 },
-{ "i2apt.sd",	0x48000487, 0xb4000178, "e,f,g", 0 },
-{ "i2apt.dd",	0x48000587, 0xb4000078, "e,f,g", 0 },
-{ "rat1p2.ss",	0x48000408, 0xb40001f7, "e,f,g", 0 },
-{ "rat1p2.sd",	0x48000488, 0xb4000177, "e,f,g", 0 },
-{ "rat1p2.dd",	0x48000588, 0xb4000077, "e,f,g", 0 },
-{ "m12apm.ss",	0x48000409, 0xb40001f6, "e,f,g", 0 },
-{ "m12apm.sd",	0x48000489, 0xb4000176, "e,f,g", 0 },
-{ "m12apm.dd",	0x48000589, 0xb4000076, "e,f,g", 0 },
-{ "ra1p2.ss",	0x4800040a, 0xb40001f5, "e,f,g", 0 },
-{ "ra1p2.sd",	0x4800048a, 0xb4000175, "e,f,g", 0 },
-{ "ra1p2.dd",	0x4800058a, 0xb4000075, "e,f,g", 0 },
-{ "m12ttpa.ss",	0x4800040b, 0xb40001f4, "e,f,g", 0 },
-{ "m12ttpa.sd",	0x4800048b, 0xb4000174, "e,f,g", 0 },
-{ "m12ttpa.dd",	0x4800058b, 0xb4000074, "e,f,g", 0 },
-{ "iat1p2.ss",	0x4800040c, 0xb40001f3, "e,f,g", 0 },
-{ "iat1p2.sd",	0x4800048c, 0xb4000173, "e,f,g", 0 },
-{ "iat1p2.dd",	0x4800058c, 0xb4000073, "e,f,g", 0 },
-{ "m12tpm.ss",	0x4800040d, 0xb40001f2, "e,f,g", 0 },
-{ "m12tpm.sd",	0x4800048d, 0xb4000172, "e,f,g", 0 },
-{ "m12tpm.dd",	0x4800058d, 0xb4000072, "e,f,g", 0 },
-{ "ia1p2.ss",	0x4800040e, 0xb40001f1, "e,f,g", 0 },
-{ "ia1p2.sd",	0x4800048e, 0xb4000171, "e,f,g", 0 },
-{ "ia1p2.dd",	0x4800058e, 0xb4000071, "e,f,g", 0 },
-{ "m12tpa.ss",	0x4800040f, 0xb40001f0, "e,f,g", 0 },
-{ "m12tpa.sd",	0x4800048f, 0xb4000170, "e,f,g", 0 },
-{ "m12tpa.dd",	0x4800058f, 0xb4000070, "e,f,g", 0 },
-
-/* Floating Point Escape Instruction Format - pfsm.p fsrc1,fsrc2,fdest.  */
-{ "r2s1.ss",	0x48000410, 0xb40001ef, "e,f,g", 0 },
-{ "r2s1.sd",	0x48000490, 0xb400016f, "e,f,g", 0 },
-{ "r2s1.dd",	0x48000590, 0xb400006f, "e,f,g", 0 },
-{ "r2st.ss",	0x48000411, 0xb40001ee, "e,f,g", 0 },
-{ "r2st.sd",	0x48000491, 0xb400016e, "e,f,g", 0 },
-{ "r2st.dd",	0x48000591, 0xb400006e, "e,f,g", 0 },
-{ "r2as1.ss",	0x48000412, 0xb40001ed, "e,f,g", 0 },
-{ "r2as1.sd",	0x48000492, 0xb400016d, "e,f,g", 0 },
-{ "r2as1.dd",	0x48000592, 0xb400006d, "e,f,g", 0 },
-{ "r2ast.ss",	0x48000413, 0xb40001ec, "e,f,g", 0 },
-{ "r2ast.sd",	0x48000493, 0xb400016c, "e,f,g", 0 },
-{ "r2ast.dd",	0x48000593, 0xb400006c, "e,f,g", 0 },
-{ "i2s1.ss",	0x48000414, 0xb40001eb, "e,f,g", 0 },
-{ "i2s1.sd",	0x48000494, 0xb400016b, "e,f,g", 0 },
-{ "i2s1.dd",	0x48000594, 0xb400006b, "e,f,g", 0 },
-{ "i2st.ss",	0x48000415, 0xb40001ea, "e,f,g", 0 },
-{ "i2st.sd",	0x48000495, 0xb400016a, "e,f,g", 0 },
-{ "i2st.dd",	0x48000595, 0xb400006a, "e,f,g", 0 },
-{ "i2as1.ss",	0x48000416, 0xb40001e9, "e,f,g", 0 },
-{ "i2as1.sd",	0x48000496, 0xb4000169, "e,f,g", 0 },
-{ "i2as1.dd",	0x48000596, 0xb4000069, "e,f,g", 0 },
-{ "i2ast.ss",	0x48000417, 0xb40001e8, "e,f,g", 0 },
-{ "i2ast.sd",	0x48000497, 0xb4000168, "e,f,g", 0 },
-{ "i2ast.dd",	0x48000597, 0xb4000068, "e,f,g", 0 },
-{ "rat1s2.ss",	0x48000418, 0xb40001e7, "e,f,g", 0 },
-{ "rat1s2.sd",	0x48000498, 0xb4000167, "e,f,g", 0 },
-{ "rat1s2.dd",	0x48000598, 0xb4000067, "e,f,g", 0 },
-{ "m12asm.ss",	0x48000419, 0xb40001e6, "e,f,g", 0 },
-{ "m12asm.sd",	0x48000499, 0xb4000166, "e,f,g", 0 },
-{ "m12asm.dd",	0x48000599, 0xb4000066, "e,f,g", 0 },
-{ "ra1s2.ss",	0x4800041a, 0xb40001e5, "e,f,g", 0 },
-{ "ra1s2.sd",	0x4800049a, 0xb4000165, "e,f,g", 0 },
-{ "ra1s2.dd",	0x4800059a, 0xb4000065, "e,f,g", 0 },
-{ "m12ttsa.ss",	0x4800041b, 0xb40001e4, "e,f,g", 0 },
-{ "m12ttsa.sd",	0x4800049b, 0xb4000164, "e,f,g", 0 },
-{ "m12ttsa.dd",	0x4800059b, 0xb4000064, "e,f,g", 0 },
-{ "iat1s2.ss",	0x4800041c, 0xb40001e3, "e,f,g", 0 },
-{ "iat1s2.sd",	0x4800049c, 0xb4000163, "e,f,g", 0 },
-{ "iat1s2.dd",	0x4800059c, 0xb4000063, "e,f,g", 0 },
-{ "m12tsm.ss",	0x4800041d, 0xb40001e2, "e,f,g", 0 },
-{ "m12tsm.sd",	0x4800049d, 0xb4000162, "e,f,g", 0 },
-{ "m12tsm.dd",	0x4800059d, 0xb4000062, "e,f,g", 0 },
-{ "ia1s2.ss",	0x4800041e, 0xb40001e1, "e,f,g", 0 },
-{ "ia1s2.sd",	0x4800049e, 0xb4000161, "e,f,g", 0 },
-{ "ia1s2.dd",	0x4800059e, 0xb4000061, "e,f,g", 0 },
-{ "m12tsa.ss",	0x4800041f, 0xb40001e0, "e,f,g", 0 },
-{ "m12tsa.sd",	0x4800049f, 0xb4000160, "e,f,g", 0 },
-{ "m12tsa.dd",	0x4800059f, 0xb4000060, "e,f,g", 0 },
-
-/* Floating Point Escape Instruction Format - pfmam.p fsrc1,fsrc2,fdest.  */
-{ "mr2p1.ss",	0x48000000, 0xb40005ff, "e,f,g", 0 },
-{ "mr2p1.sd",	0x48000080, 0xb400057f, "e,f,g", 0 },
-{ "mr2p1.dd",	0x48000180, 0xb400047f, "e,f,g", 0 },
-{ "mr2pt.ss",	0x48000001, 0xb40005fe, "e,f,g", 0 },
-{ "mr2pt.sd",	0x48000081, 0xb400057e, "e,f,g", 0 },
-{ "mr2pt.dd",	0x48000181, 0xb400047e, "e,f,g", 0 },
-{ "mr2mp1.ss",	0x48000002, 0xb40005fd, "e,f,g", 0 },
-{ "mr2mp1.sd",	0x48000082, 0xb400057d, "e,f,g", 0 },
-{ "mr2mp1.dd",	0x48000182, 0xb400047d, "e,f,g", 0 },
-{ "mr2mpt.ss",	0x48000003, 0xb40005fc, "e,f,g", 0 },
-{ "mr2mpt.sd",	0x48000083, 0xb400057c, "e,f,g", 0 },
-{ "mr2mpt.dd",	0x48000183, 0xb400047c, "e,f,g", 0 },
-{ "mi2p1.ss",	0x48000004, 0xb40005fb, "e,f,g", 0 },
-{ "mi2p1.sd",	0x48000084, 0xb400057b, "e,f,g", 0 },
-{ "mi2p1.dd",	0x48000184, 0xb400047b, "e,f,g", 0 },
-{ "mi2pt.ss",	0x48000005, 0xb40005fa, "e,f,g", 0 },
-{ "mi2pt.sd",	0x48000085, 0xb400057a, "e,f,g", 0 },
-{ "mi2pt.dd",	0x48000185, 0xb400047a, "e,f,g", 0 },
-{ "mi2mp1.ss",	0x48000006, 0xb40005f9, "e,f,g", 0 },
-{ "mi2mp1.sd",	0x48000086, 0xb4000579, "e,f,g", 0 },
-{ "mi2mp1.dd",	0x48000186, 0xb4000479, "e,f,g", 0 },
-{ "mi2mpt.ss",	0x48000007, 0xb40005f8, "e,f,g", 0 },
-{ "mi2mpt.sd",	0x48000087, 0xb4000578, "e,f,g", 0 },
-{ "mi2mpt.dd",	0x48000187, 0xb4000478, "e,f,g", 0 },
-{ "mrmt1p2.ss",	0x48000008, 0xb40005f7, "e,f,g", 0 },
-{ "mrmt1p2.sd",	0x48000088, 0xb4000577, "e,f,g", 0 },
-{ "mrmt1p2.dd",	0x48000188, 0xb4000477, "e,f,g", 0 },
-{ "mm12mpm.ss",	0x48000009, 0xb40005f6, "e,f,g", 0 },
-{ "mm12mpm.sd",	0x48000089, 0xb4000576, "e,f,g", 0 },
-{ "mm12mpm.dd",	0x48000189, 0xb4000476, "e,f,g", 0 },
-{ "mrm1p2.ss",	0x4800000a, 0xb40005f5, "e,f,g", 0 },
-{ "mrm1p2.sd",	0x4800008a, 0xb4000575, "e,f,g", 0 },
-{ "mrm1p2.dd",	0x4800018a, 0xb4000475, "e,f,g", 0 },
-{ "mm12ttpm.ss",0x4800000b, 0xb40005f4, "e,f,g", 0 },
-{ "mm12ttpm.sd",0x4800008b, 0xb4000574, "e,f,g", 0 },
-{ "mm12ttpm.dd",0x4800018b, 0xb4000474, "e,f,g", 0 },
-{ "mimt1p2.ss",	0x4800000c, 0xb40005f3, "e,f,g", 0 },
-{ "mimt1p2.sd",	0x4800008c, 0xb4000573, "e,f,g", 0 },
-{ "mimt1p2.dd",	0x4800018c, 0xb4000473, "e,f,g", 0 },
-{ "mm12tpm.ss",	0x4800000d, 0xb40005f2, "e,f,g", 0 },
-{ "mm12tpm.sd",	0x4800008d, 0xb4000572, "e,f,g", 0 },
-{ "mm12tpm.dd",	0x4800018d, 0xb4000472, "e,f,g", 0 },
-{ "mim1p2.ss",	0x4800000e, 0xb40005f1, "e,f,g", 0 },
-{ "mim1p2.sd",	0x4800008e, 0xb4000571, "e,f,g", 0 },
-{ "mim1p2.dd",	0x4800018e, 0xb4000471, "e,f,g", 0 },
-
-/* Floating Point Escape Instruction Format - pfmsm.p fsrc1,fsrc2,fdest.  */
-{ "mr2s1.ss",	0x48000010, 0xb40005ef, "e,f,g", 0 },
-{ "mr2s1.sd",	0x48000090, 0xb400056f, "e,f,g", 0 },
-{ "mr2s1.dd",	0x48000190, 0xb400046f, "e,f,g", 0 },
-{ "mr2st.ss",	0x48000011, 0xb40005ee, "e,f,g", 0 },
-{ "mr2st.sd",	0x48000091, 0xb400056e, "e,f,g", 0 },
-{ "mr2st.dd",	0x48000191, 0xb400046e, "e,f,g", 0 },
-{ "mr2ms1.ss",	0x48000012, 0xb40005ed, "e,f,g", 0 },
-{ "mr2ms1.sd",	0x48000092, 0xb400056d, "e,f,g", 0 },
-{ "mr2ms1.dd",	0x48000192, 0xb400046d, "e,f,g", 0 },
-{ "mr2mst.ss",	0x48000013, 0xb40005ec, "e,f,g", 0 },
-{ "mr2mst.sd",	0x48000093, 0xb400056c, "e,f,g", 0 },
-{ "mr2mst.dd",	0x48000193, 0xb400046c, "e,f,g", 0 },
-{ "mi2s1.ss",	0x48000014, 0xb40005eb, "e,f,g", 0 },
-{ "mi2s1.sd",	0x48000094, 0xb400056b, "e,f,g", 0 },
-{ "mi2s1.dd",	0x48000194, 0xb400046b, "e,f,g", 0 },
-{ "mi2st.ss",	0x48000015, 0xb40005ea, "e,f,g", 0 },
-{ "mi2st.sd",	0x48000095, 0xb400056a, "e,f,g", 0 },
-{ "mi2st.dd",	0x48000195, 0xb400046a, "e,f,g", 0 },
-{ "mi2ms1.ss",	0x48000016, 0xb40005e9, "e,f,g", 0 },
-{ "mi2ms1.sd",	0x48000096, 0xb4000569, "e,f,g", 0 },
-{ "mi2ms1.dd",	0x48000196, 0xb4000469, "e,f,g", 0 },
-{ "mi2mst.ss",	0x48000017, 0xb40005e8, "e,f,g", 0 },
-{ "mi2mst.sd",	0x48000097, 0xb4000568, "e,f,g", 0 },
-{ "mi2mst.dd",	0x48000197, 0xb4000468, "e,f,g", 0 },
-{ "mrmt1s2.ss",	0x48000018, 0xb40005e7, "e,f,g", 0 },
-{ "mrmt1s2.sd",	0x48000098, 0xb4000567, "e,f,g", 0 },
-{ "mrmt1s2.dd",	0x48000198, 0xb4000467, "e,f,g", 0 },
-{ "mm12msm.ss",	0x48000019, 0xb40005e6, "e,f,g", 0 },
-{ "mm12msm.sd",	0x48000099, 0xb4000566, "e,f,g", 0 },
-{ "mm12msm.dd",	0x48000199, 0xb4000466, "e,f,g", 0 },
-{ "mrm1s2.ss",	0x4800001a, 0xb40005e5, "e,f,g", 0 },
-{ "mrm1s2.sd",	0x4800009a, 0xb4000565, "e,f,g", 0 },
-{ "mrm1s2.dd",	0x4800019a, 0xb4000465, "e,f,g", 0 },
-{ "mm12ttsm.ss",0x4800001b, 0xb40005e4, "e,f,g", 0 },
-{ "mm12ttsm.sd",0x4800009b, 0xb4000564, "e,f,g", 0 },
-{ "mm12ttsm.dd",0x4800019b, 0xb4000464, "e,f,g", 0 },
-{ "mimt1s2.ss",	0x4800001c, 0xb40005e3, "e,f,g", 0 },
-{ "mimt1s2.sd",	0x4800009c, 0xb4000563, "e,f,g", 0 },
-{ "mimt1s2.dd",	0x4800019c, 0xb4000463, "e,f,g", 0 },
-{ "mm12tsm.ss",	0x4800001d, 0xb40005e2, "e,f,g", 0 },
-{ "mm12tsm.sd",	0x4800009d, 0xb4000562, "e,f,g", 0 },
-{ "mm12tsm.dd",	0x4800019d, 0xb4000462, "e,f,g", 0 },
-{ "mim1s2.ss",	0x4800001e, 0xb40005e1, "e,f,g", 0 },
-{ "mim1s2.sd",	0x4800009e, 0xb4000561, "e,f,g", 0 },
-{ "mim1s2.dd",	0x4800019e, 0xb4000461, "e,f,g", 0 },
-
-{ "fmul.ss",	0x48000020, 0xb40005df, "e,f,g", 0 },	/* fmul.p fsrc1,fsrc2,fdest */
-{ "fmul.sd",	0x480000a0, 0xb400055f, "e,f,g", 0 },	/* fmul.p fsrc1,fsrc2,fdest */
-{ "fmul.dd",	0x480001a0, 0xb400045f, "e,f,g", 0 },	/* fmul.p fsrc1,fsrc2,fdest */
-{ "pfmul.ss",	0x48000420, 0xb40001df, "e,f,g", 0 },	/* pfmul.p fsrc1,fsrc2,fdest */
-{ "pfmul.sd",	0x480004a0, 0xb400015f, "e,f,g", 0 },	/* pfmul.p fsrc1,fsrc2,fdest */
-{ "pfmul.dd",	0x480005a0, 0xb400005f, "e,f,g", 0 },	/* pfmul.p fsrc1,fsrc2,fdest */
-{ "pfmul3.dd",	0x480005a4, 0xb400005b, "e,f,g", 0 },	/* pfmul3.p fsrc1,fsrc2,fdest */
-{ "fmlow.dd",	0x480001a1, 0xb400045e, "e,f,g", 0 },	/* fmlow.dd fsrc1,fsrc2,fdest */
-{ "frcp.ss",	0x48000022, 0xb40005dd, "f,g", 0 },	/* frcp.p fsrc2,fdest */
-{ "frcp.sd",	0x480000a2, 0xb400055d, "f,g", 0 },	/* frcp.p fsrc2,fdest */
-{ "frcp.dd",	0x480001a2, 0xb400045d, "f,g", 0 },	/* frcp.p fsrc2,fdest */
-{ "frsqr.ss",	0x48000023, 0xb40005dc, "f,g", 0 },	/* frsqr.p fsrc2,fdest */
-{ "frsqr.sd",	0x480000a3, 0xb400055c, "f,g", 0 },	/* frsqr.p fsrc2,fdest */
-{ "frsqr.dd",	0x480001a3, 0xb400045c, "f,g", 0 },	/* frsqr.p fsrc2,fdest */
-{ "fadd.ss",	0x48000030, 0xb40005cf, "e,f,g", 0 },	/* fadd.p fsrc1,fsrc2,fdest */
-{ "fadd.sd",	0x480000b0, 0xb400054f, "e,f,g", 0 },	/* fadd.p fsrc1,fsrc2,fdest */
-{ "fadd.dd",	0x480001b0, 0xb400044f, "e,f,g", 0 },	/* fadd.p fsrc1,fsrc2,fdest */
-{ "pfadd.ss",	0x48000430, 0xb40001cf, "e,f,g", 0 },	/* pfadd.p fsrc1,fsrc2,fdest */
-{ "pfadd.sd",	0x480004b0, 0xb400014f, "e,f,g", 0 },	/* pfadd.p fsrc1,fsrc2,fdest */
-{ "pfadd.dd",	0x480005b0, 0xb400004f, "e,f,g", 0 },	/* pfadd.p fsrc1,fsrc2,fdest */
-{ "fsub.ss",	0x48000031, 0xb40005ce, "e,f,g", 0 },	/* fsub.p fsrc1,fsrc2,fdest */
-{ "fsub.sd",	0x480000b1, 0xb400054e, "e,f,g", 0 },	/* fsub.p fsrc1,fsrc2,fdest */
-{ "fsub.dd",	0x480001b1, 0xb400044e, "e,f,g", 0 },	/* fsub.p fsrc1,fsrc2,fdest */
-{ "pfsub.ss",	0x48000431, 0xb40001ce, "e,f,g", 0 },	/* pfsub.p fsrc1,fsrc2,fdest */
-{ "pfsub.sd",	0x480004b1, 0xb400014e, "e,f,g", 0 },	/* pfsub.p fsrc1,fsrc2,fdest */
-{ "pfsub.dd",	0x480005b1, 0xb400004e, "e,f,g", 0 },	/* pfsub.p fsrc1,fsrc2,fdest */
-{ "fix.sd",	0x480000b2, 0xb400054d, "e,g", 0 },	/* fix.p fsrc1,fdest */
-{ "fix.dd",	0x480001b2, 0xb400044d, "e,g", 0 },	/* fix.p fsrc1,fdest */
-{ "pfix.sd",	0x480004b2, 0xb400014d, "e,g", 0 },	/* pfix.p fsrc1,fdest */
-{ "pfix.dd",	0x480005b2, 0xb400004d, "e,g", 0 },	/* pfix.p fsrc1,fdest */
-{ "famov.ss",	0x48000033, 0xb40005cc, "e,g", 0 },	/* famov.p fsrc1,fdest */
-{ "famov.ds",	0x48000133, 0xb40004cc, "e,g", 0 },	/* famov.p fsrc1,fdest */
-{ "famov.sd",	0x480000b3, 0xb400054c, "e,g", 0 },	/* famov.p fsrc1,fdest */
-{ "famov.dd",	0x480001b3, 0xb400044c, "e,g", 0 },	/* famov.p fsrc1,fdest */
-{ "pfamov.ss",	0x48000433, 0xb40001cc, "e,g", 0 },	/* pfamov.p fsrc1,fdest */
-{ "pfamov.ds",	0x48000533, 0xb40000cc, "e,g", 0 },	/* pfamov.p fsrc1,fdest */
-{ "pfamov.sd",	0x480004b3, 0xb400014c, "e,g", 0 },	/* pfamov.p fsrc1,fdest */
-{ "pfamov.dd",	0x480005b3, 0xb400004c, "e,g", 0 },	/* pfamov.p fsrc1,fdest */
-/* Opcode pfgt has R bit cleared; pfle has R bit set.  */
-{ "pfgt.ss",	0x48000434, 0xb40001cb, "e,f,g", 0 },	/* pfgt.p fsrc1,fsrc2,fdest */
-{ "pfgt.dd",	0x48000534, 0xb40000cb, "e,f,g", 0 },	/* pfgt.p fsrc1,fsrc2,fdest */
-/* Opcode pfgt has R bit cleared; pfle has R bit set.  */
-{ "pfle.ss",	0x480004b4, 0xb400014b, "e,f,g", 0 },	/* pfle.p fsrc1,fsrc2,fdest */
-{ "pfle.dd",	0x480005b4, 0xb400004b, "e,f,g", 0 },	/* pfle.p fsrc1,fsrc2,fdest */
-{ "pfeq.ss",	0x48000435, 0xb40001ca, "e,f,g", 0 },	/* pfeq.p fsrc1,fsrc2,fdest */
-{ "pfeq.dd",	0x48000535, 0xb40000ca, "e,f,g", 0 },	/* pfeq.p fsrc1,fsrc2,fdest */
-{ "ftrunc.sd",	0x480000ba, 0xb4000545, "e,g", 0 },	/* ftrunc.p fsrc1,fdest */
-{ "ftrunc.dd",	0x480001ba, 0xb4000445, "e,g", 0 },	/* ftrunc.p fsrc1,fdest */
-{ "pftrunc.sd",	0x480004ba, 0xb4000145, "e,g", 0 },	/* pftrunc.p fsrc1,fdest */
-{ "pftrunc.dd",	0x480005ba, 0xb4000045, "e,g", 0 },	/* pftrunc.p fsrc1,fdest */
-{ "fxfr",	0x48000040, 0xb40005bf, "e,d", 0 },	/* fxfr fsrc1,idest */
-{ "fiadd.ss",	0x48000049, 0xb40005b6, "e,f,g", 0 },	/* fiadd.w fsrc1,fsrc2,fdest */
-{ "fiadd.dd",	0x480001c9, 0xb4000436, "e,f,g", 0 },	/* fiadd.w fsrc1,fsrc2,fdest */
-{ "pfiadd.ss",	0x48000449, 0xb40001b6, "e,f,g", 0 },	/* pfiadd.w fsrc1,fsrc2,fdest */
-{ "pfiadd.dd",	0x480005c9, 0xb4000036, "e,f,g", 0 },	/* pfiadd.w fsrc1,fsrc2,fdest */
-{ "fisub.ss",	0x4800004d, 0xb40005b2, "e,f,g", 0 },	/* fisub.w fsrc1,fsrc2,fdest */
-{ "fisub.dd",	0x480001cd, 0xb4000432, "e,f,g", 0 },	/* fisub.w fsrc1,fsrc2,fdest */
-{ "pfisub.ss",	0x4800044d, 0xb40001b2, "e,f,g", 0 },	/* pfisub.w fsrc1,fsrc2,fdest */
-{ "pfisub.dd",	0x480005cd, 0xb4000032, "e,f,g", 0 },	/* pfisub.w fsrc1,fsrc2,fdest */
-{ "fzchkl",	0x480001d7, 0xb4000428, "e,f,g", 0 },	/* fzchkl fsrc1,fsrc2,fdest */
-{ "pfzchkl",	0x480005d7, 0xb4000028, "e,f,g", 0 },	/* pfzchkl fsrc1,fsrc2,fdest */
-{ "fzchks",	0x480001df, 0xb4000420, "e,f,g", 0 },	/* fzchks fsrc1,fsrc2,fdest */
-{ "pfzchks",	0x480005df, 0xb4000020, "e,f,g", 0 },	/* pfzchks fsrc1,fsrc2,fdest */
-{ "faddp",	0x480001d0, 0xb400042f, "e,f,g", 0 },	/* faddp fsrc1,fsrc2,fdest */
-{ "pfaddp",	0x480005d0, 0xb400002f, "e,f,g", 0 },	/* pfaddp fsrc1,fsrc2,fdest */
-{ "faddz",	0x480001d1, 0xb400042e, "e,f,g", 0 },	/* faddz fsrc1,fsrc2,fdest */
-{ "pfaddz",	0x480005d1, 0xb400002e, "e,f,g", 0 },	/* pfaddz fsrc1,fsrc2,fdest */
-{ "form",	0x480001da, 0xb4000425, "e,g", 0 },	/* form fsrc1,fdest */
-{ "pform",	0x480005da, 0xb4000025, "e,g", 0 },	/* pform fsrc1,fdest */
-
-/* Floating point pseudo-instructions.  */
-{ "fmov.ss",	0x48000049, 0xb7e005b6, "e,g", 0 },	/* fiadd.ss fsrc1,f0,fdest */
-{ "fmov.dd",	0x480001c9, 0xb7e00436, "e,g", 0 },	/* fiadd.dd fsrc1,f0,fdest */
-{ "fmov.sd",	0x480000b3, 0xb400054c, "e,g", 0 },	/* famov.sd fsrc1,fdest */
-{ "fmov.ds",	0x48000133, 0xb40004cc, "e,g", 0 },	/* famov.ds fsrc1,fdest */
-{ "pfmov.ds",	0x48000533, 0xb40000cc, "e,g", 0 },	/* pfamov.ds fsrc1,fdest */
-{ "pfmov.dd",	0x480005c9, 0xb7e00036, "e,g", 0 },	/* pfiadd.dd fsrc1,f0,fdest */
-{ 0, 0, 0, 0, 0 },
-
-};
-
-#define NUMOPCODES ((sizeof i860_opcodes)/(sizeof i860_opcodes[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.1.0.20180703/include/opcode/i960.h ./include/opcode/i960.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/i960.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/i960.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,525 +0,0 @@
-/* Basic 80960 instruction formats.
-
-   Copyright (C) 2001-2018 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, 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
- 
-/* The 'COJ' instructions are actually COBR instructions with the 'b' in
-   the mnemonic replaced by a 'j';  they are ALWAYS "de-optimized" if
-   necessary: if the displacement will not fit in 13 bits, the assembler will
-   replace them with the corresponding compare and branch instructions.
- 
-   All of the 'MEMn' instructions are the same format; the 'n' in the name
-   indicates the default index scale factor (the size of the datum operated on).
- 
-   The FBRA formats are not actually an instruction format.  They are the
-   "convenience directives" for branching on floating-point comparisons,
-   each of which generates 2 instructions (a 'bno' and one other branch).
- 
-   The CALLJ format is not actually an instruction format.  It indicates that
-   the instruction generated (a CTRL-format 'call') should have its relocation
-   specially flagged for link-time replacement with a 'bal' or 'calls' if
-   appropriate.  */ 
-
-#define CTRL	0
-#define COBR	1
-#define COJ	2
-#define REG	3
-#define MEM1	4
-#define MEM2	5
-#define MEM4	6
-#define MEM8	7
-#define MEM12	8
-#define MEM16	9
-#define FBRA	10
-#define CALLJ	11
-
-/* Masks for the mode bits in REG format instructions */
-#define M1		0x0800
-#define M2		0x1000
-#define M3		0x2000
-
-/* Generate the 12-bit opcode for a REG format instruction by placing the 
- * high 8 bits in instruction bits 24-31, the low 4 bits in instruction bits
- * 7-10.
- */
-
-#define REG_OPC(opc)	((opc & 0xff0) << 20) | ((opc & 0xf) << 7)
-
-/* Generate a template for a REG format instruction:  place the opcode bits
- * in the appropriate fields and OR in mode bits for the operands that will not
- * be used.  I.e.,
- *		set m1=1, if src1 will not be used
- *		set m2=1, if src2 will not be used
- *		set m3=1, if dst  will not be used
- *
- * Setting the "unused" mode bits to 1 speeds up instruction execution(!).
- * The information is also useful to us because some 1-operand REG instructions
- * use the src1 field, others the dst field; and some 2-operand REG instructions
- * use src1/src2, others src1/dst.  The set mode bits enable us to distinguish.
- */
-#define R_0(opc)	( REG_OPC(opc) | M1 | M2 | M3 )	/* No operands      */
-#define R_1(opc)	( REG_OPC(opc) | M2 | M3 )	/* 1 operand: src1  */
-#define R_1D(opc)	( REG_OPC(opc) | M1 | M2 )	/* 1 operand: dst   */
-#define R_2(opc)	( REG_OPC(opc) | M3 )		/* 2 ops: src1/src2 */
-#define R_2D(opc)	( REG_OPC(opc) | M2 )		/* 2 ops: src1/dst  */
-#define R_3(opc)	( REG_OPC(opc) )		/* 3 operands       */
-
-/* DESCRIPTOR BYTES FOR REGISTER OPERANDS
- *
- * Interpret names as follows:
- *	R:   global or local register only
- *	RS:  global, local, or (if target allows) special-function register only
- *	RL:  global or local register, or integer literal
- *	RSL: global, local, or (if target allows) special-function register;
- *		or integer literal
- *	F:   global, local, or floating-point register
- *	FL:  global, local, or floating-point register; or literal (including
- *		floating point)
- *
- * A number appended to a name indicates that registers must be aligned,
- * as follows:
- *	2: register number must be multiple of 2
- *	4: register number must be multiple of 4
- */
-
-#define SFR	0x10		/* Mask for the "sfr-OK" bit */
-#define LIT	0x08		/* Mask for the "literal-OK" bit */
-#define FP	0x04		/* Mask for "floating-point-OK" bit */
-
-/* This macro ors the bits together.  Note that 'align' is a mask
- * for the low 0, 1, or 2 bits of the register number, as appropriate.
- */
-#define OP(align,lit,fp,sfr)	( align | lit | fp | sfr )
-
-#define R	OP( 0, 0,   0,  0   )
-#define RS	OP( 0, 0,   0,  SFR )
-#define RL	OP( 0, LIT, 0,  0   )
-#define RSL	OP( 0, LIT, 0,  SFR )
-#define F	OP( 0, 0,   FP, 0   )
-#define FL	OP( 0, LIT, FP, 0   )
-#define R2	OP( 1, 0,   0,  0   )
-#define RL2	OP( 1, LIT, 0,  0   )
-#define F2	OP( 1, 0,   FP, 0   )
-#define FL2	OP( 1, LIT, FP, 0   )
-#define R4	OP( 3, 0,   0,  0   )
-#define RL4	OP( 3, LIT, 0,  0   )
-#define F4	OP( 3, 0,   FP, 0   )
-#define FL4	OP( 3, LIT, FP, 0   )
-
-#define M	0x7f	/* Memory operand (MEMA & MEMB format instructions) */
-
-/* Macros to extract info from the register operand descriptor byte 'od'.
- */
-#define SFR_OK(od)	(od & SFR)	/* TRUE if sfr operand allowed */
-#define LIT_OK(od)	(od & LIT)	/* TRUE if literal operand allowed */
-#define FP_OK(od)	(od & FP)	/* TRUE if floating-point op allowed */
-#define REG_ALIGN(od,n)	((od & 0x3 & n) == 0)
-					/* TRUE if reg #n is properly aligned */
-#define MEMOP(od)	(od == M)	/* TRUE if operand is a memory operand*/
-
-/* Description of a single i80960 instruction */
-struct i960_opcode {
-	long opcode;	/* 32 bits, constant fields filled in, rest zeroed */
-	const char *name;	/* Assembler mnemonic				   */
-	short iclass;	/* Class: see #defines below			   */
-	char format;	/* REG, COBR, CTRL, MEMn, COJ, FBRA, or CALLJ	   */
-	char num_ops;	/* Number of operands				   */
-	char operand[3];/* Operand descriptors; same order as assembler instr */
-};
-
-/* Classes of 960 instructions:
- *	- each instruction falls into one class.
- *	- each target architecture supports one or more classes.
- *
- * EACH CONSTANT MUST CONTAIN 1 AND ONLY 1 SET BIT!:  see targ_has_iclass().
- */
-#define I_BASE	0x01	/* 80960 base instruction set	*/
-#define I_CX	0x02	/* 80960Cx instruction		*/
-#define I_DEC	0x04	/* Decimal instruction		*/
-#define I_FP	0x08	/* Floating point instruction	*/
-#define I_KX	0x10	/* 80960Kx instruction		*/
-#define I_MIL	0x20	/* Military instruction		*/
-#define I_CASIM	0x40	/* CA simulator instruction	*/
-#define I_CX2	0x80	/* Cx/Jx/Hx instructions	*/
-#define I_JX	0x100	/* Jx/Hx instruction		*/
-#define I_HX	0x200	/* Hx instructions		*/
-
-/******************************************************************************
- *
- *		TABLE OF i960 INSTRUCTION DESCRIPTIONS
- *
- ******************************************************************************/
-
-const struct i960_opcode i960_opcodes[] = {
-
-	/* if a CTRL instruction has an operand, it's always a displacement */
-
-	/* callj default=='call' */
-	{ 0x09000000,	"callj",	I_BASE,	CALLJ, 	1, { 0, 0, 0 } },
-	{ 0x08000000,	"b",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	{ 0x09000000,	"call",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	{ 0x0a000000,	"ret",		I_BASE,	CTRL, 	0, { 0, 0, 0 } },
-	{ 0x0b000000,	"bal",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	{ 0x10000000,	"bno",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	/* bf same as bno */
-	{ 0x10000000,	"bf",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	/* bru same as bno */
-	{ 0x10000000,	"bru",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	{ 0x11000000,	"bg",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	/* brg same as bg */
-	{ 0x11000000,	"brg",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	{ 0x12000000,	"be",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	/* bre same as be */
-	{ 0x12000000,	"bre",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	{ 0x13000000,	"bge",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	/* brge same as bge */
-	{ 0x13000000,	"brge",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	{ 0x14000000,	"bl",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	/* brl same as bl */
-	{ 0x14000000,	"brl",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	{ 0x15000000,	"bne",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	/* brlg same as bne */
-	{ 0x15000000,	"brlg",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	{ 0x16000000,	"ble",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	/* brle same as ble */
-	{ 0x16000000,	"brle",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	{ 0x17000000,	"bo",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	/* bt same as bo */
-	{ 0x17000000,	"bt",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	/* bro same as bo */
-	{ 0x17000000,	"bro",		I_BASE,	CTRL, 	1, { 0, 0, 0 } },
-	{ 0x18000000,	"faultno",	I_BASE,	CTRL, 	0, { 0, 0, 0 } },
-	/* faultf same as faultno */
-	{ 0x18000000,	"faultf",	I_BASE,	CTRL, 	0, { 0, 0, 0 } },
-	{ 0x19000000,	"faultg",	I_BASE,	CTRL, 	0, { 0, 0, 0 } },
-	{ 0x1a000000,	"faulte",	I_BASE,	CTRL, 	0, { 0, 0, 0 } },
-	{ 0x1b000000,	"faultge",	I_BASE,	CTRL, 	0, { 0, 0, 0 } },
-	{ 0x1c000000,	"faultl",	I_BASE,	CTRL, 	0, { 0, 0, 0 } },
-	{ 0x1d000000,	"faultne",	I_BASE,	CTRL, 	0, { 0, 0, 0 } },
-	{ 0x1e000000,	"faultle",	I_BASE,	CTRL, 	0, { 0, 0, 0 } },
-	{ 0x1f000000,	"faulto",	I_BASE,	CTRL, 	0, { 0, 0, 0 } },
-	/* faultt syn for faulto */
-	{ 0x1f000000,	"faultt",	I_BASE,	CTRL, 	0, { 0, 0, 0 } },
-
-	{ 0x01000000,	"syscall",	I_CASIM,CTRL, 	0, { 0, 0, 0 } },
-
-	/* If a COBR (or COJ) has 3 operands, the last one is always a
-	 * displacement and does not appear explicitly in the table.
-	 */
-
-	{ 0x20000000,	"testno",	I_BASE,	COBR,	1, { R, 0, 0 }	},
-	{ 0x21000000,	"testg",	I_BASE,	COBR,	1, { R, 0, 0 }	},
-	{ 0x22000000,	"teste",	I_BASE,	COBR,	1, { R, 0, 0 }	},
-	{ 0x23000000,	"testge",	I_BASE,	COBR,	1, { R, 0, 0 }	},
-	{ 0x24000000,	"testl",	I_BASE,	COBR,	1, { R, 0, 0 }	},
-	{ 0x25000000,	"testne",	I_BASE,	COBR,	1, { R, 0, 0 }	},
-	{ 0x26000000,	"testle",	I_BASE,	COBR,	1, { R, 0, 0 }	},
-	{ 0x27000000,	"testo",	I_BASE,	COBR,	1, { R, 0, 0 }	},
-	{ 0x30000000,	"bbc",		I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x31000000,	"cmpobg",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x32000000,	"cmpobe",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x33000000,	"cmpobge",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x34000000,	"cmpobl",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x35000000,	"cmpobne",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x36000000,	"cmpoble",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x37000000,	"bbs",		I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x38000000,	"cmpibno",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x39000000,	"cmpibg",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x3a000000,	"cmpibe",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x3b000000,	"cmpibge",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x3c000000,	"cmpibl",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x3d000000,	"cmpibne",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x3e000000,	"cmpible",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x3f000000,	"cmpibo",	I_BASE,	COBR,	3, { RL, RS, 0 } },
-	{ 0x31000000,	"cmpojg",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x32000000,	"cmpoje",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x33000000,	"cmpojge",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x34000000,	"cmpojl",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x35000000,	"cmpojne",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x36000000,	"cmpojle",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x38000000,	"cmpijno",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x39000000,	"cmpijg",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x3a000000,	"cmpije",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x3b000000,	"cmpijge",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x3c000000,	"cmpijl",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x3d000000,	"cmpijne",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x3e000000,	"cmpijle",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-	{ 0x3f000000,	"cmpijo",	I_BASE,	COJ,	3, { RL, RS, 0 } },
-
-	{ 0x80000000,	"ldob",		I_BASE,	MEM1,	2, { M,  R,  0 } },
-	{ 0x82000000,	"stob",		I_BASE,	MEM1,	2, { R,  M,  0 } },
-	{ 0x84000000,	"bx",		I_BASE,	MEM1,	1, { M,  0,  0 } },
-	{ 0x85000000,	"balx",		I_BASE,	MEM1,	2, { M,  R,  0 } },
-	{ 0x86000000,	"callx",	I_BASE,	MEM1,	1, { M,  0,  0 } },
-	{ 0x88000000,	"ldos",		I_BASE,	MEM2,	2, { M,  R,  0 } },
-	{ 0x8a000000,	"stos",		I_BASE,	MEM2,	2, { R,  M,  0 } },
-	{ 0x8c000000,	"lda",		I_BASE,	MEM1,	2, { M,  R,  0 } },
-	{ 0x90000000,	"ld",		I_BASE,	MEM4,	2, { M,  R,  0 } },
-	{ 0x92000000,	"st",		I_BASE,	MEM4,	2, { R,  M,  0 } },
-	{ 0x98000000,	"ldl",		I_BASE,	MEM8,	2, { M,  R2, 0 } },
-	{ 0x9a000000,	"stl",		I_BASE,	MEM8,	2, { R2, M,  0 } },
-	{ 0xa0000000,	"ldt",		I_BASE,	MEM12,	2, { M,  R4, 0 } },
-	{ 0xa2000000,	"stt",		I_BASE,	MEM12,	2, { R4, M,  0 } },
-	{ 0xb0000000,	"ldq",		I_BASE,	MEM16,	2, { M,  R4, 0 } },
-	{ 0xb2000000,	"stq",		I_BASE,	MEM16,	2, { R4, M,  0 } },
-	{ 0xc0000000,	"ldib",		I_BASE,	MEM1,	2, { M,  R,  0 } },
-	{ 0xc2000000,	"stib",		I_BASE,	MEM1,	2, { R,  M,  0 } },
-	{ 0xc8000000,	"ldis",		I_BASE,	MEM2,	2, { M,  R,  0 } },
-	{ 0xca000000,	"stis",		I_BASE,	MEM2,	2, { R,  M,  0 } },
-
-	{ R_3(0x580),	"notbit",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x581),	"and",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x582),	"andnot",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x583),	"setbit",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x584),	"notand",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x586),	"xor",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x587),	"or",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x588),	"nor",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x589),	"xnor",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_2D(0x58a),	"not",		I_BASE,	REG,	2, { RSL,RS, 0 } },
-	{ R_3(0x58b),	"ornot",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x58c),	"clrbit",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x58d),	"notor",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x58e),	"nand",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x58f),	"alterbit",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x590),	"addo",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x591),	"addi",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x592),	"subo",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x593),	"subi",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x598),	"shro",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x59a),	"shrdi",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x59b),	"shri",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x59c),	"shlo",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x59d),	"rotate",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x59e),	"shli",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_2(0x5a0),	"cmpo",		I_BASE,	REG,	2, { RSL,RSL, 0 } },
-	{ R_2(0x5a1),	"cmpi",		I_BASE,	REG,	2, { RSL,RSL, 0 } },
-	{ R_2(0x5a2),	"concmpo",	I_BASE,	REG,	2, { RSL,RSL, 0 } },
-	{ R_2(0x5a3),	"concmpi",	I_BASE,	REG,	2, { RSL,RSL, 0 } },
-	{ R_3(0x5a4),	"cmpinco",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x5a5),	"cmpinci",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x5a6),	"cmpdeco",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x5a7),	"cmpdeci",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_2(0x5ac),	"scanbyte",	I_BASE,	REG,	2, { RSL,RSL, 0 } },
-	{ R_2(0x5ae),	"chkbit",	I_BASE,	REG,	2, { RSL,RSL, 0 } },
-	{ R_3(0x5b0),	"addc",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x5b2),	"subc",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_2D(0x5cc),	"mov",		I_BASE,	REG,	2, { RSL,RS, 0 } },
-	{ R_2D(0x5dc),	"movl",		I_BASE,	REG,	2, { RL2,R2, 0 } },
-	{ R_2D(0x5ec),	"movt",		I_BASE,	REG,	2, { RL4,R4, 0 } },
-	{ R_2D(0x5fc),	"movq",		I_BASE,	REG,	2, { RL4,R4, 0 } },
-	{ R_3(0x610),	"atmod",	I_BASE,	REG,	3, { RS, RSL,R } },
-	{ R_3(0x612),	"atadd",	I_BASE,	REG,	3, { RS, RSL,RS } },
-	{ R_2D(0x640),	"spanbit",	I_BASE,	REG,	2, { RSL,RS, 0 } },
-	{ R_2D(0x641),	"scanbit",	I_BASE,	REG,	2, { RSL,RS, 0 } },
-	{ R_3(0x645),	"modac",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x650),	"modify",	I_BASE,	REG,	3, { RSL,RSL,R } },
-	{ R_3(0x651),	"extract",	I_BASE,	REG,	3, { RSL,RSL,R } },
-	{ R_3(0x654),	"modtc",	I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x655),	"modpc",	I_BASE,	REG,	3, { RSL,RSL,R } },
-	{ R_1(0x660),	"calls",	I_BASE,	REG,	1, { RSL, 0, 0 } },
-	{ R_0(0x66b),	"mark",		I_BASE,	REG,	0, { 0, 0, 0 }	},
-	{ R_0(0x66c),	"fmark",	I_BASE,	REG,	0, { 0, 0, 0 }	},
-	{ R_0(0x66d),	"flushreg",	I_BASE,	REG,	0, { 0, 0, 0 }	},
-	{ R_0(0x66f),	"syncf",	I_BASE,	REG,	0, { 0, 0, 0 }	},
-	{ R_3(0x670),	"emul",		I_BASE,	REG,	3, { RSL,RSL,R2 } },
-	{ R_3(0x671),	"ediv",		I_BASE,	REG,	3, { RSL,RL2,RS } },
-	{ R_2D(0x672),	"cvtadr",	I_CASIM,REG, 	2, { RL, R2, 0 } },
-	{ R_3(0x701),	"mulo",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x708),	"remo",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x70b),	"divo",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x741),	"muli",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x748),	"remi",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x749),	"modi",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x74b),	"divi",		I_BASE,	REG,	3, { RSL,RSL,RS } },
-
-	/* Floating-point instructions */
-
-	{ R_2D(0x674),	"cvtir",	I_FP,	REG,	2, { RL, F, 0 } },
-	{ R_2D(0x675),	"cvtilr",	I_FP,	REG,	2, { RL, F, 0 } },
-	{ R_3(0x676),	"scalerl",	I_FP,	REG,	3, { RL, FL2,F2 } },
-	{ R_3(0x677),	"scaler",	I_FP,	REG,	3, { RL, FL, F } },
-	{ R_3(0x680),	"atanr",	I_FP,	REG,	3, { FL, FL, F } },
-	{ R_3(0x681),	"logepr",	I_FP,	REG,	3, { FL, FL, F } },
-	{ R_3(0x682),	"logr",		I_FP,	REG,	3, { FL, FL, F } },
-	{ R_3(0x683),	"remr",		I_FP,	REG,	3, { FL, FL, F } },
-	{ R_2(0x684),	"cmpor",	I_FP,	REG,	2, { FL, FL, 0 } },
-	{ R_2(0x685),	"cmpr",		I_FP,	REG,	2, { FL, FL, 0 } },
-	{ R_2D(0x688),	"sqrtr",	I_FP,	REG,	2, { FL, F, 0 } },
-	{ R_2D(0x689),	"expr",		I_FP,	REG,	2, { FL, F, 0 } },
-	{ R_2D(0x68a),	"logbnr",	I_FP,	REG,	2, { FL, F, 0 } },
-	{ R_2D(0x68b),	"roundr",	I_FP,	REG,	2, { FL, F, 0 } },
-	{ R_2D(0x68c),	"sinr",		I_FP,	REG,	2, { FL, F, 0 } },
-	{ R_2D(0x68d),	"cosr",		I_FP,	REG,	2, { FL, F, 0 } },
-	{ R_2D(0x68e),	"tanr",		I_FP,	REG,	2, { FL, F, 0 } },
-	{ R_1(0x68f),	"classr",	I_FP,	REG,	1, { FL, 0, 0 }	},
-	{ R_3(0x690),	"atanrl",	I_FP,	REG,	3, { FL2,FL2,F2 } },
-	{ R_3(0x691),	"logeprl",	I_FP,	REG,	3, { FL2,FL2,F2 } },
-	{ R_3(0x692),	"logrl",	I_FP,	REG,	3, { FL2,FL2,F2 } },
-	{ R_3(0x693),	"remrl",	I_FP,	REG,	3, { FL2,FL2,F2 } },
-	{ R_2(0x694),	"cmporl",	I_FP,	REG,	2, { FL2,FL2, 0 } },
-	{ R_2(0x695),	"cmprl",	I_FP,	REG,	2, { FL2,FL2, 0 } },
-	{ R_2D(0x698),	"sqrtrl",	I_FP,	REG,	2, { FL2,F2, 0 } },
-	{ R_2D(0x699),	"exprl",	I_FP,	REG,	2, { FL2,F2, 0 } },
-	{ R_2D(0x69a),	"logbnrl",	I_FP,	REG,	2, { FL2,F2, 0 } },
-	{ R_2D(0x69b),	"roundrl",	I_FP,	REG,	2, { FL2,F2, 0 } },
-	{ R_2D(0x69c),	"sinrl",	I_FP,	REG,	2, { FL2,F2, 0 } },
-	{ R_2D(0x69d),	"cosrl",	I_FP,	REG,	2, { FL2,F2, 0 } },
-	{ R_2D(0x69e),	"tanrl",	I_FP,	REG,	2, { FL2,F2, 0 } },
-	{ R_1(0x69f),	"classrl",	I_FP,	REG,	1, { FL2, 0, 0 } },
-	{ R_2D(0x6c0),	"cvtri",	I_FP,	REG,	2, { FL, R, 0 } },
-	{ R_2D(0x6c1),	"cvtril",	I_FP,	REG,	2, { FL, R2, 0 } },
-	{ R_2D(0x6c2),	"cvtzri",	I_FP,	REG,	2, { FL, R, 0 } },
-	{ R_2D(0x6c3),	"cvtzril",	I_FP,	REG,	2, { FL, R2, 0 } },
-	{ R_2D(0x6c9),	"movr",		I_FP,	REG,	2, { FL, F, 0 } },
-	{ R_2D(0x6d9),	"movrl",	I_FP,	REG,	2, { FL2,F2, 0 } },
-	{ R_2D(0x6e1),	"movre",	I_FP,	REG,	2, { FL4,F4, 0 } },
-	{ R_3(0x6e2),	"cpysre",	I_FP,	REG,	3, { FL4,FL4,F4 } },
-	{ R_3(0x6e3),	"cpyrsre",	I_FP,	REG,	3, { FL4,FL4,F4 } },
-	{ R_3(0x78b),	"divr",		I_FP,	REG,	3, { FL, FL, F } },
-	{ R_3(0x78c),	"mulr",		I_FP,	REG,	3, { FL, FL, F } },
-	{ R_3(0x78d),	"subr",		I_FP,	REG,	3, { FL, FL, F } },
-	{ R_3(0x78f),	"addr",		I_FP,	REG,	3, { FL, FL, F } },
-	{ R_3(0x79b),	"divrl",	I_FP,	REG,	3, { FL2,FL2,F2 } },
-	{ R_3(0x79c),	"mulrl",	I_FP,	REG,	3, { FL2,FL2,F2 } },
-	{ R_3(0x79d),	"subrl",	I_FP,	REG,	3, { FL2,FL2,F2 } },
-	{ R_3(0x79f),	"addrl",	I_FP,	REG,	3, { FL2,FL2,F2 } },
-
-	/* These are the floating point branch instructions.  Each actually
-	 * generates 2 branch instructions:  the first a CTRL instruction with
-	 * the indicated opcode, and the second a 'bno'.
-	 */
-
-	{ 0x12000000,	"brue",		I_FP,	FBRA, 	1, { 0, 0, 0 }	},
-	{ 0x11000000,	"brug",		I_FP,	FBRA, 	1, { 0, 0, 0 }	},
-	{ 0x13000000,	"bruge",	I_FP,	FBRA, 	1, { 0, 0, 0 }	},
-	{ 0x14000000,	"brul",		I_FP,	FBRA, 	1, { 0, 0, 0 }	},
-	{ 0x16000000,	"brule",	I_FP,	FBRA, 	1, { 0, 0, 0 }	},
-	{ 0x15000000,	"brulg",	I_FP,	FBRA, 	1, { 0, 0, 0 }	},
-
-
-	/* Decimal instructions */
-
-	{ R_3(0x642),	"daddc",	I_DEC,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x643),	"dsubc",	I_DEC,	REG,	3, { RSL,RSL,RS } },
-	{ R_2D(0x644),	"dmovt",	I_DEC,	REG,	2, { RSL,RS, 0 } },
-
-
-	/* KX extensions */
-
-	{ R_2(0x600),	"synmov",	I_KX,	REG,	2, { R,  R, 0 } },
-	{ R_2(0x601),	"synmovl",	I_KX,	REG,	2, { R,  R, 0 } },
-	{ R_2(0x602),	"synmovq",	I_KX,	REG,	2, { R,  R, 0 } },
-	{ R_2D(0x615),	"synld",	I_KX,	REG,	2, { R,  R, 0 } },
-
-
-	/* MC extensions */
-
-	{ R_3(0x603),	"cmpstr",	I_MIL,	REG,	3, { R,  R,  RL } },
-	{ R_3(0x604),	"movqstr",	I_MIL,	REG,	3, { R,  R,  RL } },
-	{ R_3(0x605),	"movstr",	I_MIL,	REG,	3, { R,  R,  RL } },
-	{ R_2D(0x613),	"inspacc",	I_MIL,	REG,	2, { R,  R, 0 } },
-	{ R_2D(0x614),	"ldphy",	I_MIL,	REG,	2, { R,  R, 0 } },
-	{ R_3(0x617),	"fill",		I_MIL,	REG,	3, { R,  RL, RL } },
-	{ R_2D(0x646),	"condrec",	I_MIL,	REG,	2, { R,  R, 0 } },
-	{ R_2D(0x656),	"receive",	I_MIL,	REG,	2, { R,  R, 0 } },
-	{ R_3(0x662),	"send",		I_MIL,	REG,	3, { R,  RL, R } },
-	{ R_1(0x663),	"sendserv",	I_MIL,	REG,	1, { R, 0, 0 }	},
-	{ R_1(0x664),	"resumprcs",	I_MIL,	REG,	1, { R, 0, 0 }	},
-	{ R_1(0x665),	"schedprcs",	I_MIL,	REG,	1, { R, 0, 0 }	},
-	{ R_0(0x666),	"saveprcs",	I_MIL,	REG,	0, { 0, 0, 0 }	},
-	{ R_1(0x668),	"condwait",	I_MIL,	REG,	1, { R, 0, 0 }	},
-	{ R_1(0x669),	"wait",		I_MIL,	REG,	1, { R, 0, 0 }	},
-	{ R_1(0x66a),	"signal",	I_MIL,	REG,	1, { R, 0, 0 }	},
-	{ R_1D(0x673),	"ldtime",	I_MIL,	REG,	1, { R2, 0, 0 }	},
-
-
-	/* CX extensions */
-
-	{ R_3(0x5d8),	"eshro",	I_CX2,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x630),	"sdma",		I_CX,	REG,	3, { RSL,RSL,RL } },
-	{ R_3(0x631),	"udma",		I_CX,	REG,	0, { 0, 0, 0 }	},
-	{ R_3(0x659),	"sysctl",	I_CX2,	REG,	3, { RSL,RSL,RL } },
-
-
-	/* Jx extensions.  */
-	{ R_3(0x780),	"addono",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x790),	"addog",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7a0),	"addoe",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7b0),	"addoge",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7c0),	"addol",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7d0),	"addone",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7e0),	"addole",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7f0),	"addoo",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x781),	"addino",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x791),	"addig",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7a1),	"addie",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7b1),	"addige",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7c1),	"addil",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7d1),	"addine",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7e1),	"addile",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7f1),	"addio",	I_JX,	REG,	3, { RSL,RSL,RS } },
-
-	{ R_2D(0x5ad),	"bswap",	I_JX,	REG,	2, { RSL, RS, 0 } },
-
-	{ R_2(0x594),	"cmpob",	I_JX,	REG,	2, { RSL,RSL, 0 } },
-	{ R_2(0x595),	"cmpib",	I_JX,	REG,	2, { RSL,RSL, 0 } },
-	{ R_2(0x596),	"cmpos",	I_JX,	REG,	2, { RSL,RSL, 0 } },
-	{ R_2(0x597),	"cmpis",	I_JX,	REG,	2, { RSL,RSL, 0 } },
-
-	{ R_3(0x784),	"selno",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x794),	"selg",		I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7a4),	"sele",		I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7b4),	"selge",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7c4),	"sell",		I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7d4),	"selne",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7e4),	"selle",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7f4),	"selo",		I_JX,	REG,	3, { RSL,RSL,RS } },
-
-	{ R_3(0x782),	"subono",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x792),	"subog",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7a2),	"suboe",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7b2),	"suboge",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7c2),	"subol",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7d2),	"subone",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7e2),	"subole",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7f2),	"suboo",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x783),	"subino",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x793),	"subig",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7a3),	"subie",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7b3),	"subige",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7c3),	"subil",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7d3),	"subine",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7e3),	"subile",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_3(0x7f3),	"subio",	I_JX,	REG,	3, { RSL,RSL,RS } },
-
-	{ R_3(0x65c),	"dcctl",	I_JX,	REG,	3, { RSL,RSL,RL } },
-	{ R_3(0x65b),	"icctl",	I_JX,	REG,	3, { RSL,RSL,RS } },
-	{ R_2D(0x658),	"intctl",	I_JX,	REG,	2, { RSL, RS, 0 } },
-	{ R_0(0x5b4),	"intdis",	I_JX,	REG,	0, {   0,  0, 0 } },
-	{ R_0(0x5b5),	"inten",	I_JX,	REG,	0, {   0,  0, 0 } },
-	{ R_0(0x65d),	"halt",		I_JX,	REG,	1, { RSL,  0, 0 } },
-
-	/* Hx extensions.  */
-	{ 0xac000000,	"dcinva",	I_HX,	MEM1,	1, {   M,  0, 0 } },
-
-	/* END OF TABLE */
-
-	{ 0,		NULL,		0,	0,	0, { 0, 0, 0 }	}
-};
-
- /* end of i960-opcode.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/m88k.h ./include/opcode/m88k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/m88k.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/m88k.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,454 +0,0 @@
-/* Table of opcodes for the Motorola M88k family.
-   Copyright (C) 1989-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB and GAS.
-
-   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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/*
- *			Disassembler Instruction Table
- *
- *	The first field of the table is the opcode field. If an opcode
- *	is specified which has any non-opcode bits on, a system error
- *	will occur when the system attempts the install it into the
- *	instruction table.  The second parameter is a pointer to the
- *	instruction mnemonic. Each operand is specified by offset, width,
- *	and type. The offset is the bit number of the least significant
- *	bit of the operand with bit 0 being the least significant bit of
- *	the instruction. The width is the number of bits used to specify
- *	the operand. The type specifies the output format to be used for
- *	the operand. The valid formats are: register, register indirect,
- *	hex constant, and bit field specification.  The last field is a
- *	pointer to the next instruction in the linked list.  These pointers
- *	are initialized by init_disasm().
- *
- *				Revision History
- *
- *	Revision 1.0	11/08/85	Creation date
- *		 1.1	02/05/86	Updated instruction mnemonic table MD
- *		 1.2	06/16/86	Updated SIM_FLAGS for floating point
- *		 1.3	09/20/86	Updated for new encoding
- *		 	05/11/89	R. Trawick adapted from Motorola disassembler
- */
-
-#include <stdio.h>
-
-/* Define the number of bits in the primary opcode field of the instruction,
-   the destination field, the source 1 and source 2 fields.  */
-
-/* Size of opcode field.  */
-#define OP 8
-
-/* Size of destination.  */
-#define DEST 6
-
-/* Size of source1.  */
-#define SOURCE1 6
-
-/* Size of source2.  */
-#define SOURCE2 6
-
-/* Number of registers.  */
-#define REGs 32
-
-/* Type definitions.  */
-
-typedef unsigned int UINT;
-#define    WORD    long
-#define    FLAG    unsigned
-#define    STATE   short
-
-/* The next four equates define the priorities that the various classes
- * of instructions have regarding writing results back into registers and
- * signalling exceptions.  */
-
-/* PMEM is also defined in <sys/param.h> on Delta 88's.  Sigh!  */
-#undef PMEM
-
-/* Integer priority.  */
-#define    PINT  0
-
-/* Floating point priority.  */
-#define    PFLT  1
-
-/* Memory priority.  */
-#define    PMEM  2
-
-/* Not applicable, instruction doesn't write to regs.  */
-#define    NA    3
-
-/* Highest of these priorities.  */
-#define    HIPRI 3
-
-/* The instruction registers are an artificial mechanism to speed up
- * simulator execution.  In the real processor, an instruction register
- * is 32 bits wide.  In the simulator, the 32 bit instruction is kept in
- * a structure field called rawop, and the instruction is partially decoded,
- * and split into various fields and flags which make up the other fields
- * of the structure.
- * The partial decode is done when the instructions are initially loaded
- * into simulator memory.  The simulator code memory is not an array of
- * 32 bit words, but is an array of instruction register structures.
- * Yes this wastes memory, but it executes much quicker.
- */
-
-struct IR_FIELDS
-{
-  unsigned op:OP,
-    dest: DEST,
-    src1: SOURCE1,
-    src2: SOURCE2;
-  int ltncy,
-    extime,
-    /* Writeback priority.  */
-    wb_pri;
-  /* Immediate size.  */
-  unsigned        imm_flags:2,
-    /* Register source 1 used.  */
-    rs1_used:1,
-    /* Register source 2 used. */
-    rs2_used:1,
-    /* Register source/dest. used.  */
-    rsd_used:1,
-    /* Complement.  */
-    c_flag:1,
-    /* Upper half word.  */
-    u_flag:1,
-    /* Execute next.  */
-    n_flag:1,
-    /* Uses writeback slot.  */
-    wb_flag:1,
-    /* Dest size.  */
-    dest_64:1,
-    /* Source 1 size.  */
-    s1_64:1,
-    /* Source 2 size.  */
-    s2_64:1,
-    scale_flag:1,
-    /* Scaled register.  */
-    brk_flg:1;
-};
-
-struct	mem_segs
-{
-  /* Pointer (returned by calloc) to segment.  */
-  struct mem_wrd *seg;			
-
-  /* Base load address from file headers.  */
-  unsigned long baseaddr;			
-
-  /* Ending address of segment.  */
-  unsigned long endaddr;		
-
-  /* Segment control flags (none defined).  */	
-  int	      flags;			
-};
-
-#define	MAXSEGS		(10)			/* max number of segment allowed */
-#define	MEMSEGSIZE	(sizeof(struct mem_segs))/* size of mem_segs structure */
-
-#if 0
-#define BRK_RD		(0x01)			/* break on memory read */
-#define BRK_WR		(0x02)			/* break on memory write */
-#define BRK_EXEC	(0x04)			/* break on execution */
-#define	BRK_CNT		(0x08)			/* break on terminal count */
-#endif
-
-struct mem_wrd
-{
-  /* Simulator instruction break down.  */
-  struct IR_FIELDS opcode;
-  union {
-    /* Memory element break down.  */
-    unsigned long  l;
-    unsigned short s[2];
-    unsigned char  c[4];
-  } mem;
-};
-
-/* Size of each 32 bit memory model.  */
-#define	MEMWRDSIZE	(sizeof (struct mem_wrd))
-
-extern struct mem_segs memory[];
-extern struct PROCESSOR m78000;
-
-struct PROCESSOR
-{
-  unsigned WORD
-  /* Execute instruction pointer.  */
-  ip, 
-    /* Vector base register.  */
-    vbr,
-    /* Processor status register.  */
-    psr;
-  
-  /* Source 1.  */
-  WORD    S1bus,
-    /* Source 2.  */
-    S2bus,
-    /* Destination.  */
-    Dbus,
-    /* Data address bus.  */
-    DAbus,
-    ALU,
-    /* Data registers.  */
-    Regs[REGs],
-    /* Max clocks before reg is available.  */
-    time_left[REGs],
-    /* Writeback priority of reg.  */
-    wb_pri[REGs], 
-    /* Integer unit control regs.  */
-    SFU0_regs[REGs],
-    /* Floating point control regs.  */
-    SFU1_regs[REGs], 
-    Scoreboard[REGs],
-    Vbr;
-  unsigned WORD   scoreboard,
-    Psw,
-    Tpsw;
-  /* Waiting for a jump instruction.  */
-  FLAG   jump_pending:1;
-};
-
-/* Size of immediate field.  */
-
-#define    i26bit      1
-#define    i16bit      2
-#define    i10bit      3
-
-/* Definitions for fields in psr.  */
-
-#define psr_mode  31
-#define psr_rbo   30
-#define psr_ser   29
-#define psr_carry 28
-#define psr_sf7m  11
-#define psr_sf6m  10
-#define psr_sf5m   9
-#define psr_sf4m   8
-#define psr_sf3m   7
-#define psr_sf2m   6
-#define psr_sf1m   5
-#define psr_mam    4
-#define psr_inm    3
-#define psr_exm    2
-#define psr_trm    1
-#define psr_ovfm   0
-
-/* The 1 clock operations.  */
-
-#define    ADDU        1
-#define    ADDC        2
-#define    ADDUC       3
-#define    ADD         4
-
-#define    SUBU    ADD+1
-#define    SUBB    ADD+2
-#define    SUBUB   ADD+3
-#define    SUB     ADD+4
-
-#define    AND_    ADD+5
-#define    OR      ADD+6
-#define    XOR     ADD+7
-#define    CMP     ADD+8
-
-/* Loads.  */
-
-#define    LDAB    CMP+1
-#define    LDAH    CMP+2
-#define    LDA     CMP+3
-#define    LDAD    CMP+4
-
-#define    LDB   LDAD+1
-#define    LDH   LDAD+2
-#define    LD    LDAD+3
-#define    LDD   LDAD+4
-#define    LDBU  LDAD+5
-#define    LDHU  LDAD+6
-
-/* Stores.  */
-
-#define    STB    LDHU+1
-#define    STH    LDHU+2
-#define    ST     LDHU+3
-#define    STD    LDHU+4
-
-/* Exchange.  */
-
-#define    XMEMBU LDHU+5
-#define    XMEM   LDHU+6
-
-/* Branches.  */
-
-#define    JSR    STD+1
-#define    BSR    STD+2
-#define    BR     STD+3
-#define    JMP    STD+4
-#define    BB1    STD+5
-#define    BB0    STD+6
-#define    RTN    STD+7
-#define    BCND   STD+8
-
-/* Traps.  */
-
-#define    TB1    BCND+1
-#define    TB0    BCND+2
-#define    TCND   BCND+3
-#define    RTE    BCND+4
-#define    TBND   BCND+5
-
-/* Misc.  */
-
-#define    MUL     TBND + 1
-#define    DIV     MUL  +2
-#define    DIVU    MUL  +3
-#define    MASK    MUL  +4
-#define    FF0     MUL  +5
-#define    FF1     MUL  +6
-#define    CLR     MUL  +7
-#define    SET     MUL  +8
-#define    EXT     MUL  +9
-#define    EXTU    MUL  +10
-#define    MAK     MUL  +11
-#define    ROT     MUL  +12
-
-/* Control register manipulations.  */
-
-#define    LDCR    ROT  +1
-#define    STCR    ROT  +2
-#define    XCR     ROT  +3
-
-#define    FLDCR    ROT  +4
-#define    FSTCR    ROT  +5
-#define    FXCR     ROT  +6
-
-#define    NOP     XCR +1
-
-/* Floating point instructions.  */
-
-#define    FADD    NOP +1
-#define    FSUB    NOP +2
-#define    FMUL    NOP +3
-#define    FDIV    NOP +4
-#define    FSQRT   NOP +5
-#define    FCMP    NOP +6
-#define    FIP     NOP +7
-#define    FLT     NOP +8
-#define    INT     NOP +9
-#define    NINT    NOP +10
-#define    TRNC    NOP +11
-#define    FLDC   NOP +12
-#define    FSTC   NOP +13
-#define    FXC    NOP +14
-
-#define UEXT(src,off,wid) \
-  ((((unsigned int)(src)) >> (off)) & ((1 << (wid)) - 1))
-
-#define SEXT(src,off,wid) \
-  (((((int)(src))<<(32 - ((off) + (wid)))) >>(32 - (wid))) )
-
-#define MAKE(src,off,wid) \
-  ((((unsigned int)(src)) & ((1 << (wid)) - 1)) << (off))
-
-#define opword(n) (unsigned long) (memaddr->mem.l)
-
-/* Constants and masks.  */
-
-#define SFU0       0x80000000
-#define SFU1       0x84000000
-#define SFU7       0x9c000000
-#define RRI10      0xf0000000
-#define RRR        0xf4000000
-#define SFUMASK    0xfc00ffe0
-#define RRRMASK    0xfc00ffe0
-#define RRI10MASK  0xfc00fc00
-#define DEFMASK    0xfc000000
-#define CTRL       0x0000f000
-#define CTRLMASK   0xfc00f800
-
-/* Operands types.  */
-
-enum operand_type
-{
-  HEX = 1,
-  REG = 2,
-  CONT = 3,
-  IND = 3,
-  BF = 4,
-  /* Scaled register.  */
-  REGSC = 5,
-  /* Control register.  */
-  CRREG = 6,
-  /* Floating point control register.  */
-  FCRREG = 7,
-  PCREL = 8,
-  CONDMASK = 9,
-  /* Extended register.  */
-  XREG = 10,
-  /* Decimal.  */
-  DEC = 11
-};
-
-/* Hashing specification.  */
-
-#define HASHVAL     79
-
-/* Structure templates.  */
-
-typedef struct
-{
-  unsigned int offset;
-  unsigned int width;
-  enum operand_type type;
-} OPSPEC;
-
-struct SIM_FLAGS
-{
-  int  ltncy,   /* latency (max number of clocks needed to execute).  */
-    extime,   /* execution time (min number of clocks needed to execute).  */
-    wb_pri;   /* writeback slot priority.  */
-  unsigned         op:OP,   /* simulator version of opcode.  */
-    imm_flags:2,   /* 10,16 or 26 bit immediate flags.  */
-    rs1_used:1,   /* register source 1 used.  */
-    rs2_used:1,   /* register source 2 used.  */
-    rsd_used:1,   /* register source/dest used.  */
-    c_flag:1,   /* complement.  */
-    u_flag:1,   /* upper half word.  */
-    n_flag:1,   /* execute next.  */
-    wb_flag:1,   /* uses writeback slot.  */
-    dest_64:1,   /* double precision dest.  */
-    s1_64:1,   /* double precision source 1.  */
-    s2_64:1,   /* double precision source 2.  */
-    scale_flag:1;   /* register is scaled.  */
-};
-
-typedef struct INSTRUCTAB {
-  unsigned int  opcode;
-  char          *mnemonic;
-  OPSPEC        op1,op2,op3;
-  struct SIM_FLAGS flgs;
-} INSTAB;
-
-
-#define NO_OPERAND {0,0,0}
-
-extern const INSTAB  instructions[];
-
-/*
- * Local Variables:
- * fill-column: 131
- * 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.1.0.20180703/include/opcode/mips.h ./include/opcode/mips.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/mips.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/mips.h	2018-07-10 02:06:14.000000000 +0000
@@ -989,6 +989,9 @@ mips_opcode_32bit_p (const struct mips_o
    "-A" symbolic offset (-262144 .. 262143) << 2 at bit 0
    "-B" symbolic offset (-131072 .. 131071) << 3 at bit 0
 
+   GINV ASE usage:
+   "+\" 2 bit Global TLB invalidate type at bit 8
+
    Other:
    "()" parens surrounding optional value
    ","  separates operands
@@ -1003,7 +1006,7 @@ mips_opcode_32bit_p (const struct mips_o
    Extension character sequences used so far ("+" followed by the
    following), for quick reference when adding more:
    "1234567890"
-   "~!@#$%^&*|:'";"
+   "~!@#$%^&*|:'";\"
    "ABCEFGHIJKLMNOPQRSTUVWXZ"
    "abcdefghijklmnopqrstuvwxyz"
 
@@ -1294,6 +1297,11 @@ static const unsigned int mips_isa_table
 /* The Virtualization ASE has eXtended Physical Addressing (XPA)
    instructions which are only valid when both ASEs are enabled.  */
 #define ASE_XPA_VIRT		0x00020000
+/* Cyclic redundancy check (CRC) ASE.  */
+#define ASE_CRC			0x00040000
+#define ASE_CRC64		0x00080000
+/* Global INValidate Extension.  */
+#define ASE_GINV		0x00100000
 
 /* MIPS ISA defines, use instead of hardcoding ISA level.  */
 
@@ -1889,13 +1897,12 @@ extern int bfd_mips_num_opcodes;
    "A" 8 bit PC relative address * 4 (MIPS16OP_*_IMM8)
    "B" 5 bit PC relative address * 8 (MIPS16OP_*_IMM5)
    "E" 5 bit PC relative address * 4 (MIPS16OP_*_IMM5)
-   "m" 7 bit register list for save instruction (18 bit extended)
-   "M" 7 bit register list for restore instruction (18 bit extended)
+   "m" 7 bit register list for SAVE/RESTORE instruction (18 bit extended)
 
    Characters used so far, for quick reference when adding more:
    "0123456 89"
    ".[]<>"
-   "ABCDEFGHI KLMNOPQRSTUVWXYZ"
+   "ABCDEFGHI KL NOPQRSTUVWXYZ"
    "abcde   ijklmnopqrs uvwxyz"
   */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/nfp.h ./include/opcode/nfp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/nfp.h	1970-01-01 00:00:00.000000000 +0000
+++ ./include/opcode/nfp.h	2018-07-10 02:06:14.000000000 +0000
@@ -0,0 +1,175 @@
+/* nfp.h.  NFP opcode list.
+   Copyright (C) 2017-2018 Free Software Foundation, Inc.
+   Contributed by Francois H. Theron <francois.theron@netronome.com>
+
+   This file is part of the GNU opcodes library.
+
+   GDB, GAS, and the GNU binutils are free software; you can redistribute
+   them and/or modify them under the terms of the GNU General Public
+   License as published by the Free Software Foundation; either version 3,
+   or (at your option) any later version.
+
+   GDB, GAS, and the GNU binutils are distributed in the hope that they
+   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 file; see the file COPYING3.  If not, write to the Free
+   Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#ifndef _NFP_H_
+#define _NFP_H_
+
+#include "bfd.h"
+#include "bfd_stdint.h"
+#include "elf/nfp.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/* We use ME versions for most of this rather than NFP family and revision
+   numbers.  The version numbers are currently 2.7 and 2.8 and to avoid long
+   names with many underscores we'll just use 27 and 28 until some feature
+   number makes it necessary to do something different.  */
+
+#define NFP_ME27_INSTR_MASK_CMD	        ((uint64_t) 0x008000000000)
+#define NFP_ME27_INSTR_CMD		((uint64_t) 0x000000000000)
+#define NFP_ME27_INSTR_IS_CMD(instr) \
+	((instr & NFP_ME27_INSTR_MASK_CMD) == NFP_ME27_INSTR_CMD)
+
+#define NFP_ME27_INSTR_MASK_ALU_SHF	((uint64_t) 0x1ee000000000)
+#define NFP_ME27_INSTR_ALU_SHF		((uint64_t) 0x008000000000)
+#define NFP_ME27_INSTR_IS_ALU_SHF(instr) \
+	((instr & NFP_ME27_INSTR_MASK_ALU_SHF) == NFP_ME27_INSTR_ALU_SHF)
+
+#define NFP_ME27_INSTR_MASK_ALU	        ((uint64_t) 0x1ee000000000)
+#define NFP_ME27_INSTR_ALU		((uint64_t) 0x00a000000000)
+#define NFP_ME27_INSTR_IS_ALU(instr) \
+		((instr & NFP_ME27_INSTR_MASK_ALU) == NFP_ME27_INSTR_ALU)
+
+#define NFP_ME27_INSTR_MASK_IMMED	((uint64_t) 0x1ff900000000)
+#define NFP_ME27_INSTR_IMMED		((uint64_t) 0x00f000000000)
+#define NFP_ME27_INSTR_IS_IMMED(instr) \
+	((instr & NFP_ME27_INSTR_MASK_IMMED) == NFP_ME27_INSTR_IMMED)
+
+#define NFP_ME27_INSTR_MASK_LD_FIELD	((uint64_t) 0x1ffa00e00000)
+#define NFP_ME27_INSTR_LD_FIELD	        ((uint64_t) 0x00c000000000)
+#define NFP_ME27_INSTR_IS_LD_FIELD(instr) \
+	((instr & NFP_ME27_INSTR_MASK_LD_FIELD) == NFP_ME27_INSTR_LD_FIELD)
+
+#define NFP_ME27_INSTR_MASK_CTX_ARB	((uint64_t) 0x00f800000000)
+#define NFP_ME27_INSTR_CTX_ARB		((uint64_t) 0x00e000000000)
+#define NFP_ME27_INSTR_IS_CTX_ARB(instr) \
+	((instr & NFP_ME27_INSTR_MASK_CTX_ARB) == NFP_ME27_INSTR_CTX_ARB)
+
+#define NFP_ME27_INSTR_MASK_LOCAL_CSR	((uint64_t) 0x1ffe00100000)
+#define NFP_ME27_INSTR_LOCAL_CSR	((uint64_t) 0x00fc00000000)
+#define NFP_ME27_INSTR_IS_LOCAL_CSR(instr) \
+	((instr & NFP_ME27_INSTR_MASK_LOCAL_CSR) == NFP_ME27_INSTR_LOCAL_CSR)
+
+#define NFP_ME27_INSTR_MASK_BRANCH	((uint64_t) 0x00f8000c3ce0)
+#define NFP_ME27_INSTR_BRANCH		((uint64_t) 0x00d800000020)
+#define NFP_ME27_INSTR_IS_BRANCH(instr) \
+	((instr & NFP_ME27_INSTR_MASK_BRANCH) == NFP_ME27_INSTR_BRANCH)
+
+#define NFP_ME27_INSTR_MASK_BR_BYTE	((uint64_t) 0x00f800000000)
+#define NFP_ME27_INSTR_BR_BYTE		((uint64_t) 0x00c800000000)
+#define NFP_ME27_INSTR_IS_BR_BYTE(instr) \
+	((instr & NFP_ME27_INSTR_MASK_BR_BYTE) == NFP_ME27_INSTR_BR_BYTE)
+
+#define NFP_ME27_INSTR_MASK_BR_BIT	((uint64_t) 0x00f800080300)
+#define NFP_ME27_INSTR_BR_BIT		((uint64_t) 0x00d000000000)
+#define NFP_ME27_INSTR_IS_BR_BIT(instr) \
+	((instr & NFP_ME27_INSTR_MASK_BR_BIT) == NFP_ME27_INSTR_BR_BIT)
+
+#define NFP_ME27_INSTR_MASK_BR_ALU	((uint64_t) 0x1fff80000000)
+#define NFP_ME27_INSTR_BR_ALU		((uint64_t) 0x00e800000000)
+#define NFP_ME27_INSTR_IS_BR_ALU(instr) \
+	((instr & NFP_ME27_INSTR_MASK_BR_ALU) == NFP_ME27_INSTR_BR_ALU)
+
+#define NFP_ME27_INSTR_MASK_MULT	((uint64_t) 0x1efe3f000000)
+#define NFP_ME27_INSTR_MULT		((uint64_t) 0x00f800000000)
+#define NFP_ME27_INSTR_IS_MULT(instr) \
+	((instr & NFP_ME27_INSTR_MASK_MULT) == NFP_ME27_INSTR_MULT)
+
+
+#define NFP_ME28_INSTR_MASK_CMD	        ((uint64_t) 0x008000000000)
+#define NFP_ME28_INSTR_CMD		((uint64_t) 0x000000000000)
+#define NFP_ME28_INSTR_IS_CMD(instr) \
+	((instr & NFP_ME28_INSTR_MASK_CMD) == NFP_ME28_INSTR_CMD)
+
+#define NFP_ME28_INSTR_MASK_ALU_SHF	((uint64_t) 0x00e000000000)
+#define NFP_ME28_INSTR_ALU_SHF		((uint64_t) 0x008000000000)
+#define NFP_ME28_INSTR_IS_ALU_SHF(instr) \
+	((instr & NFP_ME28_INSTR_MASK_ALU_SHF) == NFP_ME28_INSTR_ALU_SHF)
+
+#define NFP_ME28_INSTR_MASK_ALU	        ((uint64_t) 0x00e000000000)
+#define NFP_ME28_INSTR_ALU		((uint64_t) 0x00a000000000)
+#define NFP_ME28_INSTR_IS_ALU(instr) \
+	((instr & NFP_ME28_INSTR_MASK_ALU) == NFP_ME28_INSTR_ALU)
+
+#define NFP_ME28_INSTR_MASK_IMMED	((uint64_t) 0x01f900000000)
+#define NFP_ME28_INSTR_IMMED		((uint64_t) 0x00f000000000)
+#define NFP_ME28_INSTR_IS_IMMED(instr) \
+	((instr & NFP_ME28_INSTR_MASK_IMMED) == NFP_ME28_INSTR_IMMED)
+
+#define NFP_ME28_INSTR_MASK_LD_FIELD	((uint64_t) 0x01fa00e00000)
+#define NFP_ME28_INSTR_LD_FIELD	        ((uint64_t) 0x00c000000000)
+#define NFP_ME28_INSTR_IS_LD_FIELD(instr) \
+	((instr & NFP_ME28_INSTR_MASK_LD_FIELD) == NFP_ME28_INSTR_LD_FIELD)
+
+#define NFP_ME28_INSTR_MASK_CTX_ARB	((uint64_t) 0x00f800000000)
+#define NFP_ME28_INSTR_CTX_ARB		((uint64_t) 0x00e000000000)
+#define NFP_ME28_INSTR_IS_CTX_ARB(instr) \
+	((instr & NFP_ME28_INSTR_MASK_CTX_ARB) == NFP_ME28_INSTR_CTX_ARB)
+
+#define NFP_ME28_INSTR_MASK_LOCAL_CSR	((uint64_t) 0x01fe00100000)
+#define NFP_ME28_INSTR_LOCAL_CSR	((uint64_t) 0x00fc00000000)
+#define NFP_ME28_INSTR_IS_LOCAL_CSR(instr) \
+	((instr & NFP_ME28_INSTR_MASK_LOCAL_CSR) == NFP_ME28_INSTR_LOCAL_CSR)
+
+#define NFP_ME28_INSTR_MASK_BRANCH	((uint64_t) 0x00f8000c3ce0)
+#define NFP_ME28_INSTR_BRANCH		((uint64_t) 0x00d800000020)
+#define NFP_ME28_INSTR_IS_BRANCH(instr) \
+	((instr & NFP_ME28_INSTR_MASK_BRANCH) == NFP_ME28_INSTR_BRANCH)
+
+#define NFP_ME28_INSTR_MASK_BR_BYTE	((uint64_t) 0x00f800000000)
+#define NFP_ME28_INSTR_BR_BYTE		((uint64_t) 0x00c800000000)
+#define NFP_ME28_INSTR_IS_BR_BYTE(instr) \
+	((instr & NFP_ME28_INSTR_MASK_BR_BYTE) == NFP_ME28_INSTR_BR_BYTE)
+
+#define NFP_ME28_INSTR_MASK_BR_BIT	((uint64_t) 0x00f800080300)
+#define NFP_ME28_INSTR_BR_BIT		((uint64_t) 0x00d000000000)
+#define NFP_ME28_INSTR_IS_BR_BIT(instr) \
+	((instr & NFP_ME28_INSTR_MASK_BR_BIT) == NFP_ME28_INSTR_BR_BIT)
+
+#define NFP_ME28_INSTR_MASK_BR_ALU	((uint64_t) 0x00ff80000000)
+#define NFP_ME28_INSTR_BR_ALU		((uint64_t) 0x00e800000000)
+#define NFP_ME28_INSTR_IS_BR_ALU(instr) \
+	((instr & NFP_ME28_INSTR_MASK_BR_ALU) == NFP_ME28_INSTR_BR_ALU)
+
+#define NFP_ME28_INSTR_MASK_MULT	((uint64_t) 0x00fe3f000000)
+#define NFP_ME28_INSTR_MULT		((uint64_t) 0x00f800000000)
+#define NFP_ME28_INSTR_IS_MULT(instr) \
+	((instr & NFP_ME28_INSTR_MASK_MULT) == NFP_ME28_INSTR_MULT)
+
+typedef struct
+{
+  int cpp_target;
+  int cpp_action;
+  int cpp_token;
+  unsigned int len_fixed;
+  unsigned int len_mask;
+  const char *mnemonic;
+}
+nfp_cmd_mnemonic;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif				/* _NFP_H_ */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/ppc.h ./include/opcode/ppc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/ppc.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/ppc.h	2018-07-10 02:06:14.000000000 +0000
@@ -75,11 +75,11 @@ struct powerpc_opcode
    in the order in which the disassembler should consider
    instructions.  */
 extern const struct powerpc_opcode powerpc_opcodes[];
-extern const int powerpc_num_opcodes;
+extern const unsigned int powerpc_num_opcodes;
 extern const struct powerpc_opcode vle_opcodes[];
-extern const int vle_num_opcodes;
+extern const unsigned int vle_num_opcodes;
 extern const struct powerpc_opcode spe2_opcodes[];
-extern const int spe2_num_opcodes;
+extern const unsigned int spe2_num_opcodes;
 
 /* Values defined for the flags field of a struct powerpc_opcode.  */
 
@@ -405,14 +405,6 @@ extern const unsigned int num_powerpc_op
 /* Valid range of operand is 0..n rather than 0..n-1.  */
 #define PPC_OPERAND_PLUS1 (0x20000)
 
-/* This operand does not actually exist in the assembler input.  This
-   is used to support extended mnemonics such as mr, for which two
-   operands fields are identical.  The assembler should call the
-   insert function with any op value.  The disassembler should call
-   the extract function, ignore the return value, and check the value
-   placed in the valid argument.  */
-#define PPC_OPERAND_FAKE (0x40000)
-
 /* This operand is optional, and is zero if omitted.  This is used for
    example, in the optional BF field in the comparison instructions.  The
    assembler must count the number of operands remaining on the line,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/riscv.h ./include/opcode/riscv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/riscv.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/riscv.h	2018-07-10 02:06:14.000000000 +0000
@@ -77,6 +77,8 @@ static const char * const riscv_pred_suc
   (EXTRACT_RVC_IMM (x) << RISCV_IMM_BITS)
 #define EXTRACT_RVC_SIMM3(x) \
   (RV_X(x, 10, 2) | (-RV_X(x, 12, 1) << 2))
+#define EXTRACT_RVC_UIMM8(x) \
+  (RV_X(x, 5, 8))
 #define EXTRACT_RVC_ADDI4SPN_IMM(x) \
   ((RV_X(x, 6, 1) << 2) | (RV_X(x, 5, 1) << 3) | (RV_X(x, 11, 2) << 4) | (RV_X(x, 7, 4) << 6))
 #define EXTRACT_RVC_ADDI16SP_IMM(x) \
@@ -114,6 +116,8 @@ static const char * const riscv_pred_suc
   ENCODE_RVC_IMM ((x) >> RISCV_IMM_BITS)
 #define ENCODE_RVC_SIMM3(x) \
   (RV_X(x, 0, 3) << 10)
+#define ENCODE_RVC_UIMM8(x) \
+  (RV_X(x, 0, 8) << 5)
 #define ENCODE_RVC_ADDI4SPN_IMM(x) \
   ((RV_X(x, 2, 1) << 6) | (RV_X(x, 3, 1) << 5) | (RV_X(x, 4, 2) << 11) | (RV_X(x, 6, 4) << 7))
 #define ENCODE_RVC_ADDI16SP_IMM(x) \
@@ -143,6 +147,7 @@ static const char * const riscv_pred_suc
 #define VALID_RVC_IMM(x) (EXTRACT_RVC_IMM(ENCODE_RVC_IMM(x)) == (x))
 #define VALID_RVC_LUI_IMM(x) (ENCODE_RVC_LUI_IMM(x) != 0 && EXTRACT_RVC_LUI_IMM(ENCODE_RVC_LUI_IMM(x)) == (x))
 #define VALID_RVC_SIMM3(x) (EXTRACT_RVC_SIMM3(ENCODE_RVC_SIMM3(x)) == (x))
+#define VALID_RVC_UIMM8(x) (EXTRACT_RVC_UIMM8(ENCODE_RVC_UIMM8(x)) == (x))
 #define VALID_RVC_ADDI4SPN_IMM(x) (EXTRACT_RVC_ADDI4SPN_IMM(ENCODE_RVC_ADDI4SPN_IMM(x)) == (x))
 #define VALID_RVC_ADDI16SP_IMM(x) (EXTRACT_RVC_ADDI16SP_IMM(ENCODE_RVC_ADDI16SP_IMM(x)) == (x))
 #define VALID_RVC_LW_IMM(x) (EXTRACT_RVC_LW_IMM(ENCODE_RVC_LW_IMM(x)) == (x))
@@ -223,8 +228,18 @@ static const char * const riscv_pred_suc
 #define OP_MASK_CSR		0xfff
 #define OP_SH_CSR		20
 
+#define OP_MASK_FUNCT3         0x7
+#define OP_SH_FUNCT3           12
+#define OP_MASK_FUNCT7         0x7f
+#define OP_SH_FUNCT7           25
+#define OP_MASK_FUNCT2         0x3
+#define OP_SH_FUNCT2           25
+
 /* RVC fields.  */
 
+#define OP_MASK_OP2            0x3
+#define OP_SH_OP2              0
+
 #define OP_MASK_CRS2 0x1f
 #define OP_SH_CRS2 2
 #define OP_MASK_CRS1S 0x7
@@ -232,6 +247,11 @@ static const char * const riscv_pred_suc
 #define OP_MASK_CRS2S 0x7
 #define OP_SH_CRS2S 2
 
+#define OP_MASK_CFUNCT4                0xf
+#define OP_SH_CFUNCT4          12
+#define OP_MASK_CFUNCT3                0x7
+#define OP_SH_CFUNCT3          13
+
 /* ABI names for selected x-registers.  */
 
 #define X_RA 1
@@ -340,5 +360,6 @@ extern const char * const riscv_fpr_name
 extern const char * const riscv_fpr_names_abi[NFPR];
 
 extern const struct riscv_opcode riscv_opcodes[];
+extern const struct riscv_opcode riscv_insn_types[];
 
 #endif /* _RISCV_H_ */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/riscv-opc.h ./include/opcode/riscv-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/riscv-opc.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/riscv-opc.h	2018-07-10 02:06:14.000000000 +0000
@@ -459,8 +459,12 @@
 #define MASK_C_LUI  0xe003
 #define MATCH_C_SRLI 0x8001
 #define MASK_C_SRLI  0xec03
+#define MATCH_C_SRLI64 0x8001
+#define MASK_C_SRLI64  0xfc7f
 #define MATCH_C_SRAI 0x8401
 #define MASK_C_SRAI  0xec03
+#define MATCH_C_SRAI64 0x8401
+#define MASK_C_SRAI64  0xfc7f
 #define MATCH_C_ANDI 0x8801
 #define MASK_C_ANDI  0xec03
 #define MATCH_C_SUB 0x8c01
@@ -483,6 +487,8 @@
 #define MASK_C_BNEZ  0xe003
 #define MATCH_C_SLLI 0x2
 #define MASK_C_SLLI  0xe003
+#define MATCH_C_SLLI64 0x2
+#define MASK_C_SLLI64 0xf07f
 #define MATCH_C_FLDSP 0x2002
 #define MASK_C_FLDSP  0xe003
 #define MATCH_C_LWSP 0x4002
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/tahoe.h ./include/opcode/tahoe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/opcode/tahoe.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/opcode/tahoe.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,232 +0,0 @@
-/*
- * Ported by the State University of New York at Buffalo by the Distributed
- * Computer Systems Lab, Department of Computer Science, 1991.
- */
-/* Copyright (C) 2012-2018 Free Software Foundation, Inc.
-
-   This file is part of GDB and BINUTILS.
-
-   GDB and BINUTILS are free software; you can redistribute them and/or
-   modify them under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 3, or (at
-   your option) any later version.
-
-   GDB and BINUTILS are 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 GDB or BINUTILS; see the file COPYING3.  If not, write
-   to the Free Software Foundation, 51 Franklin Street - Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
-
-
-#ifndef tahoe_opcodeT
-#define tahoe_opcodeT int
-#endif /* no tahoe_opcodeT */
-
-struct vot_wot                  /* tahoe opcode table: wot to do with this */
-                                /* particular opcode */
-{
-  char *            args;       /* how to compile said opcode */
-  tahoe_opcodeT       code;     /* op-code (may be > 8 bits!) */
-};
-
-struct vot                      /* tahoe opcode text */
-{
-  char *            name;       /* opcode name: lowercase string  [key]  */
-  struct vot_wot    detail;     /* rest of opcode table          [datum] */
-};
-
-#define vot_how args
-#define vot_code code
-#define vot_detail detail
-#define vot_name name
-
-static struct vot
-votstrs[] =
-{
-{    "halt",	{"",			0x00	} },
-{    "sinf",    {"",                    0x05    } },
-{    "ldf",     {"rl",                  0x06    } },
-{    "ldd",     {"rq",                  0x07    } },
-{    "addb2",	{"rbmb",		0x08	} },
-{    "movb",	{"rbwb",		0x09	} },
-{    "addw2",	{"rwmw",		0x0a	} },
-{    "movw",	{"rwww",		0x0b	} },
-{    "addl2",	{"rlml",		0x0c	} },
-{    "movl",	{"rlwl",		0x0d	} },
-{    "bbs",	{"rlvlbw",		0x0e	} },
-{    "nop",     {"",                    0x10    } },
-{    "brb",	{"bb",			0x11	} },
-{    "brw",	{"bw",			0x13	} },
-{    "cosf",    {"",                    0x15    } },
-{    "lnf",     {"rl",                  0x16    } },
-{    "lnd",     {"rq",                  0x17    } },
-{    "addb3",	{"rbrbwb",		0x18	} },
-{    "cmpb",	{"rbwb",		0x19	} }, 
-{    "addw3",	{"rwrwww",		0x1a	} },
-{    "cmpw",	{"rwww",		0x1b	} },
-{    "addl3",	{"rlrlwl",		0x1c	} },
-{    "cmpl",	{"rlwl",		0x1d	} },
-{    "bbc",	{"rlvlbw",		0x1e	} },
-{    "rei",	{"",			0x20	} },
-{    "bneq",	{"bb",			0x21	} },
-{    "bnequ",	{"bb",			0x21	} },
-{    "cvtwl",	{"rwwl",		0x23	} },
-{    "stf",     {"wl",                  0x26    } },
-{    "std",     {"wq",                  0x27    } },
-{    "subb2",	{"rbmb",		0x28	} },
-{    "mcomb",	{"rbwb",		0x29	} },
-{    "subw2",	{"rwmw",		0x2a	} },
-{    "mcomw",	{"rwww",		0x2b	} },
-{    "subl2",   {"rlml",                0x2c    } },
-{    "mcoml",   {"rlwl",                0x2d    } },
-{    "emul",	{"rlrlrlwq",		0x2e	} },
-{    "aoblss",	{"rlmlbw",		0x2f	} },
-{    "bpt",	{"",			0x30	} },
-{    "beql",	{"bb",			0x31	} },
-{    "beqlu",	{"bb",			0x31	} },
-{    "cvtwb",	{"rwwb",		0x33	} },
-{    "logf",    {"",                    0x35    } },
-{    "cmpf",    {"rl",                  0x36    } },
-{    "cmpd",    {"rq",                  0x37    } },
-{    "subb3",	{"rbrbwb",		0x38	} },
-{    "bitb",	{"rbrb",		0x39	} },
-{    "subw3",	{"rwrwww",		0x3a	} },
-{    "bitw",	{"rwrw",		0x3b	} },
-{    "subl3",	{"rlrlwl",		0x3c	} },
-{    "bitl",	{"rlrl",		0x3d	} },
-{    "ediv",	{"rlrqwlwl",		0x3e	} },
-{    "aobleq",	{"rlmlbw",		0x3f	} },
-{    "ret",	{"",			0x40	} },
-{    "bgtr",	{"bb",			0x41	} },
-{    "sqrtf",   {"",                    0x45    } },
-{    "cmpf2",   {"rl",                  0x46    } },
-{    "cmpd2",   {"rqrq",                0x47    } },
-{    "shll",    {"rbrlwl",              0x48    } },
-{    "clrb",	{"wb",			0x49	} },
-{    "shlq",	{"rbrqwq",		0x4a	} },
-{    "clrw",	{"ww",			0x4b	} },
-{    "mull2",	{"rlml",		0x4c	} },
-{    "clrl",	{"wl",			0x4d	} },
-{    "shal",    {"rbrlwl",		0x4e	} },
-{    "bleq",	{"bb",			0x51	} },
-{    "expf",    {"",                    0x55    } },
-{    "tstf",    {"",                    0x56    } },
-{    "tstd",    {"",                    0x57    } },
-{    "shrl",    {"rbrlwl",		0x58	} },
-{    "tstb",	{"rb",			0x59	} },
-{    "shrq",    {"rbrqwq",		0x5a	} },
-{    "tstw",	{"rw",			0x5b	} },
-{    "mull3",	{"rlrlwl",		0x5c	} },
-{    "tstl",	{"rl",			0x5d	} },
-{    "shar",	{"rbrlwl",		0x5e	} },
-{    "bbssi",	{"rlmlbw",		0x5f	} },
-{    "ldpctx",	{"",			0x60	} },
-{    "pushd",   {"",                    0x67    } },
-{    "incb",	{"mb",			0x69	} },
-{    "incw",	{"mw",			0x6b	} },
-{    "divl2",	{"rlml",		0x6c	} },
-{    "incl",	{"ml",			0x6d	} },
-{    "cvtlb",	{"rlwb",		0x6f	} },
-{    "svpctx",	{"",			0x70	} },
-{    "jmp",	{"ab",			0x71	} },
-{    "cvlf",    {"rl",                  0x76    } },
-{    "cvld",    {"rl",                  0x77    } },
-{    "decb",	{"mb",			0x79	} },
-{    "decw",	{"mw",			0x7b	} },
-{    "divl3",	{"rlrlwl",		0x7c	} },
-{    "decl",	{"ml",			0x7d	} },
-{    "cvtlw",	{"rlww",		0x7f	} },
-{    "bgeq",	{"bb",			0x81	} },
-{    "movs2",	{"abab",		0x82	} },
-{    "cvfl",    {"wl",                  0x86    } },
-{    "cvdl",    {"wl",                  0x87    } },
-{    "orb2",	{"rbmb",		0x88	} },
-{    "cvtbl",	{"rbwl",		0x89	} },
-{    "orw2",	{"rwmw",		0x8a	} },
-{    "bispsw",	{"rw",			0x8b	} },
-{    "orl2",    {"rlml",                0x8c    } },
-{    "adwc",	{"rlml",		0x8d	} },
-{    "adda", 	{"rlml",		0x8e	} },
-{    "blss",	{"bb",			0x91	} },
-{    "cmps2",   {"abab",		0x92	} },
-{    "ldfd",    {"rl",                  0x97    } },
-{    "orb3",	{"rbrbwb",		0x98	} },
-{    "cvtbw",	{"rbww",		0x99	} },
-{    "orw3",   	{"rwrwww",		0x9a	} },
-{    "bicpsw",	{"rw",			0x9b	} },
-{    "orl3",    {"rlrlwl",              0x9c    } },
-{    "sbwc",	{"rlml",		0x9d	} },
-{    "suba",    {"rlml",                0x9e    } },
-{    "bgtru",	{"bb",			0xa1	} },
-{    "cvdf",    {"",                    0xa6    } },
-{    "andb2",   {"rbmb",		0xa8    } },
-{    "movzbl",	{"rbwl",		0xa9	} },
-{    "andw2",   {"rwmw",		0xaa    } },
-{    "loadr",   {"rwal",		0xab	} },
-{    "andl2",   {"rlml",		0xac    } },
-{    "mtpr",	{"rlrl",		0xad	} },
-{    "ffs",	{"rlwl",		0xae	} },
-{    "blequ",	{"bb",			0xb1	} },
-{    "negf",    {"",                    0xb6    } },
-{    "negd",    {"",                    0xb7    } },
-{    "andb3",   {"rbrbwb",              0xb8    } },
-{    "movzbw",	{"rbww",		0xb9	} },
-{    "andw3",   {"rwrwww",		0xba    } },
-{    "storer",  {"rwal",                0xbb    } },
-{    "andl3",   {"rlrlwl",		0xbc    } },
-{    "mfpr",	{"rlwl",		0xbd	} },
-{    "ffc",	{"rlwl",		0xbe	} },
-{    "calls",	{"rbab",		0xbf	} },
-{    "prober",	{"rbabrl",		0xc0	} },
-{    "bvc",	{"bb",			0xc1	} },
-{    "movs3",	{"ababrw",		0xc2	} },
-{    "movzwl",	{"rwwl",		0xc3	} },
-{    "addf",    {"rl",                  0xc6    } },
-{    "addd",    {"rq",                  0xc7    } },
-{    "xorb2",   {"rbmb",                0xc8    } },
-{    "movob",   {"rbwb",                0xc9    } },
-{    "xorw2",   {"rwmw",                0xca    } },
-{    "movow",   {"rwww",                0xcb	} },
-{    "xorl2",	{"rlml",                0xcc    } },
-{    "movpsl",  {"wl",                  0xcd    } },
-{    "kcall",   {"rw",			0xcf	} },
-{    "probew",  {"rbabrl",		0xd0	} },
-{    "bvs",     {"bb",			0xd1	} },
-{    "cmps3",   {"ababrw",		0xd2	} },
-{    "subf",    {"rq",                  0xd6    } },
-{    "subd",    {"rq",                  0xd7    } },
-{    "xorb3",	{"rbrbwb",		0xd8	} },
-{    "pushb",   {"rb",			0xd9	} },
-{    "xorw3",	{"rwrwww",		0xda	} },
-{    "pushw",   {"rw", 			0xdb	} },
-{    "xorl3",	{"rlrlwl",		0xdc	} },
-{    "pushl",	{"rl",			0xdd	} },
-{    "insque",	{"abab",		0xe0	} },
-{    "bcs",	{"bb",			0xe1	} },
-{    "bgequ",	{"bb",			0xe1	} },
-{    "mulf",    {"rq",                  0xe6    } },
-{    "muld",    {"rq",                  0xe7    } },
-{    "mnegb",	{"rbwb",		0xe8	} },
-{    "movab",	{"abwl",		0xe9	} },
-{    "mnegw",	{"rwww",		0xea	} },
-{    "movaw",	{"awwl",		0xeb	} },
-{    "mnegl",	{"rlwl",		0xec	} },
-{    "moval",	{"alwl",		0xed	} },
-{    "remque",	{"ab",  		0xf0	} },
-{    "bcc",	{"bb",			0xf1	} },
-{    "blssu",	{"bb",			0xf1	} },
-{    "divf",    {"rq",                  0xf6    } },
-{    "divd",    {"rq",                  0xf7    } },
-{    "movblk",  {"alalrw",              0xf8	} },
-{    "pushab",	{"ab",			0xf9	} },
-{    "pushaw",	{"aw",			0xfb	} },
-{    "casel",	{"rlrlrl",		0xfc	} },
-{    "pushal",	{"al",			0xfd	} },
-{    "callf",	{"rbab",		0xfe	} },
-{      ""       ,   ""          } /* empty is end sentinel */
-
-};
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/plugin-api.h ./include/plugin-api.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/plugin-api.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/plugin-api.h	2018-07-10 02:06:14.000000000 +0000
@@ -378,6 +378,14 @@ typedef
 enum ld_plugin_status
 (*ld_plugin_register_new_input) (ld_plugin_new_input_handler handler);
 
+/* The linker's interface for getting the list of wrapped symbols using the
+   --wrap option. This sets *NUM_SYMBOLS to number of wrapped symbols and
+   *WRAP_SYMBOL_LIST to the list of wrapped symbols. */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_get_wrap_symbols) (uint64_t *num_symbols,
+                               const char ***wrap_symbol_list);
 
 enum ld_plugin_level
 {
@@ -422,7 +430,8 @@ enum ld_plugin_tag
   LDPT_GET_SYMBOLS_V3 = 28,
   LDPT_GET_INPUT_SECTION_ALIGNMENT = 29,
   LDPT_GET_INPUT_SECTION_SIZE = 30,
-  LDPT_REGISTER_NEW_INPUT_HOOK = 31
+  LDPT_REGISTER_NEW_INPUT_HOOK = 31,
+  LDPT_GET_WRAP_SYMBOLS = 32
 };
 
 /* The plugin transfer vector.  */
@@ -457,6 +466,7 @@ struct ld_plugin_tv
     ld_plugin_get_input_section_alignment tv_get_input_section_alignment;
     ld_plugin_get_input_section_size tv_get_input_section_size;
     ld_plugin_register_new_input tv_register_new_input;
+    ld_plugin_get_wrap_symbols tv_get_wrap_symbols;
   } tv_u;
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/simple-object.h ./include/simple-object.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/simple-object.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/simple-object.h	2018-07-10 02:06:14.000000000 +0000
@@ -198,12 +198,15 @@ extern void
 simple_object_release_write (simple_object_write *);
 
 /* Copy LTO debug sections from SRC_OBJECT to DEST.
+   If RENAME is true, rename LTO debug section into debug section (i.e.
+   when producing final binary) and if it is false, keep the sections with
+   original names (when incrementally linking).
    If an error occurs, return the errno value in ERR and an error string.  */
 
 extern const char *
 simple_object_copy_lto_debug_sections (simple_object_read *src_object,
 				       const char *dest,
-				       int *err);
+				       int *err, int rename);
 
 #ifdef __cplusplus
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/splay-tree.h ./include/splay-tree.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/include/splay-tree.h	2018-07-03 02:06:29.000000000 +0000
+++ ./include/splay-tree.h	2018-07-10 02:06:14.000000000 +0000
@@ -147,7 +147,9 @@ extern splay_tree_node splay_tree_max (s
 extern splay_tree_node splay_tree_min (splay_tree);
 extern int splay_tree_foreach (splay_tree, splay_tree_foreach_fn, void*);
 extern int splay_tree_compare_ints (splay_tree_key, splay_tree_key);
-extern int splay_tree_compare_pointers (splay_tree_key,	splay_tree_key);
+extern int splay_tree_compare_pointers (splay_tree_key, splay_tree_key);
+extern int splay_tree_compare_strings (splay_tree_key, splay_tree_key);
+extern void splay_tree_delete_pointers (splay_tree_value);
 
 #ifdef __cplusplus
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/intl/aclocal.m4 ./intl/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/intl/aclocal.m4	2018-07-03 02:06:29.000000000 +0000
+++ ./intl/aclocal.m4	2018-07-10 02:06:14.000000000 +0000
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -12,6 +11,7 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_include([../config/codeset.m4])
 m4_include([../config/gettext.m4])
 m4_include([../config/glibc21.m4])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/intl/ChangeLog ./intl/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/intl/ChangeLog	2018-07-03 02:06:29.000000000 +0000
+++ ./intl/ChangeLog	2018-07-10 02:06:14.000000000 +0000
@@ -1,3 +1,10 @@
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS, remove AC_PREREQ.
+	* configure: Re-generate.
+	* config.h.in: Re-generate.
+	* aclocal.m4: Re-generate.
+
 2017-11-07  Alan Modra  <amodra@gmail.com>
 
 	* configure.ac: Invole AM_GNU_GETTEXT with need_ngettext.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/intl/config.h.in ./intl/config.h.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/intl/config.h.in	2018-07-03 02:06:29.000000000 +0000
+++ ./intl/config.h.in	2018-07-10 02:06:14.000000000 +0000
@@ -222,6 +222,38 @@
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
 /* Define to empty if `const' does not conform to ANSI C. */
 #undef const
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/intl/configure ./intl/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/intl/configure	2018-07-03 02:06:29.000000000 +0000
+++ ./intl/configure	2018-07-10 02:06:14.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -209,14 +236,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -314,10 +352,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -354,19 +400,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -439,6 +485,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -473,16 +523,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -494,28 +544,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -524,10 +554,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -551,7 +582,6 @@ PACKAGE_STRING=
 PACKAGE_BUGREPORT=
 PACKAGE_URL=
 
-ac_unique_file="gettext.c"
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
@@ -588,6 +618,8 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
+ac_unique_file="gettext.c"
+ac_header_list=
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 INCINTL
@@ -613,9 +645,6 @@ LTLIBICONV
 LIBICONV
 GLIBC21
 ALLOCA
-EGREP
-GREP
-CPP
 RANLIB
 host_os
 host_vendor
@@ -625,13 +654,6 @@ build_os
 build_vendor
 build_cpu
 build
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
 MSGMERGE
 XGETTEXT
 GMSGFMT
@@ -642,6 +664,16 @@ INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
 SET_MAKE
+EGREP
+GREP
+CPP
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
 target_alias
 host_alias
 build_alias
@@ -762,8 +794,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -808,7 +841,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -834,7 +867,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1038,7 +1071,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1054,7 +1087,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1084,8 +1117,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1093,7 +1126,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1103,7 +1136,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1111,13 +1144,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1140,7 +1173,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1154,8 +1187,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1170,9 +1201,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1211,11 +1242,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1255,7 +1286,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1332,7 +1363,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1403,9 +1434,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1449,57 +1480,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
-
-} # ac_fn_c_try_link
-
 # ac_fn_c_try_cpp LINENO
 # ----------------------
 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
@@ -1521,7 +1506,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1532,11 +1517,98 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval \${$3+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
 # ac_fn_c_try_run LINENO
 # ----------------------
 # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
@@ -1574,11 +1646,88 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 test -x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
 # ac_fn_c_check_type LINENO TYPE VAR INCLUDES
 # -------------------------------------------
 # Tests whether TYPE exists after having included INCLUDES, setting cache
@@ -1588,7 +1737,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1629,50 +1778,19 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1727,102 +1845,15 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_header_mongrel
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1932,11 +1963,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -1970,11 +1999,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -1987,11 +2014,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2005,11 +2030,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2064,7 +2087,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2075,18 +2103,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2100,6 +2132,9 @@ else
   >$cache_file
 fi
 
+as_fn_append ac_header_list " stdlib.h"
+as_fn_append ac_header_list " unistd.h"
+as_fn_append ac_header_list " sys/param.h"
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
@@ -2155,7 +2190,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2171,277 +2206,168 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-
-ac_config_headers="$ac_config_headers config.h"
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-	@echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
 fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
 
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # program-specific install script used by HP pwplus--don't use.
-	    :
-	  else
-	    rm -rf conftest.one conftest.two conftest.dir
-	    echo one > conftest.one
-	    echo two > conftest.two
-	    mkdir conftest.dir
-	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-	      test -s conftest.one && test -s conftest.two &&
-	      test -s conftest.dir/conftest.one &&
-	      test -s conftest.dir/conftest.two
-	    then
-	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-	      break 3
-	    fi
-	  fi
-	fi
-      done
-    done
-    ;;
-esac
-
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
   done
 IFS=$as_save_IFS
 
-rm -rf conftest.one conftest.two conftest.dir
-
 fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-        MKINSTALLDIRS=
-  if test -n "$ac_aux_dir"; then
-    case "$ac_aux_dir" in
-      /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
-      *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
-    esac
-  fi
-  if test -z "$MKINSTALLDIRS"; then
-    MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
-  fi
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
-    # Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then :
-  enableval=$enable_nls; USE_NLS=$enableval
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
 else
-  USE_NLS=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
-
-
-
-
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
+  if test "x$ac_ct_CC" = x; then
+    CC=""
   else
-    PATH_SEPARATOR=:
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
   fi
-  rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
 else
-  ac_executable_p="test -f"
+  CC="$ac_cv_prog_CC"
 fi
-rm -f conf$$.file
 
-# Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGFMT+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  case "$MSGFMT" in
-  [\\/]* | ?:[\\/]*)
-    ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH; do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
-     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-            ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
-    ;;
-esac
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
 fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test "$MSGFMT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
-$as_echo "$MSGFMT" >&6; }
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GMSGFMT+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  case $GMSGFMT in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -2449,203 +2375,44 @@ done
   done
 IFS=$as_save_IFS
 
-  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
-  ;;
-esac
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
 fi
-GMSGFMT=$ac_cv_path_GMSGFMT
-if test -n "$GMSGFMT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
-$as_echo "$GMSGFMT" >&6; }
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
-else
-  ac_executable_p="test -f"
 fi
-rm -f conf$$.file
-
-# Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XGETTEXT+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  case "$XGETTEXT" in
-  [\\/]* | ?:[\\/]*)
-    ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH; do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
-     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-            ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
-    ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test "$XGETTEXT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-    rm -f messages.po
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
-else
-  ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "msgmerge", so it can be a program name with args.
-set dummy msgmerge; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGMERGE+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case "$MSGMERGE" in
-  [\\/]* | ?:[\\/]*)
-    ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH; do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then
-            ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-  test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
-    ;;
-esac
-fi
-MSGMERGE="$ac_cv_path_MSGMERGE"
-if test "$MSGMERGE" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
-$as_echo "$MSGMERGE" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-      if test "$GMSGFMT" != ":"; then
-            if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
-       (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-      : ;
-    else
-      GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5
-$as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; }
-      GMSGFMT=":"
-    fi
-  fi
-
-      if test "$XGETTEXT" != ":"; then
-            if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
-       (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-      : ;
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5
-$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
-      XGETTEXT=":"
-    fi
-        rm -f messages.po
-  fi
-
-  ac_config_commands="$ac_config_commands default-1"
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -2653,8 +2420,8 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -2674,14 +2441,18 @@ else
 fi
 
 
+    test -n "$CC" && break
+  done
 fi
-if test -z "$ac_cv_prog_CC"; then
+if test -z "$CC"; then
   ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2693,8 +2464,8 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -2713,6 +2484,10 @@ else
 $as_echo "no" >&6; }
 fi
 
+
+  test -n "$ac_ct_CC" && break
+done
+
   if test "x$ac_ct_CC" = x; then
     CC=""
   else
@@ -2724,259 +2499,59 @@ ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
   fi
-else
-  CC="$ac_cv_prog_CC"
 fi
 
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
 fi
 
 
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
   fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
 done
-  done
-IFS=$as_save_IFS
 
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
+int
+main ()
+{
 
   ;
   return 0;
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -3038,62 +2613,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -3123,19 +2664,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3175,8 +2775,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -3186,7 +2786,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3223,7 +2823,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3301,7 +2901,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -3310,8 +2910,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3396,239 +2995,20 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS con
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
-$as_echo_n "checking for library containing strerror... " >&6; }
-if test "${ac_cv_search_strerror+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strerror ();
-int
-main ()
-{
-return strerror ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' cposix; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_strerror=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if test "${ac_cv_search_strerror+set}" = set; then :
-  break
-fi
-done
-if test "${ac_cv_search_strerror+set}" = set; then :
-
-else
-  ac_cv_search_strerror=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
-$as_echo "$ac_cv_search_strerror" >&6; }
-ac_res=$ac_cv_search_strerror
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -3658,7 +3038,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3674,11 +3054,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -3717,7 +3097,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3733,18 +3113,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -3756,7 +3136,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -3770,7 +3150,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -3805,7 +3185,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -3819,7 +3199,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -3836,7 +3216,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -3871,7 +3251,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -3884,121 +3264,884 @@ fi
  EGREP="$ac_cv_path_EGREP"
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
+  MINIX=yes
+else
+  MINIX=
+fi
+
+
+  if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+  fi
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_safe_to_define___extensions__=yes
+else
+  ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+  test $ac_cv_safe_to_define___extensions__ = yes &&
+    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+
+  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    rm -rf conftest.one conftest.two conftest.dir
+	    echo one > conftest.one
+	    echo two > conftest.two
+	    mkdir conftest.dir
+	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	      test -s conftest.one && test -s conftest.two &&
+	      test -s conftest.dir/conftest.one &&
+	      test -s conftest.dir/conftest.two
+	    then
+	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      break 3
+	    fi
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+        MKINSTALLDIRS=
+  if test -n "$ac_aux_dir"; then
+    case "$ac_aux_dir" in
+      /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
+      *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
+    esac
+  fi
+  if test -z "$MKINSTALLDIRS"; then
+    MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+  fi
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+    # Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then :
+  enableval=$enable_nls; USE_NLS=$enableval
+else
+  USE_NLS=yes
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+
+
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGFMT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case "$MSGFMT" in
+  [\\/]* | ?:[\\/]*)
+    ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH; do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+            ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+    ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != ":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GMSGFMT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $GMSGFMT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+  ;;
+esac
+fi
+GMSGFMT=$ac_cv_path_GMSGFMT
+if test -n "$GMSGFMT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_XGETTEXT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case "$XGETTEXT" in
+  [\\/]* | ?:[\\/]*)
+    ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH; do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+            ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+    ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+    rm -f messages.po
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGMERGE+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case "$MSGMERGE" in
+  [\\/]* | ?:[\\/]*)
+    ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH; do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then
+            ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+  test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+    ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+      if test "$GMSGFMT" != ":"; then
+            if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
+       (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+      : ;
+    else
+      GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5
+$as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; }
+      GMSGFMT=":"
+    fi
+  fi
+
+      if test "$XGETTEXT" != ":"; then
+            if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+       (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+      : ;
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5
+$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
+      XGETTEXT=":"
+    fi
+        rm -f messages.po
+  fi
+
+  ac_config_commands="$ac_config_commands default-1"
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
 else
-  ac_cv_header_stdc=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
 
-else
-  ac_cv_header_stdc=no
 fi
-rm -f conftest*
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
 fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
 else
-  ac_cv_header_stdc=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest*
 
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
 fi
 
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
+$as_echo_n "checking for library containing strerror... " >&6; }
+if ${ac_cv_search_strerror+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
 
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char strerror ();
 int
 main ()
 {
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
+return strerror ();
+  ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
+for ac_lib in '' cposix; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_strerror=$ac_res
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_strerror+:} false; then :
+  break
 fi
+done
+if ${ac_cv_search_strerror+:} false; then :
 
+else
+  ac_cv_search_strerror=no
 fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
+$as_echo "$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
+if ${ac_cv_c_const+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4007,11 +4150,11 @@ else
 int
 main ()
 {
-/* FIXME: Include the comments suggested by Paul. */
+
 #ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
+  /* Ultrix mips cc rejects this sort of thing.  */
   typedef int charset[2];
-  const charset cs;
+  const charset cs = { 0, 0 };
   /* SunOS 4.1.1 cc rejects this.  */
   char const *const *pcpcc;
   char **ppc;
@@ -4028,8 +4171,9 @@ main ()
   ++pcpcc;
   ppc = (char**) pcpcc;
   pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
+  { /* SCO 3.2v4 cc rejects this sort of thing.  */
+    char tx;
+    char *t = &tx;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
 
     *t++ = 0;
@@ -4045,10 +4189,10 @@ main ()
     iptr p = 0;
     ++p;
   }
-  { /* AIX XL C 1.02.0.0 rejects this saying
+  { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
        "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
+    struct s { int j; const int *ap[3]; } bx;
+    struct s *b = &bx; b->j = 5;
   }
   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     const int foo = 10;
@@ -4078,7 +4222,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
 $as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then :
+if ${ac_cv_c_inline+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_inline=no
@@ -4118,26 +4262,8 @@ _ACEOF
     ;;
 esac
 
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
 ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-if test "x$ac_cv_type_off_t" = x""yes; then :
+if test "x$ac_cv_type_off_t" = xyes; then :
 
 else
 
@@ -4148,7 +4274,7 @@ _ACEOF
 fi
 
 ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = x""yes; then :
+if test "x$ac_cv_type_size_t" = xyes; then :
 
 else
 
@@ -4162,7 +4288,7 @@ fi
 # for constant arguments.  Useless!
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
 $as_echo_n "checking for working alloca.h... " >&6; }
-if test "${ac_cv_working_alloca_h+set}" = set; then :
+if ${ac_cv_working_alloca_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4195,7 +4321,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
 $as_echo_n "checking for alloca... " >&6; }
-if test "${ac_cv_func_alloca_works+set}" = set; then :
+if ${ac_cv_func_alloca_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4214,7 +4340,7 @@ else
  #pragma alloca
 #   else
 #    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
+void *alloca (size_t);
 #    endif
 #   endif
 #  endif
@@ -4258,7 +4384,7 @@ ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if test "${ac_cv_os_cray+set}" = set; then :
+if ${ac_cv_os_cray+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4285,8 +4411,7 @@ if test $ac_cv_os_cray = yes; then
   for ac_func in _getb67 GETB67 getb67; do
     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
 
 cat >>confdefs.h <<_ACEOF
 #define CRAY_STACKSEG_END $ac_func
@@ -4300,7 +4425,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
 $as_echo_n "checking stack direction for C alloca... " >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then :
+if ${ac_cv_c_stack_direction+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -4310,23 +4435,20 @@ else
 /* end confdefs.h.  */
 $ac_includes_default
 int
-find_stack_direction ()
+find_stack_direction (int *addr, int depth)
 {
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
+  int dir, dummy = 0;
+  if (! addr)
+    addr = &dummy;
+  *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+  dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+  return dir + dummy;
 }
 
 int
-main ()
+main (int argc, char **argv)
 {
-  return find_stack_direction () < 0;
+  return find_stack_direction (0, argc + !argv + 20) < 0;
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
@@ -4348,12 +4470,15 @@ _ACEOF
 
 fi
 
-for ac_header in stdlib.h unistd.h
+
+
+
+  for ac_header in $ac_header_list
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -4362,10 +4487,17 @@ fi
 
 done
 
+
+
+
+
+
+
+
 for ac_func in getpagesize
 do :
   ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
-if test "x$ac_cv_func_getpagesize" = x""yes; then :
+if test "x$ac_cv_func_getpagesize" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_GETPAGESIZE 1
 _ACEOF
@@ -4375,7 +4507,7 @@ done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5
 $as_echo_n "checking for working mmap... " >&6; }
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then :
+if ${ac_cv_func_mmap_fixed_mapped+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -4418,11 +4550,6 @@ char *malloc ();
 
 /* This mess was copied from the GNU getpagesize.h.  */
 #ifndef HAVE_GETPAGESIZE
-/* Assume that all systems that can run configure have sys/param.h.  */
-# ifndef HAVE_SYS_PARAM_H
-#  define HAVE_SYS_PARAM_H 1
-# endif
-
 # ifdef _SC_PAGESIZE
 #  define getpagesize() sysconf(_SC_PAGESIZE)
 # else /* no _SC_PAGESIZE */
@@ -4457,8 +4584,9 @@ int
 main ()
 {
   char *data, *data2, *data3;
+  const char *cdata2;
   int i, pagesize;
-  int fd;
+  int fd, fd2;
 
   pagesize = getpagesize ();
 
@@ -4471,27 +4599,41 @@ main ()
   umask (0);
   fd = creat ("conftest.mmap", 0600);
   if (fd < 0)
-    return 1;
+    return 2;
   if (write (fd, data, pagesize) != pagesize)
-    return 1;
+    return 3;
   close (fd);
 
+  /* Next, check that the tail of a page is zero-filled.  File must have
+     non-zero length, otherwise we risk SIGBUS for entire page.  */
+  fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
+  if (fd2 < 0)
+    return 4;
+  cdata2 = "";
+  if (write (fd2, cdata2, 1) != 1)
+    return 5;
+  data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
+  if (data2 == MAP_FAILED)
+    return 6;
+  for (i = 0; i < pagesize; ++i)
+    if (*(data2 + i))
+      return 7;
+  close (fd2);
+  if (munmap (data2, pagesize))
+    return 8;
+
   /* Next, try to mmap the file at a fixed address which already has
      something else allocated at it.  If we can, also make sure that
      we see the same garbage.  */
   fd = open ("conftest.mmap", O_RDWR);
   if (fd < 0)
-    return 1;
-  data2 = (char *) malloc (2 * pagesize);
-  if (!data2)
-    return 1;
-  data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1);
+    return 9;
   if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
 		     MAP_PRIVATE | MAP_FIXED, fd, 0L))
-    return 1;
+    return 10;
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data2 + i))
-      return 1;
+      return 11;
 
   /* Finally, make sure that changes to the mapped area do not
      percolate back to the file as seen by read().  (This is a bug on
@@ -4500,12 +4642,12 @@ main ()
     *(data2 + i) = *(data2 + i) + 1;
   data3 = (char *) malloc (pagesize);
   if (!data3)
-    return 1;
+    return 12;
   if (read (fd, data3, pagesize) != pagesize)
-    return 1;
+    return 13;
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data3 + i))
-      return 1;
+      return 14;
   close (fd);
   return 0;
 }
@@ -4527,12 +4669,12 @@ if test $ac_cv_func_mmap_fixed_mapped = 
 $as_echo "#define HAVE_MMAP 1" >>confdefs.h
 
 fi
-rm -f conftest.mmap
+rm -f conftest.mmap conftest.txt
 
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2.1 or newer" >&5
 $as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; }
-if test "${ac_cv_gnu_library_2_1+set}" = set; then :
+if ${ac_cv_gnu_library_2_1+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4567,7 +4709,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether integer division by zero raises SIGFPE" >&5
 $as_echo_n "checking whether integer division by zero raises SIGFPE... " >&6; }
-if test "${gt_cv_int_divbyzero_sigfpe+set}" = set; then :
+if ${gt_cv_int_divbyzero_sigfpe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -4648,7 +4790,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5
 $as_echo_n "checking for inttypes.h... " >&6; }
-if test "${jm_ac_cv_header_inttypes_h+set}" = set; then :
+if ${jm_ac_cv_header_inttypes_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4683,7 +4825,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5
 $as_echo_n "checking for stdint.h... " >&6; }
-if test "${jm_ac_cv_header_stdint_h+set}" = set; then :
+if ${jm_ac_cv_header_stdint_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4718,7 +4860,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long" >&5
 $as_echo_n "checking for unsigned long long... " >&6; }
-if test "${ac_cv_type_unsigned_long_long+set}" = set; then :
+if ${ac_cv_type_unsigned_long_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4771,7 +4913,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5
 $as_echo_n "checking for inttypes.h... " >&6; }
-if test "${gt_cv_header_inttypes_h+set}" = set; then :
+if ${gt_cv_header_inttypes_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -4810,7 +4952,7 @@ _ACEOF
   if test $gt_cv_header_inttypes_h = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5
 $as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; }
-if test "${gt_cv_inttypes_pri_broken+set}" = set; then :
+if ${gt_cv_inttypes_pri_broken+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -4924,7 +5066,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${acl_cv_path_LD+set}" = set; then :
+if ${acl_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -4957,10 +5099,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${acl_cv_prog_gnu_ld+set}" = set; then :
+if ${acl_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU ld's only accept -v.
@@ -4978,7 +5120,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld
 
                                                 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
 $as_echo_n "checking for shared library run path origin... " >&6; }
-if test "${acl_cv_rpath+set}" = set; then :
+if ${acl_cv_rpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -5396,8 +5538,7 @@ stdlib.h string.h unistd.h sys/param.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5413,8 +5554,7 @@ __fsetlocking
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -5430,7 +5570,7 @@ done
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
 $as_echo_n "checking for iconv... " >&6; }
-if test "${am_cv_func_iconv+set}" = set; then :
+if ${am_cv_func_iconv+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -5571,7 +5711,7 @@ fi
   if test "$am_cv_func_iconv" = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
 $as_echo_n "checking for iconv declaration... " >&6; }
-    if test "${am_cv_proto_iconv+set}" = set; then :
+    if ${am_cv_proto_iconv+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -5622,7 +5762,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${am_cv_langinfo_codeset+set}" = set; then :
+if ${am_cv_langinfo_codeset+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5657,7 +5797,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
 $as_echo_n "checking for LC_MESSAGES... " >&6; }
-if test "${am_cv_val_LC_MESSAGES+set}" = set; then :
+if ${am_cv_val_LC_MESSAGES+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5695,7 +5835,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_INTLBISON+set}" = set; then :
+if ${ac_cv_prog_INTLBISON+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$INTLBISON"; then
@@ -5707,7 +5847,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_INTLBISON="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5813,7 +5953,7 @@ fi
 
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
 $as_echo_n "checking for GNU gettext in libc... " >&6; }
-if test "${gt_cv_func_gnugettext2_libc+set}" = set; then :
+if ${gt_cv_func_gnugettext2_libc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6223,7 +6363,7 @@ fi
 
           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
 $as_echo_n "checking for GNU gettext in libintl... " >&6; }
-if test "${gt_cv_func_gnugettext2_libintl+set}" = set; then :
+if ${gt_cv_func_gnugettext2_libintl+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   gt_save_CPPFLAGS="$CPPFLAGS"
@@ -6464,7 +6604,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ACLOCAL+set}" = set; then :
+if ${ac_cv_prog_ACLOCAL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ACLOCAL"; then
@@ -6476,7 +6616,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ACLOCAL="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6507,7 +6647,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AUTOCONF+set}" = set; then :
+if ${ac_cv_prog_AUTOCONF+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AUTOCONF"; then
@@ -6519,7 +6659,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AUTOCONF="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6550,7 +6690,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AUTOHEADER+set}" = set; then :
+if ${ac_cv_prog_AUTOHEADER+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AUTOHEADER"; then
@@ -6562,7 +6702,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AUTOHEADER="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6683,10 +6823,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -6702,6 +6853,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -6717,7 +6869,7 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -6818,6 +6970,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -6863,19 +7016,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -7013,16 +7166,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -7071,7 +7224,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -7082,28 +7235,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -7125,7 +7266,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -7165,6 +7306,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -7187,12 +7329,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -7208,11 +7351,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -7226,12 +7374,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -7244,7 +7395,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -7253,7 +7404,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -7273,7 +7424,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -7318,7 +7469,7 @@ do
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "config.intl") CONFIG_FILES="$CONFIG_FILES config.intl" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -7341,9 +7492,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -7351,12 +7503,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -7373,12 +7526,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -7387,18 +7540,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -7406,7 +7559,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -7420,7 +7573,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -7434,7 +7587,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -7454,7 +7607,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -7486,21 +7639,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -7512,7 +7673,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -7524,11 +7685,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -7613,7 +7774,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -7626,7 +7787,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -7645,7 +7806,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -7654,7 +7815,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -7680,8 +7841,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -7811,23 +7972,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -7836,21 +7998,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -7972,7 +8134,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -7993,7 +8155,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/intl/configure.ac ./intl/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/intl/configure.ac	2018-07-03 02:06:29.000000000 +0000
+++ ./intl/configure.ac	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
-AC_PREREQ(2.64)
 AC_INIT
+AC_USE_SYSTEM_EXTENSIONS
 AC_CONFIG_SRCDIR(gettext.c)
 AC_CONFIG_HEADER(config.h)
 AC_CONFIG_MACRO_DIR(../config)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/aclocal.m4 ./libdecnumber/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/aclocal.m4	2018-07-10 02:06:14.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,6 +11,7 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_include([../config/dfp.m4])
 m4_include([../config/override.m4])
 m4_include([../config/stdint.m4])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/bid2dpd_dpd2bid.c ./libdecnumber/bid/bid2dpd_dpd2bid.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/bid2dpd_dpd2bid.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/bid/bid2dpd_dpd2bid.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -114,10 +114,10 @@ _bid_to_dpd32 (_Decimal32 *pres, _Decima
   b1 = b01 - 1000 * b0;
   dcoeff = b2d[b2] | b2d2[b1];
   if (b0 >= 8) { /* is b0 8 or 9? */
-    res = sign | ((0x600 | ((exp >> 6) << 7) | 
+    res = sign | ((0x600 | ((exp >> 6) << 7) |
         ((b0 & 1) << 6) | (exp & 0x3f)) << 20) | dcoeff;
   } else { /* else b0 is 0..7 */
-    res = sign | ((((exp >> 6) << 9) | (b0 << 6) | 
+    res = sign | ((((exp >> 6) << 9) | (b0 << 6) |
         (exp & 0x3f)) << 20) | dcoeff;
   }
   *pres = res;
@@ -138,29 +138,29 @@ _dpd_to_bid32 (_Decimal32 *pres, _Decima
   if ((x & 0x78000000) == 0x78000000) {
     *pres = x;
     return;
-  } else { /* normal number */
-    if ((x & 0x60000000) == 0x60000000) { /* G0..G1 = 11 -> d0 = 8 + G4 */
-      d0 = d2b3[((x >> 26) & 1) | 8]; /* d0 = (comb & 0x0100 ? 9 : 8); */
-      exp = (x >> 27) & 3; /* exp leading bits are G2..G3 */
-    } else {
-      d0 = d2b3[(x >> 26) & 0x7];
-      exp = (x >> 29) & 3; /* exp loading bits are G0..G1 */
-    }
-    d1 = d2b2[(trailing >> 10) & 0x3ff];
-    d2 = d2b[(trailing) & 0x3ff];
-    bcoeff = d2 + d1 + d0;
-    exp = (exp << 6) + ((x >> 20) & 0x3f);
-    if (bcoeff < (1 << 23)) {
-      r = exp;
-      r <<= 23;
-      r |= (bcoeff | sign);
-    } else {
-      r = exp;
-      r <<= 21;
-      r |= (sign | 0x60000000ul);
-      /* add coeff, without leading bits */
-      r |= (((unsigned int) bcoeff) & 0x1fffff);
-    }
+  }
+  /* normal number */
+  if ((x & 0x60000000) == 0x60000000) { /* G0..G1 = 11 -> d0 = 8 + G4 */
+    d0 = d2b3[((x >> 26) & 1) | 8]; /* d0 = (comb & 0x0100 ? 9 : 8); */
+    exp = (x >> 27) & 3; /* exp leading bits are G2..G3 */
+  } else {
+    d0 = d2b3[(x >> 26) & 0x7];
+    exp = (x >> 29) & 3; /* exp loading bits are G0..G1 */
+  }
+  d1 = d2b2[(trailing >> 10) & 0x3ff];
+  d2 = d2b[(trailing) & 0x3ff];
+  bcoeff = d2 + d1 + d0;
+  exp = (exp << 6) + ((x >> 20) & 0x3f);
+  if (bcoeff < (1 << 23)) {
+    r = exp;
+    r <<= 23;
+    r |= (bcoeff | sign);
+  } else {
+    r = exp;
+    r <<= 21;
+    r |= (sign | 0x60000000ul);
+    /* add coeff, without leading bits */
+    r |= (((unsigned int) bcoeff) & 0x1fffff);
   }
   *pres = r;
 }
@@ -184,40 +184,40 @@ _bid_to_dpd64 (_Decimal64 *pres, _Decima
   if ((comb & 0xf00) == 0xf00) {
     *pres = x;
     return;
-  } else { /* Normal number */
-    if ((comb & 0xc00) == 0xc00) { /* G0..G1 = 11 -> exp is G2..G11 */
-      exp = (comb) & 0x3ff;
-      bcoeff = (x & 0x0007ffffffffffffull) | 0x0020000000000000ull;
-    } else {
-      exp = (comb >> 2) & 0x3ff;
-      bcoeff = (x & 0x001fffffffffffffull);
-    }
-    D61 = 2305843009ull; /* Floor(2^61 / 10^9) */
-    /* Multiply the binary coefficient by ceil(2^64 / 1000), and take the upper
-       64-bits in order to compute a division by 1000. */
-    yhi = (D61 * (UINT64)(bcoeff >> (UINT64)27)) >> (UINT64)34;
-    ylo = bcoeff - 1000000000ull * yhi;
-    if (ylo >= 1000000000) {
-      ylo = ylo - 1000000000;
-      yhi = yhi + 1;
-    }
-    d103 = 0x4189374c;
-    B34 = ((UINT64) ylo * d103) >> (32 + 8);
-    B01 = ((UINT64) yhi * d103) >> (32 + 8);
-    b5 = ylo - B34 * 1000;
-    b2 = yhi - B01 * 1000;
-    b3 = ((UINT64) B34 * d103) >> (32 + 8);
-    b0 = ((UINT64) B01 * d103) >> (32 + 8);
-    b4 = (unsigned int) B34 - (unsigned int) b3 *1000;
-    b1 = (unsigned int) B01 - (unsigned int) dm103[b0];
-    dcoeff = b2d[b5] | b2d2[b4] | b2d3[b3] | b2d4[b2] | b2d5[b1];
-    if (b0 >= 8) /* is b0 8 or 9? */
-      res = sign | ((0x1800 | ((exp >> 8) << 9) | ((b0 & 1) << 8) | 
-          (exp & 0xff)) << 50) | dcoeff;
-    else /* else b0 is 0..7 */
-      res = sign | ((((exp >> 8) << 11) | (b0 << 8) | 
-          (exp & 0xff)) << 50) | dcoeff;
   }
+  /* Normal number */
+  if ((comb & 0xc00) == 0xc00) { /* G0..G1 = 11 -> exp is G2..G11 */
+    exp = (comb) & 0x3ff;
+    bcoeff = (x & 0x0007ffffffffffffull) | 0x0020000000000000ull;
+  } else {
+    exp = (comb >> 2) & 0x3ff;
+    bcoeff = (x & 0x001fffffffffffffull);
+  }
+  D61 = 2305843009ull; /* Floor(2^61 / 10^9) */
+  /* Multiply the binary coefficient by ceil(2^64 / 1000), and take the upper
+     64-bits in order to compute a division by 1000. */
+  yhi = (D61 * (UINT64)(bcoeff >> (UINT64)27)) >> (UINT64)34;
+  ylo = bcoeff - 1000000000ull * yhi;
+  if (ylo >= 1000000000) {
+    ylo = ylo - 1000000000;
+    yhi = yhi + 1;
+  }
+  d103 = 0x4189374c;
+  B34 = ((UINT64) ylo * d103) >> (32 + 8);
+  B01 = ((UINT64) yhi * d103) >> (32 + 8);
+  b5 = ylo - B34 * 1000;
+  b2 = yhi - B01 * 1000;
+  b3 = ((UINT64) B34 * d103) >> (32 + 8);
+  b0 = ((UINT64) B01 * d103) >> (32 + 8);
+  b4 = (unsigned int) B34 - (unsigned int) b3 *1000;
+  b1 = (unsigned int) B01 - (unsigned int) dm103[b0];
+  dcoeff = b2d[b5] | b2d2[b4] | b2d3[b3] | b2d4[b2] | b2d5[b1];
+  if (b0 >= 8) /* is b0 8 or 9? */
+    res = sign | ((0x1800 | ((exp >> 8) << 9) | ((b0 & 1) << 8) |
+                   (exp & 0xff)) << 50) | dcoeff;
+  else /* else b0 is 0..7 */
+    res = sign | ((((exp >> 8) << 11) | (b0 << 8) |
+                     (exp & 0xff)) << 50) | dcoeff;
   *pres = res;
 }
 
@@ -237,49 +237,41 @@ _dpd_to_bid64 (_Decimal64 *pres, _Decima
   comb = (x & 0x7ffc000000000000ull) >> 50;
   trailing = (x & 0x0003ffffffffffffull);
   if ((comb & 0x1e00) == 0x1e00) {
-    if ((comb & 0x1f00) == 0x1f00) { /* G0..G4 = 11111 -> NaN */
-      if (comb & 0x0100) { /* G5 = 1 -> sNaN */
-        *pres = x;
-      } else { /* G5 = 0 -> qNaN */
-        *pres = x;
-      }
-    } else { /*if ((comb & 0x1e00) == 0x1e00); G0..G4 = 11110 -> INF */
-      *pres = x;
-    }
+    *pres = x;
     return;
-  } else { /* normal number */
-    if ((comb & 0x1800) == 0x1800) { /* G0..G1 = 11 -> d0 = 8 + G4 */
-      d0 = d2b6[((comb >> 8) & 1) | 8]; /* d0 = (comb & 0x0100 ? 9 : 8); */
-      exp = (comb & 0x600) >> 1; /* exp = (comb & 0x0400 ? 1 : 0) * 0x200 + 
-          (comb & 0x0200 ? 1 : 0) * 0x100; exp leading bits are G2..G3 */
-    } else {
-      d0 = d2b6[(comb >> 8) & 0x7];
-      exp = (comb & 0x1800) >> 3; /* exp = (comb & 0x1000 ? 1 : 0) * 0x200 + 
-          (comb & 0x0800 ? 1 : 0) * 0x100; exp loading bits are G0..G1 */
-    }
-    d1 = d2b5[(trailing >> 40) & 0x3ff];
-    d2 = d2b4[(trailing >> 30) & 0x3ff];
-    d3 = d2b3[(trailing >> 20) & 0x3ff];
-    d4 = d2b2[(trailing >> 10) & 0x3ff];
-    d5 = d2b[(trailing) & 0x3ff];
-    bcoeff = (d5 + d4 + d3) + d2 + d1 + d0;
-    exp += (comb & 0xff);
-    mask = 1;
-    mask <<= 53;
-    if (bcoeff < mask) { /* check whether coefficient fits in 10*5+3 bits */
-      res = exp;
-      res <<= 53;
-      res |= (bcoeff | sign);
-      *pres = res;
-      return;
-    }
-    /* special format */
-    res = (exp << 51) | (sign | 0x6000000000000000ull);
-    /* add coeff, without leading bits */
-    mask = (mask >> 2) - 1;
-    bcoeff &= mask;
-    res |= bcoeff;
   }
+  /* normal number */
+  if ((comb & 0x1800) == 0x1800) { /* G0..G1 = 11 -> d0 = 8 + G4 */
+    d0 = d2b6[((comb >> 8) & 1) | 8]; /* d0 = (comb & 0x0100 ? 9 : 8); */
+    exp = (comb & 0x600) >> 1; /* exp = (comb & 0x0400 ? 1 : 0) * 0x200 +
+        (comb & 0x0200 ? 1 : 0) * 0x100; exp leading bits are G2..G3 */
+  } else {
+    d0 = d2b6[(comb >> 8) & 0x7];
+    exp = (comb & 0x1800) >> 3; /* exp = (comb & 0x1000 ? 1 : 0) * 0x200 +
+        (comb & 0x0800 ? 1 : 0) * 0x100; exp loading bits are G0..G1 */
+  }
+  d1 = d2b5[(trailing >> 40) & 0x3ff];
+  d2 = d2b4[(trailing >> 30) & 0x3ff];
+  d3 = d2b3[(trailing >> 20) & 0x3ff];
+  d4 = d2b2[(trailing >> 10) & 0x3ff];
+  d5 = d2b[(trailing) & 0x3ff];
+  bcoeff = (d5 + d4 + d3) + d2 + d1 + d0;
+  exp += (comb & 0xff);
+  mask = 1;
+  mask <<= 53;
+  if (bcoeff < mask) { /* check whether coefficient fits in 10*5+3 bits */
+    res = exp;
+    res <<= 53;
+    res |= (bcoeff | sign);
+    *pres = res;
+    return;
+  }
+  /* special format */
+  res = (exp << 51) | (sign | 0x6000000000000000ull);
+  /* add coeff, without leading bits */
+  mask = (mask >> 2) - 1;
+  bcoeff &= mask;
+  res |= bcoeff;
   *pres = res;
 }
 
@@ -304,15 +296,7 @@ _bid_to_dpd128 (_Decimal128 *pres, _Deci
   comb = (x.w[1] /*& 0x7fffc00000000000ull */ ) >> 46;
   exp = 0;
   if ((comb & 0x1e000) == 0x1e000) {
-    if ((comb & 0x1f000) == 0x1f000) { /* G0..G4 = 11111 -> NaN */
-      if (comb & 0x01000) { /* G5 = 1 -> sNaN */
-        res = x;
-      } else { /* G5 = 0 -> qNaN */
-        res = x;
-      }
-    } else { /* G0..G4 = 11110 -> INF */
-      res = x;
-    }
+    res = x;
   } else { /* normal number */
     exp = ((x.w[1] & 0x7fff000000000000ull) >> 49) & 0x3fff;
     bcoeff.w[1] = (x.w[1] & 0x0001ffffffffffffull);
@@ -347,16 +331,16 @@ _bid_to_dpd128 (_Decimal128 *pres, _Deci
     BLL32 -= (unsigned int) k9 *1000000;
     k10 = ((UINT64) BLL32 * d103) >> (32 + 8);
     k11 = BLL32 - (unsigned int) k10 *1000;
-    dcoeff.w[1] = (b2d[k5] >> 4) | (b2d[k4] << 6) | (b2d[k3] << 16) | 
-        (b2d[k2] << 26) | (b2d[k1] << 36);
-    dcoeff.w[0] = b2d[k11] | (b2d[k10] << 10) | (b2d[k9] << 20) | 
-        (b2d[k8] << 30) | (b2d[k7] << 40) | (b2d[k6] << 50) | (b2d[k5] << 60);
+    dcoeff.w[1] = (b2d[k5] >> 4) | (b2d[k4] << 6) | (b2d[k3] << 16) |
+      (b2d[k2] << 26) | (b2d[k1] << 36);
+    dcoeff.w[0] = b2d[k11] | (b2d[k10] << 10) | (b2d[k9] << 20) |
+      (b2d[k8] << 30) | (b2d[k7] << 40) | (b2d[k6] << 50) | (b2d[k5] << 60);
     res.w[0] = dcoeff.w[0];
     if (k0 >= 8) {
-      res.w[1] = sign.w[1] | ((0x18000 | ((exp >> 12) << 13) | 
+      res.w[1] = sign.w[1] | ((0x18000 | ((exp >> 12) << 13) |
           ((k0 & 1) << 12) | (exp & 0xfff)) << 46) | dcoeff.w[1];
     } else {
-      res.w[1] = sign.w[1] | ((((exp >> 12) << 15) | (k0 << 12) | 
+      res.w[1] = sign.w[1] | ((((exp >> 12) << 15) | (k0 << 12) |
           (exp & 0xfff)) << 46) | dcoeff.w[1];
     }
   }
@@ -382,42 +366,33 @@ _dpd_to_bid128 (_Decimal128 *pres, _Deci
   trailing.w[1] = x.w[1];
   trailing.w[0] = x.w[0];
   if ((comb & 0x1e000) == 0x1e000) {
-    if ((comb & 0x1f000) == 0x1f000) { /* G0..G4 = 11111 -> NaN */
-      if (comb & 0x01000) { /* G5 = 1 -> sNaN */
-        *pres = x;
-      } else { /* G5 = 0 -> qNaN */
-        *pres = x;
-      }
-    } else { /* G0..G4 = 11110 -> INF */
       *pres = x;
-    }
-    return;
-  } else { /* Normal number */
-    if ((comb & 0x18000) == 0x18000) { /* G0..G1 = 11 -> d0 = 8 + G4 */
-      d0 = d2b6[8 + ((comb & 0x01000) >> 12)];
-      exp = (comb & 0x06000) >> 1;  /* exp leading bits are G2..G3 */
-    } else {
-      d0 = d2b6[((comb & 0x07000) >> 12)];
-      exp = (comb & 0x18000) >> 3;  /* exp loading bits are G0..G1 */
-    }
-    d11 = d2b[(trailing.w[0]) & 0x3ff];
-    d10 = d2b2[(trailing.w[0] >> 10) & 0x3ff];
-    d9 = d2b3[(trailing.w[0] >> 20) & 0x3ff];
-    d8 = d2b4[(trailing.w[0] >> 30) & 0x3ff];
-    d7 = d2b5[(trailing.w[0] >> 40) & 0x3ff];
-    d6 = d2b6[(trailing.w[0] >> 50) & 0x3ff];
-    d5 = d2b[(trailing.w[0] >> 60) | ((trailing.w[1] & 0x3f) << 4)];
-    d4 = d2b2[(trailing.w[1] >> 6) & 0x3ff];
-    d3 = d2b3[(trailing.w[1] >> 16) & 0x3ff];
-    d2 = d2b4[(trailing.w[1] >> 26) & 0x3ff];
-    d1 = d2b5[(trailing.w[1] >> 36) & 0x3ff];
-    tl = d11 + d10 + d9 + d8 + d7 + d6;
-    th = d5 + d4 + d3 + d2 + d1 + d0;
-    __mul_64x64_to_128 (bcoeff, th, 1000000000000000000ull);
-    __add_128_64 (bcoeff, bcoeff, tl);
-    exp += (comb & 0xfff);
-    res.w[0] = bcoeff.w[0];
-    res.w[1] = (exp << 49) | sign.w[1] | bcoeff.w[1];
+      return;
+  }
+  if ((comb & 0x18000) == 0x18000) { /* G0..G1 = 11 -> d0 = 8 + G4 */
+    d0 = d2b6[8 + ((comb & 0x01000) >> 12)];
+    exp = (comb & 0x06000) >> 1;  /* exp leading bits are G2..G3 */
+  } else {
+    d0 = d2b6[((comb & 0x07000) >> 12)];
+    exp = (comb & 0x18000) >> 3;  /* exp loading bits are G0..G1 */
   }
+  d11 = d2b[(trailing.w[0]) & 0x3ff];
+  d10 = d2b2[(trailing.w[0] >> 10) & 0x3ff];
+  d9 = d2b3[(trailing.w[0] >> 20) & 0x3ff];
+  d8 = d2b4[(trailing.w[0] >> 30) & 0x3ff];
+  d7 = d2b5[(trailing.w[0] >> 40) & 0x3ff];
+  d6 = d2b6[(trailing.w[0] >> 50) & 0x3ff];
+  d5 = d2b[(trailing.w[0] >> 60) | ((trailing.w[1] & 0x3f) << 4)];
+  d4 = d2b2[(trailing.w[1] >> 6) & 0x3ff];
+  d3 = d2b3[(trailing.w[1] >> 16) & 0x3ff];
+  d2 = d2b4[(trailing.w[1] >> 26) & 0x3ff];
+  d1 = d2b5[(trailing.w[1] >> 36) & 0x3ff];
+  tl = d11 + d10 + d9 + d8 + d7 + d6;
+  th = d5 + d4 + d3 + d2 + d1 + d0;
+  __mul_64x64_to_128 (bcoeff, th, 1000000000000000000ull);
+  __add_128_64 (bcoeff, bcoeff, tl);
+  exp += (comb & 0xfff);
+  res.w[0] = bcoeff.w[0];
+  res.w[1] = (exp << 49) | sign.w[1] | bcoeff.w[1];
   *pres = res;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/bid2dpd_dpd2bid.h ./libdecnumber/bid/bid2dpd_dpd2bid.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/bid2dpd_dpd2bid.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/bid/bid2dpd_dpd2bid.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/bid-dpd.h ./libdecnumber/bid/bid-dpd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/bid-dpd.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/bid/bid-dpd.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/decimal128.c ./libdecnumber/bid/decimal128.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/decimal128.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/bid/decimal128.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/decimal32.c ./libdecnumber/bid/decimal32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/decimal32.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/bid/decimal32.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/decimal64.c ./libdecnumber/bid/decimal64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/decimal64.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/bid/decimal64.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/host-ieee128.c ./libdecnumber/bid/host-ieee128.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/host-ieee128.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/bid/host-ieee128.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* This is a software decimal floating point library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/host-ieee32.c ./libdecnumber/bid/host-ieee32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/host-ieee32.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/bid/host-ieee32.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* This is a software decimal floating point library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/host-ieee64.c ./libdecnumber/bid/host-ieee64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/bid/host-ieee64.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/bid/host-ieee64.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* This is a software decimal floating point library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/ChangeLog ./libdecnumber/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/ChangeLog	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/ChangeLog	2018-07-10 02:06:14.000000000 +0000
@@ -1,3 +1,59 @@
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* configure.ac: Remove AC_PREREQ.
+	* configure: Re-generate.
+	* aclocal.m4.
+
+2018-02-19  Martin Liska  <mliska@suse.cz>
+
+	PR c/81272
+	* decNumber.c (decCompareOp): Do not use bit and
+	for conjunction of predicates.
+
+2018-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	Update copyright years.
+
+2017-05-29  Sylvestre Ledru  <sylvestre@debian.org>
+
+	* bid/bid2dpd_dpd2bid.c (_bid_to_dpd32): Fix whitespace.
+	(_dpd_to_bid32): Simplify identical code on multiple branches.
+	Fix whitespace.
+	(_bid_to_dpd64, _dpd_to_bid64): Likewise.
+	(_bid_to_dpd128, _dpd_to_bid128): Likewise.
+
+2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
+
+	* decCommon.c (decFloatFromPackedChecked): Fix typo in comment.
+	* decNumber.c (decNumberPower, decMultiplyOp): Likewise.
+
+2017-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/79003
+	* Makefile.in (CFLAGS, CPPFLAGS, LDFLAGS): Remove -fno-lto.
+	(NOLTO_FLAGS): New variable.
+	(ALL_CFLAGS): Use it.
+	* configure.ac (nolto_flags): New ACX_PROG_CC_WARNING_OPTS,
+	check for whether -fno-lto works.
+	* configure: Regenerated.
+
+2017-01-06  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/79003
+	* Makefile.in: Add -fno-lto to {C,CPP,LD}FLAGS.
+
+2017-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+	Update copyright years.
+
+2016-11-15  Matthias Klose  <doko@ubuntu.com>
+
+	* configure: Regenerate.
+
+2016-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+	Update copyright years.
+
 2015-07-14  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* configure: Regenerated.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/ChangeLog.jit ./libdecnumber/ChangeLog.jit
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/ChangeLog.jit	1970-01-01 00:00:00.000000000 +0000
+++ ./libdecnumber/ChangeLog.jit	2018-07-10 02:06:14.000000000 +0000
@@ -0,0 +1,22 @@
+2014-09-24  David Malcolm  <dmalcolm@redhat.com>
+
+	* ChangeLog.jit: Add copyright footer.
+
+2013-10-07  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in: Set PICFLAG from configure script; add it to
+	ALL_CFLAGS.
+	* configure.ac (--enable-host-shared): Set up PICFLAG rather
+	than attempting to append -fPIC to CFLAGS, CXXFLAGS, LDFLAGS.
+	* configure: Regenerate.
+
+2013-10-03  David Malcolm  <dmalcolm@redhat.com>
+
+	* configure.ac: Add --enable-host-shared.
+	* configure: Regenerate.
+
+Copyright (C) 2013-2014 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/configure ./libdecnumber/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/configure	2018-07-10 02:06:14.000000000 +0000
@@ -1,12 +1,12 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for libdecnumber  .
+# Generated by GNU Autoconf 2.69 for libdecnumber  .
 #
 # Report bugs to <gcc-bugs@gcc.gnu.org>.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -89,6 +89,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -133,6 +134,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -166,7 +192,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -211,14 +238,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -317,10 +355,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -357,19 +403,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -442,6 +488,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -476,16 +526,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -497,28 +547,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -527,10 +557,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -613,6 +644,7 @@ EGREP
 GREP
 CPP
 WERROR
+nolto_flags
 WARN_PEDANTIC
 WARN_CFLAGS
 AUTOHEADER
@@ -744,8 +776,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -790,7 +823,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -816,7 +849,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1020,7 +1053,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1036,7 +1069,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1066,8 +1099,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1075,7 +1108,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1085,7 +1118,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1093,13 +1126,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1122,7 +1155,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1136,8 +1169,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1152,9 +1183,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1193,11 +1224,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1237,7 +1268,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1311,7 +1342,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1382,9 +1413,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 libdecnumber configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1428,8 +1459,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1454,7 +1485,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1465,8 +1496,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1478,10 +1509,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1517,7 +1548,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1540,17 +1571,15 @@ case $ac_header_compiler:$ac_header_prep
 $as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( cat <<\_ASBOX
-## ----------------------------------- ##
+( $as_echo "## ----------------------------------- ##
 ## Report this to gcc-bugs@gcc.gnu.org ##
-## ----------------------------------- ##
-_ASBOX
+## ----------------------------------- ##"
      ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1559,7 +1588,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1600,8 +1629,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1614,7 +1643,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1632,7 +1661,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1645,7 +1674,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1686,7 +1715,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 
@@ -1707,7 +1736,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1723,7 +1753,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1749,7 +1780,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1765,7 +1797,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1799,7 +1832,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1863,8 +1897,8 @@ rm -f core *.core core.conftest.* gmon.o
 rm -f conftest.val
 
   fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_compute_int
 cat >config.log <<_ACEOF
@@ -1872,7 +1906,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by libdecnumber $as_me  , which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1982,11 +2016,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2020,11 +2052,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2037,11 +2067,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2055,11 +2083,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2114,7 +2140,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2125,18 +2156,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2205,7 +2240,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2225,16 +2260,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in .. "$srcdir"/..; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in .. \"$srcdir\"/.." "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in .. \"$srcdir\"/.." "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -2252,7 +2293,7 @@ ac_configure="$SHELL $ac_aux_dir/configu
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -2260,7 +2301,7 @@ SHELL = /bin/sh
 all:
 	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -2289,7 +2330,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2301,7 +2342,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2329,7 +2370,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2341,7 +2382,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2382,7 +2423,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2394,7 +2435,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2422,7 +2463,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2435,7 +2476,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2481,7 +2522,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2493,7 +2534,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2525,7 +2566,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2537,7 +2578,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2579,8 +2620,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -2601,8 +2642,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -2619,12 +2660,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -2686,62 +2727,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -2771,19 +2778,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2823,8 +2889,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -2834,7 +2900,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2871,7 +2937,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -2949,7 +3015,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -2958,8 +3024,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3049,7 +3114,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -3061,7 +3126,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3089,7 +3154,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -3101,7 +3166,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3144,7 +3209,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ACLOCAL+set}" = set; then :
+if ${ac_cv_prog_ACLOCAL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ACLOCAL"; then
@@ -3156,7 +3221,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ACLOCAL="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3187,7 +3252,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AUTOCONF+set}" = set; then :
+if ${ac_cv_prog_AUTOCONF+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AUTOCONF"; then
@@ -3199,7 +3264,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AUTOCONF="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3230,7 +3295,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AUTOHEADER+set}" = set; then :
+if ${ac_cv_prog_AUTOHEADER+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AUTOHEADER"; then
@@ -3242,7 +3307,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AUTOHEADER="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3293,7 +3358,7 @@ for real_option in -W -Wall -Wwrite-stri
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
 $as_echo_n "checking whether $CC supports $option... " >&6; }
-if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_acx_Woption+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   CFLAGS="$option"
@@ -3343,7 +3408,7 @@ WARN_PEDANTIC=
 if test "$GCC" = yes; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic -Wlong-long" >&5
 $as_echo_n "checking whether $CC supports -pedantic -Wlong-long... " >&6; }
-if test "${acx_cv_prog_cc_pedantic__Wlong_long+set}" = set; then :
+if ${acx_cv_prog_cc_pedantic__Wlong_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   save_CFLAGS="$CFLAGS"
@@ -3382,6 +3447,64 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+nolto_flags=
+save_CFLAGS="$CFLAGS"
+for real_option in -fno-lto; do
+  # Do the check with the no- prefix removed since gcc silently
+  # accepts any -Wno-* option on purpose
+  case $real_option in
+    -Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
+    *) option=$real_option ;;
+  esac
+  as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh`
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
+$as_echo_n "checking whether $CC supports $option... " >&6; }
+if eval \${$as_acx_Woption+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  CFLAGS="$option"
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_acx_Woption=yes"
+else
+  eval "$as_acx_Woption=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+eval ac_res=\$$as_acx_Woption
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then :
+  nolto_flags="$nolto_flags${nolto_flags:+ }$real_option"
+fi
+  done
+CFLAGS="$save_CFLAGS"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
 # Only enable with --enable-werror-always until existing warnings are
 # corrected.
 ac_ext=c
@@ -3423,7 +3546,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -3453,7 +3576,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3469,11 +3592,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -3512,7 +3635,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3528,18 +3651,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -3551,7 +3674,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -3565,7 +3688,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -3600,7 +3723,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -3614,7 +3737,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -3631,7 +3754,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -3666,7 +3789,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -3681,7 +3804,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3798,8 +3921,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -3813,8 +3935,7 @@ for ac_header in ctype.h stddef.h string
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -3839,7 +3960,7 @@ for i in stdint.h $inttype_headers; do
   ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uintmax_t" = x""yes; then :
+if test "x$ac_cv_type_uintmax_t" = xyes; then :
   acx_cv_header_stdint=$i
 else
   continue
@@ -3848,7 +3969,7 @@ fi
   ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uintptr_t" = x""yes; then :
+if test "x$ac_cv_type_uintptr_t" = xyes; then :
 
 else
   acx_cv_header_stdint_kind="(mostly complete)"
@@ -3857,7 +3978,7 @@ fi
   ac_fn_c_check_type "$LINENO" "int_least32_t" "ac_cv_type_int_least32_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_int_least32_t" = x""yes; then :
+if test "x$ac_cv_type_int_least32_t" = xyes; then :
 
 else
   acx_cv_header_stdint_kind="(mostly complete)"
@@ -3866,7 +3987,7 @@ fi
   ac_fn_c_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_int_fast32_t" = x""yes; then :
+if test "x$ac_cv_type_int_fast32_t" = xyes; then :
 
 else
   acx_cv_header_stdint_kind="(mostly complete)"
@@ -3875,7 +3996,7 @@ fi
   ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uint64_t" = x""yes; then :
+if test "x$ac_cv_type_uint64_t" = xyes; then :
 
 else
   acx_cv_header_stdint_kind="(lacks uint64_t)"
@@ -3893,7 +4014,7 @@ if test "$acx_cv_header_stdint" = stddef
     ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uint32_t" = x""yes; then :
+if test "x$ac_cv_type_uint32_t" = xyes; then :
   acx_cv_header_stdint=$i
 else
   continue
@@ -3902,14 +4023,14 @@ fi
     ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uint64_t" = x""yes; then :
+if test "x$ac_cv_type_uint64_t" = xyes; then :
 
 fi
 
     ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_uintptr_t" = x""yes; then :
+if test "x$ac_cv_type_uintptr_t" = xyes; then :
 
 fi
 
@@ -3925,7 +4046,7 @@ if test "$acx_cv_header_stdint" = stddef
     ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_u_int32_t" = x""yes; then :
+if test "x$ac_cv_type_u_int32_t" = xyes; then :
   acx_cv_header_stdint=$i
 else
   continue
@@ -3934,7 +4055,7 @@ fi
     ac_fn_c_check_type "$LINENO" "u_int64_t" "ac_cv_type_u_int64_t" "#include <sys/types.h>
 #include <$i>
 "
-if test "x$ac_cv_type_u_int64_t" = x""yes; then :
+if test "x$ac_cv_type_u_int64_t" = xyes; then :
 
 fi
 
@@ -3994,7 +4115,7 @@ case "$acx_cv_header_stdint:$ac_cv_type_
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
 $as_echo_n "checking size of void *... " >&6; }
-if test "${ac_cv_sizeof_void_p+set}" = set; then :
+if ${ac_cv_sizeof_void_p+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p"        "$ac_includes_default"; then :
@@ -4003,9 +4124,8 @@ else
   if test "$ac_cv_type_void_p" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (void *)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (void *)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_void_p=0
    fi
@@ -4032,7 +4152,7 @@ case "$acx_cv_header_stdint:$ac_cv_type_
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
 $as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
@@ -4041,9 +4161,8 @@ else
   if test "$ac_cv_type_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long=0
    fi
@@ -4070,7 +4189,7 @@ if test $acx_cv_header_stdint = stddef.h
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
 $as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then :
+if ${ac_cv_sizeof_int+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
@@ -4079,9 +4198,8 @@ else
   if test "$ac_cv_type_int" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (int)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_int=0
    fi
@@ -4104,7 +4222,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
 $as_echo_n "checking size of short... " >&6; }
-if test "${ac_cv_sizeof_short+set}" = set; then :
+if ${ac_cv_sizeof_short+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short"        "$ac_includes_default"; then :
@@ -4113,9 +4231,8 @@ else
   if test "$ac_cv_type_short" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (short)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (short)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_short=0
    fi
@@ -4138,7 +4255,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5
 $as_echo_n "checking size of char... " >&6; }
-if test "${ac_cv_sizeof_char+set}" = set; then :
+if ${ac_cv_sizeof_char+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char"        "$ac_includes_default"; then :
@@ -4147,9 +4264,8 @@ else
   if test "$ac_cv_type_char" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (char)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (char)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_char=0
    fi
@@ -4171,7 +4287,7 @@ _ACEOF
 $as_echo_n "checking for type equivalent to int8_t... " >&6; }
   case "$ac_cv_sizeof_char" in
     1) acx_cv_type_int8_t=char ;;
-    *) as_fn_error "no 8-bit type, please report a bug" "$LINENO" 5
+    *) as_fn_error $? "no 8-bit type, please report a bug" "$LINENO" 5
   esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int8_t" >&5
 $as_echo "$acx_cv_type_int8_t" >&6; }
@@ -4181,7 +4297,7 @@ _ACEOF
   case "$ac_cv_sizeof_int:$ac_cv_sizeof_short" in
     2:*) acx_cv_type_int16_t=int ;;
     *:2) acx_cv_type_int16_t=short ;;
-    *) as_fn_error "no 16-bit type, please report a bug" "$LINENO" 5
+    *) as_fn_error $? "no 16-bit type, please report a bug" "$LINENO" 5
   esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int16_t" >&5
 $as_echo "$acx_cv_type_int16_t" >&6; }
@@ -4191,7 +4307,7 @@ _ACEOF
   case "$ac_cv_sizeof_int:$ac_cv_sizeof_long" in
     4:*) acx_cv_type_int32_t=int ;;
     *:4) acx_cv_type_int32_t=long ;;
-    *) as_fn_error "no 32-bit type, please report a bug" "$LINENO" 5
+    *) as_fn_error $? "no 32-bit type, please report a bug" "$LINENO" 5
   esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int32_t" >&5
 $as_echo "$acx_cv_type_int32_t" >&6; }
@@ -4218,7 +4334,7 @@ if test "$ac_cv_type_uintptr_t" != yes; 
     2) acx_cv_type_intptr_t=int16_t ;;
     4) acx_cv_type_intptr_t=int32_t ;;
     8) acx_cv_type_intptr_t=int64_t ;;
-    *) as_fn_error "no equivalent for intptr_t, please report a bug" "$LINENO" 5
+    *) as_fn_error $? "no equivalent for intptr_t, please report a bug" "$LINENO" 5
   esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_intptr_t" >&5
 $as_echo "$acx_cv_type_intptr_t" >&6; }
@@ -4233,7 +4349,7 @@ ac_config_commands="$ac_config_commands 
 # Checks for typedefs, structures, and compiler characteristics.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
+if ${ac_cv_c_const+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4242,11 +4358,11 @@ else
 int
 main ()
 {
-/* FIXME: Include the comments suggested by Paul. */
+
 #ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
+  /* Ultrix mips cc rejects this sort of thing.  */
   typedef int charset[2];
-  const charset cs;
+  const charset cs = { 0, 0 };
   /* SunOS 4.1.1 cc rejects this.  */
   char const *const *pcpcc;
   char **ppc;
@@ -4263,8 +4379,9 @@ main ()
   ++pcpcc;
   ppc = (char**) pcpcc;
   pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
+  { /* SCO 3.2v4 cc rejects this sort of thing.  */
+    char tx;
+    char *t = &tx;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
 
     *t++ = 0;
@@ -4280,10 +4397,10 @@ main ()
     iptr p = 0;
     ++p;
   }
-  { /* AIX XL C 1.02.0.0 rejects this saying
+  { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
        "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
+    struct s { int j; const int *ap[3]; } bx;
+    struct s *b = &bx; b->j = 5;
   }
   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     const int foo = 10;
@@ -4312,7 +4429,7 @@ if test $ac_cv_c_const = no; then
 fi
 
 ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-if test "x$ac_cv_type_off_t" = x""yes; then :
+if test "x$ac_cv_type_off_t" = xyes; then :
 
 else
 
@@ -4328,7 +4445,7 @@ fi
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
 $as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then :
+if ${ac_cv_sizeof_int+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
@@ -4337,9 +4454,8 @@ else
   if test "$ac_cv_type_int" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (int)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_int=0
    fi
@@ -4362,7 +4478,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
 $as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
@@ -4371,9 +4487,8 @@ else
   if test "$ac_cv_type_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long=0
    fi
@@ -4394,7 +4509,7 @@ _ACEOF
 # Checks for library functions.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4522,27 +4637,27 @@ fi
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4560,14 +4675,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4575,7 +4690,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -4593,14 +4708,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4608,7 +4723,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -4642,7 +4757,7 @@ if test "${enable_decimal_float+set}" = 
   enableval=$enable_decimal_float;
   case $enable_decimal_float in
     yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
-    *) as_fn_error "'$enable_decimal_float' is an invalid value for --enable-decimal-float.
+    *) as_fn_error $? "'$enable_decimal_float' is an invalid value for --enable-decimal-float.
 Valid choices are 'yes', 'bid', 'dpd', and 'no'." "$LINENO" 5 ;;
   esac
 
@@ -4705,7 +4820,7 @@ fi
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -4923,7 +5038,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -5008,10 +5123,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -5027,6 +5153,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -5043,7 +5170,7 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -5144,6 +5271,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5189,19 +5317,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -5339,16 +5467,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -5397,7 +5525,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -5408,28 +5536,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -5451,7 +5567,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by libdecnumber $as_me  , which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -5491,6 +5607,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -5513,12 +5630,13 @@ Report bugs to <gcc-bugs@gcc.gnu.org>."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 libdecnumber config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -5533,11 +5651,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -5551,12 +5674,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -5569,7 +5695,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -5578,7 +5704,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -5598,7 +5724,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -5653,7 +5779,7 @@ do
     "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -5676,9 +5802,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -5686,12 +5813,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -5708,12 +5836,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -5722,18 +5850,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -5741,7 +5869,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -5755,7 +5883,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -5769,7 +5897,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -5789,7 +5917,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -5821,21 +5949,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -5847,7 +5983,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -5859,11 +5995,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -5948,7 +6084,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -5961,7 +6097,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -5980,7 +6116,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -5989,7 +6125,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -6015,8 +6151,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -6141,23 +6277,24 @@ s&@abs_builddir@&$ac_abs_builddir&;t t
 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -6166,21 +6303,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -6574,7 +6711,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -6595,7 +6732,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/configure.ac ./libdecnumber/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/configure.ac	2018-07-10 02:06:14.000000000 +0000
@@ -1,7 +1,7 @@
 # configure.ac for libdecnumber			-*- Autoconf -*-
 # Process this file with autoconf to generate a configuration script.
 
-# Copyright (C) 2005-2013 Free Software Foundation, Inc.
+# Copyright (C) 2005-2018 Free Software Foundation, Inc.
 
 # This file is part of GCC.
 
@@ -19,7 +19,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-AC_PREREQ(2.64)
 AC_INIT(libdecnumber, [ ], gcc-bugs@gcc.gnu.org, libdecnumber)
 AC_CONFIG_SRCDIR(decNumber.h)
 AC_CONFIG_MACRO_DIR(../config)
@@ -43,6 +42,8 @@ ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwri
 			  -Wmissing-format-attribute -Wcast-qual])
 ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long])
 
+ACX_PROG_CC_WARNING_OPTS([-fno-lto], [nolto_flags])
+
 # Only enable with --enable-werror-always until existing warnings are
 # corrected.
 ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dconfig.h ./libdecnumber/dconfig.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dconfig.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/dconfig.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Configure decNumber for either host or target.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2018 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decBasic.c ./libdecnumber/decBasic.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decBasic.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decBasic.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Common base code for the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decCommon.c ./libdecnumber/decCommon.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decCommon.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decCommon.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Common code for fixed-size types in the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
@@ -713,7 +713,7 @@ decFloat * decFloatFromPacked(decFloat *
 /*  returns df, which will be canonical or NULL if any of the	      */
 /*    requirements are not met (if this case df is unchanged); that   */
 /*    is, the input data must be as returned by decFloatToPacked,     */
-/*    except that all six sign codes are acccepted.		      */
+/*    except that all six sign codes are accepted.		      */
 /*								      */
 /* No status will be set.					      */
 /* ------------------------------------------------------------------ */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decContext.c ./libdecnumber/decContext.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decContext.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decContext.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Decimal context module for the decNumber C Library.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decContext.h ./libdecnumber/decContext.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decContext.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decContext.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Decimal context header module for the decNumber C Library.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decDouble.c ./libdecnumber/decDouble.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decDouble.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decDouble.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* decDouble module for the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decDouble.h ./libdecnumber/decDouble.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decDouble.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decDouble.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* decDouble module header for the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decDPD.h ./libdecnumber/decDPD.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decDPD.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decDPD.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Conversion lookup tables for the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decExcept.c ./libdecnumber/decExcept.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decExcept.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decExcept.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Temporary library support for decimal floating point.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decExcept.h ./libdecnumber/decExcept.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decExcept.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decExcept.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Temporary library support for decimal floating point.
-   Copyright (C) 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2018 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decLibrary.c ./libdecnumber/decLibrary.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decLibrary.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decLibrary.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Temporary library support for decimal floating point.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decNumber.c ./libdecnumber/decNumber.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decNumber.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decNumber.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Decimal number arithmetic module for the decNumber C Library.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
@@ -2171,7 +2171,7 @@ decNumber * decNumberPower(decNumber *re
       /* if a negative power the constant 1 is needed, and if not subset */
       /* invert the lhs now rather than inverting the result later */
       if (decNumberIsNegative(rhs)) {	/* was a **-n [hence digits>0] */
-	decNumber *inv=invbuff; 	/* asssume use fixed buffer */
+	decNumber *inv=invbuff; 	/* assume use fixed buffer */
 	decNumberCopy(&dnOne, dac);	/* dnOne=1;  [needed now or later] */
 	#if DECSUBSET
 	if (set->extended) {		/* need to calculate 1/lhs */
@@ -5197,7 +5197,7 @@ static decNumber * decMultiplyOp(decNumb
 /*    exp(-x) where x can be the tiniest number (Ntiny).	      */
 /*								      */
 /* 2. Normalizing x to be <=0.1 (instead of <=1) reduces loop	      */
-/*    iterations by appoximately a third with additional (although    */
+/*    iterations by approximately a third with additional (although    */
 /*    diminishing) returns as the range is reduced to even smaller    */
 /*    fractions.  However, h (the power of 10 used to correct the     */
 /*    result at the end, see below) must be kept <=8 as otherwise     */
@@ -6029,11 +6029,11 @@ decNumber * decCompareOp(decNumber *res,
 
     /* If total ordering then handle differing signs 'up front' */
     if (op==COMPTOTAL) {		/* total ordering */
-      if (decNumberIsNegative(lhs) & !decNumberIsNegative(rhs)) {
+      if (decNumberIsNegative(lhs) && !decNumberIsNegative(rhs)) {
 	result=-1;
 	break;
 	}
-      if (!decNumberIsNegative(lhs) & decNumberIsNegative(rhs)) {
+      if (!decNumberIsNegative(lhs) && decNumberIsNegative(rhs)) {
 	result=+1;
 	break;
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decNumber.h ./libdecnumber/decNumber.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decNumber.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decNumber.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Decimal number arithmetic module header for the decNumber C Library.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decNumberLocal.h ./libdecnumber/decNumberLocal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decNumberLocal.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decNumberLocal.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Local definitions for the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decPacked.c ./libdecnumber/decPacked.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decPacked.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decPacked.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Packed decimal conversion module for the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decPacked.h ./libdecnumber/decPacked.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decPacked.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decPacked.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Packed decimal conversion module header for the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decQuad.c ./libdecnumber/decQuad.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decQuad.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decQuad.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* decQuad module for the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decQuad.h ./libdecnumber/decQuad.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decQuad.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decQuad.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* decQuad module header for the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decRound.c ./libdecnumber/decRound.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decRound.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decRound.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Internal testing support for rounding for decimal float.
 
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decRound.h ./libdecnumber/decRound.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decRound.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decRound.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Internal testing support for rounding for decimal float.
 
-   Copyright (C) 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2018 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decSingle.c ./libdecnumber/decSingle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decSingle.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decSingle.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* decSingle module for the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decSingle.h ./libdecnumber/decSingle.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/decSingle.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/decSingle.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* decSingle module header for the decNumber C Library.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal128.c ./libdecnumber/dpd/decimal128.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal128.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/dpd/decimal128.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Decimal 128-bit format module for the decNumber C Library.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal128.h ./libdecnumber/dpd/decimal128.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal128.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/dpd/decimal128.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Decimal 128-bit format module header for the decNumber C Library.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal128Local.h ./libdecnumber/dpd/decimal128Local.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal128Local.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/dpd/decimal128Local.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Local definitions for use with the decNumber C Library.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal32.c ./libdecnumber/dpd/decimal32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal32.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/dpd/decimal32.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Decimal 32-bit format module for the decNumber C Library.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal32.h ./libdecnumber/dpd/decimal32.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal32.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/dpd/decimal32.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Decimal 32-bit format module header for the decNumber C Library.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal64.c ./libdecnumber/dpd/decimal64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal64.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/dpd/decimal64.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Decimal 64-bit format module for the decNumber C Library.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal64.h ./libdecnumber/dpd/decimal64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/dpd/decimal64.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/dpd/decimal64.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Decimal 64-bit format module header for the decNumber C Library.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Contributed by IBM Corporation.  Author Mike Cowlishaw.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/Makefile.in ./libdecnumber/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libdecnumber/Makefile.in	2018-07-03 02:06:30.000000000 +0000
+++ ./libdecnumber/Makefile.in	2018-07-10 02:06:14.000000000 +0000
@@ -1,7 +1,7 @@
 # @configure_input@
 # Makefile for libdecnumber.  Run 'configure' to generate Makefile from Makefile.in
 
-# Copyright (C) 2005-2013 Free Software Foundation, Inc.
+# Copyright (C) 2005-2018 Free Software Foundation, Inc.
 
 #This file is part of GCC.
 
@@ -44,6 +44,7 @@ PICFLAG = @PICFLAG@
 RANLIB = @RANLIB@
 SHELL = @SHELL@
 objext = @OBJEXT@
+NOLTO_FLAGS = @nolto_flags@
 
 datarootdir = @datarootdir@
 datadir = @datadir@
@@ -58,7 +59,8 @@ enable_decimal_float= @enable_decimal_fl
 
 INCLUDES = -I$(srcdir) -I.
 
-ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS) $(PICFLAG)
+ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(NOLTO_FLAGS) $(INCLUDES) $(CPPFLAGS) \
+	     $(PICFLAG)
 
 bid_OBJS = bid2dpd_dpd2bid.$(objext) host-ieee32.$(objext) \
 	host-ieee64.$(objext) host-ieee128.$(objext)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/argv.c ./libiberty/argv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/argv.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/argv.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Create and destroy argument vectors (argv's)
-   Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   Copyright (C) 1992-2018 Free Software Foundation, Inc.
    Written by Fred Fish @ Cygnus Support
 
 This file is part of the libiberty library.
@@ -367,8 +367,8 @@ expandargv (int *argcp, char ***argvp)
 {
   /* The argument we are currently processing.  */
   int i = 0;
-  /* Non-zero if ***argvp has been dynamically allocated.  */
-  int argv_dynamic = 0;
+  /* To check if ***argvp has been dynamically allocated.  */
+  char ** const original_argv = *argvp;
   /* Limit the number of response files that we parse in order
      to prevent infinite recursion.  */
   unsigned int iteration_limit = 2000;
@@ -449,12 +449,14 @@ expandargv (int *argcp, char ***argvp)
 	/* Parse the string.  */
 	file_argv = buildargv (buffer);
       /* If *ARGVP is not already dynamically allocated, copy it.  */
-      if (!argv_dynamic)
+      if (*argvp == original_argv)
 	*argvp = dupargv (*argvp);
       /* Count the number of arguments.  */
       file_argc = 0;
       while (file_argv[file_argc])
 	++file_argc;
+      /* Free the original option's memory.  */
+      free ((*argvp)[i]);
       /* Now, insert FILE_ARGV into ARGV.  The "+1" below handles the
 	 NULL terminator at the end of ARGV.  */ 
       *argvp = ((char **) 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/asprintf.c ./libiberty/asprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/asprintf.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/asprintf.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Like sprintf but provides a pointer to malloc'd storage, which must
    be freed by the caller.
-   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997-2018 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/ChangeLog ./libiberty/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/ChangeLog	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/ChangeLog	2018-07-10 02:06:14.000000000 +0000
@@ -1,8 +1,130 @@
-2018-01-27  Eli Zaretskii  <eliz@gnu.org>
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
 
-	* simple-object-xcoff.c (simple_object_xcoff_find_sections): Avoid
-	compilation warning in 32-bit builds not supported by
-	AC_SYS_LARGEFILE.
+	* configure.ac: Remove AC_PREREQ.
+	* configure: Re-generate.
+	* config.in: Re-generate.
+
+2018-05-30  Jan Hubicka  <hubicka@ucw.cz>
+
+	* simple-object.c (handle_lto_debug_sections): Add rename parameter.
+	(handle_lto_debug_sections_rename): New function.
+	(handle_lto_debug_sections_norename): New function.
+	(simple_object_copy_lto_debug_sections): Add rename parameter.
+
+2018-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* splay-tree.c (splay_tree_compare_strings,
+	splay_tree_delete_pointers): New utility functions.
+
+2018-05-10  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/64914
+	* md5.c: Use strict alignment with UBSAN_BOOTSTRAP.
+
+2018-04-30  Daniel van Gerpen  <daniel@vangerpen.de>
+
+	* argv.c (expandargv): Fix memory leak for copied argv.
+
+2018-04-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	PR lto/81968
+	* simple-object.c (handle_lto_debug_sections): Keep .comment
+	section.
+
+2018-03-02  David Malcolm  <dmalcolm@redhat.com>
+
+	* cp-demangle.c: Update URL for g++ V3 ABI.
+
+2018-01-20  Eli Zaretskii  <eliz@gnu.org>
+
+	* simple-object-xcoff.c (simple_object_xcoff_find_sections): Use
+	ulong_type to avoid warning about 32-bit shift.
+
+2018-01-11  Richard Biener  <rguenther@suse.de>
+	Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	PR lto/81968
+	* simple-object-common.h (struct simple_object_functions):
+	Change copy_lto_debug_sections callback signature.
+	* simple-object-elf.c (SHN_HIRESERVE, SHT_SYMTAB_SHNDX,
+	SHF_INFO_LINK): Add defines.
+	(simple_object_elf_copy_lto_debug_sections): Instead of
+	leaving not to be copied sections empty unnamed SHT_NULL
+	remove them from the target section headers and adjust section
+	reference everywhere.  Handle SHN_XINDEX in the symbol table
+	processing properly.
+	* simple-object.c (handle_lto_debug_sections): Change
+	interface to return a modified string and handle renaming
+	of relocation sections.
+
+2018-01-10  Daniel van Gerpen  <daniel@vangerpen.de>
+
+	* argv.c (expandargv): Correct check for dynamically
+	allocated argv.
+
+2018-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	Update copyright years.
+
+2017-01-02  Richard Biener  <rguenther@suse.de>
+
+	PR lto/83452
+	* simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
+	Do not use UNDEF locals for removed symbols but instead just
+	define them in the first prevailing section and with no name.
+	Use the same gnu_lto_v1 name for all removed globals we promote to
+	WEAK UNDEFs so hpux can use a stub to provide this symbol.  Clear
+	sh_info and sh_link in removed sections.
+
+2017-10-30  Richard Biener  <rguenther@suse.de>
+
+	PR lto/82757
+	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+	Strip two leading _s from the __gnu_lto_* symbols.
+
+2017-10-24  Alan Modra  <amodra@gmail.com>
+
+	PR lto/82687
+	PR lto/82575
+	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+	Only make __gnu_lto symbols hidden.
+
+2017-10-20  Alan Modra  <amodra@gmail.com>
+
+	PR lto/82575
+	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+	Make discarded non-local symbols weak and hidden.
+
+2017-10-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR lto/82598
+	* simple-object.c (handle_lto_debug_sections): Copy over also
+	.note.GNU-stack section with unchanged name.
+	* simple-object-elf.c (SHF_EXECINSTR): Define.
+	(simple_object_elf_copy_lto_debug_section): Drop SHF_EXECINSTR bit
+	on .note.GNU-stack section.
+
+2017-09-25  Nathan Sidwell  <nathan@acm.org>
+
+	PR demangler/82195
+	* cp-demangle.c (d_encoding): Strip return type when name is a
+	LOCAL_NAME.
+	(d_local_name): Strip return type of enclosing TYPED_NAME.
+	* testsuite/demangle-expected: Add and adjust tests.
+
+2017-09-21  Nathan Sidwell  <nathan@acm.org>
+
+	PR demangler/82195
+	* cp-demangle.c (d_name): Revert addition of 'toplevel' parm.
+	(has_return_type): Recurse for DEMANGLE_COMPONENT_LOCAL_NAME.
+	(d_encoding): Revert d_name change.  Use is_fnqual_component_type
+	to strip modifiers that do not belong.
+	(d_special_name, d_class_enum_type): Revert d_name call change.
+	(d_expresion_1): Commonize DEMANGLE_COMPONENT_UNARY building.
+	(d_local_name): Revert parsing of a function type.
+	(d_print_comp_inner): An inner LOCAL_NAME might contain a
+	TEMPLATE.
+	* testsuite/demangle-expected: Add & adjust tests
 
 2017-09-15  Nathan Sidwell  <nathan@acm.org>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/choose-temp.c ./libiberty/choose-temp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/choose-temp.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/choose-temp.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Utility to pick a temporary filename prefix.
-   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/clock.c ./libiberty/clock.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/clock.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/clock.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* ANSI-compatible clock function.
-   Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.  This library is free
 software; you can redistribute it and/or modify it under the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/concat.c ./libiberty/concat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/concat.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/concat.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Concatenate variable number of strings.
-   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   Copyright (C) 1991-2018 Free Software Foundation, Inc.
    Written by Fred Fish @ Cygnus Support
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/config.in ./libiberty/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/config.in	2018-07-10 02:06:14.000000000 +0000
@@ -526,6 +526,11 @@
 # endif
 #endif
 
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/configure ./libiberty/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/configure	2018-07-10 02:06:14.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -209,14 +236,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -314,10 +352,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -354,19 +400,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -439,6 +485,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -473,16 +523,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -494,28 +544,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -524,10 +554,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -588,6 +619,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
+ac_header_list=
 ac_subst_vars='LTLIBOBJS
 INSTALL_DEST
 pexecute
@@ -750,8 +782,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -796,7 +829,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -822,7 +855,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1026,7 +1059,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1042,7 +1075,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1072,8 +1105,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1081,7 +1114,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1091,7 +1124,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1099,13 +1132,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1128,7 +1161,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1142,8 +1175,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1158,9 +1189,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1199,11 +1230,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1243,7 +1274,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1321,7 +1352,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1392,9 +1423,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1438,8 +1469,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1464,7 +1495,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1475,8 +1506,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1488,10 +1519,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1527,7 +1558,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1554,7 +1585,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1563,7 +1594,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1604,8 +1635,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1618,7 +1649,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1636,7 +1667,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1648,7 +1679,7 @@ ac_fn_c_check_header_preproc ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1660,12 +1691,12 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   eval "$3=no"
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_preproc
 
@@ -1686,7 +1717,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1702,7 +1734,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1728,7 +1761,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1744,7 +1778,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1778,7 +1813,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -1842,8 +1878,8 @@ rm -f core *.core core.conftest.* gmon.o
 rm -f conftest.val
 
   fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_compute_int
 
@@ -1856,7 +1892,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1897,7 +1933,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 
@@ -1928,7 +1964,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1942,8 +1978,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1955,11 +1991,11 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test x$gcc_no_link = xyes; then
-  as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
+  as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
 fi
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -2013,13 +2049,14 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
 ac_fn_c_check_decl ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
@@ -2027,7 +2064,7 @@ ac_fn_c_check_decl ()
   as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
 $as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2058,7 +2095,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_decl
 cat >config.log <<_ACEOF
@@ -2066,7 +2103,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2176,11 +2213,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2214,11 +2249,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2231,11 +2264,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2249,11 +2280,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2308,7 +2337,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2319,18 +2353,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2344,6 +2382,9 @@ else
   >$cache_file
 fi
 
+as_fn_append ac_header_list " stdlib.h"
+as_fn_append ac_header_list " unistd.h"
+as_fn_append ac_header_list " sys/param.h"
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
@@ -2399,7 +2440,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2467,16 +2508,22 @@ fi
 
 ac_aux_dir=
 for ac_dir in $libiberty_topdir "$srcdir"/$libiberty_topdir; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in $libiberty_topdir \"$srcdir\"/$libiberty_topdir" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libiberty_topdir \"$srcdir\"/$libiberty_topdir" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -2517,7 +2564,7 @@ fi
 set dummy makeinfo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKEINFO+set}" = set; then :
+if ${ac_cv_prog_MAKEINFO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKEINFO"; then
@@ -2529,7 +2576,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKEINFO="makeinfo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2584,7 +2631,7 @@ fi
 set dummy perl; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_PERL+set}" = set; then :
+if ${ac_cv_prog_PERL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$PERL"; then
@@ -2596,7 +2643,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_PERL="perl"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2626,27 +2673,27 @@ fi
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -2664,14 +2711,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2679,7 +2726,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -2702,7 +2749,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -2714,7 +2761,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2742,7 +2789,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -2754,7 +2801,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2794,7 +2841,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -2806,7 +2853,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2834,7 +2881,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -2846,7 +2893,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2889,7 +2936,7 @@ if test "${enable_multilib+set}" = set; 
   enableval=$enable_multilib; case "$enableval" in
   yes) multilib=yes ;;
   no)  multilib=no ;;
-  *)   as_fn_error "bad value $enableval for multilib option" "$LINENO" 5 ;;
+  *)   as_fn_error $? "bad value $enableval for multilib option" "$LINENO" 5 ;;
  esac
 else
   multilib=yes
@@ -2943,7 +2990,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2955,7 +3002,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2983,7 +3030,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2995,7 +3042,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3036,7 +3083,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3048,7 +3095,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3076,7 +3123,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3089,7 +3136,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -3135,7 +3182,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3147,7 +3194,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3179,7 +3226,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -3191,7 +3238,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3233,8 +3280,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3255,8 +3302,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -3301,12 +3348,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -3368,62 +3415,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -3453,20 +3466,79 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3506,8 +3578,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -3517,7 +3589,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3554,7 +3626,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3632,7 +3704,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -3641,8 +3713,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3740,7 +3811,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -3770,7 +3841,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3786,11 +3857,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -3829,7 +3900,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3845,18 +3916,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -3868,7 +3939,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -3882,7 +3953,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -3917,7 +3988,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -3931,7 +4002,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -3948,7 +4019,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -3983,7 +4054,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -3998,7 +4069,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4115,8 +4186,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -4128,7 +4198,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -4150,14 +4220,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -4197,7 +4267,7 @@ if test "$enable_largefile" != no; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
 $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+if ${ac_cv_sys_largefile_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_sys_largefile_CC=no
@@ -4248,7 +4318,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+if ${ac_cv_sys_file_offset_bits+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -4317,7 +4387,7 @@ rm -rf conftest*
   if test $ac_cv_sys_file_offset_bits = unknown; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
+if ${ac_cv_sys_large_files+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -4384,6 +4454,8 @@ _ACEOF
 esac
 rm -rf conftest*
   fi
+
+
 fi
 
 
@@ -4410,7 +4482,7 @@ for real_option in -W -Wall -Wwrite-stri
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
 $as_echo_n "checking whether $CC supports $option... " >&6; }
-if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_acx_Woption+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   CFLAGS="$option"
@@ -4459,7 +4531,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test "$GCC" = yes; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic " >&5
 $as_echo_n "checking whether $CC supports -pedantic ... " >&6; }
-if test "${acx_cv_prog_cc_pedantic_+set}" = set; then :
+if ${acx_cv_prog_cc_pedantic_+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   save_CFLAGS="$CFLAGS"
@@ -4507,7 +4579,7 @@ else
 fi
 set dummy $CC; ac_cc=`$as_echo "$2" |
 		      sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4620,7 +4692,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
+if ${ac_cv_c_const+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4629,11 +4701,11 @@ else
 int
 main ()
 {
-/* FIXME: Include the comments suggested by Paul. */
+
 #ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
+  /* Ultrix mips cc rejects this sort of thing.  */
   typedef int charset[2];
-  const charset cs;
+  const charset cs = { 0, 0 };
   /* SunOS 4.1.1 cc rejects this.  */
   char const *const *pcpcc;
   char **ppc;
@@ -4650,8 +4722,9 @@ main ()
   ++pcpcc;
   ppc = (char**) pcpcc;
   pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
+  { /* SCO 3.2v4 cc rejects this sort of thing.  */
+    char tx;
+    char *t = &tx;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
 
     *t++ = 0;
@@ -4667,10 +4740,10 @@ main ()
     iptr p = 0;
     ++p;
   }
-  { /* AIX XL C 1.02.0.0 rejects this saying
+  { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
        "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
+    struct s { int j; const int *ap[3]; } bx;
+    struct s *b = &bx; b->j = 5;
   }
   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     const int foo = 10;
@@ -4700,7 +4773,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
 $as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then :
+if ${ac_cv_c_inline+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_inline=no
@@ -4742,7 +4815,7 @@ esac
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -4960,7 +5033,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -4988,7 +5061,7 @@ ac_config_headers="$ac_config_headers co
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5008,7 +5081,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5219,8 +5292,7 @@ for ac_header in sys/file.h sys/param.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_preproc "$LINENO" "$ac_header" "$as_ac_Header"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5230,7 +5302,7 @@ done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
-if test "${ac_cv_header_sys_wait_h+set}" = set; then :
+if ${ac_cv_header_sys_wait_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5271,7 +5343,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if test "${ac_cv_header_time+set}" = set; then :
+if ${ac_cv_header_time+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5307,7 +5379,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether errno must be declared" >&5
 $as_echo_n "checking whether errno must be declared... " >&6; }
-if test "${libiberty_cv_declare_errno+set}" = set; then :
+if ${libiberty_cv_declare_errno+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5344,7 +5416,7 @@ fi
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
 $as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then :
+if ${ac_cv_sizeof_int+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
@@ -5353,9 +5425,8 @@ else
   if test "$ac_cv_type_int" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (int)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_int=0
    fi
@@ -5378,7 +5449,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
 $as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
@@ -5387,9 +5458,8 @@ else
   if test "$ac_cv_type_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long=0
    fi
@@ -5412,7 +5482,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
 $as_echo_n "checking size of size_t... " >&6; }
-if test "${ac_cv_sizeof_size_t+set}" = set; then :
+if ${ac_cv_sizeof_size_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t"        "$ac_includes_default"; then :
@@ -5421,9 +5491,8 @@ else
   if test "$ac_cv_type_size_t" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (size_t)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (size_t)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_size_t=0
    fi
@@ -5443,7 +5512,7 @@ _ACEOF
 
 # Check for presense of long long
 ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
-if test "x$ac_cv_type_long_long" = x""yes; then :
+if test "x$ac_cv_type_long_long" = xyes; then :
 
 $as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h
  # The cast to long int works around a bug in the HP C Compiler
@@ -5452,7 +5521,7 @@ if test "x$ac_cv_type_long_long" = x""ye
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
 $as_echo_n "checking size of long long... " >&6; }
-if test "${ac_cv_sizeof_long_long+set}" = set; then :
+if ${ac_cv_sizeof_long_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"; then :
@@ -5461,9 +5530,8 @@ else
   if test "$ac_cv_type_long_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long_long=0
    fi
@@ -5486,7 +5554,7 @@ fi
 # Look for a 64-bit type.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a 64-bit type" >&5
 $as_echo_n "checking for a 64-bit type... " >&6; }
-if test "${liberty_cv_uint64+set}" = set; then :
+if ${liberty_cv_uint64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5564,7 +5632,7 @@ fi
 
 
   ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default"
-if test "x$ac_cv_type_intptr_t" = x""yes; then :
+if test "x$ac_cv_type_intptr_t" = xyes; then :
 
 $as_echo "#define HAVE_INTPTR_T 1" >>confdefs.h
 
@@ -5577,7 +5645,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -5599,7 +5668,7 @@ fi
 
 
   ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
-if test "x$ac_cv_type_uintptr_t" = x""yes; then :
+if test "x$ac_cv_type_uintptr_t" = xyes; then :
 
 $as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h
 
@@ -5613,7 +5682,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -5634,7 +5704,7 @@ fi
 
 
 ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default"
-if test "x$ac_cv_type_ssize_t" = x""yes; then :
+if test "x$ac_cv_type_ssize_t" = xyes; then :
 
 else
 
@@ -5653,7 +5723,7 @@ fi
 
 
 ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = x""yes; then :
+if test "x$ac_cv_type_pid_t" = xyes; then :
 
 else
 
@@ -5755,8 +5825,7 @@ if test "x" = "y"; then
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -5764,8 +5833,9 @@ _ACEOF
 fi
 done
 
-  ac_fn_c_check_decl "$LINENO" "basename(char *)" "ac_cv_have_decl_basename_char_p_" "$ac_includes_default"
-if test "x$ac_cv_have_decl_basename_char_p_" = x""yes; then :
+  as_ac_Symbol=`$as_echo "ac_cv_have_decl_basename(char *)" | $as_tr_sh`
+ac_fn_c_check_decl "$LINENO" "basename(char *)" "$as_ac_Symbol" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Symbol"\" = x"yes"; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -5775,7 +5845,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_BASENAME $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "ffs" "ac_cv_have_decl_ffs" "$ac_includes_default"
-if test "x$ac_cv_have_decl_ffs" = x""yes; then :
+if test "x$ac_cv_have_decl_ffs" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -5785,7 +5855,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FFS $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_asprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_asprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -5795,7 +5865,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_ASPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vasprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vasprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -5805,7 +5875,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_VASPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_snprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_snprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -5815,7 +5885,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_SNPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vsnprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vsnprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -5825,7 +5895,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_VSNPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtol" "ac_cv_have_decl_strtol" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtol" = x""yes; then :
+if test "x$ac_cv_have_decl_strtol" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -5835,7 +5905,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoul" "ac_cv_have_decl_strtoul" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoul" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoul" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -5845,7 +5915,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOUL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoll" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoll" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -5855,7 +5925,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOLL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoull" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoull" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -5865,7 +5935,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOULL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strnlen" = x""yes; then :
+if test "x$ac_cv_have_decl_strnlen" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6336,7 +6406,7 @@ if test -z "${setobjs}"; then
   # tests.  This will only work if the compiler works.
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
 $as_echo_n "checking for library containing strerror... " >&6; }
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -6366,18 +6436,18 @@ for ac_lib in '' cposix; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if test x$gcc_no_link = xyes; then
-  as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
+  as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
 fi
 if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_search_strerror=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_strerror+set}" = set; then :
+  if ${ac_cv_search_strerror+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
 
 else
   ac_cv_search_strerror=no
@@ -6397,8 +6467,7 @@ fi
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -6413,10 +6482,9 @@ esac
 fi
 done
 
-
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether alloca needs Cray hooks" >&5
 $as_echo_n "checking whether alloca needs Cray hooks... " >&6; }
-if test "${ac_cv_os_cray+set}" = set; then :
+if ${ac_cv_os_cray+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6443,8 +6511,7 @@ if test $ac_cv_os_cray = yes; then
   for ac_func in _getb67 GETB67 getb67; do
     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
 
 cat >>confdefs.h <<_ACEOF
 #define CRAY_STACKSEG_END $ac_func
@@ -6457,7 +6524,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
 $as_echo_n "checking stack direction for C alloca... " >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then :
+if ${ac_cv_c_stack_direction+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -6503,7 +6570,7 @@ _ACEOF
   for ac_header in vfork.h
 do :
   ac_fn_c_check_header_preproc "$LINENO" "vfork.h" "ac_cv_header_vfork_h"
-if test "x$ac_cv_header_vfork_h" = x""yes; then :
+if test "x$ac_cv_header_vfork_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_VFORK_H 1
 _ACEOF
@@ -6515,8 +6582,7 @@ for ac_func in fork vfork
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -6527,7 +6593,7 @@ done
 if test "x$ac_cv_func_fork" = xyes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
 $as_echo_n "checking for working fork... " >&6; }
-if test "${ac_cv_func_fork_works+set}" = set; then :
+if ${ac_cv_func_fork_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -6580,7 +6646,7 @@ ac_cv_func_vfork_works=$ac_cv_func_vfork
 if test "x$ac_cv_func_vfork" = xyes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
 $as_echo_n "checking for working vfork... " >&6; }
-if test "${ac_cv_func_vfork_works+set}" = set; then :
+if ${ac_cv_func_vfork_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -6725,30 +6791,25 @@ esac
   if test $ac_cv_func_vprintf != yes \
      || test $ac_cv_func_vfprintf != yes \
      || test $ac_cv_func_vsprintf != yes; then
-    for ac_func in _doprnt
-do :
-  ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
-if test "x$ac_cv_func__doprnt" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE__DOPRNT 1
-_ACEOF
+    ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
+if test "x$ac_cv_func__doprnt" = xyes; then :
+  $as_echo "#define HAVE__DOPRNT 1" >>confdefs.h
 
 else
   case " $LIBOBJS " in
-  *" $ac_func.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
+  *" _doprnt.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS _doprnt.$ac_objext"
  ;;
 esac
 
 fi
-done
 
 
   else
     for ac_func in _doprnt
 do :
   ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
-if test "x$ac_cv_func__doprnt" = x""yes; then :
+if test "x$ac_cv_func__doprnt" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE__DOPRNT 1
 _ACEOF
@@ -6761,11 +6822,11 @@ done
   for v in $vars; do
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $v" >&5
 $as_echo_n "checking for $v... " >&6; }
-    if { as_var=libiberty_cv_var_$v; eval "test \"\${$as_var+set}\" = set"; }; then :
+    if eval \${libiberty_cv_var_$v+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test x$gcc_no_link = xyes; then
-  as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
+  as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
 fi
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -6832,8 +6893,7 @@ rm -f core conftest.err conftest.$ac_obj
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -6841,8 +6901,9 @@ _ACEOF
 fi
 done
 
-  ac_fn_c_check_decl "$LINENO" "basename(char *)" "ac_cv_have_decl_basename_char_p_" "$ac_includes_default"
-if test "x$ac_cv_have_decl_basename_char_p_" = x""yes; then :
+  as_ac_Symbol=`$as_echo "ac_cv_have_decl_basename(char *)" | $as_tr_sh`
+ac_fn_c_check_decl "$LINENO" "basename(char *)" "$as_ac_Symbol" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Symbol"\" = x"yes"; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6852,7 +6913,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_BASENAME $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "ffs" "ac_cv_have_decl_ffs" "$ac_includes_default"
-if test "x$ac_cv_have_decl_ffs" = x""yes; then :
+if test "x$ac_cv_have_decl_ffs" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6862,7 +6923,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FFS $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_asprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_asprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6872,7 +6933,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_ASPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vasprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vasprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6882,7 +6943,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_VASPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_snprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_snprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6892,7 +6953,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_SNPRINTF $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vsnprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vsnprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6903,7 +6964,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
   ac_fn_c_check_decl "$LINENO" "calloc" "ac_cv_have_decl_calloc" "$ac_includes_default"
-if test "x$ac_cv_have_decl_calloc" = x""yes; then :
+if test "x$ac_cv_have_decl_calloc" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6913,7 +6974,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_CALLOC $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getenv" = x""yes; then :
+if test "x$ac_cv_have_decl_getenv" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6923,7 +6984,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_GETENV $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "getopt" "ac_cv_have_decl_getopt" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getopt" = x""yes; then :
+if test "x$ac_cv_have_decl_getopt" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6933,7 +6994,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_GETOPT $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "malloc" "ac_cv_have_decl_malloc" "$ac_includes_default"
-if test "x$ac_cv_have_decl_malloc" = x""yes; then :
+if test "x$ac_cv_have_decl_malloc" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6943,7 +7004,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_MALLOC $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "realloc" "ac_cv_have_decl_realloc" "$ac_includes_default"
-if test "x$ac_cv_have_decl_realloc" = x""yes; then :
+if test "x$ac_cv_have_decl_realloc" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6953,7 +7014,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_REALLOC $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "sbrk" "ac_cv_have_decl_sbrk" "$ac_includes_default"
-if test "x$ac_cv_have_decl_sbrk" = x""yes; then :
+if test "x$ac_cv_have_decl_sbrk" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6964,7 +7025,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
   ac_fn_c_check_decl "$LINENO" "strtol" "ac_cv_have_decl_strtol" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtol" = x""yes; then :
+if test "x$ac_cv_have_decl_strtol" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6974,7 +7035,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoul" "ac_cv_have_decl_strtoul" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoul" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoul" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6984,7 +7045,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOUL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoll" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoll" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -6994,7 +7055,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOLL $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoull" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoull" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7005,7 +7066,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
   ac_fn_c_check_decl "$LINENO" "strverscmp" "ac_cv_have_decl_strverscmp" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strverscmp" = x""yes; then :
+if test "x$ac_cv_have_decl_strverscmp" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7016,7 +7077,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
   ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strnlen" = x""yes; then :
+if test "x$ac_cv_have_decl_strnlen" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -7028,7 +7089,7 @@ _ACEOF
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether canonicalize_file_name must be declared" >&5
 $as_echo_n "checking whether canonicalize_file_name must be declared... " >&6; }
-if test "${libiberty_cv_decl_needed_canonicalize_file_name+set}" = set; then :
+if ${libiberty_cv_decl_needed_canonicalize_file_name+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7084,18 +7145,14 @@ case "${host}" in
 esac
 
 
-if test x$gcc_no_link = xyes; then
-  if test "x${ac_cv_func_mmap_fixed_mapped+set}" != xset; then
-    ac_cv_func_mmap_fixed_mapped=no
-  fi
-fi
-if test "x${ac_cv_func_mmap_fixed_mapped}" != xno; then
-  for ac_header in stdlib.h unistd.h
+
+
+
+  for ac_header in $ac_header_list
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_preproc "$LINENO" "$ac_header" "$as_ac_Header"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -7103,10 +7160,23 @@ _ACEOF
 fi
 done
 
+
+
+
+
+
+
+if test x$gcc_no_link = xyes; then
+  if test "x${ac_cv_func_mmap_fixed_mapped+set}" != xset; then
+    ac_cv_func_mmap_fixed_mapped=no
+  fi
+fi
+if test "x${ac_cv_func_mmap_fixed_mapped}" != xno; then
+
 for ac_func in getpagesize
 do :
   ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
-if test "x$ac_cv_func_getpagesize" = x""yes; then :
+if test "x$ac_cv_func_getpagesize" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_GETPAGESIZE 1
 _ACEOF
@@ -7116,7 +7186,7 @@ done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5
 $as_echo_n "checking for working mmap... " >&6; }
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then :
+if ${ac_cv_func_mmap_fixed_mapped+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -7159,11 +7229,6 @@ char *malloc ();
 
 /* This mess was copied from the GNU getpagesize.h.  */
 #ifndef HAVE_GETPAGESIZE
-/* Assume that all systems that can run configure have sys/param.h.  */
-# ifndef HAVE_SYS_PARAM_H
-#  define HAVE_SYS_PARAM_H 1
-# endif
-
 # ifdef _SC_PAGESIZE
 #  define getpagesize() sysconf(_SC_PAGESIZE)
 # else /* no _SC_PAGESIZE */
@@ -7198,8 +7263,9 @@ int
 main ()
 {
   char *data, *data2, *data3;
+  const char *cdata2;
   int i, pagesize;
-  int fd;
+  int fd, fd2;
 
   pagesize = getpagesize ();
 
@@ -7212,27 +7278,41 @@ main ()
   umask (0);
   fd = creat ("conftest.mmap", 0600);
   if (fd < 0)
-    return 1;
+    return 2;
   if (write (fd, data, pagesize) != pagesize)
-    return 1;
+    return 3;
   close (fd);
 
+  /* Next, check that the tail of a page is zero-filled.  File must have
+     non-zero length, otherwise we risk SIGBUS for entire page.  */
+  fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
+  if (fd2 < 0)
+    return 4;
+  cdata2 = "";
+  if (write (fd2, cdata2, 1) != 1)
+    return 5;
+  data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
+  if (data2 == MAP_FAILED)
+    return 6;
+  for (i = 0; i < pagesize; ++i)
+    if (*(data2 + i))
+      return 7;
+  close (fd2);
+  if (munmap (data2, pagesize))
+    return 8;
+
   /* Next, try to mmap the file at a fixed address which already has
      something else allocated at it.  If we can, also make sure that
      we see the same garbage.  */
   fd = open ("conftest.mmap", O_RDWR);
   if (fd < 0)
-    return 1;
-  data2 = (char *) malloc (2 * pagesize);
-  if (!data2)
-    return 1;
-  data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1);
+    return 9;
   if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
 		     MAP_PRIVATE | MAP_FIXED, fd, 0L))
-    return 1;
+    return 10;
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data2 + i))
-      return 1;
+      return 11;
 
   /* Finally, make sure that changes to the mapped area do not
      percolate back to the file as seen by read().  (This is a bug on
@@ -7241,12 +7321,12 @@ main ()
     *(data2 + i) = *(data2 + i) + 1;
   data3 = (char *) malloc (pagesize);
   if (!data3)
-    return 1;
+    return 12;
   if (read (fd, data3, pagesize) != pagesize)
-    return 1;
+    return 13;
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data3 + i))
-      return 1;
+      return 14;
   close (fd);
   return 0;
 }
@@ -7268,13 +7348,13 @@ if test $ac_cv_func_mmap_fixed_mapped = 
 $as_echo "#define HAVE_MMAP 1" >>confdefs.h
 
 fi
-rm -f conftest.mmap
+rm -f conftest.mmap conftest.txt
 
 fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strncmp" >&5
 $as_echo_n "checking for working strncmp... " >&6; }
-if test "${ac_cv_func_strncmp_works+set}" = set; then :
+if ${ac_cv_func_strncmp_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -7459,10 +7539,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -7478,6 +7569,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -7494,7 +7586,7 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -7595,6 +7687,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -7640,19 +7733,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -7790,16 +7883,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -7848,7 +7941,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -7859,28 +7952,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -7902,7 +7983,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -7942,6 +8023,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -7964,12 +8046,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -7985,11 +8068,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -8003,12 +8091,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -8021,7 +8112,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -8030,7 +8121,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -8050,7 +8141,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -8098,7 +8189,7 @@ do
     "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
     "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -8121,9 +8212,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -8131,12 +8223,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -8170,24 +8263,24 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 # Create commands to substitute file output variables.
 {
   echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
-  echo 'cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&' &&
+  echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
   echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' &&
   echo "_ACAWK" &&
   echo "_ACEOF"
 } >conf$$files.sh &&
 . ./conf$$files.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 rm -f conf$$files.sh
 
 {
@@ -8195,18 +8288,18 @@ rm -f conf$$files.sh
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -8214,7 +8307,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -8228,7 +8321,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -8242,7 +8335,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -8262,7 +8355,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
   \$ac_cs_awk_pipe_init
@@ -8300,21 +8393,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -8326,7 +8427,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -8338,11 +8439,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -8427,7 +8528,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -8440,7 +8541,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -8459,7 +8560,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -8468,7 +8569,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -8494,8 +8595,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -8627,26 +8728,27 @@ s&@INSTALL@&$ac_INSTALL&;t t
 "
 eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
 if $ac_cs_awk_getline; then
-  $AWK -f "$tmp/subs.awk"
+  $AWK -f "$ac_tmp/subs.awk"
 else
-  $AWK -f "$tmp/subs.awk" | $SHELL
-fi >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  $AWK -f "$ac_tmp/subs.awk" | $SHELL
+fi \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -8655,21 +8757,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -8699,7 +8801,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -8720,7 +8822,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/configure.ac ./libiberty/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/configure.ac	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,5 @@
 dnl Process this file with autoconf to produce a configure script
 
-AC_PREREQ(2.64)
 AC_INIT
 AC_CONFIG_SRCDIR([xmalloc.c])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/copying-lib.texi ./libiberty/copying-lib.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/copying-lib.texi	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/copying-lib.texi	2018-07-10 02:06:14.000000000 +0000
@@ -5,7 +5,7 @@
 @center Version 2.1, February 1999
 
 @display
-Copyright @copyright{} 1991-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 1991-2018 Free Software Foundation, Inc.
 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA
 
 Everyone is permitted to copy and distribute verbatim copies
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/cp-demangle.c ./libiberty/cp-demangle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/cp-demangle.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/cp-demangle.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Demangler for g++ V3 ABI.
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2018 Free Software Foundation, Inc.
    Written by Ian Lance Taylor <ian@wasabisystems.com>.
 
    This file is part of the libiberty library, which is part of GCC.
@@ -30,7 +30,7 @@
 
 /* This code implements a demangler for the g++ V3 ABI.  The ABI is
    described on this web page:
-       http://www.codesourcery.com/cxx-abi/abi.html#mangling
+       https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling
 
    This code was written while looking at the demangler written by
    Alex Samuel <samuel@codesourcery.com>.
@@ -425,7 +425,7 @@ is_ctor_dtor_or_conversion (struct deman
 
 static struct demangle_component *d_encoding (struct d_info *, int);
 
-static struct demangle_component *d_name (struct d_info *, int);
+static struct demangle_component *d_name (struct d_info *);
 
 static struct demangle_component *d_nested_name (struct d_info *);
 
@@ -484,7 +484,7 @@ static struct demangle_component *d_expr
 
 static struct demangle_component *d_expr_primary (struct d_info *);
 
-static struct demangle_component *d_local_name (struct d_info *, int);
+static struct demangle_component *d_local_name (struct d_info *);
 
 static int d_discriminator (struct d_info *);
 
@@ -1259,6 +1259,8 @@ has_return_type (struct demangle_compone
     {
     default:
       return 0;
+    case DEMANGLE_COMPONENT_LOCAL_NAME:
+      return has_return_type (d_right (dc));
     case DEMANGLE_COMPONENT_TEMPLATE:
       return ! is_ctor_dtor_or_conversion (d_left (dc));
     FNQUAL_COMPONENT_CASE:
@@ -1301,25 +1303,22 @@ static struct demangle_component *
 d_encoding (struct d_info *di, int top_level)
 {
   char peek = d_peek_char (di);
+  struct demangle_component *dc;
 
   if (peek == 'G' || peek == 'T')
-    return d_special_name (di);
+    dc = d_special_name (di);
   else
     {
-      struct demangle_component *dc, *dcr;
-
-      dc = d_name (di, top_level);
+      dc = d_name (di);
 
-      if (dc != NULL && top_level && (di->options & DMGL_PARAMS) == 0)
+      if (!dc)
+	/* Failed already.  */;
+      else if (top_level && (di->options & DMGL_PARAMS) == 0)
 	{
 	  /* Strip off any initial CV-qualifiers, as they really apply
 	     to the `this' parameter, and they were not output by the
 	     v2 demangler without DMGL_PARAMS.  */
-	  while (dc->type == DEMANGLE_COMPONENT_RESTRICT_THIS
-		 || dc->type == DEMANGLE_COMPONENT_VOLATILE_THIS
-		 || dc->type == DEMANGLE_COMPONENT_CONST_THIS
-		 || dc->type == DEMANGLE_COMPONENT_REFERENCE_THIS
-		 || dc->type == DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS)
+	  while (is_fnqual_component_type (dc->type))
 	    dc = d_left (dc);
 
 	  /* If the top level is a DEMANGLE_COMPONENT_LOCAL_NAME, then
@@ -1327,22 +1326,37 @@ d_encoding (struct d_info *di, int top_l
 	     really apply here; this happens when parsing a class
 	     which is local to a function.  */
 	  if (dc->type == DEMANGLE_COMPONENT_LOCAL_NAME)
+	    while (is_fnqual_component_type (d_right (dc)->type))
+	      d_right (dc) = d_left (d_right (dc));
+	}
+      else
+	{
+	  peek = d_peek_char (di);
+	  if (peek != '\0' && peek != 'E')
 	    {
-	      dcr = d_right (dc);
-	      while (is_fnqual_component_type (dcr->type))
-		dcr = d_left (dcr);
-	      dc->u.s_binary.right = dcr;
-	    }
+	      struct demangle_component *ftype;
 
-	  return dc;
-	}
+	      ftype = d_bare_function_type (di, has_return_type (dc));
+	      if (ftype)
+		{
+		  /* If this is a non-top-level local-name, clear the
+		     return type, so it doesn't confuse the user by
+		     being confused with the return type of whaever
+		     this is nested within.  */
+		  if (!top_level && dc->type == DEMANGLE_COMPONENT_LOCAL_NAME
+		      && ftype->type == DEMANGLE_COMPONENT_FUNCTION_TYPE)
+		    d_left (ftype) = NULL;
 
-      peek = d_peek_char (di);
-      if (dc == NULL || peek == '\0' || peek == 'E')
-	return dc;
-      dcr = d_bare_function_type (di, has_return_type (dc));
-      return d_make_comp (di, DEMANGLE_COMPONENT_TYPED_NAME, dc, dcr);
+		  dc = d_make_comp (di, DEMANGLE_COMPONENT_TYPED_NAME,
+				    dc, ftype);
+		}
+	      else
+		dc = NULL;
+	    }
+	}
     }
+
+  return dc;
 }
 
 /* <tagged-name> ::= <name> B <source-name> */
@@ -1383,7 +1397,7 @@ d_abi_tags (struct d_info *di, struct de
 */
 
 static struct demangle_component *
-d_name (struct d_info *di, int top_level)
+d_name (struct d_info *di)
 {
   char peek = d_peek_char (di);
   struct demangle_component *dc;
@@ -1394,7 +1408,7 @@ d_name (struct d_info *di, int top_level
       return d_nested_name (di);
 
     case 'Z':
-      return d_local_name (di, top_level);
+      return d_local_name (di);
 
     case 'U':
       return d_unqualified_name (di);
@@ -2079,11 +2093,11 @@ d_special_name (struct d_info *di)
 
 	case 'H':
 	  return d_make_comp (di, DEMANGLE_COMPONENT_TLS_INIT,
-			      d_name (di, 0), NULL);
+			      d_name (di), NULL);
 
 	case 'W':
 	  return d_make_comp (di, DEMANGLE_COMPONENT_TLS_WRAPPER,
-			      d_name (di, 0), NULL);
+			      d_name (di), NULL);
 
 	default:
 	  return NULL;
@@ -2095,11 +2109,11 @@ d_special_name (struct d_info *di)
 	{
 	case 'V':
 	  return d_make_comp (di, DEMANGLE_COMPONENT_GUARD,
-			      d_name (di, 0), NULL);
+			      d_name (di), NULL);
 
 	case 'R':
 	  {
-	    struct demangle_component *name = d_name (di, 0);
+	    struct demangle_component *name = d_name (di);
 	    return d_make_comp (di, DEMANGLE_COMPONENT_REFTEMP, name,
 				d_number_component (di));
 	  }
@@ -2935,7 +2949,7 @@ d_bare_function_type (struct d_info *di,
 static struct demangle_component *
 d_class_enum_type (struct d_info *di)
 {
-  return d_name (di, 0);
+  return d_name (di);
 }
 
 /* <array-type> ::= A <(positive dimension) number> _ <(element) type>
@@ -3380,13 +3394,10 @@ d_expression_1 (struct d_info *di)
 
 	    if (suffix)
 	      /* Indicate the suffix variant for d_print_comp.  */
-	      return d_make_comp (di, DEMANGLE_COMPONENT_UNARY, op,
-				  d_make_comp (di,
-					       DEMANGLE_COMPONENT_BINARY_ARGS,
-					       operand, operand));
-	    else
-	      return d_make_comp (di, DEMANGLE_COMPONENT_UNARY, op,
-				  operand);
+	      operand = d_make_comp (di, DEMANGLE_COMPONENT_BINARY_ARGS,
+				     operand, operand);
+
+	    return d_make_comp (di, DEMANGLE_COMPONENT_UNARY, op, operand);
 	  }
 	case 2:
 	  {
@@ -3568,7 +3579,7 @@ d_expr_primary (struct d_info *di)
 */
 
 static struct demangle_component *
-d_local_name (struct d_info *di, int top_level)
+d_local_name (struct d_info *di)
 {
   struct demangle_component *function;
   struct demangle_component *name;
@@ -3577,6 +3588,8 @@ d_local_name (struct d_info *di, int top
     return NULL;
 
   function = d_encoding (di, 0);
+  if (!function)
+    return NULL;
 
   if (! d_check_char (di, 'E'))
     return NULL;
@@ -3601,7 +3614,7 @@ d_local_name (struct d_info *di, int top
 	    return NULL;
 	}
 
-      name = d_name (di, 0);
+      name = d_name (di);
 
       if (name
 	  /* Lambdas and unnamed types have internal discriminators
@@ -3609,18 +3622,6 @@ d_local_name (struct d_info *di, int top
 	  && name->type != DEMANGLE_COMPONENT_LAMBDA
 	  && name->type != DEMANGLE_COMPONENT_UNNAMED_TYPE)
 	{
-	  if (!top_level
-	      && d_peek_char (di) != 0 /* Not end of string.  */
-	      && d_peek_char (di) != 'E' /* Not end of nested encoding.  */
-	      && d_peek_char (di) != '_') /* Not discriminator.  */
-	    {
-	      struct demangle_component *args;
-
-	      args = d_bare_function_type (di, has_return_type (name));
-	      name = d_make_comp (di, DEMANGLE_COMPONENT_TYPED_NAME,
-				  name, args);
-	    }
-
 	  /* Read and ignore an optional discriminator.  */
 	  if (! d_discriminator (di))
 	    return NULL;
@@ -3630,6 +3631,13 @@ d_local_name (struct d_info *di, int top
 	name = d_make_default_arg (di, num, name);
     }
 
+  /* Elide the return type of the containing function so as to not
+     confuse the user thinking it is the return type of whatever local
+     function we might be containing.  */
+  if (function->type == DEMANGLE_COMPONENT_TYPED_NAME
+      && d_right (function)->type == DEMANGLE_COMPONENT_FUNCTION_TYPE)
+    d_left (d_right (function)) = NULL;
+
   return d_make_comp (di, DEMANGLE_COMPONENT_LOCAL_NAME, function, name);
 }
 
@@ -4710,32 +4718,21 @@ d_print_comp_inner (struct d_print_info 
 	    return;
 	  }
 
-	/* If typed_name is a template, then it applies to the
-	   function type as well.  */
-	if (typed_name->type == DEMANGLE_COMPONENT_TEMPLATE)
-	  {
-	    dpt.next = dpi->templates;
-	    dpi->templates = &dpt;
-	    dpt.template_decl = typed_name;
-	  }
-
 	/* If typed_name is a DEMANGLE_COMPONENT_LOCAL_NAME, then
 	   there may be CV-qualifiers on its right argument which
-	   really apply here; this happens when parsing a class which
+	   really apply here; this happens when parsing a class that
 	   is local to a function.  */
 	if (typed_name->type == DEMANGLE_COMPONENT_LOCAL_NAME)
 	  {
-	    struct demangle_component *local_name;
-
-	    local_name = d_right (typed_name);
-	    if (local_name->type == DEMANGLE_COMPONENT_DEFAULT_ARG)
-	      local_name = local_name->u.s_unary_num.sub;
-	    if (local_name == NULL)
+	    typed_name = d_right (typed_name);
+	    if (typed_name->type == DEMANGLE_COMPONENT_DEFAULT_ARG)
+	      typed_name = typed_name->u.s_unary_num.sub;
+	    if (typed_name == NULL)
 	      {
 		d_print_error (dpi);
 		return;
 	      }
-	    while (is_fnqual_component_type (local_name->type))
+	    while (is_fnqual_component_type (typed_name->type))
 	      {
 		if (i >= sizeof adpm / sizeof adpm[0])
 		  {
@@ -4747,15 +4744,24 @@ d_print_comp_inner (struct d_print_info 
 		adpm[i].next = &adpm[i - 1];
 		dpi->modifiers = &adpm[i];
 
-		adpm[i - 1].mod = local_name;
+		adpm[i - 1].mod = typed_name;
 		adpm[i - 1].printed = 0;
 		adpm[i - 1].templates = dpi->templates;
 		++i;
 
-		local_name = d_left (local_name);
+		typed_name = d_left (typed_name);
 	      }
 	  }
 
+	/* If typed_name is a template, then it applies to the
+	   function type as well.  */
+	if (typed_name->type == DEMANGLE_COMPONENT_TEMPLATE)
+	  {
+	    dpt.next = dpi->templates;
+	    dpi->templates = &dpt;
+	    dpt.template_decl = typed_name;
+	  }
+
 	d_print_comp (dpi, options, d_right (dc));
 
 	if (typed_name->type == DEMANGLE_COMPONENT_TEMPLATE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/cp-demangle.h ./libiberty/cp-demangle.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/cp-demangle.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/cp-demangle.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Internal demangler interface for g++ V3 ABI.
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2018 Free Software Foundation, Inc.
    Written by Ian Lance Taylor <ian@wasabisystems.com>.
 
    This file is part of the libiberty library, which is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/cp-demint.c ./libiberty/cp-demint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/cp-demint.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/cp-demint.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Demangler component interface functions.
-   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004-2018 Free Software Foundation, Inc.
    Written by Ian Lance Taylor <ian@wasabisystems.com>.
 
    This file is part of the libiberty library, which is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/cplus-dem.c ./libiberty/cplus-dem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/cplus-dem.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/cplus-dem.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Demangler for GNU C++
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   Copyright (C) 1989-2018 Free Software Foundation, Inc.
    Written by James Clark (jjc@jclark.uucp)
    Rewritten by Fred Fish (fnf@cygnus.com) for ARM and Lucid demangling
    Modified by Satish Pai (pai@apollo.hp.com) for HP demangling
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/crc32.c ./libiberty/crc32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/crc32.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/crc32.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* crc32.c
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2018 Free Software Foundation, Inc.
 
    This file is part of the libiberty library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/d-demangle.c ./libiberty/d-demangle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/d-demangle.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/d-demangle.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Demangler for the D programming language
-   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   Copyright (C) 2014-2018 Free Software Foundation, Inc.
    Written by Iain Buclaw (ibuclaw@gdcproject.org)
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/_doprnt.c ./libiberty/_doprnt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/_doprnt.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/_doprnt.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Provide a version of _doprnt in terms of fprintf.
-   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-2018 Free Software Foundation, Inc.
    Contributed by Kaveh Ghazi  (ghazi@caip.rutgers.edu)  3/29/98
 
 This program is free software; you can redistribute it and/or modify it
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/dwarfnames.c ./libiberty/dwarfnames.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/dwarfnames.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/dwarfnames.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Names of various DWARF tags.
-   Copyright (C) 2012-2017 Free Software Foundation, Inc.
+   Copyright (C) 2012-2018 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
    
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/dyn-string.c ./libiberty/dyn-string.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/dyn-string.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/dyn-string.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* An abstract string datatype.
-   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-2018 Free Software Foundation, Inc.
    Contributed by Mark Mitchell (mark@markmitchell.com).
 
 This file is part of GNU CC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/fdmatch.c ./libiberty/fdmatch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/fdmatch.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/fdmatch.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Compare two open file descriptors to see if they refer to the same file.
-   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   Copyright (C) 1991-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/fibheap.c ./libiberty/fibheap.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/fibheap.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/fibheap.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* A Fibonacci heap datatype.
-   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-2018 Free Software Foundation, Inc.
    Contributed by Daniel Berlin (dan@cgsoftware.com).
    
 This file is part of GNU CC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/filename_cmp.c ./libiberty/filename_cmp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/filename_cmp.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/filename_cmp.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* File name comparison routine.
 
-   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2018 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
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/floatformat.c ./libiberty/floatformat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/floatformat.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/floatformat.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* IEEE floating point support routines, for GDB, the GNU Debugger.
-   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   Copyright (C) 1991-2018 Free Software Foundation, Inc.
 
 This file is part of 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.1.0.20180703/libiberty/fnmatch.c ./libiberty/fnmatch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/fnmatch.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/fnmatch.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
 
 NOTE: This source is derived from an old version taken from the GNU C
 Library (glibc).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/fopen_unlocked.c ./libiberty/fopen_unlocked.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/fopen_unlocked.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/fopen_unlocked.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Implement fopen_unlocked and related functions.
-   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Written by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/gather-docs ./libiberty/gather-docs
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/gather-docs	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/gather-docs	2018-07-10 02:06:14.000000000 +0000
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 # -*- perl -*-
 
-#   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#   Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is part of the libiberty library.
 # Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/getopt1.c ./libiberty/getopt1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/getopt1.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/getopt1.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* getopt_long and getopt_long_only entry points for GNU getopt.
-   Copyright (C) 1987-2017 Free Software Foundation, Inc.
+   Copyright (C) 1987-2018 Free Software Foundation, Inc.
 
    NOTE: This source is derived from an old version taken from the GNU C
    Library (glibc).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/getopt.c ./libiberty/getopt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/getopt.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/getopt.c	2018-07-10 02:06:14.000000000 +0000
@@ -3,7 +3,7 @@
    "Keep this file name-space clean" means, talk to drepper@gnu.org
    before changing it!
 
-   Copyright (C) 1987-2017 Free Software Foundation, Inc.
+   Copyright (C) 1987-2018 Free Software Foundation, Inc.
 
    NOTE: This source is derived from an old version taken from the GNU C
    Library (glibc).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/getruntime.c ./libiberty/getruntime.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/getruntime.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/getruntime.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Return time used so far, in microseconds.
-   Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/hashtab.c ./libiberty/hashtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/hashtab.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/hashtab.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* An expandable hash tables datatype.  
-   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999-2018 Free Software Foundation, Inc.
    Contributed by Vladimir Makarov (vmakarov@cygnus.com).
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/hex.c ./libiberty/hex.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/hex.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/hex.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Hex character manipulation support.
-   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   Copyright (C) 1995-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/lbasename.c ./libiberty/lbasename.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/lbasename.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/lbasename.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Libiberty basename.  Like basename, but is not overridden by the
    system C library.
-   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/libiberty.texi ./libiberty/libiberty.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/libiberty.texi	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/libiberty.texi	2018-07-10 02:06:14.000000000 +0000
@@ -24,7 +24,7 @@
 @ifinfo
 This manual describes the GNU @libib library of utility subroutines.
 
-Copyright @copyright{} 2001-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 2001-2018 Free Software Foundation, Inc.
 
       Permission is granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version 1.3
@@ -50,7 +50,7 @@ notice identical to this one except for 
 
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 2001-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 2001-2018 Free Software Foundation, Inc.
 
       Permission is granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version 1.3
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/lrealpath.c ./libiberty/lrealpath.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/lrealpath.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/lrealpath.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,7 +1,7 @@
 /* Libiberty realpath.  Like realpath, but more consistent behavior.
    Based on gdb_realpath from GDB.
 
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2018 Free Software Foundation, Inc.
 
    This file is part of the libiberty library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/maint-tool ./libiberty/maint-tool
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/maint-tool	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/maint-tool	2018-07-10 02:06:14.000000000 +0000
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 # -*- perl -*-
 
-#   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#   Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is part of the libiberty library.
 # Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/Makefile.in ./libiberty/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/Makefile.in	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/Makefile.in	2018-07-10 02:06:14.000000000 +0000
@@ -1,7 +1,7 @@
 # Makefile for the libiberty library.
 # Originally written by K. Richard Pixley <rich@cygnus.com>.
 #
-# Copyright (C) 1990-2017 Free Software Foundation, Inc.
+# Copyright (C) 1990-2018 Free Software Foundation, Inc.
 #
 # This file is part of the libiberty library.
 # Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/make-relative-prefix.c ./libiberty/make-relative-prefix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/make-relative-prefix.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/make-relative-prefix.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Relative (relocatable) prefix support.
-   Copyright (C) 1987-2017 Free Software Foundation, Inc.
+   Copyright (C) 1987-2018 Free Software Foundation, Inc.
 
 This file is part of libiberty.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/make-temp-file.c ./libiberty/make-temp-file.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/make-temp-file.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/make-temp-file.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Utility to pick a temporary filename prefix.
-   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/md5.c ./libiberty/md5.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/md5.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/md5.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* md5.c - Functions to compute MD5 message digest of files or memory blocks
    according to the definition of MD5 in RFC 1321 from April 1992.
-   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   Copyright (C) 1995-2018 Free Software Foundation, Inc.
 
    NOTE: This source is derived from an old version taken from the GNU C
    Library (glibc).
@@ -231,7 +231,7 @@ md5_process_bytes (const void *buffer, s
   /* Process available complete blocks.  */
   if (len > 64)
     {
-#if !_STRING_ARCH_unaligned
+#if !_STRING_ARCH_unaligned || defined UBSAN_BOOTSTRAP
 /* To check alignment gcc has an appropriate operator.  Other
    compilers don't.  */
 # if __GNUC__ >= 2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/memmem.c ./libiberty/memmem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/memmem.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/memmem.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/mempcpy.c ./libiberty/mempcpy.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/mempcpy.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/mempcpy.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Implement the mempcpy function.
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2018 Free Software Foundation, Inc.
    Written by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/mkstemps.c ./libiberty/mkstemps.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/mkstemps.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/mkstemps.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
    This file is derived from mkstemp.c from the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/objalloc.c ./libiberty/objalloc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/objalloc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/objalloc.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* objalloc.c -- routines to allocate memory for objects
-   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997-2018 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Solutions.
 
 This program is free software; you can redistribute it and/or modify it
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/obstack.c ./libiberty/obstack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/obstack.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/obstack.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* obstack.c - subroutines used implicitly by object stack macros
-   Copyright (C) 1988-2017 Free Software Foundation, Inc.
+   Copyright (C) 1988-2018 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/partition.c ./libiberty/partition.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/partition.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/partition.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* List implementation of a partition of consecutive integers.
-   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Copyright (C) 2000-2018 Free Software Foundation, Inc.
    Contributed by CodeSourcery, LLC.
 
    This file is part of GNU CC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-common.c ./libiberty/pex-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-common.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/pex-common.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Common code for executing a program in a sub-process.
-   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Written by Ian Lance Taylor <ian@airs.com>.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-common.h ./libiberty/pex-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-common.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/pex-common.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Utilities to execute a program in a subprocess (possibly linked by pipes
    with other subprocesses), and wait for it.  Shared logic.
-   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-djgpp.c ./libiberty/pex-djgpp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-djgpp.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/pex-djgpp.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Utilities to execute a program in a subprocess (possibly linked by pipes
    with other subprocesses), and wait for it.  DJGPP specialization.
-   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pexecute.c ./libiberty/pexecute.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pexecute.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/pexecute.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Utilities to execute a program in a subprocess (possibly linked by pipes
    with other subprocesses), and wait for it.
-   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-msdos.c ./libiberty/pex-msdos.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-msdos.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/pex-msdos.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Utilities to execute a program in a subprocess (possibly linked by pipes
    with other subprocesses), and wait for it.  Generic MSDOS specialization.
-   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-one.c ./libiberty/pex-one.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-one.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/pex-one.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Execute a program and wait for a result.
-   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-unix.c ./libiberty/pex-unix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-unix.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/pex-unix.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,7 +1,7 @@
 /* Utilities to execute a program in a subprocess (possibly linked by pipes
    with other subprocesses), and wait for it.  Generic Unix version
    (also used for UWIN and VMS).
-   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-win32.c ./libiberty/pex-win32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/pex-win32.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/pex-win32.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Utilities to execute a program in a subprocess (possibly linked by pipes
    with other subprocesses), and wait for it.  Generic Win32 specialization.
-   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/physmem.c ./libiberty/physmem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/physmem.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/physmem.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Calculate the size of physical memory.
-   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Copyright (C) 2000-2018 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
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/putenv.c ./libiberty/putenv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/putenv.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/putenv.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
    This file based on putenv.c in the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/regex.c ./libiberty/regex.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/regex.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/regex.c	2018-07-10 02:06:14.000000000 +0000
@@ -3,7 +3,7 @@
    (Implements POSIX draft P1003.2/D11.2, except for some of the
    internationalization features.)
 
-   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   Copyright (C) 1993-2018 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/rust-demangle.c ./libiberty/rust-demangle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/rust-demangle.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/rust-demangle.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Demangler for the Rust programming language
-   Copyright (C) 2016-2017 Free Software Foundation, Inc.
+   Copyright (C) 2016-2018 Free Software Foundation, Inc.
    Written by David Tolnay (dtolnay@gmail.com).
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/safe-ctype.c ./libiberty/safe-ctype.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/safe-ctype.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/safe-ctype.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* <ctype.h> replacement macros.
 
-   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Copyright (C) 2000-2018 Free Software Foundation, Inc.
    Contributed by Zack Weinberg <zackw@stanford.edu>.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/setenv.c ./libiberty/setenv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/setenv.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/setenv.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2018 Free Software Foundation, Inc.
    This file based on setenv.c in the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/setproctitle.c ./libiberty/setproctitle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/setproctitle.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/setproctitle.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Set the title of a process.
-   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2010-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/sha1.c ./libiberty/sha1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/sha1.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/sha1.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,7 +1,7 @@
 /* sha1.c - Functions to compute SHA1 message digest of files or
    memory blocks according to the NIST specification FIPS-180-1.
 
-   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Copyright (C) 2000-2018 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
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/simple-object.c ./libiberty/simple-object.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/simple-object.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/simple-object.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* simple-object.c -- simple routines to read and write object files.
-   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2010-2018 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Google.
 
 This program is free software; you can redistribute it and/or modify it
@@ -251,36 +251,74 @@ simple_object_find_section (simple_objec
 }
 
 /* Callback to identify and rename LTO debug sections by name.
-   Returns 1 if NAME is a LTO debug section, 0 if not.  */
+   Returns non-NULL if NAME is a LTO debug section, NULL if not.
+   If RENAME is true it will rename LTO debug sections to non-LTO
+   ones.  */
 
-static int
-handle_lto_debug_sections (const char **name)
+static char *
+handle_lto_debug_sections (const char *name, int rename)
 {
+  char *newname = rename ? XCNEWVEC (char, strlen (name) + 1)
+	  	         : xstrdup (name);
+
   /* ???  So we can't use .gnu.lto_ prefixed sections as the assembler
      complains about bogus section flags.  Which means we need to arrange
      for that to be fixed or .gnu.debuglto_ marked as SHF_EXCLUDE (to make
      fat lto object tooling work for the fat part).  */
+  /* Also include corresponding reloc sections.  */
+  if (strncmp (name, ".rela", sizeof (".rela") - 1) == 0)
+    {
+      if (rename)
+        strncpy (newname, name, sizeof (".rela") - 1);
+      name += sizeof (".rela") - 1;
+    }
+  else if (strncmp (name, ".rel", sizeof (".rel") - 1) == 0)
+    {
+      if (rename)
+        strncpy (newname, name, sizeof (".rel") - 1);
+      name += sizeof (".rel") - 1;
+    }
   /* ???  For now this handles both .gnu.lto_ and .gnu.debuglto_ prefixed
      sections.  */
   /* Copy LTO debug sections and rename them to their non-LTO name.  */
-  if (strncmp (*name, ".gnu.debuglto_", sizeof (".gnu.debuglto_") - 1) == 0)
-    {
-      *name = *name + sizeof (".gnu.debuglto_") - 1;
-      return 1;
-    }
-  else if (strncmp (*name, ".gnu.lto_.debug_", sizeof (".gnu.lto_.debug_") -1) == 0)
-    {
-      *name = *name + sizeof (".gnu.lto_") - 1;
-      return 1;
-    }
-  return 0;
+  if (strncmp (name, ".gnu.debuglto_", sizeof (".gnu.debuglto_") - 1) == 0)
+    return rename ? strcat (newname, name + sizeof (".gnu.debuglto_") - 1) : newname;
+  else if (strncmp (name, ".gnu.lto_.debug_",
+		    sizeof (".gnu.lto_.debug_") -1) == 0)
+    return rename ? strcat (newname, name + sizeof (".gnu.lto_") - 1) : newname;
+  /* Copy over .note.GNU-stack section under the same name if present.  */
+  else if (strcmp (name, ".note.GNU-stack") == 0)
+    return strcpy (newname, name);
+  /* Copy over .comment section under the same name if present.  Solaris
+     ld uses them to relax its checking of ELF gABI access rules for
+     COMDAT sections in objects produced by GCC.  */
+  else if (strcmp (name, ".comment") == 0)
+    return strcpy (newname, name);
+  free (newname);
+  return NULL;
+}
+
+/* Wrapper for handle_lto_debug_sections.  */
+
+static char *
+handle_lto_debug_sections_rename (const char *name)
+{
+  return handle_lto_debug_sections (name, 1);
+}
+
+/* Wrapper for handle_lto_debug_sections.  */
+
+static char *
+handle_lto_debug_sections_norename (const char *name)
+{
+  return handle_lto_debug_sections (name, 0);
 }
 
 /* Copy LTO debug sections.  */
 
 const char *
 simple_object_copy_lto_debug_sections (simple_object_read *sobj,
-				       const char *dest, int *err)
+				       const char *dest, int *err, int rename)
 {
   const char *errmsg;
   simple_object_write *dest_sobj;
@@ -301,9 +339,10 @@ simple_object_copy_lto_debug_sections (s
   if (! dest_sobj)
     return errmsg;
 
-  errmsg = sobj->functions->copy_lto_debug_sections (sobj, dest_sobj,
-						     handle_lto_debug_sections,
-						     err);
+  errmsg = sobj->functions->copy_lto_debug_sections
+	 	 (sobj, dest_sobj,
+		  rename ? handle_lto_debug_sections_rename
+			 : handle_lto_debug_sections_norename,  err);
   if (errmsg)
     {
       simple_object_release_write (dest_sobj);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/simple-object-coff.c ./libiberty/simple-object-coff.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/simple-object-coff.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/simple-object-coff.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* simple-object-coff.c -- routines to manipulate COFF object files.
-   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2010-2018 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Google.
 
 This program is free software; you can redistribute it and/or modify it
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/simple-object-common.h ./libiberty/simple-object-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/simple-object-common.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/simple-object-common.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* simple-object-common.h -- common structs for object file manipulation.
-   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2010-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
@@ -145,7 +145,7 @@ struct simple_object_functions
   /* Copy LTO debug sections.  */
   const char *(*copy_lto_debug_sections) (simple_object_read *sobj,
 					  simple_object_write *dobj,
-					  int (*pfn) (const char **),
+					  char *(*pfn) (const char *),
 					  int *err);
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/simple-object-elf.c ./libiberty/simple-object-elf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/simple-object-elf.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/simple-object-elf.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* simple-object-elf.c -- routines to manipulate ELF object files.
-   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2010-2018 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Google.
 
 This program is free software; you can redistribute it and/or modify it
@@ -126,6 +126,7 @@ typedef struct {
 #define SHN_LORESERVE	0xFF00		/* Begin range of reserved indices */
 #define SHN_COMMON	0xFFF2	/* Associated symbol is in common */
 #define SHN_XINDEX	0xFFFF		/* Section index is held elsewhere */
+#define SHN_HIRESERVE	0xffff		/* End of reserved indices */
 
 
 /* 32-bit ELF program header.  */
@@ -193,9 +194,12 @@ typedef struct {
 #define SHT_RELA	4		/* Relocation entries with addends */
 #define SHT_REL		9		/* Relocation entries, no addends */
 #define SHT_GROUP	17		/* Section contains a section group */
+#define SHT_SYMTAB_SHNDX 18		/* Extended section indeces */
 
 /* Values for sh_flags field.  */
 
+#define SHF_INFO_LINK	0x00000040	/* `sh_info' contains SHT index */
+#define SHF_EXECINSTR	0x00000004	/* Executable section.  */
 #define SHF_EXCLUDE	0x80000000	/* Link editor is to exclude this
 					   section from executable and
 					   shared library that it builds
@@ -235,8 +239,10 @@ typedef struct
 
 #define STB_LOCAL	0	/* Local symbol */
 #define STB_GLOBAL	1	/* Global symbol */
+#define STB_WEAK	2	/* Weak global */
 
 #define STV_DEFAULT	0	/* Visibility is specified by binding type */
+#define STV_HIDDEN	2	/* Can only be seen inside currect component */
 
 /* Functions to fetch and store different ELF types, depending on the
    endianness and size.  */
@@ -1067,7 +1073,7 @@ simple_object_elf_release_write (void *d
 static const char *
 simple_object_elf_copy_lto_debug_sections (simple_object_read *sobj,
 					   simple_object_write *dobj,
-					   int (*pfn) (const char **),
+					   char *(*pfn) (const char *),
 					   int *err)
 {
   struct simple_object_elf_read *eor =
@@ -1085,8 +1091,13 @@ simple_object_elf_copy_lto_debug_section
   off_t shstroff;
   unsigned char *names;
   unsigned int i;
+  int changed;
   int *pfnret;
   const char **pfnname;
+  unsigned new_i;
+  unsigned *sh_map;
+  unsigned first_shndx = 0;
+  unsigned int *symtab_indices_shndx;
 
   shdr_size = (ei_class == ELFCLASS32
 	       ? sizeof (Elf32_External_Shdr)
@@ -1125,18 +1136,20 @@ simple_object_elf_copy_lto_debug_section
       return errmsg;
     }
 
-  eow->shdrs = XNEWVEC (unsigned char, shdr_size * (shnum - 1));
   pfnret = XNEWVEC (int, shnum);
   pfnname = XNEWVEC (const char *, shnum);
 
+  /* Map of symtab to index section.  */
+  symtab_indices_shndx = XCNEWVEC (unsigned int, shnum - 1);
+
   /* First perform the callbacks to know which sections to preserve and
      what name to use for those.  */
   for (i = 1; i < shnum; ++i)
     {
       unsigned char *shdr;
-      unsigned int sh_name;
+      unsigned int sh_name, sh_type;
       const char *name;
-      int ret;
+      char *ret;
 
       shdr = shdrs + (i - 1) * shdr_size;
       sh_name = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
@@ -1151,14 +1164,32 @@ simple_object_elf_copy_lto_debug_section
 
       name = (const char *) names + sh_name;
 
-      ret = (*pfn) (&name);
-      pfnret[i - 1] = ret == 1 ? 0 : -1;
-      pfnname[i - 1] = name;
+      ret = (*pfn) (name);
+      pfnret[i - 1] = ret == NULL ? -1 : 0;
+      pfnname[i - 1] = ret == NULL ? name : ret;
+      if (first_shndx == 0
+	  && pfnret[i - 1] == 0)
+	first_shndx = i;
+
+      /* Remember the indexes of existing SHT_SYMTAB_SHNDX sections.  */
+      sh_type = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
+				 shdr, sh_type, Elf_Word);
+      if (sh_type == SHT_SYMTAB_SHNDX)
+	{
+	  unsigned int sh_link;
+	  sh_link = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
+				     shdr, sh_link, Elf_Word);
+	  symtab_indices_shndx[sh_link - 1] = i;
+	  /* Always discard the extended index sections, after
+	     copying it will not be needed.  This way we don't need to
+	     update it and deal with the ordering constraints of
+	     processing the existing symtab and changing the index.  */
+	  pfnret[i - 1] = -1;
+	}
     }
 
   /* Mark sections as preserved that are required by to be preserved
      sections.  */
-  int changed;
   do
     {
       changed = 0;
@@ -1237,7 +1268,26 @@ simple_object_elf_copy_lto_debug_section
     }
   while (changed);
 
+  /* Compute a mapping of old -> new section numbers.  */
+  sh_map = XNEWVEC (unsigned, shnum);
+  sh_map[0] = 0;
+  new_i = 1;
+  for (i = 1; i < shnum; ++i)
+    {
+      if (pfnret[i - 1] == -1)
+	sh_map[i] = 0;
+      else
+	sh_map[i] = new_i++;
+    }
+  if (new_i - 1 >= SHN_LORESERVE)
+    {
+      *err = ENOTSUP;
+      return "Too many copied sections";
+    }
+  eow->shdrs = XNEWVEC (unsigned char, shdr_size * (new_i - 1));
+
   /* Then perform the actual copying.  */
+  new_i = 0;
   for (i = 1; i < shnum; ++i)
     {
       unsigned char *shdr;
@@ -1245,11 +1295,14 @@ simple_object_elf_copy_lto_debug_section
       const char *name;
       off_t offset;
       off_t length;
-      int ret;
       simple_object_write_section *dest;
       off_t flags;
       unsigned char *buf;
 
+      if (pfnret[i - 1])
+	continue;
+
+      new_i++;
       shdr = shdrs + (i - 1) * shdr_size;
       sh_name = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
 				 shdr, sh_name, Elf_Word);
@@ -1258,10 +1311,11 @@ simple_object_elf_copy_lto_debug_section
 	  *err = 0;
 	  XDELETEVEC (names);
 	  XDELETEVEC (shdrs);
+	  XDELETEVEC (symtab_indices_shndx);
 	  return "ELF section name out of range";
 	}
 
-      name = (const char *) names + sh_name;
+      name = pfnname[i - 1];
       offset = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
 				shdr, sh_offset, Elf_Addr);
       length = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
@@ -1269,143 +1323,223 @@ simple_object_elf_copy_lto_debug_section
       sh_type = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
 				 shdr, sh_type, Elf_Word);
 
-      ret = pfnret[i - 1];
-      name = ret == 0 ? pfnname[i - 1] : "";
-
-      dest = simple_object_write_create_section (dobj, name, 0, &errmsg, err);
+      dest = simple_object_write_create_section (dobj, pfnname[i - 1],
+						 0, &errmsg, err);
       if (dest == NULL)
 	{
 	  XDELETEVEC (names);
 	  XDELETEVEC (shdrs);
+	  XDELETEVEC (symtab_indices_shndx);
 	  return errmsg;
 	}
 
       /* Record the SHDR of the source.  */
-      memcpy (eow->shdrs + (i - 1) * shdr_size, shdr, shdr_size);
-      shdr = eow->shdrs + (i - 1) * shdr_size;
+      memcpy (eow->shdrs + (new_i - 1) * shdr_size, shdr, shdr_size);
+      shdr = eow->shdrs + (new_i - 1) * shdr_size;
 
       /* Copy the data.
 	 ???  This is quite wasteful and ideally would be delayed until
 	 write_to_file ().  Thus it questions the interfacing
 	 which eventually should contain destination creation plus
 	 writing.  */
-      /* Keep empty sections for sections we should discard.  This avoids
-         the need to rewrite section indices in symtab and relocation
+      buf = XNEWVEC (unsigned char, length);
+      if (!simple_object_internal_read (sobj->descriptor,
+					sobj->offset + offset, buf,
+					(size_t) length, &errmsg, err))
+	{
+	  XDELETEVEC (buf);
+	  XDELETEVEC (names);
+	  XDELETEVEC (shdrs);
+	  XDELETEVEC (symtab_indices_shndx);
+	  return errmsg;
+	}
+
+      /* If we are processing .symtab purge __gnu_lto_v1 and
+	 __gnu_lto_slim symbols from it and any symbols in discarded
 	 sections.  */
-      if (ret == 0)
+      if (sh_type == SHT_SYMTAB)
 	{
-	  buf = XNEWVEC (unsigned char, length);
-	  if (!simple_object_internal_read (sobj->descriptor,
-					    sobj->offset + offset, buf,
-					    (size_t) length, &errmsg, err))
+	  unsigned entsize = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
+					      shdr, sh_entsize, Elf_Addr);
+	  unsigned strtab = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
+					     shdr, sh_link, Elf_Word);
+	  unsigned char *strshdr = shdrs + (strtab - 1) * shdr_size;
+	  off_t stroff = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
+					  strshdr, sh_offset, Elf_Addr);
+	  size_t strsz = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
+					  strshdr, sh_size, Elf_Addr);
+	  char *strings = XNEWVEC (char, strsz);
+	  char *gnu_lto = strings;
+	  unsigned char *ent;
+	  unsigned *shndx_table = NULL;
+	  simple_object_internal_read (sobj->descriptor,
+				       sobj->offset + stroff,
+				       (unsigned char *)strings,
+				       strsz, &errmsg, err);
+	  /* Find gnu_lto_ in strings.  */
+	  while ((gnu_lto = (char *) memchr (gnu_lto, 'g',
+					     strings + strsz - gnu_lto)))
+	    if (strncmp (gnu_lto, "gnu_lto_v1",
+			 strings + strsz - gnu_lto) == 0)
+	      break;
+	    else
+	      gnu_lto++;
+	  /* Read the section index table if present.  */
+	  if (symtab_indices_shndx[i - 1] != 0)
 	    {
-	      XDELETEVEC (buf);
-	      XDELETEVEC (names);
-	      XDELETEVEC (shdrs);
-	      return errmsg;
+	      unsigned char *sidxhdr = shdrs + (strtab - 1) * shdr_size;
+	      off_t sidxoff = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
+					       sidxhdr, sh_offset, Elf_Addr);
+	      size_t sidxsz = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
+					       sidxhdr, sh_size, Elf_Addr);
+	      shndx_table = (unsigned *)XNEWVEC (char, sidxsz);
+	      simple_object_internal_read (sobj->descriptor,
+					   sobj->offset + sidxoff,
+					   (unsigned char *)shndx_table,
+					   sidxsz, &errmsg, err);
 	    }
-
-	  /* If we are processing .symtab purge __gnu_lto_v1 and
-	     __gnu_lto_slim symbols from it.  */
-	  if (sh_type == SHT_SYMTAB)
+	  for (ent = buf; ent < buf + length; ent += entsize)
 	    {
-	      unsigned entsize = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
-						  shdr, sh_entsize, Elf_Addr);
-	      unsigned strtab = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
-						 shdr, sh_link, Elf_Word);
-	      unsigned char *strshdr = shdrs + (strtab - 1) * shdr_size;
-	      off_t stroff = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
-					      strshdr, sh_offset, Elf_Addr);
-	      size_t strsz = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
-					      strshdr, sh_size, Elf_Addr);
-	      char *strings = XNEWVEC (char, strsz);
-	      unsigned char *ent;
-	      simple_object_internal_read (sobj->descriptor,
-					   sobj->offset + stroff,
-					   (unsigned char *)strings,
-					   strsz, &errmsg, err);
-	      for (ent = buf; ent < buf + length; ent += entsize)
+	      unsigned st_shndx = ELF_FETCH_FIELD (type_functions, ei_class,
+						   Sym, ent,
+						   st_shndx, Elf_Half);
+	      unsigned raw_st_shndx = st_shndx;
+	      unsigned char *st_info;
+	      unsigned char *st_other;
+	      int discard = 0;
+	      if (ei_class == ELFCLASS32)
+		{
+		  st_info = &((Elf32_External_Sym *)ent)->st_info;
+		  st_other = &((Elf32_External_Sym *)ent)->st_other;
+		}
+	      else
 		{
-		  unsigned st_shndx = ELF_FETCH_FIELD (type_functions, ei_class,
-						       Sym, ent,
-						       st_shndx, Elf_Half);
-		  unsigned char *st_info;
-		  unsigned char *st_other;
-		  int discard = 0;
-		  if (ei_class == ELFCLASS32)
+		  st_info = &((Elf64_External_Sym *)ent)->st_info;
+		  st_other = &((Elf64_External_Sym *)ent)->st_other;
+		}
+	      if (st_shndx == SHN_XINDEX)
+		st_shndx = type_functions->fetch_Elf_Word
+		    ((unsigned char *)(shndx_table + (ent - buf) / entsize));
+	      /* Eliminate all COMMONs - this includes __gnu_lto_v1
+		 and __gnu_lto_slim which otherwise cause endless
+		 LTO plugin invocation.  */
+	      if (st_shndx == SHN_COMMON)
+		discard = 1;
+	      /* We also need to remove symbols refering to sections
+		 we'll eventually remove as with fat LTO objects
+		 we otherwise get duplicate symbols at final link
+		 (with GNU ld, gold is fine and ignores symbols in
+		 sections marked as EXCLUDE).  ld/20513  */
+	      else if (st_shndx != SHN_UNDEF
+		       && st_shndx < shnum
+		       && pfnret[st_shndx - 1] == -1)
+		discard = 1;
+
+	      if (discard)
+		{
+		  /* Make discarded symbols undefined and unnamed
+		     in case it is local.  */
+		  int bind = ELF_ST_BIND (*st_info);
+		  int other = STV_DEFAULT;
+		  if (bind == STB_LOCAL)
 		    {
-		      st_info = &((Elf32_External_Sym *)ent)->st_info;
-		      st_other = &((Elf32_External_Sym *)ent)->st_other;
+		      /* Make discarded local symbols unnamed and
+			 defined in the first prevailing section.  */
+		      ELF_SET_FIELD (type_functions, ei_class, Sym,
+				     ent, st_name, Elf_Word, 0);
+		      ELF_SET_FIELD (type_functions, ei_class, Sym,
+				     ent, st_shndx, Elf_Half,
+				     sh_map[first_shndx]);
 		    }
 		  else
 		    {
-		      st_info = &((Elf64_External_Sym *)ent)->st_info;
-		      st_other = &((Elf64_External_Sym *)ent)->st_other;
-		    }
-		  /* Eliminate all COMMONs - this includes __gnu_lto_v1
-		     and __gnu_lto_slim which otherwise cause endless
-		     LTO plugin invocation.  */
-		  if (st_shndx == SHN_COMMON)
-		    /* Setting st_name to "" seems to work to purge
-		       COMMON symbols (in addition to setting their
-		       size to zero).  */
-		    discard = 1;
-		  /* We also need to remove symbols refering to sections
-		     we'll eventually remove as with fat LTO objects
-		     we otherwise get duplicate symbols at final link
-		     (with GNU ld, gold is fine and ignores symbols in
-		     sections marked as EXCLUDE).  ld/20513  */
-		  else if (st_shndx != SHN_UNDEF
-			   && st_shndx < shnum
-			   && pfnret[st_shndx - 1] == -1)
-		    discard = 1;
-
-		  if (discard)
-		    {
-		      /* Make discarded symbols undefined and unnamed
-		         in case it is local.  */
-		      if (ELF_ST_BIND (*st_info) == STB_LOCAL)
+		      /* Make discarded global symbols hidden weak
+			 undefined and sharing the gnu_lto_ name.  */
+		      bind = STB_WEAK;
+		      other = STV_HIDDEN;
+		      if (gnu_lto)
 			ELF_SET_FIELD (type_functions, ei_class, Sym,
-				       ent, st_name, Elf_Word, 0);
-		      ELF_SET_FIELD (type_functions, ei_class, Sym,
-				     ent, st_value, Elf_Addr, 0);
-		      ELF_SET_FIELD (type_functions, ei_class, Sym,
-				     ent, st_size, Elf_Word, 0);
+				       ent, st_name, Elf_Word,
+				       gnu_lto - strings);
 		      ELF_SET_FIELD (type_functions, ei_class, Sym,
 				     ent, st_shndx, Elf_Half, SHN_UNDEF);
-		      *st_info = ELF_ST_INFO (ELF_ST_BIND (*st_info),
-					      STT_NOTYPE);
-		      *st_other = STV_DEFAULT;
 		    }
+		  *st_other = other;
+		  *st_info = ELF_ST_INFO (bind, STT_NOTYPE);
+		  ELF_SET_FIELD (type_functions, ei_class, Sym,
+				 ent, st_value, Elf_Addr, 0);
+		  ELF_SET_FIELD (type_functions, ei_class, Sym,
+				 ent, st_size, Elf_Word, 0);
 		}
-	      XDELETEVEC (strings);
+	      else if (raw_st_shndx < SHN_LORESERVE
+		       || raw_st_shndx == SHN_XINDEX)
+		/* Remap the section reference.  */
+		ELF_SET_FIELD (type_functions, ei_class, Sym,
+			       ent, st_shndx, Elf_Half, sh_map[st_shndx]);
 	    }
-
-	  errmsg = simple_object_write_add_data (dobj, dest,
-						 buf, length, 1, err);
-	  XDELETEVEC (buf);
-	  if (errmsg)
+	  XDELETEVEC (strings);
+	  XDELETEVEC (shndx_table);
+	}
+      else if (sh_type == SHT_GROUP)
+	{
+	  /* Remap section indices in groups and remove removed members.  */
+	  unsigned char *ent, *dst;
+	  for (dst = ent = buf + 4; ent < buf + length; ent += 4)
 	    {
-	      XDELETEVEC (names);
-	      XDELETEVEC (shdrs);
-	      return errmsg;
+	      unsigned shndx = type_functions->fetch_Elf_Word (ent);
+	      if (pfnret[shndx - 1] == -1)
+		;
+	      else
+		{
+		  type_functions->set_Elf_Word (dst, sh_map[shndx]);
+		  dst += 4;
+		}
 	    }
+	  /* Adjust the length.  */
+	  length = dst - buf;
 	}
-      else
+
+      errmsg = simple_object_write_add_data (dobj, dest,
+					     buf, length, 1, err);
+      XDELETEVEC (buf);
+      if (errmsg)
 	{
-	  /* For deleted sections mark the section header table entry as
-	     unused.  That allows the link editor to remove it in a partial
-	     link.  */
-	  ELF_SET_FIELD (type_functions, ei_class, Shdr,
-			 shdr, sh_type, Elf_Word, SHT_NULL);
+	  XDELETEVEC (names);
+	  XDELETEVEC (shdrs);
+	  XDELETEVEC (symtab_indices_shndx);
+	  return errmsg;
 	}
 
       flags = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
 			       shdr, sh_flags, Elf_Addr);
-      if (ret == 0)
-	flags &= ~SHF_EXCLUDE;
-      else if (ret == -1)
-	flags = SHF_EXCLUDE;
+      /* Remap the section references.  */
+      {
+	unsigned int sh_info, sh_link;
+	if (flags & SHF_INFO_LINK || sh_type == SHT_REL || sh_type == SHT_RELA)
+	  {
+	    sh_info = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
+				       shdr, sh_info, Elf_Word);
+	    if (sh_info < SHN_LORESERVE
+		|| sh_info > SHN_HIRESERVE)
+	      sh_info = sh_map[sh_info];
+	    ELF_SET_FIELD (type_functions, ei_class, Shdr,
+			   shdr, sh_info, Elf_Word, sh_info);
+	  }
+	sh_link = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
+				   shdr, sh_link, Elf_Word);
+	if (sh_link < SHN_LORESERVE
+	    || sh_link > SHN_HIRESERVE)
+	  sh_link = sh_map[sh_link];
+	ELF_SET_FIELD (type_functions, ei_class, Shdr,
+		       shdr, sh_link, Elf_Word, sh_link);
+      }
+      /* The debugobj doesn't contain any code, thus no trampolines.
+	 Even when the original object needs trampolines, debugobj
+	 doesn't.  */
+      if (strcmp (name, ".note.GNU-stack") == 0)
+	flags &= ~SHF_EXECINSTR;
+      /* Clear SHF_EXCLUDE on to be preserved sections.  */
+      flags &= ~SHF_EXCLUDE;
       ELF_SET_FIELD (type_functions, ei_class, Shdr,
 		     shdr, sh_flags, Elf_Addr, flags);
     }
@@ -1414,6 +1548,8 @@ simple_object_elf_copy_lto_debug_section
   XDELETEVEC (shdrs);
   XDELETEVEC (pfnret);
   XDELETEVEC (pfnname);
+  XDELETEVEC (symtab_indices_shndx);
+  XDELETEVEC (sh_map);
 
   return 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.1.0.20180703/libiberty/simple-object-mach-o.c ./libiberty/simple-object-mach-o.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/simple-object-mach-o.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/simple-object-mach-o.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* simple-object-mach-o.c -- routines to manipulate Mach-O object files.
-   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2010-2018 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Google.
 
 This program is free software; you can redistribute it and/or modify it
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/simple-object-xcoff.c ./libiberty/simple-object-xcoff.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/simple-object-xcoff.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/simple-object-xcoff.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* simple-object-coff.c -- routines to manipulate XCOFF object files.
-   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   Copyright (C) 2013-2018 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Google and David Edelsohn, IBM.
 
 This program is free software; you can redistribute it and/or modify it
@@ -606,11 +606,14 @@ simple_object_xcoff_find_sections (simpl
 		      || auxent->u.xcoff64.x_csect.x_smclas != XMC_XO)
 		    continue;
 
-		  x_scnlen64 = fetch_32 (aux + offsetof (union external_auxent,
-							 u.xcoff64.x_csect.x_scnlen_hi));
-		  x_scnlen = x_scnlen64 << 32
-			     | fetch_32 (aux + offsetof (union external_auxent,
-							 u.xcoff64.x_csect.x_scnlen_lo));
+		  x_scnlen64 = 
+		    fetch_32 (aux + offsetof (union external_auxent,
+					      u.xcoff64.x_csect.x_scnlen_hi));
+		  x_scnlen = 
+		    ((x_scnlen64 << 32)
+		     | fetch_32 (aux
+				 + offsetof (union external_auxent,
+					     u.xcoff64.x_csect.x_scnlen_lo)));
 		}
 	      else
 		{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/snprintf.c ./libiberty/snprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/snprintf.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/snprintf.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Implement the snprintf function.
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2018 Free Software Foundation, Inc.
    Written by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
 
 This file is part of the libiberty library.  This library is free
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/sort.c ./libiberty/sort.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/sort.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/sort.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Sorting algorithms.
-   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Copyright (C) 2000-2018 Free Software Foundation, Inc.
    Contributed by Mark Mitchell <mark@codesourcery.com>.
 
 This file is part of GNU CC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/spaces.c ./libiberty/spaces.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/spaces.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/spaces.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Allocate memory region filled with spaces.
-   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   Copyright (C) 1991-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/splay-tree.c ./libiberty/splay-tree.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/splay-tree.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/splay-tree.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* A splay-tree datatype.  
-   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-2018 Free Software Foundation, Inc.
    Contributed by Mark Mitchell (mark@markmitchell.com).
 
 This file is part of GNU CC.
@@ -31,6 +31,9 @@ Boston, MA 02110-1301, USA.  */
 #ifdef HAVE_STDLIB_H
 #include <stdlib.h>
 #endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
 
 #include <stdio.h>
 
@@ -590,3 +593,19 @@ splay_tree_compare_pointers (splay_tree_
   else 
     return 0;
 }
+
+/* Splay-tree comparison function, treating the keys as strings.  */
+
+int
+splay_tree_compare_strings (splay_tree_key k1, splay_tree_key k2)
+{
+  return strcmp ((char *) k1, (char *) k2);
+}
+
+/* Splay-tree delete function, simply using free.  */
+
+void
+splay_tree_delete_pointers (splay_tree_value value)
+{
+  free ((void *) value);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/stack-limit.c ./libiberty/stack-limit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/stack-limit.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/stack-limit.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Increase stack size limit if possible.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.  This library is free
 software; you can redistribute it and/or modify it under the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/stpcpy.c ./libiberty/stpcpy.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/stpcpy.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/stpcpy.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Implement the stpcpy function.
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2018 Free Software Foundation, Inc.
    Written by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/stpncpy.c ./libiberty/stpncpy.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/stpncpy.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/stpncpy.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Implement the stpncpy function.
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2018 Free Software Foundation, Inc.
    Written by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/strndup.c ./libiberty/strndup.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/strndup.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/strndup.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Implement the strndup function.
-   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Written by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/strtod.c ./libiberty/strtod.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/strtod.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/strtod.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Implementation of strtod for systems with atof.
-   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   Copyright (C) 1991-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.  This library is free
 software; you can redistribute it and/or modify it under the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/strverscmp.c ./libiberty/strverscmp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/strverscmp.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/strverscmp.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Compare strings while treating digits characters numerically.
-   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997-2018 Free Software Foundation, Inc.
    This file is part of the libiberty library.
    Contributed by Jean-François Bignolles <bignolle@ecoledoc.ibp.fr>, 1997.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/demangle-expected ./libiberty/testsuite/demangle-expected
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/demangle-expected	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/testsuite/demangle-expected	2018-07-10 02:06:14.000000000 +0000
@@ -3817,14 +3817,14 @@ C::f<int>
 # Another case where we got member function qualifiers wrong.
 --format=gnu-v3 --no-params
 _ZZ3BBdI3FooEvvENK3Fob3FabEv
-void BBd<Foo>()::Fob::Fab() const
-void BBd<Foo>()::Fob::Fab
+BBd<Foo>()::Fob::Fab() const
+BBd<Foo>()::Fob::Fab
 #
 # The same idea one level deeper.
 --format=gnu-v3 --no-params
 _ZZZ3BBdI3FooEvvENK3Fob3FabEvENK3Gob3GabEv
-void BBd<Foo>()::Fob::Fab() const::Gob::Gab() const
-void BBd<Foo>()::Fob::Fab() const::Gob::Gab
+BBd<Foo>()::Fob::Fab() const::Gob::Gab() const
+BBd<Foo>()::Fob::Fab() const::Gob::Gab
 #
 # Yet another member function qualifier problem.
 --format=gnu-v3 --no-params
@@ -4445,7 +4445,7 @@ void f<int>()
 # https://sourceware.org/bugzilla/show_bug.cgi?id=14963#c3
 --format=gnu-v3
 _ZSt7forwardIRN1x14refobjiteratorINS0_3refINS0_4mime30multipart_section_processorObjIZ15get_body_parserIZZN14mime_processor21make_section_iteratorERKNS2_INS3_10sectionObjENS0_10ptrrefBaseEEEbENKUlvE_clEvEUlSB_bE_ZZNS6_21make_section_iteratorESB_bENKSC_clEvEUlSB_E0_ENS1_INS2_INS0_20outputrefiteratorObjIiEES8_EEEERKSsSB_OT_OT0_EUlmE_NS3_32make_multipart_default_discarderISP_EEEES8_EEEEEOT_RNSt16remove_referenceISW_E4typeE
-x::refobjiterator<x::ref<x::mime::multipart_section_processorObj<x::refobjiterator<x::ref<x::outputrefiteratorObj<int>, x::ptrrefBase> > get_body_parser<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}>(std::string const&, x::ref<x::mime::sectionObj, x::ptrrefBase> const&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}&&)::{lambda(unsigned long)#1}, x::mime::make_multipart_default_discarder<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&> >, x::ptrrefBase> >& std::forward<x::refobjiterator<x::ref<x::mime::multipart_section_processorObj<x::refobjiterator<x::ref<x::outputrefiteratorObj<int>, x::ptrrefBase> > get_body_parser<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}>(std::string const&, x::ref<x::mime::sectionObj, x::ptrrefBase> const&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}&&)::{lambda(unsigned long)#1}, x::mime::make_multipart_default_discarder<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&> >, x::ptrrefBase> >&>(std::remove_reference<x::mime::multipart_section_processorObj<x::refobjiterator<x::ref<x::outputrefiteratorObj<int>, x::ptrrefBase> > get_body_parser<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}>(std::string const&, x::ref<x::mime::sectionObj, x::ptrrefBase> const&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}&&)::{lambda(unsigned long)#1}, x::mime::make_multipart_default_discarder<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&> > >::type&)
+x::refobjiterator<x::ref<x::mime::multipart_section_processorObj<get_body_parser<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}>(std::string const&, x::ref<x::mime::sectionObj, x::ptrrefBase> const&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}&&)::{lambda(unsigned long)#1}, x::mime::make_multipart_default_discarder<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&> >, x::ptrrefBase> >& std::forward<x::refobjiterator<x::ref<x::mime::multipart_section_processorObj<get_body_parser<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}>(std::string const&, x::ref<x::mime::sectionObj, x::ptrrefBase> const&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}&&)::{lambda(unsigned long)#1}, x::mime::make_multipart_default_discarder<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&> >, x::ptrrefBase> >&>(std::remove_reference<x::mime::multipart_section_processorObj<get_body_parser<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}>(std::string const&, x::ref<x::mime::sectionObj, x::ptrrefBase> const&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}&&)::{lambda(unsigned long)#1}, x::mime::make_multipart_default_discarder<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&> > >::type&)
 #
 --format=gnu-v3 --no-params
 _ZNK7strings8internal8SplitterINS_9delimiter5AnyOfENS_9SkipEmptyEEcvT_ISt6vectorI12basic_stringIcSt11char_traitsIcESaIcEESaISD_EEvEEv
@@ -4469,28 +4469,28 @@ A::operator C<int><C>
 # https://sourceware.org/bugzilla/show_bug.cgi?id=14963#c16
 --format=gnu-v3
 _ZN3mdr16in_cached_threadIRZNK4cudr6GPUSet17parallel_for_eachIZN5tns3d20shape_representation7compute7GPUImpl7executeERKNS_1AINS_7ptr_refIKjEELl3ELl3ENS_8c_strideILl1ELl0EEEEERKNS8_INS9_IjEELl4ELl1ESD_EEEUliRKNS1_7ContextERNS7_5StateEE_JSt6vectorISO_SaISO_EEEEEvOT_DpRT0_EUlSP_E_JSt17reference_wrapperISO_EEEENS_12ScopedFutureIDTclfp_spcl7forwardISW_Efp0_EEEEESV_DpOSW_
-mdr::ScopedFuture<decltype ({parm#1}(((forward<void cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&>)({parm#2}))...))> mdr::in_cached_thread<void cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(void cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&, std::reference_wrapper<tns3d::shape_representation::compute::GPUImpl::State> >(void cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&, (void cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&&&)...)
+mdr::ScopedFuture<decltype ({parm#1}(((forward<cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&>)({parm#2}))...))> mdr::in_cached_thread<cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&, std::reference_wrapper<tns3d::shape_representation::compute::GPUImpl::State> >(cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&, (cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&&&)...)
 # https://sourceware.org/bugzilla/show_bug.cgi?id=14963#c18
 --format=gnu-v3
 _ZNSt9_Any_data9_M_accessIPZN13ThreadManager10futureTaskISt5_BindIFSt7_Mem_fnIM6RunnerFvvEEPS5_EEEEvOT_EUlvE_EERSC_v
-void ThreadManager::futureTask<std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)> >(std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)>&&)::{lambda()#1}*& std::_Any_data::_M_access<void ThreadManager::futureTask<std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)> >(void ThreadManager::futureTask<std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)> >(std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)>&&)::{lambda()#1}*&&)::{lambda()#1}*>()
+ThreadManager::futureTask<std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)> >(std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)>&&)::{lambda()#1}*& std::_Any_data::_M_access<ThreadManager::futureTask<std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)> >(ThreadManager::futureTask<std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)> >(std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)>&&)::{lambda()#1}*&&)::{lambda()#1}*>()
 # https://sourceware.org/bugzilla/show_bug.cgi?id=14963#c24
 # aka https://sourceware.org/bugzilla/show_bug.cgi?id=16593
 --format=gnu-v3
 _ZNSt9_Any_data9_M_accessIPZN3sel8Selector6SetObjI3FooJPKcMS4_FviEEEEvRT_DpT0_EUlvE_EESA_v
-void sel::Selector::SetObj<Foo, char const*, void (Foo::*)(int)>(Foo&, char const*, void (Foo::*)(int))::{lambda()#1}*& std::_Any_data::_M_access<void sel::Selector::SetObj<Foo, char const*, void (Foo::*)(int)>(void sel::Selector::SetObj<Foo, char const*, void (Foo::*)(int)>(Foo&, char const*, void (Foo::*)(int))::{lambda()#1}*&, char const*, void (Foo::*)(int))::{lambda()#1}*>()
+sel::Selector::SetObj<Foo, char const*, void (Foo::*)(int)>(Foo&, char const*, void (Foo::*)(int))::{lambda()#1}*& std::_Any_data::_M_access<sel::Selector::SetObj<Foo, char const*, void (Foo::*)(int)>(sel::Selector::SetObj<Foo, char const*, void (Foo::*)(int)>(Foo&, char const*, void (Foo::*)(int))::{lambda()#1}*&, char const*, void (Foo::*)(int))::{lambda()#1}*>()
 # https://sourceware.org/bugzilla/show_bug.cgi?id=16752#c1
 --format=gnu-v3
 _ZNSt9_Any_data9_M_accessIPZN13ThreadManager7newTaskIRSt5_BindIFSt7_Mem_fnIM5DiaryFivEEPS5_EEIEEESt6futureINSt9result_ofIFT_DpT0_EE4typeEEOSF_DpOSG_EUlvE_EERSF_v
-std::future<std::result_of<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>& ()>::type> ThreadManager::newTask<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&>(std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&)::{lambda()#1}*& std::_Any_data::_M_access<std::future<std::result_of<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>& ()>::type> ThreadManager::newTask<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&>(std::future<std::result_of<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>& ()>::type> ThreadManager::newTask<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&>(std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&)::{lambda()#1}*&&)::{lambda()#1}*>()
+ThreadManager::newTask<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&>(std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&)::{lambda()#1}*& std::_Any_data::_M_access<ThreadManager::newTask<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&>(ThreadManager::newTask<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&>(std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&)::{lambda()#1}*&&)::{lambda()#1}*>()
 # https://sourceware.org/bugzilla/show_bug.cgi?id=16752#c6
 --format=gnu-v3
 _ZNSt9_Any_data9_M_accessIPZN6cereal18polymorphic_detail15getInputBindingINS1_16JSONInputArchiveEEENS1_6detail15InputBindingMapIT_E11SerializersERS7_jEUlPvRSt10unique_ptrIvNS5_12EmptyDeleterIvEEEE0_EESA_v
-cereal::detail::InputBindingMap<cereal::JSONInputArchive>::Serializers cereal::polymorphic_detail::getInputBinding<cereal::JSONInputArchive>(cereal::JSONInputArchive&, unsigned int)::{lambda(void*, std::unique_ptr<void, cereal::detail::EmptyDeleter<void> >&)#2}*& std::_Any_data::_M_access<cereal::detail::InputBindingMap<cereal::JSONInputArchive>::Serializers cereal::polymorphic_detail::getInputBinding<cereal::JSONInputArchive>(cereal::detail::InputBindingMap<cereal::JSONInputArchive>::Serializers cereal::polymorphic_detail::getInputBinding<cereal::JSONInputArchive>(cereal::JSONInputArchive&, unsigned int)::{lambda(void*, std::unique_ptr<void, cereal::detail::EmptyDeleter<void> >&)#2}*&, unsigned int)::{lambda(void*, std::unique_ptr<void, cereal::detail::EmptyDeleter<void> >&)#2}*>()
+cereal::polymorphic_detail::getInputBinding<cereal::JSONInputArchive>(cereal::JSONInputArchive&, unsigned int)::{lambda(void*, std::unique_ptr<void, cereal::detail::EmptyDeleter<void> >&)#2}*& std::_Any_data::_M_access<cereal::polymorphic_detail::getInputBinding<cereal::JSONInputArchive>(cereal::polymorphic_detail::getInputBinding<cereal::JSONInputArchive>(cereal::JSONInputArchive&, unsigned int)::{lambda(void*, std::unique_ptr<void, cereal::detail::EmptyDeleter<void> >&)#2}*&, unsigned int)::{lambda(void*, std::unique_ptr<void, cereal::detail::EmptyDeleter<void> >&)#2}*>()
 # https://sourceware.org/bugzilla/show_bug.cgi?id=16845#c2
 --format=gnu-v3
 _ZNSt9_Any_data9_M_accessIPZ4postISt8functionIFvvEEEvOT_EUlvE_EERS5_v
-void post<std::function<void ()> >(std::function<void ()>&&)::{lambda()#1}*& std::_Any_data::_M_access<void post<std::function<void ()> >(void post<std::function<void ()> >(std::function<void ()>&&)::{lambda()#1}*&&)::{lambda()#1}*>()
+post<std::function<void ()> >(std::function<void ()>&&)::{lambda()#1}*& std::_Any_data::_M_access<post<std::function<void ()> >(post<std::function<void ()> >(std::function<void ()>&&)::{lambda()#1}*&&)::{lambda()#1}*>()
 #
 --format=auto --no-params
 _Z3xxxDFyuVb
@@ -4525,7 +4525,7 @@ void function_temp<int>(A<sizeof ((int)(
 #
 --format=gnu-v3
 _Z7ZipWithI7QStringS0_5QListZN4oral6detail16AdaptCreateTableI7AccountEES0_RKNS3_16CachedFieldsDataEEUlRKS0_SA_E_ET1_IDTclfp1_cvT__EcvT0__EEEERKT1_ISC_ERKT1_ISD_ET2_
-QList<decltype ({parm#3}((QString)(), (QString)()))> ZipWith<QString, QString, QList, QString oral::detail::AdaptCreateTable<Account>(oral::detail::CachedFieldsData const&)::{lambda(QString const&, QString const&)#1}>(QList<QString oral::detail::AdaptCreateTable<Account>(oral::detail::CachedFieldsData const&)::{lambda(QString const&, QString const&)#1}> const&, QList<QList> const&, QString oral::detail::AdaptCreateTable<Account>(oral::detail::CachedFieldsData const&)::{lambda(QString const&, QString const&)#1})
+QList<decltype ({parm#3}((QString)(), (QString)()))> ZipWith<QString, QString, QList, oral::detail::AdaptCreateTable<Account>(oral::detail::CachedFieldsData const&)::{lambda(QString const&, QString const&)#1}>(QList<oral::detail::AdaptCreateTable<Account>(oral::detail::CachedFieldsData const&)::{lambda(QString const&, QString const&)#1}> const&, QList<QList> const&, oral::detail::AdaptCreateTable<Account>(oral::detail::CachedFieldsData const&)::{lambda(QString const&, QString const&)#1})
 #
 # These three are symbols generated by g++'s testsuite, which triggered the same bug as above.
 --format=gnu-v3
@@ -4665,7 +4665,7 @@ _Z3eatIPiZ3FoovEUlPT_PT0_E4_EvRS1_RS3_
 void eat<int*, Foo()::{lambda(auto:1*, auto:2*)#6}>(int*&, Foo()::{lambda(auto:1*, auto:2*)#6}&)
 
 _Z3eatIPiZ3BarIsEvvEUlPsPT_PT0_E0_EvRS3_RS5_
-void eat<int*, void Bar<short>()::{lambda(short*, auto:1*, auto:2*)#2}>(int*&, void Bar<short>()::{lambda(short*, auto:1*, auto:2*)#2}&)
+void eat<int*, Bar<short>()::{lambda(short*, auto:1*, auto:2*)#2}>(int*&, Bar<short>()::{lambda(short*, auto:1*, auto:2*)#2}&)
 
 # PR 77489
 _ZZ3foovE8localVar_9
@@ -4739,14 +4739,28 @@ __thunk_4294967297__$_1x
 # demangler/82195 members of lambdas
 --no-params
 _ZZZ3FoovENKUlT_E_clIiEEfS_EN5Local2fnEv
-Foo()::float {lambda(auto:1)#1}::operator()<int>(int) const::Local::fn()
-Foo()::float {lambda(auto:1)#1}::operator()<int>(int) const::Local::fn
+Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::Local::fn()
+Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::Local::fn
 --no-params
 _Z7CaptureIZZ3FoovENKUlT_E_clIiEEvS0_EUlvE_EvOS0_
-void Capture<Foo()::void {lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>(Foo()::void {lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}&&)
-Capture<Foo()::void {lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>
+void Capture<Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>(Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}&&)
+Capture<Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>
 --no-params
 _Z4FrobIZZ3FoovENKUlT_E_clIiEEvS0_EUlvE_Evv
-void Frob<Foo()::void {lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>()
-Frob<Foo()::void {lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>
-#
+void Frob<Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>()
+Frob<Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>
+# A lambda {local-class::member-fn}
+--no-params
+_ZZ3FoovENKUlT_E_clIiEEfS_
+float Foo()::{lambda(auto:1)#1}::operator()<int>(int) const
+Foo()::{lambda(auto:1)#1}::operator()<int>
+# template-fn {local-class::member-fn}
+--no-params
+_ZZ3FooIiEfvEN1X2fnEv
+Foo<int>()::X::fn()
+Foo<int>()::X::fn
+# template-fn generic-lambda local-class::member-fn
+--no-params
+_ZZZ3FooIiEfvENKUlT_E_clIcEEDaS0_EN1X2fnEv
+Foo<int>()::{lambda(auto:1)#1}::operator()<char>(char) const::X::fn()
+Foo<int>()::{lambda(auto:1)#1}::operator()<char>(char) const::X::fn
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/demangler-fuzzer.c ./libiberty/testsuite/demangler-fuzzer.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/demangler-fuzzer.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/testsuite/demangler-fuzzer.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Demangler fuzzer.
 
-   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   Copyright (C) 2014-2018 Free Software Foundation, Inc.
 
    This file is part of GNU libiberty.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/Makefile.in ./libiberty/testsuite/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/Makefile.in	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/testsuite/Makefile.in	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 #
 # Makefile
-#   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#   Copyright (C) 1999-2018 Free Software Foundation, Inc.
 #
 # This file is part of the libiberty library.
 # Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/test-demangle.c ./libiberty/testsuite/test-demangle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/test-demangle.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/testsuite/test-demangle.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Demangler test program,
-   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2018 Free Software Foundation, Inc.
    Written by Zack Weinberg <zack@codesourcery.com
 
    This file is part of GNU libiberty.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/test-expandargv.c ./libiberty/testsuite/test-expandargv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/test-expandargv.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/testsuite/test-expandargv.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* expandargv test program,
-   Copyright (C) 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2018 Free Software Foundation, Inc.
    Written by Carlos O'Donell <carlos@codesourcery.com>
 
    This file is part of the libiberty library, which is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/test-pexecute.c ./libiberty/testsuite/test-pexecute.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/test-pexecute.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/testsuite/test-pexecute.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Pexecute test program,
-   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Written by Ian Lance Taylor <ian@airs.com>.
 
    This file is part of GNU libiberty.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/test-strtol.c ./libiberty/testsuite/test-strtol.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/testsuite/test-strtol.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/testsuite/test-strtol.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Test program for strtol family of funtions,
-   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   Copyright (C) 2014-2018 Free Software Foundation, Inc.
    Written by Yury Gribov <y.gribov@samsung.com>
 
    This file is part of the libiberty library, which is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/timeval-utils.c ./libiberty/timeval-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/timeval-utils.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/timeval-utils.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Basic struct timeval utilities.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/unlink-if-ordinary.c ./libiberty/unlink-if-ordinary.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/unlink-if-ordinary.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/unlink-if-ordinary.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* unlink-if-ordinary.c - remove link to a file unless it is special
-   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.  This library is free
 software; you can redistribute it and/or modify it under the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vasprintf.c ./libiberty/vasprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vasprintf.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/vasprintf.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Like vsprintf but provides a pointer to malloc'd storage, which must
    be freed by the caller.
-   Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vfprintf.c ./libiberty/vfprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vfprintf.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/vfprintf.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Provide a version vfprintf in terms of _doprnt.
    By Kaveh Ghazi  (ghazi@caip.rutgers.edu)  3/29/98
-   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-2018 Free Software Foundation, Inc.
  */
 
 #include "ansidecl.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vprintf-support.c ./libiberty/vprintf-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vprintf-support.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/vprintf-support.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Estimate the length of the string generated by a vprintf-like
    function.  Used by vasprintf and xvasprintf.
-   Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vprintf-support.h ./libiberty/vprintf-support.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vprintf-support.h	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/vprintf-support.h	2018-07-10 02:06:14.000000000 +0000
@@ -1,6 +1,6 @@
 /* Estimate the length of the string generated by a vprintf-like
    function.  Use by vasprintf and xvasprintf.
-   Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vsnprintf.c ./libiberty/vsnprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vsnprintf.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/vsnprintf.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Implement the vsnprintf function.
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2018 Free Software Foundation, Inc.
    Written by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
 
 This file is part of the libiberty library.  This library is free
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vsprintf.c ./libiberty/vsprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/vsprintf.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/vsprintf.c	2018-07-10 02:06:14.000000000 +0000
@@ -3,7 +3,7 @@
    implementations of stdio; newer ones should already have vsprintf.
    Written by Per Bothner of Cygnus Support.
    Based on libg++'s "form" (written by Doug Lea; dl@rocky.oswego.edu).
-   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   Copyright (C) 1991-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.  This library is free
 software; you can redistribute it and/or modify it under the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/xasprintf.c ./libiberty/xasprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/xasprintf.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/xasprintf.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Implement the xasprintf function.
-   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   Copyright (C) 2014-2018 Free Software Foundation, Inc.
    Contributed by Manuel Lopez-Ibanez.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/xexit.c ./libiberty/xexit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/xexit.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/xexit.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* xexit.c -- Run any exit handlers, then exit.
-   Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/xmalloc.c ./libiberty/xmalloc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/xmalloc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/xmalloc.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* memory allocation routines with error checking.
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   Copyright (C) 1989-2018 Free Software Foundation, Inc.
    
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/xstrndup.c ./libiberty/xstrndup.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/xstrndup.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/xstrndup.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Implement the xstrndup function.
-   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
    Written by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/xvasprintf.c ./libiberty/xvasprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libiberty/xvasprintf.c	2018-07-03 02:06:30.000000000 +0000
+++ ./libiberty/xvasprintf.c	2018-07-10 02:06:14.000000000 +0000
@@ -1,5 +1,5 @@
 /* Implement the xvasprintf function.
-   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   Copyright (C) 2014-2018 Free Software Foundation, Inc.
    Contributed by Manuel Lopez-Ibanez.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libtool.m4 ./libtool.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/libtool.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./libtool.m4	2018-07-10 02:06:14.000000000 +0000
@@ -1079,7 +1079,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
 # to the aix ld manual.
 m4_defun([_LT_SYS_MODULE_PATH_AIX],
 [m4_require([_LT_DECL_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+AC_LINK_IFELSE([AC_LANG_SOURCE([AC_LANG_PROGRAM])],[
 lt_aix_libpath_sed='
     /Import File Strings/,/^$/ {
 	/^0/ {
@@ -4932,7 +4932,7 @@ _LT_EOF
 	# implicitly export all symbols.
         save_LDFLAGS="$LDFLAGS"
         LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        AC_LINK_IFELSE(int foo(void) {},
+        AC_LINK_IFELSE([AC_LANG_SOURCE([int foo(void) {}])],
           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
         )
         LDFLAGS="$save_LDFLAGS"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/Makefile.def ./Makefile.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/Makefile.def	2018-07-03 02:06:27.000000000 +0000
+++ ./Makefile.def	2018-07-10 02:06:11.000000000 +0000
@@ -593,7 +593,8 @@ languages = { language=c++;	gcc-check-ta
 				lib-check-target=check-target-libgomp-c++; };
 languages = { language=fortran;	gcc-check-target=check-fortran;
 				lib-check-target=check-target-libquadmath;
-				lib-check-target=check-target-libgfortran; };
+				lib-check-target=check-target-libgfortran;
+				lib-check-target=check-target-libgomp-fortran; };
 languages = { language=ada;	gcc-check-target=check-ada;
 				lib-check-target=check-target-libada; };
 languages = { language=objc;	gcc-check-target=check-objc;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/Makefile.in ./Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/Makefile.in	2018-07-03 02:06:31.000000000 +0000
+++ ./Makefile.in	2018-07-10 02:06:15.000000000 +0000
@@ -46908,6 +46908,10 @@ maintainer-clean-target-libatomic: 
 check-target-libgomp-c++:
 	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++.exp" check-target-libgomp
 
+.PHONY: check-target-libgomp-fortran
+check-target-libgomp-fortran:
+	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) fortran.exp" check-target-libgomp
+
 @endif target-libgomp
 
 @if target-libitm
@@ -46959,7 +46963,7 @@ check-gcc-fortran:
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	$(HOST_EXPORTS) \
 	(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-fortran);
-check-fortran: check-gcc-fortran check-target-libquadmath check-target-libgfortran
+check-fortran: check-gcc-fortran check-target-libquadmath check-target-libgfortran check-target-libgomp-fortran
 
 .PHONY: check-gcc-ada check-ada
 check-gcc-ada:
@@ -49270,7 +49274,6 @@ all-build-m4: maybe-all-build-texinfo
 all-build-fixincludes: maybe-all-build-libiberty
 all-build-libcpp: maybe-all-build-libiberty
 configure-gcc: maybe-configure-intl
-
 configure-stage1-gcc: maybe-configure-stage1-intl
 configure-stage2-gcc: maybe-configure-stage2-intl
 configure-stage3-gcc: maybe-configure-stage3-intl
@@ -49278,7 +49281,6 @@ configure-stage4-gcc: maybe-configure-st
 configure-stageprofile-gcc: maybe-configure-stageprofile-intl
 configure-stagefeedback-gcc: maybe-configure-stagefeedback-intl
 configure-gcc: maybe-all-gmp
-
 configure-stage1-gcc: maybe-all-stage1-gmp
 configure-stage2-gcc: maybe-all-stage2-gmp
 configure-stage3-gcc: maybe-all-stage3-gmp
@@ -49286,7 +49288,6 @@ configure-stage4-gcc: maybe-all-stage4-g
 configure-stageprofile-gcc: maybe-all-stageprofile-gmp
 configure-stagefeedback-gcc: maybe-all-stagefeedback-gmp
 configure-gcc: maybe-all-mpfr
-
 configure-stage1-gcc: maybe-all-stage1-mpfr
 configure-stage2-gcc: maybe-all-stage2-mpfr
 configure-stage3-gcc: maybe-all-stage3-mpfr
@@ -49294,7 +49295,6 @@ configure-stage4-gcc: maybe-all-stage4-m
 configure-stageprofile-gcc: maybe-all-stageprofile-mpfr
 configure-stagefeedback-gcc: maybe-all-stagefeedback-mpfr
 configure-gcc: maybe-all-mpc
-
 configure-stage1-gcc: maybe-all-stage1-mpc
 configure-stage2-gcc: maybe-all-stage2-mpc
 configure-stage3-gcc: maybe-all-stage3-mpc
@@ -49302,7 +49302,6 @@ configure-stage4-gcc: maybe-all-stage4-m
 configure-stageprofile-gcc: maybe-all-stageprofile-mpc
 configure-stagefeedback-gcc: maybe-all-stagefeedback-mpc
 configure-gcc: maybe-all-isl
-
 configure-stage1-gcc: maybe-all-stage1-isl
 configure-stage2-gcc: maybe-all-stage2-isl
 configure-stage3-gcc: maybe-all-stage3-isl
@@ -49310,7 +49309,6 @@ configure-stage4-gcc: maybe-all-stage4-i
 configure-stageprofile-gcc: maybe-all-stageprofile-isl
 configure-stagefeedback-gcc: maybe-all-stagefeedback-isl
 configure-gcc: maybe-all-lto-plugin
-
 configure-stage1-gcc: maybe-all-stage1-lto-plugin
 configure-stage2-gcc: maybe-all-stage2-lto-plugin
 configure-stage3-gcc: maybe-all-stage3-lto-plugin
@@ -49318,7 +49316,6 @@ configure-stage4-gcc: maybe-all-stage4-l
 configure-stageprofile-gcc: maybe-all-stageprofile-lto-plugin
 configure-stagefeedback-gcc: maybe-all-stagefeedback-lto-plugin
 configure-gcc: maybe-all-binutils
-
 configure-stage1-gcc: maybe-all-stage1-binutils
 configure-stage2-gcc: maybe-all-stage2-binutils
 configure-stage3-gcc: maybe-all-stage3-binutils
@@ -49326,7 +49323,6 @@ configure-stage4-gcc: maybe-all-stage4-b
 configure-stageprofile-gcc: maybe-all-stageprofile-binutils
 configure-stagefeedback-gcc: maybe-all-stagefeedback-binutils
 configure-gcc: maybe-all-gas
-
 configure-stage1-gcc: maybe-all-stage1-gas
 configure-stage2-gcc: maybe-all-stage2-gas
 configure-stage3-gcc: maybe-all-stage3-gas
@@ -49334,7 +49330,6 @@ configure-stage4-gcc: maybe-all-stage4-g
 configure-stageprofile-gcc: maybe-all-stageprofile-gas
 configure-stagefeedback-gcc: maybe-all-stagefeedback-gas
 configure-gcc: maybe-all-ld
-
 configure-stage1-gcc: maybe-all-stage1-ld
 configure-stage2-gcc: maybe-all-stage2-ld
 configure-stage3-gcc: maybe-all-stage3-ld
@@ -49342,7 +49337,6 @@ configure-stage4-gcc: maybe-all-stage4-l
 configure-stageprofile-gcc: maybe-all-stageprofile-ld
 configure-stagefeedback-gcc: maybe-all-stagefeedback-ld
 configure-gcc: maybe-all-gold
-
 configure-stage1-gcc: maybe-all-stage1-gold
 configure-stage2-gcc: maybe-all-stage2-gold
 configure-stage3-gcc: maybe-all-stage3-gold
@@ -49350,7 +49344,6 @@ configure-stage4-gcc: maybe-all-stage4-g
 configure-stageprofile-gcc: maybe-all-stageprofile-gold
 configure-stagefeedback-gcc: maybe-all-stagefeedback-gold
 configure-gcc: maybe-all-libelf
-
 configure-stage1-gcc: maybe-all-stage1-libelf
 configure-stage2-gcc: maybe-all-stage2-libelf
 configure-stage3-gcc: maybe-all-stage3-libelf
@@ -49358,7 +49351,6 @@ configure-stage4-gcc: maybe-all-stage4-l
 configure-stageprofile-gcc: maybe-all-stageprofile-libelf
 configure-stagefeedback-gcc: maybe-all-stagefeedback-libelf
 configure-gcc: maybe-all-libiconv
-
 configure-stage1-gcc: maybe-all-stage1-libiconv
 configure-stage2-gcc: maybe-all-stage2-libiconv
 configure-stage3-gcc: maybe-all-stage3-libiconv
@@ -49366,7 +49358,6 @@ configure-stage4-gcc: maybe-all-stage4-l
 configure-stageprofile-gcc: maybe-all-stageprofile-libiconv
 configure-stagefeedback-gcc: maybe-all-stagefeedback-libiconv
 all-gcc: all-libiberty
-
 all-stage1-gcc: all-stage1-libiberty
 all-stage2-gcc: all-stage2-libiberty
 all-stage3-gcc: all-stage3-libiberty
@@ -49374,7 +49365,6 @@ all-stage4-gcc: all-stage4-libiberty
 all-stageprofile-gcc: all-stageprofile-libiberty
 all-stagefeedback-gcc: all-stagefeedback-libiberty
 all-gcc: maybe-all-intl
-
 all-stage1-gcc: maybe-all-stage1-intl
 all-stage2-gcc: maybe-all-stage2-intl
 all-stage3-gcc: maybe-all-stage3-intl
@@ -49382,7 +49372,6 @@ all-stage4-gcc: maybe-all-stage4-intl
 all-stageprofile-gcc: maybe-all-stageprofile-intl
 all-stagefeedback-gcc: maybe-all-stagefeedback-intl
 all-gcc: maybe-all-mpfr
-
 all-stage1-gcc: maybe-all-stage1-mpfr
 all-stage2-gcc: maybe-all-stage2-mpfr
 all-stage3-gcc: maybe-all-stage3-mpfr
@@ -49390,7 +49379,6 @@ all-stage4-gcc: maybe-all-stage4-mpfr
 all-stageprofile-gcc: maybe-all-stageprofile-mpfr
 all-stagefeedback-gcc: maybe-all-stagefeedback-mpfr
 all-gcc: maybe-all-mpc
-
 all-stage1-gcc: maybe-all-stage1-mpc
 all-stage2-gcc: maybe-all-stage2-mpc
 all-stage3-gcc: maybe-all-stage3-mpc
@@ -49398,7 +49386,6 @@ all-stage4-gcc: maybe-all-stage4-mpc
 all-stageprofile-gcc: maybe-all-stageprofile-mpc
 all-stagefeedback-gcc: maybe-all-stagefeedback-mpc
 all-gcc: maybe-all-isl
-
 all-stage1-gcc: maybe-all-stage1-isl
 all-stage2-gcc: maybe-all-stage2-isl
 all-stage3-gcc: maybe-all-stage3-isl
@@ -49406,7 +49393,6 @@ all-stage4-gcc: maybe-all-stage4-isl
 all-stageprofile-gcc: maybe-all-stageprofile-isl
 all-stagefeedback-gcc: maybe-all-stagefeedback-isl
 all-gcc: maybe-all-build-texinfo
-
 all-stage1-gcc: maybe-all-build-texinfo
 all-stage2-gcc: maybe-all-build-texinfo
 all-stage3-gcc: maybe-all-build-texinfo
@@ -49414,7 +49400,6 @@ all-stage4-gcc: maybe-all-build-texinfo
 all-stageprofile-gcc: maybe-all-build-texinfo
 all-stagefeedback-gcc: maybe-all-build-texinfo
 all-gcc: maybe-all-build-bison
-
 all-stage1-gcc: maybe-all-build-bison
 all-stage2-gcc: maybe-all-build-bison
 all-stage3-gcc: maybe-all-build-bison
@@ -49422,7 +49407,6 @@ all-stage4-gcc: maybe-all-build-bison
 all-stageprofile-gcc: maybe-all-build-bison
 all-stagefeedback-gcc: maybe-all-build-bison
 all-gcc: maybe-all-build-flex
-
 all-stage1-gcc: maybe-all-build-flex
 all-stage2-gcc: maybe-all-build-flex
 all-stage3-gcc: maybe-all-build-flex
@@ -49430,7 +49414,6 @@ all-stage4-gcc: maybe-all-build-flex
 all-stageprofile-gcc: maybe-all-build-flex
 all-stagefeedback-gcc: maybe-all-build-flex
 all-gcc: maybe-all-build-libiberty
-
 all-stage1-gcc: maybe-all-build-libiberty
 all-stage2-gcc: maybe-all-build-libiberty
 all-stage3-gcc: maybe-all-build-libiberty
@@ -49438,7 +49421,6 @@ all-stage4-gcc: maybe-all-build-libibert
 all-stageprofile-gcc: maybe-all-build-libiberty
 all-stagefeedback-gcc: maybe-all-build-libiberty
 all-gcc: maybe-all-build-fixincludes
-
 all-stage1-gcc: maybe-all-build-fixincludes
 all-stage2-gcc: maybe-all-build-fixincludes
 all-stage3-gcc: maybe-all-build-fixincludes
@@ -49446,7 +49428,6 @@ all-stage4-gcc: maybe-all-build-fixinclu
 all-stageprofile-gcc: maybe-all-build-fixincludes
 all-stagefeedback-gcc: maybe-all-build-fixincludes
 all-gcc: maybe-all-build-libcpp
-
 all-stage1-gcc: maybe-all-build-libcpp
 all-stage2-gcc: maybe-all-build-libcpp
 all-stage3-gcc: maybe-all-build-libcpp
@@ -49454,7 +49435,6 @@ all-stage4-gcc: maybe-all-build-libcpp
 all-stageprofile-gcc: maybe-all-build-libcpp
 all-stagefeedback-gcc: maybe-all-build-libcpp
 all-gcc: maybe-all-zlib
-
 all-stage1-gcc: maybe-all-stage1-zlib
 all-stage2-gcc: maybe-all-stage2-zlib
 all-stage3-gcc: maybe-all-stage3-zlib
@@ -49462,7 +49442,6 @@ all-stage4-gcc: maybe-all-stage4-zlib
 all-stageprofile-gcc: maybe-all-stageprofile-zlib
 all-stagefeedback-gcc: maybe-all-stagefeedback-zlib
 all-gcc: all-libbacktrace
-
 all-stage1-gcc: all-stage1-libbacktrace
 all-stage2-gcc: all-stage2-libbacktrace
 all-stage3-gcc: all-stage3-libbacktrace
@@ -49470,7 +49449,6 @@ all-stage4-gcc: all-stage4-libbacktrace
 all-stageprofile-gcc: all-stageprofile-libbacktrace
 all-stagefeedback-gcc: all-stagefeedback-libbacktrace
 all-gcc: all-libcpp
-
 all-stage1-gcc: all-stage1-libcpp
 all-stage2-gcc: all-stage2-libcpp
 all-stage3-gcc: all-stage3-libcpp
@@ -49478,7 +49456,6 @@ all-stage4-gcc: all-stage4-libcpp
 all-stageprofile-gcc: all-stageprofile-libcpp
 all-stagefeedback-gcc: all-stagefeedback-libcpp
 all-gcc: all-libdecnumber
-
 all-stage1-gcc: all-stage1-libdecnumber
 all-stage2-gcc: all-stage2-libdecnumber
 all-stage3-gcc: all-stage3-libdecnumber
@@ -49486,7 +49463,6 @@ all-stage4-gcc: all-stage4-libdecnumber
 all-stageprofile-gcc: all-stageprofile-libdecnumber
 all-stagefeedback-gcc: all-stagefeedback-libdecnumber
 all-gcc: maybe-all-libiberty
-
 all-stage1-gcc: maybe-all-stage1-libiberty
 all-stage2-gcc: maybe-all-stage2-libiberty
 all-stage3-gcc: maybe-all-stage3-libiberty
@@ -49494,7 +49470,6 @@ all-stage4-gcc: maybe-all-stage4-libiber
 all-stageprofile-gcc: maybe-all-stageprofile-libiberty
 all-stagefeedback-gcc: maybe-all-stagefeedback-libiberty
 all-gcc: maybe-all-fixincludes
-
 all-stage1-gcc: maybe-all-stage1-fixincludes
 all-stage2-gcc: maybe-all-stage2-fixincludes
 all-stage3-gcc: maybe-all-stage3-fixincludes
@@ -49502,7 +49477,6 @@ all-stage4-gcc: maybe-all-stage4-fixincl
 all-stageprofile-gcc: maybe-all-stageprofile-fixincludes
 all-stagefeedback-gcc: maybe-all-stagefeedback-fixincludes
 all-gcc: maybe-all-lto-plugin
-
 all-stage1-gcc: maybe-all-stage1-lto-plugin
 all-stage2-gcc: maybe-all-stage2-lto-plugin
 all-stage3-gcc: maybe-all-stage3-lto-plugin
@@ -49510,7 +49484,6 @@ all-stage4-gcc: maybe-all-stage4-lto-plu
 all-stageprofile-gcc: maybe-all-stageprofile-lto-plugin
 all-stagefeedback-gcc: maybe-all-stagefeedback-lto-plugin
 all-gcc: maybe-all-libiconv
-
 all-stage1-gcc: maybe-all-stage1-libiconv
 all-stage2-gcc: maybe-all-stage2-libiconv
 all-stage3-gcc: maybe-all-stage3-libiconv
@@ -49518,7 +49491,6 @@ all-stage4-gcc: maybe-all-stage4-libicon
 all-stageprofile-gcc: maybe-all-stageprofile-libiconv
 all-stagefeedback-gcc: maybe-all-stagefeedback-libiconv
 info-gcc: maybe-all-build-libiberty
-
 info-stage1-gcc: maybe-all-build-libiberty
 info-stage2-gcc: maybe-all-build-libiberty
 info-stage3-gcc: maybe-all-build-libiberty
@@ -49526,7 +49498,6 @@ info-stage4-gcc: maybe-all-build-libiber
 info-stageprofile-gcc: maybe-all-build-libiberty
 info-stagefeedback-gcc: maybe-all-build-libiberty
 dvi-gcc: maybe-all-build-libiberty
-
 dvi-stage1-gcc: maybe-all-build-libiberty
 dvi-stage2-gcc: maybe-all-build-libiberty
 dvi-stage3-gcc: maybe-all-build-libiberty
@@ -49534,7 +49505,6 @@ dvi-stage4-gcc: maybe-all-build-libibert
 dvi-stageprofile-gcc: maybe-all-build-libiberty
 dvi-stagefeedback-gcc: maybe-all-build-libiberty
 pdf-gcc: maybe-all-build-libiberty
-
 pdf-stage1-gcc: maybe-all-build-libiberty
 pdf-stage2-gcc: maybe-all-build-libiberty
 pdf-stage3-gcc: maybe-all-build-libiberty
@@ -49542,7 +49512,6 @@ pdf-stage4-gcc: maybe-all-build-libibert
 pdf-stageprofile-gcc: maybe-all-build-libiberty
 pdf-stagefeedback-gcc: maybe-all-build-libiberty
 html-gcc: maybe-all-build-libiberty
-
 html-stage1-gcc: maybe-all-build-libiberty
 html-stage2-gcc: maybe-all-build-libiberty
 html-stage3-gcc: maybe-all-build-libiberty
@@ -49554,7 +49523,6 @@ install-gcc: maybe-install-lto-plugin
 install-strip-gcc: maybe-install-strip-fixincludes
 install-strip-gcc: maybe-install-strip-lto-plugin
 configure-libcpp: configure-libiberty
-
 configure-stage1-libcpp: configure-stage1-libiberty
 configure-stage2-libcpp: configure-stage2-libiberty
 configure-stage3-libcpp: configure-stage3-libiberty
@@ -49562,7 +49530,6 @@ configure-stage4-libcpp: configure-stage
 configure-stageprofile-libcpp: configure-stageprofile-libiberty
 configure-stagefeedback-libcpp: configure-stagefeedback-libiberty
 configure-libcpp: maybe-configure-intl
-
 configure-stage1-libcpp: maybe-configure-stage1-intl
 configure-stage2-libcpp: maybe-configure-stage2-intl
 configure-stage3-libcpp: maybe-configure-stage3-intl
@@ -49570,7 +49537,6 @@ configure-stage4-libcpp: maybe-configure
 configure-stageprofile-libcpp: maybe-configure-stageprofile-intl
 configure-stagefeedback-libcpp: maybe-configure-stagefeedback-intl
 configure-libcpp: maybe-all-libiconv
-
 configure-stage1-libcpp: maybe-all-stage1-libiconv
 configure-stage2-libcpp: maybe-all-stage2-libiconv
 configure-stage3-libcpp: maybe-all-stage3-libiconv
@@ -49578,7 +49544,6 @@ configure-stage4-libcpp: maybe-all-stage
 configure-stageprofile-libcpp: maybe-all-stageprofile-libiconv
 configure-stagefeedback-libcpp: maybe-all-stagefeedback-libiconv
 all-libcpp: all-libiberty
-
 all-stage1-libcpp: all-stage1-libiberty
 all-stage2-libcpp: all-stage2-libiberty
 all-stage3-libcpp: all-stage3-libiberty
@@ -49586,7 +49551,6 @@ all-stage4-libcpp: all-stage4-libiberty
 all-stageprofile-libcpp: all-stageprofile-libiberty
 all-stagefeedback-libcpp: all-stagefeedback-libiberty
 all-libcpp: maybe-all-intl
-
 all-stage1-libcpp: maybe-all-stage1-intl
 all-stage2-libcpp: maybe-all-stage2-intl
 all-stage3-libcpp: maybe-all-stage3-intl
@@ -49594,7 +49558,6 @@ all-stage4-libcpp: maybe-all-stage4-intl
 all-stageprofile-libcpp: maybe-all-stageprofile-intl
 all-stagefeedback-libcpp: maybe-all-stagefeedback-intl
 all-libcpp: maybe-all-libiconv
-
 all-stage1-libcpp: maybe-all-stage1-libiconv
 all-stage2-libcpp: maybe-all-stage2-libiconv
 all-stage3-libcpp: maybe-all-stage3-libiconv
@@ -49602,7 +49565,6 @@ all-stage4-libcpp: maybe-all-stage4-libi
 all-stageprofile-libcpp: maybe-all-stageprofile-libiconv
 all-stagefeedback-libcpp: maybe-all-stagefeedback-libiconv
 all-fixincludes: maybe-all-libiberty
-
 all-stage1-fixincludes: maybe-all-stage1-libiberty
 all-stage2-fixincludes: maybe-all-stage2-libiberty
 all-stage3-fixincludes: maybe-all-stage3-libiberty
@@ -49610,9 +49572,7 @@ all-stage4-fixincludes: maybe-all-stage4
 all-stageprofile-fixincludes: maybe-all-stageprofile-libiberty
 all-stagefeedback-fixincludes: maybe-all-stagefeedback-libiberty
 all-gnattools: maybe-all-target-libada
-all-gnattools: maybe-all-target-libstdc++-v3
 all-lto-plugin: maybe-all-libiberty
-
 all-stage1-lto-plugin: maybe-all-stage1-libiberty
 all-stage2-lto-plugin: maybe-all-stage2-libiberty
 all-stage3-lto-plugin: maybe-all-stage3-libiberty
@@ -49620,19 +49580,14 @@ all-stage4-lto-plugin: maybe-all-stage4-
 all-stageprofile-lto-plugin: maybe-all-stageprofile-libiberty
 all-stagefeedback-lto-plugin: maybe-all-stagefeedback-libiberty
 all-lto-plugin: maybe-all-libiberty-linker-plugin
-
 all-stage1-lto-plugin: maybe-all-stage1-libiberty-linker-plugin
 all-stage2-lto-plugin: maybe-all-stage2-libiberty-linker-plugin
 all-stage3-lto-plugin: maybe-all-stage3-libiberty-linker-plugin
 all-stage4-lto-plugin: maybe-all-stage4-libiberty-linker-plugin
 all-stageprofile-lto-plugin: maybe-all-stageprofile-libiberty-linker-plugin
 all-stagefeedback-lto-plugin: maybe-all-stagefeedback-libiberty-linker-plugin
-configure-libcc1: maybe-configure-gcc
-all-libcc1: maybe-all-gcc
 all-gotools: maybe-all-target-libgo
-all-utils: maybe-all-libiberty
 configure-intl: maybe-all-libiconv
-
 configure-stage1-intl: maybe-all-stage1-libiconv
 configure-stage2-intl: maybe-all-stage2-libiconv
 configure-stage3-intl: maybe-all-stage3-libiconv
@@ -49640,7 +49595,6 @@ configure-stage4-intl: maybe-all-stage4-
 configure-stageprofile-intl: maybe-all-stageprofile-libiconv
 configure-stagefeedback-intl: maybe-all-stagefeedback-libiconv
 configure-mpfr: maybe-all-gmp
-
 configure-stage1-mpfr: maybe-all-stage1-gmp
 configure-stage2-mpfr: maybe-all-stage2-gmp
 configure-stage3-mpfr: maybe-all-stage3-gmp
@@ -49648,7 +49602,6 @@ configure-stage4-mpfr: maybe-all-stage4-
 configure-stageprofile-mpfr: maybe-all-stageprofile-gmp
 configure-stagefeedback-mpfr: maybe-all-stagefeedback-gmp
 configure-mpc: maybe-all-mpfr
-
 configure-stage1-mpc: maybe-all-stage1-mpfr
 configure-stage2-mpc: maybe-all-stage2-mpfr
 configure-stage3-mpc: maybe-all-stage3-mpfr
@@ -49656,7 +49609,6 @@ configure-stage4-mpc: maybe-all-stage4-m
 configure-stageprofile-mpc: maybe-all-stageprofile-mpfr
 configure-stagefeedback-mpc: maybe-all-stagefeedback-mpfr
 configure-isl: maybe-all-gmp
-
 configure-stage1-isl: maybe-all-stage1-gmp
 configure-stage2-isl: maybe-all-stage2-gmp
 configure-stage3-isl: maybe-all-stage3-gmp
@@ -49664,24 +49616,16 @@ configure-stage4-isl: maybe-all-stage4-g
 configure-stageprofile-isl: maybe-all-stageprofile-gmp
 configure-stagefeedback-isl: maybe-all-stagefeedback-gmp
 all-intl: maybe-all-libiconv
-
 all-stage1-intl: maybe-all-stage1-libiconv
 all-stage2-intl: maybe-all-stage2-libiconv
 all-stage3-intl: maybe-all-stage3-libiconv
 all-stage4-intl: maybe-all-stage4-libiconv
 all-stageprofile-intl: maybe-all-stageprofile-libiconv
 all-stagefeedback-intl: maybe-all-stagefeedback-libiconv
-configure-gdb: maybe-all-intl
 configure-gdb: maybe-configure-sim
-configure-gdb: maybe-all-bfd
-configure-gdb: maybe-all-libiconv
-all-gdb: maybe-all-libiberty
-all-gdb: maybe-all-libiconv
-all-gdb: maybe-all-opcodes
 all-gdb: maybe-all-readline
 all-gdb: maybe-all-build-bison
 all-gdb: maybe-all-sim
-all-gdb: maybe-all-libdecnumber
 all-gdb: maybe-all-libtermcap
 configure-libgui: maybe-configure-tcl
 configure-libgui: maybe-configure-tk
@@ -49689,7 +49633,6 @@ all-libgui: maybe-all-tcl
 all-libgui: maybe-all-tk
 all-libgui: maybe-all-itcl
 configure-bfd: configure-libiberty
-
 configure-stage1-bfd: configure-stage1-libiberty
 configure-stage2-bfd: configure-stage2-libiberty
 configure-stage3-bfd: configure-stage3-libiberty
@@ -49697,7 +49640,6 @@ configure-stage4-bfd: configure-stage4-l
 configure-stageprofile-bfd: configure-stageprofile-libiberty
 configure-stagefeedback-bfd: configure-stagefeedback-libiberty
 configure-bfd: maybe-configure-intl
-
 configure-stage1-bfd: maybe-configure-stage1-intl
 configure-stage2-bfd: maybe-configure-stage2-intl
 configure-stage3-bfd: maybe-configure-stage3-intl
@@ -49705,7 +49647,6 @@ configure-stage4-bfd: maybe-configure-st
 configure-stageprofile-bfd: maybe-configure-stageprofile-intl
 configure-stagefeedback-bfd: maybe-configure-stagefeedback-intl
 all-bfd: maybe-all-libiberty
-
 all-stage1-bfd: maybe-all-stage1-libiberty
 all-stage2-bfd: maybe-all-stage2-libiberty
 all-stage3-bfd: maybe-all-stage3-libiberty
@@ -49713,7 +49654,6 @@ all-stage4-bfd: maybe-all-stage4-libiber
 all-stageprofile-bfd: maybe-all-stageprofile-libiberty
 all-stagefeedback-bfd: maybe-all-stagefeedback-libiberty
 all-bfd: maybe-all-intl
-
 all-stage1-bfd: maybe-all-stage1-intl
 all-stage2-bfd: maybe-all-stage2-intl
 all-stage3-bfd: maybe-all-stage3-intl
@@ -49721,7 +49661,6 @@ all-stage4-bfd: maybe-all-stage4-intl
 all-stageprofile-bfd: maybe-all-stageprofile-intl
 all-stagefeedback-bfd: maybe-all-stagefeedback-intl
 all-bfd: maybe-all-zlib
-
 all-stage1-bfd: maybe-all-stage1-zlib
 all-stage2-bfd: maybe-all-stage2-zlib
 all-stage3-bfd: maybe-all-stage3-zlib
@@ -49729,7 +49668,6 @@ all-stage4-bfd: maybe-all-stage4-zlib
 all-stageprofile-bfd: maybe-all-stageprofile-zlib
 all-stagefeedback-bfd: maybe-all-stagefeedback-zlib
 configure-opcodes: configure-libiberty
-
 configure-stage1-opcodes: configure-stage1-libiberty
 configure-stage2-opcodes: configure-stage2-libiberty
 configure-stage3-opcodes: configure-stage3-libiberty
@@ -49737,7 +49675,6 @@ configure-stage4-opcodes: configure-stag
 configure-stageprofile-opcodes: configure-stageprofile-libiberty
 configure-stagefeedback-opcodes: configure-stagefeedback-libiberty
 all-opcodes: maybe-all-libiberty
-
 all-stage1-opcodes: maybe-all-stage1-libiberty
 all-stage2-opcodes: maybe-all-stage2-libiberty
 all-stage3-opcodes: maybe-all-stage3-libiberty
@@ -49745,7 +49682,6 @@ all-stage4-opcodes: maybe-all-stage4-lib
 all-stageprofile-opcodes: maybe-all-stageprofile-libiberty
 all-stagefeedback-opcodes: maybe-all-stagefeedback-libiberty
 configure-binutils: maybe-configure-intl
-
 configure-stage1-binutils: maybe-configure-stage1-intl
 configure-stage2-binutils: maybe-configure-stage2-intl
 configure-stage3-binutils: maybe-configure-stage3-intl
@@ -49753,7 +49689,6 @@ configure-stage4-binutils: maybe-configu
 configure-stageprofile-binutils: maybe-configure-stageprofile-intl
 configure-stagefeedback-binutils: maybe-configure-stagefeedback-intl
 all-binutils: maybe-all-libiberty
-
 all-stage1-binutils: maybe-all-stage1-libiberty
 all-stage2-binutils: maybe-all-stage2-libiberty
 all-stage3-binutils: maybe-all-stage3-libiberty
@@ -49761,7 +49696,6 @@ all-stage4-binutils: maybe-all-stage4-li
 all-stageprofile-binutils: maybe-all-stageprofile-libiberty
 all-stagefeedback-binutils: maybe-all-stagefeedback-libiberty
 all-binutils: maybe-all-opcodes
-
 all-stage1-binutils: maybe-all-stage1-opcodes
 all-stage2-binutils: maybe-all-stage2-opcodes
 all-stage3-binutils: maybe-all-stage3-opcodes
@@ -49769,7 +49703,6 @@ all-stage4-binutils: maybe-all-stage4-op
 all-stageprofile-binutils: maybe-all-stageprofile-opcodes
 all-stagefeedback-binutils: maybe-all-stagefeedback-opcodes
 all-binutils: maybe-all-bfd
-
 all-stage1-binutils: maybe-all-stage1-bfd
 all-stage2-binutils: maybe-all-stage2-bfd
 all-stage3-binutils: maybe-all-stage3-bfd
@@ -49777,7 +49710,6 @@ all-stage4-binutils: maybe-all-stage4-bf
 all-stageprofile-binutils: maybe-all-stageprofile-bfd
 all-stagefeedback-binutils: maybe-all-stagefeedback-bfd
 all-binutils: maybe-all-build-flex
-
 all-stage1-binutils: maybe-all-build-flex
 all-stage2-binutils: maybe-all-build-flex
 all-stage3-binutils: maybe-all-build-flex
@@ -49785,7 +49717,6 @@ all-stage4-binutils: maybe-all-build-fle
 all-stageprofile-binutils: maybe-all-build-flex
 all-stagefeedback-binutils: maybe-all-build-flex
 all-binutils: maybe-all-build-bison
-
 all-stage1-binutils: maybe-all-build-bison
 all-stage2-binutils: maybe-all-build-bison
 all-stage3-binutils: maybe-all-build-bison
@@ -49793,7 +49724,6 @@ all-stage4-binutils: maybe-all-build-bis
 all-stageprofile-binutils: maybe-all-build-bison
 all-stagefeedback-binutils: maybe-all-build-bison
 all-binutils: maybe-all-intl
-
 all-stage1-binutils: maybe-all-stage1-intl
 all-stage2-binutils: maybe-all-stage2-intl
 all-stage3-binutils: maybe-all-stage3-intl
@@ -49801,7 +49731,6 @@ all-stage4-binutils: maybe-all-stage4-in
 all-stageprofile-binutils: maybe-all-stageprofile-intl
 all-stagefeedback-binutils: maybe-all-stagefeedback-intl
 all-binutils: maybe-all-gas
-
 all-stage1-binutils: maybe-all-stage1-gas
 all-stage2-binutils: maybe-all-stage2-gas
 all-stage3-binutils: maybe-all-stage3-gas
@@ -49813,7 +49742,6 @@ install-strip-binutils: maybe-install-st
 install-opcodes: maybe-install-bfd
 install-strip-opcodes: maybe-install-strip-bfd
 configure-gas: maybe-configure-intl
-
 configure-stage1-gas: maybe-configure-stage1-intl
 configure-stage2-gas: maybe-configure-stage2-intl
 configure-stage3-gas: maybe-configure-stage3-intl
@@ -49821,7 +49749,6 @@ configure-stage4-gas: maybe-configure-st
 configure-stageprofile-gas: maybe-configure-stageprofile-intl
 configure-stagefeedback-gas: maybe-configure-stagefeedback-intl
 all-gas: maybe-all-libiberty
-
 all-stage1-gas: maybe-all-stage1-libiberty
 all-stage2-gas: maybe-all-stage2-libiberty
 all-stage3-gas: maybe-all-stage3-libiberty
@@ -49829,7 +49756,6 @@ all-stage4-gas: maybe-all-stage4-libiber
 all-stageprofile-gas: maybe-all-stageprofile-libiberty
 all-stagefeedback-gas: maybe-all-stagefeedback-libiberty
 all-gas: maybe-all-opcodes
-
 all-stage1-gas: maybe-all-stage1-opcodes
 all-stage2-gas: maybe-all-stage2-opcodes
 all-stage3-gas: maybe-all-stage3-opcodes
@@ -49837,7 +49763,6 @@ all-stage4-gas: maybe-all-stage4-opcodes
 all-stageprofile-gas: maybe-all-stageprofile-opcodes
 all-stagefeedback-gas: maybe-all-stagefeedback-opcodes
 all-gas: maybe-all-bfd
-
 all-stage1-gas: maybe-all-stage1-bfd
 all-stage2-gas: maybe-all-stage2-bfd
 all-stage3-gas: maybe-all-stage3-bfd
@@ -49845,21 +49770,13 @@ all-stage4-gas: maybe-all-stage4-bfd
 all-stageprofile-gas: maybe-all-stageprofile-bfd
 all-stagefeedback-gas: maybe-all-stagefeedback-bfd
 all-gas: maybe-all-intl
-
 all-stage1-gas: maybe-all-stage1-intl
 all-stage2-gas: maybe-all-stage2-intl
 all-stage3-gas: maybe-all-stage3-intl
 all-stage4-gas: maybe-all-stage4-intl
 all-stageprofile-gas: maybe-all-stageprofile-intl
 all-stagefeedback-gas: maybe-all-stagefeedback-intl
-configure-gprof: maybe-configure-intl
-all-gprof: maybe-all-libiberty
-all-gprof: maybe-all-bfd
-all-gprof: maybe-all-opcodes
-all-gprof: maybe-all-intl
-all-gprof: maybe-all-gas
 configure-ld: maybe-configure-intl
-
 configure-stage1-ld: maybe-configure-stage1-intl
 configure-stage2-ld: maybe-configure-stage2-intl
 configure-stage3-ld: maybe-configure-stage3-intl
@@ -49867,7 +49784,6 @@ configure-stage4-ld: maybe-configure-sta
 configure-stageprofile-ld: maybe-configure-stageprofile-intl
 configure-stagefeedback-ld: maybe-configure-stagefeedback-intl
 all-ld: maybe-all-libiberty
-
 all-stage1-ld: maybe-all-stage1-libiberty
 all-stage2-ld: maybe-all-stage2-libiberty
 all-stage3-ld: maybe-all-stage3-libiberty
@@ -49875,7 +49791,6 @@ all-stage4-ld: maybe-all-stage4-libibert
 all-stageprofile-ld: maybe-all-stageprofile-libiberty
 all-stagefeedback-ld: maybe-all-stagefeedback-libiberty
 all-ld: maybe-all-bfd
-
 all-stage1-ld: maybe-all-stage1-bfd
 all-stage2-ld: maybe-all-stage2-bfd
 all-stage3-ld: maybe-all-stage3-bfd
@@ -49883,7 +49798,6 @@ all-stage4-ld: maybe-all-stage4-bfd
 all-stageprofile-ld: maybe-all-stageprofile-bfd
 all-stagefeedback-ld: maybe-all-stagefeedback-bfd
 all-ld: maybe-all-opcodes
-
 all-stage1-ld: maybe-all-stage1-opcodes
 all-stage2-ld: maybe-all-stage2-opcodes
 all-stage3-ld: maybe-all-stage3-opcodes
@@ -49891,7 +49805,6 @@ all-stage4-ld: maybe-all-stage4-opcodes
 all-stageprofile-ld: maybe-all-stageprofile-opcodes
 all-stagefeedback-ld: maybe-all-stagefeedback-opcodes
 all-ld: maybe-all-build-bison
-
 all-stage1-ld: maybe-all-build-bison
 all-stage2-ld: maybe-all-build-bison
 all-stage3-ld: maybe-all-build-bison
@@ -49899,7 +49812,6 @@ all-stage4-ld: maybe-all-build-bison
 all-stageprofile-ld: maybe-all-build-bison
 all-stagefeedback-ld: maybe-all-build-bison
 all-ld: maybe-all-build-flex
-
 all-stage1-ld: maybe-all-build-flex
 all-stage2-ld: maybe-all-build-flex
 all-stage3-ld: maybe-all-build-flex
@@ -49907,7 +49819,6 @@ all-stage4-ld: maybe-all-build-flex
 all-stageprofile-ld: maybe-all-build-flex
 all-stagefeedback-ld: maybe-all-build-flex
 all-ld: maybe-all-intl
-
 all-stage1-ld: maybe-all-stage1-intl
 all-stage2-ld: maybe-all-stage2-intl
 all-stage3-ld: maybe-all-stage3-intl
@@ -49915,7 +49826,6 @@ all-stage4-ld: maybe-all-stage4-intl
 all-stageprofile-ld: maybe-all-stageprofile-intl
 all-stagefeedback-ld: maybe-all-stagefeedback-intl
 all-ld: maybe-all-gas
-
 all-stage1-ld: maybe-all-stage1-gas
 all-stage2-ld: maybe-all-stage2-gas
 all-stage3-ld: maybe-all-stage3-gas
@@ -49923,7 +49833,6 @@ all-stage4-ld: maybe-all-stage4-gas
 all-stageprofile-ld: maybe-all-stageprofile-gas
 all-stagefeedback-ld: maybe-all-stagefeedback-gas
 all-ld: maybe-all-binutils
-
 all-stage1-ld: maybe-all-stage1-binutils
 all-stage2-ld: maybe-all-stage2-binutils
 all-stage3-ld: maybe-all-stage3-binutils
@@ -49933,7 +49842,6 @@ all-stagefeedback-ld: maybe-all-stagefee
 install-ld: maybe-install-gold
 install-strip-ld: maybe-install-strip-gold
 configure-gold: maybe-configure-intl
-
 configure-stage1-gold: maybe-configure-stage1-intl
 configure-stage2-gold: maybe-configure-stage2-intl
 configure-stage3-gold: maybe-configure-stage3-intl
@@ -49941,7 +49849,6 @@ configure-stage4-gold: maybe-configure-s
 configure-stageprofile-gold: maybe-configure-stageprofile-intl
 configure-stagefeedback-gold: maybe-configure-stagefeedback-intl
 all-gold: maybe-all-libiberty
-
 all-stage1-gold: maybe-all-stage1-libiberty
 all-stage2-gold: maybe-all-stage2-libiberty
 all-stage3-gold: maybe-all-stage3-libiberty
@@ -49949,7 +49856,6 @@ all-stage4-gold: maybe-all-stage4-libibe
 all-stageprofile-gold: maybe-all-stageprofile-libiberty
 all-stagefeedback-gold: maybe-all-stagefeedback-libiberty
 all-gold: maybe-all-intl
-
 all-stage1-gold: maybe-all-stage1-intl
 all-stage2-gold: maybe-all-stage2-intl
 all-stage3-gold: maybe-all-stage3-intl
@@ -49957,7 +49863,6 @@ all-stage4-gold: maybe-all-stage4-intl
 all-stageprofile-gold: maybe-all-stageprofile-intl
 all-stagefeedback-gold: maybe-all-stagefeedback-intl
 all-gold: maybe-all-bfd
-
 all-stage1-gold: maybe-all-stage1-bfd
 all-stage2-gold: maybe-all-stage2-bfd
 all-stage3-gold: maybe-all-stage3-bfd
@@ -49965,7 +49870,6 @@ all-stage4-gold: maybe-all-stage4-bfd
 all-stageprofile-gold: maybe-all-stageprofile-bfd
 all-stagefeedback-gold: maybe-all-stagefeedback-bfd
 all-gold: maybe-all-build-bison
-
 all-stage1-gold: maybe-all-build-bison
 all-stage2-gold: maybe-all-build-bison
 all-stage3-gold: maybe-all-build-bison
@@ -49973,7 +49877,6 @@ all-stage4-gold: maybe-all-build-bison
 all-stageprofile-gold: maybe-all-build-bison
 all-stagefeedback-gold: maybe-all-build-bison
 all-gold: maybe-all-gas
-
 all-stage1-gold: maybe-all-stage1-gas
 all-stage2-gold: maybe-all-stage2-gas
 all-stage3-gold: maybe-all-stage3-gas
@@ -49981,7 +49884,6 @@ all-stage4-gold: maybe-all-stage4-gas
 all-stageprofile-gold: maybe-all-stageprofile-gas
 all-stagefeedback-gold: maybe-all-stagefeedback-gas
 check-gold: maybe-all-binutils
-
 check-stage1-gold: maybe-all-stage1-binutils
 check-stage2-gold: maybe-all-stage2-binutils
 check-stage3-gold: maybe-all-stage3-binutils
@@ -49989,7 +49891,6 @@ check-stage4-gold: maybe-all-stage4-binu
 check-stageprofile-gold: maybe-all-stageprofile-binutils
 check-stagefeedback-gold: maybe-all-stagefeedback-binutils
 check-gold: maybe-all-gas
-
 check-stage1-gold: maybe-all-stage1-gas
 check-stage2-gold: maybe-all-stage2-gas
 check-stage3-gold: maybe-all-stage3-gas
@@ -49997,7 +49898,6 @@ check-stage4-gold: maybe-all-stage4-gas
 check-stageprofile-gold: maybe-all-stageprofile-gas
 check-stagefeedback-gold: maybe-all-stagefeedback-gas
 configure-opcodes: maybe-configure-intl
-
 configure-stage1-opcodes: maybe-configure-stage1-intl
 configure-stage2-opcodes: maybe-configure-stage2-intl
 configure-stage3-opcodes: maybe-configure-stage3-intl
@@ -50005,7 +49905,6 @@ configure-stage4-opcodes: maybe-configur
 configure-stageprofile-opcodes: maybe-configure-stageprofile-intl
 configure-stagefeedback-opcodes: maybe-configure-stagefeedback-intl
 all-opcodes: maybe-all-bfd
-
 all-stage1-opcodes: maybe-all-stage1-bfd
 all-stage2-opcodes: maybe-all-stage2-bfd
 all-stage3-opcodes: maybe-all-stage3-bfd
@@ -50013,7 +49912,6 @@ all-stage4-opcodes: maybe-all-stage4-bfd
 all-stageprofile-opcodes: maybe-all-stageprofile-bfd
 all-stagefeedback-opcodes: maybe-all-stagefeedback-bfd
 all-opcodes: maybe-all-libiberty
-
 all-stage1-opcodes: maybe-all-stage1-libiberty
 all-stage2-opcodes: maybe-all-stage2-libiberty
 all-stage3-opcodes: maybe-all-stage3-libiberty
@@ -50021,7 +49919,6 @@ all-stage4-opcodes: maybe-all-stage4-lib
 all-stageprofile-opcodes: maybe-all-stageprofile-libiberty
 all-stagefeedback-opcodes: maybe-all-stagefeedback-libiberty
 all-opcodes: maybe-all-intl
-
 all-stage1-opcodes: maybe-all-stage1-intl
 all-stage2-opcodes: maybe-all-stage2-intl
 all-stage3-opcodes: maybe-all-stage3-intl
@@ -50043,51 +49940,34 @@ install-itcl: maybe-install-tcl
 install-strip-itcl: maybe-install-strip-tcl
 configure-tk: maybe-configure-tcl
 all-tk: maybe-all-tcl
-all-sid: maybe-all-libiberty
-all-sid: maybe-all-bfd
-all-sid: maybe-all-opcodes
 all-sid: maybe-all-tcl
 all-sid: maybe-all-tk
 install-sid: maybe-install-tcl
 install-strip-sid: maybe-install-strip-tcl
 install-sid: maybe-install-tk
 install-strip-sid: maybe-install-strip-tk
-configure-sim: maybe-configure-intl
-all-sim: maybe-all-intl
-all-sim: maybe-all-libiberty
-all-sim: maybe-all-bfd
-all-sim: maybe-all-opcodes
 all-sim: maybe-all-readline
 all-sim: maybe-configure-gdb
-all-fastjar: maybe-all-zlib
 all-fastjar: maybe-all-build-texinfo
-all-fastjar: maybe-all-libiberty
-all-bison: maybe-all-intl
 all-bison: maybe-all-build-texinfo
 all-flex: maybe-all-build-bison
-all-flex: maybe-all-intl
 all-flex: maybe-all-m4
 all-flex: maybe-all-build-texinfo
-all-m4: maybe-all-intl
 all-m4: maybe-all-build-texinfo
 configure-target-fastjar: maybe-configure-target-zlib
 all-target-fastjar: maybe-all-target-zlib
 configure-target-libgo: maybe-configure-target-libffi
-configure-target-libgo: maybe-all-target-libstdc++-v3
 all-target-libgo: maybe-all-target-libbacktrace
 all-target-libgo: maybe-all-target-libffi
 all-target-libgo: maybe-all-target-libatomic
 configure-target-libstdc++-v3: maybe-configure-target-libgomp
-
 configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
 configure-stage2-target-libstdc++-v3: maybe-configure-stage2-target-libgomp
 configure-stage3-target-libstdc++-v3: maybe-configure-stage3-target-libgomp
 configure-stage4-target-libstdc++-v3: maybe-configure-stage4-target-libgomp
 configure-stageprofile-target-libstdc++-v3: maybe-configure-stageprofile-target-libgomp
 configure-stagefeedback-target-libstdc++-v3: maybe-configure-stagefeedback-target-libgomp
-configure-target-liboffloadmic: maybe-configure-target-libgomp
 configure-target-libsanitizer: maybe-all-target-libstdc++-v3
-
 configure-stage1-target-libsanitizer: maybe-all-stage1-target-libstdc++-v3
 configure-stage2-target-libsanitizer: maybe-all-stage2-target-libstdc++-v3
 configure-stage3-target-libsanitizer: maybe-all-stage3-target-libstdc++-v3
@@ -50095,7 +49975,6 @@ configure-stage4-target-libsanitizer: ma
 configure-stageprofile-target-libsanitizer: maybe-all-stageprofile-target-libstdc++-v3
 configure-stagefeedback-target-libsanitizer: maybe-all-stagefeedback-target-libstdc++-v3
 configure-target-libvtv: maybe-all-target-libstdc++-v3
-
 configure-stage1-target-libvtv: maybe-all-stage1-target-libstdc++-v3
 configure-stage2-target-libvtv: maybe-all-stage2-target-libstdc++-v3
 configure-stage3-target-libvtv: maybe-all-stage3-target-libstdc++-v3
@@ -50103,14 +49982,12 @@ configure-stage4-target-libvtv: maybe-al
 configure-stageprofile-target-libvtv: maybe-all-stageprofile-target-libstdc++-v3
 configure-stagefeedback-target-libvtv: maybe-all-stagefeedback-target-libstdc++-v3
 all-target-libstdc++-v3: maybe-configure-target-libgomp
-
 all-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
 all-stage2-target-libstdc++-v3: maybe-configure-stage2-target-libgomp
 all-stage3-target-libstdc++-v3: maybe-configure-stage3-target-libgomp
 all-stage4-target-libstdc++-v3: maybe-configure-stage4-target-libgomp
 all-stageprofile-target-libstdc++-v3: maybe-configure-stageprofile-target-libgomp
 all-stagefeedback-target-libstdc++-v3: maybe-configure-stagefeedback-target-libgomp
-all-target-liboffloadmic: maybe-all-target-libgomp
 install-target-libgo: maybe-install-target-libatomic
 install-target-libgfortran: maybe-install-target-libquadmath
 install-target-libgfortran: maybe-install-target-libgcc
@@ -50127,12 +50004,62 @@ install-target-libobjc: maybe-install-ta
 install-target-libstdc++-v3: maybe-install-target-libgcc
 all-target-libgloss: maybe-all-target-newlib
 all-target-winsup: maybe-all-target-libtermcap
-configure-target-newlib: maybe-all-binutils
-configure-target-newlib: maybe-all-ld
 configure-target-libgfortran: maybe-all-target-libquadmath
 configure-target-libgfortran: maybe-all-target-libbacktrace
 
 
+@if gcc-bootstrap
+configure-gnattools: stage_last
+configure-libcc1: stage_last
+configure-utils: stage_last
+configure-gdb: stage_last
+configure-gprof: stage_last
+configure-sid: stage_last
+configure-sim: stage_last
+configure-fastjar: stage_last
+configure-bison: stage_last
+configure-flex: stage_last
+configure-m4: stage_last
+@endif gcc-bootstrap
+
+@unless gcc-bootstrap
+all-gnattools: maybe-all-target-libstdc++-v3
+configure-libcc1: maybe-configure-gcc
+all-libcc1: maybe-all-gcc
+all-utils: maybe-all-libiberty
+configure-gdb: maybe-all-intl
+configure-gdb: maybe-all-bfd
+configure-gdb: maybe-all-libiconv
+all-gdb: maybe-all-libiberty
+all-gdb: maybe-all-libiconv
+all-gdb: maybe-all-opcodes
+all-gdb: maybe-all-libdecnumber
+configure-gprof: maybe-configure-intl
+all-gprof: maybe-all-libiberty
+all-gprof: maybe-all-bfd
+all-gprof: maybe-all-opcodes
+all-gprof: maybe-all-intl
+all-gprof: maybe-all-gas
+all-sid: maybe-all-libiberty
+all-sid: maybe-all-bfd
+all-sid: maybe-all-opcodes
+configure-sim: maybe-configure-intl
+all-sim: maybe-all-intl
+all-sim: maybe-all-libiberty
+all-sim: maybe-all-bfd
+all-sim: maybe-all-opcodes
+all-fastjar: maybe-all-zlib
+all-fastjar: maybe-all-libiberty
+all-bison: maybe-all-intl
+all-flex: maybe-all-intl
+all-m4: maybe-all-intl
+configure-target-libgo: maybe-all-target-libstdc++-v3
+configure-target-liboffloadmic: maybe-configure-target-libgomp
+all-target-liboffloadmic: maybe-all-target-libgomp
+configure-target-newlib: maybe-all-binutils
+configure-target-newlib: maybe-all-ld
+@endunless gcc-bootstrap
+
 # Dependencies for target modules on other target modules are
 # described by lang_env_dependencies; the defaults apply to anything
 # not mentioned there.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/Makefile.tpl ./Makefile.tpl
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/Makefile.tpl	2018-07-03 02:06:27.000000000 +0000
+++ ./Makefile.tpl	2018-07-10 02:06:11.000000000 +0000
@@ -1460,6 +1460,10 @@ ENDIF raw_cxx +]
 check-target-libgomp-c++:
 	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++.exp" check-target-libgomp
 
+.PHONY: check-target-libgomp-fortran
+check-target-libgomp-fortran:
+	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) fortran.exp" check-target-libgomp
+
 @endif target-libgomp
 
 @if target-libitm
@@ -1814,25 +1818,46 @@ configure-target-[+module+]: maybe-all-g
    (define dep-maybe (lambda ()
       (if (exist? "hard") "" "maybe-")))
 
-   ;; dep-kind returns "normal" if the dependency is on an "install" target,
-   ;; or if either module is not bootstrapped.  It returns "bootstrap" for
-   ;; configure or build dependencies between bootstrapped modules; it returns
-   ;; "prebootstrap" for configure or build dependencies of bootstrapped
-   ;; modules on a build module (e.g. all-gcc on all-build-bison).  All this
-   ;; is only necessary for host modules.
+   ;; dep-kind returns returns "prebootstrap" for configure or build
+   ;; dependencies of bootstrapped modules on a build module
+   ;; (e.g. all-gcc on all-build-bison); "normal" if the dependency is
+   ;; on an "install" target, or if the dependence module is not
+   ;; bootstrapped; otherwise, it returns "bootstrap" or
+   ;; "postbootstrap" depending on whether the dependent module is
+   ;; bootstrapped.  All this is only necessary for host and target
+   ;; modules.  It might seem like, in order to avoid build races, we
+   ;; might need more elaborate detection between prebootstrap and
+   ;; postbootstrap modules, but there are no host prebootstrap
+   ;; modules.  If there were any non-bootstrap host modules that
+   ;; bootstrap modules depended on, we'd get unsatisfied per-stage
+   ;; dependencies on them, which would be immediately noticed.
    (define dep-kind (lambda ()
-      (if (and (hash-ref boot-modules (dep-module "module"))
-	       (=* (dep-module "on") "build-"))
-	  "prebootstrap"
-
-	  (if (or (= (dep-subtarget "on") "install-")
-		  (not (hash-ref boot-modules (dep-module "module")))
-		  (not (hash-ref boot-modules (dep-module "on"))))
-              "normal"
-	      "bootstrap"))))
+      (cond
+       ((and (hash-ref boot-modules (dep-module "module"))
+	     (=* (dep-module "on") "build-"))
+	"prebootstrap")
+
+       ((or (= (dep-subtarget "on") "install-")
+	    (not (hash-ref boot-modules (dep-module "on"))))
+	"normal")
+
+       ((hash-ref boot-modules (dep-module "module"))
+	"bootstrap")
+
+       (1 "postbootstrap"))))
+
+   (define make-postboot-dep (lambda ()
+     (let ((target (dep-module "module")) (dep "stage_last"))
+       (unless (= (hash-ref postboot-targets target) dep)
+	 (hash-create-handle! postboot-targets target dep)
+	 ;; All non-bootstrap modules' configure target already
+	 ;; depend on dep.
+	 (unless (=* target "target-")
+           (string-append "configure-" target ": " dep "\n"))))))
 
    ;; We now build the hash table that is used by dep-kind.
    (define boot-modules (make-hash-table 113))
+   (define postboot-targets (make-hash-table 113))
 +]
 
 [+ FOR host_modules +][+
@@ -1849,18 +1874,23 @@ configure-target-[+module+]: maybe-all-g
 # to check for bootstrap/prebootstrap dependencies.  To resolve
 # prebootstrap dependencies, prebootstrap modules are gathered in
 # a hash table.
-[+ FOR dependencies +][+ (make-dep "" "") +]
-[+ CASE (dep-kind) +]
-[+ == "prebootstrap"
-     +][+ FOR bootstrap_stage +]
-[+ (make-dep (dep-stage) "") +][+
-       ENDFOR bootstrap_stage +]
-[+ == "bootstrap"
-     +][+ FOR bootstrap_stage +]
-[+ (make-dep (dep-stage) (dep-stage)) +][+
-       ENDFOR bootstrap_stage +]
-[+ ESAC +][+
-ENDFOR dependencies +]
+[+ FOR dependencies +][+ CASE (dep-kind) +]
+[+ == "prebootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +]
+[+ (make-dep (dep-stage) "") +][+ ENDFOR bootstrap_stage +]
+[+ == "bootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +]
+[+ (make-dep (dep-stage) (dep-stage)) +][+ ENDFOR bootstrap_stage +]
+[+ == "normal" +][+ (make-dep "" "") +]
+[+ ESAC +][+ ENDFOR dependencies +]
+
+@if gcc-bootstrap
+[+ FOR dependencies +][+ CASE (dep-kind) +]
+[+ == "postbootstrap" +][+ (make-postboot-dep) +][+ ESAC +][+
+ENDFOR dependencies +]@endif gcc-bootstrap
+
+@unless gcc-bootstrap
+[+ FOR dependencies +][+ CASE (dep-kind) +]
+[+ == "postbootstrap" +][+ (make-dep "" "") +]
+[+ ESAC +][+ ENDFOR dependencies +]@endunless gcc-bootstrap
 
 # Dependencies for target modules on other target modules are
 # described by lang_env_dependencies; the defaults apply to anything
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/md5.sum ./md5.sum
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/md5.sum	2018-07-03 02:10:54.000000000 +0000
+++ ./md5.sum	2018-07-10 02:10:42.000000000 +0000
@@ -1,215 +1,184 @@
 2d02487a3e195372e7d3ae5533fa9b71  bfd/cpu-pru.c
-68008f8e6004a9132a2d725e2c75a055  bfd/tekhex.c
-d9401510795ed3f7cb720990f2c32472  bfd/reloc.c
-c49b5bbd1f0d681349f5ae91a351a957  bfd/dwarf2.c
-8d5bc804b6ca3e761eaed164d8a3d02d  bfd/libbfd.h
+d97c22f1847bc426423f25d424963e22  bfd/tekhex.c
+78ce78fa28cf232414d83246ab90d588  bfd/reloc.c
+ee3114f8ce9affe325750d74287dede8  bfd/dwarf2.c
+d75882d62ad7e48e82de5b3d1cbe7cde  bfd/libbfd.h
 f1e932eb1c19f2763afafa12ca09e210  bfd/cpu-nds32.c
 69dc19cbef8cc9c9e991c11695a26e5b  bfd/vaxnetbsd.c
-1fa5131c9e51308e23c94897af04f8df  bfd/elf64-ppc.c
-e41e9d59027e87651760db8a67112344  bfd/elf32-mcore.c
-4dda85710094fe1608198980b25a03fc  bfd/pe-mips.c
-3d2995087748120625506dd3d439eba9  bfd/archures.c
+2f97a73147eedfcddf249df6906df4e9  bfd/elf64-ppc.c
+a55098a6da3d5c87e49e5e7073007a16  bfd/elf32-mcore.c
+833e0e3715a0baec02e08b11642d3129  bfd/archures.c
 e457dca9153e4353fda68aef59d0a95a  bfd/i386lynx.c
 f9e11089341bcb38290cff4cc0fa2583  bfd/bfdwin.c
 e41bf4306979bec62eb8430fb41df6a5  bfd/ChangeLog-2013
 17219aee3ee1186bef8c0f3f6c1b956e  bfd/aout32.c
-43a708a75ea74ea73202ccac83c1754f  bfd/elf32-xstormy16.c
-cccc2683ce4d1528099a06b9c66db460  bfd/elf32-m68hc11.c
-5dd9d4a3a3a46b826d8ebdf16310235e  bfd/elfxx-tilegx.c
-cde7275aea09b48aa69c20654b1d36d5  bfd/epoc-pe-arm.c
-99628411aa0490ebb602b390cf2ee999  bfd/aout-adobe.c
+d25a19d5c3b9df595ca933f811c318fb  bfd/elf32-xstormy16.c
+127eeae9c7e676e51bd732aaadc8068a  bfd/elf32-m68hc11.c
+b95ff4eee31206076cd153e5322034c1  bfd/elfxx-tilegx.c
 5ddd7325e4cba21950fe2d391072cf87  bfd/ChangeLog-2011
-626c8473542e7e646ced170351d5f5f3  bfd/libcoff.h
-7df56cc7265b079c29909672be74a064  bfd/elf32-cr16c.c
+4d2a1f83145a8c269ff98fc15d6d5334  bfd/libcoff.h
+3c5ba0b33689b167c8b755836a9e0a00  bfd/elf32-cr16c.c
 d4149e5040406797b7521efa62b15d0f  bfd/cpu-m68hc12.c
 f69ea0550035e00576ad40d673bf046f  bfd/xsym.h
 1925bb1f99a9ae026c8f5379d2d7df6e  bfd/cpu-mcore.c
-f10d2d7868fe269ac30700d4c2280ef4  bfd/syms.c
+93be739f22e6824f5d73d11e6cebce4e  bfd/syms.c
 575b314e276b4a0b4aa3d2bd2b6b9175  bfd/cpu-crx.c
-1018aab755aabb3d66d9ca0314ef5ec8  bfd/hp300hpux.c
-6a99d819dd260c0baf7d2a8cb59b7cbf  bfd/Makefile.in
+09df21b57165b0186f6fe46af6f21ae1  bfd/Makefile.in
 3a5560cea7cf503300086b175f13e8e8  bfd/elf32-tilegx.c
 9ffb3ca4e1355a997f7aabebef7f08ab  bfd/cpu-hppa.c
 dad496c68df8395b3cdb8e3187c37eb1  bfd/dep-in.sed
 be844164945e9f930a49c625fca9931e  bfd/elf32-metag.h
 7e5e4b433382308198439840a4e80941  bfd/cpu-cris.c
-1c53745ebe0fc7c2a81575aacd857acd  bfd/pei-x86_64.c
+bb5bd0fa86c3b7468d55072c3de056f6  bfd/pei-x86_64.c
 bb45f17458fbd361569bfb2067575c7f  bfd/cpu-d10v.c
 30b3c2b0347be7d1bd27e6683a86ce5f  bfd/xtensa-modules.c
-1136eb2f4ffc0006c38ae19f90112ad5  bfd/elfcore.h
-f15e31835a8d7272e1acd59dc86ebc2a  bfd/wasm-module.c
-2f1d48da02b5ed6e94cb3beb7dae5d9c  bfd/elf64-mips.c
+f1d3d3b2e2ce3d9c8c6f9ceab9502966  bfd/elfcore.h
+aca9b8a230aca9041fb5c04b5d2a65a4  bfd/wasm-module.c
+295cb120314ba3e0ecbc4719acbcb5e0  bfd/elf64-mips.c
 32c1c2c183f56bd2b5af2fb9c3ca94af  bfd/cpu-m9s12x.c
-ca5ad097dd8f88e972f61ba6971a74e9  bfd/version.h
+b6dfd07d5f6ed7a93c69a89e64f40f21  bfd/version.h
 25cd4c1378787d5bb9fa74b13a55098a  bfd/cpu-tilegx.c
-15946361c2ae68e8133d7e10485f7ed4  bfd/coff-mcore.c
+cfcd2011881a504922bee6bf40ce6898  bfd/coff-mcore.c
 836b9de6d0ea1914f82c0ec0fa0341ef  bfd/cpu-avr.c
 aa2713fe4d188e32746d64e0387de034  bfd/aout64.c
-3070eef0d1328a4514d5c64619122802  bfd/elf32-pru.c
+dbaa0461d728402ea113c5fee819a93e  bfd/elf32-pru.c
 f5ad372cf681a57b9a43f6975c05e33c  bfd/ChangeLog-2012
-a24db2f31f9ba02d032d2ed3daf5a9d6  bfd/elf.c
-1cd173ecf143a7d4ebb8cad552b1e995  bfd/hppabsd-core.c
-c16c89ed3d4ff2eabe4b60532b17305f  bfd/elf32-xgate.c
-77b7d7e864c19f6779fd69c24a3c29e8  bfd/elf32-nds32.h
+441f5c50be47ac4653ad30b37983f8dd  bfd/elf.c
+4914596b65fdf29a860f30296e7ce276  bfd/hppabsd-core.c
+81932bfefb2074ebe74b129e7fae4164  bfd/elf32-xgate.c
+a234904ba807a47151853822151464d3  bfd/elf32-nds32.h
 f00c43a4a52e541de728e1bcc410a246  bfd/coff-bfd.h
-7e76a3f8b4c5daa9e3a06628bf6ec908  bfd/demo64.c
-fbc97cd69ede0c34b5ed6f4d69229b29  bfd/ecoff.c
+3beec24af9b9d914b871310c18b1b60b  bfd/ecoff.c
 41566a7e839f4531bb42eb82a1d48f81  bfd/cpu-moxie.c
-536e66c807b089f4b440a0c53c87b8a4  bfd/mach-o.c
-1ea1e9ac25975b726a3d223e71203df2  bfd/m68klinux.c
-d5b3104782eeeb21f5f57278f15bcf77  bfd/elf32-vax.c
+6e5c7f6ad4176a5f32ba0f666f0ee005  bfd/mach-o.c
+0ce9f7ff437329c4d4633d925047a62c  bfd/elf32-vax.c
 11cb6591044cc250a9d953cbc698db58  bfd/pe-arm-wince.c
 1235bb127d7ff16d04fc597513e48510  bfd/cpu-rx.c
 28c79dd27ffbff5d8269e1ee81330a39  bfd/cpu-ip2k.c
-f8cc59a987f1c124feb5ac1702afe3f1  bfd/i386linux.c
-6bc93f0c9a22ea03c15c9cc72ff7a133  bfd/cpu-h8500.c
 bf291948e17b61b2c2dc2513dda2a95a  bfd/elf32-tilepro.h
-7651c7e06c214f9b0b5fb0b5bef00d5d  bfd/elf32-s390.c
-bfa43dd989f1e65c7da1cf1110a0182a  bfd/libaout.h
-d5fa630dab70077f7a46c8b7e209b6c4  bfd/elfxx-aarch64.h
+4d89184c253e1f21c1627f21f3f44c97  bfd/elf32-s390.c
+3b7896273f52ee7f290ad9d51d246647  bfd/libaout.h
+1874b2f447ec006abacb463ef451ce4f  bfd/elfxx-aarch64.h
 d4f19e72e13657f50aa7d6429711e53d  bfd/elf-vxworks.c
-ab4e2d4b5eb7100f1f4c9221904d9f1c  bfd/elfxx-mips.c
-b4c284495e1ab0a4605e4cee42f52e5e  bfd/archive.c
+92da52f0529721e9c65e532e876f101a  bfd/elfxx-mips.c
+ffd8fa2afd05fb78b494379e6a3bb353  bfd/archive.c
 c65250570f63c8c3a91088f8fa23f340  bfd/aix5ppc-core.c
 f08f49553df4594e5541c9e1e8c5aa50  bfd/pei-ppc.c
-df40573b6fe1376b421fe4b8d8fa8c70  bfd/elfxx-ia64.c
-057e1abb86f7d603d4dea9e612ef1a4d  bfd/elf32-dlx.c
+6a48d8541f761c8ca3de98975acbbcce  bfd/elfxx-ia64.c
+a2b3a3721e4dea31c06a99caf3bba547  bfd/elf32-dlx.c
 252ca37fd7127c742e67cb72207c130b  bfd/elf64-tilegx.h
-f6b5fc0b8a93562b9af1e229d4d78183  bfd/peicode.h
-3e0595a655fb9d9ed8318471af7263d3  bfd/coff-mips.c
-e0d15aea156f7526d9d4518c5100cbc5  bfd/coff-h8500.c
+64f90cd3d17fbedade25e55ddb224299  bfd/peicode.h
+040d624c4c36ae9b592559b908042052  bfd/coff-mips.c
 78d8c516041c3aaf6386d639dac6da61  bfd/cf-i386lynx.c
-52afc0efb86e9107504ebb31ae4e0b3a  bfd/elf32-mep.c
-54e625e8f6428dce4ce1182bdbef622d  bfd/elf32-v850.c
-d2245de27ec486e9dd03ca33f5c046af  bfd/nlm32.c
-65840c9566638068f769168a02b3ab97  bfd/cpu-i860.c
-c97164b6c6c04e4940772190ceba3798  bfd/coff-m88k.c
-4bf4a0b153de737b6997b6f7b40c5410  bfd/mach-o.h
+097e0fd24c1ff0f92ef3c177516433ce  bfd/elf32-mep.c
+2a3d0804aa2f20cdc89381553bc60273  bfd/elf32-v850.c
+a8af79dda4c44aaf5d9c7d76d8768113  bfd/mach-o.h
 a689a2277520df87ee1ff85cc8a3df4e  bfd/elfxx-mips.h
-80cf64e055b33edb2c32520d3b193d59  bfd/aout-sparcle.c
-ffa488075d260a25ac2515a19f90d0fc  bfd/elfxx-target.h
-1e4379c4dc9688925141b07fb5867fc6  bfd/i386os9k.c
-ed03f8db1552978f7afa8d3127cccf78  bfd/m88kmach3.c
+dc14e1e78b52326c7d3a9dfff8ca1a52  bfd/elfxx-target.h
 fd75b1f09b3ad3c8e9dd747c85a0c4c1  bfd/ecofflink.c
-e0e04c872a2222ff618787c66052652c  bfd/ptrace-core.c
+b3d6fffe66bbf8892370f94dbabeb245  bfd/ptrace-core.c
 98020cb257a5833e1288e593764fe63a  bfd/cpu-ft32.c
-97cf90e53b0333648075ed2c580a7c9f  bfd/xcofflink.c
+af1702e5e996fb5a0d28f150a918c83f  bfd/xcofflink.c
 53357a9b87dd158b90cf790c316fd438  bfd/targmatch.sed
-01af57a63b732c16f955789fae7074e6  bfd/cpu-i960.c
-f8fac1c5d3e5362995ef363e10b36699  bfd/coff-ppc.c
+4d9595281edc806effd9233959b9e172  bfd/coff-ppc.c
 94f684bd92b5a4cc1b4fb7700d6c646b  bfd/pef-traceback.h
 5b6b31f90b3697dd106708c09908f5dc  bfd/cpu-m68hc11.c
 0394365446a9eeee92434c3dffda6aea  bfd/coff-go32.c
-63a5bf19b398e27f85c9606d66fa5911  bfd/config.in
-7005cbea77ffb2c56b1f29363aa3a7b1  bfd/hash.c
-d40f722a2404f0de98cee4cf58e6dc50  bfd/configure.ac
-0751fd3fcf71bea06dd7080281538a9c  bfd/compress.c
+c1460a959a87d51eb868451d2d9fbc37  bfd/config.in
+caee00a17e931f724016633e5a1b724b  bfd/hash.c
+ce356fac5f636c13da4387d312889437  bfd/configure.ac
+87b5aa51c9e9b61bba9d30e457edcdfa  bfd/compress.c
 d359597f7e027264df0e13ccdd2d4b30  bfd/ChangeLog-2015
-cf3610fc6c8d3e2cd92d39d8dcac3b1f  bfd/cpu-w65.c
 436cbe536c24bb099cd141e3cf381e86  bfd/README
 db9b34e62a448571fa051e7845349ba8  bfd/cpu-xstormy16.c
 58a3fb1e054b540ef5c1329799b824bb  bfd/ChangeLog-2005
-d0711c779306fde7e0cf82e587b4e331  bfd/nlm64.c
-1d336e75cdf2e054a7ad739f69cbb72a  bfd/i386netbsd.c
-072233db50eed59f4134fbb3abe5ec7a  bfd/coff-aux.c
 6ec123979d27465bf84408a2723d17c5  bfd/development.sh
-e4ab25e76b4f80c9222020d4bf1171bc  bfd/elf32-tilepro.c
+e1fb0cd0a25f125f7a0e877429c5f913  bfd/elf32-tilepro.c
 ce363ffcdb2993ee84530554d0fb5a78  bfd/ChangeLog-9697
 45126fdd4312667e4a8555316f1aa101  bfd/cpu-cr16.c
-b722888203ef52f575ac8d16ae95b62b  bfd/i386msdos.c
+1034e36afdf2dc6c23e835ab631da68d  bfd/i386msdos.c
 c54be8bed640c8d3e2ce1b687cb15e09  bfd/bfd.m4
 c942e6f102dd94d5b000c363e3a37197  bfd/libxcoff.h
 a77895125fc1ed1536526573de0f789c  bfd/i386bsd.c
-5fc269f71a687060ef6fed60482cada7  bfd/hpux-core.c
-9cce5656a6bab2b1b09f498651ebdd5a  bfd/elf-bfd.h
-fbd21ddfd6cfee4b7002b6c858950c20  bfd/m68k4knetbsd.c
-aacfca6fbb2496e5ae842ded2bbbf8a9  bfd/mach-o-target.c
+d094bca2112920d301f0a6210583e790  bfd/hpux-core.c
+6b590de014c6462d19b7f961172608d0  bfd/elf-bfd.h
+67fbe8bd75b3f7e2d61c7651c87bb42b  bfd/mach-o-target.c
 c55e1a6246ca842951f9dbe45502ca6b  bfd/elf-strtab.c
-a4d88d353efe6ceb497bc72f0911cc14  bfd/peXXigen.c
+d853183db82f804f8cd45fbe37edbac6  bfd/peXXigen.c
 74e5f06237d15c18afa24249d81aedb8  bfd/simple.c
-21b54c6348b12a261b1f78a668a34336  bfd/pe-x86_64.c
+867954af85768279a292a06c86f76e3d  bfd/pe-x86_64.c
 5052042732b075dba1c4cacdee10a40b  bfd/init.c
 6e7d252d0ca9275d92a5e3a278a7f882  bfd/cpu-bfin.c
 b1aad04fd8075298393fc44ef505eb2e  bfd/elf-nacl.h
-a7f541692ac0bd742397b76641e8e3e6  bfd/config.bfd
-7f5978ef4b1b403358dd46813afb6eed  bfd/elf32-bfin.c
+f5b9218876a0b4ca3103d3317e992d42  bfd/config.bfd
+97680e203df10827aac483be5df834a8  bfd/elf32-bfin.c
 6cbe88c9f0c78a4a5ec99cd6e12923bc  bfd/makefile.vms
 fa891d6167452d63b23d7a0539ca31f3  bfd/cpu-mips.c
-5da08ebdf30bf88301da439ce236775b  bfd/gen-aout.c
-6f117d608a663509113d214a71dd7f29  bfd/elfnn-ia64.c
+36e5edd042542c2e8c0a91f369f2016d  bfd/gen-aout.c
+046f6d5c74d303f1d42a7e54bd290581  bfd/elfnn-ia64.c
 3e38d95be2e1ef1bbd546a150b87c631  bfd/cpu-xtensa.c
 4cace338b2ff435f2acb5ea3bbbb52f5  bfd/pe-ppc.c
-cfd78054900fd2f9061714467efcb711  bfd/elf-properties.c
-e0ac3bcc2deba3d6d267052328b500c8  bfd/opncls.c
-830aa002e5e8286cfe8c0b1a03ee757a  bfd/elf32-cris.c
+39bb5f6a1f1962fa660e733abbb91f01  bfd/elf-properties.c
+06ad19abb9b15ff3baf313eeed22e285  bfd/opncls.c
+a8cfa29550805af86d95e6707f668850  bfd/elf32-cris.c
 bb80aa55fddf96b378c4a8b4811f0dad  bfd/cpu-z80.c
-aa3808b577dfcd6b0dd6b8e2bf57129d  bfd/coff-i386.c
-073574a1ec0e9d6a50c9b46b834d0efc  bfd/aout-target.h
-5588536f56687ddd03749c5c4ad7a78f  bfd/elf32-spu.c
-a45f58a3ed96ecb1c2bc45b715da3751  bfd/elf32-gen.c
-0463f3ca346cec59d7d0c164087c4f6c  bfd/cache.c
+c24b4a8189cb8bd85b067171cfdfe37f  bfd/coff-i386.c
+c2ab09075fd0d1a0925fb9eb2b74c676  bfd/aout-target.h
+bbb1a4030984f3a7f55b72ea9abf27e1  bfd/elf32-spu.c
+e20140472181db45c7ae6b1d71652d4b  bfd/elf32-gen.c
+b0e9459d7659cd7f6e379730fbc9fb1f  bfd/cache.c
 fd2f709ee318221e7dea29c072e9b7b4  bfd/cpu-wasm32.c
-0dde3cce944083c130de5c338de54e63  bfd/coff-tic80.c
-c1eb25802793933a6f86ae5ad67e2216  bfd/elf64-s390.c
-ca7256bd9dbb16f2bc9c16c3ea2f4505  bfd/oasys.c
+5d3a63de384ee485d6416ba48b94f774  bfd/coff-tic80.c
+8414037664887ef9e5d8bec5417ee001  bfd/elf64-s390.c
 408ef1462276b75d3708877103c85eb8  bfd/.gitignore
 737a945de65028256411768daa144415  bfd/elf32-m68hc1x.h
 36253b784f23d9d61ffd4ef0d3116d72  bfd/cpu-spu.c
-b1619f366bea84284e4fcf6a83480064  bfd/bout.c
 3d490a82418291110e1518a76e767877  bfd/warning.m4
-d7b0503f8340a410c38a5815833b641f  bfd/elf32-moxie.c
+5adb23eda8e50d14dd5f8c57e7d1925e  bfd/elf32-moxie.c
 13ac51198b743145e948c8d8f2b80442  bfd/pc532-mach.c
-e6f3e668d9cbd6ce01331700ce1c4e75  bfd/configure.host
+f5c52bcaa7aee0b94d3235a445978953  bfd/configure.host
 01cc63fbebf1a8868f057dc2eb38b909  bfd/cpu-aarch64.c
-8b3079f2cd9001d52772b2ce2ff9747e  bfd/elf32-ft32.c
-ced35a4677de787f262302d64e4efdc2  bfd/bfd-in2.h
+19c63b604f6f33790f92e2b86cff1b46  bfd/elf32-ft32.c
+c5fa2ed62feb85e971ec3c53e8f6bafe  bfd/bfd-in2.h
+12e16cab684c810195a06be8ac3baa73  bfd/cpu-nfp.c
 57d5dcb50a5921ea4198d2d218f5e88b  bfd/cpu-k1om.c
-d4b8001c2892cce58a34a44ba7c28373  bfd/nlm.c
 6f46335aa43d4e6293804a34ad7ab22a  bfd/cpu-lm32.c
-9a873fcd7fa9ff416d707f844ae5baba  bfd/sco5-core.c
-62e4c2376013d83eb027ebb309c5aedd  bfd/nlm-target.h
-9fc7eb65ed8eb3d9a2aec6b38ccb691b  bfd/elf32-sh64-com.c
-bae91cc02e8eef36432ca9e1935c6412  bfd/i386mach3.c
+f5cbf91bb7c775464df41e7fca36c00f  bfd/sco5-core.c
 03f7638de62acc476db19bd3c08f8217  bfd/cpu-m32c.c
 f6ee91d099ccb750eb9e5a5a3730b062  bfd/cpu-pdp11.c
-06d2fa353eb27910359721411632faa5  bfd/coff-tic4x.c
-315b2bf3d1f5c8febed4d83006379e4c  bfd/elfxx-x86.c
+dd51db0c4f1742567e4109a70b7af803  bfd/coff-tic4x.c
+2fd1a4524ef1e88fd44e5f46e7a03956  bfd/elfxx-x86.c
 27882d370ca1cefe17fc035a9f3aad01  bfd/cpu-m10300.c
 bce8bb42f80f11a18d3f95a2798508e9  bfd/elf32.c
 887d624985b71b121fa07093b838fc78  bfd/elf-nacl.c
-440b435c8b755b6a344c9ed9c3761633  bfd/libbfd.c
-e28919f42d05156160993b591ff090ad  bfd/elf32-d10v.c
-046ae29e9c6e975d08a8ad5e78b89b16  bfd/coff-arm.c
-01765f4d1bfae4f33ba6e42af15d06a2  bfd/elf32-score.h
+d9a7ab742b2a22a99d5da09761ec8bcd  bfd/libbfd.c
+730a932c40f4caced6cb1a05185a89fa  bfd/elf32-d10v.c
+525f8da0e1dfa63c32c0edf2a4593629  bfd/coff-arm.c
+4bd04a5e1ef38bac2e7dca1d02f6f22a  bfd/elf32-score.h
 671ad779d32ea5493621fdb15215a591  bfd/cpu-d30v.c
 bbf88fdf4e23c9cba924526076284b78  bfd/ChangeLog-2010
-a408143c205e367e245efaec26bbe91e  bfd/vaxbsd.c
-6ecd968d764286c115050db2d4f12492  bfd/coffcode.h
+b992e465c6bc4235659fb78a6ffda13a  bfd/coffcode.h
 8982f8c9abb736da26454b0110fd6c74  bfd/vms.h
-de28307302c4e53a83bfe71dbb02d1de  bfd/coff-sh.c
-b27dadc9d531d2ea749229fdf3e1e058  bfd/m88kopenbsd.c
-952a73073c7f46bc626dff3f5891cb5f  bfd/cisco-core.c
-2415073c85c3320860179c4e5c8e4f39  bfd/ppcboot.c
-b61e85492dd28cc603b88cea1230575c  bfd/elf32-wasm32.c
+40e4f596210a114a90ed76a5089b74b3  bfd/coff-sh.c
+0dd36e90d11b4db365e21720d1d123ad  bfd/cisco-core.c
+017656465ae955b1748f3bf99035db4b  bfd/ppcboot.c
+9358e9fd2f794d8450ad60567d8a661e  bfd/elf32-wasm32.c
 03834ce5652749ddf4269f6201e45b9c  bfd/cpu-i386.c
-533712a57663f78740f6f3b884b35b84  bfd/rs6000-core.c
-285f2c0cb35dae70044e3fc59e2061b7  bfd/elf-eh-frame.c
-8cf2a50e1c3a72796d0bb2ae19ba59e2  bfd/cpu-we32k.c
-d0e2d97d4fbeaa57cbc7a0fe3a44b32e  bfd/sparclynx.c
-1b534da11fa496c7f870b54e5ecf07a0  bfd/elf32-i860.c
+26b3e7305ba50dc8d5347d2f2fb93bce  bfd/rs6000-core.c
+f272b46eeb553edd22b24913b6a71f25  bfd/elf-eh-frame.c
 14dd2e588dd25204dc7d2dd285a032e9  bfd/netbsd.h
 8a0aa0bd01ed39c6b46f12ae36e8fd6e  bfd/elf32-hppa.h
 16cc7d18799774cfc06143b7987d14f0  bfd/elf32-rx.h
-9bc3df897f8db29db5d7302a32a8626e  bfd/elf32-cr16.c
+97bb9e3242b4356dd3bb389dd71f2df1  bfd/elf32-cr16.c
 a318e1f28f425d3b6e92a254278e14e8  bfd/pe-arm.c
-7b7b4d379f43b1f6f5c8d33b089f58b8  bfd/elf32-frv.c
+ccb515838d4b202e7168272747c59b7d  bfd/elf32-frv.c
 b59f86cebeb2c455a1166f35c8a6d18f  bfd/pei-sh.c
-c0d68dcf69f7a1d34321b97655bd3241  bfd/elf32-arc.c
-d8a49b2017c98bb03a2f04a45e7a583a  bfd/elfnn-aarch64.c
+c8d4584d7361670668e8cd7bdfc6401c  bfd/elf32-arc.c
+b5d26d667652b43a9c687ddd8242d0f9  bfd/elfnn-aarch64.c
 b15d553b554b86d893a59cd280b95bd7  bfd/mach-o-i386.c
 1554603cb1fa395e17b09e7babc69e08  bfd/elf32-am33lin.c
-598fa2901f32e06d01dc4cb4e5abe7a3  bfd/elf32-mt.c
-99bdce2181c3daee721e677c7dbbf53c  bfd/elf-ifunc.c
+af7fc071038e017505138a59490defd2  bfd/elf32-mt.c
+8fd22f52ae03b7251a16205377fbc0d6  bfd/elf-ifunc.c
 c96f4f847eebbcf201664452af068175  bfd/cpu-plugin.c
 6fa59a6a5cbd0f96644b5c2652cc4226  bfd/som.h
 7e639bef71c4760dbd00749cd37c2f09  bfd/elf32-xgate.h
@@ -218,387 +187,337 @@ c96f4f847eebbcf201664452af068175  bfd/cp
 50af93890fa9dfa6fcc3f7e6ea22d63e  bfd/doc/libbfd.texi
 37ba364fb34b96a1dbb55b0f6f612432  bfd/doc/init.texi
 930173859dab35d4c1c03efd5ddb18e3  bfd/doc/format.texi
-9704b0719f70d6a85fb4435101508723  bfd/doc/reloc.texi
+1b305e06fcdb9168da513dd4d9d7f161  bfd/doc/reloc.texi
 072910d553f79906db69fa7c0e956bba  bfd/doc/fdl.texi
 884c457392e56f773fabfa63ccc2d171  bfd/doc/ChangeLog-0415
-b0e5f8bcdd17a2c7788a039e630b422b  bfd/doc/section.texi
-b21052ad06b8794f6700ee0d6b39a2dc  bfd/doc/Makefile.in
+eaf95d7724a03dff103cbac278868d35  bfd/doc/section.texi
+52dcdfa3ef2f143ab12d04bfff771528  bfd/doc/Makefile.in
 236e856bb13ee47adc5d7d253037640d  bfd/doc/bfdwin.texi
 a11231531c5c3cd6e7babf06426a657e  bfd/doc/ChangeLog-9103
 f32b11f47b666164ab1aa78183a50b1e  bfd/doc/hash.texi
 4635778e69bcb490e44389e420542276  bfd/doc/syms.texi
-099e1a344a9f9244bc4539df0b929226  bfd/doc/bfdver.texi
-a4c51114e23cf3298c7c2880b21b05ac  bfd/doc/coffcode.texi
+8fb520aca88741f76639eb33a22a2937  bfd/doc/bfdver.texi
+3d524b7e195fb38eb168045e4a2d18aa  bfd/doc/coffcode.texi
 0f03c268d81adcd8078ba07561413b06  bfd/doc/makefile.vms
-48e8d9d71050a09e26b966391e88df3b  bfd/doc/bfd.info
-c255a2069a27ced4481fe25a624e8d86  bfd/doc/bfdt.texi
+4c8d1453d608fddaa206adea6d6c9d8a  bfd/doc/bfd.info
+0099d1d7b0f7fbea1244c30268db03b7  bfd/doc/bfdt.texi
 e67d8b07516154c4ddbee2e3bab3d75e  bfd/doc/doc.str
-5ba5841c3019687995783d5ee8283780  bfd/doc/bfd.texinfo
 9a6e644c9e94d7b18073f5cc6ef4395a  bfd/doc/header.sed
 fceb179f1a1bc85df44ec0ae3b917c1c  bfd/doc/archive.texi
-be4e7a21ac05184147ee2f4db66e99f6  bfd/doc/bfdint.texi
-5581b9dd217087864fca919551734bc8  bfd/doc/archures.texi
+2986e377ab05ed88328818fafcec4030  bfd/doc/bfdint.texi
+249d207f927bee9cbcc74c5e3eacaf65  bfd/doc/archures.texi
 51139f6af786e74446d01ec49807fc28  bfd/doc/elf.texi
-4f196f902a3c2ffdf03a3cf54e072af3  bfd/doc/Makefile.am
+06c6f483903efef1756b3c24fe4507ad  bfd/doc/bfd.texi
+f9f7717174d0c1f08360e1265f05a8c1  bfd/doc/Makefile.am
 7959e3985ba2a5d92e1da3f7ac85a547  bfd/doc/bfdio.texi
 d9f7fec3dee69a6c3084e6d4cfd88371  bfd/doc/cache.texi
 248e1606b44d11cff23f16fec892e3be  bfd/doc/opncls.texi
-aadaf3673141abe847c692cf72664606  bfd/doc/linker.texi
+0b9681af947fd0895c1aad2ccdead74c  bfd/doc/linker.texi
 db9e2773d58e296725715d0e3494d54a  bfd/doc/chew.c
 001da3c839b048ad82102ca4c5598743  bfd/doc/webassembly.texi
-39cc9188e88e8b592d2abbe612ed87db  bfd/doc/bfdsumm.texi
+a25c28d97d53ddc1213a753abd5a594f  bfd/doc/bfdsumm.texi
 d41d8cd98f00b204e9800998ecf8427e  bfd/doc/elfcode.texi
 d7a37304ccd7b245f93df4be02797477  bfd/doc/proto.str
-6a15b20bd56486434939c9db8e631728  bfd/doc/aoutx.texi
+2fcb7fad5bee8e2df5992b3f8505b94b  bfd/doc/aoutx.texi
 84a99eb217f66a88f8897fbca35b0d10  bfd/doc/mmo.texi
 6dd9da257666139a061d6905349d9614  bfd/doc/core.texi
-49b95526202f4798a0b4095e49eb24d4  bfd/doc/targets.texi
+3c82ca39b8351198758c51ccd93082e2  bfd/doc/targets.texi
 970c596bc3d916b5ec8a5dfffdb999b0  bfd/elf32-spu.h
-b167d1426c8a201c0463a85520e535b8  bfd/elf32-microblaze.c
-5d88e71c430ecd05bd342034b2f9d271  bfd/sparclinux.c
-33f56d1b8b111ac52663e4970222c7a6  bfd/cpu-sh.c
-ebbc619d1b3ce46a77a6d08c677b71d9  bfd/osf-core.c
-5683622c95a1099cf1eb9483efd3e6e2  bfd/hp300bsd.c
+b1d5b1d1d84fed4af6afdfba74abd3d0  bfd/elf32-microblaze.c
+eb41197267d55c2e49bdbec295797c18  bfd/cpu-sh.c
+bf3cb55e93153dcbfe9e5ef624cd1e56  bfd/osf-core.c
 8eb19b0733efd44ab873956fd3eb6a29  bfd/cpu-ia64-opc.c
-3c1dd1fd43c9b11f34d9112513469e8a  bfd/cpu-m88k.c
 501e47b327ad657da4c51f535d9ba1dd  bfd/cpu-iamcu.c
-55353ea90b7a534cdf8545d0819400ad  bfd/elf32-crx.c
+2576ba6d77aa8c4333e560ca63987eda  bfd/elf32-crx.c
 4730a96df3fe1a657289c366a4f39344  bfd/ChangeLog-2006
 b99584d00ae5ac66c772fa6887fe83c2  bfd/pe-mcore.c
 2def21880d37554458b14a90bf893d50  bfd/cpu-mmix.c
-fa7ab1e9597e4810228a551ccddbcbb3  bfd/coff-x86_64.c
-ce703c5270d8289b73c4bcae25827f06  bfd/bfdio.c
+fb4054fc1ce2a7b3c92e9ca59a710f64  bfd/coff-x86_64.c
+d7ffede7b6bbcce350a4ca58a4a48f02  bfd/bfdio.c
 621977267970a7fce5d9a9682265206b  bfd/cpu-s390.c
 4f96af31851ac36540ff2db83a826c23  bfd/pef.h
 7961c65c046471e22f47312dd7a28ce5  bfd/elf32-tic6x.h
-6c28953fb0ac93b2924e4e1c3f7e8d6f  bfd/elf32-sh64.c
-3f53773f5b50352655b727f53236ec51  bfd/coff-i860.c
-28f41b8719e1d4f671a1ea50c85c5e7b  bfd/coff-alpha.c
-a847498776bfd87d256c2f53b2fc612e  bfd/bfd-in.h
-a791d2d45df3afc85cb0102a754359d3  bfd/elf32-nds32.c
-51230b8b47ef1c8073c5e343abe7c077  bfd/elf32-i386.c
-f688082beec0a7ee327d2f2621d73afa  bfd/elf32-ppc.c
+dd91efd82313c792652231716dd60c92  bfd/coff-alpha.c
+fa3879def085d484593f9555f499640c  bfd/bfd-in.h
+2df90d004329b03b1978355a68ff9ec4  bfd/elf32-nds32.c
+1b6169d0ca2f6d34ef1c1557d670b5a1  bfd/elf32-i386.c
+8ea3265e4e2e4df92e5c92319240b687  bfd/elf32-ppc.c
 7d710529ca3fafb2bb57132df24957e3  bfd/ChangeLog-2004
-de708dac3d691e8e938418d79d95a00d  bfd/elfxx-sparc.c
+085df443ead18c10e9bb74992ff6a86d  bfd/elfxx-sparc.c
 9ca91d48029e4a031214ded3771db8ee  bfd/cpu-powerpc.c
-ddaad3969af49017cba19437aea9b9a8  bfd/coff-sparc.c
 e935379eb5723fcd04ab26b5f16518aa  bfd/cpu-xgate.c
 d1a135d238a33af9e42cd6c679294817  bfd/cpu-rs6000.c
-258f58116356a31b31f06527b81c5958  bfd/nlmswap.h
 3d42ce02e6b73bd7d74bad2d30524bf3  bfd/PORTING
 8d32c86d94f2fe73ff86cc8eb8553890  bfd/vms-misc.c
 30aba6146fa40ad808e8ab79e4606c6d  bfd/coff-z80.c
-6f3388c7444e2358b8ab8f0dc2eb825d  bfd/elfnn-riscv.c
-cff89359bdbc326f6569918f2c97146e  bfd/epoc-pei-arm.c
+a1323a5582123bc8e9fef0f1c6bb0fda  bfd/elfnn-riscv.c
 bd7a87effb031b86ce56f3d06346a627  bfd/cpu-epiphany.c
-c8a4c7d323e006f57aff72516f9400d9  bfd/coff-w65.c
-9309ba43ba8b3162eacfd5c092195245  bfd/newsos3.c
 3ad2da5e89013747b80c598f97f7a485  bfd/ns32knetbsd.c
-cd6164506a123852d108e8c89bc3a7e1  bfd/cofflink.c
-1945d16bd353b75995bb1f8ea5d0df8c  bfd/dwarf1.c
-5796d98f2fd78543e56b659fed7858e7  bfd/coff-ia64.c
-0898ecb9478e8b80d294910dfe1a0b6b  bfd/nlm32-sparc.c
-c3191166e24d136d2df68457059d8dc4  bfd/elf32-pj.c
-86aea1d65c74a30607c7af3744df39ba  bfd/elfxx-sparc.h
+10e6b675f37781d55e885260593e3785  bfd/cofflink.c
+643405c3df6ad3ce7f8e25d063c7935e  bfd/dwarf1.c
+d64bff4314dbc56219134ee3b01fd685  bfd/coff-ia64.c
+2f925ca66531f68f8aa32e29155b1194  bfd/elf32-pj.c
+1a2acaff00f1519596ba85d74c3dc1a0  bfd/elfxx-sparc.h
 b4c9e8cb18b99a99eac081d3f391a16d  bfd/cpu-pj.c
-0ea73fc289487b586894297ca31f1ee8  bfd/elf32-i370.c
-2ae3c39b1d80f50f0ab20a1e928de850  bfd/coff-i960.c
-0dc8cdd7a80c335f14d9176f344abcc5  bfd/irix-core.c
+c1416f4ddbf4b89acceaacf6eec714fe  bfd/irix-core.c
 95a87210e383b27f6c7edad3a21ad71b  bfd/pei-arm.c
-ad466c37e2a958554a63a9baef89e840  bfd/elf-m10300.c
+3b6cb695502dac63897629e36ad95be2  bfd/elf-m10300.c
 b46c407bd5a786dc6b8e49b660fde128  bfd/configure.com
 4bb28018ce9e565fac72dd68ac4266a5  bfd/elf32-nios2.h
-c8b91d665e1685f3c45019c7db1ebdde  bfd/elf64-sh64.c
-9ea0c2343d33e85b350a62eee246fc8f  bfd/trad-core.c
-2e3c7176c2827a9c547e81ffcc526a9c  bfd/elf64-hppa.c
-a60c3bef7fb43a29adf095ac4647c8e6  bfd/pef.c
-1c3b1cdd726dcd5b9d3bff2b941727a7  bfd/aout-cris.c
+d4c95ec59c22aca5f57b087a8a1097c3  bfd/trad-core.c
+3b28eb3aaf938e47f2bb128c3fe5273f  bfd/elf64-hppa.c
+90410f311bd1ef1a9172ac4d87641d22  bfd/pef.c
+d4fb33d137ca2c8e438f68234665a905  bfd/aout-cris.c
 9b85ec79181434ec3f9ff61d1c20822b  bfd/cpu-tic6x.c
 1ded054093de910d9786c62bc4fe8cc6  bfd/stamp-h.in
 b0ce23f80d12db3c7139492e669d5ed6  bfd/cpu-or1k.c
-8988abe43405c72f8ee048ff154acb1e  bfd/elf32-mips.c
-d0bc038d48cc29a6b36076b310c3571d  bfd/nlm32-alpha.c
+f4713c8d99869f145bc0cf326fdb41ca  bfd/elf32-mips.c
 85d5e785b7adcff10c9833cad0189938  bfd/stab-syms.c
-18bc47d59c133b6882ff6285d129c29c  bfd/elf32-visium.c
+51cc2e51a28e5d0bed0669ebbbc9b89b  bfd/elf32-visium.c
 76afe8404518c77c9cacc3e0a3265a6a  bfd/cpu-rl78.c
-6098e49c87551bedc136b4b6788d740c  bfd/xsym.c
+8737420889f47152701fa786e16178b5  bfd/xsym.c
 be5144881c626da1faa1d7582ddce2ce  bfd/cpu-mep.c
-ad6e0cd6e11d2f44ce4f273d98b6dc4f  bfd/i386dynix.c
-82619ad2833e3cb2e86247f2ec61dc18  bfd/riscix.c
 a1ee2695b25b382897812c400637f3dd  bfd/cpu-m68k.c
-d416cde59d7191738966b4c71994592a  bfd/liboasys.h
 d48a168cc056b6ec1c5ce1c932c45152  bfd/hosts/alphavms.h
 efc7aedcd76e5b6d849a4c777b0568a4  bfd/hosts/alphalinux.h
 c4862d2caabb342c3f66ac1925973918  bfd/hosts/symmetry.h
 31d0c149241bb652e52e2ac9e5af31e8  bfd/hosts/i386sco.h
 5225af9af22335c0e4995929e2b14a6d  bfd/hosts/m68klinux.h
-f55624f8772549bcc7315a7ef0eea254  bfd/hosts/news.h
 4788cb81f8b3819101c47dbca47199e0  bfd/hosts/pc532mach.h
-af78ff4d4dafd17bb3dd42dfe33fb439  bfd/hosts/m88kmach3.h
 47feefb1171a90bb5ec557ae5685718c  bfd/hosts/mipsmach3.h
 969f807f3333e871a6c0240c05aaaf68  bfd/hosts/x86-64linux.h
 e6be10ef05761d171624764d8946ec82  bfd/hosts/i386linux.h
-c3751e041e0be47449c0764ba90d8c84  bfd/hosts/hp300bsd.h
-dacc27b1ccf38ed494ede4384028b928  bfd/hosts/i860mach3.h
 dd2acf3a522a9edf952f162c50381fe1  bfd/hosts/dpx2.h
-1a57ee52f45ff930f713993bb0ca512e  bfd/hosts/m68kaux.h
 f05b9e2441935a8c82386520fc30ffe3  bfd/hosts/i386mach3.h
 138bcfd6b33119b3d24be7af1dd2bacf  bfd/hosts/vaxult2.h
 6b91ed2ee702246283ae67a16bbd2584  bfd/hosts/i386bsd.h
 70d6cc6ab58603bb1188df015cf0e1b7  bfd/hosts/news-mips.h
 5812a7fa3f24ef965964ec56a917dddc  bfd/hosts/mipsbsd.h
-4665d74a0142ec3db808719a80e33b3b  bfd/hosts/tahoe.h
 5f309d875cef8857fc5db6fc725aaef9  bfd/hosts/vaxlinux.h
 0bf1648a6adac4573e51f420176bc8fc  bfd/hosts/riscos.h
 3258a460c3013357e986b989c234efd1  bfd/hosts/vaxbsd.h
 24f0f93262349a06bacc3a239a0fd779  bfd/hosts/decstation.h
-de5fe5442d51df9b194dc70005cfc593  bfd/hosts/delta68.h
 138bcfd6b33119b3d24be7af1dd2bacf  bfd/hosts/vaxult.h
 2b9ea29665f8e4e2f78b646567059733  bfd/ChangeLog-2017
-dc6bfe8d4d4c9f7c39f483401b1aa853  bfd/mmo.c
+015baa79d23233620c611609570b4839  bfd/mmo.c
 e291c0d76c7ee5a96fa3a63a6acddd35  bfd/coff-z8k.c
 ef87f02315c4ce86cf13c49995839a17  bfd/cpu-alpha.c
-b0b3d0d0ce17ca9fb78969dcb0a1e528  bfd/elf32-tic6x.c
+c22e40bf53fe6af41837a96288d2e081  bfd/elf32-tic6x.c
 f9f37904b285ca82c10c6c1dbd41c483  bfd/arc-plt.h
-19b4e85761b36654bf1c7df3d2346c40  bfd/stabs.c
-c88724b133e5373ba5d22cfbfc5a6199  bfd/elf32-m88k.c
+a0eb2d45d9a3f55beb8951a3fba90d1c  bfd/stabs.c
 b57bd9723cccbbf150af3d48e4c3dcf8  bfd/elf64.c
 bcf99df76a4837a1b2d0dfea57bbd6db  bfd/ChangeLog-2016
 85541fa570fac79f4c5f104f87c24d62  bfd/xtensa-isa.c
-3acd8e730eaac584bfb34864f3aaebb3  bfd/elf32-epiphany.c
-958e26411c9edb743f136f99ef915fc7  bfd/elf32-m68hc12.c
-77d6dbd0e35a1cdc10aeef84cf65714c  bfd/elf32-m32c.c
+0c8fcb13feef92bbe62897f214b91fd7  bfd/elf32-epiphany.c
+8360bc96986fd1a2ac4f09e61a75816c  bfd/elf32-m68hc12.c
+e088ef13699b02e6ef46c0da3d0897ae  bfd/elf32-m32c.c
 8f7b5397a7bb5d502a9997e19d244cea  bfd/ChangeLog-2014
-c16a2a5a09be8b12c7fb386963967186  bfd/elflink.c
-3772024ed8fc196acdbb6541281892da  bfd/elf32-iq2000.c
+e77774405263bbe47468debdffe31cd8  bfd/elflink.c
+e025d7200a6e1e3f6b987ceade262c38  bfd/elf32-iq2000.c
 a939bdd818ca9a692a3ab42a01f0cfde  bfd/arc-plt.def
-d2aa74d856ba822f06a0d2165479fd7f  bfd/aout0.c
-f7a7b223126b0467d1dd8a9ca20c4b05  bfd/elf-hppa.h
-c501d84f0b11d9ac868f686990bdc190  bfd/elf32-sh.c
+5d517b990dac5997d0e3c8ae8be119c1  bfd/elf-hppa.h
+108e8ec3b315a6a1596c47ca71f7d38b  bfd/elf32-sh.c
 2e7281d7dc831bca380c925d5b4d9f88  bfd/cpu-xc16x.c
 6675848c29710c9e1580633b83e76824  bfd/elf64-hppa.h
-3d34d3273cbe5d1952db4d76d6653341  bfd/nlm32-i386.c
 56aba66db3209da983fda2af58bbbe2f  bfd/cpu-arc.c
 3c0a070a98b24ef6248946e499503da9  bfd/acinclude.m4
-8d2c476655bae6dbcb777a98e5965fda  bfd/configure
-75f92d8b655dd60a642dc51107554362  bfd/cpu-arm.c
-8c2c489fdb9a7fed2dfc02cb86a698ce  bfd/elf64-ppc.h
-def066f8c19bdf073bcbf37635a6724c  bfd/merge.c
-c226ff233ad89796f1d25116c45c253f  bfd/elf32-sparc.c
-19e7c04c7bebd87f0386927f67312eb5  bfd/libcoff-in.h
+0a75b5298728144078cbc6aa317c1bdf  bfd/configure
+9fb0db4073853e3c1f62ff2e333c0dca  bfd/cpu-arm.c
+025aa3797bf17bef5676e940d48728ec  bfd/elf64-ppc.h
+61447ed7c1d3528f6aad8ef4cb3a214d  bfd/merge.c
+9ab78ef96af9ec62abe769b7b24b9f9e  bfd/elf32-sparc.c
+18bffb6b1707a8844269275aafbe8b9b  bfd/libcoff-in.h
 19aa6701514da6fd244f4536f1facddb  bfd/elf32-tilegx.h
-ad98c372073ad07378d635091604c5a2  bfd/pei-mips.c
-2e9273eba456c6ee3e64b5f4312d4b46  bfd/elfxx-aarch64.c
-4abeb9d05ae73a81e18860a93936a112  bfd/linker.c
-9c8d18dd3baf98cc6f5d734e906328e3  bfd/aclocal.m4
-a25fe8b0ead69e0a0efb6f3a79578a51  bfd/ihex.c
-beee4269c8ab61dea80b58753f2ae28c  bfd/srec.c
-7568a7fbf7a82488a3d9bd19fb0cf97d  bfd/elf32-score.c
-6736e9f02d9b24fefd2a65e4edc5a053  bfd/coff-rs6000.c
-c34e3d86db0288e15cbb554e7f319324  bfd/nlm32-ppc.c
+73e9942ec5a6e577a292978f47a9c17c  bfd/elfxx-aarch64.c
+e181621c0e0b03c1d6c75655a0aff66e  bfd/linker.c
+e8b25364d1ad7e7d5b5b6cce78cabb4d  bfd/aclocal.m4
+5f24310a5449df283c5c9bde541af9b5  bfd/ihex.c
+b0a039fd5af0d657daa4ca24744c1748  bfd/srec.c
+413637344cbdcdf20d937206885cf895  bfd/elf32-score.c
+670d4c18bac97e9ca737c37017f0ad99  bfd/coff-rs6000.c
 db9dd4a0b20b67e4ef912c9fd4cda91b  bfd/po/vi.po
 c4019a694f03cae81694f9c1c595e750  bfd/po/ja.gmo
 c47c7a53f52ded3368c3bd458b8b7d20  bfd/po/tr.gmo
-00de15b8f4dde270e7a84ff0f98baa7d  bfd/po/es.gmo
-ac60199ef424a8f3ae7b5f14de34430c  bfd/po/ru.po
+64efa75ee23e3602dfd95d68b441ae72  bfd/po/es.gmo
+d31fa6151f8e0328e2f1d1111ff56446  bfd/po/ru.po
 b93e7a254347a0c9d0aec92f503f82fe  bfd/po/hr.gmo
 e15c998ffa3537ef5f5c5ed225c18279  bfd/po/rw.gmo
 d94efcf27579278ba3dc959774e52b70  bfd/po/ro.gmo
-9b648b06f3bb0c1584c93316fe72b490  bfd/po/uk.gmo
+fa7872abe9adf41eb8a028cee23dc700  bfd/po/uk.gmo
 3df30e1e39753152d11d44cb2c965da7  bfd/po/vi.gmo
 707a2271e7ae77dc322e9f2977002b3e  bfd/po/zh_CN.po
 4314f7dc707bdd16e1a3aa6318d52f8a  bfd/po/rw.po
-f58f748de9ae43277eec125f66c6881e  bfd/po/es.po
+4301533a9f9af510a6519c49094063fe  bfd/po/es.po
 4d37138c8d35849276f5939f27ee211f  bfd/po/BLD-POTFILES.in
 e19bb962d689621ffdc549c064bda359  bfd/po/hr.po
-f4e28eb8599e9f7c8bed03d81d9975c1  bfd/po/bfd.pot
+155165fd983fdfa719a56d73c57f4891  bfd/po/bfd.pot
 c4291d2c48fdf616cf5a219bc8dfc79b  bfd/po/sv.gmo
-66863a9b9e062f64b6ed05aca9fa42b4  bfd/po/fr.gmo
+1ac2f079a93133dc5d6fdd8aa8e1edfb  bfd/po/fr.gmo
 063bd370058e0656621e835f75f8d0af  bfd/po/sv.po
 fc4ade952b8b869e24a5693459c6738a  bfd/po/Make-in
 6640519b8e1477c4c621e3524c8e320e  bfd/po/zh_CN.gmo
 81570d19a349cd683436f77a9c8d13cc  bfd/po/tr.po
+f9ee64e466c261dd0b7c11d7379ac490  bfd/po/pt.po
 ed0372f4ddff71fb0e948338cc9d8559  bfd/po/id.gmo
 e92e0c0fdb85a3e07602d6d891f3c9f4  bfd/po/fi.po
-ee0c7b2fde1bbf1d05a7af7fedcf51b6  bfd/po/ru.gmo
-a59675d9924cd407367bcfe6983ec2e5  bfd/po/SRC-POTFILES.in
+4a8bc18ec618116d10c8b70036560d29  bfd/po/ru.gmo
+cc8e489530e5370e7b2ec6bed6fb3159  bfd/po/SRC-POTFILES.in
 0df7e50992986ea8a85eb6baa50bd279  bfd/po/da.po
 c7515f4b454a1fa630412fa279a3164a  bfd/po/id.po
 0ac8b8067067b849aeb810162fa751fa  bfd/po/fi.gmo
 2d5851818601f0c6fac54e6b59482875  bfd/po/sr.gmo
 440d5018fb62b30ff5a819137633e364  bfd/po/ro.po
-ecd205a368a8a9eadd29a2a81cf3216d  bfd/po/fr.po
+9a0304b964fdeb5e920abb59983bcaa6  bfd/po/pt.gmo
+6ad465c0aaa081331b1b85cfc206bd5b  bfd/po/fr.po
 2f6a25e42540d4d2dd6d59b12c6bb3bd  bfd/po/sr.po
 b35e9bdbf39377a1385504db7784d3f3  bfd/po/da.gmo
 74cb3712e1e8c26eda36a992fefc023f  bfd/po/ja.po
-7e9c84381c401453201ad9e67a1b605f  bfd/po/uk.po
+d22c3023b598acbf4b0e52ea17f75430  bfd/po/uk.po
 053e50680ffcbc1e5f6cd139dae37677  bfd/ChangeLog-9495
 0f2b6a31be6a9727c0f62444426a884c  bfd/cpu-frv.c
 0c0cb7e124830f388e0608ac641164f5  bfd/cpu-cr16c.c
 f61aad39890a71ce23a9612d0244b6d8  bfd/elf32-dlx.h
 528fe966c404810102770a31ae145d52  bfd/elf64-tilegx.c
-ca1594510bc1372de225ff7361df7d90  bfd/Makefile.am
+b417d7e5233cfab3534dea9a2c264187  bfd/Makefile.am
 e63f6d01a376008a89e252c7b5cc1f6f  bfd/ChangeLog-9899
-75e9d64c7418f89139f0cacb14ff8913  bfd/elf32-score7.c
-c38617ac69a0bd96e6a38db22d8d2504  bfd/binary.c
-b9a87dcc61528f8d867c29011b8a2a87  bfd/libecoff.h
-299cf79e25f4e6f8d32b8d9af946530a  bfd/elf32-avr.c
-179e6d72fe300beab0e77a4f46f2955e  bfd/elfxx-tilegx.h
-c43f93dc0016a25fc83aa54f1c8d800b  bfd/elf32-h8300.c
+a98b6da27a6fa8c18cd48ad2762cc1ad  bfd/elf32-score7.c
+2b26d0e5ab0033209c012341ea59910e  bfd/binary.c
+722db47257ae0e4177dd45fb7cc73f55  bfd/libecoff.h
+5ac808c1aa64a243fd53f099b7f7b976  bfd/elf32-avr.c
+3e3033acb9160941c00dbb433824856d  bfd/elfxx-tilegx.h
+819e136f8834533e72492ec9ceb4e9fe  bfd/elf32-h8300.c
 3f90315edf64a2fa80c06910077cc71a  bfd/mep-relocs.pl
-126863f576fca9fc8e800bbeeabc2f57  bfd/coff-h8300.c
-2dc9bcefb6bf8e7ac7543cff5e1d1687  bfd/elf32-nios2.c
-626b82708c0a0a4332325cd2dd554723  bfd/som.c
+6474bb0c69aad79c600bbab5ba6bf65e  bfd/elf32-nios2.c
+1436851aff8d04453dbb49c2180f9545  bfd/som.c
 8d4d744508f1954a1e84207976a9ed1f  bfd/elfxx-ia64.h
-93e21f4eeb78462639fa34fe57a1bc73  bfd/elf32-or1k.c
-4e344b2033bbd5b24d63be5f3d51c125  bfd/targets.c
-e3a52a032780d6e949fcb61407f8fd9b  bfd/ChangeLog
-c8d21465fcfcd80dc40d89d4f957acd7  bfd/section.c
-4e5afa557b9a6ad590d5fb77fbd74370  bfd/elf-s390-common.c
-2d0b151d77edb91f1ec4c062854538ed  bfd/elf32-lm32.c
+a32a11a90e680d848c563a7664389067  bfd/elf32-or1k.c
+2074a9dac470cf61aaaecc2f61f057b8  bfd/targets.c
+716b85f0ad9ae88f6bb81c499f010cad  bfd/ChangeLog
+76a54b57696d4946a2fc04746941130b  bfd/section.c
+78ae11600c2227f680fd167903e41c28  bfd/elf-s390-common.c
+4cd053ce6a3075cc43ac05bbf8fc60cb  bfd/elf32-lm32.c
 2fcc022c7c326e46a5b50329a8698640  bfd/elf32-avr.h
-b0afbb4ea98c395f7e60961a1e799e5a  bfd/elf64-alpha.c
-b60a077ba321e8a91ded15e0b0690e9f  bfd/verilog.c
+b2109f55a88b99c0c3272bfa371b265d  bfd/elf64-alpha.c
+990f5547d7272f365527064353e07f7a  bfd/verilog.c
 124ae54161a76c43c3f1c0384eca5004  bfd/libhppa.h
 f74026ca420c599f42bfa049aef922c3  bfd/pei-arm-wince.c
 d73efe2e4fd9abd0f48d456bc54e1952  bfd/arc-got.h
-dc1d0468b7b64e5a67dfa43b8ccf50fb  bfd/coff-tic54x.c
-d0632d6c54d4bdd814ca042743e45e5c  bfd/mach-o-x86-64.c
-2602258b8f34d67252a2270a184c63da  bfd/vms-alpha.c
-f1f95a7d6674e8b0a660711abcf9eaf8  bfd/aout-tic30.c
-7c2f7fe81a999fa903acdcfc9b58f72a  bfd/elf32-hppa.c
+630d12dac59611798222e200a7bfc6c7  bfd/coff-tic54x.c
+a6fb6d629e584824dcd85d412275f406  bfd/mach-o-x86-64.c
+257d23d57e8de714740ccb9520d3fb03  bfd/vms-alpha.c
+958e93c592117c38cf1e1a099a751e3a  bfd/aout-tic30.c
+e9698c9141c0aee24395d33862a533b4  bfd/elf32-hppa.c
 8f706e609c86bedcabeb40bb598844e7  bfd/TODO
-3dab814e127d302e285d4b7ec291f3bd  bfd/vms-lib.c
+5fa75e2a73c17b10a0871d52f248c3a9  bfd/vms-lib.c
 0d219537fa16b8d54bc02d4721f78a55  bfd/pei-ia64.c
 48097790cbee8800147ba96a6dd07fc8  bfd/ChangeLog-0203
 b97f9a1ec3d2381f31403c94e269fc89  bfd/cpu-tic30.c
 ab5581d8ad05ad4b50a8ae717693e30e  bfd/cpu-m32r.c
-0df8746669022359c5c746a7d276e698  bfd/elf32-sh64.h
-b0a704b086ed6f5f5a82fb2d8c4bd057  bfd/armnetbsd.c
-c6de839509aef842da0c4c906d384002  bfd/elf32-arm.c
-774466616e6eb97ca007c474e3016d1f  bfd/m68knetbsd.c
-1a1f625588ab54d6e1cd78691c24593c  bfd/elf32-ppc.h
+497b2a21f6400c6d41244ba3e5b0124b  bfd/elf32-arm.c
+1cd74a83f7736c428e3aab587ab64e2b  bfd/elf32-ppc.h
 2f3717840f1c319ab980200dfc5c4084  bfd/cpu-msp430.c
-22b78a89e60e1cd9b8d0c2d183a04baf  bfd/libieee.h
 f8be9b0bb44bce2fe2c60c0b865b63d1  bfd/cpu-fr30.c
 b8402efc7348e5d71e99497d727cc69b  bfd/corefile.c
 829c3e510bb27a2c386ba23041b49f51  bfd/cpu-vax.c
-06d2c8d313fa21b05166c9362384b3bc  bfd/elf64-mmix.c
-36b6efb2fee7ee87287007ededc02f12  bfd/elfxx-x86.h
-d2f27a2646b223b2fccf38930fa02a14  bfd/elf64-gen.c
+192ea3f6f683a1fe006fb3a0e9189c14  bfd/elf64-mmix.c
+be3bdf38071af64e066fc8ea46b9f916  bfd/elfxx-x86.h
+b0497758664f2e665b27819be65b4d69  bfd/elf64-gen.c
 676e87e1557b119b8948e946b621fb7d  bfd/plugin.h
 a11715f8ee4b84e1de3decbbc3228100  bfd/cpu-score.c
 d5134b8c676f93b0941342369ee08ae6  bfd/elf-s390.h
 76c18d761d3930a9f080f7c68c868f75  bfd/i386aout.c
 2caf01e7a3001ad5eb8b36f5a64d3bed  bfd/cpu-sparc.c
-eb8885c4266485dba5b6351e4f14b00f  bfd/elf32-metag.c
+de03ecb0b16e08277401d15b96eb4766  bfd/elf32-metag.c
 a8f07e2c3d17b39da3bec03cc768b37b  bfd/elf-vxworks.h
-35fdd43299731796d169e827b4a5d8cb  bfd/coff-apollo.c
-116c4ab3c273eb68dba466df1da5e76b  bfd/sunos.c
 502da5f655e885f8085c0794f6f0f3a6  bfd/ChangeLog-9193
-4d1e0a92bb594b85c1ff181467d58274  bfd/freebsd.h
 d32239bcb673463ab874e80d47fae504  bfd/COPYING
-f06507c902ef8f002a67ab9b4f797892  bfd/sparcnetbsd.c
-0249300e14b1c86d27824dce662905cc  bfd/elf32-xtensa.c
+f79a027cb8e8f875a841a9f354933f5f  bfd/elf32-xtensa.c
 669791745e8a64f1a721d0f8837c4e22  bfd/cpu-riscv.c
 153ffbad09abbe9d71f46064ba7b9774  bfd/cpu-microblaze.c
-75374cc5d802ed409f125b95d3949929  bfd/cpu-i370.c
 31b5a14536c0f02552823cc396ffec22  bfd/coff-bfd.c
-9781b9e5815d95f5a9573f9d34e2ab34  bfd/libbfd-in.h
+60e597a516ae068faca04ea0d7c293ae  bfd/libbfd-in.h
 2fd63da4280736f626869c01f96e7282  bfd/cpu-m10200.c
 62f2a04737d2f229e9bc2b07bcd84ddc  bfd/cpu-tilepro.c
 1616089974633cf0fb24b7e9152a7f47  bfd/ChangeLog-2008
 3ff9852513b6eb08185c0614170e2a62  bfd/cpu-mt.c
-a9b7ff726164324d55c00d6c1452ed08  bfd/coff-u68k.c
-4ba63e5dfc81e17c1b74365a64721a00  bfd/version.m4
+6812c4fc3f87f39c5180a119c700fded  bfd/version.m4
 8f0b819df5c31fe95d83945d4f54c86f  bfd/cpu-dlx.c
-e125055d2b1de5314fc97f5641054cc0  bfd/elf32-sh-symbian.c
-dd1b8500abb7b98310c8cf0c019afe7a  bfd/elfn32-mips.c
+79b1e4db1fbddaf589f24a9d567856ed  bfd/elfn32-mips.c
 430b1e965b34c857511196434fcb35e8  bfd/cpu-tic4x.c
 918e9e0117dfc570bab13e1ee12bd37a  bfd/cpu-ia64.c
 6474afde93f8e964e3d6dddffde3c41e  bfd/ChangeLog-0001
-4e26e966cc57f991c5a9badcfc0ba0af  bfd/elf64-ia64-vms.c
+665e64e0d240ba1c082120f9f54c46a5  bfd/elf64-ia64-vms.c
 b870ee991f8a31d58f067be850113687  bfd/cpu-metag.c
-26441bdfe06003b1ef54ccacb6e6d70d  bfd/coff64-rs6000.c
-c75bef239bfd166c4aebf239130d36ec  bfd/coffgen.c
-895e74715a30423d4a927eefde179114  bfd/i386freebsd.c
+8b711b35a218bde97860f93a51c1a076  bfd/coff64-rs6000.c
+962061736c32c59b288293c925f7972b  bfd/coffgen.c
 c3020c342a9a1c54e02eb651a56b897e  bfd/cpu-visium.c
 15cdfd7b5500a342bb89992c1638f683  bfd/ChangeLog-2007
-56e9141ca49cdbbf593b36a699eaebd7  bfd/netbsd-core.c
-e1d4a2f757c6657ad72aa462f2d0fc99  bfd/elf32-m32r.c
+58cc589891c29017e0dd05797ccedf0c  bfd/netbsd-core.c
+f930d4bb1cf46d3ac2848f679398dff0  bfd/elf32-m32r.c
 3feecfc96e06bf2b297e0ae4b5058306  bfd/cpu-iq2000.c
 c44ea24b14d494c644024a861e3b8072  bfd/coff-stgo32.c
-4a440899196c25b239d22577ce3e406b  bfd/elf32-m68k.c
+2b51ce55db2be09b455ede32b3e0ccd0  bfd/elf32-m68k.c
 bb519b82efbd01b31d1bca79018be727  bfd/ns32k.h
-9ae2d9eef619b9814fc3fe5411c0779e  bfd/coffswap.h
-c1c1b532f8150fc96c268eac448b05cc  bfd/aoutf1.h
+6dbb7450e46303b23b5003ba3e6e37f4  bfd/coffswap.h
 bfb83ac817c26ca4e8245db14f2cf160  bfd/pei-mcore.c
 86f496cd17d52d96424d40874acd6ae4  bfd/ChangeLog-2009
-1967bec0e5045e7ae67cee2608c862f1  bfd/elf-linux-core.h
+505b5748f0f201c19153f5dbdab17c9d  bfd/elf32-s12z.c
+7f3bc3ad02167e407103b22f6c511107  bfd/elf-linux-core.h
 44138681201d06f76af693fa55010b4c  bfd/vax1knetbsd.c
 3ff763781076d171b960c9126efaf323  bfd/lynx-core.c
-c92d34744382cfb1cbc55f3f86073941  bfd/bfd.c
-177d7ec6b54a890d1fc916ea19f6f94e  bfd/cf-sparclynx.c
-1c3830d97d9dd28a60987b8c81d334d1  bfd/ieee.c
+dc0b5ad2164d61fdff2fc27086f7a7a3  bfd/bfd.c
 e4ed93b0404a8eef17172160d4baf756  bfd/wasm-module.h
-ad746d9dc00bed932ed70e239ca8b45d  bfd/elf32-d30v.c
-2d7594d451e28553c69a5edeb645b2df  bfd/elf32-i960.c
-eef821c19825abf4d4c237ebdb81b673  bfd/elf32-xc16x.c
-9cc322f80ee85469fa486c51cf6c5388  bfd/elf32-msp430.c
-d02e946cc6b3feb1ef533b1f0ecd3c15  bfd/elf32-m68hc1x.c
-ac3083a2d64b32a63efb4f31bd58acc0  bfd/versados.c
-b07457399b5bf975e5bf2f2514495f54  bfd/coff-svm68k.c
-6a5326d3a223888076d5202d392b795e  bfd/coff-we32k.c
+e7524fc88ab062a189bde36c32cdafc3  bfd/elf32-d30v.c
+f2e63321d4746b04e6d880aa4e257248  bfd/elf32-xc16x.c
+1d9679297f72fb9b22f0c155a9333a20  bfd/cpu-s12z.c
+eb5c3f6ec0155f07b4221ee776719a7e  bfd/elf32-msp430.c
+a2ae0d4636823fbfedc4ef10a2088fbf  bfd/elf32-m68hc1x.c
 01a40acc26768a2ae9ecb6b1e31dc22a  bfd/genlink.h
-69d75606c8a8350c8145b12d58f69ff0  bfd/plugin.c
+8dfbaa000523cd14896ad0c21d79fea2  bfd/plugin.c
 a1b46008b46e53a6c2fe2467cfd35025  bfd/mach-o-arm.c
-1766949f8a9e8ebd049bad6f763b9f52  bfd/elf32-ip2k.c
-7a66188ebcc6565a17105d0ba97287f6  bfd/elf-attrs.c
-316851f7af3f54ce5cff55260b90343a  bfd/elfxx-riscv.h
+039f9d8160180a42ae9782079ab682e4  bfd/elf32-ip2k.c
+cebad023671b51e936bc597267d4c17c  bfd/elf-attrs.c
+84678f44cb92f695f830633fa4b1801b  bfd/elfxx-riscv.h
 9c6a3f81a963315eff53e7beeb6d825e  bfd/cpu-h8300.c
 94ee02b0bb888566d768305271829117  bfd/cpu-nios2.c
 c097198cbe252d43bd0d5b7a0280ee12  bfd/MAINTAINERS
-451fa08fd342f8d7174c547c2b465df4  bfd/format.c
-6713247cbe028db5215a21ca9198ec07  bfd/elf32-rl78.c
+2d65face04e4c91d434c48846613ac29  bfd/format.c
+49416ad4d22cd0346b2fc662afc59e06  bfd/elf32-rl78.c
 22bded87b47c5c72d63ca55395f37fe4  bfd/cpu-tic80.c
-a3bf455b0df852a5ad20547790583f8b  bfd/elf64-sparc.c
-6b0e052a84434ca6d0da23fab60ee5db  bfd/elf32-rx.c
+b359530e4d139cd038afc7ba5fa39ea9  bfd/elf64-sparc.c
+cfe78919fdc356cae428ff436054c70f  bfd/elf32-rx.c
 92bdca8080479a0c462112e9a81e26c5  bfd/archive64.c
 8ff86ae862fd726bbd037f354495d054  bfd/cpu-v850.c
 deb331f75b126fadfb6d8f2b65a26392  bfd/cpu-l1om.c
-2c6c9ccb932d0dec7ffbecf0e0e06dcb  bfd/nlmcode.h
 1f7185543fd0f32ff265a14bc7bd3277  bfd/pe-sh.c
 014e3529df2456de66491a46d89ec438  bfd/libpei.h
-82ee6599237d34c6b70f7571b34e86d6  bfd/aix386-core.c
-94e8ddb7f0854740abf1e52537379c0f  bfd/elf64-x86-64.c
+56f0f0d6630830f39ea8953e7dcb3793  bfd/aix386-core.c
+1650f83cf27bd08604ce84648518719b  bfd/elf64-nfp.c
+80870247918b8f3f9ddfd43dd19c7051  bfd/elf64-x86-64.c
 27b9737926107462828661b15e4826cd  bfd/cpu-tic54x.c
 98095d09201981dd12e79fc6871de30b  bfd/pe-i386.c
-edeb1254497aed2095b56d1d21028a1b  bfd/coff-m68k.c
 aa6d52e59ff7525011ec7ae374bae793  bfd/cpu-m9s12xg.c
-d917b9d1e31e3ce833fef6ff75103739  bfd/sysdep.h
-d17ae1eb9024b166d75b8666c2904265  bfd/coff-tic30.c
+6fa54b15e66ddb37fb596550db7c17c4  bfd/sysdep.h
+1685fe47f64c9f63860178c7ce8d1dd0  bfd/coff-tic30.c
 663a6979bd331c91d1385445edeca7b0  bfd/go32stub.h
 8b77b069c7d66b87d00192c6a15f0ef2  bfd/cpu-z8k.c
-2141bb1974b3f56405c9e956759842ef  bfd/reloc16.c
+1d6b7d71c272797c55eec70cd78b633d  bfd/reloc16.c
 438967f8a2f74e28e525150a57e07a94  bfd/ecoffswap.h
-7efeb7d8f8a91370d89b85c98d5fe442  bfd/elf32-fr30.c
+2d205ae5e01f4a66d0d067e0548e13e2  bfd/elf32-fr30.c
 26be7254dcf94c154158e75a6e9f810a  bfd/cpu-v850_rh850.c
-3d32373710beeb210faada2c99e1df5a  bfd/elf-m10200.c
-e4a7cacc51a924a7e7f537a2c7f42efe  bfd/pdp11.c
-d369e57a445e6c5a03f36ecd61cd4e49  bfd/cpu-ns32k.c
+8b3bb3663e9977d557707ec9ced6e616  bfd/elf-m10200.c
+28c525f0aa23862683cb66981add3253  bfd/pdp11.c
+b105967340a82485de64e2b220d5bcd5  bfd/cpu-ns32k.c
 5145da11b39d6ed0608b5acc8078f6c0  bfd/pei-i386.c
-59aa67636680ac310109e1cb6b66d89a  bfd/elfcode.h
-bb538b232d099ce4c7416793eadee724  bfd/aoutx.h
-8856134fa41585bf6b2ed8b2cbe748c0  bfd/elf32-sh-relocs.h
-2d5ca6c489de96ba9fd8a4b0ffbfdffa  bfd/aout-arm.c
-a5d7bbc287aed0d3f96ffe0a0e50b059  bfd/libnlm.h
-233ffd56ab1a69546de4ac0e588dea0c  bfd/mipsbsd.c
-bb71805ce866f34546998eb4814b92e3  bfd/elfxx-riscv.c
+5b019a50084397e4bba4597fde079438  bfd/elfcode.h
+bcb18f04c18e61cb8a95f4366973fedf  bfd/aoutx.h
+75749381081d38d5ea92c4685d331337  bfd/elf32-sh-relocs.h
+643e1356e65257b19e8f3d237de531db  bfd/elfxx-riscv.c
 9ecb262d9ec6c688e145d9037d4e4df8  bfd/mach-o-aarch64.c
-6d97143ac07bcc853a50aa72d17a2cad  ChangeLog
+5d5b5a383ef0d5b9988ce420b63016a6  ChangeLog
 500b9244caa7a7ab23ece1db37efa76d  compile
 042203b305962ba9a8f8474ef80edeee  config/enable.m4
-59cd496f4a563976899ad5000e8f7177  config/acx.m4
+2ea0edfde0ce5ce69b49317a5650f048  config/acx.m4
 babb6167c05386834412652e8b27239e  config/bootstrap-debug-lib.mk
 15b8d5adf53ad5ec75f055b193a6b1c2  config/extensions.m4
 76d638a67d840715b2de89afee8ef49a  config/mh-ppc-aix
@@ -618,9 +537,10 @@ b17ad59a69316040fae6c3b09187bcbc  config
 db111161c56fa9d53a03abfb188ad1d0  config/lcmessage.m4
 761497fd3445beb86a90919955d5aa20  config/stdint_h.m4
 f466ea6022e6627a2e3d94bb0cc7eeb9  config/bootstrap-time.mk
-bab664262307d9a6f3caa3dd468bf53e  config/bootstrap-lto.mk
+46d519a53c628afcbdd8f0bf47500a7f  config/bootstrap-lto.mk
 f0d17f3362caa1926e231994168f1e8d  config/bootstrap-asan.mk
 de7f31c1daa932fa37c9415df986d97e  config/dfp.m4
+696b71cc336927f298a69c5b9321910b  config/bootstrap-cet.mk
 e32906a3177f3b368bcd56f9e86a620c  config/inttypes-pri.m4
 48d5107b991a0cdbe7eb7022b0dfecb2  config/mh-pa-hpux10
 5c6a030699353abe2ff69294a495e4cd  config/bootstrap-O1.mk
@@ -630,7 +550,8 @@ e32906a3177f3b368bcd56f9e86a620c  config
 0b63117973333c343e0d0819012b8187  config/inttypes_h.m4
 b5a5c394536a15e50be1998bd341fd02  config/depstand.m4
 612f740b46be9896cc7c4c14c03b5c4e  config/mt-sde
-57284952a449963da5b91c52608abc15  config/bootstrap-debug-lean.mk
+0aeb00868c61b9095b7a4553c9637221  config/mt-android
+5b51c3ad4e0286a41fe1020cf7e252f0  config/bootstrap-debug-lean.mk
 fa22f7e8f43ef5b6e9ab94ec570c2327  config/no-executables.m4
 e10d31316e03a59577fb4ed90a670914  config/mh-alpha-linux
 aac59b270743938043df929f6f0dc161  config/iconv.m4
@@ -646,37 +567,39 @@ c950e3234da1eb9ad5f29bc1c2d2ae74  config
 120ec56e3aa27739a2945bc1c8a2530a  config/nls.m4
 8e54553a2c063659a749e0ef9e5348e4  config/futex.m4
 7cdde9f19fc614304e49342c660e2d47  config/intdiv0.m4
-d4c12184dc04d16ce8f4e846810b7d43  config/bootstrap-mpx.mk
 49305b421244035f19bdccb38a800d5f  config/unwind_ipinfo.m4
 0fcd4badfe2a2191778bdf5ab94aa40c  config/acinclude.m4
 1999cda4a81e667104bc146b3968eb4d  config/bootstrap-debug-ckovw.mk
 1a627bc39dc12ae705bd4136731da428  config/gettext.m4
 507b102116e2550175bb7f42ee3c2958  config/mh-darwin
 71bf002195846e85b3a96057f72ad530  config/largefile.m4
-33dbb41025b077c6a60f21ee9a6b6d7e  config/override.m4
+5135144630c100a01c62fa64629aafb4  config/override.m4
 8e9893e8dda7f5288879e0a4cc10d3da  config/math.m4
+a6bf9c39c62222092ea6d5d8551c077f  config/ax_check_define.m4
 16956754bb073f43a4e0c8077356a5a7  config/gthr.m4
+197020547d9441bc0fed105dd9ad7822  config/cet.m4
 cd7034dccd04e50150b14c597dd545a5  config/mh-pa
 3be755875df9da02eb4b0a9badd414f1  config/bootstrap-debug-big.mk
-bfad9c619e7d6238813f50b03f5af290  config/ChangeLog
+d3e160d7f2b7e2b27bd1d9838935c433  config/ChangeLog
 01e70ae9c362268b14876c621e650f3d  config/mt-nios2-elf
 9a194b56c06b616528d1e76306aa78e6  config/bootstrap-debug.mk
 77931c860806547ce9fc56097a731c6f  config/lib-ld.m4
 5cabffc02a90bd9698105b9eef507f11  config/warnings.m4
 625bacc09b9992290d94831bd7506bd0  config/mh-djgpp
-dd28266897efa211a681c66b97d43927  config/bootstrap-ubsan.mk
+065f6478cf9a6fdc999f666517cfb8b4  config/bootstrap-ubsan.mk
 c97b318db8e2775b81a9635ad4ce97e1  config/sjlj.m4
 d31260ea4a04e5fe935a240278d5d02b  config/picflag.m4
 1282ef4331970c26224afd363968e276  config/gettext-sister.m4
 36af806073153196c545a5a43f31bbeb  config/tls.m4
 5e1e75893989d0ae3c0452451cf80280  config/uintmax_t.m4
-e545c5305bfa9d0f0f273281fd4c18bc  config/plugins.m4
+a155332d4af74bcf3f4c52b4dbadca34  config/plugins.m4
 29c9c3d57667bc9e6f14d625b2cd5894  config/glibc21.m4
-51f11c855db796505d386091d0a62f3a  config/bootstrap-lto-noplugin.mk
+33768879cdb11bf946d977ab6632d169  config/bootstrap-lto-noplugin.mk
+dd11d6ddf98d1e2066fa3aef4f8ce966  config/ax_pthread.m4
 d3eafe382a46e6747e3644cf4a55d5cc  config/gc++filt.m4
-aaa27d7fc92cb46558fdc0d2e1d8cd5d  config/isl.m4
+f8cc157a22bc4fae23cee0f7da613154  config/isl.m4
 683433c6c1f829d4f0aa007dfa29c880  config/mh-mingw
-e953493530563ba52fc172006a172b8d  config/gcc-plugin.m4
+9495055af79ee43819009a4faf0df96b  config/gcc-plugin.m4
 57534269dac398c79a36036eb35704a1  config/elf.m4
 b2d511a8a77414eda79bdee0daccfea8  config/proginstall.m4
 9395e4578181f76a9cb16d46300aaa75  config/multi.m4
@@ -684,19 +607,20 @@ bd6855445bd58ae7e066221ade8cc55d  config
 596c2296c23cda1b6445427d6c3ce3ad  config/bitfields.m4
 4d3304310a9b7b17872d6f644e1dd7c8  config/bootstrap-O3.mk
 04bdbef77f5fd2e282f7dee0bde60444  config/codeset.m4
+b7384c06ff3d09212ac04dbab4ce969c  config/hwcaps.m4
 1d7419534d43fda437ce0a4f0719ee5f  config/mt-mips-elfoabi
-cf57356be01ed77a1ab9e251e49bed41  config.guess
-13c05c133b00fcf862ea7d785d44cb4f  config-ml.in
+bb0adcfc53fa9145313e50dd94d6a12b  config.guess
+cb74b6c8a93f1e46388212f44c60afed  config-ml.in
 040359150cf11493f973a46d8a25b06b  config.rpath
-b496872ad09d1c4d105b85497636553e  config.sub
-ea92091bbbf4e7d61047cd94bf8c2d19  configure
-f46c2ca0b8d918e9fce55475b1f4ad6f  configure.ac
+41443ff6d8e7ed7fda2d4db2c2efd4fd  config.sub
+38b9b84a34db2c5da4c5f2ecaf50690f  configure
+0ec641c0f91ab5577943f2e6575fda1c  configure.ac
 59530bdf33659b29e73d4adb9f9f6552  COPYING
 d32239bcb673463ab874e80d47fae504  COPYING3
 6a6a8e020838b23406c81b19c1d46df6  COPYING3.LIB
 9f604d8a4f8e74f4f5140845a21b6674  COPYING.LIB
 032c5fe3ad082f7151efc1c5fed33c1b  cpu/iq2000.opc
-007dfc606bd4027d953a79ef6bb8d01b  cpu/frv.opc
+eed39a6c83a0f350dfcf61c0c709249d  cpu/frv.opc
 4695535b420da5ea8f9c3240e742539f  cpu/m32c.opc
 d131138bbb159cd94a48bbb552beeb1e  cpu/mt.cpu
 e9533d2b525577101c8331e26c0625ed  cpu/mep-avc.cpu
@@ -729,8 +653,8 @@ ff87656b73d5b97cf0df1ddae9e105e2  cpu/me
 489902d19fb758761a771d924f53612a  cpu/xc16x.opc
 9079eaecdbe5e3a0ef3e27e756845a23  cpu/m32r.cpu
 948e8928f44c21e4e46631023475d4c8  cpu/xc16x.cpu
-039ee4d2b2224a39ca0f4e3546d3dc97  cpu/or1kcommon.cpu
-9532c2aaf373db9471204961038311a1  cpu/ChangeLog
+93ea7a20aebc5f01ff4c732eb0d08d81  cpu/or1kcommon.cpu
+bf8564fbfef737bd18688fb2c18eb6b4  cpu/ChangeLog
 e9b8e80ddc3003dd30c422877d4bb767  cpu/sh.opc
 051b41a8f22ff0a5dc829da70867b9d6  cpu/mt.opc
 16f51fbd17b7bbe501733bc197b50717  cpu/sh64-compact.cpu
@@ -747,9 +671,9 @@ d534cf9b6b4a7e68f003dcf5d9174cb8  cpu/me
 8b59f0d0a2dcdced14765c514fbad719  depcomp
 eaac0cdd8ac2b8c31194798a65896321  etc/Makefile.in
 4e461d83c2a7ae79bb670e4760c87d03  etc/texi2pod.pl
-3730d24b1dbe4961124dc2288b6997fc  etc/configure
-0fba3ff1240d2087379465acac4f0bad  etc/ChangeLog
-04c402a3f17c2e0e5d13e424d617e88a  etc/configure.in
+8f3269d92dc49ea8063d5a698a466c95  etc/configure
+9201b6d74d22cb680dc60633857c89f6  etc/ChangeLog
+48803ea66a5aa68af0c6f226395ddb42  etc/configure.in
 81dbb62f1196a729d294804e9b3df585  gdb/xtensa-xtregs.c
 c71a206eaa99bff794d21a09e50d11c6  gdb/config/nm-nto.h
 ed0817fde5a85becf8e6568fc9461b6c  gdb/config/sparc/nm-sol2.h
@@ -765,33 +689,33 @@ c0fe04a0d1b056f6a725b9bf9da5a4f2  gdb/co
 30492c373724f4f08197599268732b67  gdb/config/i386/i386gnu.mn
 11b574f5be5d6756217eb2854c3878c7  gdb/config/i386/nm-fbsd.h
 7183e8083ec0ef90017a39b06ad1e5d9  gdb/regset.h
-f99b3c808ea91b518f946c9896a8c6a6  gdb/event-loop.c
-1dc74a5308259d2139a0f3db3b6a3549  gdb/solist.h
-505bbe70742df104ea0a1e305f0aef0e  gdb/d-exp.y
-0d3636c91d327b2eeced080c60deaa68  gdb/ada-varobj.c
+cc775aa82d35516a3f472e4523ce8318  gdb/event-loop.c
+48d22df016020c329d7e545c3e3dc759  gdb/solist.h
+93c396d057eb074c86e86960955b6624  gdb/d-exp.y
+bf58ff8e9cb3b71ea39e048343285497  gdb/ada-varobj.c
 285060cf0aa5250a2e0ed766765071c7  gdb/ser-event.h
-0ce5bb685fffa4fb7bb3232ce627a952  gdb/i386-nbsd-nat.c
+c3c9c81f974b2c1751694c135052d590  gdb/i386-nbsd-nat.c
 c43f72b3d8fe6da4f9e2f1d8e7be8473  gdb/common/valid-expr.h
 4bd18623ffc94f43e18bdd4a2d35f04a  gdb/common/environ.c
 d5badca4fff3948a928d5d26a5196276  gdb/common/common-debug.h
-60279489f7cedfd4cb7e539a7554a76a  gdb/common/common-defs.h
+a3fef844898bb5a434a2bff51ab9b90d  gdb/common/common-defs.h
 64859a1a5cce6532c9a88d16bb4d9467  gdb/common/buffer.c
 cbcdad8cda75cf4a96f99dc4b9404817  gdb/common/gdb_locale.h
-a45e1c3baa4adece9d0057c9857426b1  gdb/common/filestuff.h
+55d91bc95989e502d27cd36475b6c9cc  gdb/common/filestuff.h
 b325916e8f00e4b4b7eb018663f74d62  gdb/common/common-regcache.c
-f28d9a39c0d72407b857372ad6691747  gdb/common/agent.c
+e8e557d148c01f14200b456247fb2087  gdb/common/agent.c
 f4fb047182b4cd25941288fca512f6fe  gdb/common/version.h
-8b97935a7c43dc5cd0d09f41d3280513  gdb/common/refcounted-object.h
+c04353d988cab321ca03c1c11de64d37  gdb/common/refcounted-object.h
 d4737d2a0d50bce0dc129d9dfa913426  gdb/common/common-exceptions.c
-bd83d41bcc405ababe20621771c09cc8  gdb/common/btrace-common.c
+581f4f494fd5bf24b7bf5c2258ed6fd4  gdb/common/btrace-common.c
 f9d49e11e186c108d79a057e10f07b03  gdb/common/gdb_wait.h
 418c50a852c136eceac3a3038e408de5  gdb/common/cleanups.c
 aee9f83b8a2dc3fa494a89f2af23eee8  gdb/common/function-view.h
 e7b52ad382aa105baefc6974f823ad17  gdb/common/signals-state-save-restore.h
 cd24a67d77d64d98316b230cf9f9f153  gdb/common/agent.h
-06b4408962190ac7d6afef852673eba9  gdb/common/common-utils.h
+5073e6a49e9ca1b99fb840f1750bc813  gdb/common/common-utils.h
 b04cf368ec6f4f9dcbdeb74343f09520  gdb/common/posix-strerror.c
-d745e5fee16dda24aff8bcc36a52e257  gdb/common/poison.h
+dc4100b0ec84f0c37be18b041d13a99c  gdb/common/poison.h
 6aef8336c2ee480005ed5adbe91543c1  gdb/common/run-time-clock.h
 1b2f0ca378dafa7f5dd928459378a493  gdb/common/common.m4
 1edbea77b9a568640eeb0d61c89d109d  gdb/common/gdb_unique_ptr.h
@@ -799,6 +723,7 @@ d745e5fee16dda24aff8bcc36a52e257  gdb/co
 2afe2a5a2c7c041babdd2adf3fc309bc  gdb/common/gdb_tilde_expand.h
 1b6fe5c1d4c07040ec8945c0d5dbc35d  gdb/common/gdb_optional.h
 f02cdd42d6b564efa40f0e67d2ed97d5  gdb/common/common-inferior.h
+f93bea5c236bd32b8361d6750052a906  gdb/common/tdesc.c
 c8f14b162cf873bee216a4d679b63ded  gdb/common/underlying.h
 2c76184c4a9889f1e8f8927929cf5ace  gdb/common/common-debug.c
 9bfa78b793b65ffea6c4d98194fd695d  gdb/common/selftest.h
@@ -808,96 +733,102 @@ c8f14b162cf873bee216a4d679b63ded  gdb/co
 f568c8ca48081040f301136f76acf2c6  gdb/common/host-defs.h
 c9f84fc1a664888f70438ec567a9d31f  gdb/common/create-version.sh
 c76e383f49cb264574f696c47069e939  gdb/common/vec.c
+ab1a0298333f9c650087da75c6ff6152  gdb/common/observable.h
 af634d07fa0d832100db096a3701061e  gdb/common/environ.h
 7027643c5beba73daaa5afbb3a4f76ae  gdb/common/filestuff.c
 110db00ee1ce4f997fe29e37c81f4e12  gdb/common/vec.h
 694b46af700cf52db4b89aa36fdf94c8  gdb/common/job-control.c
+f654732278416049a2d636e385829edc  gdb/common/scoped_mmap.h
 2435955e2c4e26dc3b08ff954409f5c1  gdb/common/scoped_restore.h
-70bf62d70a9f92c549984428486f748d  gdb/common/rsp-low.h
-d76fa0b6766e7f6a16c8282afbc092b5  gdb/common/common-utils.c
+8b779d3cee039da970a98a10e6de3b2f  gdb/common/gdb_string_view.h
+705842aed58163b0a8a30d7d687f3e30  gdb/common/rsp-low.h
+853fc5c40f8508f2a8c6aa74b59f6041  gdb/common/common-utils.c
 7a1d039c9585de70974eb889050775c0  gdb/common/gdb_assert.h
 90c00b2f41803c8e22176a2c83c37f2e  gdb/common/gdb_tilde_expand.c
 9365dde1aca4d2a0d9dfde66b89da81a  gdb/common/cleanups.h
-eda8aa85f60478566588939354abb18d  gdb/common/common-regcache.h
+5fcf8bb0caf617f6cc65093a0d14ba06  gdb/common/common-regcache.h
 ae01f0793b5d5d2fcc32b3016de5bdd2  gdb/common/queue.h
-d355aed5636ca8a6f26bde4da3764b1a  gdb/common/x86-xstate.h
+540ce9b8276d8a2432f10ae19a01c663  gdb/common/x86-xstate.h
 5deecfd64b0c0acfa3aa3b0067ac7345  gdb/common/ax.def
-99523a1721ccc5cf918304401a1d0319  gdb/common/enum-flags.h
+f04ffa5ff20b84b4502c0d6c4021bd9c  gdb/common/enum-flags.h
 b13824e6454453a0dc8b28e63b3b0306  gdb/common/def-vector.h
 66f474a37c813c57900959544690b528  gdb/common/fileio.h
-09017a9e10f793361affba11fb0fcac5  gdb/common/traits.h
+f9f7cf7c2e02fad0f9d00d6cedbbb0b6  gdb/common/traits.h
 73d78a383e011eb53e1ee11befd2f1ec  gdb/common/offset-type.h
-e8764d17d2adeae9ed4cfb867637a104  gdb/common/ptid.c
+ce5ce56883158caf98f1667aecfb64a6  gdb/common/scoped_fd.h
+69f8038309009f43b480e1362290a1b9  gdb/common/ptid.c
 0547c98d3d549a2a943aec86fe21b215  gdb/common/gdb_unlinker.h
 4d6dd9d7d11314fe8733de5f902b9194  gdb/common/pathstuff.h
 1f2835c1c824d4af9e1dd492fe59770f  gdb/common/default-init-alloc.h
 a7a74f96d9d2d12adefe114a814c2144  gdb/common/new-op.c
-4096e55c445f919a18ef27d3660d3981  gdb/common/btrace-common.h
+57719aaae8f146906785ff3459fda6b0  gdb/common/btrace-common.h
 3158f4e17512747e06fe4c9bef66ae1d  gdb/common/gdb_signals.h
-5d461ecbed6a2f627908d494c13a06a3  gdb/common/gdb_ref_ptr.h
+65cd7c3f895131068aeabda59d0f843d  gdb/common/gdb_ref_ptr.h
 273f850184d3a03c6863d2575b2146cf  gdb/common/pathstuff.c
 5cf92dc88ba16342f94afc3833ca0cd9  gdb/common/preprocessor.h
 920eb001457d87e80a709dbaafcbe6e6  gdb/common/break-common.h
-b68e6441bd6921dc64d23e736b098695  gdb/common/rsp-low.c
-a3b3ca11f74a78f401cc42bc356ef0fb  gdb/common/format.h
-32149f221b042ea006d36c9ae772cad3  gdb/common/array-view.h
+c22e598470f39aa07168ed706f63bf34  gdb/common/rsp-low.c
+f3f171d29582ad051c327694072d744a  gdb/common/format.h
+fa5b7bd527e94887e476922334ea856e  gdb/common/array-view.h
 dabd6cd70191f4a1d4a84c55f02aaff7  gdb/common/selftest.c
-39c619612cf075a4d7c35f25dd825e1a  gdb/common/xml-utils.h
+151e3391b938ecdbff6a895c4adda8b7  gdb/common/xml-utils.h
 76c870c1063764494db36489797faa58  gdb/common/buffer.h
 904264441205f6241f4b114376f1704e  gdb/common/common-types.h
-8b12bd6f56ae1cfb4a6c6d6219d51ad9  gdb/common/gdb_vecs.c
+8dfa55fb0a87af86ab098b8adcf2fe2c  gdb/common/gdb_vecs.c
 1a0af381b0910049ee1fdbc34a9a7821  gdb/common/gdb_splay_tree.h
 f78406b069054823cc67fe0cac6e4795  gdb/common/fileio.c
-bece24c33cc275d0325fb2c8139fca75  gdb/common/ptid.h
+47c8f695d38019cad8f2aece84d8099a  gdb/common/ptid.h
 6b01c7940efce874abf2c4e6eeaa6dab  gdb/common/symbol.h
 b44db4438511706fc14dc9a4dae26a5e  gdb/common/print-utils.c
+ad5a7ea397a6223d61abd11f43d90bce  gdb/common/tdesc.h
 f9db0f723f0c967f95f78709b1df21a4  gdb/common/mingw-strerror.c
 c4e37f6334d0e651fc6128275edf04a8  gdb/common/job-control.h
-a4f270384afb32a77bb1727a5f34723b  gdb/common/common-exceptions.h
+a206d4c9124642223e8cd1daf878d83d  gdb/common/common-exceptions.h
 9e551d22ad3342cb715b348bd4897b84  gdb/common/print-utils.h
-67f637324674aa672f563e0030e88134  gdb/common/xml-utils.c
+5b69542177134014f69d6b6e1f43b031  gdb/common/xml-utils.c
 d77e240f62e516e7cac5bdb90f642d64  gdb/common/hash_enum.h
 899fceb5ae6f681517eaf357d58bd4a2  gdb/common/errors.h
-3a6b85c1e1790723d85c8f75050cd9c6  gdb/common/common.host
-de546378ca4e97845a2ec53e2ea97d51  gdb/common/format.c
-b8d10a9679c7547f2209c05048dd9f8c  gdb/common/diagnostics.h
+17c79baa5513de44415182afc3e1b478  gdb/common/common.host
+2d216d8d1298a7f5c2a3117964404e4a  gdb/common/gdb_string_view.tcc
+1fa4e54eb4fc62007cc1a130119f4397  gdb/common/format.c
 49205b7d4ffa9c751ad93eeccd761cb9  gdb/common/run-time-clock.c
 378081b744638790d38616fb282d92de  gdb/common/errors.c
-2862ba517d93f4a339e44da0fced2cc9  gdb/common/gdb_vecs.h
-e3f1280dbd10a219bdf3c933c5b28d9b  gdb/common/byte-vector.h
-37dc0c143320e338f3083d5eeac9eecf  gdb/common/signals-state-save-restore.c
-1fa3f757934d802fd6423dec5ed00da5  gdb/ppc-linux-nat.c
+fbfdb2d038b70538b4ff2238bbe1c812  gdb/common/gdb_vecs.h
+97f6cb62a90d34cb62b08a3e84631801  gdb/common/byte-vector.h
+1bba3cf08797144be2860be187a54273  gdb/common/signals-state-save-restore.c
+8687bc8541b23c7bd80e1e497a0b9e1b  gdb/ppc-linux-nat.c
 fc013c828e009a1b9fcef0a67b6b1ac6  gdb/charset-list.h
-0b709d2785fb9c5db55f0db939774474  gdb/m2-lang.c
+f192ac98426e1cd06f0f25b4050879fa  gdb/m2-lang.c
 fbac6bdf96d9d720f0f0660a63ef272e  gdb/target-float.h
-3845451f15f03187faf1829dd22cd390  gdb/corelow.c
-9a4f4ea59cb3104a716148e511c840ce  gdb/ppc-linux-tdep.h
+d86f6732e8ddd2967777a662f34abb13  gdb/corelow.c
+3f13fde4f1d8ccca155156c18e1c59b6  gdb/ppc-linux-tdep.h
 f1fd2a67bfe8cb48f813d8b7d6d2bcca  gdb/dwarf2-frame-tailcall.h
 349b188907736d3ac349e30e509f4e37  gdb/ChangeLog-1996
 f02de2ae610b2fbe79f8dfca1851bb6e  gdb/dwarf2-frame-tailcall.c
 cbc25577aba1ee853c06e99de5129282  gdb/stub-termcap.c
-b1168f43ae74617e89cfc95a12bf972b  gdb/mips-nbsd-tdep.c
+ce36f03d220e48ed0f862f5b8b61c85a  gdb/mips-nbsd-tdep.c
 f4a41b8305fa66a8a603f95c24c0cd5e  gdb/ppc-ravenscar-thread.h
 a029d376a5e0903d22341c92472413fc  gdb/memrange.h
-4181cf1df3878bf7411e5f08529d2c7a  gdb/solib-svr4.c
+dda871a4b6fe609df104926c0bc827c6  gdb/solib-svr4.c
 fd601b5312a3f82c5f513f8788d83e9e  gdb/ChangeLog-2013
-e0f21db4db2eda6b7397a2c96ae6e170  gdb/f-exp.c
-56b3ae01e27305daba36d078d244c46c  gdb/remote.h
+85da16dde6d99fc04e0fe0eb589806d9  gdb/f-exp.c
+268ab94ab7b4199798437e7f32690cc2  gdb/remote.h
 a12ad5a8cda76312f8a49c5144bf29a3  gdb/gdb_regex.h
-002c9e254bf003f6e3c34ec89090a6b1  gdb/defs.h
+7541ebf2e3e112cf696c85f8ff1b4968  gdb/defs.h
+f93e2a57202da56275b50f2dd40cdeb5  gdb/observable.c
 e5e589fe4f10abb8957a8c2e4cddb7f8  gdb/ChangeLog-1995
 12bfb8b6a396692ddcd83315f57dddc4  gdb/solib-target.h
-b5c780d3affd4c3aa46c4429197fc5a0  gdb/mn10300-tdep.c
-f73b8d3ae5af430719127d604aa27adf  gdb/alpha-bsd-nat.c
-5de2ff99aa3b83471e0e17f8c7c6ecdd  gdb/cp-name-parser.c
+1b92e020d22f68f6f7bad5e4ed247008  gdb/mn10300-tdep.c
+66fb0fc6b66b567d16ca32e17c0a8170  gdb/alpha-bsd-nat.c
+107decee3b1a3ed321dceb71fde527a5  gdb/cp-name-parser.c
 cc2af9f83f2c1147e3afe24fa7113abb  gdb/microblaze-tdep.h
 177db2f42ccf73c277380213a92d80ff  gdb/namespace.c
-096bf82d482c8a9e4f545bb97a940097  gdb/exec.c
+266de523aa6b123c45cd9e54ec47ac3a  gdb/exec.c
 040ec314275eb0c501d7e1ad70761bd1  gdb/prologue-value.c
 614ebd7777b2b4b0f4aeda9f4406b1d4  gdb/ChangeLog-2011
 c923fbcaa47240f82d7ef756c59c87ba  gdb/ChangeLog-2001
-5583281d06f2306eb70a010be2699ffb  gdb/frame.c
-0a1eb202a0e2a182afe544343b504a4e  gdb/i386-bsd-nat.h
+45f9d5bac01cc2ffbf1e77c7f39e373a  gdb/frame.c
+15aff7af1e99af7cc431319aae4a3cb1  gdb/i386-bsd-nat.h
 872be449ea0ede048ac193747d131870  gdb/ChangeLog-2002
 51ad127ea731687074fc15bfc2b3681b  gdb/maint.h
 77494abcb5aeeb8d23f81cf24a08403b  gdb/microblaze-linux-tdep.c
@@ -916,67 +847,69 @@ cbe868f98c009a024b0793520e048c19  gdb/co
 fe7a265fe1a110a938728406831a11c9  gdb/contrib/cc-with-tweaks.sh
 4db7ea07afc375e9c64384f9de543514  gdb/contrib/excheck.py
 29c0f2d54b3e706d80141c0bb3cb1a04  gdb/contrib/test_pubnames_and_indexes.py
-82a420755eac70e0677295b2cbfc5f02  gdb/contrib/gdb-add-index.sh
-d175076601a0418564cb5421edc63d74  gdb/amd64-obsd-nat.c
-c8634871189f55647270ec7fa4186d33  gdb/aarch32-linux-nat.c
+5356557e20ce29cd4bf1ef56874cbbe9  gdb/contrib/gdb-add-index.sh
+bcfc19b70ff79264316f9c04af824c99  gdb/amd64-obsd-nat.c
+0cb6da3d7be0aa5fc6ec688f6162633d  gdb/aarch32-linux-nat.c
 7a24693a9e70d401363b977bb3aad669  gdb/filename-seen-cache.c
 dfaf3faacb3c08d5b9f075a8c3872332  gdb/tramp-frame.h
 833fae9ee313d70383e54396e0ac13fb  gdb/gdb-demangle.h
-72e714b5460e3305ab9ac696eb8bb9ba  gdb/ravenscar-thread.c
-865907826c2a4b2216908ac9babc127d  gdb/Makefile.in
-b89adc8c08c6e65037e49d9f607af267  gdb/btrace.h
-efb1172636cf1622432d57f34a222dfd  gdb/x86-bsd-nat.c
+f49429850aeb72635e96bf66b73e229f  gdb/ravenscar-thread.c
+053431a1a2bab8cc12d7b753f20540aa  gdb/Makefile.in
+2603991e47a9a9895354fecfa4df3458  gdb/btrace.h
+73399ae746f34504589ef4b924028ec8  gdb/x86-bsd-nat.c
 22eabee590bcd5b27bad582b23e713e6  gdb/windows-nat.h
-738c36e8dca443273c627a045b006f61  gdb/sparc64-linux-tdep.c
-5800520a47ced16788ffcd255fb15299  gdb/gdbtypes.h
+efae855e00f31394afc03b907efc0f8f  gdb/sparc64-linux-tdep.c
+505f8f3ecb31c5f41e443ee2a8d3172e  gdb/gdbtypes.h
 8f7b6af0bb7ae022306a98cee59bc8df  gdb/sim-regno.h
-cf67b73da2135d04e58d2754fb859bb8  gdb/mips64-obsd-tdep.c
-9e673b7889adfb313cc7e751be6b20dd  gdb/ia64-libunwind-tdep.c
-79b509383a9d56ab4b3293b826fe87c5  gdb/rs6000-aix-tdep.c
-b5fdcd7a2ce4e8efa7c95a8ebc26360e  gdb/macrotab.c
-74f94bd53a3f946f73766edf92201310  gdb/rust-lang.h
-38ed8c7432245d73e84b735e9079e93d  gdb/agent.c
+9b0c8ea67b7bb999194555567505f3d8  gdb/mips64-obsd-tdep.c
+e892780b81d7fd7245b1858d8f6057a5  gdb/ia64-libunwind-tdep.c
+c339f12ab621b6827c54b3c99a7f0ed5  gdb/rs6000-aix-tdep.c
+9567ea370567ecd3170d7e7eec038f08  gdb/macrotab.c
+dd1aed8bedb03e361b8fd9884644cd2e  gdb/rust-lang.h
+632d47daebb2facb1dae3208b44ce646  gdb/agent.c
 526536cf30b137dcebfaaa604fa55615  gdb/ChangeLog-1994
-63ddae0bc528344a95863effc9d4e4e9  gdb/d-lang.c
-26d15ea4339e27688ff8d98a6c24401c  gdb/linux-fork.c
-d1aa9d71552623dca494da2a9cb8305b  gdb/m2-exp.y
-6974dd11cefee0e2f063d3a893827df9  gdb/f-lang.h
-471e1dfbc453ca226345276b8ff201a2  gdb/hppa-obsd-nat.c
-174457b56fc072a2b1819b99219ac9a2  gdb/amd64-nbsd-tdep.c
+73bf38e1814705929f8ae634187e27d6  gdb/d-lang.c
+e436661f8d66ab271b4e547bb719de96  gdb/linux-fork.c
+0209e0d89626754a049ddde77509774d  gdb/m2-exp.y
+4ffeac77c22ae4af4651309024938783  gdb/f-lang.h
+85ba31586dc4b07fc3f0c627be47a5ea  gdb/gdb-gdb.py.in
+4fd313caefb1a3560323617e88fc822d  gdb/hppa-obsd-nat.c
+5411073e8c80e7a4c2d2cd7a710f0818  gdb/dwarf-index-common.h
+e6a6752ba1b8d52edca77638c55f1ab6  gdb/amd64-nbsd-tdep.c
 baa7fed0461e3ab98e53112478f8037d  gdb/user-regs.c
 2d5d2ddd3954c493edc2939a1d82499a  gdb/record-full.h
-c9db31b352139f522e802a4e15a57373  gdb/spu-tdep.c
+63d57068d56ee5e2cbcf02a6fbf305e9  gdb/spu-tdep.c
 d0a0013f22b092ad0d486adf962e8ecb  gdb/gdb.c
 adfcfea54e5c452823da53fbf5a1bc53  gdb/linux-record.h
 328617c6d22146af0f5556af9eef0662  gdb/disasm-selftests.c
-a31854dd1e51719e4c30e5e5fdc38335  gdb/solib.c
+ea2de3b8da248a8b1aa90df6562cdb2b  gdb/solib.c
 53cf114ff5719cd047da9d38dd318599  gdb/ChangeLog-2012
 42b9f7c51223e595f66c2210064be682  gdb/ChangeLog-1990
-4431ce8152a3d10c4f2baec7ce046a19  gdb/nto-procfs.c
-469c8488559757eba4b5b4662a11a984  gdb/d-exp.c
-e0935768b1fb6848cc3369e8ff729ca2  gdb/infcall.c
-f5f54f267718cdc1efc83f9b5a248fff  gdb/remote-fileio.h
-d55d8f5321411df30854c5bdbc5d4347  gdb/ft32-tdep.c
-6df63cd070bafb2a36231b78b798b79d  gdb/c-typeprint.c
-617be5dacfa7667a969c5fda5d66c476  gdb/xtensa-tdep.c
-3de9e3501e76ef630d4111d2d8984c68  gdb/top.c
+fc72b6e0afebc50560578c95ca729d3c  gdb/nto-procfs.c
+a203d7ae5a671160663676475b44ae9f  gdb/d-exp.c
+11d94ba4e4c4f34877061f51b5630eec  gdb/infcall.c
+c055385fcf4861d598d7ea4360591f46  gdb/remote-fileio.h
+882baa51f11690d806170f6c4a8ff507  gdb/ft32-tdep.c
+4c027562e0bf74de4f0c3f8900fb34f4  gdb/c-typeprint.c
+bfdb7070ef72fc3b18b5c753e42f23bf  gdb/xtensa-tdep.c
+7d2f54a94e87874805eaf866997ed85b  gdb/top.c
 922211a8a0648aa42ba42c339447ae32  gdb/python/py-record-full.h
-1965ddddbe137c77fa4b7c122ad2dbd1  gdb/python/py-cmd.c
-2cbab9a29fa43a865c1210161e6cd9fa  gdb/python/py-infthread.c
+eacac7a6e0e8aa7cc5acec252b393092  gdb/python/py-cmd.c
+a326479a5aea1099113efc4471060908  gdb/python/py-infthread.c
 76f787a796aadb61e53c24949e85d08b  gdb/python/py-continueevent.c
 bb80d6b9196cb0a22c7f77cddca1448e  gdb/python/py-all-events.def
-490aeba5cfc1a403d2ec6cc5e4003189  gdb/python/python-internal.h
-e204b74c318f8314ce4017109740b922  gdb/python/py-xmethods.c
+71e58c3c8b418bd2b4e979ebad997ef2  gdb/python/python-internal.h
+ea05ba368591aa37dbcf0017dcbd7542  gdb/python/py-xmethods.c
 c017217596c0ae9ff3519d75af7b8ef5  gdb/python/py-objfile.c
 89a817f95eb1be8c7c7d8846800bd80b  gdb/python/py-event.h
 bb7e87f53f054ca7f9b6925c5231db33  gdb/python/py-event-types.def
 d7e75de86d964c5d969ce24daf16db4c  gdb/python/py-frame.c
 cd97570e0bc03201d1c30994222f9495  gdb/python/py-record-full.c
-3b23d7e4542a89c8993cfdead0c72ec4  gdb/python/python-config.py
-681d3d033095686617c696bd5c4dcc9c  gdb/python/py-value.c
-8fdd8de26b32939b60468d052765b2c2  gdb/python/py-unwind.c
+06f1b0cb4daacbbd09a57abfdc5fdd4e  gdb/python/python-config.py
+8d636e7ae733dcc3e58cd19ac503d6a6  gdb/python/py-value.c
+6cc306c3c1cd22e7a0384283419017e2  gdb/python/py-unwind.c
 77191a9d2d4ab1bdc49a04951ac0254b  gdb/python/py-instruction.h
-bebe109e790bb086dbb9871a35cc9288  gdb/python/py-type.c
+f79f94ce42c1aace9744c02f8ed3cb2e  gdb/python/py-type.c
 5a72c01c683ad8535a321ba8089e7c52  gdb/python/py-evtregistry.c
 40dd0e5efebf17ca5686d9bdbf64d278  gdb/python/py-utils.c
 a3e025988257335756f9c2173df5386e  gdb/python/py-linetable.c
@@ -1003,211 +936,214 @@ a6ea6dbd68ccbffad3ecec7c838ed936  gdb/py
 572fa71a06ff67d230e462967bdd6e51  gdb/python/lib/gdb/function/__init__.py
 6a34f2263904415ab14e5751b092cb5b  gdb/python/lib/gdb/function/strfns.py
 ebd44288802d5e6594cb103c7d0abcef  gdb/python/lib/gdb/printing.py
-2d838a4ed3a2713373f0b6dd50530562  gdb/python/python.c
-ffc7b616664a4ea91bb1e86d5ad45bf7  gdb/python/py-inferior.c
+8d98d2c69f575b8f9d563eb56b3493a5  gdb/python/python.c
+650b89d3eef5d782424ccab917d4e505  gdb/python/py-inferior.c
 570cb0a330e531f19e48e69e8fb2db7d  gdb/python/py-symbol.c
 1a21d12f4af16f50caea65b308083dd1  gdb/python/py-block.c
 2fcc0926aa5c04da270d997bbff0d28d  gdb/python/py-events.h
 9b0799d523cf47cb7fa314a6d5f6a57a  gdb/python/py-ref.h
 399fa7067f01ce6b9e57ca99f135a279  gdb/python/py-function.c
 513af517a539ce0b1e61daa4256d3784  gdb/python/py-record-btrace.h
-a4244ee03fd0784330711ee981f033f1  gdb/python/py-framefilter.c
+938ed837efd38ed4e74b270f2a11f5b0  gdb/python/py-framefilter.c
 229bcfcb247342b1aa387ab9d2f171c9  gdb/python/py-gdb-readline.c
-1780fcf77ed05ff4be4dfe29c40a5953  gdb/python/py-record.c
+99249ab9c9a341b4ac018cb12dbc29dc  gdb/python/py-record.c
 ee6fbd21646a87f6eb754524f8cb9810  gdb/python/py-stopevent.h
 ef734f1eceac45714ef752aadaf9d996  gdb/python/py-event.c
 2106cae44a6ffbbda4724b107eff7964  gdb/python/py-symtab.c
-2116efbc10b83b2cb64ae09e766f8604  gdb/python/py-record-btrace.c
+4a222fe3dc5fdfc8b4f2887a8c8eaefc  gdb/python/py-record-btrace.c
 b83234eba76090ed11db2f48162c36a0  gdb/python/py-stopevent.c
 d607ff6759c6f69991bdc37bea5818d8  gdb/python/python.h
 7ee9ff85729d9ca5eefdd2688a88c58b  gdb/python/py-signalevent.c
-579b7081b0e78f13ee10723f4e0803f6  gdb/python/py-breakpoint.c
+1e7b24d0477bf74b5fafa902cfb58af6  gdb/python/py-breakpoint.c
 20357c868513658fec252624d3ca4af6  gdb/python/py-newobjfileevent.c
-a28409cec540de1faf40cdfcfa14ca91  gdb/python/py-param.c
+62eb472c75680bf57fab866eb9b45e86  gdb/python/py-param.c
 3bcbeb365675ec38234d6077f256b451  gdb/python/py-varobj.c
 44764a1f70f36148b1b23a1587c94d3e  gdb/python/py-lazy-string.c
-aad0ef2d37981b1deb1392d8d1a68ad8  gdb/python/py-record.h
-e0855030b8184da3b181bedeed6a810e  gdb/python/py-exitedevent.c
+3553ba46a9238c70ee2e18385d80d2b6  gdb/python/py-record.h
+afa18b6e22fd1c4dd4a939a80b0eba08  gdb/python/py-exitedevent.c
 9c599c0e14e99faeb5d30577ede03ce8  gdb/python/py-progspace.c
 31ce55d1397bfa3639ea4a5575eec7f1  gdb/python/py-instruction.c
 fc54b55a377a03b14c7b22647c2a8784  gdb/python/py-bpevent.c
 c601365d4ac0b5a469da071dc5fc3405  gdb/python/py-arch.c
 1f8906696661142ceec61bb63e8bc194  gdb/python/py-infevents.c
 5331944f93c9c8f429e0d1d10fa64e3f  gdb/python/py-auto-load.c
-9bb6e479aebbae4ce5a9225690e6d73d  gdb/python/py-threadevent.c
-028f9328fb82e683ecb5f9f56c284481  gdb/python/py-finishbreakpoint.c
+60ffc81fe7c04c0d837a426ebdf94d8a  gdb/python/py-threadevent.c
+8a3cde43e1145d0ee17ea606f78f1927  gdb/python/py-finishbreakpoint.c
 1eced4c1b6303cc5f07513d355f25831  gdb/python/py-prettyprint.c
 3f03c4d073340838370c8a1c94d5b3e8  gdb/python/py-evts.c
-438cc8726c71a957c5aeba774060d69b  gdb/target.h
-d0b38ba411a6813e53389a5f31e219a8  gdb/obsd-nat.h
+346d070b867a3a09fff763698da9d9d6  gdb/target.h
+c149c9d0681d8b3c7df56c934f678289  gdb/obsd-nat.h
 f6fbb67606fbf88afe1e2cbe837f6779  gdb/frame-base.c
-7fa05adbfa4c24cbab8d63bf5cf76f6a  gdb/fork-child.c
-54e814cfbf28204b8ad873db6904673e  gdb/spu-multiarch.c
-b970f26fd4d3e494583c31f4c3aba3be  gdb/observer.c
+25aa63e3ce1bbe67d89f4867a3238e69  gdb/riscv-tdep.c
+06d334587945cf7acfd089b2c1d89149  gdb/fork-child.c
+48a5c946ec056dc7f478bf3635b9e7f9  gdb/spu-multiarch.c
 5da919ce66c0ef3636a4a43058180cb8  gdb/ax-general.c
-7924b9948c898412ae8a39bdbf8ea5b0  gdb/record.c
-6fe1c517edcd1f3b9e0a57192bb2a0f0  gdb/ppc64-tdep.c
-a0792bdf0324ad049d14ef15f0806114  gdb/i386-gnu-nat.c
-0f237bca131b9ba30a65a45403f84953  gdb/iq2000-tdep.c
+b99b8407df6d3f9a8148e2c9d24dc7ce  gdb/record.c
+504079d33c659ad078fe028c422754a5  gdb/ppc64-tdep.c
+3243fbaf2633979b2f9fb4c4c2d49017  gdb/i386-gnu-nat.c
+ee5a5c1c9d770c910503baa167f50f32  gdb/iq2000-tdep.c
 a69b008164bd1c5d3b0be3ff86d49067  gdb/ser-base.c
-bd2300ad6b17c8367fc5cfab12aa4de7  gdb/version.in
-e722ee05b136eaacdac37859510cbc17  gdb/linux-record.c
+6d0af25b75f7ffdcbe6d117255368e6d  gdb/version.in
+9ac106b422b12f1edfb72d9564d254c6  gdb/linux-record.c
 cf0a31b11efed9f66a51b80cb8c4af16  gdb/sparc64-sol2-tdep.c
-289124cc78fd8c57e688eba9a996db47  gdb/amd64-nat.c
-44dce47b216c4a695c1082e9604261c6  gdb/ppc-ravenscar-thread.c
-97b31d7dc92d325cc360e34272d4ceff  gdb/symfile.c
-f8fc235b540b65c5552d6871d30a1e62  gdb/auxv.c
-e82594d282a277fecc1a5c28fd8b19fb  gdb/bfin-linux-tdep.c
-250e2d93550b4474d03b9d36985d0c42  gdb/m2-lang.h
-f69a6e1a6e3c2e230442bf07ab058a99  gdb/s390-linux-tdep.c
-d4267a47e9781e5cf32d9b01e922a06f  gdb/auto-load.c
-8354b42bcc4acd701f9258c701eb1eae  gdb/interps.h
-99e655dc35596c023d915e1899deee7f  gdb/arm-linux-nat.c
-3aff5844911be562c95f1797da3bc521  gdb/arc-tdep.c
-2fee956e11ca564aa5e40d2227ec40b5  gdb/sh-tdep.c
-d272691271869ca94edd9277457a009b  gdb/linux-tdep.c
-1dd7350f53ecd8ba83f4f06208d523e3  gdb/hppa-nbsd-tdep.c
+79b5d620a95202e153a51b4d3d3bc7f2  gdb/amd64-nat.c
+4ddedb2702889adda4e7233a9f83b7e1  gdb/ppc-ravenscar-thread.c
+147d714c8b9fe2fe1946d25601f93d8d  gdb/symfile.c
+c2dddf9b409c64edcb6d4fc0a0620c74  gdb/auxv.c
+2945f0dc686b0993ed88a02c398e17d8  gdb/bfin-linux-tdep.c
+f345a6b49d493f9d7b0d366dfe988019  gdb/m2-lang.h
+1b090b04b44310ab6a5a7f05a15d3f0c  gdb/s390-linux-tdep.c
+b023546e791400655ec7dc32eb298b39  gdb/auto-load.c
+96987b651bfe93b977196f132f22937a  gdb/interps.h
+bd955790378de601eb6f5abe199651a6  gdb/arm-linux-nat.c
+5aa5ef9a1f5c23d58fbd6f00e22a507f  gdb/arc-tdep.c
+8b53082644a784083f67026d39ec55e6  gdb/sh-tdep.c
+a7e71058be1e92c1458d52338f37f870  gdb/linux-tdep.c
+eb3117b75b5de12610b7e0d08a10bbcb  gdb/hppa-nbsd-tdep.c
 5d73d22134eda5dc750009e5f5f045b2  gdb/thread-fsm.c
 ce76a2f3bd4e3c9a9c2ade3ccfad1a04  gdb/proc-flags.c
 34116c4afa055d95ecadbb10ce09dfd2  gdb/copying.c
 f285104c4ba8f42babd6656165592492  gdb/xtensa-config.c
-e1ef49b099be9eb9230dd25f48ed8a44  gdb/go32-nat.c
-e9210fb30c1c892c22434a279691ed72  gdb/inline-frame.h
+67fe6f4527c0b365a61b127207f05128  gdb/go32-nat.c
+05eb00302383da1445104035fe28a715  gdb/inline-frame.h
 a0f78e3e73b18275265c02449bb83fb0  gdb/nat/fork-inferior.h
-5ec082221fcb89ce7cc67292b1abd1f8  gdb/nat/linux-ptrace.h
+f6cb13432ea2fe321f104d3a5c1d7a55  gdb/nat/aarch64-sve-linux-sigcontext.h
+92b379bf068eb232c70a358437f48db9  gdb/nat/linux-ptrace.h
 87c01244d65a35214ab93eabbf983aac  gdb/nat/linux-waitpid.h
-6fb93f37124143100fc5941b57fefa92  gdb/nat/aarch64-linux-hw-point.c
-5607a01d38016c69a2b7629983c60e1d  gdb/nat/ppc-linux.c
-f890efcd0da4fda7e0300c854794af92  gdb/nat/linux-ptrace.c
+05bda7ae0beffa93f2bb11099926fe7a  gdb/nat/aarch64-linux-hw-point.c
+6249ab670fab8eae5740e5319f3f54ab  gdb/nat/ppc-linux.c
+417f1f9b8c72d6ed1068854fb83aa70a  gdb/nat/linux-ptrace.c
 6fb123e355e1790217381f4e148585a7  gdb/nat/gdb_thread_db.h
-6b17521cfc4d77f1799028a54384ec94  gdb/nat/ppc-linux.h
+e93ad0089a4eb34e1d87165beadedbf5  gdb/nat/ppc-linux.h
 a92873a928bcd10a8cd8b23266c287b3  gdb/nat/linux-namespaces.c
 ea1c44fab22a4734aac4206b59011727  gdb/nat/linux-osdata.h
-4300306a3dd6ba7ef84ac741fabc2192  gdb/nat/x86-linux-dregs.c
+4cbd8ae49bf389ddfd2ef85bc5ca2fa7  gdb/nat/x86-linux-dregs.c
 823f179ff967317edcf7f761b4a60c6c  gdb/nat/mips-linux-watch.c
 e99d38558b2ae8ddcb625067195a1453  gdb/nat/x86-cpuid.h
 13c12f1735e05dbc56667a935fe22e70  gdb/nat/amd64-linux-siginfo.h
-ec031359d23b6477237dbc660a4a8228  gdb/nat/linux-osdata.c
-a87d447b99c0fab69e9743dbd103548f  gdb/nat/linux-procfs.h
+e3aefbc341cad28817509db5abf37aa1  gdb/nat/linux-osdata.c
+3bfbaafed896a46f09f2f9b5ccd8653e  gdb/nat/linux-procfs.h
 a2c5e87e66153c7361b8bfcc842ba85e  gdb/nat/linux-nat.h
-12567afa2abb7a435711962e0b8afe33  gdb/nat/linux-btrace.c
-322527028aa51f0d168f01db0e6747d2  gdb/nat/x86-dregs.h
+5c5e62b9b6fe0ca2c0638e25167b61cd  gdb/nat/linux-btrace.c
+7aadcd068de27c600c9772852998a658  gdb/nat/x86-dregs.h
 e648f541d81d07d95b704c2c672d182c  gdb/nat/x86-linux-dregs.h
-ff296b07d3d2c0bbacf23f11bb7e07c3  gdb/nat/linux-procfs.c
+0cf29719eb15f3b92525bdfbcff9547a  gdb/nat/linux-procfs.c
 87bb08cc3923d996aefff345ce6be013  gdb/nat/x86-gcc-cpuid.h
-19d7e6fcf07b1ba40c700d863f11edfb  gdb/nat/aarch64-linux.c
+d4b4e4f7475b209af0621f80a88f6f5d  gdb/nat/aarch64-linux.c
 45347e0a4d6ffd771352b6cd297f70dc  gdb/nat/x86-linux.c
 0bb5ea67d0ea39e93724beb29e2a81a2  gdb/nat/mips-linux-watch.h
 3ea671b53bb90c95196e70544ff052e9  gdb/nat/amd64-linux-siginfo.c
 8755152bb1622c226fbf0ee74587d648  gdb/nat/x86-linux.h
 190be645c355a50685f52717588bbb4d  gdb/nat/aarch64-linux.h
+918d11c8100cd2d72278e10b6d5abe25  gdb/nat/aarch64-sve-linux-ptrace.c
 adae21661830cc755ff5274534e762d4  gdb/nat/glibc_thread_db.h
 e6c61da93874efdf28b3d2713e1320a6  gdb/nat/linux-personality.h
-9b6e687f31e863f40c152017886798b8  gdb/nat/x86-dregs.c
-900200cfc65f731fd9761525df54393a  gdb/nat/linux-btrace.h
+f6b7bba5f00c8ea0423c37c4e271190b  gdb/nat/x86-dregs.c
+6c74824705cec1a1ddc74373ca487a83  gdb/nat/linux-btrace.h
 ac5c6771217a2ee5f775ae4ee71b50a3  gdb/nat/linux-namespaces.h
 98720799e8591a6be7a7f5f6c996428d  gdb/nat/gdb_ptrace.h
-7267622236025bb166a67fba2751ce39  gdb/nat/aarch64-linux-hw-point.h
-74aa9b3792f48632d3a76d27468b7896  gdb/nat/fork-inferior.c
+a325b6225cc9601da6da9772ea7d99d4  gdb/nat/aarch64-linux-hw-point.h
+ae5f4bf85bf43396b0f30d9e63330a37  gdb/nat/fork-inferior.c
+5123455462c6cb7f6b38f95f864a25d0  gdb/nat/aarch64-sve-linux-ptrace.h
 c12297b6e66ea50afbba0285d5da69f0  gdb/nat/linux-personality.c
 670f78d2abd3157b11fe7a425a596082  gdb/nat/linux-waitpid.c
 859e6f320dd488dd634e4bd47eb3e378  gdb/go-valprint.c
-878089841808abfa8f128d10d2a044d6  gdb/dwarf2loc.c
-904db701004fd994d4380ce8ca540b11  gdb/tracepoint.h
-995d3e1c966c341b34711d8fb875bc85  gdb/gnu-v3-abi.c
-58b3e899615c15dcd129b4df0762aa77  gdb/extension.h
+35b9b80af872191df6c0118cc6bee226  gdb/dwarf2loc.c
+31b8c73e5f12a59635c47e24d1ca58cd  gdb/tracepoint.h
+33cf30352f890d57854dc643b8c0db54  gdb/gnu-v3-abi.c
+52f2b5213f9809d711643881938c352a  gdb/extension.h
 3b48118be9ef5674e6e7faf7043170e5  gdb/reverse.c
 c1b8aa801694190a1ca64d22380e6720  gdb/dictionary.h
-9f6350770c689a6d9522f981e698f5e0  gdb/x86-linux-nat.h
-0c3fa272b5e01d59633f0ec83a4ff7a5  gdb/sol-thread.c
-f3efba1aeaf990a698afc4780dc75622  gdb/xtensa-linux-tdep.c
-a6dfa9bb0dc10cae25008159f8296544  gdb/configure.tgt
+667af11fbb29602c8c6fcc9d7e616443  gdb/x86-linux-nat.h
+883e70e343acee03feec7facecaf351b  gdb/sol-thread.c
+a7e59254c4e63b6d252d2bfbd0774504  gdb/xtensa-linux-tdep.c
+82a5c35c8d3fd44bef480c013de5b782  gdb/configure.tgt
 81a3ff7590f2273421d3c570635d6a9c  gdb/solib-aix.h
 ea5dfd4982657a302c1626c46157c9c9  gdb/event-loop.h
 1009e6b6fd2a1ce99c86e5b21be183b3  gdb/ax.h
 f0358cb3ada6a134a6cf5c968f39348c  gdb/trad-frame.c
-84f018599892492ae31bdae49e3952c1  gdb/mips-fbsd-nat.c
-ff142e2c2d5c63a4bf5103ac0a32d7fe  gdb/remote-fileio.c
-ec5e41fc71b09b5f3cfa60f6d8520bc4  gdb/complaints.c
-3f203af1884fd78ad684fed2ddd2ffca  gdb/f-typeprint.c
-a29aa25fdbde4c79fef612e877fdfee0  gdb/interps.c
-5606ec8c5bfb803ed33c6f895f9495e2  gdb/skip.c
+4f308a40a58a793a57b9d12ef7c5afd2  gdb/mips-fbsd-nat.c
+237ec5f73828c5c1aac864df8c4f0874  gdb/remote-fileio.c
+8116a49ee83dc1593b69753998285811  gdb/complaints.c
+deaf3e5be99366507b249436556baa52  gdb/f-typeprint.c
+811bf267805a7b0f841c090a383fb5a0  gdb/interps.c
+1e804709119738a25bf3afa31d3f1eb3  gdb/skip.c
 34075654f74db3579009f75baa6d8458  gdb/i386-gnu-tdep.c
-876a8b421795550d6b854b1232463595  gdb/ppc-fbsd-tdep.c
+a48ad78ce6fbf2dc7747795c1ca3870e  gdb/ppc-fbsd-tdep.c
 7eaf73bff57fa3535ec9f00fdb1d95a4  gdb/mips-sde-tdep.c
 4b0dadd7fdb8d768a817ee7c13fad3a7  gdb/gdb-dlfcn.h
-9d973106d286a394b227c7769a2e2e62  gdb/arm-nbsd-nat.c
+8402360298c9ccccb1ea64c4512124b1  gdb/arm-nbsd-nat.c
 3d257ab27d049fd07b709cd4bec36559  gdb/ser-unix.h
-1e3f4b3b81958111f51f94f3cc73c7d6  gdb/utils.c
+a1512b718c996b716de80b043ce95916  gdb/utils.c
 90e56dea65beb67443d6c83cbc5fed7f  gdb/ChangeLog-1997
 d9585f56d83238ff517da78a9ec82fbd  gdb/trad-frame.h
-5fe81e81a40cd35bd0b1444169692113  gdb/arm-tdep.c
+721561287713a2cc35ab69114bf62dd5  gdb/arm-tdep.c
 4ed7f92eda0e9ddabcc4ff9a5fa525cb  gdb/aarch64-fbsd-tdep.c
-fb6677a89b1ca588921c16f224f12ff9  gdb/cris-tdep.c
+8c43648bb19784c4688d7bf96c1391ee  gdb/cris-tdep.c
 c1f27b92411ea186e3c433970c04cc9d  gdb/dictionary.c
 f7d00dbc7d06cf8aa638b3c4dfec5cf3  gdb/cli/cli-dump.c
-303cc8ea695af9cdca0a7292ad57417c  gdb/cli/cli-interp.c
-b2f206cb32cafe07ae6db6e28a86b582  gdb/cli/cli-script.h
+75c76bcc9081dff5df79c36a5bcc6b9d  gdb/cli/cli-interp.c
+e05213951065b5c28cad5e38350452b5  gdb/cli/cli-script.h
 4dedbc860e337b8f70b87229f27bc29f  gdb/cli/cli-cmds.h
 a7fe565f6eaaae530ad4c7a7d1ff4471  gdb/cli/cli-setshow.h
-fc5c567155c9ef2388d092d0efe15ae0  gdb/cli/cli-setshow.c
+9a339c72e6c1a55648ba925efaaf03ca  gdb/cli/cli-setshow.c
 45622731d9ecdfebd1698345ffe5dd56  gdb/cli/cli-interp.h
-a95175ceaed692c4d0a01f69a831245d  gdb/cli/cli-decode.c
-1463cd454fe54fc819aa04791b61e963  gdb/cli/cli-cmds.c
+3980e2425991e7e3527ea54662e16c35  gdb/cli/cli-decode.c
+83a39dca488197b92ac550d2ac1b2b3d  gdb/cli/cli-cmds.c
 846046a4091c747ff77158b8f5a95919  gdb/cli/cli-utils.h
-a166dc0fcb58b451459840887225a602  gdb/cli/cli-script.c
+f6995549d98759dbdca534083b1def4e  gdb/cli/cli-script.c
 3b6925bc7211285b555a52c091cc327f  gdb/cli/cli-logging.c
-a929e101e93eeafddd943a4e7cce204f  gdb/cli/cli-decode.h
+92c111490a2663e584fcbcdce0908968  gdb/cli/cli-decode.h
 efa231ca912122cb0b76afa7b734ea1c  gdb/cli/cli-utils.c
-486465d103e31a0da2068288250b46aa  gdb/m88k-tdep.c
 6b82ba43f68bd801ceefdba6e1f070e7  gdb/copyright.py
-dd2200414f5601f4c8b643791796dd55  gdb/cp-namespace.c
+5441c40add4338bdf39770fb1189af47  gdb/cp-namespace.c
 21b85dc2ed09d1125c8ab4fbdb043c7a  gdb/notify.defs
 d94dca23b32a1fc28973a7da62222bc4  gdb/bsd-uthread.h
-6e2fbed0268e244870d13d34d9d5bea6  gdb/inferior.h
+30d83d098931becce297bdab052cbc5b  gdb/inferior.h
 1ffcc2b6ccb4acd07d44c5510a387339  gdb/reggroups.h
 0995979778608fe7203391a85d13e743  gdb/copying.awk
-9adc0abb0a351f573f82df33525a5b27  gdb/valprint.h
-14be6388c7f30c6a7c82ceea7148aed6  gdb/amd64-fbsd-nat.c
+1e02a0ddd71942e7076d64c31a258813  gdb/valprint.h
+7cc95a324356dadbc6a5f383dfa93ee9  gdb/amd64-fbsd-nat.c
 98000ddcc1000738258f5e0bd5376229  gdb/ravenscar-thread.h
-6cf1073395eae7157381add280762de3  gdb/objfiles.h
+4ce24f9f8e8daf559d7133945ba0606f  gdb/objfiles.h
 6ce600c6dd507e8e286a17d9edabe286  gdb/reply_mig_hack.awk
-813790c99403304f61f4542f5bdfd61b  gdb/nto-tdep.h
+46c1dba133169e5c7356f950896548a4  gdb/nto-tdep.h
 24096aca3294cab3717506c2c69a7272  gdb/msg_reply.defs
 51d2fa6ce8618d5c87150c7c576f1f6d  gdb/ChangeLog-1992
-c741f12c33d1a3637dc1f9e76e314842  gdb/nds32-tdep.c
-f034c37665d00f0a758435af9ab08787  gdb/inf-loop.c
-a867576998280dee471ad5c297ad6f6c  gdb/ia64-tdep.c
-54ed994485981030becd0ff7c54420da  gdb/bfd-target.c
-4c88312d8f9b9ebb25e9a6fd7c53b020  gdb/ada-tasks.c
-61c71feb39daf1a526dc353c33b47fb9  gdb/mips64-obsd-nat.c
+bc4740a51b8c0fb19488387ab4a13d75  gdb/nds32-tdep.c
+5f8865a70735610c16ab0a8b1aad4058  gdb/inf-loop.c
+01fbdf9f66c77bcc9fc39458c6eb31a0  gdb/ia64-tdep.c
+4c5a7adbdb4a7d4ebb669077bcaabc6f  gdb/bfd-target.c
+d75ea7c60baf821c10014d730059da1c  gdb/ada-tasks.c
+cccdea5aa117cc59dde6c0d7dc6197e5  gdb/mips64-obsd-nat.c
 4f5cf932b114c38e420a44a052b888d2  gdb/ser-tcp.h
 c924da8407c465c0db47754b07e866a3  gdb/ui-file.h
 da8fe61630bfcd15538771e7933f12be  gdb/user-regs.h
-cb98367c703308d151148d7c17a72505  gdb/PROBLEMS
-d8b839d3a6e3c69149bcd628b9fc0a69  gdb/config.in
-5a325a88036eb68b88dcb4f8532bcb75  gdb/configure.ac
+4fdfdf18e2d0d4c893f989243ea34aee  gdb/PROBLEMS
+a4ea395a78e14a25f8102cc1de4c1d31  gdb/config.in
+da7a42a56158d6eeb2724ba89c998f01  gdb/configure.ac
 752cc726423f319218ee7048b5dc7d38  gdb/ChangeLog-2015
-061e4671402dd0e7ded6e2e32902110e  gdb/amd64-sol2-tdep.c
-e6089cd2ed43337dcebc9325ee0d1243  gdb/vax-tdep.c
-86d5f5b63c13de834f9f26d38bf3d4cd  gdb/sparc-sol2-nat.c
-7fa8f2abedbaa2f2fd43daf3d6991965  gdb/linespec.h
+c44719e943c63d6a2080c39a80ed7c04  gdb/amd64-sol2-tdep.c
+0f9a44a28e5b202ab991ef8cf4b40749  gdb/vax-tdep.c
+0f555dbb917d5445cdf2085555ff43df  gdb/sparc-sol2-nat.c
+1f8f1d89c8bbf38868ed99f73c858dd2  gdb/linespec.h
 424b4fdaa027f9abf9702c54f517dbf4  gdb/README
-011f8161a6129ed0fdc2369daa0f472c  gdb/fbsd-nat.h
-6dcb72b1e2487116469c6ac1a5ad1aa2  gdb/inferior.c
-b2584f03b290484a58cb5cc5433b3c17  gdb/mips-tdep.c
-d3d8e27067ca5acc49aa2b5cffd93ef9  gdb/solib-dsbt.c
-c2fbbc884d54c8ebb4787106765497e8  gdb/minsyms.c
-9ed0f358bae93e6fa580ac9d2201e5e5  gdb/i386-darwin-tdep.c
-42fadb6f318e79fbbcb6124bcceb4318  gdb/m68k-bsd-nat.c
+08193c552ff2cba48e95810ac883afef  gdb/fbsd-nat.h
+e1b41deae21a092926ad7bb43b1724e9  gdb/inferior.c
+a76f35d8e27ff5d9a93686cbb3af5f0a  gdb/mips-tdep.c
+209ebf519095c34cafb76a963d12acb2  gdb/solib-dsbt.c
+3841829a96a933bfc06fbdb58af7e1fa  gdb/minsyms.c
+e9e73ead1f67643a58e783be0b57284d  gdb/i386-darwin-tdep.c
+9a167af58576aba795afb926603e6ad7  gdb/m68k-bsd-nat.c
+e8c3e1e3c8f420ff45769fd0fa0c320d  gdb/linux-nat-trad.h
 7b8a5048cfb6f899a8199897f0864c8f  gdb/ChangeLog-2005
-5196d1c97d6ea44439f7df81b829c54a  gdb/event-top.c
+8774efc02cd045f44c33b231d5eed322  gdb/event-top.c
 241edaafd0b3e9df34721d907da8d01f  gdb/mem-break.c
-b7d7ba04258960a40e3131926c5f807b  gdb/charset.c
-950fd525be0081ace4d9a3c211175c36  gdb/sparc-nat.h
-1859e3a8d7d5087650a0a5c0f5a4ba2b  gdb/record-btrace.c
+78a5dd6d410199fa1bf9af171e0f85f0  gdb/charset.c
+a0d126477f8a073a797ac2b2e6d2e89f  gdb/sparc-nat.h
+e00b7ef78ca972902e025b0a6d7695a0  gdb/record-btrace.c
 ac95bab288c787a3f9cc32e0b8383af0  gdb/proc-api.c
-c5e77bd0cf8b24ee99fea4cd7eaf088b  gdb/target-memory.c
+364aca98f9e09fc0e7dc5e0b33a4853d  gdb/target-memory.c
 288ff5b368d278b1a98b74d9d57f521c  gdb/syscalls/ppc-linux.xml
 d4219f5beb470656d75ea17fd80a9c96  gdb/syscalls/freebsd.xml
 b2b6ea5d7a4e8369adc71444a27607ea  gdb/syscalls/sparc64-linux.xml.in
@@ -1243,170 +1179,171 @@ f48daece847f879834d8a8e232db0076  gdb/sy
 7e7ea9735196fc793ef9da7ab471cb93  gdb/probe.c
 2aac4380cf43f61707b801935dc3b433  gdb/osdata.h
 88b6b86f79cc95afb43c6b6c0477cd72  gdb/posix-hdep.c
-d34e97161053d3e7631bd73137231798  gdb/filename-seen-cache.h
-83c3153e3b11c091ff4cedbc02b36850  gdb/varobj.h
-e509e5a052d65cb9387119c2126677a7  gdb/tracepoint.c
+3f5e5d418aa0bdf72cb7a2270dbb519f  gdb/filename-seen-cache.h
+2c8f1c92ced17e5fe2c6adf1fd7d0aad  gdb/varobj.h
+e1c67b6626491341ccf584634836a484  gdb/tracepoint.c
 3b34365fe29a5be128c71c552d656d4b  gdb/selftest-arch.c
 520c52eabaa42304ffa24ad96e18cf52  gdb/cris-tdep.h
-898907c2fcd488b9263549d886154084  gdb/target-delegates.c
+aa585453b137cfe491a78d1292ecd4aa  gdb/target-delegates.c
 a288118ed518726fca7cad53daef7eca  gdb/i386-go32-tdep.c
-0fb90b002316682cd573de80e344b775  gdb/ax_cxx_compile_stdcxx.m4
-7f3a6f4b9bdfbb382854a0eae10fb9ed  gdb/solib-frv.c
-dbcf6546f501cb8f765ba756db11ba86  gdb/amd64-tdep.c
+3717b843594ea5ba00ae392a28c2b721  gdb/ax_cxx_compile_stdcxx.m4
+4711cbc307dac6615e4d6fec30a6b498  gdb/solib-frv.c
+3f5b6fc3c1aa1035f4566e3c847d153c  gdb/amd64-tdep.c
 6216d4e506c526a30517dd671d6a3547  gdb/nbsd-tdep.h
-ecfd9b2668c64d934083eed0c1857f7d  gdb/amd64-fbsd-tdep.c
-f4315bd75ab8e050abb63e9bdb280245  gdb/p-lang.c
+db37d040753f6cbe2a06336dad1b5ec4  gdb/amd64-fbsd-tdep.c
+6008ab8c701c7026a874e9fcab47e684  gdb/p-lang.c
 85669543ad21bd7d723dc0b9a1838e77  gdb/ser-event.c
-6ffe3ba4f4e95c7872a4a0d6ed1b91a6  gdb/aix-thread.c
-793941eb65e939562e98eec19e4e9b07  gdb/arm-fbsd-nat.c
-9444a2289ac054c1dde25220a03aa2e7  gdb/dummy-frame.h
+2ade1bedee3599dc5c42850fabd733d4  gdb/aix-thread.c
+8f9668b01e312ed0d07aafd7c1d7571d  gdb/arm-fbsd-nat.c
+6dd4c7744045e05702ad7a4d70bc3c70  gdb/dummy-frame.h
 b4a82177eb52fb9c11310457fd93d9c0  gdb/i386-darwin-tdep.h
-c7dbe194685d681f32cfea83cd135f4e  gdb/target/target.h
+c4d7a42d54badcfaa77a1f6a2886d56f  gdb/target/target.h
 8b1bcf015fc811971a532bc3de75b1a3  gdb/target/wait.h
 88dc6e046f2eb6d0106719abda8cfad3  gdb/target/resume.h
 847030883dd0dfa116981ee68a2d4139  gdb/target/waitstatus.h
 af9b89c0678f4ec920db78e0e8b20675  gdb/target/waitstatus.c
 c347954d4517f60d1220db4d30f00f92  gdb/memrange.c
-0b7f38ff006c3cde48728d363ce9b9ad  gdb/gdbarch-selftests.c
-e72f95a062dec89349ea26e6c0a1c9db  gdb/windows-tdep.c
+62372741c8fa1c6f1087057a69158608  gdb/gdbarch-selftests.c
+dc1fb7238990b7dba8f5537390a9c16b  gdb/windows-tdep.c
 ec376335a92bd9f2ea53ee7c6e2c0e46  gdb/coff-pe-read.h
-441a31b344150e2346e1c037eb914ceb  gdb/go-lang.c
-8ba6ad8dabbdaa0109e304c414a59ea4  gdb/infrun.c
-7d51b19cde2dffc8abfcf10325efb630  gdb/ppc-fbsd-nat.c
+7ca88f5387948fc57d606965e94c858f  gdb/go-lang.c
+022efcc816c0e4fd3f5f2258f54a25bb  gdb/infrun.c
+8b9be5d5ad740c3fa64fb2dc3446c4b5  gdb/ppc-fbsd-nat.c
 9f17d928e1ed3e8a6423ba556d65ed00  gdb/jit-reader.in
-947c0df035fbc979325b15491b3a9109  gdb/darwin-nat-info.c
+92133b9980933d7379c85aaf43aa9a7f  gdb/darwin-nat-info.c
 3308f992afa12cc88ecabc24b52c1e97  gdb/ada-typeprint.c
 7ad3940afa554b4e849f961a380e5f53  gdb/sparc64-nbsd-tdep.c
 f971d36e35ec0c3fce64b819d7891f15  gdb/ChangeLog-1993
-2ec268ee4ada237e55e50b3e245a1a81  gdb/regcache.c
-694c1df80fe473885ed01e6bdbd7b576  gdb/thread.c
+35ed6904a6e2bea02cd24a7feeb6c6ce  gdb/regcache.c
+97bbe7dfba2e55527cdebec29184cc34  gdb/thread.c
 eec07e94e8ab80e7d783ab1bcb001618  gdb/gdb_buildall.sh
-96b9cf9b15530567f100db1c8bc3ed53  gdb/target-descriptions.c
-081ae556924dcc9116abc850d87636b5  gdb/target.c
-bf78c75199c4568f2b60c4c665440914  gdb/remote-sim.c
-b6027f7095abfb984b654997e8000520  gdb/rl78-tdep.c
+a2bd3f86db7a7bfd077bd4509dd5a80b  gdb/target-descriptions.c
+0580f31b0bdcfb08f8ea1b747e65f310  gdb/target.c
+97ab34f1068926e2a1390ed88c119481  gdb/remote-sim.c
+141e0ccf54745cefc327586e3dd22045  gdb/rl78-tdep.c
 80cc19cca9e481f5cf8a1639150419aa  gdb/i386-sol2-tdep.c
-8303fa48f2e63f05d9d5579bd4d3d58b  gdb/frame.h
+b2c8fef3850846b8f0a4671cea240e1c  gdb/frame.h
 f044417404f6ae0c8dac89b4a1c420bb  gdb/spu-tdep.h
-09f6265c0b9d72d784169ce0cfa94b84  gdb/darwin-nat.c
-8cb8afe0679d953fdc3029ae006d02a6  gdb/symfile-debug.c
-863a4a16ad201479613012b36fc1fcd1  gdb/stack.c
+696213c0267b89704df9cc43be03e27f  gdb/darwin-nat.c
+b6d79e9ae518964e4301adb41542e468  gdb/symfile-debug.c
+3b81f35dcef3d45d98a91d7e313deaea  gdb/stack.c
 d86fe1dda238ab5c5048f68c3e77baea  gdb/ser-tcp.c
 4e82906dae65f215ebfb7f9d19dd22a8  gdb/vax-tdep.h
 a1de1ed6c56a3ddf88a67d37e68bed5d  gdb/ptrace.m4
-9936255df466f297cfcd1228d9a2c69c  gdb/mips-linux-tdep.h
-e2bf7c661d3a4b2b2f10e324a0acefe4  gdb/i386-cygwin-tdep.c
-8222e84e049b5a6d848e7e22a227de02  gdb/mips-linux-nat.c
-2e5a63adb381fbcc61b348d9d17fce3d  gdb/s390-linux-nat.c
-ab7b4f155d4f18f36096fad79338fdd8  gdb/linux-nat.h
-485e09b5cde6bb575dd82702c22e7c4c  gdb/sh-linux-tdep.c
-40696a5758ba8777c922e10264552dd2  gdb/go-exp.y
-95747565b38d770f35b7cc5e3a5d6d4b  gdb/dbxread.c
-b79bf0d4df1c24d45695985ecf4d9032  gdb/remote-notif.c
+1b6fb94f69b2275df943216110d54c3a  gdb/mips-linux-tdep.h
+7124afb62d932ada5bcb4526fceed300  gdb/i386-cygwin-tdep.c
+220a6e22bfa17f34eaaea5790a515017  gdb/mips-linux-nat.c
+a1054c65c91ccde228c0e9806bb93461  gdb/s390-linux-nat.c
+c8dbea7d9389c08f3789b58a561a07f0  gdb/linux-nat.h
+494257c414eccee1044a0ab98883e794  gdb/sh-linux-tdep.c
+38f78c6afbbbbc17c11c683ac91e308c  gdb/go-exp.y
+2b2f56872999b916912d02edad5da0c4  gdb/dbxread.c
+29f6eede7daf473eeb4d4742ce221d19  gdb/remote-notif.c
 7fc733857220d977be1753bb536270d8  gdb/aarch64-linux-tdep.h
-c0e8f24f1f4598d11d9920961ed936d5  gdb/aarch64-linux-tdep.c
-f9608701da59bffb74a570a334556f4d  gdb/f-lang.c
-92cccfe17e9b06965836d1a0a25ef723  gdb/break-catch-throw.c
+3570b4551a0a309a37d3f178605e4435  gdb/aarch64-linux-tdep.c
+1002865f9cf86f1ade90b768a7cec48d  gdb/f-lang.c
+0136d38e5c6b7d964f6aecbcad92fb1a  gdb/break-catch-throw.c
 dab68109c15df636e61c7b8177b99c99  gdb/rs6000-aix-tdep.h
 e3a08b131a85b6b1a09122266cb5d5ab  gdb/gnu-v2-abi.c
-ea4dfef6c5e7870c92c37c74d978b27d  gdb/block.c
-797ede9d055ca6583632e7cec7ffdd5e  gdb/.gitignore
+13a98c4f6b65ba0201542793d0cf33ba  gdb/block.c
+46d4d315ccc5bbd3d3c8a7489262aa53  gdb/.gitignore
 3eb26bb8a5a80ff351f23af72c71faae  gdb/alpha-bsd-tdep.h
-fe1dda40d3e5c3f28e8ba930a7cb42c0  gdb/aarch64-tdep.c
+322ef2bbd8f6789f19160b483d4c05e6  gdb/x86-tdep.c
+99fc105a4529e4f090ffa05974dd66a2  gdb/aarch64-tdep.c
 8f07b8c77be423bdb29b2c4a42c87478  gdb/sparc-ravenscar-thread.h
 0f7decb129c084c0d3fb704a564713be  gdb/m68k-tdep.h
-889428621c8d8cce7a5812377c0e9500  gdb/typeprint.c
-233aabf3ab7d221a0d49ad93eb709091  gdb/solib-aix.c
-a90a12ca7717fddf5de1057e1cdca4c1  gdb/warning.m4
-b5c43ad4aec100d70190078091d9f5b3  gdb/ppc-tdep.h
-7c1837d81b1f5ff75d6fc9b82f82e59e  gdb/dtrace-probe.c
-42b165ec3ece14eee76ad96fa7923ab2  gdb/configure.host
-263e5fce8dcc7e012da1da8af8fd1889  gdb/x86-nat.h
-529a793c0e449f953f71d97efbfdf054  gdb/linux-thread-db.c
-7269a9e48ffdbd93825d0827949c27b5  gdb/c-exp.c
-eba94a120752984051355dbaf3c6ab12  gdb/alpha-linux-nat.c
-74dfdb7c28864e5b5bf9c03fea163eca  gdb/ada-exp.c
+0ae8c511d3f75f766126cbb2cda57b5c  gdb/typeprint.c
+bb3f91794421322decb86c82cacac17a  gdb/solib-aix.c
+fcae3cb1131a8474f8bcce6c02962494  gdb/warning.m4
+243966a2c94cc9efaa3621b2c41c48e9  gdb/ppc-tdep.h
+7dd9ee770f6cfa073e148d387ae07593  gdb/dtrace-probe.c
+347adc42323f476566ec13127fb1a861  gdb/configure.host
+fc49b6bd5b96812a5786b8f3ddda29f7  gdb/observable.h
+1c88aaca276d5f0b376df2c2ef71a1c9  gdb/x86-nat.h
+db72283e211a070ca62b98c3921d6284  gdb/linux-thread-db.c
+dbbb62e3f15e0a463f16521f5641f345  gdb/c-exp.c
+3f5804572b36fb720620878e220f5e64  gdb/alpha-linux-nat.c
+0a204b4db33f359d55db8eb636f1aada  gdb/ada-exp.c
 1e538a799e84d9920056dd814728514e  gdb/tilegx-linux-tdep.c
 8e669c0223eff4845c4f818622fe0da4  gdb/mips-fbsd-tdep.c
-195ff9b5cc821b49bef3e0eae7474621  gdb/m32r-linux-nat.c
-d4aa52c6d0057f3096d341f247aa715a  gdb/sparc64-nbsd-nat.c
-755759fa150e374855544a7b9f67f173  gdb/gdb_bfd.c
-7b67f4671f04916131150e7d49bb94bb  gdb/NEWS
-483b846f169c233e402c7f975e07b031  gdb/x86-nat.c
-865f180239d4c74b54e902db6dd147a0  gdb/dcache.c
-9692b911a1d323ec70bc6e01f1657f03  gdb/ada-lex.l
-01ef630f983b3fd683bf7c5a287f7863  gdb/cp-support.h
+dbeb7ed60c2a8516b5ba18758fa20340  gdb/m32r-linux-nat.c
+4f759babbd4e92af19d46831bf38b162  gdb/sparc64-nbsd-nat.c
+5bf55e318a32620260f5f79896f75edc  gdb/gdb_bfd.c
+3a18e1da4c824de022ce75bf8f92d45c  gdb/NEWS
+bae6ac1422f437f8c30488c1db95fcbe  gdb/x86-nat.c
+f3bdf6ad3ec69fca2eec0d127037f387  gdb/dcache.c
+7a46561e7dee652558e7454750d05a7b  gdb/ada-lex.l
+0e44958d1e22164adab25e2ccc2815ba  gdb/cp-support.h
 198229bc36fb6b46969e76e330b3c3ee  gdb/demangle.c
 10109597eead442b810e61ff495ea252  gdb/yy-remap.h
 719270c492aec9d583d1453fe9afd080  gdb/gdb_expat.h
-2ee06785de2d7f5e9dc1be60b32fc455  gdb/aarch64-tdep.h
+61c9fd0fc16b7cb09992e7ac4db985d2  gdb/aarch64-tdep.h
 00fce1d55bea12aaf1fe652e09620d07  gdb/probe.h
-4b139f3d39e6552c316596e9d8d75652  gdb/expprint.c
+204769ed2f32031d08315d7c41cc63d2  gdb/expprint.c
 fd2e25a96b81abbc51010a9c7a98901a  gdb/sentinel-frame.h
 bd66e88b9288c1e0656aa036dc89a3a5  gdb/gdb-dlfcn.c
 65440bd71df383bce78eb2bd813b6f97  gdb/xtensa-tdep.h
 2cc5ac5c92b38f9737404f1611c8671f  gdb/amd64-darwin-tdep.h
 c3f4393c2413f36b52c7f58844697c59  gdb/gdb-code-style.el
 150cbd889a45bc8bb2ab8de10b0849c4  gdb/hppa-linux-offsets.h
-e15737080e9348be7159a5c40b785ca0  gdb/gdb_proc_service.h
+52998a96ca74228f83a439b38d1d5c76  gdb/gdb_proc_service.h
 bcbaaaa5fa741c6accd8360670b59325  gdb/dwarf2loc.h
-05a9b26c0fb711973f9814666277fc43  gdb/i386-nto-tdep.c
+8c4dd1fdf6c94c4ae765b2a7221ceec4  gdb/i386-nto-tdep.c
 cbf4bb4777413dcfb5bd6d8bee835900  gdb/obsd-tdep.c
 5052b57de2fd8b3515777bb814bcd394  gdb/ChangeLog-1999
-cd7b8ba4e18e28ba4ff7e5b524f8b980  gdb/f-exp.y
+2fdd94c7916373fb7485c5af701c2bef  gdb/f-exp.y
 54e839f7799f5ab74ff387691d6342e7  gdb/jit.h
-138badf53eac853b8b1eb8bb8a8746be  gdb/psymtab.c
+fc71efca03535915fb34279829bf093c  gdb/psymtab.c
 aaaa6f1f7fc6fb08e48575717e97f93c  gdb/stack.h
 da71c479b68a4d95a79d36640b93c9c3  gdb/ChangeLog-2000
 23a5c9c3444c28c89aed5d3bab864bba  gdb/tic6x-linux-tdep.c
-c0af8e9186d12a063b23f089cff87350  gdb/gdbarch.c
+ddc6735224937542a16ad8c8a448f6c2  gdb/gdbarch.c
 ac3684c4a3658e1fd2ef5be5f457ec12  gdb/CONTRIBUTE
-22cf173c084eb35e28345d3512bb3e28  gdb/mep-tdep.c
-583c961f990149c65055f8acde95d973  gdb/opencl-lang.c
+289cf4a8613664f7744dc12d8cbfb4a4  gdb/mep-tdep.c
+642426c650d1ca27f541c6f4e3437160  gdb/opencl-lang.c
 3d027cac6019ae876866bbffc91eb5d2  gdb/mn10300-tdep.h
 adf42b0a0fe79811fe9bad72d26bef49  gdb/thread-fsm.h
 779c2c69ea9b6926780153532951e708  gdb/tramp-frame.c
 dee9938a50ea4d4a2381dd799cf1a159  gdb/arm-wince-tdep.c
-05818181f93b292377b013e7000617ae  gdb/target-debug.h
-f1de5daff68cb58215fe4e3f2781fdbc  gdb/ia64-linux-nat.c
-e5963c4eb5a89dc9ecd1687257249b24  gdb/cli-out.c
-820b2c756190d025870c47a900c48158  gdb/main.c
+0a0b2b09378181ac94e58fd3813b4391  gdb/target-debug.h
+23b882164150823a53662119e0d760a9  gdb/ia64-linux-nat.c
+f8f1ab52621779541bd7140de2659561  gdb/cli-out.c
+07a95963a989d0531c80613893ccbba5  gdb/main.c
 f8b3948081308df3a0bfe84dfb932fe1  gdb/acx_configure_dir.m4
-086fc7941ce6090366334a3335fdde2b  gdb/proc-service.c
-ac36bb114421b87c3e87454916701cec  gdb/inflow.h
+855c308cf3eb9504c0a60d6d7a0a168e  gdb/proc-service.c
+0c87460dac05a16c143a6c123f19913f  gdb/inflow.h
 16676b9547f9a7ac95c648ec5962cbc5  gdb/ChangeLog-2010
-964ba69ba72f5606a25e8bd67c42684c  gdb/glibc-tdep.c
-ac09d78ab375c2a820faa30da4165ba1  gdb/gdbcore.h
+2b066f1c1354bd328062b692ec7fc86b  gdb/glibc-tdep.c
+f189e9dad51456b4513c5cab001d6c3a  gdb/gdbcore.h
 f3da64b1677bdff051f6e76ff968fc66  gdb/inf-loop.h
-3af5d1d00b36405302bd30e0a61b189d  gdb/alpha-nbsd-tdep.c
-5d6b8008b10b61427c24a151f9981b6f  gdb/ui-out.h
+f682e9806e34c33f2a9a8b19f77ad95c  gdb/alpha-nbsd-tdep.c
+1f38003a1eed9b255781de12a15fbbca  gdb/ui-out.h
 68b8a36fde7893e96b239cb9d71405a4  gdb/addrmap.c
-f7d6c2dfef56d4db9a0e93ce2e830900  gdb/sentinel-frame.c
+c3831d0702b49d3d3b6ae16280491593  gdb/sentinel-frame.c
 fa1440bcc011b9fc8a6a501318aeb16d  gdb/score-tdep.h
-e306e8a33e05fb16fe99185ca4a1972d  gdb/gdb-gdb.py
-72569b7402305f0dc04a9b09599a6535  gdb/coff-pe-read.c
+2b245522e18db1726572435090dd03a1  gdb/coff-pe-read.c
 90f0c90b6728b0bad96366815ecf5fc6  gdb/bcache.c
 e82e1a53dbb63d792fc8645192a4b2cb  gdb/gdb-gdb.gdb.in
-d3a5df803e81a1b268adc0acbb921370  gdb/rust-exp.c
+95387eaed726599f97cbd5279952be4b  gdb/rust-exp.c
 eff0ec95e3c4a239a8367a03d551af76  gdb/i386-linux-tdep.h
 a380b8a6157cbfefdd0a394ae4d5b2b4  gdb/tui/tui-winsource.h
 a3d242c361866800669a06d0ef84c027  gdb/tui/tui-stack.h
 df761f864bb76d720587822654a867e7  gdb/tui/tui-disasm.h
 e58642b387a7e30225cf35c653de1769  gdb/tui/tui-command.c
 657e916c1f89b07d05fa164bcfaf7a63  gdb/tui/tui-hooks.h
-c9eae232ea2ebec6bc8829a5e1612bb6  gdb/tui/tui-hooks.c
+506ed799af7e716121be5c78eff13d51  gdb/tui/tui-hooks.c
 e5483b33d96fd00a0ed72ce0d6887732  gdb/tui/tui-out.h
-7a5ff171f3e4dd06e0c19c8d1fa7599d  gdb/tui/tui.c
+bd346b415b216d9f3485714331e4519f  gdb/tui/tui.c
 c6bc9d1b76f42f451b44ada95a6880d8  gdb/tui/tui-disasm.c
 45cb9a5ab1cb881484d139afb75af8e5  gdb/tui/tui-io.h
 7bbf9bc6db41596096e56ae2c5e60395  gdb/tui/tui-layout.h
 c3b28a10c8995c690cc40934c1646621  gdb/tui/tui-command.h
-48b31f9ea2d2cb6bcf0cdc15fd4f03e4  gdb/tui/tui-stack.c
+8af4a8c950540c257ee36f81a325c8a9  gdb/tui/tui-stack.c
 c84df5403fbd5d68fcfdda1020d4dc9f  gdb/tui/tui-source.c
 b91db0d3209d583f9b3753067f226d49  gdb/tui/tui-io.c
-628171a03948b58b88d9488d935472e6  gdb/tui/tui-layout.c
+07ad8dee475b823a89c9675398dd59f0  gdb/tui/tui-layout.c
 ef3b95159534b326879eb3d8a4f19ca2  gdb/tui/tui-wingeneral.h
-5a9967119ce5734e2c074504ea729201  gdb/tui/tui-interp.c
+f8f5f829cba97d1e3d769e455eb450c7  gdb/tui/tui-interp.c
 014d88399f57c145e9a13be6f2b39167  gdb/tui/tui-windata.c
 b97166c7107b2170ee5d7a20622e5e1f  gdb/tui/tui-source.h
 c8b347a8edc7e045601a465706469342  gdb/tui/tui-winsource.c
@@ -1419,51 +1356,50 @@ d908a58c10c2085f530ceaa6c833b92f  gdb/tu
 0415f3bd7a379430b752618c1e8c7cd4  gdb/tui/ChangeLog-1998-2003
 faeb9f0751b7b10bd8a21fbf89f80f7d  gdb/tui/tui-wingeneral.c
 bcfb18437e99eae4539c1584bf7fb169  gdb/tui/tui-out.c
-90475ecd09fb2845c73e7774851210e7  gdb/tui/tui-win.c
+9705ab54adeec88928559d1fc819928b  gdb/tui/tui-win.c
 73cafa1632d95d0ca250214ee730441d  gdb/tui/tui-data.h
 b536d7b362aaf500fabed11b5a2f141a  gdb/tui/tui-win.h
 e99a1689b0622fad6abea7ff0d8d4673  gdb/tui/tui.h
 55464ef669b4cad991eb9bb136250f3f  gdb/target-dcache.h
-cd43792df6ffaada80711ef99beac814  gdb/ui-file.c
-6bd4e41403627894be199f31fdd22a3d  gdb/m2-exp.c
+b8bcad97aacc2e146a6baf5145af3bd9  gdb/ui-file.c
+435dcf2cb819a4597a92220077a0e7c3  gdb/m2-exp.c
 023b3f0ef7c9413d6ae1a03fc4512338  gdb/ser-base.h
-fd4f984f357ac8253a6017e311f7d3d1  gdb/progspace-and-thread.c
-3bc47ef0ca08d09a0234ff5e812363cb  gdb/record-full.c
-2fd3df06175256fb26a844c05b3c36a4  gdb/nto-tdep.c
-a9eea99383f13fbda634d1314ad051b6  gdb/m68hc11-tdep.c
+3317d027e72375b64c0d7d24e8c15dfe  gdb/progspace-and-thread.c
+250aae9cd868cb587a85601f3f87b866  gdb/record-full.c
+5cd5d8718495bdfd4ac17d46c1dfc26d  gdb/nto-tdep.c
+bab237deb777790901915754ae08c1ed  gdb/m68hc11-tdep.c
 3ff77873f6692944b1c524dbb6f17859  gdb/registry.c
-5943bffab8f0706a4faaa19fe025dad6  gdb/d-valprint.c
-c40c531777ecc845d14dd9b46caa5229  gdb/ada-lang.h
-c899e480dcc4e018e287016f172c29b2  gdb/mt-tdep.c
-13c0d20be7423c190151aa1a8560ad55  gdb/gnu-nat.c
+72b7d9154a6d5c2555985382c028c8cf  gdb/d-valprint.c
+a7ae7521f7429b7564dbed80561cd6d3  gdb/ada-lang.h
+42cf5bf0b8665e11f7dd58f07467e63d  gdb/gnu-nat.c
 31c83b4bb1c5c9c771fe8e1ec3f1e9ba  gdb/msg.defs
 c5a6da46b3f28f588924bce923299b95  gdb/arm-linux-tdep.h
-f842cfc88a895b3df049a19bfc8514d5  gdb/bsd-uthread.c
+22bb7bb5cfac8600d54599f9e00b769d  gdb/bsd-uthread.c
 0e93a6bc18f45c245d71661c27920419  gdb/aarch32-linux-nat.h
-fa7395dff72e1279aca91a8b71d1c1a7  gdb/inf-ptrace.h
-aba012de0b651fe3fcbef41761509072  gdb/findvar.c
+46af03315229324b1097463745cfdb3e  gdb/inf-ptrace.h
+a4e9943975a1683afc1163ba290f5518  gdb/findvar.c
 c311d3a15e412d63bc5b150bca5c7a49  gdb/alpha-tdep.h
 83490fbe641715d2bad8f5e2366a0f83  gdb/ser-pipe.c
-f0e544d359bdf9061b63242e2d1c87b8  gdb/p-valprint.c
+22ee99381c4240c28585b4a2cf488476  gdb/p-valprint.c
 2a53c523dcdfe89148f025a641569b17  gdb/producer.c
-d3895a83abd146ed27a0745e3fb61dee  gdb/macrocmd.c
-11afd8bd348b744ff00c9f6296b4cf9e  gdb/arch-utils.c
-1c4b00c32052d767e9a8f3c488394a94  gdb/cp-valprint.c
+782abbb4959b97cb2105575fb6d52c71  gdb/macrocmd.c
+9a6c5342ed843d818b450e5f857aa50a  gdb/arch-utils.c
+44f9af90f4739ed09ee15f55360be335  gdb/cp-valprint.c
 66f799c8dd14357e25888b2221b0ea52  gdb/disable-implicit-rules.mk
-36a86b39523e4b6d565057b2185b8219  gdb/dwarf2read.c
-f246f66e91ac6bc86a7849a277b049f2  gdb/or1k-tdep.c
-5ce0b26d5b7cb48ce263dbdcf2f86814  gdb/amd64-windows-tdep.c
+f967c7c96147578cfa5997d8645b6980  gdb/dwarf2read.c
+c64c7593e7d71625ee20f04d28ab988e  gdb/or1k-tdep.c
+958c565d08b70ee0dd494879c1e85771  gdb/amd64-windows-tdep.c
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/cygmon.exp
 7947cc334d9e75c1b2fe49d56960dc04  gdb/testsuite/config/default.exp
 7b3184c5804236dd595bc01c0353f430  gdb/testsuite/config/i960.exp
-eb70fa5bd0bc0ed4829ba9853746473a  gdb/testsuite/config/sid.exp
+8da26bd7dd7d410df91c4896a729cf3f  gdb/testsuite/config/sid.exp
 f9d04de550ae926eb6ccdecd77e65658  gdb/testsuite/config/m32r.exp
 b95227a58f4119cabf50666fed78f609  gdb/testsuite/config/slite.exp
 7b3184c5804236dd595bc01c0353f430  gdb/testsuite/config/vr4300.exp
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/bfin.exp
 7b3184c5804236dd595bc01c0353f430  gdb/testsuite/config/rom68k.exp
 58eab24603f8704b209ac2379df7c467  gdb/testsuite/config/mips.exp
-9f63401e3f56adb8c2a012d31bb7448e  gdb/testsuite/config/sim.exp
+70cc5210925556388cd92ae29665f310  gdb/testsuite/config/sim.exp
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/arm-ice.exp
 c2fcf3a93587d9c0ff798bf58cbf3e1c  gdb/testsuite/config/extended-gdbserver.exp
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/i386-bozo.exp
@@ -1488,7 +1424,7 @@ ddde74dfa986d7a5431cbfd9b4ecf30d  gdb/te
 00d5fc7027019db0de286538a22156e0  gdb/testsuite/gdb.compile/compile-mod.c
 3ffc89191e23c7bff3ae0776aa91d519  gdb/testsuite/gdb.compile/compile-ops.c
 c821d605e3eced009cc38f0301d53854  gdb/testsuite/gdb.compile/compile-shlib.c
-cea66e647e9bdc685b15b698d1619e47  gdb/testsuite/gdb.compile/compile-ifunc.exp
+a2fdf0c7ceaf2efd7be2ea476dda388c  gdb/testsuite/gdb.compile/compile-ifunc.exp
 bf2716310ae610e2555dda76041fd2e6  gdb/testsuite/gdb.compile/compile-constvar.c
 a3477e47c82031f574b65560623e2eee  gdb/testsuite/gdb.compile/compile-tls.c
 b41275eb84d65fd1d8b621b70edec329  gdb/testsuite/gdb.compile/compile-setjmp.exp
@@ -1550,12 +1486,14 @@ c7344580ecd558638f1fdb920ddf8cc9  gdb/te
 801775a39e08d95291db527d730dc474  gdb/testsuite/gdb.perf/disassemble.exp
 cfa97e2b6461035e8a8b0346bbac209b  gdb/testsuite/gdb.perf/gmonster1-select-file.exp
 722d1c525da87cc21e2d3adfc3dc8c1b  gdb/testsuite/gdb.perf/README
+bfed7d9558c46c9dae0e0ed4afed1cea  gdb/testsuite/gdb.perf/template-breakpoints.cc
 e4fd573252d71560e6e8a42b78fb191e  gdb/testsuite/gdb.perf/gmonster-null-lookup.py
 2efb4e92bbfc04ff70cb32e7cdb1b53c  gdb/testsuite/gdb.perf/gm-pervasive-typedef.h
 82bcb08e508abd92c5a7c2b79c134d2f  gdb/testsuite/gdb.perf/gmonster2-select-file.exp
 d94edc8939495706459a376ea6fcde1a  gdb/testsuite/gdb.perf/gmonster2-pervasive-typedef.exp
 c92bdc8d95f3c242ad68770f9445748a  gdb/testsuite/gdb.perf/gmonster-print-cerr.py
 43016280794803bc6cc3e253aba884b8  gdb/testsuite/gdb.perf/gm-use-cerr.cc
+dcfb427dae55be5b46a80a82b6c8fbd8  gdb/testsuite/gdb.perf/template-breakpoints.py
 204f2945a8d5702bc2f222d779335fa1  gdb/testsuite/gdb.perf/gmonster1.exp
 b765df405c15cddc32c8ce4a63e9f5ec  gdb/testsuite/gdb.perf/gmonster-runto-main.py
 9deb7c4eaed7ccee53db89813d59eb86  gdb/testsuite/gdb.perf/skip-command.py
@@ -1588,6 +1526,7 @@ d72715f6804865edaf8093f12424ad2e  gdb/te
 2a529e47f0f664b8182a0042db8f7ee4  gdb/testsuite/gdb.perf/gmonster2.cc
 39190c29d01deb7b6f469c710543f1de  gdb/testsuite/gdb.perf/gm-std.cc
 c5d929d87d19fb033e78dcdac098b432  gdb/testsuite/gdb.perf/backtrace.exp
+26de6f567612ec3e56b2756e82b7708d  gdb/testsuite/gdb.perf/template-breakpoints.exp
 b48fef6caef74d8a7eb0dbd479487f8c  gdb/testsuite/gdb.perf/gmonster1-ptype-string.exp
 8782eee5124306026c24c636a3eda87f  gdb/testsuite/gdb.dlang/watch-loc.exp
 760a018860bf609637ce020087257ea3  gdb/testsuite/gdb.dlang/properties.exp
@@ -1597,14 +1536,14 @@ dec7a044d34a9a480f20ef6f54236dbd  gdb/te
 16420b1881bd8068ea779e04491c4514  gdb/testsuite/gdb.dlang/primitive-types.exp
 3427c9eac701947fa0ef3e742d355b27  gdb/testsuite/gdb.dlang/debug-expr.exp
 5be3bc19f5db6b1c8bf9cc856926dc69  gdb/testsuite/gdb.dlang/circular.exp
-5357c970020271b33d25760e0af84011  gdb/testsuite/gdb.dlang/watch-loc.c
+5a8bb7cc8316ff987e13173a12d4a737  gdb/testsuite/gdb.dlang/watch-loc.c
 58dd06777f840eff61ac599b9d22add9  gdb/testsuite/gdb.cp/breakpoint.exp
 5866c56be80486ba73c1cb2d9471edb4  gdb/testsuite/gdb.cp/anon-struct.cc
 c27cf42f8f22e8eae6cbd1f86dcab796  gdb/testsuite/gdb.cp/pr-574.cc
 77abc1e6da5e9c37bf98cd8156777229  gdb/testsuite/gdb.cp/typeid.cc
 29f6b52a4e94c187aaf660090d99bd4f  gdb/testsuite/gdb.cp/nsnested.cc
 cc3c8dac0cbb3003fd2063c0dea7ca4f  gdb/testsuite/gdb.cp/var-tag.exp
-19c24fa11bc90c71db7cb288571c9f73  gdb/testsuite/gdb.cp/m-static.exp
+2e2e72dabacdff90058df58317de621d  gdb/testsuite/gdb.cp/m-static.exp
 4c3939e20f248217e8c2a7312842152b  gdb/testsuite/gdb.cp/rvalue-ref-types.cc
 de0d13d14aa924ed5fa3813903a768d0  gdb/testsuite/gdb.cp/cttiadd1.cc
 8456c1565e726cff37bf62457b590f2b  gdb/testsuite/gdb.cp/overload-const.exp
@@ -1614,16 +1553,17 @@ de0d13d14aa924ed5fa3813903a768d0  gdb/te
 3f2ba0ff46e8c855686f29525c3da3ba  gdb/testsuite/gdb.cp/pr17132.exp
 32fd58cf9ddaadfe4eca1884e705c22b  gdb/testsuite/gdb.cp/ctti.exp
 11aed02cb68fb6b5b0c0ed9a6f04b98a  gdb/testsuite/gdb.cp/bs15503.cc
-5993527b5bd7a36e730b2a73a9f0cf23  gdb/testsuite/gdb.cp/filename.exp
+174ef278a81c3c0102d59247f4a10895  gdb/testsuite/gdb.cp/filename.exp
 719fb9f52b6bd3fbb47acdf367ba1d81  gdb/testsuite/gdb.cp/pr9067.exp
 f116759334733070da811ac37d78a072  gdb/testsuite/gdb.cp/meth-typedefs.cc
 daf7e40f88bbe6e82f754436c5defb01  gdb/testsuite/gdb.cp/mb-inline1.cc
 1a12a56eee1d93bdead22c3ca9edd58e  gdb/testsuite/gdb.cp/nsimport.cc
 2d3c60d29833ec42fa31fd15e0559a9d  gdb/testsuite/gdb.cp/pr12028.exp
+1f47ef2fc2cb88ab176457c5eae47c8b  gdb/testsuite/gdb.cp/subtypes.cc
 de8e91f6f3885c1c95081a7757cf4e90  gdb/testsuite/gdb.cp/ovldbreak.exp
 0691825d568e2b8c8099484f9ac82f09  gdb/testsuite/gdb.cp/chained-calls.cc
 7e04c112ec7d341d23fa88166b0cb311  gdb/testsuite/gdb.cp/ref-types.cc
-2f3d8d926e3f8a3ec01e7c4e52671702  gdb/testsuite/gdb.cp/namespace.exp
+b021813f87f4b5cb504dc89f19adf57d  gdb/testsuite/gdb.cp/namespace.exp
 0fae7af04c6348739e734ef7ca958212  gdb/testsuite/gdb.cp/nsrecurs.exp
 dfd599a055525639833fa6cc217db6ee  gdb/testsuite/gdb.cp/pass-by-ref.cc
 7c2c0135b054b70e554485200bae9f51  gdb/testsuite/gdb.cp/rvalue-ref-sizeof.exp
@@ -1642,9 +1582,11 @@ d03d41dc8518122514474ff084aafa83  gdb/te
 38c2263e684da777561e5a34382e3c70  gdb/testsuite/gdb.cp/try_catch.cc
 3392b4be32a4c703a94740abf585b834  gdb/testsuite/gdb.cp/cplusfuncs.cc
 7a03f7844defc712dd7b431b7153707f  gdb/testsuite/gdb.cp/cplabel.exp
+0401eb0345eb2bb65e8ab60be79e14a7  gdb/testsuite/gdb.cp/static-typedef-print.cc
 cdedb89c49197a9feba3befa4767722f  gdb/testsuite/gdb.cp/call-c-1.c
 90570185718826df2b49f4bc26bd6d97  gdb/testsuite/gdb.cp/typedef-operator.exp
 4195d3718293b642b8ead0ca9e2e1448  gdb/testsuite/gdb.cp/nsusing.cc
+ac2a18c9b77b30a46ee31345eb03776a  gdb/testsuite/gdb.cp/align.exp
 b53184950de5aeb07ebbf8a03cbfa2c1  gdb/testsuite/gdb.cp/demangle.exp
 9263a7293d75536bf4252d10bd57a3d3  gdb/testsuite/gdb.cp/rvalue-ref-overload.cc
 d6ed226431adc34de1f41f2c2bc2168a  gdb/testsuite/gdb.cp/overload.cc
@@ -1676,10 +1618,12 @@ c2ab30049551932138a19ba794e3c83f  gdb/te
 e1cc6f7e71ef95b8a97d49fdc365880b  gdb/testsuite/gdb.cp/enum-class.cc
 2f8080ea283d7cb2e48d06bb82d1b2de  gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp
 4a949ac82869a68bbd1c7fa7da899c83  gdb/testsuite/gdb.cp/paren-type.cc
+2ab48e67df18d6a334f13741ea0b677f  gdb/testsuite/gdb.cp/watch-cp.exp
 53d65c3b49d4d39b7a1c8ff6d68c8a65  gdb/testsuite/gdb.cp/method.cc
 8565e7e85bcc3a4642a57934defe34ff  gdb/testsuite/gdb.cp/ovsrch4.cc
 d3b57e70f0efc77c6da4cd107baad082  gdb/testsuite/gdb.cp/vla-cxx.cc
 f7821627773de318874d46372124a704  gdb/testsuite/gdb.cp/cpsizeof.exp
+1995153cf1225001eea2e0efb79f913f  gdb/testsuite/gdb.cp/subtypes.exp
 39b8e149659e089f6994a0d5c8ef58b8  gdb/testsuite/gdb.cp/formatted-ref.exp
 9ff272790d5147a2d388b8b8e33999d8  gdb/testsuite/gdb.cp/chained-calls.exp
 2088f98bb23167ea5e0c8b394c560519  gdb/testsuite/gdb.cp/annota3.cc
@@ -1689,11 +1633,13 @@ e199b291d994dfb2e79bdaa3df5836d0  gdb/te
 fc070314f3b13324e33246f667566650  gdb/testsuite/gdb.cp/pr-1210.exp
 d303ead03617efcd5440c7a87add591e  gdb/testsuite/gdb.cp/non-trivial-retval.cc
 74a7dbe8616c072646e2411a17ec8f4f  gdb/testsuite/gdb.cp/typedef-operator.cc
-d781b0545f45a0b6a680659cf967b498  gdb/testsuite/gdb.cp/typeid.exp
+a0679c4aa208326f5733b7be62fb54a6  gdb/testsuite/gdb.cp/typeid.exp
+486b707c3344e06b2a14166052b21be8  gdb/testsuite/gdb.cp/subtypes.h
 4a70f23d59e44703e97d963cc09631c8  gdb/testsuite/gdb.cp/ovsrch3.cc
 ad3049b957e19acaea42210d4133f147  gdb/testsuite/gdb.cp/exceptprint.cc
 4613783001d089b84452162b85d52d1b  gdb/testsuite/gdb.cp/classes.cc
 4160824cac74f57150e9df562c1edc29  gdb/testsuite/gdb.cp/pr10728.exp
+a20dfae141a1c1d0d42f6572188ca8ce  gdb/testsuite/gdb.cp/subtypes-2.cc
 042ba8c3125d27bbaafe663e1a374c6e  gdb/testsuite/gdb.cp/gdb2495.exp
 abd9415e2d51f9367a7e52784724d8d9  gdb/testsuite/gdb.cp/gdb2384.cc
 2073f045c78990789c6ea8e19affaf33  gdb/testsuite/gdb.cp/pr10728-x.h
@@ -1708,12 +1654,13 @@ d66479dd32dc4334b9df3bc66ac0965c  gdb/te
 e49a48d20b16f5371ec7865172998ad0  gdb/testsuite/gdb.cp/namespace-nested-import.exp
 8969e95b1bc201e41c18b42ec43c324c  gdb/testsuite/gdb.cp/readnow-language.cc
 df11cb1835074902da6a4d0ad539ef4a  gdb/testsuite/gdb.cp/namespace-enum.cc
-10e48970c927381e5a94b3596b9ab142  gdb/testsuite/gdb.cp/cplusfuncs.exp
+88c78900219a325490c767ecc332b2c7  gdb/testsuite/gdb.cp/cplusfuncs.exp
 c098e6c182aeec69088189f8640b48e3  gdb/testsuite/gdb.cp/pr10728-x.cc
 d995a1cf5b14fc0a3bf8f935ed35dc2f  gdb/testsuite/gdb.cp/printmethod.exp
 723aeaad63e0e4cca111b3e42d90097c  gdb/testsuite/gdb.cp/expand-sals.cc
 2426d2795fbefaf21366e9b4a7aed3ff  gdb/testsuite/gdb.cp/extern-c.exp
 a54c7a01e128551b8d37484a919778cf  gdb/testsuite/gdb.cp/minsym-fallback.h
+be0910b6441c40a0c0f074326ec888e6  gdb/testsuite/gdb.cp/typedef-base.exp
 727bfa94b7d35086e550e8b4f00ea09c  gdb/testsuite/gdb.cp/ena-dis-br-range.cc
 719f8adf38efd74f1800bf617e2e535b  gdb/testsuite/gdb.cp/exception.cc
 00769b46e1fdf62bbf1860c208c13b03  gdb/testsuite/gdb.cp/mb-inline2.cc
@@ -1751,6 +1698,7 @@ e2621729a15cd1120b93b1610c2f381f  gdb/te
 2088f98bb23167ea5e0c8b394c560519  gdb/testsuite/gdb.cp/annota2.cc
 17fb1915b57e6413c37582b24478e9a1  gdb/testsuite/gdb.cp/method2.exp
 f1ec8b6589fb68f8cff46b6517fd45f7  gdb/testsuite/gdb.cp/dispcxx.cc
+54cceca8d0050ac49b87937ee8542ea9  gdb/testsuite/gdb.cp/static-typedef-print.exp
 875f423d4f802f38d5cf1a90343c92b8  gdb/testsuite/gdb.cp/infcall-dlopen.exp
 621759375e450439da3543376a864f93  gdb/testsuite/gdb.cp/hang.exp
 48016340b2f75f1006a404a97ec238db  gdb/testsuite/gdb.cp/templates.exp
@@ -1776,6 +1724,7 @@ f6c6b08a4c146a14e7376fbfbfbf8462  gdb/te
 9448f2ea5f075c48e7f95315d08d3077  gdb/testsuite/gdb.cp/readnow-language.exp
 55183016eb9373121ab3550e1e3855fb  gdb/testsuite/gdb.cp/cpsizeof.cc
 15ef3b21df097bf2f4d1da662a05b5ff  gdb/testsuite/gdb.cp/formatted-ref.cc
+a2bec71176b1360d359ef892b2b70e41  gdb/testsuite/gdb.cp/watch-cp.cc
 140b3ad8fad4909f0eae90c6a29eec28  gdb/testsuite/gdb.cp/try_catch.exp
 e748c1a7bcb32dae45925a92fb033b45  gdb/testsuite/gdb.cp/nsdecl.cc
 a8634d01568abd755a8547e0bff8f765  gdb/testsuite/gdb.cp/non-trivial-retval.exp
@@ -1832,7 +1781,7 @@ eba25ae9051247fe9ab0d48c14afb612  gdb/te
 523ca7abec9db8a032cd8f769390d97c  gdb/testsuite/gdb.cp/anon-ns2.cc
 2d5a3f3b8c870b803e657d40ceae038e  gdb/testsuite/gdb.cp/pr9167.cc
 54d6353ac19132227879cd82ef048425  gdb/testsuite/gdb.cp/rvalue-ref-params.exp
-5a9ce60ef5ecc437b62d46143e5e1321  gdb/testsuite/gdb.cp/cp-relocate.exp
+cff2cde467a82620fe94c28c44968be9  gdb/testsuite/gdb.cp/cp-relocate.exp
 c312af87ed84bfcaa814329636b98c3a  gdb/testsuite/gdb.cp/temargs.cc
 36309bda9c1b96fc830f2183c4d9f3c5  gdb/testsuite/gdb.cp/rvalue-ref-params.cc
 529c45fdf1e28c6868f41e3cfeda4d3a  gdb/testsuite/gdb.cp/anon-union.exp
@@ -1840,9 +1789,10 @@ dcd9738a90b1dcf395813b67df6fe0ac  gdb/te
 2dd79086f7694ebe083f31b914405d36  gdb/testsuite/gdb.cp/pr10687.exp
 f7b661a51973cab1d33a24a6265126e7  gdb/testsuite/gdb.cp/wide_char_types.c
 d147f29e4035d7ebbaa76dd68918f2dc  gdb/testsuite/gdb.cp/m-static.cc
-75f347efc1e916dbf3f36b5c57855480  gdb/testsuite/gdb.cp/static-print-quit.exp
+cdf859b815a3407577845a16b5ec6191  gdb/testsuite/gdb.cp/static-print-quit.exp
 4c596abecc55f72fa649b1a9fc6db580  gdb/testsuite/gdb.cp/gdb1355.exp
 123a0dff68ea69341f2697d03e2e60a0  gdb/testsuite/gdb.cp/cttiadd.cc
+fc9b1546caea8abdd36558538ae8b938  gdb/testsuite/gdb.cp/typedef-base.cc
 2cbf94bd4795ba76ede2a549a4de3122  gdb/testsuite/gdb.cp/misc.exp
 ed1d421a8f63a4437e10cbaea81f92ca  gdb/testsuite/gdb.cp/expand-sals.exp
 099f7d8f4ab51bfe38243c1ba77e150a  gdb/testsuite/gdb.cp/ovsrch.h
@@ -1885,7 +1835,7 @@ d2ca9912c7225facc2791fa440af3e83  gdb/te
 3c9accc740671720cc675d2de1a09ebd  gdb/testsuite/gdb.cp/rvalue-ref-sizeof.cc
 0f6fa9809d7c5177192cd4364a3547de  gdb/testsuite/gdb.cp/nsnested.exp
 670802988499deb05309f8f73e62e0d3  gdb/testsuite/gdb.cp/shadow.cc
-80b38b073235d433e25ef31dabc4fe3e  gdb/testsuite/gdb.cp/filename.cc
+d47f0100d0649adc6d1e0a6ee2dd399d  gdb/testsuite/gdb.cp/filename.cc
 2d29be80ab2e1ab85c5d3a0faffc10bd  gdb/testsuite/gdb.cp/psymtab-parameter.cc
 548d7399a0b0774b61d99d5e07fb17e8  gdb/testsuite/gdb.cp/namelessclass.S
 c5d4c686908a0a30355684d215defdcd  gdb/testsuite/gdb.cp/meth-typedefs.exp
@@ -1903,8 +1853,9 @@ f05d57cb3044a1fa45926ae9fdd7de45  gdb/te
 de28a705c2ece829611f015aa519e070  gdb/testsuite/gdb.cp/templates.cc
 4b1557ca2d2d17c8b4a96bf9fd97960a  gdb/testsuite/gdb.cp/mb-templates.cc
 4ee100cafe94e6e0fca137ae067f2139  gdb/testsuite/gdb.cp/member-ptr.exp
-efd244e3169557bbd711d052b598a62d  gdb/testsuite/configure.ac
+5bb7c1a63ed010197bc437f8701d9050  gdb/testsuite/configure.ac
 81527fa82824fe2728482c07daa8608a  gdb/testsuite/README
+785552a49781997dcf704d07a8289455  gdb/testsuite/gdb.mi/mi-frame-regs.exp
 b6356c24ee75e2e014f04332144a1543  gdb/testsuite/gdb.mi/mi-console.c
 457feb8168c1f2f7cdd47fce1c1049a5  gdb/testsuite/gdb.mi/mi-catch-load.exp
 bbff496566f190853c0830bf572d6d95  gdb/testsuite/gdb.mi/gdb701.c
@@ -1931,24 +1882,24 @@ a8b0a13fcae6a0ccd5ce36e1ef85845c  gdb/te
 98990f277b6427ff3f56f7c3ec62ce64  gdb/testsuite/gdb.mi/mi-return.exp
 294fb7678b3c92f010ed02a3ab90efeb  gdb/testsuite/gdb.mi/gdb2549.exp
 26d49abdbd3c6ed32d8d240bf28312e3  gdb/testsuite/gdb.mi/nsmoribund.c
-d42da734adc905f913b7dfb645f2cb8e  gdb/testsuite/gdb.mi/basics.c
-db102b42b76b8a054c394486ecf3effd  gdb/testsuite/gdb.mi/mi-break.exp
+653a813d3fe94d0434550275139acffd  gdb/testsuite/gdb.mi/basics.c
+88096359336a10199f9b5fb2a4f12c53  gdb/testsuite/gdb.mi/mi-break.exp
 6cc764186f9d31e9ecc9d9766ed2ca4e  gdb/testsuite/gdb.mi/nsintrall.c
 f66cbc5e80c1115869bb9a14abdcb49a  gdb/testsuite/gdb.mi/until.c
 f895e545878194cfb0f494c78848be8c  gdb/testsuite/gdb.mi/pendshr2.c
 8d441e5c6d2d8d3b8791c410617b9e76  gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s
 609dcf46ddb88ada6d1e9d333cd6f34c  gdb/testsuite/gdb.mi/mi-vla-c99.exp
-5f55fdfb5176994b309491c85c247311  gdb/testsuite/gdb.mi/mi-start.exp
+79c0ee9d12d4b3bb18360bbc85cf89c5  gdb/testsuite/gdb.mi/mi-start.exp
 54d91b89c6e1956673cb23413a4d873b  gdb/testsuite/gdb.mi/vla.f90
 7b84987c5abb19f04b2539b5dc505429  gdb/testsuite/gdb.mi/mi-var-child-f.exp
-5b82758f8eb209f2fa9a410eaab43c98  gdb/testsuite/gdb.mi/mi-stack.exp
+a0e58fd037e685c50ad061b1d59d61dd  gdb/testsuite/gdb.mi/mi-stack.exp
 34bcd858bd492b592ca90a310d09861d  gdb/testsuite/gdb.mi/mi-var-list-children-invalid-grandchild.c
 2f0548378009f050eb4c6904ba217300  gdb/testsuite/gdb.mi/mi2-prompt.exp
 a636561b83f5699ffb52c79517fdfa73  gdb/testsuite/gdb.mi/mi-dprintf-pending.exp
 966fb70be9ca0040daab6b55abf50020  gdb/testsuite/gdb.mi/mi-inheritance-syntax-error.cc
 25e7a4c6167cfd1567f32d59e54880cd  gdb/testsuite/gdb.mi/mi-var-rtti.exp
 9100467c53c5b935dbad90e8298e63b6  gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp
-e01683c24942d813a960bb0747f48f2e  gdb/testsuite/gdb.mi/mi-reverse.exp
+a7b2588f481ccbe37c6422ce68482701  gdb/testsuite/gdb.mi/mi-reverse.exp
 73c5c1868b01d921936380994ace4113  gdb/testsuite/gdb.mi/mi-memory-changed.exp
 d9c98b522b93707b4eed78b8d233d298  gdb/testsuite/gdb.mi/mi-dprintf-pending.c
 d87e016f247b7b51f4929fd9b5f92c57  gdb/testsuite/gdb.mi/pending.c
@@ -1977,7 +1928,7 @@ fa229ddf3f487d5acff52f333f55877d  gdb/te
 dfb972c209c8b6e5edcad5606e79e0da  gdb/testsuite/gdb.mi/mi-file-transfer.exp
 6531854deb0f91bd1557ec0550dbeb84  gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp
 d15a3af965ad64b99043505e29cd901c  gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-st.c
-360528c893c68980288e0946d82f3b81  gdb/testsuite/gdb.mi/mi-exec-run.exp
+b5c2dfc5e2f5b64dd053c4851cd3c57b  gdb/testsuite/gdb.mi/mi-exec-run.exp
 82ac97c8fbb1761e25dd4350d777eff7  gdb/testsuite/gdb.mi/mi-solib.exp
 1efe6f6402cbf322cd8aa810521f4b17  gdb/testsuite/gdb.mi/ChangeLog-1999-2003
 3c2a165525bb681f0c3226fd39e7db43  gdb/testsuite/gdb.mi/gdb680.exp
@@ -1986,14 +1937,14 @@ d15a3af965ad64b99043505e29cd901c  gdb/te
 390b71abaadb0bc63494ec8f93b8bada  gdb/testsuite/gdb.mi/mi-var-cp.exp
 f14a3d5abc654aa00f5118ce65c21d86  gdb/testsuite/gdb.mi/new-ui-mi-sync.exp
 d12203e3f6b4b10ddb732cbfc4e88a5d  gdb/testsuite/gdb.mi/pr11022.c
-30356fe19c8ee03d519a5dcfcc84030e  gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c
+1d4cb5fed1dc965913ced136d281bb75  gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c
 77666687c4832eb026f37467622e5228  gdb/testsuite/gdb.mi/mi-until.exp
 908335b806460d76392f86c96b2108c1  gdb/testsuite/gdb.mi/mi-linespec-err-cp.cc
 a115aa597da405ca4b3f48d1723e236e  gdb/testsuite/gdb.mi/mi-async-run.exp
 7764a97135ab1107cf88d607474686d8  gdb/testsuite/gdb.mi/mi-console.exp
 9e689f0ddeecc19ad1b28ce1cc38d746  gdb/testsuite/gdb.mi/mi-stepn.exp
 74e73265c7b4e7dedb6dabe4719975e2  gdb/testsuite/gdb.mi/gdb792.exp
-976d8150672f4bfc4c18c05a6c0e7d60  gdb/testsuite/gdb.mi/mi-stack.c
+225b2c255a0e726709880a462259c306  gdb/testsuite/gdb.mi/mi-stack.c
 f9efbaca6854c09eb7440aeba0e16fbd  gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp
 6b58acbe5f1fe573c27b67f2e2a2fee1  gdb/testsuite/gdb.mi/testcmds
 aa3460ae76ac5701e091b98eba22a9b6  gdb/testsuite/gdb.mi/mi-read-memory.exp
@@ -2009,7 +1960,7 @@ aeb386b22cf2102690c5a7632e4def5e  gdb/te
 3ccae006381fbb801e7bc875482a7e5e  gdb/testsuite/gdb.mi/dw2-ref-missing-frame-main.c
 4d6507a911456fa0873eedbb850ea32b  gdb/testsuite/gdb.mi/mi-pending.exp
 268ad74c53b7703ed2943b3e852845a1  gdb/testsuite/gdb.mi/mi-var-invalidate.exp
-7220e069a5504b69dca3ec6619bf1b5d  gdb/testsuite/gdb.mi/mi-var-create-rtti.exp
+745e530b48d7911c89be3de7483e9bd4  gdb/testsuite/gdb.mi/mi-var-create-rtti.exp
 ab18d69051861124533f4dcce1e9d678  gdb/testsuite/gdb.mi/mi-exit-code.exp
 e452124b8859df34196fc42b4a0933f7  gdb/testsuite/gdb.mi/solib-main.c
 d189ab7493051a6c77bab64bf76fad74  gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.exp
@@ -2025,6 +1976,7 @@ dbbc722d6fc879331f21930eac220996  gdb/te
 47bb3dcbc5130ce997defd7daa927b12  gdb/testsuite/gdb.mi/mi-vla-fortran.exp
 899639c85173e0ff29fc715c63c53a1c  gdb/testsuite/gdb.mi/gdb701.exp
 5d039a76e33108e4d559cd1f709822b1  gdb/testsuite/gdb.mi/mi-watch.exp
+e066bfb3140deec1e3baa37437903900  gdb/testsuite/gdb.mi/list-thread-groups-no-inferior.exp
 f3f309f21fefbb81ef2489f1038b2f0f  gdb/testsuite/gdb.mi/mi-eval.exp
 320d038deb8fc922a43dc06b487fd373  gdb/testsuite/gdb.mi/mi-threads-interrupt.c
 c2cdffcb33c1dbb4a80ce8ec77a87041  gdb/testsuite/gdb.mi/mi-logging.exp
@@ -2045,7 +1997,7 @@ ca648b910af4ddd6aaa5bab8f84a187f  gdb/te
 f1fb485a5403bcea5faa4a899aac80fd  gdb/testsuite/gdb.mi/mi-editing.exp
 ad336c01737483e934b09e9e3c4e4f99  gdb/testsuite/gdb.mi/array.f
 70664b233cb9c16fb8322170ef7c9b20  gdb/testsuite/gdb.mi/mi-var-display.exp
-f83adbeadb5031ac14f17f75a436de18  gdb/testsuite/gdb.mi/mi-simplerun.exp
+8c60aaad20ee9efb293c0f42c95c19ae  gdb/testsuite/gdb.mi/mi-simplerun.exp
 fa3f625543ff399e8b2f6520a066f4d0  gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.c
 072c62e2a44fcdc8617cd990ad036c5f  gdb/testsuite/gdb.mi/dw2-ref-missing-frame.S
 befba378d762edd2a7c3edb8656ee434  gdb/testsuite/gdb.python/py-cmd.exp
@@ -2077,14 +2029,14 @@ dc879d53eb9d9935bd5647ea8d5b71cd  gdb/te
 e4c91e53cb722f6fbac153e573e2c63a  gdb/testsuite/gdb.python/py-bad-printers.py
 83ae9d63196d3473b1c74df577a29c3a  gdb/testsuite/gdb.python/py-symbol.exp
 c182777518933a284817ad06b45bd489  gdb/testsuite/gdb.python/py-shared.c
-c4470ba22122de90d0d73415b2a31e44  gdb/testsuite/gdb.python/py-parameter.exp
+d82680dc4ee8033d24e409210965e4a7  gdb/testsuite/gdb.python/py-parameter.exp
 37cea66234b91ea503126863df3e3c42  gdb/testsuite/gdb.python/py-sync-interp.c
 64191dd60ea87f77cca82036ae67f419  gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp
 da5803cf1c27cda73e6a4c6c89a71fc8  gdb/testsuite/gdb.python/py-recurse-unwind.c
 4b77b77294166f6cacc70f59bf2b34a9  gdb/testsuite/gdb.python/py-objfile.c
 570cbb920f92295fab4e42e8f8a5c368  gdb/testsuite/gdb.python/py-unwind-maint.c
 707c422ea8564efd49385683f05f1a38  gdb/testsuite/gdb.python/py-frame.exp
-c41c80ce4f34a6eb6c9254d0a7c1b0bb  gdb/testsuite/gdb.python/py-framefilter.py
+b0425cc61cd0f052bb78157df983a53d  gdb/testsuite/gdb.python/py-framefilter.py
 3da2788de14c01c0efc79b646abb7179  gdb/testsuite/gdb.python/py-value-cc.exp
 4bb1027a6978f442d74231ae1a73c86c  gdb/testsuite/gdb.python/py-section-script.exp
 baf6970a0a14f2c4afc34c30d59ae7a2  gdb/testsuite/gdb.python/py-pp-maint.c
@@ -2094,7 +2046,7 @@ ea9a13fbb993e01086f2d48433974457  gdb/te
 8660776814da525dfea2fb0ad8f27de6  gdb/testsuite/gdb.python/py-frame-args.exp
 e2c7b6035e388d2eb837cc374e1afa3d  gdb/testsuite/gdb.python/py-pp-re-notag.exp
 6a6f70b215f3956421a73e24b502316d  gdb/testsuite/gdb.python/py-pp-re-notag.py
-60588683668b693e1a235adfe285e425  gdb/testsuite/gdb.python/py-breakpoint.exp
+51f4864e2cb90c434b68df2ecbd36599  gdb/testsuite/gdb.python/py-breakpoint.exp
 78b2790ff3de4468c161bf0de1398779  gdb/testsuite/gdb.python/py-linetable.exp
 ff9bd6b4fac5ebb6aa137fbba1cfc1ba  gdb/testsuite/gdb.python/py-bad-printers.c
 2201fe232be56f834518596b4f09f9ce  gdb/testsuite/gdb.python/py-frame.c
@@ -2110,9 +2062,9 @@ c8a2face40062f069f943068c3279827  gdb/te
 7730949336b3f838bb24bd09c6532b1c  gdb/testsuite/gdb.python/py-explore.c
 8bac4bf3df260f255bbcdd01cf58d6a3  gdb/testsuite/gdb.python/py-explore.exp
 5597b0efc2f365690821b7b5665da795  gdb/testsuite/gdb.python/py-value.c
-d9e107b034aaf2a04a1c3f3cd103deb9  gdb/testsuite/gdb.python/py-prettyprint.exp
+641d14030d4184a38f5d87e683971ef6  gdb/testsuite/gdb.python/py-prettyprint.exp
 167ebf3f175a2b0442a6bc62e9562956  gdb/testsuite/gdb.python/py-unwind.c
-05e6adb95d1e51ffdfa295010d21f435  gdb/testsuite/gdb.python/py-type.c
+4c3f305d335c587a351126a98d17bce2  gdb/testsuite/gdb.python/py-type.c
 05e35dca3fd4bf82413e385f71a56949  gdb/testsuite/gdb.python/py-shared.exp
 967d2d025005f020b29b0461b8f94500  gdb/testsuite/gdb.python/py-unwind-maint.exp
 4b11ddd8a839e3ab347049fc8a3a0768  gdb/testsuite/gdb.python/py-pp-maint.py
@@ -2143,7 +2095,7 @@ fae95b6039bf715dd93efc5a46fc154c  gdb/te
 6a5989644c552c1b164efb679108371e  gdb/testsuite/gdb.python/py-framefilter.c
 a413267e2b9c1d51820eec39a950ea3c  gdb/testsuite/gdb.python/py-record-btrace-threads.c
 480760211ce20612108ccf9e6d49b038  gdb/testsuite/gdb.python/py-breakpoint-create-fail.c
-68769f3e037b9c612d7e556d10d9a551  gdb/testsuite/gdb.python/py-events.exp
+f43fdad7de0377576d580714780de834  gdb/testsuite/gdb.python/py-events.exp
 b7c45f99462d25c4e4351d9d241d7195  gdb/testsuite/gdb.python/py-recurse-unwind.py
 8167955ca6eef69b941aef4bf9099abc  gdb/testsuite/gdb.python/py-caller-is.exp
 23962af440bfe39427b5835a28a32ca8  gdb/testsuite/gdb.python/py-unwind-maint.py
@@ -2180,30 +2132,30 @@ b79464a6f8e9cb36c3fe44625fe0dba9  gdb/te
 2f9a93a99014bafedb5a7d09fc9db6f7  gdb/testsuite/gdb.python/py-mi-events.exp
 b2a229ba3275ed2ebd192f2d9fe66142  gdb/testsuite/gdb.python/py-arch.c
 34fba70e99a3f12a430b98a3dfd61c3c  gdb/testsuite/gdb.python/py-unwind.py
-cef43a46aafe8b46fc43304795d339cd  gdb/testsuite/gdb.python/python.exp
+19fc278a54162ab9847af483b17ad29d  gdb/testsuite/gdb.python/python.exp
 092b721433c9ba5d8e0cc4412510583b  gdb/testsuite/gdb.python/py-as-string.c
 04321243006911c16d21e42b476d67c5  gdb/testsuite/gdb.python/py-framefilter-mi.c
 bab5f7629a7af07b9caf10b8f613b622  gdb/testsuite/gdb.python/py-mi-objfile-gdb.py
-470a14fce43481813fc61def07a3d184  gdb/testsuite/gdb.python/py-framefilter.exp
+3ab3850ee015f1b5bc3152102c8611e1  gdb/testsuite/gdb.python/py-framefilter.exp
 89812a7dd920d3d11b9ce5a7059fd12f  gdb/testsuite/gdb.python/py-inferior.exp
 274d37f2fb7d584dbc8db4369a29bc1f  gdb/testsuite/gdb.python/py-strfns.c
 d01addc9be60cf5f5cc3911f9cb1c3dc  gdb/testsuite/gdb.python/py-template.exp
-9a9b5c0a4dd7f22ad257e13ce069acd3  gdb/testsuite/gdb.python/py-prettyprint.c
+f97c2a458e5ec9026090122c72989722  gdb/testsuite/gdb.python/py-prettyprint.c
 909e0b486ef35a95a021350cf4a33ffc  gdb/testsuite/gdb.python/py-pp-integral.py
 6c5cbecd71fb1ed42945737ab66f3b86  gdb/testsuite/gdb.python/py-completion.py
 36e60154e06fbb428a03e8cd795fc7c4  gdb/testsuite/gdb.python/py-pp-integral.c
 5e9582e1d9be662755a97b4c4e218933  gdb/testsuite/gdb.python/py-framefilter-gdb.py.in
 406eeb293a4090dfd848a596ba14b6b6  gdb/testsuite/gdb.python/py-breakpoint-create-fail.py
-8bda41ae54283c4521cb788ae8d4bf0d  gdb/testsuite/gdb.python/py-mi.exp
+23e0e002df5d6c7ea448fa0bd1b56c40  gdb/testsuite/gdb.python/py-mi.exp
 e92d3a12cb4c2cca92fe9bc812368e97  gdb/testsuite/gdb.python/py-function.exp
 8c9ba5bea2e81465bc9a71fc7e86f48a  gdb/testsuite/gdb.python/py-finish-breakpoint.c
 eac8839daf2183bb174b45931667392b  gdb/testsuite/gdb.python/py-infthread.exp
-819a97244abd3d9c4c107121c758925d  gdb/testsuite/gdb.python/py-type.exp
+ec287439eb40f83eaf11151c072bfd3f  gdb/testsuite/gdb.python/py-type.exp
 df7de8c90a3946de3d8173f24e83d067  gdb/testsuite/gdb.python/py-value.exp
-816e04420eef9c15abb9a5b64388a60d  gdb/testsuite/gdb.python/py-prettyprint.py
+369aad0590d0fdbb5af0784a7b409f3c  gdb/testsuite/gdb.python/py-prettyprint.py
 b08c3606b4c4a6d8c4cebe2ed21ee97b  gdb/testsuite/gdb.python/py-record-full.exp
 17ab441f246e3b4f1bb21670ee5ca4a6  gdb/testsuite/gdb.python/py-rbreak.c
-111798590ba488b22ad4ebcf5f7f6599  gdb/testsuite/gdb.server/server-kill.exp
+fa19ea498aa86cc3545f640874a0a872  gdb/testsuite/gdb.server/server-kill.exp
 b83c8391da68f1e641f679bf1eed5690  gdb/testsuite/gdb.server/transfer.txt
 22dc50ba02820f0db119da38d8c06793  gdb/testsuite/gdb.server/file-transfer.exp
 01cf214d81d3f98cbf02e9b05f76345a  gdb/testsuite/gdb.server/stop-reply-no-thread.exp
@@ -2259,8 +2211,8 @@ ca535ea8fdd437c6c199bf558c780b29  gdb/te
 24043997c822c16a1058c97dff838865  gdb/testsuite/gdb.base/range-stepping.c
 dc9e6c43ef7c3dea1025ad09fa90e993  gdb/testsuite/gdb.base/catch-gdb-caused-signals.c
 fe8747fb3ba9562977957c36b3406621  gdb/testsuite/gdb.base/unloadshr2.c
-4d16fd4729b32b98ba29c940f63270ac  gdb/testsuite/gdb.base/default.exp
-a197a5168166e99ca4cca1b9c767ffd8  gdb/testsuite/gdb.base/bp-cmds-continue-ctrl-c.exp
+8aef0b5ebe983d36269dbcf5b5c72c3b  gdb/testsuite/gdb.base/default.exp
+adf2fc9ce35330e7f4b0a6b54f2367d0  gdb/testsuite/gdb.base/bp-cmds-continue-ctrl-c.exp
 5c59f840fd501691072c20cb47bab686  gdb/testsuite/gdb.base/mips_pro.c
 e050c6598e440c8ed21e735a6fa1d81f  gdb/testsuite/gdb.base/so-disc-shr.c
 9c2138795e23e7ad0284302d5cda6cd5  gdb/testsuite/gdb.base/sigbpt.exp
@@ -2268,11 +2220,12 @@ e050c6598e440c8ed21e735a6fa1d81f  gdb/te
 f442863cb5c7ac0f13afd82a9ad644f2  gdb/testsuite/gdb.base/sigchld.exp
 a42f249dc006b96cbaea652aafe5447f  gdb/testsuite/gdb.base/gdb1555.c
 cf5efed72254195bb527e46326f55145  gdb/testsuite/gdb.base/call-sc.exp
-0adb24660d3519ce2315c0f29f440f87  gdb/testsuite/gdb.base/gnu-ifunc.exp
+a5aa4b2d9c52a07ec4ac9a37df214960  gdb/testsuite/gdb.base/gnu-ifunc.exp
 f356ff50643e59000ef3d9f24089698b  gdb/testsuite/gdb.base/psymtab2.c
 a6d8db5660813406747018c43dd6037a  gdb/testsuite/gdb.base/hbreak2.exp
 8584c1774140fc816bfaba18d2cdcaa8  gdb/testsuite/gdb.base/ctxobj-v.c
 f1e10728ecfd4924fecc199ae29e8022  gdb/testsuite/gdb.base/continue-after-aborted-step-over.c
+75725b16e64b47904b69382ad7f6bde1  gdb/testsuite/gdb.base/fork-print-inferior-events.c
 7111d6592c25b57cf4b84e9795230240  gdb/testsuite/gdb.base/type-opaque-main.c
 d426e820c95bbbd6d843e8e06eefc895  gdb/testsuite/gdb.base/annota-input-while-running.c
 3f9b1536d81aae4cb1f5880432b828f1  gdb/testsuite/gdb.base/paginate-execution-startup.exp
@@ -2283,7 +2236,7 @@ d426e820c95bbbd6d843e8e06eefc895  gdb/te
 f16bac855b9a54c780e62e8fa2aa08b4  gdb/testsuite/gdb.base/ptype.exp
 3a160ae31898b67330c76e5f052d99d4  gdb/testsuite/gdb.base/code_elim2.c
 78e5943d56b5a904e2e29e51749312ed  gdb/testsuite/gdb.base/lineinc.c
-98cf09ed58979992d8c22c548b0375bc  gdb/testsuite/gdb.base/commands.exp
+d20c56ddd4a2db03c117488f062b36d4  gdb/testsuite/gdb.base/commands.exp
 269d7c097ad6d870804169818a12ab88  gdb/testsuite/gdb.base/bfp-test.exp
 c8ccdc0bf6c8f55bb342453b5d0848b0  gdb/testsuite/gdb.base/solib-search.c
 40f322e463ff6c7bb13ec4dbed59c1c2  gdb/testsuite/gdb.base/label.exp
@@ -2303,7 +2256,8 @@ dd77696827b7ff807cae6f2d264e2f92  gdb/te
 dfaa3efaa2e465349675b75c85bd7a4d  gdb/testsuite/gdb.base/shmain.c
 0ccf5b14d2eb67e90084f611b5e4e03a  gdb/testsuite/gdb.base/dmsym.exp
 a41e96acb6ee5085446de137e373681c  gdb/testsuite/gdb.base/inferior-died.c
-1ed80e4f14068f58435c04331075bb7c  gdb/testsuite/gdb.base/info-proc.exp
+e4a292398144580ff7b153c7c93b3e47  gdb/testsuite/gdb.base/info-proc.exp
+5186a00504c1568b26de04b46edc2aea  gdb/testsuite/gdb.base/load-command.exp
 7917f3d1ef819aadd582ec98629d7563  gdb/testsuite/gdb.base/debug-expr.c
 dbe16cde5e4fa2dbf419099683e389a7  gdb/testsuite/gdb.base/paginate-inferior-exit.c
 fadb717d72b9f5ce2c8efd09ea299b3e  gdb/testsuite/gdb.base/skip-solib-main.c
@@ -2320,6 +2274,7 @@ af6f9e427bb3d09aa6033ec64aec8775  gdb/te
 2ea119dea6b7915de5e2942e96db927d  gdb/testsuite/gdb.base/relational.exp
 26bdfe7d84293d3b020d89974107414f  gdb/testsuite/gdb.base/random-signal.exp
 4384323c35a42c2c7af74809b94ff1c9  gdb/testsuite/gdb.base/sepdebug2.c
+069a15e737d50538d066a20494a4d747  gdb/testsuite/gdb.base/finish-pretty.c
 0f1b8fd72f692e8a603c66163877fe33  gdb/testsuite/gdb.base/wrong_frame_bt_full.exp
 3764973c71d5aa701031b4e66fd276d3  gdb/testsuite/gdb.base/shreloc.c
 df694aa9bac76d9decd59fd17ee641f3  gdb/testsuite/gdb.base/solib-weak.exp
@@ -2327,7 +2282,7 @@ ee510b56bcba7db085c1fa3a56f5cb91  gdb/te
 83b4147d5cfab4b94796513c48e2ce03  gdb/testsuite/gdb.base/watchpoint.c
 35537c316760c5f93256640ba8b1dca5  gdb/testsuite/gdb.base/all-architectures-0.exp
 34d68065acea1338769a2e835da830c4  gdb/testsuite/gdb.base/max-value-size.exp
-9c1515948a667a9c3458c11aca886a55  gdb/testsuite/gdb.base/attach-wait-input.exp
+126fdfea907a47770542e39a71999ccf  gdb/testsuite/gdb.base/attach-wait-input.exp
 d930d95798ef32da89d7e877db5f8b00  gdb/testsuite/gdb.base/gnu-debugdata.exp
 a81453302d2f7eef365f40c4385d2287  gdb/testsuite/gdb.base/cond-eval-mode.c
 c8a21265f9320574987acb9a0dc40856  gdb/testsuite/gdb.base/catch-fork-kill.exp
@@ -2345,7 +2300,7 @@ fa05183f7699f3f8560fac2a309f7688  gdb/te
 c059c824a5d26df8faf5daed8c86e06e  gdb/testsuite/gdb.base/condbreak.exp
 47f50b6928b5367cf31b78ef786694d9  gdb/testsuite/gdb.base/dso2dso-dso1.h
 4a203b349ff3b5e574f33515601cdd0d  gdb/testsuite/gdb.base/print-file-var.exp
-091bbdbc0ea142c418da7aa53e546f39  gdb/testsuite/gdb.base/testenv.exp
+dc640bce0e1f4a3d1aa15417cd7f1988  gdb/testsuite/gdb.base/testenv.exp
 79b222d4aace51962c4e44c326f85646  gdb/testsuite/gdb.base/jit-simple-dl.c
 b1f393c58c23d9f3de345c561864144e  gdb/testsuite/gdb.base/break-probes-solib.c
 8e730d4cabc338f1f76259d676d7191c  gdb/testsuite/gdb.base/ending-run.c
@@ -2356,7 +2311,7 @@ bc94dc1f1e2f94d887489b70b6deaf10  gdb/te
 bd0008fe2ef225dda91bf6794ebd8968  gdb/testsuite/gdb.base/printcmds.c
 db97f4e676049f55f2cd9f66bd551d23  gdb/testsuite/gdb.base/nodebug.exp
 35ce0d1e8a6cc6a278649ec7464d8a1c  gdb/testsuite/gdb.base/m32rovly.c
-4e9486ea308573f18d9feb816603714a  gdb/testsuite/gdb.base/float128.exp
+9763b63e1e6497b6cf8ef9294afd9bf9  gdb/testsuite/gdb.base/float128.exp
 a60fa210a0d632e759464de80fb969d2  gdb/testsuite/gdb.base/bfp-test.c
 1ab3f3319b4e70de8f4ea3b7580f59b9  gdb/testsuite/gdb.base/value-double-free.c
 33e437b401037e2ffa3fa8791207d103  gdb/testsuite/gdb.base/breakpoint-shadow.c
@@ -2382,6 +2337,7 @@ f2ccb324547161a8fb4c70c8e14212ae  gdb/te
 bfc42c74e0d455982274207f9c4396c2  gdb/testsuite/gdb.base/step-over-syscall.exp
 22ae491fbe4d89980f9a96e8ab250a49  gdb/testsuite/gdb.base/prelink.c
 6a760f6d1c7337bb44373067c647dc7c  gdb/testsuite/gdb.base/break-caller-line.c
+8ac5c6fa9ef3aa1214132e9587bc86f1  gdb/testsuite/gdb.base/align.exp
 d3e164c5201d089158c5201b51881fb1  gdb/testsuite/gdb.base/watchpoint-solib.exp
 792ed147b0f30c0ef162d9aab4c769bd  gdb/testsuite/gdb.base/wrong_frame_bt_full-main.c
 f94b8a5d2a90f549a627dd7e7183c882  gdb/testsuite/gdb.base/async.exp
@@ -2390,18 +2346,19 @@ a7eec13082c0bf5a6bcf3bea3e8f143c  gdb/te
 ac0b4b74bdc306ec71b88d83a0cd608a  gdb/testsuite/gdb.base/scope1.c
 559501814763dfbffd0ca16b81f98667  gdb/testsuite/gdb.base/call-sc.c
 a4ee5f8b6f114af4350ab2c4a700ba51  gdb/testsuite/gdb.base/nodebug.c
-28a2ffe5238a01247af4b4476967144e  gdb/testsuite/gdb.base/callfuncs.exp
+5988a7d4e0543f18c36402bc399842e5  gdb/testsuite/gdb.base/callfuncs.exp
 19b3eb6d7997cc32a6fea73fb479d097  gdb/testsuite/gdb.base/shreloc.exp
 937f5346b12b1baa61dec5a68c9c0dfd  gdb/testsuite/gdb.base/shell.exp
 1ae32c3808518cdac02dc902ab97e421  gdb/testsuite/gdb.base/fileio.exp
 434ec326279f868212873b903928e33f  gdb/testsuite/gdb.base/eval-avoid-side-effects.exp
 7a2e68e0ae300b722ff1f9182ee9ffa8  gdb/testsuite/gdb.base/libsegfault.exp
 f2bdf62be5bc47ff8e7fb5d62c94d96e  gdb/testsuite/gdb.base/longjmp.c
+0943ec3087b42716c606c7d4aa24c7b8  gdb/testsuite/gdb.base/infcall-nested-structs.exp
 734a6b73a489089fedbf7cfdd5918e5f  gdb/testsuite/gdb.base/break-fun-addr2.c
 02d076f2a32831a03ef4718b2a3484d5  gdb/testsuite/gdb.base/break.c
 9dc6d837228f76b47770e2dd33751e79  gdb/testsuite/gdb.base/dprintf-bp-same-addr.c
 279e3c462aa4674da982eb9ffaeae1d4  gdb/testsuite/gdb.base/freebpcmd.exp
-40fb3df64e7110afb0ab1aa3089d4e56  gdb/testsuite/gdb.base/solib-nodir.exp
+2b488f48d293f46dcd8e0a68c6dbeea2  gdb/testsuite/gdb.base/solib-nodir.exp
 18a49ceae996869f718980356f5f6b45  gdb/testsuite/gdb.base/shreloc1.c
 2b5d03f1f35f54fea7ef896b5eda0b62  gdb/testsuite/gdb.base/all-bin.exp
 bbe9e64e1a19ea8dfa7ed573a4ff9fe4  gdb/testsuite/gdb.base/dprintf-non-stop.exp
@@ -2410,7 +2367,7 @@ ad95e389ef053e223688a960ae1b976e  gdb/te
 9b5b0515529a1b3564a4d1859ba48fa2  gdb/testsuite/gdb.base/arrayidx.exp
 6329b9e77048df4614a0662256af11bf  gdb/testsuite/gdb.base/exec-invalid-sysroot.exp
 c44ac774ba6450a7a4d5281045237741  gdb/testsuite/gdb.base/skip.c
-5a9d0fd418fa96141b8059846962b069  gdb/testsuite/gdb.base/gnu-ifunc.c
+c19adba2087b79a3a81480c23762655b  gdb/testsuite/gdb.base/gnu-ifunc.c
 1ef6d81a5cb325f03a8bc8b9f16aee5c  gdb/testsuite/gdb.base/step-line.c
 1950169ac6656b75c362b92655a94c28  gdb/testsuite/gdb.base/eu-strip-infcall.exp
 0ec0fd38c5738f5f6afd53cf115d80b6  gdb/testsuite/gdb.base/jitreader.c
@@ -2420,7 +2377,9 @@ b4d58c46e895e2d9ca2656e0ea946788  gdb/te
 1bd5d1d18a07c3175751fe906969a7e8  gdb/testsuite/gdb.base/del.exp
 94c1f1818c9234b5e8e7669b457865c1  gdb/testsuite/gdb.base/bar.c
 3763ed10f78d56270fd9da2d68afae5b  gdb/testsuite/gdb.base/condbreak-call-false.exp
+44b0a4d7d3e32ba213f879c45282786d  gdb/testsuite/gdb.base/break-include.c
 bcf98ae49666b2491320696f84c08091  gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp
+f0c311bceb9c8bf38fd718050a01d700  gdb/testsuite/gdb.base/pie-fork.c
 be61e3b4141cbb9e55ae8024e0ef8c5e  gdb/testsuite/gdb.base/info-macros.exp
 c853a7d1530ae109642070857a342732  gdb/testsuite/gdb.base/source-test.gdb
 d0d1e505656535b56be9bef832b9ae35  gdb/testsuite/gdb.base/jit.exp
@@ -2433,11 +2392,15 @@ d47cf600366a984537fe500bf1b0e33e  gdb/te
 394d2d80cb1bc3bb200f19af2bd1e786  gdb/testsuite/gdb.base/all-architectures-7.exp
 5cf16d65e567e5c1e49c54ab76b37931  gdb/testsuite/gdb.base/set-lang-auto.exp
 fa46c2035b7f098f667b4193baa06463  gdb/testsuite/gdb.base/relocate.c
-662a2307a93c4e0af5b9f293185a4ff8  gdb/testsuite/gdb.base/ending-run.exp
+7f8619762f9a983daae4f614892334b1  gdb/testsuite/gdb.base/solib-vanish.exp
+f1b2638acab73aa80f95350d79438f7d  gdb/testsuite/gdb.base/ending-run.exp
+3178b2c36c6e72244b0a4b6bc21a1fa2  gdb/testsuite/gdb.base/solib-vanish-lib2.c
+d41ee6fa729b5d1fc600ed3c48fb8318  gdb/testsuite/gdb.base/infcall-nested-structs.c
 87c9f5415fc431df48693b311962f567  gdb/testsuite/gdb.base/bigcore.c
 f7aec7811932b17ea2e12b59c13e377e  gdb/testsuite/gdb.base/ovlymgr.c
-bb68b7a9e2ea86c61b87a23bbbdeecff  gdb/testsuite/gdb.base/maint.exp
+3ad01ab45b8ea047d56801cc041d6b30  gdb/testsuite/gdb.base/maint.exp
 beb7ddd8ac440e541b4ff7458987281f  gdb/testsuite/gdb.base/ovlymgr.h
+cfa2ae62efd35e0acd2cb4b48fc8c944  gdb/testsuite/gdb.base/bt-selected-frame.c
 c8b0f409b3a7713f368e4fc3bb2f4bb3  gdb/testsuite/gdb.base/symtab-search-order.c
 0200e761766b00aa7cdfe37e5f53f7dc  gdb/testsuite/gdb.base/dso2dso.c
 0bdfe1199c6b6261c28ec4b9ef69dd7b  gdb/testsuite/gdb.base/max-value-size.c
@@ -2470,7 +2433,7 @@ a3c8f90749ee636396d79c26f2f90832  gdb/te
 e10013124faa15c2476bcdccf7aebee7  gdb/testsuite/gdb.base/dfp-test.c
 997439d0dfbb867e696ac97b65a5a75e  gdb/testsuite/gdb.base/complex.exp
 626c794974f87d87163c421baa69e795  gdb/testsuite/gdb.base/gdb1056.exp
-d683638671141e5053b86fe3a22ece3d  gdb/testsuite/gdb.base/info-fun.exp
+e65d1c5b04a52c787fa7b452b5db376d  gdb/testsuite/gdb.base/info-fun.exp
 3c2bb9073c65e020ac9cf1e98d004c2c  gdb/testsuite/gdb.base/charset.c
 e1983f666ea7a57a4baf53dd35d245e4  gdb/testsuite/gdb.base/list.exp
 2beca99741280af8a3855954b4e321f4  gdb/testsuite/gdb.base/dump.c
@@ -2483,6 +2446,7 @@ e132a0bda6a789c75e20e8d4eb4ebc02  gdb/te
 488ec9907a75121996c89bd31c1ed108  gdb/testsuite/gdb.base/jit-so.exp
 fdf2fb59b31db72cc3eec9bc60581683  gdb/testsuite/gdb.base/dfp-test.exp
 1ab676f89720f82fd363860eb9500c54  gdb/testsuite/gdb.base/watchpoint-hw.c
+5bd70d34a952071c7f15d0cbb22269b1  gdb/testsuite/gdb.base/load-command.c
 c70ee96e30791c96d02c4ca232afbaa3  gdb/testsuite/gdb.base/all-architectures-3.exp
 c5e42696a1baa3e9d383feff0eaeb873  gdb/testsuite/gdb.base/solib-corrupted.exp
 6eb06f8d107413d0ea32a45dd07da527  gdb/testsuite/gdb.base/arrayidx.c
@@ -2496,7 +2460,7 @@ dbe16cde5e4fa2dbf419099683e389a7  gdb/te
 6c255aedcc7f1fa6fd6dfd826f5aff3a  gdb/testsuite/gdb.base/print-symbol-loading.exp
 dc1c7b2d0d97de5e07f0046fca14d586  gdb/testsuite/gdb.base/macscp4.h
 03cd8a7220c7c731924883551751b711  gdb/testsuite/gdb.base/jithost.h
-5f18a4a079e3d2245c4c55a98a030c14  gdb/testsuite/gdb.base/statistics.exp
+e0a67dfd8745bc3256a8dec70828b0ff  gdb/testsuite/gdb.base/statistics.exp
 a2677d45b71340a97fc8eed845ff2742  gdb/testsuite/gdb.base/bad-file.exp
 76dce0beef21d3d957880d886b24562c  gdb/testsuite/gdb.base/recpar.exp
 94dfe0ac99a60753659f25d17a7ff61d  gdb/testsuite/gdb.base/new-ui-echo.c
@@ -2524,7 +2488,7 @@ ce57082c514592635d73756effb5f365  gdb/te
 b4816e4b91e99aa3e905b5d44802e907  gdb/testsuite/gdb.base/spu.ld
 93e084ab4c5f0d8e8f208ea6cb98cd56  gdb/testsuite/gdb.base/async.c
 c872035cb6bad0569d75a4b1338971e9  gdb/testsuite/gdb.base/break-idempotent.c
-c1fc872954e753947ccf31dc0a0de53d  gdb/testsuite/gdb.base/pc-fp.exp
+c5b1448360292ca1ebfac83d7d91d775  gdb/testsuite/gdb.base/pc-fp.exp
 58b3c85c04a67e2f591f31d5130284da  gdb/testsuite/gdb.base/hook-stop.c
 324d117ec3fbf473e63824ed32406a6f  gdb/testsuite/gdb.base/dso2dso-dso1.c
 fe71e6fadf6a787230679e13360623ff  gdb/testsuite/gdb.base/gdb1250.c
@@ -2545,15 +2509,17 @@ ed76d360edf7776406d6b7bb8984dce2  gdb/te
 b3f4226bf88bf2c74b64b955983dfd56  gdb/testsuite/gdb.base/catch-load-so.c
 ee510b56bcba7db085c1fa3a56f5cb91  gdb/testsuite/gdb.base/run-after-attach.c
 0e39ba3b836129e04ae18e3c258e349e  gdb/testsuite/gdb.base/line-symtabs.h
+2a4158c13559c33a0b4cee9158887999  gdb/testsuite/gdb.base/break-include.inc
 935668abc5388a1413e121f20c42af33  gdb/testsuite/gdb.base/huge.c
+65b1482dae1ca1d064f7bbb478dde3d3  gdb/testsuite/gdb.base/c-linkage-name.c
 d25a154d5ca2cae8488866ef816fe006  gdb/testsuite/gdb.base/foll-exec-mode.exp
 b7dca1721507a79d51c1b01fdd75a4b1  gdb/testsuite/gdb.base/solib-disc.exp
 9b4610c716036fb0b14b553e268674f8  gdb/testsuite/gdb.base/step-over-exit.c
-4f3d5f2d58e83404506626f50215d282  gdb/testsuite/gdb.base/page.exp
+7cd03a019c1c0b4e5a1b48f5bda2288a  gdb/testsuite/gdb.base/page.exp
 763b0decdd76fb60b9fd27c6f5f58cf7  gdb/testsuite/gdb.base/sep-proc.c
 256625bcc48a090ec4e5b85d1affa9bc  gdb/testsuite/gdb.base/macscp2.h
 2b49d8ce2aa73864bca09ba0dac729e7  gdb/testsuite/gdb.base/dtrace-probe.c
-0593dbf3c0f2f1dcdf944a34d318a8bf  gdb/testsuite/gdb.base/attach-pie-misread.exp
+1dabc589a9e08aa6b7940e1fd70e6200  gdb/testsuite/gdb.base/attach-pie-misread.exp
 a97df7432f663186ac6f11950b41bd91  gdb/testsuite/gdb.base/gdbindex-stabs.exp
 2d9a17f285e724772076fcf4f8f46e1d  gdb/testsuite/gdb.base/readline-ask.c
 58a5b7104159846f0ed42f5c01c807d6  gdb/testsuite/gdb.base/sect-cmd.exp
@@ -2582,7 +2548,7 @@ c2aaa7baad9c0b4f01d6162d969913e5  gdb/te
 dcb1fb60c149fe711460df1c7af83cb7  gdb/testsuite/gdb.base/scope0.c
 517f5cc53dd50ac3059bcb2ba4ba6441  gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp
 278b715006b5ecb4d04b37e400775d44  gdb/testsuite/gdb.base/gcore-relro-pie.exp
-5111fbe876e49e9b2bc3a35cc99e6010  gdb/testsuite/gdb.base/catch-syscall.exp
+4a498f9ebf435315c3ed224ab85ecd58  gdb/testsuite/gdb.base/catch-syscall.exp
 a25301c88ae30eab32003a997677c074  gdb/testsuite/gdb.base/gdb-sigterm.exp
 0362094e9a852e144df75861c45bc834  gdb/testsuite/gdb.base/ctxobj.exp
 41c1e0116b1d4b65962caa42b1572457  gdb/testsuite/gdb.base/structs2.exp
@@ -2590,14 +2556,16 @@ a25301c88ae30eab32003a997677c074  gdb/te
 e12b69f99fd2d1dadbadcca16104d658  gdb/testsuite/gdb.base/call-strs.exp
 6c719b05039cd1a58923ca2d0dc58302  gdb/testsuite/gdb.base/watch-cond-infcall.exp
 246912b4a24edf28c2896b2b0581372b  gdb/testsuite/gdb.base/args.c
+1d34df5593443fdbf6b9b4508d92cb55  gdb/testsuite/gdb.base/solib-vanish-lib1.c
 2ad719ad7030c1259c3a673ce655e0b8  gdb/testsuite/gdb.base/arithmet.exp
 35e1bdbfd4b50a1d534adad4b13f61dc  gdb/testsuite/gdb.base/siginfo-addr.exp
-d3bdc0efc5acba886c500e19de228acb  gdb/testsuite/gdb.base/relocate.exp
+a77b4ae509a8ce455b5878b6d69357c1  gdb/testsuite/gdb.base/relocate.exp
 a434ae6a4ef10faad4b0e1f316b74cc1  gdb/testsuite/gdb.base/execution-termios.exp
 2c5d72d6d3e2dc40ce8f4c55e0b9e276  gdb/testsuite/gdb.base/gdb-sigterm.c
 1fb90dab0bcde2cda5abb53bd96726f7  gdb/testsuite/gdb.base/symbol-alias.exp
 b504da044a745f479083a3ea26aa1abf  gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp
 0c30ff904d7950c94f46c998f834d0bd  gdb/testsuite/gdb.base/call-ar-st.c
+97d3b2b5ca73b88ef36357fc998543fc  gdb/testsuite/gdb.base/interrupt-daemon.exp
 35ce0d1e8a6cc6a278649ec7464d8a1c  gdb/testsuite/gdb.base/d10vovly.c
 9ffc2cd8e384888785a57bd5ed8168d2  gdb/testsuite/gdb.base/step-test.c
 3cfe1044f23949591378bb630da2491b  gdb/testsuite/gdb.base/vdso-warning.exp
@@ -2630,11 +2598,12 @@ d70b7be050d1117cb3f27bba4ec0b1ac  gdb/te
 dd1be460a7a2f52d0cbfe8096c0f452c  gdb/testsuite/gdb.base/attach-pie-misread.c
 4aba2ad3cd734804d2aacab98692080f  gdb/testsuite/gdb.base/assign.exp
 6527b2cd81d5f01ab4364e541a0165bb  gdb/testsuite/gdb.base/double-prompt-target-event-error.c
-a32a3653e0552f98666d9e1341775c6c  gdb/testsuite/gdb.base/gnu-ifunc-lib.c
+41fc4de4322393bb40663d1f7755ebd0  gdb/testsuite/gdb.base/gnu-ifunc-lib.c
 1aa475481a3977d2a2ae9b8c2ac638c6  gdb/testsuite/gdb.base/structs.c
 e931cb549694938c03fe58bf4ce76a02  gdb/testsuite/gdb.base/watchpoint-delete.c
 ed4142ef01b58068112ef00c751e3915  gdb/testsuite/gdb.base/breakpoint-in-ro-region.c
-a7a5f735b9210ef6f79571bd904910b1  gdb/testsuite/gdb.base/break-probes.exp
+188f59cc16166db2452434d4a5144098  gdb/testsuite/gdb.base/break-probes.exp
+bb45d805de4f32b0426c0e4b905539b5  gdb/testsuite/gdb.base/solib-vanish-main.c
 8f7460488ecad8ee7bef5fa62d76e11a  gdb/testsuite/gdb.base/segv.c
 7d53d6061215917623e42ecac9d25815  gdb/testsuite/gdb.base/scope.exp
 c92da4ddaf09dad99a2345000bdff2fb  gdb/testsuite/gdb.base/symtab-search-order.exp
@@ -2644,9 +2613,10 @@ da495878075eaff4f08489f40ea05108  gdb/te
 ba63e6165ed41f98892fdfd48e29d70d  gdb/testsuite/gdb.base/share-env-with-gdbserver.exp
 068662a17a200155a3aa1dc0a8047be4  gdb/testsuite/gdb.base/checkpoint-ns.exp
 1a16df1958dabe42efdba6a2265a5343  gdb/testsuite/gdb.base/return2.exp
-c6b9ebe980d6d9c3c97735f97edf8d2f  gdb/testsuite/gdb.base/attach-non-pgrp-leader.exp
+4de0581feb4b1910234c7f8bc6766825  gdb/testsuite/gdb.base/attach-non-pgrp-leader.exp
 61c37ecf1a0d247319b92ea7df7cb2f1  gdb/testsuite/gdb.base/jit-main.c
 e3b70dc9c792e2fd5ac6a0e0dd6188d2  gdb/testsuite/gdb.base/included.h
+c3619c213cd6cbfb4eb1195a34fa47ad  gdb/testsuite/gdb.base/interrupt-daemon.c
 3540dcf2c4d19fe0b08df255e6af490f  gdb/testsuite/gdb.base/dmsym_main.c
 1e5db2744d7f65ceb5163f0acbb79ea8  gdb/testsuite/gdb.base/interrupt.exp
 708c8245444f840a51929920bdffc9b5  gdb/testsuite/gdb.base/interact.exp
@@ -2654,7 +2624,7 @@ e3b70dc9c792e2fd5ac6a0e0dd6188d2  gdb/te
 07700364b17bf7a0834c93f78d2376f6  gdb/testsuite/gdb.base/savedregs.exp
 ac5e7a644eae911613d7ee897c8bb9e2  gdb/testsuite/gdb.base/enumval.c
 5dfb9d56fef06bdea0ae48bccf9c9859  gdb/testsuite/gdb.base/charset.exp
-a50fec68f50f1d5a59aed4475717e7bf  gdb/testsuite/gdb.base/printcmds.exp
+b9c09b27e2c9f7062e29f23895df2d6b  gdb/testsuite/gdb.base/printcmds.exp
 dbfcac0e69a636942e22be1a7504cddc  gdb/testsuite/gdb.base/sizeof.c
 25b56adcf6e30469a373e84ebbb64c15  gdb/testsuite/gdb.base/catch-fork-kill.c
 fbd3bb81803b8b751d3ccb1c7a17776d  gdb/testsuite/gdb.base/hbreak.exp
@@ -2675,16 +2645,16 @@ cc73eb7951662aabb85954b1f57b055a  gdb/te
 478f46527a5c5c05196961003788ee6f  gdb/testsuite/gdb.base/watchpoint.exp
 7795f27d3493b8a545e87cd368380b65  gdb/testsuite/gdb.base/skip-solib-lib.c
 ecbf71781f59411b71debb9a18da178e  gdb/testsuite/gdb.base/dtrace-probe.exp
-318bdbff360710e6d6026adcbcdf6b1b  gdb/testsuite/gdb.base/jit-reader.exp
+e9c7db505e39be36609a79a71147c86b  gdb/testsuite/gdb.base/jit-reader.exp
 a3bbbaaebe1bd4168a37b11c401b3109  gdb/testsuite/gdb.base/call-rt-st.c
-f69cf856ab4dc12a3c7c527158396631  gdb/testsuite/gdb.base/fork-running-state.exp
+6364a7b472c748b881c4ce4efa5ff96b  gdb/testsuite/gdb.base/fork-running-state.exp
 db0033eef28ed6cbd84e138e8f69fcbf  gdb/testsuite/gdb.base/gdb11531.c
 99966f0ace976f0526110721baf06163  gdb/testsuite/gdb.base/siginfo.exp
 ae5fe835dcb05c3e3aae72c884942c62  gdb/testsuite/gdb.base/source-execution.gdb
 60ff9e612779de28c159346dd7ae161f  gdb/testsuite/gdb.base/noreturn-finish.c
 6e76135a189f4bfc2539adab87f82cc2  gdb/testsuite/gdb.base/double-prompt-target-event-error.exp
 ad3aa8fac7b6c7ec943411b9ef335680  gdb/testsuite/gdb.base/new-ui.c
-591de289d622c0e25578c270fed06b41  gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp
+7315b37f0d6b70a2e0da4e86a4f46c3b  gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp
 9d578b1cbce61f9e8374a8538e3cc4c7  gdb/testsuite/gdb.base/del.c
 5c6c88e6c9bdb68bd97e92571cc1bb1d  gdb/testsuite/gdb.base/varargs.c
 066591320c6f44612d0f819117e9ef7f  gdb/testsuite/gdb.base/realname-expand.c
@@ -2695,7 +2665,7 @@ c9070912be787c0196dce29c717dbcb5  gdb/te
 2e9dc2e273b7b2bd6e1b4f34658df1ae  gdb/testsuite/gdb.base/long-inferior-output.c
 c90e022fb5ef3df8a5639df233f9c350  gdb/testsuite/gdb.base/langs2.cxx
 b00d72a1028c80c0717cf68982c447e2  gdb/testsuite/gdb.base/signest.exp
-7eaa776a9d0147778faba0a8399c6106  gdb/testsuite/gdb.base/info-shared.exp
+0dee812036c43c2faf8f8085368f60a4  gdb/testsuite/gdb.base/info-shared.exp
 9b249094a36f9f82f60e3dc0a01cb52d  gdb/testsuite/gdb.base/gdbinit-history/zero/.gdbinit
 f2a43a61ad25b5af403705b7001ff2d7  gdb/testsuite/gdb.base/gdbinit-history/unlimited/.gdbinit
 934defe30bf1c6d2c7a66e90f7a7c274  gdb/testsuite/gdb.base/callexit.c
@@ -2703,6 +2673,7 @@ f2a43a61ad25b5af403705b7001ff2d7  gdb/te
 044a06654f571e660e1b73c216d84b9b  gdb/testsuite/gdb.base/step-symless.exp
 4b118a3d34863dab3a6d5d3aaba00ad7  gdb/testsuite/gdb.base/duplicate-bp.exp
 e33f3eea7d6105e0265ef823ed34ffc7  gdb/testsuite/gdb.base/all-types.c
+c44f11751aa4b0ebc420e8f4e25aae39  gdb/testsuite/gdb.base/step-indirect-call-thunk.c
 3131cb7e6b94dc7d1851a0b2293ae51f  gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c
 d04ea6c79b23ff3922f89aef739efe08  gdb/testsuite/gdb.base/attach-twice.exp
 d4db3cd139f1c568faac4de5fdb8915d  gdb/testsuite/gdb.base/info-shared-solib1.c
@@ -2714,7 +2685,7 @@ cb19ec5bdc77be5e1b3f1add2f865739  gdb/te
 cd42ac6bb6925b348a5f54636bc3c154  gdb/testsuite/gdb.base/setshow.exp
 fcb374db8bf1de8c62ba4ec7afdb8034  gdb/testsuite/gdb.base/step-resume-infcall.c
 0c63886d78f5164d10171b7ca56de144  gdb/testsuite/gdb.base/type-opaque.exp
-5d6f67b0f82dfa4647bfe5658d6bcc5b  gdb/testsuite/gdb.base/remote.exp
+3f48429cc30adab00bb5bc5d1f5aac3f  gdb/testsuite/gdb.base/remote.exp
 234346dc31da72f2b52533bced0c259d  gdb/testsuite/gdb.base/weaklib1.c
 078ac32c41cd97ffb0210b0bd55102d3  gdb/testsuite/gdb.base/watchpoint-hw-hit-once.c
 cba5688fa5abb6816830f96fa5b1a113  gdb/testsuite/gdb.base/valgrind-db-attach.c
@@ -2723,18 +2694,20 @@ e7609b913a871f3271bfc16786160608  gdb/te
 b7a7d6efe6ac1a5274f354a881522a1f  gdb/testsuite/gdb.base/checkpoint.exp
 b662c00fe36022721b4afad52114e0ff  gdb/testsuite/gdb.base/gdbinit-history.exp
 1fd0d67c09017c56ebc9adda3219d355  gdb/testsuite/gdb.base/subst.exp
-5fec562697bf7049e280081687fa80d5  gdb/testsuite/gdb.base/dprintf-detach.exp
+ae140d1fd469fcca8b2f88d068da6704  gdb/testsuite/gdb.base/dprintf-detach.exp
 c19b34ef4c2f980e9c6d2e6bb0aab1bc  gdb/testsuite/gdb.base/step-test.exp
 d5637c3572fdc1ab2809d2b659cc2744  gdb/testsuite/gdb.base/relativedebug.c
 ff73e10a86534d1db7e6f372255c8423  gdb/testsuite/gdb.base/paginate-bg-execution.exp
 cdaf5ad60d24ef291f680b34d24f92d0  gdb/testsuite/gdb.base/sym-file.exp
 250ecabf50fd5a622819975f62e5722a  gdb/testsuite/gdb.base/step-bt.c
+02da1ad71e13bebeffdc9b5b73b0b2e8  gdb/testsuite/gdb.base/watchpoint-hw-attach.exp
 e4c47902984dbed52a7e32d8031e8970  gdb/testsuite/gdb.base/all-architectures.exp.in
 bf8eb8d8008bfb9907a5c597fe7c95ca  gdb/testsuite/gdb.base/unloadshr.c
 13bac9884c0599c6e082b3e49416ee3e  gdb/testsuite/gdb.base/valgrind-infcall.c
 5bf5918781fbb5e1d82283df5c514a07  gdb/testsuite/gdb.base/watchpoint-cond-gone.c
 636e4990a92b585dc0dca483a6856f23  gdb/testsuite/gdb.base/watch_thread_num.exp
 5fe9cfd5d351f917cdb8e6441a470edb  gdb/testsuite/gdb.base/solib-display-main.c
+8dbeb48ef6f1212cf303839d8492f646  gdb/testsuite/gdb.base/utf8-identifiers.c
 fd6b4c92b3882fe05b105d70b7388690  gdb/testsuite/gdb.base/fortran-sym-case.c
 9cd4ef136dfbee149a4056477283fa41  gdb/testsuite/gdb.base/grbx.c
 df8510b6abf3cebf81fab55443800955  gdb/testsuite/gdb.base/break-unload-file.exp
@@ -2757,6 +2730,7 @@ eacccee49be69122bda74aaf5426d789  gdb/te
 fe5009ce8b19b723e7e6deb3c0ca9a0e  gdb/testsuite/gdb.base/gdb_history
 54e3563579a6906275887504832e0847  gdb/testsuite/gdb.base/gcore.exp
 75b198cef5b778a84ef1bfbf14e4809b  gdb/testsuite/gdb.base/readnever.c
+8cfc19616a1425178419d6802e685472  gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.c
 6bcddbdd0fa843802ee9afcbd88bb4f6  gdb/testsuite/gdb.base/list-ambiguous1.c
 622e5be1f47e64787af852e883b07061  gdb/testsuite/gdb.base/symbol-without-target_section.c
 441c26f04ce36b0885bf3402e8bf88cd  gdb/testsuite/gdb.base/bitops.exp
@@ -2779,7 +2753,7 @@ f2a827abb53fb3654959486e1e604a3f  gdb/te
 f894a7085543148586f5a13bfe40a8eb  gdb/testsuite/gdb.base/radix.exp
 d4eaa9be92175efd9701d26c19cf9d9e  gdb/testsuite/gdb.base/interrupt-noterm.c
 b1622f69f3c1117f9be5c301fd7dbe1b  gdb/testsuite/gdb.base/gdb-sigterm-2.exp
-6a52052f6e9483132edbb5579eb3a38c  gdb/testsuite/gdb.base/break-entry.exp
+397b51dfe512250a27aa34c13985fdee  gdb/testsuite/gdb.base/break-entry.exp
 0d13ee2e25774ed75713c282e48522a6  gdb/testsuite/gdb.base/step-over-fork.c
 419ed3ef1cdc35f550df83f7dcc77f2f  gdb/testsuite/gdb.base/anon.c
 0ea31efd1506273506d0189112d685ad  gdb/testsuite/gdb.base/set-inferior-tty.exp
@@ -2790,7 +2764,7 @@ a77c5f8652a63f6b66afabd7485f475a  gdb/te
 2fc0ce21a717a726fc6b4e5de9b682da  gdb/testsuite/gdb.base/watch-read.c
 3d2f0185391512eb43c5e774133d37fc  gdb/testsuite/gdb.base/disasm-optim.c
 0553ec75b946cdd559323ecc43e741b7  gdb/testsuite/gdb.base/sigstep.c
-f628d252ede168fc1e041d078fcd797b  gdb/testsuite/gdb.base/define.exp
+a1717a6cca410317b48d3a4870d05628  gdb/testsuite/gdb.base/define.exp
 e0bef0feea368c302c3085202d1a00c2  gdb/testsuite/gdb.base/ptr-typedef.c
 15b34ad27eec2a3978e34da49fe53820  gdb/testsuite/gdb.base/gcore-relro-main.c
 b1b598aff94625f6ada3b95d18bd3681  gdb/testsuite/gdb.base/start.c
@@ -2799,7 +2773,7 @@ e63edef2bc70718ab5517c524db78298  gdb/te
 202f2a3b26e835f9fa0b705e26ac7759  gdb/testsuite/gdb.base/cvexpr.exp
 c1c565d949980ac94a2ba49c011378d8  gdb/testsuite/gdb.base/coredump-filter.exp
 bb8c7d08b88867eb297cbf528cebfc84  gdb/testsuite/gdb.base/source-nofile.gdb
-ecb7d88da2cfaf5d4c91917a7083ca89  gdb/testsuite/gdb.base/fork-running-state.c
+97f6265e744fb5e69c5101bc4bf69116  gdb/testsuite/gdb.base/fork-running-state.c
 a803da56f85dd1cf96da5c5a88b7a7de  gdb/testsuite/gdb.base/gdb1555-main.c
 90d1176d29b8e66f819511426e4fe212  gdb/testsuite/gdb.base/pie-execl.exp
 dac64e13291407207000e224951ab29a  gdb/testsuite/gdb.base/opaque.exp
@@ -2810,13 +2784,13 @@ dac64e13291407207000e224951ab29a  gdb/te
 2d0d3f1b1029b3b47ec9cb438790fa98  gdb/testsuite/gdb.base/recurse.c
 95c6034d1232aa8f626b5c223ee78549  gdb/testsuite/gdb.base/average.c
 5dae5b91b2f0449912e1bb7b757320bd  gdb/testsuite/gdb.base/long-inferior-output.exp
-8d196466565161a03e84f79798f33f0f  gdb/testsuite/gdb.base/float.exp
+405eb26f003bd697436cea990d43dfbe  gdb/testsuite/gdb.base/float.exp
 5c337e05e05d5fa3526df016db6ed868  gdb/testsuite/gdb.base/dprintf.exp
 194a2ef33d4c14ed6d64d8492b79e6a9  gdb/testsuite/gdb.base/bitfields.exp
 c94bae732eacc23ed3c2d73bb25cd01b  gdb/testsuite/gdb.base/pie-execl.c
 daa01f5a3a9140b1059d419bf93c768f  gdb/testsuite/gdb.base/solib-display-lib.c
 d449b8a30e78c97511900e0f30264d65  gdb/testsuite/gdb.base/func-ptrs.exp
-e0fbdc6e40c51adf14ac4283b8c95987  gdb/testsuite/gdb.base/wchar.exp
+31e7c0d886424dc01df23120ab34d295  gdb/testsuite/gdb.base/wchar.exp
 8a8e380c3084dd392a14dc1922892dcd  gdb/testsuite/gdb.base/sigrepeat.exp
 b7908c4c7fd3f3807f57835afba3e70d  gdb/testsuite/gdb.base/relativedebug.exp
 893c36f844b7e7e8dc281a3f0b4ee960  gdb/testsuite/gdb.base/bg-execution-repeat.exp
@@ -2840,6 +2814,7 @@ ab111d692b1b7f1f418c8a425ae8bfe8  gdb/te
 44545781abc057ab81bab672a1d57dba  gdb/testsuite/gdb.base/noreturn-return.exp
 748ef0779da4f08010c9d31c54df8f45  gdb/testsuite/gdb.base/gnu-debugdata.c
 8d3dfd5367429c3cacc008d0e59e6f22  gdb/testsuite/gdb.base/source-error.gdb
+234bfec1f51a91f0d7712ecdce960d53  gdb/testsuite/gdb.base/endian.exp
 07e8d91e8edb465dde46ede2826b73ff  gdb/testsuite/gdb.base/siginfo-obj.c
 40f35a1e36cddcf68a67be7342cdbc86  gdb/testsuite/gdb.base/dup-sect.exp
 5c0e8f4f4ec9cbbd09f0dd680cce017b  gdb/testsuite/gdb.base/dprintf.c
@@ -2847,27 +2822,33 @@ ab111d692b1b7f1f418c8a425ae8bfe8  gdb/te
 284f78241439b58f626ca5ac12426ada  gdb/testsuite/gdb.base/gcore-buffer-overflow.exp
 87fb7eefae86c1a7d1e913ea1f46a9ee  gdb/testsuite/gdb.base/jit-simple.c
 09d5953dfc234d032f762a6b4e40f153  gdb/testsuite/gdb.base/quit-live.exp
-4d043e877f9d5097d88e34e306ff7ac8  gdb/testsuite/gdb.base/break-interp.exp
+795ff09a0b3bfa451e5c75f4b5e147a2  gdb/testsuite/gdb.base/pie-fork.exp
+02206af7052440297b914f2a3909fcbf  gdb/testsuite/gdb.base/bt-selected-frame.exp
+a26e8b62ea1eb66959700195d918784a  gdb/testsuite/gdb.base/break-interp.exp
 b9a08fa7097c4cc391863fd8e37acf25  gdb/testsuite/gdb.base/signest.c
 fd5643f7e1f1cefe53f5401a5d717b19  gdb/testsuite/gdb.base/empty_exe.exp
 2ca6682de4556d3483745305ad66154e  gdb/testsuite/gdb.base/catch-load.c
 e7f13447ca86dec1e40ba7a7bded8537  gdb/testsuite/gdb.base/call-rt-st.exp
 79054bb59626fa0f1acae88fd705a642  gdb/testsuite/gdb.base/vla-ptr.c
+3d3b5f937443bc68db796f5e3815b22c  gdb/testsuite/gdb.base/utf8-identifiers.exp
 99e149f09f1130487d426eece54a9150  gdb/testsuite/gdb.base/prelink.exp
 bc3cb17c5ed82fd5483e419a89abd155  gdb/testsuite/gdb.base/skip-solib.exp
 47cc844a20a3cba7567888766c4c7162  gdb/testsuite/gdb.base/step-line.exp
 5f0c2f9fdfc8419ffc2ade563a1ff717  gdb/testsuite/gdb.base/dprintf-next.exp
+a67ca84d48f2497d9c1b6d52625248ff  gdb/testsuite/gdb.base/step-indirect-call-thunk.exp
 d7312fdea05faf8785b47bc21248a460  gdb/testsuite/gdb.base/break-unload-file.c
 a27e9c3adf85835fd5ec921e62b1df71  gdb/testsuite/gdb.base/attach.c
 2b9b602de7cbf1f3c3a2feb173282563  gdb/testsuite/gdb.base/nostdlib.c
+3420b3e01d7daebb273017eeffc08ec8  gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.exp
 2985fd40487382a4f1aafbb8802f4eed  gdb/testsuite/gdb.base/hashline2.exp
 28fab1fdd514da6fd333b10756238038  gdb/testsuite/gdb.base/solib-symbol-lib.c
 7745a1ccc2180837e397c4e196c9171a  gdb/testsuite/gdb.base/new-ui-echo.exp
-09161050973797e86199f5dd8bb98f1b  gdb/testsuite/gdb.base/foll-vfork.exp
+70a4925f03c1066295921573962baf97  gdb/testsuite/gdb.base/foll-vfork.exp
 94e2be1db32308389ce9c795d36c2bf3  gdb/testsuite/gdb.base/macscp.exp
 da86ea38d13ac3b4ee819f754e68ae6d  gdb/testsuite/gdb.base/multi-forks.c
 635f2ccddb9e687a7104be7b4526d260  gdb/testsuite/gdb.base/bp-cmds-continue-ctrl-c.c
 73d989f53d62bb63f3b3da2c6f098ca3  gdb/testsuite/gdb.base/all-architectures-1.exp
+720a5db00b3217c122f0a9e1caaef64b  gdb/testsuite/gdb.base/endian.c
 a48fe7031236bfd4a2ab7d9ffea023df  gdb/testsuite/gdb.base/prologue.exp
 6a09e020d11da03d827aad7e5552b978  gdb/testsuite/gdb.base/complete-empty.exp
 c6304aac09d602796333499c0384a7b3  gdb/testsuite/gdb.base/watchpoint-solib-shr.c
@@ -2876,13 +2857,14 @@ a6dea94d571740137e59a86139148dde  gdb/te
 d69aec5a0086e04ccdef3d35b06d1be6  gdb/testsuite/gdb.base/reggroups.c
 3d4cfc4861cd0d6ba385eb4bd6cfa70c  gdb/testsuite/gdb.base/disasm-optim.S
 ed3a71b613eb18bddf6df9d10d15351d  gdb/testsuite/gdb.base/symtab-search-order-1.c
+d2e1bda3e044e364641747d789185546  gdb/testsuite/gdb.base/c-linkage-name.exp
 9a3b9483e5cdf44ea7361434499f485e  gdb/testsuite/gdb.base/longjmp.exp
 a4730447ab704dfcad144806876e4c3d  gdb/testsuite/gdb.base/call-signal-resume.exp
-59caea6687a933f638bdf1fdd3362ba2  gdb/testsuite/gdb.base/solib-overlap.exp
+22e802eef7445b2867072538c0f6be76  gdb/testsuite/gdb.base/solib-overlap.exp
 b263e085b920ccae2568157fcc33189f  gdb/testsuite/gdb.base/psymtab1.c
 9074dfdeb8c614d63973046bc6b299ce  gdb/testsuite/gdb.base/global-var-nested-by-dso.exp
 066591320c6f44612d0f819117e9ef7f  gdb/testsuite/gdb.base/fullpath-expand.c
-b406032a523a6e5d49076f2c9488ad19  gdb/testsuite/gdb.base/break.exp
+d33c512ac79be07dbbd6eada4b309028  gdb/testsuite/gdb.base/break.exp
 4842ded22c7771020efa44a4261eaff0  gdb/testsuite/gdb.base/coremaker.c
 744f46137175ca567c39a300df37c9f4  gdb/testsuite/gdb.base/fortran-sym-case.exp
 34b860ed9bfdb59006b9cf9c4c2cc7d6  gdb/testsuite/gdb.base/all-architectures-5.exp
@@ -2902,7 +2884,7 @@ f464c3dbfd75bf510907f4ab757b21b3  gdb/te
 e00019c5fcfa6df744af29f2aa24d9ab  gdb/testsuite/gdb.base/siginfo-thread.exp
 7516a336be5e974dfae9c19355fdd106  gdb/testsuite/gdb.base/mips_pro.exp
 6cb81fdf91010321386861778fd3daf9  gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.exp
-3f2073e204a4aa22df83ad06f26f792c  gdb/testsuite/gdb.base/completion.exp
+5aa1193a8b27a973fc68c9c32f2aadb6  gdb/testsuite/gdb.base/completion.exp
 df0eaebcc3eb2a8a6b7560bc15805c14  gdb/testsuite/gdb.base/batch-preserve-term-settings.exp
 8051a7f7f589d88bd6cfff98ed527593  gdb/testsuite/gdb.base/attach-pie-noexec.exp
 2a97c5130a3406a43c7b2abe48b4d5af  gdb/testsuite/gdb.base/gdbindex-stabs.c
@@ -2930,7 +2912,7 @@ e2dd6d1bb192d4ccec70728be812a572  gdb/te
 0b8d472c4e736350ec256adcab7b7c65  gdb/testsuite/gdb.base/morestack.c
 6a3f3af273a7d65fe0e6fc43348ac01d  gdb/testsuite/gdb.base/signull.c
 705e5cfa5cab72ece76291c0978a5629  gdb/testsuite/gdb.base/watch-non-mem.exp
-99a469f57f90734c0bf7324f2ee6829c  gdb/testsuite/gdb.base/dbx.exp
+5deae82e1f671112ea5f4b5f520d35e5  gdb/testsuite/gdb.base/dbx.exp
 9fc2357302470a3c58d4edb299b2cb7e  gdb/testsuite/gdb.base/examine-backward.exp
 dda6d25d47b1e4ff32fa7b94715be0aa  gdb/testsuite/gdb.base/miscexprs.exp
 bfcc1cac756ae455d1c5f8e5276561f7  gdb/testsuite/gdb.base/new-ui-pending-input.exp
@@ -2944,7 +2926,7 @@ b7b720bff471deba553e4ee6b2069a8c  gdb/te
 17155b728fada832a9acb3d4d25aceec  gdb/testsuite/gdb.base/exprs.c
 b2c14206b3ea89fc8389d8f023875091  gdb/testsuite/gdb.base/gnu_vector.exp
 28b9fb96ab42e11f0a91e8f252b9cf79  gdb/testsuite/gdb.base/gdb11530.exp
-ccd7aea61c4e8f3ae8bbe0ed2d39b9ff  gdb/testsuite/gdb.base/kill-after-signal.exp
+f80a63b18970cf7459533a6e154788dc  gdb/testsuite/gdb.base/kill-after-signal.exp
 2b866eb6e084c3e6e0cf002297b95d85  gdb/testsuite/gdb.base/pr10179-a.c
 b38a14b6defd9ac09f5c1aa06e8de7ec  gdb/testsuite/gdb.base/line-symtabs.c
 170a9245e1ed83628b8cdaf92366a323  gdb/testsuite/gdb.base/enum_cond.exp
@@ -2953,14 +2935,15 @@ b38a14b6defd9ac09f5c1aa06e8de7ec  gdb/te
 3b5ff1f729c40d9c4a98118ff08a9e6b  gdb/testsuite/gdb.base/annota1.c
 b8b0cd1a62c410e7d947231b59b8c74a  gdb/testsuite/gdb.base/sizeof.exp
 4c664aa20a95e6ed9eac3ee8fb8c06d7  gdb/testsuite/gdb.base/gdbvars.c
-db5f0cfee98d6b00fd4fb7b92a97930a  gdb/testsuite/gdb.base/whatis-ptype-typedefs.exp
+9bdb62b604f2676a4a2957d9cd16940d  gdb/testsuite/gdb.base/whatis-ptype-typedefs.exp
 3ce0656db69d3f63c73557847cc3e602  gdb/testsuite/gdb.base/shlib-call.exp
 9928305ee64b9170701fa89300bb1f9e  gdb/testsuite/gdb.base/attach-non-pgrp-leader.c
 082b742fcde351790a011a6d731ae01c  gdb/testsuite/gdb.base/siginfo-obj.exp
+f9fc72fcd7eaa1edf47a47eed5493371  gdb/testsuite/gdb.base/watchpoint-hw-attach.c
 fbbeec2891ea913e85e52602f661a132  gdb/testsuite/gdb.base/bitfields.c
 80fb742c6028f138e4ad580d729b403a  gdb/testsuite/gdb.base/lineinc3.h
 a8cc3230b1ba525fd9c9083f4f66e9ad  gdb/testsuite/gdb.base/fullpath-expand.exp
-a4fd486054b8784cbd843e4158e83bc8  gdb/testsuite/gdb.base/ptype-offsets.exp
+a06241656fa447e7e431eec5a6df69d0  gdb/testsuite/gdb.base/ptype-offsets.exp
 3f26924fc251aab63be18694dc7b045b  gdb/testsuite/gdb.base/startup-with-shell.c
 63b498f5a2f3da99e2787b4f251adfd5  gdb/testsuite/gdb.base/infcall-input.c
 4d2978062e3d67a2c6e983bba9c44c36  gdb/testsuite/gdb.base/foll-vfork.c
@@ -2975,7 +2958,7 @@ b8e768c72b07aa2def32eb59d8e247eb  gdb/te
 6d02d089ecc3f1620f47d052921d39b4  gdb/testsuite/gdb.base/continue-after-aborted-step-over.exp
 5ba2f3fd778c72a7dbe113e1962b2b6c  gdb/testsuite/gdb.base/langs2.c
 ea2916e458fe3b76606a8b17575faba9  gdb/testsuite/gdb.base/global-var-nested-by-dso-solib1.c
-cbdb1efb952487b68fb7646d431ed042  gdb/testsuite/gdb.base/included.exp
+a4512cd2d6b6fcb97248e131f854c707  gdb/testsuite/gdb.base/included.exp
 8c27535a49cec3baabbb649b48ec14fb  gdb/testsuite/gdb.base/async-shell.c
 2b64bd7c2fa79a19e9d1007f04c9153c  gdb/testsuite/gdb.base/gdbhistsize-history.exp
 069f759fe331dff14248a48d8ee66812  gdb/testsuite/gdb.base/ptype.c
@@ -2985,6 +2968,7 @@ eba32c92fa684d130d4825e4dad0dc27  gdb/te
 c5dcd7a89a50905fc36034440f78f2de  gdb/testsuite/gdb.base/code_elim1.c
 15b34ad27eec2a3978e34da49fe53820  gdb/testsuite/gdb.base/print-symbol-loading-main.c
 57967a09fb806e2f65003d1d0640feff  gdb/testsuite/gdb.base/disasm-end-cu.exp
+d0be3d81a20960a6344e0d71c9c9be94  gdb/testsuite/gdb.base/watchpoint-unaligned.c
 347fdabf4694a415307a34fc87a25782  gdb/testsuite/gdb.base/print-file-var-lib2.c
 ebac4cc2cb64c8ace5439a07e5921036  gdb/testsuite/gdb.base/catch-signal.c
 f86ec954f7b47094ae93d353b993acdd  gdb/testsuite/gdb.base/auxv.exp
@@ -3008,14 +2992,15 @@ cd8776906f37441e233beb9265fbb0d2  gdb/te
 8eff0f0c922904d45e9aaeb4662a9b3e  gdb/testsuite/gdb.base/eval-skip.exp
 d7b9e7db2f1b115c321f2adef29b2c50  gdb/testsuite/gdb.base/vla-sideeffect.c
 a083d8d4881ea947f4ec0a7af80e02e8  gdb/testsuite/gdb.base/return2.c
-e040c41144b34c87fe4b70e66679383e  gdb/testsuite/gdb.base/hook-stop.exp
+24ff1a62ea1d0ced62873db7f3dc0832  gdb/testsuite/gdb.base/hook-stop.exp
 869936028f426d873aa456aa963531ed  gdb/testsuite/gdb.base/gcore-relro-pie.c
 07abbc1cd78ccf0d7741182f59f02004  gdb/testsuite/gdb.base/save-bp.exp
+1cc090bd0e00af016425f798fc7ef86d  gdb/testsuite/gdb.base/break-include.exp
 6a47df9940e70b379e7e22e631f0a232  gdb/testsuite/gdb.base/siginfo-infcall.c
 8bc5a0431fdc595faa751ef595e0adc3  gdb/testsuite/gdb.base/anon.exp
 a0711ac65a857d83f3e13093afcf8a4a  gdb/testsuite/gdb.base/gnu_vector.c
 ab6afee6e3fc92d678966bc6bd0e4d70  gdb/testsuite/gdb.base/dso2dso.exp
-206b3c2050bf5c3d110374cac2aaa953  gdb/testsuite/gdb.base/nostdlib.exp
+b4527fae06578cbc7cfa0ff70e4ff3af  gdb/testsuite/gdb.base/nostdlib.exp
 bb8fc0abd7d492ed0c613a0984fc73da  gdb/testsuite/gdb.base/detach.exp
 c42c13f887e0a5bc8abc70f6fca76462  gdb/testsuite/gdb.base/return.c
 739478ddc998f09554c9069ac39ff516  gdb/testsuite/gdb.base/compare-sections.exp
@@ -3030,6 +3015,7 @@ f07290b51379dbcc36ba11a195285389  gdb/te
 647c2bbc52373473bf37dc224d761f3f  gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.c
 ddb5d94baf4aa709b7a6f6671437d1e3  gdb/testsuite/gdb.base/structs.exp
 e2d1889a1dd2a8a94d9317c1d7a9ecb1  gdb/testsuite/gdb.base/interrupt.c
+94756e13e70d43c2cbf9c5d030848024  gdb/testsuite/gdb.base/gnu-ifunc-final.c
 c27f12510a7a94ebc4cf5772c465dbe9  gdb/testsuite/gdb.base/stack-checking.exp
 5877d7fc9e394d4b3f514f7e4bf33b4b  gdb/testsuite/gdb.base/symbol-alias2.c
 9828b56bb9e273bc35af98aa1c83e854  gdb/testsuite/gdb.base/freebpcmd.c
@@ -3043,6 +3029,7 @@ dfa979acbe1384c0558b2d66b8c1b1a4  gdb/te
 13f6c60af6ad41c3d6f0983866fa084c  gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp
 0fa06da7c88ec5b57fa138086c0dd686  gdb/testsuite/gdb.base/consecutive.exp
 85b4b0b6924ffc241d4f10e3176b9219  gdb/testsuite/gdb.base/symbol-without-target_section.exp
+7cf88e61bd7eea053454bd8065fe45be  gdb/testsuite/gdb.base/finish-pretty.exp
 1b87a636b513108adfe7f31e3b829940  gdb/testsuite/gdb.base/skip.exp
 1422d1cd727bdc3203d272527ba6550d  gdb/testsuite/gdb.base/annota1.exp
 31c3fbf7520103a82c5f638a509ce7f4  gdb/testsuite/gdb.base/dcache-line-read-error.c
@@ -3052,9 +3039,10 @@ e95d1890434b5c3ba4f9b57e0f748675  gdb/te
 04c7a18d4e3409a0c1d290ba35064d8b  gdb/testsuite/gdb.base/frame-args.c
 954b1ce46caf67c10833e8aa42dac33b  gdb/testsuite/gdb.base/nextoverexit.exp
 4ff3418362056aac5f2fd4ab27806fbb  gdb/testsuite/gdb.base/info-macros.c
+179ef8ae8c8268432aad9b8a4bf5c286  gdb/testsuite/gdb.base/fork-print-inferior-events.exp
 a2ca1ac217014413575ac7b402ee3d6c  gdb/testsuite/gdb.base/signals-state-child.c
 fccc00c4f86df8b2422cbc90669f2984  gdb/testsuite/gdb.base/jump.c
-e9b8be4f5fb35d8751143d960cf41d14  gdb/testsuite/gdb.base/long_long.exp
+5e3b64ffecb155d1178dc11483d551b3  gdb/testsuite/gdb.base/long_long.exp
 8c8e7e70ba07621ccbb4419c0697ff37  gdb/testsuite/gdb.base/readline-ask.inputrc
 dbe16cde5e4fa2dbf419099683e389a7  gdb/testsuite/gdb.base/paginate-execution-startup.c
 f484128bf0e68c27c3fcbf758e60baa5  gdb/testsuite/gdb.base/setvar.c
@@ -3076,6 +3064,7 @@ cd5a8b66cc0eb1b5f4ba793d1804b261  gdb/te
 7370531a02fb52212e3639944b2d4a9d  gdb/testsuite/gdb.base/list0.h
 65745b5ee56872e20a0b63d4b4cb8f23  gdb/testsuite/gdb.base/jit-simple-jit.c
 78d38092a2844b0dcdf5ae849ffe659e  gdb/testsuite/gdb.base/unwindonsignal.c
+1a44befc2f85fbe359864e47b099b333  gdb/testsuite/gdb.base/osabi.exp
 9a7ed8765dde811f914961ba66f86f70  gdb/testsuite/gdb.base/so-impl-ld.exp
 82064bedb225531f9621499147691b85  gdb/testsuite/gdb.base/disasm-optim.h
 397cf55db9e38b1603b8787099e42563  gdb/testsuite/gdb.base/break-inline.exp
@@ -3088,23 +3077,23 @@ b7611ac92c25130fe02f82de0a65e3fc  gdb/te
 f9f78f36b7cfdac79e877e9ce0c0a014  gdb/testsuite/gdb.base/set-inferior-tty.c
 47735a1adbc9f42b016aaf9fe0eeda77  gdb/testsuite/gdb.base/examine-backward.c
 aeb5a8626e805e4f8de0bc544e5b4968  gdb/testsuite/gdb.base/code-expr.exp
-c6194771189db0dd06c71dd121f73e31  gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp
+13f3b984d5887294ba50e99a226db3d7  gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp
 e033fd78e86d98ac92050d4e40486028  gdb/testsuite/gdb.base/foll-exec.c
 d02d02bbf9d4510562ecbf63dd855ee0  gdb/testsuite/gdb.base/catch-signal-fork.c
-dd7c69d58512dea6718c1e45e70e70ce  gdb/testsuite/gdb.base/attach.exp
+0ad6d969bac9dc5cdf6d9a8f07c461c3  gdb/testsuite/gdb.base/attach.exp
 b7277ce358f735b9788fec3898e1b4a8  gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.c
 875a150f7fd4db096ea08b9acd105dae  gdb/testsuite/gdb.base/baz.c
 9c2fd0ee279ee128db04af79a39490a8  gdb/testsuite/gdb.base/comprdebug.exp
 418ad854be04150da229c23e44e5ea03  gdb/testsuite/gdb.base/infoline.exp
 b242c5c3253e31618cb4ea186428275b  gdb/testsuite/gdb.base/call-ar-st.exp
-cf2c61a36e2633e33855a0c4d359a4be  gdb/testsuite/gdb.base/foll-fork.exp
+f7e1e2b6b00028ac9870aff8dde5206e  gdb/testsuite/gdb.base/foll-fork.exp
 0adec2f3ade1a14d612d1e300c3276e5  gdb/testsuite/gdb.base/siginfo-addr.c
 336f22501d13334f7959759ebe873804  gdb/testsuite/gdb.base/dso2dso-dso2.h
 7062b6ef47e03e10116313a97b1b1971  gdb/testsuite/gdb.base/infcall-exec.c
 97d5140e927d425d130ff626ec998d18  gdb/testsuite/gdb.base/new-ui-pending-input.c
 95a224726a88959ab6b34cb85c7227f4  gdb/testsuite/gdb.base/info-program.exp
 645a66083b9a96454a6a29f0f81078c0  gdb/testsuite/gdb.base/info-shared-solib2.c
-f5e6371229530507661c1b19f72f926a  gdb/testsuite/gdb.base/async-shell.exp
+4e70a40063aa3a1d9c1af0d2578b88f5  gdb/testsuite/gdb.base/async-shell.exp
 be0769afa1a25ef678eb6652a7135471  gdb/testsuite/gdb.base/ctxobj-f.c
 485afa072521c4cc5af40b33bd877282  gdb/testsuite/gdb.base/gdb1250.exp
 d6c282bca0b1319548d7063060c2d979  gdb/testsuite/gdb.base/source-dir.exp
@@ -3150,6 +3139,7 @@ e86e2d403040af5d3af1a5a653ecef8f  gdb/te
 5ab641c9c009e8db64dbccd749135d2e  gdb/testsuite/gdb.base/infoline.c
 f6a96ae4d88de9220856194dacc8c9c8  gdb/testsuite/gdb.base/lineinc2.h
 24da257cc1b230188e5acbc100e031ca  gdb/testsuite/gdb.base/prologue-include.c
+538ed0323734a32853708388fabbb130  gdb/testsuite/gdb.base/watchpoint-unaligned.exp
 7a8321d71d671a18fe1bd571c609a9ef  gdb/testsuite/gdb.base/asmlabel.exp
 7326a32d65636b20a1250606414d1aa3  gdb/testsuite/gdb.base/command-line-input.exp
 ce0e60204a8929a9e8ce25342c107cb7  gdb/testsuite/gdb.base/gdb1090.exp
@@ -3160,22 +3150,23 @@ d3b5ca4e8c14946853382d7fdf9ffeb0  gdb/te
 c66c24938be9f5131e522dc94badb256  gdb/testsuite/boards/stabs.exp
 54ce993341933a4c961943df8ccdc056  gdb/testsuite/boards/local-remote-host-native.exp
 48badc551ce1148da0784809772d611a  gdb/testsuite/boards/local-board.exp
-0ad97a8eadbd49961426897f0cb507f3  gdb/testsuite/boards/remote-stdio-gdbserver.exp
+4903c59e3748fc9aa2dc11a3925e30f7  gdb/testsuite/boards/remote-stdio-gdbserver.exp
 875527a314bd9d260874e9b8e79f131e  gdb/testsuite/boards/native-stdio-gdbserver.exp
 4857606ae2ec7a405b99462710b6dfe7  gdb/testsuite/boards/native-extended-gdbserver.exp
 d0e05dc564d81aaf93ccb0d40630ba2d  gdb/testsuite/boards/remote-gdbserver-on-localhost.exp
-3bb3c6266e9d6b9bce29d9f5c37e88b7  gdb/testsuite/boards/fission-dwp.exp
+17f6be1ab5a9cfde5a01cbb56dc0642e  gdb/testsuite/boards/fission-dwp.exp
 235845a71b7130b164b9c6390bbb3832  gdb/testsuite/boards/native-gdbserver.exp
-dfc277b769e22a11db590798d586e2ac  gdb/testsuite/boards/gdbserver-base.exp
-c105fcf021a984d9307a2ca0478f3457  gdb/testsuite/boards/dwarf4-gdb-index.exp
-48194daebd78a38eccef23a5ffaf3e3a  gdb/testsuite/boards/cc-with-tweaks.exp
+4a9a4bcb1c5bc529d50db9d04b19e826  gdb/testsuite/boards/gdbserver-base.exp
+4bdf2d794e809e024123c45974ab61c8  gdb/testsuite/boards/dwarf4-gdb-index.exp
+4b73de33b940c2aed12363372175be2b  gdb/testsuite/boards/cc-with-tweaks.exp
 89f33ecf641985ae13b2ba360b567511  gdb/testsuite/gdb.multi/hello.c
 79636d12a4a4648c5803211fbabf1107  gdb/testsuite/gdb.multi/multi-arch-exec.c
-f502f481c2104bb42978848a7c9e1233  gdb/testsuite/gdb.multi/tids.exp
+2c120cf54d501ab29520ebf4146c98bf  gdb/testsuite/gdb.multi/tids.exp
 9986b3a8c397519bb3cb9496935a7824  gdb/testsuite/gdb.multi/bkpt-multi-exec.exp
+fce5cb77eced289b1c34ecb048732134  gdb/testsuite/gdb.multi/multi-term-settings.c
 69192c1c3846d182b531ebe228cfa6e3  gdb/testsuite/gdb.multi/tids.c
 a94355f511ccb6c7894958925346585e  gdb/testsuite/gdb.multi/goodbye.c
-583f6dc7c3fdf246e39c785a061b3bb5  gdb/testsuite/gdb.multi/watchpoint-multi.exp
+f83a34f1088dbdce3eaa91446cd3f159  gdb/testsuite/gdb.multi/watchpoint-multi.exp
 744e6e57c365b25881c62b7d73365d3b  gdb/testsuite/gdb.multi/base.exp
 7e2f7e92fc01657e87e03337fee02b7e  gdb/testsuite/gdb.multi/multi-attach.c
 2450ef481370cff61fadb8794df15a7f  gdb/testsuite/gdb.multi/watchpoint-multi-exit.c
@@ -3188,10 +3179,11 @@ a678541a68147b25bf4358c1946e5675  gdb/te
 2e8a7b8dd61d723cb22a5c0a921a90c5  gdb/testsuite/gdb.multi/bkpt-multi-exec.c
 73c6e208758104d0abdff162648d6eea  gdb/testsuite/gdb.multi/remove-inferiors.exp
 7386b9e34ddb84e71f35cea54a40602a  gdb/testsuite/gdb.multi/remove-inferiors.c
-a178aa68a653fa311a95309065c9effd  gdb/testsuite/gdb.multi/dummy-frame-restore.exp
-a59e2d64ffd61648402b31c1de06ab5e  gdb/testsuite/gdb.multi/multi-arch.exp
+184a3b9976c34b58264ebef19bbac4e0  gdb/testsuite/gdb.multi/dummy-frame-restore.exp
+932d24be43e589fb3857c1ebe565d92b  gdb/testsuite/gdb.multi/multi-arch.exp
+254461e170b3b59cbaac9e4333a06fcc  gdb/testsuite/gdb.multi/multi-term-settings.exp
 556d00241086d9c757110b83c82e95df  gdb/testsuite/gdb.multi/dummy-frame-restore.c
-9fd077d68d678a779251d11679afc2ce  gdb/testsuite/gdb.multi/multi-arch-exec.exp
+66722bb4687ded2bf63c33becc4edc1b  gdb/testsuite/gdb.multi/multi-arch-exec.exp
 3952c6951322e32c3ce5e2e64b0d1e30  gdb/testsuite/gdb.stabs/exclfwd.h
 4a87d0041963c650cbec0bdd23141931  gdb/testsuite/gdb.stabs/aout.sed
 ef0a0ca194e090e3a942606488625f47  gdb/testsuite/gdb.stabs/xcoff.sed
@@ -3293,10 +3285,11 @@ dd998b0c72a434ddafa2a6416abc2185  gdb/te
 e12ebea72725671dd86cc6d377b865fc  gdb/testsuite/gdb.btrace/exception.exp
 951512f2db52ce5dcf3037f7914e0196  gdb/testsuite/gdb.btrace/i686-tailcall.S
 782474cb385113d329e76b55bf7b379e  gdb/testsuite/gdb.btrace/non-stop.c
+5ea880e59cec45fef32bf251cbfc45a8  gdb/testsuite/gdb.btrace/cpu.exp
 50de5bd9ee14962e5025a268f8f5e091  gdb/testsuite/gdb.btrace/function_call_history.c
 09734c4fc8a1502de5b3ab44281a690d  gdb/testsuite/gdb.btrace/enable-running.exp
 405bf752b0d70052db9c69ba567834b0  gdb/testsuite/gdb.btrace/tailcall.exp
-0adb40032adfd9d359fb5b4add742205  gdb/testsuite/gdb.btrace/buffer-size.exp
+3f9d2c5f7f7ec8bfb1c8562d7562b7ed  gdb/testsuite/gdb.btrace/buffer-size.exp
 a623eeb1c1d36f117f4e6c2cedc50c41  gdb/testsuite/gdb.btrace/function_call_history.exp
 e490f8506535a043dff7caf936ebb532  gdb/testsuite/gdb.btrace/instruction_history.S
 1b0530abeb26e261e8ce679ead85b3ef  gdb/testsuite/gdb.btrace/vdso.c
@@ -3308,7 +3301,7 @@ d66a80accafbdb912a3eb7105d038735  gdb/te
 df00845bc8382d282878810eda090e93  gdb/testsuite/gdb.btrace/record_goto.exp
 d13dba3f9e2019a2418cb539647db145  gdb/testsuite/gdb.btrace/dlopen.exp
 9725d78b4ef8e774ebb583e143330ceb  gdb/testsuite/gdb.btrace/delta.exp
-e2cc5d5e50ff73f1780f1d0e3a3e7f71  gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp
+a79a95aceaa0b6cfddee72ac81b0993a  gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp
 7f69ab7ba1b4ba08f329bb7f4ce1a127  gdb/testsuite/gdb.dwarf2/trace-crash.exp
 6a9db96510ceea93dc20c546524dc997  gdb/testsuite/gdb.dwarf2/dw2-ranges.exp
 99760d2d4de8741bbd872488d8e3c7e3  gdb/testsuite/gdb.dwarf2/dw2-const.S
@@ -3402,7 +3395,7 @@ dfcaed93adaffdd480e1c776869b7caf  gdb/te
 f87e42dbae0f4b89c3dd01a57bcfcee0  gdb/testsuite/gdb.dwarf2/dw2-intercu.exp
 0046035c6e9b35cbdf7a396b0e052a03  gdb/testsuite/gdb.dwarf2/dw2-param-error.exp
 a25ef1e41245fa510a06d90dc897beb0  gdb/testsuite/gdb.dwarf2/dw2-op-out-param.S
-3da0cded80f4ae941306c20859fc0bd5  gdb/testsuite/gdb.dwarf2/method-ptr.exp
+2607c5c23c6b29922d71d196803da668  gdb/testsuite/gdb.dwarf2/method-ptr.exp
 1ed89e1f23872b80707f4902e4f5f212  gdb/testsuite/gdb.dwarf2/dw2-icycle.c
 e190b578820836737e157e183ec43d7f  gdb/testsuite/gdb.dwarf2/watch-notconst.exp
 fe1c9cb554dabb89d21d08e83d89cb19  gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp
@@ -3413,10 +3406,12 @@ fe1c9cb554dabb89d21d08e83d89cb19  gdb/te
 8b3d53476379587d5d2b95e4278ebab3  gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S
 b6729a7acde63b04c0d2de7d60ad2a47  gdb/testsuite/gdb.dwarf2/pr13961.exp
 19b39aea1af24e63e277a95e3fffa7f3  gdb/testsuite/gdb.dwarf2/fission-reread.S
+2122966e90bcbb6d7b1a297f437903a7  gdb/testsuite/gdb.dwarf2/variant.c
 abfd8b66e90522d3142da1a5b1250b1d  gdb/testsuite/gdb.dwarf2/bad-regnum.exp
 2521c3e1bdfabf5a9e4a68f9bade5c84  gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp
 7fbb096ac0e8eb86fe129d83b5cf85c7  gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.S
 b97baae963951fe86ee4f03f4fe45cc8  gdb/testsuite/gdb.dwarf2/dw2-common-block.S
+ed7a9ccdd5e2761f4f1062b304b190fe  gdb/testsuite/gdb.dwarf2/dw2-align.exp
 731653f16a2a5ab23b3dea676941ca94  gdb/testsuite/gdb.dwarf2/dwp-sepdebug.exp
 e0eb17d65a5eb750d02a9d306f429d08  gdb/testsuite/gdb.dwarf2/arr-subrange.c
 d7af7db8f3a8d18bc517581f8a8cae49  gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.S
@@ -3437,7 +3432,7 @@ c1448556bb1c9986d466a822f5f82c0e  gdb/te
 221371fc128c0ff0bd3ab15a074b243e  gdb/testsuite/gdb.dwarf2/typeddwarf.c
 b0933609b58b777e0059bfd3818be12e  gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp
 d488032a75e67a47b250dd1f5be52c97  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S
-c8ba0d5da606ffcabe8d7f295ccbc57a  gdb/testsuite/gdb.dwarf2/implptr.exp
+dee72b7c3d069a535fd1037f7508760a  gdb/testsuite/gdb.dwarf2/implptr.exp
 00fb31dcd8544db83eef2db5f82ed6e6  gdb/testsuite/gdb.dwarf2/dw2-param-error-main.c
 61e71da691d804e0a86d129b07abfcb2  gdb/testsuite/gdb.dwarf2/staticvirtual.exp
 0a94586ebae5e71d6e4f440712ec58cd  gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.exp
@@ -3506,7 +3501,7 @@ f8895fb201cc7571680864363d82c730  gdb/te
 09ec70cb4ee4e89798720fa03c177fd0  gdb/testsuite/gdb.dwarf2/dw2-error.c
 5aa8040df154eb67333eb753f90e42cf  gdb/testsuite/gdb.dwarf2/ada-valprint-error.exp
 36e36cadde15d2d2556bda9be42e407e  gdb/testsuite/gdb.dwarf2/dw2-producer.S
-acd4043c8d57b13f7127982ce0a896d0  gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp
+f58e45b7278ed5ac315bd0a1175a259b  gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp
 d7837a3fccb73f007b9a265c042a2f44  gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-main.c
 352ddbbfa88c3e28aad2aa500ffa4acb  gdb/testsuite/gdb.dwarf2/pieces.exp
 6f8ab4804f1fd830bfbb6990bd82819f  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c
@@ -3531,12 +3526,13 @@ d528d21accd36d024360dfe99267cf70  gdb/te
 daf7275b48424acdfc659414338f304f  gdb/testsuite/gdb.dwarf2/dw4-sig-types.cc
 4a15f1a5664cfb529ab410c1ae8abfc7  gdb/testsuite/gdb.dwarf2/missing-sig-type.exp
 7e4a954984b1c82faf0b9aa36c086b07  gdb/testsuite/gdb.dwarf2/watch-notconst2.S
-149f89489053e472c1f6e09d33beca9a  gdb/testsuite/gdb.dwarf2/dw2-error.exp
+3a349cf3407ab2ac964075eb745ad476  gdb/testsuite/gdb.dwarf2/dw2-error.exp
 7cdfcb2e1493f92bfb6a67f8fa01b0c3  gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static-main.c
 1a06ab7ef117c436a37bc83f9f750435  gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.S
 b867675af45ecee268b6b6f38cbd7f04  gdb/testsuite/gdb.dwarf2/watch-notconst.c
 7f2fa1e721a9f168dc3386fae32ae486  gdb/testsuite/gdb.dwarf2/dw2-noloc.exp
 2369e8c6b4a033f6aaa4c68e1b8e5943  gdb/testsuite/gdb.dwarf2/dw2-cu-size.S
+83c47ca58f0d048bff940e8644039909  gdb/testsuite/gdb.dwarf2/variant.exp
 9ee6df8888570d1ec69f438a5908a03d  gdb/testsuite/gdb.dwarf2/dw2-inline-param.exp
 ff2ebb22b99cfe6d62ab0d5d22d1a596  gdb/testsuite/gdb.dwarf2/method-ptr.cc
 9a06e7deead85014b7b3d35ab26595ad  gdb/testsuite/gdb.dwarf2/dw2-filename.exp
@@ -3607,7 +3603,7 @@ cd9ba3e6a9915dd3a68e185c8459d509  gdb/te
 bfc6b2ee25d613d86b70e722299702df  gdb/testsuite/gdb.reverse/break-reverse.c
 544ac534814155deccafafa3f2412ff7  gdb/testsuite/gdb.reverse/sigall-precsave.exp
 3a02839f08157b3d8084a47738e3c635  gdb/testsuite/gdb.reverse/machinestate-precsave.exp
-8d452642cbc5c57200f55ab00b5231cc  gdb/testsuite/gdb.reverse/i387-env-reverse.exp
+1242fa82f0dd439a0c0d3fa2ebb153a7  gdb/testsuite/gdb.reverse/i387-env-reverse.exp
 9b9c21737be8e132895bd5baf78ea4ea  gdb/testsuite/gdb.reverse/waitpid-reverse.exp
 3b44b6160b82f073870e7fcbc04f5fc3  gdb/testsuite/gdb.reverse/break-precsave.exp
 5fee14c661135fcf01e4210d7ffa9e15  gdb/testsuite/gdb.reverse/getresuid-reverse.exp
@@ -3625,9 +3621,10 @@ bb56af286a9d11195ceeb2ccd9f455e6  gdb/te
 8118f7ba01ceb1134ecef1622533243f  gdb/testsuite/gdb.reverse/pipe-reverse.exp
 9f854fea5f4fb72edd08001ef72f4c11  gdb/testsuite/gdb.reverse/finish-precsave.exp
 974b005f799dcb29a076a15deec076fd  gdb/testsuite/gdb.reverse/i386-sse-reverse.c
-6a9dbee7c0180345debfd580e5d09a28  gdb/testsuite/gdb.reverse/i386-reverse.exp
+bf066624452c394d495a4ba7b381c662  gdb/testsuite/gdb.reverse/i386-reverse.exp
 baf906bc791c2da396dc522c964bec58  gdb/testsuite/gdb.reverse/finish-reverse.c
 3b650d7664fcb7c69ffed28728b7400b  gdb/testsuite/gdb.reverse/insn-reverse.exp
+22af522c19f89e1e4edf34fb02c2c0f1  gdb/testsuite/gdb.reverse/step-indirect-call-thunk.c
 1c6ba02676f04060a7db3edd2155ed13  gdb/testsuite/gdb.reverse/until-precsave.exp
 3324e2bb106a9b9279ac3127170de20b  gdb/testsuite/gdb.reverse/i387-env-reverse.c
 f3a9b6da48b1a8827b290be6ba8e29c0  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c
@@ -3637,7 +3634,8 @@ c8098b9357799a56bfe9357c24cdb45b  gdb/te
 b213f98d8a89b8203be71733e9242481  gdb/testsuite/gdb.reverse/waitpid-reverse.c
 20a8523180fd22f40fba9a58205f851b  gdb/testsuite/gdb.reverse/i386-reverse.c
 ca155cc569502ee8c0713fbbb03df5ce  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S
-51109acd43ce54ef02c0847d9cfced88  gdb/testsuite/gdb.reverse/i387-stack-reverse.exp
+d4b1a6408a20491572e868231868906d  gdb/testsuite/gdb.reverse/step-indirect-call-thunk.exp
+6c76d596f634f1591b90aed2e248dcec  gdb/testsuite/gdb.reverse/i387-stack-reverse.exp
 04f627e50735689726d6574aa184d532  gdb/testsuite/gdb.reverse/pipe-reverse.c
 3f5f03403459a6d339d34d36b38c8d37  gdb/testsuite/gdb.reverse/step-precsave.exp
 5822d6851f7ec93f7db884b5415728b7  gdb/testsuite/gdb.reverse/break-reverse.exp
@@ -3645,7 +3643,7 @@ ca155cc569502ee8c0713fbbb03df5ce  gdb/te
 fd246505604fae1914e1a8ee18575a3c  gdb/testsuite/gdb.reverse/fstatat-reverse.exp
 f8402de27ed1c32fdc00cfa40d7ffbc1  gdb/testsuite/gdb.reverse/singlejmp-reverse.exp
 fad9af0b0ae9e72b36201d139d3cd8c2  gdb/testsuite/gdb.reverse/consecutive-reverse.c
-1cf15431b04b5bc05f7a5d39bf4fd5d1  gdb/testsuite/gdb.reverse/i386-precsave.exp
+92cc6d855e400be331e55bc665bd8088  gdb/testsuite/gdb.reverse/i386-precsave.exp
 4c7fcd77ac6a7e29ebfa53e10414bf19  gdb/testsuite/gdb.reverse/finish-reverse.exp
 b21633465bbaf331c721bf493c18a6ec  gdb/testsuite/gdb.reverse/insn-reverse.c
 3305c80a09ba49b3f3d9e7141b0ced32  gdb/testsuite/gdb.reverse/insn-reverse-x86.c
@@ -3669,6 +3667,8 @@ f1cb2e19690caab837d9e3c128ebbe16  gdb/te
 5dca4a57724f94136e3bdb91f97e147b  gdb/testsuite/gdb.arch/gdb1558.exp
 28f4d30212845fee182918caeb04dd49  gdb/testsuite/gdb.arch/amd64-tailcall-noret.S
 8b20e028ec74384a9f73f93d7f33c7e3  gdb/testsuite/gdb.arch/arc-decode-insn.exp
+e851eefbbcccee753df36f2884a6b643  gdb/testsuite/gdb.arch/powerpc-prologue-frame.S
+795f0d1db725bd4461fb2b90eeb8fdf9  gdb/testsuite/gdb.arch/mips-disassembler-options.s
 63d0ecb1b8eb512bbbcc5699515cbfbb  gdb/testsuite/gdb.arch/i386-float.S
 c9296c9f9da2bd9e11d31a4061cb98a2  gdb/testsuite/gdb.arch/aarch64-tagged-pointer.c
 a33dc88a3c9d6324f4aa099154b88953  gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp
@@ -3717,11 +3717,11 @@ ef0cbb9a5009cc24ca6fc55be9606385  gdb/te
 035fda63a860e8239217300f9e54239d  gdb/testsuite/gdb.arch/gdb1431.exp
 d12148680a92e302a46ce4c1371e18ea  gdb/testsuite/gdb.arch/gdb1291.s
 a79b1c13deb00069677595bfd97104ef  gdb/testsuite/gdb.arch/amd64-entry-value-inline.S
-89f1d09d41abcf2420435409eee28eb1  gdb/testsuite/gdb.arch/s390-vregs.exp
-c21ada9ca3946bf4bf115fe05030b180  gdb/testsuite/gdb.arch/altivec-regs.exp
+af0fbf8c8119f541c9bf34d9f963c8be  gdb/testsuite/gdb.arch/s390-vregs.exp
+aa71b66589aa1901a4d959cb9e779106  gdb/testsuite/gdb.arch/altivec-regs.exp
 6e43b10e8ee72c642ac14cb74a9f8490  gdb/testsuite/gdb.arch/i386-gnu-cfi-asm.S
 3d59210243b5b8811b386cdba894b522  gdb/testsuite/gdb.arch/vsx-regs.c
-676817aba0706444e4e106a5a4c009bb  gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp
+cbf0cadb907a1bcedf61a71a3af79ca9  gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp
 a350eb281422ac37837d8da1069e6fc5  gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp
 327e9b445ddd8dfb250469f748b8f225  gdb/testsuite/gdb.arch/powerpc-power9.exp
 8403d50fa687047bd9ae71b932b34097  gdb/testsuite/gdb.arch/thumb2-it.exp
@@ -3730,9 +3730,9 @@ f81cd6820367907bfbfce36f8ea58d48  gdb/te
 3f1d0d71a9f1998afb5aecc132f63384  gdb/testsuite/gdb.arch/arm-single-step-kernel-helper.exp
 31523fd6f671b5ef6400b4707328a3c3  gdb/testsuite/gdb.arch/powerpc-aix-prologue.c
 cac2256def4f66bd05b69a1ab5303028  gdb/testsuite/gdb.arch/amd64-optimout-repeat.S
-f077b223d061a4a2e0ea098c3a89291b  gdb/testsuite/gdb.arch/sparc64-regs.exp
+e167dc69acb9c75e1d7791675936c1bb  gdb/testsuite/gdb.arch/sparc64-regs.exp
 d6891998e093cf6a962a86c1ad970a41  gdb/testsuite/gdb.arch/amd64-stap-triplet.c
-43529c77d2e3237bf44e3e1517179c63  gdb/testsuite/gdb.arch/amd64-entry-value.exp
+2230095398c09e6e7f1842469796c0ee  gdb/testsuite/gdb.arch/amd64-entry-value.exp
 dee9a78bf50bfe311c87653baea34cfa  gdb/testsuite/gdb.arch/e500-prologue.exp
 d25a001b906f3243d48b2ecd27e50801  gdb/testsuite/gdb.arch/amd64-invalid-stack-top.c
 7cef6963c991b1ed8cbeec2e72fae33e  gdb/testsuite/gdb.arch/ppc64-isa207-atomic-inst.S
@@ -3744,11 +3744,14 @@ ee854293b75948d619800b3e19f296d3  gdb/te
 723b87f104bc2dff8b14093eb3c0a783  gdb/testsuite/gdb.arch/i386-gnu-cfi.exp
 a4f0b17ddbbcded06757dc568a773109  gdb/testsuite/gdb.arch/powerpc-vsx3.s
 97b8d1cbedd8ff18450a42631be54fd9  gdb/testsuite/gdb.arch/i386-sse-stack-align.c
+96bd63431e435152eb05aaaeb1946f6e  gdb/testsuite/gdb.arch/powerpc-prologue-frame.c
+68bbb7650f69341f8ec120bf5ccfba3e  gdb/testsuite/gdb.arch/powerpc-vsx-gcore.exp
 d64a688e25c98573a69830c2c3d27b98  gdb/testsuite/gdb.arch/spu-ls.exp
 279a7e869883b3c68b2b490603d09973  gdb/testsuite/gdb.arch/i386-sse.exp
 19d5d7507bce76e9ca88070248830a61  gdb/testsuite/gdb.arch/altivec-abi.c
 21c390674a38330f2dc70b4f406c1836  gdb/testsuite/gdb.arch/amd64-tailcall-ret.c
 7b02525a227cc39784838933e60444f6  gdb/testsuite/gdb.arch/powerpc-altivec3.exp
+5e15c873001a7796f7ebf54c1eaa6672  gdb/testsuite/gdb.arch/powerpc-fpscr-gcore.exp
 ad0129faa15ba9c3ec81642c83f30fb7  gdb/testsuite/gdb.arch/powerpc-altivec.exp
 1c00f4a07bd208dfb6069b98166c10a6  gdb/testsuite/gdb.arch/powerpc-vsx2.s
 2d1d8795a2fa00cf8a9be2700e7d9926  gdb/testsuite/gdb.arch/i386-mpx-call.c
@@ -3773,8 +3776,11 @@ dfe731aff2f36f8fc9c8f5051f02261c  gdb/te
 527e6f77fcd099379a3bb18eac1111b7  gdb/testsuite/gdb.arch/thumb-singlestep.exp
 51395882523903f61ce32232f97da514  gdb/testsuite/gdb.arch/arc-analyze-prologue.S
 e961d534371ec8af08e82e3bda1d1fb2  gdb/testsuite/gdb.arch/iwmmxt-regs.exp
+33e169ac2cbf51307a56d8b98b3d0760  gdb/testsuite/gdb.arch/amd64-init-x87-values.exp
 7abc6a4809567dc201f86b800420e6c0  gdb/testsuite/gdb.arch/powerpc-vsx.exp
 e8696216f6cf75fe8d8747b2381bde35  gdb/testsuite/gdb.arch/i386-avx512.c
+b2992d1cbb7d2761dbb4ccd07cf875ee  gdb/testsuite/gdb.arch/mips-fpregset-core.exp
+a9317c3c40490a4bb662a8392016a079  gdb/testsuite/gdb.arch/mips-disassembler-options.exp
 ada84db15b35e73ad48a14a0cc9b64af  gdb/testsuite/gdb.arch/i386-mpx-simple_segv.c
 2f7812746218262a6c37e0373c5e7ded  gdb/testsuite/gdb.arch/spu-info.exp
 7963f9de6fae6e5d9c71a97dfe721dad  gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S
@@ -3788,7 +3794,7 @@ afde38fc7641ebdfbeff371d9179df49  gdb/te
 0574e2f71654ffec39cdea67e0d81628  gdb/testsuite/gdb.arch/amd64-tailcall-self.exp
 bd60f56f78e2a5f62c73afc331299c07  gdb/testsuite/gdb.arch/powerpc-power8.s
 ec57c4870bcd6cb64945a3068ed0c4cb  gdb/testsuite/gdb.arch/ppc-dfp.exp
-dfc3eec5177ee1abefdb3c65c5b56e81  gdb/testsuite/gdb.arch/s390-tdbregs.c
+fc8f5aca48e6fe969c8363e04148653f  gdb/testsuite/gdb.arch/s390-tdbregs.c
 134b79acce9012a4ff03e9e1f2b49496  gdb/testsuite/gdb.arch/s390-vregs.S
 09807e7d23adc45615051b5d806da599  gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp
 f6a5286a3055d9693049ce279db2bc65  gdb/testsuite/gdb.arch/i386-pkru.c
@@ -3809,11 +3815,12 @@ b1d714ebde8f5d2c8e0fa6f42a04a5d8  gdb/te
 6c6663825bbf1edc3849c7eb1cffca85  gdb/testsuite/gdb.arch/avr-flash-qualifier.exp
 e7dbf97bd9ffc0f10ad47f380ded3180  gdb/testsuite/gdb.arch/arm-bl-branch-dest.c
 3e4325e57bdec8bbeb54106b6dc1232a  gdb/testsuite/gdb.arch/i386-cfi-notcurrent.S
+0f14ef1b4de2dbe2f435df16407fdec4  gdb/testsuite/gdb.arch/amd64-init-x87-values.S
 12f0ccc16409e598045cd237fa6b0e8e  gdb/testsuite/gdb.arch/i386-size.c
 ba8bee037f4a5609a4fbd650e2fa15b4  gdb/testsuite/gdb.arch/ppc-longdouble.exp
 000ca6cdd247ef0c95b58948fd779c92  gdb/testsuite/gdb.arch/ppc-dfp.c
 5415aeac3872516cd743541d9062d8ac  gdb/testsuite/gdb.arch/aarch64-tagged-pointer.exp
-6b16bb6218da3a187c266aca335b3813  gdb/testsuite/gdb.arch/s390-tdbregs.exp
+e63564307702fcf920db5792b3948725  gdb/testsuite/gdb.arch/s390-tdbregs.exp
 dab61a55a7aaa4d4adc33bfe2d91f661  gdb/testsuite/gdb.arch/amd64-entry-value-param.exp
 3bc5567b74cd90c5b64fd7133153c0cd  gdb/testsuite/gdb.arch/powerpc-disassembler-options.exp
 a9e3e69b701e82ef6c1681bb1c853d94  gdb/testsuite/gdb.arch/amd64-prologue-skip.exp
@@ -3821,6 +3828,7 @@ a9e3e69b701e82ef6c1681bb1c853d94  gdb/te
 a58d0d4acf0c955631af053b9446b923  gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.c
 5fb2eaef8fa3678d2f93e1b0c7c65be6  gdb/testsuite/gdb.arch/pa64-nullify.s
 8bb0f039597257c7ddd43e0c95bae01c  gdb/testsuite/gdb.arch/amd64-i386-address.S
+d7caf5502338b975eef41070ed5f88ee  gdb/testsuite/gdb.arch/amd64-osabi.exp
 5058bb7f753ba89f2d87aae126ffd2c0  gdb/testsuite/gdb.arch/mips16-thunks-sin.c
 204e8d92a6d8d68b33351bd110f60b9e  gdb/testsuite/gdb.arch/mips16-thunks-sinmain.c
 f76c5f03d38cbcdc187cffc24074ec80  gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c
@@ -3835,7 +3843,7 @@ f76c5f03d38cbcdc187cffc24074ec80  gdb/te
 77a537d45909145d493f45e2f8dd1602  gdb/testsuite/gdb.arch/i386-word.exp
 91b4be0288a9dbdcb95dc9791006fb95  gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp
 738360838b40e8f21f1c006b319bf342  gdb/testsuite/gdb.arch/pa-nullify.exp
-005144d707f630abd3abc0c2bce688f2  gdb/testsuite/gdb.arch/amd64-disp-step.exp
+7b3125055ffec331b5523583e2731d93  gdb/testsuite/gdb.arch/amd64-disp-step.exp
 47f14df453e063547c4cf2a4963549e0  gdb/testsuite/gdb.arch/cordic.ko.debug.bz2
 2db1c6a9eba120c4915f401a760f30ba  gdb/testsuite/gdb.arch/amd64-tailcall-self.S
 ac42fad2daeb5abce9d3ea4c4847a928  gdb/testsuite/gdb.arch/arm-bl-branch-dest.exp
@@ -3851,27 +3859,29 @@ d85b01b668f0c87302503075b7e139cd  gdb/te
 be75229e11c836c5a587fabe3c46d5c5  gdb/testsuite/gdb.arch/powerpc-altivec3.s
 c4b1e9d3c8936c0b8d92d5c31e992c28  gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp
 ec896bffe9402223c6bad5ccc2b22bb7  gdb/testsuite/gdb.arch/alpha-step.exp
-39f417c0a5b2e4efb741d8b0b2fc2763  gdb/testsuite/gdb.arch/amd64-i386-address.exp
+07d0328bc8b46e9c73de38f2d168a12b  gdb/testsuite/gdb.arch/amd64-i386-address.exp
+ca5b04a72a688daa529c44bf0602abcc  gdb/testsuite/gdb.arch/powerpc-prologue-frame.exp
 29e2d74eb067edd80bfba28e987c20c1  gdb/testsuite/gdb.arch/powerpc-power8.exp
 ca683972d8f1047d2c4a2fc50ce79286  gdb/testsuite/gdb.arch/ppc-fp.c
 2ff52567aa447dce6ba7b7c35056b619  gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.cc
 a15060608f274e2d0936eb3badff4298  gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.S
 acb510ca1f86a7947e2bfdcd3280d579  gdb/testsuite/gdb.arch/amd64-prologue-xmm.s
-6f2d216b27b5d6e8f5f59ddf881d14e5  gdb/testsuite/gdb.arch/s390-multiarch.exp
+3f1bbb9f2445af95430dd909dd8d6218  gdb/testsuite/gdb.arch/s390-multiarch.exp
 34b83d52eceda19562f604ee0b601b46  gdb/testsuite/gdb.arch/thumb-prologue.exp
 33615af798f50ba1d0461921c6d4a560  gdb/testsuite/gdb.arch/i386-sse.c
 061c82c547db7a6ae81c8f6795f1ba69  gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.S
 f4a12390842509cb9c985238e90c0920  gdb/testsuite/gdb.arch/amd64-tailcall-ret.S
 ad3c3aa417823dde5591e9beff36a6a6  gdb/testsuite/gdb.arch/arc-decode-insn.S
 d8ee432f703a3b7fcd90543906e0c1f5  gdb/testsuite/gdb.arch/amd64-prologue-xmm.c
-4e567d737ce572a15ce77bc4a64ef17b  gdb/testsuite/gdb.arch/arm-disp-step.exp
+f6c50df8a25b366bbf73e68955d76ea0  gdb/testsuite/gdb.arch/arm-disp-step.exp
 33329dd76c3c04d0f3ede1e44b03bb18  gdb/testsuite/gdb.arch/aarch64-atomic-inst.c
 dfeb9a18bb63cda5184145a893a04a9b  gdb/testsuite/gdb.arch/alpha-step.c
 919b2a1c7f5c9d8d3fce720163ebd171  gdb/testsuite/gdb.arch/mips16-thunks-main.c
 e1ad2a55e4a6d243b442c4bd977981d4  gdb/testsuite/gdb.arch/i386-prologue.c
 26a415536f49300e67113826ebed9bb9  gdb/testsuite/gdb.arch/sparc-sysstep.exp
 2ca827af71753e31f4aff599aa610841  gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp
-16e9ce8a78f6b568c14554e7bc444426  gdb/testsuite/gdb.arch/amd64-disp-step-avx.S
+66d02c44ada7771fc7780ec80d1b75a1  gdb/testsuite/gdb.arch/amd64-disp-step-avx.S
+f94e9844c2b30908177daca3e9c83b7f  gdb/testsuite/gdb.arch/mips-fpregset-core.c
 398e7fafcc1a648a92901c661af2f8c8  gdb/testsuite/gdb.arch/i386-mpx-call.exp
 534c79be217bb68cd32d3e457165b030  gdb/testsuite/gdb.arch/s390-multiarch.c
 9c883b1e2dd587785543c3469f3d2e25  gdb/testsuite/gdb.arch/s390-stackless.exp
@@ -3881,11 +3891,11 @@ de9fb21ad60c0a7022d761bed089a05c  gdb/te
 fe09d8792c42512cf65db1dbddc94573  gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
 412fcdfa91aae21b7353da734b4a9c44  gdb/testsuite/gdb.arch/i386-pkru.exp
 820d924b2be6616488506c4a70060d7b  gdb/testsuite/gdb.arch/i386-mpx-map.exp
-d03f6ab076afafb0d6a2522d79473070  gdb/testsuite/gdb.arch/i386-disp-step.exp
+d9269e1cabb898eb1e9563c1102c8700  gdb/testsuite/gdb.arch/i386-disp-step.exp
 7d228ffb9283127e0d7ec4f63bf26953  gdb/testsuite/gdb.arch/ppc64-isa207-atomic-inst.exp
 08039ce4de51cce5b143dd0d57b13f03  gdb/testsuite/gdb.arch/i386-pseudo.c
 e769ea06c3eb3a43f5d70da0e228d4fb  gdb/testsuite/gdb.arch/sparc-sysstep.c
-052557e7803e29a7b2142f383c477f1c  gdb/testsuite/gdb.arch/powerpc-d128-regs.exp
+5102469fe6db3359d6882967e6beb3a1  gdb/testsuite/gdb.arch/powerpc-d128-regs.exp
 78effbe880a0a3dd3b44af7ace26d5ae  gdb/testsuite/gdb.arch/i386-mpx.exp
 ae5ac2d5be2d4dd27cd1f89a65efb09b  gdb/testsuite/gdb.arch/amd64-entry-value.cc
 2eb532d28ea5d568a63c7ca43e7a307d  gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp
@@ -3924,7 +3934,7 @@ d9223d6e7546c16f8e68d121fab3c1c7  gdb/te
 733436f34207f3cc5ba2bcf8e6d370ce  gdb/testsuite/lib/gdb-utils.exp
 b3ce085612e387fbd0dfe17bf99ae8e4  gdb/testsuite/lib/dtrace.exp
 606fec6be212b0a942772f6fe6539a39  gdb/testsuite/lib/data-structures.exp
-46e9bbb7ce5dd96b76e180d37c7ebaa8  gdb/testsuite/lib/cp-support.exp
+06a3de1cf35d3dac144e0c9473536b6d  gdb/testsuite/lib/cp-support.exp
 da2cdb2eeb4cd11fe973220282f7bde8  gdb/testsuite/lib/go.exp
 d0407b115dcbce5288baff4b12ec7157  gdb/testsuite/lib/cell.exp
 12109cdd85c7376a3ff0af63f7275b28  gdb/testsuite/lib/gdb-python.exp
@@ -3933,8 +3943,8 @@ b8028b7ede173dd6a5d1bb059be11fbb  gdb/te
 199a36a209e2a76cae60f2808ccbed16  gdb/testsuite/lib/prompt.exp
 0877507e7333bfd373d58a52ada8bd17  gdb/testsuite/lib/future.exp
 60c6874d1ec3b971e3adf6f8732d08aa  gdb/testsuite/lib/trace-support.exp
-9c3943a962729ff496085944498f10aa  gdb/testsuite/lib/selftest-support.exp
-d36767d3205e5f584ea65908e3131606  gdb/testsuite/lib/mi-support.exp
+331b1d14321687d29e9fb33bb2c2548e  gdb/testsuite/lib/selftest-support.exp
+f935e4aafc37f79743ec500cf9d2530a  gdb/testsuite/lib/mi-support.exp
 87fef3b48b51dd414fb21061782da0ba  gdb/testsuite/lib/ada.exp
 b95dc2a351d65373861d5ccbc6f62d5c  gdb/testsuite/lib/opencl_kernel.cl
 4785299b89956f4836cedc84d0316217  gdb/testsuite/lib/compiler.c
@@ -3949,7 +3959,7 @@ b8f67f2c3cc7da275ad2b0894603cc62  gdb/te
 ef3577abb3f3f89af83172cbfadb6136  gdb/testsuite/lib/prelink-support.exp
 4530d0192912185f69096874ba108361  gdb/testsuite/lib/opencl.exp
 8b5c5afb411d05e4db63d7523efe9795  gdb/testsuite/lib/perftest.exp
-f83cbc82063e58783ce45f4b76191af2  gdb/testsuite/lib/gdb.exp
+59430a5461d00e41c9c385531c415f3a  gdb/testsuite/lib/gdb.exp
 f79bf7d30510d6aff4056c1fd74155b2  gdb/testsuite/lib/compiler.cc
 c9d0956f50332b9716b743f8cee4e81b  gdb/testsuite/lib/opencl_hostapp.c
 381994835e61543d88f690d73cea33cd  gdb/testsuite/lib/append_gdb_boards_dir.exp
@@ -3994,18 +4004,18 @@ b5ac8582ffca4f5704ef7d8ca0a1bf96  gdb/te
 46cb4f2f82f349616d1d3085d86fceca  gdb/testsuite/gdb.linespec/thread.exp
 a865f39c13b37a71b11e1b957092b9f2  gdb/testsuite/gdb.linespec/cpls-hyphen.cc
 5e2f47c554d7b6a047901fc2e4d030aa  gdb/testsuite/gdb.linespec/cpls-abi-tag.cc
-2dfee9c9d4c8446f39f33e149f80a6e1  gdb/testsuite/gdb.trace/status-stop.exp
-748ab08340ccda9b621a21eda5ec4e9a  gdb/testsuite/gdb.trace/trace-break.exp
+4f024e38fb29c435cca2b102515f2060  gdb/testsuite/gdb.trace/status-stop.exp
+120407486cbd24bad3b9554202584b21  gdb/testsuite/gdb.trace/trace-break.exp
 1b533f28d93518e90abd9cb28ce18ffd  gdb/testsuite/gdb.trace/range-stepping.c
 408d51325510f6057a87c85c74fbc79e  gdb/testsuite/gdb.trace/ax.exp
-02867685f38b2e4147a0c529e5fc14f0  gdb/testsuite/gdb.trace/tfind.exp
+7731ca2882278cf3f9b4499c2c7303b1  gdb/testsuite/gdb.trace/tfind.exp
 8284a31f4c91aac51e63425f2dc33ec8  gdb/testsuite/gdb.trace/mi-tsv-changed.exp
-42fd15845ecbe7d56ed3261225d36996  gdb/testsuite/gdb.trace/tstatus.exp
+b1377cdda63df15f541e09104ac2b0b7  gdb/testsuite/gdb.trace/tstatus.exp
 aef6be8b18d95776376b8b4900b86d67  gdb/testsuite/gdb.trace/change-loc-2.c
 4459a9384401058dbe8c2dfc52051900  gdb/testsuite/gdb.trace/deltrace.exp
-bf48643068d70a7c7c0191910eab2f1e  gdb/testsuite/gdb.trace/qtro.exp
+98ed53bd8a67cb02d9b9187ceb41a43d  gdb/testsuite/gdb.trace/qtro.exp
 c2d79dbf5548d2bf987e5b3e98aef0d2  gdb/testsuite/gdb.trace/circ.c
-7c8b8c93b68aa320e96806ef9037905a  gdb/testsuite/gdb.trace/packetlen.exp
+3f5cd6c110d5e9d005247524ba38507d  gdb/testsuite/gdb.trace/packetlen.exp
 2be290ccdae780de600e5a86f1bb60e4  gdb/testsuite/gdb.trace/collection.c
 30006ee6430318df5100eb32e7bcefa5  gdb/testsuite/gdb.trace/stap-trace.exp
 512924bc9305e0bdf36e6d04add718d3  gdb/testsuite/gdb.trace/ftrace.c
@@ -4015,10 +4025,10 @@ c5b5dd1b2ceb28111aea629d65e5abd6  gdb/te
 7393aaaae7380b339b93689df540163a  gdb/testsuite/gdb.trace/actions.exp
 81474738fad69932ba159554ad0bb024  gdb/testsuite/gdb.trace/status-stop.c
 cc45d6cc50f196f5dfd9eb5cf25d1c82  gdb/testsuite/gdb.trace/trace-buffer-size.c
-85369b643dda1b5f88d895acae75da62  gdb/testsuite/gdb.trace/collection.exp
+8a04cb1017ddd098c4628a764cab30b3  gdb/testsuite/gdb.trace/collection.exp
 5717f98af43f3f07f206f9edd1772136  gdb/testsuite/gdb.trace/mi-trace-unavailable.exp
 7a620e7644c7c2f9decd74c8dd72d8d5  gdb/testsuite/gdb.trace/actions.c
-fddbae47a19e52ad9f456fc6881e7161  gdb/testsuite/gdb.trace/while-dyn.exp
+2a0e8e60e47056265f61376388fad7e9  gdb/testsuite/gdb.trace/while-dyn.exp
 9e811045cfb47c242dd5ae3e9fe02a8c  gdb/testsuite/gdb.trace/actions-changed.c
 f86a137cf6574abdd2f64d39bc24605b  gdb/testsuite/gdb.trace/save-trace.exp
 45683e998f2c8592c2219bf46e37e158  gdb/testsuite/gdb.trace/trace-common.h
@@ -4028,40 +4038,40 @@ a4dd89fed86e01646a3ef630fa54daef  gdb/te
 2bf6176997b8dbcf2c15c107257e38ad  gdb/testsuite/gdb.trace/no-attach-trace.exp
 6634958402dee6d7e8d8aa8f7c42d4b1  gdb/testsuite/gdb.trace/tracefile-pseudo-reg.c
 598f6e9d0456ef53e4ae78b7a406cf2b  gdb/testsuite/gdb.trace/strace.c
-1dd90879cf18cb41d7b6ec0c0314e2a8  gdb/testsuite/gdb.trace/ftrace.exp
+7444471b1cbca0eea8ccc10609da2a57  gdb/testsuite/gdb.trace/ftrace.exp
 dc377a53d1ba7c9f0772336ee7b93104  gdb/testsuite/gdb.trace/trace-enable-disable.exp
 45e976470eb8737d217e4e73559f7447  gdb/testsuite/gdb.trace/qtro.c
 2d1cdc534fab793fb3b1623a706981b9  gdb/testsuite/gdb.trace/disconnected-tracing.c
-182e914992203dc27810aa7ee218edf3  gdb/testsuite/gdb.trace/tspeed.exp
+0b48e34f4b721f291db0f104ca9eac84  gdb/testsuite/gdb.trace/tspeed.exp
 1a14cdb3bbf44ef15bad3e7d530e1707  gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp
 0634cdea91ad0c58f84f3750a22ac61b  gdb/testsuite/gdb.trace/pending.c
 9620dfa6e5b19963d9a41ccabff9af0e  gdb/testsuite/gdb.trace/pendshr1.c
-2c6bd9dfcee56d683ab1bec77018776b  gdb/testsuite/gdb.trace/tsv.exp
-2b493519760b5c809d204d49a97f3bbc  gdb/testsuite/gdb.trace/infotrace.exp
-9cebf7e3be59602b063786772fa2db13  gdb/testsuite/gdb.trace/read-memory.exp
-e37b1725f94ba89a031792cc6b7654f6  gdb/testsuite/gdb.trace/circ.exp
+1001c381996c1505e350542e5578e226  gdb/testsuite/gdb.trace/tsv.exp
+5bcf86596ef5d1e040cea27a2f3280f4  gdb/testsuite/gdb.trace/infotrace.exp
+3de27901eaa35efa98abf42b3f4c761a  gdb/testsuite/gdb.trace/read-memory.exp
+871bf0ac9c2722c5136d92c0f83831e7  gdb/testsuite/gdb.trace/circ.exp
 0460badcbce1566e7ee7f498deae34a5  gdb/testsuite/gdb.trace/mi-trace-save.exp
-f65f0644bb3b6a94a3d4b42dc8ff09d4  gdb/testsuite/gdb.trace/signal.exp
-3568901f40acccfa0f76746cadb77311  gdb/testsuite/gdb.trace/unavailable.exp
+d1f013287ca556695eee981a500be53c  gdb/testsuite/gdb.trace/signal.exp
+e7ed51d8cf11c6ccd7d90c3aa1e70c24  gdb/testsuite/gdb.trace/unavailable.exp
 fd454d8a644058bda0f9f7309526fae5  gdb/testsuite/gdb.trace/trace-buffer-size.exp
 2720d36bd14950b28e5bc68c44a0dca5  gdb/testsuite/gdb.trace/trace-condition.c
 11bfb504c4145a2c6365b9fb4689b49a  gdb/testsuite/gdb.trace/change-loc.exp
-e276718638e0515a764804804851622e  gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
+ec3d50c2d6df120d0bb5396bf0e22313  gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
 02ab567cdd20f1ba725493c9805307b1  gdb/testsuite/gdb.trace/trace-enable-disable.c
 f587ceece99c14784829023f01136643  gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c
 3bd9cdd6ed4e5d1de39d02075b8d35e9  gdb/testsuite/gdb.trace/stap-trace.c
-869fab72c623336419891f1bb3775bd9  gdb/testsuite/gdb.trace/trace-condition.exp
+7e9168bc29e21f901319d899255d78a4  gdb/testsuite/gdb.trace/trace-condition.exp
 68c040de4866c37c9c7dd71da247be3c  gdb/testsuite/gdb.trace/trace-unavailable.c
-61f1320d1a4a1d831673eb327380b8b3  gdb/testsuite/gdb.trace/disconnected-tracing.exp
+bf02dc4c4387bb16d786aa8b90be3237  gdb/testsuite/gdb.trace/disconnected-tracing.exp
 0e56e33f083083728e0871854178f8a5  gdb/testsuite/gdb.trace/pr16508.exp
 dcc9516c02fa39f6f929548660e3c8b1  gdb/testsuite/gdb.trace/tfile.c
 608d47db8c1f0f846f195de8d44af037  gdb/testsuite/gdb.trace/ftrace-lock.c
-7e59116329b76365ff5ebdc432fda8ca  gdb/testsuite/gdb.trace/ftrace-lock.exp
+ff4fcbcf3c261b37aebc1f20cd137e5e  gdb/testsuite/gdb.trace/ftrace-lock.exp
 88048b772e55496edc79a10663c8e4a5  gdb/testsuite/gdb.trace/unavailable.cc
 cbe8f94ee4a248bbf41a6132a8baa1de  gdb/testsuite/gdb.trace/read-memory.c
 0a60dc2d4f74e561dc321ed35ab201fd  gdb/testsuite/gdb.trace/signal.c
 e48783000b0f04bfffc724c737ebf9a7  gdb/testsuite/gdb.trace/change-loc-1.c
-66dbaa98bb9bcf4634a55c3d0db0264a  gdb/testsuite/gdb.trace/strace.exp
+b40e0e47e73d7ebea2cc577a2575a177  gdb/testsuite/gdb.trace/strace.exp
 13589d57d804a1d145e3d49bfc9fcaf0  gdb/testsuite/gdb.trace/no-attach-trace.c
 6014da0fff3e60371935162eabee8bd9  gdb/testsuite/gdb.trace/tracefile-pseudo-reg.exp
 74fecdbf8a4e9a6584f54e7c393f184a  gdb/testsuite/gdb.trace/while-stepping.exp
@@ -4072,14 +4082,14 @@ ff1131456443f5069cdb3636de8a5fe2  gdb/te
 184fc6a595fbec1caedb9d6a2a38c8f1  gdb/testsuite/gdb.trace/entry-values.c
 2ee730df520834c8c381b350b5201934  gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp
 668cc9198096712fc148014ed0d3313f  gdb/testsuite/gdb.trace/change-loc.c
-7a154857a996b5825a0d7e3331eb62ba  gdb/testsuite/gdb.trace/actions-changed.exp
-254ce9bd2eba5fb065a30fe1695bc84e  gdb/testsuite/gdb.trace/report.exp
+bfd8968274e71d237e8964636ee75af5  gdb/testsuite/gdb.trace/actions-changed.exp
+4972d9aed5a3be42e5a3e16cc3a59216  gdb/testsuite/gdb.trace/report.exp
 91ac4944f9f59e07463c1d7f79b002ec  gdb/testsuite/gdb.trace/range-stepping.exp
 f1f02d73eb62ed3a2218a6173477be25  gdb/testsuite/gdb.trace/tracecmd.exp
-381ee5db7dd68d4aeab314870766cffe  gdb/testsuite/gdb.trace/backtrace.exp
-08836847df4214f4afb434b86ae98358  gdb/testsuite/gdb.trace/passc-dyn.exp
-ab52552ca58ddfc0cac2fd9696729e67  gdb/testsuite/gdb.trace/trace-mt.exp
-d24fb295e0b5ea16094f540053672a47  gdb/testsuite/configure
+b244c5f6bd77800a01249e4e9e230b12  gdb/testsuite/gdb.trace/backtrace.exp
+73e9a1547e61d0f096359858735bc536  gdb/testsuite/gdb.trace/passc-dyn.exp
+b865c4188e87d5d238631bca5ac9d4bf  gdb/testsuite/gdb.trace/trace-mt.exp
+ae01e01639532348630f941da606cca7  gdb/testsuite/configure
 9fbe2b163224a88edcfdc50c8ca21621  gdb/testsuite/aclocal.m4
 b4177a48a1b4ac92a4c8747622e11e03  gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp
 91b6c921d9b6d0943d1ed8e1ae191f02  gdb/testsuite/gdb.threads/clone-new-thread-event.exp
@@ -4111,6 +4121,7 @@ f5a278d76922692e5d437b2871cb8a84  gdb/te
 df8791a7454823af1b53cd56e0570469  gdb/testsuite/gdb.threads/wp-replication.c
 d3406c07d3d7bed231a49b34e9497893  gdb/testsuite/gdb.threads/threadapply.c
 6a753592afef1acd657a7971f73c001a  gdb/testsuite/gdb.threads/thread_events.c
+bfb9b7c1b7ca6303e185935d02ec14af  gdb/testsuite/gdb.threads/check-libthread-db.c
 a9abe257cc105c6c9f45235a1b6325db  gdb/testsuite/gdb.threads/tls-nodebug-pie.c
 2e832c00e7cb4c235641d7e6969654a4  gdb/testsuite/gdb.threads/non-ldr-exc-3.c
 5b622bc5f9b5c87ad761ded96f99375a  gdb/testsuite/gdb.threads/create-fail.c
@@ -4126,7 +4137,7 @@ a2f3715f8058b1391fcf455aec60e742  gdb/te
 0e2d7a3abb0f8d176ea1588ddfcb6638  gdb/testsuite/gdb.threads/info-threads-cur-sal.exp
 8ddc6a08a3adeb8a3874fe193e72ca1b  gdb/testsuite/gdb.threads/switch-threads.exp
 3021d4e38fd4da3cfd7bf17bb85797be  gdb/testsuite/gdb.threads/fork-plus-threads.exp
-56ea6277dd738062bf71e00bb7909278  gdb/testsuite/gdb.threads/attach-into-signal.exp
+e549d6e4f6b5356a02d15058232497a4  gdb/testsuite/gdb.threads/attach-into-signal.exp
 47ec588438f41f06e1e3297e3ea161f7  gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp
 b5e21235ba31efb75b93741c3e44fb50  gdb/testsuite/gdb.threads/interrupted-hand-call.exp
 c3d73e0cdb5328555a7710701d4b6ea6  gdb/testsuite/gdb.threads/pthreads.exp
@@ -4147,7 +4158,7 @@ d0b15bc981c041560d1fa21ba4eacdd5  gdb/te
 ad4d129ef199582213c82ea135a82918  gdb/testsuite/gdb.threads/create-fail.exp
 9eaba0dd2266d7d35941eb49845e6072  gdb/testsuite/gdb.threads/tls.c
 689256693fd930f12d1f6fe9c74e509b  gdb/testsuite/gdb.threads/signal-delivered-right-thread.c
-3bc443b9307cab95fb697304357daefe  gdb/testsuite/gdb.threads/tls-core.c
+acff685d52dcb5c22800bff63aca10d1  gdb/testsuite/gdb.threads/tls-core.c
 bfe3e7fb71f348daa10eec5b300bf34d  gdb/testsuite/gdb.threads/multi-create-ns-info-thr.exp
 fc4dc1e1eba8d555652681fe8e191976  gdb/testsuite/gdb.threads/attach-into-signal.c
 a3ea55405f85d2b0ac4f128170148834  gdb/testsuite/gdb.threads/killed.exp
@@ -4155,14 +4166,16 @@ a3ea55405f85d2b0ac4f128170148834  gdb/te
 5dc78895491c322681e81a1270ee8b95  gdb/testsuite/gdb.threads/multiple-step-overs.exp
 61efcd3ec11a2e131ca552dfdadacaff  gdb/testsuite/gdb.threads/non-ldr-exc-3.exp
 df82452f754ef15a81d71f46a0892757  gdb/testsuite/gdb.threads/print-threads.c
+60f9f1f2764b19217cda9f058eeeeab0  gdb/testsuite/gdb.threads/check-libthread-db.exp
 1af6fb7c1b19a12c6922dcd5c06c7282  gdb/testsuite/gdb.threads/current-lwp-dead.c
-89d0c71f837a5e7e8f55155285616fc6  gdb/testsuite/gdb.threads/clone-attach-detach.exp
+cce61d72cd61110b090005c55bfa4228  gdb/testsuite/gdb.threads/clone-attach-detach.exp
 a3f6f1ede316d3c02aa88f0e66dfedd8  gdb/testsuite/gdb.threads/non-ldr-exc-1.c
+560bc2a5adff07459e0dd1f7a30e80f9  gdb/testsuite/gdb.threads/multiple-successive-infcall.exp
 0e74db2ece8c7ed249bf9cb8386f15c7  gdb/testsuite/gdb.threads/queue-signal.c
 ea46f843e59ed5964f6f90cd9177d6aa  gdb/testsuite/gdb.threads/fork-child-threads.exp
 c2be2a703e173a89f2970edf3a044a81  gdb/testsuite/gdb.threads/break-while-running.exp
 49383ff15f5d720593b645dd5ee21923  gdb/testsuite/gdb.threads/non-stop-fair-events.c
-f375466c75967bd212b21d82cfe9b7d6  gdb/testsuite/gdb.threads/tls-core.exp
+d281e3aba1ea8fc58703494a34ef706d  gdb/testsuite/gdb.threads/tls-core.exp
 43f14db44e74256a550aa070a43139ee  gdb/testsuite/gdb.threads/pthread_cond_wait.c
 301cbd30b40af9793bcb9a888a665671  gdb/testsuite/gdb.threads/signal-command-handle-nopass.exp
 8b339a934ed529b1ea2e8bde2b40d4e6  gdb/testsuite/gdb.threads/current-lwp-dead.exp
@@ -4172,17 +4185,19 @@ f7e82b9ee6f278f17468ecbbedf3b521  gdb/te
 ce885e8e714a3cb40380492a425b42b5  gdb/testsuite/gdb.threads/attach-stopped.c
 60ae94520fb1e6e24c0b23bcca17bbaf  gdb/testsuite/gdb.threads/continue-pending-status.exp
 f24872fe96f0facabb525d516d6aa29f  gdb/testsuite/gdb.threads/interrupted-hand-call.c
+29c8b435b3b30cc6a0b86e44519fb6b6  gdb/testsuite/gdb.threads/slow-waitpid.c
 9e137ab959c686e94a5a730ecdef92bd  gdb/testsuite/gdb.threads/non-ldr-exc-4.c
 9f1980e50d0b18ecab95050153e4733a  gdb/testsuite/gdb.threads/tls-nodebug.c
 3dc7d316c160194b184b8c08d5b6b256  gdb/testsuite/gdb.threads/manythreads.c
 734fdcfa868c07ff662ddc0fd92d983a  gdb/testsuite/gdb.threads/local-watch-wrong-thread.c
+2bb413c2c21e9aa7b53fe2bffab64db8  gdb/testsuite/gdb.threads/attach-slow-waitpid.exp
 9b8599bab348044137522c5870c13d4d  gdb/testsuite/gdb.threads/thread_events.exp
 74fd4f42d145f6c6e96baa4f4357c341  gdb/testsuite/gdb.threads/watchpoint-fork-mt.c
 966f42af6cc2d63f0ec40eacbe063176  gdb/testsuite/gdb.threads/hand-call-in-threads.c
 3878220e43fa4bc974a33da99b0c14a7  gdb/testsuite/gdb.threads/watchpoint-fork.h
 1c81e6cce20924955b07e6f047f68e53  gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.c
 bc916f72d4c44e2baea750b48e7bd241  gdb/testsuite/gdb.threads/thread_check.c
-78b69cf36bdbbfd735ebbab8914abbc9  gdb/testsuite/gdb.threads/process-dies-while-detaching.exp
+6a335e0dbc88dedbacbb93b01ad65782  gdb/testsuite/gdb.threads/process-dies-while-detaching.exp
 0471f64566091fbad776fc17a2bb7e0c  gdb/testsuite/gdb.threads/tid-reuse.c
 462bb0e4d739eb39832cb3cd789eb259  gdb/testsuite/gdb.threads/thread-specific.exp
 7c083923fb1371ea636585bf024438b8  gdb/testsuite/gdb.threads/thread-specific-bp.exp
@@ -4194,6 +4209,7 @@ bc916f72d4c44e2baea750b48e7bd241  gdb/te
 c53da1571ad50abc97392a75d64594a4  gdb/testsuite/gdb.threads/pthreads.c
 e547cb1cea41938be5826dee99545945  gdb/testsuite/gdb.threads/killed.c
 11b74c9374f6481cc5aea8ee7d2922bd  gdb/testsuite/gdb.threads/clone-thread_db.c
+d8d3c649b559fee740daecbafd6d63dd  gdb/testsuite/gdb.threads/multiple-successive-infcall.c
 c260eb78b7f5d849176c44fad613562a  gdb/testsuite/gdb.threads/tls-so_extern.exp
 b655c47f16186b7fbf364a5501d850e1  gdb/testsuite/gdb.threads/gcore-thread.exp
 f64984e03cd85dfe3e76255a4012d741  gdb/testsuite/gdb.threads/info-threads-cur-sal.c
@@ -4227,7 +4243,7 @@ f7cb31a167e9edcaee904dcced8d2834  gdb/te
 7977f2f80913113836c8776a079e81f8  gdb/testsuite/gdb.threads/gcore-stale-thread.exp
 020d66fff1816e8a635a942aa51323fd  gdb/testsuite/gdb.threads/hand-call-in-threads.exp
 8a877db08e11df2da68d43e6ff8f25b5  gdb/testsuite/gdb.threads/tls-var-main.c
-2a90e8a68bbcd2140a3e1728ac63a684  gdb/testsuite/gdb.threads/kill.exp
+e4d4fb50890c432034fec1f10925c191  gdb/testsuite/gdb.threads/kill.exp
 ba445c53435050ca518072f3ccdeaeb9  gdb/testsuite/gdb.threads/step-bg-decr-pc-switch-thread.c
 3a3c70ce36e1e69c1e6a71a91888e5ee  gdb/testsuite/gdb.threads/print-threads.exp
 07c6a2d811556613d5fb9a5a2f33426b  gdb/testsuite/gdb.threads/process-dies-while-handling-bp.exp
@@ -4235,6 +4251,7 @@ ba445c53435050ca518072f3ccdeaeb9  gdb/te
 020b1476374ccc13acb3324bc2047fbf  gdb/testsuite/gdb.threads/process-dies-while-handling-bp.c
 096bcca017e33bad1dca8f676160170e  gdb/testsuite/gdb.threads/signal-command-handle-nopass.c
 fcf4d0cb1c57307a29ff0ee2693c53f1  gdb/testsuite/gdb.threads/next-bp-other-thread.exp
+b54a00a887790b127e7a9ea03ffb2ebf  gdb/testsuite/gdb.threads/attach-slow-waitpid.c
 f1aad3d4a918a626936d94433460d6fa  gdb/testsuite/gdb.threads/corethreads.exp
 94ce1c2898f22a9923556c22d8c3f566  gdb/testsuite/gdb.threads/break-while-running.c
 f50d6f15ead4536c63f21c70481e2126  gdb/testsuite/gdb.threads/wp-replication.exp
@@ -4252,10 +4269,10 @@ cf26e095e1bd704e8fa7cb8a7f9de0b4  gdb/te
 1f49be02d41eb2033ef7fa36813310ca  gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp
 255784395925bb84d463ed8e57e30a84  gdb/testsuite/gdb.threads/tls-shared.exp
 b940501a203cf5b25eb5f0f8c7938c22  gdb/testsuite/gdb.threads/leader-exit.exp
-4e132d8671d799c902eb0d6b7496ceb4  gdb/testsuite/gdb.threads/names.exp
+4d5ff769022a8efea71fedb08e25d90d  gdb/testsuite/gdb.threads/names.exp
 f5dc318436a20e5608d7b005ff19903e  gdb/testsuite/gdb.threads/sigthread.exp
 3ed9a5f5c4fd825654b70d4fd686391e  gdb/testsuite/gdb.threads/multi-create.c
-5f15c869bbe600ac74dae4dc2f7253d6  gdb/testsuite/gdb.threads/attach-stopped.exp
+56007795142a0f8a296e9943232e7c86  gdb/testsuite/gdb.threads/attach-stopped.exp
 69338811b8756acc7ebfa64f666d83ea  gdb/testsuite/gdb.threads/next-bp-other-thread.c
 792d03f95a01d494e326544864c585cb  gdb/testsuite/gdb.threads/sigstep-threads.c
 ac69903dfc0a42597ed5294a8a66cd68  gdb/testsuite/gdb.threads/ia64-sigill.exp
@@ -4268,7 +4285,7 @@ cc6993b9d35a4c4852c2c1911d434b79  gdb/te
 e51b72c6c5aea39c1a9bd48056245c3e  gdb/testsuite/gdb.threads/non-ldr-exc-2.c
 5e4e7ac4f6cdaaca59961dff67a0f96b  gdb/testsuite/gdb.threads/execl.c
 2608839c50ed3f890839bf7ee1f77caa  gdb/testsuite/gdb.threads/threxit-hop-specific.exp
-759d68218df16b3fc7a5a9ad1dc38e36  gdb/testsuite/gdb.threads/threadapply.exp
+0c0facb81f369d3c9214e42cac4ae970  gdb/testsuite/gdb.threads/threadapply.exp
 ee4b84f65d8038e8dba2f31bbd0889d6  gdb/testsuite/gdb.threads/watchthreads2.c
 ef115239767a7645087ab1a4dcfbf9c0  gdb/testsuite/gdb.go/print.exp
 77e2348f2eca6fb6dfc9f2c4c19fc493  gdb/testsuite/gdb.go/methods.exp
@@ -4291,7 +4308,7 @@ d44d1fe2176806ee76348b558b3a67ab  gdb/te
 de055987af9fd672f5e6aa5280e504cf  gdb/testsuite/gdb.go/integers.exp
 68d17058fa82304a192749f0eadc138d  gdb/testsuite/gdb.go/strings.go
 81b7ed6cb92c627d245bd2efc4b953b9  gdb/testsuite/gdb.go/methods.go
-2455571039b6718da6a7ef3357ea3ac9  gdb/testsuite/ChangeLog
+6e2d229b6eb07b5d713c0b6704837fea  gdb/testsuite/ChangeLog
 b3f11b21e5921c419a43f93720dedf85  gdb/testsuite/gdb.asm/empty.inc
 14f9e33160bd01242a862c5c90513000  gdb/testsuite/gdb.asm/asm-source.exp
 f1621bbbb2acbec5adef86d7d9549975  gdb/testsuite/gdb.asm/bfin.inc
@@ -4436,6 +4453,10 @@ f194b2fbe5fb922641e6ca60f47a2066  gdb/te
 65bca50e2f020e5e1b9f3466c4537a57  gdb/testsuite/gdb.ada/aliased_array/foo.adb
 16884a2a445e90db945f466a08f2c7c7  gdb/testsuite/gdb.ada/aliased_array/pck.ads
 f82e58ac962ae2882163c49269d510b8  gdb/testsuite/gdb.ada/aliased_array/pck.adb
+087851f2b168e2c43090defba19c119f  gdb/testsuite/gdb.ada/notcplusplus/foo.adb
+297b1e6a28883d99ab34c3be569da600  gdb/testsuite/gdb.ada/notcplusplus/ver.ads
+88801564e1dc52798df5fa77cf36a3ae  gdb/testsuite/gdb.ada/notcplusplus/pck.ads
+a7df10a3891b8caadcc5839b62519dc4  gdb/testsuite/gdb.ada/notcplusplus/pck.adb
 522d32a49936aa56ebfe565f4167f1d6  gdb/testsuite/gdb.ada/task_bp.exp
 10d96fd0a81351462fd2b588b5bc27b9  gdb/testsuite/gdb.ada/exec_changed/first.adb
 8303aa27e900037b89608b7fafbe6a4e  gdb/testsuite/gdb.ada/exec_changed/second.adb
@@ -4446,6 +4467,13 @@ d82bb537b0a4a9da2c119d2cb98236c0  gdb/te
 543f10a5f1de2ac9ee7b2e4b4d161463  gdb/testsuite/gdb.ada/bp_c_mixed_case/foo_h731_021.adb
 03174661cce7d2759e33c977a4c9c744  gdb/testsuite/gdb.ada/bp_c_mixed_case/qux.c
 23c12d92f0686d38ab3590044d7a0e34  gdb/testsuite/gdb.ada/bp_reset.exp
+1d69b0d3e85e1f11346b7a0264a2a40d  gdb/testsuite/gdb.ada/mi_catch_assert/pck.ads
+4113c976b39cf4221b638f551a8cc234  gdb/testsuite/gdb.ada/mi_catch_assert/bla.adb
+2f1338568351e5172ab93e32f04bafa7  gdb/testsuite/gdb.ada/rename_subscript_param/pkg.adb
+43acb6e5437341dc43d5816ab9057754  gdb/testsuite/gdb.ada/rename_subscript_param/pck.ads
+c60640df9613b329c01391dc0d345147  gdb/testsuite/gdb.ada/rename_subscript_param/pb30_012.adb
+a47df389f137fbd609a1995054c842de  gdb/testsuite/gdb.ada/rename_subscript_param/pck.adb
+d054e8c20e68a4d74b0419446b7d88bb  gdb/testsuite/gdb.ada/rename_subscript_param/pkg.ads
 fcefbc970a18796bfea7eaf89db0d593  gdb/testsuite/gdb.ada/frame_args/foo.adb
 3a9528181425a46e5ff2dec937013a63  gdb/testsuite/gdb.ada/frame_args/pck.ads
 51a2d1ad69a3e458f2245467ddb5e960  gdb/testsuite/gdb.ada/frame_args/pck.adb
@@ -4479,6 +4507,7 @@ c310b7636a49286678e0f4dc7f92ad00  gdb/te
 7c947e78caf13476d8195d21fd5d996d  gdb/testsuite/gdb.ada/float_param/foo.adb
 f3c5580cd867710062c933cd4f2b070c  gdb/testsuite/gdb.ada/float_param/pck.ads
 722617d0c8b5bde69ff5a11ea94afb92  gdb/testsuite/gdb.ada/float_param/pck.adb
+b5ad8d0c32c5b7b7faff258353598bb2  gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp
 1900e71e863f587b80ac9436fb9b7f4a  gdb/testsuite/gdb.ada/arraydim/foo.adb
 cf1677be9634f80b5681883a27897aaa  gdb/testsuite/gdb.ada/arraydim/pck.ads
 aec7f7e44549c26c7853286026a5f0f8  gdb/testsuite/gdb.ada/arraydim/inc.c
@@ -4497,6 +4526,7 @@ c795875742a1fbf194c90fdeab97b6cc  gdb/te
 a5aa7e0b4f6f1ce5f2777d5db4bdf0fb  gdb/testsuite/gdb.ada/rdv_wait/pck.ads
 02140172623d249eddb5daf4293680fb  gdb/testsuite/gdb.ada/rdv_wait/pck.adb
 3e9251886c825db75ac7009cc59af115  gdb/testsuite/gdb.ada/optim_drec/foo.adb
+1efa60db51806b565fe4d9517ea900ff  gdb/testsuite/gdb.ada/convvar_comp.exp
 bc37788adf71f28619a9eddc53a25c24  gdb/testsuite/gdb.ada/fun_renaming.exp
 b9524cf4e535bf8854b11243cbfd1358  gdb/testsuite/gdb.ada/dot_all.exp
 8e5e335398f6bd8d7f45f9969021a665  gdb/testsuite/gdb.ada/fin_fun_out/bar.adb
@@ -4512,7 +4542,7 @@ fb06e8ebc9883b24a6271ca40800698a  gdb/te
 67e6329e867576eac27883969910c70f  gdb/testsuite/gdb.ada/complete/aux_pck.ads
 23c37eab17f97701911a12eca56f7811  gdb/testsuite/gdb.ada/complete/pck.ads
 d7d3b9f366639270e0b0044b9d107c17  gdb/testsuite/gdb.ada/complete/pck.adb
-215ded38883704e809b1e0c991de4162  gdb/testsuite/gdb.ada/access_tagged_param.exp
+0e094bde731822d600354c6176294d74  gdb/testsuite/gdb.ada/access_tagged_param.exp
 48e1a73807509cac2b974a9d11b47354  gdb/testsuite/gdb.ada/ptype_field.exp
 702d1345d45814a378ee6f38e27e1609  gdb/testsuite/gdb.ada/call_pn/foo.adb
 7520b458a6932d8c5561049bde6fe368  gdb/testsuite/gdb.ada/call_pn/pck.ads
@@ -4535,6 +4565,7 @@ fa051760680c496fb7645d087ab663a4  gdb/te
 fda68c2eb32b73ed360d0e4b32114ee9  gdb/testsuite/gdb.ada/packed_array/pck.ads
 2449bcedcc694354348265facc3a6b4f  gdb/testsuite/gdb.ada/packed_array/pck.adb
 d5f424487f5426616eaefa862e0cb4c2  gdb/testsuite/gdb.ada/packed_tagged.exp
+4493a2fbc18cb0175580ce01974914d2  gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp
 da2be3e55086e5cbb3b0a5b1b2ebaf2b  gdb/testsuite/gdb.ada/win_fu_syms/foo.adb
 694aed997cad61fbf2d6bc4313ff46fd  gdb/testsuite/gdb.ada/win_fu_syms/pck.ads
 347d203b1e21c3a2d5fc8c8b26aac927  gdb/testsuite/gdb.ada/win_fu_syms/pck.adb
@@ -4552,16 +4583,18 @@ ecef315f188c13a86f4f7bfa56d436c3  gdb/te
 42efac30696162c6248123066841f906  gdb/testsuite/gdb.ada/arrayptr/pck.adb
 ab4e2216f4383e4354f49fdf95a703f7  gdb/testsuite/gdb.ada/set_pckd_arr_elt.exp
 832e89130eb43c1ddb49139336e1488b  gdb/testsuite/gdb.ada/fin_fun_out.exp
-7d5a3ef5c279bcbdcc3da54f91ff5697  gdb/testsuite/gdb.ada/start.exp
+6f0417a0671b1f588d2b2d7efb066f44  gdb/testsuite/gdb.ada/notcplusplus.exp
+1ed59aad477eb6ccf4769b11d3ef260a  gdb/testsuite/gdb.ada/start.exp
 70759e4b43b5653e1b6bc83dabce57f2  gdb/testsuite/gdb.ada/tasks.exp
 c584bd0c11c495a0b809bfe4c2670825  gdb/testsuite/gdb.ada/pkd_arr_elem.exp
 58eca6e219ded883f196c536eade94be  gdb/testsuite/gdb.ada/var_rec_arr/pck.ads
 fdc6dbf158566cc479d08405fb477d15  gdb/testsuite/gdb.ada/var_rec_arr/foo_na09_042.adb
 a4b3591f73c6f45695c406ca3044abe3  gdb/testsuite/gdb.ada/var_rec_arr/pck.adb
 9ab0a4d28f1c0ffbb2e866e6deca1173  gdb/testsuite/gdb.ada/array_return.exp
-dc3a8a890b0ca274324bbfb52cc52d75  gdb/testsuite/gdb.ada/info_types.exp
+cc204caa6a0a71193deabab316041b06  gdb/testsuite/gdb.ada/info_types.exp
 3cde6407cc7509b137da1780cf3d92d1  gdb/testsuite/gdb.ada/str_ref_cmp/foo.adb
 de13bb3b2e0e614c60747d7d819feeb0  gdb/testsuite/gdb.ada/str_ref_cmp/pck.ads
+d23019bf405ba46a2e24daab8697ec8a  gdb/testsuite/gdb.ada/varsize_limit.exp
 f714167500a97a13f0cab69ae60ce172  gdb/testsuite/gdb.ada/taft_type.exp
 c4737f93919ac087023e5b9785877831  gdb/testsuite/gdb.ada/bp_reset/foo.adb
 ccf11b3cf6c76ad4877966a361b6dbeb  gdb/testsuite/gdb.ada/bp_reset/io.adb
@@ -4576,7 +4609,7 @@ eebbd9b321e4866cd52728e94e1b323c  gdb/te
 4fd6c5b6f9c179bb9a79d65718b5a3d1  gdb/testsuite/gdb.ada/bp_range_type/pck.ads
 b5954d943a867b08a2b9b7b10f9594f5  gdb/testsuite/gdb.ada/bp_range_type/pck.adb
 a0d319e92f9ce1d57b67980585d12697  gdb/testsuite/gdb.ada/array_char_idx/foo.adb
-d0126deab340015d2d34831699e99114  gdb/testsuite/gdb.ada/array_char_idx/pck.ads
+2b5439a5a0ff9bcd63ed653c5e682634  gdb/testsuite/gdb.ada/array_char_idx/pck.ads
 b5954d943a867b08a2b9b7b10f9594f5  gdb/testsuite/gdb.ada/array_char_idx/pck.adb
 65a3e9791ec5e485a74dbe8fc43d7e99  gdb/testsuite/gdb.ada/packed_array.exp
 e223d6088aa6442c175447b2320afd61  gdb/testsuite/gdb.ada/homonym.exp
@@ -4587,7 +4620,7 @@ e829d72c9264a2d41225144a432ff393  gdb/te
 c0a0cb04a0ad7fbd57cdfcf7b29cb400  gdb/testsuite/gdb.ada/watch_arg/watch.adb
 66abbcd9b7eff11a325bbd33ae2f4a5c  gdb/testsuite/gdb.ada/watch_arg/pck.ads
 5b6576ba90d145426975fe53c434319d  gdb/testsuite/gdb.ada/watch_arg/pck.adb
-5f2c9d830e773be03ff5bfb661ae29db  gdb/testsuite/gdb.ada/array_char_idx.exp
+fef9683b82d47df966dffb1216eb791e  gdb/testsuite/gdb.ada/array_char_idx.exp
 ecb4b3235ebfb606540528aa785b2746  gdb/testsuite/gdb.ada/array_ptr_renaming.exp
 2a030ec3e781993b8ed3844ae725a8fc  gdb/testsuite/gdb.ada/bad-task-bp-keyword/foo.adb
 2eb24a2aa26fba3668e58d0ba838cc94  gdb/testsuite/gdb.ada/rec_comp.exp
@@ -4601,13 +4634,18 @@ ab8612851d7dc841a399af0de79b6feb  gdb/te
 0ce739c2f5f292351458f164d3ecc018  gdb/testsuite/gdb.ada/ptype_field/foo.adb
 fc76375e8a9d340926d85be75dea2429  gdb/testsuite/gdb.ada/ptype_field/pck.ads
 572513d28681a7b0812d653d3622481b  gdb/testsuite/gdb.ada/ptype_field/pck.adb
+a0e45f9ea3e0c94d8942889513c4a09a  gdb/testsuite/gdb.ada/bp_inlined_func.exp
 5af5da6e4c23ee445084cd0ce178011f  gdb/testsuite/gdb.ada/array_bounds.exp
 be79f38d4855c6ac5fd7f7d2389e123d  gdb/testsuite/gdb.ada/atomic_enum.exp
 6fe9edce9847828b7b51ffeac636b4c9  gdb/testsuite/gdb.ada/assign_arr/main_p324_051.adb
 793cf91842c2e5837bcee36fc6409151  gdb/testsuite/gdb.ada/assign_arr/target_wrapper.ads
+0091f462dbaf390df6b57936d3c1d0e0  gdb/testsuite/gdb.ada/varsize_limit/pck.ads
+87083382d4bfc15d0bbded4611db676b  gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb
+f8ff65e3e3a857c32e3915548c6a60d8  gdb/testsuite/gdb.ada/varsize_limit/pck.adb
 671bca572b65de2d6743961f537015ba  gdb/testsuite/gdb.ada/arrayparam/foo.adb
 0bd2eed4f677eb835aed0a2fc8fae6a1  gdb/testsuite/gdb.ada/arrayparam/pck.ads
 918d0eb687215a3dbbeef9344aa5ce83  gdb/testsuite/gdb.ada/arrayparam/pck.adb
+84c561967b5e72d230b916a306e4bf8b  gdb/testsuite/gdb.ada/bp_fun_addr/a.adb
 f3fe31a7d15875a2e44471a05161844a  gdb/testsuite/gdb.ada/tick_last_segv/foo.adb
 b68c269875a7d973a12d62ca635fd663  gdb/testsuite/gdb.ada/same_enum.exp
 3fc43701e0fa34ef807976c6d03b35e3  gdb/testsuite/gdb.ada/py_range/foo.adb
@@ -4645,6 +4683,7 @@ eebbd9b321e4866cd52728e94e1b323c  gdb/te
 edf582ec9b680a29790cdc41a95d7780  gdb/testsuite/gdb.ada/bp_on_var.exp
 1bd1c91848901a8ac2511bc31d65ef43  gdb/testsuite/gdb.ada/fixed_points.exp
 74f3f7c94b26afa44bcc6211ea31dce3  gdb/testsuite/gdb.ada/var_rec_arr.exp
+7004f3aa02215ca8292cfdb87f70a8ca  gdb/testsuite/gdb.ada/catch_assert_if.exp
 a05d2e9af37b32b245a7ca9beec93311  gdb/testsuite/gdb.ada/ptr_typedef.exp
 d2d1d3b2ec9a5e326bf33ae72d478853  gdb/testsuite/gdb.ada/byte_packed_arr/reprod.adb
 2db3de707d8f266cb7b5370b6dc64f6c  gdb/testsuite/gdb.ada/byte_packed_arr/reprod_main.adb
@@ -4685,6 +4724,7 @@ ff68746e549389da5de9c44c0772250e  gdb/te
 84970a08dfe06f0de2361861e7242924  gdb/testsuite/gdb.ada/type_coercion/ident.adb
 3d9c2445be7f97a4f483bc7b1cdeeb10  gdb/testsuite/gdb.ada/type_coercion/assign.adb
 d4a25ee06668db421b64f12cb6698200  gdb/testsuite/gdb.ada/py_range.exp
+41d8d4d0ada90351dc8a1bc76c5b9070  gdb/testsuite/gdb.ada/arr_enum_idx_w_gap.exp
 5e259517059556a59ed95956121d3641  gdb/testsuite/gdb.ada/operator_bp.exp
 91df874f04e71692fab25fa937c019a3  gdb/testsuite/gdb.ada/tagged_not_init.exp
 47a77ebf525a025705af3ceff79b1eb7  gdb/testsuite/gdb.ada/minsyms.exp
@@ -4719,7 +4759,7 @@ df46439ed3c1dd75c85d686ddc9fa31f  gdb/te
 3934dbd6758849902e62ecafe0bcf33a  gdb/testsuite/gdb.ada/widewide/foo.adb
 4174cf52f38a0029798a5fa05adc3e3a  gdb/testsuite/gdb.ada/widewide/pck.ads
 5b6576ba90d145426975fe53c434319d  gdb/testsuite/gdb.ada/widewide/pck.adb
-c5882f8e96ec355d2e4b8857b1c4966f  gdb/testsuite/gdb.ada/maint_with_ada.exp
+b5741794d7a6e457b361493a55af970e  gdb/testsuite/gdb.ada/maint_with_ada.exp
 e72bf8ed9a1d5e31852424dbf42534c9  gdb/testsuite/gdb.ada/char_enum/foo.adb
 b4f6272d76b88a55fa816ce652374874  gdb/testsuite/gdb.ada/char_enum/pck.ads
 71fc8b4707e792fbfa04393a8c03c2fc  gdb/testsuite/gdb.ada/char_enum/pck.adb
@@ -4737,6 +4777,9 @@ e49e11e3d4e30b46e00839faac1e10d9  gdb/te
 0fd9d9bf2ae27a99387cdb3f847208a7  gdb/testsuite/gdb.ada/access_to_packed_array/pack.ads
 dd4f24d80006c3f91ee4521e7a8df1aa  gdb/testsuite/gdb.ada/access_to_packed_array/pack.adb
 d2c5316c90d08194a35eef468139f2a3  gdb/testsuite/gdb.ada/mi_exc_info.exp
+fb52d7c33243fe30f211799d8abb5615  gdb/testsuite/gdb.ada/convvar_comp/pb16_063.adb
+f988653ea925b7acc58912ced65e1143  gdb/testsuite/gdb.ada/convvar_comp/pck.ads
+d439d35572420c47eb54c3a2454a6cb5  gdb/testsuite/gdb.ada/convvar_comp/pck.adb
 d7897e1e27868c1123efdad3b5508506  gdb/testsuite/gdb.ada/info_addr_mixed_case.exp
 fe796b1a72b8208f61abdae09f7c8e0d  gdb/testsuite/gdb.ada/catch_ex/foo.adb
 bffb96710cc121e21427f1a0a8f0c958  gdb/testsuite/gdb.ada/mi_var_array.exp
@@ -4745,6 +4788,8 @@ fc95723d338e0451193f90bc7cc3382d  gdb/te
 a1d24aceb3c788624c907eebd46a40a4  gdb/testsuite/gdb.ada/taft_type/pck.ads
 aed1f9ccf0d9903327c8a37b89ae8abd  gdb/testsuite/gdb.ada/taft_type/p.adb
 9b69efba62be0a715832721cdda6fe57  gdb/testsuite/gdb.ada/taft_type/pck.adb
+1d69b0d3e85e1f11346b7a0264a2a40d  gdb/testsuite/gdb.ada/catch_assert_if/pck.ads
+4113c976b39cf4221b638f551a8cc234  gdb/testsuite/gdb.ada/catch_assert_if/bla.adb
 30ed9a16a03f756c4a5a3bb063fda715  gdb/testsuite/gdb.ada/access_tagged_param/foo.adb
 5c01e209c1034dd602cb004db2bf5063  gdb/testsuite/gdb.ada/access_tagged_param/pck.ads
 12457ca9824857daf67fb8610e224adf  gdb/testsuite/gdb.ada/access_tagged_param/pck.adb
@@ -4763,8 +4808,14 @@ d1197b10f88c1c57105f3fdb7e7d46e1  gdb/te
 d960c96f4b1cc784a8d69c7c44a2cc0f  gdb/testsuite/gdb.ada/mi_var_array/bar.adb
 354921be8d9b384087a1c8b8d726b258  gdb/testsuite/gdb.ada/mi_var_array/pck.ads
 c9c00dcfdf5b6fc9f8bf998242364ee1  gdb/testsuite/gdb.ada/mi_var_array/pck.adb
+84e6c814c1257fbd48505ec627e549c3  gdb/testsuite/gdb.ada/bp_inlined_func/foo.adb
+0351ce3c0155ae48e71c952b729cf064  gdb/testsuite/gdb.ada/bp_inlined_func/b.adb
+ce35fe702049ffcf1d10019cb589990e  gdb/testsuite/gdb.ada/bp_inlined_func/b.ads
+46f5f3b8c6efbe589ac87ed8cacbddb1  gdb/testsuite/gdb.ada/bp_inlined_func/c.ads
+790144e529682ec9c0ab4313f0898a19  gdb/testsuite/gdb.ada/bp_inlined_func/c.adb
 051df4ec61d6840503c02335c9d96923  gdb/testsuite/gdb.ada/funcall_ref.exp
 5ab034a510c310e1b40dc6024b619154  gdb/testsuite/gdb.ada/funcall_ref/foo.adb
+6efdf0705be177206e9d18d518ff3ebd  gdb/testsuite/gdb.ada/arr_enum_idx_w_gap/foo_q418_043.adb
 b4303b4bf6cdebe30aae385d25e01774  gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb
 eade438f0d8b28dbddb3d7c462e7ee3b  gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads
 640ee5cb06ef8f1d86243b044cc10e2a  gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb
@@ -4800,6 +4851,7 @@ bc43acffbbebaf3db669998e6784052c  gdb/te
 eaad6395a8ee7f2e0ddf0aeda6bd74c1  gdb/testsuite/gdb.ada/pckd_arr_ren/foo.adb
 0b260c1f62f7ad6555a0a221617148cf  gdb/testsuite/gdb.ada/pckd_arr_ren/pck.ads
 83158373b2c84128a4bdde5e2f431641  gdb/testsuite/gdb.ada/pckd_arr_ren/pck.adb
+3f4eaf93f2e1399e2596f9cb5a1bf8e8  gdb/testsuite/gdb.ada/rename_subscript_param.exp
 61fd79f0e60e070c6dda5fe6a57c3578  gdb/testsuite/gdb.ada/print_pc.exp
 2a5fa3bede61cd9ed25481f6ec720698  gdb/testsuite/gdb.ada/funcall_param/foo.adb
 bad8a0aefc9f0b47a99cffe3e9907d5e  gdb/testsuite/gdb.ada/funcall_param/pck.ads
@@ -4813,7 +4865,7 @@ bad8a0aefc9f0b47a99cffe3e9907d5e  gdb/te
 6c8c25d5b3280fc7b1be62e37a32d3a3  gdb/testsuite/gdb.ada/array_of_variable_length/foo.adb
 dcfea7f8b0fa31fff3deb0d9f0a3429b  gdb/testsuite/gdb.ada/array_of_variable_length/pck.ads
 f28a202da21e9fded085b44bcabe128c  gdb/testsuite/gdb.ada/array_of_variable_length/pck.adb
-236676fa28150be0745b5e9d3a9980ce  gdb/testsuite/gdb.ada/exec_changed.exp
+71c09e8193643606ebdc84def41820a6  gdb/testsuite/gdb.ada/exec_changed.exp
 ce248fc7c2a6693488ac5cd2c166e125  gdb/testsuite/gdb.ada/dyn_loc.exp
 f9be489455a19d6f3e1082a2700f8f39  gdb/testsuite/gdb.ada/rec_return/foo.adb
 f5581d28d4c32acce9c60204f38027f3  gdb/testsuite/gdb.ada/rec_return/pck.ads
@@ -4831,9 +4883,11 @@ dd4793949372b5f19e22c8e0e84dc2e6  gdb/te
 8835fa29f0c57f5f7f53adfe34340e15  gdb/testsuite/gdb.ada/ref_param/foo.adb
 38b687d9b5a93008407646ac02067168  gdb/testsuite/gdb.ada/ref_param/pck.ads
 82c4883da515e68a0b1d81351c1dcda9  gdb/testsuite/gdb.ada/ref_param/pck.adb
+3e6e17d5c15933c3b795c5197b9c0c0a  gdb/testsuite/gdb.ada/mi_catch_assert.exp
 cc2e0ffa1c7e19c635f60060bad0e262  gdb/testsuite/gdb.ada/assign_1.exp
 494269b2cd2e0bf9a340eb113bafefa4  gdb/testsuite/gdb.ada/nested.exp
 82ab0318002183a3169f9cfa0acbe54e  gdb/testsuite/gdb.ada/mi_ex_cond.exp
+6be208c0de5c252e8e12ebe74c52a212  gdb/testsuite/gdb.ada/bp_fun_addr.exp
 761491efa7355c0c355e1b550ebfca89  gdb/testsuite/gdb.ada/variant_record_packed_array/foo.adb
 311a6acca719305ccff05281c08480b4  gdb/testsuite/gdb.ada/variant_record_packed_array/pck.ads
 9f5cd28b632d10af35c2e5309b65cdaf  gdb/testsuite/gdb.ada/variant_record_packed_array/pck.adb
@@ -4843,6 +4897,9 @@ cc2e0ffa1c7e19c635f60060bad0e262  gdb/te
 7f8b0335b4adb2fd85ddd32b135fb8a0  gdb/testsuite/gdb.ada/print_chars/foo.adb
 c310b7636a49286678e0f4dc7f92ad00  gdb/testsuite/gdb.ada/print_chars/pck.ads
 7f28ea3c41161d92e9668191fcf3f1fb  gdb/testsuite/gdb.ada/print_chars/pck.adb
+7047a1689b535f5c072a7a76a8a7192c  gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap.adb
+d364c7e14777978a63a51d3455c26864  gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap.ads
+59abf207b601cea796b5a4e58cbdcea1  gdb/testsuite/gdb.ada/arr_acc_idx_w_gap/enum_with_gap_main.adb
 2e52c2329f7cf594ea7dfa0d71564a0b  gdb/testsuite/gdb.ada/variant_record_packed_array.exp
 844926bdea2a9794db1240878427e95a  gdb/testsuite/gdb.ada/fun_renaming/fun_renaming.adb
 497f051e99e964a2ee7b996cf25fc18c  gdb/testsuite/gdb.ada/fun_renaming/pack.ads
@@ -4865,6 +4922,7 @@ af4f47289fd59a56f87a377b49a81e37  gdb/te
 fdead8f7e6f12769a325b1e5c0a6271d  gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads
 2c35130f99546198cb3f9b5895cf4109  gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb
 458137c7e4be596b83d4924cfac9183e  gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb
+6cc7cdb5b0f7e170871128190430172b  gdb/testsuite/gdb.ada/mi_catch_ex_hand/foo.adb
 3a0f5a6e09d43d6f6922480ecaeb45bf  gdb/testsuite/gdb.ada/ref_param.exp
 eb987505b4f6301de127e48f40455631  gdb/testsuite/gdb.ada/nested/hello.adb
 ecef315f188c13a86f4f7bfa56d436c3  gdb/testsuite/gdb.ada/ref_tick_size/pck.ads
@@ -4881,7 +4939,7 @@ d5c15b657c2aa468e3c54ddcf1c435ec  gdb/te
 d688c51ff0c479d33a6abcf3cef70374  gdb/testsuite/gdb.ada/pckd_arr_ren.exp
 c1c608a6b57cd88db14ea6bbbb939970  gdb/testsuite/gdb.ada/mi_ex_cond/foo.adb
 54688bf49e3825c26fb6de0649c1d318  gdb/testsuite/gdb.ada/mi_ex_cond/pck.ads
-3981f293709a46e2e00ef46abd302d7a  gdb/testsuite/gdb.ada/dyn_stride.exp
+58910b524d2dbb70d1c9eb3e1439b358  gdb/testsuite/gdb.ada/dyn_stride.exp
 aa08c56ff5b64e084eaff377b57676b5  gdb/testsuite/gdb.ada/dyn_loc/p.adb
 92586eaf454453e5d9391e2057b66897  gdb/testsuite/gdb.ada/dyn_loc/pack.ads
 781dce471b0d0cd930bbb8d015802f3e  gdb/testsuite/gdb.ada/dyn_loc/pack.adb
@@ -4903,7 +4961,7 @@ a4a4d3ba0f9f8e0b375dcfccfde762ea  gdb/te
 72c2c81aadb89a1637d843829d050d8b  gdb/testsuite/gdb.pascal/case-insensitive-symbols.pas
 cf7571066fe1862098b06e10f4849c13  gdb/testsuite/gdb.pascal/gdb11492.pas
 f95ee86e2006e7ee78fed71603983b71  gdb/testsuite/gdb.opt/clobbered-registers-O2.exp
-f815044744a57ba8812e6919d5feb71a  gdb/testsuite/gdb.opt/inline-break.exp
+f395edb3c7e95dbc9d64a3805f468d3d  gdb/testsuite/gdb.opt/inline-break.exp
 0ec23ea04ae35641cdda0ff20361d868  gdb/testsuite/gdb.opt/inline-cmds.exp
 4ccb0fae40a79b4c6414f47b5c51b3c8  gdb/testsuite/gdb.opt/solib-intra-step-main.c
 3c00ef9235f88602ee995c38256eb424  gdb/testsuite/gdb.opt/inline-locals.c
@@ -4911,7 +4969,7 @@ f815044744a57ba8812e6919d5feb71a  gdb/te
 5413248f2b31fac30dc323433809b607  gdb/testsuite/gdb.opt/solib-intra-step.exp
 7d138a6f26acdee7e17feaf5395a09d6  gdb/testsuite/gdb.opt/clobbered-registers-O2.c
 2719f2206e3e3f780cd5b68974cc2b35  gdb/testsuite/gdb.opt/inline-cmds.c
-23a978c9f1c919ed25dc8cdcca404cc5  gdb/testsuite/gdb.opt/inline-break.c
+b58765e47490efb281ad1abce2fee94d  gdb/testsuite/gdb.opt/inline-break.c
 3e017ac58fe6bea948739193a154c29a  gdb/testsuite/gdb.opt/inline-markers.c
 de9fad62daa9ab8a23c3b95a60b66ca7  gdb/testsuite/gdb.opt/inline-locals.exp
 9184ff76f1e5bc66a13ab3d3b14b5622  gdb/testsuite/gdb.opt/inline-bt.c
@@ -4919,19 +4977,19 @@ b49f372e1f87fc283111f7e2a3b18236  gdb/te
 c32119f720d46a84f7c17aaf7183dca4  gdb/testsuite/ChangeLog-1993-2013
 ff21b34b5a54f9e820dd74b9fcd4d1b5  gdb/testsuite/gdb.rust/methods.exp
 20ab3b6efa31f17762237ea8948b21bf  gdb/testsuite/gdb.rust/watch.exp
-898ed1e5f30fe0c540f5b3e57d18c23d  gdb/testsuite/gdb.rust/expr.exp
+de941b87eff75f08c11fe2a0dadeb158  gdb/testsuite/gdb.rust/expr.exp
 489e5ce234b0dda72f4fa24388f57b1d  gdb/testsuite/gdb.rust/methods.rs
 0451f641bb0d1061cab40359f437ce11  gdb/testsuite/gdb.rust/generics.exp
 baa5cd488442619749a1cebecc2e6258  gdb/testsuite/gdb.rust/traits.rs
-5e68c5f5dc05f72a00021769c3706a6b  gdb/testsuite/gdb.rust/modules.exp
+2a1ccf8ae814597bfd5c291e2c3bd0ca  gdb/testsuite/gdb.rust/modules.exp
 bed9c3dc5ff2eb5bec233c0d1ca075ba  gdb/testsuite/gdb.rust/unsized.rs
-eed310285dfc7ad9e40e3c4c47764705  gdb/testsuite/gdb.rust/simple.exp
+0b032c9ec6695f890383c334d9615d41  gdb/testsuite/gdb.rust/simple.exp
 49158854e393e67c6c7d4a193d55b61d  gdb/testsuite/gdb.rust/watch.rs
 6bab71e82f2319be4a678e844d5a1e7a  gdb/testsuite/gdb.rust/traits.exp
-862de2ce58d7633ac5e9daa863eb107c  gdb/testsuite/gdb.rust/modules.rs
+b9df65dda9038b563f25ef391ff98165  gdb/testsuite/gdb.rust/modules.rs
 9b67e7c2f2e2d50e279f049f74e7c534  gdb/testsuite/gdb.rust/unsized.exp
 4fc08777e7f9e8d8614a57d88cf1e565  gdb/testsuite/gdb.rust/generics.rs
-a8f1919e8d4b96d56d1b5209db063ae3  gdb/testsuite/gdb.rust/simple.rs
+b6b4c42585157c34cf92f05615da0fd3  gdb/testsuite/gdb.rust/simple.rs
 a36c2e9f8bf7f9d788db20927e18e921  gdb/testsuite/gdb.disasm/t12_bit.s
 70b15852295559a37b00c60d55167563  gdb/testsuite/gdb.disasm/t04_sub.s
 1cf85e7cd2f59297e0b42d84c5a2f55e  gdb/testsuite/gdb.disasm/t01_mov.exp
@@ -4970,7 +5028,7 @@ bb48a77967e989d0b96c2dd5ac6a33b2  gdb/te
 e14e8cc3e96d350310aaac726d4ea5e3  gdb/testsuite/gdb.disasm/t11_logs.s
 6c409948bdd31d4e847089a3bb37568a  gdb/testsuite/gdb.disasm/t06_ari2.exp
 1531e9f2d8c5fe8c476a72c8621ac6f5  gdb/testsuite/gdb.disasm/hppa.s
-03859f494327e691c5196c58a56d7472  gdb/testsuite/gdb.xml/tdesc-regs.exp
+62240caa95e9f71567bd35260fc23abe  gdb/testsuite/gdb.xml/tdesc-regs.exp
 ce2dcb3cd0dd30430a8052740adc04f5  gdb/testsuite/gdb.xml/maint_print_struct.exp
 4f957259a1af66b87b45b94b81dba00d  gdb/testsuite/gdb.xml/loop.xml
 f23dbf3ac2ef980b1b5a9d38ef21e94c  gdb/testsuite/gdb.xml/maint_print_struct.xml
@@ -4987,186 +5045,186 @@ b17141653a2a7f81010b78ba903cfdec  gdb/te
 4f6f7233919a7b5cbebb97e0d9b9fcf6  gdb/testsuite/gdb.xml/bad-include.xml
 0762eff212b3c7e9fe3c7047b5f037d9  gdb/testsuite/gdb.xml/trivial.xml
 db4894f09a7324b25de6b98a23383a5d  gdb/testsuite/gdb.xml/inc-body.xml
-c27b9ae22c4023ba87881ffe9fc4a92b  gdb/testsuite/gdb.gdb/complaints.exp
-47e00686f1065323e8428e3341a86da2  gdb/testsuite/gdb.gdb/selftest.exp
-322c27bf93a47b578f4fd0d2bbf95082  gdb/testsuite/gdb.gdb/observer.exp
+3f10343bb2b2755e713739b4bc88a7c9  gdb/testsuite/gdb.gdb/complaints.exp
+55d0e6bbb196d65d322985e860ed40fe  gdb/testsuite/gdb.gdb/selftest.exp
 5b4dd3cc78784f908c891c69eec5cfc3  gdb/testsuite/gdb.gdb/python-interrupts.exp
 8059c33797b348cbc3704e56a99a6e1d  gdb/testsuite/gdb.gdb/python-selftest.exp
 51d754d433a751313efc68200a779bfe  gdb/testsuite/gdb.gdb/unittest.exp
 d73a448e50a651ac6171a232b56ba1f1  gdb/testsuite/gdb.modula2/unbounded-array.exp
 2635b1ff15dfd3fa2dc596d43543ff8b  gdb/testsuite/gdb.modula2/unbounded1.c
 189e5da6330dc3a2d44a3205b91ee726  gdb/tilegx-tdep.h
-9e4440f7ea0bbaca32859f9ff361ce50  gdb/symtab.h
+fffc5b8392be874e48a25586da651b0e  gdb/symtab.h
 29209f0a84f981d84f100e8fc4c3a84b  gdb/f-valprint.c
 b6bbbfc248f90052ce30fda420c5916f  gdb/gdb_curses.h
 8108dd8f906f2654fecc74958cf383db  gdb/doc/psrc.sed
-cc58bdd7d9cc277be4a8d673f2068a89  gdb/doc/gdb.info-3
-cebb0f8a1c9bf3b81ff34bd0eaef9a8c  gdb/doc/gdb.info-4
+5161ce9cd91423649d41f720ae01bc1f  gdb/doc/gdb.info-3
+465823ca0878a1af4576a8e6a7c1a234  gdb/doc/gdb.info-4
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
-667bef4de7567c069421a0aa4b2b42ce  gdb/doc/Makefile.in
-c510fad91f0a7be0fd92d09de1e2a176  gdb/doc/gdb.info-7
-ce238ebd8ad1da77806acf2ccd2a592e  gdb/doc/observer.texi
-bb9db7fec89351aff13d33adb4590fa7  gdb/doc/gdbserver.1
+7293ab6b8a4482a4fb58806f78e27fd9  gdb/doc/Makefile.in
+0ef0425aed1845395f7829dbda5fdde3  gdb/doc/gdb.info-7
+33f3aad4a0e14c1e8d1b3fe856ebde81  gdb/doc/gdbserver.1
 8a3211e1c1b6c1a9ae823c3c469675e8  gdb/doc/guile.texi
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
 319d74c658533df2b0bedcca97af4d94  gdb/doc/stabs.info
-75253772fafd3ad664abf321f6468547  gdb/doc/gdb.info-5
+673ba3cc19629c540f1fa2958c759286  gdb/doc/gdb.info-5
 19abe6cc6d5cc545f19b7c7703223589  gdb/doc/agentexpr.texi
 66674dc351ba95941f422dc18cae24bb  gdb/doc/.gitignore
-f9434c31e40f98047ad9ca3f924f9a9c  gdb/doc/gdb.info-1
+c62d119e8aaf846d12b774ecaf18e5f1  gdb/doc/gdb.info-1
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
-29fb4835750ed105da25ba0f287d9581  gdb/doc/gdb.info-6
-31cbdd8332ee2f91513670303f5c73d0  gdb/doc/gdb.texinfo
+c5dd327a939d22a0cc6305f80ebcf567  gdb/doc/gdb.info-6
+c4f137eb4e230b7ee5413b2714846554  gdb/doc/gdb.texinfo
+962e71c5525e3f7998b96755115fe932  gdb/doc/gdb-add-index.1
 553b7fe1bf4b5d8b96fdb8cd83503de1  gdb/doc/stack_frame.svg
 04c82b1da7e894a6555868e4f86225af  gdb/doc/filter-for-doxygen
 6eef6173ced7b929f5142c1577f2189a  gdb/doc/Doxyfile-gdb-api.in
 26a572acbe3a2b351c0d3c0a2790b07d  gdb/doc/annotate.info
-fcd0c42c1f228103a08c403dc7f43498  gdb/doc/gdb.info-2
+7cf3e16fbdca0bdb6cca59127558e29c  gdb/doc/gdb.info-2
 0e44f6ffe6996c2827630e31909c3e1e  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-daa21225fc0f3d57375bf816de7c04ec  gdb/doc/gdb.info
-792ace4c71224d2dab899da2b265c147  gdb/doc/python.texi
+835adc736ddd239c84af1187da274534  gdb/doc/gdb.info
+65a7709429887bbf3a2d4cc49bfe2a38  gdb/doc/python.texi
 c3feb7ddebdf77fd82e65fc406bc2f23  gdb/doc/stabs.texinfo
-59b9502ecb343b50bcf56cbe20865eb6  gdb/doc/ChangeLog
-29a729717df704a79e06bb2215b0994d  gdb/doc/gdb.1
-fca4913dfa98260d0349a1ba5e7de77a  gdb/doc/gcore.1
+1734c16e75b7b00ef42f9968d9856563  gdb/doc/ChangeLog
+8a5dfa7572dabad7da5abfe5aca951f2  gdb/doc/gdb.1
+7497272f2572857f8b24bafb1ade0bb1  gdb/doc/gcore.1
 d39233c86ed6a6dc9e853ae6a11fe03e  gdb/doc/stack_frame.pdf
 2ad37190a4e38a8186d90bc76fc4e551  gdb/doc/Doxyfile-base.in
 3e12b16a85438bdf1fd7355cd397282a  gdb/doc/all-cfg.texi
 bf96494e6e4d346175babd5ef9781882  gdb/doc/gpl.texi
 cd5e3faa9bd1b684a73c7d527cdb4988  gdb/doc/filter-params.pl
 7bfdb0765c5d050d204fbb30aeeba0d8  gdb/doc/stack_frame.eps
-a2afb1612f70ad0763401e75d1f5772f  gdb/doc/gdbinit.5
+48fbbec826129af462fd6b8a48fa1a20  gdb/doc/gdbinit.5
 78d7bd07699d6e1b53e552cc3a1c16ef  gdb/doc/Doxyfile-gdb-xref.in
 d398b8cec3d96f0f3267dac6b8fe64bb  gdb/doc/annotate.texinfo
 5863a78c1571978dc97dccb25e481134  gdb/doc/doxy-index.in
 5fd0b4ab51371cec2c95861526ff4b9e  gdb/doc/Doxyfile-gdbserver.in
 73ec71cd3b2e7f61bc530f19d4b35056  gdb/doc/lpsrc.sed
-469d24aa02c051518afd6eca59606412  gdb/parse.c
-ccbe9794aa3ff3f9b78d39d4740bb27d  gdb/fbsd-nat.c
+828c160c19391f151ec7062a118331a6  gdb/parse.c
+c3db60566205ebafe84f5c3e8e10b65a  gdb/fbsd-nat.c
 c6e50b510f5aa2a361a607b7b68e24c2  gdb/windows-tdep.h
 57d3e4e0db70b1c2099ca24edc0efbb5  gdb/stap-probe.h
-75b0e5a72176ed15b70b6de00c4a5aac  gdb/observer.sh
 1f68d3272b33b380724fe731f1716f7b  gdb/ChangeLog-3.x
-070165f7234c29fe9cfdcc8812a66509  gdb/language.h
-fe79eb3033cc07fed51516367a566d64  gdb/tracefile.c
-69207dbe030639fc721baa54dc565a84  gdb/arm-bsd-tdep.c
-5344a442ec7a5e8bd21225faa7b84fc7  gdb/mi/mi-console.c
+6361099811727e3fdc0c625e000ec0ba  gdb/language.h
+e15d3c09fa07434a0d2a5abbc3dcf47a  gdb/tracefile.c
+266408d8483d853111c5cddbf0db77a8  gdb/arm-bsd-tdep.c
+e4380a969090133aecacefce9f80e292  gdb/mi/mi-console.c
 6f8c2811150926b44a717badfbcc8aa7  gdb/mi/mi-out.c
 f2cb9ad9e09c98824a8ae413ae6e7026  gdb/mi/mi-interp.h
 d081a41807db9ec0929c5452b0948bc2  gdb/mi/mi-getopt.c
 ce6e1244202a9c409b1318f04a48f319  gdb/mi/mi-cmd-info.c
-46833e5da228e56d9b0c944a0f591707  gdb/mi/mi-cmd-env.c
+c96c1cc687cc9316687cc7b101c5bedd  gdb/mi/mi-cmd-env.c
 dddfd39577325401cf440047132b8b62  gdb/mi/mi-main.h
-3c6cea64a160bc42448b7bf037d32d85  gdb/mi/mi-cmd-break.c
+eb4ac963212d3d2c17b5779a1488fea9  gdb/mi/mi-cmd-break.c
 356865dddd2a30d1d10a026366915332  gdb/mi/mi-parse.c
 01869ddd27adb755714b8760b519e613  gdb/mi/mi-common.c
 b6c8842ad16c54f7e3830b3455dd9f4f  gdb/mi/mi-parse.h
-7bd00074c3e479f8defefd687c4334a4  gdb/mi/mi-cmd-stack.c
-b0371d2622f29945000cb676dcb52e50  gdb/mi/mi-cmd-catch.c
+60efb9e19cc0ad83f28927b0d9c9c0eb  gdb/mi/mi-cmd-stack.c
+a5ae024546fd524e46ffbedd279d668f  gdb/mi/mi-cmd-catch.c
 dd7a9be87ce97b08f96381c2f17a163c  gdb/mi/mi-cmd-disas.c
 db71ee7126757fed3d5149b19e85475b  gdb/mi/mi-getopt.h
-440bcf0306c035d26d5b51b0b62b06dd  gdb/mi/mi-interp.c
+a97d25b759ac5f4a25fd417276eb2b30  gdb/mi/mi-interp.c
 c4a031a69392f69b941fc42d5b3aad72  gdb/mi/mi-symbol-cmds.c
 148863592e25e21730d5987ec1b7d291  gdb/mi/mi-cmd-target.c
-6a77bfca99f88fbdd0546b138e545dce  gdb/mi/mi-cmd-var.c
+cf642c8a7ad39d46eb46e4cfc7a33562  gdb/mi/mi-cmd-var.c
 00e14aedab73d46283ca1651a21c951e  gdb/mi/mi-common.h
 90b81f951a2351c88c1b4a1fedbb492f  gdb/mi/ChangeLog-1999-2003
-7412fa5f33bb5f23c4bb6b00ff8c5e1c  gdb/mi/mi-cmds.c
-582e471d752881bf152ce52f64cef2b9  gdb/mi/mi-cmds.h
-3fbd45e0b8f3b161f0bf926dd06f6b88  gdb/mi/mi-main.c
+dc0d009da352ade286b795ca84c91e7f  gdb/mi/mi-cmds.c
+3e383ca422faae9a937adb594b5b1c8b  gdb/mi/mi-cmds.h
+c1f7b9d1f5c804143b83bbc994558ed1  gdb/mi/mi-main.c
 5c427ae3a818531d4114b0b07697670f  gdb/mi/mi-cmd-break.h
-369b90c7767db170948a34a75194af96  gdb/mi/mi-out.h
-0df84e9c7fabdddf6d33ff2cae7bc3db  gdb/mi/mi-console.h
+71bf562e45f778bb12802bf2f003d8e1  gdb/mi/mi-out.h
+e7ff348b49c86d49db6c073f2aacaa0d  gdb/mi/mi-console.h
 bfd47f8ede612cee378d330d7a05cc7f  gdb/mi/mi-cmd-file.c
 33d16b2e5357341cb4d331fe75718d41  gdb/registry.h
 f938c4acf318107341963ec003678b1a  gdb/ctf.h
 63e4c8e662e1b40c2a4bd525088cf119  gdb/varobj-iter.h
-c7b14c017d7904d31f60a3c3424dca2d  gdb/mn10300-linux-tdep.c
-29d8ea7ac364c19ec28f6959a95ca9fe  gdb/gdbarch.sh
+7f0d3b75a0a4f1ae08e0bc490b8b7331  gdb/mn10300-linux-tdep.c
+16eef871a90a1e0a96a7a9cdbd9b1863  gdb/gdbarch.sh
 8c54cd86200b7e75829e6f820d5940ae  gdb/skip.h
 d87f8f330dda7f736350ea5dcff5b709  gdb/ChangeLog-2006
 b5f6fcbd46151cfd186f9b1eb2fdc939  gdb/location.c
-522f2b86f82ac4d228234044d4c6b32b  gdb/minidebug.c
-49026b2ed8f7d142e125a332806f5940  gdb/ada-valprint.c
+c7b1614d3e432b4bf65ad539c343467a  gdb/minidebug.c
+7dffb2f269f068e29a204c5e619dee32  gdb/ada-valprint.c
 63624c62c661817490ac6fa2f0d083ff  gdb/ppc-obsd-tdep.h
-1053abcd3523d28a5fb830f7a58cbef0  gdb/annotate.c
+05114b4a598c94e5d3f80e598c2962b1  gdb/dwarf-index-common.c
+3f751c5b600be29a9183cbd2b680b26b  gdb/annotate.c
 337d4a2a503dcc1b08658d238f93154e  gdb/addrmap.h
-5f9a959b901fcb8062d6a4dc8ba102dc  gdb/valarith.c
-29d0ae288a68ca2fda681c1af000f850  gdb/rs6000-tdep.c
-d1125167edb8da745cfd44ed52d35e27  gdb/linux-fork.h
-7d7b4add0df31e5c01586fef92ab3041  gdb/dwarf2-frame.c
+af901f2e895cb790861bf341024bc87a  gdb/valarith.c
+a79aba2cdd8890a49be1c3c340f5c7ba  gdb/rs6000-tdep.c
+cb9836e69367b233776168863f04add9  gdb/linux-fork.h
+25a816f717eedf124be88fb21cc51533  gdb/dwarf2-frame.c
 3471d1173d31d280aeac5c3c5cb59565  gdb/mips-tdep.h
 1d398fb2efba4853429173affa99498a  gdb/sparc-nbsd-tdep.c
 7896af3720e3ad3e1f51620535beece2  gdb/target-float.c
+d35b315df8256bb77bf26fa28642a969  gdb/riscv-tdep.h
 07257e146d0c9dcb0d093cf40cd1ffd9  gdb/mips-fbsd-tdep.h
 38b1578991d22f11c0171fdf2e86a170  gdb/gdb_select.h
 704c95954ef5b34bc650e078aedde839  gdb/dicos-tdep.c
 8231b684b7d88405d04d2bef46a24822  gdb/ChangeLog-2004
-a972dbbe432c5d7ecbb7a5616e297dae  gdb/record-btrace.h
-ec316376c6e2be62be65ee0fe8decbb5  gdb/machoread.c
-b38242aae9b798e85361c61ddf5e174f  gdb/printcmd.c
-c6b8e951a22dd8027f812552bb2372cc  gdb/serial.c
-10a3d3b7456a69d6d2b3342894d381ab  gdb/gcore.in
+86da50955a802a40f72545fdfc19c63e  gdb/record-btrace.h
+06a4237a871dbe75c6fea5c25dfd8e17  gdb/machoread.c
+951efdff8ce9755b27e81645a8119faa  gdb/printcmd.c
+3553b307e4b25392068d8f70aa7e80ae  gdb/serial.c
+df42b606868ed1d0f337a51b6c18f6d9  gdb/gcore.in
 23b6dba6d4c2f87b4f522a47dd854a34  gdb/ser-go32.c
-b578f9092fb794d46f802aac3479301c  gdb/minsyms.h
-9e96375b059c4d405489b6519bfc4467  gdb/source.h
-a455b1600136bf63d34de35c17f4a135  gdb/microblaze-tdep.c
-b1473428c54f60ce35a2eed083a576b7  gdb/procfs.h
-81665e1eabbbe4bdb7f504db4048f4d3  gdb/sparc-nbsd-nat.c
-17cf3395b846f725f8ffd5ee48ba1139  gdb/tid-parse.c
-3c38e480048a403b6d23535e5c98b539  gdb/objc-lang.c
+e3b8346d72480af83bef682a0902d53d  gdb/minsyms.h
+502f5acae8fde63246535d1467759139  gdb/source.h
+2354b470f79d6dff31ae23030629eada  gdb/microblaze-tdep.c
+2a9b1af5b85feaf17932475d88c83ab2  gdb/procfs.h
+4ff5be01c5bac92df0c1760b2663a09a  gdb/sparc-nbsd-nat.c
+0cc9b323010dfd05638e5c080bd2fb17  gdb/tid-parse.c
+3b57f95fc84608f086133a7bcc4c11b5  gdb/objc-lang.c
 3b0fd52a0d062b9de16b53a58c15eace  gdb/rs6000-tdep.h
 f50b276090db87139739e36275624248  gdb/dwarf2-frame.h
 698937a77e4a2bc651e2a822e900e65e  gdb/ft32-tdep.h
-0019dc5030e8a27671f625ff546559db  gdb/tic6x-tdep.c
+42d360ce64ad96f98ea8c4fc73373e6d  gdb/tic6x-tdep.c
 7f51552d8562e3ec02560da61fbc55f4  gdb/gregset.h
-4b8d17255a08ac831c19a5783611d362  gdb/infcall.h
-94bbc82e8dc02cddc35321f53964b5f0  gdb/source.c
-f9aa3e302383cb08240c273302248385  gdb/sparc64-linux-nat.c
-05a2672e58ee89c45e1a73148a306fb1  gdb/build-id.h
-6fe6dcb14334fc6efb2d4ef46c3cfe51  gdb/xcoffread.c
-7eba47d6c57cb4bc554120a1fa795035  gdb/valops.c
-8d1b1519231fb93a4ef4eae406eb1e4f  gdb/d-namespace.c
-0302fc65d1bbb05e49fc8a9f5f818391  gdb/sparc-nat.c
+1636b4946aafa46effc15a542900acde  gdb/infcall.h
+f957d864cfe67f1616e488c20fe12f74  gdb/source.c
+43bd1063e63ecb65a8f6f1deebd9aa8e  gdb/sparc64-linux-nat.c
+7759be6176b65904a973ffc0a8d65efb  gdb/build-id.h
+7d153b97518f2cade216d57b46490e3d  gdb/xcoffread.c
+e832353b1cf1d559041ebaf6c2121a90  gdb/valops.c
+9ca73b1d1adc3172db7b008f0dfa88b5  gdb/d-namespace.c
+61af74e1e12c935231df697ecbc38e9f  gdb/sparc-nat.c
 d0ad98ae7cee62713fe85a4e09ad168e  gdb/continuations.h
 71df178914ce817c4ef52498d3a13494  gdb/infrun.h
-9819701c5fe26104bff31afec4ff925e  gdb/jit.c
+07696e8d463beb9e2d36c36b16cc05a0  gdb/jit.c
 419f04dd4f463db03064fa29934d0899  gdb/rx-tdep.c
 c5e45419503b3c6eb53c1c4f454c600b  gdb/frame-base.h
-f5f244d07b38165438a459ef8ed986f1  gdb/xml-syscall.c
-b63df97954a6215f31a4884c1ed016d4  gdb/symfile-mem.c
-79ac601eba809dfb9e3f762a7dd8408c  gdb/c-lang.c
+57ddbfe415f5fcf9470df13df7f4ef3c  gdb/xml-syscall.c
+8e9bd9c9b9be997d2fd4ffeb35f354ca  gdb/symfile-mem.c
+7dbb1c95429be938f6592a2f4668ccd3  gdb/c-lang.c
 aba8d6987911ef805cb23a8d63c0853a  gdb/hppa-bsd-tdep.c
-6206e48e8702010adb6ef3ee5722b6f1  gdb/typeprint.h
+f6c4dac9b1333a090e91ac6d2c11c24d  gdb/typeprint.h
 4a1b5a38547eb27355cf3ccbb301e6cd  gdb/osabi.h
-c39125dd4547e3fe73e5183fd0e28d5c  gdb/symfile.h
-2a78858d814a2b9d71dd6aaeb5fd4afe  gdb/fbsd-tdep.c
+145ab3a7ba4fc2e5e79f7c94a6d1b177  gdb/symfile.h
+c69ec28f1d579f91cac5015e9fd1ea0c  gdb/fbsd-tdep.c
 1786a988c23b47a4dff1641fbeb70d25  gdb/gdb_vfork.h
-9fc3e20953862a3071eac7eb3f7641cc  gdb/hppa-linux-nat.c
-ba9b0959e89d85d3dd3653e39a42d624  gdb/avr-tdep.c
-77837789e23a81f0b6476f9f02401dfa  gdb/obsd-nat.c
-72a15b19f581f258150db3eb025f4db5  gdb/gdb_bfd.h
-e5adea573bc3640b66296c078e416c30  gdb/v850-tdep.c
-5801cd65de5afd25d26b86f71538ba97  gdb/cli-out.h
-13b55d0a2846faabc782b09250166e72  gdb/build-id.c
+520c0f6d1a3840d14ea4421bf1302cdb  gdb/hppa-linux-nat.c
+35d591f7d3b5bbf6af961b9734bb8406  gdb/avr-tdep.c
+9a17b5722651ba27aa13d8ac768119a4  gdb/obsd-nat.c
+6e712afe19f9c8e2c67f99ddea37bf9e  gdb/gdb_bfd.h
+94c70c82a351707e82f8c607152766b3  gdb/v850-tdep.c
+3b7b48cda107e41b03de006bf4408076  gdb/cli-out.h
+805a4605dc7a882d38a5c981772f1466  gdb/build-id.c
 9c2b4a34423c053dbc948a9ad841aaa3  gdb/ppc64-tdep.h
 21192b4878969ebd25eee6347c9bc4e8  gdb/c-valprint.c
-10d84556019acf4f1a0bbc0153ee11db  gdb/value.c
-ef1982a20fd7296e63e402c014e15c8e  gdb/dummy-frame.c
-6c5d86d903a6a1e7884d141ab0ab7858  gdb/ser-mingw.c
+16b29d325525fe8c7ec81a254fd1436d  gdb/value.c
+f1f9a3f461e16ede2de89f19a3b5fe4e  gdb/dummy-frame.c
+99ed19d384381a780a073c94e924d1c2  gdb/ser-mingw.c
 83d3b77c037b132a96c2a296685c74f8  gdb/completer.h
 44fcceea3084dfb5b072649db9ad8d04  gdb/arm-fbsd-tdep.h
-9f5b9f6467a7f9637d414236c566d6bf  gdb/tracefile.h
-51321ac0568e5c9c5b677a70808ef0f4  gdb/sh-nbsd-nat.c
-f6a7aa23a8adc03bf99d812cb64d33ee  gdb/stap-probe.c
-11d118ad0a23426fa93b3deec8d03d3f  gdb/make-target-delegates
+2058631f40b6744897d0ce55595b3394  gdb/tracefile.h
+b5acd2e10c5b68cc5c3f87e901df5ace  gdb/sh-nbsd-nat.c
+648db03d46e772a2a2056f9818c1cdd1  gdb/stap-probe.c
+8305de18edd6021ba98ff9d3676d218d  gdb/make-target-delegates
 e659545455c7e337aa9e7c4a992f395b  gdb/features/s390-linux64v1.xml
 69701d0a7c97718d55272ce8c4ed07e3  gdb/features/microblaze-with-stack-protect.c
 7f786e14ab037194abcc15a81b839212  gdb/features/arc-v2.c
 413326e947d006adeb61a17e4aacd06f  gdb/features/s390-linux64.xml
 14e1401897a6a68135718edfc9b902d4  gdb/features/s390-linux64.c
-c1216b000abc49e87f4166187680ec65  gdb/features/tic6x-gp.c
+7c8b471c3efd64393380c5593ece7f3a  gdb/features/tic6x-gp.c
 381b2d1edee070a1c8e2617c153c06c6  gdb/features/traceframe-info.dtd
 0273d7206ac83a23f5eda06764a8b621  gdb/features/microblaze-core.xml
 e93fb71b675055324eb5188cba6dc506  gdb/features/s390-linux64v1.c
@@ -5189,14 +5247,14 @@ df5fbeed2346df95b54160d384863f54  gdb/fe
 f25f22c310f59d182314cad569df02c1  gdb/features/s390-linux32v2.c
 344651c03e3550054486c97346dbe87e  gdb/features/number-regs.xsl
 7854c641f794ac0f56624a214b7d65e6  gdb/features/mips-cpu.xml
-363a4880823f4c069431c4f31a495332  gdb/features/tic6x-core.c
+eab9dcff1ca7813e9521b33f29991f2a  gdb/features/tic6x-core.c
 da5ca05b6582cf74230b32e0103f1b0c  gdb/features/s390-vx.xml
 9dccaa6a1c00a8927b7f201c9309b4a5  gdb/features/aarch64-core.xml
 7de76b4248d436e04d337802b675ab7b  gdb/features/arc-v2.xml
 38c4422113f20d2aa689fb3dac64208e  gdb/features/osdata.dtd
 dedeed194d943cc5e713da104f54e89b  gdb/features/mips-fpu.xml
 41b985c2cb13914d0227c5a91d25c293  gdb/features/btrace.dtd
-02cbe3d2fa94e1e326b80c3281f8ea27  gdb/features/aarch64-fpu.c
+f423f6d3f04d12446a66c3faa2390bcf  gdb/features/aarch64-fpu.c
 5cb85e1281a8a213fd676f47b764c6b5  gdb/features/nds32-fpu.xml
 c701a08ae1b2c8c2210bd4abb2172a9c  gdb/features/tic6x-c64x-linux.xml
 584b2140cb3a6d21d216ae9144426dc1  gdb/features/microblaze.c
@@ -5209,7 +5267,8 @@ f780f47bee67002e238db629f0f34a52  gdb/fe
 e868b389039a1b63bf183083568fa664  gdb/features/nios2-cpu.xml
 6e6c9626e06977cd6aa51125e6c8e8c3  gdb/features/library-list.dtd
 7168ebbad73620338e3dbbf3397c82cb  gdb/features/s390-acr.xml
-f317aeadeccdb632cbbb6f75bcc19294  gdb/features/Makefile
+976fd4ca01d3067715b1d67dceeaac87  gdb/features/Makefile
+194cb4a99973667308a77c92a3f13d2e  gdb/features/aarch64-sve.c
 94489d38c2baaf619fed02c95a2d3d51  gdb/features/tic6x-c62x-linux.xml
 69febcba8a169f98cdcf218a5c76d6b9  gdb/features/s390x-vx-linux64.c
 c8c2d8e819c46d315d3f677fab994690  gdb/features/library-list-svr4.dtd
@@ -5364,44 +5423,44 @@ b24353f6a9fb67508a7951c316df56f6  gdb/fe
 ecff902ba97e9e038ad273e3574eebeb  gdb/features/arm/arm-m-profile.xml
 48c444f2f8544f810b4ad888aa4a7b68  gdb/features/arm/arm-with-m.xml
 52f3d8110a53b4bb14f4f5a8fd390059  gdb/features/arm/arm-with-m-vfp-d16.xml
-09b7932eabc37480fc2e8f9f3a26f539  gdb/features/tic6x-c6xp.c
-24b12df9f8049b2cbdb98b5891de1206  gdb/features/i386/32bit-avx.c
+7e5965cab819ed9ce11e3e555d9b79ee  gdb/features/tic6x-c6xp.c
+7341adaff10bd182207bcdef436b0bdc  gdb/features/i386/32bit-avx.c
 da526f7b7a4aa7c6b7c659f5b4b9b213  gdb/features/i386/32bit-pkeys.xml
-b1362e7e285d3d6f9536b102c3ac066e  gdb/features/i386/64bit-core.c
+132d773c8772623f58eee8c07b6bea82  gdb/features/i386/64bit-core.c
 a199f4009e6293270d7e90fc7b83f7e8  gdb/features/i386/amd64-avx.xml
-559df26f5008d2754201d22bc6e998db  gdb/features/i386/x32-core.c
+10760ce7e126dad3d502b2da5b6085fa  gdb/features/i386/x32-core.c
 2aa99faad8895f49c3c78e34dca8cbb0  gdb/features/i386/32bit-avx512.xml
 f485bd65ac820c15d5f857bd29352d57  gdb/features/i386/amd64-mpx.xml
 c08a2d6ce3a07bcf847718d60798c04b  gdb/features/i386/i386.xml
-c62b2dcfd78adce67256bb3e83cc80c4  gdb/features/i386/64bit-avx.c
+62bbacb5556fb8695a562ccbe002b25b  gdb/features/i386/64bit-avx.c
 1f1dcd054e2da1cfcbd33c74fdd53afe  gdb/features/i386/amd64-avx-mpx-linux.xml
-8faafa40a5aa03bf284f490c55ac83be  gdb/features/i386/32bit-core.c
+3b84fc29e8a163c55d79e9eee4e2a8bd  gdb/features/i386/32bit-core.c
 93606efab5ec74af14604e45a3c165c6  gdb/features/i386/64bit-core.xml
 ff29ab4e0fec4a4dd371eaf2ec42bd39  gdb/features/i386/64bit-segments.xml
 2cfa6c4567003bbe55daf9fef8bfa3a0  gdb/features/i386/i386-avx-avx512.xml
 d87a24aecea9126f62f7b5e1d5369800  gdb/features/i386/amd64-avx-avx512.xml
 4b7ea874c922fc76ea1087564ac9b01c  gdb/features/i386/amd64-linux.xml
 fb7e72fbf80a89f84523d206004c7037  gdb/features/i386/i386-mpx-linux.xml
-a63813a3ffabd307de6a561362f6e7fa  gdb/features/i386/64bit-segments.c
+1f430f823dd903d520894913044b7b18  gdb/features/i386/64bit-segments.c
 3f5a5201e07243c5dcebef8d5512cf2b  gdb/features/i386/i386-mmx-linux.xml
 0aaf4f166dcb3b2aa6448b071886d068  gdb/features/i386/i386-avx-mpx-avx512-pku-linux.xml
 493e9debe1f7ced598c8395e41bf5adb  gdb/features/i386/64bit-linux.xml
-d74ad398fabcbc74130e1cbb6f8800f9  gdb/features/i386/64bit-avx512.c
-582597861b7fc2cb9862a6227e954d40  gdb/features/i386/64bit-mpx.c
+a175e8902e58565b22cbaf89826cd6dc  gdb/features/i386/64bit-avx512.c
+99001d70aab6df5a3135161ed125aea9  gdb/features/i386/64bit-mpx.c
 827f49b43267bcd8e697bea7b0e3c5a1  gdb/features/i386/32bit-sse.xml
 685df338d776ad096e6f8dfb409c148e  gdb/features/i386/64bit-mpx.xml
 87c466026a2ab19b01ddbab4c002a893  gdb/features/i386/amd64.xml
 5493793301e38490076c8673ace56af5  gdb/features/i386/x32-core.xml
 1f2cab96d95828dbf9dea47bb6dd1b7d  gdb/features/i386/i386-avx-avx512-linux.xml
 aac7ea609de56fe12c1fee84d24dd19f  gdb/features/i386/i386-avx-mpx.xml
-f721e33b5eabcca87cdabea231bc252a  gdb/features/i386/32bit-avx512.c
-e14948d621818fabaa08551cafe6dfc0  gdb/features/i386/64bit-sse.c
-69e45a06a5a3bd9d6f236362db0f56e3  gdb/features/i386/32bit-mpx.c
+f418259152ba5374f5b89abed45eaf9e  gdb/features/i386/32bit-avx512.c
+0efdbef501cb19c999f8f29cd12bb966  gdb/features/i386/64bit-sse.c
+5b94616691980aee784e973527cc66ed  gdb/features/i386/32bit-mpx.c
 69c6320811399c0607d4fe3c7fd69cf4  gdb/features/i386/i386-mmx.xml
 48ed262431b3096355516033877d1813  gdb/features/i386/amd64-avx-mpx.xml
 35fc5ba5329215f2a2664306f2ccf417  gdb/features/i386/x32-linux.xml
-953f14deda9347d5fd3358b2577b6053  gdb/features/i386/32bit-pkeys.c
-4f01e56fbc33b16cd665645acbdb35ae  gdb/features/i386/32bit-sse.c
+e448d05c3e2a68cdc8ecc463bbc6e1ec  gdb/features/i386/32bit-pkeys.c
+4ad4aa631d500d187fa48dbc8cb8850a  gdb/features/i386/32bit-sse.c
 42361e49d80c0bd07e62ca486745cf80  gdb/features/i386/amd64-mpx-linux.xml
 5ef3da6dd0673ff183638a7add041d29  gdb/features/i386/i386-avx-mpx-linux.xml
 867ff723318f9e6926bd4db0a63b941a  gdb/features/i386/i386-avx.xml
@@ -5409,12 +5468,12 @@ e14948d621818fabaa08551cafe6dfc0  gdb/fe
 b70dc9f7540b5f7bdb963064c97aba28  gdb/features/i386/amd64-avx-mpx-avx512-pku-linux.xml
 4ae6c3eceeb7aabc1a2071f02321e77a  gdb/features/i386/32bit-core.xml
 3119d0f85703d803756796febc9fcac8  gdb/features/i386/32bit-avx.xml
-d8f0629a1539ced6b346542fcdd725c8  gdb/features/i386/32bit-linux.c
+3de31ba03ac653c391963c5005dd931e  gdb/features/i386/32bit-linux.c
 8137ff7cb61e5d6447a5a2381527ed49  gdb/features/i386/amd64-avx-linux.xml
 c0241a8a106ebcd8d165eeace97d85e2  gdb/features/i386/64bit-sse.xml
 98aa37a9bf07bc0f6d1fe3ff60fb1c2b  gdb/features/i386/i386-avx-linux.xml
-f81c956a08a2c4a59a4f1c8eaab3f71a  gdb/features/i386/64bit-pkeys.c
-bbbf2ccaecfc26d34dcb7d62b1370eb3  gdb/features/i386/64bit-linux.c
+9b683ef2078c4478569647c1292ba45e  gdb/features/i386/64bit-pkeys.c
+f37384b1bbf050cffe090c09811696c4  gdb/features/i386/64bit-linux.c
 45d0153af0b1151cf4d1ec43fee0ae82  gdb/features/i386/32bit-linux.xml
 f49517973974f5f6b7deba1c272494e6  gdb/features/i386/x32-avx-linux.xml
 8bacaaac8b1060945be8c9ff65f04e89  gdb/features/i386/64bit-avx.xml
@@ -5437,188 +5496,192 @@ b2e46055646e4d5fe71ff223a047db22  gdb/fe
 a74f670e27b892b83c13054809c82473  gdb/features/sort-regs.xsl
 f1caf8ac0e2aa57599bf1b4defc20598  gdb/features/s390-gs-linux64.xml
 095f74d88f176f65867d1ef5594425bb  gdb/features/aarch64.xml
-e66fe88459aaf56adf4a672711545d54  gdb/features/aarch64-core.c
+bd64b165a0376ee5e21256856a9ab023  gdb/features/aarch64-core.c
 12c62d948286a2c80d4ce7f494bc71f7  gdb/features/microblaze.xml
 ddb0e6961a8bafbe81ace0ae4c624062  gdb/features/nds32.xml
 6c760553daeaba1494447b8f5f1122ed  gdb/features/aarch64-fpu.xml
 9d9baf6ee79baadc2a660370cb2c1afc  gdb/gdb_indent.sh
-11ff769491d33213b5ed1eb9d3ff4906  gdb/infcmd.c
-5854d32b6a4c7d171f4c8cfde63e28b8  gdb/valprint.c
-73d298f6ab015b3839330b59b3bad80d  gdb/solib-target.c
-a143244b01fe5f2fd8a35b7145d92a2b  gdb/tilegx-tdep.c
-4fefb6b1ad9cdf0bbc90ba10daede2ff  gdb/c-lang.h
-9150752eb0cd9e8d7ce49c2b194b75b2  gdb/breakpoint.c
+e89220297c615a1ee5bd581a2dee010a  gdb/infcmd.c
+63de0d406f081b32f3cb1ade3e683cdb  gdb/valprint.c
+849729fd85118146d99e48457eb0719a  gdb/solib-target.c
+fb88de598eefca882bafb5d68273125e  gdb/tilegx-tdep.c
+8f1e0ebb5b633e7183969b55a92d3cbf  gdb/c-lang.h
+7e00806498e0fde24d7ab6bd4b9cff35  gdb/breakpoint.c
 30e36d0136fd98d8aacfc29e3d11577b  gdb/block.h
-d6366b62963b8bc762f02959f4bbafde  gdb/ax-gdb.c
-06f5d314d21469c070bcbc7db74f468e  gdb/i386-obsd-nat.c
+0d9514ca001efc59de5eb69b17e17e4d  gdb/s390-tdep.h
+24ae38503bbd94951e4d1435adb5f379  gdb/ax-gdb.c
+fe892fdb31b046f86b878c945007f8c5  gdb/i386-obsd-nat.c
 142653f491ffb49b8e8a205903fc3a11  gdb/selftest-arch.h
 2f3a431ad6de3bffcc67339cc73603c2  gdb/prologue-value.h
 36855099488fa285fa16e3908304f11a  gdb/auto-load.h
-623678e84535132ed4b93d6142a93f49  gdb/maint.c
-2318d021a7a20073dfc3fc0697f52788  gdb/x86-bsd-nat.h
-a45c4d6ff275c639333aafd4d207ba9a  gdb/moxie-tdep.c
-96cfb2088bd716fd33a40435aabe5687  gdb/gdbtypes.c
-25556c977f675bb7650212870e1b5a45  gdb/ppc-obsd-nat.c
-4a5c1c02ed03d03cf71dc2ad24357c0c  gdb/mips-nbsd-nat.c
-6bcde19a402806c7ac139c6a298c3ed9  gdb/elfread.c
-e07e92b949eca957350cf1830080e060  gdb/aarch64-linux-nat.c
+b9ce9ff96030d324b767992ce3ff3a04  gdb/maint.c
+fcc05575fd0ef64a8721a671a004bbfa  gdb/x86-bsd-nat.h
+45f33ef810d2680cb2055fc42b51de66  gdb/moxie-tdep.c
+ccaca1cd57512a4831c865061aff50fb  gdb/gdbtypes.c
+3868f1cd52bce778efbedc4ff4fa4a69  gdb/ppc-obsd-nat.c
+8c12f9469a7f417010f03032a0c88d9a  gdb/mips-nbsd-nat.c
+f8b1ca5ad91661a091437151f6b37777  gdb/elfread.c
+2455ac7fbeee6a6d31c39c569d7168c0  gdb/aarch64-linux-nat.c
 117490adf3ca40285edf884c23cd9590  gdb/gdb_obstack.c
-0c7bc96e7f1b14efdbd05e84ff4f608f  gdb/inflow.c
-ebcb01a5231bb7cdf3d6e8e450ae597c  gdb/spu-linux-nat.c
-09a0ddf97e8fa351d2ad4c7fb79b0857  gdb/bfin-tdep.c
+bc990543a94b4988c322943896399667  gdb/inflow.c
+4faf53951f8526e16d5d9ff81ac9ac69  gdb/spu-linux-nat.c
+d821bbecacc2a9d12eed1fc59ac882af  gdb/bfin-tdep.c
 6c45598e926a24a8e9b0294cdad56b2a  gdb/linux-tdep.h
-41514d53f9e517f308f9cb490e417905  gdb/i387-tdep.h
-0a5612c703ad249deedb7e76a5efc436  gdb/gcore
+209b1acaa56c159b7d3ffc80ab321016  gdb/i387-tdep.h
+3363a8123949df516cec201fc2e20085  gdb/gcore
 0b0cadc8256edb51fcaffab84440a35e  gdb/gcore.h
-820e04e9e162cb03f75770d1c4dc3180  gdb/arm-linux-tdep.c
+bbc8028faef33c2ccf06ece0a684ae41  gdb/arm-linux-tdep.c
 ef4a97e4250fa284ff01db90586f3bc4  gdb/gdb_usleep.c
 c34f20e4031305e1e24cf7fca1154f01  gdb/hppa-tdep.h
-be00c97a9c2d442902520830d1e98a1b  gdb/completer.c
-23245425c5aed77b29c71b35b7d8d11d  gdb/solib-spu.c
+9dd6a378e93880a3e3cc2f036ecfa9be  gdb/completer.c
+234e9ec09736a0cb20851503daf9f9aa  gdb/solib-spu.c
 c821e29ab79056b33cfdb7261a2d22fa  gdb/dwarf2expr.c
-96ebe364c99d5ea4743d704cc85af11b  gdb/vax-bsd-nat.c
-5cbb1c12b40240095bc81c6975c0a936  gdb/cp-name-parser.y
+d6ded454cd898bb5a351a657cc5775bf  gdb/vax-bsd-nat.c
+cfffe33683b10d31282a618a812b6b63  gdb/cp-name-parser.y
 d7de69b94b0271e7d0cd1b552630892f  gdb/ChangeLog-2017
 dec6e56825bbce0fe617e1fd3e011a82  gdb/mingw-hdep.c
 9606f194dc537bec1b397a449aec1e65  gdb/vax-nbsd-tdep.c
-0cc8fc41e22a0d8fb8f6441494eedb65  gdb/sh64-tdep.c
 5ec8a13039f178b86804ff04e7cbdf99  gdb/ChangeLog-1998
 067f3eb153a504d0ae81682f586cf3b5  gdb/aarch64-fbsd-tdep.h
 62ca5b5dd24ff3905ed93fb37c29a2e9  gdb/nios2-tdep.h
-6bd939787d852a50f3d949931a190222  gdb/i386-linux-tdep.c
-b6843fd58887f019083c5fb279c1b7ff  gdb/mips-linux-tdep.c
-2acd9b625cb1206adfbddc4cb64cc945  gdb/inf-ptrace.c
-37fbffcb8755e60db870415ec857c901  gdb/amd64-linux-nat.c
-07955883edda991175dd487724684042  gdb/hppa-obsd-tdep.c
-64d7b8d8be5bcb93b2dfd59eca11342b  gdb/osdata.c
-b779c77955d483fabb8b0eb6d26fe08e  gdb/regcache.h
+573dcdd46d03859fd211b7affe148676  gdb/i386-linux-tdep.c
+0c24e6d5980c13343e166188f4fd2845  gdb/mips-linux-tdep.c
+c88405d38a10260025045b79a053c693  gdb/inf-ptrace.c
+d6de7ba1b9d889aeaf7ef305bbce6523  gdb/amd64-linux-nat.c
+77e3090f46d16601543db031c34257ed  gdb/hppa-obsd-tdep.c
+3431d3303e2ba5778d8e4bb4817d2a51  gdb/osdata.c
+7b64a970af2bfd9de764b324616e635e  gdb/regcache.h
 263e564ee7e8eaf0564120512583bcc2  gdb/amd64-linux-tdep.h
-047a33ce4cc5bca73f1c3a711e657d1c  gdb/sparc-obsd-tdep.c
+0431950232b320f90b3e3fc6b8806455  gdb/sparc-obsd-tdep.c
 c8d711e40ef2ce2adcfc5aa36c327dfd  gdb/ChangeLog-2016
-ee4e7e2e0a7f267d137cbd50ccabc5a6  gdb/tracefile-tfile.c
-f42da19a7c566701e415488e54cd6427  gdb/xml-tdesc.c
+875314ed53b15be7e1235d89ae15ce7a  gdb/tracefile-tfile.c
+63f09d6f884372bdd008c503dba397bb  gdb/xml-tdesc.c
 57a75fcebe3bd9c53abb69c9550caced  gdb/solib.h
 8ed16730ee1ccc0f65140f4b14928d7f  gdb/ChangeLog-2014
-c6fe99c7b3ac71acc0237c7f370b3d85  gdb/m68k-linux-tdep.c
+2b5bb5972a958f2dd8680e2ff0ab5460  gdb/m68k-linux-tdep.c
 347ca8d86eb8c6129d064268a4ca4a52  gdb/ia64-tdep.h
-05cd9982ed78eaf31c3857fcf8cbedd2  gdb/frv-tdep.c
-f683d889d6654fdf5403b4df2e0e226f  gdb/c-varobj.c
+927d1243c425d81b6a26cd492a76c332  gdb/frv-tdep.c
+a0999136dc61c9cd96d250578180d97b  gdb/c-varobj.c
 c9c5feb59254016bd1e92d838fb999ac  gdb/or1k-tdep.h
-55c135f386e504d992f81e7b4cff3a1f  gdb/i386-tdep.c
-f92faf42daf180aa640d82d18755d28f  gdb/symtab.c
-188721b408df10187529cd2c1e04551f  gdb/osabi.c
-edc4a27f2b925daefc04ecb2f8067e66  gdb/m32r-linux-tdep.c
-148f31c9cd7a4816c65b8c1749925ad1  gdb/inf-child.c
-7fddd00db10773206f26c67aa0640e15  gdb/ada-exp.y
-bd2190ae1f21bb6c32bc6c15e75647e8  gdb/frame-unwind.c
+10db0ed894d167c711262ccccfdb3399  gdb/i386-tdep.c
+20166299e060fd3b295b43a74af6cbb6  gdb/symtab.c
+83b4a5046acc009222bac2a8794b290b  gdb/osabi.c
+4a717fc61f80cc15c9aefbf90f0fbbd5  gdb/m32r-linux-tdep.c
+84007546cc383fe97536f0a893c925a0  gdb/inf-child.c
+9e711456b24ce7aaecd2d30b72b21970  gdb/ada-exp.y
+f063061f88467f0dab6fe7b7d2bd5317  gdb/x86-tdep.h
+6e58fafea49b69765fbee4f97d614eb1  gdb/frame-unwind.c
 1a4cf2a482540ae09973aab3c000b178  gdb/acinclude.m4
 ab116d0d4c883f3863e1cd60796d6926  gdb/arm-tdep.h
-b4b206c75037ba6dec103e6aad58c8d2  gdb/configure
+cca5bd9edd6e8f7991b71c5c962ffd87  gdb/configure
 1b5e1b259305f46dfc332fdcc9d4972f  gdb/main.h
-e25d68df4dd055f4bd6b3b3e0068453c  gdb/alpha-tdep.c
-4aa8e4e40d1e2b12ddf1a2d2b172d84a  gdb/xml-tdesc.h
-c693edc0b9024a3d5bbbb4f10a2657d9  gdb/h8300-tdep.c
-84ab5fd109f6bbf8e9351b0abdfc16ac  gdb/extension-priv.h
-f3286f04be8f65c033f2d2af945c4a7b  gdb/s390-linux-tdep.h
+952ece21c04cf33578607c85c9072e14  gdb/alpha-tdep.c
+448f21780f4b07afc2dedf20f5cae9a0  gdb/xml-tdesc.h
+3234afc6717f402dc07505b45ef45244  gdb/h8300-tdep.c
+5aa92d14ed56cc999670682eb10a0c50  gdb/extension-priv.h
+b8eb73dc7fae7d0a96731c9064f208cb  gdb/s390-linux-tdep.h
 2c59ca44e18440271257d8d8d76d93b8  gdb/psymtab.h
-c47221584d3bd195f6a9f151dfd2dedf  gdb/varobj.c
+7463e9d1181c6ce05b3a079308584284  gdb/varobj.c
 391a90da5a283690403794b3b11c917a  gdb/alpha-linux-tdep.c
-54d62d7e88dfedfdc2cf45e3178f18dc  gdb/aclocal.m4
-b8834c965ffdb58186754848bed23ad0  gdb/p-lang.h
+2ea7cff28a922f84e6a33e423ffe50c1  gdb/aclocal.m4
+6777ad1733cbfb91ced0c25e74b59f05  gdb/p-lang.h
 ed72e5a7e68affef48c995a7c4073492  gdb/solib-darwin.h
 a9395d09415322faea2304f9a1d7d9e2  gdb/command.h
 c8ad35fbed9ae9f7955517bb9dfddaf3  gdb/std-regs.c
-94939358229d338905f052768534159b  gdb/go-lang.h
+f18eaf82079c22fefde0df5f1a87e1e7  gdb/go-lang.h
 08acbfe7a6b5373b372b4cbe252da59c  gdb/i386-windows-nat.c
-0047e994cafe23483d700cb94f4d168a  gdb/po/gdb.pot
+9d5be2336f0572da0bb668bfa8a9c9c6  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
-e8b91e30ff3b4173fc9a5cfa9eda097f  gdb/break-catch-syscall.c
-de33c119605f9104ceecf43bcf8492ff  gdb/ada-lang.c
+adca436720b0bc29414244d2dd3adf5e  gdb/break-catch-syscall.c
+ac14f3ec9a132e6478c612f4e0dd6866  gdb/ada-lang.c
 715d5ca0108a1dcd9f91ec780c74aab0  gdb/dcache.h
 91302ac180cb979c2b2d758ed2edbb01  gdb/system-gdbinit/elinos.py
 ff7f357c1d20a712bf87a00711b2c26a  gdb/system-gdbinit/wrs-linux.py
-0cf765f68a244a0e8dcef18088e75f33  gdb/i386-v4-nat.c
-2c1c6bfbec081e143f214f9ad4dbf942  gdb/m68k-bsd-tdep.c
+9843f342ed603a055bed9cfdc28876c2  gdb/i386-v4-nat.c
+d099dbc6420b59d02f3184c91c5e9a83  gdb/m68k-bsd-tdep.c
 eb260a71230b735e18c134468df01e9c  gdb/reggroups.c
 ed568d3dbe515b1e243694d5548a0e48  gdb/gdb_wchar.h
 e5551628e587bd1b05b7e32b07c2890a  gdb/annotate.h
 ef7edcbe999ec6e6cba3c12e8198e630  gdb/ppc-fbsd-tdep.h
-67829ac1a2d3dd064623f01be0ae70a4  gdb/parser-defs.h
-1a0a118d3fee8a66fc8c875493663e04  gdb/disasm.c
+7424f11b9a409536167509de345b3531  gdb/parser-defs.h
+e262870cc0cc4fde3fdb441d39c8a44c  gdb/disasm.c
 bd0152672997c677164efd55ea54bf13  gdb/memattr.h
 727f14500d8b295f85408c90ac1a1c73  gdb/moxie-tdep.h
 8799c0c6668fbeeb67579e3053b501f3  gdb/tic6x-tdep.h
+57a5a7457c2b35d53c1f060cb8699242  gdb/dwarf2read.h
+9d8df9ed96d55d7fa7626026556acdf4  gdb/regcache-dump.c
 efe469566f6598668ac06e6a97285eeb  gdb/sparc64-fbsd-tdep.c
 bd821b37993266dfc74652865f1913b7  gdb/location.h
 f93920cb29cc5a272110e3c90e1e5949  gdb/tid-parse.h
-12064f48c202552032efb8336be6b790  gdb/record.h
-aa540553326367607c43b6d2218b60bb  gdb/sol2-tdep.c
+fb26beff408cceea341e8378ef685421  gdb/record.h
+5fb131d2567d6932164112bf2987af30  gdb/sol2-tdep.c
 8a8cd707ac9b83d6d19ac22577c2046f  gdb/cris-linux-tdep.c
 ff1c4ed48c7d2f16438d9d0db42e2b6d  gdb/arc-newlib-tdep.c
-175876d1d952b2508df2d5ad268d28bc  gdb/expression.h
-54dbb6911466ee5e7486f4631fdfceb7  gdb/nbsd-nat.h
-6caec3f4ac5f65674e15355a60e14ecb  gdb/i386-fbsd-nat.c
-d5dd5836266ef25fc2ac5e704c1c0a09  gdb/mipsread.c
-1b4194bf7b4056dfa96ced19566459ad  gdb/amd64-darwin-tdep.c
-732fe54142b386ebc3396e38da61c3e4  gdb/ChangeLog
+21751094b2d6dc92b09b350895985075  gdb/expression.h
+f539f4273565a74911411b6f401d41e5  gdb/nbsd-nat.h
+fd69e90ca8fa4b06e4ca80d18cb2b6e3  gdb/i386-fbsd-nat.c
+22b7bd034786740f2c39f2e5011e6265  gdb/mipsread.c
+a9a6ddae1b01457074654fa044ccd35f  gdb/amd64-darwin-tdep.c
+bbaeb23fa338b17d12a2441f9ce1c50f  gdb/ChangeLog
 59570a0bc164919d36efd6a8d2ef0c89  gdb/go-typeprint.c
-fcd744f8bf7027eeddb24ddf43e290d1  gdb/score-tdep.c
-486e78403fa95b4893d415ec7e70766f  gdb/m88k-bsd-nat.c
-7f13605222862aa35ce0801e04a0a8c6  gdb/xml-support.h
+fc2f696609dae162343590eeb57eda62  gdb/score-tdep.c
+c75bca55efb6a051ca94c96437efc365  gdb/xml-support.h
 780e06e1217bffb6274c3583832bb138  gdb/sparc-tdep.h
 fb894bf0788101f36b73678e4c636fbd  gdb/bsd-kvm.h
 7c86160eca88cab93ba903a23017e2af  gdb/cp-abi.h
-bb646298662e4419bf1b9960d9308c00  gdb/i386-sol2-nat.c
+7d0a926030fc41124314c207f61c64bf  gdb/i386-sol2-nat.c
 3feafdc7dfdb3512b35ab88d0668810a  gdb/sparc64-tdep.h
-0908f06ebb055fe40015aab08d911434  gdb/macroscope.c
+528631a307ed33f267e31cb5da3ce421  gdb/macroscope.c
 6b76c9d829d778d9315e55bd4684dabc  gdb/proc-why.c
-ae75737b453c6eeb279973b160f23083  gdb/cp-support.c
+4e54dd14c17570da0a57e9af6c9d728a  gdb/cp-support.c
 1de2e2c8bd6fc22a95d8484cbf584e4d  gdb/process_reply.defs
 0756c82ea272ca31e4398c77a386ef78  gdb/amd64-windows-nat.c
-08591181ba27b28f2b10a4d0c7c3185b  gdb/ctf.c
-a035723e75509673e35541d231b5a65e  gdb/remote.c
-4a374f7ab7e26f11e95ec884a5b31c52  gdb/amd64-obsd-tdep.c
-913e6c459ecdc425d981264a426c4a46  gdb/inf-child.h
+8bfaa1e5197a23980a89cb7b8997b24e  gdb/ctf.c
+443ee6d40c1717b924468285a18c69c9  gdb/remote.c
+ebd924c68b6664ef16b3207dd3cd55b6  gdb/amd64-obsd-tdep.c
+8a71bcd17e2a18c306451529e2101e5a  gdb/inf-child.h
 b35f37c594e44a5dc32d477d40c5fd03  gdb/frame-unwind.h
 985bdf1dc233eb3270085165d02cfc7f  gdb/ppc-nbsd-tdep.h
 6296de234c0dd0d2ce9dede8fbdc5733  gdb/mips-nbsd-tdep.h
-c90e68fa3a8d19e62c9f7a4cbc1881d8  gdb/fbsd-tdep.h
+2d76333c49e10c8da210730a033d2094  gdb/fbsd-tdep.h
 9732a2548d5f50fb696b030fb5cf3a87  gdb/hppa-bsd-tdep.h
 ade9b1c599d88767dbd444ae0c5d0528  gdb/proc-service.list
 11bcf7bbfd870a1e81a3dcbb7503ec66  gdb/gdb-stabs.h
-c42252cdfa18d33f353fc72623131e7f  gdb/p-exp.c
-51c9c9e127ea9d48ffe1705462096dde  gdb/btrace.c
-0d1a8f955a227b1eddb5b8ca585b6efe  gdb/m68k-tdep.c
-94432a0bca2e4172375a72c0168ecfc8  gdb/coffread.c
+3e388e863758699e234e790de23153a4  gdb/p-exp.c
+951cd506697a2e3db3a8934b2d744440  gdb/btrace.c
+2e79787d61b7f117163a20f586967915  gdb/m68k-tdep.c
+e8cd5ac9f2ef4eee49103893a06c8b33  gdb/coffread.c
 bc4c4839d2ec400b820b05b268ef9822  gdb/findcmd.c
-b29d5cf2062e67c984ffc769361f9551  gdb/i386-tdep.h
-d353b045d3c3f65d01a9ba9516a30122  gdb/hppa-nbsd-nat.c
+5f01aef2653b2d782b5183517366b05d  gdb/i386-tdep.h
+a0989fa9df5d32a43f7a4df5617d6ed0  gdb/linux-nat-trad.c
+4f856ba17c459f340bfbfcdb43e4f269  gdb/hppa-nbsd-nat.c
+eea0f72dba96d30ec4656e36bd40554f  gdb/c-support.h
 16fe9851fc48a1be973dfa0e9108963d  gdb/gdb_mbuild.sh
 44926c85efdd8b911b6f6890d36fbee8  gdb/memory-map.h
-d08cf7cc8c3ca8c54492ad461af0dbbc  gdb/symfile-add-flags.h
-ebc0e48c270472451d4b063cf95b180e  gdb/nios2-tdep.c
-b41c9ddbf838fa794161366db02b9912  gdb/inline-frame.c
-9edb8437757536e762fbabeb1f665e8a  gdb/p-typeprint.c
-cbd1070850d9e8df486ed04cf5b70040  gdb/xml-support.c
-79c6f083c94644d116d745067e49d81b  gdb/amd64-nbsd-nat.c
-8833a539d4a0a4894dba25d3a6bd6ec2  gdb/arch-utils.h
-9f69698f417cfcd2bf6d2056e9b346b6  gdb/darwin-nat.h
-afdfbf85ea33a94577121efeaa9a9435  gdb/linespec.c
+8524cdd151a5749e8df8b2a6869e2f29  gdb/symfile-add-flags.h
+3e3c7d5f5a3f26da6f0a84a7373b2df2  gdb/nios2-tdep.c
+987d570ed673738d1e0a2f1c9bf387e2  gdb/inline-frame.c
+dfe8251c7a84147830f8dcc4f260a7f9  gdb/p-typeprint.c
+60b3e39db511ab60e2b5879731a9ee70  gdb/xml-support.c
+00c06636678c973f5d087efc1b2368fd  gdb/amd64-nbsd-nat.c
+f3e46d6ec5f82e3b5b2a1ecc8ea26fbb  gdb/arch-utils.h
+79c3da1935bccd2e4a60e6493e3d1bdb  gdb/darwin-nat.h
+2c695d4fdfb01972eb44fc8dc37823e4  gdb/s390-tdep.c
+7aaa31e1b1a964cf2f5ea4558d788fe3  gdb/linespec.c
 02579627c2dda793c2bcab12c4b13533  gdb/proc-utils.h
 d49f80a15cff56e0861997f50769d218  gdb/frv-linux-tdep.c
-b77604ded755c6c937a4f92c33fc1650  gdb/ia64-libunwind-tdep.h
+9fd87c7c9002efb0a727cd87a77e6388  gdb/ia64-libunwind-tdep.h
 161e30ee05443ee6d6f40d44043a3f90  gdb/buildsym.h
-f215b816a38b3e464404d5cc1e67d517  gdb/m88k-tdep.h
-e8f442168eefe1a2923e5a9d1a1e521e  gdb/target-descriptions.h
-2d8b94e72d96adba0be68a2d1a9ba7ee  gdb/corefile.c
-0e8d6286862509e3f58f8c91814c7eaa  gdb/x86-linux-nat.c
+7d14630dfb4e68906b5cc239668d1723  gdb/target-descriptions.h
+e6c90e69beb327b86c0a51eb91ec5d94  gdb/corefile.c
+95bb7d75eebdfbc611e21baa8fe04f87  gdb/x86-linux-nat.c
 6b43c29905d617d7c2b2e07322b48204  gdb/macrotab.h
-db8a70c4b40a154a32c94c82f45c57b7  gdb/progspace.h
+199533a7c447ba7acbdebfe1f9bd5565  gdb/progspace.h
 071369803c3aba386e15e14a3328bf55  gdb/regformats/s390-tevx-linux64.dat
 44fa14e15b931dc63422873dc3a5aae1  gdb/regformats/nios2-linux.dat
 c67b2b2b626f63872d35e77d7845e9b6  gdb/regformats/mips64-dsp-linux.dat
 a1f5406c5d581a074d315e288d20d189  gdb/regformats/reg-cf.dat
-a62cf9fe3e0368c74fb40a5cb09bae29  gdb/regformats/aarch64.dat
+00a7e3cca6832c6faad32d54f2d96df1  gdb/regformats/aarch64.dat
 65d09491384f795e805f9d3e79f6c0e0  gdb/regformats/microblaze-with-stack-protect.dat
 3b2476262f56380b7ca4799bf2b32b25  gdb/regformats/s390x-te-linux64.dat
 d96faffb9bddad65bb6ef42a6e646bab  gdb/regformats/mips-dsp-linux.dat
@@ -5629,11 +5692,11 @@ c650790932c3ce82d781ba6de87a578e  gdb/re
 9762013512fadae6aa4eb1f3a9d25d3d  gdb/regformats/s390x-linux64v2.dat
 856d0743c2c4d22c48c9bfd4bee975a9  gdb/regformats/mips-linux.dat
 72e3d680eb05c6111d3ad8ac29ef52d8  gdb/regformats/s390x-tevx-linux64.dat
-19956673829dad7f3294b3ac37d36750  gdb/regformats/tic6x-c64xp-linux.dat
+a9c638174fdfa3b270bf4560e0667629  gdb/regformats/tic6x-c64xp-linux.dat
 f548472e3d5eb277710a2e79e6ec84a1  gdb/regformats/reg-cris.dat
-b4637528272ccf23bfdb0074bb15a0a8  gdb/regformats/regdef.h
-01246e5dfbc6b3fe6521a239f4d01f2b  gdb/regformats/regdat.sh
-de6f8e5928b00473281f5572a3c20d82  gdb/regformats/tic6x-c64x-linux.dat
+5392385d337b4ba5a739c64c2f08f7e3  gdb/regformats/regdef.h
+6e5ea7c307244858f3d2e27fcdaa6d7c  gdb/regformats/regdat.sh
+927dd66f0dbf9a1e01fc93010ad58708  gdb/regformats/tic6x-c64x-linux.dat
 a4c831a178c251888eeb8c4ebbc573fe  gdb/regformats/reg-bfin.dat
 d33a71319657eba589e8388250ae68a9  gdb/regformats/s390x-vx-linux64.dat
 a1c09888ecf3221afc983f497bf2c032  gdb/regformats/reg-ia64.dat
@@ -5667,26 +5730,25 @@ c016ee34079bfc9541a8b1aeb90092d1  gdb/re
 48e4338e40e3a68993c379264e3f2563  gdb/regformats/arm/arm-with-vfpv3.dat
 75c6e70590ff84e05b7853740f417fef  gdb/regformats/arm/arm-with-neon.dat
 157446984c99867172fcbe0e4b072b36  gdb/regformats/arm/arm-with-vfpv2.dat
-af49bc54d30b232ae1d16cb7aa34b41f  gdb/regformats/i386/amd64.dat
-60af9c95af90d6cbcb7cb57f147b3cfc  gdb/regformats/i386/amd64-mpx-linux.dat
-b4f029cde0e28984ccf3d170dc3ba239  gdb/regformats/i386/i386-avx-mpx-linux.dat
-3a49daae24a4a2959b85d15763fa1ff2  gdb/regformats/i386/i386-avx-avx512-linux.dat
-1532074ba4a459d3923f73649d05c85f  gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat
-f7d54b0b08f5a853e0f675122a5d9f14  gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat
-34ea302223ded0ba60fc326445eeb3eb  gdb/regformats/i386/amd64-avx-mpx-linux.dat
-2234c850279dc7d694cf06f5c8e98e9e  gdb/regformats/i386/i386-avx.dat
-b7e1621ed4c0ff506a4caf34f0dff77e  gdb/regformats/i386/i386-linux.dat
-25063f89b5ad9a6845a69982f8d8a419  gdb/regformats/i386/i386-avx-linux.dat
-0914d14168ceab90edbb96fa2ce18811  gdb/regformats/i386/amd64-linux.dat
-79406a6a1e2a36ad8784d9a6cb1664c3  gdb/regformats/i386/x32-avx-avx512-linux.dat
-35133fe587a30f33047d1c32a43f9951  gdb/regformats/i386/x32-avx-linux.dat
-936eee3d82dac9bd3a3f749f96a00f25  gdb/regformats/i386/i386-mmx-linux.dat
-18baad3e82ea13ce0a76d505a2448aac  gdb/regformats/i386/i386.dat
-7aed12a4adf6bac37d1a3734e6a3d801  gdb/regformats/i386/amd64-avx-linux.dat
-11d6a8e3822f79b0478c9fc83d0c54f2  gdb/regformats/i386/x32-linux.dat
-5ff40bbc37d217291eeff39338f7f6ec  gdb/regformats/i386/amd64-avx-avx512-linux.dat
-a925e3ae31af6d268e6abb8096181cbb  gdb/regformats/i386/i386-mpx-linux.dat
-a2ee14ef55ab34863e8ac79cf7285e14  gdb/regformats/tic6x-c62x-linux.dat
+e08ceb815fd8d865dc5d6a581b15f789  gdb/regformats/i386/amd64.dat
+4ed921c823548bf15910c6d3fab74a5d  gdb/regformats/i386/amd64-mpx-linux.dat
+5af6b6c167758a5232baf6636dee4d84  gdb/regformats/i386/i386-avx-mpx-linux.dat
+b72aceffac1a7e89a10aa55d34bd1853  gdb/regformats/i386/i386-avx-avx512-linux.dat
+877082dee107434aab9404042abc1ee9  gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat
+08bdad1c50fe91d879522ae2be90d2ad  gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat
+cf61071ef7a8ca92a775c687cee92752  gdb/regformats/i386/amd64-avx-mpx-linux.dat
+59f68ca27545e42c13f3c13e1d1f36a6  gdb/regformats/i386/i386-linux.dat
+6924b1e68858205d5fc2d90c4b4c0790  gdb/regformats/i386/i386-avx-linux.dat
+e52f191b44fcc6f5454a545cc1400ecb  gdb/regformats/i386/amd64-linux.dat
+c00287cf28a7390ef3885e23457cab42  gdb/regformats/i386/x32-avx-avx512-linux.dat
+e116fe0e5746289767dd0134332c5811  gdb/regformats/i386/x32-avx-linux.dat
+7d0d10710b3bc63660f448dddfe7a29b  gdb/regformats/i386/i386-mmx-linux.dat
+d6a5896b2ef6345906da5a34120c2f94  gdb/regformats/i386/i386.dat
+8cf79821a88a9ed314ef6bd45e39ffa3  gdb/regformats/i386/amd64-avx-linux.dat
+c267561d5485cf10a43ca7bb06c24f7f  gdb/regformats/i386/x32-linux.dat
+20d083eb7ff6798fd87eb39dae5d75ea  gdb/regformats/i386/amd64-avx-avx512-linux.dat
+cf0b39e9962e17e40b5ee360d3cd8ed8  gdb/regformats/i386/i386-mpx-linux.dat
+062213141aa7079c5b2c16a610e7abc9  gdb/regformats/tic6x-c62x-linux.dat
 649dc3a9cda4e6af78d3841bbd6dd87e  gdb/regformats/mips64-linux.dat
 657ed262c66093acacf0ccf85f97c55c  gdb/regformats/reg-sh.dat
 6c44ad193d2976f1ea8ae411875fdf2d  gdb/regformats/s390-linux64v1.dat
@@ -5697,14 +5759,14 @@ b09b0ee5da44df728eb552f6bf6ed138  gdb/re
 7d521124886bd1a212ec6ac542743020  gdb/regformats/s390x-linux64.dat
 40ba412a0b4d6cebeef61c90e6f6629d  gdb/regformats/s390-linux64.dat
 1f676d929927876ac99e87b43c7343fe  gdb/arm-obsd-tdep.c
-db49dde2af2daf88dc1dee782595c5d2  gdb/utils.h
+01fd3d867a9956fb8f1446b833d53141  gdb/utils.h
 dfff610eb710a6a7232db443997e7d83  gdb/sparc-sol2-tdep.c
-d1791976662ddc82cedc7d9e176662a5  gdb/procfs.c
+09a2a848a81c60bb0aa78690ac39b603  gdb/procfs.c
 b4e966a104efb5131285d0ea2da0c7d5  gdb/solib-svr4.h
 3ce4249f299a24f9b4d55bf48173725a  gdb/psympriv.h
-cb43e6f45218c556d2e4074223d7d322  gdb/rust-lang.c
-55c16baa21a3dd6b7ce35159dc913fc1  gdb/m32r-tdep.c
-b989c8caa85b1dc5b834c908aae4da1e  gdb/hppa-tdep.c
+af36fdbf5a6a724c43000734181e6af1  gdb/rust-lang.c
+2ee605374f4c3f0b2dd31cbac8dbd203  gdb/m32r-tdep.c
+a895ef4c32e7ffe665a772b400a36a38  gdb/hppa-tdep.c
 f2e3059a9390bb03663fa83309362f4c  gdb/exceptions.h
 d32239bcb673463ab874e80d47fae504  gdb/COPYING
 ff2d69169c8ac08ef7b81b059ad5c4a3  gdb/arm-symbian-tdep.c
@@ -5713,15 +5775,15 @@ ff2d69169c8ac08ef7b81b059ad5c4a3  gdb/ar
 df40325994151c2a5e883b19d3471328  gdb/guile/scm-auto-load.c
 46643cfd6c6d08f51c96b911a94eb749  gdb/guile/scm-arch.c
 10515ffc851a022030d418e69a878558  gdb/guile/scm-objfile.c
-32d923a3622c04a1551d3244c9a7a943  gdb/guile/scm-frame.c
+9600f8532b1b9222b06114ad66c9f33f  gdb/guile/scm-frame.c
 520658d110ac7bd41fbd26e1ac81efa0  gdb/guile/README
-c74f126ae3e7cd2d48df9ef269b4697f  gdb/guile/scm-type.c
+053dd42fac1d9ca7cfe916ff17c5ba74  gdb/guile/scm-type.c
 6489f18e6212b4d1d1556b1f99935b8e  gdb/guile/scm-exception.c
 53f2741d77de60716ceee8a299983b37  gdb/guile/scm-safe-call.c
 dd52c62c15619bf76c86075836093fdf  gdb/guile/scm-gsmob.c
-4179ae8c2caea6938644ade301055b15  gdb/guile/scm-utils.c
+da18218edc13930facafeaa2f854244f  gdb/guile/scm-utils.c
 c5595d689e29e6251695159860a88ce0  gdb/guile/scm-iterator.c
-391f9b4d4dbf00009172cbcf440778bc  gdb/guile/guile.c
+da18925609e81c0c796ecf12f3047277  gdb/guile/guile.c
 1041e003321c69ee765b2054d88bf390  gdb/guile/lib/gdb.scm
 0c14c488c44cf39a918667fd5aac715f  gdb/guile/lib/gdb/support.scm
 29393af4f7be2b4e3509b4a27bd70b2f  gdb/guile/lib/gdb/printing.scm
@@ -5736,8 +5798,8 @@ e05bfc7f0123afd1b04a8bd49c460467  gdb/gu
 e9a39af7c9be1b1a8dabdb0820edd071  gdb/guile/scm-symtab.c
 20422374ba9e4bbaf563ddfc7b8f7641  gdb/guile/scm-math.c
 5425886b05697c4eefd02e4691b6cb47  gdb/guile/guile.h
-e536abe064eedbfaaff7ed0957744c31  gdb/guile/scm-breakpoint.c
-afc58451f48a0740361d668227260c4a  gdb/guile/scm-value.c
+cebca95e81ec864a425aaffc3edbf536  gdb/guile/scm-breakpoint.c
+8d2280b3f7dbb05af9bdbfeb31e04dec  gdb/guile/scm-value.c
 10c2e293ce18664326ceb1af4cc73108  gdb/guile/scm-pretty-print.c
 a726510eb7f6c9e5dc39cf6e424de106  gdb/guile/scm-disasm.c
 a97a7f17c996cf406d64da4bed15941f  gdb/guile/scm-progspace.c
@@ -5746,152 +5808,154 @@ a97a7f17c996cf406d64da4bed15941f  gdb/gu
 7d0a4194b0712acf4ae32487db3ee7a7  gdb/guile/scm-lazy-string.c
 f7b99d722f6b9078f437c02817b64dac  gdb/obsd-tdep.h
 5f8a7f14389aedb3c04f987a61c5b79e  gdb/charset.h
-708a37154128641815ec7e089da8e76e  gdb/memory-map.c
-61415f33c8f37542b385b2ca7a8ddb83  gdb/mdebugread.c
-044caad455e4f67f623622e3201cdc9c  gdb/progspace.c
-71f5132d1dcd57dd186cd6baac40ce4d  gdb/sparc64-fbsd-nat.c
+0646fa1d28e98c8fe883522086a8e548  gdb/memory-map.c
+ed7603230a002a96f0a105b53bd1a217  gdb/mdebugread.c
+631ed7d0f47f61669f3b7a006a773734  gdb/progspace.c
+5f9b0dfde8d08b828b8f4cd1341547b7  gdb/sparc64-fbsd-nat.c
 67074d22d1485e8d592c73e37d61cdab  gdb/nbsd-tdep.c
-27e6ff3d68459267c2d290a6c0398b8f  gdb/macroscope.h
-e7cc8ca8b50c79ada60a88cae160ae45  gdb/ada-lex.c
-3ddfe70804e6aa7bcae2821417634b5e  gdb/solib-darwin.c
-69b755abab8efc12196486804e27a91b  gdb/tilegx-linux-nat.c
+9bcb0aac11dd1cd8d78e6ac52faa22fa  gdb/macroscope.h
+32ee9354056253f6d10636ca4c7ec10f  gdb/ada-lex.c
+3e5b7c731e9e9a1be55b15fa6593ca55  gdb/solib-darwin.c
+0eaa204b7848f4a281f063b53c08d49b  gdb/tilegx-linux-nat.c
 a10e5ce959c537aa24c42c56f0161340  gdb/filesystem.c
 70a77fd6898743da19391f432f32be37  gdb/ChangeLog-2008
-372d1dd6fce502a0d70e99b2b4c219a9  gdb/nbsd-nat.c
+a6c02548b91292a14df8b2da3f5c429c  gdb/nbsd-nat.c
 0af191c82b11678cb68426f5472f7f84  gdb/dicos-tdep.h
 c8b7a7ab4dffef5419e8e6c987b2c3f0  gdb/serial.h
-0191fdc5eadc64f6c7256f5893fb277e  gdb/d-lang.h
-aadd758ebdbf303f0ea0d9136877e5e6  gdb/sparc64-tdep.c
-abc9c50e071e3555dbadf6a32ed34b47  gdb/sparc64-obsd-nat.c
-71b77a1ff0afc7bb2da28fff7e26a264  gdb/rs6000-lynx178-tdep.c
+6a8d7b1d008666bc6576deb0c2a09d57  gdb/d-lang.h
+96e7c0a227c3aa791871b59965707dcf  gdb/sparc64-tdep.c
+5a43fe5cb333c00207a2832cb0bb4ca2  gdb/sparc64-obsd-nat.c
+fc98c919d131afb8d16d5f13991bfb8f  gdb/rs6000-lynx178-tdep.c
 626fd56e46e49b0431a9c5be2785d74b  gdb/arch/aarch64-insn.h
 3e8db35bff664904e0ddbcbd166c026e  gdb/arch/xtensa.h
 7aec4a27a703657f33e46c9a277b6f83  gdb/arch/tic6x.h
 d9db185275091a20180154008c613689  gdb/arch/arm.h
-f954c2f134b689cc25b863abc251c48b  gdb/arch/arm.c
-5d62dcd037f7d40fa60ca3b0952f73cc  gdb/arch/amd64.c
-059fddd42f372fa565aba47f6059743a  gdb/arch/i386.c
-6b802587ea82785bade2d29ee8427343  gdb/arch/aarch64.c
-a2eb488406a8f19d92095a6196a573d1  gdb/arch/aarch64.h
+322065b724b315def4d46762fc29ca9a  gdb/arch/ppc-linux-common.h
+533fb0bc346492fbf7eed517d5b46608  gdb/arch/arm.c
+709bb69bf26be9e14d6f488168639505  gdb/arch/amd64.c
+3b1ac76e768347c282837eedafa6bf2e  gdb/arch/i386.c
+7dafb7bd82528028883793742fac1900  gdb/arch/ppc-linux-common.c
+70f49d667b85200275918ad1203e281d  gdb/arch/ppc-linux-tdesc.h
+1711398748fce63990b1526874994c69  gdb/arch/aarch64.c
+26a0178ffe8d2945489046fb31549e84  gdb/arch/aarch64.h
 0e777f54ba06ef4bc43f82bec99bdcdb  gdb/arch/aarch64-insn.c
 33da6ae5d5e074f7f541877d1d8f911a  gdb/arch/arm-linux.h
 f0cd473ef79fe1a466e33127fca0892b  gdb/arch/arm-linux.c
 82f894e7024b380ccf4c9b6a4472d724  gdb/arch/arm-get-next-pcs.h
-f1e0171e0ed49a8ae91a8c9b0dcbc9e0  gdb/arch/tdesc.h
-9e05875e8eb51e88278b9fefbabd40ca  gdb/arch/tic6x.c
+8517cf7f017842ffa25399e71043a52e  gdb/arch/tic6x.c
 213d48e7161f7e8a3cec6d609d2b5285  gdb/arch/arm-get-next-pcs.c
-8cd9e1c41339df87028922ffcd5c1a53  gdb/arch/amd64.h
-54555e7664f182e59a9b84646b525e6f  gdb/arch/i386.h
-b41fb7afd91b60702e566f3ca812f57d  gdb/gdb_obstack.h
+5df50f53680586a416e3d9a671f98249  gdb/arch/amd64.h
+4b782caba7b5c80a8b618a346e97e465  gdb/arch/i386.h
+fb9ab05905f70594303e1568db7414e3  gdb/gdb_obstack.h
 eb3c382595de2e131c8d2649f69e3b5e  gdb/gdbserver/xtensa-xtregs.c
 9c02512d41a0da7f4176926d8c47efa2  gdb/gdbserver/linux-m32r-low.c
-a28e2c081269fbf8d740c4be28e6f91f  gdb/gdbserver/event-loop.c
+4e8cbc5eaef936d11c7ac5eb7d908abb  gdb/gdbserver/event-loop.c
 947789498340f3e1b403546940c1fe3e  gdb/gdbserver/linux-tic6x-low.c
 bbb81af88626fe0414a6826fd172f0e5  gdb/gdbserver/inferiors.h
 30b63fe788b3fa9582ba39bc94e8a371  gdb/gdbserver/win32-arm-low.c
 369c14baa6ea408223aa30ee45c15cc1  gdb/gdbserver/linux-bfin-low.c
-1f354e3cce568106f9a5c6e4fc87d263  gdb/gdbserver/Makefile.in
+898bc8c12ea5efdac0bacdf8bda2da4f  gdb/gdbserver/Makefile.in
 57ae21aa7a8f5e943ac0984e6219bf38  gdb/gdbserver/x86-low.h
-007add9d622dced8430375e326790dfe  gdb/gdbserver/linux-ppc-tdesc.h
 c989e28f14e68f6bd1ba0a838f36ee80  gdb/gdbserver/hostio-errno.c
 deac692c45e7238b0a0bb28d008b6dc8  gdb/gdbserver/dll.h
 8b11f67a3a6ce2a78f55b862f5646731  gdb/gdbserver/nto-x86-low.c
-8892816a32856cb5442be4327e3f5dc8  gdb/gdbserver/target.h
-cda5f33d41ade4c904688039c5f8e8fc  gdb/gdbserver/fork-child.c
+d82c8e5162a2f2109718b4225322fafb  gdb/gdbserver/target.h
+210b59d4085a3075afb96e5d38c389e2  gdb/gdbserver/fork-child.c
 4e03dc1bc5942f707e4ec80b07c04903  gdb/gdbserver/linux-low.h
-afc13237c47423775a0fb8d351a993dd  gdb/gdbserver/linux-aarch64-tdesc.c
+d1a9739af597885f72de0d16a39b8316  gdb/gdbserver/linux-aarch64-tdesc.c
 f5b82e276b10a006cdd00aa2a2224be3  gdb/gdbserver/linux-ia64-low.c
-f10924de23483803d6080ed181ce6866  gdb/gdbserver/configure.srv
+2a1d672ae7ac7c67bb62d3362d1b611e  gdb/gdbserver/configure.srv
 cccc03639697cc2a9899765e10e16ce5  gdb/gdbserver/linux-arm-low.c
-538f3315a9d2799755b220871858668b  gdb/gdbserver/tracepoint.h
-572d0ec40e1152f668ea8925d18c6dc2  gdb/gdbserver/linux-aarch64-low.c
+84e78f0b5bd688347b0b0fa37c61f698  gdb/gdbserver/tracepoint.h
+928fd871739c8ee5f12ee6383246dd8e  gdb/gdbserver/linux-aarch64-low.c
 86de296075a1a56f6810d56ce42b922f  gdb/gdbserver/event-loop.h
 768b906bf2ef925490de73ce0780eeb4  gdb/gdbserver/ax.h
 b1bc026b75ed2c8949259c6dcdd3bea3  gdb/gdbserver/linux-m68k-low.c
 b7f45c8fe694ea0901bfdde94b496ecd  gdb/gdbserver/mem-break.h
 1cf034ffa508eff259ba343e0d5f8d01  gdb/gdbserver/wincecompat.c
 014205a50ab69250987607d71ecce8d6  gdb/gdbserver/utils.c
-1ff44f4b661cd25bbc2c4f6d341cb526  gdb/gdbserver/win32-low.c
-b436282c2f3fb0716179d650892771ca  gdb/gdbserver/linux-x86-tdesc.c
+81a2229135f43cd3f70343ef4af153e5  gdb/gdbserver/win32-low.c
+e0ad28052fa118743d50fe7337dcf275  gdb/gdbserver/linux-x86-tdesc.c
 051386225be0bafdbbd83eae5da06132  gdb/gdbserver/lynx-low.h
-c5b04cbe4d0ea55ccf0e19cfe202b8dd  gdb/gdbserver/tdesc.c
-b5060875a98573926155a1b87f27e06c  gdb/gdbserver/config.in
-3257fe7803cd14697fd87cd7356b25ea  gdb/gdbserver/configure.ac
+51dfe855c47f219b38d7abed42d9a9c8  gdb/gdbserver/tdesc.c
+095bd7ed6612ad42414c1cfdadd85f9e  gdb/gdbserver/config.in
+cb7d52b6807e3d5d099ceeeac1050cac  gdb/gdbserver/configure.ac
 791b58ddf159b59c7d9375e2c2f00a07  gdb/gdbserver/README
-e592ff47af6146259906f9893dcdb8ac  gdb/gdbserver/mem-break.c
-2049cb73a60db99ff0517d0d5fc03e76  gdb/gdbserver/linux-mips-low.c
+4f2dedc04f5314a34afd4fb3e7a88068  gdb/gdbserver/mem-break.c
+521203df84cc95d1dac9c0c95e8f9445  gdb/gdbserver/linux-mips-low.c
 1c3c1048050eb7a037569985a4dd4569  gdb/gdbserver/linux-x86-tdesc.h
-a98a61b5eae2fa1e407a4a15fa22ff2a  gdb/gdbserver/tracepoint.c
+af573655b937d12c75b9597f6f8f9fee  gdb/gdbserver/tracepoint.c
 89154e30aa6ef65e4c9346b7e2334719  gdb/gdbserver/nto-low.h
-0eceb424e2a7757524244c116123c76a  gdb/gdbserver/win32-i386-low.c
+17fb2f435d3be8bca6dcc03388c21836  gdb/gdbserver/win32-i386-low.c
 295113683d1806be1e3b02caf17b5724  gdb/gdbserver/linux-nios2-low.c
+aea1db20cb13ec474c91b981b8c0e091  gdb/gdbserver/linux-ppc-tdesc-init.h
 219b5c851ceca8ce2416340087ad2941  gdb/gdbserver/lynx-ppc-low.c
-b0c5156a1d43ec53c5e6d682acc89ef9  gdb/gdbserver/ax.c
-9b2dc333f650f507481781d677601b52  gdb/gdbserver/regcache.c
-a4b7b63587f66d5d249d293122a2273d  gdb/gdbserver/target.c
-358649d623853040ca035e971e718551  gdb/gdbserver/server.h
+207d74deaad12ff158a7801976d95a6a  gdb/gdbserver/ax.c
+b4a478ef77e2dc199ebc4ac4d5ee79ba  gdb/gdbserver/regcache.c
+67ed298173cad9e08c2d7a50ab9dcde7  gdb/gdbserver/target.c
+bfb67fa3db19771fc6dd4c4590cb4d47  gdb/gdbserver/server.h
 00042badf2f58de35cea510ec016e07b  gdb/gdbserver/linux-i386-ipa.c
 117ca7c66926a45a859c23ea406f929d  gdb/gdbserver/.gitignore
-44dcb534a07bcfd83ea4f313780ccc8e  gdb/gdbserver/lynx-i386-low.c
-06059cc05d0196b564ea83041245da69  gdb/gdbserver/lynx-low.c
+63bf1fa72d67f144f3c706d11d70aa1d  gdb/gdbserver/lynx-i386-low.c
+e214e0ad42a944a8cc055cd41da8c40c  gdb/gdbserver/lynx-low.c
 cc73677b2499c4947750b91d808a5793  gdb/gdbserver/linux-s390-tdesc.h
 f395615ffa5b27101bb0fced19eb8cee  gdb/gdbserver/linux-sh-low.c
-fe5ef8f1722fd01a3d9e3cf995a95424  gdb/gdbserver/spu-low.c
+4890490bc63c34daf53fe6a18cdc455e  gdb/gdbserver/spu-low.c
 a4f0d06594e475d41bad791ce5be5345  gdb/gdbserver/symbol.c
 6e949f8260d93d18a6a50dd595f08fed  gdb/gdbserver/gdb_proc_service.h
 3f026bc540e8ffeaa2b93dc6a436392a  gdb/gdbserver/linux-crisv32-low.c
-95d11d8b713731c000f7457cdabe6a6a  gdb/gdbserver/linux-ppc-ipa.c
-88c15bcf2483fa23b4bf64496c4c9f0c  gdb/gdbserver/proc-service.c
-0cb39c4fb80d252092c905f0b172c24d  gdb/gdbserver/linux-aarch64-tdesc-selftest.c
-ff437432f571bf3b76e4ffd04459e4e6  gdb/gdbserver/remote-utils.c
+6774933d2d4ae8e29bbd24510ab564e5  gdb/gdbserver/linux-ppc-ipa.c
+45eae7f38f8da005afc2f79dd845e3ef  gdb/gdbserver/proc-service.c
+3ce222577355954c0e8996604001df39  gdb/gdbserver/linux-aarch64-tdesc-selftest.c
+72a72390be8d637c47e7f91cff35f24b  gdb/gdbserver/remote-utils.c
 2bebdd4f6d94de41afadf327b5a76250  gdb/gdbserver/hostio.h
 047f626a5cb76fac8a059967b0306cd0  gdb/gdbserver/notif.h
-a3e4e8d8ffa38b8db00d37e7bf7926a4  gdb/gdbserver/linux-x86-low.c
-e22a481403717d2b8d58090e12fd5f9e  gdb/gdbserver/server.c
+b859068921fe93f061cf66e1cb64a835  gdb/gdbserver/linux-x86-low.c
+466a75d9ac726daf092a14d6395f2395  gdb/gdbserver/server.c
 d736bb10cb3ddcf52a1644e81620f2cb  gdb/gdbserver/dll.c
 af7835dd683710f8c69e2a8fbfb6eae4  gdb/gdbserver/debug.h
-5465c284467164ac77866d04f40831a4  gdb/gdbserver/nto-low.c
+9793b9ffcac745dcc994976290810977  gdb/gdbserver/nto-low.c
 2106943d3f2091e310a28b1772be6055  gdb/gdbserver/x86-low.c
-b2a7840301f9a756598d35c02fea9c43  gdb/gdbserver/gdbreplay.c
-109d814fe3676a43a3e6203808262540  gdb/gdbserver/regcache.h
+499771e58a861c922e30e092d10ee8b1  gdb/gdbserver/gdbreplay.c
+86749e6803ba486d2b623bb273c8b177  gdb/gdbserver/regcache.h
 9c1cff98ebfeb6dad31afb0416dae57e  gdb/gdbserver/acinclude.m4
-3ee65e473e27402f03f8638783b199e6  gdb/gdbserver/configure
+efa4fdaae8361d69c3ef13e6df4afad4  gdb/gdbserver/configure
 c3667fdc9cd67df9fe41bd1bd00eb03c  gdb/gdbserver/notif.c
 1bdd837caf5c60cda25f2dd03145b2c7  gdb/gdbserver/linux-cris-low.c
-7f017910fc10864faa3886a248c0de44  gdb/gdbserver/aclocal.m4
-963b0f62970b9f043f3695f8b572d300  gdb/gdbserver/thread-db.c
-390acc164d76b40e8c627385e289b84b  gdb/gdbserver/linux-s390-ipa.c
+14e3f51a1c926c2938db5a287828196b  gdb/gdbserver/aclocal.m4
+5b4e2ef703e9d6c014dbdd97c1510cad  gdb/gdbserver/thread-db.c
+08befe1c7835400972ae8709aa89fe7b  gdb/gdbserver/linux-s390-ipa.c
 bfa9ceb983ffaf55b4025c073a0e8bbb  gdb/gdbserver/linux-tile-low.c
-412df9e92da78b1f9fa571c6717ac30c  gdb/gdbserver/ChangeLog
-617f7b084f0303a4edd1e990fdfc6f7e  gdb/gdbserver/linux-ppc-low.c
-28c9e80ca53f330cbf01e7bf0d505664  gdb/gdbserver/linux-low.c
+74bdbcd8aa918c7b9a8a6c6b80acf0ef  gdb/gdbserver/ChangeLog
+b8c4bf711065622aa23d4c072fa00227  gdb/gdbserver/linux-ppc-low.c
+11d1edcae7e0ef90a6d80138b6117b28  gdb/gdbserver/linux-low.c
 2ce8d0b523754928d0d12157dc96db5d  gdb/gdbserver/proc-service.list
-57d6a3404dc9bdff68f0b5c8a7c7dc9f  gdb/gdbserver/linux-s390-low.c
+0e6a51fcb977514d5c01b3bdf49cbe7e  gdb/gdbserver/linux-s390-low.c
 894546f398566c9321e54cc5f3d9a228  gdb/gdbserver/utils.h
 a5c83f32100f2716a190653da3bda9a0  gdb/gdbserver/linux-amd64-ipa.c
 5e3b1392cf0ff3f6771312ce599364dd  gdb/gdbserver/linux-sparc-low.c
 cf25c8abcf7717bbf3e4057bd0b0c2ec  gdb/gdbserver/linux-xtensa-low.c
 2c3eb2fc7759586588813e9a1c7783e8  gdb/gdbserver/x86-tdesc.h
 a4aed30322e23895f9d8f0a28400a513  gdb/gdbserver/wincecompat.h
-e1d6e7c98d063b47b4c6a3d516230332  gdb/gdbserver/i387-fp.c
-62e3f4b5354cb8d64ccc78afe89297ae  gdb/gdbserver/tdesc.h
+d6cfa9e9b8345070dbca701bf8e86f85  gdb/gdbserver/i387-fp.c
+aac206f753b013e4d1920b0299c22015  gdb/gdbserver/tdesc.h
 49c6e38e215c24eb9044f98324da2eac  gdb/gdbserver/debug.c
-37e9b589b0ce74e5fef0d5ebea41d74a  gdb/gdbserver/gdbthread.h
+43c359a7a5c7cb3f9b420123653569f8  gdb/gdbserver/gdbthread.h
 83d7a52b81456f3d8e43f79024b44f08  gdb/gdbserver/linux-aarch32-low.c
 a848c3e746420a45b9449aeeee4a2607  gdb/gdbserver/win32-low.h
-45cd34ce317c07366c103460645714e9  gdb/gdbserver/linux-aarch64-ipa.c
+ffc67466ccfc27f71bbd2b9c1dc1fe02  gdb/gdbserver/linux-aarch64-ipa.c
 7a5479c526ff63621995ccfa232e11a0  gdb/gdbserver/linux-aarch32-low.h
-b3a7f91575b3b27368826cc4f9c2cb2b  gdb/gdbserver/remote-utils.h
-1506802368878216c3303b21f75d6d41  gdb/gdbserver/linux-aarch64-tdesc.h
+7c19f5bf56f0c86f2f0d7bf1a300b79f  gdb/gdbserver/remote-utils.h
+a85967de584c7aff5cddccd4d1b3a9e2  gdb/gdbserver/linux-aarch64-tdesc.h
 7bf08a93ea8d7641c22a452b48e3d4cf  gdb/gdbserver/i387-fp.h
-a3707f9f1966145a53025b04d50f07cb  gdb/gdbserver/inferiors.c
-3a6d77c065bc067f71d24a4f417e04e7  gdb/gdbserver/hostio.c
+456ffcab371235e93ae3ff5aa74d2746  gdb/gdbserver/inferiors.c
+9cd485b4810d69cf98282f6a76dc4588  gdb/gdbserver/hostio.c
 248248b15af90913ab8d4f8908e37fb6  gdb/gdbserver/linux-x86-tdesc-selftest.c
 ad55b2700c208d452b998cb0042a31ae  gdb/i386-nbsd-tdep.c
 796dd2532d62ef3d8f7325f72733a219  gdb/data-directory/Makefile.in
 e5e48ebe3b4dffb7c59b8b6ccc42d977  gdb/data-directory/.gitignore
 90d0164cbe0d1080f605222c12354df1  gdb/dwarf2expr.h
-c86ea4adae09be283326e07ce8020f4f  gdb/extension.c
+8949b23a12ad2e0187bd8f6fc9a4742a  gdb/extension.c
 2ff1399d0b991c7b9b0def222da9c058  gdb/exec.h
 7d5dacd163890b027c0ac92e778fb1ef  gdb/transform.m4
 3f98cc230b93f0e46c754f64d5913c5a  gdb/stubs/ia64vms-stub.c
@@ -5902,49 +5966,51 @@ a45d74c0301c9dea17f393d3ef6c9372  gdb/st
 ef7f67e5720cf7b193349f8687243947  gdb/stubs/m32r-stub.c
 8edc014e1b5928dd9761408fa7df0d64  gdb/stubs/sparc-stub.c
 ffc93e69a8813484cec63da022b68375  gdb/stubs/sh-stub.c
-d7d253a5c863abe44a501d2f50860f28  gdb/buildsym.c
-7c8809a255731e3db200886fbe29d462  gdb/breakpoint.h
-f8e6ace50da67957cdb55bb43f7e8991  gdb/objfiles.c
+145cd41185515b9c934b395a73ee7bbe  gdb/buildsym.c
+d113941c589b0fea225f6fffd516c4be  gdb/breakpoint.h
+e87715c46edddb056ba42b60c23b78e2  gdb/objfiles.c
 6dc50ee9f50761b994845c93e943ac7d  gdb/debug.c
 754096f3d7e72140a7b0c9af2957d9fd  gdb/sol2-tdep.h
-79ee362bb94b1ff999d3df2e01e9c4b7  gdb/ppc-linux-tdep.c
+9d2fd03494bce6696908510bd9a0ba36  gdb/ppc-linux-tdep.c
+118b6971db090e115808b79b20e09603  gdb/amd64-bsd-nat.h
 33e82795b3de28ec33551530ec362c2c  gdb/ChangeLog-2007
-aea569b07a0839388af6b4cc86d28b5e  gdb/gdbthread.h
-18ebe169154637cf92d7350e6b608099  gdb/macroexp.c
-1db6f163448b2b2abbd2d3df5962aea2  gdb/blockframe.c
-69adf5f08e1c65716b8a28db7e80007b  gdb/ia64-vms-tdep.c
-872c8b20d18a3d297493e565347b9c6c  gdb/rs6000-nat.c
-b120a2c2816a1004635322db9ec079df  gdb/ppc-sysv-tdep.c
+74fbbadad50a92b52cd30f29decafca5  gdb/gdbthread.h
+02ef9aff225507ce58db5a5711a3fe8b  gdb/silent-rules.mk
+f623ef7316f612fdda4447b44df30604  gdb/macroexp.c
+9cd13e603e0f173a9eaeb62eab2806d3  gdb/blockframe.c
+516a10734b4563a3470510729222ddb5  gdb/ia64-vms-tdep.c
+0b34c41cf87db9800e72e09c95ffe2d3  gdb/rs6000-nat.c
+08407cde1879b563bd39262258ae3392  gdb/ppc-sysv-tdep.c
 dafe29925d5cc67b50a71bb43b16654f  gdb/ChangeLog-2009
-442b427314f6574367d3740b216069e4  gdb/sparc-tdep.c
+c2873bef2a4eca9aa4162265225ed29c  gdb/sparc-tdep.c
 844200235b6dfcc1ab07522c1aabfc86  gdb/libmcheck.m4
 3e67c38511d3004a4fc665c958658f22  gdb/m2-valprint.c
 5fffd8c47764eda70194c34de6e02f2e  gdb/ChangeLog-2003
 47bd96ab5396b4a38d9790d18e05c453  gdb/sparc64-nat.c
-e74ce9fb9b97713460f86f15abb56368  gdb/nios2-linux-tdep.c
-e61f8d1bb4a0b39e3873494b56feb447  gdb/proc-events.c
-4a579bdbe981beb35d0a19264d413c2b  gdb/go-exp.c
+4a1c02f62a4a675c773d66a4b74eb795  gdb/nios2-linux-tdep.c
+d943f86d587711ad91661fb832547841  gdb/proc-events.c
+8e54e630b5adac902d8123ab5fcd9d61  gdb/go-exp.c
 c63de3b8fe8d1745aa6da23e8b6d7a49  gdb/glibc-tdep.h
-2e91490d5ecc8efe72f30333313308e2  gdb/macroexp.h
-e722726b96ac7e492e7cca51490589a1  gdb/m68k-linux-nat.c
+7cd145fb17066da7997bf592fb9135a7  gdb/macroexp.h
+94dae6e96643c32af52ac1fdc00c5ff1  gdb/m68k-linux-nat.c
 46c7561fad0bf32939842cca4d794a12  gdb/arm-nbsd-tdep.c
-294bc5d559fe6a8b196af7db3cb80366  gdb/rust-exp.y
-2aeed3066a6ec1554e2a75657e6503ff  gdb/linux-nat.c
+3ecc8cf7ae45c7a08ee02a295bc4950e  gdb/rust-exp.y
+3fd072f395c29d39874546b352ddd893  gdb/linux-nat.c
 619ef7db8e62a0be1f0b1e5707970dbd  gdb/producer.h
 f44ef527ff311fa0d11539c1d764a819  gdb/nds32-tdep.h
 db39dae4bf92c13f266edc08e08f0a93  gdb/sh-tdep.h
-d0839b701a23175e4d8c170f2aedbf97  gdb/top.h
+40745f4cd4fdb6897ab51adf0d5c3822  gdb/top.h
 e9cd0cce650615a84b93a985211012c4  gdb/xml-syscall.h
-7d81fbdc6ebba8743950a5a7c10dc387  gdb/xtensa-linux-nat.c
+b45b99cf3dae78bc784106aded98ea61  gdb/xtensa-linux-nat.c
 1f6b545be0b6822eca215d0b5f1edfc2  gdb/exc_request.defs
-a7905b9497d7a6257303424612e583b5  gdb/c-exp.y
+52483405ea35ad867c03514751ca494a  gdb/c-exp.y
 a89155f1dd915b34a7ac23f5c5189e60  gdb/alpha-bsd-tdep.c
 8f5a03c189727d347a330548f3ea9c98  gdb/ChangeLog-1991
-125d5ce2b1bc60687746cbfcc76e23e4  gdb/amd64-nat.h
-e26cf0bb4ff7cb657c0f1a411842edd5  gdb/windows-nat.c
+c6214153c759f31a865cc9f2f7e53419  gdb/amd64-nat.h
+9a7caebc72b131149ecb68a1c4ccc895  gdb/windows-nat.c
 74e36373111250be3de69a520303ef70  gdb/gnulib/Makefile.in
-64dcb3959fddaadf0f8c840dfc2fff1f  gdb/gnulib/config.in
-af0b527add39ba117bdc5c0f9c112293  gdb/gnulib/configure.ac
+476c3248fbc46c7487f4a4fbd00b14c6  gdb/gnulib/config.in
+096b6a116fa4f2bf95292d2aba26a595  gdb/gnulib/configure.ac
 691f64c2b6b6166bb570baddce45cc79  gdb/gnulib/import/errno.in.h
 a80bdc4b90e09496a70a9c94c75f5ef3  gdb/gnulib/import/string.in.h
 3ddfc05c43b02a6da66b6861a898b921  gdb/gnulib/import/filenamecat-lgpl.c
@@ -5960,7 +6026,8 @@ fa46bc4e77e26c6dc445946182922ac8  gdb/gn
 c9803b2587efcd71e6abbd5d1b2f1c38  gdb/gnulib/import/unistd--.h
 3df15df12b015d7ff5c4d0ef3be5fccb  gdb/gnulib/import/pipe-safer.c
 f7665965a9e3509fcc824946d3a7da58  gdb/gnulib/import/fnmatch.c
-f83393cc955f105dcec0ebdafa631940  gdb/gnulib/import/Makefile.in
+44688f0d19ef0a4c9f3d2cb5398a1020  gdb/gnulib/import/tempname.h
+6ed445c45944b743c724754b3c50f159  gdb/gnulib/import/Makefile.in
 4eb1e150d2fc8b8f10431f8b8a0014f7  gdb/gnulib/import/stdint.in.h
 2ff16aad501316e63f0b85cfddfbc95b  gdb/gnulib/import/strchrnul.c
 6111a7b56a5e4cef98e93db80c093e82  gdb/gnulib/import/dirent.in.h
@@ -5982,6 +6049,7 @@ bc2c32ebb6b0b9d1cebc1cf201890cab  gdb/gn
 8bd784ecbd74b6c89e86789884c088ba  gdb/gnulib/import/fdopendir.c
 d3df76784d80a63e24211f73686a3dc9  gdb/gnulib/import/strstr.c
 f176475c82c60cc72f671ee7daeb4e29  gdb/gnulib/import/sys_stat.in.h
+3fa47c93c0e940627e60a6f3756acfcc  gdb/gnulib/import/tempname.c
 c28f6b23bd66a3b2d60bfa6e58013816  gdb/gnulib/import/mbrtowc.c
 ce9dee9557fd9a4284516ae8a238503a  gdb/gnulib/import/inttypes.in.h
 f62cf24381607f2f5c4e62cbd45104db  gdb/gnulib/import/unistd.in.h
@@ -6006,6 +6074,7 @@ e2c48b95def8965575213bd58c5e5673  gdb/gn
 391c711f4412c21af6eac646224c7b1b  gdb/gnulib/import/alloca.in.h
 e7f9eb12ac2bbe257240afa4a4bed91c  gdb/gnulib/import/isnand-nolibm.h
 0645f370358c4559f6fe74555581535c  gdb/gnulib/import/close.c
+420c7c94676c36f2b1b741f75b8bedd6  gdb/gnulib/import/secure_getenv.c
 315be7f511121065f502d868cdc2eff6  gdb/gnulib/import/openat-proc.c
 ff87340508c63562abc5b5abfe00c857  gdb/gnulib/import/hard-locale.h
 2e11259966aa3c8bcd39902d09996b7d  gdb/gnulib/import/unistd-safer.h
@@ -6015,6 +6084,7 @@ f56eed0a1b53a3eefbbf10006802d5d1  gdb/gn
 3272c133ed6d89896dc8024bbc42b7eb  gdb/gnulib/import/m4/unistd_h.m4
 2d7304478efd29b98f632d4a2d891417  gdb/gnulib/import/m4/rmdir.m4
 798ebdaa936fe374a373a8422b958ef2  gdb/gnulib/import/m4/extensions.m4
+54633b089e3cf4952b12238a2df1f91b  gdb/gnulib/import/m4/secure_getenv.m4
 aa053bfb1d4984dae7f04a28b93a30db  gdb/gnulib/import/m4/error.m4
 890a3049622fcf893fea64c61130eedc  gdb/gnulib/import/m4/dirent_h.m4
 d9fdbee92da6936a6f03ebb451b3e9e9  gdb/gnulib/import/m4/readdir.m4
@@ -6045,11 +6115,12 @@ c30262529f4a822e5b0cca6a1d58cc50  gdb/gn
 7fdf06ebe0a44c64613e54c9c04c1a43  gdb/gnulib/import/m4/unistd-safer.m4
 3cbc6c95b0625b1c77fdab93f4bf7cb4  gdb/gnulib/import/m4/sys_types_h.m4
 75323bceb9792027373742f1b0dddee6  gdb/gnulib/import/m4/memchr.m4
+3d91cbcd961997fd14fd50459d721411  gdb/gnulib/import/m4/mkstemp.m4
 eab6e51c5bc9bdecd18e5bd062c8f2a8  gdb/gnulib/import/m4/float_h.m4
 d75b4149ba72cb5e64632de009a40b0a  gdb/gnulib/import/m4/d-ino.m4
 00826ede0e3c000e04682e1f7dcc5fce  gdb/gnulib/import/m4/wctype_h.m4
 358a9fe340a0fd24b4458be4b9bcf852  gdb/gnulib/import/m4/locale-ja.m4
-e772b481ee402e9b5516dbe35dd60c46  gdb/gnulib/import/m4/gnulib-comp.m4
+4c93fd790b8bdb4e10a8acec99be57c9  gdb/gnulib/import/m4/gnulib-comp.m4
 1752bb7ebffacf32b01e744df8376dcf  gdb/gnulib/import/m4/getcwd-abort-bug.m4
 7365ab0b7695bacd8e46e8d8ee8f7959  gdb/gnulib/import/m4/signal_h.m4
 a75980da44e6057c33eb3113a355968c  gdb/gnulib/import/m4/rewinddir.m4
@@ -6074,12 +6145,13 @@ aea4a6dec3dc2e55e068c9c03db277bc  gdb/gn
 f59829d13c03c8c1132686ba6dddca8e  gdb/gnulib/import/m4/msvc-inval.m4
 3d7e16d512964255854db1ba2cb70e55  gdb/gnulib/import/m4/mbstate_t.m4
 b1ee09676e562c948c905e781ca12530  gdb/gnulib/import/m4/math_h.m4
+8aab16583abb3ff8543fee178b77f7ef  gdb/gnulib/import/m4/tempname.m4
 c0c75172f42af8dc81ba8f77814b4aa5  gdb/gnulib/import/m4/absolute-header.m4
 1ad9725324f89fe13537d003f406e674  gdb/gnulib/import/m4/gnulib-common.m4
 0c1eb1a8750c84ebd9fba3d454a5c54c  gdb/gnulib/import/m4/mode_t.m4
 10a309d2588c00235156519e522c12d3  gdb/gnulib/import/m4/exponentl.m4
 81bee3c19c0d14fad981216cc244c17c  gdb/gnulib/import/m4/canonicalize.m4
-c2cb4a014b84a7cad566cd5d2faaa1f0  gdb/gnulib/import/m4/gnulib-cache.m4
+17c2c0a2146303c624de267d947f2c2f  gdb/gnulib/import/m4/gnulib-cache.m4
 729ae476cc1267bb23d56266b9010fcd  gdb/gnulib/import/m4/getlogin_r.m4
 4e888ab2578bc219ae2290a9ce5be0ca  gdb/gnulib/import/m4/realloc.m4
 ac8542ecf1de857b71cb11be65c6bd18  gdb/gnulib/import/m4/dirname.m4
@@ -6155,6 +6227,7 @@ ce80de59225450e9de1cff046ec2f0a3  gdb/gn
 e6c94afccf7d6c1db57293ab60c65b0c  gdb/gnulib/import/exitfail.h
 2d2b83bfc21867fb3315bec49f58aa3b  gdb/gnulib/import/mbsrtowcs-impl.h
 ab69f6df5cd8d130602efacda95cac6b  gdb/gnulib/import/rawmemchr.c
+48e25b638dcd38f5e4a927ab5cfe9848  gdb/gnulib/import/mkstemp.c
 a9cf05943d577406b9028d0676df2ca5  gdb/gnulib/import/chdir-long.c
 1a9ccbca2f1431d6da07ebdc72864537  gdb/gnulib/import/save-cwd.h
 7d8626f86bb6cffc7440e058449030db  gdb/gnulib/import/verify.h
@@ -6182,7 +6255,7 @@ a4141c0e07b8594e25d09145c679b6ce  gdb/gn
 5f33bf56abc62cbc0beea943a70b1a4d  gdb/gnulib/import/ref-add.sin
 b372652ec42a586101ae09aefe90dec3  gdb/gnulib/import/stdio.in.h
 0c9f0db4c63473c870443f951ab3c403  gdb/gnulib/import/malloca.c
-66bf6095c45268b946119ec8218ec824  gdb/gnulib/import/Makefile.am
+edc3270309510c44c51e20937bc2ccbe  gdb/gnulib/import/Makefile.am
 4ff9744a8fb0d845d12d69c4fc4d09cd  gdb/gnulib/import/isnand.c
 2ac8512d774af644f1de9ac46c39ac06  gdb/gnulib/import/getcwd-lgpl.c
 6d508ad286f2b7d2e5d78e9d2d5d0372  gdb/gnulib/import/mbsrtowcs.c
@@ -6226,102 +6299,103 @@ e6445c7afbb0de9cbd6722962f22476a  gdb/gn
 4afc2077562f87bda203559b54de3d23  gdb/gnulib/import/malloca.valgrind
 eba504acf9815f6f21cf19f50d3c0513  gdb/gnulib/import/dirname-lgpl.c
 6c22a2c007c6fba48298eabeb157956b  gdb/gnulib/import/filename.h
-725843bd7724ad8611ab0ba8312b2a4c  gdb/gnulib/update-gnulib.sh
-b08eeed7f07be9c9d65203364a4c7a0b  gdb/gnulib/configure
-f4f744f00aa3d1b2ceb5a7fb5bafa725  gdb/gnulib/aclocal.m4
+ddee639d0d9183b9a856a487307db64a  gdb/gnulib/update-gnulib.sh
+0121bee15de315bc31c5c7d8c53054b6  gdb/gnulib/configure
+e4e0619f3d0e05543e139501ef5a25bf  gdb/gnulib/aclocal.m4
 a205dd1a408fafb7fa5fd3bd59318168  gdb/target-dcache.c
 6e04664fcc821015c33f4c9b04e23ff5  gdb/alpha-mdebug-tdep.c
-f2cbeaffd808115d7cab8322728c536a  gdb/symmisc.c
+fa2c49f6af8a370ea30d4d8f6990fc1c  gdb/symmisc.c
 acf7e8747a65c0528dfa5f202c5024cd  gdb/compile/compile-loc2c.c
-63bf0624bd110d7f151a07fff2cd0719  gdb/compile/compile.c
+ddf39a0740ac7fd0b923605a16b711d3  gdb/compile/compile.c
 ce9306fc07761a9dee514d567ca01c7d  gdb/compile/compile.h
 eafcd9c1de6cad329c2a489b86a112ea  gdb/compile/compile-c-symbols.c
 1884269c365b328b46a183a1ef18ed88  gdb/compile/compile-object-run.h
-986bfae28b1ea00c048cdd1b85f02fed  gdb/compile/compile-object-load.c
-e895499bc472c34053a644f4d5fd331c  gdb/compile/compile-c-support.c
+94aba61700f72dde7fa8bf03a274a1bc  gdb/compile/compile-object-load.c
+ea54d5d88189c724eb96aa3d07a6ba29  gdb/compile/compile-c-support.c
 5a775dbab2d0b82a93679dd0aa2f02cd  gdb/compile/compile-object-run.c
 3e4c216cafd445647b0852abf8e212b1  gdb/compile/compile-internal.h
 3e9f4485bdb3a38008f9a74d9e2a4cdc  gdb/compile/compile-object-load.h
-bc80dcc7d87bd5b7245fb7aeec444b5b  gdb/compile/compile-c-types.c
-f903ac360453c328958cbc55e44e0f1a  gdb/value.h
-e6e47047978e56207a23d4a8a691f90f  gdb/ppc-nbsd-nat.c
-f05d8be253bf08beed45811a8ac1fc6b  gdb/auxv.h
+235111c4da0354473d7b4cbb0dcc33a3  gdb/compile/compile-c-types.c
+74511bc01bc2ce3fd05668057eb84acc  gdb/value.h
+02651eda518f024079d976a43fac4bbf  gdb/ppc-nbsd-nat.c
+81d5e5e1beeb37703e8d2175be578f14  gdb/auxv.h
 191bb9f550a638b9b8b69714f970c3d2  gdb/i386-dicos-tdep.c
 5fc64167a8f9c019585d9fa51e0fcd52  gdb/aarch64-newlib-tdep.c
 aa79cd7220be521559119ac89da2bd1f  gdb/gdb_usleep.h
-473fcffa1c9ddb733494b25865e8588f  gdb/i387-tdep.c
+524ae9bbe9ea54f1e21792a8a1d7e032  gdb/i387-tdep.c
 17a850f9a32c7703496627a25824b599  gdb/ada-operator.def
 f469eae15fb1c314ea4aefdfecc6d5f0  gdb/libiberty.m4
-c7bf37a5d0559d590ad403338f45e6a4  gdb/gcore.c
+f66bdac58f2652e0f6441b77d521532c  gdb/dwarf-index-write.c
+d00b8d01cccb2da5fdea2bd4740768af  gdb/gcore.c
 59fb89baacdcd182f8385dc194614499  gdb/hppa-linux-tdep.c
-83e5867c2bde7152a978b0e8d69a39aa  gdb/p-exp.y
-2369e8f38d6a2f86d15f9b3b389562ac  gdb/ia64-linux-tdep.c
-cd249ddad873055a764485405a148fd4  gdb/amd64-tdep.h
-bf8edbc5405da62b99be015d79b063bf  gdb/xstormy16-tdep.c
-c4f8b232eecbe7b5480666d51f4494f1  gdb/i386-obsd-tdep.c
-d48dd8a116922c82604d8169df04ab75  gdb/ppc-nbsd-tdep.c
-8ba72793f00d56122230d68af16678a1  gdb/stabsread.c
-7001531fb2241319981780a07e10a9c7  gdb/MAINTAINERS
+b6bf17bec4f95735c2cbe10a9fbc8712  gdb/p-exp.y
+81981423ac8d5245dabad8e9b956a592  gdb/ia64-linux-tdep.c
+c89d401331083c5f28256e029f4f1d24  gdb/amd64-tdep.h
+0adca51f3b7f9ba9a9da0243b1660f90  gdb/xstormy16-tdep.c
+0cc2ddc542187f54909da8fb99ced71d  gdb/i386-obsd-tdep.c
+852b0a724dcb3cfdcabf8315dcf998e4  gdb/ppc-nbsd-tdep.c
+531af446673b3adeff7d564fa08591e8  gdb/stabsread.c
+c023ad52b1376297915ecea59d1a2eca  gdb/MAINTAINERS
 074caf11d670efb9f23fbcd727b37f0b  gdb/arm-fbsd-tdep.c
-7ab2d3c0feca39d0ec4712ca0c9a5f15  gdb/i386-bsd-nat.c
+b430bcd11d401c2f93d63f9ce9b80ec2  gdb/i386-bsd-nat.c
 feeeb8cba0f46c50b028311ac9b138bc  gdb/terminal.h
 c29497b991d495023c02e296b5e600b9  gdb/filesystem.h
-5b4409835afd10559adb7857a68e541a  gdb/remote-notif.h
+d1b6fe71dfbc5653cab36f654794399a  gdb/remote-notif.h
 97ce069b261a474d2207b1de48da3ca2  gdb/i386-bsd-tdep.c
 4338ecde2d474597210e1f2f5be2f691  gdb/lm32-tdep.c
 ead92f6e870832e9bfdb7ace397d445c  gdb/continuations.c
-c99d8d6716593065965faa5137335e4e  gdb/amd64-bsd-nat.c
+e12967d604b85ae3f1caa075d16a7cd4  gdb/amd64-bsd-nat.c
 612f04082aee2121494b47b40a31be6a  gdb/bfin-tdep.h
-636edea50da8c8a4954fd6c5ee3d8bbb  gdb/eval.c
-a7d82cef45e6abf3f3435984ccdd6d52  gdb/ui-out.c
-c825d6d6bd794295cd7cee9f9500364a  gdb/amd64-dicos-tdep.c
+2eb7a59d57930a971c0c2f05ff2a8010  gdb/eval.c
+42e9a45b8ddd375df85a698f705af638  gdb/ui-out.c
+30b6ca464c6fb8a2b1467fdcf1ebd77b  gdb/amd64-dicos-tdep.c
 4f25663c32f070e373efc3bf1ac3a3ab  gdb/sh-nbsd-tdep.c
 1b91c55a95269014544e55fcc349bc69  gdb/break-catch-sig.c
-99b17600b8abc819d717ffa563c3acd5  gdb/std-operator.def
+3455e7b67f816a243fed9d7a42a938dc  gdb/std-operator.def
 8f78c17beeb5573893561c94391dddfb  gdb/alpha-obsd-tdep.c
 7c8ee4d5c6e427a2a16476e8e88d2f9d  gdb/m32r-tdep.h
 437639fc11aa62b0aad2bd17e2173c41  gdb/progspace-and-thread.h
-b9fb6416ee3c23e2d69115f47cc15e9f  gdb/i386-darwin-nat.c
-7348c42eeed12081e82d8f1b46a62686  gdb/objc-lang.h
+6a93b36a6a797b411706b8bcdd0a39b6  gdb/i386-darwin-nat.c
+65ab194cc0439d4dd25c594059b12ada  gdb/objc-lang.h
 bd9ce820a4e293f51435eb315be04f3f  gdb/mdebugread.h
 5ab3f5ff1537b446a82bc86b50eabac1  gdb/xcoffread.h
-5ba9985a6a83cbb9a4d3584b7f5111cc  gdb/gnu-nat.h
+f4f2143a9283b5c65b54b3aab64cb847  gdb/gnu-nat.h
 5cc85659ce552aa463dfc6b0e31d2dea  gdb/bfd-target.h
 3e9f394c4e9ee80c88bbfe5e8a112e64  gdb/arc-tdep.h
-f892f3f64abddff130fcca6a94499b01  gdb/language.c
+de3a82f3c1c1258ea3561cde3d12edc2  gdb/language.c
 d451431fa8dfb66398fb766f376e43b0  gdb/stabsread.h
-5da272acefe41680233f19ce723ebd05  gdb/aarch64-fbsd-nat.c
-68b1e49fd770bcfa29d74fef93e9b246  gdb/sparc-ravenscar-thread.c
+7529db6c45419058f6bed69e56e21891  gdb/aarch64-fbsd-nat.c
+def13d151f4d6912a87f4f13a9096787  gdb/sparc-ravenscar-thread.c
 7f965dfab95daf236022eccd7327b250  gdb/ser-unix.c
-2d729111589fff32d512d6bcf259fc38  gdb/m32c-tdep.c
-79eb5e483c37b0982de3a295aa6d5e81  gdb/amd64-linux-tdep.c
-71ee83811f1a536df75cec144e5ea562  gdb/sparc-linux-tdep.c
-7b2dbdae7373dc14a9c98428f57aa5ba  gdb/sparc-linux-nat.c
+efcaf80c20148f23b901348546566c85  gdb/m32c-tdep.c
+231c89d2e372ced9d47ad4eba67fd482  gdb/amd64-linux-tdep.c
+5b4fc44b4a9d1fe99c65c6ec708fee34  gdb/sparc-linux-tdep.c
+e6b7eabc27a18c42c2d1a29cb19903ac  gdb/sparc-linux-nat.c
 aaed4a2b4da7446db37f7613e2211d05  gdb/i386-fbsd-tdep.c
 5c60eb8f061a540f7d4a52a775ea4468  gdb/cp-abi.c
 8126df64aadd56be9420fd4d20f53d06  gdb/frv-tdep.h
-677ede75c9dec5d7841314a993d06eda  gdb/exceptions.c
+1e1814db4178c955cb0cc335fded9cea  gdb/exceptions.c
 8ed78c706bfd13d42665899ae4c42bda  gdb/i386-linux-nat.h
-c31b8e0d4e980aafdddf01e64414d3a0  gdb/ppc-obsd-tdep.c
-8cc6e40aac885f0b3867cd808432b753  gdb/configure.nat
-2464070db86d4588cff54d113c49aad7  gdb/memattr.c
+1cd49440192d7c53d7c3e1226ecc7ce1  gdb/ppc-obsd-tdep.c
+4b06b14e71b6d0f9b8ee9c0b7402aff9  gdb/configure.nat
+e06153bfef7073a2c89603bff272d6e7  gdb/memattr.c
 70d670ddae817062224e4eac1e06c1bf  gdb/event-top.h
-cc0f282c65c2457bc643d50118151b87  gdb/gdbarch.h
+e3f5eb4571511f560bb0bf59cd3bf8d6  gdb/gdbarch.h
 9198f7b1807c968098814aa2a3901aee  gdb/gdb.gdb
-aa0631d6c65d70e8c8b0116be8b285bf  gdb/gdbcmd.h
-00d1a397f23d11820d2d3b5cfb155dfa  gdb/sparc64-obsd-tdep.c
+f3f2261b3941220c82b4dfcd6c94e585  gdb/gdbcmd.h
+cb58e8c3acb98ee0568c8b65d6ffaa1a  gdb/sparc64-obsd-tdep.c
 ac072707d3c9f1586010865c437e8aba  gdb/.dir-locals.el
-c267269e4066cf0ae7ebbf4c5d2d0e9a  gdb/sh64-tdep.h
 bad9794d402029c022451382a5b213e2  gdb/namespace.h
-29cdaebe94604b2299985ce7cf8d9a2f  gdb/complaints.h
-564ff72206ec9be36ff79524cc1f2739  gdb/msp430-tdep.c
-c196aa97749f1b6d6b9138dd41f66b2b  gdb/m2-typeprint.c
+24c4b30d8f280e8c1a866abe69526ce0  gdb/complaints.h
+d278ad3cf9458be1614cf9ed59125eb7  gdb/msp430-tdep.c
+ad5544783e8ba49af361387c33589652  gdb/m2-typeprint.c
 37db09af735501721bcf038f75ccfc99  gdb/ax-gdb.h
 58023947c91ec1a5265144f1002cf2b4  gdb/solib-spu.h
-e18210bec670b9a48129ec9b37c82b5a  gdb/bsd-kvm.c
+82807074d15728f222eaa85e8b3847df  gdb/bsd-kvm.c
 48112868b82cecbafff27914e4dcbecc  gdb/gdb_regex.c
 e66b027850ffbaeab672d2452035c024  gdb/i386-fbsd-tdep.h
-73e6ef465ad2a6bf9b67c2d67943f0b4  gdb/unittests/rsp-low-selftests.c
+f15e4335de10c1ddcab6a60af8753ee6  gdb/unittests/rsp-low-selftests.c
+f85900c90d5b483abc2e698fe9cd5abe  gdb/unittests/utils-selftests.c
 41b5931cb6f9b1f16f7cb8eae3553d59  gdb/unittests/common-utils-selftests.c
 b85a9d4c40da054103bd72f124b85a27  gdb/unittests/optional/in_place.cc
 cefff013026873973fcadad1b7fe576c  gdb/unittests/optional/observers/1.cc
@@ -6337,32 +6411,111 @@ d3fb12b72dd67d9df94fd1a0f4111266  gdb/un
 298b4d29c2bbf6d55797764535191b53  gdb/unittests/optional/assignment/4.cc
 d23304c15d970109b49f6c1def1dc99d  gdb/unittests/optional/assignment/6.cc
 b93c0dbec4f05bf46d1f42e98e00afed  gdb/unittests/optional/assignment/5.cc
-9df319e9e4d0367644e84a7d5e77b785  gdb/unittests/environ-selftests.c
+09abed35d489d25e77d992bbce25aa93  gdb/unittests/environ-selftests.c
 ec465f8bfa09c413f659b5389bb92d62  gdb/unittests/offset-type-selftests.c
 d32ffd72002c818efc548c414cccc0a1  gdb/unittests/scoped_restore-selftests.c
+ef20ae933b264e6c6d4195359dd07e18  gdb/unittests/unpack-selftests.c
 2b7e560da91bbb438934a0d07cc76401  gdb/unittests/memrange-selftests.c
 1bc23f664bb8babf895da1dab67baca6  gdb/unittests/function-view-selftests.c
+d9dd236ad9e0fa328325b41a02624f3e  gdb/unittests/tracepoint-selftests.c
 21f983a563f758dc8a76f1e5a59ced08  gdb/unittests/optional-selftests.c
+06311f626ecf745704997e56c10b4f29  gdb/unittests/scoped_mmap-selftests.c
 3caae282b49eda518df0592deb7f9efa  gdb/unittests/ptid-selftests.c
+d07f33e10975aecaf2a9eb63349125d5  gdb/unittests/observable-selftests.c
+cc56242b10c9d3d602344751315bc066  gdb/unittests/basic_string_view/modifiers/remove_prefix/char/1.cc
+680d5bacf7585c66f8aae3dbfc67905e  gdb/unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc
+e818eaf92053b8c71bd912ba6fccdda0  gdb/unittests/basic_string_view/modifiers/swap/char/1.cc
+f6aea5880c193b21dbd48d14217c28d2  gdb/unittests/basic_string_view/modifiers/swap/wchar_t/1.cc
+f2ce2d39e0358f624e5e9e62d424a70b  gdb/unittests/basic_string_view/modifiers/remove_suffix/char/1.cc
+d59ff39cbac9ec33a00f516207fe0883  gdb/unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc
+71995ff25bd2892c39d71ad5d9aef5a7  gdb/unittests/basic_string_view/typedefs.cc
+e3542528e4d8e2cd76173b942723a5f1  gdb/unittests/basic_string_view/include.cc
+15c7d5bed6043124195f71158e468c13  gdb/unittests/basic_string_view/range_access/char/1.cc
+3e64b266315f4396a46c4aef92098b1d  gdb/unittests/basic_string_view/range_access/wchar_t/1.cc
+426caa3b23eca1641730b18573d52059  gdb/unittests/basic_string_view/operators/char/2.cc
+a734cbdf8949c90c23f4b09b361f3305  gdb/unittests/basic_string_view/operators/wchar_t/2.cc
+70ee377463d31b249d7a01043ee17808  gdb/unittests/basic_string_view/requirements/typedefs.cc
+8e8e2c7b4e03e1dae593c3c4276c1176  gdb/unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc
+21da4700f19d9fe06a599d4e68d9fd98  gdb/unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc
+9687234f8ac82a3c8d9fcc234cb47100  gdb/unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc
+ffdb77583b32b740ea593251ecc6a958  gdb/unittests/basic_string_view/requirements/explicit_instantiation/1.cc
+04cf46928ec85a95eaf286ec79480224  gdb/unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc
+5173b0bf1b0445e11ac14675b8f471a1  gdb/unittests/basic_string_view/cons/char/3.cc
+b45e91aa92f9841819960be5c8f46aaf  gdb/unittests/basic_string_view/cons/char/1.cc
+ef74ad9e79f76d08fde374667bca4741  gdb/unittests/basic_string_view/cons/char/2.cc
+e70625d4d2e83321a44b3e079262c192  gdb/unittests/basic_string_view/cons/wchar_t/3.cc
+1f05f55f2d11bab049e71ceabb806d01  gdb/unittests/basic_string_view/cons/wchar_t/1.cc
+ef8a69e7881d814ee41e3bda2a363119  gdb/unittests/basic_string_view/cons/wchar_t/2.cc
+c39e692f266b6e25f5735036c64a776f  gdb/unittests/basic_string_view/capacity/1.cc
+7bf0256ae607a7de598717b7d54d7f4e  gdb/unittests/basic_string_view/capacity/empty_neg.cc
+082c9b18c79ab361a37dc879f01c0cf9  gdb/unittests/basic_string_view/literals/types.cc
+c60f423916270a07f6fabdd508d673e6  gdb/unittests/basic_string_view/literals/values.cc
+7045fd67d5cb3846faa52b603222e90c  gdb/unittests/basic_string_view/element_access/char/1.cc
+bcc57b700eb5da63a1134ccde34457bb  gdb/unittests/basic_string_view/element_access/char/2.cc
+7ed630992f442c405d6f2a00e00303a8  gdb/unittests/basic_string_view/element_access/char/empty.cc
+7ef2a0749cc28636be186f5d10bcd0c8  gdb/unittests/basic_string_view/element_access/char/front_back.cc
+5296db9b92d4f2b8c5ab76a4bb1ba3d1  gdb/unittests/basic_string_view/element_access/wchar_t/1.cc
+6a3e7cf3f65a928187846153c0d9b92d  gdb/unittests/basic_string_view/element_access/wchar_t/2.cc
+a98b07b2a7de33adb929af9ca9d0041a  gdb/unittests/basic_string_view/element_access/wchar_t/empty.cc
+fc03b6e83665a760150da5c7aa4e6a43  gdb/unittests/basic_string_view/element_access/wchar_t/front_back.cc
+4a63b3b871db8917b6e5eb45ec01c7c9  gdb/unittests/basic_string_view/inserters/char/3.cc
+30759ec5210c59eea9551af7329cf006  gdb/unittests/basic_string_view/inserters/char/1.cc
+08a8515c45044867b26e7d10b7dec2ac  gdb/unittests/basic_string_view/inserters/char/2.cc
+cddcea4d48efa60e6a26f09befd800b7  gdb/unittests/basic_string_view/inserters/wchar_t/3.cc
+48ec10d7fa4729bb39ffea2be08f90ee  gdb/unittests/basic_string_view/inserters/wchar_t/1.cc
+1afd9c4a39de84040cf081324677bf0e  gdb/unittests/basic_string_view/inserters/wchar_t/2.cc
+ff68a5e91b6af04f0e9f3fc8247aa611  gdb/unittests/basic_string_view/inserters/pod/10081-out.cc
+4d62ae71f5dd85de4a700ae9c771ab9c  gdb/unittests/basic_string_view/types/1.cc
+dfd8058c798fbe325b5bd8140bcca4fb  gdb/unittests/basic_string_view/operations/string_conversion/1.cc
+84a1b66f75e7680e281b859392b22407  gdb/unittests/basic_string_view/operations/copy/char/1.cc
+feb7205ab7e6a166695e3b3887d105bd  gdb/unittests/basic_string_view/operations/copy/wchar_t/1.cc
+7d9aeee651834f0f9e870e377495c41f  gdb/unittests/basic_string_view/operations/data/char/1.cc
+0dab42efa58d63a01667ea2a23b61401  gdb/unittests/basic_string_view/operations/data/wchar_t/1.cc
+ed0272f457daf59eea1312bf5b875a3a  gdb/unittests/basic_string_view/operations/substr/char/1.cc
+49ae415d00483574240fa3d99b95d63d  gdb/unittests/basic_string_view/operations/substr/wchar_t/1.cc
+fe7d52399939b3e03ad2a52e609e5020  gdb/unittests/basic_string_view/operations/rfind/char/3.cc
+8710c5484e4f53edc4027f9049813fc1  gdb/unittests/basic_string_view/operations/rfind/char/1.cc
+137927c47927da7be958b6c6975965ad  gdb/unittests/basic_string_view/operations/rfind/char/2.cc
+be89db8a5068f1c4627681afee23307b  gdb/unittests/basic_string_view/operations/rfind/wchar_t/3.cc
+8eabf1446b4f2a276a9c5ba08eaf025c  gdb/unittests/basic_string_view/operations/rfind/wchar_t/1.cc
+267520287aac6eff68218c86e7b416fe  gdb/unittests/basic_string_view/operations/rfind/wchar_t/2.cc
+70904b69fe9f5ff9023d9691729e8ebc  gdb/unittests/basic_string_view/operations/compare/char/1.cc
+1774f3716256af7bd52ec714d37bb87e  gdb/unittests/basic_string_view/operations/compare/char/2.cc
+7c0a52a7274b3ca9d6843b4ffda9d40e  gdb/unittests/basic_string_view/operations/compare/char/13650.cc
+fd7c3ea7207f5461fcf548a58f8bd661  gdb/unittests/basic_string_view/operations/compare/char/70483.cc
+6f83f74cf1f49f06009ac91655d71d0d  gdb/unittests/basic_string_view/operations/compare/wchar_t/1.cc
+6fec7333080f08aed0af226ee1768559  gdb/unittests/basic_string_view/operations/compare/wchar_t/2.cc
+ef9b4bb80b1a9a333ee8e31e2067fd69  gdb/unittests/basic_string_view/operations/compare/wchar_t/13650.cc
+7875bd89c79aac764a46d8e12a280bae  gdb/unittests/basic_string_view/operations/find/char/3.cc
+c1aa6e7cb2ff4012c891025681447f42  gdb/unittests/basic_string_view/operations/find/char/1.cc
+fa81fca17fc0dfb24bbab19dad8d8150  gdb/unittests/basic_string_view/operations/find/char/2.cc
+5c3e56c9519596d1298774292d3135c7  gdb/unittests/basic_string_view/operations/find/char/4.cc
+31c396cc7334791fc455363c6df76560  gdb/unittests/basic_string_view/operations/find/wchar_t/3.cc
+98a91562078daea8fb855d205f23ddd1  gdb/unittests/basic_string_view/operations/find/wchar_t/1.cc
+9b06e9cd348f19a18fec943700aba7bc  gdb/unittests/basic_string_view/operations/find/wchar_t/2.cc
+df4758c2273b3185468b4d7c7cdc1586  gdb/unittests/basic_string_view/operations/find/wchar_t/4.cc
+2be7c3f03079a23f38acb40ed816cba0  gdb/unittests/format_pieces-selftests.c
+d3bb97e47dabf4141766c1d4d50329af  gdb/unittests/scoped_fd-selftests.c
 7aa72fcac3107951eb7c75d9b0e0f1f9  gdb/unittests/memory-map-selftests.c
-2e14744f12640100a8509a7866dff5d1  gdb/unittests/xml-utils-selftests.c
+2d2e64225bdc6edc44347aebfe3ba96b  gdb/unittests/xml-utils-selftests.c
 3b5eeda6e0cdc1734ac9d02b826e85c4  gdb/unittests/array-view-selftests.c
+a3c6341d22e31ac2d9149d4969e2a0e9  gdb/unittests/string_view-selftests.c
 ff193cc850cefb47da6fd5ebe54ed4cd  gdb/unittests/lookup_name_info-selftests.c
-f092e3b5be79c57d290e77f669acb19b  gdb/disasm.h
-4f5703daabbc93c932d4c2e904347df8  gdb/i386-linux-nat.c
+a63e4a2e216a818854523153dc2e6767  gdb/disasm.h
+cdb810696f85a55784458ec0da430d01  gdb/i386-linux-nat.c
 2473f072b54d2d1dc3e12b495675a2bb  include/safe-ctype.h
 53bdfdb5cd3c0c7831611602041cda52  include/xregex.h
 4881831953711a85f8cc56ce9377d468  include/ChangeLog-0415
 de14c7a5d8d1ce55fda864a08a3d1990  include/objalloc.h
 781f387da8427a8cef273e127e9ffc49  include/alloca-conf.h
 b5e4c5a63f55f91d209087edef1340eb  include/fibheap.h
-cc08cd4cddc61e66bc488bd71ebc3572  include/simple-object.h
+60d4c5035c7b0868a54f70ee8087b517  include/simple-object.h
 5f7ed1643aa43c1e0044653068c379e4  include/os9k.h
 0109815bce024e5a11a37c6adaec69b1  include/dyn-string.h
 3695f27151c3e8b53ff0a11c93175e8a  include/timeval-utils.h
 41879305404d3b06773b10ab3fa44539  include/ChangeLog-9103
 880588659b5e6c3cc27daf056fd4aa1c  include/fopen-same.h
-7b9b0530aeece7f59114c1099618362d  include/dwarf2.def
+e4f49320c0ef068f886c023cb72ba91c  include/dwarf2.def
 bf9c6a15486db958ec272363c11b7df6  include/fopen-vms.h
 63a7769fe8320ff28c7cd0aede9dd5fc  include/mach-o/arm.h
 eb529504e4971a0cc61b66635219e9fe  include/mach-o/reloc.h
@@ -6370,55 +6523,44 @@ eb529504e4971a0cc61b66635219e9fe  includ
 9e22298779026798c4418fb2c376a858  include/mach-o/loader.h
 beafc82ad4b3557e2aeb2265726c367c  include/mach-o/arm64.h
 4acc73315adbf247f05070f67f5ccba4  include/mach-o/codesign.h
-4530cd1478e8c0b5f2ed22d8aa985036  include/mach-o/unwind.h
+036a169e4af31e14a652d42aaf8941aa  include/mach-o/unwind.h
 bdf539895f9bda17a4678e294c1d7f50  include/mach-o/x86-64.h
 b915430b641976bee09b3cebcd9334fd  include/mach-o/external.h
 2e319cf6885cada567a107c7d4edb71b  include/dwarf2.h
 ac55d9b0c3b5cf3e2aa9943facf4bf2c  include/oasys.h
 6265413b4ad7b4acbb600439fc255766  include/libiberty.h
 1b996be692169955139a5a11164368ff  include/environ.h
-f70613c5e950c483a27bfa7eb0402116  include/ansidecl.h
-172bde8591eb83061db13658a1337877  include/longlong.h
+3f5ddc5710c7c1be34b403ff07650091  include/ansidecl.h
+de94e5207678971c47448f1ef37dcf47  include/longlong.h
 dcaace4a60bd6d7cd29251ac4849575d  include/xtensa-config.h
 5de40aab804e654f1a014b88485f6c14  include/hp-symtab.h
 7b32ab2663a67d005efd2d82c37239dd  include/coff/sh.h
-32f50ac193642e4b6c5519d1176efc2d  include/coff/w65.h
 01edaf4b6ce0d9a3e7a488a5364c67f0  include/coff/tic4x.h
 49952fda1e759e5aa659f8f78d7e0ba0  include/coff/sym.h
 4d7646c4b5475559014c76936e6fdeba  include/coff/ChangeLog-0415
 dda59326ca4a1a065920890fdae2dd49  include/coff/arm.h
-4ac45facb8bf127d015f1c8acf77b35c  include/coff/aux-coff.h
-9486a1f3946245afc1e21241278ca00d  include/coff/internal.h
+ad3b68ca90cb7bc586c426fe25a1eb4f  include/coff/internal.h
 593962175d4ca4386cbbb87fb4fe5e09  include/coff/ChangeLog-9103
 8e90108c7512d80ab336243bf3ea1b79  include/coff/alpha.h
-08896eb32644bd9ae336e20e40612eae  include/coff/powerpc.h
+00e86637f768267e06a773a78f4dd55c  include/coff/powerpc.h
 061103c5060ea27fec3fa07af7a0ef8a  include/coff/ecoff.h
 407e449912b1ca28b9b379b9700a7998  include/coff/ia64.h
 257d4c57e548bef58364fa6f93fd9ff7  include/coff/rs6000.h
-76104aea96832efa03156cd00e92eae8  include/coff/m68k.h
-dcdea10079a6c9b37bae62da47107be8  include/coff/h8500.h
 f33f29d42488a31991a90725aa8038c3  include/coff/x86_64.h
 6e0648a6e75b8fe5dfdbf90ac6a00099  include/coff/z8k.h
-1fba7938666c0b63e8d2a37d50e98255  include/coff/i860.h
-2b90f25ac6353b93b7ea3c8ecf055fe3  include/coff/apollo.h
 5314c4e4c3ae096bb298cff130379856  include/coff/ti.h
-39954e4e8b81fbf80f6803cd76dd808b  include/coff/pe.h
+a62ed3abc471c4afaa04e240e897bc78  include/coff/pe.h
 aee68066cc22e12df0110e1d47927951  include/coff/tic30.h
+cbdde826d0ab73a26bf7b29fb5847974  include/coff/msdos.h
 ca96ff4d5a9d8020a185478138245188  include/coff/mips.h
-8045f6347bc8ae8b483889ad7a593b5e  include/coff/we32k.h
 05ddb2bd26d4bf7eb75de39b1214c3c2  include/coff/z80.h
 9548a06f2a9fb6be7f272df74ead65b7  include/coff/symconst.h
-4f6dcc6965ac5329b4bd9d52f172a1ed  include/coff/i960.h
 6d3e5af54e5325f7b660ecd4539cbc40  include/coff/tic54x.h
 07b48d6891acc16c005eb666eb583d40  include/coff/tic80.h
-305c23cd0549620732fcfceff6911cb3  include/coff/m88k.h
 c4f4a09dea353c03a454d3454169f5b3  include/coff/mcore.h
-6888bcea7daf9bed0cf71ae08f8afbb2  include/coff/sparc.h
 a875e8229131115927118f15a3ca8ad4  include/coff/rs6k64.h
-50ed898004d2105a81670341ebcc4199  include/coff/h8300.h
 a2a76cf963d5fd165ef32c1ecc3a0edf  include/coff/go32exe.h
 b7307995fe93ef60bd24e70a538f997b  include/coff/xcoff.h
-865c10996309ee14c555afdf0f945d88  include/coff/mipspe.h
 58e2f9fe995343081fd1bbd2851b1d07  include/coff/i386.h
 fff6db76f61a6cc971d09e46d1d99593  include/coff/external.h
 782fa4a3466cf64a9bc7c19a9390fc73  include/sha1.h
@@ -6433,14 +6575,13 @@ d466eede3a168a1d1784da97767c8b35  includ
 ac914ce9ce888eb335489b4ab301a5fe  include/opcode/ChangeLog-0415
 3cf1caa321461a15e9669eb13298cc69  include/opcode/tic6x-control-registers.h
 acc1615ac5c75c1953901790909d117f  include/opcode/tic6x.h
-95a39abca59a7467d8b9fbb1a29fe7ce  include/opcode/arm.h
+dae37a02d781eccaa9c04eb10d6a2b25  include/opcode/arm.h
 20b9dcfabd6eabce88ef2245e8096602  include/opcode/bfin.h
 24b7dd12d4d14fa53a3f60d96f4e163f  include/opcode/nios2.h
 e0d65b5cac7ca6d0188c4631bd157c35  include/opcode/tilegx.h
 a342d85fea1e2696d1608befe2530137  include/opcode/ChangeLog-9103
 9359ba0ecf9aca1f734e639ef463b3c6  include/opcode/rx.h
 aa689d675410a6f19578354d2a682501  include/opcode/score-inst.h
-6e4ee05cea4978afb4f62fda8c34a973  include/opcode/i370.h
 d813d8e8d2370f61f45316b61bbf0598  include/opcode/tic6x-insn-formats.h
 71c6c7c76237a096f06b4ef19ae8e259  include/opcode/alpha.h
 4373fc52a1c142fb530cbb05c7f3f6d6  include/opcode/msp430.h
@@ -6453,19 +6594,19 @@ c7401f79eefa287ce888db7c98e84ad3  includ
 2ff90293241e370129bbe97280eef380  include/opcode/mn10300.h
 b78c069157e52028d07ad55b609ff169  include/opcode/m68k.h
 caf421fa76c94c3a01d16089e9a21d66  include/opcode/pru.h
-4c6415c49557b29fcea2c489673991f4  include/opcode/riscv-opc.h
+be9d41190021481c072aa5b7b51b5ae5  include/opcode/nfp.h
+dc1b33077f8dfda7000b66b6f8d05a2a  include/opcode/riscv-opc.h
 b0a660620a5b1650aa550e4d49dc0c3e  include/opcode/pyr.h
-3620013fa41b36a2ca991f51d7ebe191  include/opcode/i860.h
 74ddc1dfb6e5cd3da27b4b03abdd66a0  include/opcode/arc.h
 9f7c6c94ee80e3de96af54eb463a4a14  include/opcode/tic30.h
 a424ec71bff901a9109cb4877e93a0c2  include/opcode/cr16.h
-dba33acf46d0eb264e4206afc1fd662a  include/opcode/mips.h
+8b88a24e5b421cf40ca0d5f214c72312  include/opcode/mips.h
 0e61a510eba5ba164c3ed700efb66537  include/opcode/np1.h
-f2b18613dc34a4d632a4382882dac14a  include/opcode/aarch64.h
+2d3a4b0b7aa599ba0d6ca83b7a172506  include/opcode/aarch64.h
 bb647d596a663b4e1c050f3cd24dd79a  include/opcode/pn.h
-28be04e045ed4eb4a6314b22647166ae  include/opcode/ppc.h
+e3ec27ce8e55f210c26287cb1a3bb9a5  include/opcode/ppc.h
 3bba526085dc215663b67a77458d159a  include/opcode/s390.h
-6eed9e636bb8a6626c7c151ebf862a41  include/opcode/riscv.h
+212340fb21e3788948893307f8f327c4  include/opcode/riscv.h
 9aefb1072845a173648a4b45d56283d4  include/opcode/pdp11.h
 1106e4e486ed7fb9cba4a45a9dd4dc5f  include/opcode/avr.h
 66034cf29490481394c8c3049d7d8ef4  include/opcode/spu.h
@@ -6477,15 +6618,12 @@ e6e5d5a9cd8d6dcef39180009045d2d4  includ
 c30ae8857e6a6cf2a3f3bbbf4577ea35  include/opcode/dlx.h
 14ed1d8cae8ac249147702662b43ea5f  include/opcode/tilepro.h
 c8d57f0d053c31e67f8564ba0708ad5f  include/opcode/rl78.h
-e3f50789a33744c4bdc9b1a8288fdfdb  include/opcode/tahoe.h
 2403587eb0382643b0d63e3391a14a1b  include/opcode/cgen.h
-e2b9401c9f6609b50f74b27e63d2005f  include/opcode/i960.h
 93f9ce59bc7da8e57dc8f58792aab170  include/opcode/visium.h
 8fdf21fba777286934039744ae4a6921  include/opcode/tic54x.h
 02b6474f65466f81eedf8891b2d93a54  include/opcode/nios2r1.h
 4dbeff7cafafaf0ba433f6df33615b78  include/opcode/m68hc11.h
 6268e17bef5d6059f10f2442d7e0e4ee  include/opcode/tic80.h
-c6e574df3d24fd35f59ad279777bfa95  include/opcode/m88k.h
 f68373cbfd9be006787bcadde245e77c  include/opcode/spu-insns.h
 6c41dbef4c389e67e4261d8783bd67d0  include/opcode/nds32.h
 a4fd5b885cf673c3c564a15ccd2d0e4c  include/opcode/sparc.h
@@ -6499,10 +6637,10 @@ ba474967a3620ea6354edb9b4535cff6  includ
 dfef5273e6323f08f846041d9b58b254  include/opcode/convex.h
 b9e05407e549ae8481dc094f899c43a4  include/opcode/msp430-decode.h
 c23b40fcd2a4e59087bb2d2b5ce39682  include/opcode/wasm.h
-5d89bdf953fac8e25935ef8dee13502f  include/opcode/i386.h
+db99271b56f0305ba252cd61927a06a2  include/opcode/i386.h
 ce55fbece4c0d4bce4d01b344d8a2bf6  include/opcode/metag.h
 d32239bcb673463ab874e80d47fae504  include/COPYING3
-1bd1bbad5babee6aef2ba372bcc92a84  include/plugin-api.h
+2514da41f5c95773e674a5e986d58f9b  include/plugin-api.h
 00545ab1c2eec1b4a5c47a2387651096  include/progress.h
 8af22d46ec3fffc1bd07722dd54e145f  include/fnmatch.h
 9e2e57b86276ddb315c614cff4e02fd6  include/binary-io.h
@@ -6568,12 +6706,11 @@ f950c461eb3a79c1139909292e62ce07  includ
 ba4ddd4f9ef3c73efb32cc896b63927f  include/gdb/signals.def
 d2ad036f25b58cfe8d97a28e90381e79  include/gdb/sim-sh.h
 ffcfe0cb01c0a38af7417bc9aa775e94  include/gdb/callback.h
-fe6a4b88c4a84f68a1549bd2b64963e9  include/ieee.h
 810af656d62bf4d126e8ac209c33fb19  include/hashtab.h
 e8bf8dd17f26a9cf31a3a56106772180  include/gcc-interface.h
-80ede8216d8ce73cc66bda2c415df12e  include/ChangeLog
-32675f876bdd16bed6ee1af989641429  include/dis-asm.h
-4aeeb52aa52171b54dd3cd19dc28770d  include/splay-tree.h
+52184450866bddfb519d8d33c52de413  include/ChangeLog
+1fdc20333253d4d7142d700310678265  include/dis-asm.h
+dba6f24691254ca1333ae3aa858af9b2  include/splay-tree.h
 1cc64c7ec7b7065e8ae4a879369655e4  include/filenames.h
 853f8c73e25aebb37bee7ecfef2008aa  include/symcat.h
 59530bdf33659b29e73d4adb9f9f6552  include/COPYING
@@ -6587,27 +6724,19 @@ ad702ff55d97ae29754fd5a0356c336d  includ
 fc46ef2f51a7805de53ce2f3c391ee1e  include/gcc-cp-fe.def
 23530eb693c7ef001eebab87cd044c43  include/gcc-cp-interface.h
 766ef7dee3446f81f776c6092ad27f8f  include/vtv-change-permission.h
-89f2de095cfb5d64ed28a8b6e5840fd0  include/nlm/common.h
-75a6c17f2bfaa1917c14403232986eee  include/nlm/alpha-ext.h
-0b414c47ca0c6ad79f59286b320e9ab3  include/nlm/internal.h
-12a043d241cc505ed2ec2e7981080db2  include/nlm/i386-ext.h
-da9744476a689e230d4fcdfdb1b2ac46  include/nlm/ppc-ext.h
-a0de9d1cbefbbe7ae266751c6d5c36c4  include/nlm/sparc32-ext.h
-abf560f9d754c0561ef602fe2a6452bf  include/nlm/ChangeLog-9315
-81643874e7a879a0a5a287a20052dcd4  include/nlm/external.h
 b18dfd31e529e6a07b59747f45193bf3  include/elf/lm32.h
 2e600a16c7021e05ed3dff206a7a1fc9  include/elf/hppa.h
-4c9c286084267b2e786f279279141726  include/elf/ppc64.h
-53cd58fc771133e89d73e577c1160c17  include/elf/common.h
+190009050d79a08c945ba2936554026f  include/elf/ppc64.h
+07ea0d745586538f8a8966947255b8f3  include/elf/common.h
 7d8e451da4c3051513da339a664f8b40  include/elf/sh.h
 f35485b7fab75354fa4109e554d73490  include/elf/mmix.h
 42ff529a680f8972e4feaf1db3c054fd  include/elf/cris.h
 111c36de9f13a59ab5121797c7f16454  include/elf/arc-cpu.def
 78dae0920dbd092662d60ce0260ab14a  include/elf/ChangeLog-0415
-30d89dcfff3ef5850ec0e593c26b0d94  include/elf/xtensa.h
+4be348e9709dd2e4fc9f4f8f8cb08840  include/elf/xtensa.h
 68f82f6dc2fa49766fee574505af2b59  include/elf/tic6x.h
 7705bdb00e1c2acab59b40b413bb0f21  include/elf/arc-reloc.def
-b6772887b9ba39a719e6efe10f819eec  include/elf/arm.h
+1c0a99113c397799fae5babeadd02f2a  include/elf/arm.h
 75effae8729bc9bd669e8726823b4e37  include/elf/bfin.h
 d90d9a3432c3882fef767b7b14311d5b  include/elf/nios2.h
 6f1ae653dccba279df073c46430ebcd7  include/elf/epiphany.h
@@ -6616,12 +6745,12 @@ cce4e7c4e19245cbd2748b94d7f71166  includ
 8d3a4c8ed616ee937f4f260cf23474ce  include/elf/internal.h
 4a26c010ce1159365c425f0df730a09d  include/elf/ChangeLog-9103
 01b5db46832fa21591e1cb7c59a835ee  include/elf/rx.h
-b94c345a2a8ba86395fe1a0b8bf93969  include/elf/i370.h
+10907fac01bfa57d330e70f4132f604c  include/elf/i370.h
 53b62c19198b43efaf3e3b4c0687eb63  include/elf/alpha.h
 355ff7cd8338eef18019ae073a46327a  include/elf/msp430.h
 9c64cb6ff950ac8e9a670ca442e3ea1b  include/elf/ft32.h
 601f33b48bb0a3c8106d9e6b4f98fc91  include/elf/vax.h
-fc642b2d9f16e09a48d3a20d27101e90  include/elf/microblaze.h
+41723938c1d06432c501f04d6769c28e  include/elf/microblaze.h
 4d4e0b389dfe725e51e41686afed4fca  include/elf/d30v.h
 c85a7b952792f0329ea474aa90092835  include/elf/mn10200.h
 d8c3be29ab3541dbaeea87040e02ac6a  include/elf/xgate.h
@@ -6631,21 +6760,23 @@ e7ccd07a1bfc1e1221659f87323e544a  includ
 0dc679da91a20e511ecbb39424c6d73f  include/elf/or1k.h
 c72af3d1583edbe6bee8dd389a4240ee  include/elf/pru.h
 f3b91443ebec32cdcb554dc60c7e2426  include/elf/reloc-macros.h
+b03fcd97cba79999f4afd2ef4404d2e9  include/elf/nfp.h
 437fcae9ed00e4767081f2173820910b  include/elf/cr16c.h
 cb4d7665d8e7e4d91e03261aabe216f3  include/elf/h8.h
-58898541e0f811ea4eb7e2af30f8d974  include/elf/i860.h
+73769eada5d7a5d7e4965177e3b40258  include/elf/i860.h
 f357599bdc97b50eb84dd136d8bd2aa5  include/elf/wasm32.h
 d93b46e8edd37a417b5f4f921290dd94  include/elf/arc.h
 8bbbb5bf25420b4b7d1e9047003aeedc  include/elf/ip2k.h
 573e7c04cfe7d00a347812d4d0f9f70e  include/elf/cr16.h
-b6c7bb38389df849b456a17c1e9e9c93  include/elf/mips.h
-2f48e166972cf73701d197e8aeec6b48  include/elf/aarch64.h
+8df4b182e9588d7cc09f6d362cd0e747  include/elf/mips.h
+382d041cc079b275fbe3ba32f20d8706  include/elf/aarch64.h
+ac1b05b8884bdd60464db0035c8abe0c  include/elf/s12z.h
 7a4de8838a01e46db762ee4ec920e523  include/elf/dwarf.h
 dbd3c1dde9f4f037b16732b26443c579  include/elf/xc16x.h
-5241c06146d7be10377b220cc9580430  include/elf/ppc.h
+74ceb846279cb5981b19d1e1122a4b4f  include/elf/ppc.h
 8864e9dbdd4de84334f489dc9d70423a  include/elf/m32c.h
 092aa6adfd9ded2b8ddd62a04c881043  include/elf/s390.h
-31511cb23fedd1f4364c83a11aa45d7b  include/elf/riscv.h
+e259f91228ed9d96a51dfdc6eac89c2f  include/elf/riscv.h
 323bf49731f6b32f552e0073811e2bd9  include/elf/vxworks.h
 0616b483ec130ed3be8db0abe5b6da9a  include/elf/avr.h
 29e2371fc47376ab75e407e673a705b6  include/elf/spu.h
@@ -6676,19 +6807,15 @@ d59d64a991c51c174c4210618600566c  includ
 78b7ed34f12d55766ea3e21ddd8aeb87  include/elf/external.h
 c7854828673c2871449667b3d96198ea  include/elf/mt.h
 78a0a053580681be3a4a931285c2b1dd  include/aout/hppa.h
-9310aee863a71683e2c72b2a33903d78  include/aout/dynix3.h
-3223fd52802ad726cd4addc69a507d3c  include/aout/ar.h
-998f4fdf2a9f403ed4c6d6b73f4636a5  include/aout/reloc.h
+8a7ab6d8b69bc4c895a96c8d799646e3  include/aout/ar.h
 9b5c5ffc65b8fc6d006bbfa73c487604  include/aout/hp.h
-d98d2d851765bd138fe84aa66d8b5ba0  include/aout/host.h
-10a27d6ab85659506d3f631221512b01  include/aout/aout64.h
+e737c3379099a9a8e09c7eba531b917a  include/aout/host.h
+579f68bc45286399b5f8dd94e16b8939  include/aout/aout64.h
 519c8eb910b3696f25d8315937857c7f  include/aout/ranlib.h
 fafa26ab75fac5860663c4b817ba9f2f  include/aout/sun4.h
-8d8a6f3e128fa8c7682735e90c9750fd  include/aout/adobe.h
 d37adb1b17f2b3d65d567905ff703711  include/aout/stab.def
 42194206668b86fa7c21f806f311d3cf  include/aout/stab_gnu.h
 63c526643d6b8d63c9a4a7ab3b1c2d75  include/aout/encap.h
-3b9f2fae4f412ef11dbed59841cb4580  include/aout/hp300hpux.h
 8d8aa9eeec25b25da4bfafcc670162b3  include/aout/ChangeLog-9115
 aa004fdfff383a4f2bb345ab4407c9eb  include/xtensa-isa-internal.h
 25d1efe456b3a00515f638a6da43faa0  include/MAINTAINERS
@@ -6696,9 +6823,10 @@ bf3922099d139555287673a9707e90e7  includ
 37785f3eed21fc14cdc3a0b12e8b4406  include/cgen/ChangeLog-0915
 7772efe8dc8f5322af61bd4464863aa1  include/cgen/basic-modes.h
 c78b5ef62206d689c696657aed751401  include/cgen/basic-ops.h
+bb881d098e3b20ecfdc228a7896bc124  include/diagnostics.h
 ebebe8f68ad7a72b11a37a6ed97b4e94  include/bout.h
 35a9e2ae2c1f5c00c6d7566b20a6d947  include/demangle.h
-54908dc2b8fe71a6121bd474f56ad738  include/bfdlink.h
+ad127791bcd16b49f7cb97825abf816e  include/bfdlink.h
 14385d807191a7ad0a4a4a103756a3a6  include/xregex2.h
 361482dd6b5b5eb7090fff3986fba68a  install-sh
 12ff40e8c89d99dc7b704bac9434124a  intl/plural-exp.c
@@ -6710,11 +6838,11 @@ d8e3733cf513bbf862ca090cf6403edf  intl/l
 43f287d082528203fc85c1d2d81bf30d  intl/textdomain.c
 8a751062d7db9b6e8163667e5626fcb5  intl/config.intl.in
 81b58accbd88cd8159471d322723c42d  intl/dcigettext.c
-6482fe64d6721cf11accf8e30ee72e98  intl/configure.ac
+89dc78a2384912f37753ac8f3b751b11  intl/configure.ac
 6ec998bb4716c744bf8185e607f69301  intl/README
 6f008e715086ccfb7e8e44c007fc7bc9  intl/finddomain.c
 45bd4be597b118d4bbbff6c9c6958e87  intl/dngettext.c
-56f6438cd2c28d67b1bfa7e076f63acd  intl/config.h.in
+f9a9ff3ee0a9b0465351b384e430bec5  intl/config.h.in
 040acf17db43770b3eeab4337e031fc0  intl/ngettext.c
 ff5c358b1507e45a2106b23b7e6c70a3  intl/dcgettext.c
 d4abe82ea322701d2385778a2fcd0804  intl/bindtextdom.c
@@ -6726,12 +6854,12 @@ c8501675ab40fcf8fe39364ab9de0e42  intl/d
 bedade7bcfc3bc5eb09a2c6844f637f3  intl/relocatable.h
 6e671cf01cbb93dedaf7b3688062d7b8  intl/eval-plural.h
 4109118983200f4aa853bf0cb466c586  intl/plural-exp.h
-f49d79d0eff337e45e38c7d37f349628  intl/configure
-9377491488e17363a531bdcfdd12a7cd  intl/aclocal.m4
+f2c6f1ad9eb2bfa381f5087b79e13d00  intl/configure
+03740a87284033311c5cb780e5c23315  intl/aclocal.m4
 049ba34a0c8d1fe665e8119e579dce4c  intl/hash-string.h
 c6620ffc92d5853137d3ac11300de38a  intl/gmo.h
 0ad4083e3b5df1f764bb605dcf657b88  intl/loadinfo.h
-7736c1c9b3f73afff8c43018a46193de  intl/ChangeLog
+b7af662b61904d9a290dbab9ec31f9af  intl/ChangeLog
 b4758a0194e3e41362b939911472ce62  intl/relocatable.c
 bb9312cab68737125445f5932ae7140a  intl/locale.alias
 0ff7bc241f5ea36688cf8bb6ac801b5d  intl/localcharset.c
@@ -6745,234 +6873,235 @@ bdad874b80d29c70bb040f2ddeb67c5d  intl/l
 d50a8c6c5b41089930accbdce767d3c0  intl/plural.y
 287ad6ebf8b8179aa843368e9600a3fb  libdecnumber/decPackedSymbols.h
 8f3ac08d4cc421cc89035e90c890bb09  libdecnumber/decDPDSymbols.h
-0674e50551a1f37ad66af5e4688710cc  libdecnumber/dconfig.h
-18057297675f1d6ea8bd51876457a863  libdecnumber/decQuad.h
-fee170e3084f660b301cded43f33dab1  libdecnumber/Makefile.in
-0943661e2f07ee586ddfd94f1431bfef  libdecnumber/decSingle.c
-7c67ef985c87524fee836cef8e4c121d  libdecnumber/decNumberLocal.h
-d823ba20c8b412bbff750cd4c1880e98  libdecnumber/decDouble.c
+7491c7795c6c03d7a2a8b278490ca898  libdecnumber/dconfig.h
+1b89a5bc4842fd26ecde038c8a017ad6  libdecnumber/decQuad.h
+c15307b3cd8fabf131a41cbfa4f062d4  libdecnumber/Makefile.in
+aef74e5dbc8c3f804d9dd8ed22e9c6c5  libdecnumber/decSingle.c
+2ff776f9e3651435022092b000151422  libdecnumber/decNumberLocal.h
+d02a047fb1fa09dfe54ac69489693cd1  libdecnumber/decDouble.c
 22e16083bf3d0b76c4736f7f6382cfb6  libdecnumber/decDoubleSymbols.h
 76d4afd0dd1c0f5e776cbc40cf2e91b3  libdecnumber/config.in
-48858021d98408930c805620029c9485  libdecnumber/configure.ac
-6d275c187ad6b9f532953246d138fefb  libdecnumber/decPacked.h
-8afd30b0b63647e9195b469bc83f9118  libdecnumber/decContext.c
+575c4471895b1e5f0f571ab4649cc9fb  libdecnumber/configure.ac
+9678f392a5f91876203f26e3c70ef287  libdecnumber/decPacked.h
+5425a6733a823197355b8300cbd06524  libdecnumber/decContext.c
 a6c2b3de06c7424706b16f4c206396a1  libdecnumber/.gitignore
 3851bae03416db42a85be1c5610f438b  libdecnumber/decQuadSymbols.h
 2f6da07ba897ca626a4f6d283feeef93  libdecnumber/dpd/decimal128Symbols.h
-bc4d326d73d5c3896157e0fde10b1448  libdecnumber/dpd/decimal32.h
+dffdcb83cf14ca1a6f6c7221cb803536  libdecnumber/dpd/decimal32.h
 0f6db29710e7075c2fd62bc4478b3b8d  libdecnumber/dpd/decimal64Symbols.h
-c9781e827a7967cd6fc66d49dbb6d7b7  libdecnumber/dpd/decimal32.c
-7bff859e94ae843784d72e241ab2b5c7  libdecnumber/dpd/decimal64.c
+87d51d3a1bed477f16f6a03d7d12c40a  libdecnumber/dpd/decimal32.c
+1b3ac8f16152273c87e1f2ec5f887016  libdecnumber/dpd/decimal64.c
 a97c47969dfc92a7666dfe3c2e1e1448  libdecnumber/dpd/decimal32Symbols.h
-301f87bdfb39c27efa10ca36ab11a56a  libdecnumber/dpd/decimal128.h
-906645c3ec32fa2a2708eb6705bb0532  libdecnumber/dpd/decimal128.c
-fc3cbd8a0d344b1ae83a8677ff93fab3  libdecnumber/dpd/decimal128Local.h
-15afb5cf507c63955aef09267fbaa571  libdecnumber/dpd/decimal64.h
-79ae9aac6948bb87e1454113c874a808  libdecnumber/decDPD.h
+f76b24b61366da5ec859d5d7f2eb169f  libdecnumber/dpd/decimal128.h
+6556faedd7609493dbaf68a58ab9de9f  libdecnumber/dpd/decimal128.c
+32cc0742460198c0a98cd868dbf9f159  libdecnumber/dpd/decimal128Local.h
+e2fdfe70083dbc8a6bec996d90813407  libdecnumber/dpd/decimal64.h
+3dde62830c9325c7752d44584a837d39  libdecnumber/decDPD.h
+2bd831b17997584e38305782cebe6948  libdecnumber/ChangeLog.jit
 2f89d012c7a8a2912e7dce02bd4a08dc  libdecnumber/decCommonSymbols.h
-dff6fa78c9e24d7c56df078486f4eb88  libdecnumber/decBasic.c
-69c1f6e146aba442c158ed3c0ce23dbf  libdecnumber/decNumber.c
-98c5e337cb4edd5839f1b4059b0dcba4  libdecnumber/configure
-e54b222e28dcc0e1cdbdb01fe4772570  libdecnumber/decExcept.h
-2746a1155d319a2cda823ee5b58921ce  libdecnumber/aclocal.m4
-b1bcd2a666fd01c133309c06c3242fcd  libdecnumber/decQuad.c
-186b9ca9837f0aca3763b4400faea9c5  libdecnumber/ChangeLog
-0ba6bb07330f5a21d83e3e1226758a06  libdecnumber/bid/bid2dpd_dpd2bid.c
+aa51c887f31905ea292407060a6f8a5e  libdecnumber/decBasic.c
+e8c7308ce5716c1c64c6894097ff7bac  libdecnumber/decNumber.c
+a3d75ca39829cca2d6d282f74b7b4c12  libdecnumber/configure
+4f847be768ae6810ccfc10b3e07aab89  libdecnumber/decExcept.h
+a3ee61acc65de663ab3bb4637301d9db  libdecnumber/aclocal.m4
+6768e55c274f86452a2659c2c14117f2  libdecnumber/decQuad.c
+676b7bb580ada8eb1b9a74f230d65ca0  libdecnumber/ChangeLog
+12230c29a88550a7f662f60696680206  libdecnumber/bid/bid2dpd_dpd2bid.c
 eab7eeba10520ab4a805774d42b8f9dd  libdecnumber/bid/decimal128Symbols.h
-46e5d626369c59cd16837dfda58fe743  libdecnumber/bid/host-ieee128.c
+7bf8ced2827725463bd5ae851407043e  libdecnumber/bid/host-ieee128.c
 43b6b2bd872ad984104804b1b20fb10c  libdecnumber/bid/decimal32.h
-062ce6acd11505f6ae65e2b941087122  libdecnumber/bid/host-ieee64.c
-c554da3dd320de9f364bb99511586e0a  libdecnumber/bid/bid-dpd.h
+510aa882d7973ab728d24af922c5ec67  libdecnumber/bid/host-ieee64.c
+728c92a81977f6b1ce57146d7a66076c  libdecnumber/bid/bid-dpd.h
 9f903ba71afb574bfa3a0f3cd2f9fbc7  libdecnumber/bid/decimal64Symbols.h
-ecb561b796cfb1c5692bb0ac8fd7f80d  libdecnumber/bid/decimal32.c
-3ac7f2c74a6f7f2b2c6f5b06c0c41565  libdecnumber/bid/decimal64.c
+70e969f148d8b9fa58b2b78dea3d4e4e  libdecnumber/bid/decimal32.c
+1639393fa356e435abfd665e376a9bf6  libdecnumber/bid/decimal64.c
 c5864ab84549ca0f34188ce5b057bbee  libdecnumber/bid/decimal32Symbols.h
-5e0d1b3c470ff7cd183e932fed9b30d4  libdecnumber/bid/bid2dpd_dpd2bid.h
-99c533007135375058063505c1b07040  libdecnumber/bid/host-ieee32.c
+e6d087e338c023920a35188158b74578  libdecnumber/bid/bid2dpd_dpd2bid.h
+641724c6fc243fd4d0448f2533401554  libdecnumber/bid/host-ieee32.c
 47afd72790bc284aceb5a23597cc6146  libdecnumber/bid/decimal128.h
-e6078e224aa63f69d8b139858038e8f7  libdecnumber/bid/decimal128.c
+ea69a6d83c0278792d3acc4f6b069c82  libdecnumber/bid/decimal128.c
 f8df5b96d86c867ad233c6f0d3e2541f  libdecnumber/bid/decimal128Local.h
 8c612aadae9886f1a72212f93d8651c0  libdecnumber/bid/decimal64.h
-fcc26742ae6975512f81c902fc679fe6  libdecnumber/decContext.h
+4ddc06f2c811639fa14beb3e6cc3fa32  libdecnumber/decContext.h
 dd46d36cafe0d7dcb669ad059fbed9b6  libdecnumber/decNumberSymbols.h
-6fa37e4f0eb3ad12181de27f8357cd68  libdecnumber/decRound.c
+7d452ade6ccb9a38c45915fe23ff97a2  libdecnumber/decRound.c
 53b67627dab6d36fba960317d84c1487  libdecnumber/decContextSymbols.h
-a4b73550a11428009bb7a8a4f4f034a6  libdecnumber/decNumber.h
-6284a8b81ab6992993f876f58ff3600c  libdecnumber/decLibrary.c
-0e3d80d4d461d4e6b7dc54217019866b  libdecnumber/decExcept.c
-7e07f7dbb90b2a62f74b2561f66f7b59  libdecnumber/decDouble.h
-70dd3797bef871511b6e7a5360a77386  libdecnumber/decRound.h
+3423f460d0273790302c0f9d01790301  libdecnumber/decNumber.h
+dd054d8a7b37d7c966b69cb9f1de8d4b  libdecnumber/decLibrary.c
+6b3d38ddffa7f13ce3215b4d09e9484b  libdecnumber/decExcept.c
+7c87617750d1b98dc73651fe5e304779  libdecnumber/decDouble.h
+b0edada33cd27ac39d929b258c442adb  libdecnumber/decRound.h
 8998c4f3e69ea3d218b574a2defb9a98  libdecnumber/decSingleSymbols.h
-9c3a9e828557622656503a8059646572  libdecnumber/decSingle.h
-828d8b133f28c377d2a2b9ed16a7015e  libdecnumber/decPacked.c
-c040382ca9cb3f01cb0d4d2f9b97a1aa  libdecnumber/decCommon.c
-55be94148648fdf64fb5b75dc1fbc1ac  libiberty/simple-object-elf.c
+14bca761b4ae83667b69345bac5d1613  libdecnumber/decSingle.h
+c2e8e00770012c27928fd039c71f588e  libdecnumber/decPacked.c
+fc0304097041af8de1c67dd83066ea14  libdecnumber/decCommon.c
+4ef74c7498317582fb00b0a1a304177a  libiberty/simple-object-elf.c
 4004fdcde347fda58406b4b84a995c66  libiberty/config/mh-aix
 904bdcd9daf97fa55a9ca8901ffe7435  libiberty/config/mh-openedition
 044204f5b4bcac5eae2face0602129ae  libiberty/config/mh-fbsd21
 38e76da568ab25260754fdb9d5080513  libiberty/config/mh-windows
 7b65854f594c84e80295173de277b3dc  libiberty/config/mh-cxux7
-8b54922b04da1288c0d5ba4af4a0ee75  libiberty/vasprintf.c
-6e139464436ac047cce1d1d2faa8d3ea  libiberty/snprintf.c
-8d0a6f2e0389b45a140a7647c7774a0b  libiberty/cp-demangle.h
-0b27e2c6cf9500f1878ca088c81a508a  libiberty/pex-win32.c
-fd2d265811c4b9df11063b5077f93595  libiberty/stpcpy.c
+181bde4bd658ecd078e99110e23d705f  libiberty/vasprintf.c
+8bad1af5ccbd45cc61eb7b5975628ef8  libiberty/snprintf.c
+11864447c16f8f70822715cacb3794c0  libiberty/cp-demangle.h
+8a9f84e5dc8c69a3ffe4ff46b792acb6  libiberty/pex-win32.c
+dea1446f50809ffe9ff5cc54ac14e2b9  libiberty/stpcpy.c
 13cce636dd9882e42c9fc5d607351f4f  libiberty/strchr.c
-197abddb63692e0a1d0f2146709c32d9  libiberty/fnmatch.c
+bf5793cb61560831827c2c7d76ff3c32  libiberty/fnmatch.c
 fd1435a5be24d2ed84909540998dd5d7  libiberty/strnlen.c
-989d73ea8d6c7734f2cd7fc2f6a08ee9  libiberty/Makefile.in
+b7d09397fa5854702176b44d5620224c  libiberty/Makefile.in
 28af0a1bf222ed2a5a87d9e170ef4a46  libiberty/vprintf.c
-116ba5600e20aa887878a5fb8e23b33e  libiberty/md5.c
+131d3a671f5f587bbc92ba4b542b64ca  libiberty/md5.c
 26196a9a92fae743a06d65f0e081084b  libiberty/strtoul.c
-b1b130fe4d3f33babb3ac3fc0b44abf8  libiberty/rust-demangle.c
-3abf52bb21d8ccb85d9e3d046930098f  libiberty/dwarfnames.c
-e2ba46101e00a8ec0efe347746fb67e4  libiberty/hex.c
+505fd97ca6e1ff4057932b9e32315839  libiberty/rust-demangle.c
+6488ff529d0dc94dc35e576b8d6456ce  libiberty/dwarfnames.c
+cc150256db97ce3c21a407eae5d9bd94  libiberty/hex.c
 d132d24f15fe05fe3614e69d6dbc65aa  libiberty/strtoull.c
-74ebb922e9178a4a6c746fc4244d4974  libiberty/setenv.c
+07706840a0062149b5da57dd18e8d5ee  libiberty/setenv.c
 9f681e91439ac44c9df8e1b1deef33b5  libiberty/strdup.c
 f214096086d1747033efa505022dd89c  libiberty/strsignal.c
 c44adc5ac09bdc782a8e13086ffa9367  libiberty/memset.c
-d291f043255f14a6d1f4dd40eb78e17e  libiberty/splay-tree.c
-68bfd44ce250b20fab1308eee3dc8f31  libiberty/lrealpath.c
+6497df32d6c341bb8e9b62849fadf2fd  libiberty/splay-tree.c
+0880c3dfc3d133592d55cff413959243  libiberty/lrealpath.c
 74850488731148a9c9f410042144f37d  libiberty/rindex.c
 e2f3721273c7ef1ab0194aad78ffa3aa  libiberty/strstr.c
-c7634c63a4c955b11e78d33b6d14879d  libiberty/config.in
+c500d246805d6d7391cbd8c564b1d5e3  libiberty/config.in
 3b03f409fd38f9d543870f21e6d7f5c8  libiberty/waitpid.c
-24fd8f6498981c1eea47af2bcb1dfa3e  libiberty/configure.ac
+f58cd992ae5c7b530e6be4b11b11b2fc  libiberty/configure.ac
 c68dbf7834af4281ebd84caa3fd54680  libiberty/README
-4122e01eef7e9956bc8152869b1b602f  libiberty/simple-object-common.h
+86c2b58dcbca0ddaa516e65b95e84ce1  libiberty/simple-object-common.h
 0c2635175b975823b40980974dfc2110  libiberty/ffs.c
-3bf81f4f02291ee96b0e9c06a14b156d  libiberty/simple-object-coff.c
-c467af6dc5654bd53bb21db43f010f6b  libiberty/dyn-string.c
-1fba1d2c7e578bb603294d1d38b15e6e  libiberty/xstrndup.c
+82761d9f6573203298572c35ae6a8d92  libiberty/simple-object-coff.c
+c6392e19a949e0308d43a4b0e9e5494b  libiberty/dyn-string.c
+1c473960735644ebe9746b641c8fc08b  libiberty/xstrndup.c
 0c70ad1e35bb090b52ed593865025741  libiberty/gettimeofday.c
-871a07b63c86764ad6119e039f39c4bf  libiberty/vfprintf.c
-7f2e7b2eb3dd780c3e6c6029791596a6  libiberty/strverscmp.c
+cf4ea72da1945d745a75e965546e7cb4  libiberty/vfprintf.c
+d6a0ef902064753b0e3fb1b5a03c8080  libiberty/strverscmp.c
 7819c93798ad282c557f952dbc399b57  libiberty/functions.texi
 80367d734a974bd32e9ebc370dedd2e7  libiberty/makefile.vms
-a26fa6d36a2a6c06a8387a3f8ad09e1c  libiberty/gather-docs
-52e329df2312235521d638b2e0b05919  libiberty/physmem.c
-40469b818362e7ca1e14d95fbae973b4  libiberty/fopen_unlocked.c
-0ecd8738284ae4834ea6499ed931002c  libiberty/fibheap.c
-804a47fa52858c936863af74ca4308ca  libiberty/copying-lib.texi
+11d8ab5e472cbc68319ccdab19992357  libiberty/gather-docs
+f0c5c7648dff9df3da12a6217017d70f  libiberty/physmem.c
+f38c7a55cfce9d6eceb535a480996bba  libiberty/fopen_unlocked.c
+228a4ee12b899689075b0e861be7751d  libiberty/fibheap.c
+8dedc06151f688e1ffbcf908a5c2edfd  libiberty/copying-lib.texi
 5bd055836a440051d7c561a9f591ecbb  libiberty/calloc.c
 99c2e5e712b990ee07be10f53e41f3fb  libiberty/.gitignore
 33320d312ab390ca0eb5c43c9e349d57  libiberty/memcmp.c
-53f583298507162847f5a3c74a171f0d  libiberty/unlink-if-ordinary.c
-848cb13c1fce50e96fc2808183795355  libiberty/strtod.c
-a4f2fc2102958a9e642580a0cd7dc0df  libiberty/libiberty.texi
-25824d923241b7abcf1f790188b316df  libiberty/concat.c
-ea819f780e94e804742b3148ad31cb86  libiberty/cp-demangle.c
-4b91b1e4f0fd04e66a606c12418f4fac  libiberty/asprintf.c
-daed0da0e6a2487af9a9ad13b32bd18f  libiberty/simple-object.c
-972222f69e7dcd4186532d73b70944f6  libiberty/memmem.c
+f75800c96e9f5c994ba2d0dde515fad7  libiberty/unlink-if-ordinary.c
+1b37c8633e41fac1a83bbb3ac439b019  libiberty/strtod.c
+4eb2a6cec877fdbf8124ed49112982ae  libiberty/libiberty.texi
+9d98c584c82453cdb9645961c0fccb73  libiberty/concat.c
+f67d7032f04fc989ca93d25264ffad0a  libiberty/cp-demangle.c
+b121198aef8f193bc4cc32e415646704  libiberty/asprintf.c
+3438fcbda7a6b8475100f4d8b0ab1e88  libiberty/simple-object.c
+21e996a7d3ef984eee623ff111970530  libiberty/memmem.c
 94f22680349b4ae73ad658495d2eb542  libiberty/random.c
-67c5de8f03f120182b8dc73b0566beec  libiberty/cplus-dem.c
+94dd78e5aa05771ffb160785f478fd1f  libiberty/cplus-dem.c
 145debe2f28f470878f95b1255f5537c  libiberty/fnmatch.txh
 de9bd20436bf2cb64d8c374c110ce315  libiberty/memchr.c
-6bde6010eac7daa17f7b7fb9301cb0fb  libiberty/mempcpy.c
-c9b285b097b274999434fccf12d3dfc0  libiberty/setproctitle.c
-b35251b5da1e31cad9f1fd12256858b6  libiberty/vsnprintf.c
+a46a76c17e0c04568173afdecc54fa25  libiberty/mempcpy.c
+53dec3effae3beb8dd0e155ec15676f5  libiberty/setproctitle.c
+e37df6541b8036c9b7568e204ea1325d  libiberty/vsnprintf.c
 24eab3d83825c3be13549dc62b6d63d6  libiberty/rename.c
-6b57a97fb9d540c29ba9fc375fd02242  libiberty/getruntime.c
+e628e20805b2bde37e67071817a037f5  libiberty/getruntime.c
 347c31392973de6a4872d540c1718dc1  libiberty/ChangeLog.jit
 c90c2f09bdcbd65b4732a4be25a56d12  libiberty/memcpy.c
-6e90cc466ab7d7ad40816ccc0f350d1a  libiberty/testsuite/Makefile.in
-c545619a42b4f34c57776ecf8d5690bc  libiberty/testsuite/test-strtol.c
-ad3f2fc6ba90397c70fce3b4010cb4df  libiberty/testsuite/test-demangle.c
-e60e531e1c255b20c3f3f69ffb4a3167  libiberty/testsuite/test-expandargv.c
-fef8c8b02c71f41b29865290fb9e0093  libiberty/testsuite/demangle-expected
-7646b648e377bb32468bcdc9095008f8  libiberty/testsuite/demangler-fuzzer.c
-820a31066f47674317cc9744d413850a  libiberty/testsuite/test-pexecute.c
+417e0c6793537da5af247a05f1cadc2c  libiberty/testsuite/Makefile.in
+ebecea1eb84685689a344a2bedc51cee  libiberty/testsuite/test-strtol.c
+6c2ad31b93adab242093d0a3c8641781  libiberty/testsuite/test-demangle.c
+b5eac74df2e219ba541f415eafdab57a  libiberty/testsuite/test-expandargv.c
+710bbf2c2ed08face6bb245818af868a  libiberty/testsuite/demangle-expected
+1d6848da03f5d4d081127d0442b3e640  libiberty/testsuite/demangler-fuzzer.c
+baadd4f79039c8b809612968f6f9967d  libiberty/testsuite/test-pexecute.c
 23e6b75e25b9f0a78145bdd1ba619ad4  libiberty/testsuite/d-demangle-expected
 3b244903adc10042e540d053c3585245  libiberty/testsuite/rust-demangle-expected
-53b8c20755ed48867b0b158f2544d119  libiberty/obstack.c
-7d167a9699f64aa6cfc3a5d8ecd0fd98  libiberty/simple-object-xcoff.c
+3bdffbf7d47e88a8dfa07c4d441b2749  libiberty/obstack.c
+8b384697dd6c0500a48a8deda57ab756  libiberty/simple-object-xcoff.c
 9968bbb75dc08ce768389912954f4348  libiberty/strtoll.c
-cba3a68235b9b0c878c5480b569483cd  libiberty/safe-ctype.c
+948c1e37e280c7bad06cfee6a984e3be  libiberty/safe-ctype.c
 7897e43bedd2def4beb6eb73003efa68  libiberty/msdos.c
 fe053283d3559af3ec5cac45f8ead009  libiberty/copysign.c
 4746095b1b67693ab6e78ed72ead1235  libiberty/xstrdup.c
-9511906197c137211ef2ad8ab7aea9d0  libiberty/pexecute.c
-c0f7cc7e24d64b32a77612eb89d20435  libiberty/partition.c
+756cff47aef33d4746f97193335feff6  libiberty/pexecute.c
+de3dbe84ab3a48b4a850d1f8b3d07f0c  libiberty/partition.c
 6b513119d8c36af928821e8ec24265d7  libiberty/tmpnam.c
 4863a11e04a2021af582edf86f156954  libiberty/simple-object.txh
 76888d9a6ed315d1e12029016d96672e  libiberty/bsearch.c
-1c94a452e6b90f6e8fd2e2d8a41fbd60  libiberty/_doprnt.c
-bca3805905534834b878fcdf7c865f42  libiberty/vprintf-support.h
-7955b89b43fe7da94a1a6eb30a511e76  libiberty/floatformat.c
+a58f65741fad672a1f1691b497071fac  libiberty/_doprnt.c
+1237b27f0199e574f6dc597e6a1b9d71  libiberty/vprintf-support.h
+2dc1b181a823e60380839a69e9b912d4  libiberty/floatformat.c
 5824bd0f9be9f4fa74bb3bdc7fd9431c  libiberty/configure.com
 5e520e600636a692f52e62dcfb01921c  libiberty/getpwd.c
 e60c2e7c5dcdd19510066c13f1a527d3  libiberty/alloca.c
 26ef02d458c958c1599de12b02c559dc  libiberty/obstacks.texi
-f6765318368cab39cc79c18f62fa33e9  libiberty/sha1.c
-5b461b93e0d400569656cf150a9458e8  libiberty/xvasprintf.c
-af6cb50ec134b9bd7cee888e89677fed  libiberty/choose-temp.c
+91f59459d862cbf9d8b5f3b27634c56f  libiberty/sha1.c
+5c487ad9b00e5ed38ae0f00fc04f7463  libiberty/xvasprintf.c
+3b03c76fc798fb659a5706f8bf2ee77d  libiberty/choose-temp.c
 a916467b91076e631dd8edb7424769c7  libiberty/COPYING.LIB
-033583903a11c15faf9c155b153fa5d9  libiberty/cp-demint.c
+98fa3789846dfed0a96ee27139933d59  libiberty/cp-demint.c
 99bfeaeb76e8e725dd8766f33810ccb1  libiberty/memmove.c
-e1b309fce46287631ac4b10f34be06e1  libiberty/make-temp-file.c
-2e8b8a49f857d2792faae50907b523c9  libiberty/pex-unix.c
-c7c5581b0dd73f0bbb1bc3deccfa6fc4  libiberty/vprintf-support.c
+58ba1b727877223725a8bee4b4dea722  libiberty/make-temp-file.c
+36698565d78384506bb008304475185b  libiberty/pex-unix.c
+9e3213c6347732d2aea0569dab775439  libiberty/vprintf-support.c
 284bb7a096480b355b75c337086220a2  libiberty/sigsetmask.c
-890a57f9ba10f2e58693454abf98c0f6  libiberty/getopt.c
-a90e022d51c269731d12f73dcb6a4a56  libiberty/configure
-55b9ba03f1ba7cadc8582556b8754eaf  libiberty/sort.c
+da71851739992187e85ab4688b941bfe  libiberty/getopt.c
+ddb8c109786fb2e785e13b66c64327f7  libiberty/configure
+2e266aca0c963a610ee8fb755a10ea24  libiberty/sort.c
 22b53dd8b990133515799dffbda44c8c  libiberty/aclocal.m4
-fc069384773ed08a22e4ce0482e44614  libiberty/xmalloc.c
-8cfaec996466b75071839bdb56d5aa73  libiberty/spaces.c
-79ffc6a93973fd7199abbebe0c20d8d6  libiberty/pex-one.c
-c55a58afba3c7da4b14d7ed57cf288e3  libiberty/lbasename.c
-8ca4bf9e73f2270231c8c37cc57dc4d5  libiberty/getopt1.c
-9316fbebb4ceb88e073f1dd841f646ba  libiberty/filename_cmp.c
-f275cadbe568d8607e724fad594a71af  libiberty/vsprintf.c
-a8e1b9017094e205d18cdc2d66b4a9d9  libiberty/stpncpy.c
+fde99c34c67a40ef057da6fec14a518f  libiberty/xmalloc.c
+87cae2a3efd96b7d0087b18aea3afc03  libiberty/spaces.c
+b38f10e738ab310d6353246cc358a7f4  libiberty/pex-one.c
+4f52487d93bad0720e1cb8525d80077f  libiberty/lbasename.c
+fb2e601fa39c6dfb09b81a443f17576e  libiberty/getopt1.c
+69119d7deb62961afd7c5aee2ed8cbd0  libiberty/filename_cmp.c
+68f97804775eb5b6f5d6fe54b33f71a1  libiberty/vsprintf.c
+849d9513538cd981a02b9de0cec9b61b  libiberty/stpncpy.c
 9d0471286f21d9027bbf1b7c67b87856  libiberty/insque.c
 b2c289eb14e9197dcad172f3acba12b7  libiberty/xmemdup.c
 c9bd3841bbde6d8ae680f62523f00ab0  libiberty/strtol.c
-64098d7d76c1009808a34320389c0840  libiberty/ChangeLog
+82cf5b947d1d73bdca1eea52762087ec  libiberty/ChangeLog
 c34119797a13e71989722851c14b711b  libiberty/atexit.c
-82950002575ceab0b1de6d4504f891f4  libiberty/objalloc.c
-32a0a662a90a3a30b0859538920a77f9  libiberty/argv.c
-820f0b9b9413ca9ae3ad555ebb182319  libiberty/mkstemps.c
-68851c73764eca54c4c45e183adbe522  libiberty/xexit.c
-8c82270cb90c8d35d7032a78af9bb962  libiberty/timeval-utils.c
-5bf046c61e23a31c5a9c89178b4b0bbe  libiberty/maint-tool
-cbf8d674b84dd9edd850384590309d22  libiberty/regex.c
+5dc38f391360e671cc1948034a62c57c  libiberty/objalloc.c
+d6266cd7b8b0bd4b05328e08198e1b52  libiberty/argv.c
+d25804f5f4283de48626313daa38e6e3  libiberty/mkstemps.c
+467939b47472fb9f92e0c9ff21369e8c  libiberty/xexit.c
+46b0cdae0006259912b732ea26087871  libiberty/timeval-utils.c
+3de88316926923447a3248f8a2a083ac  libiberty/maint-tool
+d2fbd69c4dbaecd5d4ebdb169daee6a8  libiberty/regex.c
 bb0043d92c716691cc17b80c845c336b  libiberty/getpagesize.c
-0ae1c1717a86c0146b1eec0fba520363  libiberty/pex-msdos.c
-dcab9ce997b7503cd0ca552c701cd68a  libiberty/stack-limit.c
-90e25d0066914b58b3958e06ee8380b0  libiberty/pex-common.c
+d17d27a1b61ed0f2ec0ef977063d7cd9  libiberty/pex-msdos.c
+77f2f5d9fa2233d466ba7fc45fcd9083  libiberty/stack-limit.c
+2b7ce82877fe6ae1b74ddaafc3c7ff12  libiberty/pex-common.c
 a6b1581efa83a4072727b38d6fef4230  libiberty/pexecute.txh
-27dda442f6d4175237264a7a2f948731  libiberty/pex-djgpp.c
-13e1ad9800566642f3738aeaca16fa0e  libiberty/make-relative-prefix.c
-8dc36af61008575e9c2332a91cfe007b  libiberty/simple-object-mach-o.c
+ebdf2ce2ccdac2644e2ef28bc839fabd  libiberty/pex-djgpp.c
+500574c070a25b7824b4e757f398d1e5  libiberty/make-relative-prefix.c
+93dd698684effc8a4f33cd522941397d  libiberty/simple-object-mach-o.c
 ab8d4cd68aa4892e2318d2c71864cc56  libiberty/basename.c
 8e71982d77e91c0e3c57ca86c8a1b548  libiberty/vfork.c
 754c5ef42440c5d1b62146174a6636e4  libiberty/getcwd.c
 2d414e20c053293f373a5306192db8f5  libiberty/strncasecmp.c
 cc534c2ea00ea0b5e49ba8f61c6e467d  libiberty/strncmp.c
-927c7b5eaae4c61b825d7d6e2972d1c1  libiberty/strndup.c
-d5684756d1f2e00aff88354b21b26a83  libiberty/pex-common.h
+19daeb7449f85dba32b786c7415fc907  libiberty/strndup.c
+84d044c8cf3fc04731bb8e84d18d3ea2  libiberty/pex-common.h
 119848dbde9f72d500142a4a65149a9f  libiberty/strerror.c
 4d485e7735be430b22aea0abb4938e26  libiberty/index.c
 0c900e9180d750a26ac0ddb237151832  libiberty/strcasecmp.c
 a16ea056b95fd70c21333db132da14ff  libiberty/at-file.texi
 f32b581d10bcc500277b6f4b4f923a4e  libiberty/xatexit.c
-8235c99d66122f9c21e3786379852441  libiberty/fdmatch.c
-7123dd9dfedd6ce21e40ba49089d14ec  libiberty/crc32.c
+d59891d7b2916f4c5ee3646de58af5ee  libiberty/fdmatch.c
+6c04bbc4330ed6dc693974f250685488  libiberty/crc32.c
 5b0eb0000c746fc4c1854f00bb80b53d  libiberty/strrchr.c
 17a1f1d7f5acf01ce922d98210067542  libiberty/bcmp.c
 6f774a92661ca4a067f1691a7925524b  libiberty/xstrerror.c
-1ce6b9891fb486f2544d21270a195ffe  libiberty/hashtab.c
+9eeed6cad736847f55b57b2f5ab0656f  libiberty/hashtab.c
 a707d2e5daa09d204d4441e8713048ca  libiberty/bcopy.c
 83565a31c7f296b3013daf383cd03ee9  libiberty/config.h-vms
-616dbe34cf0454fa4f89583d2044fe28  libiberty/d-demangle.c
+730fb7f9807f66c744ee2af2c610908a  libiberty/d-demangle.c
 4a0acb9356a52f3bcfd67efa26997b58  libiberty/bzero.c
-d86e1ae7310d5aade321dc4a970495eb  libiberty/clock.c
-cecf80a9e15965091c31d26754f8f311  libiberty/xasprintf.c
-b6a8e7249b375751e38228a8de711ed8  libiberty/putenv.c
-7a2b83d2d625a4022b9213ceb75f5897  libtool.m4
+041e06dffa0689d356d40720c12afdad  libiberty/clock.c
+2dcc346a779ff37870b5f2287b6dffe8  libiberty/xasprintf.c
+0f3059fd87dd38c7cf9c02b1151f75b0  libiberty/putenv.c
+7c4c2e986548cf778a1406eae72c71dd  libtool.m4
 247597a3fcc5b5aa8bd923351c59d853  ltgcc.m4
 4e65f2f6a05f5eca82ba79c6363aa3db  ltmain.sh
 293853a13b7e218e3a4342cf85fbbf25  lt~obsolete.m4
@@ -6980,144 +7109,137 @@ dee72a6a60e99528b0d17bf3ff9a1e15  ltopti
 bc2f6032c98896249eadb56177c7d357  ltsugar.m4
 c30cd33c496505f13d9fbdb6970c7c33  ltversion.m4
 8fd1cceaa7b6f73df604b14180534345  MAINTAINERS
-6456f5e2935830a2e33f501bac750681  Makefile.def
-9ddac3919a8f5bdc0b0d879c58fd2456  Makefile.in
-ee9326b9e9d8bdc23dc2588e981b198d  Makefile.tpl
+873a14aa56f668912cc2638796de0421  Makefile.def
+2d28a02613ff023f505ff7693a048915  Makefile.in
+300245558cb72436b3dccc48328e3d14  Makefile.tpl
 5f2a276ee7b8decec541391229d03591  missing
 fbe2467afef81c41c166173adeb0ee20  mkdep
 82b7b70a9845ee61a01f20b29dd2df2c  mkinstalldirs
 21b967372b521f607c0a119f425931ec  move-if-change
-bbcc766e435ffde52f5fa5c4cb8e69f8  opcodes/m32c-ibld.c
+6f8ee61ee343b8fa7b69a05ca27c8ee6  opcodes/m32c-ibld.c
 d6bd01e30f1dd68dff116626528cc9ea  opcodes/alpha-opc.c
 72943398641675e5198cc313179179d0  opcodes/i386-opc.c
 d4de0193d0c1e93c3bd4bf9c645da15c  opcodes/fr30-desc.h
-59faeef8009b5bbc00168e72ecf6ac1f  opcodes/lm32-asm.c
-4e752a62dcd1a37d498d08ddb5fc4f91  opcodes/i386-opc.tbl
-745a0aa0fe24db53a67e5fbfda568d7a  opcodes/xstormy16-ibld.c
-fcb332d67596022589ff80ffe586a00e  opcodes/mep-asm.c
+0c4e34212c9734cd4c1c64390b53aa25  opcodes/lm32-asm.c
+f616dd2109ff883af9790deda5f3adc0  opcodes/i386-opc.tbl
+6fa994aac736234c75728ac4cfb1de31  opcodes/xstormy16-ibld.c
+b1eeaa238de8612b0e21ae1d54d63992  opcodes/mep-asm.c
 9ca7129acf172363269b0edc953f1235  opcodes/microblaze-dis.h
-99408f99901904099520b72bfdb85645  opcodes/rx-decode.c
+5dad06df61fc57f442c3823cb3f1449c  opcodes/rx-decode.c
 b969a750db9679c41a9517973294f8a9  opcodes/ChangeLog-2013
 b15f9fe366bd2db0a283c1c5724e430c  opcodes/ft32-opc.c
-2346d8d6c17349e7b6ca3a0ec440e04c  opcodes/sh64-dis.c
 9b6d8389dd8453023ac77a271dce9037  opcodes/ip2k-opc.h
 104c9754f951cf64020358a93866efbc  opcodes/arc-opc.c
 180f6f084ee326f242b163e47ba23e35  opcodes/m10300-opc.c
 1f5acd3452a0a360529d00ef50d69b58  opcodes/ChangeLog-2011
-6fbfe546ba5c88d3c8312250190ddbcd  opcodes/epiphany-ibld.c
+836bb8709cafde5187f293311c508dca  opcodes/epiphany-ibld.c
 8ce4f32d15e5197157b3d579f0b8a4f8  opcodes/m10200-opc.c
 3ce196d8f2fc19d964027e8a9e377486  opcodes/arc-ext.c
-ca0b5244435c7b222b5073274c0c24c4  opcodes/or1k-dis.c
-3d071344ba5658798ccefe050b226a0f  opcodes/m32c-asm.c
+afb6e0ce59bffa42c629f9982e4aaaca  opcodes/or1k-dis.c
+a6df8e65c7e86eceda6b3c47d786ce13  opcodes/m32c-asm.c
 8d3736d05cb68657a7fa2aef68ddd4ba  opcodes/mcore-opc.h
 73e8a256943b97e96f867f65df87bfb0  opcodes/crx-opc.c
 352654618d0c3a94618bd5367dc3d7ce  opcodes/fr30-opc.c
-28f681af55bc540d78bae06e99e4f0a7  opcodes/Makefile.in
+1c0656b035f6a4d169c71dc7cfc6adcf  opcodes/Makefile.in
 574537d9972c9161d297dcfd7eca0282  opcodes/dep-in.sed
-1603b094ec72ca656087aa7e137d64f7  opcodes/w65-opc.h
-4fb7e48c67e78d2976efb7a0d9d73b0b  opcodes/m32r-desc.c
+696097d081c68f98d0531f50404b82e5  opcodes/m32r-desc.c
 acc6218c5a3e8dfc59c643cfcd7ed516  opcodes/microblaze-dis.c
 5077e1fed3d1a1ea7991f32a424bea3b  opcodes/nios2-opc.c
 f5fbc5c107a1d3d293a9967767e0bec6  opcodes/xstormy16-desc.h
 38a5ce4dbbc447bc9d171dbcb113fbce  opcodes/alpha-dis.c
 8d02c591f7889e4a0d6be47c55d4168a  opcodes/ChangeLog-2012
 df90418e4057ae03818386cf289a99a9  opcodes/ia64-asmtab.h
-b7e1df5bf5684239828dbe96093107a2  opcodes/fr30-desc.c
+f876997c98bb9ebcc0b664e8c88d251d  opcodes/fr30-desc.c
 a4374f87949d787eab0259f85437e8e3  opcodes/m10200-dis.c
-4a555acff23ff283cbfaaab429ef78d9  opcodes/fr30-asm.c
-3f8c4d17575c4a57c939a1ac9a357de5  opcodes/cr16-opc.c
-b350adafd88ac0bda2d46f091d1428d9  opcodes/m32c-desc.c
+6264dab9cb9dbd13ccc6105434d82cfd  opcodes/fr30-asm.c
+0a2d7cf0a78a1090d7e9bcde04c19411  opcodes/cr16-opc.c
+7418ab9ff6821e61e86244f547853842  opcodes/m32c-desc.c
 27b3c37ceb97cc6cf89cf0023adad5ba  opcodes/cgen-opc.c
-4dd0e8e22a35f6996f8ac7c2867e0d53  opcodes/ip2k-ibld.c
+579385d0720aca734d3b21c8a0381bb8  opcodes/ip2k-ibld.c
 149070dce9710fb0a4102607db62a651  opcodes/m68hc11-dis.c
-75d15c684638abc081da48a731569318  opcodes/i386-gen.c
+58deba7f05d11d4e96f882f4d38135fa  opcodes/i386-gen.c
 30108ddfff0d83f6a238ac5459b7ade1  opcodes/xc16x-opc.h
 635e463b591f26a37fc4a42cf39c6767  opcodes/score-dis.c
-f17f27bb1c6ab4993bbe5377ec1ae059  opcodes/m32r-ibld.c
+e1bfa8aba145d89ea2cefe06855f8ba3  opcodes/m32r-ibld.c
 ec79c3ac774b32c179a2ca87f2a820ee  opcodes/dis-init.c
-8e62eba04f5cd1b899e46a5ed59e7ed6  opcodes/sh64-opc.h
 a89b321dfbd0b3d870e8a2661ce3b6c6  opcodes/pru-dis.c
-12192f14719f65c454949b9d5d54270d  opcodes/mep-ibld.c
-753e04396c4294f1054a41be92422e16  opcodes/rl78-decode.opc
+c33b88b53d7dfc5738c82c4735f35d0e  opcodes/mep-ibld.c
+2515886728c7e38a6e01fc488f906aa3  opcodes/rl78-decode.opc
 d05948d1eb7471e9010b28951308250b  opcodes/m32c-opc.c
 e3e18d62da163e1b6c768c48fb8c41d0  opcodes/m32r-opinst.c
-674db1a6e0e7444dc71cf6b149fcee1e  opcodes/fr30-ibld.c
+32b02da5fe5fc54cf2f5f6064de7f490  opcodes/fr30-ibld.c
 c2b0a54e0ff88ec8f4bac52b566f4462  opcodes/tic6x-dis.c
-d30f44c3c88a2b95f703d81283d23aeb  opcodes/nds32-asm.c
-e66f5c25fcbfddfbc6192015d101e410  opcodes/xtensa-dis.c
-1d022a9636a602096dc0d77df25c3205  opcodes/sh64-opc.c
+fd8acf5c23e699251c0cba12de2fb5b6  opcodes/nds32-asm.c
+4b73609aa2b67112d6706a56c2d0d4ce  opcodes/xtensa-dis.c
 8e770716015a2a9c95ccab0bdcea5291  opcodes/ia64-opc-b.c
 b1603f8211886ad5fcba5b4bac1c9135  opcodes/m32r-opc.c
 94d93eac0cecc62749675bc0a07bb57d  opcodes/moxie-dis.c
 aeb3d6ab693a56fa9ae78af5923ba327  opcodes/tic80-dis.c
-dd4efbbb57c55d76e95d27ed8b82c76e  opcodes/mips-opc.c
+975ea5a368b4b39f0e7c21a18a8d321f  opcodes/mips-opc.c
 82f85f5946700d6818256ee0b9c5ecc9  opcodes/config.in
-8e9f273cf596649a4551d0edb095eaf9  opcodes/configure.ac
+76c12bf6d611880506cd3f57dfedd681  opcodes/configure.ac
 77dd557ea90ae23ae6bc66fa8586542b  opcodes/d30v-opc.c
 49b5ff2ba15348adaab7798b44348763  opcodes/ChangeLog-2015
 b3d7452b4310332b7974b34b09f65a6d  opcodes/ia64-war.tbl
 5560e48e6e22b61c8c26cd037ba245a5  opcodes/arc-ext-tbl.h
 98c577af9dcc45157d67548df61219d7  opcodes/mt-opc.h
-2198616bb671dad947ff1f96c879b4cd  opcodes/xc16x-asm.c
+b7c9531497d6ee798662cd19c5108e0d  opcodes/xc16x-asm.c
 615bf8dc1c70b14d80be2ae6f31feccf  opcodes/ChangeLog-2005
-c94dd6fd1b62208167da8ddb02fdb089  opcodes/epiphany-asm.c
+0d1cc0c77a880db0ae244febb5e619d9  opcodes/epiphany-asm.c
 a93240b751c036e59763e911c8b4eff9  opcodes/s390-mkopc.c
 cfb39cb1b14926c382dc5ea6f035914d  opcodes/cgen-asm.in
-ef658ab6c706e9380bdf8c451e8270d0  opcodes/riscv-dis.c
+ec33d1bb43b1bd061b68f5c3d9c2a4a6  opcodes/riscv-dis.c
 8a2797464fdecb8bf95286ccf928cfa2  opcodes/moxie-opc.c
-4b515baab43e22c0e2a57b235493879b  opcodes/arm-dis.c
-136a7f1c980708f5f116ed51f24a26a1  opcodes/aarch64-opc-2.c
+731ca0eab4658fd17ec58481066f9f3f  opcodes/arm-dis.c
+fb621c8e62a92d32d0d4d5421a8dc902  opcodes/aarch64-opc-2.c
 ddabcb5158e34cafcdbcdceae5448923  opcodes/fr30-opc.h
 b816345c4d16a5f1dc433e5be816b401  opcodes/m68k-opc.c
-95d7524a307b001857143b3335b4dd89  opcodes/m32c-dis.c
+3904f739deeba4b35170fbf3cda0aaee  opcodes/m32c-dis.c
 3ec36443755ce384d5adfd5f4bcc4810  opcodes/lm32-opc.c
 c115432f02ff86abb9b9a84e47e8e938  opcodes/makefile.vms
-85879714f004daea3cb5e431986bd191  opcodes/h8300-dis.c
+07d15d97e631e4a35c1759ee83e14752  opcodes/h8300-dis.c
 6f6df2231f97ea86e864b9f65e1f3b7e  opcodes/tic4x-dis.c
 538b3871e8d73326c383098ac762000d  opcodes/cgen-dis.c
 a86cc47a28d14bc7d66c09eaaaa28af7  opcodes/m68hc11-opc.c
 a5dae4e8a42ae660f2ab0aed40be2aed  opcodes/xgate-dis.c
-d113e5a29b31f88e5d902376162ae1a0  opcodes/msp430-decode.c
-f9992ac9bbeaf824d36b250d139ce3a4  opcodes/sparc-dis.c
-fcf9a2abb8d86054c2557b1611151771  opcodes/mmix-dis.c
+123eedddff0f7a6762f868402bb15a9d  opcodes/msp430-decode.c
+2a74db1b111fc61af671494d96ddea8a  opcodes/sparc-dis.c
+e0bc6645214394761f27c18bbc2bf6c3  opcodes/mmix-dis.c
 ef6602b963f2a903ab9c81134c6b8d29  opcodes/.gitignore
 65eb4d967fb92ec8ccadca5b068c4e84  opcodes/ia64-ic.tbl
 7ce79d74e7740c1995c2982cf56ce4af  opcodes/opintl.h
-a385d684af871852a0366a0433e2f2b1  opcodes/mep-desc.c
+eead604cde4b0a20401144a20e4b4314  opcodes/mep-desc.c
 b4452c3428efa15cb1ffe7e33e1c2113  opcodes/v850-opc.c
 a38dc8343e15ce32fa8fbf40c0587e5a  opcodes/xstormy16-opc.h
 2fd1d2692960cb63b4dceb2acc9ccd65  opcodes/tilegx-dis.c
-bf4b8beff7fe30c09c8c16f97539924f  opcodes/xstormy16-desc.c
+065bc7d45dabc1003f34687983d57a86  opcodes/xstormy16-desc.c
 1f01c89a31a016470fc0d2dab93c48d1  opcodes/rx-dis.c
 1111b36f66dc495aa6a7232d18a8ebe7  opcodes/ip2k-desc.h
-799302f790b1082e3871b1eb5c293e53  opcodes/mt-ibld.c
+c0c1a95704a4327b50d364cce8f4afca  opcodes/mt-ibld.c
 5e056898439a3913736cb5aebfc44b28  opcodes/ns32k-dis.c
 3968bd65ed0022d508bd1a6a00df8e27  opcodes/tic54x-dis.c
-63ff5b5d29d1e40d576da1c5ac1afeaa  opcodes/aarch64-dis.h
+273b3aa2c14558d8f7a47d94c2cf79b2  opcodes/aarch64-dis.h
 3319bb4b1b60325e53711ffae8b057fb  opcodes/msp430-dis.c
-8f5edf6648472c956a241cd07a9468dd  opcodes/or1k-desc.c
+f0f65a73eeb48088853c5feb7a3156c2  opcodes/or1k-desc.c
 e20ba759eb1e66d1daa9082333600144  opcodes/mep-opc.c
-59f0136b8d7350aaed835ef7fe2e9b3d  opcodes/or1k-ibld.c
-de602de9b2c068e945adfd61f1b070d4  opcodes/aarch64-tbl.h
-e8573e635ac49d262e69fd4a05135af9  opcodes/epiphany-dis.c
-c1ed27f3096720189eac806497303752  opcodes/h8500-dis.c
+d9a71c792848f25aa0443a641a0de555  opcodes/or1k-ibld.c
+49cdc165423f471bbd6f71420b3ab0c3  opcodes/aarch64-tbl.h
+a8a23150fc2f0534900f653895b9e20c  opcodes/epiphany-dis.c
 b7f3461dcea4ed1debf2d063feeb57ef  opcodes/pdp11-opc.c
 a53680ee35ecd26833d0155b16def898  opcodes/ChangeLog-2010
 7f1ba824d578ba96100f629536987687  opcodes/lm32-opinst.c
 eca1396c97ea15abcb08b01ea5e28b65  opcodes/i386-reg.tbl
 c2c428843f8270d2bc58f5710190ff6a  opcodes/cgen-asm.c
-818196322ce5c503f7cee2b52b645c7d  opcodes/iq2000-desc.c
-baebcf651845bac7d9f16001a83f57b0  opcodes/aarch64-dis-2.c
+bb424e3a2ee38459a9f75d99abce1ea2  opcodes/iq2000-desc.c
+5e40939aa56996254434229c937d6af2  opcodes/aarch64-dis-2.c
 92abc944e140834d8a3cd23a2adc8dd0  opcodes/d10v-dis.c
-eb9ba09275e5d960953b3bdc1c1c5e57  opcodes/i860-dis.c
-ed999ae793eec7ca89c0282cd5ad8eed  opcodes/w65-dis.c
-33f2f1ce06769296ba47c570ebb6ccbf  opcodes/mt-desc.c
+a1b3a4246e87835bf133249810ff30c3  opcodes/mt-desc.c
 8fc82052d6025052b65f72866f4e665a  opcodes/mmix-opc.c
-4115f583417dae94b0660ef60f21e150  opcodes/i386-init.h
-511e6e7bd3ba04a8cd5d955db9a69670  opcodes/s390-dis.c
-4207640476548cc0ebc53ad3a6887d89  opcodes/sh-dis.c
-2b58c47bdffc127870d4a0ab4c80dc3f  opcodes/i386-dis.c
-37601cc86254a4d9a456208161325ffc  opcodes/disassemble.h
+e32fd275834e61fc50e974f6cd1bafc5  opcodes/i386-init.h
+c22ba8c94bf79c34d8601a12f1eb2d21  opcodes/s390-dis.c
+296d5635584317333fb203dad13fe908  opcodes/sh-dis.c
+7fb045bff404a46c9268001c8870c3c0  opcodes/i386-dis.c
+8d13a8b5d6954e0cf6c6417608c241c3  opcodes/disassemble.h
 cb15aa4673f865ca48ac31c38373124e  opcodes/ia64-waw.tbl
 2e853c754bd517d68051a3d00f07e137  opcodes/microblaze-opcm.h
 e6603190f5ba9d73608148e9e835934b  opcodes/vax-dis.c
@@ -7125,99 +7247,100 @@ e6603190f5ba9d73608148e9e835934b  opcode
 49ad3eb0c714354af2d29e36caa5761a  opcodes/pru-opc.c
 18bb230c30d5577887d7c2457670e49d  opcodes/xc16x-desc.h
 940ad9e430fa5aec2b4b71673f6a83fe  opcodes/rl78-dis.c
-155a21f5fc6e8e92075c56edab8d5db6  opcodes/aarch64-asm.c
+a803884a197c3533311e0236d23cf098  opcodes/aarch64-asm.c
 44c3f5d60c065025741bb7b21621d68e  opcodes/ia64-opc.h
-f176e85add69524f49432480ab3b6878  opcodes/i386-opc.h
+36404d6ef7c9494ad41a291ef241473e  opcodes/i386-opc.h
 61596d76325239755b5324e3435bae2d  opcodes/ChangeLog-2006
 afaa1540da0cbb21813deff70b918c4d  opcodes/lm32-opc.h
-1442221f19cd3677eeb829c26db0e21a  opcodes/m32r-asm.c
+995df51d95be70a281182c0d0132e2e4  opcodes/m32r-asm.c
 7585c5cb70ac5db2304cc6e24f4bfde8  opcodes/z8k-dis.c
 58082f1b44cfbb4ea66e3da5b8b08f08  opcodes/frv-desc.h
 c37cf96b4b17dd6001a7b91062761c22  opcodes/spu-dis.c
 8c8764d4c94c4104b3155f70b44249c1  opcodes/z8k-opc.h
 1718b45c678a851d089ec7c4edaa9906  opcodes/ChangeLog-2004
 96e1a58a35115875b658ade5951242de  opcodes/arc-nps400-tbl.h
-5f500791e192f13bff339938d106d3e2  opcodes/aarch64-gen.c
+e57066ad52bf2c44e9091c14ce727515  opcodes/aarch64-gen.c
 86fa6af40042eb0fa724680941f8ae18  opcodes/arc-fxi.h
 8f442fa6f452f4fa839c67d63c6171e0  opcodes/score7-dis.c
-56821f4734aa07c95a81c2562bce57a3  opcodes/i386-tbl.h
-8ef980148651e23ebd5f3aeb8356a91f  opcodes/arc-dis.c
-8de78b44d935a06740cf9c8ecf694870  opcodes/ip2k-asm.c
+d524f4a0cd4542179d5a284d249b319d  opcodes/i386-tbl.h
+26ba62a805745d53b236faf0bc1968ff  opcodes/arc-dis.c
+8adbe122bc5bf09369afc292d0c07141  opcodes/ip2k-asm.c
 5d59a42c21124038ea803dd5d3d9a9f4  opcodes/spu-opc.c
 ee01fad59f67dea5eab12740108fe62e  opcodes/m32r-desc.h
 9e67198055cfcfb148ddc4c2f12528e5  opcodes/xgate-opc.c
-9f88b2a751bf3972386faf3b3a09ec1c  opcodes/ppc-dis.c
+4f931d3d23fb8140512e62bb0977b966  opcodes/ppc-dis.c
 17b0496e42cf4f1858838775040c23c6  opcodes/ia64-dis.c
 f2616521db4a304874512281de0301da  opcodes/ft32-dis.c
 7b2e4e2d5b9cac852f1830ce6f299ed5  opcodes/z80-dis.c
 55052af70be2e23f7a068c3fddd81baf  opcodes/tilegx-opc.c
-c593fcba12037f6afa5f0803b2d280ed  opcodes/lm32-desc.c
-00308a7ce13ecf4ba8061d566f688c50  opcodes/xstormy16-dis.c
+821e9a6001b4eb57520735c46bac278f  opcodes/lm32-desc.c
+25a3af05d7d778bca89625965576ce1b  opcodes/xstormy16-dis.c
 5902a935d9fe9dbe0ff5d8236a72c6db  opcodes/cgen-dis.in
-3588e5a07ac21c2f6b538b91f4f836db  opcodes/mips-dis.c
+3f15d27ffd1ba0d284814b0eaa8c2f6a  opcodes/mips-dis.c
+91892bef65d868299ec34b488b4a171e  opcodes/s12z.h
 cfaba148fee5c371656a8ec50375d07a  opcodes/arc-regs.h
-784a94f666d3540da173ba7f3b83b91e  opcodes/msp430-decode.opc
-a8b9a45e2fcb9636de71a3092a41bb70  opcodes/xc16x-desc.c
-57c75c0927a6d6108e22aed0eedcccc2  opcodes/nios2-dis.c
+87f4c82677e7cda39f65f9ef3470c98b  opcodes/msp430-decode.opc
+c10a639cf88257f234d3e2b91c8e07ee  opcodes/xc16x-desc.c
+428839ad352796d74bef3d086e9f74dc  opcodes/nios2-dis.c
 2848c015cd8f087cf0024649346c1b71  opcodes/configure.com
 e4836c583718a836049527a8821827de  opcodes/mcore-dis.c
 e29fcbfedfb57f00c0d1972915545793  opcodes/or1k-opc.h
 789a88cb4c74ecde3a2d1ae6e45a2ac0  opcodes/visium-dis.c
 1ded054093de910d9786c62bc4fe8cc6  opcodes/stamp-h.in
-3269a2573d595a77e04199687dabea31  opcodes/m32r-dis.c
+906238376af13b0e6877f168b4475e52  opcodes/m32r-dis.c
 52c05e0e194096d9c88e82c13e630f60  opcodes/ia64-opc-a.c
 09fdd1fa13f04f47af41dc91dc335535  opcodes/score-opc.h
 31e8af4885c1eea9c854099a5aff8910  opcodes/iq2000-desc.h
-7366bcad2c49e9ec37e6787b11a6b69e  opcodes/or1k-asm.c
-a29a72b245cdd58e78838a45e19fa5ed  opcodes/xc16x-ibld.c
+6e55375b34088a638eccef832a8e8585  opcodes/or1k-asm.c
+c81a8e3d5d1674a3d1805489ae197f01  opcodes/xc16x-ibld.c
 9e57ab5d51eb8d3c1458bec17481c815  opcodes/mep-desc.h
 8720c8381144e91abe3f52cbaa95b58a  opcodes/epiphany-opc.h
 dc7e91a7bd93fc6c52c0df215a5c05fc  opcodes/dlx-dis.c
 d1b5fd3538addf5f4d880afc4cb4d514  opcodes/m32c-opc.h
 20d54844aca06dbf0637ccca248e96e9  opcodes/ChangeLog-2017
 d533c29c2b058c1f6e4e6f92eb3c8153  opcodes/pj-dis.c
-6e1aed7f472ff6b5d13bbf6878afcd22  opcodes/ppc-opc.c
-8d9a4238bd7e5f2ead56efd2b9fcb089  opcodes/d30v-dis.c
-51be4658ec725323c36f792fbfa7fb30  opcodes/v850-dis.c
-e7fb9c8668e6ddfafb727ac28b5d6cbd  opcodes/mt-dis.c
+e0af906e02bbc3437e695fb2cd2ec9ba  opcodes/ppc-opc.c
+3477ba9629eb37b0db964a78ed730a79  opcodes/d30v-dis.c
+3d173eb6873ed60677e5060b0fece773  opcodes/v850-dis.c
+bd3f6e75204d0fccd65cc7c6f1d52563  opcodes/mt-dis.c
 b5c6b8bd0f1a6dd6ce064e362b47fb49  opcodes/ChangeLog-2016
 c5cefc6c55710567cc64c0a1a1100b9d  opcodes/ChangeLog-2014
 41458e23256656468b1a27c953d5d345  opcodes/xc16x-opc.c
 2adb7cb7865ac91208f5f94fc4d9f397  opcodes/ChangeLog-9297
-a1793c5874848adb64e01d8bdad609ce  opcodes/avr-dis.c
+c4c93e3e93a6ab55edf4c597ec48321d  opcodes/avr-dis.c
+ac5ea5c23bdc63c0fa835ef502dd3100  opcodes/s12z-dis.c
 12804a6c144d7d750a7c9b383fa9cbf6  opcodes/ia64-opc-m.c
 8922986aa2f68646d45afd9cbdd77e6f  opcodes/mt-desc.h
-ac0fc3276a66a816cf044b31d6be1038  opcodes/configure
+6d5c7df22fbac0808f970157a391ca8d  opcodes/configure
 3cd24318bb0ed02a4a9a72967ecd8de8  opcodes/pj-opc.c
 665b555ca78aa077ffb845e554bc737e  opcodes/mep-opc.h
-0667bd5279fda9a2475f6be7851a5a58  opcodes/aclocal.m4
-6e195c83d61bc7e98a58fcac174d2ec8  opcodes/i370-dis.c
+4040741d10a191d8e0ca2d5dd6b2b5e8  opcodes/aclocal.m4
 6e23b315cea3a2381975125cabaa4a9c  opcodes/ia64-opc-d.c
 4142faaad3e6f3efbaf06788b7091b55  opcodes/ia64-gen.c
 eb0c331cf80f11a6575b4008746a254a  opcodes/ia64-opc-i.c
 ac5bcf32b58e34029b5b004d5a8cd2c7  opcodes/po/vi.po
 c7158f697e1199580a8d8946bf8af06d  opcodes/po/tr.gmo
-3fb3472133f8da777f709aac033efbe9  opcodes/po/es.gmo
+a08858d306dd29266caea6fb0ea57591  opcodes/po/es.gmo
 4afa0ab75fd7849f29b445d8d8366b2d  opcodes/po/ro.gmo
-426ede510f416589072e90582954e403  opcodes/po/uk.gmo
+dff4400cd533bc1e8c1d71e51e22bfd2  opcodes/po/uk.gmo
 9a5e613a9553966167850acd1dbf0f70  opcodes/po/ga.gmo
 93e89a462ca1c5f7ce29038a689f4749  opcodes/po/vi.gmo
-d4f45858a17e0c6a7384d46009ea21ea  opcodes/po/pt_BR.po
-710fefb9bcc070afd48a9cff60521648  opcodes/po/zh_CN.po
+462fd09ca3f2445b44f36c596592d1e6  opcodes/po/pt_BR.po
+18fe115c401c0e1605b2f2e4db52219b  opcodes/po/zh_CN.po
 2100353c28cda8ddfc1e90989eabf44a  opcodes/po/it.gmo
-955f484bfbbb54d9df6f26509b59ca6b  opcodes/po/es.po
+38a6dd92d3fd8f1a2eb2334be22de713  opcodes/po/es.po
 a31ddbe796e81d751a25074061739c48  opcodes/po/sv.gmo
 7b4511cb0c4097f0da19cb91ab7b05fb  opcodes/po/fr.gmo
 036114457606659b8beff4ffcaadb00d  opcodes/po/sv.po
-0f0d9b0a3860f6045cd6db917219b7a0  opcodes/po/opcodes.pot
+d05b873f25640a4db302870e2a3763eb  opcodes/po/opcodes.pot
 ca800f35ab335ded708b76417a9145d8  opcodes/po/Make-in
-34919aa02b0513de02789027b2a6a92f  opcodes/po/zh_CN.gmo
+f09eb1cbddec0ff16061a17e964d9e6e  opcodes/po/zh_CN.gmo
 fcb127c8f57c6a38f36fe3eb53fe3d3f  opcodes/po/tr.po
 3dcb77f78dfd98bc8e4d9868b009debe  opcodes/po/id.gmo
 785cbecc7f597c1374b732ed3d23282f  opcodes/po/fi.po
-106e546d1b4b598e14d05b8680cf84ec  opcodes/po/POTFILES.in
+075ea677b452f44645dcd5a88464a5ee  opcodes/po/POTFILES.in
 c32c7787ad8c899a3af5ec2e47518888  opcodes/po/da.po
-88dac03a4efac97ef70781d6855f3a7b  opcodes/po/pt_BR.gmo
+3ae0ffb0e0dafd9732b33b3d43aa775e  opcodes/po/pt_BR.gmo
 28fa9a522cdf0eaf64347fa836e25d0c  opcodes/po/nl.po
 eac8a474e91112124bc872824d26de92  opcodes/po/id.po
 4c931b889a393fc12e187bbaf1bd663a  opcodes/po/fi.gmo
@@ -7225,88 +7348,85 @@ c051f3a56196d61a32b70cdd7b108277  opcode
 076be31a66a76e9a13089a58f2629d1f  opcodes/po/ro.po
 a41a837b186842a8f3ff13b2bd8f891b  opcodes/po/fr.po
 76cd70440a4d9af37c4f86509a2448d4  opcodes/po/sr.po
-fc1d70474e73af163e7c9703931f26d9  opcodes/po/de.gmo
-4b0647b398946eb024ce35b7d3ca8ddd  opcodes/po/de.po
+6e2657391514f28f1e0600a364345081  opcodes/po/de.gmo
+945b19aedea3ae4c71783c71af4ad391  opcodes/po/de.po
 64163e7952ced31b2cf20dc47968a84e  opcodes/po/ga.po
 b2f69021ea41e08afb81acf033c7edf5  opcodes/po/nl.gmo
 e4444c7716d7f33ae1586f3d19dc5de1  opcodes/po/it.po
 9d1c427a5289a3666564f5409fdf16c9  opcodes/po/da.gmo
-de22401125e39d94dde4ebc409baaf03  opcodes/po/uk.po
+13e2e3991c51358f81035169e22d00cf  opcodes/po/uk.po
 303f9b920a51172983b9a6b021132f88  opcodes/mt-opc.c
 b026c6d8919043061b7b5ea95704fc12  opcodes/tilepro-dis.c
 0a5a9690019e35c2a972f85e9b530790  opcodes/bfin-dis.c
-95774ae8ad02ceac9223e362921f6dae  opcodes/Makefile.am
+13c30f728c1b97a3eadd52a858a420c2  opcodes/Makefile.am
 b192ee206cc807dd92ffe541cb819d6f  opcodes/ChangeLog-9899
 b794098718c76a1fcf348fe2412c42c3  opcodes/or1k-desc.h
 63730de6a6120828f8d1b3f210f07803  opcodes/m32c-desc.h
 384833640e99550daab5f6164589ddcb  opcodes/xstormy16-opc.c
 3e1b56af946bc90309b854236c01f6d5  opcodes/m10300-dis.c
 395f7184aa40f80b8a109ee7f116439f  opcodes/nds32-opc.h
-f132e2c172428ed8bdc2d9ff8c9c86a4  opcodes/aarch64-opc.h
-b1308335bc6fcd77f8e667ca9e1c0338  opcodes/ChangeLog
+c81f896bb87c1b3093fbe39e0807501d  opcodes/aarch64-opc.h
+85276e17b473e001c5176b0ebd495a91  opcodes/ChangeLog
 327cf11f5c08b578f3b0cdb7f3923280  opcodes/ia64-raw.tbl
-7434b66fe1ba1ce8585b7872dcc30261  opcodes/frv-dis.c
-cdb2f73702f4fc69ae0facad10782b4d  opcodes/aarch64-opc.c
-7c2d1bd369ef3e7fed10f611ff276d49  opcodes/iq2000-ibld.c
+23baa51211f26d956af9bce5ff49852c  opcodes/frv-dis.c
+3c239897390c6d034d306335d407054f  opcodes/aarch64-opc.c
+6cebc4e87eff80cd66b02105e298e14d  opcodes/iq2000-ibld.c
 9aec9902b0e68e9690806f832e830235  opcodes/dis-buf.c
 b2f0539e3184bfc3a1e26261fa65ec1e  opcodes/s390-opc.txt
-f68e466d34c6a7ee8729fd055335113e  opcodes/metag-dis.c
+d621040f81a21818e7f6741efae40c7d  opcodes/metag-dis.c
 ac93f07b31557fba06ecb95c967f475a  opcodes/m32r-opc.h
-4c37dec5b4ecf5d0a99aede0cfb4a941  opcodes/i370-opc.c
-c6bf7768db37d5ade962632e0404d316  opcodes/mep-dis.c
+74af2d2116684e49fb4a7b6e33185c89  opcodes/mep-dis.c
 7d7d28737ff404f709104accbd7b7926  opcodes/ChangeLog-0203
 74c7517884e1568f3503a4891087402a  opcodes/ia64-opc-x.c
 ff537c967755f6186b92c0221f94c8ce  opcodes/mips-formats.h
-7328214da740148d122de3312c0d5e48  opcodes/crx-dis.c
+717da951f84cafa0e04b4d37792a656c  opcodes/crx-dis.c
 b475b7be26b2fdd1cd4df7468b378a1e  opcodes/cgen-ibld.in
 0609b4bd526615a5d21bf6f3cade3287  opcodes/frv-opc.h
-8ec14b0fa6e3cc738f29c105dd430c3c  opcodes/mt-asm.c
-a3ebaa3a62e87a697f19c765af30c6d5  opcodes/wasm32-dis.c
-e17ffeb390dd509ef2bad4a2cfa35f3e  opcodes/fr30-dis.c
+d2ba6df075a94adc8139e8c00d156e7b  opcodes/mt-asm.c
+023699e6b0a0f230f80b3f1aa0b9ef46  opcodes/wasm32-dis.c
+754d7840fc075401b9fddfc29fa6bc12  opcodes/fr30-dis.c
 bd4e214762c2665920bb3c69660cd35c  opcodes/i386-dis-evex.h
 ec738abfe9f60690bc96f9a6db2d7095  opcodes/arc-dis.h
-fc252bb23dd679f9cdd66884519da511  opcodes/i960-dis.c
-935c40ccef93c1669ab2dda1eaa652a0  opcodes/riscv-opc.c
-d69c2b6273e071ec341eb3ff663dfe0f  opcodes/xc16x-dis.c
-43eb199b7f447f31c5e2b2e50f0620d3  opcodes/epiphany-desc.c
+3ad2bab7310f1b1c00b7e04fe205e2ce  opcodes/riscv-opc.c
+c307fb1b987ddc3d8983cf71ca8cad02  opcodes/xc16x-dis.c
+8814c19f51233f9d84e953c1f75c32a7  opcodes/epiphany-desc.c
 04491539bc077fd776cd590bacedf114  opcodes/ia64-opc-f.c
 04f60ce0808d9609bb0bcca4d5d12646  opcodes/ChangeLog-2008
-f8d8039cd43174b385086e705d268dcb  opcodes/lm32-ibld.c
+af82a8562b02cf30d946ee6794208348  opcodes/lm32-ibld.c
 0352aa0833d654bc1e3e115257132e55  opcodes/nds32-dis.c
 532e07b63d9bf505410e8ea202bd0d95  opcodes/cgen.sh
-7fd5a2bffe9aec85026a1fd1c07b2178  opcodes/aarch64-asm.h
+854a2d3d0f88ca70dde43fc131a0b0cb  opcodes/aarch64-asm.h
 58e924c52c2bfeef23d22c4f482edcfc  opcodes/ChangeLog-0001
-deedac8039d3ed982f01572fd81e1a28  opcodes/h8500-opc.h
-35dc36d67fefdc3ff0ac1e6a6d994c9e  opcodes/rl78-decode.c
-a8c4d895d9dddfe86b16f091cce80760  opcodes/ip2k-dis.c
+9e1139bb7c51c8b2b90d622e94a72326  opcodes/rl78-decode.c
+1ce01cdcbb53a4edac654d01df6c91f0  opcodes/ip2k-dis.c
 16f3a170d6b704573bfd0788b4d1061e  opcodes/ChangeLog-2007
+e815f63b921e8d853e9c64a081e417ba  opcodes/nfp-dis.c
 9978b0ffb15f1ad48bc31816517ef965  opcodes/ChangeLog-2009
 c58d5fa08b8a776599ad68e8482e2cf7  opcodes/cris-dis.c
 2607163e2d89059c107456eddd6867e9  opcodes/tic80-opc.c
 a23d2e9724b12819a4ad1b1b1a95feca  opcodes/tilepro-opc.c
 4370a107df092b9133c5dbbe6cd02e17  opcodes/microblaze-opc.h
 a2b5fa3bfc3e6a8f4680d706150e7711  opcodes/ia64-opc.c
-b2809f99e3aac5d1d55f00ba221203dc  opcodes/hppa-dis.c
+e1e9bb6cc4059480ab42ec9d8a18a6d7  opcodes/hppa-dis.c
 1588f6ab883e5de375e9a7f276912be5  opcodes/d10v-opc.c
 448921ffb84854c55a2d753c4c6f84fd  opcodes/m68k-dis.c
 a607bfe6ab73610b7dd4a3355a02f302  opcodes/sparc-opc.c
-c1b9bd5ce1ffbd742b380780e4c29ad6  opcodes/frv-ibld.c
+7caca52eed5c2701db6664373d389d23  opcodes/frv-ibld.c
 b88c6887012b63a65dc9de6d48181c14  opcodes/or1k-opinst.c
-d7d248872a26138be9a6c6733570e9a8  opcodes/mips16-opc.c
-6b90415165ba1e7dd63f8ecef47ab8bc  opcodes/opc2c.c
-a843fb2d4afd9c1e6eb9f1894272aec9  opcodes/frv-desc.c
-ce8ebf8a7ca5a9aa036bb28544b0de4d  opcodes/m88k-dis.c
+942c1fa2ca3aa1e9ac4c9ce70e280be1  opcodes/mips16-opc.c
+9a736f00d25b6df54fe26116c71f1046  opcodes/opc2c.c
+5361399ae7cb1f58279fe54970b1d962  opcodes/frv-desc.c
 103ab89859217bbc1d5e1a90cae3900f  opcodes/ia64-asmtab.c
 e1c7e4194483732e906eec20802127bb  opcodes/lm32-desc.h
-e7ddb050ab0306696ab681c5515a1b36  opcodes/iq2000-asm.c
-b18adbb942350086adde873c5093e3df  opcodes/aarch64-dis.c
+b40fbb4b94b4247408cbdc0124d20293  opcodes/iq2000-asm.c
+fc90d48c0e9a93ece845b5cdfee47383  opcodes/aarch64-dis.c
 8abe23686545a1008777308ca421b02c  opcodes/epiphany-desc.h
-aafa8455b8cce333c3a68142bb801da3  opcodes/disassemble.c
-4cfd5a79a13041d447ed0c5a737b7aff  opcodes/ip2k-desc.c
+93ea76890d5fb48596a97a62e9f5f03d  opcodes/disassemble.c
+34fe23735a5ce90ddde76b45a6dac218  opcodes/ip2k-desc.c
 77cd7702e119ef7de071c53fb4c4913b  opcodes/rx-decode.opc
 25d1efe456b3a00515f638a6da43faa0  opcodes/MAINTAINERS
-ef6aa7d9d186d51c299f64574f88e95f  opcodes/aarch64-asm-2.c
-8386d58402c37558b64b1ad02feb3ef3  opcodes/frv-opc.c
+62dc7a12e950bd690f7f86f38e4ced3b  opcodes/aarch64-asm-2.c
+32d96c5b4e64dbb83c7949789eacfc00  opcodes/frv-opc.c
 c4d8ec1daaeda265e6307f0786acf09e  opcodes/pdp11-dis.c
 aefc0996e1fae7b403f314dab239dd5b  opcodes/arc-tbl.h
 8472109ed297494c38a3a7c17480b36d  opcodes/visium-opc.c
@@ -7319,17 +7439,17 @@ c10944b25746556c6d31426034e602bb  opcode
 f94443284764da4f45ae0b9e875fbd2e  opcodes/cris-opc.c
 1289b3e9bd775eb2dcc2421e2ea27978  opcodes/s390-opc.c
 36851c76aa34e745e535831b6f726e6a  opcodes/ip2k-opc.c
-6dfbd6c17681590f79ed3d526a337bfe  opcodes/sysdep.h
+7b33aaf69fccd4db173c4df629d37424  opcodes/sysdep.h
 e07c55bd01045cdced74c65951fa6407  opcodes/tic30-dis.c
-8b44d19ba9a4f80f92258f23791872d9  opcodes/lm32-dis.c
+92f49fca764d8af71c2d983de5dc975d  opcodes/lm32-dis.c
 e1422794524f4588ea54fac89ef7da5f  opcodes/nds32-asm.h
-01932da13020d81c83bf16838a225c3c  opcodes/xstormy16-asm.c
+0b50f8048823be52338214e3117a2ea6  opcodes/xstormy16-asm.c
 73265d4015c57e990823fcf3da1e5be3  opcodes/or1k-opc.c
 13b6a5d6876e270def461a9533ad7b46  opcodes/arc-ext.h
 18b9c14eb4a80e3f6522afe50673971f  opcodes/tic54x-opc.c
 52aea44f17bce4fea262cc79432c4835  opcodes/z8kgen.c
-e1213136424e320c383ffaecda0fdcc7  opcodes/iq2000-dis.c
-cbc28e0679aa390ee055a180d3645f39  opcodes/frv-asm.c
+484607f88e5d211c6c27bc2356f35069  opcodes/iq2000-dis.c
+d17337b5f361c3a906e534672e04c9df  opcodes/frv-asm.c
 dc1983a2cdbbe9417a0782b17ed0782b  readline/savestring.c
 4471d29e8a541b39059bd96a389e6cca  readline/xfree.c
 a101965beeccedfa39e87b593ecde637  readline/histlib.h
@@ -7368,7 +7488,7 @@ ad94e3f122c53de7554f95f5c1d35b4a  readli
 71810ebd7d15adbb8fe9da7d9ab009b1  readline/examples/rlfe/config.h.in
 b3f2a672002c3c8da21d6e5a06c71d6d  readline/examples/rlfe/pty.c
 9c9392e78241139fb965ebfcb0231315  readline/examples/rlfe/rlfe.c
-87566a77cba9d293a409bae2a5ce6837  readline/examples/rlfe/configure
+ab55c0c2d61d8a938e94332f0a26ce19  readline/examples/rlfe/configure
 f3235e9449b83cf111d88c55da53a05c  readline/examples/rlfe/screen.h
 345c19bce0d907e9ad2fe0cb42170f28  readline/examples/rlfe/os.h
 fd9ea29df3e304482f598fca47ca76c1  readline/examples/rlfe/ChangeLog
@@ -7436,7 +7556,7 @@ cf44e60e80566ac39f5f4ceeaead432c  readli
 4b810af2c83168d3cd86815a6bbeaaff  readline/tilde.h
 f83ffd9b7c44cc50a2eb6035d3951186  readline/chardefs.h
 b6b0eb567537a7af70371045677c684f  readline/patchlevel
-2509eb8d9b594c5fa705cbf86ee09a83  readline/configure
+41e4a726ff28e3e7d2d496fb90fac11c  readline/configure
 711ce37b41c10c91488b188da4e818f2  readline/histexpand.c
 59211bbb0b5bd6a2fb27ddb0149bb5b9  readline/aclocal.m4
 d5f318938c05345afba3549cf934b701  readline/xmalloc.c
@@ -7460,7 +7580,7 @@ a3e7f1169cb191643b88030615b40a0f  readli
 1f06909c580362820ded7f55702d6229  readline/rlmbutil.h
 abb50c292da10141146dc24cb9519840  readline/vi_mode.c
 07c33a285703b40cd6f93a478e97e03b  README
-72b7803505f14cf31e291a59f538c6c8  README-maintainer-mode
+2786c6bad129ff44b217c1fe6042176a  README-maintainer-mode
 e91eab765c266ff5abf1f36a9c1f1fd6  sim/common/nltvals.def
 7e3af38009a5c0f0b89c0387382b54cc  sim/common/sim-endian.h
 22756ba0ec734cab89ac5eaa9c8f7587  sim/common/sim-basics.h
@@ -7493,7 +7613,7 @@ d4abb9f7f3abf24aa73f9ae918b747ed  sim/co
 d8a9bfcda32c9133c08e5185a2bcfc20  sim/common/cgen-trace.h
 c48af138139e186877b579504afa5989  sim/common/hw-device.h
 0271e190bc680caadfb76550fc8981f0  sim/common/hw-instances.h
-011f2459469cd584822f281cf2b8d456  sim/common/configure.ac
+91da0b5776be30169c5d42443a4af0e9  sim/common/configure.ac
 2c562d4d1a32f04cd078c864ffd5d6a1  sim/common/dv-cfi.c
 400dbfd50e195c13abc165d05fa3120d  sim/common/sim-arange.c
 9217a0897b9205193da5877046934151  sim/common/dv-glue.c
@@ -7545,9 +7665,9 @@ fb709bd997ca60a4a2df2415e5e6eb32  sim/co
 721fc570b6cff520caa9a5a109831b81  sim/common/hw-instances.c
 076a5a1b672d5069fa21712eaacb1383  sim/common/acinclude.m4
 b181ca999bff0b554c47214c0604e0c1  sim/common/sim-alu.h
-349b802a9a8d2c2a27ac8b535289fd3f  sim/common/configure
+b072fd649723cd95f44dd9c6c5357d85  sim/common/configure
 1fa7ae448bcdbb6475aab342fba099cb  sim/common/hw-handles.h
-5f5b7060fadb3edc42fcde4b2f67da41  sim/common/aclocal.m4
+f7b12e2a6caa8b656f36313c83c13097  sim/common/aclocal.m4
 2e73a0ccfa979b7fefe82f5c50440399  sim/common/cgen-par.c
 80215d2f98798269764eb098cc979c15  sim/common/sim-trace.h
 28e28b03beb9de16fffbe9636e5b923c  sim/common/sim-n-bits.h
@@ -7590,31 +7710,31 @@ af3fe366bd16504932c740f6e4f609be  sim/co
 39a423c1869fe07fef9e695169a848ab  sim/common/sim-run.c
 a44c16d5cf0cef5516bbfab7680abbf8  sim/moxie/Makefile.in
 52a9849a86689a7ee1f88ce34bbd60ac  sim/moxie/moxie-gdb.dts
-964440dbdf931834e8ea8542008fd154  sim/moxie/config.in
-2681d762c5767113cb0971c575c57c9a  sim/moxie/configure.ac
+79b3f19a4a961715ed1b3fc266e073d6  sim/moxie/config.in
+4e5b996dc62651c7c0bb56df38b83068  sim/moxie/configure.ac
 94b1418028e823bd3a589dafcf7afead  sim/moxie/interp.c
-4fc3f18f37622cb23f41df8fbb6fddc8  sim/moxie/configure
-94500e8b65d9332dee333844d5522a02  sim/moxie/aclocal.m4
+242be6f3d7c828cc4f833eef36c83e35  sim/moxie/configure
+4ab55a35c7007d58ee370d38587e6907  sim/moxie/aclocal.m4
 d919962ef2a2527ac92ceba8b893fb67  sim/moxie/ChangeLog
 f69b1b18130fe959aadcd15ac89c6d7d  sim/moxie/sim-main.h
 efe0100e10bbf933c5a9c82c9fd8c6cf  sim/ft32/Makefile.in
 89192e13de6cb7bc7c49426e74aa84b4  sim/ft32/ft32-sim.h
-964440dbdf931834e8ea8542008fd154  sim/ft32/config.in
-1252c6201b72af1a27cf291337211592  sim/ft32/configure.ac
+79b3f19a4a961715ed1b3fc266e073d6  sim/ft32/config.in
+a713808bc827e60d5b5d32c545bd0770  sim/ft32/configure.ac
 b37de40ea4a236da9c84d1bd11ff3b8f  sim/ft32/interp.c
-c4e71e445eed90f968441d012e7dc0da  sim/ft32/configure
-94500e8b65d9332dee333844d5522a02  sim/ft32/aclocal.m4
+e89310a023370ae3d2cf9f42dc53063b  sim/ft32/configure
+4ab55a35c7007d58ee370d38587e6907  sim/ft32/aclocal.m4
 cca394963a06fdeae736e3575103d984  sim/ft32/ChangeLog
 ffb2be9ee0d201f458dcef71ee96edc5  sim/ft32/sim-main.h
 a27f42229c22e3e4a7b76f22194c2fe1  sim/aarch64/simulator.c
 a652fd8ef79ee382733f5653dac54de5  sim/aarch64/Makefile.in
 469c10e0a18452217f14cf52b1eb3796  sim/aarch64/decode.h
 d15177b2bc3b28b0462cf836dae336bf  sim/aarch64/simulator.h
-964440dbdf931834e8ea8542008fd154  sim/aarch64/config.in
-7eaa254f8014a0bdf46911aa658abd46  sim/aarch64/configure.ac
+79b3f19a4a961715ed1b3fc266e073d6  sim/aarch64/config.in
+32e505847941df0fa011aeb31776b6f9  sim/aarch64/configure.ac
 75b0905c99cc4fb3dcb285abc2785209  sim/aarch64/interp.c
-4ee37f941fba8a15786706afc8045435  sim/aarch64/configure
-2a4cc676da3431298557cafe209ddd7b  sim/aarch64/aclocal.m4
+067d8aa888596a6ee06e0e79244f3331  sim/aarch64/configure
+4ab55a35c7007d58ee370d38587e6907  sim/aarch64/aclocal.m4
 d307b3f44d1a0d0c136bcc50a7b2b907  sim/aarch64/memory.h
 96d8686f3044e15cf4cc811bbd8988c5  sim/aarch64/ChangeLog
 e90301197476a58522f5dd4ea5aeeb1a  sim/aarch64/cpustate.h
@@ -7624,21 +7744,21 @@ e90301197476a58522f5dd4ea5aeeb1a  sim/aa
 01ab8ef7cf1d908038af5b3cccf44dbc  sim/Makefile.in
 1e79cde06fcf17500ba187fcae6190aa  sim/msp430/msp430-sim.h
 6f1b9aacd8d7e58c7e5c2178d9c71fa9  sim/msp430/Makefile.in
-b42c6e70509d69418cca5e4d03a16f64  sim/msp430/config.in
-69ca7d2c54cb78ff7c39807bb8176e98  sim/msp430/configure.ac
+09d6a57f399102d2cbc1562433d12aac  sim/msp430/config.in
+516b3462d47de1fedbf2676c97bd9ca3  sim/msp430/configure.ac
 55db1392d0aeaef81852d75286975771  sim/msp430/msp430-sim.c
-b84f8100a3469a24ce175452fc4acdf5  sim/msp430/configure
-94500e8b65d9332dee333844d5522a02  sim/msp430/aclocal.m4
+9c754fac265046e384661407eab3183e  sim/msp430/configure
+4ab55a35c7007d58ee370d38587e6907  sim/msp430/aclocal.m4
 a25d80616c54aac2f832b3dfc4b8a37f  sim/msp430/ChangeLog
 60373c89146c9a32ed6d0725a6ac0314  sim/msp430/sim-main.h
 58edfd9eda2b6f5aa43867c08fbfbcdd  sim/sh/Makefile.in
-964440dbdf931834e8ea8542008fd154  sim/sh/config.in
-9aedeeeb3f292ad0e1f72f0a0fde3982  sim/sh/configure.ac
+79b3f19a4a961715ed1b3fc266e073d6  sim/sh/config.in
+e7dd365f1ca1a58020c813d6e9369075  sim/sh/configure.ac
 daa4535a7428b95572256d31c6b7118d  sim/sh/gencode.c
 32f5b8f9788e8786980836aa08f81713  sim/sh/interp.c
 485762a39054bcf5bf3a3ee2a4de586f  sim/sh/syscall.h
-b9e9b0bc8d824dce0ccf336f3a024647  sim/sh/configure
-94500e8b65d9332dee333844d5522a02  sim/sh/aclocal.m4
+aa86cbc835a69895d241d450d689efbb  sim/sh/configure
+4ab55a35c7007d58ee370d38587e6907  sim/sh/aclocal.m4
 a1217029552bf4107c9b439c95bec39b  sim/sh/ChangeLog
 3055de17feccf02c14e43006cd7540f4  sim/sh/sim-main.h
 afd9cbd34a7ea99ba02812493e0d6712  sim/sh64/eng-media.h
@@ -7649,8 +7769,8 @@ afd9cbd34a7ea99ba02812493e0d6712  sim/sh
 6b44acb58a932c25612a6e49c93fcab0  sim/sh64/sh64-sim.h
 3ba522ad12384eebe749abe235f163ce  sim/sh64/cpu.h
 6bee97677de4f460f1c933ebd896cc97  sim/sh64/sem-media.c
-92a6cb0bac20780f1cbd0c25cc6ca10f  sim/sh64/config.in
-4d192118ba39506f1f97ecbe51d2a4e0  sim/sh64/configure.ac
+5612be8e02af3bf837bf725454d50414  sim/sh64/config.in
+af16208b9fb6b743d32e48a96d6516c9  sim/sh64/configure.ac
 207be9d269dea964b563372917e01e02  sim/sh64/defs-compact.h
 ac213d1c73055fd163b9db0c56963dfd  sim/sh64/eng-compact.h
 afed545e0e49b2783cf6e388463ddb35  sim/sh64/sh-desc.c
@@ -7660,8 +7780,8 @@ ba6e5184c7c5ee2343762d79891c28fb  sim/sh
 adbaac5162470002b83025ae45e56bd2  sim/sh64/mloop-media.c
 22a150b50364a514163cb7e782684671  sim/sh64/decode-compact.c
 66514e96a6c0ad21c3ff22c305615caa  sim/sh64/sem-compact.c
-b252c61a24ee0cc7273f4c3cdcdda5af  sim/sh64/configure
-94500e8b65d9332dee333844d5522a02  sim/sh64/aclocal.m4
+3bb93d5102ec18d38cab2ff7b48048d5  sim/sh64/configure
+4ab55a35c7007d58ee370d38587e6907  sim/sh64/aclocal.m4
 0ff8e7a3afe73037ab85312898b719a5  sim/sh64/arch.c
 0a9b14abb0765f3b3a6b71204354b174  sim/sh64/arch.h
 d64f78e8963091630bb35043ac5118d7  sim/sh64/cpuall.h
@@ -7684,8 +7804,8 @@ e75cb3a1f2edeafea864362055fe29a9  sim/fr
 b0f159091b373fb5bef6f31f20c7c0b5  sim/frv/options.c
 798caec788af079a8514066cf895b40e  sim/frv/cpu.h
 378d7eef1acd8c6d640887b47229b707  sim/frv/frv.c
-92a6cb0bac20780f1cbd0c25cc6ca10f  sim/frv/config.in
-eabacfe8e05fd47f550f026eb3ac6602  sim/frv/configure.ac
+5612be8e02af3bf837bf725454d50414  sim/frv/config.in
+7654a87bf1dcae23b22c79e86dea41ef  sim/frv/configure.ac
 ae081b6a5d660ae4a0b29a58014a0dca  sim/frv/profile-fr500.h
 1dcb16936dd94db21e5b82f208506a6a  sim/frv/README
 075090b4ca7b1ce03f78f80018ef7c92  sim/frv/profile.h
@@ -7700,8 +7820,8 @@ d51c2b5201f8e21ff8b6d6b8ae58d4ed  sim/fr
 181aea9cf408de2d47003fb2a819f9bd  sim/frv/profile.c
 1977e6537d6637cde22d7159569df764  sim/frv/sem.c
 6115713946909976a5142ebe0fce3d23  sim/frv/profile-fr400.h
-36566f8de95e0930635aea7bbfb4ea60  sim/frv/configure
-94500e8b65d9332dee333844d5522a02  sim/frv/aclocal.m4
+9bbc1555b0cd5f7bdab013067990f4d6  sim/frv/configure
+4ab55a35c7007d58ee370d38587e6907  sim/frv/aclocal.m4
 55cac7557452c7802e3bb854459f6c6d  sim/frv/profile-fr550.c
 87c86402f320967ec68733d3e9cabea4  sim/frv/arch.c
 41d55efede9ca0eb0d80f5e14d22e7d7  sim/frv/arch.h
@@ -7718,33 +7838,33 @@ d26a2190bd88dc183342f80256c71437  sim/fr
 d52ca075ed1fecc01711cfce125d7da4  sim/rl78/Makefile.in
 5f0bdfa4e3a72ae8037ad5837881a206  sim/rl78/gdb-if.c
 cd0de5e485bb4554aea6b8ba7067813a  sim/rl78/cpu.h
-b42c6e70509d69418cca5e4d03a16f64  sim/rl78/config.in
-4156c371c2efb7f591967d86d09eb5f2  sim/rl78/configure.ac
+09d6a57f399102d2cbc1562433d12aac  sim/rl78/config.in
+9d3d0d9cc6fc1ea32da7e545c8d1ec04  sim/rl78/configure.ac
 c60fe302433128a04e16dc47a708a02e  sim/rl78/trace.c
 ae12dac7cdf8895146447c34d257ae4d  sim/rl78/load.h
 ad7df04ed013ceba9be9224adabe6cfc  sim/rl78/main.c
 0ff4ff11ea82e47788342ab45dba656a  sim/rl78/mem.h
 1c7a34e498bc38177f0d48eb67d258e8  sim/rl78/rl78.c
-a61b1c11a4108b073f630ff1b179e1e3  sim/rl78/configure
-94500e8b65d9332dee333844d5522a02  sim/rl78/aclocal.m4
+2aed1409d14cb35bc0d76d1cfe84caf2  sim/rl78/configure
+4ab55a35c7007d58ee370d38587e6907  sim/rl78/aclocal.m4
 0f70a274f16673f3c92216579480a7f7  sim/rl78/ChangeLog
 db1894c105a9f4bd4e039de55838eeae  sim/rl78/trace.h
 eb3b5c71910ef8060ded1fef97eb427f  sim/rl78/cpu.c
 377709477a3a4025bd064d5516ba8a21  sim/rl78/mem.c
 96f304ad5d4cf83046a0cc9d1f6f9d35  sim/rl78/load.c
 620b4601dcd506639adac3dfabd7d2c4  sim/configure.tgt
-93e5f34b348d99a268e355035a920873  sim/configure.ac
+78a8b3da6c7d67225c37947267c80aa3  sim/configure.ac
 071749598bc079bfc57c77b17e484809  sim/v850/v850.igen
 343bbcec33069e5661e14fc16b9adf16  sim/v850/simops.h
 9d4911301f70579c981d5ca2a8c6ed16  sim/v850/Makefile.in
 af2c83244a91504979f6a0b77e9f6219  sim/v850/v850-dc
 665d05b23d15bcf1131f13acc3707dd5  sim/v850/simops.c
-6bdfffbb27c1feff27c2aea306de6c19  sim/v850/config.in
-6e73125e9ecb8a876b27861efcaefe89  sim/v850/configure.ac
+cb3eba25934045ad2ee17717f461372a  sim/v850/config.in
+80475fe714bbd506495e201900761d40  sim/v850/configure.ac
 5be894a40ad061ddb10cc74af505e506  sim/v850/v850_sim.h
 f1c7e4031cb70d8722addad1f2ad8612  sim/v850/interp.c
-f5f769f9d56d824011c4448ceaddbe5f  sim/v850/configure
-94500e8b65d9332dee333844d5522a02  sim/v850/aclocal.m4
+f192d6509ec6a5269875ba54fbc70e3e  sim/v850/configure
+4ab55a35c7007d58ee370d38587e6907  sim/v850/aclocal.m4
 dbfef4c712c7087215cd7f121a3f6fb2  sim/v850/ChangeLog
 26161fca5d747178c7cb1ea21cf3ee39  sim/v850/sim-main.h
 e2b1c770fb0b1bd499fe5e728c279b76  sim/.gitignore
@@ -7758,8 +7878,8 @@ e2b1c770fb0b1bd499fe5e728c279b76  sim/.g
 22beb802e4aa528563dc0b3ef464dc25  sim/mips/micromips16.dc
 5012941bb76a8f7b705f0a2632d3aac6  sim/mips/smartmips.igen
 aeaaf667927dc1bfbaa2e28c87eb70ec  sim/mips/micromips.igen
-1e86f8dc5c33a87baa9dd7a90fe149a9  sim/mips/config.in
-99a0dd2bf40a976be052f5982d56eb0c  sim/mips/configure.ac
+be1a77beb1cb7658ca9a4bd40a000d42  sim/mips/config.in
+d2cd443c15df71a97ba465412eb46cc4  sim/mips/configure.ac
 fcc94254b3342abb448d52331797d8f6  sim/mips/dsp2.igen
 caebac99979ff2ed7893712e32b3162b  sim/mips/dv-tx3904irc.c
 b35a5093e668223efdc8aa2ef2d27f8b  sim/mips/vr.igen
@@ -7772,8 +7892,8 @@ ad1dd62bbde38eda63bef32a6b534987  sim/mi
 234fe68587fc61c693d7efeb687e41b6  sim/mips/dsp.c
 0cc85f54d1aaffc21fa0a619b2e23020  sim/mips/mips.dc
 efe0c6cab20f817cc6575b6052a10ec6  sim/mips/micromips.dc
-279708da9fb2f54fe685e189e40c7e60  sim/mips/configure
-94500e8b65d9332dee333844d5522a02  sim/mips/aclocal.m4
+13c24ba27c798d5d210a9067022c3936  sim/mips/configure
+4ab55a35c7007d58ee370d38587e6907  sim/mips/aclocal.m4
 3399ae632b9c4e401c15bea178da5767  sim/mips/m16e.igen
 ffa2a2b2d2a5c53d3339ab49adc1ff75  sim/mips/dv-tx3904sio.c
 8e5d00dcf8c3510ef993285006700bf5  sim/mips/m16.igen
@@ -7786,24 +7906,24 @@ af355a966044b15fd3df664cdd8f7a7d  sim/mi
 c1e8317a1e5e6a7f790c3775b0e9f26c  sim/mips/sim-main.h
 e90e73eee445d44f164749dc8d8c0a4d  sim/mips/tx.igen
 5ae08555655016f7e01961e0072a0776  sim/microblaze/Makefile.in
-964440dbdf931834e8ea8542008fd154  sim/microblaze/config.in
-9aedeeeb3f292ad0e1f72f0a0fde3982  sim/microblaze/configure.ac
+79b3f19a4a961715ed1b3fc266e073d6  sim/microblaze/config.in
+e7dd365f1ca1a58020c813d6e9369075  sim/microblaze/configure.ac
 56a93c7d96723c8e7fbe33440b8a4baa  sim/microblaze/microblaze.h
 976c97ea83f21c7c6e503690eb58d47c  sim/microblaze/microblaze.isa
 0996e860f6f673405679df899d6cb042  sim/microblaze/interp.c
-b9e9b0bc8d824dce0ccf336f3a024647  sim/microblaze/configure
-94500e8b65d9332dee333844d5522a02  sim/microblaze/aclocal.m4
+aa86cbc835a69895d241d450d689efbb  sim/microblaze/configure
+4ab55a35c7007d58ee370d38587e6907  sim/microblaze/aclocal.m4
 99e92eed2bc88c43cf09ba8b32a53d06  sim/microblaze/ChangeLog
 4454465c1348f734abeda6ec860b5d37  sim/microblaze/sim-main.h
 a3869b1abe35742852b9f32dc577e22a  sim/d10v/Makefile.in
 2d351f4c1e1ef4458d9303a518f3495d  sim/d10v/simops.c
-964440dbdf931834e8ea8542008fd154  sim/d10v/config.in
-9aedeeeb3f292ad0e1f72f0a0fde3982  sim/d10v/configure.ac
+79b3f19a4a961715ed1b3fc266e073d6  sim/d10v/config.in
+e7dd365f1ca1a58020c813d6e9369075  sim/d10v/configure.ac
 030a61bc5d67ce1b8a537c7e93b9de11  sim/d10v/gencode.c
 0588da5709059f25ef93487a2068a8e7  sim/d10v/d10v_sim.h
 486ffceb0ca54037eb52857f2c2be17e  sim/d10v/interp.c
-b9e9b0bc8d824dce0ccf336f3a024647  sim/d10v/configure
-94500e8b65d9332dee333844d5522a02  sim/d10v/aclocal.m4
+aa86cbc835a69895d241d450d689efbb  sim/d10v/configure
+4ab55a35c7007d58ee370d38587e6907  sim/d10v/aclocal.m4
 0151d6f631ef5b3834e7d5a43304b55e  sim/d10v/endian.c
 587912cfc56a3ad22382cc8f82d7453f  sim/d10v/ChangeLog
 340aa76f2cd88006e46c54447f1700a3  sim/d10v/sim-main.h
@@ -7812,14 +7932,14 @@ fd198405176d92a311a9182f1ff97ad1  sim/or
 b9243c6198ba9303612ee7dd4a6a3971  sim/or1k/decode.h
 c9ca5030b3086bb5c16e45d995b1863c  sim/or1k/cpu.h
 79b3f19a4a961715ed1b3fc266e073d6  sim/or1k/config.in
-f38755e0e89e7eca982988847a176215  sim/or1k/configure.ac
+109dfb1364115af9a96e29c830952d47  sim/or1k/configure.ac
 f4f03b812cdbb239f5a1fd44824e1763  sim/or1k/README
 da96866419ef5db5a90b5bc8a407b9c4  sim/or1k/traps.c
 42461f1fe8dce184c5d033b77ecdcaea  sim/or1k/mloop.in
 551a7419819d000c43081310d0eee201  sim/or1k/or1k-sim.h
 7a0548bb53da2d39213f22f6a69c3c05  sim/or1k/sem.c
-0b0ad1c3e97653ca58dedb5c8a08f6b4  sim/or1k/configure
-5c2b15dd4234b6a4a05a60129bb84cd6  sim/or1k/aclocal.m4
+775cf0f2fd0a78a5841ab1b659d4d1e6  sim/or1k/configure
+4ab55a35c7007d58ee370d38587e6907  sim/or1k/aclocal.m4
 3fb08eead9fb1496f6802859b2ff4c0f  sim/or1k/arch.c
 80a5c05942a3783359d3b956d5be784d  sim/or1k/arch.h
 045360e647c7a0936eb093dba14904fc  sim/or1k/cpuall.h
@@ -7838,7 +7958,7 @@ b9dfb4486983005fd777c01d359189b7  sim/te
 8b1814b871166305ec8fc7a06cc9a84d  sim/testsuite/common/Make-common.in
 9980219e011c42205bbd14e46d21fc8f  sim/testsuite/common/alu-n-tst.h
 e3d2d71cfc0cf9007ecde87ada28009d  sim/testsuite/Makefile.in
-e5a02702276017390ca9c6c115bdb7ce  sim/testsuite/configure.ac
+2a7b97cc87ae4dc18b5de861f38c9f4e  sim/testsuite/configure.ac
 c3159efacfaf9907b2cd1771fa08d97c  sim/testsuite/.gitignore
 924a8154da0b6d622606be982c2370c0  sim/testsuite/sim/moxie/allinsn.exp
 c8756b053a5d9e80829d352796598ea4  sim/testsuite/sim/moxie/ChangeLog
@@ -11108,27 +11228,27 @@ c8756b053a5d9e80829d352796598ea4  sim/te
 531db82ef6fbeb05b9681fd97cf0adf3  sim/testsuite/sim/m68hc11/pass.s
 d4a4dc202b50cef88186c345fa60f24c  sim/testsuite/sim/m68hc11/testutils.inc
 b197ad37eff9ed82fb13a3d7dcdcfc5d  sim/testsuite/m32r-elf/Makefile.in
-aeb9f246be0c025b69dcf144b916ce33  sim/testsuite/m32r-elf/configure.ac
+cdfd13107641dc366d7f36ada4f5ad87  sim/testsuite/m32r-elf/configure.ac
 61aac381a61d722e21e84faa6146d7be  sim/testsuite/m32r-elf/loop.s
 fdcd1bf835b2c2a0ce2ec539624e2a6c  sim/testsuite/m32r-elf/exit47.s
 d855cd1f7a63aa5913126e4c9cbbdca4  sim/testsuite/m32r-elf/hello.s
-36e51fd3fa445f63573cffef4da15282  sim/testsuite/m32r-elf/configure
+ca5d7345bde4b101f716cc24502fc90b  sim/testsuite/m32r-elf/configure
 0f367d89ae3bfb9857b54ec9c8d5331f  sim/testsuite/m32r-elf/ChangeLog
 b113c0bd55532c0b2c0000ed9d1ad2e2  sim/testsuite/lib/sim-defs.exp
 175f91fa099084a872b8e8d81cdbbb3f  sim/testsuite/frv-elf/Makefile.in
 ad3cb74cb4f5e1145c323d436230b3f4  sim/testsuite/frv-elf/cache.s
-aeb9f246be0c025b69dcf144b916ce33  sim/testsuite/frv-elf/configure.ac
+cdfd13107641dc366d7f36ada4f5ad87  sim/testsuite/frv-elf/configure.ac
 02ebc2d23f1397660d56c21d6a0866c6  sim/testsuite/frv-elf/loop.s
 70ca72190bc26acee97deb6d5974053f  sim/testsuite/frv-elf/exit47.s
 cc16675e19f20d246b81ba1aa64e2c05  sim/testsuite/frv-elf/hello.s
-36e51fd3fa445f63573cffef4da15282  sim/testsuite/frv-elf/configure
+ca5d7345bde4b101f716cc24502fc90b  sim/testsuite/frv-elf/configure
 b03f73b590c393cd710f753106cd5184  sim/testsuite/frv-elf/ChangeLog
 e30b4c8b1165f133ffd45b28034a33a7  sim/testsuite/frv-elf/grloop.s
-9b69bb295d5d4913ead3b07b70838753  sim/testsuite/configure
+2a28c4c1d5a338c2010ed9b69a59f78d  sim/testsuite/configure
 8125b34e96a1751a078ecd537b1a6068  sim/testsuite/ChangeLog
 89126451f8ccabf427d2079823869725  sim/testsuite/mips64el-elf/Makefile.in
-aeb9f246be0c025b69dcf144b916ce33  sim/testsuite/mips64el-elf/configure.ac
-36e51fd3fa445f63573cffef4da15282  sim/testsuite/mips64el-elf/configure
+cdfd13107641dc366d7f36ada4f5ad87  sim/testsuite/mips64el-elf/configure.ac
+ca5d7345bde4b101f716cc24502fc90b  sim/testsuite/mips64el-elf/configure
 4448a565fade03a70e100fb18519a9bd  sim/testsuite/mips64el-elf/ChangeLog
 266aa2fe095d30aad29b83c25851971e  sim/testsuite/d10v-elf/t-ae-ld-im.s
 ec7bb92d79cec389c2cf4685d0c91150  sim/testsuite/d10v-elf/t-slae.s
@@ -11141,7 +11261,7 @@ c52f1cfa2ba8e7eb55aa93e564a0164f  sim/te
 fcab1b7a79a3a82158f92a79f01fc1b6  sim/testsuite/d10v-elf/t-ld-st.s
 3bf62ddddb5d760ebd4a96790f02efd9  sim/testsuite/d10v-elf/t-sub2w.s
 776264e34418e424ca53627692e3170d  sim/testsuite/d10v-elf/t-ae-st-id.s
-aeb9f246be0c025b69dcf144b916ce33  sim/testsuite/d10v-elf/configure.ac
+cdfd13107641dc366d7f36ada4f5ad87  sim/testsuite/d10v-elf/configure.ac
 e8c67bf69426a7db6ecb7c2cafcc0a99  sim/testsuite/d10v-elf/t-sadd.s
 f9e7c86333f37f05849bb0913d84040e  sim/testsuite/d10v-elf/loop.s
 246424eed873ed649d2a32c1de0a12cb  sim/testsuite/d10v-elf/t-ae-ld-d.s
@@ -11167,7 +11287,7 @@ b5b7dcb39e5fe37d20f5fbad5c205b6a  sim/te
 0492a673d4276924c61d9ce568802546  sim/testsuite/d10v-elf/t-ae-st2w-ip.s
 44c3061ac426dfdcf4a850fe15376b2f  sim/testsuite/d10v-elf/t-ae-st2w-im.s
 d3f2b6a8713945840267c5b38031db57  sim/testsuite/d10v-elf/t-rdt.s
-36e51fd3fa445f63573cffef4da15282  sim/testsuite/d10v-elf/configure
+ca5d7345bde4b101f716cc24502fc90b  sim/testsuite/d10v-elf/configure
 03e85e80ad387361ee238b2b0a1b5a20  sim/testsuite/d10v-elf/ChangeLog
 670f5bcbd96246bf460d84b57bea1102  sim/testsuite/d10v-elf/t-ae-st2w-is.s
 d028e41377d7e4afcdc3b979f9e026d7  sim/testsuite/d10v-elf/t-mod-ld-pre.s
@@ -11184,19 +11304,19 @@ be230dfdf2fc8a9548a086fd285ea00e  sim/te
 24adce9358d8640ca6ae226ecbeb41c7  sim/testsuite/d10v-elf/t-mac.s
 744e0ee2abcec900b154f72ccf20434f  sim/testsuite/d10v-elf/t-mvtc.s
 7e846d389d0eeafe17bacfa2b4aea0a7  sim/avr/Makefile.in
-964440dbdf931834e8ea8542008fd154  sim/avr/config.in
-efea71bd9c04da6a2777a1190acbe328  sim/avr/configure.ac
+79b3f19a4a961715ed1b3fc266e073d6  sim/avr/config.in
+9a07b90d62a269c0a08e6fd673cc930b  sim/avr/configure.ac
 2bc7d6a2639e02391422085e1eeaa078  sim/avr/interp.c
-bf1dfc5b21dc70f1aee3e5465f14fee0  sim/avr/configure
-94500e8b65d9332dee333844d5522a02  sim/avr/aclocal.m4
+6ef545eaa66a20600537024b6bcc93cb  sim/avr/configure
+4ab55a35c7007d58ee370d38587e6907  sim/avr/aclocal.m4
 f7fdcd9476a22c222329703588c3fe52  sim/avr/ChangeLog
 ef408ad5cc564dca2884a30a837e310a  sim/avr/sim-main.h
 77960feca8dc7f8100a93d1712402bce  sim/mcore/Makefile.in
-964440dbdf931834e8ea8542008fd154  sim/mcore/config.in
-9aedeeeb3f292ad0e1f72f0a0fde3982  sim/mcore/configure.ac
+79b3f19a4a961715ed1b3fc266e073d6  sim/mcore/config.in
+e7dd365f1ca1a58020c813d6e9369075  sim/mcore/configure.ac
 e8ed624504b6deb8b5390fab4f385daf  sim/mcore/interp.c
-b9e9b0bc8d824dce0ccf336f3a024647  sim/mcore/configure
-94500e8b65d9332dee333844d5522a02  sim/mcore/aclocal.m4
+aa86cbc835a69895d241d450d689efbb  sim/mcore/configure
+4ab55a35c7007d58ee370d38587e6907  sim/mcore/aclocal.m4
 199b9d7620fd06d6fdb11531783d8553  sim/mcore/ChangeLog
 e3581c52e5bce87d04f071d8f5b5d730  sim/mcore/sim-main.h
 a597992f5c445869cdff51b2bbd37bb5  sim/lm32/model.c
@@ -11205,16 +11325,16 @@ a597992f5c445869cdff51b2bbd37bb5  sim/lm
 4e869adbfd51fc70056854e0f89f05a4  sim/lm32/decode.h
 f575bbe69c2390075ebb1ba592e56dfc  sim/lm32/lm32-sim.h
 9853b22db1a66b37baf7d96dd1a9cf89  sim/lm32/cpu.h
-92a6cb0bac20780f1cbd0c25cc6ca10f  sim/lm32/config.in
-f3d36a1036375501c7926d3742570a72  sim/lm32/configure.ac
+5612be8e02af3bf837bf725454d50414  sim/lm32/config.in
+1ef7d461a3813915e4b54dda56bf4181  sim/lm32/configure.ac
 6a3f94d988ab02769f33c2a60c14af90  sim/lm32/traps.c
 06c872ecef34e2b9db7fe98547b9adff  sim/lm32/mloop.in
 de8952792c5beba20c26acf57914a03c  sim/lm32/lm32.c
 1fa624fcac5d6ac1835a0344ddb35bef  sim/lm32/dv-lm32uart.c
 57426bccf9c2596f3134a4d1de436dda  sim/lm32/sem.c
 225cd65fc670986edb16b2b0722c23be  sim/lm32/user.c
-3e8b67604175fc44c4bf51f927220ce2  sim/lm32/configure
-94500e8b65d9332dee333844d5522a02  sim/lm32/aclocal.m4
+631874fc33cb245a33f6a2870743fb80  sim/lm32/configure
+4ab55a35c7007d58ee370d38587e6907  sim/lm32/aclocal.m4
 76e8b122e5f8cca3b6832efb091ea3ab  sim/lm32/arch.c
 6d2051697e94ed2827dd095313d8d672  sim/lm32/arch.h
 78091c70d777eaac46be666e43d86a86  sim/lm32/cpuall.h
@@ -11228,12 +11348,12 @@ d85c8c186dbe1aa356ede332cf9f92fb  sim/lm
 9e246cbf11ff1109170024252a026552  sim/cr16/Makefile.in
 e6d095d48ceab6e1663ce6c79fc0beee  sim/cr16/simops.c
 dc52869edda505f625941fb19c1a4f32  sim/cr16/cr16_sim.h
-964440dbdf931834e8ea8542008fd154  sim/cr16/config.in
-21383288c6aaa544783c5b1b8bd62a58  sim/cr16/configure.ac
+79b3f19a4a961715ed1b3fc266e073d6  sim/cr16/config.in
+4933c3663e9942edfa188a89d76955fa  sim/cr16/configure.ac
 d47c0b6a843ee19d4518ea7d291a42a8  sim/cr16/gencode.c
 42d196f40d6fa367ff9d7e30d1f55bec  sim/cr16/interp.c
-2f09cfa85c6867ea1342eae2480ca046  sim/cr16/configure
-94500e8b65d9332dee333844d5522a02  sim/cr16/aclocal.m4
+57065c49bc83765d99249de5092446dd  sim/cr16/configure
+4ab55a35c7007d58ee370d38587e6907  sim/cr16/aclocal.m4
 df830fe3c2195af11d2fc229a4116c92  sim/cr16/ChangeLog
 108a0dc61b94bdbdabd56947801ba642  sim/cr16/sim-main.h
 cfbb96f17616168275fbadbc4b057d9a  sim/ppc/e500.igen
@@ -11274,8 +11394,8 @@ ee19c4a4b84cad5f9cd916356307b90b  sim/pp
 4012934e3fabf18c156ebfb97d8d491b  sim/ppc/hw_htab.c
 c9161f846ee1137f57c103c9b50b8010  sim/ppc/ld-decode.h
 1c42372728ec198fcf8ab57a40c64bb1  sim/ppc/os_emul.c
-e8e00096f57c390b5d955ae6d9019406  sim/ppc/config.in
-44cbba90b5072ee1d72bb08826903415  sim/ppc/configure.ac
+e23e8c6cddd60e621d2597fcc485d2c3  sim/ppc/config.in
+032ba1a0336356bc3e534edb0bc85195  sim/ppc/configure.ac
 2ec7edadb9856ea12bb4ecb5ee98fd83  sim/ppc/README
 b535b6237143276e69f6f3215e3c1b01  sim/ppc/gen-semantics.h
 cb29959db2f92c8b4323cc8e8d4d53d0  sim/ppc/inline.c
@@ -11294,7 +11414,7 @@ d632a1f4134488cc306b566a3774b068  sim/pp
 bfd43dd96dabce665dfe37a7957fc1a2  sim/ppc/mon.h
 5146ee46bebabf8c97f85f5984cdb349  sim/ppc/bits.h
 d3c236878c5c39d9ea37028e4a51f8ef  sim/ppc/corefile-n.h
-e478a32b920c802587733347ce4e59a3  sim/ppc/e500_registers.h
+e9ace2588ce4e2520b2dbf7f5a53f2f5  sim/ppc/e500_registers.h
 9acdbec7116b5f3c0f505b021f497efd  sim/ppc/events.c
 cbc18f080cae61f272af1c475bd6e144  sim/ppc/vm_n.h
 8d219ea9c96d9d4baa4329926e2f406e  sim/ppc/sim_calls.c
@@ -11313,7 +11433,7 @@ c030f461bd59ff9d54b1f4d80e0801e9  sim/pp
 484234eedfbb69301d0bec4acf47f8db  sim/ppc/cap.h
 eeaed7a804f4ef89fc28d42d86de6aa2  sim/ppc/hw_com.c
 d853c371650b4299478b6e4dcbc172f6  sim/ppc/dc-stupid
-bf2c48c3dc4c1fea71ac72aa1dfda43e  sim/ppc/ppc-instructions
+54873606cf06822b22427f389db7f553  sim/ppc/ppc-instructions
 7ef1469cfb0809ffbafba1a6f43cc98b  sim/ppc/ppc.mt
 4888acb242b870aa0e825e9e54aa1298  sim/ppc/idecode_fields.h
 0caa780d15d3d407a1065d2b87893110  sim/ppc/altivec.igen
@@ -11335,7 +11455,7 @@ df6ce308b6164a82f216e6dc70667ced  sim/pp
 ac8af167df5e2cc9c80ab1bb813764bb  sim/ppc/emul_unix.h
 cafa0dabf0d206be630c333994e46bdf  sim/ppc/dp-bit.c
 9a0ecd71253cc8e01812639dcfe6385f  sim/ppc/emul_generic.c
-c810423038f6e18c0b02a82c710b60eb  sim/ppc/configure
+27bb4b315b610c06d3d617036128ea66  sim/ppc/configure
 9e8810a61d4a6fa162efcf8c18061f26  sim/ppc/emul_generic.h
 4f90dac25651b90137e08d0dc8b280e2  sim/ppc/hw_register.c
 d41d8cd98f00b204e9800998ecf8427e  sim/ppc/aclocal.m4
@@ -11344,7 +11464,7 @@ b8a327a67a1e3f597b26d3e6c23eaa3c  sim/pp
 3177c0ec5341f19e21b76f11cbd5a7bd  sim/ppc/filter_filename.h
 772eee493631f36184cfb82b36dedfe0  sim/ppc/altivec_expression.h
 3d1bcfb1e025467f91084fb8c21c08c8  sim/ppc/interrupts.c
-930feb4ba56698d68476e96ad4bd3be1  sim/ppc/ChangeLog
+4afa090fdebdcd526402f9635bbacc99  sim/ppc/ChangeLog
 a7d87b28283aaddaffb673627ee9e49f  sim/ppc/e500_expression.h
 0803bec27a88fc019b6b1bfe8dbf9dd2  sim/ppc/dc-test.01
 cc82ede0335a4e5ed3867e1dd5f9dae2  sim/ppc/emul_netbsd.h
@@ -11383,10 +11503,10 @@ d83e9281376698706bead364f2bc0c9e  sim/pp
 7ae2d45d2858087f5f9efc56f6bebca1  sim/ppc/lf.h
 317994613fa8cb9ee99e660b3da65652  sim/h8300/Makefile.in
 a3aaffcc56fa65b1fa1c3ff4e63eaa6a  sim/h8300/compile.c
-e76052c753e5884d28491e61e9d73aea  sim/h8300/config.in
-addd9069b6cc7076e0797d0d755c2b10  sim/h8300/configure.ac
-ecf94e2522d525f47764bb9bfe1a10ef  sim/h8300/configure
-94500e8b65d9332dee333844d5522a02  sim/h8300/aclocal.m4
+1acf178f54b723a97a64a19cd969aee0  sim/h8300/config.in
+86e2cd68f928c5e9c9d886955aee7690  sim/h8300/configure.ac
+d41659ad79983b66251513d35a3fe46e  sim/h8300/configure
+4ab55a35c7007d58ee370d38587e6907  sim/h8300/aclocal.m4
 e9c6c6b57764d71012fbe0e3d1754589  sim/h8300/ChangeLog
 5a198f6b19aed858570b289330bf44f2  sim/h8300/writecode.c
 cfb96073c298b3ef87108655329547d2  sim/h8300/sim-main.h
@@ -11397,8 +11517,8 @@ e074b89bced4ab64f62088f54856c67d  sim/cr
 ac268c077bc7892d6b1b01c73053b8f1  sim/cris/cpuv10.h
 98cc41e7e983235efed63c01c9814bf7  sim/cris/cris-desc.c
 fa98584f403ac16871d08d2fc1b330f9  sim/cris/rvdummy.c
-5c6fec48943dbf99de93c952fb3daa05  sim/cris/config.in
-6e5abb24a703f4d43d35aff01b36bc5c  sim/cris/configure.ac
+ee5ca7dd5e31a1a6cdd415c4e5a98f76  sim/cris/config.in
+4a86342e3e7cdadb80d8398bcd6b2872  sim/cris/configure.ac
 2a106020279d77076a7d5aaa4d4f4a74  sim/cris/semcrisv10f-switch.c
 221d53403cbaecb16fdcd1198cd03d60  sim/cris/semcrisv32f-switch.c
 8521d5934eb86e69156d89bb58534234  sim/cris/decodev32.h
@@ -11410,9 +11530,9 @@ d27ffd43ba40429bf1f35d60144f7471  sim/cr
 b47d40da665317ca835bf51e5f0b574c  sim/cris/mloop.in
 5842e5b89279b1e704cd1c06243c9037  sim/cris/decodev10.h
 03729219114356aea66f75c54b036544  sim/cris/dv-cris.c
-a5a0d95f34edb0dda64543ca03e1cd49  sim/cris/configure
+8438214544407b3c977293c8069fd1fa  sim/cris/configure
 d014b5cdfd06f4627052c7a22c231a38  sim/cris/cris-opc.h
-94500e8b65d9332dee333844d5522a02  sim/cris/aclocal.m4
+4ab55a35c7007d58ee370d38587e6907  sim/cris/aclocal.m4
 e98cb540663b1e0bc5029e4c4ea72439  sim/cris/arch.c
 4c6a652114b12e1da893b0c1d614878a  sim/cris/dv-rv.c
 3cc5c3a61c662fd41ed6a0d2eca9080c  sim/cris/arch.h
@@ -11426,7 +11546,7 @@ c730c5c16fcbb6ab0baa2fa910fa39d4  sim/cr
 97bfa3d2b542d9993c8c2eef26c251c3  sim/cris/sim-main.h
 d867b7b2d30b1ab813ab91d221982d95  sim/cris/dv-cris_900000xx.c
 1b5e154d06f98399ae47cc77a118708c  sim/cris/sim-if.c
-fd528a00caa6fe5f9498cd31e1871b73  sim/configure
+5ef13968dd4e75897757d12486f09daf  sim/configure
 faf3e0477f6e5f6c2a36f9da7608cf97  sim/m32c/srcdest.c
 821c7c6e084f93f7cb7b05ffa66ae8a8  sim/m32c/m32c.opc
 bf15e79e8ebb9d1453453cb9f03eb57a  sim/m32c/Makefile.in
@@ -11435,8 +11555,8 @@ d74cec3e8201f5b42754d7b02b21908e  sim/m3
 c511801f9070900f940358970fed1ed6  sim/m32c/timer_a.h
 fc1e68e74e098a387eff1efc7b202b03  sim/m32c/cpu.h
 05c60db1e448a0428bf7c806bf3ad5f5  sim/m32c/int.h
-1e2c3755673b5210d3a010b27562fa1c  sim/m32c/config.in
-acbaa2f422559ea35ff2b3daabb5c017  sim/m32c/configure.ac
+67c907781e848b132a4bab0cb842a534  sim/m32c/config.in
+cf5dd53d673d9a7bc412bfc4560bbb22  sim/m32c/configure.ac
 c42f4a4aa5d3fdd9492362279056a95d  sim/m32c/trace.c
 88a0dd5efa37f94f26dd1671990cb6e7  sim/m32c/load.h
 da6f1247240c7e6a9ccc0302bf2c8d05  sim/m32c/r8c.opc
@@ -11446,8 +11566,8 @@ b3e216f12dc79e66d5a7403a283715fa  sim/m3
 4b47076f572f6fab8fecba360effb48c  sim/m32c/mem.h
 24e2f861da06951620983b5a9ca6efe2  sim/m32c/syscall.h
 8ae457e15e9b68a71213e3a6252cdafc  sim/m32c/syscalls.c
-96a551c86d03c14502b18f95aea05dc3  sim/m32c/configure
-94500e8b65d9332dee333844d5522a02  sim/m32c/aclocal.m4
+6d71443ec6220a5219b2c6c343a20970  sim/m32c/configure
+4ab55a35c7007d58ee370d38587e6907  sim/m32c/aclocal.m4
 1ba16e636f08f9dc4b0ea52117faec19  sim/m32c/syscalls.h
 29eec8e13a9ab5f77501faa6904d4725  sim/m32c/ChangeLog
 cf347c6b58cf26c8823496ec3f410ea1  sim/m32c/trace.h
@@ -11457,7 +11577,7 @@ e0f079b68683b42c69d3b6f7155f42ad  sim/m3
 34bcb9589fe28755a72677133d0abd3a  sim/m32c/mem.c
 e26a2422f15f9a0c41617ca20cfe6b7a  sim/m32c/load.c
 85c1deb54c06b8ae6729098b6181879d  sim/m32c/safe-fgets.h
-b872110a5437e99f9aafa6fe7b75a540  sim/ChangeLog
+5740daa5d51683a1e6444749daced42c  sim/ChangeLog
 c6fa511752eae573df303b42a819db2a  sim/m32r/mloopx.in
 1c955c8ca2c9d777e91fb85ae39e1daf  sim/m32r/model.c
 e4e4e9b3b05c4cbaeb76c91be288dd18  sim/m32r/cpu2.c
@@ -11471,8 +11591,8 @@ ecf9204907ea9cb4f0fbd12de911d4a2  sim/m3
 7980ce341eab47e9c31df15085b5d240  sim/m32r/cpu.h
 07bbd6693ce044805d76a962d1dc4447  sim/m32r/mloop2.in
 a6a7083a2cff116c3b9a2926dc3c4c67  sim/m32r/dv-m32r_cache.h
-92a6cb0bac20780f1cbd0c25cc6ca10f  sim/m32r/config.in
-da67e779bc7957827d8deea4f0212fc4  sim/m32r/configure.ac
+5612be8e02af3bf837bf725454d50414  sim/m32r/config.in
+c5f5acc97a31beaa7d10506c8b45c546  sim/m32r/configure.ac
 23b6e82d29f42c31a097d431b0f73004  sim/m32r/README
 71389981e0c215d56acdaaae098d6ddd  sim/m32r/model2.c
 229178d8b1fb0adbb3023dcdb160e4a7  sim/m32r/traps.c
@@ -11485,8 +11605,8 @@ f4fce44acccb2fd2cb593ae660622bea  sim/m3
 b77761a7009811c139958f7d13d91aad  sim/m32r/sem.c
 82a529f52526ae716a447086a163c005  sim/m32r/m32r-sim.h
 c72893bd3b859b0aa61698faa65340df  sim/m32r/dv-m32r_cache.c
-94255cd1d552e632fffcff088c3fb59a  sim/m32r/configure
-94500e8b65d9332dee333844d5522a02  sim/m32r/aclocal.m4
+c719e2e7d9e63ad7ff6d7fac1bd5c950  sim/m32r/configure
+4ab55a35c7007d58ee370d38587e6907  sim/m32r/aclocal.m4
 b0bbb075aaaf1ba9186da23a3b3798db  sim/m32r/dv-m32r_uart.c
 df1a42e032e84f4af5b941b9dbbc9751  sim/m32r/arch.c
 c622a9a7a759d2ac6b8e45b0b09562eb  sim/m32r/arch.h
@@ -11506,15 +11626,15 @@ dc9f5ce67836f277be6d8842dcbe85b7  sim/m3
 f2c068b09526b973eca3690bbe9e27ac  sim/mn10300/dv-mn103ser.c
 c31669a528534607df46dc2799dc2882  sim/mn10300/Makefile.in
 c37a8063b25bb881b34e79630d4988b3  sim/mn10300/am33-2.igen
-266ed31907fbff2f9999c79f468512fa  sim/mn10300/config.in
-7f1c3ac5259ef5b9a4f95f5ba6ee6018  sim/mn10300/configure.ac
+f2737183451da654342429dce9b18f20  sim/mn10300/config.in
+b0b3eee5cbaa12e1a4f4570488449b6a  sim/mn10300/configure.ac
 bd023d9fab8152922898fdfd7c983e3b  sim/mn10300/interp.c
 fda7fcce98218a9b90089f9910b1d6cb  sim/mn10300/dv-mn103tim.c
 a7335227cef936abda2f0c8402e79570  sim/mn10300/mn10300.igen
 e06d3d5148b90d05798fdeb1671f9b2c  sim/mn10300/mn10300_sim.h
 466a3655c14b5c268d44cd0056c223eb  sim/mn10300/dv-mn103cpu.c
-fe6d3b673c921346db09204d9fb5954e  sim/mn10300/configure
-94500e8b65d9332dee333844d5522a02  sim/mn10300/aclocal.m4
+ac0d5957f102d1b56b2cb8f77ae1a8f0  sim/mn10300/configure
+4ab55a35c7007d58ee370d38587e6907  sim/mn10300/aclocal.m4
 0657f237bd722862fdab342c2ee81685  sim/mn10300/dv-mn103int.c
 4e06f442e7ebb9bdfacba51dd57bebfb  sim/mn10300/ChangeLog
 51642564f8e97f6dabe77bae303d6dad  sim/mn10300/dv-mn103iop.c
@@ -11531,15 +11651,15 @@ c627796e0b9e05474b234feee40d3455  sim/er
 fc24dfb9b52c76e103f621c39453df84  sim/erc32/func.c
 09e093c2773f9016ea174202836147f7  sim/erc32/float.c
 67b5b30039ef14bc0f2e5e15c6414665  sim/erc32/sis.h
-964440dbdf931834e8ea8542008fd154  sim/erc32/config.in
-cbeb8528f051a7e516c4b3174bc184e0  sim/erc32/configure.ac
+79b3f19a4a961715ed1b3fc266e073d6  sim/erc32/config.in
+7cd71de009ac39baee20f2ab195860a1  sim/erc32/configure.ac
 53dea359a216bf32b24da38ceab1ad8e  sim/erc32/startsim
 a317bf293917ac978f81df996ae270f3  sim/erc32/erc32.c
 9f2cbd625dfef51b3d1162ba9dbb8a4f  sim/erc32/NEWS
 188f5f363f4d29ed87d95280f53020c4  sim/erc32/sis.c
-1258b3f717bd77a52a662865246afaae  sim/erc32/configure
+9ee76d8409d204e70ee3f258ed0079f1  sim/erc32/configure
 69d18c82b0e82fd6816bb82c7c66321a  sim/erc32/interf.c
-94500e8b65d9332dee333844d5522a02  sim/erc32/aclocal.m4
+4ab55a35c7007d58ee370d38587e6907  sim/erc32/aclocal.m4
 5bd01b17fd4b51a4a0f097fa09f1c291  sim/erc32/ChangeLog
 ce58de7fe1b8736ff94d663cb47bcf4a  sim/erc32/README.gdb
 ee384f92176f7d3b58d7c93f7ac5b5d5  sim/iq2000/model.c
@@ -11547,12 +11667,12 @@ ee384f92176f7d3b58d7c93f7ac5b5d5  sim/iq
 11412844635bd5268141d1f17486bb38  sim/iq2000/decode.h
 32e04cc1097f1b24501b3adec8fdffb9  sim/iq2000/iq2000.c
 20eff73d4326b77bdb26df336aadacb4  sim/iq2000/cpu.h
-92a6cb0bac20780f1cbd0c25cc6ca10f  sim/iq2000/config.in
-737673b35190ff1290e1b77ff3acafda  sim/iq2000/configure.ac
+5612be8e02af3bf837bf725454d50414  sim/iq2000/config.in
+a710e05535a1f9aa7b10046539932424  sim/iq2000/configure.ac
 4246da8920a54ff1bf690cfe5f565035  sim/iq2000/mloop.in
 bfdb8bdd66315b7f1e03bb8fb7bca6e3  sim/iq2000/sem.c
-c15368237319dbac2233a32e09d7a411  sim/iq2000/configure
-94500e8b65d9332dee333844d5522a02  sim/iq2000/aclocal.m4
+bdfe10899438706441be5dbe91e22681  sim/iq2000/configure
+4ab55a35c7007d58ee370d38587e6907  sim/iq2000/aclocal.m4
 e74abee1ee603b8445438e9a508e7aa7  sim/iq2000/arch.c
 a16159f86261d7f59146a0a4632896b6  sim/iq2000/arch.h
 afcc8b33351203eb85c047b84ba87f15  sim/iq2000/cpuall.h
@@ -11568,8 +11688,8 @@ b6e69eedb6360fc61b5d5bb482d202f1  sim/RE
 11df2e587b349a09a16286de5bbe3c56  sim/arm/thumbemu.c
 942e813ae7af06c3a5c3a2f7234a6f26  sim/arm/wrapper.c
 03701bfdfbd35ac30572fb81bc255b2a  sim/arm/armemu.c
-964440dbdf931834e8ea8542008fd154  sim/arm/config.in
-9aedeeeb3f292ad0e1f72f0a0fde3982  sim/arm/configure.ac
+79b3f19a4a961715ed1b3fc266e073d6  sim/arm/config.in
+e7dd365f1ca1a58020c813d6e9369075  sim/arm/configure.ac
 a62a77605003de7a8ba75d8247fd77b7  sim/arm/README
 413128b9e2d0e352cd5fd5d2b01dda89  sim/arm/armcopro.c
 c4ed795d8dc06d6f8eade00f7540db80  sim/arm/armfpe.h
@@ -11577,8 +11697,8 @@ c4ed795d8dc06d6f8eade00f7540db80  sim/ar
 99f99d9cab8e2927cc38bd436cfcd96b  sim/arm/iwmmxt.c
 68468963c3ef325838864f7216f70da9  sim/arm/armvirt.c
 46cac1156b87b55c6ac594921dba9f82  sim/arm/armos.h
-b9e9b0bc8d824dce0ccf336f3a024647  sim/arm/configure
-94500e8b65d9332dee333844d5522a02  sim/arm/aclocal.m4
+aa86cbc835a69895d241d450d689efbb  sim/arm/configure
+4ab55a35c7007d58ee370d38587e6907  sim/arm/aclocal.m4
 094764c9d200b64d8715f1d3da494b3f  sim/arm/dbg_rdi.h
 1b74e169746ed00b93ba59f8259cc4a1  sim/arm/ChangeLog
 45f7109e49ca9fbc7ba02c7380552958  sim/arm/armsupp.c
@@ -11605,8 +11725,8 @@ bcc6f0b491bd53a25fafc6bc6c5571cb  sim/bf
 ca76017d507da4d0426138add4e0feab  sim/bfin/linux-targ-map.h
 0e79e3f658dca63e6e090988b00dc934  sim/bfin/dv-bfin_eppi.c
 d5778456747669a289706f9858cfa5f1  sim/bfin/dv-bfin_trace.c
-180326797174a68128504945da73ff0d  sim/bfin/config.in
-dcbae4ff8a69f5fdf20094d642edeb99  sim/bfin/configure.ac
+175be671ad8d9b9f191a822662147b10  sim/bfin/config.in
+f28fee9a784beeb739b2bfcb1fb9287a  sim/bfin/configure.ac
 4f080546018ef7642722239c2b6ac886  sim/bfin/dv-bfin_mmu.c
 4c58865a9eece8fae00b57c49ae18b22  sim/bfin/dv-bfin_jtag.h
 492427fc77b38896d10fe0d402d8033b  sim/bfin/linux-fixed-code.h
@@ -11673,9 +11793,9 @@ c549474a3d8c3650e4125e352a351c74  sim/bf
 c67b2baec67606a371bbe00edcc3dce8  sim/bfin/bfroms/bf537-0.0.h
 3f3dced2009aa58b97aa7068a4b1c5aa  sim/bfin/dv-bfin_dma.h
 d323235922758047eed0f7d8d6e60f93  sim/bfin/dv-bfin_uart.c
-44dfaf7bdc016369ae4b9e1d248476ab  sim/bfin/configure
+13c69373b01fab46685e2bf5f5789d2c  sim/bfin/configure
 4e06e108b72b5c2dffee423c3643f06a  sim/bfin/dv-bfin_uart.h
-15063e900344de2092f3f12fce27f60b  sim/bfin/aclocal.m4
+7fbd64747f1f8c2e16db5517dd524ed3  sim/bfin/aclocal.m4
 b0d212309f505b3794650d6d61c8ec21  sim/bfin/dv-bfin_pll.c
 da467201b18990954373c7d0bda09e4d  sim/bfin/dv-bfin_evt.h
 add5bcec07d22021f391295c01e69e68  sim/bfin/insn_list.def
@@ -11704,16 +11824,16 @@ e41886ebfd5e7fbf55757257431fa1f0  sim/bf
 04883961c382396eea44ba4959ec109d  sim/m68hc11/dv-m68hc11.c
 e9dfa9a1c581691f0160ad8c80ea7cf4  sim/m68hc11/Makefile.in
 aaa0f1a12e4df6712f453e7e85d73f2e  sim/m68hc11/dv-m68hc11sio.c
-92a6cb0bac20780f1cbd0c25cc6ca10f  sim/m68hc11/config.in
-a58aa2b3e9147a6751e908451a438dc0  sim/m68hc11/configure.ac
+5612be8e02af3bf837bf725454d50414  sim/m68hc11/config.in
+25db879fe7da456e6a213895ebcc1017  sim/m68hc11/configure.ac
 14ed72051e4b5b9803c0517beb1aed24  sim/m68hc11/gencode.c
 7853b01f72e43b94de154fda7a69b32a  sim/m68hc11/dv-m68hc11spi.c
 6c8285be6bdf0613d9c71b301008d6ae  sim/m68hc11/interp.c
 e5a8df99db1fcac27275a409a57c25e2  sim/m68hc11/interrupts.h
 12a7caba1afbe74da2b95e23b1a09dbd  sim/m68hc11/dv-nvram.c
-faff920760d5dad452ed1e5744af6e30  sim/m68hc11/configure
+ffb0ad065e0dd9b8f5cc698ac2f98b90  sim/m68hc11/configure
 53634a2a138f73733b62d051babe99af  sim/m68hc11/emulos.c
-94500e8b65d9332dee333844d5522a02  sim/m68hc11/aclocal.m4
+4ab55a35c7007d58ee370d38587e6907  sim/m68hc11/aclocal.m4
 73ce3a8da948162f1780168e7a6f5f7f  sim/m68hc11/interrupts.c
 12aa14bdbd4a70e93577fad3b9f30f31  sim/m68hc11/ChangeLog
 0e6ae9af82880dbd8f530eeb32525758  sim/m68hc11/dv-m68hc11eepr.c
@@ -11726,8 +11846,8 @@ d1bbe6608466c1a6feba19b2d341de06  sim/rx
 7d5e495b5764ca73972fc98d78cd77b4  sim/rx/gdb-if.c
 3b040a80ac637d6861404d7a6911da86  sim/rx/err.h
 51e41e6bf27b8c41248d222dd358b33d  sim/rx/cpu.h
-e5be1871e3a45de61271fe246440ab6a  sim/rx/config.in
-7525afacbab2ce4e4019bc8380716375  sim/rx/configure.ac
+e578cd645e2feba9820aad48ab71267d  sim/rx/config.in
+235246b0fe61b4d71af2942bbe1d3823  sim/rx/configure.ac
 a79acad86546bdccae01a6f544abab80  sim/rx/trace.c
 3b7cf0f9a5b66c5dc4fbc312da093bbd  sim/rx/load.h
 9348ebfb9561fe681bf3b1b5cb68156b  sim/rx/misc.c
@@ -11737,8 +11857,8 @@ d64ede94894db11e726d676199c5febe  sim/rx
 bd4d4bba34146a480bfbb1f5b38d8501  sim/rx/fpu.c
 e11bce9c6b8932ec1cd869a334a87d94  sim/rx/err.c
 aa6be5b9268a6a4a6215f91067ab5f27  sim/rx/syscalls.c
-771b1632c15268e7f2a644c0116d3088  sim/rx/configure
-94500e8b65d9332dee333844d5522a02  sim/rx/aclocal.m4
+1d0ae72f0dbc5477def23f0750cdf686  sim/rx/configure
+4ab55a35c7007d58ee370d38587e6907  sim/rx/aclocal.m4
 8218219ab221c420502bdd78e2d68936  sim/rx/syscalls.h
 18700e132dcb3783878697607d53c05a  sim/rx/ChangeLog
 c3f77d186b30cb2dfdfaffb79e129e90  sim/rx/trace.h
@@ -11761,7 +11881,7 @@ e8fab38fb4a6dbb00e48da5106f1cd7c  sim/ig
 12060058f609d8d6f135e566d1ef323d  sim/igen/filter_host.c
 88b8509bbe90498c0ff36348a3f2a7db  sim/igen/ld-decode.h
 290d600da66bd2846e6b8130844f4f38  sim/igen/config.in
-cf3879eb2ab97f84b5d4d569139ce418  sim/igen/configure.ac
+58f95b59f715bd7cc4444543e6a88fc8  sim/igen/configure.ac
 579bdac40640f290bd40281090f0e77a  sim/igen/gen-semantics.h
 60d99c1b39dd233a505ac207f588c8f9  sim/igen/compare_igen_models
 4925efcea5084bae6e5c24e03a5dce36  sim/igen/gen-idecode.c
@@ -11774,7 +11894,7 @@ f4da2375638e3bdd1d4bb75da1eb8509  sim/ig
 3dfe10deaf92eef958b5ad480955093d  sim/igen/gen-engine.c
 9b14b2549d245dcf69fddb58f8a7fb8d  sim/igen/igen.c
 79dfb96944da41656b43b9ae71714ccc  sim/igen/gen-model.h
-2441df1f219d8549e76957057e2c56b6  sim/igen/configure
+a8455f5d2b980e9b3eb45b0724691733  sim/igen/configure
 58b74b4cd0a02c5a3c147041d00997dc  sim/igen/lf.c
 a1c25e3c8d3c24df3fe140ed7dffb8fb  sim/igen/ChangeLog
 81b59ff0c081343fd12932f154ffef9b  sim/igen/gen-itable.c
@@ -11787,7 +11907,7 @@ bd2033ea31ab4540adb7dbfa39e40b5c  sim/ig
 ae5df76d6015f1235c326936947efad5  sim/igen/igen.h
 1857507d292ffb2fbf13e3be180c1dbd  sim/igen/gen-support.c
 f811076f1d8cf340de362f449e7a05ec  sim/igen/lf.h
-0114748016927b4ca3deadc434ded6fd  src-release.sh
+970b0ddef0f2e02a653bb29ca7a6cab1  src-release.sh
 cf2baa0854f564a7785307e79f155efc  symlink-tree
 6ffd0f415aea2960cac41434e6d904bb  texinfo/texinfo.tex
 cb06c1be6a41d68b0a65e0c1a91752bc  ylwrap
@@ -11962,7 +12082,7 @@ b2cc80e48f2aa69be40b6f52ba3480c4  zlib/c
 9fc09497cd386635010c5b665cac77b4  zlib/contrib/testzlib/testzlib.txt
 9e59472f7750d8d727a5cbdf94d8ce2b  zlib/contrib/testzlib/testzlib.c
 381f96b09b247fbe8f4c329a89bd5bd3  zlib/zlib2ansi
-2622aa6308acfa3b6f535e7ab9aa320f  zlib/Makefile.in
+57c1b830cc9b02bd1b29178e3bd21123  zlib/Makefile.in
 f3669099d3f571dbc0426401ed5f50e3  zlib/inffast.h
 65d06f6d5b67a82f5a06c7aee75a67c0  zlib/zconf.h
 29d02cff161bde3e4e717b25a2ab7050  zlib/gzclose.c
@@ -11977,7 +12097,7 @@ d6c05757d17814110c93151ab5c1c910  zlib/e
 2140627edcd840671f03eced0741c520  zlib/examples/gzlog.c
 cba90a61087e9d9c6bbb45a005543468  zlib/examples/gzappend.c
 6ac79bd8913b81b91a5dfbbe372331dc  zlib/examples/enough.c
-0338828e9d00c94645648b1517108324  zlib/zlib.h
+41ed01a8629ee4eaf80dfc6562d9598d  zlib/zlib.h
 f6a102e1a91215f0e249b266053e9956  zlib/watcom/watcom_l.mak
 6f80451b702a08fa8d149161e1d75313  zlib/watcom/watcom_f.mak
 08310c11af1d0076d133415431f659ef  zlib/example.c
@@ -11985,10 +12105,10 @@ f28d16b67efecdfafa0d816a7d982124  zlib/c
 66c6b3953f574eca8b709dd5f6865745  zlib/zconf.h.in
 8e4658ab605826672b98422b973305b6  zlib/zlib.3
 7fa3e91804601b6618c915b76a8dc332  zlib/inffixed.h
-b63e60172ba3a6dcc5a8cc6f990bc039  zlib/configure.ac
+fd4927df770f466186fef280241eb502  zlib/configure.ac
 68c4c1f6c737d307d372130351b123a6  zlib/compress.c
 26a915e4bc7d8d65872c524a4716e51e  zlib/README
-53d23f2ae44cfa10de8d0255c1106b77  zlib/ChangeLog.bin-gdb
+7c843f6103d2f8f539c44d2c4554c803  zlib/ChangeLog.bin-gdb
 8a3caeeacc6135dce18634b7b5da1eac  zlib/uncompr.c
 a018d7e9e40c63ce8e1be3f6fa26e8a7  zlib/treebuild.xml
 18d61f3b741431bbc971340507f413e2  zlib/deflate.c
@@ -12005,7 +12125,7 @@ b917eb81b8d4b72931282aeedc167f83  zlib/o
 c999b14aab6322655059b2f1146fb935  zlib/gzread.c
 041a9be530eca6d4b057404cf1cc9350  zlib/qnx/package.qpg
 0e9a37be8e3b85cc0ccf60504064c297  zlib/ChangeLog.jit
-de472a3069a84c6e6b1eb083c3f91b53  zlib/gzguts.h
+e2dee880a39c7781e9902c5db8f36e10  zlib/gzguts.h
 7c4ee539faa6c908c3860588df424be1  zlib/doc/rfc1952.txt
 c9680de1a6b8939e16fd5e2a4f4785b8  zlib/doc/rfc1950.txt
 63be46f443f80cc9081ed765198d4b8a  zlib/doc/algorithm.txt
@@ -12022,16 +12142,16 @@ ec87be89b9bcca8ced80a70f857e823b  zlib/i
 2c08acd5014596272031fdd1a36d0f1c  zlib/gzlib.c
 004a8c34eba1b805f836a09dd4759f34  zlib/acinclude.m4
 20d7b26f5ae64f4e8501f846beab550c  zlib/inffast.c
-8a4f74369a0ba6d03df80407905f2b3d  zlib/configure
+327be5e24e31be9093fbf5d91376c222  zlib/configure
 2a7a661ce2d463e3876704786fd8dfdd  zlib/msdos/Makefile.msc
 ddcc308923bda1742d6c6638367da0dd  zlib/msdos/Makefile.dj2
 80adf0a73c836697ef02cd8cc19733cd  zlib/msdos/Makefile.bor
 bcd5df6ee3272ea5a3a17feb90ad148d  zlib/msdos/Makefile.emx
 b8ec8ac0dac9fe62dd4934fb4b9f772c  zlib/msdos/Makefile.tc
-272096425396d0f5abe005b611a5d310  zlib/aclocal.m4
+7b64b28d6109d665486b10daa1cc5386  zlib/aclocal.m4
 486dd2758187aaeb071f6a0ad5094fda  zlib/nintendods/README
 7589c1379ed922ffe60a9963c50ffe64  zlib/nintendods/Makefile
-e75032b08771b09f500cd3d2eb67177e  zlib/Makefile.am
+ca15b5ff76e92797696e98b6cdf49d20  zlib/Makefile.am
 9d7ec0d0fe9134c725fc8b688ff673f4  zlib/zlib.pc.cmakein
 a60b56782ba1f108b3c1fa232f95fd1a  zlib/os400/bndsrc
 88375497cf85550425cedb3f1a0a05e8  zlib/os400/zlib.inc
@@ -12045,9 +12165,9 @@ f2a2eb9767175a34b816d7b31de0c6dc  zlib/z
 929d15e7fc86ced153a5b0feae168b4e  zlib/test/minigzip.c
 fb6a1f880ef0e3bca0dd9185e6eb283f  zlib/zutil.c
 a407d2308188e881b49c32d586d0da82  zlib/gzwrite.c
-45b240ee76fa467ad8f2a3f0ad2bd45a  zlib/ChangeLog.gcj
+2effeeacadeab8edd2c3c4ae856f019d  zlib/ChangeLog.gcj
 257272e4cea1c919fe86edcdf5c2dd57  zlib/win32/Makefile.msc
-9ea63abcc97a099dc00876ae13dee279  zlib/win32/zlib.def
+a71eedd908795ef5794f1d4135654415  zlib/win32/zlib.def
 311d9cf5cbf7538b8b8120f13c6c1385  zlib/win32/zlib1.rc
 0b80cb8a4ec18437ea653c67f466cb5b  zlib/win32/README-WIN32.txt
 fc5b8a38022995608b2a04fb7ebd17d7  zlib/win32/Makefile.bor
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-asm-2.c ./opcodes/aarch64-asm-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-asm-2.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aarch64-asm-2.c	2018-07-10 02:06:14.000000000 +0000
@@ -66,8 +66,8 @@ aarch64_find_real_opcode (const aarch64_
     case 22:	/* sub */
       value = 22;	/* --> sub.  */
       break;
-    case 26:	/* negs */
     case 25:	/* cmp */
+    case 26:	/* negs */
     case 24:	/* subs */
       value = 24;	/* --> subs.  */
       break;
@@ -422,155 +422,156 @@ aarch64_find_real_opcode (const aarch64_
     case 1152:	/* movz */
       value = 1152;	/* --> movz.  */
       break;
-    case 1191:	/* autibsp */
-    case 1190:	/* autibz */
-    case 1189:	/* autiasp */
-    case 1188:	/* autiaz */
-    case 1187:	/* pacibsp */
-    case 1186:	/* pacibz */
-    case 1185:	/* paciasp */
-    case 1184:	/* paciaz */
-    case 1171:	/* psb */
-    case 1170:	/* esb */
-    case 1169:	/* autib1716 */
-    case 1168:	/* autia1716 */
-    case 1167:	/* pacib1716 */
-    case 1166:	/* pacia1716 */
-    case 1165:	/* xpaclri */
-    case 1164:	/* sevl */
-    case 1163:	/* sev */
-    case 1162:	/* wfi */
-    case 1161:	/* wfe */
-    case 1160:	/* yield */
+    case 1192:	/* autibsp */
+    case 1191:	/* autibz */
+    case 1190:	/* autiasp */
+    case 1189:	/* autiaz */
+    case 1188:	/* pacibsp */
+    case 1187:	/* pacibz */
+    case 1186:	/* paciasp */
+    case 1185:	/* paciaz */
+    case 1172:	/* psb */
+    case 1171:	/* esb */
+    case 1170:	/* autib1716 */
+    case 1169:	/* autia1716 */
+    case 1168:	/* pacib1716 */
+    case 1167:	/* pacia1716 */
+    case 1166:	/* xpaclri */
+    case 1165:	/* sevl */
+    case 1164:	/* sev */
+    case 1163:	/* wfi */
+    case 1162:	/* wfe */
+    case 1161:	/* yield */
+    case 1160:	/* csdb */
     case 1159:	/* nop */
     case 1158:	/* hint */
       value = 1158;	/* --> hint.  */
       break;
-    case 1180:	/* tlbi */
-    case 1179:	/* ic */
-    case 1178:	/* dc */
-    case 1177:	/* at */
-    case 1176:	/* sys */
-      value = 1176;	/* --> sys.  */
-      break;
-    case 1973:	/* bic */
-    case 1239:	/* and */
-      value = 1239;	/* --> and.  */
-      break;
-    case 1222:	/* mov */
-    case 1241:	/* and */
-      value = 1241;	/* --> and.  */
-      break;
-    case 1226:	/* movs */
-    case 1242:	/* ands */
-      value = 1242;	/* --> ands.  */
+    case 1181:	/* tlbi */
+    case 1180:	/* ic */
+    case 1179:	/* dc */
+    case 1178:	/* at */
+    case 1177:	/* sys */
+      value = 1177;	/* --> sys.  */
+      break;
+    case 1990:	/* bic */
+    case 1240:	/* and */
+      value = 1240;	/* --> and.  */
       break;
-    case 1974:	/* cmple */
-    case 1277:	/* cmpge */
-      value = 1277;	/* --> cmpge.  */
-      break;
-    case 1977:	/* cmplt */
-    case 1280:	/* cmpgt */
-      value = 1280;	/* --> cmpgt.  */
-      break;
-    case 1975:	/* cmplo */
-    case 1282:	/* cmphi */
-      value = 1282;	/* --> cmphi.  */
-      break;
-    case 1976:	/* cmpls */
-    case 1285:	/* cmphs */
-      value = 1285;	/* --> cmphs.  */
+    case 1223:	/* mov */
+    case 1242:	/* and */
+      value = 1242;	/* --> and.  */
       break;
-    case 1219:	/* mov */
-    case 1307:	/* cpy */
-      value = 1307;	/* --> cpy.  */
+    case 1227:	/* movs */
+    case 1243:	/* ands */
+      value = 1243;	/* --> ands.  */
+      break;
+    case 1991:	/* cmple */
+    case 1278:	/* cmpge */
+      value = 1278;	/* --> cmpge.  */
+      break;
+    case 1994:	/* cmplt */
+    case 1281:	/* cmpgt */
+      value = 1281;	/* --> cmpgt.  */
+      break;
+    case 1992:	/* cmplo */
+    case 1283:	/* cmphi */
+      value = 1283;	/* --> cmphi.  */
+      break;
+    case 1993:	/* cmpls */
+    case 1286:	/* cmphs */
+      value = 1286;	/* --> cmphs.  */
       break;
-    case 1221:	/* mov */
+    case 1220:	/* mov */
     case 1308:	/* cpy */
       value = 1308;	/* --> cpy.  */
       break;
-    case 1984:	/* fmov */
-    case 1224:	/* mov */
+    case 1222:	/* mov */
     case 1309:	/* cpy */
       value = 1309;	/* --> cpy.  */
       break;
-    case 1214:	/* mov */
-    case 1321:	/* dup */
-      value = 1321;	/* --> dup.  */
+    case 2001:	/* fmov */
+    case 1225:	/* mov */
+    case 1310:	/* cpy */
+      value = 1310;	/* --> cpy.  */
       break;
-    case 1216:	/* mov */
-    case 1213:	/* mov */
+    case 1215:	/* mov */
     case 1322:	/* dup */
       value = 1322;	/* --> dup.  */
       break;
-    case 1983:	/* fmov */
-    case 1218:	/* mov */
+    case 1217:	/* mov */
+    case 1214:	/* mov */
     case 1323:	/* dup */
       value = 1323;	/* --> dup.  */
       break;
-    case 1217:	/* mov */
-    case 1324:	/* dupm */
-      value = 1324;	/* --> dupm.  */
+    case 2000:	/* fmov */
+    case 1219:	/* mov */
+    case 1324:	/* dup */
+      value = 1324;	/* --> dup.  */
       break;
-    case 1978:	/* eon */
-    case 1326:	/* eor */
-      value = 1326;	/* --> eor.  */
-      break;
-    case 1227:	/* not */
-    case 1328:	/* eor */
-      value = 1328;	/* --> eor.  */
-      break;
-    case 1228:	/* nots */
-    case 1329:	/* eors */
-      value = 1329;	/* --> eors.  */
-      break;
-    case 1979:	/* facle */
-    case 1334:	/* facge */
-      value = 1334;	/* --> facge.  */
-      break;
-    case 1980:	/* faclt */
-    case 1335:	/* facgt */
-      value = 1335;	/* --> facgt.  */
-      break;
-    case 1981:	/* fcmle */
-    case 1348:	/* fcmge */
-      value = 1348;	/* --> fcmge.  */
-      break;
-    case 1982:	/* fcmlt */
-    case 1350:	/* fcmgt */
-      value = 1350;	/* --> fcmgt.  */
+    case 1218:	/* mov */
+    case 1325:	/* dupm */
+      value = 1325;	/* --> dupm.  */
+      break;
+    case 1995:	/* eon */
+    case 1327:	/* eor */
+      value = 1327;	/* --> eor.  */
+      break;
+    case 1228:	/* not */
+    case 1329:	/* eor */
+      value = 1329;	/* --> eor.  */
+      break;
+    case 1229:	/* nots */
+    case 1330:	/* eors */
+      value = 1330;	/* --> eors.  */
+      break;
+    case 1996:	/* facle */
+    case 1335:	/* facge */
+      value = 1335;	/* --> facge.  */
+      break;
+    case 1997:	/* faclt */
+    case 1336:	/* facgt */
+      value = 1336;	/* --> facgt.  */
+      break;
+    case 1998:	/* fcmle */
+    case 1349:	/* fcmge */
+      value = 1349;	/* --> fcmge.  */
+      break;
+    case 1999:	/* fcmlt */
+    case 1351:	/* fcmgt */
+      value = 1351;	/* --> fcmgt.  */
+      break;
+    case 1212:	/* fmov */
+    case 1357:	/* fcpy */
+      value = 1357;	/* --> fcpy.  */
       break;
     case 1211:	/* fmov */
-    case 1356:	/* fcpy */
-      value = 1356;	/* --> fcpy.  */
+    case 1380:	/* fdup */
+      value = 1380;	/* --> fdup.  */
       break;
-    case 1210:	/* fmov */
-    case 1379:	/* fdup */
-      value = 1379;	/* --> fdup.  */
-      break;
-    case 1212:	/* mov */
-    case 1694:	/* orr */
-      value = 1694;	/* --> orr.  */
-      break;
-    case 1985:	/* orn */
-    case 1695:	/* orr */
-      value = 1695;	/* --> orr.  */
+    case 1213:	/* mov */
+    case 1711:	/* orr */
+      value = 1711;	/* --> orr.  */
       break;
-    case 1215:	/* mov */
-    case 1697:	/* orr */
-      value = 1697;	/* --> orr.  */
+    case 2002:	/* orn */
+    case 1712:	/* orr */
+      value = 1712;	/* --> orr.  */
       break;
-    case 1225:	/* movs */
-    case 1698:	/* orrs */
-      value = 1698;	/* --> orrs.  */
+    case 1216:	/* mov */
+    case 1714:	/* orr */
+      value = 1714;	/* --> orr.  */
       break;
-    case 1220:	/* mov */
-    case 1760:	/* sel */
-      value = 1760;	/* --> sel.  */
+    case 1226:	/* movs */
+    case 1715:	/* orrs */
+      value = 1715;	/* --> orrs.  */
       break;
-    case 1223:	/* mov */
-    case 1761:	/* sel */
-      value = 1761;	/* --> sel.  */
+    case 1221:	/* mov */
+    case 1777:	/* sel */
+      value = 1777;	/* --> sel.  */
+      break;
+    case 1224:	/* mov */
+    case 1778:	/* sel */
+      value = 1778;	/* --> sel.  */
       break;
     default: return NULL;
     }
@@ -578,10 +579,11 @@ aarch64_find_real_opcode (const aarch64_
   return aarch64_opcode_table + value;
 }
 
-const char*
+bfd_boolean
 aarch64_insert_operand (const aarch64_operand *self,
 			   const aarch64_opnd_info *info,
-			   aarch64_insn *code, const aarch64_inst *inst)
+			   aarch64_insn *code, const aarch64_inst *inst,
+			   aarch64_operand_error *errors)
 {
   /* Use the index as the key.  */
   int key = self - aarch64_operands;
@@ -612,8 +614,6 @@ aarch64_insert_operand (const aarch64_op
     case 27:
     case 28:
     case 29:
-    case 151:
-    case 152:
     case 153:
     case 154:
     case 155:
@@ -622,8 +622,8 @@ aarch64_insert_operand (const aarch64_op
     case 158:
     case 159:
     case 160:
-    case 173:
-    case 174:
+    case 161:
+    case 162:
     case 175:
     case 176:
     case 177:
@@ -631,33 +631,35 @@ aarch64_insert_operand (const aarch64_op
     case 179:
     case 180:
     case 181:
-    case 185:
-    case 188:
-      return aarch64_ins_regno (self, info, code, inst);
+    case 182:
+    case 183:
+    case 187:
+    case 190:
+      return aarch64_ins_regno (self, info, code, inst, errors);
     case 13:
-      return aarch64_ins_reg_extended (self, info, code, inst);
+      return aarch64_ins_reg_extended (self, info, code, inst, errors);
     case 14:
-      return aarch64_ins_reg_shifted (self, info, code, inst);
+      return aarch64_ins_reg_shifted (self, info, code, inst, errors);
     case 19:
-      return aarch64_ins_ft (self, info, code, inst);
+      return aarch64_ins_ft (self, info, code, inst, errors);
     case 30:
     case 31:
     case 32:
-    case 190:
-      return aarch64_ins_reglane (self, info, code, inst);
     case 33:
-      return aarch64_ins_reglist (self, info, code, inst);
+    case 192:
+      return aarch64_ins_reglane (self, info, code, inst, errors);
     case 34:
-      return aarch64_ins_ldst_reglist (self, info, code, inst);
+      return aarch64_ins_reglist (self, info, code, inst, errors);
     case 35:
-      return aarch64_ins_ldst_reglist_r (self, info, code, inst);
+      return aarch64_ins_ldst_reglist (self, info, code, inst, errors);
     case 36:
-      return aarch64_ins_ldst_elemlist (self, info, code, inst);
+      return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors);
     case 37:
+      return aarch64_ins_ldst_elemlist (self, info, code, inst, errors);
     case 38:
     case 39:
     case 40:
-    case 50:
+    case 41:
     case 51:
     case 52:
     case 53:
@@ -671,100 +673,100 @@ aarch64_insert_operand (const aarch64_op
     case 61:
     case 62:
     case 63:
-    case 75:
+    case 64:
     case 76:
     case 77:
     case 78:
-    case 148:
+    case 79:
     case 150:
-    case 165:
-    case 166:
+    case 152:
     case 167:
     case 168:
     case 169:
     case 170:
     case 171:
     case 172:
-      return aarch64_ins_imm (self, info, code, inst);
-    case 41:
+    case 173:
+    case 174:
+      return aarch64_ins_imm (self, info, code, inst, errors);
     case 42:
-      return aarch64_ins_advsimd_imm_shift (self, info, code, inst);
     case 43:
+      return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors);
     case 44:
     case 45:
-      return aarch64_ins_advsimd_imm_modified (self, info, code, inst);
-    case 49:
-    case 139:
-      return aarch64_ins_fpimm (self, info, code, inst);
-    case 64:
-    case 146:
-      return aarch64_ins_limm (self, info, code, inst);
+    case 46:
+      return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors);
+    case 50:
+    case 141:
+      return aarch64_ins_fpimm (self, info, code, inst, errors);
     case 65:
-      return aarch64_ins_aimm (self, info, code, inst);
+    case 148:
+      return aarch64_ins_limm (self, info, code, inst, errors);
     case 66:
-      return aarch64_ins_imm_half (self, info, code, inst);
+      return aarch64_ins_aimm (self, info, code, inst, errors);
     case 67:
-      return aarch64_ins_fbits (self, info, code, inst);
-    case 69:
+      return aarch64_ins_imm_half (self, info, code, inst, errors);
+    case 68:
+      return aarch64_ins_fbits (self, info, code, inst, errors);
     case 70:
-    case 144:
-      return aarch64_ins_imm_rotate2 (self, info, code, inst);
     case 71:
-    case 143:
-      return aarch64_ins_imm_rotate1 (self, info, code, inst);
+    case 146:
+      return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
     case 72:
+    case 145:
+      return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
     case 73:
-      return aarch64_ins_cond (self, info, code, inst);
-    case 79:
-    case 86:
-      return aarch64_ins_addr_simple (self, info, code, inst);
+    case 74:
+      return aarch64_ins_cond (self, info, code, inst, errors);
     case 80:
-      return aarch64_ins_addr_regoff (self, info, code, inst);
+    case 87:
+      return aarch64_ins_addr_simple (self, info, code, inst, errors);
     case 81:
+      return aarch64_ins_addr_regoff (self, info, code, inst, errors);
     case 82:
     case 83:
-      return aarch64_ins_addr_simm (self, info, code, inst);
     case 84:
-      return aarch64_ins_addr_simm10 (self, info, code, inst);
+      return aarch64_ins_addr_simm (self, info, code, inst, errors);
     case 85:
-      return aarch64_ins_addr_uimm12 (self, info, code, inst);
-    case 87:
-      return aarch64_ins_addr_offset (self, info, code, inst);
+      return aarch64_ins_addr_simm10 (self, info, code, inst, errors);
+    case 86:
+      return aarch64_ins_addr_uimm12 (self, info, code, inst, errors);
     case 88:
-      return aarch64_ins_simd_addr_post (self, info, code, inst);
+      return aarch64_ins_addr_offset (self, info, code, inst, errors);
     case 89:
-      return aarch64_ins_sysreg (self, info, code, inst);
+      return aarch64_ins_simd_addr_post (self, info, code, inst, errors);
     case 90:
-      return aarch64_ins_pstatefield (self, info, code, inst);
+      return aarch64_ins_sysreg (self, info, code, inst, errors);
     case 91:
+      return aarch64_ins_pstatefield (self, info, code, inst, errors);
     case 92:
     case 93:
     case 94:
-      return aarch64_ins_sysins_op (self, info, code, inst);
     case 95:
+      return aarch64_ins_sysins_op (self, info, code, inst, errors);
     case 96:
-      return aarch64_ins_barrier (self, info, code, inst);
     case 97:
-      return aarch64_ins_prfop (self, info, code, inst);
+      return aarch64_ins_barrier (self, info, code, inst, errors);
     case 98:
-      return aarch64_ins_hint (self, info, code, inst);
+      return aarch64_ins_prfop (self, info, code, inst, errors);
     case 99:
-      return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst);
+      return aarch64_ins_hint (self, info, code, inst, errors);
     case 100:
+      return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
     case 101:
     case 102:
     case 103:
-      return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst);
     case 104:
-      return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst);
+      return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
     case 105:
-      return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst);
+      return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors);
     case 106:
+      return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
     case 107:
     case 108:
     case 109:
-      return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst);
     case 110:
+      return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
     case 111:
     case 112:
     case 113:
@@ -776,58 +778,60 @@ aarch64_insert_operand (const aarch64_op
     case 119:
     case 120:
     case 121:
-      return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst);
     case 122:
     case 123:
+      return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
     case 124:
     case 125:
     case 126:
     case 127:
     case 128:
     case 129:
-      return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst);
     case 130:
     case 131:
+      return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
     case 132:
     case 133:
-      return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst);
     case 134:
-      return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst);
     case 135:
-      return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst);
+      return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
     case 136:
-      return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst);
+      return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors);
     case 137:
-      return aarch64_ins_sve_aimm (self, info, code, inst);
+      return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors);
     case 138:
-      return aarch64_ins_sve_asimm (self, info, code, inst);
+      return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
+    case 139:
+      return aarch64_ins_sve_aimm (self, info, code, inst, errors);
     case 140:
-      return aarch64_ins_sve_float_half_one (self, info, code, inst);
-    case 141:
-      return aarch64_ins_sve_float_half_two (self, info, code, inst);
+      return aarch64_ins_sve_asimm (self, info, code, inst, errors);
     case 142:
-      return aarch64_ins_sve_float_zero_one (self, info, code, inst);
-    case 145:
-      return aarch64_ins_inv_limm (self, info, code, inst);
+      return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
+    case 143:
+      return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
+    case 144:
+      return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors);
     case 147:
-      return aarch64_ins_sve_limm_mov (self, info, code, inst);
+      return aarch64_ins_inv_limm (self, info, code, inst, errors);
     case 149:
-      return aarch64_ins_sve_scale (self, info, code, inst);
-    case 161:
-    case 162:
-      return aarch64_ins_sve_shlimm (self, info, code, inst);
+      return aarch64_ins_sve_limm_mov (self, info, code, inst, errors);
+    case 151:
+      return aarch64_ins_sve_scale (self, info, code, inst, errors);
     case 163:
     case 164:
-      return aarch64_ins_sve_shrimm (self, info, code, inst);
-    case 182:
-    case 183:
+      return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
+    case 165:
+    case 166:
+      return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
     case 184:
-      return aarch64_ins_sve_quad_index (self, info, code, inst);
+    case 185:
     case 186:
-      return aarch64_ins_sve_index (self, info, code, inst);
-    case 187:
+      return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
+    case 188:
+      return aarch64_ins_sve_index (self, info, code, inst, errors);
     case 189:
-      return aarch64_ins_sve_reglist (self, info, code, inst);
+    case 191:
+      return aarch64_ins_sve_reglist (self, info, code, inst, errors);
     default: assert (0); abort ();
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-asm.c ./opcodes/aarch64-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aarch64-asm.c	2018-07-10 02:06:14.000000000 +0000
@@ -22,6 +22,7 @@
 #include <stdarg.h>
 #include "libiberty.h"
 #include "aarch64-asm.h"
+#include "opintl.h"
 
 /* Utilities.  */
 
@@ -78,21 +79,23 @@ insert_all_fields (const aarch64_operand
 /* Operand inserters.  */
 
 /* Insert register number.  */
-const char *
+bfd_boolean
 aarch64_ins_regno (const aarch64_operand *self, const aarch64_opnd_info *info,
 		   aarch64_insn *code,
-		   const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		   const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		   aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   insert_field (self->fields[0], code, info->reg.regno, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Insert register number, index and/or other data for SIMD register element
    operand, e.g. the last source operand in
      SQDMLAL <Va><d>, <Vb><n>, <Vm>.<Ts>[<index>].  */
-const char *
+bfd_boolean
 aarch64_ins_reglane (const aarch64_operand *self, const aarch64_opnd_info *info,
-		     aarch64_insn *code, const aarch64_inst *inst)
+		     aarch64_insn *code, const aarch64_inst *inst,
+		     aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* regno */
   insert_field (self->fields[0], code, info->reglane.regno, inst->opcode->mask);
@@ -173,28 +176,30 @@ aarch64_ins_reglane (const aarch64_opera
 	  assert (0);
 	}
     }
-  return NULL;
+  return TRUE;
 }
 
 /* Insert regno and len field of a register list operand, e.g. Vn in TBL.  */
-const char *
+bfd_boolean
 aarch64_ins_reglist (const aarch64_operand *self, const aarch64_opnd_info *info,
 		     aarch64_insn *code,
-		     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		     const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		     aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* R */
   insert_field (self->fields[0], code, info->reglist.first_regno, 0);
   /* len */
   insert_field (FLD_len, code, info->reglist.num_regs - 1, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Insert Rt and opcode fields for a register list operand, e.g. Vt
    in AdvSIMD load/store instructions.  */
-const char *
+bfd_boolean
 aarch64_ins_ldst_reglist (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			  const aarch64_opnd_info *info, aarch64_insn *code,
-			  const aarch64_inst *inst)
+			  const aarch64_inst *inst,
+			  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn value = 0;
   /* Number of elements in each structure to be loaded/stored.  */
@@ -229,15 +234,16 @@ aarch64_ins_ldst_reglist (const aarch64_
     }
   insert_field (FLD_opcode, code, value, 0);
 
-  return NULL;
+  return TRUE;
 }
 
 /* Insert Rt and S fields for a register list operand, e.g. Vt in AdvSIMD load
    single structure to all lanes instructions.  */
-const char *
+bfd_boolean
 aarch64_ins_ldst_reglist_r (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			    const aarch64_opnd_info *info, aarch64_insn *code,
-			    const aarch64_inst *inst)
+			    const aarch64_inst *inst,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn value;
   /* The opcode dependent area stores the number of elements in
@@ -254,15 +260,16 @@ aarch64_ins_ldst_reglist_r (const aarch6
     value = (aarch64_insn) 1;
   insert_field (FLD_S, code, value, 0);
 
-  return NULL;
+  return TRUE;
 }
 
 /* Insert Q, opcode<2:1>, S, size and Rt fields for a register element list
    operand e.g. Vt in AdvSIMD load/store single element instructions.  */
-const char *
+bfd_boolean
 aarch64_ins_ldst_elemlist (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			   const aarch64_opnd_info *info, aarch64_insn *code,
-			   const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			   const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			   aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_field field = {0, 0};
   aarch64_insn QSsize = 0;	/* fields Q:S:size.  */
@@ -302,16 +309,17 @@ aarch64_ins_ldst_elemlist (const aarch64
   gen_sub_field (FLD_asisdlso_opcode, 1, 2, &field);
   insert_field_2 (&field, code, opcodeh2, 0);
 
-  return NULL;
+  return TRUE;
 }
 
 /* Insert fields immh:immb and/or Q for e.g. the shift immediate in
    SSHR <Vd>.<T>, <Vn>.<T>, #<shift>
    or SSHR <V><d>, <V><n>, #<shift>.  */
-const char *
+bfd_boolean
 aarch64_ins_advsimd_imm_shift (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			       const aarch64_opnd_info *info,
-			       aarch64_insn *code, const aarch64_inst *inst)
+			       aarch64_insn *code, const aarch64_inst *inst,
+			       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   unsigned val = aarch64_get_qualifier_standard_value (info->qualifier);
   aarch64_insn Q, imm;
@@ -357,15 +365,16 @@ aarch64_ins_advsimd_imm_shift (const aar
     imm = info->imm.value + (8 << (unsigned)val);
   insert_fields (code, imm, 0, 2, FLD_immb, FLD_immh);
 
-  return NULL;
+  return TRUE;
 }
 
 /* Insert fields for e.g. the immediate operands in
    BFM <Wd>, <Wn>, #<immr>, #<imms>.  */
-const char *
+bfd_boolean
 aarch64_ins_imm (const aarch64_operand *self, const aarch64_opnd_info *info,
 		 aarch64_insn *code,
-		 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int64_t imm;
 
@@ -373,29 +382,32 @@ aarch64_ins_imm (const aarch64_operand *
   if (operand_need_shift_by_two (self))
     imm >>= 2;
   insert_all_fields (self, code, imm);
-  return NULL;
+  return TRUE;
 }
 
 /* Insert immediate and its shift amount for e.g. the last operand in
      MOVZ <Wd>, #<imm16>{, LSL #<shift>}.  */
-const char *
+bfd_boolean
 aarch64_ins_imm_half (const aarch64_operand *self, const aarch64_opnd_info *info,
-		      aarch64_insn *code, const aarch64_inst *inst)
+		      aarch64_insn *code, const aarch64_inst *inst,
+		      aarch64_operand_error *errors)
 {
   /* imm16 */
-  aarch64_ins_imm (self, info, code, inst);
+  aarch64_ins_imm (self, info, code, inst, errors);
   /* hw */
   insert_field (FLD_hw, code, info->shifter.amount >> 4, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Insert cmode and "a:b:c:d:e:f:g:h" fields for e.g. the last operand in
      MOVI <Vd>.<T>, #<imm8> {, LSL #<amount>}.  */
-const char *
+bfd_boolean
 aarch64_ins_advsimd_imm_modified (const aarch64_operand *self ATTRIBUTE_UNUSED,
 				  const aarch64_opnd_info *info,
 				  aarch64_insn *code,
-				  const aarch64_inst *inst ATTRIBUTE_UNUSED)
+				  const aarch64_inst *inst ATTRIBUTE_UNUSED,
+				  aarch64_operand_error *errors
+					ATTRIBUTE_UNUSED)
 {
   enum aarch64_opnd_qualifier opnd0_qualifier = inst->operands[0].qualifier;
   uint64_t imm = info->imm.value;
@@ -417,7 +429,7 @@ aarch64_ins_advsimd_imm_modified (const 
   insert_fields (code, imm, 0, 2, FLD_defgh, FLD_abc);
 
   if (kind == AARCH64_MOD_NONE)
-    return NULL;
+    return TRUE;
 
   /* shift amount partially in cmode */
   assert (kind == AARCH64_MOD_LSL || kind == AARCH64_MOD_MSL);
@@ -429,7 +441,7 @@ aarch64_ins_advsimd_imm_modified (const 
       /* For 8-bit move immediate, the optional LSL #0 does not require
 	 encoding.  */
       if (esize == 1)
-	return NULL;
+	return TRUE;
       amount >>= 3;
       if (esize == 4)
 	gen_sub_field (FLD_cmode, 1, 2, &field);	/* per word */
@@ -444,74 +456,80 @@ aarch64_ins_advsimd_imm_modified (const 
     }
   insert_field_2 (&field, code, amount, 0);
 
-  return NULL;
+  return TRUE;
 }
 
 /* Insert fields for an 8-bit floating-point immediate.  */
-const char *
+bfd_boolean
 aarch64_ins_fpimm (const aarch64_operand *self, const aarch64_opnd_info *info,
 		   aarch64_insn *code,
-		   const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		   const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		   aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   insert_all_fields (self, code, info->imm.value);
-  return NULL;
+  return TRUE;
 }
 
 /* Insert 1-bit rotation immediate (#90 or #270).  */
-const char *
+bfd_boolean
 aarch64_ins_imm_rotate1 (const aarch64_operand *self,
 			 const aarch64_opnd_info *info,
-			 aarch64_insn *code, const aarch64_inst *inst)
+			 aarch64_insn *code, const aarch64_inst *inst,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   uint64_t rot = (info->imm.value - 90) / 180;
   assert (rot < 2U);
   insert_field (self->fields[0], code, rot, inst->opcode->mask);
-  return NULL;
+  return TRUE;
 }
 
 /* Insert 2-bit rotation immediate (#0, #90, #180 or #270).  */
-const char *
+bfd_boolean
 aarch64_ins_imm_rotate2 (const aarch64_operand *self,
 			 const aarch64_opnd_info *info,
-			 aarch64_insn *code, const aarch64_inst *inst)
+			 aarch64_insn *code, const aarch64_inst *inst,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   uint64_t rot = info->imm.value / 90;
   assert (rot < 4U);
   insert_field (self->fields[0], code, rot, inst->opcode->mask);
-  return NULL;
+  return TRUE;
 }
 
 /* Insert #<fbits> for the immediate operand in fp fix-point instructions,
    e.g.  SCVTF <Dd>, <Wn>, #<fbits>.  */
-const char *
+bfd_boolean
 aarch64_ins_fbits (const aarch64_operand *self, const aarch64_opnd_info *info,
 		   aarch64_insn *code,
-		   const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		   const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		   aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   insert_field (self->fields[0], code, 64 - info->imm.value, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Insert arithmetic immediate for e.g. the last operand in
      SUBS <Wd>, <Wn|WSP>, #<imm> {, <shift>}.  */
-const char *
+bfd_boolean
 aarch64_ins_aimm (const aarch64_operand *self, const aarch64_opnd_info *info,
-		  aarch64_insn *code, const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		  aarch64_insn *code, const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* shift */
   aarch64_insn value = info->shifter.amount ? 1 : 0;
   insert_field (self->fields[0], code, value, 0);
   /* imm12 (unsigned) */
   insert_field (self->fields[1], code, info->imm.value, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Common routine shared by aarch64_ins{,_inv}_limm.  INVERT_P says whether
    the operand should be inverted before encoding.  */
-static const char *
+static bfd_boolean
 aarch64_ins_limm_1 (const aarch64_operand *self,
 		    const aarch64_opnd_info *info, aarch64_insn *code,
-		    const aarch64_inst *inst, bfd_boolean invert_p)
+		    const aarch64_inst *inst, bfd_boolean invert_p,
+		    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn value;
   uint64_t imm = info->imm.value;
@@ -524,40 +542,43 @@ aarch64_ins_limm_1 (const aarch64_operan
 
   insert_fields (code, value, 0, 3, self->fields[2], self->fields[1],
 		 self->fields[0]);
-  return NULL;
+  return TRUE;
 }
 
 /* Insert logical/bitmask immediate for e.g. the last operand in
      ORR <Wd|WSP>, <Wn>, #<imm>.  */
-const char *
+bfd_boolean
 aarch64_ins_limm (const aarch64_operand *self, const aarch64_opnd_info *info,
-		  aarch64_insn *code, const aarch64_inst *inst)
+		  aarch64_insn *code, const aarch64_inst *inst,
+		  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   return aarch64_ins_limm_1 (self, info, code, inst,
-			     inst->opcode->op == OP_BIC);
+			     inst->opcode->op == OP_BIC, errors);
 }
 
 /* Insert a logical/bitmask immediate for the BIC alias of AND (etc.).  */
-const char *
+bfd_boolean
 aarch64_ins_inv_limm (const aarch64_operand *self,
 		      const aarch64_opnd_info *info, aarch64_insn *code,
-		      const aarch64_inst *inst)
+		      const aarch64_inst *inst,
+		      aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
-  return aarch64_ins_limm_1 (self, info, code, inst, TRUE);
+  return aarch64_ins_limm_1 (self, info, code, inst, TRUE, errors);
 }
 
 /* Encode Ft for e.g. STR <Qt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}]
    or LDP <Qt1>, <Qt2>, [<Xn|SP>], #<imm>.  */
-const char *
+bfd_boolean
 aarch64_ins_ft (const aarch64_operand *self, const aarch64_opnd_info *info,
-		aarch64_insn *code, const aarch64_inst *inst)
+		aarch64_insn *code, const aarch64_inst *inst,
+		aarch64_operand_error *errors)
 {
   aarch64_insn value = 0;
 
   assert (info->idx == 0);
 
   /* Rt */
-  aarch64_ins_regno (self, info, code, inst);
+  aarch64_ins_regno (self, info, code, inst, errors);
   if (inst->opcode->iclass == ldstpair_indexed
       || inst->opcode->iclass == ldstnapair_offs
       || inst->opcode->iclass == ldstpair_off
@@ -580,26 +601,28 @@ aarch64_ins_ft (const aarch64_operand *s
       insert_fields (code, value, 0, 2, FLD_ldst_size, FLD_opc1);
     }
 
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the address operand for e.g. STXRB <Ws>, <Wt>, [<Xn|SP>{,#0}].  */
-const char *
+bfd_boolean
 aarch64_ins_addr_simple (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			 const aarch64_opnd_info *info, aarch64_insn *code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* Rn */
   insert_field (FLD_Rn, code, info->addr.base_regno, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the address operand for e.g.
      STR <Qt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
-const char *
+bfd_boolean
 aarch64_ins_addr_regoff (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			 const aarch64_opnd_info *info, aarch64_insn *code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn S;
   enum aarch64_modifier_kind kind = info->shifter.kind;
@@ -624,15 +647,16 @@ aarch64_ins_addr_regoff (const aarch64_o
     S = info->shifter.operator_present && info->shifter.amount_present;
   insert_field (FLD_S, code, S, 0);
 
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the address operand for e.g.
      stlur <Xt>, [<Xn|SP>{, <amount>}].  */
-const char *
+bfd_boolean
 aarch64_ins_addr_offset (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			 const aarch64_opnd_info *info, aarch64_insn *code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* Rn */
   insert_field (self->fields[0], code, info->addr.base_regno, 0);
@@ -647,15 +671,16 @@ aarch64_ins_addr_offset (const aarch64_o
       assert (info->addr.preind == 1 && info->addr.postind == 0);
       insert_field (self->fields[2], code, 1, 0);
     }
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the address operand for e.g. LDRSW <Xt>, [<Xn|SP>, #<simm>]!.  */
-const char *
+bfd_boolean
 aarch64_ins_addr_simm (const aarch64_operand *self,
 		       const aarch64_opnd_info *info,
 		       aarch64_insn *code,
-		       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int imm;
 
@@ -679,15 +704,16 @@ aarch64_ins_addr_simm (const aarch64_ope
 	insert_field (self->fields[1], code, 1, 0);
     }
 
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the address operand for e.g. LDRAA <Xt>, [<Xn|SP>{, #<simm>}].  */
-const char *
+bfd_boolean
 aarch64_ins_addr_simm10 (const aarch64_operand *self,
 			 const aarch64_opnd_info *info,
 			 aarch64_insn *code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int imm;
 
@@ -703,15 +729,16 @@ aarch64_ins_addr_simm10 (const aarch64_o
       assert (info->addr.preind == 1 && info->addr.postind == 0);
       insert_field (self->fields[3], code, 1, 0);
     }
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the address operand for e.g. LDRSW <Xt>, [<Xn|SP>{, #<pimm>}].  */
-const char *
+bfd_boolean
 aarch64_ins_addr_uimm12 (const aarch64_operand *self,
 			 const aarch64_opnd_info *info,
 			 aarch64_insn *code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int shift = get_logsz (aarch64_get_qualifier_esize (info->qualifier));
 
@@ -719,15 +746,16 @@ aarch64_ins_addr_uimm12 (const aarch64_o
   insert_field (self->fields[0], code, info->addr.base_regno, 0);
   /* uimm12 */
   insert_field (self->fields[1], code,info->addr.offset.imm >> shift, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the address operand for e.g.
      LD1 {<Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>}, [<Xn|SP>], <Xm|#<amount>>.  */
-const char *
+bfd_boolean
 aarch64_ins_simd_addr_post (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			    const aarch64_opnd_info *info, aarch64_insn *code,
-			    const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			    const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* Rn */
   insert_field (FLD_Rn, code, info->addr.base_regno, 0);
@@ -736,100 +764,138 @@ aarch64_ins_simd_addr_post (const aarch6
     insert_field (FLD_Rm, code, info->addr.offset.regno, 0);
   else
     insert_field (FLD_Rm, code, 0x1f, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the condition operand for e.g. CSEL <Xd>, <Xn>, <Xm>, <cond>.  */
-const char *
+bfd_boolean
 aarch64_ins_cond (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		  const aarch64_opnd_info *info, aarch64_insn *code,
-		  const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		  const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* cond */
   insert_field (FLD_cond, code, info->cond->value, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the system register operand for e.g. MRS <Xt>, <systemreg>.  */
-const char *
+bfd_boolean
 aarch64_ins_sysreg (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		    const aarch64_opnd_info *info, aarch64_insn *code,
-		    const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		    const aarch64_inst *inst,
+		    aarch64_operand_error *detail ATTRIBUTE_UNUSED)
 {
+   /* If a system instruction check if we have any restrictions on which
+      registers it can use.  */
+   if (inst->opcode->iclass == ic_system)
+     {
+        uint64_t opcode_flags
+	  = inst->opcode->flags & (F_SYS_READ | F_SYS_WRITE);
+	uint32_t sysreg_flags
+	  = info->sysreg.flags & (F_REG_READ | F_REG_WRITE);
+
+        /* Check to see if it's read-only, else check if it's write only.
+	   if it's both or unspecified don't care.  */
+	if (opcode_flags == F_SYS_READ
+	    && sysreg_flags
+	    && sysreg_flags != F_REG_READ)
+	  {
+		detail->kind = AARCH64_OPDE_SYNTAX_ERROR;
+		detail->error = _("specified register cannot be read from");
+		detail->index = info->idx;
+		detail->non_fatal = TRUE;
+	  }
+	else if (opcode_flags == F_SYS_WRITE
+		 && sysreg_flags
+		 && sysreg_flags != F_REG_WRITE)
+	  {
+		detail->kind = AARCH64_OPDE_SYNTAX_ERROR;
+		detail->error = _("specified register cannot be written to");
+		detail->index = info->idx;
+		detail->non_fatal = TRUE;
+	  }
+     }
   /* op0:op1:CRn:CRm:op2 */
-  insert_fields (code, info->sysreg, inst->opcode->mask, 5,
+  insert_fields (code, info->sysreg.value, inst->opcode->mask, 5,
 		 FLD_op2, FLD_CRm, FLD_CRn, FLD_op1, FLD_op0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the PSTATE field operand for e.g. MSR <pstatefield>, #<imm>.  */
-const char *
+bfd_boolean
 aarch64_ins_pstatefield (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			 const aarch64_opnd_info *info, aarch64_insn *code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* op1:op2 */
   insert_fields (code, info->pstatefield, inst->opcode->mask, 2,
 		 FLD_op2, FLD_op1);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the system instruction op operand for e.g. AT <at_op>, <Xt>.  */
-const char *
+bfd_boolean
 aarch64_ins_sysins_op (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		       const aarch64_opnd_info *info, aarch64_insn *code,
-		       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* op1:CRn:CRm:op2 */
   insert_fields (code, info->sysins_op->value, inst->opcode->mask, 4,
 		 FLD_op2, FLD_CRm, FLD_CRn, FLD_op1);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the memory barrier option operand for e.g. DMB <option>|#<imm>.  */
 
-const char *
+bfd_boolean
 aarch64_ins_barrier (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		     const aarch64_opnd_info *info, aarch64_insn *code,
-		     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		     const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		     aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* CRm */
   insert_field (FLD_CRm, code, info->barrier->value, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the prefetch operation option operand for e.g.
      PRFM <prfop>, [<Xn|SP>{, #<pimm>}].  */
 
-const char *
+bfd_boolean
 aarch64_ins_prfop (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		   const aarch64_opnd_info *info, aarch64_insn *code,
-		   const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		   const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		   aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* prfop in Rt */
   insert_field (FLD_Rt, code, info->prfop->value, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the hint number for instructions that alias HINT but take an
    operand.  */
 
-const char *
+bfd_boolean
 aarch64_ins_hint (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		  const aarch64_opnd_info *info, aarch64_insn *code,
-		  const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		  const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* CRm:op2.  */
   insert_fields (code, info->hint_option->value, 0, 2, FLD_op2, FLD_CRm);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the extended register operand for e.g.
      STR <Qt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
-const char *
+bfd_boolean
 aarch64_ins_reg_extended (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			  const aarch64_opnd_info *info, aarch64_insn *code,
-			  const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			  const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   enum aarch64_modifier_kind kind;
 
@@ -844,15 +910,16 @@ aarch64_ins_reg_extended (const aarch64_
   /* imm3 */
   insert_field (FLD_imm3, code, info->shifter.amount, 0);
 
-  return NULL;
+  return TRUE;
 }
 
 /* Encode the shifted register operand for e.g.
      SUBS <Xd>, <Xn>, <Xm> {, <shift> #<amount>}.  */
-const char *
+bfd_boolean
 aarch64_ins_reg_shifted (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			 const aarch64_opnd_info *info, aarch64_insn *code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* Rm */
   insert_field (FLD_Rm, code, info->reg.regno, 0);
@@ -862,39 +929,41 @@ aarch64_ins_reg_shifted (const aarch64_o
   /* imm6 */
   insert_field (FLD_imm6, code, info->shifter.amount, 0);
 
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE address [<base>, #<simm4>*<factor>, MUL VL],
    where <simm4> is a 4-bit signed value and where <factor> is 1 plus
    SELF's operand-dependent value.  fields[0] specifies the field that
    holds <base>.  <simm4> is encoded in the SVE_imm4 field.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_addr_ri_s4xvl (const aarch64_operand *self,
 			       const aarch64_opnd_info *info,
 			       aarch64_insn *code,
-			       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int factor = 1 + get_operand_specific_data (self);
   insert_field (self->fields[0], code, info->addr.base_regno, 0);
   insert_field (FLD_SVE_imm4, code, info->addr.offset.imm / factor, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE address [<base>, #<simm6>*<factor>, MUL VL],
    where <simm6> is a 6-bit signed value and where <factor> is 1 plus
    SELF's operand-dependent value.  fields[0] specifies the field that
    holds <base>.  <simm6> is encoded in the SVE_imm6 field.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_addr_ri_s6xvl (const aarch64_operand *self,
 			       const aarch64_opnd_info *info,
 			       aarch64_insn *code,
-			       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int factor = 1 + get_operand_specific_data (self);
   insert_field (self->fields[0], code, info->addr.base_regno, 0);
   insert_field (FLD_SVE_imm6, code, info->addr.offset.imm / factor, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE address [<base>, #<simm9>*<factor>, MUL VL],
@@ -902,68 +971,73 @@ aarch64_ins_sve_addr_ri_s6xvl (const aar
    SELF's operand-dependent value.  fields[0] specifies the field that
    holds <base>.  <simm9> is encoded in the concatenation of the SVE_imm6
    and imm3 fields, with imm3 being the less-significant part.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_addr_ri_s9xvl (const aarch64_operand *self,
 			       const aarch64_opnd_info *info,
 			       aarch64_insn *code,
-			       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int factor = 1 + get_operand_specific_data (self);
   insert_field (self->fields[0], code, info->addr.base_regno, 0);
   insert_fields (code, info->addr.offset.imm / factor, 0,
 		 2, FLD_imm3, FLD_SVE_imm6);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE address [X<n>, #<SVE_imm4> << <shift>], where <SVE_imm4>
    is a 4-bit signed number and where <shift> is SELF's operand-dependent
    value.  fields[0] specifies the base register field.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_addr_ri_s4 (const aarch64_operand *self,
 			    const aarch64_opnd_info *info, aarch64_insn *code,
-			    const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			    const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int factor = 1 << get_operand_specific_data (self);
   insert_field (self->fields[0], code, info->addr.base_regno, 0);
   insert_field (FLD_SVE_imm4, code, info->addr.offset.imm / factor, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE address [X<n>, #<SVE_imm6> << <shift>], where <SVE_imm6>
    is a 6-bit unsigned number and where <shift> is SELF's operand-dependent
    value.  fields[0] specifies the base register field.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_addr_ri_u6 (const aarch64_operand *self,
 			    const aarch64_opnd_info *info, aarch64_insn *code,
-			    const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			    const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int factor = 1 << get_operand_specific_data (self);
   insert_field (self->fields[0], code, info->addr.base_regno, 0);
   insert_field (FLD_SVE_imm6, code, info->addr.offset.imm / factor, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE address [X<n>, X<m>{, LSL #<shift>}], where <shift>
    is SELF's operand-dependent value.  fields[0] specifies the base
    register field and fields[1] specifies the offset register field.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_addr_rr_lsl (const aarch64_operand *self,
 			     const aarch64_opnd_info *info, aarch64_insn *code,
-			     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			     const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			     aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   insert_field (self->fields[0], code, info->addr.base_regno, 0);
   insert_field (self->fields[1], code, info->addr.offset.regno, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE address [X<n>, Z<m>.<T>, (S|U)XTW {#<shift>}], where
    <shift> is SELF's operand-dependent value.  fields[0] specifies the
    base register field, fields[1] specifies the offset register field and
    fields[2] is a single-bit field that selects SXTW over UXTW.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_addr_rz_xtw (const aarch64_operand *self,
 			     const aarch64_opnd_info *info, aarch64_insn *code,
-			     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			     const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			     aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   insert_field (self->fields[0], code, info->addr.base_regno, 0);
   insert_field (self->fields[1], code, info->addr.offset.regno, 0);
@@ -971,77 +1045,83 @@ aarch64_ins_sve_addr_rz_xtw (const aarch
     insert_field (self->fields[2], code, 0, 0);
   else
     insert_field (self->fields[2], code, 1, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE address [Z<n>.<T>, #<imm5> << <shift>], where <imm5> is a
    5-bit unsigned number and where <shift> is SELF's operand-dependent value.
    fields[0] specifies the base register field.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_addr_zi_u5 (const aarch64_operand *self,
 			    const aarch64_opnd_info *info, aarch64_insn *code,
-			    const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			    const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int factor = 1 << get_operand_specific_data (self);
   insert_field (self->fields[0], code, info->addr.base_regno, 0);
   insert_field (FLD_imm5, code, info->addr.offset.imm / factor, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE address [Z<n>.<T>, Z<m>.<T>{, <modifier> {#<msz>}}],
    where <modifier> is fixed by the instruction and where <msz> is a
    2-bit unsigned number.  fields[0] specifies the base register field
    and fields[1] specifies the offset register field.  */
-static const char *
+static bfd_boolean
 aarch64_ext_sve_addr_zz (const aarch64_operand *self,
-			 const aarch64_opnd_info *info, aarch64_insn *code)
+			 const aarch64_opnd_info *info, aarch64_insn *code,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   insert_field (self->fields[0], code, info->addr.base_regno, 0);
   insert_field (self->fields[1], code, info->addr.offset.regno, 0);
   insert_field (FLD_SVE_msz, code, info->shifter.amount, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE address [Z<n>.<T>, Z<m>.<T>{, LSL #<msz>}], where
    <msz> is a 2-bit unsigned number.  fields[0] specifies the base register
    field and fields[1] specifies the offset register field.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_addr_zz_lsl (const aarch64_operand *self,
 			     const aarch64_opnd_info *info, aarch64_insn *code,
-			     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			     const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			     aarch64_operand_error *errors)
 {
-  return aarch64_ext_sve_addr_zz (self, info, code);
+  return aarch64_ext_sve_addr_zz (self, info, code, errors);
 }
 
 /* Encode an SVE address [Z<n>.<T>, Z<m>.<T>, SXTW {#<msz>}], where
    <msz> is a 2-bit unsigned number.  fields[0] specifies the base register
    field and fields[1] specifies the offset register field.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_addr_zz_sxtw (const aarch64_operand *self,
 			      const aarch64_opnd_info *info,
 			      aarch64_insn *code,
-			      const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			      const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			      aarch64_operand_error *errors)
 {
-  return aarch64_ext_sve_addr_zz (self, info, code);
+  return aarch64_ext_sve_addr_zz (self, info, code, errors);
 }
 
 /* Encode an SVE address [Z<n>.<T>, Z<m>.<T>, UXTW {#<msz>}], where
    <msz> is a 2-bit unsigned number.  fields[0] specifies the base register
    field and fields[1] specifies the offset register field.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_addr_zz_uxtw (const aarch64_operand *self,
 			      const aarch64_opnd_info *info,
 			      aarch64_insn *code,
-			      const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			      const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			      aarch64_operand_error *errors)
 {
-  return aarch64_ext_sve_addr_zz (self, info, code);
+  return aarch64_ext_sve_addr_zz (self, info, code, errors);
 }
 
 /* Encode an SVE ADD/SUB immediate.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_aimm (const aarch64_operand *self,
 		      const aarch64_opnd_info *info, aarch64_insn *code,
-		      const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		      const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		      aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   if (info->shifter.amount == 8)
     insert_all_fields (self, code, (info->imm.value & 0xff) | 256);
@@ -1049,87 +1129,94 @@ aarch64_ins_sve_aimm (const aarch64_oper
     insert_all_fields (self, code, ((info->imm.value / 256) & 0xff) | 256);
   else
     insert_all_fields (self, code, info->imm.value & 0xff);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE CPY/DUP immediate.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_asimm (const aarch64_operand *self,
 		       const aarch64_opnd_info *info, aarch64_insn *code,
-		       const aarch64_inst *inst)
+		       const aarch64_inst *inst,
+		       aarch64_operand_error *errors)
 {
-  return aarch64_ins_sve_aimm (self, info, code, inst);
+  return aarch64_ins_sve_aimm (self, info, code, inst, errors);
 }
 
 /* Encode Zn[MM], where MM has a 7-bit triangular encoding.  The fields
    array specifies which field to use for Zn.  MM is encoded in the
    concatenation of imm5 and SVE_tszh, with imm5 being the less
    significant part.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_index (const aarch64_operand *self,
 		       const aarch64_opnd_info *info, aarch64_insn *code,
-		       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   unsigned int esize = aarch64_get_qualifier_esize (info->qualifier);
   insert_field (self->fields[0], code, info->reglane.regno, 0);
   insert_fields (code, (info->reglane.index * 2 + 1) * esize, 0,
 		 2, FLD_imm5, FLD_SVE_tszh);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode a logical/bitmask immediate for the MOV alias of SVE DUPM.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_limm_mov (const aarch64_operand *self,
 			  const aarch64_opnd_info *info, aarch64_insn *code,
-			  const aarch64_inst *inst)
+			  const aarch64_inst *inst,
+			  aarch64_operand_error *errors)
 {
-  return aarch64_ins_limm (self, info, code, inst);
+  return aarch64_ins_limm (self, info, code, inst, errors);
 }
 
 /* Encode Zn[MM], where Zn occupies the least-significant part of the field
    and where MM occupies the most-significant part.  The operand-dependent
    value specifies the number of bits in Zn.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_quad_index (const aarch64_operand *self,
 			    const aarch64_opnd_info *info, aarch64_insn *code,
-			    const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			    const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   unsigned int reg_bits = get_operand_specific_data (self);
   assert (info->reglane.regno < (1U << reg_bits));
   unsigned int val = (info->reglane.index << reg_bits) + info->reglane.regno;
   insert_all_fields (self, code, val);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode {Zn.<T> - Zm.<T>}.  The fields array specifies which field
    to use for Zn.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_reglist (const aarch64_operand *self,
 			 const aarch64_opnd_info *info, aarch64_insn *code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   insert_field (self->fields[0], code, info->reglist.first_regno, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode <pattern>{, MUL #<amount>}.  The fields array specifies which
    fields to use for <pattern>.  <amount> - 1 is encoded in the SVE_imm4
    field.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_scale (const aarch64_operand *self,
 		       const aarch64_opnd_info *info, aarch64_insn *code,
-		       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   insert_all_fields (self, code, info->imm.value);
   insert_field (FLD_SVE_imm4, code, info->shifter.amount - 1, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE shift left immediate.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_shlimm (const aarch64_operand *self,
 			const aarch64_opnd_info *info, aarch64_insn *code,
-			const aarch64_inst *inst)
+			const aarch64_inst *inst,
+			aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   const aarch64_opnd_info *prev_operand;
   unsigned int esize;
@@ -1138,14 +1225,15 @@ aarch64_ins_sve_shlimm (const aarch64_op
   prev_operand = &inst->operands[info->idx - 1];
   esize = aarch64_get_qualifier_esize (prev_operand->qualifier);
   insert_all_fields (self, code, 8 * esize + info->imm.value);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode an SVE shift right immediate.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_shrimm (const aarch64_operand *self,
 			const aarch64_opnd_info *info, aarch64_insn *code,
-			const aarch64_inst *inst)
+			const aarch64_inst *inst,
+			aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   const aarch64_opnd_info *prev_operand;
   unsigned int esize;
@@ -1154,52 +1242,55 @@ aarch64_ins_sve_shrimm (const aarch64_op
   prev_operand = &inst->operands[info->idx - 1];
   esize = aarch64_get_qualifier_esize (prev_operand->qualifier);
   insert_all_fields (self, code, 16 * esize - info->imm.value);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode a single-bit immediate that selects between #0.5 and #1.0.
    The fields array specifies which field to use.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_float_half_one (const aarch64_operand *self,
 				const aarch64_opnd_info *info,
 				aarch64_insn *code,
-				const aarch64_inst *inst ATTRIBUTE_UNUSED)
+				const aarch64_inst *inst ATTRIBUTE_UNUSED,
+				aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   if (info->imm.value == 0x3f000000)
     insert_field (self->fields[0], code, 0, 0);
   else
     insert_field (self->fields[0], code, 1, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode a single-bit immediate that selects between #0.5 and #2.0.
    The fields array specifies which field to use.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_float_half_two (const aarch64_operand *self,
 				const aarch64_opnd_info *info,
 				aarch64_insn *code,
-				const aarch64_inst *inst ATTRIBUTE_UNUSED)
+				const aarch64_inst *inst ATTRIBUTE_UNUSED,
+				aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   if (info->imm.value == 0x3f000000)
     insert_field (self->fields[0], code, 0, 0);
   else
     insert_field (self->fields[0], code, 1, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Encode a single-bit immediate that selects between #0.0 and #1.0.
    The fields array specifies which field to use.  */
-const char *
+bfd_boolean
 aarch64_ins_sve_float_zero_one (const aarch64_operand *self,
 				const aarch64_opnd_info *info,
 				aarch64_insn *code,
-				const aarch64_inst *inst ATTRIBUTE_UNUSED)
+				const aarch64_inst *inst ATTRIBUTE_UNUSED,
+				aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   if (info->imm.value == 0)
     insert_field (self->fields[0], code, 0, 0);
   else
     insert_field (self->fields[0], code, 1, 0);
-  return NULL;
+  return TRUE;
 }
 
 /* Miscellaneous encoding functions.  */
@@ -1853,7 +1944,7 @@ convert_to_real_return:
    Return the encoded result in *CODE and if QLF_SEQ is not NULL, return the
    matched operand qualifier sequence in *QLF_SEQ.  */
 
-int
+bfd_boolean
 aarch64_opcode_encode (const aarch64_opcode *opcode,
 		       const aarch64_inst *inst_ori, aarch64_insn *code,
 		       aarch64_opnd_qualifier_t *qlf_seq,
@@ -1930,8 +2021,10 @@ aarch64_opcode_encode (const aarch64_opc
 	  continue;
 	}
       opnd = &aarch64_operands[type];
-      if (operand_has_inserter (opnd))
-	aarch64_insert_operand (opnd, info, &inst->value, inst);
+      if (operand_has_inserter (opnd)
+	  && !aarch64_insert_operand (opnd, info, &inst->value, inst,
+				      mismatch_detail))
+	    return FALSE;
     }
 
   /* Call opcode encoders indicated by flags.  */
@@ -1947,5 +2040,5 @@ encoding_exit:
 
   *code = inst->value;
 
-  return 1;
+  return TRUE;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-asm.h ./opcodes/aarch64-asm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-asm.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aarch64-asm.h	2018-07-10 02:06:14.000000000 +0000
@@ -30,15 +30,17 @@ const aarch64_opcode* aarch64_find_real_
 
 /* Switch-table-based high-level operand inserter.  */
 
-const char* aarch64_insert_operand (const aarch64_operand *,
+bfd_boolean aarch64_insert_operand (const aarch64_operand *,
 				    const aarch64_opnd_info *, aarch64_insn *,
-				    const aarch64_inst *);
+				    const aarch64_inst *,
+				    aarch64_operand_error *);
 
 /* Operand inserters.  */
 
 #define AARCH64_DECL_OPD_INSERTER(x)	\
-  const char* aarch64_##x (const aarch64_operand *, const aarch64_opnd_info *, \
-			   aarch64_insn *, const aarch64_inst *)
+  bfd_boolean aarch64_##x (const aarch64_operand *, const aarch64_opnd_info *, \
+			   aarch64_insn *, const aarch64_inst *, \
+			   aarch64_operand_error *)
 
 AARCH64_DECL_OPD_INSERTER (ins_regno);
 AARCH64_DECL_OPD_INSERTER (ins_reglane);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-dis-2.c ./opcodes/aarch64-dis-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-dis-2.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aarch64-dis-2.c	2018-07-10 02:06:14.000000000 +0000
@@ -2340,7 +2340,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0001100100xxxxxxxxxxxxxxxxxxxxxx
                                              stlurb.  */
-                                          return 2027;
+                                          return 2044;
                                         }
                                       else
                                         {
@@ -2348,7 +2348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1001100100xxxxxxxxxxxxxxxxxxxxxx
                                              stlur.  */
-                                          return 2035;
+                                          return 2052;
                                         }
                                     }
                                   else
@@ -2359,7 +2359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0101100100xxxxxxxxxxxxxxxxxxxxxx
                                              stlurh.  */
-                                          return 2031;
+                                          return 2048;
                                         }
                                       else
                                         {
@@ -2367,7 +2367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1101100100xxxxxxxxxxxxxxxxxxxxxx
                                              stlur.  */
-                                          return 2038;
+                                          return 2055;
                                         }
                                     }
                                 }
@@ -2414,7 +2414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0001100101xxxxxxxxxxxxxxxxxxxxxx
                                              ldapurb.  */
-                                          return 2028;
+                                          return 2045;
                                         }
                                       else
                                         {
@@ -2422,7 +2422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1001100101xxxxxxxxxxxxxxxxxxxxxx
                                              ldapur.  */
-                                          return 2036;
+                                          return 2053;
                                         }
                                     }
                                   else
@@ -2433,7 +2433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0101100101xxxxxxxxxxxxxxxxxxxxxx
                                              ldapurh.  */
-                                          return 2032;
+                                          return 2049;
                                         }
                                       else
                                         {
@@ -2441,7 +2441,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1101100101xxxxxxxxxxxxxxxxxxxxxx
                                              ldapur.  */
-                                          return 2039;
+                                          return 2056;
                                         }
                                     }
                                 }
@@ -2491,7 +2491,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0001100110xxxxxxxxxxxxxxxxxxxxxx
                                              ldapursb.  */
-                                          return 2030;
+                                          return 2047;
                                         }
                                       else
                                         {
@@ -2499,7 +2499,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1001100110xxxxxxxxxxxxxxxxxxxxxx
                                              ldapursw.  */
-                                          return 2037;
+                                          return 2054;
                                         }
                                     }
                                   else
@@ -2508,7 +2508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x101100110xxxxxxxxxxxxxxxxxxxxxx
                                          ldapursh.  */
-                                      return 2034;
+                                      return 2051;
                                     }
                                 }
                               else
@@ -2519,7 +2519,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x001100111xxxxxxxxxxxxxxxxxxxxxx
                                          ldapursb.  */
-                                      return 2029;
+                                      return 2046;
                                     }
                                   else
                                     {
@@ -2527,7 +2527,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x101100111xxxxxxxxxxxxxxxxxxxxxx
                                          ldapursh.  */
-                                      return 2033;
+                                      return 2050;
                                     }
                                 }
                             }
@@ -2920,7 +2920,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxx11010x00xxxxxx0xx10xxxxxxxxxx
                                              setf8.  */
-                                          return 2025;
+                                          return 2042;
                                         }
                                       else
                                         {
@@ -2928,7 +2928,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxx11010x00xxxxxx1xx10xxxxxxxxxx
                                              setf16.  */
-                                          return 2026;
+                                          return 2043;
                                         }
                                     }
                                   else
@@ -3074,7 +3074,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxx11010000xxxxxxxxx01xxxxxxxxxx
                                              rmif.  */
-                                          return 2024;
+                                          return 2041;
                                         }
                                       else
                                         {
@@ -3601,7 +3601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000000000xxxxxxxxxxxxx
                                                                      add.  */
-                                                                  return 1232;
+                                                                  return 1233;
                                                                 }
                                                               else
                                                                 {
@@ -3609,7 +3609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx010000000xxxxxxxxxxxxx
                                                                      mul.  */
-                                                                  return 1685;
+                                                                  return 1702;
                                                                 }
                                                             }
                                                           else
@@ -3620,7 +3620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001000000xxxxxxxxxxxxx
                                                                      smax.  */
-                                                                  return 1764;
+                                                                  return 1781;
                                                                 }
                                                               else
                                                                 {
@@ -3628,7 +3628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011000000xxxxxxxxxxxxx
                                                                      orr.  */
-                                                                  return 1696;
+                                                                  return 1713;
                                                                 }
                                                             }
                                                         }
@@ -3640,7 +3640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0100000xxxxxxxxxxxxx
                                                                  sdiv.  */
-                                                              return 1755;
+                                                              return 1772;
                                                             }
                                                           else
                                                             {
@@ -3648,7 +3648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1100000xxxxxxxxxxxxx
                                                                  sabd.  */
-                                                              return 1746;
+                                                              return 1763;
                                                             }
                                                         }
                                                     }
@@ -3662,7 +3662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0010000xxxxxxxxxxxxx
                                                                  smulh.  */
-                                                              return 1769;
+                                                              return 1786;
                                                             }
                                                           else
                                                             {
@@ -3672,7 +3672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001010000xxxxxxxxxxxxx
                                                                      smin.  */
-                                                                  return 1767;
+                                                                  return 1784;
                                                                 }
                                                               else
                                                                 {
@@ -3680,7 +3680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011010000xxxxxxxxxxxxx
                                                                      and.  */
-                                                                  return 1240;
+                                                                  return 1241;
                                                                 }
                                                             }
                                                         }
@@ -3690,7 +3690,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx0xx110000xxxxxxxxxxxxx
                                                              sdivr.  */
-                                                          return 1756;
+                                                          return 1773;
                                                         }
                                                     }
                                                 }
@@ -3706,7 +3706,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0001000xxxxxxxxxxxxx
                                                                  sub.  */
-                                                              return 1885;
+                                                              return 1902;
                                                             }
                                                           else
                                                             {
@@ -3716,7 +3716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001001000xxxxxxxxxxxxx
                                                                      umax.  */
-                                                                  return 1913;
+                                                                  return 1930;
                                                                 }
                                                               else
                                                                 {
@@ -3724,7 +3724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011001000xxxxxxxxxxxxx
                                                                      eor.  */
-                                                                  return 1327;
+                                                                  return 1328;
                                                                 }
                                                             }
                                                         }
@@ -3736,7 +3736,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0101000xxxxxxxxxxxxx
                                                                  udiv.  */
-                                                              return 1907;
+                                                              return 1924;
                                                             }
                                                           else
                                                             {
@@ -3744,7 +3744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1101000xxxxxxxxxxxxx
                                                                  uabd.  */
-                                                              return 1898;
+                                                              return 1915;
                                                             }
                                                         }
                                                     }
@@ -3760,7 +3760,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000011000xxxxxxxxxxxxx
                                                                      subr.  */
-                                                                  return 1887;
+                                                                  return 1904;
                                                                 }
                                                               else
                                                                 {
@@ -3768,7 +3768,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx010011000xxxxxxxxxxxxx
                                                                      umulh.  */
-                                                                  return 1918;
+                                                                  return 1935;
                                                                 }
                                                             }
                                                           else
@@ -3779,7 +3779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001011000xxxxxxxxxxxxx
                                                                      umin.  */
-                                                                  return 1916;
+                                                                  return 1933;
                                                                 }
                                                               else
                                                                 {
@@ -3787,7 +3787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011011000xxxxxxxxxxxxx
                                                                      bic.  */
-                                                                  return 1252;
+                                                                  return 1253;
                                                                 }
                                                             }
                                                         }
@@ -3797,7 +3797,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx0xx111000xxxxxxxxxxxxx
                                                              udivr.  */
-                                                          return 1908;
+                                                          return 1925;
                                                         }
                                                     }
                                                 }
@@ -3810,7 +3810,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x00x0xxxxx000xxxxxxxxxxxxx
                                                      ld1sb.  */
-                                                  return 1514;
+                                                  return 1515;
                                                 }
                                               else
                                                 {
@@ -3818,7 +3818,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x01x0xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1525;
+                                                  return 1526;
                                                 }
                                             }
                                         }
@@ -3830,7 +3830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x00x0xxxxx000xxxxxxxxxxxxx
                                                  ld1sb.  */
-                                              return 1518;
+                                              return 1519;
                                             }
                                           else
                                             {
@@ -3842,7 +3842,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          010001x01x0xxxxx000xx0xxxxxxxxxx
                                                          sdot.  */
-                                                      return 1757;
+                                                      return 1774;
                                                     }
                                                   else
                                                     {
@@ -3850,7 +3850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          010001x01x0xxxxx000xx1xxxxxxxxxx
                                                          udot.  */
-                                                      return 1909;
+                                                      return 1926;
                                                     }
                                                 }
                                               else
@@ -3859,7 +3859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      110001x01x0xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1529;
+                                                  return 1530;
                                                 }
                                             }
                                         }
@@ -3880,7 +3880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000000xxxxxxxxxx
                                                              add.  */
-                                                          return 1230;
+                                                          return 1231;
                                                         }
                                                       else
                                                         {
@@ -3888,7 +3888,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000100xxxxxxxxxx
                                                              sqadd.  */
-                                                          return 1771;
+                                                          return 1788;
                                                         }
                                                     }
                                                   else
@@ -3897,7 +3897,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0xx1xxxxx000x10xxxxxxxxxx
                                                          sqsub.  */
-                                                      return 1801;
+                                                      return 1818;
                                                     }
                                                 }
                                               else
@@ -3910,7 +3910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000001xxxxxxxxxx
                                                              sub.  */
-                                                          return 1883;
+                                                          return 1900;
                                                         }
                                                       else
                                                         {
@@ -3918,7 +3918,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000101xxxxxxxxxx
                                                              uqadd.  */
-                                                          return 1919;
+                                                          return 1936;
                                                         }
                                                     }
                                                   else
@@ -3927,7 +3927,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0xx1xxxxx000x11xxxxxxxxxx
                                                          uqsub.  */
-                                                      return 1949;
+                                                      return 1966;
                                                     }
                                                 }
                                             }
@@ -3939,7 +3939,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x00x1xxxxx000xxxxxxxxxxxxx
                                                      prfb.  */
-                                                  return 1704;
+                                                  return 1721;
                                                 }
                                               else
                                                 {
@@ -3947,7 +3947,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x01x1xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1526;
+                                                  return 1527;
                                                 }
                                             }
                                         }
@@ -3959,7 +3959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x00x1xxxxx000xxxxxxxxxxxxx
                                                  prfb.  */
-                                              return 1705;
+                                              return 1722;
                                             }
                                           else
                                             {
@@ -3973,7 +3973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0101xxxxx000xx0xxxxxxxxxx
                                                              sdot.  */
-                                                          return 1758;
+                                                          return 1775;
                                                         }
                                                       else
                                                         {
@@ -3981,7 +3981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0111xxxxx000xx0xxxxxxxxxx
                                                              sdot.  */
-                                                          return 1759;
+                                                          return 1776;
                                                         }
                                                     }
                                                   else
@@ -3992,7 +3992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0101xxxxx000xx1xxxxxxxxxx
                                                              udot.  */
-                                                          return 1910;
+                                                          return 1927;
                                                         }
                                                       else
                                                         {
@@ -4000,7 +4000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0111xxxxx000xx1xxxxxxxxxx
                                                              udot.  */
-                                                          return 1911;
+                                                          return 1928;
                                                         }
                                                     }
                                                 }
@@ -4010,7 +4010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      110001x01x1xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1530;
+                                                  return 1531;
                                                 }
                                             }
                                         }
@@ -4036,7 +4036,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0000x0100xxxxxxxxxxxxx
                                                                  asr.  */
-                                                              return 1248;
+                                                              return 1249;
                                                             }
                                                           else
                                                             {
@@ -4044,7 +4044,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0100x0100xxxxxxxxxxxxx
                                                                  asr.  */
-                                                              return 1246;
+                                                              return 1247;
                                                             }
                                                         }
                                                       else
@@ -4053,7 +4053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx0x10x0100xxxxxxxxxxxxx
                                                              asr.  */
-                                                          return 1247;
+                                                          return 1248;
                                                         }
                                                     }
                                                   else
@@ -4064,7 +4064,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx00x1x0100xxxxxxxxxxxxx
                                                              asrd.  */
-                                                          return 1249;
+                                                          return 1250;
                                                         }
                                                       else
                                                         {
@@ -4072,7 +4072,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx01x1x0100xxxxxxxxxxxxx
                                                              asrr.  */
-                                                          return 1250;
+                                                          return 1251;
                                                         }
                                                     }
                                                 }
@@ -4090,7 +4090,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000001100xxxxxxxxxxxxx
                                                                      lsr.  */
-                                                                  return 1676;
+                                                                  return 1693;
                                                                 }
                                                               else
                                                                 {
@@ -4098,7 +4098,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx010001100xxxxxxxxxxxxx
                                                                      lsr.  */
-                                                                  return 1674;
+                                                                  return 1691;
                                                                 }
                                                             }
                                                           else
@@ -4107,7 +4107,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1001100xxxxxxxxxxxxx
                                                                  lsr.  */
-                                                              return 1675;
+                                                              return 1692;
                                                             }
                                                         }
                                                       else
@@ -4116,7 +4116,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx0xx101100xxxxxxxxxxxxx
                                                              lsrr.  */
-                                                          return 1677;
+                                                          return 1694;
                                                         }
                                                     }
                                                   else
@@ -4131,7 +4131,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000011100xxxxxxxxxxxxx
                                                                      lsl.  */
-                                                                  return 1670;
+                                                                  return 1687;
                                                                 }
                                                               else
                                                                 {
@@ -4139,7 +4139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx010011100xxxxxxxxxxxxx
                                                                      lsl.  */
-                                                                  return 1668;
+                                                                  return 1685;
                                                                 }
                                                             }
                                                           else
@@ -4148,7 +4148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1011100xxxxxxxxxxxxx
                                                                  lsl.  */
-                                                              return 1669;
+                                                              return 1686;
                                                             }
                                                         }
                                                       else
@@ -4157,7 +4157,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx0xx111100xxxxxxxxxxxxx
                                                              lslr.  */
-                                                          return 1671;
+                                                          return 1688;
                                                         }
                                                     }
                                                 }
@@ -4172,7 +4172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0xx1xxxxx1000x0xxxxxxxxxx
                                                          asr.  */
-                                                      return 1244;
+                                                      return 1245;
                                                     }
                                                   else
                                                     {
@@ -4180,7 +4180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0xx1xxxxx1001x0xxxxxxxxxx
                                                          asr.  */
-                                                      return 1245;
+                                                      return 1246;
                                                     }
                                                 }
                                               else
@@ -4193,7 +4193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx100001xxxxxxxxxx
                                                              lsr.  */
-                                                          return 1672;
+                                                          return 1689;
                                                         }
                                                       else
                                                         {
@@ -4201,7 +4201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx100101xxxxxxxxxx
                                                              lsr.  */
-                                                          return 1673;
+                                                          return 1690;
                                                         }
                                                     }
                                                   else
@@ -4212,7 +4212,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx100011xxxxxxxxxx
                                                              lsl.  */
-                                                          return 1666;
+                                                          return 1683;
                                                         }
                                                       else
                                                         {
@@ -4220,7 +4220,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx100111xxxxxxxxxx
                                                              lsl.  */
-                                                          return 1667;
+                                                          return 1684;
                                                         }
                                                     }
                                                 }
@@ -4236,7 +4236,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x000xxxxxx100xxxxxxxxxxxxx
                                                      ld1sb.  */
-                                                  return 1520;
+                                                  return 1521;
                                                 }
                                               else
                                                 {
@@ -4244,7 +4244,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x010xxxxxx100xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1533;
+                                                  return 1534;
                                                 }
                                             }
                                           else
@@ -4255,7 +4255,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x001xxxxxx100xxxxxxxxxxxxx
                                                      ld1rb.  */
-                                                  return 1490;
+                                                  return 1491;
                                                 }
                                               else
                                                 {
@@ -4263,7 +4263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x011xxxxxx100xxxxxxxxxxxxx
                                                      ld1rsw.  */
-                                                  return 1511;
+                                                  return 1512;
                                                 }
                                             }
                                         }
@@ -4278,7 +4278,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x00x0xxxxx100xxxxxxxxxxxxx
                                                  ld1sb.  */
-                                              return 1519;
+                                              return 1520;
                                             }
                                           else
                                             {
@@ -4286,7 +4286,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x01x0xxxxx100xxxxxxxxxxxxx
                                                  ld1sh.  */
-                                              return 1531;
+                                              return 1532;
                                             }
                                         }
                                       else
@@ -4299,7 +4299,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0001xxxxx100xxxxxxxxxxxxx
                                                      ld1sb.  */
-                                                  return 1524;
+                                                  return 1525;
                                                 }
                                               else
                                                 {
@@ -4307,7 +4307,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0101xxxxx100xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1536;
+                                                  return 1537;
                                                 }
                                             }
                                           else
@@ -4318,7 +4318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0011xxxxx100xxxxxxxxxxxxx
                                                      prfb.  */
-                                                  return 1706;
+                                                  return 1723;
                                                 }
                                               else
                                                 {
@@ -4326,7 +4326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0111xxxxx100xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1532;
+                                                  return 1533;
                                                 }
                                             }
                                         }
@@ -4347,7 +4347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  000001x0xx0xxxxx010xxxxxxxxxxxxx
                                                  mla.  */
-                                              return 1679;
+                                              return 1696;
                                             }
                                           else
                                             {
@@ -4357,7 +4357,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x00x0xxxxx010xxxxxxxxxxxxx
                                                      ld1b.  */
-                                                  return 1456;
+                                                  return 1457;
                                                 }
                                               else
                                                 {
@@ -4365,7 +4365,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x01x0xxxxx010xxxxxxxxxxxxx
                                                      ld1h.  */
-                                                  return 1476;
+                                                  return 1477;
                                                 }
                                             }
                                         }
@@ -4377,7 +4377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x00x0xxxxx010xxxxxxxxxxxxx
                                                  ld1b.  */
-                                              return 1461;
+                                              return 1462;
                                             }
                                           else
                                             {
@@ -4385,7 +4385,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x01x0xxxxx010xxxxxxxxxxxxx
                                                  ld1h.  */
-                                              return 1481;
+                                              return 1482;
                                             }
                                         }
                                     }
@@ -4405,7 +4405,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx010000xxxxxxxxxx
                                                              index.  */
-                                                          return 1447;
+                                                          return 1448;
                                                         }
                                                       else
                                                         {
@@ -4413,7 +4413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx010001xxxxxxxxxx
                                                              index.  */
-                                                          return 1448;
+                                                          return 1449;
                                                         }
                                                     }
                                                   else
@@ -4426,7 +4426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0001xxxxx01010xxxxxxxxxxx
                                                                  addvl.  */
-                                                              return 1234;
+                                                              return 1235;
                                                             }
                                                           else
                                                             {
@@ -4434,7 +4434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0101xxxxx01010xxxxxxxxxxx
                                                                  rdvl.  */
-                                                              return 1740;
+                                                              return 1757;
                                                             }
                                                         }
                                                       else
@@ -4443,7 +4443,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0x11xxxxx01010xxxxxxxxxxx
                                                              addpl.  */
-                                                          return 1233;
+                                                          return 1234;
                                                         }
                                                     }
                                                 }
@@ -4455,7 +4455,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0xx1xxxxx010x10xxxxxxxxxx
                                                          index.  */
-                                                      return 1449;
+                                                      return 1450;
                                                     }
                                                   else
                                                     {
@@ -4463,7 +4463,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0xx1xxxxx010x11xxxxxxxxxx
                                                          index.  */
-                                                      return 1446;
+                                                      return 1447;
                                                     }
                                                 }
                                             }
@@ -4475,7 +4475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x00x1xxxxx010xxxxxxxxxxxxx
                                                      prfw.  */
-                                                  return 1724;
+                                                  return 1741;
                                                 }
                                               else
                                                 {
@@ -4483,7 +4483,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x01x1xxxxx010xxxxxxxxxxxxx
                                                      ld1h.  */
-                                                  return 1477;
+                                                  return 1478;
                                                 }
                                             }
                                         }
@@ -4495,7 +4495,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x00x1xxxxx010xxxxxxxxxxxxx
                                                  prfw.  */
-                                              return 1726;
+                                              return 1743;
                                             }
                                           else
                                             {
@@ -4503,7 +4503,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x01x1xxxxx010xxxxxxxxxxxxx
                                                  ld1h.  */
-                                              return 1482;
+                                              return 1483;
                                             }
                                         }
                                     }
@@ -4520,7 +4520,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  000001x0xx0xxxxx110xxxxxxxxxxxxx
                                                  mad.  */
-                                              return 1678;
+                                              return 1695;
                                             }
                                           else
                                             {
@@ -4536,7 +4536,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0x010xxxx110x00xxxxxxxxxx
                                                                  sqincw.  */
-                                                              return 1798;
+                                                              return 1815;
                                                             }
                                                           else
                                                             {
@@ -4546,7 +4546,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00110xxxx110x00xxxxxxxxxx
                                                                      sqinch.  */
-                                                                  return 1792;
+                                                                  return 1809;
                                                                 }
                                                               else
                                                                 {
@@ -4554,7 +4554,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01110xxxx110x00xxxxxxxxxx
                                                                      sqincd.  */
-                                                                  return 1789;
+                                                                  return 1806;
                                                                 }
                                                             }
                                                         }
@@ -4566,7 +4566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0x011xxxx110x00xxxxxxxxxx
                                                                  incw.  */
-                                                              return 1444;
+                                                              return 1445;
                                                             }
                                                           else
                                                             {
@@ -4576,7 +4576,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00111xxxx110x00xxxxxxxxxx
                                                                      inch.  */
-                                                                  return 1440;
+                                                                  return 1441;
                                                                 }
                                                               else
                                                                 {
@@ -4584,7 +4584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01111xxxx110x00xxxxxxxxxx
                                                                      incd.  */
-                                                                  return 1438;
+                                                                  return 1439;
                                                                 }
                                                             }
                                                         }
@@ -4597,7 +4597,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0x01xxxxx110x10xxxxxxxxxx
                                                              sqdecw.  */
-                                                          return 1784;
+                                                          return 1801;
                                                         }
                                                       else
                                                         {
@@ -4607,7 +4607,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0011xxxxx110x10xxxxxxxxxx
                                                                  sqdech.  */
-                                                              return 1778;
+                                                              return 1795;
                                                             }
                                                           else
                                                             {
@@ -4615,7 +4615,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0111xxxxx110x10xxxxxxxxxx
                                                                  sqdecd.  */
-                                                              return 1775;
+                                                              return 1792;
                                                             }
                                                         }
                                                     }
@@ -4632,7 +4632,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0x010xxxx110x01xxxxxxxxxx
                                                                  uqincw.  */
-                                                              return 1946;
+                                                              return 1963;
                                                             }
                                                           else
                                                             {
@@ -4642,7 +4642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00110xxxx110x01xxxxxxxxxx
                                                                      uqinch.  */
-                                                                  return 1940;
+                                                                  return 1957;
                                                                 }
                                                               else
                                                                 {
@@ -4650,7 +4650,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01110xxxx110x01xxxxxxxxxx
                                                                      uqincd.  */
-                                                                  return 1937;
+                                                                  return 1954;
                                                                 }
                                                             }
                                                         }
@@ -4662,7 +4662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0x011xxxx110x01xxxxxxxxxx
                                                                  decw.  */
-                                                              return 1319;
+                                                              return 1320;
                                                             }
                                                           else
                                                             {
@@ -4672,7 +4672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00111xxxx110x01xxxxxxxxxx
                                                                      dech.  */
-                                                                  return 1315;
+                                                                  return 1316;
                                                                 }
                                                               else
                                                                 {
@@ -4680,7 +4680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01111xxxx110x01xxxxxxxxxx
                                                                      decd.  */
-                                                                  return 1313;
+                                                                  return 1314;
                                                                 }
                                                             }
                                                         }
@@ -4693,7 +4693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0x01xxxxx110x11xxxxxxxxxx
                                                              uqdecw.  */
-                                                          return 1932;
+                                                          return 1949;
                                                         }
                                                       else
                                                         {
@@ -4703,7 +4703,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0011xxxxx110x11xxxxxxxxxx
                                                                  uqdech.  */
-                                                              return 1926;
+                                                              return 1943;
                                                             }
                                                           else
                                                             {
@@ -4711,7 +4711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0111xxxxx110x11xxxxxxxxxx
                                                                  uqdecd.  */
-                                                              return 1923;
+                                                              return 1940;
                                                             }
                                                         }
                                                     }
@@ -4730,7 +4730,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x0000xxxxx110xxxxxxxxxxxxx
                                                          prfb.  */
-                                                      return 1703;
+                                                      return 1720;
                                                     }
                                                   else
                                                     {
@@ -4738,7 +4738,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x0100xxxxx110xxxxxxxxxxxxx
                                                          prfh.  */
-                                                      return 1718;
+                                                      return 1735;
                                                     }
                                                 }
                                               else
@@ -4749,7 +4749,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x0001xxxxx110xxxxxxxxxxxxx
                                                          ld1b.  */
-                                                      return 1463;
+                                                      return 1464;
                                                     }
                                                   else
                                                     {
@@ -4757,7 +4757,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x0101xxxxx110xxxxxxxxxxxxx
                                                          ld1h.  */
-                                                      return 1485;
+                                                      return 1486;
                                                     }
                                                 }
                                             }
@@ -4769,7 +4769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x001xxxxxx110xxxxxxxxxxxxx
                                                      ld1rb.  */
-                                                  return 1492;
+                                                  return 1493;
                                                 }
                                               else
                                                 {
@@ -4777,7 +4777,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x011xxxxxx110xxxxxxxxxxxxx
                                                      ld1rh.  */
-                                                  return 1496;
+                                                  return 1497;
                                                 }
                                             }
                                         }
@@ -4792,7 +4792,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x00x0xxxxx110xxxxxxxxxxxxx
                                                  ld1b.  */
-                                              return 1462;
+                                              return 1463;
                                             }
                                           else
                                             {
@@ -4800,7 +4800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x01x0xxxxx110xxxxxxxxxxxxx
                                                  ld1h.  */
-                                              return 1483;
+                                              return 1484;
                                             }
                                         }
                                       else
@@ -4813,7 +4813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0001xxxxx110xxxxxxxxxxxxx
                                                      ld1b.  */
-                                                  return 1468;
+                                                  return 1469;
                                                 }
                                               else
                                                 {
@@ -4821,7 +4821,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0101xxxxx110xxxxxxxxxxxxx
                                                      ld1h.  */
-                                                  return 1489;
+                                                  return 1490;
                                                 }
                                             }
                                           else
@@ -4832,7 +4832,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0011xxxxx110xxxxxxxxxxxxx
                                                      prfw.  */
-                                                  return 1727;
+                                                  return 1744;
                                                 }
                                               else
                                                 {
@@ -4840,7 +4840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0111xxxxx110xxxxxxxxxxxxx
                                                      ld1h.  */
-                                                  return 1484;
+                                                  return 1485;
                                                 }
                                             }
                                         }
@@ -4872,7 +4872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx000x00001xxxxxxxxxxxxx
                                                                  saddv.  */
-                                                              return 1747;
+                                                              return 1764;
                                                             }
                                                           else
                                                             {
@@ -4880,7 +4880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx000x01001xxxxxxxxxxxxx
                                                                  uaddv.  */
-                                                              return 1899;
+                                                              return 1916;
                                                             }
                                                         }
                                                       else
@@ -4889,7 +4889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx010x0x001xxxxxxxxxxxxx
                                                              movprfx.  */
-                                                          return 1682;
+                                                          return 1699;
                                                         }
                                                     }
                                                   else
@@ -4902,7 +4902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx001x00001xxxxxxxxxxxxx
                                                                  smaxv.  */
-                                                              return 1765;
+                                                              return 1782;
                                                             }
                                                           else
                                                             {
@@ -4910,7 +4910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx011x00001xxxxxxxxxxxxx
                                                                  orv.  */
-                                                              return 1699;
+                                                              return 1716;
                                                             }
                                                         }
                                                       else
@@ -4921,7 +4921,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx001x01001xxxxxxxxxxxxx
                                                                  umaxv.  */
-                                                              return 1914;
+                                                              return 1931;
                                                             }
                                                           else
                                                             {
@@ -4929,7 +4929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx011x01001xxxxxxxxxxxxx
                                                                  eorv.  */
-                                                              return 1330;
+                                                              return 1331;
                                                             }
                                                         }
                                                     }
@@ -4944,7 +4944,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx00xx10001xxxxxxxxxxxxx
                                                              sminv.  */
-                                                          return 1768;
+                                                          return 1785;
                                                         }
                                                       else
                                                         {
@@ -4952,7 +4952,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx01xx10001xxxxxxxxxxxxx
                                                              andv.  */
-                                                          return 1243;
+                                                          return 1244;
                                                         }
                                                     }
                                                   else
@@ -4961,7 +4961,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0xx0xxx11001xxxxxxxxxxxxx
                                                          uminv.  */
-                                                      return 1917;
+                                                      return 1934;
                                                     }
                                                 }
                                             }
@@ -4973,7 +4973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x00x0xxxxx001xxxxxxxxxxxxx
                                                      ldff1sb.  */
-                                                  return 1606;
+                                                  return 1615;
                                                 }
                                               else
                                                 {
@@ -4981,7 +4981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x01x0xxxxx001xxxxxxxxxxxxx
                                                      ldff1sh.  */
-                                                  return 1614;
+                                                  return 1626;
                                                 }
                                             }
                                         }
@@ -4993,7 +4993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x00x0xxxxx001xxxxxxxxxxxxx
                                                  ldff1sb.  */
-                                              return 1610;
+                                              return 1622;
                                             }
                                           else
                                             {
@@ -5001,7 +5001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x01x0xxxxx001xxxxxxxxxxxxx
                                                  ldff1sh.  */
-                                              return 1618;
+                                              return 1632;
                                             }
                                         }
                                     }
@@ -5019,7 +5019,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0001xxxxx001xxxxxxxxxxxxx
                                                          and.  */
-                                                      return 1238;
+                                                      return 1239;
                                                     }
                                                   else
                                                     {
@@ -5027,7 +5027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0011xxxxx001xxxxxxxxxxxxx
                                                          orr.  */
-                                                      return 1694;
+                                                      return 1711;
                                                     }
                                                 }
                                               else
@@ -5036,7 +5036,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x00x1xxxxx001xxxxxxxxxxxxx
                                                      prfh.  */
-                                                  return 1717;
+                                                  return 1734;
                                                 }
                                             }
                                           else
@@ -5045,7 +5045,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x00x1xxxxx001xxxxxxxxxxxxx
                                                  prfh.  */
-                                              return 1719;
+                                              return 1736;
                                             }
                                         }
                                       else
@@ -5060,7 +5060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0101xxxxx001xxxxxxxxxxxxx
                                                          eor.  */
-                                                      return 1325;
+                                                      return 1326;
                                                     }
                                                   else
                                                     {
@@ -5068,7 +5068,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0111xxxxx001xxxxxxxxxxxxx
                                                          bic.  */
-                                                      return 1251;
+                                                      return 1252;
                                                     }
                                                 }
                                               else
@@ -5077,7 +5077,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x01x1xxxxx001xxxxxxxxxxxxx
                                                      ldff1sh.  */
-                                                  return 1615;
+                                                  return 1627;
                                                 }
                                             }
                                           else
@@ -5086,7 +5086,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x01x1xxxxx001xxxxxxxxxxxxx
                                                  ldff1sh.  */
-                                              return 1619;
+                                              return 1633;
                                             }
                                         }
                                     }
@@ -5111,7 +5111,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0000101xxxxxxxxxxxxx
                                                                  sxtb.  */
-                                                              return 1890;
+                                                              return 1907;
                                                             }
                                                           else
                                                             {
@@ -5119,7 +5119,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1000101xxxxxxxxxxxxx
                                                                  cls.  */
-                                                              return 1271;
+                                                              return 1272;
                                                             }
                                                         }
                                                       else
@@ -5130,7 +5130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0100101xxxxxxxxxxxxx
                                                                  sxtw.  */
-                                                              return 1892;
+                                                              return 1909;
                                                             }
                                                           else
                                                             {
@@ -5138,7 +5138,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1100101xxxxxxxxxxxxx
                                                                  fabs.  */
-                                                              return 1333;
+                                                              return 1334;
                                                             }
                                                         }
                                                     }
@@ -5152,7 +5152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0010101xxxxxxxxxxxxx
                                                                  sxth.  */
-                                                              return 1891;
+                                                              return 1908;
                                                             }
                                                           else
                                                             {
@@ -5160,7 +5160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1010101xxxxxxxxxxxxx
                                                                  cnt.  */
-                                                              return 1300;
+                                                              return 1301;
                                                             }
                                                         }
                                                       else
@@ -5171,7 +5171,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0110101xxxxxxxxxxxxx
                                                                  abs.  */
-                                                              return 1229;
+                                                              return 1230;
                                                             }
                                                           else
                                                             {
@@ -5179,7 +5179,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1110101xxxxxxxxxxxxx
                                                                  not.  */
-                                                              return 1691;
+                                                              return 1708;
                                                             }
                                                         }
                                                     }
@@ -5196,7 +5196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0001101xxxxxxxxxxxxx
                                                                  uxtb.  */
-                                                              return 1953;
+                                                              return 1970;
                                                             }
                                                           else
                                                             {
@@ -5204,7 +5204,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1001101xxxxxxxxxxxxx
                                                                  clz.  */
-                                                              return 1272;
+                                                              return 1273;
                                                             }
                                                         }
                                                       else
@@ -5215,7 +5215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0101101xxxxxxxxxxxxx
                                                                  uxtw.  */
-                                                              return 1955;
+                                                              return 1972;
                                                             }
                                                           else
                                                             {
@@ -5223,7 +5223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1101101xxxxxxxxxxxxx
                                                                  fneg.  */
-                                                              return 1410;
+                                                              return 1411;
                                                             }
                                                         }
                                                     }
@@ -5237,7 +5237,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0011101xxxxxxxxxxxxx
                                                                  uxth.  */
-                                                              return 1954;
+                                                              return 1971;
                                                             }
                                                           else
                                                             {
@@ -5245,7 +5245,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1011101xxxxxxxxxxxxx
                                                                  cnot.  */
-                                                              return 1299;
+                                                              return 1300;
                                                             }
                                                         }
                                                       else
@@ -5254,7 +5254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx0xx111101xxxxxxxxxxxxx
                                                              neg.  */
-                                                          return 1688;
+                                                          return 1705;
                                                         }
                                                     }
                                                 }
@@ -5271,7 +5271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0001xxxxx1010xxxxxxxxxxxx
                                                              adr.  */
-                                                          return 1235;
+                                                          return 1236;
                                                         }
                                                       else
                                                         {
@@ -5279,7 +5279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0011xxxxx1010xxxxxxxxxxxx
                                                              adr.  */
-                                                          return 1236;
+                                                          return 1237;
                                                         }
                                                     }
                                                   else
@@ -5288,7 +5288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x01x1xxxxx1010xxxxxxxxxxxx
                                                          adr.  */
-                                                      return 1237;
+                                                      return 1238;
                                                     }
                                                 }
                                               else
@@ -5301,7 +5301,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx101100xxxxxxxxxx
                                                              ftssel.  */
-                                                          return 1436;
+                                                          return 1437;
                                                         }
                                                       else
                                                         {
@@ -5309,7 +5309,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx101110xxxxxxxxxx
                                                              fexpa.  */
-                                                          return 1380;
+                                                          return 1381;
                                                         }
                                                     }
                                                   else
@@ -5318,7 +5318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0xx1xxxxx1011x1xxxxxxxxxx
                                                          movprfx.  */
-                                                      return 1681;
+                                                      return 1698;
                                                     }
                                                 }
                                             }
@@ -5333,7 +5333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x000xxxxxx101xxxxxxxxxxxxx
                                                      ldff1sb.  */
-                                                  return 1612;
+                                                  return 1624;
                                                 }
                                               else
                                                 {
@@ -5341,7 +5341,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x010xxxxxx101xxxxxxxxxxxxx
                                                      ldff1sh.  */
-                                                  return 1622;
+                                                  return 1636;
                                                 }
                                             }
                                           else
@@ -5352,7 +5352,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x001xxxxxx101xxxxxxxxxxxxx
                                                      ld1rb.  */
-                                                  return 1491;
+                                                  return 1492;
                                                 }
                                               else
                                                 {
@@ -5360,7 +5360,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x011xxxxxx101xxxxxxxxxxxxx
                                                      ld1rh.  */
-                                                  return 1495;
+                                                  return 1496;
                                                 }
                                             }
                                         }
@@ -5375,7 +5375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x00x0xxxxx101xxxxxxxxxxxxx
                                                  ldff1sb.  */
-                                              return 1611;
+                                              return 1623;
                                             }
                                           else
                                             {
@@ -5383,7 +5383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x01x0xxxxx101xxxxxxxxxxxxx
                                                  ldff1sh.  */
-                                              return 1620;
+                                              return 1634;
                                             }
                                         }
                                       else
@@ -5396,7 +5396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0001xxxxx101xxxxxxxxxxxxx
                                                      ldff1sb.  */
-                                                  return 1613;
+                                                  return 1625;
                                                 }
                                               else
                                                 {
@@ -5404,7 +5404,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0101xxxxx101xxxxxxxxxxxxx
                                                      ldff1sh.  */
-                                                  return 1623;
+                                                  return 1637;
                                                 }
                                             }
                                           else
@@ -5415,7 +5415,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0011xxxxx101xxxxxxxxxxxxx
                                                      prfh.  */
-                                                  return 1720;
+                                                  return 1737;
                                                 }
                                               else
                                                 {
@@ -5423,7 +5423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0111xxxxx101xxxxxxxxxxxxx
                                                      ldff1sh.  */
-                                                  return 1621;
+                                                  return 1635;
                                                 }
                                             }
                                         }
@@ -5444,7 +5444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  000001x0xx0xxxxx011xxxxxxxxxxxxx
                                                  mls.  */
-                                              return 1680;
+                                              return 1697;
                                             }
                                           else
                                             {
@@ -5454,7 +5454,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x00x0xxxxx011xxxxxxxxxxxxx
                                                      ldff1b.  */
-                                                  return 1580;
+                                                  return 1581;
                                                 }
                                               else
                                                 {
@@ -5462,7 +5462,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x01x0xxxxx011xxxxxxxxxxxxx
                                                      ldff1h.  */
-                                                  return 1595;
+                                                  return 1601;
                                                 }
                                             }
                                         }
@@ -5474,7 +5474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x00x0xxxxx011xxxxxxxxxxxxx
                                                  ldff1b.  */
-                                              return 1585;
+                                              return 1590;
                                             }
                                           else
                                             {
@@ -5482,7 +5482,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x01x0xxxxx011xxxxxxxxxxxxx
                                                  ldff1h.  */
-                                              return 1600;
+                                              return 1609;
                                             }
                                         }
                                     }
@@ -5496,7 +5496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x00001x00x1xxxxx011xxxxxxxxxxxxx
                                                  prfd.  */
-                                              return 1710;
+                                              return 1727;
                                             }
                                           else
                                             {
@@ -5504,7 +5504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x00x1xxxxx011xxxxxxxxxxxxx
                                                  prfd.  */
-                                              return 1712;
+                                              return 1729;
                                             }
                                         }
                                       else
@@ -5515,7 +5515,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x00001x01x1xxxxx011xxxxxxxxxxxxx
                                                  ldff1h.  */
-                                              return 1596;
+                                              return 1602;
                                             }
                                           else
                                             {
@@ -5523,7 +5523,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x01x1xxxxx011xxxxxxxxxxxxx
                                                  ldff1h.  */
-                                              return 1601;
+                                              return 1610;
                                             }
                                         }
                                     }
@@ -5540,7 +5540,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  000001x0xx0xxxxx111xxxxxxxxxxxxx
                                                  msb.  */
-                                              return 1683;
+                                              return 1700;
                                             }
                                           else
                                             {
@@ -5560,7 +5560,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00010xxxx111000xxxxxxxxxx
                                                                          cntb.  */
-                                                                      return 1301;
+                                                                      return 1302;
                                                                     }
                                                                   else
                                                                     {
@@ -5568,7 +5568,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01010xxxx111000xxxxxxxxxx
                                                                          cntw.  */
-                                                                      return 1305;
+                                                                      return 1306;
                                                                     }
                                                                 }
                                                               else
@@ -5579,7 +5579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00110xxxx111000xxxxxxxxxx
                                                                          cnth.  */
-                                                                      return 1303;
+                                                                      return 1304;
                                                                     }
                                                                   else
                                                                     {
@@ -5587,7 +5587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01110xxxx111000xxxxxxxxxx
                                                                          cntd.  */
-                                                                      return 1302;
+                                                                      return 1303;
                                                                     }
                                                                 }
                                                             }
@@ -5601,7 +5601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00011xxxx111000xxxxxxxxxx
                                                                          incb.  */
-                                                                      return 1437;
+                                                                      return 1438;
                                                                     }
                                                                   else
                                                                     {
@@ -5609,7 +5609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01011xxxx111000xxxxxxxxxx
                                                                          incw.  */
-                                                                      return 1445;
+                                                                      return 1446;
                                                                     }
                                                                 }
                                                               else
@@ -5620,7 +5620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00111xxxx111000xxxxxxxxxx
                                                                          inch.  */
-                                                                      return 1441;
+                                                                      return 1442;
                                                                     }
                                                                   else
                                                                     {
@@ -5628,7 +5628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01111xxxx111000xxxxxxxxxx
                                                                          incd.  */
-                                                                      return 1439;
+                                                                      return 1440;
                                                                     }
                                                                 }
                                                             }
@@ -5645,7 +5645,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00010xxxx111100xxxxxxxxxx
                                                                          sqincb.  */
-                                                                      return 1788;
+                                                                      return 1805;
                                                                     }
                                                                   else
                                                                     {
@@ -5653,7 +5653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01010xxxx111100xxxxxxxxxx
                                                                          sqincw.  */
-                                                                      return 1800;
+                                                                      return 1817;
                                                                     }
                                                                 }
                                                               else
@@ -5664,7 +5664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00110xxxx111100xxxxxxxxxx
                                                                          sqinch.  */
-                                                                      return 1794;
+                                                                      return 1811;
                                                                     }
                                                                   else
                                                                     {
@@ -5672,7 +5672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01110xxxx111100xxxxxxxxxx
                                                                          sqincd.  */
-                                                                      return 1791;
+                                                                      return 1808;
                                                                     }
                                                                 }
                                                             }
@@ -5686,7 +5686,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00011xxxx111100xxxxxxxxxx
                                                                          sqincb.  */
-                                                                      return 1787;
+                                                                      return 1804;
                                                                     }
                                                                   else
                                                                     {
@@ -5694,7 +5694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01011xxxx111100xxxxxxxxxx
                                                                          sqincw.  */
-                                                                      return 1799;
+                                                                      return 1816;
                                                                     }
                                                                 }
                                                               else
@@ -5705,7 +5705,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00111xxxx111100xxxxxxxxxx
                                                                          sqinch.  */
-                                                                      return 1793;
+                                                                      return 1810;
                                                                     }
                                                                   else
                                                                     {
@@ -5713,7 +5713,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01111xxxx111100xxxxxxxxxx
                                                                          sqincd.  */
-                                                                      return 1790;
+                                                                      return 1807;
                                                                     }
                                                                 }
                                                             }
@@ -5731,7 +5731,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00010xxxx111x10xxxxxxxxxx
                                                                      sqdecb.  */
-                                                                  return 1774;
+                                                                  return 1791;
                                                                 }
                                                               else
                                                                 {
@@ -5739,7 +5739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01010xxxx111x10xxxxxxxxxx
                                                                      sqdecw.  */
-                                                                  return 1786;
+                                                                  return 1803;
                                                                 }
                                                             }
                                                           else
@@ -5750,7 +5750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00110xxxx111x10xxxxxxxxxx
                                                                      sqdech.  */
-                                                                  return 1780;
+                                                                  return 1797;
                                                                 }
                                                               else
                                                                 {
@@ -5758,7 +5758,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01110xxxx111x10xxxxxxxxxx
                                                                      sqdecd.  */
-                                                                  return 1777;
+                                                                  return 1794;
                                                                 }
                                                             }
                                                         }
@@ -5772,7 +5772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00011xxxx111x10xxxxxxxxxx
                                                                      sqdecb.  */
-                                                                  return 1773;
+                                                                  return 1790;
                                                                 }
                                                               else
                                                                 {
@@ -5780,7 +5780,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01011xxxx111x10xxxxxxxxxx
                                                                      sqdecw.  */
-                                                                  return 1785;
+                                                                  return 1802;
                                                                 }
                                                             }
                                                           else
@@ -5791,7 +5791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00111xxxx111x10xxxxxxxxxx
                                                                      sqdech.  */
-                                                                  return 1779;
+                                                                  return 1796;
                                                                 }
                                                               else
                                                                 {
@@ -5799,7 +5799,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01111xxxx111x10xxxxxxxxxx
                                                                      sqdecd.  */
-                                                                  return 1776;
+                                                                  return 1793;
                                                                 }
                                                             }
                                                         }
@@ -5819,7 +5819,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0001xxxxx111001xxxxxxxxxx
                                                                      decb.  */
-                                                                  return 1312;
+                                                                  return 1313;
                                                                 }
                                                               else
                                                                 {
@@ -5827,7 +5827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0101xxxxx111001xxxxxxxxxx
                                                                      decw.  */
-                                                                  return 1320;
+                                                                  return 1321;
                                                                 }
                                                             }
                                                           else
@@ -5838,7 +5838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0011xxxxx111001xxxxxxxxxx
                                                                      dech.  */
-                                                                  return 1316;
+                                                                  return 1317;
                                                                 }
                                                               else
                                                                 {
@@ -5846,7 +5846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0111xxxxx111001xxxxxxxxxx
                                                                      decd.  */
-                                                                  return 1314;
+                                                                  return 1315;
                                                                 }
                                                             }
                                                         }
@@ -5862,7 +5862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00010xxxx111101xxxxxxxxxx
                                                                          uqincb.  */
-                                                                      return 1935;
+                                                                      return 1952;
                                                                     }
                                                                   else
                                                                     {
@@ -5870,7 +5870,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01010xxxx111101xxxxxxxxxx
                                                                          uqincw.  */
-                                                                      return 1947;
+                                                                      return 1964;
                                                                     }
                                                                 }
                                                               else
@@ -5881,7 +5881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00110xxxx111101xxxxxxxxxx
                                                                          uqinch.  */
-                                                                      return 1941;
+                                                                      return 1958;
                                                                     }
                                                                   else
                                                                     {
@@ -5889,7 +5889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01110xxxx111101xxxxxxxxxx
                                                                          uqincd.  */
-                                                                      return 1938;
+                                                                      return 1955;
                                                                     }
                                                                 }
                                                             }
@@ -5903,7 +5903,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00011xxxx111101xxxxxxxxxx
                                                                          uqincb.  */
-                                                                      return 1936;
+                                                                      return 1953;
                                                                     }
                                                                   else
                                                                     {
@@ -5911,7 +5911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01011xxxx111101xxxxxxxxxx
                                                                          uqincw.  */
-                                                                      return 1948;
+                                                                      return 1965;
                                                                     }
                                                                 }
                                                               else
@@ -5922,7 +5922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x00111xxxx111101xxxxxxxxxx
                                                                          uqinch.  */
-                                                                      return 1942;
+                                                                      return 1959;
                                                                     }
                                                                   else
                                                                     {
@@ -5930,7 +5930,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x01111xxxx111101xxxxxxxxxx
                                                                          uqincd.  */
-                                                                      return 1939;
+                                                                      return 1956;
                                                                     }
                                                                 }
                                                             }
@@ -5948,7 +5948,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00010xxxx111x11xxxxxxxxxx
                                                                      uqdecb.  */
-                                                                  return 1921;
+                                                                  return 1938;
                                                                 }
                                                               else
                                                                 {
@@ -5956,7 +5956,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01010xxxx111x11xxxxxxxxxx
                                                                      uqdecw.  */
-                                                                  return 1933;
+                                                                  return 1950;
                                                                 }
                                                             }
                                                           else
@@ -5967,7 +5967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00110xxxx111x11xxxxxxxxxx
                                                                      uqdech.  */
-                                                                  return 1927;
+                                                                  return 1944;
                                                                 }
                                                               else
                                                                 {
@@ -5975,7 +5975,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01110xxxx111x11xxxxxxxxxx
                                                                      uqdecd.  */
-                                                                  return 1924;
+                                                                  return 1941;
                                                                 }
                                                             }
                                                         }
@@ -5989,7 +5989,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00011xxxx111x11xxxxxxxxxx
                                                                      uqdecb.  */
-                                                                  return 1922;
+                                                                  return 1939;
                                                                 }
                                                               else
                                                                 {
@@ -5997,7 +5997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01011xxxx111x11xxxxxxxxxx
                                                                      uqdecw.  */
-                                                                  return 1934;
+                                                                  return 1951;
                                                                 }
                                                             }
                                                           else
@@ -6008,7 +6008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x00111xxxx111x11xxxxxxxxxx
                                                                      uqdech.  */
-                                                                  return 1928;
+                                                                  return 1945;
                                                                 }
                                                               else
                                                                 {
@@ -6016,7 +6016,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x01111xxxx111x11xxxxxxxxxx
                                                                      uqdecd.  */
-                                                                  return 1925;
+                                                                  return 1942;
                                                                 }
                                                             }
                                                         }
@@ -6036,7 +6036,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x0000xxxxx111xxxxxxxxxxxxx
                                                          prfb.  */
-                                                      return 1707;
+                                                      return 1724;
                                                     }
                                                   else
                                                     {
@@ -6044,7 +6044,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x0100xxxxx111xxxxxxxxxxxxx
                                                          prfh.  */
-                                                      return 1721;
+                                                      return 1738;
                                                     }
                                                 }
                                               else
@@ -6055,7 +6055,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x0001xxxxx111xxxxxxxxxxxxx
                                                          ldff1b.  */
-                                                      return 1587;
+                                                      return 1592;
                                                     }
                                                   else
                                                     {
@@ -6063,7 +6063,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x0101xxxxx111xxxxxxxxxxxxx
                                                          ldff1h.  */
-                                                      return 1604;
+                                                      return 1613;
                                                     }
                                                 }
                                             }
@@ -6075,7 +6075,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x001xxxxxx111xxxxxxxxxxxxx
                                                      ld1rb.  */
-                                                  return 1493;
+                                                  return 1494;
                                                 }
                                               else
                                                 {
@@ -6083,7 +6083,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x011xxxxxx111xxxxxxxxxxxxx
                                                      ld1rh.  */
-                                                  return 1497;
+                                                  return 1498;
                                                 }
                                             }
                                         }
@@ -6100,7 +6100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0000xxxxx111xxxxxxxxxxxxx
                                                      prfb.  */
-                                                  return 1709;
+                                                  return 1726;
                                                 }
                                               else
                                                 {
@@ -6108,7 +6108,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0100xxxxx111xxxxxxxxxxxxx
                                                      prfh.  */
-                                                  return 1723;
+                                                  return 1740;
                                                 }
                                             }
                                           else
@@ -6119,7 +6119,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0010xxxxx111xxxxxxxxxxxxx
                                                      ldff1b.  */
-                                                  return 1586;
+                                                  return 1591;
                                                 }
                                               else
                                                 {
@@ -6127,7 +6127,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0110xxxxx111xxxxxxxxxxxxx
                                                      ldff1h.  */
-                                                  return 1602;
+                                                  return 1611;
                                                 }
                                             }
                                         }
@@ -6141,7 +6141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0001xxxxx111xxxxxxxxxxxxx
                                                      ldff1b.  */
-                                                  return 1588;
+                                                  return 1593;
                                                 }
                                               else
                                                 {
@@ -6149,7 +6149,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0101xxxxx111xxxxxxxxxxxxx
                                                      ldff1h.  */
-                                                  return 1605;
+                                                  return 1614;
                                                 }
                                             }
                                           else
@@ -6160,7 +6160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0011xxxxx111xxxxxxxxxxxxx
                                                      prfd.  */
-                                                  return 1713;
+                                                  return 1730;
                                                 }
                                               else
                                                 {
@@ -6168,7 +6168,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x0111xxxxx111xxxxxxxxxxxxx
                                                      ldff1h.  */
-                                                  return 1603;
+                                                  return 1612;
                                                 }
                                             }
                                         }
@@ -6197,7 +6197,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx000xxxxxxxx0xxxx
                                                      cmphs.  */
-                                                  return 1285;
+                                                  return 1286;
                                                 }
                                               else
                                                 {
@@ -6205,7 +6205,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx000xxxxxxxx1xxxx
                                                      cmphi.  */
-                                                  return 1282;
+                                                  return 1283;
                                                 }
                                             }
                                           else
@@ -6216,7 +6216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x00x0xxxxx000xxxxxxxxxxxxx
                                                      ld1rqb.  */
-                                                  return 1499;
+                                                  return 1500;
                                                 }
                                               else
                                                 {
@@ -6224,7 +6224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x01x0xxxxx000xxxxxxxxxxxxx
                                                      ld1rqh.  */
-                                                  return 1503;
+                                                  return 1504;
                                                 }
                                             }
                                         }
@@ -6238,7 +6238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx010xxxxxxxx0xxxx
                                                      cmpge.  */
-                                                  return 1276;
+                                                  return 1277;
                                                 }
                                               else
                                                 {
@@ -6246,7 +6246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx010xxxxxxxx1xxxx
                                                      cmpgt.  */
-                                                  return 1279;
+                                                  return 1280;
                                                 }
                                             }
                                           else
@@ -6259,7 +6259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0000xxxxx010xxxxxxxxxxxxx
                                                          ld1b.  */
-                                                      return 1457;
+                                                      return 1458;
                                                     }
                                                   else
                                                     {
@@ -6267,7 +6267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0100xxxxx010xxxxxxxxxxxxx
                                                          ld1sw.  */
-                                                      return 1537;
+                                                      return 1538;
                                                     }
                                                 }
                                               else
@@ -6278,7 +6278,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0010xxxxx010xxxxxxxxxxxxx
                                                          ld1b.  */
-                                                      return 1459;
+                                                      return 1460;
                                                     }
                                                   else
                                                     {
@@ -6286,7 +6286,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0110xxxxx010xxxxxxxxxxxxx
                                                          ld1h.  */
-                                                      return 1479;
+                                                      return 1480;
                                                     }
                                                 }
                                             }
@@ -6304,7 +6304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx001xxxxxxxx0xxxx
                                                      cmpeq.  */
-                                                  return 1273;
+                                                  return 1274;
                                                 }
                                               else
                                                 {
@@ -6312,7 +6312,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx001xxxxxxxx1xxxx
                                                      cmpne.  */
-                                                  return 1296;
+                                                  return 1297;
                                                 }
                                             }
                                           else
@@ -6323,7 +6323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x00x0xxxxx001xxxxxxxxxxxxx
                                                      ld1rqb.  */
-                                                  return 1498;
+                                                  return 1499;
                                                 }
                                               else
                                                 {
@@ -6331,7 +6331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x01x0xxxxx001xxxxxxxxxxxxx
                                                      ld1rqh.  */
-                                                  return 1502;
+                                                  return 1503;
                                                 }
                                             }
                                         }
@@ -6345,7 +6345,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx011xxxxxxxx0xxxx
                                                      cmplt.  */
-                                                  return 1294;
+                                                  return 1295;
                                                 }
                                               else
                                                 {
@@ -6353,7 +6353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx011xxxxxxxx1xxxx
                                                      cmple.  */
-                                                  return 1288;
+                                                  return 1289;
                                                 }
                                             }
                                           else
@@ -6366,7 +6366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0000xxxxx011xxxxxxxxxxxxx
                                                          ldff1b.  */
-                                                      return 1581;
+                                                      return 1582;
                                                     }
                                                   else
                                                     {
@@ -6374,7 +6374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0100xxxxx011xxxxxxxxxxxxx
                                                          ldff1sw.  */
-                                                      return 1624;
+                                                      return 1638;
                                                     }
                                                 }
                                               else
@@ -6385,7 +6385,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0010xxxxx011xxxxxxxxxxxxx
                                                          ldff1b.  */
-                                                      return 1583;
+                                                      return 1586;
                                                     }
                                                   else
                                                     {
@@ -6393,7 +6393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0110xxxxx011xxxxxxxxxxxxx
                                                          ldff1h.  */
-                                                      return 1598;
+                                                      return 1605;
                                                     }
                                                 }
                                             }
@@ -6408,7 +6408,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          011001x0xx0xxxxx0xxxxxxxxxxxxxxx
                                          fcmla.  */
-                                      return 1342;
+                                      return 1343;
                                     }
                                   else
                                     {
@@ -6420,7 +6420,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  111001x0x00xxxxx0x0xxxxxxxxxxxxx
                                                  st1b.  */
-                                              return 1803;
+                                              return 1820;
                                             }
                                           else
                                             {
@@ -6430,7 +6430,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0010xxxxx0x0xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1807;
+                                                  return 1824;
                                                 }
                                               else
                                                 {
@@ -6438,7 +6438,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0110xxxxx0x0xxxxxxxxxxxxx
                                                      st1h.  */
-                                                  return 1828;
+                                                  return 1845;
                                                 }
                                             }
                                         }
@@ -6452,7 +6452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0000xxxxx0x1xxxxxxxxxxxxx
                                                      stnt1b.  */
-                                                  return 1873;
+                                                  return 1890;
                                                 }
                                               else
                                                 {
@@ -6460,7 +6460,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0100xxxxx0x1xxxxxxxxxxxxx
                                                      stnt1h.  */
-                                                  return 1877;
+                                                  return 1894;
                                                 }
                                             }
                                           else
@@ -6471,7 +6471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0010xxxxx0x1xxxxxxxxxxxxx
                                                      st3b.  */
-                                                  return 1857;
+                                                  return 1874;
                                                 }
                                               else
                                                 {
@@ -6479,7 +6479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0110xxxxx0x1xxxxxxxxxxxxx
                                                      st3h.  */
-                                                  return 1861;
+                                                  return 1878;
                                                 }
                                             }
                                         }
@@ -6500,7 +6500,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x01001x0xx0xxxxx100xxxxxxxx0xxxx
                                                  cmpge.  */
-                                              return 1277;
+                                              return 1278;
                                             }
                                           else
                                             {
@@ -6508,7 +6508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x01001x0xx0xxxxx100xxxxxxxx1xxxx
                                                  cmpgt.  */
-                                              return 1280;
+                                              return 1281;
                                             }
                                         }
                                       else
@@ -6521,7 +6521,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx110xxxxxxxx0xxxx
                                                      cmphs.  */
-                                                  return 1286;
+                                                  return 1287;
                                                 }
                                               else
                                                 {
@@ -6529,7 +6529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx110xxxxxxxx1xxxx
                                                      cmphi.  */
-                                                  return 1283;
+                                                  return 1284;
                                                 }
                                             }
                                           else
@@ -6542,7 +6542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0000xxxxx110xxxxxxxxxxxxx
                                                          ldnt1b.  */
-                                                      return 1656;
+                                                      return 1673;
                                                     }
                                                   else
                                                     {
@@ -6550,7 +6550,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0100xxxxx110xxxxxxxxxxxxx
                                                          ldnt1h.  */
-                                                      return 1660;
+                                                      return 1677;
                                                     }
                                                 }
                                               else
@@ -6561,7 +6561,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0010xxxxx110xxxxxxxxxxxxx
                                                          ld3b.  */
-                                                      return 1564;
+                                                      return 1565;
                                                     }
                                                   else
                                                     {
@@ -6569,7 +6569,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0110xxxxx110xxxxxxxxxxxxx
                                                          ld3h.  */
-                                                      return 1568;
+                                                      return 1569;
                                                     }
                                                 }
                                             }
@@ -6583,7 +6583,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              011001x0xx0xxxxx1x0xxxxxxxxxxxxx
                                              fcadd.  */
-                                          return 1341;
+                                          return 1342;
                                         }
                                       else
                                         {
@@ -6595,7 +6595,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0000xxxxx1x0xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1804;
+                                                  return 1821;
                                                 }
                                               else
                                                 {
@@ -6603,7 +6603,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0100xxxxx1x0xxxxxxxxxxxxx
                                                      st1h.  */
-                                                  return 1823;
+                                                  return 1840;
                                                 }
                                             }
                                           else
@@ -6614,7 +6614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0010xxxxx1x0xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1808;
+                                                  return 1825;
                                                 }
                                               else
                                                 {
@@ -6622,7 +6622,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0110xxxxx1x0xxxxxxxxxxxxx
                                                      st1h.  */
-                                                  return 1829;
+                                                  return 1846;
                                                 }
                                             }
                                         }
@@ -6642,7 +6642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx101xxxxxxxx0xxxx
                                                      cmpeq.  */
-                                                  return 1274;
+                                                  return 1275;
                                                 }
                                               else
                                                 {
@@ -6650,7 +6650,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx101xxxxxxxx1xxxx
                                                      cmpne.  */
-                                                  return 1297;
+                                                  return 1298;
                                                 }
                                             }
                                           else
@@ -6665,7 +6665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              101001x00000xxxx101xxxxxxxxxxxxx
                                                              ld1b.  */
-                                                          return 1464;
+                                                          return 1465;
                                                         }
                                                       else
                                                         {
@@ -6673,7 +6673,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              101001x01000xxxx101xxxxxxxxxxxxx
                                                              ld1sw.  */
-                                                          return 1542;
+                                                          return 1543;
                                                         }
                                                     }
                                                   else
@@ -6684,7 +6684,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              101001x00100xxxx101xxxxxxxxxxxxx
                                                              ld1b.  */
-                                                          return 1466;
+                                                          return 1467;
                                                         }
                                                       else
                                                         {
@@ -6692,7 +6692,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              101001x01100xxxx101xxxxxxxxxxxxx
                                                              ld1h.  */
-                                                          return 1487;
+                                                          return 1488;
                                                         }
                                                     }
                                                 }
@@ -6706,7 +6706,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              101001x00001xxxx101xxxxxxxxxxxxx
                                                              ldnf1b.  */
-                                                          return 1640;
+                                                          return 1657;
                                                         }
                                                       else
                                                         {
@@ -6714,7 +6714,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              101001x01001xxxx101xxxxxxxxxxxxx
                                                              ldnf1sw.  */
-                                                          return 1653;
+                                                          return 1670;
                                                         }
                                                     }
                                                   else
@@ -6725,7 +6725,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              101001x00101xxxx101xxxxxxxxxxxxx
                                                              ldnf1b.  */
-                                                          return 1642;
+                                                          return 1659;
                                                         }
                                                       else
                                                         {
@@ -6733,7 +6733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              101001x01101xxxx101xxxxxxxxxxxxx
                                                              ldnf1h.  */
-                                                          return 1646;
+                                                          return 1663;
                                                         }
                                                     }
                                                 }
@@ -6749,7 +6749,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0000xxxxx101xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1805;
+                                                  return 1822;
                                                 }
                                               else
                                                 {
@@ -6757,7 +6757,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0100xxxxx101xxxxxxxxxxxxx
                                                      st1h.  */
-                                                  return 1824;
+                                                  return 1841;
                                                 }
                                             }
                                           else
@@ -6768,7 +6768,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0010xxxxx101xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1812;
+                                                  return 1829;
                                                 }
                                               else
                                                 {
@@ -6776,7 +6776,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0110xxxxx101xxxxxxxxxxxxx
                                                      st1h.  */
-                                                  return 1833;
+                                                  return 1850;
                                                 }
                                             }
                                         }
@@ -6793,7 +6793,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx111xxxxxxxx0xxxx
                                                      cmplo.  */
-                                                  return 1290;
+                                                  return 1291;
                                                 }
                                               else
                                                 {
@@ -6801,7 +6801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x0xx0xxxxx111xxxxxxxx1xxxx
                                                      cmpls.  */
-                                                  return 1292;
+                                                  return 1293;
                                                 }
                                             }
                                           else
@@ -6814,7 +6814,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0000xxxxx111xxxxxxxxxxxxx
                                                          ldnt1b.  */
-                                                      return 1657;
+                                                      return 1674;
                                                     }
                                                   else
                                                     {
@@ -6822,7 +6822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0100xxxxx111xxxxxxxxxxxxx
                                                          ldnt1h.  */
-                                                      return 1661;
+                                                      return 1678;
                                                     }
                                                 }
                                               else
@@ -6833,7 +6833,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0010xxxxx111xxxxxxxxxxxxx
                                                          ld3b.  */
-                                                      return 1565;
+                                                      return 1566;
                                                     }
                                                   else
                                                     {
@@ -6841,7 +6841,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0110xxxxx111xxxxxxxxxxxxx
                                                          ld3h.  */
-                                                      return 1569;
+                                                      return 1570;
                                                     }
                                                 }
                                             }
@@ -6856,7 +6856,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0x000xxxx111xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1810;
+                                                  return 1827;
                                                 }
                                               else
                                                 {
@@ -6866,7 +6866,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x00100xxxx111xxxxxxxxxxxxx
                                                          st1b.  */
-                                                      return 1813;
+                                                      return 1830;
                                                     }
                                                   else
                                                     {
@@ -6874,7 +6874,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x01100xxxx111xxxxxxxxxxxxx
                                                          st1h.  */
-                                                      return 1834;
+                                                      return 1851;
                                                     }
                                                 }
                                             }
@@ -6888,7 +6888,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x00001xxxx111xxxxxxxxxxxxx
                                                          stnt1b.  */
-                                                      return 1874;
+                                                      return 1891;
                                                     }
                                                   else
                                                     {
@@ -6896,7 +6896,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x01001xxxx111xxxxxxxxxxxxx
                                                          stnt1h.  */
-                                                      return 1878;
+                                                      return 1895;
                                                     }
                                                 }
                                               else
@@ -6907,7 +6907,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x00101xxxx111xxxxxxxxxxxxx
                                                          st3b.  */
-                                                      return 1858;
+                                                      return 1875;
                                                     }
                                                   else
                                                     {
@@ -6915,7 +6915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x01101xxxx111xxxxxxxxxxxxx
                                                          st3h.  */
-                                                      return 1862;
+                                                      return 1879;
                                                     }
                                                 }
                                             }
@@ -6938,7 +6938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              001001x0xx1xxxxxxx0xxxxxxxx0xxxx
                                              cmphs.  */
-                                          return 1287;
+                                          return 1288;
                                         }
                                       else
                                         {
@@ -6946,7 +6946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              001001x0xx1xxxxxxx0xxxxxxxx1xxxx
                                              cmphi.  */
-                                          return 1284;
+                                          return 1285;
                                         }
                                     }
                                   else
@@ -6961,7 +6961,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x0001xxxxx0x0xxxxxxxxxxxxx
                                                      ld1b.  */
-                                                  return 1458;
+                                                  return 1459;
                                                 }
                                               else
                                                 {
@@ -6969,7 +6969,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x0101xxxxx0x0xxxxxxxxxxxxx
                                                      ld1h.  */
-                                                  return 1478;
+                                                  return 1479;
                                                 }
                                             }
                                           else
@@ -6980,7 +6980,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x0011xxxxx0x0xxxxxxxxxxxxx
                                                      ld1b.  */
-                                                  return 1460;
+                                                  return 1461;
                                                 }
                                               else
                                                 {
@@ -6988,7 +6988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x0111xxxxx0x0xxxxxxxxxxxxx
                                                      ld1h.  */
-                                                  return 1480;
+                                                  return 1481;
                                                 }
                                             }
                                         }
@@ -7002,7 +7002,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x0001xxxxx1x0xxxxxxxxxxxxx
                                                      ld2b.  */
-                                                  return 1556;
+                                                  return 1557;
                                                 }
                                               else
                                                 {
@@ -7010,7 +7010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x0101xxxxx1x0xxxxxxxxxxxxx
                                                      ld2h.  */
-                                                  return 1560;
+                                                  return 1561;
                                                 }
                                             }
                                           else
@@ -7021,7 +7021,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x0011xxxxx1x0xxxxxxxxxxxxx
                                                      ld4b.  */
-                                                  return 1572;
+                                                  return 1573;
                                                 }
                                               else
                                                 {
@@ -7029,7 +7029,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x0111xxxxx1x0xxxxxxxxxxxxx
                                                      ld4h.  */
-                                                  return 1576;
+                                                  return 1577;
                                                 }
                                             }
                                         }
@@ -7051,7 +7051,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x00x1xxxxx0000x0xxxxxxxxxx
                                                          fmla.  */
-                                                      return 1395;
+                                                      return 1396;
                                                     }
                                                   else
                                                     {
@@ -7061,7 +7061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x0101xxxxx0000x0xxxxxxxxxx
                                                              fmla.  */
-                                                          return 1396;
+                                                          return 1397;
                                                         }
                                                       else
                                                         {
@@ -7069,7 +7069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x0111xxxxx0000x0xxxxxxxxxx
                                                              fmla.  */
-                                                          return 1397;
+                                                          return 1398;
                                                         }
                                                     }
                                                 }
@@ -7081,7 +7081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x00x1xxxxx0000x1xxxxxxxxxx
                                                          fmls.  */
-                                                      return 1399;
+                                                      return 1400;
                                                     }
                                                   else
                                                     {
@@ -7091,7 +7091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x0101xxxxx0000x1xxxxxxxxxx
                                                              fmls.  */
-                                                          return 1400;
+                                                          return 1401;
                                                         }
                                                       else
                                                         {
@@ -7099,7 +7099,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x0111xxxxx0000x1xxxxxxxxxx
                                                              fmls.  */
-                                                          return 1401;
+                                                          return 1402;
                                                         }
                                                     }
                                                 }
@@ -7112,7 +7112,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0x01xxxxx0001xxxxxxxxxxxx
                                                      fcmla.  */
-                                                  return 1343;
+                                                  return 1344;
                                                 }
                                               else
                                                 {
@@ -7120,7 +7120,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0x11xxxxx0001xxxxxxxxxxxx
                                                      fcmla.  */
-                                                  return 1344;
+                                                  return 1345;
                                                 }
                                             }
                                         }
@@ -7134,7 +7134,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0001xxxxx010xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1806;
+                                                  return 1823;
                                                 }
                                               else
                                                 {
@@ -7142,7 +7142,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0101xxxxx010xxxxxxxxxxxxx
                                                      st1h.  */
-                                                  return 1825;
+                                                  return 1842;
                                                 }
                                             }
                                           else
@@ -7153,7 +7153,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0011xxxxx010xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1809;
+                                                  return 1826;
                                                 }
                                               else
                                                 {
@@ -7161,7 +7161,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0111xxxxx010xxxxxxxxxxxxx
                                                      st1h.  */
-                                                  return 1830;
+                                                  return 1847;
                                                 }
                                             }
                                         }
@@ -7174,7 +7174,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x11001x0x01xxxxx1x0xxxxxxxxxxxxx
                                              st1h.  */
-                                          return 1826;
+                                          return 1843;
                                         }
                                       else
                                         {
@@ -7182,7 +7182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x11001x0x11xxxxx1x0xxxxxxxxxxxxx
                                              st1h.  */
-                                          return 1831;
+                                          return 1848;
                                         }
                                     }
                                 }
@@ -7199,7 +7199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              001001x0xx1xxxxxxx1xxxxxxxx0xxxx
                                              cmplo.  */
-                                          return 1291;
+                                          return 1292;
                                         }
                                       else
                                         {
@@ -7207,7 +7207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              001001x0xx1xxxxxxx1xxxxxxxx1xxxx
                                              cmpls.  */
-                                          return 1293;
+                                          return 1294;
                                         }
                                     }
                                   else
@@ -7224,7 +7224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x00010xxxxx01xxxxxxxxxxxxx
                                                          ld1b.  */
-                                                      return 1465;
+                                                      return 1466;
                                                     }
                                                   else
                                                     {
@@ -7232,7 +7232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x01010xxxxx01xxxxxxxxxxxxx
                                                          ld1h.  */
-                                                      return 1486;
+                                                      return 1487;
                                                     }
                                                 }
                                               else
@@ -7243,7 +7243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x00110xxxxx01xxxxxxxxxxxxx
                                                          ld1b.  */
-                                                      return 1467;
+                                                      return 1468;
                                                     }
                                                   else
                                                     {
@@ -7251,7 +7251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x01110xxxxx01xxxxxxxxxxxxx
                                                          ld1h.  */
-                                                      return 1488;
+                                                      return 1489;
                                                     }
                                                 }
                                             }
@@ -7265,7 +7265,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x00011xxxxx01xxxxxxxxxxxxx
                                                          ldnf1b.  */
-                                                      return 1641;
+                                                      return 1658;
                                                     }
                                                   else
                                                     {
@@ -7273,7 +7273,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x01011xxxxx01xxxxxxxxxxxxx
                                                          ldnf1h.  */
-                                                      return 1645;
+                                                      return 1662;
                                                     }
                                                 }
                                               else
@@ -7284,7 +7284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x00111xxxxx01xxxxxxxxxxxxx
                                                          ldnf1b.  */
-                                                      return 1643;
+                                                      return 1660;
                                                     }
                                                   else
                                                     {
@@ -7292,7 +7292,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x01111xxxxx01xxxxxxxxxxxxx
                                                          ldnf1h.  */
-                                                      return 1647;
+                                                      return 1664;
                                                     }
                                                 }
                                             }
@@ -7309,7 +7309,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0001xxxxx011xxxxxxxxxxxxx
                                                          ldff1b.  */
-                                                      return 1582;
+                                                      return 1584;
                                                     }
                                                   else
                                                     {
@@ -7317,7 +7317,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0101xxxxx011xxxxxxxxxxxxx
                                                          ldff1h.  */
-                                                      return 1597;
+                                                      return 1603;
                                                     }
                                                 }
                                               else
@@ -7328,7 +7328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0011xxxxx011xxxxxxxxxxxxx
                                                          ldff1b.  */
-                                                      return 1584;
+                                                      return 1588;
                                                     }
                                                   else
                                                     {
@@ -7336,7 +7336,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0111xxxxx011xxxxxxxxxxxxx
                                                          ldff1h.  */
-                                                      return 1599;
+                                                      return 1607;
                                                     }
                                                 }
                                             }
@@ -7350,7 +7350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0001xxxxx111xxxxxxxxxxxxx
                                                          ld2b.  */
-                                                      return 1557;
+                                                      return 1558;
                                                     }
                                                   else
                                                     {
@@ -7358,7 +7358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0101xxxxx111xxxxxxxxxxxxx
                                                          ld2h.  */
-                                                      return 1561;
+                                                      return 1562;
                                                     }
                                                 }
                                               else
@@ -7369,7 +7369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0011xxxxx111xxxxxxxxxxxxx
                                                          ld4b.  */
-                                                      return 1573;
+                                                      return 1574;
                                                     }
                                                   else
                                                     {
@@ -7377,7 +7377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x0111xxxxx111xxxxxxxxxxxxx
                                                          ld4h.  */
-                                                      return 1577;
+                                                      return 1578;
                                                     }
                                                 }
                                             }
@@ -7396,7 +7396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x11001x00x1xxxxx001xxxxxxxxxxxxx
                                                  fmul.  */
-                                              return 1406;
+                                              return 1407;
                                             }
                                           else
                                             {
@@ -7406,7 +7406,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0101xxxxx001xxxxxxxxxxxxx
                                                      fmul.  */
-                                                  return 1407;
+                                                  return 1408;
                                                 }
                                               else
                                                 {
@@ -7414,7 +7414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0111xxxxx001xxxxxxxxxxxxx
                                                      fmul.  */
-                                                  return 1408;
+                                                  return 1409;
                                                 }
                                             }
                                         }
@@ -7426,7 +7426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x11001x0x01xxxxx101xxxxxxxxxxxxx
                                                  st1h.  */
-                                              return 1827;
+                                              return 1844;
                                             }
                                           else
                                             {
@@ -7436,7 +7436,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0011xxxxx101xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1814;
+                                                  return 1831;
                                                 }
                                               else
                                                 {
@@ -7444,7 +7444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0111xxxxx101xxxxxxxxxxxxx
                                                      st1h.  */
-                                                  return 1835;
+                                                  return 1852;
                                                 }
                                             }
                                         }
@@ -7461,7 +7461,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0001xxxxx011xxxxxxxxxxxxx
                                                      st2b.  */
-                                                  return 1849;
+                                                  return 1866;
                                                 }
                                               else
                                                 {
@@ -7469,7 +7469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0101xxxxx011xxxxxxxxxxxxx
                                                      st2h.  */
-                                                  return 1853;
+                                                  return 1870;
                                                 }
                                             }
                                           else
@@ -7480,7 +7480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0011xxxxx011xxxxxxxxxxxxx
                                                      st4b.  */
-                                                  return 1865;
+                                                  return 1882;
                                                 }
                                               else
                                                 {
@@ -7488,7 +7488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0111xxxxx011xxxxxxxxxxxxx
                                                      st4h.  */
-                                                  return 1869;
+                                                  return 1886;
                                                 }
                                             }
                                         }
@@ -7504,7 +7504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x00010xxxx111xxxxxxxxxxxxx
                                                          st1b.  */
-                                                      return 1811;
+                                                      return 1828;
                                                     }
                                                   else
                                                     {
@@ -7512,7 +7512,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x01010xxxx111xxxxxxxxxxxxx
                                                          st1h.  */
-                                                      return 1832;
+                                                      return 1849;
                                                     }
                                                 }
                                               else
@@ -7523,7 +7523,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x00110xxxx111xxxxxxxxxxxxx
                                                          st1b.  */
-                                                      return 1815;
+                                                      return 1832;
                                                     }
                                                   else
                                                     {
@@ -7531,7 +7531,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x01110xxxx111xxxxxxxxxxxxx
                                                          st1h.  */
-                                                      return 1836;
+                                                      return 1853;
                                                     }
                                                 }
                                             }
@@ -7545,7 +7545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x00011xxxx111xxxxxxxxxxxxx
                                                          st2b.  */
-                                                      return 1850;
+                                                      return 1867;
                                                     }
                                                   else
                                                     {
@@ -7553,7 +7553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x01011xxxx111xxxxxxxxxxxxx
                                                          st2h.  */
-                                                      return 1854;
+                                                      return 1871;
                                                     }
                                                 }
                                               else
@@ -7564,7 +7564,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x00111xxxx111xxxxxxxxxxxxx
                                                          st4b.  */
-                                                      return 1866;
+                                                      return 1883;
                                                     }
                                                   else
                                                     {
@@ -7572,7 +7572,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x01111xxxx111xxxxxxxxxxxxx
                                                          st4h.  */
-                                                      return 1870;
+                                                      return 1887;
                                                     }
                                                 }
                                             }
@@ -7603,7 +7603,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  000001x10000xxxxxxxxxxxxxxxxxxxx
                                                  orr.  */
-                                              return 1695;
+                                              return 1712;
                                             }
                                           else
                                             {
@@ -7611,7 +7611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  000001x11000xxxxxxxxxxxxxxxxxxxx
                                                  and.  */
-                                              return 1239;
+                                              return 1240;
                                             }
                                         }
                                       else
@@ -7622,7 +7622,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  000001x10100xxxxxxxxxxxxxxxxxxxx
                                                  eor.  */
-                                              return 1326;
+                                              return 1327;
                                             }
                                           else
                                             {
@@ -7630,7 +7630,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  000001x11100xxxxxxxxxxxxxxxxxxxx
                                                  dupm.  */
-                                              return 1324;
+                                              return 1325;
                                             }
                                         }
                                     }
@@ -7642,7 +7642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              000001x1xx01xxxx0xxxxxxxxxxxxxxx
                                              cpy.  */
-                                          return 1309;
+                                          return 1310;
                                         }
                                       else
                                         {
@@ -7650,7 +7650,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              000001x1xx01xxxx1xxxxxxxxxxxxxxx
                                              fcpy.  */
-                                          return 1356;
+                                          return 1357;
                                         }
                                     }
                                 }
@@ -7666,7 +7666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  000001x1xx1xxxxx000xxxxxxxxxxxxx
                                                  ext.  */
-                                              return 1331;
+                                              return 1332;
                                             }
                                           else
                                             {
@@ -7682,7 +7682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1xx1x0000100xxxxxxxxxxxxx
                                                                  cpy.  */
-                                                              return 1307;
+                                                              return 1308;
                                                             }
                                                           else
                                                             {
@@ -7690,7 +7690,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1xx1x1000100xxxxxxxxxxxxx
                                                                  clasta.  */
-                                                              return 1265;
+                                                              return 1266;
                                                             }
                                                         }
                                                       else
@@ -7701,7 +7701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1xx1x0100100xxxxxxxxxxxxx
                                                                  revb.  */
-                                                              return 1743;
+                                                              return 1760;
                                                             }
                                                           else
                                                             {
@@ -7709,7 +7709,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1xx1x1100100xxxxxxxxxxxxx
                                                                  splice.  */
-                                                              return 1770;
+                                                              return 1787;
                                                             }
                                                         }
                                                     }
@@ -7723,7 +7723,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1xx1x0010100xxxxxxxxxxxxx
                                                                  lasta.  */
-                                                              return 1453;
+                                                              return 1454;
                                                             }
                                                           else
                                                             {
@@ -7731,7 +7731,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1xx1x1010100xxxxxxxxxxxxx
                                                                  clasta.  */
-                                                              return 1266;
+                                                              return 1267;
                                                             }
                                                         }
                                                       else
@@ -7740,7 +7740,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xx110100xxxxxxxxxxxxx
                                                              revw.  */
-                                                          return 1745;
+                                                          return 1762;
                                                         }
                                                     }
                                                 }
@@ -7756,7 +7756,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1xx1x0001100xxxxxxxxxxxxx
                                                                  compact.  */
-                                                              return 1306;
+                                                              return 1307;
                                                             }
                                                           else
                                                             {
@@ -7764,7 +7764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1xx1x1001100xxxxxxxxxxxxx
                                                                  clastb.  */
-                                                              return 1268;
+                                                              return 1269;
                                                             }
                                                         }
                                                       else
@@ -7773,7 +7773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xx101100xxxxxxxxxxxxx
                                                              revh.  */
-                                                          return 1744;
+                                                          return 1761;
                                                         }
                                                     }
                                                   else
@@ -7786,7 +7786,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1xx1x0011100xxxxxxxxxxxxx
                                                                  lastb.  */
-                                                              return 1455;
+                                                              return 1456;
                                                             }
                                                           else
                                                             {
@@ -7794,7 +7794,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1xx1x1011100xxxxxxxxxxxxx
                                                                  clastb.  */
-                                                              return 1269;
+                                                              return 1270;
                                                             }
                                                         }
                                                       else
@@ -7803,7 +7803,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xx111100xxxxxxxxxxxxx
                                                              rbit.  */
-                                                          return 1736;
+                                                          return 1753;
                                                         }
                                                     }
                                                 }
@@ -7821,7 +7821,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x1xx1xxxxx00100xxxxxxxxxxx
                                                          dup.  */
-                                                      return 1322;
+                                                      return 1323;
                                                     }
                                                   else
                                                     {
@@ -7829,7 +7829,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x1xx1xxxxx00110xxxxxxxxxxx
                                                          tbl.  */
-                                                      return 1893;
+                                                      return 1910;
                                                     }
                                                 }
                                               else
@@ -7848,7 +7848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x1xx100000001x1xxxxxxxxxxx
                                                                          dup.  */
-                                                                      return 1321;
+                                                                      return 1322;
                                                                     }
                                                                   else
                                                                     {
@@ -7856,7 +7856,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x1xx110000001x1xxxxxxxxxxx
                                                                          sunpklo.  */
-                                                                      return 1889;
+                                                                      return 1906;
                                                                     }
                                                                 }
                                                               else
@@ -7865,7 +7865,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1xx1x1000001x1xxxxxxxxxxx
                                                                      rev.  */
-                                                                  return 1742;
+                                                                  return 1759;
                                                                 }
                                                             }
                                                           else
@@ -7876,7 +7876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1xx10x100001x1xxxxxxxxxxx
                                                                      insr.  */
-                                                                  return 1450;
+                                                                  return 1451;
                                                                 }
                                                               else
                                                                 {
@@ -7884,7 +7884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1xx11x100001x1xxxxxxxxxxx
                                                                      insr.  */
-                                                                  return 1451;
+                                                                  return 1452;
                                                                 }
                                                             }
                                                         }
@@ -7894,7 +7894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xxx10001x1xxxxxxxxxxx
                                                              uunpklo.  */
-                                                          return 1952;
+                                                          return 1969;
                                                         }
                                                     }
                                                   else
@@ -7905,7 +7905,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xxx01001x1xxxxxxxxxxx
                                                              sunpkhi.  */
-                                                          return 1888;
+                                                          return 1905;
                                                         }
                                                       else
                                                         {
@@ -7913,7 +7913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xxx11001x1xxxxxxxxxxx
                                                              uunpkhi.  */
-                                                          return 1951;
+                                                          return 1968;
                                                         }
                                                     }
                                                 }
@@ -7930,7 +7930,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx100xx0101xxxxxxxxxxxxx
                                                              lasta.  */
-                                                          return 1452;
+                                                          return 1453;
                                                         }
                                                       else
                                                         {
@@ -7938,7 +7938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx110xx0101xxxxxxxxxxxxx
                                                              clasta.  */
-                                                          return 1267;
+                                                          return 1268;
                                                         }
                                                     }
                                                   else
@@ -7947,7 +7947,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x1xx1x1xx0101xxxxxxxxxxxxx
                                                          cpy.  */
-                                                      return 1308;
+                                                      return 1309;
                                                     }
                                                 }
                                               else
@@ -7958,7 +7958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x1xx10xxx1101xxxxxxxxxxxxx
                                                          lastb.  */
-                                                      return 1454;
+                                                      return 1455;
                                                     }
                                                   else
                                                     {
@@ -7966,7 +7966,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x1xx11xxx1101xxxxxxxxxxxxx
                                                          clastb.  */
-                                                      return 1270;
+                                                      return 1271;
                                                     }
                                                 }
                                             }
@@ -7990,7 +7990,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1xx10xxxx010000xxxxxxxxxx
                                                                  zip1.  */
-                                                              return 1969;
+                                                              return 1986;
                                                             }
                                                           else
                                                             {
@@ -8002,7 +8002,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x1xx11x0x0010000xxxxxxxxxx
                                                                          punpklo.  */
-                                                                      return 1735;
+                                                                      return 1752;
                                                                     }
                                                                   else
                                                                     {
@@ -8010,7 +8010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x1xx11x1x0010000xxxxxxxxxx
                                                                          rev.  */
-                                                                      return 1741;
+                                                                      return 1758;
                                                                     }
                                                                 }
                                                               else
@@ -8019,7 +8019,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1xx11xxx1010000xxxxxxxxxx
                                                                      punpkhi.  */
-                                                                  return 1734;
+                                                                  return 1751;
                                                                 }
                                                             }
                                                         }
@@ -8029,7 +8029,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xxxxx011000xxxxxxxxxx
                                                              zip1.  */
-                                                          return 1970;
+                                                          return 1987;
                                                         }
                                                     }
                                                   else
@@ -8040,7 +8040,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xxxxx010100xxxxxxxxxx
                                                              trn1.  */
-                                                          return 1894;
+                                                          return 1911;
                                                         }
                                                       else
                                                         {
@@ -8048,7 +8048,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xxxxx011100xxxxxxxxxx
                                                              trn1.  */
-                                                          return 1895;
+                                                          return 1912;
                                                         }
                                                     }
                                                 }
@@ -8060,7 +8060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x1xx1xxxxx010x10xxxxxxxxxx
                                                          uzp1.  */
-                                                      return 1956;
+                                                      return 1973;
                                                     }
                                                   else
                                                     {
@@ -8068,7 +8068,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x1xx1xxxxx011x10xxxxxxxxxx
                                                          uzp1.  */
-                                                      return 1957;
+                                                      return 1974;
                                                     }
                                                 }
                                             }
@@ -8084,7 +8084,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xxxxx010001xxxxxxxxxx
                                                              zip2.  */
-                                                          return 1971;
+                                                          return 1988;
                                                         }
                                                       else
                                                         {
@@ -8092,7 +8092,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xxxxx011001xxxxxxxxxx
                                                              zip2.  */
-                                                          return 1972;
+                                                          return 1989;
                                                         }
                                                     }
                                                   else
@@ -8103,7 +8103,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xxxxx010101xxxxxxxxxx
                                                              trn2.  */
-                                                          return 1896;
+                                                          return 1913;
                                                         }
                                                       else
                                                         {
@@ -8111,7 +8111,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xxxxx011101xxxxxxxxxx
                                                              trn2.  */
-                                                          return 1897;
+                                                          return 1914;
                                                         }
                                                     }
                                                 }
@@ -8123,7 +8123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x1xx1xxxxx010x11xxxxxxxxxx
                                                          uzp2.  */
-                                                      return 1958;
+                                                      return 1975;
                                                     }
                                                   else
                                                     {
@@ -8131,7 +8131,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x1xx1xxxxx011x11xxxxxxxxxx
                                                          uzp2.  */
-                                                      return 1959;
+                                                      return 1976;
                                                     }
                                                 }
                                             }
@@ -8142,7 +8142,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              000001x1xx1xxxxx11xxxxxxxxxxxxxx
                                              sel.  */
-                                          return 1760;
+                                          return 1777;
                                         }
                                     }
                                 }
@@ -8161,7 +8161,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  100001x1x0xxxxxx000xxxxxxxxxxxxx
                                                  ldr.  */
-                                              return 1664;
+                                              return 1681;
                                             }
                                           else
                                             {
@@ -8169,7 +8169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  100001x1x1xxxxxx000xxxxxxxxxxxxx
                                                  prfb.  */
-                                              return 1708;
+                                              return 1725;
                                             }
                                         }
                                       else
@@ -8180,7 +8180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  100001x10xxxxxxx100xxxxxxxxxxxxx
                                                  ld1rsh.  */
-                                              return 1509;
+                                              return 1510;
                                             }
                                           else
                                             {
@@ -8188,7 +8188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  100001x11xxxxxxx100xxxxxxxxxxxxx
                                                  ld1rsb.  */
-                                              return 1506;
+                                              return 1507;
                                             }
                                         }
                                     }
@@ -8204,7 +8204,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x10x0xxxxx010xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1544;
+                                                  return 1545;
                                                 }
                                               else
                                                 {
@@ -8212,7 +8212,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x10x1xxxxx010xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1545;
+                                                  return 1546;
                                                 }
                                             }
                                           else
@@ -8223,7 +8223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x110xxxxxx010xxxxxxxxxxxxx
                                                      ldr.  */
-                                                  return 1665;
+                                                  return 1682;
                                                 }
                                               else
                                                 {
@@ -8231,7 +8231,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x111xxxxxx010xxxxxxxxxxxxx
                                                      prfw.  */
-                                                  return 1729;
+                                                  return 1746;
                                                 }
                                             }
                                         }
@@ -8247,7 +8247,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x1000xxxxx110xxxxxxxxxxxxx
                                                          prfw.  */
-                                                      return 1725;
+                                                      return 1742;
                                                     }
                                                   else
                                                     {
@@ -8255,7 +8255,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x1100xxxxx110xxxxxxxxxxxxx
                                                          prfd.  */
-                                                      return 1711;
+                                                      return 1728;
                                                     }
                                                 }
                                               else
@@ -8264,7 +8264,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x1x01xxxxx110xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1552;
+                                                  return 1553;
                                                 }
                                             }
                                           else
@@ -8275,7 +8275,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x101xxxxxx110xxxxxxxxxxxxx
                                                      ld1rw.  */
-                                                  return 1512;
+                                                  return 1513;
                                                 }
                                               else
                                                 {
@@ -8283,7 +8283,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x111xxxxxx110xxxxxxxxxxxxx
                                                      ld1rsb.  */
-                                                  return 1508;
+                                                  return 1509;
                                                 }
                                             }
                                         }
@@ -8299,7 +8299,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              100001x1xxxxxxxx001xxxxxxxxxxxxx
                                              prfh.  */
-                                          return 1722;
+                                          return 1739;
                                         }
                                       else
                                         {
@@ -8309,7 +8309,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  100001x10xxxxxxx101xxxxxxxxxxxxx
                                                  ld1rsh.  */
-                                              return 1510;
+                                              return 1511;
                                             }
                                           else
                                             {
@@ -8317,7 +8317,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  100001x11xxxxxxx101xxxxxxxxxxxxx
                                                  ld1rsb.  */
-                                              return 1507;
+                                              return 1508;
                                             }
                                         }
                                     }
@@ -8333,7 +8333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x10x0xxxxx011xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1630;
+                                                  return 1645;
                                                 }
                                               else
                                                 {
@@ -8341,7 +8341,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x10x1xxxxx011xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1631;
+                                                  return 1646;
                                                 }
                                             }
                                           else
@@ -8350,7 +8350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  100001x11xxxxxxx011xxxxxxxxxxxxx
                                                  prfd.  */
-                                              return 1715;
+                                              return 1732;
                                             }
                                         }
                                       else
@@ -8365,7 +8365,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x1000xxxxx111xxxxxxxxxxxxx
                                                          prfw.  */
-                                                      return 1728;
+                                                      return 1745;
                                                     }
                                                   else
                                                     {
@@ -8373,7 +8373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          100001x1100xxxxx111xxxxxxxxxxxxx
                                                          prfd.  */
-                                                      return 1714;
+                                                      return 1731;
                                                     }
                                                 }
                                               else
@@ -8382,7 +8382,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x1x01xxxxx111xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1638;
+                                                  return 1655;
                                                 }
                                             }
                                           else
@@ -8393,7 +8393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x101xxxxxx111xxxxxxxxxxxxx
                                                      ld1rw.  */
-                                                  return 1513;
+                                                  return 1514;
                                                 }
                                               else
                                                 {
@@ -8401,7 +8401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x111xxxxxx111xxxxxxxxxxxxx
                                                      ld1rd.  */
-                                                  return 1494;
+                                                  return 1495;
                                                 }
                                             }
                                         }
@@ -8423,7 +8423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x10001x1xx0xxxxx000xxxxxxxxxxxxx
                                              ld1sw.  */
-                                          return 1538;
+                                          return 1539;
                                         }
                                       else
                                         {
@@ -8431,7 +8431,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x10001x1xx1xxxxx000xxxxxxxxxxxxx
                                              ld1sw.  */
-                                          return 1539;
+                                          return 1540;
                                         }
                                     }
                                   else
@@ -8442,7 +8442,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x10001x1xx0xxxxx100xxxxxxxxxxxxx
                                              ld1sw.  */
-                                          return 1540;
+                                          return 1541;
                                         }
                                       else
                                         {
@@ -8452,7 +8452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x1x01xxxxx100xxxxxxxxxxxxx
                                                  ld1sw.  */
-                                              return 1543;
+                                              return 1544;
                                             }
                                           else
                                             {
@@ -8460,7 +8460,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x1x11xxxxx100xxxxxxxxxxxxx
                                                  ld1sw.  */
-                                              return 1541;
+                                              return 1542;
                                             }
                                         }
                                     }
@@ -8477,7 +8477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x10x0xxxxx010xxxxxxxxxxxxx
                                                  ld1w.  */
-                                              return 1548;
+                                              return 1549;
                                             }
                                           else
                                             {
@@ -8485,7 +8485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x11x0xxxxx010xxxxxxxxxxxxx
                                                  ld1d.  */
-                                              return 1470;
+                                              return 1471;
                                             }
                                         }
                                       else
@@ -8496,7 +8496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x10x1xxxxx010xxxxxxxxxxxxx
                                                  ld1w.  */
-                                              return 1549;
+                                              return 1550;
                                             }
                                           else
                                             {
@@ -8504,7 +8504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x11x1xxxxx010xxxxxxxxxxxxx
                                                  ld1d.  */
-                                              return 1471;
+                                              return 1472;
                                             }
                                         }
                                     }
@@ -8518,7 +8518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x10x0xxxxx110xxxxxxxxxxxxx
                                                  ld1w.  */
-                                              return 1550;
+                                              return 1551;
                                             }
                                           else
                                             {
@@ -8526,7 +8526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x11x0xxxxx110xxxxxxxxxxxxx
                                                  ld1d.  */
-                                              return 1472;
+                                              return 1473;
                                             }
                                         }
                                       else
@@ -8539,7 +8539,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1001xxxxx110xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1555;
+                                                  return 1556;
                                                 }
                                               else
                                                 {
@@ -8547,7 +8547,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1101xxxxx110xxxxxxxxxxxxx
                                                      ld1d.  */
-                                                  return 1475;
+                                                  return 1476;
                                                 }
                                             }
                                           else
@@ -8558,7 +8558,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1011xxxxx110xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1551;
+                                                  return 1552;
                                                 }
                                               else
                                                 {
@@ -8566,7 +8566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1111xxxxx110xxxxxxxxxxxxx
                                                      ld1d.  */
-                                                  return 1473;
+                                                  return 1474;
                                                 }
                                             }
                                         }
@@ -8585,7 +8585,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x10001x1xx0xxxxx001xxxxxxxxxxxxx
                                              ldff1sw.  */
-                                          return 1625;
+                                          return 1640;
                                         }
                                       else
                                         {
@@ -8593,7 +8593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x10001x1xx1xxxxx001xxxxxxxxxxxxx
                                              ldff1sw.  */
-                                          return 1626;
+                                          return 1641;
                                         }
                                     }
                                   else
@@ -8604,7 +8604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x10001x1xx0xxxxx101xxxxxxxxxxxxx
                                              ldff1sw.  */
-                                          return 1627;
+                                          return 1642;
                                         }
                                       else
                                         {
@@ -8614,7 +8614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x1x01xxxxx101xxxxxxxxxxxxx
                                                  ldff1sw.  */
-                                              return 1629;
+                                              return 1644;
                                             }
                                           else
                                             {
@@ -8622,7 +8622,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x1x11xxxxx101xxxxxxxxxxxxx
                                                  ldff1sw.  */
-                                              return 1628;
+                                              return 1643;
                                             }
                                         }
                                     }
@@ -8639,7 +8639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x10x0xxxxx011xxxxxxxxxxxxx
                                                  ldff1w.  */
-                                              return 1634;
+                                              return 1651;
                                             }
                                           else
                                             {
@@ -8647,7 +8647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x11x0xxxxx011xxxxxxxxxxxxx
                                                  ldff1d.  */
-                                              return 1590;
+                                              return 1596;
                                             }
                                         }
                                       else
@@ -8658,7 +8658,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x10x1xxxxx011xxxxxxxxxxxxx
                                                  ldff1w.  */
-                                              return 1635;
+                                              return 1652;
                                             }
                                           else
                                             {
@@ -8666,7 +8666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10001x11x1xxxxx011xxxxxxxxxxxxx
                                                  ldff1d.  */
-                                              return 1591;
+                                              return 1597;
                                             }
                                         }
                                     }
@@ -8682,7 +8682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1000xxxxx111xxxxxxxxxxxxx
                                                      prfw.  */
-                                                  return 1730;
+                                                  return 1747;
                                                 }
                                               else
                                                 {
@@ -8690,7 +8690,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1100xxxxx111xxxxxxxxxxxxx
                                                      prfd.  */
-                                                  return 1716;
+                                                  return 1733;
                                                 }
                                             }
                                           else
@@ -8701,7 +8701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1010xxxxx111xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1636;
+                                                  return 1653;
                                                 }
                                               else
                                                 {
@@ -8709,7 +8709,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1110xxxxx111xxxxxxxxxxxxx
                                                      ldff1d.  */
-                                                  return 1592;
+                                                  return 1598;
                                                 }
                                             }
                                         }
@@ -8723,7 +8723,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1001xxxxx111xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1639;
+                                                  return 1656;
                                                 }
                                               else
                                                 {
@@ -8731,7 +8731,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1101xxxxx111xxxxxxxxxxxxx
                                                      ldff1d.  */
-                                                  return 1594;
+                                                  return 1600;
                                                 }
                                             }
                                           else
@@ -8742,7 +8742,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1011xxxxx111xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1637;
+                                                  return 1654;
                                                 }
                                               else
                                                 {
@@ -8750,7 +8750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1111xxxxx111xxxxxxxxxxxxx
                                                      ldff1d.  */
-                                                  return 1593;
+                                                  return 1599;
                                                 }
                                             }
                                         }
@@ -8779,7 +8779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx000xxxxxxxx0xxxx
                                                      cmpge.  */
-                                                  return 1278;
+                                                  return 1279;
                                                 }
                                               else
                                                 {
@@ -8787,7 +8787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx000xxxxxxxx1xxxx
                                                      cmpgt.  */
-                                                  return 1281;
+                                                  return 1282;
                                                 }
                                             }
                                           else
@@ -8798,7 +8798,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x0xxxxx000xxxxxxxxxxxxx
                                                      ld1rqw.  */
-                                                  return 1505;
+                                                  return 1506;
                                                 }
                                               else
                                                 {
@@ -8806,7 +8806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x0xxxxx000xxxxxxxxxxxxx
                                                      ld1rqd.  */
-                                                  return 1501;
+                                                  return 1502;
                                                 }
                                             }
                                         }
@@ -8822,7 +8822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x1xx1xxxxx00000xxxxxx0xxxx
                                                          whilelt.  */
-                                                      return 1966;
+                                                      return 1983;
                                                     }
                                                   else
                                                     {
@@ -8830,7 +8830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x1xx1xxxxx00010xxxxxx0xxxx
                                                          whilelt.  */
-                                                      return 1967;
+                                                      return 1984;
                                                     }
                                                 }
                                               else
@@ -8841,7 +8841,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x1xx1xxxxx00001xxxxxx0xxxx
                                                          whilelo.  */
-                                                      return 1962;
+                                                      return 1979;
                                                     }
                                                   else
                                                     {
@@ -8849,7 +8849,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x1xx1xxxxx00011xxxxxx0xxxx
                                                          whilelo.  */
-                                                      return 1963;
+                                                      return 1980;
                                                     }
                                                 }
                                             }
@@ -8863,7 +8863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x1xx1xxxxx00000xxxxxx1xxxx
                                                          whilele.  */
-                                                      return 1960;
+                                                      return 1977;
                                                     }
                                                   else
                                                     {
@@ -8871,7 +8871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x1xx1xxxxx00010xxxxxx1xxxx
                                                          whilele.  */
-                                                      return 1961;
+                                                      return 1978;
                                                     }
                                                 }
                                               else
@@ -8882,7 +8882,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x1xx1xxxxx00001xxxxxx1xxxx
                                                          whilels.  */
-                                                      return 1964;
+                                                      return 1981;
                                                     }
                                                   else
                                                     {
@@ -8890,7 +8890,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x1xx1xxxxx00011xxxxxx1xxxx
                                                          whilels.  */
-                                                      return 1965;
+                                                      return 1982;
                                                     }
                                                 }
                                             }
@@ -8910,7 +8910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x1xx0xxxxx000x00xxxxxxxxxx
                                                          fadd.  */
-                                                      return 1336;
+                                                      return 1337;
                                                     }
                                                   else
                                                     {
@@ -8920,7 +8920,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000010xxxxxxxxxx
                                                              fmul.  */
-                                                          return 1403;
+                                                          return 1404;
                                                         }
                                                       else
                                                         {
@@ -8928,7 +8928,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000110xxxxxxxxxx
                                                              frecps.  */
-                                                          return 1416;
+                                                          return 1417;
                                                         }
                                                     }
                                                 }
@@ -8940,7 +8940,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x1xx0xxxxx000x01xxxxxxxxxx
                                                          fsub.  */
-                                                      return 1429;
+                                                      return 1430;
                                                     }
                                                   else
                                                     {
@@ -8950,7 +8950,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000011xxxxxxxxxx
                                                              ftsmul.  */
-                                                          return 1435;
+                                                          return 1436;
                                                         }
                                                       else
                                                         {
@@ -8958,7 +8958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000111xxxxxxxxxx
                                                              frsqrts.  */
-                                                          return 1426;
+                                                          return 1427;
                                                         }
                                                     }
                                                 }
@@ -8969,7 +8969,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx000xxxxxxxxxxxxx
                                                  fmla.  */
-                                              return 1394;
+                                              return 1395;
                                             }
                                         }
                                       else
@@ -8978,7 +8978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              111001x1xxxxxxxx000xxxxxxxxxxxxx
                                              str.  */
-                                          return 1881;
+                                          return 1898;
                                         }
                                     }
                                 }
@@ -8996,7 +8996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx001xxxxxxxx0xxxx
                                                      cmplt.  */
-                                                  return 1295;
+                                                  return 1296;
                                                 }
                                               else
                                                 {
@@ -9004,7 +9004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx001xxxxxxxx1xxxx
                                                      cmple.  */
-                                                  return 1289;
+                                                  return 1290;
                                                 }
                                             }
                                           else
@@ -9015,7 +9015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x0xxxxx001xxxxxxxxxxxxx
                                                      ld1rqw.  */
-                                                  return 1504;
+                                                  return 1505;
                                                 }
                                               else
                                                 {
@@ -9023,7 +9023,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x0xxxxx001xxxxxxxxxxxxx
                                                      ld1rqd.  */
-                                                  return 1500;
+                                                  return 1501;
                                                 }
                                             }
                                         }
@@ -9043,7 +9043,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11001x1xx000000001xxxxxxxxxxxxx
                                                                  faddv.  */
-                                                              return 1340;
+                                                              return 1341;
                                                             }
                                                           else
                                                             {
@@ -9053,7 +9053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x11001x1xx010000001xxxxxxxx0xxxx
                                                                      fcmge.  */
-                                                                  return 1347;
+                                                                  return 1348;
                                                                 }
                                                               else
                                                                 {
@@ -9061,7 +9061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x11001x1xx010000001xxxxxxxx1xxxx
                                                                      fcmgt.  */
-                                                                  return 1349;
+                                                                  return 1350;
                                                                 }
                                                             }
                                                         }
@@ -9071,7 +9071,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x1xx0x1000001xxxxxxxxxxxxx
                                                              fadda.  */
-                                                          return 1339;
+                                                          return 1340;
                                                         }
                                                     }
                                                   else
@@ -9080,7 +9080,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x1xx0xx100001xxxxxxxxxxxxx
                                                          fmaxnmv.  */
-                                                      return 1386;
+                                                      return 1387;
                                                     }
                                                 }
                                               else
@@ -9091,7 +9091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x1xx0xx010001xxxxxxxxxxxxx
                                                          fcmeq.  */
-                                                      return 1345;
+                                                      return 1346;
                                                     }
                                                   else
                                                     {
@@ -9101,7 +9101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x1xx0x0110001xxxxxxxxxxxxx
                                                              fmaxv.  */
-                                                          return 1387;
+                                                          return 1388;
                                                         }
                                                       else
                                                         {
@@ -9109,7 +9109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x1xx0x1110001xxxxxxxxxxxxx
                                                              frecpe.  */
-                                                          return 1415;
+                                                          return 1416;
                                                         }
                                                     }
                                                 }
@@ -9126,7 +9126,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x1xx0xx001001xxxxxxxx0xxxx
                                                              fcmlt.  */
-                                                          return 1352;
+                                                          return 1353;
                                                         }
                                                       else
                                                         {
@@ -9134,7 +9134,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x1xx0xx001001xxxxxxxx1xxxx
                                                              fcmle.  */
-                                                          return 1351;
+                                                          return 1352;
                                                         }
                                                     }
                                                   else
@@ -9143,7 +9143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x1xx0xx101001xxxxxxxxxxxxx
                                                          fminnmv.  */
-                                                      return 1392;
+                                                      return 1393;
                                                     }
                                                 }
                                               else
@@ -9154,7 +9154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x1xx0xx011001xxxxxxxxxxxxx
                                                          fcmne.  */
-                                                      return 1353;
+                                                      return 1354;
                                                     }
                                                   else
                                                     {
@@ -9164,7 +9164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x1xx0x0111001xxxxxxxxxxxxx
                                                              fminv.  */
-                                                          return 1393;
+                                                          return 1394;
                                                         }
                                                       else
                                                         {
@@ -9172,7 +9172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x1xx0x1111001xxxxxxxxxxxxx
                                                              frsqrte.  */
-                                                          return 1425;
+                                                          return 1426;
                                                         }
                                                     }
                                                 }
@@ -9189,7 +9189,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x01001x1xx1xxxxx001xxxxxxxx0xxxx
                                                  ctermeq.  */
-                                              return 1310;
+                                              return 1311;
                                             }
                                           else
                                             {
@@ -9197,7 +9197,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x01001x1xx1xxxxx001xxxxxxxx1xxxx
                                                  ctermne.  */
-                                              return 1311;
+                                              return 1312;
                                             }
                                         }
                                       else
@@ -9206,7 +9206,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x11001x1xx1xxxxx001xxxxxxxxxxxxx
                                              fmls.  */
-                                          return 1398;
+                                          return 1399;
                                         }
                                     }
                                 }
@@ -9233,7 +9233,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x10000xxxx01xxxx0xxxx0xxxx
                                                                  and.  */
-                                                              return 1241;
+                                                              return 1242;
                                                             }
                                                           else
                                                             {
@@ -9241,7 +9241,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x10000xxxx01xxxx0xxxx1xxxx
                                                                  bic.  */
-                                                              return 1253;
+                                                              return 1254;
                                                             }
                                                         }
                                                       else
@@ -9252,7 +9252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x100010xxx01xxxx0xxxxxxxxx
                                                                  brka.  */
-                                                              return 1255;
+                                                              return 1256;
                                                             }
                                                           else
                                                             {
@@ -9260,7 +9260,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x100011xxx01xxxx0xxxxxxxxx
                                                                  brkn.  */
-                                                              return 1259;
+                                                              return 1260;
                                                             }
                                                         }
                                                     }
@@ -9272,7 +9272,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1000xxxxx01xxxx1xxxx0xxxx
                                                              eor.  */
-                                                          return 1328;
+                                                          return 1329;
                                                         }
                                                       else
                                                         {
@@ -9280,7 +9280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1000xxxxx01xxxx1xxxx1xxxx
                                                              sel.  */
-                                                          return 1761;
+                                                          return 1778;
                                                         }
                                                     }
                                                 }
@@ -9292,7 +9292,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx010xxxxxxxxxxxxx
                                                          ld1sh.  */
-                                                      return 1527;
+                                                      return 1528;
                                                     }
                                                   else
                                                     {
@@ -9300,7 +9300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx011xxxxxxxxxxxxx
                                                          ldff1sh.  */
-                                                      return 1616;
+                                                      return 1628;
                                                     }
                                                 }
                                             }
@@ -9318,7 +9318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x11000xxxx01xxxx0xxxx0xxxx
                                                                  orr.  */
-                                                              return 1697;
+                                                              return 1714;
                                                             }
                                                           else
                                                             {
@@ -9326,7 +9326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x11000xxxx01xxxx0xxxx1xxxx
                                                                  orn.  */
-                                                              return 1692;
+                                                              return 1709;
                                                             }
                                                         }
                                                       else
@@ -9335,7 +9335,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x11001xxxx01xxxx0xxxxxxxxx
                                                              brkb.  */
-                                                          return 1257;
+                                                          return 1258;
                                                         }
                                                     }
                                                   else
@@ -9346,7 +9346,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1100xxxxx01xxxx1xxxx0xxxx
                                                              nor.  */
-                                                          return 1689;
+                                                          return 1706;
                                                         }
                                                       else
                                                         {
@@ -9354,7 +9354,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1100xxxxx01xxxx1xxxx1xxxx
                                                              nand.  */
-                                                          return 1686;
+                                                          return 1703;
                                                         }
                                                     }
                                                 }
@@ -9366,7 +9366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx010xxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1515;
+                                                      return 1516;
                                                     }
                                                   else
                                                     {
@@ -9374,7 +9374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx011xxxxxxxxxxxxx
                                                          ldff1sb.  */
-                                                      return 1607;
+                                                      return 1616;
                                                     }
                                                 }
                                             }
@@ -9395,7 +9395,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x10100xxxx01xxxx0xxxx0xxxx
                                                                  ands.  */
-                                                              return 1242;
+                                                              return 1243;
                                                             }
                                                           else
                                                             {
@@ -9405,7 +9405,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x101010xxx01xxxx0xxxx0xxxx
                                                                      brkas.  */
-                                                                  return 1256;
+                                                                  return 1257;
                                                                 }
                                                               else
                                                                 {
@@ -9413,7 +9413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x101011xxx01xxxx0xxxx0xxxx
                                                                      brkns.  */
-                                                                  return 1260;
+                                                                  return 1261;
                                                                 }
                                                             }
                                                         }
@@ -9423,7 +9423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1010xxxxx01xxxx1xxxx0xxxx
                                                              eors.  */
-                                                          return 1329;
+                                                          return 1330;
                                                         }
                                                     }
                                                   else
@@ -9432,7 +9432,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1010xxxxx01xxxxxxxxx1xxxx
                                                          bics.  */
-                                                      return 1254;
+                                                      return 1255;
                                                     }
                                                 }
                                               else
@@ -9443,7 +9443,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx010xxxxxxxxxxxxx
                                                          ld1w.  */
-                                                      return 1546;
+                                                      return 1547;
                                                     }
                                                   else
                                                     {
@@ -9451,7 +9451,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx011xxxxxxxxxxxxx
                                                          ldff1w.  */
-                                                      return 1632;
+                                                      return 1647;
                                                     }
                                                 }
                                             }
@@ -9469,7 +9469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x11100xxxx01xxxx0xxxx0xxxx
                                                                  orrs.  */
-                                                              return 1698;
+                                                              return 1715;
                                                             }
                                                           else
                                                             {
@@ -9477,7 +9477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x11101xxxx01xxxx0xxxx0xxxx
                                                                  brkbs.  */
-                                                              return 1258;
+                                                              return 1259;
                                                             }
                                                         }
                                                       else
@@ -9486,7 +9486,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1110xxxxx01xxxx1xxxx0xxxx
                                                              nors.  */
-                                                          return 1690;
+                                                          return 1707;
                                                         }
                                                     }
                                                   else
@@ -9497,7 +9497,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1110xxxxx01xxxx0xxxx1xxxx
                                                              orns.  */
-                                                          return 1693;
+                                                          return 1710;
                                                         }
                                                       else
                                                         {
@@ -9505,7 +9505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1110xxxxx01xxxx1xxxx1xxxx
                                                              nands.  */
-                                                          return 1687;
+                                                          return 1704;
                                                         }
                                                     }
                                                 }
@@ -9517,7 +9517,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx010xxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1517;
+                                                      return 1518;
                                                     }
                                                   else
                                                     {
@@ -9525,7 +9525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx011xxxxxxxxxxxxx
                                                          ldff1sb.  */
-                                                      return 1609;
+                                                      return 1620;
                                                     }
                                                 }
                                             }
@@ -9543,7 +9543,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1001xxxxx010xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1528;
+                                                  return 1529;
                                                 }
                                               else
                                                 {
@@ -9551,7 +9551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1101xxxxx010xxxxxxxxxxxxx
                                                      ld1sb.  */
-                                                  return 1516;
+                                                  return 1517;
                                                 }
                                             }
                                           else
@@ -9562,7 +9562,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1011xxxxx010xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1547;
+                                                  return 1548;
                                                 }
                                               else
                                                 {
@@ -9570,7 +9570,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1111xxxxx010xxxxxxxxxxxxx
                                                      ld1d.  */
-                                                  return 1469;
+                                                  return 1470;
                                                 }
                                             }
                                         }
@@ -9584,7 +9584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1001xxxxx011xxxxxxxxxxxxx
                                                      ldff1sh.  */
-                                                  return 1617;
+                                                  return 1630;
                                                 }
                                               else
                                                 {
@@ -9592,7 +9592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1101xxxxx011xxxxxxxxxxxxx
                                                      ldff1sb.  */
-                                                  return 1608;
+                                                  return 1618;
                                                 }
                                             }
                                           else
@@ -9603,7 +9603,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1011xxxxx011xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1633;
+                                                  return 1649;
                                                 }
                                               else
                                                 {
@@ -9611,7 +9611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1111xxxxx011xxxxxxxxxxxxx
                                                      ldff1d.  */
-                                                  return 1589;
+                                                  return 1594;
                                                 }
                                             }
                                         }
@@ -9631,7 +9631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx010xxxxxxxx0xxxx
                                                      fcmge.  */
-                                                  return 1348;
+                                                  return 1349;
                                                 }
                                               else
                                                 {
@@ -9639,7 +9639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx010xxxxxxxx1xxxx
                                                      fcmgt.  */
-                                                  return 1350;
+                                                  return 1351;
                                                 }
                                             }
                                           else
@@ -9648,7 +9648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx010xxxxxxxxxxxxx
                                                  fnmla.  */
-                                              return 1412;
+                                              return 1413;
                                             }
                                         }
                                       else
@@ -9659,7 +9659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  111001x1x0xxxxxx010xxxxxxxxxxxxx
                                                  str.  */
-                                              return 1882;
+                                              return 1899;
                                             }
                                           else
                                             {
@@ -9669,7 +9669,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1x10xxxxx010xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 1841;
+                                                  return 1858;
                                                 }
                                               else
                                                 {
@@ -9679,7 +9679,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1011xxxxx010xxxxxxxxxxxxx
                                                          st1w.  */
-                                                      return 1843;
+                                                      return 1860;
                                                     }
                                                   else
                                                     {
@@ -9687,7 +9687,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1111xxxxx010xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 1820;
+                                                      return 1837;
                                                     }
                                                 }
                                             }
@@ -9705,7 +9705,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx011xxxxxxxx0xxxx
                                                      fcmeq.  */
-                                                  return 1346;
+                                                  return 1347;
                                                 }
                                               else
                                                 {
@@ -9713,7 +9713,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx011xxxxxxxx1xxxx
                                                      fcmne.  */
-                                                  return 1354;
+                                                  return 1355;
                                                 }
                                             }
                                           else
@@ -9726,7 +9726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1000xxxxx011xxxxxxxxxxxxx
                                                          stnt1w.  */
-                                                      return 1879;
+                                                      return 1896;
                                                     }
                                                   else
                                                     {
@@ -9734,7 +9734,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1100xxxxx011xxxxxxxxxxxxx
                                                          stnt1d.  */
-                                                      return 1875;
+                                                      return 1892;
                                                     }
                                                 }
                                               else
@@ -9745,7 +9745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1010xxxxx011xxxxxxxxxxxxx
                                                          st3w.  */
-                                                      return 1863;
+                                                      return 1880;
                                                     }
                                                   else
                                                     {
@@ -9753,7 +9753,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1110xxxxx011xxxxxxxxxxxxx
                                                          st3d.  */
-                                                      return 1859;
+                                                      return 1876;
                                                     }
                                                 }
                                             }
@@ -9766,7 +9766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx011xxxxxxxxxxxxx
                                                  fnmls.  */
-                                              return 1413;
+                                              return 1414;
                                             }
                                           else
                                             {
@@ -9778,7 +9778,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1001xxxxx011xxxxxxxxxxxxx
                                                          st2w.  */
-                                                      return 1855;
+                                                      return 1872;
                                                     }
                                                   else
                                                     {
@@ -9786,7 +9786,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1101xxxxx011xxxxxxxxxxxxx
                                                          st2d.  */
-                                                      return 1851;
+                                                      return 1868;
                                                     }
                                                 }
                                               else
@@ -9797,7 +9797,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1011xxxxx011xxxxxxxxxxxxx
                                                          st4w.  */
-                                                      return 1871;
+                                                      return 1888;
                                                     }
                                                   else
                                                     {
@@ -9805,7 +9805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1111xxxxx011xxxxxxxxxxxxx
                                                          st4d.  */
-                                                      return 1867;
+                                                      return 1884;
                                                     }
                                                 }
                                             }
@@ -9830,7 +9830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x01001x1xx0xxxxx100xxxxxxxx0xxxx
                                                  cmpeq.  */
-                                              return 1275;
+                                              return 1276;
                                             }
                                           else
                                             {
@@ -9838,7 +9838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x01001x1xx0xxxxx100xxxxxxxx1xxxx
                                                  cmpne.  */
-                                              return 1298;
+                                              return 1299;
                                             }
                                         }
                                       else
@@ -9853,7 +9853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x10000xxxx101xxxxxxxxxxxxx
                                                          ld1sh.  */
-                                                      return 1534;
+                                                      return 1535;
                                                     }
                                                   else
                                                     {
@@ -9861,7 +9861,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x11000xxxx101xxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1521;
+                                                      return 1522;
                                                     }
                                                 }
                                               else
@@ -9872,7 +9872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x10100xxxx101xxxxxxxxxxxxx
                                                          ld1w.  */
-                                                      return 1553;
+                                                      return 1554;
                                                     }
                                                   else
                                                     {
@@ -9880,7 +9880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x11100xxxx101xxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1523;
+                                                      return 1524;
                                                     }
                                                 }
                                             }
@@ -9894,7 +9894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x10001xxxx101xxxxxxxxxxxxx
                                                          ldnf1sh.  */
-                                                      return 1651;
+                                                      return 1668;
                                                     }
                                                   else
                                                     {
@@ -9902,7 +9902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x11001xxxx101xxxxxxxxxxxxx
                                                          ldnf1sb.  */
-                                                      return 1648;
+                                                      return 1665;
                                                     }
                                                 }
                                               else
@@ -9913,7 +9913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x10101xxxx101xxxxxxxxxxxxx
                                                          ldnf1w.  */
-                                                      return 1654;
+                                                      return 1671;
                                                     }
                                                   else
                                                     {
@@ -9921,7 +9921,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x11101xxxx101xxxxxxxxxxxxx
                                                          ldnf1sb.  */
-                                                      return 1650;
+                                                      return 1667;
                                                     }
                                                 }
                                             }
@@ -9941,7 +9941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1x000xxxx11xxxxxxxxx0xxxx
                                                          brkpa.  */
-                                                      return 1261;
+                                                      return 1262;
                                                     }
                                                   else
                                                     {
@@ -9949,7 +9949,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1x100xxxx11xxxxxxxxx0xxxx
                                                          brkpas.  */
-                                                      return 1262;
+                                                      return 1263;
                                                     }
                                                 }
                                               else
@@ -9962,7 +9962,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx010xx011xxxxxxxxx0xxxx
                                                              ptest.  */
-                                                          return 1731;
+                                                          return 1748;
                                                         }
                                                       else
                                                         {
@@ -9976,7 +9976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          001001x1xx011xx01100x0xxxxx0xxxx
                                                                          pfirst.  */
-                                                                      return 1701;
+                                                                      return 1718;
                                                                     }
                                                                   else
                                                                     {
@@ -9984,7 +9984,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          001001x1xx011xx01110x0xxxxx0xxxx
                                                                          ptrue.  */
-                                                                      return 1732;
+                                                                      return 1749;
                                                                     }
                                                                 }
                                                               else
@@ -9995,7 +9995,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          001001x1x0011xx011x1x0xxxxx0xxxx
                                                                          rdffr.  */
-                                                                      return 1738;
+                                                                      return 1755;
                                                                     }
                                                                   else
                                                                     {
@@ -10003,7 +10003,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          001001x1x1011xx011x1x0xxxxx0xxxx
                                                                          rdffrs.  */
-                                                                      return 1739;
+                                                                      return 1756;
                                                                     }
                                                                 }
                                                             }
@@ -10013,7 +10013,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx011xx011xxx1xxxxx0xxxx
                                                                  pfalse.  */
-                                                              return 1700;
+                                                              return 1717;
                                                             }
                                                         }
                                                     }
@@ -10027,7 +10027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx01xxx111x0x0xxxxx0xxxx
                                                                  ptrues.  */
-                                                              return 1733;
+                                                              return 1750;
                                                             }
                                                           else
                                                             {
@@ -10035,7 +10035,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx01xxx111x1x0xxxxx0xxxx
                                                                  rdffr.  */
-                                                              return 1737;
+                                                              return 1754;
                                                             }
                                                         }
                                                       else
@@ -10044,7 +10044,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx01xxx111xxx1xxxxx0xxxx
                                                              pnext.  */
-                                                          return 1702;
+                                                          return 1719;
                                                         }
                                                     }
                                                 }
@@ -10057,7 +10057,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1x00xxxxx11xxxxxxxxx1xxxx
                                                      brkpb.  */
-                                                  return 1263;
+                                                  return 1264;
                                                 }
                                               else
                                                 {
@@ -10065,7 +10065,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1x10xxxxx11xxxxxxxxx1xxxx
                                                      brkpbs.  */
-                                                  return 1264;
+                                                  return 1265;
                                                 }
                                             }
                                         }
@@ -10081,7 +10081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx110xxxxxxxxxxxxx
                                                          ldnt1w.  */
-                                                      return 1662;
+                                                      return 1679;
                                                     }
                                                   else
                                                     {
@@ -10089,7 +10089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx110xxxxxxxxxxxxx
                                                          ldnt1d.  */
-                                                      return 1658;
+                                                      return 1675;
                                                     }
                                                 }
                                               else
@@ -10100,7 +10100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx110xxxxxxxxxxxxx
                                                          ld3w.  */
-                                                      return 1570;
+                                                      return 1571;
                                                     }
                                                   else
                                                     {
@@ -10108,7 +10108,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx110xxxxxxxxxxxxx
                                                          ld3d.  */
-                                                      return 1566;
+                                                      return 1567;
                                                     }
                                                 }
                                             }
@@ -10122,7 +10122,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx111xxxxxxxxxxxxx
                                                          ldnt1w.  */
-                                                      return 1663;
+                                                      return 1680;
                                                     }
                                                   else
                                                     {
@@ -10130,7 +10130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx111xxxxxxxxxxxxx
                                                          ldnt1d.  */
-                                                      return 1659;
+                                                      return 1676;
                                                     }
                                                 }
                                               else
@@ -10141,7 +10141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx111xxxxxxxxxxxxx
                                                          ld3w.  */
-                                                      return 1571;
+                                                      return 1572;
                                                     }
                                                   else
                                                     {
@@ -10149,7 +10149,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx111xxxxxxxxxxxxx
                                                          ld3d.  */
-                                                      return 1567;
+                                                      return 1568;
                                                     }
                                                 }
                                             }
@@ -10178,7 +10178,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000000100xxxxxxxxxxxxx
                                                                      fadd.  */
-                                                                  return 1337;
+                                                                  return 1338;
                                                                 }
                                                               else
                                                                 {
@@ -10186,7 +10186,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000100100xxxxxxxxxxxxx
                                                                      fmaxnm.  */
-                                                                  return 1384;
+                                                                  return 1385;
                                                                 }
                                                             }
                                                           else
@@ -10197,7 +10197,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000010100xxxxxxxxxxxxx
                                                                      fmul.  */
-                                                                  return 1404;
+                                                                  return 1405;
                                                                 }
                                                               else
                                                                 {
@@ -10205,7 +10205,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000110100xxxxxxxxxxxxx
                                                                      fmax.  */
-                                                                  return 1382;
+                                                                  return 1383;
                                                                 }
                                                             }
                                                         }
@@ -10219,7 +10219,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000001100xxxxxxxxxxxxx
                                                                      fsub.  */
-                                                                  return 1430;
+                                                                  return 1431;
                                                                 }
                                                               else
                                                                 {
@@ -10227,7 +10227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000101100xxxxxxxxxxxxx
                                                                      fminnm.  */
-                                                                  return 1390;
+                                                                  return 1391;
                                                                 }
                                                             }
                                                           else
@@ -10238,7 +10238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000011100xxxxxxxxxxxxx
                                                                      fsubr.  */
-                                                                  return 1432;
+                                                                  return 1433;
                                                                 }
                                                               else
                                                                 {
@@ -10246,7 +10246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000111100xxxxxxxxxxxxx
                                                                      fmin.  */
-                                                                  return 1388;
+                                                                  return 1389;
                                                                 }
                                                             }
                                                         }
@@ -10257,7 +10257,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x1xx010xxx100xxxxxxxxxxxxx
                                                          ftmad.  */
-                                                      return 1434;
+                                                      return 1435;
                                                     }
                                                 }
                                               else
@@ -10274,7 +10274,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001000100xxxxxxxxxxxxx
                                                                      fabd.  */
-                                                                  return 1332;
+                                                                  return 1333;
                                                                 }
                                                               else
                                                                 {
@@ -10282,7 +10282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011000100xxxxxxxxxxxxx
                                                                      fadd.  */
-                                                                  return 1338;
+                                                                  return 1339;
                                                                 }
                                                             }
                                                           else
@@ -10293,7 +10293,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001100100xxxxxxxxxxxxx
                                                                      fdivr.  */
-                                                                  return 1378;
+                                                                  return 1379;
                                                                 }
                                                               else
                                                                 {
@@ -10301,7 +10301,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011100100xxxxxxxxxxxxx
                                                                      fmaxnm.  */
-                                                                  return 1385;
+                                                                  return 1386;
                                                                 }
                                                             }
                                                         }
@@ -10315,7 +10315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001010100xxxxxxxxxxxxx
                                                                      fmulx.  */
-                                                                  return 1409;
+                                                                  return 1410;
                                                                 }
                                                               else
                                                                 {
@@ -10323,7 +10323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011010100xxxxxxxxxxxxx
                                                                      fmul.  */
-                                                                  return 1405;
+                                                                  return 1406;
                                                                 }
                                                             }
                                                           else
@@ -10332,7 +10332,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  011001x1xx0x1110100xxxxxxxxxxxxx
                                                                  fmax.  */
-                                                              return 1383;
+                                                              return 1384;
                                                             }
                                                         }
                                                     }
@@ -10348,7 +10348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001001100xxxxxxxxxxxxx
                                                                      fscale.  */
-                                                                  return 1427;
+                                                                  return 1428;
                                                                 }
                                                               else
                                                                 {
@@ -10356,7 +10356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011001100xxxxxxxxxxxxx
                                                                      fsub.  */
-                                                                  return 1431;
+                                                                  return 1432;
                                                                 }
                                                             }
                                                           else
@@ -10367,7 +10367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001101100xxxxxxxxxxxxx
                                                                      fdiv.  */
-                                                                  return 1377;
+                                                                  return 1378;
                                                                 }
                                                               else
                                                                 {
@@ -10375,7 +10375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011101100xxxxxxxxxxxxx
                                                                      fminnm.  */
-                                                                  return 1391;
+                                                                  return 1392;
                                                                 }
                                                             }
                                                         }
@@ -10387,7 +10387,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  011001x1xx0x1011100xxxxxxxxxxxxx
                                                                  fsubr.  */
-                                                              return 1433;
+                                                              return 1434;
                                                             }
                                                           else
                                                             {
@@ -10395,7 +10395,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  011001x1xx0x1111100xxxxxxxxxxxxx
                                                                  fmin.  */
-                                                              return 1389;
+                                                              return 1390;
                                                             }
                                                         }
                                                     }
@@ -10409,7 +10409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx110xxxxxxxx0xxxx
                                                      fcmuo.  */
-                                                  return 1355;
+                                                  return 1356;
                                                 }
                                               else
                                                 {
@@ -10417,7 +10417,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx110xxxxxxxx1xxxx
                                                      facge.  */
-                                                  return 1334;
+                                                  return 1335;
                                                 }
                                             }
                                         }
@@ -10431,7 +10431,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1000xxxxx1x0xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 1837;
+                                                  return 1854;
                                                 }
                                               else
                                                 {
@@ -10439,7 +10439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1100xxxxx1x0xxxxxxxxxxxxx
                                                      st1d.  */
-                                                  return 1816;
+                                                  return 1833;
                                                 }
                                             }
                                           else
@@ -10448,7 +10448,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  111001x1x10xxxxx1x0xxxxxxxxxxxxx
                                                  st1w.  */
-                                              return 1842;
+                                              return 1859;
                                             }
                                         }
                                     }
@@ -10472,7 +10472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000000101xxxxxxxxxxxxx
                                                                      frintn.  */
-                                                                  return 1421;
+                                                                  return 1422;
                                                                 }
                                                               else
                                                                 {
@@ -10480,7 +10480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx010000101xxxxxxxxxxxxx
                                                                      scvtf.  */
-                                                                  return 1751;
+                                                                  return 1768;
                                                                 }
                                                             }
                                                           else
@@ -10493,7 +10493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1x0001000101xxxxxxxxxxxxx
                                                                          fcvt.  */
-                                                                      return 1357;
+                                                                      return 1358;
                                                                     }
                                                                   else
                                                                     {
@@ -10501,7 +10501,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1x1001000101xxxxxxxxxxxxx
                                                                          fcvt.  */
-                                                                      return 1359;
+                                                                      return 1360;
                                                                     }
                                                                 }
                                                               else
@@ -10510,7 +10510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011000101xxxxxxxxxxxxx
                                                                      fcvtzs.  */
-                                                                  return 1367;
+                                                                  return 1368;
                                                                 }
                                                             }
                                                         }
@@ -10524,7 +10524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000100101xxxxxxxxxxxxx
                                                                      frinta.  */
-                                                                  return 1418;
+                                                                  return 1419;
                                                                 }
                                                               else
                                                                 {
@@ -10534,7 +10534,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1x0010100101xxxxxxxxxxxxx
                                                                          scvtf.  */
-                                                                      return 1750;
+                                                                      return 1767;
                                                                     }
                                                                   else
                                                                     {
@@ -10544,7 +10544,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x101010100101xxxxxxxxxxxxx
                                                                              scvtf.  */
-                                                                          return 1749;
+                                                                          return 1766;
                                                                         }
                                                                       else
                                                                         {
@@ -10552,7 +10552,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x111010100101xxxxxxxxxxxxx
                                                                              scvtf.  */
-                                                                          return 1753;
+                                                                          return 1770;
                                                                         }
                                                                     }
                                                                 }
@@ -10565,7 +10565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001100101xxxxxxxxxxxxx
                                                                      frecpx.  */
-                                                                  return 1417;
+                                                                  return 1418;
                                                                 }
                                                               else
                                                                 {
@@ -10575,7 +10575,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1x0011100101xxxxxxxxxxxxx
                                                                          fcvtzs.  */
-                                                                      return 1366;
+                                                                      return 1367;
                                                                     }
                                                                   else
                                                                     {
@@ -10585,7 +10585,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x101011100101xxxxxxxxxxxxx
                                                                              fcvtzs.  */
-                                                                          return 1364;
+                                                                          return 1365;
                                                                         }
                                                                       else
                                                                         {
@@ -10593,7 +10593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x111011100101xxxxxxxxxxxxx
                                                                              fcvtzs.  */
-                                                                          return 1368;
+                                                                          return 1369;
                                                                         }
                                                                     }
                                                                 }
@@ -10612,7 +10612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000010101xxxxxxxxxxxxx
                                                                      frintm.  */
-                                                                  return 1420;
+                                                                  return 1421;
                                                                 }
                                                               else
                                                                 {
@@ -10620,7 +10620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx010010101xxxxxxxxxxxxx
                                                                      scvtf.  */
-                                                                  return 1748;
+                                                                  return 1765;
                                                                 }
                                                             }
                                                           else
@@ -10631,7 +10631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001010101xxxxxxxxxxxxx
                                                                      fcvt.  */
-                                                                  return 1361;
+                                                                  return 1362;
                                                                 }
                                                               else
                                                                 {
@@ -10639,7 +10639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011010101xxxxxxxxxxxxx
                                                                      fcvtzs.  */
-                                                                  return 1363;
+                                                                  return 1364;
                                                                 }
                                                             }
                                                         }
@@ -10653,7 +10653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000110101xxxxxxxxxxxxx
                                                                      frintx.  */
-                                                                  return 1423;
+                                                                  return 1424;
                                                                 }
                                                               else
                                                                 {
@@ -10663,7 +10663,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x10x010110101xxxxxxxxxxxxx
                                                                          scvtf.  */
-                                                                      return 1752;
+                                                                      return 1769;
                                                                     }
                                                                   else
                                                                     {
@@ -10671,7 +10671,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x11x010110101xxxxxxxxxxxxx
                                                                          scvtf.  */
-                                                                      return 1754;
+                                                                      return 1771;
                                                                     }
                                                                 }
                                                             }
@@ -10683,7 +10683,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x10x0x1110101xxxxxxxxxxxxx
                                                                      fcvtzs.  */
-                                                                  return 1365;
+                                                                  return 1366;
                                                                 }
                                                               else
                                                                 {
@@ -10691,7 +10691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x11x0x1110101xxxxxxxxxxxxx
                                                                      fcvtzs.  */
-                                                                  return 1369;
+                                                                  return 1370;
                                                                 }
                                                             }
                                                         }
@@ -10711,7 +10711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000001101xxxxxxxxxxxxx
                                                                      frintp.  */
-                                                                  return 1422;
+                                                                  return 1423;
                                                                 }
                                                               else
                                                                 {
@@ -10719,7 +10719,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx010001101xxxxxxxxxxxxx
                                                                      ucvtf.  */
-                                                                  return 1903;
+                                                                  return 1920;
                                                                 }
                                                             }
                                                           else
@@ -10732,7 +10732,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1x0001001101xxxxxxxxxxxxx
                                                                          fcvt.  */
-                                                                      return 1358;
+                                                                      return 1359;
                                                                     }
                                                                   else
                                                                     {
@@ -10740,7 +10740,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1x1001001101xxxxxxxxxxxxx
                                                                          fcvt.  */
-                                                                      return 1360;
+                                                                      return 1361;
                                                                     }
                                                                 }
                                                               else
@@ -10749,7 +10749,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011001101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 1374;
+                                                                  return 1375;
                                                                 }
                                                             }
                                                         }
@@ -10763,7 +10763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1x00x0101101xxxxxxxxxxxxx
                                                                      ucvtf.  */
-                                                                  return 1902;
+                                                                  return 1919;
                                                                 }
                                                               else
                                                                 {
@@ -10773,7 +10773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1010x0101101xxxxxxxxxxxxx
                                                                          ucvtf.  */
-                                                                      return 1901;
+                                                                      return 1918;
                                                                     }
                                                                   else
                                                                     {
@@ -10781,7 +10781,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1110x0101101xxxxxxxxxxxxx
                                                                          ucvtf.  */
-                                                                      return 1905;
+                                                                      return 1922;
                                                                     }
                                                                 }
                                                             }
@@ -10793,7 +10793,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001101101xxxxxxxxxxxxx
                                                                      fsqrt.  */
-                                                                  return 1428;
+                                                                  return 1429;
                                                                 }
                                                               else
                                                                 {
@@ -10803,7 +10803,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1x0011101101xxxxxxxxxxxxx
                                                                          fcvtzu.  */
-                                                                      return 1373;
+                                                                      return 1374;
                                                                     }
                                                                   else
                                                                     {
@@ -10813,7 +10813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x101011101101xxxxxxxxxxxxx
                                                                              fcvtzu.  */
-                                                                          return 1371;
+                                                                          return 1372;
                                                                         }
                                                                       else
                                                                         {
@@ -10821,7 +10821,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x111011101101xxxxxxxxxxxxx
                                                                              fcvtzu.  */
-                                                                          return 1375;
+                                                                          return 1376;
                                                                         }
                                                                     }
                                                                 }
@@ -10840,7 +10840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000011101xxxxxxxxxxxxx
                                                                      frintz.  */
-                                                                  return 1424;
+                                                                  return 1425;
                                                                 }
                                                               else
                                                                 {
@@ -10848,7 +10848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx010011101xxxxxxxxxxxxx
                                                                      ucvtf.  */
-                                                                  return 1900;
+                                                                  return 1917;
                                                                 }
                                                             }
                                                           else
@@ -10859,7 +10859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001011101xxxxxxxxxxxxx
                                                                      fcvt.  */
-                                                                  return 1362;
+                                                                  return 1363;
                                                                 }
                                                               else
                                                                 {
@@ -10867,7 +10867,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011011101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 1370;
+                                                                  return 1371;
                                                                 }
                                                             }
                                                         }
@@ -10881,7 +10881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000111101xxxxxxxxxxxxx
                                                                      frinti.  */
-                                                                  return 1419;
+                                                                  return 1420;
                                                                 }
                                                               else
                                                                 {
@@ -10891,7 +10891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x10x010111101xxxxxxxxxxxxx
                                                                          ucvtf.  */
-                                                                      return 1904;
+                                                                      return 1921;
                                                                     }
                                                                   else
                                                                     {
@@ -10899,7 +10899,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x11x010111101xxxxxxxxxxxxx
                                                                          ucvtf.  */
-                                                                      return 1906;
+                                                                      return 1923;
                                                                     }
                                                                 }
                                                             }
@@ -10911,7 +10911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x10x0x1111101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 1372;
+                                                                  return 1373;
                                                                 }
                                                               else
                                                                 {
@@ -10919,7 +10919,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x11x0x1111101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 1376;
+                                                                  return 1377;
                                                                 }
                                                             }
                                                         }
@@ -10936,7 +10936,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1000xxxxx101xxxxxxxxxxxxx
                                                          st1w.  */
-                                                      return 1838;
+                                                      return 1855;
                                                     }
                                                   else
                                                     {
@@ -10944,7 +10944,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1100xxxxx101xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 1817;
+                                                      return 1834;
                                                     }
                                                 }
                                               else
@@ -10955,7 +10955,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1010xxxxx101xxxxxxxxxxxxx
                                                          st1w.  */
-                                                      return 1845;
+                                                      return 1862;
                                                     }
                                                   else
                                                     {
@@ -10963,7 +10963,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1110xxxxx101xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 1821;
+                                                      return 1838;
                                                     }
                                                 }
                                             }
@@ -10976,7 +10976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx0xxxxx111xxxxxxxxxxxxx
                                                  facgt.  */
-                                              return 1335;
+                                              return 1336;
                                             }
                                           else
                                             {
@@ -10986,7 +10986,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1xx00xxxx111xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 1846;
+                                                  return 1863;
                                                 }
                                               else
                                                 {
@@ -10998,7 +10998,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x10001xxxx111xxxxxxxxxxxxx
                                                              stnt1w.  */
-                                                          return 1880;
+                                                          return 1897;
                                                         }
                                                       else
                                                         {
@@ -11006,7 +11006,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x11001xxxx111xxxxxxxxxxxxx
                                                              stnt1d.  */
-                                                          return 1876;
+                                                          return 1893;
                                                         }
                                                     }
                                                   else
@@ -11017,7 +11017,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x10101xxxx111xxxxxxxxxxxxx
                                                              st3w.  */
-                                                          return 1864;
+                                                          return 1881;
                                                         }
                                                       else
                                                         {
@@ -11025,7 +11025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x11101xxxx111xxxxxxxxxxxxx
                                                              st3d.  */
-                                                          return 1860;
+                                                          return 1877;
                                                         }
                                                     }
                                                 }
@@ -11056,7 +11056,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10000010xxxxxxxxxxxxxx
                                                                  cntp.  */
-                                                              return 1304;
+                                                              return 1305;
                                                             }
                                                           else
                                                             {
@@ -11070,7 +11070,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              001001x1xx10100010x000xxxxxxxxxx
                                                                              sqincp.  */
-                                                                          return 1795;
+                                                                          return 1812;
                                                                         }
                                                                       else
                                                                         {
@@ -11078,7 +11078,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              001001x1xx10100010x100xxxxxxxxxx
                                                                              wrffr.  */
-                                                                          return 1968;
+                                                                          return 1985;
                                                                         }
                                                                     }
                                                                   else
@@ -11087,7 +11087,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          001001x1xx10100010xx10xxxxxxxxxx
                                                                          sqincp.  */
-                                                                      return 1797;
+                                                                      return 1814;
                                                                     }
                                                                 }
                                                               else
@@ -11096,7 +11096,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10100010xxx1xxxxxxxxxx
                                                                      sqincp.  */
-                                                                  return 1796;
+                                                                  return 1813;
                                                                 }
                                                             }
                                                         }
@@ -11110,7 +11110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10010x00xxxxxxxxxxx
                                                                      incp.  */
-                                                                  return 1442;
+                                                                  return 1443;
                                                                 }
                                                               else
                                                                 {
@@ -11118,7 +11118,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10010x10xxxxxxxxxxx
                                                                      setffr.  */
-                                                                  return 1762;
+                                                                  return 1779;
                                                                 }
                                                             }
                                                           else
@@ -11127,7 +11127,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10x10010xx1xxxxxxxxxxx
                                                                  incp.  */
-                                                              return 1443;
+                                                              return 1444;
                                                             }
                                                         }
                                                     }
@@ -11141,7 +11141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1010xx00xxxxxxxxxx
                                                                  sqdecp.  */
-                                                              return 1781;
+                                                              return 1798;
                                                             }
                                                           else
                                                             {
@@ -11149,7 +11149,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1010xx10xxxxxxxxxx
                                                                  sqdecp.  */
-                                                              return 1783;
+                                                              return 1800;
                                                             }
                                                         }
                                                       else
@@ -11158,7 +11158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx10xx1010xxx1xxxxxxxxxx
                                                              sqdecp.  */
-                                                          return 1782;
+                                                          return 1799;
                                                         }
                                                     }
                                                 }
@@ -11176,7 +11176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x00110xx00xxxxxxxxxx
                                                                      uqincp.  */
-                                                                  return 1943;
+                                                                  return 1960;
                                                                 }
                                                               else
                                                                 {
@@ -11184,7 +11184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10110xx00xxxxxxxxxx
                                                                      decp.  */
-                                                                  return 1317;
+                                                                  return 1318;
                                                                 }
                                                             }
                                                           else
@@ -11193,7 +11193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1110xx00xxxxxxxxxx
                                                                  uqdecp.  */
-                                                              return 1929;
+                                                              return 1946;
                                                             }
                                                         }
                                                       else
@@ -11206,7 +11206,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x00110xx10xxxxxxxxxx
                                                                      uqincp.  */
-                                                                  return 1944;
+                                                                  return 1961;
                                                                 }
                                                               else
                                                                 {
@@ -11214,7 +11214,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10110xx10xxxxxxxxxx
                                                                      decp.  */
-                                                                  return 1318;
+                                                                  return 1319;
                                                                 }
                                                             }
                                                           else
@@ -11223,7 +11223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1110xx10xxxxxxxxxx
                                                                  uqdecp.  */
-                                                              return 1930;
+                                                              return 1947;
                                                             }
                                                         }
                                                     }
@@ -11235,7 +11235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx10xx0110xxx1xxxxxxxxxx
                                                              uqincp.  */
-                                                          return 1945;
+                                                          return 1962;
                                                         }
                                                       else
                                                         {
@@ -11243,7 +11243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx10xx1110xxx1xxxxxxxxxx
                                                              uqdecp.  */
-                                                          return 1931;
+                                                          return 1948;
                                                         }
                                                     }
                                                 }
@@ -11258,7 +11258,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x10010xxxx10xxxxxxxxxxxxxx
                                                          ld1sh.  */
-                                                      return 1535;
+                                                      return 1536;
                                                     }
                                                   else
                                                     {
@@ -11266,7 +11266,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x11010xxxx10xxxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1522;
+                                                      return 1523;
                                                     }
                                                 }
                                               else
@@ -11277,7 +11277,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x10110xxxx10xxxxxxxxxxxxxx
                                                          ld1w.  */
-                                                      return 1554;
+                                                      return 1555;
                                                     }
                                                   else
                                                     {
@@ -11285,7 +11285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x11110xxxx10xxxxxxxxxxxxxx
                                                          ld1d.  */
-                                                      return 1474;
+                                                      return 1475;
                                                     }
                                                 }
                                             }
@@ -11300,7 +11300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x10011xxxx10xxxxxxxxxxxxxx
                                                      ldnf1sh.  */
-                                                  return 1652;
+                                                  return 1669;
                                                 }
                                               else
                                                 {
@@ -11308,7 +11308,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x11011xxxx10xxxxxxxxxxxxxx
                                                      ldnf1sb.  */
-                                                  return 1649;
+                                                  return 1666;
                                                 }
                                             }
                                           else
@@ -11319,7 +11319,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x10111xxxx10xxxxxxxxxxxxxx
                                                      ldnf1w.  */
-                                                  return 1655;
+                                                  return 1672;
                                                 }
                                               else
                                                 {
@@ -11327,7 +11327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x11111xxxx10xxxxxxxxxxxxxx
                                                      ldnf1d.  */
-                                                  return 1644;
+                                                  return 1661;
                                                 }
                                             }
                                         }
@@ -11350,7 +11350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10000011xxxxxxxxxxxxxx
                                                                  add.  */
-                                                              return 1231;
+                                                              return 1232;
                                                             }
                                                           else
                                                             {
@@ -11358,7 +11358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx11000011xxxxxxxxxxxxxx
                                                                  mul.  */
-                                                              return 1684;
+                                                              return 1701;
                                                             }
                                                         }
                                                       else
@@ -11369,7 +11369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10100011xxxxxxxxxxxxxx
                                                                  smax.  */
-                                                              return 1763;
+                                                              return 1780;
                                                             }
                                                           else
                                                             {
@@ -11377,7 +11377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx11100011xxxxxxxxxxxxxx
                                                                  dup.  */
-                                                              return 1323;
+                                                              return 1324;
                                                             }
                                                         }
                                                     }
@@ -11387,7 +11387,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx10011xxxxxxxxxxxxxx
                                                          sqadd.  */
-                                                      return 1772;
+                                                      return 1789;
                                                     }
                                                 }
                                               else
@@ -11398,7 +11398,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx01011xxxxxxxxxxxxxx
                                                          smin.  */
-                                                      return 1766;
+                                                      return 1783;
                                                     }
                                                   else
                                                     {
@@ -11406,7 +11406,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx11011xxxxxxxxxxxxxx
                                                          sqsub.  */
-                                                      return 1802;
+                                                      return 1819;
                                                     }
                                                 }
                                             }
@@ -11422,7 +11422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx1x000111xxxxxxxxxxxxxx
                                                              sub.  */
-                                                          return 1884;
+                                                          return 1901;
                                                         }
                                                       else
                                                         {
@@ -11432,7 +11432,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10100111xxxxxxxxxxxxxx
                                                                  umax.  */
-                                                              return 1912;
+                                                              return 1929;
                                                             }
                                                           else
                                                             {
@@ -11440,7 +11440,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx11100111xxxxxxxxxxxxxx
                                                                  fdup.  */
-                                                              return 1379;
+                                                              return 1380;
                                                             }
                                                         }
                                                     }
@@ -11450,7 +11450,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx10111xxxxxxxxxxxxxx
                                                          uqadd.  */
-                                                      return 1920;
+                                                      return 1937;
                                                     }
                                                 }
                                               else
@@ -11463,7 +11463,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx1x001111xxxxxxxxxxxxxx
                                                              subr.  */
-                                                          return 1886;
+                                                          return 1903;
                                                         }
                                                       else
                                                         {
@@ -11471,7 +11471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx1x101111xxxxxxxxxxxxxx
                                                              umin.  */
-                                                          return 1915;
+                                                          return 1932;
                                                         }
                                                     }
                                                   else
@@ -11480,7 +11480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx11111xxxxxxxxxxxxxx
                                                          uqsub.  */
-                                                      return 1950;
+                                                      return 1967;
                                                     }
                                                 }
                                             }
@@ -11497,7 +11497,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1001xxxxx110xxxxxxxxxxxxx
                                                          ld2w.  */
-                                                      return 1562;
+                                                      return 1563;
                                                     }
                                                   else
                                                     {
@@ -11505,7 +11505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1101xxxxx110xxxxxxxxxxxxx
                                                          ld2d.  */
-                                                      return 1558;
+                                                      return 1559;
                                                     }
                                                 }
                                               else
@@ -11516,7 +11516,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1011xxxxx110xxxxxxxxxxxxx
                                                          ld4w.  */
-                                                      return 1578;
+                                                      return 1579;
                                                     }
                                                   else
                                                     {
@@ -11524,7 +11524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1111xxxxx110xxxxxxxxxxxxx
                                                          ld4d.  */
-                                                      return 1574;
+                                                      return 1575;
                                                     }
                                                 }
                                             }
@@ -11538,7 +11538,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1001xxxxx111xxxxxxxxxxxxx
                                                          ld2w.  */
-                                                      return 1563;
+                                                      return 1564;
                                                     }
                                                   else
                                                     {
@@ -11546,7 +11546,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1101xxxxx111xxxxxxxxxxxxx
                                                          ld2d.  */
-                                                      return 1559;
+                                                      return 1560;
                                                     }
                                                 }
                                               else
@@ -11557,7 +11557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1011xxxxx111xxxxxxxxxxxxx
                                                          ld4w.  */
-                                                      return 1579;
+                                                      return 1580;
                                                     }
                                                   else
                                                     {
@@ -11565,7 +11565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1111xxxxx111xxxxxxxxxxxxx
                                                          ld4d.  */
-                                                      return 1575;
+                                                      return 1576;
                                                     }
                                                 }
                                             }
@@ -11584,7 +11584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx100xxxxxxxxxxxxx
                                                  fmad.  */
-                                              return 1381;
+                                              return 1382;
                                             }
                                           else
                                             {
@@ -11592,7 +11592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx110xxxxxxxxxxxxx
                                                  fnmad.  */
-                                              return 1411;
+                                              return 1412;
                                             }
                                         }
                                       else
@@ -11605,7 +11605,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1001xxxxx1x0xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 1839;
+                                                  return 1856;
                                                 }
                                               else
                                                 {
@@ -11613,7 +11613,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1101xxxxx1x0xxxxxxxxxxxxx
                                                      st1d.  */
-                                                  return 1818;
+                                                  return 1835;
                                                 }
                                             }
                                           else
@@ -11622,7 +11622,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  111001x1x11xxxxx1x0xxxxxxxxxxxxx
                                                  st1w.  */
-                                              return 1844;
+                                              return 1861;
                                             }
                                         }
                                     }
@@ -11636,7 +11636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx101xxxxxxxxxxxxx
                                                  fmsb.  */
-                                              return 1402;
+                                              return 1403;
                                             }
                                           else
                                             {
@@ -11648,7 +11648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1001xxxxx101xxxxxxxxxxxxx
                                                          st1w.  */
-                                                      return 1840;
+                                                      return 1857;
                                                     }
                                                   else
                                                     {
@@ -11656,7 +11656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1101xxxxx101xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 1819;
+                                                      return 1836;
                                                     }
                                                 }
                                               else
@@ -11665,7 +11665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1x11xxxxx101xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 1847;
+                                                  return 1864;
                                                 }
                                             }
                                         }
@@ -11677,7 +11677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx111xxxxxxxxxxxxx
                                                  fnmsb.  */
-                                              return 1414;
+                                              return 1415;
                                             }
                                           else
                                             {
@@ -11689,7 +11689,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x10x10xxxx111xxxxxxxxxxxxx
                                                          st1w.  */
-                                                      return 1848;
+                                                      return 1865;
                                                     }
                                                   else
                                                     {
@@ -11697,7 +11697,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x11x10xxxx111xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 1822;
+                                                      return 1839;
                                                     }
                                                 }
                                               else
@@ -11710,7 +11710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x10011xxxx111xxxxxxxxxxxxx
                                                              st2w.  */
-                                                          return 1856;
+                                                          return 1873;
                                                         }
                                                       else
                                                         {
@@ -11718,7 +11718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x11011xxxx111xxxxxxxxxxxxx
                                                              st2d.  */
-                                                          return 1852;
+                                                          return 1869;
                                                         }
                                                     }
                                                   else
@@ -11729,7 +11729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x10111xxxx111xxxxxxxxxxxxx
                                                              st4w.  */
-                                                          return 1872;
+                                                          return 1889;
                                                         }
                                                       else
                                                         {
@@ -11737,7 +11737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x11111xxxx111xxxxxxxxxxxxx
                                                              st4d.  */
-                                                          return 1868;
+                                                          return 1885;
                                                         }
                                                     }
                                                 }
@@ -12054,7 +12054,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x1010101xx1xxxxxxxxxxxxxxxxxxxxx
                                      sysl.  */
-                                  return 1182;
+                                  return 1183;
                                 }
                               else
                                 {
@@ -12097,7 +12097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xx110110xxxxxxxxxxxxxxxxxxxxxxxx
                              tbz.  */
-                          return 1192;
+                          return 1193;
                         }
                     }
                   else
@@ -12116,7 +12116,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xx110111xxxxxxxxxxxxxxxxxxxxxxxx
                              tbnz.  */
-                          return 1193;
+                          return 1194;
                         }
                     }
                 }
@@ -12677,7 +12677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxx1x0101xxxxxxxxxx
                                                          sdot.  */
-                                                      return 1987;
+                                                      return 2004;
                                                     }
                                                 }
                                               else
@@ -12809,7 +12809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110000xxxxxxxxxxxxxxxxxxxxx
                                              eor3.  */
-                                          return 1994;
+                                          return 2011;
                                         }
                                       else
                                         {
@@ -12817,7 +12817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110100xxxxxxxxxxxxxxxxxxxxx
                                              xar.  */
-                                          return 1996;
+                                          return 2013;
                                         }
                                     }
                                   else
@@ -12828,7 +12828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110x10xxxxx0xxxxxxxxxxxxxxx
                                              sm3ss1.  */
-                                          return 1998;
+                                          return 2015;
                                         }
                                       else
                                         {
@@ -12842,7 +12842,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110010xxxxx1xxx00xxxxxxxxxx
                                                          sm3tt1a.  */
-                                                      return 1999;
+                                                      return 2016;
                                                     }
                                                   else
                                                     {
@@ -12850,7 +12850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110110xxxxx1xxx00xxxxxxxxxx
                                                          sha512su0.  */
-                                                      return 1992;
+                                                      return 2009;
                                                     }
                                                 }
                                               else
@@ -12859,7 +12859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x001110x10xxxxx1xxx10xxxxxxxxxx
                                                      sm3tt2a.  */
-                                                  return 2001;
+                                                  return 2018;
                                                 }
                                             }
                                           else
@@ -12872,7 +12872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110010xxxxx1xxx01xxxxxxxxxx
                                                          sm3tt1b.  */
-                                                      return 2000;
+                                                      return 2017;
                                                     }
                                                   else
                                                     {
@@ -12880,7 +12880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110110xxxxx1xxx01xxxxxxxxxx
                                                          sm4e.  */
-                                                      return 2005;
+                                                      return 2022;
                                                     }
                                                 }
                                               else
@@ -12889,7 +12889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x001110x10xxxxx1xxx11xxxxxxxxxx
                                                      sm3tt2b.  */
-                                                  return 2002;
+                                                  return 2019;
                                                 }
                                             }
                                         }
@@ -13070,7 +13070,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx0xxxxx100101xxxxxxxxxx
                                                          udot.  */
-                                                      return 1986;
+                                                      return 2003;
                                                     }
                                                 }
                                               else
@@ -13981,7 +13981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          1x001110xx1xxxxx0xxxxxxxxxxxxxxx
                                          bcax.  */
-                                      return 1997;
+                                      return 2014;
                                     }
                                 }
                               else
@@ -14592,7 +14592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  11001110xx1xxxxx100000xxxxxxxxxx
                                                                  sha512h.  */
-                                                              return 1990;
+                                                              return 2007;
                                                             }
                                                         }
                                                     }
@@ -14644,7 +14644,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  11001110xx1xxxxx110000xxxxxxxxxx
                                                                  sm3partw1.  */
-                                                              return 2003;
+                                                              return 2020;
                                                             }
                                                         }
                                                     }
@@ -14887,7 +14887,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100010xxxxxxxxxx
                                                              sha512su1.  */
-                                                          return 1993;
+                                                          return 2010;
                                                         }
                                                     }
                                                   else
@@ -14963,7 +14963,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x0011100x1xxxxx110010xxxxxxxxxx
                                                                  sm4ekey.  */
-                                                              return 2006;
+                                                              return 2023;
                                                             }
                                                         }
                                                       else
@@ -15745,7 +15745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100001xxxxxxxxxx
                                                              sha512h2.  */
-                                                          return 1991;
+                                                          return 2008;
                                                         }
                                                     }
                                                   else
@@ -15777,7 +15777,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x0011100x1xxxxx110001xxxxxxxxxx
                                                                  sm3partw2.  */
-                                                              return 2004;
+                                                              return 2021;
                                                             }
                                                         }
                                                       else
@@ -16017,7 +16017,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100011xxxxxxxxxx
                                                              rax1.  */
-                                                          return 1995;
+                                                          return 2012;
                                                         }
                                                     }
                                                   else
@@ -16049,7 +16049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x01011100x1xxxxx110011xxxxxxxxxx
                                                                  fmlal2.  */
-                                                              return 2009;
+                                                              return 2026;
                                                             }
                                                           else
                                                             {
@@ -16057,7 +16057,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11011100x1xxxxx110011xxxxxxxxxx
                                                                  fmlal2.  */
-                                                              return 2013;
+                                                              return 2030;
                                                             }
                                                         }
                                                     }
@@ -16079,7 +16079,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x01011101x1xxxxx110011xxxxxxxxxx
                                                                  fmlsl2.  */
-                                                              return 2010;
+                                                              return 2027;
                                                             }
                                                           else
                                                             {
@@ -16087,7 +16087,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11011101x1xxxxx110011xxxxxxxxxx
                                                                  fmlsl2.  */
-                                                              return 2014;
+                                                              return 2031;
                                                             }
                                                         }
                                                     }
@@ -16126,7 +16126,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x00011100x1xxxxx111011xxxxxxxxxx
                                                                  fmlal.  */
-                                                              return 2007;
+                                                              return 2024;
                                                             }
                                                           else
                                                             {
@@ -16134,7 +16134,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10011100x1xxxxx111011xxxxxxxxxx
                                                                  fmlal.  */
-                                                              return 2011;
+                                                              return 2028;
                                                             }
                                                         }
                                                       else
@@ -16156,7 +16156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x00011101x1xxxxx111011xxxxxxxxxx
                                                                  fmlsl.  */
-                                                              return 2008;
+                                                              return 2025;
                                                             }
                                                           else
                                                             {
@@ -16164,7 +16164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10011101x1xxxxx111011xxxxxxxxxx
                                                                  fmlsl.  */
-                                                              return 2012;
+                                                              return 2029;
                                                             }
                                                         }
                                                       else
@@ -17928,7 +17928,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0000x0xxxxxxxxxx
                                                      fmlal.  */
-                                                  return 2015;
+                                                  return 2032;
                                                 }
                                               else
                                                 {
@@ -17936,7 +17936,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0000x0xxxxxxxxxx
                                                      fmlal.  */
-                                                  return 2019;
+                                                  return 2036;
                                                 }
                                             }
                                           else
@@ -17958,7 +17958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0100x0xxxxxxxxxx
                                                      fmlsl.  */
-                                                  return 2016;
+                                                  return 2033;
                                                 }
                                               else
                                                 {
@@ -17966,7 +17966,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0100x0xxxxxxxxxx
                                                      fmlsl.  */
-                                                  return 2020;
+                                                  return 2037;
                                                 }
                                             }
                                           else
@@ -18448,13 +18448,13 @@ aarch64_opcode_lookup_1 (uint32_t word)
                     {
                       if (((word >> 28) & 0x1) == 0)
                         {
-                          if (((word >> 14) & 0x1) == 0)
+                          if (((word >> 10) & 0x1) == 0)
                             {
-                              if (((word >> 10) & 0x1) == 0)
+                              if (((word >> 12) & 0x1) == 0)
                                 {
-                                  if (((word >> 12) & 0x1) == 0)
+                                  if (((word >> 13) & 0x1) == 0)
                                     {
-                                      if (((word >> 13) & 0x1) == 0)
+                                      if (((word >> 14) & 0x1) == 0)
                                         {
                                           if (((word >> 29) & 0x1) == 0)
                                             {
@@ -18472,7 +18472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1000x0xxxxxxxxxx
                                                      fmlal2.  */
-                                                  return 2017;
+                                                  return 2034;
                                                 }
                                               else
                                                 {
@@ -18480,7 +18480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1000x0xxxxxxxxxx
                                                      fmlal2.  */
-                                                  return 2021;
+                                                  return 2038;
                                                 }
                                             }
                                         }
@@ -18488,6 +18488,39 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           if (((word >> 29) & 0x1) == 0)
                                             {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx001111xxxxxxxx1100x0xxxxxxxxxx
+                                                 sqdmulh.  */
+                                              return 109;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x0101111xxxxxxxx1100x0xxxxxxxxxx
+                                                     fmlsl2.  */
+                                                  return 2035;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x1101111xxxxxxxx1100x0xxxxxxxxxx
+                                                     fmlsl2.  */
+                                                  return 2039;
+                                                }
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 29) & 0x1) == 0)
+                                            {
                                               if (((word >> 30) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
@@ -18525,10 +18558,32 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 }
                                             }
                                         }
+                                      else
+                                        {
+                                          if (((word >> 29) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx001111xxxxxxxx1110x0xxxxxxxxxx
+                                                 sdot.  */
+                                              return 2006;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx101111xxxxxxxx1110x0xxxxxxxxxx
+                                                 udot.  */
+                                              return 2005;
+                                            }
+                                        }
                                     }
-                                  else
+                                }
+                              else
+                                {
+                                  if (((word >> 13) & 0x1) == 0)
                                     {
-                                      if (((word >> 13) & 0x1) == 0)
+                                      if (((word >> 14) & 0x1) == 0)
                                         {
                                           if (((word >> 23) & 0x1) == 0)
                                             {
@@ -18571,6 +18626,28 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         }
                                       else
                                         {
+                                          if (((word >> 29) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx001111xxxxxxxx1101x0xxxxxxxxxx
+                                                 sqrdmulh.  */
+                                              return 110;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx101111xxxxxxxx1101x0xxxxxxxxxx
+                                                 sqrdmlah.  */
+                                              return 127;
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
                                           if (((word >> 30) & 0x1) == 0)
                                             {
                                               /* 33222222222211111111110000000000
@@ -18588,11 +18665,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                               return 108;
                                             }
                                         }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxx01111xxxxxxxx1111x0xxxxxxxxxx
+                                             sqrdmlsh.  */
+                                          return 128;
+                                        }
                                     }
                                 }
-                              else
+                            }
+                          else
+                            {
+                              if (((word >> 11) & 0x1) == 0)
                                 {
-                                  if (((word >> 11) & 0x1) == 0)
+                                  if (((word >> 14) & 0x1) == 0)
                                     {
                                       if (((word >> 12) & 0x1) == 0)
                                         {
@@ -18635,239 +18723,173 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     }
                                   else
                                     {
-                                      if (((word >> 12) & 0x1) == 0)
+                                      if (((word >> 13) & 0x1) == 0)
                                         {
                                           if (((word >> 29) & 0x1) == 0)
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x0001111xxxxxxxx10x011xxxxxxxxxx
-                                                     rshrn.  */
-                                                  return 376;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x1001111xxxxxxxx10x011xxxxxxxxxx
-                                                     rshrn2.  */
-                                                  return 377;
-                                                }
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx001111xxxxxxxx110x01xxxxxxxxxx
+                                                 movi.  */
+                                              return 135;
                                             }
                                           else
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x0101111xxxxxxxx10x011xxxxxxxxxx
-                                                     sqrshrun.  */
-                                                  return 400;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x1101111xxxxxxxx10x011xxxxxxxxxx
-                                                     sqrshrun2.  */
-                                                  return 401;
-                                                }
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx101111xxxxxxxx110x01xxxxxxxxxx
+                                                 mvni.  */
+                                              return 143;
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 29) & 0x1) == 0)
+                                          if (((word >> 12) & 0x1) == 0)
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
+                                              if (((word >> 29) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x0001111xxxxxxxx10x111xxxxxxxxxx
-                                                     sqrshrn.  */
-                                                  return 380;
+                                                     xx001111xxxxxxxx111001xxxxxxxxxx
+                                                     movi.  */
+                                                  return 136;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x1001111xxxxxxxx10x111xxxxxxxxxx
-                                                     sqrshrn2.  */
-                                                  return 381;
+                                                     xx101111xxxxxxxx111001xxxxxxxxxx
+                                                     movi.  */
+                                                  return 144;
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
+                                              if (((word >> 29) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x0101111xxxxxxxx10x111xxxxxxxxxx
-                                                     uqrshrn.  */
-                                                  return 404;
+                                                     xx001111xxxxxxxx111101xxxxxxxxxx
+                                                     fmov.  */
+                                                  return 137;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x1101111xxxxxxxx10x111xxxxxxxxxx
-                                                     uqrshrn2.  */
-                                                  return 405;
+                                                     xx101111xxxxxxxx111101xxxxxxxxxx
+                                                     fmov.  */
+                                                  return 146;
                                                 }
                                             }
                                         }
                                     }
                                 }
-                            }
-                          else
-                            {
-                              if (((word >> 13) & 0x1) == 0)
+                              else
                                 {
-                                  if (((word >> 10) & 0x1) == 0)
+                                  if (((word >> 12) & 0x1) == 0)
                                     {
-                                      if (((word >> 12) & 0x1) == 0)
+                                      if (((word >> 29) & 0x1) == 0)
                                         {
-                                          if (((word >> 29) & 0x1) == 0)
+                                          if (((word >> 30) & 0x1) == 0)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xx001111xxxxxxxx1100x0xxxxxxxxxx
-                                                 sqdmulh.  */
-                                              return 109;
+                                                 x0001111xxxxxxxx1xx011xxxxxxxxxx
+                                                 rshrn.  */
+                                              return 376;
                                             }
                                           else
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x0101111xxxxxxxx1100x0xxxxxxxxxx
-                                                     fmlsl2.  */
-                                                  return 2018;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x1101111xxxxxxxx1100x0xxxxxxxxxx
-                                                     fmlsl2.  */
-                                                  return 2022;
-                                                }
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 x1001111xxxxxxxx1xx011xxxxxxxxxx
+                                                 rshrn2.  */
+                                              return 377;
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 29) & 0x1) == 0)
+                                          if (((word >> 30) & 0x1) == 0)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xx001111xxxxxxxx1101x0xxxxxxxxxx
-                                                 sqrdmulh.  */
-                                              return 110;
+                                                 x0101111xxxxxxxx1xx011xxxxxxxxxx
+                                                 sqrshrun.  */
+                                              return 400;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xx101111xxxxxxxx1101x0xxxxxxxxxx
-                                                 sqrdmlah.  */
-                                              return 127;
+                                                 x1101111xxxxxxxx1xx011xxxxxxxxxx
+                                                 sqrshrun2.  */
+                                              return 401;
                                             }
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 29) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xx001111xxxxxxxx110xx1xxxxxxxxxx
-                                             movi.  */
-                                          return 135;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xx101111xxxxxxxx110xx1xxxxxxxxxx
-                                             mvni.  */
-                                          return 143;
-                                        }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 12) & 0x1) == 0)
-                                    {
-                                      if (((word >> 29) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xx001111xxxxxxxx1110xxxxxxxxxxxx
-                                             movi.  */
-                                          return 136;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xx101111xxxxxxxx1110xxxxxxxxxxxx
-                                             movi.  */
-                                          return 144;
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 10) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxx01111xxxxxxxx1111x0xxxxxxxxxx
-                                             sqrdmlsh.  */
-                                          return 128;
-                                        }
-                                      else
+                                      if (((word >> 13) & 0x1) == 0)
                                         {
-                                          if (((word >> 11) & 0x1) == 0)
+                                          if (((word >> 29) & 0x1) == 0)
                                             {
-                                              if (((word >> 29) & 0x1) == 0)
+                                              if (((word >> 30) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xx001111xxxxxxxx111101xxxxxxxxxx
-                                                     fmov.  */
-                                                  return 137;
+                                                     x0001111xxxxxxxx1x0111xxxxxxxxxx
+                                                     sqrshrn.  */
+                                                  return 380;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xx101111xxxxxxxx111101xxxxxxxxxx
-                                                     fmov.  */
-                                                  return 146;
+                                                     x1001111xxxxxxxx1x0111xxxxxxxxxx
+                                                     sqrshrn2.  */
+                                                  return 381;
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 29) & 0x1) == 0)
+                                              if (((word >> 30) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xx001111xxxxxxxx111111xxxxxxxxxx
-                                                     fmov.  */
-                                                  return 138;
+                                                     x0101111xxxxxxxx1x0111xxxxxxxxxx
+                                                     uqrshrn.  */
+                                                  return 404;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xx101111xxxxxxxx111111xxxxxxxxxx
-                                                     fcvtzu.  */
-                                                  return 412;
+                                                     x1101111xxxxxxxx1x0111xxxxxxxxxx
+                                                     uqrshrn2.  */
+                                                  return 405;
                                                 }
                                             }
                                         }
+                                      else
+                                        {
+                                          if (((word >> 29) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx001111xxxxxxxx1x1111xxxxxxxxxx
+                                                 fmov.  */
+                                              return 138;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx101111xxxxxxxx1x1111xxxxxxxxxx
+                                                 fcvtzu.  */
+                                              return 412;
+                                            }
+                                        }
                                     }
                                 }
                             }
@@ -19130,17 +19152,49 @@ aarch64_find_next_opcode (const aarch64_
     case 940: return NULL;		/* stllrh --> NULL.  */
     case 942: value = 946; break;	/* ldnp --> ldp.  */
     case 946: return NULL;		/* ldp --> NULL.  */
+    case 1582: value = 1583; break;	/* ldff1b --> ldff1b.  */
+    case 1583: return NULL;		/* ldff1b --> NULL.  */
+    case 1638: value = 1639; break;	/* ldff1sw --> ldff1sw.  */
+    case 1639: return NULL;		/* ldff1sw --> NULL.  */
+    case 1586: value = 1587; break;	/* ldff1b --> ldff1b.  */
+    case 1587: return NULL;		/* ldff1b --> NULL.  */
+    case 1605: value = 1606; break;	/* ldff1h --> ldff1h.  */
+    case 1606: return NULL;		/* ldff1h --> NULL.  */
+    case 1584: value = 1585; break;	/* ldff1b --> ldff1b.  */
+    case 1585: return NULL;		/* ldff1b --> NULL.  */
+    case 1603: value = 1604; break;	/* ldff1h --> ldff1h.  */
+    case 1604: return NULL;		/* ldff1h --> NULL.  */
+    case 1588: value = 1589; break;	/* ldff1b --> ldff1b.  */
+    case 1589: return NULL;		/* ldff1b --> NULL.  */
+    case 1607: value = 1608; break;	/* ldff1h --> ldff1h.  */
+    case 1608: return NULL;		/* ldff1h --> NULL.  */
+    case 1628: value = 1629; break;	/* ldff1sh --> ldff1sh.  */
+    case 1629: return NULL;		/* ldff1sh --> NULL.  */
+    case 1616: value = 1617; break;	/* ldff1sb --> ldff1sb.  */
+    case 1617: return NULL;		/* ldff1sb --> NULL.  */
+    case 1647: value = 1648; break;	/* ldff1w --> ldff1w.  */
+    case 1648: return NULL;		/* ldff1w --> NULL.  */
+    case 1620: value = 1621; break;	/* ldff1sb --> ldff1sb.  */
+    case 1621: return NULL;		/* ldff1sb --> NULL.  */
+    case 1630: value = 1631; break;	/* ldff1sh --> ldff1sh.  */
+    case 1631: return NULL;		/* ldff1sh --> NULL.  */
+    case 1618: value = 1619; break;	/* ldff1sb --> ldff1sb.  */
+    case 1619: return NULL;		/* ldff1sb --> NULL.  */
+    case 1649: value = 1650; break;	/* ldff1w --> ldff1w.  */
+    case 1650: return NULL;		/* ldff1w --> NULL.  */
+    case 1594: value = 1595; break;	/* ldff1d --> ldff1d.  */
+    case 1595: return NULL;		/* ldff1d --> NULL.  */
     case 1157: value = 1158; break;	/* msr --> hint.  */
-    case 1158: value = 1172; break;	/* hint --> clrex.  */
-    case 1172: value = 1173; break;	/* clrex --> dsb.  */
-    case 1173: value = 1174; break;	/* dsb --> dmb.  */
-    case 1174: value = 1175; break;	/* dmb --> isb.  */
-    case 1175: value = 1176; break;	/* isb --> sys.  */
-    case 1176: value = 1181; break;	/* sys --> msr.  */
-    case 1181: value = 2023; break;	/* msr --> cfinv.  */
-    case 2023: return NULL;		/* cfinv --> NULL.  */
-    case 1182: value = 1183; break;	/* sysl --> mrs.  */
-    case 1183: return NULL;		/* mrs --> NULL.  */
+    case 1158: value = 1173; break;	/* hint --> clrex.  */
+    case 1173: value = 1174; break;	/* clrex --> dsb.  */
+    case 1174: value = 1175; break;	/* dsb --> dmb.  */
+    case 1175: value = 1176; break;	/* dmb --> isb.  */
+    case 1176: value = 1177; break;	/* isb --> sys.  */
+    case 1177: value = 1182; break;	/* sys --> msr.  */
+    case 1182: value = 2040; break;	/* msr --> cfinv.  */
+    case 2040: return NULL;		/* cfinv --> NULL.  */
+    case 1183: value = 1184; break;	/* sysl --> mrs.  */
+    case 1184: return NULL;		/* mrs --> NULL.  */
     case 434: value = 435; break;	/* st4 --> st1.  */
     case 435: value = 436; break;	/* st1 --> st2.  */
     case 436: value = 437; break;	/* st2 --> st3.  */
@@ -19305,13 +19359,11 @@ aarch64_find_next_opcode (const aarch64_
     case 403: return NULL;		/* uqshrn2 --> NULL.  */
     case 136: value = 386; break;	/* movi --> scvtf.  */
     case 386: value = 387; break;	/* scvtf --> scvtf.  */
-    case 387: value = 1989; break;	/* scvtf --> sdot.  */
-    case 1989: return NULL;		/* sdot --> NULL.  */
+    case 387: return NULL;		/* scvtf --> NULL.  */
     case 144: value = 145; break;	/* movi --> movi.  */
     case 145: value = 410; break;	/* movi --> ucvtf.  */
     case 410: value = 411; break;	/* ucvtf --> ucvtf.  */
-    case 411: value = 1988; break;	/* ucvtf --> udot.  */
-    case 1988: return NULL;		/* udot --> NULL.  */
+    case 411: return NULL;		/* ucvtf --> NULL.  */
     case 138: value = 388; break;	/* fmov --> fcvtzs.  */
     case 388: value = 389; break;	/* fcvtzs --> fcvtzs.  */
     case 389: return NULL;		/* fcvtzs --> NULL.  */
@@ -19352,7 +19404,7 @@ aarch64_find_alias_opcode (const aarch64
     case 17: value = 18; break;	/* subs --> cmp.  */
     case 20: value = 21; break;	/* adds --> cmn.  */
     case 22: value = 23; break;	/* sub --> neg.  */
-    case 24: value = 26; break;	/* subs --> negs.  */
+    case 24: value = 25; break;	/* subs --> cmp.  */
     case 150: value = 151; break;	/* umov --> mov.  */
     case 152: value = 153; break;	/* ins --> mov.  */
     case 154: value = 155; break;	/* ins --> mov.  */
@@ -19437,37 +19489,37 @@ aarch64_find_alias_opcode (const aarch64
     case 1100: value = 1149; break;	/* lduminl --> stuminl.  */
     case 1150: value = 1151; break;	/* movn --> mov.  */
     case 1152: value = 1153; break;	/* movz --> mov.  */
-    case 1158: value = 1191; break;	/* hint --> autibsp.  */
-    case 1176: value = 1180; break;	/* sys --> tlbi.  */
-    case 1239: value = 1973; break;	/* and --> bic.  */
-    case 1241: value = 1222; break;	/* and --> mov.  */
-    case 1242: value = 1226; break;	/* ands --> movs.  */
-    case 1277: value = 1974; break;	/* cmpge --> cmple.  */
-    case 1280: value = 1977; break;	/* cmpgt --> cmplt.  */
-    case 1282: value = 1975; break;	/* cmphi --> cmplo.  */
-    case 1285: value = 1976; break;	/* cmphs --> cmpls.  */
-    case 1307: value = 1219; break;	/* cpy --> mov.  */
-    case 1308: value = 1221; break;	/* cpy --> mov.  */
-    case 1309: value = 1984; break;	/* cpy --> fmov.  */
-    case 1321: value = 1214; break;	/* dup --> mov.  */
-    case 1322: value = 1216; break;	/* dup --> mov.  */
-    case 1323: value = 1983; break;	/* dup --> fmov.  */
-    case 1324: value = 1217; break;	/* dupm --> mov.  */
-    case 1326: value = 1978; break;	/* eor --> eon.  */
-    case 1328: value = 1227; break;	/* eor --> not.  */
-    case 1329: value = 1228; break;	/* eors --> nots.  */
-    case 1334: value = 1979; break;	/* facge --> facle.  */
-    case 1335: value = 1980; break;	/* facgt --> faclt.  */
-    case 1348: value = 1981; break;	/* fcmge --> fcmle.  */
-    case 1350: value = 1982; break;	/* fcmgt --> fcmlt.  */
-    case 1356: value = 1211; break;	/* fcpy --> fmov.  */
-    case 1379: value = 1210; break;	/* fdup --> fmov.  */
-    case 1694: value = 1212; break;	/* orr --> mov.  */
-    case 1695: value = 1985; break;	/* orr --> orn.  */
-    case 1697: value = 1215; break;	/* orr --> mov.  */
-    case 1698: value = 1225; break;	/* orrs --> movs.  */
-    case 1760: value = 1220; break;	/* sel --> mov.  */
-    case 1761: value = 1223; break;	/* sel --> mov.  */
+    case 1158: value = 1192; break;	/* hint --> autibsp.  */
+    case 1177: value = 1181; break;	/* sys --> tlbi.  */
+    case 1240: value = 1990; break;	/* and --> bic.  */
+    case 1242: value = 1223; break;	/* and --> mov.  */
+    case 1243: value = 1227; break;	/* ands --> movs.  */
+    case 1278: value = 1991; break;	/* cmpge --> cmple.  */
+    case 1281: value = 1994; break;	/* cmpgt --> cmplt.  */
+    case 1283: value = 1992; break;	/* cmphi --> cmplo.  */
+    case 1286: value = 1993; break;	/* cmphs --> cmpls.  */
+    case 1308: value = 1220; break;	/* cpy --> mov.  */
+    case 1309: value = 1222; break;	/* cpy --> mov.  */
+    case 1310: value = 2001; break;	/* cpy --> fmov.  */
+    case 1322: value = 1215; break;	/* dup --> mov.  */
+    case 1323: value = 1217; break;	/* dup --> mov.  */
+    case 1324: value = 2000; break;	/* dup --> fmov.  */
+    case 1325: value = 1218; break;	/* dupm --> mov.  */
+    case 1327: value = 1995; break;	/* eor --> eon.  */
+    case 1329: value = 1228; break;	/* eor --> not.  */
+    case 1330: value = 1229; break;	/* eors --> nots.  */
+    case 1335: value = 1996; break;	/* facge --> facle.  */
+    case 1336: value = 1997; break;	/* facgt --> faclt.  */
+    case 1349: value = 1998; break;	/* fcmge --> fcmle.  */
+    case 1351: value = 1999; break;	/* fcmgt --> fcmlt.  */
+    case 1357: value = 1212; break;	/* fcpy --> fmov.  */
+    case 1380: value = 1211; break;	/* fdup --> fmov.  */
+    case 1711: value = 1213; break;	/* orr --> mov.  */
+    case 1712: value = 2002; break;	/* orr --> orn.  */
+    case 1714: value = 1216; break;	/* orr --> mov.  */
+    case 1715: value = 1226; break;	/* orrs --> movs.  */
+    case 1777: value = 1221; break;	/* sel --> mov.  */
+    case 1778: value = 1224; break;	/* sel --> mov.  */
     default: return NULL;
     }
 
@@ -19491,8 +19543,8 @@ aarch64_find_next_alias_opcode (const aa
     case 18: value = 17; break;	/* cmp --> subs.  */
     case 21: value = 20; break;	/* cmn --> adds.  */
     case 23: value = 22; break;	/* neg --> sub.  */
-    case 26: value = 25; break;	/* negs --> cmp.  */
-    case 25: value = 24; break;	/* cmp --> subs.  */
+    case 25: value = 26; break;	/* cmp --> negs.  */
+    case 26: value = 24; break;	/* negs --> subs.  */
     case 151: value = 150; break;	/* mov --> umov.  */
     case 153: value = 152; break;	/* mov --> ins.  */
     case 155: value = 154; break;	/* mov --> ins.  */
@@ -19592,73 +19644,75 @@ aarch64_find_next_alias_opcode (const aa
     case 1149: value = 1100; break;	/* stuminl --> lduminl.  */
     case 1151: value = 1150; break;	/* mov --> movn.  */
     case 1153: value = 1152; break;	/* mov --> movz.  */
-    case 1191: value = 1190; break;	/* autibsp --> autibz.  */
-    case 1190: value = 1189; break;	/* autibz --> autiasp.  */
-    case 1189: value = 1188; break;	/* autiasp --> autiaz.  */
-    case 1188: value = 1187; break;	/* autiaz --> pacibsp.  */
-    case 1187: value = 1186; break;	/* pacibsp --> pacibz.  */
-    case 1186: value = 1185; break;	/* pacibz --> paciasp.  */
-    case 1185: value = 1184; break;	/* paciasp --> paciaz.  */
-    case 1184: value = 1171; break;	/* paciaz --> psb.  */
-    case 1171: value = 1170; break;	/* psb --> esb.  */
-    case 1170: value = 1169; break;	/* esb --> autib1716.  */
-    case 1169: value = 1168; break;	/* autib1716 --> autia1716.  */
-    case 1168: value = 1167; break;	/* autia1716 --> pacib1716.  */
-    case 1167: value = 1166; break;	/* pacib1716 --> pacia1716.  */
-    case 1166: value = 1165; break;	/* pacia1716 --> xpaclri.  */
-    case 1165: value = 1164; break;	/* xpaclri --> sevl.  */
-    case 1164: value = 1163; break;	/* sevl --> sev.  */
-    case 1163: value = 1162; break;	/* sev --> wfi.  */
-    case 1162: value = 1161; break;	/* wfi --> wfe.  */
-    case 1161: value = 1160; break;	/* wfe --> yield.  */
-    case 1160: value = 1159; break;	/* yield --> nop.  */
+    case 1192: value = 1191; break;	/* autibsp --> autibz.  */
+    case 1191: value = 1190; break;	/* autibz --> autiasp.  */
+    case 1190: value = 1189; break;	/* autiasp --> autiaz.  */
+    case 1189: value = 1188; break;	/* autiaz --> pacibsp.  */
+    case 1188: value = 1187; break;	/* pacibsp --> pacibz.  */
+    case 1187: value = 1186; break;	/* pacibz --> paciasp.  */
+    case 1186: value = 1185; break;	/* paciasp --> paciaz.  */
+    case 1185: value = 1172; break;	/* paciaz --> psb.  */
+    case 1172: value = 1171; break;	/* psb --> esb.  */
+    case 1171: value = 1170; break;	/* esb --> autib1716.  */
+    case 1170: value = 1169; break;	/* autib1716 --> autia1716.  */
+    case 1169: value = 1168; break;	/* autia1716 --> pacib1716.  */
+    case 1168: value = 1167; break;	/* pacib1716 --> pacia1716.  */
+    case 1167: value = 1166; break;	/* pacia1716 --> xpaclri.  */
+    case 1166: value = 1165; break;	/* xpaclri --> sevl.  */
+    case 1165: value = 1164; break;	/* sevl --> sev.  */
+    case 1164: value = 1163; break;	/* sev --> wfi.  */
+    case 1163: value = 1162; break;	/* wfi --> wfe.  */
+    case 1162: value = 1161; break;	/* wfe --> yield.  */
+    case 1161: value = 1160; break;	/* yield --> csdb.  */
+    case 1160: value = 1159; break;	/* csdb --> nop.  */
     case 1159: value = 1158; break;	/* nop --> hint.  */
-    case 1180: value = 1179; break;	/* tlbi --> ic.  */
-    case 1179: value = 1178; break;	/* ic --> dc.  */
-    case 1178: value = 1177; break;	/* dc --> at.  */
-    case 1177: value = 1176; break;	/* at --> sys.  */
-    case 1973: value = 1239; break;	/* bic --> and.  */
-    case 1222: value = 1241; break;	/* mov --> and.  */
-    case 1226: value = 1242; break;	/* movs --> ands.  */
-    case 1974: value = 1277; break;	/* cmple --> cmpge.  */
-    case 1977: value = 1280; break;	/* cmplt --> cmpgt.  */
-    case 1975: value = 1282; break;	/* cmplo --> cmphi.  */
-    case 1976: value = 1285; break;	/* cmpls --> cmphs.  */
-    case 1219: value = 1307; break;	/* mov --> cpy.  */
-    case 1221: value = 1308; break;	/* mov --> cpy.  */
-    case 1984: value = 1224; break;	/* fmov --> mov.  */
-    case 1224: value = 1309; break;	/* mov --> cpy.  */
-    case 1214: value = 1321; break;	/* mov --> dup.  */
-    case 1216: value = 1213; break;	/* mov --> mov.  */
-    case 1213: value = 1322; break;	/* mov --> dup.  */
-    case 1983: value = 1218; break;	/* fmov --> mov.  */
-    case 1218: value = 1323; break;	/* mov --> dup.  */
-    case 1217: value = 1324; break;	/* mov --> dupm.  */
-    case 1978: value = 1326; break;	/* eon --> eor.  */
-    case 1227: value = 1328; break;	/* not --> eor.  */
-    case 1228: value = 1329; break;	/* nots --> eors.  */
-    case 1979: value = 1334; break;	/* facle --> facge.  */
-    case 1980: value = 1335; break;	/* faclt --> facgt.  */
-    case 1981: value = 1348; break;	/* fcmle --> fcmge.  */
-    case 1982: value = 1350; break;	/* fcmlt --> fcmgt.  */
-    case 1211: value = 1356; break;	/* fmov --> fcpy.  */
-    case 1210: value = 1379; break;	/* fmov --> fdup.  */
-    case 1212: value = 1694; break;	/* mov --> orr.  */
-    case 1985: value = 1695; break;	/* orn --> orr.  */
-    case 1215: value = 1697; break;	/* mov --> orr.  */
-    case 1225: value = 1698; break;	/* movs --> orrs.  */
-    case 1220: value = 1760; break;	/* mov --> sel.  */
-    case 1223: value = 1761; break;	/* mov --> sel.  */
+    case 1181: value = 1180; break;	/* tlbi --> ic.  */
+    case 1180: value = 1179; break;	/* ic --> dc.  */
+    case 1179: value = 1178; break;	/* dc --> at.  */
+    case 1178: value = 1177; break;	/* at --> sys.  */
+    case 1990: value = 1240; break;	/* bic --> and.  */
+    case 1223: value = 1242; break;	/* mov --> and.  */
+    case 1227: value = 1243; break;	/* movs --> ands.  */
+    case 1991: value = 1278; break;	/* cmple --> cmpge.  */
+    case 1994: value = 1281; break;	/* cmplt --> cmpgt.  */
+    case 1992: value = 1283; break;	/* cmplo --> cmphi.  */
+    case 1993: value = 1286; break;	/* cmpls --> cmphs.  */
+    case 1220: value = 1308; break;	/* mov --> cpy.  */
+    case 1222: value = 1309; break;	/* mov --> cpy.  */
+    case 2001: value = 1225; break;	/* fmov --> mov.  */
+    case 1225: value = 1310; break;	/* mov --> cpy.  */
+    case 1215: value = 1322; break;	/* mov --> dup.  */
+    case 1217: value = 1214; break;	/* mov --> mov.  */
+    case 1214: value = 1323; break;	/* mov --> dup.  */
+    case 2000: value = 1219; break;	/* fmov --> mov.  */
+    case 1219: value = 1324; break;	/* mov --> dup.  */
+    case 1218: value = 1325; break;	/* mov --> dupm.  */
+    case 1995: value = 1327; break;	/* eon --> eor.  */
+    case 1228: value = 1329; break;	/* not --> eor.  */
+    case 1229: value = 1330; break;	/* nots --> eors.  */
+    case 1996: value = 1335; break;	/* facle --> facge.  */
+    case 1997: value = 1336; break;	/* faclt --> facgt.  */
+    case 1998: value = 1349; break;	/* fcmle --> fcmge.  */
+    case 1999: value = 1351; break;	/* fcmlt --> fcmgt.  */
+    case 1212: value = 1357; break;	/* fmov --> fcpy.  */
+    case 1211: value = 1380; break;	/* fmov --> fdup.  */
+    case 1213: value = 1711; break;	/* mov --> orr.  */
+    case 2002: value = 1712; break;	/* orn --> orr.  */
+    case 1216: value = 1714; break;	/* mov --> orr.  */
+    case 1226: value = 1715; break;	/* movs --> orrs.  */
+    case 1221: value = 1777; break;	/* mov --> sel.  */
+    case 1224: value = 1778; break;	/* mov --> sel.  */
     default: return NULL;
     }
 
   return aarch64_opcode_table + value;
 }
 
-int
+bfd_boolean
 aarch64_extract_operand (const aarch64_operand *self,
 			   aarch64_opnd_info *info,
-			   aarch64_insn code, const aarch64_inst *inst)
+			   aarch64_insn code, const aarch64_inst *inst,
+			   aarch64_operand_error *errors)
 {
   /* Use the index as the key.  */
   int key = self - aarch64_operands;
@@ -19688,8 +19742,6 @@ aarch64_extract_operand (const aarch64_o
     case 27:
     case 28:
     case 29:
-    case 151:
-    case 152:
     case 153:
     case 154:
     case 155:
@@ -19698,8 +19750,8 @@ aarch64_extract_operand (const aarch64_o
     case 158:
     case 159:
     case 160:
-    case 173:
-    case 174:
+    case 161:
+    case 162:
     case 175:
     case 176:
     case 177:
@@ -19707,37 +19759,39 @@ aarch64_extract_operand (const aarch64_o
     case 179:
     case 180:
     case 181:
-    case 185:
-    case 188:
-      return aarch64_ext_regno (self, info, code, inst);
+    case 182:
+    case 183:
+    case 187:
+    case 190:
+      return aarch64_ext_regno (self, info, code, inst, errors);
     case 8:
-      return aarch64_ext_regrt_sysins (self, info, code, inst);
+      return aarch64_ext_regrt_sysins (self, info, code, inst, errors);
     case 12:
-      return aarch64_ext_regno_pair (self, info, code, inst);
+      return aarch64_ext_regno_pair (self, info, code, inst, errors);
     case 13:
-      return aarch64_ext_reg_extended (self, info, code, inst);
+      return aarch64_ext_reg_extended (self, info, code, inst, errors);
     case 14:
-      return aarch64_ext_reg_shifted (self, info, code, inst);
+      return aarch64_ext_reg_shifted (self, info, code, inst, errors);
     case 19:
-      return aarch64_ext_ft (self, info, code, inst);
+      return aarch64_ext_ft (self, info, code, inst, errors);
     case 30:
     case 31:
     case 32:
-    case 190:
-      return aarch64_ext_reglane (self, info, code, inst);
     case 33:
-      return aarch64_ext_reglist (self, info, code, inst);
+    case 192:
+      return aarch64_ext_reglane (self, info, code, inst, errors);
     case 34:
-      return aarch64_ext_ldst_reglist (self, info, code, inst);
+      return aarch64_ext_reglist (self, info, code, inst, errors);
     case 35:
-      return aarch64_ext_ldst_reglist_r (self, info, code, inst);
+      return aarch64_ext_ldst_reglist (self, info, code, inst, errors);
     case 36:
-      return aarch64_ext_ldst_elemlist (self, info, code, inst);
+      return aarch64_ext_ldst_reglist_r (self, info, code, inst, errors);
     case 37:
+      return aarch64_ext_ldst_elemlist (self, info, code, inst, errors);
     case 38:
     case 39:
     case 40:
-    case 50:
+    case 41:
     case 51:
     case 52:
     case 53:
@@ -19751,103 +19805,103 @@ aarch64_extract_operand (const aarch64_o
     case 61:
     case 62:
     case 63:
-    case 74:
+    case 64:
     case 75:
     case 76:
     case 77:
     case 78:
-    case 148:
+    case 79:
     case 150:
-    case 165:
-    case 166:
+    case 152:
     case 167:
     case 168:
     case 169:
     case 170:
     case 171:
     case 172:
-      return aarch64_ext_imm (self, info, code, inst);
-    case 41:
+    case 173:
+    case 174:
+      return aarch64_ext_imm (self, info, code, inst, errors);
     case 42:
-      return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
     case 43:
+      return aarch64_ext_advsimd_imm_shift (self, info, code, inst, errors);
     case 44:
     case 45:
-      return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
     case 46:
-      return aarch64_ext_shll_imm (self, info, code, inst);
-    case 49:
-    case 139:
-      return aarch64_ext_fpimm (self, info, code, inst);
-    case 64:
-    case 146:
-      return aarch64_ext_limm (self, info, code, inst);
+      return aarch64_ext_advsimd_imm_modified (self, info, code, inst, errors);
+    case 47:
+      return aarch64_ext_shll_imm (self, info, code, inst, errors);
+    case 50:
+    case 141:
+      return aarch64_ext_fpimm (self, info, code, inst, errors);
     case 65:
-      return aarch64_ext_aimm (self, info, code, inst);
+    case 148:
+      return aarch64_ext_limm (self, info, code, inst, errors);
     case 66:
-      return aarch64_ext_imm_half (self, info, code, inst);
+      return aarch64_ext_aimm (self, info, code, inst, errors);
     case 67:
-      return aarch64_ext_fbits (self, info, code, inst);
-    case 69:
+      return aarch64_ext_imm_half (self, info, code, inst, errors);
+    case 68:
+      return aarch64_ext_fbits (self, info, code, inst, errors);
     case 70:
-    case 144:
-      return aarch64_ext_imm_rotate2 (self, info, code, inst);
     case 71:
-    case 143:
-      return aarch64_ext_imm_rotate1 (self, info, code, inst);
+    case 146:
+      return aarch64_ext_imm_rotate2 (self, info, code, inst, errors);
     case 72:
+    case 145:
+      return aarch64_ext_imm_rotate1 (self, info, code, inst, errors);
     case 73:
-      return aarch64_ext_cond (self, info, code, inst);
-    case 79:
-    case 86:
-      return aarch64_ext_addr_simple (self, info, code, inst);
+    case 74:
+      return aarch64_ext_cond (self, info, code, inst, errors);
     case 80:
-      return aarch64_ext_addr_regoff (self, info, code, inst);
+    case 87:
+      return aarch64_ext_addr_simple (self, info, code, inst, errors);
     case 81:
+      return aarch64_ext_addr_regoff (self, info, code, inst, errors);
     case 82:
     case 83:
-      return aarch64_ext_addr_simm (self, info, code, inst);
     case 84:
-      return aarch64_ext_addr_simm10 (self, info, code, inst);
+      return aarch64_ext_addr_simm (self, info, code, inst, errors);
     case 85:
-      return aarch64_ext_addr_uimm12 (self, info, code, inst);
-    case 87:
-      return aarch64_ext_addr_offset (self, info, code, inst);
+      return aarch64_ext_addr_simm10 (self, info, code, inst, errors);
+    case 86:
+      return aarch64_ext_addr_uimm12 (self, info, code, inst, errors);
     case 88:
-      return aarch64_ext_simd_addr_post (self, info, code, inst);
+      return aarch64_ext_addr_offset (self, info, code, inst, errors);
     case 89:
-      return aarch64_ext_sysreg (self, info, code, inst);
+      return aarch64_ext_simd_addr_post (self, info, code, inst, errors);
     case 90:
-      return aarch64_ext_pstatefield (self, info, code, inst);
+      return aarch64_ext_sysreg (self, info, code, inst, errors);
     case 91:
+      return aarch64_ext_pstatefield (self, info, code, inst, errors);
     case 92:
     case 93:
     case 94:
-      return aarch64_ext_sysins_op (self, info, code, inst);
     case 95:
+      return aarch64_ext_sysins_op (self, info, code, inst, errors);
     case 96:
-      return aarch64_ext_barrier (self, info, code, inst);
     case 97:
-      return aarch64_ext_prfop (self, info, code, inst);
+      return aarch64_ext_barrier (self, info, code, inst, errors);
     case 98:
-      return aarch64_ext_hint (self, info, code, inst);
+      return aarch64_ext_prfop (self, info, code, inst, errors);
     case 99:
-      return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst);
+      return aarch64_ext_hint (self, info, code, inst, errors);
     case 100:
+      return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors);
     case 101:
     case 102:
     case 103:
-      return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst);
     case 104:
-      return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst);
+      return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors);
     case 105:
-      return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst);
+      return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors);
     case 106:
+      return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors);
     case 107:
     case 108:
     case 109:
-      return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst);
     case 110:
+      return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors);
     case 111:
     case 112:
     case 113:
@@ -19859,58 +19913,60 @@ aarch64_extract_operand (const aarch64_o
     case 119:
     case 120:
     case 121:
-      return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst);
     case 122:
     case 123:
+      return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors);
     case 124:
     case 125:
     case 126:
     case 127:
     case 128:
     case 129:
-      return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst);
     case 130:
     case 131:
+      return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors);
     case 132:
     case 133:
-      return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst);
     case 134:
-      return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst);
     case 135:
-      return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst);
+      return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors);
     case 136:
-      return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst);
+      return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors);
     case 137:
-      return aarch64_ext_sve_aimm (self, info, code, inst);
+      return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors);
     case 138:
-      return aarch64_ext_sve_asimm (self, info, code, inst);
+      return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors);
+    case 139:
+      return aarch64_ext_sve_aimm (self, info, code, inst, errors);
     case 140:
-      return aarch64_ext_sve_float_half_one (self, info, code, inst);
-    case 141:
-      return aarch64_ext_sve_float_half_two (self, info, code, inst);
+      return aarch64_ext_sve_asimm (self, info, code, inst, errors);
     case 142:
-      return aarch64_ext_sve_float_zero_one (self, info, code, inst);
-    case 145:
-      return aarch64_ext_inv_limm (self, info, code, inst);
+      return aarch64_ext_sve_float_half_one (self, info, code, inst, errors);
+    case 143:
+      return aarch64_ext_sve_float_half_two (self, info, code, inst, errors);
+    case 144:
+      return aarch64_ext_sve_float_zero_one (self, info, code, inst, errors);
     case 147:
-      return aarch64_ext_sve_limm_mov (self, info, code, inst);
+      return aarch64_ext_inv_limm (self, info, code, inst, errors);
     case 149:
-      return aarch64_ext_sve_scale (self, info, code, inst);
-    case 161:
-    case 162:
-      return aarch64_ext_sve_shlimm (self, info, code, inst);
+      return aarch64_ext_sve_limm_mov (self, info, code, inst, errors);
+    case 151:
+      return aarch64_ext_sve_scale (self, info, code, inst, errors);
     case 163:
     case 164:
-      return aarch64_ext_sve_shrimm (self, info, code, inst);
-    case 182:
-    case 183:
+      return aarch64_ext_sve_shlimm (self, info, code, inst, errors);
+    case 165:
+    case 166:
+      return aarch64_ext_sve_shrimm (self, info, code, inst, errors);
     case 184:
-      return aarch64_ext_sve_quad_index (self, info, code, inst);
+    case 185:
     case 186:
-      return aarch64_ext_sve_index (self, info, code, inst);
-    case 187:
+      return aarch64_ext_sve_quad_index (self, info, code, inst, errors);
+    case 188:
+      return aarch64_ext_sve_index (self, info, code, inst, errors);
     case 189:
-      return aarch64_ext_sve_reglist (self, info, code, inst);
+    case 191:
+      return aarch64_ext_sve_reglist (self, info, code, inst, errors);
     default: assert (0); abort ();
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-dis.c ./opcodes/aarch64-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aarch64-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -46,7 +46,8 @@ static bfd_vma last_mapping_addr = 0;
 
 /* Other options */
 static int no_aliases = 0;	/* If set disassemble as most general inst.  */
-
+static int no_notes = 1;	/* If set do not print disassemble notes in the
+				  output as comments.  */
 
 static void
 set_default_aarch64_dis_options (struct disassemble_info *info ATTRIBUTE_UNUSED)
@@ -69,6 +70,18 @@ parse_aarch64_dis_option (const char *op
       return;
     }
 
+  if (CONST_STRNEQ (option, "no-notes"))
+    {
+      no_notes = 1;
+      return;
+    }
+
+  if (CONST_STRNEQ (option, "notes"))
+    {
+      no_notes = 0;
+      return;
+    }
+
 #ifdef DEBUG_AARCH64
   if (CONST_STRNEQ (option, "debug_dump"))
     {
@@ -78,7 +91,7 @@ parse_aarch64_dis_option (const char *op
 #endif /* DEBUG_AARCH64 */
 
   /* Invalid option.  */
-  fprintf (stderr, _("Unrecognised disassembler option: %s\n"), option);
+  opcodes_error_handler (_("unrecognised disassembler option: %s"), option);
 }
 
 static void
@@ -242,31 +255,34 @@ get_expected_qualifier (const aarch64_in
 
 /* Operand extractors.  */
 
-int
+bfd_boolean
 aarch64_ext_regno (const aarch64_operand *self, aarch64_opnd_info *info,
 		   const aarch64_insn code,
-		   const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		   const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		   aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   info->reg.regno = extract_field (self->fields[0], code, 0);
-  return 1;
+  return TRUE;
 }
 
-int
+bfd_boolean
 aarch64_ext_regno_pair (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info,
 		   const aarch64_insn code ATTRIBUTE_UNUSED,
-		   const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		   const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		   aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   assert (info->idx == 1
 	  || info->idx ==3);
   info->reg.regno = inst->operands[info->idx - 1].reg.regno + 1;
-  return 1;
+  return TRUE;
 }
 
 /* e.g. IC <ic_op>{, <Xt>}.  */
-int
+bfd_boolean
 aarch64_ext_regrt_sysins (const aarch64_operand *self, aarch64_opnd_info *info,
 			  const aarch64_insn code,
-			  const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			  const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   info->reg.regno = extract_field (self->fields[0], code, 0);
   assert (info->idx == 1
@@ -277,14 +293,15 @@ aarch64_ext_regrt_sysins (const aarch64_
      not.  */
   info->present = aarch64_sys_ins_reg_has_xt (inst->operands[0].sysins_op);
 
-  return 1;
+  return TRUE;
 }
 
 /* e.g. SQDMLAL <Va><d>, <Vb><n>, <Vm>.<Ts>[<index>].  */
-int
+bfd_boolean
 aarch64_ext_reglane (const aarch64_operand *self, aarch64_opnd_info *info,
 		     const aarch64_insn code,
-		     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		     const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		     aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* regno */
   info->reglane.regno = extract_field (self->fields[0], code,
@@ -320,7 +337,7 @@ aarch64_ext_reglane (const aarch64_opera
 	  while (++pos <= 3 && (value & 0x1) == 0)
 	    value >>= 1;
 	  if (pos > 3)
-	    return 0;
+	    return FALSE;
 	  info->qualifier = get_sreg_qualifier_from_value (pos);
 	  info->reglane.index = (unsigned) (value >> 1);
 	}
@@ -337,7 +354,7 @@ aarch64_ext_reglane (const aarch64_opera
 	  info->reglane.regno &= 0x1f;
 	  break;
 	default:
-	  return 0;
+	  return FALSE;
 	}
     }
   else if (inst->opcode->iclass == cryptosm3)
@@ -355,10 +372,18 @@ aarch64_ext_reglane (const aarch64_opera
       switch (info->qualifier)
 	{
 	case AARCH64_OPND_QLF_S_H:
-	  /* h:l:m */
-	  info->reglane.index = extract_fields (code, 0, 3, FLD_H, FLD_L,
-						FLD_M);
-	  info->reglane.regno &= 0xf;
+	  if (info->type == AARCH64_OPND_Em16)
+	    {
+	      /* h:l:m */
+	      info->reglane.index = extract_fields (code, 0, 3, FLD_H, FLD_L,
+						    FLD_M);
+	      info->reglane.regno &= 0xf;
+	    }
+	  else
+	    {
+	      /* h:l */
+	      info->reglane.index = extract_fields (code, 0, 2, FLD_H, FLD_L);
+	    }
 	  break;
 	case AARCH64_OPND_QLF_S_S:
 	  /* h:l */
@@ -369,38 +394,41 @@ aarch64_ext_reglane (const aarch64_opera
 	  info->reglane.index = extract_field (FLD_H, code, 0);
 	  break;
 	default:
-	  return 0;
+	  return FALSE;
 	}
 
-      if (inst->opcode->op == OP_FCMLA_ELEM)
+      if (inst->opcode->op == OP_FCMLA_ELEM
+	  && info->qualifier != AARCH64_OPND_QLF_S_H)
 	{
 	  /* Complex operand takes two elements.  */
 	  if (info->reglane.index & 1)
-	    return 0;
+	    return FALSE;
 	  info->reglane.index /= 2;
 	}
     }
 
-  return 1;
+  return TRUE;
 }
 
-int
+bfd_boolean
 aarch64_ext_reglist (const aarch64_operand *self, aarch64_opnd_info *info,
 		     const aarch64_insn code,
-		     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		     const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		     aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* R */
   info->reglist.first_regno = extract_field (self->fields[0], code, 0);
   /* len */
   info->reglist.num_regs = extract_field (FLD_len, code, 0) + 1;
-  return 1;
+  return TRUE;
 }
 
 /* Decode Rt and opcode fields of Vt in AdvSIMD load/store instructions.  */
-int
+bfd_boolean
 aarch64_ext_ldst_reglist (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			  aarch64_opnd_info *info, const aarch64_insn code,
-			  const aarch64_inst *inst)
+			  const aarch64_inst *inst,
+			  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn value;
   /* Number of elements in each structure to be loaded/stored.  */
@@ -431,20 +459,21 @@ aarch64_ext_ldst_reglist (const aarch64_
   value = extract_field (FLD_opcode, code, 0);
   /* PR 21595: Check for a bogus value.  */
   if (value >= ARRAY_SIZE (data))
-    return 0;
+    return FALSE;
   if (expected_num != data[value].num_elements || data[value].is_reserved)
-    return 0;
+    return FALSE;
   info->reglist.num_regs = data[value].num_regs;
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode Rt and S fields of Vt in AdvSIMD load single structure to all
    lanes instructions.  */
-int
+bfd_boolean
 aarch64_ext_ldst_reglist_r (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			    aarch64_opnd_info *info, const aarch64_insn code,
-			    const aarch64_inst *inst)
+			    const aarch64_inst *inst,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn value;
 
@@ -462,15 +491,16 @@ aarch64_ext_ldst_reglist_r (const aarch6
   if (info->reglist.num_regs == 1 && value == (aarch64_insn) 1)
     info->reglist.num_regs = 2;
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode Q, opcode<2:1>, S, size and Rt fields of Vt in AdvSIMD
    load/store single element instructions.  */
-int
+bfd_boolean
 aarch64_ext_ldst_elemlist (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			   aarch64_opnd_info *info, const aarch64_insn code,
-			   const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			   const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			   aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_field field = {0, 0};
   aarch64_insn QSsize;		/* fields Q:S:size.  */
@@ -493,7 +523,7 @@ aarch64_ext_ldst_elemlist (const aarch64
     case 0x1:
       if (QSsize & 0x1)
 	/* UND.  */
-	return 0;
+	return FALSE;
       info->qualifier = AARCH64_OPND_QLF_S_H;
       /* Index encoded in "Q:S:size<1>".  */
       info->reglist.index = QSsize >> 1;
@@ -501,7 +531,7 @@ aarch64_ext_ldst_elemlist (const aarch64
     case 0x2:
       if ((QSsize >> 1) & 0x1)
 	/* UND.  */
-	return 0;
+	return FALSE;
       if ((QSsize & 0x1) == 0)
 	{
 	  info->qualifier = AARCH64_OPND_QLF_S_S;
@@ -512,14 +542,14 @@ aarch64_ext_ldst_elemlist (const aarch64
 	{
 	  if (extract_field (FLD_S, code, 0))
 	    /* UND */
-	    return 0;
+	    return FALSE;
 	  info->qualifier = AARCH64_OPND_QLF_S_D;
 	  /* Index encoded in "Q".  */
 	  info->reglist.index = QSsize >> 3;
 	}
       break;
     default:
-      return 0;
+      return FALSE;
     }
 
   info->reglist.has_index = 1;
@@ -529,17 +559,18 @@ aarch64_ext_ldst_elemlist (const aarch64
   info->reglist.num_regs = get_opcode_dependent_value (inst->opcode);
   assert (info->reglist.num_regs >= 1 && info->reglist.num_regs <= 4);
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode fields immh:immb and/or Q for e.g.
    SSHR <Vd>.<T>, <Vn>.<T>, #<shift>
    or SSHR <V><d>, <V><n>, #<shift>.  */
 
-int
+bfd_boolean
 aarch64_ext_advsimd_imm_shift (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			       aarch64_opnd_info *info, const aarch64_insn code,
-			       const aarch64_inst *inst)
+			       const aarch64_inst *inst,
+			       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int pos;
   aarch64_insn Q, imm, immh;
@@ -547,7 +578,7 @@ aarch64_ext_advsimd_imm_shift (const aar
 
   immh = extract_field (FLD_immh, code, 0);
   if (immh == 0)
-    return 0;
+    return FALSE;
   imm = extract_fields (code, 0, 2, FLD_immh, FLD_immb);
   pos = 4;
   /* Get highest set bit in immh.  */
@@ -595,14 +626,15 @@ aarch64_ext_advsimd_imm_shift (const aar
        1xxx	(UInt(immh:immb)-64)  */
     info->imm.value = imm - (8 << pos);
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode shift immediate for e.g. sshr (imm).  */
-int
+bfd_boolean
 aarch64_ext_shll_imm (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		      aarch64_opnd_info *info, const aarch64_insn code,
-		      const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		      const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		      aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int64_t imm;
   aarch64_insn val;
@@ -612,18 +644,19 @@ aarch64_ext_shll_imm (const aarch64_oper
     case 0: imm = 8; break;
     case 1: imm = 16; break;
     case 2: imm = 32; break;
-    default: return 0;
+    default: return FALSE;
     }
   info->imm.value = imm;
-  return 1;
+  return TRUE;
 }
 
 /* Decode imm for e.g. BFM <Wd>, <Wn>, #<immr>, #<imms>.
    value in the field(s) will be extracted as unsigned immediate value.  */
-int
+bfd_boolean
 aarch64_ext_imm (const aarch64_operand *self, aarch64_opnd_info *info,
 		 const aarch64_insn code,
-		 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int64_t imm;
 
@@ -639,28 +672,30 @@ aarch64_ext_imm (const aarch64_operand *
     imm <<= 12;
 
   info->imm.value = imm;
-  return 1;
+  return TRUE;
 }
 
 /* Decode imm and its shifter for e.g. MOVZ <Wd>, #<imm16>{, LSL #<shift>}.  */
-int
+bfd_boolean
 aarch64_ext_imm_half (const aarch64_operand *self, aarch64_opnd_info *info,
 		      const aarch64_insn code,
-		      const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		      const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		      aarch64_operand_error *errors)
 {
-  aarch64_ext_imm (self, info, code, inst);
+  aarch64_ext_imm (self, info, code, inst, errors);
   info->shifter.kind = AARCH64_MOD_LSL;
   info->shifter.amount = extract_field (FLD_hw, code, 0) << 4;
-  return 1;
+  return TRUE;
 }
 
 /* Decode cmode and "a:b:c:d:e:f:g:h" for e.g.
      MOVI <Vd>.<T>, #<imm8> {, LSL #<amount>}.  */
-int
+bfd_boolean
 aarch64_ext_advsimd_imm_modified (const aarch64_operand *self ATTRIBUTE_UNUSED,
 				  aarch64_opnd_info *info,
 				  const aarch64_insn code,
-				  const aarch64_inst *inst ATTRIBUTE_UNUSED)
+				  const aarch64_inst *inst ATTRIBUTE_UNUSED,
+				  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   uint64_t imm;
   enum aarch64_opnd_qualifier opnd0_qualifier = inst->operands[0].qualifier;
@@ -704,7 +739,7 @@ aarch64_ext_advsimd_imm_modified (const 
 	case 4: gen_sub_field (FLD_cmode, 1, 2, &field); break;	/* per word */
 	case 2: gen_sub_field (FLD_cmode, 1, 1, &field); break;	/* per half */
 	case 1: gen_sub_field (FLD_cmode, 1, 0, &field); break;	/* per byte */
-	default: assert (0); return 0;
+	default: assert (0); return FALSE;
 	}
       /* 00: 0; 01: 8; 10:16; 11:24.  */
       info->shifter.amount = extract_field_2 (&field, code, 0) << 3;
@@ -717,63 +752,68 @@ aarch64_ext_advsimd_imm_modified (const 
       break;
     default:
       assert (0);
-      return 0;
+      return FALSE;
     }
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode an 8-bit floating-point immediate.  */
-int
+bfd_boolean
 aarch64_ext_fpimm (const aarch64_operand *self, aarch64_opnd_info *info,
 		   const aarch64_insn code,
-		   const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		   const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		   aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   info->imm.value = extract_all_fields (self, code);
   info->imm.is_fp = 1;
-  return 1;
+  return TRUE;
 }
 
 /* Decode a 1-bit rotate immediate (#90 or #270).  */
-int
+bfd_boolean
 aarch64_ext_imm_rotate1 (const aarch64_operand *self, aarch64_opnd_info *info,
 			 const aarch64_insn code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   uint64_t rot = extract_field (self->fields[0], code, 0);
   assert (rot < 2U);
   info->imm.value = rot * 180 + 90;
-  return 1;
+  return TRUE;
 }
 
 /* Decode a 2-bit rotate immediate (#0, #90, #180 or #270).  */
-int
+bfd_boolean
 aarch64_ext_imm_rotate2 (const aarch64_operand *self, aarch64_opnd_info *info,
 			 const aarch64_insn code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   uint64_t rot = extract_field (self->fields[0], code, 0);
   assert (rot < 4U);
   info->imm.value = rot * 90;
-  return 1;
+  return TRUE;
 }
 
 /* Decode scale for e.g. SCVTF <Dd>, <Wn>, #<fbits>.  */
-int
+bfd_boolean
 aarch64_ext_fbits (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		   aarch64_opnd_info *info, const aarch64_insn code,
-		   const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		   const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		   aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   info->imm.value = 64- extract_field (FLD_scale, code, 0);
-  return 1;
+  return TRUE;
 }
 
 /* Decode arithmetic immediate for e.g.
      SUBS <Wd>, <Wn|WSP>, #<imm> {, <shift>}.  */
-int
+bfd_boolean
 aarch64_ext_aimm (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		  aarch64_opnd_info *info, const aarch64_insn code,
-		  const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		  const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn value;
 
@@ -781,18 +821,18 @@ aarch64_ext_aimm (const aarch64_operand 
   /* shift */
   value = extract_field (FLD_shift, code, 0);
   if (value >= 2)
-    return 0;
+    return FALSE;
   info->shifter.amount = value ? 12 : 0;
   /* imm12 (unsigned) */
   info->imm.value = extract_field (FLD_imm12, code, 0);
 
-  return 1;
+  return TRUE;
 }
 
 /* Return true if VALUE is a valid logical immediate encoding, storing the
    decoded value in *RESULT if so.  ESIZE is the number of bytes in the
    decoded immediate.  */
-static int
+static bfd_boolean
 decode_limm (uint32_t esize, aarch64_insn value, int64_t *result)
 {
   uint64_t imm, mask;
@@ -820,7 +860,7 @@ decode_limm (uint32_t esize, aarch64_ins
 	case 0x30 ... 0x37: /* 110xxx */ simd_size =  8; S &= 0x7; break;
 	case 0x38 ... 0x3b: /* 1110xx */ simd_size =  4; S &= 0x3; break;
 	case 0x3c ... 0x3d: /* 11110x */ simd_size =  2; S &= 0x1; break;
-	default: return 0;
+	default: return FALSE;
 	}
       mask = (1ull << simd_size) - 1;
       /* Top bits are IGNORED.  */
@@ -828,11 +868,11 @@ decode_limm (uint32_t esize, aarch64_ins
     }
 
   if (simd_size > esize * 8)
-    return 0;
+    return FALSE;
 
   /* NOTE: if S = simd_size - 1 we get 0xf..f which is rejected.  */
   if (S == simd_size - 1)
-    return 0;
+    return FALSE;
   /* S+1 consecutive bits to 1.  */
   /* NOTE: S can't be 63 due to detection above.  */
   imm = (1ull << (S + 1)) - 1;
@@ -858,14 +898,15 @@ decode_limm (uint32_t esize, aarch64_ins
 
   *result = imm & ~((uint64_t) -1 << (esize * 4) << (esize * 4));
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode a logical immediate for e.g. ORR <Wd|WSP>, <Wn>, #<imm>.  */
-int
+bfd_boolean
 aarch64_ext_limm (const aarch64_operand *self,
 		  aarch64_opnd_info *info, const aarch64_insn code,
-		  const aarch64_inst *inst)
+		  const aarch64_inst *inst,
+		  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   uint32_t esize;
   aarch64_insn value;
@@ -877,23 +918,25 @@ aarch64_ext_limm (const aarch64_operand 
 }
 
 /* Decode a logical immediate for the BIC alias of AND (etc.).  */
-int
+bfd_boolean
 aarch64_ext_inv_limm (const aarch64_operand *self,
 		      aarch64_opnd_info *info, const aarch64_insn code,
-		      const aarch64_inst *inst)
+		      const aarch64_inst *inst,
+		      aarch64_operand_error *errors)
 {
-  if (!aarch64_ext_limm (self, info, code, inst))
-    return 0;
+  if (!aarch64_ext_limm (self, info, code, inst, errors))
+    return FALSE;
   info->imm.value = ~info->imm.value;
-  return 1;
+  return TRUE;
 }
 
 /* Decode Ft for e.g. STR <Qt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}]
    or LDP <Qt1>, <Qt2>, [<Xn|SP>], #<imm>.  */
-int
+bfd_boolean
 aarch64_ext_ft (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		aarch64_opnd_info *info,
-		const aarch64_insn code, const aarch64_inst *inst)
+		const aarch64_insn code, const aarch64_inst *inst,
+		aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn value;
 
@@ -913,7 +956,7 @@ aarch64_ext_ft (const aarch64_operand *s
 	case 0: qualifier = AARCH64_OPND_QLF_S_S; break;
 	case 1: qualifier = AARCH64_OPND_QLF_S_D; break;
 	case 2: qualifier = AARCH64_OPND_QLF_S_Q; break;
-	default: return 0;
+	default: return FALSE;
 	}
       info->qualifier = qualifier;
     }
@@ -922,31 +965,33 @@ aarch64_ext_ft (const aarch64_operand *s
       /* opc1:size */
       value = extract_fields (code, 0, 2, FLD_opc1, FLD_ldst_size);
       if (value > 0x4)
-	return 0;
+	return FALSE;
       info->qualifier = get_sreg_qualifier_from_value (value);
     }
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode the address operand for e.g. STXRB <Ws>, <Wt>, [<Xn|SP>{,#0}].  */
-int
+bfd_boolean
 aarch64_ext_addr_simple (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			 aarch64_opnd_info *info,
 			 aarch64_insn code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* Rn */
   info->addr.base_regno = extract_field (FLD_Rn, code, 0);
-  return 1;
+  return TRUE;
 }
 
 /* Decode the address operand for e.g.
      stlur <Xt>, [<Xn|SP>{, <amount>}].  */
-int
+bfd_boolean
 aarch64_ext_addr_offset (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			 aarch64_opnd_info *info,
-			 aarch64_insn code, const aarch64_inst *inst)
+			 aarch64_insn code, const aarch64_inst *inst,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   info->qualifier = get_expected_qualifier (inst, info->idx);
 
@@ -960,15 +1005,16 @@ aarch64_ext_addr_offset (const aarch64_o
     info->addr.writeback = 1;
     info->addr.preind = 1;
   }
-  return 1;
+  return TRUE;
 }
 
 /* Decode the address operand for e.g.
      STR <Qt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
-int
+bfd_boolean
 aarch64_ext_addr_regoff (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			 aarch64_opnd_info *info,
-			 aarch64_insn code, const aarch64_inst *inst)
+			 aarch64_insn code, const aarch64_inst *inst,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn S, value;
 
@@ -1004,13 +1050,14 @@ aarch64_ext_addr_regoff (const aarch64_o
       info->shifter.amount_present = 1;
     }
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode the address operand for e.g. LDRSW <Xt>, [<Xn|SP>], #<simm>.  */
-int
+bfd_boolean
 aarch64_ext_addr_simm (const aarch64_operand *self, aarch64_opnd_info *info,
-		       aarch64_insn code, const aarch64_inst *inst)
+		       aarch64_insn code, const aarch64_inst *inst,
+		       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn imm;
   info->qualifier = get_expected_qualifier (inst, info->idx);
@@ -1039,14 +1086,15 @@ aarch64_ext_addr_simm (const aarch64_ope
 	info->addr.postind = 1;
     }
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode the address operand for e.g. LDRSW <Xt>, [<Xn|SP>{, #<simm>}].  */
-int
+bfd_boolean
 aarch64_ext_addr_uimm12 (const aarch64_operand *self, aarch64_opnd_info *info,
 			 aarch64_insn code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int shift;
   info->qualifier = get_expected_qualifier (inst, info->idx);
@@ -1055,14 +1103,15 @@ aarch64_ext_addr_uimm12 (const aarch64_o
   info->addr.base_regno = extract_field (self->fields[0], code, 0);
   /* uimm12 */
   info->addr.offset.imm = extract_field (self->fields[1], code, 0) << shift;
-  return 1;
+  return TRUE;
 }
 
 /* Decode the address operand for e.g. LDRAA <Xt>, [<Xn|SP>{, #<simm>}].  */
-int
+bfd_boolean
 aarch64_ext_addr_simm10 (const aarch64_operand *self, aarch64_opnd_info *info,
 			 aarch64_insn code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn imm;
 
@@ -1076,15 +1125,16 @@ aarch64_ext_addr_simm10 (const aarch64_o
     info->addr.writeback = 1;
     info->addr.preind = 1;
   }
-  return 1;
+  return TRUE;
 }
 
 /* Decode the address operand for e.g.
      LD1 {<Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>}, [<Xn|SP>], <Xm|#<amount>>.  */
-int
+bfd_boolean
 aarch64_ext_simd_addr_post (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			    aarch64_opnd_info *info,
-			    aarch64_insn code, const aarch64_inst *inst)
+			    aarch64_insn code, const aarch64_inst *inst,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* The opcode dependent area stores the number of elements in
      each structure to be loaded/stored.  */
@@ -1110,57 +1160,76 @@ aarch64_ext_simd_addr_post (const aarch6
     info->addr.offset.is_reg = 1;
   info->addr.writeback = 1;
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode the condition operand for e.g. CSEL <Xd>, <Xn>, <Xm>, <cond>.  */
-int
+bfd_boolean
 aarch64_ext_cond (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		  aarch64_opnd_info *info,
-		  aarch64_insn code, const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		  aarch64_insn code, const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn value;
   /* cond */
   value = extract_field (FLD_cond, code, 0);
   info->cond = get_cond_from_value (value);
-  return 1;
+  return TRUE;
 }
 
 /* Decode the system register operand for e.g. MRS <Xt>, <systemreg>.  */
-int
+bfd_boolean
 aarch64_ext_sysreg (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		    aarch64_opnd_info *info,
 		    aarch64_insn code,
-		    const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		    const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* op0:op1:CRn:CRm:op2 */
-  info->sysreg = extract_fields (code, 0, 5, FLD_op0, FLD_op1, FLD_CRn,
-				 FLD_CRm, FLD_op2);
-  return 1;
+  info->sysreg.value = extract_fields (code, 0, 5, FLD_op0, FLD_op1, FLD_CRn,
+				       FLD_CRm, FLD_op2);
+  info->sysreg.flags = 0;
+
+  /* If a system instruction, check which restrictions should be on the register
+     value during decoding, these will be enforced then.  */
+  if (inst->opcode->iclass == ic_system)
+    {
+      /* Check to see if it's read-only, else check if it's write only.
+	 if it's both or unspecified don't care.  */
+      if ((inst->opcode->flags & (F_SYS_READ | F_SYS_WRITE)) == F_SYS_READ)
+	info->sysreg.flags = F_REG_READ;
+      else if ((inst->opcode->flags & (F_SYS_READ | F_SYS_WRITE))
+	       == F_SYS_WRITE)
+	info->sysreg.flags = F_REG_WRITE;
+    }
+
+  return TRUE;
 }
 
 /* Decode the PSTATE field operand for e.g. MSR <pstatefield>, #<imm>.  */
-int
+bfd_boolean
 aarch64_ext_pstatefield (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			 aarch64_opnd_info *info, aarch64_insn code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int i;
   /* op1:op2 */
   info->pstatefield = extract_fields (code, 0, 2, FLD_op1, FLD_op2);
   for (i = 0; aarch64_pstatefields[i].name != NULL; ++i)
     if (aarch64_pstatefields[i].value == (aarch64_insn)info->pstatefield)
-      return 1;
+      return TRUE;
   /* Reserved value in <pstatefield>.  */
-  return 0;
+  return FALSE;
 }
 
 /* Decode the system instruction op operand for e.g. AT <at_op>, <Xt>.  */
-int
+bfd_boolean
 aarch64_ext_sysins_op (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		       aarch64_opnd_info *info,
 		       aarch64_insn code,
-		       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int i;
   aarch64_insn value;
@@ -1176,7 +1245,7 @@ aarch64_ext_sysins_op (const aarch64_ope
     case AARCH64_OPND_SYSREG_DC: sysins_ops = aarch64_sys_regs_dc; break;
     case AARCH64_OPND_SYSREG_IC: sysins_ops = aarch64_sys_regs_ic; break;
     case AARCH64_OPND_SYSREG_TLBI: sysins_ops = aarch64_sys_regs_tlbi; break;
-    default: assert (0); return 0;
+    default: assert (0); return FALSE;
     }
 
   for (i = 0; sysins_ops[i].name != NULL; ++i)
@@ -1187,46 +1256,49 @@ aarch64_ext_sysins_op (const aarch64_ope
 		     info->sysins_op->name,
 		     (unsigned)info->sysins_op->value,
 		     aarch64_sys_ins_reg_has_xt (info->sysins_op), i);
-	return 1;
+	return TRUE;
       }
 
-  return 0;
+  return FALSE;
 }
 
 /* Decode the memory barrier option operand for e.g. DMB <option>|#<imm>.  */
 
-int
+bfd_boolean
 aarch64_ext_barrier (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		     aarch64_opnd_info *info,
 		     aarch64_insn code,
-		     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		     const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		     aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* CRm */
   info->barrier = aarch64_barrier_options + extract_field (FLD_CRm, code, 0);
-  return 1;
+  return TRUE;
 }
 
 /* Decode the prefetch operation option operand for e.g.
      PRFM <prfop>, [<Xn|SP>{, #<pimm>}].  */
 
-int
+bfd_boolean
 aarch64_ext_prfop (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		   aarch64_opnd_info *info,
-		   aarch64_insn code, const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		   aarch64_insn code, const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		   aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* prfop in Rt */
   info->prfop = aarch64_prfops + extract_field (FLD_Rt, code, 0);
-  return 1;
+  return TRUE;
 }
 
 /* Decode the hint number for an alias taking an operand.  Set info->hint_option
    to the matching name/value pair in aarch64_hint_options.  */
 
-int
+bfd_boolean
 aarch64_ext_hint (const aarch64_operand *self ATTRIBUTE_UNUSED,
 		  aarch64_opnd_info *info,
 		  aarch64_insn code,
-		  const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		  const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   /* CRm:op2.  */
   unsigned hint_number;
@@ -1239,20 +1311,21 @@ aarch64_ext_hint (const aarch64_operand 
       if (hint_number == aarch64_hint_options[i].value)
 	{
 	  info->hint_option = &(aarch64_hint_options[i]);
-	  return 1;
+	  return TRUE;
 	}
     }
 
-  return 0;
+  return FALSE;
 }
 
 /* Decode the extended register operand for e.g.
      STR <Qt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
-int
+bfd_boolean
 aarch64_ext_reg_extended (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			  aarch64_opnd_info *info,
 			  aarch64_insn code,
-			  const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			  const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			  aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn value;
 
@@ -1276,16 +1349,17 @@ aarch64_ext_reg_extended (const aarch64_
 	  || info->shifter.kind == AARCH64_MOD_SXTX))
     info->qualifier = AARCH64_OPND_QLF_X;
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode the shifted register operand for e.g.
      SUBS <Xd>, <Xn>, <Xm> {, <shift> #<amount>}.  */
-int
+bfd_boolean
 aarch64_ext_reg_shifted (const aarch64_operand *self ATTRIBUTE_UNUSED,
 			 aarch64_opnd_info *info,
 			 aarch64_insn code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   aarch64_insn value;
 
@@ -1299,21 +1373,21 @@ aarch64_ext_reg_shifted (const aarch64_o
       && inst->opcode->iclass != log_shift)
     /* ROR is not available for the shifted register operand in arithmetic
        instructions.  */
-    return 0;
+    return FALSE;
   /* imm6 */
   info->shifter.amount = extract_field (FLD_imm6, code,  0);
 
   /* This makes the constraint checking happy.  */
   info->shifter.operator_present = 1;
 
-  return 1;
+  return TRUE;
 }
 
 /* Decode an SVE address [<base>, #<offset>*<factor>, MUL VL],
    where <offset> is given by the OFFSET parameter and where <factor> is
    1 plus SELF's operand-dependent value.  fields[0] specifies the field
    that holds <base>.  */
-static int
+static bfd_boolean
 aarch64_ext_sve_addr_reg_mul_vl (const aarch64_operand *self,
 				 aarch64_opnd_info *info, aarch64_insn code,
 				 int64_t offset)
@@ -1328,17 +1402,18 @@ aarch64_ext_sve_addr_reg_mul_vl (const a
   info->shifter.amount = 1;
   info->shifter.operator_present = (info->addr.offset.imm != 0);
   info->shifter.amount_present = FALSE;
-  return 1;
+  return TRUE;
 }
 
 /* Decode an SVE address [<base>, #<simm4>*<factor>, MUL VL],
    where <simm4> is a 4-bit signed value and where <factor> is 1 plus
    SELF's operand-dependent value.  fields[0] specifies the field that
    holds <base>.  <simm4> is encoded in the SVE_imm4 field.  */
-int
+bfd_boolean
 aarch64_ext_sve_addr_ri_s4xvl (const aarch64_operand *self,
 			       aarch64_opnd_info *info, aarch64_insn code,
-			       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int offset;
 
@@ -1351,10 +1426,11 @@ aarch64_ext_sve_addr_ri_s4xvl (const aar
    where <simm6> is a 6-bit signed value and where <factor> is 1 plus
    SELF's operand-dependent value.  fields[0] specifies the field that
    holds <base>.  <simm6> is encoded in the SVE_imm6 field.  */
-int
+bfd_boolean
 aarch64_ext_sve_addr_ri_s6xvl (const aarch64_operand *self,
 			       aarch64_opnd_info *info, aarch64_insn code,
-			       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int offset;
 
@@ -1368,11 +1444,12 @@ aarch64_ext_sve_addr_ri_s6xvl (const aar
    SELF's operand-dependent value.  fields[0] specifies the field that
    holds <base>.  <simm9> is encoded in the concatenation of the SVE_imm6
    and imm3 fields, with imm3 being the less-significant part.  */
-int
+bfd_boolean
 aarch64_ext_sve_addr_ri_s9xvl (const aarch64_operand *self,
 			       aarch64_opnd_info *info,
 			       aarch64_insn code,
-			       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int offset;
 
@@ -1384,7 +1461,7 @@ aarch64_ext_sve_addr_ri_s9xvl (const aar
 /* Decode an SVE address [<base>, #<offset> << <shift>], where <offset>
    is given by the OFFSET parameter and where <shift> is SELF's operand-
    dependent value.  fields[0] specifies the base register field <base>.  */
-static int
+static bfd_boolean
 aarch64_ext_sve_addr_reg_imm (const aarch64_operand *self,
 			      aarch64_opnd_info *info, aarch64_insn code,
 			      int64_t offset)
@@ -1396,16 +1473,17 @@ aarch64_ext_sve_addr_reg_imm (const aarc
   info->addr.preind = TRUE;
   info->shifter.operator_present = FALSE;
   info->shifter.amount_present = FALSE;
-  return 1;
+  return TRUE;
 }
 
 /* Decode an SVE address [X<n>, #<SVE_imm4> << <shift>], where <SVE_imm4>
    is a 4-bit signed number and where <shift> is SELF's operand-dependent
    value.  fields[0] specifies the base register field.  */
-int
+bfd_boolean
 aarch64_ext_sve_addr_ri_s4 (const aarch64_operand *self,
 			    aarch64_opnd_info *info, aarch64_insn code,
-			    const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			    const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int offset = sign_extend (extract_field (FLD_SVE_imm4, code, 0), 3);
   return aarch64_ext_sve_addr_reg_imm (self, info, code, offset);
@@ -1414,10 +1492,11 @@ aarch64_ext_sve_addr_ri_s4 (const aarch6
 /* Decode an SVE address [X<n>, #<SVE_imm6> << <shift>], where <SVE_imm6>
    is a 6-bit unsigned number and where <shift> is SELF's operand-dependent
    value.  fields[0] specifies the base register field.  */
-int
+bfd_boolean
 aarch64_ext_sve_addr_ri_u6 (const aarch64_operand *self,
 			    aarch64_opnd_info *info, aarch64_insn code,
-			    const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			    const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int offset = extract_field (FLD_SVE_imm6, code, 0);
   return aarch64_ext_sve_addr_reg_imm (self, info, code, offset);
@@ -1426,16 +1505,17 @@ aarch64_ext_sve_addr_ri_u6 (const aarch6
 /* Decode an SVE address [X<n>, X<m>{, LSL #<shift>}], where <shift>
    is SELF's operand-dependent value.  fields[0] specifies the base
    register field and fields[1] specifies the offset register field.  */
-int
+bfd_boolean
 aarch64_ext_sve_addr_rr_lsl (const aarch64_operand *self,
 			     aarch64_opnd_info *info, aarch64_insn code,
-			     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			     const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			     aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int index_regno;
 
   index_regno = extract_field (self->fields[1], code, 0);
   if (index_regno == 31 && (self->flags & OPD_F_NO_ZR) != 0)
-    return 0;
+    return FALSE;
 
   info->addr.base_regno = extract_field (self->fields[0], code, 0);
   info->addr.offset.regno = index_regno;
@@ -1446,17 +1526,18 @@ aarch64_ext_sve_addr_rr_lsl (const aarch
   info->shifter.amount = get_operand_specific_data (self);
   info->shifter.operator_present = (info->shifter.amount != 0);
   info->shifter.amount_present = (info->shifter.amount != 0);
-  return 1;
+  return TRUE;
 }
 
 /* Decode an SVE address [X<n>, Z<m>.<T>, (S|U)XTW {#<shift>}], where
    <shift> is SELF's operand-dependent value.  fields[0] specifies the
    base register field, fields[1] specifies the offset register field and
    fields[2] is a single-bit field that selects SXTW over UXTW.  */
-int
+bfd_boolean
 aarch64_ext_sve_addr_rz_xtw (const aarch64_operand *self,
 			     aarch64_opnd_info *info, aarch64_insn code,
-			     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			     const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			     aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   info->addr.base_regno = extract_field (self->fields[0], code, 0);
   info->addr.offset.regno = extract_field (self->fields[1], code, 0);
@@ -1470,16 +1551,17 @@ aarch64_ext_sve_addr_rz_xtw (const aarch
   info->shifter.amount = get_operand_specific_data (self);
   info->shifter.operator_present = TRUE;
   info->shifter.amount_present = (info->shifter.amount != 0);
-  return 1;
+  return TRUE;
 }
 
 /* Decode an SVE address [Z<n>.<T>, #<imm5> << <shift>], where <imm5> is a
    5-bit unsigned number and where <shift> is SELF's operand-dependent value.
    fields[0] specifies the base register field.  */
-int
+bfd_boolean
 aarch64_ext_sve_addr_zi_u5 (const aarch64_operand *self,
 			    aarch64_opnd_info *info, aarch64_insn code,
-			    const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			    const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int offset = extract_field (FLD_imm5, code, 0);
   return aarch64_ext_sve_addr_reg_imm (self, info, code, offset);
@@ -1489,7 +1571,7 @@ aarch64_ext_sve_addr_zi_u5 (const aarch6
    where <modifier> is given by KIND and where <msz> is a 2-bit unsigned
    number.  fields[0] specifies the base register field and fields[1]
    specifies the offset register field.  */
-static int
+static bfd_boolean
 aarch64_ext_sve_addr_zz (const aarch64_operand *self, aarch64_opnd_info *info,
 			 aarch64_insn code, enum aarch64_modifier_kind kind)
 {
@@ -1503,16 +1585,17 @@ aarch64_ext_sve_addr_zz (const aarch64_o
   info->shifter.operator_present = (kind != AARCH64_MOD_LSL
 				    || info->shifter.amount != 0);
   info->shifter.amount_present = (info->shifter.amount != 0);
-  return 1;
+  return TRUE;
 }
 
 /* Decode an SVE address [Z<n>.<T>, Z<m>.<T>{, LSL #<msz>}], where
    <msz> is a 2-bit unsigned number.  fields[0] specifies the base register
    field and fields[1] specifies the offset register field.  */
-int
+bfd_boolean
 aarch64_ext_sve_addr_zz_lsl (const aarch64_operand *self,
 			     aarch64_opnd_info *info, aarch64_insn code,
-			     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			     const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			     aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   return aarch64_ext_sve_addr_zz (self, info, code, AARCH64_MOD_LSL);
 }
@@ -1520,10 +1603,11 @@ aarch64_ext_sve_addr_zz_lsl (const aarch
 /* Decode an SVE address [Z<n>.<T>, Z<m>.<T>, SXTW {#<msz>}], where
    <msz> is a 2-bit unsigned number.  fields[0] specifies the base register
    field and fields[1] specifies the offset register field.  */
-int
+bfd_boolean
 aarch64_ext_sve_addr_zz_sxtw (const aarch64_operand *self,
 			      aarch64_opnd_info *info, aarch64_insn code,
-			      const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			      const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			      aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   return aarch64_ext_sve_addr_zz (self, info, code, AARCH64_MOD_SXTW);
 }
@@ -1531,17 +1615,18 @@ aarch64_ext_sve_addr_zz_sxtw (const aarc
 /* Decode an SVE address [Z<n>.<T>, Z<m>.<T>, UXTW {#<msz>}], where
    <msz> is a 2-bit unsigned number.  fields[0] specifies the base register
    field and fields[1] specifies the offset register field.  */
-int
+bfd_boolean
 aarch64_ext_sve_addr_zz_uxtw (const aarch64_operand *self,
 			      aarch64_opnd_info *info, aarch64_insn code,
-			      const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			      const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			      aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   return aarch64_ext_sve_addr_zz (self, info, code, AARCH64_MOD_UXTW);
 }
 
 /* Finish decoding an SVE arithmetic immediate, given that INFO already
    has the raw field value and that the low 8 bits decode to VALUE.  */
-static int
+static bfd_boolean
 decode_sve_aimm (aarch64_opnd_info *info, int64_t value)
 {
   info->shifter.kind = AARCH64_MOD_LSL;
@@ -1557,82 +1642,88 @@ decode_sve_aimm (aarch64_opnd_info *info
   info->shifter.operator_present = (info->shifter.amount != 0);
   info->shifter.amount_present = (info->shifter.amount != 0);
   info->imm.value = value;
-  return 1;
+  return TRUE;
 }
 
 /* Decode an SVE ADD/SUB immediate.  */
-int
+bfd_boolean
 aarch64_ext_sve_aimm (const aarch64_operand *self,
 		      aarch64_opnd_info *info, const aarch64_insn code,
-		      const aarch64_inst *inst)
+		      const aarch64_inst *inst,
+		      aarch64_operand_error *errors)
 {
-  return (aarch64_ext_imm (self, info, code, inst)
+  return (aarch64_ext_imm (self, info, code, inst, errors)
 	  && decode_sve_aimm (info, (uint8_t) info->imm.value));
 }
 
 /* Decode an SVE CPY/DUP immediate.  */
-int
+bfd_boolean
 aarch64_ext_sve_asimm (const aarch64_operand *self,
 		       aarch64_opnd_info *info, const aarch64_insn code,
-		       const aarch64_inst *inst)
+		       const aarch64_inst *inst,
+		       aarch64_operand_error *errors)
 {
-  return (aarch64_ext_imm (self, info, code, inst)
+  return (aarch64_ext_imm (self, info, code, inst, errors)
 	  && decode_sve_aimm (info, (int8_t) info->imm.value));
 }
 
 /* Decode a single-bit immediate that selects between #0.5 and #1.0.
    The fields array specifies which field to use.  */
-int
+bfd_boolean
 aarch64_ext_sve_float_half_one (const aarch64_operand *self,
 				aarch64_opnd_info *info, aarch64_insn code,
-				const aarch64_inst *inst ATTRIBUTE_UNUSED)
+				const aarch64_inst *inst ATTRIBUTE_UNUSED,
+				aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   if (extract_field (self->fields[0], code, 0))
     info->imm.value = 0x3f800000;
   else
     info->imm.value = 0x3f000000;
   info->imm.is_fp = TRUE;
-  return 1;
+  return TRUE;
 }
 
 /* Decode a single-bit immediate that selects between #0.5 and #2.0.
    The fields array specifies which field to use.  */
-int
+bfd_boolean
 aarch64_ext_sve_float_half_two (const aarch64_operand *self,
 				aarch64_opnd_info *info, aarch64_insn code,
-				const aarch64_inst *inst ATTRIBUTE_UNUSED)
+				const aarch64_inst *inst ATTRIBUTE_UNUSED,
+				aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   if (extract_field (self->fields[0], code, 0))
     info->imm.value = 0x40000000;
   else
     info->imm.value = 0x3f000000;
   info->imm.is_fp = TRUE;
-  return 1;
+  return TRUE;
 }
 
 /* Decode a single-bit immediate that selects between #0.0 and #1.0.
    The fields array specifies which field to use.  */
-int
+bfd_boolean
 aarch64_ext_sve_float_zero_one (const aarch64_operand *self,
 				aarch64_opnd_info *info, aarch64_insn code,
-				const aarch64_inst *inst ATTRIBUTE_UNUSED)
+				const aarch64_inst *inst ATTRIBUTE_UNUSED,
+				aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   if (extract_field (self->fields[0], code, 0))
     info->imm.value = 0x3f800000;
   else
     info->imm.value = 0x0;
   info->imm.is_fp = TRUE;
-  return 1;
+  return TRUE;
 }
 
 /* Decode Zn[MM], where MM has a 7-bit triangular encoding.  The fields
    array specifies which field to use for Zn.  MM is encoded in the
    concatenation of imm5 and SVE_tszh, with imm5 being the less
    significant part.  */
-int
+bfd_boolean
 aarch64_ext_sve_index (const aarch64_operand *self,
 		       aarch64_opnd_info *info, aarch64_insn code,
-		       const aarch64_inst *inst ATTRIBUTE_UNUSED)
+		       const aarch64_inst *inst ATTRIBUTE_UNUSED,
+		       aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   int val;
 
@@ -1643,66 +1734,69 @@ aarch64_ext_sve_index (const aarch64_ope
   while ((val & 1) == 0)
     val /= 2;
   info->reglane.index = val / 2;
-  return 1;
+  return TRUE;
 }
 
 /* Decode a logical immediate for the MOV alias of SVE DUPM.  */
-int
+bfd_boolean
 aarch64_ext_sve_limm_mov (const aarch64_operand *self,
 			  aarch64_opnd_info *info, const aarch64_insn code,
-			  const aarch64_inst *inst)
+			  const aarch64_inst *inst,
+			  aarch64_operand_error *errors)
 {
   int esize = aarch64_get_qualifier_esize (inst->operands[0].qualifier);
-  return (aarch64_ext_limm (self, info, code, inst)
+  return (aarch64_ext_limm (self, info, code, inst, errors)
 	  && aarch64_sve_dupm_mov_immediate_p (info->imm.value, esize));
 }
 
 /* Decode Zn[MM], where Zn occupies the least-significant part of the field
    and where MM occupies the most-significant part.  The operand-dependent
    value specifies the number of bits in Zn.  */
-int
+bfd_boolean
 aarch64_ext_sve_quad_index (const aarch64_operand *self,
 			    aarch64_opnd_info *info, aarch64_insn code,
-			    const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			    const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			    aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   unsigned int reg_bits = get_operand_specific_data (self);
   unsigned int val = extract_all_fields (self, code);
   info->reglane.regno = val & ((1 << reg_bits) - 1);
   info->reglane.index = val >> reg_bits;
-  return 1;
+  return TRUE;
 }
 
 /* Decode {Zn.<T> - Zm.<T>}.  The fields array specifies which field
    to use for Zn.  The opcode-dependent value specifies the number
    of registers in the list.  */
-int
+bfd_boolean
 aarch64_ext_sve_reglist (const aarch64_operand *self,
 			 aarch64_opnd_info *info, aarch64_insn code,
-			 const aarch64_inst *inst ATTRIBUTE_UNUSED)
+			 const aarch64_inst *inst ATTRIBUTE_UNUSED,
+			 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   info->reglist.first_regno = extract_field (self->fields[0], code, 0);
   info->reglist.num_regs = get_opcode_dependent_value (inst->opcode);
-  return 1;
+  return TRUE;
 }
 
 /* Decode <pattern>{, MUL #<amount>}.  The fields array specifies which
    fields to use for <pattern>.  <amount> - 1 is encoded in the SVE_imm4
    field.  */
-int
+bfd_boolean
 aarch64_ext_sve_scale (const aarch64_operand *self,
 		       aarch64_opnd_info *info, aarch64_insn code,
-		       const aarch64_inst *inst)
+		       const aarch64_inst *inst, aarch64_operand_error *errors)
 {
   int val;
 
-  if (!aarch64_ext_imm (self, info, code, inst))
-    return 0;
+  if (!aarch64_ext_imm (self, info, code, inst, errors))
+    return FALSE;
   val = extract_field (FLD_SVE_imm4, code, 0);
   info->shifter.kind = AARCH64_MOD_MUL;
   info->shifter.amount = val + 1;
   info->shifter.operator_present = (val != 0);
   info->shifter.amount_present = (val != 0);
-  return 1;
+  return TRUE;
 }
 
 /* Return the top set bit in VALUE, which is expected to be relatively
@@ -1716,31 +1810,31 @@ get_top_bit (uint64_t value)
 }
 
 /* Decode an SVE shift-left immediate.  */
-int
+bfd_boolean
 aarch64_ext_sve_shlimm (const aarch64_operand *self,
 			aarch64_opnd_info *info, const aarch64_insn code,
-			const aarch64_inst *inst)
+			const aarch64_inst *inst, aarch64_operand_error *errors)
 {
-  if (!aarch64_ext_imm (self, info, code, inst)
+  if (!aarch64_ext_imm (self, info, code, inst, errors)
       || info->imm.value == 0)
-    return 0;
+    return FALSE;
 
   info->imm.value -= get_top_bit (info->imm.value);
-  return 1;
+  return TRUE;
 }
 
 /* Decode an SVE shift-right immediate.  */
-int
+bfd_boolean
 aarch64_ext_sve_shrimm (const aarch64_operand *self,
 			aarch64_opnd_info *info, const aarch64_insn code,
-			const aarch64_inst *inst)
+			const aarch64_inst *inst, aarch64_operand_error *errors)
 {
-  if (!aarch64_ext_imm (self, info, code, inst)
+  if (!aarch64_ext_imm (self, info, code, inst, errors)
       || info->imm.value == 0)
-    return 0;
+    return FALSE;
 
   info->imm.value = get_top_bit (info->imm.value) * 2 - info->imm.value;
-  return 1;
+  return TRUE;
 }
 
 /* Bitfields that are commonly used to encode certain operands' information
@@ -2474,8 +2568,9 @@ convert_to_alias (aarch64_inst *inst, co
     }
 }
 
-static int aarch64_opcode_decode (const aarch64_opcode *, const aarch64_insn,
-				  aarch64_inst *, int);
+static bfd_boolean
+aarch64_opcode_decode (const aarch64_opcode *, const aarch64_insn,
+		       aarch64_inst *, int, aarch64_operand_error *errors);
 
 /* Given the instruction information in *INST, check if the instruction has
    any alias form that can be used to represent *INST.  If the answer is yes,
@@ -2531,7 +2626,8 @@ static int aarch64_opcode_decode (const 
    aarch64_find_next_alias_opcode (in opcodes/aarch64-dis-2.c) to help.  */
 
 static void
-determine_disassembling_preference (struct aarch64_inst *inst)
+determine_disassembling_preference (struct aarch64_inst *inst,
+				    aarch64_operand_error *errors)
 {
   const aarch64_opcode *opcode;
   const aarch64_opcode *alias;
@@ -2606,7 +2702,7 @@ determine_disassembling_preference (stru
 	  /* Directly decode the alias opcode.  */
 	  aarch64_inst temp;
 	  memset (&temp, '\0', sizeof (aarch64_inst));
-	  if (aarch64_opcode_decode (alias, inst->value, &temp, 1) == 1)
+	  if (aarch64_opcode_decode (alias, inst->value, &temp, 1, errors) == 1)
 	    {
 	      DEBUG_TRACE ("succeed with %s via direct decoding", alias->name);
 	      memcpy (inst, &temp, sizeof (aarch64_inst));
@@ -2723,9 +2819,10 @@ aarch64_decode_variant_using_iclass (aar
    determined and used to disassemble CODE; this is done just before the
    return.  */
 
-static int
+static bfd_boolean
 aarch64_opcode_decode (const aarch64_opcode *opcode, const aarch64_insn code,
-		       aarch64_inst *inst, int noaliases_p)
+		       aarch64_inst *inst, int noaliases_p,
+		       aarch64_operand_error *errors)
 {
   int i;
 
@@ -2733,6 +2830,9 @@ aarch64_opcode_decode (const aarch64_opc
 
   assert (opcode && inst);
 
+  /* Clear inst.  */
+  memset (inst, '\0', sizeof (aarch64_inst));
+
   /* Check the base opcode.  */
   if ((code & opcode->mask) != (opcode->opcode & opcode->mask))
     {
@@ -2740,9 +2840,6 @@ aarch64_opcode_decode (const aarch64_opc
       goto decode_fail;
     }
 
-  /* Clear inst.  */
-  memset (inst, '\0', sizeof (aarch64_inst));
-
   inst->opcode = opcode;
   inst->value = code;
 
@@ -2781,7 +2878,8 @@ aarch64_opcode_decode (const aarch64_opc
 	break;
       opnd = &aarch64_operands[type];
       if (operand_has_extractor (opnd)
-	  && (! aarch64_extract_operand (opnd, &inst->operands[i], code, inst)))
+	  && (! aarch64_extract_operand (opnd, &inst->operands[i], code, inst,
+					 errors)))
 	{
 	  DEBUG_TRACE ("operand decoder FAIL at operand %d", i);
 	  goto decode_fail;
@@ -2804,9 +2902,9 @@ aarch64_opcode_decode (const aarch64_opc
 	 alias and should be disassembled in the form of its alias instead.
 	 If the answer is yes, *INST will be updated.  */
       if (!noaliases_p)
-	determine_disassembling_preference (inst);
+	determine_disassembling_preference (inst, errors);
       DEBUG_TRACE ("SUCCESS");
-      return 1;
+      return TRUE;
     }
   else
     {
@@ -2814,7 +2912,7 @@ aarch64_opcode_decode (const aarch64_opc
     }
 
 decode_fail:
-  return 0;
+  return FALSE;
 }
 
 /* This does some user-friendly fix-up to *INST.  It is currently focus on
@@ -2846,7 +2944,8 @@ user_friendly_fixup (aarch64_inst *inst)
 
 int
 aarch64_decode_insn (aarch64_insn insn, aarch64_inst *inst,
-		     bfd_boolean noaliases_p)
+		     bfd_boolean noaliases_p,
+		     aarch64_operand_error *errors)
 {
   const aarch64_opcode *opcode = aarch64_opcode_lookup (insn);
 
@@ -2873,7 +2972,7 @@ aarch64_decode_insn (aarch64_insn insn, 
     {
       /* But only one opcode can be decoded successfully for, as the
 	 decoding routine will check the constraint carefully.  */
-      if (aarch64_opcode_decode (opcode, insn, inst, noaliases_p) == 1)
+      if (aarch64_opcode_decode (opcode, insn, inst, noaliases_p, errors) == 1)
 	return ERR_OK;
       opcode = aarch64_find_next_opcode (opcode);
     }
@@ -2888,6 +2987,7 @@ print_operands (bfd_vma pc, const aarch6
 		const aarch64_opnd_info *opnds, struct disassemble_info *info)
 {
   int i, pcrel_p, num_printed;
+  char *notes = NULL;
   for (i = 0, num_printed = 0; i < AARCH64_MAX_OPND_NUM; ++i)
     {
       char str[128];
@@ -2902,7 +3002,7 @@ print_operands (bfd_vma pc, const aarch6
 
       /* Generate the operand string in STR.  */
       aarch64_print_operand (str, sizeof (str), pc, opcode, opnds, i, &pcrel_p,
-			     &info->target);
+			     &info->target, &notes);
 
       /* Print the delimiter (taking account of omitted operand(s)).  */
       if (str[0] != '\0')
@@ -2915,6 +3015,9 @@ print_operands (bfd_vma pc, const aarch6
       else
 	(*info->fprintf_func) (info->stream, "%s", str);
     }
+
+    if (notes && !no_notes)
+      (*info->fprintf_func) (info->stream, "\t; note: %s", notes);
 }
 
 /* Set NAME to a copy of INST's mnemonic with the "." suffix removed.  */
@@ -2988,7 +3091,8 @@ print_aarch64_insn (bfd_vma pc, const aa
 static void
 print_insn_aarch64_word (bfd_vma pc,
 			 uint32_t word,
-			 struct disassemble_info *info)
+			 struct disassemble_info *info,
+			 aarch64_operand_error *errors)
 {
   static const char *err_msg[6] =
     {
@@ -3015,7 +3119,7 @@ print_insn_aarch64_word (bfd_vma pc,
        addresses, since the addend is not currently pc-relative.  */
     pc = 0;
 
-  ret = aarch64_decode_insn (word, &inst, no_aliases);
+  ret = aarch64_decode_insn (word, &inst, no_aliases, errors);
 
   if (((word >> 21) & 0x3ff) == 1)
     {
@@ -3068,7 +3172,8 @@ aarch64_symbol_is_valid (asymbol * sym,
 static void
 print_insn_data (bfd_vma pc ATTRIBUTE_UNUSED,
 		 uint32_t word,
-		 struct disassemble_info *info)
+		 struct disassemble_info *info,
+		 aarch64_operand_error *errors ATTRIBUTE_UNUSED)
 {
   switch (info->bytes_per_chunk)
     {
@@ -3132,10 +3237,12 @@ print_insn_aarch64 (bfd_vma pc,
 {
   bfd_byte	buffer[INSNLEN];
   int		status;
-  void		(*printer) (bfd_vma, uint32_t, struct disassemble_info *);
+  void		(*printer) (bfd_vma, uint32_t, struct disassemble_info *,
+			    aarch64_operand_error *);
   bfd_boolean   found = FALSE;
   unsigned int	size = 4;
   unsigned long	data;
+  aarch64_operand_error errors;
 
   if (info->disassembler_options)
     {
@@ -3253,7 +3360,7 @@ print_insn_aarch64 (bfd_vma pc,
   data = bfd_get_bits (buffer, size * 8,
 		       info->display_endian == BFD_ENDIAN_BIG);
 
-  (*printer) (pc, data, info);
+  (*printer) (pc, data, info, &errors);
 
   return size;
 }
@@ -3271,6 +3378,12 @@ with the -M switch (multiple options sho
   fprintf (stream, _("\n\
   aliases            Do print instruction aliases.\n"));
 
+  fprintf (stream, _("\n\
+  no-notes         Don't print instruction notes.\n"));
+
+  fprintf (stream, _("\n\
+  notes            Do print instruction notes.\n"));
+
 #ifdef DEBUG_AARCH64
   fprintf (stream, _("\n\
   debug_dump         Temp switch for debug trace.\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.1.0.20180703/opcodes/aarch64-dis.h ./opcodes/aarch64-dis.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-dis.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aarch64-dis.h	2018-07-10 02:06:14.000000000 +0000
@@ -50,14 +50,17 @@ const aarch64_opcode* aarch64_find_next_
 
 /* Switch-table-based high-level operand extractor.  */
 
-int aarch64_extract_operand (const aarch64_operand *, aarch64_opnd_info *,
-			     const aarch64_insn, const aarch64_inst *);
+bfd_boolean
+aarch64_extract_operand (const aarch64_operand *, aarch64_opnd_info *,
+			 const aarch64_insn, const aarch64_inst *,
+			 aarch64_operand_error *);
 
 /* Operand extractors.  */
 
 #define AARCH64_DECL_OPD_EXTRACTOR(x)	\
-  int aarch64_##x (const aarch64_operand *, aarch64_opnd_info *, \
-		   const aarch64_insn, const aarch64_inst *)
+  bfd_boolean aarch64_##x (const aarch64_operand *, aarch64_opnd_info *, \
+			   const aarch64_insn, const aarch64_inst *, \
+			   aarch64_operand_error *)
 
 AARCH64_DECL_OPD_EXTRACTOR (ext_regno);
 AARCH64_DECL_OPD_EXTRACTOR (ext_regno_pair);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-gen.c ./opcodes/aarch64-gen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-gen.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aarch64-gen.c	2018-07-10 02:06:14.000000000 +0000
@@ -984,10 +984,11 @@ print_operand_inserter (void)
     printf ("Enter print_operand_inserter\n");
 
   printf ("\n");
-  printf ("const char*\n");
+  printf ("bfd_boolean\n");
   printf ("aarch64_insert_operand (const aarch64_operand *self,\n\
 			   const aarch64_opnd_info *info,\n\
-			   aarch64_insn *code, const aarch64_inst *inst)\n");
+			   aarch64_insn *code, const aarch64_inst *inst,\n\
+			   aarch64_operand_error *errors)\n");
   printf ("{\n");
   printf ("  /* Use the index as the key.  */\n");
   printf ("  int key = self - aarch64_operands;\n");
@@ -1017,7 +1018,7 @@ print_operand_inserter (void)
 		  opnd2->processed = 1;
 		}
 	    }
-	  printf ("      return aarch64_%s (self, info, code, inst);\n",
+	  printf ("      return aarch64_%s (self, info, code, inst, errors);\n",
 		  opnd->inserter);
 	}
     }
@@ -1040,10 +1041,11 @@ print_operand_extractor (void)
     printf ("Enter print_operand_extractor\n");
 
   printf ("\n");
-  printf ("int\n");
+  printf ("bfd_boolean\n");
   printf ("aarch64_extract_operand (const aarch64_operand *self,\n\
 			   aarch64_opnd_info *info,\n\
-			   aarch64_insn code, const aarch64_inst *inst)\n");
+			   aarch64_insn code, const aarch64_inst *inst,\n\
+			   aarch64_operand_error *errors)\n");
   printf ("{\n");
   printf ("  /* Use the index as the key.  */\n");
   printf ("  int key = self - aarch64_operands;\n");
@@ -1073,7 +1075,7 @@ print_operand_extractor (void)
 		  opnd2->processed = 1;
 		}
 	    }
-	  printf ("      return aarch64_%s (self, info, code, inst);\n",
+	  printf ("      return aarch64_%s (self, info, code, inst, errors);\n",
 		  opnd->extractor);
 	}
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-opc-2.c ./opcodes/aarch64-opc-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-opc-2.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aarch64-opc-2.c	2018-07-10 02:06:14.000000000 +0000
@@ -57,6 +57,7 @@ const struct aarch64_operand aarch64_ope
   {AARCH64_OPND_CLASS_SIMD_ELEMENT, "Ed", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rd}, "a SIMD vector element"},
   {AARCH64_OPND_CLASS_SIMD_ELEMENT, "En", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn}, "a SIMD vector element"},
   {AARCH64_OPND_CLASS_SIMD_ELEMENT, "Em", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rm}, "a SIMD vector element"},
+  {AARCH64_OPND_CLASS_SIMD_ELEMENT, "Em16", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rm}, "a SIMD vector element limited to V0-V15"},
   {AARCH64_OPND_CLASS_SIMD_REGLIST, "LVn", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn}, "a SIMD vector register list"},
   {AARCH64_OPND_CLASS_SIMD_REGLIST, "LVt", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {}, "a SIMD vector register list"},
   {AARCH64_OPND_CLASS_SIMD_REGLIST, "LVt_AL", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {}, "a SIMD vector register list"},
@@ -134,6 +135,7 @@ const struct aarch64_operand aarch64_ope
   {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RI_U6x2", 1 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn}, "an address with a 6-bit unsigned offset, multiplied by 2"},
   {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RI_U6x4", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn}, "an address with a 6-bit unsigned offset, multiplied by 4"},
   {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RI_U6x8", 3 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn}, "an address with a 6-bit unsigned offset, multiplied by 8"},
+  {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_R", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with an optional scalar register offset"},
   {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RR", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
   {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RR_LSL1", 1 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
   {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RR_LSL2", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
@@ -292,17 +294,17 @@ static const unsigned op_enum_table [] =
   385,
   407,
   409,
-  1215,
-  1220,
-  1213,
-  1212,
   1216,
-  1223,
-  1225,
+  1221,
+  1214,
+  1213,
+  1217,
+  1224,
   1226,
-  1222,
-  1228,
   1227,
+  1223,
+  1229,
+  1228,
   129,
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-opc.c ./opcodes/aarch64-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-opc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aarch64-opc.c	2018-07-10 02:06:14.000000000 +0000
@@ -1835,6 +1835,7 @@ operand_general_constraint_met_p (const 
 	  max_value = 7;
 	  goto sve_imm_offset;
 
+	case AARCH64_OPND_SVE_ADDR_R:
 	case AARCH64_OPND_SVE_ADDR_RR:
 	case AARCH64_OPND_SVE_ADDR_RR_LSL1:
 	case AARCH64_OPND_SVE_ADDR_RR_LSL2:
@@ -2515,7 +2516,7 @@ operand_general_constraint_met_p (const 
 	 01		0:Rm
 	 10		M:Rm
 	 11		RESERVED  */
-      if (type == AARCH64_OPND_Em && qualifier == AARCH64_OPND_QLF_S_H
+      if (type == AARCH64_OPND_Em16 && qualifier == AARCH64_OPND_QLF_S_H
 	  && !value_in_range_p (opnd->reglane.regno, 0, 15))
 	{
 	  set_regno_out_of_range_error (mismatch_detail, idx, 0, 15);
@@ -3032,7 +3033,7 @@ void
 aarch64_print_operand (char *buf, size_t size, bfd_vma pc,
 		       const aarch64_opcode *opcode,
 		       const aarch64_opnd_info *opnds, int idx, int *pcrel_p,
-		       bfd_vma *address)
+		       bfd_vma *address, char** notes ATTRIBUTE_UNUSED)
 {
   unsigned int i, num_conds;
   const char *name = NULL;
@@ -3160,6 +3161,7 @@ aarch64_print_operand (char *buf, size_t
     case AARCH64_OPND_Ed:
     case AARCH64_OPND_En:
     case AARCH64_OPND_Em:
+    case AARCH64_OPND_Em16:
     case AARCH64_OPND_SM3_IMM2:
       snprintf (buf, size, "v%d.%s[%" PRIi64 "]", opnd->reglane.regno,
 		aarch64_get_qualifier_name (opnd->qualifier),
@@ -3476,6 +3478,7 @@ aarch64_print_operand (char *buf, size_t
       break;
 
     case AARCH64_OPND_ADDR_REGOFF:
+    case AARCH64_OPND_SVE_ADDR_R:
     case AARCH64_OPND_SVE_ADDR_RR:
     case AARCH64_OPND_SVE_ADDR_RR_LSL1:
     case AARCH64_OPND_SVE_ADDR_RR_LSL2:
@@ -3554,15 +3557,42 @@ aarch64_print_operand (char *buf, size_t
 
     case AARCH64_OPND_SYSREG:
       for (i = 0; aarch64_sys_regs[i].name; ++i)
-	if (aarch64_sys_regs[i].value == opnd->sysreg
-	    && ! aarch64_sys_reg_deprecated_p (&aarch64_sys_regs[i]))
-	  break;
-      if (aarch64_sys_regs[i].name)
-	snprintf (buf, size, "%s", aarch64_sys_regs[i].name);
+	{
+	  bfd_boolean exact_match
+	    = (aarch64_sys_regs[i].flags & opnd->sysreg.flags)
+	       == opnd->sysreg.flags;
+
+	  /* Try and find an exact match, But if that fails, return the first
+	     partial match that was found.  */
+	  if (aarch64_sys_regs[i].value == opnd->sysreg.value
+	      && ! aarch64_sys_reg_deprecated_p (&aarch64_sys_regs[i])
+	      && (name == NULL || exact_match))
+	    {
+	      name = aarch64_sys_regs[i].name;
+	      if (exact_match)
+		{
+		  if (notes)
+		    *notes = NULL;
+		  break;
+		}
+
+	      /* If we didn't match exactly, that means the presense of a flag
+		 indicates what we didn't want for this instruction.  e.g. If
+		 F_REG_READ is there, that means we were looking for a write
+		 register.  See aarch64_ext_sysreg.  */
+	      if (aarch64_sys_regs[i].flags & F_REG_WRITE)
+		*notes = _("reading from a write-only register.");
+	      else if (aarch64_sys_regs[i].flags & F_REG_READ)
+		*notes = _("writing to a read-only register.");
+	    }
+	}
+
+      if (name)
+	snprintf (buf, size, "%s", name);
       else
 	{
 	  /* Implementation defined system register.  */
-	  unsigned int value = opnd->sysreg;
+	  unsigned int value = opnd->sysreg.value;
 	  snprintf (buf, size, "s%u_%u_c%u_c%u_%u", (value >> 14) & 0x3,
 		    (value >> 11) & 0x7, (value >> 7) & 0xf, (value >> 3) & 0xf,
 		    value & 0x7);
@@ -3636,26 +3666,8 @@ aarch64_print_operand (char *buf, size_t
 #define C14 14
 #define C15 15
 
-#ifdef F_DEPRECATED
-#undef F_DEPRECATED
-#endif
-#define F_DEPRECATED	0x1	/* Deprecated system register.  */
-
-#ifdef F_ARCHEXT
-#undef F_ARCHEXT
-#endif
-#define F_ARCHEXT	0x2	/* Architecture dependent system register.  */
-
-#ifdef F_HASXT
-#undef F_HASXT
-#endif
-#define F_HASXT		0x4	/* System instruction register <Xt>
-				   operand.  */
-
-
-/* TODO there are two more issues need to be resolved
-   1. handle read-only and write-only system registers
-   2. handle cpu-implementation-defined system registers.  */
+/* TODO there is one more issues need to be resolved
+   1. handle cpu-implementation-defined system registers.  */
 const aarch64_sys_reg aarch64_sys_regs [] =
 {
   { "spsr_el1",         CPEN_(0,C0,0),	0 }, /* = spsr_svc */
@@ -3665,7 +3677,7 @@ const aarch64_sys_reg aarch64_sys_regs [
   { "sp_el0",           CPEN_(0,C1,0),	0 },
   { "spsel",            CPEN_(0,C2,0),	0 },
   { "daif",             CPEN_(3,C2,1),	0 },
-  { "currentel",        CPEN_(0,C2,2),	0 }, /* RO */
+  { "currentel",        CPEN_(0,C2,2),	F_REG_READ }, /* RO */
   { "pan",		CPEN_(0,C2,3),	F_ARCHEXT },
   { "uao",		CPEN_ (0, C2, 4), F_ARCHEXT },
   { "nzcv",             CPEN_(3,C2,0),	0 },
@@ -3685,45 +3697,45 @@ const aarch64_sys_reg aarch64_sys_regs [
   { "sp_el2",           CPEN_(6,C1,0),	0 },
   { "spsr_svc",         CPEN_(0,C0,0),	F_DEPRECATED }, /* = spsr_el1 */
   { "spsr_hyp",         CPEN_(4,C0,0),	F_DEPRECATED }, /* = spsr_el2 */
-  { "midr_el1",         CPENC(3,0,C0,C0,0),	0 }, /* RO */
-  { "ctr_el0",          CPENC(3,3,C0,C0,1),	0 }, /* RO */
-  { "mpidr_el1",        CPENC(3,0,C0,C0,5),	0 }, /* RO */
-  { "revidr_el1",       CPENC(3,0,C0,C0,6),	0 }, /* RO */
-  { "aidr_el1",         CPENC(3,1,C0,C0,7),	0 }, /* RO */
-  { "dczid_el0",        CPENC(3,3,C0,C0,7),	0 }, /* RO */
-  { "id_dfr0_el1",      CPENC(3,0,C0,C1,2),	0 }, /* RO */
-  { "id_pfr0_el1",      CPENC(3,0,C0,C1,0),	0 }, /* RO */
-  { "id_pfr1_el1",      CPENC(3,0,C0,C1,1),	0 }, /* RO */
-  { "id_afr0_el1",      CPENC(3,0,C0,C1,3),	0 }, /* RO */
-  { "id_mmfr0_el1",     CPENC(3,0,C0,C1,4),	0 }, /* RO */
-  { "id_mmfr1_el1",     CPENC(3,0,C0,C1,5),	0 }, /* RO */
-  { "id_mmfr2_el1",     CPENC(3,0,C0,C1,6),	0 }, /* RO */
-  { "id_mmfr3_el1",     CPENC(3,0,C0,C1,7),	0 }, /* RO */
-  { "id_mmfr4_el1",     CPENC(3,0,C0,C2,6),	0 }, /* RO */
-  { "id_isar0_el1",     CPENC(3,0,C0,C2,0),	0 }, /* RO */
-  { "id_isar1_el1",     CPENC(3,0,C0,C2,1),	0 }, /* RO */
-  { "id_isar2_el1",     CPENC(3,0,C0,C2,2),	0 }, /* RO */
-  { "id_isar3_el1",     CPENC(3,0,C0,C2,3),	0 }, /* RO */
-  { "id_isar4_el1",     CPENC(3,0,C0,C2,4),	0 }, /* RO */
-  { "id_isar5_el1",     CPENC(3,0,C0,C2,5),	0 }, /* RO */
-  { "mvfr0_el1",        CPENC(3,0,C0,C3,0),	0 }, /* RO */
-  { "mvfr1_el1",        CPENC(3,0,C0,C3,1),	0 }, /* RO */
-  { "mvfr2_el1",        CPENC(3,0,C0,C3,2),	0 }, /* RO */
-  { "ccsidr_el1",       CPENC(3,1,C0,C0,0),	0 }, /* RO */
-  { "id_aa64pfr0_el1",  CPENC(3,0,C0,C4,0),	0 }, /* RO */
-  { "id_aa64pfr1_el1",  CPENC(3,0,C0,C4,1),	0 }, /* RO */
-  { "id_aa64dfr0_el1",  CPENC(3,0,C0,C5,0),	0 }, /* RO */
-  { "id_aa64dfr1_el1",  CPENC(3,0,C0,C5,1),	0 }, /* RO */
-  { "id_aa64isar0_el1", CPENC(3,0,C0,C6,0),	0 }, /* RO */
-  { "id_aa64isar1_el1", CPENC(3,0,C0,C6,1),	0 }, /* RO */
-  { "id_aa64mmfr0_el1", CPENC(3,0,C0,C7,0),	0 }, /* RO */
-  { "id_aa64mmfr1_el1", CPENC(3,0,C0,C7,1),	0 }, /* RO */
-  { "id_aa64mmfr2_el1", CPENC (3, 0, C0, C7, 2), F_ARCHEXT }, /* RO */
-  { "id_aa64afr0_el1",  CPENC(3,0,C0,C5,4),	0 }, /* RO */
-  { "id_aa64afr1_el1",  CPENC(3,0,C0,C5,5),	0 }, /* RO */
-  { "id_aa64zfr0_el1",  CPENC (3, 0, C0, C4, 4), F_ARCHEXT }, /* RO */
-  { "clidr_el1",        CPENC(3,1,C0,C0,1),	0 }, /* RO */
-  { "csselr_el1",       CPENC(3,2,C0,C0,0),	0 }, /* RO */
+  { "midr_el1",         CPENC(3,0,C0,C0,0),	F_REG_READ }, /* RO */
+  { "ctr_el0",          CPENC(3,3,C0,C0,1),	F_REG_READ }, /* RO */
+  { "mpidr_el1",        CPENC(3,0,C0,C0,5),	F_REG_READ }, /* RO */
+  { "revidr_el1",       CPENC(3,0,C0,C0,6),	F_REG_READ }, /* RO */
+  { "aidr_el1",         CPENC(3,1,C0,C0,7),	F_REG_READ }, /* RO */
+  { "dczid_el0",        CPENC(3,3,C0,C0,7),	F_REG_READ }, /* RO */
+  { "id_dfr0_el1",      CPENC(3,0,C0,C1,2),	F_REG_READ }, /* RO */
+  { "id_pfr0_el1",      CPENC(3,0,C0,C1,0),	F_REG_READ }, /* RO */
+  { "id_pfr1_el1",      CPENC(3,0,C0,C1,1),	F_REG_READ }, /* RO */
+  { "id_afr0_el1",      CPENC(3,0,C0,C1,3),	F_REG_READ }, /* RO */
+  { "id_mmfr0_el1",     CPENC(3,0,C0,C1,4),	F_REG_READ }, /* RO */
+  { "id_mmfr1_el1",     CPENC(3,0,C0,C1,5),	F_REG_READ }, /* RO */
+  { "id_mmfr2_el1",     CPENC(3,0,C0,C1,6),	F_REG_READ }, /* RO */
+  { "id_mmfr3_el1",     CPENC(3,0,C0,C1,7),	F_REG_READ }, /* RO */
+  { "id_mmfr4_el1",     CPENC(3,0,C0,C2,6),	F_REG_READ }, /* RO */
+  { "id_isar0_el1",     CPENC(3,0,C0,C2,0),	F_REG_READ }, /* RO */
+  { "id_isar1_el1",     CPENC(3,0,C0,C2,1),	F_REG_READ }, /* RO */
+  { "id_isar2_el1",     CPENC(3,0,C0,C2,2),	F_REG_READ }, /* RO */
+  { "id_isar3_el1",     CPENC(3,0,C0,C2,3),	F_REG_READ }, /* RO */
+  { "id_isar4_el1",     CPENC(3,0,C0,C2,4),	F_REG_READ }, /* RO */
+  { "id_isar5_el1",     CPENC(3,0,C0,C2,5),	F_REG_READ }, /* RO */
+  { "mvfr0_el1",        CPENC(3,0,C0,C3,0),	F_REG_READ }, /* RO */
+  { "mvfr1_el1",        CPENC(3,0,C0,C3,1),	F_REG_READ }, /* RO */
+  { "mvfr2_el1",        CPENC(3,0,C0,C3,2),	F_REG_READ }, /* RO */
+  { "ccsidr_el1",       CPENC(3,1,C0,C0,0),	F_REG_READ }, /* RO */
+  { "id_aa64pfr0_el1",  CPENC(3,0,C0,C4,0),	F_REG_READ }, /* RO */
+  { "id_aa64pfr1_el1",  CPENC(3,0,C0,C4,1),	F_REG_READ }, /* RO */
+  { "id_aa64dfr0_el1",  CPENC(3,0,C0,C5,0),	F_REG_READ }, /* RO */
+  { "id_aa64dfr1_el1",  CPENC(3,0,C0,C5,1),	F_REG_READ }, /* RO */
+  { "id_aa64isar0_el1", CPENC(3,0,C0,C6,0),	F_REG_READ }, /* RO */
+  { "id_aa64isar1_el1", CPENC(3,0,C0,C6,1),	F_REG_READ }, /* RO */
+  { "id_aa64mmfr0_el1", CPENC(3,0,C0,C7,0),	F_REG_READ }, /* RO */
+  { "id_aa64mmfr1_el1", CPENC(3,0,C0,C7,1),	F_REG_READ }, /* RO */
+  { "id_aa64mmfr2_el1", CPENC (3, 0, C0, C7, 2), F_ARCHEXT | F_REG_READ }, /* RO */
+  { "id_aa64afr0_el1",  CPENC(3,0,C0,C5,4),	F_REG_READ }, /* RO */
+  { "id_aa64afr1_el1",  CPENC(3,0,C0,C5,5),	F_REG_READ }, /* RO */
+  { "id_aa64zfr0_el1",  CPENC (3, 0, C0, C4, 4), F_ARCHEXT | F_REG_READ }, /* RO */
+  { "clidr_el1",        CPENC(3,1,C0,C0,1),	F_REG_READ }, /* RO */
+  { "csselr_el1",       CPENC(3,2,C0,C0,0),	F_REG_READ }, /* RO */
   { "vpidr_el2",        CPENC(3,4,C0,C0,0),	0 },
   { "vmpidr_el2",       CPENC(3,4,C0,C0,5),	0 },
   { "sctlr_el1",        CPENC(3,0,C1,C0,0),	0 },
@@ -3783,11 +3795,11 @@ const aarch64_sys_reg aarch64_sys_regs [
   { "esr_el2",          CPENC(3,4,C5,C2,0),	0 },
   { "esr_el3",          CPENC(3,6,C5,C2,0),	0 },
   { "esr_el12",		CPENC (3, 5, C5, C2, 0), F_ARCHEXT },
-  { "vsesr_el2",	CPENC (3, 4, C5, C2, 3), F_ARCHEXT }, /* RO */
+  { "vsesr_el2",	CPENC (3, 4, C5, C2, 3), F_ARCHEXT | F_REG_READ }, /* RO */
   { "fpexc32_el2",      CPENC(3,4,C5,C3,0),	0 },
-  { "erridr_el1",	CPENC (3, 0, C5, C3, 0), F_ARCHEXT }, /* RO */
+  { "erridr_el1",	CPENC (3, 0, C5, C3, 0), F_ARCHEXT | F_REG_READ }, /* RO */
   { "errselr_el1",	CPENC (3, 0, C5, C3, 1), F_ARCHEXT },
-  { "erxfr_el1",	CPENC (3, 0, C5, C4, 0), F_ARCHEXT }, /* RO */
+  { "erxfr_el1",	CPENC (3, 0, C5, C4, 0), F_ARCHEXT | F_REG_READ }, /* RO */
   { "erxctlr_el1",	CPENC (3, 0, C5, C4, 1), F_ARCHEXT },
   { "erxstatus_el1",	CPENC (3, 0, C5, C4, 2), F_ARCHEXT },
   { "erxaddr_el1",	CPENC (3, 0, C5, C4, 3), F_ARCHEXT },
@@ -3811,27 +3823,27 @@ const aarch64_sys_reg aarch64_sys_regs [
   { "vbar_el2",         CPENC(3,4,C12,C0,0),	0 },
   { "vbar_el3",         CPENC(3,6,C12,C0,0),	0 },
   { "vbar_el12",	CPENC (3, 5, C12, C0, 0), F_ARCHEXT },
-  { "rvbar_el1",        CPENC(3,0,C12,C0,1),	0 }, /* RO */
-  { "rvbar_el2",        CPENC(3,4,C12,C0,1),	0 }, /* RO */
-  { "rvbar_el3",        CPENC(3,6,C12,C0,1),	0 }, /* RO */
+  { "rvbar_el1",        CPENC(3,0,C12,C0,1),	F_REG_READ }, /* RO */
+  { "rvbar_el2",        CPENC(3,4,C12,C0,1),	F_REG_READ }, /* RO */
+  { "rvbar_el3",        CPENC(3,6,C12,C0,1),	F_REG_READ }, /* RO */
   { "rmr_el1",          CPENC(3,0,C12,C0,2),	0 },
   { "rmr_el2",          CPENC(3,4,C12,C0,2),	0 },
   { "rmr_el3",          CPENC(3,6,C12,C0,2),	0 },
-  { "isr_el1",          CPENC(3,0,C12,C1,0),	0 }, /* RO */
+  { "isr_el1",          CPENC(3,0,C12,C1,0),	F_REG_READ }, /* RO */
   { "disr_el1",		CPENC (3, 0, C12, C1, 1), F_ARCHEXT },
   { "vdisr_el2",	CPENC (3, 4, C12, C1, 1), F_ARCHEXT },
   { "contextidr_el1",   CPENC(3,0,C13,C0,1),	0 },
   { "contextidr_el2",	CPENC (3, 4, C13, C0, 1), F_ARCHEXT },
   { "contextidr_el12",	CPENC (3, 5, C13, C0, 1), F_ARCHEXT },
   { "tpidr_el0",        CPENC(3,3,C13,C0,2),	0 },
-  { "tpidrro_el0",      CPENC(3,3,C13,C0,3),	0 }, /* RO */
+  { "tpidrro_el0",      CPENC(3,3,C13,C0,3),	0 }, /* RW */
   { "tpidr_el1",        CPENC(3,0,C13,C0,4),	0 },
   { "tpidr_el2",        CPENC(3,4,C13,C0,2),	0 },
   { "tpidr_el3",        CPENC(3,6,C13,C0,2),	0 },
   { "teecr32_el1",      CPENC(2,2,C0, C0,0),	0 }, /* See section 3.9.7.1 */
-  { "cntfrq_el0",       CPENC(3,3,C14,C0,0),	0 }, /* RO */
-  { "cntpct_el0",       CPENC(3,3,C14,C0,1),	0 }, /* RO */
-  { "cntvct_el0",       CPENC(3,3,C14,C0,2),	0 }, /* RO */
+  { "cntfrq_el0",       CPENC(3,3,C14,C0,0),	0 }, /* RW */
+  { "cntpct_el0",       CPENC(3,3,C14,C0,1),	F_REG_READ }, /* RO */
+  { "cntvct_el0",       CPENC(3,3,C14,C0,2),	F_REG_READ }, /* RO */
   { "cntvoff_el2",      CPENC(3,4,C14,C0,3),	0 },
   { "cntkctl_el1",      CPENC(3,0,C14,C1,0),	0 },
   { "cntkctl_el12",	CPENC (3, 5, C14, C1, 0), F_ARCHEXT },
@@ -3862,13 +3874,13 @@ const aarch64_sys_reg aarch64_sys_regs [
   { "teehbr32_el1",     CPENC(2,2,C1,C0,0),	0 },
   { "sder32_el3",       CPENC(3,6,C1,C1,1),	0 },
   { "mdscr_el1",         CPENC(2,0,C0, C2, 2),	0 },
-  { "mdccsr_el0",        CPENC(2,3,C0, C1, 0),	0 },  /* r */
+  { "mdccsr_el0",        CPENC(2,3,C0, C1, 0),	F_REG_READ  },  /* r */
   { "mdccint_el1",       CPENC(2,0,C0, C2, 0),	0 },
   { "dbgdtr_el0",        CPENC(2,3,C0, C4, 0),	0 },
-  { "dbgdtrrx_el0",      CPENC(2,3,C0, C5, 0),	0 },  /* r */
-  { "dbgdtrtx_el0",      CPENC(2,3,C0, C5, 0),	0 },  /* w */
-  { "osdtrrx_el1",       CPENC(2,0,C0, C0, 2),	0 },  /* r */
-  { "osdtrtx_el1",       CPENC(2,0,C0, C3, 2),	0 },  /* w */
+  { "dbgdtrrx_el0",      CPENC(2,3,C0, C5, 0),	F_REG_READ  },  /* r */
+  { "dbgdtrtx_el0",      CPENC(2,3,C0, C5, 0),	F_REG_WRITE },  /* w */
+  { "osdtrrx_el1",       CPENC(2,0,C0, C0, 2),	F_REG_READ  },  /* r */
+  { "osdtrtx_el1",       CPENC(2,0,C0, C3, 2),	F_REG_WRITE },  /* w */
   { "oseccr_el1",        CPENC(2,0,C0, C6, 2),	0 },
   { "dbgvcr32_el2",      CPENC(2,4,C0, C7, 0),	0 },
   { "dbgbvr0_el1",       CPENC(2,0,C0, C0, 4),	0 },
@@ -3935,35 +3947,35 @@ const aarch64_sys_reg aarch64_sys_regs [
   { "dbgwcr13_el1",      CPENC(2,0,C0, C13,7),	0 },
   { "dbgwcr14_el1",      CPENC(2,0,C0, C14,7),	0 },
   { "dbgwcr15_el1",      CPENC(2,0,C0, C15,7),	0 },
-  { "mdrar_el1",         CPENC(2,0,C1, C0, 0),	0 },  /* r */
-  { "oslar_el1",         CPENC(2,0,C1, C0, 4),	0 },  /* w */
-  { "oslsr_el1",         CPENC(2,0,C1, C1, 4),	0 },  /* r */
+  { "mdrar_el1",         CPENC(2,0,C1, C0, 0),	F_REG_READ  },  /* r */
+  { "oslar_el1",         CPENC(2,0,C1, C0, 4),	F_REG_WRITE },  /* w */
+  { "oslsr_el1",         CPENC(2,0,C1, C1, 4),	F_REG_READ  },  /* r */
   { "osdlr_el1",         CPENC(2,0,C1, C3, 4),	0 },
   { "dbgprcr_el1",       CPENC(2,0,C1, C4, 4),	0 },
   { "dbgclaimset_el1",   CPENC(2,0,C7, C8, 6),	0 },
   { "dbgclaimclr_el1",   CPENC(2,0,C7, C9, 6),	0 },
-  { "dbgauthstatus_el1", CPENC(2,0,C7, C14,6),	0 },  /* r */
+  { "dbgauthstatus_el1", CPENC(2,0,C7, C14,6),	F_REG_READ  },  /* r */
   { "pmblimitr_el1",	 CPENC (3, 0, C9, C10, 0), F_ARCHEXT },  /* rw */
   { "pmbptr_el1",	 CPENC (3, 0, C9, C10, 1), F_ARCHEXT },  /* rw */
   { "pmbsr_el1",	 CPENC (3, 0, C9, C10, 3), F_ARCHEXT },  /* rw */
-  { "pmbidr_el1",	 CPENC (3, 0, C9, C10, 7), F_ARCHEXT },  /* ro */
+  { "pmbidr_el1",	 CPENC (3, 0, C9, C10, 7), F_ARCHEXT | F_REG_READ },  /* ro */
   { "pmscr_el1",	 CPENC (3, 0, C9, C9, 0),  F_ARCHEXT },  /* rw */
   { "pmsicr_el1",	 CPENC (3, 0, C9, C9, 2),  F_ARCHEXT },  /* rw */
   { "pmsirr_el1",	 CPENC (3, 0, C9, C9, 3),  F_ARCHEXT },  /* rw */
   { "pmsfcr_el1",	 CPENC (3, 0, C9, C9, 4),  F_ARCHEXT },  /* rw */
   { "pmsevfr_el1",	 CPENC (3, 0, C9, C9, 5),  F_ARCHEXT },  /* rw */
   { "pmslatfr_el1",	 CPENC (3, 0, C9, C9, 6),  F_ARCHEXT },  /* rw */
-  { "pmsidr_el1",	 CPENC (3, 0, C9, C9, 7),  F_ARCHEXT },  /* ro */
+  { "pmsidr_el1",	 CPENC (3, 0, C9, C9, 7),  F_ARCHEXT | F_REG_READ },  /* ro */
   { "pmscr_el2",	 CPENC (3, 4, C9, C9, 0),  F_ARCHEXT },  /* rw */
   { "pmscr_el12",	 CPENC (3, 5, C9, C9, 0),  F_ARCHEXT },  /* rw */
   { "pmcr_el0",          CPENC(3,3,C9,C12, 0),	0 },
   { "pmcntenset_el0",    CPENC(3,3,C9,C12, 1),	0 },
   { "pmcntenclr_el0",    CPENC(3,3,C9,C12, 2),	0 },
   { "pmovsclr_el0",      CPENC(3,3,C9,C12, 3),	0 },
-  { "pmswinc_el0",       CPENC(3,3,C9,C12, 4),	0 },  /* w */
+  { "pmswinc_el0",       CPENC(3,3,C9,C12, 4),	F_REG_WRITE },  /* w */
   { "pmselr_el0",        CPENC(3,3,C9,C12, 5),	0 },
-  { "pmceid0_el0",       CPENC(3,3,C9,C12, 6),	0 },  /* r */
-  { "pmceid1_el0",       CPENC(3,3,C9,C12, 7),	0 },  /* r */
+  { "pmceid0_el0",       CPENC(3,3,C9,C12, 6),	F_REG_READ  },  /* r */
+  { "pmceid1_el0",       CPENC(3,3,C9,C12, 7),	F_REG_READ  },  /* r */
   { "pmccntr_el0",       CPENC(3,3,C9,C13, 0),	0 },
   { "pmxevtyper_el0",    CPENC(3,3,C9,C13, 1),	0 },
   { "pmxevcntr_el0",     CPENC(3,3,C9,C13, 2),	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.1.0.20180703/opcodes/aarch64-opc.h ./opcodes/aarch64-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-opc.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aarch64-opc.h	2018-07-10 02:06:14.000000000 +0000
@@ -196,6 +196,26 @@ extern const aarch64_operand aarch64_ope
 #define OPD_F_OD_LSB		5
 #define OPD_F_NO_ZR		0x00000100	/* ZR index not allowed.  */
 
+/* Register flags.  */
+
+#undef F_DEPRECATED
+#define F_DEPRECATED	(1 << 0)  /* Deprecated system register.  */
+
+#undef F_ARCHEXT
+#define F_ARCHEXT	(1 << 1)  /* Architecture dependent system register.  */
+
+#undef F_HASXT
+#define F_HASXT		(1 << 2)  /* System instruction register <Xt>
+				     operand.  */
+
+#undef F_REG_READ
+#define F_REG_READ	(1 << 3)  /* Register can only be used to read values
+				     out of.  */
+
+#undef F_REG_WRITE
+#define F_REG_WRITE	(1 << 4)  /* Register can only be written to but not
+				     read from.  */
+
 static inline bfd_boolean
 operand_has_inserter (const aarch64_operand *operand)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-tbl.h ./opcodes/aarch64-tbl.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aarch64-tbl.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aarch64-tbl.h	2018-07-10 02:06:14.000000000 +0000
@@ -295,6 +295,13 @@
   QLF2(S_S,X),			\
 }
 
+/* e.g. FMOV <Dd>, <Xn>.  */
+#define QL_INT2FP_FMOV		\
+{				\
+  QLF2(S_S,W),			\
+  QLF2(S_D,X),			\
+}
+
 /* e.g. SCVTF <Hd>, <Wn>.  */
 #define QL_INT2FP_H			\
 {					\
@@ -311,6 +318,13 @@
   QLF2(X,S_S),			\
 }
 
+/* e.g. FMOV <Xd>, <Dn>.  */
+#define QL_FP2INT_FMOV		\
+{				\
+  QLF2(W,S_S),			\
+  QLF2(X,S_D),			\
+}
+
 /* e.g. FCVTNS <Hd>, <Wn>.  */
 #define QL_FP2INT_H			\
 {					\
@@ -2252,7 +2266,7 @@ struct aarch64_opcode aarch64_opcode_tab
   CORE_INSN ("sub",  0x4b000000, 0x7f200000, addsub_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_HAS_ALIAS | F_SF),
   CORE_INSN ("neg",  0x4b0003e0, 0x7f2003e0, addsub_shift, 0, OP2 (Rd, Rm_SFT),     QL_I2SAME,  F_ALIAS | F_SF),
   CORE_INSN ("subs", 0x6b000000, 0x7f200000, addsub_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_HAS_ALIAS | F_SF),
-  CORE_INSN ("cmp",  0x6b00001f, 0x7f20001f, addsub_shift, 0, OP2 (Rn, Rm_SFT),     QL_I2SAME,  F_ALIAS | F_SF),
+  CORE_INSN ("cmp",  0x6b00001f, 0x7f20001f, addsub_shift, 0, OP2 (Rn, Rm_SFT),     QL_I2SAME,  F_ALIAS | F_SF | F_P1),
   CORE_INSN ("negs", 0x6b0003e0, 0x7f2003e0, addsub_shift, 0, OP2 (Rd, Rm_SFT),     QL_I2SAME,  F_ALIAS | F_SF),
   /* AdvSIMD across lanes.  */
   SIMD_INSN ("saddlv", 0x0e303800, 0xbf3ffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES_L,    F_SIZEQ),
@@ -2326,8 +2340,8 @@ struct aarch64_opcode aarch64_opcode_tab
   SIMD_INSN ("umull",   0x2e20c000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   SIMD_INSN ("umull2",  0x6e20c000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   /* AdvSIMD vector x indexed element.  */
-  SIMD_INSN ("smlal",   0x0f002000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_L,    F_SIZEQ),
-  SIMD_INSN ("smlal2",  0x4f002000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_L2,   F_SIZEQ),
+  SIMD_INSN ("smlal",   0x0f002000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L,    F_SIZEQ),
+  SIMD_INSN ("smlal2",  0x4f002000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L2,   F_SIZEQ),
   SIMD_INSN ("sqdmlal", 0x0f003000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_L,    F_SIZEQ),
   SIMD_INSN ("sqdmlal2",0x4f003000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_L2,   F_SIZEQ),
   SIMD_INSN ("smlsl",   0x0f006000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_L,    F_SIZEQ),
@@ -2342,11 +2356,11 @@ struct aarch64_opcode aarch64_opcode_tab
   SIMD_INSN ("sqdmulh", 0x0f00c000, 0xbf00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT,      F_SIZEQ),
   SIMD_INSN ("sqrdmulh",0x0f00d000, 0xbf00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT,      F_SIZEQ),
   SIMD_INSN ("fmla",    0x0f801000, 0xbf80f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_FP,   F_SIZEQ),
-  SF16_INSN ("fmla",    0x0f001000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_ELEMENT_FP_H, F_SIZEQ),
+  SF16_INSN ("fmla",    0x0f001000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT_FP_H, F_SIZEQ),
   SIMD_INSN ("fmls",    0x0f805000, 0xbf80f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_FP,   F_SIZEQ),
-  SF16_INSN ("fmls",    0x0f005000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_ELEMENT_FP_H, F_SIZEQ),
+  SF16_INSN ("fmls",    0x0f005000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT_FP_H, F_SIZEQ),
   SIMD_INSN ("fmul",    0x0f809000, 0xbf80f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_FP,   F_SIZEQ),
-  SF16_INSN ("fmul",    0x0f009000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_ELEMENT_FP_H, F_SIZEQ),
+  SF16_INSN ("fmul",    0x0f009000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT_FP_H, F_SIZEQ),
   SIMD_INSN ("mla",     0x2f000000, 0xbf00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT,      F_SIZEQ),
   SIMD_INSN ("umlal",   0x2f002000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_L,    F_SIZEQ),
   SIMD_INSN ("umlal2",  0x6f002000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_L2,   F_SIZEQ),
@@ -2356,9 +2370,9 @@ struct aarch64_opcode aarch64_opcode_tab
   SIMD_INSN ("umull",   0x2f00a000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_L,    F_SIZEQ),
   SIMD_INSN ("umull2",  0x6f00a000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_L2,   F_SIZEQ),
   SIMD_INSN ("fmulx",   0x2f809000, 0xbf80f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_FP,   F_SIZEQ),
-  SF16_INSN ("fmulx",   0x2f009000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_ELEMENT_FP_H, F_SIZEQ),
-  RDMA_INSN ("sqrdmlah",0x2f00d000, 0xbf00f400, asimdelem, OP3 (Vd, Vn, Em), QL_ELEMENT,      F_SIZEQ),
-  RDMA_INSN ("sqrdmlsh",0x2f00f000, 0xbf00f400, asimdelem, OP3 (Vd, Vn, Em), QL_ELEMENT,      F_SIZEQ),
+  SF16_INSN ("fmulx",   0x2f009000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT_FP_H, F_SIZEQ),
+  RDMA_INSN ("sqrdmlah",0x2f00d000, 0xbf00f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT,      F_SIZEQ),
+  RDMA_INSN ("sqrdmlsh",0x2f00f000, 0xbf00f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT,      F_SIZEQ),
   CNUM_INSN ("fcmla", 0x2f001000, 0xbf009400, asimdelem, OP_FCMLA_ELEM, OP4 (Vd, Vn, Em, IMM_ROT2), QL_ELEMENT_ROT, F_SIZEQ),
   /* AdvSIMD EXT.  */
   SIMD_INSN ("ext",  0x2e000000, 0xbfe08400, asimdext, 0, OP4 (Vd, Vn, Vm, IDX), QL_VEXT, F_SIZEQ),
@@ -2601,8 +2615,8 @@ struct aarch64_opcode aarch64_opcode_tab
   SIMD_INSN ("bit", 0x2ea01c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
   SIMD_INSN ("bif", 0x2ee01c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
   /* AdvSIMD three same extension.  */
-  RDMA_INSN ("sqrdmlah",0x2e008400, 0xbf20fe00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
-  RDMA_INSN ("sqrdmlsh",0x2e008c00, 0xbf20fe00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
+  RDMA_INSN ("sqrdmlah",0x2e008400, 0xbf20fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
+  RDMA_INSN ("sqrdmlsh",0x2e008c00, 0xbf20fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
   CNUM_INSN ("fcmla", 0x2e00c400, 0xbf20e400, asimdsame, 0, OP4 (Vd, Vn, Vm, IMM_ROT1), QL_V3SAMEHSD_ROT, F_SIZEQ),
   CNUM_INSN ("fcadd", 0x2e00e400, 0xbf20ec00, asimdsame, 0, OP4 (Vd, Vn, Vm, IMM_ROT3), QL_V3SAMEHSD_ROT, F_SIZEQ),
   /* AdvSIMD shift by immediate.  */
@@ -2666,15 +2680,15 @@ struct aarch64_opcode aarch64_opcode_tab
   SIMD_INSN ("sqdmulh", 0x5f00c000, 0xff00f400, asisdelem, 0, OP3 (Sd, Sn, Em), QL_SISD_HS, F_SSIZE),
   SIMD_INSN ("sqrdmulh", 0x5f00d000, 0xff00f400, asisdelem, 0, OP3 (Sd, Sn, Em), QL_SISD_HS, F_SSIZE),
   SIMD_INSN ("fmla", 0x5f801000, 0xff80f400, asisdelem, 0, OP3 (Sd, Sn, Em), QL_FP3, F_SSIZE),
-  SF16_INSN ("fmla", 0x5f001000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em), QL_FP3_H, F_SSIZE),
+  SF16_INSN ("fmla", 0x5f001000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em16), QL_FP3_H, F_SSIZE),
   SIMD_INSN ("fmls", 0x5f805000, 0xff80f400, asisdelem, 0, OP3 (Sd, Sn, Em), QL_FP3, F_SSIZE),
-  SF16_INSN ("fmls", 0x5f005000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em), QL_FP3_H, F_SSIZE),
+  SF16_INSN ("fmls", 0x5f005000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em16), QL_FP3_H, F_SSIZE),
   SIMD_INSN ("fmul", 0x5f809000, 0xff80f400, asisdelem, 0, OP3 (Sd, Sn, Em), QL_FP3, F_SSIZE),
-  SF16_INSN ("fmul", 0x5f009000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em), QL_FP3_H, F_SSIZE),
+  SF16_INSN ("fmul", 0x5f009000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em16), QL_FP3_H, F_SSIZE),
   SIMD_INSN ("fmulx", 0x7f809000, 0xff80f400, asisdelem, 0, OP3 (Sd, Sn, Em), QL_FP3, F_SSIZE),
-  SF16_INSN ("fmulx", 0x7f009000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em), QL_FP3_H, F_SSIZE),
-  RDMA_INSN ("sqrdmlah", 0x7f00d000, 0xff00f400, asisdelem, OP3 (Sd, Sn, Em), QL_SISD_HS, F_SSIZE),
-  RDMA_INSN ("sqrdmlsh", 0x7f00f000, 0xff00f400, asisdelem, OP3 (Sd, Sn, Em), QL_SISD_HS, F_SSIZE),
+  SF16_INSN ("fmulx", 0x7f009000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em16), QL_FP3_H, F_SSIZE),
+  RDMA_INSN ("sqrdmlah", 0x7f00d000, 0xff00f400, asisdelem, OP3 (Sd, Sn, Em16), QL_SISD_HS, F_SSIZE),
+  RDMA_INSN ("sqrdmlsh", 0x7f00f000, 0xff00f400, asisdelem, OP3 (Sd, Sn, Em16), QL_SISD_HS, F_SSIZE),
   /* AdvSIMD load/store multiple structures.  */
   SIMD_INSN ("st4", 0xc000000, 0xbfff0000, asisdlse, 0, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST, F_SIZEQ | F_OD(4)),
   SIMD_INSN ("st1", 0xc000000, 0xbfff0000, asisdlse, 0, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(1)),
@@ -3038,9 +3052,9 @@ struct aarch64_opcode aarch64_opcode_tab
   FF16_INSN ("fcvtas",0x1ee40000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   __FP_INSN ("fcvtau",0x1e250000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   FF16_INSN ("fcvtau",0x1ee50000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
-  __FP_INSN ("fmov",  0x1e260000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
+  __FP_INSN ("fmov",  0x1e260000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT_FMOV, F_FPTYPE | F_SF),
   FF16_INSN ("fmov",  0x1ee60000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
-  __FP_INSN ("fmov",  0x1e270000, 0x7f3ffc00, float2int, 0, OP2 (Fd, Rn), QL_INT2FP, F_FPTYPE | F_SF),
+  __FP_INSN ("fmov",  0x1e270000, 0x7f3ffc00, float2int, 0, OP2 (Fd, Rn), QL_INT2FP_FMOV, F_FPTYPE | F_SF),
   FF16_INSN ("fmov",  0x1ee70000, 0x7f3ffc00, float2int, OP2 (Fd, Rn), QL_INT2FP_H, F_FPTYPE | F_SF),
   __FP_INSN ("fcvtps",0x1e280000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   FF16_INSN ("fcvtps",0x1ee80000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
@@ -3452,9 +3466,10 @@ struct aarch64_opcode aarch64_opcode_tab
   CORE_INSN ("adr",  0x10000000, 0x9f000000, pcreladdr, 0, OP2 (Rd, ADDR_PCREL21), QL_ADRP, 0),
   CORE_INSN ("adrp", 0x90000000, 0x9f000000, pcreladdr, 0, OP2 (Rd, ADDR_ADRP), QL_ADRP, 0),
   /* System.  */
-  CORE_INSN ("msr", 0xd500401f, 0xfff8f01f, ic_system, 0, OP2 (PSTATEFIELD, UIMM4), {}, 0),
+  CORE_INSN ("msr", 0xd500401f, 0xfff8f01f, ic_system, 0, OP2 (PSTATEFIELD, UIMM4), {}, F_SYS_WRITE),
   CORE_INSN ("hint",0xd503201f, 0xfffff01f, ic_system, 0, OP1 (UIMM7), {}, F_HAS_ALIAS),
   CORE_INSN ("nop", 0xd503201f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
+  CORE_INSN ("csdb",0xd503229f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   CORE_INSN ("yield", 0xd503203f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   CORE_INSN ("wfe", 0xd503205f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   CORE_INSN ("wfi", 0xd503207f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
@@ -3476,9 +3491,9 @@ struct aarch64_opcode aarch64_opcode_tab
   CORE_INSN ("dc",  0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_DC, Rt), QL_SRC_X, F_ALIAS),
   CORE_INSN ("ic",  0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_IC, Rt_SYS), QL_SRC_X, F_ALIAS | F_OPD1_OPT | F_DEFAULT (0x1F)),
   CORE_INSN ("tlbi",0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_TLBI, Rt_SYS), QL_SRC_X, F_ALIAS | F_OPD1_OPT | F_DEFAULT (0x1F)),
-  CORE_INSN ("msr", 0xd5000000, 0xffe00000, ic_system, 0, OP2 (SYSREG, Rt), QL_SRC_X, 0),
+  CORE_INSN ("msr", 0xd5000000, 0xffe00000, ic_system, 0, OP2 (SYSREG, Rt), QL_SRC_X, F_SYS_WRITE),
   CORE_INSN ("sysl",0xd5280000, 0xfff80000, ic_system, 0, OP5 (Rt, UIMM3_OP1, CRn, CRm, UIMM3_OP2), QL_SYSL, 0),
-  CORE_INSN ("mrs", 0xd5200000, 0xffe00000, ic_system, 0, OP2 (Rt, SYSREG), QL_DST_X, 0),
+  CORE_INSN ("mrs", 0xd5200000, 0xffe00000, ic_system, 0, OP2 (Rt, SYSREG), QL_DST_X, F_SYS_READ),
   V8_3_INSN ("paciaz",  0xd503231f, 0xffffffff, ic_system, OP0 (), {}, F_ALIAS),
   V8_3_INSN ("paciasp", 0xd503233f, 0xffffffff, ic_system, OP0 (), {}, F_ALIAS),
   V8_3_INSN ("pacibz",  0xd503235f, 0xffffffff, ic_system, OP0 (), {}, F_ALIAS),
@@ -3878,66 +3893,90 @@ struct aarch64_opcode aarch64_opcode_tab
   _SVE_INSN ("ld4h", 0xa4e0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_HZU, F_OD(4), 0),
   _SVE_INSN ("ld4w", 0xa560c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SZU, F_OD(4), 0),
   _SVE_INSN ("ld4w", 0xa560e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_SZU, F_OD(4), 0),
+
   _SVE_INSN ("ldff1b", 0x84006000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1b", 0xa4006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_BZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1b", 0xa4006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_BZU, F_OD(1), 0),
   _SVE_INSN ("ldff1b", 0xa4206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_HZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1b", 0xa4206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_HZU, F_OD(1), 0),
   _SVE_INSN ("ldff1b", 0xa4406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_SZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1b", 0xa4406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
   _SVE_INSN ("ldff1b", 0xa4606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_DZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1b", 0xa4606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   _SVE_INSN ("ldff1b", 0xc4006000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1b", 0xc440e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1b", 0x8420e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1b", 0xc420e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_DZD, F_OD(1), 0),
+
   _SVE_INSN ("ldff1d", 0xa5e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1d", 0xa5e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   _SVE_INSN ("ldff1d", 0xc5806000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1d", 0xc5a06000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW3_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1d", 0xc5c0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1d", 0xc5e0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL3), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1d", 0xc5a0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x8), OP_SVE_DZD, F_OD(1), 0),
+
   _SVE_INSN ("ldff1h", 0x84806000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1h", 0x84a06000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW1_22), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1h", 0xa4a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_HZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1h", 0xa4a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_HZU, F_OD(1), 0),
   _SVE_INSN ("ldff1h", 0xa4c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_SZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1h", 0xa4c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
   _SVE_INSN ("ldff1h", 0xa4e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_DZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1h", 0xa4e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   _SVE_INSN ("ldff1h", 0xc4806000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1h", 0xc4a06000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW1_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1h", 0xc4c0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1h", 0xc4e0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL1), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1h", 0x84a0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1h", 0xc4a0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_DZD, F_OD(1), 0),
+
   _SVE_INSN ("ldff1sb", 0x84002000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1sb", 0xa5806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_DZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1sb", 0xa5806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   _SVE_INSN ("ldff1sb", 0xa5a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_SZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1sb", 0xa5a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
   _SVE_INSN ("ldff1sb", 0xa5c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_HZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1sb", 0xa5c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_HZU, F_OD(1), 0),
   _SVE_INSN ("ldff1sb", 0xc4002000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1sb", 0xc440a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1sb", 0x8420a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1sb", 0xc420a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_DZD, F_OD(1), 0),
+
   _SVE_INSN ("ldff1sh", 0x84802000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1sh", 0x84a02000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW1_22), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1sh", 0xa5006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_DZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1sh", 0xa5006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   _SVE_INSN ("ldff1sh", 0xa5206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_SZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1sh", 0xa5206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
   _SVE_INSN ("ldff1sh", 0xc4802000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1sh", 0xc4a02000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW1_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1sh", 0xc4c0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1sh", 0xc4e0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL1), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1sh", 0x84a0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1sh", 0xc4a0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_DZD, F_OD(1), 0),
+
   _SVE_INSN ("ldff1sw", 0xa4806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL2), OP_SVE_DZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1sw", 0xa4806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   _SVE_INSN ("ldff1sw", 0xc5002000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1sw", 0xc5202000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW2_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1sw", 0xc540a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1sw", 0xc560a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL2), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1sw", 0xc520a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_DZD, F_OD(1), 0),
+  
   _SVE_INSN ("ldff1w", 0x85006000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1w", 0x85206000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW2_22), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1w", 0xa5406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL2), OP_SVE_SZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1w", 0xa5406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
   _SVE_INSN ("ldff1w", 0xa5606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL2), OP_SVE_DZU, F_OD(1), 0),
+  _SVE_INSN ("ldff1w", 0xa5606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   _SVE_INSN ("ldff1w", 0xc5006000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1w", 0xc5206000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW2_22), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1w", 0xc540e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1w", 0xc560e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL2), OP_SVE_DZD, F_OD(1), 0),
   _SVE_INSN ("ldff1w", 0x8520e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_SZS, F_OD(1), 0),
   _SVE_INSN ("ldff1w", 0xc520e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_DZD, F_OD(1), 0),
+
   _SVE_INSN ("ldnf1b", 0xa410a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_BZU, F_OD(1), 0),
   _SVE_INSN ("ldnf1b", 0xa430a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HZU, F_OD(1), 0),
   _SVE_INSN ("ldnf1b", 0xa450a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
@@ -4288,8 +4327,8 @@ struct aarch64_opcode aarch64_opcode_tab
   /* SIMD Dot Product (optional in v8.2-A).  */
   DOT_INSN ("udot", 0x2e009400, 0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ),
   DOT_INSN ("sdot", 0xe009400,  0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ),
-  DOT_INSN ("udot", 0x2f00e000, 0xbf00f000, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ),
-  DOT_INSN ("sdot", 0xf00e000,  0xbf00f000, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ),
+  DOT_INSN ("udot", 0x2f00e000, 0xbf00f400, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ),
+  DOT_INSN ("sdot", 0xf00e000,  0xbf00f400, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ),
 /* Crypto SHA2 (optional in ARMv8.2-a).  */
   SHA2_INSN ("sha512h",   0xce608000, 0xffe0fc00, cryptosha2, OP3 (Fd, Fn, Vm), QL_SHA512UPT, 0),
   SHA2_INSN ("sha512h2",  0xce608400, 0xffe0fc00, cryptosha2, OP3 (Fd, Fn, Vm), QL_SHA512UPT, 0),
@@ -4322,15 +4361,15 @@ struct aarch64_opcode aarch64_opcode_tab
   FP16_V8_2_INSN ("fmlal2", 0x6e20cc00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML4S, 0),
   FP16_V8_2_INSN ("fmlsl2", 0x6ea0cc00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML4S, 0),
 
-  FP16_V8_2_INSN ("fmlal",  0xf800000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML2S, 0),
-  FP16_V8_2_INSN ("fmlsl",  0xf804000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML2S, 0),
-  FP16_V8_2_INSN ("fmlal2", 0x2f808000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML2S, 0),
-  FP16_V8_2_INSN ("fmlsl2", 0x2f80c000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML2S, 0),
-
-  FP16_V8_2_INSN ("fmlal",  0x4f800000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML4S, 0),
-  FP16_V8_2_INSN ("fmlsl",  0x4f804000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML4S, 0),
-  FP16_V8_2_INSN ("fmlal2", 0x6f808000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML4S, 0),
-  FP16_V8_2_INSN ("fmlsl2", 0x6f80c000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML4S, 0),
+  FP16_V8_2_INSN ("fmlal",  0xf800000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML2S, 0),
+  FP16_V8_2_INSN ("fmlsl",  0xf804000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML2S, 0),
+  FP16_V8_2_INSN ("fmlal2", 0x2f808000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML2S, 0),
+  FP16_V8_2_INSN ("fmlsl2", 0x2f80c000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML2S, 0),
+
+  FP16_V8_2_INSN ("fmlal",  0x4f800000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML4S, 0),
+  FP16_V8_2_INSN ("fmlsl",  0x4f804000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML4S, 0),
+  FP16_V8_2_INSN ("fmlal2", 0x6f808000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML4S, 0),
+  FP16_V8_2_INSN ("fmlsl2", 0x6f80c000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML4S, 0),
   /* System extensions ARMv8.4-a.  */
   V8_4_INSN ("cfinv",  0xd500401f, 0xffffffff, ic_system, OP0 (), {}, 0),
   V8_4_INSN ("rmif",   0xba000400, 0xffe07c10, ic_system, OP3 (Rn, IMM_2, MASK), QL_RMIF, 0),
@@ -4415,6 +4454,8 @@ struct aarch64_opcode aarch64_opcode_tab
       "a SIMD vector element")						\
     Y(SIMD_ELEMENT, reglane, "Em", 0, F(FLD_Rm),			\
       "a SIMD vector element")						\
+    Y(SIMD_ELEMENT, reglane, "Em16", 0, F(FLD_Rm),			\
+      "a SIMD vector element limited to V0-V15")			\
     Y(SIMD_REGLIST, reglist, "LVn", 0, F(FLD_Rn),			\
       "a SIMD vector register list")					\
     Y(SIMD_REGLIST, ldst_reglist, "LVt", 0, F(),			\
@@ -4572,6 +4613,8 @@ struct aarch64_opcode aarch64_opcode_tab
     Y(ADDRESS, sve_addr_ri_u6, "SVE_ADDR_RI_U6x8", 3 << OPD_F_OD_LSB,	\
       F(FLD_Rn),							\
       "an address with a 6-bit unsigned offset, multiplied by 8")	\
+    Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_R", 0 << OPD_F_OD_LSB,	\
+      F(FLD_Rn,FLD_Rm), "an address with an optional scalar register offset")	\
     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR", 0 << OPD_F_OD_LSB,	\
       F(FLD_Rn,FLD_Rm), "an address with a scalar register offset")	\
     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR_LSL1", 1 << OPD_F_OD_LSB,	\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aclocal.m4 ./opcodes/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/aclocal.m4	2018-07-10 02:06:14.000000000 +0000
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -12,33 +11,31 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
-[m4_warning([this file was generated for autoconf 2.64.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.15'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.6], [],
+m4_if([$1], [1.15.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -54,24 +51,22 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.6])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -90,7 +85,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCON
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -108,30 +103,26 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCON
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -150,16 +141,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 12
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -169,7 +158,7 @@ fi])])
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -182,12 +171,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMAND
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -195,8 +185,8 @@ AC_CACHE_CHECK([dependency style of $dep
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -236,16 +226,16 @@ AC_CACHE_CHECK([dependency style of $dep
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -254,8 +244,8 @@ AC_CACHE_CHECK([dependency style of $dep
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -263,7 +253,7 @@ AC_CACHE_CHECK([dependency style of $dep
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -311,7 +301,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -321,9 +311,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}d
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
@@ -338,20 +332,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 5
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 [{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -364,7 +356,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -376,21 +368,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
+    test -z "$am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`AS_DIRNAME(["$file"])`
@@ -408,7 +398,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
+# is enabled.  FIXME.  This creates each '.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -418,18 +408,21 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS]
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 16
-
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
 # -----------------------------------------------
@@ -442,7 +435,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS]
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -471,33 +464,42 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -506,34 +508,82 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR
 			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES(CC)],
-		  [define([AC_PROG_CC],
-			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES([CC])],
+		  [m4_define([AC_PROG_CC],
+			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES(CXX)],
-		  [define([AC_PROG_CXX],
-			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES([CXX])],
+		  [m4_define([AC_PROG_CXX],
+			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES(OBJC)],
-		  [define([AC_PROG_OBJC],
-			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+		  [_AM_DEPENDENCIES([OBJC])],
+		  [m4_define([AC_PROG_OBJC],
+			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+		  [_AM_DEPENDENCIES([OBJCXX])],
+		  [m4_define([AC_PROG_OBJCXX],
+			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
 ])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
-
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
@@ -555,21 +605,18 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -577,25 +624,22 @@ if test x"${install_sh}" != xset; then
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
 
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -606,10 +650,11 @@ AC_DEFUN([AM_MAINTAINER_MODE],
 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -617,18 +662,14 @@ AC_MSG_CHECKING([whether to enable maint
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
-
 # AM_MAKE_INCLUDE()
 # -----------------
 # Check to see how make treats includes.
@@ -646,7 +687,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -673,15 +714,12 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
 AC_DEFUN([AM_MISSING_PROG],
@@ -689,11 +727,10 @@ AC_DEFUN([AM_MISSING_PROG],
 $1=${$1-"${am_missing_run}$2"}
 AC_SUBST($1)])
 
-
 # AM_MISSING_HAS_RUN
 # ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
@@ -706,54 +743,22 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
 AC_DEFUN([_AM_MANGLE_OPTION],
@@ -763,7 +768,7 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 # --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
 
 # _AM_SET_OPTIONS(OPTIONS)
 # ------------------------
@@ -777,24 +782,82 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -805,32 +868,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$[2]" = conftest.file
    )
 then
@@ -840,46 +911,118 @@ else
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+  [--enable-silent-rules],
+  [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+  [--disable-silent-rules],
+  [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using '$V' instead of '$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -893,18 +1036,16 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -914,76 +1055,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
 # Substitute a variable $(am__untar) that extract such
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
+#
 AC_DEFUN([_AM_PROG_TAR],
 [# Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
-     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+
+# We'll loop over all known methods to create a tar archive until one works.
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
 
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
 
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  [m4_case([$1],
+    [ustar],
+     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+      if test $am_uid -le $am_max_uid; then
+         AC_MSG_RESULT([yes])
+      else
+         AC_MSG_RESULT([no])
+         _am_tools=none
+      fi
+      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+      if test $am_gid -le $am_max_gid; then
+         AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no])
+        _am_tools=none
+      fi],
+
+  [pax],
+    [],
+
+  [m4_fatal([Unknown tar format])])
+
+  AC_MSG_CHECKING([how to create a $1 tar archive])
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        AM_RUN_LOG([$_am_tar --version]) && break
+      done
+      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x $1 -w "$$tardir"'
+      am__tar_='pax -L -x $1 -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+      am__untar='cpio -i -H $1 -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
+
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_$1}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      AM_RUN_LOG([$am__untar <conftest.tar])
+      AM_RUN_LOG([cat conftest.dir/file])
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
   rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
 
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
 AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/arc-dis.c ./opcodes/arc-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/arc-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/arc-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -778,7 +778,8 @@ parse_option (const char *option)
   else if (CONST_STRNEQ (option, "hex"))
     print_hex = TRUE;
   else
-    fprintf (stderr, _("Unrecognised disassembler option: %s\n"), option);
+    /* xgettext:c-format */
+    opcodes_error_handler (_("unrecognised disassembler option: %s"), option);
 }
 
 #define ARC_CPU_TYPE_A6xx(NAME,EXTRA)			\
@@ -820,7 +821,8 @@ parse_cpu_option (const char *option)
 	}
     }
 
-  fprintf (stderr, _("Unrecognised disassembler CPU option: %s\n"), option);
+  /* xgettext:c-format */
+  opcodes_error_handler (_("unrecognised disassembler CPU option: %s"), option);
   return ARC_OPCODE_NONE;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/arm-dis.c ./opcodes/arm-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/arm-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/arm-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -1901,6 +1901,9 @@ static const struct opcode32 arm_opcodes
   {ARM_FEATURE_CORE_LOW (ARM_EXT_V6K),
     0x01e00f90, 0x0ff00ff0, "strexh%c\t%12-15R, %0-3R, [%16-19R]"},
 
+  /* CSDB.  */
+  {ARM_FEATURE_CORE_LOW (ARM_EXT_V3), 0xe320f014, 0xffffffff, "csdb"},
+
   /* ARM V6K NOP hints.  */
   {ARM_FEATURE_CORE_LOW (ARM_EXT_V6K),
     0x0320f001, 0x0fffffff, "yield%c"},
@@ -2527,7 +2530,7 @@ static const struct opcode16 thumb_opcod
 
   /* ARMv8-M Security Extensions instructions.  */
   {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8M), 0x4784, 0xff87, "blxns\t%3-6r"},
-  {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8M), 0x4704, 0xff07, "bxns\t%3-6r"},
+  {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8M), 0x4704, 0xff87, "bxns\t%3-6r"},
 
   /* ARM V8 instructions.  */
   {ARM_FEATURE_CORE_LOW (ARM_EXT_V8),  0xbf50, 0xffff, "sevl%c"},
@@ -2819,6 +2822,9 @@ static const struct opcode32 thumb32_opc
   /* Security extension instructions.  */
   {ARM_FEATURE_CORE_LOW (ARM_EXT_SEC),  0xf7f08000, 0xfff0f000, "smc%c\t%K"},
 
+  /* CSDB.  */
+  {ARM_FEATURE_CORE_LOW (ARM_EXT_V6T2), 0xf3af8014, 0xffffffff, "csdb"},
+
   /* Instructions defined in the basic V6T2 set.  */
   {ARM_FEATURE_CORE_LOW (ARM_EXT_V6T2), 0xf3af8000, 0xffffffff, "nop%c.w"},
   {ARM_FEATURE_CORE_LOW (ARM_EXT_V6T2), 0xf3af8001, 0xffffffff, "yield%c.w"},
@@ -3387,7 +3393,7 @@ print_insn_coprocessor (bfd_vma pc,
   struct arm_private_data *private_data = info->private_data;
   arm_feature_set allowed_arches = ARM_ARCH_NONE;
 
-  ARM_FEATURE_COPY (allowed_arches, private_data->features);
+  allowed_arches = private_data->features;
 
   for (insn = coprocessor_opcodes; insn->assembler; insn++)
     {
@@ -3413,7 +3419,7 @@ print_insn_coprocessor (bfd_vma pc,
 	    continue;
 
 	  case SENTINEL_GENERIC_START:
-	    ARM_FEATURE_COPY (allowed_arches, private_data->features);
+	    allowed_arches = private_data->features;
 	    continue;
 
 	  default:
@@ -6139,14 +6145,17 @@ parse_arm_disassembler_options (const ch
 	      }
 
 	  if (i >= NUM_ARM_OPTIONS)
-	    fprintf (stderr, _("Unrecognised register name set: %s\n"), opt);
+	    /* xgettext: c-format */
+	    opcodes_error_handler (_("unrecognised register name set: %s"),
+				   opt);
 	}
       else if (CONST_STRNEQ (opt, "force-thumb"))
 	force_thumb = 1;
       else if (CONST_STRNEQ (opt, "no-force-thumb"))
 	force_thumb = 0;
       else
-	fprintf (stderr, _("Unrecognised disassembler option: %s\n"), opt);
+	/* xgettext: c-format */
+	opcodes_error_handler (_("unrecognised disassembler option: %s"), opt);
     }
 
   return;
@@ -6378,7 +6387,7 @@ mapping_symbol_for_insn (bfd_vma pc, str
 
 /* Given a bfd_mach_arm_XXX value, this function fills in the fields
    of the supplied arm_feature_set structure with bitmasks indicating
-   the support base architectures and coprocessor extensions.
+   the supported base architectures and coprocessor extensions.
 
    FIXME: This could more efficiently implemented as a constant array,
    although it would also be less robust.  */
@@ -6387,40 +6396,69 @@ static void
 select_arm_features (unsigned long mach,
 		     arm_feature_set * features)
 {
+  arm_feature_set arch_fset;
+  const arm_feature_set fpu_any = FPU_ANY;
+
 #undef ARM_SET_FEATURES
 #define ARM_SET_FEATURES(FSET) \
   {							\
     const arm_feature_set fset = FSET;			\
-    arm_feature_set tmp = ARM_FEATURE (0, 0, FPU_FPA) ;	\
-    ARM_MERGE_FEATURE_SETS (*features, tmp, fset);	\
+    arch_fset = fset;					\
   }
 
+  /* When several architecture versions share the same bfd_mach_arm_XXX value
+     the most featureful is chosen.  */
   switch (mach)
     {
-    case bfd_mach_arm_2:       ARM_SET_FEATURES (ARM_ARCH_V2); break;
-    case bfd_mach_arm_2a:      ARM_SET_FEATURES (ARM_ARCH_V2S); break;
-    case bfd_mach_arm_3:       ARM_SET_FEATURES (ARM_ARCH_V3); break;
-    case bfd_mach_arm_3M:      ARM_SET_FEATURES (ARM_ARCH_V3M); break;
-    case bfd_mach_arm_4:       ARM_SET_FEATURES (ARM_ARCH_V4); break;
-    case bfd_mach_arm_4T:      ARM_SET_FEATURES (ARM_ARCH_V4T); break;
-    case bfd_mach_arm_5:       ARM_SET_FEATURES (ARM_ARCH_V5); break;
-    case bfd_mach_arm_5T:      ARM_SET_FEATURES (ARM_ARCH_V5T); break;
-    case bfd_mach_arm_5TE:     ARM_SET_FEATURES (ARM_ARCH_V5TE); break;
-    case bfd_mach_arm_XScale:  ARM_SET_FEATURES (ARM_ARCH_XSCALE); break;
+    case bfd_mach_arm_2:	 ARM_SET_FEATURES (ARM_ARCH_V2); break;
+    case bfd_mach_arm_2a:	 ARM_SET_FEATURES (ARM_ARCH_V2S); break;
+    case bfd_mach_arm_3:	 ARM_SET_FEATURES (ARM_ARCH_V3); break;
+    case bfd_mach_arm_3M:	 ARM_SET_FEATURES (ARM_ARCH_V3M); break;
+    case bfd_mach_arm_4:	 ARM_SET_FEATURES (ARM_ARCH_V4); break;
+    case bfd_mach_arm_4T:	 ARM_SET_FEATURES (ARM_ARCH_V4T); break;
+    case bfd_mach_arm_5:	 ARM_SET_FEATURES (ARM_ARCH_V5); break;
+    case bfd_mach_arm_5T:	 ARM_SET_FEATURES (ARM_ARCH_V5T); break;
+    case bfd_mach_arm_5TE:	 ARM_SET_FEATURES (ARM_ARCH_V5TE); break;
+    case bfd_mach_arm_XScale:	 ARM_SET_FEATURES (ARM_ARCH_XSCALE); break;
     case bfd_mach_arm_ep9312:
-      ARM_SET_FEATURES (ARM_FEATURE_LOW (ARM_AEXT_V4T,
-					 ARM_CEXT_MAVERICK | FPU_MAVERICK));
+	ARM_SET_FEATURES (ARM_FEATURE_LOW (ARM_AEXT_V4T,
+					   ARM_CEXT_MAVERICK | FPU_MAVERICK));
        break;
-    case bfd_mach_arm_iWMMXt:  ARM_SET_FEATURES (ARM_ARCH_IWMMXT); break;
-    case bfd_mach_arm_iWMMXt2: ARM_SET_FEATURES (ARM_ARCH_IWMMXT2); break;
-      /* If the machine type is unknown allow all
-	 architecture types and all extensions.  */
-    case bfd_mach_arm_unknown: ARM_SET_FEATURES (ARM_FEATURE_ALL); break;
+    case bfd_mach_arm_iWMMXt:	 ARM_SET_FEATURES (ARM_ARCH_IWMMXT); break;
+    case bfd_mach_arm_iWMMXt2:	 ARM_SET_FEATURES (ARM_ARCH_IWMMXT2); break;
+    case bfd_mach_arm_5TEJ:	 ARM_SET_FEATURES (ARM_ARCH_V5TEJ); break;
+    case bfd_mach_arm_6:	 ARM_SET_FEATURES (ARM_ARCH_V6); break;
+    case bfd_mach_arm_6KZ:	 ARM_SET_FEATURES (ARM_ARCH_V6KZ); break;
+    case bfd_mach_arm_6T2:	 ARM_SET_FEATURES (ARM_ARCH_V6KZT2); break;
+    case bfd_mach_arm_6K:	 ARM_SET_FEATURES (ARM_ARCH_V6K); break;
+    case bfd_mach_arm_7:	 ARM_SET_FEATURES (ARM_ARCH_V7VE); break;
+    case bfd_mach_arm_6M:	 ARM_SET_FEATURES (ARM_ARCH_V6M); break;
+    case bfd_mach_arm_6SM:	 ARM_SET_FEATURES (ARM_ARCH_V6SM); break;
+    case bfd_mach_arm_7EM:	 ARM_SET_FEATURES (ARM_ARCH_V7EM); break;
+    case bfd_mach_arm_8:
+	{
+	  /* Add bits for extensions that Armv8.4-A recognizes.  */
+	  arm_feature_set armv8_4_ext_fset
+	    = ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_FP16_FML);
+	  ARM_SET_FEATURES (ARM_ARCH_V8_4A);
+	  ARM_MERGE_FEATURE_SETS (arch_fset, arch_fset, armv8_4_ext_fset);
+	  break;
+	}
+    case bfd_mach_arm_8R:	 ARM_SET_FEATURES (ARM_ARCH_V8R); break;
+    case bfd_mach_arm_8M_BASE:	 ARM_SET_FEATURES (ARM_ARCH_V8M_BASE); break;
+    case bfd_mach_arm_8M_MAIN:	 ARM_SET_FEATURES (ARM_ARCH_V8M_MAIN); break;
+      /* If the machine type is unknown allow all architecture types and all
+	 extensions.  */
+    case bfd_mach_arm_unknown:	 ARM_SET_FEATURES (ARM_FEATURE_ALL); break;
     default:
       abort ();
     }
-
 #undef ARM_SET_FEATURES
+
+  /* None of the feature bits related to -mfpu have an impact on Tag_CPU_arch
+     and thus on bfd_mach_arm_XXX value.  Therefore for a given
+     bfd_mach_arm_XXX value all coprocessor feature bits should be allowed.  */
+  ARM_MERGE_FEATURE_SETS (*features, arch_fset, fpu_any);
 }
 
 
@@ -6812,17 +6850,23 @@ print_insn_little_arm (bfd_vma pc, struc
   return print_insn (pc, info, TRUE);
 }
 
-const disasm_options_t *
+const disasm_options_and_args_t *
 disassembler_options_arm (void)
 {
-  static disasm_options_t *opts = NULL;
+  static disasm_options_and_args_t *opts_and_args;
 
-  if (opts == NULL)
+  if (opts_and_args == NULL)
     {
+      disasm_options_t *opts;
       unsigned int i;
-      opts = XNEW (disasm_options_t);
+
+      opts_and_args = XNEW (disasm_options_and_args_t);
+      opts_and_args->args = NULL;
+
+      opts = &opts_and_args->options;
       opts->name = XNEWVEC (const char *, NUM_ARM_OPTIONS + 1);
       opts->description = XNEWVEC (const char *, NUM_ARM_OPTIONS + 1);
+      opts->arg = NULL;
       for (i = 0; i < NUM_ARM_OPTIONS; i++)
 	{
 	  opts->name[i] = regnames[i].name;
@@ -6836,7 +6880,7 @@ disassembler_options_arm (void)
       opts->description[i] = NULL;
     }
 
-  return opts;
+  return opts_and_args;
 }
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/avr-dis.c ./opcodes/avr-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/avr-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/avr-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -212,7 +212,8 @@ avr_operand (unsigned int insn, unsigned
 
     case 'n':
       sprintf (buf, "??");
-      fprintf (stderr, _("Internal disassembler error"));
+      /* xgettext:c-format */
+      opcodes_error_handler (_("internal disassembler error"));
       ok = 0;
       break;
 
@@ -265,7 +266,8 @@ avr_operand (unsigned int insn, unsigned
 
     default:
       sprintf (buf, "??");
-      fprintf (stderr, _("unknown constraint `%c'"), constraint);
+      /* xgettext:c-format */
+      opcodes_error_handler (_("unknown constraint `%c'"), constraint);
       ok = 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.1.0.20180703/opcodes/ChangeLog ./opcodes/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ChangeLog	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/ChangeLog	2018-07-10 02:06:14.000000000 +0000
@@ -1,14 +1,973 @@
-2018-04-04  H.J. Lu  <hongjiu.lu@intel.com>
+2018-07-02  Maciej W. Rozycki  <macro@mips.com>
+
+	PR tdep/8282
+	* mips-dis.c (mips_option_arg_t): New enumeration.
+	(mips_options): New variable.
+	(disassembler_options_mips): New function.
+	(print_mips_disassembler_options): Reimplement in terms of
+	`disassembler_options_mips'.
+	* arm-dis.c (disassembler_options_arm): Adapt to using the
+	`disasm_options_and_args_t' structure.
+	* ppc-dis.c (disassembler_options_powerpc): Likewise.
+	* s390-dis.c (disassembler_options_s390): Likewise.
+
+2018-07-02  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* testsuite/ld-arm/tls-descrelax-be8.d: Add architecture version in
+	expected result.
+	* testsuite/ld-arm/tls-descrelax-v7.d: Likewise.
+	* testsuite/ld-arm/tls-longplt-lib.d: Likewise.
+	* testsuite/ld-arm/tls-longplt.d: Likewise.
+
+2018-06-29  Tamar Christina  <tamar.christina@arm.com>
+
+	PR binutils/23192
+	* aarch64-asm-2.c: Regenerate.
+	* aarch64-dis-2.c: Likewise.
+	* aarch64-opc-2.c: Likewise.
+	* aarch64-dis.c (aarch64_ext_reglane): Add AARCH64_OPND_Em16 constraint.
+	* aarch64-opc.c (operand_general_constraint_met_p,
+	aarch64_print_operand): Likewise.
+	* aarch64-tbl.h (aarch64_opcode_table): Change Em to Em16 for smlal,
+	smlal2, fmla, fmls, fmul, fmulx, sqrdmlah, sqrdlsh, fmlal, fmlsl,
+	fmlal2, fmlsl2.
+	(AARCH64_OPERANDS): Add Em2.
+
+2018-06-26  Nick Clifton  <nickc@redhat.com>
+
+	* po/uk.po: Updated Ukranian translation.
+	* po/de.po: Updated German translation.
+	* po/pt_BR.po: Updated Brazilian Portuguese translation.
+
+2018-06-26  Nick Clifton  <nickc@redhat.com>
+
+	* nfp-dis.c: Fix spelling mistake.
+
+2018-06-24  Nick Clifton  <nickc@redhat.com>
+
+	* configure: Regenerate.
+	* po/opcodes.pot: Regenerate.
+
+2018-06-24  Nick Clifton  <nickc@redhat.com>
+
+	2.31 branch created.
+
+2018-06-19  Tamar Christina  <tamar.christina@arm.com>
+
+	* aarch64-tbl.h (aarch64_opcode_table): Fix alias flag for negs
+	* aarch64-asm-2.c: Regenerate.
+	* aarch64-dis-2.c: Likewise.
+
+2018-06-21  Maciej W. Rozycki  <macro@mips.com>
+
+	* mips-dis.c (print_mips_disassembler_options): Fix a typo in
+	`-M ginv' option description.
+
+2018-06-20  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	PR gas/23305
+	* riscv-opc.c (riscv_opcodes): Use new format specifier 'B' for
+	la and lla.
+
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* Makefile.am (AUTOMAKE_OPTIONS): Remove 1.11.
+	* configure.ac: Remove AC_PREREQ.
+	* Makefile.in: Re-generate.
+	* aclocal.m4: Re-generate.
+	* configure: Re-generate.
+
+2018-06-14  Faraz Shahbazker  <Faraz.Shahbazker@mips.com>
+
+	* mips-dis.c (mips_arch_choices): Add GINV to mips32r6 and
+	mips64r6 descriptors.
+	(parse_mips_ase_option): Handle -Mginv option.
+	(print_mips_disassembler_options): Document -Mginv.
+	* mips-opc.c (decode_mips_operand) <+\>: New operand format.
+	(GINV): New macro.
+	(mips_opcodes): Define ginvi and ginvt.
+
+2018-06-13  Scott Egerton  <scott.egerton@imgtec.com>
+	    Faraz Shahbazker  <Faraz.Shahbazker@mips.com>
+
+	* mips-dis.c (mips_arch_choices): Add CRC and CRC64 ASEs.
+	* mips-opc.c (CRC, CRC64): New macros.
+	(mips_builtin_opcodes): Define crc32b, crc32h, crc32w,
+	crc32cb, crc32ch and crc32cw for CRC.  Define crc32d and
+	crc32cd for CRC64.
+
+2018-06-08  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
+
+	PR 20319
+	* aarch64-tbl.h: Introduce QL_INT2FP_FMOV and QL_FP2INT_FMOV.
+	(aarch64_opcode_table) : Use QL_INT2FP_FMOV and QL_FP2INT_FMOV.
+
+2018-06-06  Alan Modra  <amodra@gmail.com>
+
+	* xtensa-dis.c (print_insn_xtensa): Init fmt and valid_insn after
+	setjmp.  Move init for some other vars later too.
+
+2018-06-04  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* xtensa-dis.c (bfd.h, elf/xtensa.h): New includes.
+	(dis_private): Add new fields for property section tracking.
+	(xtensa_coalesce_insn_tables, xtensa_find_table_entry)
+	(xtensa_instruction_fits): New functions.
+	(fetch_data): Bump minimal fetch size to 4.
+	(print_insn_xtensa): Make struct dis_private static.
+	Load and prepare property table on section change.
+	Don't disassemble literals. Don't disassemble instructions that
+	cross property table boundaries.
+
+2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* configure: Regenerated.
+
+2018-06-01  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (mov, movq): Fold to/from SReg* forms.
+	* i386-tbl.h: Re-generate.
+
+2018-06-01  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (sldt, str): Add NoRex64.
+	* i386-tbl.h: Re-generate.
+
+2018-06-01  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (invpcid): Add Oword.
+	* i386-tbl.h: Re-generate.
+
+2018-06-01  Alan Modra  <amodra@gmail.com>
+
+	* sysdep.h (_bfd_error_handler): Don't declare.
+	* msp430-decode.opc: Include bfd.h.  Don't include ansidecl.h here.
+	* rl78-decode.opc: Likewise.
+	* msp430-decode.c: Regenerate.
+	* rl78-decode.c: Regenerate.
+
+2018-05-30  Amit Pawar <Amit.Pawar@amd.com>
+
+	* i386-gen.c (cpu_flag_init): Add CPU_ZNVER2_FLAGS.
+	* i386-init.h : Regenerated.
+
+2018-05-25  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.in: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2018-05-21  Peter Bergner  <bergner@vnet.ibm.com.com>
+
+	* ppc-opc.c (insert_bat, extract_bat, insert_bba, extract_bba,
+	insert_rbs, extract_rbs, insert_xb6s, extract_xb6s): Delete functions.
+	(insert_bab, extract_bab, insert_btab, extract_btab,
+	insert_rsb, extract_rsb, insert_xab6, extract_xab6): New functions.
+	(BAT, BBA VBA RBS XB6S): Delete macros.
+	(BTAB, BAB, VAB, RAB, RSB, XAB6): New macros.
+	(BB, BD, RBX, XC6): Update for new macros.
+	(powerpc_opcodes) <evmr, evnot, vmr, vnot, crnot, crclr, crset,
+	crmove, not, not., mr, mr., xxspltd, xxswapd, xvmovsp, xvmovdp,
+	e_crnot, e_crclr, e_crset, e_crmove>: Likewise.
+	* ppc-dis.c (print_insn_powerpc): Delete handling of fake operands.
+
+2018-05-18  John Darrington  <john@darrington.wattle.id.au>
+
+	* Makefile.am: Add support for s12z architecture.
+	* configure.ac: Likewise.
+	* disassemble.c: Likewise.
+	* disassemble.h: Likewise.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* s12z-dis.c: New file.
+	* s12z.h: New file.
+
+2018-05-18  Alan Modra  <amodra@gmail.com>
+
+	* nfp-dis.c: Don't #include libbfd.h.
+	(init_nfp3200_priv): Use bfd_get_section_contents.
+	(nit_nfp6000_mecsr_sec): Likewise.
+
+2018-05-17  Nick Clifton  <nickc@redhat.com>
+
+	* po/zh_CN.po: Updated simplified Chinese translation.
+
+2018-05-16  Tamar Christina  <tamar.christina@arm.com>
+
+	PR binutils/23109
+	* aarch64-tbl.h (aarch64_opcode_table): Correct sdot and udot.
+	* aarch64-dis-2.c: Regenerate.
+
+2018-05-15  Tamar Christina  <tamar.christina@arm.com>
+
+	PR binutils/21446
+	* aarch64-asm.c (opintl.h): Include.
+	(aarch64_ins_sysreg): Enforce read/write constraints.
+	* aarch64-dis.c (aarch64_ext_sysreg): Likewise.
+	* aarch64-opc.h (F_DEPRECATED, F_ARCHEXT, F_HASXT): Moved here.
+	(F_REG_READ, F_REG_WRITE): New.
+	* aarch64-opc.c (aarch64_print_operand): Generate notes for
+	AARCH64_OPND_SYSREG.
+	(F_DEPRECATED, F_ARCHEXT, F_HASXT): Move to aarch64-opc.h.
+	(aarch64_sys_regs): Add constraints to currentel, midr_el1, ctr_el0,
+	mpidr_el1, revidr_el1, aidr_el1, dczid_el0, id_dfr0_el1, id_pfr0_el1,
+	id_pfr1_el1, id_afr0_el1, id_mmfr0_el1, id_mmfr1_el1, id_mmfr2_el1,
+	id_mmfr3_el1, id_mmfr4_el1, id_isar0_el1, id_isar1_el1, id_isar2_el1,
+	id_isar3_el1, id_isar4_el1, id_isar5_el1, mvfr0_el1, mvfr1_el1,
+	mvfr2_el1, ccsidr_el1, id_aa64pfr0_el1, id_aa64pfr1_el1,
+	id_aa64dfr0_el1, id_aa64dfr1_el1, id_aa64isar0_el1, id_aa64isar1_el1,
+	id_aa64mmfr0_el1, id_aa64mmfr1_el1, id_aa64mmfr2_el1, id_aa64afr0_el1,
+	id_aa64afr0_el1, id_aa64afr1_el1, id_aa64zfr0_el1, clidr_el1,
+	csselr_el1, vsesr_el2, erridr_el1, erxfr_el1, rvbar_el1, rvbar_el2,
+	rvbar_el3, isr_el1, tpidrro_el0, cntfrq_el0, cntpct_el0, cntvct_el0,
+	mdccsr_el0, dbgdtrrx_el0, dbgdtrtx_el0, osdtrrx_el1, osdtrtx_el1,
+	mdrar_el1, oslar_el1, oslsr_el1, dbgauthstatus_el1, pmbidr_el1,
+	pmsidr_el1, pmswinc_el0, pmceid0_el0, pmceid1_el0.
+	* aarch64-tbl.h (aarch64_opcode_table): Add constraints to
+	msr (F_SYS_WRITE), mrs (F_SYS_READ).
+
+2018-05-15  Tamar Christina  <tamar.christina@arm.com>
+
+	PR binutils/21446
+	* aarch64-dis.c (no_notes: New.
+	(parse_aarch64_dis_option): Support notes.
+	(aarch64_decode_insn, print_operands): Likewise.
+	(print_aarch64_disassembler_options): Document notes.
+	* aarch64-opc.c (aarch64_print_operand): Support notes.
+
+2018-05-15  Tamar Christina  <tamar.christina@arm.com>
 
-	Backport from master branch
-	2018-04-04  H.J. Lu  <hongjiu.lu@intel.com>
+	PR binutils/21446
+	* aarch64-asm.h (aarch64_insert_operand, aarch64_##x): Return boolean
+	and take error struct.
+	* aarch64-asm.c (aarch64_ext_regno, aarch64_ins_reglane,
+	aarch64_ins_reglist, aarch64_ins_ldst_reglist,
+	aarch64_ins_ldst_reglist_r, aarch64_ins_ldst_elemlist,
+	aarch64_ins_advsimd_imm_shift, aarch64_ins_imm, aarch64_ins_imm_half,
+	aarch64_ins_advsimd_imm_modified, aarch64_ins_fpimm,
+	aarch64_ins_imm_rotate1, aarch64_ins_imm_rotate2, aarch64_ins_fbits,
+	aarch64_ins_aimm, aarch64_ins_limm_1, aarch64_ins_limm,
+	aarch64_ins_inv_limm, aarch64_ins_ft, aarch64_ins_addr_simple,
+	aarch64_ins_addr_regoff, aarch64_ins_addr_offset, aarch64_ins_addr_simm,
+	aarch64_ins_addr_simm10, aarch64_ins_addr_uimm12,
+	aarch64_ins_simd_addr_post, aarch64_ins_cond, aarch64_ins_sysreg,
+	aarch64_ins_pstatefield, aarch64_ins_sysins_op, aarch64_ins_barrier,
+	aarch64_ins_prfop, aarch64_ins_hint, aarch64_ins_reg_extended,
+	aarch64_ins_reg_shifted, aarch64_ins_sve_addr_ri_s4xvl,
+	aarch64_ins_sve_addr_ri_s6xvl, aarch64_ins_sve_addr_ri_s9xvl,
+	aarch64_ins_sve_addr_ri_s4, aarch64_ins_sve_addr_ri_u6,
+	aarch64_ins_sve_addr_rr_lsl, aarch64_ins_sve_addr_rz_xtw,
+	aarch64_ins_sve_addr_zi_u5, aarch64_ext_sve_addr_zz,
+	aarch64_ins_sve_addr_zz_lsl, aarch64_ins_sve_addr_zz_sxtw,
+	aarch64_ins_sve_addr_zz_uxtw, aarch64_ins_sve_aimm,
+	aarch64_ins_sve_asimm, aarch64_ins_sve_index, aarch64_ins_sve_limm_mov,
+	aarch64_ins_sve_quad_index, aarch64_ins_sve_reglist,
+	aarch64_ins_sve_scale, aarch64_ins_sve_shlimm, aarch64_ins_sve_shrimm,
+	aarch64_ins_sve_float_half_one, aarch64_ins_sve_float_half_two,
+	aarch64_ins_sve_float_zero_one, aarch64_opcode_encode): Likewise.
+	* aarch64-dis.h (aarch64_extract_operand, aarch64_##x): Likewise.
+	* aarch64-dis.c (aarch64_ext_regno, aarch64_ext_reglane,
+	aarch64_ext_reglist, aarch64_ext_ldst_reglist,
+	aarch64_ext_ldst_reglist_r, aarch64_ext_ldst_elemlist,
+	aarch64_ext_advsimd_imm_shift, aarch64_ext_imm, aarch64_ext_imm_half,
+	aarch64_ext_advsimd_imm_modified, aarch64_ext_fpimm,
+	aarch64_ext_imm_rotate1, aarch64_ext_imm_rotate2, aarch64_ext_fbits,
+	aarch64_ext_aimm, aarch64_ext_limm_1, aarch64_ext_limm, decode_limm,
+	aarch64_ext_inv_limm, aarch64_ext_ft, aarch64_ext_addr_simple,
+	aarch64_ext_addr_regoff, aarch64_ext_addr_offset, aarch64_ext_addr_simm,
+	aarch64_ext_addr_simm10, aarch64_ext_addr_uimm12,
+	aarch64_ext_simd_addr_post, aarch64_ext_cond, aarch64_ext_sysreg,
+	aarch64_ext_pstatefield, aarch64_ext_sysins_op, aarch64_ext_barrier,
+	aarch64_ext_prfop, aarch64_ext_hint, aarch64_ext_reg_extended,
+	aarch64_ext_reg_shifted, aarch64_ext_sve_addr_ri_s4xvl,
+	aarch64_ext_sve_addr_ri_s6xvl, aarch64_ext_sve_addr_ri_s9xvl,
+	aarch64_ext_sve_addr_ri_s4, aarch64_ext_sve_addr_ri_u6,
+	aarch64_ext_sve_addr_rr_lsl, aarch64_ext_sve_addr_rz_xtw,
+	aarch64_ext_sve_addr_zi_u5, aarch64_ext_sve_addr_zz,
+	aarch64_ext_sve_addr_zz_lsl, aarch64_ext_sve_addr_zz_sxtw,
+	aarch64_ext_sve_addr_zz_uxtw, aarch64_ext_sve_aimm,
+	aarch64_ext_sve_asimm, aarch64_ext_sve_index, aarch64_ext_sve_limm_mov,
+	aarch64_ext_sve_quad_index, aarch64_ext_sve_reglist,
+	aarch64_ext_sve_scale, aarch64_ext_sve_shlimm, aarch64_ext_sve_shrimm,
+	aarch64_ext_sve_float_half_one, aarch64_ext_sve_float_half_two,
+	aarch64_ext_sve_float_zero_one, aarch64_opcode_decode): Likewise.
+	(determine_disassembling_preference, aarch64_decode_insn,
+	print_insn_aarch64_word, print_insn_data): Take errors struct.
+	(print_insn_aarch64): Use errors.
+	* aarch64-asm-2.c: Regenerate.
+	* aarch64-dis-2.c: Regenerate.
+	* aarch64-gen.c (print_operand_inserter): Use errors and change type to
+	boolean in aarch64_insert_operan.
+	(print_operand_extractor): Likewise.
+	* aarch64-opc.c (aarch64_print_operand): Use sysreg struct.
+
+2018-05-15  Francois H. Theron  <francois.theron@netronome.com>
+
+	* nfp-dis.c: Use uint64_t for instruction variables, not bfd_vma.
+
+2018-05-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-opc.tbl: Remove Disp<N> from movidir{i,64b}.
+
+2018-05-09  Sebastian Rasmussen  <sebras@gmail.com>
+
+	* cr16-opc.c (cr16_instruction): Comment typo fix.
+	* hppa-dis.c (print_insn_hppa): Likewise.
+
+2018-05-08  Jim Wilson  <jimw@sifive.com>
+
+	* riscv-opc.c (match_c_slli, match_slli_as_c_slli): New.
+	(match_c_slli64, match_srxi_as_c_srxi): New.
+	(riscv_opcodes) <slli, sll>: Use match_slli_as_c_slli.
+	<srli, srl, srai, sra>: Use match_srxi_as_c_srxi.
+	<c.slli, c.srli, c.srai>: Use match_s_slli.
+	<c.slli64, c.srli64, c.srai64>: New.
+
+2018-05-08  Alan Modra  <amodra@gmail.com>
+
+	* ppc-dis.c (PPC_OPCD_SEGS): Define using PPC_OP.
+	(VLE_OPCD_SEGS, SPE2_OPCD_SEGS): Similarly, using macros used to
+	partition opcode space for index lookup.
+
+2018-05-07  Peter Bergner  <bergner@vnet.ibm.com.com>
+
+	* ppc-dis.c (print_insn_powerpc) <insn_is_short>: Replace this...
+	<insn_length>: ...with this.  Update usage.
+	Remove duplicate call to *info->memory_error_func.
+
+2018-05-07  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-dis.c (Gva): New.
+	(enum): Add PREFIX_0F38F8, PREFIX_0F38F9,
+	MOD_0F38F8_PREFIX_2, MOD_0F38F9_PREFIX_0.
+	(prefix_table): New instructions (see prefix above).
+	(mod_table): New instructions (see prefix above).
+	(OP_G): Handle va_mode.
+	* i386-gen.c (cpu_flag_init): Add CPU_MOVDIRI_FLAGS,
+	CPU_MOVDIR64B_FLAGS.
+	(cpu_flags): Add CpuMOVDIRI and CpuMOVDIR64B.
+	* i386-opc.h (enum): Add CpuMOVDIRI, CpuMOVDIR64B.
+	(i386_cpu_flags): Add cpumovdiri and cpumovdir64b.
+	* i386-opc.tbl: Add movidir{i,64b}.
+	* i386-init.h: Regenerated.
+	* i386-tbl.h: Likewise.
+
+2018-05-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-gen.c (opcode_modifiers): Replace AddrPrefixOp0 with
+	AddrPrefixOpReg.
+	* i386-opc.h (AddrPrefixOp0): Renamed to ...
+	(AddrPrefixOpReg): This.
+	(i386_opcode_modifier): Rename addrprefixop0 to addrprefixopreg.
+	* i386-opc.tbl: Replace AddrPrefixOp0 with AddrPrefixOpReg.
+
+2018-05-07  Peter Bergner  <bergner@vnet.ibm.com.com>
+
+	* ppc-opc.c (powerpc_num_opcodes): Change type to unsigned.
+	(vle_num_opcodes): Likewise.
+	(spe2_num_opcodes): Likewise.
+	* ppc-dis.c (disassemble_init_powerpc) <powerpc_opcd_indices>: Rewrite
+	initialization loop.
+	(disassemble_init_powerpc) <vle_opcd_indices>: Likewise.
+	(disassemble_init_powerpc) <spe2_opcd_indices>: Likewise.  Initialize
+	only once.
+
+2018-05-01  Tamar Christina  <tamar.christina@arm.com>
+
+	* aarch64-dis.c (aarch64_opcode_decode): Moved memory clear code.
+
+2018-04-30  Francois H. Theron <francois.theron@netronome.com>
+
+	Makefile.am: Added nfp-dis.c.
+	configure.ac: Added bfd_nfp_arch.
+	disassemble.h: Added print_insn_nfp prototype.
+	disassemble.c: Added ARCH_nfp and call to print_insn_nfp
+	nfp-dis.c: New, for NFP support.
+	po/POTFILES.in: Added nfp-dis.c to the list.
+	Makefile.in: Regenerate.
+	configure: Regenerate.
+
+2018-04-26  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl: Fold various non-memory operand AVX512VL
+	templates into their base ones.
+	* i386-tlb.h: Re-generate.
+
+2018-04-26  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-gen.c (cpu_flag_init): Use CPU_XOP_FLAGS for
+	CPU_BDVER1_FLAGS. Use CPU_AVX2_FLAGS for CPU_ZNVER1_FLAGS. Use
+	CPU_AVX_FLAGS for CPU_BTVER1_FLAGS. Add CPU_XSAVE_FLAGS to
+	CPU_LWP_FLAGS, CPU_AVX_FLAGS, CPU_MPX_FLAGS, and CPU_OSPKE_FLAGS.
+	* i386-init.h: Re-generate.
+
+2018-04-26  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-gen.c (cpu_flag_init): Drop all uses of CpuRegMMX,
+	CpuRegXMM, CpuRegYMM, CpuRegZMM, and CpuRegMask. Use
+	CPU_AVX2_FLAGS for CPU_AVX512F_FLAGS and drop bogus comment.
+	Don't use CPU_AVX2_FLAGS for CPU_AVX512VL_FLAGS and drop bogus
+	comment.
+	(cpu_flags): Drop CpuRegMMX, CpuRegXMM, CpuRegYMM, CpuRegZMM,
+	and CpuRegMask.
+	* i386-opc.h: CpuRegMMX, CpuRegXMM, CpuRegYMM, CpuRegZMM,
+	CpuRegMask: Delete.
+	(union i386_cpu_flags): Remove cpuregmmx, cpuregxmm, cpuregymm,
+	cpuregzmm, and cpuregmask.
+	* i386-init.h: Re-generate.
+	* i386-tbl.h: Re-generate.
+
+2018-04-26  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-gen.c (cpu_flag_init): CPU_I586_FLAGS inherits Cpu387 only.
+	CPU_287_FLAGS is Cpu287 only. CPU_387_FLAGS is Cpu387 only.
+	* i386-init.h: Re-generate.
+
+2018-04-26  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-gen.c (VexImmExt): Delete.
+	* i386-opc.h (VexImmExt, veximmext): Delete.
+	* i386-opc.tbl: Drop all VexImmExt uses.
+	* i386-tlb.h: Re-generate.
+
+2018-04-25  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vpslld, vpsrad, vpsrld): Drop AVX512VL
+	register-only forms.
+	* i386-tlb.h: Re-generate.
+
+2018-04-25  Tamar Christina  <tamar.christina@arm.com>
+
+	* aarch64-tbl.h (sqrdmlah, sqrdmlsh): Fix masks.
+
+2018-04-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* i386-dis.c: Add REG_0F1C_MOD_0, MOD_0F1C_PREFIX_0,
+	PREFIX_0F1C.
+	* i386-gen.c (cpu_flag_init): Add CPU_CLDEMOTE_FLAGS,
+	(cpu_flags): Add CpuCLDEMOTE.
+	* i386-init.h: Regenerate.
+	* i386-opc.h (enum): Add CpuCLDEMOTE,
+	(i386_cpu_flags): Add cpucldemote.
+	* i386-opc.tbl: Add cldemote.
+	* i386-tbl.h: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove sh5 and sh64 support.
+	* configure.ac: Likewise.
+	* disassemble.c: Likewise.
+	* disassemble.h: Likewise.
+	* sh-dis.c: Likewise.
+	* sh64-dis.c: Delete.
+	* sh64-opc.c: Delete.
+	* sh64-opc.h: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove w65 support.
+	* configure.ac: Likewise.
+	* disassemble.c: Likewise.
+	* disassemble.h: Likewise.
+	* w65-dis.c: Delete.
+	* w65-opc.h: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* configure.ac: Remove we32k support.
+	* configure: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove m88k support.
+	* configure.ac: Likewise.
+	* disassemble.c: Likewise.
+	* disassemble.h: Likewise.
+	* m88k-dis.c: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove i370 support.
+	* configure.ac: Likewise.
+	* disassemble.c: Likewise.
+	* disassemble.h: Likewise.
+	* i370-dis.c: Delete.
+	* i370-opc.c: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Remove h8500 support.
+	* configure.ac: Likewise.
+	* disassemble.c: Likewise.
+	* disassemble.h: Likewise.
+	* h8500-dis.c: Delete.
+	* h8500-opc.h: Delete.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2018-04-16  Alan Modra  <amodra@gmail.com>
+
+	* configure.ac: Remove tahoe support.
+	* configure: Regenerate.
+
+2018-04-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-dis.c (prefix_table): Replace Em with Edq on tpause and
+	umwait.
+	* i386-opc.tbl: Allow 32-bit registers for tpause and umwait in
+	64-bit mode.
+	* i386-tbl.h: Regenerated.
+
+2018-04-11  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* i386-dis.c (enum): Add PREFIX_MOD_0_0FAE_REG_6,
+	PREFIX_MOD_1_0FAE_REG_6.
+	(va_mode): New.
+	(OP_E_register): Use va_mode.
+	* i386-dis-evex.h (prefix_table):
+	New instructions (see prefixes above).
+	* i386-gen.c (cpu_flag_init): Add WAITPKG.
+	(cpu_flags): Likewise.
+	* i386-opc.h (enum): Likewise.
+	(i386_cpu_flags): Likewise.
+	* i386-opc.tbl: Add umonitor, umwait, tpause.
+	* i386-init.h: Regenerate.
+	* i386-tbl.h: Likewise.
+
+2018-04-11  Alan Modra  <amodra@gmail.com>
+
+	* opcodes/i860-dis.c: Delete.
+	* opcodes/i960-dis.c: Delete.
+	* Makefile.am: Remove i860 and i960 support.
+	* configure.ac: Likewise.
+	* disassemble.c: Likewise.
+	* disassemble.h: Likewise.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2018-04-04  H.J. Lu  <hongjiu.lu@intel.com>
 
-	PR gdb/23028
 	PR binutils/23025
 	* i386-dis.c (get_valid_dis386): Don't set vex.prefix nor vex.w
 	to 0.
 	(print_insn): Clear vex instead of vex.evex.
 
+2018-04-04  Nick Clifton  <nickc@redhat.com>
+
+	* po/es.po: Updated Spanish translation.
+
+2018-03-28  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-gen.c (opcode_modifiers): Delete VecESize.
+	* i386-opc.h (VecESize): Delete.
+	(struct i386_opcode_modifier): Delete vecesize.
+	* i386-opc.tbl: Drop VecESize.
+	* i386-tlb.h: Re-generate.
+
+2018-03-28  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.h (NO_BROADCAST, BROADCAST_1TO16, BROADCAST_1TO8,
+	BROADCAST_1TO4, BROADCAST_1TO2): Delete.
+	(struct i386_opcode_modifier): Shrink broadcast field to 1 bit.
+	* i386-opc.tbl: Replace Broadcast=<N> by Broadcast.
+	* i386-tlb.h: Re-generate.
+
+2018-03-28  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vcvt*d2si, vcvt*d2usi, vcvt*s2si, vcvt*s2usi):
+	Fold AVX512 forms
+	* i386-tlb.h: Re-generate.
+
+2018-03-28  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-dis.c (prefix_table): Drop Y for cvt*2si.
+	(vex_len_table): Drop Y for vcvt*2si.
+	(putop): Replace plain 'Y' handling by abort().
+
+2018-03-28  Nick Clifton  <nickc@redhat.com>
+
+	PR 22988
+	* aarch64-tbl.h (aarch64_opcode_table): Add entries for LDFF1xx
+	instructions with only a base address register.
+	* aarch64-opc.c (operand_general_constraint_met_p): Add code to
+	handle AARHC64_OPND_SVE_ADDR_R.
+	(aarch64_print_operand): Likewise.
+	* aarch64-asm-2.c: Regenerate.
+	* aarch64_dis-2.c: Regenerate.
+	* aarch64-opc-2.c: Regenerate.
+
+2018-03-22  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl: Drop VecESize from register only insn forms and
+	memory forms not allowing broadcast.
+	* i386-tlb.h: Re-generate.
+
+2018-03-22  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vfrczs*, vphadd*, vphsub*, vpmacs*, vpmadcs*,
+	vprot*, vpsha*, vpshl*, bextr, blc*, bls*, t1mskc, tzmsk, sha1*,
+	sha256*): Drop Disp<N>.
+
+2018-03-22  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-dis.c (EbndS, bnd_swap_mode): New.
+	(prefix_table): Use EbndS.
+	(OP_E_register, OP_E_memory): Also handle bnd_swap_mode.
+	* i386-opc.tbl (bndmov): Move misplaced Load.
+	* i386-tlb.h: Re-generate.
+
+2018-03-22  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vcvtdq2pd, vcvtps2pd, vcvtudq2pd): Use separate
+	templates allowing memory operands and folded ones for register
+	only flavors.
+	* i386-tlb.h: Re-generate.
+
+2018-03-22  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vfrczp*, vpcmov, vpermil2p*): Fold 128- and
+	256-bit templates. Drop redundant leftover Disp<N>.
+	* i386-tlb.h: Re-generate.
+
+2018-03-14  Kito Cheng  <kito.cheng@gmail.com>
+
+	* riscv-opc.c (riscv_insn_types): New.
+
+2018-03-13  Nick Clifton  <nickc@redhat.com>
+
+	* po/pt_BR.po: Updated Brazilian Portuguese translation.
+
+2018-03-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-opc.tbl: Add Optimize to clr.
+	* i386-tbl.h: Regenerated.
+
+2018-03-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-gen.c (opcode_modifiers): Remove OldGcc.
+	* i386-opc.h (OldGcc): Removed.
+	(i386_opcode_modifier): Remove oldgcc.
+	* i386-opc.tbl: Remove fsubp, fsubrp, fdivp and fdivrp
+	instructions for old (<= 2.8.1) versions of gcc.
+	* i386-tbl.h: Regenerated.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.h (EVEXDYN): New.
+	* i386-opc.tbl: Fold various AVX512VL templates.
+	* i386-tlb.h: Re-generate.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vexpandpd, vexpandps, vmovapd, vmovaps,
+	vmovdqa32, vmovdqa64, vmovdqu32, vmovdqu64, vmovupd, vmovups,
+	vpexpandd, vpexpandq): Fold AFX512VF templates.
+	* i386-tlb.h: Re-generate.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vgf2p8affineinvqb, vgf2p8affineqb, vgf2p8mulb):
+	Fold 128- and 256-bit VEX-encoded templates.
+	* i386-tlb.h: Re-generate.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vexpandpd, vexpandps, vmovapd, vmovaps,
+	vmovdqa32, vmovdqa64, vmovdqu32, vmovdqu64, vmovupd, vmovups,
+	vpexpandd, vpexpandq): Fold AVX512F templates.
+	* i386-tlb.h: Re-generate.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (llwpcb, slwpcb, lwpval, lwpins): Fold 32- and
+	64-bit templates. Drop Disp<N>.
+	* i386-tlb.h: Re-generate.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vfmadd*, vfmsub*, vfnmadd*, vfnmsub*): Fold 128-
+	and 256-bit templates.
+	* i386-tlb.h: Re-generate.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (cmpxchg8b): Add NoRex64.
+	* i386-tlb.h: Re-generate.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (cmpxchg16b, fisttp, fisttpll, bndmov, mwaitx):
+	Drop NoAVX.
+	* i386-tlb.h: Re-generate.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (ldmxcsr, stmxcsr): Add NoAVX.
+	* i386-tlb.h: Re-generate.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-gen.c (opcode_modifiers): Delete FloatD.
+	* i386-opc.h (FloatD): Delete.
+	(struct i386_opcode_modifier): Delete floatd.
+	* i386-opc.tbl (fadd, fsub, fsubr, fmul, fdiv, fdivr): Replace
+	FloatD by D.
+	* i386-tlb.h: Re-generate.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-dis.c (float_reg): Adjust DC and DE fsub*/fdiv* patterns.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vmovd): Disallow Qword memory operands.
+	* i386-tlb.h: Re-generate.
+
+2018-03-08  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vcvtpd2ps): Fold AVX 128- and 256-bit memory
+	forms.
+	* i386-tlb.h: Re-generate.
+
+2018-03-07  Alan Modra  <amodra@gmail.com>
+
+	* disassemble.c (disassembler): Use bfd_arch_powerpc entry for
+	bfd_arch_rs6000.
+	* disassemble.h (print_insn_rs6000): Delete.
+	* ppc-dis.c (powerpc_init_dialect): Handle rs6000.
+	(disassemble_init_powerpc): Call powerpc_init_dialect for rs6000.
+	(print_insn_rs6000): Delete.
+
+2018-03-03  Alan Modra  <amodra@gmail.com>
+
+	* sysdep.h (opcodes_error_handler): Define.
+	(_bfd_error_handler): Declare.
+	* Makefile.am: Remove stray #.
+	* opc2c.c (main): Remove bogus -l arg handling.  Print "DO NOT
+	EDIT" comment.
+	* aarch64-dis.c, * arc-dis.c, * arm-dis.c, * avr-dis.c,
+	* d30v-dis.c, * h8300-dis.c, * mmix-dis.c, * ppc-dis.c,
+	* riscv-dis.c, * s390-dis.c, * sparc-dis.c, * v850-dis.c: Use
+	opcodes_error_handler to print errors.  Standardize error messages.
+	* msp430-decode.opc, * nios2-dis.c, * rl78-decode.opc: Likewise,
+	and include opintl.h.
+	* nds32-asm.c: Likewise, and include sysdep.h and opintl.h.
+	* i386-gen.c: Standardize error messages.
+	* msp430-decode.c, * rl78-decode.c, rx-decode.c: Regenerate.
+	* Makefile.in: Regenerate.
+	* epiphany-asm.c, * epiphany-desc.c, * epiphany-dis.c,
+	* epiphany-ibld.c, * fr30-asm.c, * fr30-desc.c, * fr30-dis.c,
+	* fr30-ibld.c, * frv-asm.c, * frv-desc.c, * frv-dis.c, * frv-ibld.c,
+	* frv-opc.c, * ip2k-asm.c, * ip2k-desc.c, * ip2k-dis.c, * ip2k-ibld.c,
+	* iq2000-asm.c, * iq2000-desc.c, * iq2000-dis.c, * iq2000-ibld.c,
+	* lm32-asm.c, * lm32-desc.c, * lm32-dis.c, * lm32-ibld.c,
+	* m32c-asm.c, * m32c-desc.c, * m32c-dis.c, * m32c-ibld.c,
+	* m32r-asm.c, * m32r-desc.c, * m32r-dis.c, * m32r-ibld.c,
+	* mep-asm.c, * mep-desc.c, * mep-dis.c, * mep-ibld.c, * mt-asm.c,
+	* mt-desc.c, * mt-dis.c, * mt-ibld.c, * or1k-asm.c, * or1k-desc.c,
+	* or1k-dis.c, * or1k-ibld.c, * xc16x-asm.c, * xc16x-desc.c,
+	* xc16x-dis.c, * xc16x-ibld.c, * xstormy16-asm.c, * xstormy16-desc.c,
+	* xstormy16-dis.c, * xstormy16-ibld.c: Regenerate.
+
+2018-03-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* * i386-opc.tbl: Add "Optimize" to AVX256 and AVX512
+	vpsub[bwdq] instructions.
+	* i386-tbl.h: Regenerated.
+
+2018-03-01  Alan Modra  <amodra@gmail.com>
+
+	* configure.ac (ALL_LINGUAS): Sort.
+	* configure: Regenerate.
+
+2018-02-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* arm-dis.c (print_insn_coprocessor): Replace uses of ARM_FEATURE_COPY
+	macro by assignements.
+
+2018-02-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR gas/22871
+	* i386-gen.c (opcode_modifiers): Add Optimize.
+	* i386-opc.h (Optimize): New enum.
+	(i386_opcode_modifier): Add optimize.
+	* i386-opc.tbl: Add "Optimize" to "mov $imm, reg",
+	"sub reg, reg/mem", "test $imm, acc", "test $imm, reg/mem",
+	"and $imm, acc", "and $imm, reg/mem", "xor reg, reg/mem",
+	"movq $imm, reg" and AVX256 and AVX512 versions of vandnps,
+	vandnpd, vpandn, vpandnd, vpandnq, vxorps, vxorpd, vpxor,
+	vpxord and vpxorq.
+	* i386-tbl.h: Regenerated.
+
+2018-02-26  Alan Modra  <amodra@gmail.com>
+
+	* crx-dis.c (getregliststring): Allocate a large enough buffer
+	to silence false positive gcc8 warning.
+
+2018-02-22  Shea Levy <shea@shealevy.com>
+
+	* disassemble.c (ARCH_riscv): Define if ARCH_all.
+
+2018-02-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-opc.tbl: Add {rex},
+	* i386-tbl.h: Regenerated.
+
+2018-02-20  Maciej W. Rozycki  <macro@mips.com>
+
+	* mips16-opc.c (decode_mips16_operand) <'M'>: Remove case.
+	(mips16_opcodes): Replace `M' with `m' for "restore".
+
+2018-02-19  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* arm-dis.c (thumb_opcodes): Fix BXNS mask.
+
+2018-02-13  Maciej W. Rozycki  <macro@mips.com>
+
+	* wasm32-dis.c (print_insn_wasm32): Rename `index' local
+	variable to `function_index'.
+
+2018-02-13  Nick Clifton  <nickc@redhat.com>
+
+	PR 22823
+	* metag-dis.c (print_fmmov): Double buffer size to avoid warning
+	about truncation of printing.
+
+2018-02-12  Henry Wong <henry@stuffedcow.net>
+
+	* mips-opc.c (mips_builtin_opcodes): Correct "sigrie" encoding.
+
+2018-02-05  Nick Clifton  <nickc@redhat.com>
+
+	* po/pt_BR.po: Updated Brazilian Portuguese translation.
+
+2018-01-23  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* i386-dis.c (enum): Add pconfig.
+	* i386-gen.c (cpu_flag_init): Add CPU_PCONFIG_FLAGS.
+	(cpu_flags): Add CpuPCONFIG.
+	* i386-opc.h (enum): Add CpuPCONFIG.
+	(i386_cpu_flags): Add cpupconfig.
+	* i386-opc.tbl: Add PCONFIG instruction.
+	* i386-init.h: Regenerate.
+	* i386-tbl.h: Likewise.
+
+2018-01-23  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* i386-dis.c (enum): Add PREFIX_0F09.
+	* i386-gen.c (cpu_flag_init): Add CPU_WBNOINVD_FLAGS.
+	(cpu_flags): Add CpuWBNOINVD.
+	* i386-opc.h (enum): Add CpuWBNOINVD.
+	(i386_cpu_flags): Add cpuwbnoinvd.
+	* i386-opc.tbl: Add WBNOINVD instruction.
+	* i386-init.h: Regenerate.
+	* i386-tbl.h: Likewise.
+
+2018-01-17  Jim Wilson  <jimw@sifive.com>
+
+	* riscv-opc.c (riscv_opcodes) <addi>: Use z instead of 0.
+
+2018-01-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* i386-gen.c (cpu_flag_init): Delete CPU_CET_FLAGS, CpuCET.
+	Add CPU_IBT_FLAGS, CPU_SHSTK_FLAGS, CPY_ANY_IBT_FLAGS,
+	CPU_ANY_SHSTK_FLAGS, CpuIBT, CpuSHSTK.
+	(cpu_flags): Add CpuIBT, CpuSHSTK.
+	* i386-opc.h (enum): Add CpuIBT, CpuSHSTK.
+	(i386_cpu_flags): Add cpuibt, cpushstk.
+	* i386-opc.tbl: Change CpuCET to CpuSHSTK and CpuIBT.
+	* i386-init.h: Regenerate.
+	* i386-tbl.h: Likewise.
+
+2018-01-16  Nick Clifton  <nickc@redhat.com>
+
+	* po/pt_BR.po: Updated Brazilian Portugese translation.
+	* po/de.po: Updated German translation.
+
+2018-01-15  Jim Wilson  <jimw@sifive.com>
+
+	* riscv-opc.c (match_c_nop): New.
+	(riscv_opcodes) <addi>: Handle an addi that compresses to c.nop.
+
+2018-01-15  Nick Clifton  <nickc@redhat.com>
+
+	* po/uk.po: Updated Ukranian translation.
+
+2018-01-13  Nick Clifton  <nickc@redhat.com>
+
+	* po/opcodes.pot: Regenerated.
+
+2018-01-13  Nick Clifton  <nickc@redhat.com>
+
+	* configure: Regenerate.
+
+2018-01-13  Nick Clifton  <nickc@redhat.com>
+
+	2.30 branch created.
+
+2018-01-11  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* i386-opc.tbl: Remove VL variants for 4FMAPS and 4VNNIW insns.
+	* i386-tbl.h: Regenerate.
+
+2018-01-10  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (v4fmaddss, v4fnmaddss): Adjust Disp8MemShift.
+	* i386-tbl.h: Re-generate.
+
+2018-01-10  Jan Beulich  <jbeulich@suse.com>
+
+	* i386-opc.tbl (vpcmpeqb, vpcmpleb, vpcmpltb, vpcmpneqb,
+	vpcmpnleb, vpcmpnltb, vpcmpequb, vpcmpleub, vpcmpltub,
+	vpcmpnequb, vpcmpnleub, vpcmpnltub, vpcmpeqw, vpcmplew,
+	vpcmpltw, vpcmpneqw, vpcmpnlew, vpcmpnltw, vpcmpequw, vpcmpleuw,
+	vpcmpltuw, vpcmpnequw, vpcmpnleuw, vpcmpnltuw): Adjust
+	Disp8MemShift of AVX512VL forms.
+	* i386-tbl.h: Re-generate.
+
+2018-01-09  Jim Wilson  <jimw@sifive.com>
+
+	* riscv-dis.c (maybe_print_address): If base_reg is zero,
+	then the hi_addr value is zero.
+
+2018-01-09  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* arm-dis.c (arm_opcodes): Add csdb.
+	(thumb32_opcodes): Add csdb.
+
+2018-01-09  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* aarch64-tbl.h (aarch64_opcode_table): Add "csdb".
+	* aarch64-asm-2.c: Regenerate.
+	* aarch64-dis-2.c: Regenerate.
+	* aarch64-opc-2.c: Regenerate.
+
+2018-01-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR gas/22681
+	* i386-opc.tbl: Properly encode vmovd with Qword memeory operand.
+	Remove AVX512 vmovd with 64-bit operands.
+	* i386-tbl.h: Regenerated.
+
+2018-01-05  Jim Wilson  <jimw@sifive.com>
+
+	* riscv-dis.c (print_insn_args) <'s'>: Call maybe_print_address for a
+	jalr.
+
 2018-01-03  Alan Modra  <amodra@gmail.com>
 
 	Update year range in copyright notice of all files.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/configure ./opcodes/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/configure	2018-07-10 02:06:14.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for opcodes 2.29.51.
+# Generated by GNU Autoconf 2.69 for opcodes 2.31.51.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -556,8 +587,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='opcodes'
 PACKAGE_TARNAME='opcodes'
-PACKAGE_VERSION='2.29.51'
-PACKAGE_STRING='opcodes 2.29.51'
+PACKAGE_VERSION='2.31.51'
+PACKAGE_STRING='opcodes 2.31.51'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -664,6 +695,10 @@ AR
 EGREP
 GREP
 CPP
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
@@ -758,6 +793,7 @@ ac_subst_files=''
 ac_user_opts='
 enable_option_checking
 enable_dependency_tracking
+enable_silent_rules
 enable_shared
 enable_static
 with_pic
@@ -843,8 +879,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -889,7 +926,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -915,7 +952,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1119,7 +1156,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1135,7 +1172,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1165,8 +1202,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1174,7 +1211,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1184,7 +1221,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1192,13 +1229,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1221,7 +1258,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1235,8 +1272,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1251,9 +1286,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1292,11 +1327,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1322,7 +1357,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures opcodes 2.29.51 to adapt to many kinds of systems.
+\`configure' configures opcodes 2.31.51 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1336,7 +1371,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1393,7 +1428,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of opcodes 2.29.51:";;
+     short | recursive ) echo "Configuration of opcodes 2.31.51:";;
    esac
   cat <<\_ACEOF
 
@@ -1401,8 +1436,12 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
   --enable-shared[=PKGS]  build shared libraries [default=no]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -1411,8 +1450,9 @@ Optional Features:
   --enable-targets        alternative target configurations
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-install-libbfd controls installation of libbfd and related headers
   --disable-nls           do not use Native Language Support
   --enable-cgen-maint=dir    build cgen generated files
@@ -1430,7 +1470,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1500,10 +1540,10 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-opcodes configure 2.29.51
-generated by GNU Autoconf 2.64
+opcodes configure 2.31.51
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1547,8 +1587,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1579,7 +1619,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1593,8 +1633,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1619,7 +1659,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1630,8 +1670,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1643,10 +1683,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1682,7 +1722,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1709,7 +1749,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1718,7 +1758,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1759,8 +1799,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1773,7 +1813,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1791,7 +1831,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1803,7 +1843,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1858,13 +1898,14 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
 ac_fn_c_check_decl ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
@@ -1872,7 +1913,7 @@ ac_fn_c_check_decl ()
   as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
 $as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1903,15 +1944,15 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_decl
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by opcodes $as_me 2.29.51, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+It was created by opcodes $as_me 2.31.51, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2021,11 +2062,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2059,11 +2098,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2076,11 +2113,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2094,11 +2129,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2153,7 +2186,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2164,18 +2202,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2244,7 +2286,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2264,16 +2306,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -2287,27 +2335,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -2325,14 +2373,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2340,7 +2388,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -2358,14 +2406,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2373,7 +2421,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -2395,6 +2443,9 @@ test -n "$target_alias" &&
   test "$program_prefix$program_suffix$program_transform_name" = \
     NONENONEs,x,x, &&
   program_prefix=${target_alias}-
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2405,7 +2456,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2417,7 +2468,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2445,7 +2496,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2457,7 +2508,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2498,7 +2549,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2510,7 +2561,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2538,7 +2589,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2551,7 +2602,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2597,7 +2648,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2609,7 +2660,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2641,7 +2692,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2653,7 +2704,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2695,8 +2746,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -2717,8 +2768,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -2735,12 +2786,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -2802,62 +2853,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -2887,19 +2904,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2939,8 +3015,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -2950,7 +3026,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2987,7 +3063,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3065,7 +3141,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -3074,8 +3150,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3160,10 +3235,69 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS con
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
 $as_echo_n "checking for library containing strerror... " >&6; }
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -3197,11 +3331,11 @@ for ac_lib in '' cposix; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_strerror+set}" = set; then :
+  if ${ac_cv_search_strerror+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_strerror+set}" = set; then :
+if ${ac_cv_search_strerror+:} false; then :
 
 else
   ac_cv_search_strerror=no
@@ -3218,7 +3352,7 @@ if test "$ac_res" != no; then :
 fi
 
 
-am__api_version='1.11'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -3237,7 +3371,7 @@ am__api_version='1.11'
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3257,7 +3391,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -3315,56 +3449,71 @@ test -z "$INSTALL_DATA" && INSTALL_DATA=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
 '
 case `pwd` in
   *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+	&& test "$*" != "X conftest.file $srcdir/configure"; then
 
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$2" = conftest.file
    )
 then
    # Ok.
    :
 else
-   as_fn_error "newly created file is older than distributed files!
+   as_fn_error $? "newly created file is older than distributed files!
 Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
 test "$program_prefix" != NONE &&
   program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
@@ -3375,9 +3524,6 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
@@ -3387,15 +3533,15 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3404,17 +3550,17 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -3426,7 +3572,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3454,7 +3600,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -3466,7 +3612,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3507,7 +3653,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
 if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then :
+  if ${ac_cv_path_mkdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3517,7 +3663,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_prog in mkdir gmkdir; do
 	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
 	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
 	     'mkdir (GNU coreutils) '* | \
 	     'mkdir (coreutils) '* | \
@@ -3532,6 +3678,7 @@ IFS=$as_save_IFS
 
 fi
 
+  test -d ./--version && rmdir ./--version
   if test "${ac_cv_path_mkdir+set}" = set; then
     MKDIR_P="$ac_cv_path_mkdir -p"
   else
@@ -3539,26 +3686,19 @@ fi
     # value for MKDIR_P within a source directory, because that will
     # break other packages using the cache if that directory is
     # removed, or if the value is a relative name.
-    test -d ./--version && rmdir ./--version
     MKDIR_P="$ac_install_sh -d"
   fi
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
 $as_echo "$MKDIR_P" >&6; }
 
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -3570,7 +3710,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3598,7 +3738,7 @@ done
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -3606,7 +3746,7 @@ SHELL = /bin/sh
 all:
 	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -3653,7 +3793,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -3697,13 +3837,52 @@ else
 fi
 
 
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
 if test "`cd $srcdir && pwd`" != "`pwd`"; then
   # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
   # is not polluted with repeated "-I."
   am__isrc=' -I$(srcdir)'
   # test to see if srcdir already configured
   if test -f $srcdir/config.status; then
-    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
   fi
 fi
 
@@ -3719,7 +3898,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='opcodes'
- VERSION='2.29.51'
+ VERSION='2.31.51'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3747,30 +3926,41 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_ru
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
 
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar  pax cpio none'
+
 am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
 
+
 depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -3805,16 +3995,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -3823,8 +4013,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -3832,7 +4022,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -3887,6 +4077,48 @@ fi
 
 
 
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
+
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -3898,7 +4130,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3910,7 +4142,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3938,7 +4170,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -3950,7 +4182,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3991,7 +4223,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4003,7 +4235,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4031,7 +4263,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4044,7 +4276,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4090,7 +4322,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4102,7 +4334,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4134,7 +4366,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4146,7 +4378,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4188,8 +4420,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4210,15 +4442,15 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4255,7 +4487,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4333,7 +4565,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4342,8 +4574,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4433,6 +4664,65 @@ ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
 $as_echo_n "checking how to run the C preprocessor... " >&6; }
 # On Suns, sometimes $CPP names a directory.
@@ -4440,7 +4730,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -4470,7 +4760,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -4486,11 +4776,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -4529,7 +4819,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -4545,18 +4835,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -4568,7 +4858,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -4582,7 +4872,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -4617,7 +4907,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -4631,7 +4921,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -4648,7 +4938,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -4683,7 +4973,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -4698,7 +4988,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4815,8 +5105,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -4828,7 +5117,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -4850,14 +5139,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -4895,7 +5184,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -4907,7 +5196,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4935,7 +5224,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -4947,7 +5236,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4987,7 +5276,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -4999,7 +5288,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5027,7 +5316,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -5039,7 +5328,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5203,7 +5492,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5223,7 +5512,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5258,7 +5547,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5285,7 +5574,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5302,7 +5591,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5337,7 +5626,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5416,7 +5705,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5453,10 +5742,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5483,7 +5772,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -5546,7 +5835,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -5558,7 +5847,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5590,7 +5879,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -5602,7 +5891,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5662,7 +5951,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -5697,7 +5986,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -5894,7 +6183,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -5930,7 +6219,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -5942,7 +6231,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5970,7 +6259,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -5982,7 +6271,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6029,7 +6318,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6250,7 +6539,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6262,7 +6551,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6290,7 +6579,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6302,7 +6591,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6355,7 +6644,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6367,7 +6656,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6395,7 +6684,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6407,7 +6696,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6454,7 +6743,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6466,7 +6755,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6494,7 +6783,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -6506,7 +6795,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6623,7 +6912,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7007,7 +7296,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7083,7 +7372,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7095,7 +7384,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7123,7 +7412,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7135,7 +7424,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7175,7 +7464,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7187,7 +7476,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7215,7 +7504,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7227,7 +7516,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7267,7 +7556,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7279,7 +7568,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7307,7 +7596,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7319,7 +7608,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7359,7 +7648,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7371,7 +7660,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7399,7 +7688,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7411,7 +7700,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7451,7 +7740,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -7463,7 +7752,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7491,7 +7780,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -7503,7 +7792,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7566,7 +7855,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -7595,7 +7884,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -7627,7 +7916,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -7694,7 +7983,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -7851,7 +8140,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -7929,7 +8218,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -7995,7 +8284,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -8137,7 +8426,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -8490,7 +8779,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -8549,7 +8838,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -8592,7 +8881,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -8647,7 +8936,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -9463,7 +9752,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -9835,7 +10124,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -10473,7 +10762,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -10893,7 +11182,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -10927,7 +11216,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -10941,12 +11230,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -10980,16 +11269,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11023,12 +11312,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11062,12 +11351,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11101,7 +11390,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -11142,7 +11431,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -11151,7 +11440,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11154 "configure"
+#line 11443 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11248,7 +11537,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -11257,7 +11546,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11260 "configure"
+#line 11549 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11498,7 +11787,7 @@ CC="$lt_save_CC"
 # Check whether --enable-targets was given.
 if test "${enable_targets+set}" = set; then :
   enableval=$enable_targets; case "${enableval}" in
-  yes | "") as_fn_error "enable-targets option must specify target names or 'all'" "$LINENO" 5
+  yes | "") as_fn_error $? "enable-targets option must specify target names or 'all'" "$LINENO" 5
             ;;
   no)       enable_targets= ;;
   *)        enable_targets=$enableval ;;
@@ -11594,7 +11883,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -11676,7 +11965,7 @@ for real_option in -Wno-missing-field-in
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
 $as_echo_n "checking whether $CC supports $option... " >&6; }
-if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_acx_Woption+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   CFLAGS="$option"
@@ -11722,7 +12011,7 @@ ac_config_headers="$ac_config_headers co
 
 
 if test -z "$target" ; then
-    as_fn_error "Unrecognized target system type; please check config.sub." "$LINENO" 5
+    as_fn_error $? "Unrecognized target system type; please check config.sub." "$LINENO" 5
 fi
 
 
@@ -11808,7 +12097,7 @@ fi
 
 # host-specific stuff:
 
-ALL_LINGUAS="fr sv tr es da de id pt_BR ro nl fi vi ga zh_CN it uk sr"
+ALL_LINGUAS="da de es fi fr ga id it nl pt_BR ro sr sv tr uk vi zh_CN"
 # If we haven't got the data from the intl directory,
 # assume NLS is disabled.
 USE_NLS=no
@@ -11942,7 +12231,7 @@ rm -f conf$$.file
 set dummy msgfmt; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGFMT+set}" = set; then :
+if ${ac_cv_path_MSGFMT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case "$MSGFMT" in
@@ -11982,7 +12271,7 @@ fi
 set dummy gmsgfmt; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GMSGFMT+set}" = set; then :
+if ${ac_cv_path_GMSGFMT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $GMSGFMT in
@@ -11996,7 +12285,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -12053,7 +12342,7 @@ rm -f conf$$.file
 set dummy xgettext; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XGETTEXT+set}" = set; then :
+if ${ac_cv_path_XGETTEXT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case "$XGETTEXT" in
@@ -12124,7 +12413,7 @@ rm -f conf$$.file
 set dummy msgmerge; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGMERGE+set}" = set; then :
+if ${ac_cv_path_MSGMERGE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case "$MSGMERGE" in
@@ -12205,7 +12494,7 @@ if test "x$cross_compiling" = "xno"; the
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for build system executable suffix" >&5
 $as_echo_n "checking for build system executable suffix... " >&6; }
-if test "${bfd_cv_build_exeext+set}" = set; then :
+if ${bfd_cv_build_exeext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f conftest*
@@ -12235,8 +12524,7 @@ for ac_header in string.h strings.h stdl
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -12247,7 +12535,7 @@ done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether string.h and strings.h may both be included" >&5
 $as_echo_n "checking whether string.h and strings.h may both be included... " >&6; }
-if test "${gcc_cv_header_string+set}" = set; then :
+if ${gcc_cv_header_string+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12279,7 +12567,7 @@ fi
 
 
 ac_fn_c_check_decl "$LINENO" "basename" "ac_cv_have_decl_basename" "$ac_includes_default"
-if test "x$ac_cv_have_decl_basename" = x""yes; then :
+if test "x$ac_cv_have_decl_basename" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12289,7 +12577,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_BASENAME $ac_have_decl
 _ACEOF
 ac_fn_c_check_decl "$LINENO" "stpcpy" "ac_cv_have_decl_stpcpy" "$ac_includes_default"
-if test "x$ac_cv_have_decl_stpcpy" = x""yes; then :
+if test "x$ac_cv_have_decl_stpcpy" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -12304,7 +12592,7 @@ _ACEOF
 # since sigsetjmp might only be defined as a macro.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5
 $as_echo_n "checking for sigsetjmp... " >&6; }
-if test "${gdb_cv_func_sigsetjmp+set}" = set; then :
+if ${gdb_cv_func_sigsetjmp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12367,7 +12655,7 @@ using_cgen=no
 # Check if linker supports --as-needed and --no-as-needed options
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker --as-needed support" >&5
 $as_echo_n "checking linker --as-needed support... " >&6; }
-if test "${bfd_cv_ld_as_needed+set}" = set; then :
+if ${bfd_cv_ld_as_needed+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   bfd_cv_ld_as_needed=no
@@ -12387,7 +12675,7 @@ case $host in
 *-ncr-sysv4.3*)
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _mwvalidcheckl in -lmw" >&5
 $as_echo_n "checking for _mwvalidcheckl in -lmw... " >&6; }
-if test "${ac_cv_lib_mw__mwvalidcheckl+set}" = set; then :
+if ${ac_cv_lib_mw__mwvalidcheckl+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12421,13 +12709,13 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mw__mwvalidcheckl" >&5
 $as_echo "$ac_cv_lib_mw__mwvalidcheckl" >&6; }
-if test "x$ac_cv_lib_mw__mwvalidcheckl" = x""yes; then :
+if test "x$ac_cv_lib_mw__mwvalidcheckl" = xyes; then :
   LIBM="-lmw"
 fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
 $as_echo_n "checking for cos in -lm... " >&6; }
-if test "${ac_cv_lib_m_cos+set}" = set; then :
+if ${ac_cv_lib_m_cos+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12461,7 +12749,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
 $as_echo "$ac_cv_lib_m_cos" >&6; }
-if test "x$ac_cv_lib_m_cos" = x""yes; then :
+if test "x$ac_cv_lib_m_cos" = xyes; then :
   LIBM="$LIBM -lm"
 fi
 
@@ -12469,7 +12757,7 @@ fi
 *)
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
 $as_echo_n "checking for cos in -lm... " >&6; }
-if test "${ac_cv_lib_m_cos+set}" = set; then :
+if ${ac_cv_lib_m_cos+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12503,7 +12791,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
 $as_echo "$ac_cv_lib_m_cos" >&6; }
-if test "x$ac_cv_lib_m_cos" = x""yes; then :
+if test "x$ac_cv_lib_m_cos" = xyes; then :
   LIBM="-lm"
 fi
 
@@ -12645,13 +12933,9 @@ if test x${all_targets} = xfalse ; then
 	bfd_ft32_arch)		ta="$ta ft32-opc.lo ft32-dis.lo" ;;
 	bfd_moxie_arch)		ta="$ta moxie-dis.lo moxie-opc.lo" ;;
 	bfd_h8300_arch)		ta="$ta h8300-dis.lo" ;;
-	bfd_h8500_arch)		ta="$ta h8500-dis.lo" ;;
 	bfd_hppa_arch)		ta="$ta hppa-dis.lo" ;;
-	bfd_i370_arch)		ta="$ta i370-dis.lo i370-opc.lo" ;;
 	bfd_i386_arch|bfd_iamcu_arch|bfd_l1om_arch|bfd_k1om_arch)
 				ta="$ta i386-dis.lo i386-opc.lo" ;;
-	bfd_i860_arch)		ta="$ta i860-dis.lo" ;;
-	bfd_i960_arch)		ta="$ta i960-dis.lo" ;;
 	bfd_ia64_arch)		ta="$ta ia64-dis.lo ia64-opc.lo" ;;
 	bfd_ip2k_arch)		ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;;
 	bfd_epiphany_arch)	ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;;
@@ -12663,8 +12947,8 @@ if test x${all_targets} = xfalse ; then
 	bfd_m68hc12_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
 	bfd_m9s12x_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
 	bfd_m9s12xg_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
+	bfd_s12z_arch)	ta="$ta s12z-dis.lo m68hc11-opc.lo" ;;
 	bfd_m68k_arch)		ta="$ta m68k-dis.lo m68k-opc.lo" ;;
-	bfd_m88k_arch)		ta="$ta m88k-dis.lo" ;;
 	bfd_mcore_arch)		ta="$ta mcore-dis.lo" ;;
 	bfd_mep_arch)		ta="$ta mep-asm.lo mep-desc.lo mep-dis.lo mep-ibld.lo mep-opc.lo" using_cgen=yes ;;
 	bfd_metag_arch)		ta="$ta metag-dis.lo" ;;
@@ -12676,6 +12960,7 @@ if test x${all_targets} = xfalse ; then
 	bfd_mt_arch)		ta="$ta mt-asm.lo mt-desc.lo mt-dis.lo mt-ibld.lo mt-opc.lo" using_cgen=yes ;;
 	bfd_msp430_arch)	ta="$ta msp430-dis.lo msp430-decode.lo" ;;
 	bfd_nds32_arch)		ta="$ta nds32-asm.lo nds32-dis.lo" ;;
+	bfd_nfp_arch)		ta="$ta nfp-dis.lo" ;;
 	bfd_nios2_arch)		ta="$ta nios2-dis.lo nios2-opc.lo" ;;
 	bfd_ns32k_arch)		ta="$ta ns32k-dis.lo" ;;
 	bfd_or1k_arch)		ta="$ta or1k-asm.lo or1k-desc.lo or1k-dis.lo or1k-ibld.lo or1k-opc.lo" using_cgen=yes ;;
@@ -12692,24 +12977,9 @@ if test x${all_targets} = xfalse ; then
 	bfd_rx_arch)		ta="$ta rx-dis.lo rx-decode.lo";;
 	bfd_s390_arch)		ta="$ta s390-dis.lo s390-opc.lo" ;;
 	bfd_score_arch)		ta="$ta score-dis.lo score7-dis.lo" ;;
-	bfd_sh_arch)
-	  # We can't decide what we want just from the CPU family.
-	  # We want SH5 support unless a specific version of sh is
-	  # specified, as in sh3-elf, sh3b-linux-gnu, etc.
-	  # Include it just for ELF targets, since the SH5 bfd:s are ELF only.
-	  for t in $target $canon_targets; do
-	    case $t in
-	      all |  sh5*-* | sh64*-* | sh-*-*elf* | shl*-*-*elf* | \
-	      sh-*-linux* | shl-*-linux*)
-				ta="$ta sh64-dis.lo sh64-opc.lo"
-				archdefs="$archdefs -DINCLUDE_SHMEDIA"
-				break;;
-	    esac;
-	  done
-				ta="$ta sh-dis.lo cgen-bitset.lo" ;;
+	bfd_sh_arch)		ta="$ta sh-dis.lo cgen-bitset.lo" ;;
 	bfd_sparc_arch)		ta="$ta sparc-dis.lo sparc-opc.lo" ;;
 	bfd_spu_arch)		ta="$ta spu-dis.lo spu-opc.lo" ;;
-	bfd_tahoe_arch)		;;
 	bfd_tic30_arch)		ta="$ta tic30-dis.lo" ;;
 	bfd_tic4x_arch)		ta="$ta tic4x-dis.lo" ;;
 	bfd_tic54x_arch)	ta="$ta tic54x-dis.lo tic54x-opc.lo" ;;
@@ -12723,9 +12993,7 @@ if test x${all_targets} = xfalse ; then
 	bfd_v850_rh850_arch)	ta="$ta v850-opc.lo v850-dis.lo" ;;
 	bfd_vax_arch)		ta="$ta vax-dis.lo" ;;
 	bfd_visium_arch)	ta="$ta visium-dis.lo visium-opc.lo" ;;
-	bfd_w65_arch)		ta="$ta w65-dis.lo" ;;
         bfd_wasm32_arch)        ta="$ta wasm32-dis.lo" ;;
-	bfd_we32k_arch)		;;
 	bfd_xc16x_arch)		ta="$ta xc16x-asm.lo xc16x-desc.lo xc16x-dis.lo xc16x-ibld.lo xc16x-opc.lo" using_cgen=yes ;;
 	bfd_xgate_arch)		ta="$ta xgate-dis.lo xgate-opc.lo" ;;
 	bfd_xstormy16_arch)	ta="$ta xstormy16-asm.lo xstormy16-desc.lo xstormy16-dis.lo xstormy16-ibld.lo xstormy16-opc.lo" using_cgen=yes ;;
@@ -12734,7 +13002,7 @@ if test x${all_targets} = xfalse ; then
 	bfd_z8k_arch)		ta="$ta z8k-dis.lo" ;;
 
 	"")			;;
-	*)		as_fn_error "*** unknown target architecture $arch" "$LINENO" 5 ;;
+	*)		as_fn_error $? "*** unknown target architecture $arch" "$LINENO" 5 ;;
 	esac
     done
 
@@ -12838,10 +13106,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -12857,6 +13136,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -12871,12 +13151,20 @@ LIBOBJS=$ac_libobjs
 LTLIBOBJS=$ac_ltlibobjs
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error "conditional \"AMDEP\" was never defined.
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
  if test -n "$EXEEXT"; then
@@ -12888,19 +13176,19 @@ else
 fi
 
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${INSTALL_LIBBFD_TRUE}" && test -z "${INSTALL_LIBBFD_FALSE}"; then
-  as_fn_error "conditional \"INSTALL_LIBBFD\" was never defined.
+  as_fn_error $? "conditional \"INSTALL_LIBBFD\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${CGEN_MAINT_TRUE}" && test -z "${CGEN_MAINT_FALSE}"; then
-  as_fn_error "conditional \"CGEN_MAINT\" was never defined.
+  as_fn_error $? "conditional \"CGEN_MAINT\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13001,6 +13289,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13046,19 +13335,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -13196,16 +13485,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -13254,7 +13543,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -13265,28 +13554,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -13307,8 +13584,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by opcodes $as_me 2.29.51, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+This file was extended by opcodes $as_me 2.31.51, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -13348,6 +13625,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -13370,12 +13648,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-opcodes config.status 2.29.51
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+opcodes config.status 2.31.51
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -13393,11 +13672,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -13411,12 +13695,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -13429,7 +13716,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -13438,7 +13725,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -13458,7 +13745,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -13766,7 +14053,7 @@ do
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in:po/Make-in" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -13789,9 +14076,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -13799,12 +14087,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -13821,12 +14110,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -13835,18 +14124,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -13854,7 +14143,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -13868,7 +14157,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -13882,7 +14171,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -13902,7 +14191,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -13934,21 +14223,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -13960,7 +14257,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -13972,11 +14269,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14061,7 +14358,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14074,7 +14371,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -14093,7 +14390,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -14102,7 +14399,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -14128,8 +14425,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -14265,23 +14562,24 @@ s&@INSTALL@&$ac_INSTALL&;t t
 s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -14290,21 +14588,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
 # Compute "$ac_file"'s index in $config_headers.
 _am_arg="$ac_file"
@@ -14350,7 +14648,7 @@ echo "timestamp for $_am_arg" >`$as_dirn
 
   case $ac_file$ac_mode in
     "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -14363,7 +14661,7 @@ echo "timestamp for $_am_arg" >`$as_dirn
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -14397,21 +14695,19 @@ echo "timestamp for $_am_arg" >`$as_dirn
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
+    test -z "$am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`$as_dirname -- "$file" ||
@@ -15194,7 +15490,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15215,7 +15511,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/configure.ac ./opcodes/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/configure.ac	2018-07-10 02:06:14.000000000 +0000
@@ -17,7 +17,6 @@ dnl along with this program; see the fil
 dnl <http://www.gnu.org/licenses/>.
 dnl
 
-AC_PREREQ(2.59)
 m4_include([../bfd/version.m4])
 AC_INIT([opcodes], BFD_VERSION)
 AC_CONFIG_SRCDIR([z8k-dis.c])
@@ -76,7 +75,7 @@ AC_EXEEXT
 
 # host-specific stuff:
 
-ALL_LINGUAS="fr sv tr es da de id pt_BR ro nl fi vi ga zh_CN it uk sr"
+ALL_LINGUAS="da de es fi fr ga id it nl pt_BR ro sr sv tr uk vi zh_CN"
 ZW_GNU_GETTEXT_SISTER_DIR
 AM_PO_SUBDIRS
 
@@ -269,13 +268,9 @@ if test x${all_targets} = xfalse ; then
 	bfd_ft32_arch)		ta="$ta ft32-opc.lo ft32-dis.lo" ;;
 	bfd_moxie_arch)		ta="$ta moxie-dis.lo moxie-opc.lo" ;;
 	bfd_h8300_arch)		ta="$ta h8300-dis.lo" ;;
-	bfd_h8500_arch)		ta="$ta h8500-dis.lo" ;;
 	bfd_hppa_arch)		ta="$ta hppa-dis.lo" ;;
-	bfd_i370_arch)		ta="$ta i370-dis.lo i370-opc.lo" ;;
 	bfd_i386_arch|bfd_iamcu_arch|bfd_l1om_arch|bfd_k1om_arch)
 				ta="$ta i386-dis.lo i386-opc.lo" ;;
-	bfd_i860_arch)		ta="$ta i860-dis.lo" ;;
-	bfd_i960_arch)		ta="$ta i960-dis.lo" ;;
 	bfd_ia64_arch)		ta="$ta ia64-dis.lo ia64-opc.lo" ;;
 	bfd_ip2k_arch)		ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;;
 	bfd_epiphany_arch)	ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;;
@@ -287,8 +282,8 @@ if test x${all_targets} = xfalse ; then
 	bfd_m68hc12_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
 	bfd_m9s12x_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
 	bfd_m9s12xg_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
+	bfd_s12z_arch)	ta="$ta s12z-dis.lo m68hc11-opc.lo" ;;
 	bfd_m68k_arch)		ta="$ta m68k-dis.lo m68k-opc.lo" ;;
-	bfd_m88k_arch)		ta="$ta m88k-dis.lo" ;;
 	bfd_mcore_arch)		ta="$ta mcore-dis.lo" ;;
 	bfd_mep_arch)		ta="$ta mep-asm.lo mep-desc.lo mep-dis.lo mep-ibld.lo mep-opc.lo" using_cgen=yes ;;
 	bfd_metag_arch)		ta="$ta metag-dis.lo" ;;
@@ -300,6 +295,7 @@ if test x${all_targets} = xfalse ; then
 	bfd_mt_arch)		ta="$ta mt-asm.lo mt-desc.lo mt-dis.lo mt-ibld.lo mt-opc.lo" using_cgen=yes ;;
 	bfd_msp430_arch)	ta="$ta msp430-dis.lo msp430-decode.lo" ;;
 	bfd_nds32_arch)		ta="$ta nds32-asm.lo nds32-dis.lo" ;;
+	bfd_nfp_arch)		ta="$ta nfp-dis.lo" ;;
 	bfd_nios2_arch)		ta="$ta nios2-dis.lo nios2-opc.lo" ;;
 	bfd_ns32k_arch)		ta="$ta ns32k-dis.lo" ;;
 	bfd_or1k_arch)		ta="$ta or1k-asm.lo or1k-desc.lo or1k-dis.lo or1k-ibld.lo or1k-opc.lo" using_cgen=yes ;;
@@ -316,24 +312,9 @@ if test x${all_targets} = xfalse ; then
 	bfd_rx_arch)		ta="$ta rx-dis.lo rx-decode.lo";;
 	bfd_s390_arch)		ta="$ta s390-dis.lo s390-opc.lo" ;;
 	bfd_score_arch)		ta="$ta score-dis.lo score7-dis.lo" ;;
-	bfd_sh_arch)
-	  # We can't decide what we want just from the CPU family.
-	  # We want SH5 support unless a specific version of sh is
-	  # specified, as in sh3-elf, sh3b-linux-gnu, etc.
-	  # Include it just for ELF targets, since the SH5 bfd:s are ELF only.
-	  for t in $target $canon_targets; do
-	    case $t in
-	      all |  sh5*-* | sh64*-* | sh-*-*elf* | shl*-*-*elf* | \
-	      sh-*-linux* | shl-*-linux*)
-				ta="$ta sh64-dis.lo sh64-opc.lo"
-				archdefs="$archdefs -DINCLUDE_SHMEDIA"
-				break;;
-	    esac;
-	  done
-				ta="$ta sh-dis.lo cgen-bitset.lo" ;;
+	bfd_sh_arch)		ta="$ta sh-dis.lo cgen-bitset.lo" ;;
 	bfd_sparc_arch)		ta="$ta sparc-dis.lo sparc-opc.lo" ;;
 	bfd_spu_arch)		ta="$ta spu-dis.lo spu-opc.lo" ;;
-	bfd_tahoe_arch)		;;
 	bfd_tic30_arch)		ta="$ta tic30-dis.lo" ;;
 	bfd_tic4x_arch)		ta="$ta tic4x-dis.lo" ;;
 	bfd_tic54x_arch)	ta="$ta tic54x-dis.lo tic54x-opc.lo" ;;
@@ -347,9 +328,7 @@ if test x${all_targets} = xfalse ; then
 	bfd_v850_rh850_arch)	ta="$ta v850-opc.lo v850-dis.lo" ;;
 	bfd_vax_arch)		ta="$ta vax-dis.lo" ;;
 	bfd_visium_arch)	ta="$ta visium-dis.lo visium-opc.lo" ;;
-	bfd_w65_arch)		ta="$ta w65-dis.lo" ;;
         bfd_wasm32_arch)        ta="$ta wasm32-dis.lo" ;;
-	bfd_we32k_arch)		;;
 	bfd_xc16x_arch)		ta="$ta xc16x-asm.lo xc16x-desc.lo xc16x-dis.lo xc16x-ibld.lo xc16x-opc.lo" using_cgen=yes ;;
 	bfd_xgate_arch)		ta="$ta xgate-dis.lo xgate-opc.lo" ;;
 	bfd_xstormy16_arch)	ta="$ta xstormy16-asm.lo xstormy16-desc.lo xstormy16-dis.lo xstormy16-ibld.lo xstormy16-opc.lo" using_cgen=yes ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/cr16-opc.c ./opcodes/cr16-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/cr16-opc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/cr16-opc.c	2018-07-10 02:06:14.000000000 +0000
@@ -276,7 +276,7 @@ const inst cr16_instruction[] =
   {"storm",  1, 0x16, 19, NO_TYPE_INS | REG_LIST, {{uimm3_1,16}}},
   {"stormp", 1, 0x17, 19, NO_TYPE_INS | REG_LIST, {{uimm3_1,16}}},
 
- /* Processor Regsiter Manipulation instructions  */
+ /* Processor Register Manipulation instructions  */
   /* opc16 reg, preg */
   {"lpr",  2, 0x00140, 12, NO_TYPE_INS, {{regr,0}, {pregr,4}}},
   /* opc16 regp, pregp */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/crx-dis.c ./opcodes/crx-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/crx-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/crx-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -244,7 +244,7 @@ powerof2 (int x)
 void
 getregliststring (int mask, char *string, enum REG_ARG_TYPE core_cop)
 {
-  char temp_string[5];
+  char temp_string[16];
   int i;
 
   string[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.1.0.20180703/opcodes/d30v-dis.c ./opcodes/d30v-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/d30v-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/d30v-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -225,7 +225,9 @@ print_insn (struct disassemble_info *inf
 		  val |= OPERAND_FLAG;
 		  break;
 		default:
-		  fprintf (stderr, "illegal id (%d)\n", id);
+		  /* xgettext: c-format */
+		  opcodes_error_handler (_("illegal id (%d)"), id);
+		  abort ();
 		}
 	    }
 	  else if (oper->flags & OPERAND_ACC)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/disassemble.c ./opcodes/disassemble.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/disassemble.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/disassemble.c	2018-07-10 02:06:14.000000000 +0000
@@ -41,12 +41,8 @@
 #define ARCH_frv
 #define ARCH_ft32
 #define ARCH_h8300
-#define ARCH_h8500
 #define ARCH_hppa
-#define ARCH_i370
 #define ARCH_i386
-#define ARCH_i860
-#define ARCH_i960
 #define ARCH_ia64
 #define ARCH_ip2k
 #define ARCH_iq2000
@@ -56,7 +52,6 @@
 #define ARCH_m68hc11
 #define ARCH_m68hc12
 #define ARCH_m68k
-#define ARCH_m88k
 #define ARCH_mcore
 #define ARCH_mep
 #define ARCH_metag
@@ -69,6 +64,7 @@
 #define ARCH_mt
 #define ARCH_msp430
 #define ARCH_nds32
+#define ARCH_nfp
 #define ARCH_nios2
 #define ARCH_ns32k
 #define ARCH_or1k
@@ -76,6 +72,7 @@
 #define ARCH_pj
 #define ARCH_powerpc
 #define ARCH_pru
+#define ARCH_riscv
 #define ARCH_rs6000
 #define ARCH_rl78
 #define ARCH_rx
@@ -94,7 +91,6 @@
 #define ARCH_v850
 #define ARCH_vax
 #define ARCH_visium
-#define ARCH_w65
 #define ARCH_wasm32
 #define ARCH_xstormy16
 #define ARCH_xc16x
@@ -102,7 +98,6 @@
 #define ARCH_xtensa
 #define ARCH_z80
 #define ARCH_z8k
-#define INCLUDE_SHMEDIA
 #endif
 
 #ifdef ARCH_m32c
@@ -198,21 +193,11 @@ disassembler (enum bfd_architecture a,
 	disassemble = print_insn_h8300;
       break;
 #endif
-#ifdef ARCH_h8500
-    case bfd_arch_h8500:
-      disassemble = print_insn_h8500;
-      break;
-#endif
 #ifdef ARCH_hppa
     case bfd_arch_hppa:
       disassemble = print_insn_hppa;
       break;
 #endif
-#ifdef ARCH_i370
-    case bfd_arch_i370:
-      disassemble = print_insn_i370;
-      break;
-#endif
 #ifdef ARCH_i386
     case bfd_arch_i386:
     case bfd_arch_iamcu:
@@ -221,16 +206,6 @@ disassembler (enum bfd_architecture a,
       disassemble = print_insn_i386;
       break;
 #endif
-#ifdef ARCH_i860
-    case bfd_arch_i860:
-      disassemble = print_insn_i860;
-      break;
-#endif
-#ifdef ARCH_i960
-    case bfd_arch_i960:
-      disassemble = print_insn_i960;
-      break;
-#endif
 #ifdef ARCH_ia64
     case bfd_arch_ia64:
       disassemble = print_insn_ia64;
@@ -276,16 +251,16 @@ disassembler (enum bfd_architecture a,
       disassemble = print_insn_m9s12xg;
       break;
 #endif
+#if defined(ARCH_s12z)
+    case bfd_arch_s12z:
+      disassemble = print_insn_s12z;
+      break;
+#endif
 #ifdef ARCH_m68k
     case bfd_arch_m68k:
       disassemble = print_insn_m68k;
       break;
 #endif
-#ifdef ARCH_m88k
-    case bfd_arch_m88k:
-      disassemble = print_insn_m88k;
-      break;
-#endif
 #ifdef ARCH_mt
     case bfd_arch_mt:
       disassemble = print_insn_mt;
@@ -306,6 +281,11 @@ disassembler (enum bfd_architecture a,
       disassemble = print_insn_nds32;
       break;
 #endif
+#ifdef ARCH_nfp
+    case bfd_arch_nfp:
+      disassemble = print_insn_nfp;
+      break;
+#endif
 #ifdef ARCH_ns32k
     case bfd_arch_ns32k:
       disassemble = print_insn_ns32k;
@@ -374,6 +354,11 @@ disassembler (enum bfd_architecture a,
 #endif
 #ifdef ARCH_powerpc
     case bfd_arch_powerpc:
+#endif
+#ifdef ARCH_rs6000
+    case bfd_arch_rs6000:
+#endif
+#if defined ARCH_powerpc || defined ARCH_rs6000
       if (big)
 	disassemble = print_insn_big_powerpc;
       else
@@ -390,14 +375,6 @@ disassembler (enum bfd_architecture a,
       disassemble = print_insn_riscv;
       break;
 #endif
-#ifdef ARCH_rs6000
-    case bfd_arch_rs6000:
-      if (mach == bfd_mach_ppc_620)
-	disassemble = print_insn_big_powerpc;
-      else
-	disassemble = print_insn_rs6000;
-      break;
-#endif
 #ifdef ARCH_rl78
     case bfd_arch_rl78:
       disassemble = rl78_get_disassembler (abfd);
@@ -472,11 +449,6 @@ disassembler (enum bfd_architecture a,
       disassemble = print_insn_v850;
       break;
 #endif
-#ifdef ARCH_w65
-    case bfd_arch_w65:
-      disassemble = print_insn_w65;
-      break;
-#endif
 #ifdef ARCH_wasm32
     case bfd_arch_wasm32:
       disassemble = print_insn_wasm32;
@@ -576,6 +548,9 @@ disassembler_usage (FILE *stream ATTRIBU
 #ifdef ARCH_mips
   print_mips_disassembler_options (stream);
 #endif
+#ifdef ARCH_nfp
+  print_nfp_disassembler_options (stream);
+#endif
 #ifdef ARCH_powerpc
   print_ppc_disassembler_options (stream);
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/disassemble.h ./opcodes/disassemble.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/disassemble.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/disassemble.h	2018-07-10 02:06:14.000000000 +0000
@@ -42,14 +42,10 @@ extern int print_insn_ft32		(bfd_vma, di
 extern int print_insn_h8300		(bfd_vma, disassemble_info *);
 extern int print_insn_h8300h		(bfd_vma, disassemble_info *);
 extern int print_insn_h8300s		(bfd_vma, disassemble_info *);
-extern int print_insn_h8500		(bfd_vma, disassemble_info *);
 extern int print_insn_hppa		(bfd_vma, disassemble_info *);
-extern int print_insn_i370		(bfd_vma, disassemble_info *);
 extern int print_insn_i386		(bfd_vma, disassemble_info *);
 extern int print_insn_i386_att		(bfd_vma, disassemble_info *);
 extern int print_insn_i386_intel	(bfd_vma, disassemble_info *);
-extern int print_insn_i860		(bfd_vma, disassemble_info *);
-extern int print_insn_i960		(bfd_vma, disassemble_info *);
 extern int print_insn_ia64		(bfd_vma, disassemble_info *);
 extern int print_insn_ip2k		(bfd_vma, disassemble_info *);
 extern int print_insn_iq2000		(bfd_vma, disassemble_info *);
@@ -65,8 +61,8 @@ extern int print_insn_m68hc11		(bfd_vma,
 extern int print_insn_m68hc12		(bfd_vma, disassemble_info *);
 extern int print_insn_m9s12x		(bfd_vma, disassemble_info *);
 extern int print_insn_m9s12xg		(bfd_vma, disassemble_info *);
+extern int print_insn_s12z		(bfd_vma, disassemble_info *);
 extern int print_insn_m68k		(bfd_vma, disassemble_info *);
-extern int print_insn_m88k		(bfd_vma, disassemble_info *);
 extern int print_insn_mcore		(bfd_vma, disassemble_info *);
 extern int print_insn_metag		(bfd_vma, disassemble_info *);
 extern int print_insn_microblaze	(bfd_vma, disassemble_info *);
@@ -77,14 +73,13 @@ extern int print_insn_moxie		(bfd_vma, d
 extern int print_insn_msp430		(bfd_vma, disassemble_info *);
 extern int print_insn_mt                (bfd_vma, disassemble_info *);
 extern int print_insn_nds32		(bfd_vma, disassemble_info *);
+extern int print_insn_nfp		(bfd_vma, disassemble_info *);
 extern int print_insn_ns32k		(bfd_vma, disassemble_info *);
 extern int print_insn_or1k		(bfd_vma, disassemble_info *);
 extern int print_insn_pdp11		(bfd_vma, disassemble_info *);
 extern int print_insn_pj		(bfd_vma, disassemble_info *);
 extern int print_insn_pru		(bfd_vma, disassemble_info *);
-extern int print_insn_rs6000		(bfd_vma, disassemble_info *);
 extern int print_insn_s390		(bfd_vma, disassemble_info *);
-extern int print_insn_sh64		(bfd_vma, disassemble_info *);
 extern int print_insn_spu		(bfd_vma, disassemble_info *);
 extern int print_insn_tic30		(bfd_vma, disassemble_info *);
 extern int print_insn_tic4x		(bfd_vma, disassemble_info *);
@@ -96,7 +91,6 @@ extern int print_insn_tilepro		(bfd_vma,
 extern int print_insn_v850		(bfd_vma, disassemble_info *);
 extern int print_insn_vax		(bfd_vma, disassemble_info *);
 extern int print_insn_visium		(bfd_vma, disassemble_info *);
-extern int print_insn_w65		(bfd_vma, disassemble_info *);
 extern int print_insn_wasm32		(bfd_vma, disassemble_info *);
 extern int print_insn_xc16x		(bfd_vma, disassemble_info *);
 extern int print_insn_xgate             (bfd_vma, disassemble_info *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/epiphany-asm.c ./opcodes/epiphany-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/epiphany-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/epiphany-asm.c	2018-07-10 02:06:14.000000000 +0000
@@ -452,7 +452,9 @@ epiphany_cgen_parse_operand (CGEN_CPU_DE
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/epiphany-desc.c ./opcodes/epiphany-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/epiphany-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/epiphany-desc.c	2018-07-10 02:06:14.000000000 +0000
@@ -1939,6 +1939,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -2099,8 +2104,11 @@ epiphany_cgen_rebuild_tables (CGEN_CPU_T
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: epiphany_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -2179,8 +2187,11 @@ epiphany_cgen_cpu_open (enum cgen_cpu_op
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "epiphany_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: epiphany_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -2195,7 +2206,9 @@ epiphany_cgen_cpu_open (enum cgen_cpu_op
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "epiphany_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: epiphany_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/epiphany-dis.c ./opcodes/epiphany-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/epiphany-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/epiphany-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -275,9 +275,10 @@ epiphany_cgen_print_operand (CGEN_CPU_DE
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/epiphany-ibld.c ./opcodes/epiphany-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/epiphany-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/epiphany-ibld.c	2018-07-10 02:06:14.000000000 +0000
@@ -876,8 +876,9 @@ epiphany_cgen_insert_operand (CGEN_CPU_D
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -1170,8 +1171,9 @@ epiphany_cgen_extract_operand (CGEN_CPU_
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -1313,8 +1315,9 @@ epiphany_cgen_get_int_operand (CGEN_CPU_
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -1438,8 +1441,9 @@ epiphany_cgen_get_vma_operand (CGEN_CPU_
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -1570,8 +1574,9 @@ epiphany_cgen_set_int_operand (CGEN_CPU_
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -1692,8 +1697,9 @@ epiphany_cgen_set_vma_operand (CGEN_CPU_
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/fr30-asm.c ./opcodes/fr30-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/fr30-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/fr30-asm.c	2018-07-10 02:06:14.000000000 +0000
@@ -307,7 +307,9 @@ fr30_cgen_parse_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/fr30-desc.c ./opcodes/fr30-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/fr30-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/fr30-desc.c	2018-07-10 02:06:14.000000000 +0000
@@ -1416,6 +1416,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -1576,8 +1581,11 @@ fr30_cgen_rebuild_tables (CGEN_CPU_TABLE
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: fr30_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -1656,8 +1664,11 @@ fr30_cgen_cpu_open (enum cgen_cpu_open_a
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "fr30_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: fr30_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -1672,7 +1683,9 @@ fr30_cgen_cpu_open (enum cgen_cpu_open_a
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "fr30_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: fr30_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/fr30-dis.c ./opcodes/fr30-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/fr30-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/fr30-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -296,9 +296,10 @@ fr30_cgen_print_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/fr30-ibld.c ./opcodes/fr30-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/fr30-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/fr30-ibld.c	2018-07-10 02:06:14.000000000 +0000
@@ -731,8 +731,9 @@ fr30_cgen_insert_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -936,8 +937,9 @@ fr30_cgen_extract_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -1082,8 +1084,9 @@ fr30_cgen_get_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -1210,8 +1213,9 @@ fr30_cgen_get_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -1341,8 +1345,9 @@ fr30_cgen_set_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -1462,8 +1467,9 @@ fr30_cgen_set_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/frv-asm.c ./opcodes/frv-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/frv-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/frv-asm.c	2018-07-10 02:06:14.000000000 +0000
@@ -1260,7 +1260,9 @@ frv_cgen_parse_operand (CGEN_CPU_DESC cd
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/frv-desc.c ./opcodes/frv-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/frv-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/frv-desc.c	2018-07-10 02:06:14.000000000 +0000
@@ -6156,6 +6156,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -6316,8 +6321,11 @@ frv_cgen_rebuild_tables (CGEN_CPU_TABLE 
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: frv_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -6396,8 +6404,11 @@ frv_cgen_cpu_open (enum cgen_cpu_open_ar
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "frv_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: frv_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -6412,7 +6423,9 @@ frv_cgen_cpu_open (enum cgen_cpu_open_ar
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "frv_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: frv_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/frv-dis.c ./opcodes/frv-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/frv-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/frv-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -393,9 +393,10 @@ frv_cgen_print_operand (CGEN_CPU_DESC cd
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/frv-ibld.c ./opcodes/frv-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/frv-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/frv-ibld.c	2018-07-10 02:06:14.000000000 +0000
@@ -857,8 +857,9 @@ frv_cgen_insert_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -1174,8 +1175,9 @@ frv_cgen_extract_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -1452,8 +1454,9 @@ frv_cgen_get_int_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -1712,8 +1715,9 @@ frv_cgen_get_vma_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -1979,8 +1983,9 @@ frv_cgen_set_int_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -2236,8 +2241,9 @@ frv_cgen_set_vma_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/frv-opc.c ./opcodes/frv-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/frv-opc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/frv-opc.c	2018-07-10 02:06:14.000000000 +0000
@@ -32,6 +32,7 @@ This file is part of the GNU Binutils an
 #include "libiberty.h"
 
 /* -- opc.c */
+#include "opintl.h"
 #include "elf/frv.h"
 #include <stdio.h>
 
@@ -454,9 +455,9 @@ add_next_to_vliw (FRV_VLIW *vliw, CGEN_A
 
   if (next <= 0)
     {
-      fprintf (stderr, "frv-opc.c line %d: bad vliw->next_slot value.\n",
-	       __LINE__);
-      abort (); /* Should never happen.  */
+      /* xgettext:c-format */
+      opcodes_error_handler (_("internal error: bad vliw->next_slot value"));
+      abort ();
     }
 
   /* The table is sorted by units allowed within slots, so vliws with
@@ -764,8 +765,8 @@ fr500_check_insn_major_constraints (FRV_
 	&&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_6)
 	&&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_7);
     default:
-      fprintf (stderr, "frv-opc.c, line %d: bad major code, aborting.\n",
-	       __LINE__);
+      /* xgettext:c-format */
+      opcodes_error_handler (_("internal error: bad major code"));
       abort ();
       break;
     }
@@ -814,9 +815,9 @@ frv_vliw_add_insn (FRV_VLIW *vliw, const
   unit = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_UNIT);
   if (unit == UNIT_NIL)
     {
-      fprintf (stderr, "frv-opc.c line %d: bad insn unit.\n",
-	       __LINE__);
-      abort (); /* No UNIT specified for this insn in frv.cpu.  */
+      /* xgettext:c-format */
+      opcodes_error_handler (_("internal error: bad insn unit"));
+      abort ();
     }
 
   switch (vliw->mach)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/h8300-dis.c ./opcodes/h8300-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/h8300-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/h8300-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -59,7 +59,8 @@ bfd_h8_disassemble_init (void)
 
       if (i & 1)
 	{
-	  fprintf (stderr, "Internal error, h8_disassemble_init.\n");
+	  /* xgettext:c-format */
+	  opcodes_error_handler (_("internal error, h8_disassemble_init"));
 	  abort ();
 	}
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/h8500-dis.c ./opcodes/h8500-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/h8500-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/h8500-dis.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,325 +0,0 @@
-/* Disassemble h8500 instructions.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include <stdio.h>
-
-#define DISASSEMBLER_TABLE
-#define DEFINE_TABLE
-
-#include "h8500-opc.h"
-#include "disassemble.h"
-#include "opintl.h"
-
-/* Maximum length of an instruction.  */
-#define MAXLEN 8
-
-#include <setjmp.h>
-
-struct private
-{
-  /* Points to first byte not fetched.  */
-  bfd_byte *max_fetched;
-  bfd_byte the_buffer[MAXLEN];
-  bfd_vma insn_start;
-  OPCODES_SIGJMP_BUF bailout;
-};
-
-/* Make sure that bytes from INFO->PRIVATE_DATA->BUFFER (inclusive)
-   to ADDR (exclusive) are valid.  Returns 1 for success, longjmps
-   on error.  */
-#define FETCH_DATA(info, addr) \
-  ((addr) <= ((struct private *)(info->private_data))->max_fetched \
-   ? 1 : fetch_data ((info), (addr)))
-
-static int
-fetch_data (struct disassemble_info *info, bfd_byte *addr)
-{
-  int status;
-  struct private *priv = (struct private *) info->private_data;
-  bfd_vma start = priv->insn_start + (priv->max_fetched - priv->the_buffer);
-
-  status = (*info->read_memory_func) (start,
-				      priv->max_fetched,
-				      addr - priv->max_fetched,
-				      info);
-  if (status != 0)
-    {
-      (*info->memory_error_func) (status, start, info);
-      OPCODES_SIGLONGJMP (priv->bailout, 1);
-    }
-  else
-    priv->max_fetched = addr;
-  return 1;
-}
-
-static char *crname[] = { "sr", "ccr", "*", "br", "ep", "dp", "*", "tp" };
-
-int
-print_insn_h8500 (bfd_vma addr, disassemble_info *info)
-{
-  const h8500_opcode_info *opcode;
-  void *stream = info->stream;
-  fprintf_ftype func = info->fprintf_func;
-  struct private priv;
-  bfd_byte *buffer = priv.the_buffer;
-
-  info->private_data = (PTR) & priv;
-  priv.max_fetched = priv.the_buffer;
-  priv.insn_start = addr;
-  if (OPCODES_SIGSETJMP (priv.bailout) != 0)
-    /* Error return.  */
-    return -1;
-
-  /* Run down the table to find the one which matches.  */
-  for (opcode = h8500_table; opcode->name; opcode++)
-    {
-      int byte;
-      int rn = 0;
-      int rd = 0;
-      int rs = 0;
-      int disp = 0;
-      int abs_val = 0;
-      int imm = 0;
-      int pcrel = 0;
-      int qim = 0;
-      int i;
-      int cr = 0;
-
-      for (byte = 0; byte < opcode->length; byte++)
-	{
-	  FETCH_DATA (info, buffer + byte + 1);
-	  if ((buffer[byte] & opcode->bytes[byte].mask)
-	      != (opcode->bytes[byte].contents))
-	    goto next;
-
-	  else
-	    {
-	      /* Extract any info parts.  */
-	      switch (opcode->bytes[byte].insert)
-		{
-		case 0:
-		case FP:
-		  break;
-		default:
-		  /* xgettext:c-format */
-		  func (stream, _("can't cope with insert %d\n"),
-			opcode->bytes[byte].insert);
-		  break;
-		case RN:
-		  rn = buffer[byte] & 0x7;
-		  break;
-		case RS:
-		  rs = buffer[byte] & 0x7;
-		  break;
-		case CRB:
-		  cr = buffer[byte] & 0x7;
-		  if (cr == 0)
-		    goto next;
-		  break;
-		case CRW:
-		  cr = buffer[byte] & 0x7;
-		  if (cr != 0)
-		    goto next;
-		  break;
-		case DISP16:
-		  FETCH_DATA (info, buffer + byte + 2);
-		  disp = (buffer[byte] << 8) | (buffer[byte + 1]);
-		  break;
-		case FPIND_D8:
-		case DISP8:
-		  disp = ((char) (buffer[byte]));
-		  break;
-		case RD:
-		case RDIND:
-		  rd = buffer[byte] & 0x7;
-		  break;
-		case ABS24:
-		  FETCH_DATA (info, buffer + byte + 3);
-		  abs_val =
-		    (buffer[byte] << 16)
-		    | (buffer[byte + 1] << 8)
-		    | (buffer[byte + 2]);
-		  break;
-		case ABS16:
-		  FETCH_DATA (info, buffer + byte + 2);
-		  abs_val = (buffer[byte] << 8) | (buffer[byte + 1]);
-		  break;
-		case ABS8:
-		  abs_val = (buffer[byte]);
-		  break;
-		case IMM16:
-		  FETCH_DATA (info, buffer + byte + 2);
-		  imm = (buffer[byte] << 8) | (buffer[byte + 1]);
-		  break;
-		case IMM4:
-		  imm = (buffer[byte]) & 0xf;
-		  break;
-		case IMM8:
-		case RLIST:
-		  imm = (buffer[byte]);
-		  break;
-		case PCREL16:
-		  FETCH_DATA (info, buffer + byte + 2);
-		  pcrel = (buffer[byte] << 8) | (buffer[byte + 1]);
-		  break;
-		case PCREL8:
-		  pcrel = (buffer[byte]);
-		  break;
-		case QIM:
-		  switch (buffer[byte] & 0x7)
-		    {
-		    case 0:
-		      qim = 1;
-		      break;
-		    case 1:
-		      qim = 2;
-		      break;
-		    case 4:
-		      qim = -1;
-		      break;
-		    case 5:
-		      qim = -2;
-		      break;
-		    }
-		  break;
-
-		}
-	    }
-	}
-      /* We get here when all the masks have passed so we can output
-	 the operands.  */
-      FETCH_DATA (info, buffer + opcode->length);
-      (func) (stream, "%s\t", opcode->name);
-      for (i = 0; i < opcode->nargs; i++)
-	{
-	  if (i)
-	    (func) (stream, ",");
-	  switch (opcode->arg_type[i])
-	    {
-	    case FP:
-	      func (stream, "fp");
-	      break;
-	    case RNIND_D16:
-	      func (stream, "@(0x%x:16,r%d)", disp, rn);
-	      break;
-	    case RNIND_D8:
-	      func (stream, "@(0x%x:8 (%d),r%d)", disp & 0xff, disp, rn);
-	      break;
-	    case RDIND_D16:
-	      func (stream, "@(0x%x:16,r%d)", disp, rd);
-	      break;
-	    case RDIND_D8:
-	      func (stream, "@(0x%x:8 (%d), r%d)", disp & 0xff, disp, rd);
-	      break;
-	    case FPIND_D8:
-	      func (stream, "@(0x%x:8 (%d), fp)", disp & 0xff, disp);
-	      break;
-	    case CRB:
-	    case CRW:
-	      func (stream, "%s", crname[cr]);
-	      break;
-	    case RN:
-	      func (stream, "r%d", rn);
-	      break;
-	    case RD:
-	      func (stream, "r%d", rd);
-	      break;
-	    case RS:
-	      func (stream, "r%d", rs);
-	      break;
-	    case RNDEC:
-	      func (stream, "@-r%d", rn);
-	      break;
-	    case RNINC:
-	      func (stream, "@r%d+", rn);
-	      break;
-	    case RNIND:
-	      func (stream, "@r%d", rn);
-	      break;
-	    case RDIND:
-	      func (stream, "@r%d", rd);
-	      break;
-	    case SPINC:
-	      func (stream, "@sp+");
-	      break;
-	    case SPDEC:
-	      func (stream, "@-sp");
-	      break;
-	    case ABS24:
-	      func (stream, "@0x%0x:24", abs_val);
-	      break;
-	    case ABS16:
-	      func (stream, "@0x%0x:16", abs_val & 0xffff);
-	      break;
-	    case ABS8:
-	      func (stream, "@0x%0x:8", abs_val & 0xff);
-	      break;
-	    case IMM16:
-	      func (stream, "#0x%0x:16", imm & 0xffff);
-	      break;
-	    case RLIST:
-	      {
-		int j;
-		int nc = 0;
-
-		func (stream, "(");
-		for (j = 0; j < 8; j++)
-		  {
-		    if (imm & (1 << j))
-		      {
-			func (stream, "r%d", j);
-			if (nc)
-			  func (stream, ",");
-			nc = 1;
-		      }
-		  }
-		func (stream, ")");
-	      }
-	      break;
-	    case IMM8:
-	      func (stream, "#0x%0x:8", imm & 0xff);
-	      break;
-	    case PCREL16:
-	      func (stream, "0x%0x:16",
-		    (int)(pcrel + addr + opcode->length) & 0xffff);
-	      break;
-	    case PCREL8:
-	      func (stream, "#0x%0x:8",
-		    (int)((char) pcrel + addr + opcode->length) & 0xffff);
-	      break;
-	    case QIM:
-	      func (stream, "#%d:q", qim);
-	      break;
-	    case IMM4:
-	      func (stream, "#%d:4", imm);
-	      break;
-	    }
-	}
-      return opcode->length;
-    next:
-      ;
-    }
-
-  /* Couldn't understand anything.  */
-  /* xgettext:c-format */
-  func (stream, _("%02x\t\t*unknown*"), buffer[0]);
-  return 1;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/h8500-opc.h ./opcodes/h8500-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/h8500-opc.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/h8500-opc.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,3858 +0,0 @@
-/* Instruction opcode header for Renesas 8500.
-
-   Copyright (C) 2001-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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, write to the Free Software Foundation, Inc.,
-   51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-typedef enum
-{
-  GR0,GR1,GR2,GR3,GR4,GR5,GR6,GR7,
-  GPR0, GPR1, GPR2, GPR3, GPR4, GPR5, GPR6, GPR7,
-  GCCR, GPC,
-  GSEGC, GSEGD, GSEGE, GSEGT,GLAST
-} gdbreg_type;
-
-#define O_XORC 1
-#define O_XOR 2
-#define O_XCH 3
-#define O_UNLK 4
-#define O_TST 5
-#define O_TRAPA 6
-#define O_TRAP_VS 7
-#define O_TAS 8
-#define O_SWAP 9
-#define O_SUBX 10
-#define O_SUBS 11
-#define O_SUB 12
-#define O_STM 13
-#define O_STC 14
-#define O_SLEEP 15
-#define O_SHLR 16
-#define O_SHLL 17
-#define O_SHAR 18
-#define O_SHAL 19
-#define O_SCB_NE 20
-#define O_SCB_F 21
-#define O_SCB_EQ 22
-#define O_RTS 23
-#define O_RTD 24
-#define O_ROTXR 25
-#define O_ROTXL 26
-#define O_ROTR 27
-#define O_ROTL 28
-#define O_PRTS 29
-#define O_PRTD 30
-#define O_PJSR 31
-#define O_PJMP 32
-#define O_ORC 33
-#define O_OR 34
-#define O_NOT 35
-#define O_NOP 36
-#define O_NEG 37
-#define O_MULXU 38
-#define O_MOVTPE 39
-#define O_MOVFPE 40
-#define O_MOV 41
-#define O_LINK 42
-#define O_LDM 43
-#define O_LDC 44
-#define O_JSR 45
-#define O_JMP 46
-#define O_EXTU 47
-#define O_EXTS 48
-#define O_DSUB 49
-#define O_DIVXU 50
-#define O_DADD 51
-#define O_CMP 52
-#define O_CLR 53
-#define O_BVS 54
-#define O_BVC 55
-#define O_BTST 56
-#define O_BT 57
-#define O_BSR 58
-#define O_BSET 59
-#define O_BRN 60
-#define O_BRA 61
-#define O_BPT 62
-#define O_BPL 63
-#define O_BNOT 64
-#define O_BNE 65
-#define O_BMI 66
-#define O_BLT 67
-#define O_BLS 68
-#define O_BLO 69
-#define O_BLE 70
-#define O_BHS 71
-#define O_BHI 72
-#define O_BGT 73
-#define O_BGE 74
-#define O_BF 75
-#define O_BEQ 76
-#define O_BCS 77
-#define O_BCLR 78
-#define O_BCC 79
-#define O_ANDC 80
-#define O_AND 81
-#define O_ADDX 82
-#define O_ADDS 83
-#define O_ADD 84
-#define O_BYTE 128
-#define O_WORD 0x000
-#define O_UNSZ 0x000
-#define FPIND_D8	10
-#define RDIND_D16	11
-#define RDIND_D8	12
-#define SPDEC	13
-#define RDIND	14
-#define RN	15
-#define RNIND_D8	16
-#define RNIND_D16	17
-#define RNDEC	18
-#define RNINC	19
-#define RNIND	20
-#define SPINC	21
-#define ABS16	22
-#define ABS24	23
-#define PCREL16	24
-#define PCREL8	25
-#define ABS8	26
-#define CRB	27
-#define CR	28
-#define CRW	29
-#define DISP16	30
-#define DISP8	31
-#define FP	32
-#define IMM16	33
-#define IMM4	34
-#define IMM8	35
-#define RLIST	36
-#define QIM	37
-#define RD	38
-#define RS	39
-#define SP	40
-typedef enum { AC_BAD, AC_EI, AC_RI, AC_D, AC_,AC_ERR, AC_X,AC_B, AC_EE,AC_RR,AC_IE,
- AC_RE,AC_E, AC_I, AC_ER,AC_IRR, AC_IR, AC_RER, AC_ERE,AC_EIE } addr_class_type;
-typedef struct {
-	short int idx;
-	char flags,src1,src2,dst;
-	unsigned char flavor;
-	char *name;
-	int nargs;
-	int arg_type[2];
-	int length;
-	struct { unsigned char contents;unsigned char mask; char insert; } bytes[6];
-} h8500_opcode_info;
-const h8500_opcode_info h8500_table[]
-#ifdef ASSEMBLER_TABLE
-#ifdef DEFINE_TABLE
-={
-/*
-{101,'m','I','!','E',O_MOV|O_WORD,"mov.w",2,{IMM16,ABS16},6,	{{0x1d,0xff, },
-								   {0x00,0x00,ABS16 },
-								   {0x00,0x00, },
-								   {0x07,0xff, },
-								   {0x00,0x00,IMM16 },{0x00,0x00, }}},*/
-
-{1,'s','E','C','C',O_XORC|O_WORD,"xorc.w",2,{IMM16,CRW},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x68,0xf8,CRW }}},
-{2,'s','E','C','C',O_XORC|O_BYTE,"xorc.b",2,{IMM8,CRB},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x68,0xf8,CRB }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x60,0xf8,RD }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x60,0xf8,RD }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x60,0xf8,RD }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x60,0xf8,RD }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x60,0xf8,RD }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x60,0xf8,RD }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x60,0xf8,RD }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x60,0xf8,RD }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x60,0xf8,RD }}},
-{5,'m','E','D','D',O_XOR|O_UNSZ,"xor",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x60,0xf8,RD }}},
-{5,'m','E','D','D',O_XOR|O_UNSZ,"xor",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x60,0xf8,RD }}},
-{5,'m','E','D','D',O_XOR|O_UNSZ,"xor",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x60,0xf8,RD }}},
-{5,'m','E','D','D',O_XOR|O_UNSZ,"xor",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x60,0xf8,RD }}},
-{5,'m','E','D','D',O_XOR|O_UNSZ,"xor",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x60,0xf8,RD }}},
-{5,'m','E','D','D',O_XOR|O_UNSZ,"xor",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x60,0xf8,RD }}},
-{5,'m','E','D','D',O_XOR|O_UNSZ,"xor",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x60,0xf8,RD }}},
-{5,'m','E','D','D',O_XOR|O_UNSZ,"xor",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x60,0xf8,RD }}},
-{5,'m','E','D','D',O_XOR|O_UNSZ,"xor",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x60,0xf8,RD }}},
-{6,'-','X','!','!',O_XCH|O_WORD,"xch.w",2,{RS,RD},2,	{{0xa8,0xf8,RS },{0x90,0xf8,RD }}},
-{7,'-','X','!','!',O_XCH|O_UNSZ,"xch",2,{RS,RD},2,	{{0xa8,0xf8,RS },{0x90,0xf8,RD }}},
-{8,'-','B','!','!',O_UNLK|O_UNSZ,"unlk",1,{FP,0},1,	{{0x0f,0xff,0 }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x16,0xff,0 }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x16,0xff,0 }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x16,0xff,0 }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x16,0xff,0 }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x16,0xff,0 }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x16,0xff,0 }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x16,0xff,0 }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x16,0xff,0 }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x16,0xff,0 }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x16,0xff,0 }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x16,0xff,0 }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x16,0xff,0 }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x16,0xff,0 }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x16,0xff,0 }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x16,0xff,0 }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x16,0xff,0 }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x16,0xff,0 }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x16,0xff,0 }}},
-{11,'a','E','!','!',O_TST|O_UNSZ,"tst",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x16,0xff,0 }}},
-{11,'a','E','!','!',O_TST|O_UNSZ,"tst",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x16,0xff,0 }}},
-{11,'a','E','!','!',O_TST|O_UNSZ,"tst",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x16,0xff,0 }}},
-{11,'a','E','!','!',O_TST|O_UNSZ,"tst",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x16,0xff,0 }}},
-{11,'a','E','!','!',O_TST|O_UNSZ,"tst",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x16,0xff,0 }}},
-{11,'a','E','!','!',O_TST|O_UNSZ,"tst",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x16,0xff,0 }}},
-{11,'a','E','!','!',O_TST|O_UNSZ,"tst",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x16,0xff,0 }}},
-{11,'a','E','!','!',O_TST|O_UNSZ,"tst",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x16,0xff,0 }}},
-{11,'a','E','!','!',O_TST|O_UNSZ,"tst",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x16,0xff,0 }}},
-{12,'-','I','!','!',O_TRAPA|O_UNSZ,"trapa",1,{IMM4,0},2,	{{0x08,0xff,0 },{0x10,0xf0,IMM4 }}},
-{13,'-','B','!','!',O_TRAP_VS|O_UNSZ,"trap/vs",0,{0,0},1,	{{0x09,0xff,0 }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x17,0xff,0 }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x17,0xff,0 }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x17,0xff,0 }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x17,0xff,0 }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x17,0xff,0 }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x17,0xff,0 }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x17,0xff,0 }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x17,0xff,0 }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x17,0xff,0 }}},
-{15,'s','E','!','E',O_TAS|O_UNSZ,"tas",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x17,0xff,0 }}},
-{15,'s','E','!','E',O_TAS|O_UNSZ,"tas",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x17,0xff,0 }}},
-{15,'s','E','!','E',O_TAS|O_UNSZ,"tas",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x17,0xff,0 }}},
-{15,'s','E','!','E',O_TAS|O_UNSZ,"tas",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x17,0xff,0 }}},
-{15,'s','E','!','E',O_TAS|O_UNSZ,"tas",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x17,0xff,0 }}},
-{15,'s','E','!','E',O_TAS|O_UNSZ,"tas",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x17,0xff,0 }}},
-{15,'s','E','!','E',O_TAS|O_UNSZ,"tas",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x17,0xff,0 }}},
-{15,'s','E','!','E',O_TAS|O_UNSZ,"tas",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x17,0xff,0 }}},
-{15,'s','E','!','E',O_TAS|O_UNSZ,"tas",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x17,0xff,0 }}},
-{16,'m','D','!','D',O_SWAP|O_BYTE,"swap.b",1,{RD,0},2,	{{0xa0,0xf8,RD },{0x10,0xff,0 }}},
-{17,'m','D','!','D',O_SWAP|O_UNSZ,"swap",1,{RD,0},2,	{{0xa0,0xf8,RD },{0x10,0xff,0 }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xb0,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xb0,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xb0,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xb0,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xb0,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xb0,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xb0,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0xb0,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xb0,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0xb0,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0xb0,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0xb0,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0xb0,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0xb0,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0xb0,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xb0,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xb0,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xb0,0xf8,RD }}},
-{20,'a','E','D','D',O_SUBX|O_UNSZ,"subx",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xb0,0xf8,RD }}},
-{20,'a','E','D','D',O_SUBX|O_UNSZ,"subx",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xb0,0xf8,RD }}},
-{20,'a','E','D','D',O_SUBX|O_UNSZ,"subx",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xb0,0xf8,RD }}},
-{20,'a','E','D','D',O_SUBX|O_UNSZ,"subx",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xb0,0xf8,RD }}},
-{20,'a','E','D','D',O_SUBX|O_UNSZ,"subx",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xb0,0xf8,RD }}},
-{20,'a','E','D','D',O_SUBX|O_UNSZ,"subx",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xb0,0xf8,RD }}},
-{20,'a','E','D','D',O_SUBX|O_UNSZ,"subx",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0xb0,0xf8,RD }}},
-{20,'a','E','D','D',O_SUBX|O_UNSZ,"subx",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xb0,0xf8,RD }}},
-{20,'a','E','D','D',O_SUBX|O_UNSZ,"subx",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xb0,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x38,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x38,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x38,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x38,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x38,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x38,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x38,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x38,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x38,0xf8,RD }}},
-{23,'-','E','D','D',O_SUBS|O_UNSZ,"subs",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x38,0xf8,RD }}},
-{23,'-','E','D','D',O_SUBS|O_UNSZ,"subs",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x38,0xf8,RD }}},
-{23,'-','E','D','D',O_SUBS|O_UNSZ,"subs",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x38,0xf8,RD }}},
-{23,'-','E','D','D',O_SUBS|O_UNSZ,"subs",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x38,0xf8,RD }}},
-{23,'-','E','D','D',O_SUBS|O_UNSZ,"subs",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x38,0xf8,RD }}},
-{23,'-','E','D','D',O_SUBS|O_UNSZ,"subs",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x38,0xf8,RD }}},
-{23,'-','E','D','D',O_SUBS|O_UNSZ,"subs",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x38,0xf8,RD }}},
-{23,'-','E','D','D',O_SUBS|O_UNSZ,"subs",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x38,0xf8,RD }}},
-{23,'-','E','D','D',O_SUBS|O_UNSZ,"subs",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x38,0xf8,RD }}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x30,0xf8,RD }}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x30,0xf8,RD }}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x30,0xf8,RD }}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x30,0xf8,RD }}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x30,0xf8,RD }}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x30,0xf8,RD }}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x30,0xf8,RD }}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x30,0xf8,RD }}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x30,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x30,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x30,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x30,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x30,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x30,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x30,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x30,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x30,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x30,0xf8,RD }}},
-{26,'a','E','D','D',O_SUB|O_UNSZ,"sub",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x30,0xf8,RD }}},
-{26,'a','E','D','D',O_SUB|O_UNSZ,"sub",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x30,0xf8,RD }}},
-{26,'a','E','D','D',O_SUB|O_UNSZ,"sub",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x30,0xf8,RD }}},
-{26,'a','E','D','D',O_SUB|O_UNSZ,"sub",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x30,0xf8,RD }}},
-{26,'a','E','D','D',O_SUB|O_UNSZ,"sub",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x30,0xf8,RD }}},
-{26,'a','E','D','D',O_SUB|O_UNSZ,"sub",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x30,0xf8,RD }}},
-{26,'a','E','D','D',O_SUB|O_UNSZ,"sub",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x30,0xf8,RD }}},
-{26,'a','E','D','D',O_SUB|O_UNSZ,"sub",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x30,0xf8,RD }}},
-{26,'a','E','D','D',O_SUB|O_UNSZ,"sub",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x30,0xf8,RD }}},
-{27,'-','I','!','E',O_STM|O_UNSZ,"stm",2,{RLIST,SPDEC},2,	{{0x12,0xff,0 },{0x00,0x00,RLIST }}},
-{28,'s','C','!','E',O_STC|O_WORD,"stc.w",2,{CRW,RN},2,		{{0xa8,0xf8,RN },{0x98,0xf8,CRW }}},
-{28,'s','C','!','E',O_STC|O_WORD,"stc.w",2,{CRW,RNDEC},2,	{{0xb8,0xf8,RN },{0x98,0xf8,CRW }}},
-{28,'s','C','!','E',O_STC|O_WORD,"stc.w",2,{CRW,RNINC},2,	{{0xc8,0xf8,RN },{0x98,0xf8,CRW }}},
-{28,'s','C','!','E',O_STC|O_WORD,"stc.w",2,{CRW,RNIND},2,	{{0xd8,0xf8,RN },{0x98,0xf8,CRW }}},
-{28,'s','C','!','E',O_STC|O_WORD,"stc.w",2,{CRW,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x98,0xf8,CRW }}},
-{28,'s','C','!','E',O_STC|O_WORD,"stc.w",2,{CRW,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x98,0xf8,CRW }}},
-{28,'s','C','!','E',O_STC|O_WORD,"stc.w",2,{CRW,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x98,0xf8,CRW }}},
-{28,'s','C','!','E',O_STC|O_WORD,"stc.w",2,{CRW,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x98,0xf8,CRW }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RN},2,		{{0xa0,0xf8,RN },{0x98,0xf8,CRB }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RNDEC},2,	{{0xb0,0xf8,RN },{0x98,0xf8,CRB }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RNINC},2,	{{0xc0,0xf8,RN },{0x98,0xf8,CRB }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RNIND},2,	{{0xd0,0xf8,RN },{0x98,0xf8,CRB }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x98,0xf8,CRB }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x98,0xf8,CRB }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x98,0xf8,CRB }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x98,0xf8,CRB }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRW,RN},2,	{{0xa8,0xf8,RN },{0x98,0xf8,CRW }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRB,RN},2,	{{0xa0,0xf8,RN },{0x98,0xf8,CRB }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRB,RNDEC},2,	{{0xb0,0xf8,RN },{0x98,0xf8,CRB }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRW,RNIND},2,	{{0xd8,0xf8,RN },{0x98,0xf8,CRW }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRW,RNINC},2,	{{0xc8,0xf8,RN },{0x98,0xf8,CRW }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRW,RNDEC},2,	{{0xb8,0xf8,RN },{0x98,0xf8,CRW }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRB,RNIND},2,	{{0xd0,0xf8,RN },{0x98,0xf8,CRB }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRB,RNINC},2,	{{0xc0,0xf8,RN },{0x98,0xf8,CRB }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRW,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x98,0xf8,CRW }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRB,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x98,0xf8,CRB }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRB,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x98,0xf8,CRB }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRW,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x98,0xf8,CRW }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRW,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x98,0xf8,CRW }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRW,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x98,0xf8,CRW }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRB,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x98,0xf8,CRB }}},
-{30,'s','C','!','E',O_STC|O_UNSZ,"stc",2,{CRB,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x98,0xf8,CRB }}},
-{31,'-','!','!','!',O_SLEEP|O_UNSZ,"sleep",0,{0,0},1,	{{0x1a,0xff,0 }}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1b,0xff,0 }}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1b,0xff,0 }}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1b,0xff,0 }}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1b,0xff,0 }}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1b,0xff,0 }}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1b,0xff,0 }}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1b,0xff,0 }}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1b,0xff,0 }}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1b,0xff,0 }}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1b,0xff,0 }}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1b,0xff,0 }}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1b,0xff,0 }}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1b,0xff,0 }}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x1b,0xff,0 }}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x1b,0xff,0 }}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1b,0xff,0 }}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1b,0xff,0 }}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1b,0xff,0 }}},
-{34,'h','E','!','E',O_SHLR|O_UNSZ,"shlr",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1b,0xff,0 }}},
-{34,'h','E','!','E',O_SHLR|O_UNSZ,"shlr",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1b,0xff,0 }}},
-{34,'h','E','!','E',O_SHLR|O_UNSZ,"shlr",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1b,0xff,0 }}},
-{34,'h','E','!','E',O_SHLR|O_UNSZ,"shlr",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1b,0xff,0 }}},
-{34,'h','E','!','E',O_SHLR|O_UNSZ,"shlr",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1b,0xff,0 }}},
-{34,'h','E','!','E',O_SHLR|O_UNSZ,"shlr",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1b,0xff,0 }}},
-{34,'h','E','!','E',O_SHLR|O_UNSZ,"shlr",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1b,0xff,0 }}},
-{34,'h','E','!','E',O_SHLR|O_UNSZ,"shlr",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1b,0xff,0 }}},
-{34,'h','E','!','E',O_SHLR|O_UNSZ,"shlr",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1b,0xff,0 }}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1a,0xff,0 }}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1a,0xff,0 }}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1a,0xff,0 }}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1a,0xff,0 }}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1a,0xff,0 }}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1a,0xff,0 }}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1a,0xff,0 }}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1a,0xff,0 }}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1a,0xff,0 }}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1a,0xff,0 }}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1a,0xff,0 }}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1a,0xff,0 }}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1a,0xff,0 }}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1a,0xff,0 }}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x1a,0xff,0 }}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x1a,0xff,0 }}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1a,0xff,0 }}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1a,0xff,0 }}},
-{37,'h','E','!','E',O_SHLL|O_UNSZ,"shll",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1a,0xff,0 }}},
-{37,'h','E','!','E',O_SHLL|O_UNSZ,"shll",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1a,0xff,0 }}},
-{37,'h','E','!','E',O_SHLL|O_UNSZ,"shll",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1a,0xff,0 }}},
-{37,'h','E','!','E',O_SHLL|O_UNSZ,"shll",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1a,0xff,0 }}},
-{37,'h','E','!','E',O_SHLL|O_UNSZ,"shll",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1a,0xff,0 }}},
-{37,'h','E','!','E',O_SHLL|O_UNSZ,"shll",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1a,0xff,0 }}},
-{37,'h','E','!','E',O_SHLL|O_UNSZ,"shll",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1a,0xff,0 }}},
-{37,'h','E','!','E',O_SHLL|O_UNSZ,"shll",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1a,0xff,0 }}},
-{37,'h','E','!','E',O_SHLL|O_UNSZ,"shll",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1a,0xff,0 }}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x19,0xff,0 }}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x19,0xff,0 }}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x19,0xff,0 }}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x19,0xff,0 }}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x19,0xff,0 }}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x19,0xff,0 }}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x19,0xff,0 }}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x19,0xff,0 }}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x19,0xff,0 }}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x19,0xff,0 }}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x19,0xff,0 }}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x19,0xff,0 }}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x19,0xff,0 }}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x19,0xff,0 }}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x19,0xff,0 }}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x19,0xff,0 }}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x19,0xff,0 }}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x19,0xff,0 }}},
-{40,'h','E','!','E',O_SHAR|O_UNSZ,"shar",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x19,0xff,0 }}},
-{40,'h','E','!','E',O_SHAR|O_UNSZ,"shar",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x19,0xff,0 }}},
-{40,'h','E','!','E',O_SHAR|O_UNSZ,"shar",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x19,0xff,0 }}},
-{40,'h','E','!','E',O_SHAR|O_UNSZ,"shar",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x19,0xff,0 }}},
-{40,'h','E','!','E',O_SHAR|O_UNSZ,"shar",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x19,0xff,0 }}},
-{40,'h','E','!','E',O_SHAR|O_UNSZ,"shar",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x19,0xff,0 }}},
-{40,'h','E','!','E',O_SHAR|O_UNSZ,"shar",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x19,0xff,0 }}},
-{40,'h','E','!','E',O_SHAR|O_UNSZ,"shar",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x19,0xff,0 }}},
-{40,'h','E','!','E',O_SHAR|O_UNSZ,"shar",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x19,0xff,0 }}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x18,0xff,0 }}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x18,0xff,0 }}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x18,0xff,0 }}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x18,0xff,0 }}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x18,0xff,0 }}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x18,0xff,0 }}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x18,0xff,0 }}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x18,0xff,0 }}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x18,0xff,0 }}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x18,0xff,0 }}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x18,0xff,0 }}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x18,0xff,0 }}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x18,0xff,0 }}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x18,0xff,0 }}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x18,0xff,0 }}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x18,0xff,0 }}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x18,0xff,0 }}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x18,0xff,0 }}},
-{43,'h','E','!','E',O_SHAL|O_UNSZ,"shal",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x18,0xff,0 }}},
-{43,'h','E','!','E',O_SHAL|O_UNSZ,"shal",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x18,0xff,0 }}},
-{43,'h','E','!','E',O_SHAL|O_UNSZ,"shal",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x18,0xff,0 }}},
-{43,'h','E','!','E',O_SHAL|O_UNSZ,"shal",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x18,0xff,0 }}},
-{43,'h','E','!','E',O_SHAL|O_UNSZ,"shal",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x18,0xff,0 }}},
-{43,'h','E','!','E',O_SHAL|O_UNSZ,"shal",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x18,0xff,0 }}},
-{43,'h','E','!','E',O_SHAL|O_UNSZ,"shal",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x18,0xff,0 }}},
-{43,'h','E','!','E',O_SHAL|O_UNSZ,"shal",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x18,0xff,0 }}},
-{43,'h','E','!','E',O_SHAL|O_UNSZ,"shal",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x18,0xff,0 }}},
-{44,'-','B','S','S',O_SCB_NE|O_UNSZ,"scb/ne",2,{RS,PCREL8},3,	{{0x06,0xff,0 },{0xb8,0xf8,RS },{0x00,0x00,PCREL8 }}},
-{45,'-','B','S','S',O_SCB_F|O_UNSZ,"scb/f",2,{RS,PCREL8},3,	{{0x01,0xff,0 },{0xb8,0xf8,RS },{0x00,0x00,PCREL8 }}},
-{46,'-','B','S','S',O_SCB_EQ|O_UNSZ,"scb/eq",2,{RS,PCREL8},3,	{{0x07,0xff,0 },{0xb8,0xf8,RS },{0x00,0x00,PCREL8 }}},
-{47,'-','B','!','!',O_RTS|O_UNSZ,"rts",0,{0,0},1,	{{0x19,0xff,0 }}},
-{48,'-','B','!','!',O_RTD|O_UNSZ,"rtd",1,{IMM8,0},2,	{{0x14,0xff,0 },{0x00,0x00,IMM8 }}},
-{48,'-','B','!','!',O_RTD|O_UNSZ,"rtd",1,{IMM16,0},3,	{{0x14,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1f,0xff,0 }}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1f,0xff,0 }}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1f,0xff,0 }}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1f,0xff,0 }}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1f,0xff,0 }}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1f,0xff,0 }}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1f,0xff,0 }}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1f,0xff,0 }}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1f,0xff,0 }}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1f,0xff,0 }}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1f,0xff,0 }}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1f,0xff,0 }}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1f,0xff,0 }}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x1f,0xff,0 }}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x1f,0xff,0 }}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1f,0xff,0 }}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1f,0xff,0 }}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1f,0xff,0 }}},
-{51,'h','E','!','E',O_ROTXR|O_UNSZ,"rotxr",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1f,0xff,0 }}},
-{51,'h','E','!','E',O_ROTXR|O_UNSZ,"rotxr",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1f,0xff,0 }}},
-{51,'h','E','!','E',O_ROTXR|O_UNSZ,"rotxr",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1f,0xff,0 }}},
-{51,'h','E','!','E',O_ROTXR|O_UNSZ,"rotxr",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1f,0xff,0 }}},
-{51,'h','E','!','E',O_ROTXR|O_UNSZ,"rotxr",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1f,0xff,0 }}},
-{51,'h','E','!','E',O_ROTXR|O_UNSZ,"rotxr",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1f,0xff,0 }}},
-{51,'h','E','!','E',O_ROTXR|O_UNSZ,"rotxr",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1f,0xff,0 }}},
-{51,'h','E','!','E',O_ROTXR|O_UNSZ,"rotxr",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1f,0xff,0 }}},
-{51,'h','E','!','E',O_ROTXR|O_UNSZ,"rotxr",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1f,0xff,0 }}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1e,0xff,0 }}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1e,0xff,0 }}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1e,0xff,0 }}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1e,0xff,0 }}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1e,0xff,0 }}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1e,0xff,0 }}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1e,0xff,0 }}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1e,0xff,0 }}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1e,0xff,0 }}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1e,0xff,0 }}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1e,0xff,0 }}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1e,0xff,0 }}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1e,0xff,0 }}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x1e,0xff,0 }}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x1e,0xff,0 }}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1e,0xff,0 }}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1e,0xff,0 }}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1e,0xff,0 }}},
-{54,'h','E','!','E',O_ROTXL|O_UNSZ,"rotxl",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1e,0xff,0 }}},
-{54,'h','E','!','E',O_ROTXL|O_UNSZ,"rotxl",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1e,0xff,0 }}},
-{54,'h','E','!','E',O_ROTXL|O_UNSZ,"rotxl",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1e,0xff,0 }}},
-{54,'h','E','!','E',O_ROTXL|O_UNSZ,"rotxl",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1e,0xff,0 }}},
-{54,'h','E','!','E',O_ROTXL|O_UNSZ,"rotxl",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1e,0xff,0 }}},
-{54,'h','E','!','E',O_ROTXL|O_UNSZ,"rotxl",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1e,0xff,0 }}},
-{54,'h','E','!','E',O_ROTXL|O_UNSZ,"rotxl",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1e,0xff,0 }}},
-{54,'h','E','!','E',O_ROTXL|O_UNSZ,"rotxl",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1e,0xff,0 }}},
-{54,'h','E','!','E',O_ROTXL|O_UNSZ,"rotxl",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1e,0xff,0 }}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1d,0xff,0 }}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1d,0xff,0 }}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1d,0xff,0 }}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1d,0xff,0 }}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1d,0xff,0 }}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1d,0xff,0 }}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1d,0xff,0 }}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1d,0xff,0 }}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1d,0xff,0 }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1d,0xff,0 }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1d,0xff,0 }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1d,0xff,0 }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1d,0xff,0 }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x1d,0xff,0 }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x1d,0xff,0 }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1d,0xff,0 }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1d,0xff,0 }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1d,0xff,0 }}},
-{57,'h','E','!','E',O_ROTR|O_UNSZ,"rotr",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1d,0xff,0 }}},
-{57,'h','E','!','E',O_ROTR|O_UNSZ,"rotr",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1d,0xff,0 }}},
-{57,'h','E','!','E',O_ROTR|O_UNSZ,"rotr",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1d,0xff,0 }}},
-{57,'h','E','!','E',O_ROTR|O_UNSZ,"rotr",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1d,0xff,0 }}},
-{57,'h','E','!','E',O_ROTR|O_UNSZ,"rotr",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1d,0xff,0 }}},
-{57,'h','E','!','E',O_ROTR|O_UNSZ,"rotr",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1d,0xff,0 }}},
-{57,'h','E','!','E',O_ROTR|O_UNSZ,"rotr",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1d,0xff,0 }}},
-{57,'h','E','!','E',O_ROTR|O_UNSZ,"rotr",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1d,0xff,0 }}},
-{57,'h','E','!','E',O_ROTR|O_UNSZ,"rotr",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1d,0xff,0 }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1c,0xff,0 }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1c,0xff,0 }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1c,0xff,0 }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1c,0xff,0 }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1c,0xff,0 }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1c,0xff,0 }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1c,0xff,0 }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1c,0xff,0 }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1c,0xff,0 }}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1c,0xff,0 }}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1c,0xff,0 }}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1c,0xff,0 }}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1c,0xff,0 }}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x1c,0xff,0 }}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x1c,0xff,0 }}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1c,0xff,0 }}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1c,0xff,0 }}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1c,0xff,0 }}},
-{60,'h','E','!','E',O_ROTL|O_UNSZ,"rotl",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1c,0xff,0 }}},
-{60,'h','E','!','E',O_ROTL|O_UNSZ,"rotl",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1c,0xff,0 }}},
-{60,'h','E','!','E',O_ROTL|O_UNSZ,"rotl",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1c,0xff,0 }}},
-{60,'h','E','!','E',O_ROTL|O_UNSZ,"rotl",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1c,0xff,0 }}},
-{60,'h','E','!','E',O_ROTL|O_UNSZ,"rotl",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1c,0xff,0 }}},
-{60,'h','E','!','E',O_ROTL|O_UNSZ,"rotl",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x1c,0xff,0 }}},
-{60,'h','E','!','E',O_ROTL|O_UNSZ,"rotl",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x1c,0xff,0 }}},
-{60,'h','E','!','E',O_ROTL|O_UNSZ,"rotl",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x1c,0xff,0 }}},
-{60,'h','E','!','E',O_ROTL|O_UNSZ,"rotl",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x1c,0xff,0 }}},
-{61,'-','B','!','!',O_PRTS|O_UNSZ,"prts",0,{0,0},2,	{{0x11,0xff,0 },{0x19,0xff,0 }}},
-{62,'-','B','!','!',O_PRTD|O_UNSZ,"prtd",1,{IMM8,0},3,	{{0x11,0xff,0 },{0x14,0xff,0 },{0x00,0x00,IMM8 }}},
-{62,'-','B','!','!',O_PRTD|O_UNSZ,"prtd",1,{IMM16,0},4,	{{0x11,0xff,0 },{0x1c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{63,'-','J','!','!',O_PJSR|O_UNSZ,"pjsr",1,{RDIND,0},2,	{{0x11,0xff,0 },{0xc8,0xf8,RDIND }}},
-{63,'-','J','!','!',O_PJSR|O_UNSZ,"pjsr",1,{ABS24,0},4,	{{0x03,0xff,0 },{0x00,0x00,ABS24 },{0x00,0x00,0 },{0x00,0x00,0 }}},
-{64,'-','J','!','!',O_PJMP|O_UNSZ,"pjmp",1,{RDIND,0},2,	{{0x11,0xff,0 },{0xc0,0xf8,RDIND }}},
-{64,'-','J','!','!',O_PJMP|O_UNSZ,"pjmp",1,{ABS24,0},4,	{{0x13,0xff,0 },{0x00,0x00,ABS24 },{0x00,0x00,0 },{0x00,0x00,0 }}},
-{65,'s','I','C','C',O_ORC|O_WORD,"orc.w",2,{IMM16,CRW},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x48,0xf8,CRW }}},
-{66,'s','I','C','C',O_ORC|O_BYTE,"orc.b",2,{IMM8,CRB},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x48,0xf8,CRB }}},
-{67,'s','I','C','C',O_ORC|O_UNSZ,"orc",2,{IMM8,CRB},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x48,0xf8,CRB }}},
-{67,'s','I','C','C',O_ORC|O_UNSZ,"orc",2,{IMM16,CRW},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x48,0xf8,CRW }}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x40,0xf8,RD }}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x40,0xf8,RD }}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x40,0xf8,RD }}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x40,0xf8,RD }}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x40,0xf8,RD }}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x40,0xf8,RD }}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x40,0xf8,RD }}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x40,0xf8,RD }}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x40,0xf8,RD }}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x40,0xf8,RD }}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x40,0xf8,RD }}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x40,0xf8,RD }}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x40,0xf8,RD }}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x40,0xf8,RD }}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x40,0xf8,RD }}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x40,0xf8,RD }}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x40,0xf8,RD }}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x40,0xf8,RD }}},
-{70,'m','E','D','D',O_OR|O_UNSZ,"or",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x40,0xf8,RD }}},
-{70,'m','E','D','D',O_OR|O_UNSZ,"or",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x40,0xf8,RD }}},
-{70,'m','E','D','D',O_OR|O_UNSZ,"or",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x40,0xf8,RD }}},
-{70,'m','E','D','D',O_OR|O_UNSZ,"or",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x40,0xf8,RD }}},
-{70,'m','E','D','D',O_OR|O_UNSZ,"or",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x40,0xf8,RD }}},
-{70,'m','E','D','D',O_OR|O_UNSZ,"or",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x40,0xf8,RD }}},
-{70,'m','E','D','D',O_OR|O_UNSZ,"or",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x40,0xf8,RD }}},
-{70,'m','E','D','D',O_OR|O_UNSZ,"or",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x40,0xf8,RD }}},
-{70,'m','E','D','D',O_OR|O_UNSZ,"or",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x40,0xf8,RD }}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x15,0xff,0 }}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x15,0xff,0 }}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x15,0xff,0 }}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x15,0xff,0 }}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x15,0xff,0 }}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x15,0xff,0 }}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x15,0xff,0 }}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x15,0xff,0 }}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x15,0xff,0 }}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x15,0xff,0 }}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x15,0xff,0 }}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x15,0xff,0 }}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x15,0xff,0 }}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x15,0xff,0 }}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x15,0xff,0 }}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x15,0xff,0 }}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x15,0xff,0 }}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x15,0xff,0 }}},
-{73,'m','E','!','E',O_NOT|O_UNSZ,"not",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x15,0xff,0 }}},
-{73,'m','E','!','E',O_NOT|O_UNSZ,"not",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x15,0xff,0 }}},
-{73,'m','E','!','E',O_NOT|O_UNSZ,"not",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x15,0xff,0 }}},
-{73,'m','E','!','E',O_NOT|O_UNSZ,"not",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x15,0xff,0 }}},
-{73,'m','E','!','E',O_NOT|O_UNSZ,"not",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x15,0xff,0 }}},
-{73,'m','E','!','E',O_NOT|O_UNSZ,"not",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x15,0xff,0 }}},
-{73,'m','E','!','E',O_NOT|O_UNSZ,"not",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x15,0xff,0 }}},
-{73,'m','E','!','E',O_NOT|O_UNSZ,"not",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x15,0xff,0 }}},
-{73,'m','E','!','E',O_NOT|O_UNSZ,"not",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x15,0xff,0 }}},
-{74,'-','!','!','!',O_NOP|O_UNSZ,"nop",0,{0,0},1,	{{0x00,0xff,0 }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x14,0xff,0 }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x14,0xff,0 }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x14,0xff,0 }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x14,0xff,0 }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x14,0xff,0 }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x14,0xff,0 }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x14,0xff,0 }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x14,0xff,0 }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x14,0xff,0 }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x14,0xff,0 }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x14,0xff,0 }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x14,0xff,0 }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x14,0xff,0 }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x14,0xff,0 }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x14,0xff,0 }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x14,0xff,0 }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x14,0xff,0 }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x14,0xff,0 }}},
-{77,'a','E','!','E',O_NEG|O_UNSZ,"neg",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x14,0xff,0 }}},
-{77,'a','E','!','E',O_NEG|O_UNSZ,"neg",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x14,0xff,0 }}},
-{77,'a','E','!','E',O_NEG|O_UNSZ,"neg",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x14,0xff,0 }}},
-{77,'a','E','!','E',O_NEG|O_UNSZ,"neg",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x14,0xff,0 }}},
-{77,'a','E','!','E',O_NEG|O_UNSZ,"neg",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x14,0xff,0 }}},
-{77,'a','E','!','E',O_NEG|O_UNSZ,"neg",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x14,0xff,0 }}},
-{77,'a','E','!','E',O_NEG|O_UNSZ,"neg",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x14,0xff,0 }}},
-{77,'a','E','!','E',O_NEG|O_UNSZ,"neg",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x14,0xff,0 }}},
-{77,'a','E','!','E',O_NEG|O_UNSZ,"neg",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x14,0xff,0 }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xa8,0xf8,RD }}},
-{80,'p','E','D','D',O_MULXU|O_UNSZ,"mulxu",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xa8,0xf8,RD }}},
-{80,'p','E','D','D',O_MULXU|O_UNSZ,"mulxu",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xa8,0xf8,RD }}},
-{80,'p','E','D','D',O_MULXU|O_UNSZ,"mulxu",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xa8,0xf8,RD }}},
-{80,'p','E','D','D',O_MULXU|O_UNSZ,"mulxu",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xa8,0xf8,RD }}},
-{80,'p','E','D','D',O_MULXU|O_UNSZ,"mulxu",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xa8,0xf8,RD }}},
-{80,'p','E','D','D',O_MULXU|O_UNSZ,"mulxu",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xa8,0xf8,RD }}},
-{80,'p','E','D','D',O_MULXU|O_UNSZ,"mulxu",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0xa8,0xf8,RD }}},
-{80,'p','E','D','D',O_MULXU|O_UNSZ,"mulxu",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xa8,0xf8,RD }}},
-{80,'p','E','D','D',O_MULXU|O_UNSZ,"mulxu",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xa8,0xf8,RD }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RN},3,	{{0xa0,0xf8,RN },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RNDEC},3,	{{0xb0,0xf8,RN },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RNINC},3,	{{0xc0,0xf8,RN },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RNIND},3,	{{0xd0,0xf8,RN },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,ABS8},4,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RNIND_D8},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,ABS16},5,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RNIND_D16},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{82,'-','S','!','E',O_MOVTPE|O_UNSZ,"movtpe",2,{RS,RN},3,	{{0xa0,0xf8,RN },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{82,'-','S','!','E',O_MOVTPE|O_UNSZ,"movtpe",2,{RS,RNDEC},3,	{{0xb0,0xf8,RN },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{82,'-','S','!','E',O_MOVTPE|O_UNSZ,"movtpe",2,{RS,RNIND},3,	{{0xd0,0xf8,RN },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{82,'-','S','!','E',O_MOVTPE|O_UNSZ,"movtpe",2,{RS,RNINC},3,	{{0xc0,0xf8,RN },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{82,'-','S','!','E',O_MOVTPE|O_UNSZ,"movtpe",2,{RS,ABS8},4,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{82,'-','S','!','E',O_MOVTPE|O_UNSZ,"movtpe",2,{RS,RNIND_D8},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{82,'-','S','!','E',O_MOVTPE|O_UNSZ,"movtpe",2,{RS,ABS16},5,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{82,'-','S','!','E',O_MOVTPE|O_UNSZ,"movtpe",2,{RS,RNIND_D16},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x00,0xff,0 },{0x90,0xf8,RS }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RN,RD},3,	{{0xa0,0xf8,RN },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RNINC,RD},3,	{{0xc0,0xf8,RN },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RNIND,RD},3,	{{0xd0,0xf8,RN },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RNDEC,RD},3,	{{0xb0,0xf8,RN },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{IMM8,RD},4,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{ABS8,RD},4,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RNIND_D8,RD},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{ABS16,RD},5,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RNIND_D16,RD},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{84,'-','E','!','D',O_MOVFPE|O_UNSZ,"movfpe",2,{RN,RD},3,	{{0xa0,0xf8,RN },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{84,'-','E','!','D',O_MOVFPE|O_UNSZ,"movfpe",2,{RNINC,RD},3,	{{0xc0,0xf8,RN },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{84,'-','E','!','D',O_MOVFPE|O_UNSZ,"movfpe",2,{RNIND,RD},3,	{{0xd0,0xf8,RN },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{84,'-','E','!','D',O_MOVFPE|O_UNSZ,"movfpe",2,{RNDEC,RD},3,	{{0xb0,0xf8,RN },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{84,'-','E','!','D',O_MOVFPE|O_UNSZ,"movfpe",2,{IMM8,RD},4,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{84,'-','E','!','D',O_MOVFPE|O_UNSZ,"movfpe",2,{ABS8,RD},4,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{84,'-','E','!','D',O_MOVFPE|O_UNSZ,"movfpe",2,{RNIND_D8,RD},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{84,'-','E','!','D',O_MOVFPE|O_UNSZ,"movfpe",2,{ABS16,RD},5,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{84,'-','E','!','D',O_MOVFPE|O_UNSZ,"movfpe",2,{RNIND_D16,RD},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x00,0xff,0 },{0x80,0xf8,RD }}},
-{85,'m','S','!','E',O_MOV|O_WORD,"mov:s.w",2,{RS,ABS8},2,	{{0x78,0xf8,RS },{0x00,0x00,ABS8 }}},
-{86,'m','S','!','E',O_MOV|O_BYTE,"mov:s.b",2,{RS,ABS8},2,	{{0x70,0xf8,RS },{0x00,0x00,ABS8 }}},
-{87,'m','S','!','E',O_MOV|O_UNSZ,"mov:s",2,{RS,ABS8},2,	{{0x78,0xf8,RS },{0x00,0x00,ABS8 }}},
-{88,'m','E','!','D',O_MOV|O_WORD,"mov:l.w",2,{ABS8,RD},2,	{{0x68,0xf8,RD },{0x00,0x00,ABS8 }}},
-{89,'m','E','!','D',O_MOV|O_BYTE,"mov:l.b",2,{ABS8,RD},2,	{{0x60,0xf8,RD },{0x00,0x00,ABS8 }}},
-{90,'m','E','!','D',O_MOV|O_UNSZ,"mov:l",2,{ABS8,RD},2,	{{0x68,0xf8,RD },{0x00,0x00,ABS8 }}},
-{91,'m','I','!','D',O_MOV|O_WORD,"mov:i.w",2,{IMM16,RD},3,	{{0x58,0xf8,RD },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{92,'m','I','!','D',O_MOV|O_UNSZ,"mov:i",  2,{IMM16,RD},3,	{{0x58,0xf8,RD },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x90,0xf8,RS }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x80,0xf8,RD }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x90,0xf8,RS }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x90,0xf8,RS }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x80,0xf8,RD }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x80,0xf8,RD }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RN,RD},2,		{{0xa8,0xf8,RN },{0x80,0xf8,RD }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x90,0xf8,RS }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x90,0xf8,RS }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x80,0xf8,RD }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x80,0xf8,RD }}},
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RNIND},4,	{{0xd8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RNDEC},4,	{{0xb8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RNINC},4,	{{0xc8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RNIND_D8},5,{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,ABS8},5,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RNIND_D16},6,{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,ABS16},6,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,RNINC},2,	{{0xc0,0xf8,RN },{0x90,0xf8,RS }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x80,0xf8,RD }}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,RNIND},2,	{{0xd0,0xf8,RN },{0x90,0xf8,RS }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x80,0xf8,RD }}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,RNDEC},2,	{{0xb0,0xf8,RN },{0x90,0xf8,RS }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x80,0xf8,RD }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x80,0xf8,RD }}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x90,0xf8,RS }}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x90,0xf8,RS }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x80,0xf8,RD }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x80,0xf8,RD }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RNIND},3,	{{0xd0,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RNINC},3,	{{0xc0,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RNDEC},3,	{{0xb0,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x80,0xf8,RD }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,ABS8},4,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RNIND_D8},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RNIND_D16},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,ABS16},5,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{95,'m','S','!','E',O_MOV|O_UNSZ,"mov:g",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x90,0xf8,RS }}},
-{95,'m','E','!','D',O_MOV|O_UNSZ,"mov:g",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x80,0xf8,RD }}},
-{95,'m','S','!','E',O_MOV|O_UNSZ,"mov:g",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x90,0xf8,RS }}},
-{95,'m','E','!','D',O_MOV|O_UNSZ,"mov:g",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x80,0xf8,RD }}},
-{95,'m','S','!','E',O_MOV|O_UNSZ,"mov:g",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x90,0xf8,RS }}},
-{95,'m','E','!','D',O_MOV|O_UNSZ,"mov:g",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x80,0xf8,RD }}},
-{95,'m','E','!','D',O_MOV|O_UNSZ,"mov:g",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x80,0xf8,RD }}},
-{95,'m','S','!','E',O_MOV|O_UNSZ,"mov:g",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x90,0xf8,RS }}},
-{95,'m','S','!','E',O_MOV|O_UNSZ,"mov:g",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x90,0xf8,RS }}},
-{95,'m','E','!','D',O_MOV|O_UNSZ,"mov:g",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x80,0xf8,RD }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM8,RNIND},3,	{{0xd8,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{95,'m','E','!','D',O_MOV|O_UNSZ,"mov:g",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x80,0xf8,RD }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM8,RNDEC},3,	{{0xb8,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM8,RNINC},3,	{{0xc8,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM8,RNIND_D8},4,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM8,ABS8},4,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{95,'m','S','!','E',O_MOV|O_UNSZ,"mov:g",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{95,'m','E','!','D',O_MOV|O_UNSZ,"mov:g",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM16,RNIND},4,	{{0xd8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM16,RNINC},4,	{{0xc8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM16,RNDEC},4,	{{0xb8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{95,'m','S','!','E',O_MOV|O_UNSZ,"mov:g",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{95,'m','E','!','D',O_MOV|O_UNSZ,"mov:g",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{95,'m','E','!','D',O_MOV|O_UNSZ,"mov:g",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM16,RNIND_D8},5,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM8,ABS16},5,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM16,ABS8},5,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM8,RNIND_D16},5,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM16,ABS16},6,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{95,'m','I','!','E',O_MOV|O_UNSZ,"mov:g",2,{IMM16,RNIND_D16},6,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{96,'m','S','!','E',O_MOV|O_WORD,"mov:f.w",2,{RS,FPIND_D8},2,	{{0x98,0xf8,RS },{0x00,0x00,FPIND_D8 }}},
-{96,'m','E','!','D',O_MOV|O_WORD,"mov:f.w",2,{FPIND_D8,RD},2,	{{0x88,0xf8,RD },{0x00,0x00,FPIND_D8 }}},
-{97,'m','S','!','E',O_MOV|O_BYTE,"mov:f.b",2,{RS,FPIND_D8},2,	{{0x90,0xf8,RS },{0x00,0x00,FPIND_D8 }}},
-{97,'m','E','!','D',O_MOV|O_BYTE,"mov:f.b",2,{FPIND_D8,RD},2,	{{0x80,0xf8,RD },{0x00,0x00,FPIND_D8 }}},
-{98,'m','S','!','E',O_MOV|O_UNSZ,"mov:f",2,{RS,FPIND_D8},2,	{{0x98,0xf8,RS },{0x00,0x00,FPIND_D8 }}},
-{98,'m','E','!','D',O_MOV|O_UNSZ,"mov:f",2,{FPIND_D8,RD},2,	{{0x88,0xf8,RD },{0x00,0x00,FPIND_D8 }}},
-{99,'m','I','!','D',O_MOV|O_BYTE,"mov:e.b",2,{IMM8,RD},2,	{{0x50,0xf8,RD },{0x00,0x00,IMM8 }}},
-{100,'m','I','!','D',O_MOV|O_UNSZ,"mov:e",2,{IMM8,RD},2,	{{0x50,0xf8,RD },{0x00,0x00,IMM8 }}},
-{101,'m','S','!','E',O_MOV|O_WORD,"mov.w",2,{RS,FPIND_D8},2,	{{0x98,0xf8,RS },{0x00,0x00,FPIND_D8 }}},
-{101,'m','S','!','E',O_MOV|O_WORD,"mov.w",2,{RS,ABS8},2,	{{0x78,0xf8,RS },{0x00,0x00,ABS8 }}},
-{101,'m','E','!','D',O_MOV|O_WORD,"mov.w",2,{ABS8,RD},2,	{{0x68,0xf8,RD },{0x00,0x00,ABS8 }}},
-{101,'m','S','!','E',O_MOV|O_WORD,"mov.w",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x90,0xf8,RS }}},
-{101,'m','S','!','E',O_MOV|O_WORD,"mov.w",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x90,0xf8,RS }}},
-{101,'m','S','!','E',O_MOV|O_WORD,"mov.w",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x90,0xf8,RS }}},
-{101,'m','E','!','D',O_MOV|O_WORD,"mov.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x80,0xf8,RD }}},
-{101,'m','E','!','D',O_MOV|O_WORD,"mov.w",2,{FPIND_D8,RD},2,	{{0x88,0xf8,RD },{0x00,0x00,FPIND_D8 }}},
-{101,'m','E','!','D',O_MOV|O_WORD,"mov.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x80,0xf8,RD }}},
-{101,'m','E','!','D',O_MOV|O_WORD,"mov.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x80,0xf8,RD }}},
-{101,'m','E','!','D',O_MOV|O_WORD,"mov.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x80,0xf8,RD }}},
-{101,'m','S','!','E',O_MOV|O_WORD,"mov.w",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x90,0xf8,RS }}},
-{101,'m','E','!','D',O_MOV|O_WORD,"mov.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x80,0xf8,RD }}},
-{101,'m','S','!','E',O_MOV|O_WORD,"mov.w",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x90,0xf8,RS }}},
-{101,'m','I','!','D',O_MOV|O_WORD,"mov.w",2,{IMM16,RD},3,	{{0x58,0xf8,RD },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{101,'m','E','!','D',O_MOV|O_WORD,"mov.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x80,0xf8,RD }}},
-{101,'m','I','!','E',O_MOV|O_WORD,"mov.w",2,{IMM16,RNINC},4,	{{0xc8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{101,'m','I','!','E',O_MOV|O_WORD,"mov.w",2,{IMM16,RNDEC},4,	{{0xb8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{101,'m','I','!','E',O_MOV|O_WORD,"mov.w",2,{IMM16,RNIND},4,	{{0xd8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{101,'m','S','!','E',O_MOV|O_WORD,"mov.w",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{101,'m','S','!','E',O_MOV|O_WORD,"mov.w",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{101,'m','E','!','D',O_MOV|O_WORD,"mov.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{101,'m','E','!','D',O_MOV|O_WORD,"mov.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{101,'m','E','!','D',O_MOV|O_WORD,"mov.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{101,'m','I','!','E',O_MOV|O_WORD,"mov.w",2,{IMM16,RNIND_D8},5,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{101,'m','I','!','E',O_MOV|O_WORD,"mov.w",2,{IMM16,ABS8},5,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{101,'m','I','!','E',O_MOV|O_WORD,"mov.w",2,{IMM16,RNIND_D16},6,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{101,'m','I','!','E',O_MOV|O_WORD,"mov.w",2,{IMM16,ABS16},6,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-
-{102,'m','E','!','D',O_MOV|O_BYTE,"mov.b",2,{FPIND_D8,RD},2,	{{0x80,0xf8,RD },{0x00,0x00,FPIND_D8 }}},
-{102,'m','S','!','E',O_MOV|O_BYTE,"mov.b",2,{RS,ABS8},2,	{{0x70,0xf8,RS },{0x00,0x00,ABS8 }}},
-{102,'m','E','!','D',O_MOV|O_BYTE,"mov.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x80,0xf8,RD }}},
-{102,'m','S','!','E',O_MOV|O_BYTE,"mov.b",2,{RS,RNIND},2,	{{0xd0,0xf8,RN },{0x90,0xf8,RS }}},
-{102,'m','S','!','E',O_MOV|O_BYTE,"mov.b",2,{RS,RNINC},2,	{{0xc0,0xf8,RN },{0x90,0xf8,RS }}},
-{102,'m','S','!','E',O_MOV|O_BYTE,"mov.b",2,{RS,RNDEC},2,	{{0xb0,0xf8,RN },{0x90,0xf8,RS }}},
-{102,'m','E','!','D',O_MOV|O_BYTE,"mov.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x80,0xf8,RD }}},
-{102,'m','S','!','E',O_MOV|O_BYTE,"mov.b",2,{RS,FPIND_D8},2,	{{0x90,0xf8,RS },{0x00,0x00,FPIND_D8 }}},
-{102,'m','E','!','D',O_MOV|O_BYTE,"mov.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x80,0xf8,RD }}},
-{102,'m','E','!','D',O_MOV|O_BYTE,"mov.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x80,0xf8,RD }}},
-{102,'m','E','!','D',O_MOV|O_BYTE,"mov.b",2,{ABS8,RD},2,	{{0x60,0xf8,RD },{0x00,0x00,ABS8 }}},
-{102,'m','I','!','D',O_MOV|O_BYTE,"mov.b",2,{IMM8,RD},2,	{{0x50,0xf8,RD },{0x00,0x00,IMM8 }}},
-{102,'m','E','!','D',O_MOV|O_BYTE,"mov.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x80,0xf8,RD }}},
-{102,'m','S','!','E',O_MOV|O_BYTE,"mov.b",2,{RS,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x90,0xf8,RS }}},
-{102,'m','I','!','E',O_MOV|O_BYTE,"mov.b",2,{IMM8,RNIND},3,	{{0xd0,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{102,'m','I','!','E',O_MOV|O_BYTE,"mov.b",2,{IMM8,RNINC},3,	{{0xc0,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{102,'m','I','!','E',O_MOV|O_BYTE,"mov.b",2,{IMM8,RNDEC},3,	{{0xb0,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{102,'m','E','!','D',O_MOV|O_BYTE,"mov.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x80,0xf8,RD }}},
-{102,'m','E','!','D',O_MOV|O_BYTE,"mov.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x80,0xf8,RD }}},
-{102,'m','S','!','E',O_MOV|O_BYTE,"mov.b",2,{RS,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x90,0xf8,RS }}},
-{102,'m','I','!','E',O_MOV|O_BYTE,"mov.b",2,{IMM8,RNIND_D8},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{102,'m','E','!','D',O_MOV|O_BYTE,"mov.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{102,'m','I','!','E',O_MOV|O_BYTE,"mov.b",2,{IMM8,ABS8},4,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{102,'m','S','!','E',O_MOV|O_BYTE,"mov.b",2,{RS,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{102,'m','S','!','E',O_MOV|O_BYTE,"mov.b",2,{RS,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{102,'m','E','!','D',O_MOV|O_BYTE,"mov.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{102,'m','I','!','E',O_MOV|O_BYTE,"mov.b",2,{IMM8,ABS16},5,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{102,'m','I','!','E',O_MOV|O_BYTE,"mov.b",2,{IMM8,RNIND_D16},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{103,'m','E','!','D',O_MOV|O_UNSZ,"mov",2,{ABS8,RD},2,	{{0x68,0xf8,RD },{0x00,0x00,ABS8 }}},
-{103,'m','S','!','E',O_MOV|O_UNSZ,"mov",2,{RS,ABS8},2,	{{0x78,0xf8,RS },{0x00,0x00,ABS8 }}},
-{103,'m','E','!','D',O_MOV|O_UNSZ,"mov",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x80,0xf8,RD }}},
-{103,'m','S','!','E',O_MOV|O_UNSZ,"mov",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x90,0xf8,RS }}},
-{103,'m','S','!','E',O_MOV|O_UNSZ,"mov",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x90,0xf8,RS }}},
-{103,'m','S','!','E',O_MOV|O_UNSZ,"mov",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x90,0xf8,RS }}},
-{103,'m','E','!','D',O_MOV|O_UNSZ,"mov",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x80,0xf8,RD }}},
-{103,'m','S','!','E',O_MOV|O_UNSZ,"mov",2,{RS,FPIND_D8},2,	{{0x98,0xf8,RS },{0x00,0x00,FPIND_D8 }}},
-{103,'m','E','!','D',O_MOV|O_UNSZ,"mov",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x80,0xf8,RD }}},
-{103,'m','E','!','D',O_MOV|O_UNSZ,"mov",2,{FPIND_D8,RD},2,	{{0x88,0xf8,RD },{0x00,0x00,FPIND_D8 }}},
-/*{103,'m','I','!','D',O_MOV|O_UNSZ,"mov",2,{IMM8,RD},2,	{{0x58,0xf8,RD },{0x00,0x00,IMM8 }}},*/
-{103,'m','E','!','D',O_MOV|O_UNSZ,"mov",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x80,0xf8,RD }}},
-{103,'m','S','!','E',O_MOV|O_UNSZ,"mov",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x90,0xf8,RS }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM8,RNIND},3,	{{0xd8,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM8,RNINC},3,	{{0xc8,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM8,RNDEC},3,	{{0xb8,0xf8,RN },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{103,'m','E','!','D',O_MOV|O_UNSZ,"mov",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x80,0xf8,RD }}},
-{103,'m','S','!','E',O_MOV|O_UNSZ,"mov",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x90,0xf8,RS }}},
-{103,'m','E','!','D',O_MOV|O_UNSZ,"mov",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x80,0xf8,RD }}},
-{103,'m','I','!','D',O_MOV|O_UNSZ,"mov",2,{IMM16,RD},3,	{{0x58,0xf8,RD },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM8,ABS8},4,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{103,'m','S','!','E',O_MOV|O_UNSZ,"mov",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM16,RNIND},4,	{{0xd8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM16,RNINC},4,	{{0xc8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM16,RNDEC},4,	{{0xb8,0xf8,RN },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{103,'m','S','!','E',O_MOV|O_UNSZ,"mov",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x90,0xf8,RS }}},
-{103,'m','E','!','D',O_MOV|O_UNSZ,"mov",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM8,RNIND_D8},4,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{103,'m','E','!','D',O_MOV|O_UNSZ,"mov",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{103,'m','E','!','D',O_MOV|O_UNSZ,"mov",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x80,0xf8,RD }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM16,RNIND_D8},5,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM8,ABS16},5,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM16,ABS8},5,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM8,RNIND_D16},5,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x06,0xff,0 },{0x00,0x00,IMM8 }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM16,ABS16},6,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{103,'m','I','!','E',O_MOV|O_UNSZ,"mov",2,{IMM16,RNIND_D16},6,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x07,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{104,'-','S','I','!',O_LINK|O_UNSZ,"link",2,{FP,IMM8},2,	{{0x17,0xff,0 },{0x00,0x00,IMM8 }}},
-{104,'-','S','I','!',O_LINK|O_UNSZ,"link",2,{FP,IMM16},3,	{{0x1f,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{105,'-','E','!','C',O_LDM|O_UNSZ,"ldm",2,{SPINC,RLIST},2,	{{0x02,0xff,0 },{0x00,0x00,RLIST }}},
-{106,'s','E','!','C',O_LDC|O_WORD,"ldc.w",2,{RN,CRW},2,		{{0xa8,0xf8,RN },{0x88,0xf8,CRW }}},
-{106,'s','E','!','C',O_LDC|O_WORD,"ldc.w",2,{RNIND,CRW},2,	{{0xd8,0xf8,RN },{0x88,0xf8,CRW }}},
-{106,'s','E','!','C',O_LDC|O_WORD,"ldc.w",2,{RNINC,CRW},2,	{{0xc8,0xf8,RN },{0x88,0xf8,CRW }}},
-{106,'s','E','!','C',O_LDC|O_WORD,"ldc.w",2,{RNDEC,CRW},2,	{{0xb8,0xf8,RN },{0x88,0xf8,CRW }}},
-{106,'s','E','!','C',O_LDC|O_WORD,"ldc.w",2,{ABS8,CRW},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x88,0xf8,CRW }}},
-{106,'s','E','!','C',O_LDC|O_WORD,"ldc.w",2,{RNIND_D8,CRW},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x88,0xf8,CRW }}},
-{106,'s','E','!','C',O_LDC|O_WORD,"ldc.w",2,{IMM16,CRW},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x88,0xf8,CRW }}},
-{106,'s','E','!','C',O_LDC|O_WORD,"ldc.w",2,{ABS16,CRW},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x88,0xf8,CRW }}},
-{106,'s','E','!','C',O_LDC|O_WORD,"ldc.w",2,{RNIND_D16,CRW},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x88,0xf8,CRW }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RN,CRB},2,		{{0xa0,0xf8,RN },{0x88,0xf8,CRB }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RNDEC,CRB},2,	{{0xb0,0xf8,RN },{0x88,0xf8,CRB }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RNINC,CRB},2,	{{0xc0,0xf8,RN },{0x88,0xf8,CRB }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RNIND,CRB},2,	{{0xd0,0xf8,RN },{0x88,0xf8,CRB }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{IMM8,CRB},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x88,0xf8,CRB }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{ABS8,CRB},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x88,0xf8,CRB }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RNIND_D8,CRB},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x88,0xf8,CRB }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{ABS16,CRB},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x88,0xf8,CRB }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RNIND_D16,CRB},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x88,0xf8,CRB }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RN,CRW},2,	{{0xa8,0xf8,RN },{0x88,0xf8,CRW }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RN,CRB},2,	{{0xa0,0xf8,RN },{0x88,0xf8,CRB }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RNINC,CRW},2,	{{0xc8,0xf8,RN },{0x88,0xf8,CRW }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RNIND,CRB},2,	{{0xd0,0xf8,RN },{0x88,0xf8,CRB }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RNDEC,CRW},2,	{{0xb8,0xf8,RN },{0x88,0xf8,CRW }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RNIND,CRW},2,	{{0xd8,0xf8,RN },{0x88,0xf8,CRW }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RNDEC,CRB},2,	{{0xb0,0xf8,RN },{0x88,0xf8,CRB }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RNINC,CRB},2,	{{0xc0,0xf8,RN },{0x88,0xf8,CRB }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{ABS8,CRW},3,		{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x88,0xf8,CRW }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{ABS8,CRB},3,		{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x88,0xf8,CRB }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{IMM8,CRB},3,		{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x88,0xf8,CRB }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RNIND_D8,CRW},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x88,0xf8,CRW }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RNIND_D8,CRB},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x88,0xf8,CRB }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{ABS16,CRB},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x88,0xf8,CRB }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{ABS16,CRW},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x88,0xf8,CRW }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{IMM16,CRW},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x88,0xf8,CRW }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RNIND_D16,CRW},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x88,0xf8,CRW }}},
-{108,'s','E','!','C',O_LDC|O_UNSZ,"ldc",2,{RNIND_D16,CRB},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x88,0xf8,CRB }}},
-{109,'-','B','!','!',O_JSR|O_UNSZ,"jsr",1,{RDIND,0},2,	{{0x11,0xff,0 },{0xd8,0xf8,RD }}},
-{109,'-','B','!','!',O_JSR|O_UNSZ,"jsr",1,{ABS16,0},3,	{{0x18,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 }}},
-{109,'-','B','!','!',O_JSR|O_UNSZ,"jsr",1,{RDIND_D8,0},3,	{{0x11,0xff,0 },{0xe8,0xf8,RDIND_D8 },{0x00,0x00,0 }}},
-{109,'-','B','!','!',O_JSR|O_UNSZ,"jsr",1,{RDIND_D16,0},4,	{{0x11,0xff,0 },{0xf8,0xf8,RDIND_D16 },{0x00,0x00,0 },{0x00,0x00,0 }}},
-{110,'-','B','!','!',O_JMP|O_UNSZ,"jmp",1,{RDIND,0},2,	{{0x11,0xff,0 },{0xd0,0xf8,RD }}},
-{110,'-','B','!','!',O_JMP|O_UNSZ,"jmp",1,{ABS16,0},3,	{{0x10,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 }}},
-{110,'-','B','!','!',O_JMP|O_UNSZ,"jmp",1,{RDIND_D8,0},3,	{{0x11,0xff,0 },{0xe0,0xf8,RDIND_D8 },{0x00,0x00,0 }}},
-{110,'-','B','!','!',O_JMP|O_UNSZ,"jmp",1,{RDIND_D16,0},4,	{{0x11,0xff,0 },{0xf0,0xf8,RDIND_D16 },{0x00,0x00,0 },{0x00,0x00,0 }}},
-{111,'s','D','!','D',O_EXTU|O_BYTE,"extu.b",1,{RD,0},2,	{{0xa0,0xf8,RD },{0x12,0xff,0 }}},
-{112,'s','D','!','D',O_EXTU|O_UNSZ,"extu",1,{RD,0},2,	{{0xa0,0xf8,RD },{0x12,0xff,0 }}},
-{113,'s','D','!','D',O_EXTS|O_BYTE,"exts.b",1,{RD,0},2,	{{0xa0,0xf8,RD },{0x11,0xff,0 }}},
-{114,'s','D','!','D',O_EXTS|O_UNSZ,"exts",1,{RD,0},2,	{{0xa0,0xf8,RD },{0x11,0xff,0 }}},
-{115,'s','D','!','!',O_DSUB|O_UNSZ,"dsub",2,{RS,RD},3,	{{0xa0,0xf8,RS },{0x00,0xff,0 },{0xb0,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xb8,0xf8,RD }}},
-{118,'s','E','D','D',O_DIVXU|O_UNSZ,"divxu",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xb8,0xf8,RD }}},
-{118,'s','E','D','D',O_DIVXU|O_UNSZ,"divxu",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xb8,0xf8,RD }}},
-{118,'s','E','D','D',O_DIVXU|O_UNSZ,"divxu",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xb8,0xf8,RD }}},
-{118,'s','E','D','D',O_DIVXU|O_UNSZ,"divxu",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xb8,0xf8,RD }}},
-{118,'s','E','D','D',O_DIVXU|O_UNSZ,"divxu",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xb8,0xf8,RD }}},
-{118,'s','E','D','D',O_DIVXU|O_UNSZ,"divxu",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xb8,0xf8,RD }}},
-{118,'s','E','D','D',O_DIVXU|O_UNSZ,"divxu",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0xb8,0xf8,RD }}},
-{118,'s','E','D','D',O_DIVXU|O_UNSZ,"divxu",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xb8,0xf8,RD }}},
-{118,'s','E','D','D',O_DIVXU|O_UNSZ,"divxu",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xb8,0xf8,RD }}},
-{119,'s','D','!','!',O_DADD|O_UNSZ,"dadd",2,{RS,RD},3,	{{0xa0,0xf8,RS },{0x00,0xff,0 },{0xa0,0xf8,RD }}},
-{120,'a','D','I','!',O_CMP|O_WORD,"cmp:i.w",2,{IMM16,RD},3,	{{0x48,0xf8,RD },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{121,'a','D','I','!',O_CMP|O_UNSZ,"cmp:i",2,{IMM16,RD},3,	{{0x48,0xf8,RD },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x70,0xf8,RD }}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x70,0xf8,RD }}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x70,0xf8,RD }}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x70,0xf8,RD }}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x70,0xf8,RD }}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x70,0xf8,RD }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RNINC},4,	{{0xc8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RNDEC},4,	{{0xb8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RN},4,	{{0xa8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RNIND},4,	{{0xd8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RNIND_D8},5,{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,ABS8},5,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RNIND_D16},6,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,ABS16},6,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x70,0xf8,RD }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RN},3,	{{0xa0,0xf8,RN },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RNIND},3,	{{0xd0,0xf8,RN },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RNINC},3,	{{0xc0,0xf8,RN },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RNDEC},3,	{{0xb0,0xf8,RN },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RNIND_D8},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,ABS8},4,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,ABS16},5,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RNIND_D16},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{124,'a','D','E','!',O_CMP|O_UNSZ,"cmp:g",2,{RN,RD},2,		{{0xa8,0xf8,RN },{0x70,0xf8,RD }}},
-{124,'a','D','E','!',O_CMP|O_UNSZ,"cmp:g",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x70,0xf8,RD }}},
-{124,'a','D','E','!',O_CMP|O_UNSZ,"cmp:g",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x70,0xf8,RD }}},
-{124,'a','D','E','!',O_CMP|O_UNSZ,"cmp:g",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x70,0xf8,RD }}},
-{124,'a','D','E','!',O_CMP|O_UNSZ,"cmp:g",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x70,0xf8,RD }}},
-{124,'a','D','E','!',O_CMP|O_UNSZ,"cmp:g",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x70,0xf8,RD }}},
-{124,'a','E','I','!',O_CMP|O_UNSZ,"cmp:g",2,{IMM16,RNINC},4,	{{0xc8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{124,'a','E','I','!',O_CMP|O_UNSZ,"cmp:g",2,{IMM16,RNIND},4,	{{0xd8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{124,'a','E','I','!',O_CMP|O_UNSZ,"cmp:g",2,{IMM16,RN},4,	{{0xa8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{124,'a','E','I','!',O_CMP|O_UNSZ,"cmp:g",2,{IMM16,RNDEC},4,	{{0xb8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{124,'a','D','E','!',O_CMP|O_UNSZ,"cmp:g",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{124,'a','D','E','!',O_CMP|O_UNSZ,"cmp:g",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{124,'a','D','E','!',O_CMP|O_UNSZ,"cmp:g",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{124,'a','E','I','!',O_CMP|O_UNSZ,"cmp:g",2,{IMM16,RNIND_D8},5,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{124,'a','E','I','!',O_CMP|O_UNSZ,"cmp:g",2,{IMM16,ABS8},5,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{124,'a','E','I','!',O_CMP|O_UNSZ,"cmp:g",2,{IMM16,RNIND_D16},6,{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{124,'a','E','I','!',O_CMP|O_UNSZ,"cmp:g",2,{IMM16,ABS16},6,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{125,'a','D','I','!',O_CMP|O_BYTE,"cmp:e.b",2,{IMM8,RD},2,	{{0x40,0xf8,RD },{0x00,0x00,IMM8 }}},
-{126,'a','D','I','!',O_CMP|O_UNSZ,"cmp:e",2,{IMM8,RD},2,	{{0x48,0xf8,RD },{0x00,0x00,IMM8 }}},
-{127,'a','D','E','!',O_CMP|O_WORD,"cmp.w",2,{RN,RD},2,		{{0xa8,0xf8,RN },{0x70,0xf8,RD }}},
-{127,'a','D','E','!',O_CMP|O_WORD,"cmp.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x70,0xf8,RD }}},
-{127,'a','D','E','!',O_CMP|O_WORD,"cmp.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x70,0xf8,RD }}},
-{127,'a','D','E','!',O_CMP|O_WORD,"cmp.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x70,0xf8,RD }}},
-{127,'a','D','I','!',O_CMP|O_WORD,"cmp.w",2,{IMM16,RD},3,	{{0x48,0xf8,RD },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{127,'a','D','E','!',O_CMP|O_WORD,"cmp.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x70,0xf8,RD }}},
-{127,'a','D','E','!',O_CMP|O_WORD,"cmp.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x70,0xf8,RD }}},
-{127,'a','E','I','!',O_CMP|O_WORD,"cmp.w",2,{IMM16,RNINC},4,	{{0xc8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{127,'a','E','I','!',O_CMP|O_WORD,"cmp.w",2,{IMM16,RNDEC},4,	{{0xb8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{127,'a','E','I','!',O_CMP|O_WORD,"cmp.w",2,{IMM16,RNIND},4,	{{0xd8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{127,'a','D','E','!',O_CMP|O_WORD,"cmp.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{127,'a','D','E','!',O_CMP|O_WORD,"cmp.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{127,'a','D','E','!',O_CMP|O_WORD,"cmp.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{127,'a','E','I','!',O_CMP|O_WORD,"cmp.w",2,{IMM16,RN},4,	{{0xa8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{127,'a','E','I','!',O_CMP|O_WORD,"cmp.w",2,{IMM16,RNIND_D8},5,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{127,'a','E','I','!',O_CMP|O_WORD,"cmp.w",2,{IMM16,ABS8},5,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{127,'a','E','I','!',O_CMP|O_WORD,"cmp.w",2,{IMM16,RNIND_D16},6,{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{127,'a','E','I','!',O_CMP|O_WORD,"cmp.w",2,{IMM16,ABS16},6,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{128,'a','D','E','!',O_CMP|O_BYTE,"cmp.b",2,{RN,RD},2,		{{0xa0,0xf8,RN },{0x70,0xf8,RD }}},
-{128,'a','D','E','!',O_CMP|O_BYTE,"cmp.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x70,0xf8,RD }}},
-{128,'a','D','E','!',O_CMP|O_BYTE,"cmp.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x70,0xf8,RD }}},
-{128,'a','D','I','!',O_CMP|O_BYTE,"cmp.b",2,{IMM8,RD},2,	{{0x40,0xf8,RD },{0x00,0x00,IMM8 }}},
-{128,'a','D','E','!',O_CMP|O_BYTE,"cmp.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x70,0xf8,RD }}},
-{128,'a','E','I','!',O_CMP|O_BYTE,"cmp.b",2,{IMM8,RN},3,	{{0xa0,0xf8,RN },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{128,'a','E','I','!',O_CMP|O_BYTE,"cmp.b",2,{IMM8,RNIND},3,	{{0xd0,0xf8,RN },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{128,'a','E','I','!',O_CMP|O_BYTE,"cmp.b",2,{IMM8,RNINC},3,	{{0xc0,0xf8,RN },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{128,'a','E','I','!',O_CMP|O_BYTE,"cmp.b",2,{IMM8,RNDEC},3,	{{0xb0,0xf8,RN },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{128,'a','D','E','!',O_CMP|O_BYTE,"cmp.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x70,0xf8,RD }}},
-{128,'a','D','E','!',O_CMP|O_BYTE,"cmp.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x70,0xf8,RD }}},
-{128,'a','D','E','!',O_CMP|O_BYTE,"cmp.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x70,0xf8,RD }}},
-{128,'a','E','I','!',O_CMP|O_BYTE,"cmp.b",2,{IMM8,ABS8},4,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{128,'a','D','E','!',O_CMP|O_BYTE,"cmp.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{128,'a','E','I','!',O_CMP|O_BYTE,"cmp.b",2,{IMM8,RNIND_D8},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{128,'a','D','E','!',O_CMP|O_BYTE,"cmp.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{128,'a','E','I','!',O_CMP|O_BYTE,"cmp.b",2,{IMM8,ABS16},5,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{128,'a','E','I','!',O_CMP|O_BYTE,"cmp.b",2,{IMM8,RNIND_D16},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x04,0xff,0 },{0x00,0x00,IMM8 }}},
-{129,'a','D','E','!',O_CMP|O_UNSZ,"cmp",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x70,0xf8,RD }}},
-{129,'a','D','I','!',O_CMP|O_UNSZ,"cmp",2,{IMM8,RD},2,	{{0x48,0xf8,RD },{0x00,0x00,IMM8 }}},
-{129,'a','D','E','!',O_CMP|O_UNSZ,"cmp",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x70,0xf8,RD }}},
-{129,'a','D','E','!',O_CMP|O_UNSZ,"cmp",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x70,0xf8,RD }}},
-{129,'a','D','E','!',O_CMP|O_UNSZ,"cmp",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x70,0xf8,RD }}},
-{129,'a','D','I','!',O_CMP|O_UNSZ,"cmp",2,{IMM16,RD},3,	{{0x48,0xf8,RD },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{129,'a','D','E','!',O_CMP|O_UNSZ,"cmp",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x70,0xf8,RD }}},
-{129,'a','D','E','!',O_CMP|O_UNSZ,"cmp",2,{ABS8,RD},3,		{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x70,0xf8,RD }}},
-{129,'a','E','I','!',O_CMP|O_UNSZ,"cmp",2,{IMM16,RN},4,		{{0xa8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{129,'a','E','I','!',O_CMP|O_UNSZ,"cmp",2,{IMM16,RNDEC},4,	{{0xb8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{129,'a','E','I','!',O_CMP|O_UNSZ,"cmp",2,{IMM16,RNIND},4,	{{0xd8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{129,'a','D','E','!',O_CMP|O_UNSZ,"cmp",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{129,'a','E','I','!',O_CMP|O_UNSZ,"cmp",2,{IMM16,RNINC},4,	{{0xc8,0xf8,RN },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{129,'a','D','E','!',O_CMP|O_UNSZ,"cmp",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{129,'a','D','E','!',O_CMP|O_UNSZ,"cmp",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x70,0xf8,RD }}},
-{129,'a','E','I','!',O_CMP|O_UNSZ,"cmp",2,{IMM16,ABS8},5,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{129,'a','E','I','!',O_CMP|O_UNSZ,"cmp",2,{IMM16,RNIND_D8},5,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{129,'a','E','I','!',O_CMP|O_UNSZ,"cmp",2,{IMM16,ABS16},6,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{129,'a','E','I','!',O_CMP|O_UNSZ,"cmp",2,{IMM16,RNIND_D16},6,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x05,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x13,0xff,0 }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x13,0xff,0 }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x13,0xff,0 }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x13,0xff,0 }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x13,0xff,0 }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x13,0xff,0 }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x13,0xff,0 }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x13,0xff,0 }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x13,0xff,0 }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x13,0xff,0 }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x13,0xff,0 }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x13,0xff,0 }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x13,0xff,0 }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{ABS8,0},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x13,0xff,0 }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{IMM8,0},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x13,0xff,0 }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x13,0xff,0 }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{ABS16,0},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x13,0xff,0 }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x13,0xff,0 }}},
-{132,'c','!','!','E',O_CLR|O_UNSZ,"clr",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x13,0xff,0 }}},
-{132,'c','!','!','E',O_CLR|O_UNSZ,"clr",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x13,0xff,0 }}},
-{132,'c','!','!','E',O_CLR|O_UNSZ,"clr",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x13,0xff,0 }}},
-{132,'c','!','!','E',O_CLR|O_UNSZ,"clr",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x13,0xff,0 }}},
-{132,'c','!','!','E',O_CLR|O_UNSZ,"clr",1,{ABS8,0},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x13,0xff,0 }}},
-{132,'c','!','!','E',O_CLR|O_UNSZ,"clr",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x13,0xff,0 }}},
-{132,'c','!','!','E',O_CLR|O_UNSZ,"clr",1,{IMM16,0},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x13,0xff,0 }}},
-{132,'c','!','!','E',O_CLR|O_UNSZ,"clr",1,{ABS16,0},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x13,0xff,0 }}},
-{132,'c','!','!','E',O_CLR|O_UNSZ,"clr",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x13,0xff,0 }}},
-{133,'-','B','!','!',O_BVS|O_WORD,"bvs.w",1,{PCREL16,0},3,	{{0x39,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{134,'-','B','!','!',O_BVS|O_BYTE,"bvs.b",1,{PCREL8,0},2,	{{0x29,0xff,0 },{0x00,0x00,PCREL8 }}},
-{135,'-','B','!','!',O_BVS|O_UNSZ,"bvs",1,{PCREL8,0},2,	{{0x29,0xff,0 },{0x00,0x00,PCREL8 }}},
-{135,'-','B','!','!',O_BVS|O_UNSZ,"bvs",1,{PCREL16,0},3,	{{0x39,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{136,'-','B','!','!',O_BVC|O_WORD,"bvc.w",1,{PCREL16,0},3,	{{0x38,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{137,'-','B','!','!',O_BVC|O_BYTE,"bvc.b",1,{PCREL8,0},2,	{{0x28,0xff,0 },{0x00,0x00,PCREL8 }}},
-{138,'-','B','!','!',O_BVC|O_UNSZ,"bvc",1,{PCREL8,0},2,	{{0x28,0xff,0 },{0x00,0x00,PCREL8 }}},
-{138,'-','B','!','!',O_BVC|O_UNSZ,"bvc",1,{PCREL16,0},3,	{{0x38,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x78,0xf8,RS }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x78,0xf8,RS }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x78,0xf8,RS }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x78,0xf8,RS }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x78,0xf8,RS }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xf0,0xf0,IMM4 }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x78,0xf8,RS }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xf0,0xf0,IMM4 }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x78,0xf8,RS }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x78,0xf8,RS }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xf0,0xf0,IMM4 }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RN},2,	{{0xa0,0xf8,RN },{0x78,0xf8,RS }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RNDEC},2,	{{0xb0,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RN},2,	{{0xa0,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RNIND},2,	{{0xd0,0xf8,RN },{0x78,0xf8,RS }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RNINC},2,	{{0xc0,0xf8,RN },{0x78,0xf8,RS }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RNDEC},2,	{{0xb0,0xf8,RN },{0x78,0xf8,RS }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RNIND},2,	{{0xd0,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RNINC},2,	{{0xc0,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x78,0xf8,RS }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x78,0xf8,RS }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x78,0xf8,RS }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x78,0xf8,RS }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xf0,0xf0,IMM4 }}},
-{141,'b','E','S','E',O_BTST|O_UNSZ,"btst",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x78,0xf8,RS }}},
-{141,'b','E','I','E',O_BTST|O_UNSZ,"btst",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{141,'b','E','I','E',O_BTST|O_UNSZ,"btst",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{141,'b','E','S','E',O_BTST|O_UNSZ,"btst",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x78,0xf8,RS }}},
-{141,'b','E','S','E',O_BTST|O_UNSZ,"btst",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x78,0xf8,RS }}},
-{141,'b','E','S','E',O_BTST|O_UNSZ,"btst",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x78,0xf8,RS }}},
-{141,'b','E','I','E',O_BTST|O_UNSZ,"btst",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{141,'b','E','I','E',O_BTST|O_UNSZ,"btst",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{141,'b','E','S','E',O_BTST|O_UNSZ,"btst",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x78,0xf8,RS }}},
-{141,'b','E','I','E',O_BTST|O_UNSZ,"btst",2,{IMM4,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xf0,0xf0,IMM4 }}},
-{141,'b','E','S','E',O_BTST|O_UNSZ,"btst",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x78,0xf8,RS }}},
-{141,'b','E','I','E',O_BTST|O_UNSZ,"btst",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xf0,0xf0,IMM4 }}},
-{141,'b','E','I','E',O_BTST|O_UNSZ,"btst",2,{IMM4,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xf0,0xf0,IMM4 }}},
-{141,'b','E','S','E',O_BTST|O_UNSZ,"btst",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x78,0xf8,RS }}},
-{141,'b','E','S','E',O_BTST|O_UNSZ,"btst",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x78,0xf8,RS }}},
-{141,'b','E','I','E',O_BTST|O_UNSZ,"btst",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xf0,0xf0,IMM4 }}},
-{142,'-','B','!','!',O_BT|O_WORD,"bt.w",1,{PCREL16,0},3,	{{0x30,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{143,'-','B','!','!',O_BT|O_BYTE,"bt.b",1,{PCREL8,0},2,	{{0x20,0xff,0 },{0x00,0x00,PCREL8 }}},
-{144,'-','B','!','!',O_BT|O_UNSZ,"bt",1,{PCREL8,0},2,	{{0x20,0xff,0 },{0x00,0x00,PCREL8 }}},
-{144,'-','B','!','!',O_BT|O_UNSZ,"bt",1,{PCREL16,0},3,	{{0x30,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{145,'-','B','!','!',O_BSR|O_WORD,"bsr.w",1,{PCREL16,0},3,	{{0x1e,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{146,'-','B','!','!',O_BSR|O_BYTE,"bsr.b",1,{PCREL8,0},2,	{{0x0e,0xff,0 },{0x00,0x00,PCREL8 }}},
-{147,'-','B','!','!',O_BSR|O_UNSZ,"bsr",1,{PCREL8,0},2,	{{0x0e,0xff,0 },{0x00,0x00,PCREL8 }}},
-{147,'-','B','!','!',O_BSR|O_UNSZ,"bsr",1,{PCREL16,0},3,	{{0x1e,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x48,0xf8,RS }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x48,0xf8,RS }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x48,0xf8,RS }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x48,0xf8,RS }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x48,0xf8,RS }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x48,0xf8,RS }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x48,0xf8,RS }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x48,0xf8,RS }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RN},2,	{{0xa0,0xf8,RN },{0x48,0xf8,RS }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RNINC},2,	{{0xc0,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RN},2,	{{0xa0,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RNIND},2,	{{0xd0,0xf8,RN },{0x48,0xf8,RS }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RNINC},2,	{{0xc0,0xf8,RN },{0x48,0xf8,RS }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RNDEC},2,	{{0xb0,0xf8,RN },{0x48,0xf8,RS }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RNDEC},2,	{{0xb0,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RNIND},2,	{{0xd0,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x48,0xf8,RS }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x48,0xf8,RS }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x48,0xf8,RS }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x48,0xf8,RS }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xc0,0xf0,IMM4 }}},
-{150,'b','E','S','E',O_BSET|O_UNSZ,"bset",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x48,0xf8,RS }}},
-{150,'b','E','I','E',O_BSET|O_UNSZ,"bset",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{150,'b','E','I','E',O_BSET|O_UNSZ,"bset",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{150,'b','E','S','E',O_BSET|O_UNSZ,"bset",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x48,0xf8,RS }}},
-{150,'b','E','S','E',O_BSET|O_UNSZ,"bset",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x48,0xf8,RS }}},
-{150,'b','E','S','E',O_BSET|O_UNSZ,"bset",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x48,0xf8,RS }}},
-{150,'b','E','I','E',O_BSET|O_UNSZ,"bset",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{150,'b','E','I','E',O_BSET|O_UNSZ,"bset",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{150,'b','E','S','E',O_BSET|O_UNSZ,"bset",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x48,0xf8,RS }}},
-{150,'b','E','I','E',O_BSET|O_UNSZ,"bset",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xc0,0xf0,IMM4 }}},
-{150,'b','E','S','E',O_BSET|O_UNSZ,"bset",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x48,0xf8,RS }}},
-{150,'b','E','I','E',O_BSET|O_UNSZ,"bset",2,{IMM4,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xc0,0xf0,IMM4 }}},
-{150,'b','E','I','E',O_BSET|O_UNSZ,"bset",2,{IMM4,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xc0,0xf0,IMM4 }}},
-{150,'b','E','S','E',O_BSET|O_UNSZ,"bset",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x48,0xf8,RS }}},
-{150,'b','E','S','E',O_BSET|O_UNSZ,"bset",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x48,0xf8,RS }}},
-{150,'b','E','I','E',O_BSET|O_UNSZ,"bset",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xc0,0xf0,IMM4 }}},
-{151,'-','B','!','!',O_BRN|O_WORD,"brn.w",1,{PCREL16,0},3,	{{0x31,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{152,'-','B','!','!',O_BRN|O_BYTE,"brn.b",1,{PCREL8,0},2,	{{0x21,0xff,0 },{0x00,0x00,PCREL8 }}},
-{153,'-','B','!','!',O_BRN|O_UNSZ,"brn",1,{PCREL8,0},2,	{{0x21,0xff,0 },{0x00,0x00,PCREL8 }}},
-{153,'-','B','!','!',O_BRN|O_UNSZ,"brn",1,{PCREL16,0},3,	{{0x31,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{154,'-','B','!','!',O_BRA|O_WORD,"bra.w",1,{PCREL16,0},3,	{{0x30,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{155,'-','B','!','!',O_BRA|O_BYTE,"bra.b",1,{PCREL8,0},2,	{{0x20,0xff,0 },{0x00,0x00,PCREL8 }}},
-{156,'-','B','!','!',O_BRA|O_UNSZ,"bra",1,{PCREL8,0},2,	{{0x20,0xff,0 },{0x00,0x00,PCREL8 }}},
-{156,'-','B','!','!',O_BRA|O_UNSZ,"bra",1,{PCREL16,0},3,	{{0x30,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{157,'-','!','!','!',O_BPT|O_UNSZ,"bpt",0,{0,0},1,	{{0x0b,0xff,0 }}},
-{158,'-','B','!','!',O_BPL|O_WORD,"bpl.w",1,{PCREL16,0},3,	{{0x3a,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{159,'-','B','!','!',O_BPL|O_BYTE,"bpl.b",1,{PCREL8,0},2,	{{0x2a,0xff,0 },{0x00,0x00,PCREL8 }}},
-{160,'-','B','!','!',O_BPL|O_UNSZ,"bpl",1,{PCREL8,0},2,	{{0x2a,0xff,0 },{0x00,0x00,PCREL8 }}},
-{160,'-','B','!','!',O_BPL|O_UNSZ,"bpl",1,{PCREL16,0},3,	{{0x3a,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x68,0xf8,RS }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x68,0xf8,RS }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x68,0xf8,RS }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x68,0xf8,RS }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xe0,0xf0,IMM4 }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x68,0xf8,RS }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xe0,0xf0,IMM4 }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x68,0xf8,RS }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xe0,0xf0,IMM4 }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x68,0xf8,RS }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x68,0xf8,RS }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xe0,0xf0,IMM4 }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RN},2,	{{0xa0,0xf8,RN },{0x68,0xf8,RS }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RNIND},2,	{{0xd0,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RN},2,	{{0xa0,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RNIND},2,	{{0xd0,0xf8,RN },{0x68,0xf8,RS }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RNINC},2,	{{0xc0,0xf8,RN },{0x68,0xf8,RS }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RNDEC},2,	{{0xb0,0xf8,RN },{0x68,0xf8,RS }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RNDEC},2,	{{0xb0,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RNINC},2,	{{0xc0,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0xe0,0xf0,IMM4 }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xe0,0xf0,IMM4 }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x68,0xf8,RS }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x68,0xf8,RS }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x68,0xf8,RS }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xe0,0xf0,IMM4 }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x68,0xf8,RS }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xe0,0xf0,IMM4 }}},
-{163,'b','E','S','E',O_BNOT|O_UNSZ,"bnot",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x68,0xf8,RS }}},
-{163,'b','E','S','E',O_BNOT|O_UNSZ,"bnot",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x68,0xf8,RS }}},
-{163,'b','E','I','E',O_BNOT|O_UNSZ,"bnot",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{163,'b','E','I','E',O_BNOT|O_UNSZ,"bnot",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{163,'b','E','S','E',O_BNOT|O_UNSZ,"bnot",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x68,0xf8,RS }}},
-{163,'b','E','S','E',O_BNOT|O_UNSZ,"bnot",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x68,0xf8,RS }}},
-{163,'b','E','I','E',O_BNOT|O_UNSZ,"bnot",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{163,'b','E','I','E',O_BNOT|O_UNSZ,"bnot",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{163,'b','E','S','E',O_BNOT|O_UNSZ,"bnot",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x68,0xf8,RS }}},
-{163,'b','E','I','E',O_BNOT|O_UNSZ,"bnot",2,{IMM4,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xe0,0xf0,IMM4 }}},
-{163,'b','E','S','E',O_BNOT|O_UNSZ,"bnot",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x68,0xf8,RS }}},
-{163,'b','E','I','E',O_BNOT|O_UNSZ,"bnot",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xe0,0xf0,IMM4 }}},
-{163,'b','E','S','E',O_BNOT|O_UNSZ,"bnot",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x68,0xf8,RS }}},
-{163,'b','E','I','E',O_BNOT|O_UNSZ,"bnot",2,{IMM4,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xe0,0xf0,IMM4 }}},
-{163,'b','E','S','E',O_BNOT|O_UNSZ,"bnot",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x68,0xf8,RS }}},
-{163,'b','E','I','E',O_BNOT|O_UNSZ,"bnot",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xe0,0xf0,IMM4 }}},
-{164,'-','B','!','!',O_BNE|O_WORD,"bne.w",1,{PCREL16,0},3,	{{0x36,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{165,'-','B','!','!',O_BNE|O_BYTE,"bne.b",1,{PCREL8,0},2,	{{0x26,0xff,0 },{0x00,0x00,PCREL8 }}},
-{166,'-','B','!','!',O_BNE|O_UNSZ,"bne",1,{PCREL8,0},2,	{{0x26,0xff,0 },{0x00,0x00,PCREL8 }}},
-{166,'-','B','!','!',O_BNE|O_UNSZ,"bne",1,{PCREL16,0},3,	{{0x36,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{167,'-','B','!','!',O_BMI|O_WORD,"bmi.w",1,{PCREL16,0},3,	{{0x3b,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{168,'-','B','!','!',O_BMI|O_BYTE,"bmi.b",1,{PCREL8,0},2,	{{0x2b,0xff,0 },{0x00,0x00,PCREL8 }}},
-{169,'-','B','!','!',O_BMI|O_UNSZ,"bmi",1,{PCREL8,0},2,	{{0x2b,0xff,0 },{0x00,0x00,PCREL8 }}},
-{169,'-','B','!','!',O_BMI|O_UNSZ,"bmi",1,{PCREL16,0},3,	{{0x3b,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{170,'-','B','!','!',O_BLT|O_WORD,"blt.w",1,{PCREL16,0},3,	{{0x3d,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{171,'-','B','!','!',O_BLT|O_BYTE,"blt.b",1,{PCREL8,0},2,	{{0x2d,0xff,0 },{0x00,0x00,PCREL8 }}},
-{172,'-','B','!','!',O_BLT|O_UNSZ,"blt",1,{PCREL8,0},2,	{{0x2d,0xff,0 },{0x00,0x00,PCREL8 }}},
-{172,'-','B','!','!',O_BLT|O_UNSZ,"blt",1,{PCREL16,0},3,	{{0x3d,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{173,'-','B','!','!',O_BLS|O_WORD,"bls.w",1,{PCREL16,0},3,	{{0x33,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{174,'-','B','!','!',O_BLS|O_BYTE,"bls.b",1,{PCREL8,0},2,	{{0x23,0xff,0 },{0x00,0x00,PCREL8 }}},
-{175,'-','B','!','!',O_BLS|O_UNSZ,"bls",1,{PCREL8,0},2,	{{0x23,0xff,0 },{0x00,0x00,PCREL8 }}},
-{175,'-','B','!','!',O_BLS|O_UNSZ,"bls",1,{PCREL16,0},3,	{{0x33,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{176,'-','B','!','!',O_BLO|O_WORD,"blo.w",1,{PCREL16,0},3,	{{0x35,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{177,'-','B','!','!',O_BLO|O_BYTE,"blo.b",1,{PCREL8,0},2,	{{0x25,0xff,0 },{0x00,0x00,PCREL8 }}},
-{178,'-','B','!','!',O_BLO|O_UNSZ,"blo",1,{PCREL8,0},2,	{{0x25,0xff,0 },{0x00,0x00,PCREL8 }}},
-{178,'-','B','!','!',O_BLO|O_UNSZ,"blo",1,{PCREL16,0},3,	{{0x35,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{179,'-','B','!','!',O_BLE|O_WORD,"ble.w",1,{PCREL16,0},3,	{{0x3f,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{180,'-','B','!','!',O_BLE|O_BYTE,"ble.b",1,{PCREL8,0},2,	{{0x2f,0xff,0 },{0x00,0x00,PCREL8 }}},
-{181,'-','B','!','!',O_BLE|O_UNSZ,"ble",1,{PCREL8,0},2,	{{0x2f,0xff,0 },{0x00,0x00,PCREL8 }}},
-{181,'-','B','!','!',O_BLE|O_UNSZ,"ble",1,{PCREL16,0},3,	{{0x3f,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{182,'-','B','!','!',O_BHS|O_WORD,"bhs.w",1,{PCREL16,0},3,	{{0x34,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{183,'-','B','!','!',O_BHS|O_BYTE,"bhs.b",1,{PCREL8,0},2,	{{0x24,0xff,0 },{0x00,0x00,PCREL8 }}},
-{184,'-','B','!','!',O_BHS|O_UNSZ,"bhs",1,{PCREL8,0},2,	{{0x24,0xff,0 },{0x00,0x00,PCREL8 }}},
-{184,'-','B','!','!',O_BHS|O_UNSZ,"bhs",1,{PCREL16,0},3,	{{0x34,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{185,'-','B','!','!',O_BHI|O_WORD,"bhi.w",1,{PCREL16,0},3,	{{0x32,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{186,'-','B','!','!',O_BHI|O_BYTE,"bhi.b",1,{PCREL8,0},2,	{{0x22,0xff,0 },{0x00,0x00,PCREL8 }}},
-{187,'-','B','!','!',O_BHI|O_UNSZ,"bhi",1,{PCREL8,0},2,	{{0x22,0xff,0 },{0x00,0x00,PCREL8 }}},
-{187,'-','B','!','!',O_BHI|O_UNSZ,"bhi",1,{PCREL16,0},3,	{{0x32,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{188,'-','B','!','!',O_BGT|O_WORD,"bgt.w",1,{PCREL16,0},3,	{{0x3e,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{189,'-','B','!','!',O_BGT|O_BYTE,"bgt.b",1,{PCREL8,0},2,	{{0x2e,0xff,0 },{0x00,0x00,PCREL8 }}},
-{190,'-','B','!','!',O_BGT|O_UNSZ,"bgt",1,{PCREL8,0},2,	{{0x2e,0xff,0 },{0x00,0x00,PCREL8 }}},
-{190,'-','B','!','!',O_BGT|O_UNSZ,"bgt",1,{PCREL16,0},3,	{{0x3e,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{191,'-','B','!','!',O_BGE|O_WORD,"bge.w",1,{PCREL16,0},3,	{{0x3c,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{192,'-','B','!','!',O_BGE|O_BYTE,"bge.b",1,{PCREL8,0},2,	{{0x2c,0xff,0 },{0x00,0x00,PCREL8 }}},
-{193,'-','B','!','!',O_BGE|O_UNSZ,"bge",1,{PCREL8,0},2,	{{0x2c,0xff,0 },{0x00,0x00,PCREL8 }}},
-{193,'-','B','!','!',O_BGE|O_UNSZ,"bge",1,{PCREL16,0},3,	{{0x3c,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{194,'-','B','!','!',O_BF|O_WORD,"bf.w",1,{PCREL16,0},3,	{{0x31,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{195,'-','B','!','!',O_BF|O_BYTE,"bf.b",1,{PCREL8,0},2,	{{0x21,0xff,0 },{0x00,0x00,PCREL8 }}},
-{196,'-','B','!','!',O_BF|O_UNSZ,"bf",1,{PCREL8,0},2,	{{0x21,0xff,0 },{0x00,0x00,PCREL8 }}},
-{196,'-','B','!','!',O_BF|O_UNSZ,"bf",1,{PCREL16,0},3,	{{0x31,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{197,'-','B','!','!',O_BEQ|O_WORD,"beq.w",1,{PCREL16,0},3,	{{0x37,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{198,'-','B','!','!',O_BEQ|O_BYTE,"beq.b",1,{PCREL8,0},2,	{{0x27,0xff,0 },{0x00,0x00,PCREL8 }}},
-{199,'-','B','!','!',O_BEQ|O_UNSZ,"beq",1,{PCREL8,0},2,	{{0x27,0xff,0 },{0x00,0x00,PCREL8 }}},
-{199,'-','B','!','!',O_BEQ|O_UNSZ,"beq",1,{PCREL16,0},3,	{{0x37,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{200,'-','B','!','!',O_BCS|O_WORD,"bcs.w",1,{PCREL16,0},3,	{{0x35,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{201,'-','B','!','!',O_BCS|O_BYTE,"bcs.b",1,{PCREL8,0},2,	{{0x25,0xff,0 },{0x00,0x00,PCREL8 }}},
-{202,'-','B','!','!',O_BCS|O_UNSZ,"bcs",1,{PCREL8,0},2,	{{0x25,0xff,0 },{0x00,0x00,PCREL8 }}},
-{202,'-','B','!','!',O_BCS|O_UNSZ,"bcs",1,{PCREL16,0},3,	{{0x35,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x58,0xf8,RS }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x58,0xf8,RS }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x58,0xf8,RS }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x58,0xf8,RS }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x58,0xf8,RS }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x58,0xf8,RS }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xd0,0xf0,IMM4 }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xd0,0xf0,IMM4 }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x58,0xf8,RS }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x58,0xf8,RS }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xd0,0xf0,IMM4 }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xd0,0xf0,IMM4 }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RN},2,	{{0xa0,0xf8,RN },{0x58,0xf8,RS }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RN},2,	{{0xa0,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RNIND},2,	{{0xd0,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RNIND},2,	{{0xd0,0xf8,RN },{0x58,0xf8,RS }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RNINC},2,	{{0xc0,0xf8,RN },{0x58,0xf8,RS }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RNDEC},2,	{{0xb0,0xf8,RN },{0x58,0xf8,RS }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RNINC},2,	{{0xc0,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RNDEC},2,	{{0xb0,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x58,0xf8,RS }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0xd0,0xf0,IMM4 }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x58,0xf8,RS }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xd0,0xf0,IMM4 }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xd0,0xf0,IMM4 }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x58,0xf8,RS }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x58,0xf8,RS }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xd0,0xf0,IMM4 }}},
-{205,'b','E','S','E',O_BCLR|O_UNSZ,"bclr",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x58,0xf8,RS }}},
-{205,'b','E','I','E',O_BCLR|O_UNSZ,"bclr",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{205,'b','E','I','E',O_BCLR|O_UNSZ,"bclr",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{205,'b','E','S','E',O_BCLR|O_UNSZ,"bclr",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x58,0xf8,RS }}},
-{205,'b','E','S','E',O_BCLR|O_UNSZ,"bclr",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x58,0xf8,RS }}},
-{205,'b','E','S','E',O_BCLR|O_UNSZ,"bclr",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x58,0xf8,RS }}},
-{205,'b','E','I','E',O_BCLR|O_UNSZ,"bclr",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{205,'b','E','I','E',O_BCLR|O_UNSZ,"bclr",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{205,'b','E','S','E',O_BCLR|O_UNSZ,"bclr",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x58,0xf8,RS }}},
-{205,'b','E','I','E',O_BCLR|O_UNSZ,"bclr",2,{IMM4,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xd0,0xf0,IMM4 }}},
-{205,'b','E','S','E',O_BCLR|O_UNSZ,"bclr",2,{RS,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x58,0xf8,RS }}},
-{205,'b','E','I','E',O_BCLR|O_UNSZ,"bclr",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xd0,0xf0,IMM4 }}},
-{205,'b','E','I','E',O_BCLR|O_UNSZ,"bclr",2,{IMM4,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xd0,0xf0,IMM4 }}},
-{205,'b','E','S','E',O_BCLR|O_UNSZ,"bclr",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x58,0xf8,RS }}},
-{205,'b','E','S','E',O_BCLR|O_UNSZ,"bclr",2,{RS,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x58,0xf8,RS }}},
-{205,'b','E','I','E',O_BCLR|O_UNSZ,"bclr",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xd0,0xf0,IMM4 }}},
-{206,'-','B','!','!',O_BCC|O_WORD,"bcc.w",1,{PCREL16,0},3,	{{0x34,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{207,'-','B','!','!',O_BCC|O_BYTE,"bcc.b",1,{PCREL8,0},2,	{{0x24,0xff,0 },{0x00,0x00,PCREL8 }}},
-{208,'-','B','!','!',O_BCC|O_UNSZ,"bcc",1,{PCREL8,0},2,	{{0x24,0xff,0 },{0x00,0x00,PCREL8 }}},
-{208,'-','B','!','!',O_BCC|O_UNSZ,"bcc",1,{PCREL16,0},3,	{{0x34,0xff,0 },{0x00,0x00,PCREL16 },{0x00,0x00,0 }}},
-{209,'s','I','S','S',O_ANDC|O_WORD,"andc.w",2,{IMM16,CRW},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x58,0xf8,CRW }}},
-{210,'s','I','S','S',O_ANDC|O_BYTE,"andc.b",2,{IMM8,CRB},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x58,0xf8,CRB }}},
-{211,'s','I','S','S',O_ANDC|O_UNSZ,"andc",2,{IMM8,CRB},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x58,0xf8,CRB }}},
-{211,'s','I','S','S',O_ANDC|O_UNSZ,"andc",2,{IMM16,CRW},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x58,0xf8,CRW }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x50,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x50,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x50,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x50,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x50,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x50,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x50,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x50,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x50,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x50,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x50,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x50,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x50,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x50,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x50,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x50,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x50,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x50,0xf8,RD }}},
-{214,'m','E','D','D',O_AND|O_UNSZ,"and",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x50,0xf8,RD }}},
-{214,'m','E','D','D',O_AND|O_UNSZ,"and",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x50,0xf8,RD }}},
-{214,'m','E','D','D',O_AND|O_UNSZ,"and",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x50,0xf8,RD }}},
-{214,'m','E','D','D',O_AND|O_UNSZ,"and",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x50,0xf8,RD }}},
-{214,'m','E','D','D',O_AND|O_UNSZ,"and",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x50,0xf8,RD }}},
-{214,'m','E','D','D',O_AND|O_UNSZ,"and",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x50,0xf8,RD }}},
-{214,'m','E','D','D',O_AND|O_UNSZ,"and",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x50,0xf8,RD }}},
-{214,'m','E','D','D',O_AND|O_UNSZ,"and",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x50,0xf8,RD }}},
-{214,'m','E','D','D',O_AND|O_UNSZ,"and",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x50,0xf8,RD }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xa0,0xf8,RD }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xa0,0xf8,RD }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xa0,0xf8,RD }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xa0,0xf8,RD }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xa0,0xf8,RD }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xa0,0xf8,RD }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xa0,0xf8,RD }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0xa0,0xf8,RD }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xa0,0xf8,RD }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0xa0,0xf8,RD }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0xa0,0xf8,RD }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0xa0,0xf8,RD }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0xa0,0xf8,RD }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0xa0,0xf8,RD }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0xa0,0xf8,RD }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xa0,0xf8,RD }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xa0,0xf8,RD }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xa0,0xf8,RD }}},
-{217,'a','E','D','D',O_ADDX|O_UNSZ,"addx",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xa0,0xf8,RD }}},
-{217,'a','E','D','D',O_ADDX|O_UNSZ,"addx",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xa0,0xf8,RD }}},
-{217,'a','E','D','D',O_ADDX|O_UNSZ,"addx",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xa0,0xf8,RD }}},
-{217,'a','E','D','D',O_ADDX|O_UNSZ,"addx",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xa0,0xf8,RD }}},
-{217,'a','E','D','D',O_ADDX|O_UNSZ,"addx",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0xa0,0xf8,RD }}},
-{217,'a','E','D','D',O_ADDX|O_UNSZ,"addx",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xa0,0xf8,RD }}},
-{217,'a','E','D','D',O_ADDX|O_UNSZ,"addx",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0xa0,0xf8,RD }}},
-{217,'a','E','D','D',O_ADDX|O_UNSZ,"addx",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0xa0,0xf8,RD }}},
-{217,'a','E','D','D',O_ADDX|O_UNSZ,"addx",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0xa0,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x28,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x28,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x28,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x28,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x28,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x28,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x28,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x28,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x28,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x28,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x28,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x28,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x28,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x28,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x28,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x28,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x28,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x28,0xf8,RD }}},
-{220,'-','E','D','D',O_ADDS|O_UNSZ,"adds",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x28,0xf8,RD }}},
-{220,'-','E','D','D',O_ADDS|O_UNSZ,"adds",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x28,0xf8,RD }}},
-{220,'-','E','D','D',O_ADDS|O_UNSZ,"adds",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x28,0xf8,RD }}},
-{220,'-','E','D','D',O_ADDS|O_UNSZ,"adds",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x28,0xf8,RD }}},
-{220,'-','E','D','D',O_ADDS|O_UNSZ,"adds",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x28,0xf8,RD }}},
-{220,'-','E','D','D',O_ADDS|O_UNSZ,"adds",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x28,0xf8,RD }}},
-{220,'-','E','D','D',O_ADDS|O_UNSZ,"adds",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x28,0xf8,RD }}},
-{220,'-','E','D','D',O_ADDS|O_UNSZ,"adds",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x28,0xf8,RD }}},
-{220,'-','E','D','D',O_ADDS|O_UNSZ,"adds",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x28,0xf8,RD }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RN},2,	{{0xa8,0xf8,RN },{0x08,0xf8,QIM }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RNINC},2,	{{0xc8,0xf8,RN },{0x08,0xf8,QIM }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RNDEC},2,	{{0xb8,0xf8,RN },{0x08,0xf8,QIM }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RNIND},2,	{{0xd8,0xf8,RN },{0x08,0xf8,QIM }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x08,0xf8,QIM }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x08,0xf8,QIM }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RN},2,	{{0xa0,0xf8,RN },{0x08,0xf8,QIM }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RNINC},2,	{{0xc0,0xf8,RN },{0x08,0xf8,QIM }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RNDEC},2,	{{0xb0,0xf8,RN },{0x08,0xf8,QIM }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RNIND},2,	{{0xd0,0xf8,RN },{0x08,0xf8,QIM }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x08,0xf8,QIM }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x08,0xf8,QIM }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{223,'a','I','E','E',O_ADD|O_UNSZ,"add:q",2,{QIM,RN},2,	{{0xa8,0xf8,RN },{0x08,0xf8,QIM }}},
-{223,'a','I','E','E',O_ADD|O_UNSZ,"add:q",2,{QIM,RNDEC},2,	{{0xb8,0xf8,RN },{0x08,0xf8,QIM }}},
-{223,'a','I','E','E',O_ADD|O_UNSZ,"add:q",2,{QIM,RNINC},2,	{{0xc8,0xf8,RN },{0x08,0xf8,QIM }}},
-{223,'a','I','E','E',O_ADD|O_UNSZ,"add:q",2,{QIM,RNIND},2,	{{0xd8,0xf8,RN },{0x08,0xf8,QIM }}},
-{223,'a','I','E','E',O_ADD|O_UNSZ,"add:q",2,{QIM,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x08,0xf8,QIM }}},
-{223,'a','I','E','E',O_ADD|O_UNSZ,"add:q",2,{QIM,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x08,0xf8,QIM }}},
-{223,'a','I','E','E',O_ADD|O_UNSZ,"add:q",2,{QIM,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{223,'a','I','E','E',O_ADD|O_UNSZ,"add:q",2,{QIM,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x20,0xf8,RD }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x20,0xf8,RD }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x20,0xf8,RD }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x20,0xf8,RD }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x20,0xf8,RD }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x20,0xf8,RD }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x20,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x20,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x20,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x20,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x20,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x20,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x20,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{226,'a','E','D','D',O_ADD|O_UNSZ,"add:g",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x20,0xf8,RD }}},
-{226,'a','E','D','D',O_ADD|O_UNSZ,"add:g",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x20,0xf8,RD }}},
-{226,'a','E','D','D',O_ADD|O_UNSZ,"add:g",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x20,0xf8,RD }}},
-{226,'a','E','D','D',O_ADD|O_UNSZ,"add:g",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x20,0xf8,RD }}},
-{226,'a','E','D','D',O_ADD|O_UNSZ,"add:g",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x20,0xf8,RD }}},
-{226,'a','E','D','D',O_ADD|O_UNSZ,"add:g",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x20,0xf8,RD }}},
-{226,'a','E','D','D',O_ADD|O_UNSZ,"add:g",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{226,'a','E','D','D',O_ADD|O_UNSZ,"add:g",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{226,'a','E','D','D',O_ADD|O_UNSZ,"add:g",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{227,'a','E','D','D',O_ADD|O_WORD,"add.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x20,0xf8,RD }}},
-{227,'a','I','E','E',O_ADD|O_WORD,"add.w",2,{QIM,RN},2,	{{0xa8,0xf8,RN },{0x08,0xf8,QIM }}},
-{227,'a','I','E','E',O_ADD|O_WORD,"add.w",2,{QIM,RNIND},2,	{{0xd8,0xf8,RN },{0x08,0xf8,QIM }}},
-{227,'a','E','D','D',O_ADD|O_WORD,"add.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x20,0xf8,RD }}},
-{227,'a','I','E','E',O_ADD|O_WORD,"add.w",2,{QIM,RNDEC},2,	{{0xb8,0xf8,RN },{0x08,0xf8,QIM }}},
-{227,'a','I','E','E',O_ADD|O_WORD,"add.w",2,{QIM,RNINC},2,	{{0xc8,0xf8,RN },{0x08,0xf8,QIM }}},
-{227,'a','E','D','D',O_ADD|O_WORD,"add.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x20,0xf8,RD }}},
-{227,'a','E','D','D',O_ADD|O_WORD,"add.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x20,0xf8,RD }}},
-{227,'a','I','E','E',O_ADD|O_WORD,"add.w",2,{QIM,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x08,0xf8,QIM }}},
-{227,'a','I','E','E',O_ADD|O_WORD,"add.w",2,{QIM,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x08,0xf8,QIM }}},
-{227,'a','E','D','D',O_ADD|O_WORD,"add.w",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x20,0xf8,RD }}},
-{227,'a','E','D','D',O_ADD|O_WORD,"add.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x20,0xf8,RD }}},
-{227,'a','E','D','D',O_ADD|O_WORD,"add.w",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{227,'a','I','E','E',O_ADD|O_WORD,"add.w",2,{QIM,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{227,'a','E','D','D',O_ADD|O_WORD,"add.w",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{227,'a','I','E','E',O_ADD|O_WORD,"add.w",2,{QIM,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{227,'a','E','D','D',O_ADD|O_WORD,"add.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{228,'a','E','D','D',O_ADD|O_BYTE,"add.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x20,0xf8,RD }}},
-{228,'a','I','E','E',O_ADD|O_BYTE,"add.b",2,{QIM,RN},2,	{{0xa0,0xf8,RN },{0x08,0xf8,QIM }}},
-{228,'a','I','E','E',O_ADD|O_BYTE,"add.b",2,{QIM,RNINC},2,	{{0xc0,0xf8,RN },{0x08,0xf8,QIM }}},
-{228,'a','E','D','D',O_ADD|O_BYTE,"add.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x20,0xf8,RD }}},
-{228,'a','I','E','E',O_ADD|O_BYTE,"add.b",2,{QIM,RNIND},2,	{{0xd0,0xf8,RN },{0x08,0xf8,QIM }}},
-{228,'a','E','D','D',O_ADD|O_BYTE,"add.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x20,0xf8,RD }}},
-{228,'a','I','E','E',O_ADD|O_BYTE,"add.b",2,{QIM,RNDEC},2,	{{0xb0,0xf8,RN },{0x08,0xf8,QIM }}},
-{228,'a','E','D','D',O_ADD|O_BYTE,"add.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x20,0xf8,RD }}},
-{228,'a','I','E','E',O_ADD|O_BYTE,"add.b",2,{QIM,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x08,0xf8,QIM }}},
-{228,'a','E','D','D',O_ADD|O_BYTE,"add.b",2,{IMM8,RD},3,	{{0x04,0xff,0 },{0x00,0x00,IMM8 },{0x20,0xf8,RD }}},
-{228,'a','I','E','E',O_ADD|O_BYTE,"add.b",2,{QIM,ABS8},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x08,0xf8,QIM }}},
-{228,'a','E','D','D',O_ADD|O_BYTE,"add.b",2,{ABS8,RD},3,	{{0x05,0xff,0 },{0x00,0x00,ABS8 },{0x20,0xf8,RD }}},
-{228,'a','E','D','D',O_ADD|O_BYTE,"add.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x20,0xf8,RD }}},
-{228,'a','I','E','E',O_ADD|O_BYTE,"add.b",2,{QIM,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{228,'a','I','E','E',O_ADD|O_BYTE,"add.b",2,{QIM,ABS16},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{228,'a','E','D','D',O_ADD|O_BYTE,"add.b",2,{ABS16,RD},4,	{{0x15,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{228,'a','E','D','D',O_ADD|O_BYTE,"add.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{229,'a','E','D','D',O_ADD|O_UNSZ,"add",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x20,0xf8,RD }}},
-{229,'a','I','E','E',O_ADD|O_UNSZ,"add",2,{QIM,RN},2,	{{0xa8,0xf8,RN },{0x08,0xf8,QIM }}},
-{229,'a','I','E','E',O_ADD|O_UNSZ,"add",2,{QIM,RNDEC},2,	{{0xb8,0xf8,RN },{0x08,0xf8,QIM }}},
-{229,'a','E','D','D',O_ADD|O_UNSZ,"add",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x20,0xf8,RD }}},
-{229,'a','I','E','E',O_ADD|O_UNSZ,"add",2,{QIM,RNIND},2,	{{0xd8,0xf8,RN },{0x08,0xf8,QIM }}},
-{229,'a','I','E','E',O_ADD|O_UNSZ,"add",2,{QIM,RNINC},2,	{{0xc8,0xf8,RN },{0x08,0xf8,QIM }}},
-{229,'a','E','D','D',O_ADD|O_UNSZ,"add",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x20,0xf8,RD }}},
-{229,'a','E','D','D',O_ADD|O_UNSZ,"add",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x20,0xf8,RD }}},
-{229,'a','I','E','E',O_ADD|O_UNSZ,"add",2,{QIM,ABS8},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x08,0xf8,QIM }}},
-{229,'a','I','E','E',O_ADD|O_UNSZ,"add",2,{QIM,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x08,0xf8,QIM }}},
-{229,'a','E','D','D',O_ADD|O_UNSZ,"add",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x20,0xf8,RD }}},
-{229,'a','E','D','D',O_ADD|O_UNSZ,"add",2,{ABS8,RD},3,	{{0x0d,0xff,0 },{0x00,0x00,ABS8 },{0x20,0xf8,RD }}},
-{229,'a','E','D','D',O_ADD|O_UNSZ,"add",2,{ABS16,RD},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{229,'a','I','E','E',O_ADD|O_UNSZ,"add",2,{QIM,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{229,'a','E','D','D',O_ADD|O_UNSZ,"add",2,{IMM16,RD},4,	{{0x0c,0xff,0 },{0x00,0x00,IMM16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{229,'a','I','E','E',O_ADD|O_UNSZ,"add",2,{QIM,ABS16},4,	{{0x1d,0xff,0 },{0x00,0x00,ABS16 },{0x00,0x00,0 },{0x08,0xf8,QIM }}},
-{229,'a','E','D','D',O_ADD|O_UNSZ,"add",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0 },{0x20,0xf8,RD }}},
-{0,0,0,0,0,0,0,0,{0,0},0,{{0,0,0}}}
-}
-#endif
-;
-#endif
-#ifdef DISASSEMBLER_TABLE
-#ifdef DEFINE_TABLE
-={
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x60,0xf8,RD }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RN},2,	{{0xa0,0xf8,RN },{0x98,0xf8,CRB }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x60,0xf8,RD }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RNDEC},2,	{{0xb0,0xf8,RN },{0x98,0xf8,CRB }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x60,0xf8,RD }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RNINC},2,	{{0xc0,0xf8,RN },{0x98,0xf8,CRB }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x60,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x60,0xf8,RD }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RNIND},2,	{{0xd0,0xf8,RN },{0x98,0xf8,CRB }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x60,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x30,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x60,0xf8,RD }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x98,0xf8,CRB }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x60,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x30,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x60,0xf8,RD }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x98,0xf8,CRB }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x60,0xf8,RD }}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x30,0xf8,RD }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x16,0xff,0}}},
-{6,'-','X','!','!',O_XCH|O_WORD,"xch.w",2,{RS,RD},2,	{{0xa8,0xf8,RS },{0x90,0xf8,RD }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x16,0xff,0}}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x30,0xf8,RD }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x16,0xff,0}}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x30,0xf8,RD }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x16,0xff,0}}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x30,0xf8,RD }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x16,0xff,0}}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x16,0xff,0}}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x30,0xf8,RD }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x16,0xff,0}}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x30,0xf8,RD }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x16,0xff,0}}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x16,0xff,0}}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x30,0xf8,RD }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x16,0xff,0}}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x16,0xff,0}}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x30,0xf8,RD }}},
-{16,'m','D','!','D',O_SWAP|O_WORD,"swap.b",1,{RD,0},2,	{{0xa0,0xf8,RD },{0x10,0xff,0}}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x17,0xff,0}}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x30,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xb0,0xf8,RD }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x17,0xff,0}}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xb0,0xf8,RD }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x17,0xff,0}}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x30,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x38,0xf8,RD }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x17,0xff,0}}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xb0,0xf8,RD }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x17,0xff,0}}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x38,0xf8,RD }}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x17,0xff,0}}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x38,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0xb0,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x38,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0xb0,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x38,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x38,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0xb0,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x38,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xb0,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0xb0,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xb0,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x38,0xf8,RD }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xb0,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x38,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x38,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xb0,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xb0,0xf8,RD }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x16,0xff,0}}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x30,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x38,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x60,0xf8,RD }}},
-{2,'s','E','C','C',O_XORC|O_BYTE,"xorc.b",2,{IMM8,CRB},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x68,0xf8,CRB }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0xb0,0xf8,RD }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x16,0xff,0}}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x17,0xff,0}}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x30,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x38,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x60,0xf8,RD }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,ABS8},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x98,0xf8,CRB }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0xb0,0xf8,RD }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x16,0xff,0}}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x17,0xff,0}}},
-{12,'-','I','!','!',O_TRAPA|O_UNSZ,"trapa",1,{IMM4,0},2,	{{0x08,0xff,0},{0x10,0xf0,IMM4 }}},
-{13,'-','B','!','!',O_TRAP_VS|O_UNSZ,"trap/vs",0,{0,0},1,	{{0x09,0xff,0}}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x30,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x38,0xf8,RD }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x60,0xf8,RD }}},
-{1,'s','E','C','C',O_XORC|O_WORD,"xorc.w",2,{IMM16,CRW},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x68,0xf8,CRW }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0xb0,0xf8,RD }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x16,0xff,0}}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x30,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x38,0xf8,RD }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x60,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0xb0,0xf8,RD }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x16,0xff,0}}},
-{8,'-','B','!','!',O_UNLK|O_UNSZ,"unlk",1,{FP,0},1,	{{0x0f,0xff,0}}},
-{25,'a','E','D','D',O_SUB|O_BYTE,"sub.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x30,0xf8,RD }}},
-{22,'-','E','D','D',O_SUBS|O_BYTE,"subs.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x38,0xf8,RD }}},
-{4,'m','E','D','D',O_XOR|O_BYTE,"xor.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x60,0xf8,RD }}},
-{29,'s','C','!','E',O_STC|O_BYTE,"stc.b",2,{CRB,ABS16},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x98,0xf8,CRB }}},
-{27,'-','I','!','E',O_STM|O_UNSZ,"stm",2,{RLIST,SPDEC},2,	{{0x12,0xff,0},{0x00,0x00,RLIST }}},
-{19,'a','E','D','D',O_SUBX|O_BYTE,"subx.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xb0,0xf8,RD }}},
-{10,'a','E','!','!',O_TST|O_BYTE,"tst.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x16,0xff,0}}},
-{14,'s','E','!','E',O_TAS|O_BYTE,"tas.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x17,0xff,0}}},
-{24,'a','E','D','D',O_SUB|O_WORD,"sub.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x30,0xf8,RD }}},
-{21,'-','E','D','D',O_SUBS|O_WORD,"subs.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x38,0xf8,RD }}},
-{3,'m','E','D','D',O_XOR|O_WORD,"xor.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x60,0xf8,RD }}},
-{18,'a','E','D','D',O_SUBX|O_WORD,"subx.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xb0,0xf8,RD }}},
-{9,'a','E','!','!',O_TST|O_WORD,"tst.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x16,0xff,0}}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x19,0xff,0}}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x19,0xff,0}}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1b,0xff,0}}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x19,0xff,0}}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x19,0xff,0}}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x19,0xff,0}}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1b,0xff,0}}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x19,0xff,0}}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1b,0xff,0}}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1a,0xff,0}}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1b,0xff,0}}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x19,0xff,0}}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1a,0xff,0}}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1b,0xff,0}}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x19,0xff,0}}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1a,0xff,0}}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1b,0xff,0}}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1a,0xff,0}}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1b,0xff,0}}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1a,0xff,0}}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1a,0xff,0}}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1a,0xff,0}}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1a,0xff,0}}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1a,0xff,0}}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1b,0xff,0}}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1a,0xff,0}}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1a,0xff,0}}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1b,0xff,0}}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1a,0xff,0}}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x1a,0xff,0}}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x1b,0xff,0}}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x1a,0xff,0}}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x1a,0xff,0}}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x1a,0xff,0}}},
-{36,'h','E','!','E',O_SHLL|O_BYTE,"shll.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1a,0xff,0}}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1b,0xff,0}}},
-{35,'h','E','!','E',O_SHLL|O_WORD,"shll.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1a,0xff,0}}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1b,0xff,0}}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x19,0xff,0}}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x19,0xff,0}}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1b,0xff,0}}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x19,0xff,0}}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x19,0xff,0}}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1b,0xff,0}}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x19,0xff,0}}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x19,0xff,0}}},
-{33,'h','E','!','E',O_SHLR|O_BYTE,"shlr.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x1b,0xff,0}}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x19,0xff,0}}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x1b,0xff,0}}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x19,0xff,0}}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x1b,0xff,0}}},
-{39,'h','E','!','E',O_SHAR|O_BYTE,"shar.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x19,0xff,0}}},
-{31,'-','!','!','!',O_SLEEP|O_UNSZ,"sleep",0,{0,0},1,	{{0x1a,0xff,0}}},
-{38,'h','E','!','E',O_SHAR|O_WORD,"shar.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x19,0xff,0}}},
-{32,'h','E','!','E',O_SHLR|O_WORD,"shlr.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1b,0xff,0}}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x18,0xff,0}}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x18,0xff,0}}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x18,0xff,0}}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x18,0xff,0}}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1e,0xff,0}}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x18,0xff,0}}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x18,0xff,0}}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x18,0xff,0}}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x18,0xff,0}}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x18,0xff,0}}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1e,0xff,0}}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x18,0xff,0}}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1e,0xff,0}}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x18,0xff,0}}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1e,0xff,0}}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x18,0xff,0}}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1e,0xff,0}}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x18,0xff,0}}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1f,0xff,0}}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1e,0xff,0}}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1f,0xff,0}}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1e,0xff,0}}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1f,0xff,0}}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1e,0xff,0}}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1f,0xff,0}}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1e,0xff,0}}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1f,0xff,0}}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1e,0xff,0}}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1f,0xff,0}}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1e,0xff,0}}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1f,0xff,0}}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1e,0xff,0}}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1f,0xff,0}}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1f,0xff,0}}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1f,0xff,0}}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1f,0xff,0}}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1f,0xff,0}}},
-{45,'-','B','S','S',O_SCB_F|O_UNSZ,"scb/f",2,{RS,PCREL8},3,	{{0x01,0xff,0},{0xb8,0xf8,RS },{0x00,0x00,PCREL8 }}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x1e,0xff,0}}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x1f,0xff,0}}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x1f,0xff,0}}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x1f,0xff,0}}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x18,0xff,0}}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x1e,0xff,0}}},
-{44,'-','B','S','S',O_SCB_NE|O_UNSZ,"scb/ne",2,{RS,PCREL8},3,	{{0x06,0xff,0},{0xb8,0xf8,RS },{0x00,0x00,PCREL8 }}},
-{46,'-','B','S','S',O_SCB_EQ|O_UNSZ,"scb/eq",2,{RS,PCREL8},3,	{{0x07,0xff,0},{0xb8,0xf8,RS },{0x00,0x00,PCREL8 }}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x18,0xff,0}}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x1e,0xff,0}}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x18,0xff,0}}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x1e,0xff,0}}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x1f,0xff,0}}},
-{48,'-','B','!','!',O_RTD|O_UNSZ,"rtd",1,{IMM16,0},3,	{{0x14,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{48,'-','B','!','!',O_RTD|O_UNSZ,"rtd",1,{IMM8,0},2,	{{0x14,0xff,0},{0x00,0x00,IMM8 }}},
-{42,'h','E','!','E',O_SHAL|O_BYTE,"shal.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x18,0xff,0}}},
-{53,'h','E','!','E',O_ROTXL|O_BYTE,"rotxl.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1e,0xff,0}}},
-{50,'h','E','!','E',O_ROTXR|O_BYTE,"rotxr.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1f,0xff,0}}},
-{47,'-','B','!','!',O_RTS|O_UNSZ,"rts",0,{0,0},1,	{{0x19,0xff,0}}},
-{41,'h','E','!','E',O_SHAL|O_WORD,"shal.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x18,0xff,0}}},
-{52,'h','E','!','E',O_ROTXL|O_WORD,"rotxl.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1e,0xff,0}}},
-{49,'h','E','!','E',O_ROTXR|O_WORD,"rotxr.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1f,0xff,0}}},
-{99,'m','I','!','D',O_MOV|O_BYTE,"mov:e.b",2,{IMM8,RD},2,	{{0x50,0xf8,RD },{0x00,0x00,IMM8 }}},
-{97,'m','E','!','D',O_MOV|O_BYTE,"mov:f.b",2,{FPIND_D8,RD},2,	{{0x80,0xf8,RD },{0x00,0x00,FPIND_D8 }}},
-{96,'m','E','!','D',O_MOV|O_WORD,"mov:f.w",2,{FPIND_D8,RD},2,	{{0x88,0xf8,RD },{0x00,0x00,FPIND_D8 }}},
-{97,'m','S','!','E',O_MOV|O_BYTE,"mov:f.b",2,{RS,FPIND_D8},2,	{{0x90,0xf8,RS },{0x00,0x00,FPIND_D8 }}},
-{96,'m','S','!','E',O_MOV|O_WORD,"mov:f.w",2,{RS,FPIND_D8},2,	{{0x98,0xf8,RS },{0x00,0x00,FPIND_D8 }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x80,0xf8,RD }}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1d,0xff,0}}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,RNDEC},2,	{{0xb0,0xf8,RN },{0x90,0xf8,RS }}},
-{91,'m','I','!','D',O_MOV|O_WORD,"mov:i.w",2,{IMM16,RD},3,	{{0x58,0xf8,RD },{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{89,'m','E','!','D',O_MOV|O_BYTE,"mov:l.b",2,{ABS8,RD},2,	{{0x60,0xf8,RD },{0x00,0x00,ABS8 }}},
-{88,'m','E','!','D',O_MOV|O_WORD,"mov:l.w",2,{ABS8,RD},2,	{{0x68,0xf8,RD },{0x00,0x00,ABS8 }}},
-{86,'m','S','!','E',O_MOV|O_BYTE,"mov:s.b",2,{RS,ABS8},2,	{{0x70,0xf8,RS },{0x00,0x00,ABS8 }}},
-{85,'m','S','!','E',O_MOV|O_WORD,"mov:s.w",2,{RS,ABS8},2,	{{0x78,0xf8,RS },{0x00,0x00,ABS8 }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RN,RD},3,	{{0xa0,0xf8,RN },{0x00,0xff,0},{0x80,0xf8,RD }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1d,0xff,0}}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x80,0xf8,RD }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RNDEC,RD},3,	{{0xb0,0xf8,RN },{0x00,0xff,0},{0x80,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0xa8,0xf8,RD }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RN},3,	{{0xa0,0xf8,RN },{0x00,0xff,0},{0x90,0xf8,RS }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x1c,0xff,0}}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x40,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0xa8,0xf8,RD }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x14,0xff,0}}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x15,0xff,0}}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x1c,0xff,0}}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x40,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xa8,0xf8,RD }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x14,0xff,0}}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x15,0xff,0}}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x40,0xf8,RD }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RNDEC},3,	{{0xb0,0xf8,RN },{0x00,0xff,0},{0x90,0xf8,RS }}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1c,0xff,0}}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x14,0xff,0}}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x40,0xf8,RD }}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1c,0xff,0}}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x14,0xff,0}}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x15,0xff,0}}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x40,0xf8,RD }}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x15,0xff,0}}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1d,0xff,0}}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x14,0xff,0}}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x15,0xff,0}}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x40,0xf8,RD }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x14,0xff,0}}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x15,0xff,0}}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1d,0xff,0}}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x40,0xf8,RD }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x14,0xff,0}}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x15,0xff,0}}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1c,0xff,0}}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x40,0xf8,RD }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x14,0xff,0}}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x15,0xff,0}}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1d,0xff,0}}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x40,0xf8,RD }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x14,0xff,0}}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x15,0xff,0}}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1c,0xff,0}}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x40,0xf8,RD }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x14,0xff,0}}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x15,0xff,0}}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1d,0xff,0}}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x40,0xf8,RD }}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x40,0xf8,RD }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x14,0xff,0}}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x15,0xff,0}}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1c,0xff,0}}},
-{63,'-','J','!','!',O_PJSR|O_UNSZ,"pjsr",1,{ABS24,0},4,	{{0x03,0xff,0},{0x00,0x00,ABS24 },{0x00,0x00,0},{0x00,0x00,0}}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x40,0xf8,RD }}},
-{66,'s','I','C','C',O_ORC|O_BYTE,"orc.b",2,{IMM8,CRB},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x48,0xf8,CRB }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x14,0xff,0}}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x1c,0xff,0}}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x40,0xf8,RD }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x80,0xf8,RD }}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x14,0xff,0}}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x15,0xff,0}}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1c,0xff,0}}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x15,0xff,0}}},
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x14,0xff,0}}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x15,0xff,0}}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RNIND_D16},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x06,0xff,0},{0x00,0x00,IMM8 }}},
-{74,'-','!','!','!',O_NOP|O_UNSZ,"nop",0,{0,0},1,	{{0x00,0xff,0}}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x1c,0xff,0}}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x40,0xf8,RD }}},
-{65,'s','I','C','C',O_ORC|O_WORD,"orc.w",2,{IMM16,CRW},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x48,0xf8,CRW }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x14,0xff,0}}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x15,0xff,0}}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x1c,0xff,0}}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x40,0xf8,RD }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x14,0xff,0}}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x15,0xff,0}}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x1d,0xff,0}}},
-{64,'-','J','!','!',O_PJMP|O_UNSZ,"pjmp",1,{RDIND,0},2,	{{0x11,0xff,0},{0xc0,0xf8,RDIND }}},
-{63,'-','J','!','!',O_PJSR|O_UNSZ,"pjsr",1,{RDIND,0},2,	{{0x11,0xff,0},{0xc8,0xf8,RDIND }}},
-{62,'-','B','!','!',O_PRTD|O_UNSZ,"prtd",1,{IMM8,0},3,	{{0x11,0xff,0},{0x14,0xff,0},{0x00,0x00,IMM8 }}},
-{61,'-','B','!','!',O_PRTS|O_UNSZ,"prts",0,{0,0},2,	{{0x11,0xff,0},{0x19,0xff,0}}},
-{62,'-','B','!','!',O_PRTD|O_UNSZ,"prtd",1,{IMM16,0},4,	{{0x11,0xff,0},{0x1c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{64,'-','J','!','!',O_PJMP|O_UNSZ,"pjmp",1,{ABS24,0},4,	{{0x13,0xff,0},{0x00,0x00,ABS24 },{0x00,0x00,0},{0x00,0x00,0}}},
-{69,'m','E','D','D',O_OR|O_BYTE,"or.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x40,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xa8,0xf8,RD }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x1c,0xff,0}}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xa8,0xf8,RD }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x1c,0xff,0}}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0xa8,0xf8,RD }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0xa8,0xf8,RD }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0xa8,0xf8,RD }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x1c,0xff,0}}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,ABS16},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x90,0xf8,RS }}},
-{79,'p','E','D','D',O_MULXU|O_BYTE,"mulxu.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xa8,0xf8,RD }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RNINC},3,	{{0xc0,0xf8,RN },{0x00,0xff,0},{0x90,0xf8,RS }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x1c,0xff,0}}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RNIND},3,	{{0xd0,0xf8,RN },{0x00,0xff,0},{0x90,0xf8,RS }}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x1c,0xff,0}}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RNIND_D8},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x00,0xff,0},{0x90,0xf8,RS }}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x90,0xf8,RS }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,RNIND_D16},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x00,0xff,0},{0x90,0xf8,RS }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,ABS8},4,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x00,0xff,0},{0x90,0xf8,RS }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RNIND,RD},3,	{{0xd0,0xf8,RN },{0x00,0xff,0},{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RNINC,RD},3,	{{0xc0,0xf8,RN },{0x00,0xff,0},{0x80,0xf8,RD }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1d,0xff,0}}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RNIND_D8,RD},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x00,0xff,0},{0x80,0xf8,RD }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RNIND_D8},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x06,0xff,0},{0x00,0x00,IMM8 }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{RNIND_D16,RD},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x00,0xff,0},{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{IMM8,RD},4,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x00,0xff,0},{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{ABS8,RD},4,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x00,0xff,0},{0x80,0xf8,RD }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x1d,0xff,0}}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x1d,0xff,0}}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x1d,0xff,0}}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x80,0xf8,RD }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x80,0xf8,RD }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x1d,0xff,0}}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x90,0xf8,RS }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x90,0xf8,RS }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x80,0xf8,RD }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x90,0xf8,RS }}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x80,0xf8,RD }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x90,0xf8,RS }}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x1d,0xff,0}}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x1d,0xff,0}}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,ABS8},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x90,0xf8,RS }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RNDEC},3,	{{0xb0,0xf8,RN },{0x06,0xff,0},{0x00,0x00,IMM8 }}},
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RNDEC},4,	{{0xb8,0xf8,RN },{0x07,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM8,RNDEC},4,	{{0xb8,0xf8,RN },{0x06,0xff,0},{0x00,0x00,IMM8 },{0x00,0x00,0}}},
-
-
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x80,0xf8,RD }}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,RNINC},2,	{{0xc0,0xf8,RN },{0x90,0xf8,RS }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RNINC},3,	{{0xc0,0xf8,RN },{0x06,0xff,0},{0x00,0x00,IMM8 }}},
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RNINC},4,	{{0xc8,0xf8,RN },{0x07,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM8,RNINC},4,	{{0xc8,0xf8,RN },{0x06,0xff,0},{0x00,0x00,IMM8 },{0x00,0x00,0}}},
-
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x80,0xf8,RD }}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,RNIND},2,	{{0xd0,0xf8,RN },{0x90,0xf8,RS }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RNIND},3,	{{0xd0,0xf8,RN },{0x06,0xff,0},{0x00,0x00,IMM8 }}},
-
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RNIND},4,	{{0xd8,0xf8,RN },{0x07,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM8,RNIND},4,	{{0xd8,0xf8,RN },{0x06,0xff,0},{0x00,0x00,IMM8 },{0x00,0x00,0}}},
-
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x80,0xf8,RD }}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x90,0xf8,RS }}},
-
-
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RNIND_D8},5,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x07,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM8,RNIND_D8},5,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x06,0xff,0},{0x00,0x00,IMM8 },{0x00,0x00,0}}},
-
-
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RNIND_D16},6,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x07,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM8,RNIND_D16},6,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x06,0xff,0},{0x00,0x00,IMM8 },{0x00,0x00,0}}},
-
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x80,0xf8,RD }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x90,0xf8,RS }}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x1d,0xff,0}}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x80,0xf8,RD }}},
-{94,'m','E','!','D',O_MOV|O_BYTE,"mov:g.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x80,0xf8,RD }}},
-{94,'m','S','!','E',O_MOV|O_BYTE,"mov:g.b",2,{RS,ABS8},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x90,0xf8,RS }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,ABS8},4,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x06,0xff,0},{0x00,0x00,IMM8 }}},
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,ABS8},5,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x07,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x80,0xf8,RD }}},
-
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM8,ABS8},5,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x06,0xff,0},{0x00,0x00,IMM8 },{0x00,0x00,0}}},
-
-
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x1d,0xff,0}}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x80,0xf8,RD }}},
-{83,'-','E','!','D',O_MOVFPE|O_BYTE,"movfpe.b",2,{ABS16,RD},5,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x00,0xff,0},{0x80,0xf8,RD }}},
-{81,'-','S','!','E',O_MOVTPE|O_BYTE,"movtpe.b",2,{RS,ABS16},5,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x00,0xff,0},{0x90,0xf8,RS }}},
-{94,'m','I','!','E',O_MOV|O_BYTE,"mov:g.b",2,{IMM8,ABS16},5,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x06,0xff,0},{0x00,0x00,IMM8 }}},
-
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM16,ABS16},6,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x07,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-
-{93,'m','I','!','E',O_MOV|O_WORD,"mov:g.w",2,{IMM8,ABS16},6,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x06,0xff,0},{0x00,0x00,IMM8 },{0x00,0x00,0}}},
-
-{76,'a','E','!','E',O_NEG|O_BYTE,"neg.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x14,0xff,0}}},
-{56,'h','E','!','E',O_ROTR|O_BYTE,"rotr.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1d,0xff,0}}},
-{93,'m','E','!','D',O_MOV|O_WORD,"mov:g.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x80,0xf8,RD }}},
-{93,'m','S','!','E',O_MOV|O_WORD,"mov:g.w",2,{RS,ABS16},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x90,0xf8,RS }}},
-{78,'p','E','D','D',O_MULXU|O_WORD,"mulxu.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xa8,0xf8,RD }}},
-{75,'a','E','!','E',O_NEG|O_WORD,"neg.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x14,0xff,0}}},
-{55,'h','E','!','E',O_ROTR|O_WORD,"rotr.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1d,0xff,0}}},
-{72,'m','E','!','E',O_NOT|O_BYTE,"not.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x15,0xff,0}}},
-{68,'m','E','D','D',O_OR|O_WORD,"or.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x40,0xf8,RD }}},
-{71,'m','E','!','E',O_NOT|O_WORD,"not.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x15,0xff,0}}},
-{58,'h','E','!','E',O_ROTL|O_WORD,"rotl.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1c,0xff,0}}},
-{59,'h','E','!','E',O_ROTL|O_BYTE,"rotl.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x1c,0xff,0}}},
-{125,'a','D','I','!',O_CMP|O_BYTE,"cmp:e.b",2,{IMM8,RD},2,	{{0x40,0xf8,RD },{0x00,0x00,IMM8 }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x70,0xf8,RD }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RN},3,	{{0xa0,0xf8,RN },{0x04,0xff,0},{0x00,0x00,IMM8 }}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x70,0xf8,RD }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RN},4,	{{0xa8,0xf8,RN },{0x05,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RN,CRB},2,	{{0xa0,0xf8,RN },{0x88,0xf8,CRB }}},
-{120,'a','D','I','!',O_CMP|O_WORD,"cmp:i.w",2,{IMM16,RD},3,	{{0x48,0xf8,RD },{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0xb8,0xf8,RD }}},
-{119,'s','D','!','!',O_DADD|O_UNSZ,"dadd",2,{RS,RD},3,	{{0xa0,0xf8,RS },{0x00,0xff,0},{0xa0,0xf8,RD }}},
-{115,'s','D','!','!',O_DSUB|O_UNSZ,"dsub",2,{RS,RD},3,	{{0xa0,0xf8,RS },{0x00,0xff,0},{0xb0,0xf8,RD }}},
-{113,'s','D','!','D',O_EXTS|O_BYTE,"exts.b",1,{RD,0},2,	{{0xa0,0xf8,RD },{0x11,0xff,0}}},
-{111,'s','D','!','D',O_EXTU|O_BYTE,"extu.b",1,{RD,0},2,	{{0xa0,0xf8,RD },{0x12,0xff,0}}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xb8,0xf8,RD }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RNIND_D8,CRB},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x88,0xf8,CRB }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RNIND_D16,CRB},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x88,0xf8,CRB }}},
-{110,'-','B','!','!',O_JMP|O_UNSZ,"jmp",1,{ABS16,0},3,	{{0x10,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0}}},
-{110,'-','B','!','!',O_JMP|O_UNSZ,"jmp",1,{RDIND,0},2,	{{0x11,0xff,0},{0xd0,0xf8,RD }}},
-{109,'-','B','!','!',O_JSR|O_UNSZ,"jsr",1,{RDIND,0},2,	{{0x11,0xff,0},{0xd8,0xf8,RD }}},
-{110,'-','B','!','!',O_JMP|O_UNSZ,"jmp",1,{RDIND_D8,0},3,	{{0x11,0xff,0},{0xe0,0xf8,RDIND_D8 },{0x00,0x00,0}}},
-{109,'-','B','!','!',O_JSR|O_UNSZ,"jsr",1,{RDIND_D8,0},3,	{{0x11,0xff,0},{0xe8,0xf8,RDIND_D8 },{0x00,0x00,0}}},
-{110,'-','B','!','!',O_JMP|O_UNSZ,"jmp",1,{RDIND_D16,0},4,	{{0x11,0xff,0},{0xf0,0xf8,RDIND_D16 },{0x00,0x00,0},{0x00,0x00,0}}},
-{109,'-','B','!','!',O_JSR|O_UNSZ,"jsr",1,{RDIND_D16,0},4,	{{0x11,0xff,0},{0xf8,0xf8,RDIND_D16 },{0x00,0x00,0},{0x00,0x00,0}}},
-{109,'-','B','!','!',O_JSR|O_UNSZ,"jsr",1,{ABS16,0},3,	{{0x18,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0}}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{ABS16,CRB},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x88,0xf8,CRB }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xb8,0xf8,RD }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RNINC,CRB},2,	{{0xc0,0xf8,RN },{0x88,0xf8,CRB }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xb8,0xf8,RD }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RNIND,CRB},2,	{{0xd0,0xf8,RN },{0x88,0xf8,CRB }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xb8,0xf8,RD }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{IMM8,CRB},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x88,0xf8,CRB }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0xb8,0xf8,RD }}},
-{117,'s','E','D','D',O_DIVXU|O_BYTE,"divxu.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xb8,0xf8,RD }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xb8,0xf8,RD }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{ABS8,CRB},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x88,0xf8,CRB }}},
-{116,'s','E','D','D',O_DIVXU|O_WORD,"divxu.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0xb8,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x70,0xf8,RD }}},
-{107,'s','E','!','C',O_LDC|O_BYTE,"ldc.b",2,{RNDEC,CRB},2,	{{0xb0,0xf8,RN },{0x88,0xf8,CRB }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RNDEC},3,	{{0xb0,0xf8,RN },{0x04,0xff,0},{0x00,0x00,IMM8 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RNDEC},4,	{{0xb8,0xf8,RN },{0x05,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x70,0xf8,RD }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RNINC},3,	{{0xc0,0xf8,RN },{0x04,0xff,0},{0x00,0x00,IMM8 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RNINC},4,	{{0xc8,0xf8,RN },{0x05,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x70,0xf8,RD }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RNIND},3,	{{0xd0,0xf8,RN },{0x04,0xff,0},{0x00,0x00,IMM8 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RNIND},4,	{{0xd8,0xf8,RN },{0x05,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x70,0xf8,RD }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RNIND_D8},4,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x04,0xff,0},{0x00,0x00,IMM8 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RNIND_D8},5,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x05,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x70,0xf8,RD }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RNIND_D16},5,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x04,0xff,0},{0x00,0x00,IMM8 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RNIND_D16},6,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x05,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x70,0xf8,RD }}},
-{105,'-','E','!','C',O_LDM|O_UNSZ,"ldm",2,{SPINC,RLIST},2,	{{0x02,0xff,0},{0x00,0x00,RLIST }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x70,0xf8,RD }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,ABS8},4,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x04,0xff,0},{0x00,0x00,IMM8 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,ABS8},5,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x05,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x70,0xf8,RD }}},
-{106,'s','E','!','C',O_LDC|O_WORD,"ldc.w",2,{IMM16,CRW},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x88,0xf8,CRW }}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x70,0xf8,RD }}},
-{123,'a','D','E','!',O_CMP|O_BYTE,"cmp:g.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x70,0xf8,RD }}},
-{123,'a','E','I','!',O_CMP|O_BYTE,"cmp:g.b",2,{IMM8,ABS16},5,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x04,0xff,0},{0x00,0x00,IMM8 }}},
-{122,'a','E','I','!',O_CMP|O_WORD,"cmp:g.w",2,{IMM16,ABS16},6,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x05,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{122,'a','D','E','!',O_CMP|O_WORD,"cmp:g.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x70,0xf8,RD }}},
-{104,'-','S','I','!',O_LINK|O_UNSZ,"link",2,{FP,IMM16},3,	{{0x1f,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0}}},
-{104,'-','S','I','!',O_LINK|O_UNSZ,"link",2,{FP,IMM8},2,	{{0x17,0xff,0},{0x00,0x00,IMM8 }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RN},2,	{{0xa0,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RN},2,	{{0xa0,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RN},2,	{{0xa0,0xf8,RN },{0x48,0xf8,RS }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RN},2,	{{0xa0,0xf8,RN },{0x78,0xf8,RS }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RN,0},2,	{{0xa0,0xf8,RN },{0x13,0xff,0}}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RNDEC,0},2,	{{0xb0,0xf8,RN },{0x13,0xff,0}}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RNINC,0},2,	{{0xc0,0xf8,RN },{0x13,0xff,0}}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RNIND,0},2,	{{0xd0,0xf8,RN },{0x13,0xff,0}}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x78,0xf8,RS }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RNIND_D8,0},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x13,0xff,0}}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x78,0xf8,RS }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{RNIND_D16,0},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x13,0xff,0}}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RNIND_D16,0},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x13,0xff,0}}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{IMM8,0},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x13,0xff,0}}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{ABS8,0},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x13,0xff,0}}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,ABS8},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,ABS8},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x78,0xf8,RS }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x78,0xf8,RS }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RNDEC},2,	{{0xb0,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RNDEC},2,	{{0xb0,0xf8,RN },{0x78,0xf8,RS }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x78,0xf8,RS }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RNDEC,0},2,	{{0xb8,0xf8,RN },{0x13,0xff,0}}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RNINC},2,	{{0xc0,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RNINC},2,	{{0xc0,0xf8,RN },{0x78,0xf8,RS }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x78,0xf8,RS }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RNIND},2,	{{0xd0,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RNIND},2,	{{0xd0,0xf8,RN },{0x78,0xf8,RS }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x78,0xf8,RS }}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xf0,0xf0,IMM4 }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x78,0xf8,RS }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RNIND_D8,0},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x13,0xff,0}}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xf0,0xf0,IMM4 }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x78,0xf8,RS }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{IMM16,0},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x13,0xff,0}}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,ABS8},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0xf0,0xf0,IMM4 }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,ABS8},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x78,0xf8,RS }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{ABS8,0},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x13,0xff,0}}},
-{140,'b','E','I','E',O_BTST|O_BYTE,"btst.b",2,{IMM4,ABS16},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xf0,0xf0,IMM4 }}},
-{140,'b','E','S','E',O_BTST|O_BYTE,"btst.b",2,{RS,ABS16},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x78,0xf8,RS }}},
-{131,'c','!','!','E',O_CLR|O_BYTE,"clr.b",1,{ABS16,0},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x13,0xff,0}}},
-{139,'b','E','I','E',O_BTST|O_WORD,"btst.w",2,{IMM4,ABS16},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xf0,0xf0,IMM4 }}},
-{139,'b','E','S','E',O_BTST|O_WORD,"btst.w",2,{RS,ABS16},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x78,0xf8,RS }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{ABS16,0},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x13,0xff,0}}},
-{137,'-','B','!','!',O_BVC|O_BYTE,"bvc.b",1,{PCREL8,0},2,	{{0x28,0xff,0},{0x00,0x00,PCREL8 }}},
-{134,'-','B','!','!',O_BVS|O_BYTE,"bvs.b",1,{PCREL8,0},2,	{{0x29,0xff,0},{0x00,0x00,PCREL8 }}},
-{136,'-','B','!','!',O_BVC|O_WORD,"bvc.w",1,{PCREL16,0},3,	{{0x38,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{133,'-','B','!','!',O_BVS|O_WORD,"bvs.w",1,{PCREL16,0},3,	{{0x39,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RNDEC},2,	{{0xb0,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RNDEC},2,	{{0xb0,0xf8,RN },{0x48,0xf8,RS }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x48,0xf8,RS }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RN,0},2,	{{0xa8,0xf8,RN },{0x13,0xff,0}}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x48,0xf8,RS }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RNINC},2,	{{0xc0,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RNINC},2,	{{0xc0,0xf8,RN },{0x48,0xf8,RS }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x48,0xf8,RS }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RNINC,0},2,	{{0xc8,0xf8,RN },{0x13,0xff,0}}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RNIND},2,	{{0xd0,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RNIND},2,	{{0xd0,0xf8,RN },{0x48,0xf8,RS }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x48,0xf8,RS }}},
-{130,'c','!','!','E',O_CLR|O_WORD,"clr.w",1,{RNIND,0},2,	{{0xd8,0xf8,RN },{0x13,0xff,0}}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x48,0xf8,RS }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x48,0xf8,RS }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xc0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x48,0xf8,RS }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xc0,0xf0,IMM4 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x48,0xf8,RS }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,ABS8},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0xc0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,ABS8},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x48,0xf8,RS }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,ABS8},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0xc0,0xf0,IMM4 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,ABS8},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x48,0xf8,RS }}},
-{146,'-','B','!','!',O_BSR|O_BYTE,"bsr.b",1,{PCREL8,0},2,	{{0x0e,0xff,0},{0x00,0x00,PCREL8 }}},
-{149,'b','E','I','E',O_BSET|O_BYTE,"bset.b",2,{IMM4,ABS16},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xc0,0xf0,IMM4 }}},
-{149,'b','E','S','E',O_BSET|O_BYTE,"bset.b",2,{RS,ABS16},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x48,0xf8,RS }}},
-{148,'b','E','I','E',O_BSET|O_WORD,"bset.w",2,{IMM4,ABS16},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xc0,0xf0,IMM4 }}},
-{148,'b','E','S','E',O_BSET|O_WORD,"bset.w",2,{RS,ABS16},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x48,0xf8,RS }}},
-{145,'-','B','!','!',O_BSR|O_WORD,"bsr.w",1,{PCREL16,0},3,	{{0x1e,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RN},2,	{{0xa0,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RN},2,	{{0xa0,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RN},2,	{{0xa0,0xf8,RN },{0x08,0xf8,QIM }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x28,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x20,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0x50,0xf8,RD }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RN},2,	{{0xa0,0xf8,RN },{0x58,0xf8,RS }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RN},2,	{{0xa0,0xf8,RN },{0x68,0xf8,RS }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RN,RD},2,	{{0xa0,0xf8,RN },{0xa0,0xf8,RD }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RN},2,	{{0xa8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RN},2,	{{0xa8,0xf8,RN },{0x08,0xf8,QIM }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x20,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x28,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0x50,0xf8,RD }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x58,0xf8,RS }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RN},2,	{{0xa8,0xf8,RN },{0x68,0xf8,RS }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RN,RD},2,	{{0xa8,0xf8,RN },{0xa0,0xf8,RD }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RNDEC},2,	{{0xb0,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RNDEC},2,	{{0xb0,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RNDEC},2,	{{0xb0,0xf8,RN },{0x08,0xf8,QIM }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x20,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x28,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0x50,0xf8,RD }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RNDEC},2,	{{0xb0,0xf8,RN },{0x58,0xf8,RS }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RNDEC},2,	{{0xb0,0xf8,RN },{0x68,0xf8,RS }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RNDEC,RD},2,	{{0xb0,0xf8,RN },{0xa0,0xf8,RD }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RNDEC},2,	{{0xb8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RNDEC},2,	{{0xb8,0xf8,RN },{0x08,0xf8,QIM }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x20,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x28,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0x50,0xf8,RD }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x58,0xf8,RS }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RNDEC},2,	{{0xb8,0xf8,RN },{0x68,0xf8,RS }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RNDEC,RD},2,	{{0xb8,0xf8,RN },{0xa0,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x20,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x50,0xf8,RD }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RNINC},2,	{{0xc0,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RNINC},2,	{{0xc0,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0x28,0xf8,RD }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RNINC},2,	{{0xc0,0xf8,RN },{0x58,0xf8,RS }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RNINC},2,	{{0xc0,0xf8,RN },{0x08,0xf8,QIM }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RNINC},2,	{{0xc0,0xf8,RN },{0x68,0xf8,RS }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RNINC,RD},2,	{{0xc0,0xf8,RN },{0xa0,0xf8,RD }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RNINC},2,	{{0xc8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0xa0,0xf8,RD }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x68,0xf8,RS }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RNIND},2,	{{0xd0,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RNIND},2,	{{0xd0,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x20,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x28,0xf8,RD }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RNINC},2,	{{0xc8,0xf8,RN },{0x58,0xf8,RS }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RNINC,RD},2,	{{0xc8,0xf8,RN },{0x50,0xf8,RD }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RNINC},2,	{{0xc8,0xf8,RN },{0x08,0xf8,QIM }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RNIND},2,	{{0xd0,0xf8,RN },{0x08,0xf8,QIM }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x20,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x28,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0x50,0xf8,RD }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RNIND},2,	{{0xd0,0xf8,RN },{0x58,0xf8,RS }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RNIND},2,	{{0xd0,0xf8,RN },{0x68,0xf8,RS }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RNIND,RD},2,	{{0xd0,0xf8,RN },{0xa0,0xf8,RD }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xd0,0xf0,IMM4 }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RNIND},2,	{{0xd8,0xf8,RN },{0xe0,0xf0,IMM4 }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RNIND},2,	{{0xd8,0xf8,RN },{0x08,0xf8,QIM }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x20,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x28,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0x50,0xf8,RD }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x58,0xf8,RS }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RNIND},2,	{{0xd8,0xf8,RN },{0x68,0xf8,RS }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RNIND,RD},2,	{{0xd8,0xf8,RN },{0xa0,0xf8,RD }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xd0,0xf0,IMM4 }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xe0,0xf0,IMM4 }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x08,0xf8,QIM }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x20,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x28,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x50,0xf8,RD }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x58,0xf8,RS }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RNIND_D8},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0x68,0xf8,RS }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RNIND_D8,RD},3,	{{0xe0,0xf8,RN },{0x00,0x00,DISP8 },{0xa0,0xf8,RD }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xd0,0xf0,IMM4 }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xe0,0xf0,IMM4 }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x08,0xf8,QIM }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x20,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x28,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x50,0xf8,RD }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x58,0xf8,RS }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xd0,0xf0,IMM4 }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x08,0xf8,QIM }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x58,0xf8,RS }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RNIND_D8},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0x68,0xf8,RS }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xa0,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x20,0xf8,RD }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x20,0xf8,RD }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RNIND_D8,RD},3,	{{0xe8,0xf8,RN },{0x00,0x00,DISP8 },{0xa0,0xf8,RD }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xe0,0xf0,IMM4 }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x28,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{RNIND_D16,RD},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x50,0xf8,RD }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,RNIND_D16},4,	{{0xf0,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x68,0xf8,RS }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xd0,0xf0,IMM4 }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xe0,0xf0,IMM4 }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x08,0xf8,QIM }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x28,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x50,0xf8,RD }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x58,0xf8,RS }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,RNIND_D16},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0x68,0xf8,RS }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{RNIND_D16,RD},4,	{{0xf8,0xf8,RN },{0x00,0x00,DISP16 },{0x00,0x00,0},{0xa0,0xf8,RD }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x20,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x28,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x50,0xf8,RD }}},
-{210,'s','I','S','S',O_ANDC|O_BYTE,"andc.b",2,{IMM8,CRB},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0x58,0xf8,CRB }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{IMM8,RD},3,	{{0x04,0xff,0},{0x00,0x00,IMM8 },{0xa0,0xf8,RD }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,ABS8},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0xd0,0xf0,IMM4 }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,ABS8},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0xe0,0xf0,IMM4 }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,ABS8},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x08,0xf8,QIM }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x20,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x28,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x50,0xf8,RD }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,ABS8},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x58,0xf8,RS }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,ABS8},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0x68,0xf8,RS }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{ABS8,RD},3,	{{0x05,0xff,0},{0x00,0x00,ABS8 },{0xa0,0xf8,RD }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x20,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x28,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x50,0xf8,RD }}},
-{209,'s','I','S','S',O_ANDC|O_WORD,"andc.w",2,{IMM16,CRW},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0x58,0xf8,CRW }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{IMM16,RD},4,	{{0x0c,0xff,0},{0x00,0x00,IMM16 },{0x00,0x00,0},{0xa0,0xf8,RD }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,ABS8},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0xe0,0xf0,IMM4 }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,ABS8},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x08,0xf8,QIM }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x20,0xf8,RD }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x28,0xf8,RD }}},
-{157,'-','!','!','!',O_BPT|O_UNSZ,"bpt",0,{0,0},1,	{{0x0b,0xff,0}}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,ABS8},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0xd0,0xf0,IMM4 }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x50,0xf8,RD }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,ABS8},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x58,0xf8,RS }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,ABS8},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0x68,0xf8,RS }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{ABS8,RD},3,	{{0x0d,0xff,0},{0x00,0x00,ABS8 },{0xa0,0xf8,RD }}},
-{204,'b','E','I','E',O_BCLR|O_BYTE,"bclr.b",2,{IMM4,ABS16},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xd0,0xf0,IMM4 }}},
-{225,'a','E','D','D',O_ADD|O_BYTE,"add:g.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x20,0xf8,RD }}},
-{219,'-','E','D','D',O_ADDS|O_BYTE,"adds.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x28,0xf8,RD }}},
-{213,'m','E','D','D',O_AND|O_BYTE,"and.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x50,0xf8,RD }}},
-{204,'b','E','S','E',O_BCLR|O_BYTE,"bclr.b",2,{RS,ABS16},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x58,0xf8,RS }}},
-{216,'a','E','D','D',O_ADDX|O_BYTE,"addx.b",2,{ABS16,RD},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xa0,0xf8,RD }}},
-{203,'b','E','I','E',O_BCLR|O_WORD,"bclr.w",2,{IMM4,ABS16},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xd0,0xf0,IMM4 }}},
-{218,'-','E','D','D',O_ADDS|O_WORD,"adds.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x28,0xf8,RD }}},
-{212,'m','E','D','D',O_AND|O_WORD,"and.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x50,0xf8,RD }}},
-{203,'b','E','S','E',O_BCLR|O_WORD,"bclr.w",2,{RS,ABS16},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x58,0xf8,RS }}},
-{215,'a','E','D','D',O_ADDX|O_WORD,"addx.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xa0,0xf8,RD }}},
-{155,'-','B','!','!',O_BRA|O_BYTE,"bra.b",1,{PCREL8,0},2,	{{0x20,0xff,0},{0x00,0x00,PCREL8 }}},
-{162,'b','E','I','E',O_BNOT|O_BYTE,"bnot.b",2,{IMM4,ABS16},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xe0,0xf0,IMM4 }}},
-{222,'a','I','E','E',O_ADD|O_BYTE,"add:q.b",2,{QIM,ABS16},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x08,0xf8,QIM }}},
-{162,'b','E','S','E',O_BNOT|O_BYTE,"bnot.b",2,{RS,ABS16},4,	{{0x15,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x68,0xf8,RS }}},
-{161,'b','E','I','E',O_BNOT|O_WORD,"bnot.w",2,{IMM4,ABS16},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0xe0,0xf0,IMM4 }}},
-{221,'a','I','E','E',O_ADD|O_WORD,"add:q.w",2,{QIM,ABS16},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x08,0xf8,QIM }}},
-{224,'a','E','D','D',O_ADD|O_WORD,"add:g.w",2,{ABS16,RD},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x20,0xf8,RD }}},
-{161,'b','E','S','E',O_BNOT|O_WORD,"bnot.w",2,{RS,ABS16},4,	{{0x1d,0xff,0},{0x00,0x00,ABS16 },{0x00,0x00,0},{0x68,0xf8,RS }}},
-{152,'-','B','!','!',O_BRN|O_BYTE,"brn.b",1,{PCREL8,0},2,	{{0x21,0xff,0},{0x00,0x00,PCREL8 }}},
-{186,'-','B','!','!',O_BHI|O_BYTE,"bhi.b",1,{PCREL8,0},2,	{{0x22,0xff,0},{0x00,0x00,PCREL8 }}},
-{174,'-','B','!','!',O_BLS|O_BYTE,"bls.b",1,{PCREL8,0},2,	{{0x23,0xff,0},{0x00,0x00,PCREL8 }}},
-{207,'-','B','!','!',O_BCC|O_BYTE,"bcc.b",1,{PCREL8,0},2,	{{0x24,0xff,0},{0x00,0x00,PCREL8 }}},
-{201,'-','B','!','!',O_BCS|O_BYTE,"bcs.b",1,{PCREL8,0},2,	{{0x25,0xff,0},{0x00,0x00,PCREL8 }}},
-{165,'-','B','!','!',O_BNE|O_BYTE,"bne.b",1,{PCREL8,0},2,	{{0x26,0xff,0},{0x00,0x00,PCREL8 }}},
-{198,'-','B','!','!',O_BEQ|O_BYTE,"beq.b",1,{PCREL8,0},2,	{{0x27,0xff,0},{0x00,0x00,PCREL8 }}},
-{159,'-','B','!','!',O_BPL|O_BYTE,"bpl.b",1,{PCREL8,0},2,	{{0x2a,0xff,0},{0x00,0x00,PCREL8 }}},
-{168,'-','B','!','!',O_BMI|O_BYTE,"bmi.b",1,{PCREL8,0},2,	{{0x2b,0xff,0},{0x00,0x00,PCREL8 }}},
-{192,'-','B','!','!',O_BGE|O_BYTE,"bge.b",1,{PCREL8,0},2,	{{0x2c,0xff,0},{0x00,0x00,PCREL8 }}},
-{171,'-','B','!','!',O_BLT|O_BYTE,"blt.b",1,{PCREL8,0},2,	{{0x2d,0xff,0},{0x00,0x00,PCREL8 }}},
-{189,'-','B','!','!',O_BGT|O_BYTE,"bgt.b",1,{PCREL8,0},2,	{{0x2e,0xff,0},{0x00,0x00,PCREL8 }}},
-{180,'-','B','!','!',O_BLE|O_BYTE,"ble.b",1,{PCREL8,0},2,	{{0x2f,0xff,0},{0x00,0x00,PCREL8 }}},
-{154,'-','B','!','!',O_BRA|O_WORD,"bra.w",1,{PCREL16,0},3,	{{0x30,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{151,'-','B','!','!',O_BRN|O_WORD,"brn.w",1,{PCREL16,0},3,	{{0x31,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{185,'-','B','!','!',O_BHI|O_WORD,"bhi.w",1,{PCREL16,0},3,	{{0x32,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{173,'-','B','!','!',O_BLS|O_WORD,"bls.w",1,{PCREL16,0},3,	{{0x33,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{206,'-','B','!','!',O_BCC|O_WORD,"bcc.w",1,{PCREL16,0},3,	{{0x34,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{200,'-','B','!','!',O_BCS|O_WORD,"bcs.w",1,{PCREL16,0},3,	{{0x35,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{164,'-','B','!','!',O_BNE|O_WORD,"bne.w",1,{PCREL16,0},3,	{{0x36,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{197,'-','B','!','!',O_BEQ|O_WORD,"beq.w",1,{PCREL16,0},3,	{{0x37,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{158,'-','B','!','!',O_BPL|O_WORD,"bpl.w",1,{PCREL16,0},3,	{{0x3a,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{167,'-','B','!','!',O_BMI|O_WORD,"bmi.w",1,{PCREL16,0},3,	{{0x3b,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{191,'-','B','!','!',O_BGE|O_WORD,"bge.w",1,{PCREL16,0},3,	{{0x3c,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{170,'-','B','!','!',O_BLT|O_WORD,"blt.w",1,{PCREL16,0},3,	{{0x3d,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{188,'-','B','!','!',O_BGT|O_WORD,"bgt.w",1,{PCREL16,0},3,	{{0x3e,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-{179,'-','B','!','!',O_BLE|O_WORD,"ble.w",1,{PCREL16,0},3,	{{0x3f,0xff,0},{0x00,0x00,PCREL16 },{0x00,0x00,0}}},
-/*
-RN,RD  'm','E','D','D'
-CRB,RN  's','C','!','E'
-RN,RD  'm','E','D','D'
-RNDEC,RD  'm','E','D','D'
-CRB,RNDEC  's','C','!','E'
-RNDEC,RD  'm','E','D','D'
-RNINC,RD  'm','E','D','D'
-CRB,RNINC  's','C','!','E'
-RNINC,RD  'm','E','D','D'
-RNIND,RD  'm','E','D','D'
-CRB,RNIND  's','C','!','E'
-RNIND,RD  'm','E','D','D'
-RNIND_D8,RD  'a','E','D','D'
-RNIND_D8,RD  'm','E','D','D'
-CRB,RNIND_D8  's','C','!','E'
-RNIND_D8,RD  'm','E','D','D'
-RNIND_D16,RD  'a','E','D','D'
-RNIND_D16,RD  'm','E','D','D'
-CRB,RNIND_D16  's','C','!','E'
-RNIND_D16,RD  'm','E','D','D'
-RN,RD  'm','E','D','D'
-RNDEC,RD  'm','E','D','D'
-RNIND,RD  'm','E','D','D'
-RNINC,RD  'm','E','D','D'
-RNIND_D8,RD  'm','E','D','D'
-ABS8,RD  'm','E','D','D'
-IMM16,RD  'm','E','D','D'
-ABS16,RD  'm','E','D','D'
-RNIND_D16,RD  'm','E','D','D'
-RN,RD  'a','E','D','D'
-RS,RD  '-','X','!','!'
-RN,0  'a','E','!','!'
-RS,RD  '-','X','!','!'
-RN,0  'a','E','!','!'
-RNDEC,RD  'a','E','D','D'
-RNDEC,0  'a','E','!','!'
-RNDEC,RD  'a','E','D','D'
-RNDEC,0  'a','E','!','!'
-RNINC,RD  'a','E','D','D'
-RNINC,0  'a','E','!','!'
-RNINC,0  'a','E','!','!'
-RNIND,RD  'a','E','D','D'
-RNIND,0  'a','E','!','!'
-RNIND,RD  'a','E','D','D'
-RNIND,0  'a','E','!','!'
-RNIND_D8,0  'a','E','!','!'
-RNIND_D8,RD  'a','E','D','D'
-RNIND_D8,0  'a','E','!','!'
-RNIND_D16,0  'a','E','!','!'
-RNIND_D16,RD  'a','E','D','D'
-RN,0  'a','E','!','!'
-RNIND,0  'a','E','!','!'
-RNDEC,0  'a','E','!','!'
-RNINC,0  'a','E','!','!'
-ABS8,0  'a','E','!','!'
-RNIND_D8,0  'a','E','!','!'
-RD,0  'm','D','!','D'
-ABS16,0  'a','E','!','!'
-RNIND_D16,0  'a','E','!','!'
-RN,0  's','E','!','E'
-RN,RD  'a','E','D','D'
-RN,RD  'a','E','D','D'
-RNDEC,0  's','E','!','E'
-RNDEC,RD  'a','E','D','D'
-RNINC,0  's','E','!','E'
-RNINC,RD  'a','E','D','D'
-RNIND,RD  '-','E','D','D'
-RNIND,0  's','E','!','E'
-RNIND,RD  'a','E','D','D'
-RNIND_D8,0  's','E','!','E'
-RN,0  's','E','!','E'
-RNIND,0  's','E','!','E'
-RNINC,0  's','E','!','E'
-RNDEC,0  's','E','!','E'
-IMM8,0  's','E','!','E'
-ABS8,0  's','E','!','E'
-RNIND_D8,0  's','E','!','E'
-ABS16,0  's','E','!','E'
-RNIND_D16,0  's','E','!','E'
-RNIND_D8,RD  '-','E','D','D'
-RD,0  'm','D','!','D'
-RNIND_D16,RD  '-','E','D','D'
-RNIND_D16,0  's','E','!','E'
-IMM16,0  'a','E','!','!'
-RN,RD  '-','E','D','D'
-RN,RD  'a','E','D','D'
-RN,RD  '-','E','D','D'
-RNDEC,RD  '-','E','D','D'
-RNDEC,RD  'a','E','D','D'
-RNDEC,RD  '-','E','D','D'
-RNINC,RD  '-','E','D','D'
-RNINC,RD  'a','E','D','D'
-RNINC,RD  '-','E','D','D'
-RNINC,RD  'a','E','D','D'
-RNIND,RD  'a','E','D','D'
-RNIND_D8,RD  'a','E','D','D'
-RNIND_D8,RD  '-','E','D','D'
-RNIND_D16,RD  'a','E','D','D'
-RNIND_D16,RD  '-','E','D','D'
-RN,RD  'a','E','D','D'
-RNDEC,RD  'a','E','D','D'
-RNINC,RD  'a','E','D','D'
-RNIND,RD  'a','E','D','D'
-ABS8,RD  'a','E','D','D'
-RNIND_D8,RD  'a','E','D','D'
-IMM16,RD  'a','E','D','D'
-ABS16,RD  'a','E','D','D'
-RNIND_D16,RD  'a','E','D','D'
-RNIND,RD  '-','E','D','D'
-RNIND_D8,RD  'a','E','D','D'
-RNIND_D16,RD  'a','E','D','D'
-RNIND_D16,0  'a','E','!','!'
-IMM8,RD  'a','E','D','D'
-IMM8,RD  '-','E','D','D'
-IMM8,RD  'm','E','D','D'
-IMM8,CRB  's','E','C','C'
-IMM8,RD  'a','E','D','D'
-IMM8,0  'a','E','!','!'
-IMM8,0  's','E','!','E'
-ABS8,RD  'a','E','D','D'
-ABS8,RD  '-','E','D','D'
-ABS8,RD  'm','E','D','D'
-CRB,ABS8  's','C','!','E'
-ABS8,RD  'a','E','D','D'
-ABS8,0  'a','E','!','!'
-ABS8,0  's','E','!','E'
-RN,RD  '-','E','D','D'
-RNDEC,RD  '-','E','D','D'
-RNIND,RD  '-','E','D','D'
-RNINC,RD  '-','E','D','D'
-ABS8,RD  '-','E','D','D'
-RNIND_D8,RD  '-','E','D','D'
-ABS16,RD  '-','E','D','D'
-IMM16,RD  '-','E','D','D'
-RNIND_D16,RD  '-','E','D','D'
-IMM4,0  '-','I','!','!'
-0,0  '-','B','!','!'
-IMM16,RD  'a','E','D','D'
-IMM16,RD  '-','E','D','D'
-IMM16,RD  'm','E','D','D'
-IMM16,CRW  's','E','C','C'
-IMM16,RD  'a','E','D','D'
-IMM16,0  'a','E','!','!'
-ABS8,RD  'a','E','D','D'
-ABS8,RD  '-','E','D','D'
-ABS8,RD  'm','E','D','D'
-ABS8,RD  'a','E','D','D'
-ABS8,0  'a','E','!','!'
-FP,0  '-','B','!','!'
-ABS16,RD  'a','E','D','D'
-ABS16,RD  '-','E','D','D'
-ABS16,RD  'm','E','D','D'
-CRB,ABS16  's','C','!','E'
-RN,RD  'a','E','D','D'
-RNIND,RD  'a','E','D','D'
-RNINC,RD  'a','E','D','D'
-RNDEC,RD  'a','E','D','D'
-ABS8,RD  'a','E','D','D'
-RNIND_D8,RD  'a','E','D','D'
-IMM16,RD  'a','E','D','D'
-ABS16,RD  'a','E','D','D'
-RNIND_D16,RD  'a','E','D','D'
-RLIST,SPDEC  '-','I','!','E'
-CRW,RN  's','C','!','E'
-CRW,RNDEC  's','C','!','E'
-CRW,RNINC  's','C','!','E'
-CRW,RNIND  's','C','!','E'
-CRW,ABS8  's','C','!','E'
-CRW,RNIND_D8  's','C','!','E'
-CRW,ABS16  's','C','!','E'
-CRW,RNIND_D16  's','C','!','E'
-ABS16,RD  'a','E','D','D'
-ABS16,0  'a','E','!','!'
-ABS16,0  's','E','!','E'
-ABS16,RD  'a','E','D','D'
-ABS16,RD  '-','E','D','D'
-ABS16,RD  'm','E','D','D'
-ABS16,RD  'a','E','D','D'
-ABS16,0  'a','E','!','!'
-CRW,RN  's','C','!','E'
-RNIND,0  'h','E','!','E'
-CRB,RNDEC  's','C','!','E'
-CRW,RNIND  's','C','!','E'
-CRW,RNINC  's','C','!','E'
-CRW,RNDEC  's','C','!','E'
-CRB,RNIND  's','C','!','E'
-CRB,RNINC  's','C','!','E'
-CRW,RNIND_D8  's','C','!','E'
-CRB,ABS8  's','C','!','E'
-CRB,RNIND_D8  's','C','!','E'
-CRW,ABS8  's','C','!','E'
-CRW,RNIND_D16  's','C','!','E'
-RNIND,0  'h','E','!','E'
-CRB,ABS16  's','C','!','E'
-CRB,RNIND_D16  's','C','!','E'
-RN,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-CRW,ABS16  's','C','!','E'
-RN,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-CRB,RN  's','C','!','E'
-RN,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-IMM8,0  'h','E','!','E'
-IMM8,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-IMM8,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-0,0  '-','!','!','!'
-ABS16,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-IMM8,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RS,PCREL8  '-','B','S','S'
-IMM8,0  'h','E','!','E'
-IMM8,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-RS,PCREL8  '-','B','S','S'
-RS,PCREL8  '-','B','S','S'
-IMM16,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-IMM16,0  '-','B','!','!'
-IMM8,0  '-','B','!','!'
-ABS16,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-0,0  '-','B','!','!'
-ABS16,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-IMM8,RD  'm','I','!','D'
-ABS16,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-FPIND_D8,RD  'm','E','!','D'
-FPIND_D8,RD  'm','E','!','D'
-RS,FPIND_D8  'm','S','!','E'
-RS,FPIND_D8  'm','S','!','E'
-RN,RD  'm','E','!','D'
-RN,0  'h','E','!','E'
-RS,RNDEC  'm','S','!','E'
-RNIND_D8,0  'h','E','!','E'
-IMM16,RD  'm','I','!','D'
-ABS8,RD  'm','E','!','D'
-ABS8,RD  'm','E','!','D'
-RS,ABS8  'm','S','!','E'
-RS,ABS8  'm','S','!','E'
-RN,RD  '-','E','!','D'
-RN,0  'h','E','!','E'
-RN,RD  'm','E','!','D'
-RNDEC,RD  'm','E','!','D'
-RNDEC,RD  '-','E','!','D'
-RN,0  'h','E','!','E'
-RNDEC,RD  'p','E','D','D'
-RNIND,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RS,RN  '-','S','!','E'
-RN,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RN,RD  'm','E','D','D'
-RN,RD  'p','E','D','D'
-RN,0  'a','E','!','E'
-RN,0  'm','E','!','E'
-RN,0  'h','E','!','E'
-RN,RD  'm','E','D','D'
-RN,RD  'p','E','D','D'
-RN,0  'a','E','!','E'
-RN,0  'm','E','!','E'
-RNDEC,RD  'm','E','D','D'
-RS,RNDEC  '-','S','!','E'
-RNDEC,0  'h','E','!','E'
-RNDEC,0  'a','E','!','E'
-RNINC,RD  'm','E','D','D'
-RNINC,0  'h','E','!','E'
-RN,0  'h','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNIND,0  'h','E','!','E'
-RNINC,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-IMM16,0  'h','E','!','E'
-ABS16,0  'h','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-RNDEC,0  'a','E','!','E'
-RNDEC,0  'm','E','!','E'
-RNDEC,RD  'm','E','D','D'
-RNDEC,0  'm','E','!','E'
-RNDEC,0  'h','E','!','E'
-RNINC,0  'a','E','!','E'
-RNINC,0  'm','E','!','E'
-RNINC,RD  'm','E','D','D'
-RNINC,0  'a','E','!','E'
-IMM8,CRB  's','I','C','C'
-IMM16,CRW  's','I','C','C'
-RNINC,0  'm','E','!','E'
-RNINC,0  'h','E','!','E'
-RNIND,RD  'm','E','D','D'
-RNIND,0  'a','E','!','E'
-RNIND,0  'm','E','!','E'
-RNIND,0  'h','E','!','E'
-RNIND,RD  'm','E','D','D'
-RNIND,0  'a','E','!','E'
-RNIND,0  'm','E','!','E'
-RNIND,0  'h','E','!','E'
-RNIND_D8,RD  'm','E','D','D'
-RNIND_D8,0  'a','E','!','E'
-RNIND_D8,0  'm','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D8,RD  'm','E','D','D'
-RNIND_D8,0  'a','E','!','E'
-RNIND_D8,0  'm','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D16,RD  'm','E','D','D'
-RNIND,RD  'm','E','D','D'
-RNDEC,RD  'm','E','D','D'
-RNINC,RD  'm','E','D','D'
-ABS8,RD  'm','E','D','D'
-RNIND_D8,RD  'm','E','D','D'
-ABS16,RD  'm','E','D','D'
-IMM16,RD  'm','E','D','D'
-RNIND_D16,RD  'm','E','D','D'
-RNIND_D16,RD  'm','E','D','D'
-RNIND_D16,0  'a','E','!','E'
-RNIND_D16,0  'm','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-ABS24,0  '-','J','!','!'
-IMM8,RD  'm','E','D','D'
-IMM8,CRB  's','I','C','C'
-IMM8,0  'a','E','!','E'
-IMM8,0  'h','E','!','E'
-ABS8,RD  'm','E','D','D'
-RN,RD  'm','E','D','D'
-RNIND_D16,RD  'm','E','!','D'
-RNIND_D16,0  'a','E','!','E'
-RNIND_D16,0  'm','E','!','E'
-RNIND_D16,0  'h','E','!','E'
-IMM8,0  'm','E','!','E'
-ABS8,0  'a','E','!','E'
-ABS8,0  'm','E','!','E'
-RN,0  'm','E','!','E'
-RNIND,0  'm','E','!','E'
-RNDEC,0  'm','E','!','E'
-RNINC,0  'm','E','!','E'
-ABS8,0  'm','E','!','E'
-RNIND_D8,0  'm','E','!','E'
-ABS16,0  'm','E','!','E'
-IMM16,0  'm','E','!','E'
-RNIND_D16,0  'm','E','!','E'
-IMM8,RNIND_D16  'm','I','!','E'
-0,0  '-','!','!','!'
-ABS8,0  'h','E','!','E'
-IMM16,RD  'm','E','D','D'
-IMM16,CRW  's','I','C','C'
-IMM16,0  'a','E','!','E'
-IMM16,0  'm','E','!','E'
-IMM16,0  'h','E','!','E'
-ABS8,RD  'm','E','D','D'
-ABS8,0  'a','E','!','E'
-ABS8,0  'm','E','!','E'
-ABS8,0  'h','E','!','E'
-RDIND,0  '-','J','!','!'
-RDIND,0  '-','J','!','!'
-IMM8,0  '-','B','!','!'
-0,0  '-','B','!','!'
-IMM16,0  '-','B','!','!'
-ABS24,0  '-','J','!','!'
-ABS16,RD  'm','E','D','D'
-RN,0  'a','E','!','E'
-RNDEC,0  'a','E','!','E'
-RNINC,0  'a','E','!','E'
-RNIND,0  'a','E','!','E'
-ABS8,0  'a','E','!','E'
-RNIND_D8,0  'a','E','!','E'
-ABS16,0  'a','E','!','E'
-IMM16,0  'a','E','!','E'
-RNIND_D16,0  'a','E','!','E'
-RNDEC,RD  'p','E','D','D'
-RNDEC,0  'h','E','!','E'
-RNINC,RD  'p','E','D','D'
-RNINC,RD  'p','E','D','D'
-RNIND,RD  'p','E','D','D'
-RNIND,RD  'p','E','D','D'
-RNIND_D8,RD  'p','E','D','D'
-RNIND_D8,RD  'p','E','D','D'
-RNIND_D8,0  'h','E','!','E'
-RNIND_D16,RD  'p','E','D','D'
-RNIND_D16,RD  'p','E','D','D'
-IMM8,RD  'p','E','D','D'
-ABS8,RD  'p','E','D','D'
-IMM16,RD  'p','E','D','D'
-ABS8,RD  'p','E','D','D'
-ABS8,0  'h','E','!','E'
-RS,ABS16  'm','S','!','E'
-ABS16,RD  'p','E','D','D'
-RN,RD  'p','E','D','D'
-RNIND,RD  'p','E','D','D'
-RNDEC,RD  'p','E','D','D'
-RNINC,RD  'p','E','D','D'
-RNIND_D8,RD  'p','E','D','D'
-ABS8,RD  'p','E','D','D'
-IMM16,RD  'p','E','D','D'
-ABS16,RD  'p','E','D','D'
-RNIND_D16,RD  'p','E','D','D'
-RS,RNINC  '-','S','!','E'
-RNINC,0  'h','E','!','E'
-RS,RNIND  '-','S','!','E'
-RNIND,0  'h','E','!','E'
-RS,RNIND_D8  '-','S','!','E'
-RS,RNIND_D16  'm','S','!','E'
-RS,RNIND_D16  '-','S','!','E'
-RS,ABS8  '-','S','!','E'
-RS,RN  '-','S','!','E'
-RS,RNDEC  '-','S','!','E'
-RS,RNIND  '-','S','!','E'
-RS,RNINC  '-','S','!','E'
-RS,ABS8  '-','S','!','E'
-RNIND,RD  '-','E','!','D'
-RS,ABS16  '-','S','!','E'
-RS,RNIND_D16  '-','S','!','E'
-RNINC,RD  '-','E','!','D'
-RNIND_D16,0  'h','E','!','E'
-ABS16,RD  'm','E','!','D'
-RS,RNIND_D8  '-','S','!','E'
-RNIND_D8,RD  '-','E','!','D'
-IMM8,RNIND_D8  'm','I','!','E'
-RNIND_D16,RD  '-','E','!','D'
-IMM8,RD  '-','E','!','D'
-ABS8,RD  '-','E','!','D'
-RN,RD  '-','E','!','D'
-RNINC,0  'h','E','!','E'
-RNIND,RD  '-','E','!','D'
-RNDEC,RD  '-','E','!','D'
-IMM8,RD  '-','E','!','D'
-ABS8,RD  '-','E','!','D'
-RNIND_D8,RD  '-','E','!','D'
-ABS16,RD  '-','E','!','D'
-RNIND_D16,RD  '-','E','!','D'
-RNIND,0  'h','E','!','E'
-RNIND_D8,0  'h','E','!','E'
-RS,ABS8  'm','S','!','E'
-RNDEC,RD  'm','E','!','D'
-RNINC,RD  'm','E','!','D'
-ABS8,RD  'm','E','!','D'
-RNDEC,0  'h','E','!','E'
-IMM16,RD  'm','I','!','D'
-RS,RNDEC  'm','S','!','E'
-RS,RNINC  'm','S','!','E'
-RNIND,RD  'm','E','!','D'
-RS,RNIND  'm','S','!','E'
-RNIND_D8,RD  'm','E','!','D'
-RS,RNIND_D8  'm','S','!','E'
-IMM8,0  'h','E','!','E'
-ABS8,0  'h','E','!','E'
-RS,ABS8  'm','S','!','E'
-RNINC,RD  '-','E','!','D'
-IMM8,RNDEC  'm','I','!','E'
-IMM16,RNDEC  'm','I','!','E'
-RNINC,RD  'm','E','!','D'
-RS,RNINC  'm','S','!','E'
-IMM8,RNINC  'm','I','!','E'
-IMM16,RNINC  'm','I','!','E'
-RNIND,RD  'm','E','!','D'
-RS,RNIND  'm','S','!','E'
-IMM8,RNIND  'm','I','!','E'
-IMM16,RNIND  'm','I','!','E'
-RNIND_D8,RD  'm','E','!','D'
-RS,RNIND_D8  'm','S','!','E'
-IMM16,RNIND_D8  'm','I','!','E'
-IMM16,RNIND_D16  'm','I','!','E'
-RNIND_D16,RD  'm','E','!','D'
-RS,RNIND_D16  'm','S','!','E'
-RNIND_D16,0  'h','E','!','E'
-IMM8,RD  'm','E','!','D'
-ABS8,RD  'm','E','!','D'
-RS,ABS8  'm','S','!','E'
-IMM8,ABS8  'm','I','!','E'
-IMM16,ABS8  'm','I','!','E'
-IMM16,RD  'm','E','!','D'
-IMM16,0  'h','E','!','E'
-ABS8,RD  'm','E','!','D'
-ABS16,RD  '-','E','!','D'
-RS,ABS16  '-','S','!','E'
-IMM8,ABS16  'm','I','!','E'
-IMM16,ABS16  'm','I','!','E'
-ABS16,0  'a','E','!','E'
-ABS16,0  'h','E','!','E'
-ABS16,RD  'm','E','!','D'
-RS,ABS16  'm','S','!','E'
-ABS16,RD  'p','E','D','D'
-ABS16,0  'a','E','!','E'
-ABS16,0  'h','E','!','E'
-RS,RNINC  'm','S','!','E'
-RN,RD  'm','E','!','D'
-RS,RNIND  'm','S','!','E'
-RNIND,RD  'm','E','!','D'
-RS,RNDEC  'm','S','!','E'
-RNINC,RD  'm','E','!','D'
-RNDEC,RD  'm','E','!','D'
-RS,RNIND_D8  'm','S','!','E'
-RS,ABS8  'm','S','!','E'
-RNIND_D8,RD  'm','E','!','D'
-IMM8,RNIND  'm','I','!','E'
-ABS8,RD  'm','E','!','D'
-IMM8,RNDEC  'm','I','!','E'
-IMM8,RNINC  'm','I','!','E'
-IMM8,RNIND_D8  'm','I','!','E'
-IMM8,ABS8  'm','I','!','E'
-RS,RNIND_D16  'm','S','!','E'
-IMM16,RD  'm','E','!','D'
-IMM16,RNIND  'm','I','!','E'
-IMM16,RNINC  'm','I','!','E'
-IMM16,RNDEC  'm','I','!','E'
-RS,ABS16  'm','S','!','E'
-RNIND_D16,RD  'm','E','!','D'
-ABS16,RD  'm','E','!','D'
-IMM16,RNIND_D8  'm','I','!','E'
-IMM8,ABS16  'm','I','!','E'
-IMM16,ABS8  'm','I','!','E'
-IMM8,RNIND_D16  'm','I','!','E'
-IMM16,ABS16  'm','I','!','E'
-IMM16,RNIND_D16  'm','I','!','E'
-ABS16,0  'm','E','!','E'
-ABS16,RD  'm','E','D','D'
-ABS16,0  'm','E','!','E'
-ABS16,0  'h','E','!','E'
-RS,FPIND_D8  'm','S','!','E'
-FPIND_D8,RD  'm','E','!','D'
-ABS16,0  'h','E','!','E'
-IMM8,RD  'm','I','!','D'
-RS,FPIND_D8  'm','S','!','E'
-RS,ABS8  'm','S','!','E'
-ABS8,RD  'm','E','!','D'
-RS,RNIND  'm','S','!','E'
-RS,RNINC  'm','S','!','E'
-RS,RNDEC  'm','S','!','E'
-RNIND,RD  'm','E','!','D'
-FPIND_D8,RD  'm','E','!','D'
-RNINC,RD  'm','E','!','D'
-RN,RD  'm','E','!','D'
-RNDEC,RD  'm','E','!','D'
-RS,ABS8  'm','S','!','E'
-RNIND_D8,RD  'm','E','!','D'
-RS,RNIND_D8  'm','S','!','E'
-IMM16,RD  'm','I','!','D'
-ABS8,RD  'm','E','!','D'
-IMM16,RNINC  'm','I','!','E'
-IMM16,RNDEC  'm','I','!','E'
-IMM16,RNIND  'm','I','!','E'
-RS,RNIND_D16  'm','S','!','E'
-RS,ABS16  'm','S','!','E'
-ABS16,RD  'm','E','!','D'
-IMM16,RD  'm','E','!','D'
-RNIND_D16,RD  'm','E','!','D'
-IMM16,RNIND_D8  'm','I','!','E'
-IMM16,ABS8  'm','I','!','E'
-IMM16,RNIND_D16  'm','I','!','E'
-IMM16,ABS16  'm','I','!','E'
-FPIND_D8,RD  'm','E','!','D'
-RS,ABS8  'm','S','!','E'
-RNINC,RD  'm','E','!','D'
-RS,RNIND  'm','S','!','E'
-RS,RNINC  'm','S','!','E'
-RS,RNDEC  'm','S','!','E'
-RNDEC,RD  'm','E','!','D'
-RS,FPIND_D8  'm','S','!','E'
-RNIND,RD  'm','E','!','D'
-RN,RD  'm','E','!','D'
-ABS8,RD  'm','E','!','D'
-IMM8,RD  'm','I','!','D'
-IMM8,RD  'm','E','!','D'
-RS,ABS8  'm','S','!','E'
-IMM8,RNIND  'm','I','!','E'
-IMM8,RNINC  'm','I','!','E'
-IMM8,RNDEC  'm','I','!','E'
-RNIND_D8,RD  'm','E','!','D'
-ABS8,RD  'm','E','!','D'
-RS,RNIND_D8  'm','S','!','E'
-IMM8,RNIND_D8  'm','I','!','E'
-ABS16,RD  'm','E','!','D'
-IMM8,ABS8  'm','I','!','E'
-RS,ABS16  'm','S','!','E'
-RS,RNIND_D16  'm','S','!','E'
-RNIND_D16,RD  'm','E','!','D'
-IMM8,ABS16  'm','I','!','E'
-IMM8,RNIND_D16  'm','I','!','E'
-ABS8,RD  'm','E','!','D'
-RS,ABS8  'm','S','!','E'
-RNIND,RD  'm','E','!','D'
-RS,RNIND  'm','S','!','E'
-RS,RNINC  'm','S','!','E'
-RS,RNDEC  'm','S','!','E'
-RN,RD  'm','E','!','D'
-RS,FPIND_D8  'm','S','!','E'
-RNINC,RD  'm','E','!','D'
-FPIND_D8,RD  'm','E','!','D'
-IMM8,RD  'm','I','!','D'
-RNDEC,RD  'm','E','!','D'
-RS,RNIND_D8  'm','S','!','E'
-IMM8,RNIND  'm','I','!','E'
-IMM8,RNINC  'm','I','!','E'
-IMM8,RNDEC  'm','I','!','E'
-RNIND_D8,RD  'm','E','!','D'
-RS,ABS8  'm','S','!','E'
-ABS8,RD  'm','E','!','D'
-IMM16,RD  'm','I','!','D'
-IMM8,ABS8  'm','I','!','E'
-RS,RNIND_D16  'm','S','!','E'
-IMM16,RNIND  'm','I','!','E'
-IMM16,RNINC  'm','I','!','E'
-IMM16,RNDEC  'm','I','!','E'
-RS,ABS16  'm','S','!','E'
-IMM16,RD  'm','E','!','D'
-IMM8,RNIND_D8  'm','I','!','E'
-RNIND_D16,RD  'm','E','!','D'
-ABS16,RD  'm','E','!','D'
-IMM16,RNIND_D8  'm','I','!','E'
-IMM8,ABS16  'm','I','!','E'
-IMM16,ABS8  'm','I','!','E'
-IMM8,RNIND_D16  'm','I','!','E'
-IMM16,ABS16  'm','I','!','E'
-IMM16,RNIND_D16  'm','I','!','E'
-IMM8,RD  'a','D','I','!'
-RN,RD  'a','D','E','!'
-IMM8,RN  'a','E','I','!'
-RN,CRW  's','E','!','C'
-RNIND,CRW  's','E','!','C'
-RNINC,CRW  's','E','!','C'
-RNDEC,CRW  's','E','!','C'
-RN,RD  'a','D','E','!'
-RNIND_D8,CRW  's','E','!','C'
-IMM16,RN  'a','E','I','!'
-ABS16,CRW  's','E','!','C'
-RNIND_D16,CRW  's','E','!','C'
-RN,CRB  's','E','!','C'
-ABS8,CRW  's','E','!','C'
-IMM16,RD  'a','D','I','!'
-RN,RD  's','E','D','D'
-RS,RD  's','D','!','!'
-RS,RD  's','D','!','!'
-RD,0  's','D','!','D'
-RD,0  's','D','!','D'
-RN,RD  's','E','D','D'
-RNIND_D8,CRB  's','E','!','C'
-RN,CRB  's','E','!','C'
-RNINC,CRW  's','E','!','C'
-RNIND,CRB  's','E','!','C'
-RNDEC,CRW  's','E','!','C'
-RNIND,CRW  's','E','!','C'
-RNDEC,CRB  's','E','!','C'
-RNINC,CRB  's','E','!','C'
-ABS8,CRW  's','E','!','C'
-ABS8,CRB  's','E','!','C'
-IMM8,CRB  's','E','!','C'
-RNIND_D8,CRW  's','E','!','C'
-RNIND_D8,CRB  's','E','!','C'
-ABS16,CRB  's','E','!','C'
-ABS16,CRW  's','E','!','C'
-IMM16,CRW  's','E','!','C'
-RNIND_D16,CRW  's','E','!','C'
-RNIND_D16,CRB  's','E','!','C'
-RNIND_D16,CRB  's','E','!','C'
-ABS16,0  '-','B','!','!'
-RDIND,0  '-','B','!','!'
-RDIND,0  '-','B','!','!'
-RDIND_D8,0  '-','B','!','!'
-RDIND_D8,0  '-','B','!','!'
-RDIND_D16,0  '-','B','!','!'
-RDIND_D16,0  '-','B','!','!'
-ABS16,0  '-','B','!','!'
-RD,0  's','D','!','D'
-ABS16,CRB  's','E','!','C'
-RD,0  's','D','!','D'
-RN,CRW  's','E','!','C'
-RNDEC,RD  's','E','D','D'
-RNDEC,RD  's','E','D','D'
-RNINC,CRB  's','E','!','C'
-RNINC,RD  's','E','D','D'
-RNINC,RD  's','E','D','D'
-RNIND,CRB  's','E','!','C'
-RNIND,RD  's','E','D','D'
-RNIND,RD  's','E','D','D'
-RNIND_D8,RD  's','E','D','D'
-RNIND_D8,RD  's','E','D','D'
-RNIND_D16,RD  's','E','D','D'
-RNIND_D16,RD  's','E','D','D'
-IMM8,CRB  's','E','!','C'
-IMM8,RD  's','E','D','D'
-ABS8,RD  's','E','D','D'
-IMM16,RD  's','E','D','D'
-ABS16,RD  's','E','D','D'
-ABS16,RD  's','E','D','D'
-RN,RD  's','E','D','D'
-RNINC,RD  's','E','D','D'
-RNDEC,RD  's','E','D','D'
-RNIND,RD  's','E','D','D'
-ABS8,RD  's','E','D','D'
-RNIND_D8,RD  's','E','D','D'
-IMM16,RD  's','E','D','D'
-ABS16,RD  's','E','D','D'
-RNIND_D16,RD  's','E','D','D'
-ABS8,CRB  's','E','!','C'
-ABS8,RD  's','E','D','D'
-IMM16,RD  'a','D','I','!'
-RNDEC,RD  'a','D','E','!'
-RNDEC,CRB  's','E','!','C'
-IMM8,RNDEC  'a','E','I','!'
-IMM16,RNDEC  'a','E','I','!'
-RNDEC,RD  'a','D','E','!'
-RNINC,RD  'a','D','E','!'
-IMM8,RNINC  'a','E','I','!'
-IMM16,RNINC  'a','E','I','!'
-RNINC,RD  'a','D','E','!'
-RNIND,RD  'a','D','E','!'
-IMM8,RNIND  'a','E','I','!'
-IMM16,RNIND  'a','E','I','!'
-RNIND,RD  'a','D','E','!'
-RNIND_D8,RD  'a','D','E','!'
-IMM8,RNIND_D8  'a','E','I','!'
-IMM16,RNIND_D8  'a','E','I','!'
-RNIND_D8,RD  'a','D','E','!'
-RNIND_D16,RD  'a','D','E','!'
-IMM8,RNIND_D16  'a','E','I','!'
-IMM16,RNIND_D16  'a','E','I','!'
-RNIND_D16,RD  'a','D','E','!'
-SPINC,RLIST  '-','E','!','C'
-IMM8,RD  'a','D','E','!'
-ABS8,RD  'a','D','E','!'
-IMM8,ABS8  'a','E','I','!'
-IMM16,ABS8  'a','E','I','!'
-IMM16,RD  'a','D','E','!'
-IMM16,CRW  's','E','!','C'
-ABS8,RD  'a','D','E','!'
-ABS16,RD  'a','D','E','!'
-IMM8,ABS16  'a','E','I','!'
-IMM16,ABS16  'a','E','I','!'
-ABS16,RD  'a','D','E','!'
-FP,IMM16  '-','S','I','!'
-RN,RD  'a','D','E','!'
-RNIND,RD  'a','D','E','!'
-RNINC,RD  'a','D','E','!'
-RNDEC,RD  'a','D','E','!'
-RNIND_D8,RD  'a','D','E','!'
-ABS8,RD  'a','D','E','!'
-IMM16,RNINC  'a','E','I','!'
-IMM16,RNIND  'a','E','I','!'
-IMM16,RN  'a','E','I','!'
-IMM16,RNDEC  'a','E','I','!'
-IMM16,RD  'a','D','E','!'
-ABS16,RD  'a','D','E','!'
-RNIND_D16,RD  'a','D','E','!'
-IMM16,RNIND_D8  'a','E','I','!'
-IMM16,ABS8  'a','E','I','!'
-IMM16,RNIND_D16  'a','E','I','!'
-IMM16,ABS16  'a','E','I','!'
-FP,IMM8  '-','S','I','!'
-IMM8,RD  'a','D','I','!'
-RN,RD  'a','D','E','!'
-RNDEC,RD  'a','D','E','!'
-RNINC,RD  'a','D','E','!'
-RNIND,RD  'a','D','E','!'
-IMM16,RD  'a','D','I','!'
-RNIND_D8,RD  'a','D','E','!'
-ABS8,RD  'a','D','E','!'
-IMM16,RNINC  'a','E','I','!'
-IMM16,RNDEC  'a','E','I','!'
-IMM16,RNIND  'a','E','I','!'
-RNIND_D16,RD  'a','D','E','!'
-ABS16,RD  'a','D','E','!'
-IMM16,RD  'a','D','E','!'
-IMM16,RN  'a','E','I','!'
-IMM16,RNIND_D8  'a','E','I','!'
-IMM16,ABS8  'a','E','I','!'
-IMM16,RNIND_D16  'a','E','I','!'
-IMM16,ABS16  'a','E','I','!'
-RN,RD  'a','D','E','!'
-RNDEC,RD  'a','D','E','!'
-RNINC,RD  'a','D','E','!'
-IMM8,RD  'a','D','I','!'
-RNIND,RD  'a','D','E','!'
-IMM8,RN  'a','E','I','!'
-IMM8,RNIND  'a','E','I','!'
-IMM8,RNINC  'a','E','I','!'
-IMM8,RNDEC  'a','E','I','!'
-ABS8,RD  'a','D','E','!'
-RNIND_D8,RD  'a','D','E','!'
-IMM8,RD  'a','D','E','!'
-IMM8,ABS8  'a','E','I','!'
-ABS16,RD  'a','D','E','!'
-IMM8,RNIND_D8  'a','E','I','!'
-RNIND_D16,RD  'a','D','E','!'
-IMM8,ABS16  'a','E','I','!'
-IMM8,RNIND_D16  'a','E','I','!'
-RN,RD  'a','D','E','!'
-IMM8,RD  'a','D','I','!'
-RNINC,RD  'a','D','E','!'
-RNIND,RD  'a','D','E','!'
-RNDEC,RD  'a','D','E','!'
-IMM16,RD  'a','D','I','!'
-RNIND_D8,RD  'a','D','E','!'
-ABS8,RD  'a','D','E','!'
-IMM16,RN  'a','E','I','!'
-IMM16,RNDEC  'a','E','I','!'
-IMM16,RNIND  'a','E','I','!'
-RNIND_D16,RD  'a','D','E','!'
-IMM16,RNINC  'a','E','I','!'
-ABS16,RD  'a','D','E','!'
-IMM16,RD  'a','D','E','!'
-IMM16,ABS8  'a','E','I','!'
-IMM16,RNIND_D8  'a','E','I','!'
-IMM16,ABS16  'a','E','I','!'
-IMM16,RNIND_D16  'a','E','I','!'
-IMM4,RN  'b','E','I','E'
-IMM4,RN  'b','E','I','E'
-RS,RN  'b','E','S','E'
-RS,RN  'b','E','S','E'
-RN,0  'c','!','!','E'
-IMM4,RN  'b','E','I','E'
-IMM4,RN  'b','E','I','E'
-RNDEC,0  'c','!','!','E'
-RNINC,0  'c','!','!','E'
-RNIND,0  'c','!','!','E'
-RS,RNIND  'b','E','S','E'
-RNIND_D8,0  'c','!','!','E'
-IMM4,RNIND_D16  'b','E','I','E'
-RS,RNIND_D16  'b','E','S','E'
-RNIND_D16,0  'c','!','!','E'
-RNIND_D16,0  'c','!','!','E'
-IMM8,0  'c','!','!','E'
-ABS8,0  'c','!','!','E'
-RN,0  'c','!','!','E'
-RNIND,0  'c','!','!','E'
-RNINC,0  'c','!','!','E'
-RNDEC,0  'c','!','!','E'
-ABS8,0  'c','!','!','E'
-RNIND_D8,0  'c','!','!','E'
-IMM16,0  'c','!','!','E'
-ABS16,0  'c','!','!','E'
-RNIND_D16,0  'c','!','!','E'
-IMM4,ABS8  'b','E','I','E'
-RS,ABS8  'b','E','S','E'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RS,RN  'b','E','S','E'
-IMM4,RNDEC  'b','E','I','E'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RS,RNDEC  'b','E','S','E'
-IMM4,RNDEC  'b','E','I','E'
-RS,RNDEC  'b','E','S','E'
-RNDEC,0  'c','!','!','E'
-IMM4,RNINC  'b','E','I','E'
-RS,RNINC  'b','E','S','E'
-IMM4,RNINC  'b','E','I','E'
-RS,RNINC  'b','E','S','E'
-IMM4,RNIND  'b','E','I','E'
-RS,RNIND  'b','E','S','E'
-IMM4,RNIND  'b','E','I','E'
-IMM4,RNIND_D8  'b','E','I','E'
-RS,RNIND_D8  'b','E','S','E'
-IMM4,RNIND_D8  'b','E','I','E'
-RS,RNIND_D8  'b','E','S','E'
-RNIND_D8,0  'c','!','!','E'
-IMM4,RNIND_D16  'b','E','I','E'
-RS,RNIND_D16  'b','E','S','E'
-IMM16,0  'c','!','!','E'
-IMM4,ABS8  'b','E','I','E'
-RS,ABS8  'b','E','S','E'
-ABS8,0  'c','!','!','E'
-IMM4,ABS16  'b','E','I','E'
-RS,ABS16  'b','E','S','E'
-ABS16,0  'c','!','!','E'
-IMM4,ABS16  'b','E','I','E'
-RS,ABS16  'b','E','S','E'
-ABS16,0  'c','!','!','E'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RS,RN  'b','E','S','E'
-IMM4,RNDEC  'b','E','I','E'
-IMM4,RNIND  'b','E','I','E'
-RS,RNIND  'b','E','S','E'
-RS,RNINC  'b','E','S','E'
-RS,RNDEC  'b','E','S','E'
-IMM4,RN  'b','E','I','E'
-IMM4,RNINC  'b','E','I','E'
-RS,RNIND_D8  'b','E','S','E'
-IMM4,ABS8  'b','E','I','E'
-RS,ABS8  'b','E','S','E'
-IMM4,RNIND_D8  'b','E','I','E'
-IMM4,ABS16  'b','E','I','E'
-RS,RNIND_D16  'b','E','S','E'
-RS,ABS16  'b','E','S','E'
-IMM4,RNDEC  'b','E','I','E'
-PCREL16,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-IMM4,RNIND_D16  'b','E','I','E'
-RS,RNDEC  'b','E','S','E'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RS,RN  'b','E','S','E'
-RN,0  'c','!','!','E'
-IMM4,RNDEC  'b','E','I','E'
-RS,RNDEC  'b','E','S','E'
-IMM4,RNINC  'b','E','I','E'
-RS,RNINC  'b','E','S','E'
-IMM4,RNINC  'b','E','I','E'
-RS,RNINC  'b','E','S','E'
-RNINC,0  'c','!','!','E'
-IMM4,RNIND  'b','E','I','E'
-RS,RNIND  'b','E','S','E'
-IMM4,RNIND  'b','E','I','E'
-RS,RNIND  'b','E','S','E'
-RNIND,0  'c','!','!','E'
-IMM4,RNIND_D8  'b','E','I','E'
-RS,RNIND_D8  'b','E','S','E'
-IMM4,RNIND_D8  'b','E','I','E'
-RS,RNIND_D8  'b','E','S','E'
-IMM4,RNIND_D16  'b','E','I','E'
-RS,RNIND_D16  'b','E','S','E'
-IMM4,RNIND_D16  'b','E','I','E'
-RS,RNIND_D16  'b','E','S','E'
-IMM4,ABS8  'b','E','I','E'
-RS,ABS8  'b','E','S','E'
-IMM4,ABS8  'b','E','I','E'
-RS,ABS8  'b','E','S','E'
-PCREL8,0  '-','B','!','!'
-IMM4,ABS16  'b','E','I','E'
-RS,ABS16  'b','E','S','E'
-IMM4,ABS16  'b','E','I','E'
-RS,ABS16  'b','E','S','E'
-PCREL16,0  '-','B','!','!'
-RS,RN  'b','E','S','E'
-IMM4,RN  'b','E','I','E'
-IMM4,RNIND  'b','E','I','E'
-RS,RNIND  'b','E','S','E'
-RS,RNINC  'b','E','S','E'
-RS,RNDEC  'b','E','S','E'
-IMM4,RNINC  'b','E','I','E'
-IMM4,RNDEC  'b','E','I','E'
-RS,RNIND_D8  'b','E','S','E'
-IMM4,RNIND_D8  'b','E','I','E'
-RS,ABS8  'b','E','S','E'
-IMM4,ABS8  'b','E','I','E'
-IMM4,ABS16  'b','E','I','E'
-RS,RNIND_D16  'b','E','S','E'
-RS,ABS16  'b','E','S','E'
-IMM4,RNIND_D16  'b','E','I','E'
-IMM4,RN  'b','E','I','E'
-IMM4,RN  'b','E','I','E'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-QIM,RN  'a','I','E','E'
-RN,RD  '-','E','D','D'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RN,RD  'a','E','D','D'
-RN,RD  'm','E','D','D'
-RS,RN  'b','E','S','E'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RS,RN  'b','E','S','E'
-RN,RD  'a','E','D','D'
-IMM4,RN  'b','E','I','E'
-IMM4,RN  'b','E','I','E'
-QIM,RN  'a','I','E','E'
-RN,RD  'a','E','D','D'
-RN,RD  '-','E','D','D'
-RN,RD  'm','E','D','D'
-RS,RN  'b','E','S','E'
-RS,RN  'b','E','S','E'
-RN,RD  'a','E','D','D'
-IMM4,RNDEC  'b','E','I','E'
-IMM4,RNDEC  'b','E','I','E'
-QIM,RNDEC  'a','I','E','E'
-RNDEC,RD  'a','E','D','D'
-RNDEC,RD  '-','E','D','D'
-RNDEC,RD  'm','E','D','D'
-RS,RNDEC  'b','E','S','E'
-RS,RNDEC  'b','E','S','E'
-RNDEC,RD  'a','E','D','D'
-IMM4,RNDEC  'b','E','I','E'
-IMM4,RNDEC  'b','E','I','E'
-QIM,RNDEC  'a','I','E','E'
-RNDEC,RD  'a','E','D','D'
-RNDEC,RD  '-','E','D','D'
-RNDEC,RD  'm','E','D','D'
-RS,RNDEC  'b','E','S','E'
-RS,RNDEC  'b','E','S','E'
-RNDEC,RD  'a','E','D','D'
-RNINC,RD  'a','E','D','D'
-RNINC,RD  'm','E','D','D'
-IMM4,RNINC  'b','E','I','E'
-RS,RN  'b','E','S','E'
-RS,RNIND  'b','E','S','E'
-IMM4,RNIND  'b','E','I','E'
-IMM4,RN  'b','E','I','E'
-RS,RNINC  'b','E','S','E'
-RS,RNDEC  'b','E','S','E'
-IMM4,RNDEC  'b','E','I','E'
-IMM4,RNINC  'b','E','I','E'
-RS,ABS8  'b','E','S','E'
-IMM4,ABS8  'b','E','I','E'
-RS,RNIND_D8  'b','E','S','E'
-IMM4,RNIND_D8  'b','E','I','E'
-RS,RNIND_D16  'b','E','S','E'
-IMM4,ABS16  'b','E','I','E'
-RS,ABS16  'b','E','S','E'
-IMM4,RNIND_D16  'b','E','I','E'
-IMM4,RNINC  'b','E','I','E'
-IMM4,RNINC  'b','E','I','E'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RNINC,RD  '-','E','D','D'
-RS,RNINC  'b','E','S','E'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-QIM,RNINC  'a','I','E','E'
-RS,RNINC  'b','E','S','E'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RNINC,RD  'a','E','D','D'
-IMM4,RNINC  'b','E','I','E'
-RNINC,RD  'a','E','D','D'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RS,RNINC  'b','E','S','E'
-IMM4,RNIND  'b','E','I','E'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-IMM4,RNIND  'b','E','I','E'
-PCREL8,0  '-','B','!','!'
-RNINC,RD  'a','E','D','D'
-PCREL16,0  '-','B','!','!'
-RNINC,RD  '-','E','D','D'
-RS,RNINC  'b','E','S','E'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RNINC,RD  'm','E','D','D'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-QIM,RNINC  'a','I','E','E'
-QIM,RNIND  'a','I','E','E'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RNIND,RD  'a','E','D','D'
-RNIND,RD  '-','E','D','D'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RNIND,RD  'm','E','D','D'
-RS,RNIND  'b','E','S','E'
-RS,RNIND  'b','E','S','E'
-RNIND,RD  'a','E','D','D'
-IMM4,RNIND  'b','E','I','E'
-IMM4,RNIND  'b','E','I','E'
-QIM,RNIND  'a','I','E','E'
-RNIND,RD  'a','E','D','D'
-RNIND,RD  '-','E','D','D'
-RNIND,RD  'm','E','D','D'
-RS,RNIND  'b','E','S','E'
-RS,RNIND  'b','E','S','E'
-RNIND,RD  'a','E','D','D'
-IMM4,RNIND_D8  'b','E','I','E'
-IMM4,RNIND_D8  'b','E','I','E'
-QIM,RNIND_D8  'a','I','E','E'
-RNIND_D8,RD  'a','E','D','D'
-RNIND_D8,RD  '-','E','D','D'
-RNIND_D8,RD  'm','E','D','D'
-RS,RNIND_D8  'b','E','S','E'
-RS,RNIND_D8  'b','E','S','E'
-RNIND_D8,RD  'a','E','D','D'
-IMM4,RNIND_D8  'b','E','I','E'
-IMM4,RNIND_D8  'b','E','I','E'
-QIM,RNIND_D8  'a','I','E','E'
-RNIND_D8,RD  'a','E','D','D'
-RNIND_D8,RD  '-','E','D','D'
-RNIND_D8,RD  'm','E','D','D'
-RS,RNIND_D8  'b','E','S','E'
-IMM4,RNIND_D16  'b','E','I','E'
-QIM,RNIND_D16  'a','I','E','E'
-RS,RNIND_D16  'b','E','S','E'
-RS,RN  'b','E','S','E'
-IMM4,RNDEC  'b','E','I','E'
-IMM4,RNINC  'b','E','I','E'
-RS,RNIND  'b','E','S','E'
-RS,RNINC  'b','E','S','E'
-RS,RNDEC  'b','E','S','E'
-IMM4,RNIND  'b','E','I','E'
-IMM4,RN  'b','E','I','E'
-RS,RNIND_D8  'b','E','S','E'
-IMM4,ABS8  'b','E','I','E'
-RS,ABS8  'b','E','S','E'
-IMM4,RNIND_D8  'b','E','I','E'
-IMM4,ABS16  'b','E','I','E'
-RS,RNIND_D16  'b','E','S','E'
-RS,ABS16  'b','E','S','E'
-IMM4,RNIND_D16  'b','E','I','E'
-RS,RNIND_D8  'b','E','S','E'
-RNIND_D16,RD  'a','E','D','D'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RNIND_D16,RD  'a','E','D','D'
-RNIND_D16,RD  'a','E','D','D'
-IMM8,CRB  's','I','S','S'
-IMM16,CRW  's','I','S','S'
-RNIND_D8,RD  'a','E','D','D'
-IMM4,RNIND_D16  'b','E','I','E'
-RNIND_D16,RD  '-','E','D','D'
-RNIND_D16,RD  'm','E','D','D'
-RS,RNIND_D16  'b','E','S','E'
-IMM4,RNIND_D16  'b','E','I','E'
-IMM4,RNIND_D16  'b','E','I','E'
-QIM,RNIND_D16  'a','I','E','E'
-RNIND_D16,RD  '-','E','D','D'
-RNIND_D16,RD  'm','E','D','D'
-RS,RNIND_D16  'b','E','S','E'
-RS,RNIND_D16  'b','E','S','E'
-RNIND_D16,RD  'a','E','D','D'
-IMM8,RD  'a','E','D','D'
-IMM8,RD  '-','E','D','D'
-IMM8,RD  'm','E','D','D'
-IMM8,CRB  's','I','S','S'
-IMM8,RD  'a','E','D','D'
-RN,RD  'm','E','D','D'
-RNDEC,RD  'm','E','D','D'
-RNINC,RD  'm','E','D','D'
-RNIND,RD  'm','E','D','D'
-ABS8,RD  'm','E','D','D'
-RNIND_D8,RD  'm','E','D','D'
-IMM16,RD  'm','E','D','D'
-ABS16,RD  'm','E','D','D'
-RNIND_D16,RD  'm','E','D','D'
-IMM4,ABS8  'b','E','I','E'
-IMM4,ABS8  'b','E','I','E'
-QIM,ABS8  'a','I','E','E'
-ABS8,RD  'a','E','D','D'
-ABS8,RD  '-','E','D','D'
-ABS8,RD  'm','E','D','D'
-RS,ABS8  'b','E','S','E'
-RS,ABS8  'b','E','S','E'
-ABS8,RD  'a','E','D','D'
-IMM16,RD  'a','E','D','D'
-IMM16,RD  '-','E','D','D'
-IMM16,RD  'm','E','D','D'
-IMM16,CRW  's','I','S','S'
-IMM16,RD  'a','E','D','D'
-IMM4,ABS8  'b','E','I','E'
-QIM,ABS8  'a','I','E','E'
-ABS8,RD  'a','E','D','D'
-ABS8,RD  '-','E','D','D'
-RN,RD  'a','E','D','D'
-RNINC,RD  'a','E','D','D'
-RNIND,RD  'a','E','D','D'
-RNDEC,RD  'a','E','D','D'
-ABS8,RD  'a','E','D','D'
-RNIND_D8,RD  'a','E','D','D'
-ABS16,RD  'a','E','D','D'
-IMM16,RD  'a','E','D','D'
-RNIND_D16,RD  'a','E','D','D'
-0,0  '-','!','!','!'
-IMM4,ABS8  'b','E','I','E'
-ABS8,RD  'm','E','D','D'
-RS,ABS8  'b','E','S','E'
-RS,ABS8  'b','E','S','E'
-ABS8,RD  'a','E','D','D'
-IMM4,ABS16  'b','E','I','E'
-ABS16,RD  'a','E','D','D'
-ABS16,RD  '-','E','D','D'
-ABS16,RD  'm','E','D','D'
-RS,ABS16  'b','E','S','E'
-ABS16,RD  'a','E','D','D'
-IMM4,ABS16  'b','E','I','E'
-ABS16,RD  '-','E','D','D'
-ABS16,RD  'm','E','D','D'
-RS,ABS16  'b','E','S','E'
-ABS16,RD  'a','E','D','D'
-PCREL8,0  '-','B','!','!'
-RN,RD  '-','E','D','D'
-RNIND,RD  '-','E','D','D'
-RNINC,RD  '-','E','D','D'
-RNDEC,RD  '-','E','D','D'
-ABS8,RD  '-','E','D','D'
-RNIND_D8,RD  '-','E','D','D'
-ABS16,RD  '-','E','D','D'
-IMM16,RD  '-','E','D','D'
-RNIND_D16,RD  '-','E','D','D'
-IMM4,ABS16  'b','E','I','E'
-QIM,ABS16  'a','I','E','E'
-RS,ABS16  'b','E','S','E'
-IMM4,ABS16  'b','E','I','E'
-QIM,ABS16  'a','I','E','E'
-ABS16,RD  'a','E','D','D'
-RS,ABS16  'b','E','S','E'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-QIM,RN  'a','I','E','E'
-QIM,RNDEC  'a','I','E','E'
-QIM,RNINC  'a','I','E','E'
-QIM,RNIND  'a','I','E','E'
-QIM,ABS8  'a','I','E','E'
-QIM,RNIND_D8  'a','I','E','E'
-QIM,ABS16  'a','I','E','E'
-QIM,RNIND_D16  'a','I','E','E'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL8,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-PCREL16,0  '-','B','!','!'
-RN,RD  'a','E','D','D'
-RNDEC,RD  'a','E','D','D'
-RNINC,RD  'a','E','D','D'
-RNIND,RD  'a','E','D','D'
-ABS8,RD  'a','E','D','D'
-RNIND_D8,RD  'a','E','D','D'
-ABS16,RD  'a','E','D','D'
-IMM16,RD  'a','E','D','D'
-RNIND_D16,RD  'a','E','D','D'
-RN,RD  'a','E','D','D'
-QIM,RN  'a','I','E','E'
-QIM,RNIND  'a','I','E','E'
-RNDEC,RD  'a','E','D','D'
-QIM,RNDEC  'a','I','E','E'
-QIM,RNINC  'a','I','E','E'
-RNIND,RD  'a','E','D','D'
-RNINC,RD  'a','E','D','D'
-QIM,ABS8  'a','I','E','E'
-QIM,RNIND_D8  'a','I','E','E'
-ABS8,RD  'a','E','D','D'
-RNIND_D8,RD  'a','E','D','D'
-ABS16,RD  'a','E','D','D'
-QIM,RNIND_D16  'a','I','E','E'
-IMM16,RD  'a','E','D','D'
-QIM,ABS16  'a','I','E','E'
-RNIND_D16,RD  'a','E','D','D'
-RN,RD  'a','E','D','D'
-QIM,RN  'a','I','E','E'
-QIM,RNINC  'a','I','E','E'
-RNDEC,RD  'a','E','D','D'
-QIM,RNIND  'a','I','E','E'
-RNINC,RD  'a','E','D','D'
-QIM,RNDEC  'a','I','E','E'
-RNIND,RD  'a','E','D','D'
-QIM,RNIND_D8  'a','I','E','E'
-IMM8,RD  'a','E','D','D'
-QIM,ABS8  'a','I','E','E'
-ABS8,RD  'a','E','D','D'
-RNIND_D8,RD  'a','E','D','D'
-QIM,RNIND_D16  'a','I','E','E'
-QIM,ABS16  'a','I','E','E'
-ABS16,RD  'a','E','D','D'
-RNIND_D16,RD  'a','E','D','D'
-RN,RD  'a','E','D','D'
-QIM,RN  'a','I','E','E'
-QIM,RNDEC  'a','I','E','E'
-RNDEC,RD  'a','E','D','D'
-QIM,RNIND  'a','I','E','E'
-QIM,RNINC  'a','I','E','E'
-RNINC,RD  'a','E','D','D'
-RNIND,RD  'a','E','D','D'
-QIM,ABS8  'a','I','E','E'
-QIM,RNIND_D8  'a','I','E','E'
-RNIND_D8,RD  'a','E','D','D'
-ABS8,RD  'a','E','D','D'
-ABS16,RD  'a','E','D','D'
-QIM,RNIND_D16  'a','I','E','E'
-IMM16,RD  'a','E','D','D'
-QIM,ABS16  'a','I','E','E'
-RNIND_D16,RD  'a','E','D','D'
-*/
-{0,0,0,0,0,0,NULL,0,{0,0},0,{}}}
-#endif
-;
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/hppa-dis.c ./opcodes/hppa-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/hppa-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/hppa-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -425,7 +425,7 @@ print_insn_hppa (bfd_vma memaddr, disass
 			fput_fp_reg (GET_FIELD (insn, 6, 10), info);
 		      break;
 
-		      /* 'fA' will not generate a space before the regsiter
+		      /* 'fA' will not generate a space before the register
 			 name.  Normally that is fine.  Except that it
 			 causes problems with xmpyu which has no FP format
 			 completer.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i370-dis.c ./opcodes/i370-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i370-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/i370-dis.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,161 +0,0 @@
-/* i370-dis.c -- Disassemble Instruction 370 (ESA/390) instructions
-   Copyright (C) 1994-2018 Free Software Foundation, Inc.
-   PowerPC version written by Ian Lance Taylor, Cygnus Support
-   Rewritten for i370 ESA/390 support by Linas Vepstas <linas@linas.org>
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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 file; see the file COPYING.  If not, write to the Free
-   Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include <stdio.h>
-#include "disassemble.h"
-#include "opcode/i370.h"
-
-/* This file provides several disassembler functions, all of which use
-   the disassembler interface defined in dis-asm.h.  */
-
-int
-print_insn_i370 (bfd_vma memaddr, struct disassemble_info *info)
-{
-  bfd_byte buffer[8];
-  int status;
-  i370_insn_t insn;
-  const struct i370_opcode *opcode;
-  const struct i370_opcode *opcode_end;
-
-  status = (*info->read_memory_func) (memaddr, buffer, 6, info);
-  if (status != 0)
-    {
-      (*info->memory_error_func) (status, memaddr, info);
-      return -1;
-    }
-
-  /* Cast the bytes into the insn (in a host-endian indep way).  */
-  insn.i[0] = (buffer[0] << 24) & 0xff000000;
-  insn.i[0] |= (buffer[1] << 16) & 0xff0000;
-  insn.i[0] |= (buffer[2] << 8) & 0xff00;
-  insn.i[0] |= buffer[3]  & 0xff;
-  insn.i[1] = (buffer[4] << 24) & 0xff000000;
-  insn.i[1] |= (buffer[5] << 16) & 0xff0000;
-
-  /* Find the first match in the opcode table.  We could speed this up
-     a bit by doing a binary search on the major opcode.  */
-  opcode_end = i370_opcodes + i370_num_opcodes;
-  for (opcode = i370_opcodes; opcode < opcode_end; opcode++)
-    {
-      const unsigned char *opindex;
-      const struct i370_operand *operand;
-      i370_insn_t masked;
-      int invalid;
-
-      /* Mask off operands, and look for a match ... */
-      masked = insn;
-      if (2 == opcode->len)
-        {
-          masked.i[0] >>= 16;
-          masked.i[0] &= 0xffff;
-        }
-      masked.i[0] &= opcode->mask.i[0];
-      if (masked.i[0] != opcode->opcode.i[0])
-	continue;
-
-      if (6 == opcode->len)
-        {
-          masked.i[1] &= opcode->mask.i[1];
-          if (masked.i[1] != opcode->opcode.i[1])
-	    continue;
-        }
-
-      /* Found a match.  adjust a tad.  */
-      if (2 == opcode->len)
-        {
-          insn.i[0] >>= 16;
-          insn.i[0] &= 0xffff;
-        }
-
-      /* Make two passes over the operands.  First see if any of them
-         have extraction functions, and, if they do, make sure the
-         instruction is valid.  */
-      invalid = 0;
-      for (opindex = opcode->operands; *opindex != 0; opindex++)
-        {
-          operand = i370_operands + *opindex;
-          if (operand->extract)
-            (*operand->extract) (insn, &invalid);
-        }
-      if (invalid)
-	continue;
-
-      /* The instruction is valid.  */
-      (*info->fprintf_func) (info->stream, "%s", opcode->name);
-      if (opcode->operands[0] != 0)
-        (*info->fprintf_func) (info->stream, "\t");
-
-      /* Now extract and print the operands.  */
-      for (opindex = opcode->operands; *opindex != 0; opindex++)
-        {
-          long value;
-
-          operand = i370_operands + *opindex;
-
-          /* Extract the value from the instruction.  */
-          if (operand->extract)
-            value = (*operand->extract) (insn, (int *) NULL);
-          else
-	    value = (insn.i[0] >> operand->shift) & ((1 << operand->bits) - 1);
-
-          /* Print the operand as directed by the flags.  */
-          if ((operand->flags & I370_OPERAND_OPTIONAL) != 0)
-            {
-              if (value)
-                (*info->fprintf_func) (info->stream, "(r%ld)", value);
-            }
-          else if ((operand->flags & I370_OPERAND_SBASE) != 0)
-            {
-              (*info->fprintf_func) (info->stream, "(r%ld)", value);
-            }
-          else if ((operand->flags & I370_OPERAND_INDEX) != 0)
-            {
-              if (value)
-                (*info->fprintf_func) (info->stream, "(r%ld,", value);
-              else
-                (*info->fprintf_func) (info->stream, "(,");
-            }
-          else if ((operand->flags & I370_OPERAND_LENGTH) != 0)
-            {
-              (*info->fprintf_func) (info->stream, "(%ld,", value);
-            }
-          else if ((operand->flags & I370_OPERAND_BASE) != 0)
-            (*info->fprintf_func) (info->stream, "r%ld)", value);
-          else if ((operand->flags & I370_OPERAND_GPR) != 0)
-            (*info->fprintf_func) (info->stream, "r%ld,", value);
-          else if ((operand->flags & I370_OPERAND_FPR) != 0)
-            (*info->fprintf_func) (info->stream, "f%ld,", value);
-          else if ((operand->flags & I370_OPERAND_RELATIVE) != 0)
-            (*info->fprintf_func) (info->stream, "%ld", value);
-          else
-            (*info->fprintf_func) (info->stream, " %ld, ", value);
-        }
-
-      return opcode->len;
-    }
-
-  /* We could not find a match.  */
-  (*info->fprintf_func) (info->stream, ".short 0x%02x%02x", buffer[0], buffer[1]);
-
-  return 2;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i370-opc.c ./opcodes/i370-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i370-opc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/i370-opc.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,935 +0,0 @@
-/* i370-opc.c -- Instruction 370 (ESA/390) architecture opcode list
-   Copyright (C) 1994-2018 Free Software Foundation, Inc.
-   PowerPC version written by Ian Lance Taylor, Cygnus Support
-   Rewritten for i370 ESA/390 support by Linas Vepstas <linas@linas.org> 1998, 1999
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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 file; see the file COPYING.  If not, write to the Free
-   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
-   02110-1301, USA.  */
-
-#include "sysdep.h"
-#include <stdio.h>
-#include "opcode/i370.h"
-
-/* This file holds the i370 opcode table.  The opcode table
-   includes almost all of the extended instruction mnemonics.  This
-   permits the disassembler to use them, and simplifies the assembler
-   logic, at the cost of increasing the table size.  The table is
-   strictly constant data, so the compiler should be able to put it in
-   the .text section.
-
-   This file also holds the operand table.  All knowledge about
-   inserting operands into instructions and vice-versa is kept in this
-   file.  */
-
-/* The functions used to insert and extract complicated operands.  */
-
-static i370_insn_t
-insert_ss_b2 (i370_insn_t insn, long value,
-	      const char **errmsg ATTRIBUTE_UNUSED)
-{
-  insn.i[1] |= (value & 0xf) << 28;
-  return insn;
-}
-
-static i370_insn_t
-insert_ss_d2 (i370_insn_t insn, long value,
-	      const char **errmsg ATTRIBUTE_UNUSED)
-{
-  insn.i[1] |= (value & 0xfff) << 16;
-  return insn;
-}
-
-static i370_insn_t
-insert_rxf_r3 (i370_insn_t insn, long value,
-	       const char **errmsg ATTRIBUTE_UNUSED)
-{
-  insn.i[1] |= (value & 0xf) << 28;
-  return insn;
-}
-
-static long
-extract_ss_b2 (i370_insn_t insn, int *invalid ATTRIBUTE_UNUSED)
-{
-  return (insn.i[1] >>28) & 0xf;
-}
-
-static long
-extract_ss_d2 (i370_insn_t insn, int *invalid ATTRIBUTE_UNUSED)
-{
-  return (insn.i[1] >>16) & 0xfff;
-}
-
-static long
-extract_rxf_r3 (i370_insn_t insn, int *invalid ATTRIBUTE_UNUSED)
-{
-  return (insn.i[1] >>28) & 0xf;
-}
-
-/* The operands table.
-   The fields are bits, shift, insert, extract, flags, name.
-   The types:
-   I370_OPERAND_GPR register, must name a register, must be present
-   I370_OPERAND_RELATIVE displacement or legnth field, must be present
-   I370_OPERAND_BASE base register; if present, must name a register
-                      if absent, should take value of zero
-   I370_OPERAND_INDEX index register; if present, must name a register
-                      if absent, should take value of zero
-   I370_OPERAND_OPTIONAL other optional operand (usuall reg?).  */
-
-const struct i370_operand i370_operands[] =
-{
-  /* The zero index is used to indicate the end of the list of
-     operands.  */
-#define UNUSED 0
-  { 0, 0, 0, 0, 0, "unused" },
-
-  /* The R1 register field in an RR form instruction.  */
-#define RR_R1 (UNUSED + 1)
-#define RR_R1_MASK (0xf << 4)
-  { 4, 4, 0, 0, I370_OPERAND_GPR, "RR R1" },
-
-  /* The R2 register field in an RR form instruction.  */
-#define RR_R2 (RR_R1 + 1)
-#define RR_R2_MASK (0xf)
-  { 4, 0, 0, 0, I370_OPERAND_GPR, "RR R2" },
-
-  /* The I field in an RR form SVC-style instruction.  */
-#define RR_I (RR_R2 + 1)
-#define RR_I_MASK (0xff)
-  { 8, 0, 0, 0, I370_OPERAND_RELATIVE, "RR I (svc)" },
-
-  /* The R1 register field in an RRE form instruction.  */
-#define RRE_R1 (RR_I + 1)
-#define RRE_R1_MASK (0xf << 4)
-  { 4, 4, 0, 0, I370_OPERAND_GPR, "RRE R1" },
-
-  /* The R2 register field in an RRE form instruction.  */
-#define RRE_R2 (RRE_R1 + 1)
-#define RRE_R2_MASK (0xf)
-  { 4, 0, 0, 0, I370_OPERAND_GPR, "RRE R2" },
-
-  /* The R1 register field in an RRF form instruction.  */
-#define RRF_R1 (RRE_R2 + 1)
-#define RRF_R1_MASK (0xf << 4)
-  { 4, 4, 0, 0, I370_OPERAND_GPR, "RRF R1" },
-
-  /* The R2 register field in an RRF form instruction.  */
-#define RRF_R2 (RRF_R1 + 1)
-#define RRF_R2_MASK (0xf)
-  { 4, 0, 0, 0, I370_OPERAND_GPR, "RRF R2" },
-
-  /* The R3 register field in an RRF form instruction.  */
-#define RRF_R3 (RRF_R2 + 1)
-#define RRF_R3_MASK (0xf << 12)
-  { 4, 12, 0, 0, I370_OPERAND_GPR, "RRF R3" },
-
-  /* The R1 register field in an RX or RS form instruction.  */
-#define RX_R1 (RRF_R3 + 1)
-#define RX_R1_MASK (0xf << 20)
-  { 4, 20, 0, 0, I370_OPERAND_GPR, "RX R1" },
-
-  /* The X2 index field in an RX form instruction.  */
-#define RX_X2 (RX_R1 + 1)
-#define RX_X2_MASK (0xf << 16)
-  { 4, 16, 0, 0, I370_OPERAND_GPR | I370_OPERAND_INDEX, "RX X2"},
-
-  /* The B2 base field in an RX form instruction.  */
-#define RX_B2 (RX_X2 + 1)
-#define RX_B2_MASK (0xf << 12)
-  { 4, 12, 0, 0, I370_OPERAND_GPR | I370_OPERAND_BASE, "RX B2"},
-
-  /* The D2 displacement field in an RX form instruction.  */
-#define RX_D2 (RX_B2 + 1)
-#define RX_D2_MASK (0xfff)
-  { 12, 0, 0, 0, I370_OPERAND_RELATIVE, "RX D2"},
-
- /* The R3 register field in an RXF form instruction.  */
-#define RXF_R3 (RX_D2 + 1)
-#define RXF_R3_MASK (0xf << 12)
-  { 4, 12, insert_rxf_r3, extract_rxf_r3, I370_OPERAND_GPR, "RXF R3" },
-
-  /* The D2 displacement field in an RS form instruction.  */
-#define RS_D2 (RXF_R3 + 1)
-#define RS_D2_MASK (0xfff)
-  { 12, 0, 0, 0, I370_OPERAND_RELATIVE, "RS D2"},
-
-  /* The R3 register field in an RS form instruction.  */
-#define RS_R3 (RS_D2 + 1)
-#define RS_R3_MASK (0xf << 16)
-  { 4, 16, 0, 0, I370_OPERAND_GPR, "RS R3" },
-
-  /* The B2 base field in an RS form instruction.  */
-#define RS_B2 (RS_R3 + 1)
-#define RS_B2_MASK (0xf << 12)
-  { 4, 12, 0, 0, I370_OPERAND_GPR | I370_OPERAND_BASE | I370_OPERAND_SBASE, "RS B2"},
-
-  /* The optional B2 base field in an RS form instruction.  */
-  /* Note that this field will almost always be absent */
-#define RS_B2_OPT (RS_B2 + 1)
-#define RS_B2_OPT_MASK (0xf << 12)
-  { 4, 12, 0, 0, I370_OPERAND_GPR | I370_OPERAND_OPTIONAL, "RS B2 OPT"},
-
-  /* The R1 register field in an RSI form instruction.  */
-#define RSI_R1 (RS_B2_OPT + 1)
-#define RSI_R1_MASK (0xf << 20)
-  { 4, 20, 0, 0, I370_OPERAND_GPR, "RSI R1" },
-
-  /* The R3 register field in an RSI form instruction.  */
-#define RSI_R3 (RSI_R1 + 1)
-#define RSI_R3_MASK (0xf << 16)
-  { 4, 16, 0, 0, I370_OPERAND_GPR, "RSI R3" },
-
-  /* The I2 immediate field in an RSI form instruction.  */
-#define RSI_I2 (RSI_R3 + 1)
-#define RSI_I2_MASK (0xffff)
-  { 16, 0, 0, 0, I370_OPERAND_RELATIVE, "RSI I2" },
-
-  /* The R1 register field in an RI form instruction.  */
-#define RI_R1 (RSI_I2 + 1)
-#define RI_R1_MASK (0xf << 20)
-  { 4, 20, 0, 0, I370_OPERAND_GPR, "RI R1" },
-
-  /* The I2 immediate field in an RI form instruction.  */
-#define RI_I2 (RI_R1 + 1)
-#define RI_I2_MASK (0xffff)
-  { 16, 0, 0, 0, I370_OPERAND_RELATIVE, "RI I2" },
-
- /* The I2 index field in an SI form instruction.  */
-#define SI_I2 (RI_I2 + 1)
-#define SI_I2_MASK (0xff << 16)
-  { 8, 16, 0, 0, I370_OPERAND_RELATIVE, "SI I2"},
-
- /* The B1 base register field in an SI form instruction.  */
-#define SI_B1 (SI_I2 + 1)
-#define SI_B1_MASK (0xf << 12)
-  { 4, 12, 0, 0, I370_OPERAND_GPR, "SI B1" },
-
-  /* The D1 displacement field in an SI form instruction.  */
-#define SI_D1 (SI_B1 + 1)
-#define SI_D1_MASK (0xfff)
-  { 12, 0, 0, 0, I370_OPERAND_RELATIVE, "SI D1" },
-
- /* The B2 base register field in an S form instruction.  */
-#define S_B2 (SI_D1 + 1)
-#define S_B2_MASK (0xf << 12)
-  { 4, 12, 0, 0, I370_OPERAND_GPR | I370_OPERAND_BASE | I370_OPERAND_SBASE, "S B2" },
-
-  /* The D2 displacement field in an S form instruction.  */
-#define S_D2 (S_B2 + 1)
-#define S_D2_MASK (0xfff)
-  { 12, 0, 0, 0, I370_OPERAND_RELATIVE, "S D2" },
-
-  /* The L length field in an SS form instruction.  */
-#define SS_L (S_D2 + 1)
-#define SS_L_MASK (0xffff<<16)
-  { 8, 16, 0, 0, I370_OPERAND_RELATIVE | I370_OPERAND_LENGTH, "SS L" },
-
- /* The B1 base register field in an SS form instruction.  */
-#define SS_B1 (SS_L + 1)
-#define SS_B1_MASK (0xf << 12)
-  { 4, 12, 0, 0, I370_OPERAND_GPR, "SS B1" },
-
-  /* The D1 displacement field in an SS form instruction.  */
-#define SS_D1 (SS_B1 + 1)
-#define SS_D1_MASK (0xfff)
-  { 12, 0, 0, 0, I370_OPERAND_RELATIVE, "SS D1" },
-
- /* The B2 base register field in an SS form instruction.  */
-#define SS_B2 (SS_D1 + 1)
-#define SS_B2_MASK (0xf << 12)
-  { 4, 12, insert_ss_b2, extract_ss_b2, I370_OPERAND_GPR | I370_OPERAND_BASE | I370_OPERAND_SBASE, "SS B2" },
-
-  /* The D2 displacement field in an SS form instruction.  */
-#define SS_D2 (SS_B2 + 1)
-#define SS_D2_MASK (0xfff)
-  { 12, 0, insert_ss_d2, extract_ss_d2, I370_OPERAND_RELATIVE, "SS D2" },
-
-};
-
-
-/* Macros used to form opcodes.  */
-
-/* The short-instruction opcode.  */
-#define OPS(x) ((((unsigned short) (x)) & 0xff) << 8)
-#define OPS_MASK OPS (0xff)
-
-/* the extended instruction opcode */
-#define XOPS(x) ((((unsigned short) (x)) & 0xff) << 24)
-#define XOPS_MASK XOPS (0xff)
-
-/* the S instruction opcode */
-#define SOPS(x) ((((unsigned short) (x)) & 0xffff) << 16)
-#define SOPS_MASK SOPS (0xffff)
-
-/* the E instruction opcode */
-#define EOPS(x) (((unsigned short) (x)) & 0xffff)
-#define EOPS_MASK EOPS (0xffff)
-
-/* the RI instruction opcode */
-#define ROPS(x) (((((unsigned short) (x)) & 0xff0) << 20) | \
-                 ((((unsigned short) (x)) & 0x00f) << 16))
-#define ROPS_MASK ROPS (0xfff)
-
-
-/* An E form instruction.  */
-#define E(op)  (EOPS (op))
-#define E_MASK E (0xffff)
-
-/* An RR form instruction.  */
-#define RR(op, r1, r2) \
-  (OPS (op) | ((((unsigned short) (r1)) & 0xf) << 4) |   \
-              ((((unsigned short) (r2)) & 0xf) ))
-
-#define RR_MASK RR (0xff, 0x0, 0x0)
-
-/* An SVC-style instruction.  */
-#define SVC(op, i) \
-  (OPS (op) | (((unsigned short) (i)) & 0xff))
-
-#define SVC_MASK SVC (0xff, 0x0)
-
-/* An RRE form instruction.  */
-#define RRE(op, r1, r2) \
-  (SOPS (op) | ((((unsigned short) (r1)) & 0xf) << 4) |   \
-               ((((unsigned short) (r2)) & 0xf) ))
-
-#define RRE_MASK RRE (0xffff, 0x0, 0x0)
-
-/* An RRF form instruction.  */
-#define RRF(op, r3, r1, r2) \
-  (SOPS (op) | ((((unsigned short) (r3)) & 0xf) << 12) |   \
-               ((((unsigned short) (r1)) & 0xf) << 4)  |   \
-               ((((unsigned short) (r2)) & 0xf) ))
-
-#define RRF_MASK RRF (0xffff, 0x0, 0x0, 0x0)
-
-/* An RX form instruction.  */
-#define RX(op, r1, x2, b2, d2) \
-  (XOPS(op) | ((((unsigned short) (r1)) & 0xf) << 20) |  \
-              ((((unsigned short) (x2)) & 0xf) << 16) |  \
-              ((((unsigned short) (b2)) & 0xf) << 12) |  \
-              ((((unsigned short) (d2)) & 0xfff)))
-
-#define RX_MASK RX (0xff, 0x0, 0x0, 0x0, 0x0)
-
-/* An RXE form instruction high word.  */
-#define RXEH(op, r1, x2, b2, d2) \
-  (XOPS(op) | ((((unsigned short) (r1)) & 0xf) << 20) |  \
-              ((((unsigned short) (x2)) & 0xf) << 16) |  \
-              ((((unsigned short) (b2)) & 0xf) << 12) |  \
-              ((((unsigned short) (d2)) & 0xfff)))
-
-#define RXEH_MASK RXEH (0xff, 0, 0, 0, 0)
-
-/* An RXE form instruction low word.  */
-#define RXEL(op) \
-              ((((unsigned short) (op)) & 0xff) << 16 )
-
-#define RXEL_MASK RXEL (0xff)
-
-/* An RXF form instruction high word.  */
-#define RXFH(op, r1, x2, b2, d2) \
-  (XOPS(op) | ((((unsigned short) (r1)) & 0xf) << 20) |  \
-              ((((unsigned short) (x2)) & 0xf) << 16) |  \
-              ((((unsigned short) (b2)) & 0xf) << 12) |  \
-              ((((unsigned short) (d2)) & 0xfff)))
-
-#define RXFH_MASK RXFH (0xff, 0, 0, 0, 0)
-
-/* An RXF form instruction low word.  */
-#define RXFL(op, r3) \
-              (((((unsigned short) (r3)) & 0xf)  << 28 ) | \
-               ((((unsigned short) (op)) & 0xff) << 16 ))
-
-#define RXFL_MASK RXFL (0xff, 0)
-
-/* An RS form instruction.  */
-#define RS(op, r1, b3, b2, d2) \
-  (XOPS(op) | ((((unsigned short) (r1)) & 0xf) << 20) |  \
-              ((((unsigned short) (b3)) & 0xf) << 16) |  \
-              ((((unsigned short) (b2)) & 0xf) << 12) |  \
-              ((((unsigned short) (d2)) & 0xfff)))
-
-#define RS_MASK RS (0xff, 0x0, 0x0, 0x0, 0x0)
-
-/* An RSI form instruction.  */
-#define RSI(op, r1, r3, i2) \
-  (XOPS(op) | ((((unsigned short) (r1)) & 0xf) << 20) |  \
-              ((((unsigned short) (r3)) & 0xf) << 16) |  \
-              ((((unsigned short) (i2)) & 0xffff)))
-
-#define RSI_MASK RSI (0xff, 0x0, 0x0, 0x0)
-
-/* An RI form instruction.  */
-#define RI(op, r1, i2) \
-  (ROPS(op) | ((((unsigned short) (r1)) & 0xf) << 20) |  \
-              ((((unsigned short) (i2)) & 0xffff)))
-
-#define RI_MASK RI (0xfff, 0x0, 0x0)
-
-/* An SI form instruction.  */
-#define SI(op, i2, b1, d1) \
-  (XOPS(op) | ((((unsigned short) (i2)) & 0xff) << 16) |  \
-              ((((unsigned short) (b1)) & 0xf)  << 12) |  \
-              ((((unsigned short) (d1)) & 0xfff)))
-
-#define SI_MASK SI (0xff, 0x0, 0x0, 0x0)
-
-/* An S form instruction.  */
-#define S(op, b2, d2) \
-  (SOPS(op) | ((((unsigned short)(b2)) & 0xf) << 12) |  \
-              ((((unsigned short)(d2)) & 0xfff)))
-
-#define S_MASK S (0xffff, 0x0, 0x0)
-
-/* An SS form instruction high word.  */
-#define SSH(op, l, b1, d1) \
-  (XOPS(op) | ((((unsigned short) (l)) & 0xff) << 16) |  \
-              ((((unsigned short) (b1)) & 0xf)  << 12) |  \
-              ((((unsigned short) (d1)) & 0xfff)))
-
-/* An SS form instruction low word.  */
-#define SSL(b2, d2) \
-            ( ((((unsigned short) (b1)) & 0xf)   << 28) |  \
-              ((((unsigned short) (d1)) & 0xfff) << 16 ))
-
-#define SS_MASK SSH (0xff, 0x0, 0x0, 0x0)
-
-/* An SSE form instruction high word.  */
-#define SSEH(op, b1, d1) \
-  (SOPS(op) | ((((unsigned short) (b1)) & 0xf)  << 12) |  \
-              ((((unsigned short) (d1)) & 0xfff)))
-
-/* An SSE form instruction low word.  */
-#define SSEL(b2, d2) \
-            ( ((((unsigned short) (b1)) & 0xf)   << 28) |  \
-              ((((unsigned short) (d1)) & 0xfff) << 16 ))
-
-#define SSE_MASK SSEH (0xffff, 0x0, 0x0)
-
-
-/* Smaller names for the flags so each entry in the opcodes table will
-   fit on a single line.  These flags are set up so that e.g. IXA means
-   the insn is supported on the 370/XA or newer architecture.
-   Note that 370 or older obsolete insn's are not supported ...  */
-#define	IBF	I370_OPCODE_ESA390_BF
-#define	IBS	I370_OPCODE_ESA390_BS
-#define	ICK	I370_OPCODE_ESA390_CK
-#define	ICM	I370_OPCODE_ESA390_CM
-#define	IFX	I370_OPCODE_ESA390_FX
-#define	IHX	I370_OPCODE_ESA390_HX
-#define	IIR	I370_OPCODE_ESA390_IR
-#define	IMI	I370_OPCODE_ESA390_MI
-#define	IPC	I370_OPCODE_ESA390_PC
-#define	IPL	I370_OPCODE_ESA390_PL
-#define	IQR	I370_OPCODE_ESA390_QR
-#define	IRP	I370_OPCODE_ESA390_RP
-#define	ISA	I370_OPCODE_ESA390_SA
-#define	ISG	I370_OPCODE_ESA390_SG
-#define	ISR	I370_OPCODE_ESA390_SR
-#define	ITR	I370_OPCODE_ESA390_SR
-#define	I390	IBF  | IBS | ICK | ICM | IIR | IFX | IHX | IMI | IPC | IPL | IQR | IRP | ISA | ISG | ISR | ITR | I370_OPCODE_ESA390
-#define	IESA	I390 | I370_OPCODE_ESA370
-#define IXA	IESA | I370_OPCODE_370_XA
-#define	I370	IXA  | I370_OPCODE_370
-#define I360	I370 | I370_OPCODE_360
-
-
-/* The opcode table.
-
-   The format of the opcode table is:
-
-   NAME	    LEN  OPCODE_HI  OPCODE_LO	MASK_HI MASK_LO	FLAGS		{ OPERANDS }
-
-   NAME is the name of the instruction.
-   OPCODE is the instruction opcode.
-   MASK is the opcode mask; this is used to tell the disassembler
-     which bits in the actual opcode must match OPCODE.
-   FLAGS are flags indicated what processors support the instruction.
-   OPERANDS is the list of operands.
-
-   The disassembler reads the table in order and prints the first
-   instruction which matches, so this table is sorted to put more
-   specific instructions before more general instructions.  It is also
-   sorted by major opcode.  */
-
-const struct i370_opcode i370_opcodes[] =
-{
-/* E form instructions */
-{ "pr",     2, {{E(0x0101),    0}}, {{E_MASK,  0}}, IESA,  {0} },
-
-{ "trap2",  2, {{E(0x01FF),    0}}, {{E_MASK,  0}}, ITR,   {0} },
-{ "upt",    2, {{E(0x0102),    0}}, {{E_MASK,  0}}, IXA,   {0} },
-
-/* RR form instructions */
-{ "ar",     2, {{RR(0x1a,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "adr",    2, {{RR(0x2a,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "aer",    2, {{RR(0x3a,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "alr",    2, {{RR(0x1e,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "aur",    2, {{RR(0x2e,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "awr",    2, {{RR(0x3e,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "axr",    2, {{RR(0x36,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "balr",   2, {{RR(0x05,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "basr",   2, {{RR(0x0d,0,0), 0}}, {{RR_MASK, 0}}, IXA,   {RR_R1, RR_R2} },
-{ "bassm",  2, {{RR(0x0c,0,0), 0}}, {{RR_MASK, 0}}, IXA,   {RR_R1, RR_R2} },
-{ "bsm",    2, {{RR(0x0b,0,0), 0}}, {{RR_MASK, 0}}, IXA,   {RR_R1, RR_R2} },
-{ "bcr",    2, {{RR(0x07,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "bctr",   2, {{RR(0x06,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "cdr",    2, {{RR(0x29,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "cer",    2, {{RR(0x39,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "clr",    2, {{RR(0x15,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "clcl",   2, {{RR(0x0f,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "cr",     2, {{RR(0x19,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "ddr",    2, {{RR(0x2d,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "der",    2, {{RR(0x3d,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "dr",     2, {{RR(0x1d,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "hdr",    2, {{RR(0x24,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "her",    2, {{RR(0x34,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lcdr",   2, {{RR(0x23,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lcer",   2, {{RR(0x33,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lcr",    2, {{RR(0x13,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "ldr",    2, {{RR(0x28,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "ler",    2, {{RR(0x38,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lndr",   2, {{RR(0x21,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lner",   2, {{RR(0x31,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lnr",    2, {{RR(0x11,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lpdr",   2, {{RR(0x20,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lper",   2, {{RR(0x30,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lpr",    2, {{RR(0x10,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lr",     2, {{RR(0x18,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lrdr",   2, {{RR(0x25,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lrer",   2, {{RR(0x35,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "ltdr",   2, {{RR(0x22,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "lter",   2, {{RR(0x32,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "ltr",    2, {{RR(0x12,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "mdr",    2, {{RR(0x2c,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "mer",    2, {{RR(0x3c,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "mr",     2, {{RR(0x1c,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "mvcl",   2, {{RR(0x0e,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "mxdr",   2, {{RR(0x27,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "mxr",    2, {{RR(0x26,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "nr",     2, {{RR(0x14,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "or",     2, {{RR(0x16,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "sdr",    2, {{RR(0x2b,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "ser",    2, {{RR(0x3b,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "slr",    2, {{RR(0x1f,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "spm",    2, {{RR(0x04,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1} },
-{ "sr",     2, {{RR(0x1b,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "sur",    2, {{RR(0x3f,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "swr",    2, {{RR(0x2f,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "sxr",    2, {{RR(0x37,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-{ "xr",     2, {{RR(0x17,0,0), 0}}, {{RR_MASK, 0}}, I370,  {RR_R1, RR_R2} },
-
-/* Unusual RR formats.  */
-{ "svc",    2, {{SVC(0x0a,0), 0}},  {{SVC_MASK, 0}}, I370,  {RR_I} },
-
-/* RRE form instructions.  */
-{ "adbr",   4, {{RRE(0xb31a,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "aebr",   4, {{RRE(0xb30a,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "axbr",   4, {{RRE(0xb34a,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "bakr",   4, {{RRE(0xb240,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "bsa",    4, {{RRE(0xb25a,0,0),   0}}, {{RRE_MASK, 0}}, IBS,  {RRE_R1, RRE_R2} },
-{ "bsg",    4, {{RRE(0xb258,0,0),   0}}, {{RRE_MASK, 0}}, ISG,  {RRE_R1, RRE_R2} },
-{ "cdbr",   4, {{RRE(0xb319,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "cdfbr",  4, {{RRE(0xb395,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "cdfr",   4, {{RRE(0xb3b5,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "cebr",   4, {{RRE(0xb309,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "cefbr",  4, {{RRE(0xb394,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "cefr",   4, {{RRE(0xb3b4,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "cksm",   4, {{RRE(0xb241,0,0),   0}}, {{RRE_MASK, 0}}, ICK,  {RRE_R1, RRE_R2} },
-{ "clst",   4, {{RRE(0xb25d,0,0),   0}}, {{RRE_MASK, 0}}, ISR,  {RRE_R1, RRE_R2} },
-{ "cpya",   4, {{RRE(0xb24d,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "cuse",   4, {{RRE(0xb257,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "cxbr",   4, {{RRE(0xb349,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "cxfbr",  4, {{RRE(0xb396,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "cxfr",   4, {{RRE(0xb3b6,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "cxr",    4, {{RRE(0xb369,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "ddbr",   4, {{RRE(0xb31d,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "debr",   4, {{RRE(0xb30d,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "dxbr",   4, {{RRE(0xb34d,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "dxr",    4, {{RRE(0xb22d,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1, RRE_R2} },
-{ "ear",    4, {{RRE(0xb24f,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "efpc",   4, {{RRE(0xb38c,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "epar",   4, {{RRE(0xb226,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1} },
-{ "ereg",   4, {{RRE(0xb249,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "esar",   4, {{RRE(0xb227,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1} },
-{ "esta",   4, {{RRE(0xb24a,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "fidr",   4, {{RRE(0xb37f,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "fier",   4, {{RRE(0xb377,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "fixr",   4, {{RRE(0xb367,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "iac",    4, {{RRE(0xb224,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1} },
-{ "ipm",    4, {{RRE(0xb222,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1} },
-{ "ipte",   4, {{RRE(0xb221,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1, RRE_R2} },
-{ "iske",   4, {{RRE(0xb229,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1, RRE_R2} },
-{ "ivsk",   4, {{RRE(0xb223,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1, RRE_R2} },
-{ "kdbr",   4, {{RRE(0xb318,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "kebr",   4, {{RRE(0xb308,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "kxbr",   4, {{RRE(0xb348,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lcdbr",  4, {{RRE(0xb313,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lcebr",  4, {{RRE(0xb303,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lcxbr",  4, {{RRE(0xb343,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lcxr",   4, {{RRE(0xb363,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "lder",   4, {{RRE(0xb324,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "ldxbr",  4, {{RRE(0xb345,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "ledbr",  4, {{RRE(0xb344,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lexbr",  4, {{RRE(0xb346,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lexr",   4, {{RRE(0xb366,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "lndbr",  4, {{RRE(0xb311,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lnebr",  4, {{RRE(0xb301,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lnxbr",  4, {{RRE(0xb341,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lnxr",   4, {{RRE(0xb361,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "lpdbr",  4, {{RRE(0xb310,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lpebr",  4, {{RRE(0xb300,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lpxbr",  4, {{RRE(0xb340,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "lpxr",   4, {{RRE(0xb360,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "ltdbr",  4, {{RRE(0xb312,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "ltebr",  4, {{RRE(0xb302,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "ltxbr",  4, {{RRE(0xb342,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "ltxr",   4, {{RRE(0xb362,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "lura",   4, {{RRE(0xb24b,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "lxdr",   4, {{RRE(0xb325,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "lxer",   4, {{RRE(0xb326,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "lxr",    4, {{RRE(0xb365,0,0),   0}}, {{RRE_MASK, 0}}, IFX,  {RRE_R1, RRE_R2} },
-{ "lzdr",   4, {{RRE(0xb375,0,0),   0}}, {{RRE_MASK, 0}}, IFX,  {RRE_R1, RRE_R2} },
-{ "lzer",   4, {{RRE(0xb374,0,0),   0}}, {{RRE_MASK, 0}}, IFX,  {RRE_R1, RRE_R2} },
-{ "lzxr",   4, {{RRE(0xb376,0,0),   0}}, {{RRE_MASK, 0}}, IFX,  {RRE_R1, RRE_R2} },
-{ "mdbr",   4, {{RRE(0xb31c,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "mdebr",  4, {{RRE(0xb30c,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "meebr",  4, {{RRE(0xb317,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "meer",   4, {{RRE(0xb337,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "msr",    4, {{RRE(0xb252,0,0),   0}}, {{RRE_MASK, 0}}, IIR,  {RRE_R1, RRE_R2} },
-{ "msta",   4, {{RRE(0xb247,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1} },
-{ "mvpg",   4, {{RRE(0xb254,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "mvst",   4, {{RRE(0xb255,0,0),   0}}, {{RRE_MASK, 0}}, ISR,  {RRE_R1, RRE_R2} },
-{ "mxbr",   4, {{RRE(0xb34c,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "mxdbr",  4, {{RRE(0xb307,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "palb",   4, {{RRE(0xb248,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {0} },
-{ "prbe",   4, {{RRE(0xb22a,0,0),   0}}, {{RRE_MASK, 0}}, I370, {RRE_R1, RRE_R2} },
-{ "pt",     4, {{RRE(0xb228,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1, RRE_R2} },
-{ "rrbe",   4, {{RRE(0xb22a,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1, RRE_R2} },
-{ "sar",    4, {{RRE(0xb24e,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "sdbr",   4, {{RRE(0xb31b,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "sebr",   4, {{RRE(0xb30b,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "servc",  4, {{RRE(0xb220,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "sfpc",   4, {{RRE(0xb384,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "sqdbr",  4, {{RRE(0xb315,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "sqdr",   4, {{RRE(0xb244,0,0),   0}}, {{RRE_MASK, 0}}, IQR,  {RRE_R1, RRE_R2} },
-{ "sqebr",  4, {{RRE(0xb314,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "sqer",   4, {{RRE(0xb245,0,0),   0}}, {{RRE_MASK, 0}}, IQR,  {RRE_R1, RRE_R2} },
-{ "sqxbr",  4, {{RRE(0xb316,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "sqxr",   4, {{RRE(0xb336,0,0),   0}}, {{RRE_MASK, 0}}, IHX,  {RRE_R1, RRE_R2} },
-{ "srst",   4, {{RRE(0xb25e,0,0),   0}}, {{RRE_MASK, 0}}, ISR,  {RRE_R1, RRE_R2} },
-{ "ssar",   4, {{RRE(0xb225,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1} },
-{ "sske",   4, {{RRE(0xb22b,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1, RRE_R2} },
-{ "stura",  4, {{RRE(0xb246,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "sxbr",   4, {{RRE(0xb34b,0,0),   0}}, {{RRE_MASK, 0}}, IBF,  {RRE_R1, RRE_R2} },
-{ "tar",    4, {{RRE(0xb24c,0,0),   0}}, {{RRE_MASK, 0}}, IESA, {RRE_R1, RRE_R2} },
-{ "tb",     4, {{RRE(0xb22c,0,0),   0}}, {{RRE_MASK, 0}}, IXA,  {RRE_R1, RRE_R2} },
-{ "thdr",   4, {{RRE(0xb359,0,0),   0}}, {{RRE_MASK, 0}}, IFX,  {RRE_R1, RRE_R2} },
-{ "thder",  4, {{RRE(0xb359,0,0),   0}}, {{RRE_MASK, 0}}, IFX,  {RRE_R1, RRE_R2} },
-
-/* RRF form instructions.  */
-{ "cfdbr",  4, {{RRF(0xb399,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "cfdr",   4, {{RRF(0xb3b9,0,0,0), 0}}, {{RRF_MASK, 0}}, IHX,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "cfebr",  4, {{RRF(0xb398,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "cfer",   4, {{RRF(0xb3b8,0,0,0), 0}}, {{RRF_MASK, 0}}, IHX,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "cfxbr",  4, {{RRF(0xb39a,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "cfxr",   4, {{RRF(0xb3ba,0,0,0), 0}}, {{RRF_MASK, 0}}, IHX,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "didbr",  4, {{RRF(0xb35b,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "diebr",  4, {{RRF(0xb353,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "fidbr",  4, {{RRF(0xb35f,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "fiebr",  4, {{RRF(0xb357,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "fixbr",  4, {{RRF(0xb347,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "madbr",  4, {{RRF(0xb31e,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "maebr",  4, {{RRF(0xb30e,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "msdbr",  4, {{RRF(0xb31f,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "msebr",  4, {{RRF(0xb30f,0,0,0), 0}}, {{RRF_MASK, 0}}, IBF,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "tbdr",   4, {{RRF(0xb351,0,0,0), 0}}, {{RRF_MASK, 0}}, IFX,  {RRF_R1, RRF_R3, RRF_R2} },
-{ "tbedr",  4, {{RRF(0xb350,0,0,0), 0}}, {{RRF_MASK, 0}}, IFX,  {RRF_R1, RRF_R3, RRF_R2} },
-
-/* RX form instructions.  */
-{ "a",      4, {{RX(0x5a,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ad",     4, {{RX(0x6a,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ae",     4, {{RX(0x7a,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ah",     4, {{RX(0x4a,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "al",     4, {{RX(0x5e,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "au",     4, {{RX(0x7e,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "aw",     4, {{RX(0x6e,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "bal",    4, {{RX(0x45,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "bas",    4, {{RX(0x4d,0,0,0,0),  0}}, {{RX_MASK,  0}}, IXA,  {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "bc",     4, {{RX(0x47,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "bct",    4, {{RX(0x46,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "c",      4, {{RX(0x59,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "cd",     4, {{RX(0x69,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ce",     4, {{RX(0x79,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ch",     4, {{RX(0x49,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "cl",     4, {{RX(0x55,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "cvb",    4, {{RX(0x4f,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "cvd",    4, {{RX(0x4e,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "d",      4, {{RX(0x5d,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "dd",     4, {{RX(0x6d,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "de",     4, {{RX(0x7d,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ex",     4, {{RX(0x44,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ic",     4, {{RX(0x43,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "l",      4, {{RX(0x58,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "la",     4, {{RX(0x41,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "lae",    4, {{RX(0x51,0,0,0,0),  0}}, {{RX_MASK,  0}}, IESA, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ld",     4, {{RX(0x68,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "le",     4, {{RX(0x78,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "lh",     4, {{RX(0x48,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "lra",    4, {{RX(0xb1,0,0,0,0),  0}}, {{RX_MASK,  0}}, IXA,  {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "m",      4, {{RX(0x5c,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "md",     4, {{RX(0x6c,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "me",     4, {{RX(0x7c,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "mh",     4, {{RX(0x4c,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ms",     4, {{RX(0x71,0,0,0,0),  0}}, {{RX_MASK,  0}}, IIR,  {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "mxd",    4, {{RX(0x67,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "n",      4, {{RX(0x54,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "o",      4, {{RX(0x56,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "s",      4, {{RX(0x5b,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "sd",     4, {{RX(0x6b,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "se",     4, {{RX(0x7b,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "sh",     4, {{RX(0x4b,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "sl",     4, {{RX(0x5f,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "st",     4, {{RX(0x50,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "stc",    4, {{RX(0x42,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "std",    4, {{RX(0x60,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ste",    4, {{RX(0x70,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "sth",    4, {{RX(0x40,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "su",     4, {{RX(0x7f,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "sw",     4, {{RX(0x6f,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "x",      4, {{RX(0x57,0,0,0,0),  0}}, {{RX_MASK,  0}}, I370, {RX_R1, RX_D2, RX_X2, RX_B2} },
-
-/* RXE form instructions.  */
-{ "adb",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x1a)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "aeb",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x0a)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "cdb",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x19)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ceb",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x09)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ddb",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x1d)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "deb",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x0d)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "kdb",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x18)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "keb",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x08)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "lde",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x24)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "ldeb",   6, {{RXEH(0xed,0,0,0,0), RXEL(0x04)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "lxd",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x25)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "lxdb",   6, {{RXEH(0xed,0,0,0,0), RXEL(0x05)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "lxe",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x26)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "lxeb",   6, {{RXEH(0xed,0,0,0,0), RXEL(0x06)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "mdb",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x1c)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "mdeb",   6, {{RXEH(0xed,0,0,0,0), RXEL(0x0c)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "mee",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x37)}}, {{RXEH_MASK, RXEL_MASK}}, IHX, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "meeb",   6, {{RXEH(0xed,0,0,0,0), RXEL(0x17)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "mxdb",   6, {{RXEH(0xed,0,0,0,0), RXEL(0x07)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "sqd",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x35)}}, {{RXEH_MASK, RXEL_MASK}}, IHX, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "sqdb",   6, {{RXEH(0xed,0,0,0,0), RXEL(0x15)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "sqe",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x34)}}, {{RXEH_MASK, RXEL_MASK}}, IHX, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "sqeb",   6, {{RXEH(0xed,0,0,0,0), RXEL(0x14)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "sdb",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x1b)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "seb",    6, {{RXEH(0xed,0,0,0,0), RXEL(0x0b)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "tcdb",   6, {{RXEH(0xed,0,0,0,0), RXEL(0x11)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "tceb",   6, {{RXEH(0xed,0,0,0,0), RXEL(0x10)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-{ "tcxb",   6, {{RXEH(0xed,0,0,0,0), RXEL(0x12)}}, {{RXEH_MASK, RXEL_MASK}}, IBF, {RX_R1, RX_D2, RX_X2, RX_B2} },
-
-/* RXF form instructions.  */
-{ "madb",   6, {{RXFH(0xed,0,0,0,0), RXFL(0x1e,0)}}, {{RXFH_MASK, RXFL_MASK}}, IBF, {RX_R1, RXF_R3, RX_D2, RX_X2, RX_B2} },
-{ "maeb",   6, {{RXFH(0xed,0,0,0,0), RXFL(0x0e,0)}}, {{RXFH_MASK, RXFL_MASK}}, IBF, {RX_R1, RXF_R3, RX_D2, RX_X2, RX_B2} },
-{ "msdb",   6, {{RXFH(0xed,0,0,0,0), RXFL(0x1f,0)}}, {{RXFH_MASK, RXFL_MASK}}, IBF, {RX_R1, RXF_R3, RX_D2, RX_X2, RX_B2} },
-{ "mseb",   6, {{RXFH(0xed,0,0,0,0), RXFL(0x0f,0)}}, {{RXFH_MASK, RXFL_MASK}}, IBF, {RX_R1, RXF_R3, RX_D2, RX_X2, RX_B2} },
-
-/* RS form instructions.  */
-{ "bxh",    4, {{RS(0x86,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "bxle",   4, {{RS(0x87,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "cds",    4, {{RS(0xbb,0,0,0,0), 0}}, {{RS_MASK, 0}}, IXA,  {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "clcle",  4, {{RS(0xa9,0,0,0,0), 0}}, {{RS_MASK, 0}}, ICM,  {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "clm",    4, {{RS(0xbd,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "cs",     4, {{RS(0xba,0,0,0,0), 0}}, {{RS_MASK, 0}}, IXA,  {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "icm",    4, {{RS(0xbf,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "lam",    4, {{RS(0x9a,0,0,0,0), 0}}, {{RS_MASK, 0}}, IESA, {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "lctl",   4, {{RS(0xb7,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "lm",     4, {{RS(0x98,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "mvcle",  4, {{RS(0xa8,0,0,0,0), 0}}, {{RS_MASK, 0}}, ICM,  {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "sigp",   4, {{RS(0xae,0,0,0,0), 0}}, {{RS_MASK, 0}}, IXA,  {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "stam",   4, {{RS(0x9b,0,0,0,0), 0}}, {{RS_MASK, 0}}, IESA, {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "stcm",   4, {{RS(0xbe,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "stctl",  4, {{RS(0xb6,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "stm",    4, {{RS(0x90,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_R3, RS_D2, RS_B2} },
-{ "trace",  4, {{RS(0x99,0,0,0,0), 0}}, {{RS_MASK, 0}}, IXA,  {RX_R1, RS_R3, RS_D2, RS_B2} },
-
-/* RS form instructions with blank R3 and optional B2 (shift left/right).  */
-{ "sla",    4, {{RS(0x8b,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_D2, RS_B2_OPT} },
-{ "slda",   4, {{RS(0x8f,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_D2, RS_B2_OPT} },
-{ "sldl",   4, {{RS(0x8d,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_D2, RS_B2_OPT} },
-{ "sll",    4, {{RS(0x89,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_D2, RS_B2_OPT} },
-{ "sra",    4, {{RS(0x8a,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_D2, RS_B2_OPT} },
-{ "srda",   4, {{RS(0x8e,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_D2, RS_B2_OPT} },
-{ "srdl",   4, {{RS(0x8c,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_D2, RS_B2_OPT} },
-{ "srl",    4, {{RS(0x88,0,0,0,0), 0}}, {{RS_MASK, 0}}, I370, {RX_R1, RS_D2, RS_B2_OPT} },
-
-/* RSI form instructions.  */
-{ "brxh",   4, {{RSI(0x84,0,0,0),  0}}, {{RSI_MASK, 0}}, IIR,  {RSI_R1, RSI_R3, RSI_I2} },
-{ "brxle",  4, {{RSI(0x85,0,0,0),  0}}, {{RSI_MASK, 0}}, IIR,  {RSI_R1, RSI_R3, RSI_I2} },
-
-/* RI form instructions.  */
-{ "ahi",    4, {{RI(0xa7a,0,0),    0}}, {{RI_MASK,  0}}, IIR,  {RI_R1, RI_I2} },
-{ "bras",   4, {{RI(0xa75,0,0),    0}}, {{RI_MASK,  0}}, IIR,  {RI_R1, RI_I2} },
-{ "brc",    4, {{RI(0xa74,0,0),    0}}, {{RI_MASK,  0}}, IIR,  {RI_R1, RI_I2} },
-{ "brct",   4, {{RI(0xa76,0,0),    0}}, {{RI_MASK,  0}}, IIR,  {RI_R1, RI_I2} },
-{ "chi",    4, {{RI(0xa7e,0,0),    0}}, {{RI_MASK,  0}}, IIR,  {RI_R1, RI_I2} },
-{ "lhi",    4, {{RI(0xa78,0,0),    0}}, {{RI_MASK,  0}}, IIR,  {RI_R1, RI_I2} },
-{ "mhi",    4, {{RI(0xa7c,0,0),    0}}, {{RI_MASK,  0}}, IIR,  {RI_R1, RI_I2} },
-{ "tmh",    4, {{RI(0xa70,0,0),    0}}, {{RI_MASK,  0}}, IIR,  {RI_R1, RI_I2} },
-{ "tml",    4, {{RI(0xa71,0,0),    0}}, {{RI_MASK,  0}}, IIR,  {RI_R1, RI_I2} },
-
-/* SI form instructions.  */
-{ "cli",    4, {{SI(0x95,0,0,0),   0}}, {{SI_MASK,  0}}, I370, {SI_D1, SI_B1, SI_I2} },
-{ "mc",     4, {{SI(0xaf,0,0,0),   0}}, {{SI_MASK,  0}}, I370, {SI_D1, SI_B1, SI_I2} },
-{ "mvi",    4, {{SI(0x92,0,0,0),   0}}, {{SI_MASK,  0}}, I370, {SI_D1, SI_B1, SI_I2} },
-{ "ni",     4, {{SI(0x94,0,0,0),   0}}, {{SI_MASK,  0}}, I370, {SI_D1, SI_B1, SI_I2} },
-{ "oi",     4, {{SI(0x96,0,0,0),   0}}, {{SI_MASK,  0}}, I370, {SI_D1, SI_B1, SI_I2} },
-{ "stnsm",  4, {{SI(0xac,0,0,0),   0}}, {{SI_MASK,  0}}, IXA,  {SI_D1, SI_B1, SI_I2} },
-{ "stosm",  4, {{SI(0xad,0,0,0),   0}}, {{SI_MASK,  0}}, IXA,  {SI_D1, SI_B1, SI_I2} },
-{ "tm",     4, {{SI(0x91,0,0,0),   0}}, {{SI_MASK,  0}}, I370, {SI_D1, SI_B1, SI_I2} },
-{ "xi",     4, {{SI(0x97,0,0,0),   0}}, {{SI_MASK,  0}}, I370, {SI_D1, SI_B1, SI_I2} },
-
-/* S form instructions.  */
-{ "cfc",    4, {{S(0xb21a,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "csch",   4, {{S(0xb230,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {0} },
-{ "hsch",   4, {{S(0xb231,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {0} },
-{ "ipk",    4, {{S(0xb20b,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {0} },
-{ "lfpc",   4, {{S(0xb29d,0,0),    0}}, {{S_MASK,	 0}}, IBF,  {S_D2, S_B2} },
-{ "lpsw",   4, {{S(0x8200,0,0),    0}}, {{S_MASK,	 0}}, I370, {S_D2, S_B2} },
-{ "msch",   4, {{S(0xb232,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "pc",     4, {{S(0xb218,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "pcf",    4, {{S(0xb218,0,0),    0}}, {{S_MASK,	 0}}, IPC,  {S_D2, S_B2} },
-{ "ptlb",   4, {{S(0xb20d,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {0} },
-{ "rchp",   4, {{S(0xb23b,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {0} },
-{ "rp",     4, {{S(0xb277,0,0),    0}}, {{S_MASK,	 0}}, IRP,  {0} },
-{ "rsch",   4, {{S(0xb238,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {0} },
-{ "sac",    4, {{S(0xb219,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "sacf",   4, {{S(0xb279,0,0),    0}}, {{S_MASK,	 0}}, ISA,  {S_D2, S_B2} },
-{ "sal",    4, {{S(0xb237,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {0} },
-{ "schm",   4, {{S(0xb23c,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {0} },
-{ "sck",    4, {{S(0xb204,0,0),    0}}, {{S_MASK,	 0}}, I370, {S_D2, S_B2} },
-{ "sckc",   4, {{S(0xb206,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "spka",   4, {{S(0xb20a,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "spt",    4, {{S(0xb208,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "spx",    4, {{S(0xb210,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "srnm",   4, {{S(0xb299,0,0),    0}}, {{S_MASK,	 0}}, IBF,  {S_D2, S_B2} },
-{ "ssch",   4, {{S(0xb233,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "ssm",    4, {{S(0x8000,0,0),    0}}, {{S_MASK,	 0}}, I370, {S_D2, S_B2} },
-{ "stap",   4, {{S(0xb212,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "stck",   4, {{S(0xb205,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "stckc",  4, {{S(0xb207,0,0),    0}}, {{S_MASK,	 0}}, I370, {S_D2, S_B2} },
-{ "stcps",  4, {{S(0xb23a,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "stcrw",  4, {{S(0xb239,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "stfpc",  4, {{S(0xb29c,0,0),    0}}, {{S_MASK,	 0}}, IBF,  {S_D2, S_B2} },
-{ "stidp",  4, {{S(0xb202,0,0),    0}}, {{S_MASK,	 0}}, I370, {S_D2, S_B2} },
-{ "stpt",   4, {{S(0xb209,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "stpx",   4, {{S(0xb211,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "stsch",  4, {{S(0xb234,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "tpi",    4, {{S(0xb236,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-{ "trap4",  4, {{S(0xb2ff,0,0),    0}}, {{S_MASK,	 0}}, ITR,  {S_D2, S_B2} },
-{ "ts",     4, {{S(0x9300,0,0),    0}}, {{S_MASK,	 0}}, I370, {S_D2, S_B2} },
-{ "tsch",   4, {{S(0xb235,0,0),    0}}, {{S_MASK,	 0}}, IXA,  {S_D2, S_B2} },
-
-/* SS form instructions.  */
-{ "ap",     6, {{SSH(0xfa,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "clc",    6, {{SSH(0xd5,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "cp",     6, {{SSH(0xf9,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "dp",     6, {{SSH(0xfd,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "ed",     6, {{SSH(0xde,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "edmk",   6, {{SSH(0xdf,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "mvc",    6, {{SSH(0xd2,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "mvcin",  6, {{SSH(0xe8,0,0,0),  0}}, {{SS_MASK,  0}}, IMI,  {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "mvck",   6, {{SSH(0xd9,0,0,0),  0}}, {{SS_MASK,  0}}, IXA,  {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "mvcp",   6, {{SSH(0xda,0,0,0),  0}}, {{SS_MASK,  0}}, IXA,  {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "mvcs",   6, {{SSH(0xdb,0,0,0),  0}}, {{SS_MASK,  0}}, IXA,  {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "mvn",    6, {{SSH(0xd1,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "mvo",    6, {{SSH(0xf1,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "mvz",    6, {{SSH(0xd3,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "nc",     6, {{SSH(0xd4,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "oc",     6, {{SSH(0xd6,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "pack",   6, {{SSH(0xf2,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "plo",    6, {{SSH(0xee,0,0,0),  0}}, {{SS_MASK,  0}}, IPL,  {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "sp",     6, {{SSH(0xfb,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "srp",    6, {{SSH(0xf0,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "tr",     6, {{SSH(0xdc,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "trt",    6, {{SSH(0xdd,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "unpk",   6, {{SSH(0xf3,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "xc",     6, {{SSH(0xd7,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-{ "zap",    6, {{SSH(0xf8,0,0,0),  0}}, {{SS_MASK,  0}}, I370, {SS_D1,SS_L,SS_B1,SS_D2,SS_B2} },
-
-/* SSE form instructions.  */
-{ "lasp",   6, {{SSEH(0xe500,0,0), 0}}, {{SSE_MASK, 0}}, IXA,  {SS_D1, SS_B1, SS_D2, SS_B2} },
-{ "mvcdk",  6, {{SSEH(0xe50f,0,0), 0}}, {{SSE_MASK, 0}}, IESA, {SS_D1, SS_B1, SS_D2, SS_B2} },
-{ "mvcsk",  6, {{SSEH(0xe50e,0,0), 0}}, {{SSE_MASK, 0}}, IESA, {SS_D1, SS_B1, SS_D2, SS_B2} },
-{ "tprot",  6, {{SSEH(0xe501,0,0), 0}}, {{SSE_MASK, 0}}, IXA,  {SS_D1, SS_B1, SS_D2, SS_B2} },
-
-/* */
-};
-
-const int i370_num_opcodes =
-  sizeof (i370_opcodes) / sizeof (i370_opcodes[0]);
-
-/* The macro table.  This is only used by the assembler.  */
-
-const struct i370_macro i370_macros[] =
-{
-{ "b",     1,   I370,	"bc  15,%0" },
-{ "br",    1,   I370,	"bcr 15,%0" },
-
-{ "nop",   1,   I370,	"bc  0,%0" },
-{ "nopr",  1,   I370,	"bcr 0,%0" },
-
-{ "bh",    1,   I370,	"bc  2,%0" },
-{ "bhr",   1,   I370,	"bcr 2,%0" },
-{ "bl",    1,   I370,	"bc  4,%0" },
-{ "blr",   1,   I370,	"bcr 4,%0" },
-{ "be",    1,   I370,	"bc  8,%0" },
-{ "ber",   1,   I370,	"bcr 8,%0" },
-
-{ "bnh",    1,   I370,	"bc  13,%0" },
-{ "bnhr",   1,   I370,	"bcr 13,%0" },
-{ "bnl",    1,   I370,	"bc  11,%0" },
-{ "bnlr",   1,   I370,	"bcr 11,%0" },
-{ "bne",    1,   I370,	"bc  7,%0" },
-{ "bner",   1,   I370,	"bcr 7,%0" },
-
-{ "bp",    1,   I370,	"bc  2,%0" },
-{ "bpr",   1,   I370,	"bcr 2,%0" },
-{ "bm",    1,   I370,	"bc  4,%0" },
-{ "bmr",   1,   I370,	"bcr 4,%0" },
-{ "bz",    1,   I370,	"bc  8,%0" },
-{ "bzr",   1,   I370,	"bcr 8,%0" },
-{ "bo",    1,   I370,	"bc  1,%0" },
-{ "bor",   1,   I370,	"bcr 1,%0" },
-
-{ "bnp",    1,   I370,	"bc  13,%0" },
-{ "bnpr",   1,   I370,	"bcr 13,%0" },
-{ "bnm",    1,   I370,	"bc  11,%0" },
-{ "bnmr",   1,   I370,	"bcr 11,%0" },
-{ "bnz",    1,   I370,	"bc  7,%0" },
-{ "bnzr",   1,   I370,	"bcr 7,%0" },
-{ "bno",    1,   I370,	"bc  14,%0" },
-{ "bnor",   1,   I370,	"bcr 14,%0" },
-
-{ "sync",   0,   I370,	"bcr 15,0" },
-
-};
-
-const int i370_num_macros =
-  sizeof (i370_macros) / sizeof (i370_macros[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.1.0.20180703/opcodes/i386-dis.c ./opcodes/i386-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i386-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/i386-dis.c	2018-07-10 02:06:14.000000000 +0000
@@ -248,7 +248,9 @@ fetch_data (struct disassemble_info *inf
 #define Eb { OP_E, b_mode }
 #define Ebnd { OP_E, bnd_mode }
 #define EbS { OP_E, b_swap_mode }
+#define EbndS { OP_E, bnd_swap_mode }
 #define Ev { OP_E, v_mode }
+#define Eva { OP_E, va_mode }
 #define Ev_bnd { OP_E, v_bnd_mode }
 #define EvS { OP_E, v_swap_mode }
 #define Ed { OP_E, d_mode }
@@ -279,6 +281,7 @@ fetch_data (struct disassemble_info *inf
 #define Gd { OP_G, d_mode }
 #define Gdq { OP_G, dq_mode }
 #define Gm { OP_G, m_mode }
+#define Gva { OP_G, va_mode }
 #define Gw { OP_G, w_mode }
 #define Rd { OP_R, d_mode }
 #define Rdq { OP_R, dq_mode }
@@ -498,6 +501,8 @@ enum
   v_mode,
   /* operand size depends on prefixes with operand swapped */
   v_swap_mode,
+  /* operand size depends on address prefix */
+  va_mode,
   /* word operand */
   w_mode,
   /* double word operand  */
@@ -560,7 +565,10 @@ enum
   dq_mode,
   /* registers like dq_mode, memory like w_mode.  */
   dqw_mode,
+  /* bounds operand */
   bnd_mode,
+  /* bounds operand with operand swapped */
+  bnd_swap_mode,
   /* 4- or 6-byte pointer operand */
   f_mode,
   const_1_mode,
@@ -731,6 +739,7 @@ enum
   REG_0F01,
   REG_0F0D,
   REG_0F18,
+  REG_0F1C_MOD_0,
   REG_0F1E_MOD_3,
   REG_0F71,
   REG_0F72,
@@ -785,6 +794,7 @@ enum
   MOD_0F1A_PREFIX_0,
   MOD_0F1B_PREFIX_0,
   MOD_0F1B_PREFIX_1,
+  MOD_0F1C_PREFIX_0,
   MOD_0F1E_PREFIX_1,
   MOD_0F24,
   MOD_0F26,
@@ -826,6 +836,8 @@ enum
   MOD_0F382A_PREFIX_2,
   MOD_0F38F5_PREFIX_2,
   MOD_0F38F6_PREFIX_0,
+  MOD_0F38F8_PREFIX_2,
+  MOD_0F38F9_PREFIX_0,
   MOD_62_32BIT,
   MOD_C4_32BIT,
   MOD_C5_32BIT,
@@ -956,12 +968,14 @@ enum
   PREFIX_MOD_0_0F01_REG_5,
   PREFIX_MOD_3_0F01_REG_5_RM_0,
   PREFIX_MOD_3_0F01_REG_5_RM_2,
+  PREFIX_0F09,
   PREFIX_0F10,
   PREFIX_0F11,
   PREFIX_0F12,
   PREFIX_0F16,
   PREFIX_0F1A,
   PREFIX_0F1B,
+  PREFIX_0F1C,
   PREFIX_0F1E,
   PREFIX_0F2A,
   PREFIX_0F2B,
@@ -1003,7 +1017,8 @@ enum
   PREFIX_MOD_3_0FAE_REG_4,
   PREFIX_MOD_0_0FAE_REG_5,
   PREFIX_MOD_3_0FAE_REG_5,
-  PREFIX_0FAE_REG_6,
+  PREFIX_MOD_0_0FAE_REG_6,
+  PREFIX_MOD_1_0FAE_REG_6,
   PREFIX_0FAE_REG_7,
   PREFIX_0FB8,
   PREFIX_0FBC,
@@ -1069,6 +1084,8 @@ enum
   PREFIX_0F38F1,
   PREFIX_0F38F5,
   PREFIX_0F38F6,
+  PREFIX_0F38F8,
+  PREFIX_0F38F9,
   PREFIX_0F3A08,
   PREFIX_0F3A09,
   PREFIX_0F3A0A,
@@ -2531,8 +2548,7 @@ struct dis386 {
 	  prefix and behave as 'S' otherwise
    'W' => print 'b', 'w' or 'l' ('d' in Intel mode)
    'X' => print 's', 'd' depending on data16 prefix (for XMM)
-   'Y' => 'q' if instruction has an REX 64bit overwrite prefix and
-	  suffix_always is true.
+   'Y' unused.
    'Z' => print 'q' in 64bit mode and behave as 'L' otherwise
    '!' => change condition from true to false or from false to true.
    '%' => add 1 upper case letter to the macro.
@@ -2869,7 +2885,7 @@ static const struct dis386 dis386_twobyt
   { "sysret%LP",		{ XX }, 0 },
   /* 08 */
   { "invd",		{ XX }, 0 },
-  { "wbinvd",		{ XX }, 0 },
+  { PREFIX_TABLE (PREFIX_0F09) },
   { Bad_Opcode },
   { "ud2",		{ XX }, 0 },
   { Bad_Opcode },
@@ -2890,7 +2906,7 @@ static const struct dis386 dis386_twobyt
   { "nopQ",		{ Ev }, 0 },
   { PREFIX_TABLE (PREFIX_0F1A) },
   { PREFIX_TABLE (PREFIX_0F1B) },
-  { "nopQ",		{ Ev }, 0 },
+  { PREFIX_TABLE (PREFIX_0F1C) },
   { "nopQ",		{ Ev }, 0 },
   { PREFIX_TABLE (PREFIX_0F1E) },
   { "nopQ",		{ Ev }, 0 },
@@ -3642,6 +3658,17 @@ static const struct dis386 reg_table[][8
     { MOD_TABLE (MOD_0F18_REG_6) },
     { MOD_TABLE (MOD_0F18_REG_7) },
   },
+  /* REG_0F1C_MOD_0 */
+  {
+    { "cldemote",	{ Mb }, 0 },
+    { "nopQ",		{ Ev }, 0 },
+    { "nopQ",		{ Ev }, 0 },
+    { "nopQ",		{ Ev }, 0 },
+    { "nopQ",		{ Ev }, 0 },
+    { "nopQ",		{ Ev }, 0 },
+    { "nopQ",		{ Ev }, 0 },
+    { "nopQ",		{ Ev }, 0 },
+  },
   /* REG_0F1E_MOD_3 */
   {
     { "nopQ",		{ Ev }, 0 },
@@ -3840,6 +3867,12 @@ static const struct dis386 prefix_table[
     { "saveprevssp",	{ Skip_MODRM }, PREFIX_OPCODE },
   },
 
+  /* PREFIX_0F09 */
+  {
+    { "wbinvd",   { XX }, 0 },
+    { "wbnoinvd", { XX }, 0 },
+  },
+
   /* PREFIX_0F10 */
   {
     { "movups",	{ XM, EXx }, PREFIX_OPCODE },
@@ -3883,10 +3916,18 @@ static const struct dis386 prefix_table[
   {
     { MOD_TABLE (MOD_0F1B_PREFIX_0) },
     { MOD_TABLE (MOD_0F1B_PREFIX_1) },
-    { "bndmov", { Ebnd, Gbnd }, 0 },
+    { "bndmov", { EbndS, Gbnd }, 0 },
     { "bndcn",  { Gbnd, Ev_bnd }, 0 },
   },
 
+  /* PREFIX_0F1C */
+  {
+    { MOD_TABLE (MOD_0F1C_PREFIX_0) },
+    { "nopQ",	{ Ev }, PREFIX_OPCODE },
+    { "nopQ",	{ Ev }, PREFIX_OPCODE },
+    { "nopQ",	{ Ev }, PREFIX_OPCODE },
+  },
+
   /* PREFIX_0F1E */
   {
     { "nopQ",	{ Ev }, PREFIX_OPCODE },
@@ -3914,17 +3955,17 @@ static const struct dis386 prefix_table[
   /* PREFIX_0F2C */
   {
     { "cvttps2pi", { MXC, EXq }, PREFIX_OPCODE },
-    { "cvttss2siY", { Gv, EXd }, PREFIX_OPCODE },
+    { "cvttss2si", { Gv, EXd }, PREFIX_OPCODE },
     { "cvttpd2pi", { MXC, EXx }, PREFIX_OPCODE },
-    { "cvttsd2siY", { Gv, EXq }, PREFIX_OPCODE },
+    { "cvttsd2si", { Gv, EXq }, PREFIX_OPCODE },
   },
 
   /* PREFIX_0F2D */
   {
     { "cvtps2pi", { MXC, EXq }, PREFIX_OPCODE },
-    { "cvtss2siY", { Gv, EXd }, PREFIX_OPCODE },
+    { "cvtss2si", { Gv, EXd }, PREFIX_OPCODE },
     { "cvtpd2pi", { MXC, EXx }, PREFIX_OPCODE },
-    { "cvtsd2siY", { Gv, EXq }, PREFIX_OPCODE },
+    { "cvtsd2si", { Gv, EXq }, PREFIX_OPCODE },
   },
 
   /* PREFIX_0F2E */
@@ -4181,13 +4222,21 @@ static const struct dis386 prefix_table[
     { "incsspK",	{ Rdq }, PREFIX_OPCODE },
   },
 
-  /* PREFIX_0FAE_REG_6 */
+  /* PREFIX_MOD_0_0FAE_REG_6 */
   {
     { "xsaveopt",	{ FXSAVE }, PREFIX_OPCODE },
     { "clrssbsy",	{ Mq }, PREFIX_OPCODE },
     { "clwb",	{ Mb }, PREFIX_OPCODE },
   },
 
+  /* PREFIX_MOD_1_0FAE_REG_6 */
+  {
+    { RM_TABLE (RM_0FAE_REG_6) },
+    { "umonitor",	{ Eva }, PREFIX_OPCODE },
+    { "tpause",	{ Edq }, PREFIX_OPCODE },
+    { "umwait",	{ Edq }, PREFIX_OPCODE },
+  },
+
   /* PREFIX_0FAE_REG_7 */
   {
     { "clflush",	{ Mb }, 0 },
@@ -4636,6 +4685,18 @@ static const struct dis386 prefix_table[
     { Bad_Opcode },
   },
 
+  /* PREFIX_0F38F8 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { MOD_TABLE (MOD_0F38F8_PREFIX_2) },
+  },
+
+  /* PREFIX_0F38F9 */
+  {
+    { MOD_TABLE (MOD_0F38F9_PREFIX_0) },
+  },
+
   /* PREFIX_0F3A08 */
   {
     { Bad_Opcode },
@@ -7400,8 +7461,8 @@ static const struct dis386 three_byte_ta
     { PREFIX_TABLE (PREFIX_0F38F6) },
     { Bad_Opcode },
     /* f8 */
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_0F38F8) },
+    { PREFIX_TABLE (PREFIX_0F38F9) },
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
@@ -9536,26 +9597,26 @@ static const struct dis386 vex_len_table
 
   /* VEX_LEN_0F2C_P_1 */
   {
-    { "vcvttss2siY",	{ Gv, EXdScalar }, 0 },
-    { "vcvttss2siY",	{ Gv, EXdScalar }, 0 },
+    { "vcvttss2si",	{ Gv, EXdScalar }, 0 },
+    { "vcvttss2si",	{ Gv, EXdScalar }, 0 },
   },
 
   /* VEX_LEN_0F2C_P_3 */
   {
-    { "vcvttsd2siY",	{ Gv, EXqScalar }, 0 },
-    { "vcvttsd2siY",	{ Gv, EXqScalar }, 0 },
+    { "vcvttsd2si",	{ Gv, EXqScalar }, 0 },
+    { "vcvttsd2si",	{ Gv, EXqScalar }, 0 },
   },
 
   /* VEX_LEN_0F2D_P_1 */
   {
-    { "vcvtss2siY",	{ Gv, EXdScalar }, 0 },
-    { "vcvtss2siY",	{ Gv, EXdScalar }, 0 },
+    { "vcvtss2si",	{ Gv, EXdScalar }, 0 },
+    { "vcvtss2si",	{ Gv, EXdScalar }, 0 },
   },
 
   /* VEX_LEN_0F2D_P_3 */
   {
-    { "vcvtsd2siY",	{ Gv, EXqScalar }, 0 },
-    { "vcvtsd2siY",	{ Gv, EXqScalar }, 0 },
+    { "vcvtsd2si",	{ Gv, EXqScalar }, 0 },
+    { "vcvtsd2si",	{ Gv, EXqScalar }, 0 },
   },
 
   /* VEX_LEN_0F2E_P_0 */
@@ -11599,6 +11660,11 @@ static const struct dis386 mod_table[][2
     { "nopQ",		{ Ev }, 0 },
   },
   {
+    /* MOD_0F1C_PREFIX_0 */
+    { REG_TABLE (REG_0F1C_MOD_0) },
+    { "nopQ",		{ Ev }, 0 },
+  },
+  {
     /* MOD_0F1E_PREFIX_1 */
     { "nopQ",		{ Ev }, 0 },
     { REG_TABLE (REG_0F1E_MOD_3) },
@@ -11716,8 +11782,8 @@ static const struct dis386 mod_table[][2
   },
   {
     /* MOD_0FAE_REG_6 */
-    { PREFIX_TABLE (PREFIX_0FAE_REG_6) },
-    { RM_TABLE (RM_0FAE_REG_6) },
+    { PREFIX_TABLE (PREFIX_MOD_0_0FAE_REG_6) },
+    { PREFIX_TABLE (PREFIX_MOD_1_0FAE_REG_6) },
   },
   {
     /* MOD_0FAE_REG_7 */
@@ -11788,6 +11854,14 @@ static const struct dis386 mod_table[][2
     { "wrssK",		{ M, Gdq }, PREFIX_OPCODE },
   },
   {
+    /* MOD_0F38F8_PREFIX_2 */
+    { "movdir64b",	{ Gva, M }, PREFIX_OPCODE },
+  },
+  {
+    /* MOD_0F38F9_PREFIX_0 */
+    { "movdiri",	{ Em, Gv }, PREFIX_OPCODE },
+  },
+  {
     /* MOD_62_32BIT */
     { "bound{S|}",	{ Gv, Ma }, 0 },
     { EVEX_TABLE (EVEX_0F) },
@@ -12252,6 +12326,7 @@ static const struct dis386 rm_table[][8]
     { "vmlaunch",	{ Skip_MODRM }, 0 },
     { "vmresume",	{ Skip_MODRM }, 0 },
     { "vmxoff",		{ Skip_MODRM }, 0 },
+    { "pconfig",	{ Skip_MODRM }, 0 },
   },
   {
     /* RM_0F01_REG_1 */
@@ -13724,10 +13799,10 @@ static const struct dis386 float_reg[][8
     { "fmul",	{ STi, ST }, 0 },
     { Bad_Opcode },
     { Bad_Opcode },
-    { "fsub!M",	{ STi, ST }, 0 },
-    { "fsubM",	{ STi, ST }, 0 },
-    { "fdiv!M",	{ STi, ST }, 0 },
-    { "fdivM",	{ STi, ST }, 0 },
+    { "fsub{!M|r}",	{ STi, ST }, 0 },
+    { "fsub{M|}",	{ STi, ST }, 0 },
+    { "fdiv{!M|r}",	{ STi, ST }, 0 },
+    { "fdiv{M|}",	{ STi, ST }, 0 },
   },
   /* dd */
   {
@@ -13746,10 +13821,10 @@ static const struct dis386 float_reg[][8
     { "fmulp",	{ STi, ST }, 0 },
     { Bad_Opcode },
     { FGRPde_3 },
-    { "fsub!Mp", { STi, ST }, 0 },
-    { "fsubMp",	{ STi, ST }, 0 },
-    { "fdiv!Mp", { STi, ST }, 0 },
-    { "fdivMp",	{ STi, ST }, 0 },
+    { "fsub{!M|r}p",	{ STi, ST }, 0 },
+    { "fsub{M|}p",	{ STi, ST }, 0 },
+    { "fdiv{!M|r}p",	{ STi, ST }, 0 },
+    { "fdiv{M|}p",	{ STi, ST }, 0 },
   },
   /* df */
   {
@@ -14397,16 +14472,7 @@ case_S:
 	  break;
 	case 'Y':
 	  if (l == 0 && len == 1)
-	    {
-	      if (intel_syntax || !(sizeflag & SUFFIX_ALWAYS))
-		break;
-	      if (rex & REX_W)
-		{
-		  USED_REX (REX_W);
-		  *obufp++ = 'q';
-		}
-	      break;
-	    }
+	    abort ();
 	  else
 	    {
 	      if (l != 1 || len != 2 || last[0] != 'X')
@@ -15034,6 +15100,7 @@ OP_E_register (int bytemode, int sizefla
 
   if ((sizeflag & SUFFIX_ALWAYS)
       && (bytemode == b_swap_mode
+	  || bytemode == bnd_swap_mode
 	  || bytemode == v_swap_mode))
     swap_operand ();
 
@@ -15063,6 +15130,7 @@ OP_E_register (int bytemode, int sizefla
       names = address_mode == mode_64bit ? names64 : names32;
       break;
     case bnd_mode:
+    case bnd_swap_mode:
       if (reg > 0x3)
 	{
 	  oappend ("(bad)");
@@ -15105,6 +15173,21 @@ OP_E_register (int bytemode, int sizefla
 	  used_prefixes |= (prefixes & PREFIX_DATA);
 	}
       break;
+    case va_mode:
+      names = (address_mode == mode_64bit
+	       ? names64 : names32);
+      if (!(prefixes & PREFIX_ADDR))
+	names = (address_mode == mode_16bit
+		     ? names16 : names);
+      else
+	{
+	  /* Remove "addr16/addr32".  */
+	  all_prefixes[last_addr_prefix] = 0;
+	  names = (address_mode != mode_32bit
+		       ? names32 : names16);
+	  used_prefixes |= PREFIX_ADDR;
+	}
+      break;
     case mask_bd_mode:
     case mask_mode:
       if (reg > 0x7)
@@ -15259,7 +15342,8 @@ OP_E_memory (int bytemode, int sizeflag)
       int scale = 0;
       int addr32flag = !((sizeflag & AFLAG)
 			 || bytemode == v_bnd_mode
-			 || bytemode == bnd_mode);
+			 || bytemode == bnd_mode
+			 || bytemode == bnd_swap_mode);
       const char **indexes64 = names64;
       const char **indexes32 = names32;
 
@@ -15376,7 +15460,8 @@ OP_E_memory (int bytemode, int sizeflag)
 
       if ((havebase || haveindex || riprel)
 	  && (bytemode != v_bnd_mode)
-	  && (bytemode != bnd_mode))
+	  && (bytemode != bnd_mode)
+	  && (bytemode != bnd_swap_mode))
 	used_prefixes |= PREFIX_ADDR;
 
       if (havedisp || (intel_syntax && riprel))
@@ -15592,6 +15677,7 @@ static void
 OP_G (int bytemode, int sizeflag)
 {
   int add = 0;
+  const char **names;
   USED_REX (REX_R);
   if (rex & REX_R)
     add += 8;
@@ -15640,6 +15726,24 @@ OP_G (int bytemode, int sizeflag)
 	  used_prefixes |= (prefixes & PREFIX_DATA);
 	}
       break;
+    case va_mode:
+      names = (address_mode == mode_64bit
+	       ? names64 : names32);
+      if (!(prefixes & PREFIX_ADDR))
+	{
+	  if (address_mode == mode_16bit)
+	    names = names16;
+	}
+      else
+	{
+	  /* Remove "addr16/addr32".  */
+	  all_prefixes[last_addr_prefix] = 0;
+	  names = (address_mode != mode_32bit
+		       ? names32 : names16);
+	  used_prefixes |= PREFIX_ADDR;
+	}
+      oappend (names[modrm.reg + add]);
+      break;
     case m_mode:
       if (address_mode == mode_64bit)
 	oappend (names64[modrm.reg + add]);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i386-gen.c ./opcodes/i386-gen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i386-gen.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/i386-gen.c	2018-07-10 02:06:14.000000000 +0000
@@ -58,7 +58,7 @@ static initializer cpu_flag_init[] =
   { "CPU_I486_FLAGS",
     "CPU_I386_FLAGS|Cpu486" },
   { "CPU_I586_FLAGS",
-    "CPU_I486_FLAGS|CPU_387_FLAGS|Cpu586" },
+    "CPU_I486_FLAGS|Cpu387|Cpu586" },
   { "CPU_I686_FLAGS",
     "CPU_I586_FLAGS|Cpu686|Cpu687" },
   { "CPU_PENTIUMPRO_FLAGS",
@@ -88,7 +88,7 @@ static initializer cpu_flag_init[] =
   { "CPU_AMDFAM10_FLAGS",
     "CPU_K8_FLAGS|CpuFISTTP|CPU_SSE4A_FLAGS|CpuABM" },
   { "CPU_BDVER1_FLAGS",
-    "CPU_GENERIC64_FLAGS|CpuFISTTP|CpuRdtscp|CpuCX16|CPU_SSE4_2_FLAGS|CpuSSE4A|CpuABM|CpuFMA4|CpuXOP|CpuLWP|CpuSVME|CpuXsave|CpuAES|CpuAVX|CpuPCLMUL|CpuLZCNT|CpuPRFCHW" },
+    "CPU_GENERIC64_FLAGS|CpuFISTTP|CpuRdtscp|CpuCX16|CPU_XOP_FLAGS|CpuABM|CpuLWP|CpuSVME|CpuAES|CpuPCLMUL|CpuLZCNT|CpuPRFCHW" },
   { "CPU_BDVER2_FLAGS",
     "CPU_BDVER1_FLAGS|CpuFMA|CpuBMI|CpuTBM|CpuF16C" },
   { "CPU_BDVER3_FLAGS",
@@ -96,17 +96,19 @@ static initializer cpu_flag_init[] =
   { "CPU_BDVER4_FLAGS",
     "CPU_BDVER3_FLAGS|CpuAVX2|CpuMovbe|CpuBMI2|CpuRdRnd|CpuMWAITX" },
   { "CPU_ZNVER1_FLAGS",
-    "CPU_GENERIC64_FLAGS|CpuFISTTP|CpuRdtscp|CpuCX16|CPU_SSE4_2_FLAGS|CpuSSE4A|CpuABM|CpuSVME|CpuXsave|CpuAES|CpuAVX|CpuPCLMUL|CpuLZCNT|CpuPRFCHW|CpuFMA|CpuBMI|CpuF16C|CpuXsaveopt|CpuFSGSBase|CpuAVX2|CpuMovbe|CpuBMI2|CpuRdRnd|CpuADX|CpuRdSeed|CpuSMAP|CpuSHA|CpuXSAVEC|CpuXSAVES|CpuClflushOpt|CpuCLZERO|CpuMWAITX" },
+    "CPU_GENERIC64_FLAGS|CpuFISTTP|CpuRdtscp|CpuCX16|CPU_AVX2_FLAGS|CpuSSE4A|CpuABM|CpuSVME|CpuAES|CpuPCLMUL|CpuLZCNT|CpuPRFCHW|CpuFMA|CpuBMI|CpuF16C|CpuXsaveopt|CpuFSGSBase|CpuMovbe|CpuBMI2|CpuRdRnd|CpuADX|CpuRdSeed|CpuSMAP|CpuSHA|CpuXSAVEC|CpuXSAVES|CpuClflushOpt|CpuCLZERO|CpuMWAITX" },
+  { "CPU_ZNVER2_FLAGS",
+    "CPU_ZNVER1_FLAGS|CpuRDPID|CpuWBNOINVD|CpuCLWB" },
   { "CPU_BTVER1_FLAGS",
     "CPU_GENERIC64_FLAGS|CpuFISTTP|CpuCX16|CpuRdtscp|CPU_SSSE3_FLAGS|CpuSSE4A|CpuABM|CpuPRFCHW|CpuCX16|CpuClflush|CpuFISTTP|CpuSVME|CpuLZCNT" },
   { "CPU_BTVER2_FLAGS",
-    "CPU_BTVER1_FLAGS|CPU_SSE4_2_FLAGS|CpuBMI|CpuF16C|CpuAES|CpuPCLMUL|CpuAVX|CpuMovbe|CpuXsave|CpuXsaveopt|CpuPRFCHW" },
+    "CPU_BTVER1_FLAGS|CPU_AVX_FLAGS|CpuBMI|CpuF16C|CpuAES|CpuPCLMUL|CpuMovbe|CpuXsaveopt|CpuPRFCHW" },
   { "CPU_8087_FLAGS",
     "Cpu8087" },
   { "CPU_287_FLAGS",
-    "CPU_8087_FLAGS|Cpu287" },
+    "Cpu287" },
   { "CPU_387_FLAGS",
-    "CPU_287_FLAGS|Cpu387" },
+    "Cpu387" },
   { "CPU_687_FLAGS",
     "CPU_387_FLAGS|Cpu687" },
   { "CPU_CLFLUSH_FLAGS",
@@ -116,9 +118,9 @@ static initializer cpu_flag_init[] =
   { "CPU_SYSCALL_FLAGS",
     "CpuSYSCALL" },
   { "CPU_MMX_FLAGS",
-    "CpuRegMMX|CpuMMX" },
+    "CpuMMX" },
   { "CPU_SSE_FLAGS",
-    "CpuRegXMM|CpuSSE" },
+    "CpuSSE" },
   { "CPU_SSE2_FLAGS",
     "CPU_SSE_FLAGS|CpuSSE2" },
   { "CPU_SSE3_FLAGS",
@@ -148,7 +150,7 @@ static initializer cpu_flag_init[] =
   { "CPU_XOP_FLAGS",
     "CPU_SSE4A_FLAGS|CPU_FMA4_FLAGS|CpuXOP" },
   { "CPU_LWP_FLAGS",
-    "CpuLWP" },
+    "CPU_XSAVE_FLAGS|CpuLWP" },
   { "CPU_BMI_FLAGS",
     "CpuBMI" },
   { "CPU_TBM_FLAGS",
@@ -192,13 +194,11 @@ static initializer cpu_flag_init[] =
   { "CPU_ABM_FLAGS",
     "CpuABM" },
   { "CPU_AVX_FLAGS",
-    "CPU_SSE4_2_FLAGS|CpuRegYMM|CpuAVX" },
+    "CPU_SSE4_2_FLAGS|CPU_XSAVE_FLAGS|CpuAVX" },
   { "CPU_AVX2_FLAGS",
     "CPU_AVX_FLAGS|CpuAVX2" },
-  /* Don't use CPU_AVX2_FLAGS on CPU_AVX512F_FLAGS since AVX512F doesn't
-     support YMM registers.  */
   { "CPU_AVX512F_FLAGS",
-    "CpuVREX|CPU_SSE4_2_FLAGS|CpuRegZMM|CpuRegMask|CpuAVX|CpuAVX2|CpuAVX512F" },
+    "CPU_AVX2_FLAGS|CpuVREX|CpuAVX512F" },
   { "CPU_AVX512CD_FLAGS",
     "CPU_AVX512F_FLAGS|CpuAVX512CD" },
   { "CPU_AVX512ER_FLAGS",
@@ -210,9 +210,7 @@ static initializer cpu_flag_init[] =
   { "CPU_AVX512BW_FLAGS",
     "CPU_AVX512F_FLAGS|CpuAVX512BW" },
   { "CPU_AVX512VL_FLAGS",
-  /* Use CPU_AVX2_FLAGS on CPU_AVX512VL_FLAGS since AVX512VL supports YMM
-     registers.  */
-    "CPU_AVX512F_FLAGS|CPU_AVX2_FLAGS|CpuAVX512VL" },
+    "CPU_AVX512F_FLAGS|CpuAVX512VL" },
   { "CPU_AVX512IFMA_FLAGS",
     "CPU_AVX512F_FLAGS|CpuAVX512IFMA" },
   { "CPU_AVX512VBMI_FLAGS",
@@ -244,7 +242,7 @@ static initializer cpu_flag_init[] =
   { "CPU_SMAP_FLAGS",
     "CpuSMAP" },
   { "CPU_MPX_FLAGS",
-    "CpuMPX" },
+    "CPU_XSAVE_FLAGS|CpuMPX" },
   { "CPU_SHA_FLAGS",
     "CPU_SSE2_FLAGS|CpuSHA" },
   { "CPU_CLFLUSHOPT_FLAGS",
@@ -264,19 +262,33 @@ static initializer cpu_flag_init[] =
   { "CPU_MWAITX_FLAGS",
     "CpuMWAITX" },
   { "CPU_OSPKE_FLAGS",
-    "CpuOSPKE" },
+    "CPU_XSAVE_FLAGS|CpuOSPKE" },
   { "CPU_RDPID_FLAGS",
     "CpuRDPID" },
   { "CPU_PTWRITE_FLAGS",
     "CpuPTWRITE" },
-  { "CPU_CET_FLAGS",
-    "CpuCET" },
+  { "CPU_IBT_FLAGS",
+    "CpuIBT" },
+  { "CPU_SHSTK_FLAGS",
+    "CpuSHSTK" },
   { "CPU_GFNI_FLAGS",
     "CpuGFNI" },
   { "CPU_VAES_FLAGS",
     "CpuVAES" },
   { "CPU_VPCLMULQDQ_FLAGS",
     "CpuVPCLMULQDQ" },
+  { "CPU_WBNOINVD_FLAGS",
+    "CpuWBNOINVD" },
+  { "CPU_PCONFIG_FLAGS",
+    "CpuPCONFIG" },
+  { "CPU_WAITPKG_FLAGS",
+    "CpuWAITPKG" },
+  { "CPU_CLDEMOTE_FLAGS",
+    "CpuCLDEMOTE" },
+  { "CPU_MOVDIRI_FLAGS",
+    "CpuMOVDIRI" },
+  { "CPU_MOVDIR64B_FLAGS",
+    "CpuMOVDIR64B" },
   { "CPU_ANY_X87_FLAGS",
     "CPU_ANY_287_FLAGS|Cpu8087" },
   { "CPU_ANY_287_FLAGS",
@@ -304,7 +316,7 @@ static initializer cpu_flag_init[] =
   { "CPU_ANY_AVX2_FLAGS",
     "CpuAVX2" },
   { "CPU_ANY_AVX512F_FLAGS",
-    "CpuVREX|CpuRegZMM|CpuRegMask|CpuAVX512CD|CpuAVX512ER|CpuAVX512PF|CpuAVX512DQ|CpuAVX512BW|CpuAVX512VL|CpuAVX512IFMA|CpuAVX512VBMI|CpuAVX512_4FMAPS|CpuAVX512_4VNNIW|CpuAVX512_VPOPCNTDQ|CpuAVX512_VBMI2|CpuAVX512_VNNI|CpuAVX512_BITALG|CpuAVX512F" },
+    "CpuVREX|CpuAVX512CD|CpuAVX512ER|CpuAVX512PF|CpuAVX512DQ|CpuAVX512BW|CpuAVX512VL|CpuAVX512IFMA|CpuAVX512VBMI|CpuAVX512_4FMAPS|CpuAVX512_4VNNIW|CpuAVX512_VPOPCNTDQ|CpuAVX512_VBMI2|CpuAVX512_VNNI|CpuAVX512_BITALG|CpuAVX512F" },
   { "CPU_ANY_AVX512CD_FLAGS",
     "CpuAVX512CD" },
   { "CPU_ANY_AVX512ER_FLAGS",
@@ -327,12 +339,20 @@ static initializer cpu_flag_init[] =
     "CpuAVX512_4VNNIW" },
   { "CPU_ANY_AVX512_VPOPCNTDQ_FLAGS",
     "CpuAVX512_VPOPCNTDQ" },
+  { "CPU_ANY_IBT_FLAGS",
+    "CpuIBT" },
+  { "CPU_ANY_SHSTK_FLAGS",
+    "CpuSHSTK" },
   { "CPU_ANY_AVX512_VBMI2_FLAGS",
     "CpuAVX512_VBMI2" },
   { "CPU_ANY_AVX512_VNNI_FLAGS",
     "CpuAVX512_VNNI" },
   { "CPU_ANY_AVX512_BITALG_FLAGS",
     "CpuAVX512_BITALG" },
+  { "CPU_ANY_MOVDIRI_FLAGS",
+    "CpuMOVDIRI" },
+  { "CPU_ANY_MOVDIR64B_FLAGS",
+    "CpuMOVDIR64B" },
 };
 
 static const initializer operand_type_shorthands[] =
@@ -558,15 +578,17 @@ static bitfield cpu_flags[] =
   BITFIELD (CpuOSPKE),
   BITFIELD (CpuRDPID),
   BITFIELD (CpuPTWRITE),
-  BITFIELD (CpuCET),
+  BITFIELD (CpuIBT),
+  BITFIELD (CpuSHSTK),
   BITFIELD (CpuGFNI),
   BITFIELD (CpuVAES),
   BITFIELD (CpuVPCLMULQDQ),
-  BITFIELD (CpuRegMMX),
-  BITFIELD (CpuRegXMM),
-  BITFIELD (CpuRegYMM),
-  BITFIELD (CpuRegZMM),
-  BITFIELD (CpuRegMask),
+  BITFIELD (CpuWBNOINVD),
+  BITFIELD (CpuPCONFIG),
+  BITFIELD (CpuWAITPKG),
+  BITFIELD (CpuCLDEMOTE),
+  BITFIELD (CpuMOVDIRI),
+  BITFIELD (CpuMOVDIR64B),
 #ifdef CpuUnused
   BITFIELD (CpuUnused),
 #endif
@@ -585,7 +607,6 @@ static bitfield opcode_modifiers[] =
   BITFIELD (JumpInterSegment),
   BITFIELD (FloatMF),
   BITFIELD (FloatR),
-  BITFIELD (FloatD),
   BITFIELD (Size16),
   BITFIELD (Size32),
   BITFIELD (Size64),
@@ -609,7 +630,7 @@ static bitfield opcode_modifiers[] =
   BITFIELD (HLEPrefixOk),
   BITFIELD (ToDword),
   BITFIELD (ToQword),
-  BITFIELD (AddrPrefixOp0),
+  BITFIELD (AddrPrefixOpReg),
   BITFIELD (IsPrefix),
   BITFIELD (ImmExt),
   BITFIELD (NoRex64),
@@ -620,20 +641,18 @@ static bitfield opcode_modifiers[] =
   BITFIELD (VexW),
   BITFIELD (VexOpcode),
   BITFIELD (VexSources),
-  BITFIELD (VexImmExt),
   BITFIELD (VecSIB),
   BITFIELD (SSE2AVX),
   BITFIELD (NoAVX),
   BITFIELD (EVex),
   BITFIELD (Masking),
-  BITFIELD (VecESize),
   BITFIELD (Broadcast),
   BITFIELD (StaticRounding),
   BITFIELD (SAE),
   BITFIELD (Disp8MemShift),
   BITFIELD (NoDefMask),
   BITFIELD (ImplicitQuadGroup),
-  BITFIELD (OldGcc),
+  BITFIELD (Optimize),
   BITFIELD (ATTMnemonic),
   BITFIELD (ATTSyntax),
   BITFIELD (IntelSyntax),
@@ -708,7 +727,7 @@ fail (const char *message, ...)
   va_list args;
 
   va_start (args, message);
-  fprintf (stderr, _("%s: Error: "), program_name);
+  fprintf (stderr, _("%s: error: "), program_name);
   vfprintf (stderr, message, args);
   va_end (args);
   xexit (1);
@@ -887,9 +906,9 @@ set_bitfield (char *f, bitfield *array, 
     return;
 
   if (lineno != -1)
-    fail (_("%s: %d: Unknown bitfield: %s\n"), filename, lineno, f);
+    fail (_("%s: %d: unknown bitfield: %s\n"), filename, lineno, f);
   else
-    fail (_("Unknown bitfield: %s\n"), f);
+    fail (_("unknown bitfield: %s\n"), f);
 }
 
 static void
@@ -952,7 +971,7 @@ process_i386_cpu_flag (FILE *table, char
 	  last -= 1;
 	  next = flag + 2;
 	  if (*last != ')')
-	    fail (_("%s: %d: Missing `)' in bitfield: %s\n"), filename,
+	    fail (_("%s: %d: missing `)' in bitfield: %s\n"), filename,
 		  lineno, flag);
 	  *last = '\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.1.0.20180703/opcodes/i386-init.h ./opcodes/i386-init.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i386-init.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/i386-init.h	2018-07-10 02:06:14.000000000 +0000
@@ -24,7 +24,7 @@
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
-      0, 1, 1 } }
+      1, 1, 0, 1, 1 } }
 
 #define CPU_GENERIC32_FLAGS \
   { { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -32,15 +32,15 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_GENERIC64_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_NONE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -48,7 +48,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_I186_FLAGS \
   { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -56,7 +56,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_I286_FLAGS \
   { { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -64,7 +64,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_I386_FLAGS \
   { { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -72,7 +72,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_I486_FLAGS \
   { { 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -80,183 +80,191 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_I586_FLAGS \
-  { { 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
+  { { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_I686_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
+  { { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_PENTIUMPRO_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
+  { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_P2_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, \
+  { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_P3_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, \
+  { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_P4_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_NOCONA_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_CORE_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_CORE2_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_COREI7_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_K6_FLAGS \
   { { 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_K6_2_FLAGS \
   { { 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ATHLON_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_K8_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AMDFAM10_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_BDVER1_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, \
       0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_BDVER2_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, \
       0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_BDVER3_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, \
       0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_BDVER4_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, \
       0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ZNVER1_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, \
       0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
+
+#define CPU_ZNVER2_FLAGS \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+      0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, \
+      0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, \
+      0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_BTVER1_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, \
       0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_BTVER2_FLAGS \
-  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
+  { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, \
       0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_8087_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -264,31 +272,31 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_287_FLAGS \
-  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_387_FLAGS \
-  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_687_FLAGS \
-  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_CLFLUSH_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -296,7 +304,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_NOP_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -304,7 +312,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SYSCALL_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -312,63 +320,63 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_MMX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SSE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SSE2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SSE3_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SSSE3_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SSE4_1_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SSE4_2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_VMX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -376,7 +384,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SMX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -384,7 +392,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_XSAVE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -392,7 +400,7 @@
       0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_XSAVEOPT_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -400,55 +408,55 @@
       0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AES_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_PCLMUL_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_FMA_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_FMA4_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_XOP_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_LWP_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_BMI_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -456,7 +464,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_TBM_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -464,7 +472,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_MOVBE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -472,7 +480,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_CX16_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -480,7 +488,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_RDTSCP_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -488,7 +496,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_EPT_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -496,7 +504,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_FSGSBASE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -504,7 +512,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_RDRND_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -512,15 +520,15 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_F16C_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_BMI2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -528,7 +536,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_LZCNT_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -536,7 +544,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_HLE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -544,7 +552,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_RTM_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -552,7 +560,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_INVPCID_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -560,7 +568,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_VMFUNC_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -568,23 +576,23 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_3DNOW_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_3DNOWA_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_PADLOCK_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -592,7 +600,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SVME_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -600,15 +608,15 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SSE4A_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ABM_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -616,143 +624,143 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512F_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512CD_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512ER_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512PF_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512DQ_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512BW_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512VL_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512IFMA_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512VBMI_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512_4FMAPS_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512_4VNNIW_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512_VPOPCNTDQ_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512_VBMI2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512_VNNI_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_AVX512_BITALG_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_L1OM_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
@@ -760,7 +768,7 @@
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
-      0, 1, 1 } }
+      1, 1, 0, 1, 1 } }
 
 #define CPU_K1OM_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
@@ -768,7 +776,7 @@
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
-      0, 1, 1 } }
+      1, 1, 0, 1, 1 } }
 
 #define CPU_IAMCU_FLAGS \
   { { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -776,7 +784,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ADX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -784,7 +792,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_RDSEED_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -792,7 +800,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_PRFCHW_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -800,7 +808,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SMAP_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -808,23 +816,23 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_MPX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SHA_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_CLFLUSHOPT_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -832,7 +840,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_XSAVES_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -840,7 +848,7 @@
       0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_XSAVEC_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -848,7 +856,7 @@
       0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_PREFETCHWT1_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -856,7 +864,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_SE1_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -864,7 +872,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_CLWB_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -872,7 +880,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_CLZERO_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -880,7 +888,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_MWAITX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -888,15 +896,15 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_OSPKE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_RDPID_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -904,7 +912,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_PTWRITE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -912,39 +920,95 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
-#define CPU_CET_FLAGS \
+#define CPU_IBT_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
-#define CPU_GFNI_FLAGS \
+#define CPU_SHSTK_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
-#define CPU_VAES_FLAGS \
+#define CPU_GFNI_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
-#define CPU_VPCLMULQDQ_FLAGS \
+#define CPU_VAES_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
+
+#define CPU_VPCLMULQDQ_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
+
+#define CPU_WBNOINVD_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
+
+#define CPU_PCONFIG_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \
+      0, 0, 0, 0, 0 } }
+
+#define CPU_WAITPKG_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \
+      0, 0, 0, 0, 0 } }
+
+#define CPU_CLDEMOTE_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \
+      0, 0, 0, 0, 0 } }
+
+#define CPU_MOVDIRI_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      1, 0, 0, 0, 0 } }
+
+#define CPU_MOVDIR64B_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0 } }
 
 #define CPU_ANY_X87_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, \
@@ -952,7 +1016,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_287_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, \
@@ -960,7 +1024,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_387_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, \
@@ -968,7 +1032,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_687_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, \
@@ -976,15 +1040,15 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_MMX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_SSE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
@@ -992,7 +1056,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_SSE2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, \
@@ -1000,7 +1064,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_SSE3_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \
@@ -1008,7 +1072,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_SSSE3_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1016,7 +1080,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_SSE4_1_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1024,7 +1088,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_SSE4_2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1032,7 +1096,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1040,7 +1104,7 @@
       0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1048,15 +1112,15 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512F_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, \
-      1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, \
-      0, 0, 0 } }
+      1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512CD_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1064,7 +1128,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512ER_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1072,7 +1136,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512PF_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1080,7 +1144,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512DQ_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1088,7 +1152,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512BW_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1096,7 +1160,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512VL_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1104,7 +1168,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512IFMA_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1112,7 +1176,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512VBMI_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1120,7 +1184,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512_4FMAPS_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1128,7 +1192,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512_4VNNIW_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1136,7 +1200,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512_VPOPCNTDQ_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1144,7 +1208,23 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
+
+#define CPU_ANY_IBT_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
+
+#define CPU_ANY_SHSTK_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512_VBMI2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1152,7 +1232,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512_VNNI_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1160,7 +1240,7 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
 
 #define CPU_ANY_AVX512_BITALG_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
@@ -1168,7 +1248,23 @@
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0 } }
+      0, 0, 0, 0, 0 } }
+
+#define CPU_ANY_MOVDIRI_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      1, 0, 0, 0, 0 } }
+
+#define CPU_ANY_MOVDIR64B_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0 } }
 
 
 #define OPERAND_TYPE_NONE \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i386-opc.h ./opcodes/i386-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i386-opc.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/i386-opc.h	2018-07-10 02:06:14.000000000 +0000
@@ -214,24 +214,27 @@ enum
   CpuRDPID,
   /* PTWRITE instruction required */
   CpuPTWRITE,
-  /* CET instruction support required */
-  CpuCET,
+  /* CET instructions support required */
+  CpuIBT,
+  CpuSHSTK,
   /* GFNI instructions required */
   CpuGFNI,
   /* VAES instructions required */
   CpuVAES,
   /* VPCLMULQDQ instructions required */
   CpuVPCLMULQDQ,
-  /* MMX register support required */
-  CpuRegMMX,
-  /* XMM register support required */
-  CpuRegXMM,
-  /* YMM register support required */
-  CpuRegYMM,
-  /* ZMM register support required */
-  CpuRegZMM,
-  /* Mask register support required */
-  CpuRegMask,
+  /* WBNOINVD instructions required */
+  CpuWBNOINVD,
+  /* PCONFIG instructions required */
+  CpuPCONFIG,
+  /* WAITPKG instructions required */
+  CpuWAITPKG,
+  /* CLDEMOTE instruction required */
+  CpuCLDEMOTE,
+  /* MOVDIRI instruction support required */
+  CpuMOVDIRI,
+  /* MOVDIRR64B instruction required */
+  CpuMOVDIR64B,
   /* 64bit support required  */
   Cpu64,
   /* Not supported in the 64bit mode  */
@@ -346,15 +349,17 @@ typedef union i386_cpu_flags
       unsigned int cpuospke:1;
       unsigned int cpurdpid:1;
       unsigned int cpuptwrite:1;
-      unsigned int cpucet:1;
+      unsigned int cpuibt:1;
+      unsigned int cpushstk:1;
       unsigned int cpugfni:1;
       unsigned int cpuvaes:1;
       unsigned int cpuvpclmulqdq:1;
-      unsigned int cpuregmmx:1;
-      unsigned int cpuregxmm:1;
-      unsigned int cpuregymm:1;
-      unsigned int cpuregzmm:1;
-      unsigned int cpuregmask:1;
+      unsigned int cpuwbnoinvd:1;
+      unsigned int cpupconfig:1;
+      unsigned int cpuwaitpkg:1;
+      unsigned int cpucldemote:1;
+      unsigned int cpumovdiri:1;
+      unsigned int cpumovdir64b:1;
       unsigned int cpu64:1;
       unsigned int cpuno64:1;
 #ifdef CpuUnused
@@ -390,8 +395,6 @@ enum
   FloatMF,
   /* src/dest swap for floats. */
   FloatR,
-  /* has float insn direction bit. */
-  FloatD,
   /* needs size prefix if in 32-bit mode */
   Size16,
   /* needs size prefix if in 16-bit mode */
@@ -448,8 +451,8 @@ enum
   ToDword,
   /* Convert to QWORD */
   ToQword,
-  /* Address prefix changes operand 0 */
-  AddrPrefixOp0,
+  /* Address prefix changes register operand */
+  AddrPrefixOpReg,
   /* opcode is a prefix */
   IsPrefix,
   /* instruction has extension in 8 bit imm */
@@ -520,8 +523,6 @@ enum
 #define XOP2SOURCES	1
 #define VEX3SOURCES	2
   VexSources,
-  /* instruction has VEX 8 bit imm */
-  VexImmExt,
   /* Instruction with vector SIB byte:
 	1: 128bit vector register.
 	2: 256bit vector register.
@@ -541,11 +542,13 @@ enum
 	2: 128bit EVEX prefix.
 	3: 256bit EVEX prefix.
 	4: Length-ignored (LIG) EVEX prefix.
+	5: Length determined from actual operands.
    */
 #define EVEX512                1
 #define EVEX128                2
 #define EVEX256                3
 #define EVEXLIG                4
+#define EVEXDYN                5
   EVex,
 
   /* AVX512 masking support:
@@ -558,22 +561,6 @@ enum
 #define BOTH_MASKING    3
   Masking,
 
-  /* Input element size of vector insn:
-	0: 32bit.
-	1: 64bit.
-   */
-  VecESize,
-
-  /* Broadcast factor.
-	0: No broadcast.
-	1: 1to16 broadcast.
-	2: 1to8 broadcast.
-   */
-#define NO_BROADCAST	0
-#define BROADCAST_1TO16	1
-#define BROADCAST_1TO8	2
-#define BROADCAST_1TO4	3
-#define BROADCAST_1TO2	4
   Broadcast,
 
   /* Static rounding control is supported.  */
@@ -593,8 +580,9 @@ enum
    */
   ImplicitQuadGroup,
 
-  /* Compatible with old (<= 2.8.1) versions of gcc  */
-  OldGcc,
+  /* Support encoding optimization.  */
+  Optimize,
+
   /* AT&T mnemonic.  */
   ATTMnemonic,
   /* AT&T syntax.  */
@@ -622,7 +610,6 @@ typedef struct i386_opcode_modifier
   unsigned int jumpintersegment:1;
   unsigned int floatmf:1;
   unsigned int floatr:1;
-  unsigned int floatd:1;
   unsigned int size16:1;
   unsigned int size32:1;
   unsigned int size64:1;
@@ -646,7 +633,7 @@ typedef struct i386_opcode_modifier
   unsigned int repprefixok:1;
   unsigned int todword:1;
   unsigned int toqword:1;
-  unsigned int addrprefixop0:1;
+  unsigned int addrprefixopreg:1;
   unsigned int isprefix:1;
   unsigned int immext:1;
   unsigned int norex64:1;
@@ -657,20 +644,18 @@ typedef struct i386_opcode_modifier
   unsigned int vexw:2;
   unsigned int vexopcode:3;
   unsigned int vexsources:2;
-  unsigned int veximmext:1;
   unsigned int vecsib:2;
   unsigned int sse2avx:1;
   unsigned int noavx:1;
   unsigned int evex:3;
   unsigned int masking:2;
-  unsigned int vecesize:1;
-  unsigned int broadcast:3;
+  unsigned int broadcast:1;
   unsigned int staticrounding:1;
   unsigned int sae:1;
   unsigned int disp8memshift:3;
   unsigned int nodefmask:1;
   unsigned int implicitquadgroup:1;
-  unsigned int oldgcc:1;
+  unsigned int optimize:1;
   unsigned int attmnemonic:1;
   unsigned int attsyntax:1;
   unsigned int intelsyntax:1;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i386-opc.tbl ./opcodes/i386-opc.tbl
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i386-opc.tbl	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/i386-opc.tbl	2018-07-10 02:06:14.000000000 +0000
@@ -27,21 +27,16 @@ mov, 2, 0x88, None, 1, 0, D|W|CheckRegSi
 // In the 64bit mode the short form mov immediate is redefined to have
 // 64bit value.
 mov, 2, 0xb0, None, 1, 0, W|ShortForm|No_sSuf|No_qSuf|No_ldSuf, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32 }
-mov, 2, 0xc6, 0x0, 1, 0, W|Modrm|No_sSuf|No_ldSuf|HLEPrefixOk=3, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
-mov, 2, 0xb0, None, 1, Cpu64, W|ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Imm64, Reg64 }
+mov, 2, 0xc6, 0x0, 1, 0, W|Modrm|No_sSuf|No_ldSuf|HLEPrefixOk=3|Optimize, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
+mov, 2, 0xb0, None, 1, Cpu64, W|ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|Optimize, { Imm64, Reg64 }
 // The segment register moves accept WordReg so that a segment register
 // can be copied to a 32 bit register, and vice versa, without using a
 // size prefix.  When moving to a 32 bit register, the upper 16 bits
 // are set to an implementation defined value (on the Pentium Pro, the
 // implementation defined value is zero).
-mov, 2, 0x8c, None, 1, 0, Modrm|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg2, Reg16|Reg32|Reg64|RegMem }
-mov, 2, 0x8c, None, 1, 0, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg2, Word|Unspecified|BaseIndex }
-mov, 2, 0x8c, None, 1, Cpu386, Modrm|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg3, Reg16|Reg32|Reg64|RegMem }
-mov, 2, 0x8c, None, 1, Cpu386, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg3, Word|Unspecified|BaseIndex }
-mov, 2, 0x8e, None, 1, 0, Modrm|IgnoreSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Reg32|Reg64, SReg2 }
-mov, 2, 0x8e, None, 1, 0, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Word|Unspecified|BaseIndex, SReg2 }
-mov, 2, 0x8e, None, 1, Cpu386, Modrm|IgnoreSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Reg32|Reg64, SReg3 }
-mov, 2, 0x8e, None, 1, Cpu386, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Word|Unspecified|BaseIndex, SReg3 }
+mov, 2, 0x8c, None, 1, 0, Modrm|No_bSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { SReg2|SReg3, Reg16|Reg32|Reg64|RegMem }
+mov, 2, 0x8c, None, 1, 0, D|Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg2|SReg3, Word|Unspecified|BaseIndex }
+mov, 2, 0x8e, None, 1, 0, Modrm|IgnoreSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg16|Reg32|Reg64, SReg2|Sreg3 }
 // Move to/from control debug registers.  In the 16 or 32bit modes
 // they are 32bit.  In the 64bit mode they are 64bit.
 mov, 2, 0xf20, None, 2, Cpu386|CpuNo64, D|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Control, Reg32|RegMem }
@@ -166,7 +161,7 @@ add, 2, 0x80, 0x0, 1, 0, W|Modrm|No_sSuf
 inc, 1, 0x40, None, 1, CpuNo64, ShortForm|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Reg32 }
 inc, 1, 0xfe, 0x0, 1, 0, W|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
 
-sub, 2, 0x28, None, 1, 0, D|W|CheckRegSize|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
+sub, 2, 0x28, None, 1, 0, D|W|CheckRegSize|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
 sub, 2, 0x83, 0x5, 1, 0, Modrm|No_bSuf|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex }
 sub, 2, 0x2c, None, 1, 0, W|No_sSuf|No_ldSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword }
 sub, 2, 0x80, 0x5, 1, 0, W|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
@@ -186,26 +181,26 @@ cmp, 2, 0x80, 0x7, 1, 0, W|Modrm|No_sSuf
 
 test, 2, 0x84, None, 1, 0, W|CheckRegSize|Modrm|No_sSuf|No_ldSuf, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|Byte|Word|Dword|Qword|BaseIndex }
 test, 2, 0x84, None, 1, 0, W|Modrm|No_sSuf|No_ldSuf, { Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
-test, 2, 0xa8, None, 1, 0, W|No_sSuf|No_ldSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword }
-test, 2, 0xf6, 0x0, 1, 0, W|Modrm|No_sSuf|No_ldSuf, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
+test, 2, 0xa8, None, 1, 0, W|No_sSuf|No_ldSuf|Optimize, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword }
+test, 2, 0xf6, 0x0, 1, 0, W|Modrm|No_sSuf|No_ldSuf|Optimize, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
 
 and, 2, 0x20, None, 1, 0, D|W|CheckRegSize|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
 and, 2, 0x83, 0x4, 1, 0, Modrm|No_bSuf|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex }
-and, 2, 0x24, None, 1, 0, W|No_sSuf|No_ldSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword }
-and, 2, 0x80, 0x4, 1, 0, W|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
+and, 2, 0x24, None, 1, 0, W|No_sSuf|No_ldSuf|Optimize, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword }
+and, 2, 0x80, 0x4, 1, 0, W|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk|Optimize, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
 
 or, 2, 0x8, None, 1, 0, D|W|CheckRegSize|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
 or, 2, 0x83, 0x1, 1, 0, Modrm|No_bSuf|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex }
 or, 2, 0xc, None, 1, 0, W|No_sSuf|No_ldSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword }
 or, 2, 0x80, 0x1, 1, 0, W|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
 
-xor, 2, 0x30, None, 1, 0, D|W|CheckRegSize|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
+xor, 2, 0x30, None, 1, 0, D|W|CheckRegSize|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
 xor, 2, 0x83, 0x6, 1, 0, Modrm|No_bSuf|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex }
 xor, 2, 0x34, None, 1, 0, W|No_sSuf|No_ldSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword }
 xor, 2, 0x80, 0x6, 1, 0, W|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
 
 // clr with 1 operand is really xor with 2 operands.
-clr, 1, 0x30, None, 1, 0, W|Modrm|No_sSuf|No_ldSuf|RegKludge, { Reg8|Reg16|Reg32|Reg64 }
+clr, 1, 0x30, None, 1, 0, W|Modrm|No_sSuf|No_ldSuf|RegKludge|Optimize, { Reg8|Reg16|Reg32|Reg64 }
 
 adc, 2, 0x10, None, 1, 0, D|W|CheckRegSize|Modrm|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
 adc, 2, 0x83, 0x2, 1, 0, Modrm|No_bSuf|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex }
@@ -516,11 +511,11 @@ sgdt, 1, 0xf01, 0x0, 2, Cpu286|CpuNo64, 
 sgdt, 1, 0xf01, 0x0, 2, Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Tbyte|Unspecified|BaseIndex }
 sidt, 1, 0xf01, 0x1, 2, Cpu286|CpuNo64, Modrm|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Fword|Unspecified|BaseIndex }
 sidt, 1, 0xf01, 0x1, 2, Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Tbyte|Unspecified|BaseIndex }
-sldt, 1, 0xf00, 0x0, 2, Cpu286, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64 }
+sldt, 1, 0xf00, 0x0, 2, Cpu286, Modrm|No_bSuf|No_sSuf|No_ldSuf|NoRex64, { Reg16|Reg32|Reg64 }
 sldt, 1, 0xf00, 0x0, 2, Cpu286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Word|Unspecified|BaseIndex }
 smsw, 1, 0xf01, 0x4, 2, Cpu286, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64 }
 smsw, 1, 0xf01, 0x4, 2, Cpu286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Word|Unspecified|BaseIndex }
-str, 1, 0xf00, 0x1, 2, Cpu286, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64 }
+str, 1, 0xf00, 0x1, 2, Cpu286, Modrm|No_bSuf|No_sSuf|No_ldSuf|NoRex64, { Reg16|Reg32|Reg64 }
 str, 1, 0xf00, 0x1, 2, Cpu286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Word|Unspecified|BaseIndex }
 
 verr, 1, 0xf00, 0x4, 2, Cpu286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Word|Unspecified|BaseIndex }
@@ -604,7 +599,7 @@ fldz, 0, 0xd9ee, None, 2, CpuFP, No_bSuf
 // Arithmetic.
 
 // add
-fadd, 2, 0xd8c0, None, 2, CpuFP, ShortForm|FloatD|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg, FloatAcc }
+fadd, 2, 0xd8c0, None, 2, CpuFP, ShortForm|D|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg, FloatAcc }
 // alias for fadd %st(i), %st
 fadd, 1, 0xd8c0, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg }
 // alias for faddp
@@ -620,44 +615,40 @@ faddp, 2, 0xdec0, None, 2, CpuFP, ShortF
 
 // subtract
 fsub, 1, 0xd8e0, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg }
-fsub, 2, 0xd8e0, None, 2, CpuFP, ShortForm|FloatD|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc }
+fsub, 2, 0xd8e0, None, 2, CpuFP, ShortForm|D|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc }
 // alias for fsubp
 fsub, 0, 0xdee1, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|ATTSyntax, { 0 }
 fsub, 0, 0xdee9, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic, { 0 }
-fsub, 2, 0xd8e0, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm|FloatD|FloatR, { FloatReg, FloatAcc }
+fsub, 2, 0xd8e0, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm|D|FloatR, { FloatReg, FloatAcc }
 fsub, 1, 0xd8, 0x4, 1, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex }
 fisub, 1, 0xde, 0x4, 1, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Word|Dword|Unspecified|BaseIndex }
 
 fsubp, 2, 0xdee0, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg }
 fsubp, 1, 0xdee0, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg }
 fsubp, 0, 0xdee1, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { 0 }
-fsubp, 2, 0xdee0, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|ATTSyntax|OldGcc, { FloatReg, FloatAcc }
-fsubp, 2, 0xdee9, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|OldGcc, { FloatReg, FloatAcc }
 fsubp, 2, 0xdee8, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm, { FloatAcc, FloatReg }
 fsubp, 1, 0xdee8, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm, { FloatReg }
 fsubp, 0, 0xdee9, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
 
 // subtract reverse
 fsubr, 1, 0xd8e8, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg }
-fsubr, 2, 0xd8e8, None, 2, CpuFP, ShortForm|FloatD|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc }
+fsubr, 2, 0xd8e8, None, 2, CpuFP, ShortForm|D|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc }
 // alias for fsubrp
 fsubr, 0, 0xdee9, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|ATTSyntax, { 0 }
 fsubr, 0, 0xdee1, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic, { 0 }
-fsubr, 2, 0xd8e8, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm|FloatD|FloatR, { FloatReg, FloatAcc }
+fsubr, 2, 0xd8e8, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm|D|FloatR, { FloatReg, FloatAcc }
 fsubr, 1, 0xd8, 0x5, 1, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex }
 fisubr, 1, 0xde, 0x5, 1, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Word|Dword|Unspecified|BaseIndex }
 
 fsubrp, 2, 0xdee8, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg }
 fsubrp, 1, 0xdee8, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg }
 fsubrp, 0, 0xdee9, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { 0 }
-fsubrp, 2, 0xdee8, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|ATTSyntax|OldGcc, { FloatReg, FloatAcc }
-fsubrp, 2, 0xdee0, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|OldGcc, { FloatReg, FloatAcc }
 fsubrp, 2, 0xdee0, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm, { FloatAcc, FloatReg }
 fsubrp, 1, 0xdee0, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm, { FloatReg }
 fsubrp, 0, 0xdee1, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf, { 0 }
 
 // multiply
-fmul, 2, 0xd8c8, None, 2, CpuFP, ShortForm|FloatD|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg, FloatAcc }
+fmul, 2, 0xd8c8, None, 2, CpuFP, ShortForm|D|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg, FloatAcc }
 fmul, 1, 0xd8c8, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg }
 // alias for fmulp
 fmul, 0, 0xdec9, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic, { 0 }
@@ -671,38 +662,34 @@ fmulp, 2, 0xdec8, None, 2, CpuFP, ShortF
 
 // divide
 fdiv, 1, 0xd8f0, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg }
-fdiv, 2, 0xd8f0, None, 2, CpuFP, ShortForm|FloatD|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc }
+fdiv, 2, 0xd8f0, None, 2, CpuFP, ShortForm|D|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc }
 // alias for fdivp
 fdiv, 0, 0xdef1, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|ATTSyntax, { 0 }
 fdiv, 0, 0xdef9, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic, { 0 }
-fdiv, 2, 0xd8f0, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm|FloatD|FloatR, { FloatReg, FloatAcc }
+fdiv, 2, 0xd8f0, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm|D|FloatR, { FloatReg, FloatAcc }
 fdiv, 1, 0xd8, 0x6, 1, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex }
 fidiv, 1, 0xde, 0x6, 1, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Word|Dword|Unspecified|BaseIndex }
 
 fdivp, 2, 0xdef0, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg }
 fdivp, 1, 0xdef0, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg }
 fdivp, 0, 0xdef1, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { 0 }
-fdivp, 2, 0xdef0, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|ATTSyntax|OldGcc, { FloatReg, FloatAcc }
-fdivp, 2, 0xdef8, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|OldGcc, { FloatReg, FloatAcc }
 fdivp, 2, 0xdef8, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm, { FloatAcc, FloatReg }
 fdivp, 1, 0xdef8, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm, { FloatReg }
 fdivp, 0, 0xdef9, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf, { 0 }
 
 // divide reverse
 fdivr, 1, 0xd8f8, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg }
-fdivr, 2, 0xd8f8, None, 2, CpuFP, ShortForm|FloatD|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc }
+fdivr, 2, 0xd8f8, None, 2, CpuFP, ShortForm|D|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc }
 // alias for fdivrp
 fdivr, 0, 0xdef9, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|ATTSyntax, { 0 }
 fdivr, 0, 0xdef1, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic, { 0 }
-fdivr, 2, 0xd8f8, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm|FloatD|FloatR, { FloatReg, FloatAcc }
+fdivr, 2, 0xd8f8, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm|D|FloatR, { FloatReg, FloatAcc }
 fdivr, 1, 0xd8, 0x7, 1, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex }
 fidivr, 1, 0xde, 0x7, 1, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Word|Dword|Unspecified|BaseIndex }
 
 fdivrp, 2, 0xdef8, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg }
 fdivrp, 1, 0xdef8, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { FloatReg }
 fdivrp, 0, 0xdef9, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTMnemonic|ATTSyntax, { 0 }
-fdivrp, 2, 0xdef8, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|ATTSyntax|OldGcc, { FloatReg, FloatAcc }
-fdivrp, 2, 0xdef0, None, 2, CpuFP, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Ugh|ATTMnemonic|OldGcc, { FloatReg, FloatAcc }
 fdivrp, 2, 0xdef0, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm, { FloatAcc, FloatReg }
 fdivrp, 1, 0xdef0, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|ShortForm, { FloatReg }
 fdivrp, 0, 0xdef1, None, 2, CpuFP, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf,	{ 0 }
@@ -829,6 +816,8 @@ rex.wrxb, 0, 0x4f, None, 1, Cpu64, No_bS
 {vex2}, 0, 0x4, None, 0, 0, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IsPrefix, { 0 }
 {vex3}, 0, 0x5, None, 0, 0, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IsPrefix, { 0 }
 {evex}, 0, 0x6, None, 0, 0, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IsPrefix, { 0 }
+{rex}, 0, 0x7, None, 0, Cpu64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IsPrefix, { 0 }
+{nooptimize}, 0, 0x8, None, 0, 0, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IsPrefix, { 0 }
 
 // 486 extensions.
 
@@ -846,7 +835,7 @@ cpuid, 0, 0xfa2, None, 2, Cpu486, No_bSu
 wrmsr, 0, 0xf30, None, 2, Cpu586, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
 rdtsc, 0, 0xf31, None, 2, Cpu586, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
 rdmsr, 0, 0xf32, None, 2, Cpu586, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
-cmpxchg8b, 1, 0xfc7, 0x1, 2, Cpu586, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|IsLockable|HLEPrefixOk, { Qword|Unspecified|BaseIndex }
+cmpxchg8b, 1, 0xfc7, 0x1, 2, Cpu586, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|IsLockable|NoRex64|HLEPrefixOk, { Qword|Unspecified|BaseIndex }
 
 // Pentium II/Pentium Pro extensions.
 sysenter, 0, 0xf34, None, 2, Cpu686, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
@@ -963,8 +952,8 @@ movd, 2, 0xf7e, None, 2, CpuMMX|Cpu64, M
 // we only mark constants larger than 32bit as Disp64.
 movq, 2, 0xa0, None, 1, Cpu64, D|W|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Disp64|Unspecified|Qword, Acc|Qword }
 movq, 2, 0x88, None, 1, Cpu64, D|W|Modrm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|HLEPrefixOk=3, { Reg64, Reg64|Unspecified|Qword|BaseIndex }
-movq, 2, 0xc6, 0x0, 1, Cpu64, W|Modrm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|HLEPrefixOk=3, { Imm32S, Reg64|Qword|Unspecified|BaseIndex }
-movq, 2, 0xb0, None, 1, Cpu64, W|ShortForm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm64, Reg64 }
+movq, 2, 0xc6, 0x0, 1, Cpu64, W|Modrm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|HLEPrefixOk=3|Optimize, { Imm32S, Reg64|Qword|Unspecified|BaseIndex }
+movq, 2, 0xb0, None, 1, Cpu64, W|ShortForm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Imm64, Reg64 }
 movq, 2, 0xf37e, None, 1, CpuAVX, Load|Modrm|Vex=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|SSE2AVX, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM }
 movq, 2, 0x66d6, None, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|SSE2AVX, { RegXMM, Qword|Unspecified|BaseIndex|RegXMM }
 movq, 2, 0x666e, None, 1, CpuAVX|Cpu64, Modrm|Vex=3|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Size64|SSE2AVX, { Reg64|Qword|Unspecified|BaseIndex, RegXMM }
@@ -979,8 +968,7 @@ movq, 2, 0xf6e, None, 2, Cpu64, Modrm|Ig
 movq, 2, 0xf7e, None, 2, Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Size64, { RegMMX, Reg64|Unspecified|Qword|BaseIndex }
 // The segment register moves accept Reg64 so that a segment register
 // can be copied to a 64 bit register, and vice versa.
-movq, 2, 0x8c, None, 1, Cpu64, Modrm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg2|SReg3, Reg64|RegMem }
-movq, 2, 0x8e, None, 1, Cpu64, Modrm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg64, SReg2|SReg3 }
+movq, 2, 0x8c, None, 1, Cpu64, D|Modrm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg2|SReg3, Reg64|RegMem }
 // Move to/from control debug registers.  In the 16 or 32bit modes they
 // are 32bit.  In the 64bit mode they are 64bit.
 movq, 2, 0xf20, None, 2, Cpu64, D|Modrm|Size64|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Control, Reg64|RegMem }
@@ -1213,7 +1201,7 @@ divps, 2, 0xf5e, None, 2, CpuSSE, Modrm|
 divss, 2, 0xf35e, None, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM }
 divss, 2, 0xf30f5e, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM }
 ldmxcsr, 1, 0xae, 0x2, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Dword|Unspecified|BaseIndex }
-ldmxcsr, 1, 0xfae, 0x2, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex }
+ldmxcsr, 1, 0xfae, 0x2, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoAVX, { Dword|Unspecified|BaseIndex }
 maskmovq, 2, 0xff7, None, 2, CpuSSE|Cpu3dnowA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoAVX, { RegMMX, RegMMX }
 maxps, 2, 0x5f, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 maxps, 2, 0xf5f, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
@@ -1323,7 +1311,7 @@ sqrtps, 2, 0xf51, None, 2, CpuSSE, Modrm
 sqrtss, 2, 0xf351, None, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM }
 sqrtss, 2, 0xf30f51, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM }
 stmxcsr, 1, 0xae, 0x3, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Dword|Unspecified|BaseIndex }
-stmxcsr, 1, 0xfae, 0x3, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex }
+stmxcsr, 1, 0xfae, 0x3, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoAVX, { Dword|Unspecified|BaseIndex }
 subps, 2, 0x5c, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 subps, 2, 0xf5c, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 subss, 2, 0xf35c, None, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM }
@@ -1520,10 +1508,10 @@ addsubpd, 2, 0x66d0, None, 1, CpuAVX, Mo
 addsubpd, 2, 0x660fd0, None, 2, CpuSSE3, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 addsubps, 2, 0xf2d0, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 addsubps, 2, 0xf20fd0, None, 2, CpuSSE3, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
-cmpxchg16b, 1, 0xfc7, 0x1, 2, CpuCX16|Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64|NoAVX|IsLockable, { Oword|Unspecified|BaseIndex }
-fisttp, 1, 0xdf, 0x1, 1, CpuFISTTP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf|NoAVX, { Word|Dword|Unspecified|BaseIndex }
-fisttp, 1, 0xdd, 0x1, 1, CpuFISTTP, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64|NoAVX, { Qword|Unspecified|BaseIndex }
-fisttpll, 1, 0xdd, 0x1, 1, CpuFISTTP, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoAVX, { Qword|Unspecified|BaseIndex }
+cmpxchg16b, 1, 0xfc7, 0x1, 2, CpuCX16|Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64|IsLockable, { Oword|Unspecified|BaseIndex }
+fisttp, 1, 0xdf, 0x1, 1, CpuFISTTP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Word|Dword|Unspecified|BaseIndex }
+fisttp, 1, 0xdd, 0x1, 1, CpuFISTTP, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex }
+fisttpll, 1, 0xdd, 0x1, 1, CpuFISTTP, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex }
 haddpd, 2, 0x667c, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 haddpd, 2, 0x660f7c, None, 2, CpuSSE3, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 haddps, 2, 0xf27c, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
@@ -1540,9 +1528,9 @@ monitor, 0, 0xf01, 0xc8, 2, CpuSSE3, No_
 // address size override prefix can be used to overrride the AX size in
 // all modes.
 // Need to ensure only "monitor %eax/%ax,%ecx,%edx" is accepted.
-monitor, 3, 0xf01, 0xc8, 2, CpuSSE3|CpuNo64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOp0|NoAVX, { Reg16|Reg32, Reg32, Reg32 }
+monitor, 3, 0xf01, 0xc8, 2, CpuSSE3|CpuNo64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOpReg|NoAVX, { Reg16|Reg32, Reg32, Reg32 }
 // Need to ensure only "monitor %rax/%eax,%rcx,%rdx" is accepted.
-monitor, 3, 0xf01, 0xc8, 2, CpuSSE3|Cpu64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOp0|NoRex64|NoAVX, { Reg32|Reg64, Reg64, Reg64 }
+monitor, 3, 0xf01, 0xc8, 2, CpuSSE3|Cpu64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOpReg|NoRex64|NoAVX, { Reg32|Reg64, Reg64, Reg64 }
 movddup, 2, 0xf212, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM }
 movddup, 2, 0xf20f12, None, 2, CpuSSE3, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM }
 movshdup, 2, 0xf316, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
@@ -1589,8 +1577,8 @@ invvpid, 2, 0x660f3881, None, 3, CpuEPT|
 
 // INVPCID instruction
 
-invpcid, 2, 0x660f3882, None, 3, CpuINVPCID|CpuNo64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_qSuf|No_sSuf|No_ldSuf, { Unspecified|BaseIndex, Reg32 }
-invpcid, 2, 0x660f3882, None, 3, CpuINVPCID|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_qSuf|No_sSuf|No_ldSuf|NoRex64, { Unspecified|BaseIndex, Reg64 }
+invpcid, 2, 0x660f3882, None, 3, CpuINVPCID|CpuNo64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_qSuf|No_sSuf|No_ldSuf, { Oword|Unspecified|BaseIndex, Reg32 }
+invpcid, 2, 0x660f3882, None, 3, CpuINVPCID|Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_qSuf|No_sSuf|No_ldSuf|NoRex64, { Oword|Unspecified|BaseIndex, Reg64 }
 
 // SSSE3 instructions.
 
@@ -1649,12 +1637,12 @@ blendpd, 3, 0x660d, None, 1, CpuAVX, Mod
 blendpd, 3, 0x660f3a0d, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 blendps, 3, 0x660c, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 blendps, 3, 0x660f3a0c, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
-blendvpd, 3, 0x664b, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt|SSE2AVX, { Acc|Xmmword, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
-blendvpd, 2, 0x664b, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Implicit1stXmm0|VexImmExt|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
+blendvpd, 3, 0x664b, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Acc|Xmmword, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
+blendvpd, 2, 0x664b, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Implicit1stXmm0|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 blendvpd, 3, 0x660f3815, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Acc|Xmmword, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 blendvpd, 2, 0x660f3815, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
-blendvps, 3, 0x664a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt|SSE2AVX, { Acc|Xmmword, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
-blendvps, 2, 0x664a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Implicit1stXmm0|VexImmExt|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
+blendvps, 3, 0x664a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Acc|Xmmword, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
+blendvps, 2, 0x664a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Implicit1stXmm0|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 blendvps, 3, 0x660f3814, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Acc|Xmmword, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 blendvps, 2, 0x660f3814, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 dppd, 3, 0x6641, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
@@ -1673,8 +1661,8 @@ mpsadbw, 3, 0x6642, None, 1, CpuAVX, Mod
 mpsadbw, 3, 0x660f3a42, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 packusdw, 2, 0x662b, None, 1, CpuAVX, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 packusdw, 2, 0x660f382b, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
-pblendvb, 3, 0x664c, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt|SSE2AVX, { Acc|Xmmword, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
-pblendvb, 2, 0x664c, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Implicit1stXmm0|VexImmExt|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
+pblendvb, 3, 0x664c, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Acc|Xmmword, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
+pblendvb, 2, 0x664c, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Implicit1stXmm0|SSE2AVX, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 pblendvb, 3, 0x660f3810, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Acc|Xmmword, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 pblendvb, 2, 0x660f3810, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
 pblendw, 3, 0x660e, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM }
@@ -1842,14 +1830,14 @@ vaddsd, 3, 0xf258, None, 1, CpuAVX, Modr
 vaddss, 3, 0xf358, None, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vaddsubpd, 3, 0x66d0, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vaddsubps, 3, 0xf2d0, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
-vandnpd, 3, 0x6655, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
-vandnps, 3, 0x55, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vandnpd, 3, 0x6655, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vandnps, 3, 0x55, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vandpd, 3, 0x6654, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vandps, 3, 0x54, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vblendpd, 4, 0x660d, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vblendps, 4, 0x660c, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
-vblendvpd, 4, 0x664b, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
-vblendvps, 4, 0x664a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vblendvpd, 4, 0x664b, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vblendvps, 4, 0x664a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vbroadcastf128, 2, 0x661a, None, 1, CpuAVX, Modrm|Vex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex, RegYMM }
 vbroadcastsd, 2, 0x6619, None, 1, CpuAVX, Modrm|Vex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegYMM }
 vbroadcastss, 2, 0x6618, None, 1, CpuAVX, Modrm|Vex|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegXMM|RegYMM }
@@ -1987,21 +1975,22 @@ vcmpunord_ssd, 3, 0xf2c2, 0x13, 1, CpuAV
 vcmpunord_sss, 3, 0xf3c2, 0x13, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vcomisd, 2, 0x662f, None, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM }
 vcomiss, 2, 0x2f, None, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM }
-vcvtdq2pd, 2, 0xf3e6, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM }
-vcvtdq2pd, 2, 0xf3e6, None, 1, CpuAVX, Modrm|Vex=2|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegYMM }
+vcvtdq2pd, 2, 0xf3e6, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegYMM }
+vcvtdq2pd, 2, 0xf3e6, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM }
+vcvtdq2pd, 2, 0xf3e6, None, 1, CpuAVX, Modrm|Vex=2|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex, RegYMM }
 vcvtdq2ps, 2, 0x5b, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM }
 vcvtpd2dq, 2, 0xf2e6, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM }
 vcvtpd2dq, 2, 0xf2e6, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IntelSyntax, { Xmmword|Ymmword|BaseIndex, RegXMM }
 vcvtpd2dqx, 2, 0xf2e6, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Unspecified|BaseIndex|RegXMM, RegXMM }
 vcvtpd2dqy, 2, 0xf2e6, None, 1, CpuAVX, Modrm|Vex=2|VexOpcode=0|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Unspecified|BaseIndex|RegYMM, RegXMM }
 vcvtpd2ps, 2, 0x665a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM }
-vcvtpd2ps, 2, 0x665a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IntelSyntax, { Xmmword|BaseIndex, RegXMM }
-vcvtpd2ps, 2, 0x665a, None, 1, CpuAVX, Modrm|Vex=2|VexOpcode=0|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IntelSyntax, { Ymmword|BaseIndex, RegXMM }
+vcvtpd2ps, 2, 0x665a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IntelSyntax, { Xmmword|Ymmword|BaseIndex, RegXMM }
 vcvtpd2psx, 2, 0x665a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Unspecified|BaseIndex|RegXMM, RegXMM }
 vcvtpd2psy, 2, 0x665a, None, 1, CpuAVX, Modrm|Vex=2|VexOpcode=0|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Unspecified|BaseIndex|RegYMM, RegXMM }
 vcvtps2dq, 2, 0x665b, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM }
-vcvtps2pd, 2, 0x5a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM }
-vcvtps2pd, 2, 0x5a, None, 1, CpuAVX, Modrm|Vex=2|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegYMM }
+vcvtps2pd, 2, 0x5a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegYMM }
+vcvtps2pd, 2, 0x5a, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM }
+vcvtps2pd, 2, 0x5a, None, 1, CpuAVX, Modrm|Vex=2|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex, RegYMM }
 vcvtsd2si, 2, 0xf22d, None, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|ToDword, { Qword|Unspecified|BaseIndex|RegXMM, Reg32|Reg64 }
 vcvtsd2ss, 3, 0xf25a, None, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vcvtsi2sd, 3, 0xf22a, None, 1, CpuAVX|CpuNo64, Modrm|Vex=3|VexOpcode=0|VexVVVV=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
@@ -2057,9 +2046,9 @@ vmovaps, 2, 0x29, None, 1, CpuAVX, Modrm
 // support assembler for AMD64, we accept 64bit operand on vmovd so
 // that we can use one template for both SSE and AVX instructions.
 vmovd, 2, 0x666e, None, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Dword|Unspecified|BaseIndex, RegXMM }
-vmovd, 2, 0x666e, None, 1, CpuAVX|Cpu64, Modrm|Vex=3|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg64|Qword|BaseIndex, RegXMM }
+vmovd, 2, 0x666e, None, 1, CpuAVX|Cpu64, Modrm|Vex=3|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Size64, { Reg64, RegXMM }
 vmovd, 2, 0x667e, None, 1, CpuAVX, Modrm|Vex=3|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|Reg32|BaseIndex }
-vmovd, 2, 0x667e, None, 1, CpuAVX|Cpu64, Modrm|Vex=3|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { RegXMM, Qword|Reg64|BaseIndex }
+vmovd, 2, 0x667e, None, 1, CpuAVX|Cpu64, Modrm|Vex=3|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Size64, { RegXMM, Reg64|RegMem }
 vmovddup, 2, 0xf212, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM }
 vmovddup, 2, 0xf212, None, 1, CpuAVX, Modrm|Vex=2|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM }
 vmovdqa, 2, 0x666f, None, 1, CpuAVX, Load|Modrm|Vex|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM }
@@ -2127,7 +2116,7 @@ vpand, 3, 0x66db, None, 1, CpuAVX, Modrm
 vpandn, 3, 0x66df, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vpavgb, 3, 0x66e0, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vpavgw, 3, 0x66e3, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vpblendvb, 4, 0x664c, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
+vpblendvb, 4, 0x664c, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vpblendw, 4, 0x660e, None, 1, CpuAVX, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vpcmpeqb, 3, 0x6674, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vpcmpeqd, 3, 0x6676, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
@@ -2274,8 +2263,8 @@ vunpckhpd, 3, 0x6615, None, 1, CpuAVX, M
 vunpckhps, 3, 0x15, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vunpcklpd, 3, 0x6614, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vunpcklps, 3, 0x14, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
-vxorpd, 3, 0x6657, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
-vxorps, 3, 0x57, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vxorpd, 3, 0x6657, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vxorps, 3, 0x57, None, 1, CpuAVX, Modrm|Vex|VexOpcode=0|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vzeroall, 0, 0x77, None, 1, CpuAVX, Vex=2|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
 vzeroupper, 0, 0x77, None, 1, CpuAVX, Vex|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
 
@@ -2300,10 +2289,10 @@ vpaddusb, 3, 0x66dc, None, 1, CpuAVX2, M
 vpaddusw, 3, 0x66dd, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpalignr, 4, 0x660f, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpand, 3, 0x66db, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vpandn, 3, 0x66df, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vpandn, 3, 0x66df, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpavgb, 3, 0x66e0, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpavgw, 3, 0x66e3, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vpblendvb, 4, 0x664c, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexSources=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vpblendvb, 4, 0x664c, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexSources=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpblendw, 4, 0x660e, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpcmpeqb, 3, 0x6674, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpcmpeqd, 3, 0x6676, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
@@ -2380,14 +2369,14 @@ vpsrlq, 3, 0x6673, 0x2, 1, CpuAVX2, Modr
 vpsrlq, 3, 0x66d3, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegYMM, RegYMM }
 vpsrlw, 3, 0x6671, 0x2, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
 vpsrlw, 3, 0x66d1, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegYMM, RegYMM }
-vpsubb, 3, 0x66f8, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vpsubd, 3, 0x66fa, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vpsubq, 3, 0x66fb, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vpsubb, 3, 0x66f8, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vpsubd, 3, 0x66fa, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vpsubq, 3, 0x66fb, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpsubsb, 3, 0x66e8, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpsubsw, 3, 0x66e9, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpsubusb, 3, 0x66d8, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpsubusw, 3, 0x66d9, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vpsubw, 3, 0x66f9, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vpsubw, 3, 0x66f9, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpunpckhbw, 3, 0x6668, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpunpckhdq, 3, 0x666a, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpunpckhqdq, 3, 0x666d, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
@@ -2396,7 +2385,7 @@ vpunpcklbw, 3, 0x6660, None, 1, CpuAVX2,
 vpunpckldq, 3, 0x6662, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpunpcklqdq, 3, 0x666c, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 vpunpcklwd, 3, 0x6661, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vpxor, 3, 0x66ef, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vpxor, 3, 0x66ef, None, 1, CpuAVX2, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 
 // New AVX2 instructions.
 
@@ -2462,14 +2451,9 @@ vpclmulhqhqdq, 3, 0x6644, 0x11, 1, CpuAV
 
 // GFNI + AVX
 
-vgf2p8affineinvqb, 4, 0x66cf, None, 1, CpuAVX|CpuGFNI, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vgf2p8affineinvqb, 4, 0x66cf, None, 1, CpuAVX|CpuGFNI, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-
-vgf2p8affineqb, 4, 0x66ce, None, 1, CpuAVX|CpuGFNI, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vgf2p8affineqb, 4, 0x66ce, None, 1, CpuAVX|CpuGFNI, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-
-vgf2p8mulb, 3, 0x66cf, None, 1, CpuAVX|CpuGFNI, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vgf2p8mulb, 3, 0x66cf, None, 1, CpuAVX|CpuGFNI, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vgf2p8affineinvqb, 4, 0x66cf, None, 1, CpuAVX|CpuGFNI, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vgf2p8affineqb, 4, 0x66ce, None, 1, CpuAVX|CpuGFNI, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vgf2p8mulb, 3, 0x66cf, None, 1, CpuAVX|CpuGFNI, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 
 // FSGSBASE, RDRND and F16C
 
@@ -2485,96 +2469,60 @@ vcvtps2ph, 3, 0x661d, None, 1, CpuF16C, 
 
 // FMA instructions
 
-vfmadd132pd, 3, 0x6698, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmadd132pd, 3, 0x6698, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmadd132ps, 3, 0x6698, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmadd132ps, 3, 0x6698, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmadd213pd, 3, 0x66a8, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmadd213pd, 3, 0x66a8, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmadd213ps, 3, 0x66a8, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmadd213ps, 3, 0x66a8, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmadd231pd, 3, 0x66b8, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmadd231pd, 3, 0x66b8, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmadd231ps, 3, 0x66b8, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmadd231ps, 3, 0x66b8, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vfmadd132pd, 3, 0x6698, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmadd132ps, 3, 0x6698, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmadd213pd, 3, 0x66a8, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmadd213ps, 3, 0x66a8, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmadd231pd, 3, 0x66b8, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmadd231ps, 3, 0x66b8, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vfmadd132sd, 3, 0x6699, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfmadd132ss, 3, 0x6699, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfmadd213sd, 3, 0x66a9, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfmadd213ss, 3, 0x66a9, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfmadd231sd, 3, 0x66b9, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfmadd231ss, 3, 0x66b9, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddsub132pd, 3, 0x6696, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddsub132pd, 3, 0x6696, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmaddsub132ps, 3, 0x6696, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddsub132ps, 3, 0x6696, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmaddsub213pd, 3, 0x66a6, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddsub213pd, 3, 0x66a6, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmaddsub213ps, 3, 0x66a6, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddsub213ps, 3, 0x66a6, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmaddsub231pd, 3, 0x66b6, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddsub231pd, 3, 0x66b6, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmaddsub231ps, 3, 0x66b6, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddsub231ps, 3, 0x66b6, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsubadd132pd, 3, 0x6697, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsubadd132pd, 3, 0x6697, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsubadd132ps, 3, 0x6697, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsubadd132ps, 3, 0x6697, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsubadd213pd, 3, 0x66a7, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsubadd213pd, 3, 0x66a7, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsubadd213ps, 3, 0x66a7, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsubadd213ps, 3, 0x66a7, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsubadd231pd, 3, 0x66b7, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsubadd231pd, 3, 0x66b7, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsubadd231ps, 3, 0x66b7, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsubadd231ps, 3, 0x66b7, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsub132pd, 3, 0x669a, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsub132pd, 3, 0x669a, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsub132ps, 3, 0x669a, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsub132ps, 3, 0x669a, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsub213pd, 3, 0x66aa, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsub213pd, 3, 0x66aa, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsub213ps, 3, 0x66aa, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsub213ps, 3, 0x66aa, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsub231pd, 3, 0x66ba, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsub231pd, 3, 0x66ba, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsub231ps, 3, 0x66ba, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsub231ps, 3, 0x66ba, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vfmaddsub132pd, 3, 0x6696, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddsub132ps, 3, 0x6696, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddsub213pd, 3, 0x66a6, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddsub213ps, 3, 0x66a6, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddsub231pd, 3, 0x66b6, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddsub231ps, 3, 0x66b6, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubadd132pd, 3, 0x6697, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubadd132ps, 3, 0x6697, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubadd213pd, 3, 0x66a7, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubadd213ps, 3, 0x66a7, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubadd231pd, 3, 0x66b7, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubadd231ps, 3, 0x66b7, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsub132pd, 3, 0x669a, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsub132ps, 3, 0x669a, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsub213pd, 3, 0x66aa, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsub213ps, 3, 0x66aa, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsub231pd, 3, 0x66ba, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsub231ps, 3, 0x66ba, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vfmsub132sd, 3, 0x669b, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfmsub132ss, 3, 0x669b, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfmsub213sd, 3, 0x66ab, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfmsub213ss, 3, 0x66ab, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfmsub231sd, 3, 0x66bb, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfmsub231ss, 3, 0x66bb, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmadd132pd, 3, 0x669c, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmadd132pd, 3, 0x669c, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmadd132ps, 3, 0x669c, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmadd132ps, 3, 0x669c, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmadd213pd, 3, 0x66ac, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmadd213pd, 3, 0x66ac, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmadd213ps, 3, 0x66ac, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmadd213ps, 3, 0x66ac, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmadd231pd, 3, 0x66bc, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmadd231pd, 3, 0x66bc, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmadd231ps, 3, 0x66bc, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmadd231ps, 3, 0x66bc, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vfnmadd132pd, 3, 0x669c, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmadd132ps, 3, 0x669c, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmadd213pd, 3, 0x66ac, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmadd213ps, 3, 0x66ac, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmadd231pd, 3, 0x66bc, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmadd231ps, 3, 0x66bc, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vfnmadd132sd, 3, 0x669d, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfnmadd132ss, 3, 0x669d, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfnmadd213sd, 3, 0x66ad, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfnmadd213ss, 3, 0x66ad, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfnmadd231sd, 3, 0x66bd, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfnmadd231ss, 3, 0x66bd, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmsub132pd, 3, 0x669e, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmsub132pd, 3, 0x669e, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmsub132ps, 3, 0x669e, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmsub132ps, 3, 0x669e, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmsub213pd, 3, 0x66ae, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmsub213pd, 3, 0x66ae, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmsub213ps, 3, 0x66ae, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmsub213ps, 3, 0x66ae, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmsub231pd, 3, 0x66be, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmsub231pd, 3, 0x66be, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmsub231ps, 3, 0x66be, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmsub231ps, 3, 0x66be, None, 1, CpuFMA, Modrm|Vex=2|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vfnmsub132pd, 3, 0x669e, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmsub132ps, 3, 0x669e, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmsub213pd, 3, 0x66ae, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmsub213ps, 3, 0x66ae, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmsub231pd, 3, 0x66be, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmsub231ps, 3, 0x66be, None, 1, CpuFMA, Modrm|Vex|VexOpcode=1|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vfnmsub132sd, 3, 0x669f, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfnmsub132ss, 3, 0x669f, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 vfnmsub213sd, 3, 0x66af, None, 1, CpuFMA, Modrm|Vex=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
@@ -2605,85 +2553,57 @@ shrx, 3, 0xf2f7, None, 1, CpuBMI2, Modrm
 
 // FMA4 instructions
 
-vfmaddpd, 4, 0x6669, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmaddpd, 4, 0x6669, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddpd, 4, 0x6669, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfmaddpd, 4, 0x6669, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmaddps, 4, 0x6668, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmaddps, 4, 0x6668, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddps, 4, 0x6668, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfmaddps, 4, 0x6668, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmaddsd, 4, 0x666b, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmaddsd, 4, 0x666b, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddss, 4, 0x666a, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmaddss, 4, 0x666a, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddsubpd, 4, 0x665d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmaddsubpd, 4, 0x665d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddsubpd, 4, 0x665d, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfmaddsubpd, 4, 0x665d, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmaddsubps, 4, 0x665c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmaddsubps, 4, 0x665c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmaddsubps, 4, 0x665c, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfmaddsubps, 4, 0x665c, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsubaddpd, 4, 0x665f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmsubaddpd, 4, 0x665f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsubaddpd, 4, 0x665f, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfmsubaddpd, 4, 0x665f, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsubaddps, 4, 0x665e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmsubaddps, 4, 0x665e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsubaddps, 4, 0x665e, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfmsubaddps, 4, 0x665e, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsubpd, 4, 0x666d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmsubpd, 4, 0x666d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsubpd, 4, 0x666d, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfmsubpd, 4, 0x666d, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsubps, 4, 0x666c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmsubps, 4, 0x666c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsubps, 4, 0x666c, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfmsubps, 4, 0x666c, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfmsubsd, 4, 0x666f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmsubsd, 4, 0x666f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfmsubss, 4, 0x666e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfmsubss, 4, 0x666e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmaddpd, 4, 0x6679, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfnmaddpd, 4, 0x6679, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmaddpd, 4, 0x6679, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfnmaddpd, 4, 0x6679, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmaddps, 4, 0x6678, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfnmaddps, 4, 0x6678, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmaddps, 4, 0x6678, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfnmaddps, 4, 0x6678, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmaddsd, 4, 0x667b, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfnmaddsd, 4, 0x667b, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmaddss, 4, 0x667a, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfnmaddss, 4, 0x667a, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmsubpd, 4, 0x667d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfnmsubpd, 4, 0x667d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmsubpd, 4, 0x667d, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfnmsubpd, 4, 0x667d, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmsubps, 4, 0x667c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfnmsubps, 4, 0x667c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmsubps, 4, 0x667c, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vfnmsubps, 4, 0x667c, None, 1, CpuFMA4, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vfnmsubsd, 4, 0x667f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfnmsubsd, 4, 0x667f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vfnmsubss, 4, 0x667e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vfnmsubss, 4, 0x667e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {RegXMM, Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
+vfmaddpd, 4, 0x6669, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddpd, 4, 0x6669, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddps, 4, 0x6668, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddps, 4, 0x6668, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddsd, 4, 0x666b, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
+vfmaddsd, 4, 0x666b, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM, Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
+vfmaddss, 4, 0x666a, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
+vfmaddss, 4, 0x666a, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM, Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
+vfmaddsubpd, 4, 0x665d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddsubpd, 4, 0x665d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddsubps, 4, 0x665c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmaddsubps, 4, 0x665c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubaddpd, 4, 0x665f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubaddpd, 4, 0x665f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubaddps, 4, 0x665e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubaddps, 4, 0x665e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubpd, 4, 0x666d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubpd, 4, 0x666d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubps, 4, 0x666c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubps, 4, 0x666c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfmsubsd, 4, 0x666f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
+vfmsubsd, 4, 0x666f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM, Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
+vfmsubss, 4, 0x666e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
+vfmsubss, 4, 0x666e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM, Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
+vfnmaddpd, 4, 0x6679, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmaddpd, 4, 0x6679, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmaddps, 4, 0x6678, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmaddps, 4, 0x6678, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmaddsd, 4, 0x667b, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
+vfnmaddsd, 4, 0x667b, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM, Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
+vfnmaddss, 4, 0x667a, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
+vfnmaddss, 4, 0x667a, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM, Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
+vfnmsubpd, 4, 0x667d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmsubpd, 4, 0x667d, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmsubps, 4, 0x667c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmsubps, 4, 0x667c, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vfnmsubsd, 4, 0x667f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
+vfnmsubsd, 4, 0x667f, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM, Qword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
+vfnmsubss, 4, 0x667e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
+vfnmsubss, 4, 0x667e, None, 1, CpuFMA4, Modrm|Vex|VexOpcode=2|VexVVVV=1|VexW=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {RegXMM, Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
 
 // XOP instructions
 // We add Imm8 to Vex_Imm4.  We use Imm8 to indicate that the operand
 // is an immediate.  We will check if its value will fit 4 bits.
 
-vfrczpd,    2, 0x81, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex,   { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vfrczpd,    2, 0x81, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex=2, { Ymmword|RegYMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegYMM }
-vfrczps,    2, 0x80, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex,   { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vfrczps,    2, 0x80, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex=2, { Ymmword|RegYMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegYMM }
-vfrczsd,    2, 0x83, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex,   { Qword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vfrczss,    2, 0x82, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex,   { Dword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vpcmov,     4, 0xa2, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex,   { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpcmov,     4, 0xa2, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex=2, { RegYMM, Ymmword|RegYMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpcmov,     4, 0xa2, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex,   { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM, RegXMM }
-vpcmov,     4, 0xa2, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex=2, { Ymmword|RegYMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegYMM, RegYMM, RegYMM }
+vfrczpd,    2, 0x81, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM }
+vfrczps,    2, 0x80, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM }
+vfrczsd,    2, 0x83, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex,   { Qword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vfrczss,    2, 0x82, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex,   { Dword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vpcmov,     4, 0xa2, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vpcmov,     4, 0xa2, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vpcomb,     4, 0xcc, None, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Imm8, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpcomd,     4, 0xce, None, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Imm8, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpcomq,     4, 0xcf, None, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Imm8, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
@@ -2692,14 +2612,10 @@ vpcomud,    4, 0xee, None, 1, CpuXOP, Mo
 vpcomuq,    4, 0xef, None, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Imm8, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpcomuw,    4, 0xed, None, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Imm8, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpcomw,     4, 0xcd, None, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Imm8, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpermil2pd, 5, 0x6649, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=1|Vex=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { Imm8|Vec_Imm4, RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vpermil2pd, 5, 0x6649, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=2|Vex=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { Imm8|Vec_Imm4, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vpermil2pd, 5, 0x6649, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=1|Vex=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { Imm8|Vec_Imm4, RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vpermil2pd, 5, 0x6649, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=2|Vex=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { Imm8|Vec_Imm4, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
-vpermil2ps, 5, 0x6648, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=1|Vex=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { Imm8|Vec_Imm4, RegXMM, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
-vpermil2ps, 5, 0x6648, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=2|Vex=1|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { Imm8|Vec_Imm4, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM, RegXMM }
-vpermil2ps, 5, 0x6648, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=1|Vex=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { Imm8|Vec_Imm4, RegYMM, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
-vpermil2ps, 5, 0x6648, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=2|Vex=2|VexSources=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, { Imm8|Vec_Imm4, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM, RegYMM }
+vpermil2pd, 5, 0x6649, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=1|Vex|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8|Vec_Imm4, RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vpermil2pd, 5, 0x6649, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=2|Vex|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8|Vec_Imm4, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vpermil2ps, 5, 0x6648, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=1|Vex|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8|Vec_Imm4, RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
+vpermil2ps, 5, 0x6648, None, 1, CpuXOP, Modrm|VexOpcode=2|VexVVVV=1|VexW=2|Vex|VexSources=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8|Vec_Imm4, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
 vpcomltb,   3, 0xcc, 0x0, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex|ImmExt, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpcomltd,   3, 0xce, 0x0, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex|ImmExt, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpcomltq,   3, 0xcf, 0x0, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex|ImmExt, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
@@ -2764,74 +2680,70 @@ vpcomtrueud,  3, 0xee, 0x7, 1, CpuXOP, M
 vpcomtrueuq,  3, 0xef, 0x7, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex|ImmExt, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpcomtrueuw,  3, 0xed, 0x7, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex|ImmExt, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpcomtruew,   3, 0xcd, 0x7, 1, CpuXOP, Modrm|VexOpcode=3|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex|ImmExt, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
-vphaddbd,   2, 0xc2, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphaddbq,   2, 0xc3, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphaddbw,   2, 0xc1, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphadddq,   2, 0xcb, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphaddubd,  2, 0xd2, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphaddubq,  2, 0xd3, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphaddubw,  2, 0xd1, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphaddudq,  2, 0xdb, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphadduwd,  2, 0xd6, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphadduwq,  2, 0xd7, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphaddwd,   2, 0xc6, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphaddwq,   2, 0xc7, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphsubbw,   2, 0xe1, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphsubdq,   2, 0xe3, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vphsubwd,   2, 0xe2, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vpmacsdd,   4, 0x9e, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmacsdqh,  4, 0x9f, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmacsdql,  4, 0x97, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmacssdd,  4, 0x8e, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmacssdqh, 4, 0x8f, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmacssdql, 4, 0x87, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmacsswd,  4, 0x86, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmacssww,  4, 0x85, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmacswd,   4, 0x96, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmacsww,   4, 0x95, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmadcsswd, 4, 0xa6, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmadcswd,  4, 0xb6, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpperm,     4, 0xa3, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpperm,     4, 0xa3, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexImmExt|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM, RegXMM }
-vprotb,     3, 0x90, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vprotb,     3, 0x90, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vprotb,     3, 0xc0, None, 1, CpuXOP, Modrm|VexOpcode=3|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vprotd,     3, 0x92, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vprotd,     3, 0x92, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vprotd,     3, 0xc2, None, 1, CpuXOP, Modrm|VexOpcode=3|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vprotq,     3, 0x93, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vprotq,     3, 0x93, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vprotq,     3, 0xc3, None, 1, CpuXOP, Modrm|VexOpcode=3|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vprotw,     3, 0x91, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vprotw,     3, 0x91, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vprotw,     3, 0xc1, None, 1, CpuXOP, Modrm|VexOpcode=3|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vpshab,     3, 0x98, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vpshab,     3, 0x98, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshad,     3, 0x9a, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vpshad,     3, 0x9a, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshaq,     3, 0x9b, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vpshaq,     3, 0x9b, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshaw,     3, 0x99, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vpshaw,     3, 0x99, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshlb,     3, 0x94, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vpshlb,     3, 0x94, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshld,     3, 0x96, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vpshld,     3, 0x96, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshlq,     3, 0x97, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vpshlq,     3, 0x97, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshlw,     3, 0x95, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-vpshlw,     3, 0x95, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
+vphaddbd,   2, 0xc2, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphaddbq,   2, 0xc3, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphaddbw,   2, 0xc1, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphadddq,   2, 0xcb, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphaddubd,  2, 0xd2, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphaddubq,  2, 0xd3, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphaddubw,  2, 0xd1, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphaddudq,  2, 0xdb, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphadduwd,  2, 0xd6, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphadduwq,  2, 0xd7, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphaddwd,   2, 0xc6, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphaddwq,   2, 0xc7, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphsubbw,   2, 0xe1, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphsubdq,   2, 0xe3, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vphsubwd,   2, 0xe2, None, 1, CpuXOP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vpmacsdd,   4, 0x9e, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmacsdqh,  4, 0x9f, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmacsdql,  4, 0x97, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmacssdd,  4, 0x8e, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmacssdqh, 4, 0x8f, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmacssdql, 4, 0x87, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmacsswd,  4, 0x86, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmacssww,  4, 0x85, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmacswd,   4, 0x96, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmacsww,   4, 0x95, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmadcsswd, 4, 0xa6, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmadcswd,  4, 0xb6, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpperm,     4, 0xa3, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpperm,     4, 0xa3, None, 1, CpuXOP, Modrm|VexOpcode=3|VexSources=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM, RegXMM }
+vprotb,     3, 0x90, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vprotb,     3, 0x90, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vprotb,     3, 0xc0, None, 1, CpuXOP, Modrm|VexOpcode=3|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Imm8, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vprotd,     3, 0x92, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vprotd,     3, 0x92, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vprotd,     3, 0xc2, None, 1, CpuXOP, Modrm|VexOpcode=3|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Imm8, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vprotq,     3, 0x93, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vprotq,     3, 0x93, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vprotq,     3, 0xc3, None, 1, CpuXOP, Modrm|VexOpcode=3|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Imm8, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vprotw,     3, 0x91, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vprotw,     3, 0x91, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vprotw,     3, 0xc1, None, 1, CpuXOP, Modrm|VexOpcode=3|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Imm8, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vpshab,     3, 0x98, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vpshab,     3, 0x98, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshad,     3, 0x9a, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vpshad,     3, 0x9a, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshaq,     3, 0x9b, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vpshaq,     3, 0x9b, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshaw,     3, 0x99, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vpshaw,     3, 0x99, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshlb,     3, 0x94, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vpshlb,     3, 0x94, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshld,     3, 0x96, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vpshld,     3, 0x96, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshlq,     3, 0x97, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vpshlq,     3, 0x97, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshlw,     3, 0x95, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=1|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { RegXMM, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+vpshlw,     3, 0x95, None, 1, CpuXOP, Modrm|VexOpcode=4|VexW=2|VexSources=1|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Vex, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
 
 // LWP instructions
 
-llwpcb, 1, 0x12, 0x0, 1, CpuLWP, Modrm|VexOpcode=4|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Reg32 }
-llwpcb, 1, 0x12, 0x0, 1, CpuLWP, Modrm|VexOpcode=4|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|Vex, { Reg64 }
-slwpcb, 1, 0x12, 0x1, 1, CpuLWP, Modrm|VexOpcode=4|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Reg32 }
-slwpcb, 1, 0x12, 0x1, 1, CpuLWP, Modrm|VexOpcode=4|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|Vex, { Reg64 }
-lwpval, 3, 0x12, 0x1, 1, CpuLWP, Modrm|VexOpcode=5|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexVVVV=3|Vex, { Imm32|Imm32S, Dword|Reg32|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32 }
-lwpval, 3, 0x12, 0x1, 1, CpuLWP, Modrm|VexOpcode=5|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexVVVV=3|NoRex64|Vex, { Imm32|Imm32S, Dword|Reg32|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg64 }
-lwpins, 3, 0x12, 0x0, 1, CpuLWP, Modrm|VexOpcode=5|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexVVVV=3|Vex, { Imm32|Imm32S, Dword|Reg32|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32 }
-lwpins, 3, 0x12, 0x0, 1, CpuLWP, Modrm|VexOpcode=5|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexVVVV=3|NoRex64|Vex, { Imm32|Imm32S, Dword|Reg32|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg64 }
+llwpcb, 1, 0x12, 0x0, 1, CpuLWP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Reg32|Reg64 }
+slwpcb, 1, 0x12, 0x1, 1, CpuLWP, Modrm|VexOpcode=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Vex, { Reg32|Reg64 }
+lwpval, 3, 0x12, 0x1, 1, CpuLWP, Modrm|VexOpcode=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexVVVV=3|Vex, { Imm32|Imm32S, Reg32|Unspecified|BaseIndex, Reg32|Reg64 }
+lwpins, 3, 0x12, 0x0, 1, CpuLWP, Modrm|VexOpcode=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexVVVV=3|Vex, { Imm32|Imm32S, Reg32|Unspecified|BaseIndex, Reg32|Reg64 }
 
 // BMI instructions
 
@@ -2843,16 +2755,16 @@ blsr, 2, 0xf3, 0x1, 1, CpuBMI, Modrm|Che
 tzcnt, 2, 0xf30fbc, None, 2, CpuBMI, Modrm|CheckRegSize|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
 
 // TBM instructions
-bextr,  3, 0x10,   None, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=5|VexVVVV=0|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Imm32|Imm32S, Reg32|Reg64|Dword|Qword|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32|Reg64 }
-blcfill, 2, 0x01,   0x1, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32|Reg64 }
-blci,  2, 0x02,   0x6, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32|Reg64 }
-blcic,  2, 0x01,   0x5, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32|Reg64 }
-blcmsk, 2, 0x02,   0x1, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32|Reg64 }
-blcs,  2, 0x01,   0x3, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32|Reg64 }
-blsfill, 2, 0x01,   0x2, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32|Reg64 }
-blsic,  2, 0x01,   0x6, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32|Reg64 }
-t1mskc, 2, 0x01,   0x7, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32|Reg64 }
-tzmsk,  2, 0x01,   0x4, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, Reg32|Reg64 }
+bextr,  3, 0x10,   None, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=5|VexVVVV=0|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Imm32|Imm32S, Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+blcfill, 2, 0x01,   0x1, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+blci,  2, 0x02,   0x6, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+blcic,  2, 0x01,   0x5, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+blcmsk, 2, 0x02,   0x1, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+blcs,  2, 0x01,   0x3, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+blsfill, 2, 0x01,   0x2, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+blsic,  2, 0x01,   0x6, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+t1mskc, 2, 0x01,   0x7, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+tzmsk,  2, 0x01,   0x4, 1, CpuTBM, Modrm|CheckRegSize|Vex=3|VexOpcode=4|VexVVVV=2|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
 
 // AMD 3DNow! instructions.
 
@@ -2895,17 +2807,17 @@ rdtscp, 0, 0xf01, 0xf9, 2, CpuRdtscp, No
 // AMD Pacifica additions.
 clgi, 0, 0xf01, 0xdd, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 }
 invlpga, 0, 0xf01, 0xdf, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 }
-invlpga, 2, 0xf01, 0xdf, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOp0|NoRex64, { Reg32|Reg64, Reg32 }
+invlpga, 2, 0xf01, 0xdf, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOpReg|NoRex64, { Reg32|Reg64, Reg32 }
 skinit, 0, 0xf01, 0xde, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 }
 skinit, 1, 0xf01, 0xde, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Reg32 }
 stgi, 0, 0xf01, 0xdc, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 }
 vmload, 0, 0xf01, 0xda, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 }
-vmload, 1, 0xf01, 0xda, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOp0|NoRex64, { Reg32|Reg64 }
+vmload, 1, 0xf01, 0xda, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOpReg|NoRex64, { Reg32|Reg64 }
 vmmcall, 0, 0xf01, 0xd9, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 }
 vmrun, 0, 0xf01, 0xd8, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 }
-vmrun, 1, 0xf01, 0xd8, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOp0|NoRex64, { Reg32|Reg64 }
+vmrun, 1, 0xf01, 0xd8, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOpReg|NoRex64, { Reg32|Reg64 }
 vmsave, 0, 0xf01, 0xdb, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 }
-vmsave, 1, 0xf01, 0xdb, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOp0|NoRex64, { Reg32|Reg64 }
+vmsave, 1, 0xf01, 0xdb, 2, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOpReg|NoRex64, { Reg32|Reg64 }
 
 
 // SSE4a instructions
@@ -2954,8 +2866,8 @@ bnd, 0, 0xf2, None, 1, CpuMPX, No_bSuf|N
 
 // MPX instructions.
 bndmk, 2, 0xf30f1b, None, 2, CpuMPX, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Anysize|BaseIndex, RegBND }
-bndmov, 2, 0x660f1a, None, 2, CpuMPX, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoAVX, { Xmmword|Unspecified|BaseIndex|RegBND, RegBND }
-bndmov, 2, 0x660f1b, None, 2, CpuMPX, Load|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegBND, Xmmword|Unspecified|BaseIndex|RegBND }
+bndmov, 2, 0x660f1a, None, 2, CpuMPX, Load|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|RegBND, RegBND }
+bndmov, 2, 0x660f1b, None, 2, CpuMPX, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegBND, Xmmword|Unspecified|BaseIndex|RegBND }
 bndcl, 2, 0xf30f1a, None, 2, CpuMPX|CpuNo64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Anysize|BaseIndex, RegBND }
 bndcl, 2, 0xf30f1a, None, 2, CpuMPX|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg64|Anysize|BaseIndex, RegBND }
 bndcu, 2, 0xf20f1a, None, 2, CpuMPX|CpuNo64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Anysize|BaseIndex, RegBND }
@@ -2966,18 +2878,18 @@ bndstx, 2, 0x0f1b, None, 2, CpuMPX, Modr
 bndldx, 2, 0x0f1a, None, 2, CpuMPX, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Anysize|BaseIndex, RegBND }
 
 // SHA instructions.
-sha1rnds4, 3, 0xf3acc, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-sha1nexte, 2, 0xf38c8, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-sha1msg1, 2, 0xf38c9, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-sha1msg2, 2, 0xf38ca, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-sha256rnds2, 3, 0xf38cb, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Acc|Xmmword, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-sha256rnds2, 2, 0xf38cb, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-sha256msg1, 2, 0xf38cc, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
-sha256msg2, 2, 0xf38cd, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
+sha1rnds4, 3, 0xf3acc, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+sha1nexte, 2, 0xf38c8, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+sha1msg1, 2, 0xf38c9, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+sha1msg2, 2, 0xf38ca, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+sha256rnds2, 3, 0xf38cb, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Acc|Xmmword, Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+sha256rnds2, 2, 0xf38cb, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+sha256msg1, 2, 0xf38cc, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
+sha256msg2, 2, 0xf38cd, None, 3, CpuSHA, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|RegXMM|Unspecified|BaseIndex, RegXMM }
 
 // VPCLMULQDQ instructions
 
-vpclmulqdq, 4, 0x6644, None, 1, CpuVPCLMULQDQ, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
+vpclmulqdq, 4, 0x6644, None, 1, CpuVPCLMULQDQ, Modrm|Vex=2|VexOpcode=2|VexVVVV=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Ymmword|Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM }
 
 // VPCLMULQDQ instructions end
 
@@ -3002,34 +2914,34 @@ kshiftrw, 3, 0x6630, None, 1, CpuAVX512F
 
 kunpckbw, 3, 0x664B, None, 1, CpuAVX512F, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
 
-vaddpd, 3, 0x6658, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vaddpd, 4, 0x6658, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vdivpd, 3, 0x665E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vdivpd, 4, 0x665E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vmulpd, 3, 0x6659, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vmulpd, 4, 0x6659, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vsubpd, 3, 0x665C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vsubpd, 4, 0x665C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vaddpd, 3, 0x6658, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vaddpd, 4, 0x6658, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vdivpd, 3, 0x665E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vdivpd, 4, 0x665E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vmulpd, 3, 0x6659, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vmulpd, 4, 0x6659, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vsubpd, 3, 0x665C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vsubpd, 4, 0x665C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
 
-vaddps, 3, 0x58, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vaddps, 3, 0x58, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vaddps, 4, 0x58, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vdivps, 3, 0x5E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vdivps, 3, 0x5E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vdivps, 4, 0x5E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vmulps, 3, 0x59, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vmulps, 3, 0x59, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vmulps, 4, 0x59, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vsubps, 3, 0x5C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vsubps, 3, 0x5C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vsubps, 4, 0x5C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
 
-vaddsd, 3, 0xF258, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vaddsd, 4, 0xF258, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vdivsd, 3, 0xF25E, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vdivsd, 4, 0xF25E, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vmulsd, 3, 0xF259, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vmulsd, 4, 0xF259, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vsqrtsd, 3, 0xF251, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vsqrtsd, 4, 0xF251, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vsubsd, 3, 0xF25C, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vsubsd, 4, 0xF25C, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vaddsd, 3, 0xF258, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vaddsd, 4, 0xF258, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vdivsd, 3, 0xF25E, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vdivsd, 4, 0xF25E, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vmulsd, 3, 0xF259, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vmulsd, 4, 0xF259, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vsqrtsd, 3, 0xF251, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vsqrtsd, 4, 0xF251, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vsubsd, 3, 0xF25C, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vsubsd, 4, 0xF25C, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 
 vaddss, 3, 0xF358, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vaddss, 4, 0xF358, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
@@ -3042,342 +2954,342 @@ vsqrtss, 4, 0xF351, None, 1, CpuAVX512F,
 vsubss, 3, 0xF35C, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vsubss, 4, 0xF35C, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 
-valignd, 4, 0x6603, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpternlogd, 4, 0x6625, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+valignd, 4, 0x6603, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpternlogd, 4, 0x6625, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 
-valignq, 4, 0x6603, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpternlogq, 4, 0x6625, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+valignq, 4, 0x6603, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpternlogq, 4, 0x6625, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 
-vblendmpd, 3, 0x6665, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpblendmq, 3, 0x6664, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpermi2pd, 3, 0x6677, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpermi2q, 3, 0x6676, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpermt2pd, 3, 0x667F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpermt2q, 3, 0x667E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpmaxsq, 3, 0x663D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpmaxuq, 3, 0x663F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpminsq, 3, 0x6639, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpminuq, 3, 0x663B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpmuldq, 3, 0x6628, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vprolvq, 3, 0x6615, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vprorvq, 3, 0x6614, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsllvq, 3, 0x6647, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsravq, 3, 0x6646, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsrlvq, 3, 0x6645, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-
-vblendmps, 3, 0x6665, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpblendmd, 3, 0x6664, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpermi2d, 3, 0x6676, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpermi2ps, 3, 0x6677, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpermt2d, 3, 0x667E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpermt2ps, 3, 0x667F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpmaxsd, 3, 0x663D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpmaxud, 3, 0x663F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpminsd, 3, 0x6639, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpminud, 3, 0x663B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpmulld, 3, 0x6640, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vprolvd, 3, 0x6615, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vprorvd, 3, 0x6614, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsllvd, 3, 0x6647, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsravd, 3, 0x6646, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsrlvd, 3, 0x6645, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-
-vbroadcastf32x4, 2, 0x661A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegZMM }
-vbroadcasti32x4, 2, 0x665A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegZMM }
-
-vbroadcastf64x4, 2, 0x661B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegZMM }
-vbroadcasti64x4, 2, 0x665B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegZMM }
-
-vbroadcastsd, 2, 0x6619, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegZMM }
-
-vbroadcastss, 2, 0x6618, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegZMM }
-vpbroadcastd, 2, 0x6658, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegZMM }
-vpbroadcastd, 2, 0x667C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, RegZMM }
-
-vcmppd, 4, 0x66C2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmppd, 5, 0x66C2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM, RegMask }
-vcmpeqpd, 3, 0x66C2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpeqpd, 4, 0x66C2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpeq_oqpd, 3, 0x66C2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpeq_oqpd, 4, 0x66C2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpeq_ospd, 3, 0x66C2, 16, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpeq_ospd, 4, 0x66C2, 16, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpeq_uqpd, 3, 0x66C2, 8, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpeq_uqpd, 4, 0x66C2, 8, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpeq_uspd, 3, 0x66C2, 24, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpeq_uspd, 4, 0x66C2, 24, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpfalsepd, 3, 0x66C2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpfalsepd, 4, 0x66C2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpfalse_oqpd, 3, 0x66C2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpfalse_oqpd, 4, 0x66C2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpfalse_ospd, 3, 0x66C2, 27, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpfalse_ospd, 4, 0x66C2, 27, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpgepd, 3, 0x66C2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpgepd, 4, 0x66C2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpge_oqpd, 3, 0x66C2, 29, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpge_oqpd, 4, 0x66C2, 29, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpge_ospd, 3, 0x66C2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpge_ospd, 4, 0x66C2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpgtpd, 3, 0x66C2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpgtpd, 4, 0x66C2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpgt_oqpd, 3, 0x66C2, 30, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpgt_oqpd, 4, 0x66C2, 30, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpgt_ospd, 3, 0x66C2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpgt_ospd, 4, 0x66C2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmplepd, 3, 0x66C2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmplepd, 4, 0x66C2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmple_oqpd, 3, 0x66C2, 18, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmple_oqpd, 4, 0x66C2, 18, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmple_ospd, 3, 0x66C2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmple_ospd, 4, 0x66C2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpltpd, 3, 0x66C2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpltpd, 4, 0x66C2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmplt_oqpd, 3, 0x66C2, 17, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmplt_oqpd, 4, 0x66C2, 17, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmplt_ospd, 3, 0x66C2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmplt_ospd, 4, 0x66C2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpneqpd, 3, 0x66C2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpneqpd, 4, 0x66C2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpneq_oqpd, 3, 0x66C2, 12, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpneq_oqpd, 4, 0x66C2, 12, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpneq_ospd, 3, 0x66C2, 28, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpneq_ospd, 4, 0x66C2, 28, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpneq_uqpd, 3, 0x66C2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpneq_uqpd, 4, 0x66C2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpneq_uspd, 3, 0x66C2, 20, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpneq_uspd, 4, 0x66C2, 20, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpngepd, 3, 0x66C2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpngepd, 4, 0x66C2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnge_uqpd, 3, 0x66C2, 25, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpnge_uqpd, 4, 0x66C2, 25, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnge_uspd, 3, 0x66C2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpnge_uspd, 4, 0x66C2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpngtpd, 3, 0x66C2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpngtpd, 4, 0x66C2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpngt_uqpd, 3, 0x66C2, 26, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpngt_uqpd, 4, 0x66C2, 26, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpngt_uspd, 3, 0x66C2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpngt_uspd, 4, 0x66C2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnlepd, 3, 0x66C2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpnlepd, 4, 0x66C2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnle_uqpd, 3, 0x66C2, 22, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpnle_uqpd, 4, 0x66C2, 22, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnle_uspd, 3, 0x66C2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpnle_uspd, 4, 0x66C2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnltpd, 3, 0x66C2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpnltpd, 4, 0x66C2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnlt_uqpd, 3, 0x66C2, 21, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpnlt_uqpd, 4, 0x66C2, 21, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnlt_uspd, 3, 0x66C2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpnlt_uspd, 4, 0x66C2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpordpd, 3, 0x66C2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpordpd, 4, 0x66C2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpord_qpd, 3, 0x66C2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpord_qpd, 4, 0x66C2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpord_spd, 3, 0x66C2, 23, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpord_spd, 4, 0x66C2, 23, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmptruepd, 3, 0x66C2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmptruepd, 4, 0x66C2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmptrue_uqpd, 3, 0x66C2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmptrue_uqpd, 4, 0x66C2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmptrue_uspd, 3, 0x66C2, 31, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmptrue_uspd, 4, 0x66C2, 31, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpunordpd, 3, 0x66C2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpunordpd, 4, 0x66C2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpunord_qpd, 3, 0x66C2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpunord_qpd, 4, 0x66C2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpunord_spd, 3, 0x66C2, 19, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vcmpunord_spd, 4, 0x66C2, 19, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vblendmpd, 3, 0x6665, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpblendmq, 3, 0x6664, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpermi2pd, 3, 0x6677, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpermi2q, 3, 0x6676, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpermt2pd, 3, 0x667F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpermt2q, 3, 0x667E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpmaxsq, 3, 0x663D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpmaxuq, 3, 0x663F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpminsq, 3, 0x6639, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpminuq, 3, 0x663B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpmuldq, 3, 0x6628, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vprolvq, 3, 0x6615, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vprorvq, 3, 0x6614, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsllvq, 3, 0x6647, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsravq, 3, 0x6646, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsrlvq, 3, 0x6645, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+
+vblendmps, 3, 0x6665, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpblendmd, 3, 0x6664, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpermi2d, 3, 0x6676, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpermi2ps, 3, 0x6677, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpermt2d, 3, 0x667E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpermt2ps, 3, 0x667F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpmaxsd, 3, 0x663D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpmaxud, 3, 0x663F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpminsd, 3, 0x6639, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpminud, 3, 0x663B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpmulld, 3, 0x6640, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vprolvd, 3, 0x6615, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vprorvd, 3, 0x6614, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsllvd, 3, 0x6647, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsravd, 3, 0x6646, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsrlvd, 3, 0x6645, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+
+vbroadcastf32x4, 2, 0x661A, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegYMM|RegZMM }
+vbroadcasti32x4, 2, 0x665A, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegYMM|RegZMM }
+
+vbroadcastf64x4, 2, 0x661B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegZMM }
+vbroadcasti64x4, 2, 0x665B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegZMM }
+
+vbroadcastss, 2, 0x6618, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vbroadcastsd, 2, 0x6619, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM }
+
+vpbroadcastd, 2, 0x6658, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vpbroadcastd, 2, 0x667C, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, RegXMM|RegYMM|RegZMM }
+
+vcmppd, 4, 0x66C2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmppd, 5, 0x66C2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM, RegMask }
+vcmpeqpd, 3, 0x66C2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpeqpd, 4, 0x66C2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpeq_oqpd, 3, 0x66C2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpeq_oqpd, 4, 0x66C2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpeq_ospd, 3, 0x66C2, 16, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpeq_ospd, 4, 0x66C2, 16, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpeq_uqpd, 3, 0x66C2, 8, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpeq_uqpd, 4, 0x66C2, 8, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpeq_uspd, 3, 0x66C2, 24, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpeq_uspd, 4, 0x66C2, 24, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpfalsepd, 3, 0x66C2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpfalsepd, 4, 0x66C2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpfalse_oqpd, 3, 0x66C2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpfalse_oqpd, 4, 0x66C2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpfalse_ospd, 3, 0x66C2, 27, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpfalse_ospd, 4, 0x66C2, 27, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpgepd, 3, 0x66C2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpgepd, 4, 0x66C2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpge_oqpd, 3, 0x66C2, 29, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpge_oqpd, 4, 0x66C2, 29, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpge_ospd, 3, 0x66C2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpge_ospd, 4, 0x66C2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpgtpd, 3, 0x66C2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpgtpd, 4, 0x66C2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpgt_oqpd, 3, 0x66C2, 30, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpgt_oqpd, 4, 0x66C2, 30, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpgt_ospd, 3, 0x66C2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpgt_ospd, 4, 0x66C2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmplepd, 3, 0x66C2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmplepd, 4, 0x66C2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmple_oqpd, 3, 0x66C2, 18, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmple_oqpd, 4, 0x66C2, 18, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmple_ospd, 3, 0x66C2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmple_ospd, 4, 0x66C2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpltpd, 3, 0x66C2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpltpd, 4, 0x66C2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmplt_oqpd, 3, 0x66C2, 17, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmplt_oqpd, 4, 0x66C2, 17, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmplt_ospd, 3, 0x66C2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmplt_ospd, 4, 0x66C2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpneqpd, 3, 0x66C2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpneqpd, 4, 0x66C2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpneq_oqpd, 3, 0x66C2, 12, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpneq_oqpd, 4, 0x66C2, 12, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpneq_ospd, 3, 0x66C2, 28, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpneq_ospd, 4, 0x66C2, 28, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpneq_uqpd, 3, 0x66C2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpneq_uqpd, 4, 0x66C2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpneq_uspd, 3, 0x66C2, 20, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpneq_uspd, 4, 0x66C2, 20, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpngepd, 3, 0x66C2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpngepd, 4, 0x66C2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpnge_uqpd, 3, 0x66C2, 25, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnge_uqpd, 4, 0x66C2, 25, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpnge_uspd, 3, 0x66C2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnge_uspd, 4, 0x66C2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpngtpd, 3, 0x66C2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpngtpd, 4, 0x66C2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpngt_uqpd, 3, 0x66C2, 26, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpngt_uqpd, 4, 0x66C2, 26, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpngt_uspd, 3, 0x66C2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpngt_uspd, 4, 0x66C2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpnlepd, 3, 0x66C2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnlepd, 4, 0x66C2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpnle_uqpd, 3, 0x66C2, 22, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnle_uqpd, 4, 0x66C2, 22, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpnle_uspd, 3, 0x66C2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnle_uspd, 4, 0x66C2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpnltpd, 3, 0x66C2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnltpd, 4, 0x66C2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpnlt_uqpd, 3, 0x66C2, 21, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnlt_uqpd, 4, 0x66C2, 21, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpnlt_uspd, 3, 0x66C2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnlt_uspd, 4, 0x66C2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpordpd, 3, 0x66C2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpordpd, 4, 0x66C2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpord_qpd, 3, 0x66C2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpord_qpd, 4, 0x66C2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpord_spd, 3, 0x66C2, 23, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpord_spd, 4, 0x66C2, 23, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmptruepd, 3, 0x66C2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmptruepd, 4, 0x66C2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmptrue_uqpd, 3, 0x66C2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmptrue_uqpd, 4, 0x66C2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmptrue_uspd, 3, 0x66C2, 31, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmptrue_uspd, 4, 0x66C2, 31, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpunordpd, 3, 0x66C2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpunordpd, 4, 0x66C2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpunord_qpd, 3, 0x66C2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpunord_qpd, 4, 0x66C2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
+vcmpunord_spd, 3, 0x66C2, 19, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpunord_spd, 4, 0x66C2, 19, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
 
-vcmpps, 4, 0xC2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpps, 4, 0xC2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpps, 5, 0xC2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM, RegMask }
-vcmpeqps, 3, 0xC2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpeqps, 3, 0xC2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpeqps, 4, 0xC2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpeq_oqps, 3, 0xC2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpeq_oqps, 3, 0xC2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpeq_oqps, 4, 0xC2, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpeq_osps, 3, 0xC2, 16, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpeq_osps, 3, 0xC2, 16, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpeq_osps, 4, 0xC2, 16, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpeq_uqps, 3, 0xC2, 8, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpeq_uqps, 3, 0xC2, 8, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpeq_uqps, 4, 0xC2, 8, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpeq_usps, 3, 0xC2, 24, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpeq_usps, 3, 0xC2, 24, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpeq_usps, 4, 0xC2, 24, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpfalseps, 3, 0xC2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpfalseps, 3, 0xC2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpfalseps, 4, 0xC2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpfalse_oqps, 3, 0xC2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpfalse_oqps, 3, 0xC2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpfalse_oqps, 4, 0xC2, 11, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpfalse_osps, 3, 0xC2, 27, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpfalse_osps, 3, 0xC2, 27, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpfalse_osps, 4, 0xC2, 27, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpgeps, 3, 0xC2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpgeps, 3, 0xC2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpgeps, 4, 0xC2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpge_oqps, 3, 0xC2, 29, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpge_oqps, 3, 0xC2, 29, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpge_oqps, 4, 0xC2, 29, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpge_osps, 3, 0xC2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpge_osps, 3, 0xC2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpge_osps, 4, 0xC2, 13, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpgtps, 3, 0xC2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpgtps, 3, 0xC2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpgtps, 4, 0xC2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpgt_oqps, 3, 0xC2, 30, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpgt_oqps, 3, 0xC2, 30, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpgt_oqps, 4, 0xC2, 30, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpgt_osps, 3, 0xC2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpgt_osps, 3, 0xC2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpgt_osps, 4, 0xC2, 14, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpleps, 3, 0xC2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpleps, 3, 0xC2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpleps, 4, 0xC2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmple_oqps, 3, 0xC2, 18, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmple_oqps, 3, 0xC2, 18, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmple_oqps, 4, 0xC2, 18, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmple_osps, 3, 0xC2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmple_osps, 3, 0xC2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmple_osps, 4, 0xC2, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpltps, 3, 0xC2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpltps, 3, 0xC2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpltps, 4, 0xC2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmplt_oqps, 3, 0xC2, 17, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmplt_oqps, 3, 0xC2, 17, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmplt_oqps, 4, 0xC2, 17, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmplt_osps, 3, 0xC2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmplt_osps, 3, 0xC2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmplt_osps, 4, 0xC2, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpneqps, 3, 0xC2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpneqps, 3, 0xC2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpneqps, 4, 0xC2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpneq_oqps, 3, 0xC2, 12, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpneq_oqps, 3, 0xC2, 12, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpneq_oqps, 4, 0xC2, 12, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpneq_osps, 3, 0xC2, 28, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpneq_osps, 3, 0xC2, 28, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpneq_osps, 4, 0xC2, 28, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpneq_uqps, 3, 0xC2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpneq_uqps, 3, 0xC2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpneq_uqps, 4, 0xC2, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpneq_usps, 3, 0xC2, 20, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpneq_usps, 3, 0xC2, 20, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpneq_usps, 4, 0xC2, 20, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpngeps, 3, 0xC2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpngeps, 3, 0xC2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpngeps, 4, 0xC2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnge_uqps, 3, 0xC2, 25, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnge_uqps, 3, 0xC2, 25, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpnge_uqps, 4, 0xC2, 25, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnge_usps, 3, 0xC2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnge_usps, 3, 0xC2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpnge_usps, 4, 0xC2, 9, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpngtps, 3, 0xC2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpngtps, 3, 0xC2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpngtps, 4, 0xC2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpngt_uqps, 3, 0xC2, 26, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpngt_uqps, 3, 0xC2, 26, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpngt_uqps, 4, 0xC2, 26, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpngt_usps, 3, 0xC2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpngt_usps, 3, 0xC2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpngt_usps, 4, 0xC2, 10, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnleps, 3, 0xC2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnleps, 3, 0xC2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpnleps, 4, 0xC2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnle_uqps, 3, 0xC2, 22, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnle_uqps, 3, 0xC2, 22, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpnle_uqps, 4, 0xC2, 22, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnle_usps, 3, 0xC2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnle_usps, 3, 0xC2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpnle_usps, 4, 0xC2, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnltps, 3, 0xC2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnltps, 3, 0xC2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpnltps, 4, 0xC2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnlt_uqps, 3, 0xC2, 21, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnlt_uqps, 3, 0xC2, 21, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpnlt_uqps, 4, 0xC2, 21, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpnlt_usps, 3, 0xC2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpnlt_usps, 3, 0xC2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpnlt_usps, 4, 0xC2, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpordps, 3, 0xC2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpordps, 3, 0xC2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpordps, 4, 0xC2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpord_qps, 3, 0xC2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpord_qps, 3, 0xC2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpord_qps, 4, 0xC2, 7, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpord_sps, 3, 0xC2, 23, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpord_sps, 3, 0xC2, 23, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpord_sps, 4, 0xC2, 23, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmptrueps, 3, 0xC2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmptrueps, 3, 0xC2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmptrueps, 4, 0xC2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmptrue_uqps, 3, 0xC2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmptrue_uqps, 3, 0xC2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmptrue_uqps, 4, 0xC2, 15, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmptrue_usps, 3, 0xC2, 31, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmptrue_usps, 3, 0xC2, 31, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmptrue_usps, 4, 0xC2, 31, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpunordps, 3, 0xC2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpunordps, 3, 0xC2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpunordps, 4, 0xC2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpunord_qps, 3, 0xC2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpunord_qps, 3, 0xC2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpunord_qps, 4, 0xC2, 3, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
-vcmpunord_sps, 3, 0xC2, 19, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vcmpunord_sps, 3, 0xC2, 19, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vcmpunord_sps, 4, 0xC2, 19, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegZMM, RegZMM, RegMask }
 
-vcmpsd, 4, 0xF2C2, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpsd, 5, 0xF2C2, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegMask }
-vcmpeqsd, 3, 0xF2C2, 0, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeqsd, 4, 0xF2C2, 0, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpeq_oqsd, 3, 0xF2C2, 0, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_oqsd, 4, 0xF2C2, 0, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpeq_ossd, 3, 0xF2C2, 16, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_ossd, 4, 0xF2C2, 16, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpeq_uqsd, 3, 0xF2C2, 8, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_uqsd, 4, 0xF2C2, 8, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpeq_ussd, 3, 0xF2C2, 24, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_ussd, 4, 0xF2C2, 24, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpfalsesd, 3, 0xF2C2, 11, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpfalsesd, 4, 0xF2C2, 11, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpfalse_oqsd, 3, 0xF2C2, 11, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpfalse_oqsd, 4, 0xF2C2, 11, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpfalse_ossd, 3, 0xF2C2, 27, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpfalse_ossd, 4, 0xF2C2, 27, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpgesd, 3, 0xF2C2, 13, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgesd, 4, 0xF2C2, 13, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpge_oqsd, 3, 0xF2C2, 29, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpge_oqsd, 4, 0xF2C2, 29, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpge_ossd, 3, 0xF2C2, 13, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpge_ossd, 4, 0xF2C2, 13, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpgtsd, 3, 0xF2C2, 14, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgtsd, 4, 0xF2C2, 14, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpgt_oqsd, 3, 0xF2C2, 30, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgt_oqsd, 4, 0xF2C2, 30, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpgt_ossd, 3, 0xF2C2, 14, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgt_ossd, 4, 0xF2C2, 14, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmplesd, 3, 0xF2C2, 2, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmplesd, 4, 0xF2C2, 2, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmple_oqsd, 3, 0xF2C2, 18, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmple_oqsd, 4, 0xF2C2, 18, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmple_ossd, 3, 0xF2C2, 2, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmple_ossd, 4, 0xF2C2, 2, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpltsd, 3, 0xF2C2, 1, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpltsd, 4, 0xF2C2, 1, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmplt_oqsd, 3, 0xF2C2, 17, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmplt_oqsd, 4, 0xF2C2, 17, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmplt_ossd, 3, 0xF2C2, 1, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmplt_ossd, 4, 0xF2C2, 1, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpneqsd, 3, 0xF2C2, 4, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneqsd, 4, 0xF2C2, 4, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpneq_oqsd, 3, 0xF2C2, 12, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_oqsd, 4, 0xF2C2, 12, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpneq_ossd, 3, 0xF2C2, 28, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_ossd, 4, 0xF2C2, 28, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpneq_uqsd, 3, 0xF2C2, 4, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_uqsd, 4, 0xF2C2, 4, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpneq_ussd, 3, 0xF2C2, 20, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_ussd, 4, 0xF2C2, 20, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpngesd, 3, 0xF2C2, 9, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngesd, 4, 0xF2C2, 9, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpnge_uqsd, 3, 0xF2C2, 25, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnge_uqsd, 4, 0xF2C2, 25, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpnge_ussd, 3, 0xF2C2, 9, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnge_ussd, 4, 0xF2C2, 9, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpngtsd, 3, 0xF2C2, 10, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngtsd, 4, 0xF2C2, 10, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpngt_uqsd, 3, 0xF2C2, 26, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngt_uqsd, 4, 0xF2C2, 26, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpngt_ussd, 3, 0xF2C2, 10, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngt_ussd, 4, 0xF2C2, 10, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpnlesd, 3, 0xF2C2, 6, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnlesd, 4, 0xF2C2, 6, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpnle_uqsd, 3, 0xF2C2, 22, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnle_uqsd, 4, 0xF2C2, 22, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpnle_ussd, 3, 0xF2C2, 6, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnle_ussd, 4, 0xF2C2, 6, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpnltsd, 3, 0xF2C2, 5, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnltsd, 4, 0xF2C2, 5, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpnlt_uqsd, 3, 0xF2C2, 21, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnlt_uqsd, 4, 0xF2C2, 21, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpnlt_ussd, 3, 0xF2C2, 5, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnlt_ussd, 4, 0xF2C2, 5, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpordsd, 3, 0xF2C2, 7, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpordsd, 4, 0xF2C2, 7, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpord_qsd, 3, 0xF2C2, 7, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpord_qsd, 4, 0xF2C2, 7, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpord_ssd, 3, 0xF2C2, 23, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpord_ssd, 4, 0xF2C2, 23, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmptruesd, 3, 0xF2C2, 15, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmptruesd, 4, 0xF2C2, 15, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmptrue_uqsd, 3, 0xF2C2, 15, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmptrue_uqsd, 4, 0xF2C2, 15, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmptrue_ussd, 3, 0xF2C2, 31, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmptrue_ussd, 4, 0xF2C2, 31, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpunordsd, 3, 0xF2C2, 3, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpunordsd, 4, 0xF2C2, 3, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpunord_qsd, 3, 0xF2C2, 3, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpunord_qsd, 4, 0xF2C2, 3, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
-vcmpunord_ssd, 3, 0xF2C2, 19, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpunord_ssd, 4, 0xF2C2, 19, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpsd, 4, 0xF2C2, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpsd, 5, 0xF2C2, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegMask }
+vcmpeqsd, 3, 0xF2C2, 0, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeqsd, 4, 0xF2C2, 0, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpeq_oqsd, 3, 0xF2C2, 0, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_oqsd, 4, 0xF2C2, 0, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpeq_ossd, 3, 0xF2C2, 16, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_ossd, 4, 0xF2C2, 16, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpeq_uqsd, 3, 0xF2C2, 8, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_uqsd, 4, 0xF2C2, 8, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpeq_ussd, 3, 0xF2C2, 24, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_ussd, 4, 0xF2C2, 24, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpfalsesd, 3, 0xF2C2, 11, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpfalsesd, 4, 0xF2C2, 11, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpfalse_oqsd, 3, 0xF2C2, 11, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpfalse_oqsd, 4, 0xF2C2, 11, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpfalse_ossd, 3, 0xF2C2, 27, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpfalse_ossd, 4, 0xF2C2, 27, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpgesd, 3, 0xF2C2, 13, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgesd, 4, 0xF2C2, 13, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpge_oqsd, 3, 0xF2C2, 29, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpge_oqsd, 4, 0xF2C2, 29, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpge_ossd, 3, 0xF2C2, 13, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpge_ossd, 4, 0xF2C2, 13, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpgtsd, 3, 0xF2C2, 14, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgtsd, 4, 0xF2C2, 14, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpgt_oqsd, 3, 0xF2C2, 30, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgt_oqsd, 4, 0xF2C2, 30, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpgt_ossd, 3, 0xF2C2, 14, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgt_ossd, 4, 0xF2C2, 14, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmplesd, 3, 0xF2C2, 2, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmplesd, 4, 0xF2C2, 2, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmple_oqsd, 3, 0xF2C2, 18, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmple_oqsd, 4, 0xF2C2, 18, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmple_ossd, 3, 0xF2C2, 2, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmple_ossd, 4, 0xF2C2, 2, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpltsd, 3, 0xF2C2, 1, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpltsd, 4, 0xF2C2, 1, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmplt_oqsd, 3, 0xF2C2, 17, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmplt_oqsd, 4, 0xF2C2, 17, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmplt_ossd, 3, 0xF2C2, 1, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmplt_ossd, 4, 0xF2C2, 1, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpneqsd, 3, 0xF2C2, 4, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneqsd, 4, 0xF2C2, 4, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpneq_oqsd, 3, 0xF2C2, 12, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_oqsd, 4, 0xF2C2, 12, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpneq_ossd, 3, 0xF2C2, 28, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_ossd, 4, 0xF2C2, 28, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpneq_uqsd, 3, 0xF2C2, 4, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_uqsd, 4, 0xF2C2, 4, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpneq_ussd, 3, 0xF2C2, 20, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_ussd, 4, 0xF2C2, 20, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpngesd, 3, 0xF2C2, 9, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngesd, 4, 0xF2C2, 9, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpnge_uqsd, 3, 0xF2C2, 25, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnge_uqsd, 4, 0xF2C2, 25, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpnge_ussd, 3, 0xF2C2, 9, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnge_ussd, 4, 0xF2C2, 9, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpngtsd, 3, 0xF2C2, 10, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngtsd, 4, 0xF2C2, 10, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpngt_uqsd, 3, 0xF2C2, 26, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngt_uqsd, 4, 0xF2C2, 26, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpngt_ussd, 3, 0xF2C2, 10, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngt_ussd, 4, 0xF2C2, 10, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpnlesd, 3, 0xF2C2, 6, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnlesd, 4, 0xF2C2, 6, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpnle_uqsd, 3, 0xF2C2, 22, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnle_uqsd, 4, 0xF2C2, 22, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpnle_ussd, 3, 0xF2C2, 6, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnle_ussd, 4, 0xF2C2, 6, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpnltsd, 3, 0xF2C2, 5, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnltsd, 4, 0xF2C2, 5, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpnlt_uqsd, 3, 0xF2C2, 21, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnlt_uqsd, 4, 0xF2C2, 21, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpnlt_ussd, 3, 0xF2C2, 5, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnlt_ussd, 4, 0xF2C2, 5, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpordsd, 3, 0xF2C2, 7, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpordsd, 4, 0xF2C2, 7, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpord_qsd, 3, 0xF2C2, 7, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpord_qsd, 4, 0xF2C2, 7, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpord_ssd, 3, 0xF2C2, 23, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpord_ssd, 4, 0xF2C2, 23, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmptruesd, 3, 0xF2C2, 15, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmptruesd, 4, 0xF2C2, 15, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmptrue_uqsd, 3, 0xF2C2, 15, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmptrue_uqsd, 4, 0xF2C2, 15, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmptrue_ussd, 3, 0xF2C2, 31, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmptrue_ussd, 4, 0xF2C2, 31, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpunordsd, 3, 0xF2C2, 3, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpunordsd, 4, 0xF2C2, 3, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpunord_qsd, 3, 0xF2C2, 3, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpunord_qsd, 4, 0xF2C2, 3, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
+vcmpunord_ssd, 3, 0xF2C2, 19, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpunord_ssd, 4, 0xF2C2, 19, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
 
 vcmpss, 4, 0xF3C2, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegMask }
 vcmpss, 5, 0xF3C2, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegMask }
@@ -3474,178 +3386,152 @@ vcmpunord_qss, 4, 0xF3C2, 3, 1, CpuAVX51
 vcmpunord_sss, 3, 0xF3C2, 19, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegMask }
 vcmpunord_sss, 4, 0xF3C2, 19, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SAE, { Imm8, RegXMM, RegXMM, RegMask }
 
-vcomisd, 2, 0x662F, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
-vcomisd, 3, 0x662F, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM }
-vucomisd, 2, 0x662E, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
-vucomisd, 3, 0x662E, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM }
+vcomisd, 2, 0x662F, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
+vcomisd, 3, 0x662F, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM }
+vucomisd, 2, 0x662E, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
+vucomisd, 3, 0x662E, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM }
 
 vcomiss, 2, 0x2F, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
 vcomiss, 3, 0x2F, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM }
 vucomiss, 2, 0x2E, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
 vucomiss, 3, 0x2E, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM }
 
-vcompresspd, 2, 0x668A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vcompresspd, 2, 0x668A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
-vpcompressq, 2, 0x668B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vpcompressq, 2, 0x668B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
-vpscatterdq, 2, 0x66A0, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vscatterdpd, 2, 0x66A2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-
-vcompressps, 2, 0x668A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vcompressps, 2, 0x668A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
-vpcompressd, 2, 0x668B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vpcompressd, 2, 0x668B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
+vcompresspd, 2, 0x668A, None, 1, CpuAVX512F, Modrm|Masking=2|VexOpcode=1|VexW=2|Disp8MemShift=3|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, XMMword|YMMword|ZMMword|Unspecified|BaseIndex }
+vcompresspd, 2, 0x668A, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
+vpcompressq, 2, 0x668B, None, 1, CpuAVX512F, Modrm|Masking=2|VexOpcode=1|VexW=2|Disp8MemShift=3|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, XMMword|YMMword|ZMMword|Unspecified|BaseIndex }
+vpcompressq, 2, 0x668B, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
+vpscatterdq, 2, 0x66A0, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vscatterdpd, 2, 0x66A2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+
+vcompressps, 2, 0x668A, None, 1, CpuAVX512F, Modrm|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, XMMword|YMMword|ZMMword|Unspecified|BaseIndex }
+vcompressps, 2, 0x668A, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
+vpcompressd, 2, 0x668B, None, 1, CpuAVX512F, Modrm|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, XMMword|YMMword|ZMMword|Unspecified|BaseIndex }
+vpcompressd, 2, 0x668B, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
 vpscatterdd, 2, 0x66A0, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
 vscatterdps, 2, 0x66A2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
 
-vcvtdq2pd, 2, 0xF3E6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
-vcvtudq2pd, 2, 0xF37A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
+vcvtdq2pd, 2, 0xF3E6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
+vcvtudq2pd, 2, 0xF37A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
 
-vcvtdq2ps, 2, 0x5B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvtdq2ps, 2, 0x5B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vcvtdq2ps, 3, 0x5B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
-vcvtps2udq, 2, 0x79, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvtps2udq, 2, 0x79, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vcvtps2udq, 3, 0x79, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
-vsqrtps, 2, 0x51, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vsqrtps, 2, 0x51, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vsqrtps, 3, 0x51, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
 
-vcvtpd2dq, 2, 0xF2E6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
-vcvtpd2dq, 3, 0xF2E6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
+vcvtpd2dq, 2, 0xF2E6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
+vcvtpd2dq, 3, 0xF2E6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
 
-vcvtpd2ps, 2, 0x665A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
-vcvtpd2ps, 3, 0x665A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
+vcvtpd2ps, 2, 0x665A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
+vcvtpd2ps, 3, 0x665A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
 
-vcvtpd2udq, 2, 0x79, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
-vcvtpd2udq, 3, 0x79, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
+vcvtpd2udq, 2, 0x79, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
+vcvtpd2udq, 3, 0x79, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
 
 vcvtph2ps, 2, 0x6613, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegZMM }
 vcvtph2ps, 3, 0x6613, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegYMM, RegZMM }
 
-vcvtps2dq, 2, 0x665B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvtps2dq, 2, 0x665B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vcvtps2dq, 3, 0x665B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
 
-vcvtps2pd, 2, 0x5A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
+vcvtps2pd, 2, 0x5A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
 vcvtps2pd, 3, 0x5A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegYMM, RegZMM }
 
 vcvtps2ph, 3, 0x661D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegYMM|RegMem }
 vcvtps2ph, 4, 0x661D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegYMM|RegMem }
 vcvtps2ph, 3, 0x661D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, YMMword|Unspecified|BaseIndex }
 
-vcvtsd2si, 2, 0xF22D, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, Reg32 }
-vcvtsd2si, 3, 0xF22D, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg32 }
-vcvtsd2si, 2, 0xF22D, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, Reg64 }
-vcvtsd2si, 3, 0xF22D, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg64 }
-vcvtsd2usi, 2, 0xF279, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, Reg32 }
-vcvtsd2usi, 3, 0xF279, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg32 }
-vcvtsd2usi, 2, 0xF279, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, Reg64 }
-vcvtsd2usi, 3, 0xF279, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg64 }
+vcvtsd2si, 2, 0xF22D, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|ToDword, { RegXMM|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+vcvtsd2si, 3, 0xF22D, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg32|Reg64 }
+vcvtsd2usi, 2, 0xF279, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ToDword, { RegXMM|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+vcvtsd2usi, 3, 0xF279, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg32|Reg64 }
 
-vcvtsd2ss, 3, 0xF25A, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vcvtsd2ss, 4, 0xF25A, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vcvtsd2ss, 3, 0xF25A, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vcvtsd2ss, 4, 0xF25A, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 
 vcvtsi2sd, 3, 0xF22A, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vcvtsi2sd, 3, 0xF22A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vcvtsi2sd, 4, 0xF22A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg64, Imm8, RegXMM, RegXMM }
-vcvtsi2sd, 4, 0xF22A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg64, RegXMM, RegXMM }
+vcvtsi2sd, 3, 0xF22A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vcvtsi2sd, 4, 0xF22A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg64, Imm8, RegXMM, RegXMM }
+vcvtsi2sd, 4, 0xF22A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg64, RegXMM, RegXMM }
 vcvtusi2sd, 3, 0xF27B, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vcvtusi2sd, 3, 0xF27B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vcvtusi2sd, 4, 0xF27B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg64, Imm8, RegXMM, RegXMM }
-vcvtusi2sd, 4, 0xF27B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg64, RegXMM, RegXMM }
+vcvtusi2sd, 3, 0xF27B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vcvtusi2sd, 4, 0xF27B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg64, Imm8, RegXMM, RegXMM }
+vcvtusi2sd, 4, 0xF27B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg64, RegXMM, RegXMM }
 
 vcvtsi2ss, 3, 0xF32A, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vcvtsi2ss, 4, 0xF32A, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Reg32, Imm8, RegXMM, RegXMM }
-vcvtsi2ss, 4, 0xF32A, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg32, RegXMM, RegXMM }
-vcvtsi2ss, 3, 0xF32A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vcvtsi2ss, 4, 0xF32A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg64, Imm8, RegXMM, RegXMM }
-vcvtsi2ss, 4, 0xF32A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg64, RegXMM, RegXMM }
+vcvtsi2ss, 3, 0xF32A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vcvtsi2ss, 4, 0xF32A, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg32|Reg64, Imm8, RegXMM, RegXMM }
+vcvtsi2ss, 4, 0xF32A, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg32|Reg64, RegXMM, RegXMM }
 vcvtusi2ss, 3, 0xF37B, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vcvtusi2ss, 4, 0xF37B, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Reg32, Imm8, RegXMM, RegXMM }
-vcvtusi2ss, 4, 0xF37B, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg32, RegXMM, RegXMM }
-vcvtusi2ss, 3, 0xF37B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vcvtusi2ss, 4, 0xF37B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg64, Imm8, RegXMM, RegXMM }
-vcvtusi2ss, 4, 0xF37B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg64, RegXMM, RegXMM }
+vcvtusi2ss, 3, 0xF37B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vcvtusi2ss, 4, 0xF37B, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg32|Reg64, Imm8, RegXMM, RegXMM }
+vcvtusi2ss, 4, 0xF37B, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg32|Reg64, RegXMM, RegXMM }
 
 vcvtss2sd, 3, 0xF35A, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vcvtss2sd, 4, 0xF35A, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 
-vcvtss2si, 2, 0xF32D, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, Reg32 }
-vcvtss2si, 3, 0xF32D, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg32 }
-vcvtss2si, 2, 0xF32D, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, Reg64 }
-vcvtss2si, 3, 0xF32D, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg64 }
-vcvtss2usi, 2, 0xF379, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, Reg32 }
-vcvtss2usi, 3, 0xF379, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg32 }
-vcvtss2usi, 2, 0xF379, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, Reg64 }
-vcvtss2usi, 3, 0xF379, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg64 }
-
-vcvttpd2dq, 2, 0x66E6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
-vcvttpd2dq, 3, 0x66E6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegYMM }
+vcvtss2si, 2, 0xF32D, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|ToQword, { RegXMM|Dword|Unspecified|BaseIndex, Reg32|Reg64 }
+vcvtss2si, 3, 0xF32D, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg32|Reg64 }
+vcvtss2usi, 2, 0xF379, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ToQword, { RegXMM|Dword|Unspecified|BaseIndex, Reg32|Reg64 }
+vcvtss2usi, 3, 0xF379, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, Reg32|Reg64 }
+
+vcvttpd2dq, 2, 0x66E6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
+vcvttpd2dq, 3, 0x66E6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegYMM }
+vcvttpd2udq, 2, 0x78, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
+vcvttpd2udq, 3, 0x78, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegYMM }
 
-vcvttpd2udq, 2, 0x78, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
-vcvttpd2udq, 3, 0x78, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegYMM }
-
-vcvttps2dq, 2, 0xF35B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvttps2dq, 2, 0xF35B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vcvttps2dq, 3, 0xF35B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
-
-vcvttps2udq, 2, 0x78, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvttps2udq, 2, 0x78, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vcvttps2udq, 3, 0x78, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
 
-vcvttsd2si, 2, 0xF22C, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, Reg32 }
-vcvttsd2si, 3, 0xF22C, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg32 }
-vcvttsd2si, 2, 0xF22C, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, Reg64 }
-vcvttsd2si, 3, 0xF22C, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg64 }
-vcvttsd2usi, 2, 0xF278, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, Reg32 }
-vcvttsd2usi, 3, 0xF278, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg32 }
-vcvttsd2usi, 2, 0xF278, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, Reg64 }
-vcvttsd2usi, 3, 0xF278, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg64 }
-
-vcvttss2si, 2, 0xF32C, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, Reg32 }
-vcvttss2si, 3, 0xF32C, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg32 }
-vcvttss2si, 2, 0xF32C, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, Reg64 }
-vcvttss2si, 3, 0xF32C, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg64 }
-vcvttss2usi, 2, 0xF378, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, Reg32 }
-vcvttss2usi, 3, 0xF378, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg32 }
-vcvttss2usi, 2, 0xF378, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, Reg64 }
-vcvttss2usi, 3, 0xF378, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg64 }
+vcvttsd2si, 2, 0xF22C, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|ToDword, { RegXMM|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+vcvttsd2si, 3, 0xF22C, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg32|Reg64 }
+vcvttsd2usi, 2, 0xF278, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ToDword, { RegXMM|Qword|Unspecified|BaseIndex, Reg32|Reg64 }
+vcvttsd2usi, 3, 0xF278, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg32|Reg64 }
+
+vcvttss2si, 2, 0xF32C, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|ToQword, { RegXMM|Dword|Unspecified|BaseIndex, Reg32|Reg64 }
+vcvttss2si, 3, 0xF32C, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg32|Reg64 }
+vcvttss2usi, 2, 0xF378, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ToQword, { RegXMM|Dword|Unspecified|BaseIndex, Reg32|Reg64 }
+vcvttss2usi, 3, 0xF378, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, Reg32|Reg64 }
 
-vcvtudq2ps, 2, 0xF27A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvtudq2ps, 2, 0xF27A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vcvtudq2ps, 3, 0xF27A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
 
-vexpandpd, 2, 0x6688, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vexpandpd, 2, 0x6688, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-vpexpandq, 2, 0x6689, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vpexpandq, 2, 0x6689, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-
-vexpandps, 2, 0x6688, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vexpandps, 2, 0x6688, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-vpexpandd, 2, 0x6689, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vpexpandd, 2, 0x6689, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-
-vextractf32x4, 3, 0x6619, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegXMM|RegMem }
-vextractf32x4, 3, 0x6619, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, XMMword|Unspecified|BaseIndex }
-vextracti32x4, 3, 0x6639, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegXMM|RegMem }
-vextracti32x4, 3, 0x6639, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, XMMword|Unspecified|BaseIndex }
-
-vextractf64x4, 3, 0x661B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegYMM|RegMem }
-vextractf64x4, 3, 0x661B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, YMMword|Unspecified|BaseIndex }
-vextracti64x4, 3, 0x663B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegYMM|RegMem }
-vextracti64x4, 3, 0x663B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, YMMword|Unspecified|BaseIndex }
+vexpandpd, 2, 0x6688, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=3|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vpexpandq, 2, 0x6689, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=3|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+
+vexpandps, 2, 0x6688, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vpexpandd, 2, 0x6689, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+
+vextractf32x4, 3, 0x6619, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=2|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|RegZMM, RegXMM|RegMem }
+vextractf32x4, 3, 0x6619, None, 1, CpuAVX512F, Modrm|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|RegZMM, XMMword|Unspecified|BaseIndex }
+vextracti32x4, 3, 0x6639, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=2|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|RegZMM, RegXMM|RegMem }
+vextracti32x4, 3, 0x6639, None, 1, CpuAVX512F, Modrm|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|RegZMM, XMMword|Unspecified|BaseIndex }
+
+vextractf64x4, 3, 0x661B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegYMM|RegMem }
+vextractf64x4, 3, 0x661B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, YMMword|Unspecified|BaseIndex }
+vextracti64x4, 3, 0x663B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegYMM|RegMem }
+vextracti64x4, 3, 0x663B, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, YMMword|Unspecified|BaseIndex }
 
 vextractps, 3, 0x6617, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=2|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Dword|Unspecified|BaseIndex }
 vextractps, 3, 0x6617, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=2|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg64|RegMem }
 
-vfixupimmpd, 4, 0x6654, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfixupimmpd, 5, 0x6654, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM, RegZMM }
+vfixupimmpd, 4, 0x6654, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfixupimmpd, 5, 0x6654, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM, RegZMM }
 
-vfixupimmps, 4, 0x6654, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfixupimmps, 4, 0x6654, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfixupimmps, 5, 0x6654, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM, RegZMM }
 
-vfixupimmsd, 4, 0x6655, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfixupimmsd, 5, 0x6655, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
-vgetmantsd, 4, 0x6627, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vgetmantsd, 5, 0x6627, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
-vrndscalesd, 4, 0x660B, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vrndscalesd, 5, 0x660B, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
+vfixupimmsd, 4, 0x6655, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfixupimmsd, 5, 0x6655, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
+vgetmantsd, 4, 0x6627, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vgetmantsd, 5, 0x6627, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
+vrndscalesd, 4, 0x660B, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vrndscalesd, 5, 0x660B, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
 
 vfixupimmss, 4, 0x6655, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vfixupimmss, 5, 0x6655, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
@@ -3654,110 +3540,110 @@ vgetmantss, 5, 0x6627, None, 1, CpuAVX51
 vrndscaless, 4, 0x660A, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vrndscaless, 5, 0x660A, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
 
-vfmadd132pd, 3, 0x6698, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmadd132pd, 4, 0x6698, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmadd213pd, 3, 0x66A8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmadd213pd, 4, 0x66A8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmadd231pd, 3, 0x66B8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmadd231pd, 4, 0x66B8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmaddsub132pd, 3, 0x6696, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmaddsub132pd, 4, 0x6696, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmaddsub213pd, 3, 0x66A6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmaddsub213pd, 4, 0x66A6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmaddsub231pd, 3, 0x66B6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmaddsub231pd, 4, 0x66B6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsub132pd, 3, 0x669A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmsub132pd, 4, 0x669A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsub213pd, 3, 0x66AA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmsub213pd, 4, 0x66AA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsub231pd, 3, 0x66BA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmsub231pd, 4, 0x66BA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsubadd132pd, 3, 0x6697, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmsubadd132pd, 4, 0x6697, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsubadd213pd, 3, 0x66A7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmsubadd213pd, 4, 0x66A7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsubadd231pd, 3, 0x66B7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfmsubadd231pd, 4, 0x66B7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmadd132pd, 3, 0x669C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfnmadd132pd, 4, 0x669C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmadd213pd, 3, 0x66AC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfnmadd213pd, 4, 0x66AC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmadd231pd, 3, 0x66BC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfnmadd231pd, 4, 0x66BC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmsub132pd, 3, 0x669E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfnmsub132pd, 4, 0x669E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmsub213pd, 3, 0x66AE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfnmsub213pd, 4, 0x66AE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmsub231pd, 3, 0x66BE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vfnmsub231pd, 4, 0x66BE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vscalefpd, 3, 0x662C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vscalefpd, 4, 0x662C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmadd132pd, 3, 0x6698, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmadd132pd, 4, 0x6698, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmadd213pd, 3, 0x66A8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmadd213pd, 4, 0x66A8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmadd231pd, 3, 0x66B8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmadd231pd, 4, 0x66B8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmaddsub132pd, 3, 0x6696, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmaddsub132pd, 4, 0x6696, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmaddsub213pd, 3, 0x66A6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmaddsub213pd, 4, 0x66A6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmaddsub231pd, 3, 0x66B6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmaddsub231pd, 4, 0x66B6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmsub132pd, 3, 0x669A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsub132pd, 4, 0x669A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmsub213pd, 3, 0x66AA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsub213pd, 4, 0x66AA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmsub231pd, 3, 0x66BA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsub231pd, 4, 0x66BA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmsubadd132pd, 3, 0x6697, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsubadd132pd, 4, 0x6697, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmsubadd213pd, 3, 0x66A7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsubadd213pd, 4, 0x66A7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfmsubadd231pd, 3, 0x66B7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsubadd231pd, 4, 0x66B7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfnmadd132pd, 3, 0x669C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmadd132pd, 4, 0x669C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfnmadd213pd, 3, 0x66AC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmadd213pd, 4, 0x66AC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfnmadd231pd, 3, 0x66BC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmadd231pd, 4, 0x66BC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfnmsub132pd, 3, 0x669E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmsub132pd, 4, 0x669E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfnmsub213pd, 3, 0x66AE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmsub213pd, 4, 0x66AE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vfnmsub231pd, 3, 0x66BE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmsub231pd, 4, 0x66BE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vscalefpd, 3, 0x662C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vscalefpd, 4, 0x662C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
 
-vfmadd132ps, 3, 0x6698, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmadd132ps, 3, 0x6698, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmadd132ps, 4, 0x6698, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmadd213ps, 3, 0x66A8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmadd213ps, 3, 0x66A8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmadd213ps, 4, 0x66A8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmadd231ps, 3, 0x66B8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmadd231ps, 3, 0x66B8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmadd231ps, 4, 0x66B8, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmaddsub132ps, 3, 0x6696, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmaddsub132ps, 3, 0x6696, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmaddsub132ps, 4, 0x6696, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmaddsub213ps, 3, 0x66A6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmaddsub213ps, 3, 0x66A6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmaddsub213ps, 4, 0x66A6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmaddsub231ps, 3, 0x66B6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmaddsub231ps, 3, 0x66B6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmaddsub231ps, 4, 0x66B6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsub132ps, 3, 0x669A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsub132ps, 3, 0x669A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmsub132ps, 4, 0x669A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsub213ps, 3, 0x66AA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsub213ps, 3, 0x66AA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmsub213ps, 4, 0x66AA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsub231ps, 3, 0x66BA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsub231ps, 3, 0x66BA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmsub231ps, 4, 0x66BA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsubadd132ps, 3, 0x6697, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsubadd132ps, 3, 0x6697, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmsubadd132ps, 4, 0x6697, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsubadd213ps, 3, 0x66A7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsubadd213ps, 3, 0x66A7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmsubadd213ps, 4, 0x66A7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfmsubadd231ps, 3, 0x66B7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfmsubadd231ps, 3, 0x66B7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfmsubadd231ps, 4, 0x66B7, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmadd132ps, 3, 0x669C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmadd132ps, 3, 0x669C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfnmadd132ps, 4, 0x669C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmadd213ps, 3, 0x66AC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmadd213ps, 3, 0x66AC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfnmadd213ps, 4, 0x66AC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmadd231ps, 3, 0x66BC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmadd231ps, 3, 0x66BC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfnmadd231ps, 4, 0x66BC, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmsub132ps, 3, 0x669E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmsub132ps, 3, 0x669E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfnmsub132ps, 4, 0x669E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmsub213ps, 3, 0x66AE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmsub213ps, 3, 0x66AE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfnmsub213ps, 4, 0x66AE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vfnmsub231ps, 3, 0x66BE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vfnmsub231ps, 3, 0x66BE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vfnmsub231ps, 4, 0x66BE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vscalefps, 3, 0x662C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vscalefps, 3, 0x662C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vscalefps, 4, 0x662C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
 
-vfmadd132sd, 3, 0x6699, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmadd132sd, 4, 0x6699, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vfmadd213sd, 3, 0x66A9, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmadd213sd, 4, 0x66A9, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vfmadd231sd, 3, 0x66B9, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmadd231sd, 4, 0x66B9, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vfmsub132sd, 3, 0x669B, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsub132sd, 4, 0x669B, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vfmsub213sd, 3, 0x66AB, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsub213sd, 4, 0x66AB, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vfmsub231sd, 3, 0x66BB, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsub231sd, 4, 0x66BB, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vfnmadd132sd, 3, 0x669D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmadd132sd, 4, 0x669D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vfnmadd213sd, 3, 0x66AD, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmadd213sd, 4, 0x66AD, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vfnmadd231sd, 3, 0x66BD, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmadd231sd, 4, 0x66BD, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vfnmsub132sd, 3, 0x669F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmsub132sd, 4, 0x669F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vfnmsub213sd, 3, 0x66AF, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmsub213sd, 4, 0x66AF, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vfnmsub231sd, 3, 0x66BF, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmsub231sd, 4, 0x66BF, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vscalefsd, 3, 0x662D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vscalefsd, 4, 0x662D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfmadd132sd, 3, 0x6699, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmadd132sd, 4, 0x6699, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfmadd213sd, 3, 0x66A9, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmadd213sd, 4, 0x66A9, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfmadd231sd, 3, 0x66B9, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmadd231sd, 4, 0x66B9, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfmsub132sd, 3, 0x669B, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsub132sd, 4, 0x669B, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfmsub213sd, 3, 0x66AB, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsub213sd, 4, 0x66AB, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfmsub231sd, 3, 0x66BB, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsub231sd, 4, 0x66BB, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfnmadd132sd, 3, 0x669D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmadd132sd, 4, 0x669D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfnmadd213sd, 3, 0x66AD, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmadd213sd, 4, 0x66AD, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfnmadd231sd, 3, 0x66BD, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmadd231sd, 4, 0x66BD, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfnmsub132sd, 3, 0x669F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmsub132sd, 4, 0x669F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfnmsub213sd, 3, 0x66AF, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmsub213sd, 4, 0x66AF, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vfnmsub231sd, 3, 0x66BF, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmsub231sd, 4, 0x66BF, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vscalefsd, 3, 0x662D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vscalefsd, 4, 0x662D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 
 vfmadd132ss, 3, 0x6699, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vfmadd132ss, 4, 0x6699, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
@@ -3786,10 +3672,10 @@ vfnmsub231ss, 4, 0x66BF, None, 1, CpuAVX
 vscalefss, 3, 0x662D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vscalefss, 4, 0x662D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 
-vgatherdpd, 2, 0x6692, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vpgatherdq, 2, 0x6690, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vgatherdpd, 2, 0x6692, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vpgatherdq, 2, 0x6690, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
 
 vgatherdps, 2, 0x6692, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
 vmovntdqa, 2, 0x662A, None, 1, CpuAVX512F, Modrm|EVex=1|VexOpcode=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
@@ -3798,125 +3684,129 @@ vpgatherdd, 2, 0x6690, None, 1, CpuAVX51
 vgatherqps, 2, 0x6693, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
 vpgatherqd, 2, 0x6691, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
 
-vgetexppd, 2, 0x6642, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vgetexppd, 3, 0x6642, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
+vgetexppd, 2, 0x6642, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vgetexppd, 3, 0x6642, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
 
-vgetexpps, 2, 0x6642, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vgetexpps, 2, 0x6642, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vgetexpps, 3, 0x6642, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
 
-vgetexpsd, 3, 0x6643, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vgetexpsd, 4, 0x6643, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vgetexpsd, 3, 0x6643, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vgetexpsd, 4, 0x6643, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 
 vgetexpss, 3, 0x6643, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vgetexpss, 4, 0x6643, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 
-vgetmantpd, 3, 0x6626, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vgetmantpd, 4, 0x6626, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM }
-vrndscalepd, 3, 0x6609, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vrndscalepd, 4, 0x6609, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM }
+vgetmantpd, 3, 0x6626, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vgetmantpd, 4, 0x6626, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM }
+vrndscalepd, 3, 0x6609, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vrndscalepd, 4, 0x6609, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM }
 
-vgetmantps, 3, 0x6626, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vgetmantps, 3, 0x6626, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vgetmantps, 4, 0x6626, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM }
-vrndscaleps, 3, 0x6608, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vrndscaleps, 3, 0x6608, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vrndscaleps, 4, 0x6608, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM }
 
-vinsertf32x4, 4, 0x6618, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vinserti32x4, 4, 0x6638, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vinsertf32x4, 4, 0x6618, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
+vinserti32x4, 4, 0x6638, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
 
-vinsertf64x4, 4, 0x661A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vinserti64x4, 4, 0x663A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vinsertf64x4, 4, 0x661A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vinserti64x4, 4, 0x663A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 
 vinsertps, 4, 0x6621, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 
-vmaxpd, 3, 0x665F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vmaxpd, 4, 0x665F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vminpd, 3, 0x665D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vminpd, 4, 0x665D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vmaxpd, 3, 0x665F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vmaxpd, 4, 0x665F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
+vminpd, 3, 0x665D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vminpd, 4, 0x665D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
 
-vmaxps, 3, 0x5F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vmaxps, 3, 0x5F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vmaxps, 4, 0x5F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
-vminps, 3, 0x5D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vminps, 3, 0x5D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vminps, 4, 0x5D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM, RegZMM }
 
-vmaxsd, 3, 0xF25F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vmaxsd, 4, 0xF25F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vminsd, 3, 0xF25D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vminsd, 4, 0xF25D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vmaxsd, 3, 0xF25F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vmaxsd, 4, 0xF25F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vminsd, 3, 0xF25D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vminsd, 4, 0xF25D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 
 vmaxss, 3, 0xF35F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vmaxss, 4, 0xF35F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 vminss, 3, 0xF35D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vminss, 4, 0xF35D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 
-vmovapd, 2, 0x6629, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vmovapd, 2, 0x6628, None, 1, CpuAVX512F, Modrm|Load|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-vmovapd, 2, 0x6628, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vmovapd, 2, 0x6629, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
-vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F, Modrm|Load|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
-vmovntpd, 2, 0x662B, None, 1, CpuAVX512F, Modrm|EVex=1|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vmovupd, 2, 0x6611, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vmovupd, 2, 0x6610, None, 1, CpuAVX512F, Modrm|Load|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-vmovupd, 2, 0x6610, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vmovupd, 2, 0x6611, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
-
-vmovaps, 2, 0x29, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vmovaps, 2, 0x28, None, 1, CpuAVX512F, Modrm|Load|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-vmovaps, 2, 0x28, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vmovaps, 2, 0x29, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
+vmovapd, 2, 0x6629, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vmovapd, 2, 0x6628, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vmovapd, 2, 0x6628, None, 1, CpuAVX512F, Modrm|Load|Masking=3|VexOpcode=0|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+vmovapd, 2, 0x6629, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
+
+vmovntpd, 2, 0x662B, None, 1, CpuAVX512F, Modrm|EVex=1|VexOpcode=0|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+
+vmovupd, 2, 0x6611, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vmovupd, 2, 0x6610, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vmovupd, 2, 0x6610, None, 1, CpuAVX512F, Modrm|Load|Masking=3|VexOpcode=0|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+vmovupd, 2, 0x6611, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
+
+vmovaps, 2, 0x29, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vmovaps, 2, 0x28, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vmovaps, 2, 0x28, None, 1, CpuAVX512F, Modrm|Load|Masking=3|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+vmovaps, 2, 0x29, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
+
 vmovntps, 2, 0x2B, None, 1, CpuAVX512F, Modrm|EVex=1|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vmovups, 2, 0x11, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vmovups, 2, 0x10, None, 1, CpuAVX512F, Modrm|Load|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-vmovups, 2, 0x10, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vmovups, 2, 0x11, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
+
+vmovups, 2, 0x11, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vmovups, 2, 0x10, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vmovups, 2, 0x10, None, 1, CpuAVX512F, Modrm|Load|Masking=3|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+vmovups, 2, 0x11, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
 
 vmovd, 2, 0x666E, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Dword|Unspecified|BaseIndex, RegXMM }
-vmovd, 2, 0x666E, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg64|Qword|Unspecified|BaseIndex, RegXMM }
 vmovd, 2, 0x667E, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Reg32|Dword|Unspecified|BaseIndex }
-vmovd, 2, 0x667E, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { RegXMM, Reg64|Qword|Unspecified|BaseIndex }
 
-vmovddup, 2, 0xF212, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM }
+vmovddup, 2, 0xF212, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM }
+
+vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F, Modrm|Load|Masking=3|VexOpcode=0|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexW=2|CheckregSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
+
+vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F, Modrm|Load|Masking=3|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
 
-vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F, Modrm|Load|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
 vmovntdq, 2, 0x66E7, None, 1, CpuAVX512F, Modrm|EVex=1|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
 
-vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F, Modrm|Load|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
-
-vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F, Modrm|Load|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
-vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
+vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F, Modrm|Load|Masking=3|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
+
+vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F, Modrm|Load|Masking=3|VexOpcode=0|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
 
 vmovhlps, 3, 0x12, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegXMM }
 vmovlhps, 3, 0x16, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegXMM }
 
-vmovhpd, 3, 0x6616, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vmovhpd, 2, 0x6617, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
-vmovlpd, 3, 0x6612, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vmovlpd, 2, 0x6613, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
+vmovhpd, 3, 0x6616, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vmovhpd, 2, 0x6617, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
+vmovlpd, 3, 0x6612, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vmovlpd, 2, 0x6613, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
 
 vmovhps, 3, 0x16, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vmovhps, 2, 0x17, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
 vmovlps, 3, 0x12, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vmovlps, 2, 0x13, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
 
-vmovq, 2, 0x666E, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|Reg64, RegXMM }
-vmovq, 2, 0x667E, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Reg64 }
-vmovq, 2, 0xF37E, None, 1, CpuAVX512F, Load|Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM }
-vmovq, 2, 0x66D6, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|RegXMM }
-
-vmovsd, 2, 0xF211, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
-vmovsd, 3, 0xF210, None, 1, CpuAVX512F, Modrm|Load|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegXMM }
-vmovsd, 2, 0xF210, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM }
-vmovsd, 3, 0xF211, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegXMM|RegMem }
+vmovq, 2, 0x666E, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|Reg64, RegXMM }
+vmovq, 2, 0x667E, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Reg64 }
+vmovq, 2, 0xF37E, None, 1, CpuAVX512F, Load|Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM }
+vmovq, 2, 0x66D6, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|RegXMM }
+
+vmovsd, 2, 0xF211, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
+vmovsd, 3, 0xF210, None, 1, CpuAVX512F, Modrm|Load|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegXMM }
+vmovsd, 2, 0xF210, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM }
+vmovsd, 3, 0xF211, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegXMM|RegMem }
 
 vmovshdup, 2, 0xF316, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM }
 vmovsldup, 2, 0xF312, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM }
@@ -3926,86 +3816,86 @@ vmovss, 3, 0xF310, None, 1, CpuAVX512F, 
 vmovss, 2, 0xF310, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegXMM }
 vmovss, 3, 0xF311, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegXMM|RegMem }
 
-vpabsd, 2, 0x661E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vrcp14ps, 2, 0x664C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vrsqrt14ps, 2, 0x664E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
-
-vpabsq, 2, 0x661F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vrcp14pd, 2, 0x664C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vrsqrt14pd, 2, 0x664E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-
-vpaddd, 3, 0x66FE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpandd, 3, 0x66DB, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpandnd, 3, 0x66DF, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpord, 3, 0x66EB, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsubd, 3, 0x66FA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpunpckhdq, 3, 0x666A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpunpckldq, 3, 0x6662, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpxord, 3, 0x66EF, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-
-vpaddq, 3, 0x66D4, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpandnq, 3, 0x66DF, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpandq, 3, 0x66DB, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpmuludq, 3, 0x66F4, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vporq, 3, 0x66EB, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsubq, 3, 0x66FB, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpunpckhqdq, 3, 0x666D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpunpcklqdq, 3, 0x666C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpxorq, 3, 0x66EF, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vunpckhpd, 3, 0x6615, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vunpcklpd, 3, 0x6614, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-
-vpbroadcastq, 2, 0x6659, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegZMM }
-vpbroadcastq, 2, 0x667C, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg64, RegZMM }
-
-vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpgtd, 3, 0x6666, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpd, 4, 0x661F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpled, 3, 0x661F, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpltd, 3, 0x661F, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpneqd, 3, 0x661F, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnled, 3, 0x661F, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnltd, 3, 0x661F, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpud, 4, 0x661E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpequd, 3, 0x661E, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpleud, 3, 0x661E, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpltud, 3, 0x661E, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnequd, 3, 0x661E, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnleud, 3, 0x661E, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnltud, 3, 0x661E, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-
-vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpgtq, 3, 0x6637, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpq, 4, 0x661F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpleq, 3, 0x661F, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpltq, 3, 0x661F, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpneqq, 3, 0x661F, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnleq, 3, 0x661F, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnltq, 3, 0x661F, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpuq, 4, 0x661E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpequq, 3, 0x661E, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpleuq, 3, 0x661E, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpltuq, 3, 0x661E, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnequq, 3, 0x661E, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnleuq, 3, 0x661E, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnltuq, 3, 0x661E, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vptestmq, 3, 0x6627, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-
-vpermd, 3, 0x6636, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpermps, 3, 0x6616, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-
-vpermilpd, 3, 0x6605, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpermilpd, 3, 0x660D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-
-vpermilps, 3, 0x6604, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpermilps, 3, 0x660C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-
-vpermpd, 3, 0x6601, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpermpd, 3, 0x6616, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpermq, 3, 0x6600, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpermq, 3, 0x6636, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpabsd, 2, 0x661E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vrcp14ps, 2, 0x664C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vrsqrt14ps, 2, 0x664E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+
+vpabsq, 2, 0x661F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vrcp14pd, 2, 0x664C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vrsqrt14pd, 2, 0x664E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+
+vpaddd, 3, 0x66FE, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpandd, 3, 0x66DB, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpandnd, 3, 0x66DF, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpord, 3, 0x66EB, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsubd, 3, 0x66FA, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpunpckhdq, 3, 0x666A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpunpckldq, 3, 0x6662, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpxord, 3, 0x66EF, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+
+vpaddq, 3, 0x66D4, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpandnq, 3, 0x66DF, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpandq, 3, 0x66DB, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpmuludq, 3, 0x66F4, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vporq, 3, 0x66EB, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsubq, 3, 0x66FB, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpunpckhqdq, 3, 0x666D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpunpcklqdq, 3, 0x666C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpxorq, 3, 0x66EF, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vunpckhpd, 3, 0x6615, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vunpcklpd, 3, 0x6614, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+
+vpbroadcastq, 2, 0x6659, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vpbroadcastq, 2, 0x667C, None, 1, CpuAVX512F|Cpu64, Modrm|Masking=3|VexOpcode=1|VexW=2|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg64, RegXMM|RegYMM|RegZMM }
+
+vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpgtd, 3, 0x6666, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpd, 4, 0x661F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpled, 3, 0x661F, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpltd, 3, 0x661F, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpneqd, 3, 0x661F, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpnled, 3, 0x661F, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpnltd, 3, 0x661F, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpud, 4, 0x661E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpequd, 3, 0x661E, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpleud, 3, 0x661E, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpltud, 3, 0x661E, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpnequd, 3, 0x661E, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpnleud, 3, 0x661E, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpnltud, 3, 0x661E, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+
+vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpgtq, 3, 0x6637, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpq, 4, 0x661F, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpleq, 3, 0x661F, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpltq, 3, 0x661F, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpneqq, 3, 0x661F, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpnleq, 3, 0x661F, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpnltq, 3, 0x661F, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpuq, 4, 0x661E, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpequq, 3, 0x661E, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpleuq, 3, 0x661E, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpltuq, 3, 0x661E, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpnequq, 3, 0x661E, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpnleuq, 3, 0x661E, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpcmpnltuq, 3, 0x661E, 5, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vptestmq, 3, 0x6627, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+
+vpermd, 3, 0x6636, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpermps, 3, 0x6616, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+
+vpermilpd, 3, 0x6605, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vpermilpd, 3, 0x660D, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+
+vpermilps, 3, 0x6604, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vpermilps, 3, 0x660C, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+
+vpermpd, 3, 0x6601, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vpermpd, 3, 0x6616, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpermq, 3, 0x6600, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vpermq, 3, 0x6636, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 
 vpmovdb, 2, 0xF331, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
 vpmovdb, 2, 0xF331, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, XMMword|Unspecified|BaseIndex }
@@ -4021,12 +3911,12 @@ vpmovsdw, 2, 0xF323, None, 1, CpuAVX512F
 vpmovusdw, 2, 0xF313, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegYMM|RegMem }
 vpmovusdw, 2, 0xF313, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, YMMword|Unspecified|BaseIndex }
 
-vpmovqb, 2, 0xF332, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
-vpmovqb, 2, 0xF332, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Qword|Unspecified|BaseIndex }
-vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
-vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Qword|Unspecified|BaseIndex }
-vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
-vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Qword|Unspecified|BaseIndex }
+vpmovqb, 2, 0xF332, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
+vpmovqb, 2, 0xF332, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Qword|Unspecified|BaseIndex }
+vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
+vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Qword|Unspecified|BaseIndex }
+vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
+vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Qword|Unspecified|BaseIndex }
 
 vpmovqd, 2, 0xF335, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegYMM|RegMem }
 vpmovqd, 2, 0xF335, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, YMMword|Unspecified|BaseIndex }
@@ -4035,18 +3925,18 @@ vpmovsqd, 2, 0xF325, None, 1, CpuAVX512F
 vpmovusqd, 2, 0xF315, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegYMM|RegMem }
 vpmovusqd, 2, 0xF315, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, YMMword|Unspecified|BaseIndex }
 
-vpmovqw, 2, 0xF334, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
-vpmovqw, 2, 0xF334, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, XMMword|Unspecified|BaseIndex }
-vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
-vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, XMMword|Unspecified|BaseIndex }
-vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
-vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, XMMword|Unspecified|BaseIndex }
+vpmovqw, 2, 0xF334, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
+vpmovqw, 2, 0xF334, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, XMMword|Unspecified|BaseIndex }
+vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
+vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, XMMword|Unspecified|BaseIndex }
+vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegXMM|RegMem }
+vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, XMMword|Unspecified|BaseIndex }
 
 vpmovsxbd, 2, 0x6621, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM }
 vpmovzxbd, 2, 0x6631, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM }
 
-vpmovsxbq, 2, 0x6622, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegZMM }
-vpmovzxbq, 2, 0x6632, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegZMM }
+vpmovsxbq, 2, 0x6622, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegZMM }
+vpmovzxbq, 2, 0x6632, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegZMM }
 
 vpmovsxdq, 2, 0x6625, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegZMM }
 vpmovzxdq, 2, 0x6635, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegZMM }
@@ -4054,111 +3944,100 @@ vpmovzxdq, 2, 0x6635, None, 1, CpuAVX512
 vpmovsxwd, 2, 0x6623, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegZMM }
 vpmovzxwd, 2, 0x6633, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegZMM }
 
-vpmovsxwq, 2, 0x6624, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM }
-vpmovzxwq, 2, 0x6634, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM }
+vpmovsxwq, 2, 0x6624, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM }
+vpmovzxwq, 2, 0x6634, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM }
+
+vprold, 3, 0x6672, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|Unspecified|BaseIndex, RegZMM }
+vprord, 3, 0x6672, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|Unspecified|BaseIndex, RegZMM }
 
-vprold, 3, 0x6672, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vprold, 3, 0x6672, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-vprord, 3, 0x6672, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vprord, 3, 0x6672, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-
-vprolq, 3, 0x6672, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vprolq, 3, 0x6672, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-vprorq, 3, 0x6672, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vprorq, 3, 0x6672, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
+vprolq, 3, 0x6672, 1, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|Unspecified|BaseIndex, RegZMM }
+vprorq, 3, 0x6672, 0, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|Unspecified|BaseIndex, RegZMM }
 
 vpscatterqd, 2, 0x66A1, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
 vscatterqps, 2, 0x66A3, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
 
-vpshufd, 3, 0x6670, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vpshufd, 3, 0x6670, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 
-vpslld, 3, 0x66F2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpslld, 3, 0x6672, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpslld, 3, 0x6672, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-vpsrad, 3, 0x66E2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsrad, 3, 0x6672, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpsrad, 3, 0x6672, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-vpsrld, 3, 0x66D2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsrld, 3, 0x6672, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpsrld, 3, 0x6672, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-
-vpsllq, 3, 0x66F3, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsllq, 3, 0x6673, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpsllq, 3, 0x6673, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-vpsraq, 3, 0x66E2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsraq, 3, 0x6672, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpsraq, 3, 0x6672, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-vpsrlq, 3, 0x66D3, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
+vpslld, 3, 0x66F2, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
+vpslld, 3, 0x6672, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|Unspecified|BaseIndex, RegZMM }
+vpsrad, 3, 0x66E2, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
+vpsrad, 3, 0x6672, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|Unspecified|BaseIndex, RegZMM }
+vpsrld, 3, 0x66D2, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
+vpsrld, 3, 0x6672, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|Unspecified|BaseIndex, RegZMM }
+
+vpsllq, 3, 0x66F3, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
+vpsllq, 3, 0x6673, 6, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|Unspecified|BaseIndex, RegZMM }
+vpsraq, 3, 0x66E2, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
+vpsraq, 3, 0x6672, 4, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|Unspecified|BaseIndex, RegZMM }
+vpsrlq, 3, 0x66D3, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
+vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|Unspecified|BaseIndex, RegZMM }
 
-vptestmd, 3, 0x6627, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vptestmd, 3, 0x6627, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 
-vrcp14sd, 3, 0x664D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vrsqrt14sd, 3, 0x664F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vrcp14sd, 3, 0x664D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vrsqrt14sd, 3, 0x664F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
 
 vrcp14ss, 3, 0x664D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vrsqrt14ss, 3, 0x664F, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 
-vshuff32x4, 4, 0x6623, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vshufi32x4, 4, 0x6643, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vshuff32x4, 4, 0x6623, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vshufi32x4, 4, 0x6643, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 
-vshuff64x2, 4, 0x6623, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vshufi64x2, 4, 0x6643, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vshuff64x2, 4, 0x6623, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vshufi64x2, 4, 0x6643, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 
-vshufpd, 4, 0x66C6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vshufpd, 4, 0x66C6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 
-vshufps, 4, 0xC6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vshufps, 4, 0xC6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 
-vsqrtpd, 2, 0x6651, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vsqrtpd, 3, 0x6651, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
+vsqrtpd, 2, 0x6651, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vsqrtpd, 3, 0x6651, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
 
-vunpckhps, 3, 0x15, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vunpcklps, 3, 0x14, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vunpckhps, 3, 0x15, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vunpcklps, 3, 0x14, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 
-vptestnmd, 3, 0xF327, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vptestnmq, 3, 0xF327, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vptestnmd, 3, 0xF327, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vptestnmq, 3, 0xF327, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 
 // AVX512F instructions end.
 
 // AVX512CD instructions.
 
-vpbroadcastmb2q, 2, 0xF32A, None, 1, CpuAVX512CD, Modrm|EVex=1|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegZMM }
-
-vpbroadcastmw2d, 2, 0xF33A, None, 1, CpuAVX512CD, Modrm|EVex=1|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegZMM }
+vpbroadcastmb2q, 2, 0xF32A, None, 1, CpuAVX512CD, Modrm|VexOpcode=1|EVex=5|VexW=2|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM|RegYMM|RegZMM }
+vpbroadcastmw2d, 2, 0xF33A, None, 1, CpuAVX512CD, Modrm|VexOpcode=1|EVex=5|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM|RegYMM|RegZMM }
 
-vpconflictd, 2, 0x66C4, None, 1, CpuAVX512CD, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vpconflictd, 2, 0x66C4, None, 1, CpuAVX512CD, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 
-vpconflictq, 2, 0x66C4, None, 1, CpuAVX512CD, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vpconflictq, 2, 0x66C4, None, 1, CpuAVX512CD, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
 
-vplzcntd, 2, 0x6644, None, 1, CpuAVX512CD, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vplzcntd, 2, 0x6644, None, 1, CpuAVX512CD, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 
-vplzcntq, 2, 0x6644, None, 1, CpuAVX512CD, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vplzcntq, 2, 0x6644, None, 1, CpuAVX512CD, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
 
 // AVX512CD instructions end.
 
 // AVX512ER instructions.
 
-vexp2pd, 2, 0x66C8, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vexp2pd, 3, 0x66C8, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
+vexp2pd, 2, 0x66C8, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vexp2pd, 3, 0x66C8, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
 
-vexp2ps, 2, 0x66C8, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vexp2ps, 2, 0x66C8, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vexp2ps, 3, 0x66C8, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
 
-vrcp28pd, 2, 0x66CA, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vrcp28pd, 3, 0x66CA, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
-vrsqrt28pd, 2, 0x66CC, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vrsqrt28pd, 3, 0x66CC, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
+vrcp28pd, 2, 0x66CA, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vrcp28pd, 3, 0x66CA, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
+vrsqrt28pd, 2, 0x66CC, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vrsqrt28pd, 3, 0x66CC, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
 
-vrcp28ps, 2, 0x66CA, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vrcp28ps, 2, 0x66CA, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vrcp28ps, 3, 0x66CA, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
-vrsqrt28ps, 2, 0x66CC, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vrsqrt28ps, 2, 0x66CC, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
 vrsqrt28ps, 3, 0x66CC, None, 1, CpuAVX512ER, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
 
-vrcp28sd, 3, 0x66CB, None, 1, CpuAVX512ER, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vrcp28sd, 4, 0x66CB, None, 1, CpuAVX512ER, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vrsqrt28sd, 3, 0x66CD, None, 1, CpuAVX512ER, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vrsqrt28sd, 4, 0x66CD, None, 1, CpuAVX512ER, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vrcp28sd, 3, 0x66CB, None, 1, CpuAVX512ER, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vrcp28sd, 4, 0x66CB, None, 1, CpuAVX512ER, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
+vrsqrt28sd, 3, 0x66CD, None, 1, CpuAVX512ER, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vrsqrt28sd, 4, 0x66CD, None, 1, CpuAVX512ER, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
 
 vrcp28ss, 3, 0x66CB, None, 1, CpuAVX512ER, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vrcp28ss, 4, 0x66CB, None, 1, CpuAVX512ER, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
@@ -4169,14 +4048,14 @@ vrsqrt28ss, 4, 0x66CD, None, 1, CpuAVX51
 
 // AVX512PF instructions.
 
-vgatherpf0dpd, 1, 0x66C6, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vgatherpf0qpd, 1, 0x66C7, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vgatherpf1dpd, 1, 0x66C6, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vgatherpf1qpd, 1, 0x66C7, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vscatterpf0dpd, 1, 0x66C6, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vscatterpf0qpd, 1, 0x66C7, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vscatterpf1dpd, 1, 0x66C6, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vscatterpf1qpd, 1, 0x66C7, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
+vgatherpf0dpd, 1, 0x66C6, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
+vgatherpf0qpd, 1, 0x66C7, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
+vgatherpf1dpd, 1, 0x66C6, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
+vgatherpf1qpd, 1, 0x66C7, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
+vscatterpf0dpd, 1, 0x66C6, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
+vscatterpf0qpd, 1, 0x66C7, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
+vscatterpf1dpd, 1, 0x66C6, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
+vscatterpf1qpd, 1, 0x66C7, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
 
 vgatherpf0dps, 1, 0x66C6, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
 vgatherpf0qps, 1, 0x66C7, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex }
@@ -4226,394 +4105,347 @@ enclu, 0, 0xf01d7, None, 3, CpuSE1, No_b
 
 // AVX512VL instructions.
 
-vaddpd, 3, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vaddpd, 3, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vdivpd, 3, 0x665E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vdivpd, 3, 0x665E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vmulpd, 3, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vmulpd, 3, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vsqrtpd, 2, 0x6651, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vsqrtpd, 2, 0x6651, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vsubpd, 3, 0x665C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vsubpd, 3, 0x665C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vaddps, 3, 0x58, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vaddps, 3, 0x58, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vcvtdq2ps, 2, 0x5B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtdq2ps, 2, 0x5B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vcvtps2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtps2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vdivps, 3, 0x5E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vdivps, 3, 0x5E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vmulps, 3, 0x59, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vmulps, 3, 0x59, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vsqrtps, 2, 0x51, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vsqrtps, 2, 0x51, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vsubps, 3, 0x5C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vsubps, 3, 0x5C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-valignd, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-valignd, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermilps, 3, 0x6604, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpermilps, 3, 0x6604, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpternlogd, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpternlogd, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vshuff32x4, 4, 0x6623, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vshufi32x4, 4, 0x6643, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-valignq, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-valignq, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermilpd, 3, 0x6605, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpermilpd, 3, 0x6605, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpermpd, 3, 0x6601, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpermq, 3, 0x6600, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpternlogq, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpternlogq, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vshuff64x2, 4, 0x6623, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vshufi64x2, 4, 0x6643, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vblendmpd, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vblendmpd, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpabsq, 2, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpabsq, 2, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpblendmq, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpblendmq, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermi2pd, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpermi2pd, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermi2q, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpermi2q, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermilpd, 3, 0x660D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpermilpd, 3, 0x660D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermpd, 3, 0x6616, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermq, 3, 0x6636, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermt2pd, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpermt2pd, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermt2q, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpermt2q, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpmaxsq, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmaxsq, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpmaxuq, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmaxuq, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpminsq, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpminsq, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpminuq, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpminuq, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpmuldq, 3, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmuldq, 3, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vprolvq, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vprolvq, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vprorvq, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vprorvq, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsllvq, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsllvq, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsravq, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsravq, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsrlvq, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsrlvq, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vrcp14pd, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vrcp14pd, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vrsqrt14pd, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vrsqrt14pd, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vblendmps, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vblendmps, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpabsd, 2, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpabsd, 2, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpblendmd, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpblendmd, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermd, 3, 0x6636, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermi2d, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpermi2d, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermi2ps, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpermi2ps, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermilps, 3, 0x660C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpermilps, 3, 0x660C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermps, 3, 0x6616, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermt2d, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpermt2d, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpermt2ps, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpermt2ps, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpmaxsd, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmaxsd, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpmaxud, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmaxud, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpminsd, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpminsd, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpminud, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpminud, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpmulld, 3, 0x6640, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmulld, 3, 0x6640, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vprolvd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vprolvd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vprorvd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vprorvd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsllvd, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsllvd, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsravd, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsravd, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsrlvd, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsrlvd, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vrcp14ps, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vrcp14ps, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vrsqrt14ps, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vrsqrt14ps, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vbroadcastf32x4, 2, 0x661A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegYMM }
-vbroadcasti32x4, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegYMM }
-vbroadcastss, 2, 0x6618, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
-vbroadcastss, 2, 0x6618, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM }
-vcompressps, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vcompressps, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-vexpandps, 2, 0x6688, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM }
-vexpandps, 2, 0x6688, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
-vpbroadcastd, 2, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegXMM }
-vpbroadcastd, 2, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { RegXMM, RegXMM }
-vpbroadcastd, 2, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegYMM }
-vpbroadcastd, 2, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { RegXMM, RegYMM }
-vpbroadcastd, 2, 0x667C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegXMM }
-vpbroadcastd, 2, 0x667C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegYMM }
-vpcompressd, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpcompressd, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-vpexpandd, 2, 0x6689, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM }
-vpexpandd, 2, 0x6689, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vbroadcastsd, 2, 0x6619, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM }
-vcompresspd, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vcompresspd, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-vexpandpd, 2, 0x6688, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM }
-vexpandpd, 2, 0x6688, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
-vpbroadcastq, 2, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM }
-vpbroadcastq, 2, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { RegXMM, RegXMM }
-vpbroadcastq, 2, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegYMM }
-vpbroadcastq, 2, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { RegXMM, RegYMM }
-vpbroadcastq, 2, 0x667C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg64, RegXMM }
-vpbroadcastq, 2, 0x667C, None, 1, CpuAVX512F|CpuAVX512VL|Cpu64, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg64, RegYMM }
-vpcompressq, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpcompressq, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-vpexpandq, 2, 0x6689, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM }
-vpexpandq, 2, 0x6689, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vcmpeq_oqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_oqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpeq_ospd, 3, 0x66C2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_ospd, 3, 0x66C2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpeq_uqpd, 3, 0x66C2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_uqpd, 3, 0x66C2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpeq_uspd, 3, 0x66C2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_uspd, 3, 0x66C2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpeqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpfalse_oqpd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpfalse_oqpd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpfalse_ospd, 3, 0x66C2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpfalse_ospd, 3, 0x66C2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpfalsepd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpfalsepd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpge_oqpd, 3, 0x66C2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpge_oqpd, 3, 0x66C2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpge_ospd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpge_ospd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpgepd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgepd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpgt_oqpd, 3, 0x66C2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgt_oqpd, 3, 0x66C2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpgt_ospd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgt_ospd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpgtpd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgtpd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmple_oqpd, 3, 0x66C2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmple_oqpd, 3, 0x66C2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmple_ospd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmple_ospd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmplepd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmplepd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmplt_oqpd, 3, 0x66C2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmplt_oqpd, 3, 0x66C2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmplt_ospd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmplt_ospd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpltpd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpltpd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpneq_oqpd, 3, 0x66C2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_oqpd, 3, 0x66C2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpneq_ospd, 3, 0x66C2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_ospd, 3, 0x66C2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpneq_uqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_uqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpneq_uspd, 3, 0x66C2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_uspd, 3, 0x66C2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpneqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnge_uqpd, 3, 0x66C2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnge_uqpd, 3, 0x66C2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnge_uspd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnge_uspd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpngepd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngepd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpngt_uqpd, 3, 0x66C2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngt_uqpd, 3, 0x66C2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpngt_uspd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngt_uspd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpngtpd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngtpd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnle_uqpd, 3, 0x66C2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnle_uqpd, 3, 0x66C2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnle_uspd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnle_uspd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnlepd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnlepd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnlt_uqpd, 3, 0x66C2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnlt_uqpd, 3, 0x66C2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnlt_uspd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnlt_uspd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnltpd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnltpd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpord_qpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpord_qpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpord_spd, 3, 0x66C2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpord_spd, 3, 0x66C2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpordpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpordpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmppd, 4, 0x66C2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmppd, 4, 0x66C2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmptrue_uqpd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmptrue_uqpd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmptrue_uspd, 3, 0x66C2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmptrue_uspd, 3, 0x66C2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmptruepd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmptruepd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpunord_qpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpunord_qpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpunord_spd, 3, 0x66C2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpunord_spd, 3, 0x66C2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpunordpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpunordpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-
-vcmpeq_oqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_oqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpeq_osps, 3, 0xC2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_osps, 3, 0xC2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpeq_uqps, 3, 0xC2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_uqps, 3, 0xC2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpeq_usps, 3, 0xC2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeq_usps, 3, 0xC2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpeqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpeqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpfalse_oqps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpfalse_oqps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpfalse_osps, 3, 0xC2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpfalse_osps, 3, 0xC2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpfalseps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpfalseps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpge_oqps, 3, 0xC2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpge_oqps, 3, 0xC2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpge_osps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpge_osps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpgeps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgeps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpgt_oqps, 3, 0xC2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgt_oqps, 3, 0xC2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpgt_osps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgt_osps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpgtps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpgtps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmple_oqps, 3, 0xC2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmple_oqps, 3, 0xC2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmple_osps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmple_osps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpleps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpleps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmplt_oqps, 3, 0xC2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmplt_oqps, 3, 0xC2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmplt_osps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmplt_osps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpltps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpltps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpneq_oqps, 3, 0xC2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_oqps, 3, 0xC2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpneq_osps, 3, 0xC2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_osps, 3, 0xC2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpneq_uqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_uqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpneq_usps, 3, 0xC2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneq_usps, 3, 0xC2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpneqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpneqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnge_uqps, 3, 0xC2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnge_uqps, 3, 0xC2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnge_usps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnge_usps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpngeps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngeps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpngt_uqps, 3, 0xC2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngt_uqps, 3, 0xC2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpngt_usps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngt_usps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpngtps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpngtps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnle_uqps, 3, 0xC2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnle_uqps, 3, 0xC2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnle_usps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnle_usps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnleps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnleps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnlt_uqps, 3, 0xC2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnlt_uqps, 3, 0xC2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnlt_usps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnlt_usps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpnltps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpnltps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpord_qps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpord_qps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpord_sps, 3, 0xC2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpord_sps, 3, 0xC2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpordps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpordps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpps, 4, 0xC2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpps, 4, 0xC2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmptrue_uqps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmptrue_uqps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmptrue_usps, 3, 0xC2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmptrue_usps, 3, 0xC2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmptrueps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmptrueps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpunord_qps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpunord_qps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpunord_sps, 3, 0xC2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpunord_sps, 3, 0xC2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vcmpunordps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vcmpunordps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-
-vcompresspd, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vcompresspd, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vgatherdpd, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vgatherdpd, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vpcompressq, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vpcompressq, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vpgatherdq, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vpgatherdq, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vpscatterdq, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vpscatterdq, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vscatterdpd, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vscatterdpd, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
+vaddpd, 3, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vaddpd, 3, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vdivpd, 3, 0x665E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vdivpd, 3, 0x665E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vmulpd, 3, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vmulpd, 3, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vsqrtpd, 2, 0x6651, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vsqrtpd, 2, 0x6651, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vsubpd, 3, 0x665C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vsubpd, 3, 0x665C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vaddps, 3, 0x58, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vaddps, 3, 0x58, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vcvtdq2ps, 2, 0x5B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtdq2ps, 2, 0x5B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vcvtps2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtps2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vdivps, 3, 0x5E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vdivps, 3, 0x5E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vmulps, 3, 0x59, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vmulps, 3, 0x59, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vsqrtps, 2, 0x51, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vsqrtps, 2, 0x51, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vsubps, 3, 0x5C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vsubps, 3, 0x5C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+valignd, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+valignd, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermilps, 3, 0x6604, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vpermilps, 3, 0x6604, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vpternlogd, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpternlogd, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vshuff32x4, 4, 0x6623, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vshufi32x4, 4, 0x6643, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+valignq, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+valignq, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermilpd, 3, 0x6605, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vpermilpd, 3, 0x6605, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vpermpd, 3, 0x6601, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vpermq, 3, 0x6600, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vpternlogq, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpternlogq, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vshuff64x2, 4, 0x6623, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vshufi64x2, 4, 0x6643, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vblendmpd, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vblendmpd, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpabsq, 2, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vpabsq, 2, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vpblendmq, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpblendmq, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermi2pd, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpermi2pd, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermi2q, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpermi2q, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermilpd, 3, 0x660D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpermilpd, 3, 0x660D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermpd, 3, 0x6616, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermq, 3, 0x6636, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermt2pd, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpermt2pd, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermt2q, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpermt2q, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpmaxsq, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmaxsq, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpmaxuq, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmaxuq, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpminsq, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpminsq, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpminuq, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpminuq, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpmuldq, 3, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmuldq, 3, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vprolvq, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vprolvq, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vprorvq, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vprorvq, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpsllvq, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsllvq, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpsravq, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsravq, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpsrlvq, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsrlvq, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vrcp14pd, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vrcp14pd, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vrsqrt14pd, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vrsqrt14pd, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+
+vblendmps, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vblendmps, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpabsd, 2, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vpabsd, 2, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vpblendmd, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpblendmd, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermd, 3, 0x6636, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermi2d, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpermi2d, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermi2ps, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpermi2ps, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermilps, 3, 0x660C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpermilps, 3, 0x660C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermps, 3, 0x6616, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermt2d, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpermt2d, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpermt2ps, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpermt2ps, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpmaxsd, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmaxsd, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpmaxud, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmaxud, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpminsd, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpminsd, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpminud, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpminud, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpmulld, 3, 0x6640, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmulld, 3, 0x6640, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vprolvd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vprolvd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vprorvd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vprorvd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpsllvd, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsllvd, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpsravd, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsravd, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpsrlvd, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsrlvd, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vrcp14ps, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vrcp14ps, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vrsqrt14ps, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vrsqrt14ps, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+
+vcmpeq_oqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_oqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpeq_ospd, 3, 0x66C2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_ospd, 3, 0x66C2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpeq_uqpd, 3, 0x66C2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_uqpd, 3, 0x66C2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpeq_uspd, 3, 0x66C2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_uspd, 3, 0x66C2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpeqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpfalse_oqpd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpfalse_oqpd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpfalse_ospd, 3, 0x66C2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpfalse_ospd, 3, 0x66C2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpfalsepd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpfalsepd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpge_oqpd, 3, 0x66C2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpge_oqpd, 3, 0x66C2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpge_ospd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpge_ospd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpgepd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgepd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpgt_oqpd, 3, 0x66C2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgt_oqpd, 3, 0x66C2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpgt_ospd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgt_ospd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpgtpd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgtpd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmple_oqpd, 3, 0x66C2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmple_oqpd, 3, 0x66C2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmple_ospd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmple_ospd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmplepd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmplepd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmplt_oqpd, 3, 0x66C2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmplt_oqpd, 3, 0x66C2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmplt_ospd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmplt_ospd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpltpd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpltpd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpneq_oqpd, 3, 0x66C2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_oqpd, 3, 0x66C2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpneq_ospd, 3, 0x66C2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_ospd, 3, 0x66C2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpneq_uqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_uqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpneq_uspd, 3, 0x66C2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_uspd, 3, 0x66C2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpneqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnge_uqpd, 3, 0x66C2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnge_uqpd, 3, 0x66C2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnge_uspd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnge_uspd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpngepd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngepd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpngt_uqpd, 3, 0x66C2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngt_uqpd, 3, 0x66C2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpngt_uspd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngt_uspd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpngtpd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngtpd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnle_uqpd, 3, 0x66C2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnle_uqpd, 3, 0x66C2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnle_uspd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnle_uspd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnlepd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnlepd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnlt_uqpd, 3, 0x66C2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnlt_uqpd, 3, 0x66C2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnlt_uspd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnlt_uspd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnltpd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnltpd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpord_qpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpord_qpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpord_spd, 3, 0x66C2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpord_spd, 3, 0x66C2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpordpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpordpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmppd, 4, 0x66C2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmppd, 4, 0x66C2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmptrue_uqpd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmptrue_uqpd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmptrue_uspd, 3, 0x66C2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmptrue_uspd, 3, 0x66C2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmptruepd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmptruepd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpunord_qpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpunord_qpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpunord_spd, 3, 0x66C2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpunord_spd, 3, 0x66C2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpunordpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpunordpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+
+vcmpeq_oqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_oqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpeq_osps, 3, 0xC2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_osps, 3, 0xC2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpeq_uqps, 3, 0xC2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_uqps, 3, 0xC2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpeq_usps, 3, 0xC2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeq_usps, 3, 0xC2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpeqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpeqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpfalse_oqps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpfalse_oqps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpfalse_osps, 3, 0xC2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpfalse_osps, 3, 0xC2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpfalseps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpfalseps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpge_oqps, 3, 0xC2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpge_oqps, 3, 0xC2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpge_osps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpge_osps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpgeps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgeps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpgt_oqps, 3, 0xC2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgt_oqps, 3, 0xC2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpgt_osps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgt_osps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpgtps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpgtps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmple_oqps, 3, 0xC2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmple_oqps, 3, 0xC2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmple_osps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmple_osps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpleps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpleps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmplt_oqps, 3, 0xC2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmplt_oqps, 3, 0xC2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmplt_osps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmplt_osps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpltps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpltps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpneq_oqps, 3, 0xC2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_oqps, 3, 0xC2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpneq_osps, 3, 0xC2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_osps, 3, 0xC2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpneq_uqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_uqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpneq_usps, 3, 0xC2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneq_usps, 3, 0xC2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpneqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpneqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnge_uqps, 3, 0xC2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnge_uqps, 3, 0xC2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnge_usps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnge_usps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpngeps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngeps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpngt_uqps, 3, 0xC2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngt_uqps, 3, 0xC2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpngt_usps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngt_usps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpngtps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpngtps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnle_uqps, 3, 0xC2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnle_uqps, 3, 0xC2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnle_usps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnle_usps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnleps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnleps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnlt_uqps, 3, 0xC2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnlt_uqps, 3, 0xC2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnlt_usps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnlt_usps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpnltps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpnltps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpord_qps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpord_qps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpord_sps, 3, 0xC2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpord_sps, 3, 0xC2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpordps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpordps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpps, 4, 0xC2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpps, 4, 0xC2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmptrue_uqps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmptrue_uqps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmptrue_usps, 3, 0xC2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmptrue_usps, 3, 0xC2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmptrueps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmptrueps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpunord_qps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpunord_qps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpunord_sps, 3, 0xC2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpunord_sps, 3, 0xC2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vcmpunordps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vcmpunordps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+
+vgatherdpd, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM }
+vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
+vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
+vpgatherdq, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM }
+vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
+vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
+vpscatterdq, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, Xmmword|Ymmword|Unspecified|BaseIndex }
+vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
+vscatterdpd, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, Xmmword|Ymmword|Unspecified|BaseIndex }
+vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
 
-vcompressps, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vcompressps, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
 vgatherdps, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
 vgatherdps, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
 vgatherqps, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM }
 vgatherqps, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
 vmovntdqa, 2, 0x662A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
 vmovntdqa, 2, 0x662A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vpcompressd, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vpcompressd, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
 vpgatherdd, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
 vpgatherdd, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
 vpgatherqd, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM }
@@ -4627,440 +4459,366 @@ vscatterdps, 2, 0x66A2, None, 1, CpuAVX5
 vscatterqps, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
 vscatterqps, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
 
-vcvtdq2pd, 2, 0xF3E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM }
-vcvtdq2pd, 2, 0xF3E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM }
-vcvtudq2pd, 2, 0xF37A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM }
-vcvtudq2pd, 2, 0xF37A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM }
-
-vcvtpd2dq, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
-vcvtpd2dqx, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtpd2dq, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
-vcvtpd2dqy, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
-vcvtpd2ps, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
-vcvtpd2psx, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtpd2ps, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
-vcvtpd2psy, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
-
-vcvtpd2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
-vcvtpd2udqx, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtpd2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
-vcvtpd2udqy, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
+vcvtdq2pd, 2, 0xF3E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegYMM }
+vcvtdq2pd, 2, 0xF3E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex, RegXMM }
+vcvtdq2pd, 2, 0xF3E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|XMMword|Unspecified|BaseIndex, RegYMM }
+vcvtudq2pd, 2, 0xF37A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegYMM }
+vcvtudq2pd, 2, 0xF37A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex, RegXMM }
+vcvtudq2pd, 2, 0xF37A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|XMMword|Unspecified|BaseIndex, RegYMM }
+
+vcvtpd2dq, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
+vcvtpd2dqx, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtpd2dq, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
+vcvtpd2dqy, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
+vcvtpd2ps, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
+vcvtpd2psx, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtpd2ps, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
+vcvtpd2psy, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
+
+vcvtpd2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
+vcvtpd2udqx, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtpd2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
+vcvtpd2udqy, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
 vcvtph2ps, 2, 0x6613, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
 vcvtph2ps, 2, 0x6613, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM }
 
-vcvtps2dq, 2, 0x665B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtps2dq, 2, 0x665B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vcvtps2dq, 2, 0x665B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtps2dq, 2, 0x665B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
 
-vcvtps2pd, 2, 0x5A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM }
-vcvtps2pd, 2, 0x5A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM }
-
-vcvtps2ph, 3, 0x661D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM|RegMem }
-vcvtps2ph, 3, 0x661D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegXMM|RegMem }
+vcvtps2pd, 2, 0x5A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegYMM }
+vcvtps2pd, 2, 0x5A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex, RegXMM }
+vcvtps2pd, 2, 0x5A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|XMMword|Unspecified|BaseIndex, RegYMM }
 
+vcvtps2ph, 3, 0x661D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|RegYMM, RegXMM|RegMem }
 vcvtps2ph, 3, 0x661D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Qword|Unspecified|BaseIndex }
 vcvtps2ph, 3, 0x661D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, XMMword|Unspecified|BaseIndex }
 
-vcvttpd2dq, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
-vcvttpd2dqx, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvttpd2dq, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
-vcvttpd2dqy, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
-
-vcvttpd2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
-vcvttpd2udqx, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvttpd2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
-vcvttpd2udqy, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
-
-vcvttps2dq, 2, 0xF35B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvttps2dq, 2, 0xF35B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vcvttps2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvttps2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vmaxps, 3, 0x5F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vmaxps, 3, 0x5F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vminps, 3, 0x5D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vminps, 3, 0x5D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vcvtudq2ps, 2, 0xF27A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtudq2ps, 2, 0xF27A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vextractf32x4, 3, 0x6619, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, XMMword|Unspecified|BaseIndex }
-vextracti32x4, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, XMMword|Unspecified|BaseIndex }
-
-vextractf32x4, 3, 0x6619, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegXMM|RegMem }
-vextracti32x4, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegXMM|RegMem }
-vinsertf32x4, 4, 0x6618, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vinserti32x4, 4, 0x6638, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vfixupimmpd, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfixupimmpd, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vgetmantpd, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vgetmantpd, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vrndscalepd, 3, 0x6609, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vrndscalepd, 3, 0x6609, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vfixupimmps, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfixupimmps, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vgetmantps, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vgetmantps, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vrndscaleps, 3, 0x6608, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vrndscaleps, 3, 0x6608, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vfmadd132pd, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmadd132pd, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmadd213pd, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmadd213pd, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmadd231pd, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmadd231pd, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmaddsub132pd, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmaddsub132pd, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmaddsub213pd, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmaddsub213pd, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmaddsub231pd, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmaddsub231pd, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsub132pd, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsub132pd, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsub213pd, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsub213pd, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsub231pd, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsub231pd, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsubadd132pd, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsubadd132pd, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsubadd213pd, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsubadd213pd, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsubadd231pd, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsubadd231pd, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmadd132pd, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmadd132pd, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmadd213pd, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmadd213pd, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmadd231pd, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmadd231pd, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmsub132pd, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmsub132pd, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmsub213pd, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmsub213pd, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmsub231pd, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmsub231pd, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vscalefpd, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vscalefpd, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vfmadd132ps, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmadd132ps, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmadd213ps, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmadd213ps, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmadd231ps, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmadd231ps, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmaddsub132ps, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmaddsub132ps, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmaddsub213ps, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmaddsub213ps, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmaddsub231ps, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmaddsub231ps, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsub132ps, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsub132ps, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsub213ps, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsub213ps, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsub231ps, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsub231ps, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsubadd132ps, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsubadd132ps, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsubadd213ps, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsubadd213ps, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfmsubadd231ps, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfmsubadd231ps, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmadd132ps, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmadd132ps, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmadd213ps, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmadd213ps, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmadd231ps, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmadd231ps, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmsub132ps, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmsub132ps, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmsub213ps, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmsub213ps, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vfnmsub231ps, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vfnmsub231ps, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vscalefps, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vscalefps, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vgetexppd, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vgetexppd, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vgetexpps, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vgetexpps, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vmaxpd, 3, 0x665F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vmaxpd, 3, 0x665F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vminpd, 3, 0x665D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vminpd, 3, 0x665D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vmovapd, 2, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vmovapd, 2, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vmovntpd, 2, 0x662B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vmovntpd, 2, 0x662B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vmovupd, 2, 0x6611, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vmovupd, 2, 0x6611, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-
-vmovapd, 2, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vmovapd, 2, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vmovapd, 2, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
-vmovapd, 2, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
-vmovapd, 2, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vmovapd, 2, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
-vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
-vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-vmovupd, 2, 0x6610, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vmovupd, 2, 0x6610, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vmovupd, 2, 0x6610, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
-vmovupd, 2, 0x6610, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
-vmovupd, 2, 0x6611, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vmovupd, 2, 0x6611, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-vpsllq, 3, 0x66F3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsllq, 3, 0x66F3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsraq, 3, 0x66E2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsraq, 3, 0x66E2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsrlq, 3, 0x66D3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsrlq, 3, 0x66D3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vmovaps, 2, 0x28, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vmovaps, 2, 0x28, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vmovaps, 2, 0x28, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
-vmovaps, 2, 0x28, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
-vmovaps, 2, 0x29, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vmovaps, 2, 0x29, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-vmovups, 2, 0x10, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vmovups, 2, 0x10, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vmovups, 2, 0x10, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
-vmovups, 2, 0x10, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
-vmovups, 2, 0x11, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vmovups, 2, 0x11, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vcvttpd2dq, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
+vcvttpd2dqx, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvttpd2dq, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
+vcvttpd2dqy, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
+
+vcvttpd2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
+vcvttpd2udqx, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvttpd2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
+vcvttpd2udqy, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
+
+vcvttps2dq, 2, 0xF35B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvttps2dq, 2, 0xF35B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+
+vcvttps2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvttps2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vmaxps, 3, 0x5F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vmaxps, 3, 0x5F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vminps, 3, 0x5D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vminps, 3, 0x5D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vcvtudq2ps, 2, 0xF27A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtudq2ps, 2, 0xF27A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+
+vfixupimmpd, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfixupimmpd, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vgetmantpd, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vgetmantpd, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vrndscalepd, 3, 0x6609, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vrndscalepd, 3, 0x6609, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+
+vfixupimmps, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfixupimmps, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vgetmantps, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vgetmantps, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vrndscaleps, 3, 0x6608, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vrndscaleps, 3, 0x6608, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+
+vfmadd132pd, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmadd132pd, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmadd213pd, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmadd213pd, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmadd231pd, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmadd231pd, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmaddsub132pd, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmaddsub132pd, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmaddsub213pd, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmaddsub213pd, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmaddsub231pd, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmaddsub231pd, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsub132pd, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsub132pd, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsub213pd, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsub213pd, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsub231pd, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsub231pd, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsubadd132pd, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsubadd132pd, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsubadd213pd, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsubadd213pd, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsubadd231pd, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsubadd231pd, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmadd132pd, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmadd132pd, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmadd213pd, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmadd213pd, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmadd231pd, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmadd231pd, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmsub132pd, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmsub132pd, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmsub213pd, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmsub213pd, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmsub231pd, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmsub231pd, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vscalefpd, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vscalefpd, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vfmadd132ps, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmadd132ps, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmadd213ps, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmadd213ps, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmadd231ps, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmadd231ps, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmaddsub132ps, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmaddsub132ps, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmaddsub213ps, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmaddsub213ps, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmaddsub231ps, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmaddsub231ps, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsub132ps, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsub132ps, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsub213ps, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsub213ps, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsub231ps, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsub231ps, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsubadd132ps, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsubadd132ps, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsubadd213ps, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsubadd213ps, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfmsubadd231ps, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfmsubadd231ps, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmadd132ps, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmadd132ps, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmadd213ps, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmadd213ps, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmadd231ps, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmadd231ps, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmsub132ps, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmsub132ps, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmsub213ps, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmsub213ps, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfnmsub231ps, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vfnmsub231ps, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vscalefps, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vscalefps, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vgetexppd, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vgetexppd, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+
+vgetexpps, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vgetexpps, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+
+vmaxpd, 3, 0x665F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vmaxpd, 3, 0x665F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vminpd, 3, 0x665D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vminpd, 3, 0x665D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vmovapd, 2, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
+vmovapd, 2, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
+vmovapd, 2, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vmovapd, 2, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
+
+vmovntpd, 2, 0x662B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vmovntpd, 2, 0x662B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
+
+vmovupd, 2, 0x6610, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
+vmovupd, 2, 0x6610, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
+vmovupd, 2, 0x6611, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vmovupd, 2, 0x6611, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
+
+vmovaps, 2, 0x28, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
+vmovaps, 2, 0x28, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
+vmovaps, 2, 0x29, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vmovaps, 2, 0x29, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
 
-vmovaps, 2, 0x29, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vmovaps, 2, 0x29, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
 vmovntps, 2, 0x2B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
 vmovntps, 2, 0x2B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vmovups, 2, 0x11, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vmovups, 2, 0x11, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-
-vmovddup, 2, 0xF212, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
-vmovddup, 2, 0xF212, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
 
-vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
-vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
-vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-vpslld, 3, 0x66F2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpslld, 3, 0x66F2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsrad, 3, 0x66E2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsrad, 3, 0x66E2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsrld, 3, 0x66D2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsrld, 3, 0x66D2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vmovups, 2, 0x10, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
+vmovups, 2, 0x10, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
+vmovups, 2, 0x11, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vmovups, 2, 0x11, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
+
+vmovddup, 2, 0xF212, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
+vmovddup, 2, 0xF212, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
+
+vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
+vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
+vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
+
+vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
+vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
+vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
 
-vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
 vmovntdq, 2, 0x66E7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
 vmovntdq, 2, 0x66E7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
 
-vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
+vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
+vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
+vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
 
-vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
-vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
-vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
 vmovshdup, 2, 0xF316, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM }
 vmovshdup, 2, 0xF316, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
 vmovsldup, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM }
 vmovsldup, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
 
-vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
-vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Load|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
-vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-
-vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-
-vpaddd, 3, 0x66FE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpaddd, 3, 0x66FE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpandd, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpandd, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpandnd, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpandnd, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpord, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpord, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vprold, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vprold, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vprold, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vprold, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vprord, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vprord, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vprord, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vprord, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpshufd, 3, 0x6670, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpshufd, 3, 0x6670, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpslld, 3, 0x6672, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vpslld, 3, 0x6672, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpslld, 3, 0x6672, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vpslld, 3, 0x6672, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpsrad, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vpsrad, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpsrad, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vpsrad, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpsrld, 3, 0x6672, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vpsrld, 3, 0x6672, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpsrld, 3, 0x6672, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vpsrld, 3, 0x6672, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpsubd, 3, 0x66FA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsubd, 3, 0x66FA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpunpckhdq, 3, 0x666A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpunpckhdq, 3, 0x666A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpunpckldq, 3, 0x6662, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpunpckldq, 3, 0x6662, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpxord, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpxord, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpaddq, 3, 0x66D4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpaddq, 3, 0x66D4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpandnq, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpandnq, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpandq, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpandq, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpmuludq, 3, 0x66F4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmuludq, 3, 0x66F4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vporq, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vporq, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vprolq, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vprolq, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vprolq, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vprolq, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vprorq, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vprorq, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vprorq, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vprorq, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpsllq, 3, 0x6673, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vpsllq, 3, 0x6673, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpsllq, 3, 0x6673, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vpsllq, 3, 0x6673, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpsraq, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vpsraq, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpsraq, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vpsraq, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vpsubq, 3, 0x66FB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsubq, 3, 0x66FB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpunpckhqdq, 3, 0x666D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpunpckhqdq, 3, 0x666D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpunpcklqdq, 3, 0x666C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpunpcklqdq, 3, 0x666C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpxorq, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpxorq, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vshufpd, 4, 0x66C6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vshufpd, 4, 0x66C6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vunpckhpd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vunpckhpd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vunpcklpd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vunpcklpd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegMask }
-vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM, RegMask }
-vpcmpd, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpd, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM, RegXMM, RegMask }
-vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM, RegYMM, RegMask }
-vpcmpequd, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpequd, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpled, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpled, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpleud, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpleud, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpltd, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpltd, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpltud, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpltud, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpneqd, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpneqd, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpnequd, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnequd, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpnled, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnled, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpnleud, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnleud, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpnltd, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnltd, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpnltud, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnltud, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpud, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpud, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-
-vpcmpgtd, 3, 0x6666, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpgtd, 3, 0x6666, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-
-vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegMask }
-vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM, RegMask }
-vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM, RegYMM, RegMask }
-vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM, RegXMM, RegMask }
-vpcmpequq, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpequq, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpleq, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpleq, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpleuq, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpleuq, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpltq, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpltq, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpltuq, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpltuq, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpneqq, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpneqq, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpnequq, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnequq, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpnleq, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnleq, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpnleuq, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnleuq, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpnltq, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnltq, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpnltuq, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnltuq, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpq, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpq, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vpcmpuq, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpuq, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-
-vpcmpgtq, 3, 0x6637, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpgtq, 3, 0x6637, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-vptestmq, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vptestmq, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-
-vpmovdb, 2, 0xF331, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovdb, 2, 0xF331, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-vpmovsdb, 2, 0xF321, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovsdb, 2, 0xF321, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-vpmovusdb, 2, 0xF311, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovusdb, 2, 0xF311, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
+vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
+vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
+
+vpaddd, 3, 0x66FE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpaddd, 3, 0x66FE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpandd, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpandd, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpandnd, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpandnd, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpord, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpord, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vprold, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
+vprold, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|Unspecified|BaseIndex, RegYMM }
+vprord, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
+vprord, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|Unspecified|BaseIndex, RegYMM }
+vpshufd, 3, 0x6670, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vpshufd, 3, 0x6670, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vpslld, 3, 0x66F2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpslld, 3, 0x6672, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
+vpslld, 3, 0x6672, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|Unspecified|BaseIndex, RegYMM }
+vpsrad, 3, 0x66E2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsrad, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
+vpsrad, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|Unspecified|BaseIndex, RegYMM }
+vpsrld, 3, 0x66D2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsrld, 3, 0x6672, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
+vpsrld, 3, 0x6672, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|Unspecified|BaseIndex, RegYMM }
+vpsubd, 3, 0x66FA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsubd, 3, 0x66FA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpunpckhdq, 3, 0x666A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpunpckhdq, 3, 0x666A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpunpckldq, 3, 0x6662, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpunpckldq, 3, 0x6662, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpxord, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpxord, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpaddq, 3, 0x66D4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpaddq, 3, 0x66D4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpandnq, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpandnq, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpandq, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpandq, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpmuludq, 3, 0x66F4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmuludq, 3, 0x66F4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vporq, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vporq, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vprolq, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
+vprolq, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|Unspecified|BaseIndex, RegYMM }
+vprorq, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
+vprorq, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|Unspecified|BaseIndex, RegYMM }
+vpsllq, 3, 0x66F3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsllq, 3, 0x6673, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
+vpsllq, 3, 0x6673, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|Unspecified|BaseIndex, RegYMM }
+vpsraq, 3, 0x66E2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsraq, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
+vpsraq, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|Unspecified|BaseIndex, RegYMM }
+vpsrlq, 3, 0x66D3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
+vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|Unspecified|BaseIndex, RegYMM }
+vpsubq, 3, 0x66FB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpsubq, 3, 0x66FB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpunpckhqdq, 3, 0x666D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpunpckhqdq, 3, 0x666D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpunpcklqdq, 3, 0x666C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpunpcklqdq, 3, 0x666C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpxorq, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpxorq, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vshufpd, 4, 0x66C6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vshufpd, 4, 0x66C6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vunpckhpd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vunpckhpd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vunpcklpd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vunpcklpd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpd, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpd, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpequd, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpequd, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpled, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpled, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpleud, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpleud, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpltd, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpltd, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpltud, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpltud, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpneqd, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpneqd, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnequd, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnequd, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnled, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnled, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnleud, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnleud, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnltd, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnltd, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnltud, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnltud, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpud, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpud, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+
+vpcmpgtd, 3, 0x6666, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpgtd, 3, 0x6666, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+
+vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpequq, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpequq, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpleq, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpleq, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpleuq, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpleuq, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpltq, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpltq, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpltuq, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpltuq, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpneqq, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpneqq, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnequq, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnequq, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnleq, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnleq, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnleuq, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnleuq, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnltq, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnltq, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnltuq, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnltuq, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpq, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpq, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpuq, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpuq, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+
+vpcmpgtq, 3, 0x6637, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpgtq, 3, 0x6637, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vptestmq, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vptestmq, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+
+vpmovdb, 2, 0xF331, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+vpmovsdb, 2, 0xF321, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+vpmovusdb, 2, 0xF311, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
 
 vpmovdb, 2, 0xF331, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
 vpmovdb, 2, 0xF331, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex }
@@ -5069,12 +4827,9 @@ vpmovsdb, 2, 0xF321, None, 1, CpuAVX512F
 vpmovusdb, 2, 0xF311, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
 vpmovusdb, 2, 0xF311, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex }
 
-vpmovdw, 2, 0xF333, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovdw, 2, 0xF333, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-vpmovsdw, 2, 0xF323, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovsdw, 2, 0xF323, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-vpmovusdw, 2, 0xF313, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovusdw, 2, 0xF313, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovdw, 2, 0xF333, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+vpmovsdw, 2, 0xF323, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+vpmovusdw, 2, 0xF313, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
 
 vpmovdw, 2, 0xF333, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
 vpmovdw, 2, 0xF333, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex }
@@ -5083,26 +4838,20 @@ vpmovsdw, 2, 0xF323, None, 1, CpuAVX512F
 vpmovusdw, 2, 0xF313, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
 vpmovusdw, 2, 0xF313, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex }
 
-vpmovqb, 2, 0xF332, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Word|Unspecified|BaseIndex }
-vpmovqb, 2, 0xF332, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex }
-vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Word|Unspecified|BaseIndex }
-vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex }
-vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Word|Unspecified|BaseIndex }
-vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex }
-
-vpmovqb, 2, 0xF332, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovqb, 2, 0xF332, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-
-vpmovqd, 2, 0xF335, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovqd, 2, 0xF335, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-vpmovsqd, 2, 0xF325, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovsqd, 2, 0xF325, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-vpmovusqd, 2, 0xF315, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovusqd, 2, 0xF315, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovqb, 2, 0xF332, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Word|Unspecified|BaseIndex }
+vpmovqb, 2, 0xF332, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex }
+vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Word|Unspecified|BaseIndex }
+vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex }
+vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Word|Unspecified|BaseIndex }
+vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex }
+
+vpmovqb, 2, 0xF332, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+
+vpmovqd, 2, 0xF335, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+vpmovsqd, 2, 0xF325, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+vpmovusqd, 2, 0xF315, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
 
 vpmovqd, 2, 0xF335, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
 vpmovqd, 2, 0xF335, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex }
@@ -5111,29 +4860,26 @@ vpmovsqd, 2, 0xF325, None, 1, CpuAVX512F
 vpmovusqd, 2, 0xF315, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
 vpmovusqd, 2, 0xF315, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex }
 
-vpmovqw, 2, 0xF334, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovqw, 2, 0xF334, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
-
-vpmovqw, 2, 0xF334, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
-vpmovqw, 2, 0xF334, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex }
-vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
-vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex }
-vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
-vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex }
+vpmovqw, 2, 0xF334, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
+
+vpmovqw, 2, 0xF334, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
+vpmovqw, 2, 0xF334, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex }
+vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
+vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex }
+vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
+vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex }
 
 vpmovsxbd, 2, 0x6621, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
 vpmovsxbd, 2, 0x6621, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM }
 vpmovzxbd, 2, 0x6631, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
 vpmovzxbd, 2, 0x6631, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM }
 
-vpmovsxbq, 2, 0x6622, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM }
-vpmovsxbq, 2, 0x6622, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM }
-vpmovzxbq, 2, 0x6632, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM }
-vpmovzxbq, 2, 0x6632, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM }
+vpmovsxbq, 2, 0x6622, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM }
+vpmovsxbq, 2, 0x6622, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM }
+vpmovzxbq, 2, 0x6632, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM }
+vpmovzxbq, 2, 0x6632, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM }
 
 vpmovsxdq, 2, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
 vpmovsxdq, 2, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM }
@@ -5145,50 +4891,44 @@ vpmovsxwd, 2, 0x6623, None, 1, CpuAVX512
 vpmovzxwd, 2, 0x6633, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
 vpmovzxwd, 2, 0x6633, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM }
 
-vpmovsxwq, 2, 0x6624, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
-vpmovsxwq, 2, 0x6624, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM }
-vpmovzxwq, 2, 0x6634, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
-vpmovzxwq, 2, 0x6634, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM }
-
-vptestmd, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vptestmd, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-
-vptestnmd, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vptestnmd, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-
-vptestnmq, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vptestnmq, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
-
-vshufps, 4, 0xC6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vshufps, 4, 0xC6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vunpckhps, 3, 0x15, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vunpckhps, 3, 0x15, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vunpcklps, 3, 0x14, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vunpcklps, 3, 0x14, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpmovsxwq, 2, 0x6624, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
+vpmovsxwq, 2, 0x6624, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM }
+vpmovzxwq, 2, 0x6634, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM }
+vpmovzxwq, 2, 0x6634, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM }
+
+vptestmd, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vptestmd, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+
+vptestnmd, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vptestnmd, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+
+vptestnmq, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vptestnmq, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+
+vshufps, 4, 0xC6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vshufps, 4, 0xC6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vunpckhps, 3, 0x15, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vunpckhps, 3, 0x15, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vunpcklps, 3, 0x14, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vunpcklps, 3, 0x14, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
 // AVX512VL instructions end.
 
 // AVX512VL and AVX512CD instructions.
 
-vpbroadcastmb2q, 2, 0xF32A, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
-vpbroadcastmb2q, 2, 0xF32A, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
-
-vpbroadcastmw2d, 2, 0xF33A, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
-vpbroadcastmw2d, 2, 0xF33A, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
-
-vpconflictd, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpconflictd, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-vplzcntd, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vplzcntd, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vpconflictq, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpconflictq, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vplzcntq, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vplzcntq, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vpconflictd, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vpconflictd, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vplzcntd, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vplzcntd, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+
+vpconflictq, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vpconflictq, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vplzcntq, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vplzcntq, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
 
 // AVX512VL and AVX512CD instructions end.
 
-// AVX512BW instructions end.
+// AVX512BW instructions.
 
 kaddd, 3, 0x664A, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
 kandd, 3, 0x6641, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
@@ -5231,14 +4971,10 @@ vdbpsadbw, 4, 0x6642, None, 1, CpuAVX512
 vdbpsadbw, 4, 0x6642, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
 vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW, Modrm|Load|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
 vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
 vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|Load|EVex=2|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
-vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|Load|EVex=3|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
-vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
-vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW, Modrm|Load|Masking=3|VexOpcode=0|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW, Modrm|Masking=3|VexOpcode=0|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
 
 vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
 vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
@@ -5249,14 +4985,10 @@ vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512B
 vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
 
 vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW, Modrm|Load|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
 vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
 vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|Load|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
-vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|Load|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
-vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
-vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW, Modrm|Load|Masking=3|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512BW, Modrm|Masking=3|VexOpcode=0|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
 
 vpabsb, 2, 0x661C, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM }
 vpabsb, 2, 0x661C, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM }
@@ -5287,9 +5019,9 @@ vpmulhrsw, 3, 0x660B, None, 1, CpuAVX512
 vpmulhrsw, 3, 0x660B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpmulhrsw, 3, 0x660B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
-vpackssdw, 3, 0x666B, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpackssdw, 3, 0x666B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpackssdw, 3, 0x666B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpackssdw, 3, 0x666B, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpackssdw, 3, 0x666B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpackssdw, 3, 0x666B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
 vpacksswb, 3, 0x6663, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpacksswb, 3, 0x6663, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
@@ -5298,9 +5030,9 @@ vpackuswb, 3, 0x6667, None, 1, CpuAVX512
 vpackuswb, 3, 0x6667, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpackuswb, 3, 0x6667, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
-vpackusdw, 3, 0x662B, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpackusdw, 3, 0x662B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpackusdw, 3, 0x662B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpackusdw, 3, 0x662B, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpackusdw, 3, 0x662B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpackusdw, 3, 0x662B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
 vpaddb, 3, 0x66FC, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpaddb, 3, 0x66FC, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
@@ -5320,9 +5052,9 @@ vpmaxub, 3, 0x66DE, None, 1, CpuAVX512BW
 vpminub, 3, 0x66DA, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpminub, 3, 0x66DA, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpminub, 3, 0x66DA, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsubb, 3, 0x66F8, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsubb, 3, 0x66F8, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpsubb, 3, 0x66F8, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsubb, 3, 0x66F8, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpsubb, 3, 0x66F8, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 vpsubsb, 3, 0x66E8, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpsubsb, 3, 0x66E8, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpsubsb, 3, 0x66E8, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
@@ -5363,42 +5095,30 @@ vpmulhw, 3, 0x66E5, None, 1, CpuAVX512BW
 vpmullw, 3, 0x66D5, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpmullw, 3, 0x66D5, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpmullw, 3, 0x66D5, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, ZMMword|Unspecified|BaseIndex, RegZMM }
-vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, XMMword|Unspecified|BaseIndex, RegXMM }
-vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, YMMword|Unspecified|BaseIndex, RegYMM }
-vpsllw, 3, 0x66F1, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Unspecified|BaseIndex, RegZMM }
+vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM }
+vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Unspecified|BaseIndex, RegYMM }
 vpsllw, 3, 0x66F1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsllw, 3, 0x66F1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, ZMMword|Unspecified|BaseIndex, RegZMM }
-vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, XMMword|Unspecified|BaseIndex, RegXMM }
-vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, YMMword|Unspecified|BaseIndex, RegYMM }
-vpsraw, 3, 0x66E1, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsllw, 3, 0x66F1, None, 1, CpuAVX512BW, Modrm|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
+vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Unspecified|BaseIndex, RegZMM }
+vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM }
+vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Unspecified|BaseIndex, RegYMM }
 vpsraw, 3, 0x66E1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsraw, 3, 0x66E1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, ZMMword|Unspecified|BaseIndex, RegZMM }
-vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, XMMword|Unspecified|BaseIndex, RegXMM }
-vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, YMMword|Unspecified|BaseIndex, RegYMM }
-vpsrlw, 3, 0x66D1, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsraw, 3, 0x66E1, None, 1, CpuAVX512BW, Modrm|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
+vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Unspecified|BaseIndex, RegZMM }
+vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM }
+vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Unspecified|BaseIndex, RegYMM }
 vpsrlw, 3, 0x66D1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsrlw, 3, 0x66D1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpsrlw, 3, 0x66D1, None, 1, CpuAVX512BW, Modrm|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
 vpsubsw, 3, 0x66E9, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpsubsw, 3, 0x66E9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpsubsw, 3, 0x66E9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 vpsubusw, 3, 0x66D9, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpsubusw, 3, 0x66D9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpsubusw, 3, 0x66D9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpsubw, 3, 0x66F9, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpsubw, 3, 0x66F9, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpsubw, 3, 0x66F9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpsubw, 3, 0x66F9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpsubw, 3, 0x66F9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 vpunpckhwd, 3, 0x6669, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpunpckhwd, 3, 0x6669, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpunpckhwd, 3, 0x6669, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
@@ -5406,19 +5126,15 @@ vpunpcklwd, 3, 0x6661, None, 1, CpuAVX51
 vpunpcklwd, 3, 0x6661, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpunpcklwd, 3, 0x6661, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
-vpalignr, 4, 0x660F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpalignr, 4, 0x660F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpalignr, 4, 0x660F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpalignr, 4, 0x660F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpalignr, 4, 0x660F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpalignr, 4, 0x660F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
 vpblendmb, 3, 0x6666, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpblendmb, 3, 0x6666, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpblendmb, 3, 0x6666, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpbroadcastb, 2, 0x6678, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Byte|Unspecified|BaseIndex, RegZMM }
-vpbroadcastb, 2, 0x6678, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Byte|Unspecified|BaseIndex, RegXMM }
-vpbroadcastb, 2, 0x6678, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Byte|Unspecified|BaseIndex, RegYMM }
-vpbroadcastb, 2, 0x667A, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegZMM }
-vpbroadcastb, 2, 0x667A, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegXMM }
-vpbroadcastb, 2, 0x667A, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegYMM }
+vpbroadcastb, 2, 0x6678, None, 1, CpuAVX512BW, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Byte|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vpbroadcastb, 2, 0x667A, None, 1, CpuAVX512BW, Modrm|Masking=3|VexOpcode=1|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, RegXMM|RegYMM|RegZMM }
 
 vpblendmw, 3, 0x6666, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpblendmw, 3, 0x6666, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
@@ -5442,12 +5158,8 @@ vpsrlvw, 3, 0x6610, None, 1, CpuAVX512BW
 vpsrlvw, 3, 0x6610, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpsrlvw, 3, 0x6610, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
-vpbroadcastw, 2, 0x6679, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex, RegZMM }
-vpbroadcastw, 2, 0x6679, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM }
-vpbroadcastw, 2, 0x6679, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM }
-vpbroadcastw, 2, 0x667B, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegZMM }
-vpbroadcastw, 2, 0x667B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegXMM }
-vpbroadcastw, 2, 0x667B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegYMM }
+vpbroadcastw, 2, 0x6679, None, 1, CpuAVX512BW, Modrm|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vpbroadcastw, 2, 0x667B, None, 1, CpuAVX512BW, Modrm|Masking=3|VexOpcode=1|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegXMM|RegYMM|RegZMM }
 
 vpcmpeqb, 3, 0x6674, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vpcmpeqb, 3, 0x6674, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
@@ -5459,44 +5171,44 @@ vpcmpb, 4, 0x663F, None, 1, CpuAVX512BW,
 vpcmpb, 4, 0x663F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
 vpcmpb, 4, 0x663F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpeqb, 3, 0x663F, 0, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpeqb, 3, 0x663F, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpeqb, 3, 0x663F, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpeqb, 3, 0x663F, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpeqb, 3, 0x663F, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpleb, 3, 0x663F, 2, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpleb, 3, 0x663F, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpleb, 3, 0x663F, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpleb, 3, 0x663F, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpleb, 3, 0x663F, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpltb, 3, 0x663F, 1, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpltb, 3, 0x663F, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpltb, 3, 0x663F, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpltb, 3, 0x663F, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpltb, 3, 0x663F, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpneqb, 3, 0x663F, 4, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpneqb, 3, 0x663F, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpneqb, 3, 0x663F, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpneqb, 3, 0x663F, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpneqb, 3, 0x663F, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpnleb, 3, 0x663F, 6, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnleb, 3, 0x663F, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnleb, 3, 0x663F, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnleb, 3, 0x663F, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnleb, 3, 0x663F, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpnltb, 3, 0x663F, 5, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnltb, 3, 0x663F, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnltb, 3, 0x663F, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnltb, 3, 0x663F, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnltb, 3, 0x663F, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpub, 4, 0x663E, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vpcmpub, 4, 0x663E, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
 vpcmpub, 4, 0x663E, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpequb, 3, 0x663E, 0, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpequb, 3, 0x663E, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpequb, 3, 0x663E, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpequb, 3, 0x663E, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpequb, 3, 0x663E, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpleub, 3, 0x663E, 2, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpleub, 3, 0x663E, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpleub, 3, 0x663E, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpleub, 3, 0x663E, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpleub, 3, 0x663E, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpltub, 3, 0x663E, 1, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpltub, 3, 0x663E, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpltub, 3, 0x663E, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpltub, 3, 0x663E, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpltub, 3, 0x663E, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpnequb, 3, 0x663E, 4, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnequb, 3, 0x663E, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnequb, 3, 0x663E, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnequb, 3, 0x663E, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnequb, 3, 0x663E, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpnleub, 3, 0x663E, 6, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnleub, 3, 0x663E, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnleub, 3, 0x663E, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnleub, 3, 0x663E, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnleub, 3, 0x663E, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpnltub, 3, 0x663E, 5, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnltub, 3, 0x663E, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnltub, 3, 0x663E, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnltub, 3, 0x663E, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnltub, 3, 0x663E, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 
 vpcmpeqw, 3, 0x6675, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vpcmpeqw, 3, 0x6675, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
@@ -5508,57 +5220,51 @@ vpcmpw, 4, 0x663F, None, 1, CpuAVX512BW,
 vpcmpw, 4, 0x663F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
 vpcmpw, 4, 0x663F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpeqw, 3, 0x663F, 0, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpeqw, 3, 0x663F, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpeqw, 3, 0x663F, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpeqw, 3, 0x663F, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpeqw, 3, 0x663F, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmplew, 3, 0x663F, 2, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmplew, 3, 0x663F, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmplew, 3, 0x663F, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmplew, 3, 0x663F, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmplew, 3, 0x663F, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpltw, 3, 0x663F, 1, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpltw, 3, 0x663F, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpltw, 3, 0x663F, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpltw, 3, 0x663F, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpltw, 3, 0x663F, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpneqw, 3, 0x663F, 4, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpneqw, 3, 0x663F, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpneqw, 3, 0x663F, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpneqw, 3, 0x663F, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpneqw, 3, 0x663F, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpnlew, 3, 0x663F, 6, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnlew, 3, 0x663F, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnlew, 3, 0x663F, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnlew, 3, 0x663F, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnlew, 3, 0x663F, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpnltw, 3, 0x663F, 5, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnltw, 3, 0x663F, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnltw, 3, 0x663F, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnltw, 3, 0x663F, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnltw, 3, 0x663F, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpuw, 4, 0x663E, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
 vpcmpuw, 4, 0x663E, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
 vpcmpuw, 4, 0x663E, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpequw, 3, 0x663E, 0, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpequw, 3, 0x663E, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpequw, 3, 0x663E, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpequw, 3, 0x663E, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpequw, 3, 0x663E, 0, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpleuw, 3, 0x663E, 2, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpleuw, 3, 0x663E, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpleuw, 3, 0x663E, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpleuw, 3, 0x663E, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpleuw, 3, 0x663E, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpltuw, 3, 0x663E, 1, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpltuw, 3, 0x663E, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpltuw, 3, 0x663E, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpltuw, 3, 0x663E, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpltuw, 3, 0x663E, 1, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpnequw, 3, 0x663E, 4, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnequw, 3, 0x663E, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnequw, 3, 0x663E, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnequw, 3, 0x663E, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnequw, 3, 0x663E, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpnleuw, 3, 0x663E, 6, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnleuw, 3, 0x663E, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnleuw, 3, 0x663E, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnleuw, 3, 0x663E, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnleuw, 3, 0x663E, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 vpcmpnltuw, 3, 0x663E, 5, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpcmpnltuw, 3, 0x663E, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpcmpnltuw, 3, 0x663E, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpcmpnltuw, 3, 0x663E, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpcmpnltuw, 3, 0x663E, 5, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 
-vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=3|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, ZMMword|Unspecified|BaseIndex, RegZMM }
-vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, XMMword|Unspecified|BaseIndex, RegXMM }
-vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, YMMword|Unspecified|BaseIndex, RegYMM }
-vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
-vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=3|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, ZMMword|Unspecified|BaseIndex, RegZMM }
-vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
-vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, XMMword|Unspecified|BaseIndex, RegXMM }
-vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
-vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, YMMword|Unspecified|BaseIndex, RegYMM }
+vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Unspecified|BaseIndex, RegZMM }
+vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM }
+vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Unspecified|BaseIndex, RegYMM }
+vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Unspecified|BaseIndex, RegZMM }
+vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM }
+vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Unspecified|BaseIndex, RegYMM }
 
 vpextrw, 3, 0x66C5, None, 1, CpuAVX512BW, Modrm|EVex=4|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Reg64 }
 vpinsrw, 4, 0x66C4, None, 1, CpuAVX512BW, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg32|Reg64, RegXMM, RegXMM }
@@ -5576,27 +5282,18 @@ vpmaddwd, 3, 0x66F5, None, 1, CpuAVX512B
 vpmaddwd, 3, 0x66F5, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpmaddwd, 3, 0x66F5, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
-vpmovb2m, 2, 0xF329, None, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegMask }
-vpmovb2m, 2, 0xF329, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegMask }
-vpmovb2m, 2, 0xF329, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegMask }
-
-vpmovm2b, 2, 0xF328, None, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegZMM }
-vpmovm2b, 2, 0xF328, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
-vpmovm2b, 2, 0xF328, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
-
-vpmovm2w, 2, 0xF328, None, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegZMM }
-vpmovm2w, 2, 0xF328, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
-vpmovm2w, 2, 0xF328, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
+vpmovb2m, 2, 0xF329, None, 1, CpuAVX512BW, Modrm|EVex=5|VexOpcode=1|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegMask }
+vpmovw2m, 2, 0xF329, None, 1, CpuAVX512BW, Modrm|EVex=5|VexOpcode=1|VexW=2|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegMask }
+
+vpmovm2b, 2, 0xF328, None, 1, CpuAVX512BW, Modrm|EVex=5|VexOpcode=1|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM|RegYMM|RegZMM }
+vpmovm2w, 2, 0xF328, None, 1, CpuAVX512BW, Modrm|EVex=5|VexOpcode=1|VexW=2|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM|RegYMM|RegZMM }
 
 vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegYMM|RegMem }
-vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
 vpmovuswb, 2, 0xF310, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegYMM|RegMem }
-vpmovuswb, 2, 0xF310, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovuswb, 2, 0xF310, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovuswb, 2, 0xF310, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
 vpmovwb, 2, 0xF330, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegYMM|RegMem }
-vpmovwb, 2, 0xF330, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpmovwb, 2, 0xF330, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovwb, 2, 0xF330, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, RegXMM|RegMem }
 
 vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, YMMword|Unspecified|BaseIndex }
 vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
@@ -5615,10 +5312,6 @@ vpmovzxbw, 2, 0x6630, None, 1, CpuAVX512
 vpmovzxbw, 2, 0x6630, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
 vpmovzxbw, 2, 0x6630, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegYMM }
 
-vpmovw2m, 2, 0xF329, None, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegMask }
-vpmovw2m, 2, 0xF329, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegMask }
-vpmovw2m, 2, 0xF329, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegMask }
-
 vpsadbw, 3, 0x66F6, None, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpsadbw, 3, 0x66F6, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpsadbw, 3, 0x66F6, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
@@ -5671,103 +5364,98 @@ ktestw, 2, 0x99, None, 1, CpuAVX512DQ, M
 kshiftlb, 3, 0x6632, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask }
 kshiftrb, 3, 0x6630, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask }
 
-vandnpd, 3, 0x6655, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vandnpd, 3, 0x6655, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vandnpd, 3, 0x6655, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vandpd, 3, 0x6654, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vandpd, 3, 0x6654, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vandpd, 3, 0x6654, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vorpd, 3, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vorpd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vorpd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vxorpd, 3, 0x6657, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vxorpd, 3, 0x6657, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vxorpd, 3, 0x6657, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vandnps, 3, 0x55, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vandnps, 3, 0x55, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vandnps, 3, 0x55, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vandps, 3, 0x54, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vandps, 3, 0x54, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vandps, 3, 0x54, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vorps, 3, 0x56, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vorps, 3, 0x56, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vorps, 3, 0x56, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vxorps, 3, 0x57, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vxorps, 3, 0x57, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vxorps, 3, 0x57, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vandnpd, 3, 0x6655, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vandnpd, 3, 0x6655, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vandnpd, 3, 0x6655, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vandpd, 3, 0x6654, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vandpd, 3, 0x6654, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vandpd, 3, 0x6654, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vorpd, 3, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vorpd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vorpd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vxorpd, 3, 0x6657, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vxorpd, 3, 0x6657, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vxorpd, 3, 0x6657, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vandnps, 3, 0x55, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vandnps, 3, 0x55, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vandnps, 3, 0x55, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vandps, 3, 0x54, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vandps, 3, 0x54, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vandps, 3, 0x54, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vorps, 3, 0x56, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vorps, 3, 0x56, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vorps, 3, 0x56, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vxorps, 3, 0x57, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vxorps, 3, 0x57, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vxorps, 3, 0x57, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
-vbroadcastf32x2, 2, 0x6619, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegZMM }
-vbroadcastf32x2, 2, 0x6619, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM }
+vbroadcastf32x2, 2, 0x6619, None, 1, CpuAVX512DQ, Modrm|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM }
 vbroadcastf32x8, 2, 0x661B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegZMM }
-vbroadcasti32x2, 2, 0x6659, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegZMM }
-vbroadcasti32x2, 2, 0x6659, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM }
-vbroadcasti32x2, 2, 0x6659, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM }
+vbroadcasti32x2, 2, 0x6659, None, 1, CpuAVX512DQ, Modrm|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
 vbroadcasti32x8, 2, 0x665B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegZMM }
 
-vbroadcastf64x2, 2, 0x661A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegZMM }
-vbroadcastf64x2, 2, 0x661A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegYMM }
-vbroadcasti64x2, 2, 0x665A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegZMM }
-vbroadcasti64x2, 2, 0x665A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegYMM }
-
-vcvtpd2qq, 2, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vcvtpd2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtpd2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vcvtpd2qq, 3, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
-vcvtpd2uqq, 2, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vcvtpd2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtpd2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vcvtpd2uqq, 3, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
-
-vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
-vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM }
-vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM }
+vbroadcastf64x2, 2, 0x661A, None, 1, CpuAVX512DQ, Modrm|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegYMM|RegZMM }
+vbroadcasti64x2, 2, 0x665A, None, 1, CpuAVX512DQ, Modrm|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegYMM|RegZMM }
+
+vcvtpd2qq, 2, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvtpd2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtpd2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vcvtpd2qq, 3, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
+vcvtpd2uqq, 2, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvtpd2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtpd2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vcvtpd2uqq, 3, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
+
+vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
+vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM }
+vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM }
 vcvtps2qq, 3, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegYMM, RegZMM }
-vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
-vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM }
-vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM }
+vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
+vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM }
+vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM }
 vcvtps2uqq, 3, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegYMM, RegZMM }
 
-vcvtqq2pd, 2, 0xF3E6, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vcvtqq2pd, 2, 0xF3E6, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtqq2pd, 2, 0xF3E6, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vcvtqq2pd, 3, 0xF3E6, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
-vcvtuqq2pd, 2, 0xF37A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vcvtuqq2pd, 2, 0xF37A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtuqq2pd, 2, 0xF37A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vcvtuqq2pd, 3, 0xF37A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
-
-vcvtqq2ps, 2, 0x5B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
-vcvtqq2ps, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
-vcvtqq2psx, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtqq2ps, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
-vcvtqq2psy, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
-vcvtqq2ps, 3, 0x5B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
-
-vcvttpd2qq, 2, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vcvttpd2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvttpd2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vcvttpd2qq, 3, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
-vcvttpd2uqq, 2, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vcvttpd2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvttpd2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vcvttpd2uqq, 3, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
-
-vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
-vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM }
-vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM }
+vcvtqq2pd, 2, 0xF3E6, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvtqq2pd, 2, 0xF3E6, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtqq2pd, 2, 0xF3E6, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vcvtqq2pd, 3, 0xF3E6, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
+vcvtuqq2pd, 2, 0xF37A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvtuqq2pd, 2, 0xF37A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtuqq2pd, 2, 0xF37A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vcvtuqq2pd, 3, 0xF37A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
+
+vcvtqq2ps, 2, 0x5B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
+vcvtqq2ps, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
+vcvtqq2psx, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtqq2ps, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
+vcvtqq2psy, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
+vcvtqq2ps, 3, 0x5B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
+
+vcvttpd2qq, 2, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvttpd2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvttpd2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vcvttpd2qq, 3, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
+vcvttpd2uqq, 2, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vcvttpd2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvttpd2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vcvttpd2uqq, 3, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
+
+vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
+vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM }
+vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM }
 vcvttps2qq, 3, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegYMM, RegZMM }
-vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
-vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM }
-vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM }
+vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
+vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM }
+vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM }
 vcvttps2uqq, 3, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegYMM, RegZMM }
 
-vcvtuqq2ps, 2, 0xF27A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
-vcvtuqq2ps, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
-vcvtuqq2psx, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vcvtuqq2ps, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
-vcvtuqq2psy, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
-vcvtuqq2ps, 3, 0xF27A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
+vcvtuqq2ps, 2, 0xF27A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegYMM }
+vcvtuqq2ps, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex, RegXMM }
+vcvtuqq2psx, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vcvtuqq2ps, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex, RegXMM }
+vcvtuqq2psy, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegXMM }
+vcvtuqq2ps, 3, 0xF27A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
 
 vextractf32x8, 3, 0x661B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegYMM|RegMem }
 vextracti32x8, 3, 0x663B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegYMM|RegMem }
@@ -5780,79 +5468,63 @@ vfpclassss, 3, 0x6667, None, 1, CpuAVX51
 vpextrd, 3, 0x6616, None, 1, CpuAVX512DQ, Modrm|EVex=4|VexOpcode=2|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Dword|Unspecified|BaseIndex }
 vpinsrd, 4, 0x6622, None, 1, CpuAVX512DQ, Modrm|EVex=4|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg32|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 
-vextractf64x2, 3, 0x6619, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, XMMword|Unspecified|BaseIndex }
-vextractf64x2, 3, 0x6619, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, XMMword|Unspecified|BaseIndex }
-vextracti64x2, 3, 0x6639, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, XMMword|Unspecified|BaseIndex }
-vextracti64x2, 3, 0x6639, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, XMMword|Unspecified|BaseIndex }
-vfpclasssd, 3, 0x6667, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegMask }
-vpextrq, 3, 0x6616, None, 1, CpuAVX512DQ, Modrm|EVex=4|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg64|Qword|Unspecified|BaseIndex }
-vpinsrq, 4, 0x6622, None, 1, CpuAVX512DQ, Modrm|EVex=4|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg64|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-
-vextractf64x2, 3, 0x6619, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegXMM|RegMem }
-vextractf64x2, 3, 0x6619, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegXMM|RegMem }
-vextracti64x2, 3, 0x6639, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegXMM|RegMem }
-vextracti64x2, 3, 0x6639, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegXMM|RegMem }
-vinsertf64x2, 4, 0x6618, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vinsertf64x2, 4, 0x6618, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vinserti64x2, 4, 0x6638, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vinserti64x2, 4, 0x6638, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vfpclasspd, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|BaseIndex, RegMask }
-vfpclasspdz, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegMask }
-vfpclasspd, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|BaseIndex, RegMask }
-vfpclasspdx, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegMask }
-vfpclasspd, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|BaseIndex, RegMask }
-vfpclasspdy, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegMask }
-
-vfpclassps, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|BaseIndex, RegMask }
-vfpclasspsz, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegMask }
-vfpclassps, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|BaseIndex, RegMask }
-vfpclasspsx, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegMask }
-vfpclassps, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|BaseIndex, RegMask }
-vfpclasspsy, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegMask }
-
-vpmovd2m, 2, 0xF339, None, 1, CpuAVX512DQ, Modrm|EVex=1|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegMask }
-vpmovd2m, 2, 0xF339, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegMask }
-vpmovd2m, 2, 0xF339, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegMask }
-
-vpmovm2d, 2, 0xF338, None, 1, CpuAVX512DQ, Modrm|EVex=1|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegZMM }
-vpmovm2d, 2, 0xF338, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
-vpmovm2d, 2, 0xF338, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
-
-vpmovm2q, 2, 0xF338, None, 1, CpuAVX512DQ, Modrm|EVex=1|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegZMM }
-vpmovm2q, 2, 0xF338, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
-vpmovm2q, 2, 0xF338, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
-
-vpmovq2m, 2, 0xF339, None, 1, CpuAVX512DQ, Modrm|EVex=1|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegMask }
-vpmovq2m, 2, 0xF339, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegMask }
-vpmovq2m, 2, 0xF339, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegMask }
-
-vpmullq, 3, 0x6640, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpmullq, 3, 0x6640, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmullq, 3, 0x6640, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vrangepd, 4, 0x6650, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vrangepd, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vrangepd, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vrangepd, 5, 0x6650, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM, RegZMM }
-vreducepd, 3, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vreducepd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vreducepd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
-vreducepd, 4, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM }
-
-vrangeps, 4, 0x6650, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vrangeps, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vrangeps, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vfpclasssd, 3, 0x6667, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=2|VexOpcode=2|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegMask }
+vpextrq, 3, 0x6616, None, 1, CpuAVX512DQ, Modrm|EVex=4|VexOpcode=2|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg64|Qword|Unspecified|BaseIndex }
+vpinsrq, 4, 0x6622, None, 1, CpuAVX512DQ, Modrm|EVex=4|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg64|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+
+vextractf64x2, 3, 0x6619, None, 1, CpuAVX512DQ, Modrm|Masking=3|VexOpcode=2|VexW=2|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|RegZMM, RegXMM|RegMem }
+vextractf64x2, 3, 0x6619, None, 1, CpuAVX512DQ, Modrm|Masking=2|VexOpcode=2|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|RegZMM, XMMword|Unspecified|BaseIndex }
+vextracti64x2, 3, 0x6639, None, 1, CpuAVX512DQ, Modrm|Masking=3|VexOpcode=2|VexW=2|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|RegZMM, RegXMM|RegMem }
+vextracti64x2, 3, 0x6639, None, 1, CpuAVX512DQ, Modrm|Masking=2|VexOpcode=2|VexW=2|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|RegZMM, XMMword|Unspecified|BaseIndex }
+vinsertf64x2, 4, 0x6618, None, 1, CpuAVX512DQ, Modrm|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
+vinserti64x2, 4, 0x6638, None, 1, CpuAVX512DQ, Modrm|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
+
+vfpclasspd, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|BaseIndex, RegMask }
+vfpclasspdz, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegMask }
+vfpclasspd, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|BaseIndex, RegMask }
+vfpclasspdx, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegMask }
+vfpclasspd, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|BaseIndex, RegMask }
+vfpclasspdy, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegMask }
+
+vfpclassps, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|BaseIndex, RegMask }
+vfpclasspsz, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegMask }
+vfpclassps, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|BaseIndex, RegMask }
+vfpclasspsx, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegMask }
+vfpclassps, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|BaseIndex, RegMask }
+vfpclasspsy, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegMask }
+
+vpmovd2m, 2, 0xF339, None, 1, CpuAVX512DQ, Modrm|EVex=5|VexOpcode=1|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegMask }
+vpmovq2m, 2, 0xF339, None, 1, CpuAVX512DQ, Modrm|EVex=5|VexOpcode=1|VexW=2|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegMask }
+
+vpmovm2d, 2, 0xF338, None, 1, CpuAVX512DQ, Modrm|EVex=5|VexOpcode=1|VexW=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM|RegYMM|RegZMM }
+vpmovm2q, 2, 0xF338, None, 1, CpuAVX512DQ, Modrm|EVex=5|VexOpcode=1|VexW=2|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM|RegYMM|RegZMM }
+
+vpmullq, 3, 0x6640, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpmullq, 3, 0x6640, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmullq, 3, 0x6640, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vrangepd, 4, 0x6650, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vrangepd, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vrangepd, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vrangepd, 5, 0x6650, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM, RegZMM }
+vreducepd, 3, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vreducepd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vreducepd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vreducepd, 4, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM }
+
+vrangeps, 4, 0x6650, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vrangeps, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vrangeps, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 vrangeps, 5, 0x6650, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM, RegZMM }
-vreduceps, 3, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vreduceps, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
-vreduceps, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+vreduceps, 3, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vreduceps, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vreduceps, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
 vreduceps, 4, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM }
 
-vrangesd, 4, 0x6651, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vrangesd, 5, 0x6651, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
-vreducesd, 4, 0x6657, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vreducesd, 5, 0x6657, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
+vrangesd, 4, 0x6651, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vrangesd, 5, 0x6651, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
+vreducesd, 4, 0x6657, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vreducesd, 5, 0x6657, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
 
 vrangess, 4, 0x6651, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vrangess, 5, 0x6651, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
@@ -5869,20 +5541,20 @@ clwb, 1, 0x660fae, 0x6, 2, CpuCLWB, Modr
 
 // AVX512IFMA instructions
 
-vpmadd52huq, 3, 0x66B5, None, 1, CpuAVX512IFMA, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpmadd52huq, 3, 0x66B5, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmadd52huq, 3, 0x66B5, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-vpmadd52luq, 3, 0x66B4, None, 1, CpuAVX512IFMA, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpmadd52luq, 3, 0x66B4, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmadd52luq, 3, 0x66B4, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpmadd52huq, 3, 0x66B5, None, 1, CpuAVX512IFMA, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpmadd52huq, 3, 0x66B5, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmadd52huq, 3, 0x66B5, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpmadd52luq, 3, 0x66B4, None, 1, CpuAVX512IFMA, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpmadd52luq, 3, 0x66B4, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmadd52luq, 3, 0x66B4, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
 // AVX512IFMA instructions end
 
 // AVX512VBMI instructions
 
-vpmultishiftqb, 3, 0x6683, None, 1, CpuAVX512VBMI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpmultishiftqb, 3, 0x6683, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpmultishiftqb, 3, 0x6683, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpmultishiftqb, 3, 0x6683, None, 1, CpuAVX512VBMI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpmultishiftqb, 3, 0x6683, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpmultishiftqb, 3, 0x6683, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 vpermb, 3, 0x668D, None, 1, CpuAVX512VBMI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpermb, 3, 0x668D, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 vpermb, 3, 0x668D, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
@@ -5898,98 +5570,73 @@ vpermt2b, 3, 0x667D, None, 1, CpuAVX512V
 // AVX512_4FMAPS instructions
 
 v4fmaddps, 3, 0xf29a, None, 1, CpuAVX512_4FMAPS, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-v4fmaddps, 3, 0xf29a, None, 1, CpuAVX512_4FMAPS|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-v4fmaddps, 3, 0xf29a, None, 1, CpuAVX512_4FMAPS|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
 v4fnmaddps, 3, 0xf2aa, None, 1, CpuAVX512_4FMAPS, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-v4fnmaddps, 3, 0xf2aa, None, 1, CpuAVX512_4FMAPS|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-v4fnmaddps, 3, 0xf2aa, None, 1, CpuAVX512_4FMAPS|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-v4fmaddss, 3, 0xf29b, None, 1, CpuAVX512_4FMAPS, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-
-v4fnmaddss, 3, 0xf2ab, None, 1, CpuAVX512_4FMAPS, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+v4fmaddss, 3, 0xf29b, None, 1, CpuAVX512_4FMAPS, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+v4fnmaddss, 3, 0xf2ab, None, 1, CpuAVX512_4FMAPS, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
 
 // AVX512_4FMAPS instructions end
 
 // AVX512_4VNNIW instructions
 
 vp4dpwssd, 3, 0xf252, None, 1, CpuAVX512_4VNNIW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vp4dpwssd, 3, 0xf252, None, 1, CpuAVX512_4VNNIW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vp4dpwssd, 3, 0xf252, None, 1, CpuAVX512_4VNNIW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
 vp4dpwssds, 3, 0xf253, None, 1, CpuAVX512_4VNNIW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vp4dpwssds, 3, 0xf253, None, 1, CpuAVX512_4VNNIW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vp4dpwssds, 3, 0xf253, None, 1, CpuAVX512_4VNNIW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImplicitQuadGroup, { XMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
 // AVX512_4VNNIW instructions end
 
 // AVX512_VPOPCNTDQ instructions
 
-vpopcntd, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpopcntd, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM }
-vpopcntd, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vpopcntq, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpopcntq, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
-vpopcntq, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
+vpopcntd, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vpopcntd, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM }
+vpopcntd, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM }
+
+vpopcntq, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM }
+vpopcntq, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM }
+vpopcntq, 2, 0x6655, None, 1, CpuAVX512_VPOPCNTDQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM }
 
 // AVX512_VPOPCNTDQ instructions end
 
 // AVX512_VBMI2 instructions
 
-vpcompressb, 2, 0x6663, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vpcompressb, 2, 0x6663, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vpcompressb, 2, 0x6663, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vpcompressb, 2, 0x6663, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
-vpcompressb, 2, 0x6663, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpcompressb, 2, 0x6663, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-
-vpcompressw, 2, 0x6663, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=2|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vpcompressw, 2, 0x6663, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=2|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vpcompressw, 2, 0x6663, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=2|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vpcompressw, 2, 0x6663, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
-vpcompressw, 2, 0x6663, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
-vpcompressw, 2, 0x6663, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
-
-vpexpandb, 2, 0x6662, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpexpandb, 2, 0x6662, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM }
-vpexpandb, 2, 0x6662, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vpexpandw, 2, 0x6662, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM }
-vpexpandw, 2, 0x6662, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM }
-vpexpandw, 2, 0x6662, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
-
-vpshldvd, 3, 0x6671, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpshldvd, 3, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshldvd, 3, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpshrdvd, 3, 0x6673, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpshrdvd, 3, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshrdvd, 3, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpshldvq, 3, 0x6671, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpshldvq, 3, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshldvq, 3, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpshrdvq, 3, 0x6673, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpshrdvq, 3, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshrdvq, 3, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpshldd, 4, 0x6671, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpshldd, 4, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshldd, 4, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpshrdd, 4, 0x6673, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpshrdd, 4, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshrdd, 4, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpshldq, 4, 0x6671, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpshldq, 4, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshldq, 4, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpshrdq, 4, 0x6673, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpshrdq, 4, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpshrdq, 4, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpcompressb, 2, 0x6663, None, 1, CpuAVX512_VBMI2, Modrm|Masking=2|VexOpcode=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, XMMword|YMMword|ZMMword|Unspecified|BaseIndex }
+vpcompressb, 2, 0x6663, None, 1, CpuAVX512_VBMI2, Modrm|Masking=3|VexOpcode=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
+
+vpcompressw, 2, 0x6663, None, 1, CpuAVX512_VBMI2, Modrm|Masking=2|VexOpcode=1|VexW=2|Disp8MemShift=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, XMMword|YMMword|ZMMword|Unspecified|BaseIndex }
+vpcompressw, 2, 0x6663, None, 1, CpuAVX512_VBMI2, Modrm|Masking=3|VexOpcode=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
+
+vpexpandb, 2, 0x6662, None, 1, CpuAVX512_VBMI2, Modrm|Masking=3|VexOpcode=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vpexpandw, 2, 0x6662, None, 1, CpuAVX512_VBMI2, Modrm|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+
+vpshldvd, 3, 0x6671, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpshldvd, 3, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshldvd, 3, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpshrdvd, 3, 0x6673, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpshrdvd, 3, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshrdvd, 3, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpshldvq, 3, 0x6671, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpshldvq, 3, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshldvq, 3, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpshrdvq, 3, 0x6673, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpshrdvq, 3, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshrdvq, 3, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpshldd, 4, 0x6671, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpshldd, 4, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshldd, 4, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpshrdd, 4, 0x6673, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpshrdd, 4, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshrdd, 4, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpshldq, 4, 0x6671, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpshldq, 4, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshldq, 4, 0x6671, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpshrdq, 4, 0x6673, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpshrdq, 4, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpshrdq, 4, 0x6673, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
 vpshldvw, 3, 0x6670, None, 1, CpuAVX512_VBMI2, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vpshldvw, 3, 0x6670, None, 1, CpuAVX512_VBMI2|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
@@ -6011,21 +5658,21 @@ vpshrdw, 4, 0x6672, None, 1, CpuAVX512_V
 
 // AVX512_VNNI instructions
 
-vpdpbusd, 3, 0x6650, None, 1, CpuAVX512_VNNI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpdpbusd, 3, 0x6650, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpdpbusd, 3, 0x6650, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpdpbusds, 3, 0x6651, None, 1, CpuAVX512_VNNI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpdpbusds, 3, 0x6651, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpdpbusds, 3, 0x6651, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpdpwssd, 3, 0x6652, None, 1, CpuAVX512_VNNI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpdpwssd, 3, 0x6652, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpdpwssd, 3, 0x6652, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vpdpwssds, 3, 0x6653, None, 1, CpuAVX512_VNNI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpdpwssds, 3, 0x6653, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpdpwssds, 3, 0x6653, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpdpbusd, 3, 0x6650, None, 1, CpuAVX512_VNNI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpdpbusd, 3, 0x6650, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpdpbusd, 3, 0x6650, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpdpbusds, 3, 0x6651, None, 1, CpuAVX512_VNNI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpdpbusds, 3, 0x6651, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpdpbusds, 3, 0x6651, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpdpwssd, 3, 0x6652, None, 1, CpuAVX512_VNNI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpdpwssd, 3, 0x6652, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpdpwssd, 3, 0x6652, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vpdpwssds, 3, 0x6653, None, 1, CpuAVX512_VNNI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpdpwssds, 3, 0x6653, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpdpwssds, 3, 0x6653, None, 1, CpuAVX512_VNNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
 // AVX512_VNNI instructions end
 
@@ -6039,21 +5686,21 @@ vpopcntw, 2, 0x6654, None, 1, CpuAVX512_
 vpopcntw, 2, 0x6654, None, 1, CpuAVX512_BITALG|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM }
 vpopcntw, 2, 0x6654, None, 1, CpuAVX512_BITALG|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM }
 
-vpshufbitqmb, 3, 0x668f, None, 1, CpuAVX512_BITALG, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
-vpshufbitqmb, 3, 0x668f, None, 1, CpuAVX512_BITALG|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
-vpshufbitqmb, 3, 0x668f, None, 1, CpuAVX512_BITALG|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
+vpshufbitqmb, 3, 0x668f, None, 1, CpuAVX512_BITALG, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegMask }
+vpshufbitqmb, 3, 0x668f, None, 1, CpuAVX512_BITALG|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegMask }
+vpshufbitqmb, 3, 0x668f, None, 1, CpuAVX512_BITALG|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegMask }
 
 // AVX512_BITALG instructions end
 
 // AVX512 + GFNI instructions
 
-vgf2p8affineinvqb, 4, 0x66cf, None, 1, CpuAVX512F|CpuGFNI, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vgf2p8affineinvqb, 4, 0x66cf, None, 1, CpuGFNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vgf2p8affineinvqb, 4, 0x66cf, None, 1, CpuGFNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
-
-vgf2p8affineqb, 4, 0x66ce, None, 1, CpuAVX512F|CpuGFNI, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vgf2p8affineqb, 4, 0x66ce, None, 1, CpuGFNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vgf2p8affineqb, 4, 0x66ce, None, 1, CpuGFNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vgf2p8affineinvqb, 4, 0x66cf, None, 1, CpuAVX512F|CpuGFNI, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vgf2p8affineinvqb, 4, 0x66cf, None, 1, CpuGFNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vgf2p8affineinvqb, 4, 0x66cf, None, 1, CpuGFNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+
+vgf2p8affineqb, 4, 0x66ce, None, 1, CpuAVX512F|CpuGFNI, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vgf2p8affineqb, 4, 0x66ce, None, 1, CpuGFNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vgf2p8affineqb, 4, 0x66ce, None, 1, CpuGFNI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
 vgf2p8mulb, 3, 0x66cf, None, 1, CpuAVX512F|CpuGFNI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
 vgf2p8mulb, 3, 0x66cf, None, 1, CpuGFNI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
@@ -6080,9 +5727,9 @@ vaesenclast, 3, 0x66dd, None, 1, CpuVAES
 
 // AVX512 + VPCLMULQDQ instructions
 
-vpclmulqdq, 4, 0x6644, None, 1, CpuVPCLMULQDQ|CpuAVX512F, Modrm|EVex=1|VexOpcode=2|VexVVVV=1|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
-vpclmulqdq, 4, 0x6644, None, 1, CpuVPCLMULQDQ|CpuAVX512VL, Modrm|EVex=2|VexOpcode=2|VexVVVV=1|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
-vpclmulqdq, 4, 0x6644, None, 1, CpuVPCLMULQDQ|CpuAVX512VL, Modrm|EVex=3|VexOpcode=2|VexVVVV=1|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
+vpclmulqdq, 4, 0x6644, None, 1, CpuVPCLMULQDQ|CpuAVX512F, Modrm|EVex=1|VexOpcode=2|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex, RegZMM, RegZMM }
+vpclmulqdq, 4, 0x6644, None, 1, CpuVPCLMULQDQ|CpuAVX512VL, Modrm|EVex=2|VexOpcode=2|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex, RegXMM, RegXMM }
+vpclmulqdq, 4, 0x6644, None, 1, CpuVPCLMULQDQ|CpuAVX512VL, Modrm|EVex=3|VexOpcode=2|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex, RegYMM, RegYMM }
 
 // AVX512 + VPCLMULQDQ instructions end
 
@@ -6095,15 +5742,15 @@ clzero, 0, 0xf01fc, None, 3, CpuCLZERO, 
 // MONITORX/MWAITX instructions
 monitorx, 0, 0xf01, 0xfa, 2, CpuMWAITX, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 }
 // Need to ensure only "monitorx %eax/%ax,%ecx,%edx" is accepted.
-monitorx, 3, 0xf01, 0xfa, 2, CpuMWAITX|CpuNo64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOp0, { Reg16|Reg32, Reg32, Reg32 }
+monitorx, 3, 0xf01, 0xfa, 2, CpuMWAITX|CpuNo64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOpReg, { Reg16|Reg32, Reg32, Reg32 }
 // Need to ensure only "monitorx %rax/%eax,%rcx,%rdx" is accepted.
-monitorx, 3, 0xf01, 0xfa, 2, CpuMWAITX|Cpu64,   No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOp0|NoRex64, { Reg32|Reg64, Reg64, Reg64 }
+monitorx, 3, 0xf01, 0xfa, 2, CpuMWAITX|Cpu64,   No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOpReg|NoRex64, { Reg32|Reg64, Reg64, Reg64 }
 
 mwaitx, 0, 0xf01, 0xfb, 2, CpuMWAITX, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 }
 // Need to ensure only "mwaitx %eax,%ecx,%ebx" is accepted.
-mwaitx, 3, 0xf01, 0xfb, 2, CpuMWAITX|CpuNo64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|NoAVX, { Reg32, Reg32, Reg32 }
+mwaitx, 3, 0xf01, 0xfb, 2, CpuMWAITX|CpuNo64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Reg32, Reg32, Reg32 }
 // Need to ensure only "mwaitx %rax,%rcx,%rbx" is accepted.
-mwaitx, 3, 0xf01, 0xfb, 2, CpuMWAITX|Cpu64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|NoRex64|NoAVX, { Reg64, Reg64, Reg64 }
+mwaitx, 3, 0xf01, 0xfb, 2, CpuMWAITX|Cpu64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|NoRex64, { Reg64, Reg64, Reg64 }
 // MONITORX/MWAITX instructions end
 
 // OSPKE instructions.
@@ -6128,22 +5775,60 @@ ptwrite, 1, 0xf30fae, 0x4, 2, CpuPTWRITE
 
 // CET instructions.
 
-incsspd, 1, 0xf30fae, 0x5, 2, CpuCET, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32 }
-incsspq, 1, 0xf30fae, 0x5, 2, CpuCET|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg64 }
-rdsspd, 1, 0xf30f1e, 0x1, 2, CpuCET, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32 }
-rdsspq, 1, 0xf30f1e, 0x1, 2, CpuCET|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg64 }
-saveprevssp, 0, 0xf30f01ea, None, 3, CpuCET, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
-rstorssp, 1, 0xf30f01, 0x5, 2, CpuCET, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex }
-wrssd, 2, 0x0f38f6, None, 3, CpuCET, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, Unspecified|BaseIndex }
-wrssq, 2, 0x0f38f6, None, 3, CpuCET|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg64, Unspecified|BaseIndex }
-wrussd, 2, 0x660f38f5, None, 3, CpuCET, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, Unspecified|BaseIndex }
-wrussq, 2, 0x660f38f5, None, 3, CpuCET|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg64, Unspecified|BaseIndex }
-setssbsy, 0, 0xf30f01e8, None, 3, CpuCET, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
-clrssbsy, 1, 0xf30fae, 0x6, 2, CpuCET, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex }
-endbr64, 0, 0xf30f1efa, None, 3, CpuCET, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
-endbr32, 0, 0xf30f1efb, None, 3, CpuCET, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
+incsspd, 1, 0xf30fae, 0x5, 2, CpuSHSTK, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32 }
+incsspq, 1, 0xf30fae, 0x5, 2, CpuSHSTK|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg64 }
+rdsspd, 1, 0xf30f1e, 0x1, 2, CpuSHSTK, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32 }
+rdsspq, 1, 0xf30f1e, 0x1, 2, CpuSHSTK|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg64 }
+saveprevssp, 0, 0xf30f01ea, None, 3, CpuSHSTK, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
+rstorssp, 1, 0xf30f01, 0x5, 2, CpuSHSTK, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex }
+wrssd, 2, 0x0f38f6, None, 3, CpuSHSTK, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, Unspecified|BaseIndex }
+wrssq, 2, 0x0f38f6, None, 3, CpuSHSTK|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg64, Unspecified|BaseIndex }
+wrussd, 2, 0x660f38f5, None, 3, CpuSHSTK, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, Unspecified|BaseIndex }
+wrussq, 2, 0x660f38f5, None, 3, CpuSHSTK|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg64, Unspecified|BaseIndex }
+setssbsy, 0, 0xf30f01e8, None, 3, CpuSHSTK, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
+clrssbsy, 1, 0xf30fae, 0x6, 2, CpuSHSTK, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex }
+endbr64, 0, 0xf30f1efa, None, 3, CpuIBT, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
+endbr32, 0, 0xf30f1efb, None, 3, CpuIBT, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
 
 // notrack prefix
-notrack, 0, 0x3e, None, 1, CpuCET, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IsPrefix, { 0 }
+notrack, 0, 0x3e, None, 1, CpuIBT, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IsPrefix, { 0 }
 
 // CET instructions end.
+
+// WBNOINVD instruction.
+
+wbnoinvd, 0, 0xf30f09, None, 2, CpuWBNOINVD, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
+
+// WBNOINVD instruction end.
+
+// PCONFIG instruction.
+
+pconfig, 0, 0x0f01c5, None, 3, CpuPCONFIG, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
+
+// PCONFIG instruction end.
+
+// WAITPKG instructions.
+
+umonitor, 1, 0xf30fae, 0x6, 2, CpuWAITPKG|CpuNo64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|AddrPrefixOpReg, { Reg16|Reg32 }
+umonitor, 1, 0xf30fae, 0x6, 2, CpuWAITPKG|Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|AddrPrefixOpReg|NoRex64, { Reg32|Reg64 }
+
+tpause, 1, 0x660fae, 0x6, 2, CpuWAITPKG, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32|Reg64 }
+
+umwait, 1, 0xf20fae, 0x6, 2, CpuWAITPKG, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32|Reg64 }
+
+// WAITPKG instructions end.
+
+// CLDEMOTE instructions.
+
+cldemote, 1, 0x0f1c, 0x0, 2, CpuCLDEMOTE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Anysize|BaseIndex }
+
+// CLDEMOTE instructions end.
+
+// MOVDIR[I,64B] instructions.
+
+movdiri, 2, 0xf38f9, None, 3, CpuMOVDIRI, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
+
+movdir64b, 2, 0x660f38f8, None, 3, CpuMOVDIR64B|CpuNo64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|AddrPrefixOpReg, { Unspecified|BaseIndex, Reg16|Reg32 }
+movdir64b, 2, 0x660f38f8, None, 3, CpuMOVDIR64B|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|AddrPrefixOpReg, { Unspecified|BaseIndex, Reg32|Reg64 }
+
+// MOVEDIR instructions 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.1.0.20180703/opcodes/i386-tbl.h ./opcodes/i386-tbl.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i386-tbl.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/i386-tbl.h	2018-07-10 02:06:14.000000000 +0000
@@ -28,11 +28,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
+        0, 0, 1, 0, 0 } },
     { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45,11 +45,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
+        0, 0, 0, 1, 0 } },
     { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62,11 +62,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79,11 +79,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -96,11 +96,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -113,11 +113,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -130,12 +130,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -147,46 +147,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "mov", 2, 0x8c, None, 1,
-    { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "mov", 2, 0x8c, None, 1,
-    { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
@@ -198,66 +164,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "mov", 2, 0x8e, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "mov", 2, 0x8e, None, 1,
-    { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "mov", 2, 0x8e, None, 1,
-    { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "mov", 2, 0xf20, None, 2,
@@ -266,11 +181,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -283,11 +198,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -300,11 +215,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -317,11 +232,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -334,11 +249,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -351,11 +266,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
+        0, 0, 1, 0, 0 } },
     { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -368,11 +283,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -385,11 +300,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -402,11 +317,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -419,11 +334,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -436,11 +351,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -453,11 +368,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -470,11 +385,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -487,11 +402,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -504,11 +419,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -521,11 +436,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -538,11 +453,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -555,11 +470,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -572,11 +487,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -589,11 +504,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -606,11 +521,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -623,11 +538,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -640,11 +555,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -657,11 +572,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -674,11 +589,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -691,11 +606,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -708,11 +623,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -725,11 +640,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -742,11 +657,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -756,11 +671,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -770,11 +685,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -784,11 +699,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -798,11 +713,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -812,11 +727,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -826,11 +741,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -840,11 +755,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -854,11 +769,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -868,11 +783,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -882,11 +797,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -896,11 +811,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -910,11 +825,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -924,11 +839,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -938,11 +853,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -952,11 +867,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -966,11 +881,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -980,11 +895,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -994,11 +909,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1008,11 +923,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1022,11 +937,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1039,11 +954,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1056,11 +971,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1073,11 +988,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -1090,11 +1005,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1107,11 +1022,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1124,11 +1039,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1138,11 +1053,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1152,11 +1067,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1169,11 +1084,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1186,11 +1101,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1200,11 +1115,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1214,11 +1129,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } },
@@ -1231,11 +1146,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -1248,11 +1163,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -1265,11 +1180,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -1282,11 +1197,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -1299,11 +1214,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -1316,11 +1231,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1330,11 +1245,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1344,11 +1259,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1358,11 +1273,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1372,11 +1287,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1386,11 +1301,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1400,11 +1315,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1414,11 +1329,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1428,11 +1343,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1442,11 +1357,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1456,11 +1371,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1470,11 +1385,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1484,11 +1399,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1498,11 +1413,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1512,11 +1427,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1529,11 +1444,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1546,11 +1461,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1563,11 +1478,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1580,11 +1495,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1594,11 +1509,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -1608,11 +1523,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1625,11 +1540,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1642,11 +1557,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1659,11 +1574,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1676,11 +1591,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -1690,11 +1605,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -1704,11 +1619,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1721,11 +1636,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1738,11 +1653,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1755,11 +1670,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1772,11 +1687,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1789,11 +1704,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1806,11 +1721,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1823,11 +1738,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1840,11 +1755,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1857,11 +1772,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -1874,11 +1789,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1891,11 +1806,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1908,11 +1823,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1925,11 +1840,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1942,11 +1857,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1959,11 +1874,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1976,11 +1891,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -1993,11 +1908,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2010,11 +1925,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2027,11 +1942,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2044,11 +1959,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2061,11 +1976,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2078,11 +1993,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2095,11 +2010,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2112,11 +2027,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2126,11 +2041,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2143,11 +2058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2160,11 +2075,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2177,11 +2092,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2194,11 +2109,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -2208,11 +2123,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -2222,11 +2137,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2236,11 +2151,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2250,11 +2165,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2264,11 +2179,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2278,11 +2193,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2292,11 +2207,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2306,11 +2221,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2320,11 +2235,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2334,11 +2249,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2348,11 +2263,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2362,11 +2277,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2376,11 +2291,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2390,11 +2305,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2404,11 +2319,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2418,11 +2333,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2432,11 +2347,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2446,11 +2361,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2460,11 +2375,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2474,11 +2389,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2488,11 +2403,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -2502,11 +2417,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -2516,11 +2431,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -2530,11 +2445,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -2547,11 +2462,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2567,11 +2482,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2587,11 +2502,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2604,11 +2519,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2621,11 +2536,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -2635,11 +2550,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -2652,11 +2567,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -2666,11 +2581,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -2683,11 +2598,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2700,11 +2615,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2717,11 +2632,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2734,11 +2649,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -2748,11 +2663,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2765,11 +2680,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2782,11 +2697,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2799,11 +2714,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -2813,11 +2728,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2830,11 +2745,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2847,11 +2762,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2864,11 +2779,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -2878,11 +2793,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2895,11 +2810,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2912,11 +2827,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2929,11 +2844,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -2943,11 +2858,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2960,11 +2875,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2977,11 +2892,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -2994,11 +2909,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3008,11 +2923,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3025,11 +2940,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3042,11 +2957,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3059,11 +2974,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3073,11 +2988,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3090,11 +3005,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3107,11 +3022,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3124,11 +3039,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3138,11 +3053,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3155,11 +3070,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3172,11 +3087,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3189,11 +3104,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3203,11 +3118,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3223,11 +3138,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3243,11 +3158,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3260,11 +3175,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3280,11 +3195,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3300,11 +3215,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3317,11 +3232,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3331,11 +3246,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0 },
+      1, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3345,11 +3260,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1 },
+      0, 1 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3359,11 +3274,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3373,11 +3288,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0 },
+      1, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3387,11 +3302,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1 },
+      0, 1 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3401,11 +3316,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3418,11 +3333,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3432,11 +3347,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3449,11 +3364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3463,11 +3378,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3477,11 +3392,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0 },
+      1, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3491,11 +3406,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1 },
+      0, 1 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3505,11 +3420,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3519,11 +3434,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+      1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0 },
+      1, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3533,11 +3448,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1 },
+      0, 1 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3547,11 +3462,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3564,11 +3479,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3578,11 +3493,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3595,11 +3510,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -3609,11 +3524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3623,11 +3538,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3637,11 +3552,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3651,11 +3566,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3665,11 +3580,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3679,11 +3594,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3693,11 +3608,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3707,11 +3622,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3721,11 +3636,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3738,11 +3653,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -3755,11 +3670,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3769,11 +3684,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3783,11 +3698,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3797,11 +3712,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3811,11 +3726,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3825,11 +3740,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3839,11 +3754,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3853,11 +3768,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3867,11 +3782,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3881,11 +3796,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3895,11 +3810,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3909,11 +3824,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3923,11 +3838,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3937,11 +3852,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3951,11 +3866,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3965,11 +3880,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3979,11 +3894,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -3993,11 +3908,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4007,11 +3922,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4021,11 +3936,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4035,11 +3950,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4049,11 +3964,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4063,11 +3978,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4077,11 +3992,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4091,11 +4006,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4105,11 +4020,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4119,11 +4034,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4133,11 +4048,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4147,11 +4062,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4161,11 +4076,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4175,11 +4090,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4189,11 +4104,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4203,11 +4118,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4217,11 +4132,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4231,11 +4146,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4245,11 +4160,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4259,11 +4174,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4273,11 +4188,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4287,11 +4202,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4301,11 +4216,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4315,11 +4230,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4329,11 +4244,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4343,11 +4258,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4357,11 +4272,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4371,11 +4286,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4385,11 +4300,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4399,11 +4314,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4413,11 +4328,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4427,11 +4342,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4441,11 +4356,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4455,11 +4370,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4469,11 +4384,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4483,11 +4398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4497,11 +4412,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4511,11 +4426,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4525,11 +4440,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4539,11 +4454,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4553,11 +4468,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4567,11 +4482,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4581,11 +4496,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4595,11 +4510,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4609,11 +4524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4623,11 +4538,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4637,11 +4552,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4651,11 +4566,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4665,11 +4580,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4679,11 +4594,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4693,11 +4608,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4707,11 +4622,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4721,11 +4636,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4735,11 +4650,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4749,11 +4664,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4763,11 +4678,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4777,11 +4692,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4791,11 +4706,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4805,11 +4720,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4819,11 +4734,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -4836,11 +4751,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4850,11 +4765,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -4867,11 +4782,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4881,11 +4796,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -4898,11 +4813,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4912,11 +4827,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -4929,11 +4844,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4943,11 +4858,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -4957,11 +4872,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -4974,11 +4889,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -4988,11 +4903,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5002,11 +4917,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -5019,11 +4934,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5033,11 +4948,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -5050,11 +4965,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5064,11 +4979,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -5081,11 +4996,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5095,11 +5010,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5109,11 +5024,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -5126,11 +5041,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5140,11 +5055,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5154,11 +5069,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -5171,11 +5086,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5185,11 +5100,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5199,11 +5114,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5216,11 +5131,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5230,11 +5145,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5244,11 +5159,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5261,11 +5176,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5275,11 +5190,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5289,11 +5204,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -5306,11 +5221,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -5323,11 +5238,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5340,11 +5255,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5357,11 +5272,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5374,11 +5289,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5391,11 +5306,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5408,11 +5323,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5425,11 +5340,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5442,11 +5357,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5459,11 +5374,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5473,11 +5388,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5487,11 +5402,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5501,11 +5416,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5515,11 +5430,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5529,11 +5444,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5546,11 +5461,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5560,11 +5475,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5574,11 +5489,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5588,11 +5503,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -5605,11 +5520,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -5622,11 +5537,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5636,11 +5551,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5650,11 +5565,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5664,11 +5579,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5678,11 +5593,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5692,11 +5607,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5706,11 +5621,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -5723,11 +5638,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5737,11 +5652,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5751,11 +5666,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5765,11 +5680,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5779,11 +5694,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5793,11 +5708,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5807,11 +5722,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5821,11 +5736,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5835,11 +5750,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5849,11 +5764,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5863,11 +5778,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5877,11 +5792,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5891,11 +5806,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5905,11 +5820,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5919,11 +5834,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5933,11 +5848,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -5947,11 +5862,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5961,11 +5876,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5975,11 +5890,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -5989,11 +5904,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6003,11 +5918,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6017,11 +5932,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6031,11 +5946,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6045,11 +5960,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6059,11 +5974,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6073,11 +5988,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6087,11 +6002,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6101,11 +6016,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6115,11 +6030,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6129,11 +6044,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6143,11 +6058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6157,11 +6072,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6171,11 +6086,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6185,11 +6100,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6199,11 +6114,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6213,11 +6128,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6227,11 +6142,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6241,11 +6156,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6255,11 +6170,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6269,11 +6184,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6283,11 +6198,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6297,11 +6212,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6311,11 +6226,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6325,11 +6240,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6339,11 +6254,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6353,11 +6268,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6367,11 +6282,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6381,11 +6296,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6395,11 +6310,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6409,11 +6324,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6423,11 +6338,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6437,11 +6352,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6451,11 +6366,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6465,11 +6380,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6479,11 +6394,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6493,11 +6408,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6507,11 +6422,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6521,11 +6436,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6535,11 +6450,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6549,11 +6464,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6563,11 +6478,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6577,11 +6492,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6591,11 +6506,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -6608,11 +6523,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6622,11 +6537,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6636,11 +6551,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6650,11 +6565,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6664,11 +6579,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -6681,11 +6596,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6695,11 +6610,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6709,11 +6624,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -6726,11 +6641,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6740,11 +6655,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -6757,11 +6672,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6771,11 +6686,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6785,11 +6700,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -6802,11 +6717,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6816,11 +6731,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -6830,11 +6745,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -6847,11 +6762,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6861,59 +6776,25 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "fsubp", 2, 0xdee0, None, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "fsubp", 2, 0xdee9, None, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "fsubp", 2, 0xdee8, None, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -6926,11 +6807,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6940,11 +6821,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6954,11 +6835,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6968,11 +6849,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -6985,11 +6866,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -6999,11 +6880,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7013,11 +6894,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7030,11 +6911,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -7044,11 +6925,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -7058,11 +6939,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7075,11 +6956,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7089,59 +6970,25 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "fsubrp", 2, 0xdee8, None, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "fsubrp", 2, 0xdee0, None, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "fsubrp", 2, 0xdee0, None, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7154,11 +7001,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7168,11 +7015,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7182,11 +7029,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7199,11 +7046,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7213,11 +7060,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7227,11 +7074,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -7241,11 +7088,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -7255,11 +7102,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7272,11 +7119,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7286,11 +7133,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7300,11 +7147,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7317,11 +7164,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7331,11 +7178,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7348,11 +7195,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7362,11 +7209,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7376,11 +7223,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7393,11 +7240,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -7407,11 +7254,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -7421,11 +7268,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7438,11 +7285,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7452,59 +7299,25 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "fdivp", 2, 0xdef0, None, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "fdivp", 2, 0xdef8, None, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "fdivp", 2, 0xdef8, None, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7517,11 +7330,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7531,11 +7344,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7545,11 +7358,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7559,11 +7372,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7576,11 +7389,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7590,11 +7403,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7604,11 +7417,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7621,11 +7434,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -7635,11 +7448,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -7649,11 +7462,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7666,11 +7479,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7680,59 +7493,25 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "fdivrp", 2, 0xdef8, None, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "fdivrp", 2, 0xdef0, None, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "fdivrp", 2, 0xdef0, None, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -7745,11 +7524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7759,11 +7538,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7773,11 +7552,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7787,11 +7566,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7801,11 +7580,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7815,11 +7594,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7829,11 +7608,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7843,11 +7622,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7857,11 +7636,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7871,11 +7650,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7885,11 +7664,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7899,11 +7678,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7913,11 +7692,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7927,11 +7706,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7941,11 +7720,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7955,11 +7734,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7969,11 +7748,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7983,11 +7762,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -7997,11 +7776,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8011,11 +7790,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8025,11 +7804,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8039,11 +7818,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8053,11 +7832,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -8067,11 +7846,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -8081,11 +7860,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -8095,11 +7874,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8109,11 +7888,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -8123,11 +7902,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8137,11 +7916,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8151,11 +7930,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -8165,11 +7944,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8179,11 +7958,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8193,11 +7972,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8207,11 +7986,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -8221,11 +8000,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -8235,11 +8014,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -8249,11 +8028,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -8263,11 +8042,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -8277,11 +8056,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -8291,11 +8070,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8305,11 +8084,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8319,11 +8098,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8333,11 +8112,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8347,11 +8126,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8361,11 +8140,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8375,11 +8154,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8389,11 +8168,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8403,11 +8182,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8417,11 +8196,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8431,11 +8210,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8445,11 +8224,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8459,11 +8238,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8473,11 +8252,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8487,11 +8266,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8501,11 +8280,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8515,11 +8294,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8529,11 +8308,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8543,11 +8322,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8557,11 +8336,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8571,11 +8350,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8585,11 +8364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8599,11 +8378,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8613,11 +8392,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8627,11 +8406,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8641,11 +8420,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8655,11 +8434,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8669,11 +8448,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8683,11 +8462,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8697,11 +8476,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8711,11 +8490,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8725,11 +8504,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8739,11 +8518,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8753,11 +8532,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8767,11 +8546,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8781,11 +8560,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8795,11 +8574,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8809,11 +8588,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8823,11 +8602,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8837,11 +8616,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8851,11 +8630,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8865,11 +8644,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8879,11 +8658,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8893,11 +8672,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8907,11 +8686,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8921,11 +8700,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8935,11 +8714,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8949,11 +8728,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8963,11 +8742,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8977,11 +8756,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -8991,11 +8770,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9005,11 +8784,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9019,11 +8798,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9033,11 +8812,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9047,11 +8826,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9061,11 +8840,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9075,11 +8854,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9089,11 +8868,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9103,11 +8882,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9117,11 +8896,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9131,11 +8910,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9145,11 +8924,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9159,11 +8938,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9173,11 +8952,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9187,11 +8966,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9201,11 +8980,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9215,11 +8994,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9229,11 +9008,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9243,11 +9022,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9257,11 +9036,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9271,11 +9050,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9285,11 +9064,39 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "{rex}", 0, 0x7, None, 0,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "{nooptimize}", 0, 0x8, None, 0,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9299,11 +9106,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9313,11 +9120,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -9330,11 +9137,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -9347,11 +9154,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9361,11 +9168,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9375,11 +9182,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } } } },
@@ -9389,11 +9196,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9403,11 +9210,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9417,11 +9224,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9431,11 +9238,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9445,11 +9252,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -9459,11 +9266,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9473,11 +9280,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9487,11 +9294,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -9501,11 +9308,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -9515,11 +9322,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -9529,11 +9336,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -9543,11 +9350,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9557,11 +9364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9571,11 +9378,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -9585,11 +9392,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9602,11 +9409,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9619,11 +9426,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9636,11 +9443,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9653,11 +9460,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9670,11 +9477,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9687,11 +9494,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9704,11 +9511,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9721,11 +9528,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9738,11 +9545,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9755,11 +9562,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9772,11 +9579,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9789,11 +9596,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9806,11 +9613,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9823,11 +9630,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9840,11 +9647,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9857,11 +9664,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9874,11 +9681,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9891,11 +9698,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9908,11 +9715,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9925,11 +9732,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9942,11 +9749,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9959,11 +9766,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9976,11 +9783,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -9993,11 +9800,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10010,11 +9817,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10027,11 +9834,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10044,11 +9851,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10061,11 +9868,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10078,11 +9885,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10095,11 +9902,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10112,11 +9919,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10129,11 +9936,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10146,11 +9953,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10163,11 +9970,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10180,11 +9987,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10197,11 +10004,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10214,11 +10021,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10231,11 +10038,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10248,11 +10055,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10265,11 +10072,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10282,11 +10089,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10299,11 +10106,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10316,11 +10123,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10333,11 +10140,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10350,11 +10157,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10367,11 +10174,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10381,11 +10188,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10395,11 +10202,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10412,11 +10219,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10426,11 +10233,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10440,11 +10247,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10457,11 +10264,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10471,11 +10278,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10485,11 +10292,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10502,11 +10309,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10516,11 +10323,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10530,11 +10337,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10547,11 +10354,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10561,11 +10368,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10575,11 +10382,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10592,11 +10399,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10606,11 +10413,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10620,11 +10427,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10637,11 +10444,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } } } },
@@ -10651,11 +10458,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10665,11 +10472,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10679,11 +10486,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10693,11 +10500,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -10707,11 +10514,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10724,11 +10531,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10741,11 +10548,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10758,11 +10565,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10775,11 +10582,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10792,11 +10599,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10809,11 +10616,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10826,11 +10633,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10843,11 +10650,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10860,11 +10667,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10877,11 +10684,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10894,11 +10701,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10911,11 +10718,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10928,11 +10735,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10945,11 +10752,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10962,11 +10769,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -10979,11 +10786,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -10996,11 +10803,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -11013,11 +10820,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11030,11 +10837,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -11047,11 +10854,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11064,11 +10871,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -11081,11 +10888,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11098,11 +10905,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -11115,11 +10922,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11132,11 +10939,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -11149,11 +10956,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11166,11 +10973,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -11183,45 +10990,28 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "movq", 2, 0x8e, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "movq", 2, 0xf20, None, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -11234,11 +11024,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -11251,11 +11041,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11268,11 +11058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11285,11 +11075,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11302,11 +11092,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11319,11 +11109,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11336,11 +11126,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11353,11 +11143,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11370,11 +11160,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11387,11 +11177,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11404,11 +11194,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11421,11 +11211,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11438,11 +11228,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11455,11 +11245,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11472,11 +11262,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11489,11 +11279,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11506,11 +11296,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11523,11 +11313,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11540,11 +11330,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11557,11 +11347,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11574,11 +11364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11591,11 +11381,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11608,11 +11398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11625,11 +11415,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11642,11 +11432,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11659,11 +11449,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11676,11 +11466,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11693,11 +11483,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11710,11 +11500,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11727,11 +11517,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11744,11 +11534,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11761,11 +11551,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11778,11 +11568,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11795,11 +11585,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11812,11 +11602,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11829,11 +11619,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11846,11 +11636,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11863,11 +11653,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11880,11 +11670,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11897,11 +11687,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11914,11 +11704,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11931,11 +11721,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11948,11 +11738,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11965,11 +11755,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11982,11 +11772,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -11999,11 +11789,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12016,11 +11806,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12033,11 +11823,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12050,11 +11840,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12067,11 +11857,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12084,11 +11874,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12101,11 +11891,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12118,11 +11908,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12135,11 +11925,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12152,11 +11942,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12169,11 +11959,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12186,11 +11976,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12203,11 +11993,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12220,11 +12010,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12237,11 +12027,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12254,11 +12044,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12271,11 +12061,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12288,11 +12078,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12305,11 +12095,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12322,11 +12112,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12339,11 +12129,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12356,11 +12146,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12373,11 +12163,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12390,11 +12180,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12407,11 +12197,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12424,11 +12214,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12441,11 +12231,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12458,11 +12248,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12475,11 +12265,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12492,11 +12282,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12509,11 +12299,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12526,11 +12316,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12543,11 +12333,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12560,11 +12350,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12577,11 +12367,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12594,11 +12384,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12611,11 +12401,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12628,11 +12418,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12645,11 +12435,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12662,11 +12452,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12679,11 +12469,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12696,11 +12486,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12713,11 +12503,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12730,11 +12520,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12747,11 +12537,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12764,11 +12554,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12781,11 +12571,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12798,11 +12588,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12815,11 +12605,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12832,11 +12622,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12849,11 +12639,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12866,11 +12656,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12883,11 +12673,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12900,11 +12690,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12917,11 +12707,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12934,11 +12724,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12951,11 +12741,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -12968,11 +12758,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -12985,11 +12775,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13002,11 +12792,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -13019,11 +12809,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13036,11 +12826,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -13053,11 +12843,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13070,11 +12860,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -13087,11 +12877,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13104,11 +12894,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -13121,11 +12911,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13138,11 +12928,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -13155,11 +12945,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13172,11 +12962,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -13189,11 +12979,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13206,11 +12996,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -13223,11 +13013,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13240,11 +13030,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13257,11 +13047,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13274,11 +13064,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13291,11 +13081,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13308,11 +13098,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13325,11 +13115,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13342,11 +13132,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13359,11 +13149,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13376,11 +13166,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13393,11 +13183,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13410,11 +13200,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13427,11 +13217,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13444,11 +13234,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13461,11 +13251,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13478,11 +13268,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13495,11 +13285,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13512,11 +13302,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13529,11 +13319,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13546,11 +13336,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13563,11 +13353,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13580,11 +13370,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13597,11 +13387,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13614,11 +13404,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13631,11 +13421,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13648,11 +13438,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13665,11 +13455,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13682,11 +13472,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13699,11 +13489,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13716,11 +13506,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13733,11 +13523,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13750,11 +13540,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13767,11 +13557,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13784,11 +13574,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13801,11 +13591,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13818,11 +13608,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13835,11 +13625,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13852,11 +13642,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13869,11 +13659,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13886,11 +13676,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13903,11 +13693,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13920,11 +13710,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13937,11 +13727,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13954,11 +13744,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13971,11 +13761,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -13988,11 +13778,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14005,11 +13795,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14022,11 +13812,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14039,11 +13829,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14056,11 +13846,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14073,11 +13863,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14090,11 +13880,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14107,11 +13897,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14124,11 +13914,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14141,11 +13931,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14158,11 +13948,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14175,11 +13965,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14192,11 +13982,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14209,11 +13999,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14226,11 +14016,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14243,11 +14033,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14260,11 +14050,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14277,11 +14067,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14294,11 +14084,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14311,11 +14101,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14328,11 +14118,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14345,11 +14135,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14362,11 +14152,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14379,11 +14169,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14396,11 +14186,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14413,11 +14203,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14430,11 +14220,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14447,11 +14237,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14464,11 +14254,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14481,11 +14271,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14498,11 +14288,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14515,11 +14305,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14532,11 +14322,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14549,11 +14339,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14566,11 +14356,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14583,11 +14373,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14600,11 +14390,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14617,11 +14407,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14634,11 +14424,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14651,11 +14441,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14668,11 +14458,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14685,11 +14475,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -14705,11 +14495,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -14725,11 +14515,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -14745,11 +14535,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -14765,11 +14555,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14782,11 +14572,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14799,11 +14589,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14816,11 +14606,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14833,11 +14623,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14850,11 +14640,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14867,11 +14657,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14884,11 +14674,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14901,11 +14691,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14918,11 +14708,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14935,11 +14725,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14952,11 +14742,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14969,11 +14759,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -14986,11 +14776,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15003,11 +14793,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15020,11 +14810,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15037,11 +14827,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15054,11 +14844,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -15068,11 +14858,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -15082,11 +14872,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15099,11 +14889,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15116,11 +14906,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15133,11 +14923,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15150,11 +14940,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15167,11 +14957,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15184,11 +14974,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15201,11 +14991,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15218,11 +15008,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15235,11 +15025,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15252,11 +15042,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15269,11 +15059,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15286,11 +15076,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15303,11 +15093,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15320,11 +15110,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15337,11 +15127,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15354,11 +15144,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15371,11 +15161,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15388,11 +15178,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15405,11 +15195,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15422,11 +15212,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15439,11 +15229,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15456,11 +15246,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15473,11 +15263,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15490,11 +15280,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15507,11 +15297,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15524,11 +15314,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15541,11 +15331,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15558,11 +15348,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15575,11 +15365,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15592,11 +15382,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15609,11 +15399,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15626,11 +15416,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15643,11 +15433,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15660,11 +15450,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15677,11 +15467,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15694,11 +15484,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15711,11 +15501,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15728,11 +15518,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15745,11 +15535,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15762,11 +15552,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15779,11 +15569,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -15796,11 +15586,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15813,11 +15603,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15830,11 +15620,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15847,11 +15637,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15864,11 +15654,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15881,11 +15671,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15898,11 +15688,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15915,11 +15705,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15932,11 +15722,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15949,11 +15739,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15966,11 +15756,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -15983,11 +15773,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16000,11 +15790,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16020,11 +15810,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16040,11 +15830,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16060,11 +15850,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16080,11 +15870,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16100,11 +15890,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16120,11 +15910,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16140,11 +15930,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16160,11 +15950,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16180,11 +15970,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16200,11 +15990,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16220,11 +16010,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16240,11 +16030,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16260,11 +16050,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16277,11 +16067,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16294,11 +16084,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16311,11 +16101,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16328,11 +16118,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16345,11 +16135,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16362,11 +16152,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16379,11 +16169,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16396,11 +16186,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16413,11 +16203,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16430,11 +16220,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16447,11 +16237,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16464,11 +16254,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16481,11 +16271,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16498,11 +16288,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16515,11 +16305,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16532,11 +16322,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16549,11 +16339,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16566,11 +16356,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } } } },
@@ -16580,11 +16370,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } } } },
@@ -16594,11 +16384,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } } } },
@@ -16608,11 +16398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } } } },
@@ -16622,11 +16412,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16639,11 +16429,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16656,11 +16446,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16673,11 +16463,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16693,11 +16483,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16710,11 +16500,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16727,11 +16517,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16744,11 +16534,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16761,11 +16551,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16778,11 +16568,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16795,11 +16585,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16812,11 +16602,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16829,11 +16619,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -16843,11 +16633,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16863,11 +16653,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -16883,11 +16673,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16900,11 +16690,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16917,11 +16707,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16934,11 +16724,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16951,11 +16741,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -16965,11 +16755,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -16979,11 +16769,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -16996,11 +16786,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17013,11 +16803,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17030,11 +16820,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17047,11 +16837,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17064,11 +16854,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17081,11 +16871,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17098,11 +16888,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17115,11 +16905,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17132,11 +16922,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17149,11 +16939,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17166,11 +16956,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17183,11 +16973,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17200,11 +16990,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17217,11 +17007,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17234,11 +17024,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17251,11 +17041,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17268,11 +17058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17285,11 +17075,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17302,11 +17092,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17319,11 +17109,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17336,11 +17126,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17353,11 +17143,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17370,11 +17160,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17387,11 +17177,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17404,11 +17194,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17421,11 +17211,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17438,11 +17228,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17455,11 +17245,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17472,11 +17262,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17489,11 +17279,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17506,11 +17296,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17523,11 +17313,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17540,11 +17330,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17557,11 +17347,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17574,11 +17364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17591,11 +17381,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17608,11 +17398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17625,11 +17415,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17642,11 +17432,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17659,11 +17449,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17676,11 +17466,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17693,11 +17483,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17710,11 +17500,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17727,11 +17517,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17744,11 +17534,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17761,11 +17551,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17778,11 +17568,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17795,11 +17585,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17812,11 +17602,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17829,11 +17619,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17846,11 +17636,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17863,11 +17653,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -17883,11 +17673,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -17903,11 +17693,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -17917,11 +17707,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17934,11 +17724,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -17954,11 +17744,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -17974,11 +17764,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -17991,11 +17781,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18008,11 +17798,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18025,11 +17815,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18042,11 +17832,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18059,11 +17849,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18076,11 +17866,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18093,11 +17883,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18110,11 +17900,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18127,11 +17917,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18144,11 +17934,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18161,11 +17951,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18178,11 +17968,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18195,11 +17985,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18212,11 +18002,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18229,11 +18019,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18246,11 +18036,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18263,11 +18053,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18280,11 +18070,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18297,11 +18087,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18314,11 +18104,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18331,11 +18121,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18348,11 +18138,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18365,11 +18155,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18382,11 +18172,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18399,11 +18189,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18416,11 +18206,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18433,11 +18223,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18450,11 +18240,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18467,11 +18257,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18484,11 +18274,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18501,11 +18291,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18518,11 +18308,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18535,11 +18325,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18552,11 +18342,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18569,11 +18359,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -18583,11 +18373,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18600,11 +18390,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18617,11 +18407,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18634,11 +18424,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18651,11 +18441,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18668,11 +18458,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18685,11 +18475,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18702,11 +18492,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18719,11 +18509,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18736,11 +18526,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18753,11 +18543,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18770,11 +18560,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18787,11 +18577,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18804,11 +18594,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18821,11 +18611,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18838,11 +18628,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18855,11 +18645,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18872,11 +18662,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18892,11 +18682,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -18912,11 +18702,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18929,11 +18719,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18946,11 +18736,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18963,11 +18753,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18980,11 +18770,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -18997,11 +18787,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19014,11 +18804,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19031,11 +18821,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19048,11 +18838,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19065,11 +18855,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19082,11 +18872,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19099,11 +18889,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19116,11 +18906,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19133,11 +18923,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19150,11 +18940,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19167,11 +18957,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19184,11 +18974,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19201,11 +18991,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19218,11 +19008,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19235,11 +19025,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19252,11 +19042,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19269,11 +19059,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19286,11 +19076,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19303,11 +19093,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19320,11 +19110,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19337,11 +19127,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19354,11 +19144,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19371,11 +19161,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19388,11 +19178,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19405,11 +19195,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19422,11 +19212,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19439,11 +19229,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19456,11 +19246,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19473,11 +19263,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19490,11 +19280,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19507,11 +19297,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19524,11 +19314,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19541,11 +19331,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19558,11 +19348,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19575,11 +19365,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19592,11 +19382,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19609,11 +19399,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19626,11 +19416,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19643,11 +19433,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19660,11 +19450,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19677,11 +19467,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19694,11 +19484,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19711,11 +19501,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19728,11 +19518,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19745,11 +19535,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19762,11 +19552,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19779,11 +19569,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19796,11 +19586,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19813,11 +19603,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19830,11 +19620,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19847,11 +19637,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19864,11 +19654,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -19881,11 +19671,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19901,11 +19691,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19921,11 +19711,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19941,11 +19731,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19961,11 +19751,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -19981,11 +19771,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -20001,11 +19791,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -20018,11 +19808,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -20035,11 +19825,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -20052,11 +19842,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -20069,11 +19859,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20086,11 +19876,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20103,11 +19893,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20120,11 +19910,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20137,11 +19927,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20154,11 +19944,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20171,11 +19961,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20188,11 +19978,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20205,11 +19995,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -20219,11 +20009,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -20233,11 +20023,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -20247,11 +20037,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -20261,11 +20051,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20278,11 +20068,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20295,11 +20085,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20312,11 +20102,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20329,11 +20119,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20346,11 +20136,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20363,11 +20153,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20380,11 +20170,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20397,11 +20187,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20414,11 +20204,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20431,11 +20221,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -20445,11 +20235,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -20465,11 +20255,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -20485,11 +20275,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20502,11 +20292,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20519,11 +20309,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20536,11 +20326,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20553,11 +20343,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20570,11 +20360,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20587,11 +20377,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -20601,11 +20391,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -20618,11 +20408,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -20635,11 +20425,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -20649,11 +20439,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -20663,11 +20453,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -20677,11 +20467,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -20691,11 +20481,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -20705,11 +20495,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -20719,11 +20509,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -20736,11 +20526,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -20753,11 +20543,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20770,11 +20560,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20787,11 +20577,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -20801,11 +20591,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -20815,11 +20605,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -20829,11 +20619,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -20843,11 +20633,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20860,11 +20650,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20877,11 +20667,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20894,11 +20684,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20911,13 +20701,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20928,13 +20718,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -20945,11 +20735,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20962,11 +20752,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20979,11 +20769,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -20996,11 +20786,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21013,11 +20803,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21030,11 +20820,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21047,11 +20837,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21064,11 +20854,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21081,11 +20871,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21098,11 +20888,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21115,11 +20905,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21132,11 +20922,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21149,11 +20939,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21166,11 +20956,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21183,11 +20973,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21200,11 +20990,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21217,11 +21007,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21234,11 +21024,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21251,11 +21041,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21268,11 +21058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21285,11 +21075,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21302,11 +21092,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21319,11 +21109,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21336,11 +21126,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21353,11 +21143,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21370,11 +21160,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21387,11 +21177,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21404,11 +21194,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21421,11 +21211,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21438,11 +21228,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21455,11 +21245,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21472,11 +21262,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21489,11 +21279,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21506,11 +21296,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21523,11 +21313,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21540,11 +21330,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21557,11 +21347,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -21577,11 +21367,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -21597,11 +21387,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -21617,11 +21407,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21634,11 +21424,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21651,11 +21441,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21668,11 +21458,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21685,11 +21475,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21702,11 +21492,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21719,11 +21509,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21736,11 +21526,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21753,11 +21543,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21770,11 +21560,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -21790,11 +21580,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -21810,11 +21600,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -21830,11 +21620,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -21850,11 +21640,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -21870,11 +21660,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21887,11 +21677,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -21907,11 +21697,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21924,11 +21714,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -21944,11 +21734,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21961,11 +21751,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -21981,11 +21771,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -21998,11 +21788,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22018,11 +21808,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22038,11 +21828,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22058,11 +21848,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22078,11 +21868,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22098,11 +21888,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22118,11 +21908,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22138,11 +21928,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22158,11 +21948,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22178,11 +21968,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22198,11 +21988,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22215,11 +22005,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22232,11 +22022,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22252,11 +22042,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22272,11 +22062,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22289,11 +22079,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22306,11 +22096,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22326,11 +22116,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22343,11 +22133,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22363,11 +22153,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22380,11 +22170,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22400,11 +22190,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22420,11 +22210,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22437,11 +22227,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22454,11 +22244,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22474,11 +22264,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22494,11 +22284,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22514,11 +22304,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22534,11 +22324,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22554,11 +22344,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22574,11 +22364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22594,11 +22384,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22614,11 +22404,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22631,11 +22421,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22648,11 +22438,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22668,11 +22458,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22688,11 +22478,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22708,11 +22498,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22728,11 +22518,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22748,11 +22538,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22768,11 +22558,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22788,11 +22578,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -22808,11 +22598,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22825,11 +22615,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22842,11 +22632,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22859,11 +22649,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22876,11 +22666,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22893,11 +22683,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22910,11 +22700,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22927,11 +22717,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22944,11 +22734,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22961,11 +22751,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22978,11 +22768,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -22995,11 +22785,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23012,11 +22802,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23029,11 +22819,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23046,11 +22836,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23063,11 +22853,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23080,11 +22870,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23097,11 +22887,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23114,11 +22904,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23131,11 +22921,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23148,11 +22938,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23165,11 +22955,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23182,11 +22972,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23199,11 +22989,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23216,11 +23006,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23233,11 +23023,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23250,11 +23040,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23267,11 +23057,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23284,11 +23074,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23301,11 +23091,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23318,11 +23108,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23335,11 +23125,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23352,11 +23142,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23369,11 +23159,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23386,11 +23176,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23403,11 +23193,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23420,11 +23210,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23437,11 +23227,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23454,11 +23244,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23471,11 +23261,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23488,11 +23278,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23505,11 +23295,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23522,11 +23312,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23539,11 +23329,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23556,11 +23346,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23573,11 +23363,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23590,11 +23380,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23610,11 +23400,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23630,11 +23420,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23650,11 +23440,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23670,11 +23460,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 3, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      3, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23690,11 +23480,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23710,11 +23500,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23730,11 +23520,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23750,11 +23540,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23767,11 +23557,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -23784,11 +23574,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23804,11 +23594,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23824,11 +23614,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23844,11 +23634,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23864,11 +23654,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23884,11 +23674,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23904,11 +23694,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23924,11 +23714,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23944,11 +23734,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23964,11 +23754,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -23984,11 +23774,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -24004,11 +23794,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -24024,11 +23814,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24041,11 +23831,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24058,11 +23848,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24075,11 +23865,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24092,11 +23882,11 @@ const insn_template i386_optab[] =
         0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -24106,11 +23896,11 @@ const insn_template i386_optab[] =
         0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -24120,11 +23910,11 @@ const insn_template i386_optab[] =
         0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -24134,11 +23924,11 @@ const insn_template i386_optab[] =
         0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -24148,11 +23938,11 @@ const insn_template i386_optab[] =
         0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -24162,11 +23952,11 @@ const insn_template i386_optab[] =
         0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -24176,11 +23966,11 @@ const insn_template i386_optab[] =
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -24190,11 +23980,11 @@ const insn_template i386_optab[] =
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -24204,11 +23994,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24221,11 +24011,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24238,11 +24028,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24255,11 +24045,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24272,11 +24062,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24289,11 +24079,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24306,11 +24096,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24323,11 +24113,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24340,11 +24130,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24357,11 +24147,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24374,11 +24164,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -24394,11 +24184,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -24413,12 +24203,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24434,11 +24224,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24453,12 +24243,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -24473,12 +24263,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24493,12 +24283,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24513,12 +24303,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24534,11 +24324,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24553,12 +24343,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -24573,12 +24363,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24593,12 +24383,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24613,12 +24403,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24634,11 +24424,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24653,12 +24443,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -24673,12 +24463,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24693,12 +24483,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24713,12 +24503,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24734,11 +24524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24753,12 +24543,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -24773,12 +24563,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24793,12 +24583,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24814,11 +24604,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -24834,11 +24624,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -24854,11 +24644,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24871,11 +24661,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24888,11 +24678,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24905,11 +24695,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24922,11 +24712,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24939,11 +24729,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24956,11 +24746,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24973,11 +24763,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -24989,12 +24779,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25009,12 +24799,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25029,12 +24819,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25049,12 +24839,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25069,12 +24859,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25086,12 +24876,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25104,11 +24894,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25124,11 +24914,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -25144,11 +24934,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25167,11 +24957,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25187,11 +24977,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25207,11 +24997,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25227,11 +25017,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -25247,11 +25037,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25270,11 +25060,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25290,11 +25080,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25310,11 +25100,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25330,11 +25120,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25350,11 +25140,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25373,11 +25163,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25393,11 +25183,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25413,11 +25203,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25436,11 +25226,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25456,11 +25246,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25476,11 +25266,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25496,11 +25286,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -25516,11 +25306,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25536,11 +25326,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25556,11 +25346,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25576,11 +25366,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -25596,11 +25386,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25616,11 +25406,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25636,11 +25426,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25656,11 +25446,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -25676,11 +25466,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25696,11 +25486,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25716,11 +25506,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25736,11 +25526,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -25756,11 +25546,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25776,11 +25566,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25796,11 +25586,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25819,11 +25609,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25842,11 +25632,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25865,11 +25655,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25888,11 +25678,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25905,11 +25695,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25922,11 +25712,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -25939,33 +25729,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vbroadcastsd", 2, 0x6619, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vbroadcastss", 2, 0x6618, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25973,11 +25746,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -25990,11 +25763,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26007,50 +25780,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vbroadcastss", 2, 0x6618, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vbroadcastss", 2, 0x6618, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vcmpeq_ospd", 3, 0x66c2, 0x10, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26058,11 +25797,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26078,11 +25817,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -26098,11 +25837,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26121,11 +25860,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26141,11 +25880,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26161,11 +25900,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26181,11 +25920,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -26201,11 +25940,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26224,11 +25963,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26244,11 +25983,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26264,11 +26003,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26284,11 +26023,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26304,11 +26043,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26327,11 +26066,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26347,11 +26086,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26367,11 +26106,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26390,11 +26129,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26410,11 +26149,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -26430,11 +26169,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26453,11 +26192,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26473,11 +26212,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26493,11 +26232,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26513,11 +26252,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -26533,11 +26272,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26556,11 +26295,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26576,11 +26315,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26596,11 +26335,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26616,11 +26355,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26636,11 +26375,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26659,11 +26398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26679,11 +26418,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26699,11 +26438,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26722,11 +26461,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26742,11 +26481,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -26762,11 +26501,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26785,11 +26524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26805,11 +26544,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26825,11 +26564,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26845,11 +26584,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -26865,11 +26604,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26888,11 +26627,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26908,11 +26647,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26928,11 +26667,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26948,11 +26687,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -26968,11 +26707,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -26991,11 +26730,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27011,11 +26750,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27031,11 +26770,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27054,11 +26793,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27074,11 +26813,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -27094,11 +26833,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27117,11 +26856,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27137,11 +26876,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27157,11 +26896,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27177,11 +26916,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -27197,11 +26936,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27220,11 +26959,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27240,11 +26979,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27260,11 +26999,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27280,11 +27019,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27300,11 +27039,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27323,11 +27062,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27343,11 +27082,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27363,11 +27102,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27386,11 +27125,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27406,11 +27145,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -27426,11 +27165,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27449,11 +27188,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27469,11 +27208,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27489,11 +27228,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27509,11 +27248,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -27529,11 +27268,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27552,11 +27291,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27572,11 +27311,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27592,11 +27331,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27612,11 +27351,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27632,11 +27371,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27655,11 +27394,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27675,11 +27414,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27695,11 +27434,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27718,11 +27457,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27738,11 +27477,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -27758,11 +27497,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27781,11 +27520,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27801,11 +27540,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27821,11 +27560,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27841,11 +27580,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -27861,11 +27600,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27884,11 +27623,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27904,11 +27643,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27924,11 +27663,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27944,11 +27683,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -27964,11 +27703,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -27987,11 +27726,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28007,11 +27746,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28027,11 +27766,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28050,11 +27789,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28070,11 +27809,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -28090,11 +27829,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28113,11 +27852,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28133,11 +27872,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28153,11 +27892,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28173,11 +27912,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -28193,11 +27932,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28216,11 +27955,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28236,11 +27975,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28256,11 +27995,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28276,11 +28015,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28296,11 +28035,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28319,11 +28058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28339,11 +28078,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28359,11 +28098,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28382,11 +28121,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28402,11 +28141,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -28422,11 +28161,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28445,11 +28184,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28465,11 +28204,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28485,11 +28224,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28505,11 +28244,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -28525,11 +28264,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28548,11 +28287,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28568,11 +28307,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28588,11 +28327,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28608,11 +28347,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28628,11 +28367,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28651,11 +28390,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28671,11 +28410,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28691,11 +28430,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28714,11 +28453,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28734,11 +28473,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -28754,11 +28493,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28777,11 +28516,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28797,11 +28536,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28817,11 +28556,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28837,11 +28576,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -28857,11 +28596,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28880,11 +28619,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28900,11 +28639,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28920,11 +28659,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28940,11 +28679,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -28960,11 +28699,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -28983,11 +28722,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29003,11 +28742,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29023,11 +28762,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29046,11 +28785,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29066,11 +28805,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -29086,11 +28825,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29109,11 +28848,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29129,11 +28868,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29149,11 +28888,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29169,11 +28908,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -29189,11 +28928,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29212,11 +28951,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29232,11 +28971,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29252,11 +28991,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29272,11 +29011,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29292,11 +29031,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29315,11 +29054,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29335,11 +29074,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29355,11 +29094,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29378,11 +29117,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29398,11 +29137,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -29418,11 +29157,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29441,11 +29180,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29461,11 +29200,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29481,11 +29220,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29501,11 +29240,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -29521,11 +29260,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29544,11 +29283,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29564,11 +29303,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29584,11 +29323,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29604,11 +29343,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29624,11 +29363,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29647,11 +29386,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29667,11 +29406,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29687,11 +29426,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29710,11 +29449,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29730,11 +29469,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -29750,11 +29489,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29773,11 +29512,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29793,11 +29532,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29813,11 +29552,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29833,11 +29572,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -29853,11 +29592,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29876,11 +29615,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29896,11 +29635,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29916,11 +29655,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29936,11 +29675,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29956,11 +29695,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -29979,11 +29718,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -29999,11 +29738,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30019,11 +29758,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30042,11 +29781,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30062,11 +29801,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -30082,11 +29821,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30105,11 +29844,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30125,11 +29864,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30145,11 +29884,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30165,11 +29904,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -30185,11 +29924,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30208,11 +29947,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30228,11 +29967,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30248,11 +29987,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30268,11 +30007,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30288,11 +30027,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30311,11 +30050,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30331,11 +30070,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30351,11 +30090,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30374,11 +30113,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30394,11 +30133,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -30414,11 +30153,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30437,11 +30176,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30457,11 +30196,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30477,11 +30216,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30497,11 +30236,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -30517,11 +30256,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30540,11 +30279,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30560,11 +30299,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30580,11 +30319,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30600,11 +30339,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30620,11 +30359,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30643,11 +30382,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30663,11 +30402,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30683,11 +30422,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30706,11 +30445,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30726,11 +30465,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -30746,11 +30485,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30769,11 +30508,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30789,11 +30528,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30809,11 +30548,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30829,11 +30568,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -30849,11 +30588,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30872,11 +30611,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30892,11 +30631,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30912,11 +30651,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30932,11 +30671,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30952,11 +30691,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -30975,11 +30714,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -30995,11 +30734,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31015,11 +30754,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31038,11 +30777,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31058,11 +30797,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -31078,11 +30817,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31101,11 +30840,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31121,11 +30860,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31141,11 +30880,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31161,11 +30900,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -31181,11 +30920,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31204,11 +30943,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31224,11 +30963,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31244,11 +30983,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31264,11 +31003,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31284,11 +31023,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31307,11 +31046,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31327,11 +31066,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31347,11 +31086,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31370,11 +31109,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31390,11 +31129,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -31410,11 +31149,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31433,11 +31172,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31453,11 +31192,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31473,11 +31212,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31493,11 +31232,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -31513,11 +31252,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31536,11 +31275,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31556,11 +31295,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31576,11 +31315,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31596,11 +31335,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31616,11 +31355,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31639,11 +31378,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31659,11 +31398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31679,11 +31418,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31702,11 +31441,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31722,11 +31461,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -31742,11 +31481,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31765,11 +31504,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31785,11 +31524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31805,11 +31544,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31825,11 +31564,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -31845,11 +31584,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31868,11 +31607,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31888,11 +31627,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31908,11 +31647,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31928,11 +31667,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31948,11 +31687,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -31971,11 +31710,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -31991,11 +31730,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32011,11 +31750,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32034,11 +31773,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32054,11 +31793,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -32074,11 +31813,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32097,11 +31836,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32117,11 +31856,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32137,11 +31876,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32157,11 +31896,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -32177,11 +31916,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32200,11 +31939,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32220,11 +31959,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32240,11 +31979,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32260,11 +31999,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32280,11 +32019,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32303,11 +32042,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32323,11 +32062,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32343,11 +32082,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32366,11 +32105,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32386,11 +32125,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -32406,11 +32145,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32429,11 +32168,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32449,11 +32188,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32469,11 +32208,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32489,11 +32228,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -32509,11 +32248,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32532,11 +32271,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32552,11 +32291,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32572,11 +32311,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32592,11 +32331,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32612,11 +32351,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32635,11 +32374,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32655,11 +32394,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32675,11 +32414,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32698,11 +32437,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32718,11 +32457,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -32738,11 +32477,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32761,11 +32500,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32781,11 +32520,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32801,11 +32540,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32821,11 +32560,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -32841,11 +32580,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32864,11 +32603,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32884,11 +32623,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32904,11 +32643,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32924,11 +32663,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32944,11 +32683,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -32967,11 +32706,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -32987,11 +32726,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33007,11 +32746,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33030,11 +32769,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33050,11 +32789,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -33070,11 +32809,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33093,11 +32832,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33113,11 +32852,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33133,11 +32872,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33153,11 +32892,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -33173,11 +32912,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33196,11 +32935,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33216,11 +32955,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33236,11 +32975,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33256,11 +32995,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33276,11 +33015,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33299,11 +33038,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33319,11 +33058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33339,11 +33078,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33362,11 +33101,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33382,11 +33121,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -33402,11 +33141,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33425,11 +33164,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33445,11 +33184,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33465,11 +33204,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33485,11 +33224,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -33505,11 +33244,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33528,11 +33267,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33548,11 +33287,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33568,11 +33307,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33588,11 +33327,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33608,11 +33347,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33631,11 +33370,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33651,11 +33390,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33671,11 +33410,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33694,11 +33433,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33714,11 +33453,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -33734,11 +33473,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33757,11 +33496,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33777,11 +33516,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33797,11 +33536,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33817,11 +33556,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -33837,11 +33576,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33860,11 +33599,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33880,11 +33619,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33900,11 +33639,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33920,11 +33659,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33940,11 +33679,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -33963,11 +33702,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -33983,11 +33722,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34003,11 +33742,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34026,11 +33765,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34046,11 +33785,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -34066,11 +33805,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34089,11 +33828,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34109,11 +33848,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34129,11 +33868,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34149,11 +33888,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -34169,11 +33908,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34192,11 +33931,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34212,11 +33951,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34232,11 +33971,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34252,11 +33991,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34272,11 +34011,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34295,11 +34034,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34315,11 +34054,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34335,11 +34074,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34358,11 +34097,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34378,11 +34117,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -34398,11 +34137,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34421,11 +34160,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34441,11 +34180,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34461,11 +34200,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34481,11 +34220,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -34501,11 +34240,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34524,11 +34263,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34544,11 +34283,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34564,11 +34303,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34584,11 +34323,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34604,11 +34343,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34627,11 +34366,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34647,11 +34386,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34667,11 +34406,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34690,11 +34429,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34710,11 +34449,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -34730,11 +34469,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34753,11 +34492,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34773,11 +34512,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34793,11 +34532,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34813,11 +34552,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -34833,11 +34572,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34856,11 +34595,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34876,11 +34615,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34896,11 +34635,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34916,11 +34655,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34936,11 +34675,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -34959,11 +34698,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -34979,11 +34718,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -34999,11 +34738,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35022,11 +34761,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35042,11 +34781,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35062,11 +34801,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35082,11 +34821,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -35102,11 +34841,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35125,11 +34864,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35145,11 +34884,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35165,11 +34904,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35185,11 +34924,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35205,11 +34944,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35228,11 +34967,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35248,11 +34987,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35268,11 +35007,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35291,11 +35030,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35311,11 +35050,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35331,11 +35070,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35354,11 +35093,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35377,11 +35116,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35400,11 +35139,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35426,11 +35165,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35449,11 +35188,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35472,11 +35211,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35495,11 +35234,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35518,11 +35257,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35544,11 +35283,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35567,11 +35306,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35590,11 +35329,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35613,11 +35352,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35636,11 +35375,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35662,11 +35401,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35685,11 +35424,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35708,11 +35447,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35734,11 +35473,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35754,11 +35493,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -35774,11 +35513,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35797,11 +35536,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35817,11 +35556,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35837,11 +35576,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35857,11 +35596,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -35877,11 +35616,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -35900,11 +35639,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35920,11 +35659,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35940,11 +35679,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35960,11 +35699,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -35980,11 +35719,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36003,11 +35742,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36023,11 +35762,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36043,11 +35782,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36066,11 +35805,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36086,11 +35825,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -36106,11 +35845,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36129,11 +35868,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36149,11 +35888,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36169,11 +35908,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36189,11 +35928,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -36209,11 +35948,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36232,11 +35971,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36252,11 +35991,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36272,11 +36011,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36292,11 +36031,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36312,11 +36051,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36335,11 +36074,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36355,11 +36094,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36375,11 +36114,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36398,11 +36137,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36418,11 +36157,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -36438,11 +36177,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36461,11 +36200,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36481,11 +36220,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36501,11 +36240,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36521,11 +36260,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -36541,11 +36280,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36564,11 +36303,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36584,11 +36323,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36604,11 +36343,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36624,11 +36363,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36644,11 +36383,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36667,11 +36406,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36687,11 +36426,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -36707,11 +36446,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36730,11 +36469,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36750,11 +36489,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36770,11 +36509,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36790,11 +36529,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -36810,11 +36549,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36833,11 +36572,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36853,11 +36592,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36873,11 +36612,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36893,11 +36632,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36913,11 +36652,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36936,11 +36675,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36956,11 +36695,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -36976,11 +36715,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -36999,11 +36738,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37019,11 +36758,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37039,11 +36778,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37062,11 +36801,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37079,11 +36818,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37096,11 +36835,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37116,11 +36855,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37133,11 +36872,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37150,11 +36889,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37170,13 +36909,30 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "vcvtdq2pd", 2, 0xf3e6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -37187,12 +36943,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37204,11 +36960,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37221,13 +36977,30 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "vcvtdq2pd", 2, 0xF3E6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -37238,12 +37011,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37255,11 +37028,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37272,11 +37045,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -37289,11 +37062,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37309,11 +37082,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37326,11 +37099,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37343,11 +37116,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37360,11 +37133,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37377,11 +37150,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -37394,11 +37167,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37414,11 +37187,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37431,11 +37204,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37448,11 +37221,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37465,11 +37238,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37482,11 +37255,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37499,11 +37272,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37516,11 +37289,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37533,30 +37306,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtpd2ps", 2, 0x665a, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -37567,11 +37323,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -37584,11 +37340,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37604,11 +37360,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37621,11 +37377,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37638,11 +37394,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37655,11 +37411,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37672,11 +37428,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37689,11 +37445,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37706,11 +37462,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37723,11 +37479,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -37740,11 +37496,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37760,11 +37516,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37777,11 +37533,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37794,13 +37550,30 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "vcvtps2pd", 2, 0x5a, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -37811,12 +37584,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37828,11 +37601,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37845,11 +37618,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37865,13 +37638,30 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "vcvtps2pd", 2, 0x5A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -37882,12 +37672,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37899,11 +37689,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -37916,53 +37706,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtsd2si", 3, 0xF22D, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtsd2si", 2, 0xF22D, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvtsd2si", 3, 0xF22D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37970,11 +37723,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -37982,7 +37735,7 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvtsd2ss", 3, 0xf25a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37990,11 +37743,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38010,11 +37763,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38030,11 +37783,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38053,11 +37806,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38073,11 +37826,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38093,11 +37846,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38113,11 +37866,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38133,11 +37886,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38156,11 +37909,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38179,11 +37932,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38199,11 +37952,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38219,11 +37972,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38233,63 +37986,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vcvtsi2ss", 4, 0xF32A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtsi2ss", 4, 0xF32A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vcvtsi2ss", 3, 0xF32A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38305,13 +38012,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38328,16 +38035,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -38351,11 +38058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38371,11 +38078,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38391,11 +38098,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38414,11 +38121,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38431,53 +38138,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtss2si", 3, 0xF32D, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtss2si", 2, 0xF32D, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvtss2si", 3, 0xF32D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38485,11 +38155,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38497,7 +38167,7 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvttpd2dq", 2, 0x66e6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38505,11 +38175,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38522,11 +38192,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38539,11 +38209,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -38556,11 +38226,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38576,11 +38246,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38593,11 +38263,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38610,11 +38280,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38627,11 +38297,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38644,11 +38314,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38661,11 +38331,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38678,11 +38348,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38695,11 +38365,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -38712,11 +38382,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38732,11 +38402,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38749,11 +38419,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38766,11 +38436,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38783,53 +38453,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvttsd2si", 3, 0xF22C, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvttsd2si", 2, 0xF22C, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvttsd2si", 3, 0xF22C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38837,11 +38470,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38849,7 +38482,7 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvttss2si", 2, 0xf32c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38857,11 +38490,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38874,16 +38507,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvttss2si", 3, 0xF32C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38891,11 +38524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -38903,44 +38536,7 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvttss2si", 2, 0xF32C, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvttss2si", 3, 0xF32C, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vdivpd", 3, 0x665e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38948,11 +38544,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -38968,11 +38564,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -38988,11 +38584,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39011,11 +38607,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39031,11 +38627,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39051,11 +38647,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39071,11 +38667,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -39091,11 +38687,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39114,11 +38710,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39134,11 +38730,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39154,11 +38750,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39174,11 +38770,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39194,11 +38790,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39217,11 +38813,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39237,11 +38833,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39257,11 +38853,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39280,11 +38876,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39303,11 +38899,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39326,11 +38922,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39346,11 +38942,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39366,11 +38962,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39386,11 +38982,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39406,11 +39002,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39426,11 +39022,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39446,11 +39042,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39466,11 +39062,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39486,11 +39082,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39506,11 +39102,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39529,11 +39125,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39552,11 +39148,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39575,11 +39171,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39592,11 +39188,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -39606,11 +39202,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39623,11 +39219,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39643,11 +39239,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39663,11 +39259,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39683,11 +39279,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39703,11 +39299,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39723,11 +39319,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -39743,11 +39339,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39766,11 +39362,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39786,11 +39382,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39806,11 +39402,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39826,11 +39422,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -39846,11 +39442,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39869,11 +39465,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39889,11 +39485,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39909,11 +39505,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39929,11 +39525,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39949,11 +39545,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -39972,11 +39568,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -39992,11 +39588,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40012,11 +39608,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -40035,11 +39631,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40055,11 +39651,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -40075,11 +39671,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -40098,11 +39694,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40118,11 +39714,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40138,11 +39734,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40158,11 +39754,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -40178,11 +39774,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -40201,11 +39797,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40221,11 +39817,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40241,11 +39837,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40261,11 +39857,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40281,11 +39877,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -40304,11 +39900,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40324,11 +39920,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40344,11 +39940,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -40367,11 +39963,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40384,11 +39980,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -40401,11 +39997,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -40418,84 +40014,50 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovapd", 2, 0x6628, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vmovapd", 2, 0x6629, None, 1,
+  { "vmovapd", 2, 0x6628, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovapd", 2, 0x6629, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovapd", 2, 0x6629, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovapd", 2, 0x6628, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -40503,11 +40065,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40520,67 +40082,33 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vmovapd", 2, 0x6628, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovapd", 2, 0x6628, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vmovapd", 2, 0x6629, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
   { "vmovapd", 2, 0x6629, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -40588,16 +40116,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
   { "vmovaps", 2, 0x28, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -40605,11 +40133,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40622,11 +40150,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -40639,11 +40167,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -40656,13 +40184,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
@@ -40673,16 +40201,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovaps", 2, 0x29, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -40690,16 +40218,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovaps", 2, 0x28, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -40707,11 +40235,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40724,96 +40252,28 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vmovaps", 2, 0x28, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovaps", 2, 0x28, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovaps", 2, 0x29, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovaps", 2, 0x29, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vmovaps", 2, 0x29, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -40826,11 +40286,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -40843,11 +40303,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40860,13 +40320,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -40877,11 +40337,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -40894,16 +40354,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovd", 2, 0x666E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -40911,79 +40371,45 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vmovd", 2, 0x666E, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vmovd", 2, 0x667E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
-  { "vmovd", 2, 0x667E, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0 } } } },
   { "vmovddup", 2, 0xf212, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -40996,11 +40422,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41013,11 +40439,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -41030,11 +40456,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41047,11 +40473,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41064,11 +40490,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41081,11 +40507,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41098,11 +40524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41115,11 +40541,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41132,11 +40558,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41152,11 +40578,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41172,11 +40598,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41192,11 +40618,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41209,11 +40635,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41229,11 +40655,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41246,11 +40672,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41266,11 +40692,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41283,11 +40709,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41303,11 +40729,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41320,11 +40746,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41340,11 +40766,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41360,11 +40786,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41380,11 +40806,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41397,11 +40823,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41417,11 +40843,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41434,11 +40860,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41454,11 +40880,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41471,11 +40897,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41491,11 +40917,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41508,11 +40934,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41525,11 +40951,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41542,11 +40968,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41559,11 +40985,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -41576,11 +41002,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41593,11 +41019,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41610,11 +41036,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41627,11 +41053,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41644,11 +41070,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -41661,11 +41087,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41678,11 +41104,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41695,11 +41121,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41712,11 +41138,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -41729,11 +41155,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41746,11 +41172,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41763,11 +41189,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41780,11 +41206,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -41797,11 +41223,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41814,11 +41240,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41831,11 +41257,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41848,11 +41274,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41865,11 +41291,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41882,11 +41308,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41899,11 +41325,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41916,11 +41342,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41933,11 +41359,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -41950,11 +41376,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41967,11 +41393,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -41984,11 +41410,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42001,11 +41427,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42021,11 +41447,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42041,11 +41467,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42058,11 +41484,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42078,11 +41504,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42095,11 +41521,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42115,11 +41541,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42132,11 +41558,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -42149,11 +41575,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42166,11 +41592,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42183,11 +41609,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42200,11 +41626,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -42217,11 +41643,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42234,11 +41660,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42251,11 +41677,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42268,11 +41694,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42285,11 +41711,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42305,11 +41731,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42325,11 +41751,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42342,11 +41768,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42362,11 +41788,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42379,11 +41805,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42399,11 +41825,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42416,11 +41842,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42433,11 +41859,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -42450,84 +41876,50 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovupd", 2, 0x6610, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vmovupd", 2, 0x6611, None, 1,
+  { "vmovupd", 2, 0x6610, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovupd", 2, 0x6611, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovupd", 2, 0x6611, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovupd", 2, 0x6610, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42535,11 +41927,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42552,67 +41944,33 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vmovupd", 2, 0x6610, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovupd", 2, 0x6610, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vmovupd", 2, 0x6611, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
   { "vmovupd", 2, 0x6611, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42620,16 +41978,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
   { "vmovups", 2, 0x10, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42637,11 +41995,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42654,11 +42012,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42671,11 +42029,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -42688,13 +42046,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
@@ -42705,16 +42063,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovups", 2, 0x11, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42722,16 +42080,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovups", 2, 0x10, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42739,11 +42097,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42756,96 +42114,28 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vmovups", 2, 0x10, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovups", 2, 0x10, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovups", 2, 0x11, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovups", 2, 0x11, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vmovups", 2, 0x11, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42858,11 +42148,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42875,11 +42165,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42898,11 +42188,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42921,11 +42211,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -42941,11 +42231,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -42961,11 +42251,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -42984,11 +42274,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43004,11 +42294,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43024,11 +42314,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43044,11 +42334,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -43064,11 +42354,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -43087,11 +42377,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43107,11 +42397,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43127,11 +42417,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43147,11 +42437,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43167,11 +42457,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -43190,11 +42480,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43210,11 +42500,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43230,11 +42520,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -43253,11 +42543,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43273,11 +42563,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -43293,11 +42583,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43313,11 +42603,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43333,11 +42623,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43353,11 +42643,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -43373,11 +42663,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43393,11 +42683,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43413,11 +42703,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43430,11 +42720,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43447,11 +42737,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -43464,11 +42754,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43481,11 +42771,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43498,11 +42788,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43515,11 +42805,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43532,11 +42822,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -43549,11 +42839,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43566,11 +42856,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43583,11 +42873,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43600,11 +42890,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43617,11 +42907,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -43634,11 +42924,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43651,11 +42941,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43668,11 +42958,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43688,11 +42978,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43708,11 +42998,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -43728,11 +43018,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43748,11 +43038,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43768,11 +43058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43788,11 +43078,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43808,11 +43098,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -43828,11 +43118,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43848,11 +43138,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43868,11 +43158,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43888,11 +43178,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43908,11 +43198,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -43928,11 +43218,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43948,11 +43238,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43968,11 +43258,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -43988,11 +43278,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44008,11 +43298,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -44028,11 +43318,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44048,11 +43338,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44068,11 +43358,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44088,11 +43378,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44108,11 +43398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -44128,11 +43418,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44148,11 +43438,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44168,11 +43458,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44188,11 +43478,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44208,11 +43498,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -44228,11 +43518,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44248,11 +43538,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44268,11 +43558,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44288,11 +43578,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44308,11 +43598,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -44328,11 +43618,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44348,11 +43638,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44368,11 +43658,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44388,11 +43678,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44408,11 +43698,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -44428,11 +43718,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44448,11 +43738,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44468,11 +43758,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44488,11 +43778,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44508,11 +43798,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -44528,11 +43818,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44548,11 +43838,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44568,11 +43858,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44588,11 +43878,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44608,11 +43898,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -44628,11 +43918,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44648,11 +43938,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44668,11 +43958,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44688,11 +43978,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44708,11 +43998,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -44728,11 +44018,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44748,11 +44038,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44768,11 +44058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44788,11 +44078,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44808,11 +44098,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -44828,11 +44118,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44848,11 +44138,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -44868,11 +44158,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -44891,11 +44181,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -44914,11 +44204,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -44937,11 +44227,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -44960,11 +44250,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -44983,11 +44273,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45003,11 +44293,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45023,11 +44313,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45043,11 +44333,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45063,11 +44353,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45083,11 +44373,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45103,11 +44393,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -45123,11 +44413,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45143,11 +44433,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45163,11 +44453,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45183,11 +44473,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45203,11 +44493,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -45223,11 +44513,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45243,11 +44533,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45263,11 +44553,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -45286,11 +44576,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -45309,11 +44599,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -45332,11 +44622,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -45355,11 +44645,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45375,11 +44665,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45395,11 +44685,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -45415,11 +44705,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45435,11 +44725,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45455,11 +44745,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -45475,11 +44765,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45495,11 +44785,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45515,11 +44805,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45535,11 +44825,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45555,11 +44845,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -45575,11 +44865,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -45595,12 +44885,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45615,32 +44905,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcmpeqd", 3, 0x6676, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45649,38 +44919,18 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpcmpeqd", 3, 0x6676, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vpcmpeqd", 3, 0x661F, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45695,32 +44945,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcmpeqd", 3, 0x661F, 0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45729,37 +44959,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpcmpeqd", 3, 0x661F, 0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vpcmpeqq", 3, 0x6629, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45775,11 +44985,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -45795,11 +45005,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -45815,11 +45025,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -45835,32 +45045,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcmpeqq", 3, 0x6629, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45875,12 +45065,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45889,38 +45079,18 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpcmpeqq", 3, 0x6629, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vpcmpeqq", 3, 0x661F, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45935,12 +45105,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45949,57 +45119,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpcmpeqq", 3, 0x661F, 0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcmpeqq", 3, 0x661F, 0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vpcmpeqw", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46015,11 +45145,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46035,11 +45165,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -46055,11 +45185,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46075,11 +45205,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46095,11 +45225,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -46115,11 +45245,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46135,11 +45265,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46155,11 +45285,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46175,11 +45305,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46195,11 +45325,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46215,11 +45345,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46235,11 +45365,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46255,11 +45385,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46275,11 +45405,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -46295,11 +45425,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46315,11 +45445,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46335,11 +45465,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46355,11 +45485,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46375,11 +45505,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -46395,11 +45525,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46415,11 +45545,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46435,11 +45565,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46455,11 +45585,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46475,11 +45605,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -46495,11 +45625,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46515,11 +45645,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46535,11 +45665,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46555,11 +45685,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46575,11 +45705,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -46595,11 +45725,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46615,11 +45745,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46635,11 +45765,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46655,11 +45785,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46675,11 +45805,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46698,11 +45828,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46718,11 +45848,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46738,11 +45868,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46758,11 +45888,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -46778,11 +45908,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46798,11 +45928,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46818,11 +45948,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46838,11 +45968,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46858,11 +45988,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46878,11 +46008,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46898,11 +46028,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46918,11 +46048,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -46938,11 +46068,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46958,11 +46088,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -46978,11 +46108,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -46998,11 +46128,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47018,11 +46148,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47038,11 +46168,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47058,11 +46188,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47078,11 +46208,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47098,11 +46228,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47118,11 +46248,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47138,11 +46268,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47158,11 +46288,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47178,11 +46308,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47198,11 +46328,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47218,11 +46348,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47238,11 +46368,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47258,11 +46388,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47278,11 +46408,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47298,11 +46428,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47318,11 +46448,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47338,11 +46468,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47358,11 +46488,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47378,11 +46508,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47398,11 +46528,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47418,11 +46548,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47435,11 +46565,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47455,11 +46585,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47475,11 +46605,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47495,11 +46625,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47515,11 +46645,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47535,11 +46665,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47555,11 +46685,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47578,11 +46708,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47601,11 +46731,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47624,11 +46754,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47647,11 +46777,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47670,11 +46800,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47693,11 +46823,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47716,11 +46846,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47739,11 +46869,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47762,11 +46892,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47785,11 +46915,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47808,11 +46938,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -47831,11 +46961,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47851,11 +46981,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47871,11 +47001,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -47891,11 +47021,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47911,11 +47041,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47931,11 +47061,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47951,11 +47081,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -47971,11 +47101,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -47991,11 +47121,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48011,11 +47141,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48031,11 +47161,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48051,11 +47181,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48071,11 +47201,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -48091,11 +47221,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48111,11 +47241,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48131,11 +47261,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48151,11 +47281,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48171,11 +47301,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -48191,11 +47321,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48211,11 +47341,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48231,11 +47361,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48251,11 +47381,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48271,11 +47401,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -48291,11 +47421,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48311,11 +47441,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48331,11 +47461,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48351,11 +47481,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48371,11 +47501,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -48391,11 +47521,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48411,11 +47541,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48431,11 +47561,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48451,11 +47581,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48471,11 +47601,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -48491,11 +47621,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48511,11 +47641,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48531,11 +47661,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48551,11 +47681,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48571,11 +47701,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -48591,11 +47721,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48611,11 +47741,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48631,11 +47761,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48651,11 +47781,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48671,11 +47801,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -48691,11 +47821,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48711,11 +47841,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48731,11 +47861,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48751,11 +47881,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48771,11 +47901,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -48791,11 +47921,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48811,11 +47941,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48831,11 +47961,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48851,11 +47981,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48871,11 +48001,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -48891,11 +48021,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48911,11 +48041,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48931,11 +48061,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48951,11 +48081,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -48971,11 +48101,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -48991,11 +48121,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49011,11 +48141,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49031,11 +48161,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49051,11 +48181,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49071,11 +48201,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -49091,11 +48221,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49111,11 +48241,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49131,11 +48261,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49151,11 +48281,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49171,11 +48301,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -49191,11 +48321,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49211,11 +48341,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49231,11 +48361,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -49248,11 +48378,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -49265,11 +48395,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49282,11 +48412,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49299,11 +48429,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49316,11 +48446,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49333,11 +48463,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49350,11 +48480,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49367,11 +48497,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49384,11 +48514,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49401,11 +48531,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49418,11 +48548,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49435,11 +48565,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49452,11 +48582,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49469,11 +48599,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49486,11 +48616,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49503,11 +48633,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49520,11 +48650,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49537,11 +48667,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49554,11 +48684,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49571,11 +48701,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49588,11 +48718,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49605,11 +48735,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49622,11 +48752,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49639,11 +48769,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49656,11 +48786,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49673,11 +48803,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49690,11 +48820,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49707,11 +48837,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49724,11 +48854,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49741,11 +48871,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49758,11 +48888,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49775,11 +48905,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49792,11 +48922,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49809,11 +48939,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49826,11 +48956,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49843,11 +48973,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49860,11 +48990,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49877,11 +49007,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49894,11 +49024,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49911,11 +49041,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49928,11 +49058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49945,11 +49075,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49962,11 +49092,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49979,11 +49109,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -49996,11 +49126,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50013,11 +49143,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50030,11 +49160,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50047,11 +49177,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50064,11 +49194,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50081,11 +49211,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50098,11 +49228,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50115,11 +49245,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50132,11 +49262,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50149,11 +49279,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50166,11 +49296,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50183,11 +49313,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50200,11 +49330,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50217,11 +49347,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50234,11 +49364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50251,11 +49381,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50268,11 +49398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50285,11 +49415,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50305,11 +49435,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50325,11 +49455,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -50345,11 +49475,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50365,11 +49495,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50385,11 +49515,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50405,11 +49535,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50425,11 +49555,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -50445,11 +49575,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50465,11 +49595,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50485,11 +49615,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50505,11 +49635,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50525,11 +49655,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -50545,11 +49675,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50565,11 +49695,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50585,11 +49715,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50605,11 +49735,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50625,11 +49755,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -50645,11 +49775,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50665,11 +49795,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50685,11 +49815,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50705,11 +49835,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50725,11 +49855,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -50745,11 +49875,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50765,11 +49895,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50785,11 +49915,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50805,11 +49935,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50825,11 +49955,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -50845,11 +49975,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50865,11 +49995,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50885,11 +50015,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50905,11 +50035,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50925,11 +50055,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -50945,11 +50075,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50965,11 +50095,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -50985,11 +50115,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51005,11 +50135,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51025,11 +50155,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51045,11 +50175,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51065,11 +50195,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -51085,11 +50215,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51105,11 +50235,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51125,11 +50255,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51145,11 +50275,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51165,11 +50295,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -51185,11 +50315,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51205,11 +50335,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51225,11 +50355,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51245,11 +50375,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51265,11 +50395,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51285,11 +50415,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51305,11 +50435,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51325,11 +50455,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51345,11 +50475,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51365,11 +50495,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51385,11 +50515,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51405,11 +50535,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51425,11 +50555,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51445,11 +50575,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51465,11 +50595,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51485,11 +50615,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51505,11 +50635,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51525,11 +50655,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51545,11 +50675,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51565,11 +50695,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51585,11 +50715,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51605,11 +50735,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51625,11 +50755,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51645,11 +50775,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51665,11 +50795,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51685,11 +50815,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51705,11 +50835,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -51725,19 +50855,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpslld", 3, 0x6672, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -51745,95 +50875,35 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpslld", 3, 0x6672, 6, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpslld", 3, 0x66F2, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vpslld", 3, 0x66F2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpslld", 3, 0x6672, 6, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -51845,15 +50915,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -51865,35 +50935,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpslld", 3, 0x6672, 6, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -51905,11 +50955,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51925,11 +50975,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -51945,35 +50995,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpslldq", 3, 0x6673, 7, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -51985,35 +51015,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpslldq", 3, 0x6673, 7, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52025,35 +51035,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpslldq", 3, 0x6673, 7, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52065,11 +51055,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -52085,11 +51075,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -52105,11 +51095,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -52125,11 +51115,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -52145,19 +51135,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpsllq", 3, 0x6673, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52165,95 +51155,35 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpsllq", 3, 0x6673, 6, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsllq", 3, 0x66F3, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vpsllq", 3, 0x66F3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsllq", 3, 0x6673, 6, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52265,15 +51195,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52285,35 +51215,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsllq", 3, 0x6673, 6, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52325,11 +51235,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -52345,11 +51255,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -52365,11 +51275,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -52385,11 +51295,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -52405,75 +51315,35 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpsllw", 3, 0x6671, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsllw", 3, 0x6671, 6, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsllw", 3, 0x6671, 6, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52485,35 +51355,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsllw", 3, 0x6671, 6, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52521,35 +51371,15 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vpsllw", 3, 0x66F1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsllw", 3, 0x66F1, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -52561,23 +51391,23 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vpsllw", 3, 0x66F1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpsrad", 3, 0x6672, 0x4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52585,11 +51415,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -52605,11 +51435,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -52625,11 +51455,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -52645,11 +51475,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -52665,19 +51495,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpsrad", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52685,95 +51515,35 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpsrad", 3, 0x6672, 4, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrad", 3, 0x66E2, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vpsrad", 3, 0x66E2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrad", 3, 0x6672, 4, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52785,15 +51555,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52805,35 +51575,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrad", 3, 0x6672, 4, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52845,11 +51595,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -52865,11 +51615,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -52885,11 +51635,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -52905,11 +51655,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -52925,35 +51675,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsraw", 3, 0x6671, 4, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52965,35 +51695,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsraw", 3, 0x6671, 4, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53005,35 +51715,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsraw", 3, 0x6671, 4, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53041,35 +51731,15 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vpsraw", 3, 0x66E1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsraw", 3, 0x66E1, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -53081,23 +51751,23 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vpsraw", 3, 0x66E1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpsrld", 3, 0x6672, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53105,11 +51775,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -53125,11 +51795,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -53145,11 +51815,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -53165,11 +51835,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -53185,19 +51855,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpsrld", 3, 0x6672, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53205,95 +51875,35 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpsrld", 3, 0x6672, 2, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrld", 3, 0x66D2, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vpsrld", 3, 0x66D2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrld", 3, 0x6672, 2, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53305,15 +51915,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53325,35 +51935,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrld", 3, 0x6672, 2, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53365,11 +51955,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -53385,11 +51975,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -53405,35 +51995,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrldq", 3, 0x6673, 3, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53445,35 +52015,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrldq", 3, 0x6673, 3, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53485,35 +52035,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrldq", 3, 0x6673, 3, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53525,11 +52055,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -53545,11 +52075,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -53565,11 +52095,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -53585,11 +52115,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -53605,19 +52135,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpsrlq", 3, 0x6673, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53625,91 +52155,91 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x6673, 2, 1,
+  { "vpsrlq", 3, 0x66D3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x66D3, None, 1,
+  { "vpsrlq", 3, 0x6673, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x66D3, None, 1,
+  { "vpsrlq", 3, 0x6673, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x6673, 2, 1,
+  { "vpsrlw", 3, 0x6671, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -53719,37 +52249,37 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x6673, 2, 1,
+  { "vpsrlw", 3, 0x66d1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x6673, 2, 1,
+  { "vpsrlw", 3, 0x6671, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -53759,97 +52289,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x6673, 2, 1,
+  { "vpsrlw", 3, 0x66d1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x6671, 0x2, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x66d1, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x6671, 0x2, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x66d1, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -53865,35 +52315,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x6671, 2, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53905,35 +52335,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x6671, 2, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53945,35 +52355,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x6671, 2, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -53981,35 +52371,15 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vpsrlw", 3, 0x66D1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x66D1, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54021,23 +52391,23 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vpsrlw", 3, 0x66D1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpsubb", 3, 0x66f8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -54045,11 +52415,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54065,11 +52435,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54085,11 +52455,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -54105,11 +52475,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54125,11 +52495,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54145,11 +52515,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54165,11 +52535,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54185,11 +52555,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -54205,11 +52575,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54225,11 +52595,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54245,11 +52615,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54265,11 +52635,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54285,11 +52655,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -54305,11 +52675,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54325,11 +52695,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54345,11 +52715,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54365,11 +52735,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54385,11 +52755,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -54405,11 +52775,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54425,11 +52795,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54445,11 +52815,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54465,11 +52835,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54485,11 +52855,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -54505,11 +52875,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54525,11 +52895,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54545,11 +52915,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54565,11 +52935,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54585,11 +52955,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -54605,11 +52975,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54625,11 +52995,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54645,11 +53015,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54665,11 +53035,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54685,11 +53055,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -54705,11 +53075,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54725,11 +53095,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54745,11 +53115,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54765,11 +53135,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54785,11 +53155,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -54805,11 +53175,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54825,11 +53195,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54845,11 +53215,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54862,11 +53232,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54882,11 +53252,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54902,11 +53272,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -54922,11 +53292,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54942,11 +53312,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54962,11 +53332,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -54982,11 +53352,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55002,11 +53372,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -55022,11 +53392,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55042,11 +53412,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55062,11 +53432,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55082,11 +53452,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55102,11 +53472,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -55122,11 +53492,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55142,11 +53512,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55162,11 +53532,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55182,11 +53552,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55202,11 +53572,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -55222,11 +53592,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55242,11 +53612,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55262,11 +53632,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55282,11 +53652,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55302,11 +53672,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -55322,11 +53692,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55342,11 +53712,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55362,11 +53732,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55382,11 +53752,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55402,11 +53772,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -55422,11 +53792,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55442,11 +53812,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55462,11 +53832,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55482,11 +53852,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55502,11 +53872,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -55522,11 +53892,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55542,11 +53912,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55562,11 +53932,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55582,11 +53952,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55602,11 +53972,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -55622,11 +53992,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55642,11 +54012,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55662,11 +54032,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55682,11 +54052,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55702,11 +54072,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55719,11 +54089,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55739,11 +54109,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -55759,11 +54129,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -55779,11 +54149,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 3, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      3, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -55802,11 +54172,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -55825,11 +54195,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55842,11 +54212,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -55862,11 +54232,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -55885,11 +54255,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -55908,11 +54278,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -55931,11 +54301,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -55954,11 +54324,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -55977,11 +54347,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56000,11 +54370,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56023,11 +54393,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56046,11 +54416,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56063,11 +54433,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -56080,11 +54450,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56100,11 +54470,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56117,11 +54487,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56134,11 +54504,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56151,11 +54521,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -56168,11 +54538,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56188,11 +54558,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56205,11 +54575,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56222,11 +54592,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56242,11 +54612,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56262,11 +54632,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56285,11 +54655,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56305,11 +54675,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56325,11 +54695,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56348,11 +54718,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -56362,11 +54732,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56382,11 +54752,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -56402,11 +54772,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56425,11 +54795,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56445,11 +54815,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56465,11 +54835,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56485,11 +54855,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -56505,11 +54875,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56528,11 +54898,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56548,11 +54918,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56568,11 +54938,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56588,11 +54958,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56608,11 +54978,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56631,11 +55001,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56651,11 +55021,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56671,11 +55041,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56694,11 +55064,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56711,11 +55081,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56728,11 +55098,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56745,11 +55115,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56762,11 +55132,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56782,11 +55152,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56799,11 +55169,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56816,11 +55186,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -56836,11 +55206,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56856,11 +55226,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -56876,11 +55246,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56896,11 +55266,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56916,11 +55286,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56936,11 +55306,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -56956,11 +55326,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56976,11 +55346,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -56996,11 +55366,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57016,11 +55386,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -57036,11 +55406,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57056,11 +55426,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57076,11 +55446,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57096,11 +55466,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -57116,11 +55486,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57136,11 +55506,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57156,11 +55526,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57176,11 +55546,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -57196,11 +55566,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57216,11 +55586,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57236,11 +55606,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57256,11 +55626,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -57276,11 +55646,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57296,11 +55666,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57316,11 +55686,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -57330,11 +55700,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -57344,11 +55714,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57361,11 +55731,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -57384,11 +55754,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57401,50 +55771,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastb", 2, 0x6678, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastb", 2, 0x6678, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpbroadcastb", 2, 0x667A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -57452,50 +55788,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastb", 2, 0x667A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastb", 2, 0x667A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpbroadcastd", 2, 0x6658, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -57503,11 +55805,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57520,16 +55822,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpbroadcastd", 2, 0x667C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -57537,118 +55839,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastd", 2, 0x6658, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastd", 2, 0x6658, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastd", 2, 0x6658, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastd", 2, 0x6658, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastd", 2, 0x667C, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastd", 2, 0x667C, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpbroadcastq", 2, 0x6659, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -57656,11 +55856,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57673,16 +55873,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpbroadcastq", 2, 0x667C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -57690,118 +55890,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastq", 2, 0x6659, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastq", 2, 0x6659, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastq", 2, 0x6659, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastq", 2, 0x6659, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastq", 2, 0x667C, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastq", 2, 0x667C, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpbroadcastw", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -57809,11 +55907,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57826,50 +55924,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastw", 2, 0x6679, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastw", 2, 0x6679, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpbroadcastw", 2, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -57877,50 +55941,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastw", 2, 0x667B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastw", 2, 0x667B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vperm2i128", 4, 0x6646, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -57928,11 +55958,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -57951,11 +55981,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -57971,11 +56001,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -57991,11 +56021,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58011,11 +56041,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58031,11 +56061,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58051,11 +56081,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -58071,11 +56101,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58091,11 +56121,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58111,11 +56141,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58131,11 +56161,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -58151,11 +56181,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58171,11 +56201,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58191,11 +56221,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58211,11 +56241,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -58231,11 +56261,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58251,11 +56281,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58271,11 +56301,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58291,11 +56321,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58314,11 +56344,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58334,11 +56364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58354,11 +56384,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58374,11 +56404,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58394,11 +56424,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58414,11 +56444,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -58434,11 +56464,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58454,11 +56484,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58474,11 +56504,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58494,11 +56524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -58514,11 +56544,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58534,11 +56564,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58554,11 +56584,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58574,11 +56604,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -58594,11 +56624,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58614,11 +56644,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58634,11 +56664,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58654,11 +56684,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -58674,11 +56704,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58694,11 +56724,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58714,11 +56744,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58734,11 +56764,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -58754,11 +56784,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58774,11 +56804,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58794,11 +56824,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58814,11 +56844,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58834,11 +56864,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -58851,33 +56881,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vgatherdpd", 2, 0x6692, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vgatherdps", 3, 0x6692, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -58885,11 +56898,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58905,11 +56918,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58925,11 +56938,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -58942,11 +56955,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58959,11 +56972,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -58976,11 +56989,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -58996,11 +57009,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59016,11 +57029,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -59033,11 +57046,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59050,11 +57063,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59067,11 +57080,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59087,11 +57100,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59107,11 +57120,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59124,11 +57137,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59141,11 +57154,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59158,11 +57171,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59178,11 +57191,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59198,11 +57211,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -59215,11 +57228,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59232,11 +57245,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59249,11 +57262,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59269,11 +57282,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59289,11 +57302,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -59306,33 +57319,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpgatherdq", 2, 0x6690, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vpgatherqd", 3, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -59340,11 +57336,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59360,11 +57356,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59380,11 +57376,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59397,11 +57393,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59414,11 +57410,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59431,11 +57427,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59451,11 +57447,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59471,11 +57467,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -59488,11 +57484,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59505,11 +57501,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59522,11 +57518,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59539,11 +57535,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59559,11 +57555,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59581,12 +57577,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59604,12 +57600,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59627,12 +57623,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59650,12 +57646,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59674,11 +57670,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59694,11 +57690,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59714,11 +57710,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59734,11 +57730,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -59753,58 +57749,35 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vgf2p8affineinvqb", 4, 0x66cf, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vgf2p8affineinvqb", 4, 0x66cf, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59822,12 +57795,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59845,12 +57818,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59868,58 +57841,35 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vgf2p8affineqb", 4, 0x66ce, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vgf2p8affineqb", 4, 0x66ce, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59937,12 +57887,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59960,12 +57910,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -59983,52 +57933,32 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vgf2p8mulb", 3, 0x66cf, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vgf2p8mulb", 3, 0x66cf, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -60043,12 +57973,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60063,12 +57993,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60084,11 +58014,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -60098,11 +58028,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -60112,11 +58042,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -60126,11 +58056,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -60140,11 +58070,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -60154,11 +58084,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60171,11 +58101,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60188,11 +58118,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60205,11 +58135,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60225,11 +58155,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60242,11 +58172,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60259,11 +58189,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60279,11 +58209,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60299,11 +58229,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60319,11 +58249,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60342,11 +58272,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60362,36 +58292,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtps2ph", 3, 0x661D, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -60402,11 +58312,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60422,11 +58332,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60442,39 +58352,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmadd132pd", 3, 0x6698, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmadd132pd", 3, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -60482,11 +58372,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -60502,11 +58392,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60525,11 +58415,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60545,11 +58435,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60565,39 +58455,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmadd132ps", 3, 0x6698, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmadd132ps", 3, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -60605,11 +58475,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -60625,11 +58495,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60648,11 +58518,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60668,11 +58538,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60688,39 +58558,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmadd213pd", 3, 0x66a8, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmadd213pd", 3, 0x66A8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -60728,11 +58578,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -60748,11 +58598,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60771,11 +58621,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60791,11 +58641,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60811,39 +58661,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmadd213ps", 3, 0x66a8, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmadd213ps", 3, 0x66A8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -60851,11 +58681,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -60871,11 +58701,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -60894,11 +58724,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60914,11 +58744,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -60934,39 +58764,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmadd231pd", 3, 0x66b8, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmadd231pd", 3, 0x66B8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -60974,11 +58784,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -60994,11 +58804,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -61017,11 +58827,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61037,11 +58847,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61057,39 +58867,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmadd231ps", 3, 0x66b8, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmadd231ps", 3, 0x66B8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -61097,11 +58887,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -61117,11 +58907,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -61140,11 +58930,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61160,11 +58950,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61180,11 +58970,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61200,11 +58990,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61220,11 +59010,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -61243,11 +59033,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61263,11 +59053,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61283,11 +59073,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -61306,11 +59096,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61326,11 +59116,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61346,11 +59136,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -61369,11 +59159,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61389,11 +59179,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61409,11 +59199,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -61432,11 +59222,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61452,11 +59242,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61472,11 +59262,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -61495,11 +59285,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61515,11 +59305,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61535,11 +59325,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -61558,39 +59348,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmaddsub132pd", 3, 0x6696, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmaddsub132pd", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -61598,11 +59368,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -61618,11 +59388,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -61641,11 +59411,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61661,11 +59431,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61681,39 +59451,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmaddsub132ps", 3, 0x6696, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmaddsub132ps", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -61721,11 +59471,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -61741,11 +59491,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -61764,11 +59514,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61784,11 +59534,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61804,39 +59554,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmaddsub213pd", 3, 0x66a6, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmaddsub213pd", 3, 0x66A6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -61844,11 +59574,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -61864,11 +59594,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -61887,11 +59617,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61907,11 +59637,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -61927,39 +59657,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmaddsub213ps", 3, 0x66a6, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmaddsub213ps", 3, 0x66A6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -61967,11 +59677,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -61987,11 +59697,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -62010,11 +59720,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62030,11 +59740,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62050,39 +59760,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmaddsub231pd", 3, 0x66b6, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmaddsub231pd", 3, 0x66B6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -62090,11 +59780,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -62110,11 +59800,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -62133,11 +59823,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62153,11 +59843,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62173,39 +59863,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmaddsub231ps", 3, 0x66b6, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmaddsub231ps", 3, 0x66B6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -62213,11 +59883,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -62233,11 +59903,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -62256,11 +59926,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62276,11 +59946,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62296,39 +59966,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsubadd132pd", 3, 0x6697, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsubadd132pd", 3, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -62336,11 +59986,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -62356,11 +60006,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -62379,11 +60029,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62399,11 +60049,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62419,39 +60069,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsubadd132ps", 3, 0x6697, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsubadd132ps", 3, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -62459,11 +60089,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -62479,11 +60109,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -62502,11 +60132,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62522,11 +60152,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62542,39 +60172,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsubadd213pd", 3, 0x66a7, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsubadd213pd", 3, 0x66A7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -62582,11 +60192,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -62602,11 +60212,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -62625,11 +60235,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62645,11 +60255,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62665,39 +60275,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsubadd213ps", 3, 0x66a7, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsubadd213ps", 3, 0x66A7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -62705,11 +60295,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -62725,11 +60315,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -62748,11 +60338,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62768,11 +60358,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62788,39 +60378,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsubadd231pd", 3, 0x66b7, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsubadd231pd", 3, 0x66B7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -62828,11 +60398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -62848,11 +60418,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -62871,11 +60441,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62891,11 +60461,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -62911,39 +60481,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsubadd231ps", 3, 0x66b7, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsubadd231ps", 3, 0x66B7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -62951,11 +60501,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -62971,11 +60521,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -62994,11 +60544,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63014,11 +60564,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63034,39 +60584,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsub132pd", 3, 0x669a, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsub132pd", 3, 0x669A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -63074,11 +60604,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -63094,11 +60624,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -63117,11 +60647,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63137,11 +60667,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63157,39 +60687,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsub132ps", 3, 0x669a, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsub132ps", 3, 0x669A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -63197,11 +60707,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -63217,11 +60727,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -63240,11 +60750,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63260,11 +60770,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63280,39 +60790,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsub213pd", 3, 0x66aa, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsub213pd", 3, 0x66AA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -63320,11 +60810,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -63340,11 +60830,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -63363,11 +60853,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63383,11 +60873,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63403,39 +60893,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsub213ps", 3, 0x66aa, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsub213ps", 3, 0x66AA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -63443,11 +60913,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -63463,11 +60933,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -63486,11 +60956,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63506,11 +60976,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63526,39 +60996,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsub231pd", 3, 0x66ba, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsub231pd", 3, 0x66BA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -63566,11 +61016,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -63586,11 +61036,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -63609,11 +61059,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63629,11 +61079,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63649,39 +61099,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfmsub231ps", 3, 0x66ba, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmsub231ps", 3, 0x66BA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -63689,11 +61119,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -63709,11 +61139,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -63732,11 +61162,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63752,11 +61182,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63772,11 +61202,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63792,11 +61222,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63812,11 +61242,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -63835,11 +61265,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63855,11 +61285,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63875,11 +61305,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -63898,11 +61328,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63918,11 +61348,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63938,11 +61368,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -63961,11 +61391,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -63981,11 +61411,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64001,11 +61431,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -64024,11 +61454,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64044,11 +61474,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64064,11 +61494,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -64087,11 +61517,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64107,11 +61537,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64127,11 +61557,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -64150,39 +61580,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmadd132pd", 3, 0x669c, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmadd132pd", 3, 0x669C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -64190,11 +61600,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -64210,11 +61620,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -64233,11 +61643,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64253,11 +61663,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64273,39 +61683,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmadd132ps", 3, 0x669c, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmadd132ps", 3, 0x669C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -64313,11 +61703,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -64333,11 +61723,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -64356,11 +61746,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64376,11 +61766,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64396,39 +61786,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmadd213pd", 3, 0x66ac, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmadd213pd", 3, 0x66AC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -64436,11 +61806,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -64456,11 +61826,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -64479,11 +61849,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64499,11 +61869,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64519,39 +61889,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmadd213ps", 3, 0x66ac, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmadd213ps", 3, 0x66AC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -64559,11 +61909,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -64579,11 +61929,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -64602,11 +61952,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64622,11 +61972,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64642,39 +61992,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmadd231pd", 3, 0x66bc, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmadd231pd", 3, 0x66BC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -64682,11 +62012,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -64702,11 +62032,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -64725,11 +62055,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64745,11 +62075,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64765,39 +62095,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmadd231ps", 3, 0x66bc, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmadd231ps", 3, 0x66BC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -64805,11 +62115,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -64825,11 +62135,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -64848,11 +62158,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64868,11 +62178,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64888,11 +62198,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64908,11 +62218,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64928,11 +62238,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -64951,11 +62261,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64971,11 +62281,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -64991,11 +62301,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -65014,11 +62324,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65034,11 +62344,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65054,11 +62364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -65077,11 +62387,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65097,11 +62407,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65117,11 +62427,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -65140,11 +62450,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65160,11 +62470,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65180,11 +62490,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -65203,11 +62513,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65223,11 +62533,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65243,11 +62553,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -65266,39 +62576,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsub132pd", 3, 0x669e, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmsub132pd", 3, 0x669E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -65306,11 +62596,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -65326,11 +62616,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -65349,11 +62639,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65369,11 +62659,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65389,39 +62679,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsub132ps", 3, 0x669e, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmsub132ps", 3, 0x669E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -65429,11 +62699,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -65449,11 +62719,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -65472,11 +62742,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65492,11 +62762,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65512,39 +62782,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsub213pd", 3, 0x66ae, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmsub213pd", 3, 0x66AE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -65552,11 +62802,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -65572,11 +62822,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -65595,11 +62845,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65615,11 +62865,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65635,39 +62885,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsub213ps", 3, 0x66ae, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmsub213ps", 3, 0x66AE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -65675,11 +62905,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -65695,11 +62925,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -65718,11 +62948,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65738,11 +62968,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65758,39 +62988,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsub231pd", 3, 0x66be, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmsub231pd", 3, 0x66BE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -65798,11 +63008,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -65818,11 +63028,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -65841,11 +63051,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65861,11 +63071,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65881,39 +63091,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsub231ps", 3, 0x66be, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfnmsub231ps", 3, 0x66BE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -65921,11 +63111,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -65941,11 +63131,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -65964,11 +63154,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -65984,11 +63174,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66004,11 +63194,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66024,11 +63214,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66044,11 +63234,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -66067,11 +63257,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66087,11 +63277,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66107,11 +63297,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -66130,11 +63320,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66150,11 +63340,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66170,11 +63360,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -66193,11 +63383,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66213,11 +63403,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66233,11 +63423,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -66256,11 +63446,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66276,11 +63466,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66296,11 +63486,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -66319,11 +63509,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66339,11 +63529,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66359,11 +63549,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -66382,11 +63572,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -66396,11 +63586,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -66410,11 +63600,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -66424,11 +63614,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -66438,11 +63628,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -66452,11 +63642,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -66466,11 +63656,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -66486,11 +63676,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66506,11 +63696,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66526,11 +63716,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -66546,11 +63736,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -66566,11 +63756,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -66586,11 +63776,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -66606,11 +63796,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -66626,22 +63816,22 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vfmaddpd", 4, 0x6669, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -66649,82 +63839,82 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddpd", 4, 0x6669, None, 1,
+  { "vfmaddps", 4, 0x6668, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddpd", 4, 0x6669, None, 1,
+  { "vfmaddps", 4, 0x6668, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddps", 4, 0x6668, None, 1,
+  { "vfmaddsd", 4, 0x666b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -66735,22 +63925,22 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddps", 4, 0x6668, None, 1,
+  { "vfmaddsd", 4, 0x666b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -66758,341 +63948,341 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddps", 4, 0x6668, None, 1,
+  { "vfmaddss", 4, 0x666a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddps", 4, 0x6668, None, 1,
+  { "vfmaddss", 4, 0x666a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddsd", 4, 0x666b, None, 1,
+  { "vfmaddsubpd", 4, 0x665d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddsd", 4, 0x666b, None, 1,
+  { "vfmaddsubpd", 4, 0x665d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddss", 4, 0x666a, None, 1,
+  { "vfmaddsubps", 4, 0x665c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddss", 4, 0x666a, None, 1,
+  { "vfmaddsubps", 4, 0x665c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddsubpd", 4, 0x665d, None, 1,
+  { "vfmsubaddpd", 4, 0x665f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddsubpd", 4, 0x665d, None, 1,
+  { "vfmsubaddpd", 4, 0x665f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddsubpd", 4, 0x665d, None, 1,
+  { "vfmsubaddps", 4, 0x665e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddsubpd", 4, 0x665d, None, 1,
+  { "vfmsubaddps", 4, 0x665e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddsubps", 4, 0x665c, None, 1,
+  { "vfmsubpd", 4, 0x666d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddsubps", 4, 0x665c, None, 1,
+  { "vfmsubpd", 4, 0x666d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddsubps", 4, 0x665c, None, 1,
+  { "vfmsubps", 4, 0x666c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmaddsubps", 4, 0x665c, None, 1,
+  { "vfmsubps", 4, 0x666c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubaddpd", 4, 0x665f, None, 1,
+  { "vfmsubsd", 4, 0x666f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -67103,22 +64293,22 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubaddpd", 4, 0x665f, None, 1,
+  { "vfmsubsd", 4, 0x666f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -67126,157 +64316,157 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubaddpd", 4, 0x665f, None, 1,
+  { "vfmsubss", 4, 0x666e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubaddpd", 4, 0x665f, None, 1,
+  { "vfmsubss", 4, 0x666e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubaddps", 4, 0x665e, None, 1,
+  { "vfnmaddpd", 4, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubaddps", 4, 0x665e, None, 1,
+  { "vfnmaddpd", 4, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubaddps", 4, 0x665e, None, 1,
+  { "vfnmaddps", 4, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubaddps", 4, 0x665e, None, 1,
+  { "vfnmaddps", 4, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubpd", 4, 0x666d, None, 1,
+  { "vfnmaddsd", 4, 0x667b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -67287,22 +64477,22 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubpd", 4, 0x666d, None, 1,
+  { "vfnmaddsd", 4, 0x667b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -67310,155 +64500,155 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubpd", 4, 0x666d, None, 1,
+  { "vfnmaddss", 4, 0x667a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubpd", 4, 0x666d, None, 1,
+  { "vfnmaddss", 4, 0x667a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubps", 4, 0x666c, None, 1,
+  { "vfnmsubpd", 4, 0x667d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubps", 4, 0x666c, None, 1,
+  { "vfnmsubpd", 4, 0x667d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubps", 4, 0x666c, None, 1,
+  { "vfnmsubps", 4, 0x667c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubps", 4, 0x666c, None, 1,
+  { "vfnmsubps", 4, 0x667c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubsd", 4, 0x666f, None, 1,
+  { "vfnmsubsd", 4, 0x667f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -67471,17 +64661,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubsd", 4, 0x666f, None, 1,
+  { "vfnmsubsd", 4, 0x667f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -67494,17 +64684,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubss", 4, 0x666e, None, 1,
+  { "vfnmsubss", 4, 0x667e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -67517,17 +64707,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfmsubss", 4, 0x666e, None, 1,
+  { "vfnmsubss", 4, 0x667e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -67540,114 +64730,159 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfnmaddpd", 4, 0x6679, None, 1,
+  { "vfrczpd", 2, 0x81, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "vfrczps", 2, 0x80, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
+	  0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "vfrczsd", 2, 0x83, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "vfrczss", 2, 0x82, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfnmaddpd", 4, 0x6679, None, 1,
+  { "vpcmov", 4, 0xa2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfnmaddpd", 4, 0x6679, None, 1,
+  { "vpcmov", 4, 0xa2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfnmaddpd", 4, 0x6679, None, 1,
+  { "vpcomb", 4, 0xcc, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfnmaddps", 4, 0x6678, None, 1,
+  { "vpcomd", 4, 0xce, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -67655,19 +64890,19 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfnmaddps", 4, 0x6678, None, 1,
+  { "vpcomq", 4, 0xcf, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
@@ -67678,694 +64913,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfnmaddps", 4, 0x6678, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmaddps", 4, 0x6678, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmaddsd", 4, 0x667b, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmaddsd", 4, 0x667b, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmaddss", 4, 0x667a, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmaddss", 4, 0x667a, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubpd", 4, 0x667d, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubpd", 4, 0x667d, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubpd", 4, 0x667d, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubpd", 4, 0x667d, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubps", 4, 0x667c, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubps", 4, 0x667c, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubps", 4, 0x667c, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubps", 4, 0x667c, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubsd", 4, 0x667f, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubsd", 4, 0x667f, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubss", 4, 0x667e, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfnmsubss", 4, 0x667e, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfrczpd", 2, 0x81, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfrczpd", 2, 0x81, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfrczps", 2, 0x80, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfrczps", 2, 0x80, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfrczsd", 2, 0x83, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfrczss", 2, 0x82, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcmov", 4, 0xa2, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcmov", 4, 0xa2, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcmov", 4, 0xa2, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcmov", 4, 0xa2, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcomb", 4, 0xcc, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcomd", 4, 0xce, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcomq", 4, 0xcf, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcomub", 4, 0xec, None, 1,
+  { "vpcomub", 4, 0xec, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -68384,11 +64942,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -68407,11 +64965,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -68430,11 +64988,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -68453,63 +65011,14 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpermil2pd", 5, 0x6649, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpermil2pd", 5, 0x6649, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68518,9 +65027,6 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vpermil2pd", 5, 0x6649, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -68528,25 +65034,25 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vpermil2pd", 5, 0x6649, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -68554,77 +65060,25 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpermil2ps", 5, 0x6648, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpermil2ps", 5, 0x6648, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vpermil2ps", 5, 0x6648, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -68632,25 +65086,25 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vpermil2ps", 5, 0x6648, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -68658,25 +65112,25 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vpcomltb", 3, 0xcc, 0x0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -68684,11 +65138,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68704,11 +65158,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68724,11 +65178,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68744,11 +65198,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68764,11 +65218,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68784,11 +65238,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68804,11 +65258,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68824,11 +65278,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68844,11 +65298,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68864,11 +65318,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68884,11 +65338,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68904,11 +65358,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68924,11 +65378,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68944,11 +65398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68964,11 +65418,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -68984,11 +65438,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69004,11 +65458,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69024,11 +65478,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69044,11 +65498,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69064,11 +65518,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69084,11 +65538,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69104,11 +65558,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69124,11 +65578,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69144,11 +65598,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69164,11 +65618,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69184,11 +65638,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69204,11 +65658,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69224,11 +65678,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69244,11 +65698,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69264,11 +65718,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69284,11 +65738,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69304,11 +65758,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69324,11 +65778,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69344,11 +65798,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69364,11 +65818,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69384,11 +65838,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69404,11 +65858,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69424,11 +65878,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69444,11 +65898,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69464,11 +65918,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69484,11 +65938,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69504,11 +65958,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69524,11 +65978,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69544,11 +65998,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69564,11 +66018,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69584,11 +66038,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69604,11 +66058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69624,11 +66078,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69644,11 +66098,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69664,11 +66118,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69684,11 +66138,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69704,11 +66158,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69724,11 +66178,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69744,11 +66198,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69764,11 +66218,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69784,11 +66238,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69804,11 +66258,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69824,11 +66278,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69844,11 +66298,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69864,11 +66318,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69884,11 +66338,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69904,11 +66358,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69924,11 +66378,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69944,11 +66398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69964,11 +66418,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69981,11 +66435,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -69998,11 +66452,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70015,11 +66469,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70032,11 +66486,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70049,11 +66503,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70066,11 +66520,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70083,11 +66537,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70100,11 +66554,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70117,11 +66571,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70134,11 +66588,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70151,11 +66605,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70168,11 +66622,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70185,11 +66639,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70202,11 +66656,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70219,11 +66673,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70242,11 +66696,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70265,11 +66719,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70288,11 +66742,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70311,11 +66765,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70334,11 +66788,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70357,11 +66811,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70380,11 +66834,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70403,11 +66857,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70426,11 +66880,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70449,11 +66903,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70472,11 +66926,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70495,11 +66949,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70518,11 +66972,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 2, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70541,11 +66995,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70561,11 +67015,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70581,11 +67035,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70601,11 +67055,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70621,11 +67075,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70641,11 +67095,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70661,11 +67115,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70681,11 +67135,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70701,11 +67155,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70721,11 +67175,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70741,11 +67195,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70761,11 +67215,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70781,11 +67235,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70801,11 +67255,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70821,11 +67275,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70841,11 +67295,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70861,11 +67315,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70881,11 +67335,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70901,11 +67355,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70921,11 +67375,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70941,11 +67395,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -70961,11 +67415,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -70981,11 +67435,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -71001,11 +67455,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71021,11 +67475,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -71041,11 +67495,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71061,11 +67515,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -71081,11 +67535,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71101,41 +67555,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "llwpcb", 1, 0x12, 0x0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "slwpcb", 1, 0x12, 0x1, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "slwpcb", 1, 0x12, 0x1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -71143,33 +67569,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "lwpval", 3, 0x12, 0x1, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 3, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "lwpval", 3, 0x12, 0x1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -71177,31 +67583,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 3, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "lwpins", 3, 0x12, 0x0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 3, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 3, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -71209,7 +67595,7 @@ const insn_template i386_optab[] =
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "lwpins", 3, 0x12, 0x0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -71217,11 +67603,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 3, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 3, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -71229,7 +67615,7 @@ const insn_template i386_optab[] =
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "andn", 3, 0xf2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -71237,11 +67623,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71257,11 +67643,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -71277,11 +67663,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -71297,11 +67683,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71314,11 +67700,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71331,11 +67717,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71348,11 +67734,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71365,11 +67751,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71382,11 +67768,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71399,11 +67785,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71416,11 +67802,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71433,11 +67819,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71450,11 +67836,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71467,11 +67853,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71484,11 +67870,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71501,11 +67887,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71518,11 +67904,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } } } },
@@ -71532,11 +67918,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } } } },
@@ -71546,11 +67932,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -71560,11 +67946,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71577,11 +67963,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71594,11 +67980,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71611,11 +67997,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71628,11 +68014,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71645,11 +68031,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71662,11 +68048,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71679,11 +68065,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71696,11 +68082,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71713,11 +68099,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71730,11 +68116,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71747,11 +68133,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71764,11 +68150,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71781,11 +68167,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71798,11 +68184,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71815,11 +68201,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71832,11 +68218,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71849,11 +68235,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71866,11 +68252,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71883,11 +68269,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71900,11 +68286,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71917,11 +68303,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71934,11 +68320,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71951,11 +68337,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -71968,11 +68354,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -71982,11 +68368,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -71996,11 +68382,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72010,11 +68396,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72024,11 +68410,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72038,11 +68424,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72052,11 +68438,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72066,11 +68452,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72080,11 +68466,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -72097,11 +68483,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72111,11 +68497,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72125,11 +68511,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72139,11 +68525,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72153,11 +68539,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72167,11 +68553,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72181,11 +68567,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72195,11 +68581,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72209,11 +68595,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72223,11 +68609,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72237,11 +68623,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -72254,11 +68640,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -72271,11 +68657,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -72291,11 +68677,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -72308,11 +68694,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -72325,11 +68711,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -72348,11 +68734,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -72365,11 +68751,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -72382,11 +68768,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72396,11 +68782,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72410,11 +68796,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72424,11 +68810,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72438,11 +68824,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72452,11 +68838,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72466,11 +68852,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72480,11 +68866,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72494,11 +68880,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72508,11 +68894,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72522,11 +68908,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72536,11 +68922,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72550,11 +68936,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72564,11 +68950,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72578,11 +68964,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72592,11 +68978,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72606,11 +68992,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -72623,11 +69009,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -72640,11 +69026,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72654,11 +69040,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72668,11 +69054,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72682,11 +69068,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -72696,11 +69082,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } },
@@ -72713,11 +69099,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 1, 0 } },
@@ -72730,11 +69116,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0 } },
@@ -72747,11 +69133,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } },
@@ -72764,11 +69150,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } },
@@ -72781,11 +69167,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } },
@@ -72798,11 +69184,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } },
@@ -72815,11 +69201,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } },
@@ -72832,11 +69218,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } },
@@ -72849,11 +69235,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0 } },
@@ -72866,11 +69252,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } },
@@ -72883,11 +69269,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -72903,11 +69289,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -72920,11 +69306,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -72937,11 +69323,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -72954,11 +69340,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -72974,11 +69360,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -72991,11 +69377,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73008,11 +69394,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73025,11 +69411,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73045,11 +69431,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73065,11 +69451,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73085,11 +69471,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73105,11 +69491,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73125,11 +69511,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73142,11 +69528,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73159,11 +69545,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73176,11 +69562,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73193,11 +69579,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73210,11 +69596,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73227,11 +69613,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73247,11 +69633,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73267,11 +69653,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73287,11 +69673,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73310,11 +69696,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73333,11 +69719,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73356,11 +69742,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73379,11 +69765,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73402,11 +69788,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73425,11 +69811,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73448,11 +69834,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73471,11 +69857,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73494,11 +69880,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73517,11 +69903,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73540,11 +69926,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -73563,11 +69949,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -73583,11 +69969,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73603,11 +69989,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73623,11 +70009,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -73643,11 +70029,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73663,11 +70049,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73683,11 +70069,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -73703,11 +70089,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73723,11 +70109,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73743,11 +70129,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -73763,11 +70149,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73783,11 +70169,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73803,11 +70189,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -73823,11 +70209,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73843,11 +70229,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73863,11 +70249,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -73883,11 +70269,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73903,11 +70289,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73923,11 +70309,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -73943,11 +70329,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73963,11 +70349,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -73983,11 +70369,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74003,11 +70389,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74023,11 +70409,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74043,11 +70429,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74063,11 +70449,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74083,11 +70469,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74103,11 +70489,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74123,11 +70509,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74143,11 +70529,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74163,11 +70549,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74183,11 +70569,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74203,11 +70589,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74223,11 +70609,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74243,11 +70629,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74263,11 +70649,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74283,11 +70669,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74303,11 +70689,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74323,11 +70709,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74343,11 +70729,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74363,11 +70749,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74383,11 +70769,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74403,11 +70789,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74423,11 +70809,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74443,11 +70829,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74463,11 +70849,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74483,11 +70869,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74503,11 +70889,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74523,11 +70909,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74543,11 +70929,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74563,11 +70949,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74583,11 +70969,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74603,11 +70989,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74623,11 +71009,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74643,11 +71029,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74663,11 +71049,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74683,11 +71069,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74703,11 +71089,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74723,11 +71109,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74743,11 +71129,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74763,11 +71149,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74783,11 +71169,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74803,11 +71189,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74823,33 +71209,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vbroadcastf32x4", 2, 0x661A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vbroadcasti32x4", 2, 0x665A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -74857,33 +71226,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vbroadcasti32x4", 2, 0x665A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vbroadcastf64x4", 2, 0x661B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -74891,11 +71243,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74908,11 +71260,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74925,11 +71277,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -74945,11 +71297,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -74968,11 +71320,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -74988,11 +71340,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75008,11 +71360,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75028,11 +71380,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75051,11 +71403,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75071,11 +71423,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75091,11 +71443,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75111,11 +71463,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75134,11 +71486,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75154,11 +71506,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75174,11 +71526,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75194,11 +71546,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75217,11 +71569,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75237,11 +71589,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75257,11 +71609,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75277,11 +71629,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75300,11 +71652,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75320,11 +71672,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75340,11 +71692,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75360,11 +71712,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75383,11 +71735,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75403,11 +71755,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75423,11 +71775,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75443,11 +71795,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75466,11 +71818,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75486,11 +71838,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75506,11 +71858,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75526,11 +71878,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75549,11 +71901,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75569,11 +71921,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75589,11 +71941,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75609,11 +71961,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75632,11 +71984,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75652,11 +72004,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75672,11 +72024,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75692,11 +72044,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75715,11 +72067,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75735,11 +72087,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75755,11 +72107,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75775,11 +72127,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75798,11 +72150,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75818,11 +72170,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75838,11 +72190,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75858,11 +72210,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75881,11 +72233,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75901,11 +72253,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75921,11 +72273,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -75941,11 +72293,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -75964,11 +72316,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -75984,11 +72336,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76004,11 +72356,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76024,11 +72376,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76047,11 +72399,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76067,11 +72419,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76087,11 +72439,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76107,11 +72459,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76130,11 +72482,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76150,11 +72502,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76170,11 +72522,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76190,11 +72542,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76213,11 +72565,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76233,11 +72585,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76253,11 +72605,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76273,11 +72625,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76296,11 +72648,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76316,11 +72668,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76336,11 +72688,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76356,11 +72708,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76379,11 +72731,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76399,11 +72751,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76419,11 +72771,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76439,11 +72791,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76462,11 +72814,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76482,11 +72834,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76502,11 +72854,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76522,11 +72874,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76545,11 +72897,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76565,11 +72917,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76585,11 +72937,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76605,11 +72957,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76628,11 +72980,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76648,11 +73000,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76668,11 +73020,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76688,11 +73040,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76711,11 +73063,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76731,11 +73083,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76751,11 +73103,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76771,11 +73123,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76794,11 +73146,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76814,11 +73166,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76834,11 +73186,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76854,11 +73206,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76877,11 +73229,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76897,11 +73249,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76917,11 +73269,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -76937,11 +73289,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -76960,11 +73312,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -76980,11 +73332,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77000,11 +73352,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -77020,11 +73372,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77043,11 +73395,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77063,11 +73415,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77083,11 +73435,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -77103,11 +73455,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77126,11 +73478,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77146,11 +73498,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77166,11 +73518,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -77186,11 +73538,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77209,11 +73561,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77229,11 +73581,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77249,11 +73601,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77269,11 +73621,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77292,11 +73644,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77312,11 +73664,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77335,11 +73687,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77355,11 +73707,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77378,11 +73730,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77398,11 +73750,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77421,11 +73773,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77441,11 +73793,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77464,11 +73816,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77484,11 +73836,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77507,11 +73859,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77527,11 +73879,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77550,11 +73902,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77570,11 +73922,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77593,11 +73945,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77613,11 +73965,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77636,11 +73988,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77656,11 +74008,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77679,11 +74031,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77699,11 +74051,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77722,11 +74074,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77742,11 +74094,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77765,11 +74117,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77785,11 +74137,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77808,11 +74160,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77828,11 +74180,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77851,11 +74203,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77871,11 +74223,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77894,11 +74246,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77914,11 +74266,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77937,11 +74289,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -77957,11 +74309,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -77980,11 +74332,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -78000,11 +74352,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78023,11 +74375,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -78043,11 +74395,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78066,11 +74418,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -78086,11 +74438,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78109,11 +74461,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -78129,11 +74481,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78152,11 +74504,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -78172,11 +74524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78195,11 +74547,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -78215,11 +74567,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78238,11 +74590,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -78258,11 +74610,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78281,11 +74633,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -78301,11 +74653,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78324,11 +74676,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -78344,11 +74696,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78367,11 +74719,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -78387,11 +74739,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78410,11 +74762,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -78430,11 +74782,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78453,16 +74805,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } } } },
   { "vcompresspd", 2, 0x668A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -78470,84 +74822,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcompresspd", 2, 0x668A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcompresspd", 2, 0x668A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcompresspd", 2, 0x668A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vcompresspd", 2, 0x668A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpcompressq", 2, 0x668B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -78555,16 +74839,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } } } },
   { "vpcompressq", 2, 0x668B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -78572,84 +74856,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressq", 2, 0x668B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressq", 2, 0x668B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressq", 2, 0x668B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressq", 2, 0x668B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpscatterdq", 2, 0x66A0, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -78657,11 +74873,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -78674,33 +74890,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vpscatterdq", 2, 0x66A0, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
   { "vpscatterqq", 2, 0x66A1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -78708,11 +74907,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -78725,11 +74924,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78742,11 +74941,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78759,11 +74958,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -78776,33 +74975,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vscatterdpd", 2, 0x66A2, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
   { "vscatterqpd", 2, 0x66A3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -78810,11 +74992,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -78827,11 +75009,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -78840,224 +75022,88 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vscatterqpd", 2, 0x66A3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vcompressps", 2, 0x668A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  0, 0, 0 } } } },
-  { "vcompressps", 2, 0x668A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcompressps", 2, 0x668A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcompressps", 2, 0x668A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcompressps", 2, 0x668A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vcompressps", 2, 0x668A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressd", 2, 0x668B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressd", 2, 0x668B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
-  { "vpcompressd", 2, 0x668B, None, 1,
+  { "vcompressps", 2, 0x668A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } } } },
-  { "vpcompressd", 2, 0x668B, None, 1,
+  { "vcompressps", 2, 0x668A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpcompressd", 2, 0x668B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } } } },
   { "vpcompressd", 2, 0x668B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpscatterdd", 2, 0x66A0, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -79065,11 +75111,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -79082,11 +75128,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79099,11 +75145,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79116,11 +75162,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -79133,11 +75179,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79150,11 +75196,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79167,11 +75213,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -79184,13 +75230,30 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "vcvtudq2pd", 2, 0xF37A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -79201,12 +75264,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -79218,11 +75281,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -79235,11 +75298,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79255,11 +75318,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -79272,11 +75335,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -79289,11 +75352,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -79306,11 +75369,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79326,11 +75389,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79343,11 +75406,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79360,53 +75423,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtsd2usi", 3, 0xF279, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtsd2usi", 2, 0xF279, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvtsd2usi", 3, 0xF279, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -79414,11 +75440,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79426,7 +75452,7 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvtusi2sd", 3, 0xF27B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -79434,11 +75460,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -79454,11 +75480,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -79474,11 +75500,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79497,11 +75523,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79520,11 +75546,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -79534,63 +75560,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vcvtusi2ss", 4, 0xF37B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtusi2ss", 4, 0xF37B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vcvtusi2ss", 3, 0xF37B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -79606,13 +75586,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -79629,16 +75609,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 1, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -79652,53 +75632,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtss2usi", 3, 0xF379, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtss2usi", 2, 0xF379, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvtss2usi", 3, 0xF379, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -79706,11 +75649,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79718,7 +75661,7 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvttpd2udq", 2, 0x78, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -79726,11 +75669,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -79743,11 +75686,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79763,11 +75706,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79780,11 +75723,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79797,11 +75740,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -79814,11 +75757,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79834,11 +75777,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -79851,11 +75794,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -79868,53 +75811,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvttsd2usi", 3, 0xF278, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvttsd2usi", 2, 0xF278, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvttsd2usi", 3, 0xF278, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -79922,11 +75828,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -79934,7 +75840,7 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvttss2usi", 2, 0xF378, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -79942,53 +75848,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvttss2usi", 3, 0xF378, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvttss2usi", 2, 0xF378, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvttss2usi", 3, 0xF378, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -79996,11 +75865,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80008,7 +75877,7 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvtudq2ps", 2, 0xF27A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -80016,11 +75885,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -80032,486 +75901,202 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtudq2ps", 2, 0xF27A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vcvtudq2ps", 2, 0xF27A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vexpandpd", 2, 0x6688, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vexpandpd", 2, 0x6688, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vexpandpd", 2, 0x6688, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vexpandpd", 2, 0x6688, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpexpandq", 2, 0x6689, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpexpandq", 2, 0x6689, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpexpandq", 2, 0x6689, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpexpandq", 2, 0x6689, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vexpandps", 2, 0x6688, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vexpandps", 2, 0x6688, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vexpandps", 2, 0x6688, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vexpandps", 2, 0x6688, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpexpandd", 2, 0x6689, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpexpandd", 2, 0x6689, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpexpandd", 2, 0x6689, None, 1,
+  { "vcvtudq2ps", 2, 0xF27A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpexpandd", 2, 0x6689, None, 1,
+  { "vcvtudq2ps", 2, 0xF27A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextractf32x4", 3, 0x6619, None, 1,
+  { "vexpandpd", 2, 0x6688, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextractf32x4", 3, 0x6619, None, 1,
+  { "vpexpandq", 2, 0x6689, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextractf32x4", 3, 0x6619, None, 1,
+  { "vexpandps", 2, 0x6688, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextractf32x4", 3, 0x6619, None, 1,
+  { "vpexpandd", 2, 0x6689, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextracti32x4", 3, 0x6639, None, 1,
+  { "vextractf32x4", 3, 0x6619, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextracti32x4", 3, 0x6639, None, 1,
+  { "vextractf32x4", 3, 0x6619, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
   { "vextracti32x4", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vextracti32x4", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
   { "vextractf64x4", 3, 0x661B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -80519,11 +76104,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80539,11 +76124,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80559,11 +76144,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80579,11 +76164,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80599,11 +76184,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80622,11 +76207,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80648,11 +76233,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80671,11 +76256,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80694,11 +76279,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80717,11 +76302,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80743,11 +76328,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80766,11 +76351,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80789,11 +76374,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80812,11 +76397,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80838,11 +76423,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80861,11 +76446,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80887,11 +76472,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80910,11 +76495,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80936,11 +76521,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80959,11 +76544,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -80985,11 +76570,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81008,11 +76593,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81034,11 +76619,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81057,11 +76642,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81083,11 +76668,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -81103,11 +76688,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81126,11 +76711,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81146,11 +76731,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81166,11 +76751,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -81186,11 +76771,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81209,11 +76794,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81229,11 +76814,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81249,11 +76834,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81269,11 +76854,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81292,11 +76877,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81312,11 +76897,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81335,11 +76920,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -81352,11 +76937,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81372,11 +76957,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81389,11 +76974,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81406,11 +76991,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -81423,11 +77008,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81443,11 +77028,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81460,11 +77045,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81477,11 +77062,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81497,11 +77082,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81520,11 +77105,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -81540,11 +77125,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81563,11 +77148,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81583,11 +77168,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81606,11 +77191,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81626,11 +77211,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81646,11 +77231,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81666,11 +77251,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81689,11 +77274,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81709,11 +77294,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81729,11 +77314,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81749,11 +77334,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81772,11 +77357,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81792,11 +77377,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81812,11 +77397,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81832,11 +77417,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81855,11 +77440,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81875,11 +77460,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81895,34 +77480,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vinsertf32x4", 4, 0x6618, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81930,10 +77492,10 @@ const insn_template i386_optab[] =
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vinserti32x4", 4, 0x6638, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -81941,34 +77503,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vinserti32x4", 4, 0x6638, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -81976,10 +77515,10 @@ const insn_template i386_optab[] =
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vinsertf64x4", 4, 0x661A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -81987,11 +77526,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -82010,11 +77549,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -82033,11 +77572,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -82050,13 +77589,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
@@ -82067,16 +77606,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqa64", 2, 0x667F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -82084,16 +77623,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqa64", 2, 0x667F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -82101,11 +77640,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -82118,11 +77657,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -82135,11 +77674,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -82152,96 +77691,28 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vmovdqa64", 2, 0x666F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqa64", 2, 0x666F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqa64", 2, 0x667F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqa64", 2, 0x667F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vmovdqa32", 2, 0x667F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -82254,13 +77725,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
@@ -82271,16 +77742,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqa32", 2, 0x667F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -82288,16 +77759,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqa32", 2, 0x666F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -82305,11 +77776,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -82322,96 +77793,28 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vmovdqa32", 2, 0x666F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqa32", 2, 0x666F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqa32", 2, 0x667F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqa32", 2, 0x667F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vmovdqa32", 2, 0x667F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -82424,11 +77827,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -82441,11 +77844,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -82458,13 +77861,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
@@ -82475,16 +77878,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqu32", 2, 0xF37F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -82492,16 +77895,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqu32", 2, 0xF37F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -82509,11 +77912,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -82526,118 +77929,50 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu32", 2, 0xF36F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu32", 2, 0xF36F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu32", 2, 0xF36F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu32", 2, 0xF36F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
-  { "vmovdqu32", 2, 0xF37F, None, 1,
+  { "vmovdqu32", 2, 0xF36F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vmovdqu32", 2, 0xF37F, None, 1,
+  { "vmovdqu32", 2, 0xF36F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqu64", 2, 0xF37F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -82645,11 +77980,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -82662,13 +77997,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
@@ -82679,16 +78014,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqu64", 2, 0xF37F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -82696,16 +78031,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqu64", 2, 0xF36F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -82713,11 +78048,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -82730,96 +78065,28 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vmovdqu64", 2, 0xF36F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu64", 2, 0xF36F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu64", 2, 0xF37F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu64", 2, 0xF37F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vmovdqu64", 2, 0xF37F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -82832,11 +78099,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -82849,11 +78116,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -82866,11 +78133,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -82883,11 +78150,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -82900,11 +78167,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -82917,11 +78184,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -82934,11 +78201,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -82951,11 +78218,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -82968,11 +78235,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -82985,11 +78252,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83002,11 +78269,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83019,11 +78286,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83036,11 +78303,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83053,11 +78320,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83070,11 +78337,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83087,11 +78354,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83104,11 +78371,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83124,11 +78391,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83144,11 +78411,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83164,11 +78431,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83184,11 +78451,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83204,11 +78471,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83224,11 +78491,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83244,11 +78511,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83264,11 +78531,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83284,11 +78551,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83304,11 +78571,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83324,11 +78591,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83344,11 +78611,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83364,11 +78631,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83384,11 +78651,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83404,11 +78671,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83424,11 +78691,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83444,11 +78711,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83464,11 +78731,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83484,11 +78751,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83504,11 +78771,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83524,11 +78791,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83544,11 +78811,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83564,11 +78831,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83584,11 +78851,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -83607,11 +78874,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -83630,11 +78897,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -83653,11 +78920,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83673,11 +78940,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83693,11 +78960,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83713,11 +78980,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83733,11 +79000,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83753,11 +79020,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83773,11 +79040,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83793,11 +79060,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83813,11 +79080,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83833,11 +79100,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83853,11 +79120,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83873,11 +79140,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83893,11 +79160,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -83913,11 +79180,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83933,11 +79200,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -83953,11 +79220,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -83976,11 +79243,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -83999,11 +79266,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -84022,11 +79289,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84042,11 +79309,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84062,11 +79329,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84082,11 +79349,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84102,11 +79369,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84122,11 +79389,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84142,11 +79409,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84162,11 +79429,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84182,11 +79449,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84202,11 +79469,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84222,11 +79489,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84242,11 +79509,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84262,11 +79529,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84282,11 +79549,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84302,11 +79569,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84322,11 +79589,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84342,11 +79609,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84362,11 +79629,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84382,11 +79649,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -84405,11 +79672,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -84428,11 +79695,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -84451,11 +79718,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84471,11 +79738,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84491,11 +79758,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84511,11 +79778,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84531,11 +79798,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84551,11 +79818,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84571,11 +79838,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84591,11 +79858,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84611,11 +79878,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84631,11 +79898,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84651,11 +79918,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84671,11 +79938,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84691,11 +79958,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84711,11 +79978,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84731,11 +79998,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84751,11 +80018,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -84774,11 +80041,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -84797,11 +80064,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -84820,11 +80087,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84840,11 +80107,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84860,11 +80127,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84880,11 +80147,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84900,11 +80167,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84920,11 +80187,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84940,11 +80207,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -84960,11 +80227,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -84980,11 +80247,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -85000,11 +80267,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -85020,11 +80287,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -85040,11 +80307,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -85060,11 +80327,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -85080,11 +80347,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -85100,11 +80367,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -85120,11 +80387,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -85140,11 +80407,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -85160,11 +80427,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -85180,11 +80447,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -85200,11 +80467,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -85220,11 +80487,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -85240,11 +80507,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85257,11 +80524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85274,30 +80541,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovdb", 2, 0xF331, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -85308,11 +80558,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85325,11 +80575,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85342,11 +80592,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85359,11 +80609,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85376,30 +80626,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovsdb", 2, 0xF321, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -85410,11 +80643,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85427,11 +80660,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85444,11 +80677,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85461,11 +80694,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85478,30 +80711,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovusdb", 2, 0xF311, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -85512,11 +80728,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85529,11 +80745,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85546,11 +80762,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85563,11 +80779,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85580,30 +80796,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovdw", 2, 0xF333, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -85614,11 +80813,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85631,11 +80830,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85648,11 +80847,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85665,11 +80864,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85682,30 +80881,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovsdw", 2, 0xF323, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -85716,11 +80898,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85733,11 +80915,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85750,11 +80932,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85767,11 +80949,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85784,30 +80966,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovusdw", 2, 0xF313, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -85818,11 +80983,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85835,11 +81000,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85852,11 +81017,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85869,11 +81034,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85886,11 +81051,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85903,11 +81068,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -85920,30 +81085,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovqb", 2, 0xF332, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -85954,11 +81102,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85971,11 +81119,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -85988,11 +81136,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86005,11 +81153,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86022,30 +81170,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovsqb", 2, 0xF322, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -86056,11 +81187,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86073,11 +81204,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86090,11 +81221,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86107,11 +81238,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86124,30 +81255,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovusqb", 2, 0xF312, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -86158,11 +81272,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86175,11 +81289,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86192,30 +81306,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovqd", 2, 0xF335, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -86226,11 +81323,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86243,11 +81340,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86260,11 +81357,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86277,11 +81374,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86294,30 +81391,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovsqd", 2, 0xF325, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -86328,11 +81408,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86345,11 +81425,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86362,11 +81442,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86379,11 +81459,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86396,30 +81476,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovusqd", 2, 0xF315, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -86430,11 +81493,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86447,11 +81510,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86464,11 +81527,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86481,11 +81544,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86498,30 +81561,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovqw", 2, 0xF334, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -86532,11 +81578,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86549,11 +81595,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86566,11 +81612,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86583,11 +81629,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86600,30 +81646,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovsqw", 2, 0xF324, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -86634,11 +81663,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86651,11 +81680,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86668,11 +81697,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86685,11 +81714,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -86702,30 +81731,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovusqw", 2, 0xF314, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -86736,11 +81748,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86753,11 +81765,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -86770,15 +81782,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -86786,59 +81798,19 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vprold", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprold", 3, 0x6672, 1, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprold", 3, 0x6672, 1, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -86850,35 +81822,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprold", 3, 0x6672, 1, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -86890,15 +81842,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -86906,59 +81858,19 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vprord", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprord", 3, 0x6672, 0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprord", 3, 0x6672, 0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -86970,35 +81882,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprord", 3, 0x6672, 0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87010,15 +81902,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87026,59 +81918,19 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vprolq", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprolq", 3, 0x6672, 1, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprolq", 3, 0x6672, 1, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87090,35 +81942,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprolq", 3, 0x6672, 1, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87130,15 +81962,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87146,59 +81978,19 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vprorq", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprorq", 3, 0x6672, 0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprorq", 3, 0x6672, 0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87210,35 +82002,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vprorq", 3, 0x6672, 0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87250,11 +82022,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87267,11 +82039,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87284,11 +82056,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87301,11 +82073,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87318,11 +82090,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 1, 0, 0, 2, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87335,11 +82107,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 2, 0, 0, 3, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87352,19 +82124,19 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpsraq", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87372,95 +82144,35 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpsraq", 3, 0x6672, 4, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsraq", 3, 0x66E2, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vpsraq", 3, 0x66E2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsraq", 3, 0x6672, 4, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87472,15 +82184,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87492,35 +82204,15 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpsraq", 3, 0x6672, 4, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87532,11 +82224,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -87552,11 +82244,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -87572,11 +82264,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -87592,11 +82284,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -87612,11 +82304,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -87632,11 +82324,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -87652,11 +82344,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -87672,11 +82364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87695,11 +82387,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87718,11 +82410,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87741,11 +82433,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87764,11 +82456,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87787,11 +82479,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87810,11 +82502,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87833,11 +82525,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -87856,11 +82548,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -87876,11 +82568,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -87896,11 +82588,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -87916,11 +82608,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -87936,11 +82628,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -87956,121 +82648,53 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastmb2q", 2, 0xF32A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastmb2q", 2, 0xF32A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastmb2q", 2, 0xF32A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpbroadcastmw2d", 2, 0xF33A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpbroadcastmw2d", 2, 0xF33A, None, 1,
+  { "vpbroadcastmb2q", 2, 0xF32A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpbroadcastmw2d", 2, 0xF33A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpconflictd", 2, 0x66C4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -88078,11 +82702,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -88095,11 +82719,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88112,11 +82736,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88129,11 +82753,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -88146,11 +82770,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88163,11 +82787,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88180,11 +82804,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -88197,11 +82821,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88214,11 +82838,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88231,11 +82855,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -88248,11 +82872,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88265,11 +82889,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88282,11 +82906,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -88299,11 +82923,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -88319,11 +82943,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -88336,11 +82960,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -88356,11 +82980,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -88373,11 +82997,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -88393,11 +83017,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -88410,11 +83034,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -88430,11 +83054,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -88447,11 +83071,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -88467,11 +83091,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -88484,11 +83108,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -88504,11 +83128,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88524,11 +83148,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -88547,11 +83171,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88567,11 +83191,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -88590,11 +83214,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88610,11 +83234,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -88633,11 +83257,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -88653,11 +83277,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -88676,11 +83300,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88690,11 +83314,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88704,11 +83328,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88718,11 +83342,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88732,11 +83356,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88746,11 +83370,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88760,11 +83384,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 2, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88774,11 +83398,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88788,11 +83412,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88802,11 +83426,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -88816,11 +83440,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88830,11 +83454,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -88844,11 +83468,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88858,11 +83482,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -88872,11 +83496,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } } } },
@@ -88886,11 +83510,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 3, 0, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -88900,11 +83524,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } } } },
@@ -88914,11 +83538,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } } } },
@@ -88928,11 +83552,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -88942,11 +83566,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -88956,11 +83580,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -88970,11 +83594,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -88984,11 +83608,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -88998,11 +83622,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -89012,11 +83636,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -89026,11 +83650,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -89040,11 +83664,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -89057,11 +83681,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -89074,11 +83698,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -89091,11 +83715,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -89108,11 +83732,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89128,11 +83752,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89148,11 +83772,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89168,11 +83792,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -89185,11 +83809,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89202,11 +83826,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89219,11 +83843,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89236,11 +83860,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89253,11 +83877,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89273,11 +83897,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89290,11 +83914,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89307,11 +83931,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89327,11 +83951,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89347,11 +83971,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89367,11 +83991,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89387,11 +84011,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89407,11 +84031,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -89424,11 +84048,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89441,11 +84065,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89458,11 +84082,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89475,11 +84099,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89492,11 +84116,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89512,11 +84136,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89529,11 +84153,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89546,11 +84170,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89566,11 +84190,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89586,11 +84210,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89606,11 +84230,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89626,11 +84250,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89646,11 +84270,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89666,11 +84290,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89686,11 +84310,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89706,11 +84330,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89729,11 +84353,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89752,11 +84376,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89775,11 +84399,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -89788,32 +84412,15 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vmovdqu16", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu16", 2, 0xF26F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -89826,11 +84433,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -89839,88 +84446,37 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vmovdqu16", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu16", 2, 0xF26F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu16", 2, 0xF27F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu16", 2, 0xF27F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqu16", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqu16", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -89928,11 +84484,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -89945,11 +84501,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89962,11 +84518,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -89979,11 +84535,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -89996,11 +84552,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -90013,11 +84569,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -90030,11 +84586,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90043,32 +84599,15 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vmovdqu8", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu8", 2, 0xF26F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90081,11 +84620,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90094,88 +84633,37 @@ const insn_template i386_optab[] =
 	  0, 0, 0 } } } },
   { "vmovdqu8", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu8", 2, 0xF26F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu8", 2, 0xF27F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vmovdqu8", 2, 0xF27F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vmovdqu8", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpblendmb", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -90183,11 +84671,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90203,11 +84691,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90223,11 +84711,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90243,11 +84731,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90263,11 +84751,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90283,11 +84771,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90303,11 +84791,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90323,11 +84811,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90343,11 +84831,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90363,11 +84851,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90383,11 +84871,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90403,11 +84891,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90423,11 +84911,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90443,11 +84931,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90463,11 +84951,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90483,11 +84971,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90503,11 +84991,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90523,11 +85011,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90543,11 +85031,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90563,11 +85051,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90583,11 +85071,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90603,11 +85091,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90623,11 +85111,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90643,11 +85131,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90663,11 +85151,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -90686,11 +85174,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -90709,11 +85197,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -90732,11 +85220,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90752,11 +85240,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90772,11 +85260,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90792,11 +85280,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90812,11 +85300,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90832,11 +85320,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90852,11 +85340,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90872,11 +85360,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90892,11 +85380,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90912,11 +85400,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90932,11 +85420,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90952,11 +85440,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -90972,11 +85460,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -90992,11 +85480,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91012,11 +85500,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91032,11 +85520,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -91055,11 +85543,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -91078,11 +85566,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -91101,11 +85589,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91121,11 +85609,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91141,11 +85629,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91161,11 +85649,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91181,11 +85669,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91201,11 +85689,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91221,11 +85709,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91241,11 +85729,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91261,11 +85749,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91281,11 +85769,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91301,11 +85789,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91321,11 +85809,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91341,11 +85829,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91361,11 +85849,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91381,11 +85869,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91401,11 +85889,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91421,11 +85909,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91441,11 +85929,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91461,11 +85949,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -91484,11 +85972,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -91507,11 +85995,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -91530,11 +86018,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91550,11 +86038,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91570,11 +86058,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91590,11 +86078,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91610,11 +86098,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91630,11 +86118,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91650,11 +86138,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91670,11 +86158,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91690,11 +86178,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91710,11 +86198,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91730,11 +86218,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91750,11 +86238,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91770,11 +86258,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91790,11 +86278,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91810,11 +86298,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91830,11 +86318,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -91853,11 +86341,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -91876,11 +86364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -91899,11 +86387,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91919,11 +86407,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91939,11 +86427,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91959,11 +86447,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -91979,11 +86467,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -91999,11 +86487,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92019,11 +86507,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -92039,11 +86527,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92059,11 +86547,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92079,11 +86567,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -92099,11 +86587,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92119,11 +86607,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92139,11 +86627,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -92159,11 +86647,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92179,11 +86667,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92199,11 +86687,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -92219,11 +86707,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92233,212 +86721,110 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpcmpnltuw", 3, 0x663E, 5, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovb2m", 2, 0xF329, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovb2m", 2, 0xF329, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovb2m", 2, 0xF329, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovm2b", 2, 0xF328, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovm2b", 2, 0xF328, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovm2b", 2, 0xF328, None, 1,
+  { "vpcmpnltuw", 3, 0x663E, 5, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpmovm2w", 2, 0xF328, None, 1,
+  { "vpmovb2m", 2, 0xF329, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpmovm2w", 2, 0xF328, None, 1,
+  { "vpmovw2m", 2, 0xF329, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpmovm2w", 2, 0xF328, None, 1,
+  { "vpmovm2b", 2, 0xF328, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpmovswb", 2, 0xF320, None, 1,
+  { "vpmovm2w", 2, 0xF328, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpmovswb", 2, 0xF320, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
   { "vpmovswb", 2, 0xF320, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -92446,13 +86832,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -92463,11 +86849,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -92480,11 +86866,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -92497,11 +86883,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -92514,11 +86900,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -92531,30 +86917,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovuswb", 2, 0xF310, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -92565,11 +86934,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -92582,11 +86951,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -92599,11 +86968,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -92616,11 +86985,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -92633,30 +87002,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovwb", 2, 0xF330, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -92667,11 +87019,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
@@ -92684,11 +87036,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -92701,79 +87053,28 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
-  { "vpmovw2m", 2, 0xF329, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovw2m", 2, 0xF329, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovw2m", 2, 0xF329, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "vptestmb", 3, 0x6626, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -92789,11 +87090,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92809,11 +87110,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92829,11 +87130,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -92849,11 +87150,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92869,11 +87170,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92889,11 +87190,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -92909,11 +87210,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92929,11 +87230,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92949,11 +87250,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -92969,11 +87270,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -92989,11 +87290,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93009,11 +87310,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93029,11 +87330,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93049,11 +87350,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93069,11 +87370,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93086,11 +87387,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93103,11 +87404,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93120,11 +87421,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93137,11 +87438,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93154,11 +87455,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93174,11 +87475,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93191,11 +87492,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93208,11 +87509,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93228,11 +87529,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93248,11 +87549,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93268,11 +87569,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93285,11 +87586,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93305,11 +87606,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93325,33 +87626,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vbroadcastf32x2", 2, 0x6619, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vbroadcastf32x8", 2, 0x661B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -93359,11 +87643,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93376,50 +87660,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vbroadcasti32x2", 2, 0x6659, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vbroadcasti32x2", 2, 0x6659, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vbroadcasti32x8", 2, 0x665B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -93427,11 +87677,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93444,33 +87694,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vbroadcastf64x2", 2, 0x661A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vbroadcasti64x2", 2, 0x665A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -93478,33 +87711,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vbroadcasti64x2", 2, 0x665A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vcvtpd2qq", 2, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -93512,11 +87728,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -93529,11 +87745,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93546,11 +87762,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93563,11 +87779,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93583,11 +87799,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -93600,11 +87816,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93617,11 +87833,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93634,11 +87850,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93654,11 +87870,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93671,11 +87887,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93688,11 +87904,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93705,11 +87921,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93725,11 +87941,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93742,11 +87958,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93759,11 +87975,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93776,11 +87992,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93796,11 +88012,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -93813,11 +88029,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93830,11 +88046,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93847,11 +88063,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93867,11 +88083,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -93884,11 +88100,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93901,11 +88117,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -93918,11 +88134,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93938,11 +88154,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -93955,11 +88171,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93972,11 +88188,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -93989,11 +88205,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94009,11 +88225,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94026,11 +88242,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94043,11 +88259,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -94060,11 +88276,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94077,11 +88293,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94094,11 +88310,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94114,11 +88330,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -94131,11 +88347,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94148,11 +88364,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94165,11 +88381,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94185,11 +88401,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94202,11 +88418,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94219,11 +88435,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94236,11 +88452,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94256,11 +88472,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94273,11 +88489,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94290,11 +88506,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94307,11 +88523,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94327,11 +88543,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -94344,11 +88560,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94361,11 +88577,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94378,11 +88594,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94398,11 +88614,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94415,11 +88631,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -94432,157 +88648,31 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vextractf32x8", 3, 0x661B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vextracti32x8", 3, 0x663B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vextracti32x8", 3, 0x663B, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vinsertf32x8", 4, 0x661A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vinserti32x8", 4, 0x663A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vfpclassss", 3, 0x6667, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextractf64x2", 3, 0x6619, None, 1,
+  { "vextractf32x8", 3, 0x661B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94590,225 +88680,225 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
-  { "vextractf64x2", 3, 0x6619, None, 1,
+  { "vextracti32x8", 3, 0x663B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextractf64x2", 3, 0x6619, None, 1,
+  { "vextracti32x8", 3, 0x663B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } } } },
-  { "vextractf64x2", 3, 0x6619, None, 1,
+  { "vinsertf32x8", 4, 0x661A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextracti64x2", 3, 0x6639, None, 1,
+  { "vinserti32x8", 4, 0x663A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextracti64x2", 3, 0x6639, None, 1,
+  { "vfpclassss", 3, 0x6667, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 4, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextracti64x2", 3, 0x6639, None, 1,
+  { "vfpclasssd", 3, 0x6667, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 4, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vextracti64x2", 3, 0x6639, None, 1,
+  { "vextractf64x2", 3, 0x6619, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vfpclasssd", 3, 0x6667, None, 1,
+  { "vextractf64x2", 3, 0x6619, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
-  { "vinsertf64x2", 4, 0x6618, None, 1,
+  { "vextracti64x2", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vinsertf64x2", 4, 0x6618, None, 1,
+  { "vextracti64x2", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
-  { "vinserti64x2", 4, 0x6638, None, 1,
+  { "vinsertf64x2", 4, 0x6618, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94816,22 +88906,22 @@ const insn_template i386_optab[] =
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vinserti64x2", 4, 0x6638, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94839,10 +88929,10 @@ const insn_template i386_optab[] =
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vfpclasspd", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -94850,11 +88940,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94870,11 +88960,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94890,11 +88980,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94910,11 +89000,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94930,11 +89020,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94950,11 +89040,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94970,11 +89060,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -94990,11 +89080,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95010,11 +89100,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95030,11 +89120,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95050,11 +89140,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 2, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95070,11 +89160,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 3, 2, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95090,47 +89180,30 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovd2m", 2, 0xF339, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vpmovd2m", 2, 0xF339, None, 1,
+  { "vpmovq2m", 2, 0xF339, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -95141,50 +89214,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovm2d", 2, 0xF338, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovm2d", 2, 0xF338, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpmovm2q", 2, 0xF338, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -95192,101 +89231,16 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovm2q", 2, 0xF338, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovm2q", 2, 0xF338, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovq2m", 2, 0xF339, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovq2m", 2, 0xF339, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpmovq2m", 2, 0xF339, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpmullq", 3, 0x6640, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -95294,11 +89248,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -95314,11 +89268,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -95334,11 +89288,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -95354,11 +89308,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95377,11 +89331,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95400,11 +89354,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95423,11 +89377,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95449,11 +89403,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95469,11 +89423,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95489,11 +89443,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95509,11 +89463,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95532,11 +89486,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95555,11 +89509,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95578,11 +89532,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95601,11 +89555,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95627,11 +89581,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95647,11 +89601,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95667,11 +89621,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95687,11 +89641,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95710,11 +89664,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95733,11 +89687,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95759,11 +89713,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95782,11 +89736,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95808,11 +89762,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95831,11 +89785,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95857,11 +89811,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95880,11 +89834,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 4, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -95906,11 +89860,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	  0, 0, 0 } } } },
@@ -95920,11 +89874,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -95940,11 +89894,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -95960,11 +89914,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -95980,11 +89934,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -96000,11 +89954,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96020,11 +89974,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96040,11 +89994,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -96060,11 +90014,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96080,11 +90034,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96100,11 +90054,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -96120,11 +90074,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96140,11 +90094,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96160,11 +90114,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -96180,11 +90134,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96200,11 +90154,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96220,11 +90174,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -96240,11 +90194,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96260,11 +90214,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96280,11 +90234,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96294,57 +90248,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "v4fmaddps", 3, 0xf29a, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "v4fmaddps", 3, 0xf29a, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "v4fnmaddps", 3, 0xf2aa, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96354,57 +90268,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
-  { "v4fnmaddps", 3, 0xf2aa, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "v4fnmaddps", 3, 0xf2aa, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
   { "v4fmaddss", 3, 0xf29b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 1, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96420,139 +90294,59 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 1, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vp4dpwssd", 3, 0xf252, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vp4dpwssd", 3, 0xf252, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vp4dpwssd", 3, 0xf252, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vp4dpwssds", 3, 0xf253, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 4, 3, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
-  { "vp4dpwssds", 3, 0xf253, None, 1,
+  { "vp4dpwssd", 3, 0xf252, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vp4dpwssds", 3, 0xf253, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 1, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpopcntd", 2, 0x6655, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -96560,13 +90354,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
@@ -96577,13 +90371,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -96594,13 +90388,13 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
@@ -96611,11 +90405,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -96628,11 +90422,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96645,11 +90439,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -96662,305 +90456,101 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressb", 2, 0x6663, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressb", 2, 0x6663, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressb", 2, 0x6663, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } } } },
   { "vpcompressb", 2, 0x6663, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressb", 2, 0x6663, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressw", 2, 0x6663, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpcompressw", 2, 0x6663, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressw", 2, 0x6663, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressw", 2, 0x6663, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } } } },
   { "vpcompressw", 2, 0x6663, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpcompressw", 2, 0x6663, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpexpandb", 2, 0x6662, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpexpandb", 2, 0x6662, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpexpandb", 2, 0x6662, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpexpandw", 2, 0x6662, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpexpandw", 2, 0x6662, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-	  0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0 } } } },
-  { "vpexpandw", 2, 0x6662, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
-	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
 	  0, 0, 0 } },
       { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 	  0, 0, 0 } } } },
   { "vpshldvd", 3, 0x6671, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -96968,11 +90558,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -96988,11 +90578,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97008,11 +90598,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97028,11 +90618,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -97048,11 +90638,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97068,11 +90658,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97088,11 +90678,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -97108,11 +90698,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97128,11 +90718,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97148,11 +90738,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -97168,11 +90758,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97188,11 +90778,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97208,11 +90798,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97231,11 +90821,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97254,11 +90844,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97277,11 +90867,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97300,11 +90890,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97323,11 +90913,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97346,11 +90936,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97369,11 +90959,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97392,11 +90982,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97415,11 +91005,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97438,11 +91028,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97461,11 +91051,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97484,11 +91074,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -97504,11 +91094,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97524,11 +91114,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97544,11 +91134,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -97564,11 +91154,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97584,11 +91174,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97604,11 +91194,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97627,11 +91217,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97650,11 +91240,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97673,11 +91263,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97696,11 +91286,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97719,11 +91309,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 2, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -97742,11 +91332,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -97762,11 +91352,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97782,11 +91372,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97802,11 +91392,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -97822,11 +91412,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97842,11 +91432,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97862,11 +91452,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -97882,11 +91472,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97902,11 +91492,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97922,11 +91512,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -97942,11 +91532,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 3, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97962,11 +91552,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -97982,11 +91572,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -97999,11 +91589,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -98016,11 +91606,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -98033,11 +91623,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -98050,11 +91640,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -98067,11 +91657,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 3, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -98084,11 +91674,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 6, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 	  0, 0, 0 } },
@@ -98104,11 +91694,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 4, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
 	  0, 0, 0 } },
@@ -98124,11 +91714,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 5, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 3, 2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0 } },
@@ -98144,11 +91734,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98158,11 +91748,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98172,11 +91762,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -98192,11 +91782,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -98212,11 +91802,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98226,11 +91816,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -98246,11 +91836,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -98266,11 +91856,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98280,11 +91870,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98294,11 +91884,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98308,11 +91898,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98322,11 +91912,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -98335,12 +91925,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98349,12 +91939,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98363,12 +91953,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98377,12 +91967,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98391,12 +91981,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98405,12 +91995,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -98419,12 +92009,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -98436,12 +92026,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -98453,12 +92043,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -98470,12 +92060,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } },
@@ -98487,12 +92077,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98501,12 +92091,12 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
 	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0 } } } },
@@ -98516,11 +92106,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98530,11 +92120,11 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
@@ -98544,25 +92134,174 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "wbnoinvd", 0, 0xf30f09, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "pconfig", 0, 0x0f01c5, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0 } } } },
+  { "umonitor", 1, 0xf30fae, 0x6, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "umonitor", 1, 0xf30fae, 0x6, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "tpause", 1, 0x660fae, 0x6, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "umwait", 1, 0xf20fae, 0x6, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "cldemote", 1, 0x0f1c, 0x0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+	  0, 0, 0 } } } },
+  { "movdiri", 2, 0xf38f9, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0 } } } },
+  { "movdir64b", 2, 0x660f38f8, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0 } },
+      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } } } },
+  { "movdir64b", 2, 0x660f38f8, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0 } },
+      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0 } } } },
   { NULL, 0, 0, 0, 0,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0 } },
+        0, 0, 0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0 },
+      0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 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.1.0.20180703/opcodes/i860-dis.c ./opcodes/i860-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i860-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/i860-dis.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,286 +0,0 @@
-/* Disassembler for the i860.
-   Copyright (C) 2000-2018 Free Software Foundation, Inc.
-
-   Contributed by Jason Eckhardt <jle@cygnus.com>.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "disassemble.h"
-#include "opcode/i860.h"
-
-/* Later we should probably choose the prefix based on which OS flavor.  */
-#define I860_REG_PREFIX "%"
-
-/* Integer register names (encoded as 0..31 in the instruction).  */
-static const char *const grnames[] =
- {"r0",  "r1",  "sp",  "fp",  "r4",  "r5",  "r6",  "r7",
-  "r8",  "r9",  "r10", "r11", "r12", "r13", "r14", "r15",
-  "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
-  "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31"};
-
-/* FP register names (encoded as 0..31 in the instruction).  */
-static const char *const frnames[] =
- {"f0",  "f1",  "f2",  "f3",  "f4",  "f5",  "f6",  "f7",
-  "f8",  "f9",  "f10", "f11", "f12", "f13", "f14", "f15",
-  "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
-  "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31"};
-
-/* Control/status register names (encoded as 0..11 in the instruction).
-   Registers bear, ccr, p0, p1, p2 and p3 are XP only.  */
-static const char *const crnames[] =
- {"fir", "psr", "dirbase", "db", "fsr", "epsr", "bear", "ccr",
-  "p0", "p1", "p2", "p3", "--", "--", "--", "--" };
-
-
-
-/* True if opcode is xor, xorh, and, andh, or, orh, andnot, andnoth.  */
-#define BITWISE_OP(op)  ((op) == 0x30 || (op) == 0x31		\
-			 || (op) == 0x34 || (op) == 0x35	\
-			 || (op) == 0x38 || (op) == 0x39	\
-			 || (op) == 0x3c || (op) == 0x3d	\
-			 || (op) == 0x33 || (op) == 0x37	\
-			 || (op) == 0x3b || (op) == 0x3f)
-
-
-/* Sign extend N-bit number.  */
-static int
-sign_ext (unsigned int x, int n)
-{
-  int t;
-  t = x >> (n - 1);
-  t = ((-t) << n) | x;
-  return t;
-}
-
-
-/* Print a PC-relative branch offset.  VAL is the sign extended value
-   from the branch instruction.  */
-static void
-print_br_address (disassemble_info *info, bfd_vma memaddr, long val)
-{
-
-  long adj = (long)memaddr + 4 + (val << 2);
-
-  (*info->fprintf_func) (info->stream, "0x%08lx", adj);
-
-  /* Attempt to obtain a symbol for the target address.  */
-
-  if (info->print_address_func && adj != 0)
-    {
-      (*info->fprintf_func) (info->stream, "\t// ");
-      (*info->print_address_func) (adj, info);
-    }
-}
-
-
-/* Print one instruction.  */
-int
-print_insn_i860 (bfd_vma memaddr, disassemble_info *info)
-{
-  bfd_byte buff[4];
-  unsigned int insn, i;
-  int status;
-  const struct i860_opcode *opcode = 0;
-
-  status = (*info->read_memory_func) (memaddr, buff, sizeof (buff), info);
-  if (status != 0)
-    {
-      (*info->memory_error_func) (status, memaddr, info);
-      return -1;
-    }
-
-  /* Note that i860 instructions are always accessed as little endian
-     data, regardless of the endian mode of the i860.  */
-  insn = bfd_getl32 (buff);
-
-  status = 0;
-  i = 0;
-  while (i860_opcodes[i].name != NULL)
-    {
-      opcode = &i860_opcodes[i];
-      if ((insn & opcode->match) == opcode->match
-	  && (insn & opcode->lose) == 0)
-	{
-	  status = 1;
-	  break;
-	}
-      ++i;
-    }
-
-  if (status == 0)
-    {
-      /* Instruction not in opcode table.  */
-      (*info->fprintf_func) (info->stream, ".long %#08x", insn);
-    }
-  else
-    {
-      const char *s;
-      int val;
-
-      /* If this a flop (or a shrd) and its dual bit is set,
-         prefix with 'd.'.  */
-      if (((insn & 0xfc000000) == 0x48000000
-           || (insn & 0xfc000000) == 0xb0000000)
-          && (insn & 0x200))
-	(*info->fprintf_func) (info->stream, "d.%s\t", opcode->name);
-      else
-	(*info->fprintf_func) (info->stream, "%s\t", opcode->name);
-
-      for (s = opcode->args; *s; s++)
-	{
-	  switch (*s)
-	    {
-	    /* Integer register (src1).  */
-	    case '1':
-	      (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-				     grnames[(insn >> 11) & 0x1f]);
-	      break;
-
-	    /* Integer register (src2).  */
-	    case '2':
-	      (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-				     grnames[(insn >> 21) & 0x1f]);
-	      break;
-
-	    /* Integer destination register.  */
-	    case 'd':
-	      (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-				     grnames[(insn >> 16) & 0x1f]);
-	      break;
-
-	    /* Floating-point register (src1).  */
-	    case 'e':
-	      (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-				     frnames[(insn >> 11) & 0x1f]);
-	      break;
-
-	    /* Floating-point register (src2).  */
-	    case 'f':
-	      (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-				     frnames[(insn >> 21) & 0x1f]);
-	      break;
-
-	    /* Floating-point destination register.  */
-	    case 'g':
-	      (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-				     frnames[(insn >> 16) & 0x1f]);
-	      break;
-
-	    /* Control register.  */
-	    case 'c':
-	      (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-				     crnames[(insn >> 21) & 0xf]);
-	      break;
-
-	    /* 16-bit immediate (sign extend, except for bitwise ops).  */
-	    case 'i':
-	      if (BITWISE_OP ((insn & 0xfc000000) >> 26))
-		(*info->fprintf_func) (info->stream, "0x%04x",
-				       (unsigned int) (insn & 0xffff));
-	      else
-		(*info->fprintf_func) (info->stream, "%d",
-				       sign_ext ((insn & 0xffff), 16));
-	      break;
-
-	    /* 16-bit immediate, aligned (2^0, ld.b).  */
-	    case 'I':
-	      (*info->fprintf_func) (info->stream, "%d",
-				     sign_ext ((insn & 0xffff), 16));
-	      break;
-
-	    /* 16-bit immediate, aligned (2^1, ld.s).  */
-	    case 'J':
-	      (*info->fprintf_func) (info->stream, "%d",
-				     sign_ext ((insn & 0xfffe), 16));
-	      break;
-
-	    /* 16-bit immediate, aligned (2^2, ld.l, {p}fld.l, fst.l).  */
-	    case 'K':
-	      (*info->fprintf_func) (info->stream, "%d",
-				     sign_ext ((insn & 0xfffc), 16));
-	      break;
-
-	    /* 16-bit immediate, aligned (2^3, {p}fld.d, fst.d).  */
-	    case 'L':
-	      (*info->fprintf_func) (info->stream, "%d",
-				     sign_ext ((insn & 0xfff8), 16));
-	      break;
-
-	    /* 16-bit immediate, aligned (2^4, {p}fld.q, fst.q).  */
-	    case 'M':
-	      (*info->fprintf_func) (info->stream, "%d",
-				     sign_ext ((insn & 0xfff0), 16));
-	      break;
-
-	    /* 5-bit immediate (zero extend).  */
-	    case '5':
-	      (*info->fprintf_func) (info->stream, "%d",
-				     ((insn >> 11) & 0x1f));
-	      break;
-
-	    /* Split 16 bit immediate (20..16:10..0).  */
-	    case 's':
-	      val = ((insn >> 5) & 0xf800) | (insn & 0x07ff);
-	      (*info->fprintf_func) (info->stream, "%d",
-				     sign_ext (val, 16));
-	      break;
-
-	    /* Split 16 bit immediate, aligned. (2^0, st.b).  */
-	    case 'S':
-	      val = ((insn >> 5) & 0xf800) | (insn & 0x07ff);
-	      (*info->fprintf_func) (info->stream, "%d",
-				     sign_ext (val, 16));
-	      break;
-
-	    /* Split 16 bit immediate, aligned. (2^1, st.s).  */
-	    case 'T':
-	      val = ((insn >> 5) & 0xf800) | (insn & 0x07fe);
-	      (*info->fprintf_func) (info->stream, "%d",
-				     sign_ext (val, 16));
-	      break;
-
-	    /* Split 16 bit immediate, aligned. (2^2, st.l).  */
-	    case 'U':
-	      val = ((insn >> 5) & 0xf800) | (insn & 0x07fc);
-	      (*info->fprintf_func) (info->stream, "%d",
-				     sign_ext (val, 16));
-	      break;
-
-	    /* 26-bit PC relative immediate (lbroff).  */
-	    case 'l':
-	      val = sign_ext ((insn & 0x03ffffff), 26);
-	      print_br_address (info, memaddr, val);
-	      break;
-
-	    /* 16-bit PC relative immediate (sbroff).  */
-	    case 'r':
-	      val = sign_ext ((((insn >> 5) & 0xf800) | (insn & 0x07ff)), 16);
-	      print_br_address (info, memaddr, val);
-	      break;
-
-	    default:
-	      (*info->fprintf_func) (info->stream, "%c", *s);
-	      break;
-	    }
-	}
-    }
-
-  return sizeof (insn);
-}
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i960-dis.c ./opcodes/i960-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/i960-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/i960-dis.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,932 +0,0 @@
-/* Disassemble i80960 instructions.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
-   02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "disassemble.h"
-
-static const char *const reg_names[] = {
-/*  0 */	"pfp", "sp",  "rip", "r3",  "r4",  "r5",  "r6",  "r7",
-/*  8 */	"r8",  "r9",  "r10", "r11", "r12", "r13", "r14", "r15",
-/* 16 */	"g0",  "g1",  "g2",  "g3",  "g4",  "g5",  "g6",  "g7",
-/* 24 */	"g8",  "g9",  "g10", "g11", "g12", "g13", "g14", "fp",
-/* 32 */	"pc",  "ac",  "ip",  "tc",  "fp0", "fp1", "fp2", "fp3"
-};
-
-
-static FILE *stream;		/* Output goes here */
-static struct disassemble_info *info;
-static void print_addr (bfd_vma);
-static void ctrl (bfd_vma, unsigned long, unsigned long);
-static void cobr (bfd_vma, unsigned long, unsigned long);
-static void reg (unsigned long);
-static int mem (bfd_vma, unsigned long, unsigned long, int);
-static void ea (bfd_vma, int, const char *, const char *, int, unsigned int);
-static void dstop (int, int, int);
-static void regop (int, int, int, int);
-static void invalid (int);
-static int pinsn (bfd_vma, unsigned long, unsigned long);
-static void put_abs (unsigned long, unsigned long);
-
-
-/* Print the i960 instruction at address 'memaddr' in debugged memory,
-   on INFO->STREAM.  Returns length of the instruction, in bytes.  */
-
-int
-print_insn_i960 (bfd_vma memaddr, struct disassemble_info *info_arg)
-{
-  unsigned int word1, word2 = 0xdeadbeef;
-  bfd_byte buffer[8];
-  int status;
-
-  info = info_arg;
-  stream = info->stream;
-
-  /* Read word1.  Only read word2 if the instruction
-     needs it, to prevent reading past the end of a section.  */
-
-  status = (*info->read_memory_func) (memaddr, (bfd_byte *) buffer, 4, info);
-  if (status != 0)
-    {
-      (*info->memory_error_func) (status, memaddr, info);
-      return -1;
-    }
-
-  word1 = bfd_getl32 (buffer);
-
-  /* Divide instruction set into classes based on high 4 bits of opcode.  */
-  switch ( (word1 >> 28) & 0xf )
-    {
-    default:
-      break;
-    case 0x8:
-    case 0x9:
-    case 0xa:
-    case 0xb:
-    case 0xc:
-      /* Read word2.  */
-      status = (*info->read_memory_func)
-	(memaddr + 4, (bfd_byte *) (buffer + 4), 4, info);
-      if (status != 0)
-	{
-	  (*info->memory_error_func) (status, memaddr, info);
-	  return -1;
-	}
-      word2 = bfd_getl32 (buffer + 4);
-      break;
-    }
-
-  return pinsn( memaddr, word1, word2 );
-}
-
-#define IN_GDB
-
-/*****************************************************************************
- *	All code below this point should be identical with that of
- *	the disassembler in gdmp960.
-
- A noble sentiment, but at least in cosmetic ways (info->fprintf_func), it
- just ain't so. -kingdon, 31 Mar 93
- *****************************************************************************/
-
-struct tabent {
-  char *name;
-  short numops;
-};
-
-struct sparse_tabent {
-  int opcode;
-  char *name;
-  short numops;
-};
-
-static int
-pinsn (bfd_vma memaddr, unsigned long word1, unsigned long word2)
-{
-  int instr_len;
-
-  instr_len = 4;
-  put_abs (word1, word2);
-
-  /* Divide instruction set into classes based on high 4 bits of opcode.  */
-  switch ((word1 >> 28) & 0xf)
-    {
-    case 0x0:
-    case 0x1:
-      ctrl (memaddr, word1, word2);
-      break;
-    case 0x2:
-    case 0x3:
-      cobr (memaddr, word1, word2);
-      break;
-    case 0x5:
-    case 0x6:
-    case 0x7:
-      reg (word1);
-      break;
-    case 0x8:
-    case 0x9:
-    case 0xa:
-    case 0xb:
-    case 0xc:
-      instr_len = mem (memaddr, word1, word2, 0);
-      break;
-    default:
-      /* Invalid instruction, print as data word.  */
-      invalid (word1);
-      break;
-    }
-  return instr_len;
-}
-
-/* CTRL format.. */
-
-static void
-ctrl (bfd_vma memaddr, unsigned long word1, unsigned long word2 ATTRIBUTE_UNUSED)
-{
-  int i;
-  static const struct tabent ctrl_tab[] = {
-    { NULL,		0, },	/* 0x00 */
-    { NULL,		0, },	/* 0x01 */
-    { NULL,		0, },	/* 0x02 */
-    { NULL,		0, },	/* 0x03 */
-    { NULL,		0, },	/* 0x04 */
-    { NULL,		0, },	/* 0x05 */
-    { NULL,		0, },	/* 0x06 */
-    { NULL,		0, },	/* 0x07 */
-    { "b",		1, },	/* 0x08 */
-    { "call",		1, },	/* 0x09 */
-    { "ret",		0, },	/* 0x0a */
-    { "bal",		1, },	/* 0x0b */
-    { NULL,		0, },	/* 0x0c */
-    { NULL,		0, },	/* 0x0d */
-    { NULL,		0, },	/* 0x0e */
-    { NULL,		0, },	/* 0x0f */
-    { "bno",		1, },	/* 0x10 */
-    { "bg",		1, },	/* 0x11 */
-    { "be",		1, },	/* 0x12 */
-    { "bge",		1, },	/* 0x13 */
-    { "bl",		1, },	/* 0x14 */
-    { "bne",		1, },	/* 0x15 */
-    { "ble",		1, },	/* 0x16 */
-    { "bo",		1, },	/* 0x17 */
-    { "faultno",	0, },	/* 0x18 */
-    { "faultg",		0, },	/* 0x19 */
-    { "faulte",		0, },	/* 0x1a */
-    { "faultge",	0, },	/* 0x1b */
-    { "faultl",		0, },	/* 0x1c */
-    { "faultne",	0, },	/* 0x1d */
-    { "faultle",	0, },	/* 0x1e */
-    { "faulto",		0, },	/* 0x1f */
-  };
-
-  i = (word1 >> 24) & 0xff;
-  if ((ctrl_tab[i].name == NULL) || ((word1 & 1) != 0))
-    {
-      invalid (word1);
-      return;
-    }
-
-  (*info->fprintf_func) (stream, "%s", ctrl_tab[i].name);
-  if (word1 & 2)
-    /* Predicts branch not taken.  */
-    (*info->fprintf_func) (stream, ".f");
-
-  if (ctrl_tab[i].numops == 1)
-    {
-      /* Extract displacement and convert to address.  */
-      word1 &= 0x00ffffff;
-
-      if (word1 & 0x00800000)
-	{
-	  /* Sign bit is set.  */
-	  word1 |= (-1 & ~0xffffff);	/* Sign extend.  */
-	}
-
-      (*info->fprintf_func) (stream, "\t");
-      print_addr (word1 + memaddr);
-    }
-}
-
-/* COBR format.  */
-
-static void
-cobr (bfd_vma memaddr, unsigned long word1, unsigned long word2 ATTRIBUTE_UNUSED)
-{
-  int src1;
-  int src2;
-  int i;
-
-  static const struct tabent cobr_tab[] = {
-    { "testno",	1, },	/* 0x20 */
-    { "testg",	1, },	/* 0x21 */
-    { "teste",	1, },	/* 0x22 */
-    { "testge",	1, },	/* 0x23 */
-    { "testl",	1, },	/* 0x24 */
-    { "testne",	1, },	/* 0x25 */
-    { "testle",	1, },	/* 0x26 */
-    { "testo",	1, },	/* 0x27 */
-    { NULL,	0, },	/* 0x28 */
-    { NULL,	0, },	/* 0x29 */
-    { NULL,	0, },	/* 0x2a */
-    { NULL,	0, },	/* 0x2b */
-    { NULL,	0, },	/* 0x2c */
-    { NULL,	0, },	/* 0x2d */
-    { NULL,	0, },	/* 0x2e */
-    { NULL,	0, },	/* 0x2f */
-    { "bbc",	3, },	/* 0x30 */
-    { "cmpobg",	3, },	/* 0x31 */
-    { "cmpobe",	3, },	/* 0x32 */
-    { "cmpobge",3, },	/* 0x33 */
-    { "cmpobl",	3, },	/* 0x34 */
-    { "cmpobne",3, },	/* 0x35 */
-    { "cmpoble",3, },	/* 0x36 */
-    { "bbs",	3, },	/* 0x37 */
-    { "cmpibno",3, },	/* 0x38 */
-    { "cmpibg",	3, },	/* 0x39 */
-    { "cmpibe",	3, },	/* 0x3a */
-    { "cmpibge",3, },	/* 0x3b */
-    { "cmpibl",	3, },	/* 0x3c */
-    { "cmpibne",3, },	/* 0x3d */
-    { "cmpible",3, },	/* 0x3e */
-    { "cmpibo",	3, },	/* 0x3f */
-  };
-
-  i = ((word1 >> 24) & 0xff) - 0x20;
-  if (cobr_tab[i].name == NULL)
-    {
-      invalid (word1);
-      return;
-    }
-
-  (*info->fprintf_func) (stream, "%s", cobr_tab[i].name);
-
-  /* Predicts branch not taken.  */
-  if (word1 & 2)
-    (*info->fprintf_func) (stream, ".f");
-
-  (*info->fprintf_func) (stream, "\t");
-
-  src1 = (word1 >> 19) & 0x1f;
-  src2 = (word1 >> 14) & 0x1f;
-
-  if (word1 & 0x02000)
-    /* M1 is 1 */
-    (*info->fprintf_func) (stream, "%d", src1);
-  else
-    (*info->fprintf_func) (stream, "%s", reg_names[src1]);
-
-  if (cobr_tab[i].numops > 1)
-    {
-      if (word1 & 1)
-	/* S2 is 1.  */
-	(*info->fprintf_func) (stream, ",sf%d,", src2);
-      else
-	/* S1 is 0.  */
-	(*info->fprintf_func) (stream, ",%s,", reg_names[src2]);
-
-      /* Extract displacement and convert to address.  */
-      word1 &= 0x00001ffc;
-      if (word1 & 0x00001000)
-	/* Negative displacement.  */
-	word1 |= (-1 & ~0x1fff);	/* Sign extend.  */
-
-      print_addr (memaddr + word1);
-    }
-}
-
-/* MEM format.  */
-/* Returns instruction length: 4 or 8.  */
-
-static int
-mem (bfd_vma memaddr, unsigned long word1, unsigned long word2, int noprint)
-{
-  int i, j;
-  int len;
-  int mode;
-  int offset;
-  const char *reg1, *reg2, *reg3;
-
-  /* This lookup table is too sparse to make it worth typing in, but not
-     so large as to make a sparse array necessary.  We create the table
-     at runtime.  */
-
-  /* NOTE: In this table, the meaning of 'numops' is:
-      1: single operand
-      2: 2 operands, load instruction
-     -2: 2 operands, store instruction.  */
-  static struct tabent *mem_tab;
-  /* Opcodes of 0x8X, 9X, aX, bX, and cX must be in the table.  */
-#define MEM_MIN	0x80
-#define MEM_MAX	0xcf
-#define MEM_SIZ	( * sizeof(struct tabent))
-
-  static const struct sparse_tabent mem_init[] = {
-    { 0x80,	"ldob",	 2 },
-    { 0x82,	"stob",	-2 },
-    { 0x84,	"bx",	 1 },
-    { 0x85,	"balx",	 2 },
-    { 0x86,	"callx", 1 },
-    { 0x88,	"ldos",	 2 },
-    { 0x8a,	"stos",	-2 },
-    { 0x8c,	"lda",	 2 },
-    { 0x90,	"ld",	 2 },
-    { 0x92,	"st",	-2 },
-    { 0x98,	"ldl",	 2 },
-    { 0x9a,	"stl",	-2 },
-    { 0xa0,	"ldt",	 2 },
-    { 0xa2,	"stt",	-2 },
-    { 0xac,	"dcinva", 1 },
-    { 0xb0,	"ldq",	 2 },
-    { 0xb2,	"stq",	-2 },
-    { 0xc0,	"ldib",	 2 },
-    { 0xc2,	"stib",	-2 },
-    { 0xc8,	"ldis",	 2 },
-    { 0xca,	"stis",	-2 },
-    { 0,	NULL,	0 }
-  };
-  static struct tabent mem_tab_buf[MEM_MAX - MEM_MIN + 1];
-
-  if (mem_tab == NULL)
-    {
-      mem_tab = mem_tab_buf;
-
-      for (i = 0; mem_init[i].opcode != 0; i++)
-	{
-	  j = mem_init[i].opcode - MEM_MIN;
-	  mem_tab[j].name = mem_init[i].name;
-	  mem_tab[j].numops = mem_init[i].numops;
-	}
-    }
-
-  i = ((word1 >> 24) & 0xff) - MEM_MIN;
-  mode = (word1 >> 10) & 0xf;
-
-  if ((mem_tab[i].name != NULL)		/* Valid instruction */
-      && ((mode == 5) || (mode >= 12)))
-    /* With 32-bit displacement.  */
-    len = 8;
-  else
-    len = 4;
-
-  if (noprint)
-    return len;
-
-  if ((mem_tab[i].name == NULL) || (mode == 6))
-    {
-      invalid (word1);
-      return len;
-    }
-
-  (*info->fprintf_func) (stream, "%s\t", mem_tab[i].name);
-
-  reg1 = reg_names[ (word1 >> 19) & 0x1f ];	/* MEMB only */
-  reg2 = reg_names[ (word1 >> 14) & 0x1f ];
-  reg3 = reg_names[ word1 & 0x1f ];		/* MEMB only */
-  offset = word1 & 0xfff;				/* MEMA only  */
-
-  switch (mem_tab[i].numops)
-    {
-    case 2: /* LOAD INSTRUCTION */
-      if (mode & 4)
-	{			/* MEMB FORMAT */
-	  ea (memaddr, mode, reg2, reg3, word1, word2);
-	  (*info->fprintf_func) (stream, ",%s", reg1);
-	}
-      else
-	{				/* MEMA FORMAT */
-	  (*info->fprintf_func) (stream, "0x%x", (unsigned) offset);
-
-	  if (mode & 8)
-	    (*info->fprintf_func) (stream, "(%s)", reg2);
-
-	  (*info->fprintf_func)(stream, ",%s", reg1);
-	}
-      break;
-
-    case -2: /* STORE INSTRUCTION */
-      if (mode & 4)
-	{
-	  /* MEMB FORMAT */
-	  (*info->fprintf_func) (stream, "%s,", reg1);
-	  ea (memaddr, mode, reg2, reg3, word1, word2);
-	}
-      else
-	{
-	  /* MEMA FORMAT */
-	  (*info->fprintf_func) (stream, "%s,0x%x", reg1, (unsigned) offset);
-
-	  if (mode & 8)
-	    (*info->fprintf_func) (stream, "(%s)", reg2);
-	}
-      break;
-
-    case 1: /* BX/CALLX INSTRUCTION */
-      if (mode & 4)
-	{
-	  /* MEMB FORMAT */
-	  ea (memaddr, mode, reg2, reg3, word1, word2);
-	}
-      else
-	{
-	  /* MEMA FORMAT */
-	  (*info->fprintf_func) (stream, "0x%x", (unsigned) offset);
-	  if (mode & 8)
-	    (*info->fprintf_func) (stream, "(%s)", reg2);
-	}
-      break;
-    }
-
-  return len;
-}
-
-/* REG format.  */
-
-static void
-reg (unsigned long word1)
-{
-  int i, j;
-  int opcode;
-  int fp;
-  int m1, m2, m3;
-  int s1, s2;
-  int src, src2, dst;
-  char *mnemp;
-
-  /* This lookup table is too sparse to make it worth typing in, but not
-     so large as to make a sparse array necessary.  We create the table
-     at runtime.  */
-
-  /* NOTE: In this table, the meaning of 'numops' is:
-	 1: single operand, which is NOT a destination.
-	-1: single operand, which IS a destination.
-	 2: 2 operands, the 2nd of which is NOT a destination.
-	-2: 2 operands, the 2nd of which IS a destination.
-	 3: 3 operands
-
-	If an opcode mnemonic begins with "F", it is a floating-point
-	opcode (the "F" is not printed).  */
-
-  static struct tabent *reg_tab;
-  static const struct sparse_tabent reg_init[] =
-  {
-#define REG_MIN	0x580
-    { 0x580,	"notbit",	3 },
-    { 0x581,	"and",		3 },
-    { 0x582,	"andnot",	3 },
-    { 0x583,	"setbit",	3 },
-    { 0x584,	"notand",	3 },
-    { 0x586,	"xor",		3 },
-    { 0x587,	"or",		3 },
-    { 0x588,	"nor",		3 },
-    { 0x589,	"xnor",		3 },
-    { 0x58a,	"not",		-2 },
-    { 0x58b,	"ornot",	3 },
-    { 0x58c,	"clrbit",	3 },
-    { 0x58d,	"notor",	3 },
-    { 0x58e,	"nand",		3 },
-    { 0x58f,	"alterbit",	3 },
-    { 0x590,	"addo",		3 },
-    { 0x591,	"addi",		3 },
-    { 0x592,	"subo",		3 },
-    { 0x593,	"subi",		3 },
-    { 0x594,	"cmpob",	2 },
-    { 0x595,	"cmpib",	2 },
-    { 0x596,	"cmpos",	2 },
-    { 0x597,	"cmpis",	2 },
-    { 0x598,	"shro",		3 },
-    { 0x59a,	"shrdi",	3 },
-    { 0x59b,	"shri",		3 },
-    { 0x59c,	"shlo",		3 },
-    { 0x59d,	"rotate",	3 },
-    { 0x59e,	"shli",		3 },
-    { 0x5a0,	"cmpo",		2 },
-    { 0x5a1,	"cmpi",		2 },
-    { 0x5a2,	"concmpo",	2 },
-    { 0x5a3,	"concmpi",	2 },
-    { 0x5a4,	"cmpinco",	3 },
-    { 0x5a5,	"cmpinci",	3 },
-    { 0x5a6,	"cmpdeco",	3 },
-    { 0x5a7,	"cmpdeci",	3 },
-    { 0x5ac,	"scanbyte",	2 },
-    { 0x5ad,	"bswap",	-2 },
-    { 0x5ae,	"chkbit",	2 },
-    { 0x5b0,	"addc",		3 },
-    { 0x5b2,	"subc",		3 },
-    { 0x5b4,	"intdis",	0 },
-    { 0x5b5,	"inten",	0 },
-    { 0x5cc,	"mov",		-2 },
-    { 0x5d8,	"eshro",	3 },
-    { 0x5dc,	"movl",		-2 },
-    { 0x5ec,	"movt",		-2 },
-    { 0x5fc,	"movq",		-2 },
-    { 0x600,	"synmov",	2 },
-    { 0x601,	"synmovl",	2 },
-    { 0x602,	"synmovq",	2 },
-    { 0x603,	"cmpstr",	3 },
-    { 0x604,	"movqstr",	3 },
-    { 0x605,	"movstr",	3 },
-    { 0x610,	"atmod",	3 },
-    { 0x612,	"atadd",	3 },
-    { 0x613,	"inspacc",	-2 },
-    { 0x614,	"ldphy",	-2 },
-    { 0x615,	"synld",	-2 },
-    { 0x617,	"fill",		3 },
-    { 0x630,	"sdma",		3 },
-    { 0x631,	"udma",		0 },
-    { 0x640,	"spanbit",	-2 },
-    { 0x641,	"scanbit",	-2 },
-    { 0x642,	"daddc",	3 },
-    { 0x643,	"dsubc",	3 },
-    { 0x644,	"dmovt",	-2 },
-    { 0x645,	"modac",	3 },
-    { 0x646,	"condrec",	-2 },
-    { 0x650,	"modify",	3 },
-    { 0x651,	"extract",	3 },
-    { 0x654,	"modtc",	3 },
-    { 0x655,	"modpc",	3 },
-    { 0x656,	"receive",	-2 },
-    { 0x658,	"intctl",	-2 },
-    { 0x659,	"sysctl",	3 },
-    { 0x65b,	"icctl",	3 },
-    { 0x65c,	"dcctl",	3 },
-    { 0x65d,	"halt",		0 },
-    { 0x660,	"calls",	1 },
-    { 0x662,	"send",		3 },
-    { 0x663,	"sendserv",	1 },
-    { 0x664,	"resumprcs",	1 },
-    { 0x665,	"schedprcs",	1 },
-    { 0x666,	"saveprcs",	0 },
-    { 0x668,	"condwait",	1 },
-    { 0x669,	"wait",		1 },
-    { 0x66a,	"signal",	1 },
-    { 0x66b,	"mark",		0 },
-    { 0x66c,	"fmark",	0 },
-    { 0x66d,	"flushreg",	0 },
-    { 0x66f,	"syncf",	0 },
-    { 0x670,	"emul",		3 },
-    { 0x671,	"ediv",		3 },
-    { 0x673,	"ldtime",	-1 },
-    { 0x674,	"Fcvtir",	-2 },
-    { 0x675,	"Fcvtilr",	-2 },
-    { 0x676,	"Fscalerl",	3 },
-    { 0x677,	"Fscaler",	3 },
-    { 0x680,	"Fatanr",	3 },
-    { 0x681,	"Flogepr",	3 },
-    { 0x682,	"Flogr",	3 },
-    { 0x683,	"Fremr",	3 },
-    { 0x684,	"Fcmpor",	2 },
-    { 0x685,	"Fcmpr",	2 },
-    { 0x688,	"Fsqrtr",	-2 },
-    { 0x689,	"Fexpr",	-2 },
-    { 0x68a,	"Flogbnr",	-2 },
-    { 0x68b,	"Froundr",	-2 },
-    { 0x68c,	"Fsinr",	-2 },
-    { 0x68d,	"Fcosr",	-2 },
-    { 0x68e,	"Ftanr",	-2 },
-    { 0x68f,	"Fclassr",	1 },
-    { 0x690,	"Fatanrl",	3 },
-    { 0x691,	"Flogeprl",	3 },
-    { 0x692,	"Flogrl",	3 },
-    { 0x693,	"Fremrl",	3 },
-    { 0x694,	"Fcmporl",	2 },
-    { 0x695,	"Fcmprl",	2 },
-    { 0x698,	"Fsqrtrl",	-2 },
-    { 0x699,	"Fexprl",	-2 },
-    { 0x69a,	"Flogbnrl",	-2 },
-    { 0x69b,	"Froundrl",	-2 },
-    { 0x69c,	"Fsinrl",	-2 },
-    { 0x69d,	"Fcosrl",	-2 },
-    { 0x69e,	"Ftanrl",	-2 },
-    { 0x69f,	"Fclassrl",	1 },
-    { 0x6c0,	"Fcvtri",	-2 },
-    { 0x6c1,	"Fcvtril",	-2 },
-    { 0x6c2,	"Fcvtzri",	-2 },
-    { 0x6c3,	"Fcvtzril",	-2 },
-    { 0x6c9,	"Fmovr",	-2 },
-    { 0x6d9,	"Fmovrl",	-2 },
-    { 0x6e1,	"Fmovre",	-2 },
-    { 0x6e2,	"Fcpysre",	3 },
-    { 0x6e3,	"Fcpyrsre",	3 },
-    { 0x701,	"mulo",		3 },
-    { 0x708,	"remo",		3 },
-    { 0x70b,	"divo",		3 },
-    { 0x741,	"muli",		3 },
-    { 0x748,	"remi",		3 },
-    { 0x749,	"modi",		3 },
-    { 0x74b,	"divi",		3 },
-    { 0x780,	"addono",	3 },
-    { 0x781,	"addino",	3 },
-    { 0x782,	"subono",	3 },
-    { 0x783,	"subino",	3 },
-    { 0x784,	"selno",	3 },
-    { 0x78b,	"Fdivr",	3 },
-    { 0x78c,	"Fmulr",	3 },
-    { 0x78d,	"Fsubr",	3 },
-    { 0x78f,	"Faddr",	3 },
-    { 0x790,	"addog",	3 },
-    { 0x791,	"addig",        3 },
-    { 0x792,	"subog",	3 },
-    { 0x793,	"subig",	3 },
-    { 0x794,	"selg",		3 },
-    { 0x79b,	"Fdivrl",	3 },
-    { 0x79c,	"Fmulrl",	3 },
-    { 0x79d,	"Fsubrl",	3 },
-    { 0x79f,	"Faddrl",	3 },
-    { 0x7a0,	"addoe",	3 },
-    { 0x7a1,	"addie",        3 },
-    { 0x7a2,	"suboe",	3 },
-    { 0x7a3,	"subie",	3 },
-    { 0x7a4,	"sele",		3 },
-    { 0x7b0,	"addoge",	3 },
-    { 0x7b1,	"addige",	3 },
-    { 0x7b2,	"suboge",	3 },
-    { 0x7b3,	"subige",	3 },
-    { 0x7b4,	"selge",	3 },
-    { 0x7c0,	"addol",	3 },
-    { 0x7c1,	"addil",	3 },
-    { 0x7c2,	"subol",	3 },
-    { 0x7c3,	"subil",	3 },
-    { 0x7c4,	"sell",		3 },
-    { 0x7d0,	"addone",	3 },
-    { 0x7d1,	"addine",	3 },
-    { 0x7d2,	"subone",	3 },
-    { 0x7d3,	"subine",	3 },
-    { 0x7d4,	"selne",	3 },
-    { 0x7e0,	"addole",	3 },
-    { 0x7e1,	"addile",	3 },
-    { 0x7e2,	"subole",	3 },
-    { 0x7e3,	"subile",	3 },
-    { 0x7e4,	"selle",	3 },
-    { 0x7f0,	"addoo",	3 },
-    { 0x7f1,	"addio",	3 },
-    { 0x7f2,	"suboo",	3 },
-    { 0x7f3,	"subio",	3 },
-    { 0x7f4,	"selo",		3 },
-#define REG_MAX 0x7f4
-    { 0,	NULL,		0 }
-  };
-  static struct tabent reg_tab_buf[REG_MAX - REG_MIN + 1];
-
-  if (reg_tab == NULL)
-    {
-      reg_tab = reg_tab_buf;
-
-      for (i = 0; reg_init[i].opcode != 0; i++)
-	{
-	  j = reg_init[i].opcode - REG_MIN;
-	  reg_tab[j].name = reg_init[i].name;
-	  reg_tab[j].numops = reg_init[i].numops;
-	}
-    }
-
-  opcode = ((word1 >> 20) & 0xff0) | ((word1 >> 7) & 0xf);
-  i = opcode - REG_MIN;
-
-  if ((opcode<REG_MIN) || (opcode>REG_MAX) || (reg_tab[i].name==NULL))
-    {
-      invalid (word1);
-      return;
-    }
-
-  mnemp = reg_tab[i].name;
-  if (*mnemp == 'F')
-    {
-      fp = 1;
-      mnemp++;
-    }
-  else
-    {
-      fp = 0;
-    }
-
-  (*info->fprintf_func) (stream, "%s", mnemp);
-
-  s1   = (word1 >> 5)  & 1;
-  s2   = (word1 >> 6)  & 1;
-  m1   = (word1 >> 11) & 1;
-  m2   = (word1 >> 12) & 1;
-  m3   = (word1 >> 13) & 1;
-  src  =  word1        & 0x1f;
-  src2 = (word1 >> 14) & 0x1f;
-  dst  = (word1 >> 19) & 0x1f;
-
-  if  (reg_tab[i].numops != 0)
-    {
-      (*info->fprintf_func) (stream, "\t");
-
-    switch (reg_tab[i].numops)
-      {
-      case 1:
-	regop (m1, s1, src, fp);
-	break;
-      case -1:
-	dstop (m3, dst, fp);
-	break;
-      case 2:
-	regop (m1, s1, src, fp);
-	(*info->fprintf_func) (stream, ",");
-	regop (m2, s2, src2, fp);
-	break;
-      case -2:
-	regop (m1, s1, src, fp);
-	(*info->fprintf_func) (stream, ",");
-	dstop (m3, dst, fp);
-	break;
-      case 3:
-	regop (m1, s1, src, fp);
-	(*info->fprintf_func) (stream, ",");
-	regop (m2, s2, src2, fp);
-	(*info->fprintf_func) (stream, ",");
-	dstop (m3, dst, fp);
-	break;
-      }
-    }
-}
-
-/* Print out effective address for memb instructions.  */
-
-static void
-ea (bfd_vma memaddr, int mode, const char *reg2, const char *reg3, int word1,
-    unsigned int word2)
-{
-  int scale;
-  static const int scale_tab[] = { 1, 2, 4, 8, 16 };
-
-  scale = (word1 >> 7) & 0x07;
-
-  if ((scale > 4) || (((word1 >> 5) & 0x03) != 0))
-    {
-      invalid (word1);
-      return;
-    }
-  scale = scale_tab[scale];
-
-  switch (mode)
-    {
-    case 4:						/* (reg) */
-      (*info->fprintf_func)( stream, "(%s)", reg2 );
-      break;
-    case 5:						/* displ+8(ip) */
-      print_addr (word2 + 8 + memaddr);
-      break;
-    case 7:						/* (reg)[index*scale] */
-      if (scale == 1)
-	(*info->fprintf_func) (stream, "(%s)[%s]", reg2, reg3);
-      else
-	(*info->fprintf_func) (stream, "(%s)[%s*%d]", reg2, reg3, scale);
-      break;
-    case 12:					/* displacement */
-      print_addr ((bfd_vma) word2);
-      break;
-    case 13:					/* displ(reg) */
-      print_addr ((bfd_vma) word2);
-      (*info->fprintf_func) (stream, "(%s)", reg2);
-      break;
-    case 14:					/* displ[index*scale] */
-      print_addr ((bfd_vma) word2);
-      if (scale == 1)
-	(*info->fprintf_func) (stream, "[%s]", reg3);
-      else
-	(*info->fprintf_func) (stream, "[%s*%d]", reg3, scale);
-      break;
-    case 15:				/* displ(reg)[index*scale] */
-      print_addr ((bfd_vma) word2);
-      if (scale == 1)
-	(*info->fprintf_func) (stream, "(%s)[%s]", reg2, reg3);
-      else
-	(*info->fprintf_func) (stream, "(%s)[%s*%d]", reg2, reg3, scale);
-      break;
-    default:
-      invalid (word1);
-      return;
-    }
-}
-
-
-/* Register Instruction Operand.  */
-
-static void
-regop (int mode, int spec, int fp_reg, int fp)
-{
-  if (fp)
-    {
-      /* Floating point instruction.  */
-      if (mode == 1)
-	{
-	  /* FP operand.  */
-	  switch (fp_reg)
-	    {
-	    case 0:  (*info->fprintf_func) (stream, "fp0");
-	      break;
-	    case 1:  (*info->fprintf_func) (stream, "fp1");
-	      break;
-	    case 2:  (*info->fprintf_func) (stream, "fp2");
-	      break;
-	    case 3:  (*info->fprintf_func) (stream, "fp3");
-	      break;
-	    case 16: (*info->fprintf_func) (stream, "0f0.0");
-	      break;
-	    case 22: (*info->fprintf_func) (stream, "0f1.0");
-	      break;
-	    default: (*info->fprintf_func) (stream, "?");
-	      break;
-	    }
-	}
-      else
-	{
-	  /* Non-FP register.  */
-	  (*info->fprintf_func) (stream, "%s", reg_names[fp_reg]);
-	}
-    }
-  else
-    {
-      /* Not floating point.  */
-      if (mode == 1)
-	{
-	  /* Literal.  */
-	  (*info->fprintf_func) (stream, "%d", fp_reg);
-	}
-      else
-	{
-	  /* Register.  */
-	  if (spec == 0)
-	    (*info->fprintf_func) (stream, "%s", reg_names[fp_reg]);
-	  else
-	    (*info->fprintf_func) (stream, "sf%d", fp_reg);
-	}
-    }
-}
-
-/* Register Instruction Destination Operand.  */
-
-static void
-dstop (int mode, int dest_reg, int fp)
-{
-  /* 'dst' operand can't be a literal. On non-FP instructions,  register
-     mode is assumed and "m3" acts as if were "s3";  on FP-instructions,
-     sf registers are not allowed so m3 acts normally.  */
-  if (fp)
-    regop (mode, 0, dest_reg, fp);
-  else
-    regop (0, mode, dest_reg, fp);
-}
-
-static void
-invalid (int word1)
-{
-  (*info->fprintf_func) (stream, ".word\t0x%08x", (unsigned) word1);
-}
-
-static void
-print_addr (bfd_vma a)
-{
-  (*info->print_address_func) (a, info);
-}
-
-static void
-put_abs (unsigned long word1 ATTRIBUTE_UNUSED,
-	 unsigned long word2 ATTRIBUTE_UNUSED)
-{
-#ifdef IN_GDB
-  return;
-#else
-  int len;
-
-  switch ((word1 >> 28) & 0xf)
-    {
-    case 0x8:
-    case 0x9:
-    case 0xa:
-    case 0xb:
-    case 0xc:
-      /* MEM format instruction.  */
-      len = mem (0, word1, word2, 1);
-      break;
-    default:
-      len = 4;
-      break;
-    }
-
-  if (len == 8)
-    (*info->fprintf_func) (stream, "%08x %08x\t", word1, word2);
-  else
-    (*info->fprintf_func) (stream, "%08x         \t", word1);
-#endif
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ip2k-asm.c ./opcodes/ip2k-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ip2k-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/ip2k-asm.c	2018-07-10 02:06:15.000000000 +0000
@@ -508,7 +508,9 @@ ip2k_cgen_parse_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ip2k-desc.c ./opcodes/ip2k-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ip2k-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/ip2k-desc.c	2018-07-10 02:06:15.000000000 +0000
@@ -845,6 +845,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -1005,8 +1010,11 @@ ip2k_cgen_rebuild_tables (CGEN_CPU_TABLE
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: ip2k_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -1085,8 +1093,11 @@ ip2k_cgen_cpu_open (enum cgen_cpu_open_a
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "ip2k_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: ip2k_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -1101,7 +1112,9 @@ ip2k_cgen_cpu_open (enum cgen_cpu_open_a
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "ip2k_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: ip2k_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ip2k-dis.c ./opcodes/ip2k-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ip2k-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/ip2k-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -285,9 +285,10 @@ ip2k_cgen_print_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ip2k-ibld.c ./opcodes/ip2k-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ip2k-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/ip2k-ibld.c	2018-07-10 02:06:15.000000000 +0000
@@ -608,8 +608,9 @@ ip2k_cgen_insert_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -683,8 +684,9 @@ ip2k_cgen_extract_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -757,8 +759,9 @@ ip2k_cgen_get_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -813,8 +816,9 @@ ip2k_cgen_get_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -872,8 +876,9 @@ ip2k_cgen_set_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -921,8 +926,9 @@ ip2k_cgen_set_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/iq2000-asm.c ./opcodes/iq2000-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/iq2000-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/iq2000-asm.c	2018-07-10 02:06:15.000000000 +0000
@@ -456,7 +456,9 @@ iq2000_cgen_parse_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/iq2000-desc.c ./opcodes/iq2000-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/iq2000-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/iq2000-desc.c	2018-07-10 02:06:15.000000000 +0000
@@ -1850,6 +1850,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -2010,8 +2015,11 @@ iq2000_cgen_rebuild_tables (CGEN_CPU_TAB
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: iq2000_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -2090,8 +2098,11 @@ iq2000_cgen_cpu_open (enum cgen_cpu_open
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "iq2000_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: iq2000_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -2106,7 +2117,9 @@ iq2000_cgen_cpu_open (enum cgen_cpu_open
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "iq2000_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: iq2000_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/iq2000-dis.c ./opcodes/iq2000-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/iq2000-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/iq2000-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -186,9 +186,10 @@ iq2000_cgen_print_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/iq2000-ibld.c ./opcodes/iq2000-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/iq2000-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/iq2000-ibld.c	2018-07-10 02:06:15.000000000 +0000
@@ -714,8 +714,9 @@ iq2000_cgen_insert_operand (CGEN_CPU_DES
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -889,8 +890,9 @@ iq2000_cgen_extract_operand (CGEN_CPU_DE
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -1020,8 +1022,9 @@ iq2000_cgen_get_int_operand (CGEN_CPU_DE
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -1133,8 +1136,9 @@ iq2000_cgen_get_vma_operand (CGEN_CPU_DE
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -1253,8 +1257,9 @@ iq2000_cgen_set_int_operand (CGEN_CPU_DE
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -1363,8 +1368,9 @@ iq2000_cgen_set_vma_operand (CGEN_CPU_DE
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/lm32-asm.c ./opcodes/lm32-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/lm32-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/lm32-asm.c	2018-07-10 02:06:15.000000000 +0000
@@ -346,7 +346,9 @@ lm32_cgen_parse_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/lm32-desc.c ./opcodes/lm32-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/lm32-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/lm32-desc.c	2018-07-10 02:06:15.000000000 +0000
@@ -832,6 +832,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -992,8 +997,11 @@ lm32_cgen_rebuild_tables (CGEN_CPU_TABLE
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: lm32_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -1072,8 +1080,11 @@ lm32_cgen_cpu_open (enum cgen_cpu_open_a
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "lm32_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: lm32_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -1088,7 +1099,9 @@ lm32_cgen_cpu_open (enum cgen_cpu_open_a
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "lm32_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: lm32_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/lm32-dis.c ./opcodes/lm32-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/lm32-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/lm32-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -144,9 +144,10 @@ lm32_cgen_print_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/lm32-ibld.c ./opcodes/lm32-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/lm32-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/lm32-ibld.c	2018-07-10 02:06:15.000000000 +0000
@@ -635,8 +635,9 @@ lm32_cgen_insert_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -739,8 +740,9 @@ lm32_cgen_extract_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -828,8 +830,9 @@ lm32_cgen_get_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -899,8 +902,9 @@ lm32_cgen_get_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -977,8 +981,9 @@ lm32_cgen_set_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -1045,8 +1050,9 @@ lm32_cgen_set_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32c-asm.c ./opcodes/m32c-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32c-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/m32c-asm.c	2018-07-10 02:06:15.000000000 +0000
@@ -1581,7 +1581,9 @@ m32c_cgen_parse_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32c-desc.c ./opcodes/m32c-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32c-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/m32c-desc.c	2018-07-10 02:06:15.000000000 +0000
@@ -62863,6 +62863,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -63023,8 +63028,11 @@ m32c_cgen_rebuild_tables (CGEN_CPU_TABLE
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: m32c_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -63103,8 +63111,11 @@ m32c_cgen_cpu_open (enum cgen_cpu_open_a
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "m32c_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: m32c_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -63119,7 +63130,9 @@ m32c_cgen_cpu_open (enum cgen_cpu_open_a
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "m32c_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: m32c_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32c-dis.c ./opcodes/m32c-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32c-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/m32c-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -888,9 +888,10 @@ m32c_cgen_print_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32c-ibld.c ./opcodes/m32c-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32c-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/m32c-ibld.c	2018-07-10 02:06:15.000000000 +0000
@@ -1732,8 +1732,9 @@ m32c_cgen_insert_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -2893,8 +2894,9 @@ m32c_cgen_extract_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -3510,8 +3512,9 @@ m32c_cgen_get_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -4109,8 +4112,9 @@ m32c_cgen_get_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -4696,8 +4700,9 @@ m32c_cgen_set_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -5273,8 +5278,9 @@ m32c_cgen_set_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32r-asm.c ./opcodes/m32r-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32r-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/m32r-asm.c	2018-07-10 02:06:15.000000000 +0000
@@ -325,7 +325,9 @@ m32r_cgen_parse_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32r-desc.c ./opcodes/m32r-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32r-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/m32r-desc.c	2018-07-10 02:06:15.000000000 +0000
@@ -1195,6 +1195,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -1355,8 +1360,11 @@ m32r_cgen_rebuild_tables (CGEN_CPU_TABLE
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: m32r_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -1435,8 +1443,11 @@ m32r_cgen_cpu_open (enum cgen_cpu_open_a
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "m32r_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: m32r_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -1451,7 +1462,9 @@ m32r_cgen_cpu_open (enum cgen_cpu_open_a
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "m32r_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: m32r_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32r-dis.c ./opcodes/m32r-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32r-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/m32r-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -276,9 +276,10 @@ m32r_cgen_print_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32r-ibld.c ./opcodes/m32r-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m32r-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/m32r-ibld.c	2018-07-10 02:06:15.000000000 +0000
@@ -666,8 +666,9 @@ m32r_cgen_insert_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -803,8 +804,9 @@ m32r_cgen_extract_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -916,8 +918,9 @@ m32r_cgen_get_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -1011,8 +1014,9 @@ m32r_cgen_get_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -1112,8 +1116,9 @@ m32r_cgen_set_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -1203,8 +1208,9 @@ m32r_cgen_set_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m88k-dis.c ./opcodes/m88k-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/m88k-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/m88k-dis.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,762 +0,0 @@
-/* Print instructions for the Motorola 88000, for GDB and GNU Binutils.
-   Copyright (C) 1986-2018 Free Software Foundation, Inc.
-   Contributed by Data General Corporation, November 1989.
-   Partially derived from an earlier printcmd.c.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "disassemble.h"
-#include "opcode/m88k.h"
-#include "opintl.h"
-#include "libiberty.h"
-
-typedef struct HASHTAB
-{
-  const INSTAB	 *instr;
-  struct HASHTAB *next;
-} HASHTAB;
-
-/* Opcode     Mnemonic       Op 1 Spec     Op 2 Spec    Op 3 Spec         Simflags             Next  */
-
-const INSTAB  instructions[] =
-{
-  {0xf400c800,"jsr         ",{0,5,REG}   ,NO_OPERAND      ,NO_OPERAND   , {2,2,NA,JSR ,          0,0,1,0,0,0,0,1,0,0,0,0} },
-  {0xf400cc00,"jsr.n       ",{0,5,REG}   ,NO_OPERAND      ,NO_OPERAND   , {1,1,NA,JSR ,          0,0,1,0,0,0,1,1,0,0,0,0} },
-  {0xf400c000,"jmp         ",{0,5,REG}   ,NO_OPERAND      ,NO_OPERAND   , {2,2,NA,JMP ,          0,0,1,0,0,0,0,1,0,0,0,0} },
-  {0xf400c400,"jmp.n       ",{0,5,REG}   ,NO_OPERAND      ,NO_OPERAND   , {1,1,NA,JMP ,          0,0,1,0,0,0,1,1,0,0,0,0} },
-  {0xc8000000,"bsr         ",{0,26,PCREL},NO_OPERAND      ,NO_OPERAND   , {2,2,NA,BSR ,     i26bit,0,0,0,0,0,0,1,0,0,0,0} },
-  {0xcc000000,"bsr.n       ",{0,26,PCREL},NO_OPERAND      ,NO_OPERAND   , {1,1,NA,BSR ,     i26bit,0,0,0,0,0,1,1,0,0,0,0} },
-  {0xc0000000,"br          ",{0,26,PCREL},NO_OPERAND      ,NO_OPERAND   , {2,2,NA,BR  ,     i26bit,0,0,0,0,0,0,1,0,0,0,0} },
-  {0xc4000000,"br.n        ",{0,26,PCREL},NO_OPERAND      ,NO_OPERAND   , {1,1,NA,BR  ,     i26bit,0,0,0,0,0,1,1,0,0,0,0} },
-  {0xd0000000,"bb0         ",{21,5,HEX}  ,{16,5,REG}   ,{0,16,PCREL},{2,2,NA,BB0,     i16bit,0,1,0,0,0,0,1,0,0,0,0} },
-  {0xd4000000,"bb0.n       ",{21,5,HEX}  ,{16,5,REG}   ,{0,16,PCREL},{1,1,NA,BB0,     i16bit,0,1,0,0,0,1,1,0,0,0,0} },
-  {0xd8000000,"bb1         ",{21,5,HEX},{16,5,REG}     ,{0,16,PCREL},{2,2,NA,BB1,     i16bit,0,1,0,0,0,0,1,0,0,0,0} },
-  {0xdc000000,"bb1.n       ",{21,5,HEX},{16,5,REG}     ,{0,16,PCREL},{1,1,NA,BB1,     i16bit,0,1,0,0,0,1,1,0,0,0,0} },
-  {0xf000d000,"tb0         ",{21,5,HEX}  ,{16,5,REG}   ,{0,10,HEX}, {2,2,NA,TB0 ,     i10bit,0,1,0,0,0,0,1,0,0,0,0} },
-  {0xf000d800,"tb1         ",{21,5,HEX}  ,{16,5,REG}   ,{0,10,HEX}, {2,2,NA,TB1 ,     i10bit,0,1,0,0,0,0,1,0,0,0,0} },
-  {0xe8000000,"bcnd        ",{21,5,CONDMASK},{16,5,REG},{0,16,PCREL},{2,2,NA,BCND,    i16bit,0,1,0,0,0,0,1,0,0,0,0} },
-  {0xec000000,"bcnd.n      ",{21,5,CONDMASK},{16,5,REG},{0,16,PCREL},{1,1,NA,BCND,    i16bit,0,1,0,0,0,1,1,0,0,0,0} },
-  {0xf000e800,"tcnd        ",{21,5,CONDMASK},{16,5,REG},{0,10,HEX}, {2,2,NA,TCND,     i10bit,0,1,0,0,0,0,1,0,0,0,0} },
-  {0xf8000000,"tbnd        ",{16,5,REG}  ,{0,16,HEX}   ,NO_OPERAND   , {2,2,NA,TBND,     i10bit,1,0,0,0,0,0,1,0,0,0,0} },
-  {0xf400f800,"tbnd        ",{16,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {2,2,NA,TBND,          0,1,1,0,0,0,0,1,0,0,0,0} },
-  {0xf400fc00,"rte         ",NO_OPERAND     ,NO_OPERAND      ,NO_OPERAND   , {2,2,NA,RTE ,          0,0,0,0,0,0,0,1,0,0,0,0} },
-  {0x1c000000,"ld.b        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {3,1,PMEM,LDB    ,i16bit,1,0,1,0,0,0,1,0,0,0,0} },
-  {0xf4001c00,"ld.b        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {3,1,PMEM,LDB     ,    0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0x0c000000,"ld.bu       ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {3,1,PMEM,LDBU,   i16bit,1,0,1,0,0,0,1,0,0,0,0} },
-  {0xf4000c00,"ld.bu       ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {3,1,PMEM,LDBU        ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0x18000000,"ld.h        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {3,1,PMEM,LDH    ,i16bit,1,0,1,0,0,0,1,0,0,0,0} },
-  {0xf4001800,"ld.h        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {3,1,PMEM,LDH         ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0xf4001a00,"ld.h        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{3,1,PMEM,LDH         ,0,1,1,1,0,0,0,1,0,0,0,1} },
-  {0x08000000,"ld.hu       ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {3,1,PMEM,LDHU,   i16bit,1,0,1,0,0,0,1,0,0,0,0} },
-  {0xf4000800,"ld.hu       ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {3,1,PMEM,LDHU        ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0xf4000a00,"ld.hu       ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{3,1,PMEM,LDHU        ,0,1,1,1,0,0,0,1,0,0,0,1} },
-  {0x14000000,"ld          ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {3,1,PMEM,LD     ,i16bit,1,0,1,0,0,0,1,0,0,0,0} },
-  {0xf4001400,"ld          ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {3,1,PMEM,LD          ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0xf4001600,"ld          ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{3,1,PMEM,LD          ,0,1,1,1,0,0,0,1,0,0,0,1} },
-  {0x10000000,"ld.d        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {3,1,PMEM,LDD    ,i16bit,1,0,1,0,0,0,1,0,0,0,0} },
-  {0xf4001000,"ld.d        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {3,1,PMEM,LDD         ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0xf4001200,"ld.d        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{3,1,PMEM,LDD         ,0,1,1,1,0,0,0,1,0,0,0,1} },
-  {0xf4001500,"ld.usr      ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {3,1,PMEM,LD          ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0xf4001700,"ld.usr      ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{3,1,PMEM,LD          ,0,1,1,1,0,0,0,1,0,0,0,1} },
-  {0x2c000000,"st.b        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,NA,STB      ,i16bit,1,0,1,0,0,0,1,0,0,0,0} },
-  {0xf4002c00,"st.b        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,NA,STB           ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0x28000000,"st.h        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,NA,STH      ,i16bit,1,0,1,0,0,0,1,0,0,0,0} },
-  {0xf4002800,"st.h        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,NA,STH           ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0xf4002a00,"st.h        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{1,1,NA,STH           ,0,1,1,1,0,0,0,1,0,0,0,1} },
-  {0x24000000,"st          ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,NA,ST       ,i16bit,1,0,1,0,0,0,1,0,0,0,0} },
-  {0xf4002400,"st          ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,NA,ST            ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0xf4002600,"st          ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{1,1,NA,ST            ,0,1,1,1,0,0,0,1,0,0,0,1} },
-  {0x20000000,"st.d        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,NA,STD      ,i16bit,0,1,0,0,0,0,1,0,0,0,0} },
-  {0xf4002000,"st.d        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,NA,STD           ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0xf4002200,"st.d        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{1,1,NA,STD           ,0,1,1,1,0,0,0,1,0,0,0,1} },
-  {0xf4002500,"st.usr      ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,NA,ST            ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0xf4002700,"st.usr      ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{1,1,NA,ST            ,0,1,1,1,0,0,0,1,0,0,0,1} },
-/*  m88100 only:
-  {0x00000000,"xmem.bu     ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {3,1,PMEM,XMEMBU ,i16bit,1,1,1,0,0,0,1,0,0,0,0} },
- */
-  {0xf4000000,"xmem.bu     ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {3,1,PMEM,XMEM        ,0,1,1,1,0,0,0,1,0,0,0,0} },
-/*  m88100 only:
-  {0x04000000,"xmem        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {3,1,PMEM,XMEM   ,i16bit,1,1,1,0,0,0,1,0,0,0,0} },
- */
-  {0xf4000400,"xmem        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {3,1,PMEM,XMEM        ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0xf4000600,"xmem        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{3,1,PMEM,XMEM        ,0,1,1,1,0,0,0,1,0,0,0,1} },
-  {0xf4000500,"xmem.usr    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {3,1,PMEM,XMEM        ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0xf4000700,"xmem.usr    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{3,1,PMEM,XMEM        ,0,1,1,1,0,0,0,1,0,0,0,1} },
-/* m88100 only:
-  {0xf4003e00,"lda.b       ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{1,1,PINT,LDAH,        0,1,1,1,0,0,0,0,0,0,0,1} },
- */
-  {0xf4003e00,"lda.x       ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{1,1,PINT,LDAH,        0,1,1,1,0,0,0,0,0,0,0,1} },
-  {0xf4003a00,"lda.h       ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{1,1,PINT,LDAH,        0,1,1,1,0,0,0,0,0,0,0,1} },
-  {0xf4003600,"lda         ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{1,1,PINT,LDA ,        0,1,1,1,0,0,0,0,0,0,0,1} },
-  {0xf4003200,"lda.d       ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REGSC},{1,1,PINT,LDAD,        0,1,1,1,0,0,0,0,0,0,0,1} },
-
-  {0x80004000,"ldcr        ",{21,5,REG}  ,{5,6,CRREG}  ,NO_OPERAND    ,{1,1,PINT,LDCR,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0x80008000,"stcr        ",{16,5,REG}  ,{5,6,CRREG}  ,NO_OPERAND    ,{1,1,PINT,STCR,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0x8000c000,"xcr         ",{21,5,REG}  ,{16,5,REG}   ,{5,6,CRREG},{1,1,PINT,XCR,         0,1,1,1,0,0,0,0,0,0,0,0} },
-
-  {0xf4006000,"addu        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,ADDU,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4006200,"addu.ci     ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,ADDU,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4006100,"addu.co     ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,ADDU,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4006300,"addu.cio    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,ADDU,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4006400,"subu        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,SUBU,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4006600,"subu.ci     ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,SUBU,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4006500,"subu.co     ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,SUBU,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4006700,"subu.cio    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,SUBU,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4006800,"divu        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {32,32,PINT,DIVU,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4006900,"divu.d      ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,} },
-  {0xf4006e00,"muls        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,} },
-  {0xf4006c00,"mulu        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,4,PINT,MUL,      0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4007000,"add         ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,ADD ,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4007200,"add.ci      ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,ADD ,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4007100,"add.co      ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,ADD ,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4007300,"add.cio     ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,ADD ,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4007400,"sub         ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,SUB ,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4007600,"sub.ci      ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,SUB ,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4007500,"sub.co      ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,SUB ,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4007700,"sub.cio     ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,SUB ,        0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4007800,"divs        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {32,32,PINT,DIV ,      0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4007c00,"cmp         ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,CMP,         0,1,1,1,0,0,0,0,0,0,0,0} },
-
-  {0x60000000,"addu        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,ADDU,   i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0x64000000,"subu        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,SUBU,   i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-
-  {0x68000000,"divu        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {32,32,PINT,DIVU, i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0x6c000000,"mulu        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {4,1,PINT,MUL,    i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0x70000000,"add         ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,ADD,    i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0x74000000,"sub         ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,SUB,    i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0x78000000,"divs        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {32,32,PINT,DIV,  i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0x7c000000,"cmp         ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,CMP,    i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-
-  {0xf4004000,"and         ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,AND_        ,0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4004400,"and.c       ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,AND_        ,0,1,1,1,1,0,0,0,0,0,0,0} },
-  {0xf4005800,"or          ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,OR          ,0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4005c00,"or.c        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,OR          ,0,1,1,1,1,0,0,0,0,0,0,0} },
-  {0xf4005000,"xor         ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,XOR         ,0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4005400,"xor.c       ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,XOR         ,0,1,1,1,1,0,0,0,0,0,0,0} },
-  {0x40000000,"and         ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,AND_   ,i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0x44000000,"and.u       ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,AND_   ,i16bit,1,0,1,0,1,0,0,0,0,0,0} },
-  {0x58000000,"or          ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,OR     ,i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0x5c000000,"or.u        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,OR     ,i16bit,1,0,1,0,1,0,0,0,0,0,0} },
-  {0x50000000,"xor         ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,XOR    ,i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0x54000000,"xor.u       ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,XOR    ,i16bit,1,0,1,0,1,0,0,0,0,0,0} },
-  {0x48000000,"mask        ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,MASK   ,i16bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0x4c000000,"mask.u      ",{21,5,REG}  ,{16,5,REG}   ,{0,16,HEX}, {1,1,PINT,MASK   ,i16bit,1,0,1,0,1,0,0,0,0,0,0} },
-  {0xf400ec00,"ff0         ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {1,1,PINT,FF0         ,0,0,1,1,0,0,0,0,0,0,0,0} },
-  {0xf400e800,"ff1         ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {1,1,PINT,FF1         ,0,0,1,1,0,0,0,0,0,0,0,0} },
-  {0xf0008000,"clr         ",{21,5,REG}  ,{16,5,REG}   ,{0,10,BF} , {1,1,PINT,CLR    ,i10bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0xf0008800,"set         ",{21,5,REG}  ,{16,5,REG}   ,{0,10,BF} , {1,1,PINT,SET    ,i10bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0xf0009000,"ext         ",{21,5,REG}  ,{16,5,REG}   ,{0,10,BF} , {1,1,PINT,EXT    ,i10bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0xf0009800,"extu        ",{21,5,REG}  ,{16,5,REG}   ,{0,10,BF} , {1,1,PINT,EXTU   ,i10bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0xf000a000,"mak         ",{21,5,REG}  ,{16,5,REG}   ,{0,10,BF} , {1,1,PINT,MAK    ,i10bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0xf000a800,"rot         ",{21,5,REG}  ,{16,5,REG}   ,{0,10,BF} , {1,1,PINT,ROT    ,i10bit,1,0,1,0,0,0,0,0,0,0,0} },
-  {0xf4008000,"clr         ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,CLR         ,0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4008800,"set         ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,SET         ,0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4009000,"ext         ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,EXT         ,0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf4009800,"extu        ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,EXTU        ,0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf400a000,"mak         ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,MAK         ,0,1,1,1,0,0,0,0,0,0,0,0} },
-  {0xf400a800,"rot         ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {1,1,PINT,ROT         ,0,1,1,1,0,0,0,0,0,0,0,0} },
-
-  {0x84002800,"fadd.sss    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {5,1,PFLT,FADD        ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0x84002880,"fadd.ssd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FADD        ,0,1,1,1,0,0,0,1,0,0,1,0} },
-  {0x84002a00,"fadd.sds    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FADD        ,0,1,1,1,0,0,0,1,0,1,0,0} },
-  {0x84002a80,"fadd.sdd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FADD        ,0,1,1,1,0,0,0,1,0,1,1,0} },
-  {0x84002820,"fadd.dss    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FADD        ,0,1,1,1,0,0,0,1,1,0,0,0} },
-  {0x840028a0,"fadd.dsd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FADD        ,0,1,1,1,0,0,0,1,1,0,1,0} },
-  {0x84002a20,"fadd.dds    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FADD        ,0,1,1,1,0,0,0,1,1,1,0,0} },
-  {0x84002aa0,"fadd.ddd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FADD        ,0,1,1,1,0,0,0,1,1,1,1,0} },
-  {0x84003000,"fsub.sss    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {5,1,PFLT,FSUB        ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0x84003080,"fsub.ssd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FSUB        ,0,1,1,1,0,0,0,1,0,0,1,0} },
-  {0x84003200,"fsub.sds    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FSUB        ,0,1,1,1,0,0,0,1,0,1,0,0} },
-  {0x84003280,"fsub.sdd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FSUB        ,0,1,1,1,0,0,0,1,0,1,1,0} },
-  {0x84003020,"fsub.dss    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FSUB        ,0,1,1,1,0,0,0,1,1,0,0,0} },
-  {0x840030a0,"fsub.dsd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FSUB        ,0,1,1,1,0,0,0,1,1,0,1,0} },
-  {0x84003220,"fsub.dds    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FSUB        ,0,1,1,1,0,0,0,1,1,1,0,0} },
-  {0x840032a0,"fsub.ddd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,2,PFLT,FSUB        ,0,1,1,1,0,0,0,1,1,1,1,0} },
-  {0x84000000,"fmul.sss    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,1,PFLT,FMUL        ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0x84000080,"fmul.ssd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {9,2,PFLT,FMUL        ,0,1,1,1,0,0,0,1,0,0,1,0} },
-  {0x84000200,"fmul.sds    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {9,2,PFLT,FMUL        ,0,1,1,1,0,0,0,1,0,1,0,0} },
-  {0x84000280,"fmul.sdd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {9,2,PFLT,FMUL        ,0,1,1,1,0,0,0,1,0,1,1,0} },
-  {0x84000020,"fmul.dss    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {9,2,PFLT,FMUL        ,0,1,1,1,0,0,0,1,1,0,0,0} },
-  {0x840000a0,"fmul.dsd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {9,2,PFLT,FMUL        ,0,1,1,1,0,0,0,1,1,0,1,0} },
-  {0x84000220,"fmul.dds    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {9,2,PFLT,FMUL        ,0,1,1,1,0,0,0,1,1,1,0,0} },
-  {0x840002a0,"fmul.ddd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {9,2,PFLT,FMUL        ,0,1,1,1,0,0,0,1,1,1,1,0} },
-  {0x84007000,"fdiv.sss    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {30,30,PFLT,FDIV      ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0x84007080,"fdiv.ssd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {60,60,PFLT,FDIV      ,0,1,1,1,0,0,0,1,0,0,1,0} },
-  {0x84007200,"fdiv.sds    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {60,60,PFLT,FDIV      ,0,1,1,1,0,0,0,1,0,1,0,0} },
-  {0x84007280,"fdiv.sdd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {60,60,PFLT,FDIV      ,0,1,1,1,0,0,0,1,0,1,1,0} },
-  {0x84007020,"fdiv.dss    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {60,60,PFLT,FDIV      ,0,1,1,1,0,0,0,1,1,0,0,0} },
-  {0x840070a0,"fdiv.dsd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {60,60,PFLT,FDIV      ,0,1,1,1,0,0,0,1,1,0,1,0} },
-  {0x84007220,"fdiv.dds    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {60,60,PFLT,FDIV      ,0,1,1,1,0,0,0,1,1,1,0,0} },
-  {0x840072a0,"fdiv.ddd    ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {60,60,PFLT,FDIV      ,0,1,1,1,0,0,0,1,1,1,1,0} },
-  {0x84007800,"fsqrt.ss    ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {5,1,PFLT,FLT         ,0,0,1,1,0,0,0,1,0,0,0,0} },
-  {0x84007820,"fsqrt.sd    ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {5,1,PFLT,FLT         ,0,0,1,1,0,0,0,1,0,0,0,0} },
-  {0x84007880,"fsqrt.ds    ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {5,1,PFLT,FLT         ,0,0,1,1,0,0,0,1,0,0,0,0} },
-  {0x840078a0,"fsqrt.dd    ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {6,1,PFLT,FLT         ,0,0,1,1,0,0,0,1,1,0,0,0} },
-  {0x84003800,"fcmp.ss     ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {5,1,PFLT,FCMP        ,0,1,1,1,0,0,0,1,0,0,0,0} },
-  {0x84003880,"fcmp.sd     ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,1,PFLT,FCMP        ,0,1,1,1,0,0,0,1,0,1,0,0} },
-  {0x84003a00,"fcmp.ds     ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,1,PFLT,FCMP        ,0,1,1,1,0,0,0,1,1,0,0,0} },
-  {0x84003a80,"fcmp.dd     ",{21,5,REG}  ,{16,5,REG}   ,{0,5,REG} , {6,1,PFLT,FCMP        ,0,1,1,1,0,0,0,1,1,1,0,0} },
-  {0x84002000,"flt.s       ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {5,1,PFLT,FLT         ,0,0,1,1,0,0,0,1,0,0,0,0} },
-  {0x84002020,"flt.d       ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {6,1,PFLT,FLT         ,0,0,1,1,0,0,0,1,1,0,0,0} },
-  {0x84004800,"int.s       ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {5,1,PFLT,INT         ,0,0,1,1,0,0,0,1,0,0,0,0} },
-  {0x84004880,"int.d       ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {6,1,PFLT,INT         ,0,0,1,1,0,0,0,1,1,0,0,0} },
-  {0x84005000,"nint.s      ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {5,1,PFLT,INT         ,0,0,1,1,0,0,0,1,0,0,0,0} },
-  {0x84005080,"nint.d      ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {6,1,PFLT,INT         ,0,0,1,1,0,0,0,1,1,0,0,0} },
-  {0x84005800,"trnc.s      ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {5,1,PFLT,TRNC        ,0,0,1,1,0,0,0,1,0,0,0,0} },
-  {0x84005880,"trnc.d      ",{21,5,REG}  ,{0,5,REG}    ,NO_OPERAND   , {6,1,PFLT,TRNC        ,0,0,1,1,0,0,0,1,1,0,0,0} },
-
-  {0x80004800,"fldcr       ",{21,5,REG}  ,{5,6,FCRREG} ,NO_OPERAND   , {1,1,PFLT,FLDC        ,0,0,1,1,0,0,0,1,0,0,0,0} },
-  {0x80008800,"fstcr       ",{16,5,REG}  ,{5,6,FCRREG} ,NO_OPERAND   , {1,1,PFLT,FSTC        ,0,0,1,1,0,0,0,1,0,0,0,0} },
-  {0x8000c800,"fxcr        ",{21,5,REG}  ,{16,5,REG}   ,{5,6,FCRREG} , {1,1,PFLT,FXC         ,0,0,1,1,0,0,0,1,0,0,0,0} },
-
-/* The following are new for the 88110.  */
-
-  {0x8400aaa0,"fadd.ddd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400aa80,"fadd.dds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400aac0,"fadd.ddx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400aa20,"fadd.dsd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400aa00,"fadd.dss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400aa40,"fadd.dsx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ab20,"fadd.dxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ab00,"fadd.dxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ab40,"fadd.dxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400a8a0,"fadd.sdd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400a880,"fadd.sds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400a8c0,"fadd.sdx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400a820,"fadd.ssd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400a800,"fadd.sss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400a840,"fadd.ssx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400a920,"fadd.sxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400a900,"fadd.sxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400a940,"fadd.sxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400aca0,"fadd.xdd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ac80,"fadd.xds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400acc0,"fadd.xdx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ac20,"fadd.xsd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ac00,"fadd.xss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ac40,"fadd.xsx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ad20,"fadd.xxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ad00,"fadd.xxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ad40,"fadd.xxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x8400ba80,"fcmp.sdd    ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ba00,"fcmp.sds    ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400bb00,"fcmp.sdx    ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b880,"fcmp.ssd    ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b800,"fcmp.sss    ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b900,"fcmp.ssx    ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400bc80,"fcmp.sxd    ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400bc00,"fcmp.sxs    ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400bd00,"fcmp.sxx    ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x8400baa0,"fcmpu.sdd   ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400ba20,"fcmpu.sds   ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400bb20,"fcmpu.sdx   ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b8a0,"fcmpu.ssd   ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b820,"fcmpu.sss   ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b920,"fcmpu.ssx   ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400bca0,"fcmpu.sxd   ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400bc20,"fcmpu.sxs   ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400bd20,"fcmpu.sxx   ",{21,5,REG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x84000820,"fcvt.ds     ",{21,5,REG} ,{0,5,REG}  ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84000880,"fcvt.sd     ",{21,5,REG} ,{0,5,REG}  ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x84008880,"fcvt.sd     ",{21,5,XREG} ,{0,5,XREG}  ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x840088c0,"fcvt.xd     ",{21,5,XREG} ,{0,5,XREG}  ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008820,"fcvt.ds     ",{21,5,XREG} ,{0,5,XREG}  ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008840,"fcvt.xs     ",{21,5,XREG} ,{0,5,XREG}  ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008920,"fcvt.dx     ",{21,5,XREG} ,{0,5,XREG}  ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008900,"fcvt.sx     ",{21,5,XREG} ,{0,5,XREG}  ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x8400f2a0,"fdiv.ddd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f280,"fdiv.dds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f2c0,"fdiv.ddx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f220,"fdiv.dsd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f200,"fdiv.dss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f240,"fdiv.dsx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f320,"fdiv.dxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f300,"fdiv.dxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f340,"fdiv.dxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f0a0,"fdiv.sdd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f080,"fdiv.sds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f0c0,"fdiv.sdx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f020,"fdiv.ssd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f000,"fdiv.sss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f040,"fdiv.ssx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f120,"fdiv.sxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f100,"fdiv.sxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f140,"fdiv.sxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f4a0,"fdiv.xdd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f480,"fdiv.xds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f4c0,"fdiv.xdx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f420,"fdiv.xsd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f400,"fdiv.xss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f440,"fdiv.xsx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f520,"fdiv.xxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f500,"fdiv.xxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f540,"fdiv.xxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x84002220,"flt.ds      ",{21,5,XREG} ,{0,5,REG}  ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84002200,"flt.ss      ",{21,5,XREG} ,{0,5,REG}  ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84002240,"flt.xs      ",{21,5,XREG} ,{0,5,REG}  ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x840082a0,"fmul.ddd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008280,"fmul.dds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x840082c0,"fmul.ddx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008220,"fmul.dsd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008200,"fmul.dss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008240,"fmul.dsx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008320,"fmul.dxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008300,"fmul.dxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008340,"fmul.dxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x840080a0,"fmul.sdd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008080,"fmul.sds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x840080c0,"fmul.sdx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008020,"fmul.ssd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008000,"fmul.sss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008040,"fmul.ssx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008120,"fmul.sxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008100,"fmul.sxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008140,"fmul.sxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x840084a0,"fmul.xdd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008480,"fmul.xds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x840084c0,"fmul.xdx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008420,"fmul.xsd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008400,"fmul.xss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008440,"fmul.xsx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008520,"fmul.xxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008500,"fmul.xxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84008540,"fmul.xxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x8400f8a0,"fsqrt.dd    ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f880,"fsqrt.ds    ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f8c0,"fsqrt.dx    ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f820,"fsqrt.sd    ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f800,"fsqrt.ss    ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f840,"fsqrt.sx    ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f920,"fsqrt.xd    ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f900,"fsqrt.xs    ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400f940,"fsqrt.xx    ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x8400b2a0,"fsub.ddd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b280,"fsub.dds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b2c0,"fsub.ddx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b220,"fsub.dsd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b200,"fsub.dss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b240,"fsub.dsx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b320,"fsub.dxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b300,"fsub.dxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b340,"fsub.dxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b0a0,"fsub.sdd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b080,"fsub.sds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b0c0,"fsub.sdx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b020,"fsub.ssd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b000,"fsub.sss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b040,"fsub.ssx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b120,"fsub.sxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b100,"fsub.sxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b140,"fsub.sxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b4a0,"fsub.xdd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b480,"fsub.xds    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b4c0,"fsub.xdx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b420,"fsub.xsd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b400,"fsub.xss    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b440,"fsub.xsx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b520,"fsub.xxd    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b500,"fsub.xxs    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400b540,"fsub.xxx    ",{21,5,XREG} ,{16,5,XREG}  ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x8400fc00,"illop", {0,2,DEC}, NO_OPERAND, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x8400c800,"int.ss      ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400c880,"int.sd      ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400c900,"int.sx      ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x04000000,"ld          ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x00000000,"ld.d        ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x3c000000,"ld.x        ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0xf0001400,"ld          ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0001000,"ld.d        ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0001800,"ld.x        ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0001500,"ld.usr      ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0001100,"ld.d.usr    ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0001900,"ld.x.usr    ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0xf0001600,"ld          ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0001200,"ld.d        ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0001a00,"ld.x        ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0001700,"ld.usr      ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0001300,"ld.d.usr    ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0001b00,"ld.x.usr    ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x8400c000,"mov.s       ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400c080,"mov.d       ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84004200,"mov.s       ", {21,5,XREG}, {0,5,REG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x84004280,"mov.d       ", {21,5,XREG}, {0,5,REG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400c300,"mov         ", {21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0xf4006d00,"mulu.d      ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x8400d080,"nint.sd     ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400d000,"nint.ss     ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400d100,"nint.sx     ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x88002020,"padd.b      ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88002040,"padd.h      ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88002060,"padd        ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x880021e0,"padds.s     ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x880021a0,"padds.s.b   ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x880021c0,"padds.s.h   ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x880020e0,"padds.u     ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x880020a0,"padds.u.b   ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x880020c0,"padds.u.h   ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88002160,"padds.us    ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88002120,"padds.us.b  ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88002140,"padds.us.h  ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x88003860,"pcmp        ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x88000000,"pmul        ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x88006260,"ppack.16    ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88006240,"ppack.16.h  ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88006460,"ppack.32    ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88006420,"ppack.32.b  ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88006440,"ppack.32.h  ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88006160,"ppack.8     ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x88007200,"prot        ", {21,5,REG}, {16,5,REG}, {5,6,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88007800,"prot        ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x88003020,"psub.b      ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88003040,"psub.h      ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88003060,"psub        ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x880031e0,"psubs.s     ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x880031a0,"psubs.s.b   ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x880031c0,"psubs.s.h   ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x880030e0,"psubs.u     ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x880030a0,"psubs.u.b   ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x880030c0,"psubs.u.h   ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88003160,"psubs.us    ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88003120,"psubs.us.b  ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88003140,"psubs.us.h  ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x88006800,"punpk.n     ", {21,5,REG}, {16,5,REG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x88006820,"punpk.b     ", {21,5,REG}, {16,5,REG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x34000000,"st          ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x30000000,"st.d        ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x38000000,"st.x        ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0xf4002c80,"st.b.wt     ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002880,"st.h.wt     ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002480,"st.wt       ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002080,"st.d.wt     ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002d80,"st.b.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002980,"st.h.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002580,"st.usr.wt   ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002180,"st.d.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0xf0002400,"st          ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002000,"st.d        ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002100,"st.d.usr    ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002180,"st.d.usr.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002080,"st.d.wt     ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002500,"st.usr      ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002580,"st.usr.wt   ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002480,"st.wt       ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002800,"st.x        ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002900,"st.x.usr    ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002980,"st.x.usr.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002880,"st.x.wt     ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0xf4002f80,"st.b.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002e80,"st.b.wt     ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002380,"st.d.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002280,"st.d.wt     ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002b80,"st.h.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002a80,"st.h.wt     ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002780,"st.usr.wt   ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf4002680,"st.wt       ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0xf0002600,"st          ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002200,"st.d        ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002300,"st.d.usr    ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002380,"st.d.usr.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002280,"st.d.wt     ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002700,"st.usr      ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002780,"st.usr.wt   ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002680,"st.wt       ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002a00,"st.x        ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002b00,"st.x.usr    ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002b80,"st.x.usr.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0xf0002a80,"st.x.wt     ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-  {0x8400d880,"trnc.sd     ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400d800,"trnc.ss     ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-  {0x8400d900,"trnc.sx     ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
-
-};
-
-HASHTAB  *hashtable[HASHVAL] = {0};
-
-
-/* Initialize the disassembler instruction table.
-
-   Initialize the hash table and instruction table for the
-   disassembler.  This should be called once before the first call to
-   disasm().  */
-
-static void
-init_disasm (void)
-{
-  unsigned int hashvalue, hashsize;
-  struct HASHTAB *hashentries;
-  unsigned int i;
-
-  hashsize = sizeof (instructions) / sizeof (INSTAB);
-
-  hashentries = xmalloc (hashsize * sizeof (struct HASHTAB));
-
-  for (i = 0; i < HASHVAL; i++)
-    hashtable[i] = NULL;
-
-  for (i = 0; i < hashsize; i++)
-    {
-      hashvalue = (instructions[i].opcode) % HASHVAL;
-      hashentries[i].instr = &instructions[i];
-      hashentries[i].next = hashtable[hashvalue];
-      hashtable[hashvalue] = &hashentries[i];
-    }
-}
-
-/* Decode an Operand of an instruction.
-
-   This function formats and writes an operand of an instruction to
-   info based on the operand specification.  When the `first' flag is
-   set this is the first operand of an instruction.  Undefined operand
-   types cause a <dis error> message.
-
-   Parameters:
-    disassemble_info	where the operand may be printed
-    OPSPEC  *opptr      pointer to an operand specification
-    UINT    inst        instruction from which operand is extracted
-    UINT    pc		pc of instruction; used for pc-relative disp.
-    int     first       flag which if nonzero indicates the first
-                        operand of an instruction
-
-   The operand specified is extracted from the instruction and is
-   written to buf in the format specified. The operand is preceded by
-   a comma if it is not the first operand of an instruction and it is
-   not a register indirect form.  Registers are preceded by 'r' and
-   hex values by '0x'.  */
-
-static void
-printop (struct disassemble_info *info,
-	 const OPSPEC *opptr,
-	 unsigned long inst,
-	 bfd_vma pc,
-	 int first)
-{
-  int extracted_field;
-  char *cond_mask_sym;
-
-  if (opptr->width == 0)
-    return;
-
-  if (! first)
-    {
-      switch (opptr->type)
-	{
-	case REGSC:
-	case CONT:
-	  break;
-	default:
-	  (*info->fprintf_func) (info->stream, ",");
-	  break;
-	}
-    }
-
-  switch (opptr->type)
-    {
-    case CRREG:
-      (*info->fprintf_func) (info->stream, "cr%d",
-			     UEXT (inst, opptr->offset, opptr->width));
-      break;
-
-    case FCRREG:
-      (*info->fprintf_func) (info->stream, "fcr%d",
-			     UEXT (inst, opptr->offset, opptr->width));
-      break;
-
-    case REGSC:
-      (*info->fprintf_func) (info->stream, "[r%d]",
-			     UEXT (inst, opptr->offset, opptr->width));
-      break;
-
-    case REG:
-      (*info->fprintf_func) (info->stream, "r%d",
-			     UEXT (inst, opptr->offset, opptr->width));
-      break;
-
-    case XREG:
-      (*info->fprintf_func) (info->stream, "x%d",
-			     UEXT (inst, opptr->offset, opptr->width));
-      break;
-
-    case HEX:
-      extracted_field = UEXT (inst, opptr->offset, opptr->width);
-      if (extracted_field == 0)
-	(*info->fprintf_func) (info->stream, "0");
-      else
-	(*info->fprintf_func) (info->stream, "0x%02x", extracted_field);
-      break;
-
-    case DEC:
-      extracted_field = UEXT (inst, opptr->offset, opptr->width);
-      (*info->fprintf_func) (info->stream, "%d", extracted_field);
-      break;
-
-    case CONDMASK:
-      extracted_field = UEXT (inst, opptr->offset, opptr->width);
-      switch (extracted_field & 0x0f)
-	{
-	case 0x1: cond_mask_sym = "gt0"; break;
-	case 0x2: cond_mask_sym = "eq0"; break;
-	case 0x3: cond_mask_sym = "ge0"; break;
-	case 0xc: cond_mask_sym = "lt0"; break;
-	case 0xd: cond_mask_sym = "ne0"; break;
-	case 0xe: cond_mask_sym = "le0"; break;
-	default: cond_mask_sym = NULL; break;
-	}
-      if (cond_mask_sym != NULL)
-	(*info->fprintf_func) (info->stream, "%s", cond_mask_sym);
-      else
-	(*info->fprintf_func) (info->stream, "%x", extracted_field);
-      break;
-
-    case PCREL:
-      (*info->print_address_func)
-	(pc + (4 * (SEXT (inst, opptr->offset, opptr->width))),
-	 info);
-      break;
-
-    case CONT:
-      (*info->fprintf_func) (info->stream, "%d,r%d",
-			     UEXT (inst, opptr->offset, 5),
-			     UEXT (inst, (opptr->offset) + 5, 5));
-      break;
-
-    case BF:
-      (*info->fprintf_func) (info->stream, "%d<%d>",
-			     UEXT (inst, (opptr->offset) + 5, 5),
-			     UEXT (inst, opptr->offset, 5));
-      break;
-
-    default:
-      /* xgettext:c-format */
-      (*info->fprintf_func) (info->stream, _("# <dis error: %08lx>"), inst);
-    }
-}
-
-/* Disassemble the instruction in `instruction'.
-   `pc' should be the address of this instruction, it will be used to
-   print the target address if this is a relative jump or call the
-   disassembled instruction is written to `info'.
-
-   The function returns the length of this instruction in bytes.  */
-
-static int
-m88kdis (bfd_vma pc,
-	 unsigned long instruction,
-	 struct disassemble_info *info)
-{
-  static int ihashtab_initialized = 0;
-  unsigned int opcode;
-  const HASHTAB *entry_ptr;
-  int opmask;
-  unsigned int in_class;
-
-  if (! ihashtab_initialized)
-    {
-      init_disasm ();
-      ihashtab_initialized = 1;
-    }
-
-  /* Create the appropriate mask to isolate the opcode.  */
-  opmask = DEFMASK;
-  in_class = instruction & DEFMASK;
-  if ((in_class >= SFU0) && (in_class <= SFU7))
-    {
-      if (instruction < SFU1)
-	opmask = CTRLMASK;
-      else
-	opmask = SFUMASK;
-    }
-  else if (in_class == RRR)
-    opmask = RRRMASK;
-  else if (in_class == RRI10)
-    opmask = RRI10MASK;
-
-  /* Isolate the opcode.  */
-  opcode = instruction & opmask;
-
-  /* Search the hash table with the isolated opcode.  */
-  for (entry_ptr = hashtable[opcode % HASHVAL];
-       (entry_ptr != NULL) && (entry_ptr->instr->opcode != opcode);
-       entry_ptr = entry_ptr->next)
-    ;
-
-  if (entry_ptr == NULL)
-    (*info->fprintf_func) (info->stream, "word\t%08lx", instruction);
-  else
-    {
-      (*info->fprintf_func) (info->stream, "%s", entry_ptr->instr->mnemonic);
-      printop (info, &(entry_ptr->instr->op1), instruction, pc, 1);
-      printop (info, &(entry_ptr->instr->op2), instruction, pc, 0);
-      printop (info, &(entry_ptr->instr->op3), instruction, pc, 0);
-    }
-
-  return 4;
-}
-
-/* Disassemble an M88000 instruction at `memaddr'.  */
-
-int
-print_insn_m88k (bfd_vma memaddr, struct disassemble_info *info)
-{
-  bfd_byte buffer[4];
-  int status;
-
-  /* Instruction addresses may have low two bits set. Clear them.  */
-  memaddr &=~ (bfd_vma) 3;
-
-  status = (*info->read_memory_func) (memaddr, buffer, 4, info);
-  if (status != 0)
-    {
-      (*info->memory_error_func) (status, memaddr, info);
-      return -1;
-    }
-
-  return m88kdis (memaddr, bfd_getb32 (buffer), info);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/Makefile.am ./opcodes/Makefile.am
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/Makefile.am	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/Makefile.am	2018-07-10 02:06:14.000000000 +0000
@@ -17,7 +17,7 @@
 # <http://www.gnu.org/licenses/>.
 #
 
-AUTOMAKE_OPTIONS = 1.11 foreign no-dist
+AUTOMAKE_OPTIONS = foreign no-dist
 ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
 
 # Build '.' first so all generated files exist.
@@ -63,7 +63,6 @@ HFILES = \
 	epiphany-desc.h epiphany-opc.h \
 	fr30-desc.h fr30-opc.h \
 	frv-desc.h frv-opc.h \
-	h8500-opc.h \
 	i386-init.h \
 	i386-opc.h \
 	i386-tbl.h \
@@ -81,9 +80,7 @@ HFILES = \
 	mt-desc.h mt-opc.h \
 	score-opc.h \
 	sh-opc.h \
-	sh64-opc.h \
 	sysdep.h \
-	w65-opc.h \
 	xc16x-desc.h xc16x-opc.h \
 	xstormy16-desc.h xstormy16-opc.h \
 	z8k-opc.h
@@ -138,14 +135,9 @@ TARGET_LIBOPCODES_CFILES = \
 	ft32-dis.c \
 	ft32-opc.c \
 	h8300-dis.c \
-	h8500-dis.c \
 	hppa-dis.c \
-	i370-dis.c \
-	i370-opc.c \
 	i386-dis.c \
 	i386-opc.c \
-	i860-dis.c \
-	i960-dis.c \
 	ia64-dis.c \
 	ia64-opc.c \
 	ip2k-asm.c \
@@ -183,7 +175,7 @@ TARGET_LIBOPCODES_CFILES = \
 	m68hc11-opc.c \
 	m68k-dis.c \
 	m68k-opc.c \
-	m88k-dis.c \
+	s12z-dis.c \
 	mcore-dis.c \
 	mep-asm.c \
 	mep-desc.c \
@@ -209,6 +201,7 @@ TARGET_LIBOPCODES_CFILES = \
 	mt-opc.c \
 	nds32-asm.c \
 	nds32-dis.c \
+	nfp-dis.c \
 	nios2-dis.c \
 	nios2-opc.c \
 	ns32k-dis.c \
@@ -236,8 +229,6 @@ TARGET_LIBOPCODES_CFILES = \
 	score-dis.c \
 	score7-dis.c \
 	sh-dis.c \
-	sh64-dis.c \
-	sh64-opc.c \
 	sparc-dis.c \
 	sparc-opc.c \
 	spu-dis.c \
@@ -258,7 +249,6 @@ TARGET_LIBOPCODES_CFILES = \
 	vax-dis.c \
 	visium-dis.c \
 	visium-opc.c \
-	w65-dis.c \
 	wasm32-dis.c \
 	xc16x-asm.c \
 	xc16x-desc.c \
@@ -471,7 +461,7 @@ stamp-lm32: $(CGENDEPS) $(CPUDIR)/lm32.c
 		extrafiles=opinst
 
 $(srcdir)/m32c-desc.h $(srcdir)/m32c-desc.c $(srcdir)/m32c-opc.h $(srcdir)/m32c-opc.c $(srcdir)/m32c-ibld.c $(srcdir)/m32c-asm.c $(srcdir)/m32c-dis.c: $(M32C_DEPS)
-#	@true
+	@true
 stamp-m32c: $(CGENDEPS) $(CPUDIR)/m32c.cpu $(CPUDIR)/m32c.opc
 	$(MAKE) run-cgen arch=m32c prefix=m32c options= \
 		archfile=$(CPUDIR)/m32c.cpu \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/Makefile.in ./opcodes/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/Makefile.in	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/Makefile.in	2018-07-10 02:06:14.000000000 +0000
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -36,23 +35,61 @@
 
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -74,10 +111,6 @@ host_triplet = @host@
 target_triplet = @target@
 @INSTALL_LIBBFD_FALSE@am__append_1 = -rpath $(rpath_bfdlibdir)
 subdir = .
-DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/configure $(am__configure_deps) \
-	$(srcdir)/config.in $(srcdir)/../mkinstalldirs \
-	$(top_srcdir)/po/Make-in $(srcdir)/../depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../bfd/acinclude.m4 \
 	$(top_srcdir)/../bfd/warning.m4 $(top_srcdir)/../config/acx.m4 \
@@ -95,6 +128,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../b
 	$(top_srcdir)/../bfd/version.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
@@ -103,6 +138,10 @@ CONFIG_CLEAN_FILES = po/Makefile.in
 CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
 libopcodes_a_AR = $(AR) $(ARFLAGS)
 libopcodes_a_LIBADD =
 am_libopcodes_a_OBJECTS =
@@ -140,33 +179,59 @@ LTLIBRARIES = $(bfdlib_LTLIBRARIES) $(no
 am__DEPENDENCIES_1 =
 am_libopcodes_la_OBJECTS = dis-buf.lo disassemble.lo dis-init.lo
 libopcodes_la_OBJECTS = $(am_libopcodes_la_OBJECTS)
-libopcodes_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+libopcodes_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(libopcodes_la_LDFLAGS) $(LDFLAGS) -o $@
 @INSTALL_LIBBFD_FALSE@am_libopcodes_la_rpath =
 @INSTALL_LIBBFD_TRUE@am_libopcodes_la_rpath = -rpath $(bfdlibdir)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/../depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(libopcodes_a_SOURCES) $(libopcodes_la_SOURCES) \
 	$(EXTRA_libopcodes_la_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-	html-recursive info-recursive install-data-recursive \
-	install-dvi-recursive install-exec-recursive \
-	install-html-recursive install-info-recursive \
-	install-pdf-recursive install-ps-recursive install-recursive \
-	installcheck-recursive installdirs-recursive pdf-recursive \
-	ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -175,13 +240,37 @@ am__can_run_installinfo = \
 DATA = $(bfdinclude_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	cscope
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+	$(LISP)config.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -334,7 +423,7 @@ target_vendor = @target_vendor@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.11 foreign no-dist
+AUTOMAKE_OPTIONS = foreign no-dist
 ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
 
 # Build '.' first so all generated files exist.
@@ -364,7 +453,6 @@ HFILES = \
 	epiphany-desc.h epiphany-opc.h \
 	fr30-desc.h fr30-opc.h \
 	frv-desc.h frv-opc.h \
-	h8500-opc.h \
 	i386-init.h \
 	i386-opc.h \
 	i386-tbl.h \
@@ -382,9 +470,7 @@ HFILES = \
 	mt-desc.h mt-opc.h \
 	score-opc.h \
 	sh-opc.h \
-	sh64-opc.h \
 	sysdep.h \
-	w65-opc.h \
 	xc16x-desc.h xc16x-opc.h \
 	xstormy16-desc.h xstormy16-opc.h \
 	z8k-opc.h
@@ -440,14 +526,9 @@ TARGET_LIBOPCODES_CFILES = \
 	ft32-dis.c \
 	ft32-opc.c \
 	h8300-dis.c \
-	h8500-dis.c \
 	hppa-dis.c \
-	i370-dis.c \
-	i370-opc.c \
 	i386-dis.c \
 	i386-opc.c \
-	i860-dis.c \
-	i960-dis.c \
 	ia64-dis.c \
 	ia64-opc.c \
 	ip2k-asm.c \
@@ -485,7 +566,7 @@ TARGET_LIBOPCODES_CFILES = \
 	m68hc11-opc.c \
 	m68k-dis.c \
 	m68k-opc.c \
-	m88k-dis.c \
+	s12z-dis.c \
 	mcore-dis.c \
 	mep-asm.c \
 	mep-desc.c \
@@ -511,6 +592,7 @@ TARGET_LIBOPCODES_CFILES = \
 	mt-opc.c \
 	nds32-asm.c \
 	nds32-dis.c \
+	nfp-dis.c \
 	nios2-dis.c \
 	nios2-opc.c \
 	ns32k-dis.c \
@@ -538,8 +620,6 @@ TARGET_LIBOPCODES_CFILES = \
 	score-dis.c \
 	score7-dis.c \
 	sh-dis.c \
-	sh64-dis.c \
-	sh64-opc.c \
 	sparc-dis.c \
 	sparc-opc.c \
 	spu-dis.c \
@@ -560,7 +640,6 @@ TARGET_LIBOPCODES_CFILES = \
 	vax-dis.c \
 	visium-dis.c \
 	visium-opc.c \
-	w65-dis.c \
 	wasm32-dis.c \
 	xc16x-asm.c \
 	xc16x-desc.c \
@@ -710,7 +789,6 @@ am--refresh: Makefile
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -731,8 +809,8 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-	@if test ! -f $@; then rm -f stamp-h1; else :; fi
-	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+	@test -f $@ || rm -f stamp-h1
+	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
 
 stamp-h1: $(srcdir)/config.in $(top_builddir)/config.status
 	@rm -f stamp-h1
@@ -749,6 +827,7 @@ po/Makefile.in: $(top_builddir)/config.s
 
 clean-noinstLIBRARIES:
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
 install-bfdlibLTLIBRARIES: $(bfdlib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	@list='$(bfdlib_LTLIBRARIES)'; test -n "$(bfdlibdir)" || list=; \
@@ -775,23 +854,28 @@ uninstall-bfdlibLTLIBRARIES:
 
 clean-bfdlibLTLIBRARIES:
 	-test -z "$(bfdlib_LTLIBRARIES)" || rm -f $(bfdlib_LTLIBRARIES)
-	@list='$(bfdlib_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(bfdlib_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 
 clean-noinstLTLIBRARIES:
 	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(noinst_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
+
 libopcodes.la: $(libopcodes_la_OBJECTS) $(libopcodes_la_DEPENDENCIES) $(EXTRA_libopcodes_la_DEPENDENCIES) 
-	$(libopcodes_la_LINK) $(am_libopcodes_la_rpath) $(libopcodes_la_OBJECTS) $(libopcodes_la_LIBADD) $(LIBS)
+	$(AM_V_CCLD)$(libopcodes_la_LINK) $(am_libopcodes_la_rpath) $(libopcodes_la_OBJECTS) $(libopcodes_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -849,14 +933,9 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ft32-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ft32-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h8300-dis.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h8500-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hppa-dis.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i370-dis.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i370-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386-opc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i860-dis.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i960-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ip2k-asm.Plo@am__quote@
@@ -894,7 +973,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68hc11-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68k-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68k-opc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m88k-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mcore-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mep-asm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mep-desc.Plo@am__quote@
@@ -920,6 +998,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mt-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nds32-asm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nds32-dis.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nfp-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nios2-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nios2-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ns32k-dis.Plo@am__quote@
@@ -942,13 +1021,12 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rl78-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rx-decode.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rx-dis.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s12z-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/score-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/score7-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sh-dis.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sh64-dis.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sh64-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparc-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparc-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spu-dis.Plo@am__quote@
@@ -969,7 +1047,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vax-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/visium-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/visium-opc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w65-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wasm32-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xc16x-asm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xc16x-desc.Plo@am__quote@
@@ -988,25 +1065,25 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/z8k-dis.Plo@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
-@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1039,22 +1116,25 @@ uninstall-bfdincludeDATA:
 	dir='$(DESTDIR)$(bfdincludedir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -1069,57 +1149,12 @@ uninstall-bfdincludeDATA:
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-ctags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-	done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1135,12 +1170,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCE
 	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
-	list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	$(am__define_uniq_tagged_files); \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -1152,15 +1182,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCE
 	      $$unique; \
 	  fi; \
 	fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -1169,9 +1195,31 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+	test ! -s cscope.files \
+	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+	-rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 check-am: all-am
 check: check-recursive
 all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) config.h
@@ -1287,16 +1335,15 @@ ps-am:
 
 uninstall-am: uninstall-bfdincludeDATA uninstall-bfdlibLTLIBRARIES
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-	ctags-recursive install-am install-strip tags-recursive
+.MAKE: $(am__recursive_targets) all install-am install-strip
 
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-	all all-am am--refresh check check-am clean \
-	clean-bfdlibLTLIBRARIES clean-generic clean-libtool \
-	clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \
-	ctags-recursive distclean distclean-compile distclean-generic \
-	distclean-hdr distclean-libtool distclean-tags dvi dvi-am html \
-	html-am info info-am install install-am install-bfdincludeDATA \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+	am--refresh check check-am clean clean-bfdlibLTLIBRARIES \
+	clean-cscope clean-generic clean-libtool clean-noinstLIBRARIES \
+	clean-noinstLTLIBRARIES cscope cscopelist-am ctags ctags-am \
+	distclean distclean-compile distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags dvi dvi-am html html-am info \
+	info-am install install-am install-bfdincludeDATA \
 	install-bfdlibLTLIBRARIES install-data install-data-am \
 	install-dvi install-dvi-am install-exec install-exec-am \
 	install-html install-html-am install-info install-info-am \
@@ -1305,8 +1352,10 @@ uninstall-am: uninstall-bfdincludeDATA u
 	installdirs installdirs-am maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-recursive uninstall uninstall-am \
-	uninstall-bfdincludeDATA uninstall-bfdlibLTLIBRARIES
+	tags tags-am uninstall uninstall-am uninstall-bfdincludeDATA \
+	uninstall-bfdlibLTLIBRARIES
+
+.PRECIOUS: Makefile
 
 
 disassemble.lo: disassemble.c
@@ -1393,7 +1442,7 @@ stamp-lm32: $(CGENDEPS) $(CPUDIR)/lm32.c
 		extrafiles=opinst
 
 $(srcdir)/m32c-desc.h $(srcdir)/m32c-desc.c $(srcdir)/m32c-opc.h $(srcdir)/m32c-opc.c $(srcdir)/m32c-ibld.c $(srcdir)/m32c-asm.c $(srcdir)/m32c-dis.c: $(M32C_DEPS)
-#	@true
+	@true
 stamp-m32c: $(CGENDEPS) $(CPUDIR)/m32c.cpu $(CPUDIR)/m32c.opc
 	$(MAKE) run-cgen arch=m32c prefix=m32c options= \
 		archfile=$(CPUDIR)/m32c.cpu \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mep-asm.c ./opcodes/mep-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mep-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mep-asm.c	2018-07-10 02:06:15.000000000 +0000
@@ -1284,7 +1284,9 @@ mep_cgen_parse_operand (CGEN_CPU_DESC cd
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mep-desc.c ./opcodes/mep-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mep-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mep-desc.c	2018-07-10 02:06:15.000000000 +0000
@@ -6056,6 +6056,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -6216,8 +6221,11 @@ mep_cgen_rebuild_tables (CGEN_CPU_TABLE 
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: mep_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -6296,8 +6304,11 @@ mep_cgen_cpu_open (enum cgen_cpu_open_ar
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "mep_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: mep_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -6312,7 +6323,9 @@ mep_cgen_cpu_open (enum cgen_cpu_open_ar
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "mep_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: mep_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mep-dis.c ./opcodes/mep-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mep-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mep-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -1184,9 +1184,10 @@ mep_cgen_print_operand (CGEN_CPU_DESC cd
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mep-ibld.c ./opcodes/mep-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mep-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mep-ibld.c	2018-07-10 02:06:15.000000000 +0000
@@ -1209,8 +1209,9 @@ mep_cgen_insert_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -1808,8 +1809,9 @@ mep_cgen_extract_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -2278,8 +2280,9 @@ mep_cgen_get_int_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -2730,8 +2733,9 @@ mep_cgen_get_vma_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -3143,8 +3147,9 @@ mep_cgen_set_int_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -3546,8 +3551,9 @@ mep_cgen_set_vma_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/metag-dis.c ./opcodes/metag-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/metag-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/metag-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -1762,7 +1762,11 @@ print_fmmov (unsigned int insn_word, bfd
 	    const insn_template *template,
 	    disassemble_info *outf)
 {
-  char buf[OPERAND_WIDTH];
+  /* We used to have buf[OPERAND_WIDTH] here, but gcc v8 complains
+     about the snprintf()s below possibly truncating the output.
+     (There is no way to tell gcc that this truncation is intentional).
+     So now we use an extra wide buffer.  */
+  char buf[OPERAND_WIDTH * 2];
   char data_buf[REG_WIDTH];
   char fpu_buf[REG_WIDTH];
   bfd_boolean to_fpu = MAJOR_OPCODE (insn_word) == OPC_GET;
@@ -1783,9 +1787,9 @@ print_fmmov (unsigned int insn_word, bfd
 		   convert_fx_rmask (rmask), is_mmovl);
 
   if (to_fpu)
-    snprintf (buf, OPERAND_WIDTH, "%s,%s", fpu_buf, data_buf);
+    snprintf (buf, sizeof buf, "%s,%s", fpu_buf, data_buf);
   else
-    snprintf (buf, OPERAND_WIDTH, "%s,%s", data_buf, fpu_buf);
+    snprintf (buf, sizeof buf, "%s,%s", data_buf, fpu_buf);
 
   print_insn (outf, "F", template->name, buf);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mips16-opc.c ./opcodes/mips16-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mips16-opc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mips16-opc.c	2018-07-10 02:06:15.000000000 +0000
@@ -62,7 +62,6 @@ decode_mips16_operand (char type, bfd_bo
 
     case 'G': SPECIAL (0, 0, REG28);
     case 'L': SPECIAL (6, 5, ENTRY_EXIT_LIST);
-    case 'M': SPECIAL (7, 0, SAVE_RESTORE_LIST);
     case 'N': REG (5, 0, COPRO);
     case 'O': UINT (3, 21);
     case 'Q': REG (5, 16, HW);
@@ -445,7 +444,7 @@ const struct mips_opcode mips16_opcodes[
 {"xor",	    "x,y",	0xe80e, 0xf81f,		MOD_1|RD_2,		SH,		I1,	0,	0 },
 {"xori",    "x,u",	0xf0006880, 0xf800f8e0,	WR_1,			0,		0,	E2,	0 },
   /* MIPS16e additions; see above for compact jumps.  */
-{"restore", "M",	0x6400, 0xff80,		WR_31|NODS,		MOD_SP,		I32,	0,	0 },
+{"restore", "m",	0x6400, 0xff80,		WR_31|NODS,		MOD_SP,		I32,	0,	0 },
 {"save",    "m",	0x6480, 0xff80,		NODS,			RD_31|MOD_SP,	I32,	0,	0 },
 {"sdbbp",   "",		0xe801, 0xffff,		TRAP,			SH,		I32,	0,	0 },
 {"sdbbp",   "6",	0xe801, 0xf81f,		TRAP,			SH,		I32,	0,	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.1.0.20180703/opcodes/mips-dis.c ./opcodes/mips-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mips-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mips-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -563,7 +563,7 @@ const struct mips_arch_choice mips_arch_
   { "mips32r6",	1, bfd_mach_mipsisa32r6, CPU_MIPS32R6,
     ISA_MIPS32R6,
     (ASE_EVA | ASE_MSA | ASE_VIRT | ASE_XPA | ASE_MCU | ASE_MT | ASE_DSP
-     | ASE_DSPR2 | ASE_DSPR3),
+     | ASE_DSPR2 | ASE_DSPR3 | ASE_CRC | ASE_GINV),
     mips_cp0_names_mips3264r2,
     mips_cp0sel_names_mips3264r2, ARRAY_SIZE (mips_cp0sel_names_mips3264r2),
     mips_cp1_names_mips3264, mips_hwr_names_mips3264r2 },
@@ -602,7 +602,8 @@ const struct mips_arch_choice mips_arch_
   { "mips64r6",	1, bfd_mach_mipsisa64r6, CPU_MIPS64R6,
     ISA_MIPS64R6,
     (ASE_EVA | ASE_MSA | ASE_MSA64 | ASE_XPA | ASE_VIRT | ASE_VIRT64
-     | ASE_MCU | ASE_MT | ASE_DSP | ASE_DSPR2 | ASE_DSPR3),
+     | ASE_MCU | ASE_MT | ASE_DSP | ASE_DSPR2 | ASE_DSPR3 | ASE_CRC
+     | ASE_CRC64 | ASE_GINV),
     mips_cp0_names_mips3264r2,
     mips_cp0sel_names_mips3264r2, ARRAY_SIZE (mips_cp0sel_names_mips3264r2),
     mips_cp1_names_mips3264, mips_hwr_names_mips3264r2 },
@@ -928,6 +929,12 @@ parse_mips_ase_option (const char *optio
       return TRUE;
     }
 
+  if (CONST_STRNEQ (option, "ginv"))
+    {
+      mips_ase |= ASE_GINV;
+      return TRUE;
+    }
+
   return FALSE;
 }
 
@@ -2545,68 +2552,178 @@ print_insn_little_mips (bfd_vma memaddr,
   return _print_insn_mips (memaddr, info, BFD_ENDIAN_LITTLE);
 }
 
+/* Indices into option argument vector for options accepting an argument.
+   Use MIPS_OPTION_ARG_NONE for options accepting no argument.  */
+typedef enum
+{
+  MIPS_OPTION_ARG_NONE = -1,
+  MIPS_OPTION_ARG_ABI,
+  MIPS_OPTION_ARG_ARCH,
+  MIPS_OPTION_ARG_SIZE
+} mips_option_arg_t;
+
+/* Valid MIPS disassembler options.  */
+static struct
+{
+  const char *name;
+  const char *description;
+  mips_option_arg_t arg;
+} mips_options[] =
+{
+  { "no-aliases", N_("Use canonical instruction forms.\n"),
+		  MIPS_OPTION_ARG_NONE },
+  { "msa",        N_("Recognize MSA instructions.\n"),
+		  MIPS_OPTION_ARG_NONE },
+  { "virt",       N_("Recognize the virtualization ASE instructions.\n"),
+		  MIPS_OPTION_ARG_NONE },
+  { "xpa",        N_("Recognize the eXtended Physical Address (XPA) ASE\n\
+                  instructions.\n"),
+		  MIPS_OPTION_ARG_NONE },
+  { "ginv",       N_("Recognize the Global INValidate (GINV) ASE "
+		     "instructions.\n"),
+		  MIPS_OPTION_ARG_NONE },
+  { "gpr-names=", N_("Print GPR names according to specified ABI.\n\
+                  Default: based on binary being disassembled.\n"),
+		  MIPS_OPTION_ARG_ABI },
+  { "fpr-names=", N_("Print FPR names according to specified ABI.\n\
+                  Default: numeric.\n"),
+		  MIPS_OPTION_ARG_ABI },
+  { "cp0-names=", N_("Print CP0 register names according to specified "
+		     "architecture.\n\
+                  Default: based on binary being disassembled.\n"),
+		  MIPS_OPTION_ARG_ARCH },
+  { "hwr-names=", N_("Print HWR names according to specified architecture.\n\
+                  Default: based on binary being disassembled.\n"),
+		  MIPS_OPTION_ARG_ARCH },
+  { "reg-names=", N_("Print GPR and FPR names according to specified ABI.\n"),
+		  MIPS_OPTION_ARG_ABI },
+  { "reg-names=", N_("Print CP0 register and HWR names according to "
+		     "specified\n\
+                  architecture."),
+		  MIPS_OPTION_ARG_ARCH }
+};
+
+/* Build the structure representing valid MIPS disassembler options.
+   This is done dynamically for maintenance ease purpose; a static
+   initializer would be unreadable.  */
+
+const disasm_options_and_args_t *
+disassembler_options_mips (void)
+{
+  static disasm_options_and_args_t *opts_and_args;
+
+  if (opts_and_args == NULL)
+    {
+      size_t num_options = ARRAY_SIZE (mips_options);
+      size_t num_args = MIPS_OPTION_ARG_SIZE;
+      disasm_option_arg_t *args;
+      disasm_options_t *opts;
+      size_t i;
+      size_t j;
+
+      args = XNEWVEC (disasm_option_arg_t, num_args + 1);
+
+      args[MIPS_OPTION_ARG_ABI].name = "ABI";
+      args[MIPS_OPTION_ARG_ABI].values
+	= XNEWVEC (const char *, ARRAY_SIZE (mips_abi_choices) + 1);
+      for (i = 0; i < ARRAY_SIZE (mips_abi_choices); i++)
+	args[MIPS_OPTION_ARG_ABI].values[i] = mips_abi_choices[i].name;
+      /* The array we return must be NULL terminated.  */
+      args[MIPS_OPTION_ARG_ABI].values[i] = NULL;
+
+      args[MIPS_OPTION_ARG_ARCH].name = "ARCH";
+      args[MIPS_OPTION_ARG_ARCH].values
+	= XNEWVEC (const char *, ARRAY_SIZE (mips_arch_choices) + 1);
+      for (i = 0, j = 0; i < ARRAY_SIZE (mips_arch_choices); i++)
+	if (*mips_arch_choices[i].name != '\0')
+	  args[MIPS_OPTION_ARG_ARCH].values[j++] = mips_arch_choices[i].name;
+      /* The array we return must be NULL terminated.  */
+      args[MIPS_OPTION_ARG_ARCH].values[j] = NULL;
+
+      /* The array we return must be NULL terminated.  */
+      args[MIPS_OPTION_ARG_SIZE].name = NULL;
+      args[MIPS_OPTION_ARG_SIZE].values = NULL;
+
+      opts_and_args = XNEW (disasm_options_and_args_t);
+      opts_and_args->args = args;
+
+      opts = &opts_and_args->options;
+      opts->name = XNEWVEC (const char *, num_options + 1);
+      opts->description = XNEWVEC (const char *, num_options + 1);
+      opts->arg = XNEWVEC (const disasm_option_arg_t *, num_options + 1);
+      for (i = 0; i < num_options; i++)
+	{
+	  opts->name[i] = mips_options[i].name;
+	  opts->description[i] = _(mips_options[i].description);
+	  if (mips_options[i].arg != MIPS_OPTION_ARG_NONE)
+	    opts->arg[i] = &args[mips_options[i].arg];
+	  else
+	    opts->arg[i] = NULL;
+	}
+      /* The array we return must be NULL terminated.  */
+      opts->name[i] = NULL;
+      opts->description[i] = NULL;
+      opts->arg[i] = NULL;
+    }
+
+  return opts_and_args;
+}
+
 void
 print_mips_disassembler_options (FILE *stream)
 {
-  unsigned int i;
+  const disasm_options_and_args_t *opts_and_args;
+  const disasm_option_arg_t *args;
+  const disasm_options_t *opts;
+  size_t max_len = 0;
+  size_t i;
+  size_t j;
+
+  opts_and_args = disassembler_options_mips ();
+  opts = &opts_and_args->options;
+  args = opts_and_args->args;
 
   fprintf (stream, _("\n\
 The following MIPS specific disassembler options are supported for use\n\
-with the -M switch (multiple options should be separated by commas):\n"));
-
-  fprintf (stream, _("\n\
-  no-aliases               Use canonical instruction forms.\n"));
-
-  fprintf (stream, _("\n\
-  msa                      Recognize MSA instructions.\n"));
-
-  fprintf (stream, _("\n\
-  virt                     Recognize the virtualization ASE instructions.\n"));
-
-  fprintf (stream, _("\n\
-  xpa                      Recognize the eXtended Physical Address (XPA)\n\
-                           ASE instructions.\n"));
+with the -M switch (multiple options should be separated by commas):\n\n"));
 
-  fprintf (stream, _("\n\
-  gpr-names=ABI            Print GPR names according to specified ABI.\n\
-                           Default: based on binary being disassembled.\n"));
-
-  fprintf (stream, _("\n\
-  fpr-names=ABI            Print FPR names according to specified ABI.\n\
-                           Default: numeric.\n"));
-
-  fprintf (stream, _("\n\
-  cp0-names=ARCH           Print CP0 register names according to\n\
-                           specified architecture.\n\
-                           Default: based on binary being disassembled.\n"));
-
-  fprintf (stream, _("\n\
-  hwr-names=ARCH           Print HWR names according to specified \n\
-                           architecture.\n\
-                           Default: based on binary being disassembled.\n"));
+  /* Compute the length of the longest option name.  */
+  for (i = 0; opts->name[i] != NULL; i++)
+    {
+      size_t len = strlen (opts->name[i]);
 
-  fprintf (stream, _("\n\
-  reg-names=ABI            Print GPR and FPR names according to\n\
-                           specified ABI.\n"));
+      if (opts->arg[i] != NULL)
+	len += strlen (opts->arg[i]->name);
+      if (max_len < len)
+	max_len = len;
+    }
 
-  fprintf (stream, _("\n\
-  reg-names=ARCH           Print CP0 register and HWR names according to\n\
-                           specified architecture.\n"));
+  for (i = 0, max_len++; opts->name[i] != NULL; i++)
+    {
+      fprintf (stream, "  %s", opts->name[i]);
+      if (opts->arg[i] != NULL)
+	fprintf (stream, "%s", opts->arg[i]->name);
+      if (opts->description[i] != NULL)
+	{
+	  size_t len = strlen (opts->name[i]);
 
-  fprintf (stream, _("\n\
-  For the options above, the following values are supported for \"ABI\":\n\
-   "));
-  for (i = 0; i < ARRAY_SIZE (mips_abi_choices); i++)
-    fprintf (stream, " %s", mips_abi_choices[i].name);
-  fprintf (stream, _("\n"));
+	  if (opts->arg[i] != NULL)
+	    len += strlen (opts->arg[i]->name);
+	  fprintf (stream,
+		   "%*c %s", (int) (max_len - len), ' ', opts->description[i]);
+	}
+      fprintf (stream, _("\n"));
+    }
 
-  fprintf (stream, _("\n\
-  For the options above, The following values are supported for \"ARCH\":\n\
-   "));
-  for (i = 0; i < ARRAY_SIZE (mips_arch_choices); i++)
-    if (*mips_arch_choices[i].name != '\0')
-      fprintf (stream, " %s", mips_arch_choices[i].name);
-  fprintf (stream, _("\n"));
+  for (i = 0; args[i].name != NULL; i++)
+    {
+      fprintf (stream, _("\n\
+  For the options above, the following values are supported for \"%s\":\n   "),
+	       args[i].name);
+      for (j = 0; args[i].values[j] != NULL; j++)
+	fprintf (stream, " %s", args[i].values[j]);
+      fprintf (stream, _("\n"));
+    }
 
   fprintf (stream, _("\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.1.0.20180703/opcodes/mips-opc.c ./opcodes/mips-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mips-opc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mips-opc.c	2018-07-10 02:06:15.000000000 +0000
@@ -139,6 +139,7 @@ decode_mips_operand (const char *p)
 	case '\'': BRANCH (26, 0, 2);
 	case '"': BRANCH (21, 0, 2);
 	case ';': SPECIAL (10, 16, SAME_RS_RT);
+	case '\\': BIT (2, 8, 0);		/* (0 .. 3) */
 	}
       break;
 
@@ -404,6 +405,13 @@ decode_mips_operand (const char *p)
 #define XPA     ASE_XPA
 #define XPAVZ	ASE_XPA_VIRT
 
+/* Cyclic redundancy check instruction (CRC) support.  */
+#define CRC	ASE_CRC
+#define CRC64	ASE_CRC64
+
+/* Global INValidate (GINV) support.  */
+#define GINV	ASE_GINV
+
 /* The order of overloaded instructions matters.  Label arguments and
    register arguments look the same. Instructions that can have either
    for arguments must apear in the correct order in this table for the
@@ -1867,7 +1875,7 @@ const struct mips_opcode mips_builtin_op
 {"shfl.repa.qh",	"X,Y,Z",	0x7b20001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,	0,		0,		MX,	0 },
 {"shfl.repb.qh",	"X,Y,Z",	0x7ba0001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,	0,		0,		MX,	0 },
 {"shfl.upsl.ob",	"X,Y,Z",	0x78c0001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,	0,		SB1,		MX,	0 },
-{"sigrie",		"u",		0x41700000, 0xffff0000,	TRAP,			0,		I37,		0,	0 },
+{"sigrie",		"u",		0x04170000, 0xffff0000,	TRAP,			0,		I37,		0,	0 },
 {"sle",			"d,v,t",	0,    (int) M_SLE,	INSN_MACRO,		0,		I1,		0,	0 },
 {"sle",			"d,v,I",	0,    (int) M_SLE_I,	INSN_MACRO,		0,		I1,		0,	0 },
 {"sle",			"S,T",		0x46a0003e, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
@@ -3347,6 +3355,20 @@ const struct mips_opcode mips_builtin_op
 
 {"aluipc",		"s,u",		0xec1f0000, 0xfc1f0000, WR_1,			RD_pc,		I37,		0,	0 },
 
+/* MIPS cyclic redundancy check (CRC) ASE.  */
+{"crc32b",		"t,s,-d",	0x7c00000f, 0xfc00ffff, MOD_1|RD_2,		0,		0,		CRC,	0 },
+{"crc32h",		"t,s,-d",	0x7c00004f, 0xfc00ffff, MOD_1|RD_2,		0,		0,		CRC,	0 },
+{"crc32w",		"t,s,-d",	0x7c00008f, 0xfc00ffff, MOD_1|RD_2,		0,		0,		CRC,	0 },
+{"crc32d",		"t,s,-d",	0x7c0000cf, 0xfc00ffff, MOD_1|RD_2,		0,		0,		CRC64,	0 },
+{"crc32cb",		"t,s,-d",	0x7c00010f, 0xfc00ffff, MOD_1|RD_2,		0,		0,		CRC,	0 },
+{"crc32ch",		"t,s,-d",	0x7c00014f, 0xfc00ffff, MOD_1|RD_2,		0,		0,		CRC,	0 },
+{"crc32cw",		"t,s,-d",	0x7c00018f, 0xfc00ffff, MOD_1|RD_2,		0,		0,		CRC,	0 },
+{"crc32cd",		"t,s,-d",	0x7c0001cf, 0xfc00ffff, MOD_1|RD_2,		0,		0,		CRC64,	0 },
+
+/* MIPS Global INValidate (GINV) ASE.  */
+{"ginvi",		"s",		0x7c00003d, 0xfc1fffff, RD_1,			0,		0,		GINV,	0 },
+{"ginvt",		"s,+\\",	0x7c0000bd, 0xfc1ffcff, RD_1,			0,		0,		GINV,	0 },
+
 /* No hazard protection on coprocessor instructions--they shouldn't
    change the state of the processor and if they do it's up to the
    user to put in nops as necessary.  These are at the end so that the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mmix-dis.c ./opcodes/mmix-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mmix-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mmix-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -27,24 +27,23 @@
 #include "bfd.h"
 #include "opintl.h"
 
-#define BAD_CASE(x)				\
- do						\
-   {						\
-     fprintf (stderr,				\
-	      _("Bad case %d (%s) in %s:%d\n"),	\
-	      x, #x, __FILE__, __LINE__);	\
-     abort ();					\
-   }						\
+#define BAD_CASE(x)						\
+  do								\
+   {								\
+     opcodes_error_handler (_("bad case %d (%s) in %s:%d"),	\
+			    x, #x, __FILE__, __LINE__);		\
+     abort ();							\
+   }								\
  while (0)
 
-#define FATAL_DEBUG							\
- do									\
-   {									\
-     fprintf (stderr,							\
-	      _("Internal: Non-debugged code (test-case missing): %s:%d"),\
-	      __FILE__, __LINE__);					\
-     abort ();								\
-   }									\
+#define FATAL_DEBUG						\
+ do								\
+   {								\
+     opcodes_error_handler (_("internal: non-debugged code "	\
+			      "(test-case missing): %s:%d"),	\
+			    __FILE__, __LINE__);		\
+     abort ();							\
+   }								\
  while (0)
 
 #define ROUND_MODE(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.1.0.20180703/opcodes/msp430-decode.c ./opcodes/msp430-decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/msp430-decode.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/msp430-decode.c	2018-07-10 02:06:15.000000000 +0000
@@ -1,3 +1,4 @@
+/* DO NOT EDIT!  -*- buffer-read-only: t -*- vi:set ro:  */
 #line 1 "msp430-decode.opc"
 /* -*- c -*- */
 /* Copyright (C) 2013-2018 Free Software Foundation, Inc.
@@ -25,7 +26,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include "ansidecl.h"
+#include "bfd.h"
+#include "opintl.h"
 #include "opcode/msp430-decode.h"
 
 static int trace = 0;
@@ -141,9 +143,9 @@ immediate (int bytes, int sign_extend, L
 	i -= 0x100000000ULL;
       break;
     default:
-      fprintf (stderr,
-	       "Programmer error: immediate() called with invalid byte count %d\n",
-	       bytes);
+      opcodes_error_handler
+	(_("internal error: immediate() called with invalid byte count %d"),
+	   bytes);
       abort ();
     }
   return i;
@@ -359,9 +361,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_1:
               {
                 /** 0000 srcr 0000 dstr		MOVA @%1, %0 */
-#line 439 "msp430-decode.opc"
+#line 440 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 439 "msp430-decode.opc"
+#line 440 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -372,7 +374,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("MOVA @%1, %0");
-#line 439 "msp430-decode.opc"
+#line 440 "msp430-decode.opc"
                 ID (MSO_mov); SM (srcr, 0); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -383,9 +385,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_2:
               {
                 /** 0000 srcr 0001 dstr		MOVA @%1+, %0 */
-#line 444 "msp430-decode.opc"
+#line 445 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 444 "msp430-decode.opc"
+#line 445 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -396,7 +398,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("MOVA @%1+, %0");
-#line 444 "msp430-decode.opc"
+#line 445 "msp430-decode.opc"
                 ID (MSO_mov); SI (srcr); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -407,9 +409,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_3:
               {
                 /** 0000 srcr 0010 dstr		MOVA &%1, %0 */
-#line 449 "msp430-decode.opc"
+#line 450 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 449 "msp430-decode.opc"
+#line 450 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -420,7 +422,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("MOVA &%1, %0");
-#line 449 "msp430-decode.opc"
+#line 450 "msp430-decode.opc"
                 ID (MSO_mov); SA ((srcr << 16) + IMMU(2)); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -431,9 +433,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_4:
               {
                 /** 0000 srcr 0011 dstr		MOVA %1, %0 */
-#line 454 "msp430-decode.opc"
+#line 455 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 454 "msp430-decode.opc"
+#line 455 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -444,7 +446,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("MOVA %1, %0");
-#line 454 "msp430-decode.opc"
+#line 455 "msp430-decode.opc"
                 ID (MSO_mov); SM (srcr, IMMS(2)); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -456,11 +458,11 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_5:
               {
                 /** 0000 bt00 010w dstr		RRCM.A %c, %0 */
-#line 521 "msp430-decode.opc"
+#line 522 "msp430-decode.opc"
                 int bt AU = (op[0] >> 2) & 0x03;
-#line 521 "msp430-decode.opc"
+#line 522 "msp430-decode.opc"
                 int w AU = (op[1] >> 4) & 0x01;
-#line 521 "msp430-decode.opc"
+#line 522 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -472,7 +474,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("RRCM.A %c, %0");
-#line 521 "msp430-decode.opc"
+#line 522 "msp430-decode.opc"
                 ID (MSO_rrc); DR (dstr); SR (dstr);
                 msp430->repeats = bt;
                 msp430->size = w ? 16 : 20;
@@ -485,9 +487,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_6:
               {
                 /** 0000 srcr 0110 dstr		MOVA %1, &%0 */
-#line 459 "msp430-decode.opc"
+#line 460 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 459 "msp430-decode.opc"
+#line 460 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -498,7 +500,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("MOVA %1, &%0");
-#line 459 "msp430-decode.opc"
+#line 460 "msp430-decode.opc"
                 ID (MSO_mov); SR (srcr); DA ((dstr << 16) + IMMU(2));
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -509,9 +511,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_7:
               {
                 /** 0000 srcr 0111 dstr		MOVA %1, &%0 */
-#line 464 "msp430-decode.opc"
+#line 465 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 464 "msp430-decode.opc"
+#line 465 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -522,7 +524,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("MOVA %1, &%0");
-#line 464 "msp430-decode.opc"
+#line 465 "msp430-decode.opc"
                 ID (MSO_mov); SR (srcr); DM (dstr, IMMS(2));
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -533,9 +535,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_8:
               {
                 /** 0000 srcr 1000 dstr		MOVA %1, %0 */
-#line 469 "msp430-decode.opc"
+#line 470 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 469 "msp430-decode.opc"
+#line 470 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -546,7 +548,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("MOVA %1, %0");
-#line 469 "msp430-decode.opc"
+#line 470 "msp430-decode.opc"
                 ID (MSO_mov); SC ((srcr << 16) + IMMU(2)); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -557,9 +559,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_9:
               {
                 /** 0000 srcr 1001 dstr		CMPA %1, %0 */
-#line 474 "msp430-decode.opc"
+#line 475 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 474 "msp430-decode.opc"
+#line 475 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -570,7 +572,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("CMPA %1, %0");
-#line 474 "msp430-decode.opc"
+#line 475 "msp430-decode.opc"
                 ID (MSO_cmp); SC ((srcr << 16) + IMMU(2)); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -582,9 +584,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_10:
               {
                 /** 0000 srcr 1010 dstr		ADDA %1, %0 */
-#line 480 "msp430-decode.opc"
+#line 481 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 480 "msp430-decode.opc"
+#line 481 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -595,7 +597,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("ADDA %1, %0");
-#line 480 "msp430-decode.opc"
+#line 481 "msp430-decode.opc"
                 ID (MSO_add); SC ((srcr << 16) + IMMU(2)); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -607,9 +609,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_11:
               {
                 /** 0000 srcr 1011 dstr		SUBA %1, %0 */
-#line 486 "msp430-decode.opc"
+#line 487 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 486 "msp430-decode.opc"
+#line 487 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -620,7 +622,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("SUBA %1, %0");
-#line 486 "msp430-decode.opc"
+#line 487 "msp430-decode.opc"
                 ID (MSO_sub); SC ((srcr << 16) + IMMU(2)); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -632,9 +634,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_12:
               {
                 /** 0000 srcr 1100 dstr		MOVA %1, %0 */
-#line 498 "msp430-decode.opc"
+#line 499 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 498 "msp430-decode.opc"
+#line 499 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -645,7 +647,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("MOVA %1, %0");
-#line 498 "msp430-decode.opc"
+#line 499 "msp430-decode.opc"
                 ID (MSO_mov); SR (srcr); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -656,9 +658,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_13:
               {
                 /** 0000 srcr 1101 dstr		CMPA %1, %0 */
-#line 503 "msp430-decode.opc"
+#line 504 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 503 "msp430-decode.opc"
+#line 504 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -669,7 +671,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("CMPA %1, %0");
-#line 503 "msp430-decode.opc"
+#line 504 "msp430-decode.opc"
                 ID (MSO_cmp); SR (srcr); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -681,9 +683,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_14:
               {
                 /** 0000 srcr 1110 dstr		ADDA %1, %0 */
-#line 509 "msp430-decode.opc"
+#line 510 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 509 "msp430-decode.opc"
+#line 510 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -694,7 +696,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("ADDA %1, %0");
-#line 509 "msp430-decode.opc"
+#line 510 "msp430-decode.opc"
                 ID (MSO_add); SR (srcr); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -706,9 +708,9 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_15:
               {
                 /** 0000 srcr 1111 dstr		SUBA %1, %0 */
-#line 515 "msp430-decode.opc"
+#line 516 "msp430-decode.opc"
                 int srcr AU = op[0] & 0x0f;
-#line 515 "msp430-decode.opc"
+#line 516 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -719,7 +721,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("SUBA %1, %0");
-#line 515 "msp430-decode.opc"
+#line 516 "msp430-decode.opc"
                 ID (MSO_sub); SR (srcr); DR (dstr);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -750,11 +752,11 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_16:
               {
                 /** 0000 bt01 010w dstr		RRAM.A %c, %0 */
-#line 528 "msp430-decode.opc"
+#line 529 "msp430-decode.opc"
                 int bt AU = (op[0] >> 2) & 0x03;
-#line 528 "msp430-decode.opc"
+#line 529 "msp430-decode.opc"
                 int w AU = (op[1] >> 4) & 0x01;
-#line 528 "msp430-decode.opc"
+#line 529 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -766,7 +768,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("RRAM.A %c, %0");
-#line 528 "msp430-decode.opc"
+#line 529 "msp430-decode.opc"
                 ID (MSO_rra); DR (dstr); SR (dstr);
                 msp430->repeats = bt;
                 msp430->size = w ? 16 : 20;
@@ -828,11 +830,11 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_17:
               {
                 /** 0000 bt10 010w dstr		RLAM.A %c, %0 */
-#line 535 "msp430-decode.opc"
+#line 536 "msp430-decode.opc"
                 int bt AU = (op[0] >> 2) & 0x03;
-#line 535 "msp430-decode.opc"
+#line 536 "msp430-decode.opc"
                 int w AU = (op[1] >> 4) & 0x01;
-#line 535 "msp430-decode.opc"
+#line 536 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -844,7 +846,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("RLAM.A %c, %0");
-#line 535 "msp430-decode.opc"
+#line 536 "msp430-decode.opc"
                 ID (MSO_add); DR (dstr); SR (dstr);
                 msp430->repeats = bt;
                 msp430->size = w ? 16 : 20;
@@ -906,11 +908,11 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_18:
               {
                 /** 0000 bt11 010w dstr		RRUM.A %c, %0 */
-#line 542 "msp430-decode.opc"
+#line 543 "msp430-decode.opc"
                 int bt AU = (op[0] >> 2) & 0x03;
-#line 542 "msp430-decode.opc"
+#line 543 "msp430-decode.opc"
                 int w AU = (op[1] >> 4) & 0x01;
-#line 542 "msp430-decode.opc"
+#line 543 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -922,7 +924,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("RRUM.A %c, %0");
-#line 542 "msp430-decode.opc"
+#line 543 "msp430-decode.opc"
                 ID (MSO_rru); DR (dstr); SR (dstr);
                 msp430->repeats = bt;
                 msp430->size = w ? 16 : 20;
@@ -1595,15 +1597,15 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_19:
               {
                 /** 0001 00so c b ad dreg	%S%b	%1				*/
-#line 395 "msp430-decode.opc"
+#line 396 "msp430-decode.opc"
                 int so AU = op[0] & 0x03;
-#line 395 "msp430-decode.opc"
+#line 396 "msp430-decode.opc"
                 int c AU = (op[1] >> 7) & 0x01;
-#line 395 "msp430-decode.opc"
+#line 396 "msp430-decode.opc"
                 int b AU = (op[1] >> 6) & 0x01;
-#line 395 "msp430-decode.opc"
+#line 396 "msp430-decode.opc"
                 int ad AU = (op[1] >> 4) & 0x03;
-#line 395 "msp430-decode.opc"
+#line 396 "msp430-decode.opc"
                 int dreg AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -1617,7 +1619,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dreg = 0x%x\n", dreg);
                   }
                 SYNTAX("%S%b	%1");
-#line 395 "msp430-decode.opc"
+#line 396 "msp430-decode.opc"
 
                 ID (sopc_to_id (so,c)); ASX (dreg, ad, srxt_bits); ABW (al_bit, b);
 
@@ -1683,7 +1685,7 @@ msp430_decode_opcode (unsigned long pc,
                            op[0], op[1]);
                   }
                 SYNTAX("RETI");
-#line 549 "msp430-decode.opc"
+#line 550 "msp430-decode.opc"
                 ID (MSO_reti);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -1901,9 +1903,9 @@ msp430_decode_opcode (unsigned long pc,
           case 0x7f:
               {
                 /** 0001 0011 01as dstr		CALLA %0 */
-#line 554 "msp430-decode.opc"
+#line 555 "msp430-decode.opc"
                 int as AU = (op[1] >> 4) & 0x03;
-#line 554 "msp430-decode.opc"
+#line 555 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -1914,7 +1916,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("CALLA %0");
-#line 554 "msp430-decode.opc"
+#line 555 "msp430-decode.opc"
                 ID (MSO_call); AS (dstr, as);
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -1939,7 +1941,7 @@ msp430_decode_opcode (unsigned long pc,
           case 0x8f:
               {
                 /** 0001 0011 1000 extb		CALLA %0 */
-#line 559 "msp430-decode.opc"
+#line 560 "msp430-decode.opc"
                 int extb AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -1949,7 +1951,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  extb = 0x%x\n", extb);
                   }
                 SYNTAX("CALLA %0");
-#line 559 "msp430-decode.opc"
+#line 560 "msp430-decode.opc"
                 ID (MSO_call); SA (IMMU(2) | (extb << 16));
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -1974,7 +1976,7 @@ msp430_decode_opcode (unsigned long pc,
           case 0x9f:
               {
                 /** 0001 0011 1001 extb		CALLA %0 */
-#line 564 "msp430-decode.opc"
+#line 565 "msp430-decode.opc"
                 int extb AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -1984,7 +1986,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  extb = 0x%x\n", extb);
                   }
                 SYNTAX("CALLA %0");
-#line 564 "msp430-decode.opc"
+#line 565 "msp430-decode.opc"
                 raddr = IMMU(2) | (extb << 16);
                 if (raddr & 0x80000)
                   raddr -= 0x100000;
@@ -2012,7 +2014,7 @@ msp430_decode_opcode (unsigned long pc,
           case 0xbf:
               {
                 /** 0001 0011 1011 extb		CALLA %0 */
-#line 572 "msp430-decode.opc"
+#line 573 "msp430-decode.opc"
                 int extb AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -2022,7 +2024,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  extb = 0x%x\n", extb);
                   }
                 SYNTAX("CALLA %0");
-#line 572 "msp430-decode.opc"
+#line 573 "msp430-decode.opc"
                 ID (MSO_call); SC (IMMU(2) | (extb << 16));
                 msp430->size = 20;
                 msp430->ofs_430x = 1;
@@ -2039,11 +2041,11 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_20:
               {
                 /** 0001 010w bits srcr		PUSHM.A %0 */
-#line 577 "msp430-decode.opc"
+#line 578 "msp430-decode.opc"
                 int w AU = op[0] & 0x01;
-#line 577 "msp430-decode.opc"
+#line 578 "msp430-decode.opc"
                 int bits AU = (op[1] >> 4) & 0x0f;
-#line 577 "msp430-decode.opc"
+#line 578 "msp430-decode.opc"
                 int srcr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -2055,7 +2057,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  srcr = 0x%x\n", srcr);
                   }
                 SYNTAX("PUSHM.A %0");
-#line 577 "msp430-decode.opc"
+#line 578 "msp430-decode.opc"
                 ID (MSO_push); SR (srcr);
                 msp430->size = w ? 16 : 20;
                 msp430->repeats = bits;
@@ -2082,11 +2084,11 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_21:
               {
                 /** 0001 011w bits dstr		POPM.A %0 */
-#line 583 "msp430-decode.opc"
+#line 584 "msp430-decode.opc"
                 int w AU = op[0] & 0x01;
-#line 583 "msp430-decode.opc"
+#line 584 "msp430-decode.opc"
                 int bits AU = (op[1] >> 4) & 0x0f;
-#line 583 "msp430-decode.opc"
+#line 584 "msp430-decode.opc"
                 int dstr AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -2098,7 +2100,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dstr = 0x%x\n", dstr);
                   }
                 SYNTAX("POPM.A %0");
-#line 583 "msp430-decode.opc"
+#line 584 "msp430-decode.opc"
                 ID (MSO_pop); DR (dstr);
                 msp430->size = w ? 16 : 20;
                 msp430->repeats = bits;
@@ -2125,13 +2127,13 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_22:
               {
                 /** 0001 1srx t l 00 dsxt 	430x */
-#line 351 "msp430-decode.opc"
+#line 352 "msp430-decode.opc"
                 int srx AU = op[0] & 0x07;
-#line 351 "msp430-decode.opc"
+#line 352 "msp430-decode.opc"
                 int t AU = (op[1] >> 7) & 0x01;
-#line 351 "msp430-decode.opc"
+#line 352 "msp430-decode.opc"
                 int l AU = (op[1] >> 6) & 0x01;
-#line 351 "msp430-decode.opc"
+#line 352 "msp430-decode.opc"
                 int dsxt AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -2144,7 +2146,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dsxt = 0x%x\n", dsxt);
                   }
                 SYNTAX("430x");
-#line 351 "msp430-decode.opc"
+#line 352 "msp430-decode.opc"
 
                 al_bit = l;
                 srxt_bits = srx * 2 + t;
@@ -2247,11 +2249,11 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_23:
               {
                 /** 001jmp aa addrlsbs		%J	%1				*/
-#line 425 "msp430-decode.opc"
+#line 426 "msp430-decode.opc"
                 int jmp AU = (op[0] >> 2) & 0x07;
-#line 425 "msp430-decode.opc"
+#line 426 "msp430-decode.opc"
                 int aa AU = op[0] & 0x03;
-#line 425 "msp430-decode.opc"
+#line 426 "msp430-decode.opc"
                 int addrlsbs AU = op[1];
                 if (trace)
                   {
@@ -2263,7 +2265,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  addrlsbs = 0x%x\n", addrlsbs);
                   }
                 SYNTAX("%J	%1");
-#line 425 "msp430-decode.opc"
+#line 426 "msp430-decode.opc"
 
                 raddr = (aa << 9) | (addrlsbs << 1);
                 if (raddr & 0x400)
@@ -2568,17 +2570,17 @@ msp430_decode_opcode (unsigned long pc,
             op_semantics_24:
               {
                 /** dopc sreg a b as dreg	%D%b	%1,%0				*/
-#line 372 "msp430-decode.opc"
+#line 373 "msp430-decode.opc"
                 int dopc AU = (op[0] >> 4) & 0x0f;
-#line 372 "msp430-decode.opc"
+#line 373 "msp430-decode.opc"
                 int sreg AU = op[0] & 0x0f;
-#line 372 "msp430-decode.opc"
+#line 373 "msp430-decode.opc"
                 int a AU = (op[1] >> 7) & 0x01;
-#line 372 "msp430-decode.opc"
+#line 373 "msp430-decode.opc"
                 int b AU = (op[1] >> 6) & 0x01;
-#line 372 "msp430-decode.opc"
+#line 373 "msp430-decode.opc"
                 int as AU = (op[1] >> 4) & 0x03;
-#line 372 "msp430-decode.opc"
+#line 373 "msp430-decode.opc"
                 int dreg AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -2593,7 +2595,7 @@ msp430_decode_opcode (unsigned long pc,
                     printf ("  dreg = 0x%x\n", dreg);
                   }
                 SYNTAX("%D%b	%1,%0");
-#line 372 "msp430-decode.opc"
+#line 373 "msp430-decode.opc"
 
                 ID (dopc_to_id (dopc)); ASX (sreg, as, srxt_bits); ADX (dreg, a, dsxt_bits); ABW (al_bit, b);
                 if (a == 0 && as == 0)
@@ -4340,7 +4342,7 @@ msp430_decode_opcode (unsigned long pc,
         }
       break;
   }
-#line 589 "msp430-decode.opc"
+#line 590 "msp430-decode.opc"
 
   return msp430->n_bytes;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/msp430-decode.opc ./opcodes/msp430-decode.opc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/msp430-decode.opc	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/msp430-decode.opc	2018-07-10 02:06:15.000000000 +0000
@@ -24,7 +24,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include "ansidecl.h"
+#include "bfd.h"
+#include "opintl.h"
 #include "opcode/msp430-decode.h"
 
 static int trace = 0;
@@ -140,9 +141,9 @@ immediate (int bytes, int sign_extend, L
 	i -= 0x100000000ULL;
       break;
     default:
-      fprintf (stderr,
-	       "Programmer error: immediate() called with invalid byte count %d\n",
-	       bytes);
+      opcodes_error_handler
+	(_("internal error: immediate() called with invalid byte count %d"),
+	   bytes);
       abort ();
     }
   return i;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mt-asm.c ./opcodes/mt-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mt-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mt-asm.c	2018-07-10 02:06:15.000000000 +0000
@@ -592,7 +592,9 @@ mt_cgen_parse_operand (CGEN_CPU_DESC cd,
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mt-desc.c ./opcodes/mt-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mt-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mt-desc.c	2018-07-10 02:06:15.000000000 +0000
@@ -976,6 +976,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -1136,8 +1141,11 @@ mt_cgen_rebuild_tables (CGEN_CPU_TABLE *
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: mt_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -1216,8 +1224,11 @@ mt_cgen_cpu_open (enum cgen_cpu_open_arg
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "mt_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: mt_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -1232,7 +1243,9 @@ mt_cgen_cpu_open (enum cgen_cpu_open_arg
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "mt_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: mt_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mt-dis.c ./opcodes/mt-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mt-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mt-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -287,9 +287,10 @@ mt_cgen_print_operand (CGEN_CPU_DESC cd,
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mt-ibld.c ./opcodes/mt-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/mt-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/mt-ibld.c	2018-07-10 02:06:15.000000000 +0000
@@ -750,8 +750,9 @@ mt_cgen_insert_operand (CGEN_CPU_DESC cd
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -970,8 +971,9 @@ mt_cgen_extract_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -1170,8 +1172,9 @@ mt_cgen_get_int_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -1352,8 +1355,9 @@ mt_cgen_get_vma_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -1541,8 +1545,9 @@ mt_cgen_set_int_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -1720,8 +1725,9 @@ mt_cgen_set_vma_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/nds32-asm.c ./opcodes/nds32-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/nds32-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/nds32-asm.c	2018-07-10 02:06:15.000000000 +0000
@@ -20,17 +20,16 @@
    02110-1301, USA.  */
 
 
-#include <config.h>
+#include "sysdep.h"
 
-#include <stdlib.h>
 #include <stdint.h>
-#include <string.h>
 #include <assert.h>
 
 #include "safe-ctype.h"
 #include "libiberty.h"
 #include "hashtab.h"
 #include "bfd.h"
+#include "opintl.h"
 
 #include "opcode/nds32.h"
 #include "nds32-asm.h"
@@ -1505,9 +1504,11 @@ build_opcode_syntax (struct nds32_opcode
 
       if (fd == NULL)
 	{
-	  fprintf (stderr, "Internal error: Unknown operand, %s\n", str);
+	  /* xgettext: c-format */
+	  opcodes_error_handler (_("internal error: unknown operand, %s"), str);
+	  abort ();
 	}
-      assert (fd && fidx >= 0 && fidx < (int) ARRAY_SIZE (operand_fields));
+      assert (fidx >= 0 && fidx < (int) ARRAY_SIZE (operand_fields));
       *plex |= LEX_SET_FIELD (fidx);
 
       str += len;
@@ -2057,14 +2058,16 @@ parse_operand (nds32_asm_desc_t *pdesc, 
 	    value = value & 0xfffff;
 	  break;
 	default:
-	  fprintf (stderr, "Internal error: Don't know how to handle "
-		   "parsing results.\n");
+	  /* xgettext: c-format */
+	  opcodes_error_handler (_("internal error: don't know how to handle "
+				   "parsing results"));
 	  abort ();
 	}
     }
   else
     {
-      fprintf (stderr, "Internal error: Unknown hardware resource.\n");
+      /* xgettext: c-format */
+      opcodes_error_handler (_("internal error: unknown hardware resource"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/nfp-dis.c ./opcodes/nfp-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/nfp-dis.c	1970-01-01 00:00:00.000000000 +0000
+++ ./opcodes/nfp-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -0,0 +1,2982 @@
+/* Print NFP instructions for objdump.
+   Copyright (C) 2017-2018 Free Software Foundation, Inc.
+   Contributed by Francois H. Theron <francois.theron@netronome.com>
+
+   This file is part of the GNU opcodes library.
+
+   This library 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, or (at your option)
+   any later version.
+
+   It 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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+/* There will be many magic numbers here that are based on hardware.
+   Making #define macros for each encoded bit field will probably reduce
+   readability far more than the simple numbers will, so we make sure that
+   the context of the magic numbers make it clear what they are used for.  */
+
+#include "sysdep.h"
+#include <stdio.h>
+#include "disassemble.h"
+#include "libiberty.h"
+#include "elf/nfp.h"
+#include "opcode/nfp.h"
+#include "opintl.h"
+#include "elf-bfd.h"
+#include "bfd.h"
+#include "bfd_stdint.h"
+
+#define _NFP_ERR_STOP -1
+#define _NFP_ERR_CONT -8
+
+#define _BTST(v, b)               (((v) >> b) & 1)
+#define _BF(v, msb, lsb)          (((v) >> (lsb)) & \
+				   ((1U << ((msb) - (lsb) + 1)) - 1))
+#define _BFS(v, msb, lsb, lshift) (_BF(v, msb, lsb) << (lshift))
+
+#define _NFP_ME27_28_CSR_CTX_ENABLES     0x18
+#define _NFP_ME27_28_CSR_MISC_CONTROL    0x160
+
+typedef struct
+{
+  unsigned char ctx4_mode:1;
+  unsigned char addr_3rdparty32:1;
+  unsigned char scs_cnt:2;
+  unsigned char _future:4;
+}
+nfp_priv_mecfg;
+
+typedef struct
+{
+  unsigned char show_pc;
+  unsigned char ctx_mode;
+}
+nfp_opts;
+
+/* mecfgs[island][menum][is-text] */
+typedef struct
+{
+  nfp_priv_mecfg mecfgs[64][12][2];
+}
+nfp_priv_data;
+
+static const char *nfp_mealu_shf_op[8] =
+{
+  /* 0b000 (0) */ "B",
+  /* 0b001 (1) */ "~B",
+  /* 0b010 (2) */ "AND",
+  /* 0b011 (3) */ "~AND",
+  /* 0b100 (4) */ "AND~",
+  /* 0b101 (5) */ "OR",
+  /* 0b110 (6) */ "asr",
+  /* 0b111 (7) */ "byte_align"
+};
+
+static const char *nfp_me27_28_alu_op[32] =
+{
+  /* 0b00000 (0) */ "B",
+  /* 0b00001 (1) */ "+",
+  NULL,
+  /* 0b00011 (3) */ "pop_count3",
+  /* 0b00100 (4) */ "~B",
+  /* 0b00101 (5) */ "+16",
+  /* 0b00110 (6) */ "pop_count1",
+  /* 0b00111 (7) */ "pop_count2",
+  /* 0b01000 (8) */ "AND",
+  /* 0b01001 (9) */ "+8",
+  NULL,
+  /* 0b01011 (11) */ "cam_clear",
+  /* 0b01100 (12) */ "~AND",
+  /* 0b01101 (13) */ "-carry",
+  /* 0b01110 (14) */ "ffs",
+  /* 0b01111 (15) */ "cam_read_tag",
+  /* 0b10000 (16) */ "AND~",
+  /* 0b10001 (17) */ "+carry",
+  /* 0b10010 (18) */ "CRC",
+  /* 0b10011 (19) */ "cam_write",
+  /* 0b10100 (20) */ "OR",
+  /* 0b10101 (21) */ "-",
+  NULL,
+  /* 0b10111 (23) */ "cam_lookup",
+  /* 0b11000 (24) */ "XOR",
+  /* 0b11001 (25) */ "B-A",
+  NULL,
+  /* 0b11011 (27) */ "cam_write_state",
+  NULL,
+  NULL,
+  NULL,
+  /* 0b11111 (31) */ "cam_read_state"
+};
+
+static const char *nfp_me27_28_crc_op[8] =
+{
+  /* 0b000 (0) */ "--",
+  NULL,
+  /* 0b010 (2) */ "crc_ccitt",
+  NULL,
+  /* 0b100 (4) */ "crc_32",
+  /* 0b101 (5) */ "crc_iscsi",
+  /* 0b110 (6) */ "crc_10",
+  /* 0b111 (7) */ "crc_5"
+};
+
+static const char *nfp_me27_28_crc_bytes[8] =
+{
+  /* 0b000 (0) */ "bytes_0_3",
+  /* 0b001 (1) */ "bytes_1_3",
+  /* 0b010 (2) */ "bytes_2_3",
+  /* 0b011 (3) */ "byte_3",
+  /* 0b100 (4) */ "bytes_0_2",
+  /* 0b101 (5) */ "bytes_0_1",
+  /* 0b110 (6) */ "byte_0"
+};
+
+static const char *nfp_me27_28_mecsrs[] =
+{
+  /* 0x000 (0) */ "UstorAddr",
+  /* 0x004 (1) */ "UstorDataLwr",
+  /* 0x008 (2) */ "UstorDataUpr",
+  /* 0x00c (3) */ "UstorErrStat",
+  /* 0x010 (4) */ "ALUOut",
+  /* 0x014 (5) */ "CtxArbCtrl",
+  /* 0x018 (6) */ "CtxEnables",
+  /* 0x01c (7) */ "CondCodeEn",
+  /* 0x020 (8) */ "CSRCtxPtr",
+  /* 0x024 (9) */ "PcBreakpoint0",
+  /* 0x028 (10) */ "PcBreakpoint1",
+  /* 0x02c (11) */ "PcBreakpointStatus",
+  /* 0x030 (12) */ "RegErrStatus",
+  /* 0x034 (13) */ "LMErrStatus",
+  /* 0x038 (14) */ "LMeccErrorMask",
+  NULL,
+  /* 0x040 (16) */ "IndCtxStatus",
+  /* 0x044 (17) */ "ActCtxStatus",
+  /* 0x048 (18) */ "IndCtxSglEvt",
+  /* 0x04c (19) */ "ActCtxSglEvt",
+  /* 0x050 (20) */ "IndCtxWkpEvt",
+  /* 0x054 (21) */ "ActCtxWkpEvt",
+  /* 0x058 (22) */ "IndCtxFtrCnt",
+  /* 0x05c (23) */ "ActCtxFtrCnt",
+  /* 0x060 (24) */ "IndLMAddr0",
+  /* 0x064 (25) */ "ActLMAddr0",
+  /* 0x068 (26) */ "IndLMAddr1",
+  /* 0x06c (27) */ "ActLMAddr1",
+  /* 0x070 (28) */ "ByteIndex",
+  /* 0x074 (29) */ "XferIndex",
+  /* 0x078 (30) */ "IndFtrCntSgl",
+  /* 0x07c (31) */ "ActFtrCntSgl",
+  /* 0x080 (32) */ "NNPut",
+  /* 0x084 (33) */ "NNGet",
+  NULL,
+  NULL,
+  /* 0x090 (36) */ "IndLMAddr2",
+  /* 0x094 (37) */ "ActLMAddr2",
+  /* 0x098 (38) */ "IndLMAddr3",
+  /* 0x09c (39) */ "ActLMAddr3",
+  /* 0x0a0 (40) */ "IndLMAddr2BytIdx",
+  /* 0x0a4 (41) */ "ActLMAddr2BytIdx",
+  /* 0x0a8 (42) */ "IndLMAddr3BytIdx",
+  /* 0x0ac (43) */ "ActLMAddr3BytIdx",
+  /* 0x0b0 (44) */ "IndPredCC",
+  NULL,
+  NULL,
+  NULL,
+  /* 0x0c0 (48) */ "TimestampLow",
+  /* 0x0c4 (49) */ "TimestampHgh",
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  /* 0x0e0 (56) */ "IndLMAddr0BytIdx",
+  /* 0x0e4 (57) */ "ActLMAddr0BytIdx",
+  /* 0x0e8 (58) */ "IndLMAddr1BytIdx",
+  /* 0x0ec (59) */ "ActLMAddr1BytIdx",
+  NULL,
+  /* 0x0f4 (61) */ "XfrAndBytIdx",
+  NULL,
+  NULL,
+  /* 0x100 (64) */ "NxtNghbrSgl",
+  /* 0x104 (65) */ "PrvNghbrSgl",
+  /* 0x108 (66) */ "SameMESignal",
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  /* 0x140 (80) */ "CRCRemainder",
+  /* 0x144 (81) */ "ProfileCnt",
+  /* 0x148 (82) */ "PseudoRndNum",
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  /* 0x160 (88) */ "MiscControl",
+  /* 0x164 (89) */ "PcBreakpoint0Mask",
+  /* 0x168 (90) */ "PcBreakpoint1Mask",
+  NULL,
+  /* 0x170 (92) */ "Mailbox0",
+  /* 0x174 (93) */ "Mailbox1",
+  /* 0x178 (94) */ "Mailbox2",
+  /* 0x17c (95) */ "Mailbox3",
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  /* 0x190 (100) */ "CmdIndirectRef0"
+};
+
+const char *nfp_me27_28_br_ops[32] =
+{
+  /* 0b00000 (0) */ "beq",
+  /* 0b00001 (1) */ "bne",
+  /* 0b00010 (2) */ "bmi",
+  /* 0b00011 (3) */ "bpl",
+  /* 0b00100 (4) */ "bcs",
+  /* 0b00101 (5) */ "bcc",
+  /* 0b00110 (6) */ "bvs",
+  /* 0b00111 (7) */ "bvc",
+  /* 0b01000 (8) */ "bge",
+  /* 0b01001 (9) */ "blt",
+  /* 0b01010 (10) */ "ble",
+  /* 0b01011 (11) */ "bgt",
+  /* (12) */ NULL,
+  /* (13) */ NULL,
+  /* (14) */ NULL,
+  /* (15) */ NULL,
+  /* 0b10000 (16) */ "br=ctx",
+  /* 0b10001 (17) */ "br!=ctx",
+  /* 0b10010 (18) */ "br_signal",
+  /* 0b10011 (19) */ "br_!signal",
+  /* 0b10100 (20) */ "br_inp_state",
+  /* 0b10101 (21) */ "br_!inp_state",
+  /* 0b10110 (22) */ "br_cls_state",
+  /* 0b10111 (23) */ "br_!cls_state",
+  /* 0b11000 (24) */ "br",
+  /* (25) */ NULL,
+  /* (26) */ NULL,
+  /* (27) */ NULL,
+  /* (28) */ NULL,
+  /* (29) */ NULL,
+  /* (30) */ NULL,
+  /* (31) */ NULL
+};
+
+static const char *nfp_me27_br_inpstates[16] =
+{
+  /* 0 */ "nn_empty",
+  /* 1 */ "nn_full",
+  /* 2 */ "scr_ring0_status",
+  /* 3 */ "scr_ring1_status",
+  /* 4 */ "scr_ring2_status",
+  /* 5 */ "scr_ring3_status",
+  /* 6 */ "scr_ring4_status",
+  /* 7 */ "scr_ring5_status",
+  /* 8 */ "scr_ring6_status",
+  /* 9 */ "scr_ring7_status",
+  /* 10 */ "scr_ring8_status",
+  /* 11 */ "scr_ring9_status",
+  /* 12 */ "scr_ring10_status",
+  /* 13 */ "scr_ring11_status",
+  /* 14 */ "fci_not_empty",
+  /* 15 */ "fci_full"
+};
+
+static const char *nfp_me28_br_inpstates[16] =
+{
+  /* 0 */ "nn_empty",
+  /* 1 */ "nn_full",
+  /* 2 */ "ctm_ring0_status",
+  /* 3 */ "ctm_ring1_status",
+  /* 4 */ "ctm_ring2_status",
+  /* 5 */ "ctm_ring3_status",
+  /* 6 */ "ctm_ring4_status",
+  /* 7 */ "ctm_ring5_status",
+  /* 8 */ "ctm_ring6_status",
+  /* 9 */ "ctm_ring7_status",
+  /* 10 */ "ctm_ring8_status",
+  /* 11 */ "ctm_ring9_status",
+  /* 12 */ "ctm_ring10_status",
+  /* 13 */ "ctm_ring11_status",
+  /* 14 */ "ctm_ring12_status",
+  /* 15 */ "ctm_ring13_status"
+};
+
+static const char *nfp_me27_28_mult_steps[8] =
+{
+  /* 0 */ "step1",
+  /* 1 */ "step2",
+  /* 2 */ "step3",
+  /* 3 */ "step4",
+  /* 4 */ "last",
+  /* 5 */ "last2",
+  NULL,
+  NULL
+};
+
+static const char *nfp_me27_28_mult_types[4] =
+{
+  "start",
+  "24x8",
+  "16x16",
+  "32x32"
+};
+
+/* The cmd_mnemonics arrays are sorted here in its definition so that we can
+   use bsearch () on the first three fields.  There can be multiple matches
+   and we assume that bsearch can return any of them, so we manually step
+   back to the first one.  */
+
+static const nfp_cmd_mnemonic nfp_me27_mnemonics[] =
+{
+  {NFP_3200_CPPTGT_MSF0, 0, 0, 0, 0, "read"},
+  {NFP_3200_CPPTGT_MSF0, 0, 2, 0, 0, "read64"},
+  {NFP_3200_CPPTGT_MSF0, 1, 0, 0, 0, "write"},
+  {NFP_3200_CPPTGT_MSF0, 1, 1, 0, 0, "fast_wr"},
+  {NFP_3200_CPPTGT_MSF0, 1, 2, 0, 0, "write64"},
+  {NFP_3200_CPPTGT_QDR, 0, 0, 0, 0, "read"},
+  {NFP_3200_CPPTGT_QDR, 1, 0, 0, 0, "write"},
+  {NFP_3200_CPPTGT_QDR, 2, 0, 0, 0, "write_atomic"},
+  {NFP_3200_CPPTGT_QDR, 2, 1, 0, 0, "swap"},
+  {NFP_3200_CPPTGT_QDR, 3, 0, 0, 0, "set"},
+  {NFP_3200_CPPTGT_QDR, 3, 1, 0, 0, "test_and_set"},
+  {NFP_3200_CPPTGT_QDR, 4, 0, 0, 0, "clr"},
+  {NFP_3200_CPPTGT_QDR, 4, 1, 0, 0, "test_and_clr"},
+  {NFP_3200_CPPTGT_QDR, 5, 0, 0, 0, "add"},
+  {NFP_3200_CPPTGT_QDR, 5, 1, 0, 0, "test_and_add"},
+  {NFP_3200_CPPTGT_QDR, 6, 0, 0, 0, "read_queue"},
+  {NFP_3200_CPPTGT_QDR, 6, 1, 0, 0, "read_queue_ring"},
+  {NFP_3200_CPPTGT_QDR, 6, 2, 0, 0, "write_queue"},
+  {NFP_3200_CPPTGT_QDR, 6, 3, 0, 0, "write_queue_ring"},
+  {NFP_3200_CPPTGT_QDR, 7, 0, 0, 0, "incr"},
+  {NFP_3200_CPPTGT_QDR, 7, 1, 0, 0, "test_and_incr"},
+  {NFP_3200_CPPTGT_QDR, 8, 0, 0, 0, "decr"},
+  {NFP_3200_CPPTGT_QDR, 8, 1, 0, 0, "test_and_decr"},
+  {NFP_3200_CPPTGT_QDR, 9, 0, 0, 0, "put"},
+  {NFP_3200_CPPTGT_QDR, 9, 1, 0, 0, "get"},
+  {NFP_3200_CPPTGT_QDR, 9, 2, 0, 0, "put_imm"},
+  {NFP_3200_CPPTGT_QDR, 9, 3, 0, 0, "pop"},
+  {NFP_3200_CPPTGT_QDR, 10, 0, 0, 0, "journal"},
+  {NFP_3200_CPPTGT_QDR, 10, 1, 0, 0, "fast_journal"},
+  {NFP_3200_CPPTGT_QDR, 11, 0, 0, 0, "dequeue"},
+  {NFP_3200_CPPTGT_QDR, 12, 0, 0, 0, "enqueue"},
+  {NFP_3200_CPPTGT_QDR, 12, 1, 0, 0, "enueue_tail"},
+  {NFP_3200_CPPTGT_QDR, 12, 2, 0, 0, "nfp_enqueue"},
+  {NFP_3200_CPPTGT_QDR, 12, 3, 0, 0, "nfp_enueue_tail"},
+  {NFP_3200_CPPTGT_QDR, 13, 0, 0, 0, "csr_wr"},
+  {NFP_3200_CPPTGT_QDR, 13, 1, 0, 0, "csr_rd"},
+  {NFP_3200_CPPTGT_QDR, 14, 0, 0, 0, "wr_qdesc"},
+  {NFP_3200_CPPTGT_QDR, 14, 1, 0, 0, "nfp_wr_qdesc"},
+  {NFP_3200_CPPTGT_QDR, 14, 2, 0, 0, "wr_qdesc_count"},
+  {NFP_3200_CPPTGT_QDR, 14, 3, 0, 0, "push_qdesc"},
+  {NFP_3200_CPPTGT_QDR, 15, 0, 0, 0, "rd_qdesc_other"},
+  {NFP_3200_CPPTGT_QDR, 15, 1, 0, 0, "rd_qdesc_tail"},
+  {NFP_3200_CPPTGT_QDR, 15, 2, 0, 0, "rd_qdesc_head"},
+  {NFP_3200_CPPTGT_QDR, 15, 3, 0, 0, "nfp_rd_qdesc"},
+  {NFP_3200_CPPTGT_MSF1, 0, 0, 0, 0, "read"},
+  {NFP_3200_CPPTGT_MSF1, 0, 2, 0, 0, "read64"},
+  {NFP_3200_CPPTGT_MSF1, 1, 0, 0, 0, "write"},
+  {NFP_3200_CPPTGT_MSF1, 1, 1, 0, 0, "fast_wr"},
+  {NFP_3200_CPPTGT_MSF1, 1, 2, 0, 0, "write64"},
+  {NFP_3200_CPPTGT_HASH, 0, 0, 0, 0, "hash_48"},
+  {NFP_3200_CPPTGT_HASH, 0, 1, 0, 0, "hash_64"},
+  {NFP_3200_CPPTGT_HASH, 0, 2, 0, 0, "hash_128"},
+  {NFP_3200_CPPTGT_MU, 0, 0, 0, 0, "read"},
+  {NFP_3200_CPPTGT_MU, 0, 1, 0, 0, "read_le"},
+  {NFP_3200_CPPTGT_MU, 0, 2, 0, 0, "read_swap"},
+  {NFP_3200_CPPTGT_MU, 0, 3, 0, 0, "read_swap_le"},
+  {NFP_3200_CPPTGT_MU, 1, 0, 0, 0, "write"},
+  {NFP_3200_CPPTGT_MU, 1, 1, 0, 0, "write_le"},
+  {NFP_3200_CPPTGT_MU, 1, 2, 0, 0, "write_swap"},
+  {NFP_3200_CPPTGT_MU, 1, 3, 0, 0, "write_swap_le"},
+  {NFP_3200_CPPTGT_MU, 2, 0, 0, 0, "write8"},
+  {NFP_3200_CPPTGT_MU, 2, 1, 0, 0, "write8_le"},
+  {NFP_3200_CPPTGT_MU, 2, 2, 0, 0, "write8_swap"},
+  {NFP_3200_CPPTGT_MU, 2, 3, 0, 0, "write8_swap_le"},
+  {NFP_3200_CPPTGT_MU, 3, 0, 0, 0, "read_atomic"},
+  {NFP_3200_CPPTGT_MU, 3, 1, 0, 0, "read8"},
+  {NFP_3200_CPPTGT_MU, 3, 2, 0, 0, "compare_write"},
+  {NFP_3200_CPPTGT_MU, 3, 3, 0, 0, "test_and_compare_write"},
+  {NFP_3200_CPPTGT_MU, 4, 0, 0, 0, "write_atomic"},
+  {NFP_3200_CPPTGT_MU, 4, 1, 0, 0, "swap"},
+  {NFP_3200_CPPTGT_MU, 4, 2, 0, 0, "write_atomic_imm"},
+  {NFP_3200_CPPTGT_MU, 4, 3, 0, 0, "swap_imm"},
+  {NFP_3200_CPPTGT_MU, 5, 0, 0, 0, "set"},
+  {NFP_3200_CPPTGT_MU, 5, 1, 0, 0, "test_and_set"},
+  {NFP_3200_CPPTGT_MU, 5, 2, 0, 0, "set_imm"},
+  {NFP_3200_CPPTGT_MU, 5, 3, 0, 0, "test_and_set_imm"},
+  {NFP_3200_CPPTGT_MU, 6, 0, 0, 0, "clr"},
+  {NFP_3200_CPPTGT_MU, 6, 1, 0, 0, "test_and_clr"},
+  {NFP_3200_CPPTGT_MU, 6, 2, 0, 0, "clr_imm"},
+  {NFP_3200_CPPTGT_MU, 6, 3, 0, 0, "test_and_clr_imm"},
+  {NFP_3200_CPPTGT_MU, 7, 0, 0, 4, "add"},
+  {NFP_3200_CPPTGT_MU, 7, 0, 4, 4, "add64"},
+  {NFP_3200_CPPTGT_MU, 7, 1, 0, 4, "test_and_add"},
+  {NFP_3200_CPPTGT_MU, 7, 1, 4, 4, "test_and_add64"},
+  {NFP_3200_CPPTGT_MU, 7, 2, 0, 4, "add_imm"},
+  {NFP_3200_CPPTGT_MU, 7, 2, 4, 4, "add64_imm"},
+  {NFP_3200_CPPTGT_MU, 7, 3, 0, 4, "test_and_add_imm"},
+  {NFP_3200_CPPTGT_MU, 7, 3, 4, 4, "test_and_add64_imm"},
+  {NFP_3200_CPPTGT_MU, 8, 0, 0, 4, "add_sat"},
+  {NFP_3200_CPPTGT_MU, 8, 0, 4, 4, "add64_sat"},
+  {NFP_3200_CPPTGT_MU, 8, 1, 0, 4, "test_and_add_sat"},
+  {NFP_3200_CPPTGT_MU, 8, 1, 4, 4, "test_and_add64_sat"},
+  {NFP_3200_CPPTGT_MU, 8, 2, 0, 4, "add_imm_sat"},
+  {NFP_3200_CPPTGT_MU, 8, 2, 4, 4, "add_imm_sat"},
+  {NFP_3200_CPPTGT_MU, 8, 3, 0, 0, "test_and_add_sat_imm"},
+  {NFP_3200_CPPTGT_MU, 9, 0, 0, 4, "sub"},
+  {NFP_3200_CPPTGT_MU, 9, 0, 4, 4, "sub64"},
+  {NFP_3200_CPPTGT_MU, 9, 1, 0, 4, "test_and_sub"},
+  {NFP_3200_CPPTGT_MU, 9, 1, 4, 4, "test_and_sub64"},
+  {NFP_3200_CPPTGT_MU, 9, 2, 0, 4, "sub_imm"},
+  {NFP_3200_CPPTGT_MU, 9, 2, 4, 4, "sub64_imm"},
+  {NFP_3200_CPPTGT_MU, 9, 3, 0, 0, "tes_and_sub_imm"},
+  {NFP_3200_CPPTGT_MU, 10, 0, 0, 4, "sub_sat"},
+  {NFP_3200_CPPTGT_MU, 10, 0, 4, 4, "sub64_sat"},
+  {NFP_3200_CPPTGT_MU, 10, 1, 0, 4, "test_and_sub_sat"},
+  {NFP_3200_CPPTGT_MU, 10, 1, 4, 4, "test_and_sub64_sat"},
+  {NFP_3200_CPPTGT_MU, 10, 2, 0, 4, "sub_imm_sat"},
+  {NFP_3200_CPPTGT_MU, 10, 2, 4, 4, "sub64_imm_sat"},
+  {NFP_3200_CPPTGT_MU, 10, 3, 0, 0, "test_and_sub_sat_imm"},
+  {NFP_3200_CPPTGT_MU, 11, 0, 0, 0, "release_ticket"},
+  {NFP_3200_CPPTGT_MU, 11, 1, 0, 0, "release_ticket_ind"},
+  {NFP_3200_CPPTGT_MU, 12, 0, 0, 0, "cam_lookup"},
+  {NFP_3200_CPPTGT_MU, 12, 1, 0, 0, "cam_lookup_add"},
+  {NFP_3200_CPPTGT_MU, 12, 2, 0, 0, "tcam_lookup"},
+  {NFP_3200_CPPTGT_MU, 12, 3, 0, 3, "lock"},
+  {NFP_3200_CPPTGT_MU, 12, 3, 2, 3, "cam_lookup_add_inc"},
+  {NFP_3200_CPPTGT_MU, 13, 0, 0, 4, "microq128_get"},
+  {NFP_3200_CPPTGT_MU, 13, 0, 4, 4, "microq256_get"},
+  {NFP_3200_CPPTGT_MU, 13, 1, 0, 4, "microq128_pop"},
+  {NFP_3200_CPPTGT_MU, 13, 1, 4, 4, "microq256_pop"},
+  {NFP_3200_CPPTGT_MU, 13, 2, 0, 4, "microq128_put"},
+  {NFP_3200_CPPTGT_MU, 13, 2, 4, 4, "microq256_put"},
+  {NFP_3200_CPPTGT_MU, 14, 0, 0, 4, "queue128_lock"},
+  {NFP_3200_CPPTGT_MU, 14, 0, 4, 4, "queue256_lock"},
+  {NFP_3200_CPPTGT_MU, 14, 1, 0, 4, "queue128_unlock"},
+  {NFP_3200_CPPTGT_MU, 14, 1, 4, 4, "queue256_unlock"},
+  {NFP_3200_CPPTGT_MU, 15, 0, 0, 0, "xor"},
+  {NFP_3200_CPPTGT_MU, 15, 1, 0, 0, "test_and_xor"},
+  {NFP_3200_CPPTGT_MU, 15, 2, 0, 0, "xor_imm"},
+  {NFP_3200_CPPTGT_MU, 15, 3, 0, 0, "test_and_xor_imm"},
+  {NFP_3200_CPPTGT_MU, 16, 0, 0, 0, "rd_qdesc"},
+  {NFP_3200_CPPTGT_MU, 16, 1, 0, 0, "wr_qdesc"},
+  {NFP_3200_CPPTGT_MU, 16, 2, 0, 0, "push_qdesc"},
+  {NFP_3200_CPPTGT_MU, 16, 3, 0, 0, "tag_writeback"},
+  {NFP_3200_CPPTGT_MU, 17, 0, 0, 0, "enqueue"},
+  {NFP_3200_CPPTGT_MU, 17, 1, 0, 0, "enqueue_tail"},
+  {NFP_3200_CPPTGT_MU, 17, 2, 0, 0, "dequeue"},
+  {NFP_3200_CPPTGT_MU, 18, 0, 0, 0, "read_queue"},
+  {NFP_3200_CPPTGT_MU, 18, 1, 0, 0, "read_queue_ring"},
+  {NFP_3200_CPPTGT_MU, 18, 2, 0, 0, "write_queue"},
+  {NFP_3200_CPPTGT_MU, 18, 3, 0, 0, "write_queue_ring"},
+  {NFP_3200_CPPTGT_MU, 19, 0, 0, 0, "add_tail"},
+  {NFP_3200_CPPTGT_MU, 19, 1, 0, 0, "qadd_thread"},
+  {NFP_3200_CPPTGT_MU, 19, 2, 0, 0, "qadd_work"},
+  {NFP_3200_CPPTGT_MU, 19, 3, 0, 0, "qadd_work_imm"},
+  {NFP_3200_CPPTGT_MU, 20, 0, 0, 0, "put"},
+  {NFP_3200_CPPTGT_MU, 20, 1, 0, 0, "put_tag"},
+  {NFP_3200_CPPTGT_MU, 20, 2, 0, 0, "journal"},
+  {NFP_3200_CPPTGT_MU, 20, 3, 0, 0, "journal_tag"},
+  {NFP_3200_CPPTGT_MU, 21, 0, 0, 0, "get"},
+  {NFP_3200_CPPTGT_MU, 21, 1, 0, 0, "get_eop"},
+  {NFP_3200_CPPTGT_MU, 21, 2, 0, 0, "get_safe"},
+  {NFP_3200_CPPTGT_MU, 21, 3, 0, 0, "get_tag_safe"},
+  {NFP_3200_CPPTGT_MU, 22, 0, 0, 0, "pop"},
+  {NFP_3200_CPPTGT_MU, 22, 1, 0, 0, "pop_eop"},
+  {NFP_3200_CPPTGT_MU, 22, 2, 0, 0, "pop_safe"},
+  {NFP_3200_CPPTGT_MU, 22, 3, 0, 0, "pop_tag_safe"},
+  {NFP_3200_CPPTGT_MU, 23, 0, 0, 0, "fast_journal"},
+  {NFP_3200_CPPTGT_MU, 23, 1, 0, 0, "fast_journal_sig"},
+  {NFP_3200_CPPTGT_GS, 0, 0, 0, 0, "read"},
+  {NFP_3200_CPPTGT_GS, 1, 0, 0, 0, "write"},
+  {NFP_3200_CPPTGT_GS, 2, 0, 0, 0, "write_atomic"},
+  {NFP_3200_CPPTGT_GS, 2, 1, 0, 0, "swap"},
+  {NFP_3200_CPPTGT_GS, 3, 0, 0, 0, "set"},
+  {NFP_3200_CPPTGT_GS, 3, 1, 0, 0, "test_and_set"},
+  {NFP_3200_CPPTGT_GS, 4, 0, 0, 0, "clr"},
+  {NFP_3200_CPPTGT_GS, 4, 1, 0, 0, "test_and_clr"},
+  {NFP_3200_CPPTGT_GS, 5, 0, 0, 0, "add"},
+  {NFP_3200_CPPTGT_GS, 5, 1, 0, 0, "test_and_add"},
+  {NFP_3200_CPPTGT_GS, 6, 0, 0, 0, "sub"},
+  {NFP_3200_CPPTGT_GS, 6, 1, 0, 0, "test_and_sub"},
+  {NFP_3200_CPPTGT_GS, 7, 0, 0, 0, "inc"},
+  {NFP_3200_CPPTGT_GS, 7, 1, 0, 0, "test_and_inc"},
+  {NFP_3200_CPPTGT_GS, 8, 0, 0, 0, "dec"},
+  {NFP_3200_CPPTGT_GS, 8, 1, 0, 0, "test_and_dec"},
+  {NFP_3200_CPPTGT_GS, 9, 0, 0, 0, "get"},
+  {NFP_3200_CPPTGT_GS, 10, 0, 0, 0, "put"},
+  {NFP_3200_CPPTGT_PCIE, 0, 0, 0, 0, "read"},
+  {NFP_3200_CPPTGT_PCIE, 1, 0, 0, 0, "write"},
+  {NFP_3200_CPPTGT_PCIE, 2, 0, 0, 0, "read_internal"},
+  {NFP_3200_CPPTGT_PCIE, 3, 0, 0, 0, "write_internal"},
+  {NFP_3200_CPPTGT_ARM, 0, 0, 0, 0, "read"},
+  {NFP_3200_CPPTGT_ARM, 1, 0, 0, 0, "write"},
+  {NFP_3200_CPPTGT_CRYPTO, 0, 0, 0, 0, "read"},
+  {NFP_3200_CPPTGT_CRYPTO, 1, 0, 0, 0, "write"},
+  {NFP_3200_CPPTGT_CRYPTO, 2, 0, 0, 0, "write_fifo"},
+  {NFP_3200_CPPTGT_CAP, 0, 0, 0, 0, "read_enum"},
+  {NFP_3200_CPPTGT_CAP, 0, 1, 0, 0, "read"},
+  {NFP_3200_CPPTGT_CAP, 0, 2, 0, 0, "read_reflect"},
+  {NFP_3200_CPPTGT_CAP, 1, 0, 0, 0, "write_enum"},
+  {NFP_3200_CPPTGT_CAP, 1, 1, 0, 0, "write"},
+  {NFP_3200_CPPTGT_CAP, 1, 2, 0, 0, "write_reflect"},
+  {NFP_3200_CPPTGT_CAP, 2, 0, 0, 0, "fast_wr_alu"},
+  {NFP_3200_CPPTGT_CAP, 3, 0, 0, 0, "fast_wr"},
+  {NFP_3200_CPPTGT_CT, 1, 0, 0, 0, "write"},
+  {NFP_3200_CPPTGT_CLS, 0, 0, 0, 0, "read_be"},
+  {NFP_3200_CPPTGT_CLS, 0, 1, 0, 0, "read_le"},
+  {NFP_3200_CPPTGT_CLS, 0, 2, 0, 0, "test_and_compare_write"},
+  {NFP_3200_CPPTGT_CLS, 0, 3, 0, 0, "xor"},
+  {NFP_3200_CPPTGT_CLS, 1, 0, 0, 0, "write_be"},
+  {NFP_3200_CPPTGT_CLS, 1, 1, 0, 0, "write_le"},
+  {NFP_3200_CPPTGT_CLS, 1, 2, 0, 0, "write8_be"},
+  {NFP_3200_CPPTGT_CLS, 1, 3, 0, 0, "write8_le"},
+  {NFP_3200_CPPTGT_CLS, 2, 0, 0, 0, "set"},
+  {NFP_3200_CPPTGT_CLS, 2, 1, 0, 0, "clr"},
+  {NFP_3200_CPPTGT_CLS, 2, 2, 0, 0, "test_and_set"},
+  {NFP_3200_CPPTGT_CLS, 2, 3, 0, 0, "test_and_clr"},
+  {NFP_3200_CPPTGT_CLS, 3, 0, 0, 0, "set_imm"},
+  {NFP_3200_CPPTGT_CLS, 3, 1, 0, 0, "clr_imm"},
+  {NFP_3200_CPPTGT_CLS, 3, 2, 0, 0, "test_and_set_imm"},
+  {NFP_3200_CPPTGT_CLS, 3, 3, 0, 0, "test_and_clr_imm"},
+  {NFP_3200_CPPTGT_CLS, 4, 0, 0, 0, "add"},
+  {NFP_3200_CPPTGT_CLS, 4, 1, 0, 0, "add64"},
+  {NFP_3200_CPPTGT_CLS, 4, 2, 0, 0, "add_sat"},
+  {NFP_3200_CPPTGT_CLS, 4, 3, 0, 0, "test_and_add_sat"},
+  {NFP_3200_CPPTGT_CLS, 5, 0, 0, 0, "add_imm"},
+  {NFP_3200_CPPTGT_CLS, 5, 1, 0, 0, "add64_imm"},
+  {NFP_3200_CPPTGT_CLS, 5, 2, 0, 0, "add_imm_sat"},
+  {NFP_3200_CPPTGT_CLS, 5, 3, 0, 0, "test_and_add_imm_sat"},
+  {NFP_3200_CPPTGT_CLS, 6, 0, 0, 0, "sub"},
+  {NFP_3200_CPPTGT_CLS, 6, 1, 0, 0, "sub64"},
+  {NFP_3200_CPPTGT_CLS, 6, 2, 0, 0, "sub_sat"},
+  {NFP_3200_CPPTGT_CLS, 6, 3, 0, 0, "test_and_sub_sat"},
+  {NFP_3200_CPPTGT_CLS, 7, 0, 0, 0, "sub_imm"},
+  {NFP_3200_CPPTGT_CLS, 7, 1, 0, 0, "sub64_imm"},
+  {NFP_3200_CPPTGT_CLS, 7, 2, 0, 0, "sub_imm_sat"},
+  {NFP_3200_CPPTGT_CLS, 7, 3, 0, 0, "test_and_sub_imm_sat"},
+  {NFP_3200_CPPTGT_CLS, 8, 0, 0, 0, "queue_lock"},
+  {NFP_3200_CPPTGT_CLS, 8, 1, 0, 0, "queue_unlock"},
+  {NFP_3200_CPPTGT_CLS, 8, 2, 0, 0, "hash_mask"},
+  {NFP_3200_CPPTGT_CLS, 8, 3, 0, 0, "hash_mask_clear"},
+  {NFP_3200_CPPTGT_CLS, 9, 0, 0, 0, "get"},
+  {NFP_3200_CPPTGT_CLS, 9, 1, 0, 0, "pop"},
+  {NFP_3200_CPPTGT_CLS, 9, 2, 0, 0, "get_safe"},
+  {NFP_3200_CPPTGT_CLS, 9, 3, 0, 0, "pop_safe"},
+  {NFP_3200_CPPTGT_CLS, 10, 0, 0, 0, "put"},
+  {NFP_3200_CPPTGT_CLS, 10, 1, 0, 0, "put_offset"},
+  {NFP_3200_CPPTGT_CLS, 10, 2, 0, 0, "journal"},
+  {NFP_3200_CPPTGT_CLS, 10, 3, 0, 0, "add_tail"},
+  {NFP_3200_CPPTGT_CLS, 11, 0, 0, 0, "cam_lookup32"},
+  {NFP_3200_CPPTGT_CLS, 11, 1, 0, 0, "cam_lookup32_add"},
+  {NFP_3200_CPPTGT_CLS, 11, 2, 0, 0, "cam_lookup24"},
+  {NFP_3200_CPPTGT_CLS, 11, 3, 0, 0, "cam_lookup24_add"},
+  {NFP_3200_CPPTGT_CLS, 12, 0, 0, 0, "cam_lookup8"},
+  {NFP_3200_CPPTGT_CLS, 12, 1, 0, 0, "cam_lookup8_add"},
+  {NFP_3200_CPPTGT_CLS, 12, 2, 0, 0, "cam_lookup16"},
+  {NFP_3200_CPPTGT_CLS, 12, 3, 0, 0, "cam_lookup16_add"},
+  {NFP_3200_CPPTGT_CLS, 13, 0, 0, 0, "tcam_lookup32"},
+  {NFP_3200_CPPTGT_CLS, 13, 1, 0, 0, "tcam_lookup24"},
+  {NFP_3200_CPPTGT_CLS, 13, 2, 0, 0, "tcam_lookup16"},
+  {NFP_3200_CPPTGT_CLS, 13, 3, 0, 0, "tcam_lookup8"},
+  {NFP_3200_CPPTGT_CLS, 14, 0, 0, 0, "reflect_from_sig_src"},
+  {NFP_3200_CPPTGT_CLS, 14, 1, 0, 0, "reflect_from_sig_dst"},
+  {NFP_3200_CPPTGT_CLS, 14, 2, 0, 0, "reflect_from_sig_both"},
+  {NFP_3200_CPPTGT_CLS, 15, 0, 0, 0, "reflect_to_sig_src"},
+  {NFP_3200_CPPTGT_CLS, 15, 1, 0, 0, "reflect_to_sig_dst"},
+  {NFP_3200_CPPTGT_CLS, 15, 2, 0, 0, "reflect_to_sig_both"}
+};
+
+static const nfp_cmd_mnemonic nfp_me28_mnemonics[] =
+{
+  {NFP_6000_CPPTGT_NBI, 0, 0, 0, 0, "read"},
+  {NFP_6000_CPPTGT_NBI, 1, 0, 0, 0, "write"},
+  {NFP_6000_CPPTGT_NBI, 3, 0, 0, 0, "packet_ready_drop"},
+  {NFP_6000_CPPTGT_NBI, 3, 1, 0, 0, "packet_ready_unicast"},
+  {NFP_6000_CPPTGT_NBI, 3, 2, 0, 0, "packet_ready_multicast_dont_free"},
+  {NFP_6000_CPPTGT_NBI, 3, 3, 0, 0, "packet_ready_multicast_free_on_last"},
+  {NFP_6000_CPPTGT_ILA, 0, 0, 0, 0, "read"},
+  {NFP_6000_CPPTGT_ILA, 0, 1, 0, 0, "read_check_error"},
+  {NFP_6000_CPPTGT_ILA, 1, 0, 0, 0, "write"},
+  {NFP_6000_CPPTGT_ILA, 1, 1, 0, 0, "write_check_error"},
+  {NFP_6000_CPPTGT_ILA, 2, 0, 0, 0, "read_int"},
+  {NFP_6000_CPPTGT_ILA, 3, 0, 0, 7, "write_int"},
+  {NFP_6000_CPPTGT_ILA, 3, 0, 3, 7, "write_dma"},
+  {NFP_6000_CPPTGT_MU, 0, 0, 0, 0, "read"},
+  {NFP_6000_CPPTGT_MU, 0, 1, 0, 0, "read_le"},
+  {NFP_6000_CPPTGT_MU, 0, 2, 0, 0, "read_swap"},
+  {NFP_6000_CPPTGT_MU, 0, 3, 0, 0, "read_swap_le"},
+  {NFP_6000_CPPTGT_MU, 1, 0, 0, 0, "write"},
+  {NFP_6000_CPPTGT_MU, 1, 1, 0, 0, "write_le"},
+  {NFP_6000_CPPTGT_MU, 1, 2, 0, 0, "write_swap"},
+  {NFP_6000_CPPTGT_MU, 1, 3, 0, 0, "write_swap_le"},
+  {NFP_6000_CPPTGT_MU, 2, 0, 0, 0, "write8"},
+  {NFP_6000_CPPTGT_MU, 2, 1, 0, 0, "write8_le"},
+  {NFP_6000_CPPTGT_MU, 2, 2, 0, 0, "write8_swap"},
+  {NFP_6000_CPPTGT_MU, 2, 3, 0, 0, "write8_swap_le"},
+  {NFP_6000_CPPTGT_MU, 3, 0, 0, 0, "atomic_read"},
+  {NFP_6000_CPPTGT_MU, 3, 1, 0, 0, "read8"},
+  {NFP_6000_CPPTGT_MU, 3, 2, 0, 0,
+   "compare_write_or_incr/mask_compare_write"},
+  {NFP_6000_CPPTGT_MU, 3, 3, 0, 0,
+   "test_compare_write_or_incr/test_mask_compare_write"},
+  {NFP_6000_CPPTGT_MU, 4, 0, 0, 0, "atomic_write"},
+  {NFP_6000_CPPTGT_MU, 4, 1, 0, 0, "swap"},
+  {NFP_6000_CPPTGT_MU, 4, 2, 0, 0, "atomic_write_imm"},
+  {NFP_6000_CPPTGT_MU, 4, 3, 0, 0, "swap_imm"},
+  {NFP_6000_CPPTGT_MU, 5, 0, 0, 0, "set"},
+  {NFP_6000_CPPTGT_MU, 5, 1, 0, 0, "test_set"},
+  {NFP_6000_CPPTGT_MU, 5, 2, 0, 0, "set_imm"},
+  {NFP_6000_CPPTGT_MU, 5, 3, 0, 0, "test_set_imm"},
+  {NFP_6000_CPPTGT_MU, 6, 0, 0, 0, "clr"},
+  {NFP_6000_CPPTGT_MU, 6, 1, 0, 0, "test_clr"},
+  {NFP_6000_CPPTGT_MU, 6, 2, 0, 0, "clr_imm"},
+  {NFP_6000_CPPTGT_MU, 6, 3, 0, 0, "test_clr_imm"},
+  {NFP_6000_CPPTGT_MU, 7, 0, 0, 4, "add"},
+  {NFP_6000_CPPTGT_MU, 7, 0, 4, 4, "add64"},
+  {NFP_6000_CPPTGT_MU, 7, 1, 0, 4, "test_add"},
+  {NFP_6000_CPPTGT_MU, 7, 1, 4, 4, "test_add64"},
+  {NFP_6000_CPPTGT_MU, 7, 2, 0, 4, "add_imm"},
+  {NFP_6000_CPPTGT_MU, 7, 2, 4, 4, "add64_imm"},
+  {NFP_6000_CPPTGT_MU, 7, 3, 0, 4, "test_add_imm"},
+  {NFP_6000_CPPTGT_MU, 7, 3, 4, 4, "test_add64_imm"},
+  {NFP_6000_CPPTGT_MU, 8, 0, 0, 4, "addsat"},
+  {NFP_6000_CPPTGT_MU, 8, 0, 4, 4, "addsat64"},
+  {NFP_6000_CPPTGT_MU, 8, 1, 0, 4, "test_addsat"},
+  {NFP_6000_CPPTGT_MU, 8, 1, 4, 4, "test_addsat64"},
+  {NFP_6000_CPPTGT_MU, 8, 2, 0, 4, "addsat_imm"},
+  {NFP_6000_CPPTGT_MU, 8, 2, 4, 4, "addsat64_imm"},
+  {NFP_6000_CPPTGT_MU, 8, 3, 0, 4, "test_addsat_imm"},
+  {NFP_6000_CPPTGT_MU, 8, 3, 4, 4, "test_addsat64_imm"},
+  {NFP_6000_CPPTGT_MU, 9, 0, 0, 4, "sub"},
+  {NFP_6000_CPPTGT_MU, 9, 0, 4, 4, "sub64"},
+  {NFP_6000_CPPTGT_MU, 9, 1, 0, 4, "test_sub"},
+  {NFP_6000_CPPTGT_MU, 9, 1, 4, 4, "test_sub64"},
+  {NFP_6000_CPPTGT_MU, 9, 2, 0, 4, "sub_imm"},
+  {NFP_6000_CPPTGT_MU, 9, 2, 4, 4, "sub64_imm"},
+  {NFP_6000_CPPTGT_MU, 9, 3, 0, 4, "test_sub_imm"},
+  {NFP_6000_CPPTGT_MU, 9, 3, 4, 4, "test_sub64_imm"},
+  {NFP_6000_CPPTGT_MU, 10, 0, 0, 4, "subsat"},
+  {NFP_6000_CPPTGT_MU, 10, 0, 4, 4, "subsat64"},
+  {NFP_6000_CPPTGT_MU, 10, 1, 0, 4, "test_subsat"},
+  {NFP_6000_CPPTGT_MU, 10, 1, 4, 4, "test_subsat64"},
+  {NFP_6000_CPPTGT_MU, 10, 2, 0, 4, "subsat_imm"},
+  {NFP_6000_CPPTGT_MU, 10, 2, 4, 4, "subsat64_imm"},
+  {NFP_6000_CPPTGT_MU, 10, 3, 0, 4, "test_subsat_imm"},
+  {NFP_6000_CPPTGT_MU, 10, 3, 4, 4, "test_subsat64_imm"},
+  {NFP_6000_CPPTGT_MU, 11, 0, 0, 0, "ticket_release"},
+  {NFP_6000_CPPTGT_MU, 11, 1, 0, 0, "ticket_release_ind"},
+  {NFP_6000_CPPTGT_MU, 12, 0, 0, 7, "cam128_lookup8/cam384_lookup8"},
+  {NFP_6000_CPPTGT_MU, 12, 0, 1, 7, "cam128_lookup16/cam384_lookup16"},
+  {NFP_6000_CPPTGT_MU, 12, 0, 2, 7, "cam128_lookup24/cam384_lookup24"},
+  {NFP_6000_CPPTGT_MU, 12, 0, 3, 7, "cam128_lookup32/cam384_lookup32"},
+  {NFP_6000_CPPTGT_MU, 12, 0, 4, 7, "cam256_lookup8/cam512_lookup8"},
+  {NFP_6000_CPPTGT_MU, 12, 0, 5, 7, "cam256_lookup16/cam512_lookup16"},
+  {NFP_6000_CPPTGT_MU, 12, 0, 6, 7, "cam256_lookup24/cam512_lookup24"},
+  {NFP_6000_CPPTGT_MU, 12, 0, 7, 7, "cam256_lookup32/cam512_lookup32"},
+  {NFP_6000_CPPTGT_MU, 12, 1, 0, 7,
+   "cam128_lookup8_add/cam384_lookup8_add"},
+  {NFP_6000_CPPTGT_MU, 12, 1, 1, 7,
+   "cam128_lookup16_add/cam384_lookup16_add"},
+  {NFP_6000_CPPTGT_MU, 12, 1, 2, 7,
+   "cam128_lookup24_add/cam384_lookup24_add"},
+  {NFP_6000_CPPTGT_MU, 12, 1, 3, 7,
+   "cam128_lookup32_add/cam384_lookup32_add"},
+  {NFP_6000_CPPTGT_MU, 12, 1, 4, 7,
+   "cam256_lookup8_add/cam512_lookup8_add"},
+  {NFP_6000_CPPTGT_MU, 12, 1, 5, 7,
+   "cam256_lookup16_add/cam512_lookup16_add"},
+  {NFP_6000_CPPTGT_MU, 12, 1, 6, 7,
+   "cam256_lookup24_add/cam512_lookup24_add"},
+  {NFP_6000_CPPTGT_MU, 12, 1, 7, 7,
+   "cam256_lookup32_add/cam512_lookup32_add"},
+  {NFP_6000_CPPTGT_MU, 12, 2, 0, 7, "tcam128_lookup8/tcam384_lookup8"},
+  {NFP_6000_CPPTGT_MU, 12, 2, 1, 7, "tcam128_lookup16/tcam384_lookup16"},
+  {NFP_6000_CPPTGT_MU, 12, 2, 2, 7, "tcam128_lookup24/tcam384_lookup24"},
+  {NFP_6000_CPPTGT_MU, 12, 2, 3, 7, "tcam128_lookup32/tcam384_lookup32"},
+  {NFP_6000_CPPTGT_MU, 12, 2, 4, 7, "tcam256_lookup8/tcam512_lookup8"},
+  {NFP_6000_CPPTGT_MU, 12, 2, 5, 7, "tcam256_lookup16/tcam512_lookup16"},
+  {NFP_6000_CPPTGT_MU, 12, 2, 6, 7, "tcam256_lookup24/tcam512_lookup24"},
+  {NFP_6000_CPPTGT_MU, 12, 2, 7, 7, "tcam256_lookup32/tcam512_lookup32"},
+  {NFP_6000_CPPTGT_MU, 12, 3, 0, 7, "lock128/lock384"},
+  {NFP_6000_CPPTGT_MU, 12, 3, 2, 7,
+   "cam128_lookup24_add_inc/cam384_lookup24_add_inc"},
+  {NFP_6000_CPPTGT_MU, 12, 3, 4, 7, "lock256/lock512"},
+  {NFP_6000_CPPTGT_MU, 12, 3, 6, 7,
+   "cam256_lookup24_add_inc/cam512_lookup24_add_inc"},
+  {NFP_6000_CPPTGT_MU, 13, 0, 0, 7, "microq128_get"},
+  {NFP_6000_CPPTGT_MU, 13, 0, 4, 7, "microq256_get"},
+  {NFP_6000_CPPTGT_MU, 13, 1, 0, 7, "microq128_pop"},
+  {NFP_6000_CPPTGT_MU, 13, 1, 4, 7, "microq256_pop"},
+  {NFP_6000_CPPTGT_MU, 13, 2, 0, 7, "microq128_put"},
+  {NFP_6000_CPPTGT_MU, 13, 2, 4, 7, "microq256_put"},
+  {NFP_6000_CPPTGT_MU, 14, 0, 0, 7, "queue128_lock"},
+  {NFP_6000_CPPTGT_MU, 14, 0, 4, 7, "queue256_lock"},
+  {NFP_6000_CPPTGT_MU, 14, 1, 0, 7, "queue128_unlock"},
+  {NFP_6000_CPPTGT_MU, 14, 1, 4, 7, "queue256_unlock"},
+  {NFP_6000_CPPTGT_MU, 15, 0, 0, 0, "xor"},
+  {NFP_6000_CPPTGT_MU, 15, 1, 0, 0, "test_xor"},
+  {NFP_6000_CPPTGT_MU, 15, 2, 0, 0, "xor_imm"},
+  {NFP_6000_CPPTGT_MU, 15, 3, 0, 0, "test_xor_imm"},
+  {NFP_6000_CPPTGT_MU, 16, 0, 0, 0,
+   "ctm.packet_wait_packet_status/emem.rd_qdesc/imem.stats_log"},
+  {NFP_6000_CPPTGT_MU, 16, 1, 0, 0,
+   "ctm.packet_read_packet_status/emem.wr_qdesc/imem.stats_log_sat"},
+  {NFP_6000_CPPTGT_MU, 16, 2, 0, 0,
+   "emem.push_qdesc/imem.stats_log_event"},
+  {NFP_6000_CPPTGT_MU, 16, 3, 0, 0, "imem.stats_log_sat_event"},
+  {NFP_6000_CPPTGT_MU, 17, 0, 0, 0,
+   "ctm.packet_alloc/emem.enqueue/imem.stats_push"},
+  {NFP_6000_CPPTGT_MU, 17, 1, 0, 0,
+   "ctm.packet_credit_get/emem.enqueue_tail/imem.stats_push_clear"},
+  {NFP_6000_CPPTGT_MU, 17, 2, 0, 0, "ctm.packet_alloc_poll/emem.dequeue"},
+  {NFP_6000_CPPTGT_MU, 17, 3, 0, 0, "ctm.packet_add_thread"},
+  {NFP_6000_CPPTGT_MU, 18, 0, 0, 0,
+   "ctm.packet_free/emem.read_queue/imem.lb_write_desc"},
+  {NFP_6000_CPPTGT_MU, 18, 1, 0, 0,
+   "ctm.packet_free_and_signal/emem.read_queue_ring/imem.lb_read_desc"},
+  {NFP_6000_CPPTGT_MU, 18, 2, 0, 0,
+   "ctm.packet_free_and_return_pointer/emem.write_queue"},
+  {NFP_6000_CPPTGT_MU, 18, 3, 0, 0,
+   "ctm.packet_return_pointer/emem.write_queue_ring"},
+  {NFP_6000_CPPTGT_MU, 19, 0, 0, 0,
+   "ctm.packet_complete_drop/emem.add_tail/imem.lb_write_idtable"},
+  {NFP_6000_CPPTGT_MU, 19, 1, 0, 0,
+   "ctm.packet_complete_unicast/emem.qadd_thread/imem.lb_read_idtable"},
+  {NFP_6000_CPPTGT_MU, 19, 2, 0, 0,
+   "ctm.packet_complete_multicast/emem.qadd_work"},
+  {NFP_6000_CPPTGT_MU, 19, 3, 0, 0,
+   "ctm.packet_complete_multicast_free/emem.qadd_work_imm"},
+  {NFP_6000_CPPTGT_MU, 20, 0, 0, 0,
+   "ctm.pe_dma_to_memory_packet/emem.put/imem.lb_bucket_write_local"},
+  {NFP_6000_CPPTGT_MU, 20, 1, 0, 0,
+   "ctm.pe_dma_to_memory_packet_swap/imem.lb_bucket_write_dcache"},
+  {NFP_6000_CPPTGT_MU, 20, 2, 0, 0,
+   "ctm.pe_dma_to_memory_packet_free/emem.journal"},
+  {NFP_6000_CPPTGT_MU, 20, 3, 0, 0,
+   "ctm.pe_dma_to_memory_packet_free_swap"},
+  {NFP_6000_CPPTGT_MU, 21, 0, 0, 0,
+   "ctm.pe_dma_to_memory_indirect/emem.get/imem.lb_bucket_read_local"},
+  {NFP_6000_CPPTGT_MU, 21, 1, 0, 0,
+   "ctm.pe_dma_to_memory_indirect_swap/emem.get_eop/"
+     "imem.lb_bucket_read_dcache"},
+  {NFP_6000_CPPTGT_MU, 21, 2, 0, 0,
+   "ctm.pe_dma_to_memory_indirect_free/emem.get_freely"},
+  {NFP_6000_CPPTGT_MU, 21, 3, 0, 0,
+   "ctm.pe_dma_to_memory_indirect_free_swap"},
+  {NFP_6000_CPPTGT_MU, 22, 0, 0, 0,
+   "ctm.pe_dma_to_memory_buffer/emem.pop/imem.lb_lookup_bundleid"},
+  {NFP_6000_CPPTGT_MU, 22, 1, 0, 0,
+   "ctm.pe_dma_to_memory_buffer_le/emem.pop_eop/imem.lb_lookup_dcache"},
+  {NFP_6000_CPPTGT_MU, 22, 2, 0, 0,
+   "ctm.pe_dma_to_memory_buffer_swap/emem.pop_freely/imem.lb_lookup_idtable"},
+  {NFP_6000_CPPTGT_MU, 22, 3, 0, 0, "ctm.pe_dma_to_memory_buffer_le_swap"},
+  {NFP_6000_CPPTGT_MU, 23, 0, 0, 0,
+   "ctm.pe_dma_from_memory_buffer/emem.fast_journal/imem.lb_push_stats_local"},
+  {NFP_6000_CPPTGT_MU, 23, 1, 0, 0,
+   "ctm.pe_dma_from_memory_buffer_le/emem.fast_journal_sig/"
+     "imem.lb_push_stats_dcache"},
+  {NFP_6000_CPPTGT_MU, 23, 2, 0, 0,
+   "ctm.pe_dma_from_memory_buffer_swap/imem.lb_push_stats_local_clr"},
+  {NFP_6000_CPPTGT_MU, 23, 3, 0, 0,
+   "ctm.pe_dma_from_memory_buffer_le_swap/imem.lb_push_stats_dcache_clr"},
+  {NFP_6000_CPPTGT_MU, 26, 0, 0, 0, "emem.lookup/imem.lookup"},
+  {NFP_6000_CPPTGT_MU, 28, 0, 0, 0, "read32"},
+  {NFP_6000_CPPTGT_MU, 28, 1, 0, 0, "read32_le"},
+  {NFP_6000_CPPTGT_MU, 28, 2, 0, 0, "read32_swap"},
+  {NFP_6000_CPPTGT_MU, 28, 3, 0, 0, "read32_swap_le"},
+  {NFP_6000_CPPTGT_MU, 29, 1, 0, 0, "cam_lookup_add_lock"},
+  {NFP_6000_CPPTGT_MU, 29, 2, 0, 0, "cam_lookup_add_extend"},
+  {NFP_6000_CPPTGT_MU, 29, 3, 0, 0, "cam_lookup_add_inc"},
+  {NFP_6000_CPPTGT_MU, 30, 2, 0, 0, "meter"},
+  {NFP_6000_CPPTGT_MU, 31, 0, 0, 0, "write32"},
+  {NFP_6000_CPPTGT_MU, 31, 1, 0, 0, "write32_le"},
+  {NFP_6000_CPPTGT_MU, 31, 2, 0, 0, "write32_swap"},
+  {NFP_6000_CPPTGT_MU, 31, 3, 0, 0, "write32_swap_le"},
+  {NFP_6000_CPPTGT_PCIE, 0, 0, 0, 0, "read"},
+  {NFP_6000_CPPTGT_PCIE, 0, 1, 0, 0, "read_rid"},
+  {NFP_6000_CPPTGT_PCIE, 1, 0, 0, 0, "write"},
+  {NFP_6000_CPPTGT_PCIE, 1, 1, 0, 0, "write_rid"},
+  {NFP_6000_CPPTGT_PCIE, 1, 2, 0, 0, "write_vdm"},
+  {NFP_6000_CPPTGT_PCIE, 2, 0, 0, 0, "read_int"},
+  {NFP_6000_CPPTGT_PCIE, 3, 0, 0, 0, "write_int"},
+  {NFP_6000_CPPTGT_ARM, 0, 0, 0, 0, "read"},
+  {NFP_6000_CPPTGT_ARM, 1, 0, 0, 0, "write"},
+  {NFP_6000_CPPTGT_CRYPTO, 0, 0, 0, 0, "read"},
+  {NFP_6000_CPPTGT_CRYPTO, 1, 0, 0, 0, "write"},
+  {NFP_6000_CPPTGT_CRYPTO, 2, 0, 0, 0, "write_fifo"},
+  {NFP_6000_CPPTGT_CTXPB, 0, 0, 0, 0, "xpb_read"},
+  {NFP_6000_CPPTGT_CTXPB, 0, 1, 0, 0, "ring_get"},
+  {NFP_6000_CPPTGT_CTXPB, 0, 2, 0, 0, "interthread_signal"},
+  {NFP_6000_CPPTGT_CTXPB, 1, 0, 0, 0, "xpb_write"},
+  {NFP_6000_CPPTGT_CTXPB, 1, 1, 0, 0, "ring_put"},
+  {NFP_6000_CPPTGT_CTXPB, 1, 2, 0, 0, "ctnn_write"},
+  {NFP_6000_CPPTGT_CTXPB, 2, 0, 0, 0, "reflect_read_none"},
+  {NFP_6000_CPPTGT_CTXPB, 2, 1, 0, 0, "reflect_read_sig_init"},
+  {NFP_6000_CPPTGT_CTXPB, 2, 2, 0, 0, "reflect_read_sig_remote"},
+  {NFP_6000_CPPTGT_CTXPB, 2, 3, 0, 0, "reflect_read_sig_both"},
+  {NFP_6000_CPPTGT_CTXPB, 3, 0, 0, 0, "reflect_write_none"},
+  {NFP_6000_CPPTGT_CTXPB, 3, 1, 0, 0, "reflect_write_sig_init"},
+  {NFP_6000_CPPTGT_CTXPB, 3, 2, 0, 0, "reflect_write_sig_remote"},
+  {NFP_6000_CPPTGT_CTXPB, 3, 3, 0, 0, "reflect_write_sig_both"},
+  {NFP_6000_CPPTGT_CLS, 0, 0, 0, 0, "read"},
+  {NFP_6000_CPPTGT_CLS, 0, 1, 0, 0, "read_le"},
+  {NFP_6000_CPPTGT_CLS, 0, 2, 0, 0, "swap/test_compare_write"},
+  {NFP_6000_CPPTGT_CLS, 0, 3, 0, 0, "xor"},
+  {NFP_6000_CPPTGT_CLS, 1, 0, 0, 0, "write"},
+  {NFP_6000_CPPTGT_CLS, 1, 1, 0, 0, "write_le"},
+  {NFP_6000_CPPTGT_CLS, 1, 2, 0, 0, "write8_be"},
+  {NFP_6000_CPPTGT_CLS, 1, 3, 0, 0, "write8_le"},
+  {NFP_6000_CPPTGT_CLS, 2, 0, 0, 0, "set"},
+  {NFP_6000_CPPTGT_CLS, 2, 1, 0, 0, "clr"},
+  {NFP_6000_CPPTGT_CLS, 2, 2, 0, 0, "test_set"},
+  {NFP_6000_CPPTGT_CLS, 2, 3, 0, 0, "test_clr"},
+  {NFP_6000_CPPTGT_CLS, 3, 0, 0, 0, "set_imm"},
+  {NFP_6000_CPPTGT_CLS, 3, 1, 0, 0, "clr_imm"},
+  {NFP_6000_CPPTGT_CLS, 3, 2, 0, 0, "test_set_imm"},
+  {NFP_6000_CPPTGT_CLS, 3, 3, 0, 0, "test_clr_imm"},
+  {NFP_6000_CPPTGT_CLS, 4, 0, 0, 0, "add"},
+  {NFP_6000_CPPTGT_CLS, 4, 1, 0, 0, "add64"},
+  {NFP_6000_CPPTGT_CLS, 4, 2, 0, 0, "addsat"},
+  {NFP_6000_CPPTGT_CLS, 5, 0, 0, 0, "add_imm"},
+  {NFP_6000_CPPTGT_CLS, 5, 1, 0, 0, "add64_imm"},
+  {NFP_6000_CPPTGT_CLS, 5, 2, 0, 0, "addsat_imm"},
+  {NFP_6000_CPPTGT_CLS, 6, 0, 0, 0, "sub"},
+  {NFP_6000_CPPTGT_CLS, 6, 1, 0, 0, "sub64"},
+  {NFP_6000_CPPTGT_CLS, 6, 2, 0, 0, "subsat"},
+  {NFP_6000_CPPTGT_CLS, 7, 0, 0, 0, "sub_imm"},
+  {NFP_6000_CPPTGT_CLS, 7, 1, 0, 0, "sub64_imm"},
+  {NFP_6000_CPPTGT_CLS, 7, 2, 0, 0, "subsat_imm"},
+  {NFP_6000_CPPTGT_CLS, 8, 0, 0, 0, "queue_lock"},
+  {NFP_6000_CPPTGT_CLS, 8, 1, 0, 0, "queue_unlock"},
+  {NFP_6000_CPPTGT_CLS, 8, 2, 0, 0, "hash_mask"},
+  {NFP_6000_CPPTGT_CLS, 8, 3, 0, 0, "hash_mask_clear"},
+  {NFP_6000_CPPTGT_CLS, 9, 0, 0, 0, "get"},
+  {NFP_6000_CPPTGT_CLS, 9, 1, 0, 0, "pop"},
+  {NFP_6000_CPPTGT_CLS, 9, 2, 0, 0, "get_safe"},
+  {NFP_6000_CPPTGT_CLS, 9, 3, 0, 0, "pop_safe"},
+  {NFP_6000_CPPTGT_CLS, 10, 0, 0, 0, "ring_put"},
+  {NFP_6000_CPPTGT_CLS, 10, 2, 0, 0, "ring_journal"},
+  {NFP_6000_CPPTGT_CLS, 11, 0, 0, 0, "cam_lookup32"},
+  {NFP_6000_CPPTGT_CLS, 11, 1, 0, 0, "cam_lookup32_add"},
+  {NFP_6000_CPPTGT_CLS, 11, 2, 0, 0, "cam_lookup24"},
+  {NFP_6000_CPPTGT_CLS, 11, 3, 0, 0, "cam_lookup24_add"},
+  {NFP_6000_CPPTGT_CLS, 12, 0, 0, 0, "cam_lookup8"},
+  {NFP_6000_CPPTGT_CLS, 12, 1, 0, 0, "cam_lookup8_add"},
+  {NFP_6000_CPPTGT_CLS, 12, 2, 0, 0, "cam_lookup16"},
+  {NFP_6000_CPPTGT_CLS, 12, 3, 0, 0, "cam_lookup16_add"},
+  {NFP_6000_CPPTGT_CLS, 13, 0, 0, 0, "tcam_lookup32"},
+  {NFP_6000_CPPTGT_CLS, 13, 1, 0, 0, "tcam_lookup24"},
+  {NFP_6000_CPPTGT_CLS, 13, 2, 0, 0, "tcam_lookup16"},
+  {NFP_6000_CPPTGT_CLS, 13, 3, 0, 0, "tcam_lookup8"},
+  {NFP_6000_CPPTGT_CLS, 14, 0, 0, 0, "reflect_write_sig_local"},
+  {NFP_6000_CPPTGT_CLS, 14, 1, 0, 0, "reflect_write_sig_remote"},
+  {NFP_6000_CPPTGT_CLS, 14, 2, 0, 0, "reflect_write_sig_both"},
+  {NFP_6000_CPPTGT_CLS, 15, 0, 0, 0, "reflect_read_sig_remote"},
+  {NFP_6000_CPPTGT_CLS, 15, 1, 0, 0, "reflect_read_sig_local"},
+  {NFP_6000_CPPTGT_CLS, 15, 2, 0, 0, "reflect_read_sig_both"},
+  {NFP_6000_CPPTGT_CLS, 16, 1, 0, 0, "cam_lookup32_add_lock"},
+  {NFP_6000_CPPTGT_CLS, 16, 2, 0, 0, "cam_lookup24_add_inc"},
+  {NFP_6000_CPPTGT_CLS, 16, 3, 0, 0, "cam_lookup32_add_extend"},
+  {NFP_6000_CPPTGT_CLS, 17, 0, 0, 0, "meter"},
+  {NFP_6000_CPPTGT_CLS, 17, 2, 0, 0, "statistic"},
+  {NFP_6000_CPPTGT_CLS, 17, 3, 0, 0, "statistic_imm"},
+  {NFP_6000_CPPTGT_CLS, 20, 0, 0, 0, "test_add"},
+  {NFP_6000_CPPTGT_CLS, 20, 1, 0, 0, "test_add64"},
+  {NFP_6000_CPPTGT_CLS, 20, 2, 0, 0, "test_addsat"},
+  {NFP_6000_CPPTGT_CLS, 21, 0, 0, 0, "test_add_imm"},
+  {NFP_6000_CPPTGT_CLS, 21, 1, 0, 0, "test_add64_imm"},
+  {NFP_6000_CPPTGT_CLS, 21, 2, 0, 0, "test_addsat_imm"},
+  {NFP_6000_CPPTGT_CLS, 22, 0, 0, 0, "test_sub"},
+  {NFP_6000_CPPTGT_CLS, 22, 1, 0, 0, "test_sub64"},
+  {NFP_6000_CPPTGT_CLS, 22, 2, 0, 0, "test_subsat"},
+  {NFP_6000_CPPTGT_CLS, 23, 0, 0, 0, "test_sub_imm"},
+  {NFP_6000_CPPTGT_CLS, 23, 1, 0, 0, "test_sub64_imm"},
+  {NFP_6000_CPPTGT_CLS, 23, 2, 0, 0, "test_subsat_imm"},
+  {NFP_6000_CPPTGT_CLS, 24, 0, 0, 0, "ring_read"},
+  {NFP_6000_CPPTGT_CLS, 24, 1, 0, 0, "ring_write"},
+  {NFP_6000_CPPTGT_CLS, 24, 2, 0, 0, "ring_ordered_lock"},
+  {NFP_6000_CPPTGT_CLS, 24, 3, 0, 0, "ring_ordered_unlock"},
+  {NFP_6000_CPPTGT_CLS, 25, 0, 0, 0, "ring_workq_add_thread"},
+  {NFP_6000_CPPTGT_CLS, 25, 1, 0, 0, "ring_workq_add_work"}
+};
+
+static int
+nfp_me_print_invalid (uint64_t instr, struct disassemble_info *dinfo)
+{
+  const char * err_msg = N_("<invalid_instruction>:");
+  dinfo->fprintf_func (dinfo->stream, "%s 0x%" PRIx64, err_msg, instr);
+  return _NFP_ERR_CONT;
+}
+
+static bfd_boolean
+nfp_me_is_imm_opnd10 (unsigned int opnd)
+{
+  return _BF (opnd, 9, 8) == 0x3;
+}
+
+static bfd_boolean
+nfp_me_is_imm_opnd8 (unsigned int opnd)
+{
+  return _BTST (opnd, 5);
+}
+
+static unsigned int
+nfp_me_imm_opnd10 (unsigned int opnd)
+{
+  return nfp_me_is_imm_opnd10 (opnd) ? (opnd & 0xff) : ~0U;
+}
+
+static unsigned int
+nfp_me_imm_opnd8 (unsigned int opnd, unsigned int imm8_msb)
+{
+  unsigned int v = (imm8_msb << 7) | _BFS (opnd, 7, 6, 5) | _BF (opnd, 4, 0);
+
+  return nfp_me_is_imm_opnd8 (opnd) ? v : ~0U;
+}
+
+/* Print an unrestricted/10-bit operand.
+   This can mostly be generic across NFP families at the moment.  */
+static bfd_boolean
+nfp_me_print_opnd10 (unsigned int opnd, char bank, int num_ctx, int lmem_ext,
+		     struct disassemble_info *dinfo)
+{
+  unsigned int n = _BF (opnd, (num_ctx == 8) ? 3 : 4, 0);
+
+  /* Absolute GPR.  */
+  if (_BF (opnd, 9, 7) == 0x1)
+    dinfo->fprintf_func (dinfo->stream, "@gpr%c_%d", bank, _BF (opnd, 6, 0));
+
+  /* Relative GPR.  */
+  else if (_BF (opnd, 9, 6) == 0x0)
+    dinfo->fprintf_func (dinfo->stream, "gpr%c_%d", bank, n);
+
+  /* Indexed Xfer.  */
+  else if (_BF (opnd, 9, 7) == 0x2)
+    {
+      dinfo->fprintf_func (dinfo->stream, "*$index");
+      if (_BF (opnd, 2, 1) == 0x1)
+	dinfo->fprintf_func (dinfo->stream, "++");
+      else if (_BF (opnd, 2, 1) == 0x2)
+	dinfo->fprintf_func (dinfo->stream, "--");
+    }
+
+  /* Relative Xfer.  */
+  else if (_BF (opnd, 9, 7) == 0x3)
+    {
+      if (_BTST (opnd, 6))
+	n += (num_ctx == 8 ? 16 : 32);
+      dinfo->fprintf_func (dinfo->stream, "$xfer_%d", n);
+    }
+
+  /* Indexed Next Neighbour.  */
+  else if (_BF (opnd, 9, 6) == 0x9)
+    {
+      dinfo->fprintf_func (dinfo->stream, "*n$index");
+      if (_BTST (opnd, 1))
+	dinfo->fprintf_func (dinfo->stream, "++");
+    }
+
+  /* Relative Next Neighbour.  */
+  else if (_BF (opnd, 9, 6) == 0xa)
+    {
+      dinfo->fprintf_func (dinfo->stream, "n$reg_%d", n);
+    }
+
+  /* Indexed LMEM.  */
+  else if (_BF (opnd, 9, 6) == 0x8)
+    {
+      n = _BF (opnd, 5, 5) + (lmem_ext * 2);
+      dinfo->fprintf_func (dinfo->stream, "*l$index%d", n);
+      if (_BTST (opnd, 4))
+	dinfo->fprintf_func (dinfo->stream, _BTST (opnd, 0) ? "--" : "++");
+      else if (_BF (opnd, 3, 0))
+	dinfo->fprintf_func (dinfo->stream, "[%d]", _BF (opnd, 3, 0));
+    }
+
+  /* 8-bit Constant value.  */
+  else if (_BF (opnd, 9, 8) == 0x3)
+    dinfo->fprintf_func (dinfo->stream, "0x%x", _BF (opnd, 7, 0));
+
+  else
+    {
+      dinfo->fprintf_func (dinfo->stream, "<opnd:0x%x>", opnd);
+      return FALSE;
+    }
+
+  return TRUE;
+}
+
+/* Print a restricted/8-bit operand.
+   This can mostly be generic across NFP families at the moment.  */
+
+static bfd_boolean
+nfp_me_print_opnd8 (unsigned int opnd, char bank, int num_ctx, int lmem_ext,
+		    unsigned int imm8_msb, struct disassemble_info *dinfo)
+{
+  unsigned int n = _BF (opnd, (num_ctx == 8) ? 3 : 4, 0);
+
+  /* Relative GPR.  */
+  if (_BF (opnd, 7, 5) == 0x0)
+    dinfo->fprintf_func (dinfo->stream, "gpr%c_%d", bank, n);
+
+  /* Relative Xfer.  */
+  else if (_BF (opnd, 7, 5) == 0x4)
+    dinfo->fprintf_func (dinfo->stream, "$xfer_%d", n);
+
+  /* Relative Xfer.  */
+  else if (_BF (opnd, 7, 5) == 0x6)
+    {
+      n += (num_ctx == 8 ? 16 : 32);
+      dinfo->fprintf_func (dinfo->stream, "$xfer_%d", n);
+    }
+
+  /* Indexed Xfer.  */
+  else if ((_BF (opnd, 7, 4) == 0x4) && (!_BTST (opnd, 0)))
+    {
+      dinfo->fprintf_func (dinfo->stream, "*$index");
+      if (_BF (opnd, 2, 1) == 0x1)
+	dinfo->fprintf_func (dinfo->stream, "++");
+      else if (_BF (opnd, 2, 1) == 0x2)
+	dinfo->fprintf_func (dinfo->stream, "--");
+    }
+
+  /* Indexed NN.  */
+  else if ((_BF (opnd, 7, 4) == 0x4) && (_BTST (opnd, 0)))
+    {
+      dinfo->fprintf_func (dinfo->stream, "*n$index");
+      if (_BTST (opnd, 1))
+	dinfo->fprintf_func (dinfo->stream, "++");
+    }
+
+  /* Indexed LMEM.  */
+  else if (_BF (opnd, 7, 4) == 0x5)
+    {
+      n = _BF (opnd, 3, 3) + (lmem_ext * 2);
+      dinfo->fprintf_func (dinfo->stream, "*l$index%d", n);
+      if (_BF (opnd, 2, 0))
+	dinfo->fprintf_func (dinfo->stream, "[%d]", _BF (opnd, 2, 0));
+    }
+
+  /* 7+1-bit Constant value.  */
+  else if (_BTST (opnd, 5))
+    {
+      n = (imm8_msb << 7) | _BFS (opnd, 7, 6, 5) | _BF (opnd, 4, 0);
+      dinfo->fprintf_func (dinfo->stream, "0x%x", n);
+    }
+
+  else
+    {
+      dinfo->fprintf_func (dinfo->stream, "<opnd:0x%x>", opnd);
+      return FALSE;
+    }
+
+  return TRUE;
+}
+
+static int
+nfp_me27_28_print_alu_shf (uint64_t instr, unsigned int pred_cc,
+			   unsigned int dst_lmext, unsigned int src_lmext,
+			   unsigned int gpr_wrboth,
+			   int num_ctx, struct disassemble_info *dinfo)
+{
+  unsigned int op = _BF (instr, 35, 33);
+  unsigned int srcA = _BF (instr, 7, 0);
+  unsigned int srcB = _BF (instr, 17, 10);
+  unsigned int dst = _BF (instr, 27, 20);
+  unsigned int sc = _BF (instr, 9, 8);
+  unsigned int imm_msb = _BTST (instr, 18);
+  unsigned int swap = _BTST (instr, 19);
+  unsigned int shift = _BF (instr, 32, 28);
+  char dst_bank = 'A' + _BTST (instr, 36);
+  unsigned int nocc = _BTST (instr, 40);
+  bfd_boolean err = FALSE;
+
+  if (swap)
+    {
+      unsigned int tmp = srcA;
+      srcA = srcB;
+      srcB = tmp;
+    }
+
+  /* alu_shf, dbl_shf, asr.  */
+  if (op < 7)
+    {
+      if (sc == 3)
+	dinfo->fprintf_func (dinfo->stream, "dbl_shf[");
+      else if (op == 6)
+	dinfo->fprintf_func (dinfo->stream, "asr[");
+      else
+	dinfo->fprintf_func (dinfo->stream, "alu_shf[");
+
+      /* dest operand */
+      if (nfp_me_is_imm_opnd8 (dst))
+	dinfo->fprintf_func (dinfo->stream, "--");
+      else
+	err = err || !nfp_me_print_opnd8 (dst, dst_bank, num_ctx,
+					  dst_lmext, imm_msb, dinfo);
+
+      dinfo->fprintf_func (dinfo->stream, ", ");
+
+      /* A operand.  */
+      if (op != 6)
+	{
+	  if ((op < 2) && (sc != 3))	/* Not dbl_shf.  */
+	    dinfo->fprintf_func (dinfo->stream, "--");	/* B or ~B operator.  */
+	  else
+	    err = err || !nfp_me_print_opnd8 (srcA, (swap) ? 'B' : 'A',
+					      num_ctx, src_lmext, imm_msb,
+					      dinfo);
+
+	  dinfo->fprintf_func (dinfo->stream, ", ");
+
+	  /* Operator (not for dbl_shf).  */
+	  if (sc != 3)
+	    {
+	      dinfo->fprintf_func (dinfo->stream, "%s, ",
+				   nfp_mealu_shf_op[op]);
+	    }
+	}
+
+      /* B operand.  */
+      err = err || !nfp_me_print_opnd8 (srcB, (swap) ? 'A' : 'B',
+					num_ctx, src_lmext, imm_msb, dinfo);
+
+      dinfo->fprintf_func (dinfo->stream, ", ");
+
+      /* Shift */
+      if (sc == 0)
+	dinfo->fprintf_func (dinfo->stream, ">>rot%d", shift);
+      else if (sc == 2)
+	{
+	  if (shift)
+	    dinfo->fprintf_func (dinfo->stream, "<<%d", (32 - shift));
+	  else
+	    dinfo->fprintf_func (dinfo->stream, "<<indirect");
+	}
+      else
+	{
+	  if (shift)
+	    dinfo->fprintf_func (dinfo->stream, ">>%d", shift);
+	  else
+	    dinfo->fprintf_func (dinfo->stream, ">>indirect");
+	}
+    }
+  /* Byte Align.  */
+  else if (op == 7)
+    {
+      dinfo->fprintf_func (dinfo->stream, "byte_align_%s[",
+			   ((sc == 2) ? "le" : "be"));
+
+      /* Dest operand.  */
+      if (nfp_me_is_imm_opnd8 (dst))
+	dinfo->fprintf_func (dinfo->stream, "--");
+      else
+	err = err || !nfp_me_print_opnd8 (dst, dst_bank, num_ctx,
+					  dst_lmext, imm_msb, dinfo);
+
+      dinfo->fprintf_func (dinfo->stream, ", ");
+
+      if (sc == 2)
+	err = err || !nfp_me_print_opnd8 (srcA, (swap) ? 'B' : 'A', num_ctx,
+					  0, imm_msb, dinfo);
+      else
+	err = err || !nfp_me_print_opnd8 (srcB, (swap) ? 'A' : 'B', num_ctx,
+					  0, imm_msb, dinfo);
+    }
+
+  dinfo->fprintf_func (dinfo->stream, "]");
+  if (nocc)
+    dinfo->fprintf_func (dinfo->stream, ", no_cc");
+  if (gpr_wrboth)
+    dinfo->fprintf_func (dinfo->stream, ", gpr_wrboth");
+  if (pred_cc)
+    dinfo->fprintf_func (dinfo->stream, ", predicate_cc");
+
+  if (err)
+    return _NFP_ERR_CONT;
+  return 0;
+}
+
+static int
+nfp_me27_28_print_alu (uint64_t instr, unsigned int pred_cc,
+		       unsigned int dst_lmext, unsigned int src_lmext,
+		       unsigned int gpr_wrboth,
+		       int num_ctx, struct disassemble_info *dinfo)
+{
+  unsigned int op = _BF (instr, 35, 31);
+  unsigned int srcA = _BF (instr, 9, 0);
+  unsigned int srcB = _BF (instr, 19, 10);
+  unsigned int dst = _BF (instr, 29, 20);
+  unsigned int swap = _BTST (instr, 30);
+  char dst_bank = 'A' + _BTST (instr, 36);
+  unsigned int nocc = _BTST (instr, 40);
+  int do_close_bracket = 1;
+  bfd_boolean err = FALSE;
+
+  if (swap)
+    {
+      unsigned int tmp = srcA;
+      srcA = srcB;
+      srcB = tmp;
+    }
+
+  switch (op)
+    {
+    case 3:			/* pop_count3[dst, srcB] */
+    case 6:			/* pop_count1[srcB] */
+    case 7:			/* pop_count2[srcB] */
+    case 14:			/* ffs[dst, srcB] */
+    case 15:			/* cam_read_tag[dst, srcB] */
+    case 31:			/* cam_read_state[dst, srcB] */
+      dinfo->fprintf_func (dinfo->stream, "%s[", nfp_me27_28_alu_op[op]);
+
+      /* No dest for pop_count1/2.  */
+      if ((op != 6) && (op != 7))
+	{
+	  /* dest operand */
+	  if (nfp_me_is_imm_opnd10 (dst))
+	    dinfo->fprintf_func (dinfo->stream, "--");
+	  else
+	    err = err || !nfp_me_print_opnd10 (dst, dst_bank, num_ctx,
+					       dst_lmext, dinfo);
+
+	  dinfo->fprintf_func (dinfo->stream, ", ");
+	}
+
+      /* B operand.  */
+      err = err || !nfp_me_print_opnd10 (srcB, (swap) ? 'A' : 'B',
+					 num_ctx, src_lmext, dinfo);
+      break;
+ 
+      /* cam_clear.  */
+    case 11:
+      do_close_bracket = 0;
+      dinfo->fprintf_func (dinfo->stream, "cam_clear");
+      break;
+
+      /* cam_lookup.  */
+    case 23:
+      do_close_bracket = 0;
+      dinfo->fprintf_func (dinfo->stream, "%s[", nfp_me27_28_alu_op[op]);
+
+      /* Dest operand.  */
+      if (nfp_me_is_imm_opnd10 (dst))
+	dinfo->fprintf_func (dinfo->stream, "--");
+      else
+	err = err || !nfp_me_print_opnd10 (dst, dst_bank, num_ctx,
+					   dst_lmext, dinfo);
+
+      dinfo->fprintf_func (dinfo->stream, ", ");
+
+      /* A operand.  */
+      err = err || !nfp_me_print_opnd10 (srcA, (swap) ? 'B' : 'A',
+					 num_ctx, src_lmext, dinfo);
+
+      dinfo->fprintf_func (dinfo->stream, "]");
+
+      if (_BF (srcB, 1, 0))
+	{
+	  unsigned int n = _BTST (srcB, 1);
+	  if (_BTST (srcB, 4))	/* Only for MEv28.  */
+	    n += 2;
+	  dinfo->fprintf_func (dinfo->stream, ", lm_addr%d[%d]", n,
+			       _BF (srcB, 3, 2));
+	}
+
+      break;
+
+    case 19:      /* cam_write.  */
+    case 27:      /* cam_write_state.  */
+      dinfo->fprintf_func (dinfo->stream, "%s[", nfp_me27_28_alu_op[op]);
+      err = err || !nfp_me_print_opnd10 (srcB, (swap) ? 'A' : 'B',
+					 num_ctx, src_lmext, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", ");
+      if (op == 19)
+	{
+	  err = err || !nfp_me_print_opnd10 (srcA, (swap) ? 'B' : 'A',
+					     num_ctx, src_lmext, dinfo);
+	  dinfo->fprintf_func (dinfo->stream, ", ");
+	}
+      dinfo->fprintf_func (dinfo->stream, "%d", (dst & 0xf));
+      break;
+
+      /* CRC.  */
+    case 18:	
+      do_close_bracket = 0;
+      dinfo->fprintf_func (dinfo->stream, "crc_%s[",
+			   _BTST (instr, 3) ? "le" : "be");
+      if (!nfp_me27_28_crc_op[_BF (instr, 7, 5)])
+	{
+	  dinfo->fprintf_func (dinfo->stream, _(", <invalid CRC operator>, "));
+	  err = TRUE;
+	}
+      else
+	{
+	  dinfo->fprintf_func (dinfo->stream, "%s, ",
+			       nfp_me27_28_crc_op[_BF (instr, 7, 5)]);
+	}
+
+      /* Dest operand.  */
+      if (nfp_me_is_imm_opnd10 (dst))
+	dinfo->fprintf_func (dinfo->stream, "--");
+      else
+	err = err || !nfp_me_print_opnd10 (dst, dst_bank, num_ctx,
+					   dst_lmext, dinfo);
+
+      dinfo->fprintf_func (dinfo->stream, ", ");
+
+      /* B operand.  */
+      err = err || !nfp_me_print_opnd10 (srcB, (swap) ? 'A' : 'B',
+					 num_ctx, src_lmext, dinfo);
+
+      dinfo->fprintf_func (dinfo->stream, "]");
+      if (_BF (instr, 2, 0))
+	dinfo->fprintf_func (dinfo->stream, ", %s",
+			     nfp_me27_28_crc_bytes[_BF (instr, 2, 0)]);
+      if (_BTST (instr, 4))
+	dinfo->fprintf_func (dinfo->stream, ", bit_swap");
+      break;
+
+    default:
+      /* s += 'alu[%s, %s, %s, %s]' % (dst, srcAs, op, srcBs).  */
+      dinfo->fprintf_func (dinfo->stream, "alu[");
+
+      /* Dest operand.  */
+      if (nfp_me_is_imm_opnd10 (dst))
+	dinfo->fprintf_func (dinfo->stream, "--");
+      else
+	err = err || !nfp_me_print_opnd10 (dst, dst_bank, num_ctx,
+					   dst_lmext, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", ");
+
+      /* A operand.  */
+      if ((op == 0) || (op == 4))	/* B only operators.  */
+	dinfo->fprintf_func (dinfo->stream, "--");
+      else
+	err = err || !nfp_me_print_opnd10 (srcA, (swap) ? 'B' : 'A',
+					   num_ctx, src_lmext, dinfo);
+
+      if (!nfp_me27_28_alu_op[op])
+	{
+	  dinfo->fprintf_func (dinfo->stream, ", <operator:0x%x>, ", op);
+	  err = TRUE;
+	}
+      else
+	{
+	  dinfo->fprintf_func (dinfo->stream, ", %s, ",
+			       nfp_me27_28_alu_op[op]);
+	}
+
+      /* B operand.  */
+      err = err || !nfp_me_print_opnd10 (srcB, (swap) ? 'A' : 'B',
+					 num_ctx, src_lmext, dinfo);
+      break;
+    }
+
+  if (do_close_bracket)
+    dinfo->fprintf_func (dinfo->stream, "]");
+
+  if (nocc)
+    dinfo->fprintf_func (dinfo->stream, ", no_cc");
+  if (gpr_wrboth)
+    dinfo->fprintf_func (dinfo->stream, ", gpr_wrboth");
+  if (pred_cc)
+    dinfo->fprintf_func (dinfo->stream, ", predicate_cc");
+
+  if (err)
+    return _NFP_ERR_CONT;
+  return 0;
+}
+
+static int
+nfp_me27_28_print_immed (uint64_t instr, unsigned int pred_cc,
+			 unsigned int dst_lmext,
+			 unsigned int gpr_wrboth,
+			 int num_ctx, struct disassemble_info *dinfo)
+{
+  unsigned int srcA = _BF (instr, 9, 0);
+  unsigned int srcB = _BF (instr, 19, 10);
+  unsigned int imm = _BF (instr, 27, 20);
+  unsigned int by = _BTST (instr, 29);
+  unsigned int wd = _BTST (instr, 30);
+  unsigned int inv = _BTST (instr, 31);
+  unsigned int byte_shift = _BF (instr, 34, 33);
+  bfd_boolean err = FALSE;
+
+  if (nfp_me_is_imm_opnd10 (srcB))
+    {
+      imm = (imm << 8) | nfp_me_imm_opnd10 (srcB);
+      if (nfp_me_is_imm_opnd10 (srcA) && (imm == 0))
+	{
+	  dinfo->fprintf_func (dinfo->stream, "nop");
+	  return 0;
+	}
+    }
+  else
+    {
+      imm = (imm << 8) | nfp_me_imm_opnd10 (srcA);
+    }
+
+  if (inv)
+    imm = (imm ^ 0xffff) | 0xffff0000U;
+
+  if (by)
+    {
+      dinfo->fprintf_func (dinfo->stream, "immed_b%d[", byte_shift);
+      imm &= 0xff;
+    }
+  else if (wd)
+    {
+      dinfo->fprintf_func (dinfo->stream, "immed_w%d[", (byte_shift / 2));
+      imm &= 0xffff;
+    }
+  else
+    dinfo->fprintf_func (dinfo->stream, "immed[");
+
+  /* Dest.  */
+  if (nfp_me_is_imm_opnd10 (srcA) && nfp_me_is_imm_opnd10 (srcB))
+    dinfo->fprintf_func (dinfo->stream, "--");	/* No Dest.  */
+  else if (nfp_me_is_imm_opnd10 (srcA))
+    err = err || !nfp_me_print_opnd10 (srcB, 'B', num_ctx, dst_lmext, dinfo);
+  else
+    err = err || !nfp_me_print_opnd10 (srcA, 'A', num_ctx, dst_lmext, dinfo);
+
+  dinfo->fprintf_func (dinfo->stream, ", 0x%x", imm);
+
+  if ((!by) && (!wd) && (byte_shift))
+    dinfo->fprintf_func (dinfo->stream, ", <<%d", (byte_shift * 8));
+
+  dinfo->fprintf_func (dinfo->stream, "]");
+
+  if (gpr_wrboth)
+    dinfo->fprintf_func (dinfo->stream, ", gpr_wrboth");
+  if (pred_cc)
+    dinfo->fprintf_func (dinfo->stream, ", predicate_cc");
+
+  if (err)
+    return _NFP_ERR_CONT;
+  return 0;
+}
+
+static int
+nfp_me27_28_print_ld_field (uint64_t instr, unsigned int pred_cc,
+			    unsigned int dst_lmext, unsigned int src_lmext,
+			    unsigned int gpr_wrboth,
+			    int num_ctx, struct disassemble_info *dinfo)
+{
+  unsigned int load_cc = _BTST (instr, 34);
+  unsigned int shift = _BF (instr, 32, 28);
+  unsigned int byte_mask = _BF (instr, 27, 24);
+  unsigned int zerof = _BTST (instr, 20);
+  unsigned int swap = _BTST (instr, 19);
+  unsigned int imm_msb = _BTST (instr, 18);
+  unsigned int src = _BF (instr, 17, 10);
+  unsigned int sc = _BF (instr, 9, 8);
+  unsigned int dst = _BF (instr, 7, 0);
+  bfd_boolean err = FALSE;
+
+  if (swap)
+    {
+      unsigned int tmp = src;
+      src = dst;
+      dst = tmp;
+    }
+
+  if (zerof)
+    dinfo->fprintf_func (dinfo->stream, "ld_field_w_clr[");
+  else
+    dinfo->fprintf_func (dinfo->stream, "ld_field[");
+
+  err = err || !nfp_me_print_opnd8 (dst, (swap) ? 'B' : 'A', num_ctx,
+				    dst_lmext, imm_msb, dinfo);
+  dinfo->fprintf_func (dinfo->stream, ", %d%d%d%d, ",
+		       _BTST (byte_mask, 3),
+		       _BTST (byte_mask, 2),
+		       _BTST (byte_mask, 1), _BTST (byte_mask, 0));
+  err = err || !nfp_me_print_opnd8 (src, (swap) ? 'A' : 'B', num_ctx,
+				    src_lmext, imm_msb, dinfo);
+
+  if ((sc == 0) && (shift != 0))
+    dinfo->fprintf_func (dinfo->stream, ", >>rot%d", shift);
+  else if (sc == 1)
+    {
+      if (shift)
+	dinfo->fprintf_func (dinfo->stream, ", >>%d", shift);
+      else
+	dinfo->fprintf_func (dinfo->stream, ", >>indirect");
+    }
+  else if (sc == 2)
+    {
+      if (shift)
+	dinfo->fprintf_func (dinfo->stream, ", <<%d", (32 - shift));
+      else
+	dinfo->fprintf_func (dinfo->stream, ", <<indirect");
+    }
+  else if (sc == 3)
+    dinfo->fprintf_func (dinfo->stream, ", >>dbl%d", shift);
+
+  dinfo->fprintf_func (dinfo->stream, "]");
+
+  if (load_cc)
+    dinfo->fprintf_func (dinfo->stream, ", load_cc");
+  if (gpr_wrboth)
+    dinfo->fprintf_func (dinfo->stream, ", gpr_wrboth");
+  if (pred_cc)
+    dinfo->fprintf_func (dinfo->stream, ", predicate_cc");
+
+  if (err)
+    return _NFP_ERR_CONT;
+  return 0;
+}
+
+static int
+nfp_me27_28_print_ctx_arb (uint64_t instr, struct disassemble_info *dinfo)
+{
+  unsigned int resume_addr = _BFS (instr, 40, 40, 13) | _BF (instr, 34, 22);
+  unsigned int defer = _BF (instr, 21, 20);
+  unsigned int no_load = _BTST (instr, 19);
+  unsigned int resume = _BTST (instr, 18);
+  unsigned int bpt = _BTST (instr, 17);
+  unsigned int sig_or = _BTST (instr, 16);
+  unsigned int ev_mask = _BF (instr, 15, 0);
+
+  dinfo->fprintf_func (dinfo->stream, "ctx_arb[");
+  if (bpt)
+    dinfo->fprintf_func (dinfo->stream, "bpt");
+  else if (ev_mask == 1)
+    dinfo->fprintf_func (dinfo->stream, "voluntary");
+  else if ((!no_load) && (ev_mask == 0))
+    {
+      dinfo->fprintf_func (dinfo->stream, "kill");
+      sig_or = 0;
+    }
+  else if (ev_mask == 0)
+    dinfo->fprintf_func (dinfo->stream, "--");
+  else
+    {
+      int first_print = 1;
+      unsigned int n;
+
+      for (n = 1; n < 16; n++)
+	{
+	  if (!_BTST (ev_mask, n))
+	    continue;
+	  dinfo->fprintf_func (dinfo->stream, "%ssig%d",
+			       (first_print) ? "" : ", ", n);
+	  first_print = 0;
+	}
+    }
+
+  dinfo->fprintf_func (dinfo->stream, "]");
+
+  if (sig_or)
+    dinfo->fprintf_func (dinfo->stream, ", any");
+  if (resume)
+    dinfo->fprintf_func (dinfo->stream, ", br[.%d]", resume_addr);
+  if (defer)
+    dinfo->fprintf_func (dinfo->stream, ", defer[%d]", defer);
+
+  return 0;
+}
+
+static int
+nfp_me27_28_print_local_csr (uint64_t instr,
+			     unsigned int src_lmext,
+			     int num_ctx, struct disassemble_info *dinfo)
+{
+  unsigned int srcA = _BF (instr, 9, 0);
+  unsigned int srcB = _BF (instr, 19, 10);
+  unsigned int wr = _BTST (instr, 21);
+  unsigned int csr_num = _BF (instr, 32, 22);
+  unsigned int src = srcA;
+  char src_bank = 'A';
+  bfd_boolean err = FALSE;
+
+  if (nfp_me_is_imm_opnd10 (srcA) && !nfp_me_is_imm_opnd10 (srcB))
+    {
+      src_bank = 'B';
+      src = srcB;
+    }
+
+  /* MEv28 does not have urd/uwr.  */
+  if (csr_num == 1)
+    {
+      if (wr)
+	{
+	  dinfo->fprintf_func (dinfo->stream, "uwr[*u$index%d++, ",
+			       (int) _BTST (instr, 20));
+	  err = err || !nfp_me_print_opnd10 (src, src_bank, num_ctx,
+					     src_lmext, dinfo);
+	}
+      else
+	{
+	  dinfo->fprintf_func (dinfo->stream, "urd[");
+	  err = err || !nfp_me_print_opnd10 (src, src_bank, num_ctx,
+					     src_lmext, dinfo);
+	  dinfo->fprintf_func (dinfo->stream, ", *u$index%d++",
+			       (int) _BTST (instr, 20));
+	}
+      dinfo->fprintf_func (dinfo->stream, "]");
+    }
+  else
+    {
+      const char *nm = NULL;
+
+      if (csr_num < ARRAY_SIZE (nfp_me27_28_mecsrs))
+	nm = nfp_me27_28_mecsrs[csr_num];
+
+      dinfo->fprintf_func (dinfo->stream, "local_csr_%s[",
+			   (wr) ? "wr" : "rd");
+      if (nm)
+	dinfo->fprintf_func (dinfo->stream, "%s", nm);
+      else
+	dinfo->fprintf_func (dinfo->stream, "0x%x", (csr_num * 4));
+
+      if (wr)
+	{
+	  dinfo->fprintf_func (dinfo->stream, ", ");
+	  err = err || !nfp_me_print_opnd10 (src, src_bank, num_ctx,
+					     src_lmext, dinfo);
+	}
+      dinfo->fprintf_func (dinfo->stream, "]");
+    }
+
+  if (err)
+    return _NFP_ERR_CONT;
+  return 0;
+}
+
+static int
+nfp_me27_28_print_branch (uint64_t instr,
+			  const char *br_inpstates[16],
+			  struct disassemble_info *dinfo)
+{
+  unsigned int br_op = _BF (instr, 4, 0);
+  unsigned int ctx_sig_state = _BF (instr, 17, 14);
+  unsigned int defer = _BF (instr, 21, 20);
+  unsigned int br_addr = _BFS (instr, 40, 40, 13) | _BF (instr, 34, 22);
+  int ret = 0;
+
+  if (!nfp_me27_28_br_ops[br_op])
+    {
+      dinfo->fprintf_func (dinfo->stream, _("<invalid branch>["));
+      ret = _NFP_ERR_CONT;
+    }
+  else
+    dinfo->fprintf_func (dinfo->stream, "%s[", nfp_me27_28_br_ops[br_op]);
+
+  switch (br_op)
+    {
+    case 16:			/* br=ctx */
+    case 17:			/* br!=ctx */
+    case 18:			/* br_signal */
+    case 19:			/* br_!signal */
+      dinfo->fprintf_func (dinfo->stream, "%d, ", ctx_sig_state);
+      break;
+    case 20:			/* "br_inp_state" */
+    case 21:			/* "br_!inp_state" */
+      dinfo->fprintf_func (dinfo->stream, "%s, ",
+			   br_inpstates[ctx_sig_state]);
+      break;
+    case 22:			/* "br_cls_state" */
+    case 23:			/* "br_!cls_state" */
+      dinfo->fprintf_func (dinfo->stream, "cls_ring%d_status, ",
+			   ctx_sig_state);
+      break;
+    default:
+      break;
+    }
+
+  dinfo->fprintf_func (dinfo->stream, ".%d]", br_addr);
+
+  if (defer)
+    dinfo->fprintf_func (dinfo->stream, ", defer[%d]", defer);
+
+  return ret;
+}
+
+static int
+nfp_me27_28_print_br_byte (uint64_t instr,
+			   unsigned int src_lmext, int num_ctx,
+			   struct disassemble_info *dinfo)
+{
+  unsigned int srcA = _BF (instr, 7, 0);
+  unsigned int by = _BF (instr, 9, 8);
+  unsigned int srcB = _BF (instr, 17, 10);
+  unsigned int imm_msb = _BTST (instr, 18);
+  unsigned int eq = _BTST (instr, 19);
+  unsigned int defer = _BF (instr, 21, 20);
+  unsigned int br_addr = _BFS (instr, 40, 40, 13) | _BF (instr, 34, 22);
+  bfd_boolean err = FALSE;
+
+  if (eq)
+    dinfo->fprintf_func (dinfo->stream, "br=byte[");
+  else
+    dinfo->fprintf_func (dinfo->stream, "br!=byte[");
+
+  if (nfp_me_is_imm_opnd8 (srcA))
+    err = err || !nfp_me_print_opnd8 (srcB, 'B', num_ctx,
+				      src_lmext, imm_msb, dinfo);
+  else
+    err = err || !nfp_me_print_opnd8 (srcA, 'A', num_ctx,
+				      src_lmext, imm_msb, dinfo);
+
+  dinfo->fprintf_func (dinfo->stream, ", %d, ", by);
+
+  if (nfp_me_is_imm_opnd8 (srcA))
+    err = err || !nfp_me_print_opnd8 (srcA, 'A', num_ctx,
+				      src_lmext, imm_msb, dinfo);
+  else
+    err = err || !nfp_me_print_opnd8 (srcB, 'B', num_ctx,
+				      src_lmext, imm_msb, dinfo);
+
+  dinfo->fprintf_func (dinfo->stream, ", .%d]", br_addr);
+
+  if (defer)
+    dinfo->fprintf_func (dinfo->stream, ", defer[%d]", defer);
+
+  if (err)
+    return _NFP_ERR_CONT;
+  return 0;
+}
+
+static int
+nfp_me27_28_print_br_bit (uint64_t instr, unsigned int src_lmext,
+			  int num_ctx, struct disassemble_info *dinfo)
+{
+  unsigned int srcA = _BF (instr, 7, 0);
+  unsigned int srcB = _BF (instr, 17, 10);
+  unsigned int b = _BTST (instr, 18);
+  unsigned int defer = _BF (instr, 21, 20);
+  unsigned int br_addr = _BFS (instr, 40, 40, 13) | _BF (instr, 34, 22);
+  bfd_boolean err = FALSE;
+
+  if (b)
+    dinfo->fprintf_func (dinfo->stream, "br_bset[");
+  else
+    dinfo->fprintf_func (dinfo->stream, "br_bclr[");
+
+  if (nfp_me_is_imm_opnd8 (srcA))
+    {
+      err = err
+	|| !nfp_me_print_opnd8 (srcB, 'B', num_ctx, src_lmext, 0, dinfo);
+      b = (nfp_me_imm_opnd8 (srcA, 0) - 1) & 0x1f;
+    }
+  else
+    {
+      err = err
+	|| !nfp_me_print_opnd8 (srcA, 'A', num_ctx, src_lmext, 0, dinfo);
+      b = (nfp_me_imm_opnd8 (srcB, 0) - 1) & 0x1f;
+    }
+
+  dinfo->fprintf_func (dinfo->stream, ", %d, .%d]", b, br_addr);
+
+  if (defer)
+    dinfo->fprintf_func (dinfo->stream, ", defer[%d]", defer);
+
+  if (err)
+    return _NFP_ERR_CONT;
+  return 0;
+}
+
+static int
+nfp_me27_28_print_br_alu (uint64_t instr, unsigned int src_lmext,
+			  int num_ctx, struct disassemble_info *dinfo)
+{
+  unsigned int srcA = _BF (instr, 9, 0);
+  unsigned int srcB = _BF (instr, 19, 10);
+  unsigned int defer = _BF (instr, 21, 20);
+  unsigned int imm = _BF (instr, 30, 22);
+  bfd_boolean err = FALSE;
+
+  if (nfp_me_is_imm_opnd10 (srcA))
+    imm = (imm << 8) | nfp_me_imm_opnd10 (srcA);
+  else
+    imm = (imm << 8) | nfp_me_imm_opnd10 (srcB);
+
+  if (!imm)
+    dinfo->fprintf_func (dinfo->stream, "rtn[");
+  else
+    dinfo->fprintf_func (dinfo->stream, "jump[");
+
+  if (nfp_me_is_imm_opnd10 (srcA))
+    err = err || !nfp_me_print_opnd10 (srcB, 'B', num_ctx, src_lmext, dinfo);
+  else
+    err = err || !nfp_me_print_opnd10 (srcA, 'A', num_ctx, src_lmext, dinfo);
+
+  if (imm)
+    dinfo->fprintf_func (dinfo->stream, ", .%d", imm);
+
+  dinfo->fprintf_func (dinfo->stream, "]");
+
+  if (defer)
+    dinfo->fprintf_func (dinfo->stream, ", defer[%d]", defer);
+
+  if (err)
+    return _NFP_ERR_CONT;
+  return 0;
+}
+
+static int
+nfp_me27_28_print_mult (uint64_t instr, unsigned int pred_cc,
+			unsigned int dst_lmext, unsigned int src_lmext,
+			unsigned int gpr_wrboth,
+			int num_ctx, struct disassemble_info *dinfo)
+{
+  unsigned int srcA = _BF (instr, 9, 0);
+  unsigned int srcB = _BF (instr, 19, 10);
+  unsigned int mstep = _BF (instr, 22, 20);
+  char dst_bank = 'A' + _BTST (instr, 23);
+  unsigned int swap = _BTST (instr, 30);
+  unsigned int mtype = _BF (instr, 32, 31);
+  unsigned int nocc = _BTST (instr, 40);
+  bfd_boolean err = FALSE;
+
+  if (swap)
+    {
+      unsigned int tmp = srcA;
+      srcA = srcB;
+      srcB = tmp;
+    }
+
+  dinfo->fprintf_func (dinfo->stream, "mul_step[");
+
+  if (mstep >= 4)
+    err = err
+      || !nfp_me_print_opnd10 (srcA, dst_bank, num_ctx, dst_lmext, dinfo);
+  else
+    err = err || !nfp_me_print_opnd10 (srcA, (swap) ? 'B' : 'A', num_ctx,
+				       src_lmext, dinfo);
+
+  dinfo->fprintf_func (dinfo->stream, ", ");
+
+  if (mstep >= 4)
+    dinfo->fprintf_func (dinfo->stream, "--");
+  else
+    err = err || !nfp_me_print_opnd10 (srcB, (swap) ? 'A' : 'B', num_ctx,
+				       src_lmext, dinfo);
+
+  dinfo->fprintf_func (dinfo->stream, "], %s", nfp_me27_28_mult_types[mtype]);
+  if (mtype > 0)
+    {
+      const char *s = nfp_me27_28_mult_steps[mstep];
+      if (!s)
+	{
+	  s = "<invalid mul_step>";
+	  err = TRUE;
+	}
+      dinfo->fprintf_func (dinfo->stream, "_%s", s);
+    }
+
+  if (nocc)
+    dinfo->fprintf_func (dinfo->stream, ", no_cc");
+  if (gpr_wrboth)
+    dinfo->fprintf_func (dinfo->stream, ", gpr_wrboth");
+  if (pred_cc)
+    dinfo->fprintf_func (dinfo->stream, ", predicate_cc");
+
+  if (err)
+    return _NFP_ERR_CONT;
+  return 0;
+}
+
+static int
+_nfp_cmp_mnmnc (const void *arg_a, const void *arg_b)
+{
+  const nfp_cmd_mnemonic *a = arg_a;
+  const nfp_cmd_mnemonic *b = arg_b;
+
+  if (a->cpp_target != b->cpp_target)
+    return (a->cpp_target > b->cpp_target) - (a->cpp_target < b->cpp_target);
+
+  if (a->cpp_action != b->cpp_action)
+    return (a->cpp_action > b->cpp_action) - (a->cpp_action < b->cpp_action);
+
+  return (a->cpp_token > b->cpp_token) - (a->cpp_token < b->cpp_token);
+}
+
+static const char *
+nfp_me_find_mnemonic (unsigned int cpp_tgt, unsigned int cpp_act,
+		      unsigned int cpp_tok, unsigned int cpp_len,
+		      const nfp_cmd_mnemonic * mnemonics,
+		      size_t mnemonics_cnt)
+{
+  nfp_cmd_mnemonic search_key = { cpp_tgt, cpp_act, cpp_tok, 0, 0, NULL };
+  const nfp_cmd_mnemonic *cmd = NULL;
+
+  cmd = bsearch (&search_key, mnemonics, mnemonics_cnt,
+		 sizeof (nfp_cmd_mnemonic), _nfp_cmp_mnmnc);
+
+  if (!cmd)
+    return NULL;
+
+  /* Make sure we backtrack to the first entry that still matches the three
+     bsearched fields - then we simply iterate and compare cpp_len.  */
+  while ((cmd > mnemonics) && (_nfp_cmp_mnmnc (&cmd[-1], &search_key) == 0))
+    --cmd;
+
+  /* Now compare by cpp_len and make sure we stay in range.  */
+  for (; (cmd < (mnemonics + mnemonics_cnt))
+       && (_nfp_cmp_mnmnc (cmd, &search_key) == 0); ++cmd)
+    {
+      if ((cpp_len & cmd->len_mask) == cmd->len_fixed)
+	return cmd->mnemonic;
+    }
+
+  return NULL;
+}
+
+/* NFP-32xx (ME Version 2.7).  */
+
+static int
+nfp_me27_print_cmd (uint64_t instr, int third_party_32bit,
+		    int num_ctx, struct disassemble_info *dinfo)
+{
+  unsigned int srcA = _BF (instr, 7, 0);
+  unsigned int ctxswap_defer = _BF (instr, 9, 8);
+  unsigned int srcB = _BF (instr, 17, 10);
+  unsigned int token = _BF (instr, 19, 18);
+  unsigned int xfer = _BFS (instr, 40, 40, 5) | _BF (instr, 24, 20);
+  unsigned int cpp_len = _BF (instr, 27, 25);
+  unsigned int sig = _BF (instr, 31, 28);
+  unsigned int tgtcmd = _BF (instr, 38, 32);
+  unsigned int indref = _BTST (instr, 41);
+  unsigned int mode = _BF (instr, 44, 42);
+
+  bfd_boolean err = FALSE;
+  int cpp_target = -1;
+  int cpp_action = -1;
+  const char *mnemonic = NULL;
+  unsigned int imm;
+  unsigned int valBA;
+  int visswap = ((mode == 1) || (mode == 3));
+
+  imm = (sig << 10) | (cpp_len << 7) | ((xfer & 0x1f) << 2) | token;
+  valBA = (srcB << 8) | srcA;
+
+  if (mode == 6)
+    {
+      token = 0;
+      sig = 0;
+      xfer = 0;
+    }
+
+  /* Convert tgtcmd to action/token tuple.  */
+  if (_BF (tgtcmd, 6, 5) == 0x0)
+    {
+      switch (_BF (tgtcmd, 4, 2))
+	{
+	case 0:
+	  cpp_target = NFP_3200_CPPTGT_CAP;
+	  dinfo->fprintf_func (dinfo->stream, "cap[");
+	  break;
+	case 1:
+	  cpp_target = NFP_3200_CPPTGT_MSF0;
+	  dinfo->fprintf_func (dinfo->stream, "msf0[");
+	  break;
+	case 2:
+	  cpp_target = NFP_3200_CPPTGT_MSF1;
+	  dinfo->fprintf_func (dinfo->stream, "msf1[");
+	  break;
+	case 3:
+	  cpp_target = NFP_3200_CPPTGT_PCIE;
+	  dinfo->fprintf_func (dinfo->stream, "pcie[");
+	  break;
+	case 4:
+	  cpp_target = NFP_3200_CPPTGT_HASH;
+	  break;
+	case 5:
+	  cpp_target = NFP_3200_CPPTGT_CRYPTO;
+	  dinfo->fprintf_func (dinfo->stream, "crypto[");
+	  break;
+	case 6:
+	  cpp_target = NFP_3200_CPPTGT_ARM;
+	  dinfo->fprintf_func (dinfo->stream, "arm[");
+	  break;
+	case 7:
+	  cpp_target = NFP_3200_CPPTGT_CT;
+	  dinfo->fprintf_func (dinfo->stream, "ct[");
+	  break;
+	}
+      cpp_action = _BF (tgtcmd, 1, 0);
+    }
+  else
+    {
+      switch (_BF (tgtcmd, 6, 4))
+	{
+	case 2:
+	  cpp_target = NFP_3200_CPPTGT_GS;
+	  dinfo->fprintf_func (dinfo->stream, "scratch[");
+	  break;
+	case 3:
+	  cpp_target = NFP_3200_CPPTGT_QDR;	/* A.k.a. SRAM.  */
+	  dinfo->fprintf_func (dinfo->stream, "sram[");
+	  break;
+	case 4:
+	case 5:
+	  cpp_target = NFP_3200_CPPTGT_MU;
+	  dinfo->fprintf_func (dinfo->stream, "mem[");
+	  break;
+	case 6:
+	case 7:
+	  cpp_target = NFP_3200_CPPTGT_CLS;
+	  dinfo->fprintf_func (dinfo->stream, "cls[");
+	  break;
+	}
+      cpp_action = _BF (tgtcmd, 3, 0);
+    }
+
+  if (cpp_target < 0)
+    {
+      dinfo->fprintf_func (dinfo->stream, _("<invalid cmd target %d:%d:%d>[]"),
+			   cpp_target, cpp_action, token);
+      return _NFP_ERR_CONT;
+    }
+
+  mnemonic = nfp_me_find_mnemonic (cpp_target, cpp_action, token, cpp_len,
+				   nfp_me27_mnemonics,
+				   ARRAY_SIZE (nfp_me27_mnemonics));
+
+  if (!mnemonic)
+    {
+      dinfo->fprintf_func (dinfo->stream, _("<invalid cmd action %d:%d:%d>[]"),
+			   cpp_target, cpp_action, token);
+      return _NFP_ERR_CONT;
+    }
+
+  if (cpp_target == NFP_3200_CPPTGT_HASH)
+    {
+      dinfo->fprintf_func (dinfo->stream, "%s[$xfer_%d, %d",
+			   mnemonic, xfer, cpp_len);
+      goto print_opt_toks;
+    }
+
+  dinfo->fprintf_func (dinfo->stream, "%s, ", mnemonic);
+
+  if (visswap)
+    {
+      unsigned int tmp = srcA;
+      srcA = srcB;
+      srcB = tmp;
+    }
+
+  switch (mode)
+    {
+    case 0:			/* (A << 8) + B.  */
+    case 1:			/* (B << 8) + A.  */
+      dinfo->fprintf_func (dinfo->stream, "$xfer_%d, ", xfer);
+      err = err
+	|| !nfp_me_print_opnd8 (srcA, 'A' + visswap, num_ctx, 0, 0, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", <<8, ");
+      err = err
+	|| !nfp_me_print_opnd8 (srcB, 'B' - visswap, num_ctx, 0, 0, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", %d", (cpp_len + 1));
+      break;
+    case 2:			/* Accelerated 3rd party (A[ << 8]) + B.  */
+    case 3:			/* Accelerated 3rd party (B[ << 8]) + A.  */
+      dinfo->fprintf_func (dinfo->stream, "0x%x, ", (indref << 6) | xfer);
+      err = err
+	|| !nfp_me_print_opnd8 (srcA, 'A' + visswap, num_ctx, 0, 0, dinfo);
+      if (third_party_32bit)
+	dinfo->fprintf_func (dinfo->stream, ", ");
+      else
+	dinfo->fprintf_func (dinfo->stream, ", <<8, ");
+      err = err
+	|| !nfp_me_print_opnd8 (srcB, 'B' - visswap, num_ctx, 0, 0, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", %d", (cpp_len + 1));
+      break;
+    case 4:			/* A + B.  */
+      dinfo->fprintf_func (dinfo->stream, "$xfer_%d, ", xfer);
+      err = err || !nfp_me_print_opnd8 (srcA, 'A', num_ctx, 0, 0, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", ");
+      err = err || !nfp_me_print_opnd8 (srcB, 'B', num_ctx, 0, 0, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", %d", (cpp_len + 1));
+      break;
+    case 5:			/* Immediate address.  */
+      dinfo->fprintf_func (dinfo->stream, "$xfer_%d, 0x%x, %d", xfer, valBA,
+			   (cpp_len + 1));
+      break;
+    case 6:			/* Immediate address and data.  */
+      dinfo->fprintf_func (dinfo->stream, "0x%x, 0x%x", valBA, imm);
+      break;
+    case 7:			/* Immediate data.  */
+      dinfo->fprintf_func (dinfo->stream, "0x%x, --, %d",
+			   ((xfer << 16) | valBA), (cpp_len + 1));
+      break;
+    }
+
+ print_opt_toks:
+  dinfo->fprintf_func (dinfo->stream, "]");
+
+  if (indref && (mode != 2) && (mode != 3))
+    dinfo->fprintf_func (dinfo->stream, ", indirect_ref");
+
+  if (ctxswap_defer != 3)
+    {
+      dinfo->fprintf_func (dinfo->stream, ", ctx_swap[");
+      if (sig)
+	dinfo->fprintf_func (dinfo->stream, "sig%d]", sig);
+      else
+	dinfo->fprintf_func (dinfo->stream, "--]");
+
+      if (ctxswap_defer != 0)
+	dinfo->fprintf_func (dinfo->stream, ", defer[%d]", ctxswap_defer);
+    }
+  else if (sig)
+    dinfo->fprintf_func (dinfo->stream, ", sig_done[sig%d]", sig);
+
+  if (err)
+    return _NFP_ERR_CONT;
+  return 0;
+}
+
+static int
+nfp_me27_print_alu_shf (uint64_t instr, int num_ctx,
+			struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_alu_shf (instr, 0, 0, 0, 0, num_ctx, dinfo);
+}
+
+static int
+nfp_me27_print_alu (uint64_t instr, int num_ctx,
+		    struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_alu_shf (instr, 0, 0, 0, 0, num_ctx, dinfo);
+}
+
+static int
+nfp_me27_print_immed (uint64_t instr, int num_ctx,
+		      struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_immed (instr, 0, 0, 0, num_ctx, dinfo);
+}
+
+static int
+nfp_me27_print_ld_field (uint64_t instr, int num_ctx,
+			 struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_ld_field (instr, 0, 0, 0, 0, num_ctx, dinfo);
+}
+
+static int
+nfp_me27_print_ctx_arb (uint64_t instr, struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_ctx_arb (instr, dinfo);
+}
+
+static int
+nfp_me27_print_local_csr (uint64_t instr, int num_ctx,
+			  struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_local_csr (instr, 0, num_ctx, dinfo);
+}
+
+static int
+nfp_me27_print_branch (uint64_t instr, struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_branch (instr, nfp_me27_br_inpstates, dinfo);
+}
+
+static int
+nfp_me27_print_br_byte (uint64_t instr, int num_ctx,
+			struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_br_byte (instr, 0, num_ctx, dinfo);
+}
+
+static int
+nfp_me27_print_br_bit (uint64_t instr, int num_ctx,
+		       struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_br_bit (instr, 0, num_ctx, dinfo);
+}
+
+static int
+nfp_me27_print_br_alu (uint64_t instr, int num_ctx,
+		       struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_br_alu (instr, 0, num_ctx, dinfo);
+}
+
+static int
+nfp_me27_print_mult (uint64_t instr, int num_ctx,
+		     struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_mult (instr, 0, 0, 0, 0, num_ctx, dinfo);
+}
+
+/*NFP-6xxx/4xxx (ME Version 2.8).  */
+
+static int
+nfp_me28_print_cmd (uint64_t instr, int third_party_32bit,
+		    int num_ctx, struct disassemble_info *dinfo)
+{
+  unsigned int srcA = _BF (instr, 7, 0);
+  unsigned int ctxswap_defer = _BF (instr, 9, 8);
+  unsigned int srcB = _BF (instr, 17, 10);
+  unsigned int token = _BF (instr, 19, 18);
+  unsigned int xfer = _BFS (instr, 40, 40, 5) | _BF (instr, 24, 20);
+  unsigned int cpp_len = _BF (instr, 27, 25);
+  unsigned int sig = _BF (instr, 31, 28);
+  unsigned int tgtcmd = _BF (instr, 38, 32);
+  unsigned int indref = _BTST (instr, 41);
+  unsigned int mode = _BF (instr, 44, 42);
+
+  bfd_boolean err = FALSE;
+  int cpp_target = -1;
+  int cpp_action = -1;
+  const char *mnemonic = NULL;
+  unsigned int imm;
+  unsigned int valBA;
+  int visswap = ((mode == 1) || (mode == 3));
+
+  imm = (sig << 10) | (cpp_len << 7) | ((xfer & 0x1f) << 2) | token;
+  valBA = (srcB << 8) | srcA;
+
+  if (mode == 6)
+    {
+      token = 0;
+      sig = 0;
+      xfer = 0;
+    }
+
+  /* Convert tgtcmd to action/token tuple.  */
+  if (_BF (tgtcmd, 6, 5) == 0x0)
+    {
+      switch (_BF (tgtcmd, 4, 2))
+	{
+	case 0:
+	  cpp_target = NFP_6000_CPPTGT_ILA;
+	  dinfo->fprintf_func (dinfo->stream, "ila[");
+	  break;
+	case 1:
+	  cpp_target = NFP_6000_CPPTGT_NBI;
+	  dinfo->fprintf_func (dinfo->stream, "nbi[");
+	  break;
+	case 3:
+	  cpp_target = NFP_6000_CPPTGT_PCIE;
+	  dinfo->fprintf_func (dinfo->stream, "pcie[");
+	  break;
+	case 5:
+	  cpp_target = NFP_6000_CPPTGT_CRYPTO;
+	  dinfo->fprintf_func (dinfo->stream, "crypto[");
+	  break;
+	case 6:
+	  cpp_target = NFP_6000_CPPTGT_ARM;
+	  dinfo->fprintf_func (dinfo->stream, "arm[");
+	  break;
+	case 7:
+	  cpp_target = NFP_6000_CPPTGT_CTXPB;
+	  dinfo->fprintf_func (dinfo->stream, "ct[");
+	  break;
+	}
+      cpp_action = _BF (tgtcmd, 1, 0);
+    }
+  else
+    {
+      /* One bit overlap between "t" and "a" fields, for sram it's "t" and
+	 for mem/cls it's "a".  */
+      cpp_action = _BF (tgtcmd, 4, 0);
+      switch (_BF (tgtcmd, 6, 4))
+	{
+	case 3:
+	  cpp_target = NFP_6000_CPPTGT_VQDR;
+	  cpp_action = _BF (tgtcmd, 3, 0);
+	  dinfo->fprintf_func (dinfo->stream, "sram[");
+	  break;
+	case 4:
+	case 5:
+	  cpp_target = NFP_6000_CPPTGT_MU;
+	  dinfo->fprintf_func (dinfo->stream, "mem[");
+	  break;
+	case 6:
+	case 7:
+	  cpp_target = NFP_6000_CPPTGT_CLS;
+	  dinfo->fprintf_func (dinfo->stream, "cls[");
+	  break;
+	}
+    }
+
+  if (cpp_target < 0)
+    {
+      dinfo->fprintf_func (dinfo->stream, _("<invalid cmd target %d:%d:%d>[]"),
+			   cpp_target, cpp_action, token);
+      return _NFP_ERR_CONT;
+    }
+
+  mnemonic = nfp_me_find_mnemonic (cpp_target, cpp_action, token, cpp_len,
+				   nfp_me28_mnemonics,
+				   ARRAY_SIZE (nfp_me28_mnemonics));
+
+  if (!mnemonic)
+    {
+      dinfo->fprintf_func (dinfo->stream, _("<invalid cmd action %d:%d:%d>[]"),
+			   cpp_target, cpp_action, token);
+      return _NFP_ERR_CONT;
+    }
+
+  dinfo->fprintf_func (dinfo->stream, "%s, ", mnemonic);
+
+  if (visswap)
+    {
+      unsigned int tmp = srcA;
+      srcA = srcB;
+      srcB = tmp;
+    }
+
+  switch (mode)
+    {
+    case 0:			/* (A << 8) + B.  */
+    case 1:			/* (B << 8) + A.  */
+      dinfo->fprintf_func (dinfo->stream, "$xfer_%d, ", xfer);
+      err = err
+	|| !nfp_me_print_opnd8 (srcA, 'A' + visswap, num_ctx, 0, 0, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", <<8, ");
+      err = err
+	|| !nfp_me_print_opnd8 (srcB, 'B' - visswap, num_ctx, 0, 0, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", %d", (cpp_len + 1));
+      break;
+    case 2:			/* Accelerated 3rd party (A[ << 8]) + B.  */
+    case 3:			/* Accelerated 3rd party (B[ << 8]) + A.  */
+      dinfo->fprintf_func (dinfo->stream, "0x%x, ", (indref << 6) | xfer);
+      err = err
+	|| !nfp_me_print_opnd8 (srcA, 'A' + visswap, num_ctx, 0, 0, dinfo);
+      if (third_party_32bit)
+	dinfo->fprintf_func (dinfo->stream, ", ");
+      else
+	dinfo->fprintf_func (dinfo->stream, ", <<8, ");
+      err = err
+	|| !nfp_me_print_opnd8 (srcB, 'B' - visswap, num_ctx, 0, 0, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", %d", (cpp_len + 1));
+      break;
+    case 4:			/* A + B.  */
+      dinfo->fprintf_func (dinfo->stream, "$xfer_%d, ", xfer);
+      err = err || !nfp_me_print_opnd8 (srcA, 'A', num_ctx, 0, 0, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", ");
+      err = err || !nfp_me_print_opnd8 (srcB, 'B', num_ctx, 0, 0, dinfo);
+      dinfo->fprintf_func (dinfo->stream, ", %d", (cpp_len + 1));
+      break;
+    case 5:			/* Immediate address.  */
+      dinfo->fprintf_func (dinfo->stream, "$xfer_%d, 0x%x, %d", xfer, valBA,
+			   (cpp_len + 1));
+      break;
+    case 6:			/* Immediate address and data.  */
+      dinfo->fprintf_func (dinfo->stream, "0x%x, 0x%x", valBA, imm);
+      break;
+    case 7:			/* Immediate data.  */
+      dinfo->fprintf_func (dinfo->stream, "0x%x, --, %d",
+			   ((xfer << 16) | valBA), (cpp_len + 1));
+      break;
+    }
+
+  dinfo->fprintf_func (dinfo->stream, "]");
+
+  if (indref && (mode != 2) && (mode != 3))
+    dinfo->fprintf_func (dinfo->stream, ", indirect_ref");
+
+  if (ctxswap_defer != 3)
+    {
+      dinfo->fprintf_func (dinfo->stream, ", ctx_swap[");
+      if (sig)
+	dinfo->fprintf_func (dinfo->stream, "sig%d]", sig);
+      else
+	dinfo->fprintf_func (dinfo->stream, "--]");
+
+      if (ctxswap_defer != 0)
+	dinfo->fprintf_func (dinfo->stream, ", defer[%d]", ctxswap_defer);
+    }
+  else if (sig)
+    dinfo->fprintf_func (dinfo->stream, ", sig_done[sig%d]", sig);
+
+  if (err)
+    return _NFP_ERR_CONT;
+  return 0;
+}
+
+static int
+nfp_me28_print_alu_shf (uint64_t instr, int num_ctx,
+			struct disassemble_info *dinfo)
+{
+  unsigned int gpr_wrboth = _BTST (instr, 41);
+  unsigned int src_lmext = _BTST (instr, 42);
+  unsigned int dst_lmext = _BTST (instr, 43);
+  unsigned int pred_cc = _BTST (instr, 44);
+
+  return nfp_me27_28_print_alu_shf (instr, pred_cc, dst_lmext,
+				    src_lmext, gpr_wrboth, num_ctx, dinfo);
+}
+
+static int
+nfp_me28_print_alu (uint64_t instr, int num_ctx,
+		    struct disassemble_info *dinfo)
+{
+  unsigned int gpr_wrboth = _BTST (instr, 41);
+  unsigned int src_lmext = _BTST (instr, 42);
+  unsigned int dst_lmext = _BTST (instr, 43);
+  unsigned int pred_cc = _BTST (instr, 44);
+
+  return nfp_me27_28_print_alu (instr, pred_cc, dst_lmext, src_lmext,
+				gpr_wrboth, num_ctx, dinfo);
+}
+
+static int
+nfp_me28_print_immed (uint64_t instr, int num_ctx,
+		      struct disassemble_info *dinfo)
+{
+  unsigned int gpr_wrboth = _BTST (instr, 41);
+  unsigned int dst_lmext = _BTST (instr, 43);
+  unsigned int pred_cc = _BTST (instr, 44);
+
+  return nfp_me27_28_print_immed (instr, pred_cc, dst_lmext, gpr_wrboth,
+				  num_ctx, dinfo);
+}
+
+static int
+nfp_me28_print_ld_field (uint64_t instr, int num_ctx,
+			 struct disassemble_info *dinfo)
+{
+  unsigned int gpr_wrboth = _BTST (instr, 41);
+  unsigned int src_lmext = _BTST (instr, 42);
+  unsigned int dst_lmext = _BTST (instr, 43);
+  unsigned int pred_cc = _BTST (instr, 44);
+
+  return nfp_me27_28_print_ld_field (instr, pred_cc, dst_lmext,
+				     src_lmext, gpr_wrboth, num_ctx, dinfo);
+}
+
+static int
+nfp_me28_print_ctx_arb (uint64_t instr, struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_ctx_arb (instr, dinfo);
+}
+
+static int
+nfp_me28_print_local_csr (uint64_t instr, int num_ctx,
+			  struct disassemble_info *dinfo)
+{
+  unsigned int src_lmext = _BTST (instr, 42);
+
+  return nfp_me27_28_print_local_csr (instr, src_lmext, num_ctx, dinfo);
+}
+
+static int
+nfp_me28_print_branch (uint64_t instr, struct disassemble_info *dinfo)
+{
+  return nfp_me27_28_print_branch (instr, nfp_me28_br_inpstates, dinfo);
+}
+
+static int
+nfp_me28_print_br_byte (uint64_t instr, int num_ctx,
+			struct disassemble_info *dinfo)
+{
+  unsigned int src_lmext = _BTST (instr, 42);
+  return nfp_me27_28_print_br_byte (instr, src_lmext, num_ctx, dinfo);
+}
+
+static int
+nfp_me28_print_br_bit (uint64_t instr, int num_ctx,
+		       struct disassemble_info *dinfo)
+{
+  unsigned int src_lmext = _BTST (instr, 42);
+  return nfp_me27_28_print_br_bit (instr, src_lmext, num_ctx, dinfo);
+}
+
+static int
+nfp_me28_print_br_alu (uint64_t instr, int num_ctx,
+		       struct disassemble_info *dinfo)
+{
+  unsigned int src_lmext = _BTST (instr, 42);
+  return nfp_me27_28_print_br_alu (instr, src_lmext, num_ctx, dinfo);
+}
+
+static int
+nfp_me28_print_mult (uint64_t instr, int num_ctx,
+		     struct disassemble_info *dinfo)
+{
+  unsigned int gpr_wrboth = _BTST (instr, 41);
+  unsigned int src_lmext = _BTST (instr, 42);
+  unsigned int dst_lmext = _BTST (instr, 43);
+  unsigned int pred_cc = _BTST (instr, 44);
+
+  return nfp_me27_28_print_mult (instr, pred_cc, dst_lmext, src_lmext,
+				 gpr_wrboth, num_ctx, dinfo);
+}
+
+static bfd_boolean
+init_nfp3200_priv (nfp_priv_data * priv, struct disassemble_info *dinfo)
+{
+  Elf_Internal_Shdr *sec = NULL;
+  Elf_Nfp_MeConfig mecfg_ent;
+  unsigned char buffer[sizeof (Elf_Nfp_MeConfig)];
+  file_ptr roff = 0;
+  unsigned int sec_cnt = 0;
+  unsigned int sec_idx;
+  size_t menum_linear = 0;
+
+  if (!dinfo->section)
+    /* No section info, will use default values.  */
+    return TRUE;
+
+  sec_cnt = elf_numsections (dinfo->section->owner);
+
+  /* Find the MECONFIG section.  It's index is also in e_flags, but it has
+     a unique SHT and we'll use that.  */
+  for (sec_idx = 0; sec_idx < sec_cnt; sec_idx++)
+    {
+      sec = elf_elfsections (dinfo->section->owner)[sec_idx];
+
+      if (sec->sh_type == SHT_NFP_MECONFIG)
+	break;
+    }
+
+  if (sec_idx == sec_cnt)
+    {
+      dinfo->fprintf_func (dinfo->stream, _("File has no ME-Config section."));
+      return FALSE;
+    }
+
+  for (roff = 0; (bfd_size_type) roff < sec->sh_size;
+       roff += sec->sh_entsize, menum_linear++)
+    {
+      nfp_priv_mecfg *mecfg;
+      int isl = menum_linear >> 3;
+      int menum = menum_linear & 7;
+
+      if (menum_linear >= 40)
+	{
+	  dinfo->fprintf_func (dinfo->stream,
+			       _("File has invalid ME-Config section."));
+	  return FALSE;
+	}
+
+      mecfg = &priv->mecfgs[isl][menum][1];
+
+      if (!bfd_get_section_contents (dinfo->section->owner, sec->bfd_section,
+				     buffer, roff, sizeof (buffer)))
+	return FALSE;
+
+      mecfg_ent.ctx_enables = bfd_getl32 (buffer + offsetof (Elf_Nfp_MeConfig,
+							     ctx_enables));
+      mecfg_ent.misc_control = bfd_getl32 (buffer
+	+ offsetof (Elf_Nfp_MeConfig, misc_control));
+
+      mecfg->ctx4_mode = _BTST (mecfg_ent.ctx_enables, 31);
+      mecfg->addr_3rdparty32 = _BTST (mecfg_ent.misc_control, 4);
+      mecfg->scs_cnt = _BTST (mecfg_ent.misc_control, 2);
+    }
+
+  return TRUE;
+}
+
+static bfd_boolean
+init_nfp6000_mecsr_sec (nfp_priv_data * priv, Elf_Internal_Shdr * sec,
+			int is_for_text, struct disassemble_info *dinfo)
+{
+  Elf_Nfp_InitRegEntry ireg;
+  unsigned char buffer[sizeof (Elf_Nfp_InitRegEntry)];
+  file_ptr ireg_off = 0;
+  size_t isl, menum;
+
+  if (sec->sh_entsize != sizeof (ireg))
+    return FALSE;
+
+  isl = SHI_NFP_IREG_ISLAND (sec->sh_info);
+
+  /* For these sections we know that the address will only be 32 bits
+     so we only need cpp_offset_lo.
+     Address is encoded as follows:
+     <31:30> 0
+     <29:24> island (already got this from sh_info)
+     <23:17> 0
+     <16:16> XferCsrRegSel (1 for these sections)
+     <15:14> 0
+     <13:10> DataMasterID (MEnum = this - 4)
+     <9:2> register (index)
+     <1:0> 0b0 (register byte address if appened to the previous field).  */
+  for (ireg_off = 0; (bfd_size_type) ireg_off < sec->sh_size;
+       ireg_off += sec->sh_entsize)
+    {
+      uint32_t csr_off;
+      nfp_priv_mecfg *mecfg;
+
+      if (!bfd_get_section_contents (dinfo->section->owner, sec->bfd_section,
+				     buffer, ireg_off, sizeof (buffer)))
+	return FALSE;
+
+      ireg.cpp_offset_lo = bfd_getl32 (buffer
+	+ offsetof (Elf_Nfp_InitRegEntry, cpp_offset_lo));
+      ireg.mask = bfd_getl32 (buffer + offsetof (Elf_Nfp_InitRegEntry, mask));
+      ireg.val = bfd_getl32 (buffer + offsetof (Elf_Nfp_InitRegEntry, val));
+      ireg.w0 = bfd_getl32 (buffer + offsetof (Elf_Nfp_InitRegEntry, w0));
+
+      if (NFP_IREG_ENTRY_WO_NLW (ireg.w0))
+	continue;
+
+      /* Only consider entries that are permanent for runtime.  */
+      if ((NFP_IREG_ENTRY_WO_VTP (ireg.w0) != NFP_IREG_VTP_CONST)
+	  && (NFP_IREG_ENTRY_WO_VTP (ireg.w0) != NFP_IREG_VTP_FORCE))
+	continue;
+
+      menum = _BF (ireg.cpp_offset_lo, 13, 10) - 4;
+      csr_off = _BF (ireg.cpp_offset_lo, 9, 0);
+
+      mecfg = &priv->mecfgs[isl][menum][is_for_text];
+      switch (csr_off)
+	{
+	case _NFP_ME27_28_CSR_CTX_ENABLES:
+	  mecfg->ctx4_mode = _BTST (ireg.val, 31);
+	  break;
+	case _NFP_ME27_28_CSR_MISC_CONTROL:
+	  mecfg->addr_3rdparty32 = _BTST (ireg.val, 4);
+	  mecfg->scs_cnt = _BTST (ireg.val, 2);
+	  break;
+	default:
+	  break;
+	}
+    }
+
+  return TRUE;
+}
+
+static bfd_boolean
+init_nfp6000_priv (nfp_priv_data * priv, struct disassemble_info *dinfo)
+{
+  int mecfg_orders[64][2];
+  size_t isl;
+  unsigned int sec_cnt = 0;
+  unsigned int sec_idx;
+  int is_for_text;
+
+  memset (mecfg_orders, -1, sizeof (mecfg_orders));
+
+  if (!dinfo->section)
+    /* No section info, will use default values.  */
+    return TRUE;
+
+  sec_cnt = elf_numsections (dinfo->section->owner);
+
+  /* Go through all MECSR init sections to find ME configs.  */
+  for (sec_idx = 0; sec_idx < sec_cnt; sec_idx++)
+    {
+      Elf_Internal_Shdr *sec;
+      int sec_order;
+
+      sec = elf_elfsections (dinfo->section->owner)[sec_idx];
+      sec_order = (int) SHI_NFP_IREG_ORDER (sec->sh_info);
+
+      is_for_text = (sec->sh_flags & (SHF_NFP_INIT | SHF_NFP_INIT2)) == 0;
+
+      /* If we have an init2 section, that is the one that applies to the
+	 ME when executing init code.  So we make it's order higher than
+	 any plain init section.  */
+      if (sec->sh_flags & SHF_NFP_INIT2)
+	sec_order += SHI_NFP_IREG_ORDER (~0U) + 1;
+
+      if (sec->sh_type != SHT_NFP_INITREG)
+	continue;
+      if (!SHI_NFP_6000_IS_IREG_MECSR (sec->sh_info))
+	continue;
+
+      isl = SHI_NFP_IREG_ISLAND (sec->sh_info);
+      if ((sec_order < mecfg_orders[isl][is_for_text]))
+	/* Lower order or transient, skip it.  */
+	continue;
+
+      mecfg_orders[isl][is_for_text] = sec_order;
+
+      if (!init_nfp6000_mecsr_sec (priv, sec, is_for_text, dinfo))
+	{
+	  dinfo->fprintf_func (dinfo->stream,
+			       _("Error processing section %u "), sec_idx);
+	  return FALSE;
+	}
+    }
+
+  return TRUE;
+}
+
+static int
+parse_disassembler_options (nfp_opts * opts, struct disassemble_info *dinfo)
+{
+  const char *option;
+
+  if (dinfo->disassembler_options == NULL)
+    return 0;
+
+  FOR_EACH_DISASSEMBLER_OPTION (option, dinfo->disassembler_options)
+  {
+    if (disassembler_options_cmp (option, "no-pc") == 0)
+      opts->show_pc = 0;
+    else if (disassembler_options_cmp (option, "ctx4") == 0)
+      {
+	if (!opts->ctx_mode)
+	  opts->ctx_mode = 4;
+      }
+    else if (disassembler_options_cmp (option, "ctx8") == 0)
+      opts->ctx_mode = 8;
+    else
+      {
+	dinfo->fprintf_func (dinfo->stream, _("Invalid NFP option: %s"), option);
+	return _NFP_ERR_STOP;
+      }
+  }
+
+  return 0;
+}
+
+/* Called on first disassembly attempt so that dinfo->section is valid
+   so that we can get the bfd owner to find ME configs.  */
+
+static nfp_priv_data *
+init_nfp_priv (struct disassemble_info *dinfo)
+{
+  nfp_priv_data *priv;
+  int ret = FALSE;
+
+  if (dinfo->private_data)
+    return (nfp_priv_data *) dinfo->private_data;
+
+#if 0  /* Right now only section-related info is kept in priv.
+	  So don't even calloc it if we don't need it.  */
+  if (!dinfo->section)
+     return NULL;
+#endif
+
+  /* Alloc with no free, seems to be either this or a static global variable
+     and this at least keeps a large struct unallocated until really needed.  */
+  priv = calloc (1, sizeof (*priv));
+  if (!priv)
+    return NULL;
+
+  switch (dinfo->mach)
+    {
+    case E_NFP_MACH_3200:
+      ret = init_nfp3200_priv (priv, dinfo);
+      break;
+    case E_NFP_MACH_6000:
+      ret = init_nfp6000_priv (priv, dinfo);
+      break;
+    }
+
+  if (!ret)
+    {
+      free (priv);
+      return NULL;
+    }
+
+  dinfo->private_data = priv;
+  return priv;
+}
+
+static int
+_print_instrs (bfd_vma addr, struct disassemble_info *dinfo, nfp_opts * opts)
+{
+  nfp_priv_data *priv = init_nfp_priv (dinfo);
+  bfd_byte buffer[8];
+  int err;
+  uint64_t instr = 0;
+  size_t island, menum;
+  int num_ctx, scs_cnt, addr_3rdparty32, pc, tmpi, tmpj;
+  int is_text = 1;
+
+  err = dinfo->read_memory_func (addr, buffer, 8, dinfo);
+  if (err)
+    return _NFP_ERR_STOP;
+
+  if (!dinfo->section)
+    {
+      num_ctx = 8;
+      scs_cnt = 0;
+      addr_3rdparty32 = 0;
+    }
+  else
+    {
+      unsigned int sh_info = 0;
+      nfp_priv_mecfg *mecfg;
+
+      /* We have a section, presumably all ELF sections.  Try to find
+	 proper ME configs to produce better disassembly.  */
+      if (!priv)
+	return _NFP_ERR_STOP;	/* Sanity check */
+
+      is_text = (elf_section_flags (dinfo->section)
+		 & (SHF_NFP_INIT | SHF_NFP_INIT2)) == 0;
+
+      sh_info = elf_section_info (dinfo->section);
+
+      switch (dinfo->mach)
+	{
+	case E_NFP_MACH_3200:
+	  island = SHI_NFP_3200_ISLAND (sh_info);
+	  menum = SHI_NFP_3200_MENUM (sh_info);
+	  break;
+	default:
+	  island = SHI_NFP_ISLAND (sh_info);
+	  menum = SHI_NFP_MENUM (sh_info);
+	  break;
+	}
+
+      mecfg = &priv->mecfgs[island][menum][is_text];
+      num_ctx = (mecfg->ctx4_mode) ? 4 : 8;
+      addr_3rdparty32 = mecfg->addr_3rdparty32;
+      scs_cnt = mecfg->scs_cnt;
+    }
+
+  if (opts->ctx_mode)
+    num_ctx = opts->ctx_mode;
+
+  dinfo->bytes_per_line = 8;
+  dinfo->bytes_per_chunk = 8;
+
+  instr = bfd_getl64 (buffer);
+
+  if (opts->show_pc)
+    {
+      pc = (int) (addr >> 3);
+
+      /* Guess max PC for formatting */
+      tmpj = (int) (dinfo->buffer_length >> 3);
+      if (scs_cnt == 1)
+	{
+	  pc *= 2;
+	  tmpj *= 2;
+	  if (! !(menum & 1))
+	    {
+	      pc++;
+	      tmpj++;
+	    }
+	}
+
+      for (tmpi = 1; tmpj > 9; tmpj /= 10)
+	tmpi++;
+
+      tmpj = pc;
+      for (; tmpj > 9; tmpj /= 10)
+	tmpi--;
+
+      dinfo->fprintf_func (dinfo->stream, "%*c%d  ", tmpi, '.', pc);
+    }
+
+  switch (dinfo->mach)
+    {
+    case E_NFP_MACH_3200:
+      if (NFP_ME27_INSTR_IS_CMD (instr))
+	err = nfp_me27_print_cmd (instr, addr_3rdparty32, num_ctx, dinfo);
+      else if (NFP_ME27_INSTR_IS_ALU_SHF (instr))
+	err = nfp_me27_print_alu_shf (instr, num_ctx, dinfo);
+      else if (NFP_ME27_INSTR_IS_ALU (instr))
+	err = nfp_me27_print_alu (instr, num_ctx, dinfo);
+      else if (NFP_ME27_INSTR_IS_IMMED (instr))
+	err = nfp_me27_print_immed (instr, num_ctx, dinfo);
+      else if (NFP_ME27_INSTR_IS_LD_FIELD (instr))
+	err = nfp_me27_print_ld_field (instr, num_ctx, dinfo);
+      else if (NFP_ME27_INSTR_IS_CTX_ARB (instr))
+	err = nfp_me27_print_ctx_arb (instr, dinfo);
+      else if (NFP_ME27_INSTR_IS_LOCAL_CSR (instr))
+	err = nfp_me27_print_local_csr (instr, num_ctx, dinfo);
+      else if (NFP_ME27_INSTR_IS_BRANCH (instr))
+	err = nfp_me27_print_branch (instr, dinfo);
+      else if (NFP_ME27_INSTR_IS_BR_BYTE (instr))
+	err = nfp_me27_print_br_byte (instr, num_ctx, dinfo);
+      else if (NFP_ME27_INSTR_IS_BR_BIT (instr))
+	err = nfp_me27_print_br_bit (instr, num_ctx, dinfo);
+      else if (NFP_ME27_INSTR_IS_BR_ALU (instr))
+	err = nfp_me27_print_br_alu (instr, num_ctx, dinfo);
+      else if (NFP_ME27_INSTR_IS_MULT (instr))
+	err = nfp_me27_print_mult (instr, num_ctx, dinfo);
+      else
+	err = nfp_me_print_invalid (instr, dinfo);
+      break;
+
+    case E_NFP_MACH_6000:
+      if (NFP_ME28_INSTR_IS_CMD (instr))
+	err = nfp_me28_print_cmd (instr, addr_3rdparty32, num_ctx, dinfo);
+      else if (NFP_ME28_INSTR_IS_ALU_SHF (instr))
+	err = nfp_me28_print_alu_shf (instr, num_ctx, dinfo);
+      else if (NFP_ME28_INSTR_IS_ALU (instr))
+	err = nfp_me28_print_alu (instr, num_ctx, dinfo);
+      else if (NFP_ME28_INSTR_IS_IMMED (instr))
+	err = nfp_me28_print_immed (instr, num_ctx, dinfo);
+      else if (NFP_ME28_INSTR_IS_LD_FIELD (instr))
+	err = nfp_me28_print_ld_field (instr, num_ctx, dinfo);
+      else if (NFP_ME28_INSTR_IS_CTX_ARB (instr))
+	err = nfp_me28_print_ctx_arb (instr, dinfo);
+      else if (NFP_ME28_INSTR_IS_LOCAL_CSR (instr))
+	err = nfp_me28_print_local_csr (instr, num_ctx, dinfo);
+      else if (NFP_ME28_INSTR_IS_BRANCH (instr))
+	err = nfp_me28_print_branch (instr, dinfo);
+      else if (NFP_ME28_INSTR_IS_BR_BYTE (instr))
+	err = nfp_me28_print_br_byte (instr, num_ctx, dinfo);
+      else if (NFP_ME28_INSTR_IS_BR_BIT (instr))
+	err = nfp_me28_print_br_bit (instr, num_ctx, dinfo);
+      else if (NFP_ME28_INSTR_IS_BR_ALU (instr))
+	err = nfp_me28_print_br_alu (instr, num_ctx, dinfo);
+      else if (NFP_ME28_INSTR_IS_MULT (instr))
+	err = nfp_me28_print_mult (instr, num_ctx, dinfo);
+      else
+	err = nfp_me_print_invalid (instr, dinfo);
+      break;
+    }
+
+  if (err < 0)
+    return err;
+  return 8;
+}
+
+int
+print_insn_nfp (bfd_vma addr, struct disassemble_info *dinfo)
+{
+  nfp_opts opts;
+  int err;
+
+  opts.show_pc = 1;
+  opts.ctx_mode = 0;
+  err = parse_disassembler_options (&opts, dinfo);
+  if (err < 0)
+    goto end;
+
+  err = _print_instrs (addr, dinfo, &opts);
+
+end:
+  if (err != 8)
+    dinfo->fprintf_func (dinfo->stream, "\t # ERROR");
+  if (err == _NFP_ERR_CONT)
+    return 8;
+  return err;
+}
+
+void
+print_nfp_disassembler_options (FILE * stream)
+{
+  fprintf (stream, _("\n\
+The following NFP specific disassembler options are supported for use\n\
+with the -M switch (multiple options should be separated by commas):\n"));
+
+  fprintf (stream, _("\n\
+  no-pc		    Don't print program counter prefix.\n\
+  ctx4		    Force disassembly using 4-context mode.\n\
+  ctx8		    Force 8-context mode, takes precedence."));
+
+  fprintf (stream, _("\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.1.0.20180703/opcodes/nios2-dis.c ./opcodes/nios2-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/nios2-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/nios2-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -22,6 +22,7 @@
 
 #include "sysdep.h"
 #include "disassemble.h"
+#include "opintl.h"
 #include "opcode/nios2.h"
 #include "libiberty.h"
 #include <string.h>
@@ -130,9 +131,9 @@ nios2_init_opcode_hash (nios2_disassembl
 	      (nios2_opcode_hash *) malloc (sizeof (nios2_opcode_hash));
 	    if (new_hash == NULL)
 	      {
-		fprintf (stderr,
-			 "error allocating memory...broken disassembler\n");
-		abort ();
+		/* xgettext:c-format */
+		opcodes_error_handler (_("out of memory"));
+		exit (1);
 	      }
 	    new_hash->opcode = op;
 	    new_hash->next = NULL;
@@ -257,8 +258,10 @@ nios2_control_regs (void)
 static void
 bad_opcode (const struct nios2_opcode *op)
 {
-  fprintf (stderr, "Internal error: broken opcode descriptor for `%s %s'\n",
-	   op->name, op->args);
+  opcodes_error_handler
+    /* xgettext:c-format */
+    (_("internal error: broken opcode descriptor for `%s %s'"),
+     op->name, op->args);
   abort ();
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/opc2c.c ./opcodes/opc2c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/opc2c.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/opc2c.c	2018-07-10 02:06:15.000000000 +0000
@@ -577,14 +577,6 @@ main (int argc, char ** argv)
   VaryRef * vlist;
   int skipping_section = 0;
 
-  if (argc > 2 && strcmp (argv[1], "-l") == 0)
-    {
-      sim_log = fopen (argv[2], "w");
-      fprintf (stderr, "sim_log: %s\n", argv[2]);
-      argc -= 2;
-      argv += 2;
-    }
-
   if (argc < 2)
     {
       fprintf (stderr, "usage: opc2c infile.opc > outfile.opc\n");
@@ -802,6 +794,8 @@ main (int argc, char ** argv)
       store_opcode_bits (opcodes[i], 0, indirect);
     }
 
+  printf ("/* DO NOT EDIT!  -*- buffer-read-only: t -*- vi:set ro:  */\n");
+
   dump_lines (&prefix_text, 0, 0);
 
   emit_indirect (indirect, 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.1.0.20180703/opcodes/or1k-asm.c ./opcodes/or1k-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/or1k-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/or1k-asm.c	2018-07-10 02:06:15.000000000 +0000
@@ -500,7 +500,9 @@ or1k_cgen_parse_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/or1k-desc.c ./opcodes/or1k-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/or1k-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/or1k-desc.c	2018-07-10 02:06:15.000000000 +0000
@@ -1778,6 +1778,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -1938,8 +1943,11 @@ or1k_cgen_rebuild_tables (CGEN_CPU_TABLE
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: or1k_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -2018,8 +2026,11 @@ or1k_cgen_cpu_open (enum cgen_cpu_open_a
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "or1k_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: or1k_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -2034,7 +2045,9 @@ or1k_cgen_cpu_open (enum cgen_cpu_open_a
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "or1k_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: or1k_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/or1k-dis.c ./opcodes/or1k-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/or1k-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/or1k-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -138,9 +138,10 @@ or1k_cgen_print_operand (CGEN_CPU_DESC c
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/or1k-ibld.c ./opcodes/or1k-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/or1k-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/or1k-ibld.c	2018-07-10 02:06:15.000000000 +0000
@@ -647,8 +647,9 @@ or1k_cgen_insert_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -752,8 +753,9 @@ or1k_cgen_extract_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -835,8 +837,9 @@ or1k_cgen_get_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -900,8 +903,9 @@ or1k_cgen_get_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -972,8 +976,9 @@ or1k_cgen_set_int_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -1034,8 +1039,9 @@ or1k_cgen_set_vma_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/de.gmo ./opcodes/po/de.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/de.gmo	2018-07-03 02:10:51.000000000 +0000
+++ ./opcodes/po/de.gmo	2018-07-10 02:10:39.000000000 +0000
@@ -1,11 +1,12 @@
-Þ•ktçÌhiLkK¸4½93÷u+ �¡ µ2!8è!=!"7_"t—"F#kS#}¿#K=$w‰$�%‰’%[&�x&['�b'Žò'”�(‰)( )(É)(ò)/*1K*B}*%À*%æ*1+.>+?m+<­+?ê+(*,(S,2|,E¯,1õ,9'-1a-?“-(Ó-ü-)..;.j.w."‡.%ª./Ð../$//T/r/
~/Œ/§/Â/Ü/	ö/0	0&0A0\0o0…0™0(·0à0ö0 
1.1 N1o1Ž1©1Â1à1ý12=.2&l2“2¢2$¿2"ä2*323J33i3)�3
-Ç3DÒ3C4+[4&‡4%®4)Ô4%þ4!$5!F5$h5�5:©51ä5966P6 ‡60¨6+Ù6*7.07(_7%ˆ7&®7Õ7)ì7%8<88Y8’8"¬8&Ï8ö8	9929H9^9t9!Œ9®9'É9'ñ9:71:Bi: ¬:Í:è:ÿ:;+;C;X;l;€;”;¨;"¼;#ß;(<,<I<b<x<!’<5´<&ê<'=/9=)i=/“=Ã=bá=.D>s>‰>)›>%Å>#ë>%?+5?+a?1�?1¿?%ñ?+@1C@1u@§@Ã@#â@"A")A LA!mA%�AµA<ÉAB#%B2IB"|B*ŸB+ÊBöBC/0C`CxC“C ¬CÍCæC+ûC'DAD]D%xD$žDÃD0ÞD0E#@E*dE%�E7µE!íE!F51F"gF+ŠF ¶F ×F øFG+9G2eG2˜G)ËGõGH!"H'DH'lH'”H¼HÔHäHüHI-IMIkI‰I§IÅIÖI"íIJ" JCJcJ€J˜JµJ!ÒJôJ
K%KBK]KnK…K%£KÉKÜK2îK!L?L%PLvLŒL¢L&ºL áLMM.MBM&UM|M˜M¬MÀMÌMØM!ðMN;#N_N
-}N$ˆN%­N+ÓN/ÿN+/O[OtO&“OºO2ÎO2P24P4gP,œPÉP)ãP
QQ(;QdQƒQ!ŸQÁQ%ØQþQR!+R+MR'yR¡RÁRÛRèRS"S%>SdS{S5“SÉS-éS;T/ST	ƒT�TªT²TÂTÒTêTU U7UPUiU„UœU&´UÛU÷UVVXVXUrX/ÈXóøX=ìY€*Zö«Zú¢[2�\CÐ\5]�J]DÌ]t^„†^G_„S_¨Ø_¤�`q&a¥˜aq>b§°b¦Xc¬ÿc®¬d,[e,ˆe,µe4âe6fGNf+–f+Âf+îf(g<CgG€g<Èg.h.4h7chJ›h6æh3i+QiC}i.Ái"ði/j7Cj{jŠj&œj)Ãj?íj>-k-lk šk»kÈk#Õk#ùk-l-Klyl…l£l/¯lßlþlm/mHm/fm–m°m(Ím4öm/+n-[n'‰n±n(Ìn'õno33ocgo)Ëo
õo p($p'Mp?upµp-ÓpEq-Gq
-uq_€q]àq1>r,pr?�rCÝr?!s;as;�s>Ùst@4t8ut@®t6ït"&u4Iu/~u0®u2ßu,v1?v*qvœv9¶v,ðvwB=w+€w5¬w)âwx$x<xWxrx�x#¨x)Ìx!öx7y8Py‰y:¦yJáy#,zPzlz…z›zµzÏzæzüz{({>{,T{-�{.¯{%Þ{2|-7|e|+ƒ|=¯|+í|,}-F}$t}A™}(Û}x~1}~¯~È~'ß~##+#O/s1£2Õ2€*;€0f€3—€2Ë€+þ€$*�)O�(y�(¢�?Ë�0‚;<‚x‚IŒ‚+Ö‚1ƒ=4ƒ7rƒEªƒ-ðƒ*„"I„Jl„·„Ñ„1î„= …2^… ‘…Q²…3†"8†&[†+‚†*®†#Ù†9ý†97‡,q‡)ž‡*È‡Kó‡7?ˆ(wˆM ˆ7îˆ@&‰9g‰9¡‰9Û‰8Š,NŠ3{Š3¯Š*ãŠ‹'‹=‹.\‹.‹‹.º‹!é‹ŒŒ!6Œ-XŒ8†Œ:¿Œ:úŒ:5�:p�«�/»�+ë�
-Ž)"Ž,LŽ/yŽ©Ž¿Ž)ÝŽ#�+�J� i�Š�¥�º�%Ú�-�.�J�6`�'—�¿�(Ô�ý�‘,‘.H‘,w‘¤‘½‘Ù‘ð‘/’ 6’1W’‰’¡’±’È’"Þ’“>“.S“
‚“"�“/³“:ã“=”1\”Ž”&ª”0Ñ”•N•Nh•N·•Q–5X– Ž–4¯–ä–'ó–$—/@—'p—/˜—È—7Þ—˜$%˜#J˜Gn˜&¶˜Ý˜-ü˜
*™!8™!Z™ |™-�™Ë™ë™GšMš9lš<¦š:ãš›&*›	Q›[›m› ›% ›Æ›à›÷› 
-œ!+œ/Mœ/}œ3­œ-áœ��éä†Ž™ƒÒÈH
�%ÐgË\kJCB•Z~Õ/>S”V7FûJŒ¢5£t¨ˆ3µU1âd-NLQW[HG´.b€nÑ'	#Š@‹-=4KÉíC…RLF:q)ê"�%uçºž`Ÿ<Eo0ü}|Tk “sÓ9eñöUÊÆ5<(g_D,×$§ù‰2þS]6ÿ»Ö +ªaD{®Å\^ÛiyB0r)(«[!¾ãvQ¿îÃb4MK?¶èM�ô‘'3A7Zð‚zNø"PßOÚX]°_;m
-·?jR#I1¸³’8¹/ÄO!,Ìúf—˜Ô¬.¡ÙPÎ;Þ
a„²dì�xeYW$AÍòï	Â2:@hcÝ6àVõ
-ë ÷ÁpE­wf¼š›œ�`À½9óÇ¯+cÏ^¥*æIå¦±*Tý8&áh>–‡XG=Øj¤Y©&Üil
+Þ•µÄ
Kl˜$™$L›$Kè$44%½i%3'&u[&pÑ&�B'µÓ'8‰(=Â(7)t8)3­)šá)0|*F­*kô*}`+KÞ+w*,�¢,‰3-[½-�.Œ§.[4/��/Ž 0”¯0‰D1(Î1(÷1( 2/I21y2B«2%î2%31:3.l3?›3<Û3?4CX4(œ4(Å42î4E!51g59™51Ó5?6(E6)n6.˜6Ç6"Ô6%÷6/7.M7$|7¡7¿7
Ë7Ù7å78858	O8Y8	u88š8µ8Ð8ã8ù8
9(+9T9f9†9¦9½9Ó9ê9 
+:+:J:c:�:ž:°:=Ï:&
;4;C;$`;"…;*¨;Ó;ë;<3'<#[<<ž<
+±<D¼<C=+E=&q=%˜=)¾=%è=!>!0>$R>w>Ž>8¥>Þ>"ø>?.?A?W?m?ƒ?™?!±?Ó?'î?'@>@7V@BŽ@Ñ@"ì@#A3APAiAA!™A5»A&ñA'B/@B)pB/šBÊBbèB.KCzC’C®CÉCÛC!÷C%D?D<SD�D#¯D2ÓD"E*)E+TE €E¡EÀE/ÛEF%F=FXF qF’F«F+ÀFìFG%"G$HGmG0ˆG0¹G#êG*H%9H7_H!—H!¹H5ÛH"I+4I `I �I ¢IÃI+ãI2J2BJ)uJŸJ¸J)ÌJ!öJ'K'@K'hK�K¨K¸KÈKàKûKL1LOLmL‹L©LºL"ÑLôL"M'MGMdM|M™M!¶MØM#ôMN6N1UN9‡N)ÁN4ëN8 O?YOA™ObÛO;>P=zP^¸P:Q<RQ]�Q=íQ;+R=gR^¥R=S?BS`‚S;ãS=T^]T;¼T=øT^6U;•U=ÑU^V:nV<©V]æV9DW;~W\ºW;X=SX^‘X)ðX#Y9>Y9xY?²Y?òY32Z9fZ? Z?àZ< [>][_œ[@ü[B=\c€\6ä\]4] F]g]]œ]·]È]ß]%ý]#^6^H^2W^0Š^+»^.ç^1_H_f_%w_�_³_(É_%ò_&`?`&W` ~`Ÿ`´`)Ë`%õ`a8aLa&_a†a¢a¶a&Êañaýa	b!!bCb;Tb�b
+®b$¹b%Þb+c/0c+`cŒc¥c&Äcëc2ÿc22d2ed4˜d,Íd
úde)"eLe[e(ze£e#Âeæe!f $fEf\fsf‡fŸf·fÌfàfôfgg(0g%Ygg�g¬g!Âg+äg'h8hXhrhhœh¹h%Õhûhi5*i&`i'‡i¯i-Ïi;ýi/9j	ijsj�j˜j¨j%¸jÞjôjk&k(6k$_k"„k$§k Ìkíkl#%l"Il"ll �l°lÉlälül%m:m Vmwm‡m–m™oV›oUòo/Hpóxp=lq€ªq}+rö©rú s2›tCÎt5u�Hu5Êu¤v/¥vDÕvtw„�wGx„\x¨áx¤Šyq/z¥¡z¤G{qì{§^|¦}¬­}®Z~,	,6,c4�6ÅGü+D€+p€+œ€(È€<ñ€G.�<v�D³�.ø�.'‚7V‚JŽ‚6Ù‚3ƒ+DƒCpƒ.´ƒ/ãƒ7„K„&Z„)�„?«„>ë„-*… X…y…
†…”…#¡…#Å….é….†G†S†q†}†/œ†Ì†ë†þ†‡5‡/S‡ƒ‡%˜‡$¾‡ã‡ˆˆ48ˆ/mˆ-�ˆËˆ(æˆ'‰7‰3M‰c�‰*å‰
Š Š(?Š'hŠ?�ŠÐŠ)îŠ-‹EF‹*Œ‹%·‹Ý‹
+ø‹_Œ]cŒ1ÁŒ,óŒ? �C`�?¤�;ä�; Ž>\Ž›ŽµŽBÏŽ+�5>�t�Œ�¤�¿�Ú�õ�#�)4�"^�7��7¹�ñ�;‘JJ‘•‘+±‘,Ý‘$
+’2/’-b’�’+®’=Ú’+“,D“-q“$Ÿ“AÄ“(”x/”1¨”Ú”ô”•1•+H•0t•<¥•â•Iö•+@–1l–=ž–7Ü–E—-Z—(ˆ—*±—"Ü—Jÿ—%J˜p˜Š˜1§˜=Ù˜1™ I™Qj™3¼™"ð™+š*?š#jš9Žš9Èš,›)/›*Y›K„›7Ð›(œM1œ7œ@·œ9øœ92�9l�8¦�,ß�3ž3@ž*tžŸž¸ž-Îžüž.Ÿ.JŸ.yŸ!¨ŸÊŸÞŸñŸ! -* 8X :‘ :Ì :¡:B¡}¡/�¡+½¡
+é¡)ô¡,¢/K¢{¢‘¢)¯¢#Ù¢ý¢#£=£[£1z£9¬£)æ£4¤8E¤?~¤A¾¤b¥;c¥=Ÿ¥^Ý¥:<¦<w¦]´¦=§;P§=Œ§^Ê§=)¨?g¨`§¨;©=D©^‚©;á©=ª^[ª;ºª=öª^4«:“«<Î«]¬9i¬;£¬\ß¬;<­=x­^¶­)®#?®9c®9�®?×®?¯3W¯9‹¯?Å¯?°<E°>‚°_Á°@!±Bb±c¥±<	²F²e²"z²�² ¼²Ý²ø²
³%-³-S³�³�³³³7Æ³5þ³/4´3d´1˜´'Ê´ò´(µ0µIµ,_µ1Œµ*¾µéµ.¶,4¶a¶z¶9–¶,Ð¶ý¶·4·/J· z·0›·Ì·)ä·¸¸5¸"K¸n¸>�¸.À¸
ï¸"ý¸/ ¹:P¹=‹¹1É¹û¹&º0>ºoºN†ºNÕºN$»Qs»5Å»û» 
¼4.¼c¼(r¼$›¼/À¼2ð¼'#½/K½#{½Ÿ½µ½Î½ä½þ½¾/¾E¾[¾q¾‡¾.�¾6Ì¾¿#¿*6¿#a¿F…¿&Ì¿ó¿-À
@À!NÀ!pÀ ’À-³ÀáÀÁGÁ6cÁ8šÁÓÁ9òÁ<,Â:iÂ¤Â&°Â	×ÂáÂóÂ(Ã.Ã GÃ$hÃ�Ã&¦Ã"ÍÃ"ðÃ"Ä6ÄMÄ$`Ä)…Ä(¯Ä(ØÄ?Å AÅ!bÅ/„Å/´Å2äÅ-Æ9EÆÆ�Æ4%�<Z¬¸9*ÏF5±’®-[µ;©vžxyw˜ ¡$L�ˆq1§$Õ¹/ƒAæ3¨ûOj4	MymÌ”¨œX\‡iŽ¢ë®›7<u‡{3¡|6}6îŒKš£ r�¿ÅÞ,:ŠÓKò(Gkð“øOÆ…†Ç¾éqL‚m+z5�á_&:«z\
+¶€Ý”)˜&ýUú•ù=Ž‹rÄ1¤¼S;iŸW„v RU‚t�'È­(ñÒ÷ÿþÊß’nT@¦‹œ8EÁ
+WB»ˆ›�ã0«µ{‘Ù`Îï>p±´#8D·‘§'�~„­~.@GºaíoçhoÜ
—kd|THM)ÉI°P£DPê¬tš°c½üÑb öôR�lHÍJ-ªsg_V/Q0Â³ÔeZ…³[Ëä+àÐsh´XCØ>l†ŸpF¯Ûn=�¦xwc–!.f	E¤^"ógJu¢ŠY–,d]â€AŒNÚaõ™ª%C¥™"¯7I×åj?*]ì#9ƒbf?èÃ²!BÀÖVN‰•}2©Q“—YS‰¥2ž^`e�
²
 
   For the options above, The following values are supported for "ARCH":
    
@@ -22,6 +23,9 @@
   fpr-names=ABI            Print FPR names according to specified ABI.
                            Default: numeric.
 
+  ginv                     Recognize the Global INValidate (GINV) ASE
+                           instructions.
+
   gpr-names=ABI            Print GPR names according to specified ABI.
                            Default: based on binary being disassembled.
 
@@ -38,7 +42,14 @@
   no-aliases    Disassemble only into canonical instructions, rather
                 than into pseudoinstructions.
 
-  numeric       Print numeric reigster names, rather than ABI names.
+  no-notes         Don't print instruction notes.
+
+  no-pc		    Don't print program counter prefix.
+  ctx4		    Force disassembly using 4-context mode.
+  ctx8		    Force 8-context mode, takes presedence."
+  notes            Do print instruction notes.
+
+  numeric       Print numeric register names, rather than ABI names.
 
   reg-names=ABI            Print GPR and FPR names according to
                            specified ABI.
@@ -63,6 +74,9 @@ the -M switch:
 The following MIPS specific disassembler options are supported for use
 with the -M switch (multiple options should be separated by commas):
 
+The following NFP specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
 The following PPC specific disassembler options are supported for use with
 the -M switch:
 
@@ -91,6 +105,7 @@ Use -M<class[,class]> to select the corr
   fpud            Recognize double precision FPU instructions.
   fpuda           Recognize double assist FPU instructions.
   fpus            Recognize single precision FPU instructions.
+  hex             Use only hexadecimal number to print immediates.
   i386        Disassemble in 32bit mode
   i8086       Disassemble in 16bit mode
   intel       Display instruction in Intel syntax
@@ -101,43 +116,25 @@ Use -M<class[,class]> to select the corr
   spfp            Recognize FPX SP instructions.
   suffix      Always display instruction suffix in AT&T syntax
   x86-64      Disassemble in 64bit mode
-# <dis error: %08lx># internal error, undefined modifier (%c)# internal error, undefined operand in `%s %s'$<undefined>%02x		*unknown*%d unused bits in i386_cpu_flags.
+# internal error, undefined modifier (%c)# internal error, undefined operand in `%s %s'$<undefined>%d unused bits in i386_cpu_flags.
 %d unused bits in i386_operand_type.
-%dsp16() takes a symbolic address, not a number%dsp8() takes a symbolic address, not a number%s: %d: Missing `)' in bitfield: %s
-%s: %d: Unknown bitfield: %s
-%s: Error: %s: Warning: 'LSL' operator not allowed'ROR' operator not allowed(DP) offset out of range.(SP) offset out of range.(unknown)*unknown operands type: %d**unknown*21-bit offset out of range64-bit address is disabled<function code %d><illegal instruction><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
-<unknown register %d>ABORT: unknown operandAccepted values are from -1 to 6Address 0x%s is out of bounds.
-Assume all insns are Thumb insnsAttempt to find bit index of 0Bad case %d (%s) in %s:%d
-Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameBiiiig Trouble in parse_imm16!Bit number for indexing general register is out of range 0-15Byte address required. - must be even.CpuMax != %d!
+%dsp16() takes a symbolic address, not a number%dsp8() takes a symbolic address, not a number%s: %d: missing `)' in bitfield: %s
+%s: %d: unknown bitfield: %s
+%s: Error: %s: Warning: %s: error: 'LSL' operator not allowed'ROR' operator not allowed(DP) offset out of range.(SP) offset out of range.(unknown)*unknown operands type: %d**unknown*, <invalid CRC operator>, 21-bit offset out of range64-bit address is disabled<function code %d><illegal instruction><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
+<invalid branch>[<invalid cmd action %d:%d:%d>[]<invalid cmd target %d:%d:%d>[]<invalid_instruction>:<unknown register %d>ABORT: unknown operandAddress 0x%s is out of bounds.
+Assume all insns are Thumb insnsAttempt to find bit index of 0Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameBiiiig Trouble in parse_imm16!Bit number for indexing general register is out of range 0-15Byte address required. - must be even.CpuMax != %d!
 Disassemble "register" namesDisassemble in ESA architecture modeDisassemble in z/Architecture modeDon't know how to specify # dependency %s
 Don't understand 0x%x 
-Error: read from memory failedExamine preceding label to determine an insn's typeFirst register of the range should be r13Hmmmm 0x%xIC note %d for opcode %s (IC:%s) conflicts with resource %s note %d
+Error processing section %u Error: read from memory failedExamine preceding label to determine an insn's typeFile has invalid ME-Config section.File has no ME-Config section.GPR odd is illegalHmmmm 0x%xIC note %d for opcode %s (IC:%s) conflicts with resource %s note %d
 IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d
 IC:%s [%s] has no terminals or sub-classes
 IC:%s has no terminals or sub-classes
-Immediate is out of range -128 to 127Immediate is out of range -32768 to 32767Immediate is out of range -512 to 511Immediate is out of range -7 to 8Immediate is out of range -8 to 7Immediate is out of range 0 to 65535Internal disassembler errorInternal error:  bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
-Internal error: bad sparc-opcode.h: "%s" == "%s"
-Internal error: bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
-Internal: Non-debugged code (test-case missing): %s:%dInvalid address type for operandInvalid position, should be 0, 16, 32, 48 or 64.Invalid position, should be 0, 8, 16, or 24Invalid position, should be 0,4, 8,...124.Invalid position, should be 16, 32, 64 or 128.Invalid register number, should be blinkInvalid register number, should be fpInvalid register number, should be pclInvalid size specifierInvalid size value must be on range 1-64.Invalid size, should be 1, 2, 4, or 8Invalid size, value must be LP_COUNT register cannot be used as destination registerLabel conflicts with `Rx'Label conflicts with register nameLast register of the range doesn't fitMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixName well-known globalsNo relocation for small immediateNot a pc-relative address.Only $sp or $15 allowed for this opcodeOnly $tp or $13 allowed for this opcodeOperand is not a symbolOperand out of range. Must be between -32768 and 32767.Print unknown instructions according to length from first two bitsRegister R30 is a limm indicatorRegister list is not validRegister must be BLINKRegister must be GPRegister must be ILINK1Register must be ILINK2Register must be PCLRegister must be R0Register must be R1Register must be R2Register must be R3Register must be SPRegister must be between r0 and r7Register must be between r8 and r15Register must be either r0-r3 or r12-r15Register number is not validSR/SelID is out of rangeSelID is out of rangeSelect raw register namesSelect register names used by GCCSelect register names used in ARM's ISA documentationSelect register names used in the APCSSelect register names used in the ATPCSSelect special register names used in the ATPCSSmall operand was not an immediate numberSpecial purpose register number is out of rangeSyntax error: No trailing ')'The following WebAssembly-specific disassembler options are supported for use
+Immediate is out of range -128 to 127Immediate is out of range -32768 to 32767Immediate is out of range -512 to 511Immediate is out of range -7 to 8Immediate is out of range -8 to 7Immediate is out of range 0 to 65535Invalid NFP option: %sInvalid size specifierLP_COUNT register cannot be used as destination registerLabel conflicts with `Rx'Label conflicts with register nameMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixName well-known globalsNo relocation for small immediateNot a pc-relative address.Only $sp or $15 allowed for this opcodeOnly $tp or $13 allowed for this opcodeOperand is not a symbolOperand out of range. Must be between -32768 and 32767.Print unknown instructions according to length from first two bitsRegister list is not validRegister must be between r0 and r7Register must be between r8 and r15Register number is not validSR/SelID is out of rangeSelID is out of rangeSelect raw register namesSelect register names used by GCCSelect register names used in ARM's ISA documentationSelect register names used in the APCSSelect register names used in the ATPCSSelect special register names used in the ATPCSSmall operand was not an immediate numberSpecial purpose register number is out of rangeSyntax error: No trailing ')'The following WebAssembly-specific disassembler options are supported for use
 with the -M switch:
-The percent-operator's operand is not a symbolUnknown bitfield: %s
-Unknown error %d
-Unrecognised disassembler CPU option: %s
-Unrecognised disassembler option: %s
-Unrecognised register name set: %s
-Unrecognized disassembler option: %s
-Unrecognized field %d while building insn.
-Unrecognized field %d while decoding insn.
-Unrecognized field %d while getting int operand.
-Unrecognized field %d while getting vma operand.
-Unrecognized field %d while parsing.
-Unrecognized field %d while printing insn.
-Unrecognized field %d while setting int operand.
-Unrecognized field %d while setting vma operand.
-Value is not aligned enoughValue must be a multiple of 16Value must be in the range 0 to 240Value must be in the range 0 to 28Value must be in the range 0 to 31Value must be in the range 1 to Value of A operand must be 0 or 1W keyword invalid in FR operand slot.W register expectedWarning: disassembly unreliable - not enough bytes availableWarning: illegal as 2-op instrWarning: illegal as emulation instrWarning: reserved use of A/L and B/W bits detectedWarning: rsrc %s (%s) has no chks
+The percent-operator's operand is not a symbolUIMM = 00000 is illegalUIMM values >15 are illegalUIMM values >7 are illegalUnknown error %d
+Value is not aligned enoughValue of A operand must be 0 or 1W keyword invalid in FR operand slot.W register expectedWarning: disassembly unreliable - not enough bytes availableWarning: illegal as 2-op instrWarning: illegal as emulation instrWarning: reserved use of A/L and B/W bits detectedWarning: rsrc %s (%s) has no chks
 Warning: rsrc %s (%s) has no chks or regs
-Warning: unrecognised CALLA addressing modeaddress register in load rangeaddress writeback expectedattempt to set y bit when using + or - modifierbad instruction `%.50s'bad instruction `%.50s...'bit,base is out of rangebit,base out of range for symbolbranch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangebyte relocation unsupportedcan't cope with insert %d
-can't create i386-init.h, errno = %s
+Warning: unrecognised CALLA addressing modeaccepted values are from -1 to 6address register in load rangeaddress writeback expectedattempt to set y bit when using + or - modifierbad case %d (%s) in %s:%dbad instruction `%.50s'bad instruction `%.50s...'bit,base is out of rangebit,base out of range for symbolbranch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangebyte relocation unsupportedcan't create i386-init.h, errno = %s
 can't create i386-tbl.h, errno = %s
 can't find %s for reading
 can't find i386-opc.tbl for reading, errno = %s
@@ -145,22 +142,22 @@ with the -M switch:
 can't find ia64-ic.tbl for reading
 cannot use odd number destination registercannot use odd number source registercgen_parse_address returned a symbol. Literal required.class %s is defined but not used
 displacement value is not aligneddisplacement value is not in range and is not aligneddisplacement value is out of rangedon't know how to specify %% dependency %s
-dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeexpecting got relative address: got(symbol)expecting got relative address: gotoffhi16(symbol)expecting got relative address: gotofflo16(symbol)expecting gp relative address: gp(symbol)extend operator expectedextraneous registerfloating-point immediate expectedfloating-point value must be 0.0 or 1.0floating-point value must be 0.5 or 1.0floating-point value must be 0.5 or 2.0illegal L operand valueillegal bitmaskillegal immediate valueillegal use of parenthesesimm10 is out of rangeimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate offsetimmediate out of rangeimmediate too big for element sizeimmediate valueimmediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeimmediate zero expectedincompatible L operand valueindex register in load rangeindex register xzr is not allowedinvalid %function() hereinvalid addressing modeinvalid arithmetic immediateinvalid conditional optioninvalid constantinvalid counter accessinvalid extend/shift operatorinvalid immediate, must be 1, 2, or 4invalid mask fieldinvalid mfcr maskinvalid operand.  type may have values 0,1,2 only.invalid post-increment amountinvalid registerinvalid register for stack adjustmentinvalid register listinvalid register nameinvalid register offsetinvalid register operand when updatinginvalid replicated MOV immediateinvalid shift amountinvalid shift operatorinvalid sprg numberinvalid tbr numberinvalid value for CMEM ld/st immediateinvalid value for immediatejump hint unalignedjunk at end of linemissing `)'missing `]'missing extend operatormissing mnemonic in syntax stringmissing registermost recent format '%s'
+dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeexpecting got relative address: got(symbol)expecting got relative address: gotoffhi16(symbol)expecting got relative address: gotofflo16(symbol)expecting gp relative address: gp(symbol)extend operator expectedextraneous registerfirst register of the range should be r13floating-point immediate expectedfloating-point value must be 0.0 or 1.0floating-point value must be 0.5 or 1.0floating-point value must be 0.5 or 2.0illegal L operand valueillegal bitmaskillegal id (%d)illegal immediate valueillegal use of parenthesesimm10 is out of rangeimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate offsetimmediate out of rangeimmediate too big for element sizeimmediate valueimmediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeimmediate zero expectedincompatible L operand valueindex register in load rangeindex register xzr is not allowedinternal disassembler errorinternal error, h8_disassemble_initinternal error: bad insn unitinternal error: bad major codeinternal error: bad sparc-opcode.h: "%s" == "%s"
+internal error: bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
+internal error: bad vliw->next_slot valueinternal error: broken opcode descriptor for `%s %s'internal error: don't know how to handle parsing resultsinternal error: epiphany_cgen_cpu_open: no endianness specifiedinternal error: epiphany_cgen_cpu_open: unsupported argument `%d'internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: fr30_cgen_cpu_open: no endianness specifiedinternal error: fr30_cgen_cpu_open: unsupported argument `%d'internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: frv_cgen_cpu_open: no endianness specifiedinternal error: frv_cgen_cpu_open: unsupported argument `%d'internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: immediate() called with invalid byte count %dinternal error: ip2k_cgen_cpu_open: no endianness specifiedinternal error: ip2k_cgen_cpu_open: unsupported argument `%d'internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: iq2000_cgen_cpu_open: no endianness specifiedinternal error: iq2000_cgen_cpu_open: unsupported argument `%d'internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: lm32_cgen_cpu_open: no endianness specifiedinternal error: lm32_cgen_cpu_open: unsupported argument `%d'internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: m32c_cgen_cpu_open: no endianness specifiedinternal error: m32c_cgen_cpu_open: unsupported argument `%d'internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: m32r_cgen_cpu_open: no endianness specifiedinternal error: m32r_cgen_cpu_open: unsupported argument `%d'internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: mep_cgen_cpu_open: no endianness specifiedinternal error: mep_cgen_cpu_open: unsupported argument `%d'internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: mt_cgen_cpu_open: no endianness specifiedinternal error: mt_cgen_cpu_open: unsupported argument `%d'internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: or1k_cgen_cpu_open: no endianness specifiedinternal error: or1k_cgen_cpu_open: unsupported argument `%d'internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: unknown hardware resourceinternal error: unknown operand, %sinternal error: unrecognized field %d while building insninternal error: unrecognized field %d while decoding insninternal error: unrecognized field %d while getting int operandinternal error: unrecognized field %d while getting vma operandinternal error: unrecognized field %d while parsinginternal error: unrecognized field %d while printing insninternal error: unrecognized field %d while setting int operandinternal error: unrecognized field %d while setting vma operandinternal error: xc16x_cgen_cpu_open: no endianness specifiedinternal error: xc16x_cgen_cpu_open: unsupported argument `%d'internal error: xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: xstormy16_cgen_cpu_open: no endianness specifiedinternal error: xstormy16_cgen_cpu_open: unsupported argument `%d'internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal: non-debugged code (test-case missing): %s:%dinvalid %function() hereinvalid Ddd valueinvalid address type for operandinvalid addressing modeinvalid arithmetic immediateinvalid conditional optioninvalid constantinvalid counter accessinvalid extend/shift operatorinvalid immediate, must be 1, 2, or 4invalid mask fieldinvalid mfcr maskinvalid offsetinvalid operand.  type may have values 0,1,2 only.invalid position, should be 0, 16, 32, 48 or 64.invalid position, should be 0, 8, 16, or 24invalid position, should be 16, 32, 64 or 128.invalid position, should be one of: 0,4,8,...124.invalid post-increment amountinvalid registerinvalid register for stack adjustmentinvalid register listinvalid register nameinvalid register number, should be blinkinvalid register number, should be fpinvalid register number, should be pclinvalid register offsetinvalid register operand when updatinginvalid replicated MOV immediateinvalid shift amountinvalid shift operatorinvalid size value must be on range 1-64.invalid size, should be 1, 2, 4, or 8invalid size, value must be invalid sprg numberinvalid tbr numberinvalid value for CMEM ld/st immediateinvalid value for immediatejump hint unalignedjunk at end of linelast register of the range doesn't fitmissing `)'missing `]'missing extend operatormissing mnemonic in syntax stringmissing registermost recent format '%s'
 appears more restrictive than '%s'
 multiple note %s not handled
 multipliernegative immediate value not allowednegative or unaligned offset expectedno insns mapped directly to terminal IC %s
 no insns mapped directly to terminal IC %s [%s]no shift amount allowed for 8-bit constantsnot a valid r0l/r0h pairoffset(IP) is not a valid formopcode %s has no class (ops %d %d %d)
-operand is not zerooperand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)operand out of range (0x%lx not between 0 and 0x%lx)operand out of range (not between 1 and 255)overlapping field %s->%s
+operand is not zerooperand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)operand out of range (0x%lx not between 0 and 0x%lx)operand out of range (not between 1 and 255)out of memoryoverlapping field %s->%s
 overwriting note %d with note %d (IC:%s)
-p0-p7 expectedparse_addr16: invalid opindex.percent-operator operand is not a symbolposition value is out of rangereg pair must be contiguousreg pair must start from even regregister element indexregister name used as immediate valueregister numberregister number must be evenregister source in immediate moveregister unavailable for short instructionsrotate expected to be 0, 90, 180 or 270rotate expected to be 90 or 270rsrc %s (%s) has no regs
-shift amountshift amount must be 0 or 12shift amount must be 0 or 16shift amount must be 0 or 8shift amount must be a multiple of 16shift is not permittedshift operator expectedsource and target register operands must be differentstack pointer register expectedsyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)unable to change directory to "%s", errno = %s
-undefinedunexpected address writebackunknownunknown	0x%02lxunknown	0x%04lxunknown constraint `%c'unknown operand shift: %x
-unknown reg: %d
-unrecognized form of instructionunrecognized instructionvalue must be power of 2value out of range 1 - 256vector5 is out of rangevector8 is out of rangewarning: ignoring unknown -M%s option
-width value is out of rangez0-z15 expectedz0-z7 expectedProject-Id-Version: opcodes 2.28.90
+p0-p7 expectedparse_addr16: invalid opindex.percent-operator operand is not a symbolposition value is out of rangereading from a write-only register.reg pair must be contiguousreg pair must start from even regregister R30 is a limm indicatorregister element indexregister must be BLINKregister must be GPregister must be ILINK1register must be ILINK2register must be PCLregister must be R0register must be R1register must be R2register must be R3register must be SPregister must be either r0-r3 or r12-r15register name used as immediate valueregister numberregister number must be evenregister out of rangeregister source in immediate moveregister unavailable for short instructionsrotate expected to be 0, 90, 180 or 270rotate expected to be 90 or 270rsrc %s (%s) has no regs
+shift amountshift amount must be 0 or 12shift amount must be 0 or 16shift amount must be 0 or 8shift amount must be a multiple of 16shift is not permittedshift operator expectedsource and target register operands must be differentspecified register cannot be read fromspecified register cannot be written tostack pointer register expectedsyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)unable to change directory to "%s", errno = %s
+undefinedunexpected address writebackunknownunknown	0x%02lxunknown	0x%04lxunknown S/390 disassembler option: %sunknown bitfield: %s
+unknown constraint `%c'unknown operand shift: %xunknown reg: %dunrecognised disassembler CPU option: %sunrecognised disassembler option: %sunrecognised register name set: %sunrecognized disassembler option: %sunrecognized form of instructionunrecognized instructionvalue must be a multiple of 16value must be in the range 0 to 240value must be in the range 0 to 28value must be in the range 0 to 31value must be in the range 1 to value must be power of 2value out of range 1 - 256vector5 is out of rangevector8 is out of rangewarning: ignoring unknown -M%s optionwidth value is out of rangewriting to a read-only register.z0-z15 expectedz0-z7 expectedProject-Id-Version: opcodes 2.30.90
 Report-Msgid-Bugs-To: bug-binutils@gnu.org
-POT-Creation-Date: 2017-07-03 16:55+0200
-PO-Revision-Date: 2017-07-19 22:27+0200
+POT-Creation-Date: 2018-06-24 19:41+0100
+PO-Revision-Date: 2018-06-24 22:29+0200
 Last-Translator: Roland Illig <roland.illig@gmx.de>
 Language-Team: German <translation-team-de@lists.sourceforge.net>
 Language: de
@@ -168,7 +165,7 @@ MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 X-Bugs: Report translation errors to the Language-Team address.
-X-Generator: Poedit 2.0.2
+X-Generator: Poedit 2.0.8
 Plural-Forms: nplurals=2; plural=(n != 1);
 
 
@@ -188,6 +185,9 @@ Plural-Forms: nplurals=2; plural=(n != 1
   fpr-names=ABI            Gib FPR-Namen entsprechend des angegebenen ABI aus.
                            Standard: numerisch.
 
+  ginv                     Befehle fÃ¼r Global INValidate (GINV)
+                           Adressraumerweiterung erkennen.
+
   gpr-names=ABI            Namen der Mehrzweckregister entsprechend des
                            angegebenen ABI ausgeben.
                            Standard: abhÃ¤ngig von der BinÃ¤rdatei, die
@@ -207,6 +207,13 @@ Plural-Forms: nplurals=2; plural=(n != 1
   no-aliases    AusschlieÃŸlich kanonische Befehle beim Disassemblieren
                 verwenden, anstelle von Pseudobefehlen.
 
+  no-notes         Befehls-Hinweise nicht ausgeben.
+
+  no-pc		    ProgrammzÃ¤hler-PrÃ¤fix nicht ausgeben.
+  ctx4		    Disassemblieren mit 4-Kontext-Modus erzwingen.
+  ctx8		    8-Kontext-Modus erzwingen, hat Vorrang.
+  notes            Befehls-Hinweise ausgeben.
+
   numeric       Numerische Registernamen statt ABI-Namen ausgeben.
 
   reg-names=ABI            Gib GPR- und FPR-Namen entsprechend des
@@ -235,6 +242,10 @@ Die folgenden MIPS-spezifischen Disassem
 mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch
 Kommata getrennt werden):
 
+Die folgenden NFP-spezifischen Disassembleroptionen werden zusammen
+mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch
+Kommata getrennt werden):
+
 Die folgenden PPC-spezifischen Disassembleroptionen werden in Kombination
 mit dem Schalter Â»-MÂ« unterstÃ¼tzt:
 
@@ -267,6 +278,7 @@ korrekten Opcode-Klassen auszuwÃ¤hlen.
   fpud            Befehle fÃ¼r doppelt genaue FPU erkennen.
   fpuda           Befehle fÃ¼r hilfsweise doppelt genaue FPU erkennen.
   fpus            Befehle fÃ¼r einfach genaue FPU erkennen.
+  hex             Direktwerte ausschlieÃŸlich hexadezimal ausgeben.
   i386        Im 32-Bit-Modus disassemblieren
   i8086       Im 16-Bit-Modus disassemblieren
   intel       Maschinenbefehl in Intel-Syntax anzeigen
@@ -277,59 +289,41 @@ korrekten Opcode-Klassen auszuwÃ¤hlen.
   spfp            FPX-SP-Befehle erkennen.
   suffix      Maschinenbefehl-Suffix immer in AT&T-Syntax anzeigen
   x86-64      Im 64-Bit-Modus disassemblieren
-# <Disassemblierungsfehler: %08lx># Interner Fehler, unerkannter Modifikator (%c)# Interner Fehler, undefinierter Operand in â€ž%s %sâ€œ$<undefiniert>%02x		*unbekannt*%d ungenutzte Bits in i386_cpu_flags.
+# Interner Fehler, unerkannter Modifikator (%c)# Interner Fehler, undefinierter Operand in â€ž%s %sâ€œ$<undefiniert>%d ungenutzte Bits in i386_cpu_flags.
 %d ungenutzte Bits in i386_operand_type.
 %dsp16() hat als Parameter eine symbolische Adresse, keine Zahl%dsp8() hat als Parameter eine symbolische Adresse, keine Zahl%s: %d: Hier fehlt eine Â»)Â« im Bitfeld: %s
 %s: %d: Unbekanntes Bitfeld: %s
-%s: Fehler: %s: Warnung:LSL-Operator ist hier nicht erlaubtROR-Operator ist hier nicht erlaubt(DP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs(SP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs(unbekannt)Unbekannter Operandentyp: %d**unbekannt*21-Bit-Offset auÃŸerhalb des gÃ¼ltigen Bereichs64-Bit-Adresse ist deaktiviert<Funktionscode %d><ungÃ¼ltiger Maschinenbefehl><ungÃ¼ltige Genauigkeit><interner Disassemblerfehler><interner Fehler in der Opcode-Tabelle: %s %s>
-<unbekanntes Register %d>ABBRUCH: Unbekannter OperandMÃ¶gliche Werte liegen zwischen -1 und 6Adresse 0x%s ist auÃŸerhalb des gÃ¼ltigen Bereichs.
-Annnehmen, dass alle Befehle Thumb-Befehle sindVersuch, ein gesetztes Bit von 0 zu bestimmenInterner Fehler: case %d (%s) in %s:%d
-UngÃ¼ltiger DirektausdruckUngÃ¼ltiges Register beim Post-IncrementUngÃ¼ltiges Register beim Pre-IncrementFalscher RegisternameOh, oh. Hier ist richtig was kaputt in parse_imm16!Die Bitnummer, um das allgemeine Register zu indizieren, ist auÃŸerhalb des gÃ¼ltigen Bereichs 0-15Byteadresse benÃ¶tigt -- muss gerade seinCpuMax != %d
+%s: Fehler: %s: Warnung: %s: Fehler: LSL-Operator ist hier nicht erlaubtROR-Operator ist hier nicht erlaubt(DP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs.(SP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs.(unbekannt)Unbekannter Operandentyp: %d**unbekannt*, <ungÃ¼ltiger CRC-Operator>, 21-Bit-Offset auÃŸerhalb des gÃ¼ltigen Bereichs64-Bit-Adresse ist deaktiviert<Funktionscode %d><ungÃ¼ltiger Maschinenbefehl><ungÃ¼ltige Genauigkeit><interner Disassemblerfehler><interner Fehler in der Opcode-Tabelle: %s %s>
+<ungÃ¼ltiger Zweig>[<UngÃ¼ltige Befehlsaktion %d:%d:%d>[]<UngÃ¼ltiges Befehlsziel %d:%d:%d>[]<ungÃ¼ltiger Maschinenbefehl><unbekanntes Register %d>ABBRUCH: Unbekannter OperandAdresse 0x%s ist auÃŸerhalb des gÃ¼ltigen Bereichs.
+Annnehmen, dass alle Befehle Thumb-Befehle sindVersuch, ein gesetztes Bit von 0 zu bestimmenUngÃ¼ltiger DirektausdruckUngÃ¼ltiges Register beim Post-IncrementUngÃ¼ltiges Register beim Pre-IncrementFalscher RegisternameOh, oh. Hier ist richtig was kaputt in parse_imm16!Die Bitnummer, um das allgemeine Register zu indizieren, ist auÃŸerhalb des gÃ¼ltigen Bereichs 0-15Byteadresse benÃ¶tigt -- muss gerade sein.CpuMax != %d
 "register"-Namen disassemblierenIm ESA-Architektur-Modus disassemblierenIm z/-Architektur-Modus disassemblierenKeine Ahnung, wie ich die AbhÃ¤ngigkeit Â»# %sÂ« angeben soll.
 Ich verstehe Â»0x%xÂ« nicht.
-Fehler: Lesen aus dem Speicher fehlgeschlagenVorangehende Sprungmarke untersuchen, um die Befehlsart festzustellenDer erste Register im Bereich sollte r13 seinHmmmm 0x%xIC Bemerkung %d fÃ¼r Opcode Â»%s (IC:%s)Â« vertrÃ¤gt sich nicht mit Ressource %s Bemerkung %d.
+Fehler beim Verarbeiten von Abschnitt %u Fehler: Lesen aus dem Speicher fehlgeschlagenVorangehende Sprungmarke untersuchen, um die Befehlsart festzustellenDatei hat ungÃ¼ltigen ME-Config-Abschnitt.Datei hat keinen ME-Config-Abschnitt.GPR ungerade ist ungÃ¼ltigHmmmm 0x%xIC Bemerkung %d fÃ¼r Opcode Â»%s (IC:%s)Â« vertrÃ¤gt sich nicht mit Ressource %s Bemerkung %d.
 IC Bemerkung %d in Opcode Â»%s (IC:%s)Â« vertrÃ¤gt sich nicht mit Ressource %s Bemerkung %d.
 IC:%s [%s] hat weder Terminale noch Unterklassen
 IC:%s hat weder Terminale noch Unterklassen
-Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -128 bis 127Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -32768 bis 32767Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -512 bis 511Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -7 bis 8Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -8 bis 7Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 0 bis 65535Interner DisassemblerfehlerInterner Fehler: UngÃ¼ltiger SPARC-Opcode: "%s", %#.8lx, %#.8lx
-Interner Fehler: UngÃ¼ltiger SPARC-Opcode: "%s" == "%s"
-Interner Fehler: UngÃ¼ltiger SPARC-Opcode: "%s", %#.8lx, %#.8lx
-Intern: Nicht gedebuggter Code (Testfall fehlt): %s:%dUngÃ¼ltiger Adresstyp fÃ¼r OperandUngÃ¼ltige Position; muss 0, 16, 32, 48 oder 64 seinUngÃ¼ltige Position; muss 0, 8, 16 oder 24 seinUngÃ¼ltige Position; muss 0, 4, 8, ..., 124 seinUngÃ¼ltige Position; muss 16, 32, 64 oder 128 seinUngÃ¼ltige Registernummer, sollte blink seinUngÃ¼ltige Registernummer, sollte Gleitkomma seinUngÃ¼ltige Registernummer, sollte pcl seinUngÃ¼ltige GrÃ¶ÃŸenangabeUngÃ¼ltiger Wert fÃ¼r GrÃ¶ÃŸe; muss im Bereich 1-64 sein.UngÃ¼ltige GrÃ¶ÃŸe; muss 1, 2, 4 oder 8 seinUngÃ¼ltige GrÃ¶ÃŸe, muss sein: Das LP_COUNT-Register kann nicht als Zielregister verwendet werdenSprungmarke vertrÃ¤gt sich nicht mit Â»RxÂ«Sprungmarke vertrÃ¤gt sich nicht mit dem RegisternameLetztes Register des Bereichs passt nichtDas Â»#Â«-PrÃ¤fix felhtDas Â».Â«-PrÃ¤fix fehltDas Â»pag:Â«-PrÃ¤fix fehltDas Â»pof:Â«-PrÃ¤fix fehltDas Â»seg:Â«-PrÃ¤fix fehltDas Â»sof:Â«-PrÃ¤fix fehltWohlbekannte globale Namen benennenKeine Verlagerung fÃ¼r kleine DirektwerteDas ist keine PC-relative AdresseDieser Opcode kann nur $sp oder $15 als Parameter habenDieser Opcode kann nur $tp oder $13 als Parameter haben.Operand muss ein Symbol seinOperand auÃŸerhalb des gÃ¼ltigen Bereichs -32768 bis 32767Unbekannte Befehle anhand ihrer LÃ¤nge aus den ersten beiden Bits ausgebenRegister R30 ist ein limm-IndikatorRegisterliste ist ungÃ¼ltigRegister muss BLINK seinRegister muss GP seinRegister muss ILINK1 seinRegister muss ILINK2 seinRegister muss PCL seinRegister muss R0 seinRegister muss R1 seinRegister muss R2 seinRegister muss R3 seinRegister muss SP seinDas Register muss zwischen r0 und r7 liegen.Das Register muss zwischen r8 und r15 liegen.Register muss entweder r0-r3 oder r12-r15 seinDie Registernummer ist nicht gÃ¼ltig.SR/RelID l liegt auÃŸerhalb des gÃ¼ltigen BereichsSelID liegt auÃŸerhalb des gÃ¼ltigen BereichsRohe Registernamen auswÃ¤hlenVon GCC verwendete Registernamen auswÃ¤hlenVon ARMs ISA-Dokumentation verwendete Registernamen verwendenIn APCS verwendete Registernamen auswÃ¤hlenIn ATPCS verwendete Registernamen auswÃ¤hlenSpezielle Registernamen fÃ¼r ATPCS auswÃ¤hlenKleiner Operand war keine DirektzahlNummer des Spezialregisters ist auÃŸerhalb des gÃ¼ltigen BereichsSyntaxfehler: Kein abschlieÃŸendes Â»)Â«Die folgenden WebAssembly-spezifischen Disassembleroptionen werden in
+Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -128 bis 127Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -32768 bis 32767Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -512 bis 511Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -7 bis 8Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -8 bis 7Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 0 bis 65535UngÃ¼ltige NFP-Option: %sUngÃ¼ltige GrÃ¶ÃŸenangabeDas LP_COUNT-Register kann nicht als Zielregister verwendet werdenSprungmarke vertrÃ¤gt sich nicht mit Â»RxÂ«Sprungmarke vertrÃ¤gt sich nicht mit dem RegisternameDas Â»#Â«-PrÃ¤fix felhtDas Â».Â«-PrÃ¤fix fehltDas Â»pag:Â«-PrÃ¤fix fehltDas Â»pof:Â«-PrÃ¤fix fehltDas Â»seg:Â«-PrÃ¤fix fehltDas Â»sof:Â«-PrÃ¤fix fehltWohlbekannte globale Namen benennenKeine Verlagerung fÃ¼r kleine DirektwerteDas ist keine PC-relative Adresse.Dieser Opcode kann nur $sp oder $15 als Parameter habenDieser Opcode kann nur $tp oder $13 als Parameter habenOperand muss ein Symbol seinOperand auÃŸerhalb des gÃ¼ltigen Bereichs -32768 bis 32767.Unbekannte Befehle anhand ihrer LÃ¤nge aus den ersten beiden Bits ausgebenRegisterliste ist ungÃ¼ltigDas Register muss zwischen r0 und r7 liegenDas Register muss zwischen r8 und r15 liegenDie Registernummer ist nicht gÃ¼ltigSR/RelID l liegt auÃŸerhalb des gÃ¼ltigen BereichsSelID liegt auÃŸerhalb des gÃ¼ltigen BereichsRohe Registernamen auswÃ¤hlenVon GCC verwendete Registernamen auswÃ¤hlenVon ARMs ISA-Dokumentation verwendete Registernamen verwendenIn APCS verwendete Registernamen auswÃ¤hlenIn ATPCS verwendete Registernamen auswÃ¤hlenSpezielle Registernamen fÃ¼r ATPCS auswÃ¤hlenKleiner Operand war keine DirektzahlNummer des Spezialregisters ist auÃŸerhalb des gÃ¼ltigen BereichsSyntaxfehler: Kein abschlieÃŸendes Â»)Â«Die folgenden WebAssembly-spezifischen Disassembleroptionen werden in
 Kombination mit dem Schalter Â»-MÂ« unterstÃ¼tzt:
-Der Operand des Prozent-Operators ist kein SymbolUnbekanntes Bitfeld: %s
-Unbekannter Fehler %d
-Unbekannte Disassembler-CPU-Option: %s
-Unbekannte Disassembler-Option: %s
-Unbekannte Registernamensmenge: %s
-Unbekannte Disassembler-Option: %s
-Unbekanntes Feld %d beim Erzeugen des Befehls.
-Unbekannted Feld %d beim Decodieren des Befehls.
-Unbekanntes Feld %d beim Holen des int-Operanden.
-Unbekanntes Feld %d beim Holen des vma-Operanden.
-Unbekanntes Feld %d beim Parsen entdeckt.
-Unbekanntes Feld %d beim Schreiben des Befehls.
-Unbekanntes Feld %d beim Setzen des int-Operanden.
-Unbekanntes Feld %d beim Holen des vma-Operanden.
-Der Wert ist nicht ausreichend ausgerichtetWert muss ein Vielfaches von 16 seinWert muss im Bereich von 0 bis 240 liegenWert muss im Bereich von 0 bis 28 liegenWert muss im Bereich von 0 bis 31 liegenÃœBERSETZUNGSPROBLEM: Wert muss im Bereich von 1 bis $$$ liegenWert des A-Operanden muss entweder 0 oder 1 seinSchlÃ¼sselwort Â»WÂ« ist im Operandenplatz Â»FRÂ« ungÃ¼ltigW-Register erwartetWarnung: Disassemblat unzuverlÃ¤ssig â€“ nicht genÃ¼gend Bytes verfÃ¼gbarWarnung: UngÃ¼ltig als 2-Op-MaschinenbefehlWarnung: UngÃ¼ltig als Emulations-MaschinenbefehlWarnung: Benutzung der reservierten A/L- und B/W-Bits erkanntWarnung: Die Ressource Â»%s (%s)Â« hat keine Â»chksÂ«.
+Der Operand des Prozent-Operators ist kein SymbolUIMM = 0000 ist ungÃ¼ltigUIMM-Werte > 15 sind ungÃ¼ltigUIMM-Werte > 7 sind ungÃ¼ltigUnbekannter Fehler %d
+Der Wert ist nicht ausreichend ausgerichtetWert des A-Operanden muss entweder 0 oder 1 seinSchlÃ¼sselwort Â»WÂ« ist im Operandenplatz Â»FRÂ« ungÃ¼ltig.W-Register erwartetWarnung: Disassemblat unzuverlÃ¤ssig â€“ nicht genÃ¼gend Bytes verfÃ¼gbarWarnung: UngÃ¼ltig als 2-Op-MaschinenbefehlWarnung: UngÃ¼ltig als Emulations-MaschinenbefehlWarnung: Benutzung der reservierten A/L- und B/W-Bits erkanntWarnung: Die Ressource Â»%s (%s)Â« hat keine Â»chksÂ«.
 Warnung: Die Ressource Â»%s (%s)Â« hat keine Â»chksÂ« oder Register.
-Warnung: Unbekannter CALLA-AdressierungsmodusAdressregister im Ladebereich (load range)Adressen-ZurÃ¼ckschreiben erwartetVersuch, das y-Bit zusammen mit dem Modifikator Â»+Â« oder Â»-Â« zu setzenFalscher Befehl Â»%.50sÂ«Falscher Befehl Â»%.50s...Â«Bit,Basis liegt auÃŸerhalb des gÃ¼ltigen BereichsBit,Basis liegt auÃŸerhalb des gÃ¼ltigen Bereichs fÃ¼r SymbolSprung-Operand ist nicht ausgerichtet (unaligned).Verzweigung auf ungeraden OffsetVerzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs und zu einem ungeraden Offset.Verzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs.Byte-Relokation nicht unterstÃ¼tztKann nicht mit Â»inserv %dÂ« umgehen.
-Kann i386-init.h nicht anlegen, errno = %s
+Warnung: Unbekannter CALLA-AdressierungsmodusMÃ¶gliche Werte liegen zwischen -1 und 6Adressregister im Ladebereich (load range)Adressen-ZurÃ¼ckschreiben erwartetVersuch, das y-Bit zusammen mit dem Modifikator Â»+Â« oder Â»-Â« zu setzeninternal error: case %d (%s) in %s:%dFalscher Befehl Â»%.50sÂ«Falscher Befehl Â»%.50s...Â«Bit,Basis liegt auÃŸerhalb des gÃ¼ltigen BereichsBit,Basis liegt auÃŸerhalb des gÃ¼ltigen Bereichs fÃ¼r SymbolSprung-Operand ist nicht ausgerichtet (unaligned)Verzweigung auf ungeraden OffsetVerzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs und zu einem ungeraden Offset.Verzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs.Byte-Relokation nicht unterstÃ¼tztKann i386-init.h nicht anlegen, errno = %s
 Kann i386-tbl.h nicht anlegen, errno = %s
 Kann Â»%sÂ« nicht zum Lesen finden
 Kann Â»i386-opc.tblÂ« nicht zum Lesen finden, errno = %s
 Kann Â»i386-reg.tblÂ« nicht zum Lesen finden, errno = %s
 Kann Â»ia64-ic.tblÂ« nicht zum Lesen finden
-Nummer des Zielregisters muss gerade seinNummer des Quellregisters muss gerade seincgen_parse_address: Gebe Symbol zurÃ¼ck. Sollte eigentlich ein Literal seinDie Klasse Â»%sÂ« wurde definiert, aber nicht benutzt.
+Nummer des Zielregisters muss gerade seinNummer des Quellregisters muss gerade seincgen_parse_address hat Symbol zurÃ¼ckgegeben, muss jedoch ein Literal sein.Die Klasse Â»%sÂ« wurde definiert, aber nicht benutzt.
 Der Abstandswert ist nicht ausgerichtet.Der Abstandswert ist auÃŸerhalb des gÃ¼ltigen Bereichs und nicht ausgerichtetDer Abstandswert ist auÃŸerhalb des fÃ¼ltigen Bereichs.Keine Ahnung, wie ich die AbhÃ¤ngigkeit Â»%% %sÂ« angeben soll.
-Direktwert dsp:16 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert dsp:20 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert dsp:24 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert dsp:6 liegt auÃŸerhalb des gÃ¼ltigen BereichsAdresse relativ zu got erwartet: got(Symbol)Adresse relativ zu got erwartet: gotoffhi16(Symbol)Adresse relativ zu got erwartet: gotofflo16(Symbol)Adresse relativ zu gp erwartet: gp(Symbol)Extend-Operator erwartetIrrelevantes RegisterGleitkomma-Direktwert erwartetGleitkommazahl muss entweder 0.0 oder 1.0 seinGleitkommazahl muss entweder 0.5 oder 1.0 seinGleitkommazahl muss entweder 0.5 oder 2.0 seinUnerlaubter Wert fÃ¼r L-OperandenUngÃ¼ltige BitmaskeUnerlaubter DirektwertUnerlaubte Benutzung von Klammernimm10 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert imm:6 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 0 bis 7Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 1 bis 2Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 1 bis 8Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 2 bis 9Direkter OffsetDirektoperand auÃŸerhalb des gÃ¼ltigen BereichsDirektwert ist zu groÃŸ fÃ¼r ElementgrÃ¶ÃŸeDirektwertEin Direktoperand kann kein Register seinDirektwert auÃŸerhalb des gÃ¼ltigen BereichsDirektoperand auÃŸerhalb des gÃ¼ltigen BereichsDirekte Null erwartetInkompatibler L-OperandenwertIndexregister im Ladebereich (load range)Indexregister xzr ist nicht erlaubt%function() ist hier ungÃ¼ltigUngÃ¼ltiger AdressierungsmodusUngÃ¼ltiger Wert fÃ¼r DirektwertUngÃ¼ltige bedingte OptionUngÃ¼ltige KonstanteUngÃ¼ltiger Zugriff auf ZÃ¤hlerNicht erlaubter Extend/Shift-OperatorUngÃ¼ltiger Direktwert; muss 1, 2 oder 4 seinUngÃ¼ltiges MaskierungsfeldUngÃ¼ltige mfcr-MaskeUngÃ¼ltiger Operand. Die Art kann nur 0, 1 oder 2 seinNicht erlaubte Anzahl im Post-InkrementUngÃ¼ltiges RegisterUngÃ¼ltiges Register fÃ¼r StackanpassungUngÃ¼ltige RegisterlisteFalscher RegisternameUngÃ¼ltiger Register-OffsetUngÃ¼ltiger Registeroperand beim AktualisierenUngÃ¼ltiger replizierter Direktwert fÃ¼r MOVUngÃ¼ltige SchiebeanzahlUngÃ¼ltiger SchiebeoperatorUngÃ¼ltige sprg-NummerUngÃ¼ltige tbr-NummerUngÃ¼ltiger Wert fÃ¼r Direktwert von CMEM ld/stUngÃ¼ltiger Wert fÃ¼r DirektwertSprunghinweis ist nicht ausgerichtet (unaligned).MÃ¼ll am Ende der ZeileFehlende Â»)Â«.Hier fehlt eine Â»]Â«.Extend-Operator fehltFehlender Mnemonic im SyntaxstringFehlendes RegisterDas letzte Format Â»%sÂ« scheint strenger zu sein als Â»%sÂ«.
+Direktwert dsp:16 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert dsp:20 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert dsp:24 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert dsp:6 liegt auÃŸerhalb des gÃ¼ltigen BereichsAdresse relativ zu got erwartet: got(Symbol)Adresse relativ zu got erwartet: gotoffhi16(Symbol)Adresse relativ zu got erwartet: gotofflo16(Symbol)Adresse relativ zu gp erwartet: gp(Symbol)Extend-Operator erwartetIrrelevantes RegisterDas erste Register im Bereich sollte r13 seinGleitkomma-Direktwert erwartetGleitkommazahl muss entweder 0.0 oder 1.0 seinGleitkommazahl muss entweder 0.5 oder 1.0 seinGleitkommazahl muss entweder 0.5 oder 2.0 seinUnerlaubter Wert fÃ¼r L-OperandenUngÃ¼ltige BitmaskeUngÃ¼ltige ID (%d)Unerlaubter DirektwertUnerlaubte Benutzung von Klammernimm10 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert imm:6 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 0 bis 7Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 1 bis 2Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 1 bis 8Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 2 bis 9Direkter OffsetDirektoperand auÃŸerhalb des gÃ¼ltigen BereichsDirektwert ist zu groÃŸ fÃ¼r ElementgrÃ¶ÃŸeDirektwertEin Direktoperand kann kein Register seinDirektwert auÃŸerhalb des gÃ¼ltigen BereichsDirektoperand auÃŸerhalb des gÃ¼ltigen BereichsDirekte Null erwartetInkompatibler L-OperandenwertIndexregister im Ladebereich (load range)Indexregister xzr ist nicht erlaubtinternal disassembler errorinternal error, h8_disassemble_initinternal error: bad insn unitinternal error: bad major codeinternal error: bad sparc-opcode.h: "%s" == "%s"
+internal error: bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
+internal error: bad vliw->next_slot valueinternal error: broken opcode descriptor for `%s %s'internal error: don't know how to handle parsing resultsinternal error: epiphany_cgen_cpu_open: no endianness specifiedinternal error: epiphany_cgen_cpu_open: unsupported argument `%d'internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: fr30_cgen_cpu_open: no endianness specifiedinternal error: fr30_cgen_cpu_open: unsupported argument `%d'internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: frv_cgen_cpu_open: no endianness specifiedinternal error: frv_cgen_cpu_open: unsupported argument `%d'internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: immediate() called with invalid byte count %dinternal error: ip2k_cgen_cpu_open: no endianness specifiedinternal error: ip2k_cgen_cpu_open: unsupported argument `%d'internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: iq2000_cgen_cpu_open: no endianness specifiedinternal error: iq2000_cgen_cpu_open: unsupported argument `%d'internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: lm32_cgen_cpu_open: no endianness specifiedinternal error: lm32_cgen_cpu_open: unsupported argument `%d'internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: m32c_cgen_cpu_open: no endianness specifiedinternal error: m32c_cgen_cpu_open: unsupported argument `%d'internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: m32r_cgen_cpu_open: no endianness specifiedinternal error: m32r_cgen_cpu_open: unsupported argument `%d'internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: mep_cgen_cpu_open: no endianness specifiedinternal error: mep_cgen_cpu_open: unsupported argument `%d'internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: mt_cgen_cpu_open: no endianness specifiedinternal error: mt_cgen_cpu_open: unsupported argument `%d'internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: or1k_cgen_cpu_open: no endianness specifiedinternal error: or1k_cgen_cpu_open: unsupported argument `%d'internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: unknown hardware resourceinternal error: unknown operand, %sinternal error: unrecognized field %d while building insninternal error: unrecognized field %d while decoding insninternal error: unrecognized field %d while getting int operandinternal error: unrecognized field %d while getting vma operandinternal error: unrecognized field %d while parsinginternal error: unrecognized field %d while printing insninternal error: unrecognized field %d while setting int operandinternal error: unrecognized field %d while setting vma operandinternal error: xc16x_cgen_cpu_open: no endianness specifiedinternal error: xc16x_cgen_cpu_open: unsupported argument `%d'internal error: xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: xstormy16_cgen_cpu_open: no endianness specifiedinternal error: xstormy16_cgen_cpu_open: unsupported argument `%d'internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: non-debugged code (test-case missing): %s:%d%function() ist hier ungÃ¼ltigUngÃ¼ltiger Ddd-WertUngÃ¼ltiger Adresstyp fÃ¼r OperandUngÃ¼ltiger AdressierungsmodusUngÃ¼ltiger Wert fÃ¼r DirektwertUngÃ¼ltige bedingte OptionUngÃ¼ltige KonstanteUngÃ¼ltiger Zugriff auf ZÃ¤hlerNicht erlaubter Extend/Shift-OperatorUngÃ¼ltiger Direktwert; muss 1, 2 oder 4 seinUngÃ¼ltiges MaskierungsfeldUngÃ¼ltige mfcr-MaskeUngÃ¼ltiger OffsetUngÃ¼ltiger Operand. Die Art kann nur 0, 1 oder 2 sein.UngÃ¼ltige Position; muss 0, 16, 32, 48 oder 64 sein.UngÃ¼ltige Position; muss 0, 8, 16 oder 24 seinUngÃ¼ltige Position; muss 16, 32, 64 oder 128 sein.UngÃ¼ltige Position; muss 0, 4, 8, ..., 124 sein.Nicht erlaubte Anzahl im Post-InkrementUngÃ¼ltiges RegisterUngÃ¼ltiges Register fÃ¼r StackanpassungUngÃ¼ltige RegisterlisteFalscher RegisternameUngÃ¼ltige Registernummer, sollte blink seinUngÃ¼ltige Registernummer, sollte Gleitkomma seinUngÃ¼ltige Registernummer, sollte pcl seinUngÃ¼ltiger Register-OffsetUngÃ¼ltiger Registeroperand beim AktualisierenUngÃ¼ltiger replizierter Direktwert fÃ¼r MOVUngÃ¼ltige SchiebeanzahlUngÃ¼ltiger SchiebeoperatorUngÃ¼ltiger Wert fÃ¼r GrÃ¶ÃŸe; muss im Bereich 1-64 sein.UngÃ¼ltige GrÃ¶ÃŸe; muss 1, 2, 4 oder 8 seinUngÃ¼ltige GrÃ¶ÃŸe, muss sein: UngÃ¼ltige sprg-NummerUngÃ¼ltige tbr-NummerUngÃ¼ltiger Wert fÃ¼r Direktwert von CMEM ld/stUngÃ¼ltiger Wert fÃ¼r DirektwertSprunghinweis ist nicht ausgerichtet (unaligned)MÃ¼ll am Ende der ZeileLetztes Register des Bereichs passt nichtFehlende Â»)Â«.Hier fehlt eine Â»]Â«.Extend-Operator fehltFehlender Mnemonic im SyntaxstringFehlendes RegisterDas letzte Format Â»%sÂ« scheint strenger zu sein als Â»%sÂ«.
 Mehrfache Bemerkung Â»%sÂ« nicht verarbeitet.
 MultiplikatorNegativer Direktwert nicht erlaubtNegativer oder unausgerichteter Offset erwartetKein Befehl ist dem Terminal-IC Â»%sÂ« direkt zugeordnet.
 Kein Befehl ist dem Terminal-IC Â»%s [%s]Â« direkt zugeordnetSchieben ist fÃ¼r 8-Bit-Konstanten nicht mÃ¶glichKein gÃ¼ltiges r0l/r0h-PaarÂ»offset(IP)Â« ist keine gÃ¼ltige FormOpcode %s hat keine Klasse (Operanden %d %d %d)
-Operand ist nicht nullOperand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %ld)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %lu)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%lu ist nicht zwischen %lu und %lu)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (0x%lx ist nicht zwischen 0 und 0x%lx).Operand auÃŸerhalb des gÃ¼ltigen Bereichs (1 bis 255)Ãœberlappendes Feld Â»%s->%sÂ«.
+Operand ist nicht nullOperand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %ld)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %lu)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%lu ist nicht zwischen %lu und %lu)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (0x%lx ist nicht zwischen 0 und 0x%lx).Operand auÃŸerhalb des gÃ¼ltigen Bereichs (1 bis 255)Zu wenig SpeicherÃœberlappendes Feld Â»%s->%sÂ«.
 Ãœberschreibe Bemerkung %d mit Bemerkung %d (IC:%s)
-p0-p7 erwartetparse_addr16: UngÃ¼ltiger OperatorindexDer Prozent-Operator ist kein SymbolPositionswert auÃŸerhalb des gÃ¼ltigen BereichsRegisterpaar muss zusammenhÃ¤ngend seinRegisterpaar muss mit geradem Register anfangenRegister-ElementindexRegistername fÃ¤lschlicherweise als Direktwert benutzt.RegisternummerDie Registernummer muss gerade sein.Register-Quelle in direktem Â»movÂ«Dieses Register steht in kurzen Maschinenbefehlen nicht zur VerfÃ¼gung.Rotation muss 0, 90, 180 oder 270 seinRotation muss 90 oder 270 seinDie Ressource Â»%s (%s)Â« hat keine Register
-SchiebeanzahlSchiebeanzahl muss 0 oder 12 seinSchiebeanzahl muss 0 oder 16 seinSchiebeanzahl muss 0 oder 8 seinSchiebeanzahl muss ein Vielfaches von 16 seinSchieben ist hier nicht erlaubtSchiebe-Operator erwartetDie Operanden fÃ¼r das Quell- und Zielregister mÃ¼ssen verschieden seinStackpointer-Register erwartetSyntaxfehler (erwartetes Zeichen Â»%cÂ«, gefunden Â»%cÂ«)Syntaxfehler (Zeichen Â»%cÂ« erwartet, Befehlsende bekommen)Kann nicht in das Verzeichnis Â»%sÂ« wechseln, errno = %s
-undefiniertUnerwartetes Adressen-ZurÃ¼ckschreibenunbekanntunbekannt	0x%02lxunbekannt	0x%04lxUnbekannte EinschrÃ¤nkung Â»%cÂ«Unbekannte Operandenverschiebung: %x
-Unbekanntes Register: %d
-Unbekannte BefehlsformUnbekannter BefehlWert muss eine Zweierpotenz seinWert muss im Bereich 1-256 liegenvector5 liegt auÃŸerhalb des gÃ¼ltigen Bereichsvector8 liegt auÃŸerhalb des gÃ¼ltigen BereichsWarnung: Unbekannte Option Â»-M%sÂ« wird ignoriert
-Breitenwert auÃŸerhalb des gÃ¼ltigen Bereichsz0-z15 erwartetz0-z7 erwartet
\ No newline at end of file
+p0-p7 erwartetparse_addr16: UngÃ¼ltiger Operatorindex.Der Prozent-Operator ist kein SymbolPositionswert auÃŸerhalb des gÃ¼ltigen BereichsVersuch, ein lesegeschÃ¼tztes Register auszulesen.Registerpaar muss zusammenhÃ¤ngend seinRegisterpaar muss mit geradem Register anfangenRegister R30 ist ein limm-IndikatorRegister-ElementindexRegister muss BLINK seinRegister muss GP seinRegister muss ILINK1 seinRegister muss ILINK2 seinRegister muss PCL seinRegister muss R0 seinRegister muss R1 seinRegister muss R2 seinRegister muss R3 seinRegister muss SP seinRegister muss entweder r0-r3 oder r12-r15 seinRegistername fÃ¤lschlicherweise als Direktwert benutztRegisternummerDie Registernummer muss gerade seinRegister auÃŸerhalb des gÃ¼ltigen BereichsRegister-Quelle in direktem Â»movÂ«Dieses Register steht in kurzen Maschinenbefehlen nicht zur VerfÃ¼gungRotation muss 0, 90, 180 oder 270 seinRotation muss 90 oder 270 seinDie Ressource Â»%s (%s)Â« hat keine Register
+SchiebeanzahlSchiebeanzahl muss 0 oder 12 seinSchiebeanzahl muss 0 oder 16 seinSchiebeanzahl muss 0 oder 8 seinSchiebeanzahl muss ein Vielfaches von 16 seinSchieben ist hier nicht erlaubtSchiebe-Operator erwartetDie Operanden fÃ¼r das Quell- und Zielregister mÃ¼ssen verschieden seinAus dem angegebenen Register kann nicht gelesen werdenIn das angegebene Register kann nicht geschrieben werdenStackpointer-Register erwartetSyntaxfehler (erwartetes Zeichen Â»%cÂ«, gefunden Â»%cÂ«)Syntaxfehler (Zeichen Â»%cÂ« erwartet, Befehlsende bekommen)Kann nicht in das Verzeichnis Â»%sÂ« wechseln, errno = %s
+undefiniertUnerwartetes Adressen-ZurÃ¼ckschreibenunbekanntunbekannt	0x%02lxunbekannt	0x%04lxUnbekannte S/390-Disassembler-Option: %sUnbekanntes Bitfeld: %s
+Unbekannte EinschrÃ¤nkung Â»%cÂ«Unbekannte Operandenverschiebung: %xUnbekanntes Register: %dUnbekannte Disassembler-CPU-Option: %sUnbekannte Disassembler-Option: %sUnbekannte Registernamensmenge: %sUnbekannte Disassembler-Option: %sUnbekannte BefehlsformUnbekannter BefehlWert muss ein Vielfaches von 16 seinWert muss im Bereich von 0 bis 240 liegenWert muss im Bereich von 0 bis 28 liegenWert muss im Bereich von 0 bis 31 liegenÃœBERSETZUNGSPROBLEM: Wert muss im Bereich von 1 bis $$$ liegenWert muss eine Zweierpotenz seinWert muss im Bereich 1-256 liegenvector5 liegt auÃŸerhalb des gÃ¼ltigen Bereichsvector8 liegt auÃŸerhalb des gÃ¼ltigen BereichsWarnung: Unbekannte Option Â»-M%sÂ« wird ignoriertBreitenwert auÃŸerhalb des gÃ¼ltigen BereichsVersuch, ein schreibgeschÃ¼tztes Register zu beschreiben.z0-z15 erwartetz0-z7 erwartet
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/de.po ./opcodes/po/de.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/de.po	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/po/de.po	2018-07-10 02:06:15.000000000 +0000
@@ -2,14 +2,14 @@
 # Copyright (C) 2002 Free Software Foundation, Inc.
 # This file is distributed under the same license as the binutils package.
 # Martin v. LÃ¶wis <martin@v.loewis.de>, 2002.
-# Roland Illig <roland.illig@gmx.de>, 2004-2017.
+# Roland Illig <roland.illig@gmx.de>, 2004-2018.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: opcodes 2.28.90\n"
+"Project-Id-Version: opcodes 2.30.90\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2017-07-03 16:55+0200\n"
-"PO-Revision-Date: 2017-07-19 22:27+0200\n"
+"POT-Creation-Date: 2018-06-24 19:41+0100\n"
+"PO-Revision-Date: 2018-06-24 22:29+0200\n"
 "Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -17,16 +17,24 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 2.0.2\n"
+"X-Generator: Poedit 2.0.8\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: aarch64-asm.c:805
+msgid "specified register cannot be read from"
+msgstr "Aus dem angegebenen Register kann nicht gelesen werden"
+
+#: aarch64-asm.c:814
+msgid "specified register cannot be written to"
+msgstr "In das angegebene Register kann nicht geschrieben werden"
+
 #. Invalid option.
-#: aarch64-dis.c:81 arc-dis.c:775 arm-dis.c:6132
+#: aarch64-dis.c:94 arc-dis.c:782 arm-dis.c:6158
 #, c-format
-msgid "Unrecognised disassembler option: %s\n"
-msgstr "Unbekannte Disassembler-Option: %s\n"
+msgid "unrecognised disassembler option: %s"
+msgstr "Unbekannte Disassembler-Option: %s"
 
-#: aarch64-dis.c:3235
+#: aarch64-dis.c:3362
 #, c-format
 msgid ""
 "\n"
@@ -38,7 +46,7 @@ msgstr ""
 "mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch\n"
 "Kommata getrennt werden):\n"
 
-#: aarch64-dis.c:3239
+#: aarch64-dis.c:3366
 #, c-format
 msgid ""
 "\n"
@@ -47,7 +55,7 @@ msgstr ""
 "\n"
 "  no-aliases         Befehls-Aliase nicht ausgeben.\n"
 
-#: aarch64-dis.c:3242
+#: aarch64-dis.c:3369
 #, c-format
 msgid ""
 "\n"
@@ -56,7 +64,25 @@ msgstr ""
 "\n"
 "  aliases            Befehls-Aliase ausgeben.\n"
 
-#: aarch64-dis.c:3246
+#: aarch64-dis.c:3372
+#, c-format
+msgid ""
+"\n"
+"  no-notes         Don't print instruction notes.\n"
+msgstr ""
+"\n"
+"  no-notes         Befehls-Hinweise nicht ausgeben.\n"
+
+#: aarch64-dis.c:3375
+#, c-format
+msgid ""
+"\n"
+"  notes            Do print instruction notes.\n"
+msgstr ""
+"\n"
+"  notes            Befehls-Hinweise ausgeben.\n"
+
+#: aarch64-dis.c:3379
 #, c-format
 msgid ""
 "\n"
@@ -65,224 +91,232 @@ msgstr ""
 "\n"
 "  debug_dump         TemporÃ¤rer Schalter fÃ¼r Debugspuren.\n"
 
-#: aarch64-dis.c:3250 mips-dis.c:2601 mips-dis.c:2609 mips-dis.c:2611
-#: riscv-dis.c:507
+#: aarch64-dis.c:3383 mips-dis.c:2612 mips-dis.c:2620 mips-dis.c:2622
+#: nfp-dis.c:2981 riscv-dis.c:509
 #, c-format
 msgid "\n"
 msgstr "\n"
 
-#: aarch64-opc.c:1306
+#: aarch64-opc.c:1311
 msgid "immediate value"
 msgstr "Direktwert"
 
-#: aarch64-opc.c:1316
+#: aarch64-opc.c:1321
 msgid "immediate offset"
 msgstr "Direkter Offset"
 
-#: aarch64-opc.c:1326
+#: aarch64-opc.c:1331
 msgid "register number"
 msgstr "Registernummer"
 
-#: aarch64-opc.c:1336
+#: aarch64-opc.c:1341
 msgid "register element index"
 msgstr "Register-Elementindex"
 
-#: aarch64-opc.c:1346
+#: aarch64-opc.c:1351
 msgid "shift amount"
 msgstr "Schiebeanzahl"
 
-#: aarch64-opc.c:1358
+#: aarch64-opc.c:1363
 msgid "multiplier"
 msgstr "Multiplikator"
 
-#: aarch64-opc.c:1431
+#: aarch64-opc.c:1436
 msgid "reg pair must start from even reg"
 msgstr "Registerpaar muss mit geradem Register anfangen"
 
-#: aarch64-opc.c:1437
+#: aarch64-opc.c:1442
 msgid "reg pair must be contiguous"
 msgstr "Registerpaar muss zusammenhÃ¤ngend sein"
 
-#: aarch64-opc.c:1451
+#: aarch64-opc.c:1456
 msgid "extraneous register"
 msgstr "Irrelevantes Register"
 
-#: aarch64-opc.c:1457
+#: aarch64-opc.c:1462
 msgid "missing register"
 msgstr "Fehlendes Register"
 
-#: aarch64-opc.c:1468
+#: aarch64-opc.c:1473
 msgid "stack pointer register expected"
 msgstr "Stackpointer-Register erwartet"
 
-#: aarch64-opc.c:1491
+#: aarch64-opc.c:1496
 msgid "z0-z15 expected"
 msgstr "z0-z15 erwartet"
 
-#: aarch64-opc.c:1492
+#: aarch64-opc.c:1497
 msgid "z0-z7 expected"
 msgstr "z0-z7 erwartet"
 
-#: aarch64-opc.c:1518
+#: aarch64-opc.c:1523
 msgid "invalid register list"
 msgstr "UngÃ¼ltige Registerliste"
 
-#: aarch64-opc.c:1532
+#: aarch64-opc.c:1537
 msgid "p0-p7 expected"
 msgstr "p0-p7 erwartet"
 
-#: aarch64-opc.c:1558 aarch64-opc.c:1566
+#: aarch64-opc.c:1563 aarch64-opc.c:1571
 msgid "unexpected address writeback"
 msgstr "Unerwartetes Adressen-ZurÃ¼ckschreiben"
 
-#: aarch64-opc.c:1577
+#: aarch64-opc.c:1582
 msgid "address writeback expected"
 msgstr "Adressen-ZurÃ¼ckschreiben erwartet"
 
-#: aarch64-opc.c:1623
+#: aarch64-opc.c:1629
 msgid "negative or unaligned offset expected"
 msgstr "Negativer oder unausgerichteter Offset erwartet"
 
-#: aarch64-opc.c:1650
+#: aarch64-opc.c:1656
 msgid "invalid register offset"
 msgstr "UngÃ¼ltiger Register-Offset"
 
-#: aarch64-opc.c:1672
+#: aarch64-opc.c:1678
 msgid "invalid post-increment amount"
 msgstr "Nicht erlaubte Anzahl im Post-Inkrement"
 
-#: aarch64-opc.c:1688 aarch64-opc.c:2165
+#: aarch64-opc.c:1694 aarch64-opc.c:2172
 msgid "invalid shift amount"
 msgstr "UngÃ¼ltige Schiebeanzahl"
 
-#: aarch64-opc.c:1701
+#: aarch64-opc.c:1707
 msgid "invalid extend/shift operator"
 msgstr "Nicht erlaubter Extend/Shift-Operator"
 
-#: aarch64-opc.c:1747 aarch64-opc.c:1986 aarch64-opc.c:2021 aarch64-opc.c:2040
-#: aarch64-opc.c:2048 aarch64-opc.c:2119 aarch64-opc.c:2295 aarch64-opc.c:2395
-#: aarch64-opc.c:2408
+#: aarch64-opc.c:1753 aarch64-opc.c:1993 aarch64-opc.c:2028 aarch64-opc.c:2047
+#: aarch64-opc.c:2055 aarch64-opc.c:2126 aarch64-opc.c:2302 aarch64-opc.c:2402
+#: aarch64-opc.c:2415
 msgid "immediate out of range"
 msgstr "Direktoperand auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: aarch64-opc.c:1769 aarch64-opc.c:1811 aarch64-opc.c:1860 aarch64-opc.c:1894
+#: aarch64-opc.c:1775 aarch64-opc.c:1817 aarch64-opc.c:1867 aarch64-opc.c:1901
 msgid "invalid addressing mode"
 msgstr "UngÃ¼ltiger Adressierungsmodus"
 
-#: aarch64-opc.c:1852
+#: aarch64-opc.c:1859
 msgid "index register xzr is not allowed"
 msgstr "Indexregister xzr ist nicht erlaubt"
 
-#: aarch64-opc.c:1974 aarch64-opc.c:1996 aarch64-opc.c:2198 aarch64-opc.c:2206
-#: aarch64-opc.c:2272 aarch64-opc.c:2301
+#: aarch64-opc.c:1981 aarch64-opc.c:2003 aarch64-opc.c:2205 aarch64-opc.c:2213
+#: aarch64-opc.c:2279 aarch64-opc.c:2308
 msgid "invalid shift operator"
 msgstr "UngÃ¼ltiger Schiebeoperator"
 
-#: aarch64-opc.c:1980
+#: aarch64-opc.c:1987
 msgid "shift amount must be 0 or 12"
 msgstr "Schiebeanzahl muss 0 oder 12 sein"
 
-#: aarch64-opc.c:2003
+#: aarch64-opc.c:2010
 msgid "shift amount must be a multiple of 16"
 msgstr "Schiebeanzahl muss ein Vielfaches von 16 sein"
 
-#: aarch64-opc.c:2015
+#: aarch64-opc.c:2022
 msgid "negative immediate value not allowed"
 msgstr "Negativer Direktwert nicht erlaubt"
 
-#: aarch64-opc.c:2130
+#: aarch64-opc.c:2137
 msgid "immediate zero expected"
 msgstr "Direkte Null erwartet"
 
-#: aarch64-opc.c:2144
+#: aarch64-opc.c:2151
 msgid "rotate expected to be 0, 90, 180 or 270"
 msgstr "Rotation muss 0, 90, 180 oder 270 sein"
 
-#: aarch64-opc.c:2154
+#: aarch64-opc.c:2161
 msgid "rotate expected to be 90 or 270"
 msgstr "Rotation muss 90 oder 270 sein"
 
-#: aarch64-opc.c:2214
+#: aarch64-opc.c:2221
 msgid "shift is not permitted"
 msgstr "Schieben ist hier nicht erlaubt"
 
-#: aarch64-opc.c:2239
+#: aarch64-opc.c:2246
 msgid "invalid value for immediate"
 msgstr "UngÃ¼ltiger Wert fÃ¼r Direktwert"
 
-#: aarch64-opc.c:2264
+#: aarch64-opc.c:2271
 msgid "shift amount must be 0 or 16"
 msgstr "Schiebeanzahl muss 0 oder 16 sein"
 
-#: aarch64-opc.c:2285
+#: aarch64-opc.c:2292
 msgid "floating-point immediate expected"
 msgstr "Gleitkomma-Direktwert erwartet"
 
-#: aarch64-opc.c:2319
+#: aarch64-opc.c:2326
 msgid "no shift amount allowed for 8-bit constants"
 msgstr "Schieben ist fÃ¼r 8-Bit-Konstanten nicht mÃ¶glich"
 
-#: aarch64-opc.c:2329
+#: aarch64-opc.c:2336
 msgid "shift amount must be 0 or 8"
 msgstr "Schiebeanzahl muss 0 oder 8 sein"
 
-#: aarch64-opc.c:2342
+#: aarch64-opc.c:2349
 msgid "immediate too big for element size"
 msgstr "Direktwert ist zu groÃŸ fÃ¼r ElementgrÃ¶ÃŸe"
 
-#: aarch64-opc.c:2349
+#: aarch64-opc.c:2356
 msgid "invalid arithmetic immediate"
 msgstr "UngÃ¼ltiger Wert fÃ¼r Direktwert"
 
-#: aarch64-opc.c:2363
+#: aarch64-opc.c:2370
 msgid "floating-point value must be 0.5 or 1.0"
 msgstr "Gleitkommazahl muss entweder 0.5 oder 1.0 sein"
 
-#: aarch64-opc.c:2373
+#: aarch64-opc.c:2380
 msgid "floating-point value must be 0.5 or 2.0"
 msgstr "Gleitkommazahl muss entweder 0.5 oder 2.0 sein"
 
-#: aarch64-opc.c:2383
+#: aarch64-opc.c:2390
 msgid "floating-point value must be 0.0 or 1.0"
 msgstr "Gleitkommazahl muss entweder 0.0 oder 1.0 sein"
 
-#: aarch64-opc.c:2414
+#: aarch64-opc.c:2421
 msgid "invalid replicated MOV immediate"
 msgstr "UngÃ¼ltiger replizierter Direktwert fÃ¼r MOV"
 
-#: aarch64-opc.c:2528
+#: aarch64-opc.c:2536
 msgid "extend operator expected"
 msgstr "Extend-Operator erwartet"
 
-#: aarch64-opc.c:2541
+#: aarch64-opc.c:2549
 msgid "missing extend operator"
 msgstr "Extend-Operator fehlt"
 
-#: aarch64-opc.c:2547
+#: aarch64-opc.c:2555
 msgid "'LSL' operator not allowed"
 msgstr "LSL-Operator ist hier nicht erlaubt"
 
-#: aarch64-opc.c:2568
+#: aarch64-opc.c:2576
 msgid "W register expected"
 msgstr "W-Register erwartet"
 
-#: aarch64-opc.c:2579
+#: aarch64-opc.c:2587
 msgid "shift operator expected"
 msgstr "Schiebe-Operator erwartet"
 
-#: aarch64-opc.c:2586
+#: aarch64-opc.c:2594
 msgid "'ROR' operator not allowed"
 msgstr "ROR-Operator ist hier nicht erlaubt"
 
+#: aarch64-opc.c:3583
+msgid "reading from a write-only register."
+msgstr "Versuch, ein lesegeschÃ¼tztes Register auszulesen."
+
+#: aarch64-opc.c:3585
+msgid "writing to a read-only register."
+msgstr "Versuch, ein schreibgeschÃ¼tztes Register zu beschreiben."
+
 #: alpha-opc.c:154
 msgid "branch operand unaligned"
-msgstr "Sprung-Operand ist nicht ausgerichtet (unaligned)."
+msgstr "Sprung-Operand ist nicht ausgerichtet (unaligned)"
 
 #: alpha-opc.c:170 alpha-opc.c:186
 msgid "jump hint unaligned"
-msgstr "Sprunghinweis ist nicht ausgerichtet (unaligned)."
+msgstr "Sprunghinweis ist nicht ausgerichtet (unaligned)"
 
-#: arc-dis.c:373
+#: arc-dis.c:377
 msgid ""
 "\n"
 "Warning: disassembly may be wrong due to guessed opcode class choice.\n"
@@ -295,12 +329,12 @@ msgstr ""
 "korrekten Opcode-Klassen auszuwÃ¤hlen.\n"
 "\t\t\t\t"
 
-#: arc-dis.c:817
+#: arc-dis.c:825
 #, c-format
-msgid "Unrecognised disassembler CPU option: %s\n"
-msgstr "Unbekannte Disassembler-CPU-Option: %s\n"
+msgid "unrecognised disassembler CPU option: %s"
+msgstr "Unbekannte Disassembler-CPU-Option: %s"
 
-#: arc-dis.c:1344
+#: arc-dis.c:1387
 #, c-format
 msgid ""
 "\n"
@@ -312,41 +346,46 @@ msgstr ""
 "mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch\n"
 "Kommata getrennt werden):\n"
 
-#: arc-dis.c:1356
+#: arc-dis.c:1399
 #, c-format
 msgid "  dsp             Recognize DSP instructions.\n"
 msgstr "  dsp             DSP-Befehle erkennen.\n"
 
-#: arc-dis.c:1358
+#: arc-dis.c:1401
 #, c-format
 msgid "  spfp            Recognize FPX SP instructions.\n"
 msgstr "  spfp            FPX-SP-Befehle erkennen.\n"
 
-#: arc-dis.c:1360
+#: arc-dis.c:1403
 #, c-format
 msgid "  dpfp            Recognize FPX DP instructions.\n"
 msgstr "  dpfp            FPX-DP-Befehle erkennen.\n"
 
-#: arc-dis.c:1362
+#: arc-dis.c:1405
 #, c-format
 msgid "  quarkse_em      Recognize FPU QuarkSE-EM instructions.\n"
 msgstr "  quarkse_em      FPU-QuarkSE-EM-Befehle erkennen.\n"
 
-#: arc-dis.c:1364
+#: arc-dis.c:1407
 #, c-format
 msgid "  fpuda           Recognize double assist FPU instructions.\n"
 msgstr "  fpuda           Befehle fÃ¼r hilfsweise doppelt genaue FPU erkennen.\n"
 
-#: arc-dis.c:1366
+#: arc-dis.c:1409
 #, c-format
 msgid "  fpus            Recognize single precision FPU instructions.\n"
 msgstr "  fpus            Befehle fÃ¼r einfach genaue FPU erkennen.\n"
 
-#: arc-dis.c:1368
+#: arc-dis.c:1411
 #, c-format
 msgid "  fpud            Recognize double precision FPU instructions.\n"
 msgstr "  fpud            Befehle fÃ¼r doppelt genaue FPU erkennen.\n"
 
+#: arc-dis.c:1413
+#, c-format
+msgid "  hex             Use only hexadecimal number to print immediates.\n"
+msgstr "  hex             Direktwerte ausschlieÃŸlich hexadezimal ausgeben.\n"
+
 #: arc-opc.c:41 arc-opc.c:64 arc-opc.c:90
 msgid "LP_COUNT register cannot be used as destination register"
 msgstr "Das LP_COUNT-Register kann nicht als Zielregister verwendet werden"
@@ -364,188 +403,192 @@ msgid "operand is not zero"
 msgstr "Operand ist nicht null"
 
 #: arc-opc.c:173
-msgid "Register R30 is a limm indicator"
+msgid "register R30 is a limm indicator"
 msgstr "Register R30 ist ein limm-Indikator"
 
-#: arc-opc.c:192
-msgid "Register must be R0"
+#: arc-opc.c:175
+msgid "register out of range"
+msgstr "Register auÃŸerhalb des gÃ¼ltigen Bereichs"
+
+#: arc-opc.c:194
+msgid "register must be R0"
 msgstr "Register muss R0 sein"
 
-#: arc-opc.c:210
-msgid "Register must be R1"
+#: arc-opc.c:212
+msgid "register must be R1"
 msgstr "Register muss R1 sein"
 
-#: arc-opc.c:227
-msgid "Register must be R2"
+#: arc-opc.c:229
+msgid "register must be R2"
 msgstr "Register muss R2 sein"
 
-#: arc-opc.c:244
-msgid "Register must be R3"
+#: arc-opc.c:246
+msgid "register must be R3"
 msgstr "Register muss R3 sein"
 
-#: arc-opc.c:261
-msgid "Register must be SP"
+#: arc-opc.c:263
+msgid "register must be SP"
 msgstr "Register muss SP sein"
 
-#: arc-opc.c:278
-msgid "Register must be GP"
+#: arc-opc.c:280
+msgid "register must be GP"
 msgstr "Register muss GP sein"
 
-#: arc-opc.c:295
-msgid "Register must be PCL"
+#: arc-opc.c:297
+msgid "register must be PCL"
 msgstr "Register muss PCL sein"
 
-#: arc-opc.c:312
-msgid "Register must be BLINK"
+#: arc-opc.c:314
+msgid "register must be BLINK"
 msgstr "Register muss BLINK sein"
 
-#: arc-opc.c:329
-msgid "Register must be ILINK1"
+#: arc-opc.c:331
+msgid "register must be ILINK1"
 msgstr "Register muss ILINK1 sein"
 
-#: arc-opc.c:346
-msgid "Register must be ILINK2"
+#: arc-opc.c:348
+msgid "register must be ILINK2"
 msgstr "Register muss ILINK2 sein"
 
 #. ARC NPS400 Support: See comment near head of file.
-#: arc-opc.c:377 arc-opc.c:415 arc-opc.c:453 arc-opc.c:718
-msgid "Register must be either r0-r3 or r12-r15"
+#: arc-opc.c:379 arc-opc.c:417 arc-opc.c:455 arc-opc.c:720
+msgid "register must be either r0-r3 or r12-r15"
 msgstr "Register muss entweder r0-r3 oder r12-r15 sein"
 
-#: arc-opc.c:504
-msgid "Accepted values are from -1 to 6"
+#: arc-opc.c:506
+msgid "accepted values are from -1 to 6"
 msgstr "MÃ¶gliche Werte liegen zwischen -1 und 6"
 
-#: arc-opc.c:533
-msgid "First register of the range should be r13"
-msgstr "Der erste Register im Bereich sollte r13 sein"
-
 #: arc-opc.c:535
-msgid "Last register of the range doesn't fit"
+msgid "first register of the range should be r13"
+msgstr "Das erste Register im Bereich sollte r13 sein"
+
+#: arc-opc.c:537
+msgid "last register of the range doesn't fit"
 msgstr "Letztes Register des Bereichs passt nicht"
 
-#: arc-opc.c:555 arc-opc.c:570
-msgid "Invalid register number, should be fp"
+#: arc-opc.c:557 arc-opc.c:572
+msgid "invalid register number, should be fp"
 msgstr "UngÃ¼ltige Registernummer, sollte Gleitkomma sein"
 
-#: arc-opc.c:592
-msgid "Invalid register number, should be blink"
+#: arc-opc.c:594
+msgid "invalid register number, should be blink"
 msgstr "UngÃ¼ltige Registernummer, sollte blink sein"
 
-#: arc-opc.c:614
-msgid "Invalid register number, should be pcl"
+#: arc-opc.c:616
+msgid "invalid register number, should be pcl"
 msgstr "UngÃ¼ltige Registernummer, sollte pcl sein"
 
-#: arc-opc.c:766
-msgid "Invalid size, should be 1, 2, 4, or 8"
+#: arc-opc.c:768
+msgid "invalid size, should be 1, 2, 4, or 8"
 msgstr "UngÃ¼ltige GrÃ¶ÃŸe; muss 1, 2, 4 oder 8 sein"
 
-#: arc-opc.c:811
+#: arc-opc.c:813
 msgid "invalid immediate, must be 1, 2, or 4"
 msgstr "UngÃ¼ltiger Direktwert; muss 1, 2 oder 4 sein"
 
-#: arc-opc.c:850
+#: arc-opc.c:852
 msgid "invalid value for CMEM ld/st immediate"
 msgstr "UngÃ¼ltiger Wert fÃ¼r Direktwert von CMEM ld/st"
 
-#: arc-opc.c:877
-msgid "Invalid position, should be 0, 16, 32, 48 or 64."
-msgstr "UngÃ¼ltige Position; muss 0, 16, 32, 48 oder 64 sein"
-
-#: arc-opc.c:911
-msgid "Invalid position, should be 16, 32, 64 or 128."
-msgstr "UngÃ¼ltige Position; muss 16, 32, 64 oder 128 sein"
+#: arc-opc.c:879
+msgid "invalid position, should be 0, 16, 32, 48 or 64."
+msgstr "UngÃ¼ltige Position; muss 0, 16, 32, 48 oder 64 sein."
+
+#: arc-opc.c:913
+msgid "invalid position, should be 16, 32, 64 or 128."
+msgstr "UngÃ¼ltige Position; muss 16, 32, 64 oder 128 sein."
 
-#: arc-opc.c:933
-msgid "Invalid size value must be on range 1-64."
+#: arc-opc.c:935
+msgid "invalid size value must be on range 1-64."
 msgstr "UngÃ¼ltiger Wert fÃ¼r GrÃ¶ÃŸe; muss im Bereich 1-64 sein."
 
-#: arc-opc.c:964
-msgid "Invalid position, should be 0, 8, 16, or 24"
+#: arc-opc.c:966
+msgid "invalid position, should be 0, 8, 16, or 24"
 msgstr "UngÃ¼ltige Position; muss 0, 8, 16 oder 24 sein"
 
-#: arc-opc.c:989
-msgid "Invalid size, value must be "
+#: arc-opc.c:991
+msgid "invalid size, value must be "
 msgstr "UngÃ¼ltige GrÃ¶ÃŸe, muss sein: "
 
-#: arc-opc.c:1063
+#: arc-opc.c:1065
 msgid "value out of range 1 - 256"
 msgstr "Wert muss im Bereich 1-256 liegen"
 
-#: arc-opc.c:1072
+#: arc-opc.c:1074
 msgid "value must be power of 2"
 msgstr "Wert muss eine Zweierpotenz sein"
 
-#: arc-opc.c:1125
-msgid "Value must be in the range 0 to 28"
+#: arc-opc.c:1127
+msgid "value must be in the range 0 to 28"
 msgstr "Wert muss im Bereich von 0 bis 28 liegen"
 
-#: arc-opc.c:1147
-msgid "Value must be in the range 1 to "
+#: arc-opc.c:1149
+msgid "value must be in the range 1 to "
 msgstr "ÃœBERSETZUNGSPROBLEM: Wert muss im Bereich von 1 bis $$$ liegen"
 
-#: arc-opc.c:1177
-msgid "Value must be in the range 0 to 240"
+#: arc-opc.c:1179
+msgid "value must be in the range 0 to 240"
 msgstr "Wert muss im Bereich von 0 bis 240 liegen"
 
-#: arc-opc.c:1179
-msgid "Value must be a multiple of 16"
+#: arc-opc.c:1181
+msgid "value must be a multiple of 16"
 msgstr "Wert muss ein Vielfaches von 16 sein"
 
-#: arc-opc.c:1199
-msgid "Invalid address type for operand"
+#: arc-opc.c:1201
+msgid "invalid address type for operand"
 msgstr "UngÃ¼ltiger Adresstyp fÃ¼r Operand"
 
-#: arc-opc.c:1233
-msgid "Value must be in the range 0 to 31"
+#: arc-opc.c:1235
+msgid "value must be in the range 0 to 31"
 msgstr "Wert muss im Bereich von 0 bis 31 liegen"
 
-#: arc-opc.c:1258
-msgid "Invalid position, should be 0,4, 8,...124."
-msgstr "UngÃ¼ltige Position; muss 0, 4, 8, ..., 124 sein"
+#: arc-opc.c:1260
+msgid "invalid position, should be one of: 0,4,8,...124."
+msgstr "UngÃ¼ltige Position; muss 0, 4, 8, ..., 124 sein."
 
-#: arm-dis.c:3202
+#: arm-dis.c:3229
 msgid "Select raw register names"
 msgstr "Rohe Registernamen auswÃ¤hlen"
 
-#: arm-dis.c:3204
+#: arm-dis.c:3231
 msgid "Select register names used by GCC"
 msgstr "Von GCC verwendete Registernamen auswÃ¤hlen"
 
-#: arm-dis.c:3206
+#: arm-dis.c:3233
 msgid "Select register names used in ARM's ISA documentation"
 msgstr "Von ARMs ISA-Dokumentation verwendete Registernamen verwenden"
 
-#: arm-dis.c:3208
+#: arm-dis.c:3235
 msgid "Assume all insns are Thumb insns"
 msgstr "Annnehmen, dass alle Befehle Thumb-Befehle sind"
 
-#: arm-dis.c:3209
+#: arm-dis.c:3236
 msgid "Examine preceding label to determine an insn's type"
 msgstr "Vorangehende Sprungmarke untersuchen, um die Befehlsart festzustellen"
 
-#: arm-dis.c:3210
+#: arm-dis.c:3237
 msgid "Select register names used in the APCS"
 msgstr "In APCS verwendete Registernamen auswÃ¤hlen"
 
-#: arm-dis.c:3212
+#: arm-dis.c:3239
 msgid "Select register names used in the ATPCS"
 msgstr "In ATPCS verwendete Registernamen auswÃ¤hlen"
 
-#: arm-dis.c:3214
+#: arm-dis.c:3241
 msgid "Select special register names used in the ATPCS"
 msgstr "Spezielle Registernamen fÃ¼r ATPCS auswÃ¤hlen"
 
-#: arm-dis.c:3612
+#: arm-dis.c:3639
 msgid "<illegal precision>"
 msgstr "<ungÃ¼ltige Genauigkeit>"
 
-#: arm-dis.c:6125
+#: arm-dis.c:6149
 #, c-format
-msgid "Unrecognised register name set: %s\n"
-msgstr "Unbekannte Registernamensmenge: %s\n"
+msgid "unrecognised register name set: %s"
+msgstr "Unbekannte Registernamensmenge: %s"
 
-#: arm-dis.c:6829
+#: arm-dis.c:6855
 #, c-format
 msgid ""
 "\n"
@@ -561,20 +604,20 @@ msgstr ""
 msgid "undefined"
 msgstr "undefiniert"
 
-#: avr-dis.c:215
+#: avr-dis.c:216
 #, c-format
-msgid "Internal disassembler error"
-msgstr "Interner Disassemblerfehler"
+msgid "internal disassembler error"
+msgstr "internal disassembler error"
 
-#: avr-dis.c:268
+#: avr-dis.c:270
 #, c-format
 msgid "unknown constraint `%c'"
 msgstr "Unbekannte EinschrÃ¤nkung Â»%cÂ«"
 
-#: cgen-asm.c:351 epiphany-ibld.c:200 fr30-ibld.c:200 frv-ibld.c:200
-#: ip2k-ibld.c:200 iq2000-ibld.c:200 lm32-ibld.c:200 m32c-ibld.c:200
-#: m32r-ibld.c:200 mep-ibld.c:200 mt-ibld.c:200 or1k-ibld.c:200
-#: xc16x-ibld.c:200 xstormy16-ibld.c:200
+#: cgen-asm.c:351 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
+#: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201
+#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 or1k-ibld.c:201
+#: xc16x-ibld.c:201 xstormy16-ibld.c:201
 #, c-format
 msgid "operand out of range (%ld not between %ld and %ld)"
 msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %ld)"
@@ -584,7 +627,12 @@ msgstr "Operand auÃŸerhalb des gÃ¼ltigen
 msgid "operand out of range (%lu not between %lu and %lu)"
 msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%lu ist nicht zwischen %lu und %lu)"
 
-#: d30v-dis.c:254
+#: d30v-dis.c:229
+#, c-format
+msgid "illegal id (%d)"
+msgstr "UngÃ¼ltige ID (%d)"
+
+#: d30v-dis.c:256
 #, c-format
 msgid "<unknown register %d>"
 msgstr "<unbekanntes Register %d>"
@@ -601,258 +649,311 @@ msgstr "Unbekannter Fehler %d\n"
 msgid "Address 0x%s is out of bounds.\n"
 msgstr "Adresse 0x%s ist auÃŸerhalb des gÃ¼ltigen Bereichs.\n"
 
-#: epiphany-asm.c:67
+#: epiphany-asm.c:68
 msgid "register unavailable for short instructions"
-msgstr "Dieses Register steht in kurzen Maschinenbefehlen nicht zur VerfÃ¼gung."
+msgstr "Dieses Register steht in kurzen Maschinenbefehlen nicht zur VerfÃ¼gung"
 
-#: epiphany-asm.c:114
+#: epiphany-asm.c:115
 msgid "register name used as immediate value"
-msgstr "Registername fÃ¤lschlicherweise als Direktwert benutzt."
+msgstr "Registername fÃ¤lschlicherweise als Direktwert benutzt"
 
 #. Don't treat "mov ip,ip" as a move-immediate.
-#: epiphany-asm.c:177 epiphany-asm.c:233
+#: epiphany-asm.c:178 epiphany-asm.c:234
 msgid "register source in immediate move"
 msgstr "Register-Quelle in direktem Â»movÂ«"
 
-#: epiphany-asm.c:186
+#: epiphany-asm.c:187
 msgid "byte relocation unsupported"
 msgstr "Byte-Relokation nicht unterstÃ¼tzt"
 
 #. -- assembler routines inserted here.
 #. -- asm.c
-#: epiphany-asm.c:192 frv-asm.c:971 iq2000-asm.c:55 lm32-asm.c:94
-#: lm32-asm.c:126 lm32-asm.c:156 lm32-asm.c:186 lm32-asm.c:216 lm32-asm.c:246
-#: m32c-asm.c:139 m32c-asm.c:234 m32c-asm.c:275 m32c-asm.c:333 m32c-asm.c:354
-#: m32r-asm.c:52 mep-asm.c:240 mep-asm.c:258 mep-asm.c:273 mep-asm.c:288
-#: mep-asm.c:300 or1k-asm.c:53
+#: epiphany-asm.c:193 frv-asm.c:972 iq2000-asm.c:56 lm32-asm.c:95
+#: lm32-asm.c:127 lm32-asm.c:157 lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247
+#: m32c-asm.c:140 m32c-asm.c:235 m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355
+#: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289
+#: mep-asm.c:301 or1k-asm.c:54
 msgid "missing `)'"
 msgstr "Fehlende Â»)Â«."
 
-#: epiphany-asm.c:269
+#: epiphany-asm.c:270
 msgid "ABORT: unknown operand"
 msgstr "ABBRUCH: Unbekannter Operand"
 
-#: epiphany-asm.c:295
+#: epiphany-asm.c:296
 msgid "Not a pc-relative address."
-msgstr "Das ist keine PC-relative Adresse"
+msgstr "Das ist keine PC-relative Adresse."
 
-#: epiphany-asm.c:454 fr30-asm.c:309 frv-asm.c:1262 ip2k-asm.c:510
-#: iq2000-asm.c:458 lm32-asm.c:348 m32c-asm.c:1583 m32r-asm.c:327
-#: mep-asm.c:1286 mt-asm.c:594 or1k-asm.c:502 xc16x-asm.c:375
-#: xstormy16-asm.c:275
-#, c-format
-msgid "Unrecognized field %d while parsing.\n"
-msgstr "Unbekanntes Feld %d beim Parsen entdeckt.\n"
-
-#: epiphany-asm.c:505 fr30-asm.c:360 frv-asm.c:1313 ip2k-asm.c:561
-#: iq2000-asm.c:509 lm32-asm.c:399 m32c-asm.c:1634 m32r-asm.c:378
-#: mep-asm.c:1337 mt-asm.c:645 or1k-asm.c:553 xc16x-asm.c:426
-#: xstormy16-asm.c:326
+#: epiphany-asm.c:456 fr30-asm.c:311 frv-asm.c:1264 ip2k-asm.c:512
+#: iq2000-asm.c:460 lm32-asm.c:350 m32c-asm.c:1585 m32r-asm.c:329
+#: mep-asm.c:1288 mt-asm.c:596 or1k-asm.c:504 xc16x-asm.c:377
+#: xstormy16-asm.c:277
+#, c-format
+msgid "internal error: unrecognized field %d while parsing"
+msgstr "internal error: unrecognized field %d while parsing"
+
+#: epiphany-asm.c:508 fr30-asm.c:363 frv-asm.c:1316 ip2k-asm.c:564
+#: iq2000-asm.c:512 lm32-asm.c:402 m32c-asm.c:1637 m32r-asm.c:381
+#: mep-asm.c:1340 mt-asm.c:648 or1k-asm.c:556 xc16x-asm.c:429
+#: xstormy16-asm.c:329
 msgid "missing mnemonic in syntax string"
 msgstr "Fehlender Mnemonic im Syntaxstring"
 
 #  We couldn't parse it.
 #. We couldn't parse it.
-#: epiphany-asm.c:640 epiphany-asm.c:644 epiphany-asm.c:733 epiphany-asm.c:840
-#: fr30-asm.c:495 fr30-asm.c:499 fr30-asm.c:588 fr30-asm.c:695 frv-asm.c:1448
-#: frv-asm.c:1452 frv-asm.c:1541 frv-asm.c:1648 ip2k-asm.c:696 ip2k-asm.c:700
-#: ip2k-asm.c:789 ip2k-asm.c:896 iq2000-asm.c:644 iq2000-asm.c:648
-#: iq2000-asm.c:737 iq2000-asm.c:844 lm32-asm.c:534 lm32-asm.c:538
-#: lm32-asm.c:627 lm32-asm.c:734 m32c-asm.c:1769 m32c-asm.c:1773
-#: m32c-asm.c:1862 m32c-asm.c:1969 m32r-asm.c:513 m32r-asm.c:517
-#: m32r-asm.c:606 m32r-asm.c:713 mep-asm.c:1472 mep-asm.c:1476 mep-asm.c:1565
-#: mep-asm.c:1672 mt-asm.c:780 mt-asm.c:784 mt-asm.c:873 mt-asm.c:980
-#: or1k-asm.c:688 or1k-asm.c:692 or1k-asm.c:781 or1k-asm.c:888 xc16x-asm.c:561
-#: xc16x-asm.c:565 xc16x-asm.c:654 xc16x-asm.c:761 xstormy16-asm.c:461
-#: xstormy16-asm.c:465 xstormy16-asm.c:554 xstormy16-asm.c:661
+#: epiphany-asm.c:643 epiphany-asm.c:647 epiphany-asm.c:736 epiphany-asm.c:843
+#: fr30-asm.c:498 fr30-asm.c:502 fr30-asm.c:591 fr30-asm.c:698 frv-asm.c:1451
+#: frv-asm.c:1455 frv-asm.c:1544 frv-asm.c:1651 ip2k-asm.c:699 ip2k-asm.c:703
+#: ip2k-asm.c:792 ip2k-asm.c:899 iq2000-asm.c:647 iq2000-asm.c:651
+#: iq2000-asm.c:740 iq2000-asm.c:847 lm32-asm.c:537 lm32-asm.c:541
+#: lm32-asm.c:630 lm32-asm.c:737 m32c-asm.c:1772 m32c-asm.c:1776
+#: m32c-asm.c:1865 m32c-asm.c:1972 m32r-asm.c:516 m32r-asm.c:520
+#: m32r-asm.c:609 m32r-asm.c:716 mep-asm.c:1475 mep-asm.c:1479 mep-asm.c:1568
+#: mep-asm.c:1675 mt-asm.c:783 mt-asm.c:787 mt-asm.c:876 mt-asm.c:983
+#: or1k-asm.c:691 or1k-asm.c:695 or1k-asm.c:784 or1k-asm.c:891 xc16x-asm.c:564
+#: xc16x-asm.c:568 xc16x-asm.c:657 xc16x-asm.c:764 xstormy16-asm.c:464
+#: xstormy16-asm.c:468 xstormy16-asm.c:557 xstormy16-asm.c:664
 msgid "unrecognized instruction"
 msgstr "Unbekannter Befehl"
 
-#: epiphany-asm.c:687 fr30-asm.c:542 frv-asm.c:1495 ip2k-asm.c:743
-#: iq2000-asm.c:691 lm32-asm.c:581 m32c-asm.c:1816 m32r-asm.c:560
-#: mep-asm.c:1519 mt-asm.c:827 or1k-asm.c:735 xc16x-asm.c:608
-#: xstormy16-asm.c:508
+#: epiphany-asm.c:690 fr30-asm.c:545 frv-asm.c:1498 ip2k-asm.c:746
+#: iq2000-asm.c:694 lm32-asm.c:584 m32c-asm.c:1819 m32r-asm.c:563
+#: mep-asm.c:1522 mt-asm.c:830 or1k-asm.c:738 xc16x-asm.c:611
+#: xstormy16-asm.c:511
 #, c-format
 msgid "syntax error (expected char `%c', found `%c')"
 msgstr "Syntaxfehler (erwartetes Zeichen Â»%cÂ«, gefunden Â»%cÂ«)"
 
-#: epiphany-asm.c:697 fr30-asm.c:552 frv-asm.c:1505 ip2k-asm.c:753
-#: iq2000-asm.c:701 lm32-asm.c:591 m32c-asm.c:1826 m32r-asm.c:570
-#: mep-asm.c:1529 mt-asm.c:837 or1k-asm.c:745 xc16x-asm.c:618
-#: xstormy16-asm.c:518
+#: epiphany-asm.c:700 fr30-asm.c:555 frv-asm.c:1508 ip2k-asm.c:756
+#: iq2000-asm.c:704 lm32-asm.c:594 m32c-asm.c:1829 m32r-asm.c:573
+#: mep-asm.c:1532 mt-asm.c:840 or1k-asm.c:748 xc16x-asm.c:621
+#: xstormy16-asm.c:521
 #, c-format
 msgid "syntax error (expected char `%c', found end of instruction)"
 msgstr "Syntaxfehler (Zeichen Â»%cÂ« erwartet, Befehlsende bekommen)"
 
-#: epiphany-asm.c:727 fr30-asm.c:582 frv-asm.c:1535 ip2k-asm.c:783
-#: iq2000-asm.c:731 lm32-asm.c:621 m32c-asm.c:1856 m32r-asm.c:600
-#: mep-asm.c:1559 mt-asm.c:867 or1k-asm.c:775 xc16x-asm.c:648
-#: xstormy16-asm.c:548
+#: epiphany-asm.c:730 fr30-asm.c:585 frv-asm.c:1538 ip2k-asm.c:786
+#: iq2000-asm.c:734 lm32-asm.c:624 m32c-asm.c:1859 m32r-asm.c:603
+#: mep-asm.c:1562 mt-asm.c:870 or1k-asm.c:778 xc16x-asm.c:651
+#: xstormy16-asm.c:551
 msgid "junk at end of line"
 msgstr "MÃ¼ll am Ende der Zeile"
 
-#: epiphany-asm.c:839 fr30-asm.c:694 frv-asm.c:1647 ip2k-asm.c:895
-#: iq2000-asm.c:843 lm32-asm.c:733 m32c-asm.c:1968 m32r-asm.c:712
-#: mep-asm.c:1671 mt-asm.c:979 or1k-asm.c:887 xc16x-asm.c:760
-#: xstormy16-asm.c:660
+#: epiphany-asm.c:842 fr30-asm.c:697 frv-asm.c:1650 ip2k-asm.c:898
+#: iq2000-asm.c:846 lm32-asm.c:736 m32c-asm.c:1971 m32r-asm.c:715
+#: mep-asm.c:1674 mt-asm.c:982 or1k-asm.c:890 xc16x-asm.c:763
+#: xstormy16-asm.c:663
 msgid "unrecognized form of instruction"
 msgstr "Unbekannte Befehlsform"
 
-#: epiphany-asm.c:853 fr30-asm.c:708 frv-asm.c:1661 ip2k-asm.c:909
-#: iq2000-asm.c:857 lm32-asm.c:747 m32c-asm.c:1982 m32r-asm.c:726
-#: mep-asm.c:1685 mt-asm.c:993 or1k-asm.c:901 xc16x-asm.c:774
-#: xstormy16-asm.c:674
-#, c-format
-msgid "bad instruction `%.50s...'"
-msgstr "Falscher Befehl Â»%.50s...Â«"
-
 #: epiphany-asm.c:856 fr30-asm.c:711 frv-asm.c:1664 ip2k-asm.c:912
 #: iq2000-asm.c:860 lm32-asm.c:750 m32c-asm.c:1985 m32r-asm.c:729
 #: mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:904 xc16x-asm.c:777
 #: xstormy16-asm.c:677
 #, c-format
+msgid "bad instruction `%.50s...'"
+msgstr "Falscher Befehl Â»%.50s...Â«"
+
+#: epiphany-asm.c:859 fr30-asm.c:714 frv-asm.c:1667 ip2k-asm.c:915
+#: iq2000-asm.c:863 lm32-asm.c:753 m32c-asm.c:1988 m32r-asm.c:732
+#: mep-asm.c:1691 mt-asm.c:999 or1k-asm.c:907 xc16x-asm.c:780
+#: xstormy16-asm.c:680
+#, c-format
 msgid "bad instruction `%.50s'"
 msgstr "Falscher Befehl Â»%.50sÂ«"
 
+#: epiphany-desc.c:2109
+#, c-format
+msgid "internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: epiphany-desc.c:2192
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: epiphany_cgen_cpu_open: unsupported argument `%d'"
+
+#: epiphany-desc.c:2211
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: no endianness specified"
+msgstr "internal error: epiphany_cgen_cpu_open: no endianness specified"
+
 #  Default text to print if an instruction isn't recognized.
 #. Default text to print if an instruction isn't recognized.
-#: epiphany-dis.c:40 fr30-dis.c:40 frv-dis.c:40 ip2k-dis.c:40 iq2000-dis.c:40
-#: lm32-dis.c:40 m32c-dis.c:40 m32r-dis.c:40 mep-dis.c:40 mmix-dis.c:276
-#: mt-dis.c:40 nds32-dis.c:39 or1k-dis.c:40 xc16x-dis.c:40 xstormy16-dis.c:40
+#: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41
+#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:275
+#: mt-dis.c:41 nds32-dis.c:39 or1k-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41
 msgid "*unknown*"
 msgstr "*unbekannt*"
 
-#: epiphany-dis.c:277 fr30-dis.c:298 frv-dis.c:395 ip2k-dis.c:287
-#: iq2000-dis.c:188 lm32-dis.c:146 m32c-dis.c:890 m32r-dis.c:278
-#: mep-dis.c:1186 mt-dis.c:289 or1k-dis.c:140 xc16x-dis.c:419
-#: xstormy16-dis.c:167
-#, c-format
-msgid "Unrecognized field %d while printing insn.\n"
-msgstr "Unbekanntes Feld %d beim Schreiben des Befehls.\n"
-
-#: epiphany-ibld.c:163 fr30-ibld.c:163 frv-ibld.c:163 ip2k-ibld.c:163
-#: iq2000-ibld.c:163 lm32-ibld.c:163 m32c-ibld.c:163 m32r-ibld.c:163
-#: mep-ibld.c:163 mt-ibld.c:163 or1k-ibld.c:163 xc16x-ibld.c:163
-#: xstormy16-ibld.c:163
+#: epiphany-dis.c:279 fr30-dis.c:300 frv-dis.c:397 ip2k-dis.c:289
+#: iq2000-dis.c:190 lm32-dis.c:148 m32c-dis.c:892 m32r-dis.c:280
+#: mep-dis.c:1188 mt-dis.c:291 or1k-dis.c:142 xc16x-dis.c:421
+#: xstormy16-dis.c:169
+#, c-format
+msgid "internal error: unrecognized field %d while printing insn"
+msgstr "internal error: unrecognized field %d while printing insn"
+
+#: epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164 ip2k-ibld.c:164
+#: iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164
+#: mep-ibld.c:164 mt-ibld.c:164 or1k-ibld.c:164 xc16x-ibld.c:164
+#: xstormy16-ibld.c:164
 #, c-format
 msgid "operand out of range (%ld not between %ld and %lu)"
 msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %lu)"
 
-#: epiphany-ibld.c:184 fr30-ibld.c:184 frv-ibld.c:184 ip2k-ibld.c:184
-#: iq2000-ibld.c:184 lm32-ibld.c:184 m32c-ibld.c:184 m32r-ibld.c:184
-#: mep-ibld.c:184 mt-ibld.c:184 or1k-ibld.c:184 xc16x-ibld.c:184
-#: xstormy16-ibld.c:184
+#: epiphany-ibld.c:185 fr30-ibld.c:185 frv-ibld.c:185 ip2k-ibld.c:185
+#: iq2000-ibld.c:185 lm32-ibld.c:185 m32c-ibld.c:185 m32r-ibld.c:185
+#: mep-ibld.c:185 mt-ibld.c:185 or1k-ibld.c:185 xc16x-ibld.c:185
+#: xstormy16-ibld.c:185
 #, c-format
 msgid "operand out of range (0x%lx not between 0 and 0x%lx)"
 msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs (0x%lx ist nicht zwischen 0 und 0x%lx)."
 
-#: epiphany-ibld.c:878 fr30-ibld.c:733 frv-ibld.c:859 ip2k-ibld.c:610
-#: iq2000-ibld.c:716 lm32-ibld.c:637 m32c-ibld.c:1734 m32r-ibld.c:668
-#: mep-ibld.c:1211 mt-ibld.c:752 or1k-ibld.c:649 xc16x-ibld.c:755
-#: xstormy16-ibld.c:681
-#, c-format
-msgid "Unrecognized field %d while building insn.\n"
-msgstr "Unbekanntes Feld %d beim Erzeugen des Befehls.\n"
-
-#: epiphany-ibld.c:1172 fr30-ibld.c:938 frv-ibld.c:1176 ip2k-ibld.c:685
-#: iq2000-ibld.c:891 lm32-ibld.c:741 m32c-ibld.c:2895 m32r-ibld.c:805
-#: mep-ibld.c:1810 mt-ibld.c:972 or1k-ibld.c:754 xc16x-ibld.c:975
-#: xstormy16-ibld.c:827
-#, c-format
-msgid "Unrecognized field %d while decoding insn.\n"
-msgstr "Unbekannted Feld %d beim Decodieren des Befehls.\n"
-
-#: epiphany-ibld.c:1315 fr30-ibld.c:1084 frv-ibld.c:1454 ip2k-ibld.c:759
-#: iq2000-ibld.c:1022 lm32-ibld.c:830 m32c-ibld.c:3512 m32r-ibld.c:918
-#: mep-ibld.c:2280 mt-ibld.c:1172 or1k-ibld.c:837 xc16x-ibld.c:1196
-#: xstormy16-ibld.c:937
-#, c-format
-msgid "Unrecognized field %d while getting int operand.\n"
-msgstr "Unbekanntes Feld %d beim Holen des int-Operanden.\n"
-
-#: epiphany-ibld.c:1440 fr30-ibld.c:1212 frv-ibld.c:1714 ip2k-ibld.c:815
-#: iq2000-ibld.c:1135 lm32-ibld.c:901 m32c-ibld.c:4111 m32r-ibld.c:1013
-#: mep-ibld.c:2732 mt-ibld.c:1354 or1k-ibld.c:902 xc16x-ibld.c:1399
-#: xstormy16-ibld.c:1029
-#, c-format
-msgid "Unrecognized field %d while getting vma operand.\n"
-msgstr "Unbekanntes Feld %d beim Holen des vma-Operanden.\n"
-
-#: epiphany-ibld.c:1572 fr30-ibld.c:1343 frv-ibld.c:1981 ip2k-ibld.c:874
-#: iq2000-ibld.c:1255 lm32-ibld.c:979 m32c-ibld.c:4698 m32r-ibld.c:1114
-#: mep-ibld.c:3145 mt-ibld.c:1543 or1k-ibld.c:974 xc16x-ibld.c:1603
-#: xstormy16-ibld.c:1128
-#, c-format
-msgid "Unrecognized field %d while setting int operand.\n"
-msgstr "Unbekanntes Feld %d beim Setzen des int-Operanden.\n"
-
-#: epiphany-ibld.c:1694 fr30-ibld.c:1464 frv-ibld.c:2238 ip2k-ibld.c:923
-#: iq2000-ibld.c:1365 lm32-ibld.c:1047 m32c-ibld.c:5275 m32r-ibld.c:1205
-#: mep-ibld.c:3548 mt-ibld.c:1722 or1k-ibld.c:1036 xc16x-ibld.c:1797
-#: xstormy16-ibld.c:1217
+#: epiphany-ibld.c:880 fr30-ibld.c:735 frv-ibld.c:861 ip2k-ibld.c:612
+#: iq2000-ibld.c:718 lm32-ibld.c:639 m32c-ibld.c:1736 m32r-ibld.c:670
+#: mep-ibld.c:1213 mt-ibld.c:754 or1k-ibld.c:651 xc16x-ibld.c:757
+#: xstormy16-ibld.c:683
+#, c-format
+msgid "internal error: unrecognized field %d while building insn"
+msgstr "internal error: unrecognized field %d while building insn"
+
+#: epiphany-ibld.c:1175 fr30-ibld.c:941 frv-ibld.c:1179 ip2k-ibld.c:688
+#: iq2000-ibld.c:894 lm32-ibld.c:744 m32c-ibld.c:2898 m32r-ibld.c:808
+#: mep-ibld.c:1813 mt-ibld.c:975 or1k-ibld.c:757 xc16x-ibld.c:978
+#: xstormy16-ibld.c:830
+#, c-format
+msgid "internal error: unrecognized field %d while decoding insn"
+msgstr "internal error: unrecognized field %d while decoding insn"
+
+#: epiphany-ibld.c:1319 fr30-ibld.c:1088 frv-ibld.c:1458 ip2k-ibld.c:763
+#: iq2000-ibld.c:1026 lm32-ibld.c:834 m32c-ibld.c:3516 m32r-ibld.c:922
+#: mep-ibld.c:2284 mt-ibld.c:1176 or1k-ibld.c:841 xc16x-ibld.c:1200
+#: xstormy16-ibld.c:941
+#, c-format
+msgid "internal error: unrecognized field %d while getting int operand"
+msgstr "internal error: unrecognized field %d while getting int operand"
+
+#: epiphany-ibld.c:1445 fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820
+#: iq2000-ibld.c:1140 lm32-ibld.c:906 m32c-ibld.c:4116 m32r-ibld.c:1018
+#: mep-ibld.c:2737 mt-ibld.c:1359 or1k-ibld.c:907 xc16x-ibld.c:1404
+#: xstormy16-ibld.c:1034
+#, c-format
+msgid "internal error: unrecognized field %d while getting vma operand"
+msgstr "internal error: unrecognized field %d while getting vma operand"
+
+#: epiphany-ibld.c:1578 fr30-ibld.c:1349 frv-ibld.c:1987 ip2k-ibld.c:880
+#: iq2000-ibld.c:1261 lm32-ibld.c:985 m32c-ibld.c:4704 m32r-ibld.c:1120
+#: mep-ibld.c:3151 mt-ibld.c:1549 or1k-ibld.c:980 xc16x-ibld.c:1609
+#: xstormy16-ibld.c:1134
+#, c-format
+msgid "internal error: unrecognized field %d while setting int operand"
+msgstr "internal error: unrecognized field %d while setting int operand"
+
+#: epiphany-ibld.c:1701 fr30-ibld.c:1471 frv-ibld.c:2245 ip2k-ibld.c:930
+#: iq2000-ibld.c:1372 lm32-ibld.c:1054 m32c-ibld.c:5282 m32r-ibld.c:1212
+#: mep-ibld.c:3555 mt-ibld.c:1729 or1k-ibld.c:1043 xc16x-ibld.c:1804
+#: xstormy16-ibld.c:1224
 #, c-format
-msgid "Unrecognized field %d while setting vma operand.\n"
-msgstr "Unbekanntes Feld %d beim Holen des vma-Operanden.\n"
+msgid "internal error: unrecognized field %d while setting vma operand"
+msgstr "internal error: unrecognized field %d while setting vma operand"
 
-#: fr30-asm.c:92 m32c-asm.c:871 m32c-asm.c:878
+#: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879
 msgid "Register number is not valid"
-msgstr "Die Registernummer ist nicht gÃ¼ltig."
+msgstr "Die Registernummer ist nicht gÃ¼ltig"
 
-#: fr30-asm.c:94
+#: fr30-asm.c:95
 msgid "Register must be between r0 and r7"
-msgstr "Das Register muss zwischen r0 und r7 liegen."
+msgstr "Das Register muss zwischen r0 und r7 liegen"
 
-#: fr30-asm.c:96
+#: fr30-asm.c:97
 msgid "Register must be between r8 and r15"
-msgstr "Das Register muss zwischen r8 und r15 liegen."
+msgstr "Das Register muss zwischen r8 und r15 liegen"
 
-#: fr30-asm.c:115 m32c-asm.c:909
+#: fr30-asm.c:116 m32c-asm.c:910
 msgid "Register list is not valid"
 msgstr "Registerliste ist ungÃ¼ltig"
 
-#: frv-asm.c:607
+#: fr30-desc.c:1586
+#, c-format
+msgid "internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: fr30-desc.c:1669
+#, c-format
+msgid "internal error: fr30_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: fr30_cgen_cpu_open: unsupported argument `%d'"
+
+#: fr30-desc.c:1688
+#, c-format
+msgid "internal error: fr30_cgen_cpu_open: no endianness specified"
+msgstr "internal error: fr30_cgen_cpu_open: no endianness specified"
+
+#: frv-asm.c:608
 msgid "missing `]'"
 msgstr "Hier fehlt eine Â»]Â«."
 
-#: frv-asm.c:610 frv-asm.c:620
+#: frv-asm.c:611 frv-asm.c:621
 msgid "Special purpose register number is out of range"
 msgstr "Nummer des Spezialregisters ist auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: frv-asm.c:907
+#: frv-asm.c:908
 msgid "Value of A operand must be 0 or 1"
 msgstr "Wert des A-Operanden muss entweder 0 oder 1 sein"
 
-#: frv-asm.c:943
+#: frv-asm.c:944
 msgid "register number must be even"
-msgstr "Die Registernummer muss gerade sein."
+msgstr "Die Registernummer muss gerade sein"
 
-#: h8300-dis.c:313
+#: frv-desc.c:6326
 #, c-format
-msgid "Hmmmm 0x%x"
-msgstr "Hmmmm 0x%x"
+msgid "internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
 
-#: h8300-dis.c:690
+#: frv-desc.c:6409
 #, c-format
-msgid "Don't understand 0x%x \n"
-msgstr "Ich verstehe Â»0x%xÂ« nicht.\n"
+msgid "internal error: frv_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: frv_cgen_cpu_open: unsupported argument `%d'"
 
-#: h8500-dis.c:123
+#: frv-desc.c:6428
 #, c-format
-msgid "can't cope with insert %d\n"
-msgstr "Kann nicht mit Â»inserv %dÂ« umgehen.\n"
+msgid "internal error: frv_cgen_cpu_open: no endianness specified"
+msgstr "internal error: frv_cgen_cpu_open: no endianness specified"
 
-#  Couldn't understand anything.
-#. Couldn't understand anything.
-#: h8500-dis.c:323
+#: frv-opc.c:459
 #, c-format
-msgid "%02x\t\t*unknown*"
-msgstr "%02x\t\t*unbekannt*"
+msgid "internal error: bad vliw->next_slot value"
+msgstr "internal error: bad vliw->next_slot value"
 
-#: i386-dis.c:12280
+#: frv-opc.c:769
+#, c-format
+msgid "internal error: bad major code"
+msgstr "internal error: bad major code"
+
+#: frv-opc.c:819
+#, c-format
+msgid "internal error: bad insn unit"
+msgstr "internal error: bad insn unit"
+
+#: h8300-dis.c:63
+#, c-format
+msgid "internal error, h8_disassemble_init"
+msgstr "internal error, h8_disassemble_init"
+
+#: h8300-dis.c:314
+#, c-format
+msgid "Hmmmm 0x%x"
+msgstr "Hmmmm 0x%x"
+
+#: h8300-dis.c:691
+#, c-format
+msgid "Don't understand 0x%x \n"
+msgstr "Ich verstehe Â»0x%xÂ« nicht.\n"
+
+#: i386-dis.c:12405
 msgid "<internal disassembler error>"
 msgstr "<interner Disassemblerfehler>"
 
-#: i386-dis.c:12579
+#: i386-dis.c:12700
 #, c-format
 msgid ""
 "\n"
@@ -864,32 +965,32 @@ msgstr ""
 "mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch\n"
 "Kommata getrennt werden):\n"
 
-#: i386-dis.c:12583
+#: i386-dis.c:12704
 #, c-format
 msgid "  x86-64      Disassemble in 64bit mode\n"
 msgstr "  x86-64      Im 64-Bit-Modus disassemblieren\n"
 
-#: i386-dis.c:12584
+#: i386-dis.c:12705
 #, c-format
 msgid "  i386        Disassemble in 32bit mode\n"
 msgstr "  i386        Im 32-Bit-Modus disassemblieren\n"
 
-#: i386-dis.c:12585
+#: i386-dis.c:12706
 #, c-format
 msgid "  i8086       Disassemble in 16bit mode\n"
 msgstr "  i8086       Im 16-Bit-Modus disassemblieren\n"
 
-#: i386-dis.c:12586
+#: i386-dis.c:12707
 #, c-format
 msgid "  att         Display instruction in AT&T syntax\n"
 msgstr "  att         Maschinenbefehl in AT&T-syntax anzeigen\n"
 
-#: i386-dis.c:12587
+#: i386-dis.c:12708
 #, c-format
 msgid "  intel       Display instruction in Intel syntax\n"
 msgstr "  intel       Maschinenbefehl in Intel-Syntax anzeigen\n"
 
-#: i386-dis.c:12588
+#: i386-dis.c:12709
 #, c-format
 msgid ""
 "  att-mnemonic\n"
@@ -898,7 +999,7 @@ msgstr ""
 "  att-mnemonic\n"
 "              Maschinenbefehl in AT&T-Mnemonic anzeigen\n"
 
-#: i386-dis.c:12590
+#: i386-dis.c:12711
 #, c-format
 msgid ""
 "  intel-mnemonic\n"
@@ -907,115 +1008,119 @@ msgstr ""
 "  intel-mnemonic\n"
 "              Maschinenbefehl in Intel-Mnemonic anzeigen\n"
 
-#: i386-dis.c:12592
+#: i386-dis.c:12713
 #, c-format
 msgid "  addr64      Assume 64bit address size\n"
 msgstr "  addr64      64-Bit-AdressgrÃ¶ÃŸe annehmen\n"
 
-#: i386-dis.c:12593
+#: i386-dis.c:12714
 #, c-format
 msgid "  addr32      Assume 32bit address size\n"
 msgstr "  addr32      32-Bit-AdressgrÃ¶ÃŸe annehmen\n"
 
-#: i386-dis.c:12594
+#: i386-dis.c:12715
 #, c-format
 msgid "  addr16      Assume 16bit address size\n"
 msgstr "  addr16      16-Bit-AdressgrÃ¶ÃŸe annehmen\n"
 
-#: i386-dis.c:12595
+#: i386-dis.c:12716
 #, c-format
 msgid "  data32      Assume 32bit data size\n"
 msgstr "  data32      32-Bit-DatengrÃ¶ÃŸe annehmen\n"
 
-#: i386-dis.c:12596
+#: i386-dis.c:12717
 #, c-format
 msgid "  data16      Assume 16bit data size\n"
 msgstr "  data16      16-Bit-DatengrÃ¶ÃŸe annehmen\n"
 
-#: i386-dis.c:12597
+#: i386-dis.c:12718
 #, c-format
 msgid "  suffix      Always display instruction suffix in AT&T syntax\n"
 msgstr "  suffix      Maschinenbefehl-Suffix immer in AT&T-Syntax anzeigen\n"
 
-#: i386-dis.c:12598
+#: i386-dis.c:12719
 #, c-format
 msgid "  amd64       Display instruction in AMD64 ISA\n"
 msgstr "  amd64       Maschinenbefehl in AMD64-ISA anzeigen\n"
 
-#: i386-dis.c:12599
+#: i386-dis.c:12720
 #, c-format
 msgid "  intel64     Display instruction in Intel64 ISA\n"
 msgstr "  intel64     Maschinenbefehl in Intel64-ISA anzeigen\n"
 
-#: i386-dis.c:13150
+#: i386-dis.c:13260
 msgid "64-bit address is disabled"
 msgstr "64-Bit-Adresse ist deaktiviert"
 
-#: i386-gen.c:683 ia64-gen.c:306
+#: i386-gen.c:730
 #, c-format
-msgid "%s: Error: "
+msgid "%s: error: "
 msgstr "%s: Fehler: "
 
-#: i386-gen.c:847
+#: i386-gen.c:909
 #, c-format
-msgid "%s: %d: Unknown bitfield: %s\n"
+msgid "%s: %d: unknown bitfield: %s\n"
 msgstr "%s: %d: Unbekanntes Bitfeld: %s\n"
 
-#  Can't happen.
-#: i386-gen.c:849
+#: i386-gen.c:911
 #, c-format
-msgid "Unknown bitfield: %s\n"
+msgid "unknown bitfield: %s\n"
 msgstr "Unbekanntes Bitfeld: %s\n"
 
-#: i386-gen.c:908
+#: i386-gen.c:974
 #, c-format
-msgid "%s: %d: Missing `)' in bitfield: %s\n"
+msgid "%s: %d: missing `)' in bitfield: %s\n"
 msgstr "%s: %d: Hier fehlt eine Â»)Â« im Bitfeld: %s\n"
 
-#: i386-gen.c:1179
+#: i386-gen.c:1275
 #, c-format
 msgid "can't find i386-opc.tbl for reading, errno = %s\n"
 msgstr "Kann Â»i386-opc.tblÂ« nicht zum Lesen finden, errno = %s\n"
 
-#: i386-gen.c:1310
+#: i386-gen.c:1406
 #, c-format
 msgid "can't find i386-reg.tbl for reading, errno = %s\n"
 msgstr "Kann Â»i386-reg.tblÂ« nicht zum Lesen finden, errno = %s\n"
 
-#: i386-gen.c:1387
+#: i386-gen.c:1484
 #, c-format
 msgid "can't create i386-init.h, errno = %s\n"
 msgstr "Kann i386-init.h nicht anlegen, errno = %s\n"
 
-#: i386-gen.c:1477 ia64-gen.c:2829
+#: i386-gen.c:1574 ia64-gen.c:2829
 #, c-format
 msgid "unable to change directory to \"%s\", errno = %s\n"
 msgstr "Kann nicht in das Verzeichnis Â»%sÂ« wechseln, errno = %s\n"
 
-#: i386-gen.c:1489 i386-gen.c:1492
+#: i386-gen.c:1586 i386-gen.c:1589
 #, c-format
 msgid "CpuMax != %d!\n"
 msgstr "CpuMax != %d\n"
 
-#: i386-gen.c:1496
+#: i386-gen.c:1593
 #, c-format
 msgid "%d unused bits in i386_cpu_flags.\n"
 msgstr "%d ungenutzte Bits in i386_cpu_flags.\n"
 
-#: i386-gen.c:1503
+#: i386-gen.c:1600
 #, c-format
 msgid "%d unused bits in i386_operand_type.\n"
 msgstr "%d ungenutzte Bits in i386_operand_type.\n"
 
-#: i386-gen.c:1517
+#: i386-gen.c:1614
 #, c-format
 msgid "can't create i386-tbl.h, errno = %s\n"
 msgstr "Kann i386-tbl.h nicht anlegen, errno = %s\n"
 
+#: ia64-gen.c:306
+#, c-format
+msgid "%s: Error: "
+msgstr "%s: Fehler: "
+
 #: ia64-gen.c:319
 #, c-format
 msgid "%s: Warning: "
-msgstr "%s: Warnung:"
+msgstr "%s: Warnung: "
 
 #: ia64-gen.c:505 ia64-gen.c:736
 #, c-format
@@ -1117,13 +1222,13 @@ msgstr "Opcode %s hat keine Klasse (Oper
 #  cgen will try the next parsing option.
 #. We've been passed a w.  Return with an error message so that
 #. cgen will try the next parsing option.
-#: ip2k-asm.c:80
+#: ip2k-asm.c:81
 msgid "W keyword invalid in FR operand slot."
-msgstr "SchlÃ¼sselwort Â»WÂ« ist im Operandenplatz Â»FRÂ« ungÃ¼ltig"
+msgstr "SchlÃ¼sselwort Â»WÂ« ist im Operandenplatz Â»FRÂ« ungÃ¼ltig."
 
 #  Invalid offset present.
 #. Invalid offset present.
-#: ip2k-asm.c:105
+#: ip2k-asm.c:106
 msgid "offset(IP) is not a valid form"
 msgstr "Â»offset(IP)Â« ist keine gÃ¼ltige Form"
 
@@ -1131,76 +1236,121 @@ msgstr "Â»offset(IP)Â« ist keine gÃ¼ltig
 #  of range.
 #. Found something there in front of (DP) but it's out
 #. of range.
-#: ip2k-asm.c:153
+#: ip2k-asm.c:154
 msgid "(DP) offset out of range."
-msgstr "(DP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs"
+msgstr "(DP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs."
 
 #  Found something there in front of (SP) but it's out
 #  of range.
 #. Found something there in front of (SP) but it's out
 #. of range.
-#: ip2k-asm.c:194
+#: ip2k-asm.c:195
 msgid "(SP) offset out of range."
-msgstr "(SP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs"
+msgstr "(SP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs."
 
-#: ip2k-asm.c:210
+#: ip2k-asm.c:211
 msgid "illegal use of parentheses"
 msgstr "Unerlaubte Benutzung von Klammern"
 
-#: ip2k-asm.c:217
+#: ip2k-asm.c:218
 msgid "operand out of range (not between 1 and 255)"
 msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs (1 bis 255)"
 
 #  Something is very wrong. opindex has to be one of the above.
 #. Something is very wrong. opindex has to be one of the above.
-#: ip2k-asm.c:241
+#: ip2k-asm.c:242
 msgid "parse_addr16: invalid opindex."
-msgstr "parse_addr16: UngÃ¼ltiger Operatorindex"
+msgstr "parse_addr16: UngÃ¼ltiger Operatorindex."
 
-#: ip2k-asm.c:295
+#: ip2k-asm.c:296
 msgid "Byte address required. - must be even."
-msgstr "Byteadresse benÃ¶tigt -- muss gerade sein"
+msgstr "Byteadresse benÃ¶tigt -- muss gerade sein."
 
-#: ip2k-asm.c:304
+#: ip2k-asm.c:305
 msgid "cgen_parse_address returned a symbol. Literal required."
-msgstr "cgen_parse_address: Gebe Symbol zurÃ¼ck. Sollte eigentlich ein Literal sein"
+msgstr "cgen_parse_address hat Symbol zurÃ¼ckgegeben, muss jedoch ein Literal sein."
 
-#: ip2k-asm.c:359
+#: ip2k-asm.c:360
 msgid "percent-operator operand is not a symbol"
 msgstr "Der Prozent-Operator ist kein Symbol"
 
-#: ip2k-asm.c:412
+#: ip2k-asm.c:413
 msgid "Attempt to find bit index of 0"
 msgstr "Versuch, ein gesetztes Bit von 0 zu bestimmen"
 
-#: iq2000-asm.c:111 iq2000-asm.c:141
+#: ip2k-desc.c:1015
+#, c-format
+msgid "internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: ip2k-desc.c:1098
+#, c-format
+msgid "internal error: ip2k_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: ip2k_cgen_cpu_open: unsupported argument `%d'"
+
+#: ip2k-desc.c:1117
+#, c-format
+msgid "internal error: ip2k_cgen_cpu_open: no endianness specified"
+msgstr "internal error: ip2k_cgen_cpu_open: no endianness specified"
+
+#: iq2000-asm.c:112 iq2000-asm.c:142
 msgid "immediate value cannot be register"
 msgstr "Ein Direktoperand kann kein Register sein"
 
-#: iq2000-asm.c:122 iq2000-asm.c:152 lm32-asm.c:69
+#: iq2000-asm.c:123 iq2000-asm.c:153 lm32-asm.c:70
 msgid "immediate value out of range"
 msgstr "Direktoperand auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: iq2000-asm.c:181
+#: iq2000-asm.c:182
 msgid "21-bit offset out of range"
 msgstr "21-Bit-Offset auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: lm32-asm.c:165
+#: iq2000-desc.c:2020
+#, c-format
+msgid "internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: iq2000-desc.c:2103
+#, c-format
+msgid "internal error: iq2000_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: iq2000_cgen_cpu_open: unsupported argument `%d'"
+
+#: iq2000-desc.c:2122
+#, c-format
+msgid "internal error: iq2000_cgen_cpu_open: no endianness specified"
+msgstr "internal error: iq2000_cgen_cpu_open: no endianness specified"
+
+#: lm32-asm.c:166
 msgid "expecting gp relative address: gp(symbol)"
 msgstr "Adresse relativ zu gp erwartet: gp(Symbol)"
 
-#: lm32-asm.c:195
+#: lm32-asm.c:196
 msgid "expecting got relative address: got(symbol)"
 msgstr "Adresse relativ zu got erwartet: got(Symbol)"
 
-#: lm32-asm.c:225
+#: lm32-asm.c:226
 msgid "expecting got relative address: gotoffhi16(symbol)"
 msgstr "Adresse relativ zu got erwartet: gotoffhi16(Symbol)"
 
-#: lm32-asm.c:255
+#: lm32-asm.c:256
 msgid "expecting got relative address: gotofflo16(symbol)"
 msgstr "Adresse relativ zu got erwartet: gotofflo16(Symbol)"
 
+#: lm32-desc.c:1002
+#, c-format
+msgid "internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: lm32-desc.c:1085
+#, c-format
+msgid "internal error: lm32_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: lm32_cgen_cpu_open: unsupported argument `%d'"
+
+#: lm32-desc.c:1104
+#, c-format
+msgid "internal error: lm32_cgen_cpu_open: no endianness specified"
+msgstr "internal error: lm32_cgen_cpu_open: no endianness specified"
+
 #: m10200-dis.c:157 m10300-dis.c:580
 #, c-format
 msgid "unknown\t0x%04lx"
@@ -1211,80 +1361,110 @@ msgstr "unbekannt\t0x%04lx"
 msgid "unknown\t0x%02lx"
 msgstr "unbekannt\t0x%02lx"
 
-#: m32c-asm.c:116
+#: m32c-asm.c:117
 msgid "imm:6 immediate is out of range"
 msgstr "Direktwert imm:6 liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: m32c-asm.c:144
+#: m32c-asm.c:145
 #, c-format
 msgid "%dsp8() takes a symbolic address, not a number"
 msgstr "%dsp8() hat als Parameter eine symbolische Adresse, keine Zahl"
 
-#: m32c-asm.c:158 m32c-asm.c:162 m32c-asm.c:252
+#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:253
 msgid "dsp:8 immediate is out of range"
 msgstr "Direktwert dsp:6 liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: m32c-asm.c:183 m32c-asm.c:187
+#: m32c-asm.c:184 m32c-asm.c:188
 msgid "Immediate is out of range -8 to 7"
 msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -8 bis 7"
 
-#: m32c-asm.c:208 m32c-asm.c:212
+#: m32c-asm.c:209 m32c-asm.c:213
 msgid "Immediate is out of range -7 to 8"
 msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -7 bis 8"
 
-#: m32c-asm.c:280
+#: m32c-asm.c:281
 #, c-format
 msgid "%dsp16() takes a symbolic address, not a number"
 msgstr "%dsp16() hat als Parameter eine symbolische Adresse, keine Zahl"
 
-#: m32c-asm.c:304 m32c-asm.c:311 m32c-asm.c:372
+#: m32c-asm.c:305 m32c-asm.c:312 m32c-asm.c:373
 msgid "dsp:16 immediate is out of range"
 msgstr "Direktwert dsp:16 liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: m32c-asm.c:398
+#: m32c-asm.c:399
 msgid "dsp:20 immediate is out of range"
 msgstr "Direktwert dsp:20 liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: m32c-asm.c:424 m32c-asm.c:444
+#: m32c-asm.c:425 m32c-asm.c:445
 msgid "dsp:24 immediate is out of range"
 msgstr "Direktwert dsp:24 liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: m32c-asm.c:477
+#: m32c-asm.c:478
 msgid "immediate is out of range 1-2"
 msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 1 bis 2"
 
-#: m32c-asm.c:495
+#: m32c-asm.c:496
 msgid "immediate is out of range 1-8"
 msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 1 bis 8"
 
-#: m32c-asm.c:513
+#: m32c-asm.c:514
 msgid "immediate is out of range 0-7"
 msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 0 bis 7"
 
-#: m32c-asm.c:549
+#: m32c-asm.c:550
 msgid "immediate is out of range 2-9"
 msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 2 bis 9"
 
-#: m32c-asm.c:567
+#: m32c-asm.c:568
 msgid "Bit number for indexing general register is out of range 0-15"
 msgstr "Die Bitnummer, um das allgemeine Register zu indizieren, ist auÃŸerhalb des gÃ¼ltigen Bereichs 0-15"
 
-#: m32c-asm.c:605 m32c-asm.c:661
+#: m32c-asm.c:606 m32c-asm.c:662
 msgid "bit,base is out of range"
 msgstr "Bit,Basis liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: m32c-asm.c:612 m32c-asm.c:617 m32c-asm.c:665
+#: m32c-asm.c:613 m32c-asm.c:618 m32c-asm.c:666
 msgid "bit,base out of range for symbol"
 msgstr "Bit,Basis liegt auÃŸerhalb des gÃ¼ltigen Bereichs fÃ¼r Symbol"
 
-#: m32c-asm.c:801
+#: m32c-asm.c:802
 msgid "not a valid r0l/r0h pair"
 msgstr "Kein gÃ¼ltiges r0l/r0h-Paar"
 
-#: m32c-asm.c:831
+#: m32c-asm.c:832
 msgid "Invalid size specifier"
 msgstr "UngÃ¼ltige GrÃ¶ÃŸenangabe"
 
+#: m32c-desc.c:63033
+#, c-format
+msgid "internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: m32c-desc.c:63116
+#, c-format
+msgid "internal error: m32c_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: m32c_cgen_cpu_open: unsupported argument `%d'"
+
+#: m32c-desc.c:63135
+#, c-format
+msgid "internal error: m32c_cgen_cpu_open: no endianness specified"
+msgstr "internal error: m32c_cgen_cpu_open: no endianness specified"
+
+#: m32r-desc.c:1365
+#, c-format
+msgid "internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: m32r-desc.c:1448
+#, c-format
+msgid "internal error: m32r_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: m32r_cgen_cpu_open: unsupported argument `%d'"
+
+#: m32r-desc.c:1467
+#, c-format
+msgid "internal error: m32r_cgen_cpu_open: no endianness specified"
+msgstr "internal error: m32r_cgen_cpu_open: no endianness specified"
+
 #: m68k-dis.c:1292
 #, c-format
 msgid "<function code %d>"
@@ -1295,50 +1475,60 @@ msgstr "<Funktionscode %d>"
 msgid "<internal error in opcode table: %s %s>\n"
 msgstr "<interner Fehler in der Opcode-Tabelle: %s %s>\n"
 
-#: m88k-dis.c:678
-#, c-format
-msgid "# <dis error: %08lx>"
-msgstr "# <Disassemblierungsfehler: %08lx>"
-
-#: mep-asm.c:128
+#: mep-asm.c:129
 msgid "Only $tp or $13 allowed for this opcode"
-msgstr "Dieser Opcode kann nur $tp oder $13 als Parameter haben."
+msgstr "Dieser Opcode kann nur $tp oder $13 als Parameter haben"
 
-#: mep-asm.c:142
+#: mep-asm.c:143
 msgid "Only $sp or $15 allowed for this opcode"
 msgstr "Dieser Opcode kann nur $sp oder $15 als Parameter haben"
 
-#: mep-asm.c:307 mep-asm.c:503
+#: mep-asm.c:308 mep-asm.c:504
 #, c-format
 msgid "invalid %function() here"
 msgstr "%function() ist hier ungÃ¼ltig"
 
-#: mep-asm.c:335
+#: mep-asm.c:336
 msgid "Immediate is out of range -32768 to 32767"
 msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -32768 bis 32767"
 
-#: mep-asm.c:355
+#: mep-asm.c:356
 msgid "Immediate is out of range 0 to 65535"
 msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 0 bis 65535"
 
-#: mep-asm.c:548 mep-asm.c:561
+#: mep-asm.c:549 mep-asm.c:562
 msgid "Immediate is out of range -512 to 511"
 msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -512 bis 511"
 
-#: mep-asm.c:553 mep-asm.c:562
+#: mep-asm.c:554 mep-asm.c:563
 msgid "Immediate is out of range -128 to 127"
 msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -128 bis 127"
 
-#: mep-asm.c:557
+#: mep-asm.c:558
 msgid "Value is not aligned enough"
 msgstr "Der Wert ist nicht ausreichend ausgerichtet"
 
-#: mips-dis.c:1751 mips-dis.c:1977
+#: mep-desc.c:6226
+#, c-format
+msgid "internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: mep-desc.c:6309
+#, c-format
+msgid "internal error: mep_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: mep_cgen_cpu_open: unsupported argument `%d'"
+
+#: mep-desc.c:6328
+#, c-format
+msgid "internal error: mep_cgen_cpu_open: no endianness specified"
+msgstr "internal error: mep_cgen_cpu_open: no endianness specified"
+
+#: mips-dis.c:1758 mips-dis.c:1984
 #, c-format
 msgid "# internal error, undefined operand in `%s %s'"
 msgstr "# Interner Fehler, undefinierter Operand in â€ž%s %sâ€œ"
 
-#: mips-dis.c:2553
+#: mips-dis.c:2560
 #, c-format
 msgid ""
 "\n"
@@ -1350,7 +1540,7 @@ msgstr ""
 "mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch\n"
 "Kommata getrennt werden):\n"
 
-#: mips-dis.c:2557
+#: mips-dis.c:2564
 #, c-format
 msgid ""
 "\n"
@@ -1359,7 +1549,7 @@ msgstr ""
 "\n"
 "  no-aliases               Kanonische Form der Befehle verwenden.\n"
 
-#: mips-dis.c:2560
+#: mips-dis.c:2567
 #, c-format
 msgid ""
 "\n"
@@ -1368,7 +1558,7 @@ msgstr ""
 "\n"
 "  msa                      MSA-Befehle erkennen.\n"
 
-#: mips-dis.c:2563
+#: mips-dis.c:2570
 #, c-format
 msgid ""
 "\n"
@@ -1377,7 +1567,7 @@ msgstr ""
 "\n"
 "  virt                     ASE-Befehle fÃ¼r Virtualisierung erkennen.\n"
 
-#: mips-dis.c:2566
+#: mips-dis.c:2573
 #, c-format
 msgid ""
 "\n"
@@ -1388,7 +1578,18 @@ msgstr ""
 "  xpa                      Befehle fÃ¼r eXtended Physical Address (XPA)\n"
 "                           Adressraumerweiterung erkennen.\n"
 
-#: mips-dis.c:2570
+#: mips-dis.c:2577
+#, c-format
+msgid ""
+"\n"
+"  ginv                     Recognize the Global INValidate (GINV) ASE\n"
+"                           instructions.\n"
+msgstr ""
+"\n"
+"  ginv                     Befehle fÃ¼r Global INValidate (GINV)\n"
+"                           Adressraumerweiterung erkennen.\n"
+
+#: mips-dis.c:2581
 #, c-format
 msgid ""
 "\n"
@@ -1401,7 +1602,7 @@ msgstr ""
 "                           Standard: abhÃ¤ngig von der BinÃ¤rdatei, die\n"
 "                           disassembliert wird.\n"
 
-#: mips-dis.c:2574
+#: mips-dis.c:2585
 #, c-format
 msgid ""
 "\n"
@@ -1412,7 +1613,7 @@ msgstr ""
 "  fpr-names=ABI            Gib FPR-Namen entsprechend des angegebenen ABI aus.\n"
 "                           Standard: numerisch.\n"
 
-#: mips-dis.c:2578
+#: mips-dis.c:2589
 #, c-format
 msgid ""
 "\n"
@@ -1426,7 +1627,7 @@ msgstr ""
 "                           Standard: abhÃ¤ngig von der BinÃ¤rdatei, die\n"
 "                           disassembliert wird.\n"
 
-#: mips-dis.c:2583
+#: mips-dis.c:2594
 #, c-format
 msgid ""
 "\n"
@@ -1440,7 +1641,7 @@ msgstr ""
 "                           Standard: abhÃ¤ngig von der BinÃ¤rdatei, die\n"
 "                           verarbeitet wird.\n"
 
-#: mips-dis.c:2588
+#: mips-dis.c:2599
 #, c-format
 msgid ""
 "\n"
@@ -1451,7 +1652,7 @@ msgstr ""
 "  reg-names=ABI            Gib GPR- und FPR-Namen entsprechend des\n"
 "                           angegebenen ABI aus.\n"
 
-#: mips-dis.c:2592
+#: mips-dis.c:2603
 #, c-format
 msgid ""
 "\n"
@@ -1462,7 +1663,7 @@ msgstr ""
 "  reg-names=ARCH           Gib CP0-Register und HWR-Namen entsprechend der\n"
 "                           angegebenen Architektur aus.\n"
 
-#: mips-dis.c:2596
+#: mips-dis.c:2607
 #, c-format
 msgid ""
 "\n"
@@ -1473,7 +1674,7 @@ msgstr ""
 "  FÃ¼r die obigen Optionen werden die folgenden Werte fÃ¼r Â»ABIÂ« unterstÃ¼tzt:\n"
 "   "
 
-#: mips-dis.c:2603
+#: mips-dis.c:2614
 #, c-format
 msgid ""
 "\n"
@@ -1484,25 +1685,30 @@ msgstr ""
 "  FÃ¼r die obigen Optionen werden die folgenden Werte fÃ¼r Â»ARCHÂ« unterstÃ¼tzt:\n"
 "   "
 
-#: mmix-dis.c:34
+#: mmix-dis.c:33
 #, c-format
-msgid "Bad case %d (%s) in %s:%d\n"
-msgstr "Interner Fehler: case %d (%s) in %s:%d\n"
+msgid "bad case %d (%s) in %s:%d"
+msgstr "internal error: case %d (%s) in %s:%d"
 
-#: mmix-dis.c:44
+#: mmix-dis.c:42
 #, c-format
-msgid "Internal: Non-debugged code (test-case missing): %s:%d"
-msgstr "Intern: Nicht gedebuggter Code (Testfall fehlt): %s:%d"
+msgid "internal: non-debugged code (test-case missing): %s:%d"
+msgstr "internal error: non-debugged code (test-case missing): %s:%d"
 
-#: mmix-dis.c:53
+#: mmix-dis.c:52
 msgid "(unknown)"
 msgstr "(unbekannt)"
 
-#: mmix-dis.c:511
+#: mmix-dis.c:510
 #, c-format
 msgid "*unknown operands type: %d*"
 msgstr "Unbekannter Operandentyp: %d*"
 
+#: msp430-decode.opc:145 rl78-decode.opc:106
+#, c-format
+msgid "internal error: immediate() called with invalid byte count %d"
+msgstr "internal error: immediate() called with invalid byte count %d"
+
 #: msp430-dis.c:59
 #, c-format
 msgid "Warning: disassembly unreliable - not enough bytes available"
@@ -1531,21 +1737,126 @@ msgstr "Warnung: Unbekannter CALLA-Adres
 msgid "Warning: reserved use of A/L and B/W bits detected"
 msgstr "Warnung: Benutzung der reservierten A/L- und B/W-Bits erkannt"
 
-#: mt-asm.c:109 mt-asm.c:189
+#: mt-asm.c:110 mt-asm.c:190
 msgid "Operand out of range. Must be between -32768 and 32767."
-msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs -32768 bis 32767"
+msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs -32768 bis 32767."
 
-#: mt-asm.c:148
+#: mt-asm.c:149
 msgid "Biiiig Trouble in parse_imm16!"
 msgstr "Oh, oh. Hier ist richtig was kaputt in parse_imm16!"
 
-#: mt-asm.c:156
+#: mt-asm.c:157
 msgid "The percent-operator's operand is not a symbol"
 msgstr "Der Operand des Prozent-Operators ist kein Symbol"
 
-#: mt-asm.c:394
+#: mt-asm.c:395
 msgid "invalid operand.  type may have values 0,1,2 only."
-msgstr "UngÃ¼ltiger Operand. Die Art kann nur 0, 1 oder 2 sein"
+msgstr "UngÃ¼ltiger Operand. Die Art kann nur 0, 1 oder 2 sein."
+
+#: mt-desc.c:1146
+#, c-format
+msgid "internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: mt-desc.c:1229
+#, c-format
+msgid "internal error: mt_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: mt_cgen_cpu_open: unsupported argument `%d'"
+
+#: mt-desc.c:1248
+#, c-format
+msgid "internal error: mt_cgen_cpu_open: no endianness specified"
+msgstr "internal error: mt_cgen_cpu_open: no endianness specified"
+
+#: nds32-asm.c:1508
+#, c-format
+msgid "internal error: unknown operand, %s"
+msgstr "internal error: unknown operand, %s"
+
+#: nds32-asm.c:2062
+#, c-format
+msgid "internal error: don't know how to handle parsing results"
+msgstr "internal error: don't know how to handle parsing results"
+
+#: nds32-asm.c:2070
+#, c-format
+msgid "internal error: unknown hardware resource"
+msgstr "internal error: unknown hardware resource"
+
+#: nfp-dis.c:927
+msgid "<invalid_instruction>:"
+msgstr "<ungÃ¼ltiger Maschinenbefehl>"
+
+#: nfp-dis.c:1331
+msgid ", <invalid CRC operator>, "
+msgstr ", <ungÃ¼ltiger CRC-Operator>, "
+
+#: nfp-dis.c:1683
+msgid "<invalid branch>["
+msgstr "<ungÃ¼ltiger Zweig>["
+
+#: nfp-dis.c:2052 nfp-dis.c:2323
+#, c-format
+msgid "<invalid cmd target %d:%d:%d>[]"
+msgstr "<UngÃ¼ltiges Befehlsziel %d:%d:%d>[]"
+
+#: nfp-dis.c:2063 nfp-dis.c:2334
+#, c-format
+msgid "<invalid cmd action %d:%d:%d>[]"
+msgstr "<UngÃ¼ltige Befehlsaktion %d:%d:%d>[]"
+
+#: nfp-dis.c:2555
+msgid "File has no ME-Config section."
+msgstr "Datei hat keinen ME-Config-Abschnitt."
+
+#: nfp-dis.c:2569
+msgid "File has invalid ME-Config section."
+msgstr "Datei hat ungÃ¼ltigen ME-Config-Abschnitt."
+
+#: nfp-dis.c:2711
+#, c-format
+msgid "Error processing section %u "
+msgstr "Fehler beim Verarbeiten von Abschnitt %u "
+
+#: nfp-dis.c:2740
+#, c-format
+msgid "Invalid NFP option: %s"
+msgstr "UngÃ¼ltige NFP-Option: %s"
+
+#: nfp-dis.c:2972
+#, c-format
+msgid ""
+"\n"
+"The following NFP specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Die folgenden NFP-spezifischen Disassembleroptionen werden zusammen\n"
+"mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch\n"
+"Kommata getrennt werden):\n"
+
+#: nfp-dis.c:2976
+#, c-format
+msgid ""
+"\n"
+"  no-pc\t\t    Don't print program counter prefix.\n"
+"  ctx4\t\t    Force disassembly using 4-context mode.\n"
+"  ctx8\t\t    Force 8-context mode, takes presedence.\""
+msgstr ""
+"\n"
+"  no-pc\t\t    ProgrammzÃ¤hler-PrÃ¤fix nicht ausgeben.\n"
+"  ctx4\t\t    Disassemblieren mit 4-Kontext-Modus erzwingen.\n"
+"  ctx8\t\t    8-Kontext-Modus erzwingen, hat Vorrang."
+
+#: nios2-dis.c:135
+#, c-format
+msgid "out of memory"
+msgstr "Zu wenig Speicher"
+
+#: nios2-dis.c:263
+#, c-format
+msgid "internal error: broken opcode descriptor for `%s %s'"
+msgstr "internal error: broken opcode descriptor for `%s %s'"
 
 #  I and Z are output operands and can`t be immediate
 #  * A is an address and we can`t have the address of
@@ -1562,12 +1873,27 @@ msgstr "UngÃ¼ltiger Operand. Die Art kan
 msgid "$<undefined>"
 msgstr "$<undefiniert>"
 
-#: ppc-dis.c:354
+#: or1k-desc.c:1948
+#, c-format
+msgid "internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: or1k-desc.c:2031
+#, c-format
+msgid "internal error: or1k_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: or1k_cgen_cpu_open: unsupported argument `%d'"
+
+#: or1k-desc.c:2050
 #, c-format
-msgid "warning: ignoring unknown -M%s option\n"
-msgstr "Warnung: Unbekannte Option Â»-M%sÂ« wird ignoriert\n"
+msgid "internal error: or1k_cgen_cpu_open: no endianness specified"
+msgstr "internal error: or1k_cgen_cpu_open: no endianness specified"
 
-#: ppc-dis.c:805
+#: ppc-dis.c:363
+#, c-format
+msgid "warning: ignoring unknown -M%s option"
+msgstr "Warnung: Unbekannte Option Â»-M%sÂ« wird ignoriert"
+
+#: ppc-dis.c:838
 #, c-format
 msgid ""
 "\n"
@@ -1578,86 +1904,109 @@ msgstr ""
 "Die folgenden PPC-spezifischen Disassembleroptionen werden in Kombination\n"
 "mit dem Schalter Â»-MÂ« unterstÃ¼tzt:\n"
 
-#: ppc-opc.c:992 ppc-opc.c:1015 ppc-opc.c:1040 ppc-opc.c:1069
+#: ppc-opc.c:52 ppc-opc.c:75 ppc-opc.c:100 ppc-opc.c:129
 msgid "invalid register"
 msgstr "UngÃ¼ltiges Register"
 
-#: ppc-opc.c:1317 ppc-opc.c:1347
+#: ppc-opc.c:382 ppc-opc.c:410
 msgid "invalid conditional option"
 msgstr "UngÃ¼ltige bedingte Option"
 
-#: ppc-opc.c:1319 ppc-opc.c:1349
+#: ppc-opc.c:384 ppc-opc.c:412
 msgid "invalid counter access"
 msgstr "UngÃ¼ltiger Zugriff auf ZÃ¤hler"
 
-#: ppc-opc.c:1351
+#: ppc-opc.c:414
 msgid "attempt to set y bit when using + or - modifier"
 msgstr "Versuch, das y-Bit zusammen mit dem Modifikator Â»+Â« oder Â»-Â« zu setzen"
 
-#: ppc-opc.c:1441
+#: ppc-opc.c:505
 msgid "invalid mask field"
 msgstr "UngÃ¼ltiges Maskierungsfeld"
 
-#: ppc-opc.c:1464
+#: ppc-opc.c:528
 msgid "invalid mfcr mask"
 msgstr "UngÃ¼ltige mfcr-Maske"
 
-#: ppc-opc.c:1538 ppc-opc.c:1578
+#: ppc-opc.c:601 ppc-opc.c:641
 msgid "illegal L operand value"
 msgstr "Unerlaubter Wert fÃ¼r L-Operanden"
 
-#: ppc-opc.c:1584
+#: ppc-opc.c:647
 msgid "incompatible L operand value"
 msgstr "Inkompatibler L-Operandenwert"
 
-#: ppc-opc.c:1628 ppc-opc.c:1663
+#: ppc-opc.c:691 ppc-opc.c:726
 msgid "illegal bitmask"
 msgstr "UngÃ¼ltige Bitmaske"
 
-#: ppc-opc.c:1750
+#: ppc-opc.c:813
 msgid "address register in load range"
 msgstr "Adressregister im Ladebereich (load range)"
 
-#: ppc-opc.c:1816
+#: ppc-opc.c:879
 msgid "index register in load range"
 msgstr "Indexregister im Ladebereich (load range)"
 
-#: ppc-opc.c:1845 ppc-opc.c:1926
+#: ppc-opc.c:908 ppc-opc.c:991
 msgid "source and target register operands must be different"
 msgstr "Die Operanden fÃ¼r das Quell- und Zielregister mÃ¼ssen verschieden sein"
 
-#: ppc-opc.c:1873
+#: ppc-opc.c:936
 msgid "invalid register operand when updating"
 msgstr "UngÃ¼ltiger Registeroperand beim Aktualisieren"
 
-#: ppc-opc.c:1989
+#: ppc-opc.c:1054
 msgid "illegal immediate value"
 msgstr "Unerlaubter Direktwert"
 
-#: ppc-opc.c:2136
+#: ppc-opc.c:1201
 msgid "invalid sprg number"
 msgstr "UngÃ¼ltige sprg-Nummer"
 
-#: ppc-opc.c:2173
+#: ppc-opc.c:1238
 msgid "invalid tbr number"
 msgstr "UngÃ¼ltige tbr-Nummer"
 
-#: ppc-opc.c:2317
+#: ppc-opc.c:1381
 msgid "invalid constant"
 msgstr "UngÃ¼ltige Konstante"
 
-#. Invalid option.
+#: ppc-opc.c:1486 ppc-opc.c:1513 ppc-opc.c:1540 ppc-opc.c:1567
+msgid "UIMM = 00000 is illegal"
+msgstr "UIMM = 0000 ist ungÃ¼ltig"
+
+#: ppc-opc.c:1594
+msgid "UIMM values >7 are illegal"
+msgstr "UIMM-Werte > 7 sind ungÃ¼ltig"
+
+#: ppc-opc.c:1621
+msgid "UIMM values >15 are illegal"
+msgstr "UIMM-Werte > 15 sind ungÃ¼ltig"
+
+#: ppc-opc.c:1648
+msgid "GPR odd is illegal"
+msgstr "GPR ungerade ist ungÃ¼ltig"
+
+#: ppc-opc.c:1675 ppc-opc.c:1702
+msgid "invalid offset"
+msgstr "UngÃ¼ltiger Offset"
+
+#: ppc-opc.c:1729
+msgid "invalid Ddd value"
+msgstr "UngÃ¼ltiger Ddd-Wert"
+
 #: riscv-dis.c:68
 #, c-format
-msgid "Unrecognized disassembler option: %s\n"
-msgstr "Unbekannte Disassembler-Option: %s\n"
+msgid "unrecognized disassembler option: %s"
+msgstr "Unbekannte Disassembler-Option: %s"
 
-#: riscv-dis.c:344
+#: riscv-dis.c:346
 #, c-format
 msgid "# internal error, undefined modifier (%c)"
 msgstr "# Interner Fehler, unerkannter Modifikator (%c)"
 
-#: riscv-dis.c:496
+#: riscv-dis.c:498
 #, c-format
 msgid ""
 "\n"
@@ -1669,16 +2018,16 @@ msgstr ""
 "mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch\n"
 "Kommata getrennt werden):\n"
 
-#: riscv-dis.c:500
+#: riscv-dis.c:502
 #, c-format
 msgid ""
 "\n"
-"  numeric       Print numeric reigster names, rather than ABI names.\n"
+"  numeric       Print numeric register names, rather than ABI names.\n"
 msgstr ""
 "\n"
 "  numeric       Numerische Registernamen statt ABI-Namen ausgeben.\n"
 
-#: riscv-dis.c:503
+#: riscv-dis.c:505
 #, c-format
 msgid ""
 "\n"
@@ -1701,7 +2050,12 @@ msgstr "Im z/-Architektur-Modus disassem
 msgid "Print unknown instructions according to length from first two bits"
 msgstr "Unbekannte Befehle anhand ihrer LÃ¤nge aus den ersten beiden Bits ausgeben"
 
-#: s390-dis.c:409
+#: s390-dis.c:76
+#, c-format
+msgid "unknown S/390 disassembler option: %s"
+msgstr "Unbekannte S/390-Disassembler-Option: %s"
+
+#: s390-dis.c:410
 #, c-format
 msgid ""
 "\n"
@@ -1718,36 +2072,31 @@ msgstr ""
 msgid "<illegal instruction>"
 msgstr "<ungÃ¼ltiger Maschinenbefehl>"
 
-#: sparc-dis.c:309
+#: sparc-dis.c:308 sparc-dis.c:318
 #, c-format
-msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr "Interner Fehler: UngÃ¼ltiger SPARC-Opcode: \"%s\", %#.8lx, %#.8lx\n"
+msgid "internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
+msgstr "internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
 
-#: sparc-dis.c:320
+#: sparc-dis.c:377
 #, c-format
-msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr "Interner Fehler: UngÃ¼ltiger SPARC-Opcode: \"%s\", %#.8lx, %#.8lx\n"
-
-#: sparc-dis.c:379
-#, c-format
-msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
-msgstr "Interner Fehler: UngÃ¼ltiger SPARC-Opcode: \"%s\" == \"%s\"\n"
+msgid "internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
+msgstr "internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
 
 #  Mark as non-valid instruction.
 #. Mark as non-valid instruction.
-#: sparc-dis.c:1100
+#: sparc-dis.c:1098
 msgid "unknown"
 msgstr "unbekannt"
 
 #: v850-dis.c:453
 #, c-format
-msgid "unknown operand shift: %x\n"
-msgstr "Unbekannte Operandenverschiebung: %x\n"
+msgid "unknown operand shift: %x"
+msgstr "Unbekannte Operandenverschiebung: %x"
 
-#: v850-dis.c:465
+#: v850-dis.c:469
 #, c-format
-msgid "unknown reg: %d\n"
-msgstr "Unbekanntes Register: %d\n"
+msgid "unknown reg: %d"
+msgstr "Unbekanntes Register: %d"
 
 #  The functions used to insert and extract complicated operands.
 #  Note: There is a conspiracy between these functions and
@@ -1840,70 +2189,116 @@ msgstr ""
 "Die folgenden WebAssembly-spezifischen Disassembleroptionen werden in\n"
 "Kombination mit dem Schalter Â»-MÂ« unterstÃ¼tzt:\n"
 
-#: xc16x-asm.c:65
+#: xc16x-asm.c:66
 msgid "Missing '#' prefix"
 msgstr "Das Â»#Â«-PrÃ¤fix felht"
 
-#: xc16x-asm.c:81
+#: xc16x-asm.c:82
 msgid "Missing '.' prefix"
 msgstr "Das Â».Â«-PrÃ¤fix fehlt"
 
-#: xc16x-asm.c:97
+#: xc16x-asm.c:98
 msgid "Missing 'pof:' prefix"
 msgstr "Das Â»pof:Â«-PrÃ¤fix fehlt"
 
-#: xc16x-asm.c:113
+#: xc16x-asm.c:114
 msgid "Missing 'pag:' prefix"
 msgstr "Das Â»pag:Â«-PrÃ¤fix fehlt"
 
-#: xc16x-asm.c:129
+#: xc16x-asm.c:130
 msgid "Missing 'sof:' prefix"
 msgstr "Das Â»sof:Â«-PrÃ¤fix fehlt"
 
-#: xc16x-asm.c:145
+#: xc16x-asm.c:146
 msgid "Missing 'seg:' prefix"
 msgstr "Das Â»seg:Â«-PrÃ¤fix fehlt"
 
-#: xstormy16-asm.c:70
+#: xc16x-desc.c:3349
+#, c-format
+msgid "internal error: xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: xc16x-desc.c:3432
+#, c-format
+msgid "internal error: xc16x_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: xc16x_cgen_cpu_open: unsupported argument `%d'"
+
+#: xc16x-desc.c:3451
+#, c-format
+msgid "internal error: xc16x_cgen_cpu_open: no endianness specified"
+msgstr "internal error: xc16x_cgen_cpu_open: no endianness specified"
+
+#: xstormy16-asm.c:71
 msgid "Bad register in preincrement"
 msgstr "UngÃ¼ltiges Register beim Pre-Increment"
 
-#: xstormy16-asm.c:75
+#: xstormy16-asm.c:76
 msgid "Bad register in postincrement"
 msgstr "UngÃ¼ltiges Register beim Post-Increment"
 
-#: xstormy16-asm.c:77
+#: xstormy16-asm.c:78
 msgid "Bad register name"
 msgstr "Falscher Registername"
 
-#: xstormy16-asm.c:81
+#: xstormy16-asm.c:82
 msgid "Label conflicts with register name"
 msgstr "Sprungmarke vertrÃ¤gt sich nicht mit dem Registername"
 
-#: xstormy16-asm.c:85
+#: xstormy16-asm.c:86
 msgid "Label conflicts with `Rx'"
 msgstr "Sprungmarke vertrÃ¤gt sich nicht mit Â»RxÂ«"
 
-#: xstormy16-asm.c:87
+#: xstormy16-asm.c:88
 msgid "Bad immediate expression"
 msgstr "UngÃ¼ltiger Direktausdruck"
 
-#: xstormy16-asm.c:108
+#: xstormy16-asm.c:109
 msgid "No relocation for small immediate"
 msgstr "Keine Verlagerung fÃ¼r kleine Direktwerte"
 
-#: xstormy16-asm.c:118
+#: xstormy16-asm.c:119
 msgid "Small operand was not an immediate number"
 msgstr "Kleiner Operand war keine Direktzahl"
 
-#: xstormy16-asm.c:156
+#: xstormy16-asm.c:157
 msgid "Operand is not a symbol"
 msgstr "Operand muss ein Symbol sein"
 
-#: xstormy16-asm.c:164
+#: xstormy16-asm.c:165
 msgid "Syntax error: No trailing ')'"
 msgstr "Syntaxfehler: Kein abschlieÃŸendes Â»)Â«"
 
+#: xstormy16-desc.c:1317
+#, c-format
+msgid "internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+
+#: xstormy16-desc.c:1400
+#, c-format
+msgid "internal error: xstormy16_cgen_cpu_open: unsupported argument `%d'"
+msgstr "internal error: xstormy16_cgen_cpu_open: unsupported argument `%d'"
+
+#: xstormy16-desc.c:1419
+#, c-format
+msgid "internal error: xstormy16_cgen_cpu_open: no endianness specified"
+msgstr "internal error: xstormy16_cgen_cpu_open: no endianness specified"
+
+#~ msgid "Internal disassembler error"
+#~ msgstr "Interner Disassemblerfehler"
+
+#~ msgid "can't cope with insert %d\n"
+#~ msgstr "Kann nicht mit Â»inserv %dÂ« umgehen.\n"
+
+#  Couldn't understand anything.
+#~ msgid "%02x\t\t*unknown*"
+#~ msgstr "%02x\t\t*unbekannt*"
+
+#~ msgid "# <dis error: %08lx>"
+#~ msgstr "# <Disassemblierungsfehler: %08lx>"
+
+#~ msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
+#~ msgstr "Interner Fehler: UngÃ¼ltiger SPARC-Opcode: \"%s\", %#.8lx, %#.8lx\n"
+
 #~ msgid "Illegal limm reference in last instruction!\n"
 #~ msgstr "UngÃ¼ltige limm-Referenz in der letzten Anweisung!\n"
 
@@ -1913,12 +2308,6 @@ msgstr "Syntaxfehler: Kein abschlieÃŸend
 #~ msgid "auxiliary register not allowed here"
 #~ msgstr "Hilfsregister ist an dieser Stelle nicht erlaubt"
 
-#~ msgid "attempt to set readonly register"
-#~ msgstr "Versuch, ein schreibgeschÃ¼tztes Register zu beschreiben"
-
-#~ msgid "attempt to read writeonly register"
-#~ msgstr "Versuch, ein lesegeschÃ¼tztes Register zu auszulesen"
-
 #~ msgid "too many long constants"
 #~ msgstr "Zu viele lange Konstanten"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/es.gmo ./opcodes/po/es.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/es.gmo	2018-07-03 02:10:51.000000000 +0000
+++ ./opcodes/po/es.gmo	2018-07-10 02:10:39.000000000 +0000
@@ -1,35 +1,65 @@
-Þ•öÌK|¨©L«Kø½Du‘x 
-k«}[•�ñ[ŽÛ”j(ÿ(((Q1zB¬%ï%3;(o(˜2ÁEô?:(z1£Õ9ê9$:^:™3Ô4)=gt"„%§/Í.ý$, Q o 
{ ‰ £ 	½ Ç 	ã í !!1!E!(c!Œ!¢!¹!Ù!ø!","J"g"y"=˜"&Ö"*ý"(#
-@#DK#C�#+Ô#&$'$=$,X$%…$)«$%Õ$!û$!%$?%d%:€%1»%9í%6'&^&u&"�&²&Å&Ø&î&''!0'R''m''•'½'7Õ'
("((#K(o()Œ(/¶(æ(.)3)I)%[)#�)+¥)+Ñ)1ý)1/*%a*+‡*1³*1å*+!3+%U+"{+*ž+É+è+",), @,/a,#‘,µ,Í,è,ý, -%7-]-v-+‹-·-Ñ-í-%.$..S.0n.0Ÿ.#Ð.7ô.!,/!N/5p/"¦/+É/ õ/ 0 70X0+x02¤02×0)
-1#41X1s1ƒ1ž1¾1Ü1ú12"62Y2y2–2§2Ä2Ý2ø2	3 3832K3%~3¤3º3&×3þ34-4J4^4r4ƒ4�4!›4;½4ù4%5+=5/i5™5²5&Ñ52ø52+62^64‘6,Æ6ó6)
777(V7%7¥7!Â7+ä785*8`8q8-Š8;¸8ô89/$99T9	Ž9˜9 9°9À9Ø9ó9 :%:&>:«e:<Q<Pe<Ó¶<‰Š=£>È¸>w�?Œù?m†@£ô@a˜A¤úAžŸB6>C6uC6¬C:ãCLD1kD1�D6ÏD(E(/E;XEO”EJäE(/F4XF"�FF°FF÷FG>GG†G7ÎG:H-AHoH~H$’H'·H6ßH5I-LI&zI¡I­I#¹I#ÝI
J#J
3J'AJiJ‚J˜J"¬J=ÏJ
K'K0EK,vK£KÃK&áK%L.L"JLTmL3ÂL1öL(M
->MbIM`¬M,
N':NbN$~N5£N-ÙN1O-9O)gO)‘O,»O èO>	P5HP=~P=¼P"úP%Q6CQzQ�Q¤Q¼QÔQìQ*R#/R:SR:ŽRÉR9çR#!S$ES%jS$�S-µSBãS&&T4MT‚T¡T0·T6èT0U2PU9ƒU9½U-÷U.%V<TV<‘V*ÎV&ùV= W%^W,„W+±W5ÝW/XCX0cX<”X(ÑXúX Y#9Y]Y.{Y@ªY%ëY'ZL9Z.†Z$µZ!ÚZ*üZ)'[&Q[;x[<´[/ñ[B!\)d\+Ž\Bº\.ý\2,](_](ˆ](±]'Ú]6^=9^=w^4µ^<ê^&'_N_f_'€_&¨_&Ï_&ö_&`+D`'p`'˜`À`%Ù`ÿ`a8aLa!ia‹a<§a,äab".b,Qb~b#•b2¹bìbc$c9cFc,Sc?€c"Àc.ãc5d9Hd‚d"Ÿd:Âd6ýd64e6ke6¢e0Ùe
-f2#f,Vf1ƒf3µf#éf$
g82g#kgA�gÑg(ægDh[Th°hËh5åhLihiti€i”i¨i+Æiòi'j4j/Sjö|T ä“õ
óxàV©O4ˆé‰	Ÿµ×(ô0«ŠfI²¬Us¼›a&‘o±€p¹6W„š`Ð˜,ç{Ç1zÀÞÄnmwïÁÕN)ƒ=È�}´MážÅKF!�A"‹ßk¤·ií½_¾Ì³Ø¶Ù;­ð3P¦�ÂÆeB§Y%ÔXã.RJhqÏ”ær—yCvb®•Òñ #tH™9\8$œ[ÓG»@Íl*+:]ª2^Öè~>�ò5dºŒS/E¯j†uÎì°
-ZcQ’åÊDg¢¨Ë�ÛÉ'…Ú–¥7ë<¡Ñê-Ã¸‡¿?â£ÝL‚îÜŽ
+Þ•s´óLLKh4´½é3§ uÛ �Q!µâ!8˜"=Ñ"7#tG#F¼#k$}o$Kí$w9%�±%‰B&[Ì&�('[¶'�(Ž¢(”1)‰Æ)(P*(y*(¢*/Ë*1û*B-+%p+%–+1¼+.î+?,<],?š,CÚ,(-(G-2p-E£-1é-9.1U.?‡.(Ç.ð.)/.//^/k/"{/%ž//Ä/.ô/$#0H0f0
r0€0›0¶0Ð0	ê0ô0	1151P1c1y1�1(«1Ô1ê12 !2B2a2|2•2³2Ð2â2=3&?3f3u3$’3"·3*Ú3443<4p4
+ƒ4DŽ4CÓ4+5&C5%j5)�5%º5!à5!6$$6I6:e61 69Ò667C78Z7“7"­7Ð7ã7ö78"888N8!f8ˆ8'£8'Ë8ó879BC9†9"¡9#Ä9è9::4:!N:5p:&¦:'Í:/õ:)%;/O;;b�;.</<G<c<~<”<)¦<%Ð<#ö<%=+@=+l=1˜=1Ê=%ü=+">1N>1€>²>!Î>%ð>?<*?g?#†?2ª?"Ý?*@++@ W@x@—@/²@â@ú@A .AOAhA+}A©AÃAßA%úA$ BEB0`B0‘B#ÂB*æB%C77C!oC!‘C5³C"éC+D 8D YD zD›D+»D2çD2E)MEwE�E)¤E!ÎE'ðE'F'@FhF€F�F¨FÃFÙFùFG5GSGqG‚G"™G¼G"ÌGïGH,HDHaH!~H H¹H ËHìHI!I<IMIdI%‚I¨I»IÍI2ÜI0J+@J.lJ1›JÍJëJ%üJ"K8K(NK%wK&�KÄK&ÜK L$L9L)PL%zL L½LÑL&äLM'M;M&OMvM‚MŽM!¦MÈM;ÙMN
+3N$>N%cN+‰N/µN+åNO*O&IOpO2„O2·O2êO4P,RPP)™PÃPÒP(ñPQ9Q!UQ wQ˜Q¯QÆQÚQòQ
+RR3RGR[RoR(ƒR%¬RÒRâRÿR!S+7S'cS‹S«SÅSÒSïST%(TNTeT5}T³T-ÓT;U/=U	mUwU”UœU¬U¼UÔUïU V!V:V#YV"}V" V ÃVäVýVW0W&HWoW‹W›WÇªWrYQtYPÆY9ZÓQZA%[‰g[Ÿñ[Í‘\8_]I˜]9â]€^F�^wä^Œ\_Né_s8`¦¬`£Sam÷a£eba	c¨kc£dž¸d·We6f6Ff6}f5´f:êfL%g1rg1¤g1Ög.h?7h=whCµhOùh(Ii(ri;›iO×i;'j:cj1žjJÐj(k"Dk-gk0•kÆkÕk$ék'l66l5ml-£l&Ñlølmm+m#Fm#jm
Žm#œm
Àm'Îm#ömn3nIn"]n=€n¾nØn0ön!'o,Io!vo˜o(¸o'áo	p"'pTJp3ŸpÓp#âp'q".q.Qq€q$“q=¸qöq
+
+r]resr,Ùr's-.s1\s-Žs)¼s)æs,t =t?^t7žt?Öt=u!TuFvu%½u6ãuv3vLvhv„v v¼v*Üv#w:+w:fw¡w9¿wUùw#Ox$sx%˜x$¾xãxy%y0ByDsy7¸y.ðy>z*^zB‰z%Ìzwòz5j{ {·{×{ö{|1+|+]|1‰|-»|+é|.}5D}5z})°}0Ú}8~8D~*}~&¨~2Ï~D`~2ž%Ñ,÷+$€"P€+s€Ÿ€E»€�"!�D�.b�%‘�'·�Lß�.,‚$[‚!€‚*¢‚)Í‚&÷‚;ƒ<Zƒ/—ƒ8Çƒ1„<2„)o„+™„BÅ„.…/7…(g…(�…(¹…'â…7
+†>B†>�†.À†ï†
+‡*‡ G‡&h‡&�‡&¶‡Ý‡ø‡ˆ"*ˆMˆ$hˆ&�ˆ&´ˆ&Ûˆ&‰)‰B‰-[‰‰‰+™‰'Å‰'í‰Š-Š%MŠ(sŠœŠ¶Š'ÉŠ!ñŠ‹2‹O‹b‹~‹%�‹Ã‹Þ‹õ‹@
Œ6NŒ1…Œ4·Œ8ìŒ"%�H�+Z�†�¢�/¾�-î�.ŽKŽ+hŽ ”ŽµŽÍŽ8åŽ*�I�i��)”�¾�Ü�ô�"�4�@�L�+g�“�?¤�"ä�
‘+‘.A‘9p‘=ª‘9è‘"’"?’:b’�’6±’6è’6“6V“0�“¾“2Ù“”,”1K”!}”Ÿ”&¾”"å”•%•@•X•t•�•©•Á•Ù•ñ•	–.!–1P–‚–#™–½–$Õ–8ú–+3—!_—#�—¥—´—Ó—ò—*˜;˜T˜@l˜%­˜DÓ˜[™7t™
+¬™·™Õ™á™õ™	š+%šQš'fšŽš$­š'Òš&úš&!›$H›m›�›ª›È›/æ›%œ<œOœ¯®aÜ;Y_ÍÚ�r€R]$ëXQ
+ó81
‡cZ4rsVP6i|žBBDEìà¹^W*]É"f³*Ð)ƒ¢	\ùXD‰¤J²û%låÄˆîT‚#FðgK<[n	kÑP›¡©ÁZbËÊ>I3)/,j}éL÷'1H.gQ�×N½-5bÛ:üÕR–@2ï·GØ-«Ï<…et“M`èÂñç(¿h; 'ÿÎq~{\=þ6—Š¦2äd
Ô`E™¾•?+Ò»‘ŒkºãlJ0oHU&.!”u=§öí’(9µªA778SšC:W%p#ŸpaõfænÖ4˜T±�Ç_/d ­UOêm¼¬È„A°áI
+wS¸FúL¨KmNÆx Ã�eÌ[¥VÙho9"Y$c0MGÅ+Ó^s¶ô,Žq£jâO´5?ß3�‹ÞÀœýi>&ø†zyÝ!òv@C
 
   For the options above, The following values are supported for "ARCH":
    
   For the options above, the following values are supported for "ABI":
    
+  aliases            Do print instruction aliases.
+
   cp0-names=ARCH           Print CP0 register names according to
                            specified architecture.
                            Default: based on binary being disassembled.
 
+  debug_dump         Temp switch for debug trace.
+
   fpr-names=ABI            Print FPR names according to specified ABI.
                            Default: numeric.
 
-  gpr-names=ABI            Print GPR names according to  specified ABI.
+  gpr-names=ABI            Print GPR names according to specified ABI.
                            Default: based on binary being disassembled.
 
   hwr-names=ARCH           Print HWR names according to specified 
-			   architecture.
+                           architecture.
                            Default: based on binary being disassembled.
 
+  msa                      Recognize MSA instructions.
+
+  no-aliases               Use canonical instruction forms.
+
+  no-aliases         Don't print instruction aliases.
+
+  no-aliases    Disassemble only into canonical instructions, rather
+                than into pseudoinstructions.
+
+  numeric       Print numeric register names, rather than ABI names.
+
   reg-names=ABI            Print GPR and FPR names according to
                            specified ABI.
 
   reg-names=ARCH           Print CP0 register and HWR names according to
                            specified architecture.
 
+  virt                     Recognize the virtualization ASE instructions.
+
+  xpa                      Recognize the eXtended Physical Address (XPA)
+                           ASE instructions.
+
+The following AARCH64 specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
+The following ARC specific disassembler options are supported for use 
+with -M switch (multiple options should be separated by commas):
+
 The following ARM specific disassembler options are supported for use with
 the -M switch:
 
@@ -39,49 +69,67 @@ with the -M switch (multiple options sho
 The following PPC specific disassembler options are supported for use with
 the -M switch:
 
+The following RISC-V-specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
 The following S/390 specific disassembler options are supported for use
 with the -M switch (multiple options should be separated by commas):
 
 The following i386/x86-64 specific disassembler options are supported for use
 with the -M switch (multiple options should be separated by commas):
-  addr16      Assume 16bit address size
+
+Warning: disassembly may be wrong due to guessed opcode class choice.
+Use -M<class[,class]> to select the correct opcode class(es).
+				  addr16      Assume 16bit address size
   addr32      Assume 32bit address size
   addr64      Assume 64bit address size
+  amd64       Display instruction in AMD64 ISA
   att         Display instruction in AT&T syntax
   att-mnemonic
               Display instruction in AT&T mnemonic
   data16      Assume 16bit data size
   data32      Assume 32bit data size
-  esa         Disassemble in ESA architecture mode
+  dpfp            Recognize FPX DP instructions.
+  dsp             Recognize DSP instructions.
+  fpud            Recognize double precision FPU instructions.
+  fpuda           Recognize double assist FPU instructions.
+  fpus            Recognize single precision FPU instructions.
+  hex             Use only hexadecimal number to print immediates.
   i386        Disassemble in 32bit mode
   i8086       Disassemble in 16bit mode
   intel       Display instruction in Intel syntax
   intel-mnemonic
               Display instruction in Intel mnemonic
+  intel64     Display instruction in Intel64 ISA
+  quarkse_em      Recognize FPU QuarkSE-EM instructions.
+  spfp            Recognize FPX SP instructions.
   suffix      Always display instruction suffix in AT&T syntax
   x86-64      Disassemble in 64bit mode
-  zarch       Disassemble in z/Architecture mode
-# <dis error: %08lx># internal disassembler error, unrecognised modifier (%c)# internal disassembler error, unrecognized modifier (%c)# internal disassembler error, unrecognized modifier (+%c)# internal disassembler error, unrecognized modifier (m%c)# internal error, incomplete extension sequence (+)# internal error, undefined extension sequence (+%c)# internal error, undefined modifier (%c)$<undefined>%02x		*unknown*%d unused bits in i386_cpu_flags.
+# <dis error: %08lx># internal error, undefined modifier (%c)# internal error, undefined operand in `%s %s'$<undefined>%02x		*unknown*%d unused bits in i386_cpu_flags.
 %d unused bits in i386_operand_type.
 %dsp16() takes a symbolic address, not a number%dsp8() takes a symbolic address, not a number%s: %d: Missing `)' in bitfield: %s
 %s: %d: Unknown bitfield: %s
-%s: Error: %s: Warning: (DP) offset out of range.(SP) offset out of range.(unknown)*unknown operands type: %d**unknown*21-bit offset out of range<function code %d><illegal instruction><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
+%s: Error: %s: Warning: 'LSL' operator not allowed'ROR' operator not allowed(DP) offset out of range.(SP) offset out of range.(unknown)*unknown operands type: %d**unknown*21-bit offset out of range64-bit address is disabled<function code %d><illegal instruction><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
 <unknown register %d>ABORT: unknown operandAddress 0x%s is out of bounds.
-Attempt to find bit index of 0Bad case %d (%s) in %s:%d
-Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameBiiiig Trouble in parse_imm16!Bit number for indexing general register is out of range 0-15Byte address required. - must be even.Don't know how to specify # dependency %s
+Assume all insns are Thumb insnsAttempt to find bit index of 0Bad case %d (%s) in %s:%d
+Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameBiiiig Trouble in parse_imm16!Bit number for indexing general register is out of range 0-15Byte address required. - must be even.CpuMax != %d!
+Disassemble "register" namesDisassemble in ESA architecture modeDisassemble in z/Architecture modeDon't know how to specify # dependency %s
 Don't understand 0x%x 
-Hmmmm 0x%xIC note %d for opcode %s (IC:%s) conflicts with resource %s note %d
+Error: read from memory failedExamine preceding label to determine an insn's typeGPR odd is illegalHmmmm 0x%xIC note %d for opcode %s (IC:%s) conflicts with resource %s note %d
 IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d
 IC:%s [%s] has no terminals or sub-classes
 IC:%s has no terminals or sub-classes
-Illegal as 2-op instrIllegal as emulation instrIllegal limm reference in last instruction!
 Immediate is out of range -128 to 127Immediate is out of range -32768 to 32767Immediate is out of range -512 to 511Immediate is out of range -7 to 8Immediate is out of range -8 to 7Immediate is out of range 0 to 65535Internal disassembler errorInternal error:  bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
 Internal error: bad sparc-opcode.h: "%s" == "%s"
 Internal error: bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
-Internal: Non-debugged code (test-case missing): %s:%dInvalid size specifierLabel conflicts with `Rx'Label conflicts with register nameMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixNo relocation for small immediateNot a pc-relative address.Only $sp or $15 allowed for this opcodeOnly $tp or $13 allowed for this opcodeOperand is not a symbolOperand out of range. Must be between -32768 and 32767.Register list is not validRegister must be between r0 and r7Register must be between r8 and r15Register number is not validSmall operand was not an immediate numberSpecial purpose register number is out of rangeSyntax error: No trailing ')'The percent-operator's operand is not a symbolUnknown bitfield: %s
+Internal: Non-debugged code (test-case missing): %s:%dInvalid size specifierLP_COUNT register cannot be used as destination registerLabel conflicts with `Rx'Label conflicts with register nameMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixName well-known globalsNo relocation for small immediateNot a pc-relative address.Only $sp or $15 allowed for this opcodeOnly $tp or $13 allowed for this opcodeOperand is not a symbolOperand out of range. Must be between -32768 and 32767.Print unknown instructions according to length from first two bitsRegister list is not validRegister must be between r0 and r7Register must be between r8 and r15Register number is not validSR/SelID is out of rangeSelID is out of rangeSelect raw register namesSelect register names used by GCCSelect register names used in ARM's ISA documentationSelect register names used in the APCSSelect register names used in the ATPCSSelect special register names used in the ATPCSSmall operand was not an immediate numberSpecial purpose register number is out of rangeSyntax error: No trailing ')'The following WebAssembly-specific disassembler options are supported for use
+with the -M switch:
+The percent-operator's operand is not a symbolUIMM = 00000 is illegalUIMM values >15 are illegalUIMM values >7 are illegalUnknown bitfield: %s
 Unknown error %d
+Unrecognised disassembler CPU option: %s
 Unrecognised disassembler option: %s
 Unrecognised register name set: %s
+Unrecognized disassembler option: %s
 Unrecognized field %d while building insn.
 Unrecognized field %d while decoding insn.
 Unrecognized field %d while getting int operand.
@@ -90,148 +138,197 @@ with the -M switch (multiple options sho
 Unrecognized field %d while printing insn.
 Unrecognized field %d while setting int operand.
 Unrecognized field %d while setting vma operand.
-Value is not aligned enoughValue of A operand must be 0 or 1W keyword invalid in FR operand slot.Warning: rsrc %s (%s) has no chks
+Value is not aligned enoughValue of A operand must be 0 or 1W keyword invalid in FR operand slot.W register expectedWarning: disassembly unreliable - not enough bytes availableWarning: illegal as 2-op instrWarning: illegal as emulation instrWarning: reserved use of A/L and B/W bits detectedWarning: rsrc %s (%s) has no chks
 Warning: rsrc %s (%s) has no chks or regs
-address register in load rangeaddress writeback not allowedattempt to read writeonly registerattempt to set HR bitsattempt to set readonly registerattempt to set y bit when using + or - modifierauxiliary register not allowed herebad instruction `%.50s'bad instruction `%.50s...'bad jump flags valuebit,base is out of rangebit,base out of range for symbolbranch address not on 4 byte boundarybranch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangebyte relocation unsupportedcan't cope with insert %d
+Warning: unrecognised CALLA addressing modeaccepted values are from -1 to 6address register in load rangeaddress writeback expectedattempt to set y bit when using + or - modifierbad instruction `%.50s'bad instruction `%.50s...'bit,base is out of rangebit,base out of range for symbolbranch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangebyte relocation unsupportedcan't cope with insert %d
 can't create i386-init.h, errno = %s
 can't create i386-tbl.h, errno = %s
 can't find %s for reading
 can't find i386-opc.tbl for reading, errno = %s
 can't find i386-reg.tbl for reading, errno = %s
 can't find ia64-ic.tbl for reading
-cgen_parse_address returned a symbol. Literal required.class %s is defined but not used
+cannot use odd number destination registercannot use odd number source registercgen_parse_address returned a symbol. Literal required.class %s is defined but not used
 displacement value is not aligneddisplacement value is not in range and is not aligneddisplacement value is out of rangedon't know how to specify %% dependency %s
-dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeexpecting got relative address: got(symbol)expecting got relative address: gotoffhi16(symbol)expecting got relative address: gotofflo16(symbol)expecting gp relative address: gp(symbol)flag bits of jump address limm lostignoring invalid mfcr maskillegal bitmaskillegal use of parenthesesimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeimpossible storeindex register in load rangeinvalid %function() hereinvalid conditional optioninvalid constantinvalid counter accessinvalid load/shimm insninvalid mask fieldinvalid operand.  type may have values 0,1,2 only.invalid register for stack adjustmentinvalid register nameinvalid register number `%d'invalid register operand when updatinginvalid sprg numberjump flags, but no .f seenjump flags, but no limm addrjump hint unalignedjunk at end of lineld operand errormissing `)'missing `]'missing mnemonic in syntax stringmost recent format '%s'
+dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeexpecting got relative address: got(symbol)expecting got relative address: gotoffhi16(symbol)expecting got relative address: gotofflo16(symbol)expecting gp relative address: gp(symbol)extend operator expectedextraneous registerfirst register of the range should be r13floating-point immediate expectedfloating-point value must be 0.0 or 1.0floating-point value must be 0.5 or 1.0floating-point value must be 0.5 or 2.0illegal L operand valueillegal bitmaskillegal immediate valueillegal use of parenthesesimm10 is out of rangeimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate offsetimmediate out of rangeimmediate too big for element sizeimmediate valueimmediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeimmediate zero expectedincompatible L operand valueindex register in load rangeindex register xzr is not allowedinvalid %function() hereinvalid Ddd valueinvalid address type for operandinvalid addressing modeinvalid arithmetic immediateinvalid conditional optioninvalid constantinvalid counter accessinvalid extend/shift operatorinvalid immediate, must be 1, 2, or 4invalid mask fieldinvalid mfcr maskinvalid offsetinvalid operand.  type may have values 0,1,2 only.invalid position, should be 0, 16, 32, 48 or 64.invalid position, should be 0, 8, 16, or 24invalid position, should be 16, 32, 64 or 128.invalid position, should be one of: 0,4,8,...124.invalid post-increment amountinvalid registerinvalid register for stack adjustmentinvalid register listinvalid register nameinvalid register number, should be blinkinvalid register number, should be fpinvalid register number, should be pclinvalid register offsetinvalid register operand when updatinginvalid replicated MOV immediateinvalid shift amountinvalid shift operatorinvalid size value must be on range 1-64.invalid size, should be 1, 2, 4, or 8invalid size, value must be invalid sprg numberinvalid tbr numberinvalid value for CMEM ld/st immediateinvalid value for immediatejump hint unalignedjunk at end of linelast register of the range doesn't fitmissing `)'missing `]'missing extend operatormissing mnemonic in syntax stringmissing registermost recent format '%s'
 appears more restrictive than '%s'
 multiple note %s not handled
-must specify .jd or no nullify suffixno insns mapped directly to terminal IC %s
-no insns mapped directly to terminal IC %s [%s]not a valid r0l/r0h pairoffset(IP) is not a valid formopcode %s has no class (ops %d %d %d)
-operand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)operand out of range (0x%lx not between 0 and 0x%lx)operand out of range (not between 1 and 255)overlapping field %s->%s
+multipliernegative immediate value not allowednegative or unaligned offset expectedno insns mapped directly to terminal IC %s
+no insns mapped directly to terminal IC %s [%s]no shift amount allowed for 8-bit constantsnot a valid r0l/r0h pairoffset(IP) is not a valid formopcode %s has no class (ops %d %d %d)
+operand is not zerooperand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)operand out of range (0x%lx not between 0 and 0x%lx)operand out of range (not between 1 and 255)overlapping field %s->%s
 overwriting note %d with note %d (IC:%s)
-parse_addr16: invalid opindex.percent-operator operand is not a symbolregister name used as immediate valueregister number must be evenregister source in immediate moveregister unavailable for short instructionsrsrc %s (%s) has no regs
-source and target register operands must be differentst operand errorstore value must be zerosyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)too many long constantstoo many shimms in loadunable to change directory to "%s", errno = %s
-unable to fit different valued constants into instructionundefinedunknownunknown	0x%02lxunknown	0x%04lxunknown constraint `%c'unknown operand shift: %x
+p0-p7 expectedparse_addr16: invalid opindex.percent-operator operand is not a symbolposition value is out of rangereg pair must be contiguousreg pair must start from even regregister R30 is a limm indicatorregister element indexregister must be BLINKregister must be GPregister must be ILINK1register must be ILINK2register must be PCLregister must be R0register must be R1register must be R2register must be R3register must be SPregister must be either r0-r3 or r12-r15register name used as immediate valueregister numberregister number must be evenregister out of rangeregister source in immediate moveregister unavailable for short instructionsrotate expected to be 0, 90, 180 or 270rotate expected to be 90 or 270rsrc %s (%s) has no regs
+shift amountshift amount must be 0 or 12shift amount must be 0 or 16shift amount must be 0 or 8shift amount must be a multiple of 16shift is not permittedshift operator expectedsource and target register operands must be differentstack pointer register expectedsyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)unable to change directory to "%s", errno = %s
+undefinedunexpected address writebackunknownunknown	0x%02lxunknown	0x%04lxunknown constraint `%c'unknown operand shift: %x
 unknown reg: %d
-unrecognized form of instructionunrecognized instructionwarning: ignoring unknown -M%s option
-Project-Id-Version: opcodes 2.22.90
+unrecognized form of instructionunrecognized instructionvalue must be a multiple of 16value must be in the range 0 to 240value must be in the range 0 to 28value must be in the range 0 to 31value must be in the range 1 to value must be power of 2value out of range 1 - 256vector5 is out of rangevector8 is out of rangewarning: ignoring unknown -M%s option
+width value is out of rangez0-z15 expectedz0-z7 expectedProject-Id-Version: opcodes 2.30.0
 Report-Msgid-Bugs-To: bug-binutils@gnu.org
-POT-Creation-Date: 2011-11-02 12:03+0000
-PO-Revision-Date: 2012-07-27 17:17-0500
-Last-Translator: Cristian OthÃ³n MartÃ­nez Vera <cfuga@cfuga.mx>
-Language-Team: Spanish <es@li.org>
+POT-Creation-Date: 2018-01-13 13:44+0000
+PO-Revision-Date: 2018-04-01 17:33+0200
+Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>
+Language-Team: Spanish <es@tp.org.es>
 Language: es
-X-Bugs: Report translation errors to the Language-Team address.
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
+X-Bugs: Report translation errors to the Language-Team address.
+X-Generator: Poedit 2.0.4
 
 
   Para las opciones anteriores, se admiten los siguientes valores de "ARCH":
    
   Para las opciones anteriores, se admiten los siguientes valores de "ABI":
    
+  aliases            No escribir alias de instrucciÃ³n.
+
   cp0-names=ARCH           Muestra los nombres de registro CP0 de acuerdo a
                            la arquitectura especificada.
                            Por defecto: basado en el binario a desensamblar.
 
-  fpr-names=ABI            Muestra los nombres FPR de acuerdo a la ABI especificada.
+  debug_dump         intercambio temporal para trazo depurador.
+
+  fpr-names=ABI            Escribe los nombres FPR de acuerdo a la ABI especificada.
                            Por defecto: numÃ©rico.
 
-  gpr-names=ABI            Muestra los nombres GPR de acuerdo a la ABI especificada.
+  gpr-names=ABI            Escribe nombres GPR de acuerdo a la ABI especificada.
                            Por defecto: basado en el binario a desensamblar.
 
-  hwr-names=ARCH           Muestra los nombres HWR de acuerdo a la arquitectura 
-                           especificada.
-                           Por defecto: basado en el binario a desensamblar.
+  hwr-namess=ARCH           Escribe los nombres HWR de acuerdo
+                            a las arquitectura especificada.
+                           Por defecto: basado en binario siendo desensamblada.
+
+  msa                      Reconoce instrucciones MSA.
+
+  no-aliases               Utilizar formatos de instrucciÃ³n canÃ³nico.
+
+  no-aliases         No escribir instrucciones aliases.
 
-  reg-names=ABI            Muestra los nombres GPR y FPR de acuerdo a
+  no-aliases    Desensamblar solo dentro de instrucciones canÃ³nicas, mejor
+                que dentro de pseudoinstrucciones.
+
+  numÃ©rico       Escribe registro numÃ©rico, mejor que nombres ABI.
+
+  reg-names=ABI            Escribe los nombres GPR y FPR de acuerdo a
                            la ABI especificada.
 
-  reg-names=ARCH           Muestra el registro CP0 y los nombres HWR de acuerdo a
+  reg-names=ARCH           Escribe el registro CP0 y los nombres HWR de acuerdo a
                            la arquitectura especificada.
 
-Las siguientes opciones de desensamblador especÃ­ficas de ARM se admiten
+  virt                     Reconoce la virtualizaciÃ³n de instrucciones ASE.
+
+  xpa                      Reconoce instrucciones ASE eXtended Physical
+                           Address (XPA).
+
+Las siguientes opciones de desensamblador especÃ­ficas de AARCH64 se admiten
+para usarse con el interruptor -M (las opciones mÃºltiples se deben separar con
+comas):
+
+Se admiten las siguientes opciones de desensamblador especÃ­ficas de S/390
+para usarse con el interruptor -M (las opciones mÃºltiples deben separarse
+con comas):
+
+Se admiten las siguientes opciones de desensamblador especÃ­ficas de ARM
 para usarse con el interruptor -M:
 
-Las siguientes opciones de desensamblador especÃ­ficas de MIPS se admiten
-para usarse con el interruptor -M (las opciones mÃºltiples se deben separar con comas):
+Se admiten las siguientes opciones de desensamblador especÃ­ficas de MIPS
+para usarse con el interruptor -M (las opciones mÃºltiples se deben separar
+con comas):
 
-Las siguientes opciones de desensamblador especÃ­ficas de PPC se admiten con
+Se admiten las siguientes opciones de desensamblador especÃ­ficas de PPC con
 el interruptor -M:
 
-Las siguientes opciones de desensamblador especÃ­ficas de S/390 se admiten
-para usarse con el interruptor -M (las opciones mÃºltiples se deben
-separar con comas):
+Se admiten las siguientes opciones especificas del desensamblador RISC-V
+para emplearse con el interruptor -M (opciones mÃºltiples deberÃ­an ser
+separadas con comas):
+
+Se admiten las siguientes opciones de desensamblador especÃ­ficas de S/390
+para usarse con el interruptor -M (las opciones mÃºltiples deben separarse
+con comas):
 
 Se admiten las siguientes opciones de desensamblador especÃ­ficas de i386/x86-64
 con el interruptor -M (las opciones mÃºltiples se deben separar con comas):
-  addr16      Asume un tamaÃ±o de direcciÃ³n de 16bit
+
+Aviso: desensemblado quizÃ¡ estÃ¡ equivocado debido a clase de opcode adivinadas elegidas.
+Utilice .M<class[,class]> para seleccionar la clase correcta de cÃ³digo de operaciÃ³n.
+				  addr16      Asume un tamaÃ±o de direcciÃ³n de 16bit
   addr32      Asume un tamaÃ±o de direcciÃ³n de 32bit
   addr64      Asume un tamaÃ±o de direcciÃ³n de 64bit
-  att         Muestra las instrucciones con sintaxis AT&T
+  amd64       EnseÃ±a las instrucciones en AMD64 ISA
+  att         EnseÃ±a las instrucciones con sintaxis AT&T
   att-mnemonic
-              Muestra las instrucciones con mnemÃ³nicos AT&T
+              EnseÃ±a las instrucciones con mnemÃ³nicos AT&T
   data16      Asume un tamaÃ±o de datos de 16bit
   data32      Asume un tamaÃ±o de datos de 32bit
-  esa         Desensambla en modo de arquitectura ESA
+  dpfp            Reconoce instrucciones FPX DP.
+  dsp             Reconoce instrucciones DSP.
+  fpud            Reconoce instrucciones precisiÃ³n doble FPU.
+  fpuda           Reconoce instrucciones FPU doble asistida.
+  fpus            Reconoce instrucciones de precisiÃ³n simple FPU.
+  hex             Solo emplear nÃºmero hexadecimal para escrituras inmediatas.
   i386        Desensambla en modo 32bit
   i8086       Desensambla en modo 16bit
-  intel       Muestra las instrucciones con sintaxis Intel
+  intel       EnseÃ±a las instrucciones con sintaxis Intel
   intel-mnemonic
-              Muestra las instrucciones con mnemÃ³nicos Intel
+              EnseÃ±a las instrucciones con mnemÃ³nicos Intel
+  intel64       EnseÃ±a instrucciÃ³n dentro de ISA Intel64
+  quarkse_em      Reconocer instrucciones FPU QuarkSE-EM.
+  spfp            Reconoce instrucciones FPX SP.
   suffix      Siempre muestra el sufijo de instrucciÃ³n con sintaxis AT&T
   x86-64      Desensambla en modo 64bit
-  zarch       Desensambla en modo de z/Architecture
-# <error de desensamblador: %08lx># error interno del desensamblador, no se reconoce el modificador (%c)# error interno del desensamblador, no se reconoce el modificador (%c)# error interno del desensamblador, no se reconoce el modificador (+%c)# error interno del desensamblador, no se reconoce el modificador (m%c)# error interno, secuencia de extensiÃ³n incompleta (+)# error interno, secuencia de extensiÃ³n sin definir (+%c)# error interno, modificador (%c) sin definir$<sin definir>%02x		*desconocido*%d bits sin usar en i386_cpu_flags.
+# <error de desensamblador: %08lx># error interno, modificador (%c) sin definir# error interno, operando indiefinido en `%s %s'$<sin definir>%02x		*desconocido*%d bits sin usar en i386_cpu_flags.
 %d bits sin usar en i386_operand_type.
 %dsp16() toma una direcciÃ³n simbÃ³lica, no un nÃºmero%dsp8() toma una direcciÃ³n simbÃ³lica, no un nÃºmero%s: %d: Falta un `)' en el campo de bits: %s
 %s: %d: Campo de bits desconocido: %s
-%s: Error: %s: Aviso: desplazamiento (DP) fuera de rango.desplazamiento (SP) fuera de rango.(desconocido)*tipo de operandos desconocido: %d**desconocida*desplazamiento de 21-bit fuera de rango<cÃ³digo de funciÃ³n %d><instrucciÃ³n ilegal><precisiÃ³n ilegal><error interno del desensamblador><error interno en la tabla de cÃ³digos de operaciÃ³n: %s %s>
+%s: Error: %s: Aviso: operador 'LSL' no admitidooperador 'ROR' no admitidodesplazamiento (DP) fuera de rango.desplazamiento (SP) fuera de rango.(desconocido)*tipo de operandos desconocido: %d**desconocida*desplazamiento de 21-bit fuera de rangodirecciÃ³n 64-bit estÃ¡ desactivada<cÃ³digo de funciÃ³n %d><instrucciÃ³n ilegal><precisiÃ³n ilegal><error interno del desensamblador><error interno en la tabla de cÃ³digos de operaciÃ³n: %s %s>
 <registro %d desconocido>ABORTAR: operando desconocidoLa direcciÃ³n 0x%s estÃ¡ fuera de los lÃ­mites.
-Se intentÃ³ encontrar un Ã­ndice de bit de 0Case %d errÃ³neo (%s) en %s:%d
-ExpresiÃ³n inmediata errÃ³neaRegistro errÃ³neo en el postincrementoRegistro errÃ³neo en el preincrementoNombre de registro errÃ³neoÂ¡Graaaan Problema en parse_imm16!El nÃºmero de bit para el registro general de indizaciÃ³n estÃ¡ fuera del rango 0-15Se requiere una direcciÃ³n de byte. - debe ser par.No se sabe cÃ³mo especificar la dependencia # %s
-No se entiende 0x%x 
-Hmmmm 0x%xla nota IC %d para el cÃ³digo de operaciÃ³n %s (IC:%s) tiene conflictos con el recurso %s nota %d
-la nota IC %d en el cÃ³digo de operaciÃ³n %s (IC:%s) tiene conflictos con el recurso %s nota %d
+Asume todos instns son Thum insnsSe intentÃ³ encontrar un Ã­ndice de bit de 0Case %d equivocado (%s) en %s:%d
+ExpresiÃ³n inmediata equivocadaRegistro equivocado en el postincrementoRegistro equivocado en el preincrementoNombre de registro equivocadoÂ¡Graaaan Problema en parse_imm16!El nÃºmero de bit para el registro general de indizaciÃ³n estÃ¡ fuera del rango 0-15Se requiere una direcciÃ³n de byte. - debe ser par.CpuMax != %d!
+Desensambla "registro" como nombresDesensambla en modo de arquitectura ESADesensambla en modo z/ArchitectureNo sabe cÃ³mo especificar la dependencia # %s
+No entiende 0x%x 
+Error: lectura desde memoria falladaExamina etiquetas precedentes para determinar un tipo de insnGPR impar es ilegalHmmmm 0x%xIC como nota %d para el cÃ³digo de operaciÃ³n %s (IC:%s) en conflicto con recurso %s nota %d
+IC como nota de %d en el cÃ³digo de operaciÃ³n %s (IC:%s) tiene conflictos con el recurso %s nota %d
 IC:%s [%s] no tiene terminales o sub-clases
 IC:%s no tiene terminales o sub-clases
-InstrucciÃ³n 2-op as ilegalInstrucciÃ³n de emulaciÃ³n as ilegalÂ¡Referencia limm ilegal en la Ãºltima instrucciÃ³n!
-El inmediato estÃ¡ fuera del rango -128 a 127El inmediato estÃ¡ fuera del rango -32768 a 32767El inmediato estÃ¡ fuera del rango -512 a 511El inmediato estÃ¡ fuera del rango -7 a 8El inmediato estÃ¡ fuera del rango -8 a 7El inmediato estÃ¡ fuera del rango 0 a 65535Error interno del desensambladorError interno:  sparc-opcode.h errÃ³neo: "%s", %#.8lx, %#.8lx
-Error interno: sparc-opcode.h errÃ³neo: "%s" == "%s"
-Error interno: sparc-opcode.h errÃ³neo: "%s", %#.8lx, %#.8lx
-Interno: CÃ³digo sin depurar (falta el caso de prueba): %s:%dEspecificador de tamaÃ±o invÃ¡lidoLa etiqueta tiene conflictos con `Rx'La etiqueta tiene conflictos con el nombre de registroFalta el prefijo '#'Falta el prefijo '.'Falta el prefijo 'pag:'Falta el prefijo 'pof:'Falta el prefijo 'seg:'Falta el prefijo 'sof:'No hay reubicaciones para inmediatos smallNo es una direcciÃ³n relativa a pc.SÃ³lo se permite $sp o $15 para este cÃ³digo de operaciÃ³nSÃ³lo se permite $tp o $13 para este cÃ³digo de operaciÃ³nEl operando no es un sÃ­mboloOperando fuera de rango. Debe estar entre -32768 y 32767.La lista de registros no es vÃ¡lidaEl registro debe estar entre r0 y r7El registro debe estar entre r8 y r15El nÃºmero de registro no es vÃ¡lidoEl operando small no era un nÃºmero inmediatoEl nÃºmero de registro de propÃ³sito especial estÃ¡ fuera de rangoError sintÃ¡ctico: No hay ')' al finalel operando de operador-porcentaje no es un sÃ­mboloCampo de bits desconocido: %s
+El inmediato estÃ¡ fuera del rango -128 a 127El inmediato estÃ¡ fuera del rango -32768 a 32767El inmediato estÃ¡ fuera del rango -512 a 511El inmediato estÃ¡ fuera del rango -7 a 8El inmediato estÃ¡ fuera del rango -8 a 7El inmediato estÃ¡ fuera del rango 0 a 65535Error interno del desensambladorError interno: sparc-opcode.h equivocado: "%s", %#.8lx, %#.8lx
+Error interno: sparc-opcode.h equivocado: "%s" == "%s"
+Error interno: sparc-opcode.h equivocado: "%s", %#.8lx, %#.8lx
+Interno: CÃ³digo sin depurar (falta el caso de prueba): %s:%dInvalida especificador de tamaÃ±oLP_COUNT del registro no puede ser empleado como registro destinatarioLa etiqueta tiene conflictos con `Rx'La etiqueta tiene conflictos con el nombre de registroAusente '#' como prefijoAusente '.' como prefijoAusente 'pag:' como prefijoAusente 'pof:' como prefijoAusente 'seg:' como prefijoAusente 'sof:' como prefijoNombres globales bien conocidosNo hay reubicaciones para inmediatos smallNo es una direcciÃ³n relativa a pc.SÃ³lo se permite $sp o $15 para este cÃ³digo de operaciÃ³nSÃ³lo se permite $tp o $13 para este cÃ³digo de operaciÃ³nEl operando no es un sÃ­mboloOperando fuera de rango. Debe estar entre -32768 y 32767.Escribe instrucciones desconocidas de acuerdo a longitud desde el primero de dos bitsLa lista de registros no es vÃ¡lidaEl registro debe estar entre r0 y r7El registro debe estar entre r8 y r15El nÃºmero de registro no es vÃ¡lidoSR/SelID estÃ¡ fuera de rangoSelID estÃ¡ fuera de rangoSeleccionar nombres de registro crudoSeleccione nombres de registro empleados por GCCSeleccione nombres de registro empleado en documentaciÃ³n ISA de ARMSeleccione nombres de registro empleados dentro de APCSSeleccione nombres de registro dentro de ATPCSSeleccione nombres de registro especiales empleado en el ATPCSOperando small no era un nÃºmero inmediatoEl nÃºmero de registro de propÃ³sito especial estÃ¡ fuera de rangoError sintÃ¡ctico: No termina con ')'Las siguientes opciones de desensamblador especÃ­ficas de WebAssembly son
+admitidas para usarse con el interruptor -M:
+El porcentaje operador del operando no es un sÃ­mboloUIMM = 00000 es ilegalUIMM valorados >15 son ilegalesUIMM valorados >7 son ilegalesCampo de bits desconocido: %s
 Error desconocido %d
-No se reconoce la opciÃ³n de desensamblador: %s
-No se reconoce el conjunto de nombres de registro: %s
-No se reconociÃ³ el campo %d al construir insn.
-No se reconociÃ³ el campo %d al decodificar insn.
-No se reconociÃ³ el campo %d al obtener el operando int.
-No se reconociÃ³ el campo %d al obtener el operando vma.
-No se reconociÃ³ el campo %d al decodificar.
-No se reconociÃ³ el campo %d al mostrar insn.
-No se reconociÃ³ el campo %d al establecer el operando int.
-No se reconociÃ³ el campo %d al establecer el operando vma.
-El valor no estÃ¡ suficientemente alineadoEl valor del operando A debe ser 0 o 1la palabra clave W es invÃ¡lida en la ranura del operando FR.Aviso: el rsrc %s (%s) no tiene chks
+OpciÃ³n CPU no reconocida del desensamblador: %s
+Irreconocida opciÃ³n de desensamblador: %s
+Irreconocido registro del conjunto de nombre: %s
+OpciÃ³n no reconocida del desensamblador: %s
+Irreconocido el campo %d al compilar insn.
+Irreconocido el campo %d al decodificar insn.
+Irreconocido el campo %d al obtener el operando int.
+Irreconocido el campo %d al obtener el operando vma.
+Irreconocido el campo %d al interpretar.
+Irreconocido el campo %d mientras escribe insn.
+Irreconocido el campo %d al establecer el operando int.
+Irreconocido el campo %d al establecer el operando vma.
+El valor no estÃ¡ suficientemente alineadoEl valor del operando A debe ser 0 o 1W como palabra clave invÃ¡lida en del operando FR.W como registro esperadoAviso: desensamblado no creÃ­ble - sin suficientes bytes disponiblesAviso: ilegal como instr 2-opAviso: ilegal como inst emuladaAviso: uso reserevado de A/L y B/W bits detectadosAviso: el rsrc %s (%s) no tiene chks
 Aviso: el rsrc %s (%s) no tiene chks o regs
-registro de direcciÃ³n en el rango de cargano se permite la escritura hacia atrÃ¡s de direcciÃ³nse intentÃ³ leer un registro de sÃ³lo escriturase intentÃ³ cambiar los bits HRse intentÃ³ cambiar un registro de sÃ³lo lecturaintento de establecer el bit y al usar el modificador + Ã³ -no se permite un registro auxiliar aquÃ­instrucciÃ³n errÃ³nea `%.50s'instrucciÃ³n errÃ³nea `%.50s...'valor de opciones de salto errÃ³neobit,base estÃ¡ fuera de rangobit,base estÃ¡ fuera de rango para el sÃ­mbolola direcciÃ³n de ramificaciÃ³n no estÃ¡ en un lÃ­mite de 4 bytesoperando de ramificaciÃ³n sin alinearramificaciÃ³n a un desplazamiento imparel valor de ramificaciÃ³n no estÃ¡ en rango e indica un desplazamiento imparel valor de ramificaciÃ³n estÃ¡ fuera de rangono se admite la reubicaciÃ³n de byteno se puede lidiar con insert %d
+Aviso: modo direccional CALLA no reconocidovalores aceptados son entre -1 a 6registro de direcciÃ³n en el rango de cargadirecciÃ³n trasera esperadaintento de establecer el bit y cuando utilice + Ã³ - como modificadorinstrucciÃ³n equivocada `%.50s'instrucciÃ³n equivocada `%.50s...'bit,base estÃ¡ fuera de rangobit,base estÃ¡ fuera de rango para el sÃ­mbolooperando de ramificaciÃ³n sin alinearramificaciÃ³n a un desplazamiento imparel valor de ramificaciÃ³n no estÃ¡ en rango e indica un desplazamiento imparel valor de ramificaciÃ³n estÃ¡ fuera de rangono se admite la reubicaciÃ³n de byteno se puede lidiar con insert %d
 no se puede crear i386-init.h, errno = %s
 no se puede crear i386-tbl.h, errno = %s
 no se puede encontrar %s para lectura
 no se puede encontrar i386-opc.tbl para lectura, errno =%s
 no se puede encontrar i386-reg.tbl para lectura, errno = %s
 no se puede encontrar ia64-ic.tbl para lectura
-cgen_parse_address devolviÃ³ un sÃ­mbolo. Se requiere una literal.se define la clase %s pero no se utiliza
-el valor de desubicaciÃ³n no estÃ¡ alineadoel valor de desubicaciÃ³n no estÃ¡ en el rango y no estÃ¡ alineadoel valor de desubicaciÃ³n estÃ¡ fuera de rangono se sabe cÃ³mo especificar la dependencia %% %s
-el inmediato dsp:16 estÃ¡ fuera de rangoel inmediato dsp:20 estÃ¡ fuera de rangoel inmediato dsp:24 estÃ¡ fuera de rangoel inmediato dsp:8 estÃ¡ fuera de rangose espera una direcciÃ³n relativa a got: got(sÃ­mbolo)se espera una direcciÃ³n relativa a got: gotoffhi16(sÃ­mbolo)se espera una direcciÃ³n relativa a got: gotofflo16(sÃ­mbolo)se espera una direcciÃ³n relativa a gp: gp(sÃ­mbolo)se perdieron los bits de opciÃ³n de direcciÃ³n de salto limmse descarta la mÃ¡scara mfcr invÃ¡lidamÃ¡scara de bits ilegaluso ilegal de parÃ©ntesisel inmediato imm:6 estÃ¡ fuera de rangoel inmediato estÃ¡ fuera del rango 0-7el inmediato estÃ¡ fuera del rango 1-2el inmediato estÃ¡ fuera del rango 1-8el inmediato estÃ¡ fuera del rango 2-9el valor inmediato no puede ser un registroel valor inmediato estÃ¡ fuera de rangoel valor inmediato estÃ¡ fuera de rangoalmacenamiento imposibleregistro Ã­ndice en el rango de carga%funcion() invÃ¡lida aquÃ­opciÃ³n condicional invÃ¡lidaconstante invÃ¡lidacontador de acceso invÃ¡lidoinstrucciÃ³n load/shimm invÃ¡lidacampo de mÃ¡scara invÃ¡lidooperando invÃ¡lid.  El tipo sÃ³lo puede tener valores 0,1,2.registro invÃ¡lido para el ajuste de la pilanombre de registro invÃ¡lidonÃºmero de registro `%d' invÃ¡lidooperando de registro invÃ¡lido al actualizarnÃºmero sprg invÃ¡lidoopciones de salto, pero no se ve .fopciones de salto, pero no hay una direcciÃ³n limmpista de salto sin alinearbasura al final de la lÃ­neaerror de operando ldfalta un `)'falta un `]'falta el mnemÃ³nico en la cadena sintÃ¡cticael formato mÃ¡s reciente '%s'
+no puede utilizar nÃºmero impar de registro destinatariono puede usar un nÃºmero impar de registro origencgen_parse_address devolviÃ³ un sÃ­mbolo. Requerido literal.se define la clase %s pero no se utiliza
+el valor de desubicaciÃ³n no estÃ¡ alineadoel valor de desubicaciÃ³n no estÃ¡ en el rango y no estÃ¡ alineadoel valor de desubicaciÃ³n estÃ¡ fuera de rangono sabe cÃ³mo especificar la dependencia %% %s
+el inmediato dsp:16 estÃ¡ fuera de rangoel inmediato dsp:20 estÃ¡ fuera de rangoel inmediato dsp:24 estÃ¡ fuera de rangoel inmediato dsp:8 estÃ¡ fuera de rangoesperando obtuvo una direcciÃ³n relativa: got(sÃ­mbolo)esperando obtuvo una direcciÃ³n relativa: gotoffhi16(sÃ­mbolo)esperando obtuvo una direcciÃ³n relativa: gotofflo16(sÃ­mbolo)esperando direcciÃ³n relativa gp: gp(sÃ­mbolo)extiende operador esperadoregistro extraÃ±oprimer registro del rango deberÃ­a ser r13esperaba coma flotante inmediatavalor coma-flotante debe ser 0'0 o 1'0valor coma flotante debe ser 0'5 o 1'0valor coma flotante debe ser 0'5 o 2'0valor de operando L ilegalmÃ¡scara de bits ilegalvalor inmediato ilegal %sutilizaciÃ³n ilegal de parÃ©ntesisimm10 estÃ¡ fuera de rangoimm:6 inmediato estÃ¡ fuera de rangoel inmediato estÃ¡ fuera del rango 0-7el inmediato estÃ¡ fuera del rango 1-2el inmediato estÃ¡ fuera del rango 1-8el inmediato estÃ¡ fuera del rango 2-9desplazamiento inmediatoinmediato fuera de rangoinmediato muy grande para tamaÃ±o de elementovalor inmediatoel valor inmediato no puede ser un registroel valor inmediato estÃ¡ fuera de rangoel valor inmediato estÃ¡ fuera de rangoesperado cero inmediaroincompartible valor operativo Lregistro Ã­ndice en el rango de cargaregistro indexado xzr no estÃ¡ permitidoinvalida %funcion() aquÃ­invalida valor Dddinvalida tipo direccional para operandoinvalida modo de direccionamientoinvalida aritmÃ©tica inmediatainvalida opciÃ³n condicionalinvalida constanteinvalida contador de accesoinvalida operador extend/shiftinvalida inmediata, debe ser 1, 2 o 4invalida campo de mÃ¡scarainvalida mÃ¡scara mfcrinvalida desplazamientoinvalida operando.  tipo quizÃ¡ tiene valores 0,1,2 Ãºnicamente.posiciÃ³n no vÃ¡lida, deberÃ­a ser 0, 16, 32, 48 o 64.posiciÃ³n no vÃ¡lida, deberÃ­a ser 0, 8, 16, o 24posiciÃ³n no vÃ¡lida, deberÃ­a ser 16, 32, 64 o 128.posiciÃ³n no vÃ¡lida, deberÃ­a ser una de: 0,4,8,...124.invalida cantidad post-incrementalinvalida registroinvalida registro para el ajuste de la pilainvalida lista de registrosinvalida nombre de registroinvalida nÃºmero registrado, deberÃ­a ser blinkinvalida nÃºmero de regostro, deberÃ­a ser fpinvalida nÃºmero de registro, deberÃ­a ser pclinvalida registro desplazadoinvalida operando de registro al actualizarinvalida MOV replicado inmediatoinvalida cantidad shiftinvalida operador shiftinvalida valor del tamaÃ±o debe estar en el rango 1- 64.tamaÃ±o invÃ¡lido, deberÃ­a ser 1,2,3, o 8invalida valor, valor debe ser invalida nÃºmero sprginvalida nÃºmero tbrvalor invÃ¡lido para CMEM ld/st inmediatoinvalida valor para inmediatoomite pista sin alinearbasura al final de la lÃ­neaÃºltimo registro del rango no cabeausente `)'ausente `]'ausente operador extendidoausente mnemÃ³nico en la cadena sintÃ¡cticaausente registroel formato mÃ¡s reciente '%s'
 parece mÃ¡s restrictivo que '%s'
 no se maneja la nota mÃºltiple %s
-se debe especificar un sufijo .jd o no nullifyno hay insns mapeadas directamente al IC terminal %s
-no hay insns mapeadas directamente al IC terminal %s [%s]no es un par r0l/r0h vÃ¡lidooffset(IP) no es una forma vÃ¡lidael cÃ³digo de operaciÃ³n %s no tiene clase (ops %d %d %d)
-operando fuera de rango (%ld no estÃ¡ entre %ld y %ld)operando fuera de rango (%ld no estÃ¡ entre %ld y %lu)operando fuera de rango (%lu no estÃ¡ entre %lu y %lu)operando fuera de rango (0x%lu no estÃ¡ entre 0 y %lx)operando fuera de rango (no estÃ¡ entre 1 y 255)campo traslapado %s->%s
+multiplicadorvalor inmediato negativo no estÃ¡ permitidoesperaba desplazamiento no aliniado o negativono hay insns distribuÃ­da directamente al IC terminal %s
+no hay insns distribuÃ­da directamente al IC terminal %s [%s]ninguna cantidad shift permitida para constantes de 8-bitno es un par r0l/r0h vÃ¡lidooffset(IP) no es una forma vÃ¡lidael cÃ³digo de operaciÃ³n %s no tiene clase (ops %d %d %d)
+operando no es cerooperando fuera de rango (%ld no estÃ¡ entre %ld y %ld)operando fuera de rango (%ld no estÃ¡ entre %ld y %lu)operando fuera de rango (%lu no estÃ¡ entre %lu y %lu)operando fuera de rango (0x%lu no estÃ¡ entre 0 y %lx)operando fuera de rango (no estÃ¡ entre 1 y 255)traslapando campo %sâ†’%s
 se sobreescribe la nota %d con la nota %d (IC:%s)
-parse_addr16: Ã­ndice de operador invÃ¡lido.el operando operador-porcentaje no es un sÃ­mbolo se usa el nÃºmero de registro como valor inmediatoel nÃºmero de registro debe ser parfuente de registro en move inmediatoel registro no estÃ¡ disponible para instrucciones shortel rsrc %s (%s) no tiene registros
-los operandos de registros fuente y objetivo deben ser diferenteserror de operando stel valor de almacenamiento debe ser ceroerror sintÃ¡ctico (se esperaba el carÃ¡cter `%c', se encontrÃ³ `%c')error sintÃ¡ctico (se esperaba el carÃ¡cter `%c', se encontrÃ³ el final de la instrucciÃ³n)demasiadas constantes longdemasiados shimms en loadno se puede cambiar el directorio a "%s", errno = %s
-no se pueden ajustar las constantes de valores diferentes en la instrucciÃ³nsin definirdesconocidadesconocido	0x%02lxdesconocido	0x%04lxrestricciÃ³n `%c' desconocidaoperando de desplazamiento desconocido: %x
-registro desconocido: %d
-no se reconoce la forma de instrucciÃ³nno se reconoce la instrucciÃ³naviso: se descarta la opciÃ³n -M%s desconocida
-
\ No newline at end of file
+se esperaba p0-p7parse_addr16: Ã­ndice de operador invÃ¡lido.el operando operador-porcentaje no es un sÃ­mbolovalor posicionado fuera del rangopareja reg deben ser continuospareja reg deben iniciar desde reg parrequieren R30 es un limm indicadorÃ­ndice de elemento registroel registro debe ser BLINKel registro debe ser GPel registro debe ser ILINK1el registro debe ser ILINK2el registro debe ser PCLel registro debe ser R0el registro debe ser R1el registro debe ser R2el registro debe ser R3el registro debe ser SPel registro debe estar o entre r8-r3 o r12-r15nombre de registro utilizado como valor inmediatoel nÃºmero de registroel nÃºmero de registro debe ser parregistro fuera de rangoorigen de registro en move inmediatoel registro no estÃ¡ disponible para instrucciones shortrotaciÃ³n experada para ser 0, 90, 180, 270rotaciÃ³n esperada a ser 90 o 270el rsrc %s (%s) no tiene registros
+cantidad shiftcantidad shift debe ser 0 o 12cantidad shift debe ser 0 o 16cantidad shift debe ser 0 u 8cantidad shift debe ser un mÃºltiplo de 16shift no estÃ¡ invÃ¡lidooperador shift esperadoorigen y destino de operaciones de registro deben ser diferentesrequerido registro de puntero de pilaerror sintÃ¡ctico (se esperaba el carÃ¡cter `%c', se encontrÃ³ `%c')error sintÃ¡ctico (se esperaba el carÃ¡cter `%c', se encontrÃ³ el final de la instrucciÃ³n)no se puede modificar el directorio a "%s", errno = %s
+indefinidodirecciÃ³n trasera inesperadadesconocidadesconocido	0x%02lxdesconocido	0x%04lxdesconoce restricciÃ³n `%c'operando de desplazamiento desconocido: %x
+reg desconocido: %d
+no se reconoce la forma de instrucciÃ³nno se reconoce la instrucciÃ³nel valor debe ser un mÃºltiplo de 16el valor debe estar en el rango 0 a 240el valor debe estar en el rango 0 a 28el valor debe estar en el rango 0 a 31el valor debe estar en el rango 1 a el valor debe ser potencia de 2valor fuera de rango 1 - 256vector5 estÃ¡ fuera del rangovector8 estÃ¡ fuera del rangoaviso: se descarta la opciÃ³n -M%s desconocida
+valor de anchura estÃ¡ fuera de rangose esperaba z0-z15se esperaba z0-z7
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/es.po ./opcodes/po/es.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/es.po	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/po/es.po	2018-07-10 02:06:15.000000000 +0000
@@ -1,133 +1,557 @@
-# Mensajes en espaÃ±ol para opcodes-2.22.90.
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Spanish messages for opcodes-2.30.0.
+# Copyright (C) 2002- 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the binutils package.
-# Cristian OthÃ³n MartÃ­nez Vera <cfuga@cfuga.mx>, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
-#
+# Cristian OthÃ³n MartÃ­nez Vera <cfuga@cfuga.mx>, 2002 - 2012.
+# Francisco Javier Serrador <fserrador@gmail.com>, 2018.
 msgid ""
 msgstr ""
-"Project-Id-Version: opcodes 2.22.90\n"
+"Project-Id-Version: opcodes 2.30.0\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2011-11-02 12:03+0000\n"
-"PO-Revision-Date: 2012-07-27 17:17-0500\n"
-"Last-Translator: Cristian OthÃ³n MartÃ­nez Vera <cfuga@cfuga.mx>\n"
-"Language-Team: Spanish <es@li.org>\n"
+"POT-Creation-Date: 2018-01-13 13:44+0000\n"
+"PO-Revision-Date: 2018-04-01 17:33+0200\n"
+"Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"
+"Language-Team: Spanish <es@tp.org.es>\n"
 "Language: es\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 2.0.4\n"
+
+#. Invalid option.
+#: aarch64-dis.c:81 arc-dis.c:781 arm-dis.c:6155
+#, c-format
+msgid "Unrecognised disassembler option: %s\n"
+msgstr "Irreconocida opciÃ³n de desensamblador: %s\n"
+
+#: aarch64-dis.c:3264
+#, c-format
+msgid ""
+"\n"
+"The following AARCH64 specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Las siguientes opciones de desensamblador especÃ­ficas de AARCH64 se admiten\n"
+"para usarse con el interruptor -M (las opciones mÃºltiples se deben separar con\n"
+"comas):\n"
+
+#: aarch64-dis.c:3268
+#, c-format
+msgid ""
+"\n"
+"  no-aliases         Don't print instruction aliases.\n"
+msgstr ""
+"\n"
+"  no-aliases         No escribir instrucciones aliases.\n"
+
+#: aarch64-dis.c:3271
+#, c-format
+msgid ""
+"\n"
+"  aliases            Do print instruction aliases.\n"
+msgstr ""
+"\n"
+"  aliases            No escribir alias de instrucciÃ³n.\n"
+
+#: aarch64-dis.c:3275
+#, c-format
+msgid ""
+"\n"
+"  debug_dump         Temp switch for debug trace.\n"
+msgstr ""
+"\n"
+"  debug_dump         intercambio temporal para trazo depurador.\n"
+
+#: aarch64-dis.c:3279 mips-dis.c:2601 mips-dis.c:2609 mips-dis.c:2611
+#: riscv-dis.c:509
+#, c-format
+msgid "\n"
+msgstr "\n"
+
+#: aarch64-opc.c:1311
+msgid "immediate value"
+msgstr "valor inmediato"
+
+#: aarch64-opc.c:1321
+msgid "immediate offset"
+msgstr "desplazamiento inmediato"
+
+#: aarch64-opc.c:1331
+msgid "register number"
+msgstr "el nÃºmero de registro"
+
+#: aarch64-opc.c:1341
+msgid "register element index"
+msgstr "Ã­ndice de elemento registro"
+
+#: aarch64-opc.c:1351
+msgid "shift amount"
+msgstr "cantidad shift"
+
+#: aarch64-opc.c:1363
+msgid "multiplier"
+msgstr "multiplicador"
+
+#: aarch64-opc.c:1436
+msgid "reg pair must start from even reg"
+msgstr "pareja reg deben iniciar desde reg par"
+
+#: aarch64-opc.c:1442
+msgid "reg pair must be contiguous"
+msgstr "pareja reg deben ser continuos"
+
+#: aarch64-opc.c:1456
+msgid "extraneous register"
+msgstr "registro extraÃ±o"
+
+#: aarch64-opc.c:1462
+msgid "missing register"
+msgstr "ausente registro"
+
+#: aarch64-opc.c:1473
+msgid "stack pointer register expected"
+msgstr "requerido registro de puntero de pila"
+
+#: aarch64-opc.c:1496
+msgid "z0-z15 expected"
+msgstr "se esperaba z0-z15"
+
+#: aarch64-opc.c:1497
+msgid "z0-z7 expected"
+msgstr "se esperaba z0-z7"
+
+#: aarch64-opc.c:1523
+msgid "invalid register list"
+msgstr "invalida lista de registros"
+
+#: aarch64-opc.c:1537
+msgid "p0-p7 expected"
+msgstr "se esperaba p0-p7"
+
+#: aarch64-opc.c:1563 aarch64-opc.c:1571
+msgid "unexpected address writeback"
+msgstr "direcciÃ³n trasera inesperada"
+
+#: aarch64-opc.c:1582
+msgid "address writeback expected"
+msgstr "direcciÃ³n trasera esperada"
+
+#: aarch64-opc.c:1629
+msgid "negative or unaligned offset expected"
+msgstr "esperaba desplazamiento no aliniado o negativo"
+
+#: aarch64-opc.c:1656
+msgid "invalid register offset"
+msgstr "invalida registro desplazado"
+
+#: aarch64-opc.c:1678
+msgid "invalid post-increment amount"
+msgstr "invalida cantidad post-incremental"
+
+#: aarch64-opc.c:1694 aarch64-opc.c:2171
+msgid "invalid shift amount"
+msgstr "invalida cantidad shift"
+
+#: aarch64-opc.c:1707
+msgid "invalid extend/shift operator"
+msgstr "invalida operador extend/shift"
+
+#: aarch64-opc.c:1753 aarch64-opc.c:1992 aarch64-opc.c:2027 aarch64-opc.c:2046
+#: aarch64-opc.c:2054 aarch64-opc.c:2125 aarch64-opc.c:2301 aarch64-opc.c:2401
+#: aarch64-opc.c:2414
+msgid "immediate out of range"
+msgstr "inmediato fuera de rango"
+
+#: aarch64-opc.c:1775 aarch64-opc.c:1817 aarch64-opc.c:1866 aarch64-opc.c:1900
+msgid "invalid addressing mode"
+msgstr "invalida modo de direccionamiento"
+
+#: aarch64-opc.c:1858
+msgid "index register xzr is not allowed"
+msgstr "registro indexado xzr no estÃ¡ permitido"
+
+#: aarch64-opc.c:1980 aarch64-opc.c:2002 aarch64-opc.c:2204 aarch64-opc.c:2212
+#: aarch64-opc.c:2278 aarch64-opc.c:2307
+msgid "invalid shift operator"
+msgstr "invalida operador shift"
+
+#: aarch64-opc.c:1986
+msgid "shift amount must be 0 or 12"
+msgstr "cantidad shift debe ser 0 o 12"
+
+#: aarch64-opc.c:2009
+msgid "shift amount must be a multiple of 16"
+msgstr "cantidad shift debe ser un mÃºltiplo de 16"
+
+#: aarch64-opc.c:2021
+msgid "negative immediate value not allowed"
+msgstr "valor inmediato negativo no estÃ¡ permitido"
+
+#: aarch64-opc.c:2136
+msgid "immediate zero expected"
+msgstr "esperado cero inmediaro"
+
+#: aarch64-opc.c:2150
+msgid "rotate expected to be 0, 90, 180 or 270"
+msgstr "rotaciÃ³n experada para ser 0, 90, 180, 270"
+
+#: aarch64-opc.c:2160
+msgid "rotate expected to be 90 or 270"
+msgstr "rotaciÃ³n esperada a ser 90 o 270"
+
+#: aarch64-opc.c:2220
+msgid "shift is not permitted"
+msgstr "shift no estÃ¡ invÃ¡lido"
+
+#: aarch64-opc.c:2245
+msgid "invalid value for immediate"
+msgstr "invalida valor para inmediato"
+
+#: aarch64-opc.c:2270
+msgid "shift amount must be 0 or 16"
+msgstr "cantidad shift debe ser 0 o 16"
+
+#: aarch64-opc.c:2291
+msgid "floating-point immediate expected"
+msgstr "esperaba coma flotante inmediata"
+
+#: aarch64-opc.c:2325
+msgid "no shift amount allowed for 8-bit constants"
+msgstr "ninguna cantidad shift permitida para constantes de 8-bit"
+
+#: aarch64-opc.c:2335
+msgid "shift amount must be 0 or 8"
+msgstr "cantidad shift debe ser 0 u 8"
+
+#: aarch64-opc.c:2348
+msgid "immediate too big for element size"
+msgstr "inmediato muy grande para tamaÃ±o de elemento"
+
+#: aarch64-opc.c:2355
+msgid "invalid arithmetic immediate"
+msgstr "invalida aritmÃ©tica inmediata"
+
+#: aarch64-opc.c:2369
+msgid "floating-point value must be 0.5 or 1.0"
+msgstr "valor coma flotante debe ser 0'5 o 1'0"
+
+#: aarch64-opc.c:2379
+msgid "floating-point value must be 0.5 or 2.0"
+msgstr "valor coma flotante debe ser 0'5 o 2'0"
+
+#: aarch64-opc.c:2389
+msgid "floating-point value must be 0.0 or 1.0"
+msgstr "valor coma-flotante debe ser 0'0 o 1'0"
+
+#: aarch64-opc.c:2420
+msgid "invalid replicated MOV immediate"
+msgstr "invalida MOV replicado inmediato"
+
+#: aarch64-opc.c:2535
+msgid "extend operator expected"
+msgstr "extiende operador esperado"
+
+#: aarch64-opc.c:2548
+msgid "missing extend operator"
+msgstr "ausente operador extendido"
+
+#: aarch64-opc.c:2554
+msgid "'LSL' operator not allowed"
+msgstr "operador 'LSL' no admitido"
+
+#: aarch64-opc.c:2575
+msgid "W register expected"
+msgstr "W como registro esperado"
+
+#: aarch64-opc.c:2586
+msgid "shift operator expected"
+msgstr "operador shift esperado"
+
+#: aarch64-opc.c:2593
+msgid "'ROR' operator not allowed"
+msgstr "operador 'ROR' no admitido"
 
-#: alpha-opc.c:155
+#: alpha-opc.c:154
 msgid "branch operand unaligned"
 msgstr "operando de ramificaciÃ³n sin alinear"
 
-#: alpha-opc.c:171 alpha-opc.c:187
+#: alpha-opc.c:170 alpha-opc.c:186
 msgid "jump hint unaligned"
-msgstr "pista de salto sin alinear"
+msgstr "omite pista sin alinear"
+
+#: arc-dis.c:377
+msgid ""
+"\n"
+"Warning: disassembly may be wrong due to guessed opcode class choice.\n"
+"Use -M<class[,class]> to select the correct opcode class(es).\n"
+"\t\t\t\t"
+msgstr ""
+"\n"
+"Aviso: desensemblado quizÃ¡ estÃ¡ equivocado debido a clase de opcode adivinadas elegidas.\n"
+"Utilice .M<class[,class]> para seleccionar la clase correcta de cÃ³digo de operaciÃ³n.\n"
+"\t\t\t\t"
+
+#: arc-dis.c:823
+#, c-format
+msgid "Unrecognised disassembler CPU option: %s\n"
+msgstr "OpciÃ³n CPU no reconocida del desensamblador: %s\n"
 
-#: arc-dis.c:77
-msgid "Illegal limm reference in last instruction!\n"
-msgstr "Â¡Referencia limm ilegal en la Ãºltima instrucciÃ³n!\n"
+#: arc-dis.c:1385
+#, c-format
+msgid ""
+"\n"
+"The following ARC specific disassembler options are supported for use \n"
+"with -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Se admiten las siguientes opciones de desensamblador especÃ­ficas de S/390\n"
+"para usarse con el interruptor -M (las opciones mÃºltiples deben separarse\n"
+"con comas):\n"
+
+#: arc-dis.c:1397
+#, c-format
+msgid "  dsp             Recognize DSP instructions.\n"
+msgstr "  dsp             Reconoce instrucciones DSP.\n"
 
-#: arc-opc.c:386
-msgid "unable to fit different valued constants into instruction"
-msgstr "no se pueden ajustar las constantes de valores diferentes en la instrucciÃ³n"
+#: arc-dis.c:1399
+#, c-format
+msgid "  spfp            Recognize FPX SP instructions.\n"
+msgstr "  spfp            Reconoce instrucciones FPX SP.\n"
 
-#: arc-opc.c:395
-msgid "auxiliary register not allowed here"
-msgstr "no se permite un registro auxiliar aquÃ­"
+#: arc-dis.c:1401
+#, c-format
+msgid "  dpfp            Recognize FPX DP instructions.\n"
+msgstr "  dpfp            Reconoce instrucciones FPX DP.\n"
 
-#: arc-opc.c:401 arc-opc.c:418
-msgid "attempt to set readonly register"
-msgstr "se intentÃ³ cambiar un registro de sÃ³lo lectura"
+#: arc-dis.c:1403
+#, c-format
+msgid "  quarkse_em      Recognize FPU QuarkSE-EM instructions.\n"
+msgstr "  quarkse_em      Reconocer instrucciones FPU QuarkSE-EM.\n"
 
-#: arc-opc.c:406 arc-opc.c:423
-msgid "attempt to read writeonly register"
-msgstr "se intentÃ³ leer un registro de sÃ³lo escritura"
+#: arc-dis.c:1405
+#, c-format
+msgid "  fpuda           Recognize double assist FPU instructions.\n"
+msgstr "  fpuda           Reconoce instrucciones FPU doble asistida.\n"
 
-#: arc-opc.c:428
+#: arc-dis.c:1407
 #, c-format
-msgid "invalid register number `%d'"
-msgstr "nÃºmero de registro `%d' invÃ¡lido"
+msgid "  fpus            Recognize single precision FPU instructions.\n"
+msgstr "  fpus            Reconoce instrucciones de precisiÃ³n simple FPU.\n"
 
-#: arc-opc.c:594 arc-opc.c:645 arc-opc.c:673
-msgid "too many long constants"
-msgstr "demasiadas constantes long"
+#: arc-dis.c:1409
+#, c-format
+msgid "  fpud            Recognize double precision FPU instructions.\n"
+msgstr "  fpud            Reconoce instrucciones precisiÃ³n doble FPU.\n"
+
+#: arc-dis.c:1411
+#, c-format
+msgid "  hex             Use only hexadecimal number to print immediates.\n"
+msgstr "  hex             Solo emplear nÃºmero hexadecimal para escrituras inmediatas.\n"
 
-#: arc-opc.c:668
-msgid "too many shimms in load"
-msgstr "demasiados shimms en load"
+#: arc-opc.c:41 arc-opc.c:64 arc-opc.c:90
+msgid "LP_COUNT register cannot be used as destination register"
+msgstr "LP_COUNT del registro no puede ser empleado como registro destinatario"
 
-#. Do we have a limm already?
-#: arc-opc.c:781
-msgid "impossible store"
-msgstr "almacenamiento imposible"
+#: arc-opc.c:88
+msgid "cannot use odd number destination register"
+msgstr "no puede utilizar nÃºmero impar de registro destinatario"
 
-#: arc-opc.c:814
-msgid "st operand error"
-msgstr "error de operando st"
+#: arc-opc.c:101
+msgid "cannot use odd number source register"
+msgstr "no puede usar un nÃºmero impar de registro origen"
 
-#: arc-opc.c:818 arc-opc.c:860
-msgid "address writeback not allowed"
-msgstr "no se permite la escritura hacia atrÃ¡s de direcciÃ³n"
+#: arc-opc.c:114
+msgid "operand is not zero"
+msgstr "operando no es cero"
 
-#: arc-opc.c:822
-msgid "store value must be zero"
-msgstr "el valor de almacenamiento debe ser cero"
+#: arc-opc.c:173
+msgid "register R30 is a limm indicator"
+msgstr "requieren R30 es un limm indicador"
 
-#: arc-opc.c:847
-msgid "invalid load/shimm insn"
-msgstr "instrucciÃ³n load/shimm invÃ¡lida"
+#: arc-opc.c:175
+msgid "register out of range"
+msgstr "registro fuera de rango"
 
-#: arc-opc.c:856
-msgid "ld operand error"
-msgstr "error de operando ld"
+#: arc-opc.c:194
+msgid "register must be R0"
+msgstr "el registro debe ser R0"
 
-#: arc-opc.c:943
-msgid "jump flags, but no .f seen"
-msgstr "opciones de salto, pero no se ve .f"
+#: arc-opc.c:212
+msgid "register must be R1"
+msgstr "el registro debe ser R1"
 
-#: arc-opc.c:946
-msgid "jump flags, but no limm addr"
-msgstr "opciones de salto, pero no hay una direcciÃ³n limm"
+#: arc-opc.c:229
+msgid "register must be R2"
+msgstr "el registro debe ser R2"
 
-#: arc-opc.c:949
-msgid "flag bits of jump address limm lost"
-msgstr "se perdieron los bits de opciÃ³n de direcciÃ³n de salto limm"
+#: arc-opc.c:246
+msgid "register must be R3"
+msgstr "el registro debe ser R3"
 
-#: arc-opc.c:952
-msgid "attempt to set HR bits"
-msgstr "se intentÃ³ cambiar los bits HR"
+#: arc-opc.c:263
+msgid "register must be SP"
+msgstr "el registro debe ser SP"
 
-#: arc-opc.c:955
-msgid "bad jump flags value"
-msgstr "valor de opciones de salto errÃ³neo"
+#: arc-opc.c:280
+msgid "register must be GP"
+msgstr "el registro debe ser GP"
 
-#: arc-opc.c:988
-msgid "branch address not on 4 byte boundary"
-msgstr "la direcciÃ³n de ramificaciÃ³n no estÃ¡ en un lÃ­mite de 4 bytes"
+#: arc-opc.c:297
+msgid "register must be PCL"
+msgstr "el registro debe ser PCL"
 
-#: arc-opc.c:1024
-msgid "must specify .jd or no nullify suffix"
-msgstr "se debe especificar un sufijo .jd o no nullify"
+#: arc-opc.c:314
+msgid "register must be BLINK"
+msgstr "el registro debe ser BLINK"
 
-#: arm-dis.c:2000
+#: arc-opc.c:331
+msgid "register must be ILINK1"
+msgstr "el registro debe ser ILINK1"
+
+#: arc-opc.c:348
+msgid "register must be ILINK2"
+msgstr "el registro debe ser ILINK2"
+
+#. ARC NPS400 Support: See comment near head of file.
+#: arc-opc.c:379 arc-opc.c:417 arc-opc.c:455 arc-opc.c:720
+msgid "register must be either r0-r3 or r12-r15"
+msgstr "el registro debe estar o entre r8-r3 o r12-r15"
+
+#: arc-opc.c:506
+msgid "accepted values are from -1 to 6"
+msgstr "valores aceptados son entre -1 a 6"
+
+#: arc-opc.c:535
+msgid "first register of the range should be r13"
+msgstr "primer registro del rango deberÃ­a ser r13"
+
+#: arc-opc.c:537
+msgid "last register of the range doesn't fit"
+msgstr "Ãºltimo registro del rango no cabe"
+
+#: arc-opc.c:557 arc-opc.c:572
+msgid "invalid register number, should be fp"
+msgstr "invalida nÃºmero de regostro, deberÃ­a ser fp"
+
+#: arc-opc.c:594
+msgid "invalid register number, should be blink"
+msgstr "invalida nÃºmero registrado, deberÃ­a ser blink"
+
+#: arc-opc.c:616
+msgid "invalid register number, should be pcl"
+msgstr "invalida nÃºmero de registro, deberÃ­a ser pcl"
+
+#: arc-opc.c:768
+msgid "invalid size, should be 1, 2, 4, or 8"
+msgstr "tamaÃ±o invÃ¡lido, deberÃ­a ser 1,2,3, o 8"
+
+#: arc-opc.c:813
+msgid "invalid immediate, must be 1, 2, or 4"
+msgstr "invalida inmediata, debe ser 1, 2 o 4"
+
+#: arc-opc.c:852
+msgid "invalid value for CMEM ld/st immediate"
+msgstr "valor invÃ¡lido para CMEM ld/st inmediato"
+
+#: arc-opc.c:879
+msgid "invalid position, should be 0, 16, 32, 48 or 64."
+msgstr "posiciÃ³n no vÃ¡lida, deberÃ­a ser 0, 16, 32, 48 o 64."
+
+#: arc-opc.c:913
+msgid "invalid position, should be 16, 32, 64 or 128."
+msgstr "posiciÃ³n no vÃ¡lida, deberÃ­a ser 16, 32, 64 o 128."
+
+#: arc-opc.c:935
+msgid "invalid size value must be on range 1-64."
+msgstr "invalida valor del tamaÃ±o debe estar en el rango 1- 64."
+
+#: arc-opc.c:966
+msgid "invalid position, should be 0, 8, 16, or 24"
+msgstr "posiciÃ³n no vÃ¡lida, deberÃ­a ser 0, 8, 16, o 24"
+
+#: arc-opc.c:991
+msgid "invalid size, value must be "
+msgstr "invalida valor, valor debe ser "
+
+#: arc-opc.c:1065
+msgid "value out of range 1 - 256"
+msgstr "valor fuera de rango 1 - 256"
+
+#: arc-opc.c:1074
+msgid "value must be power of 2"
+msgstr "el valor debe ser potencia de 2"
+
+#: arc-opc.c:1127
+msgid "value must be in the range 0 to 28"
+msgstr "el valor debe estar en el rango 0 a 28"
+
+#: arc-opc.c:1149
+msgid "value must be in the range 1 to "
+msgstr "el valor debe estar en el rango 1 a "
+
+#: arc-opc.c:1179
+msgid "value must be in the range 0 to 240"
+msgstr "el valor debe estar en el rango 0 a 240"
+
+#: arc-opc.c:1181
+msgid "value must be a multiple of 16"
+msgstr "el valor debe ser un mÃºltiplo de 16"
+
+#: arc-opc.c:1201
+msgid "invalid address type for operand"
+msgstr "invalida tipo direccional para operando"
+
+#: arc-opc.c:1235
+msgid "value must be in the range 0 to 31"
+msgstr "el valor debe estar en el rango 0 a 31"
+
+#: arc-opc.c:1260
+msgid "invalid position, should be one of: 0,4,8,...124."
+msgstr "posiciÃ³n no vÃ¡lida, deberÃ­a ser una de: 0,4,8,...124."
+
+#: arm-dis.c:3229
+msgid "Select raw register names"
+msgstr "Seleccionar nombres de registro crudo"
+
+#: arm-dis.c:3231
+msgid "Select register names used by GCC"
+msgstr "Seleccione nombres de registro empleados por GCC"
+
+#: arm-dis.c:3233
+msgid "Select register names used in ARM's ISA documentation"
+msgstr "Seleccione nombres de registro empleado en documentaciÃ³n ISA de ARM"
+
+#: arm-dis.c:3235
+msgid "Assume all insns are Thumb insns"
+msgstr "Asume todos instns son Thum insns"
+
+#: arm-dis.c:3236
+msgid "Examine preceding label to determine an insn's type"
+msgstr "Examina etiquetas precedentes para determinar un tipo de insn"
+
+#: arm-dis.c:3237
+msgid "Select register names used in the APCS"
+msgstr "Seleccione nombres de registro empleados dentro de APCS"
+
+#: arm-dis.c:3239
+msgid "Select register names used in the ATPCS"
+msgstr "Seleccione nombres de registro dentro de ATPCS"
+
+#: arm-dis.c:3241
+msgid "Select special register names used in the ATPCS"
+msgstr "Seleccione nombres de registro especiales empleado en el ATPCS"
+
+#: arm-dis.c:3639
 msgid "<illegal precision>"
 msgstr "<precisiÃ³n ilegal>"
 
-#. XXX - should break 'option' at following delimiter.
-#: arm-dis.c:4395
+#: arm-dis.c:6148
 #, c-format
 msgid "Unrecognised register name set: %s\n"
-msgstr "No se reconoce el conjunto de nombres de registro: %s\n"
-
-#. XXX - should break 'option' at following delimiter.
-#: arm-dis.c:4403
-#, c-format
-msgid "Unrecognised disassembler option: %s\n"
-msgstr "No se reconoce la opciÃ³n de desensamblador: %s\n"
+msgstr "Irreconocido registro del conjunto de nombre: %s\n"
 
-#: arm-dis.c:4995
+#: arm-dis.c:6852
 #, c-format
 msgid ""
 "\n"
@@ -135,49 +559,49 @@ msgid ""
 "the -M switch:\n"
 msgstr ""
 "\n"
-"Las siguientes opciones de desensamblador especÃ­ficas de ARM se admiten\n"
+"Se admiten las siguientes opciones de desensamblador especÃ­ficas de ARM\n"
 "para usarse con el interruptor -M:\n"
 
 #: avr-dis.c:115 avr-dis.c:136
 #, c-format
 msgid "undefined"
-msgstr "sin definir"
+msgstr "indefinido"
 
-#: avr-dis.c:198
+#: avr-dis.c:215
 #, c-format
 msgid "Internal disassembler error"
 msgstr "Error interno del desensamblador"
 
-#: avr-dis.c:251
+#: avr-dis.c:268
 #, c-format
 msgid "unknown constraint `%c'"
-msgstr "restricciÃ³n `%c' desconocida"
+msgstr "desconoce restricciÃ³n `%c'"
 
-#: cgen-asm.c:336 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
+#: cgen-asm.c:351 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
 #: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201
-#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 openrisc-ibld.c:201
+#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 or1k-ibld.c:201
 #: xc16x-ibld.c:201 xstormy16-ibld.c:201
 #, c-format
 msgid "operand out of range (%ld not between %ld and %ld)"
 msgstr "operando fuera de rango (%ld no estÃ¡ entre %ld y %ld)"
 
-#: cgen-asm.c:358
+#: cgen-asm.c:373
 #, c-format
 msgid "operand out of range (%lu not between %lu and %lu)"
 msgstr "operando fuera de rango (%lu no estÃ¡ entre %lu y %lu)"
 
-#: d30v-dis.c:255
+#: d30v-dis.c:254
 #, c-format
 msgid "<unknown register %d>"
 msgstr "<registro %d desconocido>"
 
 #. Can't happen.
-#: dis-buf.c:60
+#: dis-buf.c:61
 #, c-format
 msgid "Unknown error %d\n"
 msgstr "Error desconocido %d\n"
 
-#: dis-buf.c:69
+#: dis-buf.c:70
 #, c-format
 msgid "Address 0x%s is out of bounds.\n"
 msgstr "La direcciÃ³n 0x%s estÃ¡ fuera de los lÃ­mites.\n"
@@ -188,12 +612,12 @@ msgstr "el registro no estÃ¡ disponible 
 
 #: epiphany-asm.c:115
 msgid "register name used as immediate value"
-msgstr " se usa el nÃºmero de registro como valor inmediato"
+msgstr "nombre de registro utilizado como valor inmediato"
 
 #. Don't treat "mov ip,ip" as a move-immediate.
 #: epiphany-asm.c:178 epiphany-asm.c:234
 msgid "register source in immediate move"
-msgstr "fuente de registro en move inmediato"
+msgstr "origen de registro en move inmediato"
 
 #: epiphany-asm.c:187
 msgid "byte relocation unsupported"
@@ -205,9 +629,9 @@ msgstr "no se admite la reubicaciÃ³n de 
 #: lm32-asm.c:127 lm32-asm.c:157 lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247
 #: m32c-asm.c:140 m32c-asm.c:235 m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355
 #: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289
-#: mep-asm.c:301 openrisc-asm.c:54
+#: mep-asm.c:301 or1k-asm.c:54
 msgid "missing `)'"
-msgstr "falta un `)'"
+msgstr "ausente `)'"
 
 #: epiphany-asm.c:270
 msgid "ABORT: unknown operand"
@@ -219,18 +643,18 @@ msgstr "No es una direcciÃ³n relativa a 
 
 #: epiphany-asm.c:455 fr30-asm.c:310 frv-asm.c:1263 ip2k-asm.c:511
 #: iq2000-asm.c:459 lm32-asm.c:349 m32c-asm.c:1584 m32r-asm.c:328
-#: mep-asm.c:1286 mt-asm.c:595 openrisc-asm.c:241 xc16x-asm.c:376
+#: mep-asm.c:1287 mt-asm.c:595 or1k-asm.c:503 xc16x-asm.c:376
 #: xstormy16-asm.c:276
 #, c-format
 msgid "Unrecognized field %d while parsing.\n"
-msgstr "No se reconociÃ³ el campo %d al decodificar.\n"
+msgstr "Irreconocido el campo %d al interpretar.\n"
 
 #: epiphany-asm.c:506 fr30-asm.c:361 frv-asm.c:1314 ip2k-asm.c:562
 #: iq2000-asm.c:510 lm32-asm.c:400 m32c-asm.c:1635 m32r-asm.c:379
-#: mep-asm.c:1337 mt-asm.c:646 openrisc-asm.c:292 xc16x-asm.c:427
+#: mep-asm.c:1338 mt-asm.c:646 or1k-asm.c:554 xc16x-asm.c:427
 #: xstormy16-asm.c:327
 msgid "missing mnemonic in syntax string"
-msgstr "falta el mnemÃ³nico en la cadena sintÃ¡ctica"
+msgstr "ausente mnemÃ³nico en la cadena sintÃ¡ctica"
 
 #. We couldn't parse it.
 #: epiphany-asm.c:641 epiphany-asm.c:645 epiphany-asm.c:734 epiphany-asm.c:841
@@ -240,18 +664,17 @@ msgstr "falta el mnemÃ³nico en la cadena
 #: iq2000-asm.c:738 iq2000-asm.c:845 lm32-asm.c:535 lm32-asm.c:539
 #: lm32-asm.c:628 lm32-asm.c:735 m32c-asm.c:1770 m32c-asm.c:1774
 #: m32c-asm.c:1863 m32c-asm.c:1970 m32r-asm.c:514 m32r-asm.c:518
-#: m32r-asm.c:607 m32r-asm.c:714 mep-asm.c:1472 mep-asm.c:1476 mep-asm.c:1565
-#: mep-asm.c:1672 mt-asm.c:781 mt-asm.c:785 mt-asm.c:874 mt-asm.c:981
-#: openrisc-asm.c:427 openrisc-asm.c:431 openrisc-asm.c:520 openrisc-asm.c:627
-#: xc16x-asm.c:562 xc16x-asm.c:566 xc16x-asm.c:655 xc16x-asm.c:762
-#: xstormy16-asm.c:462 xstormy16-asm.c:466 xstormy16-asm.c:555
-#: xstormy16-asm.c:662
+#: m32r-asm.c:607 m32r-asm.c:714 mep-asm.c:1473 mep-asm.c:1477 mep-asm.c:1566
+#: mep-asm.c:1673 mt-asm.c:781 mt-asm.c:785 mt-asm.c:874 mt-asm.c:981
+#: or1k-asm.c:689 or1k-asm.c:693 or1k-asm.c:782 or1k-asm.c:889 xc16x-asm.c:562
+#: xc16x-asm.c:566 xc16x-asm.c:655 xc16x-asm.c:762 xstormy16-asm.c:462
+#: xstormy16-asm.c:466 xstormy16-asm.c:555 xstormy16-asm.c:662
 msgid "unrecognized instruction"
 msgstr "no se reconoce la instrucciÃ³n"
 
 #: epiphany-asm.c:688 fr30-asm.c:543 frv-asm.c:1496 ip2k-asm.c:744
 #: iq2000-asm.c:692 lm32-asm.c:582 m32c-asm.c:1817 m32r-asm.c:561
-#: mep-asm.c:1519 mt-asm.c:828 openrisc-asm.c:474 xc16x-asm.c:609
+#: mep-asm.c:1520 mt-asm.c:828 or1k-asm.c:736 xc16x-asm.c:609
 #: xstormy16-asm.c:509
 #, c-format
 msgid "syntax error (expected char `%c', found `%c')"
@@ -259,7 +682,7 @@ msgstr "error sintÃ¡ctico (se esperaba e
 
 #: epiphany-asm.c:698 fr30-asm.c:553 frv-asm.c:1506 ip2k-asm.c:754
 #: iq2000-asm.c:702 lm32-asm.c:592 m32c-asm.c:1827 m32r-asm.c:571
-#: mep-asm.c:1529 mt-asm.c:838 openrisc-asm.c:484 xc16x-asm.c:619
+#: mep-asm.c:1530 mt-asm.c:838 or1k-asm.c:746 xc16x-asm.c:619
 #: xstormy16-asm.c:519
 #, c-format
 msgid "syntax error (expected char `%c', found end of instruction)"
@@ -267,52 +690,52 @@ msgstr "error sintÃ¡ctico (se esperaba e
 
 #: epiphany-asm.c:728 fr30-asm.c:583 frv-asm.c:1536 ip2k-asm.c:784
 #: iq2000-asm.c:732 lm32-asm.c:622 m32c-asm.c:1857 m32r-asm.c:601
-#: mep-asm.c:1559 mt-asm.c:868 openrisc-asm.c:514 xc16x-asm.c:649
+#: mep-asm.c:1560 mt-asm.c:868 or1k-asm.c:776 xc16x-asm.c:649
 #: xstormy16-asm.c:549
 msgid "junk at end of line"
 msgstr "basura al final de la lÃ­nea"
 
 #: epiphany-asm.c:840 fr30-asm.c:695 frv-asm.c:1648 ip2k-asm.c:896
 #: iq2000-asm.c:844 lm32-asm.c:734 m32c-asm.c:1969 m32r-asm.c:713
-#: mep-asm.c:1671 mt-asm.c:980 openrisc-asm.c:626 xc16x-asm.c:761
+#: mep-asm.c:1672 mt-asm.c:980 or1k-asm.c:888 xc16x-asm.c:761
 #: xstormy16-asm.c:661
 msgid "unrecognized form of instruction"
 msgstr "no se reconoce la forma de instrucciÃ³n"
 
 #: epiphany-asm.c:854 fr30-asm.c:709 frv-asm.c:1662 ip2k-asm.c:910
 #: iq2000-asm.c:858 lm32-asm.c:748 m32c-asm.c:1983 m32r-asm.c:727
-#: mep-asm.c:1685 mt-asm.c:994 openrisc-asm.c:640 xc16x-asm.c:775
+#: mep-asm.c:1686 mt-asm.c:994 or1k-asm.c:902 xc16x-asm.c:775
 #: xstormy16-asm.c:675
 #, c-format
 msgid "bad instruction `%.50s...'"
-msgstr "instrucciÃ³n errÃ³nea `%.50s...'"
+msgstr "instrucciÃ³n equivocada `%.50s...'"
 
 #: epiphany-asm.c:857 fr30-asm.c:712 frv-asm.c:1665 ip2k-asm.c:913
 #: iq2000-asm.c:861 lm32-asm.c:751 m32c-asm.c:1986 m32r-asm.c:730
-#: mep-asm.c:1688 mt-asm.c:997 openrisc-asm.c:643 xc16x-asm.c:778
+#: mep-asm.c:1689 mt-asm.c:997 or1k-asm.c:905 xc16x-asm.c:778
 #: xstormy16-asm.c:678
 #, c-format
 msgid "bad instruction `%.50s'"
-msgstr "instrucciÃ³n errÃ³nea `%.50s'"
+msgstr "instrucciÃ³n equivocada `%.50s'"
 
 #. Default text to print if an instruction isn't recognized.
 #: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41
-#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:277
-#: mt-dis.c:41 openrisc-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41
+#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:276
+#: mt-dis.c:41 nds32-dis.c:39 or1k-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41
 msgid "*unknown*"
 msgstr "*desconocida*"
 
-#: epiphany-dis.c:277 fr30-dis.c:299 frv-dis.c:396 ip2k-dis.c:288
+#: epiphany-dis.c:278 fr30-dis.c:299 frv-dis.c:396 ip2k-dis.c:288
 #: iq2000-dis.c:189 lm32-dis.c:147 m32c-dis.c:891 m32r-dis.c:279
-#: mep-dis.c:1187 mt-dis.c:290 openrisc-dis.c:135 xc16x-dis.c:420
+#: mep-dis.c:1187 mt-dis.c:290 or1k-dis.c:141 xc16x-dis.c:420
 #: xstormy16-dis.c:168
 #, c-format
 msgid "Unrecognized field %d while printing insn.\n"
-msgstr "No se reconociÃ³ el campo %d al mostrar insn.\n"
+msgstr "Irreconocido el campo %d mientras escribe insn.\n"
 
 #: epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164 ip2k-ibld.c:164
 #: iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164
-#: mep-ibld.c:164 mt-ibld.c:164 openrisc-ibld.c:164 xc16x-ibld.c:164
+#: mep-ibld.c:164 mt-ibld.c:164 or1k-ibld.c:164 xc16x-ibld.c:164
 #: xstormy16-ibld.c:164
 #, c-format
 msgid "operand out of range (%ld not between %ld and %lu)"
@@ -320,59 +743,59 @@ msgstr "operando fuera de rango (%ld no 
 
 #: epiphany-ibld.c:185 fr30-ibld.c:185 frv-ibld.c:185 ip2k-ibld.c:185
 #: iq2000-ibld.c:185 lm32-ibld.c:185 m32c-ibld.c:185 m32r-ibld.c:185
-#: mep-ibld.c:185 mt-ibld.c:185 openrisc-ibld.c:185 xc16x-ibld.c:185
+#: mep-ibld.c:185 mt-ibld.c:185 or1k-ibld.c:185 xc16x-ibld.c:185
 #: xstormy16-ibld.c:185
 #, c-format
 msgid "operand out of range (0x%lx not between 0 and 0x%lx)"
 msgstr "operando fuera de rango (0x%lu no estÃ¡ entre 0 y %lx)"
 
-#: epiphany-ibld.c:872 fr30-ibld.c:727 frv-ibld.c:853 ip2k-ibld.c:604
-#: iq2000-ibld.c:710 lm32-ibld.c:631 m32c-ibld.c:1728 m32r-ibld.c:662
-#: mep-ibld.c:1205 mt-ibld.c:746 openrisc-ibld.c:630 xc16x-ibld.c:749
-#: xstormy16-ibld.c:675
+#: epiphany-ibld.c:879 fr30-ibld.c:734 frv-ibld.c:860 ip2k-ibld.c:611
+#: iq2000-ibld.c:717 lm32-ibld.c:638 m32c-ibld.c:1735 m32r-ibld.c:669
+#: mep-ibld.c:1212 mt-ibld.c:753 or1k-ibld.c:650 xc16x-ibld.c:756
+#: xstormy16-ibld.c:682
 #, c-format
 msgid "Unrecognized field %d while building insn.\n"
-msgstr "No se reconociÃ³ el campo %d al construir insn.\n"
+msgstr "Irreconocido el campo %d al compilar insn.\n"
 
-#: epiphany-ibld.c:1166 fr30-ibld.c:932 frv-ibld.c:1170 ip2k-ibld.c:679
-#: iq2000-ibld.c:885 lm32-ibld.c:735 m32c-ibld.c:2889 m32r-ibld.c:799
-#: mep-ibld.c:1804 mt-ibld.c:966 openrisc-ibld.c:730 xc16x-ibld.c:969
-#: xstormy16-ibld.c:821
+#: epiphany-ibld.c:1173 fr30-ibld.c:939 frv-ibld.c:1177 ip2k-ibld.c:686
+#: iq2000-ibld.c:892 lm32-ibld.c:742 m32c-ibld.c:2896 m32r-ibld.c:806
+#: mep-ibld.c:1811 mt-ibld.c:973 or1k-ibld.c:755 xc16x-ibld.c:976
+#: xstormy16-ibld.c:828
 #, c-format
 msgid "Unrecognized field %d while decoding insn.\n"
-msgstr "No se reconociÃ³ el campo %d al decodificar insn.\n"
+msgstr "Irreconocido el campo %d al decodificar insn.\n"
 
-#: epiphany-ibld.c:1309 fr30-ibld.c:1078 frv-ibld.c:1448 ip2k-ibld.c:753
-#: iq2000-ibld.c:1016 lm32-ibld.c:824 m32c-ibld.c:3506 m32r-ibld.c:912
-#: mep-ibld.c:2274 mt-ibld.c:1166 openrisc-ibld.c:807 xc16x-ibld.c:1190
-#: xstormy16-ibld.c:931
+#: epiphany-ibld.c:1316 fr30-ibld.c:1085 frv-ibld.c:1455 ip2k-ibld.c:760
+#: iq2000-ibld.c:1023 lm32-ibld.c:831 m32c-ibld.c:3513 m32r-ibld.c:919
+#: mep-ibld.c:2281 mt-ibld.c:1173 or1k-ibld.c:838 xc16x-ibld.c:1197
+#: xstormy16-ibld.c:938
 #, c-format
 msgid "Unrecognized field %d while getting int operand.\n"
-msgstr "No se reconociÃ³ el campo %d al obtener el operando int.\n"
+msgstr "Irreconocido el campo %d al obtener el operando int.\n"
 
-#: epiphany-ibld.c:1434 fr30-ibld.c:1206 frv-ibld.c:1708 ip2k-ibld.c:809
-#: iq2000-ibld.c:1129 lm32-ibld.c:895 m32c-ibld.c:4105 m32r-ibld.c:1007
-#: mep-ibld.c:2726 mt-ibld.c:1348 openrisc-ibld.c:866 xc16x-ibld.c:1393
-#: xstormy16-ibld.c:1023
+#: epiphany-ibld.c:1441 fr30-ibld.c:1213 frv-ibld.c:1715 ip2k-ibld.c:816
+#: iq2000-ibld.c:1136 lm32-ibld.c:902 m32c-ibld.c:4112 m32r-ibld.c:1014
+#: mep-ibld.c:2733 mt-ibld.c:1355 or1k-ibld.c:903 xc16x-ibld.c:1400
+#: xstormy16-ibld.c:1030
 #, c-format
 msgid "Unrecognized field %d while getting vma operand.\n"
-msgstr "No se reconociÃ³ el campo %d al obtener el operando vma.\n"
+msgstr "Irreconocido el campo %d al obtener el operando vma.\n"
 
-#: epiphany-ibld.c:1566 fr30-ibld.c:1337 frv-ibld.c:1975 ip2k-ibld.c:868
-#: iq2000-ibld.c:1249 lm32-ibld.c:973 m32c-ibld.c:4692 m32r-ibld.c:1108
-#: mep-ibld.c:3139 mt-ibld.c:1537 openrisc-ibld.c:932 xc16x-ibld.c:1597
-#: xstormy16-ibld.c:1122
+#: epiphany-ibld.c:1573 fr30-ibld.c:1344 frv-ibld.c:1982 ip2k-ibld.c:875
+#: iq2000-ibld.c:1256 lm32-ibld.c:980 m32c-ibld.c:4699 m32r-ibld.c:1115
+#: mep-ibld.c:3146 mt-ibld.c:1544 or1k-ibld.c:975 xc16x-ibld.c:1604
+#: xstormy16-ibld.c:1129
 #, c-format
 msgid "Unrecognized field %d while setting int operand.\n"
-msgstr "No se reconociÃ³ el campo %d al establecer el operando int.\n"
+msgstr "Irreconocido el campo %d al establecer el operando int.\n"
 
-#: epiphany-ibld.c:1688 fr30-ibld.c:1458 frv-ibld.c:2232 ip2k-ibld.c:917
-#: iq2000-ibld.c:1359 lm32-ibld.c:1041 m32c-ibld.c:5269 m32r-ibld.c:1199
-#: mep-ibld.c:3542 mt-ibld.c:1716 openrisc-ibld.c:988 xc16x-ibld.c:1791
-#: xstormy16-ibld.c:1211
+#: epiphany-ibld.c:1695 fr30-ibld.c:1465 frv-ibld.c:2239 ip2k-ibld.c:924
+#: iq2000-ibld.c:1366 lm32-ibld.c:1048 m32c-ibld.c:5276 m32r-ibld.c:1206
+#: mep-ibld.c:3549 mt-ibld.c:1723 or1k-ibld.c:1037 xc16x-ibld.c:1798
+#: xstormy16-ibld.c:1218
 #, c-format
 msgid "Unrecognized field %d while setting vma operand.\n"
-msgstr "No se reconociÃ³ el campo %d al establecer el operando vma.\n"
+msgstr "Irreconocido el campo %d al establecer el operando vma.\n"
 
 #: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879
 msgid "Register number is not valid"
@@ -392,7 +815,7 @@ msgstr "La lista de registros no es vÃ¡l
 
 #: frv-asm.c:608
 msgid "missing `]'"
-msgstr "falta un `]'"
+msgstr "ausente `]'"
 
 #: frv-asm.c:611 frv-asm.c:621
 msgid "Special purpose register number is out of range"
@@ -406,32 +829,32 @@ msgstr "El valor del operando A debe ser
 msgid "register number must be even"
 msgstr "el nÃºmero de registro debe ser par"
 
-#: h8300-dis.c:314
+#: h8300-dis.c:313
 #, c-format
 msgid "Hmmmm 0x%x"
 msgstr "Hmmmm 0x%x"
 
-#: h8300-dis.c:695
+#: h8300-dis.c:690
 #, c-format
 msgid "Don't understand 0x%x \n"
-msgstr "No se entiende 0x%x \n"
+msgstr "No entiende 0x%x \n"
 
-#: h8500-dis.c:124
+#: h8500-dis.c:123
 #, c-format
 msgid "can't cope with insert %d\n"
 msgstr "no se puede lidiar con insert %d\n"
 
 #. Couldn't understand anything.
-#: h8500-dis.c:324
+#: h8500-dis.c:323
 #, c-format
 msgid "%02x\t\t*unknown*"
 msgstr "%02x\t\t*desconocido*"
 
-#: i386-dis.c:10504
+#: i386-dis.c:12330
 msgid "<internal disassembler error>"
 msgstr "<error interno del desensamblador>"
 
-#: i386-dis.c:10801
+#: i386-dis.c:12625
 #, c-format
 msgid ""
 "\n"
@@ -442,154 +865,173 @@ msgstr ""
 "Se admiten las siguientes opciones de desensamblador especÃ­ficas de i386/x86-64\n"
 "con el interruptor -M (las opciones mÃºltiples se deben separar con comas):\n"
 
-#: i386-dis.c:10805
+#: i386-dis.c:12629
 #, c-format
 msgid "  x86-64      Disassemble in 64bit mode\n"
 msgstr "  x86-64      Desensambla en modo 64bit\n"
 
-#: i386-dis.c:10806
+#: i386-dis.c:12630
 #, c-format
 msgid "  i386        Disassemble in 32bit mode\n"
 msgstr "  i386        Desensambla en modo 32bit\n"
 
-#: i386-dis.c:10807
+#: i386-dis.c:12631
 #, c-format
 msgid "  i8086       Disassemble in 16bit mode\n"
 msgstr "  i8086       Desensambla en modo 16bit\n"
 
-#: i386-dis.c:10808
+#: i386-dis.c:12632
 #, c-format
 msgid "  att         Display instruction in AT&T syntax\n"
-msgstr "  att         Muestra las instrucciones con sintaxis AT&T\n"
+msgstr "  att         EnseÃ±a las instrucciones con sintaxis AT&T\n"
 
-#: i386-dis.c:10809
+#: i386-dis.c:12633
 #, c-format
 msgid "  intel       Display instruction in Intel syntax\n"
-msgstr "  intel       Muestra las instrucciones con sintaxis Intel\n"
+msgstr "  intel       EnseÃ±a las instrucciones con sintaxis Intel\n"
 
-#: i386-dis.c:10810
+#: i386-dis.c:12634
 #, c-format
 msgid ""
 "  att-mnemonic\n"
 "              Display instruction in AT&T mnemonic\n"
 msgstr ""
 "  att-mnemonic\n"
-"              Muestra las instrucciones con mnemÃ³nicos AT&T\n"
+"              EnseÃ±a las instrucciones con mnemÃ³nicos AT&T\n"
 
-#: i386-dis.c:10812
+#: i386-dis.c:12636
 #, c-format
 msgid ""
 "  intel-mnemonic\n"
 "              Display instruction in Intel mnemonic\n"
 msgstr ""
 "  intel-mnemonic\n"
-"              Muestra las instrucciones con mnemÃ³nicos Intel\n"
+"              EnseÃ±a las instrucciones con mnemÃ³nicos Intel\n"
 
-#: i386-dis.c:10814
+#: i386-dis.c:12638
 #, c-format
 msgid "  addr64      Assume 64bit address size\n"
 msgstr "  addr64      Asume un tamaÃ±o de direcciÃ³n de 64bit\n"
 
-#: i386-dis.c:10815
+#: i386-dis.c:12639
 #, c-format
 msgid "  addr32      Assume 32bit address size\n"
 msgstr "  addr32      Asume un tamaÃ±o de direcciÃ³n de 32bit\n"
 
-#: i386-dis.c:10816
+#: i386-dis.c:12640
 #, c-format
 msgid "  addr16      Assume 16bit address size\n"
 msgstr "  addr16      Asume un tamaÃ±o de direcciÃ³n de 16bit\n"
 
-#: i386-dis.c:10817
+#: i386-dis.c:12641
 #, c-format
 msgid "  data32      Assume 32bit data size\n"
 msgstr "  data32      Asume un tamaÃ±o de datos de 32bit\n"
 
-#: i386-dis.c:10818
+#: i386-dis.c:12642
 #, c-format
 msgid "  data16      Assume 16bit data size\n"
 msgstr "  data16      Asume un tamaÃ±o de datos de 16bit\n"
 
-#: i386-dis.c:10819
+#: i386-dis.c:12643
 #, c-format
 msgid "  suffix      Always display instruction suffix in AT&T syntax\n"
 msgstr "  suffix      Siempre muestra el sufijo de instrucciÃ³n con sintaxis AT&T\n"
 
-#: i386-gen.c:483 ia64-gen.c:307
+#: i386-dis.c:12644
+#, c-format
+msgid "  amd64       Display instruction in AMD64 ISA\n"
+msgstr "  amd64       EnseÃ±a las instrucciones en AMD64 ISA\n"
+
+#: i386-dis.c:12645
+#, c-format
+msgid "  intel64     Display instruction in Intel64 ISA\n"
+msgstr "  intel64       EnseÃ±a instrucciÃ³n dentro de ISA Intel64\n"
+
+#: i386-dis.c:13190
+msgid "64-bit address is disabled"
+msgstr "direcciÃ³n 64-bit estÃ¡ desactivada"
+
+#: i386-gen.c:711 ia64-gen.c:306
 #, c-format
 msgid "%s: Error: "
 msgstr "%s: Error: "
 
-#: i386-gen.c:615
+#: i386-gen.c:890
 #, c-format
 msgid "%s: %d: Unknown bitfield: %s\n"
 msgstr "%s: %d: Campo de bits desconocido: %s\n"
 
-#: i386-gen.c:617
+#: i386-gen.c:892
 #, c-format
 msgid "Unknown bitfield: %s\n"
 msgstr "Campo de bits desconocido: %s\n"
 
-#: i386-gen.c:673
+#: i386-gen.c:955
 #, c-format
 msgid "%s: %d: Missing `)' in bitfield: %s\n"
 msgstr "%s: %d: Falta un `)' en el campo de bits: %s\n"
 
-#: i386-gen.c:938
+#: i386-gen.c:1256
 #, c-format
 msgid "can't find i386-opc.tbl for reading, errno = %s\n"
 msgstr "no se puede encontrar i386-opc.tbl para lectura, errno =%s\n"
 
-#: i386-gen.c:1069
+#: i386-gen.c:1387
 #, c-format
 msgid "can't find i386-reg.tbl for reading, errno = %s\n"
 msgstr "no se puede encontrar i386-reg.tbl para lectura, errno = %s\n"
 
-#: i386-gen.c:1146
+#: i386-gen.c:1465
 #, c-format
 msgid "can't create i386-init.h, errno = %s\n"
 msgstr "no se puede crear i386-init.h, errno = %s\n"
 
-#: i386-gen.c:1235 ia64-gen.c:2820
+#: i386-gen.c:1555 ia64-gen.c:2829
 #, c-format
 msgid "unable to change directory to \"%s\", errno = %s\n"
-msgstr "no se puede cambiar el directorio a \"%s\", errno = %s\n"
+msgstr "no se puede modificar el directorio a \"%s\", errno = %s\n"
 
-#: i386-gen.c:1242
+#: i386-gen.c:1567 i386-gen.c:1570
+#, c-format
+msgid "CpuMax != %d!\n"
+msgstr "CpuMax != %d!\n"
+
+#: i386-gen.c:1574
 #, c-format
 msgid "%d unused bits in i386_cpu_flags.\n"
 msgstr "%d bits sin usar en i386_cpu_flags.\n"
 
-#: i386-gen.c:1249
+#: i386-gen.c:1581
 #, c-format
 msgid "%d unused bits in i386_operand_type.\n"
 msgstr "%d bits sin usar en i386_operand_type.\n"
 
-#: i386-gen.c:1263
+#: i386-gen.c:1595
 #, c-format
 msgid "can't create i386-tbl.h, errno = %s\n"
 msgstr "no se puede crear i386-tbl.h, errno = %s\n"
 
-#: ia64-gen.c:320
+#: ia64-gen.c:319
 #, c-format
 msgid "%s: Warning: "
 msgstr "%s: Aviso: "
 
-#: ia64-gen.c:506 ia64-gen.c:737
+#: ia64-gen.c:505 ia64-gen.c:736
 #, c-format
 msgid "multiple note %s not handled\n"
 msgstr "no se maneja la nota mÃºltiple %s\n"
 
-#: ia64-gen.c:617
+#: ia64-gen.c:616
 msgid "can't find ia64-ic.tbl for reading\n"
 msgstr "no se puede encontrar ia64-ic.tbl para lectura\n"
 
-#: ia64-gen.c:819
+#: ia64-gen.c:818
 #, c-format
 msgid "can't find %s for reading\n"
 msgstr "no se puede encontrar %s para lectura\n"
 
-#: ia64-gen.c:1043
+#: ia64-gen.c:1050
 #, c-format
 msgid ""
 "most recent format '%s'\n"
@@ -598,77 +1040,77 @@ msgstr ""
 "el formato mÃ¡s reciente '%s'\n"
 "parece mÃ¡s restrictivo que '%s'\n"
 
-#: ia64-gen.c:1054
+#: ia64-gen.c:1061
 #, c-format
 msgid "overlapping field %s->%s\n"
-msgstr "campo traslapado %s->%s\n"
+msgstr "traslapando campo %sâ†’%s\n"
 
-#: ia64-gen.c:1251
+#: ia64-gen.c:1258
 #, c-format
 msgid "overwriting note %d with note %d (IC:%s)\n"
 msgstr "se sobreescribe la nota %d con la nota %d (IC:%s)\n"
 
-#: ia64-gen.c:1456
+#: ia64-gen.c:1465
 #, c-format
 msgid "don't know how to specify %% dependency %s\n"
-msgstr "no se sabe cÃ³mo especificar la dependencia %% %s\n"
+msgstr "no sabe cÃ³mo especificar la dependencia %% %s\n"
 
-#: ia64-gen.c:1478
+#: ia64-gen.c:1487
 #, c-format
 msgid "Don't know how to specify # dependency %s\n"
-msgstr "No se sabe cÃ³mo especificar la dependencia # %s\n"
+msgstr "No sabe cÃ³mo especificar la dependencia # %s\n"
 
-#: ia64-gen.c:1517
+#: ia64-gen.c:1526
 #, c-format
 msgid "IC:%s [%s] has no terminals or sub-classes\n"
 msgstr "IC:%s [%s] no tiene terminales o sub-clases\n"
 
-#: ia64-gen.c:1520
+#: ia64-gen.c:1529
 #, c-format
 msgid "IC:%s has no terminals or sub-classes\n"
 msgstr "IC:%s no tiene terminales o sub-clases\n"
 
-#: ia64-gen.c:1529
+#: ia64-gen.c:1538
 #, c-format
 msgid "no insns mapped directly to terminal IC %s [%s]"
-msgstr "no hay insns mapeadas directamente al IC terminal %s [%s]"
+msgstr "no hay insns distribuÃ­da directamente al IC terminal %s [%s]"
 
-#: ia64-gen.c:1532
+#: ia64-gen.c:1541
 #, c-format
 msgid "no insns mapped directly to terminal IC %s\n"
-msgstr "no hay insns mapeadas directamente al IC terminal %s\n"
+msgstr "no hay insns distribuÃ­da directamente al IC terminal %s\n"
 
-#: ia64-gen.c:1543
+#: ia64-gen.c:1552
 #, c-format
 msgid "class %s is defined but not used\n"
 msgstr "se define la clase %s pero no se utiliza\n"
 
-#: ia64-gen.c:1556
+#: ia64-gen.c:1565
 #, c-format
 msgid "Warning: rsrc %s (%s) has no chks\n"
 msgstr "Aviso: el rsrc %s (%s) no tiene chks\n"
 
-#: ia64-gen.c:1559
+#: ia64-gen.c:1568
 #, c-format
 msgid "Warning: rsrc %s (%s) has no chks or regs\n"
 msgstr "Aviso: el rsrc %s (%s) no tiene chks o regs\n"
 
-#: ia64-gen.c:1563
+#: ia64-gen.c:1572
 #, c-format
 msgid "rsrc %s (%s) has no regs\n"
 msgstr "el rsrc %s (%s) no tiene registros\n"
 
-#: ia64-gen.c:2455
+#: ia64-gen.c:2464
 #, c-format
 msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n"
-msgstr "la nota IC %d en el cÃ³digo de operaciÃ³n %s (IC:%s) tiene conflictos con el recurso %s nota %d\n"
+msgstr "IC como nota de %d en el cÃ³digo de operaciÃ³n %s (IC:%s) tiene conflictos con el recurso %s nota %d\n"
 
-#: ia64-gen.c:2483
+#: ia64-gen.c:2492
 #, c-format
 msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n"
-msgstr "la nota IC %d para el cÃ³digo de operaciÃ³n %s (IC:%s) tiene conflictos con el recurso %s nota %d\n"
+msgstr "IC como nota %d para el cÃ³digo de operaciÃ³n %s (IC:%s) en conflicto con recurso %s nota %d\n"
 
-#: ia64-gen.c:2497
+#: ia64-gen.c:2506
 #, c-format
 msgid "opcode %s has no class (ops %d %d %d)\n"
 msgstr "el cÃ³digo de operaciÃ³n %s no tiene clase (ops %d %d %d)\n"
@@ -677,7 +1119,7 @@ msgstr "el cÃ³digo de operaciÃ³n %s no t
 #. cgen will try the next parsing option.
 #: ip2k-asm.c:81
 msgid "W keyword invalid in FR operand slot."
-msgstr "la palabra clave W es invÃ¡lida en la ranura del operando FR."
+msgstr "W como palabra clave invÃ¡lida en del operando FR."
 
 #. Invalid offset present.
 #: ip2k-asm.c:106
@@ -698,7 +1140,7 @@ msgstr "desplazamiento (SP) fuera de ran
 
 #: ip2k-asm.c:211
 msgid "illegal use of parentheses"
-msgstr "uso ilegal de parÃ©ntesis"
+msgstr "utilizaciÃ³n ilegal de parÃ©ntesis"
 
 #: ip2k-asm.c:218
 msgid "operand out of range (not between 1 and 255)"
@@ -715,7 +1157,7 @@ msgstr "Se requiere una direcciÃ³n de by
 
 #: ip2k-asm.c:305
 msgid "cgen_parse_address returned a symbol. Literal required."
-msgstr "cgen_parse_address devolviÃ³ un sÃ­mbolo. Se requiere una literal."
+msgstr "cgen_parse_address devolviÃ³ un sÃ­mbolo. Requerido literal."
 
 #: ip2k-asm.c:360
 msgid "percent-operator operand is not a symbol"
@@ -739,33 +1181,33 @@ msgstr "desplazamiento de 21-bit fuera d
 
 #: lm32-asm.c:166
 msgid "expecting gp relative address: gp(symbol)"
-msgstr "se espera una direcciÃ³n relativa a gp: gp(sÃ­mbolo)"
+msgstr "esperando direcciÃ³n relativa gp: gp(sÃ­mbolo)"
 
 #: lm32-asm.c:196
 msgid "expecting got relative address: got(symbol)"
-msgstr "se espera una direcciÃ³n relativa a got: got(sÃ­mbolo)"
+msgstr "esperando obtuvo una direcciÃ³n relativa: got(sÃ­mbolo)"
 
 #: lm32-asm.c:226
 msgid "expecting got relative address: gotoffhi16(symbol)"
-msgstr "se espera una direcciÃ³n relativa a got: gotoffhi16(sÃ­mbolo)"
+msgstr "esperando obtuvo una direcciÃ³n relativa: gotoffhi16(sÃ­mbolo)"
 
 #: lm32-asm.c:256
 msgid "expecting got relative address: gotofflo16(symbol)"
-msgstr "se espera una direcciÃ³n relativa a got: gotofflo16(sÃ­mbolo)"
+msgstr "esperando obtuvo una direcciÃ³n relativa: gotofflo16(sÃ­mbolo)"
 
-#: m10200-dis.c:158 m10300-dis.c:582
+#: m10200-dis.c:157 m10300-dis.c:580
 #, c-format
 msgid "unknown\t0x%04lx"
 msgstr "desconocido\t0x%04lx"
 
-#: m10200-dis.c:328
+#: m10200-dis.c:327
 #, c-format
 msgid "unknown\t0x%02lx"
 msgstr "desconocido\t0x%02lx"
 
 #: m32c-asm.c:117
 msgid "imm:6 immediate is out of range"
-msgstr "el inmediato imm:6 estÃ¡ fuera de rango"
+msgstr "imm:6 inmediato estÃ¡ fuera de rango"
 
 #: m32c-asm.c:145
 #, c-format
@@ -835,19 +1277,19 @@ msgstr "no es un par r0l/r0h vÃ¡lido"
 
 #: m32c-asm.c:832
 msgid "Invalid size specifier"
-msgstr "Especificador de tamaÃ±o invÃ¡lido"
+msgstr "Invalida especificador de tamaÃ±o"
 
-#: m68k-dis.c:1281
+#: m68k-dis.c:1292
 #, c-format
 msgid "<function code %d>"
 msgstr "<cÃ³digo de funciÃ³n %d>"
 
-#: m68k-dis.c:1440
+#: m68k-dis.c:1455
 #, c-format
 msgid "<internal error in opcode table: %s %s>\n"
 msgstr "<error interno en la tabla de cÃ³digos de operaciÃ³n: %s %s>\n"
 
-#: m88k-dis.c:679
+#: m88k-dis.c:678
 #, c-format
 msgid "# <dis error: %08lx>"
 msgstr "# <error de desensamblador: %08lx>"
@@ -863,7 +1305,7 @@ msgstr "SÃ³lo se permite $sp o $15 para 
 #: mep-asm.c:308 mep-asm.c:504
 #, c-format
 msgid "invalid %function() here"
-msgstr "%funcion() invÃ¡lida aquÃ­"
+msgstr "invalida %funcion() aquÃ­"
 
 #: mep-asm.c:336
 msgid "Immediate is out of range -32768 to 32767"
@@ -885,63 +1327,73 @@ msgstr "El inmediato estÃ¡ fuera del ran
 msgid "Value is not aligned enough"
 msgstr "El valor no estÃ¡ suficientemente alineado"
 
-#: mips-dis.c:947
-msgid "# internal error, incomplete extension sequence (+)"
-msgstr "# error interno, secuencia de extensiÃ³n incompleta (+)"
-
-#: mips-dis.c:1113
+#: mips-dis.c:1751 mips-dis.c:1977
 #, c-format
-msgid "# internal error, undefined extension sequence (+%c)"
-msgstr "# error interno, secuencia de extensiÃ³n sin definir (+%c)"
+msgid "# internal error, undefined operand in `%s %s'"
+msgstr "# error interno, operando indiefinido en `%s %s'"
 
-#: mips-dis.c:1485
+#: mips-dis.c:2553
 #, c-format
-msgid "# internal error, undefined modifier (%c)"
-msgstr "# error interno, modificador (%c) sin definir"
-
-#: mips-dis.c:2089
-#, c-format
-msgid "# internal disassembler error, unrecognised modifier (%c)"
-msgstr "# error interno del desensamblador, no se reconoce el modificador (%c)"
+msgid ""
+"\n"
+"The following MIPS specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Se admiten las siguientes opciones de desensamblador especÃ­ficas de MIPS\n"
+"para usarse con el interruptor -M (las opciones mÃºltiples se deben separar\n"
+"con comas):\n"
 
-#: mips-dis.c:2664
+#: mips-dis.c:2557
 #, c-format
-msgid "# internal disassembler error, unrecognized modifier (+%c)"
-msgstr "# error interno del desensamblador, no se reconoce el modificador (+%c)"
+msgid ""
+"\n"
+"  no-aliases               Use canonical instruction forms.\n"
+msgstr ""
+"\n"
+"  no-aliases               Utilizar formatos de instrucciÃ³n canÃ³nico.\n"
 
-#: mips-dis.c:2894
+#: mips-dis.c:2560
 #, c-format
-msgid "# internal disassembler error, unrecognized modifier (m%c)"
-msgstr "# error interno del desensamblador, no se reconoce el modificador (m%c)"
+msgid ""
+"\n"
+"  msa                      Recognize MSA instructions.\n"
+msgstr ""
+"\n"
+"  msa                      Reconoce instrucciones MSA.\n"
 
-#: mips-dis.c:2904
+#: mips-dis.c:2563
 #, c-format
-msgid "# internal disassembler error, unrecognized modifier (%c)"
-msgstr "# error interno del desensamblador, no se reconoce el modificador (%c)"
+msgid ""
+"\n"
+"  virt                     Recognize the virtualization ASE instructions.\n"
+msgstr ""
+"\n"
+"  virt                     Reconoce la virtualizaciÃ³n de instrucciones ASE.\n"
 
-#: mips-dis.c:3052
+#: mips-dis.c:2566
 #, c-format
 msgid ""
 "\n"
-"The following MIPS specific disassembler options are supported for use\n"
-"with the -M switch (multiple options should be separated by commas):\n"
+"  xpa                      Recognize the eXtended Physical Address (XPA)\n"
+"                           ASE instructions.\n"
 msgstr ""
 "\n"
-"Las siguientes opciones de desensamblador especÃ­ficas de MIPS se admiten\n"
-"para usarse con el interruptor -M (las opciones mÃºltiples se deben separar con comas):\n"
+"  xpa                      Reconoce instrucciones ASE eXtended Physical\n"
+"                           Address (XPA).\n"
 
-#: mips-dis.c:3056
+#: mips-dis.c:2570
 #, c-format
 msgid ""
 "\n"
-"  gpr-names=ABI            Print GPR names according to  specified ABI.\n"
+"  gpr-names=ABI            Print GPR names according to specified ABI.\n"
 "                           Default: based on binary being disassembled.\n"
 msgstr ""
 "\n"
-"  gpr-names=ABI            Muestra los nombres GPR de acuerdo a la ABI especificada.\n"
+"  gpr-names=ABI            Escribe nombres GPR de acuerdo a la ABI especificada.\n"
 "                           Por defecto: basado en el binario a desensamblar.\n"
 
-#: mips-dis.c:3060
+#: mips-dis.c:2574
 #, c-format
 msgid ""
 "\n"
@@ -949,10 +1401,10 @@ msgid ""
 "                           Default: numeric.\n"
 msgstr ""
 "\n"
-"  fpr-names=ABI            Muestra los nombres FPR de acuerdo a la ABI especificada.\n"
+"  fpr-names=ABI            Escribe los nombres FPR de acuerdo a la ABI especificada.\n"
 "                           Por defecto: numÃ©rico.\n"
 
-#: mips-dis.c:3064
+#: mips-dis.c:2578
 #, c-format
 msgid ""
 "\n"
@@ -965,20 +1417,20 @@ msgstr ""
 "                           la arquitectura especificada.\n"
 "                           Por defecto: basado en el binario a desensamblar.\n"
 
-#: mips-dis.c:3069
+#: mips-dis.c:2583
 #, c-format
 msgid ""
 "\n"
 "  hwr-names=ARCH           Print HWR names according to specified \n"
-"\t\t\t   architecture.\n"
+"                           architecture.\n"
 "                           Default: based on binary being disassembled.\n"
 msgstr ""
 "\n"
-"  hwr-names=ARCH           Muestra los nombres HWR de acuerdo a la arquitectura \n"
-"                           especificada.\n"
-"                           Por defecto: basado en el binario a desensamblar.\n"
+"  hwr-namess=ARCH           Escribe los nombres HWR de acuerdo\n"
+"                            a las arquitectura especificada.\n"
+"                           Por defecto: basado en binario siendo desensamblada.\n"
 
-#: mips-dis.c:3074
+#: mips-dis.c:2588
 #, c-format
 msgid ""
 "\n"
@@ -986,10 +1438,10 @@ msgid ""
 "                           specified ABI.\n"
 msgstr ""
 "\n"
-"  reg-names=ABI            Muestra los nombres GPR y FPR de acuerdo a\n"
+"  reg-names=ABI            Escribe los nombres GPR y FPR de acuerdo a\n"
 "                           la ABI especificada.\n"
 
-#: mips-dis.c:3078
+#: mips-dis.c:2592
 #, c-format
 msgid ""
 "\n"
@@ -997,10 +1449,10 @@ msgid ""
 "                           specified architecture.\n"
 msgstr ""
 "\n"
-"  reg-names=ARCH           Muestra el registro CP0 y los nombres HWR de acuerdo a\n"
+"  reg-names=ARCH           Escribe el registro CP0 y los nombres HWR de acuerdo a\n"
 "                           la arquitectura especificada.\n"
 
-#: mips-dis.c:3082
+#: mips-dis.c:2596
 #, c-format
 msgid ""
 "\n"
@@ -1011,12 +1463,7 @@ msgstr ""
 "  Para las opciones anteriores, se admiten los siguientes valores de \"ABI\":\n"
 "   "
 
-#: mips-dis.c:3087 mips-dis.c:3095 mips-dis.c:3097
-#, c-format
-msgid "\n"
-msgstr "\n"
-
-#: mips-dis.c:3089
+#: mips-dis.c:2603
 #, c-format
 msgid ""
 "\n"
@@ -1027,33 +1474,52 @@ msgstr ""
 "  Para las opciones anteriores, se admiten los siguientes valores de \"ARCH\":\n"
 "   "
 
-#: mmix-dis.c:35
+#: mmix-dis.c:34
 #, c-format
 msgid "Bad case %d (%s) in %s:%d\n"
-msgstr "Case %d errÃ³neo (%s) en %s:%d\n"
+msgstr "Case %d equivocado (%s) en %s:%d\n"
 
-#: mmix-dis.c:45
+#: mmix-dis.c:44
 #, c-format
 msgid "Internal: Non-debugged code (test-case missing): %s:%d"
 msgstr "Interno: CÃ³digo sin depurar (falta el caso de prueba): %s:%d"
 
-#: mmix-dis.c:54
+#: mmix-dis.c:53
 msgid "(unknown)"
 msgstr "(desconocido)"
 
-#: mmix-dis.c:512
+#: mmix-dis.c:511
 #, c-format
 msgid "*unknown operands type: %d*"
 msgstr "*tipo de operandos desconocido: %d*"
 
-#: msp430-dis.c:328
-msgid "Illegal as emulation instr"
-msgstr "InstrucciÃ³n de emulaciÃ³n as ilegal"
+#: msp430-dis.c:59
+#, c-format
+msgid "Warning: disassembly unreliable - not enough bytes available"
+msgstr "Aviso: desensamblado no creÃ­ble - sin suficientes bytes disponibles"
+
+#: msp430-dis.c:65
+#, c-format
+msgid "Error: read from memory failed"
+msgstr "Error: lectura desde memoria fallada"
+
+#: msp430-dis.c:499
+msgid "Warning: illegal as emulation instr"
+msgstr "Aviso: ilegal como inst emulada"
 
 #. R2/R3 are illegal as dest: may be data section.
-#: msp430-dis.c:379
-msgid "Illegal as 2-op instr"
-msgstr "InstrucciÃ³n 2-op as ilegal"
+#: msp430-dis.c:591
+msgid "Warning: illegal as 2-op instr"
+msgstr "Aviso: ilegal como instr 2-op"
+
+#: msp430-dis.c:1002
+msgid "Warning: unrecognised CALLA addressing mode"
+msgstr "Aviso: modo direccional CALLA no reconocido"
+
+#: msp430-dis.c:1303 msp430-dis.c:1324 msp430-dis.c:1345
+#, c-format
+msgid "Warning: reserved use of A/L and B/W bits detected"
+msgstr "Aviso: uso reserevado de A/L y B/W bits detectados"
 
 #: mt-asm.c:110 mt-asm.c:190
 msgid "Operand out of range. Must be between -32768 and 32767."
@@ -1065,11 +1531,11 @@ msgstr "Â¡Graaaan Problema en parse_imm1
 
 #: mt-asm.c:157
 msgid "The percent-operator's operand is not a symbol"
-msgstr "el operando de operador-porcentaje no es un sÃ­mbolo"
+msgstr "El porcentaje operador del operando no es un sÃ­mbolo"
 
 #: mt-asm.c:395
 msgid "invalid operand.  type may have values 0,1,2 only."
-msgstr "operando invÃ¡lid.  El tipo sÃ³lo puede tener valores 0,1,2."
+msgstr "invalida operando.  tipo quizÃ¡ tiene valores 0,1,2 Ãºnicamente."
 
 #. I and Z are output operands and can`t be immediate
 #. A is an address and we can`t have the address of
@@ -1081,12 +1547,12 @@ msgstr "operando invÃ¡lid.  El tipo sÃ³l
 msgid "$<undefined>"
 msgstr "$<sin definir>"
 
-#: ppc-dis.c:234
+#: ppc-dis.c:359
 #, c-format
 msgid "warning: ignoring unknown -M%s option\n"
 msgstr "aviso: se descarta la opciÃ³n -M%s desconocida\n"
 
-#: ppc-dis.c:523
+#: ppc-dis.c:880
 #, c-format
 msgid ""
 "\n"
@@ -1094,190 +1560,324 @@ msgid ""
 "the -M switch:\n"
 msgstr ""
 "\n"
-"Las siguientes opciones de desensamblador especÃ­ficas de PPC se admiten con\n"
+"Se admiten las siguientes opciones de desensamblador especÃ­ficas de PPC con\n"
 "el interruptor -M:\n"
 
-#: ppc-opc.c:906 ppc-opc.c:936
+#: ppc-opc.c:52 ppc-opc.c:75 ppc-opc.c:100 ppc-opc.c:129
+msgid "invalid register"
+msgstr "invalida registro"
+
+#: ppc-opc.c:377 ppc-opc.c:405
 msgid "invalid conditional option"
-msgstr "opciÃ³n condicional invÃ¡lida"
+msgstr "invalida opciÃ³n condicional"
 
-#: ppc-opc.c:908 ppc-opc.c:938
+#: ppc-opc.c:379 ppc-opc.c:407
 msgid "invalid counter access"
-msgstr "contador de acceso invÃ¡lido"
+msgstr "invalida contador de acceso"
 
-#: ppc-opc.c:940
+#: ppc-opc.c:409
 msgid "attempt to set y bit when using + or - modifier"
-msgstr "intento de establecer el bit y al usar el modificador + Ã³ -"
+msgstr "intento de establecer el bit y cuando utilice + Ã³ - como modificador"
 
-#: ppc-opc.c:972
+#: ppc-opc.c:500
 msgid "invalid mask field"
-msgstr "campo de mÃ¡scara invÃ¡lido"
+msgstr "invalida campo de mÃ¡scara"
 
-#: ppc-opc.c:998
-msgid "ignoring invalid mfcr mask"
-msgstr "se descarta la mÃ¡scara mfcr invÃ¡lida"
+#: ppc-opc.c:523
+msgid "invalid mfcr mask"
+msgstr "invalida mÃ¡scara mfcr"
 
-#: ppc-opc.c:1048 ppc-opc.c:1083
+#: ppc-opc.c:596 ppc-opc.c:636
+msgid "illegal L operand value"
+msgstr "valor de operando L ilegal"
+
+#: ppc-opc.c:642
+msgid "incompatible L operand value"
+msgstr "incompartible valor operativo L"
+
+#: ppc-opc.c:686 ppc-opc.c:721
 msgid "illegal bitmask"
 msgstr "mÃ¡scara de bits ilegal"
 
-#: ppc-opc.c:1170
+#: ppc-opc.c:808
 msgid "address register in load range"
 msgstr "registro de direcciÃ³n en el rango de carga"
 
-#: ppc-opc.c:1223
+#: ppc-opc.c:874
 msgid "index register in load range"
 msgstr "registro Ã­ndice en el rango de carga"
 
-#: ppc-opc.c:1239 ppc-opc.c:1295
+#: ppc-opc.c:903 ppc-opc.c:984
 msgid "source and target register operands must be different"
-msgstr "los operandos de registros fuente y objetivo deben ser diferentes"
+msgstr "origen y destino de operaciones de registro deben ser diferentes"
 
-#: ppc-opc.c:1254
+#: ppc-opc.c:931
 msgid "invalid register operand when updating"
-msgstr "operando de registro invÃ¡lido al actualizar"
+msgstr "invalida operando de registro al actualizar"
 
-#: ppc-opc.c:1349
+#: ppc-opc.c:1047
+msgid "illegal immediate value"
+msgstr "valor inmediato ilegal %s"
+
+#: ppc-opc.c:1194
 msgid "invalid sprg number"
-msgstr "nÃºmero sprg invÃ¡lido"
+msgstr "invalida nÃºmero sprg"
+
+#: ppc-opc.c:1231
+msgid "invalid tbr number"
+msgstr "invalida nÃºmero tbr"
 
-#: ppc-opc.c:1519
+#: ppc-opc.c:1373
 msgid "invalid constant"
-msgstr "constante invÃ¡lida"
+msgstr "invalida constante"
+
+#: ppc-opc.c:1478 ppc-opc.c:1505 ppc-opc.c:1532 ppc-opc.c:1559
+msgid "UIMM = 00000 is illegal"
+msgstr "UIMM = 00000 es ilegal"
+
+#: ppc-opc.c:1586
+msgid "UIMM values >7 are illegal"
+msgstr "UIMM valorados >7 son ilegales"
+
+#: ppc-opc.c:1613
+msgid "UIMM values >15 are illegal"
+msgstr "UIMM valorados >15 son ilegales"
 
-#: s390-dis.c:301
+#: ppc-opc.c:1640
+msgid "GPR odd is illegal"
+msgstr "GPR impar es ilegal"
+
+#: ppc-opc.c:1667 ppc-opc.c:1694
+msgid "invalid offset"
+msgstr "invalida desplazamiento"
+
+#: ppc-opc.c:1721
+msgid "invalid Ddd value"
+msgstr "invalida valor Ddd"
+
+#. Invalid option.
+#: riscv-dis.c:68
+#, c-format
+msgid "Unrecognized disassembler option: %s\n"
+msgstr "OpciÃ³n no reconocida del desensamblador: %s\n"
+
+#: riscv-dis.c:346
+#, c-format
+msgid "# internal error, undefined modifier (%c)"
+msgstr "# error interno, modificador (%c) sin definir"
+
+#: riscv-dis.c:498
 #, c-format
 msgid ""
 "\n"
-"The following S/390 specific disassembler options are supported for use\n"
+"The following RISC-V-specific disassembler options are supported for use\n"
 "with the -M switch (multiple options should be separated by commas):\n"
 msgstr ""
 "\n"
-"Las siguientes opciones de desensamblador especÃ­ficas de S/390 se admiten\n"
-"para usarse con el interruptor -M (las opciones mÃºltiples se deben\n"
-"separar con comas):\n"
+"Se admiten las siguientes opciones especificas del desensamblador RISC-V\n"
+"para emplearse con el interruptor -M (opciones mÃºltiples deberÃ­an ser\n"
+"separadas con comas):\n"
 
-#: s390-dis.c:305
+#: riscv-dis.c:502
 #, c-format
-msgid "  esa         Disassemble in ESA architecture mode\n"
-msgstr "  esa         Desensambla en modo de arquitectura ESA\n"
+msgid ""
+"\n"
+"  numeric       Print numeric register names, rather than ABI names.\n"
+msgstr ""
+"\n"
+"  numÃ©rico       Escribe registro numÃ©rico, mejor que nombres ABI.\n"
+
+#: riscv-dis.c:505
+#, c-format
+msgid ""
+"\n"
+"  no-aliases    Disassemble only into canonical instructions, rather\n"
+"                than into pseudoinstructions.\n"
+msgstr ""
+"\n"
+"  no-aliases    Desensamblar solo dentro de instrucciones canÃ³nicas, mejor\n"
+"                que dentro de pseudoinstrucciones.\n"
 
-#: s390-dis.c:306
+#: s390-dis.c:42
+msgid "Disassemble in ESA architecture mode"
+msgstr "Desensambla en modo de arquitectura ESA"
+
+#: s390-dis.c:43
+msgid "Disassemble in z/Architecture mode"
+msgstr "Desensambla en modo z/Architecture"
+
+#: s390-dis.c:44
+msgid "Print unknown instructions according to length from first two bits"
+msgstr "Escribe instrucciones desconocidas de acuerdo a longitud desde el primero de dos bits"
+
+#: s390-dis.c:409
 #, c-format
-msgid "  zarch       Disassemble in z/Architecture mode\n"
-msgstr "  zarch       Desensambla en modo de z/Architecture\n"
+msgid ""
+"\n"
+"The following S/390 specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Se admiten las siguientes opciones de desensamblador especÃ­ficas de S/390\n"
+"para usarse con el interruptor -M (las opciones mÃºltiples deben separarse\n"
+"con comas):\n"
 
-#: score-dis.c:662 score-dis.c:869 score-dis.c:1030 score-dis.c:1144
-#: score-dis.c:1151 score-dis.c:1158 score7-dis.c:694 score7-dis.c:857
+#: score-dis.c:663 score-dis.c:870 score-dis.c:1031 score-dis.c:1145
+#: score-dis.c:1152 score-dis.c:1159 score7-dis.c:695 score7-dis.c:858
 msgid "<illegal instruction>"
 msgstr "<instrucciÃ³n ilegal>"
 
-#: sparc-dis.c:285
+#: sparc-dis.c:309
 #, c-format
 msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr "Error interno:  sparc-opcode.h errÃ³neo: \"%s\", %#.8lx, %#.8lx\n"
+msgstr "Error interno: sparc-opcode.h equivocado: \"%s\", %#.8lx, %#.8lx\n"
 
-#: sparc-dis.c:296
+#: sparc-dis.c:320
 #, c-format
 msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr "Error interno: sparc-opcode.h errÃ³neo: \"%s\", %#.8lx, %#.8lx\n"
+msgstr "Error interno: sparc-opcode.h equivocado: \"%s\", %#.8lx, %#.8lx\n"
 
-#: sparc-dis.c:346
+#: sparc-dis.c:379
 #, c-format
 msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
-msgstr "Error interno: sparc-opcode.h errÃ³neo: \"%s\" == \"%s\"\n"
+msgstr "Error interno: sparc-opcode.h equivocado: \"%s\" == \"%s\"\n"
 
 #. Mark as non-valid instruction.
-#: sparc-dis.c:1028
+#: sparc-dis.c:1100
 msgid "unknown"
 msgstr "desconocida"
 
-#: v850-dis.c:372
+#: v850-dis.c:453
 #, c-format
 msgid "unknown operand shift: %x\n"
 msgstr "operando de desplazamiento desconocido: %x\n"
 
-#: v850-dis.c:384
+#: v850-dis.c:465
 #, c-format
 msgid "unknown reg: %d\n"
-msgstr "registro desconocido: %d\n"
+msgstr "reg desconocido: %d\n"
 
 #. The functions used to insert and extract complicated operands.
 #. Note: There is a conspiracy between these functions and
 #. v850_insert_operand() in gas/config/tc-v850.c.  Error messages
 #. containing the string 'out of range' will be ignored unless a
 #. specific command line option is given to GAS.
-#: v850-opc.c:55
+#: v850-opc.c:53
 msgid "displacement value is not in range and is not aligned"
 msgstr "el valor de desubicaciÃ³n no estÃ¡ en el rango y no estÃ¡ alineado"
 
-#: v850-opc.c:56
+#: v850-opc.c:54
 msgid "displacement value is out of range"
 msgstr "el valor de desubicaciÃ³n estÃ¡ fuera de rango"
 
-#: v850-opc.c:57
+#: v850-opc.c:55
 msgid "displacement value is not aligned"
 msgstr "el valor de desubicaciÃ³n no estÃ¡ alineado"
 
-#: v850-opc.c:59
+#: v850-opc.c:57
 msgid "immediate value is out of range"
 msgstr "el valor inmediato estÃ¡ fuera de rango"
 
-#: v850-opc.c:60
+#: v850-opc.c:58
 msgid "branch value out of range"
 msgstr "el valor de ramificaciÃ³n estÃ¡ fuera de rango"
 
-#: v850-opc.c:61
+#: v850-opc.c:59
 msgid "branch value not in range and to odd offset"
 msgstr "el valor de ramificaciÃ³n no estÃ¡ en rango e indica un desplazamiento impar"
 
-#: v850-opc.c:62
+#: v850-opc.c:60
 msgid "branch to odd offset"
 msgstr "ramificaciÃ³n a un desplazamiento impar"
 
-#: v850-opc.c:497
+#: v850-opc.c:61
+msgid "position value is out of range"
+msgstr "valor posicionado fuera del rango"
+
+#: v850-opc.c:62
+msgid "width value is out of range"
+msgstr "valor de anchura estÃ¡ fuera de rango"
+
+#: v850-opc.c:63
+msgid "SelID is out of range"
+msgstr "SelID estÃ¡ fuera de rango"
+
+#: v850-opc.c:64
+msgid "vector8 is out of range"
+msgstr "vector8 estÃ¡ fuera del rango"
+
+#: v850-opc.c:65
+msgid "vector5 is out of range"
+msgstr "vector5 estÃ¡ fuera del rango"
+
+#: v850-opc.c:66
+msgid "imm10 is out of range"
+msgstr "imm10 estÃ¡ fuera de rango"
+
+#: v850-opc.c:67
+msgid "SR/SelID is out of range"
+msgstr "SR/SelID estÃ¡ fuera de rango"
+
+#: v850-opc.c:512
 msgid "invalid register for stack adjustment"
-msgstr "registro invÃ¡lido para el ajuste de la pila"
+msgstr "invalida registro para el ajuste de la pila"
 
-#: v850-opc.c:518
+#: v850-opc.c:532
 msgid "invalid register name"
-msgstr "nombre de registro invÃ¡lido"
+msgstr "invalida nombre de registro"
+
+#: wasm32-dis.c:88
+msgid "Disassemble \"register\" names"
+msgstr "Desensambla \"registro\" como nombres"
+
+#: wasm32-dis.c:89
+msgid "Name well-known globals"
+msgstr "Nombres globales bien conocidos"
+
+#: wasm32-dis.c:503
+#, c-format
+msgid ""
+"The following WebAssembly-specific disassembler options are supported for use\n"
+"with the -M switch:\n"
+msgstr ""
+"Las siguientes opciones de desensamblador especÃ­ficas de WebAssembly son\n"
+"admitidas para usarse con el interruptor -M:\n"
 
 #: xc16x-asm.c:66
 msgid "Missing '#' prefix"
-msgstr "Falta el prefijo '#'"
+msgstr "Ausente '#' como prefijo"
 
 #: xc16x-asm.c:82
 msgid "Missing '.' prefix"
-msgstr "Falta el prefijo '.'"
+msgstr "Ausente '.' como prefijo"
 
 #: xc16x-asm.c:98
 msgid "Missing 'pof:' prefix"
-msgstr "Falta el prefijo 'pof:'"
+msgstr "Ausente 'pof:' como prefijo"
 
 #: xc16x-asm.c:114
 msgid "Missing 'pag:' prefix"
-msgstr "Falta el prefijo 'pag:'"
+msgstr "Ausente 'pag:' como prefijo"
 
 #: xc16x-asm.c:130
 msgid "Missing 'sof:' prefix"
-msgstr "Falta el prefijo 'sof:'"
+msgstr "Ausente 'sof:' como prefijo"
 
 #: xc16x-asm.c:146
 msgid "Missing 'seg:' prefix"
-msgstr "Falta el prefijo 'seg:'"
+msgstr "Ausente 'seg:' como prefijo"
 
 #: xstormy16-asm.c:71
 msgid "Bad register in preincrement"
-msgstr "Registro errÃ³neo en el preincremento"
+msgstr "Registro equivocado en el preincremento"
 
 #: xstormy16-asm.c:76
 msgid "Bad register in postincrement"
-msgstr "Registro errÃ³neo en el postincremento"
+msgstr "Registro equivocado en el postincremento"
 
 #: xstormy16-asm.c:78
 msgid "Bad register name"
-msgstr "Nombre de registro errÃ³neo"
+msgstr "Nombre de registro equivocado"
 
 #: xstormy16-asm.c:82
 msgid "Label conflicts with register name"
@@ -1289,7 +1889,7 @@ msgstr "La etiqueta tiene conflictos con
 
 #: xstormy16-asm.c:88
 msgid "Bad immediate expression"
-msgstr "ExpresiÃ³n inmediata errÃ³nea"
+msgstr "ExpresiÃ³n inmediata equivocada"
 
 #: xstormy16-asm.c:109
 msgid "No relocation for small immediate"
@@ -1297,7 +1897,7 @@ msgstr "No hay reubicaciones para inmedi
 
 #: xstormy16-asm.c:119
 msgid "Small operand was not an immediate number"
-msgstr "El operando small no era un nÃºmero inmediato"
+msgstr "Operando small no era un nÃºmero inmediato"
 
 #: xstormy16-asm.c:157
 msgid "Operand is not a symbol"
@@ -1305,7 +1905,79 @@ msgstr "El operando no es un sÃ­mbolo"
 
 #: xstormy16-asm.c:165
 msgid "Syntax error: No trailing ')'"
-msgstr "Error sintÃ¡ctico: No hay ')' al final"
+msgstr "Error sintÃ¡ctico: No termina con ')'"
+
+#~ msgid "Illegal limm reference in last instruction!\n"
+#~ msgstr "Â¡Referencia limm ilegal en la Ãºltima instrucciÃ³n!\n"
+
+#~ msgid "unable to fit different valued constants into instruction"
+#~ msgstr "no se pueden ajustar las constantes de valores diferentes en la instrucciÃ³n"
+
+#~ msgid "auxiliary register not allowed here"
+#~ msgstr "no se permite un registro auxiliar aquÃ­"
+
+#~ msgid "attempt to set readonly register"
+#~ msgstr "se intentÃ³ cambiar un registro de sÃ³lo lectura"
+
+#~ msgid "attempt to read writeonly register"
+#~ msgstr "se intentÃ³ leer un registro de sÃ³lo escritura"
+
+#~ msgid "too many long constants"
+#~ msgstr "demasiadas constantes long"
+
+#~ msgid "too many shimms in load"
+#~ msgstr "demasiados shimms en load"
+
+#~ msgid "impossible store"
+#~ msgstr "almacenamiento imposible"
+
+#~ msgid "st operand error"
+#~ msgstr "error de operando st"
+
+#~ msgid "invalid load/shimm insn"
+#~ msgstr "instrucciÃ³n load/shimm invÃ¡lida"
+
+#~ msgid "ld operand error"
+#~ msgstr "error de operando ld"
+
+#~ msgid "jump flags, but no .f seen"
+#~ msgstr "opciones de salto, pero no se ve .f"
+
+#~ msgid "jump flags, but no limm addr"
+#~ msgstr "opciones de salto, pero no hay una direcciÃ³n limm"
+
+#~ msgid "flag bits of jump address limm lost"
+#~ msgstr "se perdieron los bits de opciÃ³n de direcciÃ³n de salto limm"
+
+#~ msgid "attempt to set HR bits"
+#~ msgstr "se intentÃ³ cambiar los bits HR"
+
+#~ msgid "bad jump flags value"
+#~ msgstr "valor de opciones de salto errÃ³neo"
+
+#~ msgid "branch address not on 4 byte boundary"
+#~ msgstr "la direcciÃ³n de ramificaciÃ³n no estÃ¡ en un lÃ­mite de 4 bytes"
+
+#~ msgid "must specify .jd or no nullify suffix"
+#~ msgstr "se debe especificar un sufijo .jd o no nullify"
+
+#~ msgid "# internal error, incomplete extension sequence (+)"
+#~ msgstr "# error interno, secuencia de extensiÃ³n incompleta (+)"
+
+#~ msgid "# internal error, undefined extension sequence (+%c)"
+#~ msgstr "# error interno, secuencia de extensiÃ³n sin definir (+%c)"
+
+#~ msgid "# internal disassembler error, unrecognised modifier (%c)"
+#~ msgstr "# error interno del desensamblador, no se reconoce el modificador (%c)"
+
+#~ msgid "# internal disassembler error, unrecognized modifier (+%c)"
+#~ msgstr "# error interno del desensamblador, no se reconoce el modificador (+%c)"
+
+#~ msgid "# internal disassembler error, unrecognized modifier (m%c)"
+#~ msgstr "# error interno del desensamblador, no se reconoce el modificador (m%c)"
+
+#~ msgid "# internal disassembler error, unrecognized modifier (%c)"
+#~ msgstr "# error interno del desensamblador, no se reconoce el modificador (%c)"
 
 #~ msgid "branch value not in range and to an odd offset"
 #~ msgstr "el valor de ramificaciÃ³n no estÃ¡ en rango e indica un desplazamiento impar"
@@ -1313,15 +1985,9 @@ msgstr "Error sintÃ¡ctico: No hay ')' al
 #~ msgid "immediate value not in range and not even"
 #~ msgstr "el valor inmediato no estÃ¡ en rango y no es par"
 
-#~ msgid "immediate value must be even"
-#~ msgstr "el valor inmediato debe ser par"
-
 #~ msgid "%operator operand is not a symbol"
 #~ msgstr "el operando %operator no es un sÃ­mbolo"
 
-#~ msgid "offset not a multiple of 16"
-#~ msgstr "el desplazamiento no es un mÃºltiplo de 16"
-
 #~ msgid "offset not a multiple of 2"
 #~ msgstr "el desplazamiento no es un mÃºltiplo de 2"
 
@@ -1349,9 +2015,6 @@ msgstr "Error sintÃ¡ctico: No hay ')' al
 #~ msgid "ignoring least significant bits in branch offset"
 #~ msgstr "ignorando los bits menos significativos en el desplazamiento de la rama"
 
-#~ msgid "value out of range"
-#~ msgstr "valor fuera de rango"
-
 #~ msgid "target register operand must be even"
 #~ msgstr "el operando de registro objetivo debe ser par"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/opcodes.pot ./opcodes/po/opcodes.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/opcodes.pot	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/po/opcodes.pot	2018-07-10 02:06:15.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2017-07-03 16:55+0200\n"
+"POT-Creation-Date: 2018-06-24 19:00+0100\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"
@@ -17,13 +17,21 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: aarch64-asm.c:805
+msgid "specified register cannot be read from"
+msgstr ""
+
+#: aarch64-asm.c:814
+msgid "specified register cannot be written to"
+msgstr ""
+
 #. Invalid option.
-#: aarch64-dis.c:81 arc-dis.c:775 arm-dis.c:6132
+#: aarch64-dis.c:94 arc-dis.c:782 arm-dis.c:6158
 #, c-format
-msgid "Unrecognised disassembler option: %s\n"
+msgid "unrecognised disassembler option: %s"
 msgstr ""
 
-#: aarch64-dis.c:3235
+#: aarch64-dis.c:3362
 #, c-format
 msgid ""
 "\n"
@@ -31,236 +39,258 @@ msgid ""
 "with the -M switch (multiple options should be separated by commas):\n"
 msgstr ""
 
-#: aarch64-dis.c:3239
+#: aarch64-dis.c:3366
 #, c-format
 msgid ""
 "\n"
 "  no-aliases         Don't print instruction aliases.\n"
 msgstr ""
 
-#: aarch64-dis.c:3242
+#: aarch64-dis.c:3369
 #, c-format
 msgid ""
 "\n"
 "  aliases            Do print instruction aliases.\n"
 msgstr ""
 
-#: aarch64-dis.c:3246
+#: aarch64-dis.c:3372
+#, c-format
+msgid ""
+"\n"
+"  no-notes         Don't print instruction notes.\n"
+msgstr ""
+
+#: aarch64-dis.c:3375
+#, c-format
+msgid ""
+"\n"
+"  notes            Do print instruction notes.\n"
+msgstr ""
+
+#: aarch64-dis.c:3379
 #, c-format
 msgid ""
 "\n"
 "  debug_dump         Temp switch for debug trace.\n"
 msgstr ""
 
-#: aarch64-dis.c:3250 mips-dis.c:2601 mips-dis.c:2609 mips-dis.c:2611
-#: riscv-dis.c:507
+#: aarch64-dis.c:3383 mips-dis.c:2612 mips-dis.c:2620 mips-dis.c:2622
+#: nfp-dis.c:2981 riscv-dis.c:509
 #, c-format
 msgid "\n"
 msgstr ""
 
-#: aarch64-opc.c:1306
+#: aarch64-opc.c:1311
 msgid "immediate value"
 msgstr ""
 
-#: aarch64-opc.c:1316
+#: aarch64-opc.c:1321
 msgid "immediate offset"
 msgstr ""
 
-#: aarch64-opc.c:1326
+#: aarch64-opc.c:1331
 msgid "register number"
 msgstr ""
 
-#: aarch64-opc.c:1336
+#: aarch64-opc.c:1341
 msgid "register element index"
 msgstr ""
 
-#: aarch64-opc.c:1346
+#: aarch64-opc.c:1351
 msgid "shift amount"
 msgstr ""
 
-#: aarch64-opc.c:1358
+#: aarch64-opc.c:1363
 msgid "multiplier"
 msgstr ""
 
-#: aarch64-opc.c:1431
+#: aarch64-opc.c:1436
 msgid "reg pair must start from even reg"
 msgstr ""
 
-#: aarch64-opc.c:1437
+#: aarch64-opc.c:1442
 msgid "reg pair must be contiguous"
 msgstr ""
 
-#: aarch64-opc.c:1451
+#: aarch64-opc.c:1456
 msgid "extraneous register"
 msgstr ""
 
-#: aarch64-opc.c:1457
+#: aarch64-opc.c:1462
 msgid "missing register"
 msgstr ""
 
-#: aarch64-opc.c:1468
+#: aarch64-opc.c:1473
 msgid "stack pointer register expected"
 msgstr ""
 
-#: aarch64-opc.c:1491
+#: aarch64-opc.c:1496
 msgid "z0-z15 expected"
 msgstr ""
 
-#: aarch64-opc.c:1492
+#: aarch64-opc.c:1497
 msgid "z0-z7 expected"
 msgstr ""
 
-#: aarch64-opc.c:1518
+#: aarch64-opc.c:1523
 msgid "invalid register list"
 msgstr ""
 
-#: aarch64-opc.c:1532
+#: aarch64-opc.c:1537
 msgid "p0-p7 expected"
 msgstr ""
 
-#: aarch64-opc.c:1558 aarch64-opc.c:1566
+#: aarch64-opc.c:1563 aarch64-opc.c:1571
 msgid "unexpected address writeback"
 msgstr ""
 
-#: aarch64-opc.c:1577
+#: aarch64-opc.c:1582
 msgid "address writeback expected"
 msgstr ""
 
-#: aarch64-opc.c:1623
+#: aarch64-opc.c:1629
 msgid "negative or unaligned offset expected"
 msgstr ""
 
-#: aarch64-opc.c:1650
+#: aarch64-opc.c:1656
 msgid "invalid register offset"
 msgstr ""
 
-#: aarch64-opc.c:1672
+#: aarch64-opc.c:1678
 msgid "invalid post-increment amount"
 msgstr ""
 
-#: aarch64-opc.c:1688 aarch64-opc.c:2165
+#: aarch64-opc.c:1694 aarch64-opc.c:2172
 msgid "invalid shift amount"
 msgstr ""
 
-#: aarch64-opc.c:1701
+#: aarch64-opc.c:1707
 msgid "invalid extend/shift operator"
 msgstr ""
 
-#: aarch64-opc.c:1747 aarch64-opc.c:1986 aarch64-opc.c:2021 aarch64-opc.c:2040
-#: aarch64-opc.c:2048 aarch64-opc.c:2119 aarch64-opc.c:2295 aarch64-opc.c:2395
-#: aarch64-opc.c:2408
+#: aarch64-opc.c:1753 aarch64-opc.c:1993 aarch64-opc.c:2028 aarch64-opc.c:2047
+#: aarch64-opc.c:2055 aarch64-opc.c:2126 aarch64-opc.c:2302 aarch64-opc.c:2402
+#: aarch64-opc.c:2415
 msgid "immediate out of range"
 msgstr ""
 
-#: aarch64-opc.c:1769 aarch64-opc.c:1811 aarch64-opc.c:1860 aarch64-opc.c:1894
+#: aarch64-opc.c:1775 aarch64-opc.c:1817 aarch64-opc.c:1867 aarch64-opc.c:1901
 msgid "invalid addressing mode"
 msgstr ""
 
-#: aarch64-opc.c:1852
+#: aarch64-opc.c:1859
 msgid "index register xzr is not allowed"
 msgstr ""
 
-#: aarch64-opc.c:1974 aarch64-opc.c:1996 aarch64-opc.c:2198 aarch64-opc.c:2206
-#: aarch64-opc.c:2272 aarch64-opc.c:2301
+#: aarch64-opc.c:1981 aarch64-opc.c:2003 aarch64-opc.c:2205 aarch64-opc.c:2213
+#: aarch64-opc.c:2279 aarch64-opc.c:2308
 msgid "invalid shift operator"
 msgstr ""
 
-#: aarch64-opc.c:1980
+#: aarch64-opc.c:1987
 msgid "shift amount must be 0 or 12"
 msgstr ""
 
-#: aarch64-opc.c:2003
+#: aarch64-opc.c:2010
 msgid "shift amount must be a multiple of 16"
 msgstr ""
 
-#: aarch64-opc.c:2015
+#: aarch64-opc.c:2022
 msgid "negative immediate value not allowed"
 msgstr ""
 
-#: aarch64-opc.c:2130
+#: aarch64-opc.c:2137
 msgid "immediate zero expected"
 msgstr ""
 
-#: aarch64-opc.c:2144
+#: aarch64-opc.c:2151
 msgid "rotate expected to be 0, 90, 180 or 270"
 msgstr ""
 
-#: aarch64-opc.c:2154
+#: aarch64-opc.c:2161
 msgid "rotate expected to be 90 or 270"
 msgstr ""
 
-#: aarch64-opc.c:2214
+#: aarch64-opc.c:2221
 msgid "shift is not permitted"
 msgstr ""
 
-#: aarch64-opc.c:2239
+#: aarch64-opc.c:2246
 msgid "invalid value for immediate"
 msgstr ""
 
-#: aarch64-opc.c:2264
+#: aarch64-opc.c:2271
 msgid "shift amount must be 0 or 16"
 msgstr ""
 
-#: aarch64-opc.c:2285
+#: aarch64-opc.c:2292
 msgid "floating-point immediate expected"
 msgstr ""
 
-#: aarch64-opc.c:2319
+#: aarch64-opc.c:2326
 msgid "no shift amount allowed for 8-bit constants"
 msgstr ""
 
-#: aarch64-opc.c:2329
+#: aarch64-opc.c:2336
 msgid "shift amount must be 0 or 8"
 msgstr ""
 
-#: aarch64-opc.c:2342
+#: aarch64-opc.c:2349
 msgid "immediate too big for element size"
 msgstr ""
 
-#: aarch64-opc.c:2349
+#: aarch64-opc.c:2356
 msgid "invalid arithmetic immediate"
 msgstr ""
 
-#: aarch64-opc.c:2363
+#: aarch64-opc.c:2370
 msgid "floating-point value must be 0.5 or 1.0"
 msgstr ""
 
-#: aarch64-opc.c:2373
+#: aarch64-opc.c:2380
 msgid "floating-point value must be 0.5 or 2.0"
 msgstr ""
 
-#: aarch64-opc.c:2383
+#: aarch64-opc.c:2390
 msgid "floating-point value must be 0.0 or 1.0"
 msgstr ""
 
-#: aarch64-opc.c:2414
+#: aarch64-opc.c:2421
 msgid "invalid replicated MOV immediate"
 msgstr ""
 
-#: aarch64-opc.c:2528
+#: aarch64-opc.c:2536
 msgid "extend operator expected"
 msgstr ""
 
-#: aarch64-opc.c:2541
+#: aarch64-opc.c:2549
 msgid "missing extend operator"
 msgstr ""
 
-#: aarch64-opc.c:2547
+#: aarch64-opc.c:2555
 msgid "'LSL' operator not allowed"
 msgstr ""
 
-#: aarch64-opc.c:2568
+#: aarch64-opc.c:2576
 msgid "W register expected"
 msgstr ""
 
-#: aarch64-opc.c:2579
+#: aarch64-opc.c:2587
 msgid "shift operator expected"
 msgstr ""
 
-#: aarch64-opc.c:2586
+#: aarch64-opc.c:2594
 msgid "'ROR' operator not allowed"
 msgstr ""
 
+#: aarch64-opc.c:3583
+msgid "reading from a write-only register."
+msgstr ""
+
+#: aarch64-opc.c:3585
+msgid "writing to a read-only register."
+msgstr ""
+
 #: alpha-opc.c:154
 msgid "branch operand unaligned"
 msgstr ""
@@ -269,7 +299,7 @@ msgstr ""
 msgid "jump hint unaligned"
 msgstr ""
 
-#: arc-dis.c:373
+#: arc-dis.c:377
 msgid ""
 "\n"
 "Warning: disassembly may be wrong due to guessed opcode class choice.\n"
@@ -277,12 +307,12 @@ msgid ""
 "\t\t\t\t"
 msgstr ""
 
-#: arc-dis.c:817
+#: arc-dis.c:825
 #, c-format
-msgid "Unrecognised disassembler CPU option: %s\n"
+msgid "unrecognised disassembler CPU option: %s"
 msgstr ""
 
-#: arc-dis.c:1344
+#: arc-dis.c:1387
 #, c-format
 msgid ""
 "\n"
@@ -290,41 +320,46 @@ msgid ""
 "with -M switch (multiple options should be separated by commas):\n"
 msgstr ""
 
-#: arc-dis.c:1356
+#: arc-dis.c:1399
 #, c-format
 msgid "  dsp             Recognize DSP instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1358
+#: arc-dis.c:1401
 #, c-format
 msgid "  spfp            Recognize FPX SP instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1360
+#: arc-dis.c:1403
 #, c-format
 msgid "  dpfp            Recognize FPX DP instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1362
+#: arc-dis.c:1405
 #, c-format
 msgid "  quarkse_em      Recognize FPU QuarkSE-EM instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1364
+#: arc-dis.c:1407
 #, c-format
 msgid "  fpuda           Recognize double assist FPU instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1366
+#: arc-dis.c:1409
 #, c-format
 msgid "  fpus            Recognize single precision FPU instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1368
+#: arc-dis.c:1411
 #, c-format
 msgid "  fpud            Recognize double precision FPU instructions.\n"
 msgstr ""
 
+#: arc-dis.c:1413
+#, c-format
+msgid "  hex             Use only hexadecimal number to print immediates.\n"
+msgstr ""
+
 #: arc-opc.c:41 arc-opc.c:64 arc-opc.c:90
 msgid "LP_COUNT register cannot be used as destination register"
 msgstr ""
@@ -342,188 +377,192 @@ msgid "operand is not zero"
 msgstr ""
 
 #: arc-opc.c:173
-msgid "Register R30 is a limm indicator"
+msgid "register R30 is a limm indicator"
 msgstr ""
 
-#: arc-opc.c:192
-msgid "Register must be R0"
+#: arc-opc.c:175
+msgid "register out of range"
 msgstr ""
 
-#: arc-opc.c:210
-msgid "Register must be R1"
+#: arc-opc.c:194
+msgid "register must be R0"
 msgstr ""
 
-#: arc-opc.c:227
-msgid "Register must be R2"
+#: arc-opc.c:212
+msgid "register must be R1"
 msgstr ""
 
-#: arc-opc.c:244
-msgid "Register must be R3"
+#: arc-opc.c:229
+msgid "register must be R2"
 msgstr ""
 
-#: arc-opc.c:261
-msgid "Register must be SP"
+#: arc-opc.c:246
+msgid "register must be R3"
 msgstr ""
 
-#: arc-opc.c:278
-msgid "Register must be GP"
+#: arc-opc.c:263
+msgid "register must be SP"
 msgstr ""
 
-#: arc-opc.c:295
-msgid "Register must be PCL"
+#: arc-opc.c:280
+msgid "register must be GP"
 msgstr ""
 
-#: arc-opc.c:312
-msgid "Register must be BLINK"
+#: arc-opc.c:297
+msgid "register must be PCL"
 msgstr ""
 
-#: arc-opc.c:329
-msgid "Register must be ILINK1"
+#: arc-opc.c:314
+msgid "register must be BLINK"
 msgstr ""
 
-#: arc-opc.c:346
-msgid "Register must be ILINK2"
+#: arc-opc.c:331
+msgid "register must be ILINK1"
 msgstr ""
 
-#. ARC NPS400 Support: See comment near head of file.
-#: arc-opc.c:377 arc-opc.c:415 arc-opc.c:453 arc-opc.c:718
-msgid "Register must be either r0-r3 or r12-r15"
+#: arc-opc.c:348
+msgid "register must be ILINK2"
 msgstr ""
 
-#: arc-opc.c:504
-msgid "Accepted values are from -1 to 6"
+#. ARC NPS400 Support: See comment near head of file.
+#: arc-opc.c:379 arc-opc.c:417 arc-opc.c:455 arc-opc.c:720
+msgid "register must be either r0-r3 or r12-r15"
 msgstr ""
 
-#: arc-opc.c:533
-msgid "First register of the range should be r13"
+#: arc-opc.c:506
+msgid "accepted values are from -1 to 6"
 msgstr ""
 
 #: arc-opc.c:535
-msgid "Last register of the range doesn't fit"
+msgid "first register of the range should be r13"
 msgstr ""
 
-#: arc-opc.c:555 arc-opc.c:570
-msgid "Invalid register number, should be fp"
+#: arc-opc.c:537
+msgid "last register of the range doesn't fit"
 msgstr ""
 
-#: arc-opc.c:592
-msgid "Invalid register number, should be blink"
+#: arc-opc.c:557 arc-opc.c:572
+msgid "invalid register number, should be fp"
 msgstr ""
 
-#: arc-opc.c:614
-msgid "Invalid register number, should be pcl"
+#: arc-opc.c:594
+msgid "invalid register number, should be blink"
 msgstr ""
 
-#: arc-opc.c:766
-msgid "Invalid size, should be 1, 2, 4, or 8"
+#: arc-opc.c:616
+msgid "invalid register number, should be pcl"
 msgstr ""
 
-#: arc-opc.c:811
+#: arc-opc.c:768
+msgid "invalid size, should be 1, 2, 4, or 8"
+msgstr ""
+
+#: arc-opc.c:813
 msgid "invalid immediate, must be 1, 2, or 4"
 msgstr ""
 
-#: arc-opc.c:850
+#: arc-opc.c:852
 msgid "invalid value for CMEM ld/st immediate"
 msgstr ""
 
-#: arc-opc.c:877
-msgid "Invalid position, should be 0, 16, 32, 48 or 64."
+#: arc-opc.c:879
+msgid "invalid position, should be 0, 16, 32, 48 or 64."
 msgstr ""
 
-#: arc-opc.c:911
-msgid "Invalid position, should be 16, 32, 64 or 128."
+#: arc-opc.c:913
+msgid "invalid position, should be 16, 32, 64 or 128."
 msgstr ""
 
-#: arc-opc.c:933
-msgid "Invalid size value must be on range 1-64."
+#: arc-opc.c:935
+msgid "invalid size value must be on range 1-64."
 msgstr ""
 
-#: arc-opc.c:964
-msgid "Invalid position, should be 0, 8, 16, or 24"
+#: arc-opc.c:966
+msgid "invalid position, should be 0, 8, 16, or 24"
 msgstr ""
 
-#: arc-opc.c:989
-msgid "Invalid size, value must be "
+#: arc-opc.c:991
+msgid "invalid size, value must be "
 msgstr ""
 
-#: arc-opc.c:1063
+#: arc-opc.c:1065
 msgid "value out of range 1 - 256"
 msgstr ""
 
-#: arc-opc.c:1072
+#: arc-opc.c:1074
 msgid "value must be power of 2"
 msgstr ""
 
-#: arc-opc.c:1125
-msgid "Value must be in the range 0 to 28"
+#: arc-opc.c:1127
+msgid "value must be in the range 0 to 28"
 msgstr ""
 
-#: arc-opc.c:1147
-msgid "Value must be in the range 1 to "
+#: arc-opc.c:1149
+msgid "value must be in the range 1 to "
 msgstr ""
 
-#: arc-opc.c:1177
-msgid "Value must be in the range 0 to 240"
+#: arc-opc.c:1179
+msgid "value must be in the range 0 to 240"
 msgstr ""
 
-#: arc-opc.c:1179
-msgid "Value must be a multiple of 16"
+#: arc-opc.c:1181
+msgid "value must be a multiple of 16"
 msgstr ""
 
-#: arc-opc.c:1199
-msgid "Invalid address type for operand"
+#: arc-opc.c:1201
+msgid "invalid address type for operand"
 msgstr ""
 
-#: arc-opc.c:1233
-msgid "Value must be in the range 0 to 31"
+#: arc-opc.c:1235
+msgid "value must be in the range 0 to 31"
 msgstr ""
 
-#: arc-opc.c:1258
-msgid "Invalid position, should be 0,4, 8,...124."
+#: arc-opc.c:1260
+msgid "invalid position, should be one of: 0,4,8,...124."
 msgstr ""
 
-#: arm-dis.c:3202
+#: arm-dis.c:3229
 msgid "Select raw register names"
 msgstr ""
 
-#: arm-dis.c:3204
+#: arm-dis.c:3231
 msgid "Select register names used by GCC"
 msgstr ""
 
-#: arm-dis.c:3206
+#: arm-dis.c:3233
 msgid "Select register names used in ARM's ISA documentation"
 msgstr ""
 
-#: arm-dis.c:3208
+#: arm-dis.c:3235
 msgid "Assume all insns are Thumb insns"
 msgstr ""
 
-#: arm-dis.c:3209
+#: arm-dis.c:3236
 msgid "Examine preceding label to determine an insn's type"
 msgstr ""
 
-#: arm-dis.c:3210
+#: arm-dis.c:3237
 msgid "Select register names used in the APCS"
 msgstr ""
 
-#: arm-dis.c:3212
+#: arm-dis.c:3239
 msgid "Select register names used in the ATPCS"
 msgstr ""
 
-#: arm-dis.c:3214
+#: arm-dis.c:3241
 msgid "Select special register names used in the ATPCS"
 msgstr ""
 
-#: arm-dis.c:3612
+#: arm-dis.c:3639
 msgid "<illegal precision>"
 msgstr ""
 
-#: arm-dis.c:6125
+#: arm-dis.c:6149
 #, c-format
-msgid "Unrecognised register name set: %s\n"
+msgid "unrecognised register name set: %s"
 msgstr ""
 
-#: arm-dis.c:6829
+#: arm-dis.c:6855
 #, c-format
 msgid ""
 "\n"
@@ -536,20 +575,20 @@ msgstr ""
 msgid "undefined"
 msgstr ""
 
-#: avr-dis.c:215
+#: avr-dis.c:216
 #, c-format
-msgid "Internal disassembler error"
+msgid "internal disassembler error"
 msgstr ""
 
-#: avr-dis.c:268
+#: avr-dis.c:270
 #, c-format
 msgid "unknown constraint `%c'"
 msgstr ""
 
-#: cgen-asm.c:351 epiphany-ibld.c:200 fr30-ibld.c:200 frv-ibld.c:200
-#: ip2k-ibld.c:200 iq2000-ibld.c:200 lm32-ibld.c:200 m32c-ibld.c:200
-#: m32r-ibld.c:200 mep-ibld.c:200 mt-ibld.c:200 or1k-ibld.c:200
-#: xc16x-ibld.c:200 xstormy16-ibld.c:200
+#: cgen-asm.c:351 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
+#: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201
+#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 or1k-ibld.c:201
+#: xc16x-ibld.c:201 xstormy16-ibld.c:201
 #, c-format
 msgid "operand out of range (%ld not between %ld and %ld)"
 msgstr ""
@@ -559,7 +598,12 @@ msgstr ""
 msgid "operand out of range (%lu not between %lu and %lu)"
 msgstr ""
 
-#: d30v-dis.c:254
+#: d30v-dis.c:229
+#, c-format
+msgid "illegal id (%d)"
+msgstr ""
+
+#: d30v-dis.c:256
 #, c-format
 msgid "<unknown register %d>"
 msgstr ""
@@ -575,255 +619,314 @@ msgstr ""
 msgid "Address 0x%s is out of bounds.\n"
 msgstr ""
 
-#: epiphany-asm.c:67
+#: epiphany-asm.c:68
 msgid "register unavailable for short instructions"
 msgstr ""
 
-#: epiphany-asm.c:114
+#: epiphany-asm.c:115
 msgid "register name used as immediate value"
 msgstr ""
 
 #. Don't treat "mov ip,ip" as a move-immediate.
-#: epiphany-asm.c:177 epiphany-asm.c:233
+#: epiphany-asm.c:178 epiphany-asm.c:234
 msgid "register source in immediate move"
 msgstr ""
 
-#: epiphany-asm.c:186
+#: epiphany-asm.c:187
 msgid "byte relocation unsupported"
 msgstr ""
 
 #. -- assembler routines inserted here.
 #. -- asm.c
-#: epiphany-asm.c:192 frv-asm.c:971 iq2000-asm.c:55 lm32-asm.c:94
-#: lm32-asm.c:126 lm32-asm.c:156 lm32-asm.c:186 lm32-asm.c:216 lm32-asm.c:246
-#: m32c-asm.c:139 m32c-asm.c:234 m32c-asm.c:275 m32c-asm.c:333 m32c-asm.c:354
-#: m32r-asm.c:52 mep-asm.c:240 mep-asm.c:258 mep-asm.c:273 mep-asm.c:288
-#: mep-asm.c:300 or1k-asm.c:53
+#: epiphany-asm.c:193 frv-asm.c:972 iq2000-asm.c:56 lm32-asm.c:95
+#: lm32-asm.c:127 lm32-asm.c:157 lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247
+#: m32c-asm.c:140 m32c-asm.c:235 m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355
+#: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289
+#: mep-asm.c:301 or1k-asm.c:54
 msgid "missing `)'"
 msgstr ""
 
-#: epiphany-asm.c:269
+#: epiphany-asm.c:270
 msgid "ABORT: unknown operand"
 msgstr ""
 
-#: epiphany-asm.c:295
+#: epiphany-asm.c:296
 msgid "Not a pc-relative address."
 msgstr ""
 
-#: epiphany-asm.c:454 fr30-asm.c:309 frv-asm.c:1262 ip2k-asm.c:510
-#: iq2000-asm.c:458 lm32-asm.c:348 m32c-asm.c:1583 m32r-asm.c:327
-#: mep-asm.c:1286 mt-asm.c:594 or1k-asm.c:502 xc16x-asm.c:375
-#: xstormy16-asm.c:275
-#, c-format
-msgid "Unrecognized field %d while parsing.\n"
+#: epiphany-asm.c:456 fr30-asm.c:311 frv-asm.c:1264 ip2k-asm.c:512
+#: iq2000-asm.c:460 lm32-asm.c:350 m32c-asm.c:1585 m32r-asm.c:329
+#: mep-asm.c:1288 mt-asm.c:596 or1k-asm.c:504 xc16x-asm.c:377
+#: xstormy16-asm.c:277
+#, c-format
+msgid "internal error: unrecognized field %d while parsing"
 msgstr ""
 
-#: epiphany-asm.c:505 fr30-asm.c:360 frv-asm.c:1313 ip2k-asm.c:561
-#: iq2000-asm.c:509 lm32-asm.c:399 m32c-asm.c:1634 m32r-asm.c:378
-#: mep-asm.c:1337 mt-asm.c:645 or1k-asm.c:553 xc16x-asm.c:426
-#: xstormy16-asm.c:326
+#: epiphany-asm.c:508 fr30-asm.c:363 frv-asm.c:1316 ip2k-asm.c:564
+#: iq2000-asm.c:512 lm32-asm.c:402 m32c-asm.c:1637 m32r-asm.c:381
+#: mep-asm.c:1340 mt-asm.c:648 or1k-asm.c:556 xc16x-asm.c:429
+#: xstormy16-asm.c:329
 msgid "missing mnemonic in syntax string"
 msgstr ""
 
 #. We couldn't parse it.
-#: epiphany-asm.c:640 epiphany-asm.c:644 epiphany-asm.c:733 epiphany-asm.c:840
-#: fr30-asm.c:495 fr30-asm.c:499 fr30-asm.c:588 fr30-asm.c:695 frv-asm.c:1448
-#: frv-asm.c:1452 frv-asm.c:1541 frv-asm.c:1648 ip2k-asm.c:696 ip2k-asm.c:700
-#: ip2k-asm.c:789 ip2k-asm.c:896 iq2000-asm.c:644 iq2000-asm.c:648
-#: iq2000-asm.c:737 iq2000-asm.c:844 lm32-asm.c:534 lm32-asm.c:538
-#: lm32-asm.c:627 lm32-asm.c:734 m32c-asm.c:1769 m32c-asm.c:1773
-#: m32c-asm.c:1862 m32c-asm.c:1969 m32r-asm.c:513 m32r-asm.c:517
-#: m32r-asm.c:606 m32r-asm.c:713 mep-asm.c:1472 mep-asm.c:1476 mep-asm.c:1565
-#: mep-asm.c:1672 mt-asm.c:780 mt-asm.c:784 mt-asm.c:873 mt-asm.c:980
-#: or1k-asm.c:688 or1k-asm.c:692 or1k-asm.c:781 or1k-asm.c:888 xc16x-asm.c:561
-#: xc16x-asm.c:565 xc16x-asm.c:654 xc16x-asm.c:761 xstormy16-asm.c:461
-#: xstormy16-asm.c:465 xstormy16-asm.c:554 xstormy16-asm.c:661
+#: epiphany-asm.c:643 epiphany-asm.c:647 epiphany-asm.c:736 epiphany-asm.c:843
+#: fr30-asm.c:498 fr30-asm.c:502 fr30-asm.c:591 fr30-asm.c:698 frv-asm.c:1451
+#: frv-asm.c:1455 frv-asm.c:1544 frv-asm.c:1651 ip2k-asm.c:699 ip2k-asm.c:703
+#: ip2k-asm.c:792 ip2k-asm.c:899 iq2000-asm.c:647 iq2000-asm.c:651
+#: iq2000-asm.c:740 iq2000-asm.c:847 lm32-asm.c:537 lm32-asm.c:541
+#: lm32-asm.c:630 lm32-asm.c:737 m32c-asm.c:1772 m32c-asm.c:1776
+#: m32c-asm.c:1865 m32c-asm.c:1972 m32r-asm.c:516 m32r-asm.c:520 m32r-asm.c:609
+#: m32r-asm.c:716 mep-asm.c:1475 mep-asm.c:1479 mep-asm.c:1568 mep-asm.c:1675
+#: mt-asm.c:783 mt-asm.c:787 mt-asm.c:876 mt-asm.c:983 or1k-asm.c:691
+#: or1k-asm.c:695 or1k-asm.c:784 or1k-asm.c:891 xc16x-asm.c:564 xc16x-asm.c:568
+#: xc16x-asm.c:657 xc16x-asm.c:764 xstormy16-asm.c:464 xstormy16-asm.c:468
+#: xstormy16-asm.c:557 xstormy16-asm.c:664
 msgid "unrecognized instruction"
 msgstr ""
 
-#: epiphany-asm.c:687 fr30-asm.c:542 frv-asm.c:1495 ip2k-asm.c:743
-#: iq2000-asm.c:691 lm32-asm.c:581 m32c-asm.c:1816 m32r-asm.c:560
-#: mep-asm.c:1519 mt-asm.c:827 or1k-asm.c:735 xc16x-asm.c:608
-#: xstormy16-asm.c:508
+#: epiphany-asm.c:690 fr30-asm.c:545 frv-asm.c:1498 ip2k-asm.c:746
+#: iq2000-asm.c:694 lm32-asm.c:584 m32c-asm.c:1819 m32r-asm.c:563
+#: mep-asm.c:1522 mt-asm.c:830 or1k-asm.c:738 xc16x-asm.c:611
+#: xstormy16-asm.c:511
 #, c-format
 msgid "syntax error (expected char `%c', found `%c')"
 msgstr ""
 
-#: epiphany-asm.c:697 fr30-asm.c:552 frv-asm.c:1505 ip2k-asm.c:753
-#: iq2000-asm.c:701 lm32-asm.c:591 m32c-asm.c:1826 m32r-asm.c:570
-#: mep-asm.c:1529 mt-asm.c:837 or1k-asm.c:745 xc16x-asm.c:618
-#: xstormy16-asm.c:518
+#: epiphany-asm.c:700 fr30-asm.c:555 frv-asm.c:1508 ip2k-asm.c:756
+#: iq2000-asm.c:704 lm32-asm.c:594 m32c-asm.c:1829 m32r-asm.c:573
+#: mep-asm.c:1532 mt-asm.c:840 or1k-asm.c:748 xc16x-asm.c:621
+#: xstormy16-asm.c:521
 #, c-format
 msgid "syntax error (expected char `%c', found end of instruction)"
 msgstr ""
 
-#: epiphany-asm.c:727 fr30-asm.c:582 frv-asm.c:1535 ip2k-asm.c:783
-#: iq2000-asm.c:731 lm32-asm.c:621 m32c-asm.c:1856 m32r-asm.c:600
-#: mep-asm.c:1559 mt-asm.c:867 or1k-asm.c:775 xc16x-asm.c:648
-#: xstormy16-asm.c:548
+#: epiphany-asm.c:730 fr30-asm.c:585 frv-asm.c:1538 ip2k-asm.c:786
+#: iq2000-asm.c:734 lm32-asm.c:624 m32c-asm.c:1859 m32r-asm.c:603
+#: mep-asm.c:1562 mt-asm.c:870 or1k-asm.c:778 xc16x-asm.c:651
+#: xstormy16-asm.c:551
 msgid "junk at end of line"
 msgstr ""
 
-#: epiphany-asm.c:839 fr30-asm.c:694 frv-asm.c:1647 ip2k-asm.c:895
-#: iq2000-asm.c:843 lm32-asm.c:733 m32c-asm.c:1968 m32r-asm.c:712
-#: mep-asm.c:1671 mt-asm.c:979 or1k-asm.c:887 xc16x-asm.c:760
-#: xstormy16-asm.c:660
+#: epiphany-asm.c:842 fr30-asm.c:697 frv-asm.c:1650 ip2k-asm.c:898
+#: iq2000-asm.c:846 lm32-asm.c:736 m32c-asm.c:1971 m32r-asm.c:715
+#: mep-asm.c:1674 mt-asm.c:982 or1k-asm.c:890 xc16x-asm.c:763
+#: xstormy16-asm.c:663
 msgid "unrecognized form of instruction"
 msgstr ""
 
-#: epiphany-asm.c:853 fr30-asm.c:708 frv-asm.c:1661 ip2k-asm.c:909
-#: iq2000-asm.c:857 lm32-asm.c:747 m32c-asm.c:1982 m32r-asm.c:726
-#: mep-asm.c:1685 mt-asm.c:993 or1k-asm.c:901 xc16x-asm.c:774
-#: xstormy16-asm.c:674
-#, c-format
-msgid "bad instruction `%.50s...'"
-msgstr ""
-
 #: epiphany-asm.c:856 fr30-asm.c:711 frv-asm.c:1664 ip2k-asm.c:912
 #: iq2000-asm.c:860 lm32-asm.c:750 m32c-asm.c:1985 m32r-asm.c:729
 #: mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:904 xc16x-asm.c:777
 #: xstormy16-asm.c:677
 #, c-format
+msgid "bad instruction `%.50s...'"
+msgstr ""
+
+#: epiphany-asm.c:859 fr30-asm.c:714 frv-asm.c:1667 ip2k-asm.c:915
+#: iq2000-asm.c:863 lm32-asm.c:753 m32c-asm.c:1988 m32r-asm.c:732
+#: mep-asm.c:1691 mt-asm.c:999 or1k-asm.c:907 xc16x-asm.c:780
+#: xstormy16-asm.c:680
+#, c-format
 msgid "bad instruction `%.50s'"
 msgstr ""
 
+#: epiphany-desc.c:2109
+#, c-format
+msgid ""
+"internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: epiphany-desc.c:2192
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: epiphany-desc.c:2211
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: no endianness specified"
+msgstr ""
+
 #. Default text to print if an instruction isn't recognized.
-#: epiphany-dis.c:40 fr30-dis.c:40 frv-dis.c:40 ip2k-dis.c:40 iq2000-dis.c:40
-#: lm32-dis.c:40 m32c-dis.c:40 m32r-dis.c:40 mep-dis.c:40 mmix-dis.c:276
-#: mt-dis.c:40 nds32-dis.c:39 or1k-dis.c:40 xc16x-dis.c:40 xstormy16-dis.c:40
+#: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41
+#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:275
+#: mt-dis.c:41 nds32-dis.c:39 or1k-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41
 msgid "*unknown*"
 msgstr ""
 
-#: epiphany-dis.c:277 fr30-dis.c:298 frv-dis.c:395 ip2k-dis.c:287
-#: iq2000-dis.c:188 lm32-dis.c:146 m32c-dis.c:890 m32r-dis.c:278
-#: mep-dis.c:1186 mt-dis.c:289 or1k-dis.c:140 xc16x-dis.c:419
-#: xstormy16-dis.c:167
-#, c-format
-msgid "Unrecognized field %d while printing insn.\n"
+#: epiphany-dis.c:279 fr30-dis.c:300 frv-dis.c:397 ip2k-dis.c:289
+#: iq2000-dis.c:190 lm32-dis.c:148 m32c-dis.c:892 m32r-dis.c:280 mep-dis.c:1188
+#: mt-dis.c:291 or1k-dis.c:142 xc16x-dis.c:421 xstormy16-dis.c:169
+#, c-format
+msgid "internal error: unrecognized field %d while printing insn"
 msgstr ""
 
-#: epiphany-ibld.c:163 fr30-ibld.c:163 frv-ibld.c:163 ip2k-ibld.c:163
-#: iq2000-ibld.c:163 lm32-ibld.c:163 m32c-ibld.c:163 m32r-ibld.c:163
-#: mep-ibld.c:163 mt-ibld.c:163 or1k-ibld.c:163 xc16x-ibld.c:163
-#: xstormy16-ibld.c:163
+#: epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164 ip2k-ibld.c:164
+#: iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164
+#: mep-ibld.c:164 mt-ibld.c:164 or1k-ibld.c:164 xc16x-ibld.c:164
+#: xstormy16-ibld.c:164
 #, c-format
 msgid "operand out of range (%ld not between %ld and %lu)"
 msgstr ""
 
-#: epiphany-ibld.c:184 fr30-ibld.c:184 frv-ibld.c:184 ip2k-ibld.c:184
-#: iq2000-ibld.c:184 lm32-ibld.c:184 m32c-ibld.c:184 m32r-ibld.c:184
-#: mep-ibld.c:184 mt-ibld.c:184 or1k-ibld.c:184 xc16x-ibld.c:184
-#: xstormy16-ibld.c:184
+#: epiphany-ibld.c:185 fr30-ibld.c:185 frv-ibld.c:185 ip2k-ibld.c:185
+#: iq2000-ibld.c:185 lm32-ibld.c:185 m32c-ibld.c:185 m32r-ibld.c:185
+#: mep-ibld.c:185 mt-ibld.c:185 or1k-ibld.c:185 xc16x-ibld.c:185
+#: xstormy16-ibld.c:185
 #, c-format
 msgid "operand out of range (0x%lx not between 0 and 0x%lx)"
 msgstr ""
 
-#: epiphany-ibld.c:878 fr30-ibld.c:733 frv-ibld.c:859 ip2k-ibld.c:610
-#: iq2000-ibld.c:716 lm32-ibld.c:637 m32c-ibld.c:1734 m32r-ibld.c:668
-#: mep-ibld.c:1211 mt-ibld.c:752 or1k-ibld.c:649 xc16x-ibld.c:755
-#: xstormy16-ibld.c:681
+#: epiphany-ibld.c:880 fr30-ibld.c:735 frv-ibld.c:861 ip2k-ibld.c:612
+#: iq2000-ibld.c:718 lm32-ibld.c:639 m32c-ibld.c:1736 m32r-ibld.c:670
+#: mep-ibld.c:1213 mt-ibld.c:754 or1k-ibld.c:651 xc16x-ibld.c:757
+#: xstormy16-ibld.c:683
 #, c-format
-msgid "Unrecognized field %d while building insn.\n"
+msgid "internal error: unrecognized field %d while building insn"
 msgstr ""
 
-#: epiphany-ibld.c:1172 fr30-ibld.c:938 frv-ibld.c:1176 ip2k-ibld.c:685
-#: iq2000-ibld.c:891 lm32-ibld.c:741 m32c-ibld.c:2895 m32r-ibld.c:805
-#: mep-ibld.c:1810 mt-ibld.c:972 or1k-ibld.c:754 xc16x-ibld.c:975
-#: xstormy16-ibld.c:827
+#: epiphany-ibld.c:1175 fr30-ibld.c:941 frv-ibld.c:1179 ip2k-ibld.c:688
+#: iq2000-ibld.c:894 lm32-ibld.c:744 m32c-ibld.c:2898 m32r-ibld.c:808
+#: mep-ibld.c:1813 mt-ibld.c:975 or1k-ibld.c:757 xc16x-ibld.c:978
+#: xstormy16-ibld.c:830
 #, c-format
-msgid "Unrecognized field %d while decoding insn.\n"
+msgid "internal error: unrecognized field %d while decoding insn"
 msgstr ""
 
-#: epiphany-ibld.c:1315 fr30-ibld.c:1084 frv-ibld.c:1454 ip2k-ibld.c:759
-#: iq2000-ibld.c:1022 lm32-ibld.c:830 m32c-ibld.c:3512 m32r-ibld.c:918
-#: mep-ibld.c:2280 mt-ibld.c:1172 or1k-ibld.c:837 xc16x-ibld.c:1196
-#: xstormy16-ibld.c:937
+#: epiphany-ibld.c:1319 fr30-ibld.c:1088 frv-ibld.c:1458 ip2k-ibld.c:763
+#: iq2000-ibld.c:1026 lm32-ibld.c:834 m32c-ibld.c:3516 m32r-ibld.c:922
+#: mep-ibld.c:2284 mt-ibld.c:1176 or1k-ibld.c:841 xc16x-ibld.c:1200
+#: xstormy16-ibld.c:941
 #, c-format
-msgid "Unrecognized field %d while getting int operand.\n"
+msgid "internal error: unrecognized field %d while getting int operand"
 msgstr ""
 
-#: epiphany-ibld.c:1440 fr30-ibld.c:1212 frv-ibld.c:1714 ip2k-ibld.c:815
-#: iq2000-ibld.c:1135 lm32-ibld.c:901 m32c-ibld.c:4111 m32r-ibld.c:1013
-#: mep-ibld.c:2732 mt-ibld.c:1354 or1k-ibld.c:902 xc16x-ibld.c:1399
-#: xstormy16-ibld.c:1029
+#: epiphany-ibld.c:1445 fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820
+#: iq2000-ibld.c:1140 lm32-ibld.c:906 m32c-ibld.c:4116 m32r-ibld.c:1018
+#: mep-ibld.c:2737 mt-ibld.c:1359 or1k-ibld.c:907 xc16x-ibld.c:1404
+#: xstormy16-ibld.c:1034
 #, c-format
-msgid "Unrecognized field %d while getting vma operand.\n"
+msgid "internal error: unrecognized field %d while getting vma operand"
 msgstr ""
 
-#: epiphany-ibld.c:1572 fr30-ibld.c:1343 frv-ibld.c:1981 ip2k-ibld.c:874
-#: iq2000-ibld.c:1255 lm32-ibld.c:979 m32c-ibld.c:4698 m32r-ibld.c:1114
-#: mep-ibld.c:3145 mt-ibld.c:1543 or1k-ibld.c:974 xc16x-ibld.c:1603
-#: xstormy16-ibld.c:1128
+#: epiphany-ibld.c:1578 fr30-ibld.c:1349 frv-ibld.c:1987 ip2k-ibld.c:880
+#: iq2000-ibld.c:1261 lm32-ibld.c:985 m32c-ibld.c:4704 m32r-ibld.c:1120
+#: mep-ibld.c:3151 mt-ibld.c:1549 or1k-ibld.c:980 xc16x-ibld.c:1609
+#: xstormy16-ibld.c:1134
 #, c-format
-msgid "Unrecognized field %d while setting int operand.\n"
+msgid "internal error: unrecognized field %d while setting int operand"
 msgstr ""
 
-#: epiphany-ibld.c:1694 fr30-ibld.c:1464 frv-ibld.c:2238 ip2k-ibld.c:923
-#: iq2000-ibld.c:1365 lm32-ibld.c:1047 m32c-ibld.c:5275 m32r-ibld.c:1205
-#: mep-ibld.c:3548 mt-ibld.c:1722 or1k-ibld.c:1036 xc16x-ibld.c:1797
-#: xstormy16-ibld.c:1217
+#: epiphany-ibld.c:1701 fr30-ibld.c:1471 frv-ibld.c:2245 ip2k-ibld.c:930
+#: iq2000-ibld.c:1372 lm32-ibld.c:1054 m32c-ibld.c:5282 m32r-ibld.c:1212
+#: mep-ibld.c:3555 mt-ibld.c:1729 or1k-ibld.c:1043 xc16x-ibld.c:1804
+#: xstormy16-ibld.c:1224
 #, c-format
-msgid "Unrecognized field %d while setting vma operand.\n"
+msgid "internal error: unrecognized field %d while setting vma operand"
 msgstr ""
 
-#: fr30-asm.c:92 m32c-asm.c:871 m32c-asm.c:878
+#: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879
 msgid "Register number is not valid"
 msgstr ""
 
-#: fr30-asm.c:94
+#: fr30-asm.c:95
 msgid "Register must be between r0 and r7"
 msgstr ""
 
-#: fr30-asm.c:96
+#: fr30-asm.c:97
 msgid "Register must be between r8 and r15"
 msgstr ""
 
-#: fr30-asm.c:115 m32c-asm.c:909
+#: fr30-asm.c:116 m32c-asm.c:910
 msgid "Register list is not valid"
 msgstr ""
 
-#: frv-asm.c:607
+#: fr30-desc.c:1586
+#, c-format
+msgid ""
+"internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: fr30-desc.c:1669
+#, c-format
+msgid "internal error: fr30_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: fr30-desc.c:1688
+#, c-format
+msgid "internal error: fr30_cgen_cpu_open: no endianness specified"
+msgstr ""
+
+#: frv-asm.c:608
 msgid "missing `]'"
 msgstr ""
 
-#: frv-asm.c:610 frv-asm.c:620
+#: frv-asm.c:611 frv-asm.c:621
 msgid "Special purpose register number is out of range"
 msgstr ""
 
-#: frv-asm.c:907
+#: frv-asm.c:908
 msgid "Value of A operand must be 0 or 1"
 msgstr ""
 
-#: frv-asm.c:943
+#: frv-asm.c:944
 msgid "register number must be even"
 msgstr ""
 
-#: h8300-dis.c:313
+#: frv-desc.c:6326
 #, c-format
-msgid "Hmmmm 0x%x"
+msgid ""
+"internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
 msgstr ""
 
-#: h8300-dis.c:690
+#: frv-desc.c:6409
 #, c-format
-msgid "Don't understand 0x%x \n"
+msgid "internal error: frv_cgen_cpu_open: unsupported argument `%d'"
 msgstr ""
 
-#: h8500-dis.c:123
+#: frv-desc.c:6428
 #, c-format
-msgid "can't cope with insert %d\n"
+msgid "internal error: frv_cgen_cpu_open: no endianness specified"
 msgstr ""
 
-#. Couldn't understand anything.
-#: h8500-dis.c:323
+#: frv-opc.c:459
 #, c-format
-msgid "%02x\t\t*unknown*"
+msgid "internal error: bad vliw->next_slot value"
 msgstr ""
 
-#: i386-dis.c:12280
+#: frv-opc.c:769
+#, c-format
+msgid "internal error: bad major code"
+msgstr ""
+
+#: frv-opc.c:819
+#, c-format
+msgid "internal error: bad insn unit"
+msgstr ""
+
+#: h8300-dis.c:63
+#, c-format
+msgid "internal error, h8_disassemble_init"
+msgstr ""
+
+#: h8300-dis.c:314
+#, c-format
+msgid "Hmmmm 0x%x"
+msgstr ""
+
+#: h8300-dis.c:691
+#, c-format
+msgid "Don't understand 0x%x \n"
+msgstr ""
+
+#: i386-dis.c:12405
 msgid "<internal disassembler error>"
 msgstr ""
 
-#: i386-dis.c:12579
+#: i386-dis.c:12700
 #, c-format
 msgid ""
 "\n"
@@ -832,149 +935,154 @@ msgid ""
 "with the -M switch (multiple options should be separated by commas):\n"
 msgstr ""
 
-#: i386-dis.c:12583
+#: i386-dis.c:12704
 #, c-format
 msgid "  x86-64      Disassemble in 64bit mode\n"
 msgstr ""
 
-#: i386-dis.c:12584
+#: i386-dis.c:12705
 #, c-format
 msgid "  i386        Disassemble in 32bit mode\n"
 msgstr ""
 
-#: i386-dis.c:12585
+#: i386-dis.c:12706
 #, c-format
 msgid "  i8086       Disassemble in 16bit mode\n"
 msgstr ""
 
-#: i386-dis.c:12586
+#: i386-dis.c:12707
 #, c-format
 msgid "  att         Display instruction in AT&T syntax\n"
 msgstr ""
 
-#: i386-dis.c:12587
+#: i386-dis.c:12708
 #, c-format
 msgid "  intel       Display instruction in Intel syntax\n"
 msgstr ""
 
-#: i386-dis.c:12588
+#: i386-dis.c:12709
 #, c-format
 msgid ""
 "  att-mnemonic\n"
 "              Display instruction in AT&T mnemonic\n"
 msgstr ""
 
-#: i386-dis.c:12590
+#: i386-dis.c:12711
 #, c-format
 msgid ""
 "  intel-mnemonic\n"
 "              Display instruction in Intel mnemonic\n"
 msgstr ""
 
-#: i386-dis.c:12592
+#: i386-dis.c:12713
 #, c-format
 msgid "  addr64      Assume 64bit address size\n"
 msgstr ""
 
-#: i386-dis.c:12593
+#: i386-dis.c:12714
 #, c-format
 msgid "  addr32      Assume 32bit address size\n"
 msgstr ""
 
-#: i386-dis.c:12594
+#: i386-dis.c:12715
 #, c-format
 msgid "  addr16      Assume 16bit address size\n"
 msgstr ""
 
-#: i386-dis.c:12595
+#: i386-dis.c:12716
 #, c-format
 msgid "  data32      Assume 32bit data size\n"
 msgstr ""
 
-#: i386-dis.c:12596
+#: i386-dis.c:12717
 #, c-format
 msgid "  data16      Assume 16bit data size\n"
 msgstr ""
 
-#: i386-dis.c:12597
+#: i386-dis.c:12718
 #, c-format
 msgid "  suffix      Always display instruction suffix in AT&T syntax\n"
 msgstr ""
 
-#: i386-dis.c:12598
+#: i386-dis.c:12719
 #, c-format
 msgid "  amd64       Display instruction in AMD64 ISA\n"
 msgstr ""
 
-#: i386-dis.c:12599
+#: i386-dis.c:12720
 #, c-format
 msgid "  intel64     Display instruction in Intel64 ISA\n"
 msgstr ""
 
-#: i386-dis.c:13150
+#: i386-dis.c:13260
 msgid "64-bit address is disabled"
 msgstr ""
 
-#: i386-gen.c:683 ia64-gen.c:306
+#: i386-gen.c:730
 #, c-format
-msgid "%s: Error: "
+msgid "%s: error: "
 msgstr ""
 
-#: i386-gen.c:847
+#: i386-gen.c:909
 #, c-format
-msgid "%s: %d: Unknown bitfield: %s\n"
+msgid "%s: %d: unknown bitfield: %s\n"
 msgstr ""
 
-#: i386-gen.c:849
+#: i386-gen.c:911
 #, c-format
-msgid "Unknown bitfield: %s\n"
+msgid "unknown bitfield: %s\n"
 msgstr ""
 
-#: i386-gen.c:908
+#: i386-gen.c:974
 #, c-format
-msgid "%s: %d: Missing `)' in bitfield: %s\n"
+msgid "%s: %d: missing `)' in bitfield: %s\n"
 msgstr ""
 
-#: i386-gen.c:1179
+#: i386-gen.c:1275
 #, c-format
 msgid "can't find i386-opc.tbl for reading, errno = %s\n"
 msgstr ""
 
-#: i386-gen.c:1310
+#: i386-gen.c:1406
 #, c-format
 msgid "can't find i386-reg.tbl for reading, errno = %s\n"
 msgstr ""
 
-#: i386-gen.c:1387
+#: i386-gen.c:1484
 #, c-format
 msgid "can't create i386-init.h, errno = %s\n"
 msgstr ""
 
-#: i386-gen.c:1477 ia64-gen.c:2829
+#: i386-gen.c:1574 ia64-gen.c:2829
 #, c-format
 msgid "unable to change directory to \"%s\", errno = %s\n"
 msgstr ""
 
-#: i386-gen.c:1489 i386-gen.c:1492
+#: i386-gen.c:1586 i386-gen.c:1589
 #, c-format
 msgid "CpuMax != %d!\n"
 msgstr ""
 
-#: i386-gen.c:1496
+#: i386-gen.c:1593
 #, c-format
 msgid "%d unused bits in i386_cpu_flags.\n"
 msgstr ""
 
-#: i386-gen.c:1503
+#: i386-gen.c:1600
 #, c-format
 msgid "%d unused bits in i386_operand_type.\n"
 msgstr ""
 
-#: i386-gen.c:1517
+#: i386-gen.c:1614
 #, c-format
 msgid "can't create i386-tbl.h, errno = %s\n"
 msgstr ""
 
+#: ia64-gen.c:306
+#, c-format
+msgid "%s: Error: "
+msgstr ""
+
 #: ia64-gen.c:319
 #, c-format
 msgid "%s: Warning: "
@@ -1078,84 +1186,135 @@ msgstr ""
 
 #. We've been passed a w.  Return with an error message so that
 #. cgen will try the next parsing option.
-#: ip2k-asm.c:80
+#: ip2k-asm.c:81
 msgid "W keyword invalid in FR operand slot."
 msgstr ""
 
 #. Invalid offset present.
-#: ip2k-asm.c:105
+#: ip2k-asm.c:106
 msgid "offset(IP) is not a valid form"
 msgstr ""
 
 #. Found something there in front of (DP) but it's out
 #. of range.
-#: ip2k-asm.c:153
+#: ip2k-asm.c:154
 msgid "(DP) offset out of range."
 msgstr ""
 
 #. Found something there in front of (SP) but it's out
 #. of range.
-#: ip2k-asm.c:194
+#: ip2k-asm.c:195
 msgid "(SP) offset out of range."
 msgstr ""
 
-#: ip2k-asm.c:210
+#: ip2k-asm.c:211
 msgid "illegal use of parentheses"
 msgstr ""
 
-#: ip2k-asm.c:217
+#: ip2k-asm.c:218
 msgid "operand out of range (not between 1 and 255)"
 msgstr ""
 
 #. Something is very wrong. opindex has to be one of the above.
-#: ip2k-asm.c:241
+#: ip2k-asm.c:242
 msgid "parse_addr16: invalid opindex."
 msgstr ""
 
-#: ip2k-asm.c:295
+#: ip2k-asm.c:296
 msgid "Byte address required. - must be even."
 msgstr ""
 
-#: ip2k-asm.c:304
+#: ip2k-asm.c:305
 msgid "cgen_parse_address returned a symbol. Literal required."
 msgstr ""
 
-#: ip2k-asm.c:359
+#: ip2k-asm.c:360
 msgid "percent-operator operand is not a symbol"
 msgstr ""
 
-#: ip2k-asm.c:412
+#: ip2k-asm.c:413
 msgid "Attempt to find bit index of 0"
 msgstr ""
 
-#: iq2000-asm.c:111 iq2000-asm.c:141
+#: ip2k-desc.c:1015
+#, c-format
+msgid ""
+"internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: ip2k-desc.c:1098
+#, c-format
+msgid "internal error: ip2k_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: ip2k-desc.c:1117
+#, c-format
+msgid "internal error: ip2k_cgen_cpu_open: no endianness specified"
+msgstr ""
+
+#: iq2000-asm.c:112 iq2000-asm.c:142
 msgid "immediate value cannot be register"
 msgstr ""
 
-#: iq2000-asm.c:122 iq2000-asm.c:152 lm32-asm.c:69
+#: iq2000-asm.c:123 iq2000-asm.c:153 lm32-asm.c:70
 msgid "immediate value out of range"
 msgstr ""
 
-#: iq2000-asm.c:181
+#: iq2000-asm.c:182
 msgid "21-bit offset out of range"
 msgstr ""
 
-#: lm32-asm.c:165
+#: iq2000-desc.c:2020
+#, c-format
+msgid ""
+"internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: iq2000-desc.c:2103
+#, c-format
+msgid "internal error: iq2000_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: iq2000-desc.c:2122
+#, c-format
+msgid "internal error: iq2000_cgen_cpu_open: no endianness specified"
+msgstr ""
+
+#: lm32-asm.c:166
 msgid "expecting gp relative address: gp(symbol)"
 msgstr ""
 
-#: lm32-asm.c:195
+#: lm32-asm.c:196
 msgid "expecting got relative address: got(symbol)"
 msgstr ""
 
-#: lm32-asm.c:225
+#: lm32-asm.c:226
 msgid "expecting got relative address: gotoffhi16(symbol)"
 msgstr ""
 
-#: lm32-asm.c:255
+#: lm32-asm.c:256
 msgid "expecting got relative address: gotofflo16(symbol)"
 msgstr ""
 
+#: lm32-desc.c:1002
+#, c-format
+msgid ""
+"internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: lm32-desc.c:1085
+#, c-format
+msgid "internal error: lm32_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: lm32-desc.c:1104
+#, c-format
+msgid "internal error: lm32_cgen_cpu_open: no endianness specified"
+msgstr ""
+
 #: m10200-dis.c:157 m10300-dis.c:580
 #, c-format
 msgid "unknown\t0x%04lx"
@@ -1166,80 +1325,114 @@ msgstr ""
 msgid "unknown\t0x%02lx"
 msgstr ""
 
-#: m32c-asm.c:116
+#: m32c-asm.c:117
 msgid "imm:6 immediate is out of range"
 msgstr ""
 
-#: m32c-asm.c:144
+#: m32c-asm.c:145
 #, c-format
 msgid "%dsp8() takes a symbolic address, not a number"
 msgstr ""
 
-#: m32c-asm.c:158 m32c-asm.c:162 m32c-asm.c:252
+#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:253
 msgid "dsp:8 immediate is out of range"
 msgstr ""
 
-#: m32c-asm.c:183 m32c-asm.c:187
+#: m32c-asm.c:184 m32c-asm.c:188
 msgid "Immediate is out of range -8 to 7"
 msgstr ""
 
-#: m32c-asm.c:208 m32c-asm.c:212
+#: m32c-asm.c:209 m32c-asm.c:213
 msgid "Immediate is out of range -7 to 8"
 msgstr ""
 
-#: m32c-asm.c:280
+#: m32c-asm.c:281
 #, c-format
 msgid "%dsp16() takes a symbolic address, not a number"
 msgstr ""
 
-#: m32c-asm.c:304 m32c-asm.c:311 m32c-asm.c:372
+#: m32c-asm.c:305 m32c-asm.c:312 m32c-asm.c:373
 msgid "dsp:16 immediate is out of range"
 msgstr ""
 
-#: m32c-asm.c:398
+#: m32c-asm.c:399
 msgid "dsp:20 immediate is out of range"
 msgstr ""
 
-#: m32c-asm.c:424 m32c-asm.c:444
+#: m32c-asm.c:425 m32c-asm.c:445
 msgid "dsp:24 immediate is out of range"
 msgstr ""
 
-#: m32c-asm.c:477
+#: m32c-asm.c:478
 msgid "immediate is out of range 1-2"
 msgstr ""
 
-#: m32c-asm.c:495
+#: m32c-asm.c:496
 msgid "immediate is out of range 1-8"
 msgstr ""
 
-#: m32c-asm.c:513
+#: m32c-asm.c:514
 msgid "immediate is out of range 0-7"
 msgstr ""
 
-#: m32c-asm.c:549
+#: m32c-asm.c:550
 msgid "immediate is out of range 2-9"
 msgstr ""
 
-#: m32c-asm.c:567
+#: m32c-asm.c:568
 msgid "Bit number for indexing general register is out of range 0-15"
 msgstr ""
 
-#: m32c-asm.c:605 m32c-asm.c:661
+#: m32c-asm.c:606 m32c-asm.c:662
 msgid "bit,base is out of range"
 msgstr ""
 
-#: m32c-asm.c:612 m32c-asm.c:617 m32c-asm.c:665
+#: m32c-asm.c:613 m32c-asm.c:618 m32c-asm.c:666
 msgid "bit,base out of range for symbol"
 msgstr ""
 
-#: m32c-asm.c:801
+#: m32c-asm.c:802
 msgid "not a valid r0l/r0h pair"
 msgstr ""
 
-#: m32c-asm.c:831
+#: m32c-asm.c:832
 msgid "Invalid size specifier"
 msgstr ""
 
+#: m32c-desc.c:63033
+#, c-format
+msgid ""
+"internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: m32c-desc.c:63116
+#, c-format
+msgid "internal error: m32c_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: m32c-desc.c:63135
+#, c-format
+msgid "internal error: m32c_cgen_cpu_open: no endianness specified"
+msgstr ""
+
+#: m32r-desc.c:1365
+#, c-format
+msgid ""
+"internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: m32r-desc.c:1448
+#, c-format
+msgid "internal error: m32r_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: m32r-desc.c:1467
+#, c-format
+msgid "internal error: m32r_cgen_cpu_open: no endianness specified"
+msgstr ""
+
 #: m68k-dis.c:1292
 #, c-format
 msgid "<function code %d>"
@@ -1250,50 +1443,62 @@ msgstr ""
 msgid "<internal error in opcode table: %s %s>\n"
 msgstr ""
 
-#: m88k-dis.c:678
-#, c-format
-msgid "# <dis error: %08lx>"
-msgstr ""
-
-#: mep-asm.c:128
+#: mep-asm.c:129
 msgid "Only $tp or $13 allowed for this opcode"
 msgstr ""
 
-#: mep-asm.c:142
+#: mep-asm.c:143
 msgid "Only $sp or $15 allowed for this opcode"
 msgstr ""
 
-#: mep-asm.c:307 mep-asm.c:503
+#: mep-asm.c:308 mep-asm.c:504
 #, c-format
 msgid "invalid %function() here"
 msgstr ""
 
-#: mep-asm.c:335
+#: mep-asm.c:336
 msgid "Immediate is out of range -32768 to 32767"
 msgstr ""
 
-#: mep-asm.c:355
+#: mep-asm.c:356
 msgid "Immediate is out of range 0 to 65535"
 msgstr ""
 
-#: mep-asm.c:548 mep-asm.c:561
+#: mep-asm.c:549 mep-asm.c:562
 msgid "Immediate is out of range -512 to 511"
 msgstr ""
 
-#: mep-asm.c:553 mep-asm.c:562
+#: mep-asm.c:554 mep-asm.c:563
 msgid "Immediate is out of range -128 to 127"
 msgstr ""
 
-#: mep-asm.c:557
+#: mep-asm.c:558
 msgid "Value is not aligned enough"
 msgstr ""
 
-#: mips-dis.c:1751 mips-dis.c:1977
+#: mep-desc.c:6226
+#, c-format
+msgid ""
+"internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: mep-desc.c:6309
+#, c-format
+msgid "internal error: mep_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: mep-desc.c:6328
+#, c-format
+msgid "internal error: mep_cgen_cpu_open: no endianness specified"
+msgstr ""
+
+#: mips-dis.c:1758 mips-dis.c:1984
 #, c-format
 msgid "# internal error, undefined operand in `%s %s'"
 msgstr ""
 
-#: mips-dis.c:2553
+#: mips-dis.c:2560
 #, c-format
 msgid ""
 "\n"
@@ -1301,28 +1506,28 @@ msgid ""
 "with the -M switch (multiple options should be separated by commas):\n"
 msgstr ""
 
-#: mips-dis.c:2557
+#: mips-dis.c:2564
 #, c-format
 msgid ""
 "\n"
 "  no-aliases               Use canonical instruction forms.\n"
 msgstr ""
 
-#: mips-dis.c:2560
+#: mips-dis.c:2567
 #, c-format
 msgid ""
 "\n"
 "  msa                      Recognize MSA instructions.\n"
 msgstr ""
 
-#: mips-dis.c:2563
+#: mips-dis.c:2570
 #, c-format
 msgid ""
 "\n"
 "  virt                     Recognize the virtualization ASE instructions.\n"
 msgstr ""
 
-#: mips-dis.c:2566
+#: mips-dis.c:2573
 #, c-format
 msgid ""
 "\n"
@@ -1330,7 +1535,15 @@ msgid ""
 "                           ASE instructions.\n"
 msgstr ""
 
-#: mips-dis.c:2570
+#: mips-dis.c:2577
+#, c-format
+msgid ""
+"\n"
+"  ginv                     Recognize the Global INValidate (GINV) ASE\n"
+"                           instructions.\n"
+msgstr ""
+
+#: mips-dis.c:2581
 #, c-format
 msgid ""
 "\n"
@@ -1338,7 +1551,7 @@ msgid ""
 "                           Default: based on binary being disassembled.\n"
 msgstr ""
 
-#: mips-dis.c:2574
+#: mips-dis.c:2585
 #, c-format
 msgid ""
 "\n"
@@ -1346,7 +1559,7 @@ msgid ""
 "                           Default: numeric.\n"
 msgstr ""
 
-#: mips-dis.c:2578
+#: mips-dis.c:2589
 #, c-format
 msgid ""
 "\n"
@@ -1355,7 +1568,7 @@ msgid ""
 "                           Default: based on binary being disassembled.\n"
 msgstr ""
 
-#: mips-dis.c:2583
+#: mips-dis.c:2594
 #, c-format
 msgid ""
 "\n"
@@ -1364,7 +1577,7 @@ msgid ""
 "                           Default: based on binary being disassembled.\n"
 msgstr ""
 
-#: mips-dis.c:2588
+#: mips-dis.c:2599
 #, c-format
 msgid ""
 "\n"
@@ -1372,7 +1585,7 @@ msgid ""
 "                           specified ABI.\n"
 msgstr ""
 
-#: mips-dis.c:2592
+#: mips-dis.c:2603
 #, c-format
 msgid ""
 "\n"
@@ -1380,7 +1593,7 @@ msgid ""
 "                           specified architecture.\n"
 msgstr ""
 
-#: mips-dis.c:2596
+#: mips-dis.c:2607
 #, c-format
 msgid ""
 "\n"
@@ -1388,7 +1601,7 @@ msgid ""
 "   "
 msgstr ""
 
-#: mips-dis.c:2603
+#: mips-dis.c:2614
 #, c-format
 msgid ""
 "\n"
@@ -1396,25 +1609,30 @@ msgid ""
 "   "
 msgstr ""
 
-#: mmix-dis.c:34
+#: mmix-dis.c:33
 #, c-format
-msgid "Bad case %d (%s) in %s:%d\n"
+msgid "bad case %d (%s) in %s:%d"
 msgstr ""
 
-#: mmix-dis.c:44
+#: mmix-dis.c:42
 #, c-format
-msgid "Internal: Non-debugged code (test-case missing): %s:%d"
+msgid "internal: non-debugged code (test-case missing): %s:%d"
 msgstr ""
 
-#: mmix-dis.c:53
+#: mmix-dis.c:52
 msgid "(unknown)"
 msgstr ""
 
-#: mmix-dis.c:511
+#: mmix-dis.c:510
 #, c-format
 msgid "*unknown operands type: %d*"
 msgstr ""
 
+#: msp430-decode.opc:145 rl78-decode.opc:106
+#, c-format
+msgid "internal error: immediate() called with invalid byte count %d"
+msgstr ""
+
 #: msp430-dis.c:59
 #, c-format
 msgid "Warning: disassembly unreliable - not enough bytes available"
@@ -1443,22 +1661,121 @@ msgstr ""
 msgid "Warning: reserved use of A/L and B/W bits detected"
 msgstr ""
 
-#: mt-asm.c:109 mt-asm.c:189
+#: mt-asm.c:110 mt-asm.c:190
 msgid "Operand out of range. Must be between -32768 and 32767."
 msgstr ""
 
-#: mt-asm.c:148
+#: mt-asm.c:149
 msgid "Biiiig Trouble in parse_imm16!"
 msgstr ""
 
-#: mt-asm.c:156
+#: mt-asm.c:157
 msgid "The percent-operator's operand is not a symbol"
 msgstr ""
 
-#: mt-asm.c:394
+#: mt-asm.c:395
 msgid "invalid operand.  type may have values 0,1,2 only."
 msgstr ""
 
+#: mt-desc.c:1146
+#, c-format
+msgid ""
+"internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: mt-desc.c:1229
+#, c-format
+msgid "internal error: mt_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: mt-desc.c:1248
+#, c-format
+msgid "internal error: mt_cgen_cpu_open: no endianness specified"
+msgstr ""
+
+#: nds32-asm.c:1508
+#, c-format
+msgid "internal error: unknown operand, %s"
+msgstr ""
+
+#: nds32-asm.c:2062
+#, c-format
+msgid "internal error: don't know how to handle parsing results"
+msgstr ""
+
+#: nds32-asm.c:2070
+#, c-format
+msgid "internal error: unknown hardware resource"
+msgstr ""
+
+#: nfp-dis.c:927
+msgid "<invalid_instruction>:"
+msgstr ""
+
+#: nfp-dis.c:1331
+msgid ", <invalid CRC operator>, "
+msgstr ""
+
+#: nfp-dis.c:1683
+msgid "<invalid branch>["
+msgstr ""
+
+#: nfp-dis.c:2052 nfp-dis.c:2323
+#, c-format
+msgid "<invalid cmd target %d:%d:%d>[]"
+msgstr ""
+
+#: nfp-dis.c:2063 nfp-dis.c:2334
+#, c-format
+msgid "<invalid cmd action %d:%d:%d>[]"
+msgstr ""
+
+#: nfp-dis.c:2555
+msgid "File has no ME-Config section."
+msgstr ""
+
+#: nfp-dis.c:2569
+msgid "File has invalid ME-Config section."
+msgstr ""
+
+#: nfp-dis.c:2711
+#, c-format
+msgid "Error processing section %u "
+msgstr ""
+
+#: nfp-dis.c:2740
+#, c-format
+msgid "Invalid NFP option: %s"
+msgstr ""
+
+#: nfp-dis.c:2972
+#, c-format
+msgid ""
+"\n"
+"The following NFP specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+
+#: nfp-dis.c:2976
+#, c-format
+msgid ""
+"\n"
+"  no-pc\t\t    Don't print program counter prefix.\n"
+"  ctx4\t\t    Force disassembly using 4-context mode.\n"
+"  ctx8\t\t    Force 8-context mode, takes presedence.\""
+msgstr ""
+
+#: nios2-dis.c:135
+#, c-format
+msgid "out of memory"
+msgstr ""
+
+#: nios2-dis.c:263
+#, c-format
+msgid "internal error: broken opcode descriptor for `%s %s'"
+msgstr ""
+
 #. I and Z are output operands and can`t be immediate
 #. A is an address and we can`t have the address of
 #. an immediate either. We don't know how much to increase
@@ -1469,12 +1786,29 @@ msgstr ""
 msgid "$<undefined>"
 msgstr ""
 
-#: ppc-dis.c:354
+#: or1k-desc.c:1948
+#, c-format
+msgid ""
+"internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: or1k-desc.c:2031
 #, c-format
-msgid "warning: ignoring unknown -M%s option\n"
+msgid "internal error: or1k_cgen_cpu_open: unsupported argument `%d'"
 msgstr ""
 
-#: ppc-dis.c:805
+#: or1k-desc.c:2050
+#, c-format
+msgid "internal error: or1k_cgen_cpu_open: no endianness specified"
+msgstr ""
+
+#: ppc-dis.c:363
+#, c-format
+msgid "warning: ignoring unknown -M%s option"
+msgstr ""
+
+#: ppc-dis.c:838
 #, c-format
 msgid ""
 "\n"
@@ -1482,86 +1816,109 @@ msgid ""
 "the -M switch:\n"
 msgstr ""
 
-#: ppc-opc.c:992 ppc-opc.c:1015 ppc-opc.c:1040 ppc-opc.c:1069
+#: ppc-opc.c:52 ppc-opc.c:75 ppc-opc.c:100 ppc-opc.c:129
 msgid "invalid register"
 msgstr ""
 
-#: ppc-opc.c:1317 ppc-opc.c:1347
+#: ppc-opc.c:382 ppc-opc.c:410
 msgid "invalid conditional option"
 msgstr ""
 
-#: ppc-opc.c:1319 ppc-opc.c:1349
+#: ppc-opc.c:384 ppc-opc.c:412
 msgid "invalid counter access"
 msgstr ""
 
-#: ppc-opc.c:1351
+#: ppc-opc.c:414
 msgid "attempt to set y bit when using + or - modifier"
 msgstr ""
 
-#: ppc-opc.c:1441
+#: ppc-opc.c:505
 msgid "invalid mask field"
 msgstr ""
 
-#: ppc-opc.c:1464
+#: ppc-opc.c:528
 msgid "invalid mfcr mask"
 msgstr ""
 
-#: ppc-opc.c:1538 ppc-opc.c:1578
+#: ppc-opc.c:601 ppc-opc.c:641
 msgid "illegal L operand value"
 msgstr ""
 
-#: ppc-opc.c:1584
+#: ppc-opc.c:647
 msgid "incompatible L operand value"
 msgstr ""
 
-#: ppc-opc.c:1628 ppc-opc.c:1663
+#: ppc-opc.c:691 ppc-opc.c:726
 msgid "illegal bitmask"
 msgstr ""
 
-#: ppc-opc.c:1750
+#: ppc-opc.c:813
 msgid "address register in load range"
 msgstr ""
 
-#: ppc-opc.c:1816
+#: ppc-opc.c:879
 msgid "index register in load range"
 msgstr ""
 
-#: ppc-opc.c:1845 ppc-opc.c:1926
+#: ppc-opc.c:908 ppc-opc.c:991
 msgid "source and target register operands must be different"
 msgstr ""
 
-#: ppc-opc.c:1873
+#: ppc-opc.c:936
 msgid "invalid register operand when updating"
 msgstr ""
 
-#: ppc-opc.c:1989
+#: ppc-opc.c:1054
 msgid "illegal immediate value"
 msgstr ""
 
-#: ppc-opc.c:2136
+#: ppc-opc.c:1201
 msgid "invalid sprg number"
 msgstr ""
 
-#: ppc-opc.c:2173
+#: ppc-opc.c:1238
 msgid "invalid tbr number"
 msgstr ""
 
-#: ppc-opc.c:2317
+#: ppc-opc.c:1381
 msgid "invalid constant"
 msgstr ""
 
-#. Invalid option.
+#: ppc-opc.c:1486 ppc-opc.c:1513 ppc-opc.c:1540 ppc-opc.c:1567
+msgid "UIMM = 00000 is illegal"
+msgstr ""
+
+#: ppc-opc.c:1594
+msgid "UIMM values >7 are illegal"
+msgstr ""
+
+#: ppc-opc.c:1621
+msgid "UIMM values >15 are illegal"
+msgstr ""
+
+#: ppc-opc.c:1648
+msgid "GPR odd is illegal"
+msgstr ""
+
+#: ppc-opc.c:1675 ppc-opc.c:1702
+msgid "invalid offset"
+msgstr ""
+
+#: ppc-opc.c:1729
+msgid "invalid Ddd value"
+msgstr ""
+
 #: riscv-dis.c:68
 #, c-format
-msgid "Unrecognized disassembler option: %s\n"
+msgid "unrecognized disassembler option: %s"
 msgstr ""
 
-#: riscv-dis.c:344
+#: riscv-dis.c:346
 #, c-format
 msgid "# internal error, undefined modifier (%c)"
 msgstr ""
 
-#: riscv-dis.c:496
+#: riscv-dis.c:498
 #, c-format
 msgid ""
 "\n"
@@ -1569,14 +1926,14 @@ msgid ""
 "with the -M switch (multiple options should be separated by commas):\n"
 msgstr ""
 
-#: riscv-dis.c:500
+#: riscv-dis.c:502
 #, c-format
 msgid ""
 "\n"
-"  numeric       Print numeric reigster names, rather than ABI names.\n"
+"  numeric       Print numeric register names, rather than ABI names.\n"
 msgstr ""
 
-#: riscv-dis.c:503
+#: riscv-dis.c:505
 #, c-format
 msgid ""
 "\n"
@@ -1596,7 +1953,12 @@ msgstr ""
 msgid "Print unknown instructions according to length from first two bits"
 msgstr ""
 
-#: s390-dis.c:409
+#: s390-dis.c:76
+#, c-format
+msgid "unknown S/390 disassembler option: %s"
+msgstr ""
+
+#: s390-dis.c:410
 #, c-format
 msgid ""
 "\n"
@@ -1609,34 +1971,29 @@ msgstr ""
 msgid "<illegal instruction>"
 msgstr ""
 
-#: sparc-dis.c:309
-#, c-format
-msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr ""
-
-#: sparc-dis.c:320
+#: sparc-dis.c:308 sparc-dis.c:318
 #, c-format
-msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
+msgid "internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
 msgstr ""
 
-#: sparc-dis.c:379
+#: sparc-dis.c:377
 #, c-format
-msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
+msgid "internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
 msgstr ""
 
 #. Mark as non-valid instruction.
-#: sparc-dis.c:1100
+#: sparc-dis.c:1098
 msgid "unknown"
 msgstr ""
 
 #: v850-dis.c:453
 #, c-format
-msgid "unknown operand shift: %x\n"
+msgid "unknown operand shift: %x"
 msgstr ""
 
-#: v850-dis.c:465
+#: v850-dis.c:469
 #, c-format
-msgid "unknown reg: %d\n"
+msgid "unknown reg: %d"
 msgstr ""
 
 #. The functions used to insert and extract complicated operands.
@@ -1724,66 +2081,100 @@ msgid ""
 "with the -M switch:\n"
 msgstr ""
 
-#: xc16x-asm.c:65
+#: xc16x-asm.c:66
 msgid "Missing '#' prefix"
 msgstr ""
 
-#: xc16x-asm.c:81
+#: xc16x-asm.c:82
 msgid "Missing '.' prefix"
 msgstr ""
 
-#: xc16x-asm.c:97
+#: xc16x-asm.c:98
 msgid "Missing 'pof:' prefix"
 msgstr ""
 
-#: xc16x-asm.c:113
+#: xc16x-asm.c:114
 msgid "Missing 'pag:' prefix"
 msgstr ""
 
-#: xc16x-asm.c:129
+#: xc16x-asm.c:130
 msgid "Missing 'sof:' prefix"
 msgstr ""
 
-#: xc16x-asm.c:145
+#: xc16x-asm.c:146
 msgid "Missing 'seg:' prefix"
 msgstr ""
 
-#: xstormy16-asm.c:70
+#: xc16x-desc.c:3349
+#, c-format
+msgid ""
+"internal error: xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: xc16x-desc.c:3432
+#, c-format
+msgid "internal error: xc16x_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: xc16x-desc.c:3451
+#, c-format
+msgid "internal error: xc16x_cgen_cpu_open: no endianness specified"
+msgstr ""
+
+#: xstormy16-asm.c:71
 msgid "Bad register in preincrement"
 msgstr ""
 
-#: xstormy16-asm.c:75
+#: xstormy16-asm.c:76
 msgid "Bad register in postincrement"
 msgstr ""
 
-#: xstormy16-asm.c:77
+#: xstormy16-asm.c:78
 msgid "Bad register name"
 msgstr ""
 
-#: xstormy16-asm.c:81
+#: xstormy16-asm.c:82
 msgid "Label conflicts with register name"
 msgstr ""
 
-#: xstormy16-asm.c:85
+#: xstormy16-asm.c:86
 msgid "Label conflicts with `Rx'"
 msgstr ""
 
-#: xstormy16-asm.c:87
+#: xstormy16-asm.c:88
 msgid "Bad immediate expression"
 msgstr ""
 
-#: xstormy16-asm.c:108
+#: xstormy16-asm.c:109
 msgid "No relocation for small immediate"
 msgstr ""
 
-#: xstormy16-asm.c:118
+#: xstormy16-asm.c:119
 msgid "Small operand was not an immediate number"
 msgstr ""
 
-#: xstormy16-asm.c:156
+#: xstormy16-asm.c:157
 msgid "Operand is not a symbol"
 msgstr ""
 
-#: xstormy16-asm.c:164
+#: xstormy16-asm.c:165
 msgid "Syntax error: No trailing ')'"
 msgstr ""
+
+#: xstormy16-desc.c:1317
+#, c-format
+msgid ""
+"internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-"
+"bitsize values: `%d' vs. `%d'"
+msgstr ""
+
+#: xstormy16-desc.c:1400
+#, c-format
+msgid "internal error: xstormy16_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: xstormy16-desc.c:1419
+#, c-format
+msgid "internal error: xstormy16_cgen_cpu_open: no endianness specified"
+msgstr ""
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/POTFILES.in ./opcodes/po/POTFILES.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/POTFILES.in	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/po/POTFILES.in	2018-07-10 02:06:15.000000000 +0000
@@ -59,19 +59,13 @@ frv-opc.h
 ft32-dis.c
 ft32-opc.c
 h8300-dis.c
-h8500-dis.c
-h8500-opc.h
 hppa-dis.c
-i370-dis.c
-i370-opc.c
 i386-dis.c
 i386-gen.c
 i386-init.h
 i386-opc.c
 i386-opc.h
 i386-tbl.h
-i860-dis.c
-i960-dis.c
 ia64-asmtab.c
 ia64-asmtab.h
 ia64-dis.c
@@ -129,7 +123,6 @@ m68hc11-dis.c
 m68hc11-opc.c
 m68k-dis.c
 m68k-opc.c
-m88k-dis.c
 mcore-dis.c
 mcore-opc.h
 mep-asm.c
@@ -161,6 +154,7 @@ mt-opc.c
 mt-opc.h
 nds32-asm.c
 nds32-dis.c
+nfp-dis.c
 nios2-dis.c
 nios2-opc.c
 ns32k-dis.c
@@ -183,6 +177,7 @@ rl78-decode.c
 rl78-dis.c
 rx-decode.c
 rx-dis.c
+s12z-dis.c
 s390-dis.c
 s390-mkopc.c
 s390-opc.c
@@ -191,9 +186,6 @@ score-opc.h
 score7-dis.c
 sh-dis.c
 sh-opc.h
-sh64-dis.c
-sh64-opc.c
-sh64-opc.h
 sparc-dis.c
 sparc-opc.c
 spu-dis.c
@@ -215,8 +207,6 @@ v850-opc.c
 vax-dis.c
 visium-dis.c
 visium-opc.c
-w65-dis.c
-w65-opc.h
 wasm32-dis.c
 xc16x-asm.c
 xc16x-desc.c
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/pt_BR.gmo ./opcodes/po/pt_BR.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/pt_BR.gmo	2018-07-03 02:10:51.000000000 +0000
+++ ./opcodes/po/pt_BR.gmo	2018-07-10 02:10:39.000000000 +0000
@@ -1,68 +1,321 @@
-Þ•WÔŒˆ[‰å9ù(3\i	yƒ	Ÿ©¼Ð(î	-	M	h	�	Ÿ	¼	Î	ä	,í	
-:6
-1q
-9£
-6Ý
-".)Q{%�#³+×+1/1a%“+¹1å1
/I
y
‘
¬
Å
.Ú
+	5O!j5Œ"Â0å&F)c�ª%Å&ë&!:\!w!™2»2î2!0T-…;³	ïù /Gb w˜±œÄcaÅ?ã+#
O]r%�
§µËÝ7û3%Qw•$¯$Ôù%,.[;w2³:æ8!Z)u-ŸÍ&ã2
-5=8s0¬0Ý'462k2ž3Ñ:!Y:{7¶î',<T(‘@ºû!4(R.{ª)Å1ï!;'T#|* *Ë5ö5,5b3˜5ÌA 
-D O \ p … ™ *µ !à "!%!?!P;J>?IDH-.2:<!F5"7V841T*K%Q
LU)& ,+
-S3CG	B/A#=@$OE6RM(0N9W'
+Þ•µÄ
Kl˜$™$L›$Kè$44%½i%3'&u[&pÑ&�B'µÓ'8‰(=Â(7)t8)3­)šá)0|*F­*kô*}`+KÞ+w*,�¢,‰3-[½-�.Œ§.[4/��/Ž 0”¯0‰D1(Î1(÷1( 2/I21y2B«2%î2%31:3.l3?›3<Û3?4CX4(œ4(Å42î4E!51g59™51Ó5?6(E6)n6.˜6Ç6"Ô6%÷6/7.M7$|7¡7¿7
Ë7Ù7å78858	O8Y8	u88š8µ8Ð8ã8ù8
9(+9T9f9†9¦9½9Ó9ê9 
+:+:J:c:�:ž:°:=Ï:&
;4;C;$`;"…;*¨;Ó;ë;<3'<#[<<ž<
+±<D¼<C=+E=&q=%˜=)¾=%è=!>!0>$R>w>Ž>8¥>Þ>"ø>?.?A?W?m?ƒ?™?!±?Ó?'î?'@>@7V@BŽ@Ñ@"ì@#A3APAiAA!™A5»A&ñA'B/@B)pB/šBÊBbèB.KCzC’C®CÉCÛC!÷C%D?D<SD�D#¯D2ÓD"E*)E+TE €E¡EÀE/ÛEF%F=FXF qF’F«F+ÀFìFG%"G$HGmG0ˆG0¹G#êG*H%9H7_H!—H!¹H5ÛH"I+4I `I �I ¢IÃI+ãI2J2BJ)uJŸJ¸J)ÌJ!öJ'K'@K'hK�K¨K¸KÈKàKûKL1LOLmL‹L©LºL"ÑLôL"M'MGMdM|M™M!¶MØM#ôMN6N1UN9‡N)ÁN4ëN8 O?YOA™ObÛO;>P=zP^¸P:Q<RQ]�Q=íQ;+R=gR^¥R=S?BS`‚S;ãS=T^]T;¼T=øT^6U;•U=ÑU^V:nV<©V]æV9DW;~W\ºW;X=SX^‘X)ðX#Y9>Y9xY?²Y?òY32Z9fZ? Z?àZ< [>][_œ[@ü[B=\c€\6ä\]4] F]g]]œ]·]È]ß]%ý]#^6^H^2W^0Š^+»^.ç^1_H_f_%w_�_³_(É_%ò_&`?`&W` ~`Ÿ`´`)Ë`%õ`a8aLa&_a†a¢a¶a&Êañaýa	b!!bCb;Tb�b
+®b$¹b%Þb+c/0c+`cŒc¥c&Äcëc2ÿc22d2ed4˜d,Íd
úde)"eLe[e(ze£e#Âeæe!f $fEf\fsf‡fŸf·fÌfàfôfgg(0g%Ygg�g¬g!Âg+äg'h8hXhrhhœh¹h%Õhûhi5*i&`i'‡i¯i-Ïi;ýi/9j	ijsj�j˜j¨j%¸jÞjôjk&k(6k$_k"„k$§k Ìkíkl#%l"Il"ll �l°lÉlälül%m:m Vmwm‡m–m²oM´oLp5OpÅ…p@KqxŒqrr“xr·s8ÄsBýs:@tn{t7êt¬"u2ÏuOvjRv~½vN<wy‹w¢xŸ¨xfHyŸ¯yžOzfîz¡U{ ÷{¦˜|Á?}4~46~4k~- ~0Î~Bÿ~0B0s1¤.Ö?€<E€?‚€HÂ€%�%1�1W�E‰�/Ï�9ÿ�19‚Ak‚%­‚+Ó‚.ÿ‚
.ƒ'<ƒ*dƒ6�ƒ5Æƒ%üƒ""„
+E„P„
+\„g„…„ £„ Ä„å„%ô„…)…%F…'l…”…­…Â…Õ…:ó….†$B†"g†Š†£†Á†'à†(‡'1‡Y‡%w‡%�‡Ã‡!Þ‡Mˆ*Nˆyˆˆˆ#¥ˆ"Éˆ,ìˆ‰$-‰ R‰:s‰.®‰(Ý‰Š
+ŠX&ŠVŠ/ÖŠ*‹'1‹+Y‹'…‹#­‹#Ñ‹&õ‹Œ"6ŒFYŒ Œ*¼ŒçŒþŒ�/�I�c�}�*›�#Æ�<ê�<'ŽdŽ8ƒŽT¼Ž$�$6�%[�&��¨�Å�+ß�0�D<�/��0±�:â�2‘@P‘$‘‘m¶‘2$’W’n’Œ’©’)¿’#é’1
“?“EV“/œ“,Ì“0ù“&*”-Q”4”#´”5Ø”•5.•d•�•œ•º•)×•–" –8C–|–"š–1½–0ï–- —CN—C’—6Ö—?
˜>M˜9Œ˜.Æ˜)õ˜?™)_™-‰™#·™#Û™#ÿ™"#š1Fš8xš8±š/êš›9›.K›!z›,œ›,É›,ö›#œ>œVœeœ~œ˜œ"²œ Õœ öœ � 8�Y�r�/‰�¹�+Ë�%÷�%žCž!Zž3|ž,°žÝž!ùž$Ÿ)@Ÿ2jŸ:�Ÿ-ØŸF ?M F� CÔ e¡B~¡?Á¡a¢Ac¢>¥¢`ä¢DE£BŠ£?Í£a
¤Do¤A´¤cö¤BZ¥?�¥aÝ¥B?¦?‚¦aÂ¦B$§?g§a§§A	¨>K¨`Š¨@ë¨=,©_j©BÊ©?
ªaMª.¯ª'Þª4«7;«9s«9­«4ç«4¬;Q¬;�¬CÉ¬@
­bN­G±­Dù­f>®:¥®à®û®)¯<¯X¯w¯•¯©¯%Å¯&ë¯°.°I°;`°2œ°,Ï°4ü°61±$h±�±*£±Î±í±0²-<².j²%™²4¿² ô²³3³;O³(‹³"´³×³ñ³(
+´3´Q´k´*€´«´¸´ Å´(æ´µ:#µ"^µ
�µ&�µ*¶µ2áµ6¶?K¶‹¶*ª¶@Õ¶·7,·7d·7œ·9Ô·1¸@¸V¸+o¸›¸ ª¸0Ë¸&ü¸*#¹N¹/m¹$�¹"Â¹å¹ºº4ºPºiº�º™º±ºÉº%áº-»5»#L»p».Š»2¹»(ì» ¼6¼V¼$j¼$�¼#´¼/Ø¼½ ½;;½.w½1¦½&Ø½:ÿ½H:¾<ƒ¾
+À¾!Ë¾í¾ú¾¿-$¿R¿m¿)‹¿µ¿.Ò¿'À1)À'[À%ƒÀ©À!ÆÀ(èÀ'Á'9Á%aÁ‡Á§ÁÃÁßÁ*ûÁ$&Â0KÂ|ÂŒÂ4%�<Z¬¸9*ÏF5±’®-[µ;©vžxyw˜ ¡$L�ˆq1§$Õ¹/ƒAæ3¨ûOj4	MymÌ”¨œX\‡iŽ¢ë®›7<u‡{3¡|6}6îŒKš£ r�¿ÅÞ,:ŠÓKò(Gkð“øOÆ…†Ç¾éqL‚m+z5�á_&:«z\
+¶€Ý”)˜&ýUú•ù=Ž‹rÄ1¤¼S;iŸW„v RU‚t�'È­(ñÒ÷ÿþÊß’nT@¦‹œ8EÁ
+WB»ˆ›�ã0«µ{‘Ù`Îï>p±´#8D·‘§'�~„­~.@GºaíoçhoÜ
—kd|THM)ÉI°P£DPê¬tš°c½üÑb öôR�lHÍJ-ªsg_V/Q0Â³ÔeZ…³[Ëä+àÐsh´XCØ>l†ŸpF¯Ûn=�¦xwc–!.f	E¤^"ógJu¢ŠY–,d]â€AŒNÚaõ™ª%C¥™"¯7I×åj?*]ì#9ƒbf?èÃ²!BÀÖVN‰•}2©Q“—YS‰¥2ž^`e�
²
+
+  For the options above, The following values are supported for "ARCH":
+   
+  For the options above, the following values are supported for "ABI":
+   
+  aliases            Do print instruction aliases.
+
+  cp0-names=ARCH           Print CP0 register names according to
+                           specified architecture.
+                           Default: based on binary being disassembled.
+
+  debug_dump         Temp switch for debug trace.
+
+  fpr-names=ABI            Print FPR names according to specified ABI.
+                           Default: numeric.
+
+  ginv                     Recognize the Global INValidate (GINV) ASE
+                           instructions.
+
+  gpr-names=ABI            Print GPR names according to specified ABI.
+                           Default: based on binary being disassembled.
+
+  hwr-names=ARCH           Print HWR names according to specified 
+                           architecture.
+                           Default: based on binary being disassembled.
+
+  msa                      Recognize MSA instructions.
+
+  no-aliases               Use canonical instruction forms.
+
+  no-aliases         Don't print instruction aliases.
+
+  no-aliases    Disassemble only into canonical instructions, rather
+                than into pseudoinstructions.
+
+  no-notes         Don't print instruction notes.
+
+  no-pc		    Don't print program counter prefix.
+  ctx4		    Force disassembly using 4-context mode.
+  ctx8		    Force 8-context mode, takes presedence."
+  notes            Do print instruction notes.
+
+  numeric       Print numeric register names, rather than ABI names.
+
+  reg-names=ABI            Print GPR and FPR names according to
+                           specified ABI.
+
+  reg-names=ARCH           Print CP0 register and HWR names according to
+                           specified architecture.
+
+  virt                     Recognize the virtualization ASE instructions.
+
+  xpa                      Recognize the eXtended Physical Address (XPA)
+                           ASE instructions.
+
+The following AARCH64 specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
+The following ARC specific disassembler options are supported for use 
+with -M switch (multiple options should be separated by commas):
+
 The following ARM specific disassembler options are supported for use with
 the -M switch:
-# <dis error: %08x># internal disassembler error, unrecognised modifier (%c)# internal error, undefined modifier(%c)$<undefined>%02x		*unknown*(unknown)*unknown operands type: %d**unknown*<function code %d><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
-<unknown register %d>Address 0x%x is out of bounds.
-Bad case %d (%s) in %s:%d
-Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameDon't understand %x 
-Hmmmm %xIllegal limm reference in last instruction!
-Internal disassembler errorInternal error:  bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
-Internal error: bad sparc-opcode.h: "%s" == "%s"
-Internal error: bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
-Internal: Non-debugged code (test-case missing): %s:%dLabel conflicts with `Rx'Label conflicts with register nameSmall operand was not an immediate numberUnknown error %d
-Unrecognised disassembler option: %s
-Unrecognised register name set: %s
-Unrecognized field %d while building insn.
-Unrecognized field %d while decoding insn.
-Unrecognized field %d while getting int operand.
-Unrecognized field %d while getting vma operand.
-Unrecognized field %d while parsing.
-Unrecognized field %d while printing insn.
-Unrecognized field %d while setting int operand.
-Unrecognized field %d while setting vma operand.
-attempt to set y bit when using + or - modifierbad instruction `%.50s'bad instruction `%.50s...'branch operand unalignedbranch to odd offsetbranch value not in range and to an odd offsetbranch value not in range and to odd offsetbranch value out of rangecan't cope with insert %d
-displacement value is not aligneddisplacement value is not in range and is not aligneddisplacement value is out of rangeignoring least significant bits in branch offsetillegal bitmaskimmediate value is out of rangeimmediate value must be evenimmediate value not in range and not evenindex register in load rangeinvalid conditional optioninvalid register for stack adjustmentinvalid register operand when updatingjump hint unalignedjunk at end of linemissing mnemonic in syntax stringoffset not a multiple of 4offset not between -2048 and 2047offset not between -8192 and 8191operand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)operand out of range (%lu not between 0 and %lu)syntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)undefinedunknownunknown	0x%02xunknown	0x%04lxunknown	0x%04xunknown constraint `%c'unknown operand shift: %x
-unknown pop reg: %d
-unrecognized form of instructionunrecognized instructionvalue out of rangeProject-Id-Version: opcodes 2.12.91
-POT-Creation-Date: 2002-07-23 15:55-0400
-PO-Revision-Date: 2002-07-24 04:00-0300
-Last-Translator: Alexandre Folle de Menezes <afmenez@terra.com.br>
-Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>
-X-Bugs: Report translation errors to the Language-Team address.
+
+The following MIPS specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
+The following NFP specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
+The following PPC specific disassembler options are supported for use with
+the -M switch:
+
+The following RISC-V-specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
+The following S/390 specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
+The following i386/x86-64 specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
+Warning: disassembly may be wrong due to guessed opcode class choice.
+Use -M<class[,class]> to select the correct opcode class(es).
+				  addr16      Assume 16bit address size
+  addr32      Assume 32bit address size
+  addr64      Assume 64bit address size
+  amd64       Display instruction in AMD64 ISA
+  att         Display instruction in AT&T syntax
+  att-mnemonic
+              Display instruction in AT&T mnemonic
+  data16      Assume 16bit data size
+  data32      Assume 32bit data size
+  dpfp            Recognize FPX DP instructions.
+  dsp             Recognize DSP instructions.
+  fpud            Recognize double precision FPU instructions.
+  fpuda           Recognize double assist FPU instructions.
+  fpus            Recognize single precision FPU instructions.
+  hex             Use only hexadecimal number to print immediates.
+  i386        Disassemble in 32bit mode
+  i8086       Disassemble in 16bit mode
+  intel       Display instruction in Intel syntax
+  intel-mnemonic
+              Display instruction in Intel mnemonic
+  intel64     Display instruction in Intel64 ISA
+  quarkse_em      Recognize FPU QuarkSE-EM instructions.
+  spfp            Recognize FPX SP instructions.
+  suffix      Always display instruction suffix in AT&T syntax
+  x86-64      Disassemble in 64bit mode
+# internal error, undefined modifier (%c)# internal error, undefined operand in `%s %s'$<undefined>%d unused bits in i386_cpu_flags.
+%d unused bits in i386_operand_type.
+%dsp16() takes a symbolic address, not a number%dsp8() takes a symbolic address, not a number%s: %d: missing `)' in bitfield: %s
+%s: %d: unknown bitfield: %s
+%s: Error: %s: Warning: %s: error: 'LSL' operator not allowed'ROR' operator not allowed(DP) offset out of range.(SP) offset out of range.(unknown)*unknown operands type: %d**unknown*, <invalid CRC operator>, 21-bit offset out of range64-bit address is disabled<function code %d><illegal instruction><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
+<invalid branch>[<invalid cmd action %d:%d:%d>[]<invalid cmd target %d:%d:%d>[]<invalid_instruction>:<unknown register %d>ABORT: unknown operandAddress 0x%s is out of bounds.
+Assume all insns are Thumb insnsAttempt to find bit index of 0Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameBiiiig Trouble in parse_imm16!Bit number for indexing general register is out of range 0-15Byte address required. - must be even.CpuMax != %d!
+Disassemble "register" namesDisassemble in ESA architecture modeDisassemble in z/Architecture modeDon't know how to specify # dependency %s
+Don't understand 0x%x 
+Error processing section %u Error: read from memory failedExamine preceding label to determine an insn's typeFile has invalid ME-Config section.File has no ME-Config section.GPR odd is illegalHmmmm 0x%xIC note %d for opcode %s (IC:%s) conflicts with resource %s note %d
+IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d
+IC:%s [%s] has no terminals or sub-classes
+IC:%s has no terminals or sub-classes
+Immediate is out of range -128 to 127Immediate is out of range -32768 to 32767Immediate is out of range -512 to 511Immediate is out of range -7 to 8Immediate is out of range -8 to 7Immediate is out of range 0 to 65535Invalid NFP option: %sInvalid size specifierLP_COUNT register cannot be used as destination registerLabel conflicts with `Rx'Label conflicts with register nameMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixName well-known globalsNo relocation for small immediateNot a pc-relative address.Only $sp or $15 allowed for this opcodeOnly $tp or $13 allowed for this opcodeOperand is not a symbolOperand out of range. Must be between -32768 and 32767.Print unknown instructions according to length from first two bitsRegister list is not validRegister must be between r0 and r7Register must be between r8 and r15Register number is not validSR/SelID is out of rangeSelID is out of rangeSelect raw register namesSelect register names used by GCCSelect register names used in ARM's ISA documentationSelect register names used in the APCSSelect register names used in the ATPCSSelect special register names used in the ATPCSSmall operand was not an immediate numberSpecial purpose register number is out of rangeSyntax error: No trailing ')'The following WebAssembly-specific disassembler options are supported for use
+with the -M switch:
+The percent-operator's operand is not a symbolUIMM = 00000 is illegalUIMM values >15 are illegalUIMM values >7 are illegalUnknown error %d
+Value is not aligned enoughValue of A operand must be 0 or 1W keyword invalid in FR operand slot.W register expectedWarning: disassembly unreliable - not enough bytes availableWarning: illegal as 2-op instrWarning: illegal as emulation instrWarning: reserved use of A/L and B/W bits detectedWarning: rsrc %s (%s) has no chks
+Warning: rsrc %s (%s) has no chks or regs
+Warning: unrecognised CALLA addressing modeaccepted values are from -1 to 6address register in load rangeaddress writeback expectedattempt to set y bit when using + or - modifierbad case %d (%s) in %s:%dbad instruction `%.50s'bad instruction `%.50s...'bit,base is out of rangebit,base out of range for symbolbranch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangebyte relocation unsupportedcan't create i386-init.h, errno = %s
+can't create i386-tbl.h, errno = %s
+can't find %s for reading
+can't find i386-opc.tbl for reading, errno = %s
+can't find i386-reg.tbl for reading, errno = %s
+can't find ia64-ic.tbl for reading
+cannot use odd number destination registercannot use odd number source registercgen_parse_address returned a symbol. Literal required.class %s is defined but not used
+displacement value is not aligneddisplacement value is not in range and is not aligneddisplacement value is out of rangedon't know how to specify %% dependency %s
+dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeexpecting got relative address: got(symbol)expecting got relative address: gotoffhi16(symbol)expecting got relative address: gotofflo16(symbol)expecting gp relative address: gp(symbol)extend operator expectedextraneous registerfirst register of the range should be r13floating-point immediate expectedfloating-point value must be 0.0 or 1.0floating-point value must be 0.5 or 1.0floating-point value must be 0.5 or 2.0illegal L operand valueillegal bitmaskillegal id (%d)illegal immediate valueillegal use of parenthesesimm10 is out of rangeimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate offsetimmediate out of rangeimmediate too big for element sizeimmediate valueimmediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeimmediate zero expectedincompatible L operand valueindex register in load rangeindex register xzr is not allowedinternal disassembler errorinternal error, h8_disassemble_initinternal error: bad insn unitinternal error: bad major codeinternal error: bad sparc-opcode.h: "%s" == "%s"
+internal error: bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
+internal error: bad vliw->next_slot valueinternal error: broken opcode descriptor for `%s %s'internal error: don't know how to handle parsing resultsinternal error: epiphany_cgen_cpu_open: no endianness specifiedinternal error: epiphany_cgen_cpu_open: unsupported argument `%d'internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: fr30_cgen_cpu_open: no endianness specifiedinternal error: fr30_cgen_cpu_open: unsupported argument `%d'internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: frv_cgen_cpu_open: no endianness specifiedinternal error: frv_cgen_cpu_open: unsupported argument `%d'internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: immediate() called with invalid byte count %dinternal error: ip2k_cgen_cpu_open: no endianness specifiedinternal error: ip2k_cgen_cpu_open: unsupported argument `%d'internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: iq2000_cgen_cpu_open: no endianness specifiedinternal error: iq2000_cgen_cpu_open: unsupported argument `%d'internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: lm32_cgen_cpu_open: no endianness specifiedinternal error: lm32_cgen_cpu_open: unsupported argument `%d'internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: m32c_cgen_cpu_open: no endianness specifiedinternal error: m32c_cgen_cpu_open: unsupported argument `%d'internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: m32r_cgen_cpu_open: no endianness specifiedinternal error: m32r_cgen_cpu_open: unsupported argument `%d'internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: mep_cgen_cpu_open: no endianness specifiedinternal error: mep_cgen_cpu_open: unsupported argument `%d'internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: mt_cgen_cpu_open: no endianness specifiedinternal error: mt_cgen_cpu_open: unsupported argument `%d'internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: or1k_cgen_cpu_open: no endianness specifiedinternal error: or1k_cgen_cpu_open: unsupported argument `%d'internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: unknown hardware resourceinternal error: unknown operand, %sinternal error: unrecognized field %d while building insninternal error: unrecognized field %d while decoding insninternal error: unrecognized field %d while getting int operandinternal error: unrecognized field %d while getting vma operandinternal error: unrecognized field %d while parsinginternal error: unrecognized field %d while printing insninternal error: unrecognized field %d while setting int operandinternal error: unrecognized field %d while setting vma operandinternal error: xc16x_cgen_cpu_open: no endianness specifiedinternal error: xc16x_cgen_cpu_open: unsupported argument `%d'internal error: xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: xstormy16_cgen_cpu_open: no endianness specifiedinternal error: xstormy16_cgen_cpu_open: unsupported argument `%d'internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal: non-debugged code (test-case missing): %s:%dinvalid %function() hereinvalid Ddd valueinvalid address type for operandinvalid addressing modeinvalid arithmetic immediateinvalid conditional optioninvalid constantinvalid counter accessinvalid extend/shift operatorinvalid immediate, must be 1, 2, or 4invalid mask fieldinvalid mfcr maskinvalid offsetinvalid operand.  type may have values 0,1,2 only.invalid position, should be 0, 16, 32, 48 or 64.invalid position, should be 0, 8, 16, or 24invalid position, should be 16, 32, 64 or 128.invalid position, should be one of: 0,4,8,...124.invalid post-increment amountinvalid registerinvalid register for stack adjustmentinvalid register listinvalid register nameinvalid register number, should be blinkinvalid register number, should be fpinvalid register number, should be pclinvalid register offsetinvalid register operand when updatinginvalid replicated MOV immediateinvalid shift amountinvalid shift operatorinvalid size value must be on range 1-64.invalid size, should be 1, 2, 4, or 8invalid size, value must be invalid sprg numberinvalid tbr numberinvalid value for CMEM ld/st immediateinvalid value for immediatejump hint unalignedjunk at end of linelast register of the range doesn't fitmissing `)'missing `]'missing extend operatormissing mnemonic in syntax stringmissing registermost recent format '%s'
+appears more restrictive than '%s'
+multiple note %s not handled
+multipliernegative immediate value not allowednegative or unaligned offset expectedno insns mapped directly to terminal IC %s
+no insns mapped directly to terminal IC %s [%s]no shift amount allowed for 8-bit constantsnot a valid r0l/r0h pairoffset(IP) is not a valid formopcode %s has no class (ops %d %d %d)
+operand is not zerooperand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)operand out of range (0x%lx not between 0 and 0x%lx)operand out of range (not between 1 and 255)out of memoryoverlapping field %s->%s
+overwriting note %d with note %d (IC:%s)
+p0-p7 expectedparse_addr16: invalid opindex.percent-operator operand is not a symbolposition value is out of rangereading from a write-only register.reg pair must be contiguousreg pair must start from even regregister R30 is a limm indicatorregister element indexregister must be BLINKregister must be GPregister must be ILINK1register must be ILINK2register must be PCLregister must be R0register must be R1register must be R2register must be R3register must be SPregister must be either r0-r3 or r12-r15register name used as immediate valueregister numberregister number must be evenregister out of rangeregister source in immediate moveregister unavailable for short instructionsrotate expected to be 0, 90, 180 or 270rotate expected to be 90 or 270rsrc %s (%s) has no regs
+shift amountshift amount must be 0 or 12shift amount must be 0 or 16shift amount must be 0 or 8shift amount must be a multiple of 16shift is not permittedshift operator expectedsource and target register operands must be differentspecified register cannot be read fromspecified register cannot be written tostack pointer register expectedsyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)unable to change directory to "%s", errno = %s
+undefinedunexpected address writebackunknownunknown	0x%02lxunknown	0x%04lxunknown S/390 disassembler option: %sunknown bitfield: %s
+unknown constraint `%c'unknown operand shift: %xunknown reg: %dunrecognised disassembler CPU option: %sunrecognised disassembler option: %sunrecognised register name set: %sunrecognized disassembler option: %sunrecognized form of instructionunrecognized instructionvalue must be a multiple of 16value must be in the range 0 to 240value must be in the range 0 to 28value must be in the range 0 to 31value must be in the range 1 to value must be power of 2value out of range 1 - 256vector5 is out of rangevector8 is out of rangewarning: ignoring unknown -M%s optionwidth value is out of rangewriting to a read-only register.z0-z15 expectedz0-z7 expectedProject-Id-Version: opcodes 2.30.90
+Report-Msgid-Bugs-To: bug-binutils@gnu.org
+POT-Creation-Date: 2018-06-24 19:41+0100
+PO-Revision-Date: 2018-06-25 01:00-0200
+Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>
+Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>
+Language: pt_BR
 MIME-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8-bit
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Plural-Forms: nplurals=2; plural=(n > 1);
+X-Generator: Virtaal 1.0.0-beta1
+X-Bugs: Report translation errors to the Language-Team address.
+
+
+  Para as opÃ§Ãµes acima, hÃ¡ suporte aos seguintes valores para "ARCH":
+   
+  Para as opÃ§Ãµes acima, hÃ¡ suporte aos seguintes valores para "ABI":
+   
+  aliases            Exibe apelidos de instruÃ§Ã£o.
+
+  cp0-names=ARCH           Emite nomes de registrador CP0 conforme a
+                           arquitetura especificada.
+                           PadrÃ£o: baseado no binÃ¡rio sendo desmontado.
+
+  debug_dump         OpÃ§Ã£o temporÃ¡ria para depurar rastros.
+
+  fpr-names=ABI            Emite nomes FPR conforme a ABI especificada.
+                           PadrÃ£o: numÃ©rico.
+
+  ginv                     Reconhece as instruÃ§Ãµes ASE de
+                           Global INValidate (GINV).
+
+  gpr-names=ABI            Emite nomes GPR conforme a ABI especificada.
+                           PadrÃ£o: baseado no binÃ¡rio sendo desmontado.
+
+  hwr-names=ARCH           Emite nomes HWR conforme a arquitetura 
+                           especificada.
+                           PadrÃ£o: baseado no binÃ¡rio sendo desmontado.
+
+  msa                      Reconhece instruÃ§Ãµes MSA.
+
+  no-aliases               Usa formas de instruÃ§Ã£o canÃ´nicas.
+
+  no-aliases         NÃ£o exibe apelidos de instruÃ§Ã£o.
+
+  no-aliases    Desmonta apenas em instruÃ§Ãµes canÃ´nicas, em vez de
+                em pseudoinstruÃ§Ãµes.
+
+  no-notes           NÃ£o exibe notas de instruÃ§Ã£o.
+
+  no-pc		    NÃ£o exibe o prefixo de contador do programa.
+  ctx4		    ForÃ§a desmontagem usando modo de contexto 4.
+  ctx8		    ForÃ§a modo contexto 8, tem precedÃªncia."
+  notes              Exibe notas de instruÃ§Ã£o.
+
+  numeric       Emite nomes de registrador numÃ©rico, em vez de nomes de ABI.
+
+  reg-names=ABI            Emite nomes GPR e FPR conforme a ABI
+                           especificada.
+
+  reg-names=ARCH           Emite registrador CP0 e nomes HWR conforme a
+                           arquitetura especificada.
+
+  virt                     Reconhece as instruÃ§Ãµes ASE de virtualizaÃ§Ã£o.
+
+  xpa                      Reconhece as instruÃ§Ãµes ASE de
+                           eXtended Physical Address (XPA).
+
+As opÃ§Ãµes do desmontador especÃ­ficas para AARCH64 a seguir nÃ£o tÃªm suporte
+ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):
+
+As opÃ§Ãµes do desmontador especÃ­ficas para ARC a seguir nÃ£o tÃªm suporte 
+ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):
+
+As opÃ§Ãµes do desmontador especÃ­ficas para ARM a seguir nÃ£o tÃªm suporte
+ao uso com a opÃ§Ã£o -M:
+
+As opÃ§Ãµes do desmontador especÃ­ficas para MIPS a seguir nÃ£o tÃªm suporte
+ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):
+
+As opÃ§Ãµes do desmontador especÃ­ficas para NFP a seguir nÃ£o tÃªm suporte
+ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):
+
+As opÃ§Ãµes do desmontador especÃ­ficas para PPC a seguir nÃ£o tÃªm suporte
+ao uso com a opÃ§Ã£o -M:
+
+As opÃ§Ãµes do desmontador especÃ­ficas para RISC-V a seguir nÃ£o tÃªm suporte
+ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):
+
+As opÃ§Ãµes do desmontador especÃ­ficas para S/390 a seguir nÃ£o tÃªm suporte
+ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):
+
+As opÃ§Ãµes do desmontador especÃ­ficas para i386/x86-64 a seguir nÃ£o tÃªm suporte
+ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):
 
-As opções do desmontador espcíficas para ARM a seguir não são suportadas para
-uso com a opção -M:
-# <erro de desmontador: %08x># erro interno do desmontador, modificador (%c) não reconhecido# erro interno, modificador (%c) indefinido$<indefinido>%02x		*desconhecido*(desconhecido)*tipo de operandos desconhecidos: %d**desconecida*<código de função %d><precisão ilegal><erro interno do desmontador><erro interno na tabela de códigos de operação: %s %s>
-<registrador %d desconhecido>Endereço 0x%x está fora dos limites.
-Case %d errado (%s) em %s:%d
-Expressão imediata erradaRegistrador errado no pós-incrementoRegistrador errado no pré-incrementoNome de registrador erradoNão entendo %x 
-Hmmmm %xReferência limm ilegal na última instrução!
-Erro interno do desmontadorErro interno:  sparc-opcode.h errado: "%s", %#.8lx, %#.8lx
-Erro interno: sparc-opcode.h errado: "%s" == "%s"
-Erro interno: sparc-opcode.h errado: "%s", %#.8lx, %#.8lx
-Interno: Código não depurado (test-case faltando): %s:%dO rótulo conflita com `Rx'O rótulo conflita com nome de registradorO operando pequeno não era um número imediatoErro %d desconhecido
-Opção do desmontador desconhecida: %s
-Conjunto de nomes de registrador desconhecido: %s
-Campo %d não reconhecido durante construção de insn.
-Campo %d não reconhecido durante decodificação de insn.
-Campo %d não reconhecido ao obter operando int.
-Campo %d não reconhecido ao obter operando vma.
-Campo %d desconhecido durante análise.
-Campo %d não reconhecido durante impressão de insn.
-Campo %d não reconhecido ao definir operando int.
-Campo %d não reconhecido ao definir operando vma.
-tentativa de setar bit y ao usar modificador + ou -instrução `%.50s' erradainstrução `%.50s...' erradaoperando de desvio desalinhadodesvio para um deslocamento ímparvalor do desvio fora da faixa e para um deslocamento ímparvalor do desvio fora da faixa e para deslocamento ímparvalor do desvio fora da faixaimpossível lidar com insert %d
-valor do deslocamento não está alinhadovalor do deslocamento está fora da faixa e não está alinhadovalor do deslocamento está fora da faixaignorando os bits menos significatiovs no deslocamento do desviomáscara de bits ilegalvalor imediato está fora da faixao valor imediato deve ser parvalor imediato fora da faixa e não é parregistrador de índice na faixa de carregamentoopção condicional inválidaregistrador inválido para ajuste da pilhaoperando de registro inválido durante atualizaçãodica de salto desalinhadalixo no final do arquivomnemônico faltando na string de sintaxedeslocamento não é um múltiplo de 4deslocamento não está entre -2048 and 2047deslocamento não está entre -8192 and 8191operando fora de faixa (%ld não está entre %ld e %ld)operando fora de faixa (%ld não está entre %ld e %lu)operando fora de faixa (%lu não está entre %lu e %lu)operando fora de faixa (%lu não está entre 0 e %lu)erro de sintaxe (esperado char `%c', encontrado `%c')erro de sintaxe (esperado char `%c', encontrado fim de instrução)indefinidodesconhecidodesconhecido	0x%02xdesconhecido	0x%04lxdesconhecido	0x%04xrestrição `%c' desconhecidadeslocamento de operando desconhecido: %x
-registrador pop desconhecido: %d
-forma de instrução não reconhecidainstrução não reconhecidavalor fora de faixa
\ No newline at end of file
+Aviso: desmontagem pode estar errada por conta da escolha adivinhada de classe
+de cÃ³digo de operaÃ§Ã£o.
+Use -M<classe[,classe]> para selecionar classes corretas de cÃ³digo de operaÃ§Ã£o.
+				  addr16      Presume tamanho de endereÃ§o de 16bit
+  addr32      Presume tamanho de endereÃ§o de 32bit
+  addr64      Presume tamanho de endereÃ§o de 64bit
+  amd64       Exibe instruÃ§Ã£o em AMD64 ISA
+  att         Exibe instruÃ§Ã£o na sintaxe AT&T
+  att-mnemonic
+              Exibe instruÃ§Ã£o em mnemÃ´nico AT&T
+  data16      Presume tamanho de dados de 16bit
+  data32      Presume tamanho de dados de 32bit
+  dpfp            Reconhece instruÃ§Ãµes FPX DP.
+  dsp             Reconhece instruÃ§Ãµes DSP.
+  fpud            Reconhece instruÃ§Ãµes double precision FPU.
+  fpuda           Reconhece instruÃ§Ãµes double assist FPU.
+  fpus            Reconhece instruÃ§Ãµes single precision FPU.
+  hex             Usa apenas nÃºmero hexadecimal para exibir imediatos.
+  i386        Desmonta no modo 32bit
+  i8086       Desmonta no modo 16bit
+  intel       Exibe instruÃ§Ã£o na sintaxe Intel
+  intel-mnemonic
+              Exibe instruÃ§Ã£o na mnemÃ´nico Intel
+  intel64     Exibe instruÃ§Ã£o em Intel64 ISA
+  quarkse_em      Reconhece instruÃ§Ãµes FPU QuarkSE-EM.
+  spfp            Reconhece instruÃ§Ãµes FPX SP.
+  suffix      Sempre exibe sufixo da instruÃ§Ã£o na sintaxe AT&T
+  x86-64      Desmonta no modo 64bit
+# erro interno, modificador indefinido (%c)# erro interno, operando indefinido em "%s %s"$<indefinido>%d bits nÃ£o usados em i386_cpu_flags.
+%d bits nÃ£o usados em i386_operand_type.
+%dsp16() leva um endereÃ§o simbÃ³lico, nÃ£o um nÃºmero%dsp8() leva um endereÃ§o simbÃ³lico, nÃ£o um nÃºmero%s: %d: faltando ")" em bitfield: %s
+%s: %d: bitfield desconhecido: %s
+%s: Erro: %s: Aviso: %s: erro: operador "LSL" nÃ£o permitidooperador "ROR" nÃ£o permitido(DP) deslocamento fora da faixa.(SP) deslocamento fora da faixa.(desconhecido)*tipo de operandos desconhecidos: %d**desconhecida*, <operador CRC invÃ¡lido>, deslocamento de 21 bits fora da faixaendereÃ§o de 64 bits estÃ¡ desabilitado<cÃ³digo de funÃ§Ã£o %d><instruÃ§Ã£o ilegal><precisÃ£o ilegal><erro interno do desmontador><erro interno na tabela de cÃ³digos de operaÃ§Ã£o: %s %s>
+<desvio invÃ¡lido>[<aÃ§Ã£o de cmd invÃ¡lida %d:%d:%d>[]<alvo de cmd invÃ¡lido %d:%d:%d>[]<instruÃ§Ã£o_invÃ¡lida>:<registrador %d desconhecido>ABORTAR: operando desconhecidoEndereÃ§o 0x%s estÃ¡ fora dos limites.
+Presume que todos insns sÃ£o insns ThumbTentativa de localizar Ã­ndice bit de 0ExpressÃ£o errada de imediatoRegistrador errado no pÃ³s-incrementoRegistrador errado no prÃ©-incrementoNome de registrador erradoGraaande problema em parse_imm16!NÃºmero de bit para registrador geral de indexaÃ§Ã£o estÃ¡ fora da faixa 0-15EndereÃ§o em bytes exigido - deve ser par.CpuMax != %d!
+Desmonta nomes de "register"Desmonta em modo de arquitetura ESADesmonta em modo de z/ArchitectureNÃ£o sei como especificar # dependÃªncia %s
+NÃ£o entendo 0x%x 
+Erro de processamento na seÃ§Ã£o %u Erro: leitura da memÃ³ria falhouExamina rÃ³tulo anterior para determinar o tipo de um insnO arquivo tem uma seÃ§Ã£o ME-Config invÃ¡lida.O arquivo tem nenhuma seÃ§Ã£o ME-Config.GPR Ã­mpar Ã© ilegalHmmmm 0x%xnota de IC %d para o cÃ³digo de operaÃ§Ã£o %s (IC:%s) conflita com o recurso %s nota %d
+nota de IC %d no o cÃ³digo de operaÃ§Ã£o %s (IC:%s) conflita com o recurso %s nota %d
+IC:%s [%s] possui nenhum terminal ou subclasse
+IC:%s possui nenhum terminal ou subclasse
+Imediato estÃ¡ fora da faixa -128 a 127Imediato estÃ¡ fora da faixa -32768 a 32767Imediato estÃ¡ fora da faixa -512 a 511Imediato estÃ¡ fora da faixa -7 a 8Imediato estÃ¡ fora da faixa -8 a 7Imediato estÃ¡ fora da faixa 0 a 65535OpÃ§Ã£o NFP invÃ¡lida: %sEspecificador de tamanho invÃ¡lidoO registrador LP_COUNT nÃ£o pode ser usado como registrador de destinoO rÃ³tulo conflita com "Rx"O rÃ³tulo conflita com nome de registradorFaltando o prefixo "#"Faltando o prefixo "."Faltando o prefixo "pag:"Faltando o prefixo "pof:"Faltando o prefixo "seg:"Faltando o prefixo "sof:"Nomeia globais bem conhecidosNenhuma realocaÃ§Ã£o para imediato pequenoNÃ£o Ã© um endereÃ§o relativo a pc.Apenas $sp ou $15 permitidos para esse cÃ³digo de operaÃ§Ã£oApenas $tp ou $13 permitidos para esse cÃ³digo de operaÃ§Ã£oO operando nÃ£o Ã© um sÃ­mboloOperando fora da faixa. Deve estar entre -32768 e 32767.Emite instruÃ§Ãµes desconhecidas conforme o tamanho a partir dos primeiros dois bitsLista de registrador nÃ£o Ã© vÃ¡lidoRegistrador deve estar entre r0 e r7Registrador deve estar entre r8 e r15NÃºmero de registrador nÃ£o Ã© vÃ¡lidoSR/SelID estÃ¡ fora da faixaSelID estÃ¡ fora da faixaSeleciona nomes de registrador nÃ£o tratadoSeleciona nomes de registradores usados pelo GCCSeleciona nomes de registradores usados em documentaÃ§Ã£o ISA do ARMSelecione nomes de registradores usados no APCSSelecione nomes de registradores usados no ATPCSSelecione nomes de registradores especiais usados no ATPCSO operando pequeno nÃ£o era um nÃºmero de imediatoNÃºmero de registrado de propÃ³sito especial estÃ¡ fora da faixaErro de sintaxe: Nenhum ")" ao finalAs opÃ§Ãµes do desmontador especÃ­ficas para WebAssembly a seguir nÃ£o tÃªm
+suporte ao uso com a opÃ§Ã£o -M:
+O operando do percent-operator nÃ£o Ã© um sÃ­mboloUIMM = 00000 Ã© ilegalvalores UIMM >15 sÃ£o ilegaisvalores UIMM >7 sÃ£o ilegaisErro %d desconhecido
+Valor nÃ£o estÃ¡ suficientemente alinhadoValor do operando A deve ser 0 ou 1palavra-chave W invÃ¡lida no slot de operando FR.registrador W esperadoAviso: desmontagem nÃ£o confiÃ¡vel - bytes insuficientes disponÃ­veisAviso: ilegal como instruÃ§Ã£o de 2 operaÃ§ÃµesAviso: ilegal como instruÃ§Ã£o de emulaÃ§Ã£oAviso: uso reservado de bits A/L e B/W detectadoAviso: rsrc %s (%s) possui nenhum chk
+Aviso: rsrc %s (%s) possui nenhum chk ou reg
+Aviso: modo de endereÃ§amento CALLA nÃ£o reconhecidovalores aceitos estÃ£o entre -1 e 6registrador de endereÃ§o no intervalo de carregamentowriteback de endereÃ§o esperadotentativa de definir bit y ao usar modificador + ou -case %d errado (%s) em %s:%dinstruÃ§Ã£o "%.50s" erradainstruÃ§Ã£o "%.50sâ€¦" erradabit,base estÃ¡ fora da faixabit,base foram do intervalo para sÃ­mbolooperando de desvio desalinhadodesvio para um deslocamento Ã­mparvalor do desvio fora da faixa e para deslocamento Ã­mparvalor do desvio fora da faixasem suporte a realocaÃ§Ã£o de bytenÃ£o foi possÃ­vel criar i386-init.h, errno = %s
+nÃ£o foi possÃ­vel criar i386-tbl.h, errno = %s
+nÃ£o foi possÃ­vel localizar %s para leitura
+nÃ£o foi possÃ­vel localizar i386-opc.tbl para leitura, errno = %s
+nÃ£o foi possÃ­vel localizar i386-reg.tbl para leitura, errno = %s
+nÃ£o foi possÃ­vel localizar ia64-ic.tbl para leitura
+nÃ£o Ã© possÃ­vel usar registrador de destino de nÃºmero Ã­mparnÃ£o Ã© possÃ­vel usar registrador de origem de nÃºmero Ã­mparcgen_parse_address retornou um sÃ­mbolo. Literal exigido.a classe %s estÃ¡ definida, mas nÃ£o Ã© usada
+valor do deslocamento nÃ£o estÃ¡ alinhadovalor do deslocamento estÃ¡ fora da faixa e nÃ£o estÃ¡ alinhadovalor do deslocamento estÃ¡ fora da faixanÃ£o sei como especificar %% dependÃªncia %s
+imediato dsp:16 estÃ¡ fora da faixaimediato dsp:20 estÃ¡ fora da faixaimediato dsp:24 estÃ¡ fora da faixaimediato dsp:8 estÃ¡ fora da faixaesperando endereÃ§o relativo a got: got(sÃ­mbolo)esperando endereÃ§o relativo a got: gotoffhi16(sÃ­mbolo)esperando endereÃ§o relativo a got: gotofflo16(sÃ­mbolo)esperando endereÃ§o relativo a gp: gp(sÃ­mbolo)operador de extensÃ£o esperadoregistro estranhoprimeiro registrador de intervalo deve ser r13imediato ponto flutuante esperadovalor de ponto flutuante deve ser 0.0 ou 1.0valor de ponto flutuante deve ser 0.5 ou 1.0valor de ponto flutuante deve ser 0.5 ou 2.0valor ilegal de operando LmÃ¡scara de bits ilegalid ilegal (%d)valor de imediato ilegaluso ilegal de parÃªntesesimm10 estÃ¡ fora da faixaimediato imm:6 estÃ¡ fora da faixaimediato estÃ¡ fora da faixa 0-7imediato estÃ¡ fora da faixa 1-2imediato estÃ¡ fora da faixa 1-8imediato estÃ¡ fora da faixa 2-9deslocamento de imediatoimediato fora da faixaimediato grande demais para tamanho de elementovalor de imediatovalor de imediato nÃ£o pode ser registradorvalor de imediato estÃ¡ fora da faixavalor de imediato estÃ¡ fora da faixazero imediato esperadovalor incompatÃ­vel de operando Lregistrador de Ã­ndice no intervalo de carregamentoregistrador de Ã­ndice xzr nÃ£o Ã© permitidoerro interno do desmontadorerro interno, h8_disassemble_initerro interno: unidade insn invÃ¡lidaerro interno: cÃ³digo principal invÃ¡lidoerro interno: sparc-opcode.h errado: "%s" == "%s"
+erro interno: sparc-opcode.h errado: "%s", %#.8lx, %#.8lx
+erro interno: valor vliw->next_slot invÃ¡lidoerro interno: descritor quebrado de cÃ³digo de operaÃ§Ã£o para "%s %s"erro interno: nÃ£o sei como lidar com os resultados da anÃ¡liseerro interno: epiphany_cgen_cpu_open: nenhuma extremidade especificadaerro interno: epiphany_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: epiphany_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: fr30_cgen_cpu_open: nenhuma extremidade especificadaerro interno: fr30_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: fr30_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: frv_cgen_cpu_open: nenhuma extremidade especificadaerro interno: frv_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: frv_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: immediate() chamado com contagem de bytes invÃ¡lida %derro interno: ip2k_cgen_cpu_open: nenhuma extremidade especificadaerro interno: ip2k_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: ip2k_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: iq2000_cgen_cpu_open: nenhuma extremidade especificadaerro interno: iq2000_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: iq2000_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: lm32_cgen_cpu_open: nenhuma extremidade especificadaerro interno: lm32_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: lm32_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: m32c_cgen_cpu_open: nenhuma extremidade especificadaerro interno: m32c_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: m32c_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: m32r_cgen_cpu_open: nenhuma extremidade especificadaerro interno: m32r_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: m32r_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: mep_cgen_cpu_open: nenhuma extremidade especificadaerro interno: mep_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: mep_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: mt_cgen_cpu_open: nenhuma extremidade especificadaerro interno: mt_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: mt_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: or1k_cgen_cpu_open: nenhuma extremidade especificadaerro interno: or1k_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: or1k_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: recurso de hardware desconhecidoerro interno: operando desconhecido, %serro interno: campo %d desconhecido ao compilar insnerro interno: campo %d desconhecido ao decodificar insnerro interno: campo %d desconhecido ao obter operando interro interno: campo %d desconhecido ao obter operando vmaerro interno: campo %d desconhecido durante anÃ¡liseerro interno: campo %d desconhecido ao imprimir insnerro interno: campo %d desconhecido ao definir operando interro interno: campo %d desconhecido ao definir operando vmaerro interno: xc16x_cgen_cpu_open: nenhuma extremidade especificadaerro interno: xc16x_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: xc16x_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"erro interno: xstormy16_cgen_cpu_open: nenhuma extremidade especificadaerro interno: xstormy16_cgen_cpu_open: sem suporte ao argumento "%d"erro interno: xstormy16_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: "%d" vs. "%d"interno: cÃ³digo nÃ£o depurado (test-case faltando): %s:%d%function() invÃ¡lida aquivalor de Ddd invÃ¡lidotipo de endereÃ§o invÃ¡lido para operandomodo de endereÃ§o invÃ¡lidoimediato aritmÃ©tico invÃ¡lidoopÃ§Ã£o condicional invÃ¡lidaconstante invÃ¡lidaacesso a contador invÃ¡lidooperador de extensÃ£o/troca invÃ¡lidoimediato invÃ¡lido, deve ser 1, 2 ou 4campo de mÃ¡scara invÃ¡lidomÃ¡scara de mfcr invÃ¡lidadeslocamento invÃ¡lidooperando invÃ¡lido; tipo pode ter somente os valores 0,1,2.posiÃ§Ã£o invÃ¡lida, deve ser 0, 16, 32, 48 ou 64.posiÃ§Ã£o invÃ¡lida, deve ser 0, 8, 16 ou 24posiÃ§Ã£o invÃ¡lida, deve ser 16, 32, 48, 64 ou 128.posiÃ§Ã£o invÃ¡lida, deve ser um dentre: 0,4,8,...124.quantidade pÃ³s-incremento invÃ¡lidaregistrador invÃ¡lidoregistrador invÃ¡lido para ajuste da pilhalista de registrador invÃ¡lidanome de registrador invÃ¡lidonÃºmero de registrador invÃ¡lido, deve ser blinknÃºmero de registrador invÃ¡lido, deve ser fpnÃºmero de registrador invÃ¡lido, deve ser pcldeslocamento de registrador invÃ¡lidooperando de registro invÃ¡lido durante atualizaÃ§Ã£oimediato MOV replicado invÃ¡lidoquantidade de troca invÃ¡lidaoperador de troca invÃ¡lidovalor de tamanho invÃ¡lido deve estar no intervalo de 1-64.tamanho invÃ¡lido, deve ser 1, 2, 4 ou 8tamanho invÃ¡lido, valor deve ser nÃºmero de sprg invÃ¡lidonÃºmero de tbr invÃ¡lidovalor invÃ¡lido para imediato ld/st CMEMvalor invÃ¡lido para imediatodica de salto desalinhadalixo no fim da linhaÃºltimo registrador do intervalo nÃ£o cabefaltando ")"faltando "]"faltando o operador de extensÃ£omnemÃ´nico faltando na string de sintaxefaltando o registroformato mais recente "%s"
+parece mais restritiva que "%s"
+mÃºltiplas notas %s nÃ£o tratadas
+multiplicadorvalor negativo imediato nÃ£o permitidoposiÃ§Ã£o negativa ou desalinhada esperadanenhum insn mapeado diretamente ao terminal IC %s
+nenhum insn mapeado diretamente ao terminal IC %s [%s]nenhuma quantidade de troca permitida para constantes de 8 bitsnÃ£o Ã© um par r0l/r0h vÃ¡lidodeslocamento(IP) nÃ£o Ã© uma forma vÃ¡lidao cÃ³digo de operaÃ§Ã£o %s possui nenhuma classe (ops %d %d %d)
+operando nÃ£o Ã© zerooperando fora da faixa (%ld nÃ£o estÃ¡ entre %ld e %ld)operando fora da faixa (%ld nÃ£o estÃ¡ entre %ld e %lu)operando fora da faixa (%lu nÃ£o estÃ¡ entre %lu e %lu)operando fora da faixa (0x%lx nÃ£o estÃ¡ entre 0 e 0x%lx)operando fora da faixa (nÃ£o estÃ¡ entre 1 e 255)memÃ³ria insuficientesobrepondo campo %s->%s
+sobrescrevendo nota %d com nota %d (IC:%s)
+p0-p7 esperadoparse_addr16: opindex invÃ¡lido.operando do percent-operator nÃ£o Ã© um sÃ­mbolovalor da posiÃ§Ã£o estÃ¡ fora da faixalendo de um registrado de somente leitura.par de regs deve ser contÃ­guodupla de reg deve iniciar a partir do mesmo regregistrador R30 Ã© um indicador limmÃ­ndice de elemento de registradorregistrador deve ser BLINKregistrador deve ser GPregistrador deve ser ILINK1registrador deve ser ILINK2registrador deve ser PCLregistrador deve ser R0registrador deve ser R1registrador deve ser R2registrador deve ser R3registrador deve ser SPregistrador deve ser r0-r3 ou r12-r15nome do registrador usado como valor imediatonÃºmero de registradornÃºmero de registrador deve ser parregistrador fora da faixaorigem de registrador no movimento de imediatoregistrador indisponÃ­vel para instruÃ§Ãµes curtasrotaÃ§Ã£o esperado ser 0, 90, 180 ou 270rotaÃ§Ã£o esperado ser 90 ou 270rsrc %s (%s) possui nenhum reg
+quantidade de trocaquantidade de troca deve ser 0 ou 12quantidade de troca deve ser 0 ou 16quantidade de troca deve ser 0 ou 8quantidade de troca deve ser um mÃºltiplo de 16troca nÃ£o Ã© permitidaoperador de troca esperadooperandos de registrador origem e alvo devem ser diferenteso registrador especificado nÃ£o pÃ´de ser lidoo registrador especificado nÃ£o pÃ´de ser escritoregistro de ponteiro de pilha esperadoerro de sintaxe (esperado caractere "%c", encontrado "%c")erro de sintaxe (esperado caractere "%c", encontrado fim de instruÃ§Ã£o)nÃ£o foi possÃ­vel alterar diretÃ³rio para "%s", errno = %s
+indefinidowriteback de endereÃ§o inesperadodesconhecidodesconhecido	0x%02lxdesconhecido	0x%04lxopÃ§Ã£o de desmontador S/390 desconhecida: %sbitfield desconhecido: %s
+restriÃ§Ã£o "%c" desconhecidadeslocamento de operando desconhecido: %xregistrador desconhecido: %dopÃ§Ã£o de CPU do desmontador desconhecida: %sopÃ§Ã£o do desmontador desconhecida: %sconjunto de nomes de registrador desconhecido: %sopÃ§Ã£o do desmontador desconhecida: %sforma de instruÃ§Ã£o nÃ£o reconhecidainstruÃ§Ã£o nÃ£o reconhecidavalor deve ser um mÃºltiplo de 16valor deve estar no intervalo de 0 a 240valor deve estar no intervalo de 0 a 28valor deve estar no intervalo de 0 a 31valor deve estar no intervalo de 1 a valor de ser uma potÃªncia de 2valor fora da faixa 1 - 256vector5 estÃ¡ fora da faixavector8 estÃ¡ fora da faixaaviso: ignorando opÃ§Ã£o -M%s desconhecidavalor da largura estÃ¡ fora da faixaescrevendo em um registrador de somente leitura.z0-z15 esperadoz0-z7 esperado
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/pt_BR.po ./opcodes/po/pt_BR.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/pt_BR.po	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/po/pt_BR.po	2018-07-10 02:06:15.000000000 +0000
@@ -1,446 +1,2291 @@
-# opcodes: translation to Brazilian Portuguese (pt_BR)
-# Copyright (C) 2002 Free Software Foundation, Inc.
+# Brazilian Portuguese translation for opcodes
+# Copyright (C) 2018 Free Software Foundation, Inc.
+# This file is distributed under the same license as the binutils package.
 # Alexandre Folle de Menezes <afmenez@terra.com.br>, 2002.
-#
+# Rafael Fontenelle <rafaelff@gnome.org>, 2018.
 msgid ""
 msgstr ""
-"Project-Id-Version: opcodes 2.12.91\n"
-"POT-Creation-Date: 2002-07-23 15:55-0400\n"
-"PO-Revision-Date: 2002-07-24 04:00-0300\n"
-"Last-Translator: Alexandre Folle de Menezes <afmenez@terra.com.br>\n"
-"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Project-Id-Version: opcodes 2.30.90\n"
+"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
+"POT-Creation-Date: 2018-06-24 19:41+0100\n"
+"PO-Revision-Date: 2018-06-25 01:00-0200\n"
+"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
+"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n"
+"Language: pt_BR\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Virtaal 1.0.0-beta1\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: aarch64-asm.c:805
+msgid "specified register cannot be read from"
+msgstr "o registrador especificado nÃ£o pÃ´de ser lido"
+
+#: aarch64-asm.c:814
+msgid "specified register cannot be written to"
+msgstr "o registrador especificado nÃ£o pÃ´de ser escrito"
+
+#. Invalid option.
+#: aarch64-dis.c:94 arc-dis.c:782 arm-dis.c:6158
+#, c-format
+msgid "unrecognised disassembler option: %s"
+msgstr "opÃ§Ã£o do desmontador desconhecida: %s"
+
+#: aarch64-dis.c:3362
+#, c-format
+msgid ""
+"\n"
+"The following AARCH64 specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"As opÃ§Ãµes do desmontador especÃ­ficas para AARCH64 a seguir nÃ£o tÃªm suporte\n"
+"ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):\n"
+
+#: aarch64-dis.c:3366
+#, c-format
+msgid ""
+"\n"
+"  no-aliases         Don't print instruction aliases.\n"
+msgstr ""
+"\n"
+"  no-aliases         NÃ£o exibe apelidos de instruÃ§Ã£o.\n"
+
+#: aarch64-dis.c:3369
+#, c-format
+msgid ""
+"\n"
+"  aliases            Do print instruction aliases.\n"
+msgstr ""
+"\n"
+"  aliases            Exibe apelidos de instruÃ§Ã£o.\n"
+
+#: aarch64-dis.c:3372
+#, c-format
+msgid ""
+"\n"
+"  no-notes         Don't print instruction notes.\n"
+msgstr ""
+"\n"
+"  no-notes           NÃ£o exibe notas de instruÃ§Ã£o.\n"
+
+#: aarch64-dis.c:3375
+#, c-format
+msgid ""
+"\n"
+"  notes            Do print instruction notes.\n"
+msgstr ""
+"\n"
+"  notes              Exibe notas de instruÃ§Ã£o.\n"
+
+#: aarch64-dis.c:3379
+#, c-format
+msgid ""
+"\n"
+"  debug_dump         Temp switch for debug trace.\n"
+msgstr ""
+"\n"
+"  debug_dump         OpÃ§Ã£o temporÃ¡ria para depurar rastros.\n"
+
+#: aarch64-dis.c:3383 mips-dis.c:2612 mips-dis.c:2620 mips-dis.c:2622
+#: nfp-dis.c:2981 riscv-dis.c:509
+#, c-format
+msgid "\n"
+msgstr "\n"
 
-#: alpha-opc.c:335
+#: aarch64-opc.c:1311
+msgid "immediate value"
+msgstr "valor de imediato"
+
+#: aarch64-opc.c:1321
+msgid "immediate offset"
+msgstr "deslocamento de imediato"
+
+#: aarch64-opc.c:1331
+msgid "register number"
+msgstr "nÃºmero de registrador"
+
+#: aarch64-opc.c:1341
+msgid "register element index"
+msgstr "Ã­ndice de elemento de registrador"
+
+#: aarch64-opc.c:1351
+msgid "shift amount"
+msgstr "quantidade de troca"
+
+#: aarch64-opc.c:1363
+msgid "multiplier"
+msgstr "multiplicador"
+
+#: aarch64-opc.c:1436
+msgid "reg pair must start from even reg"
+msgstr "dupla de reg deve iniciar a partir do mesmo reg"
+
+#: aarch64-opc.c:1442
+msgid "reg pair must be contiguous"
+msgstr "par de regs deve ser contÃ­guo"
+
+#: aarch64-opc.c:1456
+msgid "extraneous register"
+msgstr "registro estranho"
+
+#: aarch64-opc.c:1462
+msgid "missing register"
+msgstr "faltando o registro"
+
+#: aarch64-opc.c:1473
+msgid "stack pointer register expected"
+msgstr "registro de ponteiro de pilha esperado"
+
+#: aarch64-opc.c:1496
+msgid "z0-z15 expected"
+msgstr "z0-z15 esperado"
+
+#: aarch64-opc.c:1497
+msgid "z0-z7 expected"
+msgstr "z0-z7 esperado"
+
+#: aarch64-opc.c:1523
+msgid "invalid register list"
+msgstr "lista de registrador invÃ¡lida"
+
+#: aarch64-opc.c:1537
+msgid "p0-p7 expected"
+msgstr "p0-p7 esperado"
+
+#: aarch64-opc.c:1563 aarch64-opc.c:1571
+msgid "unexpected address writeback"
+msgstr "writeback de endereÃ§o inesperado"
+
+#: aarch64-opc.c:1582
+msgid "address writeback expected"
+msgstr "writeback de endereÃ§o esperado"
+
+#: aarch64-opc.c:1629
+msgid "negative or unaligned offset expected"
+msgstr "posiÃ§Ã£o negativa ou desalinhada esperada"
+
+#: aarch64-opc.c:1656
+msgid "invalid register offset"
+msgstr "deslocamento de registrador invÃ¡lido"
+
+#: aarch64-opc.c:1678
+msgid "invalid post-increment amount"
+msgstr "quantidade pÃ³s-incremento invÃ¡lida"
+
+#: aarch64-opc.c:1694 aarch64-opc.c:2172
+msgid "invalid shift amount"
+msgstr "quantidade de troca invÃ¡lida"
+
+#: aarch64-opc.c:1707
+msgid "invalid extend/shift operator"
+msgstr "operador de extensÃ£o/troca invÃ¡lido"
+
+#: aarch64-opc.c:1753 aarch64-opc.c:1993 aarch64-opc.c:2028 aarch64-opc.c:2047
+#: aarch64-opc.c:2055 aarch64-opc.c:2126 aarch64-opc.c:2302 aarch64-opc.c:2402
+#: aarch64-opc.c:2415
+msgid "immediate out of range"
+msgstr "imediato fora da faixa"
+
+#: aarch64-opc.c:1775 aarch64-opc.c:1817 aarch64-opc.c:1867 aarch64-opc.c:1901
+msgid "invalid addressing mode"
+msgstr "modo de endereÃ§o invÃ¡lido"
+
+#: aarch64-opc.c:1859
+msgid "index register xzr is not allowed"
+msgstr "registrador de Ã­ndice xzr nÃ£o Ã© permitido"
+
+#: aarch64-opc.c:1981 aarch64-opc.c:2003 aarch64-opc.c:2205 aarch64-opc.c:2213
+#: aarch64-opc.c:2279 aarch64-opc.c:2308
+msgid "invalid shift operator"
+msgstr "operador de troca invÃ¡lido"
+
+#: aarch64-opc.c:1987
+msgid "shift amount must be 0 or 12"
+msgstr "quantidade de troca deve ser 0 ou 12"
+
+#: aarch64-opc.c:2010
+msgid "shift amount must be a multiple of 16"
+msgstr "quantidade de troca deve ser um mÃºltiplo de 16"
+
+#: aarch64-opc.c:2022
+msgid "negative immediate value not allowed"
+msgstr "valor negativo imediato nÃ£o permitido"
+
+#: aarch64-opc.c:2137
+msgid "immediate zero expected"
+msgstr "zero imediato esperado"
+
+#: aarch64-opc.c:2151
+msgid "rotate expected to be 0, 90, 180 or 270"
+msgstr "rotaÃ§Ã£o esperado ser 0, 90, 180 ou 270"
+
+#: aarch64-opc.c:2161
+msgid "rotate expected to be 90 or 270"
+msgstr "rotaÃ§Ã£o esperado ser 90 ou 270"
+
+#: aarch64-opc.c:2221
+msgid "shift is not permitted"
+msgstr "troca nÃ£o Ã© permitida"
+
+#: aarch64-opc.c:2246
+msgid "invalid value for immediate"
+msgstr "valor invÃ¡lido para imediato"
+
+#: aarch64-opc.c:2271
+msgid "shift amount must be 0 or 16"
+msgstr "quantidade de troca deve ser 0 ou 16"
+
+#: aarch64-opc.c:2292
+msgid "floating-point immediate expected"
+msgstr "imediato ponto flutuante esperado"
+
+#: aarch64-opc.c:2326
+msgid "no shift amount allowed for 8-bit constants"
+msgstr "nenhuma quantidade de troca permitida para constantes de 8 bits"
+
+#: aarch64-opc.c:2336
+msgid "shift amount must be 0 or 8"
+msgstr "quantidade de troca deve ser 0 ou 8"
+
+#: aarch64-opc.c:2349
+msgid "immediate too big for element size"
+msgstr "imediato grande demais para tamanho de elemento"
+
+#: aarch64-opc.c:2356
+msgid "invalid arithmetic immediate"
+msgstr "imediato aritmÃ©tico invÃ¡lido"
+
+#: aarch64-opc.c:2370
+msgid "floating-point value must be 0.5 or 1.0"
+msgstr "valor de ponto flutuante deve ser 0.5 ou 1.0"
+
+#: aarch64-opc.c:2380
+msgid "floating-point value must be 0.5 or 2.0"
+msgstr "valor de ponto flutuante deve ser 0.5 ou 2.0"
+
+#: aarch64-opc.c:2390
+msgid "floating-point value must be 0.0 or 1.0"
+msgstr "valor de ponto flutuante deve ser 0.0 ou 1.0"
+
+#: aarch64-opc.c:2421
+msgid "invalid replicated MOV immediate"
+msgstr "imediato MOV replicado invÃ¡lido"
+
+#: aarch64-opc.c:2536
+msgid "extend operator expected"
+msgstr "operador de extensÃ£o esperado"
+
+#: aarch64-opc.c:2549
+msgid "missing extend operator"
+msgstr "faltando o operador de extensÃ£o"
+
+#: aarch64-opc.c:2555
+msgid "'LSL' operator not allowed"
+msgstr "operador \"LSL\" nÃ£o permitido"
+
+#: aarch64-opc.c:2576
+msgid "W register expected"
+msgstr "registrador W esperado"
+
+#: aarch64-opc.c:2587
+msgid "shift operator expected"
+msgstr "operador de troca esperado"
+
+#: aarch64-opc.c:2594
+msgid "'ROR' operator not allowed"
+msgstr "operador \"ROR\" nÃ£o permitido"
+
+#: aarch64-opc.c:3583
+msgid "reading from a write-only register."
+msgstr "lendo de um registrado de somente leitura."
+
+#: aarch64-opc.c:3585
+msgid "writing to a read-only register."
+msgstr "escrevendo em um registrador de somente leitura."
+
+#: alpha-opc.c:154
 msgid "branch operand unaligned"
 msgstr "operando de desvio desalinhado"
 
-#: alpha-opc.c:358 alpha-opc.c:380
+#: alpha-opc.c:170 alpha-opc.c:186
 msgid "jump hint unaligned"
 msgstr "dica de salto desalinhada"
 
-#: arc-dis.c:52
-msgid "Illegal limm reference in last instruction!\n"
-msgstr "Referência limm ilegal na última instrução!\n"
+#: arc-dis.c:377
+msgid ""
+"\n"
+"Warning: disassembly may be wrong due to guessed opcode class choice.\n"
+"Use -M<class[,class]> to select the correct opcode class(es).\n"
+"\t\t\t\t"
+msgstr ""
+"\n"
+"Aviso: desmontagem pode estar errada por conta da escolha adivinhada de classe\n"
+"de cÃ³digo de operaÃ§Ã£o.\n"
+"Use -M<classe[,classe]> para selecionar classes corretas de cÃ³digo de operaÃ§Ã£o.\n"
+"\t\t\t\t"
+
+#: arc-dis.c:825
+#, c-format
+msgid "unrecognised disassembler CPU option: %s"
+msgstr "opÃ§Ã£o de CPU do desmontador desconhecida: %s"
 
-#: arm-dis.c:507
-msgid "<illegal precision>"
-msgstr "<precisão ilegal>"
+#: arc-dis.c:1387
+#, c-format
+msgid ""
+"\n"
+"The following ARC specific disassembler options are supported for use \n"
+"with -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"As opÃ§Ãµes do desmontador especÃ­ficas para ARC a seguir nÃ£o tÃªm suporte \n"
+"ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):\n"
+
+#: arc-dis.c:1399
+#, c-format
+msgid "  dsp             Recognize DSP instructions.\n"
+msgstr "  dsp             Reconhece instruÃ§Ãµes DSP.\n"
+
+#: arc-dis.c:1401
+#, c-format
+msgid "  spfp            Recognize FPX SP instructions.\n"
+msgstr "  spfp            Reconhece instruÃ§Ãµes FPX SP.\n"
+
+#: arc-dis.c:1403
+#, c-format
+msgid "  dpfp            Recognize FPX DP instructions.\n"
+msgstr "  dpfp            Reconhece instruÃ§Ãµes FPX DP.\n"
+
+#: arc-dis.c:1405
+#, c-format
+msgid "  quarkse_em      Recognize FPU QuarkSE-EM instructions.\n"
+msgstr "  quarkse_em      Reconhece instruÃ§Ãµes FPU QuarkSE-EM.\n"
+
+#: arc-dis.c:1407
+#, c-format
+msgid "  fpuda           Recognize double assist FPU instructions.\n"
+msgstr "  fpuda           Reconhece instruÃ§Ãµes double assist FPU.\n"
+
+#: arc-dis.c:1409
+#, c-format
+msgid "  fpus            Recognize single precision FPU instructions.\n"
+msgstr "  fpus            Reconhece instruÃ§Ãµes single precision FPU.\n"
+
+#: arc-dis.c:1411
+#, c-format
+msgid "  fpud            Recognize double precision FPU instructions.\n"
+msgstr "  fpud            Reconhece instruÃ§Ãµes double precision FPU.\n"
 
-#: arm-dis.c:1010
+#: arc-dis.c:1413
 #, c-format
-msgid "Unrecognised register name set: %s\n"
-msgstr "Conjunto de nomes de registrador desconhecido: %s\n"
+msgid "  hex             Use only hexadecimal number to print immediates.\n"
+msgstr "  hex             Usa apenas nÃºmero hexadecimal para exibir imediatos.\n"
+
+#: arc-opc.c:41 arc-opc.c:64 arc-opc.c:90
+msgid "LP_COUNT register cannot be used as destination register"
+msgstr "O registrador LP_COUNT nÃ£o pode ser usado como registrador de destino"
+
+#: arc-opc.c:88
+msgid "cannot use odd number destination register"
+msgstr "nÃ£o Ã© possÃ­vel usar registrador de destino de nÃºmero Ã­mpar"
+
+#: arc-opc.c:101
+msgid "cannot use odd number source register"
+msgstr "nÃ£o Ã© possÃ­vel usar registrador de origem de nÃºmero Ã­mpar"
+
+#: arc-opc.c:114
+msgid "operand is not zero"
+msgstr "operando nÃ£o Ã© zero"
+
+#: arc-opc.c:173
+msgid "register R30 is a limm indicator"
+msgstr "registrador R30 Ã© um indicador limm"
+
+#: arc-opc.c:175
+msgid "register out of range"
+msgstr "registrador fora da faixa"
+
+#: arc-opc.c:194
+msgid "register must be R0"
+msgstr "registrador deve ser R0"
+
+#: arc-opc.c:212
+msgid "register must be R1"
+msgstr "registrador deve ser R1"
+
+#: arc-opc.c:229
+msgid "register must be R2"
+msgstr "registrador deve ser R2"
+
+#: arc-opc.c:246
+msgid "register must be R3"
+msgstr "registrador deve ser R3"
+
+#: arc-opc.c:263
+msgid "register must be SP"
+msgstr "registrador deve ser SP"
+
+#: arc-opc.c:280
+msgid "register must be GP"
+msgstr "registrador deve ser GP"
+
+#: arc-opc.c:297
+msgid "register must be PCL"
+msgstr "registrador deve ser PCL"
+
+#: arc-opc.c:314
+msgid "register must be BLINK"
+msgstr "registrador deve ser BLINK"
+
+#: arc-opc.c:331
+msgid "register must be ILINK1"
+msgstr "registrador deve ser ILINK1"
+
+#: arc-opc.c:348
+msgid "register must be ILINK2"
+msgstr "registrador deve ser ILINK2"
+
+#. ARC NPS400 Support: See comment near head of file.
+#: arc-opc.c:379 arc-opc.c:417 arc-opc.c:455 arc-opc.c:720
+msgid "register must be either r0-r3 or r12-r15"
+msgstr "registrador deve ser r0-r3 ou r12-r15"
+
+#: arc-opc.c:506
+msgid "accepted values are from -1 to 6"
+msgstr "valores aceitos estÃ£o entre -1 e 6"
+
+#: arc-opc.c:535
+msgid "first register of the range should be r13"
+msgstr "primeiro registrador de intervalo deve ser r13"
+
+#: arc-opc.c:537
+msgid "last register of the range doesn't fit"
+msgstr "Ãºltimo registrador do intervalo nÃ£o cabe"
+
+#: arc-opc.c:557 arc-opc.c:572
+msgid "invalid register number, should be fp"
+msgstr "nÃºmero de registrador invÃ¡lido, deve ser fp"
+
+#: arc-opc.c:594
+msgid "invalid register number, should be blink"
+msgstr "nÃºmero de registrador invÃ¡lido, deve ser blink"
+
+#: arc-opc.c:616
+msgid "invalid register number, should be pcl"
+msgstr "nÃºmero de registrador invÃ¡lido, deve ser pcl"
+
+#: arc-opc.c:768
+msgid "invalid size, should be 1, 2, 4, or 8"
+msgstr "tamanho invÃ¡lido, deve ser 1, 2, 4 ou 8"
+
+#: arc-opc.c:813
+msgid "invalid immediate, must be 1, 2, or 4"
+msgstr "imediato invÃ¡lido, deve ser 1, 2 ou 4"
 
-#: arm-dis.c:1017
+#: arc-opc.c:852
+msgid "invalid value for CMEM ld/st immediate"
+msgstr "valor invÃ¡lido para imediato ld/st CMEM"
+
+#: arc-opc.c:879
+msgid "invalid position, should be 0, 16, 32, 48 or 64."
+msgstr "posiÃ§Ã£o invÃ¡lida, deve ser 0, 16, 32, 48 ou 64."
+
+#: arc-opc.c:913
+msgid "invalid position, should be 16, 32, 64 or 128."
+msgstr "posiÃ§Ã£o invÃ¡lida, deve ser 16, 32, 48, 64 ou 128."
+
+#: arc-opc.c:935
+msgid "invalid size value must be on range 1-64."
+msgstr "valor de tamanho invÃ¡lido deve estar no intervalo de 1-64."
+
+#: arc-opc.c:966
+msgid "invalid position, should be 0, 8, 16, or 24"
+msgstr "posiÃ§Ã£o invÃ¡lida, deve ser 0, 8, 16 ou 24"
+
+#: arc-opc.c:991
+msgid "invalid size, value must be "
+msgstr "tamanho invÃ¡lido, valor deve ser "
+
+#: arc-opc.c:1065
+msgid "value out of range 1 - 256"
+msgstr "valor fora da faixa 1 - 256"
+
+#: arc-opc.c:1074
+msgid "value must be power of 2"
+msgstr "valor de ser uma potÃªncia de 2"
+
+#: arc-opc.c:1127
+msgid "value must be in the range 0 to 28"
+msgstr "valor deve estar no intervalo de 0 a 28"
+
+#: arc-opc.c:1149
+msgid "value must be in the range 1 to "
+msgstr "valor deve estar no intervalo de 1 a "
+
+#: arc-opc.c:1179
+msgid "value must be in the range 0 to 240"
+msgstr "valor deve estar no intervalo de 0 a 240"
+
+#: arc-opc.c:1181
+msgid "value must be a multiple of 16"
+msgstr "valor deve ser um mÃºltiplo de 16"
+
+#: arc-opc.c:1201
+msgid "invalid address type for operand"
+msgstr "tipo de endereÃ§o invÃ¡lido para operando"
+
+#: arc-opc.c:1235
+msgid "value must be in the range 0 to 31"
+msgstr "valor deve estar no intervalo de 0 a 31"
+
+#: arc-opc.c:1260
+msgid "invalid position, should be one of: 0,4,8,...124."
+msgstr "posiÃ§Ã£o invÃ¡lida, deve ser um dentre: 0,4,8,...124."
+
+#: arm-dis.c:3229
+msgid "Select raw register names"
+msgstr "Seleciona nomes de registrador nÃ£o tratado"
+
+#: arm-dis.c:3231
+msgid "Select register names used by GCC"
+msgstr "Seleciona nomes de registradores usados pelo GCC"
+
+#: arm-dis.c:3233
+msgid "Select register names used in ARM's ISA documentation"
+msgstr "Seleciona nomes de registradores usados em documentaÃ§Ã£o ISA do ARM"
+
+#: arm-dis.c:3235
+msgid "Assume all insns are Thumb insns"
+msgstr "Presume que todos insns sÃ£o insns Thumb"
+
+#: arm-dis.c:3236
+msgid "Examine preceding label to determine an insn's type"
+msgstr "Examina rÃ³tulo anterior para determinar o tipo de um insn"
+
+#: arm-dis.c:3237
+msgid "Select register names used in the APCS"
+msgstr "Selecione nomes de registradores usados no APCS"
+
+#: arm-dis.c:3239
+msgid "Select register names used in the ATPCS"
+msgstr "Selecione nomes de registradores usados no ATPCS"
+
+#: arm-dis.c:3241
+msgid "Select special register names used in the ATPCS"
+msgstr "Selecione nomes de registradores especiais usados no ATPCS"
+
+#: arm-dis.c:3639
+msgid "<illegal precision>"
+msgstr "<precisÃ£o ilegal>"
+
+#: arm-dis.c:6149
 #, c-format
-msgid "Unrecognised disassembler option: %s\n"
-msgstr "Opção do desmontador desconhecida: %s\n"
+msgid "unrecognised register name set: %s"
+msgstr "conjunto de nomes de registrador desconhecido: %s"
 
-#: arm-dis.c:1191
+#: arm-dis.c:6855
+#, c-format
 msgid ""
 "\n"
 "The following ARM specific disassembler options are supported for use with\n"
 "the -M switch:\n"
 msgstr ""
 "\n"
-"As opções do desmontador espcíficas para ARM a seguir não são suportadas para\n"
-"uso com a opção -M:\n"
+"As opÃ§Ãµes do desmontador especÃ­ficas para ARM a seguir nÃ£o tÃªm suporte\n"
+"ao uso com a opÃ§Ã£o -M:\n"
 
-#: avr-dis.c:118 avr-dis.c:128
+#: avr-dis.c:115 avr-dis.c:136
+#, c-format
 msgid "undefined"
 msgstr "indefinido"
 
-#: avr-dis.c:180
-msgid "Internal disassembler error"
-msgstr "Erro interno do desmontador"
+#: avr-dis.c:216
+#, c-format
+msgid "internal disassembler error"
+msgstr "erro interno do desmontador"
 
-#: avr-dis.c:228
+#: avr-dis.c:270
 #, c-format
 msgid "unknown constraint `%c'"
-msgstr "restrição `%c' desconhecida"
+msgstr "restriÃ§Ã£o \"%c\" desconhecida"
 
-#: cgen-asm.c:346 fr30-ibld.c:195 frv-ibld.c:195 m32r-ibld.c:195
-#: openrisc-ibld.c:195 xstormy16-ibld.c:195
+#: cgen-asm.c:351 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
+#: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201
+#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 or1k-ibld.c:201
+#: xc16x-ibld.c:201 xstormy16-ibld.c:201
 #, c-format
 msgid "operand out of range (%ld not between %ld and %ld)"
-msgstr "operando fora de faixa (%ld não está entre %ld e %ld)"
+msgstr "operando fora da faixa (%ld nÃ£o estÃ¡ entre %ld e %ld)"
 
-#: cgen-asm.c:367
+#: cgen-asm.c:373
 #, c-format
 msgid "operand out of range (%lu not between %lu and %lu)"
-msgstr "operando fora de faixa (%lu não está entre %lu e %lu)"
+msgstr "operando fora da faixa (%lu nÃ£o estÃ¡ entre %lu e %lu)"
 
-#: d30v-dis.c:312
+#: d30v-dis.c:229
+#, c-format
+msgid "illegal id (%d)"
+msgstr "id ilegal (%d)"
+
+#: d30v-dis.c:256
 #, c-format
 msgid "<unknown register %d>"
 msgstr "<registrador %d desconhecido>"
 
 #. Can't happen.
-#: dis-buf.c:57
+#: dis-buf.c:61
 #, c-format
 msgid "Unknown error %d\n"
 msgstr "Erro %d desconhecido\n"
 
-#: dis-buf.c:62
-#, c-format
-msgid "Address 0x%x is out of bounds.\n"
-msgstr "Endereço 0x%x está fora dos limites.\n"
-
-#: fr30-asm.c:323 frv-asm.c:595 m32r-asm.c:325 openrisc-asm.c:244
-#: xstormy16-asm.c:231
+#: dis-buf.c:70
 #, c-format
-msgid "Unrecognized field %d while parsing.\n"
-msgstr "Campo %d desconhecido durante análise.\n"
+msgid "Address 0x%s is out of bounds.\n"
+msgstr "EndereÃ§o 0x%s estÃ¡ fora dos limites.\n"
 
-#: fr30-asm.c:373 frv-asm.c:645 m32r-asm.c:375 openrisc-asm.c:294
-#: xstormy16-asm.c:281
+#: epiphany-asm.c:68
+msgid "register unavailable for short instructions"
+msgstr "registrador indisponÃ­vel para instruÃ§Ãµes curtas"
+
+#: epiphany-asm.c:115
+msgid "register name used as immediate value"
+msgstr "nome do registrador usado como valor imediato"
+
+#. Don't treat "mov ip,ip" as a move-immediate.
+#: epiphany-asm.c:178 epiphany-asm.c:234
+msgid "register source in immediate move"
+msgstr "origem de registrador no movimento de imediato"
+
+#: epiphany-asm.c:187
+msgid "byte relocation unsupported"
+msgstr "sem suporte a realocaÃ§Ã£o de byte"
+
+#. -- assembler routines inserted here.
+#. -- asm.c
+#: epiphany-asm.c:193 frv-asm.c:972 iq2000-asm.c:56 lm32-asm.c:95
+#: lm32-asm.c:127 lm32-asm.c:157 lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247
+#: m32c-asm.c:140 m32c-asm.c:235 m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355
+#: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289
+#: mep-asm.c:301 or1k-asm.c:54
+msgid "missing `)'"
+msgstr "faltando \")\""
+
+#: epiphany-asm.c:270
+msgid "ABORT: unknown operand"
+msgstr "ABORTAR: operando desconhecido"
+
+#: epiphany-asm.c:296
+msgid "Not a pc-relative address."
+msgstr "NÃ£o Ã© um endereÃ§o relativo a pc."
+
+#: epiphany-asm.c:456 fr30-asm.c:311 frv-asm.c:1264 ip2k-asm.c:512
+#: iq2000-asm.c:460 lm32-asm.c:350 m32c-asm.c:1585 m32r-asm.c:329
+#: mep-asm.c:1288 mt-asm.c:596 or1k-asm.c:504 xc16x-asm.c:377
+#: xstormy16-asm.c:277
+#, c-format
+msgid "internal error: unrecognized field %d while parsing"
+msgstr "erro interno: campo %d desconhecido durante anÃ¡lise"
+
+#: epiphany-asm.c:508 fr30-asm.c:363 frv-asm.c:1316 ip2k-asm.c:564
+#: iq2000-asm.c:512 lm32-asm.c:402 m32c-asm.c:1637 m32r-asm.c:381
+#: mep-asm.c:1340 mt-asm.c:648 or1k-asm.c:556 xc16x-asm.c:429
+#: xstormy16-asm.c:329
 msgid "missing mnemonic in syntax string"
-msgstr "mnemônico faltando na string de sintaxe"
+msgstr "mnemÃ´nico faltando na string de sintaxe"
 
 #. We couldn't parse it.
-#: fr30-asm.c:509 fr30-asm.c:513 fr30-asm.c:600 fr30-asm.c:702 frv-asm.c:781
-#: frv-asm.c:785 frv-asm.c:872 frv-asm.c:974 m32r-asm.c:511 m32r-asm.c:515
-#: m32r-asm.c:602 m32r-asm.c:704 openrisc-asm.c:430 openrisc-asm.c:434
-#: openrisc-asm.c:521 openrisc-asm.c:623 xstormy16-asm.c:417
-#: xstormy16-asm.c:421 xstormy16-asm.c:508 xstormy16-asm.c:610
+#: epiphany-asm.c:643 epiphany-asm.c:647 epiphany-asm.c:736 epiphany-asm.c:843
+#: fr30-asm.c:498 fr30-asm.c:502 fr30-asm.c:591 fr30-asm.c:698 frv-asm.c:1451
+#: frv-asm.c:1455 frv-asm.c:1544 frv-asm.c:1651 ip2k-asm.c:699 ip2k-asm.c:703
+#: ip2k-asm.c:792 ip2k-asm.c:899 iq2000-asm.c:647 iq2000-asm.c:651
+#: iq2000-asm.c:740 iq2000-asm.c:847 lm32-asm.c:537 lm32-asm.c:541
+#: lm32-asm.c:630 lm32-asm.c:737 m32c-asm.c:1772 m32c-asm.c:1776
+#: m32c-asm.c:1865 m32c-asm.c:1972 m32r-asm.c:516 m32r-asm.c:520
+#: m32r-asm.c:609 m32r-asm.c:716 mep-asm.c:1475 mep-asm.c:1479 mep-asm.c:1568
+#: mep-asm.c:1675 mt-asm.c:783 mt-asm.c:787 mt-asm.c:876 mt-asm.c:983
+#: or1k-asm.c:691 or1k-asm.c:695 or1k-asm.c:784 or1k-asm.c:891 xc16x-asm.c:564
+#: xc16x-asm.c:568 xc16x-asm.c:657 xc16x-asm.c:764 xstormy16-asm.c:464
+#: xstormy16-asm.c:468 xstormy16-asm.c:557 xstormy16-asm.c:664
 msgid "unrecognized instruction"
-msgstr "instrução não reconhecida"
+msgstr "instruÃ§Ã£o nÃ£o reconhecida"
 
-#: fr30-asm.c:556 frv-asm.c:828 m32r-asm.c:558 openrisc-asm.c:477
-#: xstormy16-asm.c:464
+#: epiphany-asm.c:690 fr30-asm.c:545 frv-asm.c:1498 ip2k-asm.c:746
+#: iq2000-asm.c:694 lm32-asm.c:584 m32c-asm.c:1819 m32r-asm.c:563
+#: mep-asm.c:1522 mt-asm.c:830 or1k-asm.c:738 xc16x-asm.c:611
+#: xstormy16-asm.c:511
 #, c-format
 msgid "syntax error (expected char `%c', found `%c')"
-msgstr "erro de sintaxe (esperado char `%c', encontrado `%c')"
+msgstr "erro de sintaxe (esperado caractere \"%c\", encontrado \"%c\")"
 
-#: fr30-asm.c:566 frv-asm.c:838 m32r-asm.c:568 openrisc-asm.c:487
-#: xstormy16-asm.c:474
+#: epiphany-asm.c:700 fr30-asm.c:555 frv-asm.c:1508 ip2k-asm.c:756
+#: iq2000-asm.c:704 lm32-asm.c:594 m32c-asm.c:1829 m32r-asm.c:573
+#: mep-asm.c:1532 mt-asm.c:840 or1k-asm.c:748 xc16x-asm.c:621
+#: xstormy16-asm.c:521
 #, c-format
 msgid "syntax error (expected char `%c', found end of instruction)"
-msgstr "erro de sintaxe (esperado char `%c', encontrado fim de instrução)"
+msgstr "erro de sintaxe (esperado caractere \"%c\", encontrado fim de instruÃ§Ã£o)"
 
-#: fr30-asm.c:594 frv-asm.c:866 m32r-asm.c:596 openrisc-asm.c:515
-#: xstormy16-asm.c:502
+#: epiphany-asm.c:730 fr30-asm.c:585 frv-asm.c:1538 ip2k-asm.c:786
+#: iq2000-asm.c:734 lm32-asm.c:624 m32c-asm.c:1859 m32r-asm.c:603
+#: mep-asm.c:1562 mt-asm.c:870 or1k-asm.c:778 xc16x-asm.c:651
+#: xstormy16-asm.c:551
 msgid "junk at end of line"
-msgstr "lixo no final do arquivo"
+msgstr "lixo no fim da linha"
 
-#: fr30-asm.c:701 frv-asm.c:973 m32r-asm.c:703 openrisc-asm.c:622
-#: xstormy16-asm.c:609
+#: epiphany-asm.c:842 fr30-asm.c:697 frv-asm.c:1650 ip2k-asm.c:898
+#: iq2000-asm.c:846 lm32-asm.c:736 m32c-asm.c:1971 m32r-asm.c:715
+#: mep-asm.c:1674 mt-asm.c:982 or1k-asm.c:890 xc16x-asm.c:763
+#: xstormy16-asm.c:663
 msgid "unrecognized form of instruction"
-msgstr "forma de instrução não reconhecida"
+msgstr "forma de instruÃ§Ã£o nÃ£o reconhecida"
 
-#: fr30-asm.c:713 frv-asm.c:985 m32r-asm.c:715 openrisc-asm.c:634
-#: xstormy16-asm.c:621
+#: epiphany-asm.c:856 fr30-asm.c:711 frv-asm.c:1664 ip2k-asm.c:912
+#: iq2000-asm.c:860 lm32-asm.c:750 m32c-asm.c:1985 m32r-asm.c:729
+#: mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:904 xc16x-asm.c:777
+#: xstormy16-asm.c:677
 #, c-format
 msgid "bad instruction `%.50s...'"
-msgstr "instrução `%.50s...' errada"
+msgstr "instruÃ§Ã£o \"%.50sâ€¦\" errada"
 
-#: fr30-asm.c:716 frv-asm.c:988 m32r-asm.c:718 openrisc-asm.c:637
-#: xstormy16-asm.c:624
+#: epiphany-asm.c:859 fr30-asm.c:714 frv-asm.c:1667 ip2k-asm.c:915
+#: iq2000-asm.c:863 lm32-asm.c:753 m32c-asm.c:1988 m32r-asm.c:732
+#: mep-asm.c:1691 mt-asm.c:999 or1k-asm.c:907 xc16x-asm.c:780
+#: xstormy16-asm.c:680
 #, c-format
 msgid "bad instruction `%.50s'"
-msgstr "instrução `%.50s' errada"
+msgstr "instruÃ§Ã£o \"%.50s\" errada"
+
+#: epiphany-desc.c:2109
+#, c-format
+msgid "internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: epiphany_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
+
+#: epiphany-desc.c:2192
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: epiphany_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: epiphany-desc.c:2211
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: epiphany_cgen_cpu_open: nenhuma extremidade especificada"
 
 #. Default text to print if an instruction isn't recognized.
-#: fr30-dis.c:39 frv-dis.c:39 m32r-dis.c:39 mmix-dis.c:282 openrisc-dis.c:39
-#: xstormy16-dis.c:39
+#: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41
+#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:275
+#: mt-dis.c:41 nds32-dis.c:39 or1k-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41
 msgid "*unknown*"
-msgstr "*desconecida*"
+msgstr "*desconhecida*"
 
-#: fr30-dis.c:318 frv-dis.c:360 m32r-dis.c:249 openrisc-dis.c:136
+#: epiphany-dis.c:279 fr30-dis.c:300 frv-dis.c:397 ip2k-dis.c:289
+#: iq2000-dis.c:190 lm32-dis.c:148 m32c-dis.c:892 m32r-dis.c:280
+#: mep-dis.c:1188 mt-dis.c:291 or1k-dis.c:142 xc16x-dis.c:421
 #: xstormy16-dis.c:169
 #, c-format
-msgid "Unrecognized field %d while printing insn.\n"
-msgstr "Campo %d não reconhecido durante impressão de insn.\n"
+msgid "internal error: unrecognized field %d while printing insn"
+msgstr "erro interno: campo %d desconhecido ao imprimir insn"
 
-#: fr30-ibld.c:166 frv-ibld.c:166 m32r-ibld.c:166 openrisc-ibld.c:166
-#: xstormy16-ibld.c:166
+#: epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164 ip2k-ibld.c:164
+#: iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164
+#: mep-ibld.c:164 mt-ibld.c:164 or1k-ibld.c:164 xc16x-ibld.c:164
+#: xstormy16-ibld.c:164
 #, c-format
 msgid "operand out of range (%ld not between %ld and %lu)"
-msgstr "operando fora de faixa (%ld não está entre %ld e %lu)"
+msgstr "operando fora da faixa (%ld nÃ£o estÃ¡ entre %ld e %lu)"
 
-#: fr30-ibld.c:179 frv-ibld.c:179 m32r-ibld.c:179 openrisc-ibld.c:179
-#: xstormy16-ibld.c:179
+#: epiphany-ibld.c:185 fr30-ibld.c:185 frv-ibld.c:185 ip2k-ibld.c:185
+#: iq2000-ibld.c:185 lm32-ibld.c:185 m32c-ibld.c:185 m32r-ibld.c:185
+#: mep-ibld.c:185 mt-ibld.c:185 or1k-ibld.c:185 xc16x-ibld.c:185
+#: xstormy16-ibld.c:185
+#, c-format
+msgid "operand out of range (0x%lx not between 0 and 0x%lx)"
+msgstr "operando fora da faixa (0x%lx nÃ£o estÃ¡ entre 0 e 0x%lx)"
+
+#: epiphany-ibld.c:880 fr30-ibld.c:735 frv-ibld.c:861 ip2k-ibld.c:612
+#: iq2000-ibld.c:718 lm32-ibld.c:639 m32c-ibld.c:1736 m32r-ibld.c:670
+#: mep-ibld.c:1213 mt-ibld.c:754 or1k-ibld.c:651 xc16x-ibld.c:757
+#: xstormy16-ibld.c:683
+#, c-format
+msgid "internal error: unrecognized field %d while building insn"
+msgstr "erro interno: campo %d desconhecido ao compilar insn"
+
+#: epiphany-ibld.c:1175 fr30-ibld.c:941 frv-ibld.c:1179 ip2k-ibld.c:688
+#: iq2000-ibld.c:894 lm32-ibld.c:744 m32c-ibld.c:2898 m32r-ibld.c:808
+#: mep-ibld.c:1813 mt-ibld.c:975 or1k-ibld.c:757 xc16x-ibld.c:978
+#: xstormy16-ibld.c:830
+#, c-format
+msgid "internal error: unrecognized field %d while decoding insn"
+msgstr "erro interno: campo %d desconhecido ao decodificar insn"
+
+#: epiphany-ibld.c:1319 fr30-ibld.c:1088 frv-ibld.c:1458 ip2k-ibld.c:763
+#: iq2000-ibld.c:1026 lm32-ibld.c:834 m32c-ibld.c:3516 m32r-ibld.c:922
+#: mep-ibld.c:2284 mt-ibld.c:1176 or1k-ibld.c:841 xc16x-ibld.c:1200
+#: xstormy16-ibld.c:941
+#, c-format
+msgid "internal error: unrecognized field %d while getting int operand"
+msgstr "erro interno: campo %d desconhecido ao obter operando int"
+
+#: epiphany-ibld.c:1445 fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820
+#: iq2000-ibld.c:1140 lm32-ibld.c:906 m32c-ibld.c:4116 m32r-ibld.c:1018
+#: mep-ibld.c:2737 mt-ibld.c:1359 or1k-ibld.c:907 xc16x-ibld.c:1404
+#: xstormy16-ibld.c:1034
+#, c-format
+msgid "internal error: unrecognized field %d while getting vma operand"
+msgstr "erro interno: campo %d desconhecido ao obter operando vma"
+
+#: epiphany-ibld.c:1578 fr30-ibld.c:1349 frv-ibld.c:1987 ip2k-ibld.c:880
+#: iq2000-ibld.c:1261 lm32-ibld.c:985 m32c-ibld.c:4704 m32r-ibld.c:1120
+#: mep-ibld.c:3151 mt-ibld.c:1549 or1k-ibld.c:980 xc16x-ibld.c:1609
+#: xstormy16-ibld.c:1134
 #, c-format
-msgid "operand out of range (%lu not between 0 and %lu)"
-msgstr "operando fora de faixa (%lu não está entre 0 e %lu)"
+msgid "internal error: unrecognized field %d while setting int operand"
+msgstr "erro interno: campo %d desconhecido ao definir operando int"
 
-#: fr30-ibld.c:730 frv-ibld.c:820 m32r-ibld.c:659 openrisc-ibld.c:633
-#: xstormy16-ibld.c:678
+#: epiphany-ibld.c:1701 fr30-ibld.c:1471 frv-ibld.c:2245 ip2k-ibld.c:930
+#: iq2000-ibld.c:1372 lm32-ibld.c:1054 m32c-ibld.c:5282 m32r-ibld.c:1212
+#: mep-ibld.c:3555 mt-ibld.c:1729 or1k-ibld.c:1043 xc16x-ibld.c:1804
+#: xstormy16-ibld.c:1224
 #, c-format
-msgid "Unrecognized field %d while building insn.\n"
-msgstr "Campo %d não reconhecido durante construção de insn.\n"
+msgid "internal error: unrecognized field %d while setting vma operand"
+msgstr "erro interno: campo %d desconhecido ao definir operando vma"
 
-#: fr30-ibld.c:937 frv-ibld.c:1103 m32r-ibld.c:792 openrisc-ibld.c:735
-#: xstormy16-ibld.c:826
+#: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879
+msgid "Register number is not valid"
+msgstr "NÃºmero de registrador nÃ£o Ã© vÃ¡lido"
+
+#: fr30-asm.c:95
+msgid "Register must be between r0 and r7"
+msgstr "Registrador deve estar entre r0 e r7"
+
+#: fr30-asm.c:97
+msgid "Register must be between r8 and r15"
+msgstr "Registrador deve estar entre r8 e r15"
+
+#: fr30-asm.c:116 m32c-asm.c:910
+msgid "Register list is not valid"
+msgstr "Lista de registrador nÃ£o Ã© vÃ¡lido"
+
+#: fr30-desc.c:1586
 #, c-format
-msgid "Unrecognized field %d while decoding insn.\n"
-msgstr "Campo %d não reconhecido durante decodificação de insn.\n"
+msgid "internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: fr30_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
 
-#: fr30-ibld.c:1086 frv-ibld.c:1348 m32r-ibld.c:902 openrisc-ibld.c:815
-#: xstormy16-ibld.c:939
+#: fr30-desc.c:1669
 #, c-format
-msgid "Unrecognized field %d while getting int operand.\n"
-msgstr "Campo %d não reconhecido ao obter operando int.\n"
+msgid "internal error: fr30_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: fr30_cgen_cpu_open: sem suporte ao argumento \"%d\""
 
-#: fr30-ibld.c:1215 frv-ibld.c:1573 m32r-ibld.c:992 openrisc-ibld.c:875
-#: xstormy16-ibld.c:1032
+#: fr30-desc.c:1688
 #, c-format
-msgid "Unrecognized field %d while getting vma operand.\n"
-msgstr "Campo %d não reconhecido ao obter operando vma.\n"
+msgid "internal error: fr30_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: fr30_cgen_cpu_open: nenhuma extremidade especificada"
 
-#: fr30-ibld.c:1349 frv-ibld.c:1807 m32r-ibld.c:1090 openrisc-ibld.c:944
-#: xstormy16-ibld.c:1134
+#: frv-asm.c:608
+msgid "missing `]'"
+msgstr "faltando \"]\""
+
+#: frv-asm.c:611 frv-asm.c:621
+msgid "Special purpose register number is out of range"
+msgstr "NÃºmero de registrado de propÃ³sito especial estÃ¡ fora da faixa"
+
+#: frv-asm.c:908
+msgid "Value of A operand must be 0 or 1"
+msgstr "Valor do operando A deve ser 0 ou 1"
+
+#: frv-asm.c:944
+msgid "register number must be even"
+msgstr "nÃºmero de registrador deve ser par"
+
+#: frv-desc.c:6326
 #, c-format
-msgid "Unrecognized field %d while setting int operand.\n"
-msgstr "Campo %d não reconhecido ao definir operando int.\n"
+msgid "internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: frv_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
 
-#: fr30-ibld.c:1471 frv-ibld.c:2029 m32r-ibld.c:1176 openrisc-ibld.c:1001
-#: xstormy16-ibld.c:1224
+#: frv-desc.c:6409
+#, c-format
+msgid "internal error: frv_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: frv_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: frv-desc.c:6428
+#, c-format
+msgid "internal error: frv_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: frv_cgen_cpu_open: nenhuma extremidade especificada"
+
+#: frv-opc.c:459
+#, c-format
+msgid "internal error: bad vliw->next_slot value"
+msgstr "erro interno: valor vliw->next_slot invÃ¡lido"
+
+#: frv-opc.c:769
 #, c-format
-msgid "Unrecognized field %d while setting vma operand.\n"
-msgstr "Campo %d não reconhecido ao definir operando vma.\n"
+msgid "internal error: bad major code"
+msgstr "erro interno: cÃ³digo principal invÃ¡lido"
 
-#: h8300-dis.c:385
+#: frv-opc.c:819
 #, c-format
-msgid "Hmmmm %x"
-msgstr "Hmmmm %x"
+msgid "internal error: bad insn unit"
+msgstr "erro interno: unidade insn invÃ¡lida"
 
-#: h8300-dis.c:396
+#: h8300-dis.c:63
 #, c-format
-msgid "Don't understand %x \n"
-msgstr "Não entendo %x \n"
+msgid "internal error, h8_disassemble_init"
+msgstr "erro interno, h8_disassemble_init"
 
-#: h8500-dis.c:143
+#: h8300-dis.c:314
 #, c-format
-msgid "can't cope with insert %d\n"
-msgstr "impossível lidar com insert %d\n"
+msgid "Hmmmm 0x%x"
+msgstr "Hmmmm 0x%x"
 
-#. Couldn't understand anything.
-#: h8500-dis.c:350
+#: h8300-dis.c:691
 #, c-format
-msgid "%02x\t\t*unknown*"
-msgstr "%02x\t\t*desconhecido*"
+msgid "Don't understand 0x%x \n"
+msgstr "NÃ£o entendo 0x%x \n"
 
-#: i386-dis.c:1649
+#: i386-dis.c:12405
 msgid "<internal disassembler error>"
 msgstr "<erro interno do desmontador>"
 
-#: m10200-dis.c:199
+#: i386-dis.c:12700
 #, c-format
-msgid "unknown\t0x%02x"
-msgstr "desconhecido\t0x%02x"
+msgid ""
+"\n"
+"The following i386/x86-64 specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"As opÃ§Ãµes do desmontador especÃ­ficas para i386/x86-64 a seguir nÃ£o tÃªm suporte\n"
+"ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):\n"
 
-#: m10200-dis.c:339
+#: i386-dis.c:12704
 #, c-format
-msgid "unknown\t0x%04lx"
-msgstr "desconhecido\t0x%04lx"
+msgid "  x86-64      Disassemble in 64bit mode\n"
+msgstr "  x86-64      Desmonta no modo 64bit\n"
 
-#: m10300-dis.c:685
+#: i386-dis.c:12705
 #, c-format
-msgid "unknown\t0x%04x"
-msgstr "desconhecido\t0x%04x"
+msgid "  i386        Disassemble in 32bit mode\n"
+msgstr "  i386        Desmonta no modo 32bit\n"
 
-#: m68k-dis.c:429
+#: i386-dis.c:12706
 #, c-format
-msgid "<internal error in opcode table: %s %s>\n"
-msgstr "<erro interno na tabela de códigos de operação: %s %s>\n"
+msgid "  i8086       Disassemble in 16bit mode\n"
+msgstr "  i8086       Desmonta no modo 16bit\n"
 
-#: m68k-dis.c:1007
+#: i386-dis.c:12707
 #, c-format
-msgid "<function code %d>"
-msgstr "<código de função %d>"
+msgid "  att         Display instruction in AT&T syntax\n"
+msgstr "  att         Exibe instruÃ§Ã£o na sintaxe AT&T\n"
 
-#: m88k-dis.c:255
+#: i386-dis.c:12708
 #, c-format
-msgid "# <dis error: %08x>"
-msgstr "# <erro de desmontador: %08x>"
+msgid "  intel       Display instruction in Intel syntax\n"
+msgstr "  intel       Exibe instruÃ§Ã£o na sintaxe Intel\n"
 
-#: mips-dis.c:337
+#: i386-dis.c:12709
 #, c-format
-msgid "# internal error, undefined modifier(%c)"
-msgstr "# erro interno, modificador (%c) indefinido"
+msgid ""
+"  att-mnemonic\n"
+"              Display instruction in AT&T mnemonic\n"
+msgstr ""
+"  att-mnemonic\n"
+"              Exibe instruÃ§Ã£o em mnemÃ´nico AT&T\n"
 
-#: mips-dis.c:1209
+#: i386-dis.c:12711
 #, c-format
-msgid "# internal disassembler error, unrecognised modifier (%c)"
-msgstr "# erro interno do desmontador, modificador (%c) não reconhecido"
+msgid ""
+"  intel-mnemonic\n"
+"              Display instruction in Intel mnemonic\n"
+msgstr ""
+"  intel-mnemonic\n"
+"              Exibe instruÃ§Ã£o na mnemÃ´nico Intel\n"
 
-#: mmix-dis.c:34
+#: i386-dis.c:12713
 #, c-format
-msgid "Bad case %d (%s) in %s:%d\n"
-msgstr "Case %d errado (%s) em %s:%d\n"
+msgid "  addr64      Assume 64bit address size\n"
+msgstr "  addr64      Presume tamanho de endereÃ§o de 64bit\n"
 
-#: mmix-dis.c:44
+#: i386-dis.c:12714
 #, c-format
-msgid "Internal: Non-debugged code (test-case missing): %s:%d"
-msgstr "Interno: Código não depurado (test-case faltando): %s:%d"
+msgid "  addr32      Assume 32bit address size\n"
+msgstr "  addr32      Presume tamanho de endereÃ§o de 32bit\n"
 
-#: mmix-dis.c:53
-msgid "(unknown)"
-msgstr "(desconhecido)"
+#: i386-dis.c:12715
+#, c-format
+msgid "  addr16      Assume 16bit address size\n"
+msgstr "  addr16      Presume tamanho de endereÃ§o de 16bit\n"
 
-#: mmix-dis.c:517
+#: i386-dis.c:12716
 #, c-format
-msgid "*unknown operands type: %d*"
-msgstr "*tipo de operandos desconhecidos: %d*"
+msgid "  data32      Assume 32bit data size\n"
+msgstr "  data32      Presume tamanho de dados de 32bit\n"
 
-#. I and Z are output operands and can`t be immediate
-#. * A is an address and we can`t have the address of
-#. * an immediate either. We don't know how much to increase
-#. * aoffsetp by since whatever generated this is broken
-#. * anyway!
-#.
-#: ns32k-dis.c:628
-msgid "$<undefined>"
-msgstr "$<indefinido>"
+#: i386-dis.c:12717
+#, c-format
+msgid "  data16      Assume 16bit data size\n"
+msgstr "  data16      Presume tamanho de dados de 16bit\n"
 
-#: ppc-opc.c:777 ppc-opc.c:810
-msgid "invalid conditional option"
-msgstr "opção condicional inválida"
+#: i386-dis.c:12718
+#, c-format
+msgid "  suffix      Always display instruction suffix in AT&T syntax\n"
+msgstr "  suffix      Sempre exibe sufixo da instruÃ§Ã£o na sintaxe AT&T\n"
 
-#: ppc-opc.c:812
-msgid "attempt to set y bit when using + or - modifier"
-msgstr "tentativa de setar bit y ao usar modificador + ou -"
+#: i386-dis.c:12719
+#, c-format
+msgid "  amd64       Display instruction in AMD64 ISA\n"
+msgstr "  amd64       Exibe instruÃ§Ã£o em AMD64 ISA\n"
 
-#: ppc-opc.c:844 ppc-opc.c:896
-msgid "offset not a multiple of 4"
-msgstr "deslocamento não é um múltiplo de 4"
+#: i386-dis.c:12720
+#, c-format
+msgid "  intel64     Display instruction in Intel64 ISA\n"
+msgstr "  intel64     Exibe instruÃ§Ã£o em Intel64 ISA\n"
 
-#: ppc-opc.c:869
-msgid "offset not between -2048 and 2047"
-msgstr "deslocamento não está entre -2048 and 2047"
+#: i386-dis.c:13260
+msgid "64-bit address is disabled"
+msgstr "endereÃ§o de 64 bits estÃ¡ desabilitado"
 
-#: ppc-opc.c:894
-msgid "offset not between -8192 and 8191"
-msgstr "deslocamento não está entre -8192 and 8191"
+#: i386-gen.c:730
+#, c-format
+msgid "%s: error: "
+msgstr "%s: erro: "
 
-#: ppc-opc.c:922
-msgid "ignoring least significant bits in branch offset"
-msgstr "ignorando os bits menos significatiovs no deslocamento do desvio"
+#: i386-gen.c:909
+#, c-format
+msgid "%s: %d: unknown bitfield: %s\n"
+msgstr "%s: %d: bitfield desconhecido: %s\n"
 
-#: ppc-opc.c:956 ppc-opc.c:993
-msgid "illegal bitmask"
-msgstr "máscara de bits ilegal"
+#: i386-gen.c:911
+#, c-format
+msgid "unknown bitfield: %s\n"
+msgstr "bitfield desconhecido: %s\n"
 
-#: ppc-opc.c:1066
-msgid "value out of range"
-msgstr "valor fora de faixa"
+#: i386-gen.c:974
+#, c-format
+msgid "%s: %d: missing `)' in bitfield: %s\n"
+msgstr "%s: %d: faltando \")\" em bitfield: %s\n"
 
-#: ppc-opc.c:1142
-msgid "index register in load range"
-msgstr "registrador de índice na faixa de carregamento"
+#: i386-gen.c:1275
+#, c-format
+msgid "can't find i386-opc.tbl for reading, errno = %s\n"
+msgstr "nÃ£o foi possÃ­vel localizar i386-opc.tbl para leitura, errno = %s\n"
 
-#: ppc-opc.c:1158
-msgid "invalid register operand when updating"
-msgstr "operando de registro inválido durante atualização"
+#: i386-gen.c:1406
+#, c-format
+msgid "can't find i386-reg.tbl for reading, errno = %s\n"
+msgstr "nÃ£o foi possÃ­vel localizar i386-reg.tbl para leitura, errno = %s\n"
 
-#. Mark as non-valid instruction
-#: sparc-dis.c:750
-msgid "unknown"
-msgstr "desconhecido"
+#: i386-gen.c:1484
+#, c-format
+msgid "can't create i386-init.h, errno = %s\n"
+msgstr "nÃ£o foi possÃ­vel criar i386-init.h, errno = %s\n"
 
-#: sparc-dis.c:825
+#: i386-gen.c:1574 ia64-gen.c:2829
 #, c-format
-msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr "Erro interno:  sparc-opcode.h errado: \"%s\", %#.8lx, %#.8lx\n"
+msgid "unable to change directory to \"%s\", errno = %s\n"
+msgstr "nÃ£o foi possÃ­vel alterar diretÃ³rio para \"%s\", errno = %s\n"
 
-#: sparc-dis.c:836
+#: i386-gen.c:1586 i386-gen.c:1589
 #, c-format
-msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr "Erro interno: sparc-opcode.h errado: \"%s\", %#.8lx, %#.8lx\n"
+msgid "CpuMax != %d!\n"
+msgstr "CpuMax != %d!\n"
 
-#: sparc-dis.c:885
+#: i386-gen.c:1593
 #, c-format
-msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
-msgstr "Erro interno: sparc-opcode.h errado: \"%s\" == \"%s\"\n"
+msgid "%d unused bits in i386_cpu_flags.\n"
+msgstr "%d bits nÃ£o usados em i386_cpu_flags.\n"
 
-#: v850-dis.c:224
+#: i386-gen.c:1600
 #, c-format
-msgid "unknown operand shift: %x\n"
-msgstr "deslocamento de operando desconhecido: %x\n"
+msgid "%d unused bits in i386_operand_type.\n"
+msgstr "%d bits nÃ£o usados em i386_operand_type.\n"
 
-#: v850-dis.c:236
+#: i386-gen.c:1614
 #, c-format
-msgid "unknown pop reg: %d\n"
-msgstr "registrador pop desconhecido: %d\n"
+msgid "can't create i386-tbl.h, errno = %s\n"
+msgstr "nÃ£o foi possÃ­vel criar i386-tbl.h, errno = %s\n"
 
-#. The functions used to insert and extract complicated operands.
-#. Note: There is a conspiracy between these functions and
-#. v850_insert_operand() in gas/config/tc-v850.c.  Error messages
-#. containing the string 'out of range' will be ignored unless a
-#. specific command line option is given to GAS.
-#: v850-opc.c:68
-msgid "displacement value is not in range and is not aligned"
-msgstr "valor do deslocamento está fora da faixa e não está alinhado"
+#: ia64-gen.c:306
+#, c-format
+msgid "%s: Error: "
+msgstr "%s: Erro: "
 
-#: v850-opc.c:69
-msgid "displacement value is out of range"
-msgstr "valor do deslocamento está fora da faixa"
+#: ia64-gen.c:319
+#, c-format
+msgid "%s: Warning: "
+msgstr "%s: Aviso: "
 
-#: v850-opc.c:70
-msgid "displacement value is not aligned"
-msgstr "valor do deslocamento não está alinhado"
+#: ia64-gen.c:505 ia64-gen.c:736
+#, c-format
+msgid "multiple note %s not handled\n"
+msgstr "mÃºltiplas notas %s nÃ£o tratadas\n"
 
-#: v850-opc.c:72
-msgid "immediate value is out of range"
-msgstr "valor imediato está fora da faixa"
+#: ia64-gen.c:616
+msgid "can't find ia64-ic.tbl for reading\n"
+msgstr "nÃ£o foi possÃ­vel localizar ia64-ic.tbl para leitura\n"
 
-#: v850-opc.c:83
-msgid "branch value not in range and to odd offset"
-msgstr "valor do desvio fora da faixa e para deslocamento ímpar"
+#: ia64-gen.c:818
+#, c-format
+msgid "can't find %s for reading\n"
+msgstr "nÃ£o foi possÃ­vel localizar %s para leitura\n"
 
-#: v850-opc.c:85 v850-opc.c:117
-msgid "branch value out of range"
-msgstr "valor do desvio fora da faixa"
+#: ia64-gen.c:1050
+#, c-format
+msgid ""
+"most recent format '%s'\n"
+"appears more restrictive than '%s'\n"
+msgstr ""
+"formato mais recente \"%s\"\n"
+"parece mais restritiva que \"%s\"\n"
 
-#: v850-opc.c:88 v850-opc.c:120
-msgid "branch to odd offset"
-msgstr "desvio para um deslocamento ímpar"
+#: ia64-gen.c:1061
+#, c-format
+msgid "overlapping field %s->%s\n"
+msgstr "sobrepondo campo %s->%s\n"
 
-#: v850-opc.c:115
-msgid "branch value not in range and to an odd offset"
-msgstr "valor do desvio fora da faixa e para um deslocamento ímpar"
+#: ia64-gen.c:1258
+#, c-format
+msgid "overwriting note %d with note %d (IC:%s)\n"
+msgstr "sobrescrevendo nota %d com nota %d (IC:%s)\n"
 
-#: v850-opc.c:346
-msgid "invalid register for stack adjustment"
-msgstr "registrador inválido para ajuste da pilha"
+#: ia64-gen.c:1465
+#, c-format
+msgid "don't know how to specify %% dependency %s\n"
+msgstr "nÃ£o sei como especificar %% dependÃªncia %s\n"
 
-#: v850-opc.c:370
-msgid "immediate value not in range and not even"
-msgstr "valor imediato fora da faixa e não é par"
+#: ia64-gen.c:1487
+#, c-format
+msgid "Don't know how to specify # dependency %s\n"
+msgstr "NÃ£o sei como especificar # dependÃªncia %s\n"
 
-#: v850-opc.c:375
-msgid "immediate value must be even"
-msgstr "o valor imediato deve ser par"
+#: ia64-gen.c:1526
+#, c-format
+msgid "IC:%s [%s] has no terminals or sub-classes\n"
+msgstr "IC:%s [%s] possui nenhum terminal ou subclasse\n"
 
-#: xstormy16-asm.c:74
-msgid "Bad register in preincrement"
-msgstr "Registrador errado no pré-incremento"
+#: ia64-gen.c:1529
+#, c-format
+msgid "IC:%s has no terminals or sub-classes\n"
+msgstr "IC:%s possui nenhum terminal ou subclasse\n"
 
-#: xstormy16-asm.c:79
-msgid "Bad register in postincrement"
-msgstr "Registrador errado no pós-incremento"
+#: ia64-gen.c:1538
+#, c-format
+msgid "no insns mapped directly to terminal IC %s [%s]"
+msgstr "nenhum insn mapeado diretamente ao terminal IC %s [%s]"
 
-#: xstormy16-asm.c:81
-msgid "Bad register name"
-msgstr "Nome de registrador errado"
+#: ia64-gen.c:1541
+#, c-format
+msgid "no insns mapped directly to terminal IC %s\n"
+msgstr "nenhum insn mapeado diretamente ao terminal IC %s\n"
 
-#: xstormy16-asm.c:85
-msgid "Label conflicts with register name"
-msgstr "O rótulo conflita com nome de registrador"
+#: ia64-gen.c:1552
+#, c-format
+msgid "class %s is defined but not used\n"
+msgstr "a classe %s estÃ¡ definida, mas nÃ£o Ã© usada\n"
 
-#: xstormy16-asm.c:89
-msgid "Label conflicts with `Rx'"
-msgstr "O rótulo conflita com `Rx'"
+#: ia64-gen.c:1565
+#, c-format
+msgid "Warning: rsrc %s (%s) has no chks\n"
+msgstr "Aviso: rsrc %s (%s) possui nenhum chk\n"
 
-#: xstormy16-asm.c:91
-msgid "Bad immediate expression"
-msgstr "Expressão imediata errada"
+#: ia64-gen.c:1568
+#, c-format
+msgid "Warning: rsrc %s (%s) has no chks or regs\n"
+msgstr "Aviso: rsrc %s (%s) possui nenhum chk ou reg\n"
 
-#: xstormy16-asm.c:120
-msgid "Small operand was not an immediate number"
-msgstr "O operando pequeno não era um número imediato"
+#: ia64-gen.c:1572
+#, c-format
+msgid "rsrc %s (%s) has no regs\n"
+msgstr "rsrc %s (%s) possui nenhum reg\n"
+
+#: ia64-gen.c:2464
+#, c-format
+msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n"
+msgstr "nota de IC %d no o cÃ³digo de operaÃ§Ã£o %s (IC:%s) conflita com o recurso %s nota %d\n"
+
+#: ia64-gen.c:2492
+#, c-format
+msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n"
+msgstr "nota de IC %d para o cÃ³digo de operaÃ§Ã£o %s (IC:%s) conflita com o recurso %s nota %d\n"
+
+#: ia64-gen.c:2506
+#, c-format
+msgid "opcode %s has no class (ops %d %d %d)\n"
+msgstr "o cÃ³digo de operaÃ§Ã£o %s possui nenhuma classe (ops %d %d %d)\n"
+
+#. We've been passed a w.  Return with an error message so that
+#. cgen will try the next parsing option.
+#: ip2k-asm.c:81
+msgid "W keyword invalid in FR operand slot."
+msgstr "palavra-chave W invÃ¡lida no slot de operando FR."
+
+#. Invalid offset present.
+#: ip2k-asm.c:106
+msgid "offset(IP) is not a valid form"
+msgstr "deslocamento(IP) nÃ£o Ã© uma forma vÃ¡lida"
+
+#. Found something there in front of (DP) but it's out
+#. of range.
+#: ip2k-asm.c:154
+msgid "(DP) offset out of range."
+msgstr "(DP) deslocamento fora da faixa."
+
+#. Found something there in front of (SP) but it's out
+#. of range.
+#: ip2k-asm.c:195
+msgid "(SP) offset out of range."
+msgstr "(SP) deslocamento fora da faixa."
+
+#: ip2k-asm.c:211
+msgid "illegal use of parentheses"
+msgstr "uso ilegal de parÃªnteses"
+
+#: ip2k-asm.c:218
+msgid "operand out of range (not between 1 and 255)"
+msgstr "operando fora da faixa (nÃ£o estÃ¡ entre 1 e 255)"
+
+#. Something is very wrong. opindex has to be one of the above.
+#: ip2k-asm.c:242
+msgid "parse_addr16: invalid opindex."
+msgstr "parse_addr16: opindex invÃ¡lido."
+
+#: ip2k-asm.c:296
+msgid "Byte address required. - must be even."
+msgstr "EndereÃ§o em bytes exigido - deve ser par."
+
+#: ip2k-asm.c:305
+msgid "cgen_parse_address returned a symbol. Literal required."
+msgstr "cgen_parse_address retornou um sÃ­mbolo. Literal exigido."
+
+#: ip2k-asm.c:360
+msgid "percent-operator operand is not a symbol"
+msgstr "operando do percent-operator nÃ£o Ã© um sÃ­mbolo"
+
+#: ip2k-asm.c:413
+msgid "Attempt to find bit index of 0"
+msgstr "Tentativa de localizar Ã­ndice bit de 0"
+
+#: ip2k-desc.c:1015
+#, c-format
+msgid "internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: ip2k_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
+
+#: ip2k-desc.c:1098
+#, c-format
+msgid "internal error: ip2k_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: ip2k_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: ip2k-desc.c:1117
+#, c-format
+msgid "internal error: ip2k_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: ip2k_cgen_cpu_open: nenhuma extremidade especificada"
+
+#: iq2000-asm.c:112 iq2000-asm.c:142
+msgid "immediate value cannot be register"
+msgstr "valor de imediato nÃ£o pode ser registrador"
+
+#: iq2000-asm.c:123 iq2000-asm.c:153 lm32-asm.c:70
+msgid "immediate value out of range"
+msgstr "valor de imediato estÃ¡ fora da faixa"
+
+#: iq2000-asm.c:182
+msgid "21-bit offset out of range"
+msgstr "deslocamento de 21 bits fora da faixa"
+
+#: iq2000-desc.c:2020
+#, c-format
+msgid "internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: iq2000_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
+
+#: iq2000-desc.c:2103
+#, c-format
+msgid "internal error: iq2000_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: iq2000_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: iq2000-desc.c:2122
+#, c-format
+msgid "internal error: iq2000_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: iq2000_cgen_cpu_open: nenhuma extremidade especificada"
+
+#: lm32-asm.c:166
+msgid "expecting gp relative address: gp(symbol)"
+msgstr "esperando endereÃ§o relativo a gp: gp(sÃ­mbolo)"
+
+#: lm32-asm.c:196
+msgid "expecting got relative address: got(symbol)"
+msgstr "esperando endereÃ§o relativo a got: got(sÃ­mbolo)"
+
+#: lm32-asm.c:226
+msgid "expecting got relative address: gotoffhi16(symbol)"
+msgstr "esperando endereÃ§o relativo a got: gotoffhi16(sÃ­mbolo)"
+
+#: lm32-asm.c:256
+msgid "expecting got relative address: gotofflo16(symbol)"
+msgstr "esperando endereÃ§o relativo a got: gotofflo16(sÃ­mbolo)"
+
+#: lm32-desc.c:1002
+#, c-format
+msgid "internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: lm32_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
+
+#: lm32-desc.c:1085
+#, c-format
+msgid "internal error: lm32_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: lm32_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: lm32-desc.c:1104
+#, c-format
+msgid "internal error: lm32_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: lm32_cgen_cpu_open: nenhuma extremidade especificada"
+
+#: m10200-dis.c:157 m10300-dis.c:580
+#, c-format
+msgid "unknown\t0x%04lx"
+msgstr "desconhecido\t0x%04lx"
+
+#: m10200-dis.c:327
+#, c-format
+msgid "unknown\t0x%02lx"
+msgstr "desconhecido\t0x%02lx"
+
+#: m32c-asm.c:117
+msgid "imm:6 immediate is out of range"
+msgstr "imediato imm:6 estÃ¡ fora da faixa"
+
+#: m32c-asm.c:145
+#, c-format
+msgid "%dsp8() takes a symbolic address, not a number"
+msgstr "%dsp8() leva um endereÃ§o simbÃ³lico, nÃ£o um nÃºmero"
+
+#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:253
+msgid "dsp:8 immediate is out of range"
+msgstr "imediato dsp:8 estÃ¡ fora da faixa"
+
+#: m32c-asm.c:184 m32c-asm.c:188
+msgid "Immediate is out of range -8 to 7"
+msgstr "Imediato estÃ¡ fora da faixa -8 a 7"
+
+#: m32c-asm.c:209 m32c-asm.c:213
+msgid "Immediate is out of range -7 to 8"
+msgstr "Imediato estÃ¡ fora da faixa -7 a 8"
+
+#: m32c-asm.c:281
+#, c-format
+msgid "%dsp16() takes a symbolic address, not a number"
+msgstr "%dsp16() leva um endereÃ§o simbÃ³lico, nÃ£o um nÃºmero"
+
+#: m32c-asm.c:305 m32c-asm.c:312 m32c-asm.c:373
+msgid "dsp:16 immediate is out of range"
+msgstr "imediato dsp:16 estÃ¡ fora da faixa"
+
+#: m32c-asm.c:399
+msgid "dsp:20 immediate is out of range"
+msgstr "imediato dsp:20 estÃ¡ fora da faixa"
+
+#: m32c-asm.c:425 m32c-asm.c:445
+msgid "dsp:24 immediate is out of range"
+msgstr "imediato dsp:24 estÃ¡ fora da faixa"
+
+#: m32c-asm.c:478
+msgid "immediate is out of range 1-2"
+msgstr "imediato estÃ¡ fora da faixa 1-2"
+
+#: m32c-asm.c:496
+msgid "immediate is out of range 1-8"
+msgstr "imediato estÃ¡ fora da faixa 1-8"
+
+#: m32c-asm.c:514
+msgid "immediate is out of range 0-7"
+msgstr "imediato estÃ¡ fora da faixa 0-7"
+
+#: m32c-asm.c:550
+msgid "immediate is out of range 2-9"
+msgstr "imediato estÃ¡ fora da faixa 2-9"
+
+#: m32c-asm.c:568
+msgid "Bit number for indexing general register is out of range 0-15"
+msgstr "NÃºmero de bit para registrador geral de indexaÃ§Ã£o estÃ¡ fora da faixa 0-15"
+
+#: m32c-asm.c:606 m32c-asm.c:662
+msgid "bit,base is out of range"
+msgstr "bit,base estÃ¡ fora da faixa"
+
+#: m32c-asm.c:613 m32c-asm.c:618 m32c-asm.c:666
+msgid "bit,base out of range for symbol"
+msgstr "bit,base foram do intervalo para sÃ­mbolo"
+
+#: m32c-asm.c:802
+msgid "not a valid r0l/r0h pair"
+msgstr "nÃ£o Ã© um par r0l/r0h vÃ¡lido"
+
+#: m32c-asm.c:832
+msgid "Invalid size specifier"
+msgstr "Especificador de tamanho invÃ¡lido"
+
+#: m32c-desc.c:63033
+#, c-format
+msgid "internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: m32c_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
+
+#: m32c-desc.c:63116
+#, c-format
+msgid "internal error: m32c_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: m32c_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: m32c-desc.c:63135
+#, c-format
+msgid "internal error: m32c_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: m32c_cgen_cpu_open: nenhuma extremidade especificada"
+
+#: m32r-desc.c:1365
+#, c-format
+msgid "internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: m32r_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
+
+#: m32r-desc.c:1448
+#, c-format
+msgid "internal error: m32r_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: m32r_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: m32r-desc.c:1467
+#, c-format
+msgid "internal error: m32r_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: m32r_cgen_cpu_open: nenhuma extremidade especificada"
+
+#: m68k-dis.c:1292
+#, c-format
+msgid "<function code %d>"
+msgstr "<cÃ³digo de funÃ§Ã£o %d>"
+
+#: m68k-dis.c:1455
+#, c-format
+msgid "<internal error in opcode table: %s %s>\n"
+msgstr "<erro interno na tabela de cÃ³digos de operaÃ§Ã£o: %s %s>\n"
+
+#: mep-asm.c:129
+msgid "Only $tp or $13 allowed for this opcode"
+msgstr "Apenas $tp ou $13 permitidos para esse cÃ³digo de operaÃ§Ã£o"
+
+#: mep-asm.c:143
+msgid "Only $sp or $15 allowed for this opcode"
+msgstr "Apenas $sp ou $15 permitidos para esse cÃ³digo de operaÃ§Ã£o"
+
+#: mep-asm.c:308 mep-asm.c:504
+#, c-format
+msgid "invalid %function() here"
+msgstr "%function() invÃ¡lida aqui"
+
+#: mep-asm.c:336
+msgid "Immediate is out of range -32768 to 32767"
+msgstr "Imediato estÃ¡ fora da faixa -32768 a 32767"
+
+#: mep-asm.c:356
+msgid "Immediate is out of range 0 to 65535"
+msgstr "Imediato estÃ¡ fora da faixa 0 a 65535"
+
+#: mep-asm.c:549 mep-asm.c:562
+msgid "Immediate is out of range -512 to 511"
+msgstr "Imediato estÃ¡ fora da faixa -512 a 511"
+
+#: mep-asm.c:554 mep-asm.c:563
+msgid "Immediate is out of range -128 to 127"
+msgstr "Imediato estÃ¡ fora da faixa -128 a 127"
+
+#: mep-asm.c:558
+msgid "Value is not aligned enough"
+msgstr "Valor nÃ£o estÃ¡ suficientemente alinhado"
+
+#: mep-desc.c:6226
+#, c-format
+msgid "internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: mep_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
+
+#: mep-desc.c:6309
+#, c-format
+msgid "internal error: mep_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: mep_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: mep-desc.c:6328
+#, c-format
+msgid "internal error: mep_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: mep_cgen_cpu_open: nenhuma extremidade especificada"
+
+#: mips-dis.c:1758 mips-dis.c:1984
+#, c-format
+msgid "# internal error, undefined operand in `%s %s'"
+msgstr "# erro interno, operando indefinido em \"%s %s\""
+
+#: mips-dis.c:2560
+#, c-format
+msgid ""
+"\n"
+"The following MIPS specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"As opÃ§Ãµes do desmontador especÃ­ficas para MIPS a seguir nÃ£o tÃªm suporte\n"
+"ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):\n"
+
+#: mips-dis.c:2564
+#, c-format
+msgid ""
+"\n"
+"  no-aliases               Use canonical instruction forms.\n"
+msgstr ""
+"\n"
+"  no-aliases               Usa formas de instruÃ§Ã£o canÃ´nicas.\n"
+
+#: mips-dis.c:2567
+#, c-format
+msgid ""
+"\n"
+"  msa                      Recognize MSA instructions.\n"
+msgstr ""
+"\n"
+"  msa                      Reconhece instruÃ§Ãµes MSA.\n"
+
+#: mips-dis.c:2570
+#, c-format
+msgid ""
+"\n"
+"  virt                     Recognize the virtualization ASE instructions.\n"
+msgstr ""
+"\n"
+"  virt                     Reconhece as instruÃ§Ãµes ASE de virtualizaÃ§Ã£o.\n"
+
+#: mips-dis.c:2573
+#, c-format
+msgid ""
+"\n"
+"  xpa                      Recognize the eXtended Physical Address (XPA)\n"
+"                           ASE instructions.\n"
+msgstr ""
+"\n"
+"  xpa                      Reconhece as instruÃ§Ãµes ASE de\n"
+"                           eXtended Physical Address (XPA).\n"
+
+#: mips-dis.c:2577
+#, c-format
+msgid ""
+"\n"
+"  ginv                     Recognize the Global INValidate (GINV) ASE\n"
+"                           instructions.\n"
+msgstr ""
+"\n"
+"  ginv                     Reconhece as instruÃ§Ãµes ASE de\n"
+"                           Global INValidate (GINV).\n"
+
+#: mips-dis.c:2581
+#, c-format
+msgid ""
+"\n"
+"  gpr-names=ABI            Print GPR names according to specified ABI.\n"
+"                           Default: based on binary being disassembled.\n"
+msgstr ""
+"\n"
+"  gpr-names=ABI            Emite nomes GPR conforme a ABI especificada.\n"
+"                           PadrÃ£o: baseado no binÃ¡rio sendo desmontado.\n"
+
+#: mips-dis.c:2585
+#, c-format
+msgid ""
+"\n"
+"  fpr-names=ABI            Print FPR names according to specified ABI.\n"
+"                           Default: numeric.\n"
+msgstr ""
+"\n"
+"  fpr-names=ABI            Emite nomes FPR conforme a ABI especificada.\n"
+"                           PadrÃ£o: numÃ©rico.\n"
+
+#: mips-dis.c:2589
+#, c-format
+msgid ""
+"\n"
+"  cp0-names=ARCH           Print CP0 register names according to\n"
+"                           specified architecture.\n"
+"                           Default: based on binary being disassembled.\n"
+msgstr ""
+"\n"
+"  cp0-names=ARCH           Emite nomes de registrador CP0 conforme a\n"
+"                           arquitetura especificada.\n"
+"                           PadrÃ£o: baseado no binÃ¡rio sendo desmontado.\n"
+
+#: mips-dis.c:2594
+#, c-format
+msgid ""
+"\n"
+"  hwr-names=ARCH           Print HWR names according to specified \n"
+"                           architecture.\n"
+"                           Default: based on binary being disassembled.\n"
+msgstr ""
+"\n"
+"  hwr-names=ARCH           Emite nomes HWR conforme a arquitetura \n"
+"                           especificada.\n"
+"                           PadrÃ£o: baseado no binÃ¡rio sendo desmontado.\n"
+
+#: mips-dis.c:2599
+#, c-format
+msgid ""
+"\n"
+"  reg-names=ABI            Print GPR and FPR names according to\n"
+"                           specified ABI.\n"
+msgstr ""
+"\n"
+"  reg-names=ABI            Emite nomes GPR e FPR conforme a ABI\n"
+"                           especificada.\n"
+
+#: mips-dis.c:2603
+#, c-format
+msgid ""
+"\n"
+"  reg-names=ARCH           Print CP0 register and HWR names according to\n"
+"                           specified architecture.\n"
+msgstr ""
+"\n"
+"  reg-names=ARCH           Emite registrador CP0 e nomes HWR conforme a\n"
+"                           arquitetura especificada.\n"
+
+#: mips-dis.c:2607
+#, c-format
+msgid ""
+"\n"
+"  For the options above, the following values are supported for \"ABI\":\n"
+"   "
+msgstr ""
+"\n"
+"  Para as opÃ§Ãµes acima, hÃ¡ suporte aos seguintes valores para \"ABI\":\n"
+"   "
+
+#: mips-dis.c:2614
+#, c-format
+msgid ""
+"\n"
+"  For the options above, The following values are supported for \"ARCH\":\n"
+"   "
+msgstr ""
+"\n"
+"  Para as opÃ§Ãµes acima, hÃ¡ suporte aos seguintes valores para \"ARCH\":\n"
+"   "
+
+#: mmix-dis.c:33
+#, c-format
+msgid "bad case %d (%s) in %s:%d"
+msgstr "case %d errado (%s) em %s:%d"
+
+#: mmix-dis.c:42
+#, c-format
+msgid "internal: non-debugged code (test-case missing): %s:%d"
+msgstr "interno: cÃ³digo nÃ£o depurado (test-case faltando): %s:%d"
+
+#: mmix-dis.c:52
+msgid "(unknown)"
+msgstr "(desconhecido)"
+
+#: mmix-dis.c:510
+#, c-format
+msgid "*unknown operands type: %d*"
+msgstr "*tipo de operandos desconhecidos: %d*"
+
+#: msp430-decode.opc:145 rl78-decode.opc:106
+#, c-format
+msgid "internal error: immediate() called with invalid byte count %d"
+msgstr "erro interno: immediate() chamado com contagem de bytes invÃ¡lida %d"
+
+#: msp430-dis.c:59
+#, c-format
+msgid "Warning: disassembly unreliable - not enough bytes available"
+msgstr "Aviso: desmontagem nÃ£o confiÃ¡vel - bytes insuficientes disponÃ­veis"
+
+#: msp430-dis.c:65
+#, c-format
+msgid "Error: read from memory failed"
+msgstr "Erro: leitura da memÃ³ria falhou"
+
+#: msp430-dis.c:499
+msgid "Warning: illegal as emulation instr"
+msgstr "Aviso: ilegal como instruÃ§Ã£o de emulaÃ§Ã£o"
+
+#. R2/R3 are illegal as dest: may be data section.
+#: msp430-dis.c:591
+msgid "Warning: illegal as 2-op instr"
+msgstr "Aviso: ilegal como instruÃ§Ã£o de 2 operaÃ§Ãµes"
+
+#: msp430-dis.c:1002
+msgid "Warning: unrecognised CALLA addressing mode"
+msgstr "Aviso: modo de endereÃ§amento CALLA nÃ£o reconhecido"
+
+#: msp430-dis.c:1303 msp430-dis.c:1324 msp430-dis.c:1345
+#, c-format
+msgid "Warning: reserved use of A/L and B/W bits detected"
+msgstr "Aviso: uso reservado de bits A/L e B/W detectado"
+
+#: mt-asm.c:110 mt-asm.c:190
+msgid "Operand out of range. Must be between -32768 and 32767."
+msgstr "Operando fora da faixa. Deve estar entre -32768 e 32767."
+
+#: mt-asm.c:149
+msgid "Biiiig Trouble in parse_imm16!"
+msgstr "Graaande problema em parse_imm16!"
+
+#: mt-asm.c:157
+msgid "The percent-operator's operand is not a symbol"
+msgstr "O operando do percent-operator nÃ£o Ã© um sÃ­mbolo"
+
+#: mt-asm.c:395
+msgid "invalid operand.  type may have values 0,1,2 only."
+msgstr "operando invÃ¡lido; tipo pode ter somente os valores 0,1,2."
+
+#: mt-desc.c:1146
+#, c-format
+msgid "internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: mt_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
+
+#: mt-desc.c:1229
+#, c-format
+msgid "internal error: mt_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: mt_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: mt-desc.c:1248
+#, c-format
+msgid "internal error: mt_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: mt_cgen_cpu_open: nenhuma extremidade especificada"
+
+#: nds32-asm.c:1508
+#, c-format
+msgid "internal error: unknown operand, %s"
+msgstr "erro interno: operando desconhecido, %s"
+
+#: nds32-asm.c:2062
+#, c-format
+msgid "internal error: don't know how to handle parsing results"
+msgstr "erro interno: nÃ£o sei como lidar com os resultados da anÃ¡lise"
+
+#: nds32-asm.c:2070
+#, c-format
+msgid "internal error: unknown hardware resource"
+msgstr "erro interno: recurso de hardware desconhecido"
+
+#: nfp-dis.c:927
+msgid "<invalid_instruction>:"
+msgstr "<instruÃ§Ã£o_invÃ¡lida>:"
+
+#: nfp-dis.c:1331
+msgid ", <invalid CRC operator>, "
+msgstr ", <operador CRC invÃ¡lido>, "
+
+#: nfp-dis.c:1683
+msgid "<invalid branch>["
+msgstr "<desvio invÃ¡lido>["
+
+#: nfp-dis.c:2052 nfp-dis.c:2323
+#, c-format
+msgid "<invalid cmd target %d:%d:%d>[]"
+msgstr "<alvo de cmd invÃ¡lido %d:%d:%d>[]"
+
+#: nfp-dis.c:2063 nfp-dis.c:2334
+#, c-format
+msgid "<invalid cmd action %d:%d:%d>[]"
+msgstr "<aÃ§Ã£o de cmd invÃ¡lida %d:%d:%d>[]"
+
+#: nfp-dis.c:2555
+msgid "File has no ME-Config section."
+msgstr "O arquivo tem nenhuma seÃ§Ã£o ME-Config."
+
+#: nfp-dis.c:2569
+msgid "File has invalid ME-Config section."
+msgstr "O arquivo tem uma seÃ§Ã£o ME-Config invÃ¡lida."
+
+#: nfp-dis.c:2711
+#, c-format
+msgid "Error processing section %u "
+msgstr "Erro de processamento na seÃ§Ã£o %u "
+
+#: nfp-dis.c:2740
+#, c-format
+msgid "Invalid NFP option: %s"
+msgstr "OpÃ§Ã£o NFP invÃ¡lida: %s"
+
+#: nfp-dis.c:2972
+#, c-format
+msgid ""
+"\n"
+"The following NFP specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"As opÃ§Ãµes do desmontador especÃ­ficas para NFP a seguir nÃ£o tÃªm suporte\n"
+"ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):\n"
+
+#: nfp-dis.c:2976
+#, c-format
+msgid ""
+"\n"
+"  no-pc\t\t    Don't print program counter prefix.\n"
+"  ctx4\t\t    Force disassembly using 4-context mode.\n"
+"  ctx8\t\t    Force 8-context mode, takes presedence.\""
+msgstr ""
+"\n"
+"  no-pc\t\t    NÃ£o exibe o prefixo de contador do programa.\n"
+"  ctx4\t\t    ForÃ§a desmontagem usando modo de contexto 4.\n"
+"  ctx8\t\t    ForÃ§a modo contexto 8, tem precedÃªncia.\""
+
+#: nios2-dis.c:135
+#, c-format
+msgid "out of memory"
+msgstr "memÃ³ria insuficiente"
+
+#: nios2-dis.c:263
+#, c-format
+msgid "internal error: broken opcode descriptor for `%s %s'"
+msgstr "erro interno: descritor quebrado de cÃ³digo de operaÃ§Ã£o para \"%s %s\""
+
+#. I and Z are output operands and can`t be immediate
+#. A is an address and we can`t have the address of
+#. an immediate either. We don't know how much to increase
+#. aoffsetp by since whatever generated this is broken
+#. anyway!
+#: ns32k-dis.c:533
+#, c-format
+msgid "$<undefined>"
+msgstr "$<indefinido>"
+
+#: or1k-desc.c:1948
+#, c-format
+msgid "internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: or1k_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
+
+#: or1k-desc.c:2031
+#, c-format
+msgid "internal error: or1k_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: or1k_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: or1k-desc.c:2050
+#, c-format
+msgid "internal error: or1k_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: or1k_cgen_cpu_open: nenhuma extremidade especificada"
+
+#: ppc-dis.c:363
+#, c-format
+msgid "warning: ignoring unknown -M%s option"
+msgstr "aviso: ignorando opÃ§Ã£o -M%s desconhecida"
+
+#: ppc-dis.c:838
+#, c-format
+msgid ""
+"\n"
+"The following PPC specific disassembler options are supported for use with\n"
+"the -M switch:\n"
+msgstr ""
+"\n"
+"As opÃ§Ãµes do desmontador especÃ­ficas para PPC a seguir nÃ£o tÃªm suporte\n"
+"ao uso com a opÃ§Ã£o -M:\n"
+
+#: ppc-opc.c:52 ppc-opc.c:75 ppc-opc.c:100 ppc-opc.c:129
+msgid "invalid register"
+msgstr "registrador invÃ¡lido"
+
+#: ppc-opc.c:382 ppc-opc.c:410
+msgid "invalid conditional option"
+msgstr "opÃ§Ã£o condicional invÃ¡lida"
+
+#: ppc-opc.c:384 ppc-opc.c:412
+msgid "invalid counter access"
+msgstr "acesso a contador invÃ¡lido"
+
+#: ppc-opc.c:414
+msgid "attempt to set y bit when using + or - modifier"
+msgstr "tentativa de definir bit y ao usar modificador + ou -"
+
+#: ppc-opc.c:505
+msgid "invalid mask field"
+msgstr "campo de mÃ¡scara invÃ¡lido"
+
+#: ppc-opc.c:528
+msgid "invalid mfcr mask"
+msgstr "mÃ¡scara de mfcr invÃ¡lida"
+
+#: ppc-opc.c:601 ppc-opc.c:641
+msgid "illegal L operand value"
+msgstr "valor ilegal de operando L"
+
+#: ppc-opc.c:647
+msgid "incompatible L operand value"
+msgstr "valor incompatÃ­vel de operando L"
+
+#: ppc-opc.c:691 ppc-opc.c:726
+msgid "illegal bitmask"
+msgstr "mÃ¡scara de bits ilegal"
+
+#: ppc-opc.c:813
+msgid "address register in load range"
+msgstr "registrador de endereÃ§o no intervalo de carregamento"
+
+#: ppc-opc.c:879
+msgid "index register in load range"
+msgstr "registrador de Ã­ndice no intervalo de carregamento"
+
+#: ppc-opc.c:908 ppc-opc.c:991
+msgid "source and target register operands must be different"
+msgstr "operandos de registrador origem e alvo devem ser diferentes"
+
+#: ppc-opc.c:936
+msgid "invalid register operand when updating"
+msgstr "operando de registro invÃ¡lido durante atualizaÃ§Ã£o"
+
+#: ppc-opc.c:1054
+msgid "illegal immediate value"
+msgstr "valor de imediato ilegal"
+
+#: ppc-opc.c:1201
+msgid "invalid sprg number"
+msgstr "nÃºmero de sprg invÃ¡lido"
+
+#: ppc-opc.c:1238
+msgid "invalid tbr number"
+msgstr "nÃºmero de tbr invÃ¡lido"
+
+#: ppc-opc.c:1381
+msgid "invalid constant"
+msgstr "constante invÃ¡lida"
+
+#: ppc-opc.c:1486 ppc-opc.c:1513 ppc-opc.c:1540 ppc-opc.c:1567
+msgid "UIMM = 00000 is illegal"
+msgstr "UIMM = 00000 Ã© ilegal"
+
+#: ppc-opc.c:1594
+msgid "UIMM values >7 are illegal"
+msgstr "valores UIMM >7 sÃ£o ilegais"
+
+#: ppc-opc.c:1621
+msgid "UIMM values >15 are illegal"
+msgstr "valores UIMM >15 sÃ£o ilegais"
+
+#: ppc-opc.c:1648
+msgid "GPR odd is illegal"
+msgstr "GPR Ã­mpar Ã© ilegal"
+
+#: ppc-opc.c:1675 ppc-opc.c:1702
+msgid "invalid offset"
+msgstr "deslocamento invÃ¡lido"
+
+#: ppc-opc.c:1729
+msgid "invalid Ddd value"
+msgstr "valor de Ddd invÃ¡lido"
+
+#: riscv-dis.c:68
+#, c-format
+msgid "unrecognized disassembler option: %s"
+msgstr "opÃ§Ã£o do desmontador desconhecida: %s"
+
+#: riscv-dis.c:346
+#, c-format
+msgid "# internal error, undefined modifier (%c)"
+msgstr "# erro interno, modificador indefinido (%c)"
+
+#: riscv-dis.c:498
+#, c-format
+msgid ""
+"\n"
+"The following RISC-V-specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"As opÃ§Ãµes do desmontador especÃ­ficas para RISC-V a seguir nÃ£o tÃªm suporte\n"
+"ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):\n"
+
+#: riscv-dis.c:502
+#, c-format
+msgid ""
+"\n"
+"  numeric       Print numeric register names, rather than ABI names.\n"
+msgstr ""
+"\n"
+"  numeric       Emite nomes de registrador numÃ©rico, em vez de nomes de ABI.\n"
+
+#: riscv-dis.c:505
+#, c-format
+msgid ""
+"\n"
+"  no-aliases    Disassemble only into canonical instructions, rather\n"
+"                than into pseudoinstructions.\n"
+msgstr ""
+"\n"
+"  no-aliases    Desmonta apenas em instruÃ§Ãµes canÃ´nicas, em vez de\n"
+"                em pseudoinstruÃ§Ãµes.\n"
+
+#: s390-dis.c:42
+msgid "Disassemble in ESA architecture mode"
+msgstr "Desmonta em modo de arquitetura ESA"
+
+#: s390-dis.c:43
+msgid "Disassemble in z/Architecture mode"
+msgstr "Desmonta em modo de z/Architecture"
+
+#: s390-dis.c:44
+msgid "Print unknown instructions according to length from first two bits"
+msgstr "Emite instruÃ§Ãµes desconhecidas conforme o tamanho a partir dos primeiros dois bits"
+
+#: s390-dis.c:76
+#, c-format
+msgid "unknown S/390 disassembler option: %s"
+msgstr "opÃ§Ã£o de desmontador S/390 desconhecida: %s"
+
+#: s390-dis.c:410
+#, c-format
+msgid ""
+"\n"
+"The following S/390 specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"As opÃ§Ãµes do desmontador especÃ­ficas para S/390 a seguir nÃ£o tÃªm suporte\n"
+"ao uso com a opÃ§Ã£o -M (opÃ§Ãµes mÃºltiplas devem ser separadas por vÃ­rgulas):\n"
+
+#: score-dis.c:663 score-dis.c:870 score-dis.c:1031 score-dis.c:1145
+#: score-dis.c:1152 score-dis.c:1159 score7-dis.c:695 score7-dis.c:858
+msgid "<illegal instruction>"
+msgstr "<instruÃ§Ã£o ilegal>"
+
+#: sparc-dis.c:308 sparc-dis.c:318
+#, c-format
+msgid "internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
+msgstr "erro interno: sparc-opcode.h errado: \"%s\", %#.8lx, %#.8lx\n"
+
+#: sparc-dis.c:377
+#, c-format
+msgid "internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
+msgstr "erro interno: sparc-opcode.h errado: \"%s\" == \"%s\"\n"
+
+#. Mark as non-valid instruction.
+#: sparc-dis.c:1098
+msgid "unknown"
+msgstr "desconhecido"
+
+#: v850-dis.c:453
+#, c-format
+msgid "unknown operand shift: %x"
+msgstr "deslocamento de operando desconhecido: %x"
+
+#: v850-dis.c:469
+#, c-format
+msgid "unknown reg: %d"
+msgstr "registrador desconhecido: %d"
+
+#. The functions used to insert and extract complicated operands.
+#. Note: There is a conspiracy between these functions and
+#. v850_insert_operand() in gas/config/tc-v850.c.  Error messages
+#. containing the string 'out of range' will be ignored unless a
+#. specific command line option is given to GAS.
+#: v850-opc.c:53
+msgid "displacement value is not in range and is not aligned"
+msgstr "valor do deslocamento estÃ¡ fora da faixa e nÃ£o estÃ¡ alinhado"
+
+#: v850-opc.c:54
+msgid "displacement value is out of range"
+msgstr "valor do deslocamento estÃ¡ fora da faixa"
+
+#: v850-opc.c:55
+msgid "displacement value is not aligned"
+msgstr "valor do deslocamento nÃ£o estÃ¡ alinhado"
+
+#: v850-opc.c:57
+msgid "immediate value is out of range"
+msgstr "valor de imediato estÃ¡ fora da faixa"
+
+#: v850-opc.c:58
+msgid "branch value out of range"
+msgstr "valor do desvio fora da faixa"
+
+#: v850-opc.c:59
+msgid "branch value not in range and to odd offset"
+msgstr "valor do desvio fora da faixa e para deslocamento Ã­mpar"
+
+#: v850-opc.c:60
+msgid "branch to odd offset"
+msgstr "desvio para um deslocamento Ã­mpar"
+
+#: v850-opc.c:61
+msgid "position value is out of range"
+msgstr "valor da posiÃ§Ã£o estÃ¡ fora da faixa"
+
+#: v850-opc.c:62
+msgid "width value is out of range"
+msgstr "valor da largura estÃ¡ fora da faixa"
+
+#: v850-opc.c:63
+msgid "SelID is out of range"
+msgstr "SelID estÃ¡ fora da faixa"
+
+#: v850-opc.c:64
+msgid "vector8 is out of range"
+msgstr "vector8 estÃ¡ fora da faixa"
+
+#: v850-opc.c:65
+msgid "vector5 is out of range"
+msgstr "vector5 estÃ¡ fora da faixa"
+
+#: v850-opc.c:66
+msgid "imm10 is out of range"
+msgstr "imm10 estÃ¡ fora da faixa"
+
+#: v850-opc.c:67
+msgid "SR/SelID is out of range"
+msgstr "SR/SelID estÃ¡ fora da faixa"
+
+#: v850-opc.c:512
+msgid "invalid register for stack adjustment"
+msgstr "registrador invÃ¡lido para ajuste da pilha"
+
+#: v850-opc.c:532
+msgid "invalid register name"
+msgstr "nome de registrador invÃ¡lido"
+
+#: wasm32-dis.c:88
+msgid "Disassemble \"register\" names"
+msgstr "Desmonta nomes de \"register\""
+
+#: wasm32-dis.c:89
+msgid "Name well-known globals"
+msgstr "Nomeia globais bem conhecidos"
+
+#: wasm32-dis.c:503
+#, c-format
+msgid ""
+"The following WebAssembly-specific disassembler options are supported for use\n"
+"with the -M switch:\n"
+msgstr ""
+"As opÃ§Ãµes do desmontador especÃ­ficas para WebAssembly a seguir nÃ£o tÃªm\n"
+"suporte ao uso com a opÃ§Ã£o -M:\n"
+
+#: xc16x-asm.c:66
+msgid "Missing '#' prefix"
+msgstr "Faltando o prefixo \"#\""
+
+#: xc16x-asm.c:82
+msgid "Missing '.' prefix"
+msgstr "Faltando o prefixo \".\""
+
+#: xc16x-asm.c:98
+msgid "Missing 'pof:' prefix"
+msgstr "Faltando o prefixo \"pof:\""
+
+#: xc16x-asm.c:114
+msgid "Missing 'pag:' prefix"
+msgstr "Faltando o prefixo \"pag:\""
+
+#: xc16x-asm.c:130
+msgid "Missing 'sof:' prefix"
+msgstr "Faltando o prefixo \"sof:\""
+
+#: xc16x-asm.c:146
+msgid "Missing 'seg:' prefix"
+msgstr "Faltando o prefixo \"seg:\""
+
+#: xc16x-desc.c:3349
+#, c-format
+msgid "internal error: xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: xc16x_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
+
+#: xc16x-desc.c:3432
+#, c-format
+msgid "internal error: xc16x_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: xc16x_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: xc16x-desc.c:3451
+#, c-format
+msgid "internal error: xc16x_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: xc16x_cgen_cpu_open: nenhuma extremidade especificada"
+
+#: xstormy16-asm.c:71
+msgid "Bad register in preincrement"
+msgstr "Registrador errado no prÃ©-incremento"
+
+#: xstormy16-asm.c:76
+msgid "Bad register in postincrement"
+msgstr "Registrador errado no pÃ³s-incremento"
+
+#: xstormy16-asm.c:78
+msgid "Bad register name"
+msgstr "Nome de registrador errado"
+
+#: xstormy16-asm.c:82
+msgid "Label conflicts with register name"
+msgstr "O rÃ³tulo conflita com nome de registrador"
+
+#: xstormy16-asm.c:86
+msgid "Label conflicts with `Rx'"
+msgstr "O rÃ³tulo conflita com \"Rx\""
+
+#: xstormy16-asm.c:88
+msgid "Bad immediate expression"
+msgstr "ExpressÃ£o errada de imediato"
+
+#: xstormy16-asm.c:109
+msgid "No relocation for small immediate"
+msgstr "Nenhuma realocaÃ§Ã£o para imediato pequeno"
+
+#: xstormy16-asm.c:119
+msgid "Small operand was not an immediate number"
+msgstr "O operando pequeno nÃ£o era um nÃºmero de imediato"
+
+#: xstormy16-asm.c:157
+msgid "Operand is not a symbol"
+msgstr "O operando nÃ£o Ã© um sÃ­mbolo"
+
+#: xstormy16-asm.c:165
+msgid "Syntax error: No trailing ')'"
+msgstr "Erro de sintaxe: Nenhum \")\" ao final"
+
+#: xstormy16-desc.c:1317
+#, c-format
+msgid "internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "erro interno: xstormy16_cgen_rebuild_tables: valores de insn-chunk-bitsize conflitantes: \"%d\" vs. \"%d\""
+
+#: xstormy16-desc.c:1400
+#, c-format
+msgid "internal error: xstormy16_cgen_cpu_open: unsupported argument `%d'"
+msgstr "erro interno: xstormy16_cgen_cpu_open: sem suporte ao argumento \"%d\""
+
+#: xstormy16-desc.c:1419
+#, c-format
+msgid "internal error: xstormy16_cgen_cpu_open: no endianness specified"
+msgstr "erro interno: xstormy16_cgen_cpu_open: nenhuma extremidade especificada"
+
+#~ msgid "Internal disassembler error"
+#~ msgstr "Erro interno do desmontador"
+
+#~ msgid "can't cope with insert %d\n"
+#~ msgstr "impossÃ­vel lidar com inserÃ§Ã£o de %d\n"
+
+#~ msgid "%02x\t\t*unknown*"
+#~ msgstr "%02x\t\t*desconhecido*"
+
+#~ msgid "# <dis error: %08lx>"
+#~ msgstr "# <erro de dis: %08lx>"
+
+#~ msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
+#~ msgstr "Erro interno: sparc-opcode.h errado: \"%s\", %#.8lx, %#.8lx\n"
+
+#~ msgid "Illegal limm reference in last instruction!\n"
+#~ msgstr "ReferÃªncia limm ilegal na Ãºltima instruÃ§Ã£o!\n"
+
+#~ msgid "unknown\t0x%04x"
+#~ msgstr "desconhecido\t0x%04x"
+
+#~ msgid "# internal disassembler error, unrecognised modifier (%c)"
+#~ msgstr "# erro interno do desmontador, modificador (%c) nÃ£o reconhecido"
+
+#~ msgid "offset not between -2048 and 2047"
+#~ msgstr "deslocamento nÃ£o estÃ¡ entre -2048 and 2047"
+
+#~ msgid "offset not between -8192 and 8191"
+#~ msgstr "deslocamento nÃ£o estÃ¡ entre -8192 and 8191"
+
+#~ msgid "ignoring least significant bits in branch offset"
+#~ msgstr "ignorando os bits menos significativos no deslocamento do desvio"
+
+#~ msgid "branch value not in range and to an odd offset"
+#~ msgstr "valor do desvio fora da faixa e para um deslocamento Ã­mpar"
+
+#~ msgid "immediate value not in range and not even"
+#~ msgstr "valor imediato fora da faixa e nÃ£o Ã© par"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/uk.gmo ./opcodes/po/uk.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/uk.gmo	2018-07-03 02:10:51.000000000 +0000
+++ ./opcodes/po/uk.gmo	2018-07-10 02:10:39.000000000 +0000
@@ -1,9 +1,10 @@
-Þ•ktçÌhiLkK¸4½93÷u+ �¡ µ2!8è!=!"7_"t—"F#kS#}¿#K=$w‰$�%‰’%[&�x&['�b'Žò'”�(‰)( )(É)(ò)/*1K*B}*%À*%æ*1+.>+?m+<­+?ê+(*,(S,2|,E¯,1õ,9'-1a-?“-(Ó-ü-)..;.j.w."‡.%ª./Ð../$//T/r/
~/Œ/§/Â/Ü/	ö/0	0&0A0\0o0…0™0(·0à0ö0 
1.1 N1o1Ž1©1Â1à1ý12=.2&l2“2¢2$¿2"ä2*323J33i3)�3
-Ç3DÒ3C4+[4&‡4%®4)Ô4%þ4!$5!F5$h5�5:©51ä5966P6 ‡60¨6+Ù6*7.07(_7%ˆ7&®7Õ7)ì7%8<88Y8’8"¬8&Ï8ö8	9929H9^9t9!Œ9®9'É9'ñ9:71:Bi: ¬:Í:è:ÿ:;+;C;X;l;€;”;¨;"¼;#ß;(<,<I<b<x<!’<5´<&ê<'=/9=)i=/“=Ã=bá=.D>s>‰>)›>%Å>#ë>%?+5?+a?1�?1¿?%ñ?+@1C@1u@§@Ã@#â@"A")A LA!mA%�AµA<ÉAB#%B2IB"|B*ŸB+ÊBöBC/0C`CxC“C ¬CÍCæC+ûC'DAD]D%xD$žDÃD0ÞD0E#@E*dE%�E7µE!íE!F51F"gF+ŠF ¶F ×F øFG+9G2eG2˜G)ËGõGH!"H'DH'lH'”H¼HÔHäHüHI-IMIkI‰I§IÅIÖI"íIJ" JCJcJ€J˜JµJ!ÒJôJ
K%KBK]KnK…K%£KÉKÜK2îK!L?L%PLvLŒL¢L&ºL áLMM.MBM&UM|M˜M¬MÀMÌMØM!ðMN;#N_N
-}N$ˆN%­N+ÓN/ÿN+/O[OtO&“OºO2ÎO2P24P4gP,œPÉP)ãP
QQ(;QdQƒQ!ŸQÁQ%ØQþQR!+R+MR'yR¡RÁRÛRèRS"S%>SdS{S5“SÉS-éS;T/ST	ƒT�TªT²TÂTÒTêTU U7UPUiU„UœU&´UÛU÷UVLVcXyeXxßXaXY%ºYxàZ±Y[\*+]OV^o¦^h_ _i `�Š`�ai¹aŠ#bý®bù¬cž¦dúEež@füßfûÜgØhYÚiM4kM‚kMÐkVlQul\ÇlM$mMrmHÀmE	niOn€¹ni:oQ¤oQöoRHp_›pXûpPTqH¥qoîqQ^r2°rYãrY=s—s²s>ËsA
-tMLtLštEçt3-uauvuH•uHÞu@'v@hv©v2¼vïvCw-Fwtw+�w'»wBãwY&x&€x(§xLÐx^yX|y7Õy5
zCCzE‡zEÍz.{-B{”p{M|S|4b|G—|;ß|P}l}IŠ}fÔ}F;~‚~€‘~|F�AÖR€Vk€RÂ€N�Nd�Q³�:‚g@‚V¨‚\ÿ‚‡\ƒBäƒM'„Gu„F½„K…IP…Fš…Gá…>)†mh†EÖ†H‡qe‡)×‡@ˆPBˆ,“ˆ,Àˆ/íˆ/‰/M‰/}‰9­‰Yç‰`AŠm¢Šm‹'~‹¢¦‹�IŒ1ËŒ9ýŒ(7�%`�)†�)°�&Ú�%Ž%'Ž%MŽ%sŽ%™ŽR¿ŽS�7f�6ž�JÕ�G �9h�e¢�~‘[‡‘\ã‘s@’Z´’”“]¤“¥”P¨”+ù”#%•aI•G«•>ó•G2–Zz–`Õ–_6—V–—Tí—\B˜gŸ˜^™:f™7¡™TÙ™S.šS‚šQÖš@(›Xi›9Â›ˆü›_…œbåœtH�8½�Dö�\;žJ˜žQãžu5Ÿ1«Ÿ4ÝŸG ]Z ?¸ Aø †:¡RÁ¡R¢=g¢Q¥¢P÷¢:H£dƒ£dè£CM¤y‘¤u¥h�¥Cê¥3.¦�b¦`ð¦QQ§D£§Dè§D-¨Cr¨U¶¨\©\i©SÆ©Nª!iª\‹ªNèªN7«N†«8Õ«,¬';¬8c¬Gœ¬Cä¬A(­Aj­A¬­Aî­0®TF®]›®ù®M¯HZ¯H£¯Jì¯67°Ln°P»°S±8`±6™±Ð±'ð±=²NV²>¥²(ä²$
³`2³m“³%´L'´6t´0«´0Ü´W
µ;eµ0¡µ2Òµ&¶%,¶JR¶8�¶<Ö¶9·M·i·=…·sÃ·&7¸d^¸PÃ¸¹R#¹zv¹|ñ¹€nº\ïº%L»2r»N¥»&ô»t¼t�¼t½Xz½PÓ½($¾AM¾�¾C§¾Pë¾H<¿B…¿\È¿.%ÀWTÀ¬À8ÈÀkÁRmÁRÀÁJÂ4^Â“Â7¯Â7çÂ6Ã/VÃ†ÃD¤ÃqéÃZ[Ä…¶Ä›<Å^ØÅ7ÆAOÆ‘Æ¢Æ»Æ*ÔÆ1ÿÆ&1Ç8XÇ-‘Ç3¿Ç@óÇI4ÈI~ÈVÈÈ_ÉÉ˜Ééä†Ž™ƒÒÈH
�%ÐgË\kJCB•Z~Õ/>S”V7FûJŒ¢5£t¨ˆ3µU1âd-NLQW[HG´.b€nÑ'	#Š@‹-=4KÉíC…RLF:q)ê"�%uçºž`Ÿ<Eo0ü}|Tk “sÓ9eñöUÊÆ5<(g_D,×$§ù‰2þS]6ÿ»Ö +ªaD{®Å\^ÛiyB0r)(«[!¾ãvQ¿îÃb4MK?¶èM�ô‘'3A7Zð‚zNø"PßOÚX]°_;m
-·?jR#I1¸³’8¹/ÄO!,Ìúf—˜Ô¬.¡ÙPÎ;Þ
a„²dì�xeYW$AÍòï	Â2:@hcÝ6àVõ
-ë ÷ÁpE­wf¼š›œ�`À½9óÇ¯+cÏ^¥*æIå¦±*Tý8&áh>–‡XG=Øj¤Y©&Üil
+Þ•µÄ
Kl˜$™$L›$Kè$44%½i%3'&u[&pÑ&�B'µÓ'8‰(=Â(7)t8)3­)šá)0|*F­*kô*}`+KÞ+w*,�¢,‰3-[½-�.Œ§.[4/��/Ž 0”¯0‰D1(Î1(÷1( 2/I21y2B«2%î2%31:3.l3?›3<Û3?4CX4(œ4(Å42î4E!51g59™51Ó5?6(E6)n6.˜6Ç6"Ô6%÷6/7.M7$|7¡7¿7
Ë7Ù7å78858	O8Y8	u88š8µ8Ð8ã8ù8
9(+9T9f9†9¦9½9Ó9ê9 
+:+:J:c:�:ž:°:=Ï:&
;4;C;$`;"…;*¨;Ó;ë;<3'<#[<<ž<
+±<D¼<C=+E=&q=%˜=)¾=%è=!>!0>$R>w>Ž>8¥>Þ>"ø>?.?A?W?m?ƒ?™?!±?Ó?'î?'@>@7V@BŽ@Ñ@"ì@#A3APAiAA!™A5»A&ñA'B/@B)pB/šBÊBbèB.KCzC’C®CÉCÛC!÷C%D?D<SD�D#¯D2ÓD"E*)E+TE €E¡EÀE/ÛEF%F=FXF qF’F«F+ÀFìFG%"G$HGmG0ˆG0¹G#êG*H%9H7_H!—H!¹H5ÛH"I+4I `I �I ¢IÃI+ãI2J2BJ)uJŸJ¸J)ÌJ!öJ'K'@K'hK�K¨K¸KÈKàKûKL1LOLmL‹L©LºL"ÑLôL"M'MGMdM|M™M!¶MØM#ôMN6N1UN9‡N)ÁN4ëN8 O?YOA™ObÛO;>P=zP^¸P:Q<RQ]�Q=íQ;+R=gR^¥R=S?BS`‚S;ãS=T^]T;¼T=øT^6U;•U=ÑU^V:nV<©V]æV9DW;~W\ºW;X=SX^‘X)ðX#Y9>Y9xY?²Y?òY32Z9fZ? Z?àZ< [>][_œ[@ü[B=\c€\6ä\]4] F]g]]œ]·]È]ß]%ý]#^6^H^2W^0Š^+»^.ç^1_H_f_%w_�_³_(É_%ò_&`?`&W` ~`Ÿ`´`)Ë`%õ`a8aLa&_a†a¢a¶a&Êañaýa	b!!bCb;Tb�b
+®b$¹b%Þb+c/0c+`cŒc¥c&Äcëc2ÿc22d2ed4˜d,Íd
úde)"eLe[e(ze£e#Âeæe!f $fEf\fsf‡fŸf·fÌfàfôfgg(0g%Ygg�g¬g!Âg+äg'h8hXhrhhœh¹h%Õhûhi5*i&`i'‡i¯i-Ïi;ýi/9j	ijsj�j˜j¨j%¸jÞjôjk&k(6k$_k"„k$§k Ìkíkl#%l"Il"ll �l°lÉlälül%m:m Vmwm‡mW–mîoyðoxjpaãp%Eqxkr±ärƒ–st*:uOevoµvh%w ŽwX/x9ˆxSÂyiz�€z�{i¯{Š|ý¤|ù¢}žœ~ú;ù6€ž0�üÏ�ûÌ‚ÈƒYÊ„M$†Mr†MÀ†V‡Qe‡\·‡MˆMbˆH°ˆEùˆi?‰€©‰i*Š–”ŠQ+‹Q}‹RÏ‹_"ŒX‚ŒPÛŒH,�ou�Qå�Y7ŽY‘ŽëŽ>�AE�M‡�LÕ�E"�3h�œ�±�Ð�Hå�H.‘@w‘@¸‘ù‘2’?’1R’C„’-È’ö’+“'=“Be“Y¨“"”7%”9]”,—”&Ä”(ë”^•Xs•7Ì•C–EH–EŽ–.Ô–-—”1—MÆ—˜4#˜GX˜; ˜PÜ˜-™>K™IŠ™fÔ™<;š2xš,«šØš€çš|h›Få›A,œRnœVÁœR�Nk�Nº�Q	ž/[ž>‹žqÊž)<Ÿ@fŸ,§Ÿ,ÔŸ/ /1 /a /‘ 9Á Yû `U¡m¶¡m$¢'’¢¢º¢�]£9ß£R¤Sl¤6À¤J÷¤GB¥9Š¥eÄ¥~*¦[©¦\§sb§ZÖ§”1¨]Æ¨¥$©PÊ©&ª6Bª5yª#¯ª:Óª@«XO«9¨«ˆâ«_k¬bË¬t.­8£­DÜ­\!®L~®JË®Q¯uh¯4Þ¯1°4E°Gz°]Â°? ±A`±†¢±R)²R|²QÏ²P!³:r³d­³d´Cw´y»´u5µh«µC¶3X¶�Œ¶`·Q{·DÍ·D¸DW¸Cœ¸Uà¸\6¹\“¹Sð¹NDº!“ºFµº\üºNY»N¨»N÷»8F¼,¼6¬¼'ã¼8½GD½CŒ½AÐ½A¾AT¾A–¾Ø¾Tî¾]C¿¡¿M´¿HÀHKÀJ”À6ßÀLÁPcÁ:´Á6ïÁI&ÂDpÂVµÂgÃVtÃyËÃzEÄjÀÄq+Å…�Åj#ÆmŽÆ�üÆi~ÇlèÇ€UÈ€ÖÈjWÉmÂÉ�0Êl²ÊoËƒ�ËjÌm~Ì�ìÌjnÍmÙÍ�GÎjÉÎm4Ï�¢Ïi$ÐlŽÐ€ûÐh|ÑkåÑQÒjÑÒm<Ó�ªÓU,ÔH‚Ô{ËÔ�GÕ€ÉÕwJÖuÂÖ}8×ˆ¶×?Øk¿Øn+Ù‚šÙoÚr�Ú†Û‡‡ÛSÜ)cÜB�Ü8ÐÜ6	Ý@Ý'`Ý=ˆÝNÆÝ>Þ(TÞ$}Þ¢Þ`ÂÞM#ßGqßK¹ßkàmqà%ßàLá6Rá0‰áIºáFâGKâ0“âWÄâ;ã0Xã2‰ãm¼ãE*äHpä&¹ä%àäJå8Qå<Šå9ÇåPæRænæ=ŠæsÈæ&<çdcçPÈçèR(èz{è|öè€sé\ôé%Qê2wêNªê&ùêt ët•ët
+ìXìPØì$)í(NíAwí¹íCÑíPîHfîW¯îBï\Jï1§ï.Ùï(ð%1ð)Wð)�ð&«ð%Òð%øð%ñ%Dñ%jñ7�ñWÈñ ò8<òPuòkÆòR2óR…óJØó4#ôXô7tô7¬ô6äô/õKõDiõq®õL öVmöZÄö…÷›¥÷^Aø øA¸øúøù$ùL=ù+Šù*¶ù0áù%ú`8úF™ú=àúFû8eû-žû7ÌûTüSYüS­üQý3Sý@‡ýIÈýIþU\þ_²þYÿlÿ…ÿ4%�<Z¬¸9*ÏF5±’®-[µ;©vžxyw˜ ¡$L�ˆq1§$Õ¹/ƒAæ3¨ûOj4	MymÌ”¨œX\‡iŽ¢ë®›7<u‡{3¡|6}6îŒKš£ r�¿ÅÞ,:ŠÓKò(Gkð“øOÆ…†Ç¾éqL‚m+z5�á_&:«z\
+¶€Ý”)˜&ýUú•ù=Ž‹rÄ1¤¼S;iŸW„v RU‚t�'È­(ñÒ÷ÿþÊß’nT@¦‹œ8EÁ
+WB»ˆ›�ã0«µ{‘Ù`Îï>p±´#8D·‘§'�~„­~.@GºaíoçhoÜ
—kd|THM)ÉI°P£DPê¬tš°c½üÑb öôR�lHÍJ-ªsg_V/Q0Â³ÔeZ…³[Ëä+àÐsh´XCØ>l†ŸpF¯Ûn=�¦xwc–!.f	E¤^"ógJu¢ŠY–,d]â€AŒNÚaõ™ª%C¥™"¯7I×åj?*]ì#9ƒbf?èÃ²!BÀÖVN‰•}2©Q“—YS‰¥2ž^`e�
²
 
   For the options above, The following values are supported for "ARCH":
    
@@ -20,6 +21,9 @@ tMLtLštEçt3-ua
   fpr-names=ABI            Print FPR names according to specified ABI.
                            Default: numeric.
 
+  ginv                     Recognize the Global INValidate (GINV) ASE
+                           instructions.
+
   gpr-names=ABI            Print GPR names according to specified ABI.
                            Default: based on binary being disassembled.
 
@@ -36,7 +40,14 @@ tMLtLštEçt3-ua
   no-aliases    Disassemble only into canonical instructions, rather
                 than into pseudoinstructions.
 
-  numeric       Print numeric reigster names, rather than ABI names.
+  no-notes         Don't print instruction notes.
+
+  no-pc		    Don't print program counter prefix.
+  ctx4		    Force disassembly using 4-context mode.
+  ctx8		    Force 8-context mode, takes presedence."
+  notes            Do print instruction notes.
+
+  numeric       Print numeric register names, rather than ABI names.
 
   reg-names=ABI            Print GPR and FPR names according to
                            specified ABI.
@@ -61,6 +72,9 @@ the -M switch:
 The following MIPS specific disassembler options are supported for use
 with the -M switch (multiple options should be separated by commas):
 
+The following NFP specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
 The following PPC specific disassembler options are supported for use with
 the -M switch:
 
@@ -89,6 +103,7 @@ Use -M<class[,class]> to select the corr
   fpud            Recognize double precision FPU instructions.
   fpuda           Recognize double assist FPU instructions.
   fpus            Recognize single precision FPU instructions.
+  hex             Use only hexadecimal number to print immediates.
   i386        Disassemble in 32bit mode
   i8086       Disassemble in 16bit mode
   intel       Display instruction in Intel syntax
@@ -99,43 +114,25 @@ Use -M<class[,class]> to select the corr
   spfp            Recognize FPX SP instructions.
   suffix      Always display instruction suffix in AT&T syntax
   x86-64      Disassemble in 64bit mode
-# <dis error: %08lx># internal error, undefined modifier (%c)# internal error, undefined operand in `%s %s'$<undefined>%02x		*unknown*%d unused bits in i386_cpu_flags.
+# internal error, undefined modifier (%c)# internal error, undefined operand in `%s %s'$<undefined>%d unused bits in i386_cpu_flags.
 %d unused bits in i386_operand_type.
-%dsp16() takes a symbolic address, not a number%dsp8() takes a symbolic address, not a number%s: %d: Missing `)' in bitfield: %s
-%s: %d: Unknown bitfield: %s
-%s: Error: %s: Warning: 'LSL' operator not allowed'ROR' operator not allowed(DP) offset out of range.(SP) offset out of range.(unknown)*unknown operands type: %d**unknown*21-bit offset out of range64-bit address is disabled<function code %d><illegal instruction><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
-<unknown register %d>ABORT: unknown operandAccepted values are from -1 to 6Address 0x%s is out of bounds.
-Assume all insns are Thumb insnsAttempt to find bit index of 0Bad case %d (%s) in %s:%d
-Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameBiiiig Trouble in parse_imm16!Bit number for indexing general register is out of range 0-15Byte address required. - must be even.CpuMax != %d!
+%dsp16() takes a symbolic address, not a number%dsp8() takes a symbolic address, not a number%s: %d: missing `)' in bitfield: %s
+%s: %d: unknown bitfield: %s
+%s: Error: %s: Warning: %s: error: 'LSL' operator not allowed'ROR' operator not allowed(DP) offset out of range.(SP) offset out of range.(unknown)*unknown operands type: %d**unknown*, <invalid CRC operator>, 21-bit offset out of range64-bit address is disabled<function code %d><illegal instruction><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
+<invalid branch>[<invalid cmd action %d:%d:%d>[]<invalid cmd target %d:%d:%d>[]<invalid_instruction>:<unknown register %d>ABORT: unknown operandAddress 0x%s is out of bounds.
+Assume all insns are Thumb insnsAttempt to find bit index of 0Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameBiiiig Trouble in parse_imm16!Bit number for indexing general register is out of range 0-15Byte address required. - must be even.CpuMax != %d!
 Disassemble "register" namesDisassemble in ESA architecture modeDisassemble in z/Architecture modeDon't know how to specify # dependency %s
 Don't understand 0x%x 
-Error: read from memory failedExamine preceding label to determine an insn's typeFirst register of the range should be r13Hmmmm 0x%xIC note %d for opcode %s (IC:%s) conflicts with resource %s note %d
+Error processing section %u Error: read from memory failedExamine preceding label to determine an insn's typeFile has invalid ME-Config section.File has no ME-Config section.GPR odd is illegalHmmmm 0x%xIC note %d for opcode %s (IC:%s) conflicts with resource %s note %d
 IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d
 IC:%s [%s] has no terminals or sub-classes
 IC:%s has no terminals or sub-classes
-Immediate is out of range -128 to 127Immediate is out of range -32768 to 32767Immediate is out of range -512 to 511Immediate is out of range -7 to 8Immediate is out of range -8 to 7Immediate is out of range 0 to 65535Internal disassembler errorInternal error:  bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
-Internal error: bad sparc-opcode.h: "%s" == "%s"
-Internal error: bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
-Internal: Non-debugged code (test-case missing): %s:%dInvalid address type for operandInvalid position, should be 0, 16, 32, 48 or 64.Invalid position, should be 0, 8, 16, or 24Invalid position, should be 0,4, 8,...124.Invalid position, should be 16, 32, 64 or 128.Invalid register number, should be blinkInvalid register number, should be fpInvalid register number, should be pclInvalid size specifierInvalid size value must be on range 1-64.Invalid size, should be 1, 2, 4, or 8Invalid size, value must be LP_COUNT register cannot be used as destination registerLabel conflicts with `Rx'Label conflicts with register nameLast register of the range doesn't fitMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixName well-known globalsNo relocation for small immediateNot a pc-relative address.Only $sp or $15 allowed for this opcodeOnly $tp or $13 allowed for this opcodeOperand is not a symbolOperand out of range. Must be between -32768 and 32767.Print unknown instructions according to length from first two bitsRegister R30 is a limm indicatorRegister list is not validRegister must be BLINKRegister must be GPRegister must be ILINK1Register must be ILINK2Register must be PCLRegister must be R0Register must be R1Register must be R2Register must be R3Register must be SPRegister must be between r0 and r7Register must be between r8 and r15Register must be either r0-r3 or r12-r15Register number is not validSR/SelID is out of rangeSelID is out of rangeSelect raw register namesSelect register names used by GCCSelect register names used in ARM's ISA documentationSelect register names used in the APCSSelect register names used in the ATPCSSelect special register names used in the ATPCSSmall operand was not an immediate numberSpecial purpose register number is out of rangeSyntax error: No trailing ')'The following WebAssembly-specific disassembler options are supported for use
+Immediate is out of range -128 to 127Immediate is out of range -32768 to 32767Immediate is out of range -512 to 511Immediate is out of range -7 to 8Immediate is out of range -8 to 7Immediate is out of range 0 to 65535Invalid NFP option: %sInvalid size specifierLP_COUNT register cannot be used as destination registerLabel conflicts with `Rx'Label conflicts with register nameMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixName well-known globalsNo relocation for small immediateNot a pc-relative address.Only $sp or $15 allowed for this opcodeOnly $tp or $13 allowed for this opcodeOperand is not a symbolOperand out of range. Must be between -32768 and 32767.Print unknown instructions according to length from first two bitsRegister list is not validRegister must be between r0 and r7Register must be between r8 and r15Register number is not validSR/SelID is out of rangeSelID is out of rangeSelect raw register namesSelect register names used by GCCSelect register names used in ARM's ISA documentationSelect register names used in the APCSSelect register names used in the ATPCSSelect special register names used in the ATPCSSmall operand was not an immediate numberSpecial purpose register number is out of rangeSyntax error: No trailing ')'The following WebAssembly-specific disassembler options are supported for use
 with the -M switch:
-The percent-operator's operand is not a symbolUnknown bitfield: %s
-Unknown error %d
-Unrecognised disassembler CPU option: %s
-Unrecognised disassembler option: %s
-Unrecognised register name set: %s
-Unrecognized disassembler option: %s
-Unrecognized field %d while building insn.
-Unrecognized field %d while decoding insn.
-Unrecognized field %d while getting int operand.
-Unrecognized field %d while getting vma operand.
-Unrecognized field %d while parsing.
-Unrecognized field %d while printing insn.
-Unrecognized field %d while setting int operand.
-Unrecognized field %d while setting vma operand.
-Value is not aligned enoughValue must be a multiple of 16Value must be in the range 0 to 240Value must be in the range 0 to 28Value must be in the range 0 to 31Value must be in the range 1 to Value of A operand must be 0 or 1W keyword invalid in FR operand slot.W register expectedWarning: disassembly unreliable - not enough bytes availableWarning: illegal as 2-op instrWarning: illegal as emulation instrWarning: reserved use of A/L and B/W bits detectedWarning: rsrc %s (%s) has no chks
+The percent-operator's operand is not a symbolUIMM = 00000 is illegalUIMM values >15 are illegalUIMM values >7 are illegalUnknown error %d
+Value is not aligned enoughValue of A operand must be 0 or 1W keyword invalid in FR operand slot.W register expectedWarning: disassembly unreliable - not enough bytes availableWarning: illegal as 2-op instrWarning: illegal as emulation instrWarning: reserved use of A/L and B/W bits detectedWarning: rsrc %s (%s) has no chks
 Warning: rsrc %s (%s) has no chks or regs
-Warning: unrecognised CALLA addressing modeaddress register in load rangeaddress writeback expectedattempt to set y bit when using + or - modifierbad instruction `%.50s'bad instruction `%.50s...'bit,base is out of rangebit,base out of range for symbolbranch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangebyte relocation unsupportedcan't cope with insert %d
-can't create i386-init.h, errno = %s
+Warning: unrecognised CALLA addressing modeaccepted values are from -1 to 6address register in load rangeaddress writeback expectedattempt to set y bit when using + or - modifierbad case %d (%s) in %s:%dbad instruction `%.50s'bad instruction `%.50s...'bit,base is out of rangebit,base out of range for symbolbranch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangebyte relocation unsupportedcan't create i386-init.h, errno = %s
 can't create i386-tbl.h, errno = %s
 can't find %s for reading
 can't find i386-opc.tbl for reading, errno = %s
@@ -143,22 +140,22 @@ with the -M switch:
 can't find ia64-ic.tbl for reading
 cannot use odd number destination registercannot use odd number source registercgen_parse_address returned a symbol. Literal required.class %s is defined but not used
 displacement value is not aligneddisplacement value is not in range and is not aligneddisplacement value is out of rangedon't know how to specify %% dependency %s
-dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeexpecting got relative address: got(symbol)expecting got relative address: gotoffhi16(symbol)expecting got relative address: gotofflo16(symbol)expecting gp relative address: gp(symbol)extend operator expectedextraneous registerfloating-point immediate expectedfloating-point value must be 0.0 or 1.0floating-point value must be 0.5 or 1.0floating-point value must be 0.5 or 2.0illegal L operand valueillegal bitmaskillegal immediate valueillegal use of parenthesesimm10 is out of rangeimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate offsetimmediate out of rangeimmediate too big for element sizeimmediate valueimmediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeimmediate zero expectedincompatible L operand valueindex register in load rangeindex register xzr is not allowedinvalid %function() hereinvalid addressing modeinvalid arithmetic immediateinvalid conditional optioninvalid constantinvalid counter accessinvalid extend/shift operatorinvalid immediate, must be 1, 2, or 4invalid mask fieldinvalid mfcr maskinvalid operand.  type may have values 0,1,2 only.invalid post-increment amountinvalid registerinvalid register for stack adjustmentinvalid register listinvalid register nameinvalid register offsetinvalid register operand when updatinginvalid replicated MOV immediateinvalid shift amountinvalid shift operatorinvalid sprg numberinvalid tbr numberinvalid value for CMEM ld/st immediateinvalid value for immediatejump hint unalignedjunk at end of linemissing `)'missing `]'missing extend operatormissing mnemonic in syntax stringmissing registermost recent format '%s'
+dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeexpecting got relative address: got(symbol)expecting got relative address: gotoffhi16(symbol)expecting got relative address: gotofflo16(symbol)expecting gp relative address: gp(symbol)extend operator expectedextraneous registerfirst register of the range should be r13floating-point immediate expectedfloating-point value must be 0.0 or 1.0floating-point value must be 0.5 or 1.0floating-point value must be 0.5 or 2.0illegal L operand valueillegal bitmaskillegal id (%d)illegal immediate valueillegal use of parenthesesimm10 is out of rangeimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate offsetimmediate out of rangeimmediate too big for element sizeimmediate valueimmediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeimmediate zero expectedincompatible L operand valueindex register in load rangeindex register xzr is not allowedinternal disassembler errorinternal error, h8_disassemble_initinternal error: bad insn unitinternal error: bad major codeinternal error: bad sparc-opcode.h: "%s" == "%s"
+internal error: bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
+internal error: bad vliw->next_slot valueinternal error: broken opcode descriptor for `%s %s'internal error: don't know how to handle parsing resultsinternal error: epiphany_cgen_cpu_open: no endianness specifiedinternal error: epiphany_cgen_cpu_open: unsupported argument `%d'internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: fr30_cgen_cpu_open: no endianness specifiedinternal error: fr30_cgen_cpu_open: unsupported argument `%d'internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: frv_cgen_cpu_open: no endianness specifiedinternal error: frv_cgen_cpu_open: unsupported argument `%d'internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: immediate() called with invalid byte count %dinternal error: ip2k_cgen_cpu_open: no endianness specifiedinternal error: ip2k_cgen_cpu_open: unsupported argument `%d'internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: iq2000_cgen_cpu_open: no endianness specifiedinternal error: iq2000_cgen_cpu_open: unsupported argument `%d'internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: lm32_cgen_cpu_open: no endianness specifiedinternal error: lm32_cgen_cpu_open: unsupported argument `%d'internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: m32c_cgen_cpu_open: no endianness specifiedinternal error: m32c_cgen_cpu_open: unsupported argument `%d'internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: m32r_cgen_cpu_open: no endianness specifiedinternal error: m32r_cgen_cpu_open: unsupported argument `%d'internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: mep_cgen_cpu_open: no endianness specifiedinternal error: mep_cgen_cpu_open: unsupported argument `%d'internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: mt_cgen_cpu_open: no endianness specifiedinternal error: mt_cgen_cpu_open: unsupported argument `%d'internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: or1k_cgen_cpu_open: no endianness specifiedinternal error: or1k_cgen_cpu_open: unsupported argument `%d'internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: unknown hardware resourceinternal error: unknown operand, %sinternal error: unrecognized field %d while building insninternal error: unrecognized field %d while decoding insninternal error: unrecognized field %d while getting int operandinternal error: unrecognized field %d while getting vma operandinternal error: unrecognized field %d while parsinginternal error: unrecognized field %d while printing insninternal error: unrecognized field %d while setting int operandinternal error: unrecognized field %d while setting vma operandinternal error: xc16x_cgen_cpu_open: no endianness specifiedinternal error: xc16x_cgen_cpu_open: unsupported argument `%d'internal error: xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal error: xstormy16_cgen_cpu_open: no endianness specifiedinternal error: xstormy16_cgen_cpu_open: unsupported argument `%d'internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'internal: non-debugged code (test-case missing): %s:%dinvalid %function() hereinvalid Ddd valueinvalid address type for operandinvalid addressing modeinvalid arithmetic immediateinvalid conditional optioninvalid constantinvalid counter accessinvalid extend/shift operatorinvalid immediate, must be 1, 2, or 4invalid mask fieldinvalid mfcr maskinvalid offsetinvalid operand.  type may have values 0,1,2 only.invalid position, should be 0, 16, 32, 48 or 64.invalid position, should be 0, 8, 16, or 24invalid position, should be 16, 32, 64 or 128.invalid position, should be one of: 0,4,8,...124.invalid post-increment amountinvalid registerinvalid register for stack adjustmentinvalid register listinvalid register nameinvalid register number, should be blinkinvalid register number, should be fpinvalid register number, should be pclinvalid register offsetinvalid register operand when updatinginvalid replicated MOV immediateinvalid shift amountinvalid shift operatorinvalid size value must be on range 1-64.invalid size, should be 1, 2, 4, or 8invalid size, value must be invalid sprg numberinvalid tbr numberinvalid value for CMEM ld/st immediateinvalid value for immediatejump hint unalignedjunk at end of linelast register of the range doesn't fitmissing `)'missing `]'missing extend operatormissing mnemonic in syntax stringmissing registermost recent format '%s'
 appears more restrictive than '%s'
 multiple note %s not handled
 multipliernegative immediate value not allowednegative or unaligned offset expectedno insns mapped directly to terminal IC %s
 no insns mapped directly to terminal IC %s [%s]no shift amount allowed for 8-bit constantsnot a valid r0l/r0h pairoffset(IP) is not a valid formopcode %s has no class (ops %d %d %d)
-operand is not zerooperand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)operand out of range (0x%lx not between 0 and 0x%lx)operand out of range (not between 1 and 255)overlapping field %s->%s
+operand is not zerooperand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)operand out of range (0x%lx not between 0 and 0x%lx)operand out of range (not between 1 and 255)out of memoryoverlapping field %s->%s
 overwriting note %d with note %d (IC:%s)
-p0-p7 expectedparse_addr16: invalid opindex.percent-operator operand is not a symbolposition value is out of rangereg pair must be contiguousreg pair must start from even regregister element indexregister name used as immediate valueregister numberregister number must be evenregister source in immediate moveregister unavailable for short instructionsrotate expected to be 0, 90, 180 or 270rotate expected to be 90 or 270rsrc %s (%s) has no regs
-shift amountshift amount must be 0 or 12shift amount must be 0 or 16shift amount must be 0 or 8shift amount must be a multiple of 16shift is not permittedshift operator expectedsource and target register operands must be differentstack pointer register expectedsyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)unable to change directory to "%s", errno = %s
-undefinedunexpected address writebackunknownunknown	0x%02lxunknown	0x%04lxunknown constraint `%c'unknown operand shift: %x
-unknown reg: %d
-unrecognized form of instructionunrecognized instructionvalue must be power of 2value out of range 1 - 256vector5 is out of rangevector8 is out of rangewarning: ignoring unknown -M%s option
-width value is out of rangez0-z15 expectedz0-z7 expectedProject-Id-Version: opcodes 2.28.90
+p0-p7 expectedparse_addr16: invalid opindex.percent-operator operand is not a symbolposition value is out of rangereading from a write-only register.reg pair must be contiguousreg pair must start from even regregister R30 is a limm indicatorregister element indexregister must be BLINKregister must be GPregister must be ILINK1register must be ILINK2register must be PCLregister must be R0register must be R1register must be R2register must be R3register must be SPregister must be either r0-r3 or r12-r15register name used as immediate valueregister numberregister number must be evenregister out of rangeregister source in immediate moveregister unavailable for short instructionsrotate expected to be 0, 90, 180 or 270rotate expected to be 90 or 270rsrc %s (%s) has no regs
+shift amountshift amount must be 0 or 12shift amount must be 0 or 16shift amount must be 0 or 8shift amount must be a multiple of 16shift is not permittedshift operator expectedsource and target register operands must be differentspecified register cannot be read fromspecified register cannot be written tostack pointer register expectedsyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)unable to change directory to "%s", errno = %s
+undefinedunexpected address writebackunknownunknown	0x%02lxunknown	0x%04lxunknown S/390 disassembler option: %sunknown bitfield: %s
+unknown constraint `%c'unknown operand shift: %xunknown reg: %dunrecognised disassembler CPU option: %sunrecognised disassembler option: %sunrecognised register name set: %sunrecognized disassembler option: %sunrecognized form of instructionunrecognized instructionvalue must be a multiple of 16value must be in the range 0 to 240value must be in the range 0 to 28value must be in the range 0 to 31value must be in the range 1 to value must be power of 2value out of range 1 - 256vector5 is out of rangevector8 is out of rangewarning: ignoring unknown -M%s optionwidth value is out of rangewriting to a read-only register.z0-z15 expectedz0-z7 expectedProject-Id-Version: opcodes 2.30.90
 Report-Msgid-Bugs-To: bug-binutils@gnu.org
-POT-Creation-Date: 2017-07-03 16:55+0200
-PO-Revision-Date: 2017-07-07 14:19+0300
+POT-Creation-Date: 2018-06-24 19:41+0100
+PO-Revision-Date: 2018-06-25 08:13+0200
 Last-Translator: Yuri Chornoivan <yurchor@ukr.net>
 Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>
 Language: uk
@@ -166,8 +163,8 @@ MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 X-Bugs: Report translation errors to the Language-Team address.
-Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
-X-Generator: Lokalize 1.5
+Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
+X-Generator: Lokalize 2.0
 
 
   Ð£ Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ñ… Ð²Ð¸Ñ‰Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ñ… Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ‚Ð°ÐºÑ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� ARCH:
@@ -185,6 +182,9 @@ X-Generator: Lokalize 1.5
   fpr-names=ABI            Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ FPR Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ Ð´Ð¾ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ ABI.
                            Ð¢Ð¸Ð¿Ð¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: numeric.
 
+  ginv                     Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Global INValidate
+                           (GINV) ASE.
+
   gpr-names=ABI            Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ GPR Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ Ð´Ð¾ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ ABI.
                            Ð¢Ð¸Ð¿Ð¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð¾Ñ�Ð½Ð¾Ð²Ñ– Ñ„Ð°Ð¹Ð»Ð°, Ñ‰Ð¾
                            Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÑ”Ñ‚ÑŒÑ�Ñ�.
@@ -202,6 +202,13 @@ X-Generator: Lokalize 1.5
   no-aliases    Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ñƒ ÐºÐ°Ð½Ð¾Ð½Ñ–Ñ‡Ð½Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—, Ð° Ð½Ðµ Ñƒ
                 Ð¿Ñ�ÐµÐ²Ð´Ð¾Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—.
 
+  no-notes         Ð½Ðµ Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ¸ Ñ‰Ð¾Ð´Ð¾ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—.
+
+  no-pc		    Ð½Ðµ Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ� Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ° Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸.
+  ctx4		    Ð¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ðµ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾ÑŽ 4-ÐºÐ¾Ð½Ñ‚ÐµÐºÑ�Ñ‚Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ.
+  ctx8		    Ð¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ð¸Ð¹ 8-ÐºÐ¾Ð½Ñ‚ÐµÐºÑ�Ñ‚Ð½Ð¸Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼, Ð¼Ð°Ñ” Ð¿Ñ€Ñ–Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚.
+  notes            Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ¸ Ñ‰Ð¾Ð´Ð¾ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—.
+
   numeric       Ð²Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ñ‡Ð¸Ñ�Ð»Ð¾Ð²Ñ– Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð° Ð½Ðµ Ð½Ð°Ð·Ð²Ð¸ Ð² ABI.
 
   reg-names=ABI            Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ GPR Ñ– FPR Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ Ð´Ð¾
@@ -227,6 +234,9 @@ X-Generator: Lokalize 1.5
 Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� MIPS Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸
 Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð° (Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² Ñ�Ð»Ñ–Ð´ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÑŽÐ²Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð°Ð¼Ð¸):
 
+Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� NFP Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸
+Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð° (Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² Ñ�Ð»Ñ–Ð´ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÑŽÐ²Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð°Ð¼Ð¸):
+
 Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� PPC Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸
 Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°:
 
@@ -255,6 +265,7 @@ X-Generator: Lokalize 1.5
   fpud            Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— FPU Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾Ñ— Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ñ–.
   fpuda           Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾Ñ— Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ñ– Ð´Ð¾Ð¿Ð¾Ð¼Ñ–Ð¶Ð½Ð¾Ð³Ð¾ FPU.
   fpus            Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— FPU Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾Ñ— Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ñ–.
+  hex             Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð¿Ñ€Ð¾Ð¼Ñ–Ð¶Ð½Ð¸Ñ….
   i386        Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñƒ 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–
   i8086       Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñƒ 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–
   intel       Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ñƒ Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ�Ñ– Intel
@@ -265,43 +276,25 @@ X-Generator: Lokalize 1.5
   spfp            Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— SP FPX.
   suffix      Ð·Ð°Ð²Ð¶Ð´Ð¸ Ð¿Ð¾ÐºÐ°Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�ÑƒÑ„Ñ–ÐºÑ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ð¹ Ñƒ Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ�Ñ– AT&T
   x86-64      Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñƒ 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–
-# <Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°: %08lx># Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ (%c)# Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñƒ Â«%s %sÂ»$<Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾>%02x		*Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾*%d Ð½ÐµÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¸Ñ… Ð±Ñ–Ñ‚Ñ–Ð² Ñƒ i386_cpu_flags.
+# Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ (%c)# Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñƒ Â«%s %sÂ»$<Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾>%d Ð½ÐµÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¸Ñ… Ð±Ñ–Ñ‚Ñ–Ð² Ñƒ i386_cpu_flags.
 %d Ð½ÐµÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¸Ñ… Ð±Ñ–Ñ‚Ñ–Ð² Ñƒ i386_operand_type.
 %dsp16() Ð¿Ñ€Ð¸Ð¹Ð¼Ð°Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ñ‡Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ, Ð° Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾%dsp8() Ð¿Ñ€Ð¸Ð¹Ð¼Ð°Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ñ‡Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ, Ð° Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾%s: %d: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Â«)Â» Ñƒ Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð¼Ñƒ Ð¿Ð¾Ð»Ñ–: %s
 %s: %d: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ: %s
-%s: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Â«LSLÂ» Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Â«RORÂ» Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾(DP) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ� Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ�.(SP) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ� Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ�.(Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾)*Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ñ–Ð²: %d**Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð°*21-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ64-Ð±Ñ–Ñ‚Ð¾Ð²Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð¾<ÐºÐ¾Ð´ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— %d><Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�><Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŒ><Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°><Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– ÐºÐ¾Ð´Ñ–Ð² Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ð¹: %s %s>
-<Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ %d>ABORT: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ÐŸÑ€Ð¸Ð¹Ð½Ñ�Ñ‚Ð½Ð¸Ð¼ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´ -1 Ð´Ð¾ 6Ð�Ð´Ñ€ÐµÑ�Ð° 0x%s Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ.
-ÐŸÑ€Ð¸Ð¿ÑƒÑ�ÐºÐ°Ñ‚Ð¸, Ñ‰Ð¾ ÑƒÑ�Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ñ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�Ð¼Ð¸ ThumbÐ¡Ð¿Ñ€Ð¾Ð±Ð° Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� 0ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ð¸Ð¿Ð°Ð´Ð¾Ðº %d (%s) Ñƒ %s:%d
-ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ð¸Ñ€Ð°Ð· Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ñƒ Ð¿Ñ–Ñ�Ð»Ñ�Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ–ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ñƒ Ð¿ÐµÑ€ÐµÐ´Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ–ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð½Ð°Ð·Ð²Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð’Ð•Ð›Ð˜ÐšÐ† Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð¸ Ñƒ parse_imm16!Ð�Ð¾Ð¼ÐµÑ€ Ð±Ñ–Ñ‚Ð° Ð´Ð»Ñ� Ñ–Ð½Ð´ÐµÐºÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ 0-15ÐŸÐ¾Ñ‚Ñ€Ñ–Ð±Ð½Ð° Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð°. - Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¿Ð°Ñ€Ð½Ð¸Ð¼.CpuMax != %d!
+%s: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: %s: Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: %s: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Â«LSLÂ» Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Â«RORÂ» Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾(DP) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ� Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ�.(SP) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ� Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ�.(Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾)*Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ñ–Ð²: %d**Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð°*, <Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ CRC>, 21-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ64-Ð±Ñ–Ñ‚Ð¾Ð²Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð¾<ÐºÐ¾Ð´ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— %d><Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�><Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŒ><Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°><Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– ÐºÐ¾Ð´Ñ–Ð² Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ð¹: %s %s>
+<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð³Ñ–Ð»ÐºÐ°>[<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð´Ñ–Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ %d:%d:%d>[]<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ†Ñ–Ð»ÑŒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ %d:%d:%d>[]<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð°_Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�>:<Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ %d>ABORT: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð�Ð´Ñ€ÐµÑ�Ð° 0x%s Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ.
+ÐŸÑ€Ð¸Ð¿ÑƒÑ�ÐºÐ°Ñ‚Ð¸, Ñ‰Ð¾ ÑƒÑ�Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ñ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�Ð¼Ð¸ ThumbÐ¡Ð¿Ñ€Ð¾Ð±Ð° Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� 0ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ð¸Ñ€Ð°Ð· Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ñƒ Ð¿Ñ–Ñ�Ð»Ñ�Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ–ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ñƒ Ð¿ÐµÑ€ÐµÐ´Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ–ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð½Ð°Ð·Ð²Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð’Ð•Ð›Ð˜ÐšÐ† Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð¸ Ñƒ parse_imm16!Ð�Ð¾Ð¼ÐµÑ€ Ð±Ñ–Ñ‚Ð° Ð´Ð»Ñ� Ñ–Ð½Ð´ÐµÐºÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ 0-15ÐŸÐ¾Ñ‚Ñ€Ñ–Ð±Ð½Ð° Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð°. - Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¿Ð°Ñ€Ð½Ð¸Ð¼.CpuMax != %d!
 Ð”Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ Â«registerÂ»Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ ESAÐ´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ– z/ArchitectureÐ�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ�Ñ‚Ñ– #, %s
 Ð�ÐµÐ·Ñ€Ð¾Ð·ÑƒÐ¼Ñ–Ð»Ðµ 0x%x 
-ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð· Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ–Ð’Ð¸Ð²Ñ‡Ð°Ñ‚Ð¸ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŽ Ð¼Ñ–Ñ‚ÐºÑƒ Ð´Ð»Ñ� Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ‚Ð¸Ð¿Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—ÐŸÐµÑ€ÑˆÐ¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ r13Ð“-Ð¼-Ð¼, 0x%xIC-Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ° %d Ð´Ð»Ñ� ÐºÐ¾Ð´Ñƒ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— %s (IC:%s) ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Ñ€ÐµÑ�ÑƒÑ€Ñ�Ð¾Ð¼ %s, Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ° %d
+ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %u ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð· Ð¿Ð°Ð¼â€™Ñ�Ñ‚Ñ–Ð’Ð¸Ð²Ñ‡Ð°Ñ‚Ð¸ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŽ Ð¼Ñ–Ñ‚ÐºÑƒ Ð´Ð»Ñ� Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ‚Ð¸Ð¿Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—Ð£ Ñ„Ð°Ð¹Ð»Ñ– Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» ME-Config.Ð£ Ñ„Ð°Ð¹Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ ME-Config.Ð�ÐµÐ¿Ð°Ñ€Ð½Ðµ GPR Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼Ð“-Ð¼-Ð¼, 0x%xIC-Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ° %d Ð´Ð»Ñ� ÐºÐ¾Ð´Ñƒ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— %s (IC:%s) ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Ñ€ÐµÑ�ÑƒÑ€Ñ�Ð¾Ð¼ %s, Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ° %d
 IC-Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ° %d Ñƒ ÐºÐ¾Ð´Ñ– Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— %s (IC:%s) ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Ñ€ÐµÑ�ÑƒÑ€Ñ�Ð¾Ð¼ %s, Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ° %d
 IC:%s [%s] Ð½Ðµ Ð¼Ð°Ñ” Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ð°Ð»Ñ–Ð² Ð°Ð±Ð¾ Ð¿Ñ–Ð´ÐºÐ»Ð°Ñ�Ñ–Ð²
 IC:%s Ð½Ðµ Ð¼Ð°Ñ” Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ð°Ð»Ñ–Ð² Ð°Ð±Ð¾ Ð¿Ñ–Ð´ÐºÐ»Ð°Ñ�Ñ–Ð²
-ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -128 Ð´Ð¾ 127ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -32768 Ð´Ð¾ 32767ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -512 Ð´Ð¾ 511ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -7 Ð´Ð¾ 8ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -8 Ð´Ð¾ 7ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ 0 Ð´Ð¾ 65535Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ„Ð°Ð¹Ð»Ñ– sparc-opcode.h: Â«%sÂ», %#.8lx, %#.8lx
-Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ sparc-opcode.h: Â«%sÂ» == Â«%sÂ»
-Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ sparc-opcode.h: Â«%sÂ», %#.8lx, %#.8lx
-Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ”: Ð½ÐµÐ´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ð¹ ÐºÐ¾Ð´ (Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€Ð¸ÐºÐ»Ð°Ð´Ñƒ Ð´Ð»Ñ� Ñ‚ÐµÑ�Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�): %s:%dÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ð´Ð»Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0, 16, 32, 48 Ð°Ð±Ð¾ 64.Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0, 8, 16 Ð°Ð±Ð¾ 24Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0, 4, 8, ... 124.Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 16, 32, 64 Ð°Ð±Ð¾ 128.Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ blinkÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ fpÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ pclÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ÑƒÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 1 Ð´Ð¾ 64.Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 1, 2, 4 Ð°Ð±Ð¾ 8Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ LP_COUNT Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ðº Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�ÐœÑ–Ñ‚ÐºÐ° ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Â«RxÂ»ÐœÑ–Ñ‚ÐºÐ° ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Ð½Ð°Ð·Ð²Ð¾ÑŽ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°ÐžÑ�Ñ‚Ð°Ð½Ð½Ñ–Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ñ” Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¼Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«#Â»Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«.Â»Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«pag:Â»Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«pof:Â»Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«seg:Â»Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«sof:Â»Ð�Ð°Ð·Ð¸Ð²Ð°Ñ‚Ð¸ Ð´Ð¾Ð±Ñ€Ðµ Ð²Ñ–Ð´Ð¾Ð¼Ñ– Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ñ–Ð�ÐµÐ¼Ð°Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð¼Ð°Ð»Ð¾Ð³Ð¾ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð�Ð´Ñ€ÐµÑ�Ð°, Ñ�ÐºÐ° Ð½Ðµ Ñ” Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ÑŽ Ñ‰Ð¾Ð´Ð¾ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ° ÐºÐ¾Ð¼Ð°Ð½Ð´ (pc).Ð”Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ $sp Ð°Ð±Ð¾ $15Ð”Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ $tp Ð°Ð±Ð¾ $13ÐžÐ¿ÐµÑ€Ð°Ð½Ð´ Ð½Ðµ Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ÐžÐ¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ. Ð’Ñ–Ð½ Ð¼Ð°Ñ” Ð½Ð°Ð»ÐµÐ¶Ð°Ñ‚Ð¸ Ð¿Ñ€Ð¾Ð¼Ñ–Ð¶ÐºÑƒ Ð²Ñ–Ð´ -32768 Ð´Ð¾ 32767.Ð’Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ Ð´Ð¾ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ Ð· Ð¿ÐµÑ€ÑˆÐ¸Ñ… Ð´Ð²Ð¾Ñ… Ð±Ñ–Ñ‚Ñ–Ð²Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ R30 Ñ” Ñ–Ð½Ð´Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ limmÐ¡Ð¿Ð¸Ñ�Ð¾Ðº Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ BLINKÐ ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ GPÐ ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ILINK1Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ILINK2Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ PCLÐ ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R0Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R1Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R2Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R3Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ SPÐ ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ r0 Ð´Ð¾ r7Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ r8 Ð´Ð¾ r15Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ r0-r3 Ð°Ð±Ð¾ r12-r15Ð�Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ñ” ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼SR/SelID Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒSelID Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ– Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²Ð’Ð¸Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ�ÐºÑ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸Ð¼ÑƒÑ‚ÑŒÑ�Ñ� GCCÐ’Ð¸Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ�ÐºÑ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñƒ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ— Ð· ISA ARMÐ’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð² APCSÐ’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð² ATPCSÐ’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð² ATPCSÐœÐ°Ð»Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð½Ðµ Ð±ÑƒÐ² Ñ‡Ð¸Ñ�Ð»Ð¾Ð²Ð¸Ð¼ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ð¼ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼Ð�Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¡Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Â«)Â»Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� WebAssembly Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸
+ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -128 Ð´Ð¾ 127ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -32768 Ð´Ð¾ 32767ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -512 Ð´Ð¾ 511ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -7 Ð´Ð¾ 8ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -8 Ð´Ð¾ 7ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ 0 Ð´Ð¾ 65535Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ NFP: %sÐ�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ÑƒÐ ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ LP_COUNT Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ðº Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�ÐœÑ–Ñ‚ÐºÐ° ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Â«RxÂ»ÐœÑ–Ñ‚ÐºÐ° ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Ð½Ð°Ð·Ð²Ð¾ÑŽ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«#Â»Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«.Â»Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«pag:Â»Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«pof:Â»Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«seg:Â»Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«sof:Â»Ð�Ð°Ð·Ð¸Ð²Ð°Ñ‚Ð¸ Ð´Ð¾Ð±Ñ€Ðµ Ð²Ñ–Ð´Ð¾Ð¼Ñ– Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ñ–Ð�ÐµÐ¼Ð°Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð¼Ð°Ð»Ð¾Ð³Ð¾ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð�Ð´Ñ€ÐµÑ�Ð°, Ñ�ÐºÐ° Ð½Ðµ Ñ” Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ÑŽ Ñ‰Ð¾Ð´Ð¾ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ° ÐºÐ¾Ð¼Ð°Ð½Ð´ (pc).Ð”Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ $sp Ð°Ð±Ð¾ $15Ð”Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ $tp Ð°Ð±Ð¾ $13ÐžÐ¿ÐµÑ€Ð°Ð½Ð´ Ð½Ðµ Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ÐžÐ¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ. Ð’Ñ–Ð½ Ð¼Ð°Ñ” Ð½Ð°Ð»ÐµÐ¶Ð°Ñ‚Ð¸ Ð¿Ñ€Ð¾Ð¼Ñ–Ð¶ÐºÑƒ Ð²Ñ–Ð´ -32768 Ð´Ð¾ 32767.Ð’Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ Ð´Ð¾ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ Ð· Ð¿ÐµÑ€ÑˆÐ¸Ñ… Ð´Ð²Ð¾Ñ… Ð±Ñ–Ñ‚Ñ–Ð²Ð¡Ð¿Ð¸Ñ�Ð¾Ðº Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ r0 Ð´Ð¾ r7Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ r8 Ð´Ð¾ r15Ð�Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ñ” ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼SR/SelID Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒSelID Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ– Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²Ð’Ð¸Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ�ÐºÑ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸Ð¼ÑƒÑ‚ÑŒÑ�Ñ� GCCÐ’Ð¸Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ�ÐºÑ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñƒ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ— Ð· ISA ARMÐ’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð² APCSÐ’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð² ATPCSÐ’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð² ATPCSÐœÐ°Ð»Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð½Ðµ Ð±ÑƒÐ² Ñ‡Ð¸Ñ�Ð»Ð¾Ð²Ð¸Ð¼ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ð¼ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼Ð�Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¡Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Â«)Â»Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� WebAssembly Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸
 Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°:
-ÐžÐ¿ÐµÑ€Ð°Ð½Ð´ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ð· Ð²Ñ–Ð´Ñ�Ð¾Ñ‚ÐºÐ¾Ð¼ Ð½Ðµ Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ: %s
-Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d
-Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð°: %s
-Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�: %s
-Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð½Ð°Ð±Ñ–Ñ€ Ð½Ð°Ð·Ð² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²: %s
-Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�: %s
-Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—.
-Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—.
-ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ñ†Ñ–Ð»Ð¾Ð³Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°.
-ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° vma.
-ÐŸÑ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d.
-Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—.
-Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ñ†Ñ–Ð»Ð¾Ð³Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°.
-Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° vma.
-Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ 16Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 240Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 28Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 31Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 1 Ð´Ð¾ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° A Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 1ÐšÐ»ÑŽÑ‡Ð¾Ð²Ðµ Ñ�Ð»Ð¾Ð²Ð¾ W Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼ Ñƒ Ñ�Ð»Ð¾Ñ‚Ñ– Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° FR.Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ WÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ” Ð½ÐµÐ½Ð°Ð´Ñ–Ð¹Ð½Ð¸Ð¼ â€” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¾ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ñ… Ð±Ð°Ð¹Ñ‚Ñ–Ð²ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ�Ðº 2-Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¾Ð²Ð°Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð±Ñ–Ñ‚Ñ–Ð² A/L Ñ– B/WÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: rsrc %s (%s) Ð½Ðµ Ð¼Ð°Ñ” chks
+ÐžÐ¿ÐµÑ€Ð°Ð½Ð´ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ð· Ð²Ñ–Ð´Ñ�Ð¾Ñ‚ÐºÐ¾Ð¼ Ð½Ðµ Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼UIMM = 00000 Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� UIMM > 15 Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼Ð¸Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� UIMM > 7 Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼Ð¸Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° %d
+Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° A Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 1ÐšÐ»ÑŽÑ‡Ð¾Ð²Ðµ Ñ�Ð»Ð¾Ð²Ð¾ W Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼ Ñƒ Ñ�Ð»Ð¾Ñ‚Ñ– Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° FR.Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ WÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñ” Ð½ÐµÐ½Ð°Ð´Ñ–Ð¹Ð½Ð¸Ð¼ â€” Ð½Ð°Ð´Ñ‚Ð¾ Ð¼Ð°Ð»Ð¾ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ñ… Ð±Ð°Ð¹Ñ‚Ñ–Ð²ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ñ�Ðº 2-Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� ÐµÐ¼ÑƒÐ»Ñ�Ñ†Ñ–Ñ—ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¾Ð²Ð°Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð±Ñ–Ñ‚Ñ–Ð² A/L Ñ– B/WÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: rsrc %s (%s) Ð½Ðµ Ð¼Ð°Ñ” chks
 ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: rsrc %s (%s) Ð½Ðµ Ð¼Ð°Ñ” chks Ð°Ð±Ð¾ regs
-ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼ Ð°Ð´Ñ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CALLAÑ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð°Ð´Ñ€ÐµÑ�Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð±Ñ–Ñ‚ y Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ð° + Ð°Ð±Ð¾ -Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Â«%.50sÂ»Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Â«%.50s...Â»Ð½Ð°Ð±Ñ–Ñ€ Ð±Ñ–Ñ‚,Ð¾Ñ�Ð½Ð¾Ð²Ð° Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ½Ð°Ð±Ñ–Ñ€ Ð±Ñ–Ñ‚,Ð¾Ñ�Ð½Ð¾Ð²Ð° Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒÐ¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð·Ð° Ð½ÐµÐ¿Ð°Ñ€Ð½Ð¸Ð¼ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ�Ð¼Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ñ– Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” Ð½ÐµÐ¿Ð°Ñ€Ð½Ðµ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ�Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ Ð²Ñ�Ñ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ� %d
-Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ i386-init.h, Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ = %s
+ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð¸Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼ Ð°Ð´Ñ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� CALLAÐ¿Ñ€Ð¸Ð¹Ð½Ñ�Ñ‚Ð½Ð¸Ð¼ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´ -1 Ð´Ð¾ 6Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð°Ð´Ñ€ÐµÑ�Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð±Ñ–Ñ‚ y Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ð° + Ð°Ð±Ð¾ -Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ð¸Ð¿Ð°Ð´Ð¾Ðº %d (%s) Ñƒ %s:%dÐ¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Â«%.50sÂ»Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Â«%.50s...Â»Ð½Ð°Ð±Ñ–Ñ€ Ð±Ñ–Ñ‚,Ð¾Ñ�Ð½Ð¾Ð²Ð° Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ½Ð°Ð±Ñ–Ñ€ Ð±Ñ–Ñ‚,Ð¾Ñ�Ð½Ð¾Ð²Ð° Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»ÑƒÐ¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð·Ð° Ð½ÐµÐ¿Ð°Ñ€Ð½Ð¸Ð¼ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ�Ð¼Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ñ– Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” Ð½ÐµÐ¿Ð°Ñ€Ð½Ðµ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ�Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ i386-init.h, Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ = %s
 Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ i386-tbl.h, Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ = %s
 Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ %s Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�
 Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ i386-opc.tbl Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ = %s
@@ -309,16 +302,16 @@ X-Generator: Lokalize 1.5
 Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ ia64-ic.tbl Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�
 Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð· Ð½ÐµÐ¿Ð°Ñ€Ð½Ð¸Ð¼ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ–Ð· Ð¿Ð°Ñ€Ð½Ð¸Ð¼ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼cgen_parse_address Ð¿Ð¾Ð²ÐµÑ€Ð½ÑƒÑ‚Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð». ÐœÐ°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð¿Ð¾Ð²ÐµÑ€Ð½ÑƒÑ‚Ð¾ Ð»Ñ–Ñ‚ÐµÑ€Ð°Ð».ÐºÐ»Ð°Ñ� %s Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾, Ð°Ð»Ðµ Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾
 Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð·Ñ�ÑƒÐ²Ñƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð·Ñ�ÑƒÐ²Ñƒ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð¼Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ–, Ð¹Ð¾Ð³Ð¾ Ñ‚Ð°ÐºÐ¾Ð¶ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð·Ñ�ÑƒÐ²Ñƒ Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ñƒ Ð´Ð¾Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð¼Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ–Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ�Ñ‚Ñ– %%, %s
-dsp:16 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼dsp:20 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼dsp:24 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼dsp:8 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ got: got(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ got: gotoffhi16(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ got: gotofflo16(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ gp: gp(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ�Ñ�Ñ‚Ð¾Ñ€Ð¾Ð½Ð½Ñ–Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ñƒ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽÑ‡Ð¸Ñ�Ð»Ð¾Ð¼ Ñ–Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0.0 Ð°Ð±Ð¾ 1.0Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼ Ñ–Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0.5 Ð°Ð±Ð¾ 1.0Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼ Ñ–Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0.5 Ð°Ð±Ð¾ 2.0Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° LÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð±Ñ–Ñ‚Ð¾Ð²Ð° Ð¼Ð°Ñ�ÐºÐ°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð´ÑƒÐ¶ÐºÐ¸imm10 Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒimm:6 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 0-7ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 1-2ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 1-8ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 2-9Ñ�Ñ‚Ð°Ð»Ð¸Ð¹ Ð·Ñ�ÑƒÐ²ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð° Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÑ�Ñ‚Ð°Ð»Ð° Ð²ÐµÐ»Ð¸Ñ‡Ð½Ð° Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð°Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð²Ð¸Ð¼Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ñƒ ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚ÑƒÐ½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° LÑ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ñ–Ð½Ð´ÐµÐºÑ�Ñƒ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ xzr Ñ–Ð½Ð´ÐµÐºÑ�Ñƒ Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸%function() (Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Ð· Ð²Ñ–Ð´Ñ�Ð¾Ñ‚ÐºÐ¾Ð¼) Ñ‚ÑƒÑ‚ Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾ÑŽÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼ Ð°Ð´Ñ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡Ð½Ð° Ñ�Ñ‚Ð°Ð»Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° ÑƒÐ¼Ð¾Ð²Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� Ð°Ð±Ð¾ Ð·Ñ�ÑƒÐ²ÑƒÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ�Ñ‚Ð°Ð»Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 1, 2 Ð°Ð±Ð¾ 4Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ Ð¼Ð°Ñ�ÐºÐ¸Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¼Ð°Ñ�ÐºÐ° mfcrÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´. Ð¢Ð¸Ð¿ Ð¼Ð¾Ð¶Ðµ Ð¼Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 0,1,2.Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ� Ð¿Ñ–Ñ�Ð»Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð½Ñ�Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð´Ð»Ñ� ÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¿Ð¸Ñ�Ð¾Ðº Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð½Ð°Ð·Ð²Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ�Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð° Ñ�Ñ‚Ð°Ð»Ð° Ñƒ MOVÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²ÑƒÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ð·Ñ�ÑƒÐ²ÑƒÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ sprgÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ tbrÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð¸ ld/st CMEMÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð¸Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ð·Ð°Ð¹Ð²Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð½Ð°Ð¿Ñ€Ð¸ÐºÑ–Ð½Ñ†Ñ– Ñ€Ñ�Ð´ÐºÐ°Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Â«)Â»Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Â«]Â»Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ�Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñƒ Ñ€Ñ�Ð´ÐºÑƒ Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ�ÑƒÐ½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð½Ð°Ð¹Ñ�Ð²Ñ–Ð¶Ñ–ÑˆÐ¸Ð¹ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚, Â«%sÂ»,
+dsp:16 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼dsp:20 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼dsp:24 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼dsp:8 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ got: got(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ got: gotoffhi16(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ got: gotofflo16(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ gp: gp(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ�Ñ�Ñ‚Ð¾Ñ€Ð¾Ð½Ð½Ñ–Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¿ÐµÑ€ÑˆÐ¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ r13Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ñƒ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽÑ‡Ð¸Ñ�Ð»Ð¾Ð¼ Ñ–Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0.0 Ð°Ð±Ð¾ 1.0Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼ Ñ–Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0.5 Ð°Ð±Ð¾ 1.0Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼ Ñ–Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0.5 Ð°Ð±Ð¾ 2.0Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° LÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð±Ñ–Ñ‚Ð¾Ð²Ð° Ð¼Ð°Ñ�ÐºÐ°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ (%d)Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð´ÑƒÐ¶ÐºÐ¸imm10 Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒimm:6 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 0-7ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 1-2ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 1-8ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 2-9Ñ�Ñ‚Ð°Ð»Ð¸Ð¹ Ð·Ñ�ÑƒÐ²ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð° Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÑ�Ñ‚Ð°Ð»Ð° Ð²ÐµÐ»Ð¸Ñ‡Ð½Ð° Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð°Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð²Ð¸Ð¼Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ñƒ ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚ÑƒÐ½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° LÑ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ñ–Ð½Ð´ÐµÐºÑ�Ñƒ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ xzr Ñ–Ð½Ð´ÐµÐºÑ�Ñƒ Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, h8_disassemble_initÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ insnÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ ÐºÐ¾Ð´ majorÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ sparc-opcode.h: Â«%sÂ» == Â«%sÂ»
+Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ„Ð°Ð¹Ð»Ñ– sparc-opcode.h: Â«%sÂ», %#.8lx, %#.8lx
+Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� vliw->next_slotÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€ ÐºÐ¾Ð´Ñƒ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ� Â«%s %sÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð°Ð¼Ð¸ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: epiphany_cgen_cpu_open: Ð½Ðµ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: epiphany_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: epiphany_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: fr30_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: fr30_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: fr30_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: frv_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: frv_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: frv_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: immediate() Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ Ñ–Ð· Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾ÑŽ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŽ Ð±Ð°Ð¹Ñ‚Ñ–Ð² %dÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: ip2k_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: ip2k_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: ip2k_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: iq2000_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: iq2000_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: iq2000_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: lm32_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: lm32_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: lm32_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32c_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32c_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32c_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32r_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32r_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32r_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mep_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mep_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mep_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mt_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mt_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mt_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: or1k_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: or1k_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: or1k_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¸Ð¹ Ñ€ÐµÑ�ÑƒÑ€Ñ�Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´, %sÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ñ†Ñ–Ð»Ð¾Ð³Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° vmaÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %dÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ñ†Ñ–Ð»Ð¾Ð³Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° vmaÐ²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xc16x_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xc16x_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xc16x_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xstormy16_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xstormy16_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xstormy16_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ”: Ð½ÐµÐ´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ð¹ ÐºÐ¾Ð´ (Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€Ð¸ÐºÐ»Ð°Ð´Ñƒ Ð´Ð»Ñ� Ñ‚ÐµÑ�Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�): %s:%d%function() (Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Ð· Ð²Ñ–Ð´Ñ�Ð¾Ñ‚ÐºÐ¾Ð¼) Ñ‚ÑƒÑ‚ Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾ÑŽÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� DddÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ð´Ð»Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼ Ð°Ð´Ñ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡Ð½Ð° Ñ�Ñ‚Ð°Ð»Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° ÑƒÐ¼Ð¾Ð²Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� Ð°Ð±Ð¾ Ð·Ñ�ÑƒÐ²ÑƒÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ�Ñ‚Ð°Ð»Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 1, 2 Ð°Ð±Ð¾ 4Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ Ð¼Ð°Ñ�ÐºÐ¸Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¼Ð°Ñ�ÐºÐ° mfcrÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ñ�ÑƒÐ²Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´. Ð¢Ð¸Ð¿ Ð¼Ð¾Ð¶Ðµ Ð¼Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 0,1,2.Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0, 16, 32, 48 Ð°Ð±Ð¾ 64.Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0, 8, 16 Ð°Ð±Ð¾ 24Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 16, 32, 64 Ð°Ð±Ð¾ 128.Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð¾Ð´Ð½Ðµ Ð· Ñ‚Ð°ÐºÐ¸Ñ… Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ: 0,4,8,...124.Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ� Ð¿Ñ–Ñ�Ð»Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð½Ñ�Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð´Ð»Ñ� ÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ� Ñ�Ñ‚ÐµÐºÐ°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¿Ð¸Ñ�Ð¾Ðº Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð½Ð°Ð·Ð²Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ blinkÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ fpÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ pclÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ�Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð° Ñ�Ñ‚Ð°Ð»Ð° Ñƒ MOVÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²ÑƒÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ð·Ñ�ÑƒÐ²ÑƒÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 1 Ð´Ð¾ 64.Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 1, 2, 4 Ð°Ð±Ð¾ 8Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ sprgÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ tbrÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð¸ ld/st CMEMÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð¸Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾Ð·Ð°Ð¹Ð²Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð½Ð°Ð¿Ñ€Ð¸ÐºÑ–Ð½Ñ†Ñ– Ñ€Ñ�Ð´ÐºÐ°Ð¾Ñ�Ñ‚Ð°Ð½Ð½Ñ–Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ñ” Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¼Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Â«)Â»Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Â«]Â»Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ�Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñƒ Ñ€Ñ�Ð´ÐºÑƒ Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ�ÑƒÐ½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð½Ð°Ð¹Ñ�Ð²Ñ–Ð¶Ñ–ÑˆÐ¸Ð¹ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚, Â«%sÂ»,
 Ñ” Ð±Ñ–Ð»ÑŒÑˆ Ð¾Ð±Ð¼ÐµÐ¶ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ð¼ Ð½Ñ–Ð¶ Â«%sÂ»
 Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ñ… Ð½Ð¾Ñ‚Ð°Ñ‚Ð¾Ðº %s Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾
 Ð¼Ð½Ð¾Ð¶Ð½Ð¸ÐºÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð²Ñ–Ð´â€™Ñ”Ð¼Ð½Ð¸Ñ… ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð²Ñ–Ð´â€™Ñ”Ð¼Ð½Ðµ Ð°Ð±Ð¾ Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿ÑƒÐ½ÐµÐ¼Ð°Ñ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ð¹, Ñ�ÐºÑ– Ð±ÐµÐ·Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶Ð°ÑŽÑ‚ÑŒÑ�Ñ� Ð½Ð° Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ð°Ð» IC %s
 Ð½ÐµÐ¼Ð°Ñ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ð¹, Ñ�ÐºÑ– Ð±ÐµÐ·Ð¿Ð¾Ñ�ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶Ð°ÑŽÑ‚ÑŒÑ�Ñ� Ð½Ð° Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ð°Ð» IC %s [%s]Ð´Ð»Ñ� 8-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ�Ñ‚Ð°Ð»Ð¸Ñ… Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð¸ Ð·Ñ�ÑƒÐ²ÑƒÐ½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð°Ñ€Ð° r0l/r0hoffset(IP) Ñ” Ð½Ðµ ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾ÑŽ Ñ„Ð¾Ñ€Ð¼Ð¾ÑŽÐºÐ¾Ð´ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— %s Ð½Ðµ Ð¼Ð°Ñ” ÐºÐ»Ð°Ñ�Ñƒ (Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— %d %d %d)
-Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñ” Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%ld Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¼Ñ–Ð¶ %ld Ñ– %ld)Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%ld Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¼Ñ–Ð¶ %ld Ñ– %lu)Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%lu Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¼Ñ–Ð¶ %lu Ñ– %lu)Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (0x%lx Ð½Ðµ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¼Ñ–Ð¶ 0 Ñ– 0x%lx)Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ð½Ðµ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¼Ñ–Ð¶ 1 Ñ– 255)Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ñ‚Ñ‚Ñ� Ñƒ Ð¿Ð¾Ð»Ñ– %s->%s
+Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñ” Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%ld Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¼Ñ–Ð¶ %ld Ñ– %ld)Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%ld Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¼Ñ–Ð¶ %ld Ñ– %lu)Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%lu Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¼Ñ–Ð¶ %lu Ñ– %lu)Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (0x%lx Ð½Ðµ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¼Ñ–Ð¶ 0 Ñ– 0x%lx)Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ð½Ðµ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¼Ñ–Ð¶ 1 Ñ– 255)Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ð°Ð¼'Ñ�Ñ‚Ñ–Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ñ‚Ñ‚Ñ� Ñƒ Ð¿Ð¾Ð»Ñ– %s->%s
 Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñ� Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ¸ %d Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ¾ÑŽ %d (IC:%s)
-Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ p0-p7parse_addr16: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ—.Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ð· Ð²Ñ–Ð´Ñ�Ð¾Ñ‚ÐºÐ¾Ð¼ Ð½Ðµ Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ— Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¿Ð°Ñ€Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ð¾ÑŽÐ¿Ð°Ñ€Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð¼Ð°Ñ” Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ‚Ð¸Ñ�Ñ� Ñ–Ð· Ð¿Ð°Ñ€Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ñ–Ð½Ð´ÐµÐºÑ� ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð½Ð°Ð·Ð²Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ñ�Ðº Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¿Ð°Ñ€Ð½Ð¸Ð¼Ð´Ð¶ÐµÑ€ÐµÐ»Ð¾ Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð½ÐµÐ´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¹ Ð´Ð»Ñ� ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ… Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ð¹Ð´Ð»Ñ� Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ� Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 0, 90, 180 Ð°Ð±Ð¾ 270Ð´Ð»Ñ� Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ� Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 90 Ð°Ð±Ð¾ 270rsrc %s (%s) Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²
-Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²ÑƒÐ²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 12Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 16Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 8Ð·Ñ�ÑƒÐ² Ð¼Ð°Ð² Ð±ÑƒÑ‚Ð¸ ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ 16Ð·Ñ�ÑƒÐ² Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ð·Ñ�ÑƒÐ²ÑƒÑ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð²Ñ– Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð¸ Ð´Ð¶ÐµÑ€ÐµÐ»Ð° Ñ– Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°ÑŽÑ‚ÑŒ Ð±ÑƒÑ‚Ð¸ Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð½Ð° Ñ�Ñ‚ÐµÐºÑ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° (Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%cÂ», Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¶ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%cÂ»)Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° (Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%cÂ», Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¶ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—)Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð½Ð° Â«%sÂ», Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ = %s
-Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð°Ð´Ñ€ÐµÑ�Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð°Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ	0x%02lxÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ	0x%04lxÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ� Â«%cÂ»Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°: %x
-Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€: %d
-Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ñ„Ð¾Ñ€Ð¼Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ñ�Ñ‚ÐµÐ¿ÐµÐ½ÐµÐ¼ 2Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ 1 Ð´Ð¾ 256vector5 Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒvector8 Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -M%s
-Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� ÑˆÐ¸Ñ€Ð¸Ð½Ð¸ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ z0-z15Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ z0-z7
\ No newline at end of file
+Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ p0-p7parse_addr16: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ—.Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ð· Ð²Ñ–Ð´Ñ�Ð¾Ñ‚ÐºÐ¾Ð¼ Ð½Ðµ Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ— Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÑ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñ–Ð· Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ.Ð¿Ð°Ñ€Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ð¾ÑŽÐ¿Ð°Ñ€Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð¼Ð°Ñ” Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ‚Ð¸Ñ�Ñ� Ñ–Ð· Ð¿Ð°Ñ€Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ R30 Ñ” Ñ–Ð½Ð´Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ limmÑ–Ð½Ð´ÐµÐºÑ� ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ BLINKÑ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ GPÑ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ILINK1Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ILINK2Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ PCLÑ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R0Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R1Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R2Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R3Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ SPÑ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ r0-r3 Ð°Ð±Ð¾ r12-r15Ð½Ð°Ð·Ð²Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ñ�Ðº Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¿Ð°Ñ€Ð½Ð¸Ð¼Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ´Ð¶ÐµÑ€ÐµÐ»Ð¾ Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð½ÐµÐ´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¹ Ð´Ð»Ñ� ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ… Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ð¹Ð´Ð»Ñ� Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ� Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 0, 90, 180 Ð°Ð±Ð¾ 270Ð´Ð»Ñ� Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ� Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 90 Ð°Ð±Ð¾ 270rsrc %s (%s) Ð½Ðµ Ð¼Ñ–Ñ�Ñ‚Ð¸Ñ‚ÑŒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²
+Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²ÑƒÐ²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 12Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 16Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 8Ð·Ñ�ÑƒÐ² Ð¼Ð°Ð² Ð±ÑƒÑ‚Ð¸ ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ 16Ð·Ñ�ÑƒÐ² Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ð·Ñ�ÑƒÐ²ÑƒÑ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð²Ñ– Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð¸ Ð´Ð¶ÐµÑ€ÐµÐ»Ð° Ñ– Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°ÑŽÑ‚ÑŒ Ð±ÑƒÑ‚Ð¸ Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸Ð· Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð´Ð°Ð½Ñ–Ð´Ð¾ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�ÑƒÐ²Ð°Ñ‚Ð¸ Ð´Ð°Ð½Ñ–Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð½Ð° Ñ�Ñ‚ÐµÐºÑ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° (Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%cÂ», Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¶ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%cÂ»)Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° (Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%cÂ», Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¶ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—)Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð½Ð° Â«%sÂ», Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ = %s
+Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð°Ð´Ñ€ÐµÑ�Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð°Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ	0x%02lxÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ	0x%04lxÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� S/390: %sÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ: %s
+Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ� Â«%cÂ»Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°: %xÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€: %dÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð°: %sÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�: %sÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð½Ð°Ð±Ñ–Ñ€ Ð½Ð°Ð·Ð² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²: %sÐ½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�: %sÐ½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ñ„Ð¾Ñ€Ð¼Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ 16Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 240Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 28Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 31Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 1 Ð´Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ñ�Ñ‚ÐµÐ¿ÐµÐ½ÐµÐ¼ 2Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ 1 Ð´Ð¾ 256vector5 Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒvector8 Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -M%sÐ·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� ÑˆÐ¸Ñ€Ð¸Ð½Ð¸ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½ÑƒÐ·Ð°Ð¿Ð¸Ñ� Ð´Ð¾ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ.Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ z0-z15Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ z0-z7
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/uk.po ./opcodes/po/uk.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/uk.po	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/po/uk.po	2018-07-10 02:06:15.000000000 +0000
@@ -2,13 +2,13 @@
 # Copyright (C) 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the binutils package.
 #
-# Yuri Chornoivan <yurchor@ukr.net>, 2012, 2013, 2014, 2017.
+# Yuri Chornoivan <yurchor@ukr.net>, 2012, 2013, 2014, 2017, 2018.
 msgid ""
 msgstr ""
-"Project-Id-Version: opcodes 2.28.90\n"
+"Project-Id-Version: opcodes 2.30.90\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2017-07-03 16:55+0200\n"
-"PO-Revision-Date: 2017-07-07 14:19+0300\n"
+"POT-Creation-Date: 2018-06-24 19:41+0100\n"
+"PO-Revision-Date: 2018-06-25 08:13+0200\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
 "Language: uk\n"
@@ -16,16 +16,24 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Lokalize 1.5\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Lokalize 2.0\n"
+
+#: aarch64-asm.c:805
+msgid "specified register cannot be read from"
+msgstr "Ð· Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð´Ð°Ð½Ñ–"
+
+#: aarch64-asm.c:814
+msgid "specified register cannot be written to"
+msgstr "Ð´Ð¾ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ�ÑƒÐ²Ð°Ñ‚Ð¸ Ð´Ð°Ð½Ñ–"
 
 #. Invalid option.
-#: aarch64-dis.c:81 arc-dis.c:775 arm-dis.c:6132
+#: aarch64-dis.c:94 arc-dis.c:782 arm-dis.c:6158
 #, c-format
-msgid "Unrecognised disassembler option: %s\n"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�: %s\n"
+msgid "unrecognised disassembler option: %s"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�: %s"
 
-#: aarch64-dis.c:3235
+#: aarch64-dis.c:3362
 #, c-format
 msgid ""
 "\n"
@@ -36,7 +44,7 @@ msgstr ""
 "Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� AARCH64 Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸\n"
 "Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð° (Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² Ñ�Ð»Ñ–Ð´ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÑŽÐ²Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð°Ð¼Ð¸):\n"
 
-#: aarch64-dis.c:3239
+#: aarch64-dis.c:3366
 #, c-format
 msgid ""
 "\n"
@@ -45,7 +53,7 @@ msgstr ""
 "\n"
 "  no-aliases         Ð½Ðµ Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ð¸Ñ… Ð½Ð°Ð·Ð² Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ð¹.\n"
 
-#: aarch64-dis.c:3242
+#: aarch64-dis.c:3369
 #, c-format
 msgid ""
 "\n"
@@ -54,7 +62,25 @@ msgstr ""
 "\n"
 "  aliases            Ð²Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ñ– Ð½Ð°Ð·Ð²Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ð¹.\n"
 
-#: aarch64-dis.c:3246
+#: aarch64-dis.c:3372
+#, c-format
+msgid ""
+"\n"
+"  no-notes         Don't print instruction notes.\n"
+msgstr ""
+"\n"
+"  no-notes         Ð½Ðµ Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ¸ Ñ‰Ð¾Ð´Ð¾ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—.\n"
+
+#: aarch64-dis.c:3375
+#, c-format
+msgid ""
+"\n"
+"  notes            Do print instruction notes.\n"
+msgstr ""
+"\n"
+"  notes            Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð½Ð¾Ñ‚Ð°Ñ‚ÐºÐ¸ Ñ‰Ð¾Ð´Ð¾ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—.\n"
+
+#: aarch64-dis.c:3379
 #, c-format
 msgid ""
 "\n"
@@ -63,215 +89,223 @@ msgstr ""
 "\n"
 "  debug_dump         Ñ‚Ð¸Ð¼Ñ‡Ð°Ñ�Ð¾Ð²Ð¸Ð¹ Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ Ð´Ð»Ñ� Ð´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ Ñ‚Ñ€Ð°Ñ�ÑƒÐ²Ð°Ð½Ð½Ñ�.\n"
 
-#: aarch64-dis.c:3250 mips-dis.c:2601 mips-dis.c:2609 mips-dis.c:2611
-#: riscv-dis.c:507
+#: aarch64-dis.c:3383 mips-dis.c:2612 mips-dis.c:2620 mips-dis.c:2622
+#: nfp-dis.c:2981 riscv-dis.c:509
 #, c-format
 msgid "\n"
 msgstr "\n"
 
-#: aarch64-opc.c:1306
+#: aarch64-opc.c:1311
 msgid "immediate value"
 msgstr "ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð°"
 
-#: aarch64-opc.c:1316
+#: aarch64-opc.c:1321
 msgid "immediate offset"
 msgstr "Ñ�Ñ‚Ð°Ð»Ð¸Ð¹ Ð·Ñ�ÑƒÐ²"
 
-#: aarch64-opc.c:1326
+#: aarch64-opc.c:1331
 msgid "register number"
 msgstr "Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°"
 
-#: aarch64-opc.c:1336
+#: aarch64-opc.c:1341
 msgid "register element index"
 msgstr "Ñ–Ð½Ð´ÐµÐºÑ� ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°"
 
-#: aarch64-opc.c:1346
+#: aarch64-opc.c:1351
 msgid "shift amount"
 msgstr "Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²Ñƒ"
 
-#: aarch64-opc.c:1358
+#: aarch64-opc.c:1363
 msgid "multiplier"
 msgstr "Ð¼Ð½Ð¾Ð¶Ð½Ð¸Ðº"
 
-#: aarch64-opc.c:1431
+#: aarch64-opc.c:1436
 msgid "reg pair must start from even reg"
 msgstr "Ð¿Ð°Ñ€Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð¼Ð°Ñ” Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ‚Ð¸Ñ�Ñ� Ñ–Ð· Ð¿Ð°Ñ€Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°"
 
-#: aarch64-opc.c:1437
+#: aarch64-opc.c:1442
 msgid "reg pair must be contiguous"
 msgstr "Ð¿Ð°Ñ€Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¿Ð¾Ñ�Ð»Ñ–Ð´Ð¾Ð²Ð½Ð¾ÑŽ"
 
-#: aarch64-opc.c:1451
+#: aarch64-opc.c:1456
 msgid "extraneous register"
 msgstr "Ñ�Ñ‚Ð¾Ñ€Ð¾Ð½Ð½Ñ–Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€"
 
-#: aarch64-opc.c:1457
+#: aarch64-opc.c:1462
 msgid "missing register"
 msgstr "Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°"
 
-#: aarch64-opc.c:1468
+#: aarch64-opc.c:1473
 msgid "stack pointer register expected"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° Ð½Ð° Ñ�Ñ‚ÐµÐº"
 
-#: aarch64-opc.c:1491
+#: aarch64-opc.c:1496
 msgid "z0-z15 expected"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ z0-z15"
 
-#: aarch64-opc.c:1492
+#: aarch64-opc.c:1497
 msgid "z0-z7 expected"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ z0-z7"
 
-#: aarch64-opc.c:1518
+#: aarch64-opc.c:1523
 msgid "invalid register list"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¿Ð¸Ñ�Ð¾Ðº Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²"
 
-#: aarch64-opc.c:1532
+#: aarch64-opc.c:1537
 msgid "p0-p7 expected"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ p0-p7"
 
-#: aarch64-opc.c:1558 aarch64-opc.c:1566
+#: aarch64-opc.c:1563 aarch64-opc.c:1571
 msgid "unexpected address writeback"
 msgstr "Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð°Ð´Ñ€ÐµÑ�"
 
-#: aarch64-opc.c:1577
+#: aarch64-opc.c:1582
 msgid "address writeback expected"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¸Ð¹ Ð·Ð°Ð¿Ð¸Ñ� Ð°Ð´Ñ€ÐµÑ�"
 
-#: aarch64-opc.c:1623
+#: aarch64-opc.c:1629
 msgid "negative or unaligned offset expected"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð²Ñ–Ð´â€™Ñ”Ð¼Ð½Ðµ Ð°Ð±Ð¾ Ð½ÐµÐ²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´Ñ�Ñ‚ÑƒÐ¿Ñƒ"
 
-#: aarch64-opc.c:1650
+#: aarch64-opc.c:1656
 msgid "invalid register offset"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°"
 
-#: aarch64-opc.c:1672
+#: aarch64-opc.c:1678
 msgid "invalid post-increment amount"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ� Ð¿Ñ–Ñ�Ð»Ñ� Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð½Ñ�"
 
-#: aarch64-opc.c:1688 aarch64-opc.c:2165
+#: aarch64-opc.c:1694 aarch64-opc.c:2172
 msgid "invalid shift amount"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²Ñƒ"
 
-#: aarch64-opc.c:1701
+#: aarch64-opc.c:1707
 msgid "invalid extend/shift operator"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ� Ð°Ð±Ð¾ Ð·Ñ�ÑƒÐ²Ñƒ"
 
-#: aarch64-opc.c:1747 aarch64-opc.c:1986 aarch64-opc.c:2021 aarch64-opc.c:2040
-#: aarch64-opc.c:2048 aarch64-opc.c:2119 aarch64-opc.c:2295 aarch64-opc.c:2395
-#: aarch64-opc.c:2408
+#: aarch64-opc.c:1753 aarch64-opc.c:1993 aarch64-opc.c:2028 aarch64-opc.c:2047
+#: aarch64-opc.c:2055 aarch64-opc.c:2126 aarch64-opc.c:2302 aarch64-opc.c:2402
+#: aarch64-opc.c:2415
 msgid "immediate out of range"
 msgstr "ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð° Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
 
-#: aarch64-opc.c:1769 aarch64-opc.c:1811 aarch64-opc.c:1860 aarch64-opc.c:1894
+#: aarch64-opc.c:1775 aarch64-opc.c:1817 aarch64-opc.c:1867 aarch64-opc.c:1901
 msgid "invalid addressing mode"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼ Ð°Ð´Ñ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ�"
 
-#: aarch64-opc.c:1852
+#: aarch64-opc.c:1859
 msgid "index register xzr is not allowed"
 msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ xzr Ñ–Ð½Ð´ÐµÐºÑ�Ñƒ Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸"
 
-#: aarch64-opc.c:1974 aarch64-opc.c:1996 aarch64-opc.c:2198 aarch64-opc.c:2206
-#: aarch64-opc.c:2272 aarch64-opc.c:2301
+#: aarch64-opc.c:1981 aarch64-opc.c:2003 aarch64-opc.c:2205 aarch64-opc.c:2213
+#: aarch64-opc.c:2279 aarch64-opc.c:2308
 msgid "invalid shift operator"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ð·Ñ�ÑƒÐ²Ñƒ"
 
-#: aarch64-opc.c:1980
+#: aarch64-opc.c:1987
 msgid "shift amount must be 0 or 12"
 msgstr "Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 12"
 
-#: aarch64-opc.c:2003
+#: aarch64-opc.c:2010
 msgid "shift amount must be a multiple of 16"
 msgstr "Ð·Ñ�ÑƒÐ² Ð¼Ð°Ð² Ð±ÑƒÑ‚Ð¸ ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ 16"
 
-#: aarch64-opc.c:2015
+#: aarch64-opc.c:2022
 msgid "negative immediate value not allowed"
 msgstr "Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð²Ñ–Ð´â€™Ñ”Ð¼Ð½Ð¸Ñ… ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
 
-#: aarch64-opc.c:2130
+#: aarch64-opc.c:2137
 msgid "immediate zero expected"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ñƒ ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ñƒ"
 
-#: aarch64-opc.c:2144
+#: aarch64-opc.c:2151
 msgid "rotate expected to be 0, 90, 180 or 270"
 msgstr "Ð´Ð»Ñ� Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ� Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 0, 90, 180 Ð°Ð±Ð¾ 270"
 
-#: aarch64-opc.c:2154
+#: aarch64-opc.c:2161
 msgid "rotate expected to be 90 or 270"
 msgstr "Ð´Ð»Ñ� Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ� Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 90 Ð°Ð±Ð¾ 270"
 
-#: aarch64-opc.c:2214
+#: aarch64-opc.c:2221
 msgid "shift is not permitted"
 msgstr "Ð·Ñ�ÑƒÐ² Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
 
-#: aarch64-opc.c:2239
+#: aarch64-opc.c:2246
 msgid "invalid value for immediate"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð¸"
 
-#: aarch64-opc.c:2264
+#: aarch64-opc.c:2271
 msgid "shift amount must be 0 or 16"
 msgstr "Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 16"
 
-#: aarch64-opc.c:2285
+#: aarch64-opc.c:2292
 msgid "floating-point immediate expected"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ñƒ Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ"
 
-#: aarch64-opc.c:2319
+#: aarch64-opc.c:2326
 msgid "no shift amount allowed for 8-bit constants"
 msgstr "Ð´Ð»Ñ� 8-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ñ… Ñ�Ñ‚Ð°Ð»Ð¸Ñ… Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð¸ Ð·Ñ�ÑƒÐ²Ñƒ"
 
-#: aarch64-opc.c:2329
+#: aarch64-opc.c:2336
 msgid "shift amount must be 0 or 8"
 msgstr "Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° Ð·Ñ�ÑƒÐ²Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 8"
 
-#: aarch64-opc.c:2342
+#: aarch64-opc.c:2349
 msgid "immediate too big for element size"
 msgstr "Ñ�Ñ‚Ð°Ð»Ð° Ð²ÐµÐ»Ð¸Ñ‡Ð½Ð° Ñ” Ð½Ð°Ð´Ñ‚Ð¾ Ð²ÐµÐ»Ð¸ÐºÐ¾ÑŽ Ð´Ð»Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°"
 
-#: aarch64-opc.c:2349
+#: aarch64-opc.c:2356
 msgid "invalid arithmetic immediate"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡Ð½Ð° Ñ�Ñ‚Ð°Ð»Ð°"
 
-#: aarch64-opc.c:2363
+#: aarch64-opc.c:2370
 msgid "floating-point value must be 0.5 or 1.0"
 msgstr "Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼ Ñ–Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0.5 Ð°Ð±Ð¾ 1.0"
 
-#: aarch64-opc.c:2373
+#: aarch64-opc.c:2380
 msgid "floating-point value must be 0.5 or 2.0"
 msgstr "Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼ Ñ–Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0.5 Ð°Ð±Ð¾ 2.0"
 
-#: aarch64-opc.c:2383
+#: aarch64-opc.c:2390
 msgid "floating-point value must be 0.0 or 1.0"
 msgstr "Ñ‡Ð¸Ñ�Ð»Ð¾Ð¼ Ñ–Ð· Ñ€ÑƒÑ…Ð¾Ð¼Ð¾ÑŽ ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0.0 Ð°Ð±Ð¾ 1.0"
 
-#: aarch64-opc.c:2414
+#: aarch64-opc.c:2421
 msgid "invalid replicated MOV immediate"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð° Ñ�Ñ‚Ð°Ð»Ð° Ñƒ MOV"
 
-#: aarch64-opc.c:2528
+#: aarch64-opc.c:2536
 msgid "extend operator expected"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ�"
 
-#: aarch64-opc.c:2541
+#: aarch64-opc.c:2549
 msgid "missing extend operator"
 msgstr "Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ�"
 
-#: aarch64-opc.c:2547
+#: aarch64-opc.c:2555
 msgid "'LSL' operator not allowed"
 msgstr "Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Â«LSLÂ» Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
 
-#: aarch64-opc.c:2568
+#: aarch64-opc.c:2576
 msgid "W register expected"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ W"
 
-#: aarch64-opc.c:2579
+#: aarch64-opc.c:2587
 msgid "shift operator expected"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ Ð·Ñ�ÑƒÐ²Ñƒ"
 
-#: aarch64-opc.c:2586
+#: aarch64-opc.c:2594
 msgid "'ROR' operator not allowed"
 msgstr "Ð’Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Â«RORÂ» Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
 
+#: aarch64-opc.c:3583
+msgid "reading from a write-only register."
+msgstr "Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñ–Ð· Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ."
+
+#: aarch64-opc.c:3585
+msgid "writing to a read-only register."
+msgstr "Ð·Ð°Ð¿Ð¸Ñ� Ð´Ð¾ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ� Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñƒ."
+
 #: alpha-opc.c:154
 msgid "branch operand unaligned"
 msgstr "Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ� Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾"
@@ -280,7 +314,7 @@ msgstr "Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶Ð
 msgid "jump hint unaligned"
 msgstr "Ð¿Ñ€Ð¸Ð²â€™Ñ�Ð·ÐºÑƒ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ Ð½Ðµ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾"
 
-#: arc-dis.c:373
+#: arc-dis.c:377
 msgid ""
 "\n"
 "Warning: disassembly may be wrong due to guessed opcode class choice.\n"
@@ -292,12 +326,12 @@ msgstr ""
 "Ð¡ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð¹Ñ‚ÐµÑ�Ñ� Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -M<ÐºÐ»Ð°Ñ�[,ÐºÐ»Ð°Ñ�]> Ð´Ð»Ñ� Ð²Ð¸Ð±Ð¾Ñ€Ñƒ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¸Ñ… ÐºÐ»Ð°Ñ�Ñ–Ð² ÐºÐ¾Ð´Ñ–Ð² Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ð¹.\n"
 "\t\t\t\t"
 
-#: arc-dis.c:817
+#: arc-dis.c:825
 #, c-format
-msgid "Unrecognised disassembler CPU option: %s\n"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð°: %s\n"
+msgid "unrecognised disassembler CPU option: %s"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ð¾Ñ€Ð°: %s"
 
-#: arc-dis.c:1344
+#: arc-dis.c:1387
 #, c-format
 msgid ""
 "\n"
@@ -308,41 +342,46 @@ msgstr ""
 "Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� ARC Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸\n"
 "Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð° (Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² Ñ�Ð»Ñ–Ð´ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÑŽÐ²Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð°Ð¼Ð¸):\n"
 
-#: arc-dis.c:1356
+#: arc-dis.c:1399
 #, c-format
 msgid "  dsp             Recognize DSP instructions.\n"
 msgstr "  dsp             Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— DSP.\n"
 
-#: arc-dis.c:1358
+#: arc-dis.c:1401
 #, c-format
 msgid "  spfp            Recognize FPX SP instructions.\n"
 msgstr "  spfp            Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— SP FPX.\n"
 
-#: arc-dis.c:1360
+#: arc-dis.c:1403
 #, c-format
 msgid "  dpfp            Recognize FPX DP instructions.\n"
 msgstr "  dpfp            Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— DP FPX.\n"
 
-#: arc-dis.c:1362
+#: arc-dis.c:1405
 #, c-format
 msgid "  quarkse_em      Recognize FPU QuarkSE-EM instructions.\n"
 msgstr "  quarkse_em      Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— QuarkSE-EM FPU.\n"
 
-#: arc-dis.c:1364
+#: arc-dis.c:1407
 #, c-format
 msgid "  fpuda           Recognize double assist FPU instructions.\n"
 msgstr "  fpuda           Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾Ñ— Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ñ– Ð´Ð¾Ð¿Ð¾Ð¼Ñ–Ð¶Ð½Ð¾Ð³Ð¾ FPU.\n"
 
-#: arc-dis.c:1366
+#: arc-dis.c:1409
 #, c-format
 msgid "  fpus            Recognize single precision FPU instructions.\n"
 msgstr "  fpus            Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— FPU Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾Ñ— Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ñ–.\n"
 
-#: arc-dis.c:1368
+#: arc-dis.c:1411
 #, c-format
 msgid "  fpud            Recognize double precision FPU instructions.\n"
 msgstr "  fpud            Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— FPU Ð¿Ð¾Ð´Ð²Ñ–Ð¹Ð½Ð¾Ñ— Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ�Ñ‚Ñ–.\n"
 
+#: arc-dis.c:1413
+#, c-format
+msgid "  hex             Use only hexadecimal number to print immediates.\n"
+msgstr "  hex             Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ ÑˆÑ–Ñ�Ñ‚Ð½Ð°Ð´Ñ†Ñ�Ñ‚ÐºÐ¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ð¿Ñ€Ð¾Ð¼Ñ–Ð¶Ð½Ð¸Ñ….\n"
+
 #: arc-opc.c:41 arc-opc.c:64 arc-opc.c:90
 msgid "LP_COUNT register cannot be used as destination register"
 msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ LP_COUNT Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�Ðº Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
@@ -360,188 +399,192 @@ msgid "operand is not zero"
 msgstr "Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñ” Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼"
 
 #: arc-opc.c:173
-msgid "Register R30 is a limm indicator"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ R30 Ñ” Ñ–Ð½Ð´Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ limm"
+msgid "register R30 is a limm indicator"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ R30 Ñ” Ñ–Ð½Ð´Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ limm"
 
-#: arc-opc.c:192
-msgid "Register must be R0"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R0"
-
-#: arc-opc.c:210
-msgid "Register must be R1"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R1"
-
-#: arc-opc.c:227
-msgid "Register must be R2"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R2"
-
-#: arc-opc.c:244
-msgid "Register must be R3"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R3"
-
-#: arc-opc.c:261
-msgid "Register must be SP"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ SP"
-
-#: arc-opc.c:278
-msgid "Register must be GP"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ GP"
-
-#: arc-opc.c:295
-msgid "Register must be PCL"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ PCL"
-
-#: arc-opc.c:312
-msgid "Register must be BLINK"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ BLINK"
-
-#: arc-opc.c:329
-msgid "Register must be ILINK1"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ILINK1"
-
-#: arc-opc.c:346
-msgid "Register must be ILINK2"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ILINK2"
+#: arc-opc.c:175
+msgid "register out of range"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑ�Ñ‚Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
+
+#: arc-opc.c:194
+msgid "register must be R0"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R0"
+
+#: arc-opc.c:212
+msgid "register must be R1"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R1"
+
+#: arc-opc.c:229
+msgid "register must be R2"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R2"
+
+#: arc-opc.c:246
+msgid "register must be R3"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ R3"
+
+#: arc-opc.c:263
+msgid "register must be SP"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ SP"
+
+#: arc-opc.c:280
+msgid "register must be GP"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ GP"
+
+#: arc-opc.c:297
+msgid "register must be PCL"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ PCL"
+
+#: arc-opc.c:314
+msgid "register must be BLINK"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ BLINK"
+
+#: arc-opc.c:331
+msgid "register must be ILINK1"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ILINK1"
+
+#: arc-opc.c:348
+msgid "register must be ILINK2"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ILINK2"
 
 #. ARC NPS400 Support: See comment near head of file.
-#: arc-opc.c:377 arc-opc.c:415 arc-opc.c:453 arc-opc.c:718
-msgid "Register must be either r0-r3 or r12-r15"
-msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ r0-r3 Ð°Ð±Ð¾ r12-r15"
-
-#: arc-opc.c:504
-msgid "Accepted values are from -1 to 6"
-msgstr "ÐŸÑ€Ð¸Ð¹Ð½Ñ�Ñ‚Ð½Ð¸Ð¼ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´ -1 Ð´Ð¾ 6"
-
-#: arc-opc.c:533
-msgid "First register of the range should be r13"
-msgstr "ÐŸÐµÑ€ÑˆÐ¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ r13"
+#: arc-opc.c:379 arc-opc.c:417 arc-opc.c:455 arc-opc.c:720
+msgid "register must be either r0-r3 or r12-r15"
+msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ r0-r3 Ð°Ð±Ð¾ r12-r15"
+
+#: arc-opc.c:506
+msgid "accepted values are from -1 to 6"
+msgstr "Ð¿Ñ€Ð¸Ð¹Ð½Ñ�Ñ‚Ð½Ð¸Ð¼ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ñ” Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð²Ñ–Ð´ -1 Ð´Ð¾ 6"
 
 #: arc-opc.c:535
-msgid "Last register of the range doesn't fit"
-msgstr "ÐžÑ�Ñ‚Ð°Ð½Ð½Ñ–Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ñ” Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¼"
+msgid "first register of the range should be r13"
+msgstr "Ð¿ÐµÑ€ÑˆÐ¸Ð¼ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð¼ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ r13"
 
-#: arc-opc.c:555 arc-opc.c:570
-msgid "Invalid register number, should be fp"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ fp"
-
-#: arc-opc.c:592
-msgid "Invalid register number, should be blink"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ blink"
-
-#: arc-opc.c:614
-msgid "Invalid register number, should be pcl"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ pcl"
-
-#: arc-opc.c:766
-msgid "Invalid size, should be 1, 2, 4, or 8"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 1, 2, 4 Ð°Ð±Ð¾ 8"
+#: arc-opc.c:537
+msgid "last register of the range doesn't fit"
+msgstr "Ð¾Ñ�Ñ‚Ð°Ð½Ð½Ñ–Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ñ” Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¼"
+
+#: arc-opc.c:557 arc-opc.c:572
+msgid "invalid register number, should be fp"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ fp"
+
+#: arc-opc.c:594
+msgid "invalid register number, should be blink"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ blink"
+
+#: arc-opc.c:616
+msgid "invalid register number, should be pcl"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ pcl"
+
+#: arc-opc.c:768
+msgid "invalid size, should be 1, 2, 4, or 8"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 1, 2, 4 Ð°Ð±Ð¾ 8"
 
-#: arc-opc.c:811
+#: arc-opc.c:813
 msgid "invalid immediate, must be 1, 2, or 4"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ�Ñ‚Ð°Ð»Ð°, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 1, 2 Ð°Ð±Ð¾ 4"
 
-#: arc-opc.c:850
+#: arc-opc.c:852
 msgid "invalid value for CMEM ld/st immediate"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð´Ð»Ñ� ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð¸ ld/st CMEM"
 
-#: arc-opc.c:877
-msgid "Invalid position, should be 0, 16, 32, 48 or 64."
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0, 16, 32, 48 Ð°Ð±Ð¾ 64."
-
-#: arc-opc.c:911
-msgid "Invalid position, should be 16, 32, 64 or 128."
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 16, 32, 64 Ð°Ð±Ð¾ 128."
-
-#: arc-opc.c:933
-msgid "Invalid size value must be on range 1-64."
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 1 Ð´Ð¾ 64."
-
-#: arc-opc.c:964
-msgid "Invalid position, should be 0, 8, 16, or 24"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0, 8, 16 Ð°Ð±Ð¾ 24"
-
-#: arc-opc.c:989
-msgid "Invalid size, value must be "
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ "
+#: arc-opc.c:879
+msgid "invalid position, should be 0, 16, 32, 48 or 64."
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0, 16, 32, 48 Ð°Ð±Ð¾ 64."
+
+#: arc-opc.c:913
+msgid "invalid position, should be 16, 32, 64 or 128."
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 16, 32, 64 Ð°Ð±Ð¾ 128."
+
+#: arc-opc.c:935
+msgid "invalid size value must be on range 1-64."
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 1 Ð´Ð¾ 64."
+
+#: arc-opc.c:966
+msgid "invalid position, should be 0, 8, 16, or 24"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0, 8, 16 Ð°Ð±Ð¾ 24"
+
+#: arc-opc.c:991
+msgid "invalid size, value must be "
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ "
 
-#: arc-opc.c:1063
+#: arc-opc.c:1065
 msgid "value out of range 1 - 256"
 msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ 1 Ð´Ð¾ 256"
 
-#: arc-opc.c:1072
+#: arc-opc.c:1074
 msgid "value must be power of 2"
 msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ñ�Ñ‚ÐµÐ¿ÐµÐ½ÐµÐ¼ 2"
 
-#: arc-opc.c:1125
-msgid "Value must be in the range 0 to 28"
-msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 28"
-
-#: arc-opc.c:1147
-msgid "Value must be in the range 1 to "
-msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 1 Ð´Ð¾ "
-
-#: arc-opc.c:1177
-msgid "Value must be in the range 0 to 240"
-msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 240"
+#: arc-opc.c:1127
+msgid "value must be in the range 0 to 28"
+msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 28"
+
+#: arc-opc.c:1149
+msgid "value must be in the range 1 to "
+msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 1 Ð´Ð¾ "
 
 #: arc-opc.c:1179
-msgid "Value must be a multiple of 16"
-msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ 16"
+msgid "value must be in the range 0 to 240"
+msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 240"
 
-#: arc-opc.c:1199
-msgid "Invalid address type for operand"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ð´Ð»Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°"
-
-#: arc-opc.c:1233
-msgid "Value must be in the range 0 to 31"
-msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 31"
-
-#: arc-opc.c:1258
-msgid "Invalid position, should be 0,4, 8,...124."
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0, 4, 8, ... 124."
+#: arc-opc.c:1181
+msgid "value must be a multiple of 16"
+msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ ÐºÑ€Ð°Ñ‚Ð½Ð¸Ð¼ Ð´Ð¾ 16"
+
+#: arc-opc.c:1201
+msgid "invalid address type for operand"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ð´Ð»Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°"
+
+#: arc-opc.c:1235
+msgid "value must be in the range 0 to 31"
+msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ 0 Ð´Ð¾ 31"
+
+#: arc-opc.c:1260
+msgid "invalid position, should be one of: 0,4,8,...124."
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ�, Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð¾Ð´Ð½Ðµ Ð· Ñ‚Ð°ÐºÐ¸Ñ… Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ: 0,4,8,...124."
 
-#: arm-dis.c:3202
+#: arm-dis.c:3229
 msgid "Select raw register names"
 msgstr "Ð’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð¿Ñ€Ð¾Ñ�Ñ‚Ñ– Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²"
 
-#: arm-dis.c:3204
+#: arm-dis.c:3231
 msgid "Select register names used by GCC"
 msgstr "Ð’Ð¸Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ�ÐºÑ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸Ð¼ÑƒÑ‚ÑŒÑ�Ñ� GCC"
 
-#: arm-dis.c:3206
+#: arm-dis.c:3233
 msgid "Select register names used in ARM's ISA documentation"
 msgstr "Ð’Ð¸Ð±ÐµÑ€Ñ–Ñ‚ÑŒ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ�ÐºÑ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñƒ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ— Ð· ISA ARM"
 
-#: arm-dis.c:3208
+#: arm-dis.c:3235
 msgid "Assume all insns are Thumb insns"
 msgstr "ÐŸÑ€Ð¸Ð¿ÑƒÑ�ÐºÐ°Ñ‚Ð¸, Ñ‰Ð¾ ÑƒÑ�Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ñ” Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�Ð¼Ð¸ Thumb"
 
-#: arm-dis.c:3209
+#: arm-dis.c:3236
 msgid "Examine preceding label to determine an insn's type"
 msgstr "Ð’Ð¸Ð²Ñ‡Ð°Ñ‚Ð¸ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŽ Ð¼Ñ–Ñ‚ÐºÑƒ Ð´Ð»Ñ� Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ‚Ð¸Ð¿Ñƒ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—"
 
-#: arm-dis.c:3210
+#: arm-dis.c:3237
 msgid "Select register names used in the APCS"
 msgstr "Ð’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð² APCS"
 
-#: arm-dis.c:3212
+#: arm-dis.c:3239
 msgid "Select register names used in the ATPCS"
 msgstr "Ð’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð² ATPCS"
 
-#: arm-dis.c:3214
+#: arm-dis.c:3241
 msgid "Select special register names used in the ATPCS"
 msgstr "Ð’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ñ‰Ð¾ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ð² ATPCS"
 
-#: arm-dis.c:3612
+#: arm-dis.c:3639
 msgid "<illegal precision>"
 msgstr "<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ‚Ð¾Ñ‡Ð½Ñ–Ñ�Ñ‚ÑŒ>"
 
-#: arm-dis.c:6125
+#: arm-dis.c:6149
 #, c-format
-msgid "Unrecognised register name set: %s\n"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð½Ð°Ð±Ñ–Ñ€ Ð½Ð°Ð·Ð² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²: %s\n"
+msgid "unrecognised register name set: %s"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð½Ð°Ð±Ñ–Ñ€ Ð½Ð°Ð·Ð² Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð²: %s"
 
-#: arm-dis.c:6829
+#: arm-dis.c:6855
 #, c-format
 msgid ""
 "\n"
@@ -557,20 +600,20 @@ msgstr ""
 msgid "undefined"
 msgstr "Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: avr-dis.c:215
+#: avr-dis.c:216
 #, c-format
-msgid "Internal disassembler error"
-msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°"
+msgid "internal disassembler error"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°"
 
-#: avr-dis.c:268
+#: avr-dis.c:270
 #, c-format
 msgid "unknown constraint `%c'"
 msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ� Â«%cÂ»"
 
-#: cgen-asm.c:351 epiphany-ibld.c:200 fr30-ibld.c:200 frv-ibld.c:200
-#: ip2k-ibld.c:200 iq2000-ibld.c:200 lm32-ibld.c:200 m32c-ibld.c:200
-#: m32r-ibld.c:200 mep-ibld.c:200 mt-ibld.c:200 or1k-ibld.c:200
-#: xc16x-ibld.c:200 xstormy16-ibld.c:200
+#: cgen-asm.c:351 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
+#: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201
+#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 or1k-ibld.c:201
+#: xc16x-ibld.c:201 xstormy16-ibld.c:201
 #, c-format
 msgid "operand out of range (%ld not between %ld and %ld)"
 msgstr "Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%ld Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¼Ñ–Ð¶ %ld Ñ– %ld)"
@@ -580,7 +623,12 @@ msgstr "Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾
 msgid "operand out of range (%lu not between %lu and %lu)"
 msgstr "Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%lu Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¼Ñ–Ð¶ %lu Ñ– %lu)"
 
-#: d30v-dis.c:254
+#: d30v-dis.c:229
+#, c-format
+msgid "illegal id (%d)"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ (%d)"
+
+#: d30v-dis.c:256
 #, c-format
 msgid "<unknown register %d>"
 msgstr "<Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ %d>"
@@ -596,255 +644,309 @@ msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° 
 msgid "Address 0x%s is out of bounds.\n"
 msgstr "Ð�Ð´Ñ€ÐµÑ�Ð° 0x%s Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ.\n"
 
-#: epiphany-asm.c:67
+#: epiphany-asm.c:68
 msgid "register unavailable for short instructions"
 msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð½ÐµÐ´Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¸Ð¹ Ð´Ð»Ñ� ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ… Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ð¹"
 
-#: epiphany-asm.c:114
+#: epiphany-asm.c:115
 msgid "register name used as immediate value"
 msgstr "Ð½Ð°Ð·Ð²Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¾ Ñ�Ðº Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
 
 #. Don't treat "mov ip,ip" as a move-immediate.
-#: epiphany-asm.c:177 epiphany-asm.c:233
+#: epiphany-asm.c:178 epiphany-asm.c:234
 msgid "register source in immediate move"
 msgstr "Ð´Ð¶ÐµÑ€ÐµÐ»Ð¾ Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ– Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
 
-#: epiphany-asm.c:186
+#: epiphany-asm.c:187
 msgid "byte relocation unsupported"
 msgstr "Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð±Ð°Ð¹Ñ‚Ñ–Ð² Ð½Ðµ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾"
 
 #. -- assembler routines inserted here.
 #. -- asm.c
-#: epiphany-asm.c:192 frv-asm.c:971 iq2000-asm.c:55 lm32-asm.c:94
-#: lm32-asm.c:126 lm32-asm.c:156 lm32-asm.c:186 lm32-asm.c:216 lm32-asm.c:246
-#: m32c-asm.c:139 m32c-asm.c:234 m32c-asm.c:275 m32c-asm.c:333 m32c-asm.c:354
-#: m32r-asm.c:52 mep-asm.c:240 mep-asm.c:258 mep-asm.c:273 mep-asm.c:288
-#: mep-asm.c:300 or1k-asm.c:53
+#: epiphany-asm.c:193 frv-asm.c:972 iq2000-asm.c:56 lm32-asm.c:95
+#: lm32-asm.c:127 lm32-asm.c:157 lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247
+#: m32c-asm.c:140 m32c-asm.c:235 m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355
+#: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289
+#: mep-asm.c:301 or1k-asm.c:54
 msgid "missing `)'"
 msgstr "Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Â«)Â»"
 
-#: epiphany-asm.c:269
+#: epiphany-asm.c:270
 msgid "ABORT: unknown operand"
 msgstr "ABORT: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´"
 
-#: epiphany-asm.c:295
+#: epiphany-asm.c:296
 msgid "Not a pc-relative address."
 msgstr "Ð�Ð´Ñ€ÐµÑ�Ð°, Ñ�ÐºÐ° Ð½Ðµ Ñ” Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ð¾ÑŽ Ñ‰Ð¾Ð´Ð¾ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ° ÐºÐ¾Ð¼Ð°Ð½Ð´ (pc)."
 
-#: epiphany-asm.c:454 fr30-asm.c:309 frv-asm.c:1262 ip2k-asm.c:510
-#: iq2000-asm.c:458 lm32-asm.c:348 m32c-asm.c:1583 m32r-asm.c:327
-#: mep-asm.c:1286 mt-asm.c:594 or1k-asm.c:502 xc16x-asm.c:375
-#: xstormy16-asm.c:275
-#, c-format
-msgid "Unrecognized field %d while parsing.\n"
-msgstr "ÐŸÑ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d.\n"
-
-#: epiphany-asm.c:505 fr30-asm.c:360 frv-asm.c:1313 ip2k-asm.c:561
-#: iq2000-asm.c:509 lm32-asm.c:399 m32c-asm.c:1634 m32r-asm.c:378
-#: mep-asm.c:1337 mt-asm.c:645 or1k-asm.c:553 xc16x-asm.c:426
-#: xstormy16-asm.c:326
+#: epiphany-asm.c:456 fr30-asm.c:311 frv-asm.c:1264 ip2k-asm.c:512
+#: iq2000-asm.c:460 lm32-asm.c:350 m32c-asm.c:1585 m32r-asm.c:329
+#: mep-asm.c:1288 mt-asm.c:596 or1k-asm.c:504 xc16x-asm.c:377
+#: xstormy16-asm.c:277
+#, c-format
+msgid "internal error: unrecognized field %d while parsing"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d"
+
+#: epiphany-asm.c:508 fr30-asm.c:363 frv-asm.c:1316 ip2k-asm.c:564
+#: iq2000-asm.c:512 lm32-asm.c:402 m32c-asm.c:1637 m32r-asm.c:381
+#: mep-asm.c:1340 mt-asm.c:648 or1k-asm.c:556 xc16x-asm.c:429
+#: xstormy16-asm.c:329
 msgid "missing mnemonic in syntax string"
 msgstr "Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð°Ð¿Ð¸Ñ�Ñƒ Ñƒ Ñ€Ñ�Ð´ÐºÑƒ Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ�Ñƒ"
 
 #. We couldn't parse it.
-#: epiphany-asm.c:640 epiphany-asm.c:644 epiphany-asm.c:733 epiphany-asm.c:840
-#: fr30-asm.c:495 fr30-asm.c:499 fr30-asm.c:588 fr30-asm.c:695 frv-asm.c:1448
-#: frv-asm.c:1452 frv-asm.c:1541 frv-asm.c:1648 ip2k-asm.c:696 ip2k-asm.c:700
-#: ip2k-asm.c:789 ip2k-asm.c:896 iq2000-asm.c:644 iq2000-asm.c:648
-#: iq2000-asm.c:737 iq2000-asm.c:844 lm32-asm.c:534 lm32-asm.c:538
-#: lm32-asm.c:627 lm32-asm.c:734 m32c-asm.c:1769 m32c-asm.c:1773
-#: m32c-asm.c:1862 m32c-asm.c:1969 m32r-asm.c:513 m32r-asm.c:517
-#: m32r-asm.c:606 m32r-asm.c:713 mep-asm.c:1472 mep-asm.c:1476 mep-asm.c:1565
-#: mep-asm.c:1672 mt-asm.c:780 mt-asm.c:784 mt-asm.c:873 mt-asm.c:980
-#: or1k-asm.c:688 or1k-asm.c:692 or1k-asm.c:781 or1k-asm.c:888 xc16x-asm.c:561
-#: xc16x-asm.c:565 xc16x-asm.c:654 xc16x-asm.c:761 xstormy16-asm.c:461
-#: xstormy16-asm.c:465 xstormy16-asm.c:554 xstormy16-asm.c:661
+#: epiphany-asm.c:643 epiphany-asm.c:647 epiphany-asm.c:736 epiphany-asm.c:843
+#: fr30-asm.c:498 fr30-asm.c:502 fr30-asm.c:591 fr30-asm.c:698 frv-asm.c:1451
+#: frv-asm.c:1455 frv-asm.c:1544 frv-asm.c:1651 ip2k-asm.c:699 ip2k-asm.c:703
+#: ip2k-asm.c:792 ip2k-asm.c:899 iq2000-asm.c:647 iq2000-asm.c:651
+#: iq2000-asm.c:740 iq2000-asm.c:847 lm32-asm.c:537 lm32-asm.c:541
+#: lm32-asm.c:630 lm32-asm.c:737 m32c-asm.c:1772 m32c-asm.c:1776
+#: m32c-asm.c:1865 m32c-asm.c:1972 m32r-asm.c:516 m32r-asm.c:520
+#: m32r-asm.c:609 m32r-asm.c:716 mep-asm.c:1475 mep-asm.c:1479 mep-asm.c:1568
+#: mep-asm.c:1675 mt-asm.c:783 mt-asm.c:787 mt-asm.c:876 mt-asm.c:983
+#: or1k-asm.c:691 or1k-asm.c:695 or1k-asm.c:784 or1k-asm.c:891 xc16x-asm.c:564
+#: xc16x-asm.c:568 xc16x-asm.c:657 xc16x-asm.c:764 xstormy16-asm.c:464
+#: xstormy16-asm.c:468 xstormy16-asm.c:557 xstormy16-asm.c:664
 msgid "unrecognized instruction"
 msgstr "Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�"
 
-#: epiphany-asm.c:687 fr30-asm.c:542 frv-asm.c:1495 ip2k-asm.c:743
-#: iq2000-asm.c:691 lm32-asm.c:581 m32c-asm.c:1816 m32r-asm.c:560
-#: mep-asm.c:1519 mt-asm.c:827 or1k-asm.c:735 xc16x-asm.c:608
-#: xstormy16-asm.c:508
+#: epiphany-asm.c:690 fr30-asm.c:545 frv-asm.c:1498 ip2k-asm.c:746
+#: iq2000-asm.c:694 lm32-asm.c:584 m32c-asm.c:1819 m32r-asm.c:563
+#: mep-asm.c:1522 mt-asm.c:830 or1k-asm.c:738 xc16x-asm.c:611
+#: xstormy16-asm.c:511
 #, c-format
 msgid "syntax error (expected char `%c', found `%c')"
 msgstr "Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° (Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%cÂ», Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¶ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%cÂ»)"
 
-#: epiphany-asm.c:697 fr30-asm.c:552 frv-asm.c:1505 ip2k-asm.c:753
-#: iq2000-asm.c:701 lm32-asm.c:591 m32c-asm.c:1826 m32r-asm.c:570
-#: mep-asm.c:1529 mt-asm.c:837 or1k-asm.c:745 xc16x-asm.c:618
-#: xstormy16-asm.c:518
+#: epiphany-asm.c:700 fr30-asm.c:555 frv-asm.c:1508 ip2k-asm.c:756
+#: iq2000-asm.c:704 lm32-asm.c:594 m32c-asm.c:1829 m32r-asm.c:573
+#: mep-asm.c:1532 mt-asm.c:840 or1k-asm.c:748 xc16x-asm.c:621
+#: xstormy16-asm.c:521
 #, c-format
 msgid "syntax error (expected char `%c', found end of instruction)"
 msgstr "Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° (Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð» Â«%cÂ», Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð¶ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—)"
 
-#: epiphany-asm.c:727 fr30-asm.c:582 frv-asm.c:1535 ip2k-asm.c:783
-#: iq2000-asm.c:731 lm32-asm.c:621 m32c-asm.c:1856 m32r-asm.c:600
-#: mep-asm.c:1559 mt-asm.c:867 or1k-asm.c:775 xc16x-asm.c:648
-#: xstormy16-asm.c:548
+#: epiphany-asm.c:730 fr30-asm.c:585 frv-asm.c:1538 ip2k-asm.c:786
+#: iq2000-asm.c:734 lm32-asm.c:624 m32c-asm.c:1859 m32r-asm.c:603
+#: mep-asm.c:1562 mt-asm.c:870 or1k-asm.c:778 xc16x-asm.c:651
+#: xstormy16-asm.c:551
 msgid "junk at end of line"
 msgstr "Ð·Ð°Ð¹Ð²Ñ– Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¸ Ð½Ð°Ð¿Ñ€Ð¸ÐºÑ–Ð½Ñ†Ñ– Ñ€Ñ�Ð´ÐºÐ°"
 
-#: epiphany-asm.c:839 fr30-asm.c:694 frv-asm.c:1647 ip2k-asm.c:895
-#: iq2000-asm.c:843 lm32-asm.c:733 m32c-asm.c:1968 m32r-asm.c:712
-#: mep-asm.c:1671 mt-asm.c:979 or1k-asm.c:887 xc16x-asm.c:760
-#: xstormy16-asm.c:660
+#: epiphany-asm.c:842 fr30-asm.c:697 frv-asm.c:1650 ip2k-asm.c:898
+#: iq2000-asm.c:846 lm32-asm.c:736 m32c-asm.c:1971 m32r-asm.c:715
+#: mep-asm.c:1674 mt-asm.c:982 or1k-asm.c:890 xc16x-asm.c:763
+#: xstormy16-asm.c:663
 msgid "unrecognized form of instruction"
 msgstr "Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð° Ñ„Ð¾Ñ€Ð¼Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—"
 
-#: epiphany-asm.c:853 fr30-asm.c:708 frv-asm.c:1661 ip2k-asm.c:909
-#: iq2000-asm.c:857 lm32-asm.c:747 m32c-asm.c:1982 m32r-asm.c:726
-#: mep-asm.c:1685 mt-asm.c:993 or1k-asm.c:901 xc16x-asm.c:774
-#: xstormy16-asm.c:674
-#, c-format
-msgid "bad instruction `%.50s...'"
-msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Â«%.50s...Â»"
-
 #: epiphany-asm.c:856 fr30-asm.c:711 frv-asm.c:1664 ip2k-asm.c:912
 #: iq2000-asm.c:860 lm32-asm.c:750 m32c-asm.c:1985 m32r-asm.c:729
 #: mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:904 xc16x-asm.c:777
 #: xstormy16-asm.c:677
 #, c-format
+msgid "bad instruction `%.50s...'"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Â«%.50s...Â»"
+
+#: epiphany-asm.c:859 fr30-asm.c:714 frv-asm.c:1667 ip2k-asm.c:915
+#: iq2000-asm.c:863 lm32-asm.c:753 m32c-asm.c:1988 m32r-asm.c:732
+#: mep-asm.c:1691 mt-asm.c:999 or1k-asm.c:907 xc16x-asm.c:780
+#: xstormy16-asm.c:680
+#, c-format
 msgid "bad instruction `%.50s'"
 msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ� Â«%.50sÂ»"
 
+#: epiphany-desc.c:2109
+#, c-format
+msgid "internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: epiphany_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: epiphany-desc.c:2192
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: epiphany_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: epiphany-desc.c:2211
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: epiphany_cgen_cpu_open: Ð½Ðµ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´ÐºÑƒ Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
 #. Default text to print if an instruction isn't recognized.
-#: epiphany-dis.c:40 fr30-dis.c:40 frv-dis.c:40 ip2k-dis.c:40 iq2000-dis.c:40
-#: lm32-dis.c:40 m32c-dis.c:40 m32r-dis.c:40 mep-dis.c:40 mmix-dis.c:276
-#: mt-dis.c:40 nds32-dis.c:39 or1k-dis.c:40 xc16x-dis.c:40 xstormy16-dis.c:40
+#: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41
+#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:275
+#: mt-dis.c:41 nds32-dis.c:39 or1k-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41
 msgid "*unknown*"
 msgstr "*Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð°*"
 
-#: epiphany-dis.c:277 fr30-dis.c:298 frv-dis.c:395 ip2k-dis.c:287
-#: iq2000-dis.c:188 lm32-dis.c:146 m32c-dis.c:890 m32r-dis.c:278
-#: mep-dis.c:1186 mt-dis.c:289 or1k-dis.c:140 xc16x-dis.c:419
-#: xstormy16-dis.c:167
-#, c-format
-msgid "Unrecognized field %d while printing insn.\n"
-msgstr "Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—.\n"
-
-#: epiphany-ibld.c:163 fr30-ibld.c:163 frv-ibld.c:163 ip2k-ibld.c:163
-#: iq2000-ibld.c:163 lm32-ibld.c:163 m32c-ibld.c:163 m32r-ibld.c:163
-#: mep-ibld.c:163 mt-ibld.c:163 or1k-ibld.c:163 xc16x-ibld.c:163
-#: xstormy16-ibld.c:163
+#: epiphany-dis.c:279 fr30-dis.c:300 frv-dis.c:397 ip2k-dis.c:289
+#: iq2000-dis.c:190 lm32-dis.c:148 m32c-dis.c:892 m32r-dis.c:280
+#: mep-dis.c:1188 mt-dis.c:291 or1k-dis.c:142 xc16x-dis.c:421
+#: xstormy16-dis.c:169
+#, c-format
+msgid "internal error: unrecognized field %d while printing insn"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—"
+
+#: epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164 ip2k-ibld.c:164
+#: iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164
+#: mep-ibld.c:164 mt-ibld.c:164 or1k-ibld.c:164 xc16x-ibld.c:164
+#: xstormy16-ibld.c:164
 #, c-format
 msgid "operand out of range (%ld not between %ld and %lu)"
 msgstr "Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ (%ld Ð½Ðµ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ” Ð¼Ñ–Ð¶ %ld Ñ– %lu)"
 
-#: epiphany-ibld.c:184 fr30-ibld.c:184 frv-ibld.c:184 ip2k-ibld.c:184
-#: iq2000-ibld.c:184 lm32-ibld.c:184 m32c-ibld.c:184 m32r-ibld.c:184
-#: mep-ibld.c:184 mt-ibld.c:184 or1k-ibld.c:184 xc16x-ibld.c:184
-#: xstormy16-ibld.c:184
+#: epiphany-ibld.c:185 fr30-ibld.c:185 frv-ibld.c:185 ip2k-ibld.c:185
+#: iq2000-ibld.c:185 lm32-ibld.c:185 m32c-ibld.c:185 m32r-ibld.c:185
+#: mep-ibld.c:185 mt-ibld.c:185 or1k-ibld.c:185 xc16x-ibld.c:185
+#: xstormy16-ibld.c:185
 #, c-format
 msgid "operand out of range (0x%lx not between 0 and 0x%lx)"
 msgstr "Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (0x%lx Ð½Ðµ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¼Ñ–Ð¶ 0 Ñ– 0x%lx)"
 
-#: epiphany-ibld.c:878 fr30-ibld.c:733 frv-ibld.c:859 ip2k-ibld.c:610
-#: iq2000-ibld.c:716 lm32-ibld.c:637 m32c-ibld.c:1734 m32r-ibld.c:668
-#: mep-ibld.c:1211 mt-ibld.c:752 or1k-ibld.c:649 xc16x-ibld.c:755
-#: xstormy16-ibld.c:681
-#, c-format
-msgid "Unrecognized field %d while building insn.\n"
-msgstr "Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—.\n"
-
-#: epiphany-ibld.c:1172 fr30-ibld.c:938 frv-ibld.c:1176 ip2k-ibld.c:685
-#: iq2000-ibld.c:891 lm32-ibld.c:741 m32c-ibld.c:2895 m32r-ibld.c:805
-#: mep-ibld.c:1810 mt-ibld.c:972 or1k-ibld.c:754 xc16x-ibld.c:975
-#: xstormy16-ibld.c:827
-#, c-format
-msgid "Unrecognized field %d while decoding insn.\n"
-msgstr "Ð�ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—.\n"
-
-#: epiphany-ibld.c:1315 fr30-ibld.c:1084 frv-ibld.c:1454 ip2k-ibld.c:759
-#: iq2000-ibld.c:1022 lm32-ibld.c:830 m32c-ibld.c:3512 m32r-ibld.c:918
-#: mep-ibld.c:2280 mt-ibld.c:1172 or1k-ibld.c:837 xc16x-ibld.c:1196
-#: xstormy16-ibld.c:937
-#, c-format
-msgid "Unrecognized field %d while getting int operand.\n"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ñ†Ñ–Ð»Ð¾Ð³Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°.\n"
-
-#: epiphany-ibld.c:1440 fr30-ibld.c:1212 frv-ibld.c:1714 ip2k-ibld.c:815
-#: iq2000-ibld.c:1135 lm32-ibld.c:901 m32c-ibld.c:4111 m32r-ibld.c:1013
-#: mep-ibld.c:2732 mt-ibld.c:1354 or1k-ibld.c:902 xc16x-ibld.c:1399
-#: xstormy16-ibld.c:1029
-#, c-format
-msgid "Unrecognized field %d while getting vma operand.\n"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° vma.\n"
-
-#: epiphany-ibld.c:1572 fr30-ibld.c:1343 frv-ibld.c:1981 ip2k-ibld.c:874
-#: iq2000-ibld.c:1255 lm32-ibld.c:979 m32c-ibld.c:4698 m32r-ibld.c:1114
-#: mep-ibld.c:3145 mt-ibld.c:1543 or1k-ibld.c:974 xc16x-ibld.c:1603
-#: xstormy16-ibld.c:1128
-#, c-format
-msgid "Unrecognized field %d while setting int operand.\n"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ñ†Ñ–Ð»Ð¾Ð³Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°.\n"
-
-#: epiphany-ibld.c:1694 fr30-ibld.c:1464 frv-ibld.c:2238 ip2k-ibld.c:923
-#: iq2000-ibld.c:1365 lm32-ibld.c:1047 m32c-ibld.c:5275 m32r-ibld.c:1205
-#: mep-ibld.c:3548 mt-ibld.c:1722 or1k-ibld.c:1036 xc16x-ibld.c:1797
-#: xstormy16-ibld.c:1217
+#: epiphany-ibld.c:880 fr30-ibld.c:735 frv-ibld.c:861 ip2k-ibld.c:612
+#: iq2000-ibld.c:718 lm32-ibld.c:639 m32c-ibld.c:1736 m32r-ibld.c:670
+#: mep-ibld.c:1213 mt-ibld.c:754 or1k-ibld.c:651 xc16x-ibld.c:757
+#: xstormy16-ibld.c:683
+#, c-format
+msgid "internal error: unrecognized field %d while building insn"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—"
+
+#: epiphany-ibld.c:1175 fr30-ibld.c:941 frv-ibld.c:1179 ip2k-ibld.c:688
+#: iq2000-ibld.c:894 lm32-ibld.c:744 m32c-ibld.c:2898 m32r-ibld.c:808
+#: mep-ibld.c:1813 mt-ibld.c:975 or1k-ibld.c:757 xc16x-ibld.c:978
+#: xstormy16-ibld.c:830
+#, c-format
+msgid "internal error: unrecognized field %d while decoding insn"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÑ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—"
+
+#: epiphany-ibld.c:1319 fr30-ibld.c:1088 frv-ibld.c:1458 ip2k-ibld.c:763
+#: iq2000-ibld.c:1026 lm32-ibld.c:834 m32c-ibld.c:3516 m32r-ibld.c:922
+#: mep-ibld.c:2284 mt-ibld.c:1176 or1k-ibld.c:841 xc16x-ibld.c:1200
+#: xstormy16-ibld.c:941
+#, c-format
+msgid "internal error: unrecognized field %d while getting int operand"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ñ†Ñ–Ð»Ð¾Ð³Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°"
+
+#: epiphany-ibld.c:1445 fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820
+#: iq2000-ibld.c:1140 lm32-ibld.c:906 m32c-ibld.c:4116 m32r-ibld.c:1018
+#: mep-ibld.c:2737 mt-ibld.c:1359 or1k-ibld.c:907 xc16x-ibld.c:1404
+#: xstormy16-ibld.c:1034
+#, c-format
+msgid "internal error: unrecognized field %d while getting vma operand"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° vma"
+
+#: epiphany-ibld.c:1578 fr30-ibld.c:1349 frv-ibld.c:1987 ip2k-ibld.c:880
+#: iq2000-ibld.c:1261 lm32-ibld.c:985 m32c-ibld.c:4704 m32r-ibld.c:1120
+#: mep-ibld.c:3151 mt-ibld.c:1549 or1k-ibld.c:980 xc16x-ibld.c:1609
+#: xstormy16-ibld.c:1134
+#, c-format
+msgid "internal error: unrecognized field %d while setting int operand"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ñ†Ñ–Ð»Ð¾Ð³Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°"
+
+#: epiphany-ibld.c:1701 fr30-ibld.c:1471 frv-ibld.c:2245 ip2k-ibld.c:930
+#: iq2000-ibld.c:1372 lm32-ibld.c:1054 m32c-ibld.c:5282 m32r-ibld.c:1212
+#: mep-ibld.c:3555 mt-ibld.c:1729 or1k-ibld.c:1043 xc16x-ibld.c:1804
+#: xstormy16-ibld.c:1224
 #, c-format
-msgid "Unrecognized field %d while setting vma operand.\n"
-msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° vma.\n"
+msgid "internal error: unrecognized field %d while setting vma operand"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ %d Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° vma"
 
-#: fr30-asm.c:92 m32c-asm.c:871 m32c-asm.c:878
+#: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879
 msgid "Register number is not valid"
 msgstr "Ð�Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð½Ðµ Ñ” ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼"
 
-#: fr30-asm.c:94
+#: fr30-asm.c:95
 msgid "Register must be between r0 and r7"
 msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ r0 Ð´Ð¾ r7"
 
-#: fr30-asm.c:96
+#: fr30-asm.c:97
 msgid "Register must be between r8 and r15"
 msgstr "Ð ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð¼Ð°Ñ” Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ñ‚Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð²Ñ–Ð´ r8 Ð´Ð¾ r15"
 
-#: fr30-asm.c:115 m32c-asm.c:909
+#: fr30-asm.c:116 m32c-asm.c:910
 msgid "Register list is not valid"
 msgstr "Ð¡Ð¿Ð¸Ñ�Ð¾Ðº Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼"
 
-#: frv-asm.c:607
+#: fr30-desc.c:1586
+#, c-format
+msgid "internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: fr30_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: fr30-desc.c:1669
+#, c-format
+msgid "internal error: fr30_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: fr30_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: fr30-desc.c:1688
+#, c-format
+msgid "internal error: fr30_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: fr30_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#: frv-asm.c:608
 msgid "missing `]'"
 msgstr "Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Â«]Â»"
 
-#: frv-asm.c:610 frv-asm.c:620
+#: frv-asm.c:611 frv-asm.c:621
 msgid "Special purpose register number is out of range"
 msgstr "Ð�Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ñ�Ð¿ÐµÑ†Ñ–Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
 
-#: frv-asm.c:907
+#: frv-asm.c:908
 msgid "Value of A operand must be 0 or 1"
 msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° A Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ 0 Ð°Ð±Ð¾ 1"
 
-#: frv-asm.c:943
+#: frv-asm.c:944
 msgid "register number must be even"
 msgstr "Ð½Ð¾Ð¼ÐµÑ€ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¿Ð°Ñ€Ð½Ð¸Ð¼"
 
-#: h8300-dis.c:313
+#: frv-desc.c:6326
 #, c-format
-msgid "Hmmmm 0x%x"
-msgstr "Ð“-Ð¼-Ð¼, 0x%x"
+msgid "internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: frv_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
 
-#: h8300-dis.c:690
+#: frv-desc.c:6409
 #, c-format
-msgid "Don't understand 0x%x \n"
-msgstr "Ð�ÐµÐ·Ñ€Ð¾Ð·ÑƒÐ¼Ñ–Ð»Ðµ 0x%x \n"
+msgid "internal error: frv_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: frv_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: frv-desc.c:6428
+#, c-format
+msgid "internal error: frv_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: frv_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#: frv-opc.c:459
+#, c-format
+msgid "internal error: bad vliw->next_slot value"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� vliw->next_slot"
 
-#: h8500-dis.c:123
+#: frv-opc.c:769
 #, c-format
-msgid "can't cope with insert %d\n"
-msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ Ð²Ñ�Ñ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ� %d\n"
+msgid "internal error: bad major code"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ ÐºÐ¾Ð´ major"
 
-#. Couldn't understand anything.
-#: h8500-dis.c:323
+#: frv-opc.c:819
 #, c-format
-msgid "%02x\t\t*unknown*"
-msgstr "%02x\t\t*Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾*"
+msgid "internal error: bad insn unit"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ insn"
 
-#: i386-dis.c:12280
+#: h8300-dis.c:63
+#, c-format
+msgid "internal error, h8_disassemble_init"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, h8_disassemble_init"
+
+#: h8300-dis.c:314
+#, c-format
+msgid "Hmmmm 0x%x"
+msgstr "Ð“-Ð¼-Ð¼, 0x%x"
+
+#: h8300-dis.c:691
+#, c-format
+msgid "Don't understand 0x%x \n"
+msgstr "Ð�ÐµÐ·Ñ€Ð¾Ð·ÑƒÐ¼Ñ–Ð»Ðµ 0x%x \n"
+
+#: i386-dis.c:12405
 msgid "<internal disassembler error>"
 msgstr "<Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°>"
 
-#: i386-dis.c:12579
+#: i386-dis.c:12700
 #, c-format
 msgid ""
 "\n"
@@ -855,32 +957,32 @@ msgstr ""
 "Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� i386/x86-64 Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸\n"
 "Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð° (Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² Ñ�Ð»Ñ–Ð´ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÑŽÐ²Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð°Ð¼Ð¸):\n"
 
-#: i386-dis.c:12583
+#: i386-dis.c:12704
 #, c-format
 msgid "  x86-64      Disassemble in 64bit mode\n"
 msgstr "  x86-64      Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñƒ 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–\n"
 
-#: i386-dis.c:12584
+#: i386-dis.c:12705
 #, c-format
 msgid "  i386        Disassemble in 32bit mode\n"
 msgstr "  i386        Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñƒ 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–\n"
 
-#: i386-dis.c:12585
+#: i386-dis.c:12706
 #, c-format
 msgid "  i8086       Disassemble in 16bit mode\n"
 msgstr "  i8086       Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ñƒ 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð¼Ñƒ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–\n"
 
-#: i386-dis.c:12586
+#: i386-dis.c:12707
 #, c-format
 msgid "  att         Display instruction in AT&T syntax\n"
 msgstr "  att         Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ñƒ Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ�Ñ– AT&T\n"
 
-#: i386-dis.c:12587
+#: i386-dis.c:12708
 #, c-format
 msgid "  intel       Display instruction in Intel syntax\n"
 msgstr "  intel       Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ñƒ Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ�Ñ– Intel\n"
 
-#: i386-dis.c:12588
+#: i386-dis.c:12709
 #, c-format
 msgid ""
 "  att-mnemonic\n"
@@ -889,7 +991,7 @@ msgstr ""
 "  att-mnemonic\n"
 "              Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ñ… AT&T\n"
 
-#: i386-dis.c:12590
+#: i386-dis.c:12711
 #, c-format
 msgid ""
 "  intel-mnemonic\n"
@@ -898,110 +1000,115 @@ msgstr ""
 "  intel-mnemonic\n"
 "              Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ñƒ Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð°Ñ… Intel\n"
 
-#: i386-dis.c:12592
+#: i386-dis.c:12713
 #, c-format
 msgid "  addr64      Assume 64bit address size\n"
 msgstr "  addr64      Ð¿Ñ€Ð¸Ð¿ÑƒÑ�ÐºÐ°Ñ‚Ð¸ 64-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð°Ð´Ñ€ÐµÑ�\n"
 
-#: i386-dis.c:12593
+#: i386-dis.c:12714
 #, c-format
 msgid "  addr32      Assume 32bit address size\n"
 msgstr "  addr32      Ð¿Ñ€Ð¸Ð¿ÑƒÑ�ÐºÐ°Ñ‚Ð¸ 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð°Ð´Ñ€ÐµÑ�\n"
 
-#: i386-dis.c:12594
+#: i386-dis.c:12715
 #, c-format
 msgid "  addr16      Assume 16bit address size\n"
 msgstr "  addr16      Ð¿Ñ€Ð¸Ð¿ÑƒÑ�ÐºÐ°Ñ‚Ð¸ 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð°Ð´Ñ€ÐµÑ�\n"
 
-#: i386-dis.c:12595
+#: i386-dis.c:12716
 #, c-format
 msgid "  data32      Assume 32bit data size\n"
 msgstr "  data32      Ð¿Ñ€Ð¸Ð¿ÑƒÑ�ÐºÐ°Ñ‚Ð¸ 32-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð´Ð°Ð½Ð¸Ñ…\n"
 
-#: i386-dis.c:12596
+#: i386-dis.c:12717
 #, c-format
 msgid "  data16      Assume 16bit data size\n"
 msgstr "  data16      Ð¿Ñ€Ð¸Ð¿ÑƒÑ�ÐºÐ°Ñ‚Ð¸ 16-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ Ð´Ð°Ð½Ð¸Ñ…\n"
 
-#: i386-dis.c:12597
+#: i386-dis.c:12718
 #, c-format
 msgid "  suffix      Always display instruction suffix in AT&T syntax\n"
 msgstr "  suffix      Ð·Ð°Ð²Ð¶Ð´Ð¸ Ð¿Ð¾ÐºÐ°Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñ�ÑƒÑ„Ñ–ÐºÑ� Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ð¹ Ñƒ Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ�Ñ– AT&T\n"
 
-#: i386-dis.c:12598
+#: i386-dis.c:12719
 #, c-format
 msgid "  amd64       Display instruction in AMD64 ISA\n"
 msgstr "  amd64       Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ñƒ Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ�Ñ– ISA AMD64\n"
 
-#: i386-dis.c:12599
+#: i386-dis.c:12720
 #, c-format
 msgid "  intel64     Display instruction in Intel64 ISA\n"
 msgstr "  intel64     Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–ÑŽ Ñƒ Ñ�Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ�Ñ– ISA Intel64\n"
 
-#: i386-dis.c:13150
+#: i386-dis.c:13260
 msgid "64-bit address is disabled"
 msgstr "64-Ð±Ñ–Ñ‚Ð¾Ð²Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð¾"
 
-#: i386-gen.c:683 ia64-gen.c:306
+#: i386-gen.c:730
 #, c-format
-msgid "%s: Error: "
+msgid "%s: error: "
 msgstr "%s: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: "
 
-#: i386-gen.c:847
+#: i386-gen.c:909
 #, c-format
-msgid "%s: %d: Unknown bitfield: %s\n"
+msgid "%s: %d: unknown bitfield: %s\n"
 msgstr "%s: %d: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ: %s\n"
 
-#: i386-gen.c:849
+#: i386-gen.c:911
 #, c-format
-msgid "Unknown bitfield: %s\n"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ: %s\n"
+msgid "unknown bitfield: %s\n"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ Ð±Ñ–Ñ‚Ð¾Ð²Ðµ Ð¿Ð¾Ð»Ðµ: %s\n"
 
-#: i386-gen.c:908
+#: i386-gen.c:974
 #, c-format
-msgid "%s: %d: Missing `)' in bitfield: %s\n"
+msgid "%s: %d: missing `)' in bitfield: %s\n"
 msgstr "%s: %d: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Â«)Â» Ñƒ Ð±Ñ–Ñ‚Ð¾Ð²Ð¾Ð¼Ñƒ Ð¿Ð¾Ð»Ñ–: %s\n"
 
-#: i386-gen.c:1179
+#: i386-gen.c:1275
 #, c-format
 msgid "can't find i386-opc.tbl for reading, errno = %s\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ i386-opc.tbl Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ = %s\n"
 
-#: i386-gen.c:1310
+#: i386-gen.c:1406
 #, c-format
 msgid "can't find i386-reg.tbl for reading, errno = %s\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð½Ð°Ð¹Ñ‚Ð¸ i386-reg.tbl Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�, Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ = %s\n"
 
-#: i386-gen.c:1387
+#: i386-gen.c:1484
 #, c-format
 msgid "can't create i386-init.h, errno = %s\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ i386-init.h, Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ = %s\n"
 
-#: i386-gen.c:1477 ia64-gen.c:2829
+#: i386-gen.c:1574 ia64-gen.c:2829
 #, c-format
 msgid "unable to change directory to \"%s\", errno = %s\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ Ð½Ð° Â«%sÂ», Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ = %s\n"
 
-#: i386-gen.c:1489 i386-gen.c:1492
+#: i386-gen.c:1586 i386-gen.c:1589
 #, c-format
 msgid "CpuMax != %d!\n"
 msgstr "CpuMax != %d!\n"
 
-#: i386-gen.c:1496
+#: i386-gen.c:1593
 #, c-format
 msgid "%d unused bits in i386_cpu_flags.\n"
 msgstr "%d Ð½ÐµÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¸Ñ… Ð±Ñ–Ñ‚Ñ–Ð² Ñƒ i386_cpu_flags.\n"
 
-#: i386-gen.c:1503
+#: i386-gen.c:1600
 #, c-format
 msgid "%d unused bits in i386_operand_type.\n"
 msgstr "%d Ð½ÐµÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð¸Ñ… Ð±Ñ–Ñ‚Ñ–Ð² Ñƒ i386_operand_type.\n"
 
-#: i386-gen.c:1517
+#: i386-gen.c:1614
 #, c-format
 msgid "can't create i386-tbl.h, errno = %s\n"
 msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ñ�Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ i386-tbl.h, Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ = %s\n"
 
+#: ia64-gen.c:306
+#, c-format
+msgid "%s: Error: "
+msgstr "%s: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: "
+
 #: ia64-gen.c:319
 #, c-format
 msgid "%s: Warning: "
@@ -1107,84 +1214,129 @@ msgstr "ÐºÐ¾Ð´ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— %s Ð½Ðµ 
 
 #. We've been passed a w.  Return with an error message so that
 #. cgen will try the next parsing option.
-#: ip2k-asm.c:80
+#: ip2k-asm.c:81
 msgid "W keyword invalid in FR operand slot."
 msgstr "ÐšÐ»ÑŽÑ‡Ð¾Ð²Ðµ Ñ�Ð»Ð¾Ð²Ð¾ W Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼ Ñƒ Ñ�Ð»Ð¾Ñ‚Ñ– Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° FR."
 
 #. Invalid offset present.
-#: ip2k-asm.c:105
+#: ip2k-asm.c:106
 msgid "offset(IP) is not a valid form"
 msgstr "offset(IP) Ñ” Ð½Ðµ ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾ÑŽ Ñ„Ð¾Ñ€Ð¼Ð¾ÑŽ"
 
 #. Found something there in front of (DP) but it's out
 #. of range.
-#: ip2k-asm.c:153
+#: ip2k-asm.c:154
 msgid "(DP) offset out of range."
 msgstr "(DP) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ� Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ�."
 
 #. Found something there in front of (SP) but it's out
 #. of range.
-#: ip2k-asm.c:194
+#: ip2k-asm.c:195
 msgid "(SP) offset out of range."
 msgstr "(SP) Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ� Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ�."
 
-#: ip2k-asm.c:210
+#: ip2k-asm.c:211
 msgid "illegal use of parentheses"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð´ÑƒÐ¶ÐºÐ¸"
 
-#: ip2k-asm.c:217
+#: ip2k-asm.c:218
 msgid "operand out of range (not between 1 and 255)"
 msgstr "Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ (Ð½Ðµ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¼Ñ–Ð¶ 1 Ñ– 255)"
 
 #. Something is very wrong. opindex has to be one of the above.
-#: ip2k-asm.c:241
+#: ip2k-asm.c:242
 msgid "parse_addr16: invalid opindex."
 msgstr "parse_addr16: Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ—."
 
-#: ip2k-asm.c:295
+#: ip2k-asm.c:296
 msgid "Byte address required. - must be even."
 msgstr "ÐŸÐ¾Ñ‚Ñ€Ñ–Ð±Ð½Ð° Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð° Ð°Ð´Ñ€ÐµÑ�Ð°. - Ð¼Ð°Ñ” Ð±ÑƒÑ‚Ð¸ Ð¿Ð°Ñ€Ð½Ð¸Ð¼."
 
-#: ip2k-asm.c:304
+#: ip2k-asm.c:305
 msgid "cgen_parse_address returned a symbol. Literal required."
 msgstr "cgen_parse_address Ð¿Ð¾Ð²ÐµÑ€Ð½ÑƒÑ‚Ð¾ Ñ�Ð¸Ð¼Ð²Ð¾Ð». ÐœÐ°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð¿Ð¾Ð²ÐµÑ€Ð½ÑƒÑ‚Ð¾ Ð»Ñ–Ñ‚ÐµÑ€Ð°Ð»."
 
-#: ip2k-asm.c:359
+#: ip2k-asm.c:360
 msgid "percent-operator operand is not a symbol"
 msgstr "Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ð· Ð²Ñ–Ð´Ñ�Ð¾Ñ‚ÐºÐ¾Ð¼ Ð½Ðµ Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼"
 
-#: ip2k-asm.c:412
+#: ip2k-asm.c:413
 msgid "Attempt to find bit index of 0"
 msgstr "Ð¡Ð¿Ñ€Ð¾Ð±Ð° Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ� 0"
 
-#: iq2000-asm.c:111 iq2000-asm.c:141
+#: ip2k-desc.c:1015
+#, c-format
+msgid "internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: ip2k_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: ip2k-desc.c:1098
+#, c-format
+msgid "internal error: ip2k_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: ip2k_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: ip2k-desc.c:1117
+#, c-format
+msgid "internal error: ip2k_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: ip2k_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#: iq2000-asm.c:112 iq2000-asm.c:142
 msgid "immediate value cannot be register"
 msgstr "Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð²Ð¸Ð¼"
 
-#: iq2000-asm.c:122 iq2000-asm.c:152 lm32-asm.c:69
+#: iq2000-asm.c:123 iq2000-asm.c:153 lm32-asm.c:70
 msgid "immediate value out of range"
 msgstr "Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
 
-#: iq2000-asm.c:181
+#: iq2000-asm.c:182
 msgid "21-bit offset out of range"
 msgstr "21-Ð±Ñ–Ñ‚Ð¾Ð²Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
 
-#: lm32-asm.c:165
+#: iq2000-desc.c:2020
+#, c-format
+msgid "internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: iq2000_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: iq2000-desc.c:2103
+#, c-format
+msgid "internal error: iq2000_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: iq2000_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: iq2000-desc.c:2122
+#, c-format
+msgid "internal error: iq2000_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: iq2000_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#: lm32-asm.c:166
 msgid "expecting gp relative address: gp(symbol)"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ gp: gp(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)"
 
-#: lm32-asm.c:195
+#: lm32-asm.c:196
 msgid "expecting got relative address: got(symbol)"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ got: got(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)"
 
-#: lm32-asm.c:225
+#: lm32-asm.c:226
 msgid "expecting got relative address: gotoffhi16(symbol)"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ got: gotoffhi16(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)"
 
-#: lm32-asm.c:255
+#: lm32-asm.c:256
 msgid "expecting got relative address: gotofflo16(symbol)"
 msgstr "Ð¼Ð°Ð»Ð¾ Ð±ÑƒÑ‚Ð¸ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ñ�Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ got: gotofflo16(Ñ�Ð¸Ð¼Ð²Ð¾Ð»)"
 
+#: lm32-desc.c:1002
+#, c-format
+msgid "internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: lm32_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: lm32-desc.c:1085
+#, c-format
+msgid "internal error: lm32_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: lm32_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: lm32-desc.c:1104
+#, c-format
+msgid "internal error: lm32_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: lm32_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
 #: m10200-dis.c:157 m10300-dis.c:580
 #, c-format
 msgid "unknown\t0x%04lx"
@@ -1195,80 +1347,110 @@ msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ\t0x%04lx"
 msgid "unknown\t0x%02lx"
 msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ\t0x%02lx"
 
-#: m32c-asm.c:116
+#: m32c-asm.c:117
 msgid "imm:6 immediate is out of range"
 msgstr "imm:6 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼"
 
-#: m32c-asm.c:144
+#: m32c-asm.c:145
 #, c-format
 msgid "%dsp8() takes a symbolic address, not a number"
 msgstr "%dsp8() Ð¿Ñ€Ð¸Ð¹Ð¼Ð°Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ñ‡Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ, Ð° Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾"
 
-#: m32c-asm.c:158 m32c-asm.c:162 m32c-asm.c:252
+#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:253
 msgid "dsp:8 immediate is out of range"
 msgstr "dsp:8 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼"
 
-#: m32c-asm.c:183 m32c-asm.c:187
+#: m32c-asm.c:184 m32c-asm.c:188
 msgid "Immediate is out of range -8 to 7"
 msgstr "ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -8 Ð´Ð¾ 7"
 
-#: m32c-asm.c:208 m32c-asm.c:212
+#: m32c-asm.c:209 m32c-asm.c:213
 msgid "Immediate is out of range -7 to 8"
 msgstr "ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -7 Ð´Ð¾ 8"
 
-#: m32c-asm.c:280
+#: m32c-asm.c:281
 #, c-format
 msgid "%dsp16() takes a symbolic address, not a number"
 msgstr "%dsp16() Ð¿Ñ€Ð¸Ð¹Ð¼Ð°Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñ–Ñ‡Ð½Ñƒ Ð°Ð´Ñ€ÐµÑ�Ñƒ, Ð° Ð½Ðµ Ñ‡Ð¸Ñ�Ð»Ð¾"
 
-#: m32c-asm.c:304 m32c-asm.c:311 m32c-asm.c:372
+#: m32c-asm.c:305 m32c-asm.c:312 m32c-asm.c:373
 msgid "dsp:16 immediate is out of range"
 msgstr "dsp:16 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼"
 
-#: m32c-asm.c:398
+#: m32c-asm.c:399
 msgid "dsp:20 immediate is out of range"
 msgstr "dsp:20 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼"
 
-#: m32c-asm.c:424 m32c-asm.c:444
+#: m32c-asm.c:425 m32c-asm.c:445
 msgid "dsp:24 immediate is out of range"
 msgstr "dsp:24 Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼"
 
-#: m32c-asm.c:477
+#: m32c-asm.c:478
 msgid "immediate is out of range 1-2"
 msgstr "ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 1-2"
 
-#: m32c-asm.c:495
+#: m32c-asm.c:496
 msgid "immediate is out of range 1-8"
 msgstr "ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 1-8"
 
-#: m32c-asm.c:513
+#: m32c-asm.c:514
 msgid "immediate is out of range 0-7"
 msgstr "ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 0-7"
 
-#: m32c-asm.c:549
+#: m32c-asm.c:550
 msgid "immediate is out of range 2-9"
 msgstr "ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ 2-9"
 
-#: m32c-asm.c:567
+#: m32c-asm.c:568
 msgid "Bit number for indexing general register is out of range 0-15"
 msgstr "Ð�Ð¾Ð¼ÐµÑ€ Ð±Ñ–Ñ‚Ð° Ð´Ð»Ñ� Ñ–Ð½Ð´ÐµÐºÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ 0-15"
 
-#: m32c-asm.c:605 m32c-asm.c:661
+#: m32c-asm.c:606 m32c-asm.c:662
 msgid "bit,base is out of range"
 msgstr "Ð½Ð°Ð±Ñ–Ñ€ Ð±Ñ–Ñ‚,Ð¾Ñ�Ð½Ð¾Ð²Ð° Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ"
 
-#: m32c-asm.c:612 m32c-asm.c:617 m32c-asm.c:665
+#: m32c-asm.c:613 m32c-asm.c:618 m32c-asm.c:666
 msgid "bit,base out of range for symbol"
 msgstr "Ð½Ð°Ð±Ñ–Ñ€ Ð±Ñ–Ñ‚,Ð¾Ñ�Ð½Ð¾Ð²Ð° Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ Ð´Ð»Ñ� Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ñƒ"
 
-#: m32c-asm.c:801
+#: m32c-asm.c:802
 msgid "not a valid r0l/r0h pair"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¿Ð°Ñ€Ð° r0l/r0h"
 
-#: m32c-asm.c:831
+#: m32c-asm.c:832
 msgid "Invalid size specifier"
 msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ"
 
+#: m32c-desc.c:63033
+#, c-format
+msgid "internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32c_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: m32c-desc.c:63116
+#, c-format
+msgid "internal error: m32c_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32c_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: m32c-desc.c:63135
+#, c-format
+msgid "internal error: m32c_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32c_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#: m32r-desc.c:1365
+#, c-format
+msgid "internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32r_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: m32r-desc.c:1448
+#, c-format
+msgid "internal error: m32r_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32r_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: m32r-desc.c:1467
+#, c-format
+msgid "internal error: m32r_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: m32r_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
 #: m68k-dis.c:1292
 #, c-format
 msgid "<function code %d>"
@@ -1279,50 +1461,60 @@ msgstr "<ÐºÐ¾Ð´ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— %d>"
 msgid "<internal error in opcode table: %s %s>\n"
 msgstr "<Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– ÐºÐ¾Ð´Ñ–Ð² Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ð¹: %s %s>\n"
 
-#: m88k-dis.c:678
-#, c-format
-msgid "# <dis error: %08lx>"
-msgstr "# <Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°: %08lx>"
-
-#: mep-asm.c:128
+#: mep-asm.c:129
 msgid "Only $tp or $13 allowed for this opcode"
 msgstr "Ð”Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ $tp Ð°Ð±Ð¾ $13"
 
-#: mep-asm.c:142
+#: mep-asm.c:143
 msgid "Only $sp or $15 allowed for this opcode"
 msgstr "Ð”Ð»Ñ� Ñ†ÑŒÐ¾Ð³Ð¾ ÐºÐ¾Ð´Ñƒ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ $sp Ð°Ð±Ð¾ $15"
 
-#: mep-asm.c:307 mep-asm.c:503
+#: mep-asm.c:308 mep-asm.c:504
 #, c-format
 msgid "invalid %function() here"
 msgstr "%function() (Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ� Ð· Ð²Ñ–Ð´Ñ�Ð¾Ñ‚ÐºÐ¾Ð¼) Ñ‚ÑƒÑ‚ Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾ÑŽ"
 
-#: mep-asm.c:335
+#: mep-asm.c:336
 msgid "Immediate is out of range -32768 to 32767"
 msgstr "ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -32768 Ð´Ð¾ 32767"
 
-#: mep-asm.c:355
+#: mep-asm.c:356
 msgid "Immediate is out of range 0 to 65535"
 msgstr "ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ 0 Ð´Ð¾ 65535"
 
-#: mep-asm.c:548 mep-asm.c:561
+#: mep-asm.c:549 mep-asm.c:562
 msgid "Immediate is out of range -512 to 511"
 msgstr "ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -512 Ð´Ð¾ 511"
 
-#: mep-asm.c:553 mep-asm.c:562
+#: mep-asm.c:554 mep-asm.c:563
 msgid "Immediate is out of range -128 to 127"
 msgstr "ÐŸÐ¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¿Ð¾Ð·Ð° Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼ Ð²Ñ–Ð´ -128 Ð´Ð¾ 127"
 
-#: mep-asm.c:557
+#: mep-asm.c:558
 msgid "Value is not aligned enough"
 msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñ�Ð½Ð¾"
 
-#: mips-dis.c:1751 mips-dis.c:1977
+#: mep-desc.c:6226
+#, c-format
+msgid "internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mep_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: mep-desc.c:6309
+#, c-format
+msgid "internal error: mep_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mep_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: mep-desc.c:6328
+#, c-format
+msgid "internal error: mep_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mep_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#: mips-dis.c:1758 mips-dis.c:1984
 #, c-format
 msgid "# internal error, undefined operand in `%s %s'"
 msgstr "# Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñƒ Â«%s %sÂ»"
 
-#: mips-dis.c:2553
+#: mips-dis.c:2560
 #, c-format
 msgid ""
 "\n"
@@ -1333,7 +1525,7 @@ msgstr ""
 "Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� MIPS Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸\n"
 "Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð° (Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² Ñ�Ð»Ñ–Ð´ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÑŽÐ²Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð°Ð¼Ð¸):\n"
 
-#: mips-dis.c:2557
+#: mips-dis.c:2564
 #, c-format
 msgid ""
 "\n"
@@ -1342,7 +1534,7 @@ msgstr ""
 "\n"
 "  no-aliases               Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ ÐºÐ°Ð½Ð¾Ð½Ñ–Ñ‡Ð½Ñ– Ñ„Ð¾Ñ€Ð¼Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ð¹.\n"
 
-#: mips-dis.c:2560
+#: mips-dis.c:2567
 #, c-format
 msgid ""
 "\n"
@@ -1351,7 +1543,7 @@ msgstr ""
 "\n"
 "  msa                      Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— MSA.\n"
 
-#: mips-dis.c:2563
+#: mips-dis.c:2570
 #, c-format
 msgid ""
 "\n"
@@ -1360,7 +1552,7 @@ msgstr ""
 "\n"
 "  virt                    Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— ASE.\n"
 
-#: mips-dis.c:2566
+#: mips-dis.c:2573
 #, c-format
 msgid ""
 "\n"
@@ -1371,7 +1563,18 @@ msgstr ""
 "  xpa                      Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— eXtended Physical\n"
 "                           Address (XPA) ASE.\n"
 
-#: mips-dis.c:2570
+#: mips-dis.c:2577
+#, c-format
+msgid ""
+"\n"
+"  ginv                     Recognize the Global INValidate (GINV) ASE\n"
+"                           instructions.\n"
+msgstr ""
+"\n"
+"  ginv                     Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ñ‚Ð¸ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Global INValidate\n"
+"                           (GINV) ASE.\n"
+
+#: mips-dis.c:2581
 #, c-format
 msgid ""
 "\n"
@@ -1383,7 +1586,7 @@ msgstr ""
 "                           Ð¢Ð¸Ð¿Ð¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð½Ð° Ð¾Ñ�Ð½Ð¾Ð²Ñ– Ñ„Ð°Ð¹Ð»Ð°, Ñ‰Ð¾\n"
 "                           Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÑ”Ñ‚ÑŒÑ�Ñ�.\n"
 
-#: mips-dis.c:2574
+#: mips-dis.c:2585
 #, c-format
 msgid ""
 "\n"
@@ -1394,7 +1597,7 @@ msgstr ""
 "  fpr-names=ABI            Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ FPR Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ Ð´Ð¾ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ ABI.\n"
 "                           Ð¢Ð¸Ð¿Ð¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: numeric.\n"
 
-#: mips-dis.c:2578
+#: mips-dis.c:2589
 #, c-format
 msgid ""
 "\n"
@@ -1407,7 +1610,7 @@ msgstr ""
 "                           Ð²ÐºÐ°Ð·Ð°Ð½Ñ–Ð¹ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ–.\n"
 "                           Ð¢Ð¸Ð¿Ð¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð·Ð° Ñ„Ð°Ð¹Ð»Ð¾Ð¼, Ñ�ÐºÐ¸Ð¹ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÑ”Ñ‚ÑŒÑ�Ñ�.\n"
 
-#: mips-dis.c:2583
+#: mips-dis.c:2594
 #, c-format
 msgid ""
 "\n"
@@ -1420,7 +1623,7 @@ msgstr ""
 "                           Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸.\n"
 "                           Ð¢Ð¸Ð¿Ð¾Ð²Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�: Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ”Ñ‚ÑŒÑ�Ñ� Ð·Ð° Ñ„Ð°Ð¹Ð»Ð¾Ð¼, Ñ�ÐºÐ¸Ð¹ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÑ”Ñ‚ÑŒÑ�Ñ�.\n"
 
-#: mips-dis.c:2588
+#: mips-dis.c:2599
 #, c-format
 msgid ""
 "\n"
@@ -1431,7 +1634,7 @@ msgstr ""
 "  reg-names=ABI            Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ GPR Ñ– FPR Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ Ð´Ð¾\n"
 "                           Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ ABI.\n"
 
-#: mips-dis.c:2592
+#: mips-dis.c:2603
 #, c-format
 msgid ""
 "\n"
@@ -1442,7 +1645,7 @@ msgstr ""
 "  reg-names=ARCH           Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð² CP0 Ñ– HWR Ñƒ\n"
 "                           Ð²ÐºÐ°Ð·Ð°Ð½Ñ–Ð¹ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñ–.\n"
 
-#: mips-dis.c:2596
+#: mips-dis.c:2607
 #, c-format
 msgid ""
 "\n"
@@ -1453,7 +1656,7 @@ msgstr ""
 "  Ð£ Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ñ… Ð²Ð¸Ñ‰Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ñ… Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ‚Ð°ÐºÑ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� ABI:\n"
 "   "
 
-#: mips-dis.c:2603
+#: mips-dis.c:2614
 #, c-format
 msgid ""
 "\n"
@@ -1464,25 +1667,30 @@ msgstr ""
 "  Ð£ Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ñ… Ð²Ð¸Ñ‰Ðµ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ñ… Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑ�Ñ� Ñ‚Ð°ÐºÑ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� ARCH:\n"
 "   "
 
-#: mmix-dis.c:34
+#: mmix-dis.c:33
 #, c-format
-msgid "Bad case %d (%s) in %s:%d\n"
-msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ð¸Ð¿Ð°Ð´Ð¾Ðº %d (%s) Ñƒ %s:%d\n"
+msgid "bad case %d (%s) in %s:%d"
+msgstr "Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ð¸Ð¿Ð°Ð´Ð¾Ðº %d (%s) Ñƒ %s:%d"
 
-#: mmix-dis.c:44
+#: mmix-dis.c:42
 #, c-format
-msgid "Internal: Non-debugged code (test-case missing): %s:%d"
-msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ”: Ð½ÐµÐ´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ð¹ ÐºÐ¾Ð´ (Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€Ð¸ÐºÐ»Ð°Ð´Ñƒ Ð´Ð»Ñ� Ñ‚ÐµÑ�Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�): %s:%d"
+msgid "internal: non-debugged code (test-case missing): %s:%d"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ”: Ð½ÐµÐ´Ñ–Ð°Ð³Ð½Ð¾Ñ�Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ð¹ ÐºÐ¾Ð´ (Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€Ð¸ÐºÐ»Ð°Ð´Ñƒ Ð´Ð»Ñ� Ñ‚ÐµÑ�Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�): %s:%d"
 
-#: mmix-dis.c:53
+#: mmix-dis.c:52
 msgid "(unknown)"
 msgstr "(Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾)"
 
-#: mmix-dis.c:511
+#: mmix-dis.c:510
 #, c-format
 msgid "*unknown operands type: %d*"
 msgstr "*Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ‚Ð¸Ð¿ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ñ–Ð²: %d*"
 
+#: msp430-decode.opc:145 rl78-decode.opc:106
+#, c-format
+msgid "internal error: immediate() called with invalid byte count %d"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: immediate() Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ Ñ–Ð· Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¾ÑŽ ÐºÑ–Ð»ÑŒÐºÑ–Ñ�Ñ‚ÑŽ Ð±Ð°Ð¹Ñ‚Ñ–Ð² %d"
+
 #: msp430-dis.c:59
 #, c-format
 msgid "Warning: disassembly unreliable - not enough bytes available"
@@ -1511,22 +1719,126 @@ msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð½ÐµÑ€
 msgid "Warning: reserved use of A/L and B/W bits detected"
 msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ð²Ð¸Ñ�Ð²Ð»ÐµÐ½Ð¾ Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¾Ð²Ð°Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð±Ñ–Ñ‚Ñ–Ð² A/L Ñ– B/W"
 
-#: mt-asm.c:109 mt-asm.c:189
+#: mt-asm.c:110 mt-asm.c:190
 msgid "Operand out of range. Must be between -32768 and 32767."
 msgstr "ÐžÐ¿ÐµÑ€Ð°Ð½Ð´ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð·Ð° Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ð³Ð¾ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ. Ð’Ñ–Ð½ Ð¼Ð°Ñ” Ð½Ð°Ð»ÐµÐ¶Ð°Ñ‚Ð¸ Ð¿Ñ€Ð¾Ð¼Ñ–Ð¶ÐºÑƒ Ð²Ñ–Ð´ -32768 Ð´Ð¾ 32767."
 
-#: mt-asm.c:148
+#: mt-asm.c:149
 msgid "Biiiig Trouble in parse_imm16!"
 msgstr "Ð’Ð•Ð›Ð˜ÐšÐ† Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð¸ Ñƒ parse_imm16!"
 
-#: mt-asm.c:156
+#: mt-asm.c:157
 msgid "The percent-operator's operand is not a symbol"
 msgstr "ÐžÐ¿ÐµÑ€Ð°Ð½Ð´ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° Ð· Ð²Ñ–Ð´Ñ�Ð¾Ñ‚ÐºÐ¾Ð¼ Ð½Ðµ Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼"
 
-#: mt-asm.c:394
+#: mt-asm.c:395
 msgid "invalid operand.  type may have values 0,1,2 only."
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´. Ð¢Ð¸Ð¿ Ð¼Ð¾Ð¶Ðµ Ð¼Ð°Ñ‚Ð¸ Ð»Ð¸ÑˆÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� 0,1,2."
 
+#: mt-desc.c:1146
+#, c-format
+msgid "internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mt_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: mt-desc.c:1229
+#, c-format
+msgid "internal error: mt_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mt_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: mt-desc.c:1248
+#, c-format
+msgid "internal error: mt_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: mt_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#: nds32-asm.c:1508
+#, c-format
+msgid "internal error: unknown operand, %s"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´, %s"
+
+#: nds32-asm.c:2062
+#, c-format
+msgid "internal error: don't know how to handle parsing results"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ�Ð¿Ð¾Ñ�Ñ–Ð± Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ Ð· Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð°Ð¼Ð¸ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸"
+
+#: nds32-asm.c:2070
+#, c-format
+msgid "internal error: unknown hardware resource"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¸Ð¹ Ñ€ÐµÑ�ÑƒÑ€Ñ�"
+
+#: nfp-dis.c:927
+msgid "<invalid_instruction>:"
+msgstr "<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð°_Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�>:"
+
+#: nfp-dis.c:1331
+msgid ", <invalid CRC operator>, "
+msgstr ", <Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ CRC>, "
+
+#: nfp-dis.c:1683
+msgid "<invalid branch>["
+msgstr "<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð³Ñ–Ð»ÐºÐ°>["
+
+#: nfp-dis.c:2052 nfp-dis.c:2323
+#, c-format
+msgid "<invalid cmd target %d:%d:%d>[]"
+msgstr "<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ†Ñ–Ð»ÑŒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ %d:%d:%d>[]"
+
+#: nfp-dis.c:2063 nfp-dis.c:2334
+#, c-format
+msgid "<invalid cmd action %d:%d:%d>[]"
+msgstr "<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð´Ñ–Ñ� ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ %d:%d:%d>[]"
+
+#: nfp-dis.c:2555
+msgid "File has no ME-Config section."
+msgstr "Ð£ Ñ„Ð°Ð¹Ð»Ñ– Ð½ÐµÐ¼Ð°Ñ” Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ ME-Config."
+
+#: nfp-dis.c:2569
+msgid "File has invalid ME-Config section."
+msgstr "Ð£ Ñ„Ð°Ð¹Ð»Ñ– Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€Ð¾Ð·Ð´Ñ–Ð» ME-Config."
+
+#: nfp-dis.c:2711
+#, c-format
+msgid "Error processing section %u "
+msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %u "
+
+#: nfp-dis.c:2740
+#, c-format
+msgid "Invalid NFP option: %s"
+msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ NFP: %s"
+
+#: nfp-dis.c:2972
+#, c-format
+msgid ""
+"\n"
+"The following NFP specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� NFP Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸\n"
+"Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð° (Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² Ñ�Ð»Ñ–Ð´ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÑŽÐ²Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð°Ð¼Ð¸):\n"
+
+#: nfp-dis.c:2976
+#, c-format
+msgid ""
+"\n"
+"  no-pc\t\t    Don't print program counter prefix.\n"
+"  ctx4\t\t    Force disassembly using 4-context mode.\n"
+"  ctx8\t\t    Force 8-context mode, takes presedence.\""
+msgstr ""
+"\n"
+"  no-pc\t\t    Ð½Ðµ Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ� Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ° Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸.\n"
+"  ctx4\t\t    Ð¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ðµ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾ÑŽ 4-ÐºÐ¾Ð½Ñ‚ÐµÐºÑ�Ñ‚Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ.\n"
+"  ctx8\t\t    Ð¿Ñ€Ð¸Ð¼ÑƒÑ�Ð¾Ð²Ð¸Ð¹ 8-ÐºÐ¾Ð½Ñ‚ÐµÐºÑ�Ñ‚Ð½Ð¸Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼, Ð¼Ð°Ñ” Ð¿Ñ€Ñ–Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚."
+
+#: nios2-dis.c:135
+#, c-format
+msgid "out of memory"
+msgstr "Ð½ÐµÐ´Ð¾Ñ�Ñ‚Ð°Ñ‚Ð½ÑŒÐ¾ Ð¿Ð°Ð¼'Ñ�Ñ‚Ñ–"
+
+#: nios2-dis.c:263
+#, c-format
+msgid "internal error: broken opcode descriptor for `%s %s'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¹ Ð´ÐµÑ�ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ñ€ ÐºÐ¾Ð´Ñƒ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ� Â«%s %sÂ»"
+
 #. I and Z are output operands and can`t be immediate
 #. A is an address and we can`t have the address of
 #. an immediate either. We don't know how much to increase
@@ -1537,12 +1849,27 @@ msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð
 msgid "$<undefined>"
 msgstr "$<Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾>"
 
-#: ppc-dis.c:354
+#: or1k-desc.c:1948
+#, c-format
+msgid "internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: or1k_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: or1k-desc.c:2031
 #, c-format
-msgid "warning: ignoring unknown -M%s option\n"
-msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -M%s\n"
+msgid "internal error: or1k_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: or1k_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
 
-#: ppc-dis.c:805
+#: or1k-desc.c:2050
+#, c-format
+msgid "internal error: or1k_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: or1k_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#: ppc-dis.c:363
+#, c-format
+msgid "warning: ignoring unknown -M%s option"
+msgstr "Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ�: Ñ–Ð³Ð½Ð¾Ñ€ÑƒÑ”Ð¼Ð¾ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ -M%s"
+
+#: ppc-dis.c:838
 #, c-format
 msgid ""
 "\n"
@@ -1553,86 +1880,109 @@ msgstr ""
 "Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� PPC Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸\n"
 "Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°:\n"
 
-#: ppc-opc.c:992 ppc-opc.c:1015 ppc-opc.c:1040 ppc-opc.c:1069
+#: ppc-opc.c:52 ppc-opc.c:75 ppc-opc.c:100 ppc-opc.c:129
 msgid "invalid register"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€"
 
-#: ppc-opc.c:1317 ppc-opc.c:1347
+#: ppc-opc.c:382 ppc-opc.c:410
 msgid "invalid conditional option"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° ÑƒÐ¼Ð¾Ð²Ð°"
 
-#: ppc-opc.c:1319 ppc-opc.c:1349
+#: ppc-opc.c:384 ppc-opc.c:412
 msgid "invalid counter access"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿ Ð´Ð¾ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ°"
 
-#: ppc-opc.c:1351
+#: ppc-opc.c:414
 msgid "attempt to set y bit when using + or - modifier"
 msgstr "Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð²Ñ�Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð±Ñ–Ñ‚ y Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð°Ð½Ð½Ñ� Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ð° + Ð°Ð±Ð¾ -"
 
-#: ppc-opc.c:1441
+#: ppc-opc.c:505
 msgid "invalid mask field"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ð»Ðµ Ð¼Ð°Ñ�ÐºÐ¸"
 
-#: ppc-opc.c:1464
+#: ppc-opc.c:528
 msgid "invalid mfcr mask"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð¼Ð°Ñ�ÐºÐ° mfcr"
 
-#: ppc-opc.c:1538 ppc-opc.c:1578
+#: ppc-opc.c:601 ppc-opc.c:641
 msgid "illegal L operand value"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° L"
 
-#: ppc-opc.c:1584
+#: ppc-opc.c:647
 msgid "incompatible L operand value"
 msgstr "Ð½ÐµÑ�ÑƒÐ¼Ñ–Ñ�Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° L"
 
-#: ppc-opc.c:1628 ppc-opc.c:1663
+#: ppc-opc.c:691 ppc-opc.c:726
 msgid "illegal bitmask"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ð±Ñ–Ñ‚Ð¾Ð²Ð° Ð¼Ð°Ñ�ÐºÐ°"
 
-#: ppc-opc.c:1750
+#: ppc-opc.c:813
 msgid "address register in load range"
 msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ð°Ð´Ñ€ÐµÑ�Ð¸ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�"
 
-#: ppc-opc.c:1816
+#: ppc-opc.c:879
 msgid "index register in load range"
 msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ñ–Ð½Ð´ÐµÐºÑ�Ñƒ Ñƒ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ�"
 
-#: ppc-opc.c:1845 ppc-opc.c:1926
+#: ppc-opc.c:908 ppc-opc.c:991
 msgid "source and target register operands must be different"
 msgstr "Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð¾Ð²Ñ– Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð¸ Ð´Ð¶ÐµÑ€ÐµÐ»Ð° Ñ– Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ð¼Ð°ÑŽÑ‚ÑŒ Ð±ÑƒÑ‚Ð¸ Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸"
 
-#: ppc-opc.c:1873
+#: ppc-opc.c:936
 msgid "invalid register operand when updating"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð° Ð¿Ñ–Ð´ Ñ‡Ð°Ñ� Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ�"
 
-#: ppc-opc.c:1989
+#: ppc-opc.c:1054
 msgid "illegal immediate value"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð°"
 
-#: ppc-opc.c:2136
+#: ppc-opc.c:1201
 msgid "invalid sprg number"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ sprg"
 
-#: ppc-opc.c:2173
+#: ppc-opc.c:1238
 msgid "invalid tbr number"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð½Ð¾Ð¼ÐµÑ€ tbr"
 
-#: ppc-opc.c:2317
+#: ppc-opc.c:1381
 msgid "invalid constant"
 msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° ÐºÐ¾Ð½Ñ�Ñ‚Ð°Ð½Ñ‚Ð°"
 
-#. Invalid option.
+#: ppc-opc.c:1486 ppc-opc.c:1513 ppc-opc.c:1540 ppc-opc.c:1567
+msgid "UIMM = 00000 is illegal"
+msgstr "UIMM = 00000 Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼"
+
+#: ppc-opc.c:1594
+msgid "UIMM values >7 are illegal"
+msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� UIMM > 7 Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼Ð¸"
+
+#: ppc-opc.c:1621
+msgid "UIMM values >15 are illegal"
+msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� UIMM > 15 Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼Ð¸"
+
+#: ppc-opc.c:1648
+msgid "GPR odd is illegal"
+msgstr "Ð�ÐµÐ¿Ð°Ñ€Ð½Ðµ GPR Ñ” Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¼"
+
+#: ppc-opc.c:1675 ppc-opc.c:1702
+msgid "invalid offset"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ð¹ Ð·Ñ�ÑƒÐ²"
+
+#: ppc-opc.c:1729
+msgid "invalid Ddd value"
+msgstr "Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ddd"
+
 #: riscv-dis.c:68
 #, c-format
-msgid "Unrecognized disassembler option: %s\n"
-msgstr "Ð�ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�: %s\n"
+msgid "unrecognized disassembler option: %s"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�: %s"
 
-#: riscv-dis.c:344
+#: riscv-dis.c:346
 #, c-format
 msgid "# internal error, undefined modifier (%c)"
 msgstr "# Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ (%c)"
 
-#: riscv-dis.c:496
+#: riscv-dis.c:498
 #, c-format
 msgid ""
 "\n"
@@ -1643,16 +1993,16 @@ msgstr ""
 "Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� RISC-V Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸\n"
 "Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð° (Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² Ñ�Ð»Ñ–Ð´ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÑŽÐ²Ð°Ñ‚Ð¸ ÐºÐ¾Ð¼Ð°Ð¼Ð¸):\n"
 
-#: riscv-dis.c:500
+#: riscv-dis.c:502
 #, c-format
 msgid ""
 "\n"
-"  numeric       Print numeric reigster names, rather than ABI names.\n"
+"  numeric       Print numeric register names, rather than ABI names.\n"
 msgstr ""
 "\n"
 "  numeric       Ð²Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ñ‡Ð¸Ñ�Ð»Ð¾Ð²Ñ– Ð½Ð°Ð·Ð²Ð¸ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–Ð², Ð° Ð½Ðµ Ð½Ð°Ð·Ð²Ð¸ Ð² ABI.\n"
 
-#: riscv-dis.c:503
+#: riscv-dis.c:505
 #, c-format
 msgid ""
 "\n"
@@ -1675,7 +2025,12 @@ msgstr "Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ Ñƒ 
 msgid "Print unknown instructions according to length from first two bits"
 msgstr "Ð’Ð¸Ð²ÐµÑ�Ñ‚Ð¸ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ñ– Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ— Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ Ð´Ð¾ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ Ð· Ð¿ÐµÑ€ÑˆÐ¸Ñ… Ð´Ð²Ð¾Ñ… Ð±Ñ–Ñ‚Ñ–Ð²"
 
-#: s390-dis.c:409
+#: s390-dis.c:76
+#, c-format
+msgid "unknown S/390 disassembler option: %s"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ� S/390: %s"
+
+#: s390-dis.c:410
 #, c-format
 msgid ""
 "\n"
@@ -1691,35 +2046,30 @@ msgstr ""
 msgid "<illegal instruction>"
 msgstr "<Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð° Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ�>"
 
-#: sparc-dis.c:309
-#, c-format
-msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ„Ð°Ð¹Ð»Ñ– sparc-opcode.h: Â«%sÂ», %#.8lx, %#.8lx\n"
-
-#: sparc-dis.c:320
+#: sparc-dis.c:308 sparc-dis.c:318
 #, c-format
-msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ sparc-opcode.h: Â«%sÂ», %#.8lx, %#.8lx\n"
+msgid "internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ„Ð°Ð¹Ð»Ñ– sparc-opcode.h: Â«%sÂ», %#.8lx, %#.8lx\n"
 
-#: sparc-dis.c:379
+#: sparc-dis.c:377
 #, c-format
-msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
-msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ sparc-opcode.h: Â«%sÂ» == Â«%sÂ»\n"
+msgid "internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ sparc-opcode.h: Â«%sÂ» == Â«%sÂ»\n"
 
 #. Mark as non-valid instruction.
-#: sparc-dis.c:1100
+#: sparc-dis.c:1098
 msgid "unknown"
 msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð°"
 
 #: v850-dis.c:453
 #, c-format
-msgid "unknown operand shift: %x\n"
-msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°: %x\n"
+msgid "unknown operand shift: %x"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ð·Ñ�ÑƒÐ² Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°: %x"
 
-#: v850-dis.c:465
+#: v850-dis.c:469
 #, c-format
-msgid "unknown reg: %d\n"
-msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€: %d\n"
+msgid "unknown reg: %d"
+msgstr "Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€: %d"
 
 #. The functions used to insert and extract complicated operands.
 #. Note: There is a conspiracy between these functions and
@@ -1807,70 +2157,115 @@ msgstr ""
 "Ð— Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ñ‡ÐµÐ¼ -M Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ñ‚Ð°ÐºÑ– Ñ�Ð¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ� WebAssembly Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸\n"
 "Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°:\n"
 
-#: xc16x-asm.c:65
+#: xc16x-asm.c:66
 msgid "Missing '#' prefix"
 msgstr "Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«#Â»"
 
-#: xc16x-asm.c:81
+#: xc16x-asm.c:82
 msgid "Missing '.' prefix"
 msgstr "Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«.Â»"
 
-#: xc16x-asm.c:97
+#: xc16x-asm.c:98
 msgid "Missing 'pof:' prefix"
 msgstr "Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«pof:Â»"
 
-#: xc16x-asm.c:113
+#: xc16x-asm.c:114
 msgid "Missing 'pag:' prefix"
 msgstr "Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«pag:Â»"
 
-#: xc16x-asm.c:129
+#: xc16x-asm.c:130
 msgid "Missing 'sof:' prefix"
 msgstr "Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«sof:Â»"
 
-#: xc16x-asm.c:145
+#: xc16x-asm.c:146
 msgid "Missing 'seg:' prefix"
 msgstr "Ð�Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ�Ð° Â«seg:Â»"
 
-#: xstormy16-asm.c:70
+#: xc16x-desc.c:3349
+#, c-format
+msgid "internal error: xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xc16x_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: xc16x-desc.c:3432
+#, c-format
+msgid "internal error: xc16x_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xc16x_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: xc16x-desc.c:3451
+#, c-format
+msgid "internal error: xc16x_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xc16x_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#: xstormy16-asm.c:71
 msgid "Bad register in preincrement"
 msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ñƒ Ð¿ÐµÑ€ÐµÐ´Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ–"
 
-#: xstormy16-asm.c:75
+#: xstormy16-asm.c:76
 msgid "Bad register in postincrement"
 msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€ Ñƒ Ð¿Ñ–Ñ�Ð»Ñ�Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ–"
 
-#: xstormy16-asm.c:77
+#: xstormy16-asm.c:78
 msgid "Bad register name"
 msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð° Ð½Ð°Ð·Ð²Ð° Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°"
 
-#: xstormy16-asm.c:81
+#: xstormy16-asm.c:82
 msgid "Label conflicts with register name"
 msgstr "ÐœÑ–Ñ‚ÐºÐ° ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Ð½Ð°Ð·Ð²Ð¾ÑŽ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ð°"
 
-#: xstormy16-asm.c:85
+#: xstormy16-asm.c:86
 msgid "Label conflicts with `Rx'"
 msgstr "ÐœÑ–Ñ‚ÐºÐ° ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” Ð· Â«RxÂ»"
 
-#: xstormy16-asm.c:87
+#: xstormy16-asm.c:88
 msgid "Bad immediate expression"
 msgstr "ÐŸÐ¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ð¹ Ð²Ð¸Ñ€Ð°Ð· Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
 
-#: xstormy16-asm.c:108
+#: xstormy16-asm.c:109
 msgid "No relocation for small immediate"
 msgstr "Ð�ÐµÐ¼Ð°Ñ” Ð¿ÐµÑ€ÐµÑ�ÑƒÐ²Ð°Ð½Ð½Ñ� Ð´Ð»Ñ� Ð¼Ð°Ð»Ð¾Ð³Ð¾ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�"
 
-#: xstormy16-asm.c:118
+#: xstormy16-asm.c:119
 msgid "Small operand was not an immediate number"
 msgstr "ÐœÐ°Ð»Ð¸Ð¹ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´ Ð½Ðµ Ð±ÑƒÐ² Ñ‡Ð¸Ñ�Ð»Ð¾Ð²Ð¸Ð¼ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ð¼ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ�Ð¼"
 
-#: xstormy16-asm.c:156
+#: xstormy16-asm.c:157
 msgid "Operand is not a symbol"
 msgstr "ÐžÐ¿ÐµÑ€Ð°Ð½Ð´ Ð½Ðµ Ñ” Ñ�Ð¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼"
 
-#: xstormy16-asm.c:164
+#: xstormy16-asm.c:165
 msgid "Syntax error: No trailing ')'"
 msgstr "Ð¡Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð½Ðµ Ð²Ð¸Ñ�Ñ‚Ð°Ñ‡Ð°Ñ” Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Â«)Â»"
 
+#: xstormy16-desc.c:1317
+#, c-format
+msgid "internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xstormy16_cgen_rebuild_tables: ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ insn-chunk-bitsize: Â«%dÂ» Ñ– Â«%dÂ»"
+
+#: xstormy16-desc.c:1400
+#, c-format
+msgid "internal error: xstormy16_cgen_cpu_open: unsupported argument `%d'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xstormy16_cgen_cpu_open: Ð½ÐµÐ¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð¸Ð¹ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Â«%dÂ»"
+
+#: xstormy16-desc.c:1419
+#, c-format
+msgid "internal error: xstormy16_cgen_cpu_open: no endianness specified"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: xstormy16_cgen_cpu_open: Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð¿Ð¾Ñ€Ñ�Ð´Ð¾Ðº Ð±Ð°Ð¹Ñ‚Ñ–Ð²"
+
+#~ msgid "Internal disassembler error"
+#~ msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°"
+
+#~ msgid "can't cope with insert %d\n"
+#~ msgstr "Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ�Ñ� Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ Ð²Ñ�Ñ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ� %d\n"
+
+#~ msgid "%02x\t\t*unknown*"
+#~ msgstr "%02x\t\t*Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾*"
+
+#~ msgid "# <dis error: %08lx>"
+#~ msgstr "# <Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ð´Ð¸Ð·Ð°Ñ�ÐµÐ¼Ð±Ð»ÐµÑ€Ð°: %08lx>"
+
+#~ msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
+#~ msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ� Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñƒ Ñ„Ð°Ð¹Ð»Ñ– sparc-opcode.h: Â«%sÂ», %#.8lx, %#.8lx\n"
+
 #~ msgid "Illegal limm reference in last instruction!\n"
 #~ msgstr "Ð�ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ Ð¿Ð¾Ñ�Ð¸Ð»Ð°Ð½Ð½Ñ� Ñƒ Ð¾Ñ�Ñ‚Ð°Ð½Ð½Ñ–Ð¹ Ñ–Ð½Ñ�Ñ‚Ñ€ÑƒÐºÑ†Ñ–Ñ—!\n"
 
@@ -1880,12 +2275,6 @@ msgstr "Ð¡Ð¸Ð½Ñ‚Ð°ÐºÑ�Ð¸Ñ‡Ð½Ð° Ð¿Ð¾Ð¼Ð¸Ð
 #~ msgid "auxiliary register not allowed here"
 #~ msgstr "Ñ‚ÑƒÑ‚ Ð½Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñ�Ñ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ Ð´Ð¾Ð¿Ð¾Ð¼Ñ–Ð¶Ð½Ð¸Ð¹ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€"
 
-#~ msgid "attempt to set readonly register"
-#~ msgstr "Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�"
-
-#~ msgid "attempt to read writeonly register"
-#~ msgstr "Ñ�Ð¿Ñ€Ð¾Ð±Ð° Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ� Ñƒ Ñ€ÐµÐ³Ñ–Ñ�Ñ‚Ñ€Ñ–, Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð¼Ñƒ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ� Ð·Ð°Ð¿Ð¸Ñ�Ñƒ"
-
 #~ msgid "too many long constants"
 #~ msgstr "Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ Ð±Ð°Ð³Ð°Ñ‚Ð¾ Ð´Ð¾Ð²Ð³Ð¸Ñ… Ñ�Ñ‚Ð°Ð»Ð¸Ñ…"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/zh_CN.gmo ./opcodes/po/zh_CN.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/zh_CN.gmo	2018-07-03 02:10:51.000000000 +0000
+++ ./opcodes/po/zh_CN.gmo	2018-07-10 02:10:39.000000000 +0000
@@ -1,11 +1,9 @@
-Þ•µÄñl01L3K€4Ì½3¿uó7ik¡}
�‹[�x[Žb”ñ(†(¯(Ø1%3%Y1.±?à? (`(‰2²1å?(W€•¢/².â
+Fa{	•	Ÿ©Äßò($Mczš³Ñî*+
-J%U){%¥!Ë!í$4:P9‹0Å+ö*".M|"–¹Ìßõ!7Oh†)˜%Â#è++81d1–+È1ô1& X t #“ "· "Ú  ý %!D!<X!•!°!È!ã!ü!+"="!W""y"+œ" È" é" 
-#+#K#!_#�#‘#©#Ä#Ú#ú#$6$T$r$ƒ$š$"ª$Í$í$
-%%%8%%I%o%…%�%²%É%Ý%ñ%ý%!	&+&$<&%a&‡&¦&2º&2í&2 'S'j'z'—'¤'Á'Þ'%ú' (8(-X(;†(/Â(	ò(ü()!)1)A) Y)z)“)«)øÃ)¼+>¾+=ý+/;,˜k,5-z:-2µ-zè-Tc.l¸.D%/ij/kÔ/k@0s¬0( 1(I1(r1*›1(Æ1(ï1*2'C20k20œ2+Í2+ù2+%3*Q39|3+¶3â3ý3
-404/J4z4‰4˜4²4Ì4á4ù455&5<5N5`5,{5¨5À5Ü5ó5*6*:6e6"{6ž6½6É6"è67*7E7`7~7E—7EÝ76#8-Z84ˆ83½8ñ8	9%979I9^9s9ˆ9�9¹9%É9ï9,:'-:'U:1}:1¯:9á:9;1U;9‡;9Á;û;<#.<"R<"u<˜<0µ<æ<9ü<6=L=g=…=ž='·=ß=ì=ÿ=#>3>J>a>x>Ž>ž>½>Ð>ã>ö>??-?A?U?i?y?	‰?“?¯?¿?Ï?å?û?$@3@F@b@{@”@ª@
À@
-Î@!Ù@û@A$!A#FAjA.|A/«A.ÛA
-B B-BIBYBuB‘B¬BÌBåB3C78C4pC	¥C¯CÅCÌCÛCêCDD4DCD]>³‘	w�zmx±*Lk'¥n6Qd.r R^@§™¡is|h•�t85Vv!…pKj3{CMPŸ:}%<9$B“žA(f–?a_’o¯�N`yª\‡D©ˆeF-TŽG«~²lJ1µH—Y,�Š£®´b¦4=¤+"&#¢¬˜I”W c[š¨SŒƒ†„g)U‹OX�q°‚E
;u7Zœ‰
-€­/20›
+Þ•Üü%Ü
pqLsKÀ4½A3ÿu37©ká}M�Ë[\�¸[FŽ¢”1(Æ(ï(1A%s%™1¿.ñ? ?`( (É2ò1%?W(—ÀÕâ/ò."Q
]k†¡»	Õ	ßé2F(d�£ºÚó.*@kƒ
+¢%­)Ó%ý!#!E$gŒ:¨9ã "7 Z m € – ¬ Â Ø ð "!#.!R!o!ˆ!!¢!5Ä!/ú!*"H")Z"%„"#ª"+Î"+ú"1&#1X#+Š#1¶#1è#$%6$\$<p$ ­$Î$é$%%5%+J%v%�%$¬%!Ñ%"ó%+& B& c& „&¥&Å&!Ù&'û&'#''K's'ƒ'›'¶'Ì'ì'
+(((F(d(u(Œ("œ(¿(ß(ü()1)%L)r)0…).¶)1å)*%(*N*(d*%�*&³*Ú*ò*+%+D+a+}+‘+¥+±+!½+ß+$ð+%,;,Z,2n,2¡,2Ô,----D-X-p-ˆ-�-±-Å-Ù-í-(.*.:.W.d.�.ž.%º.à.ø.-/;F//‚/	²/¼/Ù/á/ñ/0 0:0S0#r0"–0"¹0 Ü0ý0111I1a1q1÷€1x3>z3=¹3/÷3˜'45À4zö42q5z¤5T6lt6Dá6i&7k�7kü7sh8(Ü8(9(.9*W9(‚9(«9*Ô9'ÿ90':0X:+‰:+µ:+á:*
;98;+r;ž;¹;Æ;0Õ;/<6<E<T<n<ˆ<�<µ<¾<Ç<â<ø<
+==,7=d=|=˜=¯=*Ë=*ö=!>"7>Z>n>�>™>"¸>Û>ú>?0?N?Eg?E­?ó?@'@9@K@`@u@Š@Ÿ@»@ Ñ@!ò@A*A:A#VA4zA.¯A%ÞAB,B'BB'jB1’B1ÄB9öB90C1jC9œC9ÖCD0)DZD9pD"ªDÍDãDþDE5E'NEvEƒE%œEÂEÕE#åE	F F7FNFdFtF“F²FÑFðFGG)G6GLG`GtGˆGœG¬G	¼GÆGâGòGHH.H*DHoH6…H3¼H4ðH%I$8I]I'pI$˜I%½IãIÿIJ+1J]J}J–J¬J
ÂJ
+ÐJ!ÛJýJ
K$#K#HKlK.~K/­K.ÝKLL2LKLaL{L•L¬LÂLØLîLM$M?MLMhMxM”M°MËMëMN3#N7WN4�N	ÄNÎNäNëNúN	O!O=OSO#mO"‘O"´O×OôO
PP.P=PNP…²+m´o°”ØTw¤«­U¸‚š	-Ú&ÃxKÄµu"†/BPaŒ�s•ŽXe<pŠ(_ÒŸ0Ö‘ÅO™�v`§=ª:Õjžœ2Ùƒ$¡L®3E£Í¬�\¹º»|–ID.)y—Ë' 5NF¾˜8
+}k[¼t¶cH±
l‡Ç#1 bˆ>€¿f�gM,RiÁC*zÔ!;W„©ÆSVÂÌÈr³¥›6J×ÑZ]“nh9¢ÎÏ¨ÊÛ~7·qGÐ½4Ü‰¯À’�ÓY@¦É‹?dQ^%{A
 
   For the options above, The following values are supported for "ARCH":
    
@@ -66,9 +64,10 @@ with the -M switch (multiple options sho
 # <dis error: %08lx>$<undefined>%02x		*unknown*%dsp16() takes a symbolic address, not a number%dsp8() takes a symbolic address, not a number%s: Error: %s: Warning: 'LSL' operator not allowed'ROR' operator not allowed(DP) offset out of range.(SP) offset out of range.(unknown)*unknown*21-bit offset out of range64-bit address is disabled<function code %d><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
 <unknown register %d>ABORT: unknown operandAddress 0x%s is out of bounds.
 Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameDon't know how to specify # dependency %s
+Don't understand 0x%x 
 Error: read from memory failedHmmmm 0x%xImmediate is out of range -128 to 127Immediate is out of range -32768 to 32767Immediate is out of range -512 to 511Immediate is out of range -7 to 8Immediate is out of range -8 to 7Immediate is out of range 0 to 65535Internal disassembler errorInternal error:  bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
 Internal error: bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
-Invalid position, should be 0, 16, 32, 48 or 64.Invalid position, should be 0, 8, 16, or 24Invalid position, should be 0,4, 8,...124.Invalid position, should be 16, 32, 64 or 128.Label conflicts with `Rx'Label conflicts with register nameMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixOperand is not a symbolSR/SelID is out of rangeSyntax error: No trailing ')'Unknown error %d
+Label conflicts with `Rx'Label conflicts with register nameMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixOperand is not a symbolRegister list is not validRegister must be between r0 and r7Register must be between r8 and r15Register number is not validSR/SelID is out of rangeSelect raw register namesSelect register names used by GCCSelect register names used in ARM's ISA documentationSelect special register names used in the ATPCSSyntax error: No trailing ')'Unknown error %d
 Unrecognised disassembler CPU option: %s
 Unrecognised disassembler option: %s
 Unrecognised register name set: %s
@@ -79,12 +78,13 @@ with the -M switch (multiple options sho
 Unrecognized field %d while printing insn.
 Unrecognized field %d while setting int operand.
 Unrecognized field %d while setting vma operand.
-Value is not aligned enoughValue must be a multiple of 16Value must be in the range 0 to 240Value must be in the range 0 to 28Value must be in the range 0 to 31Value must be in the range 1 to W keyword invalid in FR operand slot.W register expectedWarning: disassembly unreliable - not enough bytes availableaddress writeback expectedbad instruction `%.50s'bad instruction `%.50s...'branch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangedisplacement value is not aligneddisplacement value is out of rangedon't know how to specify %% dependency %s
-dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeextraneous registerfloating-point immediate expectedillegal bitmaskillegal immediate valueillegal use of parenthesesimm10 is out of rangeimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate offsetimmediate out of rangeimmediate valueimmediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeinvalid conditional optioninvalid mask fieldinvalid registerinvalid register for stack adjustmentinvalid register nameinvalid register offsetinvalid shift amountinvalid shift operatorjump hint unalignedjunk at end of linemissing `)'missing `]'missing mnemonic in syntax stringmissing registernegative immediate value not allowednegative or unaligned offset expectedoffset(IP) is not a valid formoperand is not zerooperand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)register element indexregister numberregister number must be evenshift amountshift amount must be 0 or 12shift amount must be 0 or 16shift amount must be 0 or 8shift amount must be a multiple of 16shift operator expectedstack pointer register expectedsyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)unable to change directory to "%s", errno = %s
-undefinedunexpected address writebackunknownunknown	0x%02lxunknown	0x%04lxunknown constraint `%c'unrecognized form of instructionunrecognized instructionvector5 is out of rangevector8 is out of rangeProject-Id-Version: opcodes 2.28.90
+Value is not aligned enoughW keyword invalid in FR operand slot.W register expectedWarning: disassembly unreliable - not enough bytes availableaccepted values are from -1 to 6address writeback expectedbad instruction `%.50s'bad instruction `%.50s...'branch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangebyte relocation unsupportedcan't create i386-tbl.h, errno = %s
+displacement value is not aligneddisplacement value is out of rangedon't know how to specify %% dependency %s
+dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeextraneous registerfloating-point immediate expectedfloating-point value must be 0.0 or 1.0floating-point value must be 0.5 or 1.0floating-point value must be 0.5 or 2.0illegal bitmaskillegal immediate valueillegal use of parenthesesimm10 is out of rangeimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate offsetimmediate out of rangeimmediate valueimmediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeinvalid addressing modeinvalid arithmetic immediateinvalid conditional optioninvalid immediate, must be 1, 2, or 4invalid mask fieldinvalid position, should be 0, 16, 32, 48 or 64.invalid position, should be 16, 32, 64 or 128.invalid position, should be one of: 0,4,8,...124.invalid registerinvalid register for stack adjustmentinvalid register nameinvalid register number, should be blinkinvalid register number, should be fpinvalid register number, should be pclinvalid register offsetinvalid shift amountinvalid shift operatorinvalid size, should be 1, 2, 4, or 8invalid size, value must be invalid value for immediatejump hint unalignedjunk at end of linemissing `)'missing `]'missing mnemonic in syntax stringmissing registernegative immediate value not allowednegative or unaligned offset expectedoffset(IP) is not a valid formoperand is not zerooperand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)p0-p7 expectedregister element indexregister must be BLINKregister must be GPregister must be ILINK1register must be ILINK2register must be PCLregister must be R0register must be R1register must be R2register must be R3register must be SPregister must be either r0-r3 or r12-r15register numberregister number must be evenshift amountshift amount must be 0 or 12shift amount must be 0 or 16shift amount must be 0 or 8shift amount must be a multiple of 16shift operator expectedstack pointer register expectedsyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)unable to change directory to "%s", errno = %s
+undefinedunexpected address writebackunknownunknown	0x%02lxunknown	0x%04lxunknown constraint `%c'unrecognized form of instructionunrecognized instructionvalue must be a multiple of 16value must be in the range 0 to 240value must be in the range 0 to 28value must be in the range 0 to 31value must be in the range 1 to value must be power of 2value out of range 1 - 256vector5 is out of rangevector8 is out of rangez0-z15 expectedz0-z7 expectedProject-Id-Version: opcodes 2.30.0
 Report-Msgid-Bugs-To: bug-binutils@gnu.org
-POT-Creation-Date: 2017-07-03 16:55+0200
-PO-Revision-Date: 2017-11-25 20:10+0800
+POT-Creation-Date: 2018-01-13 13:44+0000
+PO-Revision-Date: 2018-05-15 21:17+0800
 Last-Translator: Boyuan Yang <073plan@gmail.com>
 Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>
 Language: zh_CN
@@ -93,7 +93,7 @@ Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 Plural-Forms: nplurals=1; plural=0;
 X-Bugs: Report translation errors to the Language-Team address.
-X-Generator: Poedit 2.0.4
+X-Generator: Poedit 2.0.7
 
 
   å¯¹äºŽä»¥ä¸Šçš„é€‰é¡¹ï¼Œä»¥ä¸‹å€¼å�¯è¢«ç”¨äºŽ "ARCH"ï¼š
@@ -148,9 +148,10 @@ X-Generator: Poedit 2.0.4
 # <å��æ±‡ç¼–å‡ºé”™: %08lx>$<æœªå®šä¹‰>%02x		*æœªçŸ¥*%dsp16() ä½¿ç”¨ä¸€ä¸ªç¬¦å�·åœ°å�€ï¼Œè€Œé�žæ•°å­—%dsp8() ä½¿ç”¨ä¸€ä¸ªç¬¦å�·åœ°å�€ï¼Œè€Œé�žæ•°å­—%sï¼šé”™è¯¯ï¼š%sï¼šè­¦å‘Šï¼šä¸�å…�è®¸ 'LSL' æ“�ä½œç¬¦ä¸�å…�è®¸ 'ROR' æ“�ä½œç¬¦(DP) å��ç§»é‡�è¶Šç•Œ(SP) å��ç§»é‡�è¶Šç•Œã€‚(æœªçŸ¥)*æœªçŸ¥*21ä½�é•¿çš„å��ç§»é‡�è¶Šç•Œ64 ä½�åœ°å�€å·²ç¦�ç”¨<å‡½æ•°ä»£ç � %d><é�žæ³•çš„ç²¾åº¦><å��æ±‡ç¼–å™¨å†…éƒ¨é”™è¯¯><æ“�ä½œæ•°è¡¨ä¸­å‡ºçŽ°å†…éƒ¨é”™è¯¯ï¼š%s %s>
 <æœªçŸ¥çš„å¯„å­˜å™¨ %d>ä¸­æ­¢ï¼šæœªçŸ¥çš„æ“�ä½œæ•°åœ°å�€ 0x%s è¶Šç•Œã€‚
 é”™è¯¯çš„ç«‹å�³æ•°è¡¨è¾¾å¼�å�Žç½®è‡ªå¢žä¸­ä½¿ç”¨äº†é”™è¯¯çš„å¯„å­˜å™¨å‰�ç½®è‡ªå¢žä¸­ä½¿ç”¨äº†é”™è¯¯çš„å¯„å­˜å™¨é”™è¯¯çš„å¯„å­˜å™¨å��ä¸�çŸ¥é�“å¦‚ä½•æŒ‡å®š # ä¾�èµ– %s
+æ— æ³•è¯†åˆ« 0x%x 
 é”™è¯¯ï¼šä»Žå†…å­˜è¯»å�–å¤±è´¥å’¦... 0x%xç«‹å�³æ•°è¶Šç•Œ (-128 åˆ° 127)ç«‹å�³æ•°è¶Šç•Œ (-32768 åˆ° 32767)ç«‹å�³æ•°è¶Šç•Œ (-512 åˆ° 511)ç«‹å�³æ•°è¶Šç•Œ (-7 åˆ° 8)ç«‹å�³æ•°è¶Šç•Œ (-8 åˆ° 7)ç«‹å�³æ•°è¶Šç•Œ (0 åˆ° 65535)å��æ±‡ç¼–å™¨å†…éƒ¨é”™è¯¯å†…éƒ¨é”™è¯¯ï¼šé”™è¯¯çš„ sparc-opcode.hï¼šâ€œ%sâ€�ï¼Œ%#.8lxï¼Œ%#.8lx
 å†…éƒ¨é”™è¯¯ï¼šé”™è¯¯çš„ sparc-opcode.hï¼šâ€œ%sâ€�ï¼Œ%#.8lxï¼Œ%#.8lx
-æ— æ•ˆçš„ä½�ç½®ï¼Œåº”å½“ä¸º 0ã€�16ã€�32ã€�48 æˆ– 64ã€‚æ— æ•ˆçš„ä½�ç½®ï¼Œåº”å½“ä¸º 0ã€�8ã€�16 æˆ– 24æ— æ•ˆçš„ä½�ç½®ï¼Œåº”å½“ä¸º 0ã€�4ã€�8ã€�...ã€�124ã€‚æ— æ•ˆçš„ä½�ç½®ï¼Œåº”å½“ä¸º 16ã€�32ã€�64 æˆ– 128ã€‚æ ‡å�·ä¸Žâ€˜Rxâ€™å†²çª�æ ‡å�·ä¸Žå¯„å­˜å™¨å��å†²çª�ç¼ºå¤± '#' å‰�ç¼€ç¼ºå¤± '.' å‰�ç¼€ç¼ºå¤± 'pag:' å‰�ç¼€ç¼ºå¤± 'pof:' å‰�ç¼€ç¼ºå¤± 'seg:' å‰�ç¼€ç¼ºå¤± 'sof:' å‰�ç¼€æ“�ä½œæ•°ä¸�æ˜¯ä¸€ä¸ªç¬¦å�·SR/SelID è¶Šç•Œè¯­æ³•é”™è¯¯ï¼šæ²¡æœ‰ç»“å°¾çš„â€˜)â€™æœªçŸ¥é”™è¯¯ %d
+æ ‡å�·ä¸Žâ€˜Rxâ€™å†²çª�æ ‡å�·ä¸Žå¯„å­˜å™¨å��å†²çª�ç¼ºå¤± '#' å‰�ç¼€ç¼ºå¤± '.' å‰�ç¼€ç¼ºå¤± 'pag:' å‰�ç¼€ç¼ºå¤± 'pof:' å‰�ç¼€ç¼ºå¤± 'seg:' å‰�ç¼€ç¼ºå¤± 'sof:' å‰�ç¼€æ“�ä½œæ•°ä¸�æ˜¯ä¸€ä¸ªç¬¦å�·å¯„å­˜å™¨åˆ—è¡¨æ— æ•ˆå¯„å­˜å™¨å¿…é¡» r0 å’Œ r7 ä¹‹é—´å¯„å­˜å™¨å¿…é¡» r8 å’Œ r15 ä¹‹é—´å¯„å­˜å™¨æ•°å­—æ— æ•ˆSR/SelID è¶Šç•Œé€‰æ‹©åŽŸå§‹å¯„å­˜å™¨å��ç§°é€‰æ‹© GCC ä½¿ç”¨çš„å¯„å­˜å™¨å��ç§°é€‰æ‹© ARM çš„ ISA æ–‡æ¡£ä¸­ä½¿ç”¨çš„å¯„å­˜å™¨å��ç§°é€‰æ‹© ATPCS ä¸­ä½¿ç”¨çš„ç‰¹æ®Šå¯„å­˜å™¨å��ç§°è¯­æ³•é”™è¯¯ï¼šæ²¡æœ‰ç»“å°¾çš„â€˜)â€™æœªçŸ¥é”™è¯¯ %d
 æ— æ³•è¯†åˆ«çš„å��æ±‡ç¼–å™¨ CPU é€‰é¡¹ï¼š%s
 æ— æ³•è¯†åˆ«çš„å��æ±‡ç¼–å™¨é€‰é¡¹ï¼š%s
 æ— æ³•è¯†åˆ«çš„å¯„å­˜å™¨å��ç§°é›†ï¼š%s
@@ -161,6 +162,7 @@ X-Generator: Poedit 2.0.4
 æ‰“å�° insn æ—¶é�‡åˆ°æ— æ³•è¯†åˆ«çš„å­—æ®µ %dã€‚
 è®¾ç½® int æ“�ä½œæ•°æ—¶é�‡åˆ°æ— æ³•è¯†åˆ«çš„å­—æ®µ %dã€‚
 è®¾ç½® vma æ“�ä½œæ•°æ—¶é�‡åˆ°æ— æ³•è¯†åˆ«çš„å­—æ®µ %dã€‚
-æ•°å€¼å¯¹é½�ç¨‹åº¦ä¸�å¤Ÿå€¼å¿…é¡»æ˜¯ 16 çš„å€�æ•°å€¼å¿…é¡»åœ¨ 0 åˆ° 240 çš„èŒƒå›´ä¸­å€¼å¿…é¡»åœ¨ 0 åˆ° 28 çš„èŒƒå›´ä¸­å€¼å¿…é¡»åœ¨ 0 åˆ° 31 çš„èŒƒå›´ä¸­å€¼çš„èŒƒå›´å¿…é¡»åœ¨ 1 åˆ° W å…³é”®å­—é�žæ³•ï¼Œåœ¨ FR æ“�ä½œæ•°æ§½ä½�ä¸­ã€‚é¢„æœŸçš„ W å¯„å­˜å™¨è­¦å‘Šï¼šå��æ±‡ç¼–ä¸�å�¯é�  - æ²¡æœ‰è¶³å¤Ÿçš„å�¯ç”¨å­—èŠ‚é¢„æœŸçš„åœ°å�€å†™å›žé”™è¯¯çš„æŒ‡ä»¤â€˜%.50sâ€™é”™è¯¯çš„æŒ‡ä»¤â€˜%.50s...â€™åˆ†æ”¯æ“�ä½œæ•°æœªå¯¹é½�è·³è½¬å��ç§»é‡�ä¸ºå¥‡æ•°è·³è½¬è¶Šç•Œä¸”è·³è½¬å��ç§»é‡�ä¸ºå¥‡æ•°è·³è½¬è¶Šç•Œå��ç§»å€¼æœªå¯¹é½�å��ç§»å€¼è¶Šç•Œä¸�çŸ¥é�“å¦‚ä½•æŒ‡å®š %% ä¾�èµ– %s
-dsp:16 ç«‹å�³æ•°è¶Šç•Œdsp:20 ç«‹å�³æ•°è¶Šç•Œdsp:24 ç«‹å�³æ•°è¶Šç•Œdsp:8 ç«‹å�³æ•°è¶Šç•Œå¤šä½™å¯„å­˜å™¨é¢„æœŸçš„æµ®ç‚¹å¸¸é‡�ç«‹å�³æ•°é�žæ³•çš„ä½�æŽ©ç �é�žæ³•çš„ç«‹å�³æ•°æ‹¬å�·ç”¨æ³•é�žæ³•imm10 è¶Šç•Œimm:6 ç«‹å�³æ•°è¶Šç•Œç«‹å�³æ•°è¶Šç•Œ 0-7ç«‹å�³æ•°è¶Šç•Œ 1-2ç«‹å�³æ•°è¶Šç•Œ 1-8ç«‹å�³æ•°è¶Šç•Œ 2-9ç«‹å�³æ•°å��ç§»ç«‹å�³æ•°è¶Šç•Œç«‹å�³æ•°ç«‹å�³æ•°ä¸�èƒ½æ˜¯å¯„å­˜å™¨ç«‹å�³æ•°è¶Šç•Œç«‹å�³æ•°è¶Šç•Œæ— æ•ˆçš„æ�¡ä»¶é€‰é¡¹æ— æ•ˆçš„æŽ©ç �å­—æ®µæ— æ•ˆçš„å¯„å­˜å™¨ç”¨äºŽè°ƒæ•´å †æ ˆçš„å¯„å­˜å™¨æ— æ•ˆæ— æ•ˆå¯„å­˜å™¨å��æ— æ•ˆçš„å¯„å­˜å™¨å��ç§»é‡�æ— æ•ˆçš„ç§»ä½�æ“�ä½œæ•°æ— æ•ˆçš„ç§»ä½�æ“�ä½œç¬¦è·³è½¬æ��ç¤ºæœªå¯¹é½�è¡Œå°¾æœ‰åžƒåœ¾å­—ç¬¦ç¼ºå°‘â€˜)â€™ç¼ºå°‘ `]'è¯­æ³•å­—ç¬¦ä¸²ä¸­æ²¡æœ‰åŠ©è®°ç¬¦ç¼ºå¤±å¯„å­˜å™¨ä¸�å…�è®¸è´Ÿç«‹å�³æ•°é¢„æœŸçš„è´Ÿæˆ–æœªå¯¹é½�çš„å��ç§»é‡�å��ç§»é‡�ï¼ˆIPï¼‰ä¸�æ˜¯å�ˆæ³•æ ¼å¼�æ“�ä½œæ•°ä¸�æ˜¯ 0æ“�ä½œæ•°è¶Šç•Œ(%ld ä¸�åœ¨ %ld å’Œ %ld ä¹‹é—´)æ“�ä½œæ•°è¶Šç•Œ (%ld ä¸�åœ¨ %ld å’Œ %lu ä¹‹é—´)æ“�ä½œæ•°è¶Šç•Œ(%lu ä¸�åœ¨ %lu å’Œ %lu ä¹‹é—´)å¯„å­˜å™¨å…ƒç´ ä¸‹æ ‡å¯„å­˜å™¨æ•°å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°ç§»ä½�æ“�ä½œæ•°ç§»ä½�é‡�å¿…é¡»ä¸º 0 æˆ– 12ç§»ä½�é‡�å¿…é¡»ä¸º 0 æˆ– 16ç§»ä½�é‡�å¿…é¡»ä¸º 0 æˆ– 8ç§»ä½�é‡�å¿…é¡»æ˜¯ 16 çš„å€�æ•°é¢„æœŸçš„ç§»ä½�æ“�ä½œç¬¦é¢„æœŸçš„å †æ ˆæŒ‡é’ˆå¯„å­˜å™¨è¯­æ³•é”™è¯¯(éœ€è¦�å­—ç¬¦â€˜%câ€™ï¼Œå¾—åˆ°â€˜%câ€™)è¯­æ³•é”™è¯¯(éœ€è¦�å­—ç¬¦â€˜%câ€™ï¼Œå�´åˆ°è¾¾æŒ‡ä»¤å°¾)æ— æ³•å°†å½“å‰�ç›®å½•åˆ‡æ�¢è‡³â€œ%sâ€�ï¼Œerrno = %s
-æœªå®šä¹‰æ„�å¤–çš„åœ°å�€å†™å›žæœªçŸ¥æœªçŸ¥	0x%02lxæœªçŸ¥	0x%04lxæœªçŸ¥çš„çº¦æ�Ÿâ€˜%câ€™æ— æ³•è¯†åˆ«çš„æŒ‡ä»¤æ ¼å¼�æ— æ³•è¯†åˆ«çš„æŒ‡ä»¤vector5 è¶Šç•Œvector8 è¶Šç•Œ
\ No newline at end of file
+æ•°å€¼å¯¹é½�ç¨‹åº¦ä¸�å¤ŸW å…³é”®å­—é�žæ³•ï¼Œåœ¨ FR æ“�ä½œæ•°æ§½ä½�ä¸­ã€‚é¢„æœŸçš„ W å¯„å­˜å™¨è­¦å‘Šï¼šå��æ±‡ç¼–ä¸�å�¯é�  - æ²¡æœ‰è¶³å¤Ÿçš„å�¯ç”¨å­—èŠ‚å�¯æŽ¥å�—çš„å€¼åœ¨ -1 åˆ° 6 ä¹‹é—´é¢„æœŸçš„åœ°å�€å†™å›žé”™è¯¯çš„æŒ‡ä»¤â€˜%.50sâ€™é”™è¯¯çš„æŒ‡ä»¤â€˜%.50s...â€™åˆ†æ”¯æ“�ä½œæ•°æœªå¯¹é½�è·³è½¬å��ç§»é‡�ä¸ºå¥‡æ•°è·³è½¬è¶Šç•Œä¸”è·³è½¬å��ç§»é‡�ä¸ºå¥‡æ•°è·³è½¬è¶Šç•Œä¸�æ”¯æŒ�å­—èŠ‚é‡�å®šä½�æ— æ³•åˆ›å»º i386-tbl.hï¼Œerrno = %s
+å��ç§»å€¼æœªå¯¹é½�å��ç§»å€¼è¶Šç•Œä¸�çŸ¥é�“å¦‚ä½•æŒ‡å®š %% ä¾�èµ– %s
+dsp:16 ç«‹å�³æ•°è¶Šç•Œdsp:20 ç«‹å�³æ•°è¶Šç•Œdsp:24 ç«‹å�³æ•°è¶Šç•Œdsp:8 ç«‹å�³æ•°è¶Šç•Œå¤šä½™å¯„å­˜å™¨é¢„æœŸçš„æµ®ç‚¹å¸¸é‡�ç«‹å�³æ•°æµ®ç‚¹å€¼å¿…é¡»ä¸º 0.0 æˆ– 1.0æµ®ç‚¹å€¼å¿…é¡»ä¸º 0.5 æˆ– 1.0æµ®ç‚¹å€¼å¿…é¡»ä¸º 0.5 æˆ– 2.0é�žæ³•çš„ä½�æŽ©ç �é�žæ³•çš„ç«‹å�³æ•°æ‹¬å�·ç”¨æ³•é�žæ³•imm10 è¶Šç•Œimm:6 ç«‹å�³æ•°è¶Šç•Œç«‹å�³æ•°è¶Šç•Œ 0-7ç«‹å�³æ•°è¶Šç•Œ 1-2ç«‹å�³æ•°è¶Šç•Œ 1-8ç«‹å�³æ•°è¶Šç•Œ 2-9ç«‹å�³æ•°å��ç§»ç«‹å�³æ•°è¶Šç•Œç«‹å�³æ•°ç«‹å�³æ•°ä¸�èƒ½æ˜¯å¯„å­˜å™¨ç«‹å�³æ•°è¶Šç•Œç«‹å�³æ•°è¶Šç•Œæ— æ•ˆå¯»å�€æ¨¡å¼�æ— æ•ˆçš„ç®—æœ¯ç«‹å�³æ•°æ— æ•ˆçš„æ�¡ä»¶é€‰é¡¹æ— æ•ˆçš„ç«‹å�³æ•°ï¼Œåº”å½“ä¸º 1ã€�2 æˆ– 4æ— æ•ˆçš„æŽ©ç �å­—æ®µæ— æ•ˆçš„ä½�ç½®ï¼Œåº”å½“ä¸º 0ã€�16ã€�32ã€�48 æˆ– 64ã€‚æ— æ•ˆçš„ä½�ç½®ï¼Œåº”å½“ä¸º 16ã€�32ã€�64 æˆ– 128ã€‚æ— æ•ˆçš„ä½�ç½®ï¼Œåº”å½“ä¸º 0ã€�4ã€�8ã€�...ã€�124ã€‚æ— æ•ˆçš„å¯„å­˜å™¨ç”¨äºŽè°ƒæ•´å †æ ˆçš„å¯„å­˜å™¨æ— æ•ˆæ— æ•ˆå¯„å­˜å™¨å��æ— æ•ˆçš„å¯„å­˜å™¨æ•°ï¼Œåº”å½“ä¸º blinkæ— æ•ˆçš„å¯„å­˜å™¨æ•°ï¼Œåº”å½“ä¸º fpæ— æ•ˆçš„å¯„å­˜å™¨æ•°ï¼Œåº”å½“ä¸º pclæ— æ•ˆçš„å¯„å­˜å™¨å��ç§»é‡�æ— æ•ˆçš„ç§»ä½�æ“�ä½œæ•°æ— æ•ˆçš„ç§»ä½�æ“�ä½œç¬¦æ— æ•ˆçš„å¤§å°�ï¼Œåº”å½“ä¸º 1ã€�2ã€�4 æˆ– 8æ— æ•ˆçš„å¤§å°�ï¼Œå€¼å¿…é¡»ä¸º æ— æ•ˆçš„ç«‹å�³æ•°çš„å€¼è·³è½¬æ��ç¤ºæœªå¯¹é½�è¡Œå°¾æœ‰åžƒåœ¾å­—ç¬¦ç¼ºå°‘â€˜)â€™ç¼ºå°‘ `]'è¯­æ³•å­—ç¬¦ä¸²ä¸­æ²¡æœ‰åŠ©è®°ç¬¦ç¼ºå¤±å¯„å­˜å™¨ä¸�å…�è®¸è´Ÿç«‹å�³æ•°é¢„æœŸçš„è´Ÿæˆ–æœªå¯¹é½�çš„å��ç§»é‡�å��ç§»é‡�ï¼ˆIPï¼‰ä¸�æ˜¯å�ˆæ³•æ ¼å¼�æ“�ä½œæ•°ä¸�æ˜¯ 0æ“�ä½œæ•°è¶Šç•Œ(%ld ä¸�åœ¨ %ld å’Œ %ld ä¹‹é—´)æ“�ä½œæ•°è¶Šç•Œ (%ld ä¸�åœ¨ %ld å’Œ %lu ä¹‹é—´)æ“�ä½œæ•°è¶Šç•Œ(%lu ä¸�åœ¨ %lu å’Œ %lu ä¹‹é—´)é¢„æœŸä¸º p0-p7å¯„å­˜å™¨å…ƒç´ ä¸‹æ ‡å¯„å­˜å™¨å¿…é¡»æ˜¯ BLINKå¯„å­˜å™¨å¿…é¡»æ˜¯ GPå¯„å­˜å™¨å¿…é¡»æ˜¯ ILINK1å¯„å­˜å™¨å¿…é¡»æ˜¯ ILINK2å¯„å­˜å™¨å¿…é¡»æ˜¯ PCLå¯„å­˜å™¨å¿…é¡»æ˜¯ R0å¯„å­˜å™¨å¿…é¡»æ˜¯ R1å¯„å­˜å™¨å¿…é¡»æ˜¯ R2å¯„å­˜å™¨å¿…é¡»æ˜¯ R3å¯„å­˜å™¨å¿…é¡»æ˜¯ SPå¯„å­˜å™¨å¿…é¡»æ˜¯ r0-r3 æˆ– r12-r15å¯„å­˜å™¨æ•°å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°ç§»ä½�æ“�ä½œæ•°ç§»ä½�é‡�å¿…é¡»ä¸º 0 æˆ– 12ç§»ä½�é‡�å¿…é¡»ä¸º 0 æˆ– 16ç§»ä½�é‡�å¿…é¡»ä¸º 0 æˆ– 8ç§»ä½�é‡�å¿…é¡»æ˜¯ 16 çš„å€�æ•°é¢„æœŸçš„ç§»ä½�æ“�ä½œç¬¦é¢„æœŸçš„å †æ ˆæŒ‡é’ˆå¯„å­˜å™¨è¯­æ³•é”™è¯¯(éœ€è¦�å­—ç¬¦â€˜%câ€™ï¼Œå¾—åˆ°â€˜%câ€™)è¯­æ³•é”™è¯¯(éœ€è¦�å­—ç¬¦â€˜%câ€™ï¼Œå�´åˆ°è¾¾æŒ‡ä»¤å°¾)æ— æ³•å°†å½“å‰�ç›®å½•åˆ‡æ�¢è‡³â€œ%sâ€�ï¼Œerrno = %s
+æœªå®šä¹‰æ„�å¤–çš„åœ°å�€å†™å›žæœªçŸ¥æœªçŸ¥	0x%02lxæœªçŸ¥	0x%04lxæœªçŸ¥çš„çº¦æ�Ÿâ€˜%câ€™æ— æ³•è¯†åˆ«çš„æŒ‡ä»¤æ ¼å¼�æ— æ³•è¯†åˆ«çš„æŒ‡ä»¤å€¼å¿…é¡»æ˜¯ 16 çš„å€�æ•°å€¼å¿…é¡»åœ¨ 0 åˆ° 240 çš„èŒƒå›´ä¸­å€¼å¿…é¡»åœ¨ 0 åˆ° 28 çš„èŒƒå›´ä¸­å€¼å¿…é¡»åœ¨ 0 åˆ° 31 çš„èŒƒå›´ä¸­å€¼çš„èŒƒå›´å¿…é¡»åœ¨ 1 åˆ° å€¼å¿…é¡»æ˜¯ 2 çš„å€�æ•°å€¼è¶Šç•Œ 1 - 256vector5 è¶Šç•Œvector8 è¶Šç•Œé¢„æœŸä¸º z0-z15é¢„æœŸä¸º z0-z7
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/zh_CN.po ./opcodes/po/zh_CN.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/po/zh_CN.po	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/po/zh_CN.po	2018-07-10 02:06:15.000000000 +0000
@@ -3,14 +3,14 @@
 # This file is distributed under the same license as the binutils package.
 # Meng Jie <zuxyhere@eastday.com>, 2005.
 # Mingye Wang <arthur200126@gmail.com>, 2015.
-# Boyuan Yang <073plan@gmail.com>, 2017.
+# Boyuan Yang <073plan@gmail.com>, 2017, 2018.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: opcodes 2.28.90\n"
+"Project-Id-Version: opcodes 2.30.0\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2017-07-03 16:55+0200\n"
-"PO-Revision-Date: 2017-11-25 20:10+0800\n"
+"POT-Creation-Date: 2018-01-13 13:44+0000\n"
+"PO-Revision-Date: 2018-05-15 21:17+0800\n"
 "Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
@@ -19,15 +19,15 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 2.0.4\n"
+"X-Generator: Poedit 2.0.7\n"
 
 #. Invalid option.
-#: aarch64-dis.c:81 arc-dis.c:775 arm-dis.c:6132
+#: aarch64-dis.c:81 arc-dis.c:781 arm-dis.c:6155
 #, c-format
 msgid "Unrecognised disassembler option: %s\n"
 msgstr "æ— æ³•è¯†åˆ«çš„å��æ±‡ç¼–å™¨é€‰é¡¹ï¼š%s\n"
 
-#: aarch64-dis.c:3235
+#: aarch64-dis.c:3264
 #, c-format
 msgid ""
 "\n"
@@ -37,7 +37,7 @@ msgstr ""
 "\n"
 "ä¸‹åˆ— AARCH64 ç‰¹å®šçš„å��æ±‡ç¼–å™¨é€‰é¡¹å�¯é€šè¿‡ -M å¼€å…³å�¯ç”¨ï¼ˆä½¿ç”¨é€—å�·åˆ†éš”å¤šä¸ªé€‰é¡¹ï¼‰ï¼š\n"
 
-#: aarch64-dis.c:3239
+#: aarch64-dis.c:3268
 #, c-format
 msgid ""
 "\n"
@@ -46,7 +46,7 @@ msgstr ""
 "\n"
 "  no-aliases         ä¸�è¦�æ‰“å�°æŒ‡ä»¤åˆ«å��ã€‚\n"
 
-#: aarch64-dis.c:3242
+#: aarch64-dis.c:3271
 #, c-format
 msgid ""
 "\n"
@@ -55,7 +55,7 @@ msgstr ""
 "\n"
 "  aliases            è¦�æ‰“å�°æŒ‡ä»¤åˆ«å��ã€‚\n"
 
-#: aarch64-dis.c:3246
+#: aarch64-dis.c:3275
 #, c-format
 msgid ""
 "\n"
@@ -64,233 +64,228 @@ msgstr ""
 "\n"
 "  debug_dump         è°ƒè¯•è·Ÿè¸ªçš„ä¸´æ—¶å¼€å…³ã€‚\n"
 
-#: aarch64-dis.c:3250 mips-dis.c:2601 mips-dis.c:2609 mips-dis.c:2611
-#: riscv-dis.c:507
+#: aarch64-dis.c:3279 mips-dis.c:2601 mips-dis.c:2609 mips-dis.c:2611
+#: riscv-dis.c:509
 #, c-format
 msgid "\n"
 msgstr "\n"
 
-#: aarch64-opc.c:1306
+#: aarch64-opc.c:1311
 msgid "immediate value"
 msgstr "ç«‹å�³æ•°"
 
-#: aarch64-opc.c:1316
+#: aarch64-opc.c:1321
 msgid "immediate offset"
 msgstr "ç«‹å�³æ•°å��ç§»"
 
-#: aarch64-opc.c:1326
+#: aarch64-opc.c:1331
 msgid "register number"
 msgstr "å¯„å­˜å™¨æ•°"
 
-#: aarch64-opc.c:1336
+#: aarch64-opc.c:1341
 msgid "register element index"
 msgstr "å¯„å­˜å™¨å…ƒç´ ä¸‹æ ‡"
 
-#: aarch64-opc.c:1346
+#: aarch64-opc.c:1351
 msgid "shift amount"
 msgstr "ç§»ä½�æ“�ä½œæ•°"
 
-#: aarch64-opc.c:1358
+#: aarch64-opc.c:1363
 msgid "multiplier"
 msgstr ""
 
-#: aarch64-opc.c:1431
+#: aarch64-opc.c:1436
 msgid "reg pair must start from even reg"
 msgstr ""
 
-#: aarch64-opc.c:1437
+#: aarch64-opc.c:1442
 msgid "reg pair must be contiguous"
 msgstr ""
 
-#: aarch64-opc.c:1451
+#: aarch64-opc.c:1456
 msgid "extraneous register"
 msgstr "å¤šä½™å¯„å­˜å™¨"
 
-#: aarch64-opc.c:1457
+#: aarch64-opc.c:1462
 msgid "missing register"
 msgstr "ç¼ºå¤±å¯„å­˜å™¨"
 
-#: aarch64-opc.c:1468
+#: aarch64-opc.c:1473
 msgid "stack pointer register expected"
 msgstr "é¢„æœŸçš„å †æ ˆæŒ‡é’ˆå¯„å­˜å™¨"
 
-#: aarch64-opc.c:1491
+#: aarch64-opc.c:1496
 msgid "z0-z15 expected"
-msgstr ""
+msgstr "é¢„æœŸä¸º z0-z15"
 
-#: aarch64-opc.c:1492
+#: aarch64-opc.c:1497
 msgid "z0-z7 expected"
-msgstr ""
+msgstr "é¢„æœŸä¸º z0-z7"
 
-#: aarch64-opc.c:1518
+#: aarch64-opc.c:1523
 #, fuzzy
 #| msgid "Bad register name"
 msgid "invalid register list"
 msgstr "%q+Dçš„å¯„å­˜å™¨å��æ— æ•ˆ"
 
-#: aarch64-opc.c:1532
+#: aarch64-opc.c:1537
 msgid "p0-p7 expected"
-msgstr ""
+msgstr "é¢„æœŸä¸º p0-p7"
 
-#: aarch64-opc.c:1558 aarch64-opc.c:1566
+#: aarch64-opc.c:1563 aarch64-opc.c:1571
 msgid "unexpected address writeback"
 msgstr "æ„�å¤–çš„åœ°å�€å†™å›ž"
 
-#: aarch64-opc.c:1577
+#: aarch64-opc.c:1582
 msgid "address writeback expected"
 msgstr "é¢„æœŸçš„åœ°å�€å†™å›ž"
 
-#: aarch64-opc.c:1623
+#: aarch64-opc.c:1629
 msgid "negative or unaligned offset expected"
 msgstr "é¢„æœŸçš„è´Ÿæˆ–æœªå¯¹é½�çš„å��ç§»é‡�"
 
-#: aarch64-opc.c:1650
+#: aarch64-opc.c:1656
 msgid "invalid register offset"
 msgstr "æ— æ•ˆçš„å¯„å­˜å™¨å��ç§»é‡�"
 
-#: aarch64-opc.c:1672
+#: aarch64-opc.c:1678
 #, fuzzy
 msgid "invalid post-increment amount"
 msgstr "ç±»åž‹æ²¡æœ‰å�Žè‡ªå¢žè¿�ç®—ç¬¦"
 
-#: aarch64-opc.c:1688 aarch64-opc.c:2165
+#: aarch64-opc.c:1694 aarch64-opc.c:2171
 msgid "invalid shift amount"
 msgstr "æ— æ•ˆçš„ç§»ä½�æ“�ä½œæ•°"
 
-#: aarch64-opc.c:1701
+#: aarch64-opc.c:1707
 #, fuzzy
 #| msgid "invalid conditional option"
 msgid "invalid extend/shift operator"
 msgstr "æ— æ•ˆçš„ç§»ä½�æ“�ä½œç¬¦"
 
-#: aarch64-opc.c:1747 aarch64-opc.c:1986 aarch64-opc.c:2021 aarch64-opc.c:2040
-#: aarch64-opc.c:2048 aarch64-opc.c:2119 aarch64-opc.c:2295 aarch64-opc.c:2395
-#: aarch64-opc.c:2408
+#: aarch64-opc.c:1753 aarch64-opc.c:1992 aarch64-opc.c:2027 aarch64-opc.c:2046
+#: aarch64-opc.c:2054 aarch64-opc.c:2125 aarch64-opc.c:2301 aarch64-opc.c:2401
+#: aarch64-opc.c:2414
 msgid "immediate out of range"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ"
 
-#: aarch64-opc.c:1769 aarch64-opc.c:1811 aarch64-opc.c:1860 aarch64-opc.c:1894
-#, fuzzy
+#: aarch64-opc.c:1775 aarch64-opc.c:1817 aarch64-opc.c:1866 aarch64-opc.c:1900
 msgid "invalid addressing mode"
 msgstr "æ— æ•ˆå¯»å�€æ¨¡å¼�"
 
-#: aarch64-opc.c:1852
+#: aarch64-opc.c:1858
 #, fuzzy
 msgid "index register xzr is not allowed"
 msgstr "å¯„å­˜å™¨å…ƒç´ ä¸‹æ ‡"
 
-#: aarch64-opc.c:1974 aarch64-opc.c:1996 aarch64-opc.c:2198 aarch64-opc.c:2206
-#: aarch64-opc.c:2272 aarch64-opc.c:2301
+#: aarch64-opc.c:1980 aarch64-opc.c:2002 aarch64-opc.c:2204 aarch64-opc.c:2212
+#: aarch64-opc.c:2278 aarch64-opc.c:2307
 msgid "invalid shift operator"
 msgstr "æ— æ•ˆçš„ç§»ä½�æ“�ä½œç¬¦"
 
-#: aarch64-opc.c:1980
+#: aarch64-opc.c:1986
 msgid "shift amount must be 0 or 12"
 msgstr "ç§»ä½�é‡�å¿…é¡»ä¸º 0 æˆ– 12"
 
-#: aarch64-opc.c:2003
+#: aarch64-opc.c:2009
 msgid "shift amount must be a multiple of 16"
 msgstr "ç§»ä½�é‡�å¿…é¡»æ˜¯ 16 çš„å€�æ•°"
 
-#: aarch64-opc.c:2015
+#: aarch64-opc.c:2021
 msgid "negative immediate value not allowed"
 msgstr "ä¸�å…�è®¸è´Ÿç«‹å�³æ•°"
 
-#: aarch64-opc.c:2130
+#: aarch64-opc.c:2136
 #, fuzzy
 msgid "immediate zero expected"
 msgstr "é¢„æœŸçš„æµ®ç‚¹å¸¸é‡�ç«‹å�³æ•°"
 
-#: aarch64-opc.c:2144
+#: aarch64-opc.c:2150
 #, fuzzy
 #| msgid "shift amount expected to be 0 or 12"
 msgid "rotate expected to be 0, 90, 180 or 270"
 msgstr "ç§»ä½�é‡�é¢„è®¡ä¸º 0 æˆ– 12"
 
-#: aarch64-opc.c:2154
+#: aarch64-opc.c:2160
 #, fuzzy
 #| msgid "shift amount expected to be 0 or 12"
 msgid "rotate expected to be 90 or 270"
 msgstr "ç§»ä½�é‡�é¢„è®¡ä¸º 0 æˆ– 12"
 
-#: aarch64-opc.c:2214
+#: aarch64-opc.c:2220
 #, fuzzy
 msgid "shift is not permitted"
 msgstr "æŒ‡é’ˆä¸�èƒ½ç”¨ä½œ case å¸¸é‡�"
 
-#: aarch64-opc.c:2239
-#, fuzzy
-#| msgid "invalid mask field"
+#: aarch64-opc.c:2245
 msgid "invalid value for immediate"
-msgstr "ä¸�å…�è®¸è´Ÿç«‹å�³æ•°"
+msgstr "æ— æ•ˆçš„ç«‹å�³æ•°çš„å€¼"
 
-#: aarch64-opc.c:2264
+#: aarch64-opc.c:2270
 msgid "shift amount must be 0 or 16"
 msgstr "ç§»ä½�é‡�å¿…é¡»ä¸º 0 æˆ– 16"
 
-#: aarch64-opc.c:2285
+#: aarch64-opc.c:2291
 msgid "floating-point immediate expected"
 msgstr "é¢„æœŸçš„æµ®ç‚¹å¸¸é‡�ç«‹å�³æ•°"
 
-#: aarch64-opc.c:2319
+#: aarch64-opc.c:2325
 msgid "no shift amount allowed for 8-bit constants"
 msgstr ""
 
-#: aarch64-opc.c:2329
+#: aarch64-opc.c:2335
 msgid "shift amount must be 0 or 8"
 msgstr "ç§»ä½�é‡�å¿…é¡»ä¸º 0 æˆ– 8"
 
-#: aarch64-opc.c:2342
+#: aarch64-opc.c:2348
 msgid "immediate too big for element size"
 msgstr ""
 
-#: aarch64-opc.c:2349
-#, fuzzy
-#| msgid "invalid mask field"
+#: aarch64-opc.c:2355
 msgid "invalid arithmetic immediate"
-msgstr "ä¸�å…�è®¸è´Ÿç«‹å�³æ•°"
+msgstr "æ— æ•ˆçš„ç®—æœ¯ç«‹å�³æ•°"
 
-#: aarch64-opc.c:2363
+#: aarch64-opc.c:2369
 msgid "floating-point value must be 0.5 or 1.0"
-msgstr ""
+msgstr "æµ®ç‚¹å€¼å¿…é¡»ä¸º 0.5 æˆ– 1.0"
 
-#: aarch64-opc.c:2373
+#: aarch64-opc.c:2379
 msgid "floating-point value must be 0.5 or 2.0"
-msgstr ""
+msgstr "æµ®ç‚¹å€¼å¿…é¡»ä¸º 0.5 æˆ– 2.0"
 
-#: aarch64-opc.c:2383
+#: aarch64-opc.c:2389
 msgid "floating-point value must be 0.0 or 1.0"
-msgstr ""
+msgstr "æµ®ç‚¹å€¼å¿…é¡»ä¸º 0.0 æˆ– 1.0"
 
-#: aarch64-opc.c:2414
+#: aarch64-opc.c:2420
 #, fuzzy
 #| msgid "invalid mask field"
 msgid "invalid replicated MOV immediate"
 msgstr "ä¸�å…�è®¸è´Ÿç«‹å�³æ•°"
 
-#: aarch64-opc.c:2528
+#: aarch64-opc.c:2535
 #, fuzzy
 msgid "extend operator expected"
 msgstr "éœ€è¦�%<operator%>"
 
-#: aarch64-opc.c:2541
+#: aarch64-opc.c:2548
 #, fuzzy
 msgid "missing extend operator"
 msgstr "æ‰©å±•%s å¤±è´¥"
 
-#: aarch64-opc.c:2547
+#: aarch64-opc.c:2554
 msgid "'LSL' operator not allowed"
 msgstr "ä¸�å…�è®¸ 'LSL' æ“�ä½œç¬¦"
 
-#: aarch64-opc.c:2568
+#: aarch64-opc.c:2575
 msgid "W register expected"
 msgstr "é¢„æœŸçš„ W å¯„å­˜å™¨"
 
-#: aarch64-opc.c:2579
+#: aarch64-opc.c:2586
 msgid "shift operator expected"
 msgstr "é¢„æœŸçš„ç§»ä½�æ“�ä½œç¬¦"
 
-#: aarch64-opc.c:2586
+#: aarch64-opc.c:2593
 msgid "'ROR' operator not allowed"
 msgstr "ä¸�å…�è®¸ 'ROR' æ“�ä½œç¬¦"
 
@@ -302,7 +297,7 @@ msgstr "åˆ†æ”¯æ“�ä½œæ•°æœªå¯¹é½�"
 msgid "jump hint unaligned"
 msgstr "è·³è½¬æ��ç¤ºæœªå¯¹é½�"
 
-#: arc-dis.c:373
+#: arc-dis.c:377
 msgid ""
 "\n"
 "Warning: disassembly may be wrong due to guessed opcode class choice.\n"
@@ -310,12 +305,12 @@ msgid ""
 "\t\t\t\t"
 msgstr ""
 
-#: arc-dis.c:817
+#: arc-dis.c:823
 #, c-format
 msgid "Unrecognised disassembler CPU option: %s\n"
 msgstr "æ— æ³•è¯†åˆ«çš„å��æ±‡ç¼–å™¨ CPU é€‰é¡¹ï¼š%s\n"
 
-#: arc-dis.c:1344
+#: arc-dis.c:1385
 #, fuzzy, c-format
 #| msgid ""
 #| "\n"
@@ -329,22 +324,22 @@ msgstr ""
 "\n"
 "ä¸‹åˆ— AARCH64 ç‰¹å®šçš„å��æ±‡ç¼–å™¨é€‰é¡¹å�¯é€šè¿‡ -M å¼€å…³å�¯ç”¨ï¼ˆä½¿ç”¨é€—å�·åˆ†éš”å¤šä¸ªé€‰é¡¹ï¼‰ï¼š\n"
 
-#: arc-dis.c:1356
+#: arc-dis.c:1397
 #, c-format
 msgid "  dsp             Recognize DSP instructions.\n"
 msgstr "  dsp             è¯†åˆ« DSP æŒ‡ä»¤ã€‚\n"
 
-#: arc-dis.c:1358
+#: arc-dis.c:1399
 #, c-format
 msgid "  spfp            Recognize FPX SP instructions.\n"
 msgstr "  spfp            è¯†åˆ« FPX SP æŒ‡ä»¤ã€‚\n"
 
-#: arc-dis.c:1360
+#: arc-dis.c:1401
 #, c-format
 msgid "  dpfp            Recognize FPX DP instructions.\n"
 msgstr "  dpfp            è¯†åˆ« FPX DP æŒ‡ä»¤ã€‚\n"
 
-#: arc-dis.c:1362
+#: arc-dis.c:1403
 #, fuzzy, c-format
 #| msgid ""
 #| "\n"
@@ -354,7 +349,7 @@ msgstr ""
 "\n"
 "  msa             è¯†åˆ« MSA æŒ‡ä»¤ã€‚\n"
 
-#: arc-dis.c:1364
+#: arc-dis.c:1405
 #, fuzzy, c-format
 #| msgid ""
 #| "\n"
@@ -364,16 +359,21 @@ msgstr ""
 "\n"
 "  msa             è¯†åˆ« MSA æŒ‡ä»¤ã€‚\n"
 
-#: arc-dis.c:1366
+#: arc-dis.c:1407
 #, c-format
 msgid "  fpus            Recognize single precision FPU instructions.\n"
 msgstr "  fpus            è¯†åˆ«å�•ç²¾åº¦ FPU æŒ‡ä»¤ã€‚\n"
 
-#: arc-dis.c:1368
+#: arc-dis.c:1409
 #, c-format
 msgid "  fpud            Recognize double precision FPU instructions.\n"
 msgstr "  fpud            è¯†åˆ«å�Œç²¾åº¦ FPU æŒ‡ä»¤ã€‚\n"
 
+#: arc-dis.c:1411
+#, c-format
+msgid "  hex             Use only hexadecimal number to print immediates.\n"
+msgstr ""
+
 #: arc-opc.c:41 arc-opc.c:64 arc-opc.c:90
 msgid "LP_COUNT register cannot be used as destination register"
 msgstr ""
@@ -391,232 +391,208 @@ msgid "operand is not zero"
 msgstr "æ“�ä½œæ•°ä¸�æ˜¯ 0"
 
 #: arc-opc.c:173
-msgid "Register R30 is a limm indicator"
-msgstr ""
-
-#: arc-opc.c:192
-#, fuzzy
-#| msgid "register number must be even"
-msgid "Register must be R0"
-msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
-
-#: arc-opc.c:210
-#, fuzzy
-#| msgid "register number must be even"
-msgid "Register must be R1"
-msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
-
-#: arc-opc.c:227
-#, fuzzy
-#| msgid "register number must be even"
-msgid "Register must be R2"
-msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
-
-#: arc-opc.c:244
-#, fuzzy
-#| msgid "register number must be even"
-msgid "Register must be R3"
-msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
-
-#: arc-opc.c:261
-#, fuzzy
-#| msgid "register number must be even"
-msgid "Register must be SP"
-msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
-
-#: arc-opc.c:278
-#, fuzzy
-#| msgid "register number must be even"
-msgid "Register must be GP"
-msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
-
-#: arc-opc.c:295
 #, fuzzy
-#| msgid "register number must be even"
-msgid "Register must be PCL"
-msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
-
-#: arc-opc.c:312
-#, fuzzy
-#| msgid "register number must be even"
-msgid "Register must be BLINK"
-msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
+msgid "register R30 is a limm indicator"
+msgstr "ç«‹å�³æ•°ä¸�èƒ½æ˜¯å¯„å­˜å™¨"
 
-#: arc-opc.c:329
+#: arc-opc.c:175
 #, fuzzy
-#| msgid "register number must be even"
-msgid "Register must be ILINK1"
-msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
+#| msgid "immediate out of range"
+msgid "register out of range"
+msgstr "ç«‹å�³æ•°è¶Šç•Œ"
 
-#: arc-opc.c:346
-#, fuzzy
-#| msgid "register number must be even"
-msgid "Register must be ILINK2"
-msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
+#: arc-opc.c:194
+msgid "register must be R0"
+msgstr "å¯„å­˜å™¨å¿…é¡»æ˜¯ R0"
+
+#: arc-opc.c:212
+msgid "register must be R1"
+msgstr "å¯„å­˜å™¨å¿…é¡»æ˜¯ R1"
+
+#: arc-opc.c:229
+msgid "register must be R2"
+msgstr "å¯„å­˜å™¨å¿…é¡»æ˜¯ R2"
+
+#: arc-opc.c:246
+msgid "register must be R3"
+msgstr "å¯„å­˜å™¨å¿…é¡»æ˜¯ R3"
+
+#: arc-opc.c:263
+msgid "register must be SP"
+msgstr "å¯„å­˜å™¨å¿…é¡»æ˜¯ SP"
+
+#: arc-opc.c:280
+msgid "register must be GP"
+msgstr "å¯„å­˜å™¨å¿…é¡»æ˜¯ GP"
+
+#: arc-opc.c:297
+msgid "register must be PCL"
+msgstr "å¯„å­˜å™¨å¿…é¡»æ˜¯ PCL"
+
+#: arc-opc.c:314
+msgid "register must be BLINK"
+msgstr "å¯„å­˜å™¨å¿…é¡»æ˜¯ BLINK"
+
+#: arc-opc.c:331
+msgid "register must be ILINK1"
+msgstr "å¯„å­˜å™¨å¿…é¡»æ˜¯ ILINK1"
+
+#: arc-opc.c:348
+msgid "register must be ILINK2"
+msgstr "å¯„å­˜å™¨å¿…é¡»æ˜¯ ILINK2"
 
 #. ARC NPS400 Support: See comment near head of file.
-#: arc-opc.c:377 arc-opc.c:415 arc-opc.c:453 arc-opc.c:718
-#, fuzzy
-#| msgid "register number must be even"
-msgid "Register must be either r0-r3 or r12-r15"
-msgstr "ç™»è®°å†Œå¿…é¡» r8 å’Œ r15 ä¹‹é—´"
-
-#: arc-opc.c:504
-msgid "Accepted values are from -1 to 6"
-msgstr ""
-
-#: arc-opc.c:533
-msgid "First register of the range should be r13"
-msgstr ""
+#: arc-opc.c:379 arc-opc.c:417 arc-opc.c:455 arc-opc.c:720
+msgid "register must be either r0-r3 or r12-r15"
+msgstr "å¯„å­˜å™¨å¿…é¡»æ˜¯ r0-r3 æˆ– r12-r15"
+
+#: arc-opc.c:506
+msgid "accepted values are from -1 to 6"
+msgstr "å�¯æŽ¥å�—çš„å€¼åœ¨ -1 åˆ° 6 ä¹‹é—´"
 
 #: arc-opc.c:535
-msgid "Last register of the range doesn't fit"
-msgstr ""
-
-#: arc-opc.c:555 arc-opc.c:570
 #, fuzzy
 #| msgid "Bad register name"
-msgid "Invalid register number, should be fp"
+msgid "first register of the range should be r13"
 msgstr "%q+Dçš„å¯„å­˜å™¨å��æ— æ•ˆ"
 
-#: arc-opc.c:592
-#, fuzzy
-#| msgid "Bad register name"
-msgid "Invalid register number, should be blink"
-msgstr "%q+Dçš„å¯„å­˜å™¨å��æ— æ•ˆ"
+#: arc-opc.c:537
+msgid "last register of the range doesn't fit"
+msgstr ""
 
-#: arc-opc.c:614
-#, fuzzy
-#| msgid "Bad register name"
-msgid "Invalid register number, should be pcl"
-msgstr "%q+Dçš„å¯„å­˜å™¨å��æ— æ•ˆ"
+#: arc-opc.c:557 arc-opc.c:572
+msgid "invalid register number, should be fp"
+msgstr "æ— æ•ˆçš„å¯„å­˜å™¨æ•°ï¼Œåº”å½“ä¸º fp"
 
-#: arc-opc.c:766
-msgid "Invalid size, should be 1, 2, 4, or 8"
-msgstr ""
+#: arc-opc.c:594
+msgid "invalid register number, should be blink"
+msgstr "æ— æ•ˆçš„å¯„å­˜å™¨æ•°ï¼Œåº”å½“ä¸º blink"
+
+#: arc-opc.c:616
+msgid "invalid register number, should be pcl"
+msgstr "æ— æ•ˆçš„å¯„å­˜å™¨æ•°ï¼Œåº”å½“ä¸º pcl"
 
-#: arc-opc.c:811
+#: arc-opc.c:768
+msgid "invalid size, should be 1, 2, 4, or 8"
+msgstr "æ— æ•ˆçš„å¤§å°�ï¼Œåº”å½“ä¸º 1ã€�2ã€�4 æˆ– 8"
+
+#: arc-opc.c:813
 msgid "invalid immediate, must be 1, 2, or 4"
-msgstr ""
+msgstr "æ— æ•ˆçš„ç«‹å�³æ•°ï¼Œåº”å½“ä¸º 1ã€�2 æˆ– 4"
 
-#: arc-opc.c:850
+#: arc-opc.c:852
 #, fuzzy
 #| msgid "invalid mask field"
 msgid "invalid value for CMEM ld/st immediate"
 msgstr "ä¸�å…�è®¸è´Ÿç«‹å�³æ•°"
 
-#: arc-opc.c:877
-msgid "Invalid position, should be 0, 16, 32, 48 or 64."
+#: arc-opc.c:879
+msgid "invalid position, should be 0, 16, 32, 48 or 64."
 msgstr "æ— æ•ˆçš„ä½�ç½®ï¼Œåº”å½“ä¸º 0ã€�16ã€�32ã€�48 æˆ– 64ã€‚"
 
-#: arc-opc.c:911
-msgid "Invalid position, should be 16, 32, 64 or 128."
+#: arc-opc.c:913
+msgid "invalid position, should be 16, 32, 64 or 128."
 msgstr "æ— æ•ˆçš„ä½�ç½®ï¼Œåº”å½“ä¸º 16ã€�32ã€�64 æˆ– 128ã€‚"
 
-#: arc-opc.c:933
+#: arc-opc.c:935
 #, fuzzy
 #| msgid "immediate value out of range"
-msgid "Invalid size value must be on range 1-64."
+msgid "invalid size value must be on range 1-64."
 msgstr "ç«‹å�³æ•°è¶Šç•Œ"
 
-#: arc-opc.c:964
-msgid "Invalid position, should be 0, 8, 16, or 24"
+#: arc-opc.c:966
+#, fuzzy
+#| msgid "Invalid position, should be 0, 8, 16, or 24"
+msgid "invalid position, should be 0, 8, 16, or 24"
 msgstr "æ— æ•ˆçš„ä½�ç½®ï¼Œåº”å½“ä¸º 0ã€�8ã€�16 æˆ– 24"
 
-#: arc-opc.c:989
-#, fuzzy
-#| msgid "immediate value must be even"
-msgid "Invalid size, value must be "
-msgstr "DO æ­¥è¿›å€¼ä¸ºé›¶"
+#: arc-opc.c:991
+msgid "invalid size, value must be "
+msgstr "æ— æ•ˆçš„å¤§å°�ï¼Œå€¼å¿…é¡»ä¸º "
 
-#: arc-opc.c:1063
-#, fuzzy
-#| msgid "branch value out of range"
+#: arc-opc.c:1065
 msgid "value out of range 1 - 256"
-msgstr "è·³è½¬è¶Šç•Œ"
+msgstr "å€¼è¶Šç•Œ 1 - 256"
 
-#: arc-opc.c:1072
-#, fuzzy
-#| msgid "immediate value must be even"
+#: arc-opc.c:1074
 msgid "value must be power of 2"
-msgstr "DO æ­¥è¿›å€¼ä¸ºé›¶"
+msgstr "å€¼å¿…é¡»æ˜¯ 2 çš„å€�æ•°"
 
-#: arc-opc.c:1125
-msgid "Value must be in the range 0 to 28"
+#: arc-opc.c:1127
+msgid "value must be in the range 0 to 28"
 msgstr "å€¼å¿…é¡»åœ¨ 0 åˆ° 28 çš„èŒƒå›´ä¸­"
 
-#: arc-opc.c:1147
-msgid "Value must be in the range 1 to "
+#: arc-opc.c:1149
+msgid "value must be in the range 1 to "
 msgstr "å€¼çš„èŒƒå›´å¿…é¡»åœ¨ 1 åˆ° "
 
-#: arc-opc.c:1177
-msgid "Value must be in the range 0 to 240"
+#: arc-opc.c:1179
+msgid "value must be in the range 0 to 240"
 msgstr "å€¼å¿…é¡»åœ¨ 0 åˆ° 240 çš„èŒƒå›´ä¸­"
 
-#: arc-opc.c:1179
-msgid "Value must be a multiple of 16"
+#: arc-opc.c:1181
+msgid "value must be a multiple of 16"
 msgstr "å€¼å¿…é¡»æ˜¯ 16 çš„å€�æ•°"
 
-#: arc-opc.c:1199
-msgid "Invalid address type for operand"
-msgstr ""
+#: arc-opc.c:1201
+#, fuzzy
+msgid "invalid address type for operand"
+msgstr "æ— æ•ˆå¯»å�€æ¨¡å¼�"
 
-#: arc-opc.c:1233
-msgid "Value must be in the range 0 to 31"
+#: arc-opc.c:1235
+msgid "value must be in the range 0 to 31"
 msgstr "å€¼å¿…é¡»åœ¨ 0 åˆ° 31 çš„èŒƒå›´ä¸­"
 
-#: arc-opc.c:1258
-msgid "Invalid position, should be 0,4, 8,...124."
+#: arc-opc.c:1260
+msgid "invalid position, should be one of: 0,4,8,...124."
 msgstr "æ— æ•ˆçš„ä½�ç½®ï¼Œåº”å½“ä¸º 0ã€�4ã€�8ã€�...ã€�124ã€‚"
 
-#: arm-dis.c:3202
-#, fuzzy
-#| msgid "Bad register name"
+#: arm-dis.c:3229
 msgid "Select raw register names"
-msgstr "é”™è¯¯çš„å¯„å­˜å™¨å��"
+msgstr "é€‰æ‹©åŽŸå§‹å¯„å­˜å™¨å��ç§°"
 
-#: arm-dis.c:3204
+#: arm-dis.c:3231
 msgid "Select register names used by GCC"
-msgstr ""
+msgstr "é€‰æ‹© GCC ä½¿ç”¨çš„å¯„å­˜å™¨å��ç§°"
 
-#: arm-dis.c:3206
+#: arm-dis.c:3233
 msgid "Select register names used in ARM's ISA documentation"
-msgstr ""
+msgstr "é€‰æ‹© ARM çš„ ISA æ–‡æ¡£ä¸­ä½¿ç”¨çš„å¯„å­˜å™¨å��ç§°"
 
-#: arm-dis.c:3208
+#: arm-dis.c:3235
 msgid "Assume all insns are Thumb insns"
 msgstr ""
 
-#: arm-dis.c:3209
+#: arm-dis.c:3236
 msgid "Examine preceding label to determine an insn's type"
 msgstr ""
 
-#: arm-dis.c:3210
+#: arm-dis.c:3237
 #, fuzzy
 #| msgid "register number must be even"
 msgid "Select register names used in the APCS"
 msgstr "ç«‹å�³æ•°ä¸�èƒ½æ˜¯å¯„å­˜å™¨"
 
-#: arm-dis.c:3212
+#: arm-dis.c:3239
 #, fuzzy
 #| msgid "register number must be even"
 msgid "Select register names used in the ATPCS"
 msgstr "ç«‹å�³æ•°ä¸�èƒ½æ˜¯å¯„å­˜å™¨"
 
-#: arm-dis.c:3214
+#: arm-dis.c:3241
 msgid "Select special register names used in the ATPCS"
-msgstr ""
+msgstr "é€‰æ‹© ATPCS ä¸­ä½¿ç”¨çš„ç‰¹æ®Šå¯„å­˜å™¨å��ç§°"
 
-#: arm-dis.c:3612
+#: arm-dis.c:3639
 msgid "<illegal precision>"
 msgstr "<é�žæ³•çš„ç²¾åº¦>"
 
-#: arm-dis.c:6125
+#: arm-dis.c:6148
 #, c-format
 msgid "Unrecognised register name set: %s\n"
 msgstr "æ— æ³•è¯†åˆ«çš„å¯„å­˜å™¨å��ç§°é›†ï¼š%s\n"
 
-#: arm-dis.c:6829
+#: arm-dis.c:6852
 #, c-format
 msgid ""
 "\n"
@@ -641,10 +617,10 @@ msgstr "å��æ±‡ç¼–å™¨å†…éƒ¨é”™è¯¯"
 msgid "unknown constraint `%c'"
 msgstr "æœªçŸ¥çš„çº¦æ�Ÿâ€˜%câ€™"
 
-#: cgen-asm.c:351 epiphany-ibld.c:200 fr30-ibld.c:200 frv-ibld.c:200
-#: ip2k-ibld.c:200 iq2000-ibld.c:200 lm32-ibld.c:200 m32c-ibld.c:200
-#: m32r-ibld.c:200 mep-ibld.c:200 mt-ibld.c:200 or1k-ibld.c:200
-#: xc16x-ibld.c:200 xstormy16-ibld.c:200
+#: cgen-asm.c:351 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
+#: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201
+#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 or1k-ibld.c:201
+#: xc16x-ibld.c:201 xstormy16-ibld.c:201
 #, c-format
 msgid "operand out of range (%ld not between %ld and %ld)"
 msgstr "æ“�ä½œæ•°è¶Šç•Œ(%ld ä¸�åœ¨ %ld å’Œ %ld ä¹‹é—´)"
@@ -670,244 +646,236 @@ msgstr "æœªçŸ¥é”™è¯¯ %d\n"
 msgid "Address 0x%s is out of bounds.\n"
 msgstr "åœ°å�€ 0x%s è¶Šç•Œã€‚\n"
 
-#: epiphany-asm.c:67
+#: epiphany-asm.c:68
 #, fuzzy
 #| msgid "unrecognized form of instruction"
 msgid "register unavailable for short instructions"
 msgstr "å�¯ç”¨å¯¹çŸ­åŠ è½½æŒ‡ä»¤çš„ä½¿ç”¨"
 
-#: epiphany-asm.c:114
+#: epiphany-asm.c:115
 #, fuzzy
 #| msgid "register number must be even"
 msgid "register name used as immediate value"
 msgstr "ç«‹å�³æ•°ä¸�èƒ½æ˜¯å¯„å­˜å™¨"
 
 #. Don't treat "mov ip,ip" as a move-immediate.
-#: epiphany-asm.c:177 epiphany-asm.c:233
+#: epiphany-asm.c:178 epiphany-asm.c:234
 #, fuzzy
 msgid "register source in immediate move"
 msgstr "ç«‹å�³æ•°ä¸�èƒ½æ˜¯å¯„å­˜å™¨"
 
-#: epiphany-asm.c:186
-#, fuzzy
+#: epiphany-asm.c:187
 msgid "byte relocation unsupported"
-msgstr "ä¸�æ”¯æŒ�çš„ .stab é‡�å®šä½�"
+msgstr "ä¸�æ”¯æŒ�å­—èŠ‚é‡�å®šä½�"
 
 #. -- assembler routines inserted here.
 #. -- asm.c
-#: epiphany-asm.c:192 frv-asm.c:971 iq2000-asm.c:55 lm32-asm.c:94
-#: lm32-asm.c:126 lm32-asm.c:156 lm32-asm.c:186 lm32-asm.c:216 lm32-asm.c:246
-#: m32c-asm.c:139 m32c-asm.c:234 m32c-asm.c:275 m32c-asm.c:333 m32c-asm.c:354
-#: m32r-asm.c:52 mep-asm.c:240 mep-asm.c:258 mep-asm.c:273 mep-asm.c:288
-#: mep-asm.c:300 or1k-asm.c:53
+#: epiphany-asm.c:193 frv-asm.c:972 iq2000-asm.c:56 lm32-asm.c:95
+#: lm32-asm.c:127 lm32-asm.c:157 lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247
+#: m32c-asm.c:140 m32c-asm.c:235 m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355
+#: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289
+#: mep-asm.c:301 or1k-asm.c:54
 msgid "missing `)'"
 msgstr "ç¼ºå°‘â€˜)â€™"
 
-#: epiphany-asm.c:269
+#: epiphany-asm.c:270
 msgid "ABORT: unknown operand"
 msgstr "ä¸­æ­¢ï¼šæœªçŸ¥çš„æ“�ä½œæ•°"
 
-#: epiphany-asm.c:295
+#: epiphany-asm.c:296
 #, fuzzy
 msgid "Not a pc-relative address."
 msgstr "ç”Ÿæˆ�ç›¸å¯¹ pc çš„ä»£ç �"
 
-#: epiphany-asm.c:454 fr30-asm.c:309 frv-asm.c:1262 ip2k-asm.c:510
-#: iq2000-asm.c:458 lm32-asm.c:348 m32c-asm.c:1583 m32r-asm.c:327
-#: mep-asm.c:1286 mt-asm.c:594 or1k-asm.c:502 xc16x-asm.c:375
-#: xstormy16-asm.c:275
+#: epiphany-asm.c:455 fr30-asm.c:310 frv-asm.c:1263 ip2k-asm.c:511
+#: iq2000-asm.c:459 lm32-asm.c:349 m32c-asm.c:1584 m32r-asm.c:328
+#: mep-asm.c:1287 mt-asm.c:595 or1k-asm.c:503 xc16x-asm.c:376
+#: xstormy16-asm.c:276
 #, fuzzy, c-format
 msgid "Unrecognized field %d while parsing.\n"
 msgstr "æ‰“å�° insn æ—¶é�‡åˆ°æ— æ³•è¯†åˆ«çš„å­—æ®µ %dã€‚\n"
 
-#: epiphany-asm.c:505 fr30-asm.c:360 frv-asm.c:1313 ip2k-asm.c:561
-#: iq2000-asm.c:509 lm32-asm.c:399 m32c-asm.c:1634 m32r-asm.c:378
-#: mep-asm.c:1337 mt-asm.c:645 or1k-asm.c:553 xc16x-asm.c:426
-#: xstormy16-asm.c:326
+#: epiphany-asm.c:506 fr30-asm.c:361 frv-asm.c:1314 ip2k-asm.c:562
+#: iq2000-asm.c:510 lm32-asm.c:400 m32c-asm.c:1635 m32r-asm.c:379
+#: mep-asm.c:1338 mt-asm.c:646 or1k-asm.c:554 xc16x-asm.c:427
+#: xstormy16-asm.c:327
 msgid "missing mnemonic in syntax string"
 msgstr "è¯­æ³•å­—ç¬¦ä¸²ä¸­æ²¡æœ‰åŠ©è®°ç¬¦"
 
 #. We couldn't parse it.
-#: epiphany-asm.c:640 epiphany-asm.c:644 epiphany-asm.c:733 epiphany-asm.c:840
-#: fr30-asm.c:495 fr30-asm.c:499 fr30-asm.c:588 fr30-asm.c:695 frv-asm.c:1448
-#: frv-asm.c:1452 frv-asm.c:1541 frv-asm.c:1648 ip2k-asm.c:696 ip2k-asm.c:700
-#: ip2k-asm.c:789 ip2k-asm.c:896 iq2000-asm.c:644 iq2000-asm.c:648
-#: iq2000-asm.c:737 iq2000-asm.c:844 lm32-asm.c:534 lm32-asm.c:538
-#: lm32-asm.c:627 lm32-asm.c:734 m32c-asm.c:1769 m32c-asm.c:1773
-#: m32c-asm.c:1862 m32c-asm.c:1969 m32r-asm.c:513 m32r-asm.c:517
-#: m32r-asm.c:606 m32r-asm.c:713 mep-asm.c:1472 mep-asm.c:1476 mep-asm.c:1565
-#: mep-asm.c:1672 mt-asm.c:780 mt-asm.c:784 mt-asm.c:873 mt-asm.c:980
-#: or1k-asm.c:688 or1k-asm.c:692 or1k-asm.c:781 or1k-asm.c:888 xc16x-asm.c:561
-#: xc16x-asm.c:565 xc16x-asm.c:654 xc16x-asm.c:761 xstormy16-asm.c:461
-#: xstormy16-asm.c:465 xstormy16-asm.c:554 xstormy16-asm.c:661
+#: epiphany-asm.c:641 epiphany-asm.c:645 epiphany-asm.c:734 epiphany-asm.c:841
+#: fr30-asm.c:496 fr30-asm.c:500 fr30-asm.c:589 fr30-asm.c:696 frv-asm.c:1449
+#: frv-asm.c:1453 frv-asm.c:1542 frv-asm.c:1649 ip2k-asm.c:697 ip2k-asm.c:701
+#: ip2k-asm.c:790 ip2k-asm.c:897 iq2000-asm.c:645 iq2000-asm.c:649
+#: iq2000-asm.c:738 iq2000-asm.c:845 lm32-asm.c:535 lm32-asm.c:539
+#: lm32-asm.c:628 lm32-asm.c:735 m32c-asm.c:1770 m32c-asm.c:1774
+#: m32c-asm.c:1863 m32c-asm.c:1970 m32r-asm.c:514 m32r-asm.c:518
+#: m32r-asm.c:607 m32r-asm.c:714 mep-asm.c:1473 mep-asm.c:1477 mep-asm.c:1566
+#: mep-asm.c:1673 mt-asm.c:781 mt-asm.c:785 mt-asm.c:874 mt-asm.c:981
+#: or1k-asm.c:689 or1k-asm.c:693 or1k-asm.c:782 or1k-asm.c:889 xc16x-asm.c:562
+#: xc16x-asm.c:566 xc16x-asm.c:655 xc16x-asm.c:762 xstormy16-asm.c:462
+#: xstormy16-asm.c:466 xstormy16-asm.c:555 xstormy16-asm.c:662
 msgid "unrecognized instruction"
 msgstr "æ— æ³•è¯†åˆ«çš„æŒ‡ä»¤"
 
-#: epiphany-asm.c:687 fr30-asm.c:542 frv-asm.c:1495 ip2k-asm.c:743
-#: iq2000-asm.c:691 lm32-asm.c:581 m32c-asm.c:1816 m32r-asm.c:560
-#: mep-asm.c:1519 mt-asm.c:827 or1k-asm.c:735 xc16x-asm.c:608
-#: xstormy16-asm.c:508
+#: epiphany-asm.c:688 fr30-asm.c:543 frv-asm.c:1496 ip2k-asm.c:744
+#: iq2000-asm.c:692 lm32-asm.c:582 m32c-asm.c:1817 m32r-asm.c:561
+#: mep-asm.c:1520 mt-asm.c:828 or1k-asm.c:736 xc16x-asm.c:609
+#: xstormy16-asm.c:509
 #, c-format
 msgid "syntax error (expected char `%c', found `%c')"
 msgstr "è¯­æ³•é”™è¯¯(éœ€è¦�å­—ç¬¦â€˜%câ€™ï¼Œå¾—åˆ°â€˜%câ€™)"
 
-#: epiphany-asm.c:697 fr30-asm.c:552 frv-asm.c:1505 ip2k-asm.c:753
-#: iq2000-asm.c:701 lm32-asm.c:591 m32c-asm.c:1826 m32r-asm.c:570
-#: mep-asm.c:1529 mt-asm.c:837 or1k-asm.c:745 xc16x-asm.c:618
-#: xstormy16-asm.c:518
+#: epiphany-asm.c:698 fr30-asm.c:553 frv-asm.c:1506 ip2k-asm.c:754
+#: iq2000-asm.c:702 lm32-asm.c:592 m32c-asm.c:1827 m32r-asm.c:571
+#: mep-asm.c:1530 mt-asm.c:838 or1k-asm.c:746 xc16x-asm.c:619
+#: xstormy16-asm.c:519
 #, c-format
 msgid "syntax error (expected char `%c', found end of instruction)"
 msgstr "è¯­æ³•é”™è¯¯(éœ€è¦�å­—ç¬¦â€˜%câ€™ï¼Œå�´åˆ°è¾¾æŒ‡ä»¤å°¾)"
 
-#: epiphany-asm.c:727 fr30-asm.c:582 frv-asm.c:1535 ip2k-asm.c:783
-#: iq2000-asm.c:731 lm32-asm.c:621 m32c-asm.c:1856 m32r-asm.c:600
-#: mep-asm.c:1559 mt-asm.c:867 or1k-asm.c:775 xc16x-asm.c:648
-#: xstormy16-asm.c:548
+#: epiphany-asm.c:728 fr30-asm.c:583 frv-asm.c:1536 ip2k-asm.c:784
+#: iq2000-asm.c:732 lm32-asm.c:622 m32c-asm.c:1857 m32r-asm.c:601
+#: mep-asm.c:1560 mt-asm.c:868 or1k-asm.c:776 xc16x-asm.c:649
+#: xstormy16-asm.c:549
 msgid "junk at end of line"
 msgstr "è¡Œå°¾æœ‰åžƒåœ¾å­—ç¬¦"
 
-#: epiphany-asm.c:839 fr30-asm.c:694 frv-asm.c:1647 ip2k-asm.c:895
-#: iq2000-asm.c:843 lm32-asm.c:733 m32c-asm.c:1968 m32r-asm.c:712
-#: mep-asm.c:1671 mt-asm.c:979 or1k-asm.c:887 xc16x-asm.c:760
-#: xstormy16-asm.c:660
+#: epiphany-asm.c:840 fr30-asm.c:695 frv-asm.c:1648 ip2k-asm.c:896
+#: iq2000-asm.c:844 lm32-asm.c:734 m32c-asm.c:1969 m32r-asm.c:713
+#: mep-asm.c:1672 mt-asm.c:980 or1k-asm.c:888 xc16x-asm.c:761
+#: xstormy16-asm.c:661
 msgid "unrecognized form of instruction"
 msgstr "æ— æ³•è¯†åˆ«çš„æŒ‡ä»¤æ ¼å¼�"
 
-#: epiphany-asm.c:853 fr30-asm.c:708 frv-asm.c:1661 ip2k-asm.c:909
-#: iq2000-asm.c:857 lm32-asm.c:747 m32c-asm.c:1982 m32r-asm.c:726
-#: mep-asm.c:1685 mt-asm.c:993 or1k-asm.c:901 xc16x-asm.c:774
-#: xstormy16-asm.c:674
+#: epiphany-asm.c:854 fr30-asm.c:709 frv-asm.c:1662 ip2k-asm.c:910
+#: iq2000-asm.c:858 lm32-asm.c:748 m32c-asm.c:1983 m32r-asm.c:727
+#: mep-asm.c:1686 mt-asm.c:994 or1k-asm.c:902 xc16x-asm.c:775
+#: xstormy16-asm.c:675
 #, c-format
 msgid "bad instruction `%.50s...'"
 msgstr "é”™è¯¯çš„æŒ‡ä»¤â€˜%.50s...â€™"
 
-#: epiphany-asm.c:856 fr30-asm.c:711 frv-asm.c:1664 ip2k-asm.c:912
-#: iq2000-asm.c:860 lm32-asm.c:750 m32c-asm.c:1985 m32r-asm.c:729
-#: mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:904 xc16x-asm.c:777
-#: xstormy16-asm.c:677
+#: epiphany-asm.c:857 fr30-asm.c:712 frv-asm.c:1665 ip2k-asm.c:913
+#: iq2000-asm.c:861 lm32-asm.c:751 m32c-asm.c:1986 m32r-asm.c:730
+#: mep-asm.c:1689 mt-asm.c:997 or1k-asm.c:905 xc16x-asm.c:778
+#: xstormy16-asm.c:678
 #, c-format
 msgid "bad instruction `%.50s'"
 msgstr "é”™è¯¯çš„æŒ‡ä»¤â€˜%.50sâ€™"
 
 #. Default text to print if an instruction isn't recognized.
-#: epiphany-dis.c:40 fr30-dis.c:40 frv-dis.c:40 ip2k-dis.c:40 iq2000-dis.c:40
-#: lm32-dis.c:40 m32c-dis.c:40 m32r-dis.c:40 mep-dis.c:40 mmix-dis.c:276
-#: mt-dis.c:40 nds32-dis.c:39 or1k-dis.c:40 xc16x-dis.c:40 xstormy16-dis.c:40
+#: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41
+#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:276
+#: mt-dis.c:41 nds32-dis.c:39 or1k-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41
 msgid "*unknown*"
 msgstr "*æœªçŸ¥*"
 
-#: epiphany-dis.c:277 fr30-dis.c:298 frv-dis.c:395 ip2k-dis.c:287
-#: iq2000-dis.c:188 lm32-dis.c:146 m32c-dis.c:890 m32r-dis.c:278
-#: mep-dis.c:1186 mt-dis.c:289 or1k-dis.c:140 xc16x-dis.c:419
-#: xstormy16-dis.c:167
+#: epiphany-dis.c:278 fr30-dis.c:299 frv-dis.c:396 ip2k-dis.c:288
+#: iq2000-dis.c:189 lm32-dis.c:147 m32c-dis.c:891 m32r-dis.c:279
+#: mep-dis.c:1187 mt-dis.c:290 or1k-dis.c:141 xc16x-dis.c:420
+#: xstormy16-dis.c:168
 #, c-format
 msgid "Unrecognized field %d while printing insn.\n"
 msgstr "æ‰“å�° insn æ—¶é�‡åˆ°æ— æ³•è¯†åˆ«çš„å­—æ®µ %dã€‚\n"
 
-#: epiphany-ibld.c:163 fr30-ibld.c:163 frv-ibld.c:163 ip2k-ibld.c:163
-#: iq2000-ibld.c:163 lm32-ibld.c:163 m32c-ibld.c:163 m32r-ibld.c:163
-#: mep-ibld.c:163 mt-ibld.c:163 or1k-ibld.c:163 xc16x-ibld.c:163
-#: xstormy16-ibld.c:163
+#: epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164 ip2k-ibld.c:164
+#: iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164
+#: mep-ibld.c:164 mt-ibld.c:164 or1k-ibld.c:164 xc16x-ibld.c:164
+#: xstormy16-ibld.c:164
 #, c-format
 msgid "operand out of range (%ld not between %ld and %lu)"
 msgstr "æ“�ä½œæ•°è¶Šç•Œ (%ld ä¸�åœ¨ %ld å’Œ %lu ä¹‹é—´)"
 
-#: epiphany-ibld.c:184 fr30-ibld.c:184 frv-ibld.c:184 ip2k-ibld.c:184
-#: iq2000-ibld.c:184 lm32-ibld.c:184 m32c-ibld.c:184 m32r-ibld.c:184
-#: mep-ibld.c:184 mt-ibld.c:184 or1k-ibld.c:184 xc16x-ibld.c:184
-#: xstormy16-ibld.c:184
+#: epiphany-ibld.c:185 fr30-ibld.c:185 frv-ibld.c:185 ip2k-ibld.c:185
+#: iq2000-ibld.c:185 lm32-ibld.c:185 m32c-ibld.c:185 m32r-ibld.c:185
+#: mep-ibld.c:185 mt-ibld.c:185 or1k-ibld.c:185 xc16x-ibld.c:185
+#: xstormy16-ibld.c:185
 #, fuzzy, c-format
 #| msgid "operand out of range (%lu not between 0 and %lu)"
 msgid "operand out of range (0x%lx not between 0 and 0x%lx)"
 msgstr "æ“�ä½œæ•°è¶…å‡ºèŒƒå›´ (0x %lx è¯·ä¸�æ˜¯ 0 å’Œ 0x %lx ä¹‹é—´)"
 
-#: epiphany-ibld.c:878 fr30-ibld.c:733 frv-ibld.c:859 ip2k-ibld.c:610
-#: iq2000-ibld.c:716 lm32-ibld.c:637 m32c-ibld.c:1734 m32r-ibld.c:668
-#: mep-ibld.c:1211 mt-ibld.c:752 or1k-ibld.c:649 xc16x-ibld.c:755
-#: xstormy16-ibld.c:681
+#: epiphany-ibld.c:879 fr30-ibld.c:734 frv-ibld.c:860 ip2k-ibld.c:611
+#: iq2000-ibld.c:717 lm32-ibld.c:638 m32c-ibld.c:1735 m32r-ibld.c:669
+#: mep-ibld.c:1212 mt-ibld.c:753 or1k-ibld.c:650 xc16x-ibld.c:756
+#: xstormy16-ibld.c:682
 #, c-format
 msgid "Unrecognized field %d while building insn.\n"
 msgstr "å»ºç«‹ insn æ—¶é�‡åˆ°æ— æ³•è¯†åˆ«çš„å­—æ®µ %dã€‚\n"
 
-#: epiphany-ibld.c:1172 fr30-ibld.c:938 frv-ibld.c:1176 ip2k-ibld.c:685
-#: iq2000-ibld.c:891 lm32-ibld.c:741 m32c-ibld.c:2895 m32r-ibld.c:805
-#: mep-ibld.c:1810 mt-ibld.c:972 or1k-ibld.c:754 xc16x-ibld.c:975
-#: xstormy16-ibld.c:827
+#: epiphany-ibld.c:1173 fr30-ibld.c:939 frv-ibld.c:1177 ip2k-ibld.c:686
+#: iq2000-ibld.c:892 lm32-ibld.c:742 m32c-ibld.c:2896 m32r-ibld.c:806
+#: mep-ibld.c:1811 mt-ibld.c:973 or1k-ibld.c:755 xc16x-ibld.c:976
+#: xstormy16-ibld.c:828
 #, c-format
 msgid "Unrecognized field %d while decoding insn.\n"
 msgstr "è§£ç � insn æ—¶é�‡åˆ°æ— æ³•è¯†åˆ«çš„å­—æ®µ %dã€‚\n"
 
-#: epiphany-ibld.c:1315 fr30-ibld.c:1084 frv-ibld.c:1454 ip2k-ibld.c:759
-#: iq2000-ibld.c:1022 lm32-ibld.c:830 m32c-ibld.c:3512 m32r-ibld.c:918
-#: mep-ibld.c:2280 mt-ibld.c:1172 or1k-ibld.c:837 xc16x-ibld.c:1196
-#: xstormy16-ibld.c:937
+#: epiphany-ibld.c:1316 fr30-ibld.c:1085 frv-ibld.c:1455 ip2k-ibld.c:760
+#: iq2000-ibld.c:1023 lm32-ibld.c:831 m32c-ibld.c:3513 m32r-ibld.c:919
+#: mep-ibld.c:2281 mt-ibld.c:1173 or1k-ibld.c:838 xc16x-ibld.c:1197
+#: xstormy16-ibld.c:938
 #, c-format
 msgid "Unrecognized field %d while getting int operand.\n"
 msgstr "èŽ·å¾— int æ“�ä½œæ•°æ—¶é�‡åˆ°æ— æ³•è¯†åˆ«çš„å­—æ®µ %dã€‚\n"
 
-#: epiphany-ibld.c:1440 fr30-ibld.c:1212 frv-ibld.c:1714 ip2k-ibld.c:815
-#: iq2000-ibld.c:1135 lm32-ibld.c:901 m32c-ibld.c:4111 m32r-ibld.c:1013
-#: mep-ibld.c:2732 mt-ibld.c:1354 or1k-ibld.c:902 xc16x-ibld.c:1399
-#: xstormy16-ibld.c:1029
+#: epiphany-ibld.c:1441 fr30-ibld.c:1213 frv-ibld.c:1715 ip2k-ibld.c:816
+#: iq2000-ibld.c:1136 lm32-ibld.c:902 m32c-ibld.c:4112 m32r-ibld.c:1014
+#: mep-ibld.c:2733 mt-ibld.c:1355 or1k-ibld.c:903 xc16x-ibld.c:1400
+#: xstormy16-ibld.c:1030
 #, c-format
 msgid "Unrecognized field %d while getting vma operand.\n"
 msgstr "èŽ·å¾— vma æ“�ä½œæ•°æ—¶é�‡åˆ°æ— æ³•è¯†åˆ«çš„å­—æ®µ %dã€‚\n"
 
-#: epiphany-ibld.c:1572 fr30-ibld.c:1343 frv-ibld.c:1981 ip2k-ibld.c:874
-#: iq2000-ibld.c:1255 lm32-ibld.c:979 m32c-ibld.c:4698 m32r-ibld.c:1114
-#: mep-ibld.c:3145 mt-ibld.c:1543 or1k-ibld.c:974 xc16x-ibld.c:1603
-#: xstormy16-ibld.c:1128
+#: epiphany-ibld.c:1573 fr30-ibld.c:1344 frv-ibld.c:1982 ip2k-ibld.c:875
+#: iq2000-ibld.c:1256 lm32-ibld.c:980 m32c-ibld.c:4699 m32r-ibld.c:1115
+#: mep-ibld.c:3146 mt-ibld.c:1544 or1k-ibld.c:975 xc16x-ibld.c:1604
+#: xstormy16-ibld.c:1129
 #, c-format
 msgid "Unrecognized field %d while setting int operand.\n"
 msgstr "è®¾ç½® int æ“�ä½œæ•°æ—¶é�‡åˆ°æ— æ³•è¯†åˆ«çš„å­—æ®µ %dã€‚\n"
 
-#: epiphany-ibld.c:1694 fr30-ibld.c:1464 frv-ibld.c:2238 ip2k-ibld.c:923
-#: iq2000-ibld.c:1365 lm32-ibld.c:1047 m32c-ibld.c:5275 m32r-ibld.c:1205
-#: mep-ibld.c:3548 mt-ibld.c:1722 or1k-ibld.c:1036 xc16x-ibld.c:1797
-#: xstormy16-ibld.c:1217
+#: epiphany-ibld.c:1695 fr30-ibld.c:1465 frv-ibld.c:2239 ip2k-ibld.c:924
+#: iq2000-ibld.c:1366 lm32-ibld.c:1048 m32c-ibld.c:5276 m32r-ibld.c:1206
+#: mep-ibld.c:3549 mt-ibld.c:1723 or1k-ibld.c:1037 xc16x-ibld.c:1798
+#: xstormy16-ibld.c:1218
 #, c-format
 msgid "Unrecognized field %d while setting vma operand.\n"
 msgstr "è®¾ç½® vma æ“�ä½œæ•°æ—¶é�‡åˆ°æ— æ³•è¯†åˆ«çš„å­—æ®µ %dã€‚\n"
 
-#: fr30-asm.c:92 m32c-asm.c:871 m32c-asm.c:878
-#, fuzzy
-#| msgid "register number must be even"
+#: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879
 msgid "Register number is not valid"
-msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
+msgstr "å¯„å­˜å™¨æ•°å­—æ— æ•ˆ"
 
-#: fr30-asm.c:94
-#, fuzzy
-#| msgid "register number must be even"
+#: fr30-asm.c:95
 msgid "Register must be between r0 and r7"
-msgstr "ç™»è®°å†Œå¿…é¡» r0 å’Œ r7 ä¹‹é—´"
+msgstr "å¯„å­˜å™¨å¿…é¡» r0 å’Œ r7 ä¹‹é—´"
 
-#: fr30-asm.c:96
-#, fuzzy
-#| msgid "register number must be even"
+#: fr30-asm.c:97
 msgid "Register must be between r8 and r15"
-msgstr "ç™»è®°å†Œå¿…é¡» r8 å’Œ r15 ä¹‹é—´"
+msgstr "å¯„å­˜å™¨å¿…é¡» r8 å’Œ r15 ä¹‹é—´"
 
-#: fr30-asm.c:115 m32c-asm.c:909
-#, fuzzy
+#: fr30-asm.c:116 m32c-asm.c:910
 msgid "Register list is not valid"
-msgstr "æ³¨å†Œ"
+msgstr "å¯„å­˜å™¨åˆ—è¡¨æ— æ•ˆ"
 
-#: frv-asm.c:607
+#: frv-asm.c:608
 msgid "missing `]'"
 msgstr "ç¼ºå°‘ `]'"
 
-#: frv-asm.c:610 frv-asm.c:620
+#: frv-asm.c:611 frv-asm.c:621
 #, fuzzy
 #| msgid "immediate value is out of range"
 msgid "Special purpose register number is out of range"
 msgstr "ä¸“ç”¨å¯„å­˜å™¨çš„ç¼–å�·æ˜¯è¶…å‡ºèŒƒå›´"
 
-#: frv-asm.c:907
+#: frv-asm.c:908
 #, fuzzy
 msgid "Value of A operand must be 0 or 1"
 msgstr "æ•°å­—å¿…é¡»æ˜¯ 0 æˆ– 1"
 
-#: frv-asm.c:943
+#: frv-asm.c:944
 msgid "register number must be even"
 msgstr "å¯„å­˜å™¨æ•°å¿…é¡»æ˜¯å�¶æ•°"
 
@@ -917,9 +885,9 @@ msgid "Hmmmm 0x%x"
 msgstr "å’¦... 0x%x"
 
 #: h8300-dis.c:690
-#, fuzzy, c-format
+#, c-format
 msgid "Don't understand 0x%x \n"
-msgstr "æ— æ³•è¯†åˆ«çš„é‡�å®šä½�ç±»åž‹ 0x%x"
+msgstr "æ— æ³•è¯†åˆ« 0x%x \n"
 
 #: h8500-dis.c:123
 #, fuzzy, c-format
@@ -932,11 +900,11 @@ msgstr "æ— æ³•æ¸…é™¤æœªæ¿€æ´»çš„å¯†é’¥ %
 msgid "%02x\t\t*unknown*"
 msgstr "%02x\t\t*æœªçŸ¥*"
 
-#: i386-dis.c:12280
+#: i386-dis.c:12330
 msgid "<internal disassembler error>"
 msgstr "<å��æ±‡ç¼–å™¨å†…éƒ¨é”™è¯¯>"
 
-#: i386-dis.c:12579
+#: i386-dis.c:12625
 #, c-format
 msgid ""
 "\n"
@@ -946,151 +914,151 @@ msgstr ""
 "\n"
 "ä¸‹åˆ— i386/x86-64 ç‰¹å®šçš„å��æ±‡ç¼–å™¨é€‰é¡¹åœ¨ä½¿ç”¨ -M å¼€å…³æ—¶å�¯ç”¨ï¼ˆä½¿ç”¨é€—å�·åˆ†éš”å¤šä¸ªé€‰é¡¹ï¼‰ï¼š\n"
 
-#: i386-dis.c:12583
+#: i386-dis.c:12629
 #, c-format
 msgid "  x86-64      Disassemble in 64bit mode\n"
 msgstr "  x86-64      åœ¨ 64 ä½�æ¨¡å¼�ä¸‹å��æ±‡ç¼–\n"
 
-#: i386-dis.c:12584
+#: i386-dis.c:12630
 #, c-format
 msgid "  i386        Disassemble in 32bit mode\n"
 msgstr "  i386        åœ¨ 32 ä½�æ¨¡å¼�ä¸‹å��æ±‡ç¼–\n"
 
-#: i386-dis.c:12585
+#: i386-dis.c:12631
 #, c-format
 msgid "  i8086       Disassemble in 16bit mode\n"
 msgstr "  i8086       åœ¨ 16 ä½�æ¨¡å¼�ä¸‹å��æ±‡ç¼–\n"
 
-#: i386-dis.c:12586
+#: i386-dis.c:12632
 #, c-format
 msgid "  att         Display instruction in AT&T syntax\n"
 msgstr "  att         ç”¨ AT&T è¯­æ³•æ˜¾ç¤ºæŒ‡ä»¤\n"
 
-#: i386-dis.c:12587
+#: i386-dis.c:12633
 #, c-format
 msgid "  intel       Display instruction in Intel syntax\n"
 msgstr "  intel       ç”¨ Intel è¯­æ³•æ˜¾ç¤ºæŒ‡ä»¤\n"
 
-#: i386-dis.c:12588
+#: i386-dis.c:12634
 #, fuzzy, c-format
 msgid ""
 "  att-mnemonic\n"
 "              Display instruction in AT&T mnemonic\n"
 msgstr "  att         ç”¨ AT&T è¯­æ³•æ˜¾ç¤ºæŒ‡ä»¤\n"
 
-#: i386-dis.c:12590
+#: i386-dis.c:12636
 #, fuzzy, c-format
 msgid ""
 "  intel-mnemonic\n"
 "              Display instruction in Intel mnemonic\n"
 msgstr "  intel       ç”¨ Intel è¯­æ³•æ˜¾ç¤ºæŒ‡ä»¤\n"
 
-#: i386-dis.c:12592
+#: i386-dis.c:12638
 #, c-format
 msgid "  addr64      Assume 64bit address size\n"
 msgstr "  addr64      å�‡å®š 64 ä½�åœ°å�€å¤§å°�\n"
 
-#: i386-dis.c:12593
+#: i386-dis.c:12639
 #, c-format
 msgid "  addr32      Assume 32bit address size\n"
 msgstr "  addr32      å�‡å®š 32 ä½�åœ°å�€å¤§å°�\n"
 
-#: i386-dis.c:12594
+#: i386-dis.c:12640
 #, c-format
 msgid "  addr16      Assume 16bit address size\n"
 msgstr "  addr16      å�‡å®š 16 ä½�åœ°å�€å¤§å°�\n"
 
-#: i386-dis.c:12595
+#: i386-dis.c:12641
 #, c-format
 msgid "  data32      Assume 32bit data size\n"
 msgstr "  data32      å�‡å®š 32 ä½�æ•°æ�®å¤§å°�\n"
 
-#: i386-dis.c:12596
+#: i386-dis.c:12642
 #, c-format
 msgid "  data16      Assume 16bit data size\n"
 msgstr "  data16      å�‡å®š 16 ä½�æ•°æ�®å¤§å°�\n"
 
-#: i386-dis.c:12597
+#: i386-dis.c:12643
 #, c-format
 msgid "  suffix      Always display instruction suffix in AT&T syntax\n"
 msgstr "  suffix      åœ¨ AT&T è¯­æ³•ä¸­å§‹ç»ˆæ˜¾ç¤ºæŒ‡ä»¤å�Žç¼€\n"
 
-#: i386-dis.c:12598
+#: i386-dis.c:12644
 #, fuzzy, c-format
 #| msgid "  att         Display instruction in AT&T syntax\n"
 msgid "  amd64       Display instruction in AMD64 ISA\n"
 msgstr "  att         ç”¨ AT&T è¯­æ³•æ˜¾ç¤ºæŒ‡ä»¤\n"
 
-#: i386-dis.c:12599
+#: i386-dis.c:12645
 #, fuzzy, c-format
 #| msgid "  intel       Display instruction in Intel syntax\n"
 msgid "  intel64     Display instruction in Intel64 ISA\n"
 msgstr "  intel       ç”¨ Intel è¯­æ³•æ˜¾ç¤ºæŒ‡ä»¤\n"
 
-#: i386-dis.c:13150
+#: i386-dis.c:13190
 msgid "64-bit address is disabled"
 msgstr "64 ä½�åœ°å�€å·²ç¦�ç”¨"
 
-#: i386-gen.c:683 ia64-gen.c:306
+#: i386-gen.c:711 ia64-gen.c:306
 #, c-format
 msgid "%s: Error: "
 msgstr "%sï¼šé”™è¯¯ï¼š"
 
-#: i386-gen.c:847
+#: i386-gen.c:890
 #, fuzzy, c-format
 msgid "%s: %d: Unknown bitfield: %s\n"
 msgstr "è¡Œ %dï¼šæœªçŸ¥æ ‡ç­¾ï¼š%s\n"
 
-#: i386-gen.c:849
+#: i386-gen.c:892
 #, fuzzy, c-format
 #| msgid "Unknown error %d\n"
 msgid "Unknown bitfield: %s\n"
 msgstr "%sï¼šæœªçŸ¥å‡½æ•°â€˜%uâ€™\n"
 
-#: i386-gen.c:908
+#: i386-gen.c:955
 #, fuzzy, c-format
 msgid "%s: %d: Missing `)' in bitfield: %s\n"
 msgstr "ç¼ºå°‘ %s%d %sï¼š%s\n"
 
-#: i386-gen.c:1179
+#: i386-gen.c:1256
 #, fuzzy, c-format
 msgid "can't find i386-opc.tbl for reading, errno = %s\n"
 msgstr "æ‰¾ä¸�åˆ°é˜…è¯»ï¼Œerrno i386 opc.tbl = %s"
 
-#: i386-gen.c:1310
+#: i386-gen.c:1387
 #, fuzzy, c-format
 msgid "can't find i386-reg.tbl for reading, errno = %s\n"
 msgstr "æ‰¾ä¸�åˆ°é˜…è¯»ï¼Œerrno i386 reg.tbl = %s"
 
-#: i386-gen.c:1387
+#: i386-gen.c:1465
 #, fuzzy, c-format
 msgid "can't create i386-init.h, errno = %s\n"
 msgstr "æ— æ³•åˆ›å»º i386-init.hï¼Œerrno = %s"
 
-#: i386-gen.c:1477 ia64-gen.c:2829
+#: i386-gen.c:1555 ia64-gen.c:2829
 #, c-format
 msgid "unable to change directory to \"%s\", errno = %s\n"
 msgstr "æ— æ³•å°†å½“å‰�ç›®å½•åˆ‡æ�¢è‡³â€œ%sâ€�ï¼Œerrno = %s\n"
 
-#: i386-gen.c:1489 i386-gen.c:1492
+#: i386-gen.c:1567 i386-gen.c:1570
 #, c-format
 msgid "CpuMax != %d!\n"
 msgstr ""
 
-#: i386-gen.c:1496
+#: i386-gen.c:1574
 #, c-format
 msgid "%d unused bits in i386_cpu_flags.\n"
 msgstr ""
 
-#: i386-gen.c:1503
+#: i386-gen.c:1581
 #, fuzzy, c-format
 msgid "%d unused bits in i386_operand_type.\n"
 msgstr "%d æœªä½¿ç”¨çš„é’»å¤´åœ¨ i386_operand_typeã€‚"
 
-#: i386-gen.c:1517
-#, fuzzy, c-format
+#: i386-gen.c:1595
+#, c-format
 msgid "can't create i386-tbl.h, errno = %s\n"
-msgstr "æ— æ³•åˆ›å»º i386-tbl.hï¼Œerrno = %s"
+msgstr "æ— æ³•åˆ›å»º i386-tbl.hï¼Œerrno = %s\n"
 
 #: ia64-gen.c:319
 #, c-format
@@ -1196,85 +1164,85 @@ msgstr "å°šæœªå®šä¹‰å��ä¸ºâ€œ%sâ€�çš„ <d
 
 #. We've been passed a w.  Return with an error message so that
 #. cgen will try the next parsing option.
-#: ip2k-asm.c:80
+#: ip2k-asm.c:81
 msgid "W keyword invalid in FR operand slot."
 msgstr "W å…³é”®å­—é�žæ³•ï¼Œåœ¨ FR æ“�ä½œæ•°æ§½ä½�ä¸­ã€‚"
 
 #. Invalid offset present.
-#: ip2k-asm.c:105
+#: ip2k-asm.c:106
 msgid "offset(IP) is not a valid form"
 msgstr "å��ç§»é‡�ï¼ˆIPï¼‰ä¸�æ˜¯å�ˆæ³•æ ¼å¼�"
 
 #. Found something there in front of (DP) but it's out
 #. of range.
-#: ip2k-asm.c:153
+#: ip2k-asm.c:154
 msgid "(DP) offset out of range."
 msgstr "(DP) å��ç§»é‡�è¶Šç•Œ"
 
 #. Found something there in front of (SP) but it's out
 #. of range.
-#: ip2k-asm.c:194
+#: ip2k-asm.c:195
 msgid "(SP) offset out of range."
 msgstr "(SP) å��ç§»é‡�è¶Šç•Œã€‚"
 
-#: ip2k-asm.c:210
+#: ip2k-asm.c:211
 msgid "illegal use of parentheses"
 msgstr "æ‹¬å�·ç”¨æ³•é�žæ³•"
 
-#: ip2k-asm.c:217
+#: ip2k-asm.c:218
 #, fuzzy
 msgid "operand out of range (not between 1 and 255)"
 msgstr "æ“�ä½œæ•°è¶Šç•Œ(%ld ä¸�åœ¨ %ld å’Œ %ld ä¹‹é—´)"
 
 #. Something is very wrong. opindex has to be one of the above.
-#: ip2k-asm.c:241
+#: ip2k-asm.c:242
 #, fuzzy
 msgid "parse_addr16: invalid opindex."
 msgstr "æ— æ•ˆçš„â€˜asmâ€™ï¼š"
 
-#: ip2k-asm.c:295
+#: ip2k-asm.c:296
 msgid "Byte address required. - must be even."
 msgstr ""
 
-#: ip2k-asm.c:304
+#: ip2k-asm.c:305
 msgid "cgen_parse_address returned a symbol. Literal required."
 msgstr ""
 
-#: ip2k-asm.c:359
+#: ip2k-asm.c:360
 #, fuzzy
 msgid "percent-operator operand is not a symbol"
 msgstr "%%Lå¤„çš„ .not. è¿�ç®—ç¬¦çš„æ“�ä½œæ•°ä¸º %s"
 
-#: ip2k-asm.c:412
+#: ip2k-asm.c:413
 msgid "Attempt to find bit index of 0"
 msgstr ""
 
-#: iq2000-asm.c:111 iq2000-asm.c:141
+#: iq2000-asm.c:112 iq2000-asm.c:142
 msgid "immediate value cannot be register"
 msgstr "ç«‹å�³æ•°ä¸�èƒ½æ˜¯å¯„å­˜å™¨"
 
-#: iq2000-asm.c:122 iq2000-asm.c:152 lm32-asm.c:69
+#: iq2000-asm.c:123 iq2000-asm.c:153 lm32-asm.c:70
 msgid "immediate value out of range"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ"
 
-#: iq2000-asm.c:181
+#: iq2000-asm.c:182
 msgid "21-bit offset out of range"
 msgstr "21ä½�é•¿çš„å��ç§»é‡�è¶Šç•Œ"
 
-#: lm32-asm.c:165
+#: lm32-asm.c:166
 #, fuzzy
 msgid "expecting gp relative address: gp(symbol)"
 msgstr "ä¸�èƒ½ä½¿ç”¨é�ž GP ç›¸å¯¹çš„ç»�å¯¹åœ°å�€"
 
-#: lm32-asm.c:195
+#: lm32-asm.c:196
 msgid "expecting got relative address: got(symbol)"
 msgstr ""
 
-#: lm32-asm.c:225
+#: lm32-asm.c:226
 msgid "expecting got relative address: gotoffhi16(symbol)"
 msgstr ""
 
-#: lm32-asm.c:255
+#: lm32-asm.c:256
 msgid "expecting got relative address: gotofflo16(symbol)"
 msgstr ""
 
@@ -1288,82 +1256,82 @@ msgstr "æœªçŸ¥\t0x%04lx"
 msgid "unknown\t0x%02lx"
 msgstr "æœªçŸ¥\t0x%02lx"
 
-#: m32c-asm.c:116
+#: m32c-asm.c:117
 msgid "imm:6 immediate is out of range"
 msgstr "imm:6 ç«‹å�³æ•°è¶Šç•Œ"
 
-#: m32c-asm.c:144
+#: m32c-asm.c:145
 #, c-format
 msgid "%dsp8() takes a symbolic address, not a number"
 msgstr "%dsp8() ä½¿ç”¨ä¸€ä¸ªç¬¦å�·åœ°å�€ï¼Œè€Œé�žæ•°å­—"
 
-#: m32c-asm.c:158 m32c-asm.c:162 m32c-asm.c:252
+#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:253
 msgid "dsp:8 immediate is out of range"
 msgstr "dsp:8 ç«‹å�³æ•°è¶Šç•Œ"
 
-#: m32c-asm.c:183 m32c-asm.c:187
+#: m32c-asm.c:184 m32c-asm.c:188
 msgid "Immediate is out of range -8 to 7"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ (-8 åˆ° 7)"
 
-#: m32c-asm.c:208 m32c-asm.c:212
+#: m32c-asm.c:209 m32c-asm.c:213
 msgid "Immediate is out of range -7 to 8"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ (-7 åˆ° 8)"
 
-#: m32c-asm.c:280
+#: m32c-asm.c:281
 #, c-format
 msgid "%dsp16() takes a symbolic address, not a number"
 msgstr "%dsp16() ä½¿ç”¨ä¸€ä¸ªç¬¦å�·åœ°å�€ï¼Œè€Œé�žæ•°å­—"
 
-#: m32c-asm.c:304 m32c-asm.c:311 m32c-asm.c:372
+#: m32c-asm.c:305 m32c-asm.c:312 m32c-asm.c:373
 msgid "dsp:16 immediate is out of range"
 msgstr "dsp:16 ç«‹å�³æ•°è¶Šç•Œ"
 
-#: m32c-asm.c:398
+#: m32c-asm.c:399
 msgid "dsp:20 immediate is out of range"
 msgstr "dsp:20 ç«‹å�³æ•°è¶Šç•Œ"
 
-#: m32c-asm.c:424 m32c-asm.c:444
+#: m32c-asm.c:425 m32c-asm.c:445
 msgid "dsp:24 immediate is out of range"
 msgstr "dsp:24 ç«‹å�³æ•°è¶Šç•Œ"
 
-#: m32c-asm.c:477
+#: m32c-asm.c:478
 msgid "immediate is out of range 1-2"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ 1-2"
 
-#: m32c-asm.c:495
+#: m32c-asm.c:496
 msgid "immediate is out of range 1-8"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ 1-8"
 
-#: m32c-asm.c:513
+#: m32c-asm.c:514
 msgid "immediate is out of range 0-7"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ 0-7"
 
-#: m32c-asm.c:549
+#: m32c-asm.c:550
 msgid "immediate is out of range 2-9"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ 2-9"
 
-#: m32c-asm.c:567
+#: m32c-asm.c:568
 msgid "Bit number for indexing general register is out of range 0-15"
 msgstr ""
 
-#: m32c-asm.c:605 m32c-asm.c:661
+#: m32c-asm.c:606 m32c-asm.c:662
 #, fuzzy
 #| msgid "immediate value is out of range"
 msgid "bit,base is out of range"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ"
 
-#: m32c-asm.c:612 m32c-asm.c:617 m32c-asm.c:665
+#: m32c-asm.c:613 m32c-asm.c:618 m32c-asm.c:666
 #, fuzzy
 #| msgid "21-bit offset out of range"
 msgid "bit,base out of range for symbol"
 msgstr "21ä½�é•¿çš„å��ç§»é‡�è¶Šç•Œ"
 
-#: m32c-asm.c:801
+#: m32c-asm.c:802
 #, fuzzy
 msgid "not a valid r0l/r0h pair"
 msgstr "æœ‰æ•ˆçš„å�‚æ•°ä¸ºï¼š\n"
 
-#: m32c-asm.c:831
+#: m32c-asm.c:832
 #, fuzzy
 #| msgid "invalid mask field"
 msgid "Invalid size specifier"
@@ -1384,36 +1352,36 @@ msgstr "<æ“�ä½œæ•°è¡¨ä¸­å‡ºçŽ°å†…éƒ¨é”™è
 msgid "# <dis error: %08lx>"
 msgstr "# <å��æ±‡ç¼–å‡ºé”™: %08lx>"
 
-#: mep-asm.c:128
+#: mep-asm.c:129
 msgid "Only $tp or $13 allowed for this opcode"
 msgstr ""
 
-#: mep-asm.c:142
+#: mep-asm.c:143
 msgid "Only $sp or $15 allowed for this opcode"
 msgstr ""
 
-#: mep-asm.c:307 mep-asm.c:503
+#: mep-asm.c:308 mep-asm.c:504
 #, fuzzy, c-format
 msgid "invalid %function() here"
 msgstr "%qEæœªå£°æ˜Ž(ä¸�åœ¨å‡½æ•°å†…)"
 
-#: mep-asm.c:335
+#: mep-asm.c:336
 msgid "Immediate is out of range -32768 to 32767"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ (-32768 åˆ° 32767)"
 
-#: mep-asm.c:355
+#: mep-asm.c:356
 msgid "Immediate is out of range 0 to 65535"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ (0 åˆ° 65535)"
 
-#: mep-asm.c:548 mep-asm.c:561
+#: mep-asm.c:549 mep-asm.c:562
 msgid "Immediate is out of range -512 to 511"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ (-512 åˆ° 511)"
 
-#: mep-asm.c:553 mep-asm.c:562
+#: mep-asm.c:554 mep-asm.c:563
 msgid "Immediate is out of range -128 to 127"
 msgstr "ç«‹å�³æ•°è¶Šç•Œ (-128 åˆ° 127)"
 
-#: mep-asm.c:557
+#: mep-asm.c:558
 msgid "Value is not aligned enough"
 msgstr "æ•°å€¼å¯¹é½�ç¨‹åº¦ä¸�å¤Ÿ"
 
@@ -1625,21 +1593,21 @@ msgstr "æ— æ•ˆå¯»å�€æ¨¡å¼�"
 msgid "Warning: reserved use of A/L and B/W bits detected"
 msgstr ""
 
-#: mt-asm.c:109 mt-asm.c:189
+#: mt-asm.c:110 mt-asm.c:190
 #, fuzzy
 msgid "Operand out of range. Must be between -32768 and 32767."
 msgstr "æ“�ä½œæ•°è¶Šç•Œ(%lu ä¸�åœ¨ 0 å’Œ %lu ä¹‹é—´)"
 
-#: mt-asm.c:148
+#: mt-asm.c:149
 msgid "Biiiig Trouble in parse_imm16!"
 msgstr ""
 
-#: mt-asm.c:156
+#: mt-asm.c:157
 #, fuzzy
 msgid "The percent-operator's operand is not a symbol"
 msgstr "%%Lå¤„çš„ .not. è¿�ç®—ç¬¦çš„æ“�ä½œæ•°ä¸º %s"
 
-#: mt-asm.c:394
+#: mt-asm.c:395
 msgid "invalid operand.  type may have values 0,1,2 only."
 msgstr ""
 
@@ -1653,12 +1621,12 @@ msgstr ""
 msgid "$<undefined>"
 msgstr "$<æœªå®šä¹‰>"
 
-#: ppc-dis.c:354
+#: ppc-dis.c:359
 #, fuzzy, c-format
 msgid "warning: ignoring unknown -M%s option\n"
 msgstr "è­¦å‘Šï¼šå¿½ç•¥--strip-program é€‰é¡¹ï¼Œå› ä¸º-s é€‰é¡¹æ²¡æœ‰æŒ‡æ˜Ž"
 
-#: ppc-dis.c:805
+#: ppc-dis.c:880
 #, c-format
 msgid ""
 "\n"
@@ -1668,83 +1636,110 @@ msgstr ""
 "\n"
 "ä¸‹åˆ— PPC ç‰¹å®šçš„å��æ±‡ç¼–å™¨é€‰é¡¹åœ¨ä½¿ç”¨ -M å¼€å…³æ—¶å�¯ç”¨ï¼ˆä½¿ç”¨é€—å�·åˆ†éš”å¤šä¸ªé€‰é¡¹ï¼‰ï¼š\n"
 
-#: ppc-opc.c:992 ppc-opc.c:1015 ppc-opc.c:1040 ppc-opc.c:1069
+#: ppc-opc.c:52 ppc-opc.c:75 ppc-opc.c:100 ppc-opc.c:129
 msgid "invalid register"
 msgstr "æ— æ•ˆçš„å¯„å­˜å™¨"
 
-#: ppc-opc.c:1317 ppc-opc.c:1347
+#: ppc-opc.c:377 ppc-opc.c:405
 msgid "invalid conditional option"
 msgstr "æ— æ•ˆçš„æ�¡ä»¶é€‰é¡¹"
 
-#: ppc-opc.c:1319 ppc-opc.c:1349
+#: ppc-opc.c:379 ppc-opc.c:407
 #, fuzzy
 msgid "invalid counter access"
 msgstr "æ²¡æœ‰è®¿é—®æ�ƒé™�"
 
-#: ppc-opc.c:1351
+#: ppc-opc.c:409
 msgid "attempt to set y bit when using + or - modifier"
 msgstr ""
 
-#: ppc-opc.c:1441
+#: ppc-opc.c:500
 msgid "invalid mask field"
 msgstr "æ— æ•ˆçš„æŽ©ç �å­—æ®µ"
 
-#: ppc-opc.c:1464
+#: ppc-opc.c:523
 #, fuzzy
 msgid "invalid mfcr mask"
 msgstr "æ— æ•ˆçš„æŽ©ç �å­—æ®µ"
 
-#: ppc-opc.c:1538 ppc-opc.c:1578
+#: ppc-opc.c:596 ppc-opc.c:636
 #, fuzzy
 msgid "illegal L operand value"
 msgstr "ç«‹å�³æ•°"
 
-#: ppc-opc.c:1584
+#: ppc-opc.c:642
 msgid "incompatible L operand value"
 msgstr ""
 
-#: ppc-opc.c:1628 ppc-opc.c:1663
+#: ppc-opc.c:686 ppc-opc.c:721
 msgid "illegal bitmask"
 msgstr "é�žæ³•çš„ä½�æŽ©ç �"
 
-#: ppc-opc.c:1750
+#: ppc-opc.c:808
 #, fuzzy
 msgid "address register in load range"
 msgstr "åœ°å�€ä¸­æ— å¯„å­˜å™¨"
 
-#: ppc-opc.c:1816
+#: ppc-opc.c:874
 #, fuzzy
 msgid "index register in load range"
 msgstr "å¯„å­˜å™¨å…ƒç´ ä¸‹æ ‡"
 
-#: ppc-opc.c:1845 ppc-opc.c:1926
+#: ppc-opc.c:903 ppc-opc.c:984
 msgid "source and target register operands must be different"
 msgstr ""
 
-#: ppc-opc.c:1873
+#: ppc-opc.c:931
 msgid "invalid register operand when updating"
 msgstr ""
 
-#: ppc-opc.c:1989
+#: ppc-opc.c:1047
 msgid "illegal immediate value"
 msgstr "é�žæ³•çš„ç«‹å�³æ•°"
 
-#: ppc-opc.c:2136
+#: ppc-opc.c:1194
 #, fuzzy
 msgid "invalid sprg number"
 msgstr "æ— æ•ˆçš„æ•°å­—ã€‚"
 
-#: ppc-opc.c:2173
+#: ppc-opc.c:1231
 #, fuzzy
 msgid "invalid tbr number"
 msgstr "æ— æ•ˆçš„æ•°å­—ã€‚"
 
-#: ppc-opc.c:2317
+#: ppc-opc.c:1373
 #, fuzzy
 #| msgid "invalid conditional option"
 msgid "invalid constant"
 msgstr "%<#pragma pack%>ä¸­æœ‰æ— æ•ˆå¸¸é‡� - å·²å¿½ç•¥"
 
+#: ppc-opc.c:1478 ppc-opc.c:1505 ppc-opc.c:1532 ppc-opc.c:1559
+msgid "UIMM = 00000 is illegal"
+msgstr ""
+
+#: ppc-opc.c:1586
+msgid "UIMM values >7 are illegal"
+msgstr ""
+
+#: ppc-opc.c:1613
+msgid "UIMM values >15 are illegal"
+msgstr ""
+
+#: ppc-opc.c:1640
+msgid "GPR odd is illegal"
+msgstr ""
+
+#: ppc-opc.c:1667 ppc-opc.c:1694
+#, fuzzy
+#| msgid "invalid register offset"
+msgid "invalid offset"
+msgstr "æ— æ•ˆçš„å¯„å­˜å™¨å��ç§»é‡�"
+
+#: ppc-opc.c:1721
+#, fuzzy
+msgid "invalid Ddd value"
+msgstr "æ— æ•ˆçš„æ•°å­—ã€‚"
+
 #. Invalid option.
 #: riscv-dis.c:68
 #, fuzzy, c-format
@@ -1752,13 +1747,13 @@ msgstr "%<#pragma pack%>ä¸­æœ‰æ— æ•ˆå¸¸é
 msgid "Unrecognized disassembler option: %s\n"
 msgstr "æ— æ³•è¯†åˆ«çš„å��æ±‡ç¼–å™¨é€‰é¡¹ï¼š%s\n"
 
-#: riscv-dis.c:344
+#: riscv-dis.c:346
 #, fuzzy, c-format
 #| msgid "# internal error, undefined modifier(%c)"
 msgid "# internal error, undefined modifier (%c)"
 msgstr "<æ“�ä½œæ•°è¡¨ä¸­å‡ºçŽ°å†…éƒ¨é”™è¯¯ï¼š%s %s>\n"
 
-#: riscv-dis.c:496
+#: riscv-dis.c:498
 #, fuzzy, c-format
 #| msgid ""
 #| "\n"
@@ -1772,14 +1767,14 @@ msgstr ""
 "\n"
 "ä¸‹åˆ— MIPS ç‰¹å®šçš„å��æ±‡ç¼–å™¨é€‰é¡¹å�¯é€šè¿‡ -M å¼€å…³å�¯ç”¨ï¼ˆä½¿ç”¨é€—å�·åˆ†éš”å¤šä¸ªé€‰é¡¹ï¼‰ï¼š\n"
 
-#: riscv-dis.c:500
+#: riscv-dis.c:502
 #, c-format
 msgid ""
 "\n"
-"  numeric       Print numeric reigster names, rather than ABI names.\n"
+"  numeric       Print numeric register names, rather than ABI names.\n"
 msgstr ""
 
-#: riscv-dis.c:503
+#: riscv-dis.c:505
 #, c-format
 msgid ""
 "\n"
@@ -1950,69 +1945,69 @@ msgstr ""
 "\n"
 "ä¸‹åˆ— ARM ç‰¹å®šçš„å��æ±‡ç¼–å™¨é€‰é¡¹å�¯é€šè¿‡ -M å¼€å…³å�¯ç”¨ï¼š\n"
 
-#: xc16x-asm.c:65
+#: xc16x-asm.c:66
 msgid "Missing '#' prefix"
 msgstr "ç¼ºå¤± '#' å‰�ç¼€"
 
-#: xc16x-asm.c:81
+#: xc16x-asm.c:82
 msgid "Missing '.' prefix"
 msgstr "ç¼ºå¤± '.' å‰�ç¼€"
 
-#: xc16x-asm.c:97
+#: xc16x-asm.c:98
 msgid "Missing 'pof:' prefix"
 msgstr "ç¼ºå¤± 'pof:' å‰�ç¼€"
 
-#: xc16x-asm.c:113
+#: xc16x-asm.c:114
 msgid "Missing 'pag:' prefix"
 msgstr "ç¼ºå¤± 'pag:' å‰�ç¼€"
 
-#: xc16x-asm.c:129
+#: xc16x-asm.c:130
 msgid "Missing 'sof:' prefix"
 msgstr "ç¼ºå¤± 'sof:' å‰�ç¼€"
 
-#: xc16x-asm.c:145
+#: xc16x-asm.c:146
 msgid "Missing 'seg:' prefix"
 msgstr "ç¼ºå¤± 'seg:' å‰�ç¼€"
 
-#: xstormy16-asm.c:70
+#: xstormy16-asm.c:71
 msgid "Bad register in preincrement"
 msgstr "å‰�ç½®è‡ªå¢žä¸­ä½¿ç”¨äº†é”™è¯¯çš„å¯„å­˜å™¨"
 
-#: xstormy16-asm.c:75
+#: xstormy16-asm.c:76
 msgid "Bad register in postincrement"
 msgstr "å�Žç½®è‡ªå¢žä¸­ä½¿ç”¨äº†é”™è¯¯çš„å¯„å­˜å™¨"
 
-#: xstormy16-asm.c:77
+#: xstormy16-asm.c:78
 msgid "Bad register name"
 msgstr "é”™è¯¯çš„å¯„å­˜å™¨å��"
 
-#: xstormy16-asm.c:81
+#: xstormy16-asm.c:82
 msgid "Label conflicts with register name"
 msgstr "æ ‡å�·ä¸Žå¯„å­˜å™¨å��å†²çª�"
 
-#: xstormy16-asm.c:85
+#: xstormy16-asm.c:86
 msgid "Label conflicts with `Rx'"
 msgstr "æ ‡å�·ä¸Žâ€˜Rxâ€™å†²çª�"
 
-#: xstormy16-asm.c:87
+#: xstormy16-asm.c:88
 msgid "Bad immediate expression"
 msgstr "é”™è¯¯çš„ç«‹å�³æ•°è¡¨è¾¾å¼�"
 
-#: xstormy16-asm.c:108
+#: xstormy16-asm.c:109
 #, fuzzy
 msgid "No relocation for small immediate"
 msgstr "ç«‹å�³æ•°"
 
-#: xstormy16-asm.c:118
+#: xstormy16-asm.c:119
 #, fuzzy
 msgid "Small operand was not an immediate number"
 msgstr "ç¬¦å�·è¢«ç”¨ä½œç«‹å�³æ“�ä½œæ•°"
 
-#: xstormy16-asm.c:156
+#: xstormy16-asm.c:157
 msgid "Operand is not a symbol"
 msgstr "æ“�ä½œæ•°ä¸�æ˜¯ä¸€ä¸ªç¬¦å�·"
 
-#: xstormy16-asm.c:164
+#: xstormy16-asm.c:165
 msgid "Syntax error: No trailing ')'"
 msgstr "è¯­æ³•é”™è¯¯ï¼šæ²¡æœ‰ç»“å°¾çš„â€˜)â€™"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ppc-dis.c ./opcodes/ppc-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ppc-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/ppc-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -340,7 +340,10 @@ powerpc_init_dialect (struct disassemble
       dialect = ppc_parse_cpu (dialect, &sticky, "vle");
       break;
     default:
-      dialect = ppc_parse_cpu (dialect, &sticky, "power9") | PPC_OPCODE_ANY;
+      if (info->arch == bfd_arch_powerpc)
+	dialect = ppc_parse_cpu (dialect, &sticky, "power9") | PPC_OPCODE_ANY;
+      else
+	dialect = ppc_parse_cpu (dialect, &sticky, "pwr");
       break;
     }
 
@@ -356,19 +359,20 @@ powerpc_init_dialect (struct disassemble
       else if ((new_cpu = ppc_parse_cpu (dialect, &sticky, opt)) != 0)
 	dialect = new_cpu;
       else
-	fprintf (stderr, _("warning: ignoring unknown -M%s option\n"), opt);
+	/* xgettext: c-format */
+	opcodes_error_handler (_("warning: ignoring unknown -M%s option"), opt);
     }
 
   info->private_data = priv;
   POWERPC_DIALECT(info) = dialect;
 }
 
-#define PPC_OPCD_SEGS 64
-static unsigned short powerpc_opcd_indices[PPC_OPCD_SEGS+1];
-#define VLE_OPCD_SEGS 32
-static unsigned short vle_opcd_indices[VLE_OPCD_SEGS+1];
-#define SPE2_OPCD_SEGS 13
-static unsigned short spe2_opcd_indices[SPE2_OPCD_SEGS+1];
+#define PPC_OPCD_SEGS (1 + PPC_OP (-1))
+static unsigned short powerpc_opcd_indices[PPC_OPCD_SEGS + 1];
+#define VLE_OPCD_SEGS (1 + VLE_OP_TO_SEG (VLE_OP (-1, 0xffff)))
+static unsigned short vle_opcd_indices[VLE_OPCD_SEGS + 1];
+#define SPE2_OPCD_SEGS (1 + SPE2_XOP_TO_SEG (SPE2_XOP (-1)))
+static unsigned short spe2_opcd_indices[SPE2_OPCD_SEGS + 1];
 
 /* Calculate opcode table indices to speed up disassembly,
    and init dialect.  */
@@ -376,62 +380,45 @@ static unsigned short spe2_opcd_indices[
 void
 disassemble_init_powerpc (struct disassemble_info *info)
 {
-  int i;
-  unsigned short last;
-
   if (powerpc_opcd_indices[PPC_OPCD_SEGS] == 0)
     {
-      i = powerpc_num_opcodes;
-      while (--i >= 0)
-	{
-	  unsigned op = PPC_OP (powerpc_opcodes[i].opcode);
-	  powerpc_opcd_indices[op] = i;
-	}
+      unsigned seg, idx, op;
 
-      last = powerpc_num_opcodes;
-      for (i = PPC_OPCD_SEGS; i > 0; --i)
+      /* PPC opcodes */
+      for (seg = 0, idx = 0; seg <= PPC_OPCD_SEGS; seg++)
 	{
-	  if (powerpc_opcd_indices[i] == 0)
-	    powerpc_opcd_indices[i] = last;
-	  last = powerpc_opcd_indices[i];
+	  powerpc_opcd_indices[seg] = idx;
+	  for (; idx < powerpc_num_opcodes; idx++)
+	    if (seg < PPC_OP (powerpc_opcodes[idx].opcode))
+	      break;
 	}
 
-      i = vle_num_opcodes;
-      while (--i >= 0)
+      /* VLE opcodes */
+      for (seg = 0, idx = 0; seg <= VLE_OPCD_SEGS; seg++)
 	{
-	  unsigned op = VLE_OP (vle_opcodes[i].opcode, vle_opcodes[i].mask);
-	  unsigned seg = VLE_OP_TO_SEG (op);
-	  vle_opcd_indices[seg] = i;
+	  vle_opcd_indices[seg] = idx;
+	  for (; idx < vle_num_opcodes; idx++)
+	    {
+	      op = VLE_OP (vle_opcodes[idx].opcode, vle_opcodes[idx].mask);
+	      if (seg < VLE_OP_TO_SEG (op))
+		break;
+	    }
 	}
 
-      last = vle_num_opcodes;
-      for (i = VLE_OPCD_SEGS; i > 0; --i)
+      /* SPE2 opcodes */
+      for (seg = 0, idx = 0; seg <= SPE2_OPCD_SEGS; seg++)
 	{
-	  if (vle_opcd_indices[i] == 0)
-	    vle_opcd_indices[i] = last;
-	  last = vle_opcd_indices[i];
+	  spe2_opcd_indices[seg] = idx;
+	  for (; idx < spe2_num_opcodes; idx++)
+	    {
+	      op = SPE2_XOP (spe2_opcodes[idx].opcode);
+	      if (seg < SPE2_XOP_TO_SEG (op))
+		break;
+	    }
 	}
     }
 
-  /* SPE2 opcodes */
-  i = spe2_num_opcodes;
-  while (--i >= 0)
-    {
-      unsigned xop = SPE2_XOP (spe2_opcodes[i].opcode);
-      unsigned seg = SPE2_XOP_TO_SEG (xop);
-      spe2_opcd_indices[seg] = i;
-    }
-
-  last = spe2_num_opcodes;
-  for (i = SPE2_OPCD_SEGS; i > 1; --i)
-    {
-      if (spe2_opcd_indices[i] == 0)
-	spe2_opcd_indices[i] = last;
-      last = spe2_opcd_indices[i];
-    }
-
-  if (info->arch == bfd_arch_powerpc)
-    powerpc_init_dialect (info);
+  powerpc_init_dialect (info);
 }
 
 /* Print a big endian PowerPC instruction.  */
@@ -450,14 +437,6 @@ print_insn_little_powerpc (bfd_vma memad
   return print_insn_powerpc (memaddr, info, 0, get_powerpc_dialect (info));
 }
 
-/* Print a POWER (RS/6000) instruction.  */
-
-int
-print_insn_rs6000 (bfd_vma memaddr, struct disassemble_info *info)
-{
-  return print_insn_powerpc (memaddr, info, 1, PPC_OPCODE_POWER);
-}
-
 /* Extract the operand value from the PowerPC or POWER instruction.  */
 
 static int64_t
@@ -681,28 +660,22 @@ print_insn_powerpc (bfd_vma memaddr,
   int status;
   uint64_t insn;
   const struct powerpc_opcode *opcode;
-  bfd_boolean insn_is_short;
+  int insn_length = 4;  /* Assume we have a normal 4-byte instruction.  */
 
   status = (*info->read_memory_func) (memaddr, buffer, 4, info);
+
+  /* The final instruction may be a 2-byte VLE insn.  */
+  if (status != 0 && (dialect & PPC_OPCODE_VLE) != 0)
+    {
+      /* Clear buffer so unused bytes will not have garbage in them.  */
+      buffer[0] = buffer[1] = buffer[2] = buffer[3] = 0;
+      status = (*info->read_memory_func) (memaddr, buffer, 2, info);
+    }
+
   if (status != 0)
     {
-      /* The final instruction may be a 2-byte VLE insn.  */
-      if ((dialect & PPC_OPCODE_VLE) != 0)
-        {
-          /* Clear buffer so unused bytes will not have garbage in them.  */
-          buffer[0] = buffer[1] = buffer[2] = buffer[3] = 0;
-          status = (*info->read_memory_func) (memaddr, buffer, 2, info);
-          if (status != 0)
-            {
-              (*info->memory_error_func) (status, memaddr, info);
-              return -1;
-            }
-        }
-      else
-        {
-          (*info->memory_error_func) (status, memaddr, info);
-          return -1;
-        }
+      (*info->memory_error_func) (status, memaddr, info);
+      return -1;
     }
 
   if (bigendian)
@@ -712,12 +685,15 @@ print_insn_powerpc (bfd_vma memaddr,
 
   /* Get the major opcode of the insn.  */
   opcode = NULL;
-  insn_is_short = FALSE;
   if ((dialect & PPC_OPCODE_VLE) != 0)
     {
       opcode = lookup_vle (insn);
-      if (opcode != NULL)
-	insn_is_short = PPC_OP_SE_VLE(opcode->mask);
+      if (opcode != NULL && PPC_OP_SE_VLE (opcode->mask))
+	{
+	  /* The operands will be fetched out of the 16-bit instruction.  */
+	  insn >>= 16;
+	  insn_length = 2;
+	}
     }
   if (opcode == NULL && (dialect & PPC_OPCODE_SPE2) != 0)
     opcode = lookup_spe2 (insn);
@@ -739,10 +715,6 @@ print_insn_powerpc (bfd_vma memaddr,
       else
 	(*info->fprintf_func) (info->stream, "%s", opcode->name);
 
-      if (insn_is_short)
-        /* The operands will be fetched out of the 16-bit instruction.  */
-        insn >>= 16;
-
       /* Now extract and print the operands.  */
       need_comma = 0;
       need_paren = 0;
@@ -753,12 +725,6 @@ print_insn_powerpc (bfd_vma memaddr,
 
 	  operand = powerpc_operands + *opindex;
 
-	  /* Operands that are marked FAKE are simply ignored.  We
-	     already made sure that the extract function considered
-	     the instruction to be valid.  */
-	  if ((operand->flags & PPC_OPERAND_FAKE) != 0)
-	    continue;
-
 	  /* If all of the optional operands have the value zero,
 	     then don't print any of them.  */
 	  if ((operand->flags & PPC_OPERAND_OPTIONAL) != 0)
@@ -834,16 +800,8 @@ print_insn_powerpc (bfd_vma memaddr,
 	    }
 	}
 
-      /* We have found and printed an instruction.
-         If it was a short VLE instruction we have more to do.  */
-      if (insn_is_short)
-        {
-          memaddr += 2;
-          return 2;
-        }
-      else
-        /* Otherwise, return.  */
-        return 4;
+      /* We have found and printed an instruction.  */
+      return insn_length;
     }
 
   /* We could not find a match.  */
@@ -852,24 +810,30 @@ print_insn_powerpc (bfd_vma memaddr,
   return 4;
 }
 
-const disasm_options_t *
+const disasm_options_and_args_t *
 disassembler_options_powerpc (void)
 {
-  static disasm_options_t *opts = NULL;
+  static disasm_options_and_args_t *opts_and_args;
 
-  if (opts == NULL)
+  if (opts_and_args == NULL)
     {
       size_t i, num_options = ARRAY_SIZE (ppc_opts);
-      opts = XNEW (disasm_options_t);
+      disasm_options_t *opts;
+
+      opts_and_args = XNEW (disasm_options_and_args_t);
+      opts_and_args->args = NULL;
+
+      opts = &opts_and_args->options;
       opts->name = XNEWVEC (const char *, num_options + 1);
+      opts->description = NULL;
+      opts->arg = NULL;
       for (i = 0; i < num_options; i++)
 	opts->name[i] = ppc_opts[i].opt;
       /* The array we return must be NULL terminated.  */
       opts->name[i] = NULL;
-      opts->description = NULL;
     }
 
-  return opts;
+  return opts_and_args;
 }
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ppc-opc.c ./opcodes/ppc-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/ppc-opc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/ppc-opc.c	2018-07-10 02:06:15.000000000 +0000
@@ -143,54 +143,59 @@ extract_ry (uint64_t insn,
     return value + 16;
 }
 
-/* The BA field in an XL form instruction when it must be the same as
-   the BT field in the same instruction.  This operand is marked FAKE.
-   The insertion function just copies the BT field into the BA field,
-   and the extraction function just checks that the fields are the
-   same.  */
+/* The BA and BB fields in an XL form instruction or the RA and RB fields or
+   VRA and VRB fields in a VX form instruction when they must be the same.
+   This is used for extended mnemonics like crclr.  The extraction function
+   enforces that the fields are the same.  */
 
 static uint64_t
-insert_bat (uint64_t insn,
-	    int64_t value ATTRIBUTE_UNUSED,
+insert_bab (uint64_t insn,
+	    int64_t value,
 	    ppc_cpu_t dialect ATTRIBUTE_UNUSED,
 	    const char **errmsg ATTRIBUTE_UNUSED)
 {
-  return insn | (((insn >> 21) & 0x1f) << 16);
+  value &= 0x1f;
+  return insn | (value << 16) | (value << 11);
 }
 
 static int64_t
-extract_bat (uint64_t insn,
+extract_bab (uint64_t insn,
 	     ppc_cpu_t dialect ATTRIBUTE_UNUSED,
 	     int *invalid)
 {
-  if (((insn >> 21) & 0x1f) != ((insn >> 16) & 0x1f))
+  int64_t ba = (insn >> 16) & 0x1f;
+  int64_t bb = (insn >> 11) & 0x1f;
+
+  if (ba != bb)
     *invalid = 1;
-  return 0;
+  return ba;
 }
 
-/* The BB field in an XL form instruction when it must be the same as
-   the BA field in the same instruction.  This operand is marked FAKE.
-   The insertion function just copies the BA field into the BB field,
-   and the extraction function just checks that the fields are the
-   same.  */
+/* The BT, BA and BB fields in an XL form instruction when they must all be
+   the same.  This is used for extended mnemonics like crclr.  The extraction
+   function enforces that the fields are the same.  */
 
 static uint64_t
-insert_bba (uint64_t insn,
-	    int64_t value ATTRIBUTE_UNUSED,
-	    ppc_cpu_t dialect ATTRIBUTE_UNUSED,
-	    const char **errmsg ATTRIBUTE_UNUSED)
+insert_btab (uint64_t insn,
+	     int64_t value,
+	     ppc_cpu_t dialect,
+	     const char **errmsg)
 {
-  return insn | (((insn >> 16) & 0x1f) << 11);
+  value &= 0x1f;
+  return (value << 21) | insert_bab (insn, value, dialect, errmsg);
 }
 
 static int64_t
-extract_bba (uint64_t insn,
-	     ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+extract_btab (uint64_t insn,
+	     ppc_cpu_t dialect,
 	     int *invalid)
 {
-  if (((insn >> 16) & 0x1f) != ((insn >> 11) & 0x1f))
+  int64_t bt = (insn >> 21) & 0x1f;
+  int64_t bab = extract_bab (insn, dialect, invalid);
+
+  if (bt != bab)
     *invalid = 1;
-  return 0;
+  return bt;
 }
 
 /* The BD field in a B form instruction when the - modifier is used.
@@ -944,29 +949,31 @@ extract_ras (uint64_t insn,
   return ravalue;
 }
 
-/* The RB field in an X form instruction when it must be the same as
-   the RS field in the instruction.  This is used for extended
-   mnemonics like mr.  This operand is marked FAKE.  The insertion
-   function just copies the BT field into the BA field, and the
-   extraction function just checks that the fields are the same.  */
+/* The RS and RB fields in an X form instruction when they must be the same.
+   This is used for extended mnemonics like mr.  The extraction function
+   enforces that the fields are the same.  */
 
 static uint64_t
-insert_rbs (uint64_t insn,
-	    int64_t value ATTRIBUTE_UNUSED,
+insert_rsb (uint64_t insn,
+	    int64_t value,
 	    ppc_cpu_t dialect ATTRIBUTE_UNUSED,
 	    const char **errmsg ATTRIBUTE_UNUSED)
 {
-  return insn | (((insn >> 21) & 0x1f) << 11);
+  value &= 0x1f;
+  return insn | (value << 21) | (value << 11);
 }
 
 static int64_t
-extract_rbs (uint64_t insn,
+extract_rsb (uint64_t insn,
 	     ppc_cpu_t dialect ATTRIBUTE_UNUSED,
 	     int *invalid)
 {
-  if (((insn >> 21) & 0x1f) != ((insn >> 11) & 0x1f))
+  int64_t rs = (insn >> 21) & 0x1f;
+  int64_t rb = (insn >> 11) & 0x1f;
+
+  if (rs != rb)
     *invalid = 1;
-  return 0;
+  return rs;
 }
 
 /* The RB field in an lswx instruction, which has special value
@@ -1318,30 +1325,31 @@ extract_xb6 (uint64_t insn,
   return ((insn << 4) & 0x20) | ((insn >> 11) & 0x1f);
 }
 
-/* The XB field in an XX3 form instruction when it must be the same as
-   the XA field in the instruction.  This is used for extended
-   mnemonics like xvmovdp.  This operand is marked FAKE.  The insertion
-   function just copies the XA field into the XB field, and the
-   extraction function just checks that the fields are the same.  */
+/* The XA and XB fields in an XX3 form instruction when they must be the same.
+   This is used for extended mnemonics like xvmovdp.  The extraction function
+   enforces that the fields are the same.  */
 
 static uint64_t
-insert_xb6s (uint64_t insn,
-	     int64_t value ATTRIBUTE_UNUSED,
-	     ppc_cpu_t dialect ATTRIBUTE_UNUSED,
-	     const char **errmsg ATTRIBUTE_UNUSED)
+insert_xab6 (uint64_t insn,
+	     int64_t value,
+	     ppc_cpu_t dialect,
+	     const char **errmsg)
 {
-  return insn | (((insn >> 16) & 0x1f) << 11) | (((insn >> 2) & 0x1) << 1);
+  return insert_xa6 (insn, value, dialect, errmsg)
+	 | insert_xb6 (insn, value, dialect, errmsg);
 }
 
 static int64_t
-extract_xb6s (uint64_t insn,
-	      ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+extract_xab6 (uint64_t insn,
+	      ppc_cpu_t dialect,
 	      int *invalid)
 {
-  if ((((insn >> 16) & 0x1f) != ((insn >> 11) & 0x1f))
-      || (((insn >> 2) & 0x1) != ((insn >> 1) & 0x1)))
+  int64_t xa6 = extract_xa6 (insn, dialect, invalid);
+  int64_t xb6 = extract_xb6 (insn, dialect, invalid);
+
+  if (xa6 != xb6)
     *invalid = 1;
-  return 0;
+  return xa6;
 }
 
 /* The XC field in an XX4 form instruction.  This is split.  */
@@ -1756,27 +1764,34 @@ const struct powerpc_operand powerpc_ope
 #define BI_MASK (0x1f << 16)
   { 0x1f, 16, NULL, NULL, PPC_OPERAND_CR_BIT },
 
-  /* The BA field in an XL form instruction when it must be the same
-     as the BT field in the same instruction.  */
-#define BAT BA + 1
-  { 0x1f, 16, insert_bat, extract_bat, PPC_OPERAND_FAKE },
+  /* The BT, BA and BB fields in a XL form instruction when they must all
+     be the same.  */
+#define BTAB BA + 1
+  { 0x1f, 21, insert_btab, extract_btab, PPC_OPERAND_CR_BIT },
 
   /* The BB field in an XL form instruction.  */
-#define BB BAT + 1
+#define BB BTAB + 1
 #define BB_MASK (0x1f << 11)
   { 0x1f, 11, NULL, NULL, PPC_OPERAND_CR_BIT },
 
-  /* The BB field in an XL form instruction when it must be the same
-     as the BA field in the same instruction.  */
-#define BBA BB + 1
-  /* The VB field in a VX form instruction when it must be the same
-     as the VA field in the same instruction.  */
-#define VBA BBA
-  { 0x1f, 11, insert_bba, extract_bba, PPC_OPERAND_FAKE },
+  /* The BA and BB fields in a XL form instruction when they must be
+     the same.  */
+#define BAB BB + 1
+  { 0x1f, 16, insert_bab, extract_bab, PPC_OPERAND_CR_BIT },
+
+  /* The VRA and VRB fields in a VX form instruction when they must be the same.
+     This is used for extended mnemonics like vmr.  */
+#define VAB BAB + 1
+  { 0x1f, 16, insert_bab, extract_bab, PPC_OPERAND_VR },
+
+  /* The RA and RB fields in a VX form instruction when they must be the same.
+     This is used for extended mnemonics like evmr.  */
+#define RAB VAB + 1
+  { 0x1f, 16, insert_bab, extract_bab, PPC_OPERAND_GPR },
 
   /* The BD field in a B form instruction.  The lower two bits are
      forced to zero.  */
-#define BD BBA + 1
+#define BD RAB + 1
   { 0xfffc, 0, NULL, NULL, PPC_OPERAND_RELATIVE | PPC_OPERAND_SIGNED },
 
   /* The BD field in a B form instruction when absolute addressing is
@@ -2155,15 +2170,14 @@ const struct powerpc_operand powerpc_ope
 #define RB_MASK (0x1f << 11)
   { 0x1f, 11, NULL, NULL, PPC_OPERAND_GPR },
 
-  /* The RB field in an X form instruction when it must be the same as
-     the RS field in the instruction.  This is used for extended
-     mnemonics like mr.  */
-#define RBS RB + 1
-  { 0x1f, 11, insert_rbs, extract_rbs, PPC_OPERAND_FAKE },
+  /* The RS and RB fields in an X form instruction when they must be the same.
+     This is used for extended mnemonics like mr.  */
+#define RSB RB + 1
+  { 0x1f, 11, insert_rsb, extract_rsb, PPC_OPERAND_GPR },
 
   /* The RB field in an lswx instruction, which has special value
      restrictions.  */
-#define RBX RBS + 1
+#define RBX RSB + 1
   { 0x1f, 11, insert_rbx, extract_rbx, PPC_OPERAND_GPR },
 
   /* The RB field of the dccci and iccci instructions, which are optional.  */
@@ -2564,14 +2578,13 @@ const struct powerpc_operand powerpc_ope
 #define XB6 XA6 + 1
   { 0x3f, PPC_OPSHIFT_INV, insert_xb6, extract_xb6, PPC_OPERAND_VSR },
 
-  /* The XB field in an XX3 form instruction when it must be the same as
-     the XA field in the instruction.  This is used in extended mnemonics
-     like xvmovdp.  This is split.  */
-#define XB6S XB6 + 1
-  { 0x3f, PPC_OPSHIFT_INV, insert_xb6s, extract_xb6s, PPC_OPERAND_FAKE },
+  /* The XA and XB fields in an XX3 form instruction when they must be the same.
+     This is used in extended mnemonics like xvmovdp.  This is split.  */
+#define XAB6 XB6 + 1
+  { 0x3f, PPC_OPSHIFT_INV, insert_xab6, extract_xab6, PPC_OPERAND_VSR },
 
   /* The XC field in an XX4 form instruction.  This is split.  */
-#define XC6 XB6S + 1
+#define XC6 XAB6 + 1
   { 0x3f, PPC_OPSHIFT_INV, insert_xc6, extract_xc6, PPC_OPERAND_VSR },
 
   /* The DM or SHW field in an XX3 form instruction.  */
@@ -3792,10 +3805,10 @@ const struct powerpc_opcode powerpc_opco
 {"evand",	VX (4, 529),	VX_MASK,     PPCSPE,	0,		{RS, RA, RB}},
 {"evandc",	VX (4, 530),	VX_MASK,     PPCSPE,	0,		{RS, RA, RB}},
 {"evxor",	VX (4, 534),	VX_MASK,     PPCSPE,	0,		{RS, RA, RB}},
-{"evmr",	VX (4, 535),	VX_MASK,     PPCSPE,	0,		{RS, RA, BBA}},
+{"evmr",	VX (4, 535),	VX_MASK,     PPCSPE,	0,		{RS, RAB}},
 {"evor",	VX (4, 535),	VX_MASK,     PPCSPE,	0,		{RS, RA, RB}},
+{"evnot",	VX (4, 536),	VX_MASK,     PPCSPE,	0,		{RS, RAB}},
 {"evnor",	VX (4, 536),	VX_MASK,     PPCSPE,	0,		{RS, RA, RB}},
-{"evnot",	VX (4, 536),	VX_MASK,     PPCSPE,	0,		{RS, RA, BBA}},
 {"get",		APU(4, 268,0),	APU_RA_MASK, PPC405,	0,		{RT, FSL}},
 {"eveqv",	VX (4, 537),	VX_MASK,     PPCSPE,	0,		{RS, RA, RB}},
 {"evorc",	VX (4, 539),	VX_MASK,     PPCSPE,	0,		{RS, RA, RB}},
@@ -4139,7 +4152,7 @@ const struct powerpc_opcode powerpc_opco
 {"bcdus.",	VX (4,1153),	VX_MASK,     PPCVEC3,	0,		{VD, VA, VB}},
 {"vavguw",	VX (4,1154),	VX_MASK,     PPCVEC,	0,		{VD, VA, VB}},
 {"vabsduw",	VX (4,1155),	VX_MASK,     PPCVEC2,	0,		{VD, VA, VB}},
-{"vmr",		VX (4,1156),	VX_MASK,     PPCVEC,	0,		{VD, VA, VBA}},
+{"vmr",		VX (4,1156),	VX_MASK,     PPCVEC,	0,		{VD, VAB}},
 {"vor",		VX (4,1156),	VX_MASK,     PPCVEC,	0,		{VD, VA, VB}},
 {"vcmpnew.",	VXR(4, 135,1),	VXR_MASK,    PPCVEC3,	0,		{VD, VA, VB}},
 {"vpmsumw",	VX (4,1160),	VX_MASK,     PPCVEC2,	0,		{VD, VA, VB}},
@@ -4183,7 +4196,7 @@ const struct powerpc_opcode powerpc_opco
 {"vavgsb",	VX (4,1282),	VX_MASK,     PPCVEC,	0,		{VD, VA, VB}},
 {"evmhessfaaw",	VX (4,1283),	VX_MASK,     PPCSPE,	0,		{RS, RA, RB}},
 {"evmhousiaaw",	VX (4,1284),	VX_MASK,     PPCSPE,	0,		{RS, RA, RB}},
-{"vnot",	VX (4,1284),	VX_MASK,     PPCVEC,	0,		{VD, VA, VBA}},
+{"vnot",	VX (4,1284),	VX_MASK,     PPCVEC,	0,		{VD, VAB}},
 {"vnor",	VX (4,1284),	VX_MASK,     PPCVEC,	0,		{VD, VA, VB}},
 {"evmhossiaaw",	VX (4,1285),	VX_MASK,     PPCSPE,	0,		{RS, RA, RB}},
 {"udi4fcm.",	APU(4, 643,0),	APU_MASK, PPC405|PPC440, 0,		{URT, URA, URB}},
@@ -4955,7 +4968,7 @@ const struct powerpc_opcode powerpc_opco
 
 {"rfid",	XL(19,18),	0xffffffff,  PPC64,	PPCVLE,	{0}},
 
-{"crnot",	XL(19,33),	XL_MASK,     PPCCOM,	PPCVLE,		{BT, BA, BBA}},
+{"crnot",	XL(19,33),	XL_MASK,     PPCCOM,	PPCVLE,		{BT, BAB}},
 {"crnor",	XL(19,33),	XL_MASK,     COM,	PPCVLE,		{BT, BA, BB}},
 {"rfmci",	X(19,38),    0xffffffff, PPCRFMCI|PPCA2|PPC476, PPCVLE,	{0}},
 
@@ -4975,7 +4988,7 @@ const struct powerpc_opcode powerpc_opco
 {"isync",	XL(19,150),	0xffffffff,  PPCCOM,	PPCVLE,		{0}},
 {"ics",		XL(19,150),	0xffffffff,  PWRCOM,	PPCVLE,		{0}},
 
-{"crclr",	XL(19,193),	XL_MASK,     PPCCOM,	PPCVLE,		{BT, BAT, BBA}},
+{"crclr",	XL(19,193),	XL_MASK,     PPCCOM,	PPCVLE,		{BTAB}},
 {"crxor",	XL(19,193),	XL_MASK,     COM,	PPCVLE,		{BT, BA, BB}},
 
 {"dnh",		X(19,198),	X_MASK,	     E500MC,	PPCVLE,		{DUI, DUIS}},
@@ -4986,7 +4999,7 @@ const struct powerpc_opcode powerpc_opco
 
 {"hrfid",	XL(19,274),    0xffffffff, POWER5|CELL, PPC476|PPCVLE,	{0}},
 
-{"crset",	XL(19,289),	XL_MASK,     PPCCOM,	PPCVLE,		{BT, BAT, BBA}},
+{"crset",	XL(19,289),	XL_MASK,     PPCCOM,	PPCVLE,		{BTAB}},
 {"creqv",	XL(19,289),	XL_MASK,     COM,	PPCVLE,		{BT, BA, BB}},
 
 {"urfid",	XL(19,306),	0xffffffff,  POWER9,	PPCVLE,		{0}},
@@ -4998,7 +5011,7 @@ const struct powerpc_opcode powerpc_opco
 
 {"nap",		XL(19,434),	0xffffffff,  POWER6,	POWER9|PPCVLE,	{0}},
 
-{"crmove",	XL(19,449),	XL_MASK,     PPCCOM,	PPCVLE,		{BT, BA, BBA}},
+{"crmove",	XL(19,449),	XL_MASK,     PPCCOM,	PPCVLE,		{BT, BAB}},
 {"cror",	XL(19,449),	XL_MASK,     COM,	PPCVLE,		{BT, BA, BB}},
 
 {"sleep",	XL(19,466),	0xffffffff,  POWER6,	POWER9|PPCVLE,	{0}},
@@ -5463,9 +5476,9 @@ const struct powerpc_opcode powerpc_opco
 
 {"popcntb",	X(31,122),	XRB_MASK,    POWER5,	0,		{RA, RS}},
 
-{"not",		XRC(31,124,0),	X_MASK,	     COM,	0,		{RA, RS, RBS}},
+{"not",		XRC(31,124,0),	X_MASK,	     COM,	0,		{RA, RSB}},
 {"nor",		XRC(31,124,0),	X_MASK,	     COM,	0,		{RA, RS, RB}},
-{"not.",	XRC(31,124,1),	X_MASK,	     COM,	0,		{RA, RS, RBS}},
+{"not.",	XRC(31,124,1),	X_MASK,	     COM,	0,		{RA, RSB}},
 {"nor.",	XRC(31,124,1),	X_MASK,	     COM,	0,		{RA, RS, RB}},
 
 {"dcbfep",	XRT(31,127,0),	XRT_MASK, E500MC|PPCA2, 0,		{RA0, RB}},
@@ -6073,9 +6086,9 @@ const struct powerpc_opcode powerpc_opco
 {"yield",	0x7f7bdb78,	0xffffffff,  POWER7,	0,		{0}},
 {"mdoio",	0x7fbdeb78,	0xffffffff,  POWER7,	0,		{0}},
 {"mdoom",	0x7fdef378,	0xffffffff,  POWER7,	0,		{0}},
-{"mr",		XRC(31,444,0),	X_MASK,	     COM,	0,		{RA, RS, RBS}},
+{"mr",		XRC(31,444,0),	X_MASK,	     COM,	0,		{RA, RSB}},
 {"or",		XRC(31,444,0),	X_MASK,	     COM,	0,		{RA, RS, RB}},
-{"mr.",		XRC(31,444,1),	X_MASK,	     COM,	0,		{RA, RS, RBS}},
+{"mr.",		XRC(31,444,1),	X_MASK,	     COM,	0,		{RA, RSB}},
 {"or.",		XRC(31,444,1),	X_MASK,	     COM,	0,		{RA, RS, RB}},
 
 {"mtexisr",	XSPR(31,451, 64), XSPR_MASK, PPC403,	0,		{RS}},
@@ -7052,9 +7065,9 @@ const struct powerpc_opcode powerpc_opco
 {"xxsel",	XX4(60,3),	XX4_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6, XC6}},
 {"xssubsp",	XX3(60,8),	XX3_MASK,    PPCVSX2,	PPCVLE,		{XT6, XA6, XB6}},
 {"xsmaddmsp",	XX3(60,9),	XX3_MASK,    PPCVSX2,	PPCVLE,		{XT6, XA6, XB6}},
-{"xxspltd",	XX3(60,10),	XX3DM_MASK,  PPCVSX,	PPCVLE,		{XT6, XA6, XB6S, DMEX}},
+{"xxspltd",	XX3(60,10),	XX3DM_MASK,  PPCVSX,	PPCVLE,		{XT6, XAB6, DMEX}},
 {"xxmrghd",	XX3(60,10),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
-{"xxswapd",	XX3(60,10)|(2<<8), XX3_MASK, PPCVSX,	PPCVLE,		{XT6, XA6, XB6S}},
+{"xxswapd",	XX3(60,10)|(2<<8), XX3_MASK, PPCVSX,	PPCVLE,		{XT6, XAB6}},
 {"xxmrgld",	XX3(60,10)|(3<<8), XX3_MASK, PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
 {"xxpermdi",	XX3(60,10),	XX3DM_MASK,  PPCVSX,	PPCVLE,		{XT6, XA6, XB6, DM}},
 {"xscmpgtdp",	XX3(60,11),	XX3_MASK,    PPCVSX3,	PPCVLE,		{XT6, XA6, XB6}},
@@ -7202,7 +7215,7 @@ const struct powerpc_opcode powerpc_opco
 {"xvnmaddmsp",	XX3(60,201),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
 {"xvcvspsxds",	XX2(60,408),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
 {"xvabssp",	XX2(60,409),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
-{"xvmovsp",	XX3(60,208),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6S}},
+{"xvmovsp",	XX3(60,208),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XAB6}},
 {"xvcpsgnsp",	XX3(60,208),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
 {"xvnmsubasp",	XX3(60,209),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
 {"xvcvuxdsp",	XX2(60,424),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
@@ -7231,7 +7244,7 @@ const struct powerpc_opcode powerpc_opco
 {"xvcvhpsp",	XX2VA(60,475,24),XX2_MASK,   PPCVSX3,	PPCVLE,		{XT6, XB6}},
 {"xvcvsphp",	XX2VA(60,475,25),XX2_MASK,   PPCVSX3,	PPCVLE,		{XT6, XB6}},
 {"xxbrq",	XX2VA(60,475,31),XX2_MASK,   PPCVSX3,	PPCVLE,		{XT6, XB6}},
-{"xvmovdp",	XX3(60,240),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6S}},
+{"xvmovdp",	XX3(60,240),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XAB6}},
 {"xvcpsgndp",	XX3(60,240),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
 {"xvnmsubadp",	XX3(60,241),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
 {"xvcvuxddp",	XX2(60,488),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
@@ -7551,7 +7564,7 @@ const struct powerpc_opcode powerpc_opco
 {"fcfidu.",	XRC(63,974,1),	XRA_MASK, POWER7|PPCA2,	PPCVLE,		{FRT, FRB}},
 };
 
-const int powerpc_num_opcodes =
+const unsigned int powerpc_num_opcodes =
   sizeof (powerpc_opcodes) / sizeof (powerpc_opcodes[0]);
 
 /* The VLE opcode table.
@@ -8419,9 +8432,9 @@ const struct powerpc_opcode vle_opcodes[
 {"e_cmphl",	X(31,46),	X_MASK,		PPCVLE,	0,		{CRD, RA, RB}},
 {"e_crandc",	XL(31,129),	XL_MASK,	PPCVLE,	0,		{BT, BA, BB}},
 {"e_crnand",	XL(31,225),	XL_MASK,	PPCVLE,	0,		{BT, BA, BB}},
-{"e_crnot",	XL(31,33),	XL_MASK,	PPCVLE,	0,		{BT, BA, BBA}},
+{"e_crnot",	XL(31,33),	XL_MASK,	PPCVLE,	0,		{BT, BAB}},
 {"e_crnor",	XL(31,33),	XL_MASK,	PPCVLE,	0,		{BT, BA, BB}},
-{"e_crclr",	XL(31,193),	XL_MASK,	PPCVLE,	0,		{BT, BAT, BBA}},
+{"e_crclr",	XL(31,193),	XL_MASK,	PPCVLE,	0,		{BTAB}},
 {"e_crxor",	XL(31,193),	XL_MASK,	PPCVLE,	0,		{BT, BA, BB}},
 {"e_mcrf",	XL(31,16),	XL_MASK,	PPCVLE,	0,		{CRD, CR}},
 {"e_slwi",	EX(31,112),	EX_MASK,	PPCVLE,	0,		{RA, RS, SH}},
@@ -8432,7 +8445,7 @@ const struct powerpc_opcode vle_opcodes[
 {"e_rlw",	EX(31,560),	EX_MASK,	PPCVLE,	0,		{RA, RS, RB}},
 {"e_rlw.",	EX(31,561),	EX_MASK,	PPCVLE,	0,		{RA, RS, RB}},
 
-{"e_crset",	XL(31,289),	XL_MASK,	PPCVLE,	0,		{BT, BAT, BBA}},
+{"e_crset",	XL(31,289),	XL_MASK,	PPCVLE,	0,		{BTAB}},
 {"e_creqv",	XL(31,289),	XL_MASK,	PPCVLE,	0,		{BT, BA, BB}},
 
 {"e_rlwi",	EX(31,624),	EX_MASK,	PPCVLE,	0,		{RA, RS, SH}},
@@ -8440,7 +8453,7 @@ const struct powerpc_opcode vle_opcodes[
 
 {"e_crorc",	XL(31,417),	XL_MASK,	PPCVLE,	0,		{BT, BA, BB}},
 
-{"e_crmove",	XL(31,449),	XL_MASK,	PPCVLE,	0,		{BT, BA, BBA}},
+{"e_crmove",	XL(31,449),	XL_MASK,	PPCVLE,	0,		{BT, BAB}},
 {"e_cror",	XL(31,449),	XL_MASK,	PPCVLE,	0,		{BT, BA, BB}},
 
 {"mtmas1",	XSPR(31,467,625), XSPR_MASK,	PPCVLE,	0,		{RS}},
@@ -8479,7 +8492,7 @@ const struct powerpc_opcode vle_opcodes[
 {"se_bl",	BD8(58,0,1),	BD8_MASK,	PPCVLE,	0,		{B8}},
 };
 
-const int vle_num_opcodes =
+const unsigned int vle_num_opcodes =
   sizeof (vle_opcodes) / sizeof (vle_opcodes[0]);
 
 /* The macro table.  This is only used by the assembler.  */
@@ -9370,5 +9383,5 @@ const struct powerpc_opcode spe2_opcodes
 {"evavgdsr",		  VX (4, 1663),		VX_MASK,		PPCSPE2, 0, {RD, RA, RB}},
 };
 
-const int spe2_num_opcodes =
+const unsigned int spe2_num_opcodes =
   sizeof (spe2_opcodes) / sizeof (spe2_opcodes[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.1.0.20180703/opcodes/riscv-dis.c ./opcodes/riscv-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/riscv-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/riscv-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -64,8 +64,8 @@ parse_riscv_dis_option (const char *opti
     }
   else
     {
-      /* Invalid option.  */
-      fprintf (stderr, _("Unrecognized disassembler option: %s\n"), option);
+      /* xgettext:c-format */
+      opcodes_error_handler (_("unrecognized disassembler option: %s"), option);
     }
 }
 
@@ -101,7 +101,7 @@ maybe_print_address (struct riscv_privat
 {
   if (pd->hi_addr[base_reg] != (bfd_vma)-1)
     {
-      pd->print_addr = pd->hi_addr[base_reg] + offset;
+      pd->print_addr = (base_reg != 0 ? pd->hi_addr[base_reg] : 0) + offset;
       pd->hi_addr[base_reg] = -1;
     }
   else if (base_reg == X_GP && pd->gp != (bfd_vma)-1)
@@ -226,6 +226,8 @@ print_insn_args (const char *d, insn_t l
 
 	case 'b':
 	case 's':
+	  if ((l & MASK_JALR) == MATCH_JALR)
+	    maybe_print_address (pd, rs1, 0);
 	  print (info->stream, "%s", riscv_gpr_names[rs1]);
 	  break;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/riscv-opc.c ./opcodes/riscv-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/riscv-opc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/riscv-opc.c	2018-07-10 02:06:15.000000000 +0000
@@ -123,6 +123,13 @@ match_c_add_with_hint (const struct risc
 }
 
 static int
+match_c_nop (const struct riscv_opcode *op, insn_t insn)
+{
+  return (match_opcode (op, insn)
+	  && (((insn & MASK_RD) >> OP_SH_RD) == 0));
+}
+
+static int
 match_c_addi16sp (const struct riscv_opcode *op, insn_t insn)
 {
   return (match_opcode (op, insn)
@@ -155,6 +162,39 @@ match_c_addi4spn (const struct riscv_opc
   return match_opcode (op, insn) && EXTRACT_RVC_ADDI4SPN_IMM (insn) != 0;
 }
 
+/* This requires a non-zero shift.  A zero rd is a hint, so is allowed.  */
+
+static int
+match_c_slli (const struct riscv_opcode *op, insn_t insn)
+{
+  return match_opcode (op, insn) && EXTRACT_RVC_IMM (insn) != 0;
+}
+
+/* This requires a non-zero rd, and a non-zero shift.  */
+
+static int
+match_slli_as_c_slli (const struct riscv_opcode *op, insn_t insn)
+{
+  return match_rd_nonzero (op, insn) && EXTRACT_RVC_IMM (insn) != 0;
+}
+
+/* This requires a zero shift.  A zero rd is a hint, so is allowed.  */
+
+static int
+match_c_slli64 (const struct riscv_opcode *op, insn_t insn)
+{
+  return match_opcode (op, insn) && EXTRACT_RVC_IMM (insn) == 0;
+}
+
+/* This is used for both srli and srai.  This requires a non-zero shift.
+   A zero rd is not possible.  */
+
+static int
+match_srxi_as_c_srxi (const struct riscv_opcode *op, insn_t insn)
+{
+  return match_opcode (op, insn) && EXTRACT_RVC_IMM (insn) != 0;
+}
+
 const struct riscv_opcode riscv_opcodes[] =
 {
 /* name,      isa,   operands, match, mask, match_func, pinfo.  */
@@ -225,6 +265,7 @@ const struct riscv_opcode riscv_opcodes[
 {"bne",       "I",   "s,t,p",  MATCH_BNE, MASK_BNE, match_opcode, 0 },
 {"addi",      "C",   "Ct,Cc,CK", MATCH_C_ADDI4SPN, MASK_C_ADDI4SPN, match_c_addi4spn, INSN_ALIAS },
 {"addi",      "C",   "d,CU,Cj",  MATCH_C_ADDI, MASK_C_ADDI, match_rd_nonzero, INSN_ALIAS },
+{"addi",      "C",   "d,CU,z",    MATCH_C_NOP, MASK_C_ADDI | MASK_RVC_IMM, match_c_nop, INSN_ALIAS },
 {"addi",      "C",   "Cc,Cc,CL", MATCH_C_ADDI16SP, MASK_C_ADDI16SP, match_c_addi16sp, INSN_ALIAS },
 {"addi",      "I",   "d,s,j",  MATCH_ADDI, MASK_ADDI, match_opcode, 0 },
 {"add",       "C",   "d,CU,CV",  MATCH_C_ADD, MASK_C_ADD, match_c_add, INSN_ALIAS },
@@ -237,24 +278,24 @@ const struct riscv_opcode riscv_opcodes[
    applied to an add instruction, for relaxation to use.  */
 {"add",       "I",   "d,s,t,0",MATCH_ADD, MASK_ADD, match_opcode, 0 },
 {"add",       "I",   "d,s,j",  MATCH_ADDI, MASK_ADDI, match_opcode, INSN_ALIAS },
-{"la",        "I",   "d,A",  0,    (int) M_LA,  match_never, INSN_MACRO },
-{"lla",       "I",   "d,A",  0,    (int) M_LLA,  match_never, INSN_MACRO },
+{"la",        "I",   "d,B",  0,    (int) M_LA,  match_never, INSN_MACRO },
+{"lla",       "I",   "d,B",  0,    (int) M_LLA,  match_never, INSN_MACRO },
 {"la.tls.gd", "I",   "d,A",  0,    (int) M_LA_TLS_GD,  match_never, INSN_MACRO },
 {"la.tls.ie", "I",   "d,A",  0,    (int) M_LA_TLS_IE,  match_never, INSN_MACRO },
 {"neg",       "I",   "d,t",  MATCH_SUB, MASK_SUB | MASK_RS1, match_opcode, INSN_ALIAS }, /* sub 0 */
-{"slli",      "C",   "d,CU,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_rd_nonzero, INSN_ALIAS },
+{"slli",      "C",   "d,CU,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_slli_as_c_slli, INSN_ALIAS },
 {"slli",      "I",   "d,s,>",   MATCH_SLLI, MASK_SLLI, match_opcode, 0 },
-{"sll",       "C",   "d,CU,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_rd_nonzero, INSN_ALIAS },
+{"sll",       "C",   "d,CU,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_slli_as_c_slli, INSN_ALIAS },
 {"sll",       "I",   "d,s,t",   MATCH_SLL, MASK_SLL, match_opcode, 0 },
 {"sll",       "I",   "d,s,>",   MATCH_SLLI, MASK_SLLI, match_opcode, INSN_ALIAS },
-{"srli",      "C",   "Cs,Cw,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_opcode, INSN_ALIAS },
+{"srli",      "C",   "Cs,Cw,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_srxi_as_c_srxi, INSN_ALIAS },
 {"srli",      "I",   "d,s,>",   MATCH_SRLI, MASK_SRLI, match_opcode, 0 },
-{"srl",       "C",   "Cs,Cw,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_opcode, INSN_ALIAS },
+{"srl",       "C",   "Cs,Cw,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_srxi_as_c_srxi, INSN_ALIAS },
 {"srl",       "I",   "d,s,t",   MATCH_SRL, MASK_SRL, match_opcode, 0 },
 {"srl",       "I",   "d,s,>",   MATCH_SRLI, MASK_SRLI, match_opcode, INSN_ALIAS },
-{"srai",      "C",   "Cs,Cw,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_opcode, INSN_ALIAS },
+{"srai",      "C",   "Cs,Cw,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_srxi_as_c_srxi, INSN_ALIAS },
 {"srai",      "I",   "d,s,>",   MATCH_SRAI, MASK_SRAI, match_opcode, 0 },
-{"sra",       "C",   "Cs,Cw,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_opcode, INSN_ALIAS },
+{"sra",       "C",   "Cs,Cw,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_srxi_as_c_srxi, INSN_ALIAS },
 {"sra",       "I",   "d,s,t",   MATCH_SRA, MASK_SRA, match_opcode, 0 },
 {"sra",       "I",   "d,s,>",   MATCH_SRAI, MASK_SRAI, match_opcode, INSN_ALIAS },
 {"sub",       "C",   "Cs,Cw,Ct",  MATCH_C_SUB, MASK_C_SUB, match_opcode, INSN_ALIAS },
@@ -678,9 +719,12 @@ const struct riscv_opcode riscv_opcodes[
 {"c.and",     "C",   "Cs,Ct",  MATCH_C_AND, MASK_C_AND, match_opcode, 0 },
 {"c.or",      "C",   "Cs,Ct",  MATCH_C_OR, MASK_C_OR, match_opcode, 0 },
 {"c.xor",     "C",   "Cs,Ct",  MATCH_C_XOR, MASK_C_XOR, match_opcode, 0 },
-{"c.slli",    "C",   "d,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_opcode, 0 },
-{"c.srli",    "C",   "Cs,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_opcode, 0 },
-{"c.srai",    "C",   "Cs,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_opcode, 0 },
+{"c.slli",    "C",   "d,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_c_slli, 0 },
+{"c.srli",    "C",   "Cs,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_c_slli, 0 },
+{"c.srai",    "C",   "Cs,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_c_slli, 0 },
+{"c.slli64",  "C",   "d",  MATCH_C_SLLI64, MASK_C_SLLI64, match_c_slli64, 0 },
+{"c.srli64",  "C",   "Cs",  MATCH_C_SRLI64, MASK_C_SRLI64, match_c_slli64, 0 },
+{"c.srai64",  "C",   "Cs",  MATCH_C_SRAI64, MASK_C_SRAI64, match_c_slli64, 0 },
 {"c.andi",    "C",   "Cs,Co",  MATCH_C_ANDI, MASK_C_ANDI, match_opcode, 0 },
 {"c.addiw",   "64C", "d,Co",  MATCH_C_ADDIW, MASK_C_ADDIW, match_rd_nonzero, 0 },
 {"c.addw",    "64C", "Cs,Ct",  MATCH_C_ADDW, MASK_C_ADDW, match_opcode, 0 },
@@ -733,3 +777,77 @@ const struct riscv_opcode riscv_opcodes[
 /* Terminate the list.  */
 {0, 0, 0, 0, 0, 0, 0}
 };
+
+/* Instruction format for .insn directive.  */
+const struct riscv_opcode riscv_insn_types[] =
+{
+/* name,  isa,          operands, match, mask,    match_func, pinfo.  */
+{"r",     "I",  "O4,F3,F7,d,s,t",     0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F7,D,s,t",     0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F7,d,S,t",     0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F7,D,S,t",     0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F7,d,s,T",     0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F7,D,s,T",     0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F7,d,S,T",     0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F7,D,S,T",     0,    0,  match_opcode, 0 },
+
+{"r",     "I",  "O4,F3,F2,d,s,t,r",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,D,s,t,r",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,d,S,t,r",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,D,S,t,r",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,d,s,T,r",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,D,s,T,r",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,d,S,T,r",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,D,S,T,r",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,d,s,t,R",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,D,s,t,R",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,d,S,t,R",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,D,S,t,R",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,d,s,T,R",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,D,s,T,R",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,d,S,T,R",   0,    0,  match_opcode, 0 },
+{"r",     "I",  "O4,F3,F2,D,S,T,R",   0,    0,  match_opcode, 0 },
+
+{"i",     "I",  "O4,F3,d,s,j",        0,    0,  match_opcode, 0 },
+{"i",     "I",  "O4,F3,D,s,j",        0,    0,  match_opcode, 0 },
+{"i",     "I",  "O4,F3,d,S,j",        0,    0,  match_opcode, 0 },
+{"i",     "I",  "O4,F3,D,S,j",        0,    0,  match_opcode, 0 },
+
+{"i",     "I",  "O4,F3,d,o(s)",       0,    0,  match_opcode, 0 },
+{"i",     "I",  "O4,F3,D,o(s)",       0,    0,  match_opcode, 0 },
+
+{"s",     "I",  "O4,F3,d,o(s)",       0,    0,  match_opcode, 0 },
+{"s",     "I",  "O4,F3,D,o(s)",       0,    0,  match_opcode, 0 },
+
+{"sb",    "I",  "O4,F3,s,t,p",        0,    0,  match_opcode, 0 },
+{"sb",    "I",  "O4,F3,S,t,p",        0,    0,  match_opcode, 0 },
+{"sb",    "I",  "O4,F3,s,T,p",        0,    0,  match_opcode, 0 },
+{"sb",    "I",  "O4,F3,S,T,p",        0,    0,  match_opcode, 0 },
+
+{"sb",    "I",  "O4,F3,t,q(s)",       0,    0,  match_opcode, 0 },
+{"sb",    "I",  "O4,F3,T,q(s)",       0,    0,  match_opcode, 0 },
+
+{"u",     "I",  "O4,d,u",             0,    0,  match_opcode, 0 },
+{"u",     "I",  "O4,D,u",             0,    0,  match_opcode, 0 },
+
+{"uj",    "I",  "O4,d,a",             0,    0,  match_opcode, 0 },
+{"uj",    "I",  "O4,D,a",             0,    0,  match_opcode, 0 },
+
+{"cr",    "C",  "O2,CF4,d,CV",        0,    0,  match_opcode, 0 },
+{"cr",    "C",  "O2,CF4,D,CV",        0,    0,  match_opcode, 0 },
+{"cr",    "C",  "O2,CF4,d,CT",        0,    0,  match_opcode, 0 },
+{"cr",    "C",  "O2,CF4,D,CT",        0,    0,  match_opcode, 0 },
+
+{"ci",    "C",  "O2,CF3,d,Co",        0,    0,  match_opcode, 0 },
+{"ci",    "C",  "O2,CF3,D,Co",        0,    0,  match_opcode, 0 },
+
+{"ciw",   "C",  "O2,CF3,Ct,C8",        0,    0,  match_opcode, 0 },
+{"ciw",   "C",  "O2,CF3,CD,C8",        0,    0,  match_opcode, 0 },
+
+{"cb",    "C",  "O2,CF3,Cs,Cp",       0,    0,  match_opcode, 0 },
+{"cb",    "C",  "O2,CF3,CS,Cp",       0,    0,  match_opcode, 0 },
+
+{"cj",    "C",  "O2,CF3,Ca",          0,    0,  match_opcode, 0 },
+/* Terminate the list.  */
+{0, 0, 0, 0, 0, 0, 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.1.0.20180703/opcodes/rl78-decode.c ./opcodes/rl78-decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/rl78-decode.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/rl78-decode.c	2018-07-10 02:06:15.000000000 +0000
@@ -1,3 +1,4 @@
+/* DO NOT EDIT!  -*- buffer-read-only: t -*- vi:set ro:  */
 #line 1 "rl78-decode.opc"
 /* -*- c -*- */
 /* Copyright (C) 2012-2018 Free Software Foundation, Inc.
@@ -25,7 +26,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include "ansidecl.h"
+#include "bfd.h"
+#include "opintl.h"
 #include "opcode/rl78.h"
 
 static int trace = 0;
@@ -101,7 +103,10 @@ immediate (int bytes, int sign_extend, L
 	i -= 0x1000000;
       break;
     default:
-      fprintf (stderr, "Programmer error: immediate() called with invalid byte count %d\n", bytes);
+      opcodes_error_handler
+	/* xgettext:c-format */
+	(_("internal error: immediate() called with invalid byte count %d"),
+	   bytes);
       abort();
     }
   return i;
@@ -203,7 +208,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("nop");
-#line 913 "rl78-decode.opc"
+#line 917 "rl78-decode.opc"
           ID(nop);
 
         /*----------------------------------------------------------------------*/
@@ -216,7 +221,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x07:
         {
           /** 0000 0rw1			addw	%0, %1				*/
-#line 276 "rl78-decode.opc"
+#line 280 "rl78-decode.opc"
           int rw AU = (op[0] >> 1) & 0x03;
           if (trace)
             {
@@ -226,7 +231,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rw = 0x%x\n", rw);
             }
           SYNTAX("addw	%0, %1");
-#line 276 "rl78-decode.opc"
+#line 280 "rl78-decode.opc"
           ID(add); W(); DR(AX); SRW(rw); Fzac;
 
         }
@@ -241,7 +246,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("addw	%0, %e!1");
-#line 267 "rl78-decode.opc"
+#line 271 "rl78-decode.opc"
           ID(add); W(); DR(AX); SM(None, IMMU(2)); Fzac;
 
         }
@@ -256,7 +261,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("addw	%0, #%1");
-#line 273 "rl78-decode.opc"
+#line 277 "rl78-decode.opc"
           ID(add); W(); DR(AX); SC(IMMU(2)); Fzac;
 
         }
@@ -271,7 +276,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("addw	%0, %1");
-#line 279 "rl78-decode.opc"
+#line 283 "rl78-decode.opc"
           ID(add); W(); DR(AX); SM(None, SADDR); Fzac;
 
         }
@@ -286,7 +291,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("xch	a, x");
-#line 1236 "rl78-decode.opc"
+#line 1240 "rl78-decode.opc"
           ID(xch); DR(A); SR(X);
 
         /*----------------------------------------------------------------------*/
@@ -303,7 +308,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %e1");
-#line 680 "rl78-decode.opc"
+#line 684 "rl78-decode.opc"
           ID(mov); DR(A); SM(B, IMMU(2));
 
         }
@@ -318,7 +323,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("add	%0, #%1");
-#line 230 "rl78-decode.opc"
+#line 234 "rl78-decode.opc"
           ID(add); DM(None, SADDR); SC(IMMU(1)); Fzac;
 
         /*----------------------------------------------------------------------*/
@@ -335,7 +340,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("add	%0, %1");
-#line 224 "rl78-decode.opc"
+#line 228 "rl78-decode.opc"
           ID(add); DR(A); SM(None, SADDR); Fzac;
 
         }
@@ -350,7 +355,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("add	%0, #%1");
-#line 218 "rl78-decode.opc"
+#line 222 "rl78-decode.opc"
           ID(add); DR(A); SC(IMMU(1)); Fzac;
 
         }
@@ -365,7 +370,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("add	%0, %e1");
-#line 206 "rl78-decode.opc"
+#line 210 "rl78-decode.opc"
           ID(add); DR(A); SM(HL, 0); Fzac;
 
         }
@@ -380,7 +385,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("add	%0, %ea1");
-#line 212 "rl78-decode.opc"
+#line 216 "rl78-decode.opc"
           ID(add); DR(A); SM(HL, IMMU(1)); Fzac;
 
         }
@@ -395,7 +400,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("add	%0, %e!1");
-#line 203 "rl78-decode.opc"
+#line 207 "rl78-decode.opc"
           ID(add); DR(A); SM(None, IMMU(2)); Fzac;
 
         }
@@ -410,7 +415,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("addw	%0, #%1");
-#line 282 "rl78-decode.opc"
+#line 286 "rl78-decode.opc"
           ID(add); W(); DR(SP); SC(IMMU(1)); Fzac;
 
         /*----------------------------------------------------------------------*/
@@ -427,7 +432,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("es:");
-#line 195 "rl78-decode.opc"
+#line 199 "rl78-decode.opc"
           DE(); SE();
           op ++;
           pc ++;
@@ -442,7 +447,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x16:
         {
           /** 0001 0ra0			movw	%0, %1				*/
-#line 861 "rl78-decode.opc"
+#line 865 "rl78-decode.opc"
           int ra AU = (op[0] >> 1) & 0x03;
           if (trace)
             {
@@ -452,7 +457,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  ra = 0x%x\n", ra);
             }
           SYNTAX("movw	%0, %1");
-#line 861 "rl78-decode.opc"
+#line 865 "rl78-decode.opc"
           ID(mov); W(); DRW(ra); SR(AX);
 
         }
@@ -462,7 +467,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x17:
         {
           /** 0001 0ra1			movw	%0, %1				*/
-#line 858 "rl78-decode.opc"
+#line 862 "rl78-decode.opc"
           int ra AU = (op[0] >> 1) & 0x03;
           if (trace)
             {
@@ -472,7 +477,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  ra = 0x%x\n", ra);
             }
           SYNTAX("movw	%0, %1");
-#line 858 "rl78-decode.opc"
+#line 862 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SRW(ra);
 
         }
@@ -487,7 +492,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%e0, %1");
-#line 731 "rl78-decode.opc"
+#line 735 "rl78-decode.opc"
           ID(mov); DM(B, IMMU(2)); SR(A);
 
         }
@@ -502,7 +507,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%e0, #%1");
-#line 728 "rl78-decode.opc"
+#line 732 "rl78-decode.opc"
           ID(mov); DM(B, IMMU(2)); SC(IMMU(1));
 
         }
@@ -517,7 +522,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("addc	%0, #%1");
-#line 262 "rl78-decode.opc"
+#line 266 "rl78-decode.opc"
           ID(addc); DM(None, SADDR); SC(IMMU(1)); Fzac;
 
         /*----------------------------------------------------------------------*/
@@ -534,7 +539,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("addc	%0, %1");
-#line 259 "rl78-decode.opc"
+#line 263 "rl78-decode.opc"
           ID(addc); DR(A); SM(None, SADDR); Fzac;
 
         }
@@ -549,7 +554,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("addc	%0, #%1");
-#line 250 "rl78-decode.opc"
+#line 254 "rl78-decode.opc"
           ID(addc); DR(A); SC(IMMU(1)); Fzac;
 
         }
@@ -564,7 +569,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("addc	%0, %e1");
-#line 238 "rl78-decode.opc"
+#line 242 "rl78-decode.opc"
           ID(addc); DR(A); SM(HL, 0); Fzac;
 
         }
@@ -579,7 +584,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("addc	%0, %ea1");
-#line 247 "rl78-decode.opc"
+#line 251 "rl78-decode.opc"
           ID(addc); DR(A); SM(HL, IMMU(1)); Fzac;
 
         }
@@ -594,7 +599,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("addc	%0, %e!1");
-#line 235 "rl78-decode.opc"
+#line 239 "rl78-decode.opc"
           ID(addc); DR(A); SM(None, IMMU(2)); Fzac;
 
         }
@@ -609,7 +614,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("subw	%0, #%1");
-#line 1200 "rl78-decode.opc"
+#line 1204 "rl78-decode.opc"
           ID(sub); W(); DR(SP); SC(IMMU(1)); Fzac;
 
         /*----------------------------------------------------------------------*/
@@ -622,7 +627,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x27:
         {
           /** 0010 0rw1			subw	%0, %1				*/
-#line 1194 "rl78-decode.opc"
+#line 1198 "rl78-decode.opc"
           int rw AU = (op[0] >> 1) & 0x03;
           if (trace)
             {
@@ -632,7 +637,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rw = 0x%x\n", rw);
             }
           SYNTAX("subw	%0, %1");
-#line 1194 "rl78-decode.opc"
+#line 1198 "rl78-decode.opc"
           ID(sub); W(); DR(AX); SRW(rw); Fzac;
 
         }
@@ -647,7 +652,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("subw	%0, %e!1");
-#line 1185 "rl78-decode.opc"
+#line 1189 "rl78-decode.opc"
           ID(sub); W(); DR(AX); SM(None, IMMU(2)); Fzac;
 
         }
@@ -662,7 +667,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("subw	%0, #%1");
-#line 1191 "rl78-decode.opc"
+#line 1195 "rl78-decode.opc"
           ID(sub); W(); DR(AX); SC(IMMU(2)); Fzac;
 
         }
@@ -677,7 +682,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("subw	%0, %1");
-#line 1197 "rl78-decode.opc"
+#line 1201 "rl78-decode.opc"
           ID(sub); W(); DR(AX); SM(None, SADDR); Fzac;
 
         }
@@ -692,7 +697,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%e0, %1");
-#line 743 "rl78-decode.opc"
+#line 747 "rl78-decode.opc"
           ID(mov); DM(C, IMMU(2)); SR(A);
 
         }
@@ -707,7 +712,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %e1");
-#line 686 "rl78-decode.opc"
+#line 690 "rl78-decode.opc"
           ID(mov); DR(A); SM(C, IMMU(2));
 
         }
@@ -722,7 +727,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("sub	%0, #%1");
-#line 1148 "rl78-decode.opc"
+#line 1152 "rl78-decode.opc"
           ID(sub); DM(None, SADDR); SC(IMMU(1)); Fzac;
 
         /*----------------------------------------------------------------------*/
@@ -739,7 +744,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("sub	%0, %1");
-#line 1142 "rl78-decode.opc"
+#line 1146 "rl78-decode.opc"
           ID(sub); DR(A); SM(None, SADDR); Fzac;
 
         }
@@ -754,7 +759,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("sub	%0, #%1");
-#line 1136 "rl78-decode.opc"
+#line 1140 "rl78-decode.opc"
           ID(sub); DR(A); SC(IMMU(1)); Fzac;
 
         }
@@ -769,7 +774,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("sub	%0, %e1");
-#line 1124 "rl78-decode.opc"
+#line 1128 "rl78-decode.opc"
           ID(sub); DR(A); SM(HL, 0); Fzac;
 
         }
@@ -784,7 +789,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("sub	%0, %ea1");
-#line 1130 "rl78-decode.opc"
+#line 1134 "rl78-decode.opc"
           ID(sub); DR(A); SM(HL, IMMU(1)); Fzac;
 
         }
@@ -799,7 +804,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("sub	%0, %e!1");
-#line 1121 "rl78-decode.opc"
+#line 1125 "rl78-decode.opc"
           ID(sub); DR(A); SM(None, IMMU(2)); Fzac;
 
         }
@@ -810,7 +815,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x36:
         {
           /** 0011 0rg0			movw	%0, #%1				*/
-#line 855 "rl78-decode.opc"
+#line 859 "rl78-decode.opc"
           int rg AU = (op[0] >> 1) & 0x03;
           if (trace)
             {
@@ -820,7 +825,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rg = 0x%x\n", rg);
             }
           SYNTAX("movw	%0, #%1");
-#line 855 "rl78-decode.opc"
+#line 859 "rl78-decode.opc"
           ID(mov); W(); DRW(rg); SC(IMMU(2));
 
         }
@@ -832,7 +837,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0011 0001 0bit 0000		btclr	%s1, $%a0			*/
-#line 418 "rl78-decode.opc"
+#line 422 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -842,7 +847,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("btclr	%s1, $%a0");
-#line 418 "rl78-decode.opc"
+#line 422 "rl78-decode.opc"
                 ID(branch_cond_clear); SM(None, SADDR); SB(bit); DC(pc+IMMS(1)+4); COND(T);
 
               /*----------------------------------------------------------------------*/
@@ -852,7 +857,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x01:
               {
                 /** 0011 0001 0bit 0001		btclr	%1, $%a0			*/
-#line 412 "rl78-decode.opc"
+#line 416 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -862,7 +867,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("btclr	%1, $%a0");
-#line 412 "rl78-decode.opc"
+#line 416 "rl78-decode.opc"
                 ID(branch_cond_clear); DC(pc+IMMS(1)+3); SR(A); SB(bit); COND(T);
 
               }
@@ -870,7 +875,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x02:
               {
                 /** 0011 0001 0bit 0010		bt	%s1, $%a0			*/
-#line 404 "rl78-decode.opc"
+#line 408 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -880,7 +885,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("bt	%s1, $%a0");
-#line 404 "rl78-decode.opc"
+#line 408 "rl78-decode.opc"
                 ID(branch_cond); SM(None, SADDR); SB(bit); DC(pc+IMMS(1)+4); COND(T);
 
               /*----------------------------------------------------------------------*/
@@ -890,7 +895,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x03:
               {
                 /** 0011 0001 0bit 0011		bt	%1, $%a0			*/
-#line 398 "rl78-decode.opc"
+#line 402 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -900,7 +905,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("bt	%1, $%a0");
-#line 398 "rl78-decode.opc"
+#line 402 "rl78-decode.opc"
                 ID(branch_cond); DC(pc+IMMS(1)+3); SR(A); SB(bit); COND(T);
 
               }
@@ -908,7 +913,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x04:
               {
                 /** 0011 0001 0bit 0100		bf	%s1, $%a0			*/
-#line 365 "rl78-decode.opc"
+#line 369 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -918,7 +923,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("bf	%s1, $%a0");
-#line 365 "rl78-decode.opc"
+#line 369 "rl78-decode.opc"
                 ID(branch_cond); SM(None, SADDR); SB(bit); DC(pc+IMMS(1)+4); COND(F);
 
               /*----------------------------------------------------------------------*/
@@ -928,7 +933,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x05:
               {
                 /** 0011 0001 0bit 0101		bf	%1, $%a0			*/
-#line 359 "rl78-decode.opc"
+#line 363 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -938,7 +943,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("bf	%1, $%a0");
-#line 359 "rl78-decode.opc"
+#line 363 "rl78-decode.opc"
                 ID(branch_cond); DC(pc+IMMS(1)+3); SR(A); SB(bit); COND(F);
 
               }
@@ -946,7 +951,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x07:
               {
                 /** 0011 0001 0cnt 0111		shl	%0, %1				*/
-#line 1077 "rl78-decode.opc"
+#line 1081 "rl78-decode.opc"
                 int cnt AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -956,7 +961,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  cnt = 0x%x\n", cnt);
                   }
                 SYNTAX("shl	%0, %1");
-#line 1077 "rl78-decode.opc"
+#line 1081 "rl78-decode.opc"
                 ID(shl); DR(C); SC(cnt);
 
               }
@@ -964,7 +969,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x08:
               {
                 /** 0011 0001 0cnt 1000		shl	%0, %1				*/
-#line 1074 "rl78-decode.opc"
+#line 1078 "rl78-decode.opc"
                 int cnt AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -974,7 +979,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  cnt = 0x%x\n", cnt);
                   }
                 SYNTAX("shl	%0, %1");
-#line 1074 "rl78-decode.opc"
+#line 1078 "rl78-decode.opc"
                 ID(shl); DR(B); SC(cnt);
 
               }
@@ -982,7 +987,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x09:
               {
                 /** 0011 0001 0cnt 1001		shl	%0, %1				*/
-#line 1071 "rl78-decode.opc"
+#line 1075 "rl78-decode.opc"
                 int cnt AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -992,7 +997,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  cnt = 0x%x\n", cnt);
                   }
                 SYNTAX("shl	%0, %1");
-#line 1071 "rl78-decode.opc"
+#line 1075 "rl78-decode.opc"
                 ID(shl); DR(A); SC(cnt);
 
               }
@@ -1000,7 +1005,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x0a:
               {
                 /** 0011 0001 0cnt 1010		shr	%0, %1				*/
-#line 1088 "rl78-decode.opc"
+#line 1092 "rl78-decode.opc"
                 int cnt AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -1010,7 +1015,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  cnt = 0x%x\n", cnt);
                   }
                 SYNTAX("shr	%0, %1");
-#line 1088 "rl78-decode.opc"
+#line 1092 "rl78-decode.opc"
                 ID(shr); DR(A); SC(cnt);
 
               }
@@ -1018,7 +1023,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x0b:
               {
                 /** 0011 0001 0cnt 1011		sar	%0, %1				*/
-#line 1035 "rl78-decode.opc"
+#line 1039 "rl78-decode.opc"
                 int cnt AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -1028,7 +1033,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  cnt = 0x%x\n", cnt);
                   }
                 SYNTAX("sar	%0, %1");
-#line 1035 "rl78-decode.opc"
+#line 1039 "rl78-decode.opc"
                 ID(sar); DR(A); SC(cnt);
 
               }
@@ -1037,7 +1042,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x8c:
               {
                 /** 0011 0001 wcnt 1100		shlw	%0, %1				*/
-#line 1083 "rl78-decode.opc"
+#line 1087 "rl78-decode.opc"
                 int wcnt AU = (op[1] >> 4) & 0x0f;
                 if (trace)
                   {
@@ -1047,7 +1052,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  wcnt = 0x%x\n", wcnt);
                   }
                 SYNTAX("shlw	%0, %1");
-#line 1083 "rl78-decode.opc"
+#line 1087 "rl78-decode.opc"
                 ID(shl); W(); DR(BC); SC(wcnt);
 
               /*----------------------------------------------------------------------*/
@@ -1058,7 +1063,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x8d:
               {
                 /** 0011 0001 wcnt 1101		shlw	%0, %1				*/
-#line 1080 "rl78-decode.opc"
+#line 1084 "rl78-decode.opc"
                 int wcnt AU = (op[1] >> 4) & 0x0f;
                 if (trace)
                   {
@@ -1068,7 +1073,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  wcnt = 0x%x\n", wcnt);
                   }
                 SYNTAX("shlw	%0, %1");
-#line 1080 "rl78-decode.opc"
+#line 1084 "rl78-decode.opc"
                 ID(shl); W(); DR(AX); SC(wcnt);
 
               }
@@ -1077,7 +1082,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x8e:
               {
                 /** 0011 0001 wcnt 1110		shrw	%0, %1				*/
-#line 1091 "rl78-decode.opc"
+#line 1095 "rl78-decode.opc"
                 int wcnt AU = (op[1] >> 4) & 0x0f;
                 if (trace)
                   {
@@ -1087,7 +1092,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  wcnt = 0x%x\n", wcnt);
                   }
                 SYNTAX("shrw	%0, %1");
-#line 1091 "rl78-decode.opc"
+#line 1095 "rl78-decode.opc"
                 ID(shr); W(); DR(AX); SC(wcnt);
 
               /*----------------------------------------------------------------------*/
@@ -1098,7 +1103,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x8f:
               {
                 /** 0011 0001 wcnt 1111		sarw	%0, %1				*/
-#line 1038 "rl78-decode.opc"
+#line 1042 "rl78-decode.opc"
                 int wcnt AU = (op[1] >> 4) & 0x0f;
                 if (trace)
                   {
@@ -1108,7 +1113,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  wcnt = 0x%x\n", wcnt);
                   }
                 SYNTAX("sarw	%0, %1");
-#line 1038 "rl78-decode.opc"
+#line 1042 "rl78-decode.opc"
                 ID(sar); W(); DR(AX); SC(wcnt);
 
               /*----------------------------------------------------------------------*/
@@ -1118,7 +1123,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x80:
               {
                 /** 0011 0001 1bit 0000		btclr	%s1, $%a0			*/
-#line 415 "rl78-decode.opc"
+#line 419 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -1128,7 +1133,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("btclr	%s1, $%a0");
-#line 415 "rl78-decode.opc"
+#line 419 "rl78-decode.opc"
                 ID(branch_cond_clear); SM(None, SFR); SB(bit); DC(pc+IMMS(1)+4); COND(T);
 
               }
@@ -1136,7 +1141,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x81:
               {
                 /** 0011 0001 1bit 0001		btclr	%e1, $%a0			*/
-#line 409 "rl78-decode.opc"
+#line 413 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -1146,7 +1151,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("btclr	%e1, $%a0");
-#line 409 "rl78-decode.opc"
+#line 413 "rl78-decode.opc"
                 ID(branch_cond_clear); DC(pc+IMMS(1)+3); SM(HL,0); SB(bit); COND(T);
 
               }
@@ -1154,7 +1159,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x82:
               {
                 /** 0011 0001 1bit 0010		bt	%s1, $%a0			*/
-#line 401 "rl78-decode.opc"
+#line 405 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -1164,7 +1169,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("bt	%s1, $%a0");
-#line 401 "rl78-decode.opc"
+#line 405 "rl78-decode.opc"
                 ID(branch_cond); SM(None, SFR); SB(bit); DC(pc+IMMS(1)+4); COND(T);
 
               }
@@ -1172,7 +1177,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x83:
               {
                 /** 0011 0001 1bit 0011		bt	%e1, $%a0			*/
-#line 395 "rl78-decode.opc"
+#line 399 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -1182,7 +1187,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("bt	%e1, $%a0");
-#line 395 "rl78-decode.opc"
+#line 399 "rl78-decode.opc"
                 ID(branch_cond); DC(pc+IMMS(1)+3); SM(HL,0); SB(bit); COND(T);
 
               }
@@ -1190,7 +1195,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x84:
               {
                 /** 0011 0001 1bit 0100		bf	%s1, $%a0			*/
-#line 362 "rl78-decode.opc"
+#line 366 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -1200,7 +1205,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("bf	%s1, $%a0");
-#line 362 "rl78-decode.opc"
+#line 366 "rl78-decode.opc"
                 ID(branch_cond); SM(None, SFR); SB(bit); DC(pc+IMMS(1)+4); COND(F);
 
               }
@@ -1208,7 +1213,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x85:
               {
                 /** 0011 0001 1bit 0101		bf	%e1, $%a0			*/
-#line 356 "rl78-decode.opc"
+#line 360 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -1218,7 +1223,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("bf	%e1, $%a0");
-#line 356 "rl78-decode.opc"
+#line 360 "rl78-decode.opc"
                 ID(branch_cond); DC(pc+IMMS(1)+3); SM(HL,0); SB(bit); COND(F);
 
               }
@@ -1231,7 +1236,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x37:
         {
           /** 0011 0ra1			xchw	%0, %1				*/
-#line 1241 "rl78-decode.opc"
+#line 1245 "rl78-decode.opc"
           int ra AU = (op[0] >> 1) & 0x03;
           if (trace)
             {
@@ -1241,7 +1246,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  ra = 0x%x\n", ra);
             }
           SYNTAX("xchw	%0, %1");
-#line 1241 "rl78-decode.opc"
+#line 1245 "rl78-decode.opc"
           ID(xch); W(); DR(AX); SRW(ra);
 
         /*----------------------------------------------------------------------*/
@@ -1258,7 +1263,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%e0, #%1");
-#line 740 "rl78-decode.opc"
+#line 744 "rl78-decode.opc"
           ID(mov); DM(C, IMMU(2)); SC(IMMU(1));
 
         }
@@ -1273,7 +1278,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%e0, #%1");
-#line 734 "rl78-decode.opc"
+#line 738 "rl78-decode.opc"
           ID(mov); DM(BC, IMMU(2)); SC(IMMU(1));
 
         }
@@ -1288,7 +1293,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("subc	%0, #%1");
-#line 1180 "rl78-decode.opc"
+#line 1184 "rl78-decode.opc"
           ID(subc); DM(None, SADDR); SC(IMMU(1)); Fzac;
 
         /*----------------------------------------------------------------------*/
@@ -1305,7 +1310,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("subc	%0, %1");
-#line 1177 "rl78-decode.opc"
+#line 1181 "rl78-decode.opc"
           ID(subc); DR(A); SM(None, SADDR); Fzac;
 
         }
@@ -1320,7 +1325,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("subc	%0, #%1");
-#line 1168 "rl78-decode.opc"
+#line 1172 "rl78-decode.opc"
           ID(subc); DR(A); SC(IMMU(1)); Fzac;
 
         }
@@ -1335,7 +1340,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("subc	%0, %e1");
-#line 1156 "rl78-decode.opc"
+#line 1160 "rl78-decode.opc"
           ID(subc); DR(A); SM(HL, 0); Fzac;
 
         }
@@ -1350,7 +1355,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("subc	%0, %ea1");
-#line 1165 "rl78-decode.opc"
+#line 1169 "rl78-decode.opc"
           ID(subc); DR(A); SM(HL, IMMU(1)); Fzac;
 
         }
@@ -1365,7 +1370,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("subc	%0, %e!1");
-#line 1153 "rl78-decode.opc"
+#line 1157 "rl78-decode.opc"
           ID(subc); DR(A); SM(None, IMMU(2)); Fzac;
 
         }
@@ -1380,7 +1385,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmp	%e!0, #%1");
-#line 482 "rl78-decode.opc"
+#line 486 "rl78-decode.opc"
           ID(cmp); DM(None, IMMU(2)); SC(IMMU(1)); Fzac;
 
         }
@@ -1395,7 +1400,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, #%1");
-#line 719 "rl78-decode.opc"
+#line 723 "rl78-decode.opc"
           ID(mov); DR(ES); SC(IMMU(1));
 
         }
@@ -1410,7 +1415,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmpw	%0, %e!1");
-#line 533 "rl78-decode.opc"
+#line 537 "rl78-decode.opc"
           ID(cmp); W(); DR(AX); SM(None, IMMU(2)); Fzac;
 
         }
@@ -1420,7 +1425,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x47:
         {
           /** 0100 0ra1			cmpw	%0, %1				*/
-#line 542 "rl78-decode.opc"
+#line 546 "rl78-decode.opc"
           int ra AU = (op[0] >> 1) & 0x03;
           if (trace)
             {
@@ -1430,7 +1435,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  ra = 0x%x\n", ra);
             }
           SYNTAX("cmpw	%0, %1");
-#line 542 "rl78-decode.opc"
+#line 546 "rl78-decode.opc"
           ID(cmp); W(); DR(AX); SRW(ra); Fzac;
 
         }
@@ -1445,7 +1450,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmpw	%0, #%1");
-#line 539 "rl78-decode.opc"
+#line 543 "rl78-decode.opc"
           ID(cmp); W(); DR(AX); SC(IMMU(2)); Fzac;
 
         }
@@ -1460,7 +1465,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmpw	%0, %1");
-#line 545 "rl78-decode.opc"
+#line 549 "rl78-decode.opc"
           ID(cmp); W(); DR(AX); SM(None, SADDR); Fzac;
 
         /*----------------------------------------------------------------------*/
@@ -1477,7 +1482,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%e0, %1");
-#line 737 "rl78-decode.opc"
+#line 741 "rl78-decode.opc"
           ID(mov); DM(BC, IMMU(2)); SR(A);
 
         }
@@ -1492,7 +1497,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %e1");
-#line 683 "rl78-decode.opc"
+#line 687 "rl78-decode.opc"
           ID(mov); DR(A); SM(BC, IMMU(2));
 
         }
@@ -1507,7 +1512,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmp	%0, #%1");
-#line 485 "rl78-decode.opc"
+#line 489 "rl78-decode.opc"
           ID(cmp); DM(None, SADDR); SC(IMMU(1)); Fzac;
 
         }
@@ -1522,7 +1527,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmp	%0, %1");
-#line 512 "rl78-decode.opc"
+#line 516 "rl78-decode.opc"
           ID(cmp); DR(A); SM(None, SADDR); Fzac;
 
         /*----------------------------------------------------------------------*/
@@ -1539,7 +1544,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmp	%0, #%1");
-#line 503 "rl78-decode.opc"
+#line 507 "rl78-decode.opc"
           ID(cmp); DR(A); SC(IMMU(1)); Fzac;
 
         }
@@ -1554,7 +1559,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmp	%0, %e1");
-#line 491 "rl78-decode.opc"
+#line 495 "rl78-decode.opc"
           ID(cmp); DR(A); SM(HL, 0); Fzac;
 
         }
@@ -1569,7 +1574,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmp	%0, %ea1");
-#line 500 "rl78-decode.opc"
+#line 504 "rl78-decode.opc"
           ID(cmp); DR(A); SM(HL, IMMU(1)); Fzac;
 
         }
@@ -1584,7 +1589,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmp	%0, %e!1");
-#line 488 "rl78-decode.opc"
+#line 492 "rl78-decode.opc"
           ID(cmp); DR(A); SM(None, IMMU(2)); Fzac;
 
         }
@@ -1599,7 +1604,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x57:
         {
           /** 0101 0reg			mov	%0, #%1				*/
-#line 671 "rl78-decode.opc"
+#line 675 "rl78-decode.opc"
           int reg AU = op[0] & 0x07;
           if (trace)
             {
@@ -1609,7 +1614,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  reg = 0x%x\n", reg);
             }
           SYNTAX("mov	%0, #%1");
-#line 671 "rl78-decode.opc"
+#line 675 "rl78-decode.opc"
           ID(mov); DRB(reg); SC(IMMU(1));
 
         }
@@ -1624,7 +1629,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%e0, %1");
-#line 873 "rl78-decode.opc"
+#line 877 "rl78-decode.opc"
           ID(mov); W(); DM(B, IMMU(2)); SR(AX);
 
         }
@@ -1639,7 +1644,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %e1");
-#line 864 "rl78-decode.opc"
+#line 868 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SM(B, IMMU(2));
 
         }
@@ -1654,7 +1659,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("and	%0, #%1");
-#line 314 "rl78-decode.opc"
+#line 318 "rl78-decode.opc"
           ID(and); DM(None, SADDR); SC(IMMU(1)); Fz;
 
         /*----------------------------------------------------------------------*/
@@ -1671,7 +1676,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("and	%0, %1");
-#line 311 "rl78-decode.opc"
+#line 315 "rl78-decode.opc"
           ID(and); DR(A); SM(None, SADDR); Fz;
 
         }
@@ -1686,7 +1691,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("and	%0, #%1");
-#line 302 "rl78-decode.opc"
+#line 306 "rl78-decode.opc"
           ID(and); DR(A); SC(IMMU(1)); Fz;
 
         }
@@ -1701,7 +1706,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("and	%0, %e1");
-#line 290 "rl78-decode.opc"
+#line 294 "rl78-decode.opc"
           ID(and); DR(A); SM(HL, 0); Fz;
 
         }
@@ -1716,7 +1721,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("and	%0, %ea1");
-#line 296 "rl78-decode.opc"
+#line 300 "rl78-decode.opc"
           ID(and); DR(A); SM(HL, IMMU(1)); Fz;
 
         }
@@ -1731,7 +1736,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("and	%0, %e!1");
-#line 287 "rl78-decode.opc"
+#line 291 "rl78-decode.opc"
           ID(and); DR(A); SM(None, IMMU(2)); Fz;
 
         }
@@ -1745,7 +1750,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x67:
         {
           /** 0110 0rba			mov	%0, %1				*/
-#line 674 "rl78-decode.opc"
+#line 678 "rl78-decode.opc"
           int rba AU = op[0] & 0x07;
           if (trace)
             {
@@ -1755,7 +1760,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rba = 0x%x\n", rba);
             }
           SYNTAX("mov	%0, %1");
-#line 674 "rl78-decode.opc"
+#line 678 "rl78-decode.opc"
           ID(mov); DR(A); SRB(rba);
 
         }
@@ -1774,7 +1779,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x07:
               {
                 /** 0110 0001 0000 0reg		add	%0, %1				*/
-#line 227 "rl78-decode.opc"
+#line 231 "rl78-decode.opc"
                 int reg AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -1784,7 +1789,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  reg = 0x%x\n", reg);
                   }
                 SYNTAX("add	%0, %1");
-#line 227 "rl78-decode.opc"
+#line 231 "rl78-decode.opc"
                 ID(add); DRB(reg); SR(A); Fzac;
 
               }
@@ -1798,7 +1803,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x0f:
               {
                 /** 0110 0001 0000 1rba		add	%0, %1				*/
-#line 221 "rl78-decode.opc"
+#line 225 "rl78-decode.opc"
                 int rba AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -1808,7 +1813,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  rba = 0x%x\n", rba);
                   }
                 SYNTAX("add	%0, %1");
-#line 221 "rl78-decode.opc"
+#line 225 "rl78-decode.opc"
                 ID(add); DR(A); SRB(rba); Fzac;
 
               }
@@ -1823,7 +1828,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("addw	%0, %ea1");
-#line 270 "rl78-decode.opc"
+#line 274 "rl78-decode.opc"
                 ID(add); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
 
               }
@@ -1838,7 +1843,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x17:
               {
                 /** 0110 0001 0001 0reg		addc	%0, %1				*/
-#line 256 "rl78-decode.opc"
+#line 260 "rl78-decode.opc"
                 int reg AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -1848,7 +1853,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  reg = 0x%x\n", reg);
                   }
                 SYNTAX("addc	%0, %1");
-#line 256 "rl78-decode.opc"
+#line 260 "rl78-decode.opc"
                 ID(addc); DRB(reg); SR(A); Fzac;
 
               }
@@ -1862,7 +1867,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x1f:
               {
                 /** 0110 0001 0001 1rba		addc	%0, %1				*/
-#line 253 "rl78-decode.opc"
+#line 257 "rl78-decode.opc"
                 int rba AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -1872,7 +1877,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  rba = 0x%x\n", rba);
                   }
                 SYNTAX("addc	%0, %1");
-#line 253 "rl78-decode.opc"
+#line 257 "rl78-decode.opc"
                 ID(addc); DR(A); SRB(rba); Fzac;
 
               }
@@ -1887,7 +1892,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x27:
               {
                 /** 0110 0001 0010 0reg		sub	%0, %1				*/
-#line 1145 "rl78-decode.opc"
+#line 1149 "rl78-decode.opc"
                 int reg AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -1897,7 +1902,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  reg = 0x%x\n", reg);
                   }
                 SYNTAX("sub	%0, %1");
-#line 1145 "rl78-decode.opc"
+#line 1149 "rl78-decode.opc"
                 ID(sub); DRB(reg); SR(A); Fzac;
 
               }
@@ -1911,7 +1916,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x2f:
               {
                 /** 0110 0001 0010 1rba		sub	%0, %1				*/
-#line 1139 "rl78-decode.opc"
+#line 1143 "rl78-decode.opc"
                 int rba AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -1921,7 +1926,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  rba = 0x%x\n", rba);
                   }
                 SYNTAX("sub	%0, %1");
-#line 1139 "rl78-decode.opc"
+#line 1143 "rl78-decode.opc"
                 ID(sub); DR(A); SRB(rba); Fzac;
 
               }
@@ -1936,7 +1941,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("subw	%0, %ea1");
-#line 1188 "rl78-decode.opc"
+#line 1192 "rl78-decode.opc"
                 ID(sub); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
 
               }
@@ -1951,7 +1956,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x37:
               {
                 /** 0110 0001 0011 0reg		subc	%0, %1				*/
-#line 1174 "rl78-decode.opc"
+#line 1178 "rl78-decode.opc"
                 int reg AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -1961,7 +1966,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  reg = 0x%x\n", reg);
                   }
                 SYNTAX("subc	%0, %1");
-#line 1174 "rl78-decode.opc"
+#line 1178 "rl78-decode.opc"
                 ID(subc); DRB(reg); SR(A); Fzac;
 
               }
@@ -1975,7 +1980,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x3f:
               {
                 /** 0110 0001 0011 1rba		subc	%0, %1				*/
-#line 1171 "rl78-decode.opc"
+#line 1175 "rl78-decode.opc"
                 int rba AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -1985,7 +1990,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  rba = 0x%x\n", rba);
                   }
                 SYNTAX("subc	%0, %1");
-#line 1171 "rl78-decode.opc"
+#line 1175 "rl78-decode.opc"
                 ID(subc); DR(A); SRB(rba); Fzac;
 
               }
@@ -2000,7 +2005,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x47:
               {
                 /** 0110 0001 0100 0reg		cmp	%0, %1				*/
-#line 509 "rl78-decode.opc"
+#line 513 "rl78-decode.opc"
                 int reg AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -2010,7 +2015,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  reg = 0x%x\n", reg);
                   }
                 SYNTAX("cmp	%0, %1");
-#line 509 "rl78-decode.opc"
+#line 513 "rl78-decode.opc"
                 ID(cmp); DRB(reg); SR(A); Fzac;
 
               }
@@ -2024,7 +2029,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x4f:
               {
                 /** 0110 0001 0100 1rba		cmp	%0, %1				*/
-#line 506 "rl78-decode.opc"
+#line 510 "rl78-decode.opc"
                 int rba AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -2034,7 +2039,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  rba = 0x%x\n", rba);
                   }
                 SYNTAX("cmp	%0, %1");
-#line 506 "rl78-decode.opc"
+#line 510 "rl78-decode.opc"
                 ID(cmp); DR(A); SRB(rba); Fzac;
 
               }
@@ -2049,7 +2054,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("cmpw	%0, %ea1");
-#line 536 "rl78-decode.opc"
+#line 540 "rl78-decode.opc"
                 ID(cmp); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
 
               }
@@ -2064,7 +2069,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x57:
               {
                 /** 0110 0001 0101 0reg		and	%0, %1				*/
-#line 308 "rl78-decode.opc"
+#line 312 "rl78-decode.opc"
                 int reg AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -2074,7 +2079,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  reg = 0x%x\n", reg);
                   }
                 SYNTAX("and	%0, %1");
-#line 308 "rl78-decode.opc"
+#line 312 "rl78-decode.opc"
                 ID(and); DRB(reg); SR(A); Fz;
 
               }
@@ -2088,7 +2093,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x5f:
               {
                 /** 0110 0001 0101 1rba		and	%0, %1				*/
-#line 305 "rl78-decode.opc"
+#line 309 "rl78-decode.opc"
                 int rba AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -2098,7 +2103,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  rba = 0x%x\n", rba);
                   }
                 SYNTAX("and	%0, %1");
-#line 305 "rl78-decode.opc"
+#line 309 "rl78-decode.opc"
                 ID(and); DR(A); SRB(rba); Fz;
 
               }
@@ -2113,7 +2118,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("inc	%ea0");
-#line 586 "rl78-decode.opc"
+#line 590 "rl78-decode.opc"
                 ID(add); DM(HL, IMMU(1)); SC(1); Fza;
 
               }
@@ -2128,7 +2133,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x67:
               {
                 /** 0110 0001 0110 0reg		or	%0, %1				*/
-#line 963 "rl78-decode.opc"
+#line 967 "rl78-decode.opc"
                 int reg AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -2138,7 +2143,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  reg = 0x%x\n", reg);
                   }
                 SYNTAX("or	%0, %1");
-#line 963 "rl78-decode.opc"
+#line 967 "rl78-decode.opc"
                 ID(or); DRB(reg); SR(A); Fz;
 
               }
@@ -2152,7 +2157,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x6f:
               {
                 /** 0110 0001 0110 1rba		or	%0, %1				*/
-#line 960 "rl78-decode.opc"
+#line 964 "rl78-decode.opc"
                 int rba AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -2162,7 +2167,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  rba = 0x%x\n", rba);
                   }
                 SYNTAX("or	%0, %1");
-#line 960 "rl78-decode.opc"
+#line 964 "rl78-decode.opc"
                 ID(or); DR(A); SRB(rba); Fz;
 
               }
@@ -2177,7 +2182,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("dec	%ea0");
-#line 553 "rl78-decode.opc"
+#line 557 "rl78-decode.opc"
                 ID(sub); DM(HL, IMMU(1)); SC(1); Fza;
 
               }
@@ -2192,7 +2197,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x77:
               {
                 /** 0110 0001 0111 0reg		xor	%0, %1				*/
-#line 1267 "rl78-decode.opc"
+#line 1271 "rl78-decode.opc"
                 int reg AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -2202,7 +2207,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  reg = 0x%x\n", reg);
                   }
                 SYNTAX("xor	%0, %1");
-#line 1267 "rl78-decode.opc"
+#line 1271 "rl78-decode.opc"
                 ID(xor); DRB(reg); SR(A); Fz;
 
               }
@@ -2216,7 +2221,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x7f:
               {
                 /** 0110 0001 0111 1rba		xor	%0, %1				*/
-#line 1264 "rl78-decode.opc"
+#line 1268 "rl78-decode.opc"
                 int rba AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -2226,7 +2231,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  rba = 0x%x\n", rba);
                   }
                 SYNTAX("xor	%0, %1");
-#line 1264 "rl78-decode.opc"
+#line 1268 "rl78-decode.opc"
                 ID(xor); DR(A); SRB(rba); Fz;
 
               }
@@ -2241,7 +2246,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("incw	%ea0");
-#line 600 "rl78-decode.opc"
+#line 604 "rl78-decode.opc"
                 ID(add); W(); DM(HL, IMMU(1)); SC(1);
 
               }
@@ -2257,7 +2262,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("add	%0, %e1");
-#line 209 "rl78-decode.opc"
+#line 213 "rl78-decode.opc"
                 ID(add); DR(A); SM2(HL, B, 0); Fzac;
 
               }
@@ -2272,7 +2277,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("add	%0, %e1");
-#line 215 "rl78-decode.opc"
+#line 219 "rl78-decode.opc"
                 ID(add); DR(A); SM2(HL, C, 0); Fzac;
 
               }
@@ -2311,9 +2316,9 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xf7:
               {
                 /** 0110 0001 1nnn 01mm		callt	[%x0]				*/
-#line 435 "rl78-decode.opc"
+#line 439 "rl78-decode.opc"
                 int nnn AU = (op[1] >> 4) & 0x07;
-#line 435 "rl78-decode.opc"
+#line 439 "rl78-decode.opc"
                 int mm AU = op[1] & 0x03;
                 if (trace)
                   {
@@ -2324,7 +2329,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  mm = 0x%x\n", mm);
                   }
                 SYNTAX("callt	[%x0]");
-#line 435 "rl78-decode.opc"
+#line 439 "rl78-decode.opc"
                 ID(call); DM(None, 0x80 + mm*16 + nnn*2);
 
               /*----------------------------------------------------------------------*/
@@ -2340,7 +2345,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x8f:
               {
                 /** 0110 0001 1000 1reg		xch	%0, %1				*/
-#line 1226 "rl78-decode.opc"
+#line 1230 "rl78-decode.opc"
                 int reg AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -2350,7 +2355,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  reg = 0x%x\n", reg);
                   }
                 SYNTAX("xch	%0, %1");
-#line 1226 "rl78-decode.opc"
+#line 1230 "rl78-decode.opc"
                 /* Note: DECW uses reg == X, so this must follow DECW */
                 ID(xch); DR(A); SRB(reg);
 
@@ -2366,7 +2371,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("decw	%ea0");
-#line 567 "rl78-decode.opc"
+#line 571 "rl78-decode.opc"
                 ID(sub); W(); DM(HL, IMMU(1)); SC(1);
 
               }
@@ -2381,7 +2386,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("addc	%0, %e1");
-#line 241 "rl78-decode.opc"
+#line 245 "rl78-decode.opc"
                 ID(addc); DR(A); SM2(HL, B, 0); Fzac;
 
               }
@@ -2396,7 +2401,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("addc	%0, %e1");
-#line 244 "rl78-decode.opc"
+#line 248 "rl78-decode.opc"
                 ID(addc); DR(A); SM2(HL, C, 0); Fzac;
 
               }
@@ -2412,7 +2417,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("sub	%0, %e1");
-#line 1127 "rl78-decode.opc"
+#line 1131 "rl78-decode.opc"
                 ID(sub); DR(A); SM2(HL, B, 0); Fzac;
 
               }
@@ -2427,7 +2432,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("sub	%0, %e1");
-#line 1133 "rl78-decode.opc"
+#line 1137 "rl78-decode.opc"
                 ID(sub); DR(A); SM2(HL, C, 0); Fzac;
 
               }
@@ -2442,7 +2447,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("xch	%0, %1");
-#line 1230 "rl78-decode.opc"
+#line 1234 "rl78-decode.opc"
                 ID(xch); DR(A); SM(None, SADDR);
 
               }
@@ -2457,7 +2462,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("xch	%0, %e1");
-#line 1223 "rl78-decode.opc"
+#line 1227 "rl78-decode.opc"
                 ID(xch); DR(A); SM2(HL, C, 0);
 
               }
@@ -2472,7 +2477,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("xch	%0, %e!1");
-#line 1205 "rl78-decode.opc"
+#line 1209 "rl78-decode.opc"
                 ID(xch); DR(A); SM(None, IMMU(2));
 
               }
@@ -2487,7 +2492,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("xch	%0, %s1");
-#line 1233 "rl78-decode.opc"
+#line 1237 "rl78-decode.opc"
                 ID(xch); DR(A); SM(None, SFR);
 
               }
@@ -2502,7 +2507,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("xch	%0, %e1");
-#line 1214 "rl78-decode.opc"
+#line 1218 "rl78-decode.opc"
                 ID(xch); DR(A); SM(HL, 0);
 
               }
@@ -2517,7 +2522,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("xch	%0, %ea1");
-#line 1220 "rl78-decode.opc"
+#line 1224 "rl78-decode.opc"
                 ID(xch); DR(A); SM(HL, IMMU(1));
 
               }
@@ -2532,7 +2537,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("xch	%0, %e1");
-#line 1208 "rl78-decode.opc"
+#line 1212 "rl78-decode.opc"
                 ID(xch); DR(A); SM(DE, 0);
 
               }
@@ -2547,7 +2552,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("xch	%0, %ea1");
-#line 1211 "rl78-decode.opc"
+#line 1215 "rl78-decode.opc"
                 ID(xch); DR(A); SM(DE, IMMU(1));
 
               }
@@ -2562,7 +2567,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("subc	%0, %e1");
-#line 1159 "rl78-decode.opc"
+#line 1163 "rl78-decode.opc"
                 ID(subc); DR(A); SM2(HL, B, 0); Fzac;
 
               }
@@ -2577,7 +2582,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("subc	%0, %e1");
-#line 1162 "rl78-decode.opc"
+#line 1166 "rl78-decode.opc"
                 ID(subc); DR(A); SM2(HL, C, 0); Fzac;
 
               }
@@ -2592,7 +2597,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("mov	%0, %1");
-#line 725 "rl78-decode.opc"
+#line 729 "rl78-decode.opc"
                 ID(mov); DR(ES); SM(None, SADDR);
 
               }
@@ -2607,7 +2612,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("xch	%0, %e1");
-#line 1217 "rl78-decode.opc"
+#line 1221 "rl78-decode.opc"
                 ID(xch); DR(A); SM2(HL, B, 0);
 
               }
@@ -2622,7 +2627,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("cmp	%0, %e1");
-#line 494 "rl78-decode.opc"
+#line 498 "rl78-decode.opc"
                 ID(cmp); DR(A); SM2(HL, B, 0); Fzac;
 
               }
@@ -2637,7 +2642,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("cmp	%0, %e1");
-#line 497 "rl78-decode.opc"
+#line 501 "rl78-decode.opc"
                 ID(cmp); DR(A); SM2(HL, C, 0); Fzac;
 
               }
@@ -2652,7 +2657,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("bh	$%a0");
-#line 342 "rl78-decode.opc"
+#line 346 "rl78-decode.opc"
                 ID(branch_cond); DC(pc+IMMS(1)+3); SR(None); COND(H);
 
               }
@@ -2667,7 +2672,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("sk%c1");
-#line 1096 "rl78-decode.opc"
+#line 1100 "rl78-decode.opc"
                 ID(skip); COND(C);
 
               }
@@ -2682,7 +2687,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("mov	%0, %e1");
-#line 662 "rl78-decode.opc"
+#line 666 "rl78-decode.opc"
                 ID(mov); DR(A); SM2(HL, B, 0);
 
               }
@@ -2693,7 +2698,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xfa:
               {
                 /** 0110 0001 11rg 1010		call	%0				*/
-#line 432 "rl78-decode.opc"
+#line 436 "rl78-decode.opc"
                 int rg AU = (op[1] >> 4) & 0x03;
                 if (trace)
                   {
@@ -2703,7 +2708,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  rg = 0x%x\n", rg);
                   }
                 SYNTAX("call	%0");
-#line 432 "rl78-decode.opc"
+#line 436 "rl78-decode.opc"
                 ID(call); DRW(rg);
 
               }
@@ -2718,7 +2723,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("br	ax");
-#line 382 "rl78-decode.opc"
+#line 386 "rl78-decode.opc"
                 ID(branch); DR(AX);
 
               /*----------------------------------------------------------------------*/
@@ -2735,7 +2740,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("brk");
-#line 390 "rl78-decode.opc"
+#line 394 "rl78-decode.opc"
                 ID(break);
 
               /*----------------------------------------------------------------------*/
@@ -2752,7 +2757,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("pop	%s0");
-#line 991 "rl78-decode.opc"
+#line 995 "rl78-decode.opc"
                 ID(mov); W(); DR(PSW); SPOP();
 
               /*----------------------------------------------------------------------*/
@@ -2769,7 +2774,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("movs	%ea0, %1");
-#line 813 "rl78-decode.opc"
+#line 817 "rl78-decode.opc"
                 ID(mov); DM(HL, IMMU(1)); SR(X); Fzc;
 
               /*----------------------------------------------------------------------*/
@@ -2782,7 +2787,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xff:
               {
                 /** 0110 0001 11rb 1111		sel	rb%1				*/
-#line 1043 "rl78-decode.opc"
+#line 1047 "rl78-decode.opc"
                 int rb AU = (op[1] >> 4) & 0x03;
                 if (trace)
                   {
@@ -2792,7 +2797,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  rb = 0x%x\n", rb);
                   }
                 SYNTAX("sel	rb%1");
-#line 1043 "rl78-decode.opc"
+#line 1047 "rl78-decode.opc"
                 ID(sel); SC(rb);
 
               /*----------------------------------------------------------------------*/
@@ -2809,7 +2814,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("and	%0, %e1");
-#line 293 "rl78-decode.opc"
+#line 297 "rl78-decode.opc"
                 ID(and); DR(A); SM2(HL, B, 0); Fz;
 
               }
@@ -2824,7 +2829,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("and	%0, %e1");
-#line 299 "rl78-decode.opc"
+#line 303 "rl78-decode.opc"
                 ID(and); DR(A); SM2(HL, C, 0); Fz;
 
               }
@@ -2839,7 +2844,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("bnh	$%a0");
-#line 345 "rl78-decode.opc"
+#line 349 "rl78-decode.opc"
                 ID(branch_cond); DC(pc+IMMS(1)+3); SR(None); COND(NH);
 
               }
@@ -2854,7 +2859,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("sk%c1");
-#line 1102 "rl78-decode.opc"
+#line 1106 "rl78-decode.opc"
                 ID(skip); COND(NC);
 
               }
@@ -2869,7 +2874,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("mov	%e0, %1");
-#line 629 "rl78-decode.opc"
+#line 633 "rl78-decode.opc"
                 ID(mov); DM2(HL, B, 0); SR(A);
 
               }
@@ -2884,7 +2889,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("ror	%0, %1");
-#line 1024 "rl78-decode.opc"
+#line 1028 "rl78-decode.opc"
                 ID(ror); DR(A); SC(1);
 
               }
@@ -2899,7 +2904,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("rolc	%0, %1");
-#line 1018 "rl78-decode.opc"
+#line 1022 "rl78-decode.opc"
                 ID(rolc); DR(A); SC(1);
 
               }
@@ -2914,7 +2919,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("push	%s1");
-#line 999 "rl78-decode.opc"
+#line 1003 "rl78-decode.opc"
                 ID(mov); W(); DPUSH(); SR(PSW);
 
               /*----------------------------------------------------------------------*/
@@ -2931,7 +2936,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("cmps	%0, %ea1");
-#line 528 "rl78-decode.opc"
+#line 532 "rl78-decode.opc"
                 ID(cmp); DR(X); SM(HL, IMMU(1)); Fzac;
 
               /*----------------------------------------------------------------------*/
@@ -2948,7 +2953,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("or	%0, %e1");
-#line 948 "rl78-decode.opc"
+#line 952 "rl78-decode.opc"
                 ID(or); DR(A); SM2(HL, B, 0); Fz;
 
               }
@@ -2963,7 +2968,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("or	%0, %e1");
-#line 954 "rl78-decode.opc"
+#line 958 "rl78-decode.opc"
                 ID(or); DR(A); SM2(HL, C, 0); Fz;
 
               }
@@ -2978,7 +2983,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("sk%c1");
-#line 1099 "rl78-decode.opc"
+#line 1103 "rl78-decode.opc"
                 ID(skip); COND(H);
 
               }
@@ -2993,7 +2998,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("sk%c1");
-#line 1111 "rl78-decode.opc"
+#line 1115 "rl78-decode.opc"
                 ID(skip); COND(Z);
 
               /*----------------------------------------------------------------------*/
@@ -3010,7 +3015,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("mov	%0, %e1");
-#line 665 "rl78-decode.opc"
+#line 669 "rl78-decode.opc"
                 ID(mov); DR(A); SM2(HL, C, 0);
 
               }
@@ -3025,7 +3030,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("rol	%0, %1");
-#line 1015 "rl78-decode.opc"
+#line 1019 "rl78-decode.opc"
                 ID(rol); DR(A); SC(1);
 
               }
@@ -3040,7 +3045,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("retb");
-#line 1010 "rl78-decode.opc"
+#line 1014 "rl78-decode.opc"
                 ID(reti);
 
               /*----------------------------------------------------------------------*/
@@ -3057,7 +3062,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("halt");
-#line 578 "rl78-decode.opc"
+#line 582 "rl78-decode.opc"
                 ID(halt);
 
               /*----------------------------------------------------------------------*/
@@ -3068,7 +3073,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xfe:
               {
                 /** 0110 0001 111r 1110		rolwc	%0, %1				*/
-#line 1021 "rl78-decode.opc"
+#line 1025 "rl78-decode.opc"
                 int r AU = (op[1] >> 4) & 0x01;
                 if (trace)
                   {
@@ -3078,7 +3083,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  r = 0x%x\n", r);
                   }
                 SYNTAX("rolwc	%0, %1");
-#line 1021 "rl78-decode.opc"
+#line 1025 "rl78-decode.opc"
                 ID(rolc); W(); DRW(r); SC(1);
 
               }
@@ -3093,7 +3098,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("xor	%0, %e1");
-#line 1252 "rl78-decode.opc"
+#line 1256 "rl78-decode.opc"
                 ID(xor); DR(A); SM2(HL, B, 0); Fz;
 
               }
@@ -3108,7 +3113,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("xor	%0, %e1");
-#line 1258 "rl78-decode.opc"
+#line 1262 "rl78-decode.opc"
                 ID(xor); DR(A); SM2(HL, C, 0); Fz;
 
               }
@@ -3123,7 +3128,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("sk%c1");
-#line 1105 "rl78-decode.opc"
+#line 1109 "rl78-decode.opc"
                 ID(skip); COND(NH);
 
               }
@@ -3138,7 +3143,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("sk%c1");
-#line 1108 "rl78-decode.opc"
+#line 1112 "rl78-decode.opc"
                 ID(skip); COND(NZ);
 
               }
@@ -3153,7 +3158,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("mov	%e0, %1");
-#line 638 "rl78-decode.opc"
+#line 642 "rl78-decode.opc"
                 ID(mov); DM2(HL, C, 0); SR(A);
 
               }
@@ -3168,7 +3173,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("rorc	%0, %1");
-#line 1027 "rl78-decode.opc"
+#line 1031 "rl78-decode.opc"
                 ID(rorc); DR(A); SC(1);
 
               /*----------------------------------------------------------------------*/
@@ -3188,7 +3193,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("reti");
-#line 1007 "rl78-decode.opc"
+#line 1011 "rl78-decode.opc"
                 ID(reti);
 
               }
@@ -3203,7 +3208,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("stop");
-#line 1116 "rl78-decode.opc"
+#line 1120 "rl78-decode.opc"
                 ID(stop);
 
               /*----------------------------------------------------------------------*/
@@ -3223,7 +3228,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%e0, %1");
-#line 876 "rl78-decode.opc"
+#line 880 "rl78-decode.opc"
           ID(mov); W(); DM(C, IMMU(2)); SR(AX);
 
         }
@@ -3238,7 +3243,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %e1");
-#line 867 "rl78-decode.opc"
+#line 871 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SM(C, IMMU(2));
 
         }
@@ -3253,7 +3258,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("or	%0, #%1");
-#line 969 "rl78-decode.opc"
+#line 973 "rl78-decode.opc"
           ID(or); DM(None, SADDR); SC(IMMU(1)); Fz;
 
         /*----------------------------------------------------------------------*/
@@ -3270,7 +3275,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("or	%0, %1");
-#line 966 "rl78-decode.opc"
+#line 970 "rl78-decode.opc"
           ID(or); DR(A); SM(None, SADDR); Fz;
 
         }
@@ -3285,7 +3290,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("or	%0, #%1");
-#line 957 "rl78-decode.opc"
+#line 961 "rl78-decode.opc"
           ID(or); DR(A); SC(IMMU(1)); Fz;
 
         }
@@ -3300,7 +3305,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("or	%0, %e1");
-#line 945 "rl78-decode.opc"
+#line 949 "rl78-decode.opc"
           ID(or); DR(A); SM(HL, 0); Fz;
 
         }
@@ -3315,7 +3320,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("or	%0, %ea1");
-#line 951 "rl78-decode.opc"
+#line 955 "rl78-decode.opc"
           ID(or); DR(A); SM(HL, IMMU(1)); Fz;
 
         }
@@ -3330,7 +3335,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("or	%0, %e!1");
-#line 942 "rl78-decode.opc"
+#line 946 "rl78-decode.opc"
           ID(or); DR(A); SM(None, IMMU(2)); Fz;
 
         }
@@ -3344,7 +3349,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x77:
         {
           /** 0111 0rba			mov	%0, %1				*/
-#line 698 "rl78-decode.opc"
+#line 702 "rl78-decode.opc"
           int rba AU = op[0] & 0x07;
           if (trace)
             {
@@ -3354,7 +3359,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rba = 0x%x\n", rba);
             }
           SYNTAX("mov	%0, %1");
-#line 698 "rl78-decode.opc"
+#line 702 "rl78-decode.opc"
           ID(mov); DRB(rba); SR(A);
 
         }
@@ -3373,7 +3378,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x70:
               {
                 /** 0111 0001 0bit 0000		set1	%e!0				*/
-#line 1048 "rl78-decode.opc"
+#line 1052 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3383,7 +3388,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("set1	%e!0");
-#line 1048 "rl78-decode.opc"
+#line 1052 "rl78-decode.opc"
                 ID(mov); DM(None, IMMU(2)); DB(bit); SC(1);
 
               }
@@ -3398,7 +3403,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x71:
               {
                 /** 0111 0001 0bit 0001		mov1	%0, cy				*/
-#line 805 "rl78-decode.opc"
+#line 809 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3408,7 +3413,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("mov1	%0, cy");
-#line 805 "rl78-decode.opc"
+#line 809 "rl78-decode.opc"
                 ID(mov); DM(None, SADDR); DB(bit); SCY();
 
               }
@@ -3423,7 +3428,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x72:
               {
                 /** 0111 0001 0bit 0010		set1	%0				*/
-#line 1066 "rl78-decode.opc"
+#line 1070 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3433,7 +3438,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("set1	%0");
-#line 1066 "rl78-decode.opc"
+#line 1070 "rl78-decode.opc"
                 ID(mov); DM(None, SADDR); DB(bit); SC(1);
 
               /*----------------------------------------------------------------------*/
@@ -3450,7 +3455,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x73:
               {
                 /** 0111 0001 0bit 0011		clr1	%0				*/
-#line 458 "rl78-decode.opc"
+#line 462 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3460,7 +3465,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("clr1	%0");
-#line 458 "rl78-decode.opc"
+#line 462 "rl78-decode.opc"
                 ID(mov); DM(None, SADDR); DB(bit); SC(0);
 
               /*----------------------------------------------------------------------*/
@@ -3477,7 +3482,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x74:
               {
                 /** 0111 0001 0bit 0100		mov1	cy, %1				*/
-#line 799 "rl78-decode.opc"
+#line 803 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3487,7 +3492,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("mov1	cy, %1");
-#line 799 "rl78-decode.opc"
+#line 803 "rl78-decode.opc"
                 ID(mov); DCY(); SM(None, SADDR); SB(bit);
 
               }
@@ -3502,7 +3507,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x75:
               {
                 /** 0111 0001 0bit 0101		and1	cy, %s1				*/
-#line 328 "rl78-decode.opc"
+#line 332 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3512,7 +3517,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("and1	cy, %s1");
-#line 328 "rl78-decode.opc"
+#line 332 "rl78-decode.opc"
                 ID(and); DCY(); SM(None, SADDR); SB(bit);
 
               /*----------------------------------------------------------------------*/
@@ -3532,7 +3537,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x76:
               {
                 /** 0111 0001 0bit 0110		or1	cy, %s1				*/
-#line 983 "rl78-decode.opc"
+#line 987 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3542,7 +3547,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("or1	cy, %s1");
-#line 983 "rl78-decode.opc"
+#line 987 "rl78-decode.opc"
                 ID(or); DCY(); SM(None, SADDR); SB(bit);
 
               /*----------------------------------------------------------------------*/
@@ -3559,7 +3564,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x77:
               {
                 /** 0111 0001 0bit 0111		xor1	cy, %s1				*/
-#line 1287 "rl78-decode.opc"
+#line 1291 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3569,7 +3574,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("xor1	cy, %s1");
-#line 1287 "rl78-decode.opc"
+#line 1291 "rl78-decode.opc"
                 ID(xor); DCY(); SM(None, SADDR); SB(bit);
 
               /*----------------------------------------------------------------------*/
@@ -3586,7 +3591,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x78:
               {
                 /** 0111 0001 0bit 1000		clr1	%e!0				*/
-#line 440 "rl78-decode.opc"
+#line 444 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3596,7 +3601,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("clr1	%e!0");
-#line 440 "rl78-decode.opc"
+#line 444 "rl78-decode.opc"
                 ID(mov); DM(None, IMMU(2)); DB(bit); SC(0);
 
               }
@@ -3611,7 +3616,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x79:
               {
                 /** 0111 0001 0bit 1001		mov1	%s0, cy				*/
-#line 808 "rl78-decode.opc"
+#line 812 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3621,7 +3626,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("mov1	%s0, cy");
-#line 808 "rl78-decode.opc"
+#line 812 "rl78-decode.opc"
                 ID(mov); DM(None, SFR); DB(bit); SCY();
 
               /*----------------------------------------------------------------------*/
@@ -3638,7 +3643,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x7a:
               {
                 /** 0111 0001 0bit 1010		set1	%s0				*/
-#line 1060 "rl78-decode.opc"
+#line 1064 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3648,7 +3653,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("set1	%s0");
-#line 1060 "rl78-decode.opc"
+#line 1064 "rl78-decode.opc"
                 op0 = SFR;
                 ID(mov); DM(None, op0); DB(bit); SC(1);
                 if (op0 == RL78_SFR_PSW && bit == 7)
@@ -3666,7 +3671,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x7b:
               {
                 /** 0111 0001 0bit 1011		clr1	%s0				*/
-#line 452 "rl78-decode.opc"
+#line 456 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3676,7 +3681,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("clr1	%s0");
-#line 452 "rl78-decode.opc"
+#line 456 "rl78-decode.opc"
                 op0 = SFR;
                 ID(mov); DM(None, op0); DB(bit); SC(0);
                 if (op0 == RL78_SFR_PSW && bit == 7)
@@ -3694,7 +3699,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x7c:
               {
                 /** 0111 0001 0bit 1100		mov1	cy, %s1				*/
-#line 802 "rl78-decode.opc"
+#line 806 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3704,7 +3709,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("mov1	cy, %s1");
-#line 802 "rl78-decode.opc"
+#line 806 "rl78-decode.opc"
                 ID(mov); DCY(); SM(None, SFR); SB(bit);
 
               }
@@ -3719,7 +3724,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x7d:
               {
                 /** 0111 0001 0bit 1101		and1	cy, %s1				*/
-#line 325 "rl78-decode.opc"
+#line 329 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3729,7 +3734,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("and1	cy, %s1");
-#line 325 "rl78-decode.opc"
+#line 329 "rl78-decode.opc"
                 ID(and); DCY(); SM(None, SFR); SB(bit);
 
               }
@@ -3744,7 +3749,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x7e:
               {
                 /** 0111 0001 0bit 1110		or1	cy, %s1				*/
-#line 980 "rl78-decode.opc"
+#line 984 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3754,7 +3759,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("or1	cy, %s1");
-#line 980 "rl78-decode.opc"
+#line 984 "rl78-decode.opc"
                 ID(or); DCY(); SM(None, SFR); SB(bit);
 
               }
@@ -3769,7 +3774,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0x7f:
               {
                 /** 0111 0001 0bit 1111		xor1	cy, %s1				*/
-#line 1284 "rl78-decode.opc"
+#line 1288 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3779,7 +3784,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("xor1	cy, %s1");
-#line 1284 "rl78-decode.opc"
+#line 1288 "rl78-decode.opc"
                 ID(xor); DCY(); SM(None, SFR); SB(bit);
 
               }
@@ -3794,7 +3799,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("set1	cy");
-#line 1057 "rl78-decode.opc"
+#line 1061 "rl78-decode.opc"
                 ID(mov); DCY(); SC(1);
 
               }
@@ -3809,7 +3814,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xf1:
               {
                 /** 0111 0001 1bit 0001		mov1	%e0, cy				*/
-#line 787 "rl78-decode.opc"
+#line 791 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3819,7 +3824,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("mov1	%e0, cy");
-#line 787 "rl78-decode.opc"
+#line 791 "rl78-decode.opc"
                 ID(mov); DM(HL, 0); DB(bit); SCY();
 
               }
@@ -3834,7 +3839,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xf2:
               {
                 /** 0111 0001 1bit 0010		set1	%e0				*/
-#line 1051 "rl78-decode.opc"
+#line 1055 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3844,7 +3849,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("set1	%e0");
-#line 1051 "rl78-decode.opc"
+#line 1055 "rl78-decode.opc"
                 ID(mov); DM(HL, 0); DB(bit); SC(1);
 
               }
@@ -3859,7 +3864,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xf3:
               {
                 /** 0111 0001 1bit 0011		clr1	%e0				*/
-#line 443 "rl78-decode.opc"
+#line 447 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3869,7 +3874,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("clr1	%e0");
-#line 443 "rl78-decode.opc"
+#line 447 "rl78-decode.opc"
                 ID(mov); DM(HL, 0); DB(bit); SC(0);
 
               }
@@ -3884,7 +3889,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xf4:
               {
                 /** 0111 0001 1bit 0100		mov1	cy, %e1				*/
-#line 793 "rl78-decode.opc"
+#line 797 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3894,7 +3899,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("mov1	cy, %e1");
-#line 793 "rl78-decode.opc"
+#line 797 "rl78-decode.opc"
                 ID(mov); DCY(); SM(HL, 0); SB(bit);
 
               }
@@ -3909,7 +3914,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xf5:
               {
                 /** 0111 0001 1bit 0101		and1	cy, %e1			*/
-#line 319 "rl78-decode.opc"
+#line 323 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3919,7 +3924,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("and1	cy, %e1");
-#line 319 "rl78-decode.opc"
+#line 323 "rl78-decode.opc"
                 ID(and); DCY(); SM(HL, 0); SB(bit);
 
               }
@@ -3934,7 +3939,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xf6:
               {
                 /** 0111 0001 1bit 0110		or1	cy, %e1				*/
-#line 974 "rl78-decode.opc"
+#line 978 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3944,7 +3949,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("or1	cy, %e1");
-#line 974 "rl78-decode.opc"
+#line 978 "rl78-decode.opc"
                 ID(or); DCY(); SM(HL, 0); SB(bit);
 
               }
@@ -3959,7 +3964,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xf7:
               {
                 /** 0111 0001 1bit 0111		xor1	cy, %e1				*/
-#line 1278 "rl78-decode.opc"
+#line 1282 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -3969,7 +3974,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("xor1	cy, %e1");
-#line 1278 "rl78-decode.opc"
+#line 1282 "rl78-decode.opc"
                 ID(xor); DCY(); SM(HL, 0); SB(bit);
 
               }
@@ -3984,7 +3989,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("clr1	cy");
-#line 449 "rl78-decode.opc"
+#line 453 "rl78-decode.opc"
                 ID(mov); DCY(); SC(0);
 
               }
@@ -3999,7 +4004,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xf9:
               {
                 /** 0111 0001 1bit 1001		mov1	%e0, cy				*/
-#line 790 "rl78-decode.opc"
+#line 794 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -4009,7 +4014,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("mov1	%e0, cy");
-#line 790 "rl78-decode.opc"
+#line 794 "rl78-decode.opc"
                 ID(mov); DR(A); DB(bit); SCY();
 
               }
@@ -4024,7 +4029,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xfa:
               {
                 /** 0111 0001 1bit 1010		set1	%0				*/
-#line 1054 "rl78-decode.opc"
+#line 1058 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -4034,7 +4039,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("set1	%0");
-#line 1054 "rl78-decode.opc"
+#line 1058 "rl78-decode.opc"
                 ID(mov); DR(A); DB(bit); SC(1);
 
               }
@@ -4049,7 +4054,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xfb:
               {
                 /** 0111 0001 1bit 1011		clr1	%0				*/
-#line 446 "rl78-decode.opc"
+#line 450 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -4059,7 +4064,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("clr1	%0");
-#line 446 "rl78-decode.opc"
+#line 450 "rl78-decode.opc"
                 ID(mov); DR(A); DB(bit); SC(0);
 
               }
@@ -4074,7 +4079,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xfc:
               {
                 /** 0111 0001 1bit 1100		mov1	cy, %e1				*/
-#line 796 "rl78-decode.opc"
+#line 800 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -4084,7 +4089,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("mov1	cy, %e1");
-#line 796 "rl78-decode.opc"
+#line 800 "rl78-decode.opc"
                 ID(mov); DCY(); SR(A); SB(bit);
 
               }
@@ -4099,7 +4104,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xfd:
               {
                 /** 0111 0001 1bit 1101		and1	cy, %1				*/
-#line 322 "rl78-decode.opc"
+#line 326 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -4109,7 +4114,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("and1	cy, %1");
-#line 322 "rl78-decode.opc"
+#line 326 "rl78-decode.opc"
                 ID(and); DCY(); SR(A); SB(bit);
 
               }
@@ -4124,7 +4129,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xfe:
               {
                 /** 0111 0001 1bit 1110		or1	cy, %1				*/
-#line 977 "rl78-decode.opc"
+#line 981 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -4134,7 +4139,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("or1	cy, %1");
-#line 977 "rl78-decode.opc"
+#line 981 "rl78-decode.opc"
                 ID(or); DCY(); SR(A); SB(bit);
 
               }
@@ -4149,7 +4154,7 @@ rl78_decode_opcode (unsigned long pc AU,
           case 0xff:
               {
                 /** 0111 0001 1bit 1111		xor1	cy, %1				*/
-#line 1281 "rl78-decode.opc"
+#line 1285 "rl78-decode.opc"
                 int bit AU = (op[1] >> 4) & 0x07;
                 if (trace)
                   {
@@ -4159,7 +4164,7 @@ rl78_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("xor1	cy, %1");
-#line 1281 "rl78-decode.opc"
+#line 1285 "rl78-decode.opc"
                 ID(xor); DCY(); SR(A); SB(bit);
 
               }
@@ -4174,7 +4179,7 @@ rl78_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("not1	cy");
-#line 918 "rl78-decode.opc"
+#line 922 "rl78-decode.opc"
                 ID(xor); DCY(); SC(1);
 
               /*----------------------------------------------------------------------*/
@@ -4194,7 +4199,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%e0, %1");
-#line 879 "rl78-decode.opc"
+#line 883 "rl78-decode.opc"
           ID(mov); W(); DM(BC, IMMU(2)); SR(AX);
 
         }
@@ -4209,7 +4214,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %e1");
-#line 870 "rl78-decode.opc"
+#line 874 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SM(BC, IMMU(2));
 
         }
@@ -4224,7 +4229,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("xor	%0, #%1");
-#line 1273 "rl78-decode.opc"
+#line 1277 "rl78-decode.opc"
           ID(xor); DM(None, SADDR); SC(IMMU(1)); Fz;
 
         /*----------------------------------------------------------------------*/
@@ -4241,7 +4246,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("xor	%0, %1");
-#line 1270 "rl78-decode.opc"
+#line 1274 "rl78-decode.opc"
           ID(xor); DR(A); SM(None, SADDR); Fz;
 
         }
@@ -4256,7 +4261,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("xor	%0, #%1");
-#line 1261 "rl78-decode.opc"
+#line 1265 "rl78-decode.opc"
           ID(xor); DR(A); SC(IMMU(1)); Fz;
 
         }
@@ -4271,7 +4276,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("xor	%0, %e1");
-#line 1249 "rl78-decode.opc"
+#line 1253 "rl78-decode.opc"
           ID(xor); DR(A); SM(HL, 0); Fz;
 
         }
@@ -4286,7 +4291,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("xor	%0, %ea1");
-#line 1255 "rl78-decode.opc"
+#line 1259 "rl78-decode.opc"
           ID(xor); DR(A); SM(HL, IMMU(1)); Fz;
 
         }
@@ -4301,7 +4306,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("xor	%0, %e!1");
-#line 1246 "rl78-decode.opc"
+#line 1250 "rl78-decode.opc"
           ID(xor); DR(A); SM(None, IMMU(2)); Fz;
 
         }
@@ -4316,7 +4321,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x87:
         {
           /** 1000 0reg			inc	%0				*/
-#line 589 "rl78-decode.opc"
+#line 593 "rl78-decode.opc"
           int reg AU = op[0] & 0x07;
           if (trace)
             {
@@ -4326,7 +4331,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  reg = 0x%x\n", reg);
             }
           SYNTAX("inc	%0");
-#line 589 "rl78-decode.opc"
+#line 593 "rl78-decode.opc"
           ID(add); DRB(reg); SC(1); Fza;
 
         }
@@ -4341,7 +4346,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %ea1");
-#line 668 "rl78-decode.opc"
+#line 672 "rl78-decode.opc"
           ID(mov); DR(A); SM(SP, IMMU(1));
 
         }
@@ -4356,7 +4361,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %e1");
-#line 650 "rl78-decode.opc"
+#line 654 "rl78-decode.opc"
           ID(mov); DR(A); SM(DE, 0);
 
         }
@@ -4371,7 +4376,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %ea1");
-#line 653 "rl78-decode.opc"
+#line 657 "rl78-decode.opc"
           ID(mov); DR(A); SM(DE, IMMU(1));
 
         }
@@ -4386,7 +4391,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %e1");
-#line 656 "rl78-decode.opc"
+#line 660 "rl78-decode.opc"
           ID(mov); DR(A); SM(HL, 0);
 
         }
@@ -4401,7 +4406,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %ea1");
-#line 659 "rl78-decode.opc"
+#line 663 "rl78-decode.opc"
           ID(mov); DR(A); SM(HL, IMMU(1));
 
         }
@@ -4416,7 +4421,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %1");
-#line 692 "rl78-decode.opc"
+#line 696 "rl78-decode.opc"
           ID(mov); DR(A); SM(None, SADDR);
 
         }
@@ -4431,7 +4436,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %s1");
-#line 689 "rl78-decode.opc"
+#line 693 "rl78-decode.opc"
           ID(mov); DR(A); SM(None, SFR);
 
         }
@@ -4446,7 +4451,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %e!1");
-#line 647 "rl78-decode.opc"
+#line 651 "rl78-decode.opc"
           ID(mov); DR(A); SM(None, IMMU(2));
 
         }
@@ -4461,7 +4466,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0x97:
         {
           /** 1001 0reg			dec	%0				*/
-#line 556 "rl78-decode.opc"
+#line 560 "rl78-decode.opc"
           int reg AU = op[0] & 0x07;
           if (trace)
             {
@@ -4471,7 +4476,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  reg = 0x%x\n", reg);
             }
           SYNTAX("dec	%0");
-#line 556 "rl78-decode.opc"
+#line 560 "rl78-decode.opc"
           ID(sub); DRB(reg); SC(1); Fza;
 
         }
@@ -4486,7 +4491,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%a0, %1");
-#line 644 "rl78-decode.opc"
+#line 648 "rl78-decode.opc"
           ID(mov); DM(SP, IMMU(1)); SR(A);
 
         }
@@ -4501,7 +4506,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%e0, %1");
-#line 617 "rl78-decode.opc"
+#line 621 "rl78-decode.opc"
           ID(mov); DM(DE, 0); SR(A);
 
         }
@@ -4516,7 +4521,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%ea0, %1");
-#line 623 "rl78-decode.opc"
+#line 627 "rl78-decode.opc"
           ID(mov); DM(DE, IMMU(1)); SR(A);
 
         }
@@ -4531,7 +4536,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%e0, %1");
-#line 626 "rl78-decode.opc"
+#line 630 "rl78-decode.opc"
           ID(mov); DM(HL, 0); SR(A);
 
         }
@@ -4546,7 +4551,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%ea0, %1");
-#line 635 "rl78-decode.opc"
+#line 639 "rl78-decode.opc"
           ID(mov); DM(HL, IMMU(1)); SR(A);
 
         }
@@ -4561,7 +4566,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %1");
-#line 749 "rl78-decode.opc"
+#line 753 "rl78-decode.opc"
           ID(mov); DM(None, SADDR); SR(A);
 
         }
@@ -4576,7 +4581,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%s0, %1");
-#line 782 "rl78-decode.opc"
+#line 786 "rl78-decode.opc"
           ID(mov); DM(None, SFR); SR(A);
 
         /*----------------------------------------------------------------------*/
@@ -4593,7 +4598,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%e!0, %1");
-#line 614 "rl78-decode.opc"
+#line 618 "rl78-decode.opc"
           ID(mov); DM(None, IMMU(2)); SR(A);
 
         }
@@ -4608,7 +4613,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("inc	%e!0");
-#line 583 "rl78-decode.opc"
+#line 587 "rl78-decode.opc"
           ID(add); DM(None, IMMU(2)); SC(1); Fza;
 
         }
@@ -4619,7 +4624,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0xa7:
         {
           /** 1010 0rg1			incw	%0				*/
-#line 603 "rl78-decode.opc"
+#line 607 "rl78-decode.opc"
           int rg AU = (op[0] >> 1) & 0x03;
           if (trace)
             {
@@ -4629,7 +4634,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rg = 0x%x\n", rg);
             }
           SYNTAX("incw	%0");
-#line 603 "rl78-decode.opc"
+#line 607 "rl78-decode.opc"
           ID(add); W(); DRW(rg); SC(1);
 
         }
@@ -4644,7 +4649,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("incw	%e!0");
-#line 597 "rl78-decode.opc"
+#line 601 "rl78-decode.opc"
           ID(add); W(); DM(None, IMMU(2)); SC(1);
 
         }
@@ -4659,7 +4664,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("inc	%0");
-#line 592 "rl78-decode.opc"
+#line 596 "rl78-decode.opc"
           ID(add); DM(None, SADDR); SC(1); Fza;
 
         /*----------------------------------------------------------------------*/
@@ -4676,7 +4681,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("incw	%0");
-#line 606 "rl78-decode.opc"
+#line 610 "rl78-decode.opc"
           ID(add); W(); DM(None, SADDR); SC(1);
 
         /*----------------------------------------------------------------------*/
@@ -4693,7 +4698,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %a1");
-#line 852 "rl78-decode.opc"
+#line 856 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SM(SP, IMMU(1));
 
         }
@@ -4708,7 +4713,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %e1");
-#line 840 "rl78-decode.opc"
+#line 844 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SM(DE, 0);
 
         }
@@ -4723,7 +4728,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %ea1");
-#line 843 "rl78-decode.opc"
+#line 847 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SM(DE, IMMU(1));
 
         }
@@ -4738,7 +4743,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %e1");
-#line 846 "rl78-decode.opc"
+#line 850 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SM(HL, 0);
 
         }
@@ -4753,7 +4758,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %ea1");
-#line 849 "rl78-decode.opc"
+#line 853 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SM(HL, IMMU(1));
 
         }
@@ -4768,7 +4773,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %1");
-#line 882 "rl78-decode.opc"
+#line 886 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SM(None, SADDR);
 
         }
@@ -4783,7 +4788,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %s1");
-#line 885 "rl78-decode.opc"
+#line 889 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SM(None, SFR);
 
         }
@@ -4798,7 +4803,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %e!1");
-#line 836 "rl78-decode.opc"
+#line 840 "rl78-decode.opc"
           ID(mov); W(); DR(AX); SM(None, IMMU(2));
 
 
@@ -4814,7 +4819,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("dec	%e!0");
-#line 550 "rl78-decode.opc"
+#line 554 "rl78-decode.opc"
           ID(sub); DM(None, IMMU(2)); SC(1); Fza;
 
         }
@@ -4825,7 +4830,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0xb7:
         {
           /** 1011 0rg1 			decw	%0				*/
-#line 570 "rl78-decode.opc"
+#line 574 "rl78-decode.opc"
           int rg AU = (op[0] >> 1) & 0x03;
           if (trace)
             {
@@ -4835,7 +4840,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rg = 0x%x\n", rg);
             }
           SYNTAX("decw	%0");
-#line 570 "rl78-decode.opc"
+#line 574 "rl78-decode.opc"
           ID(sub); W(); DRW(rg); SC(1);
 
         }
@@ -4850,7 +4855,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("decw	%e!0");
-#line 564 "rl78-decode.opc"
+#line 568 "rl78-decode.opc"
           ID(sub); W(); DM(None, IMMU(2)); SC(1);
 
         }
@@ -4865,7 +4870,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("dec	%0");
-#line 559 "rl78-decode.opc"
+#line 563 "rl78-decode.opc"
           ID(sub); DM(None, SADDR); SC(1); Fza;
 
         /*----------------------------------------------------------------------*/
@@ -4882,7 +4887,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("decw	%0");
-#line 573 "rl78-decode.opc"
+#line 577 "rl78-decode.opc"
           ID(sub); W(); DM(None, SADDR); SC(1);
 
         /*----------------------------------------------------------------------*/
@@ -4899,7 +4904,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%a0, %1");
-#line 833 "rl78-decode.opc"
+#line 837 "rl78-decode.opc"
           ID(mov); W(); DM(SP, IMMU(1)); SR(AX);
 
         }
@@ -4914,7 +4919,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%e0, %1");
-#line 821 "rl78-decode.opc"
+#line 825 "rl78-decode.opc"
           ID(mov); W(); DM(DE, 0); SR(AX);
 
         }
@@ -4929,7 +4934,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%ea0, %1");
-#line 824 "rl78-decode.opc"
+#line 828 "rl78-decode.opc"
           ID(mov); W(); DM(DE, IMMU(1)); SR(AX);
 
         }
@@ -4944,7 +4949,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%e0, %1");
-#line 827 "rl78-decode.opc"
+#line 831 "rl78-decode.opc"
           ID(mov); W(); DM(HL, 0); SR(AX);
 
         }
@@ -4959,7 +4964,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%ea0, %1");
-#line 830 "rl78-decode.opc"
+#line 834 "rl78-decode.opc"
           ID(mov); W(); DM(HL, IMMU(1)); SR(AX);
 
         }
@@ -4974,7 +4979,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, %1");
-#line 897 "rl78-decode.opc"
+#line 901 "rl78-decode.opc"
           ID(mov); W(); DM(None, SADDR); SR(AX);
 
         }
@@ -4989,7 +4994,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%s0, %1");
-#line 903 "rl78-decode.opc"
+#line 907 "rl78-decode.opc"
           ID(mov); W(); DM(None, SFR); SR(AX);
 
         /*----------------------------------------------------------------------*/
@@ -5006,7 +5011,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%e!0, %1");
-#line 818 "rl78-decode.opc"
+#line 822 "rl78-decode.opc"
           ID(mov); W(); DM(None, IMMU(2)); SR(AX);
 
         }
@@ -5017,7 +5022,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0xc6:
         {
           /** 1100 0rg0			pop	%0				*/
-#line 988 "rl78-decode.opc"
+#line 992 "rl78-decode.opc"
           int rg AU = (op[0] >> 1) & 0x03;
           if (trace)
             {
@@ -5027,7 +5032,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rg = 0x%x\n", rg);
             }
           SYNTAX("pop	%0");
-#line 988 "rl78-decode.opc"
+#line 992 "rl78-decode.opc"
           ID(mov); W(); DRW(rg); SPOP();
 
         }
@@ -5038,7 +5043,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0xc7:
         {
           /** 1100 0rg1			push	%1				*/
-#line 996 "rl78-decode.opc"
+#line 1000 "rl78-decode.opc"
           int rg AU = (op[0] >> 1) & 0x03;
           if (trace)
             {
@@ -5048,7 +5053,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rg = 0x%x\n", rg);
             }
           SYNTAX("push	%1");
-#line 996 "rl78-decode.opc"
+#line 1000 "rl78-decode.opc"
           ID(mov); W(); DPUSH(); SRW(rg);
 
         }
@@ -5063,7 +5068,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%a0, #%1");
-#line 641 "rl78-decode.opc"
+#line 645 "rl78-decode.opc"
           ID(mov); DM(SP, IMMU(1)); SC(IMMU(1));
 
         }
@@ -5078,7 +5083,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%0, #%1");
-#line 894 "rl78-decode.opc"
+#line 898 "rl78-decode.opc"
           ID(mov); W(); DM(None, SADDR); SC(IMMU(2));
 
         }
@@ -5093,7 +5098,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%ea0, #%1");
-#line 620 "rl78-decode.opc"
+#line 624 "rl78-decode.opc"
           ID(mov); DM(DE, IMMU(1)); SC(IMMU(1));
 
         }
@@ -5108,7 +5113,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("movw	%s0, #%1");
-#line 900 "rl78-decode.opc"
+#line 904 "rl78-decode.opc"
           ID(mov); W(); DM(None, SFR); SC(IMMU(2));
 
         }
@@ -5123,7 +5128,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%ea0, #%1");
-#line 632 "rl78-decode.opc"
+#line 636 "rl78-decode.opc"
           ID(mov); DM(HL, IMMU(1)); SC(IMMU(1));
 
         }
@@ -5138,7 +5143,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, #%1");
-#line 746 "rl78-decode.opc"
+#line 750 "rl78-decode.opc"
           ID(mov); DM(None, SADDR); SC(IMMU(1));
 
         }
@@ -5153,7 +5158,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%s0, #%1");
-#line 752 "rl78-decode.opc"
+#line 756 "rl78-decode.opc"
           op0 = SFR;
           op1 = IMMU(1);
           ID(mov); DM(None, op0); SC(op1);
@@ -5195,7 +5200,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%e!0, #%1");
-#line 611 "rl78-decode.opc"
+#line 615 "rl78-decode.opc"
           ID(mov); DM(None, IMMU(2)); SC(IMMU(1));
 
         }
@@ -5206,7 +5211,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0xd3:
         {
           /** 1101 00rg			cmp0	%0				*/
-#line 520 "rl78-decode.opc"
+#line 524 "rl78-decode.opc"
           int rg AU = op[0] & 0x03;
           if (trace)
             {
@@ -5216,7 +5221,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rg = 0x%x\n", rg);
             }
           SYNTAX("cmp0	%0");
-#line 520 "rl78-decode.opc"
+#line 524 "rl78-decode.opc"
           ID(cmp); DRB(rg); SC(0); Fzac;
 
         }
@@ -5231,7 +5236,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmp0	%0");
-#line 523 "rl78-decode.opc"
+#line 527 "rl78-decode.opc"
           ID(cmp); DM(None, SADDR); SC(0); Fzac;
 
         /*----------------------------------------------------------------------*/
@@ -5248,7 +5253,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("cmp0	%e!0");
-#line 517 "rl78-decode.opc"
+#line 521 "rl78-decode.opc"
           ID(cmp); DM(None, IMMU(2)); SC(0); Fzac;
 
         }
@@ -5263,7 +5268,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mulu	x");
-#line 908 "rl78-decode.opc"
+#line 912 "rl78-decode.opc"
           ID(mulu);
 
         /*----------------------------------------------------------------------*/
@@ -5280,7 +5285,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("ret");
-#line 1004 "rl78-decode.opc"
+#line 1008 "rl78-decode.opc"
           ID(ret);
 
         }
@@ -5295,7 +5300,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %1");
-#line 713 "rl78-decode.opc"
+#line 717 "rl78-decode.opc"
           ID(mov); DR(X); SM(None, SADDR);
 
         }
@@ -5310,7 +5315,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %e!1");
-#line 710 "rl78-decode.opc"
+#line 714 "rl78-decode.opc"
           ID(mov); DR(X); SM(None, IMMU(2));
 
         }
@@ -5320,7 +5325,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0xfa:
         {
           /** 11ra 1010			movw	%0, %1				*/
-#line 891 "rl78-decode.opc"
+#line 895 "rl78-decode.opc"
           int ra AU = (op[0] >> 4) & 0x03;
           if (trace)
             {
@@ -5330,7 +5335,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  ra = 0x%x\n", ra);
             }
           SYNTAX("movw	%0, %1");
-#line 891 "rl78-decode.opc"
+#line 895 "rl78-decode.opc"
           ID(mov); W(); DRW(ra); SM(None, SADDR);
 
         }
@@ -5340,7 +5345,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0xfb:
         {
           /** 11ra 1011			movw	%0, %es!1			*/
-#line 888 "rl78-decode.opc"
+#line 892 "rl78-decode.opc"
           int ra AU = (op[0] >> 4) & 0x03;
           if (trace)
             {
@@ -5350,7 +5355,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  ra = 0x%x\n", ra);
             }
           SYNTAX("movw	%0, %es!1");
-#line 888 "rl78-decode.opc"
+#line 892 "rl78-decode.opc"
           ID(mov); W(); DRW(ra); SM(None, IMMU(2));
 
         }
@@ -5365,7 +5370,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bc	$%a0");
-#line 336 "rl78-decode.opc"
+#line 340 "rl78-decode.opc"
           ID(branch_cond); DC(pc+IMMS(1)+2); SR(None); COND(C);
 
         }
@@ -5380,7 +5385,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bz	$%a0");
-#line 348 "rl78-decode.opc"
+#line 352 "rl78-decode.opc"
           ID(branch_cond); DC(pc+IMMS(1)+2); SR(None); COND(Z);
 
         }
@@ -5395,7 +5400,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bnc	$%a0");
-#line 339 "rl78-decode.opc"
+#line 343 "rl78-decode.opc"
           ID(branch_cond); DC(pc+IMMS(1)+2); SR(None); COND(NC);
 
         }
@@ -5410,7 +5415,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bnz	$%a0");
-#line 351 "rl78-decode.opc"
+#line 355 "rl78-decode.opc"
           ID(branch_cond); DC(pc+IMMS(1)+2); SR(None); COND(NZ);
 
         /*----------------------------------------------------------------------*/
@@ -5423,7 +5428,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0xe3:
         {
           /** 1110 00rg			oneb	%0				*/
-#line 926 "rl78-decode.opc"
+#line 930 "rl78-decode.opc"
           int rg AU = op[0] & 0x03;
           if (trace)
             {
@@ -5433,7 +5438,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rg = 0x%x\n", rg);
             }
           SYNTAX("oneb	%0");
-#line 926 "rl78-decode.opc"
+#line 930 "rl78-decode.opc"
           ID(mov); DRB(rg); SC(1);
 
         }
@@ -5448,7 +5453,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("oneb	%0");
-#line 929 "rl78-decode.opc"
+#line 933 "rl78-decode.opc"
           ID(mov); DM(None, SADDR); SC(1);
 
         /*----------------------------------------------------------------------*/
@@ -5465,7 +5470,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("oneb	%e!0");
-#line 923 "rl78-decode.opc"
+#line 927 "rl78-decode.opc"
           ID(mov); DM(None, IMMU(2)); SC(1);
 
         }
@@ -5480,7 +5485,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("onew	%0");
-#line 934 "rl78-decode.opc"
+#line 938 "rl78-decode.opc"
           ID(mov); DR(AX); SC(1);
 
         }
@@ -5495,7 +5500,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("onew	%0");
-#line 937 "rl78-decode.opc"
+#line 941 "rl78-decode.opc"
           ID(mov); DR(BC); SC(1);
 
         /*----------------------------------------------------------------------*/
@@ -5512,7 +5517,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %1");
-#line 701 "rl78-decode.opc"
+#line 705 "rl78-decode.opc"
           ID(mov); DR(B); SM(None, SADDR);
 
         }
@@ -5527,7 +5532,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %e!1");
-#line 695 "rl78-decode.opc"
+#line 699 "rl78-decode.opc"
           ID(mov); DR(B); SM(None, IMMU(2));
 
         }
@@ -5542,7 +5547,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("br	!%!a0");
-#line 370 "rl78-decode.opc"
+#line 374 "rl78-decode.opc"
           ID(branch); DC(IMMU(3));
 
         }
@@ -5557,7 +5562,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("br	%!a0");
-#line 373 "rl78-decode.opc"
+#line 377 "rl78-decode.opc"
           ID(branch); DC(IMMU(2));
 
         }
@@ -5572,7 +5577,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("br	$%!a0");
-#line 376 "rl78-decode.opc"
+#line 380 "rl78-decode.opc"
           ID(branch); DC(pc+IMMS(2)+3);
 
         }
@@ -5587,7 +5592,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("br	$%a0");
-#line 379 "rl78-decode.opc"
+#line 383 "rl78-decode.opc"
           ID(branch); DC(pc+IMMS(1)+2);
 
         }
@@ -5598,7 +5603,7 @@ rl78_decode_opcode (unsigned long pc AU,
     case 0xf3:
         {
           /** 1111 00rg			clrb	%0				*/
-#line 466 "rl78-decode.opc"
+#line 470 "rl78-decode.opc"
           int rg AU = op[0] & 0x03;
           if (trace)
             {
@@ -5608,7 +5613,7 @@ rl78_decode_opcode (unsigned long pc AU,
               printf ("  rg = 0x%x\n", rg);
             }
           SYNTAX("clrb	%0");
-#line 466 "rl78-decode.opc"
+#line 470 "rl78-decode.opc"
           ID(mov); DRB(rg); SC(0);
 
         }
@@ -5623,7 +5628,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("clrb	%0");
-#line 469 "rl78-decode.opc"
+#line 473 "rl78-decode.opc"
           ID(mov); DM(None, SADDR); SC(0);
 
         /*----------------------------------------------------------------------*/
@@ -5640,7 +5645,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("clrb	%e!0");
-#line 463 "rl78-decode.opc"
+#line 467 "rl78-decode.opc"
           ID(mov); DM(None, IMMU(2)); SC(0);
 
         }
@@ -5655,7 +5660,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("clrw	%0");
-#line 474 "rl78-decode.opc"
+#line 478 "rl78-decode.opc"
           ID(mov); DR(AX); SC(0);
 
         }
@@ -5670,7 +5675,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("clrw	%0");
-#line 477 "rl78-decode.opc"
+#line 481 "rl78-decode.opc"
           ID(mov); DR(BC); SC(0);
 
         /*----------------------------------------------------------------------*/
@@ -5687,7 +5692,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %1");
-#line 707 "rl78-decode.opc"
+#line 711 "rl78-decode.opc"
           ID(mov); DR(C); SM(None, SADDR);
 
         }
@@ -5702,7 +5707,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("mov	%0, %e!1");
-#line 704 "rl78-decode.opc"
+#line 708 "rl78-decode.opc"
           ID(mov); DR(C); SM(None, IMMU(2));
 
         }
@@ -5717,7 +5722,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("call	!%!a0");
-#line 423 "rl78-decode.opc"
+#line 427 "rl78-decode.opc"
           ID(call); DC(IMMU(3));
 
         }
@@ -5732,7 +5737,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("call	%!a0");
-#line 426 "rl78-decode.opc"
+#line 430 "rl78-decode.opc"
           ID(call); DC(IMMU(2));
 
         }
@@ -5747,7 +5752,7 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("call	$%!a0");
-#line 429 "rl78-decode.opc"
+#line 433 "rl78-decode.opc"
           ID(call); DC(pc+IMMS(2)+3);
 
         }
@@ -5762,13 +5767,13 @@ rl78_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("brk1");
-#line 387 "rl78-decode.opc"
+#line 391 "rl78-decode.opc"
           ID(break);
 
         }
       break;
   }
-#line 1292 "rl78-decode.opc"
+#line 1296 "rl78-decode.opc"
 
   return rl78->n_bytes;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/rl78-decode.opc ./opcodes/rl78-decode.opc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/rl78-decode.opc	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/rl78-decode.opc	2018-07-10 02:06:15.000000000 +0000
@@ -24,7 +24,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include "ansidecl.h"
+#include "bfd.h"
+#include "opintl.h"
 #include "opcode/rl78.h"
 
 static int trace = 0;
@@ -100,7 +101,10 @@ immediate (int bytes, int sign_extend, L
 	i -= 0x1000000;
       break;
     default:
-      fprintf (stderr, "Programmer error: immediate() called with invalid byte count %d\n", bytes);
+      opcodes_error_handler
+	/* xgettext:c-format */
+	(_("internal error: immediate() called with invalid byte count %d"),
+	   bytes);
       abort();
     }
   return i;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/rx-decode.c ./opcodes/rx-decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/rx-decode.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/rx-decode.c	2018-07-10 02:06:15.000000000 +0000
@@ -1,3 +1,4 @@
+/* DO NOT EDIT!  -*- buffer-read-only: t -*- vi:set ro:  */
 #line 1 "rx-decode.opc"
 /* -*- c -*- */
 /* Copyright (C) 2012-2018 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.1.0.20180703/opcodes/s12z-dis.c ./opcodes/s12z-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/s12z-dis.c	1970-01-01 00:00:00.000000000 +0000
+++ ./opcodes/s12z-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -0,0 +1,2672 @@
+/* s12z-dis.c -- Freescale S12Z disassembly
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of the GNU opcodes library.
+
+   This library 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, or (at your option)
+   any later version.
+
+   It 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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#include "sysdep.h"
+#include <stdio.h>
+#include <stdint.h>
+#include <stdbool.h>
+#include <assert.h>
+
+#include "s12z.h"
+
+#include "bfd.h"
+#include "dis-asm.h"
+
+
+#include "disassemble.h"
+
+static int
+read_memory (bfd_vma memaddr, bfd_byte* buffer, int size,
+             struct disassemble_info* info)
+{
+  int status = (*info->read_memory_func) (memaddr, buffer, size, info);
+  if (status != 0)
+    {
+      (*info->memory_error_func) (status, memaddr, info);
+      return -1;
+    }
+  return 0;
+}
+
+typedef int (* insn_bytes_f) (bfd_vma memaddr,
+			      struct disassemble_info* info);
+
+typedef void (*operands_f) (bfd_vma memaddr, struct disassemble_info* info);
+
+enum OPR_MODE
+  {
+    OPR_IMMe4,
+    OPR_REG,
+    OPR_OFXYS,
+    OPR_XY_PRE_INC,
+    OPR_XY_POST_INC,
+    OPR_XY_PRE_DEC,
+    OPR_XY_POST_DEC,
+    OPR_S_PRE_DEC,
+    OPR_S_POST_INC,
+    OPR_REG_DIRECT,
+    OPR_REG_INDIRECT,
+    OPR_IDX_DIRECT,
+    OPR_IDX_INDIRECT,
+    OPR_EXT1,
+    OPR_IDX2_REG,
+    OPR_IDX3_DIRECT,
+    OPR_IDX3_INDIRECT,
+
+    OPR_EXT18,
+    OPR_IDX3_DIRECT_REG,
+    OPR_EXT3_DIRECT,
+    OPR_EXT3_INDIRECT
+  };
+
+struct opr_pb
+{
+  uint8_t mask;
+  uint8_t value;
+  int n_operands;
+  enum OPR_MODE mode;
+};
+
+static const  struct opr_pb opr_pb[] = {
+  {0xF0, 0x70, 1, OPR_IMMe4},
+  {0xF8, 0xB8, 1, OPR_REG},
+  {0xC0, 0x40, 1, OPR_OFXYS},
+  {0xEF, 0xE3, 1, OPR_XY_PRE_INC},
+  {0xEF, 0xE7, 1, OPR_XY_POST_INC},
+  {0xEF, 0xC3, 1, OPR_XY_PRE_DEC},
+  {0xEF, 0xC7, 1, OPR_XY_POST_DEC},
+  {0xFF, 0xFB, 1, OPR_S_PRE_DEC},
+  {0xFF, 0xFF, 1, OPR_S_POST_INC},
+  {0xC8, 0x88, 1, OPR_REG_DIRECT},
+  {0xE8, 0xC8, 1, OPR_REG_INDIRECT},
+
+  {0xCE, 0xC0, 2, OPR_IDX_DIRECT},
+  {0xCE, 0xC4, 2, OPR_IDX_INDIRECT},
+  {0xC0, 0x00, 2, OPR_EXT1},
+
+  {0xC8, 0x80, 3, OPR_IDX2_REG},
+  {0xFA, 0xF8, 3, OPR_EXT18},
+
+  {0xCF, 0xC2, 4, OPR_IDX3_DIRECT},
+  {0xCF, 0xC6, 4, OPR_IDX3_INDIRECT},
+
+  {0xF8, 0xE8, 4, OPR_IDX3_DIRECT_REG},
+  {0xFF, 0xFA, 4, OPR_EXT3_DIRECT},
+  {0xFF, 0xFE, 4, OPR_EXT3_INDIRECT},
+};
+
+
+/* Return the number of bytes in a OPR operand, including the XB postbyte.
+   It does not include any preceeding opcodes. */
+static int
+opr_n_bytes (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte xb;
+  int status = read_memory (memaddr, &xb, 1, info);
+  if (status < 0)
+    return status;
+
+  size_t i;
+  for (i = 0; i < sizeof (opr_pb) / sizeof (opr_pb[0]); ++i)
+    {
+      const struct opr_pb *pb = opr_pb + i;
+      if ((xb & pb->mask) == pb->value)
+	{
+	  return pb->n_operands;
+	}
+    }
+
+  return 1;
+}
+
+static int
+opr_n_bytes_p1 (bfd_vma memaddr, struct disassemble_info* info)
+{
+  return 1 + opr_n_bytes (memaddr, info);
+}
+
+static int
+opr_n_bytes2 (bfd_vma memaddr, struct disassemble_info* info)
+{
+  int s = opr_n_bytes (memaddr, info);
+  s += opr_n_bytes (memaddr + s, info);
+  return s + 1;
+}
+
+enum BB_MODE
+  {
+    BB_REG_REG_REG,
+    BB_REG_REG_IMM,
+    BB_REG_OPR_REG,
+    BB_OPR_REG_REG,
+    BB_REG_OPR_IMM,
+    BB_OPR_REG_IMM
+  };
+
+struct opr_bb
+{
+  uint8_t mask;
+  uint8_t value;
+  int n_operands;
+  bool opr;
+  enum BB_MODE mode;
+};
+
+static const struct opr_bb bb_modes[] =
+  {
+    {0x60, 0x00, 2, false, BB_REG_REG_REG},
+    {0x60, 0x20, 3, false, BB_REG_REG_IMM},
+    {0x70, 0x40, 2, true,  BB_REG_OPR_REG},
+    {0x70, 0x50, 2, true,  BB_OPR_REG_REG},
+    {0x70, 0x60, 3, true,  BB_REG_OPR_IMM},
+    {0x70, 0x70, 3, true,  BB_OPR_REG_IMM}
+  };
+
+static int
+bfextins_n_bytes (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte bb;
+  int status = read_memory (memaddr, &bb, 1, info);
+  if (status < 0)
+    return status;
+
+  size_t i;
+  const struct opr_bb *bbs = 0;
+  for (i = 0; i < sizeof (bb_modes) / sizeof (bb_modes[0]); ++i)
+    {
+      bbs = bb_modes + i;
+      if ((bb & bbs->mask) == bbs->value)
+	{
+	  break;
+	}
+    }
+
+  int n = bbs->n_operands;
+  if (bbs->opr)
+    n += opr_n_bytes (memaddr + n - 1, info);
+
+  return n;
+}
+
+static int
+single (bfd_vma memaddr ATTRIBUTE_UNUSED,
+	struct disassemble_info* info ATTRIBUTE_UNUSED)
+{
+  return 1;
+}
+
+static int
+two (bfd_vma memaddr ATTRIBUTE_UNUSED,
+     struct disassemble_info* info ATTRIBUTE_UNUSED)
+{
+  return 2;
+}
+
+static int
+three (bfd_vma memaddr ATTRIBUTE_UNUSED,
+       struct disassemble_info* info ATTRIBUTE_UNUSED)
+{
+  return 3;
+}
+
+static int
+four (bfd_vma memaddr ATTRIBUTE_UNUSED,
+      struct disassemble_info* info ATTRIBUTE_UNUSED)
+{
+  return 4;
+}
+
+static int
+five (bfd_vma memaddr ATTRIBUTE_UNUSED,
+      struct disassemble_info* info ATTRIBUTE_UNUSED)
+{
+  return 5;
+}
+
+static int
+pcrel_15bit (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte byte;
+  int status = read_memory (memaddr, &byte, 1, info);
+  if (status < 0)
+    return status;
+  return (byte & 0x80) ? 3 : 2;
+}
+
+
+
+
+static void
+operand_separator (struct disassemble_info *info)
+{
+  if ((info->flags & 0x2))
+    {
+      (*info->fprintf_func) (info->stream, ", ");
+    }
+  else
+    {
+      (*info->fprintf_func) (info->stream, " ");
+    }
+
+  info->flags |= 0x2;
+}
+
+
+
+static void
+imm1 (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte byte;
+  int status = read_memory (memaddr, &byte, 1, info);
+  if (status < 0)
+    return;
+
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "#%d", byte);
+}
+
+static void
+trap_decode (bfd_vma memaddr, struct disassemble_info* info)
+{
+  imm1 (memaddr - 1, info);
+}
+
+
+const struct reg registers[S12Z_N_REGISTERS] =
+  {
+    {"d2", 2},
+    {"d3", 2},
+    {"d4", 2},
+    {"d5", 2},
+
+    {"d0", 1},
+    {"d1", 1},
+
+    {"d6", 4},
+    {"d7", 4},
+
+    {"x", 3},
+    {"y", 3},
+    {"s", 3},
+    {"p", 3},
+    {"cch", 1},
+    {"ccl", 1},
+    {"ccw", 2}
+  };
+
+static char *
+xys_from_postbyte (uint8_t postbyte)
+{
+  char *reg = "?";
+  switch ((postbyte & 0x30) >> 4)
+    {
+    case 0:
+      reg = "x";
+      break;
+    case 1:
+      reg = "y";
+      break;
+    case 2:
+      reg = "s";
+      break;
+    default:
+      reg = "?";
+      break;
+    }
+  return reg;
+}
+
+static char *
+xysp_from_postbyte (uint8_t postbyte)
+{
+  char *reg = "?";
+  switch ((postbyte & 0x30) >> 4)
+    {
+    case 0:
+      reg = "x";
+      break;
+    case 1:
+      reg = "y";
+      break;
+    case 2:
+      reg = "s";
+      break;
+    default:
+      reg = "p";
+      break;
+    }
+  return reg;
+}
+
+/* Render the symbol name whose value is ADDR or the adddress itself if there is
+   no symbol. */
+static void
+decode_possible_symbol (bfd_vma addr, struct disassemble_info *info)
+{
+  if (!info->symbol_at_address_func (addr, info))
+    {
+      (*info->fprintf_func) (info->stream, "%" BFD_VMA_FMT "d", addr);
+    }
+  else
+    {
+      asymbol *sym = NULL;
+      int j;
+      for (j = 0; j < info->symtab_size; ++j)
+	{
+	  sym = info->symtab[j];
+	  if (bfd_asymbol_value (sym) == addr)
+	    {
+	      break;
+	    }
+	}
+      if (j < info->symtab_size)
+	(*info->fprintf_func) (info->stream, "%s", bfd_asymbol_name (sym));
+    }
+}
+
+static void ld_18bit_decode (bfd_vma memaddr, struct disassemble_info* info);
+
+static void
+ext24_decode (bfd_vma memaddr, struct disassemble_info* info)
+{
+  uint8_t buffer[3];
+  int status = read_memory (memaddr, buffer, 3, info);
+  if (status < 0)
+    return;
+
+  int i;
+  uint32_t addr = 0;
+  for (i = 0; i < 3; ++i)
+    {
+      addr <<= 8;
+      addr |= buffer[i];
+    }
+
+  operand_separator (info);
+  decode_possible_symbol (addr, info);
+}
+
+
+static uint32_t
+decode_signed_value (bfd_vma memaddr, struct disassemble_info* info, short size)
+{
+  assert (size >0);
+  assert (size <= 4);
+  bfd_byte buffer[4];
+  if (0 > read_memory (memaddr, buffer, size, info))
+    {
+      return 0;
+    }
+
+  int i;
+  uint32_t value = 0;
+  for (i = 0; i < size; ++i)
+    {
+      value |= buffer[i] << (8 * (size - i - 1));
+    }
+
+  if (buffer[0] & 0x80)
+    {
+      /* Deal with negative values */
+      value -= 0x1UL << (size * 8);
+    }
+  return value;
+}
+
+
+static void
+opr_decode (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte postbyte;
+  int status = read_memory (memaddr, &postbyte, 1, info);
+  if (status < 0)
+    return;
+
+  enum OPR_MODE mode = -1;
+  size_t i;
+  for (i = 0; i < sizeof (opr_pb) / sizeof (opr_pb[0]); ++i)
+    {
+      const struct opr_pb *pb = opr_pb + i;
+      if ((postbyte & pb->mask) == pb->value)
+	{
+	  mode = pb->mode;
+	  break;
+	}
+    }
+
+  operand_separator (info);
+  switch (mode)
+    {
+    case OPR_IMMe4:
+      {
+	int n;
+	uint8_t x = (postbyte & 0x0F);
+	if (x == 0)
+	  n = -1;
+	else
+	  n = x;
+
+	(*info->fprintf_func) (info->stream, "#%d", n);
+	break;
+      }
+    case OPR_REG:
+      {
+	uint8_t x = (postbyte & 0x07);
+	(*info->fprintf_func) (info->stream, "%s", registers[x].name);
+	break;
+      }
+    case OPR_OFXYS:
+      {
+	const char *reg  = xys_from_postbyte (postbyte);
+	(*info->fprintf_func) (info->stream, "(%d,%s)", postbyte & 0x0F, reg);
+	break;
+      }
+    case OPR_REG_DIRECT:
+      {
+	(*info->fprintf_func) (info->stream, "(%s,%s)", registers[postbyte & 0x07].name,
+			       xys_from_postbyte (postbyte));
+	break;
+      }
+    case OPR_REG_INDIRECT:
+      {
+	(*info->fprintf_func) (info->stream, "[%s,%s]", registers[postbyte & 0x07].name,
+			       (postbyte & 0x10) ? "y": "x");
+	break;
+      }
+
+    case OPR_IDX_INDIRECT:
+      {
+	uint8_t x1;
+	read_memory (memaddr + 1, &x1, 1, info);
+	int idx = x1;
+
+	if (postbyte & 0x01)
+	  {
+	    /* Deal with negative values */
+	    idx -= 0x1UL << 8;
+	  }
+
+	(*info->fprintf_func) (info->stream, "[%d,%s]", idx,
+			       xysp_from_postbyte (postbyte));
+	break;
+      }
+
+    case OPR_IDX3_DIRECT:
+      {
+	uint8_t x[3];
+	read_memory (memaddr + 1, x, 3, info);
+	int idx = x[0] << 16 | x[1] << 8 | x[2];
+
+	if (x[0] & 0x80)
+	  {
+	    /* Deal with negative values */
+	    idx -= 0x1UL << 24;
+	  }
+
+	(*info->fprintf_func) (info->stream, "(%d,%s)", idx,
+			       xysp_from_postbyte (postbyte));
+	break;
+      }
+
+    case OPR_IDX3_DIRECT_REG:
+      {
+	uint8_t x[3];
+	read_memory (memaddr + 1, x, 3, info);
+	int idx = x[0] << 16 | x[1] << 8 | x[2];
+
+	if (x[0] & 0x80)
+	  {
+	    /* Deal with negative values */
+	    idx -= 0x1UL << 24;
+	  }
+
+	(*info->fprintf_func) (info->stream, "(%d,%s)", idx,
+			       registers[postbyte & 0x07].name);
+	break;
+      }
+
+    case OPR_IDX3_INDIRECT:
+      {
+	uint8_t x[3];
+	read_memory (memaddr + 1, x, 3, info);
+	int idx = x[0] << 16 | x[1] << 8 | x[2];
+
+	if (x[0] & 0x80)
+	  {
+	    /* Deal with negative values */
+	    idx -= 0x1UL << 24;
+	  }
+
+	(*info->fprintf_func) (info->stream, "[%d,%s]", idx,
+			       xysp_from_postbyte (postbyte));
+	break;
+      }
+
+    case OPR_IDX_DIRECT:
+      {
+	uint8_t x1;
+	read_memory (memaddr + 1, &x1, 1, info);
+	int idx = x1;
+
+	if (postbyte & 0x01)
+	  {
+	    /* Deal with negative values */
+	    idx -= 0x1UL << 8;
+	  }
+
+	(*info->fprintf_func) (info->stream, "(%d,%s)", idx,
+			       xysp_from_postbyte (postbyte));
+	break;
+      }
+
+    case OPR_IDX2_REG:
+      {
+	uint8_t x[2];
+	read_memory (memaddr + 1, x, 2, info);
+	uint32_t offset = x[1] | x[0] << 8 ;
+	offset |= (postbyte & 0x30) << 12;
+
+	(*info->fprintf_func) (info->stream, "(%d,%s)", offset,
+			       registers[postbyte & 0x07].name);
+	break;
+      }
+
+    case OPR_XY_PRE_INC:
+      {
+	(*info->fprintf_func) (info->stream, "(+%s)",
+			       (postbyte & 0x10) ? "y": "x");
+
+	break;
+      }
+    case OPR_XY_POST_INC:
+      {
+	(*info->fprintf_func) (info->stream, "(%s+)",
+			       (postbyte & 0x10) ? "y": "x");
+
+	break;
+      }
+    case OPR_XY_PRE_DEC:
+      {
+	(*info->fprintf_func) (info->stream, "(-%s)",
+			       (postbyte & 0x10) ? "y": "x");
+
+	break;
+      }
+    case OPR_XY_POST_DEC:
+      {
+	(*info->fprintf_func) (info->stream, "(%s-)",
+			       (postbyte & 0x10) ? "y": "x");
+
+	break;
+      }
+    case OPR_S_PRE_DEC:
+      {
+	(*info->fprintf_func) (info->stream, "(-s)");
+	break;
+      }
+    case OPR_S_POST_INC:
+      {
+	(*info->fprintf_func) (info->stream, "(s+)");
+	break;
+      }
+
+    case OPR_EXT18:
+      {
+	const size_t size = 2;
+	bfd_byte buffer[4];
+	status = read_memory (memaddr + 1, buffer, size, info);
+	if (status < 0)
+	  return;
+
+	uint32_t ext18 = 0;
+	for (i = 0; i < size; ++i)
+	  {
+	    ext18 <<= 8;
+	    ext18 |= buffer[i];
+	  }
+
+	ext18 |= (postbyte & 0x01) << 16;
+	ext18 |= (postbyte & 0x04) << 15;
+
+	decode_possible_symbol (ext18, info);
+	break;
+      }
+
+    case OPR_EXT1:
+      {
+	uint8_t x1 = 0;
+	read_memory (memaddr + 1, &x1, 1, info);
+	int16_t addr;
+	addr = x1;
+	addr |= (postbyte & 0x3f) << 8;
+
+	decode_possible_symbol (addr, info);
+	break;
+      }
+
+    case OPR_EXT3_DIRECT:
+      {
+	const size_t size = 3;
+	bfd_byte buffer[4];
+	status = read_memory (memaddr + 1, buffer, size, info);
+	if (status < 0)
+	  return;
+
+	uint32_t ext24 = 0;
+	for (i = 0; i < size; ++i)
+	  {
+	    ext24 |= buffer[i] << (8 * (size - i - 1));
+	  }
+
+	decode_possible_symbol (ext24, info);
+	break;
+      }
+
+    case OPR_EXT3_INDIRECT:
+      {
+	const size_t size = 3;
+	bfd_byte buffer[4];
+	status = read_memory (memaddr + 1, buffer, size, info);
+	if (status < 0)
+	  return;
+
+	uint32_t ext24 = 0;
+	for (i = 0; i < size; ++i)
+	  {
+	    ext24 |= buffer[i] << (8 * (size - i - 1));
+	  }
+
+	(*info->fprintf_func) (info->stream, "[%d]", ext24);
+
+	break;
+      }
+
+    default:
+      (*info->fprintf_func) (info->stream, "Unknown OPR mode #0x%x (%d)", postbyte, mode);
+    }
+}
+
+
+static void
+opr_decode2 (bfd_vma memaddr, struct disassemble_info* info)
+{
+  int n = opr_n_bytes (memaddr, info);
+  opr_decode (memaddr, info);
+  opr_decode (memaddr + n, info);
+}
+
+static void
+imm1234 (bfd_vma memaddr, struct disassemble_info* info, int base)
+{
+  bfd_byte opcode;
+  int status = read_memory (memaddr - 1, &opcode, 1, info);
+  if (status < 0)
+    return;
+
+  opcode -= base;
+
+  int size = registers[opcode & 0xF].bytes;
+
+  uint32_t imm = decode_signed_value (memaddr, info, size);
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "#%d", imm);
+}
+
+
+/* Special case of LD and CMP with register S and IMM operand */
+static void
+reg_s_imm (bfd_vma memaddr, struct disassemble_info* info)
+{
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "s");
+
+  uint32_t imm = decode_signed_value (memaddr, info, 3);
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "#%d", imm);
+}
+
+/* Special case of LD, CMP and ST with register S and OPR operand */
+static void
+reg_s_opr (bfd_vma memaddr, struct disassemble_info* info)
+{
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "s");
+
+  opr_decode (memaddr, info);
+}
+
+static void
+imm1234_8base (bfd_vma memaddr, struct disassemble_info* info)
+{
+  imm1234 (memaddr, info, 8);
+}
+
+static void
+imm1234_0base (bfd_vma memaddr, struct disassemble_info* info)
+{
+  imm1234 (memaddr, info, 0);
+}
+
+static void
+tfr (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte byte;
+  int status = read_memory (memaddr, &byte, 1, info);
+  if (status < 0)
+    return;
+
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "%s, %s",
+			 registers[byte >> 4].name,
+			 registers[byte & 0xF].name);
+}
+
+
+static void
+reg (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte byte;
+  int status = read_memory (memaddr - 1, &byte, 1, info);
+  if (status < 0)
+    return;
+
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "%s", registers[byte & 0x07].name);
+}
+
+static void
+reg_xy (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte byte;
+  int status = read_memory (memaddr - 1, &byte, 1, info);
+  if (status < 0)
+    return;
+
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "%s", (byte & 0x01) ? "y" : "x");
+}
+
+static void
+lea_reg_xys_opr (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte byte;
+  int status = read_memory (memaddr - 1, &byte, 1, info);
+  if (status < 0)
+    return;
+
+  char *reg = NULL;
+  switch (byte & 0x03)
+    {
+    case 0x00:
+      reg = "x";
+      break;
+    case 0x01:
+      reg = "y";
+      break;
+    case 0x02:
+      reg = "s";
+      break;
+    }
+
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "%s", reg);
+  opr_decode (memaddr, info);
+}
+
+
+
+static void
+lea_reg_xys (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte byte;
+  int status = read_memory (memaddr - 1, &byte, 1, info);
+  if (status < 0)
+    return;
+
+  char *reg = NULL;
+  switch (byte & 0x03)
+    {
+    case 0x00:
+      reg = "x";
+      break;
+    case 0x01:
+      reg = "y";
+      break;
+    case 0x02:
+      reg = "s";
+      break;
+    }
+
+  status = read_memory (memaddr, &byte, 1, info);
+  if (status < 0)
+    return;
+
+  int8_t v = byte;
+
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "%s, (%d,%s)", reg, v, reg);
+}
+
+
+/* PC Relative offsets of size 15 or 7 bits */
+static void
+rel_15_7 (bfd_vma memaddr, struct disassemble_info* info, int offset)
+{
+  bfd_byte upper;
+  int status = read_memory (memaddr, &upper, 1, info);
+  if (status < 0)
+    return;
+
+  bool rel_size = (upper & 0x80);
+
+  int16_t addr = upper;
+  if (rel_size)
+    {
+      /* 15 bits.  Get the next byte */
+      bfd_byte lower;
+      status = read_memory (memaddr + 1, &lower, 1, info);
+      if (status < 0)
+	return;
+
+      addr <<= 8;
+      addr |= lower;
+      addr &= 0x7FFF;
+
+      bool negative = (addr & 0x4000);
+      addr &= 0x3FFF;
+      if (negative)
+	addr = addr - 0x4000;
+    }
+  else
+    {
+      /* 7 bits. */
+      bool negative = (addr & 0x40);
+      addr &= 0x3F;
+      if (negative)
+	addr = addr - 0x40;
+    }
+
+  operand_separator (info);
+  if (!info->symbol_at_address_func (addr + memaddr - offset, info))
+    {
+      (*info->fprintf_func) (info->stream, "*%+d", addr);
+    }
+  else
+    {
+      asymbol *sym = NULL;
+      int i;
+      for (i = 0; i < info->symtab_size; ++i)
+	{
+	  sym = info->symtab[i];
+	  if (bfd_asymbol_value (sym) == addr + memaddr - offset)
+	    {
+	      break;
+	    }
+	}
+      if (i < info->symtab_size)
+	(*info->fprintf_func) (info->stream, "%s", bfd_asymbol_name (sym));
+    }
+}
+
+
+/* PC Relative offsets of size 15 or 7 bits */
+static void
+decode_rel_15_7 (bfd_vma memaddr, struct disassemble_info* info)
+{
+  rel_15_7 (memaddr, info, 1);
+}
+
+struct opcode
+{
+  const char *mnemonic;
+  insn_bytes_f insn_bytes;
+  operands_f operands;
+  operands_f operands2;
+};
+
+static int shift_n_bytes (bfd_vma memaddr, struct disassemble_info* info);
+static int mov_imm_opr_n_bytes (bfd_vma memaddr, struct disassemble_info* info);
+static int loop_prim_n_bytes (bfd_vma memaddr, struct disassemble_info* info);
+static void mov_imm_opr (bfd_vma memaddr, struct disassemble_info* info);
+static void bm_rel_decode (bfd_vma memaddr, struct disassemble_info* info);
+static int bm_rel_n_bytes (bfd_vma memaddr, struct disassemble_info* info);
+static int mul_n_bytes (bfd_vma memaddr, struct disassemble_info* info);
+static void mul_decode (bfd_vma memaddr, struct disassemble_info* info);
+static int bm_n_bytes (bfd_vma memaddr, struct disassemble_info* info);
+static void bm_decode (bfd_vma memaddr, struct disassemble_info* info);
+
+static void
+cmp_xy (bfd_vma memaddr ATTRIBUTE_UNUSED, struct disassemble_info* info)
+{
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "x, y");
+}
+
+static void
+sub_d6_x_y (bfd_vma memaddr ATTRIBUTE_UNUSED, struct disassemble_info* info)
+{
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "d6, x, y");
+}
+
+static void
+sub_d6_y_x (bfd_vma memaddr ATTRIBUTE_UNUSED, struct disassemble_info* info)
+{
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "d6, y, x");
+}
+
+static const char shift_size_table[] = {
+  'b', 'w', 'p', 'l'
+};
+
+static const struct opcode page2[] =
+  {
+    [0x00] = {"ld",  opr_n_bytes_p1, 0, reg_s_opr},
+    [0x01] = {"st",  opr_n_bytes_p1, 0, reg_s_opr},
+    [0x02] = {"cmp", opr_n_bytes_p1, 0, reg_s_opr},
+    [0x03] = {"ld",  four, 0, reg_s_imm},
+    [0x04] = {"cmp", four, 0, reg_s_imm},
+    [0x05] = {"stop", single, 0, 0},
+    [0x06] = {"wai",  single, 0, 0},
+    [0x07] = {"sys",  single, 0, 0},
+    [0x08] = {NULL,  bfextins_n_bytes, 0, 0},  /* BFEXT / BFINS */
+    [0x09] = {NULL,  bfextins_n_bytes, 0, 0},
+    [0x0a] = {NULL,  bfextins_n_bytes, 0, 0},
+    [0x0b] = {NULL,  bfextins_n_bytes, 0, 0},
+    [0x0c] = {NULL,  bfextins_n_bytes, 0, 0},
+    [0x0d] = {NULL,  bfextins_n_bytes, 0, 0},
+    [0x0e] = {NULL,  bfextins_n_bytes, 0, 0},
+    [0x0f] = {NULL,  bfextins_n_bytes, 0, 0},
+    [0x10] = {"minu", opr_n_bytes_p1, reg, opr_decode},
+    [0x11] = {"minu", opr_n_bytes_p1, reg, opr_decode},
+    [0x12] = {"minu", opr_n_bytes_p1, reg, opr_decode},
+    [0x13] = {"minu", opr_n_bytes_p1, reg, opr_decode},
+    [0x14] = {"minu", opr_n_bytes_p1, reg, opr_decode},
+    [0x15] = {"minu", opr_n_bytes_p1, reg, opr_decode},
+    [0x16] = {"minu", opr_n_bytes_p1, reg, opr_decode},
+    [0x17] = {"minu", opr_n_bytes_p1, reg, opr_decode},
+    [0x18] = {"maxu", opr_n_bytes_p1, reg, opr_decode},
+    [0x19] = {"maxu", opr_n_bytes_p1, reg, opr_decode},
+    [0x1a] = {"maxu", opr_n_bytes_p1, reg, opr_decode},
+    [0x1b] = {"maxu", opr_n_bytes_p1, reg, opr_decode},
+    [0x1c] = {"maxu", opr_n_bytes_p1, reg, opr_decode},
+    [0x1d] = {"maxu", opr_n_bytes_p1, reg, opr_decode},
+    [0x1e] = {"maxu", opr_n_bytes_p1, reg, opr_decode},
+    [0x1f] = {"maxu", opr_n_bytes_p1, reg, opr_decode},
+    [0x20] = {"mins", opr_n_bytes_p1, reg, opr_decode},
+    [0x21] = {"mins", opr_n_bytes_p1, reg, opr_decode},
+    [0x22] = {"mins", opr_n_bytes_p1, reg, opr_decode},
+    [0x23] = {"mins", opr_n_bytes_p1, reg, opr_decode},
+    [0x24] = {"mins", opr_n_bytes_p1, reg, opr_decode},
+    [0x25] = {"mins", opr_n_bytes_p1, reg, opr_decode},
+    [0x26] = {"mins", opr_n_bytes_p1, reg, opr_decode},
+    [0x27] = {"mins", opr_n_bytes_p1, reg, opr_decode},
+    [0x28] = {"maxs", opr_n_bytes_p1, reg, opr_decode},
+    [0x29] = {"maxs", opr_n_bytes_p1, reg, opr_decode},
+    [0x2a] = {"maxs", opr_n_bytes_p1, reg, opr_decode},
+    [0x2b] = {"maxs", opr_n_bytes_p1, reg, opr_decode},
+    [0x2c] = {"maxs", opr_n_bytes_p1, reg, opr_decode},
+    [0x2d] = {"maxs", opr_n_bytes_p1, reg, opr_decode},
+    [0x2e] = {"maxs", opr_n_bytes_p1, reg, opr_decode},
+    [0x2f] = {"maxs", opr_n_bytes_p1, reg, opr_decode},
+    [0x30] = {"div", mul_n_bytes, mul_decode, 0},
+    [0x31] = {"div", mul_n_bytes, mul_decode, 0},
+    [0x32] = {"div", mul_n_bytes, mul_decode, 0},
+    [0x33] = {"div", mul_n_bytes, mul_decode, 0},
+    [0x34] = {"div", mul_n_bytes, mul_decode, 0},
+    [0x35] = {"div", mul_n_bytes, mul_decode, 0},
+    [0x36] = {"div", mul_n_bytes, mul_decode, 0},
+    [0x37] = {"div", mul_n_bytes, mul_decode, 0},
+    [0x38] = {"mod", mul_n_bytes, mul_decode, 0},
+    [0x39] = {"mod", mul_n_bytes, mul_decode, 0},
+    [0x3a] = {"mod", mul_n_bytes, mul_decode, 0},
+    [0x3b] = {"mod", mul_n_bytes, mul_decode, 0},
+    [0x3c] = {"mod", mul_n_bytes, mul_decode, 0},
+    [0x3d] = {"mod", mul_n_bytes, mul_decode, 0},
+    [0x3e] = {"mod", mul_n_bytes, mul_decode, 0},
+    [0x3f] = {"mod", mul_n_bytes, mul_decode, 0},
+    [0x40] = {"abs", single, reg, 0},
+    [0x41] = {"abs", single, reg, 0},
+    [0x42] = {"abs", single, reg, 0},
+    [0x43] = {"abs", single, reg, 0},
+    [0x44] = {"abs", single, reg, 0},
+    [0x45] = {"abs", single, reg, 0},
+    [0x46] = {"abs", single, reg, 0},
+    [0x47] = {"abs", single, reg, 0},
+    [0x48] = {"mac", mul_n_bytes, mul_decode, 0},
+    [0x49] = {"mac", mul_n_bytes, mul_decode, 0},
+    [0x4a] = {"mac", mul_n_bytes, mul_decode, 0},
+    [0x4b] = {"mac", mul_n_bytes, mul_decode, 0},
+    [0x4c] = {"mac", mul_n_bytes, mul_decode, 0},
+    [0x4d] = {"mac", mul_n_bytes, mul_decode, 0},
+    [0x4e] = {"mac", mul_n_bytes, mul_decode, 0},
+    [0x4f] = {"mac", mul_n_bytes, mul_decode, 0},
+    [0x50] = {"adc", three, reg, imm1234_0base},
+    [0x51] = {"adc", three, reg, imm1234_0base},
+    [0x52] = {"adc", three, reg, imm1234_0base},
+    [0x53] = {"adc", three, reg, imm1234_0base},
+    [0x54] = {"adc", two,   reg, imm1234_0base},
+    [0x55] = {"adc", two,   reg, imm1234_0base},
+    [0x56] = {"adc", five,  reg, imm1234_0base},
+    [0x57] = {"adc", five,  reg, imm1234_0base},
+    [0x58] = {"bit", three, reg, imm1234_8base},
+    [0x59] = {"bit", three, reg, imm1234_8base},
+    [0x5a] = {"bit", three, reg, imm1234_8base},
+    [0x5b] = {"bit", three, reg, imm1234_8base},
+    [0x5c] = {"bit", two,   reg, imm1234_8base},
+    [0x5d] = {"bit", two,   reg, imm1234_8base},
+    [0x5e] = {"bit", five,  reg, imm1234_8base},
+    [0x5f] = {"bit", five,  reg, imm1234_8base},
+    [0x60] = {"adc", opr_n_bytes_p1, reg, opr_decode},
+    [0x61] = {"adc", opr_n_bytes_p1, reg, opr_decode},
+    [0x62] = {"adc", opr_n_bytes_p1, reg, opr_decode},
+    [0x63] = {"adc", opr_n_bytes_p1, reg, opr_decode},
+    [0x64] = {"adc", opr_n_bytes_p1, reg, opr_decode},
+    [0x65] = {"adc", opr_n_bytes_p1, reg, opr_decode},
+    [0x66] = {"adc", opr_n_bytes_p1, reg, opr_decode},
+    [0x67] = {"adc", opr_n_bytes_p1, reg, opr_decode},
+    [0x68] = {"bit", opr_n_bytes_p1, reg, opr_decode},
+    [0x69] = {"bit", opr_n_bytes_p1, reg, opr_decode},
+    [0x6a] = {"bit", opr_n_bytes_p1, reg, opr_decode},
+    [0x6b] = {"bit", opr_n_bytes_p1, reg, opr_decode},
+    [0x6c] = {"bit", opr_n_bytes_p1, reg, opr_decode},
+    [0x6d] = {"bit", opr_n_bytes_p1, reg, opr_decode},
+    [0x6e] = {"bit", opr_n_bytes_p1, reg, opr_decode},
+    [0x6f] = {"bit", opr_n_bytes_p1, reg, opr_decode},
+    [0x70] = {"sbc", three, reg, imm1234_0base},
+    [0x71] = {"sbc", three, reg, imm1234_0base},
+    [0x72] = {"sbc", three, reg, imm1234_0base},
+    [0x73] = {"sbc", three, reg, imm1234_0base},
+    [0x74] = {"sbc", two,   reg, imm1234_0base},
+    [0x75] = {"sbc", two,   reg, imm1234_0base},
+    [0x76] = {"sbc", five,  reg, imm1234_0base},
+    [0x77] = {"sbc", five,  reg, imm1234_0base},
+    [0x78] = {"eor", three, reg, imm1234_8base},
+    [0x79] = {"eor", three, reg, imm1234_8base},
+    [0x7a] = {"eor", three, reg, imm1234_8base},
+    [0x7b] = {"eor", three, reg, imm1234_8base},
+    [0x7c] = {"eor", two,   reg, imm1234_8base},
+    [0x7d] = {"eor", two,   reg, imm1234_8base},
+    [0x7e] = {"eor", five,  reg, imm1234_8base},
+    [0x7f] = {"eor", five,  reg, imm1234_8base},
+    [0x80] = {"sbc", opr_n_bytes_p1, reg, opr_decode},
+    [0x81] = {"sbc", opr_n_bytes_p1, reg, opr_decode},
+    [0x82] = {"sbc", opr_n_bytes_p1, reg, opr_decode},
+    [0x83] = {"sbc", opr_n_bytes_p1, reg, opr_decode},
+    [0x84] = {"sbc", opr_n_bytes_p1, reg, opr_decode},
+    [0x85] = {"sbc", opr_n_bytes_p1, reg, opr_decode},
+    [0x86] = {"sbc", opr_n_bytes_p1, reg, opr_decode},
+    [0x87] = {"sbc", opr_n_bytes_p1, reg, opr_decode},
+    [0x88] = {"eor", opr_n_bytes_p1, reg,    opr_decode},
+    [0x89] = {"eor", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8a] = {"eor", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8b] = {"eor", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8c] = {"eor", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8d] = {"eor", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8e] = {"eor", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8f] = {"eor", opr_n_bytes_p1, reg,    opr_decode},
+    [0x90] = {"rti",  single, 0, 0},
+    [0x91] = {"clb",   two, tfr, 0},
+    [0x92] = {"trap",  single, trap_decode, 0},
+    [0x93] = {"trap",  single, trap_decode, 0},
+    [0x94] = {"trap",  single, trap_decode, 0},
+    [0x95] = {"trap",  single, trap_decode, 0},
+    [0x96] = {"trap",  single, trap_decode, 0},
+    [0x97] = {"trap",  single, trap_decode, 0},
+    [0x98] = {"trap",  single, trap_decode, 0},
+    [0x99] = {"trap",  single, trap_decode, 0},
+    [0x9a] = {"trap",  single, trap_decode, 0},
+    [0x9b] = {"trap",  single, trap_decode, 0},
+    [0x9c] = {"trap",  single, trap_decode, 0},
+    [0x9d] = {"trap",  single, trap_decode, 0},
+    [0x9e] = {"trap",  single, trap_decode, 0},
+    [0x9f] = {"trap",  single, trap_decode, 0},
+    [0xa0] = {"sat", single, reg, 0},
+    [0xa1] = {"sat", single, reg, 0},
+    [0xa2] = {"sat", single, reg, 0},
+    [0xa3] = {"sat", single, reg, 0},
+    [0xa4] = {"sat", single, reg, 0},
+    [0xa5] = {"sat", single, reg, 0},
+    [0xa6] = {"sat", single, reg, 0},
+    [0xa7] = {"sat", single, reg, 0},
+    [0xa8] = {"trap",  single, trap_decode, 0},
+    [0xa9] = {"trap",  single, trap_decode, 0},
+    [0xaa] = {"trap",  single, trap_decode, 0},
+    [0xab] = {"trap",  single, trap_decode, 0},
+    [0xac] = {"trap",  single, trap_decode, 0},
+    [0xad] = {"trap",  single, trap_decode, 0},
+    [0xae] = {"trap",  single, trap_decode, 0},
+    [0xaf] = {"trap",  single, trap_decode, 0},
+    [0xb0] = {"qmul", mul_n_bytes, mul_decode, 0},
+    [0xb1] = {"qmul", mul_n_bytes, mul_decode, 0},
+    [0xb2] = {"qmul", mul_n_bytes, mul_decode, 0},
+    [0xb3] = {"qmul", mul_n_bytes, mul_decode, 0},
+    [0xb4] = {"qmul", mul_n_bytes, mul_decode, 0},
+    [0xb5] = {"qmul", mul_n_bytes, mul_decode, 0},
+    [0xb6] = {"qmul", mul_n_bytes, mul_decode, 0},
+    [0xb7] = {"qmul", mul_n_bytes, mul_decode, 0},
+    [0xb8] = {"trap",  single, trap_decode, 0},
+    [0xb9] = {"trap",  single, trap_decode, 0},
+    [0xba] = {"trap",  single, trap_decode, 0},
+    [0xbb] = {"trap",  single, trap_decode, 0},
+    [0xbc] = {"trap",  single, trap_decode, 0},
+    [0xbd] = {"trap",  single, trap_decode, 0},
+    [0xbe] = {"trap",  single, trap_decode, 0},
+    [0xbf] = {"trap",  single, trap_decode, 0},
+    [0xc0] = {"trap",  single, trap_decode, 0},
+    [0xc1] = {"trap",  single, trap_decode, 0},
+    [0xc2] = {"trap",  single, trap_decode, 0},
+    [0xc3] = {"trap",  single, trap_decode, 0},
+    [0xc4] = {"trap",  single, trap_decode, 0},
+    [0xc5] = {"trap",  single, trap_decode, 0},
+    [0xc6] = {"trap",  single, trap_decode, 0},
+    [0xc7] = {"trap",  single, trap_decode, 0},
+    [0xc8] = {"trap",  single, trap_decode, 0},
+    [0xc9] = {"trap",  single, trap_decode, 0},
+    [0xca] = {"trap",  single, trap_decode, 0},
+    [0xcb] = {"trap",  single, trap_decode, 0},
+    [0xcc] = {"trap",  single, trap_decode, 0},
+    [0xcd] = {"trap",  single, trap_decode, 0},
+    [0xce] = {"trap",  single, trap_decode, 0},
+    [0xcf] = {"trap",  single, trap_decode, 0},
+    [0xd0] = {"trap",  single, trap_decode, 0},
+    [0xd1] = {"trap",  single, trap_decode, 0},
+    [0xd2] = {"trap",  single, trap_decode, 0},
+    [0xd3] = {"trap",  single, trap_decode, 0},
+    [0xd4] = {"trap",  single, trap_decode, 0},
+    [0xd5] = {"trap",  single, trap_decode, 0},
+    [0xd6] = {"trap",  single, trap_decode, 0},
+    [0xd7] = {"trap",  single, trap_decode, 0},
+    [0xd8] = {"trap",  single, trap_decode, 0},
+    [0xd9] = {"trap",  single, trap_decode, 0},
+    [0xda] = {"trap",  single, trap_decode, 0},
+    [0xdb] = {"trap",  single, trap_decode, 0},
+    [0xdc] = {"trap",  single, trap_decode, 0},
+    [0xdd] = {"trap",  single, trap_decode, 0},
+    [0xde] = {"trap",  single, trap_decode, 0},
+    [0xdf] = {"trap",  single, trap_decode, 0},
+    [0xe0] = {"trap",  single, trap_decode, 0},
+    [0xe1] = {"trap",  single, trap_decode, 0},
+    [0xe2] = {"trap",  single, trap_decode, 0},
+    [0xe3] = {"trap",  single, trap_decode, 0},
+    [0xe4] = {"trap",  single, trap_decode, 0},
+    [0xe5] = {"trap",  single, trap_decode, 0},
+    [0xe6] = {"trap",  single, trap_decode, 0},
+    [0xe7] = {"trap",  single, trap_decode, 0},
+    [0xe8] = {"trap",  single, trap_decode, 0},
+    [0xe9] = {"trap",  single, trap_decode, 0},
+    [0xea] = {"trap",  single, trap_decode, 0},
+    [0xeb] = {"trap",  single, trap_decode, 0},
+    [0xec] = {"trap",  single, trap_decode, 0},
+    [0xed] = {"trap",  single, trap_decode, 0},
+    [0xee] = {"trap",  single, trap_decode, 0},
+    [0xef] = {"trap",  single, trap_decode, 0},
+    [0xf0] = {"trap",  single, trap_decode, 0},
+    [0xf1] = {"trap",  single, trap_decode, 0},
+    [0xf2] = {"trap",  single, trap_decode, 0},
+    [0xf3] = {"trap",  single, trap_decode, 0},
+    [0xf4] = {"trap",  single, trap_decode, 0},
+    [0xf5] = {"trap",  single, trap_decode, 0},
+    [0xf6] = {"trap",  single, trap_decode, 0},
+    [0xf7] = {"trap",  single, trap_decode, 0},
+    [0xf8] = {"trap",  single, trap_decode, 0},
+    [0xf9] = {"trap",  single, trap_decode, 0},
+    [0xfa] = {"trap",  single, trap_decode, 0},
+    [0xfb] = {"trap",  single, trap_decode, 0},
+    [0xfc] = {"trap",  single, trap_decode, 0},
+    [0xfd] = {"trap",  single, trap_decode, 0},
+    [0xfe] = {"trap",  single, trap_decode, 0},
+    [0xff] = {"trap",  single, trap_decode, 0},
+  };
+
+static const struct opcode page1[] =
+  {
+    [0x00] = {"bgnd", single, 0, 0},
+    [0x01] = {"nop",  single, 0, 0},
+    [0x02] = {"brclr", bm_rel_n_bytes, bm_rel_decode, 0},
+    [0x03] = {"brset", bm_rel_n_bytes, bm_rel_decode, 0},
+    [0x04] = {NULL,   two,    0, 0}, /* psh/pul */
+    [0x05] = {"rts",  single, 0, 0},
+    [0x06] = {"lea", opr_n_bytes_p1, reg, opr_decode},
+    [0x07] = {"lea", opr_n_bytes_p1, reg, opr_decode},
+    [0x08] = {"lea", opr_n_bytes_p1, lea_reg_xys_opr, 0},
+    [0x09] = {"lea", opr_n_bytes_p1, lea_reg_xys_opr, 0},
+    [0x0a] = {"lea", opr_n_bytes_p1, lea_reg_xys_opr, 0},
+    [0x0b] = {NULL, loop_prim_n_bytes, 0, 0}, /* Loop primitives TBcc / DBcc */
+    [0x0c] = {"mov.b", mov_imm_opr_n_bytes, mov_imm_opr, 0},
+    [0x0d] = {"mov.w", mov_imm_opr_n_bytes, mov_imm_opr, 0},
+    [0x0e] = {"mov.p", mov_imm_opr_n_bytes, mov_imm_opr, 0},
+    [0x0f] = {"mov.l", mov_imm_opr_n_bytes, mov_imm_opr, 0},
+    [0x10] = {NULL,   shift_n_bytes, 0, 0},  /* lsr/lsl/asl/asr/rol/ror */
+    [0x11] = {NULL,   shift_n_bytes, 0, 0},
+    [0x12] = {NULL,   shift_n_bytes, 0, 0},
+    [0x13] = {NULL,   shift_n_bytes, 0, 0},
+    [0x14] = {NULL,   shift_n_bytes, 0, 0},
+    [0x15] = {NULL,   shift_n_bytes, 0, 0},
+    [0x16] = {NULL,   shift_n_bytes, 0, 0},
+    [0x17] = {NULL,   shift_n_bytes, 0, 0},
+    [0x18] = {"lea",  two, lea_reg_xys, NULL},
+    [0x19] = {"lea",  two, lea_reg_xys, NULL},
+    [0x1a] = {"lea",  two, lea_reg_xys, NULL},
+    /* 0x1b PG2 */
+    [0x1c] = {"mov.b", opr_n_bytes2, 0, opr_decode2},
+    [0x1d] = {"mov.w", opr_n_bytes2, 0, opr_decode2},
+    [0x1e] = {"mov.p", opr_n_bytes2, 0, opr_decode2},
+    [0x1f] = {"mov.l", opr_n_bytes2, 0, opr_decode2},
+    [0x20] = {"bra",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x21] = {"bsr",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x22] = {"bhi",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x23] = {"bls",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x24] = {"bcc",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x25] = {"bcs",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x26] = {"bne",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x27] = {"beq",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x28] = {"bvc",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x29] = {"bvs",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x2a] = {"bpl",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x2b] = {"bmi",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x2c] = {"bge",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x2d] = {"blt",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x2e] = {"bgt",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x2f] = {"ble",  pcrel_15bit, decode_rel_15_7, 0},
+    [0x30] = {"inc", single, reg, 0},
+    [0x31] = {"inc", single, reg, 0},
+    [0x32] = {"inc", single, reg, 0},
+    [0x33] = {"inc", single, reg, 0},
+    [0x34] = {"inc", single, reg, 0},
+    [0x35] = {"inc", single, reg, 0},
+    [0x36] = {"inc", single, reg, 0},
+    [0x37] = {"inc", single, reg, 0},
+    [0x38] = {"clr", single, reg, 0},
+    [0x39] = {"clr", single, reg, 0},
+    [0x3a] = {"clr", single, reg, 0},
+    [0x3b] = {"clr", single, reg, 0},
+    [0x3c] = {"clr", single, reg, 0},
+    [0x3d] = {"clr", single, reg, 0},
+    [0x3e] = {"clr", single, reg, 0},
+    [0x3f] = {"clr", single, reg, 0},
+    [0x40] = {"dec", single, reg, 0},
+    [0x41] = {"dec", single, reg, 0},
+    [0x42] = {"dec", single, reg, 0},
+    [0x43] = {"dec", single, reg, 0},
+    [0x44] = {"dec", single, reg, 0},
+    [0x45] = {"dec", single, reg, 0},
+    [0x46] = {"dec", single, reg, 0},
+    [0x47] = {"dec", single, reg, 0},
+    [0x48] = {"mul", mul_n_bytes, mul_decode, 0},
+    [0x49] = {"mul", mul_n_bytes, mul_decode, 0},
+    [0x4a] = {"mul", mul_n_bytes, mul_decode, 0},
+    [0x4b] = {"mul", mul_n_bytes, mul_decode, 0},
+    [0x4c] = {"mul", mul_n_bytes, mul_decode, 0},
+    [0x4d] = {"mul", mul_n_bytes, mul_decode, 0},
+    [0x4e] = {"mul", mul_n_bytes, mul_decode, 0},
+    [0x4f] = {"mul", mul_n_bytes, mul_decode, 0},
+    [0x50] = {"add", three, reg, imm1234_0base},
+    [0x51] = {"add", three, reg, imm1234_0base},
+    [0x52] = {"add", three, reg, imm1234_0base},
+    [0x53] = {"add", three, reg, imm1234_0base},
+    [0x54] = {"add", two,   reg, imm1234_0base},
+    [0x55] = {"add", two,   reg, imm1234_0base},
+    [0x56] = {"add", five,  reg, imm1234_0base},
+    [0x57] = {"add", five,  reg, imm1234_0base},
+    [0x58] = {"and", three, reg, imm1234_8base},
+    [0x59] = {"and", three, reg, imm1234_8base},
+    [0x5a] = {"and", three, reg, imm1234_8base},
+    [0x5b] = {"and", three, reg, imm1234_8base},
+    [0x5c] = {"and", two,   reg, imm1234_8base},
+    [0x5d] = {"and", two,   reg, imm1234_8base},
+    [0x5e] = {"and", five,  reg, imm1234_8base},
+    [0x5f] = {"and", five,  reg, imm1234_8base},
+    [0x60] = {"add", opr_n_bytes_p1, reg, opr_decode},
+    [0x61] = {"add", opr_n_bytes_p1, reg, opr_decode},
+    [0x62] = {"add", opr_n_bytes_p1, reg, opr_decode},
+    [0x63] = {"add", opr_n_bytes_p1, reg, opr_decode},
+    [0x64] = {"add", opr_n_bytes_p1, reg, opr_decode},
+    [0x65] = {"add", opr_n_bytes_p1, reg, opr_decode},
+    [0x66] = {"add", opr_n_bytes_p1, reg, opr_decode},
+    [0x67] = {"add", opr_n_bytes_p1, reg, opr_decode},
+    [0x68] = {"and", opr_n_bytes_p1, reg, opr_decode},
+    [0x69] = {"and", opr_n_bytes_p1, reg, opr_decode},
+    [0x6a] = {"and", opr_n_bytes_p1, reg, opr_decode},
+    [0x6b] = {"and", opr_n_bytes_p1, reg, opr_decode},
+    [0x6c] = {"and", opr_n_bytes_p1, reg, opr_decode},
+    [0x6d] = {"and", opr_n_bytes_p1, reg, opr_decode},
+    [0x6e] = {"and", opr_n_bytes_p1, reg, opr_decode},
+    [0x6f] = {"and", opr_n_bytes_p1, reg, opr_decode},
+    [0x70] = {"sub", three, reg, imm1234_0base},
+    [0x71] = {"sub", three, reg, imm1234_0base},
+    [0x72] = {"sub", three, reg, imm1234_0base},
+    [0x73] = {"sub", three, reg, imm1234_0base},
+    [0x74] = {"sub", two,   reg, imm1234_0base},
+    [0x75] = {"sub", two,   reg, imm1234_0base},
+    [0x76] = {"sub", five,  reg, imm1234_0base},
+    [0x77] = {"sub", five,  reg, imm1234_0base},
+    [0x78] = {"or", three, reg, imm1234_8base},
+    [0x79] = {"or", three, reg, imm1234_8base},
+    [0x7a] = {"or", three, reg, imm1234_8base},
+    [0x7b] = {"or", three, reg, imm1234_8base},
+    [0x7c] = {"or", two,   reg, imm1234_8base},
+    [0x7d] = {"or", two,   reg, imm1234_8base},
+    [0x7e] = {"or", five,  reg, imm1234_8base},
+    [0x7f] = {"or", five,  reg, imm1234_8base},
+    [0x80] = {"sub", opr_n_bytes_p1, reg,    opr_decode},
+    [0x81] = {"sub", opr_n_bytes_p1, reg,    opr_decode},
+    [0x82] = {"sub", opr_n_bytes_p1, reg,    opr_decode},
+    [0x83] = {"sub", opr_n_bytes_p1, reg,    opr_decode},
+    [0x84] = {"sub", opr_n_bytes_p1, reg,    opr_decode},
+    [0x85] = {"sub", opr_n_bytes_p1, reg,    opr_decode},
+    [0x86] = {"sub", opr_n_bytes_p1, reg,    opr_decode},
+    [0x87] = {"sub", opr_n_bytes_p1, reg,    opr_decode},
+    [0x88] = {"or", opr_n_bytes_p1, reg,    opr_decode},
+    [0x89] = {"or", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8a] = {"or", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8b] = {"or", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8c] = {"or", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8d] = {"or", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8e] = {"or", opr_n_bytes_p1, reg,    opr_decode},
+    [0x8f] = {"or", opr_n_bytes_p1, reg,    opr_decode},
+    [0x90] = {"ld", three,  reg, imm1234_0base},
+    [0x91] = {"ld", three,  reg, imm1234_0base},
+    [0x92] = {"ld", three,  reg, imm1234_0base},
+    [0x93] = {"ld", three,  reg, imm1234_0base},
+    [0x94] = {"ld", two,    reg, imm1234_0base},
+    [0x95] = {"ld", two,    reg, imm1234_0base},
+    [0x96] = {"ld", five,   reg, imm1234_0base},
+    [0x97] = {"ld", five,   reg, imm1234_0base},
+    [0x98] = {"ld", four,   reg_xy, imm1234_0base},
+    [0x99] = {"ld", four,   reg_xy, imm1234_0base},
+    [0x9a] = {"clr", single, reg_xy, 0},
+    [0x9b] = {"clr", single, reg_xy, 0},
+    [0x9c] = {"inc.b", opr_n_bytes_p1, 0, opr_decode},
+    [0x9d] = {"inc.w", opr_n_bytes_p1, 0, opr_decode},
+    [0x9e] = {"tfr", two, tfr, NULL},
+    [0x9f] = {"inc.l", opr_n_bytes_p1, 0, opr_decode},
+    [0xa0] = {"ld", opr_n_bytes_p1, reg,    opr_decode},
+    [0xa1] = {"ld", opr_n_bytes_p1, reg,    opr_decode},
+    [0xa2] = {"ld", opr_n_bytes_p1, reg,    opr_decode},
+    [0xa3] = {"ld", opr_n_bytes_p1, reg,    opr_decode},
+    [0xa4] = {"ld", opr_n_bytes_p1, reg,    opr_decode},
+    [0xa5] = {"ld", opr_n_bytes_p1, reg,    opr_decode},
+    [0xa6] = {"ld", opr_n_bytes_p1, reg,    opr_decode},
+    [0xa7] = {"ld", opr_n_bytes_p1, reg,    opr_decode},
+    [0xa8] = {"ld", opr_n_bytes_p1, reg_xy, opr_decode},
+    [0xa9] = {"ld", opr_n_bytes_p1, reg_xy, opr_decode},
+    [0xaa] = {"jmp", opr_n_bytes_p1, opr_decode, 0},
+    [0xab] = {"jsr", opr_n_bytes_p1, opr_decode, 0},
+    [0xac] = {"dec.b", opr_n_bytes_p1, 0, opr_decode},
+    [0xad] = {"dec.w", opr_n_bytes_p1, 0, opr_decode},
+    [0xae] = {NULL,   two, 0, 0},  /* EXG / SEX */
+    [0xaf] = {"dec.l", opr_n_bytes_p1, 0, opr_decode},
+    [0xb0] = {"ld", four,  reg, ext24_decode},
+    [0xb1] = {"ld", four,  reg, ext24_decode},
+    [0xb2] = {"ld", four,  reg, ext24_decode},
+    [0xb3] = {"ld", four,  reg, ext24_decode},
+    [0xb4] = {"ld", four,  reg, ext24_decode},
+    [0xb5] = {"ld", four,  reg, ext24_decode},
+    [0xb6] = {"ld", four,  reg, ext24_decode},
+    [0xb7] = {"ld", four,  reg, ext24_decode},
+    [0xb8] = {"ld", four,  reg_xy, ext24_decode},
+    [0xb9] = {"ld", four,  reg_xy, ext24_decode},
+    [0xba] = {"jmp", four, ext24_decode, 0},
+    [0xbb] = {"jsr", four, ext24_decode, 0},
+    [0xbc] = {"clr.b", opr_n_bytes_p1, 0, opr_decode},
+    [0xbd] = {"clr.w", opr_n_bytes_p1, 0, opr_decode},
+    [0xbe] = {"clr.p", opr_n_bytes_p1, 0, opr_decode},
+    [0xbf] = {"clr.l", opr_n_bytes_p1, 0, opr_decode},
+    [0xc0] = {"st", opr_n_bytes_p1, reg,    opr_decode},
+    [0xc1] = {"st", opr_n_bytes_p1, reg,    opr_decode},
+    [0xc2] = {"st", opr_n_bytes_p1, reg,    opr_decode},
+    [0xc3] = {"st", opr_n_bytes_p1, reg,    opr_decode},
+    [0xc4] = {"st", opr_n_bytes_p1, reg,    opr_decode},
+    [0xc5] = {"st", opr_n_bytes_p1, reg,    opr_decode},
+    [0xc6] = {"st", opr_n_bytes_p1, reg,    opr_decode},
+    [0xc7] = {"st", opr_n_bytes_p1, reg,    opr_decode},
+    [0xc8] = {"st", opr_n_bytes_p1, reg_xy, opr_decode},
+    [0xc9] = {"st", opr_n_bytes_p1, reg_xy, opr_decode},
+    [0xca] = {"ld", three, reg_xy, ld_18bit_decode},
+    [0xcb] = {"ld", three, reg_xy, ld_18bit_decode},
+    [0xcc] = {"com.b", opr_n_bytes_p1, NULL, opr_decode},
+    [0xcd] = {"com.w", opr_n_bytes_p1, NULL, opr_decode},
+    [0xce] = {"andcc", two, imm1, 0},
+    [0xcf] = {"com.l", opr_n_bytes_p1, NULL, opr_decode},
+    [0xd0] = {"st", four,  reg, ext24_decode},
+    [0xd1] = {"st", four,  reg, ext24_decode},
+    [0xd2] = {"st", four,  reg, ext24_decode},
+    [0xd3] = {"st", four,  reg, ext24_decode},
+    [0xd4] = {"st", four,  reg, ext24_decode},
+    [0xd5] = {"st", four,  reg, ext24_decode},
+    [0xd6] = {"st", four,  reg, ext24_decode},
+    [0xd7] = {"st", four,  reg, ext24_decode},
+    [0xd8] = {"st", four,  reg_xy, ext24_decode},
+    [0xd9] = {"st", four,  reg_xy, ext24_decode},
+    [0xda] = {"ld", three, reg_xy, ld_18bit_decode},
+    [0xdb] = {"ld", three, reg_xy, ld_18bit_decode},
+    [0xdc] = {"neg.b", opr_n_bytes_p1, NULL, opr_decode},
+    [0xdd] = {"neg.w", opr_n_bytes_p1, NULL, opr_decode},
+    [0xde] = {"orcc",  two,  imm1, 0},
+    [0xdf] = {"neg.l", opr_n_bytes_p1, NULL, opr_decode},
+    [0xe0] = {"cmp", three,  reg, imm1234_0base},
+    [0xe1] = {"cmp", three,  reg, imm1234_0base},
+    [0xe2] = {"cmp", three,  reg, imm1234_0base},
+    [0xe3] = {"cmp", three,  reg, imm1234_0base},
+    [0xe4] = {"cmp", two,    reg, imm1234_0base},
+    [0xe5] = {"cmp", two,    reg, imm1234_0base},
+    [0xe6] = {"cmp", five,   reg, imm1234_0base},
+    [0xe7] = {"cmp", five,   reg, imm1234_0base},
+    [0xe8] = {"cmp", four,   reg_xy, imm1234_0base},
+    [0xe9] = {"cmp", four,   reg_xy, imm1234_0base},
+    [0xea] = {"ld", three, reg_xy, ld_18bit_decode},
+    [0xeb] = {"ld", three, reg_xy, ld_18bit_decode},
+    [0xec] = {"bclr", bm_n_bytes, bm_decode, 0},
+    [0xed] = {"bset", bm_n_bytes, bm_decode, 0},
+    [0xee] = {"btgl", bm_n_bytes, bm_decode, 0},
+    [0xef] = {"!!invalid!!", NULL, NULL, NULL}, /* SPARE */
+    [0xf0] = {"cmp", opr_n_bytes_p1, reg,    opr_decode},
+    [0xf1] = {"cmp", opr_n_bytes_p1, reg,    opr_decode},
+    [0xf2] = {"cmp", opr_n_bytes_p1, reg,    opr_decode},
+    [0xf3] = {"cmp", opr_n_bytes_p1, reg,    opr_decode},
+    [0xf4] = {"cmp", opr_n_bytes_p1, reg,    opr_decode},
+    [0xf5] = {"cmp", opr_n_bytes_p1, reg,    opr_decode},
+    [0xf6] = {"cmp", opr_n_bytes_p1, reg,    opr_decode},
+    [0xf7] = {"cmp", opr_n_bytes_p1, reg,    opr_decode},
+    [0xf8] = {"cmp", opr_n_bytes_p1, reg_xy, opr_decode},
+    [0xf9] = {"cmp", opr_n_bytes_p1, reg_xy, opr_decode},
+    [0xfa] = {"ld",  three, reg_xy, ld_18bit_decode},
+    [0xfb] = {"ld",  three, reg_xy, ld_18bit_decode},
+    [0xfc] = {"cmp", single, cmp_xy, 0},
+    [0xfd] = {"sub", single, sub_d6_x_y, 0},
+    [0xfe] = {"sub", single, sub_d6_y_x, 0},
+    [0xff] = {"swi", single, 0, 0}
+  };
+
+
+static const char *oprregs1[] =
+  {
+    "d3", "d2", "d1", "d0", "ccl", "cch"
+  };
+
+static const char *oprregs2[] =
+  {
+    "y", "x", "d7", "d6", "d5", "d4"
+  };
+
+
+
+
+enum MUL_MODE
+  {
+    MUL_REG_REG,
+    MUL_REG_OPR,
+    MUL_REG_IMM,
+    MUL_OPR_OPR
+  };
+
+struct mb
+{
+  uint8_t mask;
+  uint8_t value;
+  enum MUL_MODE mode;
+};
+
+static const struct mb mul_table[] = {
+  {0x40, 0x00, MUL_REG_REG},
+
+  {0x47, 0x40, MUL_REG_OPR},
+  {0x47, 0x41, MUL_REG_OPR},
+  {0x47, 0x43, MUL_REG_OPR},
+
+  {0x47, 0x44, MUL_REG_IMM},
+  {0x47, 0x45, MUL_REG_IMM},
+  {0x47, 0x47, MUL_REG_IMM},
+
+  {0x43, 0x42, MUL_OPR_OPR},
+};
+
+static void
+mul_decode (bfd_vma memaddr, struct disassemble_info* info)
+{
+  uint8_t mb;
+  int status = read_memory (memaddr, &mb, 1, info);
+  if (status < 0)
+    return;
+
+
+  uint8_t byte;
+  status = read_memory (memaddr - 1, &byte, 1, info);
+  if (status < 0)
+    return;
+
+  (*info->fprintf_func) (info->stream, "%c", (mb & 0x80) ? 's' : 'u');
+
+  enum MUL_MODE mode = -1;
+  size_t i;
+  for (i = 0; i < sizeof (mul_table) / sizeof (mul_table[0]); ++i)
+    {
+      const struct mb *mm = mul_table + i;
+      if ((mb & mm->mask) == mm->value)
+	{
+	  mode = mm->mode;
+	  break;
+	}
+    }
+
+  switch (mode)
+    {
+    case MUL_REG_REG:
+      break;
+    case MUL_OPR_OPR:
+      {
+	int size1 = (mb & 0x30) >> 4;
+	int size2 = (mb & 0x0c) >> 2;
+	(*info->fprintf_func) (info->stream, ".%c%c",
+			       shift_size_table [size1],
+			       shift_size_table [size2]);
+      }
+      break;
+    default:
+      {
+	int size = (mb & 0x3);
+	(*info->fprintf_func) (info->stream, ".%c", shift_size_table [size]);
+      }
+      break;
+    }
+
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "%s", registers[byte & 0x7].name);
+
+  switch (mode)
+    {
+    case MUL_REG_REG:
+    case MUL_REG_IMM:
+    case MUL_REG_OPR:
+      operand_separator (info);
+      (*info->fprintf_func) (info->stream, "%s", registers[(mb & 0x38) >> 3].name);
+      break;
+    default:
+      break;
+    }
+
+  switch (mode)
+    {
+    case MUL_REG_IMM:
+      operand_separator (info);
+      int size = (mb & 0x3);
+      uint32_t imm = decode_signed_value (memaddr + 1, info, size + 1);
+      (*info->fprintf_func) (info->stream, "#%d", imm);
+      break;
+    case MUL_REG_REG:
+      operand_separator (info);
+      (*info->fprintf_func) (info->stream, "%s", registers[mb & 0x07].name);
+      break;
+    case MUL_REG_OPR:
+      opr_decode (memaddr + 1, info);
+      break;
+    case MUL_OPR_OPR:
+      {
+	int first = opr_n_bytes (memaddr + 1, info);
+	opr_decode (memaddr + 1, info);
+	opr_decode (memaddr + first + 1, info);
+	break;
+      }
+    }
+}
+
+
+static int
+mul_n_bytes (bfd_vma memaddr, struct disassemble_info* info)
+{
+  int nx = 2;
+  uint8_t mb;
+  int status = read_memory (memaddr, &mb, 1, info);
+  if (status < 0)
+    return 0;
+
+  enum MUL_MODE mode = -1;
+  size_t i;
+  for (i = 0; i < sizeof (mul_table) / sizeof (mul_table[0]); ++i)
+    {
+      const struct mb *mm = mul_table + i;
+      if ((mb & mm->mask) == mm->value)
+	{
+	  mode = mm->mode;
+	  break;
+	}
+    }
+
+  int size = (mb & 0x3) + 1;
+
+  switch (mode)
+    {
+    case MUL_REG_IMM:
+      nx += size;
+      break;
+    case MUL_REG_REG:
+      break;
+    case MUL_REG_OPR:
+      nx += opr_n_bytes (memaddr + 1, info);
+      break;
+    case MUL_OPR_OPR:
+      {
+	int first = opr_n_bytes (memaddr + nx - 1, info);
+	nx += first;
+	int second = opr_n_bytes (memaddr + nx - 1, info);
+	nx += second;
+      }
+      break;
+    }
+
+  return nx;
+}
+
+
+enum BM_MODE {
+  BM_REG_IMM,
+  BM_RESERVED0,
+  BM_OPR_B,
+  BM_OPR_W,
+  BM_OPR_L,
+  BM_OPR_REG,
+  BM_RESERVED1
+};
+
+struct bm
+{
+  uint8_t mask;
+  uint8_t value;
+  enum BM_MODE mode;
+};
+
+static const  struct bm bm_table[] = {
+  { 0xC6, 0x04,     BM_REG_IMM},
+  { 0x84, 0x00,     BM_REG_IMM},
+  { 0x06, 0x06,     BM_REG_IMM},
+  { 0xC6, 0x44,     BM_RESERVED0},
+  // 00
+  { 0x8F, 0x80,     BM_OPR_B},
+  { 0x8E, 0x82,     BM_OPR_W},
+  { 0x8C, 0x88,     BM_OPR_L},
+
+  { 0x83, 0x81,     BM_OPR_REG},
+  { 0x87, 0x84,     BM_RESERVED1},
+};
+
+static void
+bm_decode (bfd_vma memaddr, struct disassemble_info* info)
+{
+  uint8_t bm;
+  int status = read_memory (memaddr, &bm, 1, info);
+  if (status < 0)
+    return;
+
+  size_t i;
+  enum BM_MODE mode = -1;
+  for (i = 0; i < sizeof (bm_table) / sizeof (bm_table[0]); ++i)
+    {
+      const struct bm *bme = bm_table + i;
+      if ((bm & bme->mask) == bme->value)
+	{
+	  mode = bme->mode;
+	  break;
+	}
+    }
+
+  switch (mode)
+    {
+    case BM_REG_IMM:
+      operand_separator (info);
+      (*info->fprintf_func) (info->stream, "%s", registers[bm & 0x07].name);
+      break;
+    case BM_OPR_B:
+      (*info->fprintf_func) (info->stream, ".%c", 'b');
+      opr_decode (memaddr + 1, info);
+      break;
+    case BM_OPR_W:
+      (*info->fprintf_func) (info->stream, ".%c", 'w');
+      opr_decode (memaddr + 1, info);
+      break;
+    case BM_OPR_L:
+      (*info->fprintf_func) (info->stream, ".%c", 'l');
+      opr_decode (memaddr + 1, info);
+      break;
+    case BM_OPR_REG:
+      {
+	uint8_t xb;
+	read_memory (memaddr + 1, &xb, 1, info);
+	/* Don't emit a size suffix for register operands */
+	if ((xb & 0xF8) != 0xB8)
+	  (*info->fprintf_func) (info->stream, ".%c", shift_size_table[(bm & 0x0c) >> 2]);
+	opr_decode (memaddr + 1, info);
+      }
+      break;
+    case BM_RESERVED0:
+    case BM_RESERVED1:
+      assert (0);
+      break;
+    }
+
+  uint8_t imm = 0;
+  operand_separator (info);
+  switch (mode)
+    {
+    case BM_REG_IMM:
+      {
+	imm = (bm & 0xF8) >> 3;
+	(*info->fprintf_func) (info->stream, "#%d", imm);
+      }
+      break;
+    case BM_OPR_L:
+      imm |= (bm & 0x03) << 3;
+      /* fallthrough */
+    case BM_OPR_W:
+      imm |= (bm & 0x01) << 3;
+      /* fallthrough */
+    case BM_OPR_B:
+      imm |= (bm & 0x70) >> 4;
+      (*info->fprintf_func) (info->stream, "#%d", imm);
+      break;
+    case BM_OPR_REG:
+      (*info->fprintf_func) (info->stream, "%s", registers[(bm & 0x70) >> 4].name);
+      break;
+    case BM_RESERVED0:
+    case BM_RESERVED1:
+      assert (0);
+      break;
+    }
+}
+
+
+static void
+bm_rel_decode (bfd_vma memaddr, struct disassemble_info* info)
+{
+  uint8_t bm;
+  int status = read_memory (memaddr, &bm, 1, info);
+  if (status < 0)
+    return;
+
+  size_t i;
+  enum BM_MODE mode = -1;
+  for (i = 0; i < sizeof (bm_table) / sizeof (bm_table[0]); ++i)
+    {
+      const struct bm *bme = bm_table + i;
+      if ((bm & bme->mask) == bme->value)
+	{
+	  mode = bme->mode;
+	  break;
+	}
+    }
+
+  switch (mode)
+    {
+    case BM_REG_IMM:
+      break;
+    case BM_OPR_B:
+      (*info->fprintf_func) (info->stream, ".%c", 'b');
+      break;
+    case BM_OPR_W:
+      (*info->fprintf_func) (info->stream, ".%c", 'w');
+      break;
+    case BM_OPR_L:
+      (*info->fprintf_func) (info->stream, ".%c", 'l');
+      break;
+    case BM_OPR_REG:
+      {
+	uint8_t xb;
+	read_memory (memaddr + 1, &xb, 1, info);
+	/* Don't emit a size suffix for register operands */
+	if ((xb & 0xF8) != 0xB8)
+	  (*info->fprintf_func) (info->stream, ".%c",
+				 shift_size_table[(bm & 0x0C) >> 2]);
+      }
+      break;
+    case BM_RESERVED0:
+    case BM_RESERVED1:
+      assert (0);
+      break;
+    }
+
+  int n = 1;
+  switch (mode)
+    {
+    case BM_REG_IMM:
+      operand_separator (info);
+      (*info->fprintf_func) (info->stream, "%s", registers[bm & 0x07].name);
+      break;
+    case BM_OPR_B:
+    case BM_OPR_W:
+    case BM_OPR_L:
+      opr_decode (memaddr + 1, info);
+      n = 1 + opr_n_bytes (memaddr + 1, info);
+      break;
+    case BM_OPR_REG:
+      opr_decode (memaddr + 1, info);
+      break;
+    case BM_RESERVED0:
+    case BM_RESERVED1:
+      assert (0);
+      break;
+    }
+
+
+  int imm = 0;
+  operand_separator (info);
+  switch (mode)
+    {
+    case BM_OPR_L:
+      imm |= (bm & 0x02) << 3;
+      /* fall through */
+    case BM_OPR_W:
+      imm |= (bm & 0x01) << 3;
+      /* fall through */
+    case BM_OPR_B:
+      imm |= (bm & 0x70) >> 4;
+      (*info->fprintf_func) (info->stream, "#%d", imm);
+      break;
+    case BM_REG_IMM:
+      imm = (bm & 0xF8) >> 3;
+      (*info->fprintf_func) (info->stream, "#%d", imm);
+      break;
+    case BM_RESERVED0:
+    case BM_RESERVED1:
+      assert (0);
+      break;
+    case BM_OPR_REG:
+      (*info->fprintf_func) (info->stream, "%s", registers[(bm & 0x70) >> 4].name);
+      n += opr_n_bytes (memaddr + 1, info);
+      break;
+    }
+
+  rel_15_7 (memaddr + n, info, n + 1);
+}
+
+static int
+bm_n_bytes (bfd_vma memaddr, struct disassemble_info* info)
+{
+  uint8_t bm;
+  int status = read_memory (memaddr, &bm, 1, info);
+  if (status < 0)
+    return status;
+
+  size_t i;
+  enum BM_MODE mode = -1;
+  for (i = 0; i < sizeof (bm_table) / sizeof (bm_table[0]); ++i)
+    {
+      const struct bm *bme = bm_table + i;
+      if ((bm & bme->mask) == bme->value)
+	{
+	  mode = bme->mode;
+	  break;
+	}
+    }
+
+  int n = 2;
+  switch (mode)
+    {
+    case BM_REG_IMM:
+      break;
+
+    case BM_OPR_B:
+    case BM_OPR_W:
+    case BM_OPR_L:
+      n += opr_n_bytes (memaddr + 1, info);
+      break;
+    case BM_OPR_REG:
+      n += opr_n_bytes (memaddr + 1, info);
+      break;
+    default:
+      break;
+  }
+
+  return n;
+}
+
+static int
+bm_rel_n_bytes (bfd_vma memaddr, struct disassemble_info* info)
+{
+  int n = 1 + bm_n_bytes (memaddr, info);
+
+  bfd_byte rb;
+  int status = read_memory (memaddr + n - 2, &rb, 1, info);
+  if (status != 0)
+    return status;
+
+  if (rb & 0x80)
+    n++;
+
+  return n;
+}
+
+
+
+
+
+/* shift direction */
+enum SB_DIR
+  {
+    SB_LEFT,
+    SB_RIGHT
+  };
+
+enum SB_TYPE
+  {
+    SB_ARITHMETIC,
+    SB_LOGICAL
+  };
+
+
+enum SB_MODE
+  {
+    SB_REG_REG_N_EFF,
+    SB_REG_REG_N,
+    SB_REG_OPR_EFF,
+    SB_ROT,
+    SB_REG_OPR_OPR,
+    SB_OPR_N
+  };
+
+struct sb
+{
+  uint8_t mask;
+  uint8_t value;
+  enum SB_MODE mode;
+};
+
+static const  struct sb sb_table[] = {
+  {0x30, 0x00,     SB_REG_REG_N_EFF},
+  {0x30, 0x10,     SB_REG_REG_N},
+  {0x34, 0x20,     SB_REG_OPR_EFF},
+  {0x34, 0x24,     SB_ROT},
+  {0x34, 0x30,     SB_REG_OPR_OPR},
+  {0x34, 0x34,     SB_OPR_N},
+};
+
+static int
+shift_n_bytes (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte sb;
+  int status = read_memory (memaddr++, &sb, 1, info);
+  if (status != 0)
+    return status;
+
+  size_t i;
+  enum SB_MODE mode = -1;
+  for (i = 0; i < sizeof (sb_table) / sizeof (sb_table[0]); ++i)
+    {
+      const struct sb *sbe = sb_table + i;
+      if ((sb & sbe->mask) == sbe->value)
+	mode = sbe->mode;
+    }
+
+  switch (mode)
+    {
+    case SB_REG_REG_N_EFF:
+      return 2;
+      break;
+    case SB_REG_OPR_EFF:
+    case SB_ROT:
+	return 2 + opr_n_bytes (memaddr, info);
+      break;
+    case SB_REG_OPR_OPR:
+      {
+	int opr1 = opr_n_bytes (memaddr, info);
+	int opr2 = 0;
+	if ((sb & 0x30) != 0x20)
+	  opr2 = opr_n_bytes (memaddr + opr1, info);
+	return 2 + opr1 + opr2;
+      }
+      break;
+    default:
+      return 3;
+    }
+
+  /* not reached */
+  return -1;
+}
+
+
+static int
+mov_imm_opr_n_bytes (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte byte;
+  int status = read_memory (memaddr - 1, &byte, 1, info);
+  if (status < 0)
+    return status;
+
+  int size = byte - 0x0c + 1;
+
+  return size + opr_n_bytes (memaddr + size, info) + 1;
+}
+
+static void
+mov_imm_opr (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte byte;
+  int status = read_memory (memaddr - 1, &byte, 1, info);
+  if (status < 0)
+    return ;
+
+  int size = byte - 0x0c + 1;
+  uint32_t imm = decode_signed_value (memaddr, info, size);
+
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "#%d", imm);
+  opr_decode (memaddr + size, info);
+}
+
+
+
+static void
+ld_18bit_decode (bfd_vma memaddr, struct disassemble_info* info)
+{
+  size_t size = 3;
+  bfd_byte buffer[3];
+  int status = read_memory (memaddr, buffer + 1, 2, info);
+  if (status < 0)
+    return ;
+
+
+  status = read_memory (memaddr - 1, buffer, 1, info);
+  if (status < 0)
+    return ;
+
+  buffer[0] = (buffer[0] & 0x30) >> 4;
+
+  size_t i;
+  uint32_t imm = 0;
+  for (i = 0; i < size; ++i)
+    {
+      imm |= buffer[i] << (8 * (size - i - 1));
+    }
+
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "#%d", imm);
+}
+
+
+
+/* Loop Primitives */
+
+enum LP_MODE {
+  LP_REG,
+  LP_XY,
+  LP_OPR
+};
+
+struct lp
+{
+  uint8_t mask;
+  uint8_t value;
+  enum LP_MODE mode;
+};
+
+static const struct lp lp_mode[] = {
+  {0x08, 0x00, LP_REG},
+  {0x0C, 0x08, LP_XY},
+  {0x0C, 0x0C, LP_OPR},
+};
+
+
+static const char *lb_condition[] =
+  {
+    "ne", "eq", "pl", "mi", "gt", "le",
+    "??", "??"
+  };
+
+static int
+loop_prim_n_bytes (bfd_vma memaddr, struct disassemble_info* info)
+{
+  int mx = 0;
+  uint8_t lb;
+  read_memory (memaddr + mx++, &lb, 1, info);
+
+  enum LP_MODE mode = -1;
+  size_t i;
+  for (i = 0; i < sizeof (lp_mode) / sizeof (lp_mode[0]); ++i)
+    {
+      const struct lp *pb = lp_mode + i;
+      if ((lb & pb->mask) == pb->value)
+	{
+	  mode = pb->mode;
+	  break;
+	}
+    }
+
+  if (mode == LP_OPR)
+    {
+      mx += opr_n_bytes (memaddr + mx, info) ;
+    }
+
+  uint8_t rb;
+  read_memory (memaddr + mx++, &rb, 1, info);
+  if (rb & 0x80)
+    mx++;
+
+  return mx + 1;
+}
+
+
+
+
+static int
+print_insn_exg_sex (bfd_vma memaddr, struct disassemble_info* info)
+{
+  uint8_t eb;
+  int status = read_memory (memaddr, &eb, 1, info);
+  if (status < 0)
+    return -1;
+
+  const struct reg *first =  &registers[(eb & 0xf0) >> 4];
+  const struct reg *second = &registers[(eb & 0xf)];
+
+  if (first->bytes < second->bytes)
+    (*info->fprintf_func) (info->stream, "sex");
+  else
+    (*info->fprintf_func) (info->stream, "exg");
+
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "%s", first->name);
+  operand_separator (info);
+  (*info->fprintf_func) (info->stream, "%s", second->name);
+  return 0;
+}
+
+
+
+static int
+print_insn_loop_primitive (bfd_vma memaddr, struct disassemble_info* info)
+{
+  int offs = 1;
+  uint8_t lb;
+  int status = read_memory (memaddr, &lb, 1, info);
+
+  char mnemonic[7];
+  int x = 0;
+  mnemonic[x++] = (lb & 0x80) ? 'd' : 't';
+  mnemonic[x++] = 'b';
+  stpcpy (mnemonic + x, lb_condition [(lb & 0x70) >> 4]);
+  x += 2;
+
+  const char *reg  = NULL;
+  enum LP_MODE mode = -1;
+  size_t i;
+  for (i = 0; i < sizeof (lp_mode) / sizeof (lp_mode[0]); ++i)
+    {
+      const struct lp *pb = lp_mode + i;
+      if ((lb & pb->mask) == pb->value)
+	{
+	  mode = pb->mode;
+	  break;
+	}
+    }
+
+  switch (mode)
+    {
+    case LP_REG:
+      reg = registers [lb & 0x07].name;
+      break;
+    case LP_XY:
+      reg = (lb & 0x1) ? "y" : "x";
+      break;
+    case LP_OPR:
+      mnemonic[x++] = '.';
+      mnemonic[x++] = shift_size_table [lb & 0x03];
+      offs += opr_n_bytes (memaddr + 1, info);
+      break;
+    }
+
+  mnemonic[x++] = '\0';
+
+  (*info->fprintf_func) (info->stream, "%s", mnemonic);
+
+  if (mode == LP_OPR)
+    opr_decode (memaddr + 1, info);
+  else
+    {
+      operand_separator (info);
+      (*info->fprintf_func) (info->stream, "%s", reg);
+    }
+
+  rel_15_7 (memaddr + offs, info, offs + 1);
+
+  return status;
+}
+
+
+static int
+print_insn_shift (bfd_vma memaddr, struct disassemble_info* info, uint8_t byte)
+{
+  size_t i;
+  uint8_t sb;
+  int status = read_memory (memaddr, &sb, 1, info);
+  if (status < 0)
+    return status;
+
+  enum SB_DIR  dir = (sb & 0x40) ? SB_LEFT : SB_RIGHT;
+  enum SB_TYPE type = (sb & 0x80) ? SB_ARITHMETIC : SB_LOGICAL;
+  enum SB_MODE mode = -1;
+  for (i = 0; i < sizeof (sb_table) / sizeof (sb_table[0]); ++i)
+    {
+      const struct sb *sbe = sb_table + i;
+      if ((sb & sbe->mask) == sbe->value)
+	mode = sbe->mode;
+    }
+
+  char mnemonic[6];
+  int x = 0;
+  if (mode == SB_ROT)
+    {
+      mnemonic[x++] = 'r';
+      mnemonic[x++] = 'o';
+    }
+  else
+    {
+      mnemonic[x++] = (type == SB_LOGICAL) ? 'l' : 'a';
+      mnemonic[x++] = 's';
+    }
+
+  mnemonic[x++] = (dir == SB_LEFT) ? 'l' : 'r';
+
+  switch (mode)
+    {
+    case SB_REG_OPR_EFF:
+    case SB_ROT:
+    case SB_REG_OPR_OPR:
+      mnemonic[x++] = '.';
+      mnemonic[x++] = shift_size_table[sb & 0x03];
+      break;
+    case SB_OPR_N:
+      {
+	uint8_t xb;
+	read_memory (memaddr + 1, &xb, 1, info);
+	/* The size suffix is not printed if the OPR operand refers
+	   directly to a register, because the size is implied by the
+	   size of that register. */
+	if ((xb & 0xF8) != 0xB8)
+	  {
+	    mnemonic[x++] = '.';
+	    mnemonic[x++] = shift_size_table[sb & 0x03];
+	  }
+      }
+      break;
+    default:
+      break;
+    };
+
+  mnemonic[x++] = '\0';
+
+  (*info->fprintf_func) (info->stream, "%s", mnemonic);
+
+  /* Destination register */
+  switch (mode)
+    {
+    case SB_REG_REG_N_EFF:
+    case SB_REG_REG_N:
+    case SB_REG_OPR_EFF:
+    case SB_REG_OPR_OPR:
+      operand_separator (info);
+      (*info->fprintf_func) (info->stream, "%s", registers[byte & 0x7].name);
+      break;
+
+    case SB_ROT:
+      opr_decode (memaddr + 1, info);
+      break;
+
+    default:
+      break;
+    }
+
+  /* Source register */
+  switch (mode)
+    {
+    case SB_REG_REG_N_EFF:
+    case SB_REG_REG_N:
+      operand_separator (info);
+      (*info->fprintf_func) (info->stream, "%s", registers[sb & 0x7].name);
+      break;
+
+    case SB_REG_OPR_OPR:
+      opr_decode (memaddr + 1, info);
+      break;
+
+    default:
+      break;
+    }
+
+  /* 3rd arg */
+  switch (mode)
+    {
+    case SB_REG_OPR_EFF:
+    case SB_OPR_N:
+      opr_decode (memaddr + 1, info);
+      break;
+
+    case SB_REG_REG_N:
+      if (sb & 0x08)
+	{
+	  operand_separator (info);
+	  if (byte & 0x10)
+	    {
+	      uint8_t xb;
+	      read_memory (memaddr + 1, &xb, 1, info);
+	      int shift = ((sb & 0x08) >> 3) | ((xb & 0x0f) << 1);
+	      (*info->fprintf_func) (info->stream, "#%d", shift);
+	    }
+	  else
+	    {
+	      (*info->fprintf_func) (info->stream, "%s:%d", __FILE__, __LINE__);
+	    }
+	}
+      else
+	{
+	  opr_decode (memaddr + 1, info);
+	}
+      break;
+    case SB_REG_OPR_OPR:
+      {
+      uint8_t xb;
+      int n = opr_n_bytes (memaddr + 1, info);
+      read_memory (memaddr + 1 + n, &xb, 1, info);
+
+      if ((xb & 0xF0) == 0x70)
+	{
+	  int imm = xb & 0x0F;
+	  imm <<= 1;
+	  imm |= (sb & 0x08) >> 3;
+	  operand_separator (info);
+	  (*info->fprintf_func) (info->stream, "#%d", imm);
+	}
+      else
+	{
+	  opr_decode (memaddr + 1 + n, info);
+	}
+      }
+      break;
+    default:
+      break;
+    }
+
+  switch (mode)
+    {
+    case SB_REG_REG_N_EFF:
+    case SB_REG_OPR_EFF:
+    case SB_OPR_N:
+      operand_separator (info);
+      (*info->fprintf_func) (info->stream, "#%d",
+			     (sb & 0x08) ? 2 : 1);
+      break;
+
+    default:
+      break;
+    }
+
+  return 0;
+}
+
+int
+print_insn_s12z (bfd_vma memaddr, struct disassemble_info* info)
+{
+  bfd_byte byte;
+  int status = read_memory (memaddr++, &byte, 1, info);
+  if (status != 0)
+    return status;
+
+  const struct opcode *opc2 = NULL;
+  const struct opcode *opc = page1 + byte;
+  if (opc->mnemonic)
+    {
+      (*info->fprintf_func) (info->stream, "%s", opc->mnemonic);
+    }
+  else
+    {
+      /* The special cases ... */
+      switch (byte)
+	{
+	case PAGE2_PREBYTE:
+	  {
+	    bfd_byte byte2;
+	    read_memory (memaddr++, &byte2, 1, info);
+	    opc2 = page2 + byte2;
+	    if (opc2->mnemonic)
+	      {
+		(*info->fprintf_func) (info->stream, "%s", opc2->mnemonic);
+
+		if (opc2->operands)
+		  {
+		    opc2->operands (memaddr, info);
+		  }
+
+		if (opc2->operands2)
+		  {
+		    opc2->operands2 (memaddr, info);
+		  }
+	      }
+	    else if (byte2 >= 0x08 && byte2 <= 0x1F)
+	      {
+		bfd_byte bb;
+		read_memory (memaddr, &bb, 1, info);
+		if (bb & 0x80)
+		  (*info->fprintf_func) (info->stream, "bfins");
+		else
+		  (*info->fprintf_func) (info->stream, "bfext");
+
+		enum BB_MODE mode = -1;
+		size_t i;
+		const struct opr_bb *bbs = 0;
+		for (i = 0; i < sizeof (bb_modes) / sizeof (bb_modes[0]); ++i)
+		  {
+		    bbs = bb_modes + i;
+		    if ((bb & bbs->mask) == bbs->value)
+		      {
+			mode = bbs->mode;
+			break;
+		      }
+		  }
+
+		switch (mode)
+		  {
+		  case BB_REG_OPR_REG:
+		  case BB_REG_OPR_IMM:
+		  case BB_OPR_REG_REG:
+		  case BB_OPR_REG_IMM:
+		    {
+		      int size = (bb >> 2) & 0x03;
+		      (*info->fprintf_func) (info->stream, ".%c",
+					     shift_size_table [size]);
+		    }
+		    break;
+		  default:
+		    break;
+		  }
+
+		int reg1 = byte2 & 0x07;
+		/* First operand */
+		switch (mode)
+		  {
+		  case BB_REG_REG_REG:
+		  case BB_REG_REG_IMM:
+		  case BB_REG_OPR_REG:
+		  case BB_REG_OPR_IMM:
+		    operand_separator (info);
+		    (*info->fprintf_func) (info->stream, "%s",
+					   registers[reg1].name);
+		    break;
+		  case BB_OPR_REG_REG:
+		    opr_decode (memaddr + 1, info);
+		    break;
+		  case BB_OPR_REG_IMM:
+		    opr_decode (memaddr + 2, info);
+		    break;
+		  }
+
+		/* Second operand */
+		switch (mode)
+		  {
+		  case BB_REG_REG_REG:
+		  case BB_REG_REG_IMM:
+		    {
+		      int reg_src = (bb >> 2) & 0x07;
+		      operand_separator (info);
+		      (*info->fprintf_func) (info->stream, "%s",
+					     registers[reg_src].name);
+		    }
+		    break;
+		  case BB_OPR_REG_REG:
+		  case BB_OPR_REG_IMM:
+		    {
+		      int reg_src = (byte2 & 0x07);
+		      operand_separator (info);
+		      (*info->fprintf_func) (info->stream, "%s",
+					     registers[reg_src].name);
+		    }
+		    break;
+		  case BB_REG_OPR_REG:
+		    opr_decode (memaddr + 1, info);
+		    break;
+		  case BB_REG_OPR_IMM:
+		    opr_decode (memaddr + 2, info);
+		    break;
+		  }
+
+		/* Third operand */
+		operand_separator (info);
+		switch (mode)
+		  {
+		  case BB_REG_REG_REG:
+		  case BB_OPR_REG_REG:
+		  case BB_REG_OPR_REG:
+		    {
+		      int reg_parm = bb & 0x03;
+		      (*info->fprintf_func) (info->stream, "%s",
+					     registers[reg_parm].name);
+		    }
+		    break;
+		  case BB_REG_REG_IMM:
+		  case BB_OPR_REG_IMM:
+		  case BB_REG_OPR_IMM:
+		    {
+		      bfd_byte i1;
+		      read_memory (memaddr + 1, &i1, 1, info);
+		      int offset = i1 & 0x1f;
+		      int width = bb & 0x03;
+		      width <<= 3;
+		      width |= i1 >> 5;
+		      (*info->fprintf_func) (info->stream, "#%d:%d", width,  offset);
+		    }
+		    break;
+		  }
+	      }
+	  }
+	  break;
+	case 0xae: /* EXG / SEX */
+	  status = print_insn_exg_sex (memaddr, info);
+	  break;
+	case 0x0b:  /* Loop Primitives TBcc and DBcc */
+	  status = print_insn_loop_primitive (memaddr, info);
+	  break;
+	case 0x10:  	    /* shift */
+	case 0x11:  	    /* shift */
+	case 0x12:  	    /* shift */
+	case 0x13:  	    /* shift */
+	case 0x14:  	    /* shift */
+	case 0x15:  	    /* shift */
+	case 0x16:  	    /* shift */
+	case 0x17:  	    /* shift */
+	  status = print_insn_shift (memaddr, info, byte);
+	  break;
+	case 0x04:  	    /* psh / pul */
+	  {
+	    read_memory (memaddr, &byte, 1, info);
+	    (*info->fprintf_func) (info->stream, (byte & 0x80) ? "pul" : "psh");
+	    int bit;
+	    if (byte & 0x40)
+	      {
+		if ((byte & 0x3F) == 0)
+		  {
+		    operand_separator (info);
+		    (*info->fprintf_func) (info->stream, "%s", "ALL16b");
+		  }
+		else
+		  for (bit = 5; bit >= 0; --bit)
+		    {
+		      if (byte & (0x1 << bit))
+			{
+			  operand_separator (info);
+			  (*info->fprintf_func) (info->stream, "%s", oprregs2[bit]);
+			}
+		    }
+	      }
+	    else
+	      {
+		if ((byte & 0x3F) == 0)
+		  {
+		    operand_separator (info);
+		    (*info->fprintf_func) (info->stream, "%s", "ALL");
+		  }
+		else
+		  for (bit = 5; bit >= 0; --bit)
+		    {
+		      if (byte & (0x1 << bit))
+			{
+			  operand_separator (info);
+			  (*info->fprintf_func) (info->stream, "%s", oprregs1[bit]);
+			}
+		    }
+	      }
+	  }
+	  break;
+	default:
+	  operand_separator (info);
+	  (*info->fprintf_func) (info->stream, "???");
+	  break;
+	}
+    }
+
+  if (opc2 == NULL)
+    {
+      if (opc->operands)
+	{
+	  opc->operands (memaddr, info);
+	}
+
+      if (opc->operands2)
+	{
+	  opc->operands2 (memaddr, info);
+	}
+    }
+
+  int n = 0;
+
+  /* Opcodes in page2 have an additional byte */
+  if (opc2)
+    n++;
+
+  if (opc2 && opc2->insn_bytes == 0)
+    return n;
+
+  if (!opc2 && opc->insn_bytes == 0)
+    return n;
+
+  if (opc2)
+    n += opc2->insn_bytes (memaddr, info);
+  else
+    n += opc->insn_bytes (memaddr, info);
+
+  return 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.1.0.20180703/opcodes/s12z.h ./opcodes/s12z.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/s12z.h	1970-01-01 00:00:00.000000000 +0000
+++ ./opcodes/s12z.h	2018-07-10 02:06:15.000000000 +0000
@@ -0,0 +1,71 @@
+#ifndef S12Z_H
+#define S12Z_H
+
+/* This byte is used to prefix instructions in "page 2" of the opcode
+   space */
+#define PAGE2_PREBYTE (0x1b)
+
+struct reg
+{
+  char      *name;   /* The canonical name of the register */
+  int       bytes;   /* its size, in bytes */
+};
+
+
+/* How many registers do we have.  Actually there are only 13,
+   because CCL and CCH are the low and high bytes of CCW.  But
+   for assemnbly / disassembly purposes they are considered
+   distinct registers. */
+#define S12Z_N_REGISTERS 15
+
+extern const struct reg registers[S12Z_N_REGISTERS];
+
+enum {
+    REG_D2 = 0,
+    REG_D3,
+    REG_D4,
+    REG_D5,
+    REG_D0,
+    REG_D1,
+    REG_D6,
+    REG_D7,
+    REG_X,
+    REG_Y,
+    REG_S,
+    REG_P,
+    REG_CCH,
+    REG_CCL,
+    REG_CCW
+  };
+
+/* Any of the registers d0, d1, ... d7 */
+#define REG_BIT_Dn \
+((0x1U << REG_D2) | \
+ (0x1U << REG_D3) | \
+ (0x1U << REG_D4) | \
+ (0x1U << REG_D5) | \
+ (0x1U << REG_D6) | \
+ (0x1U << REG_D7) | \
+ (0x1U << REG_D0) | \
+ (0x1U << REG_D1))
+
+/* Any of the registers x, y or z */
+#define REG_BIT_XYS \
+((0x1U << REG_X) | \
+ (0x1U << REG_Y) | \
+ (0x1U << REG_S))
+
+/* Any of the registers x, y, z or p */
+#define REG_BIT_XYSP \
+((0x1U << REG_X)  | \
+ (0x1U << REG_Y)  | \
+ (0x1U << REG_S)  | \
+ (0x1U << REG_P))
+
+/* The x register or the y register */
+#define REG_BIT_XY \
+((0x1U << REG_X) | \
+ (0x1U << REG_Y))
+
+
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/s390-dis.c ./opcodes/s390-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/s390-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/s390-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -72,7 +72,8 @@ disassemble_init_s390 (struct disassembl
       else if (CONST_STRNEQ (p, "insnlength"))
 	option_use_insn_len_bits_p = 1;
       else
-	fprintf (stderr, "Unknown S/390 disassembler option: %s\n", p);
+	/* xgettext:c-format */
+	opcodes_error_handler (_("unknown S/390 disassembler option: %s"), p);
 
       p = strchr (p, ',');
       if (p != NULL)
@@ -378,17 +379,23 @@ print_insn_s390 (bfd_vma memaddr, struct
   return 0;
 }
 
-const disasm_options_t *
+const disasm_options_and_args_t *
 disassembler_options_s390 (void)
 {
-  static disasm_options_t *opts = NULL;
+  static disasm_options_and_args_t *opts_and_args;
 
-  if (opts == NULL)
+  if (opts_and_args == NULL)
     {
       size_t i, num_options = ARRAY_SIZE (options);
-      opts = XNEW (disasm_options_t);
+      disasm_options_t *opts;
+
+      opts_and_args = XNEW (disasm_options_and_args_t);
+      opts_and_args->args = NULL;
+
+      opts = &opts_and_args->options;
       opts->name = XNEWVEC (const char *, num_options + 1);
       opts->description = XNEWVEC (const char *, num_options + 1);
+      opts->arg = NULL;
       for (i = 0; i < num_options; i++)
 	{
 	  opts->name[i] = options[i].name;
@@ -399,7 +406,7 @@ disassembler_options_s390 (void)
       opts->description[i] = NULL;
     }
 
-  return opts;
+  return opts_and_args;
 }
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/sh64-dis.c ./opcodes/sh64-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/sh64-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/sh64-dis.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,619 +0,0 @@
-/* Disassemble SH64 instructions.
-   Copyright (C) 2000-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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 file; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include <stdio.h>
-#include "disassemble.h"
-#include "sh64-opc.h"
-#include "libiberty.h"
-/* We need to refer to the ELF header structure.  */
-#include "elf-bfd.h"
-#include "elf/sh.h"
-#include "elf32-sh64.h"
-
-#define ELF_MODE32_CODE_LABEL_P(SYM) \
- (((elf_symbol_type *) (SYM))->internal_elf_sym.st_other & STO_SH5_ISA32)
-
-#define SAVED_MOVI_R(INFO) \
- (((struct sh64_disassemble_info *) ((INFO)->private_data))->address_reg)
-
-#define SAVED_MOVI_IMM(INFO) \
- (((struct sh64_disassemble_info *) ((INFO)->private_data))->built_address)
-
-struct sh64_disassemble_info
- {
-   /* When we see a MOVI, we save the register and the value, and merge a
-      subsequent SHORI and display the address, if there is one.  */
-   unsigned int address_reg;
-   bfd_signed_vma built_address;
-
-   /* This is the range decriptor for the current address.  It is kept
-      around for the next call.  */
-   sh64_elf_crange crange;
- };
-
-/* Each item in the table is a mask to indicate which bits to be set
-   to determine an instruction's operator.
-   The index is as same as the instruction in the opcode table.
-   Note that some archs have this as a field in the opcode table.  */
-static unsigned long *shmedia_opcode_mask_table;
-
-/* Initialize the SH64 opcode mask table for each instruction in SHmedia
-   mode.  */
-
-static void
-initialize_shmedia_opcode_mask_table (void)
-{
-  int n_opc;
-  int n;
-
-  /* Calculate number of opcodes.  */
-  for (n_opc = 0; shmedia_table[n_opc].name != NULL; n_opc++)
-    ;
-
-  shmedia_opcode_mask_table
-    = xmalloc (sizeof (shmedia_opcode_mask_table[0]) * n_opc);
-
-  for (n = 0; n < n_opc; n++)
-    {
-      int i;
-
-      unsigned long mask = 0;
-
-      for (i = 0; shmedia_table[n].arg[i] != A_NONE; i++)
-	{
-	  int offset = shmedia_table[n].nibbles[i];
-	  int length;
-
-	  switch (shmedia_table[n].arg[i])
-	    {
-	    case A_GREG_M:
-	    case A_GREG_N:
-	    case A_GREG_D:
-	    case A_CREG_K:
-	    case A_CREG_J:
-	    case A_FREG_G:
-	    case A_FREG_H:
-	    case A_FREG_F:
-	    case A_DREG_G:
-	    case A_DREG_H:
-	    case A_DREG_F:
-	    case A_FMREG_G:
-	    case A_FMREG_H:
-	    case A_FMREG_F:
-	    case A_FPREG_G:
-	    case A_FPREG_H:
-	    case A_FPREG_F:
-	    case A_FVREG_G:
-	    case A_FVREG_H:
-	    case A_FVREG_F:
-	    case A_REUSE_PREV:
-	      length = 6;
-	      break;
-
-	    case A_TREG_A:
-	    case A_TREG_B:
-	      length = 3;
-	      break;
-
-	    case A_IMMM:
-	      abort ();
-	      break;
-
-	    case A_IMMU5:
-	      length = 5;
-	      break;
-
-	    case A_IMMS6:
-	    case A_IMMU6:
-	    case A_IMMS6BY32:
-	      length = 6;
-	      break;
-
-	    case A_IMMS10:
-	    case A_IMMS10BY1:
-	    case A_IMMS10BY2:
-	    case A_IMMS10BY4:
-	    case A_IMMS10BY8:
-	      length = 10;
-	      break;
-
-	    case A_IMMU16:
-	    case A_IMMS16:
-	    case A_PCIMMS16BY4:
-	    case A_PCIMMS16BY4_PT:
-	      length = 16;
-	      break;
-
-	    default:
-	      abort ();
-	      length = 0;
-	      break;
-	    }
-
-	  if (length != 0)
-	    mask |= (0xffffffff >> (32 - length)) << offset;
-	}
-      shmedia_opcode_mask_table[n] = 0xffffffff & ~mask;
-    }
-}
-
-/* Get a predefined control-register-name, or return NULL.  */
-
-static const char *
-creg_name (int cregno)
-{
-  const shmedia_creg_info *cregp;
-
-  /* If control register usage is common enough, change this to search a
-     hash-table.  */
-  for (cregp = shmedia_creg_table; cregp->name != NULL; cregp++)
-    if (cregp->cregno == cregno)
-      return cregp->name;
-
-  return NULL;
-}
-
-/* Main function to disassemble SHmedia instructions.  */
-
-static int
-print_insn_shmedia (bfd_vma memaddr, struct disassemble_info *info)
-{
-  fprintf_ftype fprintf_fn = info->fprintf_func;
-  void *stream = info->stream;
-  unsigned char insn[4];
-  unsigned long instruction;
-  int status;
-  int n;
-  const shmedia_opcode_info *op;
-  int i;
-  unsigned int r = 0;
-  long imm = 0;
-  bfd_vma disp_pc_addr;
-
-  status = info->read_memory_func (memaddr, insn, 4, info);
-
-  /* If we can't read four bytes, something is wrong.  Display any data we
-     can get as .byte:s.  */
-  if (status != 0)
-    {
-      for (i = 0; i < 3; i++)
-	{
-	  status = info->read_memory_func (memaddr + i, insn, 1, info);
-	  if (status != 0)
-	    break;
-	  (*fprintf_fn) (stream, "%s0x%02x",
-			 i == 0 ? ".byte " : ", ",
-			 insn[0]);
-	}
-
-      return i ? i : -1;
-    }
-
-  /* Rearrange the bytes to make up an instruction.  */
-  if (info->endian == BFD_ENDIAN_LITTLE)
-    instruction = bfd_getl32 (insn);
-  else
-    instruction = bfd_getb32 (insn);
-
-  /* FIXME: Searching could be implemented using a hash on relevant
-     fields.  */
-  for (n = 0, op = shmedia_table;
-       op->name != NULL
-       && ((instruction & shmedia_opcode_mask_table[n]) != op->opcode_base);
-       n++, op++)
-    ;
-
-  /* FIXME: We should also check register number constraints.  */
-  if (op->name == NULL)
-    {
-      fprintf_fn (stream, ".long 0x%08lx", instruction);
-      return 4;
-    }
-
-  fprintf_fn (stream, "%s\t", op->name);
-
-  for (i = 0; i < 3 && op->arg[i] != A_NONE; i++)
-    {
-      unsigned long temp = instruction >> op->nibbles[i];
-      int by_number = 0;
-
-      if (i > 0 && op->arg[i] != A_REUSE_PREV)
-	fprintf_fn (stream, ",");
-
-      switch (op->arg[i])
-	{
-	case A_REUSE_PREV:
-	  continue;
-
-	case A_GREG_M:
-	case A_GREG_N:
-	case A_GREG_D:
-	  r = temp & 0x3f;
-	  fprintf_fn (stream, "r%d", r);
-	  break;
-
-	case A_FVREG_F:
-	case A_FVREG_G:
-	case A_FVREG_H:
-	  r = temp & 0x3f;
-	  fprintf_fn (stream, "fv%d", r);
-	  break;
-
-	case A_FPREG_F:
-	case A_FPREG_G:
-	case A_FPREG_H:
-	  r = temp & 0x3f;
-	  fprintf_fn (stream, "fp%d", r);
-	  break;
-
-	case A_FMREG_F:
-	case A_FMREG_G:
-	case A_FMREG_H:
-	  r = temp & 0x3f;
-	  fprintf_fn (stream, "mtrx%d", r);
-	  break;
-
-	case A_CREG_K:
-	case A_CREG_J:
-	  {
-	    const char *name;
-
-	    r = temp & 0x3f;
-
-	    name = creg_name (r);
-
-	    if (name != NULL)
-	      fprintf_fn (stream, "%s", name);
-	    else
-	      fprintf_fn (stream, "cr%d", r);
-	  }
-	  break;
-
-	case A_FREG_G:
-	case A_FREG_H:
-	case A_FREG_F:
-	  r = temp & 0x3f;
-	  fprintf_fn (stream, "fr%d", r);
-	  break;
-
-	case A_DREG_G:
-	case A_DREG_H:
-	case A_DREG_F:
-	  r = temp & 0x3f;
-	  fprintf_fn (stream, "dr%d", r);
-	  break;
-
-	case A_TREG_A:
-	case A_TREG_B:
-	  r = temp & 0x7;
-	  fprintf_fn (stream, "tr%d", r);
-	  break;
-
-	  /* A signed 6-bit number.  */
-	case A_IMMS6:
-	  imm = temp & 0x3f;
-	  if (imm & (unsigned long) 0x20)
-	    imm |= ~(unsigned long) 0x3f;
-	  fprintf_fn (stream, "%ld", imm);
-	  break;
-
-	  /* A signed 6-bit number, multiplied by 32 when used.  */
-	case A_IMMS6BY32:
-	  imm = temp & 0x3f;
-	  if (imm & (unsigned long) 0x20)
-	    imm |= ~(unsigned long) 0x3f;
-	  fprintf_fn (stream, "%ld", imm * 32);
-	  break;
-
-	  /* A signed 10-bit number, multiplied by 8 when used.  */
-	case A_IMMS10BY8:
-	  by_number++;
-	  /* Fall through.  */
-
-	  /* A signed 10-bit number, multiplied by 4 when used.  */
-	case A_IMMS10BY4:
-	  by_number++;
-	  /* Fall through.  */
-
-	  /* A signed 10-bit number, multiplied by 2 when used.  */
-	case A_IMMS10BY2:
-	  by_number++;
-	  /* Fall through.  */
-
-	  /* A signed 10-bit number.  */
-	case A_IMMS10:
-	case A_IMMS10BY1:
-	  imm = temp & 0x3ff;
-	  if (imm & (unsigned long) 0x200)
-	    imm |= ~(unsigned long) 0x3ff;
-	  imm <<= by_number;
-	  fprintf_fn (stream, "%ld", imm);
-	  break;
-
-	  /* A signed 16-bit number.  */
-	case A_IMMS16:
-	  imm = temp & 0xffff;
-	  if (imm & (unsigned long) 0x8000)
-	    imm |= ~((unsigned long) 0xffff);
-	  fprintf_fn (stream, "%ld", imm);
-	  break;
-
-	  /* A PC-relative signed 16-bit number, multiplied by 4 when
-	     used.  */
-	case A_PCIMMS16BY4:
-	  imm = temp & 0xffff;	/* 16 bits */
-	  if (imm & (unsigned long) 0x8000)
-	    imm |= ~(unsigned long) 0xffff;
-	  imm <<= 2;
-	  disp_pc_addr = (bfd_vma) imm + memaddr;
-	  (*info->print_address_func) (disp_pc_addr, info);
-	  break;
-
-	  /* An unsigned 5-bit number.  */
-	case A_IMMU5:
-	  imm = temp & 0x1f;
-	  fprintf_fn (stream, "%ld", imm);
-	  break;
-
-	  /* An unsigned 6-bit number.  */
-	case A_IMMU6:
-	  imm = temp & 0x3f;
-	  fprintf_fn (stream, "%ld", imm);
-	  break;
-
-	  /* An unsigned 16-bit number.  */
-	case A_IMMU16:
-	  imm = temp & 0xffff;
-	  fprintf_fn (stream, "%ld", imm);
-	  break;
-
-	default:
-	  abort ();
-	  break;
-	}
-    }
-
-  /* FIXME: Looks like 32-bit values only are handled.
-     FIXME: PC-relative numbers aren't handled correctly.  */
-  if (op->opcode_base == (unsigned long) SHMEDIA_SHORI_OPC
-      && SAVED_MOVI_R (info) == r)
-    {
-      asection *section = info->section;
-
-      /* Most callers do not set the section field correctly yet.  Revert
-	 to getting the section from symbols, if any. */
-      if (section == NULL
-	  && info->symbols != NULL
-	  && bfd_asymbol_flavour (info->symbols[0]) == bfd_target_elf_flavour
-	  && ! bfd_is_und_section (bfd_get_section (info->symbols[0]))
-	  && ! bfd_is_abs_section (bfd_get_section (info->symbols[0])))
-	section = bfd_get_section (info->symbols[0]);
-
-      /* Only guess addresses when the contents of this section is fully
-	 relocated.  Otherwise, the value will be zero or perhaps even
-	 bogus.  */
-      if (section == NULL
-	  || section->owner == NULL
-	  || elf_elfheader (section->owner)->e_type == ET_EXEC)
-	{
-	  bfd_signed_vma shori_addr;
-
-	  shori_addr = SAVED_MOVI_IMM (info) << 16;
-	  shori_addr |= imm;
-
-	  fprintf_fn (stream, "\t! 0x");
-	  (*info->print_address_func) (shori_addr, info);
-	}
-    }
-
-  if (op->opcode_base == SHMEDIA_MOVI_OPC)
-    {
-      SAVED_MOVI_IMM (info) = imm;
-      SAVED_MOVI_R (info) = r;
-    }
-  else
-    {
-      SAVED_MOVI_IMM (info) = 0;
-      SAVED_MOVI_R (info) = 255;
-    }
-
-  return 4;
-}
-
-/* Check the type of contents about to be disassembled.  This is like
-   sh64_get_contents_type (which may be called from here), except that it
-   takes the same arguments as print_insn_* and does what can be done if
-   no section is available.  */
-
-static enum sh64_elf_cr_type
-sh64_get_contents_type_disasm (bfd_vma memaddr, struct disassemble_info *info)
-{
-  struct sh64_disassemble_info *sh64_infop = info->private_data;
-
-  /* Perhaps we have a region from a previous probe and it still counts
-     for this address?  */
-  if (sh64_infop->crange.cr_type != CRT_NONE
-      && memaddr >= sh64_infop->crange.cr_addr
-      && memaddr < sh64_infop->crange.cr_addr + sh64_infop->crange.cr_size)
-    return sh64_infop->crange.cr_type;
-
-  /* If we have a section, try and use it.  */
-  if (info->section
-      && bfd_get_flavour (info->section->owner) == bfd_target_elf_flavour)
-    {
-      enum sh64_elf_cr_type cr_type
-	= sh64_get_contents_type (info->section, memaddr,
-				  &sh64_infop->crange);
-
-      if (cr_type != CRT_NONE)
-	return cr_type;
-    }
-
-  /* If we have symbols, we can try and get at a section from *that*.  */
-  if (info->symbols != NULL
-      && bfd_asymbol_flavour (info->symbols[0]) == bfd_target_elf_flavour
-      && ! bfd_is_und_section (bfd_get_section (info->symbols[0]))
-      && ! bfd_is_abs_section (bfd_get_section (info->symbols[0])))
-    {
-      enum sh64_elf_cr_type cr_type
-	= sh64_get_contents_type (bfd_get_section (info->symbols[0]),
-				  memaddr, &sh64_infop->crange);
-
-      if (cr_type != CRT_NONE)
-	return cr_type;
-    }
-
-  /* We can make a reasonable guess based on the st_other field of a
-     symbol; for a BranchTarget this is marked as STO_SH5_ISA32 and then
-     it's most probably code there.  */
-  if (info->symbols
-      && bfd_asymbol_flavour (info->symbols[0]) == bfd_target_elf_flavour
-      && elf_symbol_from (bfd_asymbol_bfd (info->symbols[0]),
-			  info->symbols[0])->internal_elf_sym.st_other
-      == STO_SH5_ISA32)
-    return CRT_SH5_ISA32;
-
-  /* If all else fails, guess this is code and guess on the low bit set.  */
-  return (memaddr & 1) == 1 ? CRT_SH5_ISA32 : CRT_SH5_ISA16;
-}
-
-/* Initialize static and dynamic disassembly state.  */
-
-static bfd_boolean
-init_sh64_disasm_info (struct disassemble_info *info)
-{
-  struct sh64_disassemble_info *sh64_infop
-    = calloc (sizeof (*sh64_infop), 1);
-
-  if (sh64_infop == NULL)
-    return FALSE;
-
-  info->private_data = sh64_infop;
-
-  SAVED_MOVI_IMM (info) = 0;
-  SAVED_MOVI_R (info) = 255;
-
-  if (shmedia_opcode_mask_table == NULL)
-    initialize_shmedia_opcode_mask_table ();
-
-  return TRUE;
-}
-
-/* Main entry to disassemble SHmedia instructions, given an endian set in
-   INFO.  Note that the simulator uses this as the main entry and does not
-   use any of the functions further below.  */
-
-int
-print_insn_sh64x_media (bfd_vma memaddr, struct disassemble_info *info)
-{
-  if (info->private_data == NULL && ! init_sh64_disasm_info (info))
-    return -1;
-
-  /* Make reasonable output.  */
-  info->bytes_per_line = 4;
-  info->bytes_per_chunk = 4;
-
-  return print_insn_shmedia (memaddr, info);
-}
-
-/* Main entry to disassemble SHmedia insns.
-   If we see an SHcompact instruction, return -2.  */
-
-int
-print_insn_sh64 (bfd_vma memaddr, struct disassemble_info *info)
-{
-  enum bfd_endian endian = info->endian;
-  enum sh64_elf_cr_type cr_type;
-
-  if (info->private_data == NULL && ! init_sh64_disasm_info (info))
-    return -1;
-
-  cr_type = sh64_get_contents_type_disasm (memaddr, info);
-  if (cr_type != CRT_SH5_ISA16)
-    {
-      int length = 4 - (memaddr % 4);
-      info->display_endian = endian;
-
-      /* If we got an uneven address to indicate SHmedia, adjust it.  */
-      if (cr_type == CRT_SH5_ISA32 && length == 3)
-	memaddr--, length = 4;
-
-      /* Only disassemble on four-byte boundaries.  Addresses that are not
-	 a multiple of four can happen after a data region.  */
-      if (cr_type == CRT_SH5_ISA32 && length == 4)
-	return print_insn_sh64x_media (memaddr, info);
-
-      /* We get CRT_DATA *only* for data regions in a mixed-contents
-	 section.  For sections with data only, we get indication of one
-	 of the ISA:s.  You may think that we shouldn't disassemble
-	 section with only data if we can figure that out.  However, the
-	 disassembly function is by default not called for data-only
-	 sections, so if the user explicitly specified disassembly of a
-	 data section, that's what we should do.  */
-      if (cr_type == CRT_DATA || length != 4)
-	{
-	  int status;
-	  unsigned char data[4];
-	  struct sh64_disassemble_info *sh64_infop = info->private_data;
-
-	  if (length == 4
-	      && sh64_infop->crange.cr_type != CRT_NONE
-	      && memaddr >= sh64_infop->crange.cr_addr
-	      && memaddr < (sh64_infop->crange.cr_addr
-			    + sh64_infop->crange.cr_size))
-	    length
-	      = (sh64_infop->crange.cr_addr
-		 + sh64_infop->crange.cr_size - memaddr);
-
-	  status
-	    = (*info->read_memory_func) (memaddr, data,
-					 length >= 4 ? 4 : length, info);
-
-	  if (status == 0 && length >= 4)
-	    {
-	      (*info->fprintf_func) (info->stream, ".long 0x%08lx",
-				     endian == BFD_ENDIAN_BIG
-				     ? (long) (bfd_getb32 (data))
-				     : (long) (bfd_getl32 (data)));
-	      return 4;
-	    }
-	  else
-	    {
-	      int i;
-
-	      for (i = 0; i < length; i++)
-		{
-		  status = info->read_memory_func (memaddr + i, data, 1, info);
-		  if (status != 0)
-		    break;
-		  (*info->fprintf_func) (info->stream, "%s0x%02x",
-					 i == 0 ? ".byte " : ", ",
-					 data[0]);
-		}
-
-	      return i ? i : -1;
-	    }
-	}
-    }
-
-  /* SH1 .. SH4 instruction, let caller handle it.  */
-  return -2;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/sh64-opc.c ./opcodes/sh64-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/sh64-opc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/sh64-opc.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,777 +0,0 @@
-/* Definitions for SH64 opcodes.
-   Copyright (C) 2000-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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 file; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sh64-opc.h"
-#include <stdio.h>
-
-/* Users currently assume that no mnemonic appears twice.  For
-   disassembly, the first complete match is displayed.  */
-const shmedia_opcode_info shmedia_table[] = {
-
-/* 000000mmmmmm1001nnnnnndddddd0000  add <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "add",	    {A_GREG_M,A_GREG_N,A_GREG_D},
-      {OFFSET_20,OFFSET_10,OFFSET_4}, SHMEDIA_ADD_OPC
-    },
-/* 000000mmmmmm1000nnnnnndddddd0000  add.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "add.l",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x00080000
-    },
-/* 110100mmmmmmssssssssssdddddd0000  addi <A_GREG_M>,<A_IMMS10>,<A_GREG_D>  */
-    { "addi",	    {A_GREG_M,A_IMMS10BY1,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4},
-      SHMEDIA_ADDI_OPC
-    },
-/* 110101mmmmmmssssssssssdddddd0000  addi.l <A_GREG_M>,<A_IMMS10>,<A_GREG_D>  */
-    { "addi.l",	    {A_GREG_M,A_IMMS10BY1,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0xd4000000
-    },
-/* 000000mmmmmm1100nnnnnndddddd0000  addz.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "addz.l",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x000c0000
-    },
-/* 111000mmmmmm0100ssssss1111110000  alloco <A_GREG_M>,<A_IMMS6BY32>  */
-    { "alloco",	    {A_GREG_M,A_IMMS6BY32},	      {OFFSET_20,OFFSET_10},	      0xe00403f0
-    },
-/* 000001mmmmmm1011nnnnnndddddd0000  and <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "and",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x040b0000
-    },
-/* 000001mmmmmm1111nnnnnndddddd0000  andc <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "andc",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x040f0000
-    },
-/* 110110mmmmmmssssssssssdddddd0000  andi <A_GREG_M>,<A_IMMS10>,<A_GREG_D>  */
-    { "andi",	    {A_GREG_M,A_IMMS10,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0xd8000000
-    },
-/* 011001mmmmmm0001nnnnnnl00ccc0000  beq <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "beq/l",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64010200
-    },
-/* 011001mmmmmm0001nnnnnnl00ccc0000  beq <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "beq",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64010200
-    },
-/* 011001mmmmmm0001nnnnnn000ccc0000  beq/u <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "beq/u",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64010000
-    },
-/* 111001mmmmmm0001ssssssl00ccc0000  beqi <A_GREG_M>,<A_IMMS6>,<A_TREG_A>  */
-    { "beqi/l",	    {A_GREG_M,A_IMMS6,A_TREG_A},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xe4010200
-    },
-/* 111001mmmmmm0001ssssssl00ccc0000  beqi <A_GREG_M>,<A_IMMS6>,<A_TREG_A>  */
-    { "beqi",	    {A_GREG_M,A_IMMS6,A_TREG_A},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xe4010200
-    },
-/* 111001mmmmmm0001ssssss000ccc0000  beqi/u <A_GREG_M>,<A_IMMS6>,<A_TREG_A>  */
-    { "beqi/u",     {A_GREG_M,A_IMMS6,A_TREG_A},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xe4010000
-    },
-/* 011001mmmmmm0011nnnnnnl00ccc0000  bge <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bge/l",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64030200
-    },
-/* 011001mmmmmm0011nnnnnnl00ccc0000  bge <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bge",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64030200
-    },
-/* 011001mmmmmm0011nnnnnn000ccc0000  bge/u <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bge/u",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64030000
-    },
-/* 011001mmmmmm1011nnnnnnl00ccc0000  bgeu <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bgeu/l",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x640b0200
-    },
-/* 011001mmmmmm1011nnnnnnl00ccc0000  bgeu <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bgeu",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x640b0200
-    },
-/* 011001mmmmmm1011nnnnnn000ccc0000  bgeu/u <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bgeu/u",     {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x640b0000
-    },
-/* 011001mmmmmm0111nnnnnnl00ccc0000  bgt <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bgt/l",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64070200
-    },
-/* 011001mmmmmm0111nnnnnnl00ccc0000  bgt <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bgt",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64070200
-    },
-/* 011001mmmmmm0111nnnnnn000ccc0000  bgt/u <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bgt/u",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64070000
-    },
-/* 011001mmmmmm1111nnnnnnl00ccc0000  bgtu <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bgtu/l",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x640f0200
-    },
-/* 011001mmmmmm1111nnnnnnl00ccc0000  bgtu <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bgtu",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x640f0200
-    },
-/* 011001mmmmmm1111nnnnnn000ccc0000  bgtu/u <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bgtu/u",     {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x640f0000
-    },
-/* 010001000bbb0001111111dddddd0000  blink <A_TREG_B>,<A_GREG_D>  */
-    { "blink",	    {A_TREG_B,A_GREG_D},	      {OFFSET_20,OFFSET_4},	      0x4401fc00
-    },
-/* 011001mmmmmm0101nnnnnnl00ccc0000  bne <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bne/l",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64050200
-    },
-/* 011001mmmmmm0101nnnnnnl00ccc0000  bne <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bne",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64050200
-    },
-/* 011001mmmmmm0101nnnnnn000ccc0000  bne/u <A_GREG_M>,<A_GREG_N>,<A_TREG_A>  */
-    { "bne/u",	    {A_GREG_M,A_GREG_N,A_TREG_A},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x64050000
-    },
-/* 111001mmmmmm0101ssssssl00ccc0000  bnei <A_GREG_M>,<A_IMMS6>,<A_TREG_A>  */
-    { "bnei/l",	    {A_GREG_M,A_IMMS6,A_TREG_A},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xe4050200
-    },
-/* 111001mmmmmm0101ssssssl00ccc0000  bnei <A_GREG_M>,<A_IMMS6>,<A_TREG_A>  */
-    { "bnei",	    {A_GREG_M,A_IMMS6,A_TREG_A},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xe4050200
-    },
-/* 111001mmmmmm0101ssssss000ccc0000  bnei/u <A_GREG_M>,<A_IMMS6>,<A_TREG_A>  */
-    { "bnei/u",	    {A_GREG_M,A_IMMS6,A_TREG_A},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xe4050000
-    },
-/* 01101111111101011111111111110000  brk  */
-    { "brk",	    {A_NONE},			      {OFFSET_NONE},		      0x6ff5fff0
-    },
-/* 000000mmmmmm1111111111dddddd0000  byterev <A_GREG_M>,<A_GREG_D>  */
-    { "byterev",    {A_GREG_M,A_GREG_D},	      {OFFSET_20,OFFSET_4},	      0x000ffc00
-    },
-/* 000000mmmmmm0001nnnnnndddddd0000  cmpeq <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "cmpeq",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x00010000
-    },
-/* 000000mmmmmm0011nnnnnndddddd0000  cmpgt <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "cmpgt",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x00030000
-    },
-/* 000000mmmmmm0111nnnnnndddddd0000  cmpgtu <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "cmpgtu",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x00070000
-    },
-/* 001000mmmmmm0001nnnnnnwwwwww0000  cmveq <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "cmveq",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x20010000
-    },
-/* 001000mmmmmm0101nnnnnnwwwwww0000  cmvne <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "cmvne",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x20050000
-    },
-/* 000110gggggg0001ggggggffffff0000  fabs.d <A_DREG_G>,<A_DREG_F>  */
-    { "fabs.d",	    {A_DREG_G,A_REUSE_PREV,A_DREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x18010000
-    },
-/* 000110gggggg0000ggggggffffff0000  fabs.s <A_FREG_G>,<A_FREG_F>  */
-    { "fabs.s",	    {A_FREG_G,A_REUSE_PREV,A_FREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x18000000
-    },
-/* 001101gggggg0001hhhhhhffffff0000  fadd.s <A_DREG_G>,<A_DREG_H>,<A_DREG_F>  */
-    { "fadd.d",	    {A_DREG_G,A_DREG_H,A_DREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x34010000
-    },
-/* 001101gggggg0000hhhhhhffffff0000  fadd.s <A_FREG_G>,<A_FREG_H>,<A_FREG_F>  */
-    { "fadd.s",	    {A_FREG_G,A_FREG_H,A_FREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x34000000
-    },
-/* 001100gggggg1001hhhhhhdddddd0000  fcmpeq.s <A_DREG_G>,<A_DREG_H>,<A_GREG_D>  */
-    { "fcmpeq.d",   {A_DREG_G,A_DREG_H,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x30090000
-    },
-/* 001100gggggg1000hhhhhhdddddd0000  fcmpeq.s <A_FREG_G>,<A_FREG_H>,<A_GREG_D>  */
-    { "fcmpeq.s",   {A_FREG_G,A_FREG_H,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x30080000
-    },
-/* 001100gggggg1111hhhhhhdddddd0000  fcmpge.d <A_DREG_G>,<A_DREG_H>,<A_GREG_D>  */
-    { "fcmpge.d",   {A_DREG_G,A_DREG_H,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x300f0000
-    },
-/* 001100gggggg1110hhhhhhdddddd0000  fcmpge.s <A_FREG_G>,<A_FREG_H>,<A_GREG_D>  */
-    { "fcmpge.s",   {A_FREG_G,A_FREG_H,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x300e0000
-    },
-/* 001100gggggg1101hhhhhhdddddd0000  fcmpgt.d <A_DREG_G>,<A_DREG_H>,<A_GREG_D>  */
-    { "fcmpgt.d",   {A_DREG_G,A_DREG_H,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x300d0000
-    },
-/* 001100gggggg1100hhhhhhdddddd0000  fcmpgt.s <A_FREG_G>,<A_FREG_H>,<A_GREG_D>  */
-    { "fcmpgt.s",   {A_FREG_G,A_FREG_H,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x300c0000
-    },
-/* 001100gggggg1011hhhhhhdddddd0000  fcmpun.d <A_DREG_G>,<A_DREG_H>,<A_GREG_D>  */
-    { "fcmpun.d",   {A_DREG_G,A_DREG_H,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x300b0000
-    },
-/* 001100gggggg1010hhhhhhdddddd0000  fcmpun.s <A_FREG_G>,<A_FREG_H>,<A_GREG_D>  */
-    { "fcmpun.s",   {A_FREG_G,A_FREG_H,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x300a0000
-    },
-/* 001110gggggg0111ggggggffffff0000  fcnv.ds <A_DREG_G>,<A_FREG_F>  */
-    { "fcnv.ds",    {A_DREG_G,A_REUSE_PREV,A_FREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x38070000
-    },
-/* 001110gggggg0110ggggggffffff0000  fcnv.sd <A_FREG_G>,<A_DREG_F>  */
-    { "fcnv.sd",    {A_FREG_G,A_REUSE_PREV,A_DREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x38060000
-    },
-/* 001101gggggg0101hhhhhhffffff0000  fdiv.d <A_DREG_G>,<A_DREG_H>,<A_DREG_F>  */
-    { "fdiv.d",	    {A_DREG_G,A_DREG_H,A_DREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x34050000
-    },
-/* 001101gggggg0100hhhhhhffffff0000  fdiv.s <A_FREG_G>,<A_FREG_H>,<A_FREG_F>  */
-    { "fdiv.s",	    {A_FREG_G,A_FREG_H,A_FREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x34040000
-    },
-/* 0001111111110010111111ffffff0000  fgetscr <A_FREG_F>  */
-    { "fgetscr",    {A_FREG_F},			      {OFFSET_4}, 0x1ff2fc00
-    },
-/* 000101gggggg0110hhhhhhffffff0000  fipr.s <A_FVREG_G>,<A_FVREG_H>,<A_FREG_F>  */
-    { "fipr.s",	    {A_FVREG_G,A_FVREG_H,A_FREG_F},   {OFFSET_20,OFFSET_10,OFFSET_4}, 0x14060000
-    },
-/* 100111mmmmmmssssssssssffffff0000  fld.d <A_GREG_M>,<A_IMMS10BY8>,<A_DREG_F>  */
-    { "fld.d",	    {A_GREG_M,A_IMMS10BY8,A_DREG_F},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0x9c000000
-    },
-/* 100110mmmmmmssssssssssffffff0000  fld.p <A_GREG_M>,<A_IMMS10BY8>,<A_FPREG_F>  */
-    { "fld.p",	    {A_GREG_M,A_IMMS10BY8,A_FPREG_F},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0x98000000
-    },
-/* 100101mmmmmmssssssssssffffff0000  fld.s <A_GREG_M>,<A_IMMS10BY4>,<A_FREG_F>  */
-    { "fld.s",	    {A_GREG_M,A_IMMS10BY4,A_FREG_F},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0x94000000
-    },
-/* 000111mmmmmm1001nnnnnnffffff0000  fldx.d <A_GREG_M>,<A_GREG_N>,<A_DREG_F>  */
-    { "fldx.d",	    {A_GREG_M,A_GREG_N,A_DREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x1c090000
-    },
-/* 000111mmmmmm1101nnnnnnffffff0000  fldx.p <A_GREG_M>,<A_GREG_N>,<A_FPREG_F>  */
-    { "fldx.p",	    {A_GREG_M,A_GREG_N,A_FPREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x1c0d0000
-    },
-/* 000111mmmmmm1000nnnnnnffffff0000  fldx.s <A_GREG_M>,<A_GREG_N>,<A_FREG_F>  */
-    { "fldx.s",	    {A_GREG_M,A_GREG_N,A_FREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x1c080000
-    },
-/* 001110gggggg1110ggggggffffff0000  float.ld <A_FREG_G>,<A_DREG_F>  */
-    { "float.ld",   {A_FREG_G,A_REUSE_PREV,A_DREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x380e0000
-    },
-/* 001110gggggg1100ggggggffffff0000  float.ls <A_FREG_G>,<A_FREG_F>  */
-    { "float.ls",   {A_FREG_G,A_REUSE_PREV,A_FREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x380c0000
-    },
-/* 001110gggggg1101ggggggffffff0000  float.qd <A_DREG_G>,<A_DREG_F>  */
-    { "float.qd",   {A_DREG_G,A_REUSE_PREV,A_DREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x380d0000
-    },
-/* 001110gggggg1111ggggggffffff0000  float.qs <A_DREG_G>,<A_FREG_F>  */
-    { "float.qs",   {A_DREG_G,A_REUSE_PREV,A_FREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x380f0000
-    },
-/* 001101gggggg1110hhhhhhqqqqqq0000  fmac.s <A_FREG_G>,<A_FREG_H>,<A_FREG_F>  */
-    { "fmac.s",	    {A_FREG_G,A_FREG_H,A_FREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x340e0000
-    },
-/* 001110gggggg0001ggggggffffff0000  fmov.d <A_DREG_G>,<A_DREG_F>  */
-    { "fmov.d",	    {A_DREG_G,A_REUSE_PREV,A_DREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x38010000
-    },
-/* 001100gggggg0001ggggggdddddd0000  fmov.dq <A_DREG_G>,<A_GREG_D>  */
-    { "fmov.dq",    {A_DREG_G,A_REUSE_PREV,A_GREG_D},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x30010000
-    },
-/* 000111mmmmmm0000111111ffffff0000  fmov.ls <A_GREG_M>,<A_FREG_F>  */
-    { "fmov.ls",    {A_GREG_M,A_FREG_F},	      {OFFSET_20,OFFSET_4},	      0x1c00fc00
-    },
-/* 000111mmmmmm0001111111ffffff0000  fmov.qd <A_GREG_M>,<A_DREG_F>  */
-    { "fmov.qd",    {A_GREG_M,A_DREG_F},	      {OFFSET_20,OFFSET_4},	      0x1c01fc00
-    },
-/* 001110gggggg0000ggggggffffff0000  fmov.s <A_FREG_G>,<A_FREG_F>  */
-    { "fmov.s",	    {A_FREG_G,A_REUSE_PREV,A_FREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x38000000
-    },
-/* 001100gggggg0000ggggggdddddd0000  fmov.sl <A_FREG_G>,<A_GREG_D>  */
-    { "fmov.sl",    {A_FREG_G,A_REUSE_PREV,A_GREG_D},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x30000000
-    },
-/* 001101gggggg0111hhhhhhffffff0000  fmul.d <A_DREG_G>,<A_DREG_H>,<A_DREG_F>  */
-    { "fmul.d",	    {A_DREG_G,A_DREG_H,A_DREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x34070000
-    },
-/* 001101gggggg0110hhhhhhffffff0000  fmul.s <A_FREG_G>,<A_FREG_H>,<A_FREG_F>  */
-    { "fmul.s",	    {A_FREG_G,A_FREG_H,A_FREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x34060000
-    },
-/* 000110gggggg0011ggggggffffff0000  fneg.d <A_DREG_G>,<A_DREG_F>  */
-    { "fneg.d",	    {A_DREG_G,A_REUSE_PREV,A_DREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x18030000
-    },
-/* 000110gggggg0010ggggggffffff0000  fneg.s <A_FREG_G>,<A_FREG_F>  */
-    { "fneg.s",	    {A_FREG_G,A_REUSE_PREV,A_FREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x18020000
-    },
-/* 001100gggggg0010gggggg1111110000  fputscr <A_FREG_G>  */
-    { "fputscr",    {A_FREG_G,A_REUSE_PREV},	      {OFFSET_20,OFFSET_10},	      0x300203f0
-    },
-/* 001110gggggg0101ggggggffffff0000  fsqrt.d <A_DREG_G>,<A_DREG_F>  */
-    { "fsqrt.d",    {A_DREG_G,A_REUSE_PREV,A_DREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x38050000
-    },
-/* 001110gggggg0100ggggggffffff0000  fsqrt.s <A_FREG_G>,<A_FREG_F>  */
-    { "fsqrt.s",    {A_FREG_G,A_REUSE_PREV,A_FREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x38040000
-    },
-/* 101111mmmmmmsssssssssszzzzzz0000  fst.d <A_GREG_M>,<A_IMMS10BY8>,<A_DREG_F>  */
-    { "fst.d",	    {A_GREG_M,A_IMMS10BY8,A_DREG_F},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0xbc000000
-    },
-/* 101110mmmmmmsssssssssszzzzzz0000  fst.p <A_GREG_M>,<A_IMMS10BY8>,<A_FPREG_F>  */
-    { "fst.p",	    {A_GREG_M,A_IMMS10BY8,A_FPREG_F},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0xb8000000
-    },
-/* 101101mmmmmmsssssssssszzzzzz0000  fst.s <A_GREG_M>,<A_IMMS10BY4>,<A_FREG_F>  */
-    { "fst.s",	    {A_GREG_M,A_IMMS10BY4,A_FREG_F},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0xb4000000
-    },
-/* 001111mmmmmm1001nnnnnnzzzzzz0000  fstx.d <A_GREG_M>,<A_GREG_N>,<A_DREG_F>  */
-    { "fstx.d",	    {A_GREG_M,A_GREG_N,A_DREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x3c090000
-    },
-/* 001111mmmmmm1101nnnnnnzzzzzz0000  fstx.p <A_GREG_M>,<A_GREG_N>,<A_FPREG_F>  */
-    { "fstx.p",	    {A_GREG_M,A_GREG_N,A_FPREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x3c0d0000
-    },
-/* 001111mmmmmm1000nnnnnnzzzzzz0000  fstx.s <A_GREG_M>,<A_GREG_N>,<A_FREG_F>  */
-    { "fstx.s",	    {A_GREG_M,A_GREG_N,A_FREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x3c080000
-    },
-/* 001101gggggg0011hhhhhhffffff0000  fsub.d <A_DREG_G>,<A_DREG_H>,<A_DREG_F>  */
-    { "fsub.d",	    {A_DREG_G,A_DREG_H,A_DREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x34030000
-    },
-/* 001101gggggg0010hhhhhhffffff0000  fsub.s <A_FREG_G>,<A_FREG_H>,<A_FREG_F>  */
-    { "fsub.s",	    {A_FREG_G,A_FREG_H,A_FREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x34020000
-    },
-/* 001110gggggg1011ggggggffffff0000  ftrc.dl <A_DREG_G>,<A_FREG_F>  */
-    { "ftrc.dl",    {A_DREG_G,A_REUSE_PREV,A_FREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x380b0000
-    },
-/* 001110gggggg1001ggggggffffff0000  ftrc.dq <A_DREG_G>,<A_DREG_F>  */
-    { "ftrc.dq",    {A_DREG_G,A_REUSE_PREV,A_DREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x38090000
-    },
-/* 001110gggggg1000ggggggffffff0000  ftrc.sl <A_FREG_G>,<A_FREG_F>  */
-    { "ftrc.sl",    {A_FREG_G,A_REUSE_PREV,A_FREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x38080000
-    },
-/* 001110gggggg1010ggggggffffff0000  ftrc.sq <A_FREG_G>,<A_DREG_F>  */
-    { "ftrc.sq",    {A_FREG_G,A_REUSE_PREV,A_DREG_F},    {OFFSET_20,OFFSET_10,OFFSET_4}, 0x380a0000
-    },
-/* 000101gggggg1110hhhhhhffffff0000  ftrv.s <A_FMREG_G>,<A_FVREG_H>,<A_FVREG_F>  */
-    { "ftrv.s",	    {A_FMREG_G,A_FVREG_H,A_FVREG_F},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x140e0000
-    },
-/* 110000mmmmmm1111ssssssdddddd0000  getcfg <A_GREG_M>,<A_IMMS6>,<A_GREG_D>  */
-    { "getcfg",	    {A_GREG_M,A_IMMS6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc00f0000
-    },
-/* 001001kkkkkk1111111111dddddd0000  getcon <A_CREG_K>,<A_GREG_M>  */
-    { "getcon",	    {A_CREG_K,A_GREG_D},	      {OFFSET_20,OFFSET_4},	      0x240ffc00
-    },
-/* 010001rrrbbb0101111111dddddd0000  gettr <A_TREG_A>,<A_GREG_D>  */
-    { "gettr",	    {A_TREG_B,A_GREG_D},	      {OFFSET_20,OFFSET_4},	      0x4405fc00
-    },
-/* 111000mmmmmm0101ssssss1111110000  icbi <A_GREG_M>,<A_IMMS6BY32>  */
-    { "icbi",	    {A_GREG_M,A_IMMS6BY32},	      {OFFSET_20,OFFSET_10},	      0xe00503f0
-    },
-/* 100000mmmmmmssssssssssdddddd0000  ld.b <A_GREG_M>,<A_IMMS10BY1>,<A_GREG_D>  */
-    { "ld.b",	    {A_GREG_M,A_IMMS10BY1,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0x80000000
-    },
-/* 100010mmmmmmssssssssssdddddd0000  ld.l <A_GREG_M>,<A_IMMS10BY4>,<A_GREG_D>  */
-    { "ld.l",	    {A_GREG_M,A_IMMS10BY4,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0x88000000
-    },
-/* 100011mmmmmmssssssssssdddddd0000  ld.q <A_GREG_M>,<A_IMMS10BY8>,<A_GREG_D>  */
-    { "ld.q",	    {A_GREG_M,A_IMMS10BY8,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0x8c000000
-    },
-/* 100100mmmmmmssssssssssdddddd0000  ld.ub <A_GREG_M>,<A_IMMS10BY1>,<A_GREG_D>  */
-    { "ld.ub",	    {A_GREG_M,A_IMMS10BY1,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0x90000000
-    },
-/* 101100mmmmmmssssssssssdddddd0000  ld.uw <A_GREG_M>,<A_IMMS10BY2>,<A_GREG_D>  */
-    { "ld.uw",	    {A_GREG_M,A_IMMS10BY2,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0xb0000000
-    },
-/* 100001mmmmmmssssssssssdddddd0000  ld.w <A_GREG_M>,<A_IMMS10BY2>,<A_GREG_D>  */
-    { "ld.w",	    {A_GREG_M,A_IMMS10BY2,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0x84000000
-    },
-/* 110000mmmmmm0110ssssssdddddd0000  ldhi.l <A_GREG_M>,<A_IMMS6>,<A_GREG_D>  */
-    { "ldhi.l",	    {A_GREG_M,A_IMMS6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc0060000
-    },
-/* 110000mmmmmm0111ssssssdddddd0000  ldhi.q <A_GREG_M>,<A_IMMS6>,<A_GREG_D>  */
-    { "ldhi.q",	    {A_GREG_M,A_IMMS6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc0070000
-    },
-/* 110000mmmmmm0010ssssssdddddd0000  ldlo.l <A_GREG_M>,<A_IMMS6>,<A_GREG_D>  */
-    { "ldlo.l",	    {A_GREG_M,A_IMMS6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc0020000
-    },
-/* 110000mmmmmm0011ssssssdddddd0000  ldlo.q <A_GREG_M>,<A_IMMS6>,<A_GREG_D>  */
-    { "ldlo.q",	    {A_GREG_M,A_IMMS6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc0030000
-    },
-/* 010000mmmmmm0000nnnnnndddddd0000  ldx.b <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "ldx.b",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x40000000
-    },
-/* 010000mmmmmm0010nnnnnndddddd0000  ldx.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "ldx.l",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x40020000
-    },
-/* 010000mmmmmm0011nnnnnndddddd0000  ldx.q <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "ldx.q",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x40030000
-    },
-/* 010000mmmmmm0100nnnnnndddddd0000  ldx.ub <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "ldx.ub",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x40040000
-    },
-/* 010000mmmmmm0101nnnnnndddddd0000  ldx.uw <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "ldx.uw",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x40050000
-    },
-/* 010000mmmmmm0001nnnnnndddddd0000  ldx.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "ldx.w",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x40010000
-    },
-/* 001010mmmmmm1010111111dddddd0000  mabs.l <A_GREG_M>,<A_GREG_D>  */
-    { "mabs.l",	    {A_GREG_M,A_GREG_D},	      {OFFSET_20,OFFSET_4},	      0x280afc00
-    },
-/* 001010mmmmmm1001111111dddddd0000  mabs.w <A_GREG_M>,<A_GREG_D>  */
-    { "mabs.w",	    {A_GREG_M,A_GREG_D},	      {OFFSET_20,OFFSET_4},	      0x2809fc00
-    },
-/* 000010mmmmmm0010nnnnnndddddd0000  madd.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D> */
-    { "madd.l",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x08020000
-    },
-/* 000010mmmmmm0001nnnnnndddddd0000  madd.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "madd.w",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x08010000
-    },
-/* 000010mmmmmm0110nnnnnndddddd0000  madds.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "madds.l",    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x08060000
-    },
-/* 000010mmmmmm0100nnnnnndddddd0000  madds.ub <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "madds.ub",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x08040000
-    },
-/* 000010mmmmmm0101nnnnnndddddd0000  madds.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "madds.w",    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x08050000
-    },
-/* 001010mmmmmm0000nnnnnndddddd0000  mcmpeq.b <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mcmpeq.b",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x28000000
-    },
-/* 001010mmmmmm0010nnnnnndddddd0000  mcmpeq.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mcmpeq.l",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x28020000
-    },
-/* 001010mmmmmm0001nnnnnndddddd0000  mcmpeq.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mcmpeq.w",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x28010000
-    },
-/* 001010mmmmmm0110nnnnnndddddd0000  mcmpgt.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mcmpgt.l",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x28060000
-    },
-/* 001010mmmmmm0100nnnnnndddddd0000  mcmpgt.ub <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mcmpgt.ub",  {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x28040000
-    },
-/* 001010mmmmmm0101nnnnnndddddd0000  mcmpgt.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mcmpgt.w",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x28050000
-    },
-/* 010010mmmmmm0011nnnnnnwwwwww0000  mcmv <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mcmv",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x48030000
-    },
-/* 010011mmmmmm1101nnnnnndddddd0000  mcnvs.lw <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mcnvs.lw",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x4c0d0000
-    },
-/* 010011mmmmmm1000nnnnnndddddd0000  mcnvs.wb <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mcnvs.wb",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x4c080000
-    },
-/* 010011mmmmmm1100nnnnnndddddd0000  mcnvs.wub <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mcnvs.wub",  {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x4c0c0000
-    },
-/* 001010mmmmmm0111nnnnnndddddd0000  mextr1 <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mextr1",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x28070000
-    },
-/* 001010mmmmmm1011nnnnnndddddd0000  mextr2 <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mextr2",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x280b0000
-    },
-/* 001010mmmmmm1111nnnnnndddddd0000  mextr3 <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mextr3",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x280f0000
-    },
-/* 001011mmmmmm0011nnnnnndddddd0000  mextr4 <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mextr4",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x2c030000
-    },
-/* 001011mmmmmm0111nnnnnndddddd0000  mextr5 <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mextr5",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x2c070000
-    },
-/* 001011mmmmmm1011nnnnnndddddd0000  mextr6 <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mextr6",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x2c0b0000
-    },
-/* 001011mmmmmm1111nnnnnndddddd0000  mextr7 <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mextr7",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x2c0f0000
-    },
-/* 010010mmmmmm0001nnnnnnwwwwww0000  mmacfx.wl <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mmacfx.wl",  {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x48010000
-    },
-/* 010010mmmmmm0101nnnnnnwwwwww0000  mmacnfx.wl <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mmacnfx.wl", {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x48050000
-    },
-/* 010011mmmmmm0010nnnnnndddddd0000  mmul.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mmul.l",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x4c020000
-    },
-/* 010011mmmmmm0001nnnnnndddddd0000  mmul.m <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mmul.w",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x4c010000
-    },
-/* 010011mmmmmm0110nnnnnndddddd0000  mmulfx.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mmulfx.l",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x4c060000
-    },
-/* 010011mmmmmm0101nnnnnndddddd0000  mmulfx.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mmulfx.w",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x4c050000
-    },
-/* 010011mmmmmm1001nnnnnndddddd0000  mmulfxrp.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mmulfxrp.w", {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x4c090000
-    },
-/* 010011mmmmmm1110nnnnnndddddd0000  mmulhi.wl <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mmulhi.wl",  {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x4c0e0000
-    },
-/* 010011mmmmmm1010nnnnnndddddd0000  mmullo.wl <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mmullo.wl",  {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x4c0a0000
-    },
-/* 010010mmmmmm1001nnnnnnwwwwww0000  mmulsum.wq <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mmulsum.wq", {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x48090000
-    },
-/* 110011ssssssssssssssssdddddd0000  movi <A_IMMS16>,<A_GREG_D>  */
-    { "movi",	    {A_IMMS16,A_GREG_D}, {OFFSET_10,OFFSET_4}, SHMEDIA_MOVI_OPC
-    },
-/* 001010mmmmmm1101nnnnnndddddd0000  mperm.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mperm.w",    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x280d0000
-    },
-/* 010010mmmmmm0000nnnnnnwwwwww0000  msad.ubq <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "msad.ubq",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x48000000
-    },
-/* 000011mmmmmm1010nnnnnndddddd0000  mshard.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshard.l",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x0c0a0000
-    },
-/* 000011mmmmmm1001nnnnnndddddd0000  mshard.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshard.w",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x0c090000
-    },
-/* 000011mmmmmm1011nnnnnndddddd0000  mshards.q <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshards.q",  {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x0c0b0000
-    },
-/* 001011mmmmmm0100nnnnnndddddd0000  mshfhi.b <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshfhi.b",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x2c040000
-    },
-/* 001011mmmmmm0110nnnnnndddddd0000  mshfhi.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshfhi.l",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x2c060000
-    },
-/* 001011mmmmmm0101nnnnnndddddd0000  mshfhi.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshfhi.w",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x2c050000
-    },
-/* 001011mmmmmm0000nnnnnndddddd0000  mshflo.b <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshflo.b",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x2c000000
-    },
-/* 001011mmmmmm0010nnnnnndddddd0000  mshflo.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshflo.l",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x2c020000
-    },
-/* 001011mmmmmm0001nnnnnndddddd0000  mshflo.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshflo.w",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x2c010000
-    },
-/* 000011mmmmmm0010nnnnnndddddd0000  mshlld.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshlld.l",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x0c020000
-    },
-/* 000011mmmmmm0001nnnnnndddddd0000  mshlld.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshlld.w",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x0c010000
-    },
-/* 000011mmmmmm0110nnnnnndddddd0000  mshalds.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshalds.l",  {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x0c060000
-    },
-/* 000011mmmmmm0101nnnnnndddddd0000  mshalds.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshalds.w",  {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x0c050000
-    },
-/* 000011mmmmmm1110nnnnnndddddd0000  mshlrd.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshlrd.l",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x0c0e0000
-    },
-/* 000011mmmmmm1101nnnnnndddddd0000  mshlrd.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mshlrd.w",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x0c0d0000
-    },
-/* 000010mmmmmm1010nnnnnndddddd0000  msub.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "msub.l",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x080a0000
-    },
-/* 000010mmmmmm1001nnnnnndddddd0000  msub.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "msub.w",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x08090000
-    },
-/* 000010mmmmmm1110nnnnnndddddd0000  msubs.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "msubs.l",    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x080e0000
-    },
-/* 000010mmmmmm1100nnnnnndddddd0000  msubs.ub <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "msubs.ub",   {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x080c0000
-    },
-/* 000010mmmmmm1101nnnnnndddddd0000  msubs.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "msubs.w",    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x080d0000
-    },
-/* 000001mmmmmm1110nnnnnndddddd0000  muls.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "muls.l",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x040e0000
-    },
-/* 000000mmmmmm1110nnnnnndddddd0000  mulu.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "mulu.l",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x000e0000
-    },
-/* 01101111111100001111111111110000  nop   */
-    { "nop",	    {A_NONE},			      {OFFSET_NONE},
-      SHMEDIA_NOP_OPC
-    },
-/* 000000mmmmmm1101111111dddddd0000  nsb <A_GREG_M>,<A_GREG_D>   */
-    { "nsb",	    {A_GREG_M,A_GREG_D},	      {OFFSET_20,OFFSET_4},	      0x000dfc00
-    },
-/* 111000mmmmmm1001ssssss1111110000  ocbi <A_GREG_M>,<A_IMMS6BY32>  */
-    { "ocbi",	    {A_GREG_M,A_IMMS6BY32},	      {OFFSET_20,OFFSET_10},	      0xe00903f0
-    },
-/* 111000mmmmmm1000ssssss1111110000  ocbp <A_GREG_M>,<A_IMMS6BY32>  */
-    { "ocbp",	    {A_GREG_M,A_IMMS6BY32},	      {OFFSET_20,OFFSET_10},	      0xe00803f0
-    },
-/* 111000mmmmmm1100ssssss1111110000  ocbwb <A_GREG_M>,<A_IMMS6BY32>  */
-    { "ocbwb",	    {A_GREG_M,A_IMMS6BY32},	      {OFFSET_20,OFFSET_10},	      0xe00c03f0
-    },
-/* 000001mmmmmm1001nnnnnndddddd0000  or <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "or",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x04090000
-    },
-/* 110111mmmmmmssssssssssdddddd0000  ori <A_GREG_M>,<A_IMMS10>,<A_GREG_D>  */
-    { "ori",	    {A_GREG_M,A_IMMS10,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0xdc000000
-    },
-/* 111000mmmmmm0001ssssss1111110000  prefi <A_GREG_M>,<A_IMMS6BY32>  */
-    { "prefi",	    {A_GREG_M,A_IMMS6BY32},	      {OFFSET_20,OFFSET_10},	      0xe00103f0
-    },
-/* 111010sssssssssssssssslrraaa0000  pta <A_PCIMMS16BY4>,<A_TREG_A>  */
-    { "pta/l",	    {A_PCIMMS16BY4,A_TREG_A}, {OFFSET_10,OFFSET_4},
-      SHMEDIA_PTA_OPC | SHMEDIA_LIKELY_BIT
-    },
-/* 111010sssssssssssssssslrraaa0000  pta <A_PCIMMS16BY4>,<A_TREG_A>  */
-    { "pta",	    {A_PCIMMS16BY4,A_TREG_A}, {OFFSET_10,OFFSET_4},
-      SHMEDIA_PTA_OPC | SHMEDIA_LIKELY_BIT
-    },
-/* 111010ssssssssssssssss0rraaa0000  pta/u <A_PCIMMS16BY4>,<A_TREG_A>  */
-    { "pta/u",	    {A_PCIMMS16BY4,A_TREG_A}, {OFFSET_10,OFFSET_4},
-      SHMEDIA_PTA_OPC
-    },
-/* 0110101111110001nnnnnnl00aaa0000  ptabs <A_GREG_M>,<A_TREG_A>  */
-    { "ptabs/l",    {A_GREG_N,A_TREG_A},      {OFFSET_10,OFFSET_4}, 0x6bf10200
-    },
-/* 0110101111110001nnnnnnl00aaa0000  ptabs <A_GREG_M>,<A_TREG_A>  */
-    { "ptabs",	    {A_GREG_N,A_TREG_A},      {OFFSET_10,OFFSET_4}, 0x6bf10200
-    },
-/* 0110101111110001nnnnnn000aaa0000  ptabs/u <A_GREG_M>,<A_TREG_A>  */
-    { "ptabs/u",    {A_GREG_N,A_TREG_A},      {OFFSET_10,OFFSET_4}, 0x6bf10000
-    },
-/* 111011sssssssssssssssslrraaa0000  ptb <A_PCIMMS16BY4>,<A_TREG_A>  */
-    { "ptb/l",	    {A_PCIMMS16BY4,A_TREG_A}, {OFFSET_10,OFFSET_4},
-      SHMEDIA_PTB_OPC | SHMEDIA_LIKELY_BIT
-    },
-/* 111011sssssssssssssssslrraaa0000  ptb <A_PCIMMS16BY4>,<A_TREG_A>  */
-    { "ptb",	    {A_PCIMMS16BY4,A_TREG_A}, {OFFSET_10,OFFSET_4},
-      SHMEDIA_PTB_OPC | SHMEDIA_LIKELY_BIT
-    },
-/* 111011ssssssssssssssss0rraaa0000  ptb/u <A_PCIMMS16BY4>,<A_TREG_A>  */
-    { "ptb/u",	    {A_PCIMMS16BY4,A_TREG_A}, {OFFSET_10,OFFSET_4},
-      SHMEDIA_PTB_OPC
-    },
-/* 111010sssssssssssssssslrraaa0000  pt/l <A_PCIMMS16BY4>,<A_TREG_A>  */
-    { "pt/l",	    {A_PCIMMS16BY4_PT,A_TREG_A},
-      {OFFSET_10,OFFSET_4}, SHMEDIA_PT_OPC | SHMEDIA_LIKELY_BIT
-    },
-/* 111010sssssssssssssssslrraaa0000  pt <A_PCIMMS16BY4>,<A_TREG_A>  */
-    { "pt",	    {A_PCIMMS16BY4_PT,A_TREG_A},
-      {OFFSET_10,OFFSET_4}, SHMEDIA_PT_OPC | SHMEDIA_LIKELY_BIT
-    },
-/* 111010ssssssssssssssss0rraaa0000  pt/u <A_PCIMMS16BY4>,<A_TREG_A>  */
-    { "pt/u",	    {A_PCIMMS16BY4_PT,A_TREG_A},
-      {OFFSET_10,OFFSET_4}, SHMEDIA_PT_OPC
-    },
-/* 0110101111110101nnnnnnl00aaa0000  ptrel <A_GREG_M>,<A_TREG_A>  */
-    { "ptrel/l",    {A_GREG_N,A_TREG_A},      {OFFSET_10,OFFSET_4},
-      SHMEDIA_PTREL_OPC | SHMEDIA_LIKELY_BIT
-    },
-/* 0110101111110101nnnnnnl00aaa0000  ptrel <A_GREG_M>,<A_TREG_A>  */
-    { "ptrel",	    {A_GREG_N,A_TREG_A},      {OFFSET_10,OFFSET_4},
-      SHMEDIA_PTREL_OPC | SHMEDIA_LIKELY_BIT
-    },
-/* 0110101111110101nnnnnn000aaa0000  ptrel/u <A_GREG_M>,<A_TREG_A>  */
-    { "ptrel/u",    {A_GREG_N,A_TREG_A},      {OFFSET_10,OFFSET_4},
-      SHMEDIA_PTREL_OPC
-    },
-/* 111000mmmmmm1111ssssssyyyyyy0000  putcfg <A_GREG_M>,<A_IMMS6>,<A_GREG_D>  */
-    { "putcfg",	    {A_GREG_M,A_IMMS6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xe00f0000
-    },
-/* 011011mmmmmm1111111111jjjjjj0000  putcon <A_GREG_M>,<A_CREG_J>  */
-    { "putcon",	    {A_GREG_M,A_CREG_J},      {OFFSET_20,OFFSET_4}, 0x6c0ffc00
-    },
-/* 01101111111100111111111111110000  rte   */
-    { "rte",	    {A_NONE},		      {OFFSET_NONE},	    0x6ff3fff0
-    },
-/* 000001mmmmmm0111nnnnnndddddd0000  shard <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "shard",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x04070000
-    },
-/* 000001mmmmmm0110nnnnnndddddd0000  shard.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "shard.l",    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x04060000
-    },
-/* 110001mmmmmm0111ssssssdddddd0000  shari <A_GREG_M>,<A_IMMU6>,<A_GREG_D>  */
-    { "shari",	    {A_GREG_M,A_IMMU6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc4070000
-    },
-/* 110001mmmmmm0110ssssssdddddd0000  shari <A_GREG_M>,<A_IMMU6>,<A_GREG_D>  */
-    { "shari.l",    {A_GREG_M,A_IMMU6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc4060000
-    },
-/* 000001mmmmmm0001nnnnnndddddd0000  shlld <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "shlld",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x04010000
-    },
-/* 000001mmmmmm0000nnnnnndddddd0000  shlld.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "shlld.l",    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x04000000
-    },
-/* 110001mmmmmm0001ssssssdddddd0000  shlli <A_GREG_M>,<A_IMMU6>,<A_GREG_D>  */
-    { "shlli",	    {A_GREG_M,A_IMMU6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc4010000
-    },
-/* 110001mmmmmm0000ssssssdddddd0000  shlli.l <A_GREG_M>,<A_IMMU5>,<A_GREG_D>  */
-    { "shlli.l",    {A_GREG_M,A_IMMU5,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc4000000
-    },
-/* 000001mmmmmm0011nnnnnndddddd0000  shlrd <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "shlrd",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x04030000
-    },
-/* 000001mmmmmm0010nnnnnndddddd0000  shlrd.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "shlrd.l",    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x04020000
-    },
-/* 110001mmmmmm0011ssssssdddddd0000  shlri <A_GREG_M>,<A_IMMU6>,<A_GREG_D>  */
-    { "shlri",	    {A_GREG_M,A_IMMU6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc4030000
-    },
-/* 110001mmmmmm0010ssssssdddddd0000  shlri.l <A_GREG_M>,<A_IMMU5>,<A_GREG_D>  */
-    { "shlri.l",    {A_GREG_M,A_IMMU5,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc4020000
-    },
-/* 110010sssssssssssssssswwwwww0000  shori <A_IMMU16>,<A_GREG_D>  */
-    { "shori",	    {A_IMMU16,A_GREG_D}, {OFFSET_10,OFFSET_4}, SHMEDIA_SHORI_OPC
-    },
-/* 01101111111101111111111111110000  sleep   */
-    { "sleep",      {A_NONE},		 {OFFSET_NONE}, 0x6ff7fff0
-    },
-/* 101000mmmmmmssssssssssdddddd0000  st.b <A_GREG_M>,<A_IMMS10BY1>,<A_GREG_D>  */
-    { "st.b",	    {A_GREG_M,A_IMMS10BY1,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0xa0000000
-    },
-/* 101010mmmmmmssssssssssdddddd0000  st.l <A_GREG_M>,<A_IMMS10BY4>,<A_GREG_D>  */
-    { "st.l",	    {A_GREG_M,A_IMMS10BY4,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0xa8000000
-    },
-/* 101011mmmmmmssssssssssdddddd0000  st.q <A_GREG_M>,<A_IMMS10BY8>,<A_GREG_D>  */
-    { "st.q",	    {A_GREG_M,A_IMMS10BY8,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0xac000000
-    },
-/* 101001mmmmmmssssssssssdddddd0000  st.w <A_GREG_M>,<A_IMMS10BY2>,<A_GREG_D>  */
-    { "st.w",	    {A_GREG_M,A_IMMS10BY2,A_GREG_D},  {OFFSET_20,OFFSET_10,OFFSET_4}, 0xa4000000
-    },
-/* 111000mmmmmm0110ssssssdddddd0000  sthi.l <A_GREG_M>,<A_IMMS6>,<A_GREG_D>  */
-    { "sthi.l",	    {A_GREG_M,A_IMMS6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xe0060000
-    },
-/* 111000mmmmmm0111ssssssdddddd0000  sthi.q <A_GREG_M>,<A_IMMS6>,<A_GREG_D>  */
-    { "sthi.q",	    {A_GREG_M,A_IMMS6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xe0070000
-    },
-/* 111000mmmmmm0010ssssssdddddd0000  stlo.l <A_GREG_M>,<A_IMMS6>,<A_GREG_D>  */
-    { "stlo.l",	    {A_GREG_M,A_IMMS6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xe0020000
-    },
-/* 111000mmmmmm0011ssssssdddddd0000  stlo.q <A_GREG_M>,<A_IMMS6>,<A_GREG_D>  */
-    { "stlo.q",	    {A_GREG_M,A_IMMS6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xe0030000
-    },
-/* 011000mmmmmm0000nnnnnndddddd0000  stx.b <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "stx.b",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x60000000
-    },
-/* 011000mmmmmm0010nnnnnndddddd0000  stx.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "stx.l",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x60020000
-    },
-/* 011000mmmmmm0011nnnnnndddddd0000  stx.q <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "stx.q",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x60030000
-    },
-/* 011000mmmmmm0001nnnnnndddddd0000  stx.w <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "stx.w",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x60010000
-    },
-/* 000000mmmmmm1011nnnnnndddddd0000  sub <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "sub",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x000b0000
-    },
-/* 000000mmmmmm1010nnnnnndddddd0000  sub.l <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "sub.l",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x000a0000
-    },
-/* 001000mmmmmm0011nnnnnnwwwwww0000  swap.q <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "swap.q",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x20030000
-    },
-/* 01101111111100101111111111110000  synci   */
-    { "synci",	    {A_NONE},			      {OFFSET_NONE},		      0x6ff2fff0
-    },
-/* 01101111111101101111111111110000  synco   */
-    { "synco",	    {A_NONE},			      {OFFSET_NONE},		      0x6ff6fff0
-    },
-/* 011011mmmmmm00011111111111110000  trapa <A_GREG_M>   */
-    { "trapa",	    {A_GREG_M},			      {OFFSET_20}, 0x6c01fff0
-    },
-/* 000001mmmmmm1101nnnnnndddddd0000  xor <A_GREG_M>,<A_GREG_N>,<A_GREG_D>  */
-    { "xor",	    {A_GREG_M,A_GREG_N,A_GREG_D},     {OFFSET_20,OFFSET_10,OFFSET_4}, 0x040d0000
-    },
-/* 110001mmmmmm1101ssssssdddddd0000  xori <A_GREG_M>,<A_IMMS6>,<A_GREG_D>  */
-    { "xori",	    {A_GREG_M,A_IMMS6,A_GREG_D},      {OFFSET_20,OFFSET_10,OFFSET_4}, 0xc40d0000
-    },
-
-    { NULL, {}, {}, 0 }
-};
-
-/* Predefined control register names as per SH-5/ST50-005-08.  */
-const shmedia_creg_info shmedia_creg_table[] = {
-  { 0, "sr" },
-  { 1, "ssr" },
-  { 2, "pssr" },
-
-  { 4, "intevt" },
-  { 5, "expevt" },
-  { 6, "pexpevt" },
-  { 7, "tra" },
-  { 8, "spc" },
-  { 9, "pspc" },
-  { 10, "resvec" },
-  { 11, "vbr" },
-
-  { 13, "tea" },
-
-  { 16, "dcr" },
-  { 17, "kcr0" },
-  { 18, "kcr1" },
-
-  { 62, "ctc" },
-  { 63, "usr" },
-  { -1, (char *) 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.1.0.20180703/opcodes/sh64-opc.h ./opcodes/sh64-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/sh64-opc.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/sh64-opc.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,142 +0,0 @@
-/* Declarations for SH64 opcodes.
-   Copyright (C) 2000-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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 file; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#ifndef _SH64_OPC_INCLUDED_H
-#define _SH64_OPC_INCLUDED_H
-
-typedef enum
-{
-  /* A placeholder.  */
-  OFFSET_NONE = 0,
-
-  /* Bit number for where to insert operand.  */
-  OFFSET_4  = 4,
-  OFFSET_9  = 9,
-  OFFSET_10 = 10,
-  OFFSET_20 = 20
-} shmedia_nibble_type;
-
-typedef enum {
-  /* First a placeholder.  */
-  A_NONE = 0,
-
-  /* Registers.  */
-  A_GREG_M,
-  A_GREG_N,
-  A_GREG_D,
-  A_FREG_G,
-  A_FREG_H,
-  A_FREG_F,
-  A_DREG_G,
-  A_DREG_H,
-  A_DREG_F,
-  A_FVREG_G,
-  A_FVREG_H,
-  A_FVREG_F,
-  A_FMREG_G,
-  A_FMREG_H,
-  A_FMREG_F,
-  A_FPREG_G,
-  A_FPREG_H,
-  A_FPREG_F,
-  A_TREG_A,
-  A_TREG_B,
-  A_CREG_K,
-  A_CREG_J,
-
-  /* This one is only used in a shmedia_get_operand.  */
-  A_IMMM,
-
-  /* Copy of previous register.  */
-  A_REUSE_PREV,
-
-  /* Unsigned 5-bit operand.  */
-  A_IMMU5,
-
-  /* Signed 6-bit operand.  */
-  A_IMMS6,
-
-  /* Signed operand, 6 bits << 5.  */
-  A_IMMS6BY32,
-
-  /* Unsigned 6-bit operand.  */
-  A_IMMU6,
-
-  /* Signed 10-bit operand.  */
-  A_IMMS10,
-
-  /* Signed operand, 10 bits << 0.  */
-  A_IMMS10BY1,
-
-  /* Signed operand, 10 bits << 1.  */
-  A_IMMS10BY2,
-
-  /* Signed operand, 10 bits << 2.  */
-  A_IMMS10BY4,
-
-  /* Signed operand, 10 bits << 3.  */
-  A_IMMS10BY8,
-
-  /* Signed 16-bit operand.  */
-  A_IMMS16,
-
-  /* Unsigned 16-bit operand.  */
-  A_IMMU16,
-
-  /* PC-relative signed operand, 16 bits << 2, for PTA and PTB insns.  */
-  A_PCIMMS16BY4,
-
-  /* PC relative signed operand, 16 bits << 2, for PT insns.  Also adjusts
-     the opcode to be PTA or PTB.  */
-  A_PCIMMS16BY4_PT,
-} shmedia_arg_type;
-
-typedef struct {
-  char *name;
-  shmedia_arg_type arg[4];
-  shmedia_nibble_type nibbles[4];
-  unsigned long opcode_base;
-} shmedia_opcode_info;
-
-extern const shmedia_opcode_info shmedia_table[];
-
-typedef struct {
-  int cregno;
-  char *name;
-} shmedia_creg_info;
-
-extern const shmedia_creg_info shmedia_creg_table[];
-
-#define SHMEDIA_LIKELY_BIT    0x00000200
-#define SHMEDIA_PT_OPC 	      0xe8000000
-#define SHMEDIA_PTB_BIT	      0x04000000
-#define SHMEDIA_PTA_OPC       0xe8000000
-#define SHMEDIA_PTB_OPC       0xec000000
-
-/* Note that this is ptrel/u.  "Or" in SHMEDIA_LIKELY_BIT for ptrel/l.  */
-#define SHMEDIA_PTREL_OPC     0x6bf50000
-#define SHMEDIA_MOVI_OPC      0xcc000000
-#define SHMEDIA_SHORI_OPC     0xc8000000
-#define SHMEDIA_ADDI_OPC      0xd0000000
-#define SHMEDIA_ADD_OPC       0x00090000
-#define SHMEDIA_NOP_OPC	      0x6ff0fff0
-#define SHMEDIA_TEMP_REG      25
-
-#endif /* _SH64_OPC_INCLUDED_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/sh-dis.c ./opcodes/sh-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/sh-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/sh-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -27,10 +27,6 @@
 #include "sh-opc.h"
 #include "disassemble.h"
 
-#ifdef ARCH_all
-#define INCLUDE_SHMEDIA
-#endif
-
 static void
 print_movxy (const sh_opcode_info *op,
 	     int rn,
@@ -404,16 +400,6 @@ print_insn_sh (bfd_vma memaddr, struct d
 	  && bfd_asymbol_flavour(*info->symbols) == bfd_target_coff_flavour)
 	target_arch = arch_sh4;
       break;
-    case bfd_mach_sh5:
-#ifdef INCLUDE_SHMEDIA
-      status = print_insn_sh64 (memaddr, info);
-      if (status != -2)
-	return status;
-#endif
-      /* When we get here for sh64, it's because we want to disassemble
-	 SHcompact, i.e. arch_sh4.  */
-      target_arch = arch_sh4;
-      break;
     default:
       target_arch = sh_get_arch_from_bfd_mach (info->mach);
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/sparc-dis.c ./opcodes/sparc-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/sparc-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/sparc-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -303,10 +303,9 @@ compare_opcodes (const void * a, const v
      wrong with the opcode table.  */
   if (match0 & lose0)
     {
-      fprintf
-	(stderr,
-	 /* xgettext:c-format */
-	 _("Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"),
+      opcodes_error_handler
+	/* xgettext:c-format */
+	(_("internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"),
 	 op0->name, match0, lose0);
       op0->lose &= ~op0->match;
       lose0 = op0->lose;
@@ -314,10 +313,9 @@ compare_opcodes (const void * a, const v
 
   if (match1 & lose1)
     {
-      fprintf
-	(stderr,
-	 /* xgettext:c-format */
-	 _("Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"),
+      opcodes_error_handler
+	/* xgettext:c-format */
+	(_("internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"),
 	 op1->name, match1, lose1);
       op1->lose &= ~op1->match;
       lose1 = op1->lose;
@@ -374,10 +372,10 @@ compare_opcodes (const void * a, const v
 	  return i;
 	}
       else
-	fprintf (stderr,
-		 /* xgettext:c-format */
-		 _("Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"),
-		 op0->name, op1->name);
+	opcodes_error_handler
+	  /* xgettext:c-format */
+	  (_("internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"),
+	   op0->name, op1->name);
     }
 
   /* Fewer arguments are preferred.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/sysdep.h ./opcodes/sysdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/sysdep.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/sysdep.h	2018-07-10 02:06:15.000000000 +0000
@@ -56,6 +56,8 @@
 extern char *stpcpy (char *__dest, const char *__src);
 #endif
 
+#define opcodes_error_handler _bfd_error_handler
+
 /* Use sigsetjmp/siglongjmp without saving the signal mask if possible.
    It is faster than setjmp/longjmp on systems where the signal mask is
    saved.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/v850-dis.c ./opcodes/v850-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/v850-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/v850-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -450,7 +450,8 @@ disassemble (bfd_vma memaddr,
 		      case 0xffe00001: regs = list12_regs; break;
 		      default:
 			/* xgettext:c-format */
-			fprintf (stderr, _("unknown operand shift: %x\n"), operand->shift);
+			opcodes_error_handler (_("unknown operand shift: %x"),
+					       operand->shift);
 			abort ();
 		      }
 
@@ -460,10 +461,17 @@ disassemble (bfd_vma memaddr,
 			  {
 			    switch (regs[ i ])
 			      {
-			      default: mask |= (1 << regs[ i ]); break;
+			      default:
+				mask |= (1 << regs[ i ]);
+				break;
+			      case 0:
 				/* xgettext:c-format */
-			      case 0:  fprintf (stderr, _("unknown reg: %d\n"), i ); abort ();
-			      case -1: pc = 1; break;
+				opcodes_error_handler (_("unknown reg: %d"), i);
+				abort ();
+				break;
+			      case -1:
+				pc = 1;
+				break;
 			      }
 			  }
 		      }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/w65-dis.c ./opcodes/w65-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/w65-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/w65-dis.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,98 +0,0 @@
-/* Disassemble WDC 65816 instructions.
-   Copyright (C) 1995-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include <stdio.h>
-
-#define STATIC_TABLE
-#define DEFINE_TABLE
-
-#include "w65-opc.h"
-#include "disassemble.h"
-
-static fprintf_ftype fpr;
-static void *stream;
-static struct disassemble_info *local_info;
-
-static void
-print_operand (int lookup, char *format, int *args)
-{
-  int val;
-  int c;
-
-  while (*format)
-    {
-      switch (c = *format++)
-	{
-	case '$':
-	  val = args[(*format++) - '0'];
-	  if (lookup)
-	    local_info->print_address_func (val, local_info);
-	  else
-	    fpr (stream, "0x%x", val);
-
-	  break;
-	default:
-	  fpr (stream, "%c", c);
-	  break;
-	}
-    }
-}
-
-int
-print_insn_w65 (bfd_vma memaddr, struct disassemble_info *info)
-{
-  int status = 0;
-  unsigned char insn[4];
-  const struct opinfo *op;
-  int i;
-  int X = 0;
-  int M = 0;
-  int args[2];
-
-  stream = info->stream;
-  fpr = info->fprintf_func;
-  local_info = info;
-
-  for (i = 0; i < 4 && status == 0; i++)
-    status = info->read_memory_func (memaddr + i, insn + i, 1, info);
-
-  for (op = optable; op->val != insn[0]; op++)
-    ;
-
-  fpr (stream, "%s", op->name);
-
-  /* Prepare all the posible operand values.  */
-  {
-    int size = 1;
-    int asR_W65_ABS8 = insn[1];
-    int asR_W65_ABS16 = (insn[2] << 8) + asR_W65_ABS8;
-    int asR_W65_ABS24 = (insn[3] << 16) + asR_W65_ABS16;
-    int asR_W65_PCR8 = ((char) (asR_W65_ABS8)) + memaddr + 2;
-    int asR_W65_PCR16 = ((short) (asR_W65_ABS16)) + memaddr + 3;
-
-    switch (op->amode)
-      {
-	DISASM ();
-      }
-
-    return size;
-  }
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/w65-opc.h ./opcodes/w65-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/w65-opc.h	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/w65-opc.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,568 +0,0 @@
-/* Instruction opcode header for WDC 65816
-   (generated by the program sim/w65/gencode -a)
-
-   Copyright (C) 2001-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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, or (at your option)
-   any later version.
-
-   It 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 file; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define ADDR_IMMTOA              1	 /* #a      */
-#define ADDR_IMMCOP              2	 /* #c      */
-#define ADDR_IMMTOI              3	 /* #i      */
-#define ADDR_ACC                 4	 /* A       */
-#define ADDR_PC_REL              5	 /* r       */
-#define ADDR_PC_REL_LONG         6	 /* rl      */
-#define ADDR_IMPLIED             7	 /* i       */
-#define ADDR_STACK               8	 /* s       */
-#define ADDR_DIR                 9	 /* d       */
-#define ADDR_DIR_IDX_X           10	 /* d,x     */
-#define ADDR_DIR_IDX_Y           11	 /* d,y     */
-#define ADDR_DIR_IND             12	 /* (d)     */
-#define ADDR_DIR_IDX_IND_X       13	 /* (d,x)   */
-#define ADDR_DIR_IND_IDX_Y       14	 /* (d),y   */
-#define ADDR_DIR_IND_LONG        15	 /* [d]     */
-#define ADDR_DIR_IND_IDX_Y_LONG  16	 /* [d],y   */
-#define ADDR_ABS                 17	 /* a       */
-#define ADDR_ABS_IDX_X           18	 /* a,x     */
-#define ADDR_ABS_IDX_Y           19	 /* a,y     */
-#define ADDR_ABS_LONG            20	 /* al      */
-#define ADDR_ABS_IND_LONG        21	 /* [a]     */
-#define ADDR_ABS_LONG_IDX_X      22	 /* al,x    */
-#define ADDR_STACK_REL           23	 /* d,s     */
-#define ADDR_STACK_REL_INDX_IDX  24	 /* (d,s),y */
-#define ADDR_ABS_IND             25	 /* (a)     */
-#define ADDR_ABS_IND_IDX         26	 /* (a,x)   */
-#define ADDR_BLOCK_MOVE          27	 /* xyz     */
-struct opinfo {
-	int val;
-	int code;
-	char *name;
-	int amode;
-};
-const struct opinfo optable[257]={
-#define O_adc 1
-#define O_and 2
-#define O_asl 3
-#define O_bcc 4
-#define O_bcs 5
-#define O_beq 6
-#define O_bit 7
-#define O_bmi 8
-#define O_bne 9
-#define O_bpl 10
-#define O_bra 11
-#define O_brk 12
-#define O_brl 13
-#define O_bvc 14
-#define O_bvs 15
-#define O_clc 16
-#define O_cld 17
-#define O_cli 18
-#define O_clv 19
-#define O_cmp 20
-#define O_cop 21
-#define O_cpx 22
-#define O_cpy 23
-#define O_dec 24
-#define O_dex 25
-#define O_dey 26
-#define O_eor 27
-#define O_inc 28
-#define O_inx 29
-#define O_iny 30
-#define O_jmp 31
-#define O_jsr 32
-#define O_lda 33
-#define O_ldx 34
-#define O_ldy 35
-#define O_lsr 36
-#define O_mvn 37
-#define O_mvp 38
-#define O_nop 39
-#define O_ora 40
-#define O_pea 41
-#define O_pei 42
-#define O_per 43
-#define O_pha 44
-#define O_phb 45
-#define O_phd 46
-#define O_phk 47
-#define O_php 48
-#define O_phx 49
-#define O_phy 50
-#define O_pla 51
-#define O_plb 52
-#define O_pld 53
-#define O_plp 54
-#define O_plx 55
-#define O_ply 56
-#define O_rep 57
-#define O_rol 58
-#define O_ror 59
-#define O_rti 60
-#define O_rtl 61
-#define O_rts 62
-#define O_sbc 63
-#define O_sec 64
-#define O_sed 65
-#define O_sei 66
-#define O_sep 67
-#define O_sta 68
-#define O_stp 69
-#define O_stx 70
-#define O_sty 71
-#define O_stz 72
-#define O_tax 73
-#define O_tay 74
-#define O_tcd 75
-#define O_tcs 76
-#define O_tdc 77
-#define O_trb 78
-#define O_tsb 79
-#define O_tsc 80
-#define O_tsx 81
-#define O_txa 82
-#define O_txs 83
-#define O_txy 84
-#define O_tya 85
-#define O_tyx 86
-#define O_wai 87
-#define O_wdm 88
-#define O_xba 89
-#define O_xce 90
-#ifdef DEFINE_TABLE
-	{0x69,	O_adc,	"adc",	ADDR_IMMTOA},
-	{0x72,	O_adc,	"adc",	ADDR_DIR_IND},
-	{0x71,	O_adc,	"adc",	ADDR_DIR_IND_IDX_Y},
-	{0x73,	O_adc,	"adc",	ADDR_STACK_REL_INDX_IDX},
-	{0x61,	O_adc,	"adc",	ADDR_DIR_IDX_IND_X},
-	{0x67,	O_adc,	"adc",	ADDR_DIR_IND_LONG},
-	{0x77,	O_adc,	"adc",	ADDR_DIR_IND_IDX_Y_LONG},
-	{0x6D,	O_adc,	"adc",	ADDR_ABS},
-	{0x7D,	O_adc,	"adc",	ADDR_ABS_IDX_X},
-	{0x79,	O_adc,	"adc",	ADDR_ABS_IDX_Y},
-	{0x6F,	O_adc,	"adc",	ADDR_ABS_LONG},
-	{0x7F,	O_adc,	"adc",	ADDR_ABS_LONG_IDX_X},
-	{0x65,	O_adc,	"adc",	ADDR_DIR},
-	{0x63,	O_adc,	"adc",	ADDR_STACK_REL},
-	{0x75,	O_adc,	"adc",	ADDR_DIR_IDX_X},
-	{0x29,	O_and,	"and",	ADDR_IMMTOA},
-	{0x32,	O_and,	"and",	ADDR_DIR_IND},
-	{0x31,	O_and,	"and",	ADDR_DIR_IND_IDX_Y},
-	{0x33,	O_and,	"and",	ADDR_STACK_REL_INDX_IDX},
-	{0x21,	O_and,	"and",	ADDR_DIR_IDX_IND_X},
-	{0x27,	O_and,	"and",	ADDR_DIR_IND_LONG},
-	{0x37,	O_and,	"and",	ADDR_DIR_IND_IDX_Y_LONG},
-	{0x2D,	O_and,	"and",	ADDR_ABS},
-	{0x3D,	O_and,	"and",	ADDR_ABS_IDX_X},
-	{0x39,	O_and,	"and",	ADDR_ABS_IDX_Y},
-	{0x2F,	O_and,	"and",	ADDR_ABS_LONG},
-	{0x3F,	O_and,	"and",	ADDR_ABS_LONG_IDX_X},
-	{0x25,	O_and,	"and",	ADDR_DIR},
-	{0x23,	O_and,	"and",	ADDR_STACK_REL},
-	{0x35,	O_and,	"and",	ADDR_DIR_IDX_X},
-	{0x0A,	O_asl,	"asl",	ADDR_ACC},
-	{0x0E,	O_asl,	"asl",	ADDR_ABS},
-	{0x1E,	O_asl,	"asl",	ADDR_ABS_IDX_X},
-	{0x06,	O_asl,	"asl",	ADDR_DIR},
-	{0x16,	O_asl,	"asl",	ADDR_DIR_IDX_X},
-	{0x90,	O_bcc,	"bcc",	ADDR_PC_REL},
-	{0xB0,	O_bcs,	"bcs",	ADDR_PC_REL},
-	{0xF0,	O_beq,	"beq",	ADDR_PC_REL},
-	{0x89,	O_bit,	"bit",	ADDR_IMMTOA},
-	{0x24,	O_bit,	"bit",	ADDR_DIR_IND},
-	{0x34,	O_bit,	"bit",	ADDR_DIR_IDX_IND_X},
-	{0x2C,	O_bit,	"bit",	ADDR_ABS},
-	{0x3C,	O_bit,	"bit",	ADDR_ABS_IDX_X},
-	{0x30,	O_bmi,	"bmi",	ADDR_PC_REL},
-	{0xD0,	O_bne,	"bne",	ADDR_PC_REL},
-	{0x10,	O_bpl,	"bpl",	ADDR_PC_REL},
-	{0x80,	O_bra,	"bra",	ADDR_PC_REL},
-	{0x00,	O_brk,	"brk",	ADDR_STACK},
-	{0x82,	O_brl,	"brl",	ADDR_PC_REL_LONG},
-	{0x50,	O_bvc,	"bvc",	ADDR_PC_REL},
-	{0x70,	O_bvs,	"bvs",	ADDR_PC_REL},
-	{0x18,	O_clc,	"clc",	ADDR_IMPLIED},
-	{0xD8,	O_cld,	"cld",	ADDR_IMPLIED},
-	{0x58,	O_cli,	"cli",	ADDR_IMPLIED},
-	{0xB8,	O_clv,	"clv",	ADDR_IMPLIED},
-	{0xC9,	O_cmp,	"cmp",	ADDR_IMMTOA},
-	{0xD2,	O_cmp,	"cmp",	ADDR_DIR_IND},
-	{0xD1,	O_cmp,	"cmp",	ADDR_DIR_IND_IDX_Y},
-	{0xD3,	O_cmp,	"cmp",	ADDR_STACK_REL_INDX_IDX},
-	{0xC1,	O_cmp,	"cmp",	ADDR_DIR_IDX_IND_X},
-	{0xC7,	O_cmp,	"cmp",	ADDR_DIR_IND_LONG},
-	{0xD7,	O_cmp,	"cmp",	ADDR_DIR_IND_IDX_Y_LONG},
-	{0xCD,	O_cmp,	"cmp",	ADDR_ABS},
-	{0xDD,	O_cmp,	"cmp",	ADDR_ABS_IDX_X},
-	{0xD9,	O_cmp,	"cmp",	ADDR_ABS_IDX_Y},
-	{0xCF,	O_cmp,	"cmp",	ADDR_ABS_LONG},
-	{0xDF,	O_cmp,	"cmp",	ADDR_ABS_LONG_IDX_X},
-	{0xC5,	O_cmp,	"cmp",	ADDR_DIR},
-	{0xC3,	O_cmp,	"cmp",	ADDR_STACK_REL},
-	{0xD5,	O_cmp,	"cmp",	ADDR_DIR_IDX_X},
-	{0x02,	O_cop,	"cop",	ADDR_IMMCOP},
-	{0xE0,	O_cpx,	"cpx",	ADDR_IMMTOI},
-	{0xEC,	O_cpx,	"cpx",	ADDR_ABS},
-	{0xE4,	O_cpx,	"cpx",	ADDR_DIR},
-	{0xC0,	O_cpy,	"cpy",	ADDR_IMMTOI},
-	{0xCC,	O_cpy,	"cpy",	ADDR_ABS},
-	{0xC4,	O_cpy,	"cpy",	ADDR_DIR},
-	{0x3A,	O_dec,	"dec",	ADDR_ACC},
-	{0xCE,	O_dec,	"dec",	ADDR_ABS},
-	{0xDE,	O_dec,	"dec",	ADDR_ABS_IDX_X},
-	{0xC6,	O_dec,	"dec",	ADDR_DIR},
-	{0xD6,	O_dec,	"dec",	ADDR_DIR_IDX_X},
-	{0xCA,	O_dex,	"dex",	ADDR_IMPLIED},
-	{0x88,	O_dey,	"dey",	ADDR_IMPLIED},
-	{0x49,	O_eor,	"eor",	ADDR_IMMTOA},
-	{0x52,	O_eor,	"eor",	ADDR_DIR_IND},
-	{0x51,	O_eor,	"eor",	ADDR_DIR_IND_IDX_Y},
-	{0x53,	O_eor,	"eor",	ADDR_STACK_REL_INDX_IDX},
-	{0x41,	O_eor,	"eor",	ADDR_DIR_IDX_IND_X},
-	{0x47,	O_eor,	"eor",	ADDR_DIR_IND_LONG},
-	{0x57,	O_eor,	"eor",	ADDR_DIR_IND_IDX_Y_LONG},
-	{0x4D,	O_eor,	"eor",	ADDR_ABS},
-	{0x5D,	O_eor,	"eor",	ADDR_ABS_IDX_X},
-	{0x59,	O_eor,	"eor",	ADDR_ABS_IDX_Y},
-	{0x4F,	O_eor,	"eor",	ADDR_ABS_LONG},
-	{0x5F,	O_eor,	"eor",	ADDR_ABS_LONG_IDX_X},
-	{0x45,	O_eor,	"eor",	ADDR_DIR},
-	{0x43,	O_eor,	"eor",	ADDR_STACK_REL},
-	{0x55,	O_eor,	"eor",	ADDR_DIR_IDX_X},
-	{0x1A,	O_inc,	"inc",	ADDR_ACC},
-	{0xEE,	O_inc,	"inc",	ADDR_ABS},
-	{0xFE,	O_inc,	"inc",	ADDR_ABS_IDX_X},
-	{0xE6,	O_inc,	"inc",	ADDR_DIR},
-	{0xF6,	O_inc,	"inc",	ADDR_DIR_IDX_X},
-	{0xE8,	O_inx,	"inx",	ADDR_IMPLIED},
-	{0xC8,	O_iny,	"iny",	ADDR_IMPLIED},
-	{0x6C,	O_jmp,	"jmp",	ADDR_ABS_IND},
-	{0x7C,	O_jmp,	"jmp",	ADDR_ABS_IND_IDX},
-	{0xDC,	O_jmp,	"jmp",	ADDR_ABS_IND_LONG},
-	{0x4C,	O_jmp,	"jmp",	ADDR_ABS},
-	{0x5C,	O_jmp,	"jmp",	ADDR_ABS_LONG},
-	{0xFC,	O_jsr,	"jsr",	ADDR_ABS_IND_IDX},
-	{0x20,	O_jsr,	"jsr",	ADDR_ABS},
-	{0x22,	O_jsr,	"jsr",	ADDR_ABS_LONG},
-	{0xA9,	O_lda,	"lda",	ADDR_IMMTOA},
-	{0xB2,	O_lda,	"lda",	ADDR_DIR_IND},
-	{0xB1,	O_lda,	"lda",	ADDR_DIR_IND_IDX_Y},
-	{0xB3,	O_lda,	"lda",	ADDR_STACK_REL_INDX_IDX},
-	{0xA1,	O_lda,	"lda",	ADDR_DIR_IDX_IND_X},
-	{0xA7,	O_lda,	"lda",	ADDR_DIR_IND_LONG},
-	{0xB7,	O_lda,	"lda",	ADDR_DIR_IND_IDX_Y_LONG},
-	{0xAD,	O_lda,	"lda",	ADDR_ABS},
-	{0xBD,	O_lda,	"lda",	ADDR_ABS_IDX_X},
-	{0xB9,	O_lda,	"lda",	ADDR_ABS_IDX_Y},
-	{0xAF,	O_lda,	"lda",	ADDR_ABS_LONG},
-	{0xBF,	O_lda,	"lda",	ADDR_ABS_LONG_IDX_X},
-	{0xA5,	O_lda,	"lda",	ADDR_DIR},
-	{0xA3,	O_lda,	"lda",	ADDR_STACK_REL},
-	{0xB5,	O_lda,	"lda",	ADDR_DIR_IDX_X},
-	{0xA2,	O_ldx,	"ldx",	ADDR_IMMTOI},
-	{0xAE,	O_ldx,	"ldx",	ADDR_ABS},
-	{0xBE,	O_ldx,	"ldx",	ADDR_ABS_IDX_Y},
-	{0xA6,	O_ldx,	"ldx",	ADDR_DIR},
-	{0xB6,	O_ldx,	"ldx",	ADDR_DIR_IDX_Y},
-	{0xA0,	O_ldy,	"ldy",	ADDR_IMMTOI},
-	{0xAC,	O_ldy,	"ldy",	ADDR_ABS},
-	{0xBC,	O_ldy,	"ldy",	ADDR_ABS_IDX_X},
-	{0xA4,	O_ldy,	"ldy",	ADDR_DIR},
-	{0xB4,	O_ldy,	"ldy",	ADDR_DIR_IDX_X},
-	{0x4A,	O_lsr,	"lsr",	ADDR_ACC},
-	{0x4E,	O_lsr,	"lsr",	ADDR_ABS},
-	{0x5E,	O_lsr,	"lsr",	ADDR_ABS_IDX_X},
-	{0x46,	O_lsr,	"lsr",	ADDR_DIR},
-	{0x56,	O_lsr,	"lsr",	ADDR_DIR_IDX_X},
-	{0x54,	O_mvn,	"mvn",	ADDR_BLOCK_MOVE},
-	{0x44,	O_mvp,	"mvp",	ADDR_BLOCK_MOVE},
-	{0xEA,	O_nop,	"nop",	ADDR_IMPLIED},
-	{0x09,	O_ora,	"ora",	ADDR_IMMTOA},
-	{0x12,	O_ora,	"ora",	ADDR_DIR_IND},
-	{0x11,	O_ora,	"ora",	ADDR_DIR_IND_IDX_Y},
-	{0x13,	O_ora,	"ora",	ADDR_STACK_REL_INDX_IDX},
-	{0x01,	O_ora,	"ora",	ADDR_DIR_IDX_IND_X},
-	{0x07,	O_ora,	"ora",	ADDR_DIR_IND_LONG},
-	{0x17,	O_ora,	"ora",	ADDR_DIR_IND_IDX_Y_LONG},
-	{0x0D,	O_ora,	"ora",	ADDR_ABS},
-	{0x1D,	O_ora,	"ora",	ADDR_ABS_IDX_X},
-	{0x19,	O_ora,	"ora",	ADDR_ABS_IDX_Y},
-	{0x0F,	O_ora,	"ora",	ADDR_ABS_LONG},
-	{0x1F,	O_ora,	"ora",	ADDR_ABS_LONG_IDX_X},
-	{0x05,	O_ora,	"ora",	ADDR_DIR},
-	{0x03,	O_ora,	"ora",	ADDR_STACK_REL},
-	{0x15,	O_ora,	"ora",	ADDR_DIR_IDX_X},
-	{0xF4,	O_pea,	"pea",	ADDR_ABS},
-	{0xD4,	O_pei,	"pei",	ADDR_DIR},
-	{0x62,	O_per,	"per",	ADDR_PC_REL_LONG},
-	{0x48,	O_pha,	"pha",	ADDR_STACK},
-	{0x8B,	O_phb,	"phb",	ADDR_STACK},
-	{0x0B,	O_phd,	"phd",	ADDR_STACK},
-	{0x4B,	O_phk,	"phk",	ADDR_STACK},
-	{0x08,	O_php,	"php",	ADDR_STACK},
-	{0xDA,	O_phx,	"phx",	ADDR_STACK},
-	{0x5A,	O_phy,	"phy",	ADDR_STACK},
-	{0x68,	O_pla,	"pla",	ADDR_STACK},
-	{0xAB,	O_plb,	"plb",	ADDR_STACK},
-	{0x2B,	O_pld,	"pld",	ADDR_STACK},
-	{0x28,	O_plp,	"plp",	ADDR_STACK},
-	{0xFA,	O_plx,	"plx",	ADDR_STACK},
-	{0x7A,	O_ply,	"ply",	ADDR_STACK},
-	{0xC2,	O_rep,	"rep",	ADDR_IMMCOP},
-	{0x2A,	O_rol,	"rol",	ADDR_ACC},
-	{0x2E,	O_rol,	"rol",	ADDR_ABS},
-	{0x3E,	O_rol,	"rol",	ADDR_ABS_IDX_X},
-	{0x26,	O_rol,	"rol",	ADDR_DIR},
-	{0x36,	O_rol,	"rol",	ADDR_DIR_IDX_X},
-	{0x6A,	O_ror,	"ror",	ADDR_ACC},
-	{0x6E,	O_ror,	"ror",	ADDR_ABS},
-	{0x7E,	O_ror,	"ror",	ADDR_ABS_IDX_X},
-	{0x66,	O_ror,	"ror",	ADDR_DIR},
-	{0x76,	O_ror,	"ror",	ADDR_DIR_IDX_X},
-	{0x40,	O_rti,	"rti",	ADDR_STACK},
-	{0x6B,	O_rtl,	"rtl",	ADDR_STACK},
-	{0x60,	O_rts,	"rts",	ADDR_STACK},
-	{0xE9,	O_sbc,	"sbc",	ADDR_IMMTOA},
-	{0xF2,	O_sbc,	"sbc",	ADDR_DIR_IND},
-	{0xF1,	O_sbc,	"sbc",	ADDR_DIR_IND_IDX_Y},
-	{0xF3,	O_sbc,	"sbc",	ADDR_STACK_REL_INDX_IDX},
-	{0xE1,	O_sbc,	"sbc",	ADDR_DIR_IDX_IND_X},
-	{0xE7,	O_sbc,	"sbc",	ADDR_DIR_IND_LONG},
-	{0xF7,	O_sbc,	"sbc",	ADDR_DIR_IND_IDX_Y_LONG},
-	{0xED,	O_sbc,	"sbc",	ADDR_ABS},
-	{0xFD,	O_sbc,	"sbc",	ADDR_ABS_IDX_X},
-	{0xF9,	O_sbc,	"sbc",	ADDR_ABS_IDX_Y},
-	{0xEF,	O_sbc,	"sbc",	ADDR_ABS_LONG},
-	{0xFF,	O_sbc,	"sbc",	ADDR_ABS_LONG_IDX_X},
-	{0xE5,	O_sbc,	"sbc",	ADDR_DIR},
-	{0xE3,	O_sbc,	"sbc",	ADDR_STACK_REL},
-	{0xF5,	O_sbc,	"sbc",	ADDR_DIR_IDX_X},
-	{0x38,	O_sec,	"sec",	ADDR_IMPLIED},
-	{0xF8,	O_sed,	"sed",	ADDR_IMPLIED},
-	{0x78,	O_sei,	"sei",	ADDR_IMPLIED},
-	{0xE2,	O_sep,	"sep",	ADDR_IMMCOP},
-	{0x92,	O_sta,	"sta",	ADDR_DIR_IND},
-	{0x91,	O_sta,	"sta",	ADDR_DIR_IND_IDX_Y},
-	{0x93,	O_sta,	"sta",	ADDR_STACK_REL_INDX_IDX},
-	{0x81,	O_sta,	"sta",	ADDR_DIR_IDX_IND_X},
-	{0x87,	O_sta,	"sta",	ADDR_DIR_IND_LONG},
-	{0x97,	O_sta,	"sta",	ADDR_DIR_IND_IDX_Y_LONG},
-	{0x8D,	O_sta,	"sta",	ADDR_ABS},
-	{0x9D,	O_sta,	"sta",	ADDR_ABS_IDX_X},
-	{0x99,	O_sta,	"sta",	ADDR_ABS_IDX_Y},
-	{0x8F,	O_sta,	"sta",	ADDR_ABS_LONG},
-	{0x9F,	O_sta,	"sta",	ADDR_ABS_LONG_IDX_X},
-	{0x85,	O_sta,	"sta",	ADDR_DIR},
-	{0x83,	O_sta,	"sta",	ADDR_STACK_REL},
-	{0x95,	O_sta,	"sta",	ADDR_DIR_IDX_X},
-	{0xDB,	O_stp,	"stp",	ADDR_IMPLIED},
-	{0x8E,	O_stx,	"stx",	ADDR_ABS},
-	{0x86,	O_stx,	"stx",	ADDR_DIR},
-	{0x96,	O_stx,	"stx",	ADDR_DIR_IDX_X},
-	{0x8C,	O_sty,	"sty",	ADDR_ABS},
-	{0x84,	O_sty,	"sty",	ADDR_DIR},
-	{0x94,	O_sty,	"sty",	ADDR_DIR_IDX_X},
-	{0x9C,	O_stz,	"stz",	ADDR_ABS},
-	{0x9E,	O_stz,	"stz",	ADDR_ABS_IDX_X},
-	{0x64,	O_stz,	"stz",	ADDR_DIR},
-	{0x74,	O_stz,	"stz",	ADDR_DIR_IDX_X},
-	{0xAA,	O_tax,	"tax",	ADDR_IMPLIED},
-	{0xA8,	O_tay,	"tay",	ADDR_IMPLIED},
-	{0x5B,	O_tcd,	"tcd",	ADDR_IMPLIED},
-	{0x1B,	O_tcs,	"tcs",	ADDR_IMPLIED},
-	{0x7B,	O_tdc,	"tdc",	ADDR_IMPLIED},
-	{0x1C,	O_trb,	"trb",	ADDR_ABS},
-	{0x14,	O_trb,	"trb",	ADDR_DIR},
-	{0x0C,	O_tsb,	"tsb",	ADDR_ABS},
-	{0x04,	O_tsb,	"tsb",	ADDR_DIR},
-	{0x3B,	O_tsc,	"tsc",	ADDR_IMPLIED},
-	{0xBA,	O_tsx,	"tsx",	ADDR_IMPLIED},
-	{0x8A,	O_txa,	"txa",	ADDR_IMPLIED},
-	{0x9A,	O_txs,	"txs",	ADDR_IMPLIED},
-	{0x9B,	O_txy,	"txy",	ADDR_IMPLIED},
-	{0x98,	O_tya,	"tya",	ADDR_IMPLIED},
-	{0xBB,	O_tyx,	"tyx",	ADDR_IMPLIED},
-	{0xCB,	O_wai,	"wai",	ADDR_IMPLIED},
-	{0x42,	O_wdm,	"wdm",	ADDR_IMPLIED},
-	{0xEB,	O_xba,	"xba",	ADDR_IMPLIED},
-	{0xFB,	O_xce,	"xce",	ADDR_IMPLIED},
-	{ 0, 0, NULL, 0 }
-};
-#endif
-#define DISASM()\
-  case ADDR_IMMTOA:\
-	args[0] = M==0 ? asR_W65_ABS16 : asR_W65_ABS8;\
-	print_operand (0, "	#$0", args);\
-	size += M==0 ? 2:1;\
-	break;\
-  case ADDR_IMMCOP:\
-	args[0] = asR_W65_ABS8;\
-	print_operand (0, "	#$0", args);\
-	size += 1;\
-	break;\
-  case ADDR_IMMTOI:\
-	args[0] = X==0 ? asR_W65_ABS16 : asR_W65_ABS8;\
-	print_operand (0, "	#$0", args);\
-	size += X==0 ? 2:1;\
-	break;\
-  case ADDR_ACC:\
-	print_operand (0, "	a", 0);\
-	size += 0;\
-	break;\
-  case ADDR_PC_REL:\
-	args[0] = asR_W65_PCR8;\
-	print_operand (0, "	$0", args);\
-	size += 1;\
-	break;\
-  case ADDR_PC_REL_LONG:\
-	args[0] = asR_W65_PCR16;\
-	print_operand (0, "	$0", args);\
-	size += 2;\
-	break;\
-  case ADDR_IMPLIED:\
-		size += 0;\
-	break;\
-  case ADDR_STACK:\
-		size += 0;\
-	break;\
-  case ADDR_DIR:\
-	args[0] = asR_W65_ABS8;\
-	print_operand (1, "	<$0", args);\
-	size += 1;\
-	break;\
-  case ADDR_DIR_IDX_X:\
-	args[0] = asR_W65_ABS8;\
-	print_operand (1, "	<$0,x", args);\
-	size += 1;\
-	break;\
-  case ADDR_DIR_IDX_Y:\
-	args[0] = asR_W65_ABS8;\
-	print_operand (1, "	<$0,y", args);\
-	size += 1;\
-	break;\
-  case ADDR_DIR_IND:\
-	args[0] = asR_W65_ABS8;\
-	print_operand (1, "	(<$0)", args);\
-	size += 1;\
-	break;\
-  case ADDR_DIR_IDX_IND_X:\
-	args[0] = asR_W65_ABS8;\
-	print_operand (1, "	(<$0,x)", args);\
-	size += 1;\
-	break;\
-  case ADDR_DIR_IND_IDX_Y:\
-	args[0] = asR_W65_ABS8;\
-	print_operand (1, "	(<$0),y", args);\
-	size += 1;\
-	break;\
-  case ADDR_DIR_IND_LONG:\
-	args[0] = asR_W65_ABS8;\
-	print_operand (1, "	[$0]", args);\
-	size += 1;\
-	break;\
-  case ADDR_DIR_IND_IDX_Y_LONG:\
-	args[0] = asR_W65_ABS8;\
-	print_operand (1, "	[$0],y", args);\
-	size += 1;\
-	break;\
-  case ADDR_ABS:\
-	args[0] = asR_W65_ABS16;\
-	print_operand (1, "	!$0", args);\
-	size += 2;\
-	break;\
-  case ADDR_ABS_IDX_X:\
-	args[0] = asR_W65_ABS16;\
-	print_operand (1, "	!$0,x", args);\
-	size += 2;\
-	break;\
-  case ADDR_ABS_IDX_Y:\
-	args[0] = asR_W65_ABS16;\
-	print_operand (1, "	!$0,y", args);\
-	size += 2;\
-	break;\
-  case ADDR_ABS_LONG:\
-	args[0] = asR_W65_ABS24;\
-	print_operand (1, "	>$0", args);\
-	size += 3;\
-	break;\
-  case ADDR_ABS_IND_LONG:\
-	args[0] = asR_W65_ABS16;\
-	print_operand (1, "	[>$0]", args);\
-	size += 2;\
-	break;\
-  case ADDR_ABS_LONG_IDX_X:\
-	args[0] = asR_W65_ABS24;\
-	print_operand (1, "	>$0,x", args);\
-	size += 3;\
-	break;\
-  case ADDR_STACK_REL:\
-	args[0] = asR_W65_ABS8;\
-	print_operand (0, "	$0,s", args);\
-	size += 1;\
-	break;\
-  case ADDR_STACK_REL_INDX_IDX:\
-	args[0] = asR_W65_ABS8;\
-	print_operand (0, "	($0,s),y", args);\
-	size += 1;\
-	break;\
-  case ADDR_ABS_IND:\
-	args[0] = asR_W65_ABS16;\
-	print_operand (1, "	($0)", args);\
-	size += 2;\
-	break;\
-  case ADDR_ABS_IND_IDX:\
-	args[0] = asR_W65_ABS16;\
-	print_operand (1, "	($0,x)", args);\
-	size += 2;\
-	break;\
-  case ADDR_BLOCK_MOVE:\
-	args[0] = (asR_W65_ABS16 >>8) &0xff;\
-	args[1] = ( asR_W65_ABS16 & 0xff);\
-	print_operand (0,"	$0,$1",args);\
-	size += 2;\
-	break;\
-
-#define GETINFO(size,type,pcrel)\
-	case ADDR_IMMTOA: size = M==0 ? 2:1;type=M==0 ? R_W65_ABS16 : R_W65_ABS8;pcrel=0;break;\
-	case ADDR_IMMCOP: size = 1;type=R_W65_ABS8;pcrel=0;break;\
-	case ADDR_IMMTOI: size = X==0 ? 2:1;type=X==0 ? R_W65_ABS16 : R_W65_ABS8;pcrel=0;break;\
-	case ADDR_ACC: size = 0;type=-1;pcrel=0;break;\
-	case ADDR_PC_REL: size = 1;type=R_W65_PCR8;pcrel=0;break;\
-	case ADDR_PC_REL_LONG: size = 2;type=R_W65_PCR16;pcrel=0;break;\
-	case ADDR_IMPLIED: size = 0;type=-1;pcrel=0;break;\
-	case ADDR_STACK: size = 0;type=-1;pcrel=0;break;\
-	case ADDR_DIR: size = 1;type=R_W65_ABS8;pcrel=0;break;\
-	case ADDR_DIR_IDX_X: size = 1;type=R_W65_ABS8;pcrel=0;break;\
-	case ADDR_DIR_IDX_Y: size = 1;type=R_W65_ABS8;pcrel=0;break;\
-	case ADDR_DIR_IND: size = 1;type=R_W65_ABS8;pcrel=0;break;\
-	case ADDR_DIR_IDX_IND_X: size = 1;type=R_W65_ABS8;pcrel=0;break;\
-	case ADDR_DIR_IND_IDX_Y: size = 1;type=R_W65_ABS8;pcrel=0;break;\
-	case ADDR_DIR_IND_LONG: size = 1;type=R_W65_ABS8;pcrel=0;break;\
-	case ADDR_DIR_IND_IDX_Y_LONG: size = 1;type=R_W65_ABS8;pcrel=0;break;\
-	case ADDR_ABS: size = 2;type=R_W65_ABS16;pcrel=0;break;\
-	case ADDR_ABS_IDX_X: size = 2;type=R_W65_ABS16;pcrel=0;break;\
-	case ADDR_ABS_IDX_Y: size = 2;type=R_W65_ABS16;pcrel=0;break;\
-	case ADDR_ABS_LONG: size = 3;type=R_W65_ABS24;pcrel=0;break;\
-	case ADDR_ABS_IND_LONG: size = 2;type=R_W65_ABS16;pcrel=0;break;\
-	case ADDR_ABS_LONG_IDX_X: size = 3;type=R_W65_ABS24;pcrel=0;break;\
-	case ADDR_STACK_REL: size = 1;type=R_W65_ABS8;pcrel=0;break;\
-	case ADDR_STACK_REL_INDX_IDX: size = 1;type=R_W65_ABS8;pcrel=0;break;\
-	case ADDR_ABS_IND: size = 2;type=R_W65_ABS16;pcrel=0;break;\
-	case ADDR_ABS_IND_IDX: size = 2;type=R_W65_ABS16;pcrel=0;break;\
-	case ADDR_BLOCK_MOVE: size = 2;type=-1;pcrel=0;break;\
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/wasm32-dis.c ./opcodes/wasm32-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/wasm32-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/wasm32-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -269,7 +269,7 @@ print_insn_wasm32 (bfd_vma pc, struct di
   long flags = 0;
   long offset = 0;
   long depth = 0;
-  long index = 0;
+  long function_index = 0;
   long target_count = 0;
   long block_type = 0;
   int len = 1;
@@ -416,14 +416,14 @@ print_insn_wasm32 (bfd_vma pc, struct di
           break;
 
         case wasm_call:
-          index = wasm_read_leb128
+          function_index = wasm_read_leb128
             (pc + len, info, &error, &bytes_read, FALSE);
           if (error)
             return -1;
           len += bytes_read;
           prin (stream, " ");
           private_data->section_prefix = ".space.function_index";
-          (*info->print_address_func) ((bfd_vma) index, info);
+          (*info->print_address_func) ((bfd_vma) function_index, info);
           private_data->section_prefix = NULL;
           break;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xc16x-asm.c ./opcodes/xc16x-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xc16x-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/xc16x-asm.c	2018-07-10 02:06:15.000000000 +0000
@@ -373,7 +373,9 @@ xc16x_cgen_parse_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xc16x-desc.c ./opcodes/xc16x-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xc16x-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/xc16x-desc.c	2018-07-10 02:06:15.000000000 +0000
@@ -3179,6 +3179,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -3339,8 +3344,11 @@ xc16x_cgen_rebuild_tables (CGEN_CPU_TABL
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: xc16x_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -3419,8 +3427,11 @@ xc16x_cgen_cpu_open (enum cgen_cpu_open_
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "xc16x_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: xc16x_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -3435,7 +3446,9 @@ xc16x_cgen_cpu_open (enum cgen_cpu_open_
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "xc16x_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: xc16x_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xc16x-dis.c ./opcodes/xc16x-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xc16x-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/xc16x-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -417,9 +417,10 @@ xc16x_cgen_print_operand (CGEN_CPU_DESC 
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xc16x-ibld.c ./opcodes/xc16x-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xc16x-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/xc16x-ibld.c	2018-07-10 02:06:15.000000000 +0000
@@ -753,8 +753,9 @@ xc16x_cgen_insert_operand (CGEN_CPU_DESC
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -973,8 +974,9 @@ xc16x_cgen_extract_operand (CGEN_CPU_DES
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -1194,8 +1196,9 @@ xc16x_cgen_get_int_operand (CGEN_CPU_DES
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -1397,8 +1400,9 @@ xc16x_cgen_get_vma_operand (CGEN_CPU_DES
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -1601,8 +1605,9 @@ xc16x_cgen_set_int_operand (CGEN_CPU_DES
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -1795,8 +1800,9 @@ xc16x_cgen_set_vma_operand (CGEN_CPU_DES
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xstormy16-asm.c ./opcodes/xstormy16-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xstormy16-asm.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/xstormy16-asm.c	2018-07-10 02:06:15.000000000 +0000
@@ -273,7 +273,9 @@ xstormy16_cgen_parse_operand (CGEN_CPU_D
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while parsing.\n"), opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while parsing"),
+	 opindex);
       abort ();
   }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xstormy16-desc.c ./opcodes/xstormy16-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xstormy16-desc.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/xstormy16-desc.c	2018-07-10 02:06:15.000000000 +0000
@@ -1147,6 +1147,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -1307,8 +1312,11 @@ xstormy16_cgen_rebuild_tables (CGEN_CPU_
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: xstormy16_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -1387,8 +1395,11 @@ xstormy16_cgen_cpu_open (enum cgen_cpu_o
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
 	default :
-	  fprintf (stderr, "xstormy16_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: xstormy16_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -1403,7 +1414,9 @@ xstormy16_cgen_cpu_open (enum cgen_cpu_o
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "xstormy16_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: xstormy16_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xstormy16-dis.c ./opcodes/xstormy16-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xstormy16-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/xstormy16-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -165,9 +165,10 @@ xstormy16_cgen_print_operand (CGEN_CPU_D
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while printing insn.\n"),
-	       opindex);
-    abort ();
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while printing insn"),
+	 opindex);
+      abort ();
   }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xstormy16-ibld.c ./opcodes/xstormy16-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xstormy16-ibld.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/xstormy16-ibld.c	2018-07-10 02:06:15.000000000 +0000
@@ -679,8 +679,9 @@ xstormy16_cgen_insert_operand (CGEN_CPU_
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while building insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while building insn"),
+	 opindex);
       abort ();
   }
 
@@ -825,8 +826,9 @@ xstormy16_cgen_extract_operand (CGEN_CPU
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while decoding insn.\n"),
-	       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while decoding insn"),
+	 opindex);
       abort ();
     }
 
@@ -935,8 +937,9 @@ xstormy16_cgen_get_int_operand (CGEN_CPU
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting int operand"),
+	 opindex);
       abort ();
   }
 
@@ -1027,8 +1030,9 @@ xstormy16_cgen_get_vma_operand (CGEN_CPU
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while getting vma operand"),
+	 opindex);
       abort ();
   }
 
@@ -1126,8 +1130,9 @@ xstormy16_cgen_set_int_operand (CGEN_CPU
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting int operand"),
+	 opindex);
       abort ();
   }
 }
@@ -1215,8 +1220,9 @@ xstormy16_cgen_set_vma_operand (CGEN_CPU
 
     default :
       /* xgettext:c-format */
-      fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),
-		       opindex);
+      opcodes_error_handler
+	(_("internal error: unrecognized field %d while setting vma operand"),
+	 opindex);
       abort ();
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xtensa-dis.c ./opcodes/xtensa-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/opcodes/xtensa-dis.c	2018-07-03 02:06:30.000000000 +0000
+++ ./opcodes/xtensa-dis.c	2018-07-10 02:06:15.000000000 +0000
@@ -27,6 +27,8 @@
 #include "xtensa-isa.h"
 #include "ansidecl.h"
 #include "libiberty.h"
+#include "bfd.h"
+#include "elf/xtensa.h"
 #include "disassemble.h"
 
 #include <setjmp.h>
@@ -43,8 +45,119 @@ struct dis_private
 {
   bfd_byte *byte_buf;
   OPCODES_SIGJMP_BUF bailout;
+  /* Persistent fields, valid for last_section only.  */
+  asection *last_section;
+  property_table_entry *insn_table_entries;
+  int insn_table_entry_count;
+  /* Cached property table search position.  */
+  bfd_vma insn_table_cur_addr;
+  int insn_table_cur_idx;
 };
 
+static void
+xtensa_coalesce_insn_tables (struct dis_private *priv)
+{
+  const int mask = ~(XTENSA_PROP_DATA | XTENSA_PROP_NO_TRANSFORM);
+  int count = priv->insn_table_entry_count;
+  int i, j;
+
+  /* Loop over all entries, combining adjacent ones that differ only in
+     the flag bits XTENSA_PROP_DATA and XTENSA_PROP_NO_TRANSFORM.  */
+
+  for (i = j = 0; j < count; ++i)
+    {
+      property_table_entry *entry = priv->insn_table_entries + i;
+
+      *entry = priv->insn_table_entries[j];
+
+      for (++j; j < count; ++j)
+	{
+	  property_table_entry *next = priv->insn_table_entries + j;
+	  int fill = xtensa_compute_fill_extra_space (entry);
+	  int size = entry->size + fill;
+
+	  if (entry->address + size == next->address)
+	    {
+	      int entry_flags = entry->flags & mask;
+	      int next_flags = next->flags & mask;
+
+	      if (next_flags == entry_flags)
+		entry->size = next->address - entry->address + next->size;
+	      else
+		break;
+	    }
+	  else
+	    {
+	      break;
+	    }
+	}
+    }
+  priv->insn_table_entry_count = i;
+}
+
+static property_table_entry *
+xtensa_find_table_entry (bfd_vma memaddr, struct disassemble_info *info)
+{
+  struct dis_private *priv = (struct dis_private *) info->private_data;
+  int i;
+
+  if (priv->insn_table_entries == NULL
+      || priv->insn_table_entry_count < 0)
+    return NULL;
+
+  if (memaddr < priv->insn_table_cur_addr)
+    priv->insn_table_cur_idx = 0;
+
+  for (i = priv->insn_table_cur_idx; i < priv->insn_table_entry_count; ++i)
+    {
+      property_table_entry *block = priv->insn_table_entries + i;
+
+      if (block->size != 0)
+	{
+	  if ((memaddr >= block->address
+	       && memaddr < block->address + block->size)
+	      || memaddr < block->address)
+	    {
+	      priv->insn_table_cur_addr = memaddr;
+	      priv->insn_table_cur_idx = i;
+	      return block;
+	    }
+	}
+    }
+  return NULL;
+}
+
+/* Check whether an instruction crosses an instruction block boundary
+   (according to property tables).
+   If it does, return 0 (doesn't fit), else return 1.  */
+
+static int
+xtensa_instruction_fits (bfd_vma memaddr, int size,
+			 property_table_entry *insn_block)
+{
+  unsigned max_size;
+
+  /* If no property table info, assume it fits.  */
+  if (insn_block == NULL || size <= 0)
+    return 1;
+
+  /* If too high, limit nextstop by the next insn address.  */
+  if (insn_block->address > memaddr)
+    {
+      /* memaddr is not in an instruction block, but is followed by one.  */
+      max_size = insn_block->address - memaddr;
+    }
+  else
+    {
+      /* memaddr is in an instruction block, go no further than the end.  */
+      max_size = insn_block->address + insn_block->size - memaddr;
+    }
+
+  /* Crossing a boundary, doesn't "fit".  */
+  if ((unsigned)size > max_size)
+    return 0;
+  return 1;
+}
 
 static int
 fetch_data (struct disassemble_info *info, bfd_vma memaddr)
@@ -53,6 +166,8 @@ fetch_data (struct disassemble_info *inf
   struct dis_private *priv = (struct dis_private *) info->private_data;
   int insn_size = xtensa_isa_maxlength (xtensa_default_isa);
 
+  insn_size = MAX (insn_size, 4);
+
   /* Read the maximum instruction size, padding with zeros if we go past
      the end of the text section.  This code will automatically adjust
      length when we hit the end of the buffer.  */
@@ -140,11 +255,12 @@ print_insn_xtensa (bfd_vma memaddr, stru
   xtensa_isa isa;
   xtensa_opcode opc;
   xtensa_format fmt;
-  struct dis_private priv;
+  static struct dis_private priv;
   static bfd_byte *byte_buf = NULL;
   static xtensa_insnbuf insn_buffer = NULL;
   static xtensa_insnbuf slot_buffer = NULL;
   int first, first_slot, valid_insn;
+  property_table_entry *insn_block;
 
   if (!xtensa_default_isa)
     xtensa_default_isa = xtensa_isa_init (0, 0);
@@ -175,48 +291,105 @@ print_insn_xtensa (bfd_vma memaddr, stru
   priv.byte_buf = byte_buf;
 
   info->private_data = (void *) &priv;
+
+  /* Prepare instruction tables.  */
+
+  if (info->section != NULL)
+    {
+      asection *section = info->section;
+
+      if (priv.last_section != section)
+	{
+	  bfd *abfd = section->owner;
+
+	  if (priv.last_section != NULL)
+	    {
+	      /* Reset insn_table_entries.  */
+	      priv.insn_table_entry_count = 0;
+	      if (priv.insn_table_entries)
+		free (priv.insn_table_entries);
+	      priv.insn_table_entries = NULL;
+	    }
+	  priv.last_section = section;
+
+	  /* Read insn_table_entries.  */
+	  priv.insn_table_entry_count =
+	    xtensa_read_table_entries (abfd, section,
+				       &priv.insn_table_entries,
+				       XTENSA_PROP_SEC_NAME, FALSE);
+	  if (priv.insn_table_entry_count == 0)
+	    {
+	      if (priv.insn_table_entries)
+		free (priv.insn_table_entries);
+	      priv.insn_table_entries = NULL;
+	      /* Backwards compatibility support.  */
+	      priv.insn_table_entry_count =
+		xtensa_read_table_entries (abfd, section,
+					   &priv.insn_table_entries,
+					   XTENSA_INSN_SEC_NAME, FALSE);
+	    }
+	  priv.insn_table_cur_idx = 0;
+	  xtensa_coalesce_insn_tables (&priv);
+	}
+      /* Else nothing to do, same section as last time.  */
+    }
+
   if (OPCODES_SIGSETJMP (priv.bailout) != 0)
       /* Error return.  */
       return -1;
 
+  /* Fetch the maximum size instruction.  */
+  bytes_fetched = fetch_data (info, memaddr);
+
+  insn_block = xtensa_find_table_entry (memaddr, info);
+
   /* Don't set "isa" before the setjmp to keep the compiler from griping.  */
   isa = xtensa_default_isa;
   size = 0;
   nslots = 0;
-
-  /* Fetch the maximum size instruction.  */
-  bytes_fetched = fetch_data (info, memaddr);
-
-  /* Copy the bytes into the decode buffer.  */
-  memset (insn_buffer, 0, (xtensa_insnbuf_size (isa) *
-			   sizeof (xtensa_insnbuf_word)));
-  xtensa_insnbuf_from_chars (isa, insn_buffer, priv.byte_buf, bytes_fetched);
-
-  fmt = xtensa_format_decode (isa, insn_buffer);
-  if (fmt == XTENSA_UNDEFINED
-      || ((size = xtensa_format_length (isa, fmt)) > bytes_fetched))
-    valid_insn = 0;
-  else
+  valid_insn = 0;
+  fmt = 0;
+  if (!insn_block || (insn_block->flags & XTENSA_PROP_INSN))
     {
-      /* Make sure all the opcodes are valid.  */
-      valid_insn = 1;
-      nslots = xtensa_format_num_slots (isa, fmt);
-      for (n = 0; n < nslots; n++)
-	{
-	  xtensa_format_get_slot (isa, fmt, n, insn_buffer, slot_buffer);
-	  if (xtensa_opcode_decode (isa, fmt, n, slot_buffer)
-	      == XTENSA_UNDEFINED)
+      /* Copy the bytes into the decode buffer.  */
+      memset (insn_buffer, 0, (xtensa_insnbuf_size (isa) *
+			       sizeof (xtensa_insnbuf_word)));
+      xtensa_insnbuf_from_chars (isa, insn_buffer, priv.byte_buf,
+				 bytes_fetched);
+
+      fmt = xtensa_format_decode (isa, insn_buffer);
+      if (fmt != XTENSA_UNDEFINED
+	  && ((size = xtensa_format_length (isa, fmt)) <= bytes_fetched)
+	  && xtensa_instruction_fits (memaddr, size, insn_block))
+	{
+	  /* Make sure all the opcodes are valid.  */
+	  valid_insn = 1;
+	  nslots = xtensa_format_num_slots (isa, fmt);
+	  for (n = 0; n < nslots; n++)
 	    {
-	      valid_insn = 0;
-	      break;
+	      xtensa_format_get_slot (isa, fmt, n, insn_buffer, slot_buffer);
+	      if (xtensa_opcode_decode (isa, fmt, n, slot_buffer)
+		  == XTENSA_UNDEFINED)
+		{
+		  valid_insn = 0;
+		  break;
+		}
 	    }
 	}
     }
 
   if (!valid_insn)
     {
-      (*info->fprintf_func) (info->stream, ".byte %#02x", priv.byte_buf[0]);
-      return 1;
+      if (insn_block && (insn_block->flags & XTENSA_PROP_LITERAL)
+	  && (memaddr & 3) == 0 && bytes_fetched >= 4)
+	{
+	  return 4;
+	}
+      else
+	{
+	  (*info->fprintf_func) (info->stream, ".byte %#02x", priv.byte_buf[0]);
+	  return 1;
+	}
     }
 
   if (nslots > 1)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/readline/configure ./readline/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/readline/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./readline/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,13 +1,13 @@
 #! /bin/sh
 # From configure.in for Readline 6.2, version 2.67.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for readline 6.2.
+# Generated by GNU Autoconf 2.69 for readline 6.2.
 #
 # Report bugs to <bug-readline@gnu.org>.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -90,6 +90,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -134,6 +135,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -167,7 +193,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -212,14 +239,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -318,10 +356,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -358,19 +404,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -443,6 +489,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -477,16 +527,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -498,28 +548,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -528,10 +558,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -767,8 +798,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -813,7 +845,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -839,7 +871,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1043,7 +1075,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1059,7 +1091,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1089,8 +1121,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1098,7 +1130,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1108,7 +1140,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1116,13 +1148,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1145,7 +1177,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1159,8 +1191,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1175,9 +1205,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1216,11 +1246,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1260,7 +1290,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1320,7 +1350,7 @@ Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --enable-multibyte      enable multibyte characters if OS supports them
-  --enable-static         build static libraries [default=YES]
+  --enable-static         build static libraries [[default=YES]]
   --disable-largefile     omit support for large files
 
 Optional Packages:
@@ -1336,7 +1366,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1407,9 +1437,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 readline configure 6.2
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1453,8 +1483,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1479,7 +1509,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1490,8 +1520,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1503,10 +1533,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1542,7 +1572,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1565,17 +1595,15 @@ case $ac_header_compiler:$ac_header_prep
 $as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( cat <<\_ASBOX
-## ----------------------------------- ##
+( $as_echo "## ----------------------------------- ##
 ## Report this to bug-readline@gnu.org ##
-## ----------------------------------- ##
-_ASBOX
+## ----------------------------------- ##"
      ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1584,7 +1612,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1625,8 +1653,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1639,7 +1667,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1657,7 +1685,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1670,7 +1698,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1711,7 +1739,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 
@@ -1742,7 +1770,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1756,8 +1784,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1769,7 +1797,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1824,7 +1852,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 cat >config.log <<_ACEOF
@@ -1832,7 +1860,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by readline $as_me 6.2, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1942,11 +1970,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -1980,11 +2006,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -1997,11 +2021,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2015,11 +2037,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2074,7 +2094,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2085,18 +2110,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2165,7 +2194,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2187,16 +2216,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in `cd $srcdir;pwd`/.. "$srcdir"/`cd $srcdir;pwd`/..; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \`cd $srcdir;pwd\`/.. \"$srcdir\"/\`cd $srcdir;pwd\`/.." "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \`cd $srcdir;pwd\`/.. \"$srcdir\"/\`cd $srcdir;pwd\`/.." "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -2215,27 +2250,27 @@ LIBVERSION=6.2
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -2253,14 +2288,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2268,7 +2303,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -2369,7 +2404,7 @@ test -z "$CFLAGS" && CFLAGS=-g auto_cfla
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -2377,7 +2412,7 @@ SHELL = /bin/sh
 all:
 	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -2406,7 +2441,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2418,7 +2453,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2446,7 +2481,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2458,7 +2493,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2499,7 +2534,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2511,7 +2546,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2539,7 +2574,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2552,7 +2587,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2598,7 +2633,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2610,7 +2645,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2642,7 +2677,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2654,7 +2689,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2696,8 +2731,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -2718,8 +2753,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -2736,12 +2771,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -2803,62 +2838,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -2888,19 +2889,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2940,8 +3000,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -2951,7 +3011,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2988,7 +3048,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3066,7 +3126,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -3075,8 +3135,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3174,7 +3233,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -3204,7 +3263,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3220,11 +3279,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -3263,7 +3322,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -3279,18 +3338,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -3302,7 +3361,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -3316,7 +3375,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -3351,7 +3410,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -3365,7 +3424,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -3382,7 +3441,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -3417,7 +3476,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -3432,7 +3491,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3549,8 +3608,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -3562,7 +3620,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -3584,14 +3642,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -3629,7 +3687,7 @@ test -n "$GCC" && test -n "$auto_cflags"
 if test $ac_cv_c_compiler_gnu = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5
 $as_echo_n "checking whether $CC needs -traditional... " >&6; }
-if test "${ac_cv_prog_gcc_traditional+set}" = set; then :
+if ${ac_cv_prog_gcc_traditional+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     ac_pattern="Autoconf.*'x'"
@@ -3685,7 +3743,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3705,7 +3763,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -3765,7 +3823,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA=
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -3777,7 +3835,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR=""
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3805,7 +3863,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -3817,7 +3875,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3845,7 +3903,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -3857,7 +3915,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3898,7 +3956,7 @@ MAKE_SHELL=/bin/sh
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
+if ${ac_cv_c_const+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3907,11 +3965,11 @@ else
 int
 main ()
 {
-/* FIXME: Include the comments suggested by Paul. */
+
 #ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
+  /* Ultrix mips cc rejects this sort of thing.  */
   typedef int charset[2];
-  const charset cs;
+  const charset cs = { 0, 0 };
   /* SunOS 4.1.1 cc rejects this.  */
   char const *const *pcpcc;
   char **ppc;
@@ -3928,8 +3986,9 @@ main ()
   ++pcpcc;
   ppc = (char**) pcpcc;
   pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
+  { /* SCO 3.2v4 cc rejects this sort of thing.  */
+    char tx;
+    char *t = &tx;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
 
     *t++ = 0;
@@ -3945,10 +4004,10 @@ main ()
     iptr p = 0;
     ++p;
   }
-  { /* AIX XL C 1.02.0.0 rejects this saying
+  { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
        "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
+    struct s { int j; const int *ap[3]; } bx;
+    struct s *b = &bx; b->j = 5;
   }
   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     const int foo = 10;
@@ -3994,7 +4053,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether char is unsigned" >&5
 $as_echo_n "checking whether char is unsigned... " >&6; }
-if test "${ac_cv_c_char_unsigned+set}" = set; then :
+if ${ac_cv_c_char_unsigned+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4004,7 +4063,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(((char) -1) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -4026,7 +4086,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5
 $as_echo_n "checking for working volatile... " >&6; }
-if test "${ac_cv_c_volatile+set}" = set; then :
+if ${ac_cv_c_volatile+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4061,7 +4121,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4094,7 +4154,7 @@ _ACEOF
 
 
 ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = x""yes; then :
+if test "x$ac_cv_type_size_t" = xyes; then :
 
 else
 
@@ -4105,7 +4165,7 @@ _ACEOF
 fi
 
 ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default"
-if test "x$ac_cv_type_ssize_t" = x""yes; then :
+if test "x$ac_cv_type_ssize_t" = xyes; then :
 
 else
 
@@ -4118,7 +4178,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4231,7 +4291,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
 $as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
-if test "${ac_cv_header_stat_broken+set}" = set; then :
+if ${ac_cv_header_stat_broken+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4276,7 +4336,7 @@ for ac_hdr in dirent.h sys/ndir.h sys/di
   as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_ac_Header+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4303,8 +4363,7 @@ fi
 eval ac_res=\$$as_ac_Header
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
 _ACEOF
@@ -4317,7 +4376,7 @@ done
 if test $ac_header_dirent = dirent.h; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
 $as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -4351,11 +4410,11 @@ for ac_lib in '' dir; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_opendir+set}" = set; then :
+  if ${ac_cv_search_opendir+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
 
 else
   ac_cv_search_opendir=no
@@ -4374,7 +4433,7 @@ fi
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
 $as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -4408,11 +4467,11 @@ for ac_lib in '' x; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_opendir+set}" = set; then :
+  if ${ac_cv_search_opendir+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
 
 else
   ac_cv_search_opendir=no
@@ -4435,8 +4494,7 @@ for ac_func in fcntl kill lstat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -4449,8 +4507,7 @@ for ac_func in memmove putenv select set
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -4462,8 +4519,7 @@ for ac_func in isascii isxdigit
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -4475,8 +4531,7 @@ for ac_func in getpwent getpwnam getpwui
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -4487,7 +4542,7 @@ done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strcoll" >&5
 $as_echo_n "checking for working strcoll... " >&6; }
-if test "${ac_cv_func_strcoll_works+set}" = set; then :
+if ${ac_cv_func_strcoll_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -4530,8 +4585,7 @@ for ac_header in fcntl.h unistd.h stdlib
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -4544,8 +4598,7 @@ for ac_header in sys/pte.h sys/stream.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -4563,7 +4616,7 @@ do :
 #endif
 
 "
-if test "x$ac_cv_header_sys_ptem_h" = x""yes; then :
+if test "x$ac_cv_header_sys_ptem_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SYS_PTEM_H 1
 _ACEOF
@@ -4582,7 +4635,7 @@ if test "$enable_largefile" != no; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
 $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+if ${ac_cv_sys_largefile_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_sys_largefile_CC=no
@@ -4633,7 +4686,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+if ${ac_cv_sys_file_offset_bits+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -4702,7 +4755,7 @@ rm -rf conftest*
   if test $ac_cv_sys_file_offset_bits = unknown; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
+if ${ac_cv_sys_large_files+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
@@ -4769,13 +4822,15 @@ _ACEOF
 esac
 rm -rf conftest*
   fi
+
+
 fi
 
 
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type of signal functions" >&5
 $as_echo_n "checking for type of signal functions... " >&6; }
-if test "${bash_cv_signal_vintage+set}" = set; then :
+if ${bash_cv_signal_vintage+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -4871,7 +4926,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if signal handlers must be reinstalled when invoked" >&5
 $as_echo_n "checking if signal handlers must be reinstalled when invoked... " >&6; }
-if test "${bash_cv_must_reinstall_sighandlers+set}" = set; then :
+if ${bash_cv_must_reinstall_sighandlers+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -4949,7 +5004,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for presence of POSIX-style sigsetjmp/siglongjmp" >&5
 $as_echo_n "checking for presence of POSIX-style sigsetjmp/siglongjmp... " >&6; }
-if test "${bash_cv_func_sigsetjmp+set}" = set; then :
+if ${bash_cv_func_sigsetjmp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -5019,7 +5074,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lstat" >&5
 $as_echo_n "checking for lstat... " >&6; }
-if test "${bash_cv_func_lstat+set}" = set; then :
+if ${bash_cv_func_lstat+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5054,7 +5109,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether or not strcoll and strcmp differ" >&5
 $as_echo_n "checking whether or not strcoll and strcmp differ... " >&6; }
-if test "${bash_cv_func_strcoll_broken+set}" = set; then :
+if ${bash_cv_func_strcoll_broken+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -5123,7 +5178,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the ctype macros accept non-ascii characters" >&5
 $as_echo_n "checking whether the ctype macros accept non-ascii characters... " >&6; }
-if test "${bash_cv_func_ctype_nonascii+set}" = set; then :
+if ${bash_cv_func_ctype_nonascii+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
@@ -5187,7 +5242,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getpw functions are declared in pwd.h" >&5
 $as_echo_n "checking whether getpw functions are declared in pwd.h... " >&6; }
-if test "${bash_cv_getpw_declared+set}" = set; then :
+if ${bash_cv_getpw_declared+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5220,7 +5275,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether termios.h defines TIOCGWINSZ" >&5
 $as_echo_n "checking whether termios.h defines TIOCGWINSZ... " >&6; }
-if test "${ac_cv_sys_tiocgwinsz_in_termios_h+set}" = set; then :
+if ${ac_cv_sys_tiocgwinsz_in_termios_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5247,7 +5302,7 @@ fi
 if test $ac_cv_sys_tiocgwinsz_in_termios_h != yes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/ioctl.h defines TIOCGWINSZ" >&5
 $as_echo_n "checking whether sys/ioctl.h defines TIOCGWINSZ... " >&6; }
-if test "${ac_cv_sys_tiocgwinsz_in_sys_ioctl_h+set}" = set; then :
+if ${ac_cv_sys_tiocgwinsz_in_sys_ioctl_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5281,7 +5336,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sig_atomic_t in signal.h" >&5
 $as_echo_n "checking for sig_atomic_t in signal.h... " >&6; }
-if test "${ac_cv_have_sig_atomic_t+set}" = set; then :
+if ${ac_cv_have_sig_atomic_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5310,7 +5365,7 @@ fi
 if test "$ac_cv_have_sig_atomic_t" = "no"
 then
     ac_fn_c_check_type "$LINENO" "sig_atomic_t" "ac_cv_type_sig_atomic_t" "$ac_includes_default"
-if test "x$ac_cv_type_sig_atomic_t" = x""yes; then :
+if test "x$ac_cv_type_sig_atomic_t" = xyes; then :
 
 else
 
@@ -5324,7 +5379,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether signal handlers are of type void" >&5
 $as_echo_n "checking whether signal handlers are of type void... " >&6; }
-if test "${bash_cv_void_sighandler+set}" = set; then :
+if ${bash_cv_void_sighandler+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5363,7 +5418,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIOCSTAT in sys/ioctl.h" >&5
 $as_echo_n "checking for TIOCSTAT in sys/ioctl.h... " >&6; }
-if test "${bash_cv_tiocstat_in_ioctl+set}" = set; then :
+if ${bash_cv_tiocstat_in_ioctl+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5395,7 +5450,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FIONREAD in sys/ioctl.h" >&5
 $as_echo_n "checking for FIONREAD in sys/ioctl.h... " >&6; }
-if test "${bash_cv_fionread_in_ioctl+set}" = set; then :
+if ${bash_cv_fionread_in_ioctl+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5427,7 +5482,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for speed_t in sys/types.h" >&5
 $as_echo_n "checking for speed_t in sys/types.h... " >&6; }
-if test "${bash_cv_speed_t_in_sys_types+set}" = set; then :
+if ${bash_cv_speed_t_in_sys_types+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5458,7 +5513,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct winsize in sys/ioctl.h and termios.h" >&5
 $as_echo_n "checking for struct winsize in sys/ioctl.h and termios.h... " >&6; }
-if test "${bash_cv_struct_winsize_header+set}" = set; then :
+if ${bash_cv_struct_winsize_header+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5517,7 +5572,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct dirent.d_ino" >&5
 $as_echo_n "checking for struct dirent.d_ino... " >&6; }
-if test "${bash_cv_dirent_has_dino+set}" = set; then :
+if ${bash_cv_dirent_has_dino+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5571,7 +5626,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct dirent.d_fileno" >&5
 $as_echo_n "checking for struct dirent.d_fileno... " >&6; }
-if test "${bash_cv_dirent_has_d_fileno+set}" = set; then :
+if ${bash_cv_dirent_has_d_fileno+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5634,16 +5689,16 @@ else
 $as_echo_n "checking which library has the termcap functions... " >&6; }
 _bash_needmsg=
 fi
-if test "${bash_cv_termcap_lib+set}" = set; then :
+if ${bash_cv_termcap_lib+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_fn_c_check_func "$LINENO" "tgetent" "ac_cv_func_tgetent"
-if test "x$ac_cv_func_tgetent" = x""yes; then :
+if test "x$ac_cv_func_tgetent" = xyes; then :
   bash_cv_termcap_lib=libc
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5
 $as_echo_n "checking for tgetent in -ltermcap... " >&6; }
-if test "${ac_cv_lib_termcap_tgetent+set}" = set; then :
+if ${ac_cv_lib_termcap_tgetent+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -5677,12 +5732,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tgetent" >&5
 $as_echo "$ac_cv_lib_termcap_tgetent" >&6; }
-if test "x$ac_cv_lib_termcap_tgetent" = x""yes; then :
+if test "x$ac_cv_lib_termcap_tgetent" = xyes; then :
   bash_cv_termcap_lib=libtermcap
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltinfo" >&5
 $as_echo_n "checking for tgetent in -ltinfo... " >&6; }
-if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then :
+if ${ac_cv_lib_tinfo_tgetent+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -5716,12 +5771,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfo_tgetent" >&5
 $as_echo "$ac_cv_lib_tinfo_tgetent" >&6; }
-if test "x$ac_cv_lib_tinfo_tgetent" = x""yes; then :
+if test "x$ac_cv_lib_tinfo_tgetent" = xyes; then :
   bash_cv_termcap_lib=libtinfo
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lcurses" >&5
 $as_echo_n "checking for tgetent in -lcurses... " >&6; }
-if test "${ac_cv_lib_curses_tgetent+set}" = set; then :
+if ${ac_cv_lib_curses_tgetent+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -5755,12 +5810,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_tgetent" >&5
 $as_echo "$ac_cv_lib_curses_tgetent" >&6; }
-if test "x$ac_cv_lib_curses_tgetent" = x""yes; then :
+if test "x$ac_cv_lib_curses_tgetent" = xyes; then :
   bash_cv_termcap_lib=libcurses
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5
 $as_echo_n "checking for tgetent in -lncurses... " >&6; }
-if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then :
+if ${ac_cv_lib_ncurses_tgetent+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -5794,7 +5849,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tgetent" >&5
 $as_echo "$ac_cv_lib_ncurses_tgetent" >&6; }
-if test "x$ac_cv_lib_ncurses_tgetent" = x""yes; then :
+if test "x$ac_cv_lib_ncurses_tgetent" = xyes; then :
   bash_cv_termcap_lib=libncurses
 else
   bash_cv_termcap_lib=gnutermcap
@@ -5844,17 +5899,13 @@ if test "$TERMCAP_LIB" = "./lib/termcap/
 		TERMCAP_LIB=-ltermcap	#default
 	fi
 fi
-
 if test "$TERMCAP_LIB" = "-lncurses"; then
-
-for ac_header in ncurses/termcap.h
+	for ac_header in ncurses/termcap.h
 do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+  ac_fn_c_check_header_mongrel "$LINENO" "ncurses/termcap.h" "ac_cv_header_ncurses_termcap_h" "$ac_includes_default"
+if test "x$ac_cv_header_ncurses_termcap_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define HAVE_NCURSES_TERMCAP_H 1
 _ACEOF
 
 fi
@@ -5863,10 +5914,11 @@ done
 
 fi
 
+
 for ac_header in wctype.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "wctype.h" "ac_cv_header_wctype_h" "$ac_includes_default"
-if test "x$ac_cv_header_wctype_h" = x""yes; then :
+if test "x$ac_cv_header_wctype_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WCTYPE_H 1
 _ACEOF
@@ -5878,7 +5930,7 @@ done
 for ac_header in wchar.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default"
-if test "x$ac_cv_header_wchar_h" = x""yes; then :
+if test "x$ac_cv_header_wchar_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WCHAR_H 1
 _ACEOF
@@ -5890,7 +5942,7 @@ done
 for ac_header in langinfo.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "langinfo.h" "ac_cv_header_langinfo_h" "$ac_includes_default"
-if test "x$ac_cv_header_langinfo_h" = x""yes; then :
+if test "x$ac_cv_header_langinfo_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LANGINFO_H 1
 _ACEOF
@@ -5901,112 +5953,102 @@ done
 
 
 ac_fn_c_check_func "$LINENO" "mbrlen" "ac_cv_func_mbrlen"
-if test "x$ac_cv_func_mbrlen" = x""yes; then :
+if test "x$ac_cv_func_mbrlen" = xyes; then :
   $as_echo "#define HAVE_MBRLEN 1" >>confdefs.h
 
 fi
 
 ac_fn_c_check_func "$LINENO" "mbscasecmp" "ac_cv_func_mbscasecmp"
-if test "x$ac_cv_func_mbscasecmp" = x""yes; then :
+if test "x$ac_cv_func_mbscasecmp" = xyes; then :
   $as_echo "#define HAVE_MBSCMP 1" >>confdefs.h
 
 fi
 
 ac_fn_c_check_func "$LINENO" "mbscmp" "ac_cv_func_mbscmp"
-if test "x$ac_cv_func_mbscmp" = x""yes; then :
+if test "x$ac_cv_func_mbscmp" = xyes; then :
   $as_echo "#define HAVE_MBSCMP 1" >>confdefs.h
 
 fi
 
 ac_fn_c_check_func "$LINENO" "mbsnrtowcs" "ac_cv_func_mbsnrtowcs"
-if test "x$ac_cv_func_mbsnrtowcs" = x""yes; then :
+if test "x$ac_cv_func_mbsnrtowcs" = xyes; then :
   $as_echo "#define HAVE_MBSNRTOWCS 1" >>confdefs.h
 
 fi
 
 ac_fn_c_check_func "$LINENO" "mbsrtowcs" "ac_cv_func_mbsrtowcs"
-if test "x$ac_cv_func_mbsrtowcs" = x""yes; then :
+if test "x$ac_cv_func_mbsrtowcs" = xyes; then :
   $as_echo "#define HAVE_MBSRTOWCS 1" >>confdefs.h
 
 fi
 
 
 
-for ac_func in mbschr
-do :
-  ac_fn_c_check_func "$LINENO" "mbschr" "ac_cv_func_mbschr"
-if test "x$ac_cv_func_mbschr" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MBSCHR 1
-_ACEOF
+ac_fn_c_check_func "$LINENO" "mbschr" "ac_cv_func_mbschr"
+if test "x$ac_cv_func_mbschr" = xyes; then :
+  $as_echo "#define HAVE_MBSCHR 1" >>confdefs.h
 
 else
   case " $LIBOBJS " in
-  *" $ac_func.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
+  *" mbschr.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS mbschr.$ac_objext"
  ;;
 esac
 
 fi
-done
 
 
 
 ac_fn_c_check_func "$LINENO" "wcrtomb" "ac_cv_func_wcrtomb"
-if test "x$ac_cv_func_wcrtomb" = x""yes; then :
+if test "x$ac_cv_func_wcrtomb" = xyes; then :
   $as_echo "#define HAVE_WCRTOMB 1" >>confdefs.h
 
 fi
 
 ac_fn_c_check_func "$LINENO" "wcscoll" "ac_cv_func_wcscoll"
-if test "x$ac_cv_func_wcscoll" = x""yes; then :
+if test "x$ac_cv_func_wcscoll" = xyes; then :
   $as_echo "#define HAVE_WCSCOLL 1" >>confdefs.h
 
 fi
 
 ac_fn_c_check_func "$LINENO" "wcsdup" "ac_cv_func_wcsdup"
-if test "x$ac_cv_func_wcsdup" = x""yes; then :
+if test "x$ac_cv_func_wcsdup" = xyes; then :
   $as_echo "#define HAVE_WCSDUP 1" >>confdefs.h
 
 fi
 
 ac_fn_c_check_func "$LINENO" "wcwidth" "ac_cv_func_wcwidth"
-if test "x$ac_cv_func_wcwidth" = x""yes; then :
+if test "x$ac_cv_func_wcwidth" = xyes; then :
   $as_echo "#define HAVE_WCWIDTH 1" >>confdefs.h
 
 fi
 
 ac_fn_c_check_func "$LINENO" "wctype" "ac_cv_func_wctype"
-if test "x$ac_cv_func_wctype" = x""yes; then :
+if test "x$ac_cv_func_wctype" = xyes; then :
   $as_echo "#define HAVE_WCTYPE 1" >>confdefs.h
 
 fi
 
 
-for ac_func in wcswidth
-do :
-  ac_fn_c_check_func "$LINENO" "wcswidth" "ac_cv_func_wcswidth"
-if test "x$ac_cv_func_wcswidth" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_WCSWIDTH 1
-_ACEOF
+ac_fn_c_check_func "$LINENO" "wcswidth" "ac_cv_func_wcswidth"
+if test "x$ac_cv_func_wcswidth" = xyes; then :
+  $as_echo "#define HAVE_WCSWIDTH 1" >>confdefs.h
 
 else
   case " $LIBOBJS " in
-  *" $ac_func.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
+  *" wcswidth.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS wcswidth.$ac_objext"
  ;;
 esac
 
 fi
-done
 
 
 
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc and mbstate_t are properly declared" >&5
 $as_echo_n "checking whether mbrtowc and mbstate_t are properly declared... " >&6; }
-if test "${ac_cv_func_mbrtowc+set}" = set; then :
+if ${ac_cv_func_mbrtowc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6049,8 +6091,7 @@ for ac_func in iswlower iswupper towlowe
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -6061,7 +6102,7 @@ done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${bash_cv_langinfo_codeset+set}" = set; then :
+if ${bash_cv_langinfo_codeset+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6092,7 +6133,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t in wchar.h" >&5
 $as_echo_n "checking for wchar_t in wchar.h... " >&6; }
-if test "${bash_cv_type_wchar_t+set}" = set; then :
+if ${bash_cv_type_wchar_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6127,7 +6168,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctype_t in wctype.h" >&5
 $as_echo_n "checking for wctype_t in wctype.h... " >&6; }
-if test "${bash_cv_type_wctype_t+set}" = set; then :
+if ${bash_cv_type_wctype_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6161,7 +6202,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t in wctype.h" >&5
 $as_echo_n "checking for wint_t in wctype.h... " >&6; }
-if test "${bash_cv_type_wint_t+set}" = set; then :
+if ${bash_cv_type_wint_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6199,7 +6240,7 @@ if test "$am_cv_func_iconv" = yes; then
 	for ac_func in locale_charset
 do :
   ac_fn_c_check_func "$LINENO" "locale_charset" "ac_cv_func_locale_charset"
-if test "x$ac_cv_func_locale_charset" = x""yes; then :
+if test "x$ac_cv_func_locale_charset" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LOCALE_CHARSET 1
 _ACEOF
@@ -6378,10 +6419,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -6397,6 +6449,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -6412,7 +6465,7 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -6513,6 +6566,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -6558,19 +6612,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -6708,16 +6762,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -6766,7 +6820,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -6777,28 +6831,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -6820,7 +6862,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by readline $as_me 6.2, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -6860,6 +6902,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -6882,12 +6925,13 @@ Report bugs to <bug-readline@gnu.org>."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 readline config.status 6.2
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -6903,11 +6947,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -6921,12 +6970,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -6939,7 +6991,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -6948,7 +7000,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -6968,7 +7020,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -7004,7 +7056,7 @@ do
     "shlib/Makefile") CONFIG_FILES="$CONFIG_FILES shlib/Makefile" ;;
     "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -7027,9 +7079,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -7037,12 +7090,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -7059,12 +7113,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -7073,18 +7127,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -7092,7 +7146,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -7106,7 +7160,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -7120,7 +7174,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -7140,7 +7194,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -7172,21 +7226,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -7198,7 +7260,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -7210,11 +7272,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -7299,7 +7361,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -7312,7 +7374,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -7331,7 +7393,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -7340,7 +7402,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -7366,8 +7428,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -7497,23 +7559,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -7522,21 +7585,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -7561,7 +7624,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -7582,7 +7645,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/readline/examples/rlfe/configure ./readline/examples/rlfe/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/readline/examples/rlfe/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./readline/examples/rlfe/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,18 +1,20 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
@@ -20,23 +22,15 @@ if test -n "${ZSH_VERSION+set}" && (emul
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
 esac
-
 fi
 
 
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
 as_nl='
 '
 export as_nl
@@ -44,7 +38,13 @@ export as_nl
 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
   as_echo='printf %s\n'
   as_echo_n='printf %s'
 else
@@ -55,7 +55,7 @@ else
     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
     as_echo_n_body='eval
       arg=$1;
-      case $arg in
+      case $arg in #(
       *"$as_nl"*)
 	expr "X$arg" : "X\\(.*\\)$as_nl";
 	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
@@ -78,13 +78,6 @@ if test "${PATH_SEPARATOR+set}" != set; 
   }
 fi
 
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
 
 # IFS
 # We need space, tab and new line, in precisely that order.  Quoting is
@@ -94,15 +87,16 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
+as_myself=
+case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
 IFS=$as_save_IFS
 
      ;;
@@ -114,12 +108,16 @@ if test "x$as_myself" = x; then
 fi
 if test ! -f "$as_myself"; then
   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
+  exit 1
 fi
 
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
 done
 PS1='$ '
 PS2='> '
@@ -131,330 +129,344 @@ export LC_ALL
 LANGUAGE=C
 export LANGUAGE
 
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
 # CDPATH.
-$as_unset CDPATH
-
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
-  if (eval ":") 2>/dev/null; then
-  as_have_required=yes
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
 else
-  as_have_required=no
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
 fi
-
-  if test $as_have_required = yes &&	 (eval ":
-(as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
 
 exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
 else
-  exitcode=1
-  echo positional parameters were not saved.
+  as_have_required=no
 fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
 
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=\$LINENO
-  as_lineno_2=\$LINENO
-  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
-  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
-  :
 else
-  as_candidate_shells=
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  case $as_dir in
+  as_found=:
+  case $as_dir in #(
 	 /*)
 	   for as_base in sh bash ksh sh5; do
-	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
 	   done;;
        esac
+  as_found=false
 done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
 IFS=$as_save_IFS
 
 
-      for as_shell in $as_candidate_shells $SHELL; do
-	 # Try only shells that exist, to save several forks.
-	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		{ ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
+      if test "x$CONFIG_SHELL" != x; then :
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+  fi
+  exit 1
+fi
 fi
-
-
-:
-_ASEOF
-}; then
-  CONFIG_SHELL=$as_shell
-	       as_have_required=yes
-	       if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
 fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
 
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
 
-:
-(as_func_return () {
-  (exit $1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
 
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
+} # as_fn_mkdir_p
 
-if as_func_ret_success; then
-  :
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
 else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
 
-if ( set x; as_func_ret_success y && test x = "$1" ); then
-  :
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
 else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
-  break
-fi
-
-fi
-
-      done
-
-      if test "x$CONFIG_SHELL" != x; then
-  for as_var in BASH_ENV ENV
-	do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-	done
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
-    if test $as_have_required = no; then
-  echo This script requires a shell more modern than all the
-      echo shells that I found on your system.  Please install a
-      echo modern shell, or manually run the script under such a
-      echo shell if you do have one.
-      { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
 
 
-(eval "as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
 
-exitcode=0
-if as_func_success; then
-  :
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
 else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
+  as_expr=false
 fi
 
-if as_func_ret_success; then
-  :
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
 else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
+  as_basename=false
 fi
 
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
 else
-  exitcode=1
-  echo positional parameters were not saved.
+  as_dirname=false
 fi
 
-test \$exitcode = 0") || {
-  echo No shell found that supports shell functions.
-  echo Please tell bug-autoconf@gnu.org about your system,
-  echo including any error possibly output before this message.
-  echo This can help us improve future autoconf versions.
-  echo Configuration will now proceed without shell functions.
-}
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
 
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
 
 
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
   sed -n '
     p
     /[$]LINENO/=
@@ -471,9 +483,12 @@ test \$exitcode = 0") || {
       s/-\n.*//
     ' >$as_me.lineno &&
   chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -482,29 +497,18 @@ test \$exitcode = 0") || {
   exit
 }
 
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
 ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
+case `echo -n x` in #(((((
 -n*)
-  case `echo 'x\c'` in
+  case `echo 'xy\c'` in
   *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
   esac;;
 *)
   ECHO_N='-n';;
 esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
 
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
@@ -519,49 +523,29 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
+  as_mkdir_p='mkdir -p "$as_dir"'
 else
   test -d ./-p && rmdir ./-p
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -570,11 +554,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -589,7 +573,6 @@ cross_compiling=no
 subdirs=
 MFLAGS=
 MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
 
 # Identity of this package.
 PACKAGE_NAME=
@@ -597,6 +580,7 @@ PACKAGE_TARNAME=
 PACKAGE_VERSION=
 PACKAGE_STRING=
 PACKAGE_BUGREPORT=
+PACKAGE_URL=
 
 ac_unique_file="rlfe.c"
 # Factoring default headers for most tests.
@@ -681,6 +665,7 @@ bindir
 program_transform_name
 prefix
 exec_prefix
+PACKAGE_URL
 PACKAGE_BUGREPORT
 PACKAGE_STRING
 PACKAGE_VERSION
@@ -765,8 +750,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -811,8 +797,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -838,8 +823,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1043,8 +1027,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1060,8 +1043,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1091,17 +1073,17 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; }
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
     ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-   { (exit 1); exit 1; }; }
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
@@ -1110,7 +1092,7 @@ Try \`$0 --help' for more information." 
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1118,15 +1100,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  { $as_echo "$as_me: error: missing argument to $ac_option" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
-   { (exit 1); exit 1; }; } ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1149,8 +1129,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1164,8 +1143,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1180,11 +1157,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  { $as_echo "$as_me: error: working directory cannot be determined" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1223,13 +1198,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
-   { (exit 1); exit 1; }; }
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1269,7 +1242,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1330,91 +1303,443 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 test -x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
 _ACEOF
-ac_status=$?
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
+} # ac_fn_c_check_func
 
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval \${$3+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.63
+} # ac_fn_c_check_header_mongrel
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
 _ACEOF
-  exit
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1450,8 +1775,8 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  $as_echo "PATH: $as_dir"
-done
+    $as_echo "PATH: $as_dir"
+  done
 IFS=$as_save_IFS
 
 } >&5
@@ -1488,9 +1813,9 @@ do
       ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
-    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
     2)
-      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      as_fn_append ac_configure_args1 " '$ac_arg'"
       if test $ac_must_keep_next = true; then
 	ac_must_keep_next=false # Got value, back to normal.
       else
@@ -1506,13 +1831,13 @@ do
 	  -* ) ac_must_keep_next=true ;;
 	esac
       fi
-      ac_configure_args="$ac_configure_args '$ac_arg'"
+      as_fn_append ac_configure_args " '$ac_arg'"
       ;;
     esac
   done
 done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
 
 # When interrupted or exit'd, cleanup temporary files, and complete
 # config.log.  We remove comments because anyway the quotes in there
@@ -1524,11 +1849,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -1537,13 +1860,13 @@ _ASBOX
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
       BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) $as_unset $ac_var ;;
+      *) { eval $ac_var=; unset $ac_var;} ;;
       esac ;;
     esac
   done
@@ -1562,11 +1885,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -1579,11 +1900,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -1597,11 +1916,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -1615,46 +1932,53 @@ _ASBOX
     exit $exit_status
 ' 0
 for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
 done
 ac_signal=0
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -f -r conftest* confdefs.h
 
+$as_echo "/* confdefs.h */" > confdefs.h
+
 # Predefined preprocessor variables.
 
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_NAME "$PACKAGE_NAME"
 _ACEOF
 
-
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_TARNAME "$PACKAGE_TARNAME"
 _ACEOF
 
-
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_VERSION "$PACKAGE_VERSION"
 _ACEOF
 
-
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_STRING "$PACKAGE_STRING"
 _ACEOF
 
-
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
 _ACEOF
 
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer an explicitly selected file to automatically selected ones.
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -1665,19 +1989,23 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
-    { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
-    { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
       [\\/]* | ?:[\\/]* ) . "$cache_file";;
@@ -1685,7 +2013,7 @@ if test -r "$cache_file"; then
     esac
   fi
 else
-  { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
 $as_echo "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
@@ -1700,11 +2028,11 @@ for ac_var in $ac_precious_vars; do
   eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
-      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,set)
-      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,);;
@@ -1714,17 +2042,17 @@ for ac_var in $ac_precious_vars; do
 	ac_old_val_w=`echo x $ac_old_val`
 	ac_new_val_w=`echo x $ac_new_val`
 	if test "$ac_old_val_w" != "$ac_new_val_w"; then
-	  { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
 	  ac_cache_corrupted=:
 	else
-	  { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
 	  eval $ac_var=\$ac_old_val
 	fi
-	{ $as_echo "$as_me:$LINENO:   former value:  \`$ac_old_val'" >&5
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
 $as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-	{ $as_echo "$as_me:$LINENO:   current value: \`$ac_new_val'" >&5
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
 $as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
       fi;;
   esac
@@ -1736,35 +2064,20 @@ for ac_var in $ac_precious_vars; do
     esac
     case " $ac_configure_args " in
       *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
     esac
   fi
 done
 if $ac_cache_corrupted; then
-  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -1773,6 +2086,9 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+
+
+
 ac_config_headers="$ac_config_headers config.h"
 
 VERSION=0.4
@@ -1788,9 +2104,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1801,24 +2117,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
 $as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
@@ -1828,9 +2144,9 @@ if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -1841,24 +2157,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
 $as_echo "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
@@ -1867,7 +2183,7 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
@@ -1881,9 +2197,9 @@ if test -z "$CC"; then
           if test -n "$ac_tool_prefix"; then
     # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1894,24 +2210,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
 $as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
@@ -1921,9 +2237,9 @@ fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1935,18 +2251,18 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
      fi
     ac_cv_prog_CC="cc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 if test $ac_prog_rejected = yes; then
@@ -1965,10 +2281,10 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
 $as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
@@ -1980,9 +2296,9 @@ if test -z "$CC"; then
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1993,24 +2309,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
 $as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
@@ -2024,9 +2340,9 @@ if test -z "$CC"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2037,24 +2353,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
 $as_echo "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
@@ -2067,7 +2383,7 @@ done
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
@@ -2078,57 +2394,37 @@ fi
 fi
 
 
-test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
-$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
 set X $ac_compile
 ac_compiler=$2
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
 
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -2144,8 +2440,8 @@ ac_clean_files="$ac_clean_files a.out a.
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -2161,17 +2457,17 @@ do
 done
 rm -f $ac_rmfiles
 
-if { (ac_try="$ac_link_default"
+if { { ac_try="$ac_link_default"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
   (eval "$ac_link_default") 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
   # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
 # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
 # in a Makefile.  We should not override ac_cv_exeext if it was cached,
@@ -2188,7 +2484,7 @@ do
 	# certainly right.
 	break;;
     *.* )
-        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
 	then :; else
 	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
 	fi
@@ -2207,84 +2503,41 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-
-{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-if test -z "$ac_file"; then
-  $as_echo "$as_me: failed program was:" >&5
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
 rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
-if { (ac_try="$ac_link"
+if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
   # If both `conftest.exe' and `conftest' are `present' (well, observable)
 # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
 # work properly (i.e., refer to `conftest.exe'), while it won't with
@@ -2299,32 +2552,83 @@ for ac_file in conftest.exe conftest con
   esac
 done
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-
-rm -f conftest$ac_cv_exeext
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
-{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -2336,17 +2640,17 @@ main ()
 }
 _ACEOF
 rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
+if { { ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
   (eval "$ac_compile") 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
   for ac_file in conftest.o conftest.obj conftest.*; do
   test -f "$ac_file" || continue;
   case $ac_file in
@@ -2359,31 +2663,23 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
 $as_echo "$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -2397,37 +2693,16 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_compiler_gnu=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_compiler_gnu=no
+  ac_compiler_gnu=no
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
 $as_echo "$ac_cv_c_compiler_gnu" >&6; }
 if test $ac_compiler_gnu = yes; then
   GCC=yes
@@ -2436,20 +2711,16 @@ else
 fi
 ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
    ac_c_werror_flag=yes
    ac_cv_prog_cc_g=no
    CFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -2460,35 +2731,11 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_prog_cc_g=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	CFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -2499,36 +2746,12 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_compile "$LINENO"; then :
 
-	ac_c_werror_flag=$ac_save_c_werror_flag
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
 	 CFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -2539,42 +2762,17 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_prog_cc_g=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
 $as_echo "$ac_cv_prog_cc_g" >&6; }
 if test "$ac_test_CFLAGS" = set; then
   CFLAGS=$ac_save_CFLAGS
@@ -2591,23 +2789,18 @@ else
     CFLAGS=
   fi
 fi
-{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -2659,32 +2852,9 @@ for ac_arg in '' -qlanglvl=extc89 -qlang
 	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
-  rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_prog_cc_c89=$ac_arg
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
 rm -f core conftest.err conftest.$ac_objext
   test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
@@ -2695,17 +2865,19 @@ fi
 # AC_CACHE_VAL
 case "x$ac_cv_prog_cc_c89" in
   x)
-    { $as_echo "$as_me:$LINENO: result: none needed" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
 $as_echo "none needed" >&6; } ;;
   xno)
-    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
 $as_echo "unsupported" >&6; } ;;
   *)
     CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
 esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
 
+fi
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -2718,14 +2890,14 @@ ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
 $as_echo_n "checking how to run the C preprocessor... " >&6; }
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -2740,11 +2912,7 @@ do
   # <limits.h> exists even on freestanding compilers.
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifdef __STDC__
 # include <limits.h>
@@ -2753,78 +2921,34 @@ cat >>conftest.$ac_ext <<_ACEOF
 #endif
 		     Syntax error
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_cpp "$LINENO"; then :
 
+else
   # Broken: fails on valid input.
 continue
 fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
+if ac_fn_c_try_cpp "$LINENO"; then :
   # Broken: success on invalid input.
 continue
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
   # Passes both tests.
 ac_preproc_ok=:
 break
 fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
   break
 fi
 
@@ -2836,7 +2960,7 @@ fi
 else
   ac_cv_prog_CPP=$CPP
 fi
-{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
 $as_echo "$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
@@ -2847,11 +2971,7 @@ do
   # <limits.h> exists even on freestanding compilers.
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifdef __STDC__
 # include <limits.h>
@@ -2860,87 +2980,40 @@ cat >>conftest.$ac_ext <<_ACEOF
 #endif
 		     Syntax error
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_cpp "$LINENO"; then :
 
+else
   # Broken: fails on valid input.
 continue
 fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
+if ac_fn_c_try_cpp "$LINENO"; then :
   # Broken: success on invalid input.
 continue
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
   # Passes both tests.
 ac_preproc_ok=:
 break
 fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -2951,9 +3024,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -2964,10 +3037,10 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/x
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_prog in grep ggrep; do
+    for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -2984,7 +3057,7 @@ case `"$ac_path_GREP" --version 2>&1` in
     $as_echo 'GREP' >> "conftest.nl"
     "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
     if test $ac_count -gt ${ac_path_GREP_max-0}; then
       # Best one so far, save it but keep looking for a better one
       ac_cv_path_GREP="$ac_path_GREP"
@@ -2999,26 +3072,24 @@ esac
       $ac_path_GREP_found && break 3
     done
   done
-done
+  done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
 fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
 $as_echo "$ac_cv_path_GREP" >&6; }
  GREP="$ac_cv_path_GREP"
 
 
-{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -3032,10 +3103,10 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/x
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_prog in egrep; do
+    for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -3052,7 +3123,7 @@ case `"$ac_path_EGREP" --version 2>&1` i
     $as_echo 'EGREP' >> "conftest.nl"
     "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
     if test $ac_count -gt ${ac_path_EGREP_max-0}; then
       # Best one so far, save it but keep looking for a better one
       ac_cv_path_EGREP="$ac_path_EGREP"
@@ -3067,12 +3138,10 @@ esac
       $ac_path_EGREP_found && break 3
     done
   done
-done
+  done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -3080,29 +3149,25 @@ fi
 
    fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
 $as_echo "$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
 if test $ac_cv_c_compiler_gnu = yes; then
-    { $as_echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5
 $as_echo_n "checking whether $CC needs -traditional... " >&6; }
-if test "${ac_cv_prog_gcc_traditional+set}" = set; then
+if ${ac_cv_prog_gcc_traditional+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     ac_pattern="Autoconf.*'x'"
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sgtty.h>
 Autoconf TIOCGETP
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "$ac_pattern" >/dev/null 2>&1; then
+  $EGREP "$ac_pattern" >/dev/null 2>&1; then :
   ac_cv_prog_gcc_traditional=yes
 else
   ac_cv_prog_gcc_traditional=no
@@ -3111,41 +3176,33 @@ rm -f conftest*
 
 
   if test $ac_cv_prog_gcc_traditional = no; then
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <termio.h>
 Autoconf TCGETA
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "$ac_pattern" >/dev/null 2>&1; then
+  $EGREP "$ac_pattern" >/dev/null 2>&1; then :
   ac_cv_prog_gcc_traditional=yes
 fi
 rm -f conftest*
 
   fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5
 $as_echo "$ac_cv_prog_gcc_traditional" >&6; }
   if test $ac_cv_prog_gcc_traditional = yes; then
     CC="$CC -traditional"
   fi
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for library containing strerror" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
 $as_echo_n "checking for library containing strerror... " >&6; }
-if test "${ac_cv_search_strerror+set}" = set; then
+if ${ac_cv_search_strerror+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -3170,105 +3227,45 @@ for ac_lib in '' cposix; do
     ac_res=-l$ac_lib
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
-  rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+  if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_search_strerror=$ac_res
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext
-  if test "${ac_cv_search_strerror+set}" = set; then
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_strerror+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_strerror+set}" = set; then
-  :
+if ${ac_cv_search_strerror+:} false; then :
+
 else
   ac_cv_search_strerror=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
 $as_echo "$ac_cv_search_strerror" >&6; }
 ac_res=$ac_cv_search_strerror
-if test "$ac_res" != no; then
+if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
 
-if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 main(){exit(0);}
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_run "$LINENO"; then :
 
-( exit $ac_status )
+else
 
 if test $CC != cc ; then
 echo "Your $CC failed - restarting with CC=cc" 1>&6
@@ -3281,88 +3278,44 @@ exec $0 $configure_args
 fi
 
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
-
-if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 main(){exit(0);}
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_run "$LINENO"; then :
 
-( exit $ac_status )
-exec 5>&2
+else
+  exec 5>&2
 eval $ac_link
 echo "CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;" 1>&6
 
 echo "$ac_compile" 1>&6
 
-{ { $as_echo "$as_me:$LINENO: error: Can't run the compiler - sorry" >&5
-$as_echo "$as_me: error: Can't run the compiler - sorry" >&2;}
-   { (exit 1); exit 1; }; }
+as_fn_error $? "Can't run the compiler - sorry" "$LINENO" 5
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
-
-if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 main()
@@ -3372,50 +3325,21 @@ main()
 }
 
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { { $as_echo "$as_me:$LINENO: error: Your compiler does not set the exit status - sorry" >&5
-$as_echo "$as_me: error: Your compiler does not set the exit status - sorry" >&2;}
-   { (exit 1); exit 1; }; }
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+if ac_fn_c_try_run "$LINENO"; then :
+  as_fn_error $? "Your compiler does not set the exit status - sorry" "$LINENO" 5
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
-
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -3426,24 +3350,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
 $as_echo "$AWK" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
@@ -3453,19 +3377,15 @@ done
 
 
 if test -f etc/toolcheck; then
-{ $as_echo "$as_me:$LINENO: checking for buggy tools..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for buggy tools..." >&5
 $as_echo "$as_me: checking for buggy tools..." >&6;}
 sh etc/toolcheck 1>&6
 fi
 
 
-{ $as_echo "$as_me:$LINENO: checking for System V..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for System V..." >&5
 $as_echo "$as_me: checking for System V..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <signal.h>
@@ -3478,44 +3398,17 @@ int x = SIGCHLD | FNDELAY;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_compile "$LINENO"; then :
 
-	cat >>confdefs.h <<\_ACEOF
-#define SYSV 1
-_ACEOF
+else
+  $as_echo "#define SYSV 1" >>confdefs.h
 
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-{ $as_echo "$as_me:$LINENO: checking for Solaris 2.x..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris 2.x..." >&5
 $as_echo "$as_me: checking for Solaris 2.x..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #if defined(SVR4) && defined(sun)
   yes
@@ -3523,20 +3416,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then
+  $EGREP "yes" >/dev/null 2>&1; then :
   LIBS="$LIBS -lsocket -lnsl -lkstat"
 fi
 rm -f conftest*
 
 
 
-{ $as_echo "$as_me:$LINENO: checking select..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking select..." >&5
 $as_echo "$as_me: checking select..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -3547,40 +3436,13 @@ select(0, 0, 0, 0, 0);
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"; then :
 
-	LIBS="$LIBS -lnet -lnsl"
-{ $as_echo "$as_me:$LINENO: checking select with $LIBS..." >&5
+else
+  LIBS="$LIBS -lnet -lnsl"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking select with $LIBS..." >&5
 $as_echo "$as_me: checking select with $LIBS..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -3591,63 +3453,27 @@ select(0, 0, 0, 0, 0);
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"; then :
 
-	{ { $as_echo "$as_me:$LINENO: error: !!! no select - no screen" >&5
-$as_echo "$as_me: error: !!! no select - no screen" >&2;}
-   { (exit 1); exit 1; }; }
+else
+  as_fn_error $? "!!! no select - no screen" "$LINENO" 5
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-
-{ $as_echo "$as_me:$LINENO: checking select return value..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking select return value..." >&5
 $as_echo "$as_me: checking select return value..." >&6;}
-if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <sys/types.h>
@@ -3749,55 +3575,22 @@ main()
 }
 
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+if ac_fn_c_try_run "$LINENO"; then :
   echo "- select is ok" 1>&6
 
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-echo "- select can't count" 1>&6
- cat >>confdefs.h <<\_ACEOF
-#define SELECT_BROKEN 1
-_ACEOF
+  echo "- select can't count" 1>&6
+ $as_echo "#define SELECT_BROKEN 1" >>confdefs.h
 
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
-
-{ $as_echo "$as_me:$LINENO: checking for tgetent..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent..." >&5
 $as_echo "$as_me: checking for tgetent..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -3808,41 +3601,14 @@ tgetent((char *)0, (char *)0);
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"; then :
 
-	olibs="$LIBS"
+else
+  olibs="$LIBS"
 LIBS="-lcurses $olibs"
-{ $as_echo "$as_me:$LINENO: checking libcurses..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking libcurses..." >&5
 $as_echo "$as_me: checking libcurses..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -3859,40 +3625,13 @@ tgetent((char *)0, (char *)0);
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"; then :
 
-	LIBS="-ltermcap $olibs"
-{ $as_echo "$as_me:$LINENO: checking libtermcap..." >&5
+else
+  LIBS="-ltermcap $olibs"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking libtermcap..." >&5
 $as_echo "$as_me: checking libtermcap..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -3903,40 +3642,13 @@ tgetent((char *)0, (char *)0);
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"; then :
 
-	LIBS="-ltermlib $olibs"
-{ $as_echo "$as_me:$LINENO: checking libtermlib..." >&5
+else
+  LIBS="-ltermlib $olibs"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking libtermlib..." >&5
 $as_echo "$as_me: checking libtermlib..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -3947,40 +3659,13 @@ tgetent((char *)0, (char *)0);
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"; then :
 
-	LIBS="-lncurses $olibs"
-{ $as_echo "$as_me:$LINENO: checking libncurses..." >&5
+else
+  LIBS="-lncurses $olibs"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking libncurses..." >&5
 $as_echo "$as_me: checking libncurses..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -3991,75 +3676,33 @@ tgetent((char *)0, (char *)0);
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"; then :
 
-	{ { $as_echo "$as_me:$LINENO: error: !!! no tgetent - no screen" >&5
-$as_echo "$as_me: error: !!! no tgetent - no screen" >&2;}
-   { (exit 1); exit 1; }; }
+else
+  as_fn_error $? "!!! no tgetent - no screen" "$LINENO" 5
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-
-if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 main()
@@ -4067,54 +3710,21 @@ main()
  exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
 }
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+if ac_fn_c_try_run "$LINENO"; then :
   echo "- you use the termcap database" 1>&6
 
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-echo "- you use the terminfo database" 1>&6
- cat >>confdefs.h <<\_ACEOF
-#define TERMINFO 1
-_ACEOF
+  echo "- you use the terminfo database" 1>&6
+ $as_echo "#define TERMINFO 1" >>confdefs.h
 
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-
-{ $as_echo "$as_me:$LINENO: checking ospeed..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking ospeed..." >&5
 $as_echo "$as_me: checking ospeed..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 extern short ospeed;
 int
@@ -4125,322 +3735,76 @@ ospeed=5;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >>confdefs.h <<\_ACEOF
-#define NEED_OSPEED 1
-_ACEOF
-
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-
-{ $as_echo "$as_me:$LINENO: checking for /dev/ptc..." >&5
-$as_echo "$as_me: checking for /dev/ptc..." >&6;}
-if test -r /dev/ptc; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DEV_PTC 1
-_ACEOF
-
-fi
-
-{ $as_echo "$as_me:$LINENO: checking for SVR4 ptys..." >&5
-$as_echo "$as_me: checking for SVR4 ptys..." >&6;}
-sysvr4ptys=
-if test -c /dev/ptmx ; then
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-ptsname(0);grantpt(0);unlockpt(0);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_SVR4_PTYS 1
-_ACEOF
-
-sysvr4ptys=1
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-
-
-for ac_func in getpt
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  eval "$as_ac_var=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	eval "$as_ac_var=no"
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-if test -z "$sysvr4ptys"; then
+if ac_fn_c_try_link "$LINENO"; then :
 
-for ac_func in openpty
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
+  $as_echo "#define NEED_OSPEED 1" >>confdefs.h
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 
-#undef $ac_func
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/ptc..." >&5
+$as_echo "$as_me: checking for /dev/ptc..." >&6;}
+if test -r /dev/ptc; then
+$as_echo "#define HAVE_DEV_PTC 1" >>confdefs.h
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SVR4 ptys..." >&5
+$as_echo "$as_me: checking for SVR4 ptys..." >&6;}
+sysvr4ptys=
+if test -c /dev/ptmx ; then
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
 int
 main ()
 {
-return $ac_func ();
+ptsname(0);grantpt(0);unlockpt(0);
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  eval "$as_ac_var=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"; then :
+  $as_echo "#define HAVE_SVR4_PTYS 1" >>confdefs.h
 
-	eval "$as_ac_var=no"
+sysvr4ptys=1
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+
+for ac_func in getpt
+do :
+  ac_fn_c_check_func "$LINENO" "getpt" "ac_cv_func_getpt"
+if test "x$ac_cv_func_getpt" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_GETPT 1
+_ACEOF
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
 fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+done
+
+
+if test -z "$sysvr4ptys"; then
+for ac_func in openpty
+do :
+  ac_fn_c_check_func "$LINENO" "openpty" "ac_cv_func_openpty"
+if test "x$ac_cv_func_openpty" = xyes; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define HAVE_OPENPTY 1
 _ACEOF
 
 else
-  { $as_echo "$as_me:$LINENO: checking for openpty in -lutil" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openpty in -lutil" >&5
 $as_echo_n "checking for openpty in -lutil... " >&6; }
-if test "${ac_cv_lib_util_openpty+set}" = set; then
+if ${ac_cv_lib_util_openpty+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lutil  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -4458,46 +3822,19 @@ return openpty ();
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_util_openpty=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_util_openpty=no
+  ac_cv_lib_util_openpty=no
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_util_openpty" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_openpty" >&5
 $as_echo "$ac_cv_lib_util_openpty" >&6; }
-if test "x$ac_cv_lib_util_openpty" = x""yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_OPENPTY 1
-_ACEOF
+if test "x$ac_cv_lib_util_openpty" = xyes; then :
+  $as_echo "#define HAVE_OPENPTY 1" >>confdefs.h
  LIBS="$LIBS -lutil"
 fi
 
@@ -4506,18 +3843,14 @@ done
 
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for ptyranges..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ptyranges..." >&5
 $as_echo "$as_me: checking for ptyranges..." >&6;}
 if test -d /dev/ptym ; then
 pdir='/dev/ptym'
 else
 pdir='/dev'
 fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifdef M_UNIX
    yes;
@@ -4525,7 +3858,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then
+  $EGREP "yes" >/dev/null 2>&1; then :
   ptys=`echo /dev/ptyp??`
 else
   ptys=`echo $pdir/pty??`
@@ -4547,13 +3880,13 @@ fi
 
 
 # Check whether --with-pty-mode was given.
-if test "${with_pty_mode+set}" = set; then
+if test "${with_pty_mode+set}" = set; then :
   withval=$with_pty_mode;  ptymode="${withval}"
 fi
 
 
 # Check whether --with-pty-group was given.
-if test "${with_pty_group+set}" = set; then
+if test "${with_pty_group+set}" = set; then :
   withval=$with_pty_group;  ptygrp="${withval}"
 fi
 
@@ -4569,23 +3902,16 @@ _ACEOF
 
 else
 
-{ $as_echo "$as_me:$LINENO: checking default tty permissions/group..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking default tty permissions/group..." >&5
 $as_echo "$as_me: checking default tty permissions/group..." >&6;}
 rm -f conftest_grp
-if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <sys/types.h>
@@ -4617,28 +3943,7 @@ main()
 }
 
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+if ac_fn_c_try_run "$LINENO"; then :
 
     if test -f conftest_grp; then
 	ptygrp=`cat conftest_grp`
@@ -4658,19 +3963,14 @@ _ACEOF
     fi
 
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
 
     WRITEPATH=''
     XTERMPATH=''
     # Extract the first word of "write", so it can be a program name with args.
 set dummy write; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_WRITEPATH+set}" = set; then
+if ${ac_cv_path_WRITEPATH+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $WRITEPATH in
@@ -4683,14 +3983,14 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_WRITEPATH="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
   ;;
@@ -4698,19 +3998,19 @@ esac
 fi
 WRITEPATH=$ac_cv_path_WRITEPATH
 if test -n "$WRITEPATH"; then
-  { $as_echo "$as_me:$LINENO: result: $WRITEPATH" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WRITEPATH" >&5
 $as_echo "$WRITEPATH" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
     # Extract the first word of "xterm", so it can be a program name with args.
 set dummy xterm; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XTERMPATH+set}" = set; then
+if ${ac_cv_path_XTERMPATH+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $XTERMPATH in
@@ -4723,14 +4023,14 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_XTERMPATH="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
   ;;
@@ -4738,10 +4038,10 @@ esac
 fi
 XTERMPATH=$ac_cv_path_XTERMPATH
 if test -n "$XTERMPATH"; then
-  { $as_echo "$as_me:$LINENO: result: $XTERMPATH" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XTERMPATH" >&5
 $as_echo "$XTERMPATH" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
@@ -4787,11 +4087,10 @@ _ACEOF
 
 
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-
 rm -f conftest_grp
 fi
 
@@ -4799,20 +4098,14 @@ if test -n "$posix" ; then
 
 echo "assuming posix signal definition" 1>&6
 
-cat >>confdefs.h <<\_ACEOF
-#define SIGVOID 1
-_ACEOF
+$as_echo "#define SIGVOID 1" >>confdefs.h
 
 
 else
 
-{ $as_echo "$as_me:$LINENO: checking return type of signal handlers..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers..." >&5
 $as_echo "$as_me: checking return type of signal handlers..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <signal.h>
@@ -4828,43 +4121,14 @@ int i;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >>confdefs.h <<\_ACEOF
-#define SIGVOID 1
-_ACEOF
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+if ac_fn_c_try_compile "$LINENO"; then :
+  $as_echo "#define SIGVOID 1" >>confdefs.h
 
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: checking sigset..." >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sigset..." >&5
 $as_echo "$as_me: checking sigset..." >&6;}
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <sys/types.h>
@@ -4884,57 +4148,21 @@ sigset(0, (int (*)())0);
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  cat >>confdefs.h <<\_ACEOF
-#define USESIGSET 1
-_ACEOF
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+if ac_fn_c_try_link "$LINENO"; then :
+  $as_echo "#define USESIGSET 1" >>confdefs.h
 
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: checking signal implementation..." >&5
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking signal implementation..." >&5
 $as_echo "$as_me: checking signal implementation..." >&6;}
-if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <sys/types.h>
@@ -4971,58 +4199,25 @@ main()
 }
 
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_run "$LINENO"; then :
 
-( exit $ac_status )
-cat >>confdefs.h <<\_ACEOF
-#define SYSVSIGS 1
-_ACEOF
+else
+  $as_echo "#define SYSVSIGS 1" >>confdefs.h
 
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
-
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
 #include <stdarg.h>
@@ -5037,48 +4232,23 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_header_stdc=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_header_stdc=no
+  ac_cv_header_stdc=no
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <string.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
 else
   ac_cv_header_stdc=no
 fi
@@ -5088,18 +4258,14 @@ fi
 
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
+  $EGREP "free" >/dev/null 2>&1; then :
+
 else
   ac_cv_header_stdc=no
 fi
@@ -5109,14 +4275,10 @@ fi
 
 if test $ac_cv_header_stdc = yes; then
   # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then
+  if test "$cross_compiling" = yes; then :
   :
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <ctype.h>
 #include <stdlib.h>
@@ -5131,278 +4293,59 @@ cat >>conftest.$ac_ext <<_ACEOF
 # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
 #endif
 
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  eval "$as_ac_Header=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-for ac_header in sys/stropts.h sys/wait.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
+if ac_fn_c_try_run "$LINENO"; then :
+
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
-	ac_header_compiler=no
 fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
 
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  ac_header_preproc=no
 fi
 
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+done
 
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
 
-fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+for ac_header in sys/stropts.h sys/wait.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5441,13 +4384,13 @@ _ACEOF
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
       BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) $as_unset $ac_var ;;
+      *) { eval $ac_var=; unset $ac_var;} ;;
       esac ;;
     esac
   done
@@ -5455,8 +4398,8 @@ _ACEOF
   (set) 2>&1 |
     case $as_nl`(ac_space=' '; set) 2>&1` in #(
     *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes (double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
@@ -5478,12 +4421,23 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
-      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+    if test "x$cache_file" != "x/dev/null"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
-    { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
@@ -5497,14 +4451,15 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
   ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
   #    will be set to the directory where LIBOBJS objects are built.
-  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
 done
 LIBOBJS=$ac_libobjs
 
@@ -5512,13 +4467,14 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
 #! $SHELL
 # Generated by $as_me.
 # Run this file to recreate the current configuration.
@@ -5528,17 +4484,18 @@ cat >$CONFIG_STATUS <<_ACEOF || ac_write
 debug=false
 ac_cs_recheck=false
 ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
@@ -5546,23 +4503,15 @@ if test -n "${ZSH_VERSION+set}" && (emul
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
 esac
-
 fi
 
 
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
 as_nl='
 '
 export as_nl
@@ -5570,7 +4519,13 @@ export as_nl
 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
   as_echo='printf %s\n'
   as_echo_n='printf %s'
 else
@@ -5581,7 +4536,7 @@ else
     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
     as_echo_n_body='eval
       arg=$1;
-      case $arg in
+      case $arg in #(
       *"$as_nl"*)
 	expr "X$arg" : "X\\(.*\\)$as_nl";
 	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
@@ -5604,13 +4559,6 @@ if test "${PATH_SEPARATOR+set}" != set; 
   }
 fi
 
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
 
 # IFS
 # We need space, tab and new line, in precisely that order.  Quoting is
@@ -5620,15 +4568,16 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
+as_myself=
+case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
 IFS=$as_save_IFS
 
      ;;
@@ -5640,12 +4589,16 @@ if test "x$as_myself" = x; then
 fi
 if test ! -f "$as_myself"; then
   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
+  exit 1
 fi
 
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
 done
 PS1='$ '
 PS2='> '
@@ -5657,7 +4610,89 @@ export LC_ALL
 LANGUAGE=C
 export LANGUAGE
 
-# Required to use basename.
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
@@ -5671,8 +4706,12 @@ else
   as_basename=false
 fi
 
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
 
-# Name of the executable.
 as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
@@ -5692,76 +4731,25 @@ as_me=`$as_basename -- "$0" ||
 	  }
 	  s/.*/./; q'`
 
-# CDPATH.
-$as_unset CDPATH
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
 
 ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
+case `echo -n x` in #(((((
 -n*)
-  case `echo 'x\c'` in
+  case `echo 'xy\c'` in
   *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
   esac;;
 *)
   ECHO_N='-n';;
 esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
 
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
@@ -5776,49 +4764,85 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
 
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
 if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
+  as_mkdir_p='mkdir -p "$as_dir"'
 else
   test -d ./-p && rmdir ./-p
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -5828,13 +4852,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 
 
 exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
 
-# Save the log message, to keep $[0] and so on meaningful, and to
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -5865,13 +4895,15 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
 
-Usage: $0 [OPTION]... [FILE]...
+Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -5887,16 +4919,17 @@ Configuration files:
 Configuration headers:
 $config_headers
 
-Report bugs to <bug-autoconf@gnu.org>."
+Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.63,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2008 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -5912,11 +4945,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -5930,27 +4968,29 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
-    CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
   --header | --heade | --head | --hea )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
-    CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    { $as_echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; };;
+    as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
@@ -5958,11 +4998,10 @@ Try \`$0 --help' for more information." 
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) { $as_echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; } ;;
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
 
-  *) ac_config_targets="$ac_config_targets $1"
+  *) as_fn_append ac_config_targets " $1"
      ac_need_defaults=false ;;
 
   esac
@@ -5979,7 +5018,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -6011,9 +5050,7 @@ do
     "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
 
-  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-   { (exit 1); exit 1; }; };;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -6035,26 +5072,24 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
-  trap '{ (exit 1); exit 1; }' 1 2 13 15
+  trap 'as_fn_exit 1' 1 2 13 15
 }
 # Create a (secure) tmp directory for tmp files.
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} ||
-{
-   $as_echo "$as_me: cannot create a temporary directory in ." >&2
-   { (exit 1); exit 1; }
-}
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -6062,7 +5097,13 @@ fi
 if test -n "$CONFIG_FILES"; then
 
 
-ac_cr='
'
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
   ac_cs_awk_cr='\\r'
@@ -6070,7 +5111,7 @@ else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -6079,24 +5120,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -6104,7 +5139,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -6118,7 +5153,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -6132,7 +5167,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -6152,7 +5187,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -6184,23 +5219,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
-$as_echo "$as_me: error: could not setup config files machinery" >&2;}
-   { (exit 1); exit 1; }; }
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -6212,7 +5253,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -6224,13 +5265,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -6315,9 +5354,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
-$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -6330,9 +5367,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
-$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
-   { (exit 1); exit 1; }; };;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -6351,7 +5386,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -6360,12 +5395,10 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-   { (exit 1); exit 1; }; };;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      ac_file_inputs="$ac_file_inputs '$ac_f'"
+      as_fn_append ac_file_inputs " '$ac_f'"
     done
 
     # Let's still pretend it is `configure' which instantiates (i.e., don't
@@ -6376,7 +5409,7 @@ do
 	`' by configure.'
     if test x"$ac_file" != x-; then
       configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
 $as_echo "$as_me: creating $ac_file" >&6;}
     fi
     # Neutralize special characters interpreted by sed in replacement strings.
@@ -6388,10 +5421,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; } ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -6419,47 +5450,7 @@ do
 	    q
 	  }
 	  s/.*/./; q'`
-  { as_dir="$ac_dir"
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
+  as_dir="$ac_dir"; as_fn_mkdir_p
   ac_builddir=.
 
 case "$ac_dir" in
@@ -6507,7 +5498,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # If the template does not know about datarootdir, expand it.
 # FIXME: This hack should be removed a few years after 2.60.
 ac_datarootdir_hack=; ac_datarootdir_seen=
-
 ac_sed_dataroot='
 /datarootdir/ {
   p
@@ -6517,12 +5507,11 @@ ac_sed_dataroot='
 /@docdir@/p
 /@infodir@/p
 /@localedir@/p
-/@mandir@/p
-'
+/@mandir@/p'
 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
@@ -6532,7 +5521,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
   s&@infodir@&$infodir&g
   s&@localedir@&$localedir&g
   s&@mandir@&$mandir&g
-    s&\\\${datarootdir}&$datarootdir&g' ;;
+  s&\\\${datarootdir}&$datarootdir&g' ;;
 esac
 _ACEOF
 
@@ -6558,27 +5547,24 @@ s&@abs_builddir@&$ac_abs_builddir&;t t
 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -6587,27 +5573,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
-$as_echo "$as_me: error: could not create -" >&2;}
-   { (exit 1); exit 1; }; }
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -6617,15 +5597,12 @@ which seems to be undefined.  Please mak
 done # for ac_tag
 
 
-{ (exit 0); exit 0; }
+as_fn_exit 0
 _ACEOF
-chmod +x $CONFIG_STATUS
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -6646,10 +5623,10 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || { (exit 1); exit 1; }
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/README-maintainer-mode ./README-maintainer-mode
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/README-maintainer-mode	2018-07-03 02:06:27.000000000 +0000
+++ ./README-maintainer-mode	2018-07-10 02:06:11.000000000 +0000
@@ -11,8 +11,8 @@ find the sources for these in the respec
   ftp://ftp.gnu.org/gnu/gettext
 
 The required versions of the tools for this tree are
-  autoconf 2.64
-  automake 1.11
+  autoconf 2.69
+  automake 1.15.1
   libtool 2.2.6
   gettext 0.14.5
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/aarch64/aclocal.m4 ./sim/aarch64/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/aarch64/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/aarch64/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -12,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -48,23 +45,39 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -75,10 +88,11 @@ AC_DEFUN([AM_MAINTAINER_MODE],
 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -86,16 +100,12 @@ AC_MSG_CHECKING([whether to enable maint
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -107,4 +117,3 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
-m4_include([../../config/lead-dot.m4])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/aarch64/config.in ./sim/aarch64/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/aarch64/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/aarch64/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -70,43 +70,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/aarch64/configure ./sim/aarch64/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/aarch64/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/aarch64/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -825,8 +856,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -871,7 +903,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -897,7 +929,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1101,7 +1133,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1117,7 +1149,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1147,8 +1179,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1156,7 +1188,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1166,7 +1198,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1174,13 +1206,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1203,7 +1235,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1217,8 +1249,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1233,9 +1263,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1274,11 +1304,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1318,7 +1348,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1387,8 +1417,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1429,7 +1460,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1500,9 +1531,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1546,8 +1577,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1572,7 +1603,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1583,8 +1614,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1596,10 +1627,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1635,7 +1666,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1662,7 +1693,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1671,7 +1702,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1712,8 +1743,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1726,7 +1757,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1744,7 +1775,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1775,7 +1806,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1789,8 +1820,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1802,7 +1833,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1857,7 +1888,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1870,7 +1901,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1914,7 +1945,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1927,7 +1958,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1968,7 +1999,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1976,7 +2007,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2086,11 +2117,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2124,11 +2153,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2141,11 +2168,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2159,11 +2184,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2218,7 +2241,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2229,18 +2257,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2309,7 +2341,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2369,21 +2401,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4072,6 +4089,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4157,7 +4178,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4169,7 +4190,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4197,7 +4218,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4209,7 +4230,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4250,7 +4271,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4262,7 +4283,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4290,7 +4311,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4303,7 +4324,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4349,7 +4370,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4361,7 +4382,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4393,7 +4414,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4405,7 +4426,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4447,8 +4468,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4469,8 +4490,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4487,12 +4508,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4554,62 +4575,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4639,19 +4626,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4691,8 +4737,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4702,7 +4748,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4739,7 +4785,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4817,7 +4863,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4826,8 +4872,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4914,16 +4959,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4937,27 +4988,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4975,14 +5026,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4990,7 +5041,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5008,14 +5059,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5023,7 +5074,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5058,7 +5109,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5088,7 +5139,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5104,11 +5155,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5147,7 +5198,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5163,18 +5214,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5186,7 +5237,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5200,7 +5251,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5235,7 +5286,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5249,7 +5300,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5266,7 +5317,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5301,7 +5352,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5316,7 +5367,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5433,8 +5484,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5446,7 +5496,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5468,14 +5518,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5532,7 +5582,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5552,7 +5602,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5715,7 +5765,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5735,7 +5785,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5770,7 +5820,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5797,7 +5847,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5814,7 +5864,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5849,7 +5899,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5928,7 +5978,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5965,10 +6015,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5995,7 +6045,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6058,7 +6108,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6070,7 +6120,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6102,7 +6152,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6114,7 +6164,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6174,7 +6224,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6209,7 +6259,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6406,7 +6456,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6442,7 +6492,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6454,7 +6504,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6482,7 +6532,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6494,7 +6544,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6541,7 +6591,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6762,7 +6812,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6774,7 +6824,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6802,7 +6852,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6814,7 +6864,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6867,7 +6917,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6879,7 +6929,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6907,7 +6957,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6919,7 +6969,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6966,7 +7016,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6978,7 +7028,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7006,7 +7056,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7018,7 +7068,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7110,7 +7160,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7122,7 +7172,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7177,7 +7227,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7561,7 +7611,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7637,7 +7687,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7649,7 +7699,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7677,7 +7727,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7689,7 +7739,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7729,7 +7779,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7741,7 +7791,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7769,7 +7819,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7781,7 +7831,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7821,7 +7871,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7833,7 +7883,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7861,7 +7911,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7873,7 +7923,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7913,7 +7963,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7925,7 +7975,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7953,7 +8003,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7965,7 +8015,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8005,7 +8055,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8017,7 +8067,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8045,7 +8095,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8057,7 +8107,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8120,7 +8170,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8149,7 +8199,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8181,7 +8231,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8248,7 +8298,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8266,7 +8316,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8484,7 +8534,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8510,7 +8560,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8522,7 +8572,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8550,7 +8600,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8562,7 +8612,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8618,7 +8668,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8704,7 +8754,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8717,7 +8767,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8729,7 +8779,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8847,8 +8897,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8861,8 +8910,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8875,8 +8923,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8889,8 +8936,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8903,8 +8949,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8916,8 +8961,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8932,7 +8976,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8947,7 +8991,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8962,7 +9006,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8977,7 +9021,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8992,7 +9036,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9007,7 +9051,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9022,7 +9066,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9037,7 +9081,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9052,7 +9096,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9067,7 +9111,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9082,7 +9126,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9097,7 +9141,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9112,7 +9156,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9125,7 +9169,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9138,7 +9182,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9172,7 +9216,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9183,7 +9227,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9217,7 +9261,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9254,7 +9298,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9267,7 +9311,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9283,7 +9327,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9292,9 +9336,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9307,11 +9351,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9324,25 +9368,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9535,7 +9579,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9613,7 +9657,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9679,7 +9723,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9821,7 +9865,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10174,7 +10218,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10233,7 +10277,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10276,7 +10320,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10331,7 +10375,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11147,7 +11191,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11519,7 +11563,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12157,7 +12201,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12577,7 +12621,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12611,7 +12655,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12625,12 +12669,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12664,16 +12708,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12707,12 +12751,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12746,12 +12790,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12785,7 +12829,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12826,7 +12870,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12835,7 +12879,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12838 "configure"
+#line 12882 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12932,7 +12976,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12941,7 +12985,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12944 "configure"
+#line 12988 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13244,7 +13288,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13334,7 +13378,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13356,7 +13400,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13403,7 +13447,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13419,7 +13463,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13456,7 +13500,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13520,7 +13564,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13570,7 +13614,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13593,7 +13637,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13770,10 +13814,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13789,6 +13844,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13805,19 +13861,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13918,6 +13974,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13963,19 +14020,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14113,16 +14170,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14171,7 +14228,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14182,28 +14239,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14225,7 +14270,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14265,6 +14310,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14287,12 +14333,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14309,11 +14356,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14327,12 +14379,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14345,7 +14400,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14354,7 +14409,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14374,7 +14429,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14677,7 +14732,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14700,9 +14755,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14710,12 +14766,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14732,12 +14789,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14746,18 +14803,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14765,7 +14822,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14779,7 +14836,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14793,7 +14850,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14813,7 +14870,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14845,21 +14902,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14871,7 +14936,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14883,11 +14948,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14972,7 +15037,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14985,7 +15050,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15004,7 +15069,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15013,7 +15078,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15039,8 +15104,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15170,23 +15235,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15195,21 +15261,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15880,7 +15946,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15901,7 +15967,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/aarch64/configure.ac ./sim/aarch64/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/aarch64/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/aarch64/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -19,7 +19,6 @@ dnl
 dnl You should have received a copy of the GNU General Public License
 dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/arm/aclocal.m4 ./sim/arm/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/arm/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/arm/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/arm/config.in ./sim/arm/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/arm/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/arm/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -70,43 +70,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/arm/configure ./sim/arm/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/arm/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/arm/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -825,8 +856,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -871,7 +903,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -897,7 +929,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1101,7 +1133,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1117,7 +1149,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1147,8 +1179,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1156,7 +1188,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1166,7 +1198,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1174,13 +1206,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1203,7 +1235,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1217,8 +1249,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1233,9 +1263,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1274,11 +1304,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1318,7 +1348,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1387,8 +1417,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1429,7 +1460,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1500,9 +1531,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1546,8 +1577,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1572,7 +1603,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1583,8 +1614,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1596,10 +1627,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1635,7 +1666,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1662,7 +1693,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1671,7 +1702,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1712,8 +1743,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1726,7 +1757,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1744,7 +1775,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1775,7 +1806,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1789,8 +1820,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1802,7 +1833,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1857,7 +1888,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1870,7 +1901,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1914,7 +1945,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1927,7 +1958,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1968,7 +1999,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1976,7 +2007,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2086,11 +2117,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2124,11 +2153,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2141,11 +2168,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2159,11 +2184,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2218,7 +2241,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2229,18 +2257,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2309,7 +2341,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2369,21 +2401,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4072,6 +4089,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4157,7 +4178,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4169,7 +4190,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4197,7 +4218,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4209,7 +4230,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4250,7 +4271,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4262,7 +4283,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4290,7 +4311,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4303,7 +4324,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4349,7 +4370,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4361,7 +4382,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4393,7 +4414,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4405,7 +4426,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4447,8 +4468,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4469,8 +4490,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4487,12 +4508,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4554,62 +4575,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4639,19 +4626,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4691,8 +4737,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4702,7 +4748,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4739,7 +4785,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4817,7 +4863,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4826,8 +4872,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4914,16 +4959,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4937,27 +4988,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4975,14 +5026,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4990,7 +5041,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5008,14 +5059,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5023,7 +5074,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5058,7 +5109,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5088,7 +5139,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5104,11 +5155,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5147,7 +5198,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5163,18 +5214,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5186,7 +5237,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5200,7 +5251,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5235,7 +5286,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5249,7 +5300,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5266,7 +5317,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5301,7 +5352,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5316,7 +5367,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5433,8 +5484,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5446,7 +5496,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5468,14 +5518,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5532,7 +5582,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5552,7 +5602,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5715,7 +5765,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5735,7 +5785,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5770,7 +5820,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5797,7 +5847,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5814,7 +5864,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5849,7 +5899,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5928,7 +5978,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5965,10 +6015,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5995,7 +6045,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6058,7 +6108,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6070,7 +6120,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6102,7 +6152,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6114,7 +6164,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6174,7 +6224,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6209,7 +6259,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6406,7 +6456,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6442,7 +6492,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6454,7 +6504,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6482,7 +6532,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6494,7 +6544,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6541,7 +6591,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6762,7 +6812,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6774,7 +6824,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6802,7 +6852,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6814,7 +6864,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6867,7 +6917,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6879,7 +6929,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6907,7 +6957,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6919,7 +6969,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6966,7 +7016,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6978,7 +7028,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7006,7 +7056,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7018,7 +7068,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7110,7 +7160,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7122,7 +7172,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7177,7 +7227,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7561,7 +7611,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7637,7 +7687,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7649,7 +7699,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7677,7 +7727,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7689,7 +7739,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7729,7 +7779,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7741,7 +7791,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7769,7 +7819,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7781,7 +7831,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7821,7 +7871,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7833,7 +7883,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7861,7 +7911,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7873,7 +7923,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7913,7 +7963,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7925,7 +7975,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7953,7 +8003,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7965,7 +8015,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8005,7 +8055,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8017,7 +8067,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8045,7 +8095,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8057,7 +8107,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8120,7 +8170,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8149,7 +8199,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8181,7 +8231,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8248,7 +8298,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8266,7 +8316,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8484,7 +8534,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8510,7 +8560,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8522,7 +8572,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8550,7 +8600,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8562,7 +8612,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8618,7 +8668,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8704,7 +8754,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8717,7 +8767,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8729,7 +8779,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8847,8 +8897,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8861,8 +8910,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8875,8 +8923,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8889,8 +8936,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8903,8 +8949,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8916,8 +8961,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8932,7 +8976,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8947,7 +8991,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8962,7 +9006,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8977,7 +9021,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8992,7 +9036,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9007,7 +9051,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9022,7 +9066,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9037,7 +9081,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9052,7 +9096,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9067,7 +9111,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9082,7 +9126,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9097,7 +9141,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9112,7 +9156,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9125,7 +9169,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9138,7 +9182,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9172,7 +9216,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9183,7 +9227,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9217,7 +9261,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9254,7 +9298,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9267,7 +9311,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9283,7 +9327,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9292,9 +9336,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9307,11 +9351,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9324,25 +9368,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9535,7 +9579,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9613,7 +9657,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9679,7 +9723,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9821,7 +9865,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10174,7 +10218,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10233,7 +10277,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10276,7 +10320,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10331,7 +10375,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11147,7 +11191,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11519,7 +11563,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12157,7 +12201,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12577,7 +12621,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12611,7 +12655,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12625,12 +12669,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12664,16 +12708,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12707,12 +12751,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12746,12 +12790,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12785,7 +12829,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12826,7 +12870,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12835,7 +12879,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12838 "configure"
+#line 12882 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12932,7 +12976,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12941,7 +12985,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12944 "configure"
+#line 12988 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13244,7 +13288,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13334,7 +13378,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13356,7 +13400,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13403,7 +13447,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13419,7 +13463,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13456,7 +13500,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13520,7 +13564,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13566,7 +13610,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13589,7 +13633,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13766,10 +13810,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13785,6 +13840,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13801,19 +13857,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13914,6 +13970,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13959,19 +14016,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14109,16 +14166,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14167,7 +14224,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14178,28 +14235,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14221,7 +14266,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14261,6 +14306,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14283,12 +14329,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14305,11 +14352,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14323,12 +14375,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14341,7 +14396,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14350,7 +14405,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14370,7 +14425,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14673,7 +14728,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14696,9 +14751,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14706,12 +14762,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14728,12 +14785,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14742,18 +14799,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14761,7 +14818,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14775,7 +14832,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14789,7 +14846,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14809,7 +14866,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14841,21 +14898,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14867,7 +14932,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14879,11 +14944,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14968,7 +15033,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14981,7 +15046,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15000,7 +15065,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15009,7 +15074,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15035,8 +15100,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15166,23 +15231,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15191,21 +15257,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15876,7 +15942,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15897,7 +15963,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/arm/configure.ac ./sim/arm/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/arm/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/arm/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/avr/aclocal.m4 ./sim/avr/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/avr/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/avr/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/avr/config.in ./sim/avr/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/avr/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/avr/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -70,43 +70,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/avr/configure ./sim/avr/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/avr/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/avr/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -825,8 +856,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -871,7 +903,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -897,7 +929,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1101,7 +1133,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1117,7 +1149,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1147,8 +1179,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1156,7 +1188,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1166,7 +1198,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1174,13 +1206,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1203,7 +1235,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1217,8 +1249,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1233,9 +1263,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1274,11 +1304,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1318,7 +1348,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1387,8 +1417,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1429,7 +1460,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1500,9 +1531,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1546,8 +1577,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1572,7 +1603,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1583,8 +1614,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1596,10 +1627,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1635,7 +1666,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1662,7 +1693,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1671,7 +1702,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1712,8 +1743,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1726,7 +1757,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1744,7 +1775,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1775,7 +1806,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1789,8 +1820,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1802,7 +1833,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1857,7 +1888,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1870,7 +1901,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1914,7 +1945,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1927,7 +1958,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1968,7 +1999,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1976,7 +2007,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2086,11 +2117,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2124,11 +2153,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2141,11 +2168,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2159,11 +2184,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2218,7 +2241,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2229,18 +2257,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2309,7 +2341,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2369,21 +2401,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4072,6 +4089,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4157,7 +4178,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4169,7 +4190,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4197,7 +4218,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4209,7 +4230,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4250,7 +4271,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4262,7 +4283,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4290,7 +4311,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4303,7 +4324,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4349,7 +4370,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4361,7 +4382,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4393,7 +4414,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4405,7 +4426,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4447,8 +4468,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4469,8 +4490,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4487,12 +4508,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4554,62 +4575,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4639,19 +4626,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4691,8 +4737,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4702,7 +4748,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4739,7 +4785,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4817,7 +4863,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4826,8 +4872,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4914,16 +4959,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4937,27 +4988,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4975,14 +5026,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4990,7 +5041,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5008,14 +5059,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5023,7 +5074,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5058,7 +5109,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5088,7 +5139,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5104,11 +5155,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5147,7 +5198,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5163,18 +5214,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5186,7 +5237,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5200,7 +5251,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5235,7 +5286,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5249,7 +5300,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5266,7 +5317,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5301,7 +5352,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5316,7 +5367,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5433,8 +5484,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5446,7 +5496,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5468,14 +5518,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5532,7 +5582,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5552,7 +5602,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5715,7 +5765,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5735,7 +5785,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5770,7 +5820,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5797,7 +5847,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5814,7 +5864,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5849,7 +5899,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5928,7 +5978,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5965,10 +6015,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5995,7 +6045,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6058,7 +6108,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6070,7 +6120,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6102,7 +6152,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6114,7 +6164,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6174,7 +6224,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6209,7 +6259,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6406,7 +6456,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6442,7 +6492,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6454,7 +6504,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6482,7 +6532,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6494,7 +6544,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6541,7 +6591,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6762,7 +6812,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6774,7 +6824,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6802,7 +6852,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6814,7 +6864,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6867,7 +6917,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6879,7 +6929,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6907,7 +6957,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6919,7 +6969,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6966,7 +7016,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6978,7 +7028,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7006,7 +7056,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7018,7 +7068,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7110,7 +7160,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7122,7 +7172,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7177,7 +7227,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7561,7 +7611,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7637,7 +7687,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7649,7 +7699,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7677,7 +7727,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7689,7 +7739,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7729,7 +7779,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7741,7 +7791,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7769,7 +7819,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7781,7 +7831,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7821,7 +7871,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7833,7 +7883,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7861,7 +7911,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7873,7 +7923,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7913,7 +7963,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7925,7 +7975,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7953,7 +8003,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7965,7 +8015,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8005,7 +8055,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8017,7 +8067,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8045,7 +8095,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8057,7 +8107,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8120,7 +8170,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8149,7 +8199,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8181,7 +8231,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8248,7 +8298,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8266,7 +8316,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8484,7 +8534,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8510,7 +8560,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8522,7 +8572,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8550,7 +8600,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8562,7 +8612,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8618,7 +8668,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8704,7 +8754,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8717,7 +8767,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8729,7 +8779,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8847,8 +8897,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8861,8 +8910,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8875,8 +8923,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8889,8 +8936,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8903,8 +8949,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8916,8 +8961,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8932,7 +8976,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8947,7 +8991,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8962,7 +9006,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8977,7 +9021,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8992,7 +9036,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9007,7 +9051,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9022,7 +9066,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9037,7 +9081,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9052,7 +9096,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9067,7 +9111,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9082,7 +9126,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9097,7 +9141,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9112,7 +9156,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9125,7 +9169,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9138,7 +9182,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9172,7 +9216,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9183,7 +9227,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9217,7 +9261,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9254,7 +9298,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9267,7 +9311,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9283,7 +9327,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9292,9 +9336,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9307,11 +9351,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9324,25 +9368,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9535,7 +9579,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9613,7 +9657,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9679,7 +9723,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9821,7 +9865,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10174,7 +10218,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10233,7 +10277,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10276,7 +10320,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10331,7 +10375,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11147,7 +11191,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11519,7 +11563,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12157,7 +12201,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12577,7 +12621,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12611,7 +12655,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12625,12 +12669,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12664,16 +12708,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12707,12 +12751,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12746,12 +12790,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12785,7 +12829,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12826,7 +12870,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12835,7 +12879,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12838 "configure"
+#line 12882 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12932,7 +12976,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12941,7 +12985,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12944 "configure"
+#line 12988 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13244,7 +13288,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13334,7 +13378,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13356,7 +13400,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13403,7 +13447,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13419,7 +13463,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13456,7 +13500,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13520,7 +13564,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13566,7 +13610,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13589,7 +13633,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13766,10 +13810,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13785,6 +13840,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13801,19 +13857,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13914,6 +13970,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13959,19 +14016,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14109,16 +14166,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14167,7 +14224,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14178,28 +14235,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14221,7 +14266,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14261,6 +14306,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14283,12 +14329,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14305,11 +14352,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14323,12 +14375,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14341,7 +14396,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14350,7 +14405,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14370,7 +14425,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14673,7 +14728,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14696,9 +14751,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14706,12 +14762,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14728,12 +14785,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14742,18 +14799,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14761,7 +14818,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14775,7 +14832,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14789,7 +14846,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14809,7 +14866,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14841,21 +14898,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14867,7 +14932,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14879,11 +14944,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14968,7 +15033,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14981,7 +15046,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15000,7 +15065,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15009,7 +15074,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15035,8 +15100,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15166,23 +15231,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15191,21 +15257,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15876,7 +15942,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15897,7 +15963,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/avr/configure.ac ./sim/avr/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/avr/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/avr/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/bfin/aclocal.m4 ./sim/bfin/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/bfin/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/bfin/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,32 +11,64 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-# 
-# Copyright Â© 2004 Scott James Remnant <scott@netsplit.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+# pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
+# serial 11 (pkg-config-0.29.1)
+
+dnl Copyright Â© 2004 Scott James Remnant <scott@netsplit.com>.
+dnl Copyright Â© 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+    [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
 AC_DEFUN([PKG_PROG_PKG_CONFIG],
 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
 m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@@ -58,18 +90,19 @@ if test -n "$PKG_CONFIG"; then
 		PKG_CONFIG=""
 	fi
 fi[]dnl
-])# PKG_PROG_PKG_CONFIG
+])dnl PKG_PROG_PKG_CONFIG
 
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists.  Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
 AC_DEFUN([PKG_CHECK_EXISTS],
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
 if test -n "$PKG_CONFIG" && \
@@ -79,8 +112,10 @@ m4_ifvaln([$3], [else
   $3])dnl
 fi])
 
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
 m4_define([_PKG_CONFIG],
 [if test -n "$$1"; then
     pkg_cv_[]$1="$$1"
@@ -92,10 +127,11 @@ m4_define([_PKG_CONFIG],
  else
     pkg_failed=untried
 fi[]dnl
-])# _PKG_CONFIG
+])dnl _PKG_CONFIG
 
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
 AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -103,19 +139,17 @@ if $PKG_CONFIG --atleast-pkgconfig-versi
 else
         _pkg_short_errors_supported=no
 fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
 
 
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl   [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
 AC_DEFUN([PKG_CHECK_MODULES],
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
 AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
@@ -169,16 +203,40 @@ else
         AC_MSG_RESULT([yes])
 	$3
 fi[]dnl
-])# PKG_CHECK_MODULES
+])dnl PKG_CHECK_MODULES
 
 
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl   [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
 AC_DEFUN([PKG_INSTALLDIR],
 [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
 m4_pushdef([pkg_description],
@@ -189,16 +247,18 @@ AC_ARG_WITH([pkgconfigdir],
 AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
 m4_popdef([pkg_default])
 m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
+])dnl PKG_INSTALLDIR
 
 
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
 AC_DEFUN([PKG_NOARCH_INSTALLDIR],
 [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
 m4_pushdef([pkg_description],
@@ -209,13 +269,15 @@ AC_ARG_WITH([noarch-pkgconfigdir],
 AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
 m4_popdef([pkg_default])
 m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
+])dnl PKG_NOARCH_INSTALLDIR
 
 
-# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
-# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# -------------------------------------------
-# Retrieves the value of the pkg-config variable for the given module.
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
 AC_DEFUN([PKG_CHECK_VAR],
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
 AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
@@ -224,26 +286,91 @@ _PKG_CONFIG([$1], [variable="][$3]["], [
 AS_VAR_COPY([$1], [pkg_cv_][$1])
 
 AS_VAR_IF([$1], [""], [$5], [$4])dnl
-])# PKG_CHECK_VAR
+])dnl PKG_CHECK_VAR
+
+dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
+dnl   [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------
+dnl
+dnl Prepare a "--with-" configure option using the lowercase
+dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
+dnl PKG_CHECK_MODULES in a single macro.
+AC_DEFUN([PKG_WITH_MODULES],
+[
+m4_pushdef([with_arg], m4_tolower([$1]))
+
+m4_pushdef([description],
+           [m4_default([$5], [build with ]with_arg[ support])])
+
+m4_pushdef([def_arg], [m4_default([$6], [auto])])
+m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
+m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
+
+m4_case(def_arg,
+            [yes],[m4_pushdef([with_without], [--without-]with_arg)],
+            [m4_pushdef([with_without],[--with-]with_arg)])
+
+AC_ARG_WITH(with_arg,
+     AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
+    [AS_TR_SH([with_]with_arg)=def_arg])
+
+AS_CASE([$AS_TR_SH([with_]with_arg)],
+            [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
+            [auto],[PKG_CHECK_MODULES([$1],[$2],
+                                        [m4_n([def_action_if_found]) $3],
+                                        [m4_n([def_action_if_not_found]) $4])])
+
+m4_popdef([with_arg])
+m4_popdef([description])
+m4_popdef([def_arg])
+
+])dnl PKG_WITH_MODULES
+
+dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [DESCRIPTION], [DEFAULT])
+dnl -----------------------------------------------
+dnl
+dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
+dnl check._[VARIABLE-PREFIX] is exported as make variable.
+AC_DEFUN([PKG_HAVE_WITH_MODULES],
+[
+PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
+
+AM_CONDITIONAL([HAVE_][$1],
+               [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
+])dnl PKG_HAVE_WITH_MODULES
+
+dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------------------
+dnl
+dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
+dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
+dnl and preprocessor variable.
+AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
+[
+PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
+
+AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
+        [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
+])dnl PKG_HAVE_DEFINE_WITH_MODULES
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -262,14 +389,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -286,20 +411,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -307,13 +429,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -321,16 +444,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -338,7 +457,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/bfin/config.in ./sim/bfin/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/bfin/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/bfin/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -112,43 +112,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/ioctl.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/bfin/configure ./sim/bfin/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/bfin/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/bfin/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -837,8 +868,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -883,7 +915,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -909,7 +941,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1113,7 +1145,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1129,7 +1161,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1159,8 +1191,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1168,7 +1200,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1178,7 +1210,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1186,13 +1218,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1215,7 +1247,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1229,8 +1261,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1245,9 +1275,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1286,11 +1316,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1330,7 +1360,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1399,8 +1429,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1445,7 +1476,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
   PKG_CONFIG  path to pkg-config utility
@@ -1523,9 +1554,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1569,8 +1600,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1595,7 +1626,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1606,8 +1637,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1619,10 +1650,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1658,7 +1689,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1685,7 +1716,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1694,7 +1725,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1735,8 +1766,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1749,7 +1780,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1767,7 +1798,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1798,7 +1829,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1812,8 +1843,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1825,7 +1856,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1880,7 +1911,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1893,7 +1924,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1937,7 +1968,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1950,7 +1981,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1991,7 +2022,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1999,7 +2030,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2109,11 +2140,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2147,11 +2176,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2164,11 +2191,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2182,11 +2207,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2241,7 +2264,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2252,18 +2280,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2332,7 +2364,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2392,21 +2424,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4095,6 +4112,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4180,7 +4201,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4192,7 +4213,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4220,7 +4241,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4232,7 +4253,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4273,7 +4294,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4285,7 +4306,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4313,7 +4334,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4326,7 +4347,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4372,7 +4393,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4384,7 +4405,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4416,7 +4437,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4428,7 +4449,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4470,8 +4491,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4492,8 +4513,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4510,12 +4531,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4577,62 +4598,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4662,19 +4649,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4714,8 +4760,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4725,7 +4771,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4762,7 +4808,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4840,7 +4886,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4849,8 +4895,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4937,16 +4982,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4960,27 +5011,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4998,14 +5049,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5013,7 +5064,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5031,14 +5082,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5046,7 +5097,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5081,7 +5132,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5111,7 +5162,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5127,11 +5178,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5170,7 +5221,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5186,18 +5237,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5209,7 +5260,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5223,7 +5274,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5258,7 +5309,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5272,7 +5323,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5289,7 +5340,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5324,7 +5375,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5339,7 +5390,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5456,8 +5507,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5469,7 +5519,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5491,14 +5541,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5555,7 +5605,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5575,7 +5625,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5738,7 +5788,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5758,7 +5808,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5793,7 +5843,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5820,7 +5870,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5837,7 +5887,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5872,7 +5922,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5951,7 +6001,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5988,10 +6038,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -6018,7 +6068,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6081,7 +6131,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6093,7 +6143,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6125,7 +6175,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6137,7 +6187,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6197,7 +6247,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6232,7 +6282,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6429,7 +6479,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6465,7 +6515,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6477,7 +6527,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6505,7 +6555,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6517,7 +6567,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6564,7 +6614,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6785,7 +6835,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6797,7 +6847,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6825,7 +6875,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6837,7 +6887,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6890,7 +6940,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6902,7 +6952,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6930,7 +6980,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6942,7 +6992,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6989,7 +7039,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -7001,7 +7051,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7029,7 +7079,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7041,7 +7091,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7133,7 +7183,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7145,7 +7195,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7200,7 +7250,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7584,7 +7634,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7660,7 +7710,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7672,7 +7722,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7700,7 +7750,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7712,7 +7762,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7752,7 +7802,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7764,7 +7814,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7792,7 +7842,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7804,7 +7854,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7844,7 +7894,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7856,7 +7906,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7884,7 +7934,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7896,7 +7946,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7936,7 +7986,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7948,7 +7998,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7976,7 +8026,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7988,7 +8038,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8028,7 +8078,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8040,7 +8090,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8068,7 +8118,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8080,7 +8130,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8143,7 +8193,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8172,7 +8222,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8204,7 +8254,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8271,7 +8321,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8289,7 +8339,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8507,7 +8557,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8533,7 +8583,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8545,7 +8595,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8573,7 +8623,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8585,7 +8635,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8641,7 +8691,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8727,7 +8777,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8740,7 +8790,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8752,7 +8802,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8870,8 +8920,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8884,8 +8933,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8898,8 +8946,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8912,8 +8959,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8926,8 +8972,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8939,8 +8984,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8955,7 +8999,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8970,7 +9014,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8985,7 +9029,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -9000,7 +9044,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -9015,7 +9059,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9030,7 +9074,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9045,7 +9089,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9060,7 +9104,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9075,7 +9119,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9090,7 +9134,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9105,7 +9149,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9120,7 +9164,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9135,7 +9179,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9148,7 +9192,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9161,7 +9205,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9195,7 +9239,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9206,7 +9250,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9240,7 +9284,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9277,7 +9321,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9290,7 +9334,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9306,7 +9350,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9315,9 +9359,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9330,11 +9374,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9347,25 +9391,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9558,7 +9602,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9636,7 +9680,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9702,7 +9746,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9844,7 +9888,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10197,7 +10241,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10256,7 +10300,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10299,7 +10343,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10354,7 +10398,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11170,7 +11214,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11542,7 +11586,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12180,7 +12224,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12600,7 +12644,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12634,7 +12678,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12648,12 +12692,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12687,16 +12731,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12730,12 +12774,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12769,12 +12813,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12808,7 +12852,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12849,7 +12893,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12858,7 +12902,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12861 "configure"
+#line 12905 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12955,7 +12999,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12964,7 +13008,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12967 "configure"
+#line 13011 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13267,7 +13311,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13357,7 +13401,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13379,7 +13423,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13426,7 +13470,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13442,7 +13486,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13479,7 +13523,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13543,7 +13587,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13589,7 +13633,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13611,7 +13655,7 @@ default_sim_default_model="bf537"
 # Check whether --enable-sim-default-model was given.
 if test "${enable_sim_default_model+set}" = set; then :
   enableval=$enable_sim_default_model; case "${enableval}" in
-  yes|no) as_fn_error "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
+  yes|no) as_fn_error $? "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
   *)	sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
@@ -13628,7 +13672,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13817,7 +13861,7 @@ _ACEOF
     case " $hardware " in
     *" cfi "*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log2 in -lm" >&5
 $as_echo_n "checking for log2 in -lm... " >&6; }
-if test "${ac_cv_lib_m_log2+set}" = set; then :
+if ${ac_cv_lib_m_log2+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -13851,7 +13895,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log2" >&5
 $as_echo "$ac_cv_lib_m_log2" >&6; }
-if test "x$ac_cv_lib_m_log2" = x""yes; then :
+if test "x$ac_cv_lib_m_log2" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -13868,8 +13912,7 @@ for ac_func in getuid getgid geteuid get
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13888,8 +13931,7 @@ for ac_header in  \
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -13912,7 +13954,7 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != 
 set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $PKG_CONFIG in
@@ -13926,7 +13968,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -13955,7 +13997,7 @@ if test -z "$ac_cv_path_PKG_CONFIG"; the
 set dummy pkg-config; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $ac_pt_PKG_CONFIG in
@@ -13969,7 +14011,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14091,7 +14133,7 @@ else
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -14125,7 +14167,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
 
 		SDL_CFLAGS="${SDL_CFLAGS} -DHAVE_SDL"
 		SDL_LIBS="-ldl"
@@ -14219,10 +14261,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -14238,6 +14291,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -14254,19 +14308,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -14367,6 +14421,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -14412,19 +14467,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14562,16 +14617,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14620,7 +14675,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14631,28 +14686,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14674,7 +14717,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14714,6 +14757,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14736,12 +14780,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14758,11 +14803,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14776,12 +14826,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14794,7 +14847,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14803,7 +14856,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14823,7 +14876,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -15126,7 +15179,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -15149,9 +15202,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -15159,12 +15213,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -15181,12 +15236,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -15195,18 +15250,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -15214,7 +15269,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -15228,7 +15283,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -15242,7 +15297,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -15262,7 +15317,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -15294,21 +15349,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -15320,7 +15383,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -15332,11 +15395,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -15421,7 +15484,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -15434,7 +15497,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15453,7 +15516,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15462,7 +15525,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15488,8 +15551,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15619,23 +15682,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15644,21 +15708,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -16329,7 +16393,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -16350,7 +16414,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/bfin/configure.ac ./sim/bfin/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/bfin/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/bfin/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/ChangeLog ./sim/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/ChangeLog	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/ChangeLog	2018-07-10 02:06:15.000000000 +0000
@@ -1,3 +1,8 @@
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* All configure.ac: Remove AC_PREREQ.
+	* All configure: Re-generate.
+
 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
 
 	* MAINTAINERS: Update my company e-mail address.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/common/aclocal.m4 ./sim/common/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/common/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/common/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,4 +11,5 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_include([acinclude.m4])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/common/configure ./sim/common/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/common/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/common/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -208,14 +235,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -313,10 +351,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -353,19 +399,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -438,6 +484,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -472,16 +522,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -493,28 +543,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -523,10 +553,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -687,8 +718,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -733,7 +765,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -759,7 +791,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -963,7 +995,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -979,7 +1011,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1009,8 +1041,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1018,7 +1050,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1028,7 +1060,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1036,13 +1068,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1065,7 +1097,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1079,8 +1111,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1095,9 +1125,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1136,11 +1166,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1180,7 +1210,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1235,7 +1265,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
 
 Use these variables to override the choices made by `configure' or to help
@@ -1305,9 +1335,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1351,8 +1381,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 cat >config.log <<_ACEOF
@@ -1360,7 +1390,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1470,11 +1500,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -1508,11 +1536,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -1525,11 +1551,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -1543,11 +1567,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -1602,7 +1624,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -1613,18 +1640,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -1693,7 +1724,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -1720,7 +1751,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1732,7 +1763,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -1760,7 +1791,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -1772,7 +1803,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -1813,7 +1844,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1825,7 +1856,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -1853,7 +1884,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1866,7 +1897,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -1912,7 +1943,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1924,7 +1955,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -1956,7 +1987,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -1968,7 +1999,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2010,8 +2041,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -2032,8 +2063,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -2050,12 +2081,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -2117,62 +2148,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -2202,19 +2199,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2254,8 +2310,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -2265,7 +2321,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2302,7 +2358,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -2380,7 +2436,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -2389,8 +2445,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -2570,10 +2625,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -2625,6 +2691,7 @@ DEFS=`sed -n "$ac_script" confdefs.h`
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -2640,7 +2707,7 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -2741,6 +2808,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2786,19 +2854,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -2936,16 +3004,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -2994,7 +3062,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -3005,28 +3073,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -3048,7 +3104,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -3083,6 +3139,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -3097,12 +3154,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -3117,11 +3175,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -3135,12 +3198,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -3151,7 +3217,7 @@ do
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -3171,7 +3237,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -3202,7 +3268,7 @@ do
   case $ac_config_target in
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -3223,9 +3289,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -3233,12 +3300,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -3255,12 +3323,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -3269,18 +3337,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -3288,7 +3356,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -3302,7 +3370,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -3316,7 +3384,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -3336,7 +3404,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -3368,21 +3436,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -3400,7 +3476,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -3419,7 +3495,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -3428,7 +3504,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -3454,8 +3530,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -3580,23 +3656,24 @@ s&@abs_builddir@&$ac_abs_builddir&;t t
 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
 
 
@@ -3611,7 +3688,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -3632,7 +3709,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/common/configure.ac ./sim/common/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/common/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/common/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 
 AC_PROG_CC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/configure ./sim/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -208,14 +235,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -313,10 +351,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -353,19 +399,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -438,6 +484,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -472,16 +522,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -493,28 +543,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -523,10 +553,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -653,8 +684,8 @@ microblaze
 mips
 mn10300
 moxie
-or1k
 msp430
+or1k
 rl78
 rx
 sh64
@@ -726,8 +757,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -772,7 +804,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -798,7 +830,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1002,7 +1034,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1018,7 +1050,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1048,8 +1080,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1057,7 +1089,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1067,7 +1099,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1075,13 +1107,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1104,7 +1136,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1118,8 +1150,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1134,9 +1164,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1175,11 +1205,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1219,7 +1249,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1290,7 +1320,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
 
 Use these variables to override the choices made by `configure' or to help
@@ -1360,9 +1390,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1406,8 +1436,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 cat >config.log <<_ACEOF
@@ -1415,7 +1445,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1525,11 +1555,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -1563,11 +1591,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -1580,11 +1606,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -1598,11 +1622,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -1657,7 +1679,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -1668,18 +1695,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -1748,7 +1779,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -1775,7 +1806,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1787,7 +1818,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -1815,7 +1846,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -1827,7 +1858,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -1868,7 +1899,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1880,7 +1911,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -1908,7 +1939,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1921,7 +1952,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -1967,7 +1998,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -1979,7 +2010,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2011,7 +2042,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2023,7 +2054,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2065,8 +2096,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -2087,8 +2118,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -2105,12 +2136,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -2172,62 +2203,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -2257,19 +2254,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2309,8 +2365,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -2320,7 +2376,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2357,7 +2413,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -2435,7 +2491,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -2444,8 +2500,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -2532,16 +2587,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -2570,7 +2631,7 @@ ac_configure="$SHELL $ac_aux_dir/configu
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2590,7 +2651,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -2651,7 +2712,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -2663,7 +2724,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2691,7 +2752,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -2703,7 +2764,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2743,7 +2804,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -2755,7 +2816,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2783,7 +2844,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -2795,7 +2856,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2833,27 +2894,27 @@ fi
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -2871,14 +2932,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2886,7 +2947,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -2904,14 +2965,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -2919,7 +2980,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -2962,7 +3023,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2974,7 +3035,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3002,7 +3063,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -3014,7 +3075,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3055,7 +3116,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3067,7 +3128,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3095,7 +3156,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3108,7 +3169,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -3154,7 +3215,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3166,7 +3227,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3198,7 +3259,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -3210,7 +3271,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3252,8 +3313,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3274,15 +3335,15 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3319,7 +3380,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3397,7 +3458,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -3406,8 +3467,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3501,7 +3561,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -3513,7 +3573,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3541,7 +3601,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -3553,7 +3613,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3607,7 +3667,7 @@ CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CF
 if test "${enable_sim+set}" = set; then :
   enableval=$enable_sim; case "${enableval}" in
 yes | no) ;;
-*)	as_fn_error "bad value ${enableval} given for --enable-sim option" "$LINENO" 5 ;;
+*)	as_fn_error $? "bad value ${enableval} given for --enable-sim option" "$LINENO" 5 ;;
 esac
 fi
 
@@ -3777,7 +3837,6 @@ subdirs="$subdirs aarch64"
   subdirs="$subdirs or1k"
 
 
-       sim_testsuite=yes
        ;;
    rl78-*-*)
 
@@ -3913,10 +3972,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -3968,6 +4038,7 @@ DEFS=`sed -n "$ac_script" confdefs.h`
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -3983,7 +4054,7 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -4084,6 +4155,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -4129,19 +4201,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -4279,16 +4351,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -4337,7 +4409,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -4348,28 +4420,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -4391,7 +4451,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -4426,6 +4486,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -4440,12 +4501,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -4461,11 +4523,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -4479,12 +4546,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -4495,7 +4565,7 @@ do
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -4515,7 +4585,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -4546,7 +4616,7 @@ do
   case $ac_config_target in
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -4567,9 +4637,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -4577,12 +4648,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -4599,12 +4671,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -4613,18 +4685,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -4632,7 +4704,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -4646,7 +4718,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -4660,7 +4732,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -4680,7 +4752,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -4712,21 +4784,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -4744,7 +4824,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -4763,7 +4843,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -4772,7 +4852,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -4798,8 +4878,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -4929,23 +5009,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
 
 
@@ -4960,7 +5041,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -4981,7 +5062,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 
 #
@@ -5122,7 +5203,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_
       # The eval makes quoting arguments work.
       eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
 	   --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
-	as_fn_error "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
+	as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
     fi
 
     cd "$ac_popdir"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/configure.ac ./sim/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,6 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
 m4_include([../config/override.m4])
-AC_PREREQ(2.59)dnl
 AC_INIT(Makefile.in)
 
 AC_PROG_CC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cr16/aclocal.m4 ./sim/cr16/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cr16/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/cr16/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cr16/config.in ./sim/cr16/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cr16/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/cr16/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -70,43 +70,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cr16/configure ./sim/cr16/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cr16/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/cr16/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -825,8 +856,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -871,7 +903,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -897,7 +929,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1101,7 +1133,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1117,7 +1149,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1147,8 +1179,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1156,7 +1188,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1166,7 +1198,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1174,13 +1206,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1203,7 +1235,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1217,8 +1249,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1233,9 +1263,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1274,11 +1304,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1318,7 +1348,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1387,8 +1417,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1429,7 +1460,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1500,9 +1531,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1546,8 +1577,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1572,7 +1603,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1583,8 +1614,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1596,10 +1627,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1635,7 +1666,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1662,7 +1693,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1671,7 +1702,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1712,8 +1743,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1726,7 +1757,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1744,7 +1775,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1775,7 +1806,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1789,8 +1820,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1802,7 +1833,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1857,7 +1888,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1870,7 +1901,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1914,7 +1945,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1927,7 +1958,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1968,7 +1999,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1976,7 +2007,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2086,11 +2117,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2124,11 +2153,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2141,11 +2168,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2159,11 +2184,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2218,7 +2241,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2229,18 +2257,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2309,7 +2341,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2369,21 +2401,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4072,6 +4089,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4157,7 +4178,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4169,7 +4190,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4197,7 +4218,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4209,7 +4230,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4250,7 +4271,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4262,7 +4283,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4290,7 +4311,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4303,7 +4324,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4349,7 +4370,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4361,7 +4382,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4393,7 +4414,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4405,7 +4426,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4447,8 +4468,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4469,8 +4490,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4487,12 +4508,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4554,62 +4575,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4639,19 +4626,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4691,8 +4737,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4702,7 +4748,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4739,7 +4785,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4817,7 +4863,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4826,8 +4872,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4914,16 +4959,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4937,27 +4988,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4975,14 +5026,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4990,7 +5041,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5008,14 +5059,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5023,7 +5074,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5058,7 +5109,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5088,7 +5139,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5104,11 +5155,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5147,7 +5198,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5163,18 +5214,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5186,7 +5237,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5200,7 +5251,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5235,7 +5286,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5249,7 +5300,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5266,7 +5317,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5301,7 +5352,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5316,7 +5367,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5433,8 +5484,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5446,7 +5496,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5468,14 +5518,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5532,7 +5582,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5552,7 +5602,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5715,7 +5765,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5735,7 +5785,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5770,7 +5820,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5797,7 +5847,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5814,7 +5864,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5849,7 +5899,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5928,7 +5978,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5965,10 +6015,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5995,7 +6045,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6058,7 +6108,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6070,7 +6120,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6102,7 +6152,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6114,7 +6164,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6174,7 +6224,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6209,7 +6259,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6406,7 +6456,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6442,7 +6492,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6454,7 +6504,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6482,7 +6532,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6494,7 +6544,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6541,7 +6591,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6762,7 +6812,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6774,7 +6824,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6802,7 +6852,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6814,7 +6864,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6867,7 +6917,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6879,7 +6929,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6907,7 +6957,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6919,7 +6969,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6966,7 +7016,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6978,7 +7028,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7006,7 +7056,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7018,7 +7068,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7110,7 +7160,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7122,7 +7172,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7177,7 +7227,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7561,7 +7611,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7637,7 +7687,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7649,7 +7699,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7677,7 +7727,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7689,7 +7739,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7729,7 +7779,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7741,7 +7791,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7769,7 +7819,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7781,7 +7831,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7821,7 +7871,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7833,7 +7883,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7861,7 +7911,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7873,7 +7923,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7913,7 +7963,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7925,7 +7975,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7953,7 +8003,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7965,7 +8015,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8005,7 +8055,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8017,7 +8067,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8045,7 +8095,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8057,7 +8107,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8120,7 +8170,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8149,7 +8199,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8181,7 +8231,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8248,7 +8298,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8266,7 +8316,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8484,7 +8534,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8510,7 +8560,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8522,7 +8572,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8550,7 +8600,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8562,7 +8612,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8618,7 +8668,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8704,7 +8754,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8717,7 +8767,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8729,7 +8779,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8847,8 +8897,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8861,8 +8910,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8875,8 +8923,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8889,8 +8936,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8903,8 +8949,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8916,8 +8961,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8932,7 +8976,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8947,7 +8991,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8962,7 +9006,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8977,7 +9021,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8992,7 +9036,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9007,7 +9051,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9022,7 +9066,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9037,7 +9081,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9052,7 +9096,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9067,7 +9111,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9082,7 +9126,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9097,7 +9141,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9112,7 +9156,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9125,7 +9169,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9138,7 +9182,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9172,7 +9216,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9183,7 +9227,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9217,7 +9261,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9254,7 +9298,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9267,7 +9311,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9283,7 +9327,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9292,9 +9336,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9307,11 +9351,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9324,25 +9368,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9535,7 +9579,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9613,7 +9657,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9679,7 +9723,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9821,7 +9865,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10174,7 +10218,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10233,7 +10277,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10276,7 +10320,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10331,7 +10375,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11147,7 +11191,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11519,7 +11563,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12157,7 +12201,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12577,7 +12621,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12611,7 +12655,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12625,12 +12669,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12664,16 +12708,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12707,12 +12751,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12746,12 +12790,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12785,7 +12829,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12826,7 +12870,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12835,7 +12879,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12838 "configure"
+#line 12882 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12932,7 +12976,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12941,7 +12985,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12944 "configure"
+#line 12988 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13244,7 +13288,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13334,7 +13378,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13356,7 +13400,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13403,7 +13447,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13419,7 +13463,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13456,7 +13500,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13520,7 +13564,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13566,7 +13610,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13589,7 +13633,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13766,10 +13810,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13785,6 +13840,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13801,19 +13857,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13914,6 +13970,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13959,19 +14016,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14109,16 +14166,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14167,7 +14224,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14178,28 +14235,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14221,7 +14266,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14261,6 +14306,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14283,12 +14329,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14305,11 +14352,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14323,12 +14375,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14341,7 +14396,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14350,7 +14405,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14370,7 +14425,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14673,7 +14728,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14696,9 +14751,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14706,12 +14762,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14728,12 +14785,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14742,18 +14799,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14761,7 +14818,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14775,7 +14832,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14789,7 +14846,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14809,7 +14866,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14841,21 +14898,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14867,7 +14932,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14879,11 +14944,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14968,7 +15033,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14981,7 +15046,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15000,7 +15065,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15009,7 +15074,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15035,8 +15100,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15166,23 +15231,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15191,21 +15257,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15876,7 +15942,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15897,7 +15963,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cr16/configure.ac ./sim/cr16/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cr16/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/cr16/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cris/aclocal.m4 ./sim/cris/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cris/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/cris/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cris/config.in ./sim/cris/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cris/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/cris/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -79,43 +79,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cris/configure ./sim/cris/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cris/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/cris/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -832,8 +863,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -878,7 +910,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -904,7 +936,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1108,7 +1140,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1124,7 +1156,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1154,8 +1186,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1163,7 +1195,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1173,7 +1205,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1181,13 +1213,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1210,7 +1242,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1224,8 +1256,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1240,9 +1270,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1281,11 +1311,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1325,7 +1355,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1394,8 +1424,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1443,7 +1474,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1514,9 +1545,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1560,8 +1591,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1586,7 +1617,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1597,8 +1628,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1610,10 +1641,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1649,7 +1680,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1676,7 +1707,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1685,7 +1716,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1726,8 +1757,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1740,7 +1771,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1758,7 +1789,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1789,7 +1820,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1803,8 +1834,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1816,7 +1847,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1871,7 +1902,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1884,7 +1915,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1928,7 +1959,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1941,7 +1972,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1982,7 +2013,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1990,7 +2021,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2100,11 +2131,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2138,11 +2167,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2155,11 +2182,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2173,11 +2198,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2232,7 +2255,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2243,18 +2271,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2323,7 +2355,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2383,21 +2415,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4086,6 +4103,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4171,7 +4192,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4183,7 +4204,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4211,7 +4232,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4223,7 +4244,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4264,7 +4285,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4276,7 +4297,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4304,7 +4325,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4317,7 +4338,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4363,7 +4384,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4375,7 +4396,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4407,7 +4428,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4419,7 +4440,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4461,8 +4482,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4483,8 +4504,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4501,12 +4522,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4568,62 +4589,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4653,19 +4640,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4705,8 +4751,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4716,7 +4762,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4753,7 +4799,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4831,7 +4877,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4840,8 +4886,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4928,16 +4973,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4951,27 +5002,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4989,14 +5040,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5004,7 +5055,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5022,14 +5073,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5037,7 +5088,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5072,7 +5123,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5102,7 +5153,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5118,11 +5169,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5161,7 +5212,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5177,18 +5228,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5200,7 +5251,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5214,7 +5265,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5249,7 +5300,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5263,7 +5314,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5280,7 +5331,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5315,7 +5366,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5330,7 +5381,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5447,8 +5498,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5460,7 +5510,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5482,14 +5532,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5546,7 +5596,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5566,7 +5616,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5729,7 +5779,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5749,7 +5799,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5784,7 +5834,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5811,7 +5861,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5828,7 +5878,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5863,7 +5913,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5942,7 +5992,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5979,10 +6029,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -6009,7 +6059,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6072,7 +6122,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6084,7 +6134,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6116,7 +6166,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6128,7 +6178,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6188,7 +6238,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6223,7 +6273,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6420,7 +6470,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6456,7 +6506,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6468,7 +6518,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6496,7 +6546,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6508,7 +6558,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6555,7 +6605,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6776,7 +6826,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6788,7 +6838,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6816,7 +6866,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6828,7 +6878,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6881,7 +6931,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6893,7 +6943,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6921,7 +6971,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6933,7 +6983,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6980,7 +7030,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6992,7 +7042,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7020,7 +7070,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7032,7 +7082,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7124,7 +7174,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7136,7 +7186,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7191,7 +7241,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7575,7 +7625,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7651,7 +7701,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7663,7 +7713,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7691,7 +7741,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7703,7 +7753,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7743,7 +7793,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7755,7 +7805,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7783,7 +7833,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7795,7 +7845,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7835,7 +7885,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7847,7 +7897,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7875,7 +7925,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7887,7 +7937,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7927,7 +7977,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7939,7 +7989,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7967,7 +8017,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7979,7 +8029,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8019,7 +8069,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8031,7 +8081,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8059,7 +8109,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8071,7 +8121,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8134,7 +8184,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8163,7 +8213,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8195,7 +8245,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8262,7 +8312,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8280,7 +8330,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8498,7 +8548,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8524,7 +8574,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8536,7 +8586,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8564,7 +8614,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8576,7 +8626,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8632,7 +8682,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8718,7 +8768,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8731,7 +8781,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8743,7 +8793,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8861,8 +8911,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8875,8 +8924,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8889,8 +8937,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8903,8 +8950,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8917,8 +8963,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8930,8 +8975,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8946,7 +8990,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8961,7 +9005,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8976,7 +9020,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8991,7 +9035,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -9006,7 +9050,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9021,7 +9065,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9036,7 +9080,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9051,7 +9095,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9066,7 +9110,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9081,7 +9125,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9096,7 +9140,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9111,7 +9155,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9126,7 +9170,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9139,7 +9183,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9152,7 +9196,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9186,7 +9230,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9197,7 +9241,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9231,7 +9275,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9268,7 +9312,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9281,7 +9325,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9297,7 +9341,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9306,9 +9350,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9321,11 +9365,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9338,25 +9382,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9549,7 +9593,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9627,7 +9671,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9693,7 +9737,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9835,7 +9879,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10188,7 +10232,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10247,7 +10291,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10290,7 +10334,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10345,7 +10389,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11161,7 +11205,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11533,7 +11577,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12171,7 +12215,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12591,7 +12635,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12625,7 +12669,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12639,12 +12683,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12678,16 +12722,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12721,12 +12765,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12760,12 +12804,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12799,7 +12843,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12840,7 +12884,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12849,7 +12893,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12852 "configure"
+#line 12896 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12946,7 +12990,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12955,7 +12999,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12958 "configure"
+#line 13002 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13258,7 +13302,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13348,7 +13392,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13370,7 +13414,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13417,7 +13461,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13433,7 +13477,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13470,7 +13514,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13511,8 +13555,7 @@ for ac_header in sys/socket.h sys/select
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -13550,7 +13593,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13596,7 +13639,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13621,7 +13664,7 @@ if test "${enable_sim_scache+set}" = set
   yes)	sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
   no)	sim_scache="-DWITH_SCACHE=0" ;;
   [0-9]*) sim_scache="-DWITH_SCACHE=${enableval}";;
-  *)	as_fn_error "\"Bad value $enableval passed to --enable-sim-scache\"" "$LINENO" 5;
+  *)	as_fn_error $? "\"Bad value $enableval passed to --enable-sim-scache\"" "$LINENO" 5;
 	sim_scache="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_scache" != x""; then
@@ -13638,7 +13681,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13795,7 +13838,7 @@ _ACEOF
     case " $hardware " in
     *" cfi "*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log2 in -lm" >&5
 $as_echo_n "checking for log2 in -lm... " >&6; }
-if test "${ac_cv_lib_m_log2+set}" = set; then :
+if ${ac_cv_lib_m_log2+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -13829,7 +13872,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log2" >&5
 $as_echo "$ac_cv_lib_m_log2" >&6; }
-if test "x$ac_cv_lib_m_log2" = x""yes; then :
+if test "x$ac_cv_lib_m_log2" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -13848,7 +13891,7 @@ default_sim_default_model="crisv32"
 # Check whether --enable-sim-default-model was given.
 if test "${enable_sim_default_model+set}" = set; then :
   enableval=$enable_sim_default_model; case "${enableval}" in
-  yes|no) as_fn_error "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
+  yes|no) as_fn_error $? "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
   *)	sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
@@ -13967,10 +14010,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13986,6 +14040,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -14002,19 +14057,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -14115,6 +14170,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -14160,19 +14216,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14310,16 +14366,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14368,7 +14424,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14379,28 +14435,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14422,7 +14466,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14462,6 +14506,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14484,12 +14529,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14506,11 +14552,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14524,12 +14575,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14542,7 +14596,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14551,7 +14605,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14571,7 +14625,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14874,7 +14928,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14897,9 +14951,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14907,12 +14962,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14929,12 +14985,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14943,18 +14999,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14962,7 +15018,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14976,7 +15032,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14990,7 +15046,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -15010,7 +15066,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -15042,21 +15098,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -15068,7 +15132,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -15080,11 +15144,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -15169,7 +15233,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -15182,7 +15246,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15201,7 +15265,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15210,7 +15274,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15236,8 +15300,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15367,23 +15431,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15392,21 +15457,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -16077,7 +16142,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -16098,7 +16163,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cris/configure.ac ./sim/cris/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/cris/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/cris/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/d10v/aclocal.m4 ./sim/d10v/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/d10v/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/d10v/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/d10v/config.in ./sim/d10v/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/d10v/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/d10v/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -70,43 +70,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/d10v/configure ./sim/d10v/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/d10v/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/d10v/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -825,8 +856,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -871,7 +903,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -897,7 +929,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1101,7 +1133,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1117,7 +1149,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1147,8 +1179,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1156,7 +1188,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1166,7 +1198,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1174,13 +1206,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1203,7 +1235,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1217,8 +1249,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1233,9 +1263,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1274,11 +1304,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1318,7 +1348,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1387,8 +1417,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1429,7 +1460,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1500,9 +1531,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1546,8 +1577,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1572,7 +1603,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1583,8 +1614,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1596,10 +1627,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1635,7 +1666,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1662,7 +1693,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1671,7 +1702,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1712,8 +1743,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1726,7 +1757,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1744,7 +1775,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1775,7 +1806,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1789,8 +1820,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1802,7 +1833,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1857,7 +1888,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1870,7 +1901,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1914,7 +1945,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1927,7 +1958,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1968,7 +1999,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1976,7 +2007,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2086,11 +2117,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2124,11 +2153,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2141,11 +2168,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2159,11 +2184,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2218,7 +2241,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2229,18 +2257,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2309,7 +2341,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2369,21 +2401,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4072,6 +4089,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4157,7 +4178,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4169,7 +4190,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4197,7 +4218,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4209,7 +4230,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4250,7 +4271,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4262,7 +4283,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4290,7 +4311,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4303,7 +4324,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4349,7 +4370,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4361,7 +4382,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4393,7 +4414,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4405,7 +4426,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4447,8 +4468,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4469,8 +4490,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4487,12 +4508,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4554,62 +4575,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4639,19 +4626,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4691,8 +4737,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4702,7 +4748,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4739,7 +4785,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4817,7 +4863,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4826,8 +4872,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4914,16 +4959,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4937,27 +4988,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4975,14 +5026,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4990,7 +5041,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5008,14 +5059,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5023,7 +5074,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5058,7 +5109,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5088,7 +5139,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5104,11 +5155,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5147,7 +5198,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5163,18 +5214,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5186,7 +5237,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5200,7 +5251,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5235,7 +5286,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5249,7 +5300,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5266,7 +5317,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5301,7 +5352,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5316,7 +5367,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5433,8 +5484,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5446,7 +5496,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5468,14 +5518,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5532,7 +5582,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5552,7 +5602,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5715,7 +5765,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5735,7 +5785,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5770,7 +5820,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5797,7 +5847,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5814,7 +5864,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5849,7 +5899,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5928,7 +5978,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5965,10 +6015,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5995,7 +6045,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6058,7 +6108,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6070,7 +6120,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6102,7 +6152,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6114,7 +6164,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6174,7 +6224,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6209,7 +6259,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6406,7 +6456,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6442,7 +6492,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6454,7 +6504,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6482,7 +6532,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6494,7 +6544,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6541,7 +6591,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6762,7 +6812,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6774,7 +6824,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6802,7 +6852,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6814,7 +6864,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6867,7 +6917,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6879,7 +6929,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6907,7 +6957,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6919,7 +6969,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6966,7 +7016,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6978,7 +7028,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7006,7 +7056,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7018,7 +7068,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7110,7 +7160,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7122,7 +7172,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7177,7 +7227,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7561,7 +7611,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7637,7 +7687,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7649,7 +7699,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7677,7 +7727,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7689,7 +7739,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7729,7 +7779,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7741,7 +7791,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7769,7 +7819,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7781,7 +7831,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7821,7 +7871,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7833,7 +7883,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7861,7 +7911,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7873,7 +7923,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7913,7 +7963,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7925,7 +7975,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7953,7 +8003,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7965,7 +8015,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8005,7 +8055,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8017,7 +8067,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8045,7 +8095,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8057,7 +8107,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8120,7 +8170,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8149,7 +8199,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8181,7 +8231,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8248,7 +8298,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8266,7 +8316,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8484,7 +8534,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8510,7 +8560,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8522,7 +8572,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8550,7 +8600,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8562,7 +8612,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8618,7 +8668,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8704,7 +8754,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8717,7 +8767,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8729,7 +8779,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8847,8 +8897,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8861,8 +8910,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8875,8 +8923,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8889,8 +8936,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8903,8 +8949,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8916,8 +8961,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8932,7 +8976,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8947,7 +8991,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8962,7 +9006,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8977,7 +9021,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8992,7 +9036,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9007,7 +9051,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9022,7 +9066,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9037,7 +9081,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9052,7 +9096,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9067,7 +9111,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9082,7 +9126,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9097,7 +9141,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9112,7 +9156,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9125,7 +9169,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9138,7 +9182,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9172,7 +9216,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9183,7 +9227,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9217,7 +9261,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9254,7 +9298,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9267,7 +9311,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9283,7 +9327,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9292,9 +9336,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9307,11 +9351,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9324,25 +9368,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9535,7 +9579,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9613,7 +9657,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9679,7 +9723,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9821,7 +9865,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10174,7 +10218,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10233,7 +10277,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10276,7 +10320,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10331,7 +10375,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11147,7 +11191,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11519,7 +11563,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12157,7 +12201,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12577,7 +12621,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12611,7 +12655,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12625,12 +12669,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12664,16 +12708,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12707,12 +12751,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12746,12 +12790,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12785,7 +12829,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12826,7 +12870,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12835,7 +12879,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12838 "configure"
+#line 12882 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12932,7 +12976,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12941,7 +12985,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12944 "configure"
+#line 12988 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13244,7 +13288,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13334,7 +13378,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13356,7 +13400,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13403,7 +13447,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13419,7 +13463,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13456,7 +13500,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13520,7 +13564,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13566,7 +13610,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13589,7 +13633,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13766,10 +13810,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13785,6 +13840,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13801,19 +13857,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13914,6 +13970,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13959,19 +14016,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14109,16 +14166,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14167,7 +14224,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14178,28 +14235,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14221,7 +14266,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14261,6 +14306,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14283,12 +14329,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14305,11 +14352,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14323,12 +14375,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14341,7 +14396,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14350,7 +14405,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14370,7 +14425,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14673,7 +14728,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14696,9 +14751,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14706,12 +14762,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14728,12 +14785,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14742,18 +14799,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14761,7 +14818,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14775,7 +14832,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14789,7 +14846,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14809,7 +14866,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14841,21 +14898,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14867,7 +14932,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14879,11 +14944,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14968,7 +15033,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14981,7 +15046,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15000,7 +15065,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15009,7 +15074,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15035,8 +15100,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15166,23 +15231,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15191,21 +15257,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15876,7 +15942,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15897,7 +15963,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/d10v/configure.ac ./sim/d10v/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/d10v/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/d10v/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/erc32/aclocal.m4 ./sim/erc32/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/erc32/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/erc32/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/erc32/config.in ./sim/erc32/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/erc32/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/erc32/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -70,43 +70,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/erc32/configure ./sim/erc32/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/erc32/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/erc32/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -822,8 +853,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -868,7 +900,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -894,7 +926,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1098,7 +1130,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1114,7 +1146,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1144,8 +1176,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1153,7 +1185,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1163,7 +1195,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1171,13 +1203,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1200,7 +1232,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1214,8 +1246,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1230,9 +1260,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1271,11 +1301,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1315,7 +1345,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1384,8 +1414,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1416,7 +1447,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1487,9 +1518,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1533,8 +1564,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1559,7 +1590,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1570,8 +1601,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1583,10 +1614,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1622,7 +1653,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1649,7 +1680,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1658,7 +1689,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1699,8 +1730,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1713,7 +1744,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1731,7 +1762,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1762,7 +1793,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1776,8 +1807,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1789,7 +1820,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1844,7 +1875,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1857,7 +1888,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1901,7 +1932,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1914,7 +1945,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1955,7 +1986,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1963,7 +1994,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2073,11 +2104,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2111,11 +2140,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2128,11 +2155,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2146,11 +2171,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2205,7 +2228,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2216,18 +2244,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2296,7 +2328,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2356,21 +2388,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4059,6 +4076,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4144,7 +4165,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4156,7 +4177,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4184,7 +4205,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4196,7 +4217,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4237,7 +4258,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4249,7 +4270,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4277,7 +4298,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4290,7 +4311,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4336,7 +4357,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4348,7 +4369,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4380,7 +4401,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4392,7 +4413,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4434,8 +4455,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4456,8 +4477,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4474,12 +4495,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4541,62 +4562,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4626,19 +4613,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4678,8 +4724,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4689,7 +4735,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4726,7 +4772,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4804,7 +4850,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4813,8 +4859,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4901,16 +4946,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4924,27 +4975,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4962,14 +5013,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4977,7 +5028,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -4995,14 +5046,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5010,7 +5061,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5045,7 +5096,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5075,7 +5126,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5091,11 +5142,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5134,7 +5185,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5150,18 +5201,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5173,7 +5224,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5187,7 +5238,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5222,7 +5273,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5236,7 +5287,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5253,7 +5304,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5288,7 +5339,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5303,7 +5354,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5420,8 +5471,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5433,7 +5483,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5455,14 +5505,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5519,7 +5569,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5539,7 +5589,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5702,7 +5752,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5722,7 +5772,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5757,7 +5807,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5784,7 +5834,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5801,7 +5851,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5836,7 +5886,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5915,7 +5965,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5952,10 +6002,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5982,7 +6032,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6045,7 +6095,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6057,7 +6107,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6089,7 +6139,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6101,7 +6151,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6161,7 +6211,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6196,7 +6246,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6393,7 +6443,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6429,7 +6479,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6441,7 +6491,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6469,7 +6519,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6481,7 +6531,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6528,7 +6578,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6749,7 +6799,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6761,7 +6811,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6789,7 +6839,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6801,7 +6851,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6854,7 +6904,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6866,7 +6916,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6894,7 +6944,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6906,7 +6956,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6953,7 +7003,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6965,7 +7015,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6993,7 +7043,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7005,7 +7055,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7097,7 +7147,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7109,7 +7159,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7164,7 +7214,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7548,7 +7598,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7624,7 +7674,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7636,7 +7686,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7664,7 +7714,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7676,7 +7726,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7716,7 +7766,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7728,7 +7778,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7756,7 +7806,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7768,7 +7818,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7808,7 +7858,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7820,7 +7870,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7848,7 +7898,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7860,7 +7910,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7900,7 +7950,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7912,7 +7962,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7940,7 +7990,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7952,7 +8002,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7992,7 +8042,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8004,7 +8054,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8032,7 +8082,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8044,7 +8094,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8107,7 +8157,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8136,7 +8186,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8168,7 +8218,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8235,7 +8285,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8253,7 +8303,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8471,7 +8521,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8497,7 +8547,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8509,7 +8559,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8537,7 +8587,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8549,7 +8599,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8605,7 +8655,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8691,7 +8741,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8704,7 +8754,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8716,7 +8766,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8834,8 +8884,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8848,8 +8897,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8862,8 +8910,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8876,8 +8923,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8890,8 +8936,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8903,8 +8948,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8919,7 +8963,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8934,7 +8978,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8949,7 +8993,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8964,7 +9008,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8979,7 +9023,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -8994,7 +9038,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9009,7 +9053,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9024,7 +9068,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9039,7 +9083,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9054,7 +9098,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9069,7 +9113,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9084,7 +9128,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9099,7 +9143,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9112,7 +9156,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9125,7 +9169,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9159,7 +9203,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9170,7 +9214,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9204,7 +9248,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9241,7 +9285,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9254,7 +9298,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9270,7 +9314,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9279,9 +9323,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9294,11 +9338,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9311,25 +9355,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9522,7 +9566,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9600,7 +9644,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9666,7 +9710,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9808,7 +9852,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10161,7 +10205,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10220,7 +10264,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10263,7 +10307,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10318,7 +10362,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11134,7 +11178,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11506,7 +11550,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12144,7 +12188,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12564,7 +12608,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12598,7 +12642,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12612,12 +12656,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12651,16 +12695,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12694,12 +12738,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12733,12 +12777,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12772,7 +12816,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12813,7 +12857,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12822,7 +12866,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12825 "configure"
+#line 12869 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12919,7 +12963,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12928,7 +12972,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12931 "configure"
+#line 12975 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13231,7 +13275,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13321,7 +13365,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13343,7 +13387,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13390,7 +13434,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13406,7 +13450,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13443,7 +13487,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13482,7 +13526,7 @@ _ACEOF
 # In the Cygwin environment, we need some additional flags.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cygwin" >&5
 $as_echo_n "checking for cygwin... " >&6; }
-if test "${sim_cv_os_cygwin+set}" = set; then :
+if ${sim_cv_os_cygwin+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13510,7 +13554,7 @@ else
   # Keep in sync with gdb's configure.ac list.
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tgetent" >&5
 $as_echo_n "checking for library containing tgetent... " >&6; }
-if test "${ac_cv_search_tgetent+set}" = set; then :
+if ${ac_cv_search_tgetent+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -13544,11 +13588,11 @@ for ac_lib in '' termcap tinfo curses nc
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_tgetent+set}" = set; then :
+  if ${ac_cv_search_tgetent+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_tgetent+set}" = set; then :
+if ${ac_cv_search_tgetent+:} false; then :
 
 else
   ac_cv_search_tgetent=no
@@ -13576,7 +13620,7 @@ if test -r ../../readline/Makefile; then
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5
 $as_echo_n "checking for readline in -lreadline... " >&6; }
-if test "${ac_cv_lib_readline_readline+set}" = set; then :
+if ${ac_cv_lib_readline_readline+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -13610,10 +13654,10 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_readline" >&5
 $as_echo "$ac_cv_lib_readline_readline" >&6; }
-if test "x$ac_cv_lib_readline_readline" = x""yes; then :
+if test "x$ac_cv_lib_readline_readline" = xyes; then :
   READLINE=-lreadline
 else
-  as_fn_error "the required \"readline\" library is missing" "$LINENO" 5
+  as_fn_error $? "the required \"readline\" library is missing" "$LINENO" 5
 fi
 
 fi
@@ -13698,10 +13742,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13717,6 +13772,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13733,19 +13789,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13846,6 +13902,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13891,19 +13948,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14041,16 +14098,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14099,7 +14156,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14110,28 +14167,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14153,7 +14198,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14193,6 +14238,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14215,12 +14261,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14237,11 +14284,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14255,12 +14307,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14273,7 +14328,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14282,7 +14337,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14302,7 +14357,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14605,7 +14660,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14628,9 +14683,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14638,12 +14694,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14660,12 +14717,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14674,18 +14731,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14693,7 +14750,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14707,7 +14764,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14721,7 +14778,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14741,7 +14798,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14773,21 +14830,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14799,7 +14864,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14811,11 +14876,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14900,7 +14965,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14913,7 +14978,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -14932,7 +14997,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -14941,7 +15006,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -14967,8 +15032,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15098,23 +15163,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15123,21 +15189,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15808,7 +15874,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15829,7 +15895,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/erc32/configure.ac ./sim/erc32/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/erc32/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/erc32/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -14,7 +14,6 @@ dnl You should have received a copy of t
 dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/frv/aclocal.m4 ./sim/frv/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/frv/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/frv/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/frv/config.in ./sim/frv/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/frv/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/frv/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -76,43 +76,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/frv/configure ./sim/frv/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/frv/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/frv/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -831,8 +862,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -877,7 +909,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -903,7 +935,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1107,7 +1139,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1123,7 +1155,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1153,8 +1185,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1162,7 +1194,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1172,7 +1204,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1180,13 +1212,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1209,7 +1241,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1223,8 +1255,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1239,9 +1269,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1280,11 +1310,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1324,7 +1354,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1393,8 +1423,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1438,7 +1469,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1509,9 +1540,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1555,8 +1586,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1581,7 +1612,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1592,8 +1623,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1605,10 +1636,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1644,7 +1675,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1671,7 +1702,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1680,7 +1711,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1721,8 +1752,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1735,7 +1766,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1753,7 +1784,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1784,7 +1815,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1798,8 +1829,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1811,7 +1842,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1866,7 +1897,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1879,7 +1910,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1923,7 +1954,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1936,7 +1967,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1977,7 +2008,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1985,7 +2016,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2095,11 +2126,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2133,11 +2162,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2150,11 +2177,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2168,11 +2193,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2227,7 +2250,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2238,18 +2266,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2318,7 +2350,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2378,21 +2410,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4081,6 +4098,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4166,7 +4187,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4178,7 +4199,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4206,7 +4227,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4218,7 +4239,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4259,7 +4280,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4271,7 +4292,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4299,7 +4320,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4312,7 +4333,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4358,7 +4379,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4370,7 +4391,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4402,7 +4423,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4414,7 +4435,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4456,8 +4477,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4478,8 +4499,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4496,12 +4517,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4563,62 +4584,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4648,19 +4635,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4700,8 +4746,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4711,7 +4757,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4748,7 +4794,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4826,7 +4872,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4835,8 +4881,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4923,16 +4968,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4946,27 +4997,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4984,14 +5035,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4999,7 +5050,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5017,14 +5068,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5032,7 +5083,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5067,7 +5118,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5097,7 +5148,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5113,11 +5164,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5156,7 +5207,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5172,18 +5223,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5195,7 +5246,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5209,7 +5260,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5244,7 +5295,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5258,7 +5309,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5275,7 +5326,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5310,7 +5361,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5325,7 +5376,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5442,8 +5493,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5455,7 +5505,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5477,14 +5527,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5541,7 +5591,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5561,7 +5611,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5724,7 +5774,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5744,7 +5794,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5779,7 +5829,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5806,7 +5856,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5823,7 +5873,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5858,7 +5908,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5937,7 +5987,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5974,10 +6024,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -6004,7 +6054,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6067,7 +6117,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6079,7 +6129,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6111,7 +6161,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6123,7 +6173,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6183,7 +6233,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6218,7 +6268,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6415,7 +6465,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6451,7 +6501,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6463,7 +6513,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6491,7 +6541,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6503,7 +6553,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6550,7 +6600,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6771,7 +6821,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6783,7 +6833,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6811,7 +6861,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6823,7 +6873,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6876,7 +6926,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6888,7 +6938,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6916,7 +6966,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6928,7 +6978,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6975,7 +7025,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6987,7 +7037,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7015,7 +7065,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7027,7 +7077,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7119,7 +7169,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7131,7 +7181,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7186,7 +7236,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7570,7 +7620,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7646,7 +7696,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7658,7 +7708,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7686,7 +7736,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7698,7 +7748,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7738,7 +7788,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7750,7 +7800,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7778,7 +7828,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7790,7 +7840,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7830,7 +7880,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7842,7 +7892,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7870,7 +7920,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7882,7 +7932,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7922,7 +7972,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7934,7 +7984,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7962,7 +8012,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7974,7 +8024,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8014,7 +8064,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8026,7 +8076,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8054,7 +8104,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8066,7 +8116,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8129,7 +8179,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8158,7 +8208,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8190,7 +8240,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8257,7 +8307,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8275,7 +8325,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8493,7 +8543,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8519,7 +8569,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8531,7 +8581,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8559,7 +8609,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8571,7 +8621,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8627,7 +8677,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8713,7 +8763,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8726,7 +8776,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8738,7 +8788,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8856,8 +8906,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8870,8 +8919,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8884,8 +8932,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8898,8 +8945,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8912,8 +8958,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8925,8 +8970,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8941,7 +8985,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8956,7 +9000,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8971,7 +9015,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8986,7 +9030,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -9001,7 +9045,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9016,7 +9060,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9031,7 +9075,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9046,7 +9090,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9061,7 +9105,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9076,7 +9120,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9091,7 +9135,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9106,7 +9150,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9121,7 +9165,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9134,7 +9178,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9147,7 +9191,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9181,7 +9225,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9192,7 +9236,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9226,7 +9270,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9263,7 +9307,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9276,7 +9320,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9292,7 +9336,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9301,9 +9345,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9316,11 +9360,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9333,25 +9377,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9544,7 +9588,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9622,7 +9666,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9688,7 +9732,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9830,7 +9874,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10183,7 +10227,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10242,7 +10286,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10285,7 +10329,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10340,7 +10384,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11156,7 +11200,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11528,7 +11572,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12166,7 +12210,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12586,7 +12630,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12620,7 +12664,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12634,12 +12678,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12673,16 +12717,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12716,12 +12760,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12755,12 +12799,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12794,7 +12838,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12835,7 +12879,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12844,7 +12888,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12847 "configure"
+#line 12891 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12941,7 +12985,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12950,7 +12994,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12953 "configure"
+#line 12997 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13253,7 +13297,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13343,7 +13387,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13365,7 +13409,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13412,7 +13456,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13428,7 +13472,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13465,7 +13509,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13529,7 +13573,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13575,7 +13619,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13600,7 +13644,7 @@ if test "${enable_sim_scache+set}" = set
   yes)	sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
   no)	sim_scache="-DWITH_SCACHE=0" ;;
   [0-9]*) sim_scache="-DWITH_SCACHE=${enableval}";;
-  *)	as_fn_error "\"Bad value $enableval passed to --enable-sim-scache\"" "$LINENO" 5;
+  *)	as_fn_error $? "\"Bad value $enableval passed to --enable-sim-scache\"" "$LINENO" 5;
 	sim_scache="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_scache" != x""; then
@@ -13616,7 +13660,7 @@ default_sim_default_model="fr500"
 # Check whether --enable-sim-default-model was given.
 if test "${enable_sim_default_model+set}" = set; then :
   enableval=$enable_sim_default_model; case "${enableval}" in
-  yes|no) as_fn_error "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
+  yes|no) as_fn_error $? "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
   *)	sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
@@ -13663,7 +13707,7 @@ if test "${enable_sim_trapdump+set}" = s
   enableval=$enable_sim_trapdump; case "${enableval}" in
   yes) sim_trapdump="-DTRAPDUMP=1";;
   no)  sim_trapdump="-DTRAPDUMP=0";;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-trapdump\"" "$LINENO" 5; sim_trapdump="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-trapdump\"" "$LINENO" 5; sim_trapdump="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_trapdump" != x""; then
   echo "Setting sim_trapdump = $sim_trapdump" 6>&1
@@ -13734,7 +13778,7 @@ _ACEOF
     case " $hardware " in
     *" cfi "*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log2 in -lm" >&5
 $as_echo_n "checking for log2 in -lm... " >&6; }
-if test "${ac_cv_lib_m_log2+set}" = set; then :
+if ${ac_cv_lib_m_log2+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -13768,7 +13812,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log2" >&5
 $as_echo "$ac_cv_lib_m_log2" >&6; }
-if test "x$ac_cv_lib_m_log2" = x""yes; then :
+if test "x$ac_cv_lib_m_log2" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -13861,10 +13905,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13880,6 +13935,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13896,19 +13952,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -14009,6 +14065,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -14054,19 +14111,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14204,16 +14261,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14262,7 +14319,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14273,28 +14330,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14316,7 +14361,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14356,6 +14401,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14378,12 +14424,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14400,11 +14447,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14418,12 +14470,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14436,7 +14491,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14445,7 +14500,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14465,7 +14520,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14768,7 +14823,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14791,9 +14846,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14801,12 +14857,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14823,12 +14880,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14837,18 +14894,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14856,7 +14913,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14870,7 +14927,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14884,7 +14941,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14904,7 +14961,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14936,21 +14993,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14962,7 +15027,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14974,11 +15039,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -15063,7 +15128,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -15076,7 +15141,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15095,7 +15160,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15104,7 +15169,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15130,8 +15195,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15261,23 +15326,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15286,21 +15352,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15971,7 +16037,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15992,7 +16058,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/frv/configure.ac ./sim/frv/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/frv/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/frv/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/ft32/aclocal.m4 ./sim/ft32/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/ft32/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/ft32/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/ft32/config.in ./sim/ft32/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/ft32/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/ft32/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -70,43 +70,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/ft32/configure ./sim/ft32/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/ft32/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/ft32/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -825,8 +856,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -871,7 +903,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -897,7 +929,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1101,7 +1133,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1117,7 +1149,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1147,8 +1179,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1156,7 +1188,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1166,7 +1198,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1174,13 +1206,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1203,7 +1235,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1217,8 +1249,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1233,9 +1263,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1274,11 +1304,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1318,7 +1348,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1387,8 +1417,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1429,7 +1460,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1500,9 +1531,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1546,8 +1577,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1572,7 +1603,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1583,8 +1614,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1596,10 +1627,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1635,7 +1666,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1662,7 +1693,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1671,7 +1702,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1712,8 +1743,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1726,7 +1757,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1744,7 +1775,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1775,7 +1806,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1789,8 +1820,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1802,7 +1833,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1857,7 +1888,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1870,7 +1901,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1914,7 +1945,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1927,7 +1958,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1968,7 +1999,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1976,7 +2007,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2086,11 +2117,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2124,11 +2153,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2141,11 +2168,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2159,11 +2184,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2218,7 +2241,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2229,18 +2257,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2309,7 +2341,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2369,21 +2401,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4072,6 +4089,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4157,7 +4178,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4169,7 +4190,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4197,7 +4218,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4209,7 +4230,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4250,7 +4271,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4262,7 +4283,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4290,7 +4311,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4303,7 +4324,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4349,7 +4370,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4361,7 +4382,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4393,7 +4414,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4405,7 +4426,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4447,8 +4468,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4469,8 +4490,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4487,12 +4508,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4554,62 +4575,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4639,19 +4626,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4691,8 +4737,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4702,7 +4748,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4739,7 +4785,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4817,7 +4863,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4826,8 +4872,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4914,16 +4959,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4937,27 +4988,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4975,14 +5026,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4990,7 +5041,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5008,14 +5059,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5023,7 +5074,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5058,7 +5109,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5088,7 +5139,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5104,11 +5155,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5147,7 +5198,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5163,18 +5214,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5186,7 +5237,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5200,7 +5251,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5235,7 +5286,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5249,7 +5300,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5266,7 +5317,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5301,7 +5352,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5316,7 +5367,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5433,8 +5484,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5446,7 +5496,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5468,14 +5518,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5532,7 +5582,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5552,7 +5602,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5715,7 +5765,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5735,7 +5785,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5770,7 +5820,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5797,7 +5847,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5814,7 +5864,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5849,7 +5899,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5928,7 +5978,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5965,10 +6015,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5995,7 +6045,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6058,7 +6108,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6070,7 +6120,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6102,7 +6152,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6114,7 +6164,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6174,7 +6224,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6209,7 +6259,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6406,7 +6456,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6442,7 +6492,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6454,7 +6504,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6482,7 +6532,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6494,7 +6544,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6541,7 +6591,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6762,7 +6812,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6774,7 +6824,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6802,7 +6852,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6814,7 +6864,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6867,7 +6917,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6879,7 +6929,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6907,7 +6957,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6919,7 +6969,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6966,7 +7016,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6978,7 +7028,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7006,7 +7056,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7018,7 +7068,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7110,7 +7160,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7122,7 +7172,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7177,7 +7227,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7561,7 +7611,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7637,7 +7687,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7649,7 +7699,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7677,7 +7727,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7689,7 +7739,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7729,7 +7779,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7741,7 +7791,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7769,7 +7819,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7781,7 +7831,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7821,7 +7871,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7833,7 +7883,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7861,7 +7911,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7873,7 +7923,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7913,7 +7963,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7925,7 +7975,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7953,7 +8003,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7965,7 +8015,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8005,7 +8055,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8017,7 +8067,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8045,7 +8095,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8057,7 +8107,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8120,7 +8170,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8149,7 +8199,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8181,7 +8231,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8248,7 +8298,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8266,7 +8316,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8484,7 +8534,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8510,7 +8560,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8522,7 +8572,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8550,7 +8600,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8562,7 +8612,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8618,7 +8668,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8704,7 +8754,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8717,7 +8767,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8729,7 +8779,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8847,8 +8897,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8861,8 +8910,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8875,8 +8923,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8889,8 +8936,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8903,8 +8949,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8916,8 +8961,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8932,7 +8976,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8947,7 +8991,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8962,7 +9006,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8977,7 +9021,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8992,7 +9036,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9007,7 +9051,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9022,7 +9066,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9037,7 +9081,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9052,7 +9096,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9067,7 +9111,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9082,7 +9126,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9097,7 +9141,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9112,7 +9156,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9125,7 +9169,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9138,7 +9182,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9172,7 +9216,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9183,7 +9227,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9217,7 +9261,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9254,7 +9298,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9267,7 +9311,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9283,7 +9327,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9292,9 +9336,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9307,11 +9351,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9324,25 +9368,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9535,7 +9579,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9613,7 +9657,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9679,7 +9723,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9821,7 +9865,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10174,7 +10218,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10233,7 +10277,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10276,7 +10320,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10331,7 +10375,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11147,7 +11191,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11519,7 +11563,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12157,7 +12201,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12577,7 +12621,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12611,7 +12655,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12625,12 +12669,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12664,16 +12708,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12707,12 +12751,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12746,12 +12790,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12785,7 +12829,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12826,7 +12870,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12835,7 +12879,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12838 "configure"
+#line 12882 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12932,7 +12976,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12941,7 +12985,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12944 "configure"
+#line 12988 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13244,7 +13288,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13334,7 +13378,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13356,7 +13400,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13403,7 +13447,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13419,7 +13463,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13456,7 +13500,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13520,7 +13564,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13566,7 +13610,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13589,7 +13633,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13766,10 +13810,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13785,6 +13840,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13801,19 +13857,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13914,6 +13970,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13959,19 +14016,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14109,16 +14166,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14167,7 +14224,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14178,28 +14235,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14221,7 +14266,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14261,6 +14306,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14283,12 +14329,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14305,11 +14352,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14323,12 +14375,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14341,7 +14396,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14350,7 +14405,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14370,7 +14425,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14673,7 +14728,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14696,9 +14751,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14706,12 +14762,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14728,12 +14785,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14742,18 +14799,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14761,7 +14818,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14775,7 +14832,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14789,7 +14846,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14809,7 +14866,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14841,21 +14898,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14867,7 +14932,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14879,11 +14944,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14968,7 +15033,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14981,7 +15046,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15000,7 +15065,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15009,7 +15074,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15035,8 +15100,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15166,23 +15231,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15191,21 +15257,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15876,7 +15942,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15897,7 +15963,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/ft32/configure.ac ./sim/ft32/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/ft32/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/ft32/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/h8300/aclocal.m4 ./sim/h8300/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/h8300/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/h8300/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/h8300/config.in ./sim/h8300/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/h8300/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/h8300/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -70,43 +70,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/h8300/configure ./sim/h8300/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/h8300/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/h8300/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -822,8 +853,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -868,7 +900,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -894,7 +926,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1098,7 +1130,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1114,7 +1146,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1144,8 +1176,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1153,7 +1185,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1163,7 +1195,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1171,13 +1203,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1200,7 +1232,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1214,8 +1246,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1230,9 +1260,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1271,11 +1301,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1315,7 +1345,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1384,8 +1414,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1421,7 +1452,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1492,9 +1523,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1538,8 +1569,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1564,7 +1595,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1575,8 +1606,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1588,10 +1619,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1627,7 +1658,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1654,7 +1685,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1663,7 +1694,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1704,8 +1735,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1718,7 +1749,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1736,7 +1767,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1767,7 +1798,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1781,8 +1812,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1794,7 +1825,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1849,7 +1880,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1862,7 +1893,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1906,7 +1937,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1919,7 +1950,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1960,7 +1991,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1968,7 +1999,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2078,11 +2109,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2116,11 +2145,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2133,11 +2160,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2151,11 +2176,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2210,7 +2233,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2221,18 +2249,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2301,7 +2333,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2361,21 +2393,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4064,6 +4081,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4149,7 +4170,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4161,7 +4182,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4189,7 +4210,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4201,7 +4222,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4242,7 +4263,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4254,7 +4275,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4282,7 +4303,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4295,7 +4316,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4341,7 +4362,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4353,7 +4374,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4385,7 +4406,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4397,7 +4418,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4439,8 +4460,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4461,8 +4482,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4479,12 +4500,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4546,62 +4567,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4631,19 +4618,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4683,8 +4729,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4694,7 +4740,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4731,7 +4777,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4809,7 +4855,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4818,8 +4864,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4906,16 +4951,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4929,27 +4980,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4967,14 +5018,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4982,7 +5033,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5000,14 +5051,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5015,7 +5066,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5050,7 +5101,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5080,7 +5131,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5096,11 +5147,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5139,7 +5190,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5155,18 +5206,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5178,7 +5229,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5192,7 +5243,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5227,7 +5278,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5241,7 +5292,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5258,7 +5309,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5293,7 +5344,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5308,7 +5359,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5425,8 +5476,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5438,7 +5488,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5460,14 +5510,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5524,7 +5574,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5544,7 +5594,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5707,7 +5757,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5727,7 +5777,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5762,7 +5812,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5789,7 +5839,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5806,7 +5856,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5841,7 +5891,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5920,7 +5970,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5957,10 +6007,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5987,7 +6037,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6050,7 +6100,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6062,7 +6112,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6094,7 +6144,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6106,7 +6156,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6166,7 +6216,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6201,7 +6251,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6398,7 +6448,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6434,7 +6484,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6446,7 +6496,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6474,7 +6524,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6486,7 +6536,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6533,7 +6583,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6754,7 +6804,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6766,7 +6816,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6794,7 +6844,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6806,7 +6856,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6859,7 +6909,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6871,7 +6921,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6899,7 +6949,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6911,7 +6961,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6958,7 +7008,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6970,7 +7020,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6998,7 +7048,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7010,7 +7060,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7102,7 +7152,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7114,7 +7164,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7169,7 +7219,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7553,7 +7603,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7629,7 +7679,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7641,7 +7691,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7669,7 +7719,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7681,7 +7731,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7721,7 +7771,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7733,7 +7783,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7761,7 +7811,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7773,7 +7823,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7813,7 +7863,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7825,7 +7875,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7853,7 +7903,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7865,7 +7915,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7905,7 +7955,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7917,7 +7967,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7945,7 +7995,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7957,7 +8007,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7997,7 +8047,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8009,7 +8059,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8037,7 +8087,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8049,7 +8099,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8112,7 +8162,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8141,7 +8191,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8173,7 +8223,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8240,7 +8290,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8258,7 +8308,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8476,7 +8526,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8502,7 +8552,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8514,7 +8564,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8542,7 +8592,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8554,7 +8604,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8610,7 +8660,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8696,7 +8746,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8709,7 +8759,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8721,7 +8771,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8839,8 +8889,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8853,8 +8902,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8867,8 +8915,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8881,8 +8928,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8895,8 +8941,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8908,8 +8953,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8924,7 +8968,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8939,7 +8983,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8954,7 +8998,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8969,7 +9013,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8984,7 +9028,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -8999,7 +9043,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9014,7 +9058,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9029,7 +9073,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9044,7 +9088,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9059,7 +9103,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9074,7 +9118,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9089,7 +9133,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9104,7 +9148,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9117,7 +9161,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9130,7 +9174,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9164,7 +9208,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9175,7 +9219,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9209,7 +9253,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9246,7 +9290,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9259,7 +9303,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9275,7 +9319,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9284,9 +9328,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9299,11 +9343,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9316,25 +9360,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9527,7 +9571,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9605,7 +9649,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9671,7 +9715,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9813,7 +9857,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10166,7 +10210,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10225,7 +10269,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10268,7 +10312,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10323,7 +10367,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11139,7 +11183,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11511,7 +11555,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12149,7 +12193,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12569,7 +12613,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12603,7 +12647,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12617,12 +12661,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12656,16 +12700,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12699,12 +12743,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12738,12 +12782,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12777,7 +12821,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12818,7 +12862,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12827,7 +12871,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12830 "configure"
+#line 12874 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12924,7 +12968,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12933,7 +12977,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12936 "configure"
+#line 12980 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13236,7 +13280,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13326,7 +13370,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13348,7 +13392,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13395,7 +13439,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13411,7 +13455,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13448,7 +13492,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13512,7 +13556,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13558,7 +13602,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13579,7 +13623,7 @@ fi
 for ac_header in sys/param.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_param_h" = x""yes; then :
+if test "x$ac_cv_header_sys_param_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SYS_PARAM_H 1
 _ACEOF
@@ -13669,10 +13713,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13688,6 +13743,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13704,19 +13760,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13817,6 +13873,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13862,19 +13919,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14012,16 +14069,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14070,7 +14127,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14081,28 +14138,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14124,7 +14169,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14164,6 +14209,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14186,12 +14232,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14208,11 +14255,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14226,12 +14278,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14244,7 +14299,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14253,7 +14308,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14273,7 +14328,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14576,7 +14631,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14599,9 +14654,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14609,12 +14665,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14631,12 +14688,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14645,18 +14702,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14664,7 +14721,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14678,7 +14735,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14692,7 +14749,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14712,7 +14769,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14744,21 +14801,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14770,7 +14835,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14782,11 +14847,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14871,7 +14936,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14884,7 +14949,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -14903,7 +14968,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -14912,7 +14977,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -14938,8 +15003,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15069,23 +15134,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15094,21 +15160,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15779,7 +15845,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15800,7 +15866,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/h8300/configure.ac ./sim/h8300/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/h8300/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/h8300/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/igen/configure ./sim/igen/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/igen/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/igen/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -209,14 +236,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -314,10 +352,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -354,19 +400,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -439,6 +485,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -473,16 +523,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -494,28 +544,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -524,10 +554,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -752,8 +783,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -798,7 +830,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -824,7 +856,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1028,7 +1060,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1044,7 +1076,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1074,8 +1106,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1083,7 +1115,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1093,7 +1125,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1101,13 +1133,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1130,7 +1162,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1144,8 +1176,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1160,9 +1190,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1201,11 +1231,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1245,7 +1275,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1320,7 +1350,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1391,9 +1421,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1437,8 +1467,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1463,7 +1493,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1474,8 +1504,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1487,10 +1517,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1526,7 +1556,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1553,7 +1583,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1562,7 +1592,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1603,8 +1633,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1617,7 +1647,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1635,7 +1665,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1666,7 +1696,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1680,8 +1710,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 cat >config.log <<_ACEOF
@@ -1689,7 +1719,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1799,11 +1829,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -1837,11 +1865,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -1854,11 +1880,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -1872,11 +1896,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -1931,7 +1953,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -1942,18 +1969,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2022,7 +2053,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2082,19 +2113,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
 
 
 
@@ -3783,6 +3801,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -3860,16 +3882,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -3898,7 +3926,7 @@ ac_configure="$SHELL $ac_aux_dir/configu
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3918,7 +3946,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -3984,7 +4012,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3996,7 +4024,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4024,7 +4052,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4036,7 +4064,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4077,7 +4105,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4089,7 +4117,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4117,7 +4145,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4130,7 +4158,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4176,7 +4204,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4188,7 +4216,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4220,7 +4248,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4232,7 +4260,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4274,8 +4302,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4296,8 +4324,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4314,12 +4342,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4381,62 +4409,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4466,19 +4460,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4518,8 +4571,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4529,7 +4582,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4566,7 +4619,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4644,7 +4697,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4653,8 +4706,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4747,7 +4799,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -4864,27 +4916,27 @@ fi
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4902,14 +4954,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4917,7 +4969,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -4935,14 +4987,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4950,7 +5002,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5001,7 +5053,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5031,7 +5083,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5047,11 +5099,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5090,7 +5142,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5106,18 +5158,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5129,7 +5181,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5143,7 +5195,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5178,7 +5230,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5192,7 +5244,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5209,7 +5261,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5244,7 +5296,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5259,7 +5311,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5376,8 +5428,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5391,8 +5442,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5406,7 +5456,7 @@ for ac_hdr in dirent.h sys/ndir.h sys/di
   as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_ac_Header+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5433,8 +5483,7 @@ fi
 eval ac_res=\$$as_ac_Header
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
 _ACEOF
@@ -5447,7 +5496,7 @@ done
 if test $ac_header_dirent = dirent.h; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
 $as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -5481,11 +5530,11 @@ for ac_lib in '' dir; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_opendir+set}" = set; then :
+  if ${ac_cv_search_opendir+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
 
 else
   ac_cv_search_opendir=no
@@ -5504,7 +5553,7 @@ fi
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
 $as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -5538,11 +5587,11 @@ for ac_lib in '' x; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_opendir+set}" = set; then :
+  if ${ac_cv_search_opendir+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
 
 else
   ac_cv_search_opendir=no
@@ -5575,7 +5624,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -5587,7 +5636,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5615,7 +5664,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -5627,7 +5676,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5731,10 +5780,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -5750,6 +5810,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -5765,7 +5826,7 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -5866,6 +5927,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5911,19 +5973,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -6061,16 +6123,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -6119,7 +6181,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -6130,28 +6192,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -6173,7 +6223,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -6213,6 +6263,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -6235,12 +6286,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -6256,11 +6308,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -6274,12 +6331,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -6292,7 +6352,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -6301,7 +6361,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -6321,7 +6381,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -6354,7 +6414,7 @@ do
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -6377,9 +6437,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -6387,12 +6448,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -6409,12 +6471,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -6423,18 +6485,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -6442,7 +6504,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -6456,7 +6518,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -6470,7 +6532,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -6490,7 +6552,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -6522,21 +6584,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -6548,7 +6618,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -6560,11 +6630,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -6649,7 +6719,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -6662,7 +6732,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -6681,7 +6751,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -6690,7 +6760,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -6716,8 +6786,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -6847,23 +6917,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -6872,21 +6943,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -6908,7 +6979,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -6929,7 +7000,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/igen/configure.ac ./sim/igen/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/igen/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/igen/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.59)dnl
 AC_INIT(table.h)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/iq2000/aclocal.m4 ./sim/iq2000/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/iq2000/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/iq2000/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/iq2000/config.in ./sim/iq2000/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/iq2000/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/iq2000/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -76,43 +76,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/iq2000/configure ./sim/iq2000/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/iq2000/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/iq2000/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -829,8 +860,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -875,7 +907,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -901,7 +933,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1105,7 +1137,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1121,7 +1153,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1151,8 +1183,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1160,7 +1192,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1170,7 +1202,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1178,13 +1210,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1207,7 +1239,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1221,8 +1253,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1237,9 +1267,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1278,11 +1308,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1322,7 +1352,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1391,8 +1421,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1435,7 +1466,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1506,9 +1537,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1552,8 +1583,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1578,7 +1609,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1589,8 +1620,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1602,10 +1633,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1641,7 +1672,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1668,7 +1699,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1677,7 +1708,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1718,8 +1749,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1732,7 +1763,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1750,7 +1781,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1781,7 +1812,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1795,8 +1826,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1808,7 +1839,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1863,7 +1894,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1876,7 +1907,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1920,7 +1951,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1933,7 +1964,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1974,7 +2005,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1982,7 +2013,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2092,11 +2123,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2130,11 +2159,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2147,11 +2174,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2165,11 +2190,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2224,7 +2247,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2235,18 +2263,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2315,7 +2347,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2375,21 +2407,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4078,6 +4095,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4163,7 +4184,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4175,7 +4196,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4203,7 +4224,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4215,7 +4236,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4256,7 +4277,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4268,7 +4289,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4296,7 +4317,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4309,7 +4330,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4355,7 +4376,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4367,7 +4388,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4399,7 +4420,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4411,7 +4432,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4453,8 +4474,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4475,8 +4496,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4493,12 +4514,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4560,62 +4581,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4645,19 +4632,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4697,8 +4743,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4708,7 +4754,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4745,7 +4791,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4823,7 +4869,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4832,8 +4878,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4920,16 +4965,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4943,27 +4994,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4981,14 +5032,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4996,7 +5047,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5014,14 +5065,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5029,7 +5080,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5064,7 +5115,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5094,7 +5145,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5110,11 +5161,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5153,7 +5204,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5169,18 +5220,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5192,7 +5243,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5206,7 +5257,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5241,7 +5292,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5255,7 +5306,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5272,7 +5323,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5307,7 +5358,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5322,7 +5373,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5439,8 +5490,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5452,7 +5502,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5474,14 +5524,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5538,7 +5588,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5558,7 +5608,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5721,7 +5771,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5741,7 +5791,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5776,7 +5826,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5803,7 +5853,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5820,7 +5870,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5855,7 +5905,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5934,7 +5984,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5971,10 +6021,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -6001,7 +6051,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6064,7 +6114,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6076,7 +6126,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6108,7 +6158,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6120,7 +6170,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6180,7 +6230,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6215,7 +6265,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6412,7 +6462,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6448,7 +6498,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6460,7 +6510,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6488,7 +6538,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6500,7 +6550,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6547,7 +6597,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6768,7 +6818,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6780,7 +6830,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6808,7 +6858,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6820,7 +6870,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6873,7 +6923,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6885,7 +6935,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6913,7 +6963,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6925,7 +6975,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6972,7 +7022,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6984,7 +7034,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7012,7 +7062,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7024,7 +7074,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7116,7 +7166,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7128,7 +7178,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7183,7 +7233,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7567,7 +7617,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7643,7 +7693,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7655,7 +7705,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7683,7 +7733,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7695,7 +7745,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7735,7 +7785,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7747,7 +7797,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7775,7 +7825,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7787,7 +7837,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7827,7 +7877,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7839,7 +7889,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7867,7 +7917,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7879,7 +7929,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7919,7 +7969,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7931,7 +7981,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7959,7 +8009,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7971,7 +8021,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8011,7 +8061,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8023,7 +8073,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8051,7 +8101,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8063,7 +8113,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8126,7 +8176,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8155,7 +8205,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8187,7 +8237,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8254,7 +8304,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8272,7 +8322,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8490,7 +8540,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8516,7 +8566,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8528,7 +8578,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8556,7 +8606,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8568,7 +8618,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8624,7 +8674,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8710,7 +8760,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8723,7 +8773,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8735,7 +8785,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8853,8 +8903,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8867,8 +8916,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8881,8 +8929,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8895,8 +8942,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8909,8 +8955,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8922,8 +8967,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8938,7 +8982,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8953,7 +8997,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8968,7 +9012,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8983,7 +9027,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8998,7 +9042,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9013,7 +9057,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9028,7 +9072,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9043,7 +9087,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9058,7 +9102,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9073,7 +9117,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9088,7 +9132,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9103,7 +9147,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9118,7 +9162,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9131,7 +9175,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9144,7 +9188,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9178,7 +9222,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9189,7 +9233,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9223,7 +9267,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9260,7 +9304,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9273,7 +9317,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9289,7 +9333,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9298,9 +9342,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9313,11 +9357,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9330,25 +9374,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9541,7 +9585,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9619,7 +9663,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9685,7 +9729,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9827,7 +9871,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10180,7 +10224,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10239,7 +10283,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10282,7 +10326,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10337,7 +10381,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11153,7 +11197,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11525,7 +11569,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12163,7 +12207,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12583,7 +12627,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12617,7 +12661,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12631,12 +12675,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12670,16 +12714,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12713,12 +12757,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12752,12 +12796,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12791,7 +12835,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12832,7 +12876,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12841,7 +12885,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12844 "configure"
+#line 12888 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12938,7 +12982,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12947,7 +12991,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12950 "configure"
+#line 12994 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13250,7 +13294,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13340,7 +13384,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13362,7 +13406,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13409,7 +13453,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13425,7 +13469,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13462,7 +13506,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13526,7 +13570,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13572,7 +13616,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13597,7 +13641,7 @@ if test "${enable_sim_scache+set}" = set
   yes)	sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
   no)	sim_scache="-DWITH_SCACHE=0" ;;
   [0-9]*) sim_scache="-DWITH_SCACHE=${enableval}";;
-  *)	as_fn_error "\"Bad value $enableval passed to --enable-sim-scache\"" "$LINENO" 5;
+  *)	as_fn_error $? "\"Bad value $enableval passed to --enable-sim-scache\"" "$LINENO" 5;
 	sim_scache="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_scache" != x""; then
@@ -13613,7 +13657,7 @@ default_sim_default_model="iq2000"
 # Check whether --enable-sim-default-model was given.
 if test "${enable_sim_default_model+set}" = set; then :
   enableval=$enable_sim_default_model; case "${enableval}" in
-  yes|no) as_fn_error "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
+  yes|no) as_fn_error $? "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
   *)	sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
@@ -13713,7 +13757,7 @@ _ACEOF
     case " $hardware " in
     *" cfi "*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log2 in -lm" >&5
 $as_echo_n "checking for log2 in -lm... " >&6; }
-if test "${ac_cv_lib_m_log2+set}" = set; then :
+if ${ac_cv_lib_m_log2+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -13747,7 +13791,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log2" >&5
 $as_echo "$ac_cv_lib_m_log2" >&6; }
-if test "x$ac_cv_lib_m_log2" = x""yes; then :
+if test "x$ac_cv_lib_m_log2" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -13840,10 +13884,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13859,6 +13914,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13875,19 +13931,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13988,6 +14044,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -14033,19 +14090,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14183,16 +14240,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14241,7 +14298,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14252,28 +14309,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14295,7 +14340,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14335,6 +14380,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14357,12 +14403,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14379,11 +14426,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14397,12 +14449,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14415,7 +14470,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14424,7 +14479,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14444,7 +14499,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14747,7 +14802,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14770,9 +14825,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14780,12 +14836,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14802,12 +14859,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14816,18 +14873,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14835,7 +14892,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14849,7 +14906,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14863,7 +14920,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14883,7 +14940,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14915,21 +14972,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14941,7 +15006,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14953,11 +15018,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -15042,7 +15107,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -15055,7 +15120,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15074,7 +15139,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15083,7 +15148,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15109,8 +15174,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15240,23 +15305,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15265,21 +15331,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15950,7 +16016,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15971,7 +16037,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/iq2000/configure.ac ./sim/iq2000/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/iq2000/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/iq2000/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/lm32/aclocal.m4 ./sim/lm32/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/lm32/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/lm32/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/lm32/config.in ./sim/lm32/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/lm32/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/lm32/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -76,43 +76,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/lm32/configure ./sim/lm32/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/lm32/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/lm32/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -829,8 +860,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -875,7 +907,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -901,7 +933,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1105,7 +1137,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1121,7 +1153,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1151,8 +1183,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1160,7 +1192,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1170,7 +1202,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1178,13 +1210,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1207,7 +1239,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1221,8 +1253,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1237,9 +1267,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1278,11 +1308,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1322,7 +1352,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1391,8 +1421,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1435,7 +1466,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1506,9 +1537,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1552,8 +1583,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1578,7 +1609,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1589,8 +1620,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1602,10 +1633,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1641,7 +1672,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1668,7 +1699,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1677,7 +1708,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1718,8 +1749,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1732,7 +1763,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1750,7 +1781,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1781,7 +1812,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1795,8 +1826,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1808,7 +1839,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1863,7 +1894,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1876,7 +1907,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1920,7 +1951,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1933,7 +1964,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1974,7 +2005,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1982,7 +2013,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2092,11 +2123,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2130,11 +2159,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2147,11 +2174,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2165,11 +2190,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2224,7 +2247,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2235,18 +2263,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2315,7 +2347,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2375,21 +2407,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4078,6 +4095,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4163,7 +4184,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4175,7 +4196,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4203,7 +4224,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4215,7 +4236,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4256,7 +4277,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4268,7 +4289,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4296,7 +4317,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4309,7 +4330,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4355,7 +4376,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4367,7 +4388,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4399,7 +4420,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4411,7 +4432,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4453,8 +4474,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4475,8 +4496,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4493,12 +4514,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4560,62 +4581,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4645,19 +4632,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4697,8 +4743,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4708,7 +4754,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4745,7 +4791,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4823,7 +4869,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4832,8 +4878,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4920,16 +4965,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4943,27 +4994,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4981,14 +5032,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4996,7 +5047,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5014,14 +5065,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5029,7 +5080,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5064,7 +5115,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5094,7 +5145,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5110,11 +5161,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5153,7 +5204,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5169,18 +5220,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5192,7 +5243,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5206,7 +5257,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5241,7 +5292,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5255,7 +5306,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5272,7 +5323,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5307,7 +5358,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5322,7 +5373,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5439,8 +5490,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5452,7 +5502,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5474,14 +5524,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5538,7 +5588,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5558,7 +5608,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5721,7 +5771,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5741,7 +5791,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5776,7 +5826,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5803,7 +5853,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5820,7 +5870,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5855,7 +5905,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5934,7 +5984,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5971,10 +6021,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -6001,7 +6051,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6064,7 +6114,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6076,7 +6126,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6108,7 +6158,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6120,7 +6170,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6180,7 +6230,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6215,7 +6265,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6412,7 +6462,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6448,7 +6498,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6460,7 +6510,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6488,7 +6538,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6500,7 +6550,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6547,7 +6597,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6768,7 +6818,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6780,7 +6830,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6808,7 +6858,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6820,7 +6870,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6873,7 +6923,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6885,7 +6935,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6913,7 +6963,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6925,7 +6975,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6972,7 +7022,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6984,7 +7034,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7012,7 +7062,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7024,7 +7074,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7116,7 +7166,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7128,7 +7178,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7183,7 +7233,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7567,7 +7617,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7643,7 +7693,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7655,7 +7705,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7683,7 +7733,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7695,7 +7745,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7735,7 +7785,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7747,7 +7797,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7775,7 +7825,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7787,7 +7837,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7827,7 +7877,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7839,7 +7889,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7867,7 +7917,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7879,7 +7929,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7919,7 +7969,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7931,7 +7981,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7959,7 +8009,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7971,7 +8021,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8011,7 +8061,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8023,7 +8073,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8051,7 +8101,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8063,7 +8113,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8126,7 +8176,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8155,7 +8205,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8187,7 +8237,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8254,7 +8304,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8272,7 +8322,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8490,7 +8540,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8516,7 +8566,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8528,7 +8578,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8556,7 +8606,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8568,7 +8618,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8624,7 +8674,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8710,7 +8760,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8723,7 +8773,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8735,7 +8785,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8853,8 +8903,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8867,8 +8916,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8881,8 +8929,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8895,8 +8942,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8909,8 +8955,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8922,8 +8967,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8938,7 +8982,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8953,7 +8997,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8968,7 +9012,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8983,7 +9027,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8998,7 +9042,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9013,7 +9057,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9028,7 +9072,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9043,7 +9087,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9058,7 +9102,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9073,7 +9117,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9088,7 +9132,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9103,7 +9147,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9118,7 +9162,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9131,7 +9175,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9144,7 +9188,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9178,7 +9222,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9189,7 +9233,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9223,7 +9267,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9260,7 +9304,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9273,7 +9317,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9289,7 +9333,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9298,9 +9342,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9313,11 +9357,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9330,25 +9374,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9541,7 +9585,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9619,7 +9663,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9685,7 +9729,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9827,7 +9871,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10180,7 +10224,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10239,7 +10283,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10282,7 +10326,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10337,7 +10381,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11153,7 +11197,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11525,7 +11569,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12163,7 +12207,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12583,7 +12627,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12617,7 +12661,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12631,12 +12675,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12670,16 +12714,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12713,12 +12757,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12752,12 +12796,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12791,7 +12835,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12832,7 +12876,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12841,7 +12885,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12844 "configure"
+#line 12888 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12938,7 +12982,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12947,7 +12991,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12950 "configure"
+#line 12994 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13250,7 +13294,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13340,7 +13384,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13362,7 +13406,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13409,7 +13453,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13425,7 +13469,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13462,7 +13506,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13526,7 +13570,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13572,7 +13616,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13597,7 +13641,7 @@ if test "${enable_sim_scache+set}" = set
   yes)	sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
   no)	sim_scache="-DWITH_SCACHE=0" ;;
   [0-9]*) sim_scache="-DWITH_SCACHE=${enableval}";;
-  *)	as_fn_error "\"Bad value $enableval passed to --enable-sim-scache\"" "$LINENO" 5;
+  *)	as_fn_error $? "\"Bad value $enableval passed to --enable-sim-scache\"" "$LINENO" 5;
 	sim_scache="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_scache" != x""; then
@@ -13613,7 +13657,7 @@ default_sim_default_model="lm32"
 # Check whether --enable-sim-default-model was given.
 if test "${enable_sim_default_model+set}" = set; then :
   enableval=$enable_sim_default_model; case "${enableval}" in
-  yes|no) as_fn_error "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
+  yes|no) as_fn_error $? "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
   *)	sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
@@ -13712,7 +13756,7 @@ _ACEOF
     case " $hardware " in
     *" cfi "*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log2 in -lm" >&5
 $as_echo_n "checking for log2 in -lm... " >&6; }
-if test "${ac_cv_lib_m_log2+set}" = set; then :
+if ${ac_cv_lib_m_log2+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -13746,7 +13790,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log2" >&5
 $as_echo "$ac_cv_lib_m_log2" >&6; }
-if test "x$ac_cv_lib_m_log2" = x""yes; then :
+if test "x$ac_cv_lib_m_log2" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -13839,10 +13883,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13858,6 +13913,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13874,19 +13930,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13987,6 +14043,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -14032,19 +14089,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14182,16 +14239,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14240,7 +14297,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14251,28 +14308,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14294,7 +14339,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14334,6 +14379,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14356,12 +14402,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14378,11 +14425,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14396,12 +14448,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14414,7 +14469,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14423,7 +14478,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14443,7 +14498,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14746,7 +14801,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14769,9 +14824,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14779,12 +14835,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14801,12 +14858,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14815,18 +14872,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14834,7 +14891,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14848,7 +14905,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14862,7 +14919,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14882,7 +14939,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14914,21 +14971,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14940,7 +15005,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14952,11 +15017,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -15041,7 +15106,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -15054,7 +15119,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15073,7 +15138,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15082,7 +15147,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15108,8 +15173,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15239,23 +15304,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15264,21 +15330,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15949,7 +16015,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15970,7 +16036,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/lm32/configure.ac ./sim/lm32/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/lm32/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/lm32/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32c/aclocal.m4 ./sim/m32c/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32c/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m32c/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32c/config.in ./sim/m32c/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32c/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m32c/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -76,43 +76,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32c/configure ./sim/m32c/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32c/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m32c/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -823,8 +854,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -869,7 +901,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -895,7 +927,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1099,7 +1131,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1115,7 +1147,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1145,8 +1177,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1154,7 +1186,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1164,7 +1196,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1172,13 +1204,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1201,7 +1233,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1215,8 +1247,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1231,9 +1261,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1272,11 +1302,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1316,7 +1346,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1385,8 +1415,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1422,7 +1453,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1493,9 +1524,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1539,8 +1570,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1565,7 +1596,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1576,8 +1607,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1589,10 +1620,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1628,7 +1659,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1655,7 +1686,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1664,7 +1695,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1705,8 +1736,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1719,7 +1750,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1737,7 +1768,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1768,7 +1799,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1782,8 +1813,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1795,7 +1826,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1850,7 +1881,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1863,7 +1894,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1907,7 +1938,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1920,7 +1951,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1961,7 +1992,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1969,7 +2000,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2079,11 +2110,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2117,11 +2146,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2134,11 +2161,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2152,11 +2177,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2211,7 +2234,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2222,18 +2250,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2302,7 +2334,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2362,21 +2394,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4065,6 +4082,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4150,7 +4171,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4162,7 +4183,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4190,7 +4211,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4202,7 +4223,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4243,7 +4264,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4255,7 +4276,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4283,7 +4304,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4296,7 +4317,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4342,7 +4363,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4354,7 +4375,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4386,7 +4407,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4398,7 +4419,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4440,8 +4461,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4462,8 +4483,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4480,12 +4501,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4547,62 +4568,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4632,19 +4619,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4684,8 +4730,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4695,7 +4741,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4732,7 +4778,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4810,7 +4856,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4819,8 +4865,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4907,16 +4952,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4930,27 +4981,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4968,14 +5019,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4983,7 +5034,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5001,14 +5052,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5016,7 +5067,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5051,7 +5102,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5081,7 +5132,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5097,11 +5148,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5140,7 +5191,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5156,18 +5207,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5179,7 +5230,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5193,7 +5244,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5228,7 +5279,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5242,7 +5293,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5259,7 +5310,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5294,7 +5345,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5309,7 +5360,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5426,8 +5477,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5439,7 +5489,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5461,14 +5511,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5525,7 +5575,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5545,7 +5595,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5708,7 +5758,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5728,7 +5778,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5763,7 +5813,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5790,7 +5840,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5807,7 +5857,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5842,7 +5892,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5921,7 +5971,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5958,10 +6008,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5988,7 +6038,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6051,7 +6101,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6063,7 +6113,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6095,7 +6145,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6107,7 +6157,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6167,7 +6217,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6202,7 +6252,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6399,7 +6449,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6435,7 +6485,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6447,7 +6497,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6475,7 +6525,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6487,7 +6537,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6534,7 +6584,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6755,7 +6805,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6767,7 +6817,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6795,7 +6845,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6807,7 +6857,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6860,7 +6910,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6872,7 +6922,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6900,7 +6950,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6912,7 +6962,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6959,7 +7009,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6971,7 +7021,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6999,7 +7049,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7011,7 +7061,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7103,7 +7153,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7115,7 +7165,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7170,7 +7220,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7554,7 +7604,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7630,7 +7680,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7642,7 +7692,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7670,7 +7720,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7682,7 +7732,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7722,7 +7772,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7734,7 +7784,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7762,7 +7812,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7774,7 +7824,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7814,7 +7864,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7826,7 +7876,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7854,7 +7904,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7866,7 +7916,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7906,7 +7956,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7918,7 +7968,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7946,7 +7996,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7958,7 +8008,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7998,7 +8048,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8010,7 +8060,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8038,7 +8088,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8050,7 +8100,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8113,7 +8163,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8142,7 +8192,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8174,7 +8224,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8241,7 +8291,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8259,7 +8309,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8477,7 +8527,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8503,7 +8553,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8515,7 +8565,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8543,7 +8593,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8555,7 +8605,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8611,7 +8661,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8697,7 +8747,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8710,7 +8760,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8722,7 +8772,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8840,8 +8890,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8854,8 +8903,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8868,8 +8916,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8882,8 +8929,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8896,8 +8942,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8909,8 +8954,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8925,7 +8969,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8940,7 +8984,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8955,7 +8999,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8970,7 +9014,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8985,7 +9029,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9000,7 +9044,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9015,7 +9059,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9030,7 +9074,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9045,7 +9089,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9060,7 +9104,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9075,7 +9119,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9090,7 +9134,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9105,7 +9149,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9118,7 +9162,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9131,7 +9175,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9165,7 +9209,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9176,7 +9220,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9210,7 +9254,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9247,7 +9291,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9260,7 +9304,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9276,7 +9320,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9285,9 +9329,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9300,11 +9344,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9317,25 +9361,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9528,7 +9572,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9606,7 +9650,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9672,7 +9716,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9814,7 +9858,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10167,7 +10211,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10226,7 +10270,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10269,7 +10313,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10324,7 +10368,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11140,7 +11184,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11512,7 +11556,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12150,7 +12194,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12570,7 +12614,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12604,7 +12648,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12618,12 +12662,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12657,16 +12701,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12700,12 +12744,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12739,12 +12783,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12778,7 +12822,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12819,7 +12863,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12828,7 +12872,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12831 "configure"
+#line 12875 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12925,7 +12969,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12934,7 +12978,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12937 "configure"
+#line 12981 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13237,7 +13281,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13327,7 +13371,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13349,7 +13393,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13396,7 +13440,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13412,7 +13456,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13449,7 +13493,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13491,7 +13535,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13592,8 +13636,7 @@ for ac_header in sys/select.h termios.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -13683,10 +13726,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13702,6 +13756,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13718,19 +13773,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13831,6 +13886,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13876,19 +13932,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14026,16 +14082,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14084,7 +14140,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14095,28 +14151,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14138,7 +14182,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14178,6 +14222,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14200,12 +14245,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14222,11 +14268,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14240,12 +14291,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14258,7 +14312,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14267,7 +14321,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14287,7 +14341,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14590,7 +14644,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14613,9 +14667,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14623,12 +14678,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14645,12 +14701,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14659,18 +14715,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14678,7 +14734,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14692,7 +14748,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14706,7 +14762,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14726,7 +14782,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14758,21 +14814,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14784,7 +14848,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14796,11 +14860,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14885,7 +14949,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14898,7 +14962,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -14917,7 +14981,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -14926,7 +14990,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -14952,8 +15016,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15083,23 +15147,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15108,21 +15173,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15793,7 +15858,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15814,7 +15879,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32c/configure.ac ./sim/m32c/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32c/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m32c/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -18,7 +18,6 @@ dnl
 dnl You should have received a copy of the GNU General Public License
 dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 dnl
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32r/aclocal.m4 ./sim/m32r/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32r/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m32r/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32r/config.in ./sim/m32r/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32r/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m32r/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -76,43 +76,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32r/configure ./sim/m32r/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32r/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m32r/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -831,8 +862,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -877,7 +909,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -903,7 +935,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1107,7 +1139,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1123,7 +1155,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1153,8 +1185,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1162,7 +1194,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1172,7 +1204,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1180,13 +1212,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1209,7 +1241,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1223,8 +1255,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1239,9 +1269,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1280,11 +1310,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1324,7 +1354,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1393,8 +1423,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1437,7 +1468,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1508,9 +1539,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1554,8 +1585,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1580,7 +1611,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1591,8 +1622,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1604,10 +1635,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1643,7 +1674,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1670,7 +1701,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1679,7 +1710,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1720,8 +1751,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1734,7 +1765,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1752,7 +1783,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1783,7 +1814,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1797,8 +1828,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1810,7 +1841,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1865,7 +1896,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1878,7 +1909,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1922,7 +1953,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1935,7 +1966,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1976,7 +2007,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1984,7 +2015,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2094,11 +2125,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2132,11 +2161,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2149,11 +2176,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2167,11 +2192,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2226,7 +2249,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2237,18 +2265,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2317,7 +2349,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2377,21 +2409,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4080,6 +4097,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4165,7 +4186,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4177,7 +4198,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4205,7 +4226,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4217,7 +4238,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4258,7 +4279,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4270,7 +4291,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4298,7 +4319,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4311,7 +4332,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4357,7 +4378,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4369,7 +4390,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4401,7 +4422,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4413,7 +4434,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4455,8 +4476,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4477,8 +4498,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4495,12 +4516,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4562,62 +4583,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4647,19 +4634,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4699,8 +4745,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4710,7 +4756,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4747,7 +4793,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4825,7 +4871,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4834,8 +4880,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4922,16 +4967,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4945,27 +4996,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4983,14 +5034,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4998,7 +5049,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5016,14 +5067,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5031,7 +5082,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5066,7 +5117,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5096,7 +5147,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5112,11 +5163,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5155,7 +5206,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5171,18 +5222,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5194,7 +5245,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5208,7 +5259,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5243,7 +5294,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5257,7 +5308,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5274,7 +5325,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5309,7 +5360,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5324,7 +5375,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5441,8 +5492,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5454,7 +5504,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5476,14 +5526,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5540,7 +5590,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5560,7 +5610,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5723,7 +5773,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5743,7 +5793,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5778,7 +5828,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5805,7 +5855,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5822,7 +5872,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5857,7 +5907,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5936,7 +5986,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5973,10 +6023,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -6003,7 +6053,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6066,7 +6116,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6078,7 +6128,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6110,7 +6160,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6122,7 +6172,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6182,7 +6232,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6217,7 +6267,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6414,7 +6464,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6450,7 +6500,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6462,7 +6512,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6490,7 +6540,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6502,7 +6552,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6549,7 +6599,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6770,7 +6820,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6782,7 +6832,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6810,7 +6860,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6822,7 +6872,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6875,7 +6925,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6887,7 +6937,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6915,7 +6965,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6927,7 +6977,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6974,7 +7024,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6986,7 +7036,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7014,7 +7064,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7026,7 +7076,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7118,7 +7168,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7130,7 +7180,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7185,7 +7235,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7569,7 +7619,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7645,7 +7695,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7657,7 +7707,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7685,7 +7735,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7697,7 +7747,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7737,7 +7787,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7749,7 +7799,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7777,7 +7827,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7789,7 +7839,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7829,7 +7879,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7841,7 +7891,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7869,7 +7919,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7881,7 +7931,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7921,7 +7971,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7933,7 +7983,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7961,7 +8011,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7973,7 +8023,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8013,7 +8063,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8025,7 +8075,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8053,7 +8103,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8065,7 +8115,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8128,7 +8178,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8157,7 +8207,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8189,7 +8239,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8256,7 +8306,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8274,7 +8324,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8492,7 +8542,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8518,7 +8568,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8530,7 +8580,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8558,7 +8608,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8570,7 +8620,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8626,7 +8676,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8712,7 +8762,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8725,7 +8775,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8737,7 +8787,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8855,8 +8905,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8869,8 +8918,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8883,8 +8931,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8897,8 +8944,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8911,8 +8957,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8924,8 +8969,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8940,7 +8984,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8955,7 +8999,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8970,7 +9014,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8985,7 +9029,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -9000,7 +9044,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9015,7 +9059,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9030,7 +9074,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9045,7 +9089,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9060,7 +9104,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9075,7 +9119,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9090,7 +9134,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9105,7 +9149,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9120,7 +9164,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9133,7 +9177,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9146,7 +9190,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9180,7 +9224,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9191,7 +9235,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9225,7 +9269,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9262,7 +9306,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9275,7 +9319,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9291,7 +9335,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9300,9 +9344,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9315,11 +9359,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9332,25 +9376,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9543,7 +9587,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9621,7 +9665,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9687,7 +9731,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9829,7 +9873,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10182,7 +10226,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10241,7 +10285,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10284,7 +10328,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10339,7 +10383,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11155,7 +11199,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11527,7 +11571,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12165,7 +12209,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12585,7 +12629,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12619,7 +12663,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12633,12 +12677,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12672,16 +12716,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12715,12 +12759,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12754,12 +12798,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12793,7 +12837,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12834,7 +12878,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12843,7 +12887,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12846 "configure"
+#line 12890 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12940,7 +12984,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12949,7 +12993,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12952 "configure"
+#line 12996 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13252,7 +13296,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13342,7 +13386,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13364,7 +13408,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13411,7 +13455,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13427,7 +13471,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13464,7 +13508,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13528,7 +13572,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13574,7 +13618,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13599,7 +13643,7 @@ if test "${enable_sim_scache+set}" = set
   yes)	sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
   no)	sim_scache="-DWITH_SCACHE=0" ;;
   [0-9]*) sim_scache="-DWITH_SCACHE=${enableval}";;
-  *)	as_fn_error "\"Bad value $enableval passed to --enable-sim-scache\"" "$LINENO" 5;
+  *)	as_fn_error $? "\"Bad value $enableval passed to --enable-sim-scache\"" "$LINENO" 5;
 	sim_scache="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_scache" != x""; then
@@ -13615,7 +13659,7 @@ default_sim_default_model="m32r/d"
 # Check whether --enable-sim-default-model was given.
 if test "${enable_sim_default_model+set}" = set; then :
   enableval=$enable_sim_default_model; case "${enableval}" in
-  yes|no) as_fn_error "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
+  yes|no) as_fn_error $? "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
   *)	sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
@@ -13728,7 +13772,7 @@ _ACEOF
     case " $hardware " in
     *" cfi "*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log2 in -lm" >&5
 $as_echo_n "checking for log2 in -lm... " >&6; }
-if test "${ac_cv_lib_m_log2+set}" = set; then :
+if ${ac_cv_lib_m_log2+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -13762,7 +13806,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log2" >&5
 $as_echo "$ac_cv_lib_m_log2" >&6; }
-if test "x$ac_cv_lib_m_log2" = x""yes; then :
+if test "x$ac_cv_lib_m_log2" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -13855,10 +13899,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13874,6 +13929,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13890,19 +13946,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -14003,6 +14059,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -14048,19 +14105,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14198,16 +14255,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14256,7 +14313,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14267,28 +14324,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14310,7 +14355,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14350,6 +14395,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14372,12 +14418,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14394,11 +14441,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14412,12 +14464,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14430,7 +14485,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14439,7 +14494,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14459,7 +14514,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14762,7 +14817,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14785,9 +14840,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14795,12 +14851,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14817,12 +14874,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14831,18 +14888,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14850,7 +14907,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14864,7 +14921,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14878,7 +14935,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14898,7 +14955,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14930,21 +14987,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14956,7 +15021,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14968,11 +15033,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -15057,7 +15122,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -15070,7 +15135,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15089,7 +15154,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15098,7 +15163,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15124,8 +15189,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15255,23 +15320,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15280,21 +15346,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15965,7 +16031,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15986,7 +16052,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32r/configure.ac ./sim/m32r/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m32r/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m32r/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m68hc11/aclocal.m4 ./sim/m68hc11/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m68hc11/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m68hc11/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m68hc11/config.in ./sim/m68hc11/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m68hc11/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m68hc11/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -76,43 +76,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m68hc11/configure ./sim/m68hc11/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m68hc11/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m68hc11/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -826,8 +857,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -872,7 +904,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -898,7 +930,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1102,7 +1134,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1118,7 +1150,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1148,8 +1180,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1157,7 +1189,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1167,7 +1199,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1175,13 +1207,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1204,7 +1236,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1218,8 +1250,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1234,9 +1264,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1275,11 +1305,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1319,7 +1349,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1388,8 +1418,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1432,7 +1463,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1503,9 +1534,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1549,8 +1580,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1575,7 +1606,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1586,8 +1617,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1599,10 +1630,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1638,7 +1669,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1665,7 +1696,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1674,7 +1705,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1715,8 +1746,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1729,7 +1760,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1747,7 +1778,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1778,7 +1809,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1792,8 +1823,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1805,7 +1836,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1860,7 +1891,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1873,7 +1904,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1917,7 +1948,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1930,7 +1961,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1971,7 +2002,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1979,7 +2010,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2089,11 +2120,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2127,11 +2156,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2144,11 +2171,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2162,11 +2187,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2221,7 +2244,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2232,18 +2260,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2312,7 +2344,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2372,21 +2404,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4075,6 +4092,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4160,7 +4181,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4172,7 +4193,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4200,7 +4221,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4212,7 +4233,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4253,7 +4274,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4265,7 +4286,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4293,7 +4314,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4306,7 +4327,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4352,7 +4373,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4364,7 +4385,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4396,7 +4417,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4408,7 +4429,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4450,8 +4471,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4472,8 +4493,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4490,12 +4511,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4557,62 +4578,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4642,19 +4629,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4694,8 +4740,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4705,7 +4751,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4742,7 +4788,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4820,7 +4866,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4829,8 +4875,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4917,16 +4962,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4940,27 +4991,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4978,14 +5029,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4993,7 +5044,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5011,14 +5062,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5026,7 +5077,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5061,7 +5112,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5091,7 +5142,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5107,11 +5158,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5150,7 +5201,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5166,18 +5217,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5189,7 +5240,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5203,7 +5254,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5238,7 +5289,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5252,7 +5303,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5269,7 +5320,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5304,7 +5355,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5319,7 +5370,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5436,8 +5487,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5449,7 +5499,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5471,14 +5521,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5535,7 +5585,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5555,7 +5605,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5718,7 +5768,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5738,7 +5788,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5773,7 +5823,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5800,7 +5850,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5817,7 +5867,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5852,7 +5902,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5931,7 +5981,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5968,10 +6018,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5998,7 +6048,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6061,7 +6111,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6073,7 +6123,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6105,7 +6155,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6117,7 +6167,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6177,7 +6227,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6212,7 +6262,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6409,7 +6459,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6445,7 +6495,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6457,7 +6507,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6485,7 +6535,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6497,7 +6547,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6544,7 +6594,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6765,7 +6815,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6777,7 +6827,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6805,7 +6855,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6817,7 +6867,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6870,7 +6920,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6882,7 +6932,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6910,7 +6960,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6922,7 +6972,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6969,7 +7019,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6981,7 +7031,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7009,7 +7059,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7021,7 +7071,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7113,7 +7163,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7125,7 +7175,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7180,7 +7230,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7564,7 +7614,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7640,7 +7690,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7652,7 +7702,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7680,7 +7730,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7692,7 +7742,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7732,7 +7782,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7744,7 +7794,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7772,7 +7822,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7784,7 +7834,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7824,7 +7874,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7836,7 +7886,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7864,7 +7914,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7876,7 +7926,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7916,7 +7966,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7928,7 +7978,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7956,7 +8006,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7968,7 +8018,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8008,7 +8058,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8020,7 +8070,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8048,7 +8098,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8060,7 +8110,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8123,7 +8173,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8152,7 +8202,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8184,7 +8234,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8251,7 +8301,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8269,7 +8319,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8487,7 +8537,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8513,7 +8563,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8525,7 +8575,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8553,7 +8603,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8565,7 +8615,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8621,7 +8671,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8707,7 +8757,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8720,7 +8770,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8732,7 +8782,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8850,8 +8900,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8864,8 +8913,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8878,8 +8926,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8892,8 +8939,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8906,8 +8952,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8919,8 +8964,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8935,7 +8979,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8950,7 +8994,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8965,7 +9009,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8980,7 +9024,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8995,7 +9039,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9010,7 +9054,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9025,7 +9069,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9040,7 +9084,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9055,7 +9099,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9070,7 +9114,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9085,7 +9129,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9100,7 +9144,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9115,7 +9159,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9128,7 +9172,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9141,7 +9185,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9175,7 +9219,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9186,7 +9230,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9220,7 +9264,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9257,7 +9301,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9270,7 +9314,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9286,7 +9330,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9295,9 +9339,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9310,11 +9354,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9327,25 +9371,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9538,7 +9582,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9616,7 +9660,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9682,7 +9726,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9824,7 +9868,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10177,7 +10221,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10236,7 +10280,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10279,7 +10323,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10334,7 +10378,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11150,7 +11194,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11522,7 +11566,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12160,7 +12204,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12580,7 +12624,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12614,7 +12658,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12628,12 +12672,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12667,16 +12711,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12710,12 +12754,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12749,12 +12793,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12788,7 +12832,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12829,7 +12873,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12838,7 +12882,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12841 "configure"
+#line 12885 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12935,7 +12979,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12944,7 +12988,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12947 "configure"
+#line 12991 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13247,7 +13291,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13337,7 +13381,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13359,7 +13403,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13406,7 +13450,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13422,7 +13466,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13459,7 +13503,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13523,7 +13567,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13569,7 +13613,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13592,7 +13636,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13761,7 +13805,7 @@ _ACEOF
     case " $hardware " in
     *" cfi "*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log2 in -lm" >&5
 $as_echo_n "checking for log2 in -lm... " >&6; }
-if test "${ac_cv_lib_m_log2+set}" = set; then :
+if ${ac_cv_lib_m_log2+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -13795,7 +13839,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log2" >&5
 $as_echo "$ac_cv_lib_m_log2" >&6; }
-if test "x$ac_cv_lib_m_log2" = x""yes; then :
+if test "x$ac_cv_lib_m_log2" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -13888,10 +13932,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13907,6 +13962,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13923,19 +13979,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -14036,6 +14092,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -14081,19 +14138,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14231,16 +14288,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14289,7 +14346,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14300,28 +14357,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14343,7 +14388,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14383,6 +14428,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14405,12 +14451,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14427,11 +14474,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14445,12 +14497,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14463,7 +14518,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14472,7 +14527,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14492,7 +14547,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14795,7 +14850,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14818,9 +14873,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14828,12 +14884,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14850,12 +14907,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14864,18 +14921,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14883,7 +14940,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14897,7 +14954,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14911,7 +14968,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14931,7 +14988,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14963,21 +15020,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14989,7 +15054,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -15001,11 +15066,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -15090,7 +15155,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -15103,7 +15168,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15122,7 +15187,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15131,7 +15196,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15157,8 +15222,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15288,23 +15353,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15313,21 +15379,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15998,7 +16064,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -16019,7 +16085,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m68hc11/configure.ac ./sim/m68hc11/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/m68hc11/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/m68hc11/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mcore/aclocal.m4 ./sim/mcore/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mcore/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/mcore/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mcore/config.in ./sim/mcore/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mcore/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/mcore/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -70,43 +70,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mcore/configure ./sim/mcore/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mcore/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/mcore/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -825,8 +856,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -871,7 +903,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -897,7 +929,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1101,7 +1133,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1117,7 +1149,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1147,8 +1179,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1156,7 +1188,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1166,7 +1198,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1174,13 +1206,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1203,7 +1235,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1217,8 +1249,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1233,9 +1263,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1274,11 +1304,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1318,7 +1348,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1387,8 +1417,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1429,7 +1460,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1500,9 +1531,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1546,8 +1577,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1572,7 +1603,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1583,8 +1614,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1596,10 +1627,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1635,7 +1666,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1662,7 +1693,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1671,7 +1702,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1712,8 +1743,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1726,7 +1757,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1744,7 +1775,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1775,7 +1806,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1789,8 +1820,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1802,7 +1833,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1857,7 +1888,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1870,7 +1901,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1914,7 +1945,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1927,7 +1958,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1968,7 +1999,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1976,7 +2007,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2086,11 +2117,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2124,11 +2153,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2141,11 +2168,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2159,11 +2184,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2218,7 +2241,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2229,18 +2257,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2309,7 +2341,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2369,21 +2401,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4072,6 +4089,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4157,7 +4178,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4169,7 +4190,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4197,7 +4218,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4209,7 +4230,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4250,7 +4271,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4262,7 +4283,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4290,7 +4311,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4303,7 +4324,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4349,7 +4370,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4361,7 +4382,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4393,7 +4414,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4405,7 +4426,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4447,8 +4468,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4469,8 +4490,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4487,12 +4508,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4554,62 +4575,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4639,19 +4626,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4691,8 +4737,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4702,7 +4748,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4739,7 +4785,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4817,7 +4863,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4826,8 +4872,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4914,16 +4959,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4937,27 +4988,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4975,14 +5026,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4990,7 +5041,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5008,14 +5059,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5023,7 +5074,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5058,7 +5109,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5088,7 +5139,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5104,11 +5155,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5147,7 +5198,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5163,18 +5214,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5186,7 +5237,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5200,7 +5251,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5235,7 +5286,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5249,7 +5300,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5266,7 +5317,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5301,7 +5352,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5316,7 +5367,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5433,8 +5484,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5446,7 +5496,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5468,14 +5518,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5532,7 +5582,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5552,7 +5602,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5715,7 +5765,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5735,7 +5785,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5770,7 +5820,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5797,7 +5847,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5814,7 +5864,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5849,7 +5899,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5928,7 +5978,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5965,10 +6015,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5995,7 +6045,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6058,7 +6108,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6070,7 +6120,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6102,7 +6152,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6114,7 +6164,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6174,7 +6224,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6209,7 +6259,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6406,7 +6456,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6442,7 +6492,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6454,7 +6504,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6482,7 +6532,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6494,7 +6544,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6541,7 +6591,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6762,7 +6812,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6774,7 +6824,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6802,7 +6852,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6814,7 +6864,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6867,7 +6917,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6879,7 +6929,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6907,7 +6957,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6919,7 +6969,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6966,7 +7016,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6978,7 +7028,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7006,7 +7056,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7018,7 +7068,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7110,7 +7160,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7122,7 +7172,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7177,7 +7227,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7561,7 +7611,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7637,7 +7687,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7649,7 +7699,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7677,7 +7727,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7689,7 +7739,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7729,7 +7779,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7741,7 +7791,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7769,7 +7819,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7781,7 +7831,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7821,7 +7871,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7833,7 +7883,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7861,7 +7911,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7873,7 +7923,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7913,7 +7963,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7925,7 +7975,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7953,7 +8003,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7965,7 +8015,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8005,7 +8055,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8017,7 +8067,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8045,7 +8095,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8057,7 +8107,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8120,7 +8170,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8149,7 +8199,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8181,7 +8231,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8248,7 +8298,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8266,7 +8316,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8484,7 +8534,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8510,7 +8560,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8522,7 +8572,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8550,7 +8600,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8562,7 +8612,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8618,7 +8668,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8704,7 +8754,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8717,7 +8767,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8729,7 +8779,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8847,8 +8897,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8861,8 +8910,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8875,8 +8923,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8889,8 +8936,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8903,8 +8949,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8916,8 +8961,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8932,7 +8976,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8947,7 +8991,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8962,7 +9006,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8977,7 +9021,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8992,7 +9036,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9007,7 +9051,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9022,7 +9066,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9037,7 +9081,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9052,7 +9096,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9067,7 +9111,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9082,7 +9126,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9097,7 +9141,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9112,7 +9156,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9125,7 +9169,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9138,7 +9182,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9172,7 +9216,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9183,7 +9227,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9217,7 +9261,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9254,7 +9298,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9267,7 +9311,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9283,7 +9327,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9292,9 +9336,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9307,11 +9351,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9324,25 +9368,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9535,7 +9579,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9613,7 +9657,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9679,7 +9723,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9821,7 +9865,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10174,7 +10218,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10233,7 +10277,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10276,7 +10320,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10331,7 +10375,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11147,7 +11191,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11519,7 +11563,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12157,7 +12201,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12577,7 +12621,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12611,7 +12655,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12625,12 +12669,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12664,16 +12708,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12707,12 +12751,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12746,12 +12790,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12785,7 +12829,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12826,7 +12870,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12835,7 +12879,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12838 "configure"
+#line 12882 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12932,7 +12976,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12941,7 +12985,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12944 "configure"
+#line 12988 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13244,7 +13288,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13334,7 +13378,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13356,7 +13400,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13403,7 +13447,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13419,7 +13463,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13456,7 +13500,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13520,7 +13564,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13566,7 +13610,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13589,7 +13633,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13766,10 +13810,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13785,6 +13840,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13801,19 +13857,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13914,6 +13970,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13959,19 +14016,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14109,16 +14166,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14167,7 +14224,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14178,28 +14235,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14221,7 +14266,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14261,6 +14306,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14283,12 +14329,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14305,11 +14352,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14323,12 +14375,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14341,7 +14396,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14350,7 +14405,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14370,7 +14425,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14673,7 +14728,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14696,9 +14751,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14706,12 +14762,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14728,12 +14785,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14742,18 +14799,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14761,7 +14818,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14775,7 +14832,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14789,7 +14846,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14809,7 +14866,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14841,21 +14898,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14867,7 +14932,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14879,11 +14944,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14968,7 +15033,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14981,7 +15046,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15000,7 +15065,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15009,7 +15074,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15035,8 +15100,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15166,23 +15231,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15191,21 +15257,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15876,7 +15942,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15897,7 +15963,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mcore/configure.ac ./sim/mcore/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mcore/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/mcore/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/microblaze/aclocal.m4 ./sim/microblaze/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/microblaze/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/microblaze/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/microblaze/config.in ./sim/microblaze/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/microblaze/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/microblaze/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -70,43 +70,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/microblaze/configure ./sim/microblaze/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/microblaze/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/microblaze/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -825,8 +856,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -871,7 +903,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -897,7 +929,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1101,7 +1133,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1117,7 +1149,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1147,8 +1179,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1156,7 +1188,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1166,7 +1198,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1174,13 +1206,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1203,7 +1235,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1217,8 +1249,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1233,9 +1263,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1274,11 +1304,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1318,7 +1348,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1387,8 +1417,9 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --enable-sim-debug=opts Enable debugging flags (for developers of the sim
                           itself)
   --enable-sim-stdio      Specify whether to use stdio for console
@@ -1429,7 +1460,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
@@ -1500,9 +1531,9 @@ test -n "$ac_init_help" && exit $ac_stat
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1546,8 +1577,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1572,7 +1603,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1583,8 +1614,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1596,10 +1627,10 @@ fi
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -1635,7 +1666,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -1662,7 +1693,7 @@ case $ac_header_compiler:$ac_header_prep
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -1671,7 +1702,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
@@ -1712,8 +1743,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1726,7 +1757,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1744,7 +1775,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1775,7 +1806,7 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1789,8 +1820,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1802,7 +1833,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1857,7 +1888,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1870,7 +1901,7 @@ ac_fn_c_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1914,7 +1945,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
 
@@ -1927,7 +1958,7 @@ ac_fn_c_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -1968,7 +1999,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 cat >config.log <<_ACEOF
@@ -1976,7 +2007,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2086,11 +2117,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2124,11 +2153,9 @@ _ASBOX
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2141,11 +2168,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2159,11 +2184,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2218,7 +2241,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2229,18 +2257,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2309,7 +2341,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2369,21 +2401,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-# _AC_CHECK_DECL_BODY
-# -------------------
-# Shell function body for AC_CHECK_DECL.
-# _AC_CHECK_DECL_BODY
-
-# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-#                 INCLUDES)
-# -------------------------------------------------------------
-# Helper to AC_CHECK_DECLS, which generates the check for a single
-# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
-# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
-
-
-
-
 
 
 
@@ -4072,6 +4089,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+
+
+
 # ACX_HAVE_GCC_FOR_TARGET
 # Check if the variable GCC_FOR_TARGET really points to a GCC binary.
 
@@ -4157,7 +4178,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4169,7 +4190,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4197,7 +4218,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4209,7 +4230,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4250,7 +4271,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4262,7 +4283,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4290,7 +4311,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4303,7 +4324,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -4349,7 +4370,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4361,7 +4382,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4393,7 +4414,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4405,7 +4426,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4447,8 +4468,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4469,8 +4490,8 @@ eval ac_try_echo="\"\$as_me:${as_lineno-
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -4487,12 +4508,12 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -4554,62 +4575,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -4639,19 +4626,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4691,8 +4737,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4702,7 +4748,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4739,7 +4785,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4817,7 +4863,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4826,8 +4872,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4914,16 +4959,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -4937,27 +4988,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4975,14 +5026,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4990,7 +5041,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -5008,14 +5059,14 @@ case $host_os in *\ *) host_os=`echo "$h
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
 $as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
   ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -5023,7 +5074,7 @@ fi
 $as_echo "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
 esac
 target=$ac_cv_target
 ac_save_IFS=$IFS; IFS='-'
@@ -5058,7 +5109,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -5088,7 +5139,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5104,11 +5155,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5147,7 +5198,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5163,18 +5214,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5186,7 +5237,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5200,7 +5251,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5235,7 +5286,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5249,7 +5300,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5266,7 +5317,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5301,7 +5352,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5316,7 +5367,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5433,8 +5484,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -5446,7 +5496,7 @@ done
 
 
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
 else
   MINIX=
@@ -5468,14 +5518,14 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5532,7 +5582,7 @@ program_transform_name=`$as_echo "$progr
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5552,7 +5602,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -5715,7 +5765,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5735,7 +5785,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -5770,7 +5820,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5797,7 +5847,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5814,7 +5864,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -5849,7 +5899,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5928,7 +5978,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -5965,10 +6015,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -5995,7 +6045,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -6058,7 +6108,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -6070,7 +6120,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6102,7 +6152,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -6114,7 +6164,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6174,7 +6224,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -6209,7 +6259,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -6406,7 +6456,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -6442,7 +6492,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -6454,7 +6504,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6482,7 +6532,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -6494,7 +6544,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6541,7 +6591,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -6762,7 +6812,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -6774,7 +6824,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6802,7 +6852,7 @@ if test -z "$ac_cv_prog_AR"; then
 set dummy ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -6814,7 +6864,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6867,7 +6917,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -6879,7 +6929,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6907,7 +6957,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -6919,7 +6969,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6966,7 +7016,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -6978,7 +7028,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7006,7 +7056,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -7018,7 +7068,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7110,7 +7160,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -7122,7 +7172,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7177,7 +7227,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -7561,7 +7611,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -7637,7 +7687,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -7649,7 +7699,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7677,7 +7727,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -7689,7 +7739,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7729,7 +7779,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -7741,7 +7791,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7769,7 +7819,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -7781,7 +7831,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7821,7 +7871,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -7833,7 +7883,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7861,7 +7911,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -7873,7 +7923,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7913,7 +7963,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -7925,7 +7975,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7953,7 +8003,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -7965,7 +8015,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8005,7 +8055,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -8017,7 +8067,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8045,7 +8095,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -8057,7 +8107,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8120,7 +8170,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -8149,7 +8199,7 @@ fi
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -8181,7 +8231,7 @@ fi
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -8248,7 +8298,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -8266,7 +8316,7 @@ ac_config_headers="$ac_config_headers co
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -8484,7 +8534,7 @@ fi
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
@@ -8510,7 +8560,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8522,7 +8572,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8550,7 +8600,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8562,7 +8612,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8618,7 +8668,7 @@ depcc="$CC"   am_compiler_list=
 am_depcomp=$ac_aux_dir/depcomp
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f "$am_depcomp"; then
@@ -8704,7 +8754,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
 if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
 else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 fi
@@ -8717,7 +8767,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MAKE+set}" = set; then :
+if ${ac_cv_prog_MAKE+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
@@ -8729,7 +8779,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKE="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8847,8 +8897,7 @@ for ac_header in stdlib.h string.h strin
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8861,8 +8910,7 @@ for ac_header in sys/time.h sys/times.h 
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8875,8 +8923,7 @@ for ac_header in fcntl.h fpu_control.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8889,8 +8936,7 @@ for ac_header in dlfcn.h errno.h sys/sta
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8903,8 +8949,7 @@ for ac_func in getrusage time sigaction 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8916,8 +8961,7 @@ for ac_func in mmap munmap lstat truncat
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -8932,7 +8976,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_dev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_DEV 1
@@ -8947,7 +8991,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ino" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_INO 1
@@ -8962,7 +9006,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mode" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MODE 1
@@ -8977,7 +9021,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_nlink" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_NLINK 1
@@ -8992,7 +9036,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_uid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_UID 1
@@ -9007,7 +9051,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_gid" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_GID 1
@@ -9022,7 +9066,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_RDEV 1
@@ -9037,7 +9081,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_size" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_SIZE 1
@@ -9052,7 +9096,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
@@ -9067,7 +9111,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -9082,7 +9126,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_atime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIME 1
@@ -9097,7 +9141,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_mtime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_MTIME 1
@@ -9112,7 +9156,7 @@ ac_fn_c_check_member "$LINENO" "struct s
 #include <sys/stat.h>
 #endif
 "
-if test "x$ac_cv_member_struct_stat_st_ctime" = x""yes; then :
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_CTIME 1
@@ -9125,7 +9169,7 @@ ac_fn_c_check_type "$LINENO" "socklen_t"
 #include <sys/socket.h>
 
 "
-if test "x$ac_cv_type_socklen_t" = x""yes; then :
+if test "x$ac_cv_type_socklen_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SOCKLEN_T 1
@@ -9138,7 +9182,7 @@ fi
 # Check for socket libraries
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
 $as_echo_n "checking for bind in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_bind+set}" = set; then :
+if ${ac_cv_lib_socket_bind+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9172,7 +9216,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
 $as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = x""yes; then :
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
 _ACEOF
@@ -9183,7 +9227,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9217,7 +9261,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
 _ACEOF
@@ -9254,7 +9298,7 @@ fi
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -9267,7 +9311,7 @@ done
 do :
   ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_windows_h" = x""yes; then :
+if test "x$ac_cv_header_windows_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINDOWS_H 1
 _ACEOF
@@ -9283,7 +9327,7 @@ if test "${enable_plugins+set}" = set; t
       no) plugins=no ;;
       *) plugins=yes
          if test "$maybe_plugins" != "yes" ; then
-	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
 	 fi ;;
      esac
 else
@@ -9292,9 +9336,9 @@ else
 fi
 
   if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -9307,11 +9351,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char dlsym ();
 int
 main ()
 {
-return dlopen ();
+return dlsym ();
   ;
   return 0;
 }
@@ -9324,25 +9368,25 @@ for ac_lib in '' dl; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
+  ac_cv_search_dlsym=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
+  if ${ac_cv_search_dlsym+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_dlopen+set}" = set; then :
+if ${ac_cv_search_dlsym+:} false; then :
 
 else
-  ac_cv_search_dlopen=no
+  ac_cv_search_dlsym=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
@@ -9535,7 +9579,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -9613,7 +9657,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9679,7 +9723,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -9821,7 +9865,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10174,7 +10218,7 @@ esac
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10233,7 +10277,7 @@ fi
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10276,7 +10320,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10331,7 +10375,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -11147,7 +11191,7 @@ if test -z "$aix_libpath"; then aix_libp
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -11519,7 +11563,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -12157,7 +12201,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -12577,7 +12621,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12611,7 +12655,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -12625,12 +12669,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12664,16 +12708,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12707,12 +12751,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12746,12 +12790,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12785,7 +12829,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -12826,7 +12870,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12835,7 +12879,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12838 "configure"
+#line 12882 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12932,7 +12976,7 @@ fi
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -12941,7 +12985,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12944 "configure"
+#line 12988 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13244,7 +13288,7 @@ if test "${enable_sim_stdio+set}" = set;
   enableval=$enable_sim_stdio; case "${enableval}" in
   yes)	sim_stdio="DO_USE_STDIO";;
   no)	sim_stdio="DONT_USE_STDIO";;
-  *)	as_fn_error "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
 esac
 fi
 
@@ -13334,7 +13378,7 @@ if test "${enable_sim_assert+set}" = set
   enableval=$enable_sim_assert; case "${enableval}" in
   yes)	sim_assert="1";;
   no)	sim_assert="0";;
-  *)	as_fn_error "--enable-sim-assert does not take a value" "$LINENO" 5;;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
 esac
 fi
 
@@ -13356,7 +13400,7 @@ if test "${enable_sim_environment+set}" 
   user | USER)           sim_environment="USER_ENVIRONMENT";;
   virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
   operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
 esac
 fi
 
@@ -13403,7 +13447,7 @@ fi
 # Check whether --with-pkgversion was given.
 if test "${with_pkgversion+set}" = set; then :
   withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error "package version not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
       no)  PKGVERSION= ;;
       *)   PKGVERSION="($withval) " ;;
      esac
@@ -13419,7 +13463,7 @@ fi
 # Check whether --with-bugurl was given.
 if test "${with_bugurl+set}" = set; then :
   withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error "bug URL not specified" "$LINENO" 5 ;;
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
       no)  BUGURL=
 	   ;;
       *)   BUGURL="$withval"
@@ -13456,7 +13500,7 @@ _ACEOF
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13520,7 +13564,7 @@ if test "${enable_sim_endian+set}" = set
 	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
 	   fi
 	 fi;;
-  *)	 as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
   echo "Setting endian flags = $sim_endian" 6>&1
@@ -13566,7 +13610,7 @@ if test "${enable_sim_alignment+set}" = 
            sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
          fi
        fi;;
-  *)   as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
 esac
 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
   echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -13589,7 +13633,7 @@ if test "${enable_werror+set}" = set; th
   enableval=$enable_werror; case "${enableval}" in
      yes | y) ERROR_ON_WARNING="yes" ;;
      no | n)  ERROR_ON_WARNING="no" ;;
-     *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
    esac
 fi
 
@@ -13766,10 +13810,21 @@ _ACEOF
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -13785,6 +13840,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13801,19 +13857,19 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error "conditional \"GMAKE\" was never defined.
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error "conditional \"PLUGINS\" was never defined.
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -13914,6 +13970,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13959,19 +14016,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -14109,16 +14166,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -14167,7 +14224,7 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -14178,28 +14235,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -14221,7 +14266,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -14261,6 +14306,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -14283,12 +14329,13 @@ Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -14305,11 +14352,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -14323,12 +14375,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -14341,7 +14396,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -14350,7 +14405,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -14370,7 +14425,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -14673,7 +14728,7 @@ do
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -14696,9 +14751,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -14706,12 +14762,13 @@ fi
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -14728,12 +14785,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -14742,18 +14799,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14761,7 +14818,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -14775,7 +14832,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -14789,7 +14846,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -14809,7 +14866,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -14841,21 +14898,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -14867,7 +14932,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -14879,11 +14944,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -14968,7 +15033,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -14981,7 +15046,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -15000,7 +15065,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -15009,7 +15074,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -15035,8 +15100,8 @@ do
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -15166,23 +15231,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddi
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -15191,21 +15257,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
@@ -15876,7 +15942,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -15897,7 +15963,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/microblaze/configure.ac ./sim/microblaze/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/microblaze/configure.ac	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/microblaze/configure.ac	2018-07-10 02:06:15.000000000 +0000
@@ -1,5 +1,4 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
 AC_INIT(Makefile.in)
 sinclude(../common/acinclude.m4)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mips/aclocal.m4 ./sim/mips/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mips/aclocal.m4	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/mips/aclocal.m4	2018-07-10 02:06:15.000000000 +0000
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,24 +11,22 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -47,14 +45,12 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -71,20 +67,17 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -92,13 +85,14 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -106,16 +100,12 @@ AC_MSG_CHECKING([whether to am_maintaine
 ]
 )
 
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -123,7 +113,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mips/config.in ./sim/mips/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mips/config.in	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/mips/config.in	2018-07-10 02:06:15.000000000 +0000
@@ -85,43 +85,43 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if `struct stat' is a member of `st_atime'. */
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIME
 
-/* Define to 1 if `struct stat' is a member of `st_blksize'. */
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLKSIZE
 
-/* Define to 1 if `struct stat' is a member of `st_blocks'. */
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS
 
-/* Define to 1 if `struct stat' is a member of `st_ctime'. */
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_CTIME
 
-/* Define to 1 if `struct stat' is a member of `st_dev'. */
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_DEV
 
-/* Define to 1 if `struct stat' is a member of `st_gid'. */
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_GID
 
-/* Define to 1 if `struct stat' is a member of `st_ino'. */
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_INO
 
-/* Define to 1 if `struct stat' is a member of `st_mode'. */
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MODE
 
-/* Define to 1 if `struct stat' is a member of `st_mtime'. */
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_MTIME
 
-/* Define to 1 if `struct stat' is a member of `st_nlink'. */
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_NLINK
 
-/* Define to 1 if `struct stat' is a member of `st_rdev'. */
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_RDEV
 
-/* Define to 1 if `struct stat' is a member of `st_size'. */
+/* Define to 1 if `st_size' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_SIZE
 
-/* Define to 1 if `struct stat' is a member of `st_uid'. */
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_UID
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mips/configure ./sim/mips/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.1.0.20180703/sim/mips/configure	2018-07-03 02:06:30.000000000 +0000
+++ ./sim/mips/configure	2018-07-10 02:06:15.000000000 +0000
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -87,6 +87,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -131,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -164,7 +190,8 @@ if ( set x; as_fn_ret_success y && test 
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -217,14 +244,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -322,10 +360,18 @@ as_fn_mkdir_p ()
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -362,19 +408,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -447,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -481,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -502,28 +552,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,10 +564,11 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -844,8 +875,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -890,7 +922,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -916,7 +948,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1120,7 +1152,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1136,7 +1168,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1166,8 +1198,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1175,7 +1207,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1185,7 +1217,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1193,13 +1225,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1222,7 +1254,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1236,8 +1268,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1252,9 +1282,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not speci